{"report_id":"b5eadf29-cf9f-491a-8918-86851e1d67b9","version":0,"status":"done","tags":[],"date":"2026-07-27T07:25:03Z","url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":0,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"final":{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"title":"IFXBrokers Trades - IFXBrokers Trades — Forex/CFDs Trading Your Online Broker | CBP Regulated","dom":{"size":985,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (984), with no line terminators","md5":"b76e77ef4fece525b86f82d60242d239","sha1":"682736c7923adb32d113ee5bae951fc63b98f00f","sha256":"341f2741120524c151cefb65799e07bd79f782a58fdbf5bcd7a6a0da6a0c978b","sha512":"ae5ed9ce4fe07d45f1b86d4c28dfd9b6b3cdea5d3407c21b73d0d0789145a41e1befebb00187757a95b93d40ebc3f98b98284596ff7e1f5e23cc27aaa7e887bc","ssdeep":"","tlshash":"2f11257191c4201e8352d1d8e0e1377da3c2d40dc992cca2776829b3f1c4b3698575f8","dom_hash":"domhashdda2f72fae377190c818cc3070d0de92","first_seen":"2026-07-13T21:14:29.047764Z","last_seen":"2026-07-27T15:22:08.62856Z","times_seen":165,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":0,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T07:25:03Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"qguvgzjxzsgb3vs"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":0}},"detection":{"ids":null,"analyzer":null,"urlquery":null},"summary":[{"fqdn":"translate.google.com","ip":{"addr":"142.250.178.78","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":609,"first_seen":"2012-05-30T01:30:32Z","last_seen":"2026-07-20T21:58:05.03314Z","alert_count":0,"request_count":2,"received_data":77722,"sent_data":1100,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.google.com","ip":{"addr":"142.251.156.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":22,"first_seen":"2015-05-10T13:11:19Z","last_seen":"2026-07-26T22:51:17.688286Z","alert_count":0,"request_count":3,"received_data":126629,"sent_data":1547,"comment":"","tags":null,"fingerprints":null},{"fqdn":"api.curacom.io","ip":{"addr":"104.21.67.170","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2025-05-10","domain_rank":0,"first_seen":"2026-07-27T05:01:54.346013Z","last_seen":"2026-07-27T05:01:54.346013Z","alert_count":0,"request_count":1,"received_data":412,"sent_data":690,"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":"www.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":146047,"first_seen":"2012-05-29T15:36:17Z","last_seen":"2026-07-26T23:06:30.068608Z","alert_count":0,"request_count":6,"received_data":49825,"sent_data":3611,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widget.curacom.io","ip":{"addr":"172.67.178.129","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2025-05-10","domain_rank":0,"first_seen":"2026-07-27T05:01:54.334545Z","last_seen":"2026-07-27T05:01:54.334545Z","alert_count":0,"request_count":2,"received_data":276787,"sent_data":1014,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Netlify","description":"Netlify providers hosting and server-less backend services for web applications and static websites.","website":"https://www.netlify.com/","common_platform_enumeration":"","icon":"Netlify.svg","categories":["PaaS","CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"ifxbrokertrades.co.za","ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"domain_registered":"2025-07-29","domain_rank":0,"first_seen":"2026-07-27T05:01:54.326358Z","last_seen":"2026-07-27T05:01:54.326358Z","alert_count":0,"request_count":42,"received_data":3970495,"sent_data":22377,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"name":"Cloudflare Browser Insights","description":"Cloudflare Browser Insights is a tool that measures the performance of websites from the perspective of users.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Analytics","RUM"]},{"name":"YouTube","description":"YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.","website":"https://www.youtube.com","common_platform_enumeration":"","icon":"YouTube.png","categories":["Video players"]},{"name":"Bootstrap:5","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"jQuery:3.4.1","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"Google Tag Manager","description":"Google Tag Manager is a tag management system (TMS) that allows you to quickly and easily update measurement codes and related code fragments collectively known as tags on your website or mobile app.","website":"https://www.google.com/tagmanager","common_platform_enumeration":"","icon":"Google Tag Manager.svg","categories":["Tag managers"]},{"name":"Trustpilot","description":"Trustpilot is a Danish consumer review website which provide embed stand-alone applications in your website to show your most recent reviews, TrustScore, and star ratings.","website":"https://business.trustpilot.com","common_platform_enumeration":"","icon":"Trustpilot.svg","categories":["Reviews"]}]},{"fqdn":"www.youtube.com","ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-02-15","domain_rank":286,"first_seen":"2013-04-13T07:43:20Z","last_seen":"2026-07-20T08:23:54.066263Z","alert_count":0,"request_count":18,"received_data":7326901,"sent_data":26370,"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":"jnn-pa.googleapis.com","ip":{"addr":"172.217.116.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":1579,"first_seen":"2021-11-16T06:12:21Z","last_seen":"2026-07-20T10:03:51.986275Z","alert_count":0,"request_count":4,"received_data":2354,"sent_data":2440,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":5,"received_data":170827,"sent_data":2832,"comment":"","tags":null,"fingerprints":null},{"fqdn":"i.ytimg.com","ip":{"addr":"142.250.178.86","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2007-12-11","domain_rank":436,"first_seen":"2012-10-03T19:11:04Z","last_seen":"2026-07-20T08:16:40.328836Z","alert_count":0,"request_count":2,"received_data":16633,"sent_data":1116,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate-pa.googleapis.com","ip":{"addr":"172.217.116.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":8472,"first_seen":"2021-11-04T06:37:42Z","last_seen":"2026-07-21T21:38:43.172366Z","alert_count":0,"request_count":1,"received_data":32329,"sent_data":577,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":6317,"first_seen":"2012-05-31T07:21:21Z","last_seen":"2026-07-20T14:48:05.930258Z","alert_count":0,"request_count":5,"received_data":200673,"sent_data":2971,"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":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/app.animations.min49e2.js?id=62855d7f7d63ff9da232","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"53409840e8f755be5507f8fc92d2eebb","sha1":"30125c57a15459865faf2f5af84de0cfff33a2b4","sha256":"67f3fb6da727aed64ca53edd0e6e9e8b262a645e55e613820ffb5d5259c68cdc","sha512":"00b8e7635a5d382fc17c972104d2585f3ed1573918d1ef02f2c570a7a1fdf3b2bccbe6a34c2387a93eaba8ddd50bbbaf22a33040d47dc3c96ee39e6a20869d8f","ssdeep":"192:MAbG411OJjpUzGTAyOMpt9fiNsIOpyDwPRCxmdMVezqzaYbQPlw/9ihCEO4+XUD8:MAbG411OJpUzGTAyht9fjIOpyDsPMVeI","tlshash":"55327469a6d07a7d5b1b27e3f08f734c3e700ba47c370468bc25d81de52016a835adba","size":11222,"data":"","first_seen":"2025-10-27T18:25:33.063898Z","last_seen":"2026-07-27T07:25:28.844128Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6247dd5d2d787d98a0d5e4966146d550","sha1":"51dcfa67e8318f689e1a4589a9def15c6f9a23bd","sha256":"cbb9ab7439a233ff75c44799819b7a7de5fdb18f4e30f0236430bc751530c211","sha512":"bcdab3f3db437167cf01baaa88913e053ea2ac769bf14381fb70e62ae10544ef8f11c327a24e01218936ae2800ed21453d065820542d1222b87117980536c637","ssdeep":"","tlshash":"92b0922e6c926024a05c1116a01c008a6b8cc9bb83c814a862054cb5ea9a0ba03847b0","size":108,"data":"","first_seen":"2023-08-01T01:42:54Z","last_seen":"2026-08-19T17:30:26.296191Z","times_seen":299951,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"e18eb9d0972d240f1a5456179bb6523b","sha1":"65255f106adcff2907a98e295a8e7a38fe2884c4","sha256":"3d68db2b85d5a2915743399f09dc438963f0c50f68b02df05d47a372661603e8","sha512":"bcd5a6c26fa1f7a77f5614a7b28e238701d698cc0c96ac5d03d97628d8622125cd0cfdaf54b1db96ef25320a3fca7584abd343d67bdfb9f272ca3ef8572b360a","ssdeep":"","tlshash":"d4c04c38402080e98659101c7434fb80bd7d3b973163e047da3c621c65f5d017c94b11","size":134,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-19T17:30:26.296903Z","times_seen":263630,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"12347d552552b7eb8f1aaf47a5774b81","sha1":"4701684cb61e83493e14555659e2cd07ae9aba3b","sha256":"63b85d3cc0ccb498e52cf8dc76db5119713a85031ef4a8e99edd01e403cb08f4","sha512":"a0b95f6914bf92922a13db3f81f5612e2a360e0b3bb0f6ffabbe41623a044d662e27a216d788399cad99c8ec18c5f98f481e602d672de5b3b97d5da8ec930e4c","ssdeep":"","tlshash":"6b41427ea3a4193b45fa787e21af560620726654e0158c0c813e76846cb1a4b21dbf5f","size":2083,"data":"","first_seen":"2026-05-25T17:49:28.102585Z","last_seen":"2026-08-19T17:30:26.29768Z","times_seen":21652,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"85695605d65932cb2cebb8b24df74b27","sha1":"a46360db8938e189f2f7fde0abfd0c66653b8dfe","sha256":"745bd9519b62419fd01b06f2616da70a3384180606075cd94117cbd1ca04695c","sha512":"7850ff51a0f124a32d79aac5b7909235d5b0b6ac3d680315e52aad6836f258cf55b3e13db96ac0f402574b15b86a0206e4bbcab24917034961474299973adca0","ssdeep":"768:h3ChGD4UZXHwUPDi71CcIV+fL2CcMJjQmNTYMUJmqcVSyY/v1M6LnBZQzhiuVDRr:1bQIcNNcMMMUIJYVM6bBGzhhncFO","tlshash":"ad8365640868a872c9979547deb5ff3e9cf806790bc9966ebcbb835c01ec6510e9f403","size":82755,"data":"","first_seen":"2026-07-27T07:25:17.903262Z","last_seen":"2026-07-27T07:25:17.903262Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"4e226125e429d79c4c368581aa455eee","sha1":"79fa2f523a0ffb2867b44afef3e154c3dc1fb5cc","sha256":"d50c6291d73f2c5ba6b2dc494e09fe070ea0a6c0c4ce3b3c6bc4156ab944dd72","sha512":"06a7818b0a33701b90d20662e1d1a85f90f78af228c2efcf6717d56f93b7502a5cd540d471f113376717d6bd8a8b0b9f198e16a65d6412f3f946dc0e6c87ed28","ssdeep":"","tlshash":"96c08c69d3040b704270a810ab0b3b4f253700228020c845b210a60038d0b078d703e2","size":145,"data":"","first_seen":"2026-02-05T15:28:48.153036Z","last_seen":"2026-08-19T17:30:26.299961Z","times_seen":115254,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8501e99db1c76b62dea75ad32747a129","sha1":"791537ba64bbd81ed1644b015c4830d897182fb8","sha256":"25289f89e8785a11e468135cfa545b64462e90a61e62ee0bf9fe2dce0898016a","sha512":"d34b3b6f94043e080daf7804d7305efc1bade1433a80d4c6c547ab1325aceda8235ceea8bd99062a7737401ff5d767d46e4d24a972bfa88e9c6b197947041f77","ssdeep":"","tlshash":"7b1135251b715c27806a296232dfb309b8262372583c91dc8a81e365933661bbc3235e","size":1032,"data":"","first_seen":"2026-05-25T17:49:28.106733Z","last_seen":"2026-08-19T17:55:31.17929Z","times_seen":21624,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"173a08c5d6adc5c93611a599bcb2c717","sha1":"735a7301e66ae2c3584357f7bf0bf09eefb62df0","sha256":"271e6368679a21c3416e2a0325db33d6bc445d601c72a49914081b5efd0cdf3f","sha512":"cf15a9aa7e406207f3b85c7ab7d6453fd2351616b4dbb2db767ad854f866ae8256045b8cb74948f44d09fedb6c200c56fa2e2ab83d1ab997f5b0068edee7349b","ssdeep":"","tlshash":"b0800000c08a0030c3200c082008c28038802002a8f2002208200000a0032fca0020ca","size":26,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-19T17:30:26.301319Z","times_seen":261728,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d283d1818e80d7267d72b236fae9738f","sha1":"d767efc3619e7deff9a4c50b7e456bc2e6a954ed","sha256":"b74af2f4e4ad25e4cf95fbb6734cc89812d5f428e233cb333cc010872ba20788","sha512":"98c9bb90b63dc69d03fef7c9f31b78474be36d6eecda99845cb896ec6a4ad3eb19e20a2c65ce622052159ee4dab61cef7640f7e1d1b0574aca1c74db562f1db0","ssdeep":"","tlshash":"9101475c0a057d9ce90688ccc7c6a6655bac9237be003124f82f454dbae3aeb9830967","size":760,"data":"","first_seen":"2026-07-23T08:14:51.856878Z","last_seen":"2026-07-27T21:22:24.458632Z","times_seen":1879,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"385567210550a0c1e2bde47662ed4da8","sha1":"0cd76fc5cdca83a477bcfafc3beaf3bffcd6f781","sha256":"c144e84ef4992554561c2e74eea7bcb13d689fae12a19268e4d8d07266ea66b2","sha512":"c99e8074b2ac53140f93168c7d93c4ef36a085a054ff2c1105638cf2beb1fc257ec36adcb0a095d021242d5f1d7bce230a4d082707abb7c4b1791907bfe6e10e","ssdeep":"192:yzEjQfb/44TmOavb+Nvyv8kYl90sxVjoObVWpO7sTM73gcAKc3Udq6bRXnLNy9nA:+OQfbwKavBv5Y4sxVMOUE7sTMDgcA3X0","tlshash":"6822c80fa38679fcd7d15598b7a36b037cf4821b63082a1d88cba0542cddf19429b9ed","size":10400,"data":"","first_seen":"2026-07-23T08:14:51.857803Z","last_seen":"2026-07-30T02:08:52.778436Z","times_seen":2239,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"31cce1914068185ba0e0323653b9c4a1","sha1":"733ffc803ad9c202832ff9acbd464a5681602a57","sha256":"6f10bf9e2a63c22b710dbe0ee66041bb1639ab3c4ad69333999876e989854b1f","sha512":"81d6c36e55d90964989f6b1773e52a07e2326c5d47a5ccf950f71c8df0a44eae23e51b0c98df9b05cb205838b77349dc47b4340f0e25798bea2c0bef934db931","ssdeep":"","tlshash":"ceb09b0745362d1b5dc55914bc4945b12d41d56503945ebc5540951d3145027645f5e5","size":119,"data":"","first_seen":"2026-07-24T13:38:08.037141Z","last_seen":"2026-07-27T16:56:48.6614Z","times_seen":592,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d8fb965e7ead2924508e97e5326bd3b1","sha1":"fae376d0cb54d4433b7bdc9aba04690cd6cb5d27","sha256":"57bb660c2fdf4369ff8e37f99b26963dba87c120b80c443ff3d31e030ab3a0f5","sha512":"c03eb6a1004f9dfcd1f960a6ca70a77932794808f72476b276bb16f02d0a1855fb2d93d07aab7c0c040d4b3c0eb4f861a4c1a9368a27e3a6430e425ff6ed2568","ssdeep":"","tlshash":"8e60000c00000000033000fc0000ccf00300000cc003c0c0000000000f0000c3c00000","size":13,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-19T17:30:26.304044Z","times_seen":258394,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6135c2010de30fd19bb23ac542f5b349","sha1":"d4d03c3da65f928df7f7b05cc36ac7a653744320","sha256":"6b80a4bde52713f30014d5cb93bc35a11068ddd4900976cb4b96212e74dddaa4","sha512":"60e6e4040ab67b5a7dc2ab370ceb43d350f6eecb0ef8771b84cf952d92f566c6e5a5db8f3cf45dff245a6e0507ddaa715b1cd2bc64c9e723f9830e91693894f8","ssdeep":"768:zh6Sc0DR4EH/FwXhaxYkHryMdZZ53Ge1Q67sgk/rrbeNDCY5d5meiO:zpRJHuXha+kHryMZ5W677k/beNDbf","tlshash":"79f2e1eefeddd3e400672f1dd55f9d2e666846af0812aad262d2d080318e94e457f28c","size":37214,"data":"","first_seen":"2026-07-27T07:25:17.911901Z","last_seen":"2026-07-27T07:25:17.911901Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"cec3f85cf25d65739970cd8c3358e524","sha1":"836d891b01875ecd3f05541ea44aee6fbf10ce4c","sha256":"49a7b14c016b3976156ceaee28445c42ba61c0986a5cc6ef3008cf4ff8e2a2c4","sha512":"6b21a569dbc12ffc2833018ceef9b682fd6cd77880dfe73fcffd0a31c533bd5fb0d26ea6e103b2875e1586af44fe15a7b87bd495811de5003d63c09a4d8cab75","ssdeep":"","tlshash":"61a00273c629c6970038567055973116e13c57608816a10c435a5a4975ea41bfed859a","size":62,"data":"","first_seen":"2023-12-12T04:55:05Z","last_seen":"2026-08-19T09:20:51.748944Z","times_seen":5534,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"60c62caa73db7763f9a80559e3f6ca1c","sha1":"f4b6a6811eb18dd9546b0603aafba27c6f79998c","sha256":"a619b47afdc91417ac887a98343f1057d3bf5d3e114f99849eca9f5cf8b32025","sha512":"b3efa611906c592f78f58f520c8a5d8ff8235d55b4535132750daf7aad331eb07f06b19a7d5c909aa341a985aa85ef855e8bdde420f66ce86142bac1db9e1234","ssdeep":"768:T8BTPMErdYHnCu2NPdPS5oPX3zp76JSAZg+hCU7aeTEPecn9fJG9CwaebQHr6pdc:T8inj2rpHh6i+9aeQm6SLQLUEEK","tlshash":"716319eff2d673710de665f2045b820992be7552dc40189eba05e6f86eb0c47e02bf25","size":68696,"data":"","first_seen":"2026-07-27T07:25:17.915183Z","last_seen":"2026-07-27T07:25:17.915183Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"da04c318a55359f32360ca8a986e282e","sha1":"e3baca1718399fcfe561970fcf6dba81648d6b24","sha256":"33153d55280e139f3b0c2ee818cdb8743e2d87d1078904067d080badf15192da","sha512":"3c60ee8bc870e326db30eecd0cfdd71ba34cefc1f6c40b9574cc15357e255c2aae98a0a820dbf5d3bdcac98e57bcd37a40d5ff363f4cacd97138334c8aab51a1","ssdeep":"","tlshash":"f0d0a7e9929a8431b2256094055d06119085d85b14124c8dbbfdc75cabb5c04d515e09","size":217,"data":"","first_seen":"2026-07-27T00:29:31.636077Z","last_seen":"2026-07-28T07:04:56.436731Z","times_seen":321,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c4ca4238a0b923820dcc509a6f75849b","sha1":"356a192b7913b04c54574d18c28d46e6395428ab","sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a","ssdeep":"","tlshash":"c70000000c000000c00000300000000000000000000000000000000000000000000030","size":1,"data":"","first_seen":"2023-03-07T01:10:09Z","last_seen":"2026-08-19T17:30:26.362649Z","times_seen":139637,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61a6f2652a0b6db05139abddb9b96ab7","sha1":"05548eab56f32db3c8c42fd2487a3f3b3ccf0ee1","sha256":"cc6e0d6af3dc4f620458aa79c4f4c0631ebc1bd55a148f5e9a06ea8874885831","sha512":"f2f89b1252cfe849de0cb4e8e8b7ee29cf99c563c5113ede3c45d470d5d14c45e0a3e30e560a79d14bfd4c46943c24a8444a1e81e4a0e93addf71ebdeaccaef4","ssdeep":"","tlshash":"4780047cdd4c5c350f157415001740441177700d50150005170004c44f311c5140fddc","size":38,"data":"","first_seen":"2023-03-11T13:53:37Z","last_seen":"2026-08-19T17:30:26.317394Z","times_seen":270962,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b0683db4d2a1dcce56002a5aae49385d","sha1":"c977aeb11087ac6ff5fed7e712f858d7821bb124","sha256":"40263aba605b175fd58fa896c53350a3216282e2c10b44c50da36c72575f5aaa","sha512":"032c74ef081469145784aee79b1b43b8b2049c018355b47b9ba4204fd19c28690395715dcccdeb59f227c359a51e811c5805270324d2a48234d618d40a8df474","ssdeep":"","tlshash":"13e0c0bf8237421019f25de7ce97236ce11d27a00b216c6ed32e9169d426896b258c49","size":348,"data":"","first_seen":"2026-07-27T00:29:31.560202Z","last_seen":"2026-07-28T07:04:56.449636Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"14e40422ad8a27f36371ae52c7dd339f","sha1":"4c1717c61dd24e928fed689d81c8a412fc58e59c","sha256":"e9eb52d0ff851acca5ec650406a22ebfc895d4cafce8e273bd36f754934b3f72","sha512":"1320707d81da23c7a41167bcbb7ba0c2d8426176cbc3c9f0cf7a23d84717235ca9e97e0baceea890e4740e8751b13b2178c1f8d5c04e9bc24c53a3530610c4ca","ssdeep":"","tlshash":"83b012887d3cdc05619718c8508ad00880421d0310010a40e01fcd513770d85304fcad","size":93,"data":"","first_seen":"2026-07-27T00:29:31.655611Z","last_seen":"2026-07-28T07:04:56.4375Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3f0a7488ecc0857223d8b1b87dee08ff","sha1":"3992ac479cd292d55110ff5836e8abe096ba618a","sha256":"ef243629e0d198e608f2e084335bec20b458893fb5dfbbac50f1808445d251f5","sha512":"86c4039c06162306e3cfbe3fd0eacbb899d8bf7d70cf6cb9a9e8ecc2cf152d0862bd0e65dc3098d396f1b4f303fe6adf01cce456f07250bcfdc82292b6159b10","ssdeep":"","tlshash":"e9d02ea2202eb092887f5e821c2b802842a900030a203d32904c080850eae3ea0b4999","size":243,"data":"","first_seen":"2026-07-27T00:29:31.726132Z","last_seen":"2026-07-28T07:04:56.548013Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"13632c97439beb0cf3239688a15254e4","sha1":"796384e694ba83d7e3250c171ad59d7109728d2c","sha256":"07302499974f21b9e32dcccf30d83d15c17ad96c2e2c3b6d99e34780aba9b217","sha512":"33d7ebb45210a02bc08c24dd91af080fdaf3c5d08be2760c5984c147d9efa498721f69c2c30178acf1955930cfa38f6869364800a64ae9aaf186f66ea6cf18d4","ssdeep":"","tlshash":"c7100000000c30c0000000000000000000000000000000000000000000000000000c00","size":2,"data":"","first_seen":"2023-03-08T15:47:57Z","last_seen":"2026-08-02T23:01:01.238801Z","times_seen":1282,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"f0afd222c28dd2de4bee7f9a99a96714","sha1":"9b62121c0a045e1daf68025f3800c1d55c21367c","sha256":"6cf0e1feff9a67643dd656128f87dffcf9a90eff4165f390499b37d8a1c4bc7f","sha512":"06ee1b74bdd9ad90d1bd318730096e7a1370b5625bf46c3eeb1bdf7b332190978689bf70216bb432a98b76c9f6bedeaa50484d1b910247ec80a65f834455c662","ssdeep":"768:A3ChGD4UZXHwUPDi778+JY8JjQmNTYMUJmqcVSyY/v1M6LnBZQzhVrDRsb+dguM6:0bQkUVMMUIJYVM6bBGzhrKcV","tlshash":"958353640868a872c9939547deb5ff3e9ce806790bc9966ebcbbc35c01ec6510e9f413","size":82823,"data":"","first_seen":"2026-07-27T07:25:17.922146Z","last_seen":"2026-07-27T07:25:17.922146Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"167a8347b77620be0dbcbbe9432bf216","sha1":"91a219a2feb9ef59d3386673d2fd99e0b4d1724a","sha256":"b9a81821d6db08328863ed45fa7b033972f4611ea079200186b16cc6cc17b7c2","sha512":"208234cbb4099eedcba540e19baf8e5f694e38dcb048ddfd1585d8ab4ee87cb5286c9ff7cf93f841d1ae042a5a56c67e146838bf7cbe8bc3b348cb2332e35826","ssdeep":"768:16ScgkUJTP5imOa2ONzC2hJrypIeWQb+DzDq2Gu7N4nFnTsFyNjQAOTZHbCKS0MF:J5c/r2XhJWpTbgGjnFTs8RPOlHbCKSfF","tlshash":"b5f2d08085d9c4e6942e5f09aa6dee3c0f2f9da2e817f6d06cc3d985700dc98f91e94d","size":37227,"data":"","first_seen":"2026-07-27T07:25:17.925494Z","last_seen":"2026-07-27T07:25:17.925494Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"1ad0797b0afd0eb7afcc993845e03e8b","sha1":"439d5baf00d88d61518f2a8308c6c33af2e16894","sha256":"c913da8e1cdb635db668d9db913259cdbe05022114a61c24805dd96b46952453","sha512":"1a0f2a033abf6d54aa345c9c238b5675bd88dc6c7fd3d48c2be5e4d5db499e00c527d9d72e0ecd4c53b1c346cd95a1addf7a1c361d1a45f7d024a48fd885429c","ssdeep":"","tlshash":"65a0026bc529d5570038557455973156e128a7a08819e00c035a560975e941bffd859a","size":62,"data":"","first_seen":"2023-12-22T13:57:50Z","last_seen":"2026-08-19T08:18:59.028633Z","times_seen":6642,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8a3f559a9ec90c0901283b97e979c109","sha1":"8859ff86e2b1e5ed6a0e28778fb749b58ef50224","sha256":"5020851a6e6bf1d1dec6faea76630924b429593e59c4ba8ea710c2fef00421c9","sha512":"10224ffcb1d495c946a3b140433ea3ce2a3ddf84708caddfdc83e17ee16b31fe76329405be6a5dd53691d13812b706dd3927677ef7d764791bb184a03a55d9cb","ssdeep":"","tlshash":"76700088ac0c208080023a20000fcf0c8822b08888002a02808002820e3380ba02280c","size":25,"data":"","first_seen":"2026-07-27T00:29:31.630724Z","last_seen":"2026-07-28T07:04:56.532422Z","times_seen":336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7c60abf1f9cbe086f9088b7022df4e43","sha1":"9e861f47a7bc785870da1bd37be033dfb3418f4e","sha256":"459990baee71111a476418d9ef771c219296d975a20f7a139b13a9e21da11067","sha512":"87064c9633c03478a62b8b2e1ea0b45bbba061ffde1fd29399820dc71ef3df2237b873e66d24f664b1d24a7d3ddbd538ac1b289a5b9004230b89f467a7c7eade","ssdeep":"","tlshash":"987000883c08200000333220000bca0c082200c202088288000000820c3200a000aa0c","size":22,"data":"","first_seen":"2026-07-27T00:29:31.731043Z","last_seen":"2026-07-28T07:04:56.465097Z","times_seen":331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"be1f545aca0d962a6e9de54c71048707","sha1":"d4f5e7c69c5eb9533944c52244111aaf5f0aed04","sha256":"4c290ff95bb736224e617b184ad97497af15aa53846f7067f5d0db5e8c4e617d","sha512":"6d30d1789ea8c302d698cc4bd29763fd2da46d7246dc389483ac262d8c3579e922fc0d45f29474f0580b802f1c2b494ea5df6cc70bca01170ba4a4d87a838558","ssdeep":"","tlshash":"917000883c08200008323220000bca0c0a2200c202088a88000000820c3200a800aa08","size":22,"data":"","first_seen":"2026-07-27T00:29:31.692344Z","last_seen":"2026-07-28T07:04:56.422239Z","times_seen":331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0485d1a69b0a1c36230f03961efc16ce","sha1":"8560a7f76470008188e1e5acf7662e6c7a319f40","sha256":"f4721ed8fb0e9f9beea333083e6a051a20c3b4eceeabf84cfc936d2eed0762aa","sha512":"64748850787c5039e184c1cc08798c63dca897c29914df9175776881246ee5f51f95fd138cc81a6debe274ea21a84be44dfe3a163767dd315b206304b1ada834","ssdeep":"","tlshash":"d19002882e2d3559153621648097c60640d2110759e745506e59897b1a26686017949a","size":56,"data":"","first_seen":"2026-07-27T00:29:31.589685Z","last_seen":"2026-07-28T07:04:56.524972Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/app.mindd84.js?id=63353a60c9e82d366e28","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"e3cd5ddfdeb469190d1566132b1168f1","sha1":"29eaef1f481137ea7ad60f73e3be02d94db0143b","sha256":"b2627af03bddb2732025f86f38f781484a3e96242b58fde54391891b45302695","sha512":"903b537e93b155dcfbecd5b3f7413e8fae2d8140d0ad283edf7adbd33da7b8b0813a361cce3d6e536f10cbee0853683312847942ec7d3124ea80db23f63350c2","ssdeep":"1536:ag8ws57LZm8pgEIAn1O3n1WOIbJurS0wuRmZEI3gK79W:In7LjG6HZNF9W","tlshash":"8b932b587180b4790bfb31f3606f6549b6b22559dc02c4a0a878dc9cadecdc96263fbd","size":88923,"data":"","first_seen":"2025-10-27T18:25:33.044679Z","last_seen":"2026-07-27T07:25:28.878822Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"af83da2a769d59fe45aab962f63d91ae","sha1":"567f3a3f97d8fc8dc51b36ad62cd0b88626d55df","sha256":"6eef6cfbc646c41376c99294021f2e5ac342ae76f7efa30e449cc981db20ab45","sha512":"cd7ebd3eb1f0e2edfe170b2f91c68b27aec3fd454400c27130f5bd78e53d264303562095d97fb257ef5bd1ccffa188d84a7f2e3f8b5f64df8269b74913277afb","ssdeep":"","tlshash":"aba01288490c440c451211c0f023b40401e0301b80c00c81819c9a4105e03a25052489","size":79,"data":"","first_seen":"2026-07-27T00:29:31.698944Z","last_seen":"2026-07-28T07:04:56.416516Z","times_seen":332,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3f16ba6bdfd02c4e6d6ae33b270a1f81","sha1":"f5d52f0d69a9dcd7911c892ee2dcce029f1c75e5","sha256":"a104c10429792d6a042a0fb0751a968e9aa8956b47d40c1f74dc2da583ad9a37","sha512":"fab03881cc443b59aa2d84e016969b4c760c09d13de47b248ae17efa22ebff60806ce1cefc203f813781f5a760e73b5d32a8c3917bff0fefc7ac14eaac13a32f","ssdeep":"","tlshash":"87d0a744a02e504a093e2d6b759bea27729078033816cc6d965e888d0cb0813c55fc5c","size":225,"data":"","first_seen":"2026-07-27T00:29:31.667493Z","last_seen":"2026-07-28T07:04:56.471214Z","times_seen":336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c1466f3e470c7b768dd55792ec54d047","sha1":"608ec6c74344fd48de7aec8da3b9c652091f5247","sha256":"9efd2d75eaa2c2d73d54de006191c0cb3c6ebe1e029a745c5402fc61956afba7","sha512":"028b1f70fce56b317ae85cb0a29e278bd46ad7700be717e0a760179c81ad869e9d150018b2279da473d7ce279c19b552eb01220489f2974ba1a70bb750b50897","ssdeep":"","tlshash":"f2d023d565d74434c5e2d92e01331240cc254d18dd040eb17102f245cc70745577e9c7","size":196,"data":"","first_seen":"2026-07-27T00:29:31.66023Z","last_seen":"2026-07-28T07:04:56.527426Z","times_seen":336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b1a82c958451a0a4f0f7373dad43ca67","sha1":"2b0ee5ac2e3ca5ab194a88e9e280819804a71de8","sha256":"a8d0a1117e28efe9d9bcd29833dd103ca8f1110f68e814dbff635c08c6d71907","sha512":"3073a8b7f01cf71397ea52e6994c76562a2dcba867522d35339c664bf90f04531083bcde25d5af3a390de0b91c249029b5b317f0f64c12ea4439120f1df8a62e","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-11T15:11:20Z","last_seen":"2026-08-03T07:02:53.843079Z","times_seen":12540,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b9ece18c950afbfa6b0fdbfa4ff731d3","sha1":"c2c53d66948214258a26ca9ca845d7ac0c17f8e7","sha256":"e632b7095b0bf32c260fa4c539e9fd7b852d0de454e9be26f24d0d6f91d069d3","sha512":"b2396a002fe7aec008808687d7cbacb340b7f7a090008382f3c95870f6fb10415f61f5737c102d4bfec58fe525407ea2001e761dab1da8a501d9523921f0ec21","ssdeep":"","tlshash":"c700000000000000c000003000000000000000000000000000000c0000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:18Z","last_seen":"2026-08-19T04:13:18.636265Z","times_seen":54319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7694f4a66316e53c8cdd9d9954bd611d","sha1":"22ea1c649c82946aa6e479e1ffd321e4a318b1b0","sha256":"8e35c2cd3bf6641bdb0e2050b76932cbb2e6034a0ddacc1d9bea82a6ba57f7cf","sha512":"2e96772232487fb3a058d58f2c310023e07e4017c94d56cc5fae4b54b44605f42a75b0b1f358991f8c6cbe9b68b64e5b2a09d0ad23fcac07ee9a9198a745e1d5","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-08-19T16:43:22.118547Z","times_seen":57209,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c8d2aa8ba9377ef9dde4c69be2c71756","sha1":"e68ebea3bac5cc4cbee63d7f3868b90062165bb5","sha256":"e57b8072fa822139451ef537ee055d4a58e1b1dd2e490fbe1733d3ac5d143f3b","sha512":"2759d01a4329cb35fba481a44483f4ac472de5adadf86dbaa7dd2e6f6ec20babcda4d9e36badbcb8b3d70ef3ca72d76f7792a3c3587ca2e463766c473dc9148f","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000300000000000c00","size":2,"data":"","first_seen":"2023-03-07T13:57:02Z","last_seen":"2026-07-28T07:04:56.412336Z","times_seen":5866,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"646ac41c6e82c646ba804807550f2817","sha1":"5ea0bc6e90462c43b26e49e1f49f532435c00cca","sha256":"cf617055ff38446c4742cd6bd014bec69fb9ecb5b6b12843647d6284631e9fad","sha512":"5b281fa7850c4dd4a90ad9142093e57655af1b953902864a0e92ac2ab4d85fb32072a1eb97d8e92d6a6d273705933a0804d60b03f88ded3299237408a8c60fc9","ssdeep":"","tlshash":"42c02b4606010391437f29805d0b133bc1c200073c01284c89f10481e09cf40089ac12","size":133,"data":"","first_seen":"2026-07-27T00:29:31.595033Z","last_seen":"2026-07-28T07:04:56.479176Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d80d99d7f209071a284c9ab6d14accf","sha1":"c91e7389c28a7b35eeb114484808a20cddb8c20e","sha256":"0cb21d1de060008bab472c15c63e6f15828de601f85deff00d701d26c0f6819a","sha512":"59df0ea3f533182f0884e52768ba3b5b1dea918c81a430aed117aa60584df1bfc3569ba05dc9c95426cd97513318e2bc4272ec2771e3528117cefce002576740","ssdeep":"","tlshash":"0aa012b01c1dd3d81271c03118250410d6cc2205f8260d086219825248a81067f02014","size":83,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-19T17:30:26.383482Z","times_seen":343467,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"da2ef09dbc6b0f85bf0db51037bfe17a","sha1":"e42f689642a1969c3e7a3da390191d81510a8ec2","sha256":"4fd64c9d5058b36498ffed3c805ae9b3d35f885c8f063a3b1372d09086e489fd","sha512":"c84b5f322afb9e1909844b8ef52b3287a27cccdfaf17361dfceecff396ae873a8d59f75fb928e2ee07f7a4bc4c8b7f0990905f642a2746fdef3b9c9d7b5a57bc","ssdeep":"","tlshash":"eef09e99f2c7d47491798634d8aa4305d6133d402006289aa465e0fced57866e932b7d","size":506,"data":"","first_seen":"2026-07-27T00:29:31.654529Z","last_seen":"2026-07-28T07:04:56.523407Z","times_seen":331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2dd96114cb21cd5fe28e94362f0efdd2","sha1":"37e9d317dcb7145d3987b8b4b96f5b649b8db3e6","sha256":"965dcac169e4617e5deb5e95fe3bb656e89bc7de173525e1e4712851145d1928","sha512":"fc118e3fd7a7c3545200b9cd0e2e4db154f38f3ff634eb97b2027b803b180aae5b504594bc39224de239b144b54471319fe876c4604961fe646387f9fb85d7fe","ssdeep":"","tlshash":"d4e026a01c023c0e214b9abaf03b231ce550957a97894f59ec02cd297d37d43aadb680","size":353,"data":"","first_seen":"2026-07-27T00:29:31.627576Z","last_seen":"2026-07-28T07:04:56.423137Z","times_seen":335,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9d0137bffa0f20d5e8e9f54f2c84cf0a","sha1":"39edf6d919f82b9692a2edfecc78427a82567c42","sha256":"269d4d56785ffc82f3ed05d8ee3b84fc18d7474663ddd06c6fd285165190bb19","sha512":"0b8b09f13f8fbeb3546c08a3501f4060ba8e5f762722ffb1a53be6d0e297abaf9719d48d50cac29940e403702c66627187396b8961aee26586ac934568af2ea9","ssdeep":"","tlshash":"db50000000300000c30000000c30f00003000030c00000000300c0cc0c000300000000","size":10,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-19T17:30:26.379494Z","times_seen":188003,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7463516a439ac7bd8cbabebf99e8588e","sha1":"46c8af3f3cdcba77460d9f792f520b7c7019ec50","sha256":"6714a108bd67a28899b2266d4370bcb3c2bab1ea052ec11841e9a4c6315aaa7d","sha512":"8a109bbcd9f495cd8b3ce97f9ec64131d71f3ea0e7a4b12e5a5f9b1dd922e0e06bdab6bf8a4031a3eebeac7592707d5a0fb1f9add45bb1f0885284855471bb61","ssdeep":"","tlshash":"cb700088ac8e20080023322800cf8e082222008000300202002020820c3300a0002838","size":22,"data":"","first_seen":"2026-07-27T00:29:31.561589Z","last_seen":"2026-07-28T07:04:56.49883Z","times_seen":331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6ece2b454fce2dbbcad72056a3098292","sha1":"cc99d4f07f155a29aba3972685ee852eb8c2ef37","sha256":"dbe5a33f7437ffd8358578d2b49be50db17c5709d69dec06c4d496d0531b868c","sha512":"850de402ab1f27afd2a51a6ada067b036f678053450dbfaae94daf45aefa348840b4e373497663ad93d754b4cbf19697e87b5b0e6caab97c5bae404b12bce17f","ssdeep":"","tlshash":"b22165faf3c672946bd756d0accf270001687581ef794a0f4861e3b057546976085e4f","size":1288,"data":"","first_seen":"2026-07-27T00:29:31.59985Z","last_seen":"2026-07-28T07:04:56.474803Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ed48ef5f6b1d0bb57bff4d6b1f4bb54f","sha1":"534ed3d9f61f43921b30fcfc7f8bfccb679e88e3","sha256":"31eeea2981f0d60c392a6eefcf04ce2b4ff74d0c540abc3cc2ae0b47d6050f8f","sha512":"b755e728c45e25a918586bdeaa50ffdad293eacfdee895b4586aa8808a8722b81d00b29900d6bec11a6060d2c0350e98f94b387f64009850c49909dd77c7e3df","ssdeep":"","tlshash":"c9c012e478178498815d669e9705e92f805b048b2071d810a01a5141363ea27c15a21c","size":181,"data":"","first_seen":"2026-07-27T00:29:31.556597Z","last_seen":"2026-07-28T07:04:56.492739Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"24cc3dc813f384fde380df619f1525cb","sha1":"56399e3ce57ff98d68c7de98a563e572230dff6b","sha256":"5421715bbdaf2550e31d10fc28d444310a8fe7147bbddecf0abb490358a1553b","sha512":"fdb6e7d3b9452cc36c1e877ebe47c50c82fd413f2cef945f808e47b081da88ae6aaac7aa14386687c59479e19c856f6031d7ae666fe9c5b54a0b6fe37fa062f7","ssdeep":"","tlshash":"027000c008088802080aa02008800080220088023e0a0e0008200000832000280a28aa","size":19,"data":"","first_seen":"2023-03-07T01:02:05Z","last_seen":"2026-08-19T17:30:26.415434Z","times_seen":239620,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"71664ae133d81090010036edfbcf2372","sha1":"8d777c5c06d8002edf04aca4921a43b993c3c83a","sha256":"de53398fc90b7401cda8a9146bba8ce842fe1df8c30153ebd66a3f0376a6cd79","sha512":"6491fea54a714ed5d363c59ef2c8def2d60d7a34da1f03a33ca310bb4960e8a8da00bbf1341673931071e888636536beee11d09b0826d4d82bb10411c337ca0d","ssdeep":"","tlshash":"2c119436280cd03fd0de28d2879ad25563f5e4c7b8c8f99a321320d8ca75f48619ea81","size":1018,"data":"","first_seen":"2026-07-27T00:29:31.596387Z","last_seen":"2026-07-28T07:04:56.439802Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5f2a6217a8d4d41ac854a9934f29d539","sha1":"66c309ccdf1880c59450b9484114f9127a8802f0","sha256":"51e3f39020a5c36d26f860b8e16d66d109a9b43fb1986cf8ca60c2ae8a5d7375","sha512":"d3f9a2aa396293953990d9331646d682ca3aef43eb476b98e3e8907c75ece2f4147271f1c1bfb00a388c16312e320017bd9e973bba6948a5a340bb0603b90547","ssdeep":"","tlshash":"ede068b6c00271aa3bcd42179ca37e1880f17915fd2e68ceb140a29dde24023600648f","size":397,"data":"","first_seen":"2026-07-27T00:29:31.665952Z","last_seen":"2026-07-28T07:04:56.415659Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2db95e8e1a9267b7a1188556b2013b33","sha1":"07c342be6e560e7f43842e2e21b774e61d85f047","sha256":"acac86c0e609ca906f632b0e2dacccb2b77d22b0621f20ebece1a4835b93f6f0","sha512":"f10127742e07a7705735572f823574b89aaf1cbe071935cb9e75e5cfeb817700cb484d1100a10ad5c32b59c3d6565211108aa9ef0611d7ec830c1b66f60e614d","ssdeep":"","tlshash":"c700000003000000c00000300000000000000000000000000000000000000000000300","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-08-19T17:55:31.759125Z","times_seen":57962,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4fcbef6e7bb2b153c0a015529ceb3f91","sha1":"2969b9477d52e35b527322b6961cc28254bc252c","sha256":"eab988586f405f0967700f5518505207e779bf4b743c126021d08c8289052560","sha512":"ef957d074e3bd5fd8c6fcbf4e7b34acbaa5358ae1064d1c029b861b88bcbbf387b577aecab35aeca5edb650f4b02ec930ffac631ad4184ab639e46ec11b48b86","ssdeep":"","tlshash":"64d097d57442422508cc0a86f8ff133f7a60bea291884a58c0cb8be02f204c3c6a3a37","size":282,"data":"","first_seen":"2026-07-27T00:29:31.732671Z","last_seen":"2026-07-28T07:04:56.541153Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"df3acf196a66e135c3446e07e0a82708","sha1":"301ceef105300a4fabe93076248b037ffb9ef422","sha256":"4d053772fcc0218f108d840e4f4694caba2524c7cf18235bc8132a077f4edccf","sha512":"8e7b84f25d96941e7c6af5dd7182b0d22e1f06cac02e7a67a88c73253cc246276cdbcf23144784e0063b34499b696da5b84d595b081ed09df723cfa4f291afa4","ssdeep":"","tlshash":"aaa01240268b6040041a11d450a3910840d6000b60cc2cc0d14ccc420a112ac2113259","size":71,"data":"","first_seen":"2026-07-27T00:29:31.554952Z","last_seen":"2026-07-28T07:04:56.52001Z","times_seen":335,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d51b042d8ac9bab5d5186ec2c244edc5","sha1":"c486f3212f9ebff8aa36d34a2cf041e09d32b07d","sha256":"3fbe57b29f670d76e90fa6e7a66a5856ec458a9b3cd7792141ad1abcc8c48362","sha512":"6a918db5ee5b059e8c909596ba38d4da45c7a57cfe99aa19030434006273715dbdf6f0609e57937a9711cca78753f13d7392b1d18cec36c882e911d343efeced","ssdeep":"","tlshash":"e8c02b3c7016000cac83a221cf8f4c0a801ea0550d08890e1d41a8e87c83a902eb2c42","size":132,"data":"","first_seen":"2026-07-27T00:29:31.603991Z","last_seen":"2026-07-28T07:04:56.483456Z","times_seen":321,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a931635074a5017da74948b67e16c76f","sha1":"a6799582ad16a7c1ab8221c166268130df6691d2","sha256":"1fb437ac78114eda813a7c4d5771b6d3aa34908a5ca3b743d5eb5c79088cf82c","sha512":"7c96bb515bdba9ad60854b433d24e77982a321dd7ca71599fd8f79acee580802f56829a5dbb7f64932a51ad50d18a9438251a6ad8127ad2b2e332811033d2c7b","ssdeep":"","tlshash":"a5d023cc3941f262d06274b9041704dfd173384a1e1cdf4184154875667c5d9407f4c4","size":206,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-19T17:28:47.972457Z","times_seen":211023,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"98da94d83c6805242132c6165e921d97","sha1":"42637bb5411c7fc2679eb91a5f80c271d861e4bc","sha256":"2f4d956ebfbfba38c40a0676b6d2d6907d6f40fd04f8b2b8b189532ad525cc9d","sha512":"79ea84f90af64049f583ac430f0af0487c9464666d9d1cb46ca87457888f59dc4f3e46fd3a1567f735ce82f4e88c128422be7f5456e2d5be2c77d1b96473b50e","ssdeep":"","tlshash":"48d022fbbe8984ca22083cac8c27310c636d491afdd2ba20c551e1e008ed088884e6ac","size":210,"data":"","first_seen":"2026-07-27T00:29:31.700534Z","last_seen":"2026-07-28T07:04:56.431747Z","times_seen":336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3b78ec746f872bea7567042b64a4b673","sha1":"1dd8f71188b74547045d7fc9e9340eeb2098a0c3","sha256":"0392eb24f28399c3c1d3f10df83aa25712c95c6eea6a2e89f84586a350ea402a","sha512":"77bb101b08c601ce64a885cae13fc6a92f624d5ec7d03f4e7513762c3fc6caff1f85c2dcd1b95c5e5751f094229db7b7636675b0a23ec739b18435446be521d5","ssdeep":"","tlshash":"b5a01208180ea009042201d5a0e3a00441d1340f60c00c84b34ec1c20b707e27001c18","size":78,"data":"","first_seen":"2026-07-27T00:29:31.641653Z","last_seen":"2026-07-28T07:04:56.475666Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e213815f8e0b9954f8d43e3a59f8b742","sha1":"563796cb191f082f24fc52b017905533a0ceccc5","sha256":"842c53eb438fb28e95c14d32423b0fe01bf557c9e623b684b19663d497bce97e","sha512":"b5bae6d10c35f01992dcc33c3f24a7cee7ac0fb56cf4a9e79453d213297ffe3b8e6e4b3eb7de9b1d10a5ca2638e81ac3fd3e66e6d76d157a75163ac7caea4f89","ssdeep":"","tlshash":"ad60000ffc0c330000033030003f000c003300000c000000000000c00c3000f0003c0c","size":14,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-08-19T17:30:26.384848Z","times_seen":206324,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"08234890ccde7c6f03bda13349d9f0f2","sha1":"3a5de228c2c2a4465a9eda14bfa37265a6120d75","sha256":"89294f28de358335bd9afbfd4ebab12ca7431b2680e9208f67728d5df0c7d933","sha512":"838a4ea4a7fe4d3c7acfbee324cdf4e1c572c380f2278547d0fa077892460a43e62e6ed2f777c40aa272a892c6acac683f00ee31f6d90a95eac6b4346376b0e6","ssdeep":"","tlshash":"1621f355749ef7b6cccea82340096a71c8ab6aeec03690d4b37dce2483d58e5670e07d","size":1209,"data":"","first_seen":"2026-03-29T04:39:56.831332Z","last_seen":"2026-07-27T07:25:29.07315Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0de3ba01184b62b2d8e5b01ca4842f76","sha1":"dd2d76d959659ab5793eccc79cd2dec6f73433e6","sha256":"bdc33b950db6906c874faf1e5693acd3a5be7c1d5b32acf31c962026f8bad6dc","sha512":"944a8bc67c389c73a3db4b5a2c5ca593eadf35afc250aec42cf3f96c5744c8d70fd98d00e24ec8d5bf098303c5fb833df05742437f64bde0e866a9ab3c3dbf5f","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000030000","size":2,"data":"","first_seen":"2023-03-08T14:47:46Z","last_seen":"2026-08-11T05:54:46.981758Z","times_seen":2849,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3607caa028d214a9c8a07c05ed41f53e","sha1":"5674daef708810bc46c529af25c171300ead8252","sha256":"4f956f8fea1bf812e046d3d7ef36a29700d6959fdaabae376f3a78110c934720","sha512":"67da101469be9175b0cc735dd8b8c2d15b1b5c8432380f850e68578d5631c5e0bc7c0792737dab961765f48ce482e8c5d1dceebb77b4e30058319ac89bc606a2","ssdeep":"","tlshash":"11f0d45f50cd5765957724c4420fde08413e24030cd5416f7c1af67058706839085d4c","size":471,"data":"","first_seen":"2026-07-27T00:29:31.640347Z","last_seen":"2026-07-28T07:04:56.543578Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"96d66a4d9708fdb6dd5597f3bbc7d624","sha1":"e10a66fa8a836f6f948941262b70e1fc928a446e","sha256":"3cabac574ada654802fc1c4518d870f0791a9a3ac31371677e75fb683e47ce89","sha512":"06c25bc4dba52367cbe19252c1a013e1714a198141d139939944422266aaaed60ea3953c5d0f890a7f9ce7887c5f2a4cbb47173d06f829d50ac33f6f353c015d","ssdeep":"","tlshash":"ebd023cb729c1114574337141eef0448bc64b4d70dbc941d8649581058011ede03aecf","size":195,"data":"","first_seen":"2023-03-08T14:47:45Z","last_seen":"2026-08-19T17:28:47.825241Z","times_seen":211058,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0e976b756b6afe7f40bca206a2d7150","sha1":"db9bee9a7bba93a60330ec5ef1334d9c164fcd56","sha256":"029b84af88c5d6ced58173997a15fa47011e198e5449027d87e2f7b871f332c2","sha512":"486596b8b7d88539b3147ed55749794ab08962047191f33ff9915fd4e4a8a9a24bc164c0d44f24357b6e9dd72d1ccd88f981aa0cf2c7df585a83000d4baccc9f","ssdeep":"","tlshash":"3f8000883cbab30e8222283223ab200aa2ae28c232088e00a00080803a3003a8032c0c","size":29,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-19T17:30:26.330438Z","times_seen":250331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"637f0eba5ed2446da06f8dfaaa71b920","sha1":"e25d0a8466bfee620dd9296debc19ffdeaa85a05","sha256":"d6b7abdd7a602d01fe46f14a23c4f2297557b2a789beff590d898aa7e03bbb13","sha512":"3077975b2b3ac30e9bfe70e9f0b55117750b27e41906a76797d3db8adfc753974338025f2b90d936be047d1464780a67192cc86a3cade5eff17aadfe1e3e872e","ssdeep":"","tlshash":"75f002f19a4669ff4c9275611ce56073e1bb2cc348117c4abb05d3ca9235fdb24c9c6a","size":617,"data":"","first_seen":"2026-07-27T00:29:31.687603Z","last_seen":"2026-07-28T07:04:56.418135Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bc832d5258e3425462a253f85c9c5c22","sha1":"1b093fab2bd12d503ba8dd6eeaaf1d785e25e0e6","sha256":"4b13a906ee170cee2ff47dec2e11b62d74a1e306390b03cf2623e5bebc8d2493","sha512":"44ccc0aab0f5fa56d38b62987b643de93e8848add5fc33144bc45a2c89836638d780daf2aeebcfcd3ea99aa7e35d53756197fcd538e71c917940c88c1feef831","ssdeep":"","tlshash":"aee07de020025414848d8996f87f232ba960fa62d1440e69d843d7c36f200c3ead3537","size":327,"data":"","first_seen":"2026-07-27T00:29:31.741417Z","last_seen":"2026-07-28T07:04:56.516469Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"56ff0549121534867aff526f347a31ab","sha1":"4b1c88e6dab5d4dd40dc4fb371323b1f359d9d5f","sha256":"ad55262081af8dc45dfd42b120dfedd04af2123f40a9bd7a61a8723960a54b0a","sha512":"b27660384e52b2eb1689b4a90cd79ce671c6b12e176c1fc55635264716e546e7cccb3472168b8ce80caf43f4cb86fbc80b71aeb5b235b93948f2a848e5e13987","ssdeep":"","tlshash":"79e02bf9093611520b676052267a9708b632219f6442a900fa6c42443f91967d317de8","size":436,"data":"","first_seen":"2026-07-27T05:02:02.491287Z","last_seen":"2026-07-27T07:25:28.995716Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"75718485b9a9af82417d773f208d27df","sha1":"49754a5a6bfc10dc586a133f7dfbb549955d6d12","sha256":"e48e22d8f7b8ca029e23619306d28fb50b498d1d4db815a4b8affabc1355f391","sha512":"396b86d67f96273752936af42c0844dce5f2b2fa0a390a2669880d5b697734c8fef78e5181d8037b58977aab948bf5609a34e436a6c7e0fd01c3657bc73a0506","ssdeep":"96:hw76Hp8vTZ7y2W51PNmyqRTnNk2l5tCMxUrdawoMVI/Cu4POfb0Y4:hw76H5BNmyqRTnNkavF5vey0Y4","tlshash":"5ee1311e3395373ac24bb0b6eeafd95c72315569268290845a1cdce4ac31c389b36dec","size":6919,"data":"","first_seen":"2026-07-27T05:02:02.492533Z","last_seen":"2026-07-27T07:25:28.996578Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"15a3daf22316ea16f72a2868aa54a7f1","sha1":"60aef6bfe9612ea12c2451fbd27b47a6a80ad708","sha256":"3b4786d7efed570678bf399c1d74729b998a733b14c69a977ddb1befc350307c","sha512":"e43ba92622b730195c593f1ce004eddce9af1f69dbbf79117e912ffe037dc892d5cc71df2ee58628e1d44621346d5a166a5e26427c4ef820a64ddea1c31deaaf","ssdeep":"","tlshash":"01b0123a3111907a124b41edf02fc548bc7d269b12833831c41c26ce8cf4e7b4275a4c","size":117,"data":"","first_seen":"2025-10-27T18:25:33.092654Z","last_seen":"2026-07-27T07:25:28.997392Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"431c86374ceab327bc89f10f079970d4","sha1":"2fb93f6c62aa42428972f64830c53f046a49200e","sha256":"0b076eec13455268d11495a7bb1dfdc6fd464dbcff22856f99204fa2ab2655ad","sha512":"5aceda7295227510bd3f718ace72957576029ba913479c1e2649da761d709d96b43f166de47daa0f2adc148986a6fe9badecdb778e480d396ad6a43d079cee8d","ssdeep":"","tlshash":"adf0ab4f79db14342d5ba0375b6c8e143152226670544033bdfd88397f082ae0966bfc","size":493,"data":"","first_seen":"2026-07-27T05:02:02.49436Z","last_seen":"2026-07-27T07:25:28.998155Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"ea1827c3c3ee1a795ec77664c1d69390","sha1":"36830448ebeee73d2efb4880397f93c7e27a7a80","sha256":"bad5df142fbf93c2a4c4d56a2f254f9b7da93a3bfc727f8d4d584a6a9aef2ebc","sha512":"43b21c688e16f8bf47142f3e6abd4315b5b14f1a91dc8ceac323f3e1ac2b75aba5e8c193ed85114ea823864bef260d5c91acd66414c232b4a98faf7bd7980476","ssdeep":"","tlshash":"47e0a907f17282161092b004b3daac483168450f0a3a2c34374da18a3fe3b8c428e2d8","size":317,"data":"","first_seen":"2026-07-27T05:02:02.495283Z","last_seen":"2026-07-27T07:25:28.998934Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"2ce06efd4563c2ebf6da4a80dff06532","sha1":"348f4a8a21f495d57d3487982fe3a4245cd01449","sha256":"fa576b7f3f2d433357cfa714bda1eaf602c9e3c9473c0f0135db5f297e5dcb2b","sha512":"672053946b9f4c71a5b2198584ce37424f89c6610a8c35bef10eabb40437ef9a3997dd10d319419c742485f97932e46c8e1ac3ad4c10c67a1adce593f073acff","ssdeep":"192:r4TRtE0ue7jLQhYyXvc6QL+hKRMXvO6QL+hg7gsm7m8zjQs80S:rSJHXOz0Im9sTS","tlshash":"2de1203319affbb2dc4b5422149d6a74c8a906afc06590d6b5bd9c2087f89b0631f23d","size":7147,"data":"","first_seen":"2026-07-27T05:02:02.589653Z","last_seen":"2026-07-27T07:25:28.980576Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8ce4b16b22b58894aa86c421e8759df3","sha1":"13fbd79c3d390e5d6585a21e11ff5ec1970cff0c","sha256":"8254c329a92850f6d539dd376f4816ee2764517da5e0235514af433164480d7a","sha512":"2af8a9104b3f64ed640d8c7e298d2d480f03a3610cbc2b33474321ec59024a48592ea8545e41e09d5d1108759df48ede0054f225df39d4f0f312450e0aa9dd25","ssdeep":"","tlshash":"c700000000000000c000003000000000000000000000000000000000c0000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-19T16:43:22.191966Z","times_seen":52767,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5c244fde4e6f1ade71beed5c11edb59","sha1":"6bc634a7f8505a2ce340807aecfa1e50c2a578b3","sha256":"d561924e4295103128924509bbe71b3eed6625592d75ba3cc35c365189d6081d","sha512":"6ed66e7a246ab961cedd150553b6a9aa692988813dd4ee30c8b7d78d80bb8765a828112c6860d08eb382cae34e22bdd76ecda5ee1c9c7ee25a49b1d2639474f9","ssdeep":"","tlshash":"966000300c000330c0000c00000c0000003300000000003003000c0000300c0000000f","size":13,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-08-19T17:28:47.971712Z","times_seen":177631,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9dd4e461268c8034f5c8564e155c67a6","sha1":"11f6ad8ec52a2984abaafd7c3b516503785c2072","sha256":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","sha512":"a4abd4448c49562d828115d13a1fccea927f52b4d5459297f8b43e42da89238bc13626e43dcb38ddb082488927ec904fb42057443983e88585179d50551afe62","ssdeep":"","tlshash":"c700000000000000c0000030000000000000000000000000c000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-19T17:30:26.307183Z","times_seen":66806,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c64a5dae48f04e16deab001d4b9dbd80","sha1":"a1382f8f61bcba9266e29a3fce9ccd7c9b961459","sha256":"49e72f36eb565cffdbcc8f08e9d29d128067c85592da711cfb157f62bf27a669","sha512":"31851165dd1c3a96b1dcae230b835304eb94a9dca4538821fd37c042e1ea2e84e3290ebd4013a05ca01db43c4ce2b843e7c3d7dc309a8ede31a7714a78a884f3","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000030000000c00000000","size":2,"data":"","first_seen":"2023-03-08T09:42:33Z","last_seen":"2026-07-28T07:04:56.539675Z","times_seen":2078,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3c10c34c8143b9578b0f63ea21692fc4","sha1":"71e150c23691b76c13896c50ed60f6b0a7c738e1","sha256":"9f05eb58b89a0c41431ae6fde5147c4aa521cc66aac32736ab63d666d3d6bc62","sha512":"39ce126f879e9608a8a1cc6c35f66a83c34c7dde2282d2e720770d92273f1dbc2aba2c32a2bfa6255b2d43a1f2b697020e196cd20cc8c8532e2b49d8e23d0c29","ssdeep":"","tlshash":"3aa022880f0ea008000f28caf0b3c28fc0eb280fa0803c02e20cc2ce0ee22c0b0030ce","size":75,"data":"","first_seen":"2026-07-27T00:29:31.702215Z","last_seen":"2026-07-28T07:04:56.466803Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5d43ef05e57cdeab7895fe8a3b6ee014","sha1":"19671e4e00cc9b5f8f6a6167c1ea8800ee539aeb","sha256":"b7893a0611b91f5fe47ce3889faf375eddbda47517f4e44c8c338eef6d2c41e5","sha512":"535346ebfe272e052e64dfa1845da29662c36e84fa5a946e52dcbb2cf4d894851a102180fb1c04603f86ec920d89fdfb62c1ddc14ea81ba4cec7d4723ad5598e","ssdeep":"","tlshash":"8db092a4a20c0b5812813919ad2b06e950e42704f82994884ac0ae2548e0a41568ead8","size":116,"data":"","first_seen":"2024-07-19T01:23:55Z","last_seen":"2026-08-19T17:30:26.418318Z","times_seen":193767,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"89aa4b196b48c8a13a6549bb1eaebd80","sha1":"1247e024fd6d643afe2cdb7eafe74907ca00d25d","sha256":"19503ea6785ee1243cd3373fe0d201404089fb7c559d2cd4b025585ee36ff3c3","sha512":"36c3a3f8a8082a7db91e846a7d533c1ea0e04a662b60f37b245790bdb15599093360d980c5fa949d0d79b4d95aa401beb698ced062215c9707dc4d5a4fd4e54c","ssdeep":"","tlshash":"c710000000000000000000000000000000003003000000003000000000000000000000","size":2,"data":"","first_seen":"2023-03-14T01:57:03Z","last_seen":"2026-08-07T00:08:43.074784Z","times_seen":2559,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4c62bc4fd3c4e105cb3fb62fb748d59c","sha1":"f6e2d1e74e35ec4c4740ba02e890b98bda11417f","sha256":"9f4a6a370cd350425d8ac08047e7646116468672e99765ca198e6d463ee5286d","sha512":"5cb125ce0b7fdde81c6df58f6e27943a130f0d9e2a366d94ea8ed926da635dfe2b2c5778a14ed99bb35c7b2a48dcd12090cbac18370611d1c0438e1c2621efb4","ssdeep":"","tlshash":"6cd0129b738060e3d797fea709580020c1ef0b8402d2753d42d5d51070fe9ce83461e3","size":203,"data":"","first_seen":"2023-06-16T07:31:00Z","last_seen":"2026-08-19T17:28:47.807916Z","times_seen":194285,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ad17d7aaa5500fe1d163e297a0cb3628","sha1":"4607dffbd44e617ef494ece0d8770698d1541cad","sha256":"e8273aae46fb97f1786246772222f93463401dfcf2a0956928723ab6de5ebba0","sha512":"f787cdda2c4d3a5d970765c62929e3fb088af57fe2ef62bd9f8debe4064d563a4ac72ed8bd8c0425e9dc22766b1915a5004593d1b8652033d43e6d45245c3b96","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4k494v5/CTEF6:fdhuuYnFCL4MVJBJO5DtKV2hd49p","tlshash":"10755c9977e2b86343b2e0e5685f0142f23f584854ccd12cb97df9e52da0d0a617afb8","size":1597230,"data":"","first_seen":"2026-07-22T15:37:53.90669Z","last_seen":"2026-07-27T15:49:32.120651Z","times_seen":1747,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"eeb0a66e770d8cff3ddbbc1ee9581cc7","sha1":"9fc6ed9740257ca291f4c8a1e24c8b4d7547aebb","sha256":"d60a5521fb413d0d84580fccc7bcc14a7f7b648e79fabee34d26ea24a3b6a667","sha512":"3373fb2851d15e63be07d30fe5ba6de0eb5ac12381db687f47c9ac02e131872125bdce4ed48e9a125b7a27f98d3e3e22d869bc88783b182f2dbd740296d5d3f2","ssdeep":"","tlshash":"95c02b3c70160008ac83a221cf8f4c0a801ea0540c08890e1941a8e87c83a901eb2c42","size":130,"data":"","first_seen":"2026-07-27T00:29:31.563759Z","last_seen":"2026-07-28T07:04:56.410592Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7dcbdbfdffdd0d6e0f5ce735a058fb4e","sha1":"e952d1ce93989f85117f1f945c7283a32bda5736","sha256":"adb78e319448281b1db736a61006b3059b2cd94d4a1b447319ff911334bf69e7","sha512":"abc803f00411d5368288622d6d553d2110328368a428b14a852b81d9c0008359d1eb69b94de46859ff76c59647f9c49da3f35ae9ce09b538eac42afbe604f87b","ssdeep":"","tlshash":"05f0237b648083b308e570db086f8989049eb419bc8044be4c22b3f4d67ebf7549ae21","size":649,"data":"","first_seen":"2026-07-27T00:29:31.672624Z","last_seen":"2026-07-28T07:04:56.521734Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"04d43d476fc66e43b545912ac9e06410","sha1":"4b3f58985347c8ef6ca71351d82309171cf507c9","sha256":"f50c4e82b55b7c70b931a6b4abe9844100e9a7b2a994a76accbaf6414645b02f","sha512":"5162b010b3bb20ef68b83aac7cd8cf9a2ef7a1ddfae9a1fc5cc6568fc9f698c116dfc6f617cb56df3e3d26a41ddcf123e37ed149275e541bd50c800e0c2a402d","ssdeep":"","tlshash":"cae068b6c00271aa3bcd42179ca37e1880f17915fd2e68ceb140a29dee24023600648f","size":399,"data":"","first_seen":"2026-07-27T00:29:31.73942Z","last_seen":"2026-07-28T07:04:56.52577Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9d59bf62eb4d4befed1f736500ac7f27","sha1":"44b20bec79abbd3df4fbacb84a8d3d7b93cc091f","sha256":"3bba6fd3e6602d3f7ce5cf48e5c8785a2e8825e22048fca2b6c64b1342ebb72c","sha512":"08e80d61b07f2a4610ecbd2778975c49f3f5b70568eba9e0ecbe137377c0c3e17b67d2a39ccea93bfb0a5720727ab4f6868d0694fa2c1a9b2ebe829c803df86b","ssdeep":"","tlshash":"c71000300000000000000c000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-07T13:57:01Z","last_seen":"2026-07-28T07:04:56.41732Z","times_seen":3791,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b014fd96d81a82bcd2f8ae2d9e28a345","sha1":"ce6eec188c0cc5b221bb59d3d722b1822fd2991b","sha256":"2946247b2579047e436a311714826b1f0f8e08849a01c2fbbb7288362fe629be","sha512":"2057485ebc1b0fe1338e4b0e1d6f77ac9ab6a1009af5a47bd7b1d75cf22e3abcbf6e234f0868b6ca2661c3448adac407e484ff11069c1defe47515d2562b7299","ssdeep":"","tlshash":"2e9022a82c22300200203000808f003023832283e0c000808280a8be2c3c38008c8080","size":56,"data":"","first_seen":"2026-07-27T07:25:17.996217Z","last_seen":"2026-07-27T07:25:17.996217Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","size":442344,"data":"","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7b0a74d2e293eb8c72de5b643b681089","sha1":"fe66c702d503ed278c323414a6464ffac17966ee","sha256":"35e812ee1dc11d4413c230c93b9e681ac4579d02692f607aa646bf35b856d6a9","sha512":"419e4e74e043fcb618f4e6c98ac3254c6e327326914fe688661fc19d3b3c1c0f3651edafaaa989b713151482b052ae40a6f720c3791dbb92f8d39dce067a13b4","ssdeep":"","tlshash":"e3d023d565d74434c5e2d92e01331240cc254d18dd040eb57102f245cc70745577e9c7","size":198,"data":"","first_seen":"2026-07-27T00:29:31.623578Z","last_seen":"2026-07-28T07:04:56.510661Z","times_seen":318,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"50fa8efab11d7035bc94b7e4db0e00a2","sha1":"23e2a99575731db1e5d7f6ad8ad646852f10f027","sha256":"4c743cb7cf6833aa384b56a5d7c2b0660ed10419f4cdf4bdea32195ee4993fa5","sha512":"da97d5179208aacd7071bc9fe7a1413a0436150035c435cf58edb9294c7059efad47a2d229b754ff4f4fe2b7302a0eca0cac11f03802c0fe892024606440cd5f","ssdeep":"","tlshash":"95d09530bb1c10c46a7756f21b53c45d00e4b3df4534d4d7e45980e00665d554436d48","size":258,"data":"","first_seen":"2026-07-27T00:29:31.56825Z","last_seen":"2026-07-28T07:04:56.542566Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"891b9b58a353597a14389f567b8d708f","sha1":"c9f894cf58c05d63f0832eae0cb257df8e3cb74e","sha256":"86b8988f0a7e2e42e9ac2e23445f2fb36ee56c3f2577fdbd85de20658776b207","sha512":"d78dacdd8dd790977d63709f6f0c956ddf6c5e81a2b07fb8df190ba68266f4d8d182de280216c7091389d193d1acde00763574c49622f15ff97a7ca8787c1fe2","ssdeep":"","tlshash":"c7100000000000000000000300000000000000000000000000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-10T09:35:58Z","last_seen":"2026-07-28T07:04:56.52256Z","times_seen":1187,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e76e9157a8702162ebe0dfb9e7b04e72","sha1":"52175cf5a0cd15990245ff6c8ee9de57eefb923a","sha256":"ca524d904769be71810fcfe1cb0b4ddc0ae154db3feb77055689cf960d9b8956","sha512":"9628debbac18d7b9d4055bb41d963d4337fa15aea8057e438b6aed141995dc94c01250e0ddd4ec0bd0b5efd8a9a96ae05a15bf75e350336830b752ba9b91568e","ssdeep":"","tlshash":"91c08ce9b2a25864c3e0a82b21324200d8aa1d489e0040b9c102f448fd90349da6df81","size":148,"data":"","first_seen":"2026-07-27T00:29:31.639041Z","last_seen":"2026-07-28T07:04:56.439Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1801cf0c94344d850a7396d39794eeac","sha1":"838ec656e5a6ac06a4002e5e741f8aef38a04d36","sha256":"711086bffba7991c6bd5bc970008f28ece8414e0ff513da8b652c1586a90281d","sha512":"7973c2fc0c5dcd0edd201b4caa7f52f4c50fd43c700bfe6e0357b0df2f91423966e301412a99e4d6e473649619e9cda59e2f91873d49dd546b42c7efde54bbea","ssdeep":"","tlshash":"40a012145c751016e01d8029a40b1104008a320790145401e449058000e4824a01048b","size":71,"data":"","first_seen":"2026-07-27T00:29:31.738096Z","last_seen":"2026-07-28T07:04:56.411513Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"69691c7bdcc3ce6d5d8a1361f22d04ac","sha1":"c63ae6dd4fc9f9dda66970e827d13f7c73fe841c","sha256":"08f271887ce94707da822d5263bae19d5519cb3614e0daedc4c7ce5dab7473f1","sha512":"253405e03b91441a6dd354a9b72e040068b1bfe10e83eb1a64a086c05525d8ccae2bf09130c624af50d55c3522a4fbb7c18cfc8dd843e5f4801d9ad2b5164b12","ssdeep":"","tlshash":"c700000000000000c00000300000c000000000000000000000c0000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-08-19T06:56:34.706732Z","times_seen":58926,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5c3116796f5ff62adaf85580801f3fa4","sha1":"70c94a757c2ae007ce99d35d3f02b9237082cf60","sha256":"08cf51fe8f3e7b9c9b08f6ae4803831975d480e39bc806ed7c8120fd66d8086d","sha512":"a5393b353508591af106ec0f10c733e1c3dda67474d8bf4a54b5d098bdf1d4dda6631769abcbd8687c11e0a2091e57ed70aa2760f553af98fff45296b3a078f4","ssdeep":"","tlshash":"c7100000000000000000000300000030000000000000000000030000c0000000000000","size":2,"data":"","first_seen":"2023-03-26T13:52:04Z","last_seen":"2026-07-28T07:04:56.448025Z","times_seen":383,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"63b39853c60d1092c257c1ab898bad0a","sha1":"f87cf1a14902692dfa942c109550a2e672b61e99","sha256":"ec587e500dad5aec5d7d7bc518e552e6ca420cf58288b14a2344fccdadf569c1","sha512":"afd219f1b06269656fc59684088ef20c04ad48cf9043340ee3f6bb2527005af6b1c4ca993410b77122c8095d055b33078fcd1866c8534a3bab8715c2f4bec9b5","ssdeep":"","tlshash":"c7100000000000000003000000000000000000000000000000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-13T11:31:48Z","last_seen":"2026-08-19T04:13:18.721093Z","times_seen":1489,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"6f2dc696d3e2c5e8b0536728ac5a3aea","sha1":"8da6a7915f0b3ff607db13862fc417574d8d4999","sha256":"4036991c2199a96276eabd866d75631508768ad958639f2ef3d985061bddef47","sha512":"481bcb7979552bb2b61e9faaf2cc6abdeeb36c7e5e4e0a483ba1e93c62bea4c29bd94f525ec183b9a9bb4518f02e3e9748be080d771f801fa3cc7d4e73a09116","ssdeep":"12288:Rhrh0EencTyXGld16WDVcIm4zDSG8UvCeoBJjlXc7WPz6/wWXqkZTNvl6hkTeubf:R41jofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"a2159ff0b25271b4d147b926fab7c003b57e4903e2081879f0a7ae9c55fca942e77729","size":942843,"data":"","first_seen":"2026-07-24T13:38:07.888738Z","last_seen":"2026-07-27T16:56:48.650117Z","times_seen":570,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"525e99684c16907d295ddd82473b3408","sha1":"8be034fd1d390ea633901fb8c1be4c01eeda343f","sha256":"b78837afef36e371c2dc417614664332c84a7e2c27f537edf442e730486b67d4","sha512":"bfb8507502ed1d6189fb1a60a8802458a4cac5584b4e63df602b3ef0f2441a8bbf7d4acd54f1dcec11d6e981de5153f905e672c2dd77bc318589f9c34704f719","ssdeep":"","tlshash":"bce0c0bf8237421019f25de7ce97236ce11d27a00b216c6ed32e9169d426896b258c49","size":346,"data":"","first_seen":"2026-07-27T00:29:31.571342Z","last_seen":"2026-07-28T07:04:56.433204Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"de6dbd97c8dd3a754877fa143cd8e692","sha1":"3e85513884db6ba05f060700fb01a9d7ba26b569","sha256":"8f0b65c9522b9729a962b7920b32d2d389dcd3d319a68e4054dfdd6dc7e00f07","sha512":"b40574e5585be773614350a7d6031a6172853d27d9a33283339591f6a4d2630f1bf3bb891fbdb6c3b2971ced5b76598dc74f3e667bff46c028a224b2bc7c40af","ssdeep":"","tlshash":"3ac012aeb0e187954dc121dc0943569a5a587c052cc9044e5e827368b825447d06cf15","size":186,"data":"","first_seen":"2026-07-27T00:29:31.743215Z","last_seen":"2026-07-28T07:04:56.419788Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f5cb050e3ad0ed3ce59271b07f97dd51","sha1":"1bac449f3080230ba3fdbcaf0b98ccbc33c09d04","sha256":"e2872821331488fa4384f08b2a13050f6420cfe89c204db05be1d46a32c14c74","sha512":"285a9bc45e8f501f09aae916504c806ac2724d0fffdb092195360a8fd3293fba42dbdcdfe49135393686f1127deffed16576c7ab268902bba3ae48a355e85b73","ssdeep":"","tlshash":"d5a01208180d2009041201d5a0e3a00441d1341f60c00cc5b74ec1820b707e1700191c","size":77,"data":"","first_seen":"2026-07-27T00:29:31.690531Z","last_seen":"2026-07-28T07:04:56.464278Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8bcca505f2517c062fdd0ad40a31ac91","sha1":"57cdc3971cc4b708a1d8c95095e37798cae41fbc","sha256":"29e99dc983760fcb49bd0bcdbc2b0ba2dbf3ae44e39ec3610d6b75c037eedfb3","sha512":"ebaebd5882e96015b06bc08ad0584b8a4a475ff6c151038d75f1c972c8223d26288021b37e2137e2823d6f2bfb3307e7def2e9f6c4f70088f68fc2ca5a9665f2","ssdeep":"","tlshash":"25a01288490c440c451215c0f013b40401e0301b80c00c81819d9a8105e03a25013499","size":79,"data":"","first_seen":"2026-07-27T00:29:31.664474Z","last_seen":"2026-07-28T07:04:56.430176Z","times_seen":332,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"92a1f7984eba504b4eef2a9601b5ac73","sha1":"b8bd4fe4f67489638b0ef337ae8c5808bb4f16e3","sha256":"a89aad5cb9834d06e8ebfa5695b54d1ac6bdba2c3deb109738472e69db48b911","sha512":"5a10edf6f9304fb387fb7d6500bce13734bbd73dc7de0ff063c7c7dd9cc53881d92632d6b3fe38b11f2eed01010f1e7112fff046ebf8d37112ceab4abb045918","ssdeep":"","tlshash":"c710000300000000000000000000000000000000000000000000000000000000c00000","size":2,"data":"","first_seen":"2023-05-01T16:31:42Z","last_seen":"2026-08-01T06:59:53.943909Z","times_seen":719,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ff44570aca8241914870afbc310cdb85","sha1":"58668e7669fd564d99db5d581fcdb6a5618440b5","sha256":"6da43b944e494e885e69af021f93c6d9331c78aa228084711429160a5bbd15b5","sha512":"3c266c0035de59eab2a0dd31b3dcb4a9dd157b310289e5db9ab4f8c2fddb7433466d48f25da7ad735a1cb8f2935aa612ad1f62f0efcece3933ba9979082e2304","ssdeep":"","tlshash":"c700000000000003c00000300000003000000000000000000003000000000000000000","size":1,"data":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.865044Z","times_seen":509846,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1bcb2103e54b2232fa4f021206aaac2b","sha1":"f4a82203a1cf8c1edab9196faf9ea4c80702945c","sha256":"6d4e2e52887ec428faa4fc30712686fb68783e56095063b47ba21383eda8a21d","sha512":"2e0db6eaaa8d239513ff121ae21c835c93ff4ae1909f817b58f89270d5d03020a47f84acac253ad0a78ee39bace86ddd6962a39845fc0653f0855ce4699a34b2","ssdeep":"","tlshash":"12b012887d3ccc85619518c8108ad00882422c0310020940e01fcd513770d86304fdad","size":92,"data":"","first_seen":"2026-07-27T00:29:31.615229Z","last_seen":"2026-07-28T07:04:56.529124Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2c689baf336c49be53a9275c253d1a70","sha1":"dd68ef00c84c558efd3f770fea0b318bf2ab0b6a","sha256":"97bb6dfa3147dd08017cc33aa96112967d73d13ede8553ef11a72329ea09625c","sha512":"80fbe90ef940729ced075276b278eb21e7b836333c9e39caaf13ca7fe47e6dbbf00e4d15e77334813127329ccd22444c254b940a109f0fd3ef7b531036531346","ssdeep":"","tlshash":"27c02bf6b1b72404c390f01700324300d8a90c48c704407c8043a01dfd61309c97cf42","size":132,"data":"","first_seen":"2026-07-27T00:29:31.644173Z","last_seen":"2026-07-28T07:04:56.470348Z","times_seen":318,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5f1b1fae88e7c924e78f29b246f89be","sha1":"0803ca78502f773ba3c00003fa5553356186c5af","sha256":"6fea8a9519d7077ef74493d7d9adfd74ce31b1b351246358968fda26029df9ac","sha512":"a604211ab03e82aa91e6ed1e954a9ca6052e3a8e31afd9cda8754e80adaa33e7c4434f26e94cbf11a42f64c72e41902cfd142401d11d3e3a1a427e9ffba80146","ssdeep":"","tlshash":"f98000a82c08a080c00a3a20000fca0c222200a800000a0320820aca0f33cab8083c0c","size":26,"data":"","first_seen":"2026-07-27T00:29:31.597711Z","last_seen":"2026-07-28T07:04:56.444388Z","times_seen":335,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9706fbc074ca558823ab699e88c416f3","sha1":"444f28608265f8b73bc6df02581043ad54608a94","sha256":"4d8a4fd940462430cc488836bce6260af85e699db93794d73f42f068ce95832a","sha512":"4abc154be2b80d94ab621e5ba14a65edfbc284f509395db52a828b35643c42bbfb37d163f60cc7308f24f8636dcf35e76512e317ca6fa6ef17f0117dc264d147","ssdeep":"","tlshash":"2190029662837010119568138996646a5969694528041965804521da2cb0027e221e0e","size":51,"data":"","first_seen":"2026-07-27T00:29:31.708907Z","last_seen":"2026-07-28T07:04:56.502136Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bae3f90cb000352645e35fad60da411c","sha1":"00023f94c170125b979cb1914925d06ab1abfbce","sha256":"1e3606d95ce27d593157594820335681a9380f51a96147303cd8000e60a95e12","sha512":"d83d07979674822b4c966ddcb3bd4feb84830834e1f9fb255774ae237056cc357599e3aab9c6f47242aada2148a65c9ea11c859b1e8f550004535cc363fa02db","ssdeep":"","tlshash":"03800000203008388088000f3032cb8afaa0a22ae2322800c8a88c2cb0e8f80ba28838","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-19T17:30:26.39087Z","times_seen":187246,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"8113d0994bcd4e948d77037120a9513d","sha1":"0c365cbaf626e00f8005a8f249ac290ee5baee2a","sha256":"03fffb28b682b130f794ae45c22cff4ac4d84a8a7778071709e6180da2d8380d","sha512":"64af94599c9975267ca9ce684726d7291a0cc0f74a1ea16a14b37e1e4ea4255b5ca1bf2922360a1f52a72dd8cc625b0fb1421966a643fa3b2d5d218e720109d1","ssdeep":"","tlshash":"d5d0a7a220dcec349e96122034352a76d55631ecd0a4c04873ec9d550366460130947d","size":258,"data":"","first_seen":"2026-07-27T05:02:02.592209Z","last_seen":"2026-07-27T07:25:28.943921Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","size":194344,"data":"","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T19:37:31.609707Z","times_seen":2601,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"672b9211895a127e2ceaa149bbe7a59c","sha1":"904187b43eaae97d99beea75a02d51824ea35ada","sha256":"6cb0b848460e2526a49e15d0b007b50968470ca4d17b3d08980bfab0cfe34d04","sha512":"2a068e10b2b370399ec0fe4c6655f16281d35980c5f515308ad97dd6fcd0bdac5d4cac1a5ca1916671c6907c9915f530353d40ed92e6ff46146b198591183fc3","ssdeep":"","tlshash":"e4e0cd7877455cda49cf74495345704a555d5f52fc2caca5810050f0751e91feb8c43c","size":297,"data":"","first_seen":"2026-07-27T00:29:31.621583Z","last_seen":"2026-07-28T07:04:56.544453Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"dd9ac26fd4e46f3a73d20975f620f2b6","sha1":"b9739f7859dac8196b06390ce579d14da84644d6","sha256":"08de55088ae96e4867cf521fe3348b7d212be41a530d2aa80fd26483395189f9","sha512":"7bb1358411aa9cd856c410bc552027d2a292e1a8b7a93bbfc94cfb8a83015bb907b3baa9d7ffa523ed7d4c7213cbda309aa23d9ecf05506e8c14326ea5068427","ssdeep":"","tlshash":"d6d09708cb48614abc11c8e421e1fe7c60ce8c2f704009c2b3692d201ebaf23e0ebd0d","size":258,"data":"","first_seen":"2026-07-27T00:29:31.679419Z","last_seen":"2026-07-28T07:04:56.435273Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor5f93.js?id=0f8d2e9e1064428d3cd0","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b05e6e56c96632e5d82f7891f97efee5","sha1":"f269eec4551d2d1ab6cd388ad4f74a7aafb6f3ad","sha256":"6dbfc03e5fe5a54811ef6d643184b2926e0e712407ede62e52688824dc1cd6cb","sha512":"fc28be0df0c07aa99f888daa03a2303f9e294bd311a2ef5238baf46c48986c7b8b0e599fb52e9cfa0fc31ab7011a7ddace782bed1fc9f8fe7e6c6ba809e035c2","ssdeep":"6144:uhAW02XIHmcWPoS+/fL7/Xwzo+Mkhdk3A8JDY:A02TUD7/XWoGhGdY","tlshash":"ff7409ca3359b63182eb60e6902f120bb33a5a596404806cb53cdddd6d7cd8a7277f39","size":340998,"data":"","first_seen":"2025-10-27T18:25:33.042269Z","last_seen":"2026-07-27T07:25:28.817915Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd4496eb0285aba06273987971f6063a","sha1":"8c7d085c9d54b41debd437430b6852de7f898857","sha256":"f2a353ed5469812b863c5fbeb58b4d46b864ba4e20a49f57f9c44c7cda45f46b","sha512":"ac6567c456643fbfb8ccc60e9f3695cd5b6fd80f8699277093e0d9ca898bfe4a0fb6dc848ec48f6255d0a9eb82a6e699cf2f977aa502120cf9b8caa121f6f3fb","ssdeep":"","tlshash":"5580000000c80a2eaa80822333b883a3b8a80aefb032200080a88c28800882800288a8","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-19T17:21:13.862092Z","times_seen":112533,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8673dabfddfa6347e822f593dfa1d916","sha1":"24feb390ef779b4c8d9596eceb50bba1d0ae03fa","sha256":"7418d3cb701381f05be89fb705d663a4455a26035c0dfd80576a4f716390454f","sha512":"236700f570a1ce92777c3f878d6fd174732a5786e1004dc4d95fea38b679de84d97a3de2f4ad7915815087aee4682b47e471113e9e6fedf69a85003e6c728e1e","ssdeep":"","tlshash":"c7100000000000000000000300000000000000000000000000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-26T07:09:39Z","last_seen":"2026-07-28T07:04:56.429354Z","times_seen":2856,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1fff332780e527639f64c89183f49b53","sha1":"e9c0d16f6e00accc87eeddec9845e7a9714f282b","sha256":"d41142433105e76432dcf3234e68b7bf2d11ead80465d9d13da9303ca72504b4","sha512":"b3edbdd776178eba7eef0a761a0ce926f74d982caf23c61f4d82e17a12cacc50dc1a00dc0418c6fc90e3af287a4cb73ed79763f80a6bfe97c3dee08903e32ff3","ssdeep":"","tlshash":"c71000000000000000000000000000000000c000000000000000000c0000c000000003","size":2,"data":"","first_seen":"2023-03-10T13:21:30Z","last_seen":"2026-08-02T23:01:01.276572Z","times_seen":4252,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"20a8416af2b17d630eec21a003e46152","sha1":"03d141aee4824bc2ccbfa6651dbbb53901c31f38","sha256":"fe0405628d7fe64ceb66f72ec0136c6a93cec7ae3a389462a169d0ea280f9aec","sha512":"93ccbd7eded70fc31497e79b215e5f104e37f993f590d5d502a7513e5e5b7a3f1fc921cf9b27a9f494bf917b9613e03167c324a2415f9293d0338cd2ab86173d","ssdeep":"","tlshash":"68d02bf74c79013f021f1bd5b6d7e1ed61da32ea25564b0dae74d1d4019449ce1c4e47","size":287,"data":"","first_seen":"2026-07-27T00:29:31.612434Z","last_seen":"2026-07-28T07:04:56.502942Z","times_seen":318,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"af7a45486748bd9d8fbc1e8988c8de2a","sha1":"aec443b589dd677d524f4b38c72cb09cc3888334","sha256":"ed1e0f33e73696fd1e79db950560ceb5d1acf35ac4fabe43a7c5dcce91d90b11","sha512":"f23c74a9079059a09918e9f5b8c37887ba9bc93f6ec84f38c589ae0aba5a0d8367d9c9631800ed45ca46e444247df8f62aa0974859e04a7501621ebfb0923b05","ssdeep":"","tlshash":"afb012ac9fc4c46ca04c08782887ea042089640b40290941b44696211738c8a20e08cf","size":93,"data":"","first_seen":"2026-07-27T00:29:31.71769Z","last_seen":"2026-07-28T07:04:56.508247Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-152f4.js?id=e5ad66f4adccff7218db","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"fea56fd96354fa39c31443bd64f33113","sha1":"3ec554ecbdcc734a7c61d206ae32823ec35f481a","sha256":"030cf31881ec06d3f5088e9b910554abe754f95a1d6569cf9f1685772f0ac65c","sha512":"7bb391e29c03ecdaa60d462fcb1238370b978ef5bc9e6b4727798ef1bc27cede2c132f951974eaca92890b764f26ccc5b4dbb89724c1dcfdc2a6db88afc5d999","ssdeep":"3072:Llj/xczFkGQyzrERXR+Wc2eS30qfv+O+Kqx7:Ll/UkGQxyWneVdVKqx7","tlshash":"7a140899b1c6b03547ab2075506f040bf23e6a69a40ec4e0f179e8d5bcb884e917bf7d","size":208612,"data":"","first_seen":"2025-10-27T18:25:33.062235Z","last_seen":"2026-07-27T07:25:28.833219Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"050e1c22f7a12bc8867a7fe41d70a49a","sha1":"b9de7654a728e7ccd8cebd8e990a2f29e1ef4397","sha256":"0891030d3deca893e178c2e5760b57583e4ded2e3418ab45f1799749e337fe1d","sha512":"fd65a1dc9f76398371900c8a8f1d3581d6eb95cb39dc6b927ab63cb1bcf5b949e8291900c4dea6d0ba9212f5b9ae59990b4f8bf841fa3ba9a25a86338213c3f7","ssdeep":"","tlshash":"9ac08ce9b2a25864c3e0a82b21324200d8aa1d488e0040b5c102f448fd90349da6df81","size":146,"data":"","first_seen":"2026-07-27T00:29:31.706316Z","last_seen":"2026-07-28T07:04:56.434011Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c942bf5ed0077692b061a2841e8b8cb4","sha1":"a85e0c0acc865b82b611bd50c830e1d3356f597f","sha256":"1acedf979cdfd53874c7a2bb299396dc38e51507d794fe9e03e7859afddb64c9","sha512":"8cc17c8a1d7734d111ee272597b349b7e235837534bb5f289d8102e1108aee727f9668eafda41794232178a7f177ff01d6652a935185c52885d4393e65f022c0","ssdeep":"","tlshash":"948004047d541440105114500047044f011315d431530434151c01f55c311553101d7c","size":34,"data":"","first_seen":"2026-07-27T00:29:31.605306Z","last_seen":"2026-07-28T07:04:56.408068Z","times_seen":317,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"170fb7cb50cd42a959632f2f237eff01","sha1":"e56f7653bfb3e6539d1eed96f14084a0b6532a1d","sha256":"a311aefee43bb33374c671d154cb766d50337de09461089392fed54821b0587d","sha512":"cf011634cf35733360219dce59473d9d0309d445bed06724456cfc57c94cf6dd0bf511a79c458dfeb04e6b6ec3ac0ca5210ede49cb8f2e9088a6610e3d2cef42","ssdeep":"","tlshash":"1ac080ea59545236c0664c7347874d0ce19f915304b76fcdc47450483374b55d005a57","size":173,"data":"","first_seen":"2026-07-27T00:29:31.675624Z","last_seen":"2026-07-28T07:04:56.460875Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9cf78eef34d81797843553088423cc4c","sha1":"4c318f4848444ebeffd7c3ec362e7a5d9d8dc1d6","sha256":"08cb761b3122248600905b315d7839106f6090b3f0b7496b3d6f817a15fa134e","sha512":"c64ab5ad79ad42752434c79a13f34faff7dcbde611281078b2454feec5c4ee3b34f5ea2011a402792e0828759876b339dcba5c7a09a5bd2ab58c9d7891b5c2bb","ssdeep":"","tlshash":"0bc08ceca97db246606b6e8c900322181763960fa4402854c51592413a33a06a50f9bc","size":160,"data":"","first_seen":"2026-07-27T00:29:31.613797Z","last_seen":"2026-07-28T07:04:56.409749Z","times_seen":336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"d667292ef9f63129bc20e421a52ad93c","sha1":"f617969088ac7d936b7856b9f69d8298a76cbf68","sha256":"08389e2c9762cbc91de89818c768075dfb9b0a23e9278563462d663397958653","sha512":"f306c9ab4aeaaed07ac4382467e9af7f15c07f3e46b1b2b6e17ec86d0b89ba7405edad1481f68f89da6950ce44bbe95be87a864f5d702b53e6f6f47784c2b60b","ssdeep":"192:r8vfUWgHzv4UnU0uIU8Un4U8cUWuIUGUfe5jUWgHiLav4UnU4uIU8Un4U8cUhuIP:rn","tlshash":"d202b057187ef6b6cc03a622591dbbf0c85e29ead02920d1b97ccc2493d8de1271e67d","size":8836,"data":"","first_seen":"2026-07-27T05:02:02.502447Z","last_seen":"2026-07-27T07:25:29.065764Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64d8c858156192a16a990983d35fb3f9","sha1":"1ae03179ebb040c510ecf6f785c0002f21932433","sha256":"bdfd55577f7056ab007e88fcfe9352e9805fc05f504131193cbe81c001162fd3","sha512":"e6c8b62010e24ed3c7a59b3d92aa3165bc2270274b755e8ecee06a238fe29682b08510402a6e8b7b3f85027d7e403447ed4694ec2bc43c136d5c0f1cb1b3f23a","ssdeep":"","tlshash":"cd60000c3f003000000000030000cc30c30cc3c0c0f000f3c003000000000000003f0c","size":15,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-19T17:28:48.132477Z","times_seen":175364,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0e9786cc26fbeacec181934a90f5cb6","sha1":"984c0dcbf07ca50a8b5650ef3162fb20f1dd1e83","sha256":"3882c3fec1162244ce29938529c74d5bfc8a6a308c2f75e9db60fa781c43c4ca","sha512":"2e46eca652a486e7f7bcbfdcd8db6a2023944e2a52f9cbd5930ff5b832f7f30a0b388dec9d365a931286d4d665eec10a397f88109ad48035120f91876e319046","ssdeep":"","tlshash":"c710000000000000000000000000000000030000000000000000000000000c000c0000","size":2,"data":"","first_seen":"2023-03-07T23:41:36Z","last_seen":"2026-07-31T01:37:57.594574Z","times_seen":13331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"33268455bec60d6e8b3106cce5aa8191","sha1":"45f611b7e2afab0b79cb7c1e891ac6f46b704904","sha256":"d29505fc15b3c47068fee2bb25e61c381c102403dffbb1ec744be884abc6ac11","sha512":"0ad3b2296b8eabcd70e3228bf25c165ad265cb0ad786a5d09ceb2d4a7158975a6bf6961cf21d00e9c04343ef1d54c8025b6b894a29235e8627a08aa969ad7d76","ssdeep":"","tlshash":"baa02208080830a200a2f000b08b0e0880c0b083a0380000802f8e8e033202a200300a","size":59,"data":"","first_seen":"2026-07-27T00:29:31.633857Z","last_seen":"2026-07-28T07:04:56.458886Z","times_seen":321,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5d6bee325faac2b32bcb0e2e91d28f80","sha1":"6951adeb52891128e58c508122c2fdd5ad73f6b9","sha256":"deaced38fb4d3946d8411a171331199c7c969805c9c693a317b0bdf65be9808c","sha512":"a5a1b8023ec5550cfb6dea5cf1b51a557281061d6e24883f3b53c230b3bab0ceac32f2d965009e9db56a0d430e69d1b0390d9c76427a673a7c90310b5a77db7e","ssdeep":"","tlshash":"04c02b584ccd40cf98065060a403410410ce745b90a40842c9ccce690720b702078ccf","size":133,"data":"","first_seen":"2026-07-27T00:29:31.574143Z","last_seen":"2026-07-28T07:04:56.524228Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8478d74bf7cea5b04e006a4d011174d3","sha1":"6617255ad32a43aa5bac9dbae30b6eca48b582a0","sha256":"a35339f2fdef852e886273a34f027a411bb24f3bfeec4df99371a4527957c214","sha512":"2b6307facb328fdb109a90fdc9780af9b23f98ac0c83d8932584f37cb88dfa48a690d49efb66c7284fee16fdc65023efdd7cc1adfa2805b82a51c1f60da40c5c","ssdeep":"","tlshash":"53700088ac88200000233228800f0e080222008008200a02802230828c3300e0022828","size":22,"data":"","first_seen":"2026-07-27T00:29:31.632649Z","last_seen":"2026-07-28T07:04:56.419012Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8068e72f40c4375e43c37c90e99ffaa8","sha1":"ad28188377983d34c15b611a4d9159a1788d37eb","sha256":"1810222814dbbe773db469259323ed099f3ce9f34f5f25eddf05d66722cc9add","sha512":"87052fde717fdef92c9683d0dbbe6e369ffae4c233b216626531608873385b18b0e45766b393f485d0224a7d9efbecc50eb9aea3c86298509435be7ace499f54","ssdeep":"","tlshash":"0d9002a82c65745101556110c55f467566572597d4884141f452da7b6c309194cd5495","size":56,"data":"","first_seen":"2026-07-27T07:25:18.033411Z","last_seen":"2026-07-27T07:25:18.033411Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b2f5ff47436671b6e533d8dc3614845d","sha1":"54fd1711209fb1c0781092374132c66e79e2241b","sha256":"cd0aa9856147b6c5b4ff2b7dfee5da20aa38253099ef1b4a64aced233c9afe29","sha512":"19f142b018f307bfdf1c7009d15a29417c96d8678d2982eebce4961b2e67eeb118a8ebb1d75b70087c3e65bc793450e3fe4a10002befa2d038e5aed4796937f2","ssdeep":"","tlshash":"c700000000000000c00000300000000000000000000000000c0000000000c000000003","size":1,"data":"","first_seen":"2023-03-07T01:15:11Z","last_seen":"2026-08-18T02:04:39.01802Z","times_seen":53455,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"43d936683a74f717424b20bb2cd4f0a9","sha1":"14b0065e083c5180bc57d3cce2092e116f2d82eb","sha256":"f29458568e1530958b457baf622428227531bebacffda294b6d6441675e7b644","sha512":"d45c6b7571d6fc0eb1a54e8eb551bf84532f931fcec92502a1330b2e7ecb50b4393cfa779f3b45085f6e5c371e938e687ef3a610ff494c1c60e0f297435685e8","ssdeep":"","tlshash":"c71000000000030000000c0000000000c0000c00000000000000000c00000000000000","size":2,"data":"","first_seen":"2023-03-13T01:43:35Z","last_seen":"2026-08-12T09:08:08.574537Z","times_seen":4204,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b1daa0f419bad4fee11d1830f76c241a","sha1":"170dafa47acaf253b64d8bc3016a52a381a3f2f2","sha256":"ea59b0d1b997b2f6c07024a837533b6e934f64f3807eccbbc0a1f7f1b2eeaa78","sha512":"340eb61e023dbf69b13e971b5104b1e067474897e4465aeec2a0c8eb6018bafc2b3c7effde0697c7007866bf235865ffbad6af3e8037516847e6491da2da90dd","ssdeep":"","tlshash":"a5d05e37d03f9368676672983cf7869c33e0a2742862a8ccc2933c14d9950c7e08a9dd","size":256,"data":"","first_seen":"2026-07-27T00:29:31.712509Z","last_seen":"2026-07-28T07:04:56.476577Z","times_seen":318,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b640f7845a4341a89d25c0ca0f9b26f4","sha1":"5b98b63751f6e77fe954f5b95388d615eb263003","sha256":"3fdecbfeaacc1474406d975d54141cd22c1be7ed72ccf31bf23f5304e2b50164","sha512":"ec2592241ccbd9a0e93c49ad07121af8cb3acb2a4d8fc25e4f4599a1052d1fb51c9ef8538ac383c52e1205f9b6a17525703f2c4d4bd0d69fc090c04f93943066","ssdeep":"","tlshash":"2dd02b38e11c422b26970b4197c2183b05004642dd011d7b2eae28eb7044c9a9a1481a","size":256,"data":"","first_seen":"2025-03-17T23:26:20.961709Z","last_seen":"2026-08-19T17:30:26.40931Z","times_seen":170854,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a4d9b5501294e7f7449a79b22b21e5eb","sha1":"1354467848747256e51a9a6b2ac961ebfc54197b","sha256":"051b0b66d998b6b7f8f66d0a6ef99271b61799c668c6799df6a0755a2843b51c","sha512":"f8daea8c9048bbe6ca8ae012ce51364ab8f8b33cee83e333ff79385d953f4e9f8cb827cd74dce9faffef57547df485808b654973b99c727a2bee685a1c9feebe","ssdeep":"","tlshash":"c7c08c312f39682891a16314b9bb0c0298b0424058ac194c4f01a848a6f8f0c008ad40","size":155,"data":"","first_seen":"2026-07-27T00:29:31.721669Z","last_seen":"2026-07-28T07:04:56.413179Z","times_seen":335,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget.curacom.io/js/widget-1.0.0.js?id=eR4o9KNBzeEqKUUQg3ZH3EN40UlcTeuv","fqdn":"widget.curacom.io","domain":"curacom.io","tld":"io"},"ip":{"addr":"172.67.178.129","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"d9dbe7bf2b3d82aacab06993685b5c2c","sha1":"a1aaf0caf5838273a15c318851cf7d514802e66a","sha256":"d055d26adf2f65b6ab0b68b0431588912cd0dd51991d2ed64449bd7439d10026","sha512":"34d0f2a26dc05c1fafc7a592cf7180bffb9d4cedec040ccbeb98b90b19f58121b98d057cf4c66b9dcd5733b2af39b2b8fff39efac9d929ffc3f4962decc8f70d","ssdeep":"6144:T+Yqy9ejkyNzqBUglYtzT1QVRSf2/5Llz9Lcf29g3y5PjHEda:TRqx5wUjr294ypr/","tlshash":"82345ad87192b06243fa20f1847b4107f37d2a55740cc4a8b2aceddb3d69a89917bf79","size":235793,"data":"","first_seen":"2026-07-27T05:02:02.443456Z","last_seen":"2026-07-27T07:25:28.882219Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1530dfef260a42c6cf4ae74e3b3a0ccb","sha1":"65d508f3134b2fa935267af6ae5ff74065af1ac1","sha256":"aa73448b0997636c2ad8130d820f28d761120fbbf441fe39a79700d729a1968d","sha512":"a03dc4c2521e4da4a2214b3c814d6a9a72a790b033ecf18959ea623f3922ec89ecb3778ececf6e6c47451f2f5a3e620210497a1b19fdd17bc9635cf760319d16","ssdeep":"","tlshash":"32e0680f69a1535f48e400c4407707716e640902bc84e9bf8c05e37e86187c3d0acf18","size":378,"data":"","first_seen":"2026-07-27T00:29:31.558429Z","last_seen":"2026-07-28T07:04:56.480039Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4aae7fd3c815b1cfa3660cb3227a214c","sha1":"4531c0c13ac8462f9dd8f0dff0e13b1c3e150bcd","sha256":"cca00c516ba05df351915a75df4db57659d685c5af3622cedbba3c6b626af2a9","sha512":"c2f67d5e011e7ad703ab55ea89f91fff91b4245f5294cb73ded819757eb158102fd038f24b175c1f6eae717100cd63d9e9529cc90d124cd90a26ab4a1f650d4e","ssdeep":"","tlshash":"4d50003c30003000c0c0003000000000303c000cc0c000c0003c03c0c00f0c00000000","size":11,"data":"","first_seen":"2026-02-18T03:26:52.257023Z","last_seen":"2026-08-19T17:30:26.344652Z","times_seen":87023,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8277e0910d750195b448797616e091ad","sha1":"3c363836cf4e16666669a25da280a1865c2d2874","sha256":"18ac3e7343f016890c510e93f935261169d9e3f565436429830faf0934f4f8e4","sha512":"48fb10b15f3d44a09dc82d02b06581e0c0c69478c9fd2cf8f9093659019a1687baecdbb38c9e72b12169dc4148690f87467f9154f5931c5df665c6496cbfd5f5","ssdeep":"","tlshash":"c700000000000000c00000300000000000000000000000000000000000000000030000","size":1,"data":"","first_seen":"2023-03-07T01:15:11Z","last_seen":"2026-08-19T10:37:18.731558Z","times_seen":58282,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1855a87d3f4aba7953ed6c6e95765678","sha1":"85431e8e30b87b1586c77c00e648abf3419fbe06","sha256":"d6c53d15606a1331049401414384be2df5d32c371224c85b67a7f3261546ef67","sha512":"ff148858ba17f8fcf680b3aad0e26f16eeb5e5ef968b18f3c730fca8edc1213ed09dcc4a591559a4eac96e2513f2d61aca8000b202d4b7fa9f2d4c6ea3337dc9","ssdeep":"","tlshash":"7fc092f6927ae822808ef272894a0538a10ab49a581d1c8d6605f568eff5314c269d46","size":135,"data":"","first_seen":"2026-07-27T00:29:31.746576Z","last_seen":"2026-07-28T07:04:56.482585Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f465da03521180d47c811a98c793a2d6","sha1":"9b76105ff4c8bb84cd630914d772f4cc73df0155","sha256":"e8183224e440eb4578fd87c4c47735f9ede4c43b1c6ebbdcd7033e98aba6a009","sha512":"b10685b1bf88080c98cfa2493e4c1734797a6ee17e9d59ddd7cbd685a9596d4c908ac2a12be9ea2aed3f6ac67ced98f3c6e76b1882f6c0731d1dd60ae5de4156","ssdeep":"","tlshash":"7450000000303000c0c300000030300003000000c00000000300c0000c0000c0000000","size":9,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-19T17:30:26.391888Z","times_seen":188657,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"0adb318cd97b677ad77770d64e7278f0","sha1":"be422bca78661e3f522730e375beab2d2305e6ad","sha256":"78dd0974040a042fa65977fea57c3672c33d21d3fda0504c4a84567c0712cebc","sha512":"f488b6c356c660abce9a9bf2980c96241c4ce3cb4c15d8dacdead6a8a6e0d396851771c71cb2265ca55ca29bd3914ae78fdcc5883344a80759b3856dfcbe49d0","ssdeep":"96:r8rqlOl+Et+QqLZu/5B1xFF9CCWQt8Ja8EoQN8Ja8MeIHY1SkXQ18EGmmo8m7GHp:r8rYOl+E0QqLo/5B1nF9CCv97J9jeI4b","tlshash":"3ac1ae6a16bafef6cc065402106ca7b0c9be1aebd02164d1f5becc2492ddca0171f53e","size":5740,"data":"","first_seen":"2026-07-27T05:02:02.519505Z","last_seen":"2026-07-27T07:25:29.081805Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"54dcd25b79e8126fdc7eb163b65aacb6","sha1":"b631cdc8175af8445e88aacfac1a02d520b2f7b4","sha256":"ee5310f562dc645ee0950027b6703bbdf7d9fb95ec42e84e64743c560be79215","sha512":"dc48a7f54049128908985da1057721bae35070347b7a82528da6ac16470088ec5681021ed23711f58d098dd06f6a1c6b63d46821907c6e6094b35c8abcb963fb","ssdeep":"96:rCg55yZQXt+yZQXO+yZQBH+yZQAH+yZQyE+yZQGyH1Eglv4XDmQizw:rCQ5yat+yKO+yQH+y3H+yvE+ygEglumm","tlshash":"2ea1383619fffbb5dc468821050d76b4cc6a16abc57891c2babc8d2093e58b12b1e53d","size":4771,"data":"","first_seen":"2026-07-27T05:02:02.569057Z","last_seen":"2026-07-27T07:25:29.052922Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"93f7b592f2574e498c25585a59934906","sha1":"0614689e2e7cfe9ae5beaffd1c464f07ba7a7ea7","sha256":"b1aa91332810bb2148e37c657e0665bbae437082b77e63ca7108b65921f65c27","sha512":"d56f41933833fc0762b26704637be985f4d81d3b9efda7b55e249c07b1d3b80e73e36197d42b98277f15305d4e81d52f4a2b93d1576709a890d862066ad3abc5","ssdeep":"","tlshash":"72a002bea416f810242964a8968e149742d260479099adcdcc29d5446e55154d149998","size":64,"data":"","first_seen":"2026-07-27T00:29:31.670787Z","last_seen":"2026-07-28T07:04:56.503708Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37a6259cc0c1dae299a7866489dff0bd","sha1":"2be88ca4242c76e8253ac62474851065032d6833","sha256":"74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b","sha512":"04f8ff2682604862e405bf88de102ed7710ac45c1205957625e4ee3e5f5a2241e453614acc451345b91bafc88f38804019c7492444595674e94e8cf4be53817f","ssdeep":"","tlshash":"b9300000000000000000000000000000000300000000000000000000000c0000000000","size":4,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-19T17:41:51.13976Z","times_seen":285388,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2cc43ad532377e05783b919d86a896d9","sha1":"69e00bdb15ac21186c8d27764e6311759ba5b99b","sha256":"007cd5f5a967155b6963ac5de46c369ee23237414c3f576b4197fe46229808ce","sha512":"404182f4b51a22a4a35e58480d372a65db2465803ca23913e379199413edf84fa74dcf0f92026d8561dcc35bdff981cb98a38c8f50ae05f7224e5c7b42b30c92","ssdeep":"","tlshash":"2cd022c93c4978d20279238888ba01f7e2fbb8dc78068b40c32442002a3ca3a5464402","size":199,"data":"","first_seen":"2024-10-31T11:08:50.83142Z","last_seen":"2026-08-19T17:30:26.378917Z","times_seen":159696,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-3c2aa.js?id=7f8750b6c1cb23972095","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"43ef234ec13be17da7bf7382abafc41b","sha1":"bcfebe343797277b2a01ba2c76e281c182abcbee","sha256":"23692c08be77fc0d901b09856cb00b6c206087c64cf654bcfb50d436d86a6d75","sha512":"48728c83e3e9ad8e2236c078d60c292e4217fd6c97abb2268fccaa5d4edaa4a1c3261246bd7516f8cfba297d9a47abd92539ce046ee8e2e6ce3e2f9a07c4573a","ssdeep":"1536:6ytNXZKosuTSzbU3cKu8L/SWi+Q2GsY+n4/RWbxocBWYXsngS6BAATb9FT3rtnK3:jayS/U9LlXs0hxFT39wbaEYDWR","tlshash":"6fe3e88d72d5b462439b607a807f450bb23a1c8da80ea018f69dd4dd7d78d89623bf3d","size":156371,"data":"","first_seen":"2025-10-27T18:25:33.051384Z","last_seen":"2026-07-27T07:25:28.865548Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"90eb8e6176ec2db449b973749c08f6cc","sha1":"ba5f15b9b337f2ec6371e30b3ca0f70858136c52","sha256":"9ee3a02208f34973ce99f07605977b9557d786c345832252bbd13c9e3ad6b014","sha512":"35b9aec976337e214711f7003c87637817a65dfaea02284a7a0d4b00bae89b245ae3e20d3a02471b0991a1f95db9c4d476cd4aaa599ef780f64e4549125d63e1","ssdeep":"","tlshash":"e1e07dd020025414848d8996f87f232ba960fa62d1440e69d843d7c35f200c3ead3537","size":325,"data":"","first_seen":"2026-07-27T00:29:31.587207Z","last_seen":"2026-07-28T07:04:56.445975Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2fa55cf120cce28707af1ba6a6235bc1","sha1":"65c1c8c828eceeeb4dcfef82e3233d93d4481d4c","sha256":"3e392b8a407e240e3c6ba3bbe6ec68cfc5564083cbc01a721d8b7e24f458bb67","sha512":"96756c245788a6f83d9f8123c7b7f789bdca00d26d02fc822e8bc40c5798223eac50768284955eb23a66241f6cc9edce8ffe6943a9fc87a7a12b9fbf795f0a6c","ssdeep":"","tlshash":"ccf0eb2b914f23ad9a8961092ca3ec42383bf8643026446e06dd13f015d06e8e4ece42","size":585,"data":"","first_seen":"2026-07-27T00:29:31.592417Z","last_seen":"2026-07-28T07:04:56.441303Z","times_seen":318,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-473da.js?id=f4f87bd7de8925b6ccad","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"30472921696bc321c338a8f15d2ff9b5","sha1":"67d059541b33921fd9a6f6b5f5b853cf4773cb67","sha256":"417c23c8e938d041cf57ba05dc67ebf37b142af63ff520369201adbf3ded14cb","sha512":"3e8064854f44591eaa17107c90ebbcf43e0fdd00dada4eb47c813387f92fabd4dd868458012603378f789fbd2cc97a0ce53ae8c9e07be018209e926ac2099d8d","ssdeep":"1536:ljMRDDa38NMbkUTIePqwzrwquQNbpYy3sI9SDgnRKhT18Lbkt/K6U70p:lODDyBbHIewquQeZK6U7q","tlshash":"79d31996739530770bc311a1c067760bf3b6456866098018b628c6fe7cbedc9b277bb9","size":135820,"data":"","first_seen":"2025-10-27T18:25:33.073368Z","last_seen":"2026-07-27T07:25:28.877975Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c481888d991e6cfadc55f4153a06c191","sha1":"aa8f7ef5122c65dbbf0b3457f635ea97d9bec091","sha256":"08545c51a27a94b6858fece52b7f8601dc21627a48133f6f783336f862b51571","sha512":"04523ad7fcab32c3c05e262f3c84bca7394483f0f1fbc29c7bffd9f8fda36bb91a00009db85f64e6c4fc704bac3e8e26ad7ee297523377c383f8908377102c67","ssdeep":"","tlshash":"887000883c082002003a3220000bca0c082280c20308828c000000820c3200a000aa88","size":22,"data":"","first_seen":"2026-07-27T00:29:31.747939Z","last_seen":"2026-07-28T07:04:56.430998Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"167665ed46af3eca5e4d2b71345a73a0","sha1":"bee620c4967353bf791caf8049e4e70f63fb0eed","sha256":"18a2b849387eb11339a4b060ce20bf78648182f2a6dbf3434209dd7e983a071a","sha512":"e983bc5808576bd0fbd3bba79806060a1050c0446cc32de41e9a2d1b26a51e48831d19afa8d8246934751930fb5b7beadbfdd72bd11a069edb5ef4005646cdbe","ssdeep":"","tlshash":"0e7000883c08200808323222000bca0c082200c202088288000080820c3220b020ba08","size":22,"data":"","first_seen":"2026-07-27T00:29:31.646088Z","last_seen":"2026-07-28T07:04:56.459778Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0be6600367fee76523db94834295e241","sha1":"a2f2659dc9f4a3185878580210cde1f3e7ad093d","sha256":"e5819dfe160d11a607ca64745cf31e2f79e6d642ee0565aef7eed47c872711c9","sha512":"b83363a5ddb32adea20765f2a926ce5d4998a32d0969a18ec6cea9ca9f8dc9f42641adf366a747ae1c9a2ec1c7cf33d2e6025a719dac017ab8aa6390f7bdde67","ssdeep":"","tlshash":"c7100000000000000000000000000000000000000000000000c0000000000000000000","size":2,"data":"","first_seen":"2023-03-07T12:23:15Z","last_seen":"2026-07-28T07:04:56.458021Z","times_seen":633,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bb2e810ca9cabce02f0227a0a785b436","sha1":"f62801b1fbefe21f6b96033f890b17e8ff642771","sha256":"d9b0cc52f942fbeb4deca6bb2b33f074b177015803f39e625fa1d0aa9fe1adde","sha512":"4125c78e75330e3c17dfc67a055f9698b4ffa1c4c29351f18443d71935f0a4a107c821302098e15d40c800f413cd1db7f14da781b681c95906c2c2deb4137837","ssdeep":"","tlshash":"2cc02b4606010391437f29805d0b133bc1c200073c01284c89f00481e09cf400896c12","size":131,"data":"","first_seen":"2026-07-27T00:29:31.616706Z","last_seen":"2026-07-28T07:04:56.45711Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8d1b507ffa76e1fa8fa03978c66aec23","sha1":"a4c81e0e2494de576355f91584e8c90b2a4686ba","sha256":"9bde46e1b993b06bd4561dfac0ed227b202736014bf06490738b931a9d0be16b","sha512":"45d793e4ed010d40e0d2e27641f87fd41a3b033f978043f921db065cf8a13e5d362e3fd9e9892cdae33e8fd45109bc705d88d0dc38b334dc7d44067ec91a6ba2","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c00003000000000000300000","size":2,"data":"","first_seen":"2023-03-08T10:00:13Z","last_seen":"2026-07-28T07:04:56.497994Z","times_seen":7482,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3506f2c3f0a0c7f4d1c8512a5f182e3e","sha1":"bb601a6a7e14bb74daf05b89b61c2d05faa5864f","sha256":"3ba80ad3d800b4c9bee2ae0bbd8e82eb68bea7dd052701316f4b9f2844b8f5d4","sha512":"d1a8350bc3f975c5b65f170c7766e3ff82767087bada7b46a90f6523334cac06f33fc685ac960c3bf8e48e63b19200c7798cd4788fe56028d94c5e9ae9324ffd","ssdeep":"","tlshash":"39b092d9e2d261b28049898e497aa219e1f23dc06a00247ec2a2a85aeaa071f45bd411","size":118,"data":"","first_seen":"2026-07-27T00:29:31.723604Z","last_seen":"2026-07-28T07:04:56.461761Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"98ade430ece83148aa2ab05e8471427d","sha1":"3099f4a1dd303bfbae77cda007797d763e13ed48","sha256":"bbe7c0ea759e990e83a6c24ceea814b66a2ef08e54b52dc9768cf1b9e8dd9546","sha512":"5e92a1720adebdf897ccc117ab6121187c270393e7558439aeb17c948f868ca8e4763d7a6df3331c0e3c9a96f296be8ceafd1f9ab37d5521107b36c30480feb6","ssdeep":"","tlshash":"65b01274e52754309025b2b5ea7f211cd0b318cc18ea2d84601142c9f9f0784715fd4a","size":107,"data":"","first_seen":"2026-07-27T00:29:31.624869Z","last_seen":"2026-07-28T07:04:56.514701Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"219505d4d5ae5b145370ed3cef98cfa3","sha1":"89498e7304c8074715c729700b3955fc065531b0","sha256":"d298bd11845e65f3a66d13d3a5ab32c91d5430be6dd23c2bb70ef16c03e21751","sha512":"c169611018ff9ff3e5d894a922f07106d329ca6d9668b9dab35bed80b825bbe371edd8cbb5a63171e6f300470e690bf74d7704b7109cf78b286207e396916335","ssdeep":"","tlshash":"314000000000000000c3c000000000000000c000000300000030c00000000000c00000","size":6,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-19T17:28:48.169379Z","times_seen":178604,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3cc690f7d4d0f9d684db14556d27e980","sha1":"3882ed3164fb3beb4bf69440c698b303dcf554ee","sha256":"744a290669e65d4157f7fb236d95c09aeeea78d14eebe23c765dd7a72b1f1275","sha512":"ae4dbd69df8add91de700fccbfdd435716d557e21aa8334fd4104cc66f6b4dafc41ebb883e6e6611c35cb061b5db12ecc8d41805454a53c925f7ca7c35d2f45c","ssdeep":"","tlshash":"9fc02b948d1cdc87050fa4d4140f00197180f5e3564018cce41ed71857204fe20df08a","size":132,"data":"","first_seen":"2026-07-27T00:29:31.744553Z","last_seen":"2026-07-28T07:04:56.407171Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f3cb400ab8db471ab376e67e68db49b8","sha1":"95c5779da722f8256c12d8aed658689bc4cbf3cc","sha256":"298f91269a3be144e0a0747ba1938e2e78e724f973872a848cda00f6591c07be","sha512":"58468d4524d46a3f4dd8901f9fa670774124524509a3c3fc1b7f0cc5f8ea407bae385eb81f422fa2aa0b775c213ab3f8b51b33035a0dad04d78f63e8186067da","ssdeep":"","tlshash":"41a011888a0c8c0c8a2222c0f023b80802e0302b80c00c8282acaa820ae03a2a02288a","size":79,"data":"","first_seen":"2026-07-27T00:29:31.693865Z","last_seen":"2026-07-28T07:04:56.509076Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9ab95f1af82ba1b0456232030e52b20e","sha1":"2872b47fd0067d16748856546bd53e99995ea52a","sha256":"8bae950c98153b70946a1dce7a63de32802f6d1b268c5b88faa8e9f80aa2ad9d","sha512":"6bdf046752061ce20a27a4ff921a68f42b2c6fedcf8c55f94f400461db0aee984f499969ff7d0422cb97da033d1a40234d865a6ce3e060d60203d462d9b29264","ssdeep":"","tlshash":"5cc02be6b1b72404c390f01700324300d8a90c48c70040788043a01dfd61309c97cf42","size":130,"data":"","first_seen":"2026-07-27T00:29:31.658738Z","last_seen":"2026-07-28T07:04:56.428017Z","times_seen":332,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/-kKZYXbYL1zKddVWiRpKQAs-FFrmXi_6UkcmhFlYLos.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.156.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"175c5223286c359a85dc124e70b631cc","sha1":"9783da70cc4ec9e1ee0345dcbad47674d41c5ed7","sha256":"fa42996176d82f5cca75d556891a4a400b3e145ae65e2ffa5247268459582e8b","sha512":"cfa0f26623d1cb13939c7b675013156701c25016a2eb9c8fe728cb97c652643368bb57914488e6f2ad40d97606a7cb39396905dad46897148f68f353b80b2d82","ssdeep":"768:jcaBTPMErdYHnCuKN9dPS5oPX3zp76JSAZg+hCU7aeTEPecnjfJG9CwaebQHr6na:jcainjK1pHh6i+9aeQmKSLQLOEEK","tlshash":"cc532aeff2d273710de665e2045b820d92be75525c40189eba05e7f86eb0c47e02bf29","size":62145,"data":"","first_seen":"2026-07-22T04:26:21.664288Z","last_seen":"2026-07-28T07:04:56.300909Z","times_seen":362,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cec2466c512046247fcee7b41d4febff","sha1":"f435166429f9f6b17d5e59bfeff477d80f41092f","sha256":"2c91ca6f50bc77f02def816379429b411ee5dda90eafa7e8c149a725032810a5","sha512":"6db7c130dc0c2403960e22dd6e2918ca808a4e7dab3044d5d4cce10fa832a1a5e1f38396e11c19944f02d7420f9c1f05a1320a558a071be858679e347655b68a","ssdeep":"","tlshash":"3bd02bf74c79013f021f1bd5b6d7e1ed61da32ea25564b0dae74d1d4019449ce1c4e47","size":285,"data":"","first_seen":"2026-07-27T00:29:31.745602Z","last_seen":"2026-07-28T07:04:56.481731Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2ae15878b48be1c38e824af4f23c5ad9","sha1":"724412ef28cf96860378b5c180e38233aa03ec7a","sha256":"4a524fc5a71de66ad3e5bb071a47e56042edff624f091244a347cba1239cf44b","sha512":"35afb14c9840b51e98b6129ff8706208b2f450e423f443212d483134c5a77148cc1114791ac96791e5afc3c03e9f2ccedb52c41ae93e85b20a9218b5e01a7d0a","ssdeep":"","tlshash":"42b012c8546c45385009b8840047a7084081141a8513ce35956b8e451330d07754146b","size":93,"data":"","first_seen":"2026-07-27T00:29:31.725026Z","last_seen":"2026-07-28T07:04:56.424334Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b14f6fa105f068088709b139cff5c8b7","sha1":"f9cdf0110749c12bace5fd2ee6a8f1d1034c41a2","sha256":"b1e722516abfd4cdaba507d31af2d6a1a258ad759b5b29e25851e5955b769570","sha512":"83feb0c702e136b028cfdd527fe8063cf87874eae31bd6e97d60b0957baabb7ed3e5845b8a94632ab6530b09653c0eb7d127a22aa7eae1651d1e24401be469b5","ssdeep":"","tlshash":"7f70008cac88a08000333228000f0e080222008000200e02002020822c3300e000282a","size":22,"data":"","first_seen":"2026-07-27T00:29:31.696735Z","last_seen":"2026-07-28T07:04:56.515579Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"51792c67c588ce8139b246f015ed8a85","sha1":"d3148f014e0f4790ff65a8004585d17ed319833f","sha256":"6f70d853ba1dee4fc189490cfe4b6b1ab59f5853344cd85576bd2a4af2b506fe","sha512":"963ef7a25d5437d1a045dedfe34afbab41db4c620e4378606ca3b7b0c4219e51fda11b9b0e0b761093eda33aeac0e532a27b3f1a1ee110c13ba1433cdb28c067","ssdeep":"","tlshash":"cb60003f03000003300003ff0c0cf30030fc0c0c000c033c0c003330000300000c0000","size":15,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-08-19T17:28:47.807141Z","times_seen":179734,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d61f8370cad1d412f80b84d143e1257","sha1":"32096c2e0eff33d844ee6d675407ace18289357d","sha256":"6b23c0d5f35d1b11f9b683f0b0a617355deb11277d91ae091d399c655b87940d","sha512":"3d637ae63d59522dd3cb1b81c1ad67e56d46185b0971e0bc7dd2d8ad3b26090acb634c252fc6a63b3766934314ea1a6e59fa0c8c2bc027a7b6a460b291cd4dfb","ssdeep":"","tlshash":"c700000000000000c000003300000000000000000000000000000000c0000000000000","size":1,"data":"","first_seen":"2023-03-07T12:12:28Z","last_seen":"2026-08-19T17:17:52.287173Z","times_seen":76590,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"eventHandler","is_inline":false,"md5":"dd2c92e945f0fae3a7c9ce7ea1a85ac3","sha1":"23beb8128d11d5de27395c2480f43281f0240f88","sha256":"78e72866a87ca4fd2a51de352eedb0fcfabf6a8d707c67f944a12b28f115bb03","sha512":"43e9c8ce79d4a0eb37779633db543ff27b83ecf8d45f91a4f48fc7cdfe6ebd19cc8b36cb2ec8e9f74fe803b9f6faad7e45169127e741cc99f05307c22089a6be","ssdeep":"","tlshash":"a58000a8023c8008000283000823c8a30000280b00888b8cbc0328e2a0b88000082ca2","size":35,"data":"","first_seen":"2023-04-10T16:44:23Z","last_seen":"2026-08-19T16:38:06.577184Z","times_seen":5894,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9f502ac14e14405587d798139e860b5f","sha1":"b267cfc679f39f2d95f9d3fa41bca0eafb931aa6","sha256":"39d2483e41bf71db160191d9a148b4bc26c0739e732727e37be0f18bdc8cabca","sha512":"f5bc3d4834c9c4ed165d49476795fb1170fdc577b58fe4b21dfc67cfb4f6eebf045a3812ef48a2f15758e790ce7e111cf9dbd9ffcc3438288c7340e6eeb7661f","ssdeep":"","tlshash":"b1c022ccbb3e600d9121f90031f84e46cb4125ac4407ede3a70128b4448180aca1f406","size":194,"data":"","first_seen":"2024-08-23T10:18:17Z","last_seen":"2026-08-19T17:30:26.366325Z","times_seen":178546,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"772f886781c1a2fe0d138da864bd1a0d","sha1":"ed7bdac6b5065277c59e9b3cafee709c2af4bf9b","sha256":"9ffa72ea50ac24f7971dc4301227ab985f71fa481eded61825f752f9a907dae8","sha512":"64e6338ec403963209f36738436586dd74708ed1bda8f8829b33241c22b0ce9aa2c9296f3f3e25df707e05433452b2e4802abe7995fe947d26a5645c0eb75b82","ssdeep":"","tlshash":"04a01288490c440c451211c0f013b40401e1341b80c00c81c19c9a4105e03a25012489","size":79,"data":"","first_seen":"2026-07-27T00:29:31.735217Z","last_seen":"2026-07-28T07:04:56.434717Z","times_seen":331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"1be4d1f8c590f7bdb021c5ceaf8de13a","sha1":"07824a8760ded32f98003f64a14e94bade59a39e","sha256":"b9312a95bdbb33e3b555bef42a0ddcb4067d497615f8b68aee29833ae66df6ee","sha512":"efce02d0984db202097939fb8d82d9e3809005d1407d3e1f6e498d883baa52647b10e0f7afde8dd5891c7ff166dc35c60300323ae74e25b70a7ffef730c8ef4d","ssdeep":"","tlshash":"1d01492202ac9ef2c95e5c1338db7276d09965dccc51e88df42dcd20a3e159013ab76e","size":841,"data":"","first_seen":"2026-07-27T05:02:02.487977Z","last_seen":"2026-07-27T07:25:28.923893Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4d9ac09e2b9428fdf2e4a1080a0b7d4a","sha1":"b48305efe8b5158354f0d72d5a89a795f8456bb1","sha256":"b35f28def4481b87c38c345bde940dea7be81557d08375b8ed6464bd41023a13","sha512":"d3b0c2d5a94d0350854e08dffa8244ebc2a36b4f3bd6d1611930d9ce2976c786bc661ada3e5cdace44aeb03f23e9e4b915c4fd3d85c30fec2f67cb47c92d2a82","ssdeep":"","tlshash":"e02165eaf3c672946bd756d0accf270001687581ef794a0f4861e3b057546936085e4f","size":1286,"data":"","first_seen":"2026-07-27T00:29:31.662258Z","last_seen":"2026-07-28T07:04:56.509866Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"67884a7c07ba8bbb5343281aefa35921","sha1":"b1bc7fd9373dc3bd0fca386a55683e1e488c6b6b","sha256":"9d4ab4209bab35caefbfbefa29b528f93b86da33a53881492b374d11952face6","sha512":"d75cebdb7204eb1ff4839de7d237e1f8d4c45d9179f205f260f23bbe15dca4bc2d218b84388ee40400fa435cecc93ca5fff99702dfdffd6c0f959c3484475588","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000300000000000030000000000000","size":2,"data":"","first_seen":"2023-04-05T02:10:24Z","last_seen":"2026-07-28T07:04:56.50743Z","times_seen":892,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"05b8c74cbd96fbf2de4c1a352702fbf4","sha1":"320ad267d8d969f285eda5c184f5455bd29c8c95","sha256":"44ff7b02c80d38b26dd6aa31d9470aed81b32e10331a3c994fb1a9945fd847ba","sha512":"1ab6ceacde9b312b4f32d7c9f2d54448e82264c30807e4db86ec8e295791c1fb9aafb38985b2054e589c0a0a2830f1a389312fb2912dc2f9c949231967e03545","ssdeep":"","tlshash":"f6400000000000000030000003033300000000000000000000000000300000300000c0","size":6,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-19T17:28:47.970974Z","times_seen":159521,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_conf","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"7caee5334c5c4934bcda1ce615f50b08","sha1":"e30db3277098371b3c740159bb18656d4a865033","sha256":"6d17efa27992fe6a37e9064e83a6cbd97576e9bcc1dd861cc5a0f373c54d6007","sha512":"e834d96e9ce7d0a8fccb8c3888a45c3e0349a17fbef0eb7a570a6eb173f2473b9eb0f4e2ba096899e75e30fbd46d25348b27b7bcecd974cbd25fa2627baaf546","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECi9wNWF0:XDD4U6KKZgtBgtCij0","tlshash":"0273b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf594d453bf7d","size":75427,"data":"","first_seen":"2026-07-27T07:00:57.382728Z","last_seen":"2026-07-27T08:00:33.965588Z","times_seen":143,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cfe749683ca1521d063fecd1aef91fc4","sha1":"14a5db185e972ebfbf33d3e75dac38b3eacbeb97","sha256":"7a8b9eba1d338c7353c5fec3fb33b660f78b1bf23660e31bd2b1658113b3be7e","sha512":"f15bc4113a72f655af8ae406355173dde59998b1dc97c5d183fbeb9d22a137ade54cb3df0a08457ca5b6600d14081432ee0179c38b22c037ce6d87ac88f785cb","ssdeep":"","tlshash":"4190029662837010119568138996646a5969694124041865804521d92cb0027e221e0e","size":49,"data":"","first_seen":"2026-07-27T00:29:31.72947Z","last_seen":"2026-07-28T07:04:56.533415Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/manifestb257.js?id=7375cf0cdf3de8160eb1","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"0c425e6d858cc4152c44cf9b62c3064f","sha1":"e1ccf5ac5712eb359ce2d7fc0afcbe55e2f6269f","sha256":"d8d91403e2eb67ffdb9db621adae9084f823d9a38e0e8920e5c1b39ffddf32f6","sha512":"ae56686237402763d3c966aabb74738b5872481403b92f742fd181ee5fe5a091ca9652661465a78bed927be20207afced1fa149609b14daf42ed0c53d0d11778","ssdeep":"","tlshash":"e94150eab1e1f4f4134764a4412f450bf13b98b6606ef1a1e722c8e63c7515e803bf68","size":2223,"data":"","first_seen":"2025-10-27T18:25:33.0309Z","last_seen":"2026-07-27T07:25:28.807267Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"79f44e5dd7602c709646d4eeecdb8f4d","sha1":"e1168a05c28ba598334dde0d6aef0c545e9b7c70","sha256":"92e9034cfa6f00cdc1749b4f56b2fc094cc4a999ff04b4012ea8727f6095e9ba","sha512":"99d6cd5f5388abc70e23b8952fd32cd2e191213b1694e4fda5f20cc66450319e392be745d0eead719e91de54f0a00445e64f7bac2a230bf528fe2e302ee36ad7","ssdeep":"","tlshash":"b7e0c037b6420427806708c630270dccc9543556f85879d9c47035a14194efb509ddc6","size":328,"data":"","first_seen":"2026-07-27T00:29:31.648585Z","last_seen":"2026-07-28T07:04:56.448814Z","times_seen":324,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7e5cec842256e3f47d70b3085fd4b4e7","sha1":"5546521bbb99af58059ae8866b62e5ca0102cf6c","sha256":"2511327b3eb1835430b0e19f65747475bae631945c3360e49e157c01d9c3334d","sha512":"6eddfe962fd9435f350093764956ddd18c719c776487914eaca38f343a08f89b711618d3ed40c167e25dd8cf2ae50344f612f2fdeb3fc2618ae77dbd9add8bde","ssdeep":"","tlshash":"30a024047c751017f01fc015740f110400cf3107c0141401f44d05c400f0c1470114cf","size":72,"data":"","first_seen":"2026-07-27T00:29:31.618862Z","last_seen":"2026-07-28T07:04:56.484313Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e5af9ef2f883044b06511fa39105babc","sha1":"82f18d9e8f2b8ce5f187eb5aea87b80dcb508232","sha256":"a4cf529561255261c11ba5f571d1c82361483653a41b24764c828eb5d9fb2e81","sha512":"5bb85f74a9c12b13211fbfec101706b8ff9a6b5775d36101b8e8eb0214ae02ee5fd15c312cf2be4077f03484407252c0403300bd156644fa09d25fc596912ce0","ssdeep":"","tlshash":"25f09ea9f2c7d47491798634d8aa4305d6133d402006289ea465e0fcfd57866e932b7d","size":508,"data":"","first_seen":"2026-07-27T00:29:31.575522Z","last_seen":"2026-07-28T07:04:56.45046Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"13e4d4eacd186a52c688b45ae374ddc9","sha1":"d143221d36c33a44096b811fb5248b8a325265b8","sha256":"aa931b41f1dd816e4abd8cad35850741fdb6e4657cea2add1427e0a5e02f2b54","sha512":"d3eca32c5a355c3122a1a2120cfcc22b1762257bf100fef44c85ef7b242f22603f784573dd78affedc6a0aefbbb31e1b2f75ec31955402b439a5bce508bf64a4","ssdeep":"","tlshash":"d9e07d149b4e26f5957fecc920ced10510be706b40296c54556dc90014b89238174908","size":299,"data":"","first_seen":"2026-07-27T00:29:31.609353Z","last_seen":"2026-07-28T07:04:56.491631Z","times_seen":318,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c987d68cc10a227f055b84626a48a0e9","sha1":"2fdabf2d840a90c89c520a78254ab9d49a11b334","sha256":"210c163506a8612cc88bd448b4cf01d7646fa80390ad547f30383375e3264c69","sha512":"1ba28dd36ddcc1461b99b2307ee47bd0bcb5564cda9907a8bd170c86689d151b0ce435436d29fd24d0c473657b2576037e1c058afdfcd2fbcfaca1cba26bb6f1","ssdeep":"","tlshash":"c7100000000000000000000300000003000000300000000000000000c0000000000030","size":2,"data":"","first_seen":"2023-04-01T10:43:24Z","last_seen":"2026-08-12T21:59:19.323603Z","times_seen":1967,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8d8b85adc4d2474a84fbca1381afb3c7","sha1":"3815645d5a8680fd3ed4ce5a3b82f8d432448698","sha256":"3eb8abc484d33a620c974de75babdd2caae4fff7dc8daad7d860dd41c93ee611","sha512":"910cbf3ddef06885833d1127febca48a7f76337a577db0e125a3157ee738bba15ad1d30405e79e1de60279b2605f489b16d8b258fd17bc0c04bce685d65fedfa","ssdeep":"","tlshash":"08a0124823d0a000e671241804070a80b1a069046d1f22048280018d60d0682405c509","size":83,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-19T17:30:26.362042Z","times_seen":211485,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8bddd83b4180c873118c8c161186c24e","sha1":"c4e5ba4f65f9300bea6d3f7d2af98489aa89ef80","sha256":"1b59eeabe5d3971340c886ed1f125b3013ac9e37de4225a67df68752fd36ee2c","sha512":"a8c996e93e58eab28fb5f26cf0587683e127c5857dcab41f373dc4e70730f5fe86f4b0f4cac189bae57660b36718a972160641cfc8663c71d9f63b7899f891bb","ssdeep":"768:D8BTPMErdYHnCu2NPdPS5oPX3zp76JSAZg+hCU7aeTEPecn9fJG9CwaebQHr6pdc:D8inj2rpHh6i+9aeQm6SLQLUEEK","tlshash":"576319eff2d673710de665f2045b820992be7552dc40189eba05e6f86eb0c47e02bf25","size":68478,"data":"","first_seen":"2026-07-27T07:25:18.074842Z","last_seen":"2026-07-27T07:25:18.074842Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3c4a9f0faa6fb701a920a1b70924b26c","sha1":"f7db769e191400203fb2530bf2ad948431a7eb0f","sha256":"fa5a672fc4057898c72f889e9e2b394546de9c00494f7e7e7b100851e8b6ec01","sha512":"2710d162f4df552343b1a7a27f1eaa1a8cb5d8004e6c4c2ba88c22aba3dc099af302dfce3f1cb0d93c0ba5cb99760e9da25da05d34a65704f22f85008a17ee8c","ssdeep":"","tlshash":"cbd0a738002e9086181b6e5452c6991795d6d40728049d09c89cd4d441f09a554be52d","size":221,"data":"","first_seen":"2026-07-27T00:29:31.710641Z","last_seen":"2026-07-28T07:04:56.467696Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d48a24ae9672ee573050e4d3aeeebe4d","sha1":"8f8c4d27852980a1ec5a8b1aba30769001314ec8","sha256":"53e5b7d706a350fe98d52499058624e15cddc1541f17370f94a899a386c50255","sha512":"02dd385ce15083c89617859325e29ce885ae235c8c5be416828066dcb5db78e69229802d87aaf759224e2656ab4c23bf1740ae1d357cfdb57ebf78ab77488921","ssdeep":"","tlshash":"43800020202088288888200b20308b8abaa0a228a83a2000a08c8e2cb822e80a038820","size":29,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-19T17:30:26.36782Z","times_seen":191231,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2284743fe8a6178f117d584e3091d6e","sha1":"93d24c83d4a695e2a463bf66ea18a3e2147e9148","sha256":"8cf878073f71bf93dd67f56aab913b4a584f5ea15c56ea7030f96b9f26f23a4b","sha512":"7aa1cd340f7dc20e2259c9ef76fc6dd184133548d47ee9cf1c300e8ded20ae3e298748b874bb735dc639bb025be759096e3edfedd1c0396a094748bfe2734cf1","ssdeep":"","tlshash":"28c02bcf30c6da74817d001203179dc48107349f114b808743d040e400174908c1dcd7","size":138,"data":"","first_seen":"2026-02-18T11:53:38.7823Z","last_seen":"2026-08-19T17:30:26.371752Z","times_seen":82212,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1e165145a97571da936032f6bdc25987","sha1":"3708ee3564e62e191805ee96ac418dc1633d6a9b","sha256":"434e517d538444e8ecbfeac4f10b3affef8f606f57e6c7bd90b4e7678aac7721","sha512":"27cf9960df019fa54c80b623612b4b654100f5a4a1f48f0785a0483880ebc1d18b300a5fdbf7cd4a11f437ff79304ecef1f934ed5c0c1f53a38f7e344658f4dd","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-11T15:36:04Z","last_seen":"2026-07-28T07:04:56.497157Z","times_seen":2666,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d7b26c3bb88e3f8eac6ad7e35e777c67","sha1":"2379fb95114571b0baac29e9db1410af0eb86cd1","sha256":"3a563b19b8ee34acb1aa360533d55172540a8b43906b9b7db10256a9030a444c","sha512":"edd611d01c4de3fc0d656156d353df29e43c01df93dd67d1ecd6e6dc5df5ecc3b1273acb13c3202f98a79ea8051205d9bd2af9c04bda95892e0d6889e1fb33f8","ssdeep":"","tlshash":"1bf005b6b530b4982a759ab2a42b2071907dd023e74236dc4385b5202711d43fb01f84","size":496,"data":"","first_seen":"2026-07-27T00:29:31.656999Z","last_seen":"2026-07-28T07:04:56.472102Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"c71a5323f72b8f2fb1ff0328154551bc","sha1":"d98aa0d13662254ebb4ccd95adf8f34b66227ecb","sha256":"e81d9bc2a87ed83b2ec459e86a04c900c37f18ecf71d372582484f2e6a4486a5","sha512":"760833570091d84ea12db33f247405a7d4cc9f60376e53b2b1e6973ee3eacaa446181de5422bc4826cbb8a12f1a3bc376692581bdaa591dccc88744d7fb74e79","ssdeep":"192:rJSfl+zGE5JRBL53l+xGERJDBL53l+vGELJ0G55l+WGE3J4WBL53l+hGE1JzBL5z:reKefCNFMDZNL","tlshash":"55f16920557efab6dc47a423193dbab0c49989e7c123a0c5bdbccc18a7d99f0474d26c","size":7986,"data":"","first_seen":"2026-07-27T05:02:02.543037Z","last_seen":"2026-07-27T07:25:28.968619Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"dac8dbb33c5594b0b5606718fbf88bda","sha1":"9ecb519093630c51e9f92f729bfe30834daf87a2","sha256":"719c994d120c8f304ed3bbecdb6b82c35bc60b959f0eb148e9b1fc3b55a4263f","sha512":"f8d07093f64aa3f1dccdf76f11fb4f2f492971e9b86cfd6cd94a1c46defce02c42dcddac8b4d20f172b70f5e99c4474f9b55bc9bf6f69aac1bc193f9a25bdbd4","ssdeep":"","tlshash":"e0b0929a10b9e0b28d8361d6113e5ab6d5060cf580905488f4e88c2528aa8205b5c87c","size":114,"data":"","first_seen":"2025-10-27T18:25:33.077453Z","last_seen":"2026-07-27T07:25:28.999714Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e2da3efa536fb67c7170a415b9a058b0","sha1":"a370b7cb382a8e1d70437d9c3465195440bae925","sha256":"f5c0cc24306db6871daef9d7f5fe842e5cbd3fbb5d89aa833ef100bb5a158453","sha512":"96bb9ce1aa41937e6ddf49ddb2aca103f65e26f5969684f45824adc902853c0647a1730eaa27e46fe1c09f508aa1a03453fda5f37784ffa775da1b1b5cd56d4a","ssdeep":"","tlshash":"dfa012084e092a1400805a41010f0b7910c4400a949a5d14601d4f911969945217b00c","size":82,"data":"","first_seen":"2026-07-27T00:29:31.62022Z","last_seen":"2026-07-28T07:04:56.535655Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-5fd61.js?id=0169abee09a7daae7412","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"4734bbf71d315962c368fc6d1ca2016e","sha1":"22ea3f7522688a39943524735e87263cd871f46e","sha256":"c53adc413cd0c020f06ea7e74a3944f176117f9b87a1c321d8ba96eae3979f2f","sha512":"d1995a84c7c80219f8027bace6bb7612a62b345217c1e0073ee84cdc40c5c6caf5e67a9b614e290b04ab6554c49738dafb2b73846fef4f0edb654073f5657f72","ssdeep":"3072:pOfs3WmN5SJGHJ6GBuGXqGMCyAo2+3W8T7GRM47nq:TW2EJGHJ6GBuGXqGMCydBT7GRMwq","tlshash":"1ff34b8b3196b03247e725a5802f110db2321f99a88a9854f97dd8d53c68dd9327ffbc","size":159497,"data":"","first_seen":"2025-10-27T18:25:33.066628Z","last_seen":"2026-07-27T07:25:28.808404Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8b537b3294601302084dd0ee891a73fd","sha1":"af1e5bed3b4cb4260b4322a2a935e2194db4ff9e","sha256":"e46dd0dc5bebbabf4a883401e1bed90eb30123d8051a9e485fb2f079e1568c43","sha512":"a1eedd7200a6dfe05b5f70e87375c5f6c31543aef15d3f34f51699ef0bbf212e445f771acba837b8a47476562bb4c7eae094c8923f7fe62fd77de3ebfa3c9500","ssdeep":"","tlshash":"05d0a7e9929a8431b2256094055d06119085d85b14120c8dbbfdc75c6bb5c04d515e09","size":215,"data":"","first_seen":"2026-07-27T00:29:31.566404Z","last_seen":"2026-07-28T07:04:56.43827Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ca35c0bc42e49148dafefbe13185819a","sha1":"a9b2702d2fb01ea08f26bdf11fc43027fc570a0c","sha256":"93d0ca8fc5cd704de1d0302e5b2d95089fec809742305d1ccdc0fef634db9689","sha512":"7ec63c17463e23f080c07ae538cdde1a4063edbedf87016ae34086b332185fe6f55628a92d64c8511a27f1f3944802cf1fe5298419ea3ef9b51304edaec8c3e6","ssdeep":"","tlshash":"d3d095d57442412508cc0686f4ff133f7a60bd5191444a5cc0c747e02f104c3c553537","size":284,"data":"","first_seen":"2026-07-27T00:29:31.601069Z","last_seen":"2026-07-28T07:04:56.435987Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8d9c307cb7f3c4a32822a51922d1ceaa","sha1":"b51a60734da64be0e618bacbea2865a8a7dcd669","sha256":"8ce86a6ae65d3692e7305e2c58ac62eebd97d3d943e093f577da25c36988246b","sha512":"6b3b006aa3a86286c359a6d243d62a61e46f0c5f7d1db587faa26fbe72718eaee33f774af164e3ba790d4ae4136a25dc993d3246f7be6691fa7346d0be0f1a71","ssdeep":"","tlshash":"c700000000000000c000c0300000000000000000003000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-19T10:37:18.559747Z","times_seen":64508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/assets/js/jquery-3.4.1.min.js","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"220afd743d9e9643852e31a135a9f3ae","sha1":"88523924351bac0b5d560fe0c5781e2556e7693d","sha256":"0925e8ad7bd971391a8b1e98be8e87a6971919eb5b60c196485941c3c1df089a","sha512":"6e722fce1e8553be592b1a741972c7f5b7b0cdafce230e9d2d587d20283482881c96660682e4095a5f14df45a96ec193a9b222030c53b1b7bbe8312b2eae440d","ssdeep":"1536:yTExXUZinxD7oPEZxkMV4SYKFMbRHZ6H5HOHCWrcElzuu7BRCKKBEqBsojZlOPma:ygZm0H5HO5+gCKWZyPmHQ47GKe","tlshash":"338319dd72c6706257b761ba00bf540bf236599e6c4d4410f124e8eabc78a4a823bf7d","size":88145,"data":"","first_seen":"2023-03-07T01:02:34Z","last_seen":"2026-08-19T17:04:21.679057Z","times_seen":139404,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fc5db2d55e37e6b19c011096290a334a","sha1":"c05770422f83d9a201a14f438e8a3cc4f40c58ef","sha256":"42d39b50a4ebc83684b6403ab722a3ba6746739266a8e7bbd5291f32f35fb286","sha512":"3c5933ca355dceee4f798bbf06754d2421a4d50cf93c19e90b5f7a3b09f0f90aeebd81c635482d6bc72482b9efcda640ea15dbfeb3e2943783f6630344c7b542","ssdeep":"","tlshash":"94d02b84c81d11177c2b6ac79127dc1f209570031d29eb01923fa4c934e4151c18a09c","size":262,"data":"","first_seen":"2026-07-27T00:29:31.591149Z","last_seen":"2026-07-28T07:04:56.493695Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"708197c3f2abe60e5b0e1b9d77dbf54a","sha1":"78bddbf3689f7301db53d22c684bf404ab3528a1","sha256":"ec14f274daddc5197d69049df42efe6d2ae021f65a7328f0bdc02d6bdac996ff","sha512":"f625f839f01f50aa60bca470ca2ece77be6b4c2ef572866adb6a80a7a3c6c3e262f94993e1489e9c60c4ec21d93812fa7ade62c6ffafafe984946067bd859b0d","ssdeep":"","tlshash":"1b7000882e88208880023aa0000fca0c0022808820022e02808082822e32a0ac20282c","size":25,"data":"","first_seen":"2026-07-27T00:29:31.628814Z","last_seen":"2026-07-28T07:04:56.529913Z","times_seen":318,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fd037685d3af5317ffa0fbe08c1281e0","sha1":"933dcf01d288d285d07ace051b6e43f1ca080911","sha256":"725cb452273c6e73417b860f55c5f2df1d12790b425e982a8d66364b7c55f98b","sha512":"134357ce0061b815d42b5cd3387865ec2b2e594fb4b022b00d934d65a4122a5f05846c2e5a79434600197a4fbdc090a93074ae392d5d7f9d7ba53c881d8f5717","ssdeep":"","tlshash":"a40144ebe890c33888e025d60c4795855026f844ec12d88d8c50d3d4de7e9ff65cb900","size":678,"data":"","first_seen":"2026-07-27T00:29:31.714835Z","last_seen":"2026-07-28T07:04:56.526613Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-2df7c.js?id=62794247c0cf9c1a5d5e","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b157559c6507f6118d8dba0120464382","sha1":"8398c64d3a8fb4a54acc3853c9fd4057f4e373c9","sha256":"d09b4f698fa75fddb4b4f20d05b5c80de5b84b7a3e68c40a840d9e6cf8a40fa6","sha512":"1d880c69fcab430115bf7714207d1ed334a614513d98337d3ee14cf823cd82cd3d41219cf0ea89b23436e14017ad7e56253eed77ff12c1b12e6bcc169d671904","ssdeep":"1536:x6nR5ixLYqgZwHqnchkUzdwfXTN4r2/pddy4Z5LXYEdZoh9UMgLeqHqpsh9j9:osqodYKwyNOo/UMgLeqHqp8","tlshash":"0ff3a1ccbac2f06543a3a576817f400bf23a2e55b80f9594d16ad4d4bc7898f9137e2d","size":160385,"data":"","first_seen":"2025-10-27T18:25:33.018467Z","last_seen":"2026-07-27T07:25:28.877157Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"f8d0e77fafd7e49549d1bd107d94fc88","sha1":"d1a3a6ce59d2dfa3e5e723ab29292317c1a28eb7","sha256":"cc445e5323b09942b19cf41ebb7c50158e80875d5864f89839c8d42f0ba5ebc2","sha512":"d0ecb05bc4e3b97c8b79241620686df558101f9d57da0d8d644d9c3f0c672b2d6c34fef2c0e15e2843e47a446231b8c155fa9d95c6a8751a1a44dbee4e7b9396","ssdeep":"","tlshash":"2e310352365afbf0cc5f98a246587bb1e0463aeec037d8c1e668ed20e791d72270d169","size":1501,"data":"","first_seen":"2025-10-27T18:25:33.086543Z","last_seen":"2026-07-27T07:25:28.920288Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-6e970.js?id=7d34bce42fa872c256d0","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"51f00d1992f00f2423ff327ae927ed58","sha1":"d68f467c7bbab20a25538433b02ff59b0fc21510","sha256":"706e04269f8ab6060ac5e3571bb89f203bb9c2db7b8322e29ad98d19c7bd3a2a","sha512":"89a2c34772aa456de8f32b7471ecb2107388ce63f2a1e05d020588c9a5094da9550ddb1104149d6bc81794a7c9324083ddaa8418f5ee7956ebd4d012a50a3f6d","ssdeep":"3072:fOtqdO20JUqb/D/LQUSNMm1VR9Wy+wik8c:eqdO20JUqzDjQUSNMmnR9Wy+w78c","tlshash":"77e3f88db31171e295e72259529fc203b3b65811b80ec8a0707788a66d7dd9c13bfebd","size":150242,"data":"","first_seen":"2025-10-27T18:25:33.022868Z","last_seen":"2026-07-27T07:25:28.813712Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ec7e53845feb375870343182efd0b929","sha1":"63e71d0c5bcadc37a725d971054eb55e017f6989","sha256":"a2253e1fad60aa1ccf31416ca8cde6ffaa5af2510733c7186adc04a503346c5b","sha512":"339f50fe30462dd6204552b2d3d3fe5cbaeea2cadcfbde096f16b40f1d985a5a68ebb227dbbb9f37c9451a36376ed392b7fb50c6e661963124146bac7e03284a","ssdeep":"","tlshash":"cf50003cc00000c0000f03000300000cc0000c00c0c00300c3cc000c3c0cc00c000000","size":11,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-19T17:28:47.785179Z","times_seen":176480,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"d6770f9b096de9ba6df7bcae91bdd16b","sha1":"b3e08bcca673c7b48168b8bb265241a3c2cfdd6f","sha256":"0de9be9a716ce234c62f6e309c1e0c0abba8f9753e036b3292ac5374d7af6abb","sha512":"f047d19732c65369f6f76f0d85d088bc48012c827a838c9a40daec7517f9f24a89d70dc9ed025734a141b0f5ced29570b8d79a04692b785c15eda8aa91dec221","ssdeep":"","tlshash":"a8518057082ffab0cd46a2120a6e8230eca94afbd57d24d9f9a8dd1490dddb00f1f16d","size":2853,"data":"","first_seen":"2026-07-27T05:02:02.562498Z","last_seen":"2026-07-27T07:25:29.076793Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"ec4609e453eb0f89bf5cab12bff115b2","sha1":"bfc56f7b81970f25ba5538cddef83b654f11ba5e","sha256":"68f3f53413f04a333034a96508cf180a95273190e7d15804fc416d872a4f6798","sha512":"83b94ce3711bd547caad92e180ab5aaf4c85684d56a44faf74a944eee90330749c53d971719e434c5c1c42bc98e53ab5e357201a3d39f502f29b062a988e5433","ssdeep":"","tlshash":"82212245209ef3b2cc8ea82300086e71d8ab2aeec0369084b37dce2053d58e0570e57d","size":1251,"data":"","first_seen":"2026-03-29T04:39:56.834956Z","last_seen":"2026-07-27T07:25:28.958973Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"ac8dbb7916442c2e3d1818d1f7225735","sha1":"cd1de8cc6fe2c4db06f5e65eedde80323225a5ff","sha256":"1408ddd6bc6aa3e24982a2ddd313015534944c21c29bff02f626bc5daff66f62","sha512":"14f92caae1a2997dbdf8e95f34edb14442bd4870a944dd199c91564008661f35e8c3c9d46f40a913fac1c694a274d6a13ffdc54db3c67ee42874c3bb277d8876","ssdeep":"","tlshash":"41d0970320dfdcb6de43315120ad3b36922b18f48984a0ccf09c4ca0472b6600b8d0ac","size":277,"data":"","first_seen":"2026-07-27T05:02:02.500639Z","last_seen":"2026-07-27T07:25:28.966952Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"f9705c6310e0390bbad23428554c3e61","sha1":"e173351d6f6115c2890631498625332348dcb35a","sha256":"5fd4ad7ba2ebbcee991555de74784ca9fac446cf95bfaad50e0854df20cb855a","sha512":"985cfc62e9a97a79964d58f21a612dcd98dbd916fe488c676029ff1dd61807303b0d2e1cebccc11803e1cb41d35de27f568745fd1af93590d0176f0ff6b41f3b","ssdeep":"","tlshash":"ece0c00120eebdf58d03a451342d3a75a11e1efec668f058b2dc9c6047b66a00f4f05c","size":411,"data":"","first_seen":"2026-07-27T05:02:02.53882Z","last_seen":"2026-07-27T07:25:28.888664Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f184e393cd49024013cf566cf53ad3f5","sha1":"d64819bb1fe5a51f54634938af92402fc04b58f9","sha256":"a626f8bd4c773160d25e2d6eaf231c27a5d50e76dc41ff97e349ef3fbe7e9e62","sha512":"1c22a36fe952552f680c3f2ea5dffe7c11cccaad12b46657f1050da4d6d13a76156fe9f72dccf366dc2a8da8f469fb2fc718c7a070eac0864b4e1f0ab5e33d10","ssdeep":"","tlshash":"68e026a01c023c0e214b9abaf03b231ce550957ad7894f59ec02cd297d37d43badb680","size":355,"data":"","first_seen":"2026-07-27T00:29:31.68577Z","last_seen":"2026-07-28T07:04:56.440567Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"log","text":"all cookies are allowed","filename":"https://ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/app.mindd84.js?id=63353a60c9e82d366e28","line_number":1,"column_number":27998}]},"http":[{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images/mt4-screen-generic-fixed.jpg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:32.852Z","timestamp":1785137072852,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images/mt4-screen-generic-fixed.jpg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 30989\r\ncontent-type: image/jpeg\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c78d0d\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:32 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":30989,"size_decoded":31287,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 230x498, components 3","md5":"6594f030d33cac7fd8a502df15f486b8","sha1":"77ba1d8093796dc133c9ffea70125583a1ec763f","sha256":"871bff92eca5731b5ffbff443decd4e90448836225e183c3b1a2d35a26baa902","sha512":"45c44c51da40db5686863e17b5c31588b78b3dbd24969d3c7e69eb30348e5a7acc151a37fbe752788e796abbf212dbc5b352e94d5e1546b5b8ab2d2c07116283","ssdeep":"768:M8IyJ/AAgJK3kxaYq1BKsT7jwS75LkG1pd0jBsI:D4FpNoKc731z01","tlshash":"88d2f1f56de2a8048c4c64122482fe64d6dd913278f4cc3f99cce5b7958b0b99f4d12a","first_seen":"2025-10-27T18:25:33.025097Z","last_seen":"2026-07-27T07:25:28.815007Z","times_seen":6,"resource_available":false,"data":"/9j/4AAQSkZJRgABAQAAAQABAAD/7AARRHVja3kAAQAEAAAAPAAA/+EDfmh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDUgNzkuMTY0NTkwLCAyMDIwLzEyLzA5LTExOjU3OjQ0ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSI2MDZFOTVERTcwMEQyRjczMTYyNjMyRjE4MDM2N0I2MSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGOTY5NjQ3QTNFRDYxMUVDQkQ4NjlDRUZCMEYxNTQwQyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGOTY5NjQ3OTNFRDYxMUVDQkQ4NjlDRUZCMEYxNTQwQyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjAyMSBNYWNpbnRvc2giPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmMTk1ZDZlOS02ZTE4LTQ3MTMtODM1My0yMDE0ZGU5OWY1ZjciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2ZmQ4MjVmMS1hNzIxLWU5NDktOTdiZS05MmMwNTY4MTk0NGMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJE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"}},"time_used":190,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":190,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:25.694Z","timestamp":1785137065694,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=GhHoVqVBrjHMHksu5uSSgLzoaFxSlipAJgg5Br_6VXtipKt0M0tGx6maNNULFSuoPmjhn6TrRofBA0PX16wJP84g82xlVHelBWmJaeFN6kLW3UBMj5gR2yeB2nt_mc5Fta3BSJU5o8qIfzI2fIuyWY14DtZ_1DnPpFpxz_XlGvqNfHda7m_zgLyHIQ-fawJ9ZrP90LxwCOvFTy3uwSuBx3hgQZ1nuj8OqfQvIJQW5xJfxr01vRMWaeEk5ZEjPYuYwGK38gUfiMRXxIzUeDegCXvpN8-BMAaA-YvGh0Eml-GnQmyBMn2F18nj6fzYpEzjxyaaCzPqsxxxY54TPVwQ-Q; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxj3jqflqfKVAw%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 150031\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 12:56:07 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:07 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 239298\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":442344,"size_decoded":150945,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (534)","md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uX0ZfdG9nZ2xlc19pbml0aWFsaXplPWZ1bmN0aW9uKGEpeyh0eXBlb2YgZ2xvYmFsVGhpcyE9PSJ1bmRlZmluZWQiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGYhPT0idW5kZWZpbmVkIj9zZWxmOnRoaXMpLl9GX3RvZ2dsZXNfZGVmYXVsdF9iYXNlPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4MCwgMHgyLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwp2YXIgZWEsZmEsZGEsbmEscWEsdWEsdmEsQmEsSWEsSmEsS2EsUGEsUmEsVmEsJGEsaGIsbWIsd2IsemIsQWIsRWIsQ2IsRmIsR2IsTmIsVGIsZmMsaGMsaWMsamMsa2MsbWMsbmMsb2MsdGMscWMsR2MsSWMsTGMsTmMsVWMsUWMsV2MsY2QsZmQsaGQsamQsa2QsbWQsb2Qsc2QsQWQsQmQsRWQsdWQsR2QsSGQsSmQsSWQsS2QsTGQsTWQsT2QsU2QsWWQsYmUsY2UsZWUsZmUsZ2UsaGUsaWUsamUsa2UscWUsbGUscmUsb2UscGUsdmUsdGUsc2UsdWUsd2UseGUseWUsemUsQ2UsRGUsRWUsRmUsSGUsS2UsTWUsTmUsT2UsUGUsUWUsVmUsWWUsUmUsWmUsYWYsV2UsVGUsaGYsbGYsbWYsbmYsb2YscmYsdGYseGYsemYsQ2YsS2YsTGYsUWYsRmYsU2YsT2YsTWYsTmYsVGYsUmYsV2YsVmYsWGYsWWYsWmYsYmcsZGcsZWcsZmcsY2csa2csbGcsaGcsZ2csaWcsamcscmcsc2csdGcsdmcseGcsemcsQWcsdWcsRWcsd2csRmcsRGcsSGcsSWcsSmcsT2csUmcsTmcsVGcsU2csVWcsWWcsWGcsYmgsJGcsClpnLGFoLFBnLGNoLGZoLGloLGpoLGtoLGxoLGdoLGhoLG5oLHVoLHZoLHdoLHhoLHloLEFoLEJoLENoLERoLEVoLEZoLEloLEpoLEtoLExoLE1oLE5oLE9oLFBoLFFoLFJoLFNoLFRoLFVoLFZoLGNpLGRpLGVpLGZpLGdpLGhpLGppLGtpLGxpLHBpLHFpLHJpLHNpLHZpLHdpLHhpLHlpLHppLEFpLEJpLERpLEVpLE1pLFRpLFlpLGFqLGRqLGNqLFhpLG9qLHhqLHdqLEFqLEJqLENqLEVqLEpqLEZqLEhqLElqLHZqLFFqLFpqLGJrLGNrLGFrLGVrLGhrLGlrLGZrLGtrLG1rLGxrLG9rLHBrLHFrLHNrLHJrLHZrLHlrLHhrLHprLEFrLEVrLEprLEtrLExrLFJrLFNrLFRrLFVrLFhrLFlrLFdrLFprLCRrLGJsLGNsLGRsLGhsLG5sLHFsLHNsLHRsLGdsLHVsLHZsLHBsLHJsLHlsLHpsLEJsLEVsLEhsLExsLE5sLE9sLFFsLFJsLFNsLFRsLFVsLFZsLFdsLFhsLFpsLGJtLGNtLGRtLGVtLGZtLGdtLGhtLGttLGxtLG1tLG9tLHRtLEFtLEJtLERtLENtLEdtLEhtLEVtLEZtLEltLEptLExtLE1tLApPbSxQbSxRbSxSbSxTbSxUbSxVbSxObSxXbSxYbSxZbSxabSxmbixnbixqbixsbixtbixvbixxbixybix2bix4bixBbix3bix6bixFbixLbixKbixNbixRbixSbixTbixUbixWbixabixXbixYbixZbiwkbixjbyxhbyxxbyx2byx3byxEbyxIbyxGbyxHbyxLbyxKbyxJbyxMbyxPbyxRbywkbyxZbyxXbyxTbyxpcCxlcCxmcCx0cCxycCxxcCxSbyx1cCxkcCxocCxzcCxhcCxUbyxWbyxabyxwcCxGcCxKcCxScCxTcCxVcCxZcCxUcCxhcSxjcSxkcSxlcSxmcSxocSxqcSxxcSxrYSxqYSxpYSxjYTtlYT1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPTA7YzxjYS5sZW5ndGg7YysrKWRhKGNhW2NdKyJBcnJheS5wcm90b3R5cGUuIithLGIpfTtmYT1mdW5jdGlvbihhLGIpe2ImJmRhKGEsYil9OwpkYT1mdW5jdGlvbihhLGIpe3ZhciBjPWlhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmamEoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTtuYT1mdW5jdGlvbihhLGIpe2EucHJvdG90eXBlPWthKGIucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2xhKGEsYik7YS56Yj1iLnByb3RvdHlwZX07cWE9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpfHwwO2E8MCYmKGErPXRoaXMubGVuZ3RoKTtpZighKGE8MHx8YT49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW2FdfTsKXy5yYT1mdW5jdGlvbihhLGIsYyl7YT1hLnNwbGl0KCIuIik7Yz1jfHxfLnU7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnNhKCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iIik7YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07dmE9ZnVuY3Rpb24oKXt9O18uc2E9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy53YT1mdW5jdGlvbihhKXthLlNsPXZvaWQgMDthLmpjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuU2w/YS5TbDphLlNsPW5ldyBhfX07Cl8ueGE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGIhPSJvYmplY3QiP2I6YT9BcnJheS5pc0FycmF5KGEpPyJhcnJheSI6YjoibnVsbCJ9O18ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54YShhKTtyZXR1cm4gYj09ImFycmF5Inx8Yj09Im9iamVjdCImJnR5cGVvZiBhLmxlbmd0aD09Im51bWJlciJ9O18uQWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTtCYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07Xy5DYT1mdW5jdGlvbihhLGIsYyl7Xy5DYT1CYTtyZXR1cm4gXy5DYS5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpfLkRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLkVhPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O18uRmE9ZnVuY3Rpb24oYSxiKXtfLnJhKGEsYil9O18uR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uSGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuemI9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLmJhc2U9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGs9MjtrPGFyZ3VtZW50cy5sZW5ndGg7aysrKWhbay0yXT1hcmd1bWVudHNba107cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsaCl9fTsKSWE9ZnVuY3Rpb24oYSwuLi5iKXtiPWIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighYilyZXR1cm4gYTt2YXIgYz1hLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIGM/YS5zbGljZSgwLGMuaW5kZXgrMSkrYisiJiIrYS5zbGljZShjLmluZGV4KzEpOmErKGEuaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrYn07SmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj8iJiIrYSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIifTsKS2E9ZnVuY3Rpb24oYSl7YT1hLkI7aWYoIWEpcmV0dXJuIiI7dmFyIGI9SmEoInVhcCIsYS5wbGF0Zm9ybSkrSmEoInVhcHYiLGEucGxhdGZvcm1WZXJzaW9uKStKYSgidWFmdiIsYS51YUZ1bGxWZXJzaW9uKStKYSgidWFhIixhLmFyY2hpdGVjdHVyZSkrSmEoInVhbSIsYS5tb2RlbCkrSmEoInVhYiIsYS5iaXRuZXNzKTthLmZ1bGxWZXJzaW9uTGlzdCYmKGIrPSImdWFmdmw9IitlbmNvZGVVUklDb21wb25lbnQoYS5mdWxsVmVyc2lvbkxpc3QubWFwKGM9PmVuY29kZVVSSUNvbXBvbmVudChjLmJyYW5kKSsiOyIrZW5jb2RlVVJJQ29tcG9uZW50KGMudmVyc2lvbikpLmpvaW4oInwiKSkpO2Eud293NjQhPW51bGwmJihiKz0iJnVhdz0iK051bWJlcihhLndvdzY0KSk7cmV0dXJuIGIuc2xpY2UoMSl9OwpfLkxhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLkxhKTtlbHNle2xldCBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfTtfLk1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgtYi5sZW5ndGg7cmV0dXJuIGM+PTAmJmEuaW5kZXhPZihiLGMpPT1jfTtQYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIU5hKXJldHVybiBhO3RyeXtsZXQgYj1jPT5jO2E9TmEuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChiKXt9cmV0dXJuIGF9O1JhPWZ1bmN0aW9uKCl7UWE9PT12b2lkIDAmJihRYT1QYSgpKTtyZXR1cm4gUWF9OwpfLlRhPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLlNhKGEpfTtfLlVhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlNhKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O1ZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU3RyaW5nKCkuaW5kZXhPZigiYCIpPT09LTF9O18uWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLldhfTtfLllhPWZ1bmN0aW9uKGEpe2lmKF8uWGEoYSkpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307JGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBaYShiPT5iLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6Iil9O18uYmI9ZnVuY3Rpb24oYSxiPV8uYWIpe2lmKF8uWGEoYSkpcmV0dXJuIGE7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2Mpe2xldCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIFphJiZkLmZiKGEpKXJldHVybiBuZXcgXy5XYShhKX19OwpfLmRiPWZ1bmN0aW9uKGEpe2EgaW5zdGFuY2VvZiBfLldhP2E9Xy5ZYShhKTphPWNiLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGF9O18uZWI9ZnVuY3Rpb24oYSxiPWB1bmV4cGVjdGVkIHZhbHVlICR7YX0hYCl7dGhyb3cgRXJyb3IoYik7fTtfLmdiPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlSFRNTChhKTphO3JldHVybiBuZXcgXy5mYihhKX07Xy5pYj1mdW5jdGlvbihhKXtyZXR1cm4gaGIoInNjcmlwdCIsYSl9O2hiPWZ1bmN0aW9uKGEsYj1kb2N1bWVudCl7YT1iLnF1ZXJ5U2VsZWN0b3I/LihgJHthfVtub25jZV1gKTtyZXR1cm4gYT09bnVsbD8iIjphLm5vbmNlfHxhLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18ua2I9ZnVuY3Rpb24oYSl7dmFyIGI9UmEoKTthPWI/Yi5jcmVhdGVTY3JpcHQoYSk6YTtyZXR1cm4gbmV3IF8uamIoYSl9OwpfLmxiPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmpiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O21iPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaWIoYS5vd25lckRvY3VtZW50KTtiJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpfTtfLm5iPWZ1bmN0aW9uKGEsYil7YS50ZXh0Q29udGVudD1fLmxiKGIpO21iKGEpfTtfLm9iPWZ1bmN0aW9uKGEsYil7YS5zcmM9Xy5VYShiKTttYihhKX07Xy5xYj1mdW5jdGlvbihhLGIsYyl7aWYoYiBpbnN0YW5jZW9mIF8uU2EpYS5ocmVmPV8uVWEoYikudG9TdHJpbmcoKSxhLnJlbD1jO2Vsc2V7aWYocGIuaW5kZXhPZihjKT09PS0xKXRocm93IEVycm9yKCJqYCIrYyk7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9YixhLnJlbD1jKX19O18uc2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX07Cl8udGI9ZnVuY3Rpb24oYSxiKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYix2b2lkIDApfTtfLnViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYSxiLHZvaWQgMCl9O18udmI9ZnVuY3Rpb24oYSxiKXthOntsZXQgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKGUgaW4gZCYmYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpe2I9ZTticmVhayBhfWI9LTF9cmV0dXJuIGI8MD9udWxsOnR5cGVvZiBhPT09InN0cmluZyI/YS5jaGFyQXQoYik6YVtiXX07d2I9ZnVuY3Rpb24oYSxiKXtfLnNiKGEsYik+PTB8fGEucHVzaChiKX07Xy54Yj1mdW5jdGlvbihhLGIpe2I9Xy5zYihhLGIpO3ZhciBjOyhjPWI+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfTsKXy55Yj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihiPjApe2xldCBjPUFycmF5KGIpO2ZvcihsZXQgZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt6Yj1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe2xldCBkPWFyZ3VtZW50c1tjXTtpZihfLnlhKGQpKXtsZXQgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IobGV0IGg9MDtoPGY7aCsrKWFbZStoXT1kW2hdfWVsc2UgYS5wdXNoKGQpfX07QWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz0wLGQ9bmV3IFNldDtjPGEubGVuZ3RoOyl7bGV0IGU9YVtjKytdO2QuaGFzKGUpfHwoZC5hZGQoZSksYVtiKytdPWUpfWEubGVuZ3RoPWJ9OwpfLkJiPWZ1bmN0aW9uKGEsYil7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Yn07CkViPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2EoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7YT09bnVsbCYmKGE9J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTphLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOmIsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgYz0hMTt0cnl7dmFyIGQ9YS5saW5lTnVtYmVyfHxhLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChmKXtkPSJOb3QgYXZhaWxhYmxlIixjPSEwfXRyeXt2YXIgZT1hLmZpbGVOYW1lfHxhLmZpbGVuYW1lfHxhLnNvdXJjZVVSTHx8Xy51LiRnb29nRGVidWdGbmFtZXx8Yn1jYXRjaChmKXtlPSJOb3QgYXZhaWxhYmxlIixjPSEwfWI9Q2IoYSk7aWYoISghYyYmYS5saW5lTnVtYmVyJiZhLmZpbGVOYW1lJiZhLnN0YWNrJiZhLm1lc3NhZ2UmJmEubmFtZSkpe2M9YS5tZXNzYWdlOwppZihjPT1udWxsKXtpZihhLmNvbnN0cnVjdG9yJiZhLmNvbnN0cnVjdG9yIGluc3RhbmNlb2YgRnVuY3Rpb24pe2lmKGEuY29uc3RydWN0b3IubmFtZSljPWEuY29uc3RydWN0b3IubmFtZTtlbHNlIGlmKGM9YS5jb25zdHJ1Y3RvcixEYltjXSljPURiW2NdO2Vsc2V7Yz1TdHJpbmcoYyk7aWYoIURiW2NdKXtsZXQgZj0vZnVuY3Rpb25ccysoW15cKF0rKS9tLmV4ZWMoYyk7RGJbY109Zj9mWzFdOiJbQW5vbnltb3VzXSJ9Yz1EYltjXX1jPSdVbmtub3duIEVycm9yIG9mIHR5cGUgIicrYysnIid9ZWxzZSBjPSJVbmtub3duIEVycm9yIG9mIHVua25vd24gdHlwZSI7dHlwZW9mIGEudG9TdHJpbmc9PT0iZnVuY3Rpb24iJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIT09YS50b1N0cmluZyYmKGMrPSI6ICIrYS50b1N0cmluZygpKX1yZXR1cm57bWVzc2FnZTpjLG5hbWU6YS5uYW1lfHwiVW5rbm93bkVycm9yIixsaW5lTnVtYmVyOmQsZmlsZU5hbWU6ZSxzdGFjazpifHwiTm90IGF2YWlsYWJsZSJ9fXJldHVybnttZXNzYWdlOmEubWVzc2FnZSwKbmFtZTphLm5hbWUsbGluZU51bWJlcjphLmxpbmVOdW1iZXIsZmlsZU5hbWU6YS5maWxlTmFtZSxzdGFjazpifX07CkNiPWZ1bmN0aW9uKGEsYil7Ynx8KGI9e30pO2JbRmIoYSldPSEwO3ZhciBjPWEuc3RhY2t8fCIiLGQ9YS5jYXVzZTtkJiYhYltGYihkKV0mJihjKz0iXG5DYXVzZWQgYnk6ICIsZC5zdGFjayYmZC5zdGFjay5pbmRleE9mKGQudG9TdHJpbmcoKSk9PTB8fChjKz10eXBlb2YgZD09PSJzdHJpbmciP2Q6ZC5tZXNzYWdlKyJcbiIpLGMrPUNiKGQsYikpO2E9YS5lcnJvcnM7aWYoQXJyYXkuaXNBcnJheShhKSl7ZD0xO2xldCBlO2ZvcihlPTA7ZTxhLmxlbmd0aCYmIShkPjQpO2UrKyliW0ZiKGFbZV0pXXx8KGMrPSJcbklubmVyIGVycm9yICIrZCsrICsiOiAiLGFbZV0uc3RhY2smJmFbZV0uc3RhY2suaW5kZXhPZihhW2VdLnRvU3RyaW5nKCkpPT0wfHwoYys9dHlwZW9mIGFbZV09PT0ic3RyaW5nIj9hW2VdOmFbZV0ubWVzc2FnZSsiXG4iKSxjKz1DYihhW2VdLGIpKTtlPGEubGVuZ3RoJiYoYys9IlxuLi4uICIrKGEubGVuZ3RoLWUpKyIgbW9yZSBpbm5lciBlcnJvcnMiKX1yZXR1cm4gY307CkZiPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO3R5cGVvZiBhLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmKGI9IiIrYSk7cmV0dXJuIGIrYS5zdGFja307R2I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoYSl9O18uSGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhLnJlcGxhY2UoL1wrL2csIiAiKSl9O18uSWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9IiI7YSYmKGsrPWErIjoiKTtjJiYoays9Ii8vIixiJiYoays9YisiQCIpLGsrPWMsZCYmKGsrPSI6IitkKSk7ZSYmKGsrPWUpO2YmJihrKz0iPyIrZik7aCYmKGsrPSIjIitoKTtyZXR1cm4ga307Xy5NYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRjaChLYil9O05iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5PYj1mdW5jdGlvbihhKXthPV8uTWIoYSlbMV18fG51bGw7IWEmJl8udS5zZWxmJiZfLnUuc2VsZi5sb2NhdGlvbiYmKGE9Xy51LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpO3JldHVybiBhP2EudG9Mb3dlckNhc2UoKToiIn07Xy5QYj1mdW5jdGlvbihhKXtyZXR1cm4gTmIoXy5NYihhKVszXXx8bnVsbCl9O18uUWI9ZnVuY3Rpb24oYSl7cmV0dXJuIE5iKF8uTWIoYSlbNV18fG51bGwpfTtfLlJiPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2xldCBkPWFbY10uaW5kZXhPZigiPSIpLGUsZj1udWxsO2Q+PTA/KGU9YVtjXS5zdWJzdHJpbmcoMCxkKSxmPWFbY10uc3Vic3RyaW5nKGQrMSkpOmU9YVtjXTtiKGUsZj9fLkhiKGYpOiIiKX19fTsKXy5TYj1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBhO3ZhciBjPWEuaW5kZXhPZigiIyIpO2M8MCYmKGM9YS5sZW5ndGgpO3ZhciBkPWEuaW5kZXhPZigiPyIpO2lmKGQ8MHx8ZD5jKXtkPWM7dmFyIGU9IiJ9ZWxzZSBlPWEuc3Vic3RyaW5nKGQrMSxjKTthPVthLnNsaWNlKDAsZCksZSxhLnNsaWNlKGMpXTtjPWFbMV07YVsxXT1iP2M/YysiJiIrYjpiOmM7cmV0dXJuIGFbMF0rKGFbMV0/Ij8iK2FbMV06IiIpK2FbMl19O1RiPWZ1bmN0aW9uKGEsYixjKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKVRiKGEsU3RyaW5nKGJbZF0pLGMpO2Vsc2UgYiE9bnVsbCYmYy5wdXNoKGErKGI9PT0iIj8iIjoiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSkpKX07Xy5VYj1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IGMgaW4gYSlUYihjLGFbY10sYik7cmV0dXJuIGIuam9pbigiJiIpfTsKXy5XYj1mdW5jdGlvbihhLGIpe2I9Xy5VYihiKTtyZXR1cm4gXy5TYihhLGIpfTtfLlhiPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1jLmxlbmd0aDsoYj1hLmluZGV4T2YoYyxiKSk+PTAmJmI8ZDspe3ZhciBmPWEuY2hhckNvZGVBdChiLTEpO2lmKGY9PTM4fHxmPT02MylpZihmPWEuY2hhckNvZGVBdChiK2UpLCFmfHxmPT02MXx8Zj09Mzh8fGY9PTM1KXJldHVybiBiO2IrPWUrMX1yZXR1cm4tMX07Xy5aYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc2VhcmNoKF8uWWIpLGQ9Xy5YYihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gXy5IYihhLnNsaWNlKGQsZSE9PS0xP2U6MCkpfTtfLiRiPWZ1bmN0aW9uKGEpe18udS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgYTt9LDApfTsKXy5hYz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT01NTI5NiYmZCsxPGEubGVuZ3RoJiYoYS5jaGFyQ29kZUF0KGQrMSkmNjQ1MTIpPT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gYn07Xy5iYz1mdW5jdGlvbigpe3ZhciBhPV8udS5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTsKZmM9ZnVuY3Rpb24oYSl7aWYoIWRjfHwhZWMpcmV0dXJuITE7Zm9yKGxldCBiPTA7YjxlYy5icmFuZHMubGVuZ3RoO2IrKyl7bGV0IHticmFuZDpjfT1lYy5icmFuZHNbYl07aWYoYyYmYy5pbmRleE9mKGEpIT0tMSlyZXR1cm4hMH1yZXR1cm4hMX07aGM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYmMoKS5pbmRleE9mKGEpIT0tMX07aWM9ZnVuY3Rpb24oKXtyZXR1cm4gZGM/ISFlYyYmZWMuYnJhbmRzLmxlbmd0aD4wOiExfTtqYz1mdW5jdGlvbigpe3JldHVybiBpYygpPyExOmhjKCJPcGVyYSIpfTtrYz1mdW5jdGlvbigpe3JldHVybiBoYygiRmlyZWZveCIpfHxoYygiRnhpT1MiKX07bWM9ZnVuY3Rpb24oKXtyZXR1cm4gaWMoKT9mYygiQ2hyb21pdW0iKTooaGMoIkNocm9tZSIpfHxoYygiQ3JpT1MiKSkmJiEoaWMoKT8wOmhjKCJFZGdlIikpfHxoYygiU2lsayIpfTtuYz1mdW5jdGlvbigpe3JldHVybiBkYz8hIWVjJiYhIWVjLnBsYXRmb3JtOiExfTsKb2M9ZnVuY3Rpb24oKXtyZXR1cm4gaGMoImlQaG9uZSIpJiYhaGMoImlQb2QiKSYmIWhjKCJpUGFkIil9O18ucGM9ZnVuY3Rpb24oYSl7Xy5wY1siICJdKGEpO3JldHVybiBhfTtfLnNjPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMCYmKGI9MCk7cWMoKTtiPXJjW2JdO2Zvcih2YXIgYz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKSxkPWJbNjRdfHwiIixlPTAsZj0wO2U8YS5sZW5ndGgtMjtlKz0zKXt2YXIgaD1hW2VdLGs9YVtlKzFdLGw9YVtlKzJdLG09YltoPj4yXTtoPWJbKGgmMyk8PDR8az4+NF07az1iWyhrJjE1KTw8MnxsPj42XTtsPWJbbCY2M107Y1tmKytdPW0raCtrK2x9bT0wO2w9ZDtzd2l0Y2goYS5sZW5ndGgtZSl7Y2FzZSAyOm09YVtlKzFdLGw9YlsobSYxNSk8PDJdfHxkO2Nhc2UgMTphPWFbZV0sY1tmXT1iW2E+PjJdK2JbKGEmMyk8PDR8bT4+NF0rbCtkfXJldHVybiBjLmpvaW4oIiIpfTsKXy51Yz1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aCxjPWIqMy80O2MlMz9jPU1hdGguZmxvb3IoYyk6Ij0uIi5pbmRleE9mKGFbYi0xXSkhPS0xJiYoYz0iPS4iLmluZGV4T2YoYVtiLTJdKSE9LTE/Yy0yOmMtMSk7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoYyksZT0wO3RjKGEsZnVuY3Rpb24oZil7ZFtlKytdPWZ9KTtyZXR1cm4gZSE9PWM/ZC5zdWJhcnJheSgwLGUpOmR9O3RjPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhlKXtmb3IoO2Q8YS5sZW5ndGg7KXtsZXQgZj1hLmNoYXJBdChkKyspLGg9dmNbZl07aWYoaCE9bnVsbClyZXR1cm4gaDtpZighL15bXHNceGEwXSokLy50ZXN0KGYpKXRocm93IEVycm9yKCJtYCIrZik7fXJldHVybiBlfXFjKCk7Zm9yKHZhciBkPTA7Oyl7bGV0IGU9YygtMSksZj1jKDApLGg9Yyg2NCksaz1jKDY0KTtpZihrPT09NjQmJmU9PT0tMSlicmVhaztiKGU8PDJ8Zj4+NCk7aCE9NjQmJihiKGY8PDQmMjQwfGg+PjIpLGshPTY0JiZiKGg8PDYmMTkyfGspKX19OwpxYz1mdW5jdGlvbigpe2lmKCF2Yyl7dmM9e307dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksYj1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXTtmb3IobGV0IGM9MDtjPDU7YysrKXtsZXQgZD1hLmNvbmNhdChiW2NdLnNwbGl0KCIiKSk7cmNbY109ZDtmb3IobGV0IGU9MDtlPGQubGVuZ3RoO2UrKyl7bGV0IGY9ZFtlXTt2Y1tmXT09PXZvaWQgMCYmKHZjW2ZdPWUpfX19fTtfLnhjPWZ1bmN0aW9uKGEsYil7aWYoYSE9bnVsbCl7dmFyIGM9d2M/Pyh3Yz17fSk7dmFyIGQ9Y1thXXx8MDtkPj1ifHwoY1thXT1kKzEsYT1FcnJvcigpLF8uQmIoYSwiaW5jaWRlbnQiKSxfLiRiKGEpKX19O18ueWM9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYiYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpfTsKXy5CYz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuaiE9PV8uemMmJiEhKDImKGEuRGFbXy5BY118MCkpOiEhKDImYikmJmEuaiE9PV8uemN9O18uQ2M9ZnVuY3Rpb24oYSl7YS51Sj0hMDtyZXR1cm4gYX07Xy5GYz1mdW5jdGlvbihhKXtpZihEYyhhKSl7aWYoIS9eXHMqKD86LT9bMS05XVxkKnwwKT9ccyokLy50ZXN0KGEpKXRocm93IEVycm9yKFN0cmluZyhhKSk7fWVsc2UgaWYoRWMoYSkmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihhKSl0aHJvdyBFcnJvcihTdHJpbmcoYSkpO3JldHVybiBCaWdJbnQoYSl9O0djPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtJYz1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLnhjKEhjLDEpfTsKTGM9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLkdhKF8uSmMpLGg7IWUmJmYmJihoPWFbZl0pJiZoLmN3KEljKTtmPVtdO3ZhciBrPWEubGVuZ3RoO2g9NDI5NDk2NzI5NTt2YXIgbD0hMSxtPSEhKGImNjQpLG49bT9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBwPWsmJmFbay0xXTtwIT1udWxsJiZ0eXBlb2YgcD09PSJvYmplY3QiJiZwLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhrLS0saD1rKTpwPXZvaWQgMDshbXx8YiYxMjh8fGV8fChsPSEwLGg9KEtjPz9HYykoaC1uLG4sYSxwLHZvaWQgMCkrbil9Yj12b2lkIDA7Zm9yKGU9MDtlPGs7ZSsrKXtsZXQgcj1hW2VdO2lmKHIhPW51bGwmJihyPWMocixkKSkhPW51bGwpaWYobSYmZT49aCl7bGV0IHQ9ZS1uOyhiPz8oYj17fSkpW3RdPXJ9ZWxzZSBmW2VdPXJ9aWYocClmb3IobGV0IHIgaW4gcCl7YT1wW3JdO2lmKGE9PW51bGx8fChhPWMoYSxkKSk9PW51bGwpY29udGludWU7az0rcjsKbGV0IHQ7bSYmIU51bWJlci5pc05hTihrKSYmKHQ9aytuKTxoP2ZbdF09YTooYj8/KGI9e30pKVtyXT1hfWImJihsP2YucHVzaChiKTpmW2hdPWIpO3JldHVybiBmfTtOYz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLk1jKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXtsZXQgYj1hW18uQWNdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYiYxP3ZvaWQgMDpMYyhhLGIsTmMpfWlmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBRYyhhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy5SYyYmYSBpbnN0YW5jZW9mIF8uUmMpcmV0dXJuIGEubygpO3JldHVybn1yZXR1cm4gYX07ClVjPWZ1bmN0aW9uKGEsYil7aWYoYil7S2M9Yj09bnVsbHx8Yj09PUdjfHxiW1NjXSE9PVRjP0djOmI7dHJ5e3JldHVybiBRYyhhKX1maW5hbGx5e0tjPXZvaWQgMH19cmV0dXJuIFFjKGEpfTtRYz1mdW5jdGlvbihhKXthPWEuRGE7cmV0dXJuIExjKGEsYVtfLkFjXXwwLE5jKX07Cl8uWGM9ZnVuY3Rpb24oYSxiLGMsZD0wKXtpZihhPT1udWxsKXt2YXIgZT0zMjtjPyhhPVtjXSxlfD0xMjgpOmE9W107YiYmKGU9ZSYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJzIik7ZT1hW18uQWNdfDA7aWYoVmMmJjEmZSl0aHJvdyBFcnJvcigidCIpOzIwNDgmZSYmISgyJmUpJiZXYygpO2lmKGUmMjU2KXRocm93IEVycm9yKCJ1Iik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJihhW18uQWNdPWV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigidiIpO2E6e2M9YTtlfD02NDt2YXIgZj1jLmxlbmd0aDtpZihmKXt2YXIgaD1mLTE7bGV0IGw9Y1toXTtpZihsIT1udWxsJiZ0eXBlb2YgbD09PSJvYmplY3QiJiZsLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtiPWUmMTI4PzA6LTE7aC09YjtpZihoPj0xMDI0KXRocm93IEVycm9yKCJ4Iik7Zm9yKHZhciBrIGluIGwpaWYoZj0rayxmPGgpY1tmKwpiXT1sW2tdLGRlbGV0ZSBsW2tdO2Vsc2UgYnJlYWs7ZT1lJi0xNjc2MDgzM3woaCYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoInkiKTtlPWUmLTE2NzYwODMzfChrJjEwMjMpPDwxNH19fWFbXy5BY109ZXw2NHxkO3JldHVybiBhfTtXYz1mdW5jdGlvbigpe2lmKFZjKXRocm93IEVycm9yKCJ3Iik7Xy54YyhZYyw1KX07CmNkPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYz1hW18uQWNdfDA7YS5sZW5ndGg9PT0wJiZjJjE/YT12b2lkIDA6YyYyfHwoIWJ8fDQwOTYmY3x8MTYmYz9hPV8uWmMoYSxjLCExLGImJiEoYyYxNikpOihhW18uQWNdfD0zNCxjJjQmJk9iamVjdC5mcmVlemUoYSkpKTtyZXR1cm4gYX1pZihhIT1udWxsJiZhW18uT2NdPT09Xy5QYylyZXR1cm4gYj1hLkRhLGM9YltfLkFjXXwwLF8uQmMoYSxjKT9hOl8uJGMoYSxiLGMpP18uYmQoYSxiKTpfLlpjKGIsYyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIF8uUmMmJmEgaW5zdGFuY2VvZiBfLlJjKXJldHVybiBhfTtfLmJkPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmo9Xy56Yyk7YS5vPV8uemM7cmV0dXJuIGF9OwpfLlpjPWZ1bmN0aW9uKGEsYixjLGQpe2Q/PyhkPSEhKDM0JmIpKTthPUxjKGEsYixjZCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDthW18uQWNdPWI7cmV0dXJuIGF9O18uJGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjJjI/ITA6YyYzMiYmIShjJjQwOTYpPyhiW18uQWNdPWN8MixhLmo9Xy56YywhMCk6ITF9O18uZWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uZGQoYS5EYSxiLGMsZSk7aWYoYiE9PW51bGx8fGQmJmEubyE9PV8uemMpcmV0dXJuIGJ9OwpfLmRkPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGI9PT0tMSlyZXR1cm4gbnVsbDt2YXIgZT1iKyhjPzA6LTEpLGY9YS5sZW5ndGgtMTtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpe3ZhciBoPWFbZl07aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yz1oW2JdO3ZhciBrPSEwfWVsc2UgaWYoZT09PWYpYz1oO2Vsc2UgcmV0dXJufWVsc2UgYz1hW2VdO2lmKGQmJmMhPW51bGwpe2Q9ZChjKTtpZihkPT1udWxsKXJldHVybiBkO2lmKCFPYmplY3QuaXMoZCxjKSlyZXR1cm4gaz9oW2JdPWQ6YVtlXT1kLGR9cmV0dXJuIGN9fTtmZD1mdW5jdGlvbigpe3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhyb3cgRXJyb3IoKTt9fTtPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxhLnByb3RvdHlwZSk7cmV0dXJuIGF9O18uZ2Q9ZnVuY3Rpb24oKXt9OwpoZD1mdW5jdGlvbihhKXt2YXIgYj0hMSxjO3JldHVybiBmdW5jdGlvbigpe2J8fChjPWEoKSxiPSEwKTtyZXR1cm4gY319O2pkPWZ1bmN0aW9uKGEpe3ZhciBiPWlkO2lmKGIpZm9yKGxldCBjIGluIGIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsYykmJmEoYltjXSxjLGIpfTtrZD1mdW5jdGlvbigpe3ZhciBhPVtdO2pkKGI9PnthLnB1c2goYil9KTtyZXR1cm4gYX07bWQ9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSxiPXt9O18udGIobGQoKSxjPT57YS5zYW5kYm94JiZhLnNhbmRib3guc3VwcG9ydHMmJmEuc2FuZGJveC5zdXBwb3J0cyhjKSYmKGJbY109ITApfSk7cmV0dXJuIGJ9O18ubmQ9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07b2Q9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgaW4gYSliLmNhbGwodm9pZCAwLGFbY10sYyxhKX07Cl8ucGQ9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9OwpfLnFkPWZ1bmN0aW9uKGEpe2lmKCFhfHx0eXBlb2YgYSE9PSJvYmplY3QiKXJldHVybiBhO2lmKHR5cGVvZiBhLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChhKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQoYSk7aWYoYSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKGEuZ2V0VGltZSgpKTt2YXIgYj1BcnJheS5pc0FycmF5KGEpP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KGEpfHxhIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO2ZvcihsZXQgYyBpbiBhKWJbY109Xy5xZChhW2NdKTtyZXR1cm4gYn07CnNkPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGM9YXJndW1lbnRzW2VdO2ZvcihkIGluIGMpYVtkXT1jW2RdO2ZvcihsZXQgZj0wO2Y8cmQubGVuZ3RoO2YrKyl7dmFyIGQ9cmRbZl07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZCkmJihhW2RdPWNbZF0pfX19O18ueGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bmV3IHVkKF8udmQoYSkpOndkfHwod2Q9bmV3IHVkKX07Xy55ZD1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLm5kKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLnpkPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKQWQ9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoZSl7ZSYmYi5hcHBlbmRDaGlsZCh0eXBlb2YgZT09PSJzdHJpbmciP2EuY3JlYXRlVGV4dE5vZGUoZSk6ZSl9Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV07IV8ueWEoZil8fF8uQWEoZikmJmYubm9kZVR5cGU+MD9kKGYpOl8udGIoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIj9fLnliKGYpOmYsZCl9fTtfLkNkPWZ1bmN0aW9uKGEpe3JldHVybiBCZChkb2N1bWVudCxhKX07QmQ9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5EZD1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5wYXJlbnROb2RlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTpudWxsfTsKXy52ZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Xy5GZD1mdW5jdGlvbihhKXtyZXR1cm4gYS50YWdOYW1lPT0iQSImJmEuaGFzQXR0cmlidXRlKCJocmVmIil8fGEudGFnTmFtZT09IklOUFVUInx8YS50YWdOYW1lPT0iVEVYVEFSRUEifHxhLnRhZ05hbWU9PSJTRUxFQ1QifHxhLnRhZ05hbWU9PSJCVVRUT04iPyFhLmRpc2FibGVkJiYoIWEuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHxFZChhKSk6YS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJkVkKGEpfTtFZD1mdW5jdGlvbihhKXthPWEudGFiSW5kZXg7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciImJmE+PTAmJmE8MzI3Njh9O3VkPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfHxfLnUuZG9jdW1lbnR8fGRvY3VtZW50fTsKR2Q9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigiQmAiK2EpO2lmKGMhPT0iaHR0cCImJmMhPT0iaHR0cHMiJiZjIT09ImNocm9tZS1leHRlbnNpb24iJiZjIT09Im1vei1leHRlbnNpb24iJiYKYyE9PSJmaWxlIiYmYyE9PSJhbmRyb2lkLWFwcCImJmMhPT0iY2hyb21lLXNlYXJjaCImJmMhPT0iY2hyb21lLXVudHJ1c3RlZCImJmMhPT0iY2hyb21lIiYmYyE9PSJhcHAiJiZjIT09ImRldnRvb2xzIil0aHJvdyBFcnJvcigiQ2AiK2MpO2E9IiI7dmFyIGQ9Yi5pbmRleE9mKCI6Iik7aWYoZCE9LTEpe3ZhciBlPWIuc3Vic3RyaW5nKGQrMSk7Yj1iLnN1YnN0cmluZygwLGQpO2lmKGM9PT0iaHR0cCImJmUhPT0iODAifHxjPT09Imh0dHBzIiYmZSE9PSI0NDMiKWE9IjoiK2V9cmV0dXJuIGMrIjovLyIrYithfTsKSGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7ZVswXT0xNzMyNTg0MTkzO2VbMV09NDAyMzIzMzQxNztlWzJdPTI1NjIzODMxMDI7ZVszXT0yNzE3MzM4Nzg7ZVs0XT0zMjg1Mzc3NTIwO249bT0wfWZ1bmN0aW9uIGIocCl7Zm9yKHZhciByPWgsdD0wO3Q8NjQ7dCs9NClyW3QvNF09cFt0XTw8MjR8cFt0KzFdPDwxNnxwW3QrMl08PDh8cFt0KzNdO2Zvcih0PTE2O3Q8ODA7dCsrKXA9clt0LTNdXnJbdC04XV5yW3QtMTRdXnJbdC0xNl0sclt0XT0ocDw8MXxwPj4+MzEpJjQyOTQ5NjcyOTU7cD1lWzBdO3ZhciB2PWVbMV0sej1lWzJdLEU9ZVszXSxBPWVbNF07Zm9yKHQ9MDt0PDgwO3QrKyl7aWYodDw0MClpZih0PDIwKXt2YXIgRj1FXnYmKHpeRSk7dmFyIEM9MTUxODUwMDI0OX1lbHNlIEY9dl56XkUsQz0xODU5Nzc1MzkzO2Vsc2UgdDw2MD8oRj12Jnp8RSYodnx6KSxDPTI0MDA5NTk3MDgpOihGPXZeel5FLEM9MzM5NTQ2OTc4Mik7Rj0oKHA8PDV8cD4+PjI3KSY0Mjk0OTY3Mjk1KStGKwpBK0Mrclt0XSY0Mjk0OTY3Mjk1O0E9RTtFPXo7ej0odjw8MzB8dj4+PjIpJjQyOTQ5NjcyOTU7dj1wO3A9Rn1lWzBdPWVbMF0rcCY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt2JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK3omNDI5NDk2NzI5NTtlWzNdPWVbM10rRSY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStBJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhwLHIpe2lmKHR5cGVvZiBwPT09InN0cmluZyIpe3A9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHApKTtmb3IodmFyIHQ9W10sdj0wLHo9cC5sZW5ndGg7djx6Oysrdil0LnB1c2gocC5jaGFyQ29kZUF0KHYpKTtwPXR9cnx8KHI9cC5sZW5ndGgpO3Q9MDtpZihtPT0wKWZvcig7dCs2NDxyOyliKHAuc2xpY2UodCx0KzY0KSksdCs9NjQsbis9NjQ7Zm9yKDt0PHI7KWlmKGZbbSsrXT1wW3QrK10sbisrLG09PTY0KWZvcihtPTAsYihmKTt0KzY0PHI7KWIocC5zbGljZSh0LHQrNjQpKSx0Kz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHA9W10scj0Kbio4O208NTY/YyhrLDU2LW0pOmMoayw2NC0obS01NikpO2Zvcih2YXIgdD02Mzt0Pj01Njt0LS0pZlt0XT1yJjI1NSxyPj4+PTg7YihmKTtmb3IodD1yPTA7dDw1O3QrKylmb3IodmFyIHY9MjQ7dj49MDt2LT04KXBbcisrXT1lW3RdPj52JjI1NTtyZXR1cm4gcH1mb3IodmFyIGU9W10sZj1bXSxoPVtdLGs9WzEyOF0sbD0xO2w8NjQ7KytsKWtbbF09MDt2YXIgbSxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxrdjpmdW5jdGlvbigpe2Zvcih2YXIgcD1kKCkscj0iIix0PTA7dDxwLmxlbmd0aDt0Kyspcis9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHBbdF0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHBbdF0lMTYpO3JldHVybiByfX19O0pkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TdHJpbmcoXy51LmxvY2F0aW9uLmhyZWYpO3JldHVybiBkJiZhJiZiP1tiLElkKEdkKGQpLGEsY3x8bnVsbCldLmpvaW4oIiAiKTpudWxsfTsKSWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnRiKGQsZnVuY3Rpb24oayl7ZS5wdXNoKGspfSksS2QoZS5qb2luKCIgIikpO3ZhciBmPVtdLGg9W107Xy50YihjLGZ1bmN0aW9uKGspe2gucHVzaChrLmtleSk7Zi5wdXNoKGsudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy50YihkLGZ1bmN0aW9uKGspe2UucHVzaChrKX0pO2E9S2QoZS5qb2luKCIgIikpO2E9W2MsYV07aC5sZW5ndGg9PTB8fGEucHVzaChoLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9O0tkPWZ1bmN0aW9uKGEpe3ZhciBiPUhkKCk7Yi51cGRhdGUoYSk7cmV0dXJuIGIua3YoKS50b0xvd2VyQ2FzZSgpfTtMZD1mdW5jdGlvbihhKXt0aGlzLmo9YXx8e2Nvb2tpZToiIn19OwpNZD1mdW5jdGlvbihhKXthPShhLmouY29va2llfHwiIikuc3BsaXQoIjsiKTt2YXIgYj1bXSxjPVtdO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZD1hW2ZdLnRyaW0oKTt2YXIgZT1kLmluZGV4T2YoIj0iKTtlPT0tMT8oYi5wdXNoKCIiKSxjLnB1c2goZCkpOihiLnB1c2goZC5zdWJzdHJpbmcoMCxlKSksYy5wdXNoKGQuc3Vic3RyaW5nKGUrMSkpKX1yZXR1cm57a2V5czpiLHZhbHVlczpjfX07Xy5OZD1mdW5jdGlvbigpe3ZhciBhPV8udS5fX1NBUElTSUR8fF8udS5fX0FQSVNJRHx8Xy51Ll9fM1BTQVBJU0lEfHxfLnUuX18xUFNBUElTSUR8fF8udS5fX09WRVJSSURFX1NJRDtpZihhKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoYT1uZXcgTGQoZG9jdW1lbnQpLGE9YS5nZXQoIlNBUElTSUQiKXx8YS5nZXQoIkFQSVNJRCIpfHxhLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8YS5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhYX07Ck9kPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8udVthXSl8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoYT0obmV3IExkKGRvY3VtZW50KSkuZ2V0KGIpKTtyZXR1cm4gYT9KZChhLGMsZCk6bnVsbH07Cl8uUGQ9ZnVuY3Rpb24oYSl7dmFyIGI9R2QoXy51Py5sb2NhdGlvbi5ocmVmKSxjPVtdO2lmKF8uTmQoKSl7Yj1iLmluZGV4T2YoImh0dHBzOiIpPT0wfHxiLmluZGV4T2YoImNocm9tZS1leHRlbnNpb246Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLXVudHJ1c3RlZDovL25ldy10YWItcGFnZSIpPT0wfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTA7dmFyIGQsZT0oZD1iKT9fLnUuX19TQVBJU0lEOl8udS5fX0FQSVNJRDtlfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KGU9bmV3IExkKGRvY3VtZW50KSxlPWUuZ2V0KGQ/IlNBUElTSUQiOiJBUElTSUQiKXx8ZS5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhkPWU/SmQoZSxkPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLGEpOm51bGwpJiZjLnB1c2goZCk7YiYmKChiPU9kKCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsYSkpJiZjLnB1c2goYiksKGE9T2QoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpfXJldHVybiBjLmxlbmd0aD09MD9udWxsOmMuam9pbigiICIpfTtTZD1mdW5jdGlvbihhKXtfLlFkP2EoXy5RZCk6KFJkPz8oUmQ9W10pKS5wdXNoKGEpfTtfLlZkPWZ1bmN0aW9uKCl7IV8uUWQmJl8uVGQmJl8uVWQoXy5UZCgpKTtyZXR1cm4gXy5RZH07Xy5VZD1mdW5jdGlvbihhKXtfLlFkPWE7UmQ/LmZvckVhY2goU2QpO1JkPXZvaWQgMH07Xy5XZD1mdW5jdGlvbihhKXtfLlFkJiZfLlFkLlJvKGEpfTtfLlhkPWZ1bmN0aW9uKCl7Xy5RZCYmXy5RZC55ZSgpfTsKWWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxfLnhkKCk7Yj1jLmo7dmFyIGQ9Yy5jcmVhdGVFbGVtZW50KCJTVFlMRSIpLGU9aGIoInN0eWxlIixiKTtlJiZkLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpO2QudHlwZT0idGV4dC9jc3MiO2M9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdO2Quc3R5bGVTaGVldD9kLnN0eWxlU2hlZXQuY3NzVGV4dD1hOmQuYXBwZW5kQ2hpbGQoYi5jcmVhdGVUZXh0Tm9kZShhKSk7Yy5hcHBlbmRDaGlsZChkKTtyZXR1cm4gZH07Xy5aZD1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07Xy4kZD1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWFyZ3VtZW50cy5sZW5ndGg7YjxjOysrYil7bGV0IGQ9YXJndW1lbnRzW2JdO18ueWEoZCk/Xy4kZC5hcHBseShudWxsLGQpOl8uWmQoZCl9fTtfLmFlPWZ1bmN0aW9uKCl7dGhpcy5ZPXRoaXMuWTt0aGlzLks9dGhpcy5LfTtiZT1mdW5jdGlvbigpe18uYWUuY2FsbCh0aGlzKX07CmNlPWZ1bmN0aW9uKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9O2VlPWZ1bmN0aW9uKGEsYil7Xy5hZS5jYWxsKHRoaXMpO3RoaXMuaj1hO3RoaXMuRD1iO3RoaXMuQj1kZT9udWxsOltdO3RoaXMudj1kZT9udWxsOltdO3RoaXMubz1kZT9udWxsOltdO3RoaXMuST0hMX07ZmU9ZnVuY3Rpb24oYSxiKXthLm98fChhLm89W10pO2Euby5wdXNoKG5ldyB2YS53ayhiLHZvaWQgMCkpfTtnZT1mdW5jdGlvbihhLGIsYyl7YS5CfHwoYS5CPVtdKTthLkIucHVzaChuZXcgdmEud2soYixjKSl9O2hlPWZ1bmN0aW9uKGEsYil7YS52fHwoYS52PVtdKTthLnYucHVzaChuZXcgdmEud2soYix2b2lkIDApKX07aWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl0cnl7YVtkXS5leGVjdXRlKGIpfWNhdGNoKGUpe18uJGIoZSksYy5wdXNoKGUpfWEubGVuZ3RoPTA7cmV0dXJuIGMubGVuZ3RoP2M6bnVsbH07amU9ZnVuY3Rpb24oKXt0aGlzLlk9bnVsbH07CmtlPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LGM9Yi5zdHlsZVNoZWV0cy5sZW5ndGgsZD1ZZChhLG5ldyB1ZChiKSk7ZC5zZXRBdHRyaWJ1dGUoImRhdGEtbGF0ZS1jc3MiLCIiKTtiLnN0eWxlU2hlZXRzLmxlbmd0aD09YysxJiZfLnZiKGIuc3R5bGVTaGVldHMsZT0+KGUub3duZXJOb2RlfHxlLm93bmluZ0VsZW1lbnQpPT1kKX07cWU9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz1sZShhKSxkPW5ldyBtZSxlPV8uTWIoYylbNV07b2QobmUsZnVuY3Rpb24oaCl7dmFyIGs9ZS5tYXRjaCgiLyIraCsiPShbXi9dKykiKTtrJiZvZShkLGgsa1sxXSl9KTt2YXIgZj0iIjtmPWEuaW5kZXhPZigiXy9zcy8iKSE9LTE/Il8vc3MvIjoiXy9qcy8iO3BlKGQsYS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpKTtpZighYilyZXR1cm4gZDsoYT1fLk1iKGMpWzZdfHxudWxsKSYmXy5SYihhLChoLGspPT57ZC52W2hdPWt9KTtyZXR1cm4gZH07CmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN0YXJ0c1dpdGgoImh0dHBzOi8vdWJlcnByb3h5LXBlbi1yZWRpcmVjdC5jb3JwLmdvb2dsZS5jb20vdWJlcnByb3h5L3Blbj91cmw9Iik/YS5zdWJzdHIoNjUpOmF9O3JlPWZ1bmN0aW9uKGEpe2E9Xy5RYihsZShhKSk7cmV0dXJuIGE9PT1udWxsPyExOlJlZ0V4cCgiKC9fL2pzLyl8KC9fL3NzLykiLCJnIikudGVzdChhKT8vXC9rPS8udGVzdChhKTohMX07b2U9ZnVuY3Rpb24oYSxiLGMpe2M/YS5qW2JdPWM6ZGVsZXRlIGEualtiXX07cGU9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnZlPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9ZD0+e2EualtkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EualtkXSl9O3NlKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5qfHxvZShhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuai5leGNtfHxhLmouZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksdGUoYSwiYnIiKSE9IjEiJiZ0ZShhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLHRlKGEsInJiIik9PSIxIiYmYygicmIiKSx0ZShhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLHVlKGEpIT09IiImJmMoInd0IiksYygiZ3NzbW9kdWxlc2V0cHJvdG8iKSxjKCJ1amciKSxjKCJzcCIpLGMoImljaGMiKSwKYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9O3RlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEualtiXT9hLmpbYl06bnVsbH07c2U9ZnVuY3Rpb24oYSl7YT10ZShhLCJtZCIpO3JldHVybiEhYSYmYSE9PSIwIn07dWU9ZnVuY3Rpb24oYSl7c3dpdGNoKHRlKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fTt3ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4bSIsYi5qb2luKCIsIikpKTpvZShhLCJleG0iLG51bGwpfTt4ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4Y20iLGIuam9pbigiLCIpKSk6b2UoYSwiZXhjbSIsbnVsbCl9Owp5ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10ZShhLCJtIikpP2Euc3BsaXQoIiwiKTpbXX07emU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iIGluc3RhbmNlb2YgTWFwP0FycmF5LmZyb20oYi5lbnRyaWVzKCkpLmZpbHRlcigoWyxkXSk9PmQmJmQuc2l6ZT4wKS5tYXAoKFtkLGVdKT0+e2U9QXJyYXkuZnJvbShlKTtlLmxlbmd0aD4xJiZlLnNvcnQoKTtyZXR1cm4gZCsiOiIrZS5qb2luKCIsIil9KTpPYmplY3Qua2V5cyhiKS5maWx0ZXIoZD0+ISFPYmplY3Qua2V5cyhiW2RdKS5sZW5ndGgpLm1hcChkPT57dmFyIGU9T2JqZWN0LmtleXMoYltkXSk7ZS5sZW5ndGg+MSYmZS5zb3J0KCk7cmV0dXJuIGQrIjoiK2Uuam9pbigiLCIpfSk7Yy5zb3J0KCk7b2UoYSwiZWUiLGMuam9pbigiOyIpKX07CkNlPWZ1bmN0aW9uKGEpe2E9dGUoYSwiZWUiKTtpZihBZSl7aWYoIWEpcmV0dXJuIG5ldyBNYXA7dmFyIGI9bmV3IE1hcCxjPWEuc3BsaXQoIjsiKTtmb3IodmFyIGQgb2YgYyl7bGV0IFtmLGhdPWQuc3BsaXQoIjoiKTtjPW5ldyBTZXQ7Yi5zZXQoZixjKTtmb3IodmFyIGUgb2YgaC5zcGxpdCgiLCIpKWMuYWRkKGUpfXJldHVybiBifWlmKCFhKXJldHVybnt9O2Q9e307ZT1hLnNwbGl0KCI7Iik7Zm9yKGIgb2YgZSl7bGV0IFtmLGhdPWIuc3BsaXQoIjoiKTtkW2ZdPXt9O2ZvcihjIG9mIGguc3BsaXQoIiwiKSlkW2ZdW2NdPSEwfXJldHVybiBkfTtEZT1mdW5jdGlvbihhKXtkZWxldGUgYS5qLm07ZGVsZXRlIGEuai5leG07ZGVsZXRlIGEuai5lZH07CkVlPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiZkb2N1bWVudCYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQmJihhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKSl7bGV0IGI9YS50YWdOYW1lLnRvVXBwZXJDYXNlKCk7aWYoYj09IlNDUklQVCJ8fGI9PSJMSU5LIilyZXR1cm4gYX1yZXR1cm4gbnVsbH07RmU9ZnVuY3Rpb24oYT0iIixiKXtpZihhJiZiKXRocm93IEVycm9yKCJMIik7dmFyIGM9IiI7dmFyIGQ9Xy51Ll9GX2pzVXJsOyhhPWJ8fEVlKGEpKSYmKGM9YS5zcmM/YS5zcmM6YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYoZCYmYyl7aWYoZCE9Yyl0aHJvdyBFcnJvcigiTWAiK2QrImAiK2MpO2M9ZH1lbHNlIGM9ZHx8YztpZighcmUoYykpdGhyb3cgRXJyb3IoIk4iKTtyZXR1cm4gY307CkhlPWZ1bmN0aW9uKCl7aWYoIUdlKXtHZT0hMDt0cnl7dmFyIGE9RmUoXy51Ll9GX2pzVXJsPyIiOiJiYXNlLWpzIil9Y2F0Y2goYyl7cmV0dXJufXZhciBiPUNlKHFlKGEpKTtpZihiIGluc3RhbmNlb2YgTWFwKWIuc2l6ZSE9PTAmJlNkKGM9Pntmb3IobGV0IFtkLGVdb2YgYi5lbnRyaWVzKCkpe2xldCBmPWQsaD1lO2ZvcihsZXQgayBvZiBoKWMubmkoZixrKX19KTtlbHNle2xldCBjPU9iamVjdC5rZXlzKGIpO2MubGVuZ3RoIT09MCYmU2QoZD0+e2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1iW2VdO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhmKSlkLm5pKGUsaCl9fSl9fX07Xy5KZT1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT0iZnVuY3Rpb24iPT10eXBlb2YgXy5JZSYmYSBpbnN0YW5jZW9mIF8uSWU/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMubz0hMX07CktlPWZ1bmN0aW9uKGEsYil7Xy5KZS5jYWxsKHRoaXMsYT9hLnR5cGU6IiIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLmo9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX07Ck1lPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5saXN0ZW5lcj1hO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1iO3RoaXMudHlwZT1jO3RoaXMuY2FwdHVyZT0hIWQ7dGhpcy5oYW5kbGVyPWU7dGhpcy5rZXk9KytMZTt0aGlzLk5oPXRoaXMuemk9ITF9O05lPWZ1bmN0aW9uKGEpe2EuTmg9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuaGFuZGxlcj1udWxsfTtPZT1mdW5jdGlvbihhKXt0aGlzLnNyYz1hO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuaj0wfTtQZT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudHlwZTtjIGluIGEubGlzdGVuZXJzJiZfLnhiKGEubGlzdGVuZXJzW2NdLGIpJiYoTmUoYiksYS5saXN0ZW5lcnNbY10ubGVuZ3RoPT0wJiYoZGVsZXRlIGEubGlzdGVuZXJzW2NdLGEuai0tKSl9OwpRZT1mdW5jdGlvbihhLGIsYyxkKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoOysrZSl7bGV0IGY9YVtlXTtpZighZi5OaCYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuaGFuZGxlcj09ZClyZXR1cm4gZX1yZXR1cm4tMX07Xy5TZT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gUmUoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylfLlNlKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1UZShjKTtyZXR1cm4gYSYmYVtVZV0/YS5saXN0ZW4oYixjLF8uQWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlZlKGEsYixjLCExLGQsZSl9OwpWZT1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoIk8iKTt2YXIgaD1fLkFhKGUpPyEhZS5jYXB0dXJlOiEhZSxrPVdlKGEpO2t8fChhW1hlXT1rPW5ldyBPZShhKSk7Yz1rLmFkZChiLGMsZCxoLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1ZZSgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpZT09PXZvaWQgMCYmKGU9ITEpLGEuYWRkRXZlbnRMaXN0ZW5lcihiLnRvU3RyaW5nKCksZCxlKTtlbHNlIGlmKGEuYXR0YWNoRXZlbnQpYS5hdHRhY2hFdmVudChaZShiLnRvU3RyaW5nKCkpLGQpO2Vsc2UgaWYoYS5hZGRMaXN0ZW5lciYmYS5yZW1vdmVMaXN0ZW5lcilhLmFkZExpc3RlbmVyKGQpO2Vsc2UgdGhyb3cgRXJyb3IoIlAiKTskZSsrO3JldHVybiBjfTtZZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYyl7cmV0dXJuIGIuY2FsbChhLnNyYyxhLmxpc3RlbmVyLGMpfXZhciBiPWFmO3JldHVybiBhfTsKUmU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylSZShhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9VGUoYyk7cmV0dXJuIGEmJmFbVWVdP18uYmYoYSxiLGMsXy5BYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6VmUoYSxiLGMsITAsZCxlKX07Xy5jZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy5jZihhLGJbZl0sYyxkLGUpO2Vsc2UoZD1fLkFhKGQpPyEhZC5jYXB0dXJlOiEhZCxjPVRlKGMpLGEmJmFbVWVdKT9hLm8ucmVtb3ZlKFN0cmluZyhiKSxjLGQsZSk6YSYmKGE9V2UoYSkpJiYoYj1hLmxpc3RlbmVyc1tiLnRvU3RyaW5nKCldLGE9LTEsYiYmKGE9UWUoYixjLGQsZSkpLChjPWE+LTE/YlthXTpudWxsKSYmXy5kZihjKSl9OwpfLmRmPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLk5oKXt2YXIgYj1hLnNyYztpZihiJiZiW1VlXSlQZShiLm8sYSk7ZWxzZXt2YXIgYz1hLnR5cGUsZD1hLnByb3h5O2IucmVtb3ZlRXZlbnRMaXN0ZW5lcj9iLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyxkLGEuY2FwdHVyZSk6Yi5kZXRhY2hFdmVudD9iLmRldGFjaEV2ZW50KFplKGMpLGQpOmIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXIoZCk7JGUtLTsoYz1XZShiKSk/KFBlKGMsYSksYy5qPT0wJiYoYy5zcmM9bnVsbCxiW1hlXT1udWxsKSk6TmUoYSl9fX07WmU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW4gZWY/ZWZbYV06ZWZbYV09Im9uIithfTthZj1mdW5jdGlvbihhLGIpe2lmKGEuTmgpYT0hMDtlbHNle2I9bmV3IEtlKGIsdGhpcyk7bGV0IGM9YS5saXN0ZW5lcixkPWEuaGFuZGxlcnx8YS5zcmM7YS56aSYmXy5kZihhKTthPWMuY2FsbChkLGIpfXJldHVybiBhfTsKV2U9ZnVuY3Rpb24oYSl7YT1hW1hlXTtyZXR1cm4gYSBpbnN0YW5jZW9mIE9lP2E6bnVsbH07VGU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbZmZdfHwoYVtmZl09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtmZl19O18uZ2Y9ZnVuY3Rpb24oKXtfLmFlLmNhbGwodGhpcyk7dGhpcy5vPW5ldyBPZSh0aGlzKTt0aGlzLkZhPXRoaXM7dGhpcy5NPW51bGx9O18uYmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYS5vLmFkZChTdHJpbmcoYiksYywhMCxkLGUpfTsKaGY9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLm8ubGlzdGVuZXJzW1N0cmluZyhiKV07aWYoIWIpcmV0dXJuITA7Yj1iLmNvbmNhdCgpO3ZhciBlPSEwO2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7KytmKXtsZXQgaD1iW2ZdO2lmKGgmJiFoLk5oJiZoLmNhcHR1cmU9PWMpe2xldCBrPWgubGlzdGVuZXIsbD1oLmhhbmRsZXJ8fGguc3JjO2guemkmJlBlKGEubyxoKTtlPWsuY2FsbChsLGQpIT09ITEmJmV9fXJldHVybiBlJiYhZC5kZWZhdWx0UHJldmVudGVkfTtsZj1mdW5jdGlvbigpe3ZhciBhPV8uamY7a2YuaW5zdGFuY2V8fChrZi5pbnN0YW5jZT1uZXcga2YoYSkpO3JldHVybiBrZi5pbnN0YW5jZX07Cm1mPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQj9hLkI6YS5CPW5ldyBQcm9taXNlKGFzeW5jIGM9Pnt2YXIgZD13aW5kb3cuQWJvcnRDb250cm9sbGVyP25ldyB3aW5kb3cuQWJvcnRDb250cm9sbGVyOnZvaWQgMCxlPWQ/LnNpZ25hbCxmPSExO3RyeXtkJiYoYS5qPWEuRGMucGIoKCk9PntkLmFib3J0KCl9LGJ8fDJFNCkpLGF3YWl0IGZldGNoKCIvZ2VuZXJhdGVfMjA0Iix7bWV0aG9kOiJIRUFEIixzaWduYWw6ZX0pLGY9ITB9Y2F0Y2h7Zj0hMX1maW5hbGx5e2EuQj12b2lkIDAsYS5qJiYoYS5EYy5BYShhLmopLGEuaj0wKSxmIT09YS5pc09ubGluZSYmKGEuaXNPbmxpbmU9ZixhLmlzT25saW5lP2EuZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTphLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxjKGYpfX0pfTsKbmY9ZnVuY3Rpb24oYSl7YS5EPWEuRGMucGIoYXN5bmMoKT0+e2EuaXNPbmxpbmU/d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHxhd2FpdCBtZihhKTphd2FpdCBtZihhKTtuZihhKX0sM0U0KX07b2Y9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKChjLGQpPT57YT1jO2I9ZH0pLHJlc29sdmU6YSxyZWplY3Q6Yn19O3JmPWZ1bmN0aW9uKGEpe3ZhciB7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH09b2YoKTtwZi5zZXQoYSx7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH0pO3FmfHwocWY9W10scXVldWVNaWNyb3Rhc2soKCk9Pnt2YXIgZT1bLi4ucWZdO3FmPW51bGw7dmFyIGY9Xy5WZCgpLmFmKGUpO2ZvcihsZXQgaCBvZiBlKWZbaF0udGhlbihwZi5nZXQoaCkucmVzb2x2ZSxwZi5nZXQoaCkucmVqZWN0KX0pKTtxZi5wdXNoKGEpO3JldHVybiBifTsKXy5zZj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTt0Zj1mdW5jdGlvbihhLGIpe2EuQihiKTthLm88MTAwJiYoYS5vKyssYi5uZXh0PWEuaixhLmo9Yil9O3hmPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9dWYucmVtb3ZlKCk7KXt0cnl7YS5mbi5jYWxsKGEuc2NvcGUpfWNhdGNoKGIpe18uJGIoYil9dGYodmYsYSl9d2Y9ITF9O18ueWY9ZnVuY3Rpb24oYSl7YS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITB9O3pmPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3RyeXtyZXR1cm4hIWEuJGdvb2dfVGhlbmFibGV9Y2F0Y2goYil7cmV0dXJuITF9fTsKXy5CZj1mdW5jdGlvbihhLGIpe3RoaXMuaj0wO3RoaXMuST12b2lkIDA7dGhpcy5CPXRoaXMubz10aGlzLnY9bnVsbDt0aGlzLkQ9dGhpcy5LPSExO2lmKGEhPV8uZ2QpdHJ5e2xldCBjPXRoaXM7YS5jYWxsKGIsZnVuY3Rpb24oZCl7Xy5BZihjLDIsZCl9LGZ1bmN0aW9uKGQpe18uQWYoYywzLGQpfSl9Y2F0Y2goYyl7Xy5BZih0aGlzLDMsYyl9fTtDZj1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5qPXRoaXMubz10aGlzLmNoaWxkPW51bGw7dGhpcy52PSExfTtfLkVmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1EZi5nZXQoKTtkLm89YTtkLmo9YjtkLmNvbnRleHQ9YztyZXR1cm4gZH07Xy5IZj1mdW5jdGlvbihhLGIsYyl7RmYoYSxiLGMsbnVsbCl8fEdmKF8uRGEoYixhKSl9OwpfLklmPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe3ZhciBkPWEubGVuZ3RoLGU9W107aWYoZCl7dmFyIGY9ZnVuY3Rpb24obCxtKXtkLS07ZVtsXT1tO2Q9PTAmJmIoZSl9LGg9ZnVuY3Rpb24obCl7YyhsKX07Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBrPWFbbF07Xy5IZihrLF8uRGEoZixsKSxoKX19ZWxzZSBiKGUpfSl9O0tmPWZ1bmN0aW9uKGEsYixjLGQpe18uSmYoYSxfLkVmKGJ8fF8uZ2QsY3x8bnVsbCxkKSl9OwpMZj1mdW5jdGlvbihhLGIpe2lmKGEuaj09MClpZihhLnYpe3ZhciBjPWEudjtpZihjLm8pe3ZhciBkPTAsZT1udWxsLGY9bnVsbDtmb3IobGV0IGg9Yy5vO2gmJihoLnZ8fChkKyssaC5jaGlsZD09YSYmKGU9aCksIShlJiZkPjEpKSk7aD1oLm5leHQpZXx8KGY9aCk7ZSYmKGMuaj09MCYmZD09MT9MZihjLGIpOihmPyhkPWYsZC5uZXh0PT1jLkImJihjLkI9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTpNZihjKSxOZihjLGUsMyxiKSkpfWEudj1udWxsfWVsc2UgXy5BZihhLDMsYil9O18uSmY9ZnVuY3Rpb24oYSxiKXthLm98fGEuaiE9MiYmYS5qIT0zfHxPZihhKTthLkI/YS5CLm5leHQ9YjphLm89YjthLkI9Yn07ClFmPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8uRWYobnVsbCxudWxsLG51bGwpO2UuY2hpbGQ9bmV3IF8uQmYoZnVuY3Rpb24oZixoKXtlLm89Yj9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yi5jYWxsKGQsayk7ZihsKX1jYXRjaChsKXtoKGwpfX06ZjtlLmo9Yz9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yy5jYWxsKGQsayk7bD09PXZvaWQgMCYmayBpbnN0YW5jZW9mIF8uUGY/aChrKTpmKGwpfWNhdGNoKGwpe2gobCl9fTpofSk7ZS5jaGlsZC52PWE7Xy5KZihhLGUpO3JldHVybiBlLmNoaWxkfTtfLkFmPWZ1bmN0aW9uKGEsYixjKXthLmo9PTAmJihhPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoIlEiKSksYS5qPTEsRmYoYyxhLm5CLGEub0IsYSl8fChhLkk9YyxhLmo9YixhLnY9bnVsbCxPZihhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy5QZnx8UmYoYSxjKSkpfTsKRmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSBpbnN0YW5jZW9mIF8uQmYpcmV0dXJuIEtmKGEsYixjLGQpLCEwO2lmKHpmKGEpKXJldHVybiBhLnRoZW4oYixjLGQpLCEwO2lmKF8uQWEoYSkpdHJ5e2xldCBlPWEudGhlbjtpZih0eXBlb2YgZT09PSJmdW5jdGlvbiIpcmV0dXJuIFNmKGEsZSxiLGMsZCksITB9Y2F0Y2goZSl7cmV0dXJuIGMuY2FsbChkLGUpLCEwfXJldHVybiExfTtTZj1mdW5jdGlvbihhLGIsYyxkLGUpe2Z1bmN0aW9uIGYobCl7a3x8KGs9ITAsZC5jYWxsKGUsbCkpfWZ1bmN0aW9uIGgobCl7a3x8KGs9ITAsYy5jYWxsKGUsbCkpfXZhciBrPSExO3RyeXtiLmNhbGwoYSxoLGYpfWNhdGNoKGwpe2YobCl9fTtPZj1mdW5jdGlvbihhKXthLkt8fChhLks9ITAsR2YoYS50dCxhKSl9O01mPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5vJiYoYj1hLm8sYS5vPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5vfHwoYS5CPW51bGwpO3JldHVybiBifTsKTmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09MyYmYi5qJiYhYi52KWZvcig7YSYmYS5EO2E9YS52KWEuRD0hMTtpZihiLmNoaWxkKWIuY2hpbGQudj1udWxsLFRmKGIsYyxkKTtlbHNlIHRyeXtiLnY/Yi5vLmNhbGwoYi5jb250ZXh0KTpUZihiLGMsZCl9Y2F0Y2goZSl7Xy5VZi5jYWxsKG51bGwsZSl9dGYoRGYsYil9O1RmPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Euby5jYWxsKGEuY29udGV4dCxjKTphLmomJmEuai5jYWxsKGEuY29udGV4dCxjKX07UmY9ZnVuY3Rpb24oYSxiKXthLkQ9ITA7R2YoZnVuY3Rpb24oKXthLkQmJl8uVWYuY2FsbChudWxsLGIpfSl9O18uUGY9ZnVuY3Rpb24oYSl7Xy5MYS5jYWxsKHRoaXMsYSl9O1dmPWZ1bmN0aW9uKGEpe3JldHVybiBWZihhKS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBKU09OLnBhcnNlKGIucmVzcG9uc2VUZXh0KX0pfTsKVmY9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuKG5ldyBfLkJmKGZ1bmN0aW9uKGQsZSl7dmFyIGY7dHJ5e2Mub3BlbigiR0VUIixhLCEwKX1jYXRjaChoKXtlKG5ldyBYZigiRXJyb3Igb3BlbmluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfWMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoYy5yZWFkeVN0YXRlPT00KXtfLnUuY2xlYXJUaW1lb3V0KGYpO3ZhciBoOyEoaD1fLnNmKGMuc3RhdHVzKSkmJihoPWMuc3RhdHVzPT09MCkmJihoPV8uT2IoYSksaD0hKGg9PSJodHRwInx8aD09Imh0dHBzInx8aD09IiIpKTtoP2QoYyk6ZShuZXcgWWYoYy5zdGF0dXMsYSxjKSl9fTtjLm9uZXJyb3I9ZnVuY3Rpb24oKXtlKG5ldyBYZigiTmV0d29yayBlcnJvciIsYSxjKSl9O2lmKGIuaGVhZGVycylmb3IobGV0IGggaW4gYi5oZWFkZXJzKXtsZXQgaz1iLmhlYWRlcnNbaF07ayE9bnVsbCYmYy5zZXRSZXF1ZXN0SGVhZGVyKGgsayl9Yi53aXRoQ3JlZGVudGlhbHMmJgooYy53aXRoQ3JlZGVudGlhbHM9Yi53aXRoQ3JlZGVudGlhbHMpO2IucmVzcG9uc2VUeXBlJiYoYy5yZXNwb25zZVR5cGU9Yi5yZXNwb25zZVR5cGUpO2IubWltZVR5cGUmJmMub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKTtiLnRpbWVvdXRNcz4wJiYoZj1fLnUuc2V0VGltZW91dChmdW5jdGlvbigpe2Mub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57fTtjLmFib3J0KCk7ZShuZXcgWmYoYSxjKSl9LGIudGltZW91dE1zKSk7dHJ5e2Muc2VuZChudWxsKX1jYXRjaChoKXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e30sXy51LmNsZWFyVGltZW91dChmKSxlKG5ldyBYZigiRXJyb3Igc2VuZGluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfX0pKS5LZyhmdW5jdGlvbihkKXtkIGluc3RhbmNlb2YgXy5QZiYmYy5hYm9ydCgpO3Rocm93IGQ7fSl9O1hmPWZ1bmN0aW9uKGEsYil7Xy5MYS5jYWxsKHRoaXMsYSsiLCB1cmw9IitiKTt0aGlzLnVybD1ifTsKWWY9ZnVuY3Rpb24oYSxiLGMpe1hmLmNhbGwodGhpcywiUmVxdWVzdCBGYWlsZWQsIHN0YXR1cz0iK2EsYixjKTt0aGlzLnN0YXR1cz1hfTtaZj1mdW5jdGlvbihhLGIpe1hmLmNhbGwodGhpcywiUmVxdWVzdCB0aW1lZCBvdXQiLGEsYil9O18uJGY9ZnVuY3Rpb24oYSxiLGMsZCxlPWIpe3ZhciBmPWIubGVuZ3RoLGg9KCk9PntmPTA7YS5vbmxvYWQ9bnVsbDthLm9uZXJyb3I9bnVsbDtrPSgpPT57fX0saz0oKT0+e2goKTt2YXIgbT1lLmZpbHRlcihuPT4hXy5WZCgpLkxhKG4pLmlzTG9hZGVkKCkpO20ubGVuZ3RoIT09MD9kKG0sYFJlc3BvbnNlIHdhcyBzdWNjZXNzZnVsIGJ1dCB3YXMgbWlzc2luZyBtb2R1bGUocykgJHttfS5gKTpjKCl9LGw9KCk9PntmLS07Zj09MCYmaygpfTtiLmZvckVhY2gobT0+e209Xy5WZCgpLkxhKG0pO20uaXNMb2FkZWQoKT9sKCk6KGZlKG0sbCksaGUobSxsKSl9KTthLm9ubG9hZD0oKT0+aygpO2Eub25lcnJvcj0oKT0+e2goKTtkKGIpfX07Cl8uYWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMSxkPVtdO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7KytlKXtsZXQgZj1iW2VdO2EuQltmXXx8KGEuQltmXT0hMCxhLloucHVzaChmKSxjPSEwLGQucHVzaChmKSl9YyYmKGEub2E9ITEpfTtiZz1mdW5jdGlvbihhLGIpe2lmKGIuaHJlZnx8Yi5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKWlmKGI9Yi5ocmVmfHxiLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIikscmUoYikmJiFxZShiKS5vLmVuZHNXaXRoKCJfL2pzLyIpKXtiPXllKHFlKGIpKTtmb3IobGV0IGMgb2YgYilhLmhhLmluY2x1ZGVzKGMpfHxhLmhhLnB1c2goYyl9fTtkZz1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPSgpPT57fSxmPSExKXtjZyhhLGIsKGgsayxsPWspPT57YS5NYSYmZj9hLlFhKGgsayxkLGUsbCk6YS5sb2FkKGgsayxkLGUsbCxjKX0sYyl8fGQoLTEpfTtlZz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmZpbHRlcihjPT4hYS5CW2NdKX07CmZnPWZ1bmN0aW9uKGEsYixjLHtZZDpkLG9uRXJyb3I6ZSxvblN1Y2Nlc3M6Zixmb3JjZVJlbG9hZDpofT17fSl7YS5NPWM7aWYoIWIpdGhyb3cgRXJyb3IoIlMiKTtpZihhLlZkKXtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIikpYmcoYSxrKTtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSliZyhhLGspfWRnKGEsZWcoYSxiKSxkLGUsZixoKX07CmNnPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEudilyZXR1cm4gYS52LnRoZW4oKCk9PntjZyhhLGIsYyxkKX0pLCEwO2lmKCFhLkQpe2xldCBmPVtdO3ZhciBlPU9iamVjdC5hc3NpZ24oe30sYS5CKTtnZyhhLGIsaD0+e2YucHVzaChoLmdldElkKCkpfSxkLGg9PiFoLmlzTG9hZGVkKCksZSk7Yj1mfWZvcihlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWIubGVuZ3RoLWUsaD1lPT0wP2I6Yi5zbGljZShlLGIubGVuZ3RoKSxrPWhnKGEsaCxkKSxsPV8uVWEoaykudG9TdHJpbmcoKTtmb3IoO2wubGVuZ3RoPmEuZGk7KWlmKGY+MSlmLT1NYXRoLmNlaWwoKGwubGVuZ3RoLWEuZGkpLzYpLGY9TWF0aC5tYXgoZiwxKSxoPWIuc2xpY2UoZSxlK2YpLGs9aGcoYSxoLGQpLGw9Xy5VYShrKS50b1N0cmluZygpO2Vsc2UgcmV0dXJuIGEuRD8oYS5EPSExLGEudj1pZyhhKS50aGVuKG09PntqZyhhLG0sZCl9KSxjZyhhLGIuc2xpY2UoZSksYyxkKSk6ITE7ZSs9ZjthLkQ/YyhrLGgpOmMoayxoLGU9PT1iLmxlbmd0aD8KYjpbXSl9cmV0dXJuITB9O2tnPWZ1bmN0aW9uKGEpe2Eub2F8fChhLm9hPSEwLGEuWi5zb3J0KCkpO3JldHVybiBhLlp9O2xnPWZ1bmN0aW9uKGEpe2E9YS5oYTthLnNvcnQoKTtyZXR1cm4gYX07aGc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLkQ/bWcoYS5ZLGIse2Nzc1Jvd0tleTphLkZhLEtlOmEueWEsWWQ6YyxtbjprZyhhKSxsbjpsZyhhKX0pOm5nKGEuWSxiLHtjc3NSb3dLZXk6YS5GYSxLZTphLnlhLG1uOmtnKGEpLGxuOmxnKGEpfSl9O18ub2c9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoOysrZCl7bGV0IGU9YltkXTthLkJbZV0mJihkZWxldGUgYS5CW2VdLF8ueGIoYS5aLGUpLGMucHVzaChlKSl9fTsKXy5wZz1mdW5jdGlvbihhLGIsYyxkLGUsZixoPWQpe2EuST1jO2EuZ2EuaW5zZXJ0QmVmb3JlKGMsYS5nYS5maXJzdENoaWxkKTtfLiRmKGMsZCwoKT0+e2MucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChjKTthLkk9PWMmJihhLkk9bnVsbCk7ZigpfSxrPT57Yy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGMpO2EuST09YyYmKGEuST1udWxsKTtfLm9nKGEsayk7YS52P2Eudi50aGVuKCgpPT57ZSgtMSxiKX0pOmUoLTEsYil9LGgpfTtnZz1mdW5jdGlvbihhLGIsYyxkLGUsZj17fSl7dmFyIGg9Xy5WZCgpO2ZvcihsZXQgayBvZiBiKXtiPWguTGEoayk7aWYoZltrXXx8ZSYmIWUoYikpY29udGludWU7ZltrXT0hMDtsZXQgbD1iLmp8fFtdO2lmKGQpe2xldCBtPVtdO2lmKGQgaW5zdGFuY2VvZiBNYXApe2xldCBuPWQuZ2V0KGspO24mJihtPUFycmF5LmZyb20obikpfWVsc2UgZFtrXSYmKG09T2JqZWN0LmtleXMoZFtrXSkpO2w9bC5jb25jYXQobSl9Z2coYSxsLGMsZCxlLGYpO2MoYil9fTsKaWc9ZnVuY3Rpb24oYSl7YT1hLlkuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwibWQiLCIxIik7cmV0dXJuIFdmKGEudG9TdHJpbmcoKSl9O2pnPWZ1bmN0aW9uKGEsYixjKXtfLlZkKCkuVGgoKGJ8fHt9KS5tb2R1bGVHcmFwaCk7Z2coYSxrZyhhKSxkPT57Xy5hZyhhLFtkLmdldElkKCldKX0sYyk7YS52PW51bGx9O3JnPWZ1bmN0aW9uKGEpe2E9YS5idWYuY2hhckNvZGVBdChhLnBvcysrKTtyZXR1cm4gcWdbYV19O3NnPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz0wO2Rve3ZhciBkPXJnKGEpO2J8PShkJjMxKTw8YztjKz01fXdoaWxlKGQmMzIpO3JldHVybiBiPDA/Yis0Mjk0OTY3Mjk2OmJ9O3RnPWZ1bmN0aW9uKGEsYil7dGhpcy5EPVtdO3RoaXMuWj1hO3RoaXMuVT1ifHxudWxsO3RoaXMuQj10aGlzLmo9ITE7dGhpcy52PXZvaWQgMDt0aGlzLk09dGhpcy5nYT10aGlzLkk9ITE7dGhpcy5LPTA7dGhpcy5vPW51bGw7dGhpcy5ZPTB9Owp2Zz1mdW5jdGlvbihhLGIsYyl7YS5qPSEwO2Eudj1jO2EuQj0hYjt1ZyhhKX07eGc9ZnVuY3Rpb24oYSl7aWYoYS5qKXtpZighYS5NKXRocm93IG5ldyB3ZyhhKTthLk09ITF9fTt6Zz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmo7ZXx8KGI9PT1jP2I9Yz0oMCxfLnlnKShiKTooYj0oMCxfLnlnKShiKSxjPSgwLF8ueWcpKGMpKSk7YS5ELnB1c2goW2IsYyxkXSk7ZSYmdWcoYSl9O0FnPWZ1bmN0aW9uKGEpe3JldHVybiBfLnViKGEuRCxmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9Owp1Zz1mdW5jdGlvbihhKXtpZihhLksmJmEuaiYmQWcoYSkpe3ZhciBiPWEuSyxjPUJnW2JdO2MmJihfLnUuY2xlYXJUaW1lb3V0KGMuaiksZGVsZXRlIEJnW2JdKTthLks9MH1hLm8mJihhLm8uWS0tLGRlbGV0ZSBhLm8pO2I9YS52O2Zvcih2YXIgZD1jPSExO2EuRC5sZW5ndGgmJiFhLkk7KXt2YXIgZT1hLkQuc2hpZnQoKSxmPWVbMF07bGV0IGs9ZVsxXTtlPWVbMl07aWYoZj1hLkI/azpmKXRyeXt2YXIgaD1mLmNhbGwoZXx8YS5VLGIpO2g9PT1DZyYmKGg9dm9pZCAwKTtoIT09dm9pZCAwJiYoYS5CPWEuQiYmKGg9PWJ8fGEuaXNFcnJvcihoKSksYS52PWI9aCk7aWYoemYoYil8fHR5cGVvZiBfLnUuUHJvbWlzZT09PSJmdW5jdGlvbiImJmIgaW5zdGFuY2VvZiBfLnUuUHJvbWlzZSlkPSEwLGEuST0hMH1jYXRjaChsKXtiPWwsYS5CPSEwLEFnKGEpfHwoYz0hMCl9fWEudj1iO2QmJihoPSgwLF8uQ2EpKGEuc3AsYSwhMCksZD0oMCxfLkNhKShhLnNwLGEsITEpLGIgaW5zdGFuY2VvZiB0Zz8KKHpnKGIsaCxkKSxiLmdhPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IERnKGIpLEJnW2Iual09YixhLks9Yi5qKX07RWc9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRnO2EudGhlbihmdW5jdGlvbihjKXtiLmNhbGxiYWNrKGMpfSxmdW5jdGlvbihjKXt4ZyhiKTt2ZyhiLCExLGMpfSk7cmV0dXJuIGJ9O3dnPWZ1bmN0aW9uKCl7Xy5MYS5jYWxsKHRoaXMpfTtGZz1mdW5jdGlvbigpe18uTGEuY2FsbCh0aGlzKX07RGc9ZnVuY3Rpb24oYSl7dGhpcy5qPV8udS5zZXRUaW1lb3V0KCgwLF8uQ2EpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLm89YX07CkhnPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnR5cGUpe2Nhc2UgR2cuVHlwZS5wbzpyZXR1cm4iVW5hdXRob3JpemVkIjtjYXNlIEdnLlR5cGUucGs6cmV0dXJuIkNvbnNlY3V0aXZlIGxvYWQgZmFpbHVyZXMiO2Nhc2UgR2cuVHlwZS5USU1FT1VUOnJldHVybiJUaW1lZCBvdXQiO2Nhc2UgR2cuVHlwZS5obzpyZXR1cm4iT3V0IG9mIGRhdGUgbW9kdWxlIGlkIjtjYXNlIEdnLlR5cGUudWs6cmV0dXJuIkluaXQgZXJyb3IiO2RlZmF1bHQ6cmV0dXJuYFVua25vd24gZmFpbHVyZSB0eXBlICR7YS50eXBlfWB9fTsKSWc9ZnVuY3Rpb24oKXt0aGlzLmhhPXRoaXMuWT1udWxsO3RoaXMuRD1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMuSz1bXTt0aGlzLlU9bmV3IFNldDt0aGlzLnY9W107dGhpcy5JPW5ldyBTZXQ7dGhpcy5qPUFlP25ldyBNYXA6e307dGhpcy5NPW5ldyBNYXA7dGhpcy5vPXRoaXMuWj1uZXcgdmEuT2coW10sIiIpO3RoaXMueWE9bnVsbDt0aGlzLmdhPW5ldyB0Zzt0aGlzLkZhPXRoaXMuUWE9dGhpcy5NYT10aGlzLm9hPSExfTtKZz1mdW5jdGlvbihhLGIpe18uTGEuY2FsbCh0aGlzLGBFcnJvciBsb2FkaW5nICR7YX06ICR7Yn1gKX07Ck9nPWZ1bmN0aW9uKGEsYil7aWYoIUtnKXtmb3IodmFyIGM9MDtjPDY0O2MrKylxZ1siQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckNvZGVBdChjKV09YztLZz0hMH1iPXtidWY6Yixwb3M6Mn07c2coYik7Yz1zZyhiKTt2YXIgZD1zZyhiKSsxLGU9QXJyYXkoYyksZj1BcnJheShjKSxoPUFycmF5KGMpO2Q9QXJyYXkoZCk7dmFyIGs9MCxsPTAsbT1iLmJ1ZixuPWIucG9zLHA9Yi5idWYuaW5kZXhPZigifCIsYi5wb3MpO2IucG9zPXArMTtmb3IocD0wO3A8YztwKyspe3ZhciByPXNnKGIpLHQ9ciYyLHY9ciYxO3I+Pj49Mjt2PyhrKz1yPj4+MV4tKHImMSkscj0ic3kiK2sudG9TdHJpbmcoMzYpKToodj1uLG4rPXIscj1tLnN1YnN0cmluZyh2LG4pKTtlW3BdPXI7dCYmKGRbbCsrXT1yKX1kW2xdPSIiO2IucG9zKys7bD1jJi0yO2s9YyYxO2ZvcihtPTA7bTxsO20rPTIpbj1yZyhiKSxoW21dPW4mNyxoW20rMV09Cm4+Pj4zJjc7ayYmKGs9cmcoYiksaFtsXT1rJjcpO2IucG9zKys7Zm9yKGw9MDtsPGM7bCsrKWhbbF09PT03JiYoaFtsXT1zZyhiKSk7Yi5wb3MrKztsPTA7Zm9yKGs9MDtrPGM7aysrKXttPWhba107bj1tPT09MD9MZzpBcnJheShtKTtmW2tdPW47cD1sO2Zvcih0PTA7dDxtO3QrKylwLT1zZyhiKSxuW3RdPWRbcF07ZFtsXT09PWVba10mJmwrK312YXIge2lkczp6LGRlcGVuZGVuY2llczpFfT17aWRzOmUsZGVwZW5kZW5jaWVzOmZ9O2ZvcihiPTA7Yjx6Lmxlbmd0aDtiKyspTmcoYSx6W2JdLEVbYl0pO2EuaGE9en07Umc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NYSxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoUGcoYSxjP1FnLk1zOlFnLklETEUpLGEuTWE9Yyk7Yj1hLkZxKCk7YiE9YS5RYSYmKFBnKGEsYj9RZy5odTpRZy5pdSksYS5RYT1iKX07Tmc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuRC5nZXQoYik7ZD9kLmo9YzphLkQuc2V0KGIsbmV3IHZhLk9nKGMsYikpfTsKVGc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoYik7Yj1bXTt2YXIgZT17fTtmb3IobGV0IGYgb2YgZCl7ZD1hLkxhKGYpO2lmKCFkKXRocm93IEVycm9yKCJVYCIrZik7bGV0IGg9bmV3IHRnO2VbZl09aDtkLmlzTG9hZGVkKCk/aC5jYWxsYmFjayhudWxsKTooU2coYSxmLGQsISFjLGgpLGEudWgoZil8fGIucHVzaChmKSl9Yi5sZW5ndGg+MCYmKGEuQi5zaXplPT09MD9hLnNqKGIpOihhLnYucHVzaChiKSxSZyhhKSkpO3JldHVybiBlfTtTZz1mdW5jdGlvbihhLGIsYyxkLGUpe2dlKGMsZS5jYWxsYmFjayxlKTtoZShjLGZ1bmN0aW9uKGYpe2Y9bmV3IEpnKGIsZik7eGcoZSk7dmcoZSwhMSxmKX0pO2EudWgoYik/ZCYmKGEuSS5hZGQoYiksUmcoYSkpOmQmJmEuSS5hZGQoYil9OwpVZz1mdW5jdGlvbihhLGIpe2lmKCFhLm8uaGFzKGIpJiYoYS5vLmFkZChiKSwhYS5qLlUuaGFzKGIpKSl7dmFyIGM9YS5qLkxhKGIpO2lmKGMmJiFjLmlzTG9hZGVkKCkpe2M9Yy5qO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKVVnKGEsY1tkXSk7YS5yZXN1bHQucHVzaChiKX19fTtZZz1mdW5jdGlvbihhLGIpe2I9Yi5maWx0ZXIoZT0+YS5ELmdldChlKS5pc0xvYWRlZCgpPyhfLnUuc2V0VGltZW91dCgoKT0+RXJyb3IoIlhgIitlKSwwKSwhMSk6ITApO2lmKFZnKXt2YXIgYz1uZXcgV2coYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspVWcoYyxiW2RdKTtjPWMucmVzdWx0fWVsc2V7Yz1bXTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWM9Yy5jb25jYXQoWGcoYSxiW2RdKSk7QWIoYyl9cmV0dXJuIWEub2EmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEudj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS52KSxbYl0pOmN9OwpYZz1mdW5jdGlvbihhLGIpe2lmKFZnKXJldHVybiBhPW5ldyBXZyhhKSxVZyhhLGIpLGEucmVzdWx0O3ZhciBjPVtdO2EuVS5oYXMoYil8fGMucHVzaChiKTtiPVtiXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YS5MYShiW2RdKS5qO2ZvcihsZXQgZj1lLmxlbmd0aC0xO2Y+PTA7Zi0tKXtsZXQgaD1lW2ZdO2EuTGEoaCkuaXNMb2FkZWQoKXx8YS5VLmhhcyhoKXx8KGMucHVzaChoKSxiLnB1c2goaCkpfX1jLnJldmVyc2UoKTtBYihjKTtyZXR1cm4gY307CmJoPWZ1bmN0aW9uKGEsYixjLGQsZSxmPTAsaD0hMSl7dmFyIGs9aD8wOmYrMTtmPV8ueWIoYyk7YS5LPWI7Zm9yKGxldCBsIG9mIGMpYS5VLmRlbGV0ZShsKTtpZihkPT00MDEpWmcoYSxuZXcgdmEub2IodmEub2IuVHlwZS5wbyxkKSksYS52Lmxlbmd0aD0wO2Vsc2UgaWYoZD09NDEwKSRnKGEsbmV3IHZhLm9iKHZhLm9iLlR5cGUuaG8sZCkpLGFoKGEpO2Vsc2UgaWYoaz49MylbLi4uYS5CXSwkZyhhLG5ldyB2YS5vYih2YS5vYi5UeXBlLnBrLGQsZixlKSksYWgoYSk7ZWxzZXtbLi4uYS5CXTtsZXQgbD1kPT04MDAxfHwhMTsoYz1NYXRoLnBvdyhrLDIpKjVFMyk/Xy51LnNldFRpbWVvdXQoKCk9PnthLnNqKGIsayxsKX0sYyk6YS5zaihiLGssbCl9fTskZz1mdW5jdGlvbihhLGIpe2EuSy5sZW5ndGg+MT9hLnY9YS5LLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS52KTpaZyhhLGIpfTsKWmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLks7YS5CLmNsZWFyKCk7dmFyIGQ9W107Zm9yKHZhciBlPTA7ZTxhLnYubGVuZ3RoO2UrKyl7dmFyIGY9YS52W2VdLmZpbHRlcihmdW5jdGlvbihoKXt2YXIgaz1YZyh0aGlzLGgpO3JldHVybiBfLnViKGMsZnVuY3Rpb24obCl7cmV0dXJuIF8uc2IoayxsKT49MH0pfSxhKTt6YihkLGYpfWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspd2IoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS52Lmxlbmd0aDtmKyspXy54YihhLnZbZl0sZFtlXSk7YS5JLmRlbGV0ZShkW2VdKX1pZihlPWEuTS5nZXQoUWcuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspe2xldCBoPWVbZl07Zm9yKGxldCBrPTA7azxkLmxlbmd0aDtrKyspaChRZy5FUlJPUixkW2tdLGIpfWZvcihkPTA7ZDxjLmxlbmd0aDtkKyspaWYoZT1hLkQuZ2V0KGNbZF0pKWUub25FcnJvcihiKTthLksubGVuZ3RoPTA7UmcoYSl9OwphaD1mdW5jdGlvbihhKXtmb3IoO2Eudi5sZW5ndGg7KXtsZXQgYj1hLnYuc2hpZnQoKS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIXRoaXMuTGEoYykuaXNMb2FkZWQoKX0sYSk7aWYoYi5sZW5ndGg+MCl7YS5zaihiKTtyZXR1cm59fVJnKGEpfTtQZz1mdW5jdGlvbihhLGIpe2E9YS5NLmdldChiKTtmb3IobGV0IGM9MDthJiZjPGEubGVuZ3RoO2MrKylhW2NdKGIpfTtjaD1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgZiBvZiBiKWI9YS5MYShmKSwhZS5oYXMoZikmJmQoYikmJihlLmFkZChmKSxjaChhLGIuanx8W10sYyxkLGUpLGMoYikpfTsKZmg9ZnVuY3Rpb24oKXt2YXIgYT17RXU6IkJBVENIIn0sYj1hLmNzc1Jvd0tleXx8IiIsYz1hLktlfHwiIjshYS54SSYmIWImJndpbmRvdyYmd2luZG93Ll9GX2Nzc1Jvd0tleSYmKGI9d2luZG93Ll9GX2Nzc1Jvd0tleSwhYyYmd2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlJiYoYz13aW5kb3cuX0ZfY29tYmluZWRTaWduYXR1cmUpKTtpZighYS5jc3NSb3dLZXkmJmImJnR5cGVvZiB3aW5kb3cuX0ZfaW5zdGFsbENzcyE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIloiKTt2YXIgZD1hLk5KfHxfLmRoLGU9RWUoImJhc2UtanMiKTtiPW5ldyBkKEdiKEZlKCIiLGUpKSxiLGMsITAsITEpO2M9YS5wTHx8ZSYmZS5oYXNBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik7ZT1hLmxJfHxlJiZlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKTtjJiYoYi5maT1jKTtlJiYoYi5XZz1lKTthLmRpJiYoYi5kaT1hLmRpKTthLmZldGNoUHJpb3JpdHkmJihiLmZldGNoUHJpb3JpdHk9YS5mZXRjaFByaW9yaXR5KTsKdmFyIGY9Xy5WZCgpO2YuWT1iO2YuUnIoITApO18uZWg9YS5FdT09PSJCQVRDSCI/cmY6aD0+UHJvbWlzZS5yZXNvbHZlKGYubG9hZChoKSl9O2loPWZ1bmN0aW9uKGEsYil7Yj1iLmZpbHRlcihjPT4hYS51aChjKSYmIWEuTGEoYykuaXNMb2FkZWQoKSk7Yi5sZW5ndGg+MCYmKGdoKGEsLi4uYiksYS5LLnB1c2goYiksaGgoYSkpfTtqaD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5CZigoYyxkKT0+e3ZhciBlPWEuTGEoYik7ZS5pc0xvYWRlZCgpP2MobnVsbCk6KGdlKGUsKCk9PntjKG51bGwpfSksaGUoZSxmPT57dmFyIGg9YEVycm9yIGxvYWRpbmcgJHtifTogJHtmfWA7ZiBpbnN0YW5jZW9mIHZhLm9iJiZmLnVybCYmKGg9YCR7aH0sIHJlcXVlc3RlZCB1cmw6ICR7Zi51cmwudG9TdHJpbmcoKX1gKTtkKEVycm9yKGgpKX0pKX0pfTsKa2g9ZnVuY3Rpb24oYSxiLGMsZD0oKT0+ITAsZT17fSl7Zm9yKGxldCBmIG9mIGIpYj1hLkxhKGYpLCFlW2ZdJiZkKGIpJiYoZVtmXT0hMCxraChhLGIuanx8W10sYyxkLGUpLGMoYikpfTtsaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57ZGVsZXRlIGEuRFtjXX0pfTtnaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57YS5EW2NdPSEwfSl9OwpoaD1mdW5jdGlvbihhKXtmb3IoO2EuQjxJbmZpbml0eSYmYS5LLmxlbmd0aD4wOyl7bGV0IGI9YS5LLnNoaWZ0KCkuZmlsdGVyKGM9PiFhLkxhKGMpLmlzTG9hZGVkKCkpO2lmKGIubGVuZ3RoPjApe2EuQisrO2xldCBjPSgpPT57YS5CLS07aGgoYSk7Yz0oKT0+e319O18uSWYoYi5tYXAoZj0+amgoYSxmKSkpLnRoZW4oKCk9PntjKCl9KTtsZXQgZD0wLGU9KCk9PntpZigoYS5qIGluc3RhbmNlb2YgTWFwP2Euai5zaXplPjA6T2JqZWN0LmtleXMoYS5qKS5sZW5ndGg+MCkmJiFhLlkuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLlksYixhLnYse1lkOmEuaixvbkVycm9yOihmLGgpPT57dmFyIGs9bWhbZCsrXTtrIT09dm9pZCAwP3NldFRpbWVvdXQoKCk9PntlKCl9LGspOihsaChhLC4uLmIpLGMoKSxiLmZvckVhY2gobD0+e2w9YS5MYShsKTtpZighbC5pc0xvYWRlZCgpKWwub25FcnJvcihuZXcgdmEub2IodmEub2IuVHlwZS5wayxmLGIsaCkpfSkpfX0pfTtlKCl9fX07Cm5oPWZ1bmN0aW9uKGEpe2Euaj09PS0xJiYoYS5qPWEuZGF0YS5yZWR1Y2UoKGIsYyxkKT0+YisoYz8yKipkOjApLDApKTtyZXR1cm4gYS5qfTtfLm9oPWZ1bmN0aW9uKCl7fTtfLnNoPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBwaHx8YSBpbnN0YW5jZW9mIHFofHxhIGluc3RhbmNlb2YgcmgpcmV0dXJuIGE7aWYodHlwZW9mIGEubmV4dD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hKTtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iKXJldHVybiBuZXcgcGgoKCk9PmFbU3ltYm9sLml0ZXJhdG9yXSgpKTtpZih0eXBlb2YgYS5iZD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hLmJkKCkpO3Rocm93IEVycm9yKCIkIik7fTtfLnRoPWZ1bmN0aW9uKGEpe18uYWUuY2FsbCh0aGlzKTt0aGlzLkQ9MTt0aGlzLnY9W107dGhpcy5CPTA7dGhpcy5qPVtdO3RoaXMubz17fTt0aGlzLkk9ISFhfTsKdWg9ZnVuY3Rpb24oYSxiLGMpe0dmKGZ1bmN0aW9uKCl7YS5hcHBseShiLGMpfSl9O3ZoPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTt3aD1mdW5jdGlvbihhKXt0aGlzLmo9YX07eGg9ZnVuY3Rpb24oYSl7dGhpcy5kYXRhPWF9O3loPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09dm9pZCAwfHxhIGluc3RhbmNlb2YgeGg/YTpuZXcgeGgoYSl9O18uemg9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O0FoPWZ1bmN0aW9uKCl7fTtCaD1mdW5jdGlvbigpe307Q2g9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5vPW51bGx9O0RoPWZ1bmN0aW9uKGEpe2lmKGEuaj09bnVsbCl0aHJvdyBFcnJvcigiYWEiKTthLmlzQXZhaWxhYmxlKCl8fF8uJGIoRXJyb3IoImFhIikpfTtFaD1mdW5jdGlvbigpe3ZhciBhPW51bGw7dHJ5e2E9Xy51LmxvY2FsU3RvcmFnZXx8bnVsbH1jYXRjaChiKXt9Q2guY2FsbCh0aGlzLGEpfTtGaD1mdW5jdGlvbihhLGIpe3RoaXMubz1hO3RoaXMuaj1iKyI6OiJ9OwpfLkdoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBFaDtyZXR1cm4gYi5pc0F2YWlsYWJsZSgpP2E/bmV3IEZoKGIsYSk6YjpudWxsfTsKSWg9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWEubGVuZ3RoLGU9MDtmb3IoYj0wO2I8ZDtiKyspe3ZhciBmPWEuY2hhckNvZGVBdChiKTtpZigoZiY2NDUxMik9PT01NTI5NiYmYisxPGQpe3ZhciBoPWEuY2hhckNvZGVBdChiKzEpOyhoJjY0NTEyKT09PTU2MzIwJiYoZj02NTUzNisoZi01NTI5Njw8MTApKyhoLTU2MzIwKSxiKyspfWUrPWY8MTI4PzE6ZjwyMDQ4PzI6Zjw2NTUzNj8zOjR9dmFyIGs9bmV3IEhoLnRmKGUpO2ZvcihiPWM9MDtjPGU7YisrKWY9YS5jaGFyQ29kZUF0KGIpLChmJjY0NTEyKT09PTU1Mjk2JiZiKzE8ZCYmKGg9YS5jaGFyQ29kZUF0KGIrMSksKGgmNjQ1MTIpPT09NTYzMjAmJihmPTY1NTM2KyhmLTU1Mjk2PDwxMCkrKGgtNTYzMjApLGIrKykpLGY8MTI4P2tbYysrXT1mOihmPDIwNDg/a1tjKytdPTE5MnxmPj4+NjooZjw2NTUzNj9rW2MrK109MjI0fGY+Pj4xMjooa1tjKytdPTI0MHxmPj4+MTgsa1tjKytdPTEyOHxmPj4+MTImNjMpLGtbYysrXT0xMjh8Zj4+Pgo2JjYzKSxrW2MrK109MTI4fGYmNjMpO3JldHVybiBrfTtKaD1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGg7LS1iPj0wOylhW2JdPTB9O0toPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5Zcj1hO3RoaXMuVXY9Yjt0aGlzLlR2PWM7dGhpcy54dj1kO3RoaXMuRnk9ZTt0aGlzLmVxPWEmJmEubGVuZ3RofTtMaD1mdW5jdGlvbihhLGIpe3RoaXMuRXA9YTt0aGlzLmxnPTA7dGhpcy56ZT1ifTtNaD1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWImMjU1O2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NX07Tmg9ZnVuY3Rpb24oYSxiLGMpe2EuaGI+MTYtYz8oYS5GYnw9Yjw8YS5oYiY2NTUzNSxNaChhLGEuRmIpLGEuRmI9Yj4+MTYtYS5oYixhLmhiKz1jLTE2KTooYS5GYnw9Yjw8YS5oYiY2NTUzNSxhLmhiKz1jKX07T2g9ZnVuY3Rpb24oYSxiLGMpe05oKGEsY1tiKjJdLGNbYioyKzFdKX07ClBoPWZ1bmN0aW9uKGEsYil7dmFyIGM9MDtkbyBjfD1hJjEsYT4+Pj0xLGM8PD0xO3doaWxlKC0tYj4wKTtyZXR1cm4gYz4+PjF9O1FoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1BcnJheSgxNiksZT0wLGY7Zm9yKGY9MTtmPD0xNTtmKyspZFtmXT1lPWUrY1tmLTFdPDwxO2ZvcihjPTA7Yzw9YjtjKyspZT1hW2MqMisxXSxlIT09MCYmKGFbYyoyXT1QaChkW2VdKyssZSkpfTtSaD1mdW5jdGlvbihhKXt2YXIgYjtmb3IoYj0wO2I8Mjg2O2IrKylhLlFiW2IqMl09MDtmb3IoYj0wO2I8MzA7YisrKWEuUGVbYioyXT0wO2ZvcihiPTA7YjwxOTtiKyspYS5xYltiKjJdPTA7YS5RYls1MTJdPTE7YS5DZD1hLkhnPTA7YS5rYz1hLm1hdGNoZXM9MH07U2g9ZnVuY3Rpb24oYSl7YS5oYj44P01oKGEsYS5GYik6YS5oYj4wJiYoYS5PYVthLnBlbmRpbmcrK109YS5GYik7YS5GYj0wO2EuaGI9MH07ClRoPWZ1bmN0aW9uKGEsYixjKXtTaChhKTtNaChhLGMpO01oKGEsfmMpO0hoLndmKGEuT2EsYS53aW5kb3csYixjLGEucGVuZGluZyk7YS5wZW5kaW5nKz1jfTtVaD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iKjIsZj1jKjI7cmV0dXJuIGFbZV08YVtmXXx8YVtlXT09PWFbZl0mJmRbYl08PWRbY119O1ZoPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YS5oZWFwW2NdLGU9Yzw8MTtlPD1hLnhkOyl7ZTxhLnhkJiZVaChiLGEuaGVhcFtlKzFdLGEuaGVhcFtlXSxhLmRlcHRoKSYmZSsrO2lmKFVoKGIsZCxhLmhlYXBbZV0sYS5kZXB0aCkpYnJlYWs7YS5oZWFwW2NdPWEuaGVhcFtlXTtjPWU7ZTw8PTF9YS5oZWFwW2NdPWR9OwpjaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MDtpZihhLmtjIT09MCl7ZG97dmFyIGU9YS5PYVthLllnK2QqMl08PDh8YS5PYVthLllnK2QqMisxXTt2YXIgZj1hLk9hW2Eua20rZF07ZCsrO2lmKGU9PT0wKU9oKGEsZixiKTtlbHNle3ZhciBoPVdoW2ZdO09oKGEsaCsyNTYrMSxiKTt2YXIgaz1YaFtoXTtrIT09MCYmKGYtPVloW2hdLE5oKGEsZixrKSk7ZS0tO2g9ZTwyNTY/WmhbZV06WmhbMjU2KyhlPj4+NyldO09oKGEsaCxjKTtrPSRoW2hdO2shPT0wJiYoZS09YmlbaF0sTmgoYSxlLGspKX19d2hpbGUoZDxhLmtjKX1PaChhLDI1NixiKX07CmRpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5FcCxkPWIuemUuWXIsZT1iLnplLmVxLGY9Yi56ZS54dixoLGs9LTE7YS54ZD0wO2EuWGY9NTczO2ZvcihoPTA7aDxmO2grKyljW2gqMl0hPT0wPyhhLmhlYXBbKythLnhkXT1rPWgsYS5kZXB0aFtoXT0wKTpjW2gqMisxXT0wO2Zvcig7YS54ZDwyOyl7dmFyIGw9YS5oZWFwWysrYS54ZF09azwyPysrazowO2NbbCoyXT0xO2EuZGVwdGhbbF09MDthLkNkLS07ZSYmKGEuSGctPWRbbCoyKzFdKX1iLmxnPWs7Zm9yKGg9YS54ZD4+MTtoPj0xO2gtLSlWaChhLGMsaCk7bD1mO2RvIGg9YS5oZWFwWzFdLGEuaGVhcFsxXT1hLmhlYXBbYS54ZC0tXSxWaChhLGMsMSksZD1hLmhlYXBbMV0sYS5oZWFwWy0tYS5YZl09aCxhLmhlYXBbLS1hLlhmXT1kLGNbbCoyXT1jW2gqMl0rY1tkKjJdLGEuZGVwdGhbbF09KGEuZGVwdGhbaF0+PWEuZGVwdGhbZF0/YS5kZXB0aFtoXTphLmRlcHRoW2RdKSsxLGNbaCoyKzFdPWNbZCoyKzFdPWwsYS5oZWFwWzFdPWwrKywKVmgoYSxjLDEpO3doaWxlKGEueGQ+PTIpO2EuaGVhcFstLWEuWGZdPWEuaGVhcFsxXTtoPWIuRXA7bD1iLmxnO2Q9Yi56ZS5ZcjtlPWIuemUuZXE7Zj1iLnplLlV2O3ZhciBtPWIuemUuVHYsbj1iLnplLkZ5LHAscj0wO2ZvcihwPTA7cDw9MTU7cCsrKWEua2RbcF09MDtoW2EuaGVhcFthLlhmXSoyKzFdPTA7Zm9yKGI9YS5YZisxO2I8NTczO2IrKyl7dmFyIHQ9YS5oZWFwW2JdO3A9aFtoW3QqMisxXSoyKzFdKzE7cD5uJiYocD1uLHIrKyk7aFt0KjIrMV09cDtpZighKHQ+bCkpe2Eua2RbcF0rKzt2YXIgdj0wO3Q+PW0mJih2PWZbdC1tXSk7dmFyIHo9aFt0KjJdO2EuQ2QrPXoqKHArdik7ZSYmKGEuSGcrPXoqKGRbdCoyKzFdK3YpKX19aWYociE9PTApe2Rve2ZvcihwPW4tMTthLmtkW3BdPT09MDspcC0tO2Eua2RbcF0tLTthLmtkW3ArMV0rPTI7YS5rZFtuXS0tO3ItPTJ9d2hpbGUocj4wKTtmb3IocD1uO3AhPT0wO3AtLSlmb3IodD1hLmtkW3BdO3QhPT0wOylkPWEuaGVhcFstLWJdLApkPmx8fChoW2QqMisxXSE9PXAmJihhLkNkKz0ocC1oW2QqMisxXSkqaFtkKjJdLGhbZCoyKzFdPXApLHQtLSl9UWgoYyxrLGEua2QpfTtlaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2JbKGMrMSkqMisxXT02NTUzNTtmb3IoZD0wO2Q8PWM7ZCsrKXt2YXIgbT1mO2Y9YlsoZCsxKSoyKzFdOysraDxrJiZtPT09Znx8KGg8bD9hLnFiW20qMl0rPWg6bSE9PTA/KG0hPT1lJiZhLnFiW20qMl0rKyxhLnFiWzMyXSsrKTpoPD0xMD9hLnFiWzM0XSsrOmEucWJbMzZdKyssaD0wLGU9bSxmPT09MD8oaz0xMzgsbD0zKTptPT09Zj8oaz02LGw9Myk6KGs9NyxsPTQpKX19OwpmaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2ZvcihkPTA7ZDw9YztkKyspe3ZhciBtPWY7Zj1iWyhkKzEpKjIrMV07aWYoISgrK2g8ayYmbT09PWYpKXtpZihoPGwpe2RvIE9oKGEsbSxhLnFiKTt3aGlsZSgtLWghPT0wKX1lbHNlIG0hPT0wPyhtIT09ZSYmKE9oKGEsbSxhLnFiKSxoLS0pLE9oKGEsMTYsYS5xYiksTmgoYSxoLTMsMikpOmg8PTEwPyhPaChhLDE3LGEucWIpLE5oKGEsaC0zLDMpKTooT2goYSwxOCxhLnFiKSxOaChhLGgtMTEsNykpO2g9MDtlPW07Zj09PTA/KGs9MTM4LGw9Myk6bT09PWY/KGs9NixsPTMpOihrPTcsbD00KX19fTsKZ2k9ZnVuY3Rpb24oYSl7dmFyIGI9NDA5MzYyNDQ0NyxjO2ZvcihjPTA7Yzw9MzE7YysrLGI+Pj49MSlpZihiJjEmJmEuUWJbYyoyXSE9PTApcmV0dXJuIDA7aWYoYS5RYlsxOF0hPT0wfHxhLlFiWzIwXSE9PTB8fGEuUWJbMjZdIT09MClyZXR1cm4gMTtmb3IoYz0zMjtjPDI1NjtjKyspaWYoYS5RYltjKjJdIT09MClyZXR1cm4gMTtyZXR1cm4gMH07aGk9ZnVuY3Rpb24oYSxiLGMpe2EuT2FbYS5ZZythLmtjKjJdPWI+Pj44JjI1NTthLk9hW2EuWWcrYS5rYyoyKzFdPWImMjU1O2EuT2FbYS5rbSthLmtjXT1jJjI1NTthLmtjKys7Yj09PTA/YS5RYltjKjJdKys6KGEubWF0Y2hlcysrLGItLSxhLlFiWyhXaFtjXSsyNTYrMSkqMl0rKyxhLlBlWyhiPDI1Nj9aaFtiXTpaaFsyNTYrKGI+Pj43KV0pKjJdKyspO3JldHVybiBhLmtjPT09YS5BaC0xfTtqaT1mdW5jdGlvbihhLGIpe2EubXNnPWlpW2JdO3JldHVybiBifTsKa2k9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj49MDspYVtiXT0wfTtsaT1mdW5jdGlvbihhKXt2YXIgYj1hLnN0YXRlLGM9Yi5wZW5kaW5nO2M+YS56YSYmKGM9YS56YSk7YyE9PTAmJihIaC53ZihhLm91dHB1dCxiLk9hLGIuSmgsYyxhLnFnKSxhLnFnKz1jLGIuSmgrPWMsYS5Fbis9YyxhLnphLT1jLGIucGVuZGluZy09YyxiLnBlbmRpbmc9PT0wJiYoYi5KaD0wKSl9OwpwaT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWI+PTA/YS5VYjotMSxkPWEuVi1hLlViLGU9MDtpZihhLmxldmVsPjApe2Eud2EuaWw9PT0yJiYoYS53YS5pbD1naShhKSk7ZGkoYSxhLnBqKTtkaShhLGEuSWkpO2VpKGEsYS5RYixhLnBqLmxnKTtlaShhLGEuUGUsYS5JaS5sZyk7ZGkoYSxhLlRvKTtmb3IoZT0xODtlPj0zJiZhLnFiW21pW2VdKjIrMV09PT0wO2UtLSk7YS5DZCs9MyooZSsxKSs1KzUrNDt2YXIgZj1hLkNkKzMrNz4+PjM7dmFyIGg9YS5IZyszKzc+Pj4zO2g8PWYmJihmPWgpfWVsc2UgZj1oPWQrNTtpZihkKzQ8PWYmJmMhPT0tMSlOaChhLGI/MTowLDMpLFRoKGEsYyxkKTtlbHNlIGlmKGEuc3RyYXRlZ3k9PT00fHxoPT09ZilOaChhLDIrKGI/MTowKSwzKSxjaShhLG5pLG9pKTtlbHNle05oKGEsNCsoYj8xOjApLDMpO2M9YS5wai5sZysxO2Q9YS5JaS5sZysxO2UrPTE7TmgoYSxjLTI1Nyw1KTtOaChhLGQtMSw1KTtOaChhLGUtNCw0KTtmb3IoZj0wO2Y8ZTtmKyspTmgoYSwKYS5xYlttaVtmXSoyKzFdLDMpO2ZpKGEsYS5RYixjLTEpO2ZpKGEsYS5QZSxkLTEpO2NpKGEsYS5RYixhLlBlKX1SaChhKTtiJiZTaChhKTthLlViPWEuVjtsaShhLndhKX07cWk9ZnVuY3Rpb24oYSxiKXthLk9hW2EucGVuZGluZysrXT1ifTtyaT1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NTthLk9hW2EucGVuZGluZysrXT1iJjI1NX07CnNpPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5OcSxkPWEuVixlPWEuWWIsZj1hLlNxLGg9YS5WPmEuQmItMjYyP2EuVi0oYS5CYi0yNjIpOjAsaz1hLndpbmRvdyxsPWEuQmUsbT1hLlVhLG49YS5WKzI1OCxwPWtbZCtlLTFdLHI9a1tkK2VdO2EuWWI+PWEuWXAmJihjPj49Mik7Zj5hLmRhJiYoZj1hLmRhKTtkb3t2YXIgdD1iO2lmKGtbdCtlXT09PXImJmtbdCtlLTFdPT09cCYma1t0XT09PWtbZF0mJmtbKyt0XT09PWtbZCsxXSl7ZCs9Mjtmb3IodCsrO2tbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZkPG47KTt0PTI1OC0obi1kKTtkPW4tMjU4O2lmKHQ+ZSl7YS5rZz1iO2U9dDtpZih0Pj1mKWJyZWFrO3A9a1tkK2UtMV07cj1rW2QrZV19fX13aGlsZSgoYj1tW2ImbF0pPmgmJi0tYyE9PTApOwpyZXR1cm4gZTw9YS5kYT9lOmEuZGF9Owp2aT1mdW5jdGlvbihhKXt2YXIgYj1hLkJiLGM7ZG97dmFyIGQ9YS5Lcy1hLmRhLWEuVjtpZihhLlY+PWIrKGItMjYyKSl7SGgud2YoYS53aW5kb3csYS53aW5kb3csYixiLDApO2Eua2ctPWI7YS5WLT1iO2EuVWItPWI7dmFyIGU9Yz1hLmFqO2Rve3ZhciBmPWEuaGVhZFstLWVdO2EuaGVhZFtlXT1mPj1iP2YtYjowfXdoaWxlKC0tYyk7ZT1jPWI7ZG8gZj1hLlVhWy0tZV0sYS5VYVtlXT1mPj1iP2YtYjowO3doaWxlKC0tYyk7ZCs9Yn1pZihhLndhLkRiPT09MClicmVhaztlPWEud2E7Yz1hLndpbmRvdztmPWEuVithLmRhO3ZhciBoPWUuRGI7aD5kJiYoaD1kKTtoPT09MD9jPTA6KGUuRGItPWgsSGgud2YoYyxlLmlucHV0LGUuZmYsaCxmKSxlLnN0YXRlLndyYXA9PT0xP2Uuc2E9dGkoZS5zYSxjLGgsZik6ZS5zdGF0ZS53cmFwPT09MiYmKGUuc2E9dWkoZS5zYSxjLGgsZikpLGUuZmYrPWgsZS5xZis9aCxjPWgpO2EuZGErPWM7aWYoYS5kYSthLnJiPj0zKWZvcihkPWEuVi1hLnJiLGEueGE9CmEud2luZG93W2RdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCsxXSkmYS52ZDthLnJiJiYhKGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCszLTFdKSZhLnZkLGEuVWFbZCZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWQsZCsrLGEucmItLSxhLmRhK2EucmI8Myk7KTt9d2hpbGUoYS5kYTwyNjImJmEud2EuRGIhPT0wKX07CndpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjOzspe2lmKGEuZGE8MjYyKXt2aShhKTtpZihhLmRhPDI2MiYmYj09PTApcmV0dXJuIDE7aWYoYS5kYT09PTApYnJlYWt9Yz0wO2EuZGE+PTMmJihhLnhhPShhLnhhPDxhLndkXmEud2luZG93W2EuViszLTFdKSZhLnZkLGM9YS5VYVthLlYmYS5CZV09YS5oZWFkW2EueGFdLGEuaGVhZFthLnhhXT1hLlYpO2MhPT0wJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYykpO2lmKGEuQmE+PTMpaWYoYz1oaShhLGEuVi1hLmtnLGEuQmEtMyksYS5kYS09YS5CYSxhLkJhPD1hLm9tJiZhLmRhPj0zKXthLkJhLS07ZG8gYS5WKyssYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWEuVjt3aGlsZSgtLWEuQmEhPT0wKTthLlYrK31lbHNlIGEuVis9YS5CYSxhLkJhPTAsYS54YT1hLndpbmRvd1thLlZdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbYS5WKwoxXSkmYS52ZDtlbHNlIGM9aGkoYSwwLGEud2luZG93W2EuVl0pLGEuZGEtLSxhLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9YS5WPDI/YS5WOjI7cmV0dXJuIGI9PT00PyhwaShhLCEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTsKeGk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZDs7KXtpZihhLmRhPDI2Mil7dmkoYSk7aWYoYS5kYTwyNjImJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWM9MDthLmRhPj0zJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxjPWEuVWFbYS5WJmEuQmVdPWEuaGVhZFthLnhhXSxhLmhlYWRbYS54YV09YS5WKTthLlliPWEuQmE7YS5Bcj1hLmtnO2EuQmE9MjtjIT09MCYmYS5ZYjxhLm9tJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYyksYS5CYTw9NSYmKGEuc3RyYXRlZ3k9PT0xfHxhLkJhPT09MyYmYS5WLWEua2c+NDA5NikmJihhLkJhPTIpKTtpZihhLlliPj0zJiZhLkJhPD1hLlliKXtkPWEuVithLmRhLTM7Yz1oaShhLGEuVi0xLWEuQXIsYS5ZYi0zKTthLmRhLT1hLlliLTE7YS5ZYi09MjtkbysrYS5WPD1kJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sCmEuaGVhZFthLnhhXT1hLlYpO3doaWxlKC0tYS5ZYiE9PTApO2EuY2Y9MDthLkJhPTI7YS5WKys7aWYoYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1lbHNlIGlmKGEuY2Ype2lmKChjPWhpKGEsMCxhLndpbmRvd1thLlYtMV0pKSYmcGkoYSwhMSksYS5WKyssYS5kYS0tLGEud2EuemE9PT0wKXJldHVybiAxfWVsc2UgYS5jZj0xLGEuVisrLGEuZGEtLX1hLmNmJiYoaGkoYSwwLGEud2luZG93W2EuVi0xXSksYS5jZj0wKTthLnJiPWEuVjwyP2EuVjoyO3JldHVybiBiPT09ND8ocGkoYSwhMCksYS53YS56YT09PTA/Mzo0KTphLmtjJiYocGkoYSwhMSksYS53YS56YT09PTApPzE6Mn07CnlpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQsZSxmPWEud2luZG93Ozspe2lmKGEuZGE8PTI1OCl7dmkoYSk7aWYoYS5kYTw9MjU4JiZiPT09MClyZXR1cm4gMTtpZihhLmRhPT09MClicmVha31hLkJhPTA7aWYoYS5kYT49MyYmYS5WPjAmJihkPWEuVi0xLGM9ZltkXSxjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdKSl7Zm9yKGU9YS5WKzI1ODtjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZkPGU7KTthLkJhPTI1OC0oZS1kKTthLkJhPmEuZGEmJihhLkJhPWEuZGEpfWEuQmE+PTM/KGM9aGkoYSwxLGEuQmEtMyksYS5kYS09YS5CYSxhLlYrPWEuQmEsYS5CYT0wKTooYz1oaShhLDAsYS53aW5kb3dbYS5WXSksYS5kYS0tLGEuVisrKTtpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsCiEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTt6aT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYzs7KXtpZihhLmRhPT09MCYmKHZpKGEpLGEuZGE9PT0wKSl7aWYoYj09PTApcmV0dXJuIDE7YnJlYWt9YS5CYT0wO2M9aGkoYSwwLGEud2luZG93W2EuVl0pO2EuZGEtLTthLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsITApLGEud2EuemE9PT0wPzM6NCk6YS5rYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKT8xOjJ9O0FpPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy50dz1hO3RoaXMuRXk9Yjt0aGlzLld5PWM7dGhpcy5EeT1kO3RoaXMua3c9ZX07CkJpPWZ1bmN0aW9uKCl7dGhpcy53YT1udWxsO3RoaXMuc3RhdHVzPTA7dGhpcy5PYT1udWxsO3RoaXMud3JhcD10aGlzLnBlbmRpbmc9dGhpcy5KaD10aGlzLm5jPTA7dGhpcy5xYT1udWxsO3RoaXMuemM9MDt0aGlzLm1ldGhvZD04O3RoaXMuaWc9LTE7dGhpcy5CZT10aGlzLk5uPXRoaXMuQmI9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuS3M9MDt0aGlzLmhlYWQ9dGhpcy5VYT1udWxsO3RoaXMuU3E9dGhpcy5ZcD10aGlzLnN0cmF0ZWd5PXRoaXMubGV2ZWw9dGhpcy5vbT10aGlzLk5xPXRoaXMuWWI9dGhpcy5kYT10aGlzLmtnPXRoaXMuVj10aGlzLmNmPXRoaXMuQXI9dGhpcy5CYT10aGlzLlViPXRoaXMud2Q9dGhpcy52ZD10aGlzLkxsPXRoaXMuYWo9dGhpcy54YT0wO3RoaXMuUWI9bmV3IEhoLlljKDExNDYpO3RoaXMuUGU9bmV3IEhoLlljKDEyMik7dGhpcy5xYj1uZXcgSGguWWMoNzgpO2tpKHRoaXMuUWIpO2tpKHRoaXMuUGUpO2tpKHRoaXMucWIpO3RoaXMuVG89dGhpcy5JaT0KdGhpcy5waj1udWxsO3RoaXMua2Q9bmV3IEhoLlljKDE2KTt0aGlzLmhlYXA9bmV3IEhoLlljKDU3Myk7a2kodGhpcy5oZWFwKTt0aGlzLlhmPXRoaXMueGQ9MDt0aGlzLmRlcHRoPW5ldyBIaC5ZYyg1NzMpO2tpKHRoaXMuZGVwdGgpO3RoaXMuaGI9dGhpcy5GYj10aGlzLnJiPXRoaXMubWF0Y2hlcz10aGlzLkhnPXRoaXMuQ2Q9dGhpcy5ZZz10aGlzLmtjPXRoaXMuQWg9dGhpcy5rbT0wfTsKRGk9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWEuc3RhdGV8fGI+NXx8YjwwKXJldHVybiBhP2ppKGEsLTIpOi0yO3ZhciBjPWEuc3RhdGU7aWYoIWEub3V0cHV0fHwhYS5pbnB1dCYmYS5EYiE9PTB8fGMuc3RhdHVzPT09NjY2JiZiIT09NClyZXR1cm4gamkoYSxhLnphPT09MD8tNTotMik7Yy53YT1hO3ZhciBkPWMuaWc7Yy5pZz1iO2lmKGMuc3RhdHVzPT09NDIpaWYoYy53cmFwPT09MilhLnNhPTAscWkoYywzMSkscWkoYywxMzkpLHFpKGMsOCksYy5xYT8ocWkoYywoYy5xYS50ZXh0PzE6MCkrKGMucWEuYmU/MjowKSsoYy5xYS5leHRyYT80OjApKyhjLnFhLm5hbWU/ODowKSsoYy5xYS5jb21tZW50PzE2OjApKSxxaShjLGMucWEudGltZSYyNTUpLHFpKGMsYy5xYS50aW1lPj44JjI1NSkscWkoYyxjLnFhLnRpbWU+PjE2JjI1NSkscWkoYyxjLnFhLnRpbWU+PjI0JjI1NSkscWkoYyxjLmxldmVsPT09OT8yOmMuc3RyYXRlZ3k+PTJ8fGMubGV2ZWw8Mj80OjApLHFpKGMsYy5xYS5vcyYyNTUpLApjLnFhLmV4dHJhJiZjLnFhLmV4dHJhLmxlbmd0aCYmKHFpKGMsYy5xYS5leHRyYS5sZW5ndGgmMjU1KSxxaShjLGMucWEuZXh0cmEubGVuZ3RoPj44JjI1NSkpLGMucWEuYmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmcsMCkpLGMuemM9MCxjLnN0YXR1cz02OSk6KHFpKGMsMCkscWkoYywwKSxxaShjLDApLHFpKGMsMCkscWkoYywwKSxxaShjLGMubGV2ZWw9PT05PzI6Yy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzQ6MCkscWkoYywzKSxjLnN0YXR1cz0xMTMpO2Vsc2V7dmFyIGU9OCsoYy5Obi04PDw0KTw8ODtlfD0oYy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzA6Yy5sZXZlbDw2PzE6Yy5sZXZlbD09PTY/MjozKTw8NjtjLlYhPT0wJiYoZXw9MzIpO2Muc3RhdHVzPTExMztyaShjLGUrKDMxLWUlMzEpKTtjLlYhPT0wJiYocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2Euc2E9MX1pZihjLnN0YXR1cz09PTY5KWlmKGMucWEuZXh0cmEpe2ZvcihlPWMucGVuZGluZztjLnpjPAooYy5xYS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoYy5wZW5kaW5nIT09Yy5uY3x8KGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZyE9PWMubmMpKTspcWkoYyxjLnFhLmV4dHJhW2MuemNdJjI1NSksYy56YysrO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2MuemM9PT1jLnFhLmV4dHJhLmxlbmd0aCYmKGMuemM9MCxjLnN0YXR1cz03Myl9ZWxzZSBjLnN0YXR1cz03MztpZihjLnN0YXR1cz09PTczKWlmKGMucWEubmFtZSl7ZT1jLnBlbmRpbmc7ZG97aWYoYy5wZW5kaW5nPT09Yy5uYyYmKGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZz09PWMubmMpKXt2YXIgZj0xO2JyZWFrfWY9Yy56YzxjLnFhLm5hbWUubGVuZ3RoP2MucWEubmFtZS5jaGFyQ29kZUF0KGMuemMrKykmCjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy56Yz0wLGMuc3RhdHVzPTkxKX1lbHNlIGMuc3RhdHVzPTkxO2lmKGMuc3RhdHVzPT09OTEpaWYoYy5xYS5jb21tZW50KXtlPWMucGVuZGluZztkb3tpZihjLnBlbmRpbmc9PT1jLm5jJiYoYy5xYS5iZSYmYy5wZW5kaW5nPmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmctZSxlKSksbGkoYSksZT1jLnBlbmRpbmcsYy5wZW5kaW5nPT09Yy5uYykpe2Y9MTticmVha31mPWMuemM8Yy5xYS5jb21tZW50Lmxlbmd0aD9jLnFhLmNvbW1lbnQuY2hhckNvZGVBdChjLnpjKyspJjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy5zdGF0dXM9MTAzKX1lbHNlIGMuc3RhdHVzPTEwMztjLnN0YXR1cz09PTEwMyYmCihjLnFhLmJlPyhjLnBlbmRpbmcrMj5jLm5jJiZsaShhKSxjLnBlbmRpbmcrMjw9Yy5uYyYmKHFpKGMsYS5zYSYyNTUpLHFpKGMsYS5zYT4+OCYyNTUpLGEuc2E9MCxjLnN0YXR1cz0xMTMpKTpjLnN0YXR1cz0xMTMpO2lmKGMucGVuZGluZyE9PTApe2lmKGxpKGEpLGEuemE9PT0wKXJldHVybiBjLmlnPS0xLDB9ZWxzZSBpZihhLkRiPT09MCYmKGI8PDEpLShiPjQ/OTowKTw9KGQ8PDEpLShkPjQ/OTowKSYmYiE9PTQpcmV0dXJuIGppKGEsLTUpO2lmKGMuc3RhdHVzPT09NjY2JiZhLkRiIT09MClyZXR1cm4gamkoYSwtNSk7aWYoYS5EYiE9PTB8fGMuZGEhPT0wfHxiIT09MCYmYy5zdGF0dXMhPT02NjYpe2Q9Yy5zdHJhdGVneT09PTI/emkoYyxiKTpjLnN0cmF0ZWd5PT09Mz95aShjLGIpOkNpW2MubGV2ZWxdLmt3KGMsYik7aWYoZD09PTN8fGQ9PT00KWMuc3RhdHVzPTY2NjtpZihkPT09MXx8ZD09PTMpcmV0dXJuIGEuemE9PT0wJiYoYy5pZz0tMSksMDtpZihkPT09MiYmKGI9PT0xPwooTmgoYywyLDMpLE9oKGMsMjU2LG5pKSxjLmhiPT09MTY/KE1oKGMsYy5GYiksYy5GYj0wLGMuaGI9MCk6Yy5oYj49OCYmKGMuT2FbYy5wZW5kaW5nKytdPWMuRmImMjU1LGMuRmI+Pj04LGMuaGItPTgpKTpiIT09NSYmKE5oKGMsMCwzKSxUaChjLDAsMCksYj09PTMmJihraShjLmhlYWQpLGMuZGE9PT0wJiYoYy5WPTAsYy5VYj0wLGMucmI9MCkpKSxsaShhKSxhLnphPT09MCkpcmV0dXJuIGMuaWc9LTEsMH1pZihiIT09NClyZXR1cm4gMDtpZihjLndyYXA8PTApcmV0dXJuIDE7Yy53cmFwPT09Mj8ocWkoYyxhLnNhJjI1NSkscWkoYyxhLnNhPj44JjI1NSkscWkoYyxhLnNhPj4xNiYyNTUpLHFpKGMsYS5zYT4+MjQmMjU1KSxxaShjLGEucWYmMjU1KSxxaShjLGEucWY+PjgmMjU1KSxxaShjLGEucWY+PjE2JjI1NSkscWkoYyxhLnFmPj4yNCYyNTUpKToocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2xpKGEpO2Mud3JhcD4wJiYoYy53cmFwPS1jLndyYXApO3JldHVybiBjLnBlbmRpbmchPT0KMD8wOjF9OwpFaT1mdW5jdGlvbihhKXtpZighKHRoaXMgaW5zdGFuY2VvZiBFaSkpcmV0dXJuIG5ldyBFaShhKTthPXRoaXMub3B0aW9ucz1IaC5hc3NpZ24oe2xldmVsOi0xLG1ldGhvZDo4LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6MCx0bzoiIn0sYXx8e30pO2EucmF3JiZhLndpbmRvd0JpdHM+MD9hLndpbmRvd0JpdHM9LWEud2luZG93Qml0czphLmd6aXAmJmEud2luZG93Qml0cz4wJiZhLndpbmRvd0JpdHM8MTYmJihhLndpbmRvd0JpdHMrPTE2KTt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ITE7dGhpcy5jaHVua3M9W107dGhpcy53YT1uZXcgRmk7dGhpcy53YS56YT0wO3ZhciBiPXRoaXMud2E7dmFyIGM9YS5sZXZlbCxkPWEubWV0aG9kLGU9YS53aW5kb3dCaXRzLGY9YS5tZW1MZXZlbCxoPWEuc3RyYXRlZ3k7aWYoYil7dmFyIGs9MTtjPT09LTEmJihjPTYpO2U8MD8oaz0wLGU9LWUpOmU+MTUmJihrPTIsZS09MTYpO2lmKGY8CjF8fGY+OXx8ZCE9PTh8fGU8OHx8ZT4xNXx8YzwwfHxjPjl8fGg8MHx8aD40KWI9amkoYiwtMik7ZWxzZXtlPT09OCYmKGU9OSk7dmFyIGw9bmV3IEJpO2Iuc3RhdGU9bDtsLndhPWI7bC53cmFwPWs7bC5xYT1udWxsO2wuTm49ZTtsLkJiPTE8PGwuTm47bC5CZT1sLkJiLTE7bC5MbD1mKzc7bC5haj0xPDxsLkxsO2wudmQ9bC5hai0xO2wud2Q9fn4oKGwuTGwrMy0xKS8zKTtsLndpbmRvdz1uZXcgSGgudGYobC5CYioyKTtsLmhlYWQ9bmV3IEhoLlljKGwuYWopO2wuVWE9bmV3IEhoLlljKGwuQmIpO2wuQWg9MTw8Zis2O2wubmM9bC5BaCo0O2wuT2E9bmV3IEhoLnRmKGwubmMpO2wuWWc9bC5BaDtsLmttPTMqbC5BaDtsLmxldmVsPWM7bC5zdHJhdGVneT1oO2wubWV0aG9kPWQ7aWYoYiYmYi5zdGF0ZSl7Yi5xZj1iLkVuPTA7Yi5pbD0yO2M9Yi5zdGF0ZTtjLnBlbmRpbmc9MDtjLkpoPTA7Yy53cmFwPDAmJihjLndyYXA9LWMud3JhcCk7Yy5zdGF0dXM9Yy53cmFwPzQyOjExMztiLnNhPQpjLndyYXA9PT0yPzA6MTtjLmlnPTA7aWYoIUdpKXtkPUFycmF5KDE2KTtmb3IoZj1oPTA7ZjwyODtmKyspZm9yKFloW2ZdPWgsZT0wO2U8MTw8WGhbZl07ZSsrKVdoW2grK109ZjtXaFtoLTFdPWY7Zm9yKGY9aD0wO2Y8MTY7ZisrKWZvcihiaVtmXT1oLGU9MDtlPDE8PCRoW2ZdO2UrKylaaFtoKytdPWY7Zm9yKGg+Pj03O2Y8MzA7ZisrKWZvcihiaVtmXT1oPDw3LGU9MDtlPDE8PCRoW2ZdLTc7ZSsrKVpoWzI1NitoKytdPWY7Zm9yKGU9MDtlPD0xNTtlKyspZFtlXT0wO2ZvcihlPTA7ZTw9MTQzOyluaVtlKjIrMV09OCxlKyssZFs4XSsrO2Zvcig7ZTw9MjU1OyluaVtlKjIrMV09OSxlKyssZFs5XSsrO2Zvcig7ZTw9Mjc5OyluaVtlKjIrMV09NyxlKyssZFs3XSsrO2Zvcig7ZTw9Mjg3OyluaVtlKjIrMV09OCxlKyssZFs4XSsrO1FoKG5pLDI4NyxkKTtmb3IoZT0wO2U8MzA7ZSsrKW9pW2UqMisxXT01LG9pW2UqMl09UGgoZSw1KTtIaT1uZXcgS2gobmksWGgsMjU3LDI4NiwxNSk7SWk9Cm5ldyBLaChvaSwkaCwwLDMwLDE1KTtKaT1uZXcgS2goW10sS2ksMCwxOSw3KTtHaT0hMH1jLnBqPW5ldyBMaChjLlFiLEhpKTtjLklpPW5ldyBMaChjLlBlLElpKTtjLlRvPW5ldyBMaChjLnFiLEppKTtjLkZiPTA7Yy5oYj0wO1JoKGMpO2M9MH1lbHNlIGM9amkoYiwtMik7Yz09PTAmJihiPWIuc3RhdGUsYi5Lcz0yKmIuQmIsa2koYi5oZWFkKSxiLm9tPUNpW2IubGV2ZWxdLkV5LGIuWXA9Q2lbYi5sZXZlbF0udHcsYi5TcT1DaVtiLmxldmVsXS5XeSxiLk5xPUNpW2IubGV2ZWxdLkR5LGIuVj0wLGIuVWI9MCxiLmRhPTAsYi5yYj0wLGIuQmE9Yi5ZYj0yLGIuY2Y9MCxiLnhhPTApO2I9Y319ZWxzZSBiPS0yO2lmKGIhPT0wKXRocm93IEVycm9yKGlpW2JdKTthLmhlYWRlciYmKGI9dGhpcy53YSkmJmIuc3RhdGUmJmIuc3RhdGUud3JhcD09PTImJihiLnN0YXRlLnFhPWEuaGVhZGVyKTtpZihhLmRpY3Rpb25hcnkpe3ZhciBtO3R5cGVvZiBhLmRpY3Rpb25hcnk9PT0ic3RyaW5nIj9tPQpJaChhLmRpY3Rpb25hcnkpOkxpLmNhbGwoYS5kaWN0aW9uYXJ5KT09PSJbb2JqZWN0IEFycmF5QnVmZmVyXSI/bT1uZXcgVWludDhBcnJheShhLmRpY3Rpb25hcnkpOm09YS5kaWN0aW9uYXJ5O2E9dGhpcy53YTtmPW07aD1mLmxlbmd0aDtpZihhJiZhLnN0YXRlKWlmKG09YS5zdGF0ZSxiPW0ud3JhcCxiPT09Mnx8Yj09PTEmJm0uc3RhdHVzIT09NDJ8fG0uZGEpYj0tMjtlbHNle2I9PT0xJiYoYS5zYT10aShhLnNhLGYsaCwwKSk7bS53cmFwPTA7aD49bS5CYiYmKGI9PT0wJiYoa2kobS5oZWFkKSxtLlY9MCxtLlViPTAsbS5yYj0wKSxjPW5ldyBIaC50ZihtLkJiKSxIaC53ZihjLGYsaC1tLkJiLG0uQmIsMCksZj1jLGg9bS5CYik7Yz1hLkRiO2Q9YS5mZjtlPWEuaW5wdXQ7YS5EYj1oO2EuZmY9MDthLmlucHV0PWY7Zm9yKHZpKG0pO20uZGE+PTM7KXtmPW0uVjtoPW0uZGEtMjtkbyBtLnhhPShtLnhhPDxtLndkXm0ud2luZG93W2YrMy0xXSkmbS52ZCxtLlVhW2YmbS5CZV09bS5oZWFkW20ueGFdLAptLmhlYWRbbS54YV09ZixmKys7d2hpbGUoLS1oKTttLlY9ZjttLmRhPTI7dmkobSl9bS5WKz1tLmRhO20uVWI9bS5WO20ucmI9bS5kYTttLmRhPTA7bS5CYT1tLlliPTI7bS5jZj0wO2EuZmY9ZDthLmlucHV0PWU7YS5EYj1jO20ud3JhcD1iO2I9MH1lbHNlIGI9LTI7aWYoYiE9PTApdGhyb3cgRXJyb3IoaWlbYl0pO3RoaXMuTUg9ITB9fTtNaT1mdW5jdGlvbihhLGIpe2I9PT0wJiYoYS5yZXN1bHQ9YS5vcHRpb25zLnRvPT09InN0cmluZyI/YS5jaHVua3Muam9pbigiIik6SGguTXAoYS5jaHVua3MpKTthLmNodW5rcz1bXTthLmVycj1iO2EubXNnPWEud2EubXNnfTtfLk5pPWZ1bmN0aW9uKGEpe3ZhciBiPWJ8fHt9O2IuZ3ppcD0hMDtiPW5ldyBFaShiKTtiLnB1c2goYSwhMCk7aWYoYi5lcnIpdGhyb3cgYi5tc2d8fGlpW2IuZXJyXTtyZXR1cm4gYi5yZXN1bHR9OwpfLk9pPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGg+MT9hW2JbMF1dPWJbMV06Yi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKGEsYlswXSl9O18uUWk9ZnVuY3Rpb24oLi4uYSl7Xy5PaShfLlBpLGFyZ3VtZW50cyl9O18udz1mdW5jdGlvbihhLGIpe3JldHVybiBhIGluIF8uUGk/Xy5QaVthXTpifTtfLlJpPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUGkuRVhQRVJJTUVOVF9GTEFHUztyZXR1cm4gYj9iW2FdOnZvaWQgMH07VGk9ZnVuY3Rpb24oYSl7U2kuZm9yRWFjaChiPT5iKGEpKX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmd2luZG93Lnl0ZXJyP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChiKXtfLlVpKGIpfX06YX07Cl8uVWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7Yj9iKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwKTooYj1fLncoIkVSUk9SUyIsW10pLGIucHVzaChbYSwiRVJST1IiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDBdKSxfLlFpKCJFUlJPUlMiLGIpKTtUaShhKX07Xy5XaT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPV8uc2EoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO2Y/ZihhLCJXQVJOSU5HIixiLGMsZCx2b2lkIDAsZSk6KGY9Xy53KCJFUlJPUlMiLFtdKSxmLnB1c2goW2EsIldBUk5JTkciLGIsYyxkLHZvaWQgMCxlXSksXy5RaSgiRVJST1JTIixmKSl9OwpZaT1mdW5jdGlvbihhLGIpe2I9YS5zcGxpdChiKTt2YXIgYz17fTtmb3IobGV0IGY9MCxoPWIubGVuZ3RoO2Y8aDtmKyspe2xldCBrPWJbZl0uc3BsaXQoIj0iKTtpZihrLmxlbmd0aD09PTEmJmtbMF18fGsubGVuZ3RoPT09Mil0cnl7bGV0IGw9WGkoa1swXXx8IiIpLG09WGkoa1sxXXx8IiIpO2lmKGwgaW4gYyl7bGV0IG49Y1tsXTtBcnJheS5pc0FycmF5KG4pP3piKG4sbSk6Y1tsXT1bbixtXX1lbHNlIGNbbF09bX1jYXRjaChsKXt2YXIgZD1sLGU9a1swXTtsZXQgbT1TdHJpbmcoWWkpO2QuYXJncz1be2tleTplLHZhbHVlOmtbMV0scXVlcnk6YSxtZXRob2Q6Wmk9PT1tPyJ1bmNoYW5nZWQiOm19XTskaS5oYXNPd25Qcm9wZXJ0eShlKXx8Xy5XaShkKX19cmV0dXJuIGN9Owphaj1mdW5jdGlvbihhKXt2YXIgYj1bXTtvZChhLChjLGQpPT57dmFyIGU9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSk7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO18udGIoYyxmPT57Zj09IiI/Yi5wdXNoKGUpOmIucHVzaChgJHtlfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZikpfWApfSl9KTtyZXR1cm4gYi5qb2luKCImIil9O18uYmo9ZnVuY3Rpb24oYSl7YS5jaGFyQXQoMCk9PT0iPyImJihhPWEuc3Vic3RyaW5nKDEpKTtyZXR1cm4gWWkoYSwiJiIpfTtkaj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCEwKX07Xy5laj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCExKX07CmNqPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnNwbGl0KCIjIiwyKTthPWRbMF07ZD1kLmxlbmd0aD4xPyIjIitkWzFdOiIiO3ZhciBlPWEuc3BsaXQoIj8iLDIpO2E9ZVswXTtlPV8uYmooZVsxXXx8IiIpO2ZvcihsZXQgZiBpbiBiKSFjJiZlIT09bnVsbCYmZiBpbiBlfHwoZVtmXT1iW2ZdKTtyZXR1cm4gXy5XYihhLGUpK2R9O18uZmo9ZnVuY3Rpb24oYSl7aWYoIWIpdmFyIGI9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIGM9Xy5NYihhKVsxXXx8bnVsbCxkPV8uUGIoYSk7YyYmZD8oYT1fLk1iKGEpLGI9Xy5NYihiKSxhPWFbM109PWJbM10mJmFbMV09PWJbMV0mJmFbNF09PWJbNF0pOmE9ZD9fLlBiKGIpPT09ZCYmKE51bWJlcihfLk1iKGIpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKF8uTWIoYSlbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gYX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEubWF0Y2goZ2opP2E6Xy5IYihhKX07Cl8ubGo9ZnVuY3Rpb24oYT1fLnNhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIil7dmFyIGI9aGosYz1PYmplY3QsZD1jLmFzc2lnbjthOnt0cnl7dmFyIGU9Yi5qLnRvcC5sb2NhdGlvbi5ocmVmfWNhdGNoKEEpe2U9MjticmVhayBhfWU9ZT9lPT09Yi5vLmxvY2F0aW9uLmhyZWY/MDoxOjJ9ZT17ZHQ6aWosZmxhc2g6IjAiLGZybTplfTt0cnl7ZS51X3R6PS0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCk7dHJ5e3ZhciBmPWpqLmhpc3RvcnkubGVuZ3RofWNhdGNoKEEpe2Y9MH1lLnVfaGlzPWY7ZS51X2g9amouc2NyZWVuPy5oZWlnaHQ7ZS51X3c9amouc2NyZWVuPy53aWR0aDtlLnVfYWg9amouc2NyZWVuPy5hdmFpbEhlaWdodDtlLnVfYXc9amouc2NyZWVuPy5hdmFpbFdpZHRoO2UudV9jZD1qai5zY3JlZW4/LmNvbG9yRGVwdGh9Y2F0Y2goQSl7fWY9Yi5qO3RyeXt2YXIgaD1mLnNjcmVlblg7dmFyIGs9Zi5zY3JlZW5ZfWNhdGNoKEEpe310cnl7dmFyIGw9Zi5vdXRlcldpZHRoOwp2YXIgbT1mLm91dGVySGVpZ2h0fWNhdGNoKEEpe310cnl7dmFyIG49Zi5pbm5lcldpZHRoO3ZhciBwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgcj1mLnNjcmVlbkxlZnQ7dmFyIHQ9Zi5zY3JlZW5Ub3B9Y2F0Y2goQSl7fXRyeXtuPWYuaW5uZXJXaWR0aCxwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgdj1mLnNjcmVlbi5hdmFpbFdpZHRoO3ZhciB6PWYuc2NyZWVuLmF2YWlsVG9wfWNhdGNoKEEpe31oPVtyLHQsaCxrLHYseixsLG0sbixwXTt0cnl7dmFyIEU9Xy55ZChiLmoudG9wfHx3aW5kb3cpLnJvdW5kKCl9Y2F0Y2goQSl7RT1uZXcgXy5uZCgtMTIyNDU5MzMsLTEyMjQ1OTMzKX1sPUU7RT1uZXcga2o7IlNWR0VsZW1lbnQiaW4gXy51JiYiY3JlYXRlRWxlbWVudE5TImluIF8udS5kb2N1bWVudCYmRS5zZXQoMCk7az1tZCgpO2tbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZFLnNldCgxKTtrWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmCkUuc2V0KDIpO18udS5jcnlwdG8mJl8udS5jcnlwdG8uc3VidGxlJiZFLnNldCgzKTsiVGV4dERlY29kZXIiaW4gXy51JiYiVGV4dEVuY29kZXIiaW4gXy51JiZFLnNldCg0KTtFPW5oKEUpO2s9bC5oZWlnaHQ7bD1sLndpZHRoO2g9aC5qb2luKCk7Yj1iLm87Yz1kLmNhbGwoYyxlLHtiYzpFLGJpaDprLGJpdzpsLGJyZGltOmgsdmlzOmIucHJlcmVuZGVyaW5nPzM6e3Zpc2libGU6MSxoaWRkZW46MixwcmVyZW5kZXI6MyxwcmV2aWV3OjQsdW5sb2FkZWQ6NSwiIjowfVtiLnZpc2liaWxpdHlTdGF0ZXx8Yi53ZWJraXRWaXNpYmlsaXR5U3RhdGV8fGIubW96VmlzaWJpbGl0eVN0YXRlfHwiIl0/PzAsd2dsOiEhamouV2ViR0xSZW5kZXJpbmdDb250ZXh0fSk7Yy5jYV90eXBlPSJpbWFnZSI7YSYmKGMuYmlkPWEpO3JldHVybiBjfTtfLm1qPWZ1bmN0aW9uKGEsYil7dHlwZW9mIGE9PT0iZnVuY3Rpb24iJiYoYT1fLlZpKGEpKTtyZXR1cm4gd2luZG93LnNldFRpbWVvdXQoYSxiKX07Cm9qPWZ1bmN0aW9uKCl7aWYoIW5qKXJldHVybiBudWxsO3ZhciBhPW5qKCk7cmV0dXJuIm9wZW4iaW4gYT9hOm51bGx9O18ucWo9ZnVuY3Rpb24oYSl7c3dpdGNoKF8ucGooYSkpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjAzOmNhc2UgMjA0OmNhc2UgMjA1OmNhc2UgMjA2OmNhc2UgMzA0OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtfLnBqPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYic3RhdHVzImluIGE/YS5zdGF0dXM6LTF9O18ueD1mdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmciJiZhPT09ImZhbHNlIj8hMTohIWF9O18uc2o9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTnVtYmVyKF8ucmooYSxiKXx8MCl9O18udGo9ZnVuY3Rpb24oYSl7YT1fLnJqKGEpO3JldHVybiBhIT09dm9pZCAwP1N0cmluZyhhKToiIn07Cl8ucmo9ZnVuY3Rpb24oYSxiKXthPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pW2FdO3JldHVybiBhIT09dm9pZCAwP2E6Yn07Xy51aj1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Xy53KCJFWFBFUklNRU5UU19GT1JDRURfRkxBR1MiLHt9KTtmb3IodmFyIGMgb2YgT2JqZWN0LmtleXMoYikpYS5wdXNoKHtrZXk6Yyx2YWx1ZTpTdHJpbmcoYltjXSl9KTtjPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhjKSlkLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZiW2RdPT09dm9pZCAwJiZhLnB1c2goe2tleTpkLHZhbHVlOlN0cmluZyhjW2RdKX0pO3JldHVybiBhfTsKeGo9ZnVuY3Rpb24oYSxiLGM9IkdFVCIsZD0iIixlLGYsaCxrPSExLGwpe3ZhciBtPW9qKCk7aWYoIW0pcmV0dXJuIG51bGw7dmFyIG49KCk9PnsobSYmInJlYWR5U3RhdGUiaW4gbT9tLnJlYWR5U3RhdGU6MCk9PT00JiZiJiZfLlZpKGIpKG0pfTsib25sb2FkZW5kImluIG0/bS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixuLCExKTptLm9ucmVhZHlzdGF0ZWNoYW5nZT1uO18ueCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYoYT12aihhKSk7bS5vcGVuKGMsYSwhMCk7ZiYmKG0ucmVzcG9uc2VUeXBlPWYpO2gmJihtLndpdGhDcmVkZW50aWFscz0hMCk7Yz1jPT09IlBPU1QiJiYod2luZG93LkZvcm1EYXRhPT09dm9pZCAwfHwhKGQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpO2lmKGU9d2ooYSxlKSlmb3IobGV0IHAgaW4gZSltLnNldFJlcXVlc3RIZWFkZXIocCxlW3BdKSwiY29udGVudC10eXBlIj09PXAudG9Mb3dlckNhc2UoKSYmKGM9ITEpO2MmJm0uc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwKImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpO2wmJiJvbnByb2dyZXNzImluIG0mJihtLm9ucHJvZ3Jlc3M9KCk9PntsKG0ucmVzcG9uc2VUZXh0KX0pO2lmKGsmJiJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUpe2E9e2V2ZW50U291cmNlRWxpZ2libGU6ITAsdHJpZ2dlckVsaWdpYmxlOiExfTt0cnl7bS5zZXRBdHRyaWJ1dGlvblJlcG9ydGluZyhhKX1jYXRjaChwKXtfLldpKHApfX1tLnNlbmQoZCk7cmV0dXJuIG19Owp3aj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPV8uZmooYSksZD1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpLGU9Xy54KCJ3ZWJfYWpheF9pZ25vcmVfZ2xvYmFsX2hlYWRlcnNfaWZfc2V0Iik7Zm9yKGxldCBrIGluIHlqKXtsZXQgbD1fLncoeWpba10pLG09az09PSJYLUdvb2ctQXV0aFVzZXIifHxrPT09IlgtR29vZy1QYWdlSWQiO2shPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxsfHwobD1fLncoIlZJU0lUT1JfREFUQSIpKTt2YXIgZjtpZighKGY9IWwpKXtpZighKGY9Y3x8KF8uUGIoYSk/ITE6ITApKSl7Zj1hO3ZhciBoO2lmKGg9Xy54KCJhZGRfYXV0aF9oZWFkZXJzX3RvX3JlbWFya2V0aW5nX2dvb2dsZV9kb3RfY29tX3BpbmciKSYmaz09PSJBdXRob3JpemF0aW9uIiYmKGQ9PT0iVFZIVE1MNSJ8fGQ9PT0iVFZIVE1MNV9VTlBMVUdHRUQifHxkPT09IlRWSFRNTDVfU0lNUExZIikpaD1fLlBiKGYpLGg9aCE9PW51bGw/aC5zcGxpdCgiLiIpLnJldmVyc2UoKTpudWxsLGg9aD09PQpudWxsPyExOmhbMV09PT0iZ29vZ2xlIj8hMDpoWzJdPT09Imdvb2dsZSI/aFswXT09PSJhdSImJmhbMV09PT0iY29tIj8hMDpoWzBdPT09InVrIiYmaFsxXT09PSJjbyI/ITA6ITE6ITE7aCYmKGY9Xy5RYihmKXx8IiIsZj1mLnNwbGl0KCIvIiksZj0iLyIrKGYubGVuZ3RoPjE/ZlsxXToiIiksaD1mPT09Ii9wYWdlYWQiKTtmPWg/ITA6ITF9Zj0hZn1mfHxlJiZiW2tdIT09dm9pZCAwfHxkPT09IlRWSFRNTDVfVU5QTFVHR0VEIiYmbXx8KGJba109bCl9IlgtR29vZy1FT00tVmlzaXRvci1JZCJpbiBiJiYiWC1Hb29nLVZpc2l0b3ItSWQiaW4gYiYmZGVsZXRlIGJbIlgtR29vZy1WaXNpdG9yLUlkIl07aWYoY3x8IV8uUGIoYSkpYlsiWC1Zb3VUdWJlLVV0Yy1PZmZzZXQiXT1TdHJpbmcoLShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSk7aWYoY3x8IV8uUGIoYSkpe2xldCBrO3RyeXtrPShuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmV9Y2F0Y2h7fWsmJgooYlsiWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPWspfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhYyYmXy5QYihhKXx8KGJbIlgtWW91VHViZS1BZC1TaWduYWxzIl09YWooXy5saigpKSk7cmV0dXJuIGJ9O0FqPWZ1bmN0aW9uKGEsYil7Yi5tZXRob2Q9IlBPU1QiO2IucG9zdFBhcmFtc3x8KGIucG9zdFBhcmFtcz17fSk7cmV0dXJuIF8uemooYSxiKX07Cl8uemo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmZvcm1hdHx8IkpTT04iO2E9QmooYSxiKTt2YXIgZD1DaihhLGIpLGU9ITEsZj1EaihhLGs9PntpZighZSl7ZT0hMDtoJiZ3aW5kb3cuY2xlYXJUaW1lb3V0KGgpO3ZhciBsPV8ucWooayksbT1udWxsLG49NDAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NTAwLHA9NTAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NjAwO2lmKGx8fG58fHApbT1FaihhLGMsayxiLmNvbnZlcnRUb1NhZmVIdG1sKTtsJiYobD1GaihjLGssbSkpO209bXx8e307bj1iLmNvbnRleHR8fF8udTtsP2Iub25TdWNjZXNzJiZiLm9uU3VjY2Vzcy5jYWxsKG4sayxtKTpiLm9uRXJyb3ImJmIub25FcnJvci5jYWxsKG4sayxtKTtiLm9uRmluaXNoJiZiLm9uRmluaXNoLmNhbGwobixrLG0pfX0sYi5tZXRob2QsZCxiLmhlYWRlcnMsYi5yZXNwb25zZVR5cGUsYi53aXRoQ3JlZGVudGlhbHMsITEsYi5vblByb2dyZXNzKTtkPWIudGltZW91dHx8MDtpZihiLm9uVGltZW91dCYmZD4wKXtsZXQgaz0KYi5vblRpbWVvdXQ7dmFyIGg9Xy5taigoKT0+e2V8fChlPSEwLGYuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLGsuY2FsbChiLmNvbnRleHR8fF8udSxmKSl9LGQpfXJldHVybiBmfTtCaj1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZURvbWFpbiYmKGE9ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIitkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSsoZG9jdW1lbnQubG9jYXRpb24ucG9ydD8iOiIrZG9jdW1lbnQubG9jYXRpb24ucG9ydDoiIikrYSk7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKTtpZihiPWIudXJsUGFyYW1zKWJbY10mJmRlbGV0ZSBiW2NdLGE9ZGooYSxiKTtyZXR1cm4gYX07CkNqPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKSxkPV8udygiWFNSRl9UT0tFTiIpLGU9Yi5wb3N0Qm9keXx8IiIsZj1iLnBvc3RQYXJhbXMsaD1fLncoIlhTUkZfRklFTERfTkFNRSIpLGs7Yi5oZWFkZXJzJiYoaz1iLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdKTtiLmV4Y2x1ZGVYc3JmfHxfLlBiKGEpJiYhYi53aXRoQ3JlZGVudGlhbHMmJl8uUGIoYSkhPT1kb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZXx8Yi5tZXRob2QhPT0iUE9TVCJ8fGsmJmshPT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkInx8Yi5wb3N0UGFyYW1zJiZiLnBvc3RQYXJhbXNbaF18fChmfHwoZj17fSksZltjXT1kKTtmJiZ0eXBlb2YgZT09PSJzdHJpbmciJiYoZT1fLmJqKGUpLHNkKGUsZiksZT1iLnBvc3RCb2R5Rm9ybWF0JiZiLnBvc3RCb2R5Rm9ybWF0PT09IkpTT04iP0pTT04uc3RyaW5naWZ5KGUpOl8uVWIoZSkpO2Y9ZXx8ZiYmIV8ucGQoZik7IUdqJiZmJiYKYi5tZXRob2QhPT0iUE9TVCImJihHaj0hMCxfLlVpKEVycm9yKCJjYSIpKSk7cmV0dXJuIGV9O0VqPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW51bGw7c3dpdGNoKGIpe2Nhc2UgIkpTT04iOmxldCBmO3RyeXtmPWMucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGQ9RXJyb3IoImRhIiksZC5wYXJhbXM9YSxfLldpKGQpLGg7fWE9Yy5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIil8fCIiO2lmKGYmJmEuaW5kZXhPZigianNvbiIpPj0wKXtmLnN1YnN0cmluZygwLDUpPT09IildfSdcbiImJihmPWYuc3Vic3RyaW5nKDUpKTt0cnl7ZT1KU09OLnBhcnNlKGYpfWNhdGNoKGgpe319YnJlYWs7Y2FzZSAiWE1MIjppZihhPShhPWMucmVzcG9uc2VYTUwpP0hqKGEpOm51bGwpZT17fSxfLnRiKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxoPT57ZVtoLnRhZ05hbWVdPUlqKGgpfSl9ZCYmSmooZSk7cmV0dXJuIGV9OwpKaj1mdW5jdGlvbihhKXtpZihfLkFhKGEpKWZvcihsZXQgYiBpbiBhKWI9PT0iaHRtbF9jb250ZW50Inx8Xy5NYShiLCJfaHRtbCIpP2FbYl09Xy5nYihhW2JdKTpKaihhW2JdKX07Rmo9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmIuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChhKXtjYXNlICJKU09OIjpyZXR1cm4hIWM7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKGMmJmMucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFjfX07SGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/KGE9KCJyZXNwb25zZVhNTCJpbiBhP2EucmVzcG9uc2VYTUw6YSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInJvb3QiKSkmJmEubGVuZ3RoPjA/YVswXTpudWxsOm51bGx9O0lqPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO18udGIoYS5jaGlsZE5vZGVzLGM9PntiKz1jLm5vZGVWYWx1ZX0pO3JldHVybiBifTsKdmo9ZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxjPV8uUGIoYSk7Xy54KCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IWMmJl8uZmooYSkmJihjPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgZD1fLlFiKGEpO2Q9KGM9YyYmKGMuZW5kc1dpdGgoInlvdXR1YmUuY29tIil8fGMuZW5kc1dpdGgoInlvdXR1YmUtbm9jb29raWUuY29tIikpKSYmZCYmZC5zdGFydHNXaXRoKCIvYXBpLyIpO2lmKCFjfHxkKXJldHVybiBhO3ZhciBlPV8uYmooYiksZj17fTtfLnRiKEtqLGg9PntlW2hdJiYoZltoXT1lW2hdKX0pO3JldHVybiBfLmVqKGEsZil9O18uTWo9ZnVuY3Rpb24oYSxiLGMsZD0ieW91dHViZS5jb20iLGU9ITEpe18uTGouc2V0KGEsYix7dmo6YyxwYXRoOiIvIixkb21haW46ZCxzZWN1cmU6ZX0pfTsKXy5Oaj1mdW5jdGlvbihhLGI9Ii8iLGM9InlvdXR1YmUuY29tIil7Xy5Mai5yZW1vdmUoYSxiLGMpfTtfLk9qPWZ1bmN0aW9uKCl7aWYoIV8udS5tYXRjaE1lZGlhKXJldHVybiJXRUJfRElTUExBWV9NT0RFX1VOS05PV04iO3RyeXtyZXR1cm4gXy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpfLnUubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogbWluaW1hbC11aSkiKS5tYXRjaGVzPyJXRUJfRElTUExBWV9NT0RFX01JTklNQUxfVUkiOl8udS5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSIpLm1hdGNoZXM/IldFQl9ESVNQTEFZX01PREVfRlVMTFNDUkVFTiI6Xy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChhKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwpfLlBqPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9W107IlVTRVJfU0VTU0lPTl9JRCJpbiBfLlBpJiZjLnB1c2goe2tleToidSIsdmFsdWU6Xy53KCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKGM9Xy5QZChjKSliLkF1dGhvcml6YXRpb249YyxjPWE9YT8uc2Vzc2lvbkluZGV4LGM9PT12b2lkIDAmJihjPU51bWJlcihfLncoIlNFU1NJT05fSU5ERVgiLDApKSxjPWlzTmFOKGMpPzA6YyksXy54KCJ2b2ljZV9zZWFyY2hfYXV0aF9oZWFkZXJfcmVtb3ZhbCIpfHwoYlsiWC1Hb29nLUF1dGhVc2VyIl09Yy50b1N0cmluZygpKSwiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiaW4gXy5QaXx8KGJbIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIF8uUGkmJihiWyJYLUdvb2ctUGFnZUlkIl09Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpKTtyZXR1cm4gYn07ClFqPWZ1bmN0aW9uKCl7dmFyIGE9Xy51Lm5hdmlnYXRvcjtyZXR1cm4gYT9hLmNvbm5lY3Rpb246dm9pZCAwfTtfLlNqPWZ1bmN0aW9uKCl7dmFyIGE9UWooKTtpZihhKXt2YXIgYj1SalthLnR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO2E9UmpbYS5lZmZlY3RpdmVUeXBlfHwidW5rbm93biJdfHwiQ09OTl9VTktOT1dOIjtiPT09IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiImJmEhPT0iQ09OTl9VTktOT1dOIiYmKGI9YSk7aWYoYiE9PSJDT05OX1VOS05PV04iKXJldHVybiBiO2lmKGEhPT0iQ09OTl9VTktOT1dOIilyZXR1cm4gYX19O18uVWo9ZnVuY3Rpb24oKXt2YXIgYT1RaigpO2lmKGE/LmVmZmVjdGl2ZVR5cGUpcmV0dXJuIFRqLmhhc093blByb3BlcnR5KGEuZWZmZWN0aXZlVHlwZSk/VGpbYS5lZmZlY3RpdmVUeXBlXToiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9VTktOT1dOIn07Xy5Xaj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gXy5WaigpLCEwfWNhdGNoKGEpe3JldHVybiExfX07Cl8uVmo9ZnVuY3Rpb24oYT0idW5rbm93biIpe2lmKF8udygiREFUQVNZTkNfSUQiKSE9PXZvaWQgMClyZXR1cm4gXy53KCJEQVRBU1lOQ19JRCIpO3Rocm93IG5ldyBfLlhqKCJEYXRhc3luYyBJRCBub3Qgc2V0IixhKTt9O18uWWo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDAsYil9O1pqPWZ1bmN0aW9uKGEsYil7dHJ5e2IoKX1jYXRjaChjKXthLkpiKGMpfX07Yms9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54KCJlbmFibGVfc2NoZWR1bGVyX3NpbXVsYXRlX3JhZiIpO2lmKGEub1s4XS5sZW5ndGgpe2lmKGEuaGEpcmV0dXJuIDQ7aWYoYil7aWYoIWEuaXNIaWRkZW4oKSlyZXR1cm4gYS5aPzM6NX1lbHNlIGlmKGFrKGEpKXJldHVybiAzfWZvcihsZXQgYz01O2M+PWEuQjtjLS0paWYoYS5vW2NdLmxlbmd0aD4wKXJldHVybiBjPjA/Yj9hLmlzSGlkZGVuKCk/MjphLlo/Mzo1OmFrKGEpPzM6MjoxO3JldHVybiAwfTsKY2s9ZnVuY3Rpb24oYSl7YS5nYS5sZW5ndGg9MDtmb3IobGV0IGI9NTtiPj0wO2ItLSlhLm9bYl0ubGVuZ3RoPTA7YS5vWzhdLmxlbmd0aD0wO2Eudj17fTthLnN0b3AoKX07YWs9ZnVuY3Rpb24oYSl7cmV0dXJuIWEuaXNIaWRkZW4oKSYmYS5afTtlaz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgZGspaWYoYS5vW2JdLmxlbmd0aClyZXR1cm4hMDtyZXR1cm4hMX07CmhrPWZ1bmN0aW9uKGEsYixjKXthLmhhJiZhLkk9PT00JiZhLmp8fGEuc3RvcCgpO2EuRD0hMDtiPV8uRWEoKSsoYnx8YS5NKTtmb3IodmFyIGQ9YS5vWzVdO2QubGVuZ3RoOyl7dmFyIGU9ZC5zaGlmdCgpLGY9YS52W2VdO2RlbGV0ZSBhLnZbZV07aWYoZil7ZT1hO3RyeXtmKGMpfWNhdGNoKGgpe2UuSmIoaCl9fX1mb3IoZD1hLm9bNF07ZC5sZW5ndGg7KWM9ZC5zaGlmdCgpLGY9YS52W2NdLGRlbGV0ZSBhLnZbY10sZiYmWmooYSxmKTtkPWEueWE/MDoxO2Q9YS5CPmQ/YS5COmQ7aWYoIShfLkVhKCk+PWIpKXtkb3thOntjPWE7Zj1kO2ZvcihlPTM7ZT49ZjtlLS0pe2xldCBoPWMub1tlXTtmb3IoO2gubGVuZ3RoOyl7bGV0IGs9aC5zaGlmdCgpLGw9Yy52W2tdO2RlbGV0ZSBjLnZba107aWYobCl7Yz1sO2JyZWFrIGF9fX1jPW51bGx9YyYmWmooYSxjKX13aGlsZShjJiZfLkVhKCk8Yil9YS5EPSExO2ZrKGEpO2EuTT1naztlayhhKSYmYS5zdGFydCgpfTsKaWs9ZnVuY3Rpb24oYSl7YS5zdG9wKCk7YS5EPSEwO2Zvcih2YXIgYj1fLkVhKCksYz1hLm9bOF07Yy5sZW5ndGg7KXtsZXQgZD1jLnNoaWZ0KCksZT1hLnZbZF07ZGVsZXRlIGEudltkXTtlJiZaaihhLGUpfWZrKGEpO2EuRD0hMTtlayhhKSYmYS5zdGFydCgpO2I9Xy5FYSgpLWI7YS5NLT1ifTtmaz1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWEuZ2EubGVuZ3RoO2I8YztiKyspe2xldCBkPWEuZ2FbYl07YS5vW2QucHJpb3JpdHldLnB1c2goZC5pZCl9YS5nYS5sZW5ndGg9MH07a2s9ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2lmKCFhfHxhLmlhKCkpYT1uZXcgamsoXy53KCJzY2hlZHVsZXIiKXx8e30pLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixhKTtyZXR1cm4gYX07Cm1rPWZ1bmN0aW9uKCl7bGsoKTt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2EmJihfLlpkKGEpLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixudWxsKSl9O2xrPWZ1bmN0aW9uKCl7Y2soa2soKSk7Zm9yKGxldCBhIGluIG5rKW5rLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgbmtbTnVtYmVyKGEpXX07b2s9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjKXJldHVybiBjPWM9PT12b2lkIDAsLWtrKCkuR2EoYSxiLGMpO3ZhciBkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dmFyIGU9a2soKS5HYShhLGIpO25rW2RdPWV9LGMpO3JldHVybiBkfTtwaz1mdW5jdGlvbihhKXtraygpLlUoYSl9O3FrPWZ1bmN0aW9uKGEpe3ZhciBiPWtrKCk7aWYoYTwwKWIuQWEoLWEpO2Vsc2V7dmFyIGM9bmtbYV07Yz8oYi5BYShjKSxkZWxldGUgbmtbYV0pOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9fTtzaz1mdW5jdGlvbigpe3JrKCl9Owpyaz1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGspO2trKCkuc3RhcnQoKX07dms9ZnVuY3Rpb24oKXtraygpLnBhdXNlKCk7d2luZG93LmNsZWFyVGltZW91dCh0ayk7dGs9d2luZG93LnNldFRpbWVvdXQoc2ssdWspfTt5az1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQod2spO3drPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57eGsoMCl9LHVrKX07eGs9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj1hO2Iuc3RhcnQoKX07ems9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj5hJiYoYi5CPWEsYi5zdGFydCgpKX07QWs9ZnVuY3Rpb24oKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHdrKTt2YXIgYT1raygpO2EuQj0wO2Euc3RhcnQoKX07Xy5Daz1mdW5jdGlvbigpe0JrLmluc3RhbmNlfHwoQmsuaW5zdGFuY2U9bmV3IEJrKTtyZXR1cm4gQmsuaW5zdGFuY2V9OwpFaz1mdW5jdGlvbigpe3JldHVybiBEaygpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTtfLklrPWZ1bmN0aW9uKGEpe0ZrfHwoXy5Haz9fLkdrLkpiKGEpOihfLkhrLnB1c2goe3R5cGU6IkVSUk9SIixwYXlsb2FkOmF9KSxfLkhrLmxlbmd0aD4xMCYmXy5Iay5zaGlmdCgpKSl9O0prPWZ1bmN0aW9uKGEsYil7Rmt8fChfLkdrP18uR2subG0oYSxiKTooXy5Iay5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOmEscGF5bG9hZDpifSksXy5Iay5sZW5ndGg+MTAmJl8uSGsuc2hpZnQoKSkpfTtLaz1mdW5jdGlvbihhKXtpZihhLmluZGV4T2YoIjoiKT49MCl0aHJvdyBFcnJvcigiaGEiKTt9O0xrPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN1YnN0cigwLGEuaW5kZXhPZigiOiIpKXx8YX07Xy5Naz1mdW5jdGlvbihhKXt2YXIgYj1fLmJjKCk7cmV0dXJuIGI/Yi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoYSk+PTA6ITF9OwpSaz1mdW5jdGlvbihhLGIsYyxkKXtiPUxrKGIpO3ZhciBlPWEgaW5zdGFuY2VvZiBFcnJvcj9hOkVycm9yKCJpYWAiK2EpO2lmKGUgaW5zdGFuY2VvZiBOaylyZXR1cm4gZTthPXtvYmplY3RTdG9yZU5hbWVzOmMsZGJOYW1lOmIsZGJWZXJzaW9uOmR9O2lmKGUubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IiKXJldHVybiBuZXcgTmsoIlFVT1RBX0VYQ0VFREVEIixhKTtpZihfLk9rJiZlLm5hbWU9PT0iVW5rbm93bkVycm9yIilyZXR1cm4gbmV3IE5rKCJRVU9UQV9NQVlCRV9FWENFRURFRCIsYSk7aWYoZSBpbnN0YW5jZW9mIFBrKXJldHVybiBuZXcgTmsoIk1JU1NJTkdfSU5ERVgiLHsuLi5hLG9iamVjdFN0b3JlOmUub2JqZWN0U3RvcmUsaW5kZXg6ZS5pbmRleH0pO2lmKGUubmFtZT09PSJJbnZhbGlkU3RhdGVFcnJvciImJlFrLnNvbWUoZj0+ZS5tZXNzYWdlLmluY2x1ZGVzKGYpKSlyZXR1cm4gbmV3IE5rKCJFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQiIsYSk7aWYoZS5uYW1lPT09CiJBYm9ydEVycm9yIilyZXR1cm4gbmV3IE5rKCJVTktOT1dOX0FCT1JUIixhLGUubWVzc2FnZSk7ZS5hcmdzPVt7Li4uYSxuYW1lOiJJZGJFcnJvciIsTW06ZS5uYW1lfV07ZS5sZXZlbD0iV0FSTklORyI7cmV0dXJuIGV9O1NrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1FaygpO3JldHVybiBuZXcgTmsoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOmEscHVibGljTmFtZTpiLHZlcnNpb246YyxoYXNTdWNjZWVkZWRPbmNlOmQ/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9O1RrPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCk7dGhyb3cgYTt9O1VrPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtYaz1mdW5jdGlvbihhLGIsYyxkLGUpe3RyeXtpZihhLnN0YXRlLnN0YXR1cyE9PSJGVUxGSUxMRUQiKXRocm93IEVycm9yKCJqYSIpO2xldCBmPWMoYS5zdGF0ZS52YWx1ZSk7ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfWNhdGNoKGYpe2UoZil9fTsKWWs9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0cnl7aWYoYS5zdGF0ZS5zdGF0dXMhPT0iUkVKRUNURUQiKXRocm93IEVycm9yKCJrYSIpO2xldCBmPWMoYS5zdGF0ZS5yZWFzb24pO2YgaW5zdGFuY2VvZiBfLlZrP1drKGEsYixmLGQsZSk6ZChmKX1jYXRjaChmKXtlKGYpfX07V2s9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPT09Yz9lKG5ldyBUeXBlRXJyb3IoImxhIikpOmMudGhlbihmPT57ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfSxmPT57ZShmKX0pfTtaaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9KCk9Pnt0cnl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWNjZXNzIixlKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixmKX1jYXRjaHt9fSxlPSgpPT57YihhLnJlc3VsdCk7ZCgpfSxmPSgpPT57YyhhLmVycm9yKTtkKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsZSk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZil9Owokaz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoKGIsYyk9PntaayhhLGIsYyl9KX07Ymw9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlZrKG5ldyBhbCgoYixjKT0+e1prKGEsYixjKX0pKX07Y2w9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChjLGQpPT57dmFyIGU9KCk9Pnt2YXIgZj1hP2IoYSk6bnVsbDtmP2YudGhlbihoPT57YT1oO2UoKX0sZCk6YygpfTtlKCl9KSl9O2RsPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiaWRiX2ltbWVkaWF0ZV9jb21taXQiKX07Cl8uaWw9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e21vZGU6InJlYWRvbmx5IixrYjohMSx0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiJ9O3R5cGVvZiBjPT09InN0cmluZyI/ZS5tb2RlPWM6T2JqZWN0LmFzc2lnbihlLGMpO2EudHJhbnNhY3Rpb25Db3VudCsrO2M9ZS5rYj8zOjE7Zm9yKHZhciBmPTAsaDshaDspe2YrKztsZXQgbj1NYXRoLnJvdW5kKCgwLF8uZWwpKCkpO3RyeXt2YXIgaz1hLmoudHJhbnNhY3Rpb24oYixlLm1vZGUpLGw9ZCxtPSEhZS5jb21taXQ7bGV0IHA9bmV3IGZsKGspLHI9YXdhaXQgZ2wocCxsLG0pLHQ9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKTtobChhLG4sdCxmLHZvaWQgMCxiLmpvaW4oKSxlKTtyZXR1cm4gcn1jYXRjaChwKXtsPU1hdGgucm91bmQoKDAsXy5lbCkoKSk7bGV0IHI9UmsocCxhLmoubmFtZSxiLmpvaW4oKSxhLmoudmVyc2lvbik7aWYociBpbnN0YW5jZW9mIE5rJiYhci5qfHxmPj1jKWhsKGEsbixsLGYscixiLmpvaW4oKSwKZSksaD1yfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9O18ua2w9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLmNyZWF0ZU9iamVjdFN0b3JlKGIsYyk7cmV0dXJuIG5ldyBqbChhKX07Xy5tbD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uaWwoYSxbYl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9Pl8ubGwoZC5vYmplY3RTdG9yZShiKSxjKSl9OwpobD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtiPWMtYjtlPyhlIGluc3RhbmNlb2YgTmsmJihlLnR5cGU9PT0iUVVPVEFfRVhDRUVERUQifHxlLnR5cGU9PT0iUVVPVEFfTUFZQkVfRVhDRUVERUQiKSYmSmsoIlFVT1RBX0VYQ0VFREVEIix7ZGJOYW1lOkxrKGEuai5uYW1lKSxvYmplY3RTdG9yZU5hbWVzOmYsdHJhbnNhY3Rpb25Db3VudDphLnRyYW5zYWN0aW9uQ291bnQsdHJhbnNhY3Rpb25Nb2RlOmgubW9kZX0pLGUgaW5zdGFuY2VvZiBOayYmZS50eXBlPT09IlVOS05PV05fQUJPUlQiJiYoYy09YS52LGM8MCYmYz49MjE0NzQ4MzY0OCYmKGM9MCksSmsoIlRSQU5TQUNUSU9OX1VORVhQRUNURURMWV9BQk9SVEVEIix7b2JqZWN0U3RvcmVOYW1lczpmLHRyYW5zYWN0aW9uRHVyYXRpb246Yix0cmFuc2FjdGlvbkNvdW50OmEudHJhbnNhY3Rpb25Db3VudCxkYkR1cmF0aW9uOmN9KSxhLm89ITApLG5sKGEsITEsZCxmLGIsaC50YWcpLF8uSWsoZSkpOm5sKGEsITAsZCxmLGIsaC50YWcpfTsKbmw9ZnVuY3Rpb24oYSxiLGMsZCxlLGY9IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiIpe0prKCJUUkFOU0FDVElPTl9FTkRFRCIse29iamVjdFN0b3JlTmFtZXM6ZCxjb25uZWN0aW9uSGFzVW5rbm93bkFib3J0ZWRUcmFuc2FjdGlvbjphLm8sZHVyYXRpb246ZSxpc1N1Y2Nlc3NmdWw6Yix0cnlDb3VudDpjLHRhZzpmfSl9O18ubGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYmwoYS5qLnB1dChiLHZvaWQgMCkpfTtfLm9sPWZ1bmN0aW9uKGEsYixjKXthLmouY3JlYXRlSW5kZXgoYixjLHt1bmlxdWU6ITF9KX07cWw9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLm9wZW5DdXJzb3IoYi5xdWVyeSxiLmRpcmVjdGlvbik7cmV0dXJuIHBsKGEpLnRoZW4oZD0+Y2woZCxjKSl9O3NsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGM9PmMuZGVsZXRlKCkudGhlbigoKT0+cmwoYykpKS50aGVuKCgpPT57fSl9Owp0bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtnbD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFByb21pc2UoKGUsZik9Pnt0cnl7bGV0IGg9YihhKTtjJiZhLmNvbW1pdCgpO2gudGhlbihrPT57ZShrKX0pLmNhdGNoKGYpfWNhdGNoKGgpe2YoaCksYS5hYm9ydCgpfX0pO3JldHVybiBQcm9taXNlLmFsbChbZCxhLmRvbmVdKS50aGVuKChbZV0pPT5lKX07dWw9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7cXVlcnk6ZD1udWxsLGRpcmVjdGlvbjplPSJuZXh0In09YjthPWEuai5vcGVuQ3Vyc29yKGQsZSk7cmV0dXJuIHBsKGEpLnRoZW4oZj0+Y2woZixjKSl9Owp2bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHVsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtwbD1mdW5jdGlvbihhKXtyZXR1cm4gYmwoYSkudGhlbihiPT5iP25ldyB3bChhLGIpOm51bGwpfTtybD1mdW5jdGlvbihhKXthLmN1cnNvci5jb250aW51ZSh2b2lkIDApO3JldHVybiBwbChhLnJlcXVlc3QpfTsKeWw9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgUHJvbWlzZSgoZCxlKT0+e3ZhciBmPWIhPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihhLGIpOnNlbGYuaW5kZXhlZERCLm9wZW4oYSk7dmFyIGg9Yy5ibG9ja2VkLGs9Yy5ibG9ja2luZyxsPWMuVEEsbT1jLnVwZ3JhZGUsbj1jLmNsb3NlZCxwLHI9KCk9PntwfHwocD1uZXcgeGwoZi5yZXN1bHQse2Nsb3NlZDpufSkpO3JldHVybiBwfTtmLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLHQ9Pnt0cnl7aWYodC5uZXdWZXJzaW9uPT09bnVsbCl0aHJvdyBFcnJvcigibmEiKTtpZihmLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigib2EiKTt0LmRhdGFMb3NzJiZ0LmRhdGFMb3NzIT09Im5vbmUiJiZKaygiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOnQuZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpMayhhKX0pO2xldCB2PXIoKSx6PW5ldyBmbChmLnRyYW5zYWN0aW9uKTttJiYKbSh2LEU9PnQub2xkVmVyc2lvbjxFJiZ0Lm5ld1ZlcnNpb24+PUUseik7ei5kb25lLmNhdGNoKEU9PntlKEUpfSl9Y2F0Y2godil7ZSh2KX19KTtmLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLCgpPT57dmFyIHQ9Zi5yZXN1bHQ7ayYmdC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIiwoKT0+e2socigpKX0pO3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57SmsoIklEQl9VTkVYUEVDVEVETFlfQ0xPU0VEIix7ZGJOYW1lOkxrKGEpLGRiVmVyc2lvbjp0LnZlcnNpb259KTtsJiZsKCl9KTtkKHIoKSl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2UoZi5lcnJvcil9KTtoJiZmLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLCgpPT57aCgpfSl9KX07emw9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiB5bChhLGIsYyl9OwpfLkFsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dHJ5e2xldCBjPXNlbGYuaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGEpLGQ9Yi5ibG9ja2VkO2QmJmMuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntkKCl9KTthd2FpdCAkayhjKX1jYXRjaChjKXt0aHJvdyBSayhjLGEsIiIsLTEpO319O0JsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBOaygiSU5DT01QQVRJQkxFX0RCX1ZFUlNJT04iLHtkYk5hbWU6YS5uYW1lLG9sZFZlcnNpb246YS5vcHRpb25zLnZlcnNpb24sbmV3VmVyc2lvbjpifSl9O18uQ2w9ZnVuY3Rpb24oYSxiKXtpZighYil0aHJvdyBTaygib3BlbldpdGhUb2tlbiIsTGsoYS5uYW1lKSk7cmV0dXJuIGEub3BlbigpfTsKRWw9YXN5bmMgZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5pbChhd2FpdCBfLkNsKERsLGIpLFsiZGF0YWJhc2VzIl0se2tiOiEwLG1vZGU6InJlYWR3cml0ZSJ9LGM9Pnt2YXIgZD1jLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKTtyZXR1cm4gZC5nZXQoYS5hY3R1YWxOYW1lKS50aGVuKGU9PntpZihlP2EuYWN0dWFsTmFtZSE9PWUuYWN0dWFsTmFtZXx8YS5wdWJsaWNOYW1lIT09ZS5wdWJsaWNOYW1lfHxhLnVzZXJJZGVudGlmaWVyIT09ZS51c2VySWRlbnRpZmllcjoxKXJldHVybiBfLmxsKGQsYSkudGhlbigoKT0+e30pfSl9KX07Xy5GbD1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBhPyhhd2FpdCBfLkNsKERsLGIpKS5kZWxldGUoImRhdGFiYXNlcyIsYSk6dm9pZCAwfTsKXy5HbD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I9YXdhaXQgXy5DbChEbCxiKTthd2FpdCBfLmlsKGIsWyJkYXRhYmFzZXMiXSx7a2I6ITAsbW9kZToicmVhZG9ubHkifSxkPT57Yy5sZW5ndGg9MDtyZXR1cm4gcWwoZC5vYmplY3RTdG9yZSgiZGF0YWJhc2VzIikse30sZT0+e2EoZS5jdXJzb3IudmFsdWUpJiZjLnB1c2goZS5jdXJzb3IudmFsdWUpO3JldHVybiBybChlKX0pfSk7cmV0dXJuIGN9O0hsPWZ1bmN0aW9uKGEpe3JldHVybiBfLkdsKGI9PmIucHVibGljTmFtZT09PSJMb2dzRGF0YWJhc2VWMiImJmIudXNlcklkZW50aWZpZXIhPT12b2lkIDAsYSl9OwpMbD1hc3luYyBmdW5jdGlvbigpe2lmKEVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIGE7aWYoYT1fLklsKWE9L1dlYktpdFwvKFswLTldKykvLmV4ZWMoXy5iYygpKSxhPSEhKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDApO2EmJihhPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKF8uYmMoKSksYT0hKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDIpKTtpZighKGE9YXx8Xy5KbCkpe3RyeXthPXNlbGY7dmFyIGI9ISEoYS5pbmRleGVkREImJmEuSURCSW5kZXgmJmEuSURCS2V5UmFuZ2UmJmEuSURCT2JqZWN0U3RvcmUpfWNhdGNoKGMpe2I9ITF9YT0hYn1pZihhfHwhKCJJREJUcmFuc2FjdGlvbiJpbiBzZWxmJiYib2JqZWN0U3RvcmVOYW1lcyJpbiBJREJUcmFuc2FjdGlvbi5wcm90b3R5cGUpKXJldHVybiExO3RyeXtyZXR1cm4gYXdhaXQgRWwoe2FjdHVhbE5hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLHB1YmxpY05hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLAp1c2VySWRlbnRpZmllcjp2b2lkIDB9LEtsKSxhd2FpdCBfLkZsKCJ5dC1pZGItdGVzdC1kby1ub3QtdXNlIixLbCksITB9Y2F0Y2goYyl7cmV0dXJuITF9fTtObD1mdW5jdGlvbigpe2lmKE1sIT09dm9pZCAwKXJldHVybiBNbDtGaz0hMDtyZXR1cm4gTWw9TGwoKS50aGVuKGE9PntGaz0hMTtpZihEaygpPy5vKCkpe3ZhciBiPXtoYXNTdWNjZWVkZWRPbmNlOkVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2V8fGF9O0RrKCk/LnNldCgiTEFTVF9SRVNVTFRfRU5UUllfS0VZIixiLDI1OTJFMywhMCl9cmV0dXJuIGF9KX07T2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zYSgieXRnbG9iYWwuaWRiVG9rZW5fIil8fHZvaWQgMH07Xy5QbD1mdW5jdGlvbigpe3ZhciBhPU9sKCk7cmV0dXJuIGE/UHJvbWlzZS5yZXNvbHZlKGEpOk5sKCkudGhlbihiPT57Yj8oXy5yYSgieXRnbG9iYWwuaWRiVG9rZW5fIixLbCksYj1LbCk6Yj12b2lkIDA7cmV0dXJuIGJ9KX07ClFsPWZ1bmN0aW9uKGEpe2lmKCFfLldqKCkpdGhyb3cgYT1uZXcgTmsoIkFVVEhfSU5WQUxJRCIse2RiTmFtZTphfSksXy5JayhhKSxhO3ZhciBiPV8uVmooKTtyZXR1cm57YWN0dWFsTmFtZTpgJHthfToke2J9YCxwdWJsaWNOYW1lOmEsdXNlcklkZW50aWZpZXI6Yn19OwpSbD1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1FcnJvcigpLnN0YWNrPz8iIixmPWF3YWl0IF8uUGwoKTtpZighZil0aHJvdyBiPVNrKCJvcGVuRGJJbXBsIixhLGIpLF8ueCgieXRpZGJfYXN5bmNfc3RhY2tfa2lsbHN3aXRjaCIpfHwoYi5zdGFjaz1gJHtiLnN0YWNrfVxuJHtlLnN1YnN0cmluZyhlLmluZGV4T2YoIlxuIikrMSl9YCksXy5JayhiKSxiO0trKGEpO2U9Yz97YWN0dWFsTmFtZTphLHB1YmxpY05hbWU6YSx1c2VySWRlbnRpZmllcjp2b2lkIDB9OlFsKGEpO3RyeXtyZXR1cm4gYXdhaXQgRWwoZSxmKSxhd2FpdCB6bChlLmFjdHVhbE5hbWUsYixkKX1jYXRjaChoKXt0cnl7YXdhaXQgXy5GbChlLmFjdHVhbE5hbWUsZil9Y2F0Y2h7fXRocm93IGg7fX07U2w9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiBSbChhLGIsITEsYyl9O1RsPWZ1bmN0aW9uKGEsYixjPXt9KXtyZXR1cm4gUmwoYSxiLCEwLGMpfTsKVWw9YXN5bmMgZnVuY3Rpb24oYSxiPXt9KXt2YXIgYz1hd2FpdCBfLlBsKCk7YyYmKEtrKGEpLGE9UWwoYSksYXdhaXQgXy5BbChhLmFjdHVhbE5hbWUsYiksYXdhaXQgXy5GbChhLmFjdHVhbE5hbWUsYykpfTtWbD1mdW5jdGlvbihhLGIsYyl7YT1hLm1hcChhc3luYyBkPT57YXdhaXQgXy5BbChkLmFjdHVhbE5hbWUsYik7YXdhaXQgXy5GbChkLmFjdHVhbE5hbWUsYyl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e30pfTtXbD1hc3luYyBmdW5jdGlvbigpe3ZhciBhPXt9LGI9YXdhaXQgXy5QbCgpO2lmKGIpe0trKCJMb2dzRGF0YWJhc2VWMiIpO3ZhciBjPWF3YWl0IEhsKGIpO2F3YWl0IFZsKGMsYSxiKX19O1hsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9YXdhaXQgXy5QbCgpO2MmJihLayhhKSxhd2FpdCBfLkFsKGEsYiksYXdhaXQgXy5GbChhLGMpKX07Wmw9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4oKT0+e2N8fChjPW5ldyBZbChhLGIpKTtyZXR1cm4gY319OwpfLiRsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFpsKGEsYil9O2JtPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKGFtKCksYSl9O2NtPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLHRpbWVzdGFtcDooMCxfLmVsKSgpfTtjPWF3YWl0IGJtKGMpO2F3YWl0IGMuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IF8ubWwoYywiaG90Q29uZmlnU3RvcmUiLGEpfTtkbT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLGNvbmZpZ0RhdGE6Yyx0aW1lc3RhbXA6KDAsXy5lbCkoKX07ZD1hd2FpdCBibShkKTthd2FpdCBkLmNsZWFyKCJjb2xkQ29uZmlnU3RvcmUiKTtyZXR1cm4gYXdhaXQgXy5tbChkLCJjb2xkQ29uZmlnU3RvcmUiLGEpfTsKZW09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBibShhKTt2YXIgYj12b2lkIDA7YXdhaXQgXy5pbChhLFsiY29sZENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImNvbGRDb25maWdTdG9yZSIpLmluZGV4KCJjb2xkVGltZXN0YW1wSW5kZXgiKSx7ZGlyZWN0aW9uOiJwcmV2In0sZD0+e2I9ZC5jdXJzb3IudmFsdWV9KSk7cmV0dXJuIGJ9O2ZtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgYm0oYSk7dmFyIGI9dm9pZCAwO2F3YWl0IF8uaWwoYSxbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGQ9PntiPWQuY3Vyc29yLnZhbHVlfSkpO3JldHVybiBifTsKZ209YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2lmKF8ueCgic3RhcnRfY2xpZW50X2djZiIpKXtjJiYoYS52PWMsXy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIsYS52fHxudWxsKSk7YS5CKGIpO2xldCBkPU9sKCk7ZCYmKGN8fChjPShhd2FpdCBmbShkKSk/LmNvbmZpZyksYXdhaXQgY20oYyxiLGQpKTtpZihjKXthPWEubztmb3IobGV0IGUgb2YgYS5qKWUoYyl9fX07aG09YXN5bmMgZnVuY3Rpb24oYSxiLGMpe18ueCgic3RhcnRfY2xpZW50X2djZiIpJiYoYS5jb2xkSGFzaERhdGE9YixfLnJhKCJ5dC5nY2YuY29uZmlnLmNvbGRIYXNoRGF0YSIsYS5jb2xkSGFzaERhdGF8fG51bGwpLGE9T2woKSkmJihjfHwoYz0oYXdhaXQgZW0oYSkpPy5jb25maWcpLGMmJmF3YWl0IGRtKGMsYixjLmNvbmZpZ0RhdGEsYSkpfTsKXy5qbT1mdW5jdGlvbigpe2lmKCFpbS5pbnN0YW5jZSl7dmFyIGE9bmV3IGltO2ltLmluc3RhbmNlPWF9YT1pbS5pbnN0YW5jZTt2YXIgYj0oMCxfLmVsKSgpLWEuajtpZighKGEuaiE9PTAmJmI8Xy5zaigic2VuZF9jb25maWdfaGFzaF90aW1lciIpKSl7Yj1fLnNhKCJ5dC5nY2YuY29uZmlnLmNvbGRDb25maWdEYXRhIik7dmFyIGM9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIpLGQ9Xy5zYSgieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiKTtiJiZjJiZkJiYoYS5qPSgwLF8uZWwpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpiLGhvdEhhc2hEYXRhOmMsY29sZEhhc2hEYXRhOmR9fX07a209ZnVuY3Rpb24oKXtyZXR1cm4iSU5ORVJUVUJFX0FQSV9LRVkiaW4gXy5QaSYmIklOTkVSVFVCRV9BUElfVkVSU0lPTiJpbiBfLlBpfTsKbG09ZnVuY3Rpb24oKXtyZXR1cm57aW5uZXJ0dWJlQXBpS2V5Ol8udygiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOl8udygiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIiksd3g6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfQ09ORklHX0lORk8iKSxtcTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIikscUo6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSksaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb246Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpLHl4Ol8udygiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSx4eDpfLncoIklOTkVSVFVCRV9DT05URVhUX0dMIikseng6Xy53KCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSIpfHwiIixBeDohIV8udygiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSkscko6ISFfLncoIklOTkVSVFVCRV9PTUlUX0FQSV9LRVlfV0hFTl9BVVRIX0hFQURFUl9JU19QUkVTRU5UIiwKITEpLGFwcEluc3RhbGxEYXRhOl8udygiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiKX19OwptbT1mdW5jdGlvbihhKXt2YXIgYj17Y2xpZW50OntobDphLnl4LGdsOmEueHgsY2xpZW50TmFtZTphLm1xLGNsaWVudFZlcnNpb246YS5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbixjb25maWdJbmZvOmEud3h9fTtuYXZpZ2F0b3IudXNlckFnZW50JiYoYi5jbGllbnQudXNlckFnZW50PVN0cmluZyhuYXZpZ2F0b3IudXNlckFnZW50KSk7dmFyIGM9Xy51LmRldmljZVBpeGVsUmF0aW87YyYmYyE9MSYmKGIuY2xpZW50LnNjcmVlbkRlbnNpdHlGbG9hdD1TdHJpbmcoYykpO2M9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpO2MhPT0iIiYmKGIuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49Yyk7Yz1fLnVqKCk7Yy5sZW5ndGg+MCYmKGIucmVxdWVzdD17aW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6Y30pO2M9YS5tcTtjIT09IldFQiImJmMhPT0iTVdFQiImJmMhPT0xJiZjIT09Mnx8IWJ8fChiLmNsaWVudC5tYWluQXBwV2ViSW5mbz1iLmNsaWVudC5tYWluQXBwV2ViSW5mbz8/e30sCmIuY2xpZW50Lm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSk7KGM9Xy5zYSgieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpKSYmYiYmKGIudGhpcmRQYXJ0eT17ZW1iZWRVcmw6Y30pO18ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGM9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5LGImJihiLmNsaWVudC5tZW1vcnlUb3RhbEtieXRlcz1gJHtjKjFFNn1gKSk7YS5hcHBJbnN0YWxsRGF0YSYmYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYi5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1hLmFwcEluc3RhbGxEYXRhKTsoYT1fLlNqKCkpJiZiJiYoYi5jbGllbnQuY29ubmVjdGlvblR5cGU9YSk7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGE9Xy5VaigpKSYmYiYmKGIuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPQphKTtpZihfLngoInN0YXJ0X2NsaWVudF9nY2YiKSl7dmFyIGQ9Xy5qbSgpO2QmJihhPWQuY29sZENvbmZpZ0RhdGEsYz1kLmNvbGRIYXNoRGF0YSxkPWQuaG90SGFzaERhdGEsYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYSYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YSksYyYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPWMpLGQmJihiLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWQpKSl9Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpJiYhXy54KCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoYi51c2VyPXtvbkJlaGFsZk9mVXNlcjpfLncoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIil9KTshXy54KCJmaWxsX2RlbGVnYXRlX2NvbnRleHRfaW5fZ2VsX2tpbGxzd2l0Y2giKSYmKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9TRVJJQUxJWkVEX0RFTEVHQVRJT05fQ09OVEVYVCIpKSYmKGIudXNlcj0Key4uLmIudXNlcixzZXJpYWxpemVkRGVsZWdhdGlvbkNvbnRleHQ6YX0pO2E9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO18ueCgiZW5hYmxlX3BlcnNpc3RlbnRfZGV2aWNlX3Rva2VuIikmJmE/LmNsaWVudD8ucm9sbG91dFRva2VuJiYoYi5jbGllbnQucm9sbG91dFRva2VuPWE/LmNsaWVudD8ucm9sbG91dFRva2VuKTthPU9iamVjdDtjPWEuYXNzaWduO2Q9Yi5jbGllbnQ7dmFyIGU9Xy53KCJERVZJQ0UiLCIiKSxmPXt9O2ZvcihsZXQgW2gsa11vZiBPYmplY3QuZW50cmllcyhfLmJqKGUpKSllPWgsZT09PSJjYnJhbmQiP2YuZGV2aWNlTWFrZT1rOmU9PT0iY21vZGVsIj9mLmRldmljZU1vZGVsPWs6ZT09PSJjYnIiP2YuYnJvd3Nlck5hbWU9azplPT09ImNicnZlciI/Zi5icm93c2VyVmVyc2lvbj1rOmU9PT0iY29zIj9mLm9zTmFtZT1rOmU9PT0iY29zdmVyIj9mLm9zVmVyc2lvbj1rOmU9PT0iY3BsYXRmb3JtIiYmKGYucGxhdGZvcm09ayk7Yi5jbGllbnQ9Yy5jYWxsKGEsZCxmKTsKXy54KCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoYi5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsYi5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIGJ9OwpvbT1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9e307Xy53KCJFT01fVklTSVRPUl9EQVRBIik/ZD17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Xy53KCJFT01fVklTSVRPUl9EQVRBIil9OmQ9eyJYLUdvb2ctVmlzaXRvci1JZCI6Yy52aXNpdG9yRGF0YXx8Xy53KCJWSVNJVE9SX0RBVEEiLCIiKX07aWYoYiYmYi5pbmNsdWRlcygid3d3LnlvdXR1YmUtbm9jb29raWUuY29tIikpcmV0dXJuIGQ7Yj1jLmF1dGhvcml6YXRpb258fF8udygiQVVUSE9SSVpBVElPTiIpO2J8fChhP2I9YEJlYXJlciAke18uc2EoImdhcGkuYXV0aC5nZXRUb2tlbiIpKCkuT0h9YDooXy5ubS5pbnN0YW5jZXx8KF8ubm0uaW5zdGFuY2U9bmV3IF8ubm0pLGE9Xy5QaigpLF8ueCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIGFbIlgtR29vZy1QYWdlSWQiXSxkPXsuLi5kLC4uLmF9KSk7YiYmKGQuQXV0aG9yaXphdGlvbj1iKTtyZXR1cm4gZH07Cl8ucG09ZnVuY3Rpb24oYSl7dGhpcy52ZXJzaW9uPTE7dGhpcy5hcmdzPWF9O18ucW09ZnVuY3Rpb24oYSxiKXt0aGlzLnRvcGljPWE7dGhpcy5qPWJ9O18uc209ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnJtKCk7YyYmYy5wdWJsaXNoLmNhbGwoYyxhLnRvU3RyaW5nKCksYSxiKX07Xy5ybT1mdW5jdGlvbigpe3JldHVybiBfLnNhKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKX07dG09ZnVuY3Rpb24oYSxiLGM9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixjLnNhbXBsZVJhdGUvMTAwKSYmXy5zbSgibWV0YV9sb2dnaW5nX2NzaV9ldmVudCIse3RpbWVyTmFtZTphLHRpbWVsaW5lRGF0YTpifSl9OwpBbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17c3RhcnRUaW1lOigwLF8uZWwpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD1fLnVtKGIpO2lmKGg9PW51bGx8fCEoaD5fLndtfHxoPF8ueG0pKXt2YXIgZj1fLk5pKCgwLF8ueW0pKGIpKTtsZXQgaz0oMCxfLmVsKSgpO2UudGlja3MuZ2VsYz1rO3ptKys7Xy54KCJnZWxfY29tcHJlc3Npb25fY3NpX2tpbGxzd2l0Y2giKXx8IV8ueCgibG9nX2dlbF9jb21wcmVzc2lvbl9sYXRlbmN5IikmJiFfLngoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeV9sciIpfHx0bSgiZ2VsX2NvbXByZXNzaW9uIixlLHtzYW1wbGVSYXRlOi4xfSk7Yy5oZWFkZXJzfHwoYy5oZWFkZXJzPXt9KTtjLmhlYWRlcnNbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7Yy5wb3N0Qm9keT1mO2MucG9zdFBhcmFtcz12b2lkIDB9ZChhLGMpfWNhdGNoKGgpe18uV2koaCksZChhLGMpfX07Cl8udW09ZnVuY3Rpb24oYSl7dHJ5e3JldHVybihuZXcgQmxvYihhLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksbnVsbH19O0JtPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5KYXx8YS54aX07RG09ZnVuY3Rpb24oYSl7Qm0oYSkmJiFhLmFoJiYoYS5PYz0hMCxhLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLmNiLk91KGEuSmEpLENtKGEpLGEuU2EuU2IoKSYmYS5vKCksYS5TYS5saXN0ZW4oYS5LbSxhLm8uYmluZChhKSksYS5TYS5saXN0ZW4oYS5GbSxhLnYuYmluZChhKSkpfTtDbT1mdW5jdGlvbihhKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInhhIik7YS5jYi5XcCgiUVVFVUVEIixhLkphKS50aGVuKGI9PntiJiYhRW0oYSxiLGEuQ3IpP2EuRGMucGIoYXN5bmMoKT0+e2IuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphKTtDbShhKX0pOmEuU2EuU2IoKSYmYS5vKCl9KX07CkdtPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoIUJtKGEpKXRocm93IEVycm9yKCJzYSIpO2IuaWQhPT12b2lkIDAmJihhd2FpdCBhLmNiLkF5KGIuaWQsYS5KYSl8fGEuVGYoRXJyb3IoInRhIikpKTtFbShhLGIsYS5Lcik/KGIuc2tpcFJldHJ5fHwoYj1GbShhLGIpKSxiJiYoYi5za2lwUmV0cnkmJmIuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSxhLkdkKGIudXJsLGIub3B0aW9ucywhIWIuc2tpcFJldHJ5KSkpOihhLlRmKEVycm9yKCJ1YSIpKSxiLmlkIT09dm9pZCAwJiZhd2FpdCBhLmNiLkZmKGIuaWQsYS5KYSkpfTtIbT1mdW5jdGlvbihhLGIpe2EuTHMmJiFhLlNhLlNiKCk/YS5McyhiKTphLmhhbmRsZUVycm9yKGIpfTtFbT1mdW5jdGlvbihhLGIsYyl7Yj1iLnRpbWVzdGFtcDtyZXR1cm4gYS5ub3coKS1iPj1jPyExOiEwfTsKRm09ZnVuY3Rpb24oYSxiKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInZhIik7dmFyIGM9Yi5vcHRpb25zLm9uRXJyb3I/Yi5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9O2Iub3B0aW9ucy5vbkVycm9yPWFzeW5jKGUsZik9Pnt2YXIgaD1JbShmKSxrPUptKGYpO2smJmEuS2EmJmEuS2EoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJmEuaGFuZGxlRXJyb3IoRXJyb3IoIndhIiksYi51cmwsZik7aWYoYS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmaHx8YS5LYSYmIWEuS2EoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmEucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPD1hLktqKWlmKGEuU2EuUWomJmF3YWl0IGEuU2EuUWooKSwhYS5TYS5TYigpKXtjKGUsZik7YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmYj8uaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCExKTtyZXR1cm59YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmCiFoJiZhLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5hLktqfHwoYS5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKyxiPy5pZCE9PXZvaWQgMCYmKGIuc2VuZENvdW50PGEuTXI/KGF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCEwLGs/ITE6dm9pZCAwKSxhLkRjLnBiKCgpPT57YS5TYS5TYigpJiZhLm8oKX0sYS5McikpOmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSksYyhlLGYpKX07dmFyIGQ9Yi5vcHRpb25zLm9uU3VjY2Vzcz9iLm9wdGlvbnMub25TdWNjZXNzOigpPT57fTtiLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKGUsZik9PntiPy5pZCE9PXZvaWQgMCYmYXdhaXQgYS5jYi5GZihiLmlkLGEuSmEpO2EuU2EuZWYmJmEuS2EmJmEuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmYS5TYS5lZighMCk7ZChlLGYpfTtyZXR1cm4gYn07SW09ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YT8uZXJyb3I/LmNvZGUpJiZhPj00MDAmJmE8PTU5OT8hMTohMH07CkptPWZ1bmN0aW9uKGEpe2E9YT8uZXJyb3I/LmNvZGU7cmV0dXJuIShhIT09NDAwJiZhIT09NDE1KX07CkxtPWZ1bmN0aW9uKCl7aWYoS20pcmV0dXJuIEttKCk7S209Xy4kbCgiTG9nc0RhdGFiYXNlVjIiLHtzZTp7TG9nc1JlcXVlc3RzU3RvcmU6e1BkOjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShhLGIsYyl7YigyKSYmXy5rbChhLCJMb2dzUmVxdWVzdHNTdG9yZSIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSk7YigzKTtiKDUpJiYoYz1jLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLGMuai5pbmRleE5hbWVzLmNvbnRhaW5zKCJuZXdSZXF1ZXN0IikmJmMuai5kZWxldGVJbmRleCgibmV3UmVxdWVzdCIpLF8ub2woYywibmV3UmVxdWVzdFYyIixbInN0YXR1cyIsImludGVyZmFjZSIsInRpbWVzdGFtcCJdKSk7Yig3KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInNhcGlzaWQiKSYmYS5qLmRlbGV0ZU9iamVjdFN0b3JlKCJzYXBpc2lkIik7Yig5KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoIlNXSGVhbHRoTG9nIikmJmEuai5kZWxldGVPYmplY3RTdG9yZSgiU1dIZWFsdGhMb2ciKX0sCnZlcnNpb246OX0pO3JldHVybiBLbSgpfTtNbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChMbSgpLGEpfTtPbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtiPWF3YWl0IE1tKGIpO2E9ey4uLmEsb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEub3B0aW9ucykpLGludGVyZmFjZTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwwKX07YT1hd2FpdCBfLm1sKGIsIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGF9OwpQbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9SRUFEIn0sdGlja3M6e319O2I9YXdhaXQgTW0oYik7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksZT1bYSxkLDBdO2Q9W2EsZCwoMCxfLmVsKSgpXTt2YXIgZj1JREJLZXlSYW5nZS5ib3VuZChlLGQpLGg9InByZXYiO18ueCgidXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzIikmJihoPSJuZXh0Iik7dmFyIGs9dm9pZCAwO2U9YT09PSJORVciPyJyZWFkd3JpdGUiOiJyZWFkb25seSI7Xy54KCJ1c2VfcmVhZG9ubHlfZm9yX2dldF9tb3N0X3JlY2VudF9ieV9zdGF0dXNfa2lsbHN3aXRjaCIpJiYoZT0icmVhZHdyaXRlIik7YXdhaXQgXy5pbChiLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTplLGtiOiEwfSxsPT51bChsLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmYsZGlyZWN0aW9uOmh9LG09PnttLmN1cnNvci52YWx1ZSYmKGs9bS5jdXJzb3IudmFsdWUsYT09PSJORVciJiYoay5zdGF0dXM9IlFVRVVFRCIsbS51cGRhdGUoaykpKX0pKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGt9O1FtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaWwoYXdhaXQgTW0oYiksWyJMb2dzUmVxdWVzdHNTdG9yZSJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT57dmFyIGQ9Yy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKTtyZXR1cm4gZC5nZXQoYSkudGhlbihlPT57aWYoZSlyZXR1cm4gZS5zdGF0dXM9IlFVRVVFRCIsXy5sbChkLGUpLnRoZW4oKCk9PmUpfSl9KX07ClJtPWFzeW5jIGZ1bmN0aW9uKGEsYixjPSEwLGQpe3JldHVybiBfLmlsKGF3YWl0IE1tKGIpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sZT0+e3ZhciBmPWUub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGYuZ2V0KGEpLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsYyYmKGguc2VuZENvdW50Kz0xKSxkIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWQpLF8ubGwoZixoKS50aGVuKCgpPT5oKSk6Xy5Way5yZXNvbHZlKHZvaWQgMCkpfSl9O1NtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuKGF3YWl0IE1tKGIpKS5kZWxldGUoIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKX07ClRtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgTW0oYSk7dmFyIGI9KDAsXy5lbCkoKS0yNTkyRTY7YXdhaXQgXy5pbChhLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sYz0+cWwoYy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxkPT57aWYoZC5jdXJzb3IudmFsdWUudGltZXN0YW1wPD1iKXJldHVybiBkLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGQpKX0pKX07VW09YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBXbCgpfTtObT1mdW5jdGlvbihhKXtfLngoIm53bF9jc2lfa2lsbHN3aXRjaCIpfHx0bSgibmV0d29ya2xlc3NfcGVyZm9ybWFuY2UiLGEse3NhbXBsZVJhdGU6MX0pfTtXbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChWbSgpLGEpfTsKWG09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBXbShhKTt2YXIgYj0oMCxfLmVsKSgpLTI1OTJFNjthd2FpdCBfLmlsKGEsWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT5xbChjLm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGQ9PntpZihkLmN1cnNvci52YWx1ZS50aW1lc3RhbXA8PWIpcmV0dXJuIGQuZGVsZXRlKCkudGhlbigoKT0+cmwoZCkpfSkpfTtZbT1hc3luYyBmdW5jdGlvbihhKXthd2FpdCAoYXdhaXQgV20oYSkpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKXy5hbj1mdW5jdGlvbihhLGIsYyxkLGU9IiIsZj0hMSxoPSExKXtpZihhKWlmKGMmJiFfLk1rKCJjb2JhbHQiKSlfLldpKG5ldyBfLlhqKCJMZWdhY3kgcmVmZXJyZXItc2NydWJiZWQgcGluZyBkZXRlY3RlZCIpKSxhJiZabShhLHZvaWQgMCx7c2NydWJSZWZlcnJlcjohMH0pO2Vsc2UgaWYoZSl4aihhLGIsIlBPU1QiLGUsZCk7ZWxzZSBpZihfLncoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8ZHx8aCl4aihhLGIsIkdFVCIsIiIsZCx2b2lkIDAsZixoKTtlbHNle2I6e3RyeXtjOnt2YXIgaz1uZXcgJG0oe3VybDphfSk7aWYoay5qLmRzaD09PSIxIil2YXIgbD1udWxsO2Vsc2V7dmFyIG09ay5qLmFlO2lmKG09PT0iMSIpe2xldCByPWsuai5hZHVybDtpZihyKXRyeXtsPXt2ZXJzaW9uOjMsbXY6ZGVjb2RlVVJJQ29tcG9uZW50KHIpLHp1OklhKGsubywiYWN0PTEiLCJyaT0xIixLYShrKSl9O2JyZWFrIGN9Y2F0Y2godCl7fX1sPW09PT0iMiI/e3ZlcnNpb246NCwKbXY6SWEoay5vLCJkY3Q9MSIsInN1aWQ9IitrLnYsInJpPTEiKSx6dTpJYShrLm8sImFjdD0xIiwicmk9MSIsInN1aWQ9IitrLnYpfTpudWxsfX1pZihsKXtsZXQgcj1fLlFiKGEpO3ZhciBuPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxfLlpiKGEsInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31uPSExfWlmKG4pe2I6e3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihhLCIiKSl7dmFyIHA9ITA7YnJlYWsgYn19Y2F0Y2gocil7fXA9ITF9cD8oYiYmYigpLGM9ITApOmM9ITF9ZWxzZSBjPSExO2N8fFptKGEsYil9fTsKWm09ZnVuY3Rpb24oYSxiLGM9e30pe3ZhciBkPW5ldyBJbWFnZSxlPSIiK2JuKys7Y25bZV09ZDtkLm9ubG9hZD1kLm9uZXJyb3I9KCk9PntiJiZjbltlXSYmYigpO2RlbGV0ZSBjbltlXX07Yy5zY3J1YlJlZmVycmVyJiYoZC5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtkLnNyYz1hfTtmbj1mdW5jdGlvbigpe2RufHwoZG49bmV3IF8uZW4oInl0Lm9mZmxpbmUiKSk7cmV0dXJuIGRufTtnbj1mdW5jdGlvbihhKXtpZihfLngoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIGI9Zm4oKS5nZXQoImVycm9ycyIsITApfHx7fTtiW2EubWVzc2FnZV09e25hbWU6YS5uYW1lLHN0YWNrOmEuc3RhY2t9O2EubGV2ZWwmJihiW2EubWVzc2FnZV0ubGV2ZWw9YS5sZXZlbCk7Zm4oKS5zZXQoImVycm9ycyIsYiwyNTkyRTMsITApfX07CmpuPWZ1bmN0aW9uKCl7aWYoIWhuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrUmVxdWVzdE1vbml0b3IuaW5zdGFuY2UiKXx8bmV3IGhuO18ucmEoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIsYSk7aG4uaW5zdGFuY2U9YX1yZXR1cm4gaG4uaW5zdGFuY2V9O2xuPWZ1bmN0aW9uKCl7aWYoIWtuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcga247Xy5yYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLGEpO2tuLmluc3RhbmNlPWF9cmV0dXJuIGtuLmluc3RhbmNlfTsKbW49ZnVuY3Rpb24oYSxiKXthLnJhdGVMaW1pdD9hLmo/KF8uamYuQWEoYS5EKSxhLkQ9Xy5qZi5wYigoKT0+e2EuQiE9PWImJihhLmRpc3BhdGNoRXZlbnQoYiksYS5CPWIsYS5qPSgwLF8uZWwpKCkpfSxhLnJhdGVMaW1pdC0oKDAsXy5lbCkoKS1hLmopKSk6KGEuZGlzcGF0Y2hFdmVudChiKSxhLkI9YixhLmo9KDAsXy5lbCkoKSk6YS5kaXNwYXRjaEV2ZW50KGIpfTsKXy5wbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Lm5ldHdvcmtsZXNzUmVxdWVzdENvbnRyb2xsZXIuaW5zdGFuY2UiKTthfHwoYT1uZXcgbm4sXy5yYSgieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsYSksXy54KCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJl8uUGwoKS50aGVuKGI9PnthLkphPWI7RG0oYSk7YS5CLnJlc29sdmUoKTthLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLkphJiZYbShhLkphKTtfLngoIm5ldHdvcmtsZXNzX2ltbWVkaWF0ZWx5X2Ryb3Bfc3dfaGVhbHRoX3N0b3JlIikmJm9uKGEpfSkpO3JldHVybiBhfTtvbj1hc3luYyBmdW5jdGlvbihhKXtpZighYS5KYSl0aHJvdyBTaygiY2xlYXJTV0hlYWx0aExvZ3NEYiIpO1ltKGEuSmEpLmNhdGNoKGI9PnthLmhhbmRsZUVycm9yKGIpfSl9Owpxbj1mdW5jdGlvbihhLGIsYyl7Yj1fLngoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sYik6YjtfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Yi5oZWFkZXJzJiZfLmZqKGEpJiYoYi5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxfLmVsKSgpKSkpOmIucG9zdFBhcmFtcz8ucmVxdWVzdFRpbWVNcyYmKGIucG9zdFBhcmFtcy5yZXF1ZXN0VGltZU1zPU1hdGgucm91bmQoKDAsXy5lbCkoKSkpO2MmJk9iamVjdC5rZXlzKGIpLmxlbmd0aD09PTA/Xy5hbihhKTpiLmNvbXByZXNzP2IucG9zdEJvZHk/KHR5cGVvZiBiLnBvc3RCb2R5IT09InN0cmluZyImJihiLnBvc3RCb2R5PUpTT04uc3RyaW5naWZ5KGIucG9zdEJvZHkpKSxBbShhLGIucG9zdEJvZHksYixfLnpqKSk6QW0oYSxKU09OLnN0cmluZ2lmeShiLnBvc3RQYXJhbXMpLGIsQWopOl8uemooYSxiKX07CnJuPWZ1bmN0aW9uKGEsYil7Xy54KCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiKSYmXy5maihhKSYmKGIuaGVhZGVyc3x8KGIuaGVhZGVycz17fSksYi5oZWFkZXJzWyJYLUdvb2ctRXZlbnQtVGltZSJdPUpTT04uc3RyaW5naWZ5KE1hdGgucm91bmQoKDAsXy5lbCkoKSkpKTtyZXR1cm4gYn07Xy5zbj1mdW5jdGlvbigpe3JldHVybiBfLlBiKGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCkpIT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSJ9Owp2bj1mdW5jdGlvbihhLGIsYyxkKXshXy53KCJWSVNJVE9SX0RBVEEiKSYmYiE9PSJ2aXNpdG9yX2lkIiYmTWF0aC5yYW5kb20oKTwuMDEmJl8uV2kobmV3IF8uWGooIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLGIsYyxkKSk7aWYoIWEuaXNSZWFkeSgpKXRocm93IGE9bmV3IF8uWGooImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixiLGMsZCksXy5VaShhKSxhO3ZhciBlPXtoZWFkZXJzOmQuaGVhZGVyc3x8e30sbWV0aG9kOiJQT1NUIixwb3N0UGFyYW1zOmMscG9zdEJvZHk6ZC5wb3N0Qm9keSxwb3N0Qm9keUZvcm1hdDpkLnBvc3RCb2R5Rm9ybWF0fHwiSlNPTiIsb25UaW1lb3V0OigpPT57ZC5vblRpbWVvdXQoKX0sb25GZXRjaFRpbWVvdXQ6ZC5vblRpbWVvdXQsb25TdWNjZXNzOihtLG4pPT57aWYoZC5vblN1Y2Nlc3MpZC5vblN1Y2Nlc3Mobil9LG9uRmV0Y2hTdWNjZXNzOm09PntpZihkLm9uU3VjY2VzcylkLm9uU3VjY2VzcyhtKX0sCm9uUHJvZ3Jlc3M6bT0+e2lmKGQub25Qcm9ncmVzcylkLm9uUHJvZ3Jlc3MobSl9LG9uRXJyb3I6KG0sbik9PntpZihkLm9uRXJyb3IpZC5vbkVycm9yKG4pfSxvbkZldGNoRXJyb3I6bT0+e2lmKGQub25FcnJvcilkLm9uRXJyb3IobSl9LHRpbWVvdXQ6ZC50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpkLmNvbXByZXNzfTtlLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwoZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO2M9IiI7dmFyIGY9YS5jb25maWdfLnp4O2YmJihjPWYpO2Y9YS5jb25maWdfLkF4fHwhMTt2YXIgaD1vbShmLGMsZCk7T2JqZWN0LmFzc2lnbihlLmhlYWRlcnMsaCk7ZS5oZWFkZXJzLkF1dGhvcml6YXRpb24mJiFjJiZmJiYoZS5oZWFkZXJzWyJ4LW9yaWdpbiJdPXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO3ZhciBrPWRqKGAke2N9JHtgL3lvdXR1YmVpLyR7YS5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7Yn1gfWAsCnthbHQ6Impzb24ifSksbD0obT0hMSk9Pnt0cnl7aWYobSYmZC5yZXRyeSYmIWQubmV0d29ya2xlc3NPcHRpb25zLmJ5cGFzc05ldHdvcmtsZXNzKWUubWV0aG9kPSJQT1NUIixkLm5ldHdvcmtsZXNzT3B0aW9ucy53cml0ZVRoZW5TZW5kP18ucG4oKS53cml0ZVRoZW5TZW5kKGssZSk6Xy5wbigpLnNlbmRBbmRXcml0ZShrLGUpO2Vsc2UgaWYoZC5jb21wcmVzcylpZihlLnBvc3RCb2R5KXtsZXQgbj1lLnBvc3RCb2R5O3R5cGVvZiBuIT09InN0cmluZyImJihuPUpTT04uc3RyaW5naWZ5KGUucG9zdEJvZHkpKTtBbShrLG4sZSxfLnpqKX1lbHNlIEFtKGssSlNPTi5zdHJpbmdpZnkoZS5wb3N0UGFyYW1zKSxlLEFqKTtlbHNlIEFqKGssZSl9Y2F0Y2gobil7aWYobi5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpXy5XaShFcnJvcigieWEiKSk7ZWxzZSB0aHJvdyBuO319OyhfLnNhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIpP18udG4uaXNOd2xJbml0aWFsaXplZDoKXy51bik/TmwoKS50aGVuKG09PntsKG0pfSk6bCghMSl9O18ueW49ZnVuY3Rpb24oYSwuLi5iKXtpZighd24oYSl8fGIuc29tZShjPT4hd24oYykpKXRocm93IEVycm9yKCJ6YSIpO2ZvcihsZXQgYyBvZiBiKXhuKGEsYyl9O3huPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIGluIGIpaWYod24oYltjXSkpe2lmKGMgaW4gYSYmIXduKGFbY10pKXRocm93IEVycm9yKCJBYSIpO2MgaW4gYXx8KGFbY109e30pO3huKGFbY10sYltjXSl9ZWxzZSBpZih6bihiW2NdKSl7aWYoYyBpbiBhJiYhem4oYVtjXSkpdGhyb3cgRXJyb3IoIkJhIik7YyBpbiBhfHwoYVtjXT1bXSk7QW4oYVtjXSxiW2NdKX1lbHNlIGFbY109YltjXTtyZXR1cm4gYX07QW49ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYil3bihjKT9hLnB1c2goeG4oe30sYykpOnpuKGMpP2EucHVzaChBbihbXSxjKSk6YS5wdXNoKGMpO3JldHVybiBhfTt3bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSl9Owp6bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmQXJyYXkuaXNBcnJheShhKX07Xy5Cbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoIl9sYWN0Iix3aW5kb3cpO3JldHVybiBhPT1udWxsPy0xOk1hdGgubWF4KERhdGUubm93KCktYSwwKX07Cl8uRG49ZnVuY3Rpb24oKXtpZih3aW5kb3cuY3J5cHRvJiZ3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGE9QXJyYXkoMTYpLGI9bmV3IFVpbnQ4QXJyYXkoMTYpO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY109YltjXTtyZXR1cm4gYX1jYXRjaChkKXt9YT1BcnJheSgxNik7Zm9yKGI9MDtiPDE2O2IrKyl7Yz1EYXRlLm5vdygpO2ZvcihsZXQgZD0wO2Q8YyUyMztkKyspYVtiXT1NYXRoLnJhbmRvbSgpO2FbYl09TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1Nil9aWYoQ24pZm9yKGI9MSxjPTA7YzxDbi5sZW5ndGg7YysrKWFbYiUxNl1ePWFbKGItMSklMTZdLzReQ24uY2hhckNvZGVBdChjKSxiKys7cmV0dXJuIGF9OwpFbj1mdW5jdGlvbigpe3ZhciBhPV8uRG4oKSxiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KGFbY10mNjMpKTtyZXR1cm4gYi5qb2luKCIiKX07Xy5Gbj1mdW5jdGlvbigpe3ZhciBhPV8udS55dExvZ2dpbmdEb2NEb2N1bWVudE5vbmNlXzthfHwoYT1FbigpLF8ucmEoInl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfIixhKSk7cmV0dXJuIGF9O18uR249ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliPWIqMzErYS5jaGFyQ29kZUF0KGMpLGM8YS5sZW5ndGgtMSYmKGIlPTB4ODAwMDAwMDAwMDAwKTtyZXR1cm4gYiUxRTV9O18uSW49ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBIbihhKX07CktuPWZ1bmN0aW9uKGEsYil7Yj1iLmp2O2lmKGEuai5oYXMoYikpcmV0dXJuIGEuai5nZXQoYikucHJvbWlzZTt2YXIgYz1KbihhLGIsW10sITApO2lmKGMhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShjKTt2YXIgZD17fTtkLnByb21pc2U9bmV3IFByb21pc2UoKGUsZik9PntkLlFoPWU7ZC5Rej1mfSk7YS5qLnNldChiLGQpO3JldHVybiBkLnByb21pc2V9OwpKbj1mdW5jdGlvbihhLGIsYyxkPSExKXtpZihjLmluZGV4T2YoYik+LTEpdGhyb3cgRXJyb3IoIkRhYCIrYik7aWYoYS5vLmhhcyhiKSlyZXR1cm4gYS5vLmdldChiKTtpZighYS52LmhhcyhiKSl7aWYoZClyZXR1cm47dGhyb3cgRXJyb3IoIkVhYCIrYik7fWQ9YS52LmdldChiKTtjLnB1c2goYik7aWYoZC5NYiE9PXZvaWQgMCl2YXIgZT1kLk1iO2Vsc2UgaWYoZC5XYyllPWRbXy5Mbl0/TW4oYSxkW18uTG5dLGMpOltdLGU9ZC5XYyguLi5lKTtlbHNlIGlmKGQuUGEpe2U9ZC5QYTtsZXQgZj1lW18uTG5dP01uKGEsZVtfLkxuXSxjKTpbXTtlPW5ldyBlKC4uLmYpfWVsc2UgdGhyb3cgRXJyb3IoIkZhYCIrYik7Yy5wb3AoKTtkLmdifHxhLm8uc2V0KGIsZSk7cmV0dXJuIGV9O01uPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj9iLm1hcChkPT5kIGluc3RhbmNlb2YgSG4/Sm4oYSxkLmtleSxjLCEwKTpKbihhLGQsYykpOltdfTtfLnk9ZnVuY3Rpb24oKXtObnx8KE5uPW5ldyBPbik7cmV0dXJuIE5ufTsKUW49ZnVuY3Rpb24oKXtyZXR1cm4iaDV2Y2MiaW4gUG4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlQmVnaW4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlRW5kPzE6InBlcmZvcm1hbmNlImluIFBuJiZQbi5wZXJmb3JtYW5jZS5tYXJrJiZQbi5wZXJmb3JtYW5jZS5tZWFzdXJlPzI6MH07Um49ZnVuY3Rpb24oYSl7dmFyIGI9UW4oKTtzd2l0Y2goYil7Y2FzZSAxOlBuLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsYSk7YnJlYWs7Y2FzZSAyOlBuLnBlcmZvcm1hbmNlLm1hcmsoYCR7YX0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpfLmViKGIsInVua25vd24gdHJhY2UgdHlwZSIpfX07ClNuPWZ1bmN0aW9uKGEpe3ZhciBiPVFuKCk7c3dpdGNoKGIpe2Nhc2UgMTpQbi5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixhKTticmVhaztjYXNlIDI6Yj1gJHthfS1zdGFydGA7bGV0IGM9YCR7YX0tZW5kYDtQbi5wZXJmb3JtYW5jZS5tYXJrKGMpO1BuLnBlcmZvcm1hbmNlLm1lYXN1cmUoYSxiLGMpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0Ol8uZWIoYiwidW5rbm93biB0cmFjZSB0eXBlIil9fTtUbj1mdW5jdGlvbihhKXt2YXIgYj1BcnJheS5mcm9tKGEuai5rZXlzKCkpLnNvcnQoKGMsZCk9PmEuZ2V0UHJpb3JpdHkoYS5qW2RdKS1hLmdldFByaW9yaXR5KGEualtjXSkpO2ZvcihsZXQgYyBvZiBiKWI9YS5qW2NdLGIuam9iSWQ9PT12b2lkIDB8fGIuTmp8fChhLnNjaGVkdWxlci5BYShiLmpvYklkKSxhLnNjaGVkdWxlci5HYShiLnhoLDEwKSl9OwpWbj1mdW5jdGlvbihhLGIsYyl7VW4mJmNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQmJmNvbnNvbGUuZ3JvdXBFbmQmJihjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGBbJHthLmNvbnN0cnVjdG9yLm5hbWV9XSAnJHthLnN0YXRlfScgdG8gJyR7Yn0nYCksY29uc29sZS5sb2coIndpdGggbWVzc2FnZTogIixjKSxjb25zb2xlLmdyb3VwRW5kKCkpfTtabj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmlsdGVyKGU9PihhLnY/P2UucHJpb3JpdHk/PzApPT09MTApLGQ9Yi5maWx0ZXIoZT0+KGEudj8/ZS5wcmlvcml0eT8/MCkhPT0xMCk7cmV0dXJuIGEuQi5GZz9hc3luYyguLi5lKT0+e2F3YWl0IFduKGMsLi4uZSk7WG4oYSxkLC4uLmUpfTooLi4uZSk9PntZbihjLC4uLmUpO1huKGEsZCwuLi5lKX19OwpXbj1hc3luYyBmdW5jdGlvbihhLC4uLmIpe3ZhciBjPV8uQ2soKTtmb3IobGV0IGQgb2YgYSl7bGV0IGU7Yy5VKCgpPT57JG4oZC5uYW1lKTt2YXIgZj1hbygoKT0+ZC5jYWxsYmFjayguLi5iKSk7KDAsXy5ibykoZik/ZT1fLngoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpP2YudGhlbigoKT0+e2NvKGQubmFtZSl9KTpmLnRoZW4oKCk9PntjbyhkLm5hbWUpfSxoPT57d2luZG93Lm9uZXJyb3I/LihoLm1lc3NhZ2UsIiIsMCwwLGgpO2NvKGQubmFtZSl9KTpjbyhkLm5hbWUpfSk7ZSYmYXdhaXQgZX19O1huPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPWIubWFwKGQ9Pih7eGg6KCk9PnskbihkLm5hbWUpO2FvKCgpPT5kLmNhbGxiYWNrKC4uLmMpKTtjbyhkLm5hbWUpfSxwcmlvcml0eTphLnY/P2QucHJpb3JpdHk/PzB9KSk7Yi5sZW5ndGgmJihhLmo9bmV3IGVvKGIpKX07ClluPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9Xy5DaygpO2ZvcihsZXQgZCBvZiBhKWMuVSgoKT0+eyRuKGQubmFtZSk7YW8oKCk9PmQuY2FsbGJhY2soLi4uYikpO2NvKGQubmFtZSl9KX07JG49ZnVuY3Rpb24oYSl7Zm8mJmEmJlJuKGEpfTtjbz1mdW5jdGlvbihhKXtmbyYmYSYmU24oYSl9O2FvPWZ1bmN0aW9uKGEpe2lmKF8ueCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIikpcmV0dXJuIGEoKTt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXt3aW5kb3cub25lcnJvcj8uKGIubWVzc2FnZSwiIiwwLDAsYil9fTtfLmlvPWZ1bmN0aW9uKCl7Z298fChnbz1uZXcgaG8pO3JldHVybiBnb307Xy5rbz1mdW5jdGlvbihhKXtyZXR1cm4gXy5zYSgieXRjc2kuIisoYXx8IiIpKyJkYXRhXyIpfHxfLmpvKGEpfTtfLmxvPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLm1ldGFkYXRhfHwoYS5tZXRhZGF0YT17fSk7cmV0dXJuIGEubWV0YWRhdGF9OwpfLm1vPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLnRpY2t8fChhLnRpY2s9e30pO3JldHVybiBhLnRpY2t9O18ubm89ZnVuY3Rpb24oYSl7YT1fLmtvKGEpO2lmKGEuZ2VsKXtsZXQgYj1hLmdlbDtiLmdlbEluZm9zfHwoYi5nZWxJbmZvcz17fSk7Yi5nZWxUaWNrc3x8KGIuZ2VsVGlja3M9e30pfWVsc2UgYS5nZWw9e2dlbFRpY2tzOnt9LGdlbEluZm9zOnt9fTtyZXR1cm4gYS5nZWx9O18ub289ZnVuY3Rpb24oYSl7YT1fLm5vKGEpO2EuZ2VsSW5mb3N8fChhLmdlbEluZm9zPXt9KTtyZXR1cm4gYS5nZWxJbmZvc307Xy5wbz1mdW5jdGlvbihhKXt2YXIgYj1fLmtvKGEpLm5vbmNlO2J8fChiPUVuKCksXy5rbyhhKS5ub25jZT1iKTtyZXR1cm4gYn07Xy5qbz1mdW5jdGlvbihhKXt2YXIgYj17dGljazp7fSxpbmZvOnt9fTtfLnJhKCJ5dGNzaS4iKyhhfHwiIikrImRhdGFfIixiKTtyZXR1cm4gYn07CnFvPWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXRjc2kuZGVidWciKTthfHwoYT1bXSxfLnJhKCJ5dGNzaS5kZWJ1ZyIsYSksXy5yYSgieXRjc2kucmVmZXJlbmNlIix7fSkpO3JldHVybiBhfTtfLnNvPWZ1bmN0aW9uKGEpe3ZhciBiPXFvKCk7Yi5wdXNoKGEpO18ueCgibGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZSIpJiZiLmxlbmd0aD5ybyYmYi5zcGxpY2UoMCxiLmxlbmd0aC1ybyl9O18udW89ZnVuY3Rpb24oYSl7YT1hfHwiIjt2YXIgYj1fLnRvKCk7aWYoYlthXSlyZXR1cm4gYlthXTt2YXIgYz17dGltZXJOYW1lOmEsaW5mbzp7fSx0aWNrOnt9LHNwYW46e30sanNwYkluZm86W119O18uc28oYyk7cmV0dXJuIGJbYV09Y307Xy50bz1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Y3NpLnJlZmVyZW5jZSIpO2lmKGEpcmV0dXJuIGE7cW8oKTtyZXR1cm4gXy5zYSgieXRjc2kucmVmZXJlbmNlIil9Owp2bz1mdW5jdGlvbihhKXtpZihhLm5hbWU9PT0iSmF2YUV4Y2VwdGlvbiIpcmV0dXJuITA7YT1hLnN0YWNrO3JldHVybiBhLmluY2x1ZGVzKCJjaHJvbWU6Ly8iKXx8YS5pbmNsdWRlcygiLWV4dGVuc2lvbjovLyIpfHxhLmluY2x1ZGVzKCJ3ZWJraXQtbWFza2VkLXVybDovLyIpfTt3bz1mdW5jdGlvbihhKXtpZighYS5zdGFjaylyZXR1cm4hMDt2YXIgYj0hYS5zdGFjay5pbmNsdWRlcygiXG4iKTtyZXR1cm4gYiYmYS5zdGFjay5pbmNsdWRlcygiRXJyb3JUeXBlOiAiKXx8YiYmYS5zdGFjay5pbmNsdWRlcygiQW5vbnltb3VzIGZ1bmN0aW9uIChVbmtub3duIHNjcmlwdCIpfHxhLnN0YWNrLnRvTG93ZXJDYXNlKCk9PT0ibm90IGF2YWlsYWJsZSJ8fGEuZmlsZU5hbWU9PT0idXNlci1zY3JpcHQifHxhLmZpbGVOYW1lLnN0YXJ0c1dpdGgoInVzZXItc2NyaXB0OiIpPyEwOiExfTsKXy5Cbz1mdW5jdGlvbigpe2lmKCF4byl7dmFyIGE9eG89bmV3IHlvO2EubGUubGVuZ3RoPTA7YS5TZC5sZW5ndGg9MDtfLnpvKGEsQW8pfXJldHVybiB4b307Xy56bz1mdW5jdGlvbihhLGIpe2IubGUmJmEubGUudW5zaGlmdC5hcHBseShhLmxlLGIubGUpO2IuU2QmJmEuU2QudW5zaGlmdC5hcHBseShhLlNkLGIuU2QpfTtfLkNvPWZ1bmN0aW9uKGEpe3JldHVybiBhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpfTsKXy5Fbz1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MCxlPSgpPT5hLmNoYXJDb2RlQXQoZCsrKTtkb3t2YXIgZj1EbyhlKTtpZihmPT09SW5maW5pdHkpYnJlYWs7bGV0IGg9Zj4+Mztzd2l0Y2goZiY3KXtjYXNlIDA6Zj1EbyhlKTtpZihoPT09YilyZXR1cm4gZjticmVhaztjYXNlIDE6aWYoaD09PWIpcmV0dXJuO2QrPTg7YnJlYWs7Y2FzZSAyOmY9RG8oZSk7aWYoaD09PWIpcmV0dXJuIGEuc3Vic3RyKGQsZik7ZCs9ZjticmVhaztjYXNlIDU6aWYoaD09PWIpcmV0dXJuO2QrPTQ7YnJlYWs7ZGVmYXVsdDpyZXR1cm59fXdoaWxlKGQ8Yyl9O0RvPWZ1bmN0aW9uKGEpe3ZhciBiPWEoKSxjPWImMTI3O2lmKGI8MTI4KXJldHVybiBjO2I9YSgpO2N8PShiJjEyNyk8PDc7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7Y3w9KGImMTI3KTw8MTQ7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7cmV0dXJuIGI8MTI4P2N8KGImMTI3KTw8MjE6SW5maW5pdHl9OwpIbz1mdW5jdGlvbihhLGIsYyxkKXtpZihhKWlmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBlPWQ7Zm9yKGQ9MDtkPGEubGVuZ3RoJiYhKGFbZF0mJihlKz1GbyhkLGFbZF0sYixjKSxlPjUwMCkpO2QrKyk7ZD1lfWVsc2UgaWYodHlwZW9mIGE9PT0ib2JqZWN0Iilmb3IoZSBpbiBhKXtpZihhW2VdKXthOnt2YXIgZj1lO3ZhciBoPWFbZV0saz1iLGw9YztpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxmIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZmIT09InRyYWNraW5nUGFyYW1zIil7Zj0wO2JyZWFrIGF9Zj0oaD1fLkVvKF8uQ28oaCksMikpP0ZvKGAke2Z9LnZlYCxoLGssbCk6MH1kKz1mO2QrPUZvKGUsYVtlXSxiLGMpO2lmKGQ+NTAwKWJyZWFrfX1lbHNlIGNbYl09R28oYSksZCs9Y1tiXS5sZW5ndGg7ZWxzZSBjW2JdPUdvKGEpLGQrPWNbYl0ubGVuZ3RoO3JldHVybiBkfTsKRm89ZnVuY3Rpb24oYSxiLGMsZCl7Yys9YC4ke2F9YDthPUdvKGIpO2RbY109YTtyZXR1cm4gYy5sZW5ndGgrYS5sZW5ndGh9O0dvPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4odHlwZW9mIGE9PT0ic3RyaW5nIj9hOlN0cmluZyhKU09OLnN0cmluZ2lmeShhKSkpLnN1YnN0cigwLDUwMCl9Y2F0Y2goYil7cmV0dXJuYHVuYWJsZSB0byBzZXJpYWxpemUgJHt0eXBlb2YgYX0gKCR7Yi5tZXNzYWdlfSlgfX07CktvPWZ1bmN0aW9uKGEsYil7dmFyIGM9SW8oYik7aWYoYS5qW2NdKXJldHVybiBhLmpbY107dmFyIGQ9T2JqZWN0LmtleXMoYS5zdG9yZSl8fFtdO2lmKGQubGVuZ3RoPD0xJiZJbyhiKT09PWRbMF0pcmV0dXJuIGQ7dmFyIGU9W107Zm9yKGxldCBoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWRbaF0uc3BsaXQoIi8iKTtpZihKbyhiLmF1dGgsa1swXSkpe3ZhciBmPWIuaXNKc3BiO0pvKGY9PT12b2lkIDA/InVuZGVmaW5lZCI6Zj8idHJ1ZSI6ImZhbHNlIixrWzFdKSYmSm8oYi5jdHRBdXRoSW5mbyxrWzJdKSYmKGY9Yi50aWVyLGY9Zj09PXZvaWQgMD8idW5kZWZpbmVkIjpKU09OLnN0cmluZ2lmeShmKSxKbyhmLGtbM10pJiZlLnB1c2goZFtoXSkpfX1yZXR1cm4gYS5qW2NdPWV9O0pvPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT12b2lkIDB8fGE9PT0idW5kZWZpbmVkIj8hMDphPT09Yn07CklvPWZ1bmN0aW9uKGEpe3JldHVyblthLmF1dGg9PT12b2lkIDA/InVuZGVmaW5lZCI6YS5hdXRoLGEuaXNKc3BiPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEuaXNKc3BiLGEuY3R0QXV0aEluZm89PT12b2lkIDA/InVuZGVmaW5lZCI6YS5jdHRBdXRoSW5mbyxhLnRpZXI9PT12b2lkIDA/InVuZGVmaW5lZCI6YS50aWVyXS5qb2luKCIvIil9O18uQj1mdW5jdGlvbihhLGIpe2lmKGEpcmV0dXJuIGFbYi5uYW1lXX07TG89ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJodG1sNV9zZW5kX3FvZV9vbl9nZWwiKXx8Xy54KCJ3ZWJfc2VuZF92c3MzX2lzb2xhdGVkX3BheWxvYWQiKX07T289ZnVuY3Rpb24oYSl7TW89YTtMbygpJiYoXy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1hKTtObz1uZXcgYX07UW89ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dC5sb2dnaW5nLmltcyIpO2F8fChhPW5ldyBQbyxfLnJhKCJ5dC5sb2dnaW5nLmltcyIsYSkpO3JldHVybiBhfTsKJG89ZnVuY3Rpb24oYSxiKXtpZihhLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe1JvKGEpO3ZhciBjPVNvKGEpLGQ9VG8oYS5wYXlsb2FkKXx8IiI7YTp7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7dmFyIGU9VW9bZHx8IiJdO3ZhciBmPV8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5ldmVudExvZ2dpbmdDb25maWc/LnBheWxvYWRQb2xpY2llcztpZihmKWZvcihsZXQgaD0wO2g8Zi5sZW5ndGg7aCsrKWlmKGZbaF0ucGF5bG9hZE51bWJlcj09PWUpe2U9ZltoXTticmVhayBhfX1lPXZvaWQgMH1mPTIwMDtpZihlKXtpZihlLmVuYWJsZWQ9PT0hMSYmIV8ueCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47Zj1WbyhlLnRpZXIpO2lmKGY9PT00MDApe1dvKGEsYik7cmV0dXJufX1Yb1tjXT0hMDtjPXtjdHRBdXRoSW5mbzpjLGlzSnNwYjohMSx0aWVyOmZ9O1FvKCkuc3RvcmVQYXlsb2FkKGMsCmEucGF5bG9hZCk7WW8oYixjLFpvKGQpKX19O1lvPWZ1bmN0aW9uKGEsYixjPSExKXthJiZPbyhhKTthPV8uc2ooInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8Xy5zaigidHZodG1sNV9sb2dnaW5nX21heF9iYXRjaCIpfHxfLnNqKCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giKXx8MTAwO3ZhciBkPSgwLF8uZWwpKCksZT1hcCghMSxiLnRpZXIpLGY9ZS5CO2MmJihlLmo9ITApO2M9MDtiJiYoYz1RbygpLmdldFNlcXVlbmNlQ291bnQoYikpO3ZhciBoPSgpPT57Xy5icCh7d3JpdGVUaGVuU2VuZDohMH0sdm9pZCAwLCExLGIudGllcil9O2M+PTFFMz9oKCk6Yz49YT9jcHx8KGNwPWRwKCgpPT57aCgpO2NwPXZvaWQgMH0sMCkpOmQtZj49MTAmJihlcCghMSxiLnRpZXIpLGUuQj1kKX07CldvPWZ1bmN0aW9uKGEsYil7aWYoYS5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtfLngoIm1vcmVfYWNjdXJhdGVfZ2VsX3BhcnNlciIpJiZRbygpLnN0b3JlUGF5bG9hZCh7aXNKc3BiOiExfSxhLnBheWxvYWQpO1JvKGEpO3ZhciBjPVNvKGEpLGQ9bmV3IE1hcDtkLnNldChjLFthLnBheWxvYWRdKTt2YXIgZT1UbyhhLnBheWxvYWQpfHwiIjsoYT1iP2I6TG8oKT9Nb3x8Xy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yX3x8bnVsbDpudWxsKSYmT28oYSk7cmV0dXJuIG5ldyBfLkJmKChmLGgpPT57Tm8mJk5vLmlzUmVhZHkoKT9mcChkLE5vLGYsaCx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFpvKGUpKTpmKCl9KX19OwpTbz1mdW5jdGlvbihhKXt2YXIgYj0iIjtpZihhLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24pYj0idmlzaXRvck9ubHlBcHByb3ZlZEtleSI7ZWxzZSBpZihhLmN0dEF1dGhJbmZvKXtiPWEuY3R0QXV0aEluZm87bGV0IGM9e307Yi52aWRlb0lkP2MudmlkZW9JZD1iLnZpZGVvSWQ6Yi5wbGF5bGlzdElkJiYoYy5wbGF5bGlzdElkPWIucGxheWxpc3RJZCk7Z3BbYS5jdHRBdXRoSW5mby50b2tlbl09YztiPWEuY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIGJ9OwpfLmJwPWZ1bmN0aW9uKGE9e30sYixjPSExLGQpe25ldyBfLkJmKChlLGYpPT57dmFyIGg9YXAoYyxkKSxrPWguajtoLmo9ITE7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSYmXy54KCJ3ZWJfdnNzX3JvdXRpbmdfY2hlY2tfYWxsX3RpZXJfcG9saWNpZXMiKSl7bGV0IGw9YXAoYywzMDApLG09YXAoYywyMDApO2s9a3x8bC5qfHxtLmo7bC5qPSExO20uaj0hMX1ocChoLnYpO2hwKGgubyk7aC5vPTA7Tm8mJk5vLmlzUmVhZHkoKT9kPT09dm9pZCAwJiZfLngoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2lwKGUsZixhLGIsYywzMDAsayk6aXAoZSxmLGEsYixjLGQsayk6KGVwKGMsZCksZSgpKX0pfTsKaXA9ZnVuY3Rpb24oYSxiLGM9e30sZCxlPSExLGY9MjAwLGg9ITEpe3ZhciBrPU5vLGw9bmV3IE1hcCxtPXtpc0pzcGI6ZSxjdHRBdXRoSW5mbzpkLHRpZXI6Zn07ZT17aXNKc3BiOmUsY3R0QXV0aEluZm86ZH07aWYoZCE9PXZvaWQgMClmPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W20sZV0sc2l6ZUxpbWl0OjFFM30pOlFvKCkuZXh0cmFjdE1hdGNoaW5nRW50cmllcyhlKSxsLnNldChkLGYpO2Vsc2UgZm9yKGxldCBuIG9mIE9iamVjdC5rZXlzKFhvKSlkPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W3tpc0pzcGI6ITEsY3R0QXV0aEluZm86bix0aWVyOmZ9LHtpc0pzcGI6ITEsY3R0QXV0aEluZm86bn1dLHNpemVMaW1pdDoxRTN9KTpRbygpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMSxjdHRBdXRoSW5mbzpufSksCmQubGVuZ3RoPjAmJmwuc2V0KG4sZCksKF8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJmMud3JpdGVUaGVuU2VuZHx8IV8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgWG9bbl07ZnAobCxrLGEsYixjLCExLGgpfTsKZXA9ZnVuY3Rpb24oYT0hMSxiPTIwMCl7dmFyIGM9KCk9PntfLmJwKHt3cml0ZVRoZW5TZW5kOiEwfSx2b2lkIDAsYSxiKX0sZD1hcChhLGIpLGU9ZD09PWpwfHxkPT09a3A/NUUzOmxwO18ueCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhZC5vJiYoZT1kcCgoKT0+e2MoKX0sZSksZC5vPWUpO2hwKGQudik7ZT1fLncoIkxPR0dJTkdfQkFUQ0hfVElNRU9VVCIsXy5zaigid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Xy54KCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmbXAmJihlPW5wKTtlPWRwKCgpPT57Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIik+MD9RbygpLmdldFNlcXVlbmNlQ291bnQoe2N0dEF1dGhJbmZvOnZvaWQgMCxpc0pzcGI6YSx0aWVyOmJ9KT49b3AmJmMoKTpjKCl9LGUpO2Qudj1lfTsKZnA9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9LGYsaCl7dmFyIGs9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKSxsPWEuc2l6ZSxtPXBwKGgpO2ZvcihsZXQgW24scF1vZiBhKXthPW47aD1wO2xldCByPV8ucWQoe2NvbnRleHQ6bW0oYi5jb25maWdffHxsbSgpKX0pO2lmKCFfLnlhKGgpJiYhXy54KCJ0aHJvd19lcnJfd2hlbl9sb2dldmVudF9tYWxmb3JtZWRfa2lsbHN3aXRjaCIpKXtkKCk7YnJlYWt9ci5ldmVudHM9aDsoaD1ncFthXSkmJnFwKHIsYSxoKTtkZWxldGUgZ3BbYV07bGV0IHQ9YT09PSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtycChyLGssdCk7Xy54KCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiKSYmKGUud3JpdGVUaGVuU2VuZD0hMSk7bGV0IHY9QT0+e18ueCgic3RhcnRfY2xpZW50X2djZiIpJiZfLmpmLnBiKGFzeW5jKCk9Pnthd2FpdCBzcChBKX0pO2wtLTtsfHxjKCl9LHo9MCxFPSgpPT57eisrO2lmKGUuYnlwYXNzTmV0d29ya2xlc3MmJno9PT0xKXRyeXt2bihiLG0scix0cCh7d3JpdGVUaGVuU2VuZDohMH0sCnQsdixFLGYpKSxtcD0hMX1jYXRjaChBKXtfLlVpKEEpLGQoKX1sLS07bHx8YygpfTt0cnl7dm4oYixtLHIsdHAoZSx0LHYsRSxmKSksbXA9ITF9Y2F0Y2goQSl7Xy5VaShBKSxkKCl9fX07dHA9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPXtyZXRyeTohMCxvblN1Y2Nlc3M6YyxvbkVycm9yOmQsbmV0d29ya2xlc3NPcHRpb25zOmEsZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpiLGJJOiEhZSxoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOl8ueCgiY29tcHJlc3NfZ2VsIil8fF8ueCgiY29tcHJlc3NfZ2VsX2xyIil9O3VwKCkmJihhLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLF8uZWwpKCkpKSk7cmV0dXJuIGF9OwpycD1mdW5jdGlvbihhLGIsYyl7dXAoKXx8KGEucmVxdWVzdFRpbWVNcz1TdHJpbmcoYikpO18ueCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYoYS51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFjJiYoYj1fLncoIkVWRU5UX0lEIikpJiYoKGM9Xy53KCJCQVRDSF9DTElFTlRfQ09VTlRFUiIpfHwwKXx8KGM9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKSxjKyssYz42NTUzNSYmKGM9MSksXy5RaSgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLGMpLGEuc2VyaWFsaXplZENsaWVudEV2ZW50SWQ9e3NlcmlhbGl6ZWRFdmVudElkOmIsY2xpZW50Q291bnRlcjpTdHJpbmcoYyl9KX07CnFwPWZ1bmN0aW9uKGEsYixjKXtpZihjLnZpZGVvSWQpdmFyIGQ9IlZJREVPIjtlbHNlIGlmKGMucGxheWxpc3RJZClkPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47YS5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPWM7YS5jb250ZXh0PWEuY29udGV4dHx8e307YS5jb250ZXh0LnVzZXI9YS5jb250ZXh0LnVzZXJ8fHt9O2EuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOmIsc2NvcGU6ZH1dfTsKUm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy50aigiaWxfcGF5bG9hZF9zY3JhcGluZyIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighXy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZW5hYmxlU2NyYXBpbmdGb3JUZXN0IikpaWYoYil2cD1bXSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiLCEwKSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIix2cCksXy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiwidmlzdWFsRWxlbWVudFNob3duIHZpc3VhbEVsZW1lbnRIaWRkZW4gdmlzdWFsRWxlbWVudEF0dGFjaGVkIHNjcmVlbkNyZWF0ZWQgdmlzdWFsRWxlbWVudEdlc3R1cmVkIHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLnNwbGl0KCIgIikpLF8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRQYXlsb2FkRnJvbUNsaWVudEV2ZW50c0Z1bmN0aW9uIiksCl8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZUNsaWVudEV2ZW50IiwhMCk7ZWxzZSByZXR1cm47Yj1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIik7dmFyIGM9Xy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiksZD1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGMmJmMubGVuZ3RoPj0xKWZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSsrKWEmJmEucGF5bG9hZFtjW2VdXSYmKGQ/Yi5wdXNoKGEucGF5bG9hZCk6Yi5wdXNoKChhPy5wYXlsb2FkKVtjW2VdXSkpO18ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLGIpfTt1cD1mdW5jdGlvbigpe3JldHVybiBfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil8fF8ueCgibHJfdXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiKX07CmRwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT09PSExP18ubWooYSxiKTpfLngoImxvZ2dpbmdfYXZvaWRfYmxvY2tpbmdfZHVyaW5nX25hdmlnYXRpb24iKXx8Xy54KCJscl9sb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIik/Xy5ZaigoKT0+e18uaW8oKS5jdXJyZW50U3RhdGU9PT0ibm9uZSI/YSgpOl8uaW8oKS5pbnN0YWxsKHtub25lOntjYWxsYmFjazphfX0pfSxiKTpfLllqKGEsYil9O2hwPWZ1bmN0aW9uKGEpe18ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT9fLmpmLkFhKGEpOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9OwpzcD1hc3luYyBmdW5jdGlvbihhKXthPWE/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIGI9Xy5CKGEsd3ApLGM9YT8uaG90SGFzaERhdGEsZD1fLkIoYSx4cCksZT1hPy5jb2xkSGFzaERhdGEsZj1fLnkoKS5yZXNvbHZlKF8uSW4oaW0pKTtmJiYoYyYmKGI/YXdhaXQgZ20oZixjLGIpOmF3YWl0IGdtKGYsYykpLGUmJihkP2F3YWl0IGhtKGYsZSxkKTphd2FpdCBobShmLGUpKSk7Yj1hPy5yYXdGaW5jaFN0YXRpY0NvbmZpZ0dyb3VwOyhhPWE/LmZpbmNoU3RhdGljSGFzaERhdGEpPyhjPV8ueSgpLnJlc29sdmUoXy5Jbih5cCkpKT9hd2FpdCBjLndLKHtjb25maWc6Ynx8e30saUk6YXx8IiJ9KTooYnx8YSkmJl8uV2kobmV3IF8uWGooIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UgaXMgbm90IHByZXNlbnQsIGJ1dCBGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LiIpKTpiJiZfLldpKG5ldyBfLlhqKCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFwPWZ1bmN0aW9uKGEsYj0yMDApe3JldHVybiBhP2I9PT0zMDA/anA6enA6Yj09PTMwMD9rcDpBcH07VG89ZnVuY3Rpb24oYSl7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGIgb2YgYSlpZihVb1tiXSlyZXR1cm4gYn07Vm89ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07Wm89ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0iZ2VsRGVidWdnaW5nRXZlbnQifHxhPT09IndhdGNoVGltZVNlZ21lbnQifTsKcHA9ZnVuY3Rpb24oYT0hMSl7cmV0dXJuIGEmJl8ueCgidnNzX3Rocm91Z2hfZ2VsX3ZpZGVvX3N0YXRzIik/InZpZGVvX3N0YXRzIjoibG9nX2V2ZW50In07Cl8uQ3A9ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9e30sZj1NYXRoLnJvdW5kKGQudGltZXN0YW1wfHwoMCxfLmVsKSgpKTtlLmV2ZW50VGltZU1zPWY8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/ZjowO2VbYV09YjthPV8uQm4oKTtlLmNvbnRleHQ9e2xhc3RBY3Rpdml0eU1zOlN0cmluZyhkLnRpbWVzdGFtcHx8IWlzRmluaXRlKGEpPy0xOmEpfTtkLnNlcXVlbmNlR3JvdXAmJiFfLngoIndlYl9nZWxfc2VxdWVuY2VfaW5mb19raWxsc3dpdGNoIikmJihhPWUuY29udGV4dCxiPWQuc2VxdWVuY2VHcm91cCxCcFtiXT1iIGluIEJwP0JwW2JdKzE6MCxhLnNlcXVlbmNlPXtpbmRleDpCcFtiXSxncm91cEtleTpifSxkLmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBCcFtkLnNlcXVlbmNlR3JvdXBdKTtfLngoIndlYl90YWdfYXV0b21hdGVkX2xvZ19ldmVudHMiKSYmKGUuY29udGV4dC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZT1kLmF1dG9tYXRlZExvZ0V2ZW50U291cmNlKTsoZC5zZW5kSXNvbGF0ZWRQYXlsb2FkPwpXbzokbykoe2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6ZSxjdHRBdXRoSW5mbzpkLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246ZC5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxjKX07Xy5FcD1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9RHA7Xy53KCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmRHA9PT1EcCYmKGQ9bnVsbCk7Xy5DcChhLGIsZCxjKX07CkZwPWZ1bmN0aW9uKGEsYj17fSl7aWYoYT1hLk5kKXtsZXQgYz1hLmZoLGQ9YS5BbDthPVtbImNvbXBvbmVudFN0YWNrIixhLmNvbXBvbmVudFN0YWNrXSxbIndpelRhZ05hbWUiLGEudGFnTmFtZV0sWyJ3aXpPd25lclRyYWNlIixhLnByPy5qb2luKCIgPiAiKV0sWyJlcnJvclNldmVyaXR5IixjPy50b1N0cmluZygpXSxbIndpekZlYXR1cmVGbGFncyIsZD9PYmplY3QuZW50cmllcyhkKS5qb2luKCJcbiIpOnZvaWQgMF1dO2ZvcihsZXQgW2UsZl1vZiBhKWE9ZixhIT09dm9pZCAwJiYoYltlXT1hKX1yZXR1cm4gYn07Xy5IcD1mdW5jdGlvbihhKXtfLkdwKGEpfTtfLklwPWZ1bmN0aW9uKGEpe18uR3AoYSwiV0FSTklORyIpfTsKXy5HcD1mdW5jdGlvbihhLGI9IkVSUk9SIixjLGQsZSxmPXt9LGg9ITEsayl7Zi5uYW1lPWN8fF8udygiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpO2YudmVyc2lvbj1kfHxfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7SnAoYSxmLGIsaCxrKX07CkpwPWZ1bmN0aW9uKGEsYixjPSJFUlJPUiIsZD0hMSxlKXtpZihhKXthLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZhLmxldmVsJiYoYz1hLmxldmVsKTtpZihfLngoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBmPWI7aWYoIWY/LmNvbXBvbmVudFN0YWNrKXt2YXIgaD1hLk5kPy5jb21wb25lbnRTdGFjaztoJiYoZnx8KGY9e30pLGYuY29tcG9uZW50U3RhY2s9aCl9Yj1mfHxifWVsc2UgYj1GcChhLGIpLGY9YS5OZD8uZmgsZiE9PXZvaWQgMCYmYyE9PSJJR05PUkVEIiYmKGM9Zj49Mz8iRVJST1IiOiJXQVJOSU5HIik7aWYoXy54KCJjb25zb2xlX2xvZ19qc19leGNlcHRpb25zIil8fFsidGVzdCIsImRldiIsImF1dG9wdXNoIiwic3RhZ2luZyJdLmluY2x1ZGVzKF8udygiU0VSVkVSX1ZFUlNJT04iKSkpZj1bXSxmLnB1c2goYE5hbWU6ICR7YS5uYW1lfWApLGYucHVzaChgTWVzc2FnZTogJHthLm1lc3NhZ2V9YCksYS5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJgpmLnB1c2goYEVycm9yIFBhcmFtczogJHtKU09OLnN0cmluZ2lmeShhLnBhcmFtcyl9YCksYS5oYXNPd25Qcm9wZXJ0eSgiYXJncyIpJiZmLnB1c2goYEVycm9yIGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYS5hcmdzKX1gKSxmLnB1c2goYEZpbGUgbmFtZTogJHthLmZpbGVOYW1lfWApLGYucHVzaChgU3RhY2t0cmFjZTogJHthLnN0YWNrfWApLGY9Zi5qb2luKCJcbiIpLHdpbmRvdy5jb25zb2xlLmxvZyhmLGEpO2lmKCEoS3A+PTUpKXtmPVtdO2ZvcihrIG9mIExwKXRyeXtrKCkmJmYucHVzaChrKCkpfWNhdGNoKEUpe312YXIgaz1mO2s9Wy4uLk1wLC4uLmtdO3ZhciBsPUViKGEpO2Y9bC5tZXNzYWdlfHwiVW5rbm93biBFcnJvciI7aD1sLm5hbWV8fCJVbmtub3duRXJyb3IiO3ZhciBtPWwuc3RhY2t8fGEuWEt8fCJOb3QgYXZhaWxhYmxlIjtpZihtLnN0YXJ0c1dpdGgoYCR7aH06ICR7Zn1gKSl7dmFyIG49bS5zcGxpdCgiXG4iKTtuLnNoaWZ0KCk7bT1uLmpvaW4oIlxuIil9bj1sLmxpbmVOdW1iZXJ8fAoiTm90IGF2YWlsYWJsZSI7bD1sLmZpbGVOYW1lfHwiTm90IGF2YWlsYWJsZSI7bGV0IHo9MDtpZihhLmhhc093blByb3BlcnR5KCJhcmdzIikmJmEuYXJncyYmYS5hcmdzLmxlbmd0aClmb3IodmFyIHA9MDtwPGEuYXJncy5sZW5ndGgmJiEoej1IbyhhLmFyZ3NbcF0sYHBhcmFtcy4ke3B9YCxiLHopLHo+PTUwMCk7cCsrKTtlbHNlIGlmKGEuaGFzT3duUHJvcGVydHkoInBhcmFtcyIpJiZhLnBhcmFtcyl7bGV0IEU9YS5wYXJhbXM7aWYodHlwZW9mIGEucGFyYW1zPT09Im9iamVjdCIpZm9yKHAgaW4gRSl7aWYoIUVbcF0pY29udGludWU7bGV0IEE9YHBhcmFtcy4ke3B9YCxGPUdvKEVbcF0pO2JbQV09Rjt6Kz1BLmxlbmd0aCtGLmxlbmd0aDtpZih6PjUwMClicmVha31lbHNlIGIucGFyYW1zPUdvKEUpfWlmKGsubGVuZ3RoKWZvcihwPTA7cDxrLmxlbmd0aCYmISh6PUhvKGtbcF0sYHBhcmFtcy5jb250ZXh0LiR7cH1gLGIseiksej49NTAwKTtwKyspO25hdmlnYXRvci52ZW5kb3ImJiFiLmhhc093blByb3BlcnR5KCJ2ZW5kb3IiKSYmCihiWyJkZXZpY2UudmVuZG9yIl09bmF2aWdhdG9yLnZlbmRvcik7cD17bWVzc2FnZTpmLG5hbWU6aCxsaW5lTnVtYmVyOm4sZmlsZU5hbWU6bCxzdGFjazptLHBhcmFtczpiLHNhbXBsZVdlaWdodDoxfTtiPU51bWJlcihhLmNvbHVtbk51bWJlcik7aXNOYU4oYil8fChwLmxpbmVOdW1iZXI9YCR7cC5saW5lTnVtYmVyfToke2J9YCk7aWYoYS5sZXZlbD09PSJJR05PUkVEIil2YXIgcj0wO2Vsc2UgYTp7YT1fLkJvKCk7Zm9yKHIgb2YgYS5sZSlpZihwLm1lc3NhZ2UmJnAubWVzc2FnZS5tYXRjaChyLldKKSl7cj1yLndlaWdodDticmVhayBhfWZvcih2YXIgdCBvZiBhLlNkKWlmKHQuY2FsbGJhY2socCkpe3I9dC53ZWlnaHQ7YnJlYWsgYX1yPTF9cC5zYW1wbGVXZWlnaHQ9cjtyPXA7Zm9yKHZhciB2IG9mIE5wKXtpZighdi5KaltyLm5hbWVdKWNvbnRpbnVlO3Q9di5KaltyLm5hbWVdO2ZvcihsZXQgRSBvZiB0KXt0PXIubWVzc2FnZS5tYXRjaChFLnJlZ2V4cCk7aWYoIXQpY29udGludWU7CnIucGFyYW1zWyJwYXJhbXMuZXJyb3Iub3JpZ2luYWwiXT10WzBdO2E9RS5ncm91cHM7cD17fTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXBbYVtiXV09dFtiKzFdLHIucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHthW2JdfWBdPXRbYisxXTtyLm1lc3NhZ2U9di5wbShwKTticmVha319ci5wYXJhbXN8fChyLnBhcmFtcz17fSk7dj1fLkJvKCk7ci5wYXJhbXNbInBhcmFtcy5lcnJvclNlcnZpY2VTaWduYXR1cmUiXT1gbXNnPSR7di5sZS5sZW5ndGh9JmNiPSR7di5TZC5sZW5ndGh9YDtyLnBhcmFtc1sicGFyYW1zLnNlcnZpY2VXb3JrZXIiXT0iZmFsc2UiO18udS5kb2N1bWVudCYmXy51LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihyLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3IE9wKFBwLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT1PcCYmKHIucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09CiJ0cnVlIik7d2luZG93Lnl0ZXJyJiZ0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKHIpO3Iuc2FtcGxlV2VpZ2h0PT09MHx8UXAuaGFzKHIubWVzc2FnZSl8fChkP1JwKHIsYyk6U3AocixjLGUpKX19fTtScD1mdW5jdGlvbihhLGI9IkVSUk9SIil7VHAoYixhKTtVcChhKX07ClNwPWZ1bmN0aW9uKGEsYj0iRVJST1IiLGMpe2lmKGI9PT0iRVJST1IiKXtfLlZwLnB1Ymxpc2goImhhbmRsZUVycm9yIixhKTtpZihfLngoInJlY29yZF9hcHBfY3Jhc2hlZF93ZWIiKSYmV3A9PT0wJiZhLnNhbXBsZVdlaWdodD09PTEpe1dwKys7bGV0IGQ9e2FwcENyYXNoVHlwZToiQVBQX0NSQVNIX1RZUEVfQlJFQUtQQUQifTtfLngoInJlcG9ydF9jbGllbnRfZXJyb3Jfd2l0aF9hcHBfY3Jhc2hfa3MiKXx8KGQuc3lzdGVtSGVhbHRoPXtjcmFzaERhdGE6e2NsaWVudEVycm9yOntsb2dNZXNzYWdlOnttZXNzYWdlOmEubWVzc2FnZX19fX0pO18uRXAoImFwcENyYXNoZWQiLGQpfVhwKyt9ZWxzZSBiPT09IldBUk5JTkciJiZfLlZwLnB1Ymxpc2goImhhbmRsZVdhcm5pbmciLGEpO18ueCgia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIikmJihjPVlwKGIsYSxjKSkmJihfLkVwKCJjbGllbnRFcnJvciIsYyksKGI9PT0iRVJST1IifHxfLngoImVycm9yc19mbHVzaF9nZWxfYWx3YXlzX2tpbGxzd2l0Y2giKSkmJgpfLmJwKHZvaWQgMCx2b2lkIDAsITEpKTtfLngoInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIil8fFRwKGIsYSk7VXAoYSl9O1VwPWZ1bmN0aW9uKGEpe3RyeXtRcC5hZGQoYS5tZXNzYWdlKX1jYXRjaChiKXt9S3ArK307CllwPWZ1bmN0aW9uKGEsYixjPXt9KXthOntmb3IoZCBvZiBacClpZihfLk1rKGQudG9Mb3dlckNhc2UoKSkpe3ZhciBkPSEwO2JyZWFrIGF9ZD0hMX1pZighZCl7dmFyIGU9e3N0YWNrVHJhY2U6Yi5zdGFja307Yi5maWxlTmFtZSYmKGUuZmlsZW5hbWU9Yi5maWxlTmFtZSk7ZD1iLmxpbmVOdW1iZXImJmIubGluZU51bWJlci5zcGxpdD9iLmxpbmVOdW1iZXIuc3BsaXQoIjoiKTpbXTtkLmxlbmd0aCE9PTAmJihkLmxlbmd0aCE9PTF8fGlzTmFOKE51bWJlcihkWzBdKSk/ZC5sZW5ndGghPT0yfHxpc05hTihOdW1iZXIoZFswXSkpfHxpc05hTihOdW1iZXIoZFsxXSkpfHwoZS5saW5lTnVtYmVyPU51bWJlcihkWzBdKSxlLmNvbHVtbk51bWJlcj1OdW1iZXIoZFsxXSkpOmUubGluZU51bWJlcj1OdW1iZXIoZFswXSkpO2Q9e2xldmVsOiJFUlJPUl9MRVZFTF9VTktOT1dOIixtZXNzYWdlOmIubWVzc2FnZSxlcnJvckNsYXNzTmFtZTpiLm5hbWUsc2FtcGxlV2VpZ2h0OmIuc2FtcGxlV2VpZ2h0fTsKYT09PSJFUlJPUiI/ZC5sZXZlbD0iRVJST1JfTEVWRUxfRVJST1IiOmE9PT0iV0FSTklORyImJihkLmxldmVsPSJFUlJPUl9MRVZFTF9XQVJOTklORyIpO2E9e2lzT2JmdXNjYXRlZDohMCxicm93c2VyU3RhY2tJbmZvOmV9O2MucGFnZVVybD13aW5kb3cubG9jYXRpb24uaHJlZjtjLmt2UGFpcnM9W107Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikmJihjLmV4cGVyaW1lbnRJZHM9Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikpO2U9Xy53KCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighXy5SaSgid2ViX2Rpc2FibGVfZ2VsX3N0cF9lY2F0Y2hlcl9raWxsc3dpdGNoIikmJmUpZm9yKHZhciBmIG9mIE9iamVjdC5rZXlzKGUpKWMua3ZQYWlycy5wdXNoKHtrZXk6Zix2YWx1ZTpTdHJpbmcoZVtmXSl9KTtpZihmPWIucGFyYW1zKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhmKSljLmt2UGFpcnMucHVzaCh7a2V5OmBjbGllbnQuJHtofWAsdmFsdWU6U3RyaW5nKGZbaF0pfSk7CmlmKGI9Yi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZCljLnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoYik7Yj1fLncoIlNFUlZFUl9OQU1FIik7aD1fLncoIlNFUlZFUl9WRVJTSU9OIik7YiYmaCYmKGMua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTpifSksYy5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJmMua3ZQYWlycy5wdXNoKHtrZXk6ImNsaWVudC5wbGF5ZXIudmVyc2lvbiIsdmFsdWU6Yn0pO3JldHVybntlcnJvck1ldGFkYXRhOmMsc3RhY2tUcmFjZTphLGxvZ01lc3NhZ2U6ZH19fTsKVHA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBhcmFtc3x8e307YT17dXJsUGFyYW1zOnthOiJsb2dlcnJvciIsdDoianNlcnJvciIsdHlwZTpiLm5hbWUsbXNnOmIubWVzc2FnZS5zdWJzdHIoMCwyNTApLGxpbmU6Yi5saW5lTnVtYmVyLGxldmVsOmEsImNsaWVudC5uYW1lIjpjLm5hbWV9LHBvc3RQYXJhbXM6e3VybDpfLncoIlBBR0VfTkFNRSIsd2luZG93LmxvY2F0aW9uLmhyZWYpLGZpbGU6Yi5maWxlTmFtZX0sbWV0aG9kOiJQT1NUIn07Yy52ZXJzaW9uJiYoYVsiY2xpZW50LnZlcnNpb24iXT1jLnZlcnNpb24pO2lmKGEucG9zdFBhcmFtcyl7Yi5zdGFjayYmKGEucG9zdFBhcmFtcy5zdGFjaz1iLnN0YWNrKTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYykpYS5wb3N0UGFyYW1zW2BjbGllbnQuJHtlfWBdPWNbZV07aWYoYj1fLncoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgZCBvZiBPYmplY3Qua2V5cyhiKSlhLnBvc3RQYXJhbXNbZF09CmJbZF07KGQ9Xy53KCJMQVZBX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImxhdmEudmVyc2lvbiJdPWQpO2Q9Xy53KCJTRVJWRVJfTkFNRSIpO2I9Xy53KCJTRVJWRVJfVkVSU0lPTiIpO2QmJmImJihhLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09ZCxhLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09Yik7KGQ9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImNsaWVudC5wbGF5ZXIudmVyc2lvbiJdPWQpfV8uemooYCR7Xy53KCJFQ0FUQ0hFUl9SRVBPUlRfSE9TVCIsIiIpfS9lcnJvcl8yMDRgLGEpfTthcT1mdW5jdGlvbigpeyRwLmluc3RhbmNlfHwoJHAuaW5zdGFuY2U9bmV3ICRwKTtyZXR1cm4gJHAuaW5zdGFuY2V9OwpjcT1mdW5jdGlvbihhLGIpe2JxW2JdPWJxW2JdfHx7Y291bnQ6MH07dmFyIGM9YnFbYl07Yy5jb3VudCsrO2MudGltZT0oMCxfLmVsKSgpO2Euanx8KGEuaj1fLllqKCgpPT57dmFyIGQ9KDAsXy5lbCkoKTtmb3IobGV0IGUgaW4gYnEpYnFbZV0mJmQtYnFbZV0udGltZT42RTQmJmRlbGV0ZSBicVtlXTthJiYoYS5qPTApfSw1RTMpKTtyZXR1cm4gYy5jb3VudD41PyhjLmNvdW50PT09NiYmTWF0aC5yYW5kb20oKSoxRTU8MSYmKGM9bmV3IF8uWGooIkNTSSBkYXRhIGV4Y2VlZGVkIGxvZ2dpbmcgbGltaXQgd2l0aCBrZXkiLGIuc3BsaXQoIl8iKSksYi5pbmRleE9mKCJwbGV2Iik+PTB8fF8uSXAoYykpLCEwKTohMX07ZHE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gXy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSlbYV19OwplcT1mdW5jdGlvbihhLGI9MCl7dmFyIGM9Xy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7Y3x8KGM9e30sXy5RaSgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsYykpO2NbYl09YX07ZnE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gYT09PTA/IlJPT1RfVkVfVFlQRSI6YFJPT1RfVkVfVFlQRS4ke2F9YH07Xy5ncT1mdW5jdGlvbihhPTApe3JldHVybiBfLncoZnEoYSkpfTtocT1mdW5jdGlvbigpe3ZhciBhPV8udygiY3NuLXRvLWN0dC1hdXRoLWluZm8iKTthfHwoYT17fSxfLlFpKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIsYSkpO3JldHVybiBhfTtfLmlxPWZ1bmN0aW9uKGE9MCl7YT1kcShhKTtpZighYSYmIV8udygiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO2F8fChhPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIGE/YTpudWxsfTtqcT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aHEoKTsoYz1fLmlxKGMpKSYmZGVsZXRlIGRbY107YiYmKGRbYV09Yil9OwpfLmtxPWZ1bmN0aW9uKGEpe3JldHVybiBocSgpW2FdfTtfLm1xPWZ1bmN0aW9uKGEsYixjPTAsZCl7aWYoYSE9PWRxKGMpfHxiIT09Xy53KGZxKGMpKSlpZihqcShhLGQsYyksZXEoYSxjKSxfLlFpKGZxKGMpLGIpLGI9KCk9PntzZXRUaW1lb3V0KCgpPT57YSYmXy5FcCgiZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQiLHtjbGllbnREb2N1bWVudE5vbmNlOmxxLGNsaWVudFNjcmVlbk5vbmNlOmF9KX0sMCl9LCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiaW4gd2luZG93KXRyeXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGIpfWNhdGNoKGUpe2IoKX1lbHNlIGIoKX07Xy5vcT1mdW5jdGlvbihhLGIpe18ubnEoIl9zdGFydCIsYSxiKX07Cl8ucHE9ZnVuY3Rpb24oYSxiKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGIpLmFjdGlvbkRpc2FibGVkKXt2YXIgYz1fLnVvKGJ8fCIiKTtfLnluKGMuaW5mbyxhKTthLmxvYWRUeXBlJiYoYz1hLmxvYWRUeXBlLF8ubG8oYikubG9hZFR5cGU9Yyk7Xy55bihfLm9vKGIpLGEpO2M9Xy5wbyhiKTtiPV8ua28oYikuY3R0QXV0aEluZm87YXEoKS5pbmZvKGEsYyxiKX19O3FxPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnVGlja3M/P1tdKS5tYXAoYT0+T2JqZWN0LnZhbHVlcyhhKVswXSl9OwpfLm5xPWZ1bmN0aW9uKGEsYixjKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGMpLmFjdGlvbkRpc2FibGVkKXt2YXIgZD1fLnBvKGMpLGU7aWYoZT1fLngoIndlYl9jc2lfZGVidWdfc2FtcGxlX2VuYWJsZWQiKSYmZCl7Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCkmJiFycSYmKHJxPSEwLF8ubnEoImdjZmwiLCgwLF8uZWwpKCksYykpO2U9Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCk/LmxvZ2dpbmdIb3RDb25maWc/LmNzaUNvbmZpZz8uZGVidWdTYW1wbGVXZWlnaHR8fDA7dmFyIGY7aWYoZj1lIT09MCliOntmPXFxKCk7aWYoZi5sZW5ndGg+MClmb3IodmFyIGg9MDtoPGYubGVuZ3RoO2grKylpZihhPT09ZltoXSl7Zj0hMDticmVhayBifWY9ITF9Zj8oZT1fLkduKGQpJWUhPT0wLF8ua28oYykuZGVidWdUaWNrc0V4Y2x1ZGVkTG9nZ2VkfHwoZj17fSxmLmRlYnVnVGlja3NFeGNsdWRlZD1lLF8ucHEoZixjKSksXy5rbyhjKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTplPSExfWlmKCFlKXtpZihhWzBdIT09Il8iJiYoZT1hLF8uc3EubWFyaykpe2Uuc3RhcnRzV2l0aCgibWFya18iKXx8KGU9Im1hcmtfIitlKTtjJiYoZSs9YCAoJHtjfSlgKTtmPWU7aD17fTtpZihiIT09dm9pZCAwJiYhXy54KCJ3ZWJfY3NpX2Rpc2FibGVfYWx0X3RpbWVfcGVyZm9ybWFuY2VfbWFyayIpKXtsZXQgbD1iO2w9Xy54KCJjc2lfdXNlX3BlcmZvcm1hbmNlX25hdmlnYXRpb25fdGltaW5nIik/bC1fLnNxLnRpbWVPcmlnaW46bC0oXy5zcS50aW1lT3JpZ2lufHxfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQpO2guc3RhcnRUaW1lPWx9Xy54KCJjc2lfZW5hYmxlX2Nocm9tZV9kZXZ0b29sc19wZXJmb3JtYW5jZV90aW1lbGluZV9pbnRlZ3JhdGlvbiIpJiYoaC5kZXRhaWw9e3ZJOntkYXRhVHlwZToibWFya2VyIixjb2xvcjoicHJpbWFyeSIsdG9vbHRpcFRleHQ6Zn19KTtmPU9iamVjdC5rZXlzKGgpLmxlbmd0aD4wP2g6dm9pZCAwO3RyeXtfLnNxLm1hcmsoZSxmKX1jYXRjaChsKXtfLnNxLm1hcmsoZSl9fWU9Cl8udW8oY3x8IiIpO2UudGlja1thXT1ifHwoMCxfLmVsKSgpO2lmKGUuY2FsbGJhY2smJmUuY2FsbGJhY2tbYV0pZm9yKHZhciBrIG9mIGUuY2FsbGJhY2tbYV0paygpO2s9Xy5ubyhjKTtrLmdlbFRpY2tzJiYoay5nZWxUaWNrc1thXT0hMCk7ZT1fLm1vKGMpO2s9Ynx8KDAsXy5lbCkoKTtlW2FdPWs7ZT1fLmtvKGMpLmN0dEF1dGhJbmZvO2E9PT0iX3N0YXJ0Ij8oYT1hcSgpLGNxKGEsYGJhc2VsaW5lXyR7ZH1gKXx8Xy5FcCgibGF0ZW5jeUFjdGlvbkJhc2VsaW5lZCIse2NsaWVudEFjdGlvbk5vbmNlOmR9LHt0aW1lc3RhbXA6YixjdHRBdXRoSW5mbzplfSkpOmFxKCkudGljayhhLGQsYixlKTtfLnRxKGMpO3JldHVybiBrfX19OwpfLnZxPWZ1bmN0aW9uKGEpe3ZhciBiPV8udXEoImFmdCIsYSk7aWYoYilyZXR1cm4gYjtiPV8udygoYXx8IiIpKyJUSU1JTkdfQUZUX0tFWVMiLFsib2wiXSk7dmFyIGM9Yi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxjO2QrKyl7bGV0IGU9Xy51cShiW2RdLGEpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIE5hTn07Xy51cT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5tbyhiKVthXSlyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIj9hOmFbYS5sZW5ndGgtMV19O18udHE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51cSgiX3N0YXJ0IixhKSxjPV8udnEoYSksZD0hd3E7YiYmYyYmZCYmKF8uc20oeHEsbmV3IHlxKE1hdGgucm91bmQoYy1iKSxhKSksd3E9ITApfTtfLnpxPWZ1bmN0aW9uKGEsYixjPSExKXtfLlZpKF8ucHEpKGEsYixjKX07Xy5BcT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uVmkoXy5ucSkoYSxiLGMpfTsKXy5CcT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZpKCgpPT57dmFyIGM9Xy5tbyhiKTtyZXR1cm4gYSBpbiBjfSkoKX07a2E9T2JqZWN0LmNyZWF0ZTtqYT1PYmplY3QuZGVmaW5lUHJvcGVydHk7aWE9Z2xvYmFsVGhpcztjYT0iSW50OCBVaW50OCBVaW50OENsYW1wZWQgSW50MTYgVWludDE2IEludDMyIFVpbnQzMiBGbG9hdDMyIEZsb2F0NjQiLnNwbGl0KCIgIik7aWEuQmlnSW50NjRBcnJheSYmKGNhLnB1c2goIkJpZ0ludDY0IiksY2EucHVzaCgiQmlnVWludDY0IikpO3ZhciBsYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZmEoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiYSIpfSk7CmZhKCJTdXBwcmVzc2VkRXJyb3IiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyxkLGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihjLGQsZSk7ZT1FcnJvcihlKTsic3RhY2siaW4gZSYmKHRoaXMuc3RhY2s9ZS5zdGFjayk7dGhpcy5tZXNzYWdlPWUubWVzc2FnZTt0aGlzLmVycm9yPWM7dGhpcy5zdXBwcmVzc2VkPWR9aWYoYSlyZXR1cm4gYTtuYShiLEVycm9yKTtiLnByb3RvdHlwZS5uYW1lPSJTdXBwcmVzc2VkRXJyb3IiO3JldHVybiBifSk7CmZhKCJTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtpZihiIGluc3RhbmNlb2YgUmVnRXhwJiYhYi5nbG9iYWwpdGhyb3cgbmV3IFR5cGVFcnJvcigiYiIpO3JldHVybiBiIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShiLGMpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhiKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxjKX19KTtmYSgiUHJvbWlzZS53aXRoUmVzb2x2ZXJzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7dmFyIGIsYztyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2I9ZDtjPWV9KSxyZXNvbHZlOmIscmVqZWN0OmN9fX0pOwpmYSgiT2JqZWN0Lmhhc093biIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixjKX19KTtmYSgiQXJyYXkucHJvdG90eXBlLmF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZWEoImF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZmEoIlN0cmluZy5wcm90b3R5cGUuYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6cWF9KTtfLl9EdW1wRXhjZXB0aW9uPXdpbmRvdy5fRHVtcEV4Y2VwdGlvbnx8ZnVuY3Rpb24oYSl7dGhyb3cgYTt9O3dpbmRvdy5fRHVtcEV4Y2VwdGlvbj1fLl9EdW1wRXhjZXB0aW9uO3dpbmRvdy55dGNzaSYmd2luZG93Lnl0Y3NpLnRpY2smJndpbmRvdy55dGNzaS50aWNrKCJyc2VzX2RwaiIpO18uQ3E9Xy5DcXx8e307Xy51PXRoaXN8fHNlbGY7Xy5EcT1fLnUuX0ZfdG9nZ2xlc19kZWZhdWx0X2Jhc2V8fFtdO3ZhLmdldD1mdW5jdGlvbigpe3JldHVybiBudWxsfTtfLmVoPW51bGw7Xy5FcT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt2YXIgJG09Y2xhc3N7Y29uc3RydWN0b3Ioe3VybDphLGtMOmJ9KXt0aGlzLm89YTt0aGlzLkI9Yjt0aGlzLnY9KG5ldyBEYXRlKS5nZXRUaW1lKCktMTcwNDA2NzJFNTt0aGlzLmo9e307Zm9yKHZhciBjPS9bPyZdKFteJj1dKyk9KFteJl0qKS9nO2I9Yy5leGVjKGEpOyl0aGlzLmpbYlsxXV09YlsyXX19O18uSGEoXy5MYSxFcnJvcik7Xy5MYS5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO3ZhciB3ZDt2YXIgTmE9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsUWE7Xy5TYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTtWYShhPT5hYGApfHxWYShhPT5hYFwwYCl8fFZhKGE9PmFgXG5gKXx8VmEoYT0+YWBcdTAwMDBgKTtfLldhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O18uRnE9bmV3IF8uV2EoImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7dmFyIFphLGNiO1phPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuZmI9YX19O18uR3E9bmV3IFphKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpO18uSHE9JGEoInRlbCIpO18uSXE9JGEoImRhdGEiKTtfLkpxPSRhKCJodHRwIik7Xy5LcT0kYSgiaHR0cHMiKTtfLkxxPSRhKCJmdHAiKTtfLk1xPSRhKCJtYWlsdG8iKTtfLk5xPSRhKCJpbnRlbnQiKTtfLk9xPSRhKCJzbXMiKTtfLlBxPSRhKCJ2bmQueW91dHViZSIpO18uYWI9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxXTtjYj0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18uZmI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qKyIifX07Xy5qYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTt2YXIgcGI9ImFsdGVybmF0ZSBhdXRob3IgYm9va21hcmsgY2Fub25pY2FsIGNpdGUgaGVscCBpY29uIGxpY2Vuc2UgbW9kdWxlcHJlbG9hZCBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpO3ZhciBEYj17fTt2YXIgS2I7S2I9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtfLlliPS8jfCQvO3ZhciBRcT0hIShfLkRxWzBdPj4yNSYxKSxScT0hIShfLkRxWzBdPj4yMCYxKSxTcT0hIShfLkRxWzBdPj4yNyYxKSxUcT0hIShfLkRxWzBdJjgpLFVxPSEhKF8uRHFbMF0mODE5MiksVnE9ISEoXy5EcVswXT4+MTkmMSksV3E9ISEoXy5EcVswXT4+MTcmMSksWHE9ISEoXy5EcVswXT4+MTgmMSk7dmFyIGRjLFZjLGRlLEFlLFZnO2RjPVFxP1NxOnVhKDYxMDQwMTMwMSwhMSk7Xy5ZcT1RcT9UcTp1YSg1MTM2NTk1MjMsITEpO1ZjPVFxP1JxfHwhVXE6dWEoNzQ4NDAyMTQ3LCEwKTtkZT1RcT9WcTp1YSg5MTk0NDQ4MjQsITEpO0FlPVFxP1dxOnVhKDkyODg3NTM5OCwhMSk7Vmc9UXE/WHE6dWEoNjgzNzQ5MjAxLCExKTt2YXIgZWMsWnE9Xy51Lm5hdmlnYXRvcjtlYz1acT9acS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7Xy5wY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgJHEsYXIsYnI7JHE9amMoKTthcj1pYygpPyExOmhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIik7Xy5KbD1oYygiRWRnZSIpO2JyPWhjKCJHZWNrbyIpJiYhKF8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIikpJiYhKGhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIikpJiYhaGMoIkVkZ2UiKTtfLmNyPV8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIik7Xy5kcj1fLmNyJiZoYygiTW9iaWxlIik7bmMoKXx8aGMoIk1hY2ludG9zaCIpO25jKCl8fGhjKCJXaW5kb3dzIik7KG5jKCk/ZWMucGxhdGZvcm09PT0iTGludXgiOmhjKCJMaW51eCIpKXx8bmMoKXx8aGMoIkNyT1MiKTtfLmVyPW5jKCk/ZWMucGxhdGZvcm09PT0iQW5kcm9pZCI6aGMoIkFuZHJvaWQiKTtvYygpO2hjKCJpUGFkIik7aGMoImlQb2QiKTtfLmZyPW9jKCl8fGhjKCJpUGFkIil8fGhjKCJpUG9kIik7Cl8uZ3I9Xy5iYygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigia2Fpb3MiKSE9LTE7a2MoKTtfLmhyPW9jKCl8fGhjKCJpUG9kIik7Xy5pcj1oYygiaVBhZCIpOyFoYygiQW5kcm9pZCIpfHxtYygpfHxrYygpfHxqYygpfHxoYygiU2lsayIpO21jKCk7Xy5Paz1oYygiU2FmYXJpIikmJiEobWMoKXx8KGljKCk/MDpoYygiQ29hc3QiKSl8fGpjKCl8fChpYygpPzA6aGMoIkVkZ2UiKSl8fChpYygpP2ZjKCJNaWNyb3NvZnQgRWRnZSIpOmhjKCJFZGcvIikpfHwoaWMoKT9mYygiT3BlcmEiKTpoYygiT1BSIikpfHxrYygpfHxoYygiU2lsayIpfHxoYygiQW5kcm9pZCIpKSYmIShvYygpfHxoYygiaVBhZCIpfHxoYygiaVBvZCIpKTt2YXIgcmM9e30sdmM9bnVsbDt2YXIgd2M9dm9pZCAwO3ZhciBIYyxZYyxTYztfLkpjPV8ueWMoKTtfLmpyPV8ueWMoKTtIYz1fLnljKCk7Xy5rcj1fLnljKCk7WWM9Xy55YygpO18uT2M9Xy55YygibV9tIiwhMCk7U2M9Xy55YygpO18ubHI9Xy55YygpO3ZhciBucjtfLkFjPV8ueWMoImphcyIsITApO25yPVtdO25yW18uQWNdPTc7Xy5tcj1PYmplY3QuZnJlZXplKG5yKTtfLlBjPXt9O18uemM9e307Xy5vcj1PYmplY3QuZnJlZXplKHt9KTtfLnByPV8uQ2MoYT0+YSE9PW51bGwmJmEhPT12b2lkIDApO3ZhciBFYyxEYztFYz1fLkNjKGE9PnR5cGVvZiBhPT09Im51bWJlciIpO0RjPV8uQ2MoYT0+dHlwZW9mIGE9PT0ic3RyaW5nIik7Xy5ibz1fLkNjKGE9PmEhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCImJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iKTtfLnFyPV8uQ2MoYT0+ISFhJiYodHlwZW9mIGE9PT0ib2JqZWN0Inx8dHlwZW9mIGE9PT0iZnVuY3Rpb24iKSk7dmFyIHJyLHNyO18uTWM9Xy5DYyhhPT5hPj1yciYmYTw9c3IpO3JyPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUik7c3I9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtfLnRyPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwO18udXI9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzVWludE46dm9pZCAwO18udnI9TnVtYmVyLmlzU2FmZUludGVnZXI7Xy53cj1OdW1iZXIuaXNGaW5pdGU7Xy54cj1NYXRoLnRydW5jO3ZhciBUYz17fTt2YXIgS2M7Xy55cj1fLkZjKDApO18uenI9ZmQoKTtfLkFyPWZkKCk7Xy5Ccj1mZCgpO18uQ3I9ZmQoKTtfLkRyPWZkKCk7Xy5Fcj1mZCgpO18uRnI9ZmQoKTtfLkdyPWZkKCk7Xy5Icj1mZCgpO18uSXI9ZmQoKTtfLkpyPWZkKCk7Xy5Lcj1mZCgpO18uTHI9ZmQoKTtfLk1yPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLkRhPV8uWGMoYSxiLGMsMjA0OCl9dG9KU09OKCl7cmV0dXJuIFVjKHRoaXMpfXNlcmlhbGl6ZShhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoVWModGhpcyxhKSl9Y2xvbmUoKXt2YXIgYT10aGlzLkRhLGI9YVtfLkFjXXwwO3JldHVybiBfLiRjKHRoaXMsYSxiKT9fLmJkKHRoaXMsYSwhMCk6bmV3IHRoaXMuY29uc3RydWN0b3IoXy5aYyhhLGIsITEpKX19O18uTXIucHJvdG90eXBlW18uT2NdPV8uUGM7dmFyIGpqPXdpbmRvdzsiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsCiJJTlBVVCJdKTt2YXIgaWQ9e1FCOiJhbGxvdy1mb3JtcyIsU0I6ImFsbG93LW1vZGFscyIsVEI6ImFsbG93LW9yaWVudGF0aW9uLWxvY2siLFVCOiJhbGxvdy1wb2ludGVyLWxvY2siLFZCOiJhbGxvdy1wb3B1cHMiLFdCOiJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giLFhCOiJhbGxvdy1wcmVzZW50YXRpb24iLFlCOiJhbGxvdy1zYW1lLW9yaWdpbiIsWkI6ImFsbG93LXNjcmlwdHMiLGFDOiJhbGxvdy10b3AtbmF2aWdhdGlvbiIsYkM6ImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJ9LGxkPWhkKCgpPT5rZCgpKTtfLmc9Xy5uZC5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLm5kKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTtfLmcuYXJlYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoKnRoaXMuaGVpZ2h0fTtfLmcuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5hcmVhKCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcuc2NhbGU9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoKj1hO3RoaXMuaGVpZ2h0Kj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTtyZXR1cm4gdGhpc307dmFyIHJkPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIik7dmFyIE9wPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE9PT1QcCYmYnx8IiJ9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qfX0sUHA9e307bmV3IE9wKFBwLCIiKTtfLmc9dWQucHJvdG90eXBlO18uZy5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihhLGIpe3JldHVybihifHx0aGlzLmopLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9O18uZy5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBCZCh0aGlzLmosYSl9O18uZy5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qLmNyZWF0ZVRleHROb2RlKFN0cmluZyhhKSl9O18uZy5hcHBlbmRDaGlsZD1mdW5jdGlvbihhLGIpe2EuYXBwZW5kQ2hpbGQoYil9O18uZy5hcHBlbmQ9ZnVuY3Rpb24oYSxiKXtBZChfLnZkKGEpLGEsYXJndW1lbnRzKX07Xy5nLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8uZy5yZW1vdmVOb2RlPV8uRGQ7Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEmJmI/YT09Ynx8YS5jb250YWlucyhiKTohMX07Xy5nLmlzRm9jdXNhYmxlPV8uRmQ7dmFyIGlqPShuZXcgRGF0ZSkuZ2V0VGltZSgpO18uZz1MZC5wcm90b3R5cGU7Xy5nLmlzRW5hYmxlZD1mdW5jdGlvbigpe2lmKCFfLnUubmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpcmV0dXJuITE7aWYoIXRoaXMuaXNFbXB0eSgpKXJldHVybiEwO3RoaXMuc2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiLCIxIix7dmo6NjB9KTtpZih0aGlzLmdldCgiVEVTVENPT0tJRVNFTkFCTEVEIikhPT0iMSIpcmV0dXJuITE7dGhpcy5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKXy5nLnNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7aWYodHlwZW9mIGM9PT0ib2JqZWN0Iil7dmFyIGU9Yy5zYW1lU2l0ZTtkPWMuc2VjdXJlfHwhMTt2YXIgZj1jLmRvbWFpbnx8dm9pZCAwO3ZhciBoPWMucGF0aHx8dm9pZCAwO3ZhciBrPWMudmp9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigiRGAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJFYCIrYik7az09PXZvaWQgMCYmKGs9LTEpO2M9Zj8iO2RvbWFpbj0iK2Y6IiI7aD1oPyI7cGF0aD0iK2g6IiI7ZD1kPyI7c2VjdXJlIjoiIjtrPWs8MD8iIjprPT0wPyI7ZXhwaXJlcz0iKyhuZXcgRGF0ZSgxOTcwLDEsMSkpLnRvVVRDU3RyaW5nKCk6IjtleHBpcmVzPSIrKG5ldyBEYXRlKERhdGUubm93KCkrayoxRTMpKS50b1VUQ1N0cmluZygpO3RoaXMuai5jb29raWU9YSsiPSIrYitjK2graytkKyhlIT1udWxsPyI7c2FtZXNpdGU9IitlOiIiKX07Cl8uZy5nZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hKyI9IixkPSh0aGlzLmouY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IobGV0IGU9MCxmO2U8ZC5sZW5ndGg7ZSsrKXtmPWRbZV0udHJpbSgpO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5nLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7dmo6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5nLnJkPWZ1bmN0aW9uKCl7cmV0dXJuIE1kKHRoaXMpLmtleXN9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiBNZCh0aGlzKS52YWx1ZXN9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuai5jb29raWV9O18uZy5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPU1kKHRoaXMpLmtleXM7Zm9yKGxldCBiPWEubGVuZ3RoLTE7Yj49MDtiLS0pdGhpcy5yZW1vdmUoYVtiXSl9OwpfLkxqPW5ldyBMZCh0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBSZDtfLk5yPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dmFyIGM9Y3x8W107dGhpcy52PWE7dGhpcy5vPWJ8fG51bGw7dGhpcy5qPVtdO3RoaXMuaj10aGlzLmouY29uY2F0KGMpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudn19O18uT3I9bmV3IF8uTnIoIm43M3F3ZiIsIm43M3F3ZiIpO18uYWUucHJvdG90eXBlLlk9ITE7Xy5hZS5wcm90b3R5cGUuaWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ZfTtfLmFlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5ZfHwodGhpcy5ZPSEwLHRoaXMubGEoKSl9O18uYWUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLmFlLnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuWT9iIT09dm9pZCAwP2EuY2FsbChiKTphKCk6KHRoaXMuS3x8KHRoaXMuSz1bXSksYiYmKGE9YS5iaW5kKGIpKSx0aGlzLksucHVzaChhKSl9O18uYWUucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7aWYodGhpcy5LKWZvcig7dGhpcy5LLmxlbmd0aDspdGhpcy5LLnNoaWZ0KCkoKX07dmE9dmF8fHt9O18uSGEoYmUsXy5hZSk7YmUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt9O2NlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEpe3RoaXMuaiYmKHRoaXMuai5jYWxsKHRoaXMub3x8bnVsbCxhKSx0aGlzLmo9dGhpcy5vPW51bGwpfTtjZS5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPW51bGx9O3ZhLndrPWNlO18uSGEoZWUsXy5hZSk7Xy5nPWVlLnByb3RvdHlwZTtfLmcuUGo9bnVsbDtfLmcuT3k9YmU7Xy5nLkFqPW51bGw7Xy5nLnN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5nLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRH07Xy5nLmlzTG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLkFqfTtfLmcueWU9ZnVuY3Rpb24oKXt0aGlzLkFqPW5ldyBiZX07Xy5nLm9uTG9hZD1mdW5jdGlvbihhKXt2YXIgYj1uZXcgdGhpcy5PeTtiLmluaXRpYWxpemUoYSgpKTt0aGlzLkFqPWI7aWYodGhpcy5vJiYoYj1pZSh0aGlzLm8sYSgpKSkpcmV0dXJuIGI7aWYodGhpcy5CJiYoYT1pZSh0aGlzLkIsYSgpKSkpcmV0dXJuIGE7dGhpcy52JiYodGhpcy52Lmxlbmd0aD0wKTtyZXR1cm4gbnVsbH07Cl8uZy5vbkVycm9yPWZ1bmN0aW9uKGEpe3RoaXMudiYmKGE9aWUodGhpcy52LGEpKSYmXy4kYihFcnJvcigiR2AiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuQiYmKHRoaXMuQi5sZW5ndGg9MCl9O18uZy5sYT1mdW5jdGlvbigpe2VlLnpiLmxhLmNhbGwodGhpcyk7Xy5aZCh0aGlzLkFqKTt0aGlzLlBqPW51bGx9O3ZhLk9nPWVlO3ZhciBRZz17RVJST1I6ImVycm9yIixJRExFOiJpZGxlIixNczoiYWN0aXZlIixpdToidXNlcklkbGUiLGh1OiJ1c2VyQWN0aXZlIn07Xy5nPWplLnByb3RvdHlwZTtfLmcuUnI9ZnVuY3Rpb24oKXt9O18uZy5UaD1mdW5jdGlvbigpe307Xy5nLm5pPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIkgiKTt9O18uZy5BZz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJJIik7fTtfLmcuVnA9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiExfTtfLmcuZW49ZnVuY3Rpb24oKXt9O18uZy5abj1mdW5jdGlvbigpe307dmFyIFByPWNsYXNze2luaXQoKXtfLkZhKCJfRl9pbnN0YWxsQ3NzIixhPT57YSYma2UoYSl9KX19O3ZhciBtZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLm89IiI7dGhpcy52PXt9fXRvU3RyaW5nKCl7dmFyIGE9dGhpcy5vK3ZlKHRoaXMpLGI9Xy5VYih0aGlzLnYpLGM9IiI7YiE9IiImJihjPSI/IitiKTtyZXR1cm4gYStjfWNsb25lKCl7dmFyIGE9bmV3IG1lO2Euaj17Li4udGhpcy5qfTthLm89dGhpcy5vO2Eudj17Li4udGhpcy52fTtyZXR1cm4gYX19LG5lPXt2RzoiayIsRUM6ImNrIix6RjoibSIsWUM6ImV4bSIsV0M6ImV4Y20iLExCOiJhbSIsUkI6ImFtYyIsbUY6Im1tIix0RzoicnQiLGJGOiJkIixYQzoiZWQiLGlIOiJzdiIsSkM6ImRlb2IiLHNDOiJjYiIsd0M6ImNjYiIsdEM6ImNiaSIsWUc6InJzIixCRzoic2RjaCIsY0Y6ImltIixLQzoiZGciLFVDOiJiciIsVEM6ImJyLWQiLFZDOiJyYiIsSUg6InpzIixFSDoid3QiLFpDOiJlZSIsaEg6InNtIix4RjoibWQiLFhFOiJnc3Ntb2R1bGVzZXRwcm90byIsQ0g6InVqZyIsQkg6InNwIixhRjoiaWNoYyIsWEc6InNsayIsCk1DOiJkdGkiLExDOiJkYndoIixlRjoiaWMifSxRcj1SZWdFeHAoIl4oZ2FwaVxcLik/bG9hZGVkKF9nfF9oKT8oX1swLTlhLXpdKykrJCIpLFJyPVJlZ0V4cCgiXlthLXpBLVowLTktXypdKyQiKTt2YXIgR2U9ITE7Xy55Zz10eXBlb2YgQXN5bmNDb250ZXh0IT09InVuZGVmaW5lZCImJnR5cGVvZiBBc3luY0NvbnRleHQuU25hcHNob3Q9PT0iZnVuY3Rpb24iP2E9PmEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpOmE9PmE7Xy5KZS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5vPSEwfTtfLkplLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5IYShLZSxfLkplKTsKS2UucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnR5cGU9YS50eXBlLGQ9YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7dGhpcy5jdXJyZW50VGFyZ2V0PWI7Yj1hLnJlbGF0ZWRUYXJnZXQ7Ynx8KGM9PSJtb3VzZW92ZXIiP2I9YS5mcm9tRWxlbWVudDpjPT0ibW91c2VvdXQiJiYoYj1hLnRvRWxlbWVudCkpO3RoaXMucmVsYXRlZFRhcmdldD1iO2Q/KHRoaXMuY2xpZW50WD1kLmNsaWVudFghPT12b2lkIDA/ZC5jbGllbnRYOmQucGFnZVgsdGhpcy5jbGllbnRZPWQuY2xpZW50WSE9PXZvaWQgMD9kLmNsaWVudFk6ZC5wYWdlWSx0aGlzLnNjcmVlblg9ZC5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1kLnNjcmVlbll8fDApOih0aGlzLm9mZnNldFg9Xy5jcnx8YS5vZmZzZXRYIT09dm9pZCAwP2Eub2Zmc2V0WDphLmxheWVyWCx0aGlzLm9mZnNldFk9Cl8uY3J8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8IiI7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwoYz09ImtleXByZXNzIj9hLmtleUNvZGU6MCk7dGhpcy5jdHJsS2V5PWEuY3RybEtleTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLnNoaWZ0S2V5PWEuc2hpZnRLZXk7dGhpcy5tZXRhS2V5PWEubWV0YUtleTt0aGlzLnBvaW50ZXJJZD1hLnBvaW50ZXJJZHx8MDt0aGlzLnBvaW50ZXJUeXBlPWEucG9pbnRlclR5cGU7dGhpcy5zdGF0ZT1hLnN0YXRlO3RoaXMudGltZVN0YW1wPQphLnRpbWVTdGFtcDt0aGlzLmo9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJktlLnpiLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9O0tlLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtLZS56Yi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKTt0aGlzLmouc3RvcFByb3BhZ2F0aW9uP3RoaXMuai5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLmouY2FuY2VsQnViYmxlPSEwfTtLZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtLZS56Yi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuajthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgVWU9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTt2YXIgTGU9MDtPZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5saXN0ZW5lcnNbZl07YXx8KGE9dGhpcy5saXN0ZW5lcnNbZl09W10sdGhpcy5qKyspO3ZhciBoPVFlKGEsYixkLGUpO2g+LTE/KGI9YVtoXSxjfHwoYi56aT0hMSkpOihiPW5ldyBNZShiLHRoaXMuc3JjLGYsISFkLGUpLGIuemk9YyxhLnB1c2goYikpO3JldHVybiBifTtPZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS50b1N0cmluZygpO2lmKCEoYSBpbiB0aGlzLmxpc3RlbmVycykpcmV0dXJuITE7dmFyIGU9dGhpcy5saXN0ZW5lcnNbYV07Yj1RZShlLGIsYyxkKTtyZXR1cm4gYj4tMT8oTmUoZVtiXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGUsYiwxKSxlLmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1thXSx0aGlzLmotLSksITApOiExfTt2YXIgWGU9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksZWY9e30sJGU9MCxmZj0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO18uSGEoXy5nZixfLmFlKTtfLmdmLnByb3RvdHlwZVtVZV09ITA7Xy5nPV8uZ2YucHJvdG90eXBlO18uZy5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uU2UodGhpcyxhLGIsYyxkKX07Xy5nLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5jZih0aGlzLGEsYixjLGQpfTsKXy5nLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLk07aWYoYylmb3IoYj1bXTtjO2M9Yy5NKWIucHVzaChjKTtjPXRoaXMuRmE7dmFyIGQ9YS50eXBlfHxhO2lmKHR5cGVvZiBhPT09InN0cmluZyIpYT1uZXcgXy5KZShhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uSmUpYS50YXJnZXQ9YS50YXJnZXR8fGM7ZWxzZXt2YXIgZT1hO2E9bmV3IF8uSmUoZCxjKTtzZChhLGUpfWU9ITA7dmFyIGY7aWYoYilmb3IoZj1iLmxlbmd0aC0xOyFhLm8mJmY+PTA7Zi0tKXt2YXIgaD1hLmN1cnJlbnRUYXJnZXQ9YltmXTtlPWhmKGgsZCwhMCxhKSYmZX1hLm98fChoPWEuY3VycmVudFRhcmdldD1jLGU9aGYoaCxkLCEwLGEpJiZlLGEub3x8KGU9aGYoaCxkLCExLGEpJiZlKSk7aWYoYilmb3IoZj0wOyFhLm8mJmY8Yi5sZW5ndGg7ZisrKWg9YS5jdXJyZW50VGFyZ2V0PWJbZl0sZT1oZihoLGQsITEsYSkmJmU7cmV0dXJuIGV9OwpfLmcubGE9ZnVuY3Rpb24oKXtfLmdmLnpiLmxhLmNhbGwodGhpcyk7dGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTt0aGlzLk09bnVsbH07Xy5nLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLmcucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGEpe2lmKHRoaXMubyl7dmFyIGI9dGhpcy5vO2E9YSYmYS50b1N0cmluZygpO2xldCBjPTA7Zm9yKGxldCBkIGluIGIubGlzdGVuZXJzKWlmKCFhfHxkPT1hKXtsZXQgZT1iLmxpc3RlbmVyc1tkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKykrK2MsTmUoZVtmXSk7ZGVsZXRlIGIubGlzdGVuZXJzW2RdO2Iuai0tfWI9Y31lbHNlIGI9MDtyZXR1cm4gYn07dmFyIGtmPWNsYXNzIGV4dGVuZHMgXy5nZntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuRD10aGlzLmo9MDt0aGlzLkRjPWE/P3twYjooYixjKT0+c2V0VGltZW91dChiLGMpLEFhOmI9PntjbGVhclRpbWVvdXQoYil9fTt0aGlzLmlzT25saW5lPXdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZT8/ITA7dGhpcy52PWFzeW5jKCk9Pnthd2FpdCBtZih0aGlzKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMudik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy52KTt0aGlzLkR8fG5mKHRoaXMpfWRpc3Bvc2UoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsdGhpcy52KTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIix0aGlzLnYpO3RoaXMuRGMuQWEodGhpcy5EKTtkZWxldGUga2YuaW5zdGFuY2V9U2IoKXtyZXR1cm4gdGhpcy5pc09ubGluZX19O3ZhciBxZj1udWxsLHBmPW5ldyBNYXA7dmFyIFNyPWE9PnthPWEuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwiZCIsIjAiKTt3ZShhLG51bGwpO3hlKGEsbnVsbCk7cmV0dXJuIGF9LFRyPSEwLFVyPShhLGIse2Nzc1Jvd0tleTpjLEtlOmQsWWQ6ZSxjYWxsYmFjazpmfT17fSk9PntpZihiKWZvcihsZXQgaCBvZiBiKWlmKCFSci50ZXN0KGgpKXRocm93IEVycm9yKCJKYCIraCk7b2UoYSwibSIsYi5qb2luKCIsIikpO2UmJnplKGEsZSk7YyYmKG9lKGEsImNrIixjKSxkP29lKGEsInJzIixkKTpUciYmKFRyPSExKSk7aWYoZil7aWYoZiE9bnVsbCYmIVFyLnRlc3QoZikpdGhyb3cgRXJyb3IoIktgIitmKTtvZShhLCJjYiIsZil9YT1hLnRvU3RyaW5nKCk7YS5sYXN0SW5kZXhPZigiLyIsMCk9PTAmJihiPV8uTWIoZG9jdW1lbnQubG9jYXRpb24uaHJlZiksYT1fLkliKGJbMV0sYlsyXSxiWzNdLGJbNF0pK2EpO3JldHVybiBfLlRhKGEpfSxuZz0oYSxiLHtsbjpjPVtdLGNzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofT0Ke30pPT57YT1TcihhKTt4ZShhLGMpO3JldHVybiBVcihhLGIse2Nzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofSl9LG1nPShhLGIse21uOmM9W10sbG46ZD1bXSxjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a309e30pPT57YT1TcihhKTtvZShhLCJkIiwiMSIpO3dlKGEsYyk7eGUoYSxkKTtyZXR1cm4gVXIoYSxiLHtjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a30pfTt2YXIgVnI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnY9YTt0aGlzLkI9Yjt0aGlzLm89MDt0aGlzLmo9bnVsbH1nZXQoKXtpZih0aGlzLm8+MCl7dGhpcy5vLS07dmFyIGE9dGhpcy5qO3RoaXMuaj1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMudigpO3JldHVybiBhfX07dmFyIFdyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPXRoaXMuaj1udWxsfWFkZChhLGIpe3ZhciBjPXZmLmdldCgpO2Muc2V0KGEsYik7dGhpcy5vP3RoaXMuby5uZXh0PWM6dGhpcy5qPWM7dGhpcy5vPWN9cmVtb3ZlKCl7dmFyIGE9bnVsbDt0aGlzLmomJihhPXRoaXMuaix0aGlzLmo9dGhpcy5qLm5leHQsdGhpcy5qfHwodGhpcy5vPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX19LHZmPW5ldyBWcigoKT0+bmV3IFhyLGE9PmEucmVzZXQoKSksWHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLmZuPW51bGx9c2V0KGEsYil7dGhpcy5mbj1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH1yZXNldCgpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZm49bnVsbH19O3ZhciBZcix3Zj0hMSx1Zj1uZXcgV3IsR2Y9KGEsYik9PntZcnx8WnIoKTt3Znx8KFlyKCksd2Y9ITApO3VmLmFkZChhLGIpfSxacj0oKT0+e3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO1lyPSgpPT57YS50aGVuKHhmKX19O0NmLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuY29udGV4dD10aGlzLmo9dGhpcy5vPXRoaXMuY2hpbGQ9bnVsbDt0aGlzLnY9ITF9O3ZhciBEZj1uZXcgVnIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IENmfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtfLkJmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUWYodGhpcywoMCxfLnlnKSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSwoMCxfLnlnKSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy55ZihfLkJmKTtfLmc9Xy5CZi5wcm90b3R5cGU7Xy5nLmZpbmFsbHk9ZnVuY3Rpb24oYSl7YT0oMCxfLnlnKShhKTtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntLZih0aGlzLGQ9PnthKCk7YihkKX0sZD0+e2EoKTtjKGQpfSl9KX07Xy5nLktnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFFmKHRoaXMsbnVsbCwoMCxfLnlnKShhKSxiKX07Xy5nLmNhdGNoPV8uQmYucHJvdG90eXBlLktnOwpfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaj09MCl7bGV0IGI9bmV3IF8uUGYoYSk7R2YoZnVuY3Rpb24oKXtMZih0aGlzLGIpfSx0aGlzKX19O18uZy5uQj1mdW5jdGlvbihhKXt0aGlzLmo9MDtfLkFmKHRoaXMsMixhKX07Xy5nLm9CPWZ1bmN0aW9uKGEpe3RoaXMuaj0wO18uQWYodGhpcywzLGEpfTtfLmcudHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1NZih0aGlzKTspTmYodGhpcyxhLHRoaXMuaix0aGlzLkkpO3RoaXMuSz0hMX07Xy5VZj1fLiRiO18uSGEoXy5QZixfLkxhKTtfLlBmLnByb3RvdHlwZS5uYW1lPSJjYW5jZWwiO18uSGEoWGYsXy5MYSk7WGYucHJvdG90eXBlLm5hbWU9IlhockVycm9yIjtfLkhhKFlmLFhmKTtZZi5wcm90b3R5cGUubmFtZT0iWGhySHR0cEVycm9yIjtfLkhhKFpmLFhmKTtaZi5wcm90b3R5cGUubmFtZT0iWGhyVGltZW91dEVycm9yIjtfLmRoPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQ9ITEsZT0hMSl7dGhpcy5ZPXFlKF8uVWEoYSkudG9TdHJpbmcoKSwhMCk7dGhpcy5GYT1iO3RoaXMueWE9Yzt0aGlzLkQ9ZDt0aGlzLkI9e307dGhpcy5NPW5ldyBNYXA7dGhpcy5aPVtdO3RoaXMub2E9ITA7dGhpcy5oYT0oYT10ZSh0aGlzLlksImV4Y20iKSk/YS5zcGxpdCgiLCIpOltdO3RoaXMuVmQ9ZTt0aGlzLmZpPSExO3RoaXMuV2c9ImFub255bW91cyI7dGhpcy5kaT00MDQzO3RoaXMuZ2E9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMudj10aGlzLkk9bnVsbDt0aGlzLkViPSEwO0hlKCk7dGhpcy5YPW51bGw7Xy5hZyh0aGlzLHllKHRoaXMuWSkpO3RoaXMuZmV0Y2hQcmlvcml0eT12b2lkIDA7dGhpcy5NYT0hMTt0aGlzLlUoKX1hc3luYyBRYSgpe3Rocm93IEVycm9yKCJUIik7fVUoKXt9bG9hZChhLGIsYyxkLGU9Yil7Xy5VYShhKTt2YXIgZj10aGlzLmZpLGg9dGhpcy5XZyxrPXRoaXMuZmV0Y2hQcmlvcml0eSwKbD1fLkNkKCJTQ1JJUFQiKTtfLm9iKGwsYSk7ZiYmKGwuY3Jvc3NPcmlnaW49aCk7bC5hc3luYz0hMTtrJiZsLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsayk7Xy5hZyh0aGlzLGIpO18ucGcodGhpcyxhLGwsYixjLGQsZSl9fTt2YXIgcWc9bmV3IFVpbnQ4QXJyYXkoMTIzKSxLZz0hMTt2YXIgTGc9W107Xy5nPXRnLnByb3RvdHlwZTtfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuail0aGlzLnYgaW5zdGFuY2VvZiB0ZyYmdGhpcy52LmNhbmNlbCgpO2Vsc2V7aWYodGhpcy5vKXtsZXQgYj10aGlzLm87ZGVsZXRlIHRoaXMubzthP2IuY2FuY2VsKGEpOihiLlktLSxiLlk8PTAmJmIuY2FuY2VsKCkpfXRoaXMuWj90aGlzLlouY2FsbCh0aGlzLlUsdGhpcyk6dGhpcy5NPSEwO3RoaXMuanx8KGE9bmV3IEZnKHRoaXMpLHhnKHRoaXMpLHZnKHRoaXMsITEsYSkpfX07Xy5nLnNwPWZ1bmN0aW9uKGEsYil7dGhpcy5JPSExO3ZnKHRoaXMsYSxiKX07Xy5nLmNhbGxiYWNrPWZ1bmN0aW9uKGEpe3hnKHRoaXMpO3ZnKHRoaXMsITAsYSl9O18uZy5maW5hbGx5PWZ1bmN0aW9uKGEpe3JldHVybiBFZyhuZXcgUHJvbWlzZSgoYixjKT0+e3pnKHRoaXMsZD0+e2EoKTtiKGQpfSxkPT57YSgpO2MoZCl9KX0pKX07Cl8uZy50aGVuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9bmV3IF8uQmYoZnVuY3Rpb24oaCxrKXtlPWg7ZD1rfSk7emcodGhpcyxlLGZ1bmN0aW9uKGgpe2ggaW5zdGFuY2VvZiBGZz9mLmNhbmNlbCgpOmQoaCk7cmV0dXJuIENnfSx0aGlzKTtyZXR1cm4gZi50aGVuKGEsYixjKX07Xy55Zih0Zyk7dGcucHJvdG90eXBlLmlzRXJyb3I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcn07dmFyIENnPXt9O18uSGEod2csXy5MYSk7d2cucHJvdG90eXBlLm1lc3NhZ2U9IkRlZmVycmVkIGhhcyBhbHJlYWR5IGZpcmVkIjt3Zy5wcm90b3R5cGUubmFtZT0iQWxyZWFkeUNhbGxlZEVycm9yIjtfLkhhKEZnLF8uTGEpO0ZnLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCB3YXMgY2FuY2VsZWQiO0ZnLnByb3RvdHlwZS5uYW1lPSJDYW5jZWxlZEVycm9yIjsKRGcucHJvdG90eXBlLnRocm93RXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgQmdbdGhpcy5qXTt0aHJvdyB0aGlzLm87fTt2YXIgQmc9e307dmFyIEdnPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXtzdXBlcigpO3RoaXMubmFtZT0iTW9kdWxlTG9hZEZhaWx1cmUiO3RoaXMudHlwZT1hO3RoaXMuc3RhdHVzPWI7dGhpcy5tbj1jO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9dG9TdHJpbmcoKXtyZXR1cm5gJHtIZyh0aGlzKX0gKCR7dGhpcy5zdGF0dXMhPXZvaWQgMD90aGlzLnN0YXR1czoiPyJ9KWB9fTt2YS5vYj1HZzt2YS5vYi5UeXBlPXtwbzowLHBrOjEsVElNRU9VVDoyLGhvOjMsdWs6NH07Xy5IYShJZyxqZSk7Xy5IYShKZyxfLkxhKTtfLmc9SWcucHJvdG90eXBlO18uZy5Scj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9OwpfLmcuVGg9ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJZykpdGhpcy5UaChhLGIpO2Vsc2UgaWYodHlwZW9mIGE9PT0ic3RyaW5nIil7aWYoYS5zdGFydHNXaXRoKCJkJCIpKXthPWEuc3Vic3RyaW5nKDIpO2Zvcih2YXIgYz1bXSxkPTAsZT1hLmluZGV4T2YoIi8iKSxmPTAsaD0hMSxrPTA7Oyl7dmFyIGw9aD9hLnN1YnN0cmluZyhmKTphLnN1YnN0cmluZyhmLGUpO2lmKGwubGVuZ3RoPT09MClkKyssZj0ic3kiK2QudG9TdHJpbmcoMzYpLGw9W107ZWxzZXt2YXIgbT1sLmluZGV4T2YoIjoiKTtpZihtPDApZj1sLGw9W107ZWxzZSBpZihtPT09bC5sZW5ndGgtMSlmPWwuc3Vic3RyaW5nKDAsbSksbD1BcnJheShjW2stMV0pO2Vsc2V7Zj1sLnN1YnN0cmluZygwLG0pO2w9bC5zdWJzdHJpbmcobSsxKS5zcGxpdCgiLCIpO209aztmb3IobGV0IG49MDtuPGwubGVuZ3RoO24rKyltLT1sW25dLmxlbmd0aD09PTA/MTpOdW1iZXIobFtuXSksbFtuXT1jW21dfW09MDtpZihmLmxlbmd0aD09PQowKW09MTtlbHNlIGlmKGYuY2hhckF0KDApPT09IisifHxmLmNoYXJBdCgwKT09PSItIiltPU51bWJlcihmKTttIT09MCYmKGQrPW0sZj0ic3kiK2QudG9TdHJpbmcoMzYpKX1jLnB1c2goZik7TmcodGhpcyxmLGwpO2lmKGgpYnJlYWs7Zj1lKzE7ZT1hLmluZGV4T2YoIi8iLGYpO2U9PT0tMSYmKGg9ITApO2srK310aGlzLmhhPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpT2codGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7az1hW2RdLnNwbGl0KCI6Iik7ZT1rWzBdO2g9W107aWYoa1sxXSlmb3IoaD1rWzFdLnNwbGl0KCIsIiksaz0wO2s8aC5sZW5ndGg7aysrKWhba109Y1twYXJzZUludChoW2tdLDM2KV07Yy5wdXNoKGUpO05nKHRoaXMsZSxoKX10aGlzLmhhPWN9aWYoYiYmYi5sZW5ndGgpe2ZvcihsZXQgbiBvZiBiKXRoaXMuQi5hZGQobik7dGhpcy55YT1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCk7Ck9iamVjdC5mcmVlemUodGhpcy5oYSk7dGhpcy5vPT10aGlzLlomJih0aGlzLm89bnVsbCwoYj10aGlzLloub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLFJnKHRoaXMpKX19O18uZy5MYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ELmdldChhKX07Xy5nLm5pPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5MYShhKTtjJiZjLmlzTG9hZGVkKCk/dGhpcy5sb2FkKGIpOnRoaXMuaiBpbnN0YW5jZW9mIE1hcD8oYz10aGlzLmouZ2V0KGEpLGN8fChjPW5ldyBTZXQsdGhpcy5qLnNldChhLGMpKSxjLmFkZChiKSk6KHRoaXMualthXXx8KHRoaXMualthXT17fSksdGhpcy5qW2FdW2JdPSEwKX07Cl8uZy5BZz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuaiBpbnN0YW5jZW9mIE1hcCl7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5kZWxldGUoYiksYy5zaXplPT09MCYmdGhpcy5qLmRlbGV0ZShhKSl9ZWxzZSBpZih0aGlzLmpbYV0pe2RlbGV0ZSB0aGlzLmpbYV1bYl07Zm9yKGMgaW4gdGhpcy5qW2FdKXJldHVybjtkZWxldGUgdGhpcy5qW2FdfX07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQi5zaXplPjB9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkkuc2l6ZT4wfTsKXy5nLnNqPWZ1bmN0aW9uKGEsYj0wLGMpe3ZhciBkPVlnKHRoaXMsYSk7dGhpcy5CPW5ldyBTZXQoZCk7dGhpcy5LPXRoaXMub2E/YTpfLnliKGQpO1JnKHRoaXMpO2lmKGQubGVuZ3RoIT09MCl7Zm9yKGxldCBlIG9mIGQpdGhpcy5VLmFkZChlKTthPXRoaXMuWTtpZighYSl0aHJvdyBFcnJvcigiViIpO2lmKCh0aGlzLmogaW5zdGFuY2VvZiBNYXA/dGhpcy5qLnNpemU+MDpPYmplY3Qua2V5cyh0aGlzLmopLmxlbmd0aD4wKSYmIWEuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLF8ueWIoZCksdGhpcy5ELHtZZDp0aGlzLmosb25FcnJvcjooZSxmLGgpPT5iaCh0aGlzLHRoaXMuSyxkLGUhPW51bGw/ZTp2b2lkIDAsZixiLCEhaCksb25UaW1lb3V0OigwLF8uQ2EpKHRoaXMud3csdGhpcyksZm9yY2VSZWxvYWQ6ISFjfSl9fTt2YXIgV2c9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5vPW5ldyBTZXQ7dGhpcy5yZXN1bHQ9W119fTtfLmc9SWcucHJvdG90eXBlOwpfLmcueWU9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPXRoaXMuby5nZXRJZCgpLGI9W107aWYodGhpcy5qIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmouZ2V0KGEpO2lmKGMpe2Zvcih2YXIgZCBvZiBBcnJheS5mcm9tKGMpKShjPXRoaXMuTGEoZCkpJiYhYy5pc0xvYWRlZCgpJiYodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpKGQ9dGhpcy5MYShjKSkmJiFkLmlzTG9hZGVkKCkmJih0aGlzLkFnKGEsYyksYi5wdXNoKGMpKTt0aGlzLmFmKGIpfXRoaXMuaWEoKXx8KChiPXRoaXMuRC5nZXQoYSkub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLHRoaXMuSS5kZWxldGUoYSksdGhpcy5CLmRlbGV0ZShhKSx0aGlzLkIuc2l6ZSE9PTB8fAphaCh0aGlzKSx0aGlzLnlhJiZhPT10aGlzLnlhJiYodGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCkpLFJnKHRoaXMpLHRoaXMubz1udWxsKX19O18uZy51aD1mdW5jdGlvbihhKXtpZih0aGlzLkIuaGFzKGEpKXJldHVybiEwO2ZvcihsZXQgYj0wO2I8dGhpcy52Lmxlbmd0aDtiKyspaWYoXy5zYih0aGlzLnZbYl0sYSk+PTApcmV0dXJuITA7cmV0dXJuITF9O18uZy5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRnKHRoaXMsW2FdLGIpW2FdfTtfLmcuYWY9ZnVuY3Rpb24oYSl7cmV0dXJuIFRnKHRoaXMsYSl9OwpfLmcuUm89ZnVuY3Rpb24oYSl7dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIj8odGhpcy55ZSgpLHRoaXMuRC5kZWxldGUoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiKSk6dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKTt2YXIgYj10aGlzLkQuZ2V0KGEpO2ImJmNoKHRoaXMsYi5qfHxbXSxjPT57Yy55ZSgpO3RoaXMuQi5kZWxldGUoYy5nZXRJZCgpKX0sYz0+IWMuaXNMb2FkZWQoKSxuZXcgU2V0KTtpZih0aGlzLm89dGhpcy5MYShhKSl0aGlzLm8uST0hMH07Xy5nLmVuPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLm8pe2xldCBiPW5ldyB2YS5PZyhbXSwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIpO3RoaXMuRC5zZXQoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiLGIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX07Xy5nLnd3PWZ1bmN0aW9uKCl7Wy4uLnRoaXMuQl07JGcodGhpcyxuZXcgdmEub2IodmEub2IuVHlwZS5USU1FT1VUKSk7YWgodGhpcyl9OwpfLmcuWm49ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpfHwoYT1bYV0pO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgYz1hW2VdLGQ9YjtsZXQgZj10aGlzLk0uZ2V0KGMpO2Y/Zi5wdXNoKGQpOnRoaXMuTS5zZXQoYyxbZF0pfX07Xy5nLmRpc3Bvc2U9ZnVuY3Rpb24oKXtfLiRkKEFycmF5LmZyb20odGhpcy5ELnZhbHVlcygpKSx0aGlzLlopO3RoaXMuRC5jbGVhcigpO3RoaXMuQi5jbGVhcigpO3RoaXMuSz1bXTt0aGlzLkkuY2xlYXIoKTt0aGlzLnY9W107dGhpcy5NLmNsZWFyKCk7dGhpcy5GYT0hMH07Xy5nLmlhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRmF9O18uVGQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IElnfTt2YXIgbWg9WzVFMywyRTRdLCRyPWNsYXNzIGV4dGVuZHMgamV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj1uZXcgTWFwO3RoaXMuRD1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuQj0wO3RoaXMuSz1bXTt0aGlzLmo9QWU/bmV3IE1hcDpPYmplY3QuY3JlYXRlKG51bGwpO3RoaXMubz10aGlzLkxhKCJ7YmFzZX0iKX1UaCgpe3RoaXMubyYmdGhpcy5vLmdldElkKCk9PSJ7YmFzZX0iJiZ0aGlzLnllKCl9TGEoYSl7dmFyIGI9dGhpcy52LmdldChhKTtifHwoYj1uZXcgdmEuT2coW10sYSksdGhpcy52LnNldChhLGIpKTtyZXR1cm4gYn1uaShhLGIpe2lmKHRoaXMuTGEoYSkuaXNMb2FkZWQoKSl0aGlzLmxvYWQoYik7ZWxzZSBpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe2xldCBjPXRoaXMuai5nZXQoYSk7Y3x8KGM9bmV3IFNldCx0aGlzLmouc2V0KGEsYykpO2MuYWRkKGIpfWVsc2UgdGhpcy5qW2FdfHwodGhpcy5qW2FdPXt9KSx0aGlzLmpbYV1bYl09ITB9QWcoYSxiKXtpZih0aGlzLmogaW5zdGFuY2VvZgpNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMuZGVsZXRlKGIpLGMuc2l6ZT09PTAmJnRoaXMuai5kZWxldGUoYSkpfWVsc2UgaWYodGhpcy5qW2FdKXtkZWxldGUgdGhpcy5qW2FdW2JdO2ZvcihjIGluIHRoaXMualthXSlyZXR1cm47ZGVsZXRlIHRoaXMualthXX19dWgoYSl7cmV0dXJuISF0aGlzLkRbYV19bG9hZChhKXtpaCh0aGlzLFthXSk7cmV0dXJuIGpoKHRoaXMsYSl9YWYoYSl7dmFyIGI9T2JqZWN0LmNyZWF0ZShudWxsKSxjPVtdO2EuZm9yRWFjaChkPT57YltkXXx8KGJbZF09amgodGhpcyxkKSxjLnB1c2goZCkpfSk7aWgodGhpcyxjKTtyZXR1cm4gYn1SbyhhKXt0aGlzLm8/LmdldElkKCk9PT0ic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCImJnRoaXMueWUoKTt2YXIgYj10aGlzLnYuZ2V0KGEpO2toKHRoaXMsYj8uc3QoKT8/W10sYz0+Yy55ZSgpLGM9PiFjLmlzTG9hZGVkKCkpO3RoaXMubz10aGlzLkxhKGEpfXllKCl7aWYodGhpcy5vKXt2YXIgYT10aGlzLm8uZ2V0SWQoKSwKYj1bXTtpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7aWYoYyl7Zm9yKGxldCBkIG9mIEFycmF5LmZyb20oYykpdGhpcy5MYShkKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpdGhpcy5MYShjKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGMpLGIucHVzaChjKSk7dGhpcy5hZihiKX10aGlzLm8ub25Mb2FkKCgpPT5udWxsKTt0aGlzLm89bnVsbDsoIXRoaXMudWgoYSkmJi9ec3lbMC05YS16XXswLDR9JC8udGVzdChhKXx8YT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikmJnRoaXMudi5kZWxldGUoYSk7bGgodGhpcyxhKX19ZW4oYSl7aWYoIXRoaXMubyl7bGV0IGI9bmV3IHZhLk9nKFtdLCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIik7dGhpcy52LnNldCgic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIsCmIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX19O3ZhciBraj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLmo9LTF9c2V0KGEsYj0hMCl7MDw9YSYmYTw1MiYmTnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5kYXRhW2FdIT09YiYmKHRoaXMuZGF0YVthXT1iLHRoaXMuaj0tMSl9Z2V0KGEpe3JldHVybiEhdGhpcy5kYXRhW2FdfX07Xy5vaC5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBfLmFzfTtfLmFzPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07Xy5vaC5wcm90b3R5cGUuYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIHBoPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hfWJkKCl7cmV0dXJuIG5ldyBxaCh0aGlzLm8oKSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubygpKX1qKCl7cmV0dXJuIG5ldyByaCh0aGlzLm8oKSl9fSxxaD1jbGFzcyBleHRlbmRzIF8ub2h7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm89YX1uZXh0KCl7cmV0dXJuIHRoaXMuby5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubyl9aigpe3JldHVybiBuZXcgcmgodGhpcy5vKX19LHJoPWNsYXNzIGV4dGVuZHMgcGh7Y29uc3RydWN0b3IoYSl7c3VwZXIoKCk9PmEpO3RoaXMudj1hfW5leHQoKXtyZXR1cm4gdGhpcy52Lm5leHQoKX19O3ZhciBicz1fLnUuSlNPTi5zdHJpbmdpZnk7Xy5jcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoYSxiKT0+e3RoaXMucmVzb2x2ZT1hO3RoaXMucmVqZWN0PWJ9KX19O18uSGEoXy50aCxfLmFlKTtfLmc9Xy50aC5wcm90b3R5cGU7Xy5nLnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5vW2FdO2R8fChkPXRoaXMub1thXT1bXSk7dmFyIGU9dGhpcy5EO3RoaXMualtlXT1hO3RoaXMualtlKzFdPWI7dGhpcy5qW2UrMl09Yzt0aGlzLkQ9ZSszO2QucHVzaChlKTtyZXR1cm4gZX07Xy5nLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXtpZihhPXRoaXMub1thXSl7bGV0IGQ9dGhpcy5qO2lmKGE9YS5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBkW2UrMV09PWImJmRbZSsyXT09Y30pKXJldHVybiB0aGlzLmNpKGEpfXJldHVybiExfTtfLmcuY2k9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5qW2FdO2lmKGIpe2xldCBjPXRoaXMub1tiXTt0aGlzLkIhPTA/KHRoaXMudi5wdXNoKGEpLHRoaXMualthKzFdPSgpPT57fSk6KGMmJl8ueGIoYyxhKSxkZWxldGUgdGhpcy5qW2FdLGRlbGV0ZSB0aGlzLmpbYSsxXSxkZWxldGUgdGhpcy5qW2ErMl0pfXJldHVybiEhYn07Cl8uZy5wdWJsaXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5vW2FdO2lmKGMpe2xldCBlPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7dmFyIGQ9YXJndW1lbnRzLmxlbmd0aDtsZXQgZjtmb3IoZj0xO2Y8ZDtmKyspZVtmLTFdPWFyZ3VtZW50c1tmXTtpZih0aGlzLkkpZm9yKGY9MDtmPGMubGVuZ3RoO2YrKylkPWNbZl0sdWgodGhpcy5qW2QrMV0sdGhpcy5qW2QrMl0sZSk7ZWxzZXt0aGlzLkIrKzt0cnl7Zm9yKGY9MCxkPWMubGVuZ3RoO2Y8ZCYmIXRoaXMuaWEoKTtmKyspe2xldCBoPWNbZl07dGhpcy5qW2grMV0uYXBwbHkodGhpcy5qW2grMl0sZSl9fWZpbmFsbHl7aWYodGhpcy5CLS0sdGhpcy52Lmxlbmd0aD4wJiZ0aGlzLkI9PTApZm9yKDtjPXRoaXMudi5wb3AoKTspdGhpcy5jaShjKX19cmV0dXJuIGYhPTB9cmV0dXJuITF9OwpfLmcuY2xlYXI9ZnVuY3Rpb24oYSl7aWYoYSl7bGV0IGI9dGhpcy5vW2FdO2ImJihiLmZvckVhY2godGhpcy5jaSx0aGlzKSxkZWxldGUgdGhpcy5vW2FdKX1lbHNlIHRoaXMuai5sZW5ndGg9MCx0aGlzLm89e319O18uZy5sYT1mdW5jdGlvbigpe18udGguemIubGEuY2FsbCh0aGlzKTt0aGlzLmNsZWFyKCk7dGhpcy52Lmxlbmd0aD0wfTt2aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMD90aGlzLmoucmVtb3ZlKGEpOnRoaXMuai5zZXQoYSxicyhiKSl9O3ZoLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dHJ5e3ZhciBiPXRoaXMuai5nZXQoYSl9Y2F0Y2goYyl7cmV0dXJufWlmKGIhPT1udWxsKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShiKX1jYXRjaChjKXt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fX07dmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLmoucmVtb3ZlKGEpfTtfLkhhKHdoLHZoKTt3aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7d2guemIuc2V0LmNhbGwodGhpcyxhLHloKGIpKX07d2gucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7YT13aC56Yi5nZXQuY2FsbCh0aGlzLGEpO2lmKGE9PT12b2lkIDB8fGEgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIGE7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO307d2gucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtpZihhPXRoaXMubyhhKSl7aWYoYT1hLmRhdGEsYT09PXZvaWQgMCl0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fWVsc2UgYT12b2lkIDA7cmV0dXJuIGF9O18uSGEoXy56aCx3aCk7Xy56aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXtpZihiPXloKGIpKXtpZihjKXtpZihjPF8uRWEoKSl7Xy56aC5wcm90b3R5cGUucmVtb3ZlLmNhbGwodGhpcyxhKTtyZXR1cm59Yi5leHBpcmF0aW9uPWN9Yi5jcmVhdGlvbj1fLkVhKCl9Xy56aC56Yi5zZXQuY2FsbCh0aGlzLGEsYil9O18uemgucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy56aC56Yi5vLmNhbGwodGhpcyxhKTtpZihiKXtsZXQgYz1iLmNyZWF0aW9uLGQ9Yi5leHBpcmF0aW9uO2lmKGQmJmQ8Xy5FYSgpfHxjJiZjPl8uRWEoKSlfLnpoLnByb3RvdHlwZS5yZW1vdmUuY2FsbCh0aGlzLGEpO2Vsc2UgcmV0dXJuIGJ9fTtfLkhhKEJoLEFoKTtCaC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITApKS5qKCl9O0JoLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBiIG9mIGEpdGhpcy5yZW1vdmUoYil9O18uSGEoQ2gsQmgpO18uZz1DaC5wcm90b3R5cGU7Xy5nLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5vPT09bnVsbCl7dmFyIGE9dGhpcy5qO2lmKGEpdHJ5e2Euc2V0SXRlbSgiX19zYWsiLCIxIik7YS5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBiPSEwfWNhdGNoKGMpe2I9YyBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKGMubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxjLmNvZGU9PT0yMnx8Yy5jb2RlPT09MTAxNHx8Yy5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJmEmJmEubGVuZ3RoIT09MH1lbHNlIGI9ITE7dGhpcy5vPWJ9cmV0dXJuIHRoaXMub307Cl8uZy5zZXQ9ZnVuY3Rpb24oYSxiKXtEaCh0aGlzKTt0cnl7dGhpcy5qLnNldEl0ZW0oYSxiKX1jYXRjaChjKXtpZih0aGlzLmoubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319O18uZy5nZXQ9ZnVuY3Rpb24oYSl7RGgodGhpcyk7YT10aGlzLmouZ2V0SXRlbShhKTtpZih0eXBlb2YgYSE9PSJzdHJpbmciJiZhIT09bnVsbCl0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybiBhfTtfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3RoaXMuai5yZW1vdmVJdGVtKGEpfTsKXy5nLmJkPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3ZhciBiPTAsYz10aGlzLmosZD1uZXcgXy5vaDtkLm5leHQ9ZnVuY3Rpb24oKXtpZihiPj1jLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZT1jLmtleShiKyspO2lmKGEpcmV0dXJue3ZhbHVlOmUsZG9uZTohMX07ZT1jLmdldEl0ZW0oZSk7aWYodHlwZW9mIGUhPT0ic3RyaW5nIil0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybnt2YWx1ZTplLGRvbmU6ITF9fTtyZXR1cm4gZH07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7RGgodGhpcyk7dGhpcy5qLmNsZWFyKCl9O18uZy5rZXk9ZnVuY3Rpb24oYSl7RGgodGhpcyk7cmV0dXJuIHRoaXMuai5rZXkoYSl9O18uSGEoRWgsQ2gpO18uSGEoRmgsQmgpO0ZoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm8uc2V0KHRoaXMuaithLGIpfTtGaC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm8uZ2V0KHRoaXMuaithKX07RmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLm8ucmVtb3ZlKHRoaXMuaithKX07RmgucHJvdG90eXBlLmJkPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub1tTeW1ib2wuaXRlcmF0b3JdKCksYz10aGlzLGQ9bmV3IF8ub2g7ZC5uZXh0PWZ1bmN0aW9uKCl7dmFyIGU9Yi5uZXh0KCk7aWYoZS5kb25lKXJldHVybiBlO2ZvcihlPWUudmFsdWU7ZS5zbGljZSgwLGMuai5sZW5ndGgpIT1jLmo7KXtlPWIubmV4dCgpO2lmKGUuZG9uZSlyZXR1cm4gZTtlPWUudmFsdWV9cmV0dXJue3ZhbHVlOmE/ZS5zbGljZShjLmoubGVuZ3RoKTpjLm8uZ2V0KGUpLGRvbmU6ITF9fTtyZXR1cm4gZH07dmFyIEhoPXt9LGRzPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MTZBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO0hoLmFzc2lnbj1mdW5jdGlvbihhKXtmb3IodmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2IubGVuZ3RoOyl7dmFyIGM9Yi5zaGlmdCgpO2lmKGMpe2lmKHR5cGVvZiBjIT09Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiYmFgIitjKTtmb3IodmFyIGQgaW4gYylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxkKSYmKGFbZF09Y1tkXSl9fXJldHVybiBhfTtIaC53bj1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09YilyZXR1cm4gYTtpZihhLnN1YmFycmF5KXJldHVybiBhLnN1YmFycmF5KDAsYik7YS5sZW5ndGg9YjtyZXR1cm4gYX07CnZhciBlcz17d2Y6ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiLnN1YmFycmF5JiZhLnN1YmFycmF5KWEuc2V0KGIuc3ViYXJyYXkoYyxjK2QpLGUpO2Vsc2UgZm9yKHZhciBmPTA7ZjxkO2YrKylhW2UrZl09YltjK2ZdfSxNcDpmdW5jdGlvbihhKXt2YXIgYixjO3ZhciBkPWM9MDtmb3IoYj1hLmxlbmd0aDtkPGI7ZCsrKWMrPWFbZF0ubGVuZ3RoO3ZhciBlPW5ldyBVaW50OEFycmF5KGMpO2Q9Yz0wO2ZvcihiPWEubGVuZ3RoO2Q8YjtkKyspe3ZhciBmPWFbZF07ZS5zZXQoZixjKTtjKz1mLmxlbmd0aH1yZXR1cm4gZX19LGdzPXt3ZjpmdW5jdGlvbihhLGIsYyxkLGUpe2Zvcih2YXIgZj0wO2Y8ZDtmKyspYVtlK2ZdPWJbYytmXX0sTXA6ZnVuY3Rpb24oYSl7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLGEpfX07CkhoLmpBPWZ1bmN0aW9uKCl7ZHM/KEhoLnRmPVVpbnQ4QXJyYXksSGguWWM9VWludDE2QXJyYXksSGguUXM9SW50MzJBcnJheSxIaC5hc3NpZ24oSGgsZXMpKTooSGgudGY9QXJyYXksSGguWWM9QXJyYXksSGguUXM9QXJyYXksSGguYXNzaWduKEhoLGdzKSl9O0hoLmpBKCk7dmFyIGhzPSEwO3RyeXtuZXcgVWludDhBcnJheSgxKX1jYXRjaChhKXtocz0hMX07dmFyIHRpPXt9O3RpPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEmNjU1MzV8MDthPWE+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgZjtjIT09MDspe2Y9Yz4yRTM/MkUzOmM7Yy09ZjtkbyBlPWUrYltkKytdfDAsYT1hK2V8MDt3aGlsZSgtLWYpO2UlPTY1NTIxO2ElPTY1NTIxfXJldHVybiBlfGE8PDE2fDB9O2Zvcih2YXIgdWk9e30saXMsanM9W10sa3M9MDtrczwyNTY7a3MrKyl7aXM9a3M7Zm9yKHZhciBscz0wO2xzPDg7bHMrKylpcz1pcyYxPzM5ODgyOTIzODReaXM+Pj4xOmlzPj4+MTtqc1trc109aXN9dWk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kK2M7Zm9yKGFePS0xO2Q8YztkKyspYT1hPj4+OF5qc1soYV5iW2RdKSYyNTVdO3JldHVybiBhXi0xfTt2YXIgaWk9e307aWk9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgWGg9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sJGg9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLEtpPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMyw3XSxtaT1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0sbmk9QXJyYXkoNTc2KTtKaChuaSk7dmFyIG9pPUFycmF5KDYwKTtKaChvaSk7dmFyIFpoPUFycmF5KDUxMik7SmgoWmgpO3ZhciBXaD1BcnJheSgyNTYpO0poKFdoKTt2YXIgWWg9QXJyYXkoMjkpO0poKFloKTt2YXIgYmk9QXJyYXkoMzApO0poKGJpKTt2YXIgSGksSWksSmksR2k9ITE7dmFyIENpOwpDaT1bbmV3IEFpKDAsMCwwLDAsZnVuY3Rpb24oYSxiKXt2YXIgYz02NTUzNTtmb3IoYz5hLm5jLTUmJihjPWEubmMtNSk7Oyl7aWYoYS5kYTw9MSl7dmkoYSk7aWYoYS5kYT09PTAmJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWEuVis9YS5kYTthLmRhPTA7dmFyIGQ9YS5VYitjO2lmKGEuVj09PTB8fGEuVj49ZClpZihhLmRhPWEuVi1kLGEuVj1kLHBpKGEsITEpLGEud2EuemE9PT0wKXJldHVybiAxO2lmKGEuVi1hLlViPj1hLkJiLTI2MiYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1hLnJiPTA7aWYoYj09PTQpcmV0dXJuIHBpKGEsITApLGEud2EuemE9PT0wPzM6NDthLlY+YS5VYiYmcGkoYSwhMSk7cmV0dXJuIDF9KSxuZXcgQWkoNCw0LDgsNCx3aSksbmV3IEFpKDQsNSwxNiw4LHdpKSxuZXcgQWkoNCw2LDMyLDMyLHdpKSxuZXcgQWkoNCw0LDE2LDE2LHhpKSxuZXcgQWkoOCwxNiwzMiwzMix4aSksbmV3IEFpKDgsMTYsMTI4LDEyOCx4aSksbmV3IEFpKDgsCjMyLDEyOCwyNTYseGkpLG5ldyBBaSgzMiwxMjgsMjU4LDEwMjQseGkpLG5ldyBBaSgzMiwyNTgsMjU4LDQwOTYseGkpXTt2YXIgRmk9e307Rmk9ZnVuY3Rpb24oKXt0aGlzLmlucHV0PW51bGw7dGhpcy5xZj10aGlzLkRiPXRoaXMuZmY9MDt0aGlzLm91dHB1dD1udWxsO3RoaXMuRW49dGhpcy56YT10aGlzLnFnPTA7dGhpcy5tc2c9IiI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuaWw9Mjt0aGlzLnNhPTB9O3ZhciBMaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwpFaS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMud2EsZD10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7dmFyIGU9Yj09PX5+Yj9iOmI9PT0hMD80OjA7dHlwZW9mIGE9PT0ic3RyaW5nIj9jLmlucHV0PUloKGEpOkxpLmNhbGwoYSk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2MuaW5wdXQ9bmV3IFVpbnQ4QXJyYXkoYSk6Yy5pbnB1dD1hO2MuZmY9MDtjLkRiPWMuaW5wdXQubGVuZ3RoO2Rve2MuemE9PT0wJiYoYy5vdXRwdXQ9bmV3IEhoLnRmKGQpLGMucWc9MCxjLnphPWQpO2E9RGkoYyxlKTtpZihhIT09MSYmYSE9PTApcmV0dXJuIE1pKHRoaXMsYSksdGhpcy5lbmRlZD0hMCwhMTtpZihjLnphPT09MHx8Yy5EYj09PTAmJihlPT09NHx8ZT09PTIpKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXt2YXIgZj1IaC53bihjLm91dHB1dCxjLnFnKTtiPWY7Zj1mLmxlbmd0aDtpZihmPDY1NTM3JiYoYi5zdWJhcnJheSYmCmhzfHwhYi5zdWJhcnJheSkpYj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsSGgud24oYixmKSk7ZWxzZXtmb3IodmFyIGg9IiIsaz0wO2s8ZjtrKyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShiW2tdKTtiPWh9dGhpcy5jaHVua3MucHVzaChiKX1lbHNlIGI9SGgud24oYy5vdXRwdXQsYy5xZyksdGhpcy5jaHVua3MucHVzaChiKX13aGlsZSgoYy5EYj4wfHxjLnphPT09MCkmJmEhPT0xKTtpZihlPT09NClyZXR1cm4oYz10aGlzLndhKSYmYy5zdGF0ZT8oZD1jLnN0YXRlLnN0YXR1cyxkIT09NDImJmQhPT02OSYmZCE9PTczJiZkIT09OTEmJmQhPT0xMDMmJmQhPT0xMTMmJmQhPT02NjY/YT1qaShjLC0yKTooYy5zdGF0ZT1udWxsLGE9ZD09PTExMz9qaShjLC0zKTowKSk6YT0tMixNaSh0aGlzLGEpLHRoaXMuZW5kZWQ9ITAsYT09PTA7ZT09PTImJihNaSh0aGlzLDApLGMuemE9MCk7cmV0dXJuITB9O18uST1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX19O3ZhciB4cD1uZXcgXy5JKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgd3A9bmV3IF8uSSgicmF3SG90Q29uZmlnR3JvdXAiKTt2YXIgbXM7bXM9Xy51LndpbmRvdztfLlBpPW1zPy55dD8uY29uZmlnX3x8bXM/Lnl0Y2ZnPy5kYXRhX3x8e307Xy5yYSgieXQuY29uZmlnXyIsXy5QaSk7dmFyIFNpPVtdO3ZhciBnaj0vXltcdy5dKiQvLCRpPXtxOiEwLHNlYXJjaF9xdWVyeTohMH0sWmk9U3RyaW5nKFlpKTt2YXIgaGo9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtfLnJhKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24oYSl7cmV0dXJuIGFqKF8ubGooYSkpfSk7Xy5FYSgpO25hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiIChDcktleSAiKTt2YXIgcXM7cXM9MDtfLnJzPV8uY3I/IndlYmtpdCI6YnI/Im1veiI6YXI/Im1zIjokcT8ibyI6IiI7Xy5yYSgieXREb21Eb21HZXROZXh0SWQiLF8uc2EoInl0RG9tRG9tR2V0TmV4dElkIil8fCgoKT0+KytxcykpO18uc3M9Xy51Lnl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzfHx7fTtfLnJhKCJ5dEV2ZW50c0V2ZW50c0xpc3RlbmVycyIsXy5zcyk7Xy50cz1fLnUueXRFdmVudHNFdmVudHNDb3VudGVyfHx7Y291bnQ6MH07Xy5yYSgieXRFdmVudHNFdmVudHNDb3VudGVyIixfLnRzKTtfLnVzPWhkKGZ1bmN0aW9uKCl7dmFyIGE9ITE7dHJ5e2xldCBiPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiY2FwdHVyZSIse2dldDpmdW5jdGlvbigpe2E9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsYil9Y2F0Y2goYil7fXJldHVybiBhfSk7dmFyIHZzO3ZzPXdpbmRvdztfLmVsPXZzLnl0Y3NpJiZ2cy55dGNzaS5ub3c/dnMueXRjc2kubm93OnZzLnBlcmZvcm1hbmNlJiZ2cy5wZXJmb3JtYW5jZS50aW1pbmcmJnZzLnBlcmZvcm1hbmNlLm5vdyYmdnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD8oKT0+dnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCt2cy5wZXJmb3JtYW5jZS5ub3coKTooKT0+KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIG5qPSJYTUxIdHRwUmVxdWVzdCJpbiBfLnU/KCk9Pm5ldyBYTUxIdHRwUmVxdWVzdDpudWxsO3ZhciB3cz0iYWJzb2x1dGVfZXhwZXJpbWVudHMgY2xpZW50X2Rldl9kb21haW4gY2xpZW50X2Rldl9leHBmbGFnIGNsaWVudF9kZXZfcmVnZXhfbWFwIGNsaWVudF9kZXZfcm9vdF91cmwgY2xpZW50X3JvbGxvdXRfb3ZlcnJpZGUgZXhwZmxhZyBmb3JjZWRDYXBhYmlsaXR5IGpzZmVhdCBqc21vZGUgbW9kcyB0aGVtZSIuc3BsaXQoIiAiKTtbLi4ud3NdO3ZhciB5aj17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxLaj1bImFwcCIsImRlYnVnY3NzIiwiZGVidWdqcyIsImV4cGZsYWciLCJmb3JjZV9hZF9wYXJhbXMiLCJmb3JjZV9hZF9lbmNyeXB0ZWQiLCJmb3JjZV92aXJhbF9hZF9yZXNwb25zZV9wYXJhbXMiLCJmb3JjZWRfZXhwZXJpbWVudHMiLCJpbm5lcnR1YmVfc25hcHNob3RzIiwiaW5uZXJ0dWJlX2dvbGRlbnMiLCJpbnRlcm5hbGNvdW50cnljb2RlIiwiaW50ZXJuYWxpcG92ZXJyaWRlIiwiYWJzb2x1dGVfZXhwZXJpbWVudHMiLCJjb25kaXRpb25hbF9leHBlcmltZW50cyIsInNiYiIsInNyX2Juc19hZGRyZXNzIiwuLi53c10sR2o9ITEsRGo9eGo7Xy5ubT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuem49ITB9fTtfLnhzPV8uc2EoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIil8fHt9O18ucmEoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIixfLnhzKTt2YXIgUmo9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LFRqPXsic2xvdy0yZyI6IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfU0xPV18yRyIsIjJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8yRyIsIjNnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRyIsIjRnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV80RyJ9O18uWGo9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEpO3RoaXMuYXJncz1bLi4uYl07T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfX07dmFyIHlzPWNsYXNze3BiKGEsYil7cmV0dXJuIHRoaXMuR2EoYSwxLGIpfVUoYSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEltbWVkaWF0ZUpvYiIpO2I/YihhKTphKCl9fTt2YXIgenM9MUUzLzYwLEFzPV8uc2ooIndlYl9lbXVsYXRlZF9pZGxlX2NhbGxiYWNrX2RlbGF5IiwzMDApLGdrPXpzLTMsZGs9WzgsNSw0LDMsMiwxLDBdLGprPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLnY9e307dGhpcy5vYT10aGlzLmo9MDt0aGlzLnBhdXNlZD10aGlzLkQ9ITE7dGhpcy5nYT1bXTt0aGlzLmhhPXRoaXMueWE9ITE7Zm9yKGxldCBiIG9mIGRrKXRoaXMub1tiXT1bXTt0aGlzLkI9MDt0aGlzLmV5PWEudGltZW91dHx8MTt0aGlzLk09Z2s7dGhpcy5JPTA7dGhpcy5NYT10aGlzLml5LmJpbmQodGhpcyk7dGhpcy5neD10aGlzLnp5LmJpbmQodGhpcyk7dGhpcy5mYz10aGlzLkViLmJpbmQodGhpcyk7dGhpcy5WZD10aGlzLmh5LmJpbmQodGhpcyk7dGhpcy5GbD10aGlzLlFhLmJpbmQodGhpcyk7dGhpcy51dz0oKT0+e3RoaXMuUWEocGVyZm9ybWFuY2Uubm93KCkpfTt0aGlzLkZhPSEhd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2smJgohIXdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2smJiFfLngoImRpc2FibGVfc2NoZWR1bGVyX3JlcXVlc3RJZGxlQ2FsbGJhY2siKTsoKHRoaXMuWj1hLnVzZVJhZiE9PSExJiYhIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKX1VKGEpe3ZhciBiPV8uRWEoKTtaaih0aGlzLGEpO2E9Xy5FYSgpLWI7dGhpcy5EfHwodGhpcy5NLT1hKX1HYShhLGIsYyl7Kyt0aGlzLm9hO2lmKGI9PT0xMClyZXR1cm4gdGhpcy5VKGEpLHRoaXMub2E7dmFyIGQ9dGhpcy5vYTt0aGlzLnZbZF09YTt0aGlzLkQmJiFjP3RoaXMuZ2EucHVzaCh7aWQ6ZCxwcmlvcml0eTpifSk6KHRoaXMub1tiXS5wdXNoKGQpLHRoaXMucGF1c2VkfHx0aGlzLkR8fCh0aGlzLmohPT0wJiZiayh0aGlzKSE9PXRoaXMuSSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSk7CnJldHVybiBkfUFhKGEpe2RlbGV0ZSB0aGlzLnZbYV19aXNIaWRkZW4oKXtyZXR1cm4hIWRvY3VtZW50LmhpZGRlbnx8ITF9SmIoYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhKX1oeShhKXt2YXIgYj12b2lkIDA7YSYmKGI9YS50aW1lUmVtYWluaW5nKCkpO3RoaXMueWE9ITA7aGsodGhpcyxiKTt0aGlzLnlhPSExfXp5KCl7aGsodGhpcyl9RWIoKXtpayh0aGlzKX1RYShhKXt0aGlzLmhhPSEwO3ZhciBiPWJrKHRoaXMpO2I9PT00JiZiIT09dGhpcy5JJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTtoayh0aGlzLHZvaWQgMCxhKTt0aGlzLmhhPSExfWl5KCl7dGhpcy5pc0hpZGRlbigpfHxpayh0aGlzKTt0aGlzLmomJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpfXJlcXVlc3RJZGxlQ2FsbGJhY2soYSl7cmV0dXJuIHRoaXMuRmE/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soYSx7dGltZW91dDozRTN9KTp3aW5kb3cuc2V0VGltZW91dChhLApBcyl9Y2FuY2VsSWRsZUNhbGxiYWNrKGEpe3RoaXMuRmE/d2luZG93LmNhbmNlbElkbGVDYWxsYmFjayhhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfXN0YXJ0KCl7dGhpcy5wYXVzZWQ9ITE7aWYodGhpcy5qPT09MClzd2l0Y2godGhpcy5JPWJrKHRoaXMpLHRoaXMuSSl7Y2FzZSAxOnRoaXMuaj10aGlzLnJlcXVlc3RJZGxlQ2FsbGJhY2sodGhpcy5WZCk7YnJlYWs7Y2FzZSAyOnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLmd4LHRoaXMuZXkpO2JyZWFrO2Nhc2UgMzp0aGlzLmo9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLkZsKTticmVhaztjYXNlIDQ6dGhpcy5qPXdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZmMsMCk7YnJlYWs7Y2FzZSA1OnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLnV3LHpzKX19cGF1c2UoKXt0aGlzLnN0b3AoKTt0aGlzLnBhdXNlZD0hMH1zdG9wKCl7aWYodGhpcy5qKXtzd2l0Y2godGhpcy5JKXtjYXNlIDE6dGhpcy5jYW5jZWxJZGxlQ2FsbGJhY2sodGhpcy5qKTsKYnJlYWs7Y2FzZSA1OmNhc2UgMjpjYXNlIDQ6d2luZG93LmNsZWFyVGltZW91dCh0aGlzLmopO2JyZWFrO2Nhc2UgMzp3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5qKX10aGlzLmo9MH19bGEoKXtjayh0aGlzKTt0aGlzLnN0b3AoKTsodGhpcy5afHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKTtzdXBlci5sYSgpfX07dmFyIG5rPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS50aW1lcklkTWFwXyIpfHx7fSx1az1fLnNqKCJrZXZsYXJfdHVuZXJfc2NoZWR1bGVyX3NvZnRfc3RhdGVfdGltZXJfbXMiLDgwMCksdGs9MCx3az0wO3ZhciBCaztCaz1jbGFzcyBleHRlbmRzIHlze0dhKGEsYixjKXtjIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGMpKSYmKGM9dm9pZCAwKTt2YXIgZD1fLnNhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIik7cmV0dXJuIGQ/ZChhLGIsYyk6Yz09PXZvaWQgMD8oYSgpLE5hTik6Xy5taihhLGN8fDApfUFhKGEpe2lmKGE9PT12b2lkIDB8fCFOdW1iZXIuaXNOYU4oTnVtYmVyKGEpKSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEpvYiIpO2I/YihhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfX1zdGFydCgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zdGFydCIpO2EmJmEoKX1wYXVzZSgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5wYXVzZSIpO2EmJmEoKX19O18uamY9Xy5DaygpOwpfLnNhKCJ5dC5zY2hlZHVsZXIuaW5pdGlhbGl6ZWQiKXx8KF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5kaXNwb3NlIixtayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEpvYiIsb2spLF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5hZGRJbW1lZGlhdGVKb2IiLHBrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIixxayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEFsbEpvYnMiLGxrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc3RhcnQiLHJrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UucGF1c2UiLHZrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc2V0UHJpb3JpdHlUaHJlc2hvbGQiLHhrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuZW5hYmxlUHJpb3JpdHlUaHJlc2hvbGQiLHprKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2xlYXJQcmlvcml0eVRocmVzaG9sZCIsQWspLF8ucmEoInl0LnNjaGVkdWxlci5pbml0aWFsaXplZCIsCiEwKSk7Xy5lbj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9KGE9Xy5HaChhKSk/bmV3IF8uemgoYSk6bnVsbDt0aGlzLnY9ZG9jdW1lbnQuZG9tYWlufHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9bygpe3JldHVybiEhdGhpcy5qfXNldChhLGIsYyxkKXtjPWN8fDMxMTA0RTM7dGhpcy5yZW1vdmUoYSk7aWYodGhpcy5vKCkpdHJ5e3RoaXMuai5zZXQoYSxiLERhdGUubm93KCkrYyoxRTMpO3JldHVybn1jYXRjaChmKXt9dmFyIGU9IiI7aWYoZCl0cnl7ZT1lc2NhcGUoYnMoYikpfWNhdGNoKGYpe3JldHVybn1lbHNlIGU9ZXNjYXBlKGIpO18uTWooYSxlLGMsdGhpcy52KX1nZXQoYSxiKXt2YXIgYz12b2lkIDAsZD0hdGhpcy5vKCk7aWYoIWQpdHJ5e2M9dGhpcy5qLmdldChhKX1jYXRjaChlKXtkPSEwfWlmKGQmJihjPV8uTGouZ2V0KGEsdm9pZCAwKSkmJihjPXVuZXNjYXBlKGMpLGIpKXRyeXtjPUpTT04ucGFyc2UoYyl9Y2F0Y2goZSl7dGhpcy5yZW1vdmUoYSksYz12b2lkIDB9cmV0dXJuIGN9cmVtb3ZlKGEpe3RoaXMubygpJiYKdGhpcy5qLnJlbW92ZShhKTtfLk5qKGEsIi8iLHRoaXMudil9fTt2YXIgRGs9KCgpPT57dmFyIGE7cmV0dXJuKCk9PnthfHwoYT1uZXcgXy5lbigieXRpZGIiKSk7cmV0dXJuIGF9fSkoKTt2YXIgRms7Xy5Iaz1bXTtGaz0hMTtfLklsPV8uaHJ8fF8uaXI7dmFyIEJzPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LENzPXtBVVRIX0lOVkFMSUQ6IkVSUk9SIixFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQjoiV0FSTklORyIsRVhQTElDSVRfQUJPUlQ6IklHTk9SRUQiLElEQl9OT1RfU1VQUE9SVEVEOiJFUlJPUiIsTUlTU0lOR19JTkRFWDoiV0FSTklORyIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJFUlJPUiIsCkRCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IldBUk5JTkciLFFVT1RBX0VYQ0VFREVEOiJXQVJOSU5HIixRVU9UQV9NQVlCRV9FWENFRURFRDoiV0FSTklORyIsVU5LTk9XTl9BQk9SVDoiV0FSTklORyIsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046IldBUk5JTkcifSxEcz17QVVUSF9JTlZBTElEOiExLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiExLEVYUExJQ0lUX0FCT1JUOiExLElEQl9OT1RfU1VQUE9SVEVEOiExLE1JU1NJTkdfSU5ERVg6ITEsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX1JFT1BFTkVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzohMSxRVU9UQV9FWENFRURFRDohMSxRVU9UQV9NQVlCRV9FWENFRURFRDohMCxVTktOT1dOX0FCT1JUOiEwLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiExfSwKTms9Y2xhc3MgZXh0ZW5kcyBfLlhqe2NvbnN0cnVjdG9yKGEsYj17fSxjPUJzW2FdLGQ9Q3NbYV0sZT1Ec1thXSl7c3VwZXIoYyx7bmFtZToiWXRJZGJLbm93bkVycm9yIixpc1N3OnNlbGYuZG9jdW1lbnQ9PT12b2lkIDAsaXNJZnJhbWU6c2VsZiE9PXNlbGYudG9wLHR5cGU6YSwuLi5ifSk7dGhpcy50eXBlPWE7dGhpcy5tZXNzYWdlPWM7dGhpcy5sZXZlbD1kO3RoaXMuaj1lO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLE5rLnByb3RvdHlwZSl9fSxFcz1jbGFzcyBleHRlbmRzIE5re2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOmIsZm91bmRPYmplY3RTdG9yZXM6YX0sQnMuTUlTU0lOR19PQkpFQ1RfU1RPUkVTKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxFcy5wcm90b3R5cGUpfX0sUGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5pbmRleD1hO3RoaXMub2JqZWN0U3RvcmU9CmI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUGsucHJvdG90eXBlKX19LFFrPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBhbDthbD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwpfLlZrPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuaj1bXTt0aGlzLm89W107YT1hLmo7dmFyIGI9ZD0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6ZH07Zm9yKGxldCBlIG9mIHRoaXMuaillKCl9fSxjPWQ9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIscmVhc29uOmR9O2ZvcihsZXQgZSBvZiB0aGlzLm8pZSgpfX07dHJ5e2EoYixjKX1jYXRjaChkKXtjKGQpfX1zdGF0aWMgYWxsKGEpe3JldHVybiBuZXcgXy5WayhuZXcgYWwoKGIsYyk9Pnt2YXIgZD1bXSxlPWEubGVuZ3RoO2U9PT0wJiZiKGQpO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7KytmKV8uVmsucmVzb2x2ZShhW2ZdKS50aGVuKGg9PntkW2ZdPWg7ZS0tO2U9PT0wJiZiKGQpfSkuY2F0Y2goaD0+e2MoaCl9KX0pKX1zdGF0aWMgcmVzb2x2ZShhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLApjKT0+e2EgaW5zdGFuY2VvZiBfLlZrP2EudGhlbihiLGMpOmIoYSl9KSl9c3RhdGljIHJlamVjdChhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLGMpPT57YyhhKX0pKX10aGVuKGEsYil7dmFyIGM9YT8/VWssZD1iPz9UaztyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChlLGYpPT57dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUEVORElORyI/KHRoaXMuai5wdXNoKCgpPT57WGsodGhpcyx0aGlzLGMsZSxmKX0pLHRoaXMuby5wdXNoKCgpPT57WWsodGhpcyx0aGlzLGQsZSxmKX0pKTp0aGlzLnN0YXRlLnN0YXR1cz09PSJGVUxGSUxMRUQiP1hrKHRoaXMsdGhpcyxjLGUsZik6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUkVKRUNURUQiJiZZayh0aGlzLHRoaXMsZCxlLGYpfSkpfWNhdGNoKGEpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGEpfX07dmFyIHhsPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vcHRpb25zPWI7dGhpcy50cmFuc2FjdGlvbkNvdW50PTA7dGhpcy52PU1hdGgucm91bmQoKDAsXy5lbCkoKSk7dGhpcy5vPSExfWFkZChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9PmQub2JqZWN0U3RvcmUoYSkuYWRkKGIsYykpfWNsZWFyKGEpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxiPT5iLm9iamVjdFN0b3JlKGEpLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5qLmNsb3NlKCk7dGhpcy5vcHRpb25zPy5jbG9zZWQmJnRoaXMub3B0aW9ucy5jbG9zZWQoKX1jb3VudChhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkb25seSIsa2I6ITAsY29tbWl0OmRsKCl9LGM9PmMub2JqZWN0U3RvcmUoYSkuY291bnQoYikpfWRlbGV0ZShhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLAprYjohMCxjb21taXQ6ZGwoKSYmIShiIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxjPT5jLm9iamVjdFN0b3JlKGEpLmRlbGV0ZShiKSl9Z2V0KGEsYil7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMCxjb21taXQ6ZGwoKX0sYz0+Yy5vYmplY3RTdG9yZShhKS5nZXQoYikpfWdldEFsbChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMH0sZD0+ZC5vYmplY3RTdG9yZShhKS5nZXRBbGwoYixjKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuai5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuai5uYW1lfX0samw9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YWRkKGEsYil7cmV0dXJuIGJsKHRoaXMuai5hZGQoYSxiKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLmouYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBibCh0aGlzLmouY2xlYXIoKSkudGhlbigoKT0+Cnt9KX1jb3VudChhKXtyZXR1cm4gYmwodGhpcy5qLmNvdW50KGEpKX1kZWxldGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJLZXlSYW5nZT9zbCh0aGlzLGEpOmJsKHRoaXMuai5kZWxldGUoYSkpfWdldChhKXtyZXR1cm4gYmwodGhpcy5qLmdldChhKSl9Z2V0QWxsKGEsYil7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/YmwodGhpcy5qLmdldEFsbChhLGIpKTp0bCh0aGlzLGEsYil9aW5kZXgoYSl7dHJ5e3JldHVybiBuZXcgRnModGhpcy5qLmluZGV4KGEpKX1jYXRjaChiKXtpZihiIGluc3RhbmNlb2YgRXJyb3ImJmIubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgUGsoYSx0aGlzLmoubmFtZSk7dGhyb3cgYjt9fWdldE5hbWUoKXtyZXR1cm4gdGhpcy5qLm5hbWV9a2V5UGF0aCgpe3JldHVybiB0aGlzLmoua2V5UGF0aH19LGZsPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubz1uZXcgTWFwO3RoaXMuYWJvcnRlZD0hMTsKdGhpcy5kb25lPW5ldyBQcm9taXNlKChiLGMpPT57dGhpcy5qLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e2IoKX0pO3RoaXMuai5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZD0+e2QuY3VycmVudFRhcmdldD09PWQudGFyZ2V0JiZjKHRoaXMuai5lcnJvcil9KTt0aGlzLmouYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGQ9dGhpcy5qLmVycm9yO2lmKGQpYyhkKTtlbHNlIGlmKCF0aGlzLmFib3J0ZWQpe2Q9Tms7dmFyIGU9dGhpcy5qLm9iamVjdFN0b3JlTmFtZXM7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDtoKyspe2xldCBrPWUuaXRlbShoKTtpZihrPT09bnVsbCl0aHJvdyBFcnJvcigibWEiKTtmLnB1c2goayl9ZD1uZXcgZCgiVU5LTk9XTl9BQk9SVCIse29iamVjdFN0b3JlTmFtZXM6Zi5qb2luKCksZGJOYW1lOnRoaXMuai5kYi5uYW1lLG1vZGU6dGhpcy5qLm1vZGV9KTtjKGQpfX0pfSl9YWJvcnQoKXt0aGlzLmouYWJvcnQoKTt0aGlzLmFib3J0ZWQ9CiEwO3Rocm93IG5ldyBOaygiRVhQTElDSVRfQUJPUlQiKTt9Y29tbWl0KCl7dGhpcy5hYm9ydGVkfHx0aGlzLmouY29tbWl0Py4oKX1vYmplY3RTdG9yZShhKXthPXRoaXMuai5vYmplY3RTdG9yZShhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2J8fChiPW5ldyBqbChhKSx0aGlzLm8uc2V0KGEsYikpO3JldHVybiBifX0sRnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Y291bnQoYSl7cmV0dXJuIGJsKHRoaXMuai5jb3VudChhKSl9ZGVsZXRlKGEpe3JldHVybiB1bCh0aGlzLHtxdWVyeTphfSxiPT5iLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGIpKSl9Z2V0KGEpe3JldHVybiBibCh0aGlzLmouZ2V0KGEpKX1nZXRBbGwoYSxiKXtyZXR1cm4iZ2V0QWxsImluIElEQkluZGV4LnByb3RvdHlwZT9ibCh0aGlzLmouZ2V0QWxsKGEsYikpOnZsKHRoaXMsYSxiKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuai5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLmoudW5pcXVlfX0sd2w9Y2xhc3N7Y29uc3RydWN0b3IoYSwKYil7dGhpcy5yZXF1ZXN0PWE7dGhpcy5jdXJzb3I9Yn1kZWxldGUoKXtyZXR1cm4gYmwodGhpcy5jdXJzb3IuZGVsZXRlKCkpLnRoZW4oKCk9Pnt9KX11cGRhdGUoYSl7cmV0dXJuIGJsKHRoaXMuY3Vyc29yLnVwZGF0ZShhKSl9fTt2YXIgR3M9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm5hbWU9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLnY9ITA7dGhpcy5EPXRoaXMuQj0wfW8oYSxiLGM9e30pe3JldHVybiB6bChhLGIsYyl9ZGVsZXRlKGE9e30pe3JldHVybiBfLkFsKHRoaXMubmFtZSxhKX1vcGVuKCl7aWYoIXRoaXMudil0aHJvdyBCbCh0aGlzKTtpZih0aGlzLmopcmV0dXJuIHRoaXMuajt2YXIgYSxiPSgpPT57dGhpcy5qPT09YSYmKHRoaXMuaj12b2lkIDApfSxjPXtibG9ja2luZzplPT57ZS5jbG9zZSgpfSxjbG9zZWQ6YixUQTpiLHVwZ3JhZGU6dGhpcy5vcHRpb25zLnVwZ3JhZGV9LGQ9YXN5bmMoKT0+e3ZhciBlPUVycm9yKCkuc3RhY2s/PyIiO3RyeXtsZXQgaz1hd2FpdCB0aGlzLm8odGhpcy5uYW1lLHRoaXMub3B0aW9ucy52ZXJzaW9uLGMpO3ZhciBmPWssaD10aGlzLm9wdGlvbnM7bGV0IGw9W107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGguc2UpKXtsZXQge1BkOm4seks6cD1OdW1iZXIuTUFYX1ZBTFVFfT0KaC5zZVttXTshKGYuai52ZXJzaW9uPj1uKXx8Zi5qLnZlcnNpb24+PXB8fGYuai5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKG0pfHxsLnB1c2gobSl9aWYobC5sZW5ndGghPT0wKXtsZXQgbT1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMuc2UpLG49ay5vYmplY3RTdG9yZU5hbWVzKCk7aWYodGhpcy5EPF8uc2ooInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIiwwKSlyZXR1cm4gdGhpcy5EKyssay5jbG9zZSgpLF8uSWsobmV3IE5rKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sZm91bmRPYmplY3RTdG9yZXM6bn0pKSxkKCk7aWYodGhpcy5CPF8uc2ooInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIiwxKSlyZXR1cm4gdGhpcy5CKyssYXdhaXQgdGhpcy5kZWxldGUoKSxfLklrKG5ldyBOaygiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sCmZvdW5kT2JqZWN0U3RvcmVzOm59KSksZCgpO3Rocm93IG5ldyBFcyhuLG0pO31yZXR1cm4ga31jYXRjaChrKXtpZihrIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP2submFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZrIGluc3RhbmNlb2YgRE9NRXJyb3I/ay5uYW1lPT09IlZlcnNpb25FcnJvciI6ayBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4gayYmay5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe2U9YXdhaXQgdGhpcy5vKHRoaXMubmFtZSx2b2lkIDAsey4uLmMsdXBncmFkZTp2b2lkIDB9KTtmPWUuai52ZXJzaW9uO2lmKHRoaXMub3B0aW9ucy52ZXJzaW9uIT09dm9pZCAwJiZmPnRoaXMub3B0aW9ucy52ZXJzaW9uKzEpdGhyb3cgZS5jbG9zZSgpLHRoaXMudj0hMSxCbCh0aGlzLGYpO3JldHVybiBlfWIoKTtrIGluc3RhbmNlb2YKRXJyb3ImJiFfLngoInl0aWRiX2FzeW5jX3N0YWNrX2tpbGxzd2l0Y2giKSYmKGsuc3RhY2s9YCR7ay5zdGFja31cbiR7ZS5zdWJzdHJpbmcoZS5pbmRleE9mKCJcbiIpKzEpfWApO3Rocm93IFJrKGssdGhpcy5uYW1lLCIiLHRoaXMub3B0aW9ucy52ZXJzaW9uPz8tMSk7fX07cmV0dXJuIHRoaXMuaj1hPWQoKX19O3ZhciBEbD1uZXcgR3MoIll0SWRiTWV0YSIse3NlOntkYXRhYmFzZXM6e1BkOjF9fSx1cGdyYWRlKGEsYil7YigxKSYmXy5rbChhLCJkYXRhYmFzZXMiLHtrZXlQYXRoOiJhY3R1YWxOYW1lIn0pfX0pO3ZhciBNbCxLbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fShuZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fSk7bmV3IF8uY3M7dmFyIFlsPWNsYXNzIGV4dGVuZHMgR3N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLGIpO3RoaXMub3B0aW9ucz1iO0trKGEpfW8oYSxiLGM9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP1RsOlNsKShhLGIsey4uLmN9KX1kZWxldGUoYT17fSl7cmV0dXJuKHRoaXMub3B0aW9ucy5zaGFyZWQ/WGw6VWwpKHRoaXMubmFtZSxhKX19O3ZhciBhbT1fLiRsKCJ5dEdjZkNvbmZpZyIse3NlOntjb2xkQ29uZmlnU3RvcmU6e1BkOjF9LGhvdENvbmZpZ1N0b3JlOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiYoXy5vbChfLmtsKGEsImhvdENvbmZpZ1N0b3JlIix7a2V5UGF0aDoia2V5IixhdXRvSW5jcmVtZW50OiEwfSksImhvdFRpbWVzdGFtcEluZGV4IiwidGltZXN0YW1wIiksXy5vbChfLmtsKGEsImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBIcz1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLmo9W107dmFyIGE9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RVcGRhdGVDYWxsYmFja3MiKTthPyh0aGlzLm89Wy4uLmFdLHRoaXMuaj1hKToodGhpcy5qPVtdLF8ucmEoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIix0aGlzLmopKX1sYSgpe2ZvcihsZXQgYiBvZiB0aGlzLm8pe3ZhciBhPXRoaXMuajtsZXQgYz1hLmluZGV4T2YoYik7Yz49MCYmYS5zcGxpY2UoYywxKX10aGlzLm8ubGVuZ3RoPTA7c3VwZXIubGEoKX19O3ZhciBpbT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj0wO3RoaXMubz1uZXcgSHN9d2ooKXtyZXR1cm4gXy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpPz9fLncoIlJBV19IT1RfQ09ORklHX0dST1VQIil9QihhKXt0aGlzLmhvdEhhc2hEYXRhPWE7Xy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIsdGhpcy5ob3RIYXNoRGF0YXx8bnVsbCl9fTt2YXIgSXM7SXM9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOm51bGw7Xy55bT1Jcz9hPT5Jcy5lbmNvZGUoYSk6YT0+e2E9Xy5hYyhhKTt2YXIgYj1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDtjKyspYltjXT1hW2NdO3JldHVybiBifTtfLnBtLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtfLnFtLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvcGljfTt2YXIgSnM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIil8fG5ldyBfLnRoO18udGgucHJvdG90eXBlLnN1YnNjcmliZT1fLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU7Xy50aC5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1fLnRoLnByb3RvdHlwZS5jaTtfLnRoLnByb3RvdHlwZS5wdWJsaXNoPV8udGgucHJvdG90eXBlLnB1Ymxpc2g7Xy50aC5wcm90b3R5cGUuY2xlYXI9Xy50aC5wcm90b3R5cGUuY2xlYXI7Xy5yYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixKcyk7Xy5Lcz1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Xy5yYSgieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixfLktzKTtfLkxzPV8uc2EoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLF8uTHMpO18uTXM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307Cl8ucmEoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixfLk1zKTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIsbnVsbCk7dmFyIHptO18ud209Xy5zaigibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KTtfLnhtPV8uc2ooIm1pbl9ib2R5X3NpemVfdG9fY29tcHJlc3MiLDUwMCk7em09MDt2YXIgTnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy54aT10aGlzLk9jPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuaj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9O3RoaXMuVGY9KCk9Pnt9O3RoaXMubm93PURhdGUubm93O3RoaXMuYWg9ITE7dGhpcy5ncz1hLmdzPz8xMDA7dGhpcy5Ncj1hLk1yPz8xO3RoaXMuS3I9YS5Lcj8/MjU5MkU2O3RoaXMuQ3I9YS5Dcj8/MTJFNDt0aGlzLkxyPWEuTHI/PzVFMzt0aGlzLkphPWEuSmE/P3ZvaWQgMDt0aGlzLk9pPSEhYS5PaTt0aGlzLkRpPWEuRGk/Py4xO3RoaXMuS2o9YS5Laj8/MTA7YS5oYW5kbGVFcnJvciYmKHRoaXMuaGFuZGxlRXJyb3I9YS5oYW5kbGVFcnJvcik7YS5UZiYmKHRoaXMuVGY9YS5UZik7YS5haCYmKHRoaXMuYWg9YS5haCk7YS54aSYmKHRoaXMueGk9YS54aSk7dGhpcy5LYT1hLkthO3RoaXMuRGM9YS5EYzt0aGlzLmNiPWEuY2I7dGhpcy5TYT1hLlNhO3RoaXMuR2Q9YS5HZDt0aGlzLkttPWEuS207CnRoaXMuRm09YS5GbTtCbSh0aGlzKSYmKCF0aGlzLkthfHx0aGlzLkthKCJuZXR3b3JrbGVzc19sb2dnaW5nIikpJiZEbSh0aGlzKX13cml0ZVRoZW5TZW5kKGEsYj17fSl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBjPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLmNiLnNldChjLHRoaXMuSmEpLnRoZW4oZD0+e2MuaWQ9ZDt0aGlzLlNhLlNiKCkmJkdtKHRoaXMsYyl9KS5jYXRjaChkPT57R20odGhpcyxjKTtIbSh0aGlzLGQpfSl9ZWxzZSB0aGlzLkdkKGEsYil9c2VuZFRoZW5Xcml0ZShhLGI9e30sYyl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBkPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiYoZC5za2lwUmV0cnk9Yyk7aWYodGhpcy5TYS5TYigpfHx0aGlzLkthJiYKdGhpcy5LYSgibndsX2FnZ3Jlc3NpdmVfc2VuZF90aGVuX3dyaXRlIikmJiFkLnNraXBSZXRyeSl7aWYoIWQuc2tpcFJldHJ5KXtsZXQgZT1iLm9uRXJyb3I/Yi5vbkVycm9yOigpPT57fTtiLm9uRXJyb3I9YXN5bmMoZixoKT0+e2F3YWl0IHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goaz0+e0htKHRoaXMsayl9KTtlKGYsaCl9fXRoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KX1lbHNlIHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goZT0+e3RoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KTtIbSh0aGlzLGUpfSl9ZWxzZSB0aGlzLkdkKGEsYix0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiZjKX1zZW5kQW5kV3JpdGUoYSxiPXt9KXtpZihCbSh0aGlzKSYmdGhpcy5PYyl7bGV0IGM9e3VybDphLG9wdGlvbnM6Yix0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9LGQ9ITEsZT1iLm9uU3VjY2Vzcz9iLm9uU3VjY2VzczooKT0+e307Yy5vcHRpb25zLm9uU3VjY2Vzcz0KKGYsaCk9PntjLmlkIT09dm9pZCAwP3RoaXMuY2IuRmYoYy5pZCx0aGlzLkphKTpkPSEwO3RoaXMuU2EuZWYmJnRoaXMuS2EmJnRoaXMuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmdGhpcy5TYS5lZighMCk7ZShmLGgpfTt0aGlzLkdkKGMudXJsLGMub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuY2Iuc2V0KGMsdGhpcy5KYSkudGhlbihmPT57Yy5pZD1mO2QmJnRoaXMuY2IuRmYoYy5pZCx0aGlzLkphKX0pLmNhdGNoKGY9PntIbSh0aGlzLGYpfSl9ZWxzZSB0aGlzLkdkKGEsYix2b2lkIDAsITApfW8oKXtpZighQm0odGhpcykpdGhyb3cgRXJyb3IoInJhIik7dGhpcy5qfHwodGhpcy5qPXRoaXMuRGMucGIoYXN5bmMoKT0+e3ZhciBhPWF3YWl0IHRoaXMuY2IuV3AoIk5FVyIsdGhpcy5KYSk7YT8oYXdhaXQgR20odGhpcyxhKSx0aGlzLmomJih0aGlzLmo9MCx0aGlzLm8oKSkpOnRoaXMudigpfSx0aGlzLmdzKSl9digpe3RoaXMuRGMuQWEodGhpcy5qKTt0aGlzLmo9MH19O3ZhciBLbTt2YXIgVW89e2FjY291bnRTdGF0ZUNoYW5nZVNpZ25lZEluOjIzLGFjY291bnRTdGF0ZUNoYW5nZVNpZ25lZE91dDoyNCxkZWxheWVkRXZlbnRNZXRyaWNDYXB0dXJlZDoxMSxsYXRlbmN5QWN0aW9uQmFzZWxpbmVkOjYsbGF0ZW5jeUFjdGlvbkluZm86NyxsYXRlbmN5QWN0aW9uVGlja2VkOjUsb2ZmbGluZVRyYW5zZmVyU3RhdHVzQ2hhbmdlZDoyLG9mZmxpbmVJbWFnZURvd25sb2FkOjMzNSxwbGF5YmFja1N0YXJ0U3RhdGVDaGFuZ2VkOjksc3lzdGVtSGVhbHRoQ2FwdHVyZWQ6MyxtYW5nb09uYm9hcmRpbmdDb21wbGV0ZWQ6MTAsbWFuZ29QdXNoTm90aWZpY2F0aW9uUmVjZWl2ZWQ6MjMwLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25FcnJvcjoxMjEsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN1bW1hcnk6MTIyLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QcmV1bmZvcmtEYlZlcnNpb25OdW1iZXI6MTMzLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QaG9uZU1ldGFkYXRhOjEzNCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVTdG9yYWdlOjEzNSwKbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN0ZXA6MTQyLG1hbmdvQXN5bmNBcGlNaWdyYXRpb25FdmVudDoyMjMsbWFuZ29Eb3dubG9hZFZpZGVvUmVzdWx0OjIyNCxtYW5nb0hvbWVwYWdlVmlkZW9Db3VudDoyNzksbWFuZ29Ib21lVjNTdGF0ZToyOTUsbWFuZ29JbWFnZUNsaWVudENhY2hlSGl0RXZlbnQ6MjczLHNkQ2FyZFN0YXR1c0NoYW5nZWQ6OTgsZnJhbWVzRHJvcHBlZDoxMix0aHVtYm5haWxIb3ZlcmVkOjEzLGRldmljZVJldGVudGlvbkluZm9DYXB0dXJlZDoxNCx0aHVtYm5haWxMb2FkZWQ6MTUsYmFja1RvQXBwRXZlbnQ6MzE4LHN0cmVhbWluZ1N0YXRzQ2FwdHVyZWQ6MTcsb2ZmbGluZVZpZGVvU2hhcmVkOjE5LGFwcENyYXNoZWQ6MjAseW91VGhlcmU6MjEsb2ZmbGluZVN0YXRlU25hcHNob3Q6MjIsbWR4U2Vzc2lvblN0YXJ0ZWQ6MjUsbWR4U2Vzc2lvbkNvbm5lY3RlZDoyNixtZHhTZXNzaW9uRGlzY29ubmVjdGVkOjI3LGJlZHJvY2tSZXNvdXJjZUNvbnN1bXB0aW9uU25hcHNob3Q6MjgsCm5leHRHZW5XYXRjaFdhdGNoU3dpcGVkOjI5LGtpZHNBY2NvdW50c1NuYXBzaG90OjMwLHplcm9TdGVwQ2hhbm5lbENyZWF0ZWQ6MzEsdHZodG1sNVNlYXJjaENvbXBsZXRlZDozMixvZmZsaW5lU2hhcmVQYWlyaW5nOjM0LG9mZmxpbmVTaGFyZVVubG9jazozNSxtZHhSb3V0ZURpc3RyaWJ1dGlvblNuYXBzaG90OjM2LGJlZHJvY2tSZXBldGl0aXZlQWN0aW9uVGltZWQ6MzcsdW5wbHVnZ2VkRGVncmFkYXRpb25JbmZvOjIyOSx1cGxvYWRNcDRIZWFkZXJNb3ZlZDozOCx1cGxvYWRWaWRlb1RyYW5zY29kZWQ6MzksdXBsb2FkUHJvY2Vzc29yU3RhcnRlZDo0Nix1cGxvYWRQcm9jZXNzb3JFbmRlZDo0Nyx1cGxvYWRQcm9jZXNzb3JSZWFkeTo5NCx1cGxvYWRQcm9jZXNzb3JSZXF1aXJlbWVudFBlbmRpbmc6OTUsdXBsb2FkUHJvY2Vzc29ySW50ZXJydXB0ZWQ6OTYsdXBsb2FkRnJvbnRlbmRFdmVudDoyNDEsYXNzZXRQYWNrRG93bmxvYWRTdGFydGVkOjQxLGFzc2V0UGFja0Rvd25sb2FkZWQ6NDIsCmFzc2V0UGFja0FwcGxpZWQ6NDMsYXNzZXRQYWNrRGVsZXRlZDo0NCxhcHBJbnN0YWxsQXR0cmlidXRpb25FdmVudDo0NTkscGxheWJhY2tTZXNzaW9uU3RvcHBlZDo0NSxhZEJsb2NrZXJNZXNzYWdpbmdTaG93bjo0OCxkaXN0cmlidXRpb25DaGFubmVsQ2FwdHVyZWQ6NDksZGF0YVBsYW5DcGlkUmVxdWVzdGVkOjUxLGRldGFpbGVkTmV0d29ya1R5cGVDYXB0dXJlZDo1MixzZW5kU3RhdGVVcGRhdGVkOjUzLHJlY2VpdmVTdGF0ZVVwZGF0ZWQ6NTQsc2VuZERlYnVnU3RhdGVVcGRhdGVkOjU1LHJlY2VpdmVEZWJ1Z1N0YXRlVXBkYXRlZDo1NixraWRzRXJyb3JlZDo1NyxtZHhNc25TZXNzaW9uU3RhdHNGaW5pc2hlZDo1OCxhcHBTZXR0aW5nc0NhcHR1cmVkOjU5LG1keFdlYlNvY2tldFNlcnZlckh0dHBFcnJvcjo2MCxtZHhXZWJTb2NrZXRTZXJ2ZXI6NjEsc3RhcnR1cENyYXNoZXNEZXRlY3RlZDo2Mixjb2xkU3RhcnRJbmZvOjQzNSxvZmZsaW5lUGxheWJhY2tTdGFydGVkOjYzLGxpdmVDaGF0TWVzc2FnZVNlbnQ6MjI1LApsaXZlQ2hhdFVzZXJQcmVzZW50OjQzNCxsaXZlQ2hhdEJlaW5nTW9kZXJhdGVkOjQ1NyxsaXZlQ2hhdEdpZnRCdXR0b25JbXByZXNzZWQ6NTU4LGxpdmVDcmVhdGlvbkNhbWVyYVVwZGF0ZWQ6NjQsbGl2ZUNyZWF0aW9uRW5jb2RpbmdDYXB0dXJlZDo2NSxsaXZlQ3JlYXRpb25FcnJvcjo2NixsaXZlQ3JlYXRpb25IZWFsdGhVcGRhdGVkOjY3LGxpdmVDcmVhdGlvblZpZGVvRWZmZWN0c0NhcHR1cmVkOjY4LGxpdmVDcmVhdGlvblN0YWdlT2NjdXJlZDo3NSxvZmZsaW5lU3lzdGVtRmFpbHVyZTo1NDYsbGl2ZUNyZWF0aW9uQnJvYWRjYXN0U2NoZWR1bGVkOjEyMyxsaXZlQ3JlYXRpb25BcmNoaXZlUmVwbGFjZW1lbnQ6MTQ5LGxpdmVDcmVhdGlvbkNvc3RyZWFtaW5nQ29ubmVjdGlvbjo0MjEsbGl2ZUNyZWF0aW9uUGxheWFibGVzTWV0cmljczo1MzMsbGl2ZUNyZWF0aW9uU3RyZWFtV2VicnRjU3RhdHM6Mjg4LGxpdmVDcmVhdGlvbldlYnJ0Y0Vycm9yOjUyNixtZHhTZXNzaW9uUmVjb3ZlcnlTdGFydGVkOjY5LAptZHhTZXNzaW9uUmVjb3ZlcnlDb21wbGV0ZWQ6NzAsbWR4U2Vzc2lvblJlY292ZXJ5U3RvcHBlZDo3MSx2aXN1YWxFbGVtZW50U2hvd246NzIsdmlzdWFsRWxlbWVudEhpZGRlbjo3Myx2aXN1YWxFbGVtZW50R2VzdHVyZWQ6NzgsdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZDoyMDgsc2NyZWVuQ3JlYXRlZDoxNTYscGxheWJhY2tBc3NvY2lhdGVkOjIwMix2aXN1YWxFbGVtZW50QXR0YWNoZWQ6MjE1LHBsYXliYWNrQ29udGV4dEV2ZW50OjIxNCxjbG91ZENhc3RpbmdQbGF5YmFja1N0YXJ0ZWQ6NzQsd2ViUGxheWVyQXBpQ2FsbGVkOjc2LHR2aHRtbDVBY2NvdW50RGlhbG9nT3BlbmVkOjc5LGZvcmVncm91bmRIZWFydGJlYXQ6ODAsZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQ6MTExLGtpZHNPZmZsaW5lU25hcHNob3Q6ODEsbWR4RW5jcnlwdGlvblNlc3Npb25TdGF0c0ZpbmlzaGVkOjgyLHBsYXllclJlcXVlc3RDb21wbGV0ZWQ6ODMsbGl0ZVNjaGVkdWxlclN0YXRpc3RpY3M6ODQsCm1keFNpZ25Jbjo4NSxzcGFjZWNhc3RNZXRhZGF0YUxvb2t1cFJlcXVlc3RlZDo4NixzcGFjZWNhc3RCYXRjaExvb2t1cFJlcXVlc3RlZDo4NyxzcGFjZWNhc3RTdW1tYXJ5UmVxdWVzdGVkOjg4LHNwYWNlY2FzdFBsYXliYWNrOjg5LHNwYWNlY2FzdERpc2NvdmVyeTo5MCx0dmh0bWw1TGF1bmNoVXJsQ29tcG9uZW50Q2hhbmdlZDo5MSxtZHhCYWNrZ3JvdW5kUGxheWJhY2tSZXF1ZXN0Q29tcGxldGVkOjkyLG1keEJyb2tlbkFkZGl0aW9uYWxEYXRhRGV2aWNlRGV0ZWN0ZWQ6OTMsdHZodG1sNUxvY2FsU3RvcmFnZTo5Nyx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXR1czoxNDcsYXV0b0NhcHRpb25zQXZhaWxhYmxlOjk5LHBsYXliYWNrU2NydWJiaW5nRXZlbnQ6MzM5LGZsZXh5U3RhdGU6MTAwLGludGVyZmFjZU9yaWVudGF0aW9uQ2FwdHVyZWQ6MTAxLG1haW5BcHBCcm93c2VGcmFnbWVudENhY2hlOjEwMixvZmZsaW5lQ2FjaGVWZXJpZmljYXRpb25GYWlsdXJlOjEwMyxvZmZsaW5lUGxheWJhY2tFeGNlcHRpb25EaWdlc3Q6MjE3LAp2ckNvcHJlc2VuY2VTdGF0czoxMDQsdnJDb3ByZXNlbmNlU3luY1N0YXRzOjEzMCx2ckNvcHJlc2VuY2VDb21tc1N0YXRzOjEzNyx2ckNvcHJlc2VuY2VQYXJ0eVN0YXRzOjE1Myx2ckNvcHJlc2VuY2VFbW9qaVN0YXRzOjIxMyx2ckNvcHJlc2VuY2VFdmVudDoxNDEsdnJDb3ByZXNlbmNlRmxvd1RyYW5zaXRFdmVudDoxNjAsdnJDb3dhdGNoUGFydHlFdmVudDo0OTIsdnJDb3dhdGNoVXNlclN0YXJ0T3JKb2luRXZlbnQ6NTA0LHZyUGxheWJhY2tFdmVudDozNDUsa2lkc0FnZUdhdGVUcmFja2luZzoxMDUsb2ZmbGluZURlbGF5QWxsb3dlZFRyYWNraW5nOjEwNixtYWluQXBwQXV0b09mZmxpbmVTdGF0ZToxMDcsdmlkZW9Bc1RodW1ibmFpbERvd25sb2FkOjEwOCx2aWRlb0FzVGh1bWJuYWlsUGxheWJhY2s6MTA5LGxpdGVTaG93TW9yZToxMTAscmVuZGVyaW5nRXJyb3I6MTE4LGtpZHNQcm9maWxlUGluR2F0ZVRyYWNraW5nOjExOSxhYnJUcmFqZWN0b3J5OjEyNCxzY3JvbGxFdmVudDoxMjUsCnN0cmVhbXpJbmNyZW1lbnRlZDoxMjYsa2lkc1Byb2ZpbGVTd2l0Y2hlclRyYWNraW5nOjEyNyxraWRzUHJvZmlsZUNyZWF0aW9uVHJhY2tpbmc6MTI5LGJ1eUZsb3dTdGFydGVkOjEzNixpbnRlZ3JhdGlvbkF0dHJpYnV0aW9uRXZlbnQ6NTU2LG1ic0Nvbm5lY3Rpb25Jbml0aWF0ZWQ6MTM4LG1ic1BsYXliYWNrSW5pdGlhdGVkOjEzOSxtYnNMb2FkQ2hpbGRyZW46MTQwLGxpdGVQcm9maWxlRmV0Y2hlcjoxNDQsbWR4UmVtb3RlVHJhbnNhY3Rpb246MTQ2LHJlZWxQbGF5YmFja0Vycm9yOjE0OCxyZWFjaGFiaWxpdHlEZXRlY3Rpb25FdmVudDoxNTAsbW9iaWxlUGxheWJhY2tFdmVudDoxNTEsY291cnRzaWRlUGxheWVyU3RhdGVDaGFuZ2VkOjE1MixtdXNpY1BlcnNpc3RlbnRDYWNoZUNoZWNrZWQ6MTU0LG11c2ljUGVyc2lzdGVudENhY2hlQ2xlYXJlZDoxNTUscGxheWJhY2tJbnRlcnJ1cHRlZDoxNTcscGxheWJhY2tJbnRlcnJ1cHRpb25SZXNvbHZlZDoxNTgsZml4Rm9wRmxvdzoxNTksCmFuckRldGVjdGlvbjoxNjEsYmFja3N0YWdlUG9zdENyZWF0aW9uRmxvd0VuZGVkOjE2MixjbGllbnRFcnJvcjoxNjMsZ2FtaW5nQWNjb3VudExpbmtTdGF0dXNDaGFuZ2VkOjE2NCxsaXRlSG91c2V3YXJtaW5nOjE2NSxidXlGbG93RXZlbnQ6MTY3LGtpZHNQYXJlbnRhbEdhdGVUcmFja2luZzoxNjgsa2lkc1NpZ25lZE91dFNldHRpbmdzU3RhdHVzOjQzNyxraWRzU2lnbmVkT3V0UGF1c2VIaXN0b3J5Rml4U3RhdHVzOjQzOCx0dmh0bWw1V2F0Y2hkb2dWaW9sYXRpb246NDQ0LHlwY1VwZ3JhZGVGbG93OjE2OSx5b25nbGVTdHVkeToxNzAseXBjVXBkYXRlRmxvd1N0YXJ0ZWQ6MTcxLHlwY1VwZGF0ZUZsb3dDYW5jZWxsZWQ6MTcyLHlwY1VwZGF0ZUZsb3dTdWNjZWVkZWQ6MTczLHlwY1VwZGF0ZUZsb3dGYWlsZWQ6MTc0LGxpdGVHcm93dGhraXRQcm9tbzoxNzUscGF5bWVudEZsb3dTdGFydGVkOjM0MSx0cmFuc2FjdGlvbkZsb3dTaG93UGF5bWVudERpYWxvZzo0MDUsdHJhbnNhY3Rpb25GbG93U3RhcnRlZDoxNzYsCnRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVN0YXJ0ZWQ6MjIyLHRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVNpZ25lZE91dFN0YXJ0ZWQ6MzgzLHRyYW5zYWN0aW9uRmxvd0NhbmNlbGxlZDoxNzcsdHJhbnNhY3Rpb25GbG93UGF5bWVudENhbGxCYWNrUmVjZWl2ZWQ6Mzg3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWJtaXR0ZWQ6NDYwLHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWNjZWVkZWQ6MzI5LHRyYW5zYWN0aW9uRmxvd1N1Y2NlZWRlZDoxNzgsdHJhbnNhY3Rpb25GbG93RmFpbGVkOjE3OSx0cmFuc2FjdGlvbkZsb3dQbGF5QmlsbGluZ0Nvbm5lY3Rpb25TdGFydEV2ZW50OjQyOCx0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdWNjZXNzOjQ1OCx0cmFuc2FjdGlvbkZsb3dFcnJvckV2ZW50OjQxMSxsaXRlVmlkZW9RdWFsaXR5Q2hhbmdlZDoxODAsd2F0Y2hCcmVha0VuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MTgxLHdhdGNoQnJlYWtGcmVxdWVuY3lTZXR0aW5nRXZlbnQ6MTgyLAp2aWRlb0VmZmVjdHNDYW1lcmFQZXJmb3JtYW5jZU1ldHJpY3M6MTgzLGFkTm90aWZ5OjE4NCxzdGFydHVwVGVsZW1ldHJ5OjE4NSxwbGF5YmFja09mZmxpbmVGYWxsYmFja1VzZWQ6MTg2LG91dE9mTWVtb3J5OjE4Nyx5cGNQYXVzZUZsb3dTdGFydGVkOjE4OCx5cGNQYXVzZUZsb3dDYW5jZWxsZWQ6MTg5LHlwY1BhdXNlRmxvd1N1Y2NlZWRlZDoxOTAseXBjUGF1c2VGbG93RmFpbGVkOjE5MSx1cGxvYWRGaWxlU2VsZWN0ZWQ6MTkyLHlwY1Jlc3VtZUZsb3dTdGFydGVkOjE5Myx5cGNSZXN1bWVGbG93Q2FuY2VsbGVkOjE5NCx5cGNSZXN1bWVGbG93U3VjY2VlZGVkOjE5NSx5cGNSZXN1bWVGbG93RmFpbGVkOjE5NixhZHNDbGllbnRTdGF0ZUNoYW5nZToxOTcseXBjQ2FuY2VsRmxvd1N0YXJ0ZWQ6MTk4LHlwY0NhbmNlbEZsb3dDYW5jZWxsZWQ6MTk5LHlwY0NhbmNlbEZsb3dTdWNjZWVkZWQ6MjAwLHlwY0NhbmNlbEZsb3dGYWlsZWQ6MjAxLHlwY0NhbmNlbEZsb3dHb1RvUGF5bWVudFByb2Nlc3Nvcjo0MDIsCnlwY0RlYWN0aXZhdGVGbG93U3RhcnRlZDozMjAseXBjUmVkZWVtRmxvd1N0YXJ0ZWQ6MjAzLHlwY1JlZGVlbUZsb3dDYW5jZWxsZWQ6MjA0LHlwY1JlZGVlbUZsb3dTdWNjZWVkZWQ6MjA1LHlwY1JlZGVlbUZsb3dGYWlsZWQ6MjA2LHlwY0ZhbWlseUNyZWF0ZUZsb3dTdGFydGVkOjI1OCx5cGNGYW1pbHlDcmVhdGVGbG93Q2FuY2VsbGVkOjI1OSx5cGNGYW1pbHlDcmVhdGVGbG93U3VjY2VlZGVkOjI2MCx5cGNGYW1pbHlDcmVhdGVGbG93RmFpbGVkOjI2MSx5cGNGYW1pbHlNYW5hZ2VGbG93U3RhcnRlZDoyNjIseXBjRmFtaWx5TWFuYWdlRmxvd0NhbmNlbGxlZDoyNjMseXBjRmFtaWx5TWFuYWdlRmxvd1N1Y2NlZWRlZDoyNjQseXBjRmFtaWx5TWFuYWdlRmxvd0ZhaWxlZDoyNjUscmVzdG9yZUNvbnRleHRFdmVudDoyMDcsZW1iZWRzQWRFdmVudDozMjcsYXV0b3BsYXlUcmlnZ2VyZWQ6MjA5LGNsaWVudERhdGFFcnJvckV2ZW50OjIxMCxleHBlcmltZW50YWxWc3NWYWxpZGF0aW9uOjIxMSwKdHZodG1sNVRyaWdnZXJlZEV2ZW50OjIxMix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxSZXN1bHQ6MjE2LHR2aHRtbDVGcmFtZXdvcmtzRmllbGRUcmlhbFN0YXJ0OjIyMCxtdXNpY09mZmxpbmVQcmVmZXJlbmNlczoyMTgsd2F0Y2hUaW1lU2VnbWVudDoyMTksYXBwV2lkdGhMYXlvdXRFcnJvcjoyMjEsYWNjb3VudFJlZ2lzdHJ5Q2hhbmdlOjIyNix1c2VyTWVudGlvbkF1dG9Db21wbGV0ZUJveEV2ZW50OjIyNyxkb3dubG9hZFJlY29tbWVuZGF0aW9uRW5hYmxlbWVudFNldHRpbmdFdmVudDoyMjgsbXVzaWNQbGF5YmFja0NvbnRlbnRNb2RlQ2hhbmdlRXZlbnQ6MjMxLG9mZmxpbmVEYk9wZW5Db21wbGV0ZWQ6MjMyLGtpZHNGbG93RXZlbnQ6MjMzLGtpZHNGbG93Q29ycHVzU2VsZWN0ZWRFdmVudDoyMzQsdmlkZW9FZmZlY3RzRXZlbnQ6MjM1LHVucGx1Z2dlZE9wc0VvZ0FuYWx5dGljc0V2ZW50OjIzNixwbGF5YmFja0F1ZGlvUm91dGVFdmVudDoyMzcsaW50ZXJhY3Rpb25Mb2dnaW5nRGVidWdNb2RlRXJyb3I6MjM4LApvZmZsaW5lWXRiUmVmcmVzaGVkOjIzOSxraWRzRmxvd0Vycm9yOjI0MCxtdXNpY0F1dG9wbGF5T25MYXVuY2hBdHRlbXB0ZWQ6MjQyLGRldmljZUNvbnRleHRBY3Rpdml0eUV2ZW50OjI0MyxkZXZpY2VDb250ZXh0RXZlbnQ6MjQ0LHRlbXBsYXRlUmVzb2x1dGlvbkV4Y2VwdGlvbjoyNDUsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RTZXJ2aWNlQ2FsbGVkOjI0NixlbWJlZHNTdG9yYWdlQWNjZXNzTm90Q2hlY2tlZDoyNDcsZW1iZWRzSGFzU3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNDgsZW1iZWRzSXRwUGxheWVkT25SZWxvYWQ6MjQ5LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzUmVzdWx0OjI1MCxlbWJlZHNTaG91bGRSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTEsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NTdGF0ZToyNTYsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NGYWlsZWRTdGF0ZToyNTcsZW1iZWRzSXRwV2F0Y2hMYXRlclJlc3VsdDoyNjYsc2VhcmNoU3VnZ2VzdERlY29kaW5nUGF5bG9hZEZhaWx1cmU6MjUyLApzaXJpU2hvcnRjdXRBY3RpdmF0ZWQ6MjUzLHR2aHRtbDVLZXlib2FyZFBlcmZvcm1hbmNlOjI1NCxsYXRlbmN5QWN0aW9uU3BhbjoyNTUsZWxlbWVudHNMb2c6MjY3LHl0YkZpbGVPcGVuZWQ6MjY4LHRmbGl0ZU1vZGVsRXJyb3I6MjY5LGFwaVRlc3Q6MjcwLHlvbmdsZVVzYlNldHVwOjI3MSx0b3VTdHJpa2VJbnRlcnN0aXRpYWxFdmVudDoyNzIsbGl0ZVN0cmVhbVRvU2F2ZToyNzQsYXBwQnVuZGxlQ2xpZW50RXZlbnQ6Mjc1LHl0YkZpbGVDcmVhdGlvbkZhaWxlZDoyNzYsYWROb3RpZnlGYWlsdXJlOjI3OCx5dGJUcmFuc2ZlckZhaWxlZDoyODAsYmxvY2tpbmdSZXF1ZXN0RmFpbGVkOjI4MSxsaXRlQWNjb3VudFNlbGVjdG9yOjI4MixsaXRlQWNjb3VudFVpQ2FsbGJhY2tzOjI4MyxkdW1teVBheWxvYWQ6Mjg0LGJyb3dzZVJlc3BvbnNlVmFsaWRhdGlvbkV2ZW50OjI4NSxlbnRpdGllc0Vycm9yOjI4NixtdXNpY0lvc0JhY2tncm91bmRGZXRjaDoyODcsbWR4Tm90aWZpY2F0aW9uRXZlbnQ6Mjg5LApsYXllcnNWYWxpZGF0aW9uRXJyb3I6MjkwLG11c2ljUHdhSW5zdGFsbGVkOjI5MSxsaXRlQWNjb3VudENsZWFudXA6MjkyLGh0bWw1UGxheWVySGVhbHRoRXZlbnQ6MjkzLHdhdGNoUmVzdG9yZUF0dGVtcHQ6Mjk0LGxpdGVBY2NvdW50U2lnbkluOjI5Nixub3RhaXJlRXZlbnQ6Mjk4LGtpZHNWb2ljZVNlYXJjaEV2ZW50OjI5OSxhZE5vdGlmeUZpbGxlZDozMDAsZGVsYXllZEV2ZW50RHJvcHBlZDozMDEsYW5hbHl0aWNzU2VhcmNoRXZlbnQ6MzAyLHN5c3RlbURhcmtUaGVtZU9wdE91dEV2ZW50OjMwMyxmbG93RXZlbnQ6MzA0LG5ldHdvcmtDb25uZWN0aXZpdHlCYXNlbGluZUV2ZW50OjMwNSx5dGJGaWxlSW1wb3J0ZWQ6MzA2LGRvd25sb2FkU3RyZWFtVXJsRXhwaXJlZDozMDcsZGlyZWN0U2lnbkluRXZlbnQ6MzA4LGx5cmljSW1wcmVzc2lvbkV2ZW50OjMwOSxhY2Nlc3NpYmlsaXR5U3RhdGVFdmVudDozMTAsdG9rZW5SZWZyZXNoRXZlbnQ6MzExLGdlbmVyaWNBdHRlc3RhdGlvbkV4ZWN1dGlvbjozMTIsCnR2aHRtbDVWaWRlb1NlZWs6MzEzLHVucGx1Z2dlZEF1dG9QYXVzZTozMTQsc2NydWJiaW5nRXZlbnQ6MzE1LGJlZHRpbWVSZW1pbmRlckV2ZW50OjMxNyx0dmh0bWw1VW5leHBlY3RlZFJlc3RhcnQ6MzE5LHR2aHRtbDVEZXZpY2VTdG9yYWdlU3RhdHM6NTM1LHR2aHRtbDVTdGFiaWxpdHlUcmFjZUV2ZW50OjQ3OCx0dmh0bWw1T3BlcmF0aW9uSGVhbHRoOjQ2Nyx0dmh0bWw1V2F0Y2hLZXlFdmVudDozMjEsdm9pY2VMYW5ndWFnZUNoYW5nZWQ6MzIyLHR2aHRtbDVMaXZlQ2hhdFN0YXR1czozMjMscGFyZW50VG9vbHNDb3JwdXNTZWxlY3RlZEV2ZW50OjMyNCxvZmZlckFkc0Vucm9sbG1lbnRJbml0aWF0ZWQ6MzI1LG5ldHdvcmtRdWFsaXR5SW50ZXJ2YWxFdmVudDozMjYsZGV2aWNlU3RhcnR1cE1ldHJpY3M6MzI4LGhlYXJ0YmVhdEFjdGlvblBsYXllclRyYW5zaXRpb25lZDozMzAsdHZodG1sNUxpZmVjeWNsZTozMzEsaGVhcnRiZWF0QWN0aW9uUGxheWVySGFsdGVkOjMzMixhZGFwdGl2ZUlubGluZU11dGVkU2V0dGluZ0V2ZW50OjMzMywKbWFpbkFwcExpYnJhcnlMb2FkaW5nU3RhdGU6MzM0LHRoaXJkUGFydHlMb2dNb25pdG9yaW5nRXZlbnQ6MzM2LGFwcFNoZWxsQXNzZXRMb2FkUmVwb3J0OjMzNyx0dmh0bWw1QW5kcm9pZEF0dGVzdGF0aW9uOjMzOCx0dmh0bWw1U3RhcnR1cFNvdW5kRXZlbnQ6MzQwLGlvc0JhY2tncm91bmRSZWZyZXNoVGFzazozNDIsaW9zQmFja2dyb3VuZFByb2Nlc3NpbmdUYXNrOjM0MyxzbGlFdmVudEJhdGNoOjM0NCxwb3N0SW1wcmVzc2lvbkV2ZW50OjM0NixtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdEV4cG9ydDozNDcsaWRiVW5leHBlY3RlZGx5Q2xvc2VkOjM0OCx2b2ljZVNlYXJjaEV2ZW50OjM0OSxtZHhTZXNzaW9uQ2FzdEV2ZW50OjM1MCxpZGJRdW90YUV4Y2VlZGVkOjM1MSxpZGJUcmFuc2FjdGlvbkVuZGVkOjM1MixpZGJUcmFuc2FjdGlvbkFib3J0ZWQ6MzUzLHR2aHRtbDVLZXlib2FyZExvZ2dpbmc6MzU0LGlkYklzU3VwcG9ydGVkQ29tcGxldGVkOjM1NSxjcmVhdG9yU3R1ZGlvTW9iaWxlRXZlbnQ6MzU2LAppZGJEYXRhQ29ycnVwdGVkOjM1NyxwYXJlbnRUb29sc0FwcENob3NlbkV2ZW50OjM1OCx3ZWJWaWV3Qm90dG9tU2hlZXRSZXNpemVkOjM1OSxhY3RpdmVTdGF0ZUNvbnRyb2xsZXJTY3JvbGxQZXJmb3JtYW5jZVN1bW1hcnk6MzYwLG5hdmlnYXRvclZhbGlkYXRpb246MzYxLG1keFNlc3Npb25IZWFydGJlYXQ6MzYyLGNsaWVudEhpbnRzUG9seWZpbGxEaWFnbm9zdGljczozNjMsY2xpZW50SGludHNQb2x5ZmlsbEV2ZW50OjM2NCxwcm9vZk9mT3JpZ2luVG9rZW5FcnJvcjozNjUsa2lkc0FkZGVkQWNjb3VudFN1bW1hcnk6MzY2LG11c2ljV2VhcmFibGVEZXZpY2U6MzY3LHlwY1JlZnVuZEZsb3dFdmVudDozNjgsdHZodG1sNVBsYXliYWNrTWVhc3VyZW1lbnRFdmVudDozNjksdHZodG1sNVdhdGVybWFya01lYXN1cmVtZW50RXZlbnQ6MzcwLGNsaWVudEV4cEdjZlByb3BhZ2F0aW9uRXZlbnQ6MzcxLG1haW5BcHBSZWZlcnJlckludGVudDozNzIsbGVhZGVyTG9ja0VuZGVkOjM3MyxsZWFkZXJMb2NrQWNxdWlyZWQ6Mzc0LApnb29nbGVIYXRzRXZlbnQ6Mzc1LHBlcnNpc3RlbnRMZW5zTGF1bmNoRXZlbnQ6Mzc2LHBhcmVudFRvb2xzQ2hpbGRXZWxjb21lQ2hvc2VuRXZlbnQ6Mzc4LGJyb3dzZVRodW1ibmFpbFByZWxvYWRFdmVudDozNzksZmluYWxQYXlsb2FkOjM4MCxtZHhEaWFsQWRkaXRpb25hbERhdGFVcGRhdGVFdmVudDozODEsd2ViT3JjaGVzdHJhdGlvblRhc2tMaWZlY3ljbGVSZWNvcmQ6MzgyLHN0YXJ0dXBTaWduYWxFdmVudDozODQsYWNjb3VudEVycm9yOjM4NSxnbXNEZXZpY2VDaGVja0V2ZW50OjM4NixhY2NvdW50U2VsZWN0b3JFdmVudDozODgsYWNjb3VudFVpQ2FsbGJhY2tzOjM4OSxtZHhEaWFsQWRkaXRpb25hbERhdGFQcm9iZUV2ZW50OjM5MCxkb3dubG9hZHNTZWFyY2hJY2luZ0FwaVN0YXRzOjM5MSxkb3dubG9hZHNTZWFyY2hJbmRleFVwZGF0ZWRFdmVudDozOTcsZG93bmxvYWRzU2VhcmNoSW5kZXhTbmFwc2hvdDozOTgsZGF0YVB1c2hDbGllbnRFdmVudDozOTIsa2lkc0NhdGVnb3J5U2VsZWN0ZWRFdmVudDozOTMsCm1keERldmljZU1hbmFnZW1lbnRTbmFwc2hvdEV2ZW50OjM5NCxwcmVmZXRjaFJlcXVlc3RlZDozOTUscHJlZmV0Y2hhYmxlQ29tbWFuZEV4ZWN1dGVkOjM5NixnZWxEZWJ1Z2dpbmdFdmVudDozOTksd2ViTGlua1R0c1BsYXlFbmQ6NDAwLGNsaXBWaWV3SW52YWxpZDo0MDEscGVyc2lzdGVudFN0b3JhZ2VTdGF0ZUNoZWNrZWQ6NDAzLGNhY2hlV2lwZW91dEV2ZW50OjQwNCxwbGF5ZXJFdmVudDo0MTAsc2Z2RWZmZWN0UGlwZWxpbmVTdGFydGVkRXZlbnQ6NDEyLHNmdkVmZmVjdFBpcGVsaW5lUGF1c2VkRXZlbnQ6NDI5LHNmdkVmZmVjdFBpcGVsaW5lRW5kZWRFdmVudDo0MTMsc2Z2RWZmZWN0Q2hvc2VuRXZlbnQ6NDE0LHNmdkVmZmVjdExvYWRlZEV2ZW50OjQxNSxzZnZFZmZlY3RVc2VySW50ZXJhY3Rpb25FdmVudDo0NjUsc2Z2RWZmZWN0Rmlyc3RGcmFtZVByb2Nlc3NlZExhdGVuY3lFdmVudDo0MTYsc2Z2RWZmZWN0QWdncmVnYXRlZEZyYW1lc1Byb2Nlc3NlZExhdGVuY3lFdmVudDo0MTcsCnNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNEcm9wcGVkRXZlbnQ6NDE4LHNmdkVmZmVjdFBpcGVsaW5lRXJyb3JFdmVudDo0MzAsc2Z2RWZmZWN0R3JhcGhGcm96ZW5FdmVudDo0MTksc2Z2RWZmZWN0R2xUaHJlYWRCbG9ja2VkRXZlbnQ6NDIwLG1kZVFvc0V2ZW50OjUxMCxtZGVWaWRlb0NoYW5nZWRFdmVudDo0NDIsbWRlUGxheWVyUGVyZm9ybWFuY2VNZXRyaWNzOjQ3MixtZGVFeHBvcnRlckV2ZW50OjQ5NyxnZW5lcmljQ2xpZW50RXhwZXJpbWVudEV2ZW50OjQyMyxob21lUHJlbG9hZFRhc2tTY2hlZHVsZWQ6NDI0LGhvbWVQcmVsb2FkVGFza0V4ZWN1dGVkOjQyNSxob21lUHJlbG9hZENhY2hlSGl0OjQyNixwb2x5bWVyUHJvcGVydHlDaGFuZ2VkSW5PYnNlcnZlcjo0MjcsYXBwbGljYXRpb25TdGFydGVkOjQzMSxuZXR3b3JrQ3JvbmV0UnR0QmF0Y2g6NDMyLG5ldHdvcmtDcm9uZXRSdHRTdW1tYXJ5OjQzMyxyZXBlYXRDaGFwdGVyTG9vcEV2ZW50OjQzNixzZWVrQ2FuY2VsbGF0aW9uRXZlbnQ6NDYyLApsb2NrTW9kZVRpbWVvdXRFdmVudDo0ODMsZXh0ZXJuYWxWaWRlb1NoYXJlVG9Zb3V0dWJlQXR0ZW1wdDo1MDEscGFyZW50Q29kZUV2ZW50OjUwMixvZmZsaW5lVHJhbnNmZXJTdGFydGVkOjQsbXVzaWNPZmZsaW5lTWl4dGFwZVByZWZlcmVuY2VzQ2hhbmdlZDoxNixtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uQXR0ZW1wdDo0MCxtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uRXJyb3I6NzcsZHR3c1BsYXliYWNrU3RhcnRlZDoxMTIsZHR3c1RpbGVGZXRjaFN0YXJ0ZWQ6MTEzLGR0d3NUaWxlRmV0Y2hDb21wbGV0ZWQ6MTE0LGR0d3NUaWxlRmV0Y2hTdGF0dXNDaGFuZ2VkOjE0NSxkdHdzS2V5ZnJhbWVEZWNvZGVyQnVmZmVyU2VudDoxMTUsZHR3c1RpbGVVbmRlcmZsb3dlZE9uTm9ua2V5ZnJhbWU6MTE2LGR0d3NCYWNrZmlsbEZldGNoU3RhdHVzQ2hhbmdlZDoxNDMsZHR3c0JhY2tmaWxsVW5kZXJmbG93ZWQ6MTE3LGR0d3NBZGFwdGl2ZUxldmVsQ2hhbmdlZDoxMjgsCmJsb2NraW5nVmlzaXRvcklkVGltZW91dDoyNzcsbGl0ZVNvY2lhbDoxOCxtb2JpbGVKc0ludm9jYXRpb246Mjk3LGJpc2NvdHRpQmFzZWREZXRlY3Rpb246NDM5LGNvV2F0Y2hTdGF0ZUNoYW5nZTo0NDAsZW1iZWRzVmlkZW9EYXRhRGlkQ2hhbmdlOjQ0MSxzaG9ydHNGaXJzdDo0NDMsY3J1aXNlQ29udHJvbEV2ZW50OjQ0NSxxb2VDbGllbnRMb2dnaW5nQ29udGV4dDo0NDYsYXR2UmVjb21tZW5kYXRpb25Kb2JFeGVjdXRlZDo0NDcsdHZodG1sNVVzZXJGZWVkYmFjazo0NDgscHJvZHVjZXJQcm9qZWN0Q3JlYXRlZDo0NDkscHJvZHVjZXJQcm9qZWN0T3BlbmVkOjQ1MCxwcm9kdWNlclByb2plY3REZWxldGVkOjQ1MSxwcm9kdWNlclByb2plY3RFbGVtZW50QWRkZWQ6NDUzLHByb2R1Y2VyUHJvamVjdEVsZW1lbnRSZW1vdmVkOjQ1NCxwcm9kdWNlckFwcFN0YXRlQ2hhbmdlOjUwOSxwcm9kdWNlclByb2plY3REaXNrSW5zdWZmaWNpZW50RXhwb3J0RmFpbHVyZTo1MTYscHJvZHVjZXJNZWRpYVNlcnZpY2VzUmVzZXREZXRhaWxzOjUyMiwKdHZodG1sNVNob3dDbG9ja0V2ZW50OjQ1NSxkZXZpY2VDYXBhYmlsaXR5Q2hlY2tNZXRyaWNzOjQ1Nix5b3V0dWJlQ2xlYXJjdXRFdmVudDo0NjEsb2ZmbGluZUJyb3dzZUZhbGxiYWNrRXZlbnQ6NDYzLGdldEN0dlRva2VuRXZlbnQ6NDY0LHN0YXJ0dXBEcm9wcGVkRnJhbWVzU3VtbWFyeTo0NjYsc2NyZWVuc2hvdEV2ZW50OjQ2OCxtaW5pQXBwUGxheUV2ZW50OjQ2OSxlbGVtZW50c0RlYnVnQ291bnRlcnM6NDcwLGZvbnRMb2FkRXZlbnQ6NDcxLHdlYktpbGxzd2l0Y2hSZWNlaXZlZDo0NzMsd2ViS2lsbHN3aXRjaEV4ZWN1dGVkOjQ3NCxjYW1lcmFPcGVuRXZlbnQ6NDc1LG1hbnVhbFNtb290aG5lc3NNZWFzdXJlbWVudDo0NzYsdHZodG1sNUFwcFF1YWxpdHlFdmVudDo0NzcscG9seW1lclByb3BlcnR5QWNjZXNzRXZlbnQ6NDc5LG1pbmlBcHBTZGtVc2FnZTo0ODAsY29iYWx0VGVsZW1ldHJ5RXZlbnQ6NDgxLGNyb3NzRGV2aWNlUGxheWJhY2s6NDgyLGNoYW5uZWxDcmVhdGVkV2l0aE9iYWtlSW1hZ2U6NDg0LApjaGFubmVsRWRpdGVkV2l0aE9iYWtlSW1hZ2U6NDg1LG9mZmxpbmVEZWxldGVFdmVudDo0ODYsY3Jvc3NEZXZpY2VOb3RpZmljYXRpb25UcmFuc2Zlcjo0ODcsYW5kcm9pZEludGVudEV2ZW50OjQ4OCx1bnBsdWdnZWRBbWJpZW50SW50ZXJsdWRlc0NvdW50ZXJmYWN0dWFsRXZlbnQ6NDg5LGtleVBsYXlzUGxheWJhY2s6NDkwLHNob3J0c0NyZWF0aW9uRmFsbGJhY2tFdmVudDo0OTMsdnNzRGF0YTo0OTEsY2FzdE1hdGNoOjQ5NCxtaW5pQXBwUGVyZm9ybWFuY2VNZXRyaWNzOjQ5NSx1c2VyRmVlZGJhY2tFdmVudDo0OTYsa2lkc0d1ZXN0U2Vzc2lvbk1pc21hdGNoOjQ5OCxtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdE1pZ3JhdGlvbkV2ZW50OjQ5OSxzbGVlcFRpbWVyU2Vzc2lvbkZpbmlzaEV2ZW50OjUwMCx3YXRjaEVwUHJvbW9Db25mbGljdDo1MDMsaW5uZXJ0dWJlUmVzcG9uc2VDYWNoZU1ldHJpY3M6NTA1LG1pbmlBcHBBZEV2ZW50OjUwNixkYXRhUGxhblVwc2VsbEV2ZW50OjUwNywKcHJvZHVjZXJQcm9qZWN0UmVuYW1lZDo1MDgscHJvZHVjZXJNZWRpYVNlbGVjdGlvbkV2ZW50OjUxMSxlbWJlZHNBdXRvcGxheVN0YXR1c0NoYW5nZWQ6NTEyLHJlbW90ZUNvbm5lY3RFdmVudDo1MTMsY29ubmVjdGVkU2Vzc2lvbk1pc2F0dHJpYnV0aW9uRXZlbnQ6NTE0LHByb2R1Y2VyUHJvamVjdEVsZW1lbnRNb2RpZmllZDo1MTUsYWRzU2VlbkNsaWVudExvZ2dpbmc6NTE3LHByb2R1Y2VyRXZlbnQ6NTE4LHR2aHRtbDVDbGVhblN0YXJ0OjUxOSxkZXZpY2VBY2NvdW50TWV0cmljc0V2ZW50OjUyMCxkZXJwTG9nRXZlbnQ6NTIxLHBsYXlhYmxlc1BvcnRhbEV2ZW50OjUyMyxpcFZhbGlkYXRpb25TdGFydGVkOjUyNCxpcFZhbGlkYXRpb25SZWNlaXZlZDo1MjUscmVlbHNTZXF1ZW5jZU11dGF0aW9uRXZlbnQ6NTI3LHdhdGNoWm9vbVN0YXRlQ2hhbmdlOjUyOCxtZXRhZGF0YUVkaXRvckV2ZW50OjUyOSxraWRzUHJpc21hRGVlcGxpbmtzRXZlbnQ6NTMwLGNyZWF0aW9uT3JjaGVzdHJhdGlvbkV2ZW50OjUzMSwKY29vcmRpbmF0ZWRTYW1wbGluZ1RyaWdnZXJlZDo1MzIscmVjYXBTY3JlZW5zaG90RXZlbnQ6NTM0LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXF1ZXN0RXZlbnQ6NTM2LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXNwb25zZUV2ZW50OjUzNyxzZXNzaW9uUmVwbGF5RXZlbnQ6NTM4LHNlc3Npb25SZXBsYXlTdGF0dXNFdmVudDo1MzksbG9nZ2luZ1JlbGlhYmlsaXR5UHJvYmU6NTQwLGtleVZhbHVlU3RvcmVTdGF0c0V2ZW50OjU0MSxkZXZpY2VMb2NhdGlvblBlcm1pc3Npb25FdmVudDo1NDIscmVtb3RlQ29udHJvbFN0YXJ0ZWQ6NTQzLHJlbW90ZUNvbnRyb2xDb21wbGV0ZWQ6NTQ0LHJlZWxzQWRzRXZlbnRzOjU0NSx5dGxyTG9hZGVyVGVzdEhhcm5lc3NFdmVudDo1NDcsYmlvbWV0cmljQXV0aGVudGljYXRpb25FdmVudDo1NDgsbWFpbkFwcExpZmVjeWNsZUV2ZW50OjU0OSxtdXNpY0Rvd25sb2FkQmFja2dyb3VuZENvbnRpbnVlZFByb2Nlc3NpbmdUYXNrOjU1MCxtdXNpY01ldGFkYXRhTWlzbWF0Y2hFdmVudDo1NTEsCnNjcm9sbFRvQ29tcG9uZW50Q29tcGxldGVkOjU1MixlbnRpdHlTdG9yZVRlbGVtZXRyeTo1NTMsc3RyZWFtaW5nRGFya0xhdW5jaEV2ZW50OjU1NCxjaGlsZEFjY291bnRzRGlzcGxheUV2ZW50OjU1NSx0dmZhc1BsYXliYWNrQ29udGV4dDo1NTcsbWRlQzJQYUV2ZW50OjU1OX07dmFyIFZtPV8uJGwoIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtzZTp7U1dIZWFsdGhMb2c6e1BkOjF9fSxzaGFyZWQ6ITAsdXBncmFkZTooYSxiKT0+e2IoMSkmJl8ub2woXy5rbChhLCJTV0hlYWx0aExvZyIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSksInN3SGVhbHRoTmV3UmVxdWVzdCIsWyJpbnRlcmZhY2UiLCJ0aW1lc3RhbXAiXSl9LHZlcnNpb246MX0pO3ZhciBjbj17fSxibj0wO3ZhciBkbjt2YXIgaG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9bmV3IE1hcDt0aGlzLm89ITF9cmVxdWVzdENvbXBsZXRlKGEsYil7YiYmKHRoaXMubz0hMCk7YT10aGlzLnJlbW92ZVBhcmFtcyhhKTt0aGlzLmouZ2V0KGEpfHx0aGlzLmouc2V0KGEsYil9aXNFbmRwb2ludENGUihhKXthPXRoaXMucmVtb3ZlUGFyYW1zKGEpO3JldHVybihhPXRoaXMuai5nZXQoYSkpPyExOmE9PT0hMSYmdGhpcy5vPyEwOm51bGx9cmVtb3ZlUGFyYW1zKGEpe3JldHVybiBhLnNwbGl0KCI/IilbMF19fTtobi5wcm90b3R5cGUucmVtb3ZlUGFyYW1zPWhuLnByb3RvdHlwZS5yZW1vdmVQYXJhbXM7aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI9aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI7aG4ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZT1obi5wcm90b3R5cGUucmVxdWVzdENvbXBsZXRlO2huLmdldEluc3RhbmNlPWpuO3ZhciBrbj1jbGFzcyBleHRlbmRzIF8uZ2Z7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj0hMTt0aGlzLmo9bGYoKTt0aGlzLmoubGlzdGVuKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PntpZih0aGlzLnYmJl8ueCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgYT1mbigpLmdldCgiZXJyb3JzIiwhMCk7aWYoYSl7Zm9yKGxldCBiIGluIGEpaWYoYVtiXSl7bGV0IGM9bmV3IF8uWGooYiwic2VudCB2aWEgb2ZmbGluZV9lcnJvcnMiKTtjLm5hbWU9YVtiXS5uYW1lO2Muc3RhY2s9YVtiXS5zdGFjaztjLmxldmVsPWFbYl0ubGV2ZWw7Xy5VaShjKX1mbigpLnNldCgiZXJyb3JzIix7fSwyNTkyRTMsITApfX19KX1TYigpe3JldHVybiB0aGlzLmouU2IoKX1lZihhKXt0aGlzLmouaXNPbmxpbmU9YX1xdygpe3ZhciBhPXdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO3JldHVybiBhPT09dm9pZCAwPyEwOmF9Q3YoKXt0aGlzLnY9ITB9bGlzdGVuKGEsYil7cmV0dXJuIHRoaXMuai5saXN0ZW4oYSwKYil9UWooYSl7cmV0dXJuIG1mKHRoaXMuaixhKX19O2tuLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1rbi5wcm90b3R5cGUuUWo7a24ucHJvdG90eXBlLmxpc3Rlbj1rbi5wcm90b3R5cGUubGlzdGVuO2tuLnByb3RvdHlwZS5lbmFibGVFcnJvckZsdXNoaW5nPWtuLnByb3RvdHlwZS5Ddjtrbi5wcm90b3R5cGUuZ2V0V2luZG93U3RhdHVzPWtuLnByb3RvdHlwZS5xdztrbi5wcm90b3R5cGUubmV0d29ya1N0YXR1c0hpbnQ9a24ucHJvdG90eXBlLmVmO2tuLnByb3RvdHlwZS5pc05ldHdvcmtBdmFpbGFibGU9a24ucHJvdG90eXBlLlNiO2tuLmdldEluc3RhbmNlPWxuO18uT3M9Y2xhc3MgZXh0ZW5kcyBfLmdme2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKCk7dGhpcy5qPXRoaXMuRD0wO3RoaXMudj1sbigpO3ZhciBiPV8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy52KTtiJiYoYS5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PWEucmF0ZUxpbWl0LGIoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e21uKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnttbih0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihiKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVNiKCl7dmFyIGE9Cl8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpO3JldHVybiBhP2EuYmluZCh0aGlzLnYpKCk6ITB9ZWYoYSl7dmFyIGI9Xy5zYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UubmV0d29ya1N0YXR1c0hpbnQiKS5iaW5kKHRoaXMudik7YiYmYihhKX1hc3luYyBRaihhKXt2YXIgYj1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdCIpLmJpbmQodGhpcy52KTtyZXR1cm4gXy54KCJza2lwX25ldHdvcmtfY2hlY2tfaWZfY2ZyIikmJmpuKCkuaXNFbmRwb2ludENGUigiZ2VuZXJhdGVfMjA0Iik/bmV3IFByb21pc2UoYz0+e3RoaXMuZWYod2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHwhMCk7Yyh0aGlzLlNiKCkpfSk6Yj9iKGEpOiEwfX07dmFyIFBzLG5uPWNsYXNzIGV4dGVuZHMgTnN7Y29uc3RydWN0b3IoKXtQc3x8KFBzPW5ldyBfLk9zKHtTSjohMCxKSTohMH0pKTtzdXBlcih7Y2I6e091OlRtLEZmOlNtLFdwOlBtLEF5OlFtLG5uOlJtLHNldDpPbX0sU2E6UHMsaGFuZGxlRXJyb3I6KGEsYixjKT0+e3ZhciBkPWM/LmVycm9yPy5jb2RlO2Q9PT00MDB8fGQ9PT00MTU/KGE9bmV3IF8uWGooYS5tZXNzYWdlLGIsYz8uZXJyb3I/LmNvZGUpLF8uV2koYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOl8uVWkoYSl9LFRmOl8uV2ksR2Q6cW4sbm93Ol8uZWwsTHM6Z24sRGM6Xy5DaygpLEttOiJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixGbToicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9mZmxpbmUiLE9pOiEwLERpOi4xLEtqOl8uc2ooInBvdGVudGlhbF9lc2ZfZXJyb3JfbGltaXQiLDEwKSxLYTpfLngsYWg6IShfLldqKCkmJl8uc24oKSl9KTt0aGlzLkI9bmV3IF8uY3M7Xy54KCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiYKVW0oKTtYbCgiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKGEsYil7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKGEsYil9c2VuZFRoZW5Xcml0ZShhLGIsYyl7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKGEsYixjKX1zZW5kQW5kV3JpdGUoYSxiKXtifHwoYj17fSk7Yj1ybihhLGIpO18uV2ooKXx8KHRoaXMuT2M9ITEpO3N1cGVyLnNlbmRBbmRXcml0ZShhLGIpfWF3YWl0SW5pdGlhbGl6YXRpb24oKXtyZXR1cm4gdGhpcy5CLnByb21pc2V9fTtfLnVuPSExO18udG49Xy51Lnl0TmV0d29ya2xlc3NMb2dnaW5nSW5pdGlhbGl6YXRpb25PcHRpb25zfHx7aXNOd2xJbml0aWFsaXplZDpfLnVufTtfLnJhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsXy50bik7dmFyIERwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY29uZmlnXz1udWxsO2E/dGhpcy5jb25maWdfPWE6a20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKX1pc1JlYWR5KCl7IXRoaXMuY29uZmlnXyYma20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciBRcztRcz1fLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZXx8bmV3IF8udGg7Xy5Scz1fLnUueXRQdWJzdWJQdWJzdWJTdWJzY3JpYmVkS2V5c3x8e307Xy5Tcz1fLnUueXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5c3x8e307Xy5Ucz1fLnUueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtfLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU9Xy50aC5wcm90b3R5cGUuc3Vic2NyaWJlO18udGgucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9Xy50aC5wcm90b3R5cGUuY2k7Xy50aC5wcm90b3R5cGUucHVibGlzaD1fLnRoLnByb3RvdHlwZS5wdWJsaXNoO18udGgucHJvdG90eXBlLmNsZWFyPV8udGgucHJvdG90eXBlLmNsZWFyO18ucmEoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLFFzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YlRvcGljVG9LZXlzIixfLlNzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YklzU3luY2hyb25vdXMiLF8uVHMpOwpfLnJhKCJ5dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzIixfLlJzKTt2YXIgQ249RGF0ZS5ub3coKS50b1N0cmluZygpO0RhdGUubm93KCk7Xy5Mbj1TeW1ib2woIkNhIik7dmFyIEhuPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMua2V5PWF9fTt2YXIgT249Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IE1hcDt0aGlzLm89bmV3IE1hcH1yZXNvbHZlKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLlVzJiZhIGluc3RhbmNlb2YgXy5Vcz9Lbih0aGlzLGEpOmEgaW5zdGFuY2VvZiBIbj9Kbih0aGlzLGEua2V5LFtdLCEwKTpKbih0aGlzLGEsW10pfX07Xy5Wcz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX10b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbigke3RoaXMubmFtZX0pYH19O3ZhciBObjt2YXIgUG49d2luZG93O3ZhciBmbz1fLngoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKSYmUW4oKSE9PTAsVW49Xy54KCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIik7dmFyIGVvPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc2NoZWR1bGVyPV8uQ2soKTt0aGlzLm89bmV3IF8uY3M7dGhpcy5qPWE7Zm9yKGxldCBjPTA7Yzx0aGlzLmoubGVuZ3RoO2MrKyl7bGV0IGQ9dGhpcy5qW2NdO2E9KCk9PntkLnhoKCk7dGhpcy5qW2NdLk5qPSEwO3RoaXMuai5ldmVyeShlPT5lLk5qPT09ITApJiZ0aGlzLm8ucmVzb2x2ZSgpfTt2YXIgYj10aGlzLmdldFByaW9yaXR5KGQpO2I9dGhpcy5zY2hlZHVsZXIuR2EoYSxiKTt0aGlzLmpbY109ey4uLmQseGg6YSxqb2JJZDpifX19Y2FuY2VsKCl7Zm9yKGxldCBhIG9mIHRoaXMuailhLmpvYklkPT09dm9pZCAwfHxhLk5qfHx0aGlzLnNjaGVkdWxlci5BYShhLmpvYklkKSxhLk5qPSEwO3RoaXMuby5yZXNvbHZlKCl9Z2V0UHJpb3JpdHkoYSl7cmV0dXJuIGEucHJpb3JpdHk/PzB9fTtfLldzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9YTt0aGlzLnBsdWdpbnM9W107dGhpcy52PXZvaWQgMDt0aGlzLkI9e307Zm8mJlJuKHRoaXMuc3RhdGUpfWdldCBjdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pbnN0YWxsKGEpe3RoaXMucGx1Z2lucy5wdXNoKGEpO3JldHVybiB0aGlzfXVuaW5zdGFsbCguLi5hKXthLmZvckVhY2goYj0+e2I9dGhpcy5wbHVnaW5zLmluZGV4T2YoYik7Yj4tMSYmdGhpcy5wbHVnaW5zLnNwbGljZShiLDEpfSl9dHJhbnNpdGlvbihhLGIpe2ZvJiZTbih0aGlzLnN0YXRlKTt2YXIgYz10aGlzLnRyYW5zaXRpb25zLmZpbmQoZD0+QXJyYXkuaXNBcnJheShkLmZyb20pP2QuZnJvbS5maW5kKGU9PmU9PT10aGlzLnN0YXRlJiZkLnRvPT09YSk6ZC5mcm9tPT09dGhpcy5zdGF0ZSYmZC50bz09PWEpO2lmKGMpe3RoaXMuaiYmKFRuKHRoaXMuaiksdGhpcy5qPXZvaWQgMCk7Vm4odGhpcyxhLGIpO3RoaXMuc3RhdGU9YTtmbyYmUm4odGhpcy5zdGF0ZSk7CmM9Yy5hY3Rpb24uYmluZCh0aGlzKTtsZXQgZD10aGlzLnBsdWdpbnMuZmlsdGVyKGU9PmVbYV0pLm1hcChlPT5lW2FdKTtjKFpuKHRoaXMsZCksYil9ZWxzZSB0aHJvdyBFcnJvcigiR2FgIit0aGlzLnN0YXRlKyJgIithKTt9fTt2YXIgaG89Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoIm5vbmUiKTt0aGlzLm89bnVsbDt0aGlzLnY9MTA7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206Im5vbmUiLHRvOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86Im5vbmUiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOigpPT57fX0se2Zyb206Im5vbmUiLHRvOiJub25lIixhY3Rpb246KCk9Pnt9fV19RChhLGIpe3RoaXMubz1fLllqKCgpPT57dGhpcy5jdXJyZW50U3RhdGU9PT0iYXBwbGljYXRpb25fbmF2aWdhdGluZyImJnRoaXMudHJhbnNpdGlvbigibm9uZSIpfSw1RTMpO2EoYj8uZXZlbnQpfUsoYSxiKXt0aGlzLm8mJihfLmpmLkFhKHRoaXMubyksdGhpcy5vPW51bGwpO2EoYj8uZXZlbnQpfX0sZ287dmFyIHJvPV8uc2ooInl0Y3NpX2RlYnVnX21heF9zaXplIiwxMDApO3ZhciBYcz0wO3ZhciB5cT1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhcmd1bWVudHMpO3RoaXMuaj1hO3RoaXMudGltZXI9Yn19LHhxPW5ldyBfLnFtKCJhZnQtcmVjb3JkZWQiLHlxKTt2YXIgTnA9W3twbTphPT5gQ2Fubm90IHJlYWQgcHJvcGVydHkgJyR7YS5rZXl9J2AsSmo6e0Vycm9yOlt7cmVnZXhwOi8oUGVybWlzc2lvbiBkZW5pZWQpIHRvIGFjY2VzcyBwcm9wZXJ0eSAiKFteJ10rKSIvLGdyb3VwczpbInJlYXNvbiIsImtleSJdfV0sVHlwZUVycm9yOlt7cmVnZXhwOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovXHU2NWUwXHU2Y2Q1XHU4M2I3XHU1M2Q2XHU2NzJhXHU1YjlhXHU0ZTQ5XHU2MjE2IChudWxsfHVuZGVmaW5lZCkgXHU1ZjE1XHU3NTI4XHU3Njg0XHU1YzVlXHU2MDI3XHUyMDFjKFteXHUyMDFkXSspXHUyMDFkLyxncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7cmVnZXhwOi9cdWM4MTVcdWM3NThcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzRjIFx1YjYxMFx1YjI5NCAobnVsbHx1bmRlZmluZWQpIFx1Y2MzOFx1Yzg3MFx1Yzc3OCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNWM2XHVjMmI1XHViMmM4XHViMmU0Li8sCmdyb3VwczpbInZhbHVlIiwia2V5Il19LHtyZWdleHA6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHtyZWdleHA6L1VuYWJsZSB0byBnZXQgcHJvcGVydHkgJyhbXiddKyknIG9mICh1bmRlZmluZWQgb3IgbnVsbCkgcmVmZXJlbmNlLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7cmVnZXhwOi8obnVsbCkgaXMgbm90IGFuIG9iamVjdCBcKGV2YWx1YXRpbmcgJyg/OihbXi5dKylcLik/KFteJ10rKSdcKS8sZ3JvdXBzOlsidmFsdWUiLCJiYXNlIiwia2V5Il19XX19LHtwbTphPT5gQ2Fubm90IGNhbGwgJyR7YS5rZXl9J2AsSmo6e1R5cGVFcnJvcjpbe3JlZ2V4cDovKD86KFteIF0rKT9cLik/KFteIF0rKSBpcyBub3QgYSBmdW5jdGlvbi8sZ3JvdXBzOlsiYmFzZSIsImtleSJdfSx7cmVnZXhwOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLywKZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovT2JqZWN0ICguKikgaGFzIG5vIG1ldGhvZCAnKFteIF0rKScvLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3JlZ2V4cDovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovXHUzMGFhXHUzMGQ2XHUzMGI4XHUzMGE3XHUzMGFmXHUzMGM4XHUzMDZmICcoW14nXSspJyBcdTMwZDdcdTMwZWRcdTMwZDFcdTMwYzZcdTMwYTNcdTMwN2VcdTMwNWZcdTMwNmZcdTMwZTFcdTMwYmRcdTMwYzNcdTMwYzlcdTMwOTJcdTMwYjVcdTMwZGRcdTMwZmNcdTMwYzhcdTMwNTdcdTMwNjZcdTMwNDRcdTMwN2VcdTMwNWJcdTMwOTMvLGdyb3VwczpbImtleSJdfSx7cmVnZXhwOi9cdWFjMWNcdWNjYjRcdWFjMDAgJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc3NFx1YjA5OCBcdWJhNTRcdWMxMWNcdWI0ZGNcdWI5N2MgXHVjOWMwXHVjNmQwXHVkNTU4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJrZXkiXX1dfX0se3BtOmE9PmAke2Eua2V5fSBpcyBub3QgZGVmaW5lZGAsSmo6e1JlZmVyZW5jZUVycm9yOlt7cmVnZXhwOi8oLiopIGlzIG5vdCBkZWZpbmVkLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgQW89e2xlOltdLFNkOlt7Y2FsbGJhY2s6dm8sd2VpZ2h0OjUwMH0se2NhbGxiYWNrOndvLHdlaWdodDo1MDB9XX07dmFyIHlvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5TZD1bXTt0aGlzLmxlPVtdfX0seG87Xy5WcD1uZXcgXy50aDt2YXIgdnA9W107Xy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZEdlbFBheWxvYWRzIixmdW5jdGlvbigpe3JldHVybiB2cH0pO3ZhciBQbz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RvcmU9e307dGhpcy5qPXt9fXN0b3JlUGF5bG9hZChhLGIpe2E9SW8oYSk7dGhpcy5zdG9yZVthXT90aGlzLnN0b3JlW2FdLnB1c2goYik6KHRoaXMuaj17fSx0aGlzLnN0b3JlW2FdPVtiXSk7Xy54KCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmKGI9bmV3IEN1c3RvbUV2ZW50KCJUUkFOU1BPUlRJTkdfTkVXX0VWRU5UIiksd2luZG93LmRpc3BhdGNoRXZlbnQoYikpO3JldHVybiBhfXNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXtpZighYS5rZXlzLmxlbmd0aClyZXR1cm5bXTt2YXIgYj1Lbyh0aGlzLGEua2V5cy5zcGxpY2UoMCwxKVswXSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl0aGlzLnN0b3JlW2JbZF1dJiZhLnNpemVMaW1pdCYmKHRoaXMuc3RvcmVbYltkXV0ubGVuZ3RoPD1hLnNpemVMaW1pdD8oYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0pLGRlbGV0ZSB0aGlzLnN0b3JlW2JbZF1dKToKYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0uc3BsaWNlKDAsYS5zaXplTGltaXQpKSk7YT8uc2l6ZUxpbWl0JiZjLmxlbmd0aDxhPy5zaXplTGltaXQmJihhLnNpemVMaW1pdC09Yy5sZW5ndGgsYy5wdXNoKC4uLnRoaXMuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKGEpKSk7cmV0dXJuIGN9ZXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXthPUtvKHRoaXMsYSk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspdGhpcy5zdG9yZVthW2NdXSYmKGIucHVzaCguLi50aGlzLnN0b3JlW2FbY11dKSxkZWxldGUgdGhpcy5zdG9yZVthW2NdXSk7cmV0dXJuIGJ9Z2V0U2VxdWVuY2VDb3VudChhKXthPUtvKHRoaXMsYSk7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliKz10aGlzLnN0b3JlW2FbY11dPy5sZW5ndGh8fDA7cmV0dXJuIGJ9fTtQby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudD1Qby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudDsKUG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM9UG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM7UG8ucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcz1Qby5wcm90b3R5cGUuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzO1BvLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ9UG8ucHJvdG90eXBlLnN0b3JlUGF5bG9hZDt2YXIgeXA9bmV3IF8uVnMoIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UiKTt2YXIgbnA9Xy5zaigiaW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCIsMkUzKSxscD1fLnNqKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCksb3A9Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIiw1KSxObz12b2lkIDAsTW89bnVsbCxZcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj10aGlzLm89dGhpcy52PTA7dGhpcy5qPSExfX0sQXA9bmV3IFlzLHpwPW5ldyBZcyxrcD1uZXcgWXMsanA9bmV3IFlzLGNwLG1wPSEwLGdwPV8udS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O18ucmEoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZ3ApO3ZhciBYbz17fTt2YXIgQnA9Xy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsQnApO3ZhciBRcD1uZXcgU2V0LEtwPTAsWHA9MCxXcD0wLE1wPVtdLExwPVtdLFpwPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO3ZhciBacz17YV9iaWRfZjo0ODIsYV9iaWRfczo0ODEsYWE6MixhYWNpOjQzMyxhYWNyOjQzNCxhYl9yOjExLGFiX3M6MTAsYWJjOjU3OSxhYzoxOTMsYWNjOjUxMSxhY2k6NTEyLGFkXzBfZToxMyxhZF8wX3M6MTIsYWRfYmw6MTQsYWRfaToxNSxhZF9tYnM6MTYsYWRfcHI6NTYyLGFkX3ZpOjE3LGFkX3ZpcjoxOCxhZGE6MTk0LGFkYmNfZjo1NzYsYWRjOjE5NSxhZGZsX2Y6MTksYWRmbF9zOjIwLGFkbDoxOTYsYWRuczoxOTcsYWRzX2U6MjIsYWRzX3M6MjEsYWZiOjUxMyxhZmM6MTk4LGFmbDoxOTksYWZ0OjEsYWhiOjUxNCxhaToyMDAsYWlzX2E6NTAzLGFpc19yOjUwMixhaXNmOjIzLGFpc2k6MjQsYWlzcjoyNSxhaXNzOjI2LGFtbDoyMDEsYXBhX2E6MjAzLGFwYV9iOjIwMixhcGJzOjIwNCxhcHBfbDozLGFwcF9zaTo2MTIsYXBwX3NpZTo2NjEsYXBwZGVsX2k6MjcsYXBwaV9lOjYxNixhcHBpX3M6NjE1LGFwcjoyMDUsYXByZXM6NDM2LGFwc3VzOjQzNSxhcjoyMDYsYXI0MGs6MjgsCmFyYl9mOjUwNCxhcmM6MjA3LGFyZXE6MjA4LGFyZmI6MjksYXJpOjQsYXJyOjIwOSxhcnJoOjMwLGFzY2U6Nzg4LGFzY2Y6Nzg5LGFzY3M6Nzg3LGFzaXNmYjozMSxhc2lzcjozMixhc2lzcmg6MzMsYXNpc3M6MzQsYXNyOjIxMCxhc3luY19vcmNoX3RfYWN0OjcxMixhc3luY19vcmNoX3Rfbm90aWZ5OjcxMSxhdHJyOjUxNSxhdHJzOjUxNixhdHRfZToyMTEsYXR0X2Y6MjEyLGF0dF9mYzo3OTcsYXR0X2Zycjo3OTYsYXR0X2ZzOjc5MyxhdHRfZnNyOjc5NSxhdHRfcG5hOjc5NCxhdHRfczoyMTMsYXR0X3diOjIxNCxhd2ZsX2Y6NTU3LGF3Zmxfczo1NTgsYmFzZV9qc19yOjQ0MSxiY3A6MjE1LGJmOjIxNixiZ19lOjIxNyxiZ19pOjIxOCxiZ19sOjIyMCxiZ19zOjIyMSxiZ192OjIxOSxicGRfYzo0ODQsYnBkX3M6NDgzLGJwdDoyMjMsYnJfZTozNyxicl9sZDozOCxicl9scnByOjM5LGJyX2xycjo0MCxicl9sd206NTc3LGJyX3I6NDEsYnJfczo0MixicmVyOjM1LGJyZXM6MzYsYnJucjo0MywKYnJuczo0NCxicnBlOjQ1LGJycHM6NDYsYnJyX2U6NDcsYnJyX2k6NDgsYnJyX2l1czo0OSxiczoyMjIsY19jOjUwLGNfY3M6NTEsY19jc2ZzOjUyLGNfZDo1MyxjX2xhZjo1OSxjX2xhczo1OCxjX3JuZjo0MzgsY19ybnM6NDM3LGNjOjQ2NyxjY19jOjU0LGNjX2NmOjU2LGNjX2NzYWxhOjU1LGNjX2xhOjU3LGNmZzoyMjQsY2hsczoyMjUsY2hwczoyMjYsY2w6NDgwLGNtYzoyMjcsY21kX2g6NjI5LGNtaGw6MjI5LGNtaToyMjgsY21sOjIzMCxjbXA6Nzc5LGNtdjoyMzEsY3B0OjIzMixjcjozNjQsY3JfZXJyOjY2OSxjcl9yOjY3MCxjcl9zOjY2OCxjc2w6MjMzLGNzcl90OjYzMSxjdDo1LGN0X2xpOjYwLGRfbDo2MSxkX2xhZjo2MixkX2xhcjo2MyxkX2xhczo2NCxkX2xmOjY1LGRfbHM6NjYsZF9sdzo2NyxkX2x3Zjo2OCxkX2x3czo2OSxkYXNfYzozNjYsZGFzX3M6MzY1LGRjcDoyMzQsZGdfcGJfYzoyMzYsZGdfcGJfcjoyMzcsZGdfcGJfczoyMzUsZGhpYzoyMzgsZGw6MjM5LGRuc186MjQwLApkcm1fZ2tfZjozODgsZHJtX2drX3M6Mzg3LGRybV9rcl9yOjM5Mixkcm1fa3JfczozOTEsZHJtX25ldF9yOjM5MCxkcm1fbmV0X3M6Mzg5LGRybV9wYl9mOjM4Nixkcm1fcGJfczozODUsZHNfYWM6NzM2LGRzX2FzOjczNSxkc19jbGM6NzQwLGRzX2NzOjczNyxkc19kYzo3MzksZHNfZHM6NzM4LGVtcGE6NDMyLGVtcHU6NDMxLGVucF9lcnI6Njg1LGVucF9maTo2ODQsZW5wX3N0OjY4Myxlb3ByX3I6NjczLGVwX2FfcHJfcjo1MzIsZXBfYV9wcl9zOjUzMSxlcF9oYXZfZW5kOjUyNixlcF9oYXZfc3RhcnQ6NTI1LGVwX2luaXRfYXI6Njk5LGVwX2luaXRfY3VlOjYzNSxlcF9pbml0X2N1czo2MzQsZXBfaW5pdF9lcGU6NjM3LGVwX2luaXRfZXBzOjYzNixlcF9pbml0X2lqZTo2MzksZXBfaW5pdF9panM6NjM4LGVwX2luaXRfcHI6NTI3LGVwX2luaXRfcmU6NjQxLGVwX2luaXRfcnM6NjQwLGVwX2luaXRfd2VlOjY0MyxlcF9pbml0X3dlczo2NDIsZXBfbWFfcmVwcjo1NDMsZXBfbWFfcnI6NTMzLAplcF9tYV9zZXByOjU0MixlcF9tYV9zcHI6NTM0LGVwX3BfbDo1MzAsZXBfcHJfcjo1MjksZXBfcHJfczo1MjgsZXBfcl9wcmVfcjo1NDEsZXBfcl9ycjo1MzUsZXBfcl9zbWFyOjUzNixlcF9yZWNfZW5kOjUzOCxlcF9yZWNfc3RhcnQ6NTM3LGVwX3JlcHNfZW5kOjU0MCxlcF9yZXBzX3N0YXJ0OjUzOSxlcGU6NjE4LGVwczo2MTcsZXJfY2w6NjUzLGVyX25zOjY1Mixlcl9wZTo2NTAsZXJfcHM6NjQ5LGVyX3M6NjQ4LGVyX3NfbnI6NzkwLGVyX3NfbnM6Nzg0LGVyX3Q6NjUxLGZhYl9yOjI0NixmY2Jfcjo1MDYsZmlyZTo3MCxmaXJzOjcxLGZtdGg6MjQxLGZvb3RfanM6MjQyLGZwdDoyNDMsZnJfczo1NjEsZnM6MjQ0LGZzYzoyNDUsZnNzYjBfYTo3NSxmc3NiMF9mcjo3NCxmc3NiMF9ucjo3Myxmc3NiMF9uczo3MixmdF86NDM5LGZ0bDo3LGZ0cjo0NzUsZnZiX3I6MjQ3LGZ2ZjoyNDgsZnlkX2dmOjc2NyxmeWRfZ3M6NzY2LGdjYzoyNDksZ2NmbDoyNTAsZ2Nzcjo3NixnZXBfZXJyOjgwMCwKZ2VwX3JlcTo3OTgsZ2VwX3Jlczo3OTksZ2dzcjo3NyxnaXdhX2E6NjI3LGdpd2FfZDo2MjgsZ2xjOjU5MyxnbGU6MjUxLGdsczoyNTIsZ3BlOjI1MyxncmM6MjU0LGdyaXdfbnI6Nzg2LGdyaXdfbnM6Nzg1LGdzX3I6NzM0LGdzX3M6NzMzLGdzbWQ6NTg2LGd1X3I6NjIwLGd2OjQ4NSxnd19haWVyOjc3MSxnd19hcmY6NzcyLGd3X2FybmFmOjc3NSxnd19hcm5uYWY6Nzc2LGd3X2FybnM6Nzc3LGd3X2FybnN1Ojc3OCxnd19hcnM6Nzc0LGd3X2Fyc3U6NzczLGd3X21hYWY6NjMzLGd3X21hYXM6NjMyLGhiZmc6Njc3LGhnY3I6MjU1LGhyOjI1NixocmU6MzYzLGhyczozNjIsaHM6MzczLGh0bWxfZmJfcjo3NTUsaHRtbF9mZTo3NDgsaHRtbF9mczo3NDcsaHRtbF9md2U6NzUyLGh0bWxfZndzOjc1MSxodG1sX2pjZTo3NTQsaHRtbF9qY3M6NzUzLGh0bWxfbGJfcjo3NTYsaHRtbF9zZTo3NTAsaHRtbF9zczo3NDksaV9ycDo0NzcsaV9ycTo0NzYsaXBfczo2NDYsaXBjOjI1NyxpcHM6MjU4LAppc21wX2E6ODM2LGlzbXBfYzo4MzgsaXNtcF9kOjgzOSxpc21wX2k6ODM1LGlzbXBfcDo4NDAsaXNtcF9yYzo4MzcsaXRfZ3A6NzgsaXZfczo1MDUsanNwOjI1OSxqc3I6MjYwLGtZVExhdGVuY3lNREVQcm9kdWN0U3RpY2tlckVkaXRvckNhbmNlbGxlZDo4MDEsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yRmluaXNoZWQ6ODAyLGwyczoyNjEsbGNfZnJyOjY2MCxsY19zX3M6NjU5LGxjX3NfdTo2NTgsbGNwOjI2MixsZF9zOjQ0MCxsaW06MjYzLGxwY2Y6MjY0LGxwY3M6MjY1LGxwczoyNjYsbHNfYzozNjgsbHNfczozNjcsbHNzOjI2NyxsdjoyNjgsbWFfY2w6NTUxLG1hX2Zmcjo1NTIsbWFfZnVhOjU1NCxtYV9ncjo1NTMsbWFfaWw6NTczLG1haW46NzksbWFpbl9qc19yOjQ0MixtYWluX2pzX3JxOjQ0MyxtYl9zOjUwNyxtYmFwX2M6Mzg0LG1iY19hbGM6NzMyLG1iY19hc2w6NzMxLG1iY19jOjM3NSxtYmNfczozNzQsbWJnY2hpZF9ycjo3NDQsbWJnY2hpZF9yczo3NDYsCm1iZ3JfcmY6NjU3LG1iZ3JfcnI6Mzc5LG1iZ3JfcnM6Mzc4LG1ibGNfYzozNzcsbWJsY19zOjM3NixtYmxjaGlkX2M6NzQ1LG1ibGNoaWRfczo3NDMsbWJsY3JpZF9jOjc0MixtYmxjcmlkX3M6NzQxLG1ic19jOjM4MSxtYnNfcnI6MzgzLG1ic19yczozODIsbWJzX3M6MzgwLG1keF9jY3A6ODAsbWR4X2Njczo4MSxtZHhfY2NzdDo4MixtZHhfY3I6ODMsbWR4X2NzOjg0LG1keF9sczo4NSxtZHhfb2ZmOjg2LG1keF9zYzo4NyxtZV9iOjU1NSxtZV9jOjY4NyxtZV9mOjU1NixtZV9mYTo2ODgsbWVzdl9zOjUwOSxtbV9pZTo3MjAsbW1faXM6NzE5LG1yYzoyNjksbXJzOjI3MCxtc2E6MjcxLG1zdGk6ODgsbXN0cjo4OSxuX2N0OjcwMixuX3NyOjY5NyxuX3N3OjY5OCwibmNbMC05XSI6MjcyLG5jbDoyNzMsbmN0OjI3NCxuZDoyNzUsbmRuc2U6Mjc2LG5kbnNzOjI3NywibnBbMC05XSI6Mjc4LG5yOjI3OSxucmU6MjgwLG5yZXFzOjI4MSxucmVzZToyODIsbnJlc3M6MjgzLG5ycnBzOjkwLApucnM6Mjg0LG5zdGNwczoyODUsbnRjcGU6Mjg2LG50Y3BzOjI4Nyxud3A6Mjg4LG9hZDJzOjQyNSxvYWZzX3I6NDA3LG9hZnNfcnA6NDA5LG9haXNyOjQwNSxvYXIyczo0MTIsb2FycDJzOjQyNyxvY3NpX3o6OTEsb2N0azo2MjEsb2N0cDo2MjIsb2ZhcnA6NDIzLG9mZG86NDAwLG9mZG9zOjM5OCxvZnI6NDE3LG9mdnJwOjQyNCxvZ3NmX2M6Mzk1LG9nc2ZfczozOTQsb2hyX3I6NzY1LG9ocl9zOjc2NCxvbDo2LG9sX2k6OCxvbG9jX2U6ODMwLG9sb2Nfc2E6ODI5LG9sb2Nfc3M6ODI4LG9tZF9jOjQyMixvbWRfczo0MjEsb21wX2M6NDE5LG9tcF9yOjQxOCxvcGZjOjY4MCxvcHJfcjo0MTQsb3ByZF9zOjQxNSxvcHJnejJfZTo4NDIsb3ByZ3oyX2Y6ODQzLG9wcmd6Ml9zOjg0MSxvcHJnel9zOjY4OSxvcHJyOjQxNixvcjEwMGs6NDExLG9yX2ZlOjQyOSxvcl9mczo0MzAsb3JfaTozOTMsb3JfcDozOTcsb3JjaF9yX2Q6Njk0LG9yY2hfcl9zOjY5NSxvcmNoX3RfcG1kOjc3MCxvcmNoX3RfcG1zOjc2OSwKb3JjaF90X3RjZWQ6NzA4LG9yY2hfdF90Y2VzOjcwNSxvcmNoX3RfdGQ6NjkyLG9yY2hfdF90bWQ6ODA0LG9yY2hfdF90bXM6ODAzLG9yY2hfdF91ZDo2OTMsb3JjaF90X3VzOjY5NixvcmZiOjQwNCxvcmhfcjo0MDMsb3Jtazo0MjAsb3JxcGJfYTo4MzEsb3JxcGJfZTo4MzQsb3JxcGJfczo4MzIsb3JxcGJfdzo4MzMsb3Nkbzo0MDEsb3Nkb2Y6NDAyLG9zZG9zOjM5OSxvc29yOjM5NixvdmQyczo0MjYsb3Zmc19yOjQwOCxvdmZzX3JwOjQxMCxvdmlzcjo0MDYsb3ZyMnM6NDEzLG92cnAyczo0MjgscGFjOjI4OSxwYXJpOjUxNyxwYXQ6MjkwLHBiMF9zOjYxMSxwYl9ycV9hdXRoejo0NDYscGJfcnFfY3R0X2NmbTo0NDcscGJjX2U6NjYzLHBiY19zOjY2MixwYmZfYzo5MixwYnA6NDg2LHBicmVzdW1lOjI5MixwYnM6NDg3LHBidToyOTMscGM6NDg4LHBjYzo1NDYscGNlOjU0NyxwY3E6NTQ0LHBjcjo1NDUscGN1X2FwOjgwOSxwY3VfY2U6NTgxLHBjdV9jczo1ODAscGN1X3JlOjgwOCxwY3VfcnM6ODA3LApwY3Vfczo4MDUscGN1X3NlOjgwNixwZGE6Mjk0LHBkYzoyOTUscGRyOjI5NixwZToyOTcscGVtX3I6NDQ0LHBlbV9ycTo0NDUscGZqZTozMDkscGZycjozMDUscGZyczozMDYscGZzOjMwNyxwZnQ6MzA4LHBmdF9pOjkzLHBsX2M6MjkxLHBsX2k6NDg5LHBsX2ludDo0OTAscGxfcjo0OTEscGxfcmM6NzAzLHBsX3M6NDkyLHBsX3NzOjQ5MyxwbGV2OjMxMCxwbGpzX3I6NDQ4LHBsanNfcnE6NDQ5LHBsdnM6NzIzLHBvdF9hZjo5Nyxwb3RfYXM6OTYscG90X2NtZTo1NjkscG90X2NtZjoyOTkscG90X2NtczoyOTgscG90X2NzbWU6NTcwLHBvdF9jc21mOjMwMSxwb3RfY3NtczozMDAscG90X2lmOjMwNCxwb3RfaW5pdGY6OTUscG90X2lzYzozMDIscG90X2lzdDozMDMscG90X3NlOjU2NSxwb3Rfc2Y6NTY0LHBvdF9zczo1NjMscG90X3hlOjU2OCxwb3RfeGY6NTY3LHBvdF94czo1NjYscG90cGU6OTQscHB1Ojk4LHByb2Nfazo2MTMscHJvY19rX2w6NjE0LHBzOjMxMSxwc19iczo2NDcscHNfYzo0OTQsCnBzX2VzOjk5LHBzX3BhOjY4MSxwc19waWhmOjU5Nyxwc19waWhzOjU5Nixwc19yOjM2MCxwc19zOjM2MSxwc19zZ2Y6NTk1LHBzX3Nnczo1OTQscHNucjo0OTUscHNuczo0OTYscHNwZToxMDAscHNwczoxMDEscHRfbWU6ODE1LHB0X21mOjgxNCxwdF9tczo4MTMscHRfcGllOjgxMixwdF9waWY6ODExLHB0X3Bpczo4MTAscHRfcGlzaDo2MDYscHZyaTo1MTgscHdjOjMxMixxb2VzOjMxMyxyX2Nfc2xkOjQ1MCxyX2Nfc3JxOjQ1MSxyX2Nvbm5lY3RfYmFja2VuZDo0NTIscl9jb25uZWN0X2JhY2tlbmRfc3VjY2Vzczo0NTMscl9jb25uZWN0ZWQ6NDU0LHJfY29uc3RydWN0aW9uOjQ1NSxyX2Rpc2Nvbm5lY3RlZDo0NTYscl9lYmk6NjY0LHJfZW9kOjU4NSxyX2Y6NDU3LHJfb3I6NzEzLHJfcGw6MTA1LHJfcHM6MTA2LHJfcnFfcGx5OjQ1OCxyX3NfcGx5bHN0OjQ1OSxyX3NfdmlkOjQ2MCxyX3N0YXR1c191cGRhdGU6NDYxLHJfdHI6MTA3LHJfdnRjOjEwNCxyX3dpcGJjOjU4NCxyX3ducjo3OTIsCnJfd25zOjc5MSxyX3dycjoxMDMscl93cnM6MTAyLHJfd3NycDo2MDkscl93c3JyOjYwOCxyX3dzcnM6NjA3LHJjdl86MzE0LHJlbW92ZV9zcGxhc2g6NDYyLHJlcV86MzE1LHJmZzozMTYscmdyX25yZjo2MDAscmdyX3M6NTk5LHJwZTo4MTYscnBseV9ycWQ6NDYzLHJwczo4MTcscnNfczo1MDgscnNhZV9wYzozMzIscnNhZV9wZWo6MzM0LHJzYWVfcGo6MzMzLHJzYmVfcGM6MzIzLHJzYmVfcGVqOjMyNSxyc2JlX3BqOjMyNCxyc2VfcGM6MzIwLHJzZV9wZWo6MzIyLHJzZV9wajozMjEscnNlZl9wYzozMjkscnNlZl9wZWo6MzMxLHJzZWZfcGo6MzMwLHJzZXNfcGM6MzI2LHJzZXNfcGVqOjMyOCxyc2VzX3BqOjMyNyxyc2ZfcGM6MzE3LHJzZl9wZWo6MzE5LHJzZl9wajozMTgscnRpbWVfOjMzNSxydXJsX2U6MTA4LHJ1cmxfcjoxMDkscnVybF9zOjExMCxydXJscGU6MTExLHJ1cmxwczoxMTIsczN0X3I6NDcyLHNhX2Y6NjI0LHNhX2ZvOjYyNSxzYV9zOjYyMyxzYWZfZnA6NjY1LHNhZl9yOjY2NiwKc2FmX3JlOjY2NyxzYXNfaTo2MjYsc2NnYXRfZmZzOjU2MCxzY2dhdF9mczo1NTksc2RhX2Y6NjA1LHNkYV9pOjYwNCxzZGFfcmVjcDo2MDEsc2RhX3JzcHA6NjAzLHNkYV9yc3ByOjYwMixzZGxfZTo2NTUsc2RsX3M6NjU0LHNkbF90OjY1NixzZl9pOjExMyxzZ3NjX3I6NzgxLHNnc2Nfczo3ODAsc2hvd19jYWxsX3RvX2Nhc3Q6NDY0LHNocmJfYzoxNjUsc2hyb19jOjE3MCxzaHJvX3I6MTY3LHNocnBfYzoxNjksc2hycF9sZDoxNjYsc2hycF9wOjE2OCxzb19yOjExOSxzb19yZToxMTgsc29fcnE6MTIwLHNwYToxMTQsc3BkOjExNSxzcGY6MTE2LHNwbnJfaDo2NzIsc3Bucl9zOjY3MSxzcHI6Njc4LHNyX2U6MTE3LHNyX3A6MTIxLHNyX3BhOjEyMixzcl9yOjEyMyxzcl9yZToxMjQsc3JfczoxMjUsc3JfdWk6MTI2LHNydDozMzYsc3Nfcjo0Njksc3Nfczo0Njgsc3Nfc2Zfczo3MjQsc3Nfc2Zfdzo3MjUsc3NucjoxMjcsc3NuczoxMjgsc3RjcF86MzM3LHN0ZV9hbGY6NTg5LHN0ZV9jOjU5MiwKc3RlX2VsZjo1OTAsc3RlX2Y6NTkxLHN0ZV9mdGw6NTg4LHN0ZV9sOjU4NyxzdHRzX2I6NTgyLHN0dHNfZjo1ODMsc3R2c19mOjY5MSxzdHZzX3M6NjkwLHN2ZTo0NjYsc3ZzOjQ2NSxzd19mYjo1MTAsc3dfaTo3ODMsc3dfcjo0OTcsc3dfczo0OTgsc3dzbnI6ODE5LHN3c25zOjgxOCxzd3NwZTo4MjEsc3dzcHM6ODIwLHRjcF86MzM4LHRlbnhfbDo0NzEsdGVueF9yOjQ3MCx0aDBfaDo2MTAsdGgwX25jOjY3NSx0aDBfbmU6Njc2LHRoMF9ucjoxMjksdGgwX25zOjY3NCx0aF9jXzE6NzA5LHRoX2RfMTo3MTAsdGhfbF8xOjEzMCx0aF9zXzE6NTc4LHRoc2IwX2ZyOjEzNCx0aHNiMF9uZToxMzEsdGhzYjBfbnI6MTMyLHRoc2IwX25zOjEzMyx0dGM6MzM5LHR0Y3I6MzQwLHVpX2w6MTM1LHVpYmZfYzoxNDEsdWliZl9yOjE0Myx1aWJmX3M6MTQyLHVpc2ZfcjoxNDQsdWl3d2FfYmM6NjE5LHVpd3dhX2M6MTM2LHVpd3dhX2U6MTQwLHVpd3dhX3ByOjEzOSx1aXd3YV9yOjEzOCx1aXd3YV9zOjEzNywKdWxyc19jOjM3MCx1bHJzX3M6MzY5LHVua25vd246MCx1cjozNDEsdmM6NjgyLHZjYzo1MTksdmNpOjUyMCx2ZGE6MzQyLHZkZXVjOjM0Myx2ZGV1cjozNDQsdmRldXM6MzQ1LHZkbnM6MzQ2LHZmYjo1MjEsdmZwOjM0Nyx2aGI6NTIyLHZpcjozNDgsdmlyYzozNDksdmlzX2E6NTAwLHZpc19yOjQ5OSx2aXNmOjE0NSx2aXNpOjE0Nix2aXNyOjE0Nyx2aXNzOjE0OCx2b3pfY3g6MTc5LHZvel9lb3U6MTg3LHZvel9lcnI6MTg0LHZvel9lcnJfbXM6MTgwLHZvel9lcnJfbm1wOjE4MSx2b3pfZXJyX29mZjoxODMsdm96X2Vycl91YXI6MTgyLHZvel9mdHI6MTg4LHZvel9mdmM6MTg5LHZvel9scl9sc286MTg1LHZvel9scl9tZDoxODYsdm96X21mOjE3Mix2b3pfbXM6MTcxLHZvel9ycWY6MTc0LHZvel9ycXM6MTczLHZvel9zZjoxNzgsdm96X3NzOjE3Nyx2b3pfdnA6MTc1LHZvel92dDoxNzYsdnBsOjM1MCx2cjozNTEsdnIxMDBrOjE0OSx2cmJfZjo1MDEsdnJjOjM1Mix2cmVxOjM1Myx2cmZiOjE1MCwKdnJpOjksdnJyOjM1NCx2cnJfcjo0NzQsdnJyX3M6NDczLHZycmg6MTUxLHZzaXNmYjoxNTIsdnNpc3I6MTUzLHZzaXNyaDoxNTQsdnNpc3M6MTU1LHZ0YTozNTUsdnRycjo1MjMsdnRyczo1MjQsd19zdDoxNTYsd2FzbV9mYTo4MjYsd2FzbV9mZXJyOjgyNyx3YXNtX2Z3OjgyNSx3YXNtX3M6ODI0LHdjOjM3Mix3Y3I6MzU2LHdlYmZlX2U6NzI4LHdlYmZlX2dibV9yOjc1OCx3ZWJmZV9nYm1fczo3NTcsd2ViZmVfZ2xfcjo3NjIsd2ViZmVfZ2xfczo3NjEsd2ViZmVfZ3Nfcjo3NjAsd2ViZmVfZ3Nfczo3NTksd2ViZmVfZ3VzX3I6NzMwLHdlYmZlX2d1c19zOjcyOSx3ZWJmZV9ndm1fczo3NjMsd2ViZmVfczo3Mjcsd2ZmZTozNTcsd2ZmczozNTgsd2ZnOjM1OSx3bl9lOjE2Mix3bl9sOjM3MSx3bl9yOjE1OSx3bl9ycDo0Nzgsd25fczoxNjAsd25fc2w6MTYxLHdubDoxNTgsd25sX2Q6ODIzLHdubF9tcDo1NzEsd25sX3BkOjgyMix3bmxyOjU3Mix3bmxzOjE1Nyx3bnBlOjE2Myx3bnBzOjE2NCwKd3A6NDc5LHdzX2NlOjE5MCx3c19zczoxOTEsd3Nfc3NyOjE5Mix5Y2VjOjU0OSx5Y2VmOjU0OCx5Y2Z0cjo2NDUseWNpZjo1NTAseWNtc2Y6NjQ0LHljcmM6NzE4LHljcmY6NzE3LHljcnM6NzE0LHljcnNjOjcxNSx5Y3J1ZWE6NzE2fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsXy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fSk7dmFyIGJxPV8udS55dExvZ2dpbmdMYXRlbmN5VXNhZ2VTdGF0c198fHt9O18ucmEoInl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzXyIsYnEpOwp2YXIgJHA9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9MH10aWNrKGEsYixjLGQpe2NxKHRoaXMsYHRpY2tfJHthfV8ke2J9YCl8fChjPXt0aW1lc3RhbXA6YyxjdHRBdXRoSW5mbzpkfSxiPXt0aWNrTmFtZTphLGNsaWVudEFjdGlvbk5vbmNlOmJ9LF8ueCgieW91dHViZV93ZWJfY3NpX3RpY2tzX21pZ3JhdGlvbiIpJiYoYT1ac1thXSxhIT09dm9pZCAwJiYoYi50aWNrPWEsZGVsZXRlIGIudGlja05hbWUpKSxfLkVwKCJsYXRlbmN5QWN0aW9uVGlja2VkIixiLGMpKX1pbmZvKGEsYixjKXt2YXIgZD1PYmplY3Qua2V5cyhhKS5qb2luKCIiKTtjcSh0aGlzLGBpbmZvXyR7ZH1fJHtifWApfHwoYT1PYmplY3QuYXNzaWduKHt9LGEpLGEuY2xpZW50QWN0aW9uTm9uY2U9YixfLkVwKCJsYXRlbmN5QWN0aW9uSW5mbyIsYSx7Y3R0QXV0aEluZm86Y30pKX1qc3BiSW5mbygpe31zcGFuKGEsYixjLGQpe3ZhciBlPU9iamVjdC5rZXlzKGEpLmpvaW4oIiIpO2lmKGR8fCFjcSh0aGlzLGBzcGFuXyR7ZX1fJHtifWApKWEuY2xpZW50QWN0aW9uTm9uY2U9CmIsXy5FcCgibGF0ZW5jeUFjdGlvblNwYW4iLGEse2N0dEF1dGhJbmZvOmN9KX19O3ZhciAkcyxhdDskcz13aW5kb3c7YXQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnRpbWluZz17fTt0aGlzLmNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1zQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9O3RoaXMub0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fX19O18uc3E9JHMucGVyZm9ybWFuY2V8fCRzLm1velBlcmZvcm1hbmNlfHwkcy5tc1BlcmZvcm1hbmNlfHwkcy53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IGF0O3ZhciBscT1fLkZuKCk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Um9vdFZlVHlwZSIsXy5ncSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3VycmVudENzbiIsXy5pcSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3R0QXV0aEluZm8iLF8ua3EpO18ucmEoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLF8ubXEpO3ZhciB3cSxycTt3cT0hMTtycT0hMTtfLmJ0PSgwLF8uQ2EpKF8uc3EuY2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3Eud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubW96Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubXNDbGVhclJlc291cmNlVGltaW5nc3x8Xy5zcS5vQ2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uZ2QsXy5zcSk7dmFyIGR0OwpfLmN0PV8uVmkoZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7aWYoIV8ueCgid2ViX2NzaV9hY3Rpb25fc2FtcGxpbmdfZW5hYmxlZCIpfHwhXy5rbyhmKS5hY3Rpb25EaXNhYmxlZCl7dmFyIGs9aD8uc3BhblN0YXR1cyxsPWg/LnJvb3RTcGFuTm9uY2U7bGV0IG09Xy5ubyhmKTttLmdlbFNwYW5zP20uZ2VsU3BhbnNbYV09ITA6bS5nZWxTcGFucz17W2FdOiEwfTtYcysrO2E9e3NwYW5OYW1lOmEsc3Bhbkxlbmd0aFVzZWM6U3RyaW5nKE1hdGgucm91bmQoYioxRTMpKSxzcGFuTm9uY2U6WHMscm9vdFNwYW5Ob25jZTpsfHxYc307ayYmKGEuc3BhblN0YXR1cz1rKTtkJiYoYS5zcGFuSW5mbz1kKTtlJiYoYS5wYXJlbnRTcGFuTm9uY2U9ZSk7YyYmKGEuc3BhblN0YXJ0VGltZVVzZWM9U3RyaW5nKE1hdGgucm91bmQoYyoxRTMpKSk7Yz1hO18udW8oZnx8IiIpLnNwYW5bU3RyaW5nKGMuc3Bhbk5hbWUpXT1jO2Q9Xy5ubyhmKTtkLmdlbFNwYW5zfHwoZC5nZWxTcGFucz17fSk7Xy55bihkLmdlbFNwYW5zLGMpOwpkPV8ucG8oZik7Zj1fLmtvKGYpLmN0dEF1dGhJbmZvO2FxKCkuc3BhbihjLGQsZixoPy5xdSk7cmV0dXJuIGMuc3Bhbk5vbmNlfX0pO2R0PXdpbmRvdztkdC55dGNzaSYmKGR0Lnl0Y3NpLmluZm9HZWw9Xy56cSxkdC55dGNzaS50aWNrPV8uQXEpO3ZhciBldDtldD1uZXcgXy5jcztfLmZ0PWV0LnByb21pc2U7KGZ1bmN0aW9uKGEpe18uQXEoIm1tX2lzIik7dmFyIGI9bmV3ICRyO18uVWQoYik7Xy54KCJ3ZWJfZW5hYmxlX2xhenlfY3NzIikmJihuZXcgUHIpLmluaXQoKTtiLmVuKCgpPT57ZmgoKTtfLkFxKCJtbV9pZSIpO2E/LigpfSk7Yi5abihRZy5FUlJPUiwoYyxkLGUpPT57Xy5VaShFcnJvcigiSGFgIitkKyJgIitlKSl9KX0pKCgpPT57ZXQucmVzb2x2ZSgpfSk7Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZT1mdW5jdGlvbihhLGIpe2lmKCFfLlFkKXtpZighXy5UZClyZXR1cm47Xy5VZChfLlRkKCkpfV8uUWQuVGgoYSxiKX07Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZSgncm9vdC9zeTAvbjczcXdmOjEvc3kxL3N5MjozL2l1VDVPYzo0L3N5My9VVUpxVmU6MSw2L3N5NS9zeTQ6OC9NcEp3WmM6MSw2LDkvc3k2L3N5Nzo4L3N5ODpjL3N5Yy9zeWc6YixlL3N5aDpmL3N5YS9zeTFmL3N5M2M6aS9zeTNxOmkvc3k1YS9zeTU2L3N5NTgvc3k1YjpqLGssbCxtLG4vc3k1OTpqLG0sbi9zeTNkL3N5OTozLGMsZyxoL3N5ay9zeTU3L3N5YjpzL3N5ZDo4LGUvc3k1YzpqLGwsbSxuL3N5NWU6ayxxLHcvc3llL3N5Zi9zeWkvc3lqL3N5bC9zeW0vc3kxaC9zeTFlL3N5MWw6MTUvc3kzODoxNCwxNi9zeXA6MSw5LGMvc3l1OmMvc3lzOmQsMTgsMTkvc3kxaS9zeTJkL3N5Mms6MWEvc3kyajoxZC9zeTJ3OjFhL3N5MTkvc3kxcC9zeTIxL3N5Mm0vc3kybjoxai9zeTFiL3N5MXovc3kydS9zeTFrOmMsdiwxaCwxaSwxaywxbCwxbSwxbi9zeTJsL3N5MXU6MWcsMW4vc3kzMS9zeXY6Yy9zeTEwOjE4L3N5ejoxdC9zeXk6MWEvc3kzNjpjL3N5M2Y6Yy9zeTFtOmIsMWYsMXEsMXIsMXMsMXUsMXYsMXcsMXgvc3kyci9zeTNlL3N5M2E6aC9zeTEyOjFhL3N5M2c6MXUvc3kzaDoxOS9zeTFxOmcsaixxLDFvLDFwLDF5LDF6LDIwLDIxLDIyLDIzLDI0L3N5M2k6MXovc3kzbToxZS9zeTQzOjFlL3N5NDQ6MWUvc3k0ZjoxZS9zeTQ3OjFlL3N5NGc6MWUvc3k0aC9zeTRpOjE5L3N5eDoxYS9zeXQ6MWEvc3lyOjJnL3N5MTg6MWQsMXMsMmYsMmgvc3kyby9zeTMyL3N5M2I6MTksMW8sMXUvc3l3OjE4L3N5MTc6MjEsMm0vc3kzay9zeTFuOjFvLDFzLDJoLDJuLDJvL3N5M2o6MXcsMmssMmwsMnAvc3kxdi9zeTF5L3N5MnM6MTYvc3kyei9zeTFkL3N5M3Q6MTkvc3k0ajpqLGsscSwxZiwxdSwxdywxeCwyaywydi9zeTRkOmMsMWIvc3k0azoxOCwxcy9zeTQxOmMvc3k0MjoxOSwzMC9zeTJjOjExLDI1LDI2LDI3LDI4LDI5LDJhLDJiLDJjLDJkLDJlLDJpLDJqLDJxLDJyLDJzLDJ0LDJ1LDJ3LDJ4LDJ5LDJ6LDMxL3N5MWo6MTYvc3kyNDozMy9zeTRsOjE5LDMwL3N5MjM6MW8vc3kyNS9zeTJpOjE5LDM3L3N5NDYvc3k0cTozMiwzNiwzOCwzOS9zeW46MTcsMWMsMzQsMzUsM2Evc3kzMy9zeTJ2OjE4L3N5MWE6ayxtLHQsdSwyNSwyZiwybCwzYywzZC9zeTRuL3N5NG86M2Yvc3kzeC9zeTN6L3N5NHA6aixrLDFhLDFzLDF1LDF3LDF4LDNnLDNoLDNpL3N5Mjkvc3kzbDoxZS9zeTFvOjFtL3N5Mmg6M20vc3kxNDoxdCwyMi9zeTJmOmosayxxLDFzLDF3LDF4LDIzLDNvL3N5Mmcvc3kzcy9zeTQwOjFvL3N5M3Ivc3kzdS9zeTN2L3N5MWcvc3kzcC9zeTN3OmIsaiwxYSwxcywxdywxeCwyMywzaCwzdi9zeTN5OjFlL3N5M286MjUsMmksMmwsMncsM2ksM3AsM3IsM3QsM3UsM3csM3gsM3ksM3ovc3kxcjoyaywycywydCwzMSwzbiwzcSwzcyw0MC9zeTRzL3N5MnEvc3kyeS9zeTJ0OjFuLDNkL3N5NHUvc3k0dDoxZS9zeTI3OjFiLDF2LDF3LDNxLDQ2LDQ3L3N5MnA6MWUvc3kzbjoxZS9zeTQ1OjFlL3N5MjYvc3k0ODoxZS9zeTQ5OjFlL3N5NGEvc3k0Yjo0Zi9zeTRjOjNvLDRnL3N5Mjg6MjUsMjYsMjcsMmIsMmksMnAsMncsMnksNGMsNGQsNGUsNGgvc3k0ZToxZS9zeTJhOmssMjgsMnYsMzgsMzksNGEsNGIsNGksNGovc3kxdC9zeTRtOjE2L3N5MmI6MzIsMzUsMzgsMzksM28sNGwsNG0vc3kyZTozayw0MS9zeTIyL3N5MzAvc3k1MjoxOSwxcywyMy9zeTU0OjFhL3N5Mzcvc3kyMDoxaS9zeTM1OjFzLDF1LDF3LDJnL3N5MzQ6aywxbiwxeiwydCwzYyw0dCw0dSw0di9zeTE1OjF1L3N5cTp3LDEwLDNiLDNlLDNqLDNsLDQyLDQzLDQ0LDQ1LDQ4LDQ5LDRrLDRuLDRvLDRwLDRxLDRyLDRzLDR3LDR4L3N5NHcvc3lvOm8scCxyLDR5LDR6L3N5MTE6ZCwxOC9zeTEzOjF1LDIyLDUxL3N5MTY6Mm0vc3kxdy9zeTUxOjFmLDNwLDQ2LDRyLDR2L3N5Mngvc3kxeDo0eSw1NCw1NSw1Ni9zeTR2OmosayxxLDFhLDF3LDIzLDNyLDQ1LDR6L3N5Mzkvc3kxczo0cS9zeTR6OjFlL3N5NWQ6MWUvc3k1MDpqLHEsMXksMjgsMmEsMmIsMmksMmwsM28sNWEsNWIsNWMvc3k0cjoxZS9zeTR4OmssMW4sMXosNHYvc3k0eTpzLDJ1LDNjL3N5NTMvc3k1NToxOCwxcy9zeTFjOjQseCx5LDUwLDUyLDUzLDU3LDU4LDU5LDVkLDVlLDVmLDVnLDVoLDVpL3N5NWYvc3k1Zy9zeTVpL3N5NWsvc3k1bC9zeTVtL3N5NW4vc3k1bzoxOC9zeTVqL3N5NWg6NCx6LDUwLDU4LDVhLDVoLDVtLDVuLDVvLDVwLDVxLDVyLDVzL3N5NXA6NWosNXQvYmFzZTpkLHIsdSx2LHkseiwxMCwxMSwxMiwxMy9zeTVxL3N5NXIvc3k1czpjLGgvc3k1dDoybSwzbiwzbyw0eC9zeTdkL3N5NXU6MWwsMm8sNXIsNjAvc3k3cS9zeTZ0L3N5ODU6MTYvc3k4NDpqLDFyLDF3LDIzLDI4LDJpLDM1LDN0LDUzLDVpLDYzLDY0L3N5NXY6MTMsNTEsNjIsNjUvc3k2Yy9zeTZzOjQxL3N5ODY6MzUsNjQsNjgvc3k3bDpqLGsscSwxZSwxZiwxdSwxdywzbywzdSwzdi9zeTY3L3N5NXc6MzIsMzgsNDUsNXosNjYsNjcsNjksNmEsNmIvc3k1eC9zeTdlOjNkLDNtLDYwL3N5OHM6NmUvc3k5czoxZS9zeTV5OmYsaiwxaywxdywyMiwyMyw1YSw1biw2Ziw2Zy9zeTdyOjE0LDR0L3N5NmI6MnQsMzMvc3k1ejozNSwzZiwzayw0MSw0cCw2aSw2ai9zeTd6OjFlL3N5NjI6aC9zeThuOjFvLDFzL3N5NjA6MWIsMmQsMm4sNDEsNDYsNDcsNmwsNm0sNm4vc3k4bTpqLHEsMWcsMXcsMXgsMjMsNm4vc3k4bzoxNi9zeTc3L3N5Nnc6aiwxciwxdywyOCwyYSwyYywyaSwzayw1Yiw2ci9zeTdpL3N5OGwvc3k2MTp6LDEyLDJwLDJyLDM1LDNkLDQxLDR1LDU5LDVpLDV5LDV6LDYxLDZtLDZwLDZxLDZzLDZ0LDZ1L3N5NjM6MjUsMmksNGUvc3k2NDprLDI1LDI3LDJkLDJpLDJxLDRnL3N5NmQvc3k2OToxbiw0Ziw2Mi9zeTY4OjFlLDZ6L3N5N3Avc3k4YS9zeThjOjFlL3N5NjU6MWIsMjksMnAsM2csNmssNnUsNnksNzAsNzEsNzIsNzMvc3k2ei9zeTY2OjFjLDJrLDJyLDM1LDNzLDQwLDR3LDVmLDVnLDVuLDVvLDV6LDZmLDZqLDc1L3N5N286aixrLDFhLDFxLDF3LDF4LDF6LDNnL3N5Nmsvc3k2YTo1Nyw2eiw3MSw3Nyw3OC9zeThrOjFlL3N5OGY6MWUvc3k2ZToxNSwxdywyaSwzMCwzbyw0OSw0YSw0aiw0eiw3YSw3Yi9zeTZmOjFvLDFzLDF3LDI4LDJhLDJ1LDM1LDNrLDNyLDV6LDZlLDZxLDZyL3N5N2o6YywxaCwxaiwzNy9zeTdrOjFvLDM4LDM5LDZhL3N5Nmc6MWMsM2EsNDQsNGwsNW8sNXAsNjEsNjcsNzgsN2UsN2Yvc3k2aDozZSw0Miw0cSw2Myw2OC9zeTZpOmoscSwxNiwxOCwxdywzNS9zeTZyL3N5Nmo6MjUsMjcsMmksM28sN2UsN2ovc3k2bDoxNywyMywyOCwyaywydCwzMSwzayw1cS9zeThiOjJkL3N5ODA6MmQsN2ovc3k2eToxYiwyNSwyNywyaSwycCw0Yyw2MSw3Myw3bSw3bi9zeTZ4OjJiLDJlLDJ3LDRoLDVoLDcyLDdvL3N5Nm06MmEsNDEsN3Avc3k3eDoxZS9zeTd5OjJpLDdyL3N5OHI6MWIsMWcsMXUsMXcsMnAsM3MsNGMsNmwsN24sN3Mvc3k2bjoyYyw0MSw0dSw1OSw3NSw3byw3dC9zeThoOjFlL3N5Nm86MmksN2UsN3Yvc3k2cDoxaywxeiwzNSwzbyw0bSw0diw1bS9zeTZxOmssMjUsMjgsMmkvc3k2dS9zeTZ2OmosMTgsMXcvc3k3My9zeTcwOjFxLDFzLDF3LDJzLDJ0LDMxLDQ2LDQ3LDVnLDgxL3N5NzEvc3k4OToxZS9zeTcyOmosaywxeSwyaSwzMSwzZywzbyw1Niw1aSw2aSw3ciw4NC9zeTc0OjF3LDI4LDJpLDNyL3N5NzU6aixrLHEsMWEsMXcsM2csM3Qvc3k3NjoyNSwyaSw3My9zeTc4OmoscSwxNiwxbywxdSwxdywyYSwyaSwzNSwzbyw2ci9zeTc5OjJpLDdlLDdmL3N5ODI6MWUvc3k4MzoxZS9zeTdhOjFwLDF4LDIwLDJiLDJqLDJ3LDN4LDRhLDRiLDRkLDVoLDV3LDV5LDY2LDZ0LDcwLDcyLDdhLDd2LDhiLDhjL3N5N2I6NmYsN28sN3osOGMvc3k3YzpxLDFrLDF3LDF4LDJmLDMxLDZkLDZnLDZqL3N5N2Y6NDEsN2wvc3k3Zzo0MS9zeTdoOmosMXksMXovc3k3bToyNSwyNiwyaS9zeTduOmoscSwxOCwxdywxei9zeTdzL3N5N3U6MjAvc3k3dDoyNSwzbyw1aCw4bCw4bS9zeTd2OjFiLDFlLDI1LDJwLDhsL3N5N3c6MW8sNmwsN24sN3Mvc3k4MToyNSwyaSw0aCw4Yiw4Yy9zeTg3OmosMXksMXosMjAsNWgvc3k4ODo3Nyw4NS9zeThkOjExLDJyLDM0LDM1LDQxL3N5OGU6MmksMzgsN2IsN2Uvc3k4ZzoxZSwyNSwydy9zeThpOjFjLDMyLDNvLDdlL3N5OGo6MzgsNDEsN2Uvc3k4cToyNSwyYiwyaSwycCw4Yy9zeThwOjQxLDZ1LDZ6LDdwLDd0LDh5L3N5OHQ6NG8sN2Uvc3k4dToxYiwyNSwyNiw0Mi9zeTh2OjF5L3N5OHg6MWUvc3k4dzpqLHEsMXcsMmksM2csOTMvc3k4eTprLDFiLDI1LDJwLDYxLDgzL3N5OHo6aiwxdywyYSwyaSwzdCw4My9zeTkwOjF3LDJpLDNnLDgxLDkzL3N5OTE6aixxLDFiLDF5LDJlL3N5OTI6aywxYiwxeSwyMywyNiwycCw3ciw3eiw4NCw4Ni9zeTkzOjExLDJvLDJ0LDQwLDhkL3N5OTQ6aixrLHEsMWYsMXYsMXcsMXgsMjMsMnosNjEvc3k5NToyNSw0Miw4bS9zeTk2OmosayxxLDFlLDFvLDF5LDMxLDR1LDU5LDYxL3N5OTc6aixrLDF6LDNvLDR2LDVnL3N5OTg6MXcsMmEsMzUsNG0sNTQsNnIvc3k5OToxdywyNCwyYSwydywzNSwzdywzeCw0bSw1NCw2ci9zeTlhOmosaywxdSwxdywzNi9zeTliOmosayxxLDF5LDIzLDJ6LDN0LDQzLDZ5LDdtL3N5OWM6MjUsMjYsMjcsMmIsN3Qvc3k5ZDo3by9zeTllOjFvLDFzLDF3LDIzLDRzLDZiL3N5OWY6aywyNSw3dC9zeTlnOmssMjUsMzEsM2wsM3IsNHUsNTksNWQvc3k5aDoyNSwyNywyaS9zeTlpOmssMTEsMjUsMjgsMmksM3IsNGYsNXkvc3k5ajpqLGsscSwxeSwybCwyciwzMSw0dSw1OS9zeTlrOjI3LDQxL3N5OWw6MXcsMjgsMmksMzEsM3IsNHUsNTkvc3k5bTprLDI1LDJsLDMxLDR1LDU5L3N5OW46MjUvc3k5bzprLDI1LDJ0LDMxLDM1LDNpLDNvLDN6LDR1LDU5L3N5OXA6MjUsMm8sMzEsNHUsNTkvc3k5cToyNSwyNyw3dCw4Yy9zeTlyOmssMjUsMmYsMmwsM2wsNXMsNmcvc3k5dDoyaSw1Yy9zeTl1OnMsMXMsMXcsMjMsMnUsM2MsNTIsNmQvc3k5djozNSwzayw0MSw2ai9zeTl3OjQwL3N5OXg6aixxLDE4LDF3LDM1LDRtLDU0L2Jhc2Vfc3luY19tb2RfY2h1bms6NXYvcjlLTWpiOjhqL1ZjR1M4OjhrL3pDa0tCYzoyeC9pNlhvbWU6OHYvbk81ZFRkOjd4L090S1NKZTozai9udlg0VmI6M3kvRGx2RjFkOjQxLGFiL2Y5MHRDYjo3bC9WYlhyVWU6OGcsYWMsYWQvcEVTbERiOjhpL0ttQmZjYzo5NS9TVTN1aTo5aS9SYXE0Y2I6OHAvakJpc2FmOjU1L1B6VWRaYjo0OC9xVExkUTo4bi9XcWxjVmI6OG8vUUhBdGVmOjh0LGFjL1VBOEdTZTo4eCxhYy9MVmlNTTo3NixhYi9wZXZ0dmM6OWYvaXpqbVA6OWcvamd4OG1lOmExLGFjL3VobExHYjo2cy9GcUhjR2U6OWIvY3lDVmxkOjRpL29QcDVMZTo4Mi9BNG9BVmU6OTcvT3NtNDljOjg2L1BEdjZNZTo5OSxheS9vc1R0eGU6OHEvcVZEZ0JkOjhyL0hEbVUxZTo3dC9MSFA3SmQ6N28vVHUzTUI6N3AsYjMvRnNvWHpjOjdxLGFjLGI0L2lhaTJpYzo5Mi90UGdZemQ6ODcvYTY2TGZlOjk0L0lXcFVyZjo4OC9kSGNvSWY6OTYvb1hCV0hmOjk4L0lUdUNVYjo2cC9OcjBrZmU6ODUvYWNGdVZjOjhzLGJkL21tMk4wYzo5aC9oYjBXbWY6N2QvaE5lbHZkOmEzL3I1Q09IZjo3aS9aUUt4MToycS9wZTJvamI6MzIsYTcsYmovaGFvdU9lOjg5L2pKZkNvZDphMixhYi93U240YWM6NnYsYWMsYXQsYmMvaGExSWk6OHkvT003eG9iOjh6LGFjLGIyLGI0LGJvL0ZpTkdPYzo2ayxhYy9Xc2lNaWM6Nm8sYWMvVUFNNW06NzQsYnEvRDlXTWQ6NncveTlub09iOjZ4LGJqL1cwZ1NLYjo2OSxhYy9Id2xPaGQ6NjUvaGpyTm46ODAvdkRjazFkOjRuLGJrL0h4amxiYjozYixiay9uMERIZzo3eS9uQnZCeWQ6OWosYjIvZURVRG9jOjlrLGIzL1ZPVVA5ZDo4ZCxidy9iemowamQ6OWEsYWIsYzMvdVJJYUM6OW0sYjIvY2dTRW9iOjljL1hlUlhCZDo5ZC9zNjQ5ajo5cS91U3hkbmI6OXMvV2ZmNkJkOjd1LGFjLGIyLGIzL1UzbXpzZDo5dC95UDBKQmQ6OXUvUnFhSnNkOjl2L0UzSGViYzo5dy9wMXZFU2Q6YTAvQVQ4TFRlOjl5L3NET1RHZTo5bi9lY3VQQWM6NmgvTlFjMUlkOjhmL0ZRZElKZTo5ei9ibFpaWGU6OGgsYWMvZ0FPWXg6NmEvSU5jMUVmOjdnLGJrLGNtL2xQV2prYjo0byxhYy9vakdUNmQ6OHUvZDJMVHhiOjRrLGF2L0haNDFPZDo4dyxiay9lM1V0Vzo4ZSxiMy9hVTFHVGI6OTAsY28vSWJ4eE9lOjkxL3ZpVVdWOjU4L0R2WkM5OjlsL2ZBemRUOjZjLGJrLGJ2LGJ3LGNtL2ZnbEpOYjo4YSxjbS9pbFFTQWY6OW8vVWtadVdiOjlyLGFjL2w4YUtEYjo3ay9jbnE1UWI6OXgsYjIvbjlESkJmOjd3L2ZLRThxZDo3Yy9uN2VvMjo5cC9SWmVrSjo5ZS9RbWtNRTo3aCxhYy9OdWlsdWU6NzksYWEsYWosYWssYnksYnosY28sY3EvbWVIOUViOjUsNXQsYWEsYWssYnksYnosY28sY3EsY3YveUVmTkZiOjVqLGFqLGQ5L3I3OERyYjo1dSxhaixkOScsWydzeTEnLCdzeTUnLCdzeTYnLCdzeTcnLCdzeTgnLCdzeWMnLCdzeWcnLCdzeWgnLCdzeWEnLCdzeTknLCdzeWsnLCdzeWInLCdzeWQnLCdzeWUnLCdzeWYnLCdzeWknLCdzeWonLCdzeWwnLCdzeW0nLCdiYXNlJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUHQsUXQsVnQ7Xy5NdD1mdW5jdGlvbihhKXt2YXIgYj1fLmpmO2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyliLkFhKGFbY10pfTtfLk50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uamYuR2EoYSw0LGIpfTtfLk90PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe2MoYSl9KX07UHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn07UXQ9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9OwpfLlJ0PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpQdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiPV8uc2IoYSxiKT49MCk7cmV0dXJuIGJ9O18uU3Q9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighXy5SdChhLGIpKXtsZXQgYz1QdChhKTtRdChhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX07Xy5UdD1mdW5jdGlvbihhLGIpe2EuY2xhc3NMaXN0P2EuY2xhc3NMaXN0LnJlbW92ZShiKTpfLlJ0KGEsYikmJlF0KGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0OlB0KGEpLm1hdGNoKC9cUysvZyl8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbigiICIpKX07Cl8uVXQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLkNhKShhLmhhbmRsZUV2ZW50LGEpO2Vsc2UgdGhyb3cgRXJyb3IoIk9hIik7cmV0dXJuIE51bWJlcihiKT4yMTQ3NDgzNjQ3Py0xOl8udS5zZXRUaW1lb3V0KGEsYnx8MCl9O1Z0PWZ1bmN0aW9uKGEpe2Euaj1fLlV0KCgpPT57YS5qPW51bGw7YS5vJiYhYS5CJiYoYS5vPSExLFZ0KGEpKX0sYS5JKTt2YXIgYj1hLkQ7YS5EPW51bGw7YS5NLmFwcGx5KG51bGwsYil9O18uV3Q9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3RoaXMuTT1jIT1udWxsP2EuYmluZChjKTphO3RoaXMuST1iO3RoaXMuRD1udWxsO3RoaXMubz0hMTt0aGlzLkI9MDt0aGlzLmo9bnVsbH12KGEpe3RoaXMuRD1hcmd1bWVudHM7dGhpcy5qfHx0aGlzLkI/dGhpcy5vPSEwOlZ0KHRoaXMpfXN0b3AoKXt0aGlzLmomJihfLnUuY2xlYXJUaW1lb3V0KHRoaXMuaiksdGhpcy5qPW51bGwsdGhpcy5vPSExLHRoaXMuRD1udWxsKX1wYXVzZSgpe3RoaXMuQisrfXJlc3VtZSgpe3RoaXMuQi0tO3RoaXMuQnx8IXRoaXMub3x8dGhpcy5qfHwodGhpcy5vPSExLFZ0KHRoaXMpKX1sYSgpe3N1cGVyLmxhKCk7dGhpcy5zdG9wKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZQoqLwp2YXIgc3UscXUsb3UsdXUsbnUsenUsQXUsRHUsR3UsSHUsSXUsTnUsVHUsVnUsJHUsaXYsbXYscXYscnY7Xy5YdD1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH07Xy5ZdD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLGQ9Yy5yZXNvbHZlKF8uSW4oYSkpO2Q/KGIoZCksUHJvbWlzZS5yZXNvbHZlKGQpKTpjLnJlc29sdmUobmV3IF8uVXMoYSkpLnRoZW4oZT0+e2IoZSk7cmV0dXJuIGV9KX07Xy4kdD1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O18uWnQ9YTtyZXR1cm4gYn07Xy5idT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PV8uYXV8fGE/Lm5hbWU9PT0iXHUwMjc1Tm90Rm91bmQifTtfLmN1PWZ1bmN0aW9uKGEsYil7aWYoYT8uaWEpdGhyb3cgRXJyb3IoIlNhYCIrU3RyaW5nKGEuZGVidWdOYW1lKSk7Zm9yKDthIT09dm9pZCAwOyl7bGV0IGM9YTtpZihjLlJoKXJldHVybiBjLlJoKGIse29wdGlvbmFsOiEwfSk7YT1hLnBhcmVudH1yZXR1cm4gXy5hdX07Cl8uZHU9ZnVuY3Rpb24oYSl7cmV0dXJue2Rlc2NyaXB0aW9uOmEsQ2I6e016OiJyb290Iix0b2tlbjpTeW1ib2woYSksS3A6dm9pZCAwLHZhbHVlOnZvaWQgMH19fTtfLmV1PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYSYmYj9gJHthfV9fJHtifWA6YT8/Yj8/Y307Xy5ndT1mdW5jdGlvbihhLGIpe3JldHVybnsuLi5fLmR1KGI/PyIiKSxbXy5mdV06ITAsZGVidWdOYW1lOmI/PyJbY29udGV4dF0iLGRlZmF1bHRWYWx1ZTphPy5kZWZhdWx0VmFsdWUscmVxdWlyZWQ6IWF8fCFPYmplY3QuaGFzT3duKGEsImRlZmF1bHRWYWx1ZSIpLGlkOmIsT0s6dm9pZCAwfX07Xy5odT1mdW5jdGlvbihhLGIpe2I9Xy5jdShiLGEpO2lmKF8uYnUoYikpe2lmKGEucmVxdWlyZWQpdGhyb3cgRXJyb3IoImpiYCIrYS5kZWJ1Z05hbWUpO3JldHVybiBhLmRlZmF1bHRWYWx1ZX1yZXR1cm4gYn07Xy5pdT1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QuaXMoYSxiKX07Cl8ua3U9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5qdTtfLmp1PWE7cmV0dXJuIGJ9O18ucHU9ZnVuY3Rpb24oYSl7aWYobHUpdGhyb3cgRXJyb3IoImgiKTtpZihfLmp1IT09bnVsbCl7Xy5qdS5pcChhKTt2YXIgYj1fLmp1LmtmO2lmKGI9PT12b2lkIDB8fGIuTWghPT1hKXt2YXIgYz12b2lkIDAsZD1fLmp1LmNuO2lmKGQmJihjPWIhPT12b2lkIDA/Yi5yZTpfLmp1LnByb2R1Y2VycyxjIT09dm9pZCAwJiZjLk1oPT09YSkpe18uanUua2Y9YztjLkhxPWEudmVyc2lvbjtjLm9qPV8ubXU7cmV0dXJufXZhciBlPWEuVWc7aWYoZT09PXZvaWQgMHx8ZS5EZiE9PV8uanV8fGQmJmUub2ohPT1fLm11KWQ9bnUoXy5qdSksYz17TWg6YSxEZjpfLmp1LHJlOmMsTWo6dm9pZCAwLG9qOl8ubXUsSHE6YS52ZXJzaW9uLHFlOnZvaWQgMH0sXy5qdS5rZj1jLGIhPT12b2lkIDA/Yi5yZT1jOl8uanUucHJvZHVjZXJzPWMsZCYmb3UoYSxjKX19fTsKXy5ydT1mdW5jdGlvbihhKXtpZighbnUoYSl8fGEuUGIpaWYoYS5QYnx8YS5yaiE9PV8ubXUpKGEuWG0oYSl8fHF1KGEpKSYmYS5ZbShhKSxhLlBiPSExLGEucmo9Xy5tdX07c3U9ZnVuY3Rpb24oYSl7aWYoYS5jb25zdW1lcnMhPT12b2lkIDApe3ZhciBiPWx1O2x1PSEwO3RyeXtmb3IobGV0IGM9YS5jb25zdW1lcnM7YyE9PXZvaWQgMDtjPWMucWUpe2xldCBkPWMuRGY7ZC5QYnx8KGQuUGI9ITAsc3UoZCksZC5ocD8uKGQpKX19ZmluYWxseXtsdT1ifX19O18udHU9ZnVuY3Rpb24oYSl7aWYoYSl7aWYoYS5rZj8ub2o9PT1fLm11KXtsZXQgYj1hLnByb2R1Y2Vycztmb3IoO2IhPT12b2lkIDA7KWIub2o9bnVsbCxiPWIucmV9YS5rZj12b2lkIDA7YS5jbj0hMH1yZXR1cm4gXy5rdShhKX07Cl8udnU9ZnVuY3Rpb24oYSl7YS5jbj0hMTt2YXIgYj1hLmtmLGM9YiE9PXZvaWQgMD9iLnJlOmEucHJvZHVjZXJzO2lmKGMhPT12b2lkIDApe2lmKG51KGEpKXtkbyBjPXV1KGMpO3doaWxlKGMhPT12b2lkIDApfWIhPT12b2lkIDA/Yi5yZT12b2lkIDA6YS5wcm9kdWNlcnM9dm9pZCAwfX07cXU9ZnVuY3Rpb24oYSl7Zm9yKGE9YS5wcm9kdWNlcnM7YSE9PXZvaWQgMDthPWEucmUpe2xldCBiPWEuTWgsYz1hLkhxO2lmKGMhPT1iLnZlcnNpb24pcmV0dXJuITA7Xy5ydShiKTtpZihjIT09Yi52ZXJzaW9uKXJldHVybiEwfXJldHVybiExfTtvdT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWcsZD1udShhKTtjIT09dm9pZCAwPyhiLnFlPWMucWUsYy5xZT1iKTooYi5xZT12b2lkIDAsYS5jb25zdW1lcnM9Yik7Yi5Naj1jO2EuVWc9YjtpZighZClmb3IoYT1hLnByb2R1Y2VyczthIT09dm9pZCAwO2E9YS5yZSlvdShhLk1oLGEpfTsKdXU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NaCxjPWEucmUsZD1hLnFlLGU9YS5NajthLnFlPXZvaWQgMDthLk1qPXZvaWQgMDtkIT09dm9pZCAwP2QuTWo9ZTpiLlVnPWU7aWYoZSE9PXZvaWQgMCllLnFlPWQ7ZWxzZSBpZihiLmNvbnN1bWVycz1kLCFudShiKSlmb3IoYT1iLnByb2R1Y2VyczthIT09dm9pZCAwOylhPXV1KGEpO3JldHVybiBjfTtudT1mdW5jdGlvbihhKXtyZXR1cm4gYS5ncHx8YS5jb25zdW1lcnMhPT12b2lkIDB9O18ud3U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpO307Xy55dT1mdW5jdGlvbihhLGIpe18uanU/LkxlIT09ITF8fF8ud3UoYSk7YS5lcXVhbChhLnZhbHVlLGIpfHwoYS52YWx1ZT1iLGEudmVyc2lvbisrLF8ubXUrKyxzdShhKSx4dT8uKGEpKX07enU9ZnVuY3Rpb24oYSxiKXtiLnptPXZvaWQgMDthLlpqP2EuWmouem09YjphLlVrPWI7YS5aaj1ifTtBdT1mdW5jdGlvbihhLGIpe3p1KGEse1tTeW1ib2wuZGlzcG9zZV06Yn0pfTsKXy5CdT1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O2ImJiFiLmlhJiYoenUoYixhKSxhLnBhcmVudD1iKX07RHU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEuVWs7Yjspe2xldCBjPWIuem07Xy5DdShiKTtiPWN9YS5Vaz12b2lkIDA7YS5aaj12b2lkIDB9O18uQ3U9ZnVuY3Rpb24oYSl7YS5pYXx8KGEuaWE9ITAsYVtTeW1ib2wuZGlzcG9zZV0/LigpLGEucGFyZW50PXZvaWQgMCxEdShhKSl9O18uRnU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5xcikoYSkmJl8uRXUgaW4gYX07R3U9ZnVuY3Rpb24oYT1fLlp0KXtmb3IoO2E7KXtpZihfLkZ1KGEpKXJldHVybiBhO2E9YS5wYXJlbnQ/P251bGx9cmV0dXJuIG51bGx9O0h1PWZ1bmN0aW9uKGE9Xy5adCl7Zm9yKHZhciBiPVtdO2E7KV8uRnUoYSkmJmIucHVzaChhLmRlYnVnTmFtZSksYT1hLnBhcmVudD8/bnVsbDtyZXR1cm4gYn07Ckl1PWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiZhLm5hbWUhPT12b2lkIDAmJmEubGohPT12b2lkIDAmJmEucGFyZW50IT09dm9pZCAwfTtfLkx1PWZ1bmN0aW9uKCl7dmFyIGE9ey4uLkp1fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhKdSkuZm9yRWFjaChiPT57Xy5LdVtiXSE9PXZvaWQgMCYmKGFbYl09Xy5LdVtiXSl9KTtyZXR1cm4gYX07Xy5SdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5NdTtiJiYoXy5NdT1iKTt0cnl7cmV0dXJuIGM9PW51bGw/YSgpOmEuY2FsbChjKX1jYXRjaChlKXtOdShlLF8uTXUpO2lmKGUhPT1PdSl7Xy5QdT1fLk11O2E9W107Zm9yKGI9Xy5adDtiOylhLnB1c2goYi5kZWJ1Z05hbWU/PyJbY29udGV4dF0iKSxiPWIucGFyZW50Pz9udWxsO18uUXU9YS5yZXZlcnNlKCl9T3U9ZTt0aHJvdyBlO31maW5hbGx5e18uTXU9ZH19OwpOdT1mdW5jdGlvbihhLGIpe3RyeXtsZXQgYz1fLlN1KGIpO2lmKGMmJiFhLk5kPy5jb21wb25lbnRTdGFjayYmKGEuTmQ/YS5OZC5jb21wb25lbnRTdGFja3x8KGEuTmQuY29tcG9uZW50U3RhY2s9Yyk6YS5OZD17Y29tcG9uZW50U3RhY2s6Y30sXy5LdS5Cdikpe2xldCBkPWAke2EubWVzc2FnZX1cblxuQ29tcG9uZW50IHN0YWNrOiAke2N9YDthLnN0YWNrJiYoYS5zdGFjaz1hLnN0YWNrLnJlcGxhY2UoYS5tZXNzYWdlLGQpKTthLm1lc3NhZ2U9ZH19Y2F0Y2h7fX07VHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgNDpjYXNlIDM6cmV0dXJuInNldmVyZSI7Y2FzZSAyOnJldHVybiJ3YXJuaW5nIjtjYXNlIDE6Y2FzZSAwOnJldHVybiJpbmZvIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpfLlV1PWZ1bmN0aW9uKGEsYixjKXtpZihhLk5kKXJldHVybiBhO3RyeXtsZXQgZD0oYT09PU91P18uUHU6bnVsbCk/P18uTXU7TnUoYSxkKTthLk5kPXtjb21wb25lbnRTdGFjazpfLlN1KGQpLGZoOmIsQWw6Xy5MdSgpLHRhZ05hbWU6YyxwcjpfLlF1Py5zbGljZSgpPz9bXX07YS5yZXBvcnRTZXZlcml0eT1UdShiKX1jYXRjaHt9cmV0dXJuIGF9O1Z1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9IiI7YjwyMCYmYTspYys9YCR7YCQkWElEOiR7YS5uYW1lfSQkYH0gPiBgLGE9YS5wYXJlbnQsYisrO3JldHVybiBjLnNsaWNlKDAsLTMpfTtfLlN1PWZ1bmN0aW9uKGEpe3JldHVybiBJdShhKXx8YT09PW51bGw/VnUoYSk6Xy5LdS5GcD8oYT1HdShhKSxIdShhKS5zbGljZSgwLDIwKS5tYXAoYj0+YCQkWElEOiR7Yn0kJGApLmpvaW4oIiA+ICIpKToiIn07Cl8uWXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5adDtpZihiKXt2YXIgYz1fLk11O0F1KGIsKCk9Pnt2YXIgZD1fLmt1KF8uV3U/PyhfLld1PU9iamVjdC5jcmVhdGUoey4uLl8uWHUsTGU6ITB9KSkpO3RyeXtfLlJ1KCgpPT52b2lkIGEoKSxjKX1jYXRjaChlKXt0aHJvdyBfLlV1KGUsNCksZTt9ZmluYWxseXtfLmt1KGQpfX0pfWVsc2UgXy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlhhIiksMik7fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIiRhIiksMik7fSl9OyR1PWZ1bmN0aW9uKGEpe3ZhciBiPSgpPT57Xy5wdShhKTtyZXR1cm4gYS52YWx1ZX07YltfLlp1XT1hO3JldHVybltiLGM9PntfLnl1KGEsYyl9LGM9PntfLmp1Py5MZSE9PSExfHxfLnd1KGEpO18ueXUoYSxjKGEudmFsdWUpKX1dfTsKXy5KPWZ1bmN0aW9uKGEsYixjPSIiKXt2YXIgZD1PYmplY3QuY3JlYXRlKGF2KTtkLnZhbHVlPWE7Yj8uZXF1YWxzIT09dm9pZCAwJiYoZC5lcXVhbD1iLmVxdWFscyk7ZC5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW3NpZ25hbF0iKTtyZXR1cm4gJHUoZCl9O18uZnY9ZnVuY3Rpb24oYSl7aWYoIWEuaWEpc3dpdGNoKGEuZWZmZWN0VHlwZSl7Y2FzZSBidjpfLmN2LnNjaGVkdWxlKGEpO2JyZWFrO2Nhc2UgXy5kdjpldi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5lZmZlY3RUeXBlLHZvaWQgMCl9fTtfLmp2PWZ1bmN0aW9uKCl7aWYoXy5ndj4wKV8uS3UuUmkmJl8uY3YuZmx1c2goKTtlbHNle2ZvcihsZXQgYSBvZiBodilhLmZsdXNoKCk7aXYoKX19O2l2PWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGxldCBhIG9mIGt2KWEuZmx1c2goKX07Cm12PWZ1bmN0aW9uKGEpe3ZhciBiPWEuaXNGbHVzaGluZzthLmlzRmx1c2hpbmc9ITA7dHJ5e2xldCBjPTA7Zm9yKDtjPGEuWmI7KXtsZXQgZD1hLkRkW2NdO2EuRGRbY109dm9pZCAwO2MrKztpZighZHx8IWQuUGIpY29udGludWU7bGV0IGU9W2RdLGY9ZDtmb3IoO2YucGFyZW50IT09dm9pZCAwOylmPWYucGFyZW50LCgwLF8ubHYpKGYpJiZmLlBiJiZlLnB1c2goZik7Zm9yKDtlLmxlbmd0aD4wOyllLnBvcCgpLnJ1bigpfWEuWmI9MH1maW5hbGx5e2EuaXNGbHVzaGluZz1ifX07Xy5vdj1mdW5jdGlvbihhLGI9Xy5adCl7aWYoYiYmIWIuaWEmJihiPV8uaHUobnYsYiksYj8ucmVwb3J0RXJyb3IpKXtiLnJlcG9ydEVycm9yKGEpO3JldHVybn10aHJvdyBhO307Cl8ucHY9ZnVuY3Rpb24oYSxiLGMpe2E9T2JqZWN0LmNyZWF0ZShhKTtiJiYoYS5mbj1iKTtjJiYoYS5kZWJ1Z05hbWU9Yyk7Xy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlRhIiksMik7fSk6Xy5adD09PW51bGw/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoImNiIiksMik7fSk6Xy5CdShhKTthLmNvbXBvbmVudFN0YWNrPV8uTXU7cmV0dXJuIGF9O3F2PWZ1bmN0aW9uKGEpe2lmKCFhLmlhKXtpZihsdSl0aHJvdyBfLlV1KEVycm9yKCJ4YiIpLDQpO3ZhciBiPV8uJHQoYSk7dHJ5e18uUnUoKCk9PnthLlBiPSExO2lmKCEoYS52ZXJzaW9uPjApfHxxdShhKSl7YS52ZXJzaW9uKys7dmFyIGM9Xy50dShhKTt0cnl7YS5WaygpLGEuZm4oKX1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX19fSxhLmNvbXBvbmVudFN0YWNrLGEpfWNhdGNoKGMpe18uVXUoYyw0KSxfLm92KGMpfWZpbmFsbHl7Xy4kdChiKX19fTsKcnY9ZnVuY3Rpb24oYSl7dmFyIGI9RXJyb3IoIlphYCIrYS5kZWJ1Z05hbWUpO18uVXUoYiw0KTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgYjt9KX07Xy50dj1mdW5jdGlvbihhLGIpe2E9Xy5wdihzdixhLGIpO18uZnYoYSl9O18udXY9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz17cGFyZW50OnZvaWQgMCxpYTohMSxVazp2b2lkIDAsWmo6dm9pZCAwLHptOnZvaWQgMH07YiYmXy5CdShjKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18udnY9ZnVuY3Rpb24oKXt9O18ud3Y9ZnVuY3Rpb24oKXt9O18ueHY9ZnVuY3Rpb24oKXt9O18uQnY9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8ueXZ8fF8uanU9PT1fLnp2KXRocm93IF8uVXUoRXJyb3IoIllhIiksNCk7cmV0dXJuIHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9hKCk6YT8uW0F2XT9hLmdldCgpOmF9O18uQ3Y9ZnVuY3Rpb24oKXt9O18uRHY9e307Cl8uVXM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qdj1hfX07Xy5Fdj1fLnUuSlNPTi5wYXJzZTtuZXcgY2xhc3MgZXh0ZW5kcyBfLmFle2luaXQoKXt9fTtfLkVhKCk7Xy5adD12b2lkIDA7Xy5hdT1TeW1ib2woImRiIik7dmFyIEZ2LGJ2O0Z2PVN5bWJvbCgiZWIiKTtidj1TeW1ib2woImZiIik7Xy5kdj1TeW1ib2woImdiIik7Xy5sdj1fLkNjKGE9PigwLF8ucXIpKGEpJiZGdiBpbiBhKTtfLmZ1PVN5bWJvbCgiaGIiKTt2YXIgbHU7Xy5qdT1udWxsO2x1PSExO18ubXU9MTtfLlp1PVN5bWJvbCgia2IiKTtfLlh1PXt2ZXJzaW9uOjAscmo6MCxQYjohMSxwcm9kdWNlcnM6dm9pZCAwLGtmOnZvaWQgMCxjb25zdW1lcnM6dm9pZCAwLFVnOnZvaWQgMCxjbjohMSxMZTohMSxncDohMSxraW5kOiJ1bmtub3duIixYbTooKT0+ITEsWW06KCk9Pnt9LGhwOigpPT57fSxpcDooKT0+e319O18uR3Y9U3ltYm9sKCJsYiIpO18uSHY9U3ltYm9sKCJtYiIpO18uSXY9U3ltYm9sKCJuYiIpO3ZhciBKdj17Li4uXy5YdSxncDohMCxMZTohMCxQYjohMCxraW5kOiJlZmZlY3QifTt2YXIgeHU9bnVsbCxhdj17Li4uXy5YdSxlcXVhbDpfLml1LHZhbHVlOnZvaWQgMCxraW5kOiJzaWduYWwifTtfLkt2PVN5bWJvbCgib2IiKTtfLkx2PVN5bWJvbCgicGIiKTtfLk12PVN5bWJvbCgicWIiKTtfLkV1PVN5bWJvbCgicmIiKTt2YXIgSnU9e3l2OiEwLEJ2OiExLEZwOl8uWXEsR3A6Xy5ZcSxHdjohMSxyaTohMSxISTohMCxSaTohMSxKcTohMX07Xy5LdT17YXR0cmlidXRlczp7fSxoYW5kbGVFcnJvcihhKXt0aHJvdyBhO30sLi4uSnV9O3ZhciBPdTtfLk11PW51bGw7Xy5QdT1udWxsO18uTnY9bmV3IFNldDtfLk92PW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe319O3ZhciBQdixTdixUdixWdixXdixYdixldixodixrdixadjtfLmd2PTA7UHY9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmlzRmx1c2hpbmc9ITE7dGhpcy5EZD1bXTt0aGlzLlpiPTB9c2NoZWR1bGUoYSl7dGhpcy5EZFt0aGlzLlpiKytdPWF9Y2xlYXIoKXtmb3IobGV0IGE9MDthPHRoaXMuWmI7YSsrKXRoaXMuRGRbYV09dm9pZCAwO3RoaXMuWmI9MH19O18uUXY9U3ltYm9sKCJ3YiIpO1N2PWNsYXNzIGV4dGVuZHMgUHZ7Zmx1c2goKXtpZih0aGlzLlpiIT09MCl7Zm9yKHZhciBhPTA7YTx0aGlzLlpiOyl7bGV0IGI9dGhpcy5EZFthXTt0aGlzLkRkW2FdPXZvaWQgMDthKys7aWYoYil0cnl7Yi5ydW4oKX1jYXRjaChjKXtSdihjKX19dGhpcy5aYj0wfX19O1R2PWNsYXNzIGV4dGVuZHMgU3Z7fTtfLlV2PW5ldyBUdjtWdj1jbGFzcyBleHRlbmRzIFB2e2ZsdXNoKCl7dGhpcy5aYj09PTB8fHRoaXMuaXNGbHVzaGluZ3x8bXYodGhpcyl9fTsKV3Y9Y2xhc3MgZXh0ZW5kcyBWdntzY2hlZHVsZShhKXthLnZlcnNpb249PT0wP2EucnVuKCk6c3VwZXIuc2NoZWR1bGUoYSl9Zmx1c2goKXtpZih0aGlzLlpiIT09MClpZihfLkt1LlJpKXtsZXQgYT17RGQ6dGhpcy5EZCxaYjp0aGlzLlpiLGlzRmx1c2hpbmc6ITF9O3RoaXMuRGQ9W107dGhpcy5aYj0wO212KGEpfWVsc2UgdGhpcy5pc0ZsdXNoaW5nfHxtdih0aGlzKX19O18uY3Y9bmV3IFd2O1h2PWNsYXNzIGV4dGVuZHMgVnZ7fTtldj1uZXcgWHY7aHY9W18uY3ZdO2t2PVtfLlV2LGV2XTtfLll2PVsuLi5odiwuLi5rdl07WnY9W107eHU9KCk9PntfLmp2KCk7Zm9yKGxldCBhIG9mIFp2KWEoKX07dmFyIFJ2PV8uJGI7dmFyIG52PV8uZ3Uoe2RlZmF1bHRWYWx1ZTpudWxsfSwiaW0xTWtmIik7Xy4kdj17Li4uSnYsW0Z2XTohMCxlZmZlY3RUeXBlOmJ2LEVKOiEwLGhwOl8uZnYscnVuKCl7cXYodGhpcyl9LFZrKCl7RHUodGhpcyl9LGNvbXBvbmVudFN0YWNrOnZvaWQgMCxkZWJ1Z05hbWU6IltlZmZlY3RdIixkZXN0cm95KCl7aWYobnUodGhpcykpe2xldCBhPXRoaXMucHJvZHVjZXJzO2Zvcig7YSE9PXZvaWQgMDspYT11dShhKX10aGlzLlVnPXRoaXMuY29uc3VtZXJzPXRoaXMua2Y9dGhpcy5wcm9kdWNlcnM9dm9pZCAwO18uQ3UodGhpcyk7dGhpcy5QYj0hMX0sW1N5bWJvbC5kaXNwb3NlXSgpe3RoaXMuZGVzdHJveSgpfX07dmFyIGF3O2F3PXtpcDpydn07Xy55dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7Xy56dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7dmFyIHN2PXsuLi5fLiR2LGVmZmVjdFR5cGU6YnZ9O18uYnc9e1BIKCl7fSxlSygpe30sWUgoKXt9LFNvKCl7fSxRSCgpe30sSmkoKXt9LEdmKCl7fSxIZigpe30sS2koKXt9fTt2YXIgQXY9U3ltYm9sKCJLYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZXc7Xy5jdz1mdW5jdGlvbihhLC4uLmIpe2EuYXJnc3x8KGEuYXJncz1bXSk7QXJyYXkuaXNBcnJheShhLmFyZ3MpJiZhLmFyZ3MucHVzaCguLi5iKX07Xy5kdz1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSl7bGV0IGM9Xy5id1tiXSxkPWFbYl07Xy5id1tiXT0oLi4uZSk9PntjKC4uLmUpO2QoLi4uZSl9fX07Xy5mdz1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsXy5FcSkmJmFbXy5FcV18fChhW18uRXFdPSsrZXcpfTtfLmd3PWZ1bmN0aW9uKGEsYixjKXthJiYhYyYmKGE9YS5wYXJlbnROb2RlKTtmb3IoYz0wO2E7KXtpZihiKGEpKXJldHVybiBhO2E9YS5wYXJlbnROb2RlO2MrK31yZXR1cm4gbnVsbH07Xy5odz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSk/Xy5UYShhKTpudWxsOm51bGx9OwpfLml3PWZ1bmN0aW9uKGEpe2lmKF8uWnQpdGhyb3cgXy5VdShFcnJvcigiYWIiKSw0KTtyZXR1cm4gXy51dihiPT57Xy5ZdSgoKT0+e30pO2EoYil9LCExKX07ZXc9MDt2YXIganc7anc9e25hbWU6IjxSb290PiIscHJvcHM6e30sS3o6e30sZWZmZWN0czpbXSxkSTpbXSxnSTooKT0+e30sW1N5bWJvbCgiSmIiKV06ITB9OyhuZXcgV2Vha01hcCkuc2V0KGp3Lkt6LHtuYW1lOmp3Lm5hbWUscHJvcHM6ancucHJvcHN9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHN3LHl3LHR3LHJ3O18ua3c9ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBhO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPWFbXy5BY118MDtjPWR8YyYzMnxjJjI7YyE9PWQmJihhW18uQWNdPWMpO3JldHVybiBuZXcgYihhKX19O18ubHc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5EYSxjPWJbXy5BY118MDtyZXR1cm4gXy5CYyhhLGMpP18uJGMoYSxiLGMpP18uYmQoYSxiLCEwKTpuZXcgYS5jb25zdHJ1Y3RvcihfLlpjKGIsYywhMSkpOmF9O18ubXc9ZnVuY3Rpb24oYSl7aWYoYS5qIT09Xy56YylyZXR1cm4hMTt2YXIgYj1hLkRhO2I9Xy5aYyhiLGJbXy5BY118MCk7YltfLkFjXXw9MjA0ODthLkRhPWI7YS5qPXZvaWQgMDthLm89dm9pZCAwO3JldHVybiEwfTtfLm53PWZ1bmN0aW9uKGEpe2lmKCFfLm13KGEpJiZfLkJjKGEsYS5EYVtfLkFjXXwwKSl0aHJvdyBFcnJvcigpO307Cl8ub3c9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uQWNdfDApO2ImMzImJiEoYiY0MDk2KSYmKGFbXy5BY109Ynw0MDk2KX07Xy5wdz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWMrKGU/MDotMSksaD1hLmxlbmd0aC0xO2lmKGg+PTErKGU/MDotMSkmJmY+PWgpe2xldCBrPWFbaF07aWYoayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4ga1tjXT1kLGJ9aWYoZjw9aClyZXR1cm4gYVtmXT1kLGI7ZCE9PXZvaWQgMCYmKGg9KGI/PyhiPWFbXy5BY118MCkpPj4xNCYxMDIzfHw1MzY4NzA5MTIsYz49aD9kIT1udWxsJiYoYVtoKyhlPzA6LTEpXT17W2NdOmR9KTphW2ZdPWQpO3JldHVybiBifTtfLnF3PWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7dmFyIGU9YS5EYTtfLnB3KGUsZVtfLkFjXXwwLGIsYyxkKTtyZXR1cm4gYX07c3c9ZnVuY3Rpb24oYSl7cmV0dXJuIHJ3W2FdfHwiIn07Cl8udXc9ZnVuY3Rpb24oYSl7YT10dy50ZXN0KGEpP2EucmVwbGFjZSh0dyxzdyk6YTthPWF0b2IoYSk7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWJbY109YS5jaGFyQ29kZUF0KGMpO3JldHVybiBifTtfLnd3PWZ1bmN0aW9uKGEpe2lmKF8udnchPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dmFyIGI9YS5qO2I9PW51bGx8fGIhPW51bGwmJmIgaW5zdGFuY2VvZiBVaW50OEFycmF5fHwodHlwZW9mIGI9PT0ic3RyaW5nIj9iPV8udXcoYik6KF8ueGEoYiksYj1udWxsKSk7cmV0dXJuIGI9PW51bGw/YjphLmo9Yn07Xy54dz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJib29sZWFuIil0aHJvdyBFcnJvcigicmAiK18ueGEoYSkrImAiK2EpO3JldHVybiBhfTsKeXc9ZnVuY3Rpb24oKXt2YXIgYT1fLkRuKCk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIi5jaGFyQXQoYVtjXSY2MykpO3JldHVybiBiLmpvaW4oIiIpfTt0dz0vWy1fLl0vZztydz17Ii0iOiIrIixfOiIvIiwiLiI6Ij0ifTtfLnZ3PXt9O18uenc9bmV3IF8uSSgid2ViQ29tbWFuZE1ldGFkYXRhIik7Xy5Bdz1uZXcgXy5JKCJ3YXRjaEVuZHBvaW50Iik7Xy5Cdz1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1hfX07Xy5Ddz1uZXcgXy5xbSgic2NyZWVuLWNyZWF0ZWQiLF8uQncpO18uRHc9eXc7Xy5Fdz1uZXcgTWFwO18uRnc9bmV3IE1hcDtfLkd3PW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBRdyxSdyxhYWEsYmFhLFh3LFN3LGF4LEx3LGNhYSxZdyxadztfLkh3PWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhLGIsdm9pZCAwKX07Xy5Jdz1mdW5jdGlvbihhKXthPUVycm9yKGEpO18uQmIoYSwid2FybmluZyIpO3JldHVybiBhfTtfLkp3PWZ1bmN0aW9uKGEpe2E9PW51bGwmJihhPXZvaWQgMCk7cmV0dXJuIGF9O18uS3c9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1fLkp3KGMpO18ucXcoYSxiLGMsZCk7YyYmIV8uQmMoYykmJl8ub3coYS5EYSk7cmV0dXJuIGF9O18uTXc9ZnVuY3Rpb24oKXtyZXR1cm4gTHd8fChMdz1uZXcgXy5SYyhudWxsLF8udncpKX07Cl8uTnc9ZnVuY3Rpb24oYSxiKXtpZihhIT1udWxsKWlmKHR5cGVvZiBhPT09InN0cmluZyIpYT1hP25ldyBfLlJjKGEsXy52dyk6Xy5NdygpO2Vsc2UgaWYoYS5jb25zdHJ1Y3RvciE9PV8uUmMpaWYoYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpYT1hLmxlbmd0aD9uZXcgXy5SYyhuZXcgVWludDhBcnJheShhKSxfLnZ3KTpfLk13KCk7ZWxzZXtpZighYil0aHJvdyBFcnJvcigpO2E9dm9pZCAwfXJldHVybiBhfTtfLk93PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgXy5JdygiaW50MzIiKTtpZighKDAsXy53cikoYSkpdGhyb3cgXy5JdygiaW50MzIiKTtyZXR1cm4gYXwwfTtfLlB3PWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6Xy5PdyhhKX07ClF3PWZ1bmN0aW9uKGEpe3ZhciBiPV8ucm0oKTtpZighYilyZXR1cm4gMDt2YXIgYz1iLnN1YnNjcmliZShfLkN3LnRvU3RyaW5nKCksKGQsZSk9Pnt2YXIgZj1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIpO2YmJmY9PWN8fChmPSgpPT57aWYoXy5Lc1tjXSl0cnl7aWYoZSYmXy5DdyBpbnN0YW5jZW9mIF8ucW0mJl8uQ3chPWQpdHJ5e3t2YXIgaD1fLkN3Lmosaz1lO2lmKCFrLmFyZ3N8fCFrLnZlcnNpb24pdGhyb3cgRXJyb3IoInBhIik7bGV0IGw7dHJ5e2lmKCFoLkFlKXtsZXQgbT1uZXcgaDtoLkFlPW0udmVyc2lvbn1sPWguQWV9Y2F0Y2gobSl7fWlmKCFsfHxrLnZlcnNpb24hPWwpdGhyb3cgRXJyb3IoInFhIik7dHJ5e2U9UmVmbGVjdC5jb25zdHJ1Y3QoaCxfLnliKGsuYXJncykpfWNhdGNoKG0pe3Rocm93IG0ubWVzc2FnZT0ieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6ICIrbS5tZXNzYWdlLG07fX19Y2F0Y2gobCl7dGhyb3cgbC5tZXNzYWdlPSJ5dC5wdWJzdWIyLnB1YnN1YjIgY3Jvc3MtYmluYXJ5IGNvbnZlcnNpb24gZXJyb3IgZm9yICIrCl8uQ3cudG9TdHJpbmcoKSsiOiAiK2wubWVzc2FnZSxsO31hLmNhbGwod2luZG93LGUpfWNhdGNoKGwpe18uVWkobCl9fSxfLk1zW18uQ3cudG9TdHJpbmcoKV0/Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/Xy5qZi5wYihmKTpfLm1qKGYsMCk6ZigpKX0pO18uS3NbY109ITA7Xy5Mc1tfLkN3LnRvU3RyaW5nKCldfHwoXy5Mc1tfLkN3LnRvU3RyaW5nKCldPVtdKTtfLkxzW18uQ3cudG9TdHJpbmcoKV0ucHVzaChjKTtyZXR1cm4gY307Unc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ybSgpO2ImJih0eXBlb2YgYT09PSJudW1iZXIiJiYoYT1bYV0pLF8udGIoYSxjPT57Yi51bnN1YnNjcmliZUJ5S2V5KGMpO2RlbGV0ZSBfLktzW2NdfSkpfTthYWE9ZnVuY3Rpb24oKXt2YXIgYT1TdyxiPVF3KGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7UncoYil9KTtyZXR1cm4gYn07Xy5Vdz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uVHcoe3RyYWNraW5nUGFyYW1zOmF9KX07Cl8uVnc9ZnVuY3Rpb24oYT0wKXtyZXR1cm4oYT1fLmdxKGEpKT9uZXcgXy5Udyh7dmVUeXBlOmEseW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTtiYWE9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhfLncoImNsaWVudC1zY3JlZW4tbm9uY2Utc3RvcmUiLHt9KSkuZmlsdGVyKGE9PmEhPT12b2lkIDApfTtfLld3PWZ1bmN0aW9uKGEsYil7Xy54KCJsb2dfc2VxdWVuY2VfaW5mb19vbl9nZWxfd2ViIikmJihhLnNlcXVlbmNlR3JvdXA9Yik7cmV0dXJuIGF9O1h3PWZ1bmN0aW9uKGEsYil7cmV0dXJuYCR7YS5nZXRBc0pzb24oKS52ZVR5cGV9JHthLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke2J9YH07U3c9ZnVuY3Rpb24oYSl7aWYoWXcpe2ZvcihsZXQgYiBvZiBZdyliLnBheWxvYWQmJihiLnBheWxvYWQuY3NuPWEuY3NuLF8uRXAoYi5wYXlsb2FkTmFtZSxiLnBheWxvYWQsYi5vcHRpb25zKSk7WXcubGVuZ3RoPTB9Wnc9MH07Cl8uJHc9ZnVuY3Rpb24oYSxiLGMpe1l3LnB1c2goe3BheWxvYWROYW1lOmEscGF5bG9hZDpjLEpKOnZvaWQgMCxvcHRpb25zOmJ9KTtad3x8KFp3PWFhYSgpKX07Xy5ieD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7YXgoYSxiLGMsW2RdLGUsZil9OwpheD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7T2JqZWN0LmFzc2lnbihmLF8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMH0sYikpO2ZvcihsZXQgayBvZiBkKXt2YXIgaD1rLmdldEFzSnNvbigpOyhfLnBkKGgpfHwhaC50cmFja2luZ1BhcmFtcyYmIWgudmVUeXBlKSYmXy5JcChFcnJvcigiTGIiKSk7aWYoXy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXtsZXQgbD1YdyhrLGIpO2lmKGgudmVUeXBlJiYhXy5Gdy5oYXMobCkmJiFfLkd3LmhhcyhsKSYmIWUpe2lmKCFfLngoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxfLkV3LnNpemU8MUUzKXtfLkV3LnNldChsLFthLGIsYyxrXSk7cmV0dXJufV8ueCgiaWxfYXR0YWNoX2NhY2hlX2xpbWl0IikmJl8uRXcuc2l6ZT4xRTMmJl8uSXAobmV3IF8uWGooIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPVh3KGMsYik7Xy5Fdy5oYXMoaCk/Xy5jeChjLGIpOl8uR3cuc2V0KGgsITApfX1kPQpkLmZpbHRlcihrPT57ay5jc24hPT1iPyhrLmNzbj1iLGs9ITApOms9ITE7cmV0dXJuIGt9KTtjPXtjc246YixwYXJlbnRWZTpjLmdldEFzSnNvbigpLGNoaWxkVmVzOl8uSHcoZCxrPT5rLmdldEFzSnNvbigpKX07Yj09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGYsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsYSxmKTpfLkVwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsZil9O18uY3g9ZnVuY3Rpb24oYSxiKXthPVh3KGEsYik7Xy5Fdy5oYXMoYSkmJihiPV8uRXcuZ2V0KGEpfHxbXSxfLmJ4KGJbMF0sYlsxXSxiWzJdLGJbM10sITApLF8uRXcuZGVsZXRlKGEpKX07Xy5keD1mdW5jdGlvbihhLGIpe2lmKF8ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7dmFyIGM9WHcoYSxiKTtfLkZ3LnNldChjLCEwKTtfLmN4KGEsYil9fTsKXy5leD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLmR4KGMsYik7ZD1kfHwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyI7Zj1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6aH0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxnZXN0dXJlVHlwZTpkfTtlJiYoYy5jbGllbnREYXRhPWUpO2I9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudEdlc3R1cmVkIixmLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGEsZik6Xy5FcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGYpfTtfLmZ4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtfLmV4KGEsYixjLHZvaWQgMCxkLGUsZil9O18uaHg9ZnVuY3Rpb24oKXtneC5pbnN0YW5jZXx8KGd4Lmluc3RhbmNlPW5ldyBneCk7cmV0dXJuIGd4Lmluc3RhbmNlfTsKXy5qeD1mdW5jdGlvbihhLGIsYyxkPTAsZSl7YS5vLmhhcyhlKXx8YS5vLnNldChlLG5ldyBTZXQpO3ZhciBmPWN8fF8uVncoZCk7Zj1gJHtiLnRvU3RyaW5nKCl9fCR7Zj9mLnRvU3RyaW5nKCk6IiJ9YDthLm8uZ2V0KGUpLmhhcyhmKXx8KF8uaXgoYSxiLGMsZCksYS5vLmdldChlKS5hZGQoZikpfTtfLml4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9PntpZihhLmouaGFzKGQpKXJldHVybiBhLlkucHVzaChbYixjXSksITA7dmFyIGU9Xy5pcShkKSxmPWN8fF8uVncoZCk7aWYoZSYmZil7aWYoXy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpKXtsZXQgaD1hLnYuZ2V0KGYudG9TdHJpbmcoKSk7aD9oLnB1c2goYik6KGEuSS5zZXQoZi50b1N0cmluZygpLGYpLGEudi5zZXQoZi50b1N0cmluZygpLFtiXSkpO2EuWnx8KGEuWj1fLllqKCgpPT57Xy5reChhLGUpfSwxMjAwKSl9ZWxzZSBfLmJ4KGEuY2xpZW50LGUsZixiKTtyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpfLmx4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9Pnt2YXIgZT1fLlV3KGIpLGY9Xy5pcShkKTtmJiYhYS5qLmhhcyhkKT9fLmp4KGEsZSxjLGQsZik6Xy5peChhLGUsYyxkKTtyZXR1cm4gZX0pKCl9O18ua3g9ZnVuY3Rpb24oYSxiKXtpZihiPT09dm9pZCAwKXtsZXQgYz1iYWEoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdIT09dm9pZCAwJiZfLmt4KGEsY1tkXSl9ZWxzZSBhLnYuZm9yRWFjaCgoYyxkKT0+eyhkPWEuSS5nZXQoZCkpJiZheChhLmNsaWVudCxiLGQsYyl9KSxhLnYuY2xlYXIoKSxhLkkuY2xlYXIoKSxhLlo9dm9pZCAwfTsKXy5teD1mdW5jdGlvbihhLGIsYyxkPTApe3ZhciBlPV8uaXEoZCk7Yj1ifHxfLlZ3KGQpO2UmJmImJihhPWEuY2xpZW50LGQ9Xy5Xdyh7Y3R0QXV0aEluZm86Xy5rcShlKXx8dm9pZCAwfSxlKSxjPXtjc246ZSx2ZTpiLmdldEFzSnNvbigpLGNsaWVudERhdGE6Y30sZT09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixkLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIsYyxhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLGMsZCkpfTsKXy5SYz1jbGFzc3tvKCl7dmFyIGE9dGhpcy5qO2lmKGE9PW51bGwpYT0iIjtlbHNlIGlmKHR5cGVvZiBhIT09InN0cmluZyIpe2xldCBiPSIiLGM9MCxkPWEubGVuZ3RoLTEwMjQwO2Zvcig7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPXRoaXMuaj1idG9hKGIpfXJldHVybiBhfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5qPT1udWxsfXNpemVCeXRlcygpe3ZhciBhPV8ud3codGhpcyk7cmV0dXJuIGE/YS5sZW5ndGg6MH1jb25zdHJ1Y3RvcihhLGIpe2lmKGIhPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dGhpcy5qPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJuIik7fX07CmNhYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9c2V0VHJhY2tpbmdQYXJhbXMoYSl7cmV0dXJuIF8ucXcodGhpcywxLF8uTncoYSwhMSkpfX07Cl8uVHc9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Z2V0QXNKc29uKCl7dmFyIGE9e307dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09dm9pZCAwP2EudHJhY2tpbmdQYXJhbXM9dGhpcy5qLnRyYWNraW5nUGFyYW1zOihhLnZlVHlwZT10aGlzLmoudmVUeXBlLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJihhLnZlQ291bnRlcj10aGlzLmoudmVDb3VudGVyKSx0aGlzLmouZWxlbWVudEluZGV4IT09dm9pZCAwJiYoYS5lbGVtZW50SW5kZXg9dGhpcy5qLmVsZW1lbnRJbmRleCkpO3RoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCYmKGEuZGF0YUVsZW1lbnQ9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNvbigpKTt0aGlzLmoueW91dHViZURhdGEhPT12b2lkIDAmJihhLnlvdXR1YmVEYXRhPXRoaXMuai55b3V0dWJlRGF0YSk7dGhpcy5qLmlzQ291bnRlcmZhY3R1YWwmJihhLmlzQ291bnRlcmZhY3R1YWw9ITApO3JldHVybiBhfWdldEFzSnNwYigpe3ZhciBhPW5ldyBjYWE7dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09CnZvaWQgMD9hLnNldFRyYWNraW5nUGFyYW1zKHRoaXMuai50cmFja2luZ1BhcmFtcyk6KHRoaXMuai52ZVR5cGUhPT12b2lkIDAmJl8ucXcoYSwyLF8uUHcodGhpcy5qLnZlVHlwZSkpLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJl8ucXcoYSw2LF8uUHcodGhpcy5qLnZlQ291bnRlcikpLHRoaXMuai5lbGVtZW50SW5kZXghPT12b2lkIDAmJl8ucXcoYSwzLF8uUHcodGhpcy5qLmVsZW1lbnRJbmRleCkpLHRoaXMuai5pc0NvdW50ZXJmYWN0dWFsJiZfLnF3KGEsNSxfLnh3KCEwKSkpO2lmKHRoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIGI9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNwYigpO18uS3coYSw3LGIpfXRoaXMuai55b3V0dWJlRGF0YSE9PXZvaWQgMCYmXy5LdyhhLDgsdGhpcy5qLmpzcGJZb3V0dWJlRGF0YSk7cmV0dXJuIGF9dG9TdHJpbmcoKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRBc0pzb24oKSl9aXNDbGllbnRWZSgpe3JldHVybiF0aGlzLmoudHJhY2tpbmdQYXJhbXMmJgohIXRoaXMuai52ZVR5cGV9Z2V0TG9nZ2luZ0RpcmVjdGl2ZXMoKXtyZXR1cm4gdGhpcy5qLmxvZ2dpbmdEaXJlY3RpdmVzfX07WXc9W107Wnc9MDtfLm54PW5ldyBfLkkoImludGVyYWN0aW9uTG9nZ2luZ0NvbW1hbmRNZXRhZGF0YSIpO18uZGFhPW5ldyBfLkkoIndhdGNoUGxheWxpc3RFbmRwb2ludCIpO18uZWFhPW5ldyBfLkkoInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTtfLm94PVN5bWJvbCgiTWIiKTtfLnB4PW5ldyBXZWFrTWFwO3ZhciBneD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuWT1bXTt0aGlzLk09W107dGhpcy5LPW5ldyBNYXA7dGhpcy5nYT1uZXcgTWFwO3RoaXMuRD1bXTt0aGlzLlU9W107dGhpcy52PW5ldyBNYXA7dGhpcy5JPW5ldyBNYXA7dGhpcy5vPW5ldyBNYXA7dGhpcy5qPW5ldyBTZXQ7dGhpcy5oYT1uZXcgTWFwfUNmKGEsYixjPTApe2lmKCFhKXJldHVybiExO2M9Xy5pcShjKTtpZighYylyZXR1cm4hMTtfLmZ4KHRoaXMuY2xpZW50LGMsXy5VdyhhKSxiKTtyZXR1cm4hMH1jbGlja0NvbW1hbmQoYSxiLGM9MCl7cmV0dXJuIHRoaXMuQ2YoYS5jbGlja1RyYWNraW5nUGFyYW1zLGIsYyl9c3RhdGVDaGFuZ2VkKGEsYixjPTApe3RoaXMudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChfLlV3KGEpLGIsYyl9dmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChhLGIsYz0wKXtjPT09MCYmdGhpcy5qLmhhcyhjKT90aGlzLk0ucHVzaChbYSxiXSk6Xy5teCh0aGlzLGEsYixjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeXgsengsZ2FhLEh4LEl4LGZhYSxBeCxDeDtfLnF4PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5HYShiLDMsYyl9O18ucng9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDIsYil9O18uc3g9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hfDA6dm9pZCAwfTtfLnR4PWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnN4KF8uZWQoYSxiKSk/P2N9O18udXg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBoPWZhYSsrO3JldHVybiBuZXcgXy5Udyh7dmVUeXBlOmEsdmVDb3VudGVyOmgsZWxlbWVudEluZGV4OmMsZGF0YUVsZW1lbnQ6Yix5b3V0dWJlRGF0YTpkLGpzcGJZb3V0dWJlRGF0YTplLGxvZ2dpbmdEaXJlY3RpdmVzOmZ9KX07Cl8udng9ZnVuY3Rpb24oYSxiLGMsZD0hMSxlLGYpe3ZhciBoPWQ/MTY6ODtkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmQsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6Zn0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6aH07ZSYmKGMuY2xpZW50RGF0YT1lKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGQsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixjLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYyxkKX07Cl8ud3g9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLmR4KGMsYik7ZT1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6ZX0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6MX07ZCYmKGMuY2xpZW50RGF0YT1kKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRTaG93biIsZSxjKTphP18uQ3AoInZpc3VhbEVsZW1lbnRTaG93biIsYyxhLGUpOl8uRXAoInZpc3VhbEVsZW1lbnRTaG93biIsYyxlKX07Xy54eD1mdW5jdGlvbihhKXtpZihhPT09d2luZG93KXJldHVybiBudWxsO3ZhciBiPWEucGFyZW50RWxlbWVudDtyZXR1cm4gYj9iOnR5cGVvZiBTaGFkb3dSb290IT09InVuZGVmaW5lZCImJmEuZ2V0Um9vdE5vZGUhPW51bGwmJihhPWEuZ2V0Um9vdE5vZGUoKSxhIGluc3RhbmNlb2YgU2hhZG93Um9vdCk/YS5ob3N0OndpbmRvd307Cnl4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmlxKGMpO3JldHVybiBhLmNzbj09PW51bGx8fGQ9PT1hLmNzbnx8Yz9kOihhPW5ldyBfLlhqKCJWaXNpYmlsaXR5TG9nZ2VyIGNhbGxlZCBiZWZvcmUgbmV3U2NyZWVuIix7Y2FsbGVyOmIudGFnTmFtZSxwcmV2aW91c19jc246YS5jc24sY3VycmVudF9jc246ZH0pLF8uSXAoYSksbnVsbCl9O3p4PWZ1bmN0aW9uKGEsYil7YT1hLmdldERhdGEoYik7cmV0dXJuIE1hdGguZmxvb3IoTnVtYmVyKGEmJmEubG9nZ2luZ0RpcmVjdGl2ZXMmJmEubG9nZ2luZ0RpcmVjdGl2ZXMudmlzaWJpbGl0eSYmYS5sb2dnaW5nRGlyZWN0aXZlcy52aXNpYmlsaXR5LnR5cGVzfHwiIikpfHwxfTtfLkJ4PWZ1bmN0aW9uKCl7QXguaW5zdGFuY2V8fChBeC5pbnN0YW5jZT1uZXcgQXgpO3JldHVybiBBeC5pbnN0YW5jZX07Xy5EeD1mdW5jdGlvbigpe0N4Lmluc3RhbmNlfHwoQ3guaW5zdGFuY2U9bmV3IEN4KX07Cl8uRXg9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uVmkoKCk9PntpZighYi52ZVR5cGUpcmV0dXJuIF8uSHAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihiLnZpc2liaWxpdHlUeXBlcyl7dmFyIGU9Yi52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChmLGgpPT5mfGgpO2U9e3Zpc2liaWxpdHk6e3R5cGVzOlN0cmluZyhlKX19fWU9Xy51eChiLnZlVHlwZSxiLnZpc3VhbEVsZW1lbnQsYi5lbGVtZW50SW5kZXgsYi5jbGllbnRZb3VUdWJlRGF0YSx2b2lkIDAsZSk7cmV0dXJuIF8uaXgoYSxlLGMsZCk/ZTpudWxsfSkoKX07Xy5GeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9OwpfLkd4PWZ1bmN0aW9uKGEsYil7YT1hLmpmPz9hO2ZvcihsZXQgYyBvZiBhLnZpc2liaWxpdHlNb25pdG9yS2V5c3x8W10pYi5yZihjKTthLnZpc2liaWxpdHlNb25pdG9yS2V5cz12b2lkIDB9O18uSng9ZnVuY3Rpb24oYSxiKXtpZihfLmlxKCkpe2lmKF8ueCgia2V2bGFyX3ZpbWlvX3VzZV9zaGFyZWRfbW9uaXRvciIpKUh4KGEsYi5kYXRhKTtlbHNlIGlmKCFIeChhLGIuZGF0YSkpcmV0dXJuO3ZhciBjPWIuZGF0YSxkPUl4KGMpO2lmKF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSlfLkd4KGEsYi5vYnNlcnZlcik7ZWxzZXt2YXIgZT1hLmpmPz9hO2UudHJhY2tlZFBhcmFtcyYmZS50cmFja2VkUGFyYW1zIT09ZCYmXy5HeChhLGIub2JzZXJ2ZXIpfWU9YS5qZj8/YTshY3x8ZS5kYXRhJiZlLmRhdGE9PT1jfHwoZS5kYXRhPWMpO2dhYShhLGIpO2UudHJhY2tlZFBhcmFtcz1kfX07CmdhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIub2JzZXJ2ZXI7aWYoIWMmJl8ueCgid2ViX3NraXBfbWlzc2luZ192aW1pb19vYnNlcnZlciIpKV8uSXAobmV3IF8uWGooIlZpc2liaWxpdHlPYnNlcnZlciBpcyBub3QgZGVmaW5lZC4iLGEudGFnTmFtZSxhLnRyYWNrZWRQYXJhbXMsYi5kYXRhPy50cmFja2luZ1BhcmFtcyxiLmRhdGE/LmxvZ2dpbmdEaXJlY3RpdmVzKSk7ZWxzZXt2YXIgZD1iLmxheWVyLGU9Yi5OYnx8KCgpPT57fSksZj1iLkxqLGg9YS5qZj8/YSxrPVtdO2IuZWImJmsucHVzaChjLm9ic2VydmUoYSwoKT0+e2IueEEmJmIueEEoKXx8KF8uRHgoKSxfLlZpKF8uQngoKS5ZKS5iaW5kKF8uQngoKSkoaCx2b2lkIDAsZCw3KSk7ZSghMCl9LGIuZWIpKTtiLk5jJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9PntfLkR4KCk7Xy5WaShfLkJ4KCkuSSkuYmluZChfLkJ4KCkpKGgsdm9pZCAwLGQsNyk7ZSghMSl9LGIuTmMpKTtiLkxoJiZmJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9Pgp7ZigpfSxiLkxoKSk7aC52aXNpYmlsaXR5TW9uaXRvcktleXM9a319OwpIeD1mdW5jdGlvbihhLGIpe2E9YS5qZj8/YTtpZihhLnZpc3VhbEVsZW1lbnQmJiFiKXJldHVybiEwO2lmKCFiKXJldHVybiExO3ZhciBjPSExO18ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmKGM9ISFiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSk7dmFyIGQ9SXgoYik7aWYoIWQmJiFjKXJldHVybiExO18ueCgibXdlYl9jb21wb25lbnRfdmlzaWJpbGl0eV9sb2dnaW5nIikmJihhLnZlQ29udGFpbmVyfHwoYS52ZUNvbnRhaW5lcj17fSksYS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtcz1kKTtpZihhLnRyYWNrZWRQYXJhbXMmJmEudHJhY2tlZFBhcmFtcz09PWR8fF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmYS52aXN1YWxFbGVtZW50Py5pc0NsaWVudFZlKCkmJihjPWEudmlzdWFsRWxlbWVudD8uZ2V0QXNKc3BiKCksXy50eChjLDIpPT09Yi5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGUmJgpfLnR4KGMsMywtMSk9PT1iLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LmVsZW1lbnRJbmRleCkpcmV0dXJuITE7Xy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWNfbG9nZ2luZyIpJiYhYS52aXN1YWxFbGVtZW50JiZiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSYmKGM9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlLGQ9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuZWxlbWVudEluZGV4LGI9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuY2xpZW50WW91dHViZURhdGEsYS52aXN1YWxFbGVtZW50PV8uRXgoXy5oeCgpLHt2ZVR5cGU6YyxlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTpifSkpO3JldHVybiEwfTsKSXg9ZnVuY3Rpb24oYSl7aWYoYT8ucmVuZGVyZXJDb250ZXh0KXtsZXQgYj1fLkIoYS5yZW5kZXJlckNvbnRleHQsXy5LeCk7aWYoYj8ubG9nZ2luZ0RpcmVjdGl2ZXMpcmV0dXJuIGIubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXN9cmV0dXJuIGE/LmxvZ2dpbmdEaXJlY3RpdmVzP2EubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXM6YT8udHJhY2tpbmdQYXJhbXN9O2ZhYT0xOwpBeD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgU2V0O3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMuY2xpZW50PXZvaWQgMDt0aGlzLmNzbj1udWxsfUsoKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Xy5pcSgpfWNsZWFyKCl7dGhpcy5ELmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5jc249bnVsbH1ZKGEsYixjLGQpe3ZhciBlPXRoaXMuaihhKSxmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuRC5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkQuYWRkKGYpO3RoaXMuby5zZXQoZiwhMCk7YS5pbXByZXNzaW9uTG9nJiYhYiYmYS5pbXByZXNzaW9uTG9nKCk7aWYoZXx8YS52aXN1YWxFbGVtZW50KWlmKGM9eXgodGhpcyxhLGMpKXt2YXIgaz0hIXRoaXMuZ2V0RGF0YShhKT8ubG9nZ2luZ0RpcmVjdGl2ZXM7aWYoengodGhpcyxhKXx8aylmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Cl8uVXcoZSksYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhfHwoYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhPXt9KSxlPWEuaW50ZXJhY3Rpb25Mb2dnaW5nQ2xpZW50RGF0YSxrfHxiP3p4KHRoaXMsYSkmND9ofHwoYT10aGlzLmNsaWVudCxfLmR4KGYsYyksZD1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGMpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxjKSxiPXtjc246Yyx2ZTpmLmdldEFzSnNvbigpLGV2ZW50VHlwZTo0fSxlJiYoYi5jbGllbnREYXRhPWUpLGM9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudFNob3duIixkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFNob3duIixiLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudFNob3duIixiLGQpKTp6eCh0aGlzLGEpJjEmJiFiJiZfLnd4KHRoaXMuY2xpZW50LGMsZixlLGQpOl8ud3godGhpcy5jbGllbnQsYyxmLGUsZCl9fUkoYSxiLGMsZCl7dmFyIGU9dGhpcy5qKGEpLApmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuQi5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkIuYWRkKGYpO3RoaXMuby5zZXQoZiwhMSk7aWYoaD09PSExKXJldHVybiEwO2lmKCFlJiYhYS52aXN1YWxFbGVtZW50KXJldHVybiExO2M9eXgodGhpcyxhLGMpO2lmKCFjfHwhengodGhpcyxhKSYmdGhpcy5nZXREYXRhKGEpPy5sb2dnaW5nRGlyZWN0aXZlcylyZXR1cm4hMTtlPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Xy5VdyhlKTt6eCh0aGlzLGEpJjg/Xy52eCh0aGlzLmNsaWVudCxjLGUsdm9pZCAwLHZvaWQgMCxkKTp6eCh0aGlzLGEpJjImJiFiJiYoYT10aGlzLmNsaWVudCxkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpkfSxjKSxiPXtjc246Yyx2ZTplLmdldEFzSnNvbigpLGV2ZW50VHlwZToyfSxjPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLApkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYixhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGIsZCkpO3JldHVybiEwfWooYSl7dmFyIGI9dGhpcy5nZXREYXRhKGEpO3JldHVybiBfLngoImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCIpJiZiPy5jb250ZXh0Py5sb2dnaW5nQ29udGV4dD8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5jb250ZXh0LmxvZ2dpbmdDb250ZXh0LmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zfHwiIjpiPy5yZW5kZXJlckNvbnRleHQ/LmxvZ2dpbmdDb250ZXh0Py5sb2dnaW5nRGlyZWN0aXZlcz9iLnJlbmRlcmVyQ29udGV4dC5sb2dnaW5nQ29udGV4dC5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6YS52ZUNvbnRhaW5lcj8udHJhY2tpbmdQYXJhbXM/YS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtczoKYj8udHJhY2tpbmdQYXJhbXN8fCIifXYoYSl7aWYoXy54KCJ3aXpfbmV4dF9jbGllbnRfdmVfcGFyZW50X2ZpeCIpKXt2YXIgYj10aGlzLmooYSk7cmV0dXJuIGEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Yj9fLlV3KGIpOihhPV8ueHgoYSkpP3RoaXMudihhKTpudWxsfWI9dGhpcy5qKGEpO3JldHVybiBhLnZpc3VhbEVsZW1lbnQ/YS52aXN1YWxFbGVtZW50OmI/Xy5VdyhiKTphLnBhcmVudEVsZW1lbnQ/dGhpcy52KGEucGFyZW50RWxlbWVudCk6bnVsbH1nZXREYXRhKGEpe3ZhciBiPWEuZGF0YXx8YS5wcm9wcz8uZGF0YTtpZighYnx8YS5pc1dlYkNvbXBvbmVudFdyYXBwZXIpYj1fLnB4LmdldChhKT8uW18ub3hdO3JldHVybiBifX07Q3g9Y2xhc3N7Y2xlYXIoKXtfLlZpKF8uQngoKS5jbGVhcikuYmluZChfLkJ4KCkpKCl9fTtfLkt4PW5ldyBfLkkoImxvZ2dpbmdDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTHg9bmV3IF8uVnMoIlZJU0lCSUxJVFlfT0JTRVJWRVIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE94LFB4LFF4LFN4LFR4LFZ4LGhhYSxpYWEsamFhLCR4LGF5LGN5LGJ5LGthYSxkeSxsYWEsZXksZ3ksaHksaXksb3kscHkscXkscnksdHksdnksb2FhLHBhYSxreTtfLk14PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ITE7ZD1fLmRkKGEsZCxlLGg9Pnt2YXIgaz1fLmt3KGgsYyxiKTtmPWshPT1oJiZrIT1udWxsO3JldHVybiBrfSk7aWYoZCE9bnVsbClyZXR1cm4gZiYmIV8uQmMoZCkmJl8ub3coYSxiKSxkfTtfLk54PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuRGEsZj1lW18uQWNdfDA7Yj1fLk14KGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5BY118MDtpZighXy5CYyhhLGYpKXtsZXQgaD1fLmx3KGIpO2ghPT1iJiYoXy5tdyhhKSYmKGU9YS5EYSxmPWVbXy5BY118MCksYj1oLGY9Xy5wdyhlLGYsYyxiLGQpLF8ub3coZSxmKSl9cmV0dXJuIGJ9OwpPeD1mdW5jdGlvbihhKXthLlp8fChhLlo9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9O1B4PWZ1bmN0aW9uKGEsYil7aWYoYS5yYSl7YS5EJiYoY2xlYXJUaW1lb3V0KGEuRCksYS5EPW51bGwpO2xldCBjPWEucmE7YS5yYT1udWxsO2J8fGEuZGlzcGF0Y2hFdmVudCgicmVhZHkiKTt0cnl7Yy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbH1jYXRjaChkKXt9fX07UXg9ZnVuY3Rpb24oYSxiKXthLmo9ITE7YS5yYSYmKGEudj0hMCxhLnJhLmFib3J0KCksYS52PSExKTthLkI9YjtPeChhKTtQeChhKX07Xy5SeD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEucmE/YS5yYS5yZWFkeVN0YXRlOjApPjI/YS5yYS5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTsKU3g9ZnVuY3Rpb24oYSl7aWYoYS5qJiZ0eXBlb2YgXy5DcSE9InVuZGVmaW5lZCIpaWYoYS5JJiYoYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk9PTQpc2V0VGltZW91dChhLmdyLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSxhLmlzQ29tcGxldGUoKSl7YS5qPSExO3RyeXtpZihhLmlzU3VjY2VzcygpKWEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle3RyeXt2YXIgYj0oYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk+Mj9hLnJhLnN0YXR1c1RleHQ6IiJ9Y2F0Y2goYyl7Yj0iIn1hLkI9YisiIFsiK18uUngoYSkrIl0iO094KGEpfX1maW5hbGx5e1B4KGEpfX19OwpUeD1mdW5jdGlvbigpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLmo9ITE7dGhpcy5yYT1udWxsO3RoaXMuQj10aGlzLmhhPSIiO3RoaXMudj10aGlzLmdhPXRoaXMuST10aGlzLlo9ITE7dGhpcy5VPTA7dGhpcy5EPW51bGw7dGhpcy55YT0iIjt0aGlzLm9hPSExfTtfLlV4PWZ1bmN0aW9uKGEpe18uRHgoKTtyZXR1cm4gXy5WaShfLkJ4KCkudikuYmluZChfLkJ4KCkpKGEpfTtWeD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiKSYmYi5jbGllbnRWZVNwZWM/KGI9Xy51eChiLmNsaWVudFZlU3BlYy51aVR5cGUsdm9pZCAwLGIuY2xpZW50VmVTcGVjLmVsZW1lbnRJbmRleCxiLmNsaWVudFZlU3BlYy5jbGllbnRZb3V0dWJlRGF0YSx2b2lkIDAsYiksXy5peChhLGIsYyxkKT9iOm51bGwpOmIudHJhY2tpbmdQYXJhbXM/Xy5seChhLGIudHJhY2tpbmdQYXJhbXMsYyxkKTpudWxsfTsKXy5XeD1mdW5jdGlvbihhLGIsYyxkLGUpe18ubncoYSk7dmFyIGY9YS5EYTtfLnB3KGYsZltfLkFjXXwwLGIsKGQ9PT0iMCI/TnVtYmVyKGMpPT09MDpjPT09ZCk/dm9pZCAwOmMsZSk7cmV0dXJuIGF9O18uWHg9ZnVuY3Rpb24oYSxiKXtpZihiPT1udWxsfHxiPT0iIilyZXR1cm4gbmV3IGE7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJ6Iik7YltfLkFjXXw9MzI7cmV0dXJuIG5ldyBhKGIpfTtfLll4PWZ1bmN0aW9uKGEsLi4uYil7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLlRhKGFbMF0pO3ZhciBjPWFbMF07Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy5UYShjKX07Xy5aeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9OwpoYWE9ZnVuY3Rpb24oYSl7aWYoYS5NYyYmdHlwZW9mIGEuTWM9PSJmdW5jdGlvbiIpcmV0dXJuIGEuTWMoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhLnNwbGl0KCIiKTtpZihfLnlhKGEpKXtsZXQgYj1bXSxjPWEubGVuZ3RoO2ZvcihsZXQgZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLlp4KGEpfTsKaWFhPWZ1bmN0aW9uKGEpe2lmKGEucmQmJnR5cGVvZiBhLnJkPT0iZnVuY3Rpb24iKXJldHVybiBhLnJkKCk7aWYoIWEuTWN8fHR5cGVvZiBhLk1jIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy55YShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7bGV0IGI9W107YT1hLmxlbmd0aDtmb3IobGV0IGM9MDtjPGE7YysrKWIucHVzaChjKTtyZXR1cm4gYn1yZXR1cm4gXy5GeChhKX19fTsKamFhPWZ1bmN0aW9uKGEsYixjKXtpZihhLmZvckVhY2gmJnR5cGVvZiBhLmZvckVhY2g9PSJmdW5jdGlvbiIpYS5mb3JFYWNoKGIsYyk7ZWxzZSBpZihfLnlhKGEpfHx0eXBlb2YgYT09PSJzdHJpbmciKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpO2Vsc2V7bGV0IGQ9aWFhKGEpLGU9aGFhKGEpLGY9ZS5sZW5ndGg7Zm9yKGxldCBoPTA7aDxmO2grKyliLmNhbGwoYyxlW2hdLGQmJmRbaF0sYSl9fTskeD1mdW5jdGlvbihhLGIpe3RoaXMubz10aGlzLmo9bnVsbDt0aGlzLnY9YXx8bnVsbDt0aGlzLkI9ISFifTtheT1mdW5jdGlvbihhKXthLmp8fChhLmo9bmV3IE1hcCxhLm89MCxhLnYmJl8uUmIoYS52LGZ1bmN0aW9uKGIsYyl7YS5hZGQoXy5IYihiKSxjKX0pKX07Y3k9ZnVuY3Rpb24oYSxiKXtheShhKTtiPWJ5KGEsYik7cmV0dXJuIGEuai5oYXMoYil9O2J5PWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7YS5CJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBifTsKa2FhPWZ1bmN0aW9uKGEsYil7YiYmIWEuQiYmKGF5KGEpLGEudj1udWxsLGEuai5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSx0aGlzLnJlbW92ZShlKSxjLmxlbmd0aD4wJiYodGhpcy52PW51bGwsdGhpcy5qLnNldChieSh0aGlzLGUpLF8ueWIoYykpLHRoaXMubys9Yy5sZW5ndGgpKX0sYSkpO2EuQj1ifTtkeT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn07bGFhPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9OwpleT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/KGE9ZW5jb2RlVVJJKGEpLnJlcGxhY2UoYixsYWEpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYSk6bnVsbH07Cl8uZnk9ZnVuY3Rpb24oYSl7dGhpcy5vPXRoaXMuST10aGlzLkI9IiI7dGhpcy5ZPW51bGw7dGhpcy52PXRoaXMuaj0iIjt0aGlzLkQ9ITE7dmFyIGI7YSBpbnN0YW5jZW9mIF8uZnk/KHRoaXMuRD1hLkQsZ3kodGhpcyxhLkIpLHRoaXMuST1hLkksdGhpcy5vPWEubyxoeSh0aGlzLGEuWSksdGhpcy5qPWEuaixpeSh0aGlzLGEuSy5jbG9uZSgpKSx0aGlzLnY9YS52KTphJiYoYj1fLk1iKFN0cmluZyhhKSkpPyh0aGlzLkQ9ITEsZ3kodGhpcyxiWzFdfHwiIiwhMCksdGhpcy5JPWR5KGJbMl18fCIiKSx0aGlzLm89ZHkoYlszXXx8IiIsITApLGh5KHRoaXMsYls0XSksdGhpcy5qPWR5KGJbNV18fCIiLCEwKSxpeSh0aGlzLGJbNl18fCIiLCEwKSx0aGlzLnY9ZHkoYls3XXx8IiIpKToodGhpcy5EPSExLHRoaXMuSz1uZXcgJHgobnVsbCx0aGlzLkQpKX07Z3k9ZnVuY3Rpb24oYSxiLGMpe2EuQj1jP2R5KGIsITApOmI7YS5CJiYoYS5CPWEuQi5yZXBsYWNlKC86JC8sIiIpKX07Cmh5PWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI8MCl0aHJvdyBFcnJvcigiS2FgIitiKTthLlk9Yn1lbHNlIGEuWT1udWxsfTtpeT1mdW5jdGlvbihhLGIsYyl7YiBpbnN0YW5jZW9mICR4PyhhLks9YixrYWEoYS5LLGEuRCkpOihjfHwoYj1leShiLG1hYSkpLGEuSz1uZXcgJHgoYixhLkQpKX07Xy5qeT1mdW5jdGlvbihhLGIpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLnY9YXx8MTt0aGlzLmo9Ynx8Xy51O3RoaXMuQj0oMCxfLkNhKSh0aGlzLmFCLHRoaXMpO3RoaXMuRD1fLkVhKCl9O18ubHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9bmV3IFR4O2t5LnB1c2goayk7YiYmay5saXN0ZW4oImNvbXBsZXRlIixiKTtfLmJmKGssInJlYWR5IixrLlB1KTtmJiYoay5VPU1hdGgubWF4KDAsZikpO2gmJihrLm9hPWgpO2suc2VuZChhLGMsZCxlKX07Xy5teT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYS5yZWdpc3Rlci52YWx1ZXMoKSliLnpnKCJBQk9SVEVEIil9OwpfLm55PWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2goYi50eXBlKXtjYXNlICJtYXBwaW5nIjpyZXR1cm4gYi52YWx1ZTtjYXNlICJmYWN0b3J5IjpyZXR1cm4gYj1iLnZhbHVlKCksYS5tYXBwaW5ncy5zZXQoYy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSksYjtkZWZhdWx0OnJldHVybiBfLmViKGIsdm9pZCAwKX19OwpveT1mdW5jdGlvbihhLGIsYyl7aWYoXy54KCJkZWJ1Z193ZWJfdmVfZGF0YSIpKXt2YXIgZD1fLkIoYz8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlczshZCYmYyYmKGQ9Yy5sb2dnaW5nRGlyZWN0aXZlcyk7YTp7aWYoZD1jPy50cmFja2luZ1BhcmFtcz8/ZD8udHJhY2tpbmdQYXJhbXMpdHJ5e3ZhciBlPV8uQ28oZCk7aWYoZSl7bGV0IGg9Xy5FbyhlLDEpLGs9Xy5FbyhlLDIpO2U9e307aCE9PXZvaWQgMCYmKGUuR3M9TnVtYmVyKGgpKTtrIT09dm9pZCAwJiYoZS52ZVR5cGU9TnVtYmVyKGspKTt2YXIgZj1lO2JyZWFrIGF9fWNhdGNoKGgpe31mPXZvaWQgMH1mPy52ZVR5cGUhPT12b2lkIDAmJihhLmRhdGFzZXQudmU9U3RyaW5nKGYudmVUeXBlKSk7Zj8uR3MhPT12b2lkIDAmJihhLmRhdGFzZXQudmVJbmRleD1TdHJpbmcoZi5HcykpOyhjPWM/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSl8fChjPWIudmVUeXBlfHxiLmxvZ2dpbmdDb25maWc/LnZlVHlwZSk7CmMmJihhLmRhdGFzZXQudmU9U3RyaW5nKGMpKX19O3B5PWZ1bmN0aW9uKGEpe3JldHVybiBhLmxheWVyIT09dm9pZCAwP2EubGF5ZXI6YS5wYXJlbnQ/cHkoYS5wYXJlbnQpOmEubGF5ZXI9MH07cXk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnB4LmdldChhKXx8e1plOmJ9O2MuWmU9YjtfLnB4LnNldChhLGMpO2EuZ2V0U2NyZWVuTGF5ZXI9KCk9PnB5KGMuWmUpfTtyeT1mdW5jdGlvbihhKXtmb3IoYT1hLnBhcmVudE5vZGU7YSYmIV8ucHguZ2V0KGEpPy5XeCYmIShhLmpmPz9hKS5ESjspYT1hLnBhcmVudE5vZGV8fGEuaG9zdDtpZihhKXJldHVybiBfLnB4LmdldChhKX07Xy5zeT1mdW5jdGlvbihhKXtpZihhKXtfLnB4LmRlbGV0ZShhKTtsZXQgYj1fLnkoKS5yZXNvbHZlKF8uTHgpO18uR3goYSxiKX19OwpfLnV5PWZ1bmN0aW9uKGEsYixjPSExKXtpZihjKXtpZihjPWEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpLGIuZGF0YSYmIWIuQkl8fGMpXy50digoKT0+e3ZhciBkPV8uQnYoYi5kYXRhKTt0eShhLGQpO295KGEsYixkKX0sImEiKSxfLll1KCgpPT52b2lkIF8uc3koYSkpfWVsc2UgdHlwZW9mIGIuZGF0YSE9PSJmdW5jdGlvbiImJihjPWIuZGF0YSx0eShhLGMpLG95KGEsYixjKSl9Owp0eT1mdW5jdGlvbihhLGIpe25hYSsrO3Z5KGEsYikmJl8uQ2soKS5HYSgoKT0+e18ucXgoXy5DaygpLCgpPT57aWYodnkoYSxiKSYmYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudD09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYSl7dmFyIGM7aWYoYS5nZXRBdHRyaWJ1dGUoImxheWVyIikpe3ZhciBkPWM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJsYXllciIpKSxlPV8ucHguZ2V0KGEpO2U/ZS5aZS5sYXllcj1kOnF5KGEsbmV3IHd5KGQpKTsoZD1yeShhKSkmJl8ucHguZ2V0KGEpPy5aZS5zZXRQYXJlbnQoZC5aZSl9ZWxzZShjPV8ucHguZ2V0KGEpKT9jPXB5KGMuWmUpOihjPXB5LGQ9bmV3IHd5LChlPXJ5KGEpKSYmZC5zZXRQYXJlbnQoZS5aZSkscXkoYSxkKSxjPWMoZCkpO2M/PyhjPTApO2Q9YS5nZXRBdHRyaWJ1dGUoImNsaWVudC12ZS10eXBlIik7ZT1OdW1iZXIoZCk7dmFyIGY9ITE7ZD0hMTt2YXIgaD1fLnB4LmdldChhKTtoJiYoaFtfLm94XSE9PWJ8fGUmJl8ucHguZ2V0KGEpPy5VZD09PQp2b2lkIDApJiYoaFtfLm94XT1iLGY9ZD1oLld4PSEwKTtfLnB4LmhhcyhhKSYmKF8ucHguZ2V0KGEpLlVkPWUpO2EudmlzdWFsRWxlbWVudCYmKGQ9ITApO3ZhciBrO18ueCgid2l6X25leHRfbGRfZml4X2NsaWVudF92ZV9zcGVjIik/az1fLkIoYj8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM6az1iPy5sb2dnaW5nRGlyZWN0aXZlcztfLngoIndpel9uZXh0X2NsaWVudF92ZV9wYXJlbnRfZml4Iik/ayYmKGsuY2xpZW50VmVTcGVjfHxrLnRyYWNraW5nUGFyYW1zKSYmKGg9KGg9Xy54eChhKSk/Xy5VeChoKTpudWxsLGs9VngoXy5oeCgpLGssaHx8dm9pZCAwLGMpKSYmKGEudmlzdWFsRWxlbWVudD1rKTprJiZrLmNsaWVudFZlU3BlYyYmKGg9Xy5VeChhKSxrPVZ4KF8uaHgoKSxrLGh8fHZvaWQgMCxjKSkmJihhLnZpc3VhbEVsZW1lbnQ9ayk7IWEudmlzdWFsRWxlbWVudCYmZSYmZiYmKGEudmVUeXBlPWUsaz12b2lkIDAsCl8ueCgid2l6X25leHRfY2xpZW50X3ZlX3BhcmVudF9maXgiKSYmKGU9Xy54eChhKSkmJihrPV8uVXgoZSkpLGs9Xy5FeChfLmh4KCksYSxrLGMpLGEudmlzdWFsRWxlbWVudD1rKTtkJiYoaz1fLnkoKS5yZXNvbHZlKF8uTHgpLF8uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmssbGF5ZXI6YyxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifSxOYzp7VmI6ITEsc3RhdGU6ImhpZGRlbiJ9fSkpfX0sMCl9LDgpfTt2eT1mdW5jdGlvbihhLGIpe3JldHVybiBiPy50cmFja2luZ1BhcmFtc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXN8fF8uQihiPy5yZW5kZXJlckNvbnRleHQsXy5LeCl8fGEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpPyEwOiExfTtvYWE9L15odHRwcz8kL2k7cGFhPVsiUE9TVCIsIlBVVCJdO2t5PVtdO18uSGEoVHgsXy5nZik7Xy5nPVR4LnByb3RvdHlwZTtfLmcuUHU9ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKTtfLnhiKGt5LHRoaXMpfTsKXy5nLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5yYSl0aHJvdyBFcnJvcigiUGFgIit0aGlzLmhhKyJgIithKTtiPWI/Yi50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuaGE9YTt0aGlzLkI9IiI7dGhpcy5aPSExO3RoaXMuaj0hMDt0aGlzLnJhPW5ldyBYTUxIdHRwUmVxdWVzdDt0aGlzLnJhLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLnlnKSgoMCxfLkNhKSh0aGlzLmdyLHRoaXMpKTt0cnl7dGhpcy5nYT0hMCx0aGlzLnJhLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuZ2E9ITF9Y2F0Y2goZil7UXgodGhpcyxmKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKWZvcihsZXQgZiBvZiBkLmtleXMoKSljLnNldChmLApkLmdldChmKSk7ZWxzZSB0aHJvdyBFcnJvcigiUWFgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmPT4iY29udGVudC10eXBlIj09Zi50b0xvd2VyQ2FzZSgpKTtlPV8udS5Gb3JtRGF0YSYmYSBpbnN0YW5jZW9mIF8udS5Gb3JtRGF0YTshKF8uc2IocGFhLGIpPj0wKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Zm9yKGxldCBbZixoXW9mIGMpdGhpcy5yYS5zZXRSZXF1ZXN0SGVhZGVyKGYsaCk7dGhpcy55YSYmKHRoaXMucmEucmVzcG9uc2VUeXBlPXRoaXMueWEpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5yYSYmdGhpcy5yYS53aXRoQ3JlZGVudGlhbHMhPT10aGlzLm9hJiYodGhpcy5yYS53aXRoQ3JlZGVudGlhbHM9dGhpcy5vYSk7dHJ5e3RoaXMuRCYmKGNsZWFyVGltZW91dCh0aGlzLkQpLHRoaXMuRD1udWxsKSx0aGlzLlU+MCYmKHRoaXMuRD1zZXRUaW1lb3V0KHRoaXMuZEIuYmluZCh0aGlzKSwKdGhpcy5VKSksdGhpcy5JPSEwLHRoaXMucmEuc2VuZChhKSx0aGlzLkk9ITF9Y2F0Y2goZil7UXgodGhpcyxmKX19O18uZy5kQj1mdW5jdGlvbigpe3R5cGVvZiBfLkNxIT0idW5kZWZpbmVkIiYmdGhpcy5yYSYmKHRoaXMuQj0iVGltZWQgb3V0IGFmdGVyICIrdGhpcy5VKyJtcywgYWJvcnRpbmciLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTtfLmcuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJhJiZ0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxQeCh0aGlzKSl9O18uZy5sYT1mdW5jdGlvbigpe3RoaXMucmEmJih0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEpLFB4KHRoaXMsITApKTtUeC56Yi5sYS5jYWxsKHRoaXMpfTsKXy5nLmdyPWZ1bmN0aW9uKCl7dGhpcy5pYSgpfHwodGhpcy5nYXx8dGhpcy5JfHx0aGlzLnY/U3godGhpcyk6dGhpcy5seigpKX07Xy5nLmx6PWZ1bmN0aW9uKCl7U3godGhpcyl9O18uZy5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5yYX07Xy5nLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yYT90aGlzLnJhLnJlYWR5U3RhdGU6MCk9PTR9O18uZy5pc1N1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYT1fLlJ4KHRoaXMpLGI7aWYoIShiPV8uc2YoYSkpKXtpZihhPWE9PT0wKWE9Xy5PYihTdHJpbmcodGhpcy5oYSkpLGE9IW9hYS50ZXN0KGEpO2I9YX1yZXR1cm4gYn07Xy5nLmdldExhc3RFcnJvcj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgdGhpcy5CPT09InN0cmluZyI/dGhpcy5COlN0cmluZyh0aGlzLkIpfTtfLmc9JHgucHJvdG90eXBlOwpfLmcuYWRkPWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO3ZhciBjPXRoaXMuai5nZXQoYSk7Y3x8dGhpcy5qLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7YXkodGhpcyk7YT1ieSh0aGlzLGEpO3JldHVybiB0aGlzLmouaGFzKGEpPyh0aGlzLnY9bnVsbCx0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoLHRoaXMuai5kZWxldGUoYSkpOiExfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy52PW51bGw7dGhpcy5vPTB9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7YXkodGhpcyk7cmV0dXJuIHRoaXMubz09MH07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtheSh0aGlzKTt0aGlzLmouZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Cl8uZy5yZD1mdW5jdGlvbigpe2F5KHRoaXMpO3ZhciBhPUFycmF5LmZyb20odGhpcy5qLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5qLmtleXMoKSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YVtkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyljLnB1c2goYltkXSl9cmV0dXJuIGN9O18uZy5NYz1mdW5jdGlvbihhKXtheSh0aGlzKTt2YXIgYj1bXTtpZih0eXBlb2YgYT09PSJzdHJpbmciKWN5KHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMuai5nZXQoYnkodGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmoudmFsdWVzKCkpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9OwpfLmcuc2V0PWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO2N5KHRoaXMsYSkmJih0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoKTt0aGlzLmouc2V0KGEsW2JdKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gYjthPXRoaXMuTWMoYSk7cmV0dXJuIGEubGVuZ3RoPjA/U3RyaW5nKGFbMF0pOmJ9OwpfLmcudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLnYpcmV0dXJuIHRoaXMudjtpZighdGhpcy5qKXJldHVybiIiO3ZhciBhPVtdLGI9QXJyYXkuZnJvbSh0aGlzLmoua2V5cygpKTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGM9YltkXTtsZXQgZT1lbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKTtjPXRoaXMuTWMoYyk7Zm9yKGxldCBmPTA7ZjxjLmxlbmd0aDtmKyspe2xldCBoPWU7Y1tmXSE9PSIiJiYoaCs9Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoY1tmXSkpKTthLnB1c2goaCl9fXJldHVybiB0aGlzLnY9YS5qb2luKCImIil9O18uZy5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyAkeDthLnY9dGhpcy52O3RoaXMuaiYmKGEuaj1uZXcgTWFwKHRoaXMuaiksYS5vPXRoaXMubyk7cmV0dXJuIGF9OwpfLmcuZXh0ZW5kPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YXJndW1lbnRzLmxlbmd0aDtiKyspamFhKGFyZ3VtZW50c1tiXSxmdW5jdGlvbihjLGQpe3RoaXMuYWRkKGQsYyl9LHRoaXMpfTt2YXIgeHk9L1sjXC9cP0BdL2cscWFhPS9bI1w/XS9nLHJhYT0vWyNcPzpdL2csc2FhPS8jL2csbWFhPS9bI1w/QF0vZzsKXy5meS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMuQjtiJiZhLnB1c2goZXkoYix4eSwhMCksIjoiKTt2YXIgYz10aGlzLm87aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkkpJiZhLnB1c2goZXkoYix4eSwhMCksIkAiKSxhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSkucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYz10aGlzLlksYyE9bnVsbCYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5qKXRoaXMubyYmYy5jaGFyQXQoMCkhPSIvIiYmYS5wdXNoKCIvIiksYS5wdXNoKGV5KGMsYy5jaGFyQXQoMCk9PSIvIj9xYWE6cmFhLCEwKSk7KGM9dGhpcy5LLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMudikmJmEucHVzaCgiIyIsZXkoYyxzYWEpKTtyZXR1cm4gYS5qb2luKCIiKX07Cl8uZnkucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jbG9uZSgpLGM9ISFhLkI7Yz9neShiLGEuQik6Yz0hIWEuSTtjP2IuST1hLkk6Yz0hIWEubztjP2Iubz1hLm86Yz1hLlkhPW51bGw7dmFyIGQ9YS5qO2lmKGMpaHkoYixhLlkpO2Vsc2UgaWYoYz0hIWEuail7aWYoZC5jaGFyQXQoMCkhPSIvIilpZih0aGlzLm8mJiF0aGlzLmopZD0iLyIrZDtlbHNle3ZhciBlPWIuai5sYXN0SW5kZXhPZigiLyIpO2UhPS0xJiYoZD1iLmouc2xpY2UoMCxlKzEpK2QpfWU9ZDtpZihlPT0iLi4ifHxlPT0iLiIpZD0iIjtlbHNlIGlmKGUuaW5kZXhPZigiLi8iKSE9LTF8fGUuaW5kZXhPZigiLy4iKSE9LTEpe2Q9ZS5sYXN0SW5kZXhPZigiLyIsMCk9PTA7ZT1lLnNwbGl0KCIvIik7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDspe2xldCBrPWVbaCsrXTtrPT0iLiI/ZCYmaD09ZS5sZW5ndGgmJmYucHVzaCgiIik6az09Ii4uIj8oKGYubGVuZ3RoPjF8fGYubGVuZ3RoPT0KMSYmZlswXSE9IiIpJiZmLnBvcCgpLGQmJmg9PWUubGVuZ3RoJiZmLnB1c2goIiIpKTooZi5wdXNoKGspLGQ9ITApfWQ9Zi5qb2luKCIvIil9ZWxzZSBkPWV9Yz9iLmo9ZDpjPWEuSy50b1N0cmluZygpIT09IiI7Yz9peShiLGEuSy5jbG9uZSgpKTpjPSEhYS52O2MmJihiLnY9YS52KTtyZXR1cm4gYn07Xy5meS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uZnkodGhpcyl9O18uZnkucHJvdG90eXBlLmFtPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uSGEoXy5qeSxfLmdmKTtfLmc9Xy5qeS5wcm90b3R5cGU7Xy5nLmVuYWJsZWQ9ITE7Xy5nLnNjPW51bGw7Xy5nLnNldEludGVydmFsPWZ1bmN0aW9uKGEpe3RoaXMudj1hO3RoaXMuc2MmJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnNjJiZ0aGlzLnN0b3AoKX07Cl8uZy5hQj1mdW5jdGlvbigpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9Xy5FYSgpLXRoaXMuRDthPjAmJmE8dGhpcy52Ki44P3RoaXMuc2M9dGhpcy5qLnNldFRpbWVvdXQodGhpcy5CLHRoaXMudi1hKToodGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKSx0aGlzLmRpc3BhdGNoRXZlbnQoInRpY2siKSx0aGlzLmVuYWJsZWQmJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpKX19O18uZy5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnNjfHwodGhpcy5zYz10aGlzLmouc2V0VGltZW91dCh0aGlzLkIsdGhpcy52KSx0aGlzLkQ9Xy5FYSgpKX07Xy5nLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKX07Xy5nLmxhPWZ1bmN0aW9uKCl7Xy5qeS56Yi5sYS5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLmp9O18uQXk9bmV3IF8uSSgiY29udGludWF0aW9uQ29tbWFuZCIpO18uQnk9bmV3IF8uSSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO18uQ3k9bmV3IF8uSSgidW5kb0ZlZWRiYWNrRW5kcG9pbnQiKTtfLkR5PW5ldyBfLkkoInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgdGFhO3RhYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVnaXN0ZXI9bmV3IE1hcH1jbGVhcigpe18ubXkodGhpcyk7dGhpcy5yZWdpc3Rlci5jbGVhcigpfX07Xy5FeT1uZXcgdGFhO3ZhciB1YWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e319Y29udGFpbnMoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmosYSl9Z2V0KGEpe2lmKHRoaXMuY29udGFpbnMoYSkpcmV0dXJuIHRoaXMualthXX1zZXQoYSxiKXt0aGlzLmpbYV09Yn1yZCgpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmopfXJlbW92ZShhKXtkZWxldGUgdGhpcy5qW2FdfX07Xy5HeT1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcHBpbmdzPW5ldyB1YWE7dGhpcy5qPW5ldyBTZXR9Z2V0KGEpe3ZhciBiPXRoaXMubWFwcGluZ3MuZ2V0KGEudG9TdHJpbmcoKSk7cmV0dXJuIF8ubnkodGhpcyxiLGEpfW9uTG9hZEVycm9yKGEpe3RoaXMuai5hZGQoYSk7cmV0dXJuKCk9Pnt0aGlzLmouZGVsZXRlKGEpfX19O18uSHk9bmV3IF8uVnMoIkFTWU5DX0lOTkVSVFVCRV9UUkFOU1BPUlRfVE9LRU4iKTtfLkl5PW5ldyBfLlZzKCJJTk5FUlRVQkVfVFJBTlNQT1JUX1RPS0VOIik7Xy5KeT1uZXcgXy5WcygiUkVTUE9OU0VfUFJPQ0VTU09SX01BUF9UT0tFTiIpO3ZhciB3eT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmxheWVyPWF9c2V0UGFyZW50KGEpe3RoaXMucGFyZW50PWF9fTt2YXIgbmFhPTA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udmFhPSJwbGF5ZXJfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB4YWEseWFhLHphYSxWeSwkeSxheixieixjeixBYWEsaHosQmFhLENhYSxpeixreixFYWEsdHosd2FhLFJ5LFN5LEhhYSxJYWEsRGFhLEZhYSxkeixqeixleixmejtfLkt5PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkJmKXJldHVybiBhO3ZhciBiPW5ldyBfLkJmKF8uZ2QpO18uQWYoYiwyLGEpO3JldHVybiBifTtfLkx5PWZ1bmN0aW9uKGEsYil7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18uTXk9ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYyliPTMxKmIrYS5jaGFyQ29kZUF0KGMpPj4+MDtyZXR1cm4gYn07Xy5OeT1mdW5jdGlvbihhKXthPV8uTWIoYSk7cmV0dXJuIF8uSWIobnVsbCxudWxsLG51bGwsbnVsbCxhWzVdLGFbNl0sYVs3XSl9O18uT3k9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCIjIik7cmV0dXJuIGI8MD9hOmEuc2xpY2UoMCxiKX07Cl8uUHk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5zZWFyY2goXy5ZYiksZD0wLGUsZj1bXTsoZT1fLlhiKGEsZCxiLGMpKT49MDspZi5wdXNoKGEuc3Vic3RyaW5nKGQsZSkpLGQ9TWF0aC5taW4oYS5pbmRleE9mKCImIixlKSsxfHxjLGMpO2YucHVzaChhLnNsaWNlKGQpKTtyZXR1cm4gZi5qb2luKCIiKS5yZXBsYWNlKHdhYSwiJDEiKX07eGFhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iJjEyOD8wOi0xLGU9YS5sZW5ndGgsZjtpZihmPSEhZSlmPWFbZS0xXSxmPWYhPW51bGwmJnR5cGVvZiBmPT09Im9iamVjdCImJmYuY29uc3RydWN0b3I9PT1PYmplY3Q7dmFyIGg9ZSsoZj8tMTowKTtmb3IoYj1iJjEyOD8xOjA7YjxoO2IrKyljKGItZCxhW2JdKTtpZihmKXthPWFbZS0xXTtmb3IobGV0IGsgaW4gYSkhaXNOYU4oaykmJmMoK2ssYVtrXSl9fTtfLlF5PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iKXJldHVybiBhO2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuISFhfTsKeWFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uR2EoXy5KYyk7cmV0dXJuIGI/YVtiXTp2b2lkIDB9O3phYT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOnJldHVybiBSeXx8KFJ5PVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/U3l8fChTeT1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fTtfLlR5PWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDI1NiZhKX07Xy5VeT1mdW5jdGlvbihhLGIpe3JldHVybiBhPSgyJmI/YXwyOmEmLTMpJi0yNzN9O1Z5PWZ1bmN0aW9uKGEsYil7MiZiJiYoYXw9Mik7cmV0dXJuIGF8MX07Cl8uV3k9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCxrKXt2YXIgbD1fLkJjKGEsYyk7Zj1sPzE6ZjtoPSEhaHx8Zj09PTM7bD1rJiYhbDsoZj09PTJ8fGwpJiZfLm13KGEpJiYoYj1hLkRhLGM9YltfLkFjXXwwKTthPV8uZGQoYixlKTtrPUFycmF5LmlzQXJyYXkoYSk/YTpfLm1yO3ZhciBtPWs9PT1fLm1yPzc6a1tfLkFjXXwwLG49VnkobSxjKTtpZihhPSEoNCZuKSl7dmFyIHA9ayxyPWM7bGV0IHQ9ISEoMiZuKTt0JiYocnw9Mik7bGV0IHY9IXQsej0hMCxFPTAsQT0wO2Zvcig7RTxwLmxlbmd0aDtFKyspe2xldCBGPV8ua3cocFtFXSxkLHIpO2lmKEYgaW5zdGFuY2VvZiBkKXtpZighdCl7bGV0IEM9Xy5CYyhGKTt2JiYodj0hQyk7eiYmKHo9Qyl9cFtBKytdPUZ9fUE8RSYmKHAubGVuZ3RoPUEpO258PTQ7bj16P24mLTQwOTc6bnw0MDk2O249dj9ufDg6biYtOX1uIT09bSYmKGtbXy5BY109biwyJm4mJk9iamVjdC5mcmVlemUoaykpO2lmKGwmJiEoOCZufHwhay5sZW5ndGgmJihmPT09MXx8CihmIT09ND8wOjImbnx8ISgxNiZuKSYmMzImYykpKSl7Xy5UeShuKSYmKGs9Wy4uLmtdLG49Xy5VeShuLGMpLGM9Xy5wdyhiLGMsZSxrKSk7ZD1rO2w9bjtmb3IobT0wO208ZC5sZW5ndGg7bSsrKXA9ZFttXSxuPV8ubHcocCkscCE9PW4mJihkW21dPW4pO2x8PTg7bj1sPWQubGVuZ3RoP2x8NDA5NjpsJi00MDk3O2tbXy5BY109bn1kPWs7bD1rPW47Zj09PTF8fChmIT09ND8wOjIma3x8ISgxNiZrKSYmMzImYyk/Xy5UeShrKXx8KGt8PSFkLmxlbmd0aHx8YSYmISg0MDk2JmspfHwzMiZjJiYhKDQwOTYma3x8MTYmayk/MjoyNTYsayE9PWwmJihkW18uQWNdPWspLE9iamVjdC5mcmVlemUoZCkpOihmPT09MiYmXy5UeShrKSYmKGQ9Wy4uLmRdLGw9MCxrPV8uVXkoayxjKSxjPV8ucHcoYixjLGUsZCkpLF8uVHkoayl8fChofHwoa3w9MTYpLGshPT1sJiYoZFtfLkFjXT1rKSkpOzIma3x8ISg0MDk2Jmt8fDE2JmspfHxfLm93KGIsYyk7cmV0dXJuIGR9OwpfLlh5PWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj4+PTc7YS5qLnB1c2goYil9O18uWXk9ZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCE9PTAmJihhLnYucHVzaChiKSxhLm8rPWIubGVuZ3RoKX07Xy5aeT1mdW5jdGlvbihhLGIsYyl7Xy5YeShhLmosYio4K2MpfTskeT1mdW5jdGlvbihhLGIpe18uWnkoYSxiLDIpO2I9YS5qLmVuZCgpO18uWXkoYSxiKTtiLnB1c2goYS5vKTtyZXR1cm4gYn07YXo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBvcCgpO2ZvcihjPWEubythLmoubGVuZ3RoKCktYztjPjEyNzspYi5wdXNoKGMmMTI3fDEyOCksYz4+Pj03LGEubysrO2IucHVzaChjKTthLm8rK307Yno9ZnVuY3Rpb24oYSxiKXtpZihhIGluc3RhbmNlb2YgXy5NcilyZXR1cm4gYS5EYTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBfLlhjKGEsYlswXSxiWzFdKX07CmN6PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtBYWE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSkmJiEhYS5sZW5ndGgmJnR5cGVvZiBhWzBdPT09Im51bWJlciImJmFbMF0+MH07Cmh6PWZ1bmN0aW9uKGEpe3ZhciBiPUJhYSxjPUNhYSxkPWFbZHpdO2lmKGQpcmV0dXJuIGQ7ZD17fTtkLlpIPWE7ZC5PcT16YWEoYVswXSk7dmFyIGU9YVsxXSxmPTE7ZSYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQuZXh0ZW5zaW9ucz1lLGU9YVsrK2ZdLHR5cGVvZiBlPT09ImZ1bmN0aW9uIiYmKGQuU3g9ITAsZXo/Pyhlej1lKSxmej8/KGZ6PWFbZisxXSksZT1hW2YrPTJdKSk7Zm9yKHZhciBoPXt9O2UmJkFhYShlKTspe2Zvcih2YXIgaz0wO2s8ZS5sZW5ndGg7aysrKWhbZVtrXV09ZTtlPWFbKytmXX1mb3Ioaz0xO2UhPT12b2lkIDA7KXt0eXBlb2YgZT09PSJudW1iZXIiJiYoays9ZSxlPWFbKytmXSk7bGV0IG47dmFyIGw9dm9pZCAwO2UgaW5zdGFuY2VvZiBfLmd6P249ZToobj1EYWEsZi0tKTtpZihuPy5vKXtlPWFbKytmXTtsPWE7dmFyIG09Zjt0eXBlb2YgZT09PSJmdW5jdGlvbiImJihlPWUoKSxsW21dPWUpO2w9ZX1lPWFbKytmXTttPWsrMTt0eXBlb2YgZT09PSJudW1iZXIiJiYKZTwwJiYobS09ZSxlPWFbKytmXSk7Zm9yKDtrPG07aysrKXtsZXQgcD1oW2tdO2w/YyhkLGssbixsLHApOmIoZCxrLG4scCl9fXJldHVybiBhW2R6XT1kfTtCYWE9ZnVuY3Rpb24oYSxiLGMpe2FbYl09Yy5qfTtDYWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixoPWMuajthW2JdPShrLGwsbSk9PmgoayxsLG0sZnx8KGY9aHooZCkuT3EpLGV8fChlPWl6KGQpKSl9O2l6PWZ1bmN0aW9uKGEpe3ZhciBiPWFbanpdO2lmKCFiKXtsZXQgYz1oeihhKTtiPShkLGUpPT5reihkLGUsYyk7YVtqel09Yn1yZXR1cm4gYn07a3o9ZnVuY3Rpb24oYSxiLGMpe3hhYShhLGFbXy5BY118MCwoZCxlKT0+e2lmKGUhPW51bGwpe3ZhciBmPUVhYShjLGQpO2Y/ZihiLGUsZCk6ZDw1MDB8fF8ueGMoXy5rciwzKX19KTsoYT15YWEoYSkpJiZhLmN3KChkLGUsZik9PntfLll5KGIsYi5qLmVuZCgpKTtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKV8uWXkoYixfLnd3KGZbZF0pfHxuZXcgVWludDhBcnJheSgwKSl9KX07CkVhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWFbYl07aWYoYylyZXR1cm4gYztpZihjPWEuZXh0ZW5zaW9ucylpZihjPWNbYl0pe2M9QXJyYXkuaXNBcnJheShjKT9jWzBdaW5zdGFuY2VvZiBfLmd6P2M6W0ZhYSxjXTpbYyx2b2lkIDBdO3ZhciBkPWNbMF0uajtpZihjPWNbMV0pe2xldCBlPWl6KGMpLGY9aHooYykuT3E7Yz1hLlN4P2Z6KGYsZSk6KGgsayxsKT0+ZChoLGssbCxmLGUpfWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtfLmx6PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9O18ubXo9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5ReShiKTtiIT1udWxsJiYoXy5aeShhLGMsMCksYS5qLmoucHVzaChiPzE6MCkpfTtfLm56PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtfLnB6PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfLm96KHRoaXMsYSl9fTsKXy5xej1mdW5jdGlvbigpe2lmKCFfLkxqLmlzRW5hYmxlZCgpKXJldHVybiExO2lmKCFfLkxqLmlzRW1wdHkoKSlyZXR1cm4hMDtfLkxqLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse3ZqOjYwfSk7aWYoXy5Mai5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpIT09IjEiKXJldHVybiExO18uTGoucmVtb3ZlKCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH07Xy5yej1mdW5jdGlvbigpe3JldHVybihfLmhyfHxfLmlyKSYmXy5NaygiYXBwbGV3ZWJraXQiKSYmIV8uTWsoInZlcnNpb24iKSYmKCFfLk1rKCJzYWZhcmkiKXx8Xy5NaygiZ3NhLyIpKX07Xy5zej1mdW5jdGlvbigpe3JldHVybiBfLk5kKCl8fF8ucnooKXx8Xy5lciYmXy5NaygidmVyc2lvbi8iKT8hMDpfLncoIkVPTV9WSVNJVE9SX0RBVEEiKT8hMTohMH07Cl8udXo9ZnVuY3Rpb24oYSxiLGMsZD0hMCl7dmFyIGU9Xy53KCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiLFtdKSxmPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2YmJmUucHVzaChmKTtmPV8uUGIoYSk7aWYoXy5zYihlLGYpPj0wfHwhZiYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTApaWYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksXy5MeShlLGEpLGE9ZS5ocmVmKWlmKGE9Xy5OeShhKSxhPV8uT3koYSkpZCYmIWIuY3NuJiYoYi5pdGN0fHxiLnZlZCkmJihiPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl9LGIpKSxjPyhjPXBhcnNlSW50KGMsMTApLGlzRmluaXRlKGMpJiZjPjAmJnR6KGEsYixjKSk6dHooYSxiKX07dHo9ZnVuY3Rpb24oYSxiLGMpe2E9Xy52eihhKTtiPWI/Xy5VYihiKToiIjtjPWN8fDU7Xy5zeigpJiZfLk1qKGEsYixjKX07Xy52ej1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgR2FhKWE9Xy5QeShhLGIpO3JldHVybiJTVC0iK18uTXkoYSkudG9TdHJpbmcoMzYpfTsKXy53ej17fTt3YWE9L1s/Jl0oJHwjKS87SGFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLmoubGVuZ3RofWVuZCgpe3ZhciBhPXRoaXMuajt0aGlzLmo9W107cmV0dXJuIGF9d3JpdGVVaW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfXdyaXRlSW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfX07SWFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52PVtdO3RoaXMubz0wO3RoaXMuaj1uZXcgSGFhfX07Xy5nej1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO2E9Xy5HYShfLnpyKTt0aGlzLm89ISFhJiZiPT09YXx8ITF9fTtEYWE9bmV3IF8uZ3ooY3osXy56cik7RmFhPW5ldyBfLmd6KGN6LF8uenIpO2R6PVN5bWJvbCgpO2p6PVN5bWJvbCgpOwpfLm96PShhLGIpPT57dmFyIGM9bmV3IElhYTtreihhLkRhLGMsaHooYikpO18uWXkoYyxjLmouZW5kKCkpO2E9bmV3IFVpbnQ4QXJyYXkoYy5vKTtiPWMudjt2YXIgZD1iLmxlbmd0aCxlPTA7Zm9yKGxldCBmPTA7ZjxkO2YrKyl7bGV0IGg9YltmXTthLnNldChoLGUpO2UrPWgubGVuZ3RofWMudj1bYV07cmV0dXJuIGF9O18ueHo9Xy5seihfLm16LF8uQXIpOwpfLnl6PWZ1bmN0aW9uKGEsYixjPV8uenIpe3JldHVybiBuZXcgXy5neihiLGMpfShmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaigpIT09MilyZXR1cm4hMTt2YXIgZj1hLm87ZD1fLlhjKHZvaWQgMCxkWzBdLGRbMV0pO3ZhciBoPWJbXy5BY118MDtpZihoJjIpdGhyb3cgRXJyb3IoKTt2YXIgaz1oJjEyOD9fLnd6OnZvaWQgMCxsPV8uZGQoYixjLGspO2w9QXJyYXkuaXNBcnJheShsKT9sOl8ubXI7dmFyIG09bD09PV8ubXI/NzpsW18uQWNdfDAsbj1WeShtLGgpO2lmKDImbnx8Xy5UeShuKXx8MTYmbiluPT09bXx8Xy5UeShuKXx8KGxbXy5BY109biksbD1bLi4ubF0sbT0wLG49Xy5VeShuLGgpLF8ucHcoYixoLGMsbCxrKTtuJj0tMTM7biE9PW0mJihsW18uQWNdPW4pO2wucHVzaChkKTtmLmNhbGwoYSxkLGUpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8ubnooYSxiW2ZdLGMsZCxlKTsKYT1iW18uQWNdfDA7YSYxfHwoYltfLkFjXT1hfDEpfX0pO18ueno9bmV3IF8uSSgic2lnbmFsU2VydmljZUVuZHBvaW50Iik7Xy5Bej1uZXcgXy5JKCJwbGF5bGlzdEVkaXRFbmRwb2ludCIpO3ZhciBHYWE9ImFic29sdXRlX2V4cGVyaW1lbnRzIGFwcCBjb25kaXRpb25hbF9leHBlcmltZW50cyBkZWJ1Z2NzcyBkZWJ1Z2pzIGV4cGZsYWcgZm9yY2VkX2V4cGVyaW1lbnRzIHBiaiBwYmpyZWxvYWQgc2JiIHNwZiBzcGZyZWxvYWQgc3JfYm5zX2FkZHJlc3Mgc3R0aWNrIi5zcGxpdCgiICIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRXosRnosQnosR3osSmFhO18uQ3o9ZnVuY3Rpb24oYSl7cmV0dXJuISEoKEJ6KGBmJHtNYXRoLmZsb29yKGEvMzEpKzF9YCl8fDApJjE8PGElMzEpfTtfLkR6PWZ1bmN0aW9uKGEsYil7dmFyIGM9YGYke01hdGguZmxvb3IoYS8zMSkrMX1gO2E9MTw8YSUzMTt2YXIgZD1CeihjKXx8MDtkPWI/ZHxhOmQmfmE7ZD09PTA/ZGVsZXRlIF8ueHNbY106Xy54c1tjXT1kLnRvU3RyaW5nKDE2KS50b1N0cmluZygpfTtFej1mdW5jdGlvbihhKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChhKSl0aHJvdyBFcnJvcigiZmFgIithKTt9O0Z6PWZ1bmN0aW9uKGEpe2lmKCEvXlx3KyQvLnRlc3QoYSkpdGhyb3cgRXJyb3IoImdhYCIrYSk7fTtCej1mdW5jdGlvbihhKXthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChhKT9wYXJzZUludChhLDE2KTpudWxsfTsKXy5Iej1mdW5jdGlvbigpe0d6fHwoR3o9bmV3IEphYSk7cmV0dXJuIEd6fTtfLkl6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT57aWYoXy5CcShhKSlyZXR1cm4hMTtfLkFxKGEsdm9pZCAwLHZvaWQgMCk7cmV0dXJuITB9KSgpfTsKSmFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPV8udygiQUxUX1BSRUZfQ09PS0lFX05BTUUiLCJQUkVGIik7dGhpcy5vPV8udygiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIGE9Xy5Mai5nZXQodGhpcy5qLHZvaWQgMCk7YSYmdGhpcy5wYXJzZShhKX1nZXQoYSxiKXtGeihhKTtFeihhKTthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGw/YTpiP2I6IiJ9c2V0KGEsYil7RnooYSk7RXooYSk7aWYoYj09bnVsbCl0aHJvdyBFcnJvcigiZWEiKTtfLnhzW2FdPWIudG9TdHJpbmcoKX1yZW1vdmUoYSl7RnooYSk7RXooYSk7ZGVsZXRlIF8ueHNbYV19c2F2ZSgpe18uTWoodGhpcy5qLHRoaXMuZHVtcCgpLDYzMDcyRTMsdGhpcy5vLCEwKX1jbGVhcigpe2ZvcihsZXQgYSBpbiBfLnhzKWRlbGV0ZSBfLnhzW2FdfWR1bXAoKXt2YXIgYT1bXTtmb3IobGV0IGIgaW4gXy54cylfLnhzLmhhc093blByb3BlcnR5KGIpJiYKYS5wdXNoKGAke2J9PWArZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhfLnhzW2JdKSkpO3JldHVybiBhLmpvaW4oIiYiKX1wYXJzZShhKXthPWRlY29kZVVSSUNvbXBvbmVudChhKS5zcGxpdCgiJiIpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgYj1hW2NdLnNwbGl0KCI9Iik7bGV0IGQ9YlswXTsoYj1iWzFdKSYmKF8ueHNbZF09Yi50b1N0cmluZygpKX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExhYSxLYWE7Xy5Kej1mdW5jdGlvbihhLGIpe2Eudi5zZXQoYi5qYSxiKTt2YXIgYz1hLmouZ2V0KGIuamEpO2lmKGMpdHJ5e2MuUWgoYS5yZXNvbHZlKGIuamEpKX1jYXRjaChkKXtjLlF6KGQpfX07Xy5Lej1mdW5jdGlvbihhLGI9Xy5hYil7cmV0dXJuIF8uYmIoYSxiKXx8Xy5GcX07Xy5Mej1mdW5jdGlvbigpe3JldHVybiBfLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07Xy5Nej1mdW5jdGlvbihhLGIpe3ZhciBjPV8uTHooKTtpZihjJiZiKXtsZXQgZD1jLnN1YnNjcmliZShhLGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLGY9KCk9PntfLlJzW2RdJiZiLmFwcGx5JiZ0eXBlb2YgYi5hcHBseT09ImZ1bmN0aW9uIiYmYi5hcHBseSh3aW5kb3csZSl9O3RyeXtfLlRzW2FdP2YoKTpfLm1qKGYsMCl9Y2F0Y2goaCl7Xy5VaShoKX19LHZvaWQgMCk7Xy5Sc1tkXT0hMDtfLlNzW2FdfHwoXy5Tc1thXT1bXSk7Xy5Tc1thXS5wdXNoKGQpO3JldHVybiBkfXJldHVybiAwfTsKXy5Oej1mdW5jdGlvbihhKXt2YXIgYj1fLkx6KCk7YiYmKHR5cGVvZiBhPT09Im51bWJlciI/YT1bYV06dHlwZW9mIGE9PT0ic3RyaW5nIiYmKGE9W3BhcnNlSW50KGEsMTApXSksXy50YihhLGM9PntiLnVuc3Vic2NyaWJlQnlLZXkoYyk7ZGVsZXRlIF8uUnNbY119KSl9O18uT3o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkx6KCk7cmV0dXJuIGM/Yy5wdWJsaXNoLmFwcGx5KGMsYXJndW1lbnRzKTohMX07Xy5Qej1mdW5jdGlvbihhKXtyZXR1cm4gS2FhW2FdfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9O0xhYT1mdW5jdGlvbigpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZT8uKCJtYXJrIik7YSYmYS5mb3JFYWNoKGI9PntiLm5hbWUuc3RhcnRzV2l0aCgibWFya18iKSYmXy5zcS5jbGVhck1hcmtzPy4oYi5uYW1lKX0pfTtfLlF6PWZ1bmN0aW9uKGEpe18ucmEoInl0Z2xvYmFsLnRpbWluZyIrKGF8fCIiKSsicmVhZHlfIiwhMCl9OwpfLlJ6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT5fLkJxKCJfc3RhcnQiLGEpKSgpfTtfLlN6PWZ1bmN0aW9uKGEpe18uVmkoKCk9PntfLlJ6KGEpJiZfLkFxKCJhYSIsdm9pZCAwLGEpO3ZhciBiPWF8fCIiLGM9Xy50bygpO2NbYl0mJmRlbGV0ZSBjW2JdO3ZhciBkPXt0aW1lck5hbWU6YixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07Xy5zbyhkKTtjW2JdPWQ7Xy5qbyhhKTsoMCxfLmJ0KSgpO0xhYSgpO2F8fChfLncoIlRJTUlOR19BQ1RJT04iKSYmXy5RaSgiUFJFVklPVVNfQUNUSU9OIixfLncoIlRJTUlOR19BQ1RJT04iKSksXy5RaSgiVElNSU5HX0FDVElPTiIsIiIpKX0pKCl9OwpfLlR6PWZ1bmN0aW9uKGEsYj17fSxjLGQpe18uVmkoKCk9Pnt2YXIgZT1jP2M6YTtfLlN6KGUpO3ZhciBmPWIuc2FtcGxlUmF0ZTtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fGY9PT12b2lkIDB8fGY8PTEpZj0hMTtlbHNle3ZhciBoPV8ucG8oZSk7Zj1fLkduKGgpJWYhPT0wfWYmJihfLmtvKGUpLmFjdGlvbkRpc2FibGVkPSEwKTtfLnVvKGV8fCIiKS5pbmZvLmFjdGlvblR5cGU9YTtiLmN0dEF1dGhJbmZvJiYoXy5rbyhlKS5jdHRBdXRoSW5mbz1iLmN0dEF1dGhJbmZvKTtfLlFpKGUrIlRJTUlOR19BQ1RJT04iLGEpO18uVmkoXy5vcSkoYi5zdGFydFRpbWUsZSk7Zj17YWN0aW9uVHlwZTpkfHxfLlB6KGEpfTtiLlRKJiYoZi5wcmV2aW91c0FjdGlvbj1fLlB6KF8udygiVElNSU5HX0FDVElPTiIpKSk7KGg9Xy5pcSgpKSYmaCE9PSJVTkRFRklORURfQ1NOIiYmKGYuY2xpZW50U2NyZWVuTm9uY2U9aCk7Xy56cShmLGUpO18uUXooZSl9KSgpfTsKS2FhPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9O18uVXo9bmV3IF8uSSgiZmVlZGJhY2tFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZ6PWZ1bmN0aW9uKGEsYil7aWYoYiE9PW51bGwmJmIhPT12b2lkIDApe2lmKHR5cGVvZiBiIT09Im9iamVjdCImJnR5cGVvZiBiIT09ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJkIik7aWYoYz09PXZvaWQgMCl7aWYoIVN5bWJvbC5kaXNwb3NlKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTt2YXIgYz1iW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgYyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZyIpO2Euc3RhY2sucHVzaCh7dmFsdWU6YixkaXNwb3NlOmMsYXN5bmM6ITF9KX1yZXR1cm4gYn07Cl8uV3o9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihmKXthLmVycm9yPWEuaGFzRXJyb3I/bmV3IFN1cHByZXNzZWRFcnJvcihmLGEuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpmO2EuaGFzRXJyb3I9ITB9ZnVuY3Rpb24gYygpe2Zvcig7ZD1hLnN0YWNrLnBvcCgpOyl0cnl7aWYoIWQuYXN5bmMmJmU9PT0xKXJldHVybiBlPTAsYS5zdGFjay5wdXNoKGQpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYyk7aWYoZC5kaXNwb3NlKXt2YXIgZj1kLmRpc3Bvc2UuY2FsbChkLnZhbHVlKTtpZihkLmFzeW5jKXJldHVybiBlfD0yLFByb21pc2UucmVzb2x2ZShmKS50aGVuKGMsZnVuY3Rpb24oaCl7YihoKTtyZXR1cm4gYygpfSl9ZWxzZSBlfD0xfWNhdGNoKGgpe2IoaCl9aWYoZT09PTEpcmV0dXJuIGEuaGFzRXJyb3I/UHJvbWlzZS5yZWplY3QoYS5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKCk7aWYoYS5oYXNFcnJvcil0aHJvdyBhLmVycm9yO312YXIgZCwKZT0wO2MoKX07Xy5Yej1mdW5jdGlvbigpe3RyeXtyZXR1cm4hIXNlbGYubG9jYWxTdG9yYWdlfWNhdGNoe3JldHVybiExfX07Xy5Zej1uZXcgXy5JKCJzaGFyZUVuZHBvaW50Iik7Xy5aej1uZXcgXy5JKCJzaGFyZUVudGl0eUVuZHBvaW50Iik7Xy5NYWE9bmV3IF8uSSgic2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtfLk5hYT1uZXcgXy5JKCJ3ZWJQbGF5ZXJTaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFBPWZ1bmN0aW9uKGEsYj17fSxjKXthPShhPWEgaW4gXy4kej9fLiR6W2FdOmMpfHwiIjtmb3IobGV0IGQgaW4gYiljPSgpPT5TdHJpbmcoYltkXSksYT1hLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFwkXFx7IitkKyJcXH0iLCJnaSIpLGMpLGE9YS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrZCwiZ2kiKSxjKTtyZXR1cm4gYX07Xy4kej13aW5kb3cueXQmJndpbmRvdy55dC5tc2dzX3x8d2luZG93Lnl0Y2ZnJiZ3aW5kb3cueXRjZmcubXNnc3x8e307Xy5yYSgieXQubXNnc18iLF8uJHopOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY0E7Xy5iQT1mdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoIjoiKTtyZXR1cm4gYj09PS0xP3tNbTphfTp7TW06YS5zdWJzdHJpbmcoMCxiKSxkYXRhc3luY0lkOmEuc3Vic3RyaW5nKGIrMSl9fTtfLmVBPWFzeW5jIGZ1bmN0aW9uKCl7cmV0dXJuIGNBIT09dm9pZCAwP2NBOmNBPW5ldyBQcm9taXNlKGFzeW5jIGE9Pnt0cnl7YXdhaXQgXy5kQS5vcGVuKCJ0ZXN0LW9ubHkiKSxhd2FpdCBfLmRBLmRlbGV0ZSgidGVzdC1vbmx5Iil9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIEVycm9yJiZiLm5hbWU9PT0iU2VjdXJpdHlFcnJvciIpe2EoITEpO3JldHVybn19YSgiY2FjaGVzImluIHdpbmRvdyl9KX07Xy5kQT1fLnUuY2FjaGVzOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdBPW5ldyBXZWFrTWFwO18uaEE9bmV3IFNldDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiYmFzZSIpOwp2YXIgQVosQlosQ1osY3JhLERaLGVyYSxFWixGWixIWixLWixMWixNWixmcmEsUFosUVosU1osZ3JhLFZaLGNfLGRfLGVfLGZfLGdfLGhfLGlfLGpfLGtfLGlyYSxqcmEsa3JhLGxyYSxucmEsbV8sbl8sb18scF8scV8scl8sc18sdF8sdV8sdl8sd18seF8scHJhLHlfLHpfLHFyYSxBXyxycmEsc3JhLHRyYSxCXyxDXyxEXyxGXyxHXyxIXyxJXyxKXyxLXyxMXyxNXyxPXyxQXyxRXyxSXyxTXyxocmEsdXJhLHZyYSxUXyxVXyxWXyxXXyxYXyxZXyx3cmEsJF8sYTAsYjAseHJhLGQwLHlyYSxlMCx6cmEsQnJhLENyYSxEcmEsZzAsRXJhLEZyYSxHcmEsaDAsaTAsbDAsSHJhLGswLGowLG4wLElyYSxKcmEsbzAsS3JhLHAwLHEwLHIwLExyYSxNcmEsTnJhLE9yYSxQcmEsUXJhLHQwLHYwLHcwLHgwLFNyYSxUcmEseTAsQTAsQjAsQzAsRDAsRTAsRzAsVXJhLFZyYSxIMCxXcmEsWHJhLFlyYSxJMCxKMCxTMCxUMCxQMCxVMCxMMCxRMCxLMCxPMCxNMCxOMCxacmEsUjAsJHJhLFYwLGFzYSxjc2EsClgwLFkwLFowLCQwLGExLGRzYSxiMSxjMSxlc2EsZnNhLGdzYSxkMSxmMSxoc2EsZzEsanNhLGtzYSxqMSxsc2EsazEsbDEsbTEsbXNhLHIxLHNzYSx1c2EsdjEseTEsdzEsdnNhLHhzYSxCMSxDMSxEMSx5c2EsRTEsRjEsQXNhLEJzYSx6c2EsQ3NhLEVzYSxGc2EsR3NhLHFzYSxvMSxuc2EsSTEsSHNhLEcxLElzYSxKc2EsSzEsTTEsTjEsS3NhLE8xLFAxLExzYSxSMSxPc2EsUHNhLFJzYSxRMSxVMSxXMSxUc2EsJDEsWDEsVXNhLFZzYSxXc2EsWHNhLGF0YSxidGEsZjIsJHNhLFpzYSxhMixlMixiMixjdGEsZzIsaDIsaTIsazIsbDIsZXRhLGZ0YSxndGEsbjIscDIsbzIsdDIsanRhLHIyLGl0YSx3Mix2MixtdGEsbnRhLG90YSxwdGEseDIseTIsejIsQTIsQzIsdXRhLHZ0YSxFMixGMix3dGEsRzIseXRhLFpfLEkyLEoyLEwyLHp0YSxOMixPMixQMixCdGEsUTIsRHRhLFMyLFQyLFUyLEV0YSxWMixXMixGdGEsR3RhLGEzLGIzLEl0YSxlMyxKdGEsZDMsZjMsS3RhLEx0YSxNdGEsYzMsSHRhLApoMyxOdGEsazMsT3RhLFB0YSxRdGEsbTMsbjMsbDMsUnRhLG8zLHAzLFN0YSxxMyxUdGEscjMsczMsdzMsVXRhLHgzLHkzLFZ0YSxZdGEsWnRhLEMzLEQzLEUzLCR0YSxidWEsY3VhLEczLGR1YSxldWEsWHRhLEgzLEkzLGZ1YSxndWEsYzQsZDQsZTQsaHVhLGY0LGl1YSxqdWEsWXNhLGh0YSxrdWEsbnVhLGc0LGk0LHB1YSxoNCxrNCxzdWEsdHVhLGw0LG00LHZ1YSx3dWEsbzQseHVhLHl1YSxxNCx6dWEsQXVhLEJ1YSxEdWEsR3VhLHY0LEp1YSx3NCxJdWEsSHVhLEt1YSx4NCx5NCx6NCxBNCxENCxDNCxCNCxFNCxNdWEsRjQsT3VhLFB1YSxRdWEsUnVhLFN1YSxUdWEsVXVhLEk0LEs0LFp1YSwkdWEsUTQsTTQsVnVhLFI0LFM0LGF2YSxidmEsY3ZhLGR2YSxkcmEsQTMsR1osSVosSlosTl8sTlosT1osUlosVFosVVosJFosYV8sYl8sWlosWVosV1osWFosbF8sRV8sb3JhLFY0LGV2YSxXNCxYNCxmdmEsWTQsWjQsZ3ZhLGh2YSxpdmEsanZhLGt2YSwkNCxsdmEsbXZhLGE1LG52YSxiNSwKYzUsb3ZhLHB2YTtBWj1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O0JaPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5xdyhhLGIsQVooYykpfTtDWj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCl7aWYoISgwLF8ud3IpKGMpKXRocm93IF8uSXcoImVudW0iKTtjfD0wfXJldHVybiBfLnF3KGEsYixjKX07Y3JhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaChhLmNoYXJDb2RlQXQoYykpO3JldHVybiBifTtEWj1mdW5jdGlvbihhLGIpe3JldHVybiBhW2JdKyhhW2IrMV08PDgpKyhhW2IrMl08PDE2KSsoYVtiKzNdPDwyNCl9OwplcmE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2MtPWQ7Yy09ZTtjXj1lPj4+MTM7ZC09ZTtkLT1jO2RePWM8PDg7ZS09YztlLT1kO2VePWQ+Pj4xMztjLT1kO2MtPWU7Y149ZT4+PjEyO2QtPWU7ZC09YztkXj1jPDwxNjtlLT1jO2UtPWQ7ZV49ZD4+PjU7Yy09ZDtjLT1lO2NePWU+Pj4zO2QtPWU7ZC09YztkXj1jPDwxMDtlLT1jO2UtPWQ7ZV49ZD4+PjE1fWE9Y3JhKGEpO2Zvcih2YXIgYz0yNjU0NDM1NzY5LGQ9MjY1NDQzNTc2OSxlPTMxNDE1OTI2NSxmPWEubGVuZ3RoLGg9ZixrPTA7aD49MTI7aC09MTIsays9MTIpYys9RFooYSxrKSxkKz1EWihhLGsrNCksZSs9RFooYSxrKzgpLGIoKTtlKz1mO3N3aXRjaChoKXtjYXNlIDExOmUrPWFbaysxMF08PDI0O2Nhc2UgMTA6ZSs9YVtrKzldPDwxNjtjYXNlIDk6ZSs9YVtrKzhdPDw4O2Nhc2UgODpkKz1hW2srN108PDI0O2Nhc2UgNzpkKz1hW2srNl08PDE2O2Nhc2UgNjpkKz1hW2srNV08PDg7Y2FzZSA1OmQrPWFbays0XTtjYXNlIDQ6Yys9CmFbayszXTw8MjQ7Y2FzZSAzOmMrPWFbaysyXTw8MTY7Y2FzZSAyOmMrPWFbaysxXTw8ODtjYXNlIDE6Yys9YVtrXX1iKCk7cmV0dXJuIGRyYS50b1N0cmluZyhlKX07RVo9ZnVuY3Rpb24oYSxiKXthLmFkZE9uRGlzcG9zZUNhbGxiYWNrKF8uRGEoXy5aZCxiKSl9O0ZaPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVWludDhBcnJheShfLnd3KGEpfHwwKX07SFo9ZnVuY3Rpb24oYSl7cmV0dXJuKEdafHwoR1o9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKGEpfTtLWj1mdW5jdGlvbihhKXt2YXIgYj1hPj4+MDtJWj1iO0paPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfTtMWj1mdW5jdGlvbihhKXtpZihhPDApe0taKC1hKTthPUlaO3ZhciBiPUpaO2I9fmI7YT9hPX5hKzE6Yis9MTtsZXQgW2MsZF09W2EsYl07SVo9Yz4+PjA7Slo9ZD4+PjB9ZWxzZSBLWihhKX07Ck1aPWZ1bmN0aW9uKGEpe2EubGVuZ3RoPDE2P0xaKE51bWJlcihhKSk6KGE9QmlnSW50KGEpLElaPU51bWJlcihhJkJpZ0ludCg0Mjk0OTY3Mjk1KSk+Pj4wLEpaPU51bWJlcihhPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSkpfTsKZnJhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIG5ldyBOWihfLnV3KGEpLCEwKTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBuZXcgTloobmV3IFVpbnQ4QXJyYXkoYSksITApO2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybiBuZXcgTlooYSwhMSk7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKXJldHVybiBhPW5ldyBVaW50OEFycmF5KGEpLG5ldyBOWihhLCExKTtpZihhLmNvbnN0cnVjdG9yPT09Xy5SYyl7bGV0IGI9Xy53dyhhKXx8bmV3IFVpbnQ4QXJyYXkoMCk7cmV0dXJuIG5ldyBOWihiLCEwLGEpfWlmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBhPWEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5P2E6bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCksbmV3IE5aKGEsITEpO3Rocm93IEVycm9yKCk7fTsKUFo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubz09PTA/bmV3IE9aKDAsMSt+YS5qKTpuZXcgT1oofmEubysxLH5hLmopfTtRWj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IE9aKGEmNDI5NDk2NzI5NSxNYXRoLmZsb29yKGEvNDI5NDk2NzI5NikpfTtTWj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gUlp8fChSWj1uZXcgT1ooMCwwKSk7aWYoIS9eXGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtNWihhKTtyZXR1cm4gbmV3IE9aKElaLEpaKX07Z3JhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVFooYSY0Mjk0OTY3Mjk1LE1hdGguZmxvb3IoYS80Mjk0OTY3Mjk2KSl9O1ZaPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBVWnx8KFVaPW5ldyBUWigwLDApKTtpZighL14tP1xkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7TVooYSk7cmV0dXJuIG5ldyBUWihJWixKWil9OwpjXz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIEJpZ0ludDY0QXJyYXkhPT0idW5kZWZpbmVkIilyZXR1cm4gV1p8fChXWj1uZXcgQmlnSW50NjRBcnJheSgxKSxYWj1uZXcgVWludDMyQXJyYXkoV1ouYnVmZmVyKSxXWlswXT1CaWdJbnQoMSksWVo9WFpbMF09PT0xKSxXWlswXT1hLGE9WVo/MDoxLG5ldyBiKFhaW2FdLFhaWzEtYV0pO1pafHwoJFo9QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSxhXz1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLGJfPUJpZ0ludCg0Mjk0OTY3Mjk1KSxaWj1CaWdJbnQoMzIpKTtpZihhPj0kWiYmYTw9YV8pcmV0dXJuIGMoTnVtYmVyKGEpKTthPUJpZ0ludC5hc1VpbnROKDY0LGEpO3JldHVybiBuZXcgYihOdW1iZXIoYSZiXyksTnVtYmVyKGE+PlpaKSl9O2RfPWZ1bmN0aW9uKGEsYixjKXtmb3IoO2M+MHx8Yj4xMjc7KWEuai5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5qLnB1c2goYil9OwplXz1mdW5jdGlvbihhLGIpe2Euai5wdXNoKGI+Pj4wJjI1NSk7YS5qLnB1c2goYj4+PjgmMjU1KTthLmoucHVzaChiPj4+MTYmMjU1KTthLmoucHVzaChiPj4+MjQmMjU1KX07Zl89ZnVuY3Rpb24oYSxiKXtpZihiPj0wKV8uWHkoYSxiKTtlbHNle2ZvcihsZXQgYz0wO2M8OTtjKyspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj49NzthLmoucHVzaCgxKX19O2dfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjpTWihhKX19O2hfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjphLmxlbmd0aCYmYVswXT09PSItIj9TWihhLnN1YnN0cmluZygxKSk6U1ooYSl9fTsKaV89ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKGdfKGMpLF8uWnkoYSxiLDEpLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOmE9YS5qO0taKGMpO2VfKGEsSVopO2VfKGEsSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhjLE9aLFFaKTthPWEuajtiPWMuajtlXyhhLGMubyk7ZV8oYSxiKTticmVhaztkZWZhdWx0OmM9U1ooYyksYT1hLmosYj1jLmosZV8oYSxjLm8pLGVfKGEsYil9fTtqXz1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKGM9cGFyc2VJbnQoYywxMCksXy5aeShhLGIsMCksZl8oYS5qLGMpKX07a189ZnVuY3Rpb24oYSxiLGMpe18uWnkoYSxiLDIpO18uWHkoYS5qLGMubGVuZ3RoKTtfLll5KGEsYS5qLmVuZCgpKTtfLll5KGEsYyl9OwppcmE9ZnVuY3Rpb24oYSl7dmFyIGI9InRydWUiLnRvU3RyaW5nKCksYz1baHJhYGRhdGEtYF07aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJoIik7aWYoYy5tYXAoZD0+e2lmKGQgaW5zdGFuY2VvZiBsXylkPWQuajtlbHNlIHRocm93IEVycm9yKCJoIik7cmV0dXJuIGR9KS5ldmVyeShkPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoZCkhPT0wKSl0aHJvdyBFcnJvcigiaWBkYXRhLWxvYWRlZCIpO2Euc2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIsYil9O2pyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYSxiLHZvaWQgMCl9O2tyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYSxiLHtkdXJhdGlvbjowfSl9O2xyYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPmI/MTphPGI/LTE6MH07Cm5yYT1mdW5jdGlvbigpe3ZhciBhPW1yYTtyZXR1cm4gXy5DYyhiPT57Zm9yKGxldCBjIGluIGEpaWYoYj09PWFbY10mJiEvXlswLTldKyQvLnRlc3QoYykpcmV0dXJuITA7cmV0dXJuITF9KX07bV89ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO3ZhciBjO2I8PTIwOTcxNTE/Yz0iIisoNDI5NDk2NzI5NipiK2EpOmM9IiIrKEJpZ0ludChiKTw8QmlnSW50KDMyKXxCaWdJbnQoYSkpO3JldHVybiBjfTtuXz1mdW5jdGlvbihhLGIpe3ZhciBjPWIqNDI5NDk2NzI5NisoYT4+PjApO3JldHVybiBOdW1iZXIuaXNTYWZlSW50ZWdlcihjKT9jOm1fKGEsYil9O29fPWZ1bmN0aW9uKCl7dmFyIGE9SVosYj1KWixjO2ImMjE0NzQ4MzY0OD9jPSIiKyhCaWdJbnQoYnwwKTw8QmlnSW50KDMyKXxCaWdJbnQoYT4+PjApKTpjPW1fKGEsYik7cmV0dXJuIGN9OwpwXz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IEVycm9yKCJxYCIrdHlwZW9mIGErImAiK2EpO3JldHVybiBhfTtxXz1mdW5jdGlvbihhKXtpZihhPT1udWxsfHx0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiBhO2lmKGE9PT0iTmFOInx8YT09PSJJbmZpbml0eSJ8fGE9PT0iLUluZmluaXR5IilyZXR1cm4gTnVtYmVyKGEpfTtyXz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4oMCxfLndyKShhKTtjYXNlICJzdHJpbmciOnJldHVybiBvcmEudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07c189ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hPj4+MDp2b2lkIDB9Owp0Xz1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLnhyKShOdW1iZXIoYSkpO2lmKCgwLF8udnIpKGIpKXJldHVybiBfLkZjKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxCaWdJbnQoYSkpKX07dV89ZnVuY3Rpb24oYSl7dmFyIGI9KDAsXy54cikoTnVtYmVyKGEpKTtpZigoMCxfLnZyKShiKSlyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtiPWEubGVuZ3RoOyhhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3Iil8fChNWihhKSxhPW9fKCkpO3JldHVybiBhfTsKdl89ZnVuY3Rpb24oYSl7YT0oMCxfLnhyKShhKTtpZighKDAsXy52cikoYSkpe0xaKGEpO3ZhciBiPUlaLGM9Slo7aWYoYT1jJjIxNDc0ODM2NDgpYj1+YisxPj4+MCxjPX5jPj4+MCxiPT0wJiYoYz1jKzE+Pj4wKTtiPW5fKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O3dfPWZ1bmN0aW9uKGEpe2E9KDAsXy54cikoYSk7KDAsXy52cikoYSk/YT1TdHJpbmcoYSk6KExaKGEpLGE9b18oKSk7cmV0dXJuIGF9O3hfPWZ1bmN0aW9uKGEpe3JldHVybigwLF8udnIpKGEpP18uRmModl8oYSkpOl8uRmMod18oYSkpfTsKcHJhPWZ1bmN0aW9uKGEpe3ZhciBiPXZvaWQgMDtiPTEwMjQ7aWYoIXJfKGEpKXRocm93IF8uSXcoImludDY0Iik7dmFyIGM9dHlwZW9mIGE7c3dpdGNoKGIpe2Nhc2UgNTEyOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIHdfKGEpfWNhc2UgMTAyNDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gdF8oYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4geF8oYSl9Y2FzZSAwOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBfLkZjKCgwLF8udHIpKDY0LGEpKTtkZWZhdWx0OnJldHVybiB2XyhhKX1kZWZhdWx0OnJldHVybiBfLmViKGIsIlVua25vd24gZm9ybWF0IHJlcXVlc3RlZCB0eXBlIGZvciBpbnQ2NCIpfX07CnlfPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6cHJhKGEpfTt6Xz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtpZihhPT1udWxsKXJldHVybiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7aWYocl8oYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj90XyhhKTp4XyhhKX07cXJhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7dmFyIGI9dHlwZW9mIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2lmKHJfKGEpKXtpZihiPT09InN0cmluZyIpcmV0dXJuIHVfKGEpO2lmKGI9PT0ibnVtYmVyIilyZXR1cm4gdl8oYSl9fTsKQV89ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTt2YXIgYj10eXBlb2YgYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIFN0cmluZygoMCxfLnVyKSg2NCxhKSk7aWYocl8oYSkpe2lmKGI9PT0ic3RyaW5nIilyZXR1cm4gYj0oMCxfLnhyKShOdW1iZXIoYSkpLCgwLF8udnIpKGIpJiZiPj0wP2E9U3RyaW5nKGIpOihiPWEuaW5kZXhPZigiLiIpLGIhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSksYVswXT09PSItIj9iPSExOihiPWEubGVuZ3RoLGI9YjwyMD8hMDpiPT09MjAmJmE8PSIxODQ0Njc0NDA3MzcwOTU1MTYxNSIpLGJ8fChNWihhKSxhPW1fKElaLEpaKSkpLGE7aWYoYj09PSJudW1iZXIiKXJldHVybiBhPSgwLF8ueHIpKGEpLGE+PTAmJigwLF8udnIpKGEpfHwoTFooYSksYT1uXyhJWixKWikpLGF9fTtycmE9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJzdHJpbmcifHxhIGluc3RhbmNlb2YgXy5SYylyZXR1cm4gYX07CnNyYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O3RyYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5OdyhhLCEwKX07Ql89ZnVuY3Rpb24oYSl7YT1fLmVkKGEsMSx2b2lkIDAsdm9pZCAwLHRyYSk7cmV0dXJuIGE9PW51bGw/Xy5NdygpOmF9OwpDXz1mdW5jdGlvbihhLGIsYyl7Xy5udyhhKTt2YXIgZD1hLkRhLGU9ZFtfLkFjXXwwO2lmKGI9PW51bGwpcmV0dXJuIF8ucHcoZCxlLDMpLGE7dmFyIGY9Yj09PV8ubXI/NzpiW18uQWNdfDAsaD1mLGs9Xy5UeShmKSxsPWt8fE9iamVjdC5pc0Zyb3plbihiKTtrfHwoZj0wKTtsfHwoYj1bLi4uYl0saD0wLGY9Xy5VeShmLGUpLGw9ITEpO2Z8PTU7az0oNCZmPzUxMiZmPzUxMjoxMDI0JmY/MTAyNDowOnZvaWQgMCk/PzEwMjQ7Znw9aztmb3IobGV0IG09MDttPGIubGVuZ3RoO20rKyl7bGV0IG49YlttXSxwPWMobixrKTtPYmplY3QuaXMobixwKXx8KGwmJihiPVsuLi5iXSxoPTAsZj1fLlV5KGYsZSksbD0hMSksYlttXT1wKX1mIT09aCYmKGwmJihiPVsuLi5iXSxmPV8uVXkoZixlKSksYltfLkFjXT1mKTtfLnB3KGQsZSwzLGIpO3JldHVybiBhfTsKRF89ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5nZXQoZCk7aWYoZSE9bnVsbClyZXR1cm4gZTtlPTA7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspe2xldCBoPWRbZl07Xy5kZChiLGgpIT1udWxsJiYoZSE9PTAmJihjPV8ucHcoYixjLGUpKSxlPWgpfWEuc2V0KGQsZSk7cmV0dXJuIGV9O0ZfPWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7YT1hLkRhO3ZhciBlPWFbXy5BY118MDtpZihkPT1udWxsKXt2YXIgZj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2lmKERfKGYsYSxlLGMpPT09YilmLnNldChjLDApO2Vsc2UgcmV0dXJufWVsc2V7Zj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2xldCBoPURfKGYsYSxlLGMpO2ghPT1iJiYoaCYmKGU9Xy5wdyhhLGUsaCkpLGYuc2V0KGMsYikpfV8ucHcoYSxlLGIsZCl9O0dfPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkRhO3JldHVybiBfLld5KGEsZCxkW18uQWNdfDAsYixjLHZvaWQgMD09PV8ub3I/Mjo0LCExLCEwKX07CkhfPWZ1bmN0aW9uKGEsYixjKXtfLm53KGEpO3ZhciBkPWEuRGEsZT1kW18uQWNdfDA7aWYoYz09bnVsbClyZXR1cm4gXy5wdyhkLGUsYiksYTt2YXIgZj1jPT09Xy5tcj83OmNbXy5BY118MCxoPWYsaz1fLlR5KGYpLGw9a3x8T2JqZWN0LmlzRnJvemVuKGMpLG09ITAsbj0hMDtmb3IobGV0IHI9MDtyPGMubGVuZ3RoO3IrKyl7dmFyIHA9Y1tyXTtrfHwocD1fLkJjKHApLG0mJihtPSFwKSxuJiYobj1wKSl9a3x8KGY9bT8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7bCYmZj09PWh8fChjPVsuLi5jXSxoPTAsZj1fLlV5KGYsZSkpO2YhPT1oJiYoY1tfLkFjXT1mKTtlPV8ucHcoZCxlLGIsYyk7MiZmfHwhKDQwOTYmZnx8MTYmZil8fF8ub3coZCxlKTtyZXR1cm4gYX07SV89ZnVuY3Rpb24oYSxiLGM9Xy55cil7cmV0dXJuIF8uZWQoYSxiLHZvaWQgMCx2b2lkIDAsel8pPz9jfTtKXz1mdW5jdGlvbihhLGIsYz0iIixkKXtyZXR1cm4gXy5YdChfLmVkKGEsYixkKSk/P2N9OwpLXz1mdW5jdGlvbihhKXthPV8uZWQoYSwxKTtyZXR1cm4oYT09bnVsbD9hOigwLF8ud3IpKGEpP2F8MDp2b2lkIDApPz8wfTtMXz1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSl7dmFyIGQ9YltfLkFjXXwwO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe2xldCBoPWEoYltlXSk7aCE9bnVsbCYmKGJbZisrXT1oKX1mPGUmJihiLmxlbmd0aD1mKTthPWR8MTtjJiYoYT0oYXw0KSYtMTUzNyk7YSE9PWQmJihiW18uQWNdPWEpO2MmJmEmMiYmT2JqZWN0LmZyZWV6ZShiKTtyZXR1cm4gYn19O01fPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9OwpPXz1mdW5jdGlvbihhLGIsYyl7Yj1xXyhiKTtiIT1udWxsJiYoXy5aeShhLGMsMSksYT1hLmosYz1OX3x8KE5fPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxjLnNldEZsb2F0NjQoMCwrYiwhMCksSVo9Yy5nZXRVaW50MzIoMCwhMCksSlo9Yy5nZXRVaW50MzIoNCwhMCksZV8oYSxJWiksZV8oYSxKWikpfTtQXz1mdW5jdGlvbihhLGIsYyl7Yj1xcmEoYik7aWYoYiE9bnVsbCl7c3dpdGNoKHR5cGVvZiBiKXtjYXNlICJzdHJpbmciOlZaKGIpfWlmKGIhPW51bGwpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLFRaLGdyYSk7ZF8oYS5qLGMubyxjLmopO2JyZWFrO2RlZmF1bHQ6Yz1WWihiKSxkXyhhLmosYy5vLGMuail9fX07UV89ZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksZl8oYS5qLGIpKX07ClJfPWZ1bmN0aW9uKGEsYixjKXtiPV8uWHQoYik7YiE9bnVsbCYma18oYSxjLEhaKGIpKX07U189ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pl8uWHgoYSxiKX07aHJhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgbF8oYVswXS50b0xvd2VyQ2FzZSgpKX07Xy5lVj1mdW5jdGlvbihhLGIpe3RoaXMueD1hIT09dm9pZCAwP2E6MDt0aGlzLnk9YiE9PXZvaWQgMD9iOjB9O3VyYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gXy5zcylpZihhLmNhbGwodm9pZCAwLF8uc3NbYl0sYixfLnNzKSlyZXR1cm4gYn07dnJhPWZ1bmN0aW9uKGEsYil7aWYoYSE9PW51bGwmJmIgaW4gYSl0aHJvdyBFcnJvcigiQWAiK2IpO2FbYl09ITB9O1RfPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09bnVsbCYmInByaXZlbWJlZCJpbiBhP2EucHJpdmVtYmVkOiExfTtVXz1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9OwpWXz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudDtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj9iLmdldEVsZW1lbnRCeUlkKGEpOmF9O1dfPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07WF89ZnVuY3Rpb24oYSl7dHlwZW9mIGE9PSJudW1iZXIiJiYoYT1NYXRoLnJvdW5kKGEpKyJweCIpO3JldHVybiBhfTtZXz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVNhZmVTY3JpcHRXcmFwcGVkVmFsdWUpP18ua2IoYSk6bnVsbDpudWxsfTt3cmE9ZnVuY3Rpb24oKXt2YXIgYT1aXztfLnNhKCJ5dC5hZHMuYmlzY290dGkuZ2V0SWRfIil8fF8ucmEoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iLGEpfTskXz1mdW5jdGlvbihhKXtfLnJhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIsYSl9OwphMD1mdW5jdGlvbihhKXtyZXR1cm4gYS5pbmRleE9mKCI/IikhPT0tMT8oYT0oYXx8IiIpLnNwbGl0KCIjIilbMF0sYT1hLnNwbGl0KCI/IiwyKSxfLmJqKGEubGVuZ3RoPjE/YVsxXTphWzBdKSk6e319O2IwPWZ1bmN0aW9uKGEpe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IGI9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDthLmo9YS5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO2Eubz1hLmNsaWVudFkrYn19Owp4cmE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5hZGRFdmVudExpc3RlbmVyJiYoYiE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P2IhPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9iPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoYj0iTW96TW91c2VQaXhlbFNjcm9sbCIpOmI9Im1vdXNlb3V0IjpiPSJtb3VzZW92ZXIiKTtyZXR1cm4gdXJhKGU9Pnt2YXIgZj10eXBlb2YgZVs0XT09PSJib29sZWFuIiYmZVs0XT09ISFkLGg7aWYoaD1fLkFhKGVbNF0pJiZfLkFhKGQpKWE6e2g9ZVs0XTtmb3IobGV0IGsgaW4gaClpZighKGsgaW4gZCl8fGhba10hPT1kW2tdKXtoPSExO2JyZWFrIGF9Zm9yKGxldCBrIGluIGQpaWYoIShrIGluIGgpKXtoPSExO2JyZWFrIGF9aD0hMH1yZXR1cm4hIWUubGVuZ3RoJiZlWzBdPT1hJiZlWzFdPT1iJiZlWzJdPT1jJiYoZnx8aCl9KX07CmQwPWZ1bmN0aW9uKGEsYixjLGQ9e30pe2lmKCFhfHwhYS5hZGRFdmVudExpc3RlbmVyJiYhYS5hdHRhY2hFdmVudClyZXR1cm4iIjt2YXIgZT14cmEoYSxiLGMsZCk7aWYoZSlyZXR1cm4gZTtlPSsrXy50cy5jb3VudCsiIjt2YXIgZj0hKGIhPSJtb3VzZWVudGVyIiYmYiE9Im1vdXNlbGVhdmUifHwhYS5hZGRFdmVudExpc3RlbmVyfHwib25tb3VzZWVudGVyImluIGRvY3VtZW50KTt2YXIgaD1mP2s9PntrPW5ldyBjMChrKTtpZighXy5ndyhrLnJlbGF0ZWRUYXJnZXQsbD0+bD09YSwhMCkpcmV0dXJuIGsuY3VycmVudFRhcmdldD1hLGsudHlwZT1iLGMuY2FsbChhLGspfTprPT57az1uZXcgYzAoayk7ay5jdXJyZW50VGFyZ2V0PWE7cmV0dXJuIGMuY2FsbChhLGspfTtoPV8uVmkoaCk7YS5hZGRFdmVudExpc3RlbmVyPyhiPT0ibW91c2VlbnRlciImJmY/Yj0ibW91c2VvdmVyIjpiPT0ibW91c2VsZWF2ZSImJmY/Yj0ibW91c2VvdXQiOmI9PSJtb3VzZXdoZWVsIiYmIk1vekJveFNpemluZyJpbgpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJihiPSJNb3pNb3VzZVBpeGVsU2Nyb2xsIiksKDAsXy51cykoKXx8dHlwZW9mIGQ9PT0iYm9vbGVhbiI/YS5hZGRFdmVudExpc3RlbmVyKGIsaCxkKTphLmFkZEV2ZW50TGlzdGVuZXIoYixoLCEhZC5jYXB0dXJlKSk6YS5hdHRhY2hFdmVudChgb24ke2J9YCxoKTtfLnNzW2VdPVthLGIsYyxoLGRdO3JldHVybiBlfTt5cmE9ZnVuY3Rpb24oYSl7YSYmKHR5cGVvZiBhPT0ic3RyaW5nIiYmKGE9W2FdKSxfLnRiKGEsYj0+e2lmKGIgaW4gXy5zcyl7dmFyIGM9Xy5zc1tiXTtsZXQgZD1jWzBdLGU9Y1sxXSxmPWNbM107Yz1jWzRdO2QucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oMCxfLnVzKSgpfHx0eXBlb2YgYz09PSJib29sZWFuIj9kLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxmLGMpOmQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGYsISFjLmNhcHR1cmUpOmQuZGV0YWNoRXZlbnQmJmQuZGV0YWNoRXZlbnQoYG9uJHtlfWAsZik7ZGVsZXRlIF8uc3NbYl19fSkpfTsKZTA9ZnVuY3Rpb24oYSl7dGhpcy5NPWE7dGhpcy5qPW51bGw7dGhpcy5CPTA7dGhpcy5JPW51bGw7dGhpcy5EPTA7dGhpcy5vPVtdO2ZvcihhPTA7YTw0O2ErKyl0aGlzLm8ucHVzaCgwKTt0aGlzLnY9MDt0aGlzLlo9ZDAod2luZG93LCJtb3VzZW1vdmUiLCgwLF8uQ2EpKHRoaXMuZ2EsdGhpcykpO2E9KDAsXy5DYSkodGhpcy5VLHRoaXMpO3R5cGVvZiBhPT09ImZ1bmN0aW9uIiYmKGE9Xy5WaShhKSk7dGhpcy5oYT13aW5kb3cuc2V0SW50ZXJ2YWwoYSwyNSl9O3pyYT1mdW5jdGlvbigpe3ZhciBhPV8ucmooImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxiPT5OdW1iZXIoYnx8MCkpOltOdW1iZXIoYXx8MCldfTsKQnJhPWZ1bmN0aW9uKCl7KHtoYW5kbGVFcnJvcjphPV8uSHAsbG06Yj1fLkVwfT17fSk7dmFyIGE7Zm9yKF8uR2s9bmV3IEFyYShhLGIpO18uSGsubGVuZ3RoPjA7KXt2YXIgYj1fLkhrLnNoaWZ0KCk7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRVJST1IiOl8uR2suSmIoYi5wYXlsb2FkKTticmVhaztjYXNlICJFVkVOVCI6Xy5Hay5sbShiLmV2ZW50VHlwZSxiLnBheWxvYWQpfX19O0NyYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2woZD0+Yz9kLnVzZXJJZGVudGlmaWVyIT09dm9pZCAwJiYhYS5pbmNsdWRlcyhkLnVzZXJJZGVudGlmaWVyKSYmYy5pbmNsdWRlcyhkLnB1YmxpY05hbWUpOmQudXNlcklkZW50aWZpZXIhPT12b2lkIDAmJiFhLmluY2x1ZGVzKGQudXNlcklkZW50aWZpZXIpLGIpfTsKRHJhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVmooIll0SWRiTWV0YSBoYXNBbnlNZXRhIG90aGVyIik7cmV0dXJuKGF3YWl0IF8uR2woYz0+Yy51c2VySWRlbnRpZmllciE9PXZvaWQgMCYmYy51c2VySWRlbnRpZmllciE9PWIsYSkpLmxlbmd0aD4wfTtnMD1mdW5jdGlvbihhLGIpe2YwfHwoZjA9Xy5qZi5wYihhc3luYygpPT57dmFyIGM9YXdhaXQgXy5QbCgpO2lmKGMpe3ZhciBkPSEwO3RyeXtsZXQgZT1hd2FpdCBDcmEoYSxjLGIpO2lmKGUubGVuZ3RoKXtsZXQgZj1lWzBdO2F3YWl0IF8uQWwoZi5hY3R1YWxOYW1lKTthd2FpdCBfLkZsKGYuYWN0dWFsTmFtZSxjKX1lbHNlIGQ9ITF9Y2F0Y2goZSl7Xy5JayhlKSxkPSExfV8uamYuQWEoZjApO2YwPTA7ZCYmZzAoYSxiKX19KSl9O0VyYT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPWF3YWl0IF8uUGwoKTtyZXR1cm4gYT9EcmEoYSk6ITF9OwpGcmE9ZnVuY3Rpb24oYSl7KDAsXy5lbCkoKTtpZighYS5ib2R5KXJldHVybiBhO3RyeXtsZXQgYj10eXBlb2YgYS5ib2R5PT09InN0cmluZyI/YS5ib2R5OkpTT04uc3RyaW5naWZ5KGEuYm9keSksYz1iO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe2xldCBkPV8udW0oYik7aWYoZCE9bnVsbCYmKGQ+Xy53bXx8ZDxfLnhtKSlyZXR1cm4gYTtjPV8uTmkoKDAsXy55bSkoYikpOygwLF8uZWwpKCl9YS5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihhLmhlYWRlcnN8fHt9KX07YS5ib2R5PWM7cmV0dXJuIGF9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksYX19O0dyYT1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8uUGwoKSYmKF8uV2ooKXx8Xy54KCJud2xfaW5pdF9yZXF1aXJlX2RhdGFzeW5jX2lkX2tpbGxzd2l0Y2giKSkmJl8uc24oKSYmKF8udW49ITAsXy50bi5pc053bEluaXRpYWxpemVkPV8udW4sYXdhaXQgXy5wbigpLmF3YWl0SW5pdGlhbGl6YXRpb24oKSl9OwpoMD1mdW5jdGlvbihhKXtfLlNzW2FdJiYoYT1fLlNzW2FdLF8udGIoYSxiPT57Xy5Sc1tiXSYmZGVsZXRlIF8uUnNbYl19KSxhLmxlbmd0aD0wKX07aTA9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5MeigpO2lmKGIpaWYoYi5jbGVhcihhKSxhKWgwKGEpO2Vsc2UgZm9yKGxldCBjIGluIF8uU3MpaDAoYyl9O2wwPWZ1bmN0aW9uKHt1SzphPSExLE1JOmI9ITB9PXt9KXtpZihfLnNhKCJfbGFjdCIsd2luZG93KT09bnVsbCl7dmFyIGM9cGFyc2VJbnQoXy53KCJMQUNUIiksMTApO2M9aXNGaW5pdGUoYyk/RGF0ZS5ub3coKS1NYXRoLm1heChjLDApOi0xO18ucmEoIl9sYWN0IixjLHdpbmRvdyk7Xy5yYSgiX2ZhY3QiLGMsd2luZG93KTtjPT0tMSYmajAoKTtIcmEoYSxiKTtuZXcgZTAoKCk9PntrMCgibW91c2UiLDEwMCl9KX19OwpIcmE9ZnVuY3Rpb24oYT0hMSxiPSEwKXt2YXIgYz13aW5kb3c7ZDAoYy5kb2N1bWVudCwia2V5ZG93biIsajApO2QwKGMuZG9jdW1lbnQsImtleXVwIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2Vkb3duIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2V1cCIsajApO2E/ZDAoYywidG91Y2htb3ZlIiwoKT0+e2swKCJ0b3VjaG1vdmUiLDIwMCl9LHtwYXNzaXZlOiEwfSk6KGQwKGMsInJlc2l6ZSIsKCk9PntrMCgicmVzaXplIiwyMDApfSksYiYmZDAoYywic2Nyb2xsIiwoKT0+e2swKCJzY3JvbGwiLDIwMCl9KSk7ZDAoYy5kb2N1bWVudCwidG91Y2hzdGFydCIsajAse3Bhc3NpdmU6ITB9KTtkMChjLmRvY3VtZW50LCJ0b3VjaGVuZCIsajAse3Bhc3NpdmU6ITB9KX07azA9ZnVuY3Rpb24oYSxiKXttMFthXXx8KG0wW2FdPSEwLF8uamYucGIoKCk9PntqMCgpO20wW2FdPSExfSxiKSl9OwpqMD1mdW5jdGlvbigpe18uc2EoIl9sYWN0Iix3aW5kb3cpPT1udWxsJiZsMCgpO3ZhciBhPURhdGUubm93KCk7Xy5yYSgiX2xhY3QiLGEsd2luZG93KTtfLnNhKCJfZmFjdCIsd2luZG93KT09LTEmJl8ucmEoIl9mYWN0IixhLHdpbmRvdyk7KGE9Xy5zYSgieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJmEoKX07bjA9ZnVuY3Rpb24oKXt2YXIgYT1fLmtvKCk7YS5pbmZvfHwoYS5pbmZvPXt9KTtyZXR1cm4gYS5pbmZvfTtJcmE9ZnVuY3Rpb24oKXt2YXIgYT1fLm5vKCk7YS5wcmVMb2dnZWRHZWxJbmZvc3x8KGEucHJlTG9nZ2VkR2VsSW5mb3M9W10pO3JldHVybiBhLnByZUxvZ2dlZEdlbEluZm9zfTsKSnJhPWZ1bmN0aW9uKGEsYj0iVW5rbm93biBmaWxlIixjPTAsZCxlLGYpe3ZhciBoPSExLGs9Xy5SaSgibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIik7aWYoayYmTWF0aC5yYW5kb20oKTxrKWg9ITA7ZWxzZXtrPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtmb3IobGV0IGw9MCxtPWsubGVuZ3RoO2w8bTtsKyspaWYoa1tsXS5zcmMuaW5kZXhPZigiL2RlYnVnLSIpPjApe2g9ITA7YnJlYWt9fWgmJihoPSExLGU/aD0hMDoodHlwZW9mIGE9PT0ic3RyaW5nIj9rPWE6RXJyb3JFdmVudCYmYSBpbnN0YW5jZW9mIEVycm9yRXZlbnQ/KGg9ITAsaz1hLm1lc3NhZ2UsYj1hLmZpbGVuYW1lLGM9YS5saW5lbm8sZD1hLmNvbG5vKTooaz0iVW5rbm93biBlcnJvciIsYj0iVW5rbm93biBmaWxlIixjPTApLGU9bmV3IF8uWGooayksZS5uYW1lPSJVbmhhbmRsZWRXaW5kb3dFcnJvciIsZS5tZXNzYWdlPWssZS5maWxlTmFtZT1iLGUubGluZU51bWJlcj1jLGlzTmFOKGQpPwpkZWxldGUgZS5jb2x1bW5OdW1iZXI6ZS5jb2x1bW5OdW1iZXI9ZCksZiYmXy5jdyhlLGYpLGg/Xy5HcChlKTpfLklwKGUpKX07bzA9ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIEVycm9yP18uR3AoYSk6KGE9Xy5BYShhKT9KU09OLnN0cmluZ2lmeShhKTpTdHJpbmcoYSksYT1uZXcgXy5YaihhKSxhLm5hbWU9IlJlamVjdGVkUHJvbWlzZUVycm9yIixfLklwKGEpKX07S3JhPWZ1bmN0aW9uKCl7Xy50YihfLncoIkVSUk9SUyIpfHxbXSxhPT57Xy5HcC5hcHBseShudWxsLGEpfSk7Xy5RaSgiRVJST1JTIixbXSl9O3AwPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueCgiY3NpX3VzZV90aW1lX29yaWdpbiIpfHxfLngoImNzaV91c2VfdGltZV9vcmlnaW5fdHZodG1sNSIpKSYmXy5zcS50aW1lT3JpZ2luP01hdGguZmxvb3IoXy5zcS50aW1lT3JpZ2luKTpfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9O3EwPWZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnJvdW5kKHAwKCkrYSl9OwpyMD1mdW5jdGlvbigpe3ZhciBhO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpPyhhPV8uc3E/LmdldEVudHJpZXNCeVR5cGU/LigibmF2aWdhdGlvbiIpPy5bMF0/LnRvSlNPTj8uKCkpPyhhLnJlcXVlc3RTdGFydD1xMChhLnJlcXVlc3RTdGFydCksYS5yZXNwb25zZUVuZD1xMChhLnJlc3BvbnNlRW5kKSxhLnJlZGlyZWN0U3RhcnQ9cTAoYS5yZWRpcmVjdFN0YXJ0KSxhLnJlZGlyZWN0RW5kPXEwKGEucmVkaXJlY3RFbmQpLGEuZG9tYWluTG9va3VwRW5kPXEwKGEuZG9tYWluTG9va3VwRW5kKSxhLmNvbm5lY3RTdGFydD1xMChhLmNvbm5lY3RTdGFydCksYS5jb25uZWN0RW5kPXEwKGEuY29ubmVjdEVuZCksYS5yZXNwb25zZVN0YXJ0PXEwKGEucmVzcG9uc2VTdGFydCksYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQ9cTAoYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQpLGEuZG9tYWluTG9va3VwU3RhcnQ9cTAoYS5kb21haW5Mb29rdXBTdGFydCksYS5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZz0KITApOmE9Xy5zcS50aW1pbmc6YT1fLngoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfLnNxLnRpbWluZykpOl8uc3EudGltaW5nO3JldHVybiBhfTtMcmE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtpZigidmlzaWJpbGl0eVN0YXRlImluIGEpYT1hLnZpc2liaWxpdHlTdGF0ZTtlbHNle3ZhciBiPV8ucnMrIlZpc2liaWxpdHlTdGF0ZSI7YT1iIGluIGE/YVtiXTp2b2lkIDB9c3dpdGNoKGEpe2Nhc2UgImhpZGRlbiI6cmV0dXJuIDA7Y2FzZSAidmlzaWJsZSI6cmV0dXJuIDE7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4gMjtjYXNlICJ1bmxvYWRlZCI6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4tMX19OwpNcmE9ZnVuY3Rpb24oKXtpZihfLnNxLmdldEVudHJpZXNCeVR5cGUpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKTtpZihhPV8udmIoYSxjPT5jLm5hbWU9PT0iZmlyc3QtcGFpbnQiKSlyZXR1cm4gcTAoYS5zdGFydFRpbWUpfXZhciBiO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP2I9Xy5zcS5nZXRFbnRyaWVzQnlUeXBlKCJmaXJzdC1wYWludCIpWzBdLnN0YXJ0VGltZTpiPV8uc3EudGltaW5nLmFLO3JldHVybiBiP01hdGgubWF4KDAsYik6MH07Ck5yYT1mdW5jdGlvbigpe3ZhciBhPV8udygiVElNSU5HX0lORk8iLHt9KSxiPXt9LGM9KGQsZSxmKT0+e2U9ZS5tYXRjaCgiX3JpZCIpP2Uuc3BsaXQoIl9yaWQiKVswXTplO3R5cGVvZiBmPT09Im51bWJlciImJihmPUpTT04uc3RyaW5naWZ5KGYpKTtkLnJlcXVlc3RJZHM/ZC5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OmUsaWQ6Zn0pOmQucmVxdWVzdElkcz1be2VuZHBvaW50OmUsaWQ6Zn1dfTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2E9ZDtsZXQgZj1lO3N3aXRjaChhKXtjYXNlICJHZXRCcm93c2VfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRHdWlkZV9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldEhvbWVfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRQbGF5ZXJfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZWFyY2hfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZXR0aW5nc19yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldFRyZW5kaW5nX3JpZCI6YyhiLAphLGYpO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgInl0X3JlZCI6Yi5pc1JlZFN1YnNjcmliZXI9ISFmO2JyZWFrO2Nhc2UgInl0X2FkIjpiLmlzTW9uZXRpemVkPSEhZn19cmV0dXJuIGJ9O09yYT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxiPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTtiPWpyYShiLGM9PmMubmFtZS5pbmRleE9mKGAke2F9Ly9mb250cy5nc3RhdGljLmNvbS9zL2ApPT09MCk7KGI9a3JhKGIsKGMsZCk9PmQuZHVyYXRpb24+Yy5kdXJhdGlvbj9kOmMpKSYmYi5zdGFydFRpbWU+MCYmYi5yZXNwb25zZUVuZD4wJiYoXy5ucSgid2ZmcyIscTAoYi5zdGFydFRpbWUpKSxfLm5xKCJ3ZmZlIixxMChiLnJlc3BvbnNlRW5kKSkpfTsKUHJhPWZ1bmN0aW9uKGEsYil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCFhKXJldHVybiExO3ZhciBjPSIiLGQ9YS5ub2RlTmFtZTtkPT09IlNDUklQVCI/KGM9YS5zcmMsY3x8KGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGltaW5nLWhyZWYiKSkmJihjPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtjKSk6ZD09PSJMSU5LIiYmKGM9YS5ocmVmKTtfLmliKGRvY3VtZW50KSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixfLmliKGRvY3VtZW50KSk7cmV0dXJuIGM/KGE9Xy5zcS5nZXRFbnRyaWVzQnlOYW1lKGMpKSYmYVswXSYmKGE9YVswXSxjPXAwKCksXy5ucSgicnNmXyIrYixjK01hdGgucm91bmQoYS5mZXRjaFN0YXJ0KSksXy5ucSgicnNlXyIrYixjK01hdGgucm91bmQoYS5yZXNwb25zZUVuZCkpLGEudHJhbnNmZXJTaXplIT09dm9pZCAwJiZhLnRyYW5zZmVyU2l6ZT09PTApPyEwOiExOiExfTsKUXJhPWZ1bmN0aW9uKCl7dmFyIGE9SXJhKCksYj1fLm9vKCksYz12b2lkIDA7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBrPWFbZF07aWYoay5sb2FkVHlwZSl7Yz1rLmxvYWRUeXBlO2JyZWFrfX1pZihfLmxvKCkubG9hZFR5cGU9PT0iY29sZCImJihiLmxvYWRUeXBlPT09ImNvbGQifHxjPT09ImNvbGQiKSl7Yz1fLm1vKCk7ZD1fLm5vKCk7ZD1kLmdlbFRpY2tzP2QuZ2VsVGlja3M6ZC5nZWxUaWNrcz17fTtmb3IodmFyIGUgaW4gYyllIGluIGR8fHR5cGVvZiBjW2VdPT09Im51bWJlciImJl8ubnEoZSxfLnVxKGUpKTt2YXIgZj17fSxoPSExO2U9az0+e18ueW4oYixrKTtfLnluKGYsayk7aD0hMH07Zm9yKGxldCBrIG9mIGEpZShrKTtoJiZfLnBxKGYpfX07CnQwPWZ1bmN0aW9uKGEsYil7Xy5WaSgoKT0+e18udW8oIiIpLmluZm8uYWN0aW9uVHlwZT1hO2ImJl8uUWkoIlRJTUlOR19BRlRfS0VZUyIsYik7Xy5RaSgiVElNSU5HX0FDVElPTiIsYSk7dmFyIGM9TnJhKCk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJl8ucHEoYyk7Yz17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6Xy5QeihfLncoIlRJTUlOR19BQ1RJT04iKSl9O3ZhciBkPV8udygiUFJFVklPVVNfQUNUSU9OIik7ZCYmKGMucHJldmlvdXNBY3Rpb249Xy5QeihkKSk7aWYoZD1fLncoIkNMSUVOVF9QUk9UT0NPTCIpKWMuaHR0cFByb3RvY29sPWQ7aWYoZD1fLncoIkNMSUVOVF9UUkFOU1BPUlQiKSljLnRyYW5zcG9ydFByb3RvY29sPWQ7KGQ9Xy5pcSgpKSYmZCE9PSJVTkRFRklORURfQ1NOIiYmKGMuY2xpZW50U2NyZWVuTm9uY2U9ZCk7ZD1McmEoKTtpZihkPT09MXx8ZD09PS0xKWMuaXNWaXNpYmxlPSEwO18ubG8oKTtuMCgpO2MubG9hZFR5cGU9ImNvbGQiO2Q9bjAoKTt2YXIgZT0KcjAoKSxmPXAwKCksaD1fLncoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtoPjAmJiFfLngoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJihmPWgpO2YmJihfLm5xKCJzcnQiLGUucmVzcG9uc2VTdGFydCksZC5wcmVyZW5kZXIhPT0xJiZfLm9xKGYpKTtkPU1yYSgpO2Q+MCYmXy5ucSgiZnB0IixkKTtkPXIwKCk7ZC5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmXy5wcSh7cGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOiEwfSx2b2lkIDApO18ubnEoIm5yZXFzIixkLnJlcXVlc3RTdGFydCx2b2lkIDApO18ubnEoIm5yZXNzIixkLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTtfLm5xKCJucmVzZSIsZC5yZXNwb25zZUVuZCx2b2lkIDApO2QucmVkaXJlY3RFbmQtZC5yZWRpcmVjdFN0YXJ0PjAmJihfLm5xKCJucnMiLGQucmVkaXJlY3RTdGFydCx2b2lkIDApLF8ubnEoIm5yZSIsZC5yZWRpcmVjdEVuZCx2b2lkIDApKTtkLmRvbWFpbkxvb2t1cEVuZC0KZC5kb21haW5Mb29rdXBTdGFydD4wJiYoXy5ucSgibmRuc3MiLGQuZG9tYWluTG9va3VwU3RhcnQsdm9pZCAwKSxfLm5xKCJuZG5zZSIsZC5kb21haW5Mb29rdXBFbmQsdm9pZCAwKSk7ZC5jb25uZWN0RW5kLWQuY29ubmVjdFN0YXJ0PjAmJihfLm5xKCJudGNwcyIsZC5jb25uZWN0U3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO2Quc2VjdXJlQ29ubmVjdGlvblN0YXJ0Pj1wMCgpJiZkLmNvbm5lY3RFbmQtZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQ+MCYmKF8ubnEoIm5zdGNwcyIsZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO18uc3EmJiJnZXRFbnRyaWVzQnlUeXBlImluIF8uc3EmJk9yYSgpO2Q9W107aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmXy5zcSYmXy5zcS5nZXRFbnRyaWVzQnlOYW1lKWZvcih2YXIgayBpbiBzMClzMC5oYXNPd25Qcm9wZXJ0eShrKSYmKGU9CnMwW2tdLFByYShrLGUpJiZkLnB1c2goZSkpO2lmKGQubGVuZ3RoPjApe2MucmVzb3VyY2VJbmZvPVtdO2ZvcihsZXQgbCBvZiBkKWMucmVzb3VyY2VJbmZvLnB1c2goe3Jlc291cmNlQ2FjaGU6bH0pfV8ucHEoYyk7UXJhKCk7Xy5ReigpO2s9Xy53KCJUSU1JTkdfQUNUSU9OIik7Xy5zYSgieXRnbG9iYWwudGltaW5ncmVhZHlfIikmJmsmJl8uUnooKSYmXy52cSgpJiZfLnRxKCl9KSgpfTt2MD1mdW5jdGlvbihhKXtpZighXy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4iIjthPV8uUWIoYSl8fCIiO3ZhciBiPU9iamVjdC5rZXlzKHUwKTtmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKyl7bGV0IGQ9YltjXTtpZihhLmluY2x1ZGVzKGQpKXJldHVybiBkfXJldHVybiIifTsKdzA9ZnVuY3Rpb24oYSl7aWYoIV8ueCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXUwW2FdO3JldHVybiBiPyhfLkl6KGIpLCgpPT57dmFyIGM9Xy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oYz1ScmFbYV0pP18uSXooYyk6ITE6ITE7cmV0dXJuIGN9KTooKT0+e319O3gwPWZ1bmN0aW9uKGEpe18uVmkoKCk9PntpZighXy5SeigiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIil8fF8uQnEoYSwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIikpcmV0dXJuITE7Xy5BcShhLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7cmV0dXJuITB9KSgpfTtTcmE9ZnVuY3Rpb24oKXtfLlZpKCgpPT57dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthPT09Xy5wbygpJiZfLkFxKCJvbCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9KSgpfTsKVHJhPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsNCx2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uVGEoYSl9O3kwPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRhKGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEpfTtBMD1mdW5jdGlvbigpe3JldHVybiB6MC5sb2FkZWR8fCh6MC5sb2FkZWQ9ImxvYWRlZCIucmVwbGFjZSgvXC0oW2Etel0pL2csKGEsYik9PmIudG9VcHBlckNhc2UoKSkpfTtCMD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldOmEuZ2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIpOm51bGx9O0MwPWZ1bmN0aW9uKGEpe2EmJihhLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldPSJ0cnVlIjppcmEoYSkpfTsKRDA9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO18uTHkoYixhKTtyZXR1cm5ganMtJHtfLk15KGIuaHJlZi5yZXBsYWNlKC9eW2EtekEtWl0rOlwvXC8vLCIvLyIpKX1gfTtFMD1mdW5jdGlvbihhKXthPUQwKGEpO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpO2ImJihpMChhKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpfTtHMD1mdW5jdGlvbihhLGIpe2EmJmImJihhPWAke18uZncoYil9YCwoYT1GMFthXSkmJl8uTnooYSkpfTsKVXJhPWZ1bmN0aW9uKGEsYixjLGQ9bnVsbCl7dmFyIGU9Xy5DZCgiU0NSSVBUIik7ZS5pZD1iO2Uub25sb2FkPSgpPT57YyYmc2V0VGltZW91dChjLDApfTtlLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e3N3aXRjaChlLnJlYWR5U3RhdGUpe2Nhc2UgImxvYWRlZCI6Y2FzZSAiY29tcGxldGUiOmUub25sb2FkKCl9fTtkJiZlLnNldEF0dHJpYnV0ZSgibm9uY2UiLGQpO18ub2IoZSx0eXBlb2YgYT09PSJzdHJpbmciP3kwKGEpOmEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShlLGEuZmlyc3RDaGlsZCk7cmV0dXJuIGV9OwpWcmE9ZnVuY3Rpb24oYSxiLGM9bnVsbCl7dmFyIGQ9RDAodHlwZW9mIGE9PT0ic3RyaW5nIj9hOmEudG9TdHJpbmcoKSksZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKSxmPWUmJkIwKGUpLGg9ZSYmIWY7Zj9iJiZiKCk6KGImJihmPV8uTXooZCxiKSxiPWAke18uZncoYil9YCxGMFtiXT1mKSxofHwoZT1VcmEoYSxkLCgpPT57QjAoZSl8fChDMChlKSxfLk96KGQpLF8ubWooKCk9PntpMChkKX0sMCkpfSxjKSkpfTtIMD1mdW5jdGlvbihhLGIsYz1udWxsKXtWcmEoYSxiLGMpfTtXcmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DZCgiQSIpO18uTHkoYixuZXcgXy5XYShhKSk7cmV0dXJuYGNzcy0ke18uTXkoYi5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIikpfWB9OwpYcmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtkLmlkPWI7ZC5vbmxvYWQ9KCk9PntjJiZzZXRUaW1lb3V0KGMsMCl9O2E9eTAoYSk7Xy5xYihkLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGR9O1lyYT1mdW5jdGlvbihhKXt2YXIgYj1XcmEoYSksYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxkPWMmJkIwKGMpO2R8fGMmJiFkfHwoYz1YcmEoYSxiLCgpPT57aWYoIUIwKGMpKXtDMChjKTtfLk96KGIpO2xldCBlPV8uRGEoaTAsYik7Xy5taihlLDApfX0pKX07CkkwPWZ1bmN0aW9uKGEpe2EuRmE9ITE7aWYoYS5oYSlmb3IodmFyIGIgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShiKSYmYS5oYShiLGEualtiXSk7Zm9yKGxldCBjIGluIGEuSSlhLkkuaGFzT3duUHJvcGVydHkoYykmJmNsZWFyVGltZW91dChOdW1iZXIoYykpO2EuST17fTthLkI9bnVsbDthLmhhPW51bGw7Yj1hLmFwaTtmb3IobGV0IGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoYltjXT1udWxsKTtiLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PnthLmFkZEV2ZW50TGlzdGVuZXIoYyxkKX07Yi5yZW1vdmVFdmVudExpc3RlbmVyPShjLGQpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCl9O2IuZGVzdHJveT0oKT0+e2EuZGlzcG9zZSgpfTtiLmdldExhc3RFcnJvcj0oKT0+YS5nZXRMYXN0RXJyb3IoKTtiLmdldFBsYXllclR5cGU9KCk9PmEuZ2V0UGxheWVyVHlwZSgpO2IuZ2V0Q3VycmVudFZpZGVvQ29uZmlnPSgpPT5hLk1hO2IubG9hZE5ld1ZpZGVvQ29uZmlnPWM9Pgp7YS5sb2FkTmV3VmlkZW9Db25maWcoYyl9O2IuaXNSZWFkeT0oKT0+YS5pc1JlYWR5KCl9O0owPWZ1bmN0aW9uKGEpe3ZhciBiO2Eud2ViUGxheWVyQ29udGV4dENvbmZpZz9iPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkOmI9YS5jb25maWcuYXR0cnMuaWQ7YS5lbGVtZW50SWQ9Ynx8YS5lbGVtZW50SWQ7YS5lbGVtZW50SWQ9PT0idmlkZW8tcGxheWVyIiYmKGEuZWxlbWVudElkPWEucGxheWVySWQsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEucGxheWVySWQ6YS5jb25maWcuYXR0cnMuaWQ9YS5wbGF5ZXJJZCk7YS5vPy5pZD09PWEuZWxlbWVudElkJiYoYS5lbGVtZW50SWQ9YCR7YS5lbGVtZW50SWR9LXBsYXllcmAsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEuZWxlbWVudElkOmEuY29uZmlnLmF0dHJzLmlkPWEuZWxlbWVudElkKX07ClMwPWZ1bmN0aW9uKGEpe2lmKCFhLmlhKCkmJiFhLlUpe3ZhciBiPUswKGEpO2lmKGImJihMMChhKT8iaHRtbDUiOm51bGwpPT09Imh0bWw1IilhLlo9Imh0bWw1IixhLmlzUmVhZHkoKXx8TTAoYSk7ZWxzZSBpZihOMChhKSxhLlo9Imh0bWw1IixiJiZhLnYmJmEudGFyZ2V0RWxlbWVudClhLnRhcmdldEVsZW1lbnQuYXBwZW5kQ2hpbGQoYS52KSxNMChhKTtlbHNle2EuY29uZmlnJiYoYS5jb25maWcubG9hZGVkPSEwKTtsZXQgYz0hMTthLkQ9KCk9PntjPSEwO3ZhciBkPU8wKGEsInBsYXllcl9ib290c3RyYXBfbWV0aG9kIik/Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZUFsdGVybmF0ZSIpfHxfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIik6Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3ZhciBlPWEuY29uZmlnP1AwKGEuY29uZmlnKTp2b2lkIDA7ZCYmZChhLnRhcmdldEVsZW1lbnQsZSxhLndlYlBsYXllckNvbnRleHRDb25maWcsCmEuRWIpO00wKGEpfTthLlU9ITA7Yj9hLkQoKTooSDAoUTAoYSksYS5EKSwoYj1acmEoYSkpJiZZcmEoYnx8IiIpLFIwKGEpJiYhYyYmXy5yYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIsbnVsbCkpfX19O1QwPWZ1bmN0aW9uKGEpe2EuY29uZmlnJiZhLmNvbmZpZy5sb2FkZWQhPT0hMCYmKGEuY29uZmlnLmxvYWRlZD0hMCwhYS5jb25maWcuYXJnc3x8YS5jb25maWcuYXJncy5hdXRvcGxheSE9PSIwIiYmYS5jb25maWcuYXJncy5hdXRvcGxheSE9PTAmJmEuY29uZmlnLmFyZ3MuYXV0b3BsYXkhPT0hMT9hLmFwaS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncz8/bnVsbCk6YS5hcGkuY3VlVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncykpfTtQMD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpe2xldCBkPWFbY107YltjXT10eXBlb2YgZD09PSJvYmplY3QiP1VfKGQpOmR9cmV0dXJuIGJ9OwpVMD1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYodHlwZW9mIGI9PT0ic3RyaW5nIil7aWYoYS55YVtiXSlyZXR1cm4gYS55YVtiXTtjPSguLi5kKT0+e3ZhciBlPV8uc2EoYik7aWYoZSl0cnl7ZS5hcHBseShfLnUsZCl9Y2F0Y2goZil7dGhyb3cgZD1uZXcgXy5YaigiUGxheWVyUHJveHkgZXJyb3Igd2hlbiBleGVjdXRpbmcgY2FsbGJhY2siLHtlcnJvcjpmfSksZC5sZXZlbD0iRVJST1IiLGQ7fX07YS55YVtiXT1jfXJldHVybiBjP2M6bnVsbH07TDA9ZnVuY3Rpb24oYSl7dmFyIGI9Vl8oYS5lbGVtZW50SWQpOyFiJiZhLm8mJmEuby5xdWVyeVNlbGVjdG9yJiYoYj1hLm8ucXVlcnlTZWxlY3RvcihgIyR7YS5lbGVtZW50SWR9YCkpO3JldHVybiBifTtRMD1mdW5jdGlvbihhKXtyZXR1cm4gYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5qc1VybDooYT1hLmNvbmZpZy5hc3NldHMpP2EuanM6IiJ9OwpLMD1mdW5jdGlvbihhKXt2YXIgYj0hMCxjPUwwKGEpO2MmJmEuY29uZmlnJiYoYj1jLmRhdGFzZXQudmVyc2lvbj09PVEwKGEpKTtyZXR1cm4gYiYmISFfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIil9O08wPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnKXZhciBjPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5zZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzO2Vsc2UgYS5jb25maWc/LmFyZ3MmJihjPWEuY29uZmlnLmFyZ3MuZmZsYWdzKTtyZXR1cm4oY3x8IiIpLnNwbGl0KCImIikuaW5jbHVkZXMoYCR7Yn09dHJ1ZWApfTsKTTA9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7bGV0IGI9TDAoYSksYz0hMTtiJiZiLmdldEFwaUludGVyZmFjZSYmYi5nZXRBcGlJbnRlcmZhY2UoKSYmKGM9ITApO2M/KGEuVT0hMSwhTzAoYSwiaHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoIikmJmI/LmlzTm90U2VydmFibGUmJmEuY29uZmlnJiZiPy5pc05vdFNlcnZhYmxlKGEuY29uZmlnLmFyZ3M/LnZpZGVvX2lkKXx8JHJhKGEpKTphLlFhPXNldFRpbWVvdXQoKCk9PntNMChhKX0sNTApfX07TjA9ZnVuY3Rpb24oYSl7YS5jYW5jZWwoKTtJMChhKTthLlo9bnVsbDthLmNvbmZpZyYmKGEuY29uZmlnLmxvYWRlZD0hMSk7dmFyIGI9TDAoYSk7YiYmKEswKGEpfHwhUjAoYSk/YS52PWI6KGImJmIuZGVzdHJveSYmYi5kZXN0cm95KCksYS52PW51bGwpKTthLnRhcmdldEVsZW1lbnQmJldfKGEudGFyZ2V0RWxlbWVudCl9OwpacmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEud2ViUGxheWVyQ29udGV4dENvbmZpZz9hLndlYlBsYXllckNvbnRleHRDb25maWcuY3NzVXJsOihhPWEuY29uZmlnLmFzc2V0cyk/YS5jc3M6IiJ9O1IwPWZ1bmN0aW9uKGEpe2E9YS5jb25maWc/LmFyZ3M/LmZmbGFncztyZXR1cm4hIWEmJmEuaW5kZXhPZigicGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb249dHJ1ZSIpIT09LTF9OwokcmE9ZnVuY3Rpb24oYSl7STAoYSk7YS5GYT0hMDt2YXIgYj1MMChhKTtpZihiKXthLkI9VjAoYSxiLCJhZGRFdmVudExpc3RlbmVyIik7YS5oYT1WMChhLGIsInJlbW92ZUV2ZW50TGlzdGVuZXIiKTtsZXQgYz1iLmdldEFwaUludGVyZmFjZSgpO2M9Yy5jb25jYXQoYi5nZXRJbnRlcm5hbEFwaUludGVyZmFjZSgpKTtsZXQgZD1hLmFwaTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXTtkW2ZdfHwoZFtmXT1WMChhLGIsZikpfX1mb3IobGV0IGMgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShjKSYmYS5CJiZhLkIoYyxhLmpbY10pO1QwKGEpO2Eub2EmJmEub2EoYS5hcGkpO2EuTS5wdWJsaXNoKCJvblJlYWR5IixhLmFwaSl9OwpWMD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YltjXTtyZXR1cm4oLi4uZSk9Pnt0cnl7cmV0dXJuIGEubGFzdEVycm9yPW51bGwsZC5hcHBseShiLGUpfWNhdGNoKGYpe2lmKGMhPT0ic2VuZEFiYW5kb25tZW50UGluZyIpdGhyb3cgZi5wYXJhbXM9YyxhLmxhc3RFcnJvcj1mLGU9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIGluIG1ldGhvZCBjYWxsIix7ZXJyb3I6ZixtZXRob2Q6YyxwbGF5ZXJJZDphLnBsYXllcklkfSksZS5sZXZlbD0iV0FSTklORyIsZTt9fX07CmFzYT1mdW5jdGlvbihhLGIpe3ZhciBjPWQ9Pnt2YXIgZT0oKT0+e2EuaWEoKTtpZighYS5pYSgpKXRyeXthLk0ucHVibGlzaChiLGQ/P3ZvaWQgMCl9Y2F0Y2goaCl7dmFyIGY9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIHdoZW4gY3JlYXRpbmcgZ2xvYmFsIGNhbGxiYWNrIix7ZXJyb3I6aC5tZXNzYWdlLGV2ZW50OmIscGxheWVySWQ6YS5wbGF5ZXJJZCxkYXRhOmQsb3JpZ2luYWxTdGFjazpoLnN0YWNrLGNvbXBvbmVudFN0YWNrOmguY29tcG9uZW50U3RhY2t9KTtmLmxldmVsPSJXQVJOSU5HIjt0aHJvdyBmO319O2lmKE8wKGEsIndlYl9wbGF5ZXJfcHVibGlzaF9ldmVudHNfaW1tZWRpYXRlbHkiKSllKCk7ZWxzZXtsZXQgZj1zZXRUaW1lb3V0KCgpPT57ZSgpO3ZhciBoPWEuSSxrPVN0cmluZyhmKTtrIGluIGgmJmRlbGV0ZSBoW2tdfSwwKTt2cmEoYS5JLFN0cmluZyhmKSl9fTtyZXR1cm4gYS5qW2JdPWN9Owpjc2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz0icGxheWVyIjtjPXR5cGVvZiBjPT09InN0cmluZyI/Vl8oYyk6Yzt2YXIgZD1gJHtfLnZhYX1fJHtfLmZ3KGMpfWAsZT1XMFtkXTtlPW5ldyBic2EoYyxkLGEsYik7VzBbZF09ZTtlLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57ZGVsZXRlIFcwW2UuZ2V0SWQoKV19KTtyZXR1cm4gZS5hcGl9O1gwPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O18ueCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKGIucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIGE9Xy5laihhLGIpfTtZMD1mdW5jdGlvbihhKXt2YXIgYj1fLncoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIik7YiYmKGE9U3RyaW5nKGIpK1N0cmluZyhfLk55KGEpKSk7cmV0dXJuIGF9OwpaMD1mdW5jdGlvbihhLGI9IlBPU1QiKXthPXttZXRob2Q6Yixtb2RlOl8uZmooYSk/InNhbWUtb3JpZ2luIjoiY29ycyIsY3JlZGVudGlhbHM6Xy5maihhKT8ic2FtZS1vcmlnaW4iOiJpbmNsdWRlIn07Yj17fTt2YXIgYz17fTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYikpYltkXSYmKGNbZF09YltkXSk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJihhLmhlYWRlcnM9Yyk7cmV0dXJuIGF9OyQwPWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19O2ExPWZ1bmN0aW9uKGEpe2lmKF8uWHooKSl7dmFyIGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpYj0kMChjKSxiPT09dm9pZCAwfHxhLmluY2x1ZGVzKGIpfHxzZWxmLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07CmRzYT1mdW5jdGlvbigpe2lmKCFfLlh6KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpaWYoYj0kMChjKSxiIT09dm9pZCAwJiZiIT09YSlyZXR1cm4hMDtyZXR1cm4hMX07YjE9ZnVuY3Rpb24oYSl7Xy5PaShfLiR6LGFyZ3VtZW50cyl9O2MxPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGF3YWl0IF8uZUEoKSl7dmFyIGI9W10sYz1hd2FpdCBfLmRBLmtleXMoKTtmb3IobGV0IGQgb2YgYykoe2RhdGFzeW5jSWQ6Y309Xy5iQShkKSksIWN8fGEuaW5jbHVkZXMoYyl8fGIucHVzaChfLmRBLmRlbGV0ZShkKSk7UHJvbWlzZS5hbGwoYikudGhlbihkPT5kLnNvbWUoZT0+ZSkpfX07CmVzYT1hc3luYyBmdW5jdGlvbigpe2lmKCFhd2FpdCBfLmVBKCkpcmV0dXJuITE7dmFyIGE9Xy5WaigiY2FjaGUgY29udGFpbnMgb3RoZXIiKSxiPWF3YWl0IF8uZEEua2V5cygpO2ZvcihsZXQgYyBvZiBiKWlmKHtkYXRhc3luY0lkOmJ9PV8uYkEoYyksYiYmYiE9PWEpcmV0dXJuITA7cmV0dXJuITF9O2ZzYT1mdW5jdGlvbihhKXtpZihfLmhBLmhhcyhhKSYmXy5mQSYmKF8uZkE/LnRhZ05hbWUudG9Mb3dlckNhc2UoKT8/IiIpPT09YSl7bGV0IGI7KGI9Xy5mQSkubWk/PyhiLm1pPTApO18uZkEubWkrKztpZihfLmZBLm1pPjEpdGhyb3cgRXJyb3IoIlBiIik7cmV0dXJuIF8uZkF9fTtnc2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpPz8iIjtfLmZBIT09YSYmYi5pbmNsdWRlcygiLSIpJiZfLmdBLnNldChhLCEwKX07ZDE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2goYSl7cmV0dXJuITB9fTsKZjE9ZnVuY3Rpb24oYT0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3ZhciBjPXdpbmRvdz09PXdpbmRvdy50b3A/d2luZG93OmQxKCk/d2luZG93OndpbmRvdy50b3AsZD1jW2FdO2Q/LmJldmFzcnM/YihuZXcgZTEoZC5iZXZhc3JzKSk6KGR8fChkPXtucWZiZWw6W119LGNbYV09ZCksZC5ucWZiZWwucHVzaChlPT57YihuZXcgZTEoZSkpfSkpfSl9O2hzYT1mdW5jdGlvbihhKXthLmohPT12b2lkIDAmJihhLm8uZm9yRWFjaChiPT57YS5qPy5yZW1vdmVFdmVudExpc3RlbmVyKGIsYS52KX0pLGEuaj12b2lkIDApfTtnMT1mdW5jdGlvbihhKXt2YXIgYj17S2M6YS5jLHNsOmEuZSxMeTphLm1jPz8hMSxNeTphLm1lPz8hMX07YS5jbyYmKGIueWk9e1hvOmEuY28uYyxBdTphLmNvLmEsSkE6YS5jby5zfSk7cmV0dXJuIGJ9Owpqc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGFzeW5jKCk9Pnt2YXIgYj1hd2FpdCBhKCk7cmV0dXJue2Y6KCk9PmIueWcucHJvbWlzZSxjOmM9PntpZihjPjE1MCl2YXIgZD0hMTtlbHNlIHRyeXtiLmNhY2hlPW5ldyBpc2EoYyxiLlgpLGQ9ITB9Y2F0Y2goZSl7Yi5yZXBvcnRFcnJvcihuZXcgaDEoMjIsIkdCSjppbml0IixlKSksZD0hMX1yZXR1cm4gZH0sbTpjPT5iLm9lKGcxKGMpKSxtd3M6Yz0+Yi56aihnMShjKSl9fX07CmtzYT1mdW5jdGlvbihhLGIsYz0iYmV2YXNyc2ciKXtiPXtzOmY9PmEuc25hcHNob3Qoey4uLihmLmMmJntLYzpmLmN9KSwuLi4oZi5zJiZ7WWo6Zi5zfSksVUs6Zi5wPz8hMH0pLGU6Zj0+dm9pZCBhLkloPy4oZiksYzooZixoKT0+YS5CaShmLGgpLHA6YS5DZyxsOigpPT5hLlZoKCksd3BjOmI/anNhKGIpOnZvaWQgMH07dmFyIGQ9d2luZG93PT09d2luZG93LnRvcD93aW5kb3c6ZDEoKT93aW5kb3c6d2luZG93LnRvcCxlPWRbY107aWYoZSl7ZS5iZXZhc3JzPWI7aWYoZS5ucWZiZWwhPT12b2lkIDApZm9yKGxldCBmIG9mIGUubnFmYmVsKWYoYik7ZS5ucWZiZWw9dm9pZCAwfWVsc2UgZT17YmV2YXNyczpiLG5xZmJlbDp2b2lkIDB9LGRbY109ZX07ajE9ZnVuY3Rpb24oYSl7dmFyIGI9W107R18oYSxpMSw2KS5mb3JFYWNoKGM9PntfLnR4KGMsMik8PTUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTsKbHNhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO0dfKGEsaTEsNikuZm9yRWFjaChjPT57Xy50eChjLDIpPjUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTtrMT1mdW5jdGlvbihhKXthLnRoZW4oKCk9Pnt9LCgpPT57fSl9O2wxPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6YX19O20xPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MyxmaWVsZE5hbWU6YX19O21zYT1mdW5jdGlvbihhLGIpe3JldHVybiBDXyhhLGIsXy5Pdyl9OwpyMT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgbjE7Yj1CWihiLDEsYS5vKTt2YXIgYz1uc2EoYSk7Yj1DXyhiLGMsc3JhKTtjPVtdO3ZhciBkPVtdO2Zvcih2YXIgZSBvZiBhLmoua2V5cygpKWQucHVzaChlLnNwbGl0KCIsIikpO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKyspe2xldCBwPWRbZV07dmFyIGY9YS52LGg9bzEoYSwuLi5wKXx8W107bGV0IHI9W107Zm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sJiZsLmo7bD1uZXcgb3NhO3N3aXRjaChmKXtjYXNlIDM6bT1OdW1iZXIobSk7TnVtYmVyLmlzRmluaXRlKG0pJiZGXyhsLDEscDEseV8obSkpO2JyZWFrO2Nhc2UgMjpGXyhsLDIscDEscF8oTnVtYmVyKG0pKSl9ci5wdXNoKGwpfWZvcihmPTA7ZjxyLmxlbmd0aDtmKyspe2s9cltmXTtoPW5ldyBwc2E7aD1fLkt3KGgsMixrKTtrPVtdO2w9cXNhKGEpO2ZvcihtPTA7bTxsLmxlbmd0aDttKyspe3ZhciBuPWxbbV07bGV0IHQ9cFttXSx2PW5ldyByc2E7c3dpdGNoKG4pe2Nhc2UgMzpGXyh2LAoxLHExLEFaKFN0cmluZyh0KSkpO2JyZWFrO2Nhc2UgMjpuPU51bWJlcih0KTtOdW1iZXIuaXNGaW5pdGUobikmJkZfKHYsMixxMSxfLlB3KG4pKTticmVhaztjYXNlIDE6Rl8odiwzLHExLF8ueHcodD09PSJ0cnVlIikpfWsucHVzaCh2KX1IXyhoLDEsayk7Yy5wdXNoKGgpfX1IXyhiLDQsYyk7cmV0dXJuIGJ9O3NzYT1mdW5jdGlvbihhKXtIXyhzMSwxLGEpfTsKdXNhPWZ1bmN0aW9uKGEsYj10MSl7aWYoIXUxKXthPWEubmF2aWdhdG9yPy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoImtlIikpO3NzYSgoYS5icmFuZHN8fFtdKS5tYXAoZD0+e3ZhciBlPW5ldyB0c2E7ZT1CWihlLDEsZC5icmFuZCk7cmV0dXJuIEJaKGUsMixkLnZlcnNpb24pfSkpO3R5cGVvZiBhLm1vYmlsZT09PSJib29sZWFuIiYmXy5xdyhzMSwyLF8ueHcoYS5tb2JpbGUpKTt1MT1hLmdldEhpZ2hFbnRyb3B5VmFsdWVzKGIpfXZhciBjPW5ldyBTZXQoYik7cmV0dXJuIHUxLnRoZW4oZD0+e3ZhciBlPXMxLmNsb25lKCk7Yy5oYXMoInBsYXRmb3JtIikmJkJaKGUsMyxkLnBsYXRmb3JtKTtjLmhhcygicGxhdGZvcm1WZXJzaW9uIikmJkJaKGUsNCxkLnBsYXRmb3JtVmVyc2lvbik7CmMuaGFzKCJhcmNoaXRlY3R1cmUiKSYmQlooZSw1LGQuYXJjaGl0ZWN0dXJlKTtjLmhhcygibW9kZWwiKSYmQlooZSw2LGQubW9kZWwpO2MuaGFzKCJ1YUZ1bGxWZXJzaW9uIikmJkJaKGUsNyxkLnVhRnVsbFZlcnNpb24pO3JldHVybiBlLnNlcmlhbGl6ZSgpfSkuY2F0Y2goKCk9PnMxLnNlcmlhbGl6ZSgpKX07djE9ZnVuY3Rpb24oYSl7cmV0dXJuIENaKGEsMSwxKX07eTE9ZnVuY3Rpb24oYSxiKXtfLkt3KGEuaiwxLGIpO0tfKGIpfHx2MShiKTthLnlkfHwoYj13MShhKSxKXyhiLDUpfHxCWihiLDUsYS5sb2NhbGUpKTthLnYmJihiPXcxKGEpLF8uTngoYix4MSw5KXx8Xy5LdyhiLDksYS52KSl9O3cxPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTngoYS5qLHoxLDEpO2J8fChiPW5ldyB6MSx5MShhLGIpKTthPWI7Yj1fLk54KGEsQTEsMTEpO2J8fChiPW5ldyBBMSxfLkt3KGEsMTEsYikpO3JldHVybiBifTt2c2E9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnhzYT1mdW5jdGlvbihhKXt2YXIgYj1hLnlkP3ZvaWQgMDpfLnpkKCk7Yj91c2EoYix0MSkudGhlbihjPT57YS52PXdzYShjPz8iW10iKTtjPXcxKGEpO18uS3coYyw5LGEudik7cmV0dXJuITB9KS5jYXRjaCgoKT0+ITEpOlByb21pc2UucmVzb2x2ZSghMSl9O0IxPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQj1hO3RoaXMuRD1iO3RoaXMubz10aGlzLmo9YTt0aGlzLks9Y3x8MDt0aGlzLkk9ZHx8Mn07QzE9ZnVuY3Rpb24oYSl7YS5vPU1hdGgubWluKGEuRCxhLm8qYS5JKTthLmo9TWF0aC5taW4oYS5ELGEubysoYS5LP01hdGgucm91bmQoYS5LKihNYXRoLnJhbmRvbSgpLS41KSoyKmEubyk6MCkpO2EudisrfTtEMT1mdW5jdGlvbigpe3JldHVybiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn07CnlzYT1mdW5jdGlvbihhLGIpe2lmKCFhLk1hKXJldHVybigpPT57fTt2YXIgYz0oKT0+e2EuZmx1c2goKX07cmV0dXJuIGI/KCk9PntiKCkudGhlbihjKX06Y307RTE9ZnVuY3Rpb24oYSl7YS52LmlzRmluYWw9ITA7YS5mbHVzaCgpO2Eudi5pc0ZpbmFsPSExfTtGMT1mdW5jdGlvbihhKXthLlV8fChhLlU9RDEoKSk7dHJ5e3JldHVybihuZXcgVVJMKGEuVSkpLnRvU3RyaW5nKCl9Y2F0Y2goYil7cmV0dXJuKG5ldyBVUkwoYS5VLF8uemQoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07QXNhPWZ1bmN0aW9uKGEpe3pzYShhLChiLGMpPT57Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwianNvbiIpO3ZhciBkPSExO3RyeXtkPV8uemQoKS5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihiLnRvU3RyaW5nKCksYy5zZXJpYWxpemUoKSl9Y2F0Y2h7fWR8fChhLlo9ITEpO3JldHVybiBkfSl9OwpCc2E9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPWEud2l0aENyZWRlbnRpYWxzKXt2YXIgZT17fSxmPW5ldyBVUkwoRjEoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5zZXNzaW9uSW5kZXgmJihlWyJYLUdvb2ctQXV0aFVzZXIiXT1hLnNlc3Npb25JbmRleCxmLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixhLnNlc3Npb25JbmRleCkpO2EucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTphLnBhZ2VJZH0pLGYuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixhLnBhZ2VJZCkpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixHdToxLE9qOmUscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHRpbWVvdXRNaWxsaXM6YS50aW1lb3V0TWlsbGlzfX07CnpzYT1mdW5jdGlvbihhLGIpe2lmKGEuai5sZW5ndGghPT0wKXt2YXIgYz1uZXcgVVJMKEYxKGEpKTtjLnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBkPWEuU2YoKTtkJiZjLnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGQpO2Muc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEuc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihkPTA7ZDwxMCYmYS5qLmxlbmd0aDsrK2Qpe2xldCBlPWEuai5zbGljZSgwLDMyKSxmPWEudi5idWlsZChlLGEuQixhLkksYS5sZixhLmhhLGEuZ2EpO2lmKCFiKGMudG9TdHJpbmcoKSxmKSl7KythLkk7YnJlYWt9YS5CPTA7YS5JPTA7YS5oYT0wO2EuZ2E9MDthLmo9YS5qLnNsaWNlKGUubGVuZ3RoKX1hLm8uZW5hYmxlZCYmYS5vLnN0b3AoKX19O0NzYT1mdW5jdGlvbihhLGIpe2EuYnVpbGRMYWJlbD1iO3JldHVybiBhfTtFc2E9ZnVuY3Rpb24oYSl7YS5uZXR3b3JrPW5ldyBEc2E7cmV0dXJuIGF9O0ZzYT1mdW5jdGlvbihhLGIpe2Euaj1ifTsKR3NhPWZ1bmN0aW9uKGEpe2Eubz0hMDtyZXR1cm4gYX07cXNhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZpZWxkcy5tYXAoYj0+Yi5maWVsZFR5cGUpfTtvMT1mdW5jdGlvbihhLC4uLmIpe2I9RzEoLi4uYik7cmV0dXJuIGEuai5oYXMoYik/YS5qLmdldChiKTp2b2lkIDB9O25zYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5maWVsZHMubWFwKGI9PmIuZmllbGROYW1lKX07STE9ZnVuY3Rpb24oYSxiLC4uLmMpe2M9RzEoLi4uYyk7YS5qLnNldChjLFtuZXcgSDEoYildKX07SHNhPWZ1bmN0aW9uKGEsYiwuLi5jKXt2YXIgZD1vMShhLC4uLmMpO2Q/ZC5wdXNoKG5ldyBIMShiKSk6STEoYSxiLC4uLmMpfTtHMT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYT9hLmpvaW4oIiwiKToia2V5In07SXNhPWZ1bmN0aW9uKGEsLi4uYil7cmV0dXJuKGE9bzEoYSwuLi5iKSkmJmEubGVuZ3RoP2FbMF06dm9pZCAwfTsKSnNhPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9MCxkPUlzYShhLC4uLmIpO2QmJihjPWQuaik7STEoYSxjKzEsLi4uYil9O0sxPWZ1bmN0aW9uKGEsYiwuLi5jKXthLnYuaGFzKGIpfHxhLnYuc2V0KGIsbmV3IEoxKGIsYykpfTtNMT1mdW5jdGlvbihhLGIsLi4uYyl7YS52LmhhcyhiKXx8YS52LnNldChiLG5ldyBMMShiLGMpKX07TjE9ZnVuY3Rpb24oYSl7YS5vLmVuYWJsZWR8fGEuby5zdGFydCgpO2EuSSsrO2EuST49YS5CJiZhLkQoKX07S3NhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0uY2xlYXIoKX07TzE9ZnVuY3Rpb24oYSxiLC4uLmMpeyhiPWEuaihiKSkmJmIgaW5zdGFuY2VvZiBMMSYmKEpzYShiLC4uLmMpLE4xKGEpKX07ClAxPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19OwpMc2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTtSMT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9UTEoKTtiPWIoKTthLnYoYyxRMSgpLWQpO3JldHVybiBifTtPc2E9ZnVuY3Rpb24oYSxiLGMsZCl7YT1Hc2EoRXNhKENzYShuZXcgUzEsYSkpKS5ubCgpO2IubGVuZ3RoJiZGc2EoYSxtc2EobmV3IE1zYSxiKSk7ZCE9PXZvaWQgMCYmKGEuTmU9ZCk7dmFyIGU9bmV3IE5zYShhLmJ1aWxkKCkpO0VaKGUsYSk7dmFyIGY9bmV3IFQxKHtmbHVzaChoKXt0cnl7ZS5mbHVzaChoKX1jYXRjaChrKXtjKGspfX19KTtmLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtmLkQoKX1maW5hbGx5e2UuZGlzcG9zZSgpfX0pfSk7Zi5CPTFFNTtmLmZsdXNoSW50ZXJ2YWw9M0U0O2Yuby5zZXRJbnRlcnZhbCgzRTQpO3JldHVybiBmfTsKUHNhPWZ1bmN0aW9uKGEpe2lmKGEudGltZXI9PT12b2lkIDApe2xldCBiPU1hdGgubWF4KDAsYS5qK2Euby1RMSgpKTthLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0cnl7YS5jYWxsYmFjaygpfWZpbmFsbHl7YS5qPVExKCksYS50aW1lcj12b2lkIDB9fSxiKX19O1JzYT1mdW5jdGlvbihhLGI9W10pe3JldHVybiBuZXcgUXNhKGEsYil9O1ExPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9O1UxPWZ1bmN0aW9uKGEsYil7aWYoYS5kaXNhYmxlKXJldHVybiBuZXcgU3NhO2I9Yj9qMShiKTpbXTtyZXR1cm4gUnNhKHttYjphLm1iLHpsOmEuU3Ysbm06YS5LeSxOZTphLk5lLEZqOmEuRmosSWc6YS5JZ30sYil9O1cxPWZ1bmN0aW9uKCl7VjEuaW5zdGFuY2V8fChWMS5pbnN0YW5jZT1uZXcgVjEpO3JldHVybiBWMS5pbnN0YW5jZX07ClRzYT1mdW5jdGlvbihhLGIsYyxkKXtpZighYiYmIWMpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFkKXJldHVybiBYMShiLGMpO3ZhciBlOyhlPWEucHJvbWlzZXMpW2RdfHwoZVtkXT1uZXcgUHJvbWlzZSgoZixoKT0+e1gxKGIsYykudGhlbigoKT0+e2Euaj1kO2YoKX0saz0+e2RlbGV0ZSBhLnByb21pc2VzW2RdO2goayl9KX0pKTtyZXR1cm4gYS5wcm9taXNlc1tkXX07JDE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVHNhKGEsXy5OeChiLFkxLDEsXy53eiksXy5OeChiLFoxLDIsXy53eiksSl8oYiwzLHZvaWQgMCxfLnd6KSl9O1gxPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/VXNhKGIpOmE/VnNhKGEpOlByb21pc2UucmVzb2x2ZSgpfTsKVXNhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e3ZhciBkPV8uQ2QoIlNDUklQVCIpLGU9VHJhKGEpO18ub2IoZCxlKTtkLm9ubG9hZD0oKT0+e18uRGQoZCk7YigpfTtkLm9uZXJyb3I9KCk9PntfLkRkKGQpO2MoRXJyb3IoInFlIikpfTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChkKX0pfTtWc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKGI9Pnt2YXIgYz1fLkNkKCJTQ1JJUFQiKTtpZihhKXt2YXIgZD1fLlh0KF8uZWQoYSw2LHZvaWQgMCxfLkR2KSk7ZD1kPT09bnVsbHx8ZD09PXZvaWQgMD9udWxsOl8ua2IoZCl9ZWxzZSBkPW51bGw7Xy5uYihjLGQpOyhkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKGMpO18uRGQoYyk7YigpfSl9OwpXc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDEsQVooYiksIiIpfTtYc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDIsQVooYiksIiIpfTsKYXRhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQ9VzEoKSxlPVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGYpe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCBrPW51bGw7aWYoaCl7YTIoYSw3KTt0cnl7az1hd2FpdCBiMihoLnNuYXBzaG90KHt9KSxmLmF2LCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKG4pe2s9IkU6VUNFIn19bGV0IGwsbT1uZXcgQjEoaD9mLkp2OmYuS3YsZi5MdixmLk12LGYuSXYpO2ZvcihsZXQgbj0xO248PWYubWF4QXR0ZW1wdHM7bisrKXtpZihuIT09MSl7YTIoYSwwKTthLmo9bmV3IGMyKG0uaixmLmVrLGYubHMpO2xldCBwPWF3YWl0IGEuai5wcm9taXNlO2Euaj12b2lkIDA7cD09PTE/KG49MSxtLnJlc2V0KCkpOkMxKG0pfXRyeXtsZXQgcDtjP3A9YzooYTIoYSw1KSxwPWF3YWl0IGIyKFlzYShiLGQuaixrKSxmLlZ2LCgpPT5Qcm9taXNlLnJlamVjdChFcnJvcigic2UiKSkpKTthMihhLDMpO2F3YWl0IGIyKCQxKGQscCksZi5xeSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInRlIikpKTsKYTIoYSw4KTthd2FpdCBlO2xldCByPW5ldyBkMih7Y2hhbGxlbmdlOnAsbmc6YS5vcHRpb25zLm5nLEZzOmEub3B0aW9ucy5Gc30pO2F3YWl0IGIyKHIuQ2csZi5tQSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInVlIikpKTtsPXI7YnJlYWt9Y2F0Y2gocCl7YS5oYW5kbGVFcnJvcihwKSxlMihhKX19aWYoYS5pYSgpKWJyZWFrO2wmJihjPXZvaWQgMCxac2EoYSxoKSxoPWwsJHNhKGEsbCksZTIoYSkpO2EyKGEsMik7YS5qPW5ldyBjMihmLkZyLGYuZWssZi5scyk7YS5pc1BhdXNlZCYmYS5qLnBhdXNlKCk7YXdhaXQgYS5qLnByb21pc2U7YS5qPXZvaWQgMDtpZihhLmlhKCkpYnJlYWt9aD8uZGlzcG9zZSgpfTsKYnRhPWZ1bmN0aW9uKGEpe2EuTT1FcnJvcigicmUiKTthLkQucmVzb2x2ZSgpO2sxKGEuSS5wcm9taXNlKTthLkkucmVqZWN0KEVycm9yKCJyZSIpKTthLlguZGlzcG9zZSgpO1Byb21pc2UuYWxsKGEuQikudGhlbihhc3luYygpPT57YS5vPy5kaXNwb3NlKCk7YS5vPXZvaWQgMH0pO2EuQj1bXTthLmo/Lm8oKTtrMShhLnYucHJvbWlzZSk7YS52LnJlamVjdChFcnJvcigicmUiKSl9O2YyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5HajthLkdqPSgpPT57YygpO2IoKX19OyRzYT1mdW5jdGlvbihhLGIpe2EuaWEoKXx8KGEubz1iLGEuWC51cGRhdGUoYi5WaCgpKSxhLkQucmVzb2x2ZSgpLGEuSS5yZXNvbHZlKHZvaWQgMCksYS5HaigpKX07WnNhPWZ1bmN0aW9uKGEsYil7YiYmKFByb21pc2UuYWxsKGEuQikudGhlbigoKT0+dm9pZCBiLmRpc3Bvc2UoKSksYS5CPVtdKX07YTI9ZnVuY3Rpb24oYSxiKXthLlo9YjthLm9wdGlvbnMuaks/LihiKX07CmUyPWZ1bmN0aW9uKGEpe2EuaWEoKXx8KGEudi5yZXNvbHZlKCksYS52PW5ldyBfLmNzKX07YjI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2M9KG5ldyBQcm9taXNlKGU9PntkPXNldFRpbWVvdXQoZSxiKX0pKS50aGVuKGMpO2sxKGMpO3JldHVybiBQcm9taXNlLnJhY2UoW2EuZmluYWxseSgoKT0+dm9pZCBjbGVhclRpbWVvdXQoZCkpLGNdKX07Y3RhPWZ1bmN0aW9uKGEsYil7YS5lbmRUaW1lTXM9RGF0ZS5ub3coKStiO2EudGljaygpfTtnMj1mdW5jdGlvbihhKXthLmomJihjbGVhclRpbWVvdXQoYS5qKSxhLmo9bnVsbCl9O2gyPWZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oYSxiKSwhMH1jYXRjaChjKXtyZXR1cm4hMX19OwppMj1mdW5jdGlvbihhLGI9MCxjPWEubGVuZ3RoLGQpe3ZhciBlPTA7Zm9yKGQmJihlPWkyKGQpKTtiPGM7YisrKWU9ZHRhKDMxLGUpKyh0eXBlb2YgYT09PSJzdHJpbmciP2EuY2hhckNvZGVBdChiKTphW2JdKXwwO3JldHVybiBlfTtrMj1mdW5jdGlvbihhKXt2YXIgW2IsY109W2kyKGEsMCxhLmxlbmd0aD4+MSxqMiksaTIoYSxhLmxlbmd0aD4+MSldO3JldHVybiBiLnRvU3RyaW5nKDE2KStjLnRvU3RyaW5nKDE2KX07CmwyPWZ1bmN0aW9uKGEsYil7dmFyIGM9W2kyKGIsMCxiLmxlbmd0aD4+MSx2b2lkIDApLGkyKGIsYi5sZW5ndGg+PjEpXTthPW5ldyBVaW50MzJBcnJheShhLmJ1ZmZlcik7Yj1hWzBdO3ZhciBbZCxlXT1jO2ZvcihjPTE7YzxhLmxlbmd0aDtjKz0yKXt2YXIgZj1iLGg9YyxrPWQsbD1lO2ZvcihsZXQgbT0wO208MjI7bSsrKWg9aD4+Pjh8aDw8MjQsaCs9ZnwwLGhePWsrMzgyOTMsZj1mPDwzfGY+Pj4yOSxmXj1oLGw9bD4+Pjh8bDw8MjQsbCs9a3wwLGxePW0rMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1sO2Y9W2YsaF07YVtjXV49ZlswXTtjKzE8YS5sZW5ndGgmJihhW2MrMV1ePWZbMV0pfX07CmV0YT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSg0LShqMi5sZW5ndGgrYy5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2YrajIubGVuZ3RoKzQrYy5sZW5ndGgpLGs9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxsPTA7ay5zZXRVaW50MzIobCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO2w9bCs0K2Y7aC5zZXQoajIsbCk7bCs9ajIubGVuZ3RoO2suc2V0VWludDMyKGwsZSk7aC5zZXQoYyxsKzQpO2wyKGgsZCk7cmV0dXJuIGEucmIoYixtPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShtKSk/aDIoYixfLnNjKGgpKT8icyI6InQiOiJpIn07CmZ0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShhKTtpZighYylyZXR1cm5bIm0iXTt0cnl7dmFyIGQ9Xy51YyhjKTtsMihkLGIpfWNhdGNoKGUpe3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJjIl19Zm9yKGI9NDtiPDcmJmRbYl09PT0wOyliKys7Zm9yKGM9MDtjPGoyLmxlbmd0aDtjKyspaWYoZFtiKytdIT09ajJbY10pcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShhKSxbImQiXTtjPShuZXcgRGF0YVZpZXcoZC5idWZmZXIpKS5nZXRVaW50MzIoYik7cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpPj1jPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJlIl0pOlsiYSIsbmV3IFVpbnQ4QXJyYXkoZC5idWZmZXIsYis0KV19OwpndGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJpVTVxLSFPOUAkIik7aWYoIWIpcmV0dXJuIG5ldyBtMihhKTt2YXIgYz1iLnNwbGl0KCIsIik7aWYoYy5sZW5ndGg8MilyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IG0yKGEpO2I9Yy5zbGljZSgxKTtiLmxlbmd0aD09PTEmJmJbMF09PT0iIiYmKGI9W10pO2M9TnVtYmVyKGNbMF0pO3JldHVybiBpc05hTihjKXx8YzwwfHxjPmIubGVuZ3RoPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImlVNXEtIU85QCQiKSxuZXcgbTIoYSkpOm5ldyBtMihhLGMsYil9O24yPWZ1bmN0aW9uKGEsYil7dmFyIGM9c2V0VGltZW91dCgoKT0+e2Eudi5yZXNvbHZlKCl9LGIpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGMpKX07CnAyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YCR7YihhLmVycm9yLm1lc3NhZ2UpfToke2IoYS5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtiPWMubGVuZ3RoKzE7Yz1vMihjKTt2YXIgZD1uZXcgVWludDhBcnJheSg0K2MubGVuZ3RoKTtkLnNldChbNDIsYiYxMjd8MTI4LGI+PjcsYS5lcnJvci5jb2RlXSk7ZC5zZXQoYyw0KTtyZXR1cm4gZH07bzI9ZnVuY3Rpb24oYSl7cmV0dXJuIGdsb2JhbFRoaXMuVGV4dEVuY29kZXI/KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpOl8uYWMoYSl9Owp0Mj1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YS52Kys7dmFyIGM9bmV3IF8uY3M7YS52bSBpbnN0YW5jZW9mIHEyJiZhLnZtLkIucHVzaChjLnByb21pc2UpO2lmKGEuUW4pe2xldCBmPW5ldyBfLmNzO3NldFRpbWVvdXQoKCk9PnZvaWQgZi5yZXNvbHZlKCkpO2F3YWl0IGYucHJvbWlzZX12YXIgZD1hLlguc2hhcmUoKTt0cnl7YS5zdGF0ZT01O2xldCBmPVtdLGg9YXdhaXQgYjIoYS52bS5zbmFwc2hvdCh7S2M6e30sSXM6Zn0pLGEuTGcuQkEsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxNSwiTURBOlRpbWVvdXQiKSkpO3IyKGEsIk1EQTpEaXNwb3NlZCIpO2xldCBrPWZbMF07YS5zdGF0ZT02O2xldCBsPWF3YWl0IGIyKGh0YShhLm9kLGgpLGEuTGcuV3YsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxMCwiQldCOlRpbWVvdXQiKSkpO3IyKGEsIkJXQjpEaXNwb3NlZCIpO2Euc3RhdGU9NztiPVIxKGQsKCk9Pnt2YXIgbT1pdGEoYSxsLGMsayk7bS52LnByb21pc2UudGhlbigoKT0+CnZvaWQgYS5CKCkpO3JldHVybiBtfSwiaSIpfWNhdGNoKGYpe2I/LmRpc3Bvc2UoKTtpZighYS5vKXtsZXQgaD1qdGEoYSxmKTtjLnJlc29sdmUoKTt2YXIgZTtpZihlPWEudm0gaW5zdGFuY2VvZiBxMiYmYS52PDIpYTppZihmIGluc3RhbmNlb2YgaDEpZT1mLmNvZGUhPT0zMiYmZi5jb2RlIT09MjAmJmYuY29kZSE9PTEwO2Vsc2V7aWYoZiBpbnN0YW5jZW9mIHMyKXN3aXRjaChmLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6ZT0hMTticmVhayBhfWU9ITB9aWYoZSl7bGV0IGs9c2V0VGltZW91dCgoKT0+dm9pZCBhLkIoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKGEuaj82RTQ6MUUzKSk7YS5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQoaykpO3JldHVybn1hLm89aH1kLkpiKGEuaj8xMzoxNCk7YS55Zy5yZWplY3QoYS5vKTtyZXR1cm59ZmluYWxseXtkLmRpc3Bvc2UoKX1hLnN0YXRlPTg7YS52PTA7YS5qPy5kaXNwb3NlKCk7CmEuaj1iO2EueWcucmVzb2x2ZSgpfTtqdGE9ZnVuY3Rpb24oYSxiKXtpZighKGIgaW5zdGFuY2VvZiBoMSkpaWYoYiBpbnN0YW5jZW9mIHMyKXtsZXQgYz1FcnJvcihiLnRvU3RyaW5nKCkpO2Muc3RhY2s9Yi5zdGFjaztiPW5ldyBoMSgxMSwiRUJIOkVycm9yIixjKX1lbHNlIGI9bmV3IGgxKDEyLCJCU086VW5rbm93biIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O3IyPWZ1bmN0aW9uKGEsYil7aWYoYS5pYSgpKXRocm93IG5ldyBoMShhLmo/MjA6MzIsYik7fTsKaXRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPShzXyhfLmVkKGIsMikpPz8wKSoxRTM7aWYoZTw9MCl0aHJvdyBuZXcgaDEoMzEsIlRUTTpJbnZhbGlkIik7aWYoSl8oYiw0KSlyZXR1cm4gbmV3IGt0YShhLlgsSl8oYiw0KSxlKTtpZighKHNfKF8uZWQoYiwzKSk/PzApKXJldHVybiBuZXcgbHRhKGEuWCxGWihCXyhiKSksZSk7aWYoIWQpdGhyb3cgbmV3IGgxKDQsIlBNRDpVbmRlZmluZWQiKTtkPWQoRlooQl8oYikpKTtpZih0eXBlb2YgZCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IGgxKDE2LCJBUEY6RmFpbGVkIik7YS5EPU1hdGguZmxvb3IoKERhdGUubm93KCkrZSkvMUUzKTthPW5ldyB1MihhLlgsZCxzXyhfLmVkKGIsMykpPz8wLGUpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgYy5yZXNvbHZlKCkpO3JldHVybiBhfTsKdzI9ZnVuY3Rpb24oYSxiLGMpe3RyeXtpZihhLmlhKCkpdGhyb3cgbmV3IGgxKDIxLCJCTlQ6ZGlzcG9zZWQiKTtpZighYS5qJiZhLm8pdGhyb3cgYS5vO3JldHVybiBtdGEoYSxiLGMpPz9udGEoYSxiLGMpPz9vdGEoYSxiLGMpfWNhdGNoKGQpe2lmKCFiLk15KXRocm93IHYyKGEsZCk7cmV0dXJuIHB0YShhLGMsZCl9fTt2Mj1mdW5jdGlvbihhLGIpe2I9YiBpbnN0YW5jZW9mIGgxP2I6bmV3IGgxKDUsIlRWRDplcnJvciIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O210YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuaj8uc20oKCk9PngyKGEsYiksYyxkPT57aWYoYS5qIGluc3RhbmNlb2YgdTImJmIueWk/LkpBKXRyeXthLmNhY2hlPy5qKHgyKGEsYiksZCxiLnlpLlhvLGEuRC0xMjApfWNhdGNoKGUpe2EucmVwb3J0RXJyb3IobmV3IGgxKDI0LCJFTFg6d3JpdGUiLGUpKX19KX07Cm50YT1mdW5jdGlvbihhLGIsYyl7aWYoYi55aT8uQXUpdHJ5e2xldCBkPWEuY2FjaGU/Lm8oeDIoYSxiKSxiLnlpLlhvKTtyZXR1cm4gZD9jP1IxKGEuWCwoKT0+Xy5zYyhkLDIpLCJhIik6ZDp2b2lkIDB9Y2F0Y2goZCl7YS5yZXBvcnRFcnJvcihuZXcgaDEoMjMsIlJYTzpyZWFkIixkKSl9fTtvdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZighYi5MeSl0aHJvdyBuZXcgaDEoMjksIlNERjpub3RyZWFkeSIpO3JldHVybiBfLlZ6KGQsbmV3IHF0YShhLlgsYS5zdGF0ZSkpLnNtKCgpPT54MihhLGIpLGMpfWNhdGNoKGUpe2QuZXJyb3I9ZSxkLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihkKX19OwpwdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZT12MihhLGMpO3JldHVybiBfLlZ6KGQsbmV3IHJ0YShhLlgsZSkpLnNtKCgpPT5bXSxiKX1jYXRjaChlKXtkLmVycm9yPWUsZC5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooZCl9fTt4Mj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnNsP2Iuc2w6Yi5LYz9SMShhLlgsKCk9PmIuc2w9bzIoYi5LYyksImMiKTpbXX07eTI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PSJcciJ8fGE9PSJcbiJ8fGE9PSIgInx8YT09Ilx0In07ejI9ZnVuY3Rpb24oKXt0aGlzLk09bnVsbDt0aGlzLlk9W107dGhpcy5JPSIiO3RoaXMuVT1bXTt0aGlzLnY9dGhpcy5vPTA7dGhpcy5EPSExO3RoaXMuSz0wO3RoaXMuWj0vW1xcIl0vZzt0aGlzLmo9dGhpcy5CPTB9OwpBMj1mdW5jdGlvbihhLGIsYyl7YS5CPTM7YS5NPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIithLnYrIi8iK2MrIi4gV2l0aCBpbnB1dDpcbiIrYjt0aHJvdyBFcnJvcihhLk0pO307QzI9ZnVuY3Rpb24oKXt2YXIgYT1VXyhzdGEpLGI7cmV0dXJuKG5ldyBfLkJmKChjLGQpPT57YS5vblN1Y2Nlc3M9ZT0+e18ucWooZSk/YyhuZXcgdHRhKGUpKTpkKG5ldyBCMihgUmVxdWVzdCBmYWlsZWQsIHN0YXR1cz0ke18ucGooZSl9YCwibmV0LmJhZHN0YXR1cyIpKX07YS5vbkVycm9yPSgpPT57ZChuZXcgQjIoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIikpfTthLm9uVGltZW91dD0oKT0+e2QobmV3IEIyKCJSZXF1ZXN0IHRpbWVkIG91dCIsIm5ldC50aW1lb3V0IikpfTtiPV8uemooIi8vZ29vZ2xlYWRzLmcuZG91YmxlY2xpY2submV0L3BhZ2VhZC9pZCIsYSl9KSkuS2coYz0+e2MgaW5zdGFuY2VvZiBfLlBmJiZiPy5hYm9ydCgpO3JldHVybiBfLk90KGMpfSl9Owp1dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0yO2Eubz1ifTt2dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0xO2Eubz1ifTtFMj1mdW5jdGlvbihhPW51bGwpe3ZhciBiPW5ldyBEMjt1dGEoYixhKTtyZXR1cm4gYn07RjI9ZnVuY3Rpb24oYT1udWxsKXt2YXIgYj1uZXcgRDI7dnRhKGIsYSk7cmV0dXJuIGJ9O3d0YT1mdW5jdGlvbihhKXt2YXIgYj1hLmRvY2lkfHxhLnZpZGVvX2lkfHxhLnZpZGVvSWR8fGEuaWQ7aWYoYilyZXR1cm4gYjtiPWEucmF3X3BsYXllcl9yZXNwb25zZTtifHwoYT1hLnBsYXllcl9yZXNwb25zZSkmJihiPUpTT04ucGFyc2UoYSkpO3JldHVybiBiJiZiLnZpZGVvRGV0YWlscyYmYi52aWRlb0RldGFpbHMudmlkZW9JZHx8bnVsbH07CkcyPWZ1bmN0aW9uKGEpe3ZhciBiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIjt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoInlvdXR1YmVlZHVjYXRpb24uY29tIikmJihiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKTt2YXIgYz1hLnJhd19lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7aWYoIWMmJihhPWEuZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlKSl0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpe3JldHVybiBifWlmKGMpYTp7YT14dGE7Zm9yKGxldCBkIGluIGEpaWYoYVtkXT09Yy5lbWJlZGRlZFBsYXllck1vZGUpe2I9YVtkXTticmVhayBhfX1yZXR1cm4gYn07Cnl0YT1mdW5jdGlvbigpe2lmKF8ueCgiZGlzYWJsZV9iaXNjb3R0aV9mZXRjaF9lbnRpcmVseV9mb3JfYWxsX3dlYl9jbGllbnRzIikpcmV0dXJuIEVycm9yKCJ2ZSIpO2lmKCFfLnN6KCkpcmV0dXJuIEVycm9yKCJ3ZSIpO3ZhciBhPV8udygiUExBWUVSX1ZBUlMiLHt9KTtpZihUXyhhKT09IjEiKXJldHVybiBFcnJvcigieGUiKTtpZihHMihhKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKXJldHVybiBFcnJvcigieWUiKX07Wl89ZnVuY3Rpb24oKXt2YXIgYT15dGEoKTtpZihhIT09dm9pZCAwKXJldHVybiBfLk90KGEpO0gyfHwoSDI9QzIoKS50aGVuKEkyKS5LZyhiPT5KMigyLGIpKSk7cmV0dXJuIEgyfTsKSTI9ZnVuY3Rpb24oYSl7YT1hLmoucmVzcG9uc2VUZXh0O2lmKGEubGFzdEluZGV4T2YoIildfSciLDApIT0wKXRocm93IG5ldyBLMjthPUpTT04ucGFyc2UoYS5zdWJzdHIoNCkpO2lmKChhLnR5cGV8fDEpPjEpdGhyb3cgbmV3IEsyO2E9YS5pZDskXyhhKTtIMj1GMihhKTtMMigxOEU1LDIpO3JldHVybiBhfTtKMj1mdW5jdGlvbihhLGIpe2I9bmV3IE0yKGIpOyRfKCIiKTtIMj1FMihiKTthPjAmJkwyKDEyRTQsYS0xKTt0aHJvdyBiO307TDI9ZnVuY3Rpb24oYSxiKXtfLm1qKGZ1bmN0aW9uKCl7QzIoKS50aGVuKEkyLGM9PkoyKGIsYykpLktnKF8uZ2QpfSxhKX07enRhPWZ1bmN0aW9uKCl7dHJ5e2xldCBhPV8uc2EoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iKTtyZXR1cm4gYT9hKCk6Wl8oKX1jYXRjaChhKXtyZXR1cm4gXy5PdChhKX19OwpOMj1mdW5jdGlvbigpe3ZhciBhPSExO3RyeXthPSEhd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInNlc3Npb25fbG9naW5pbmZvIil9Y2F0Y2h7YT0hMH1yZXR1cm4oXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIikmJmF9OwpPMj1mdW5jdGlvbigpe3RyeXt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic3RpY2tpbmVzc19yZWxvYWQiKTt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKTtfLlFpKCJMT0dJTl9JTkZPIiwiIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oImZyb21fc3dpdGNoX2FjY291bnQiLCIxIik7dmFyIGE7bGV0IGM9QXRhO2N8fChjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwZXJzaXN0X2lkZW50aXR5IikpO2lmKGE9Yyl7dmFyIGI9YS5zcmM/KG5ldyBVUkwoYS5zcmMpKS5vcmlnaW46IioiO2EuY29udGVudFdpbmRvdz8ucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiY2xlYXIifSxiKX19Y2F0Y2h7fX07ClAyPWZ1bmN0aW9uKGEpe2lmKGEpaWYoYS5zdGFydHNXaXRoKCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vQWRkU2Vzc2lvbiIpKU8yKCk7ZWxzZSBpZihhLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKSlPMigpO2Vsc2V7dmFyIGI7aWYoYj1hLnN0YXJ0c1dpdGgoImh0dHBzOi8vbXlhY2NvdW50Lmdvb2dsZS5jb20iKSliPShhIGluc3RhbmNlb2YgXy5meT9hLmNsb25lKCk6bmV3IF8uZnkoYSkpLmouZW5kc1dpdGgoIi95b3V0dWJlb3B0aW9ucyIpO2ImJk8yKCl9aWYoXy53KCJMT0dHRURfSU4iLCEwKSYmTjIoKSl7Yj1fLncoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBjPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2MmJmIucHVzaChjKTtjPV8uUGIoYSk7Xy5zYihiLGMpPj0wfHwhYyYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTA/KGI9Xy5OeShhKSwoYj1fLk95KGIpKT8oYj1fLnZ6KGIpLApiPShiPV8uTGouZ2V0KGIsdm9pZCAwKXx8bnVsbCk/Xy5iaihiKTp7fSk6Yj1udWxsKTpiPW51bGw7Yj09bnVsbCYmKGI9e30pO2M9Yjt2YXIgZD12b2lkIDA7TjIoKT8oZHx8KGQ9Xy53KCJMT0dJTl9JTkZPIikpLGQ/KGMuc2Vzc2lvbl9sb2dpbmluZm89ZCxjPSEwKTpjPSExKTpjPSExO2MmJl8udXooYSxiKX19O0J0YT1mdW5jdGlvbihhLGI9e30sYz0hMSl7dmFyIGQ9Xy53KCJFVkVOVF9JRCIpO2QmJihiLmVpfHwoYi5laT1kKSk7YiYmXy51eihhLGIpO2lmKGMpcmV0dXJuITE7UDIoYSk7Yj13aW5kb3c7YT1fLldiKGEse30pO1AyKGEpO2E9Xy5LeihhKTtiPWIubG9jYXRpb247YT1fLmRiKGEpO2EhPT12b2lkIDAmJihiLmhyZWY9YSk7cmV0dXJuITB9O1EyPWZ1bmN0aW9uKGEpe2lmKFRfKF8udygiUExBWUVSX1ZBUlMiLHt9KSkhPSIxIil7YSYmd3JhKCk7dHJ5e3p0YSgpLnRoZW4oKCk9Pnt9LCgpPT57fSksXy5taihRMiwxOEU1KX1jYXRjaChiKXtfLlVpKGIpfX19OwpEdGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cubG9jYXRpb24uaHJlZjtpZihfLngoImtldmxhcl9kaXNhYmxlX3RoZW1lX3BhcmFtIikpcmV0dXJuIG51bGw7Xy5RYihhKTt0cnl7bGV0IGI9YTAoYSkudGhlbWU7cmV0dXJuIEN0YS5nZXQoYil8fG51bGx9Y2F0Y2goYil7fXJldHVybiBudWxsfTsKUzI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFIyO2lmKGEuaW50ZXJwcmV0ZXJKYXZhc2NyaXB0KXt2YXIgYz1ZXyhhLmludGVycHJldGVySmF2YXNjcmlwdCk7Yz1fLmxiKGMpLnRvU3RyaW5nKCk7dmFyIGQ9bmV3IFkxO0JaKGQsNixjKTtfLkt3KGIsMSxkLF8ud3opfWVsc2UgYS5pbnRlcnByZXRlclVybCYmKGM9Xy5odyhhLmludGVycHJldGVyVXJsKSxjPV8uVWEoYykudG9TdHJpbmcoKSxkPW5ldyBaMSxCWihkLDQsYyksXy5LdyhiLDIsZCxfLnd6KSk7YS5pbnRlcnByZXRlckhhc2gmJl8uV3goYiwzLEFaKGEuaW50ZXJwcmV0ZXJIYXNoKSwiIixfLnd6KTthLnByb2dyYW0mJl8uV3goYiw0LEFaKGEucHJvZ3JhbSksIiIsXy53eik7YS5nbG9iYWxOYW1lJiZfLld4KGIsNSxBWihhLmdsb2JhbE5hbWUpLCIiLF8ud3opO2EuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2ImJl8uV3goYiw3LEFaKGEuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2IpLCIiLF8ud3opO3JldHVybiBifTsKVDI9ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjIG9mIGEpYT1jLnNwbGl0KCI9IiksYS5sZW5ndGg9PT0yJiYoYlthWzBdXT1hWzFdKTtyZXR1cm4gYn07VTI9ZnVuY3Rpb24oYSl7cmV0dXJuIE51bWJlcihhLnQpfHw3MjAwfTtFdGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT13aW5kb3c7YXdhaXQgZjEoVjIoKSk7dmFyIGI9YS5iZ2V2bWM7aWYoIWIpdGhyb3cgRXJyb3IoInplIik7cmV0dXJue3BhdXNlOigpPT57Yi5wKCl9LHJlc3VtZTooKT0+e2IucigpfSxjaGVja0ZvclJlZnJlc2g6KCk9PmIuY3IoKX19O1YyPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiYmdfc3RfaHIiKT8iaGF2dW9rbWhocy0wIjpgaGF2dW9rbWhocy0ke01hdGguZmxvb3IoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZT8udGltZU9yaWdpbnx8MCl9YH07VzI9ZnVuY3Rpb24oYSl7d2luZG93LmJnZW5zPWF9OwpGdGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPXdpbmRvdztiLm50cGV2YXNycyE9PXZvaWQgMD9hKG5ldyBYMihiLm50cGV2YXNycykpOihiLm50cHFmYmVsPT09dm9pZCAwJiYoYi5udHBxZmJlbD1bXSksYi5udHBxZmJlbC5wdXNoKGM9PnthKG5ldyBYMihjKSl9KSl9KX07Ckd0YT1mdW5jdGlvbigpe2lmKF8uc3ooKSl7dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIse30pO2lmKFRfKGEpIT0iMSImJkcyKGEpIT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCIpe3ZhciBiPSgpPT57WTI9ITA7Imdvb2dsZV9hZF9zdGF0dXMiaW4gd2luZG93P18uUWkoIkRDTEtTVEFUIiwxKTpfLlFpKCJEQ0xLU1RBVCIsMil9O3RyeXtsZXQgYz1fLmliKGRvY3VtZW50KTtIMChaMixiLGMpfWNhdGNoKGMpe30kMi5wdXNoKF8uamYucGIoKCk9PntpZighKFkyfHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7RzAoWjIudG9TdHJpbmcoKSxiKX1jYXRjaChjKXt9WTI9ITA7Xy5RaSgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07YTM9ZnVuY3Rpb24oKXt2YXIgYT1OdW1iZXIoXy53KCJEQ0xLU1RBVCIsMCkpO3JldHVybiBpc05hTihhKT8wOmF9O2IzPWZ1bmN0aW9uKGEsYil7YS5qPWJ9OwpJdGE9YXN5bmMgZnVuY3Rpb24oYSl7aWYoXy51Lnl0QXRQJiYhXy54KCJ5dGF0cF9rcyIpKXt2YXIgYj1hd2FpdCBfLnUueXRBdFA7ZGVsZXRlIF8udS55dEF0UDt2YXIgYz1iPy5SO3ZhciBkPWI/LlQ7Yj1IdGEoYyk7bGV0IGY9ISFkO2Euby5vKGM/Yj9mPzc6MTA6Zj8xOjg6Zj8yOjksYS52KyspO2lmKCFjfHxiKWM9YXdhaXQgYS5SZihjMyhkLG51bGwpKSxjPUpTT04uc3RyaW5naWZ5KGMpO18udS55dEF0UkM/Xy51Lnl0QXRSQyhjKTpfLklwKEVycm9yKCJBZSIpKX1lbHNlIF8udS55dEF0UkM/Xy5yeChhc3luYygpPT57ZD1fLnUueXRBdFQ7ZGVsZXRlIF8udS55dEF0VDtpZihfLnUueXRBdFJDKXthLm8ubygyLGEudisrKTt2YXIgZj1hd2FpdCBhLlJmKGMzKGQsbnVsbCkpO18udS55dEF0UkMmJl8udS55dEF0UkMoSlNPTi5zdHJpbmdpZnkoZikpfWVsc2UgYS5vLm8oNixhLnYrKyl9LF8uc2ooImF0dF9pbml0X2RlbGF5IiwwKSk6KGQ9Xy51Lnl0QXRULGRlbGV0ZSBfLnUueXRBdFQsCmEuby5vKDEsYS52KyspKTtjPWF3YWl0IEZ0YSgpO2MuYmluZElubmVydHViZUNoYWxsZW5nZUZldGNoZXIoZj0+e2Euby5vKDMsYS52KyspO3JldHVybiBhLlJmKGMzKGQsZikpfSk7Yy5yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhmPT57Zj1mLmNoYWxsZW5nZTtpZighZil0aHJvdyBFcnJvcigiQmUiKTtmPXtjaGFsbGVuZ2U6ZixCZjpUMihmKSx2bTplLGJnQ2hhbGxlbmdlOm5ldyBSMn07Zj1Qcm9taXNlLnJlc29sdmUoZik7YS5qPWZ9KTt2YXIgZT1hd2FpdCBmMShWMigpKTtjPWMuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKS5jaGFsbGVuZ2U7aWYoIWMpdGhyb3cgRXJyb3IoIkNlIik7cmV0dXJue2NoYWxsZW5nZTpjLEJmOlQyKGMpLHZtOmUsYmdDaGFsbGVuZ2U6bmV3IFIyfX07CmUzPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPWMzKHZvaWQgMCxXMSgpLmopO3RyeXt2YXIgYz1hd2FpdCBKdGEoYSxiKX1jYXRjaChmKXtyZXR1cm4gXy5JcChFcnJvcigiRGUiKSksZDMoYSw4NjRFNSkse2NoYWxsZW5nZToiIixCZjp7fSx2bTp2b2lkIDAsYmdDaGFsbGVuZ2U6dm9pZCAwfX1iPWMueXo7dmFyIGQ9Yy56ejtkMyhhLFUyKGQpKjFFMyk7YT12b2lkIDA7aWYoImMxYSJpbiBkJiZjLmJnQ2hhbGxlbmdlKXt2YXIgZT1TMihjLmJnQ2hhbGxlbmdlKTt0cnl7YXdhaXQgJDEoVzEoKSxlKX1jYXRjaChmKXtyZXR1cm4gXy5JcChmKSx7Y2hhbGxlbmdlOmIsQmY6ZCx2bTphLGJnQ2hhbGxlbmdlOmV9fXRyeXthPW5ldyBkMih7Y2hhbGxlbmdlOmUsbmc6e21iOiJhR0lmIn19KSxhd2FpdCBhLkNnfWNhdGNoKGYpe18uSXAoZiksYT12b2lkIDB9fXJldHVybntjaGFsbGVuZ2U6YixCZjpkLHZtOmEsYmdDaGFsbGVuZ2U6ZX19OwpKdGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dm9pZCAwLGQ9MDtkPDU7KXtpZihkPjApe2xldCBlPTFFMypNYXRoLnBvdygyLGQtMSkrTWF0aC5yYW5kb20oKSoxRTM7YXdhaXQgbmV3IFByb21pc2UoZj0+e18uWWooKCk9PntmKHZvaWQgMCl9LGUpfSl9dHJ5e2Euby5vKDQsYS52KyspO2xldCBlPWF3YWl0IGEuUmYoYik7cmV0dXJuIEt0YShlKX1jYXRjaChlKXtjPWUsZSBpbnN0YW5jZW9mIEVycm9yJiZfLklwKGUpfWQrK310aHJvdyBjO307ZDM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EYXRlLm5vdygpK2IsZD1hc3luYygpPT57dmFyIGU9Yy1EYXRlLm5vdygpO2U8MUUzP2F3YWl0IEx0YShhKTpfLllqKGQsTWF0aC5taW4oZSw2RTQpKX07ZCgpfTtmMz1hc3luYyBmdW5jdGlvbihhLGIpe1cyKDIpO3RyeXtsZXQgYz1hd2FpdCBhLm5ldHdvcmsuUmYoYik7Yz9jLmNoYWxsZW5nZSYmIWMuYmdDaGFsbGVuZ2U/VzIoMSk6VzIoNCk6VzIoMyk7cmV0dXJuIGN9Y2F0Y2goYyl7VzIoMyl9fTsKS3RhPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCJFZSIpO2lmKCFhLmNoYWxsZW5nZSl0aHJvdyBFcnJvcigiRmUiKTt2YXIgYj1hLmNoYWxsZW5nZSxjPVQyKGIpO2lmKCJjMWEiaW4gYyYmKCFhLmJnQ2hhbGxlbmdlfHwhYS5iZ0NoYWxsZW5nZS5wcm9ncmFtKSl0aHJvdyBFcnJvcigiR2UiKTtyZXR1cm57Li4uYSx5ejpiLHp6OmN9fTtMdGE9YXN5bmMgZnVuY3Rpb24oYSl7dmFyIGI9YXdhaXQgUHJvbWlzZS5yYWNlKFthLmosbnVsbF0pLGM9ZTMoYSk7YS5qPWM7Yj8udm0/LmRpc3Bvc2UoKX07TXRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLllqKCgpPT57YyhiKCkpfSxhKX0pfTtjMz1mdW5jdGlvbihhLGIpe3ZhciBjPXtlbmdhZ2VtZW50VHlwZToiRU5HQUdFTUVOVF9UWVBFX1VOQk9VTkQifTthJiYoYy5lYWNyVG9rZW49YSk7YiYmKGMuaW50ZXJwcmV0ZXJIYXNoPWIpO3JldHVybiBjfTsKSHRhPWZ1bmN0aW9uKGEpe2lmKCFhfHwhXy54KCJyb3NjYXMiKSlyZXR1cm4hMTt0cnl7dmFyIGI9SlNPTi5wYXJzZShhKX1jYXRjaChjKXtyZXR1cm4hMX1hPWIuY2hhbGxlbmdlO2lmKCFhKXJldHVybiExO2I9VDIoYSk7YT1OdW1iZXIoYi5jKXx8dm9pZCAwO2I9VTIoYik7cmV0dXJuISFhJiZEYXRlLm5vdygpPihhK2IpKjFFM307aDM9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPWczLlVOS05PV05fSU5URVJGQUNFO2lmKGIpe2I9bmV3IFJlZ0V4cChiKTtmb3IodmFyIGMgb2YgYSlpZihiLmV4ZWMoYykpcmV0dXJuIGN9dmFyIGQ9W107T2JqZWN0LmVudHJpZXMoZzMpLmZvckVhY2goKFtlLGZdKT0+eyJVTktOT1dOX0lOVEVSRkFDRSIhPT1lJiZkLnB1c2goZil9KTtjPW5ldyBSZWdFeHAoZC5qb2luKCJ8IikpO2Euc29ydCgoZSxmKT0+ZS5sZW5ndGgtZi5sZW5ndGgpO2ZvcihsZXQgZSBvZiBhKWlmKCFjLmV4ZWMoZSkpcmV0dXJuIGU7cmV0dXJuIGFbMF19OwpOdGE9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntFbDpuZXcgaTMoKGMsZCk9PnthPWM7Yj1kfSkscmVzb2x2ZTphLHJlamVjdDpifX07azM9ZnVuY3Rpb24oYSl7cmV0dXJuIGozKGEpP2E6KDAsXy5ibykoYSk/bmV3IGkzKChiLGMpPT57YS50aGVuKGIsYyl9KTpuZXcgaTMoYj0+e2IoYSl9KX07T3RhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgaTMoKGIsYyk9PntjKGEpfSl9O1B0YT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGszKGEoKSl9Y2F0Y2goYil7cmV0dXJuIE90YShiKX19O1F0YT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntsMyhhLGIsYyl9KX07bTM9ZnVuY3Rpb24oYSl7cmV0dXJuIFF0YShhKX07bjM9ZnVuY3Rpb24oYSl7aWYoYS5qPT09ImZ1bGZpbGxlZCIpe3ZhciBiPWEubzthLm89W107YS52PVtdO2Zvcih2YXIgYyBvZiBiKWMoYS5yZXN1bHQpfWVsc2UgaWYoYS5qPT09InJlamVjdGVkIil7Yz1hLnY7YS5vPVtdO2Eudj1bXTtmb3IoYiBvZiBjKWIoYS5lcnJvcil9fTsKbDM9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7RWw6ZCxyZXNvbHZlOmUscmVqZWN0OmZ9PU50YSgpO2Euby5wdXNoKGg9PntpZihiKXRyeXtsZXQgaz1iKGgpO2Uoayl9Y2F0Y2goayl7ZihrKX1lbHNlIGUoaCl9KTthLnYucHVzaChoPT57aWYoYyl0cnl7bGV0IGs9YyhoKTtlKGspfWNhdGNoKGspe2Yoayl9ZWxzZSBmKGgpfSk7bjMoYSk7cmV0dXJuIGR9O1J0YT1mdW5jdGlvbihhLGIpe3JldHVybiBsMyhhLHZvaWQgMCxiKX07bzM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gU3RhKGIuY2FsbChhKSl9O3AzPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbiooKXtyZXR1cm4geWllbGR7RWw6azMoYSl9fSgpfTtTdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIFB0YSgoKT0+cTMoYSxhLm5leHQoKSkpfTtxMz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmRvbmU/azMoYi52YWx1ZSk6UnRhKGwzKGIudmFsdWUuRWwsYz0+cTMoYSxhLm5leHQoYykpKSxjPT5xMyhhLGEudGhyb3coYykpKX07ClR0YT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPV8ueSgpLnJlc29sdmUoXy5JeSk7aWYoYSl7aWYoYT1hd2FpdCBhLlFpKHtzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiR0VUX0RBVEFTWU5DX0lEUyJ9fSkpe2lmKGEuZXJyb3JNZXRhZGF0YSl7Xy5JcChFcnJvcigiSGVgIithLmVycm9yTWV0YWRhdGEuc3RhdHVzKyJgIithLmVycm9yKSk7cmV0dXJufXJldHVybiBhLnRJfV8uSXAoRXJyb3IoIkllIikpfWVsc2UgXy5JcChFcnJvcigiSmUiKSl9OwpyMz1mdW5jdGlvbihhLGIpe2lmKGIuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPWIsdHlwZW9mIGIuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBjPU51bWJlcihiLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxjKjFFMyk7YS5vJiZfLk1qKCJDT05TSVNURU5DWSIsYi5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzLGMsdm9pZCAwLCEwKX19O3MzPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgXy5lbigieXQtY2xpZW50LWxvY2F0aW9uIik6YS5sb2NhbFN0b3JhZ2V9Owp3Mz1mdW5jdGlvbihhLGI9ITEsYz0hMSl7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO2lmKCFkKXJldHVybiBfLkdwKEVycm9yKCJNZSIpKSx7fTtkPV8ucWQoZCk7Xy54KCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGQuY2xpY2tUcmFja2luZztkLmNsaWVudHx8KGQuY2xpZW50PXt9KTt2YXIgZT1kLmNsaWVudDtlLmNsaWVudE5hbWU9PT0iTVdFQiImJmUuY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGUuY2xpZW50Rm9ybUZhY3Rvcj1fLncoIklTX1RBQkxFVCIpPyJMQVJHRV9GT1JNX0ZBQ1RPUiI6IlNNQUxMX0ZPUk1fRkFDVE9SIik7ZS5zY3JlZW5XaWR0aFBvaW50cz13aW5kb3cuaW5uZXJXaWR0aDtlLnNjcmVlbkhlaWdodFBvaW50cz13aW5kb3cuaW5uZXJIZWlnaHQ7ZS5zY3JlZW5QaXhlbERlbnNpdHk9TWF0aC5yb3VuZCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk7ZS5zY3JlZW5EZW5zaXR5RmxvYXQ9CndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO2UudXRjT2Zmc2V0TWludXRlcz0tTWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO18uSHooKTt2YXIgZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO18uQ3ooMTY1KT9mPSJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjpfLkN6KDE3NCk/Zj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiOiFfLngoImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiKSYmd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWUpIikubWF0Y2hlcyYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzJiYoZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyIpO2Y9RHRhKCl8fGY7ZS51c2VySW50ZXJmYWNlVGhlbWU9ZjtfLngoIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSIpJiZfLnUuZG9jdW1lbnQmJgooZS5hcHBsaWNhdGlvblN0YXRlPV8udS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFiKXtpZihmPV8uU2ooKSllLmNvbm5lY3Rpb25UeXBlPWY7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGY9Xy5VaigpKSYmKGQuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPWYpfV8ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGQuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke18udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSoxRTZ9YCk7aWYoXy54KCJ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmUiKSl7dmFyIGg9Xy5qbSgpO2lmKGgpe2Y9aC5jb2xkQ29uZmlnRGF0YTtsZXQgbj1oLmNvbGRIYXNoRGF0YTtoPWguaG90SGFzaERhdGE7ZC5jbGllbnQuY29uZmlnSW5mbz1kLmNsaWVudC5jb25maWdJbmZvfHx7fTtmJiYKKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9Zik7biYmKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPW4pO2gmJihkLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWgpfX1mPWEwKF8udS5sb2NhdGlvbi5ocmVmKTshXy54KCJ3ZWJfcG9wdWxhdGVfaW50ZXJuYWxfZ2VvX2tpbGxzd2l0Y2giKSYmZi5pbnRlcm5hbGNvdW50cnljb2RlJiYoZS5pbnRlcm5hbEdlbz1mLmludGVybmFsY291bnRyeWNvZGUpO2UuY2xpZW50TmFtZT09PSJNV0VCInx8ZS5jbGllbnROYW1lPT09IldFQiI/KGUubWFpbkFwcFdlYkluZm98fChlLm1haW5BcHBXZWJJbmZvPXt9KSxlLm1haW5BcHBXZWJJbmZvLmdyYWZ0VXJsPV8udS5sb2NhdGlvbi5ocmVmLF8ueCgia2V2bGFyX3dvZmZsZSIpJiZ0My5pbnN0YW5jZSYmKGY9dDMuaW5zdGFuY2UsZS5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hZi5qJiZmLm8/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6CiJQV0FfSU5TVEFMTEFCSUxJVFlfU1RBVFVTX1VOS05PV04iKSxlLm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSxlLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmUuY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFfLngoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJihmPV8udygiTElWSU5HX1JPT01fQVBQX1FVQUxJVFkiKSkmJihlLnR2QXBwSW5mbz1PYmplY3QuYXNzaWduKGUudHZBcHBJbmZvfHx7fSx7YXBwUXVhbGl0eTpmfSkpLGY9Xy53KCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoZS50dkFwcEluZm89T2JqZWN0LmFzc2lnbihlLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpmfSkpO2lmKCFfLngoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIGs9CihuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7YnJlYWsgYX1jYXRjaHt9az12b2lkIDB9ayYmKGUudGltZVpvbmU9ayl9KGs9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpKT9lLmV4cGVyaW1lbnRzVG9rZW49azpkZWxldGUgZS5leHBlcmltZW50c1Rva2VuO2U9Xy51aigpO3UzLmluc3RhbmNlfHwodTMuaW5zdGFuY2U9bmV3IHUzKTtrPV8uWngodTMuaW5zdGFuY2Uuaik7ZC5yZXF1ZXN0PXsuLi5kLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6ZSxjb25zaXN0ZW5jeVRva2VuSmFyczprfTshXy54KCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihlPV8udygiSU5ORVJUVUJFX0NPTlRFWFRfUFJFUVVFU1RfQ09OVEVYVCIpKSYmKGQucmVxdWVzdC5leHRlcm5hbFByZXF1ZXN0Q29udGV4dD1lKTtrPV8uSHooKTtlPV8uQ3ooNTgpO2s9ay5nZXQoImdzbWwiLCIiKTtkLnVzZXI9ey4uLmQudXNlcn07ZSYmKGQudXNlci5lbmFibGVTYWZldHlNb2RlPQplKTtrJiYoZC51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO18ueCgid2FybV9vcF9jc25fY2xlYW51cCIpP2MmJihiPV8uaXEoKSkmJihkLmNsaWVudFNjcmVlbk5vbmNlPWIpOiFiJiYoYj1fLmlxKCkpJiYoZC5jbGllbnRTY3JlZW5Ob25jZT1iKTthJiYoZC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmF9KTtpZihhPV8uc2EoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWQucmVtb3RlQ2xpZW50PWE7djMuamMoKS5zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChkKTt0cnl7dmFyIGw9Xy5saigpLG09bC5iaWQ7ZGVsZXRlIGwuYmlkO2QuYWRTaWduYWxzSW5mbz17cGFyYW1zOltdLGJpZDptfTtmb3IobGV0IFtuLHBdb2YgT2JqZWN0LmVudHJpZXMobCkpbD1uLG09cCxkLmFkU2lnbmFsc0luZm8ucGFyYW1zPy5wdXNoKHtrZXk6bCx2YWx1ZTpgJHttfWB9KTtpZihkLmNsaWVudD8uY2xpZW50TmFtZT09PSJUVkhUTUw1Inx8ZC5jbGllbnQ/LmNsaWVudE5hbWU9PT0KIlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IG49Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO24uYWRTaWduYWxzSW5mbyYmKGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkPW4uYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkLGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkU2lnbmFsVHlwZT0iREVWSUNFX0lEX1RZUEVfQ09OTkVDVEVEX1RWX0lGQSIsZC5hZFNpZ25hbHNJbmZvLmxpbWl0QWRUcmFja2luZz1uLmFkU2lnbmFsc0luZm8ubGltaXRBZFRyYWNraW5nLG4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMhPT12b2lkIDAmJihkLmFkU2lnbmFsc0luZm8uYXRUcmFja2luZ01hbmFnZXJBdXRob3JpemF0aW9uU3RhdHVzPW4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMpKX19Y2F0Y2gobil7Xy5HcChuKX1yZXR1cm4gZH07ClV0YT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO3ZhciBjPV8uQihhLF8uenopPy5zaWduYWw7aWYoYyYmYi5IZClyZXR1cm4hIWIuSGRbY107aWYoKGM9Xy5CKGEsXy5BeSk/LnJlcXVlc3QpJiZiLlZnKXJldHVybiEhYi5WZ1tjXTtmb3IobGV0IGQgaW4gYSlpZihiLkZpW2RdKXJldHVybiEwO3JldHVybiExfTsKeDM9ZnVuY3Rpb24oYSl7dmFyIGI9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Xy53KCJFT01fVklTSVRPUl9EQVRBIik/YlsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09Xy53KCJFT01fVklTSVRPUl9EQVRBIik6Xy53KCJWSVNJVE9SX0RBVEEiKSYmKGJbIlgtR29vZy1WaXNpdG9yLUlkIl09Xy53KCJWSVNJVE9SX0RBVEEiKSk7YlsiWC1Zb3V0dWJlLUJvb3RzdHJhcC1Mb2dnZWQtSW4iXT1fLncoIkxPR0dFRF9JTiIsITEpO18udygiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKGJbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1fLncoIkRFQlVHX1NFVFRJTkdTX01FVEFEQVRBIikpO2EhPT0iY29ycyImJigoYT1fLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpJiYoYlsiWC1Zb3V0dWJlLUNsaWVudC1OYW1lIl09YSksKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKGJbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQphKSwoYT1fLncoIkNIUk9NRV9DT05ORUNURURfSEVBREVSIikpJiYoYlsiWC1Zb3V0dWJlLUNocm9tZS1Db25uZWN0ZWQiXT1hKSwoYT1fLncoIkRPTUFJTl9BRE1JTl9TVEFURSIpKSYmKGJbIlgtWW91dHViZS1Eb21haW4tQWRtaW4tU3RhdGUiXT1hKSwoYT12My5qYygpLmdldFhHZW9IZWFkZXI/LigpKSYmKGJbIlgtR2VvIl09YSkpOyhhPV8udygiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoYlsiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1hKTtyZXR1cm4gYn07eTM9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pm5ldyBhfTsKVnRhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHozLmluc3RhbmNlIT09dm9pZCAwKXtpZihkPXozLmluc3RhbmNlLGE9W2EhPT1kLnYsYiE9PWQuU2EsYyE9PWQubywhMSwhMSwhMSwhMV0sYS5zb21lKGU9PmUpKXRocm93IG5ldyBfLlhqKCJJbm5lclR1YmVUcmFuc3BvcnRTZXJ2aWNlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQiLGEpO31lbHNlIHozLmluc3RhbmNlPW5ldyB6MyhhLGIsYyxkKX07Cll0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWAveW91dHViZWkvdjEvJHtoMyhXdGEpfWAsZD17UmQ6e2lkZW50aXR5OkEzfX07aWYoXy54KCJtYXdfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0Iil8fF8ueCgiYWxsX3dlYl9uZXR3b3JrX21hY2hpbmVfcmF3X3JlcXVlc3QiKSl7bGV0IGY9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGYpcmV0dXJuIG0zKFh0YShmLHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6dm9pZCAwLGNvbmZpZzpkLGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbihoPT5oLCgpPT57fSl9dmFyIGU9KCk9Pnt9O2U9dzAodjAoYykpO2IuY29udGV4dHx8KGIuY29udGV4dD13Myh2b2lkIDAsITApKTtyZXR1cm4gbmV3IF8uQmYoYXN5bmMgZj0+e3ZhciBoPVkwKGMpO2g9Xy5maihoKT8ic2FtZS1vcmlnaW4iOiJjb3JzIjtoPWEuby56bj9DMyhkLGgpOmF3YWl0IEQzKGQsaCk7dmFyIGs9WDAoWTAoYykpOwprPXtpbnB1dDprLHdiOlowKGspLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6ZH07ZihFMyhhLGssaCxlKSl9KX07WnRhPWZ1bmN0aW9uKGEsYil7YTp7YT1hLnY7dmFyIGM9Xy5CKGIsXy56eik/LnNpZ25hbDtpZihjJiZhLkhkJiYoYz1hLkhkW2NdKSl7dmFyIGQ9YygpO2JyZWFrIGF9aWYoKGM9Xy5CKGIsXy5BeSk/LnJlcXVlc3QpJiZhLlZnJiYoYz1hLlZnW2NdKSl7ZD1jKCk7YnJlYWsgYX1mb3IoZCBpbiBiKWlmKGEuRmlbZF0mJihiPWEuRmlbZF0pKXtkPWIoKTticmVhayBhfWQ9dm9pZCAwfWlmKGQhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShkKX07QzM9ZnVuY3Rpb24oYSxiKXthPV8uUGooe3Nlc3Npb25JbmRleDphPy5SZD8uc2Vzc2lvbkluZGV4fSk7cmV0dXJuey4uLngzKGIpLC4uLmF9fTsKRDM9YXN5bmMgZnVuY3Rpb24oYSxiKXthPWF3YWl0IF8uS3koXy5Qaih7c2Vzc2lvbkluZGV4OmE/LlJkPy5zZXNzaW9uSW5kZXh9KSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Li4ueDMoYiksLi4uYX0pfTsKRTM9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD0oKT0+e30pe2F3YWl0ICR0YShiKTt2YXIgZT1iLmNvbmZpZz8ucmVxdWVzdEtleTtpZihlJiZhLmouaGFzKGUpKXZhciBmPWEuai5nZXQoZSk7ZWxzZSBmPUpTT04uc3RyaW5naWZ5KGIuaW5uZXJUdWJlUmVxdWVzdCksYi53Yj17Li4uYi53YixoZWFkZXJzOnsuLi4oYi53Yj8uaGVhZGVycz8/e30pLC4uLmN9fSxjPXsuLi5iLndifSxiLndiLm1ldGhvZD09PSJQT1NUIiYmKGM9ey4uLmMsYm9keTpmfSksYi5jb25maWc/LmtuJiZfLkFxKGIuY29uZmlnLmtuKSxmPWEuU2EuZmV0Y2goYi5pbnB1dCxjLGIuY29uZmlnKSxlJiZhLmouc2V0KGUsZik7aWYoKGY9YXdhaXQgZikmJiJlcnJvciJpbiBmJiZmPy5lcnJvcj8uZGV0YWlscyl7Yz1mLmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGMpKGM9aFsiQHR5cGUiXSkmJmF1YS5pbmRleE9mKGMpPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sZj1oKX1lJiZhLmouaGFzKGUpJiZhLmouZGVsZXRlKGUpOwpiLmNvbmZpZz8ucG4mJl8uQXEoYi5jb25maWcucG4pO2J1YShhLGYsYik7Yi5jb25maWc/Lkl6JiZfLkFxKGIuY29uZmlnLkl6KTtkKCk7cmV0dXJuIGZ8fHZvaWQgMH07JHRhPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGE/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe2E9YS5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBiIG9mW10pYXdhaXQgYi5CcihhKX19O2J1YT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmIWI/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZhLkIpZm9yKGxldCBkIG9mIEYzKWEuQltkXSYmYS5CW2RdLmhhbmRsZVJlc3BvbnNlKGIsYyl9O2N1YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG8zKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Xy5LeShfLlBqKHtzZXNzaW9uSW5kZXg6Yj8uUmQ/LnNlc3Npb25JbmRleH0pKTtkPXlpZWxkKnAzKGszKGQpKTtyZXR1cm57Li4ueDMoYyksLi4uZH19KCl9KX07CkczPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09MXx8YT09PTJ9O2R1YT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQsZT1fLkIoYixfLkF5KT8ucmVxdWVzdDtlJiZhLmouVmcmJihkPWEuai5WZ1tlXSk7ZHx8Y3x8KGU9Xy5CKGIsXy56eik/LnNpZ25hbCkmJmEuai5IZCYmKGQ9YS5qLkhkW2VdKTtpZighZCYmKGE9Yz9hLmouYUw6YS5qLkZpKSlmb3IobGV0IGYgaW4gYilpZihhW2ZdKXtkPWFbZl07YnJlYWt9aWYoIWQpe2lmKGMpdGhyb3cgRXJyb3IoIlFlIik7dGhyb3cgRXJyb3IoIlJlIik7fWI9ZCgpO3JldHVybiBrMyhiKX07ZXVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJDT01NQU5EX0lOSVQiLGIpfTtYdGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ydW4oIlJFUVVFU1RfSU5JVCIsYil9O0gzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJQUk9DRVNTX1JFU1BPTlNFIixiLCJSZXNwb25zZU1hY2hpbmUgKENhY2hlKSIpfTsKSTM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnJ1bigiSU5JVCIsYixjIT09dm9pZCAwP2BSZXNwb25zZU1hY2hpbmUgKENodW5rICR7Y30pYDoiUmVzcG9uc2VNYWNoaW5lIil9OwpmdWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKTtfLkp6KGEse2phOkozLFdjOigpPT5uZXcgTWFwfSk7Xy5KeihhLHtqYTpLMyxQYTpLMyxnYjohMH0pO18uSnooYSx7amE6TDMsUGE6TDMsZ2I6ITB9KTtfLkp6KGEse2phOk0zLFBhOk0zLGdiOiEwfSk7Xy5KeihhLHtqYTpOMyxQYTpOMyxnYjohMH0pO18uSnooYSx7amE6TzMsUGE6TzMsZ2I6ITB9KTtfLkp6KGEse2phOlAzLFBhOlAzLGdiOiEwfSk7Xy5KeihhLHtqYTpRMyxQYTpRMyxnYjohMH0pO18uSnooYSx7amE6UjMsUGE6UjMsZ2I6ITB9KTtfLkp6KGEse2phOlMzLFBhOlMzLGdiOiEwfSk7Xy5KeihhLHtqYTpUMyxQYTpUMyxnYjohMH0pO18uSnooYSx7amE6VTMsV2M6KGIsYyxkLGUsZixoLGssbCxtLG4pPT4oe0NPTU1BTkRfSU5JVDpsLFJFUVVFU1RfSU5JVDptLENBQ0hFOmMsTE9DQUxfUk9VVEVSOmssQ09OVEVYVDpkLEFVVEg6YixERURVUEU6ZSxGRVRDSDpoLFJFVFJZOm4sRkFMTEJBQ0s6Zn0pLFtfLkxuXTpbSzMsTDMsCk0zLE4zLE8zLFAzLFEzLFIzLFMzLFQzXSxnYjohMH0pO18uSnooYSx7amE6QjMsV2M6Yj0+KCk9Pm5ldyBWMyhiKSxbXy5Mbl06W1UzXSxnYjohMH0pO18uSnooYSx7amE6VzMsUGE6VzMsZ2I6ITB9KTtfLkp6KGEse2phOlgzLFBhOlgzLGdiOiEwfSk7Xy5KeihhLHtqYTpZMyxQYTpZMyxnYjohMH0pO18uSnooYSx7amE6WjMsUGE6WjMsZ2I6ITB9KTtfLkp6KGEse2phOiQzLFdjOihiLGMsZCxlKT0+KHtJTklUOmUsRVJST1JfVU5QQUNLRVI6YyxQUk9DRVNTX1JFU1BPTlNFOmQsQ0FMTEJBQ0tfRElTUEFUQ0hFUjpifSksW18uTG5dOltXMyxYMyxZMyxaM10sZ2I6ITB9KTtfLkp6KGEse2phOmE0LFdjOmI9PigpPT5uZXcgYjQoYiksW18uTG5dOlskM10sZ2I6ITB9KX07Cmd1YT1mdW5jdGlvbigpe18ucmEoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIsXy5HcCk7S3JhKCk7Xy56byhfLkJvKCkse30pO3dpbmRvdy5vbmVycm9yPUpyYTtfLlVmPW8wO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGE9PntpZihhLnJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKXtsZXQgYj1hLnJlYXNvbjtfLmN3KGIse3NvdXJjZToidW5oYW5kbGVkcmVqZWN0aW9uIn0pO2IubmFtZT09PSJBYm9ydEVycm9yIiYmKGIubGV2ZWw9IldBUk5JTkciKX1vMChhLnJlYXNvbik7YS5wcmV2ZW50RGVmYXVsdCgpfSl9O2M0PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiEhc2VsZi5zZXNzaW9uU3RvcmFnZX1jYXRjaHtyZXR1cm4hMX19O2Q0PWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19OwplND1mdW5jdGlvbihhKXtpZihjNCgpKXt2YXIgYj1PYmplY3Qua2V5cyh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpO2ZvcihsZXQgYyBvZiBiKWI9ZDQoYyksYj09PXZvaWQgMHx8YS5pbmNsdWRlcyhiKXx8c2VsZi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07aHVhPWZ1bmN0aW9uKCl7aWYoIWM0KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LnNlc3Npb25TdG9yYWdlKTtmb3IobGV0IGMgb2YgYilpZihiPWQ0KGMpLGIhPT12b2lkIDAmJmIhPT1hKXJldHVybiEwO3JldHVybiExfTtmND1mdW5jdGlvbigpe1R0YSgpLnRoZW4oYT0+e2EmJihnMChhKSxjMShhKSxhMShhKSxlNChhKSl9KX07Cml1YT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLk9zO18uamYucGIoYXN5bmMoKT0+e2lmKCFfLngoInl0aWRiX2NsZWFyX29wdGltaXphdGlvbnNfa2lsbHN3aXRjaCIpKXt2YXIgYj1fLlZqKCJjbGVhciIpO2lmKGIuc3RhcnRzV2l0aCgiViIpJiZiLmVuZHNXaXRoKCJ8fCIpKXtiPVtiXTtnMChiKTtjMShiKTthMShiKTtlNChiKTtyZXR1cm59Yj1kc2EoKTtsZXQgYz1odWEoKSxkPWF3YWl0IGVzYSgpLGU9YXdhaXQgRXJhKCk7aWYoIShifHxjfHxkfHxlKSlyZXR1cm59YS5TYigpP2Y0KCk6Xy5iZihhLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixmNCl9KX07anVhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57d2luZG93LnNldFRpbWVvdXQoYixhKX0pfTsKWXNhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXtfLlR6KCJhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2giKTtfLkFxKCJhdHRfZnMiLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7aWYoIWEuail0aHJvdyBuZXcgczIoOSwiTWlzc2luZyBmZXRjaGVyIik7dmFyIGQ9YXdhaXQgYS5qKGIsYyk7Yj1kPy5iZ0NoYWxsZW5nZTtpZighYil0aHJvdyBuZXcgczIoMTUsIk1pc3NpbmcgZmllbGQiKTthLm89ZDthLnYuZm9yRWFjaChlPT57ZShkKX0pO2E9UzIoYik7Xy5BcSgiYXR0X2ZjIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO18uU3ooImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBhfTsKaHRhPWFzeW5jIGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW5ldyBCMSgxMDAsM0U1LC4yNSwyKSxkPXZvaWQgMDtjLnY8MTA7KXRyeXtyZXR1cm4gYy52PjAmJmF3YWl0IGp1YShjLmopLGF3YWl0IGt1YShhLGIpfWNhdGNoKGUpe2Q9ZSBpbnN0YW5jZW9mIHMyP2U6bmV3IHMyKDksZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToiVW5rbm93biIpLEMxKGMpfWlmKGQpdGhyb3cgZDt0aHJvdyBuZXcgczIoOSwiVW5rbm93biBlcnJvciIpO307Cmt1YT1mdW5jdGlvbihhLGIpe2I9V3NhKFhzYShuZXcgbHVhLGIpLGEucmVxdWVzdEtleSk7dmFyIGM9bmV3IF8uY3MsZD1hLkQoKTtkLm9wZW4oIlBPU1QiLGEuQik7ZC5zZXRSZXF1ZXN0SGVhZGVyKCJYLUdvb2ctQXBpLUtleSIsIkFJemFTeUR5VDVXMEpoNDlGMzBQcXF0eWZkZjdwRExGS0xKb0FudyIpO2Quc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiIpO2Qub25sb2FkPSgpPT57aWYoXy5xaihkKSl7bGV0IGU9bXVhKGQucmVzcG9uc2VUZXh0KTtjLnJlc29sdmUoZSl9ZWxzZSBjLnJlamVjdChuZXcgczIoUDEoXy5waihkKSksZC5zdGF0dXNUZXh0KSl9O2Qub25lcnJvcj0oKT0+e2MucmVqZWN0KG5ldyBzMihQMShfLnBqKGQpKSxkLnN0YXR1c1RleHQpKX07ZC5zZW5kKGIuc2VyaWFsaXplKCkpO3JldHVybiBjLnByb21pc2V9OwpudWE9ZnVuY3Rpb24oYSl7dmFyIGI9e2JpY2Y6ZD0+e2Euaj1kfSxibGM6KCk9PmEuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKSxiY3I6ZD0+e2Eudi5wdXNoKGQpfX0sYz13aW5kb3c7Yy5udHBldmFzcnM9YjtpZihjLm50cHFmYmVsIT09dm9pZCAwKWZvcihsZXQgZCBvZiBjLm50cHFmYmVsKWQoYik7Yy5udHBxZmJlbD12b2lkIDB9O2c0PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBFcnJvcil7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhLCJXQVJOSU5HIil9fTtpND1mdW5jdGlvbihhLGIpe2E9bmV3IG91YShhLGIpO3B1YShhKTtiPy5DSXx8aDQoYSl9OwpwdWE9ZnVuY3Rpb24oYSl7aWYoIWEudm0pe3ZhciBiPXttYXhBdHRlbXB0czo1LEZyOmEudHRsU2Vjb25kcyoxRTN9O2EuWGcueXRjc2k/LnRpY2s/LigicG90X2lzdCIpO2Eudm09YS5Icyh7b2Q6YS5vZCxuZzp7ZGlzYWJsZTpfLngoImh0bWw1X3dlYl9wb19kaXNhYmxlX3JlbW90ZV9sb2dnaW5nIiksbWI6ImFHSWYiLFN2OnpyYSgpLEt5Ol8ueCgid3BvX2Rpc19sZmRtcyIpPzA6MUUzLElnOmQ9Pnt2YXIgZT1qNC5nZXQoZCk7ZXx8KGU9bmV3IHF1YShkKSxlPW5ldyBUMShlKSxqNC5zZXQoZCxlKSk7cmV0dXJuIGV9fSxMZzpiLHN4OmEuYmdDaGFsbGVuZ2UsRWo6ZzR9KTthLmo9RGF0ZS5ub3coKTtmMihhLnZtLCgpPT57YS5qPURhdGUubm93KCl9KTthLlhnLmJnZXZtYz17cDooKT0+e2Eudm0/LnBhdXNlKCl9LHI6KCk9PnthLnZtPy5yZXN1bWUoKX0sY3I6KCk9PmEudm0/LmNoZWNrRm9yUmVmcmVzaCgpPz9Qcm9taXNlLnJlc29sdmUoKX07a3NhKGEudm0sYXN5bmMoKT0+aDQoYSksClYyKCkpO3ZhciBjPWEudi5iaW5kKGEpO2EueW0mJmEudHRsU2Vjb25kcz4wJiZhLnltLnRoZW4oZD0+e2QubGlzdGVuKCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixjKX0pO2EuR3IoYyl9fTtoND1mdW5jdGlvbihhKXtpZihhLm8pcmV0dXJuIGEubztpZighYS52bSl0aHJvdyBFcnJvcigiVGUiKTthLm89bmV3IHJ1YSh7dm06YS52bSxvZDphLm9kLFFuOiEwLG9uRXJyb3I6ZzQsTGc6YS5Kc30pO3JldHVybiBhLm99O2s0PWZ1bmN0aW9uKGEpe3RyeXtsZXQgYj1KU09OLnBhcnNlKGEpO2lmKGIuYmdDaGFsbGVuZ2UpcmV0dXJuIGJ9Y2F0Y2goYil7fX07CnN1YT1mdW5jdGlvbihhPXdpbmRvdyl7dmFyIGI9e30sYz1hLnl0QXRSO2I/LmtxPy5EcigpO2lmKGMpe2lmKGM9azQoYykpYj8ua3E/LnpnKCJTVUNDRVNTIiksaTQoYyxiKTthLnl0QXRSPXZvaWQgMH1lbHNlIGEueXRBdFJDPWQ9PntpZihkPWs0KGQpKWI/LmtxPy56ZygiU1VDQ0VTUyIpLGk0KGQsYiksYS55dEF0UkM9dm9pZCAwfX07CnR1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7Yz8oYS5TKDIpLEgwKHkwKGMpLCgpPT57d2luZG93LnRyYXlyaWRlP2w0KGEsZCxlKTooYS5TKDMpLEUwKGMpLF8uSXAobmV3IF8uWGooIkJMOlVMQiIsYCR7Y31gKSkpfSxmKSk6Yj8oZj1fLkNkKCJTQ1JJUFQiKSxiIGluc3RhbmNlb2YgXy5qYj9fLm5iKGYsYik6Zi50ZXh0Q29udGVudD1iLGYubm9uY2U9Xy5pYihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChmKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGYpLHdpbmRvdy50cmF5cmlkZT9sNChhLGQsZSk6KGEuUyg0KSxfLklwKG5ldyBfLlhqKCJCTDpVTEJKIikpKSk6Xy5JcChuZXcgXy5YaigiQkw6VUxWIikpfTsKbDQ9ZnVuY3Rpb24oYSxiLGMpe2EuUyg1KTt2YXIgZD0hIWEuaiYmdXVhLmluY2x1ZGVzKF8uUGIoYS5qKXx8IiIpO3RyeXtsZXQgZT1uZXcgZDIoe3Byb2dyYW06YixnbG9iYWxOYW1lOiJ0cmF5cmlkZSIsbmc6e2Rpc2FibGU6IV8ueCgiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyIpfHwhXy54KCJhdHRfc2tpcF9tZXRyaWNzX2Zvcl9jb29raWVsZXNzX2RvbWFpbnNfa3MiKSYmZCxtYjoiYUdJZiJ9fSk7ZS5DZy50aGVuKCgpPT57YS5TKDYpO2MmJmMoYil9KTthLm8oZSl9Y2F0Y2goZSl7YS5TKDcpLGUgaW5zdGFuY2VvZiBFcnJvciYmXy5JcChlKX19O200PWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXQuYWJ1c2UucGxheWVyQXR0TG9hZGVyIik7cmV0dXJuIGEmJlsiYmd2bWEiLCJiZ3ZtYiIsImJndm1jIl0uZXZlcnkoYj0+YiBpbiBhKT9hOm51bGx9Owp2dWE9ZnVuY3Rpb24oKXt2YXIgYT1fLncoIkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UUyIpO2lmKGEpe3ZhciBiPW5yYSgpO2ZvcihsZXQgYyBvZiBhKWIoYykmJl8uRXAoImdlbmVyaWNDbGllbnRFeHBlcmltZW50RXZlbnQiLHtldmVudFR5cGU6Y30pO2RlbGV0ZSBfLlBpLkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UU319O3d1YT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qKXtsZXQgZD1fLlFiKF8uUHkoYiwia2V5IikpfHwiL1VOS05PV05fUEFUSCI7YS5qLnN0YXJ0KGQpfWE9YztfLngoInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCIpJiYoYT1GcmEoYykpO3JldHVybiBuZXcgd2luZG93LlJlcXVlc3QoYixhKX07Cm80PWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihmPy5hYm9ydGVkKXJldHVybiBiLmNhbmNlbCgpLGQ7dmFyIHt2YWx1ZTpoLGRvbmU6a309YXdhaXQgYi5yZWFkKCk7aWYoaylyZXR1cm4gYS5qPy5zdWNjZXNzKCksZDt0cnl7dmFyIGw9Yy5wYXJzZShoKX1jYXRjaChtKXt0aHJvdyBuZXcgbjQoIkZhaWxlZCB0byBwYXJzZSBzdHJlYW1pbmcgcmVzcG9uc2UiLGgpO31pZihsIT1udWxsKWZvcihsZXQgbSBvZiBsKWQucHVzaChtKSxlPy4obSk7cmV0dXJuIG80KGEsYixjLGQsZSxmKX07eHVhPWZ1bmN0aW9uKCl7dmFyIGE9bmF2aWdhdG9yO3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZT8ucXVlcnlVc2FnZUFuZFF1b3RhP2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZS5xdWVyeVVzYWdlQW5kUXVvdGEoKGQsZSk9PntiKHt1c2FnZTpkLHF1b3RhOmV9KX0sZD0+e2MoZCl9KTpjKEVycm9yKCJWZSIpKX0pfTsKeXVhPWZ1bmN0aW9uKGEsYil7cDQuamMoKS5lc3RpbWF0ZSgpLnRoZW4oYz0+e2EuaigiaWRiUXVvdGFFeGNlZWRlZCIsey4uLmIsaXNTdzpzZWxmLmRvY3VtZW50PT09dm9pZCAwLGlzSWZyYW1lOnNlbGYhPT1zZWxmLnRvcCxkZXZpY2VTdG9yYWdlVXNhZ2VNYnl0ZXM6cTQoYz8udXNhZ2UpLGRldmljZVN0b3JhZ2VRdW90YU1ieXRlczpxNChjPy5xdW90YSl9KX0pfTtxND1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0idW5kZWZpbmVkIj8iLTEiOlN0cmluZyhNYXRoLmNlaWwoYS8xMDQ4NTc2KSl9Owp6dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17ZXJyb3JTZXZlcml0eTpiLmZoLnRvU3RyaW5nKCksd2l6RmVhdHVyZUZsYWdzOk9iamVjdC5lbnRyaWVzKGIuQWwpLmpvaW4oIlxuIil9O2I9Yi5maDtiPT09Mz9fLkdwKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTpiPT09MiYmXy5HcChhLCJXQVJOSU5HIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTtfLngoImNvd19pZl9lcnJvcnNfaW5fcG9wdXAiKSYmYj09PTMmJmEubWVzc2FnZS5pbmRleE9mKCI8SWY+IikhPT0tMSYmd2luZG93LmFsZXJ0KGEubWVzc2FnZSl9OwpBdWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW51bGw7YyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P2Q9YzohXy54KCJsb2dnaW5nX25lc3RlZF9jb21wb25lbnRfa3MiKSYmQXJyYXkuaXNBcnJheShjKSYmYy5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KGNbMF0pJiZjWzBdLmxlbmd0aD09PTEmJmNbMF1bMF1pbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoZD1jWzBdWzBdKTthLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZkJiZiJiYhXy54KCJjb3dfbG9nZ2luZ19pbl9jb21wb25lbnRfd3JhcHBlciIpJiZfLnV5KGQsYiwhMCl9O0J1YT1mdW5jdGlvbigpe18ueCgiY293X2xvZ2dpbmdfaW5fY29tcG9uZW50X3dyYXBwZXIiKT8oXy5Ddj0oYSxiKT0+e2IgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmXy51eShiLGEsITApfSxfLnZ2PSgpPT57fSk6KF8uQ3Y9KCk9Pnt9LF8udnY9QXVhKX07CkR1YT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpO18uSnooYSx7amE6cjQsUGE6czR9KTtfLkp6KGEse2phOnQ0LFBhOl8ubm19KTt2YXIgYj12My5qYygpLGM9YS5yZXNvbHZlKHQ0KSxkPWEucmVzb2x2ZShyNCksZT17fTtiJiYoZS5jbGllbnRfbG9jYXRpb249Yik7Xy5KeihhLHtqYTp1NCxNYjpDdWF9KTtfLkp6KGEse2phOl8uSnksTWI6ZX0pO18ueCgibWF3X2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmZnVhKCk7VnRhKGEucmVzb2x2ZSh1NCksZCxjLGEucmVzb2x2ZShfLkp5KSk7Xy5KeihhLHtqYTpfLkl5LE1iOnozLmluc3RhbmNlfSl9O0d1YT1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPW51bGwpe2I9bmV3IEV1YShhLGIsYyxkLGUpO0Z1YS5zZXQoYSxiKX07CnY0PWZ1bmN0aW9uKGEpe2lmKCFhLm9uUmVhZHlQYXRjaEFwcGxpZWQpe3ZhciBiPWEuYWRkRXZlbnRMaXN0ZW5lcjthLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PntjPT09Im9uUmVhZHkiP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntkKGEpfSk6Yi5jYWxsKGEsYyxkKX07YS5vblJlYWR5UGF0Y2hBcHBsaWVkPSEwfX07SnVhPWZ1bmN0aW9uKGEpe2lmKF8uc2EoInl0LnBsYXllci5BcHBsaWNhdGlvbi5jcmVhdGUiKSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dzQoYSl9KTtlbHNle0h1YShfLmh3KGEud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmwpLCgpPT57dzQoYSl9LCgpPT57YS5pYSgpfHxhLkVqKCl9KTtsZXQgYj1hLndlYlBsYXllckNvbnRleHRDb25maWcudHJ1c3RlZENzc1VybDtiJiZJdWEoXy5odyhiKSl9fTsKdzQ9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7dmFyIGI9Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3RyeXthLmFwaT1iKGEuY29udGFpbmVyLHthcmdzOmEucGxheWVyVmFyc30sYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnLHZvaWQgMCkuZ2V0SW50ZXJuYWxBcGkoKSx2NChhLmFwaSksYS5hcGkuaXNSZWFkeT0oKT0+ITAsYS5qKGEuYXBpKX1jYXRjaChjKXt0aHJvdyBhLkVqKCksYzt9fX07SXVhPWZ1bmN0aW9uKGEpe3ZhciBiPWB5dHAtJHthLnRvU3RyaW5nKCl9YDtpZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYikpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmlkPWI7Xy5xYihjLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYyl9fTsKSHVhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1geXRwLSR7YS50b1N0cmluZygpfWAsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKTtpZihlKWUuZGF0YXNldC5mYWlsZWQ/YygpOmUuZGF0YXNldC5sb2FkZWQ/YigpOihlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2MoKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9PntiKCl9KSk7ZWxzZXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtmLmlkPWQ7Zi5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntmLmRhdGFzZXQuZmFpbGVkPSJ0cnVlIjtjKCl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Zi5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7YigpfSk7Xy5vYihmLGEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShmLGEuZmlyc3RDaGlsZCl9fTsKS3VhPWZ1bmN0aW9uKGEpe18udygiRU5BQkxFX1dFQlZJRVdfQVBJIikmJndpbmRvdy55dHdlYnZpZXdwbGF5ZXImJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+e3RyeXtsZXQgZD1KU09OLnBhcnNlKGIuZGF0YSksZT1kLm1ldGhvZE5hbWUsZj1kLmFyZ3N8fFtdO2E6e2ZvcihsZXQgaCBvZiBmKWlmKFN0cmluZyhoKS5pbmNsdWRlcygiamF2YXNjcmlwdDoiKSl7dmFyIGM9ITA7YnJlYWsgYX1jPSExfWlmKGMpdGhyb3cgRXJyb3IoIldlYCIrZSsiYCIrZik7aWYoZSYmdHlwZW9mIGFbZV09PT0iZnVuY3Rpb24iKWFbZV0oLi4uZik7ZWxzZSB0aHJvdyBFcnJvcigiWGVgIitlKTt9Y2F0Y2goZCl7Xy5HcChkKX19KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25QbGF5ZXJSZWFkeSJ9KSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApiPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25TdGF0ZUNoYW5nZSIsc3RhdGU6Yn0pKX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYj0+e3dpbmRvdy55dHdlYnZpZXdwbGF5ZXIucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6Im9uRXJyb3IiLGVycm9yQ29kZTpifSkpfSkpfTt4ND1mdW5jdGlvbihhKXtyZXR1cm4oYS5zZWFyY2goImN1ZSIpPT09MHx8YS5zZWFyY2goImxvYWQiKT09PTApJiZhIT09ImxvYWRNb2R1bGUifTsKeTQ9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJue3ZpZGVvSWQ6YSxzdGFydFNlY29uZHM6YixzdWdnZXN0ZWRRdWFsaXR5OmN9O2I9e307Zm9yKGxldCBlIG9mIEx1YSlhW2VdJiYoYltlXT1hW2VdKTtpZihhPWEuZW1iZWRDb25maWd8fGEuZW1iZWRfY29uZmlnKXthOmlmKHR5cGVvZiBhPT09InN0cmluZyIpdmFyIGQ9YTtlbHNle2lmKF8uQWEoYSkpdHJ5e2Q9SlNPTi5zdHJpbmdpZnkoYSk7YnJlYWsgYX1jYXRjaChlKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLGUpfWQ9dm9pZCAwfWIuZW1iZWRfY29uZmlnPWR9cmV0dXJuIGJ9Owp6ND1mdW5jdGlvbihhLGIsYyxkKXtpZihfLkFhKGEpJiYhQXJyYXkuaXNBcnJheShhKSl7Yj0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtjPXt9O2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe2xldCBlPWJbZF07YVtlXSYmKGNbZV09YVtlXSl9cmV0dXJuIGN9Yj17aW5kZXg6YixzdGFydFNlY29uZHM6YyxzdWdnZXN0ZWRRdWFsaXR5OmR9O3R5cGVvZiBhPT09InN0cmluZyImJmEubGVuZ3RoPT09MTY/Yi5saXN0PSJQTCIrYTpiLnBsYXlsaXN0PWE7cmV0dXJuIGJ9O0E0PWZ1bmN0aW9uKGEsYixjKXthLkIucHVzaCh7ZXZlbnRUeXBlOmIsbGlzdGVuZXI6Y30pO2EuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixjKX07CkQ0PWZ1bmN0aW9uKGEpe2lmKGEuailpZihhLnYpYS5zZW5kTWVzc2FnZSgiYWxyZWFkeUluaXRpYWxpemVkIik7ZWxzZSBpZihhLk0pe2Eudj0hMDthLk09ITE7YS5zZW5kTWVzc2FnZSgiaW5pdGlhbERlbGl2ZXJ5IixCNChhKSk7YS5zZW5kTWVzc2FnZSgib25SZWFkeSIpO18uQXEoImVwX2luaXRfYXIiKTtmb3IobGV0IGIgb2YgYS5VKUM0KGEsYik7YS5VPVtdfX07QzQ9ZnVuY3Rpb24oYSxiLGM9YS5qKXtpZihjKXtiLmNoYW5uZWw9IndpZGdldCI7YS5zZXNzaW9uSWQmJihiLmlkPWEuc2Vzc2lvbklkKTt0cnl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkoYik7Yy5wb3N0TWVzc2FnZShkLGEudGFyZ2V0T3JpZ2luKX1jYXRjaChkKXtfLklwKGQpfX19OwpCND1mdW5jdGlvbihhKXtpZighYS5hcGkpcmV0dXJuIG51bGw7dmFyIGI9YS5hcGkuZ2V0QXBpSW50ZXJmYWNlKCk7Xy54YihiLCJnZXRWaWRlb0RhdGEiKTt2YXIgYz17YXBpSW50ZXJmYWNlOmJ9O2ZvcihsZXQgZT0wLGY9Yi5sZW5ndGg7ZTxmO2UrKyl7bGV0IGg9YltlXTtpZihoLnNlYXJjaCgiZ2V0Iik9PT0wfHxoLnNlYXJjaCgiaXMiKT09PTApe3ZhciBkPTA7aC5zZWFyY2goImdldCIpPT09MD9kPTM6aC5zZWFyY2goImlzIik9PT0wJiYoZD0yKTtkPWguY2hhckF0KGQpLnRvTG93ZXJDYXNlKCkraC5zdWJzdHJpbmcoZCsxKTt0cnl7bGV0IGs9YS5hcGlbaF0oKTtjW2RdPWt9Y2F0Y2goayl7fX19Yy52aWRlb0RhdGE9YS5hcGkuZ2V0VmlkZW9EYXRhKCk7Yy5jdXJyZW50VGltZUxhc3RVcGRhdGVkXz1EYXRlLm5vdygpLzFFMztyZXR1cm4gY307RTQ9ZnVuY3Rpb24oYSxiKXthLnNlbmRNZXNzYWdlKCJpbmZvRGVsaXZlcnkiLGIpfTsKTXVhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2I9PT0ib25FcnJvciI/YS5hcGkubG9nQXBpQ2FsbChgJHtifSBpbnZvY2F0aW9uYCxjLGQpOmEuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk7YS5zZW5kTWVzc2FnZShiLGQpfX07RjQ9ZnVuY3Rpb24oYSxiLGMpe2EuaWEoKXx8KGI9e2lkOmEuaWQsY29tbWFuZDpifSxjJiYoYi5kYXRhPWMpLE51YS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShiKSxhLm9yaWdpbikpfTtPdWE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSAib25SZWFkeSI6cmV0dXJuO2Nhc2UgIm9uU3RhdGVDaGFuZ2UiOnJldHVybntwbGF5ZXJTdGF0ZTpifTtjYXNlICJvblBsYXliYWNrUXVhbGl0eUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUXVhbGl0eTpifTtjYXNlICJvblBsYXliYWNrUmF0ZUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJvbkVycm9yIjpyZXR1cm57ZXJyb3JDb2RlOmJ9fWlmKGIhPW51bGwpcmV0dXJue3ZhbHVlOmJ9fTsKUHVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgImxvYWRWaWRlb0J5SWQiOnJldHVyblt5NChiKV07Y2FzZSAiY3VlVmlkZW9CeUlkIjpyZXR1cm5beTQoYildO2Nhc2UgImxvYWRWaWRlb0J5UGxheWVyVmFycyI6cmV0dXJuW2JdO2Nhc2UgImN1ZVZpZGVvQnlQbGF5ZXJWYXJzIjpyZXR1cm5bYl07Y2FzZSAibG9hZFBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgImN1ZVBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgInNlZWtUbyI6cmV0dXJuW2Iuc2Vjb25kcyxiLmFsbG93U2Vla0FoZWFkXTtjYXNlICJwbGF5VmlkZW9BdCI6cmV0dXJuW2IuaW5kZXhdO2Nhc2UgInNldFZvbHVtZSI6cmV0dXJuW2Iudm9sdW1lXTtjYXNlICJzZXRQbGF5YmFja1F1YWxpdHkiOnJldHVybltiLnN1Z2dlc3RlZFF1YWxpdHldO2Nhc2UgInNldFBsYXliYWNrUmF0ZSI6cmV0dXJuW2Iuc3VnZ2VzdGVkUmF0ZV07Y2FzZSAic2V0TG9vcCI6cmV0dXJuW2IubG9vcFBsYXlsaXN0c107Y2FzZSAic2V0U2h1ZmZsZSI6cmV0dXJuW2Iuc2h1ZmZsZVBsYXlsaXN0XTsKY2FzZSAiZ2V0T3B0aW9ucyI6cmV0dXJuW2IubW9kdWxlXTtjYXNlICJnZXRPcHRpb24iOnJldHVybltiLm1vZHVsZSxiLm9wdGlvbl07Y2FzZSAic2V0T3B0aW9uIjpyZXR1cm5bYi5tb2R1bGUsYi5vcHRpb24sYi52YWx1ZV07Y2FzZSAiaGFuZGxlR2xvYmFsS2V5RG93biI6cmV0dXJuW2Iua2V5Q29kZSxiLnNoaWZ0S2V5LGIuY3RybEtleSxiLmFsdEtleSxiLm1ldGFLZXksYi5rZXksYi5jb2RlXX1yZXR1cm5bXX07ClF1YT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJpc011dGVkIjpyZXR1cm57bXV0ZWQ6Yn07Y2FzZSAiZ2V0Vm9sdW1lIjpyZXR1cm57dm9sdW1lOmJ9O2Nhc2UgImdldFBsYXliYWNrUmF0ZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJnZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzIjpyZXR1cm57YXZhaWxhYmxlUGxheWJhY2tSYXRlczpifTtjYXNlICJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIjpyZXR1cm57dmlkZW9Mb2FkZWRGcmFjdGlvbjpifTtjYXNlICJnZXRQbGF5ZXJTdGF0ZSI6cmV0dXJue3BsYXllclN0YXRlOmJ9O2Nhc2UgImdldEN1cnJlbnRUaW1lIjpyZXR1cm57Y3VycmVudFRpbWU6Yn07Y2FzZSAiZ2V0UGxheWJhY2tRdWFsaXR5IjpyZXR1cm57cGxheWJhY2tRdWFsaXR5OmJ9O2Nhc2UgImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiOnJldHVybnthdmFpbGFibGVRdWFsaXR5TGV2ZWxzOmJ9O2Nhc2UgImdldER1cmF0aW9uIjpyZXR1cm57ZHVyYXRpb246Yn07CmNhc2UgImdldFZpZGVvVXJsIjpyZXR1cm57dmlkZW9Vcmw6Yn07Y2FzZSAiZ2V0VmlkZW9FbWJlZENvZGUiOnJldHVybnt2aWRlb0VtYmVkQ29kZTpifTtjYXNlICJnZXRQbGF5bGlzdCI6cmV0dXJue3BsYXlsaXN0OmJ9O2Nhc2UgImdldFBsYXlsaXN0SW5kZXgiOnJldHVybntwbGF5bGlzdEluZGV4OmJ9O2Nhc2UgImdldE9wdGlvbnMiOnJldHVybntvcHRpb25zOmJ9O2Nhc2UgImdldE9wdGlvbiI6cmV0dXJue29wdGlvbjpifX19O1J1YT1mdW5jdGlvbigpe3JldHVybiBHNC5pc0luaXRpYWxpemVkKCl9O1N1YT1mdW5jdGlvbihhPXt9KXtyZXR1cm4gRzQuaW52b2tlKGEpfTtUdWE9ZnVuY3Rpb24oKXtpZihfLncoIkVOQUJMRV9KU19BUEkiKSl7dmFyIGE9Yj0+e0g0PWI7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEpfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYSl9fTsKVXVhPWZ1bmN0aW9uKCl7Xy5BcSgiZXBfaW5pdF93ZXMiKTt2YXIgYT1fLncoIlBMQVlFUl9DT05GSUciKTtpZighYSl7dmFyIGI9Xy53KCJQTEFZRVJfVkFSUyIpO2ImJihhPXthcmdzOmJ9KX1RMighMCk7YS5hcmdzLnBzPT09Imd2biImJihkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmRDb2xvcj0idHJhbnNwYXJlbnQiKTthLmF0dHJzfHwoYS5hdHRycz17d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsaWQ6InZpZGVvLXBsYXllciJ9KTtiPWRvY3VtZW50LnJlZmVycmVyO3dpbmRvdyE9PXdpbmRvdy50b3AmJmImJmIhPT1kb2N1bWVudC5VUkwmJihhLmFyZ3MubG9hZGVyVXJsPWIpO2I9Xy53KCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyIpPy5XRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUjtpZighYi5zZXJpYWxpemVkRm9yY2VkRXhwZXJpbWVudElkcyl7bGV0IGM9YTAod2luZG93LmxvY2F0aW9uLmhyZWYpO2MuZm9yY2VkX2V4cGVyaW1lbnRzJiYKKGIuc2VyaWFsaXplZEZvcmNlZEV4cGVyaW1lbnRJZHM9Yy5mb3JjZWRfZXhwZXJpbWVudHMpfWEuYXJncz8uYXV0b3BsYXk/dDAoIndhdGNoIixbInBicyIsInBidSIsInBicCJdKTphLmFyZ3MmJnd0YShhLmFyZ3MpP3QwKCJ2aWRlb19wcmV2aWV3IixbIm9sIl0pOnQwKCJlbWJlZF9ub192aWRlbyIsWyJlcF9pbml0X2FyIl0pO18ueCgiZW1iZWRzX3VzZV9wbGF5ZXJfaW5zdGFuY2VzX2xpYnJhcnkiKXx8Xy53KCJFTkFCTEVfV0VCVklFV19BUEkiKT8oR3VhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKSxiLGM9PntfLncoIkVOQUJMRV9XRUJWSUVXX0FQSSIpPyhjPWMuZ2V0VHJ1c3RlZEFwaSgpLHY0KGMpLEt1YShjKSk6KEk0KGMpLEo0KGMpKX0sKCk9Pnt0aHJvdyBFcnJvcigiWWUiKTt9LGEuYXJncyksXy53KCJFTkFCTEVfV0VCVklFV19BUEkiKXx8SzQoKSxfLkFxKCJlcF9pbml0X3dlZSIpKTooYT1jc2EoYSxiKSxJNChhKSxLNCgpLF8uQXEoImVwX2luaXRfd2VlIiksCko0KGEpKX07STQ9ZnVuY3Rpb24oYSl7TDQ9YTtMNC5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpO0w0LmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLFZ1YSk7YT1fLncoIlBPU1RfTUVTU0FHRV9JRCIsInBsYXllciIpO3ZhciBiPV8udygiUE9TVF9NRVNTQUdFX09SSUdJTiIpO18udygiRU5BQkxFX0pTX0FQSSIpP040PW5ldyBXdWE6Xy53KCJFTkFCTEVfUE9TVF9BUEkiKSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmdHlwZW9mIGI9PT0ic3RyaW5nIiYmKE40PW5ldyBYdWEoYSxiKSk7SDQ9dm9pZCAwfTsKSzQ9ZnVuY3Rpb24oKXtHdGEoKTtfLngoInl0aWRiX2NyZWF0ZV9sb2dnZXJfZW1iZWRfa2lsbHN3aXRjaCIpfHxCcmEoKTtPNC5qfHwoTzQuaj1uZXcgTzQpO080LmouaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6KCk9PntfLmJwKCl9fX0pO18uSWx8fEdyYSgpO0R1YSgpO18uamYucGIoKCk9PntfLnkoKS5yZXNvbHZlKF8uSXkpO2l1YSgpfSk7c2V0VGltZW91dCgoKT0+e18ueCgiYXR0bXVzaSIpJiZzdWEod2luZG93KTt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5JeSkpO2lmKGEpe2E9bmV3IFl1YShhKTt2YXIgYj17cHJlbG9hZDohXy54KCJlbmFibGVfcnRhX25waSIpLHpzOl8ueCgiYXR0bXVzaSIpfTtiPU9iamVjdC5hc3NpZ24oe3ByZWxvYWQ6ITB9LGIpO2xldCBkPWIuQUk/dm9pZCAwOm5ldyBfLk9zO1A0Lmluc3RhbmNlPW5ldyBQNChhLGIsZCk7YT1QNC5pbnN0YW5jZTtpZigoXy54KCJhdHRtdXNpIil8fF8ueCgiYXR0bXVzaXciKSkmJl8ueCgiYXR0bXVzaV91ZSIpKXthPQp7czphLkIuYmluZChhKSxpcjphLkQuYmluZChhKX07Yj13aW5kb3c7Yi5hdHRtcD1hO2lmKGIuYXR0bXEhPT12b2lkIDApZm9yKHZhciBjIG9mIGIuYXR0bXEpYyhhKTtiLmF0dG1xPXZvaWQgMH1lbHNlIGM9YS5CLmJpbmQoYSksXy5yYSgieXQuYWJhLmF0dCIsYyksYz1hLkQuYmluZChhKSxfLnJhKCJ5dC5hYmEuYXR0MiIsYyl9fSxfLnNqKCJhdHRfaW5pdF9kZWxheSIsMjAwKSk7Xy5ZaigoKT0+e2lmKF8ueCgiZW5hYmxlX3p3X3BpbmciKSl7dmFyIGE9Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiLCJVTktOT1dOX0lOVEVSRkFDRSIpLGI9Ii9lc3RhYmxpc2hfenciO2lmKGE9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiIpYj0iL2VtYmVkL2VzdGFibGlzaF96dyI7ZWxzZSBpZihhPT09IlRWSFRNTDUifHxhPT09IlRWSFRNTDVfU0lNUExZIiliPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS90di9lc3RhYmxpc2hfenciO18udygiQ09PS0lFTEVTUyIsITEpJiZhPT09IldFQl9FTUJFRERFRF9QTEFZRVIiPwooYT1uZXcgSGVhZGVycyxhLnNldCgiWC1Hb29nLVZpc2l0b3ItSWQiLF8udygiVklTSVRPUl9EQVRBIikpLGZldGNoKGIse21ldGhvZDoiR0VUIixtb2RlOiJuby1jb3JzIixoZWFkZXJzOmF9KSk6ZmV0Y2goYix7bWV0aG9kOiJHRVQiLG1vZGU6Im5vLWNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfX0pfTtadWE9ZnVuY3Rpb24oKXtRNCgpfTskdWE9ZnVuY3Rpb24oYSl7YS5wZXJzaXN0ZWR8fFE0KCl9OwpRND1mdW5jdGlvbigpe1NyYSgpO3ZhciBhPV8uSHooKSxiPV8uQ3ooMTE5KSxjPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjE7ZG9jdW1lbnQuYm9keSYmXy5SdChkb2N1bWVudC5ib2R5LCJleHAtaW52ZXJ0LWxvZ28iKSYmKGMmJiFfLlJ0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKT9fLlN0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKTohYyYmXy5SdChkb2N1bWVudC5ib2R5LCJpbnZlcnRlZC1oZHBpIikmJl8uVHQoZG9jdW1lbnQuYm9keSwiaW52ZXJ0ZWQtaGRwaSIpKTtiIT1jJiYoXy5EeigxMTksYyksYS5zYXZlKCkpfTtNND1mdW5jdGlvbigpe1I0KCl9O1Z1YT1mdW5jdGlvbigpe18uQXEoImVwX2luaXRfcHIiKTtSNCgpfTtSND1mdW5jdGlvbigpe3ZhciBhPUw0LmdldFZpZGVvRGF0YSgxKTthPWEudGl0bGU/YS50aXRsZSsiIC0gWW91VHViZSI6IllvdVR1YmUiO2RvY3VtZW50LnRpdGxlIT09YSYmKGRvY3VtZW50LnRpdGxlPWEpfTsKUzQ9ZnVuY3Rpb24oKXtMNCYmTDQuc2VuZEFiYW5kb25tZW50UGluZyYmTDQuc2VuZEFiYW5kb25tZW50UGluZygpO18udygiUExfQVRUIikmJkc0LmRpc3Bvc2UoKTtfLk10KCQyKTskMi5sZW5ndGg9MDtFMChaMi50b1N0cmluZygpKTtZMj0hMTtfLlFpKCJEQ0xLU1RBVCIsMCk7Xy4kZChONCk7TDQmJihMNC5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpLEw0LmRlc3Ryb3koKSxMND1udWxsKX07YXZhPWZ1bmN0aW9uKGEpe18ueCgiZW1iZWRzX3dlYl9lbmFibGVfZGlzcG9zZV9wbGF5ZXJfaWZfcGFnZV9ub3RfY2FjaGVkX2tpbGxzd2l0Y2giKT9TNCgpOmEucGVyc2lzdGVkfHxTNCgpfTsKYnZhPWZ1bmN0aW9uKCl7VDR8fChfLmR3KHtKaShhKXthLnByb3BzLmRhdGEmJihhLmVsLmRhdGE9YS5wcm9wcy5kYXRhKX0sS2koYSxiLGMpe2EuZWw/Yi5kYXRhIT09Yy5kYXRhJiYoYS5lbC5kYXRhPWMuZGF0YSk6Xy5JcChuZXcgXy5YaigiSURPTSBjb21wb25lbnQgZWwgaXMgbnVsbCIsYS5qPy5aYykpfX0pLFQ0PSEwKX07Y3ZhPXtFSzohMH07ZHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPVU0O3RoaXMuaj0xNzUyMzczNzU7dGhpcy5jdG9yPWE7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5vPV8uTng7dGhpcy5kZWZhdWx0VmFsdWU9dm9pZCAwO3RoaXMudj1iLm1lc3NhZ2VJZCE9bnVsbD9fLnd6OnZvaWQgMH1yZWdpc3Rlcigpe18ucGModGhpcyl9fTsKZHJhPXt0b1N0cmluZzpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7YS09LTIxNDc0ODM2NDg7YltjKytdPSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIi5jaGFyQXQoYSU1Mik7Zm9yKGE9TWF0aC5mbG9vcihhLzUyKTthPjA7KWJbYysrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkiLmNoYXJBdChhJTYyKSxhPU1hdGguZmxvb3IoYS82Mik7cmV0dXJuIGIuam9pbigiIil9fTtBMz17aWRlbnRpdHlUeXBlOiJVTkFVVEhFTlRJQ0FURURfSURFTlRJVFlfVFlQRV9VTktOT1dOIn07SVo9MDtKWj0wO05aPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmJ1ZmZlcj1hO2lmKGMmJiFiKXRocm93IEVycm9yKCk7fX07T1o9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YT4+PjA7dGhpcy5qPWI+Pj4wfX07ClRaPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPWE+Pj4wO3RoaXMuaj1iPj4+MH19O2xfPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O0VfPV8ueWMoKTtvcmE9L14tPyhbMS05XVswLTldKnwwKShcLlswLTldKyk/JC87VjQ9Xy5seihPXyxfLkpyKTtldmE9Xy5seihPXyxfLkpyKTtXND1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPXFfKGIpO2IhPW51bGwmJihfLlp5KGEsYyw1KSxhPWEuaixjPU5ffHwoTl89bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLGMuc2V0RmxvYXQzMigwLCtiLCEwKSxKWj0wLElaPWMuZ2V0VWludDMyKDAsITApLGVfKGEsSVopKX0sXy5Jcik7WDQ9Xy5seihQXyxfLkZyKTtmdmE9Xy5seihQXyxfLkZyKTsKWTQ9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1BXyhiKTtpZihiIT1udWxsJiYoZ18oYiksYiE9bnVsbCkpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLE9aLFFaKTtkXyhhLmosYy5vLGMuaik7YnJlYWs7ZGVmYXVsdDpjPVNaKGIpLGRfKGEuaixjLm8sYy5qKX19LF8uR3IpO1o0PV8ubHooUV8sXy5Dcik7Z3ZhPV8ubHooUV8sXy5Dcik7Cmh2YT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPUFfKGIpO2lmKGIhPW51bGwpc3dpdGNoKGhfKGIpLF8uWnkoYSxjLDEpLGE9YS5qLGhfKGIpLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmI8MD8oYj1QWihRWigtYikpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpKTooS1ooYiksZV8oYSxJWiksZV8oYSxKWikpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yj1iPEJpZ0ludCgwKT9QWihjXygtYixPWixRWikpOmNfKGIsT1osUVopO2M9Yi5qO2VfKGEsYi5vKTtlXyhhLGMpO2JyZWFrO2RlZmF1bHQ6Yj1iLmxlbmd0aCYmYlswXT09PSItIj9QWihTWihiLnN1YnN0cmluZygxKSkpOlNaKGIpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpfX0sXy5Icik7aXZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2lfKGEsYyxBXyhiKSl9LF8uSHIpO2p2YT1NXyhmdW5jdGlvbihhLGIsYyl7Yj1MXyhBXyxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWlfKGEsYyxiW2RdKX0sXy5Icik7Cmt2YT1fLmx6KF8ubXosXy5Bcik7JDQ9Xy5seihSXyxfLkJyKTtsdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5YdCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLEhaKGYpKX19LF8uQnIpO212YT1fLmx6KFJfLF8uQnIpO2E1PW5ldyBfLmd6KF8ubnosXy56cik7bnZhPU1fKGZ1bmN0aW9uKGEsYixjKXtiPUxfKHJyYSxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLGZyYShmKS5idWZmZXIpfX0sXy5Lcik7YjU9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1zXyhiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksXy5YeShhLmosYikpfSxfLkRyKTtjNT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtqXyhhLGMsXy5zeChiKSl9LF8uTHIpOwpvdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5zeCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWpfKGEsYyxiW2RdKX0sXy5Mcik7cHZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiYoXy5aeShhLGMsNSksYT1hLmosYS5qLnB1c2goYj4+PjAmMjU1KSxhLmoucHVzaChiPj4+OCYyNTUpLGEuai5wdXNoKGI+Pj4xNiYyNTUpLGEuai5wdXNoKGI+Pj4yNCYyNTUpKX0sXy5Fcik7Xy5nPV8uZVYucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5lVih0aGlzLngsdGhpcy55KX07Xy5nLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uZVYmJih0aGlzPT1hPyEwOnRoaXMmJmE/dGhpcy54PT1hLngmJnRoaXMueT09YS55OiExKX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uZy50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgXy5lVj8odGhpcy54Kz1hLngsdGhpcy55Kz1hLnkpOih0aGlzLngrPU51bWJlcihhKSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy55Kz1iKSk7cmV0dXJuIHRoaXN9O18uZy5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMueCo9YTt0aGlzLnkqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTsKdmFyIHF2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxydmE9e3N0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjoxLHN0b3BQcm9wYWdhdGlvbjoxLHByZXZlbnRNb3VzZUV2ZW50OjEscHJldmVudE1hbmlwdWxhdGlvbjoxLHByZXZlbnREZWZhdWx0OjEsbGF5ZXJYOjEsbGF5ZXJZOjEsc2NyZWVuWDoxLHNjcmVlblk6MSxzY2FsZToxLHJvdGF0aW9uOjEsd2Via2l0TW92ZW1lbnRYOjEsd2Via2l0TW92ZW1lbnRZOjF9LGMwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudHlwZT0iIjt0aGlzLnN0YXRlPXRoaXMuc291cmNlPXRoaXMuZGF0YT10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmN0cmxLZXk9dGhpcy5hbHRLZXk9ITE7dGhpcy5yb3RhdGlvbj10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPQowO3RoaXMuc2NhbGU9MTt0aGlzLmNoYW5nZWRUb3VjaGVzPXRoaXMudG91Y2hlcz1udWxsO3RyeXtpZihhPWF8fHdpbmRvdy5ldmVudCl7dGhpcy5ldmVudD1hO2ZvcihsZXQgZCBpbiBhKWQgaW4gcnZhfHwodGhpc1tkXT1hW2RdKTt0aGlzLnNjYWxlPWEuc2NhbGU7dGhpcy5yb3RhdGlvbj1hLnJvdGF0aW9uO3ZhciBiPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7YiYmYi5ub2RlVHlwZT09MyYmKGI9Yi5wYXJlbnROb2RlKTt0aGlzLnRhcmdldD1iO3ZhciBjPWEucmVsYXRlZFRhcmdldDtpZihjKXRyeXtjPWMubm9kZU5hbWU/YzpudWxsfWNhdGNoKGQpe2M9bnVsbH1lbHNlIHRoaXMudHlwZT09Im1vdXNlb3ZlciI/Yz1hLmZyb21FbGVtZW50OnRoaXMudHlwZT09Im1vdXNlb3V0IiYmKGM9YS50b0VsZW1lbnQpO3RoaXMucmVsYXRlZFRhcmdldD1jO3RoaXMuY2xpZW50WD1hLmNsaWVudFghPXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWDt0aGlzLmNsaWVudFk9YS5jbGllbnRZIT12b2lkIDA/CmEuY2xpZW50WTphLnBhZ2VZO3RoaXMua2V5Q29kZT1hLmtleUNvZGU/YS5rZXlDb2RlOmEud2hpY2g7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwodGhpcy50eXBlPT0ia2V5cHJlc3MiP3RoaXMua2V5Q29kZTowKTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMuaj1hLnBhZ2VYO3RoaXMubz1hLnBhZ2VZfX1jYXRjaChkKXt9fXByZXZlbnREZWZhdWx0KCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQucmV0dXJuVmFsdWU9ITEsdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCYmdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpKX1zdG9wUHJvcGFnYXRpb24oKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkpfXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJgoodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX07Xy5IYShlMCxfLmFlKTtlMC5wcm90b3R5cGUuZ2E9ZnVuY3Rpb24oYSl7YS5qPT09dm9pZCAwJiZiMChhKTt2YXIgYj1hLmo7YS5vPT09dm9pZCAwJiZiMChhKTt0aGlzLmo9bmV3IF8uZVYoYixhLm8pfTsKZTAucHJvdG90eXBlLlU9ZnVuY3Rpb24oKXtpZih0aGlzLmope3ZhciBhPSgwLF8uZWwpKCk7aWYodGhpcy5CIT0wKXt2YXIgYj10aGlzLkksYz10aGlzLmosZD1iLngtYy54O2I9Yi55LWMueTtkPU1hdGguc3FydChkKmQrYipiKS8oYS10aGlzLkIpO3RoaXMub1t0aGlzLnZdPU1hdGguYWJzKChkLXRoaXMuRCkvdGhpcy5EKT4uNT8xOjA7Yj0wO2ZvcihjPTA7Yzw0O2MrKyliKz10aGlzLm9bY118fDA7Yj49MyYmdGhpcy5NKCk7dGhpcy5EPWR9dGhpcy5CPWE7dGhpcy5JPXRoaXMuajt0aGlzLnY9KHRoaXMudisxKSU0fX07ZTAucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7d2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5oYSk7eXJhKHRoaXMuWil9Owp2YXIgdDM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPXZvaWQgMDt0aGlzLmo9ITE7YS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixiPT57Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1ifSk7YS5hZGRFdmVudExpc3RlbmVyKCJhcHBpbnN0YWxsZWQiLCgpPT57dGhpcy5qPSEwfSx7b25jZTohMH0pfX0sZjA9MCx1MD17bmV4dDoid25fcyIsYnJvd3NlOiJicl9zIixzZWFyY2g6InNyX3MiLHJlZWw6InJfd3JzIixwbGF5ZXI6InBzX3MifSxScmE9e25leHQ6InduX3IiLGJyb3dzZToiYnJfciIsc2VhcmNoOiJzcl9yIixyZWVsOiJyX3dyciIscGxheWVyOiJwc19yIn0sbTA9e30sczA9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLAonbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciJdJzoicGMiLCdzY3JpcHRbbmFtZT0iZGVza3RvcF9wb2x5bWVyL2Rlc2t0b3BfcG9seW1lciJdJzoiZHBqIiwnbGlua1tyZWw9ImltcG9ydCJdW25hbWU9ImRlc2t0b3BfcG9seW1lciJdJzoiZHBoIiwnc2NyaXB0W25hbWU9Im1vYmlsZS1jMyJdJzoibWNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGUtYzMiXSc6Im1jYyIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy1waG9uZS9iYXNlIl0nOiJtY3BwaiIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy10YWJsZXQvYmFzZSJdJzoibWNwdGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwKJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0ibW9iaWxlX2JsYXplcl9jc3MiXSc6Im1iYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9pbl91c2Vyc19tb2QiXSc6Im1ibGl1aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9vdXRfdXNlcnNfbW9kIl0nOiJtYmxvdWoiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl9ub25jb3JlX21vZCJdJzoibWJuaiIsIiNwbGF5ZXJfY3NzIjoibWJwYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2Rlc2t0b3BwbGF5ZXJfbW9kIl0nOiJtYnBqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX3RhYmxldF9jc3MiXSc6Im1idGMiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSwKWTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sWjE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sejA9e30sZDU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YT1hfHx7fTt2YXIgYj17fSxjPXt9O3RoaXMudXJsPWEudXJsfHwiIjt0aGlzLmFyZ3M9YS5hcmdzfHxVXyhiKTt0aGlzLmFzc2V0cz1hLmFzc2V0c3x8e307dGhpcy5hdHRycz1hLmF0dHJzfHxVXyhjKTt0aGlzLmZhbGxiYWNrPWEuZmFsbGJhY2t8fG51bGw7dGhpcy5mYWxsYmFja01lc3NhZ2U9YS5mYWxsYmFja01lc3NhZ2V8fG51bGw7dGhpcy5odG1sNT0hIWEuaHRtbDU7dGhpcy5kaXNhYmxlPWEuZGlzYWJsZXx8e307dGhpcy5sb2FkZWQ9ISFhLmxvYWRlZDt0aGlzLm1lc3NhZ2VzPWEubWVzc2FnZXN8fHt9fWNsb25lKCl7dmFyIGE9bmV3IGQ1O2ZvcihsZXQgYiBpbiB0aGlzKWlmKHRoaXMuaGFzT3duUHJvcGVydHkoYikpe2xldCBjPXRoaXNbYl07Xy54YShjKT09CiJvYmplY3QiP2FbYl09VV8oYyk6YVtiXT1jfXJldHVybiBhfX0sRjA9e30sYnNhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMucGxheWVySWQ9Yjt0aGlzLndlYlBsYXllckNvbnRleHRDb25maWc9ZDt0aGlzLkViPXZvaWQgMDt0aGlzLkZhPSExO3RoaXMuYXBpPXt9O3RoaXMuaGE9dGhpcy5CPW51bGw7dGhpcy5NPW5ldyBfLnRoO3RoaXMuaj17fTt0aGlzLlo9dGhpcy5vYT10aGlzLmVsZW1lbnRJZD10aGlzLk1hPXRoaXMuY29uZmlnPW51bGw7dGhpcy5VPSExO3RoaXMudj10aGlzLkQ9bnVsbDt0aGlzLnlhPXt9O3RoaXMuZmM9WyJvblJlYWR5Il07dGhpcy5sYXN0RXJyb3I9bnVsbDt0aGlzLlFhPU5hTjt0aGlzLkk9e307dGhpcy5nYT0wO3RoaXMubz10aGlzLnRhcmdldEVsZW1lbnQ9YTtFWih0aGlzLHRoaXMuTSk7STAodGhpcyk7Yz90aGlzLmdhPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmxvYWROZXdWaWRlb0NvbmZpZyhjKX0sMCk6CmQmJihKMCh0aGlzKSxTMCh0aGlzKSl9Z2V0SWQoKXtyZXR1cm4gdGhpcy5wbGF5ZXJJZH1sb2FkTmV3VmlkZW9Db25maWcoYSl7aWYoIXRoaXMuaWEoKSl7dGhpcy5nYSYmKGNsZWFyVGltZW91dCh0aGlzLmdhKSx0aGlzLmdhPTApO3ZhciBiPWF8fHt9O2IgaW5zdGFuY2VvZiBkNXx8KGI9bmV3IGQ1KGIpKTt0aGlzLmNvbmZpZz1iO3RoaXMuc2V0Q29uZmlnKGEpO1MwKHRoaXMpO3RoaXMuaXNSZWFkeSgpJiZUMCh0aGlzKX19c2V0Q29uZmlnKGEpe3RoaXMuTWE9YTt0aGlzLmNvbmZpZz1QMChhKTtKMCh0aGlzKTt0aGlzLm9hfHwodGhpcy5vYT1VMCh0aGlzLHRoaXMuY29uZmlnLmFyZ3M/LmpzYXBpY2FsbGJhY2t8fCJvbllvdVR1YmVQbGF5ZXJSZWFkeSIpKTt0aGlzLmNvbmZpZy5hcmdzP3RoaXMuY29uZmlnLmFyZ3MuanNhcGljYWxsYmFjaz1udWxsOnRoaXMuY29uZmlnLmFyZ3M9e2pzYXBpY2FsbGJhY2s6bnVsbH07aWYodGhpcy5jb25maWc/LmF0dHJzKXthPXRoaXMuY29uZmlnLmF0dHJzOwpsZXQgYj1hLndpZHRoO2ImJnRoaXMubyYmKHRoaXMuby5zdHlsZS53aWR0aD1YXyhOdW1iZXIoYil8fGIpKTsoYT1hLmhlaWdodCkmJnRoaXMubyYmKHRoaXMuby5zdHlsZS5oZWlnaHQ9WF8oTnVtYmVyKGEpfHxhKSl9fWlzUmVhZHkoKXtyZXR1cm4gdGhpcy5GYX1hZGRFdmVudExpc3RlbmVyKGEsYil7dGhpcy5pYSgpO3ZhciBjPVUwKHRoaXMsYik7YyYmKF8uc2IodGhpcy5mYyxhKT49MHx8dGhpcy5qW2FdfHwoYj1hc2EodGhpcyxhKSx0aGlzLkImJnRoaXMuQihhLGIpKSx0aGlzLk0uc3Vic2NyaWJlKGEsYyksYT09PSJvblJlYWR5IiYmdGhpcy5pc1JlYWR5KCkmJnNldFRpbWVvdXQoKCk9PntjKHRoaXMuYXBpKX0sMCkpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKXt0aGlzLmlhKCl8fChiPVUwKHRoaXMsYikpJiZ0aGlzLk0udW5zdWJzY3JpYmUoYSxiKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIHRoaXMuWnx8KEwwKHRoaXMpPyJodG1sNSI6bnVsbCl9Z2V0TGFzdEVycm9yKCl7cmV0dXJuIHRoaXMubGFzdEVycm9yfWNhbmNlbCgpe3RoaXMuRCYmCkcwKFEwKHRoaXMpLHRoaXMuRCk7Y2xlYXJUaW1lb3V0KHRoaXMuUWEpO3RoaXMuVT0hMX1sYSgpe04wKHRoaXMpO2lmKHRoaXMudiYmdGhpcy5jb25maWcmJnRoaXMudi5kZXN0cm95KXRyeXt0aGlzLnYuZGVzdHJveSgpfWNhdGNoKGIpe3ZhciBhPW5ldyBfLlhqKCJQbGF5ZXJQcm94eSBlcnJvciBkdXJpbmcgZGlzcG9zYWwiLHtlcnJvcjpifSk7YS5sZXZlbD0iRVJST1IiO3Rocm93IGE7fXRoaXMueWE9bnVsbDtmb3IoYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgdGhpcy5qW2FdO3RoaXMuTWE9dGhpcy5jb25maWc9dGhpcy5hcGk9bnVsbDtkZWxldGUgdGhpcy50YXJnZXRFbGVtZW50O2RlbGV0ZSB0aGlzLm87c3VwZXIubGEoKX19LFcwPXt9LHh0YT17U0M6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1VOS05PV04iLFBDOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIixSQzoiRU1CRURERURfUExBWUVSX01PREVfUEZQIixRQzoiRU1CRURERURfUExBWUVSX01PREVfUEZMIn07dmFyIGgxPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGM9RXJyb3IoKSl7c3VwZXIoKTt0aGlzLmNvZGU9YTtiKz0iOiI7YyBpbnN0YW5jZW9mIEVycm9yPyh0aGlzLm1lc3NhZ2U9YitjLm1lc3NhZ2UsdGhpcy5zdGFjaz1jLnN0YWNrfHwiIik6KHRoaXMubWVzc2FnZT1iK1N0cmluZyhjKSx0aGlzLnN0YWNrPSIiKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgZTE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy52bT1hO3RoaXMubz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTt0aGlzLmo9dm9pZCAwO3RoaXMuQ2c9dGhpcy52bS5wO3RoaXMudj10aGlzLkloLmJpbmQodGhpcyk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBoc2EodGhpcykpfXNuYXBzaG90KGEpe3JldHVybiB0aGlzLnZtLnMoey4uLihhLktjJiZ7YzphLktjfSksCi4uLihhLllqJiZ7czphLllqfSksLi4uKGEueG4hPT12b2lkIDAmJntwOmEueG59KX0pfUloKGEpe3RoaXMudm0uZShhKX1CaShhLGIpe3JldHVybiB0aGlzLnZtLmMoYSxiLCExKX1WaCgpe3JldHVybiB0aGlzLnZtLmwoKX19O3ZhciBzdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmhhPTF9c2hhcmUoKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoImplIik7dGhpcy5oYSsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuaGF8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciB0dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWE7SzEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsbTEoIm1rIikpfXJlY29yZChhLGIpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIpfX0sdXZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLG0xKCJtbiIpLGwxKCJhYyIpLGwxKCJzYyIpLG0xKCJyayIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMsZCxlLGYpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLGEsYixjLGQsZSxmKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIil9fSx2dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52PWE7TTEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2VjIixtMSgiZW4iKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwKIi9jbGllbnRfc3RyZWFtei9iZy9lYyIsYSxiKX1qKCl7cmV0dXJuIHRoaXMudi5qKCIvY2xpZW50X3N0cmVhbXovYmcvZWMiKX19LHd2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvZWwiLG0xKCJlbiIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYSxiLGMpfWooKXtyZXR1cm4gdGhpcy5vLmooIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0seHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLGwxKCJlYyIpLG0xKCJtayIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LHl2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIiwKbDEoImNzIiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0senZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixtMSgiYXYiKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LEF2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsbTEoInN1IiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxCdmE9CmNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixtMSgibWsiKSl9cmVjb3JkKGEsYil7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiKX19LEN2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbTEoImV0IiksbTEoIm1rIikpfXJlY29yZChhLGIsYyl7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGEsYixjKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIpfX07dmFyIE1zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgcnNhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHExPVsxLDIsM107dmFyIG9zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxwMT1bMSwyLDNdO3ZhciBwc2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIER2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgRXZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGU1PVsxLDIsM107dmFyIG4xPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O24xLnByb3RvdHlwZS52PV8ucHooWzAsJDQsWzAsZTUsYTUsWzAsJDQsLTEsXy54el0sYTUsWzAsJDQsLTEsWjQsXy54el0sYTUsWzAsJDRdXSxsdmEsXy55eixbMCxfLnl6LFswLHExLG12YSxndmEsa3ZhXSxbMCxwMSxmdmEsZXZhLGE1LFswLF8ueXosWzAsVjQsWDRdXV1dLGl2YSxqdmFdKTt2YXIgRnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBHdmE9Y2xhc3N7YXN5bmMgY29tcHJlc3MoYSl7dmFyIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO2I9Yi53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBiLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKSk7YXdhaXQgYi5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBjKX1pc1N1cHBvcnRlZChhKXtyZXR1cm4gYTwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIGY1PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy5jYWxsYmFjaz1iO3RoaXMuZW5hYmxlZD0hMTt0aGlzLmo9KCk9Pl8uRWEoKTt0aGlzLm89dGhpcy5qKCl9c2V0SW50ZXJ2YWwoYSl7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy50aW1lciYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMudGltZXImJnRoaXMuc3RvcCgpfXN0YXJ0KCl7dGhpcy5lbmFibGVkPSEwO3RoaXMudGltZXJ8fCh0aGlzLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zKSx0aGlzLm89dGhpcy5qKCkpfXN0b3AoKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9dGljaygpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9TWF0aC5tYXgodGhpcy5qKCktdGhpcy5vLDApO2E8dGhpcy5pbnRlcnZhbE1zKi44P3RoaXMudGltZXI9CnNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zLWEpOih0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKSx0aGlzLmNhbGxiYWNrKCksdGhpcy5lbmFibGVkJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH19O3ZhciBIdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIEl2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgSnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1XaSgpe3JldHVybiBLXyh0aGlzKX19O3ZhciB0c2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHgxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHdzYT1TXyh4MSk7dmFyIEExPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciB0MT1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sczE9bmV3IHgxLHUxPW51bGw7dmFyIHoxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBLdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNCl9fTt2YXIgZzU9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMzcpfX07dmFyIEx2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxOSl9VWgoYSl7cmV0dXJuIENaKHRoaXMsMixhKX19O3ZhciBNdmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPSExKXt0aGlzLnlkPWI7dGhpcy52PXRoaXMubG9jYWxlPW51bGw7dGhpcy5vPTA7dGhpcy5pc0ZpbmFsPSExO3RoaXMuaj1uZXcgTHZhO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMuai5VaChhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgibGFuZyIpKTt5MSh0aGlzLG5ldyB6MSl9VWgoYSl7dGhpcy5qLlVoKGEpO3JldHVybiB0aGlzfWJ1aWxkKGEsYj0wLGM9MCxkPW51bGwsZT0wLGY9MCl7aWYoIXRoaXMueWQpe3ZhciBoPXcxKHRoaXMpO3ZhciBrPW5ldyBKdmE7az1DWihrLDEsdGhpcy5vKTtrPV8ucXcoaywyLF8ueHcodGhpcy5pc0ZpbmFsKSk7Yz1fLnF3KGssMyxfLlB3KGM+MD9jOnZvaWQgMCkpO2U9Xy5xdyhjLDQsXy5QdyhlPjA/ZTp2b2lkIDApKTtmPV8ucXcoZSw1LF8uUHcoZj4wP2Y6dm9pZCAwKSk7ZT1mLkRhO2M9ZVtfLkFjXXwwO2Y9Xy5CYyhmLGMpP2Y6Xy4kYyhmLAplLGMpP18uYmQoZixlKTpuZXcgZi5jb25zdHJ1Y3RvcihfLlpjKGUsYywhMCkpO18uS3coaCwxMCxmKX1oPXRoaXMuai5jbG9uZSgpO2Y9RGF0ZS5ub3coKS50b1N0cmluZygpO2g9Xy5xdyhoLDQseV8oZikpO2E9YS5zbGljZSgpO2E9SF8oaCwzLGEpO2QmJihoPW5ldyBIdmEsZD1fLnF3KGgsMTMsXy5QdyhkKSksaD1uZXcgSXZhLGQ9Xy5LdyhoLDIsZCksaD1uZXcgS3ZhLGQ9Xy5LdyhoLDEsZCksZD1DWihkLDIsOSksXy5LdyhhLDE4LGQpKTtiJiZfLnF3KGEsMTQseV8oYikpO3JldHVybiBhfX07QjEucHJvdG90eXBlLnY9MDtCMS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPXRoaXMuQjt0aGlzLnY9MH07dmFyIFU0PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDgpfX0sTnZhPVNfKFU0KTt2YXIgaDU7aDU9bmV3IGR2YShjbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIE92YT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmNvbXBvbmVudElkPSIiO3RoaXMuaj1bXTt0aGlzLlFhPSIiO3RoaXMucGFnZUlkPW51bGw7dGhpcy5FYj10aGlzLm9hPS0xO3RoaXMuTT10aGlzLmV4cGVyaW1lbnRJZHM9bnVsbDt0aGlzLmdhPXRoaXMuaGE9dGhpcy5JPXRoaXMuQj0wO3RoaXMuZmM9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLnlhPSExO3RoaXMubG9nU291cmNlPWEubG9nU291cmNlO3RoaXMuU2Y9YS5TZnx8KCgpPT57fSk7dGhpcy52PW5ldyBNdmEoYS5sb2dTb3VyY2UsYS55ZCk7dGhpcy5uZXR3b3JrPWEubmV0d29ya3x8bnVsbDt0aGlzLmxmPWEubGZ8fG51bGw7dGhpcy5idWZmZXJTaXplPTFFMzt0aGlzLlU9YS50Qnx8bnVsbDt0aGlzLnNlc3Npb25JbmRleD1hLnNlc3Npb25JbmRleHx8bnVsbDt0aGlzLlpnPWEuWmd8fCExO3RoaXMuWD1udWxsO3RoaXMud2l0aENyZWRlbnRpYWxzPSFhLm5sO3RoaXMueWQ9CmEueWR8fCExO3RoaXMuWj0hdGhpcy55ZCYmISFfLnpkKCkmJiEhXy56ZCgpLm5hdmlnYXRvciYmXy56ZCgpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuTWE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKEQxKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoRDEoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGI9djEobmV3IHoxKTt5MSh0aGlzLnYsYik7dGhpcy5EPW5ldyBCMSgxRTQsM0U1LC4xKTthPXlzYSh0aGlzLGEuTm8pO3RoaXMubz1uZXcgZjUodGhpcy5ELmosYSk7dGhpcy5GYT1uZXcgZjUoNkU1LGEpO3RoaXMuWmd8fHRoaXMuRmEuc3RhcnQoKTt0aGlzLnlkfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIiYmRTEodGhpcyl9KSxfLnpkKCk/LmFkZEV2ZW50TGlzdGVuZXI/LigicGFnZWhpZGUiLCgpPT4Ke0UxKHRoaXMpfSkpfWxhKCl7RTEodGhpcyk7dGhpcy5vLnN0b3AoKTt0aGlzLkZhLnN0b3AoKTtzdXBlci5sYSgpfWRpc3BhdGNoKGEpe2lmKGEgaW5zdGFuY2VvZiBnNSl0aGlzLmxvZyhhKTtlbHNlIHRyeXt2YXIgYj1uZXcgZzUsYz1hLnNlcmlhbGl6ZSgpO3ZhciBkPUJaKGIsOCxjKTt0aGlzLmxvZyhkKX1jYXRjaHt9fWxvZyhhKXtpZih0aGlzLk1hKXthPWEuY2xvbmUoKTt2YXIgYj10aGlzLmZjKys7YT1fLnF3KGEsMjEseV8oYikpO3RoaXMuY29tcG9uZW50SWQmJkJaKGEsMjYsdGhpcy5jb21wb25lbnRJZCk7Yj1hO3t2YXIgYz1fLmVkKGIsMSk7bGV0IGQ9dHlwZW9mIGM7Yz1jPT1udWxsP2M6ZD09PSJiaWdpbnQiP1N0cmluZygoMCxfLnRyKSg2NCxjKSk6cl8oYyk/ZD09PSJzdHJpbmciP3VfKGMpOnZfKGMpOnZvaWQgMH1jPT1udWxsJiYoYz1EYXRlLm5vdygpLGM9TnVtYmVyLmlzRmluaXRlKGMpP2MudG9TdHJpbmcoKToiMCIsXy5xdyhiLDEseV8oYykpKTtjPV8uZWQoYiwKMTUsdm9pZCAwLHZvaWQgMCx6Xyk7YyE9bnVsbCYmKHR5cGVvZiBjPT09ImJpZ2ludCI/KDAsXy5NYykoYyk/Yz1OdW1iZXIoYyk6KGM9KDAsXy50cikoNjQsYyksYz0oMCxfLk1jKShjKT9OdW1iZXIoYyk6U3RyaW5nKGMpKTpjPXJfKGMpP3R5cGVvZiBjPT09Im51bWJlciI/dl8oYyk6dV8oYyk6dm9pZCAwKTtjPT1udWxsJiZfLnF3KGIsMTUseV8oKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKjYwKSk7dGhpcy5leHBlcmltZW50SWRzJiYoYz10aGlzLmV4cGVyaW1lbnRJZHMuY2xvbmUoKSxfLkt3KGIsMTYsYykpO2I9dGhpcy5qLmxlbmd0aC10aGlzLmJ1ZmZlclNpemUrMTtiPjAmJih0aGlzLmouc3BsaWNlKDAsYiksdGhpcy5CKz1iKTt0aGlzLmoucHVzaChhKTt0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCl9fWZsdXNoKGEsYil7aWYodGhpcy5qLmxlbmd0aD09PTApYSYmYSgpO2Vsc2UgaWYodGhpcy55YSYmdGhpcy5aKXRoaXMudi5vPTMsQXNhKHRoaXMpOwplbHNle3ZhciBjPURhdGUubm93KCk7aWYodGhpcy5FYj5jJiZ0aGlzLm9hPGMpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLm5ldHdvcmsmJih0eXBlb2YgdGhpcy5uZXR3b3JrLldpPT09ImZ1bmN0aW9uIj92c2EodGhpcy52LHRoaXMubmV0d29yay5XaSgpKTp0aGlzLnYubz0wKTt2YXIgZD10aGlzLnYuYnVpbGQodGhpcy5qLHRoaXMuQix0aGlzLkksdGhpcy5sZix0aGlzLmhhLHRoaXMuZ2EpLGU9dGhpcy5TZigpO2lmKGUmJnRoaXMuUWE9PT1lKWImJmIoInN0YWxlLWF1dGgtdG9rZW4iKTtlbHNle3RoaXMuaj1bXTt0aGlzLm8uZW5hYmxlZCYmdGhpcy5vLnN0b3AoKTt0aGlzLkI9MDtjPWQuc2VyaWFsaXplKCk7bGV0IGY7dGhpcy5NJiZ0aGlzLk0uaXNTdXBwb3J0ZWQoYy5sZW5ndGgpJiYoZj10aGlzLk0uY29tcHJlc3MoYykpO2xldCBoPUJzYSh0aGlzLGMsZSksaz1uPT57dGhpcy5ELnJlc2V0KCk7dGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKTtpZihuKXt2YXIgcD0KbnVsbDt0cnl7dmFyIHI9SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShuLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cD1OdmEocil9Y2F0Y2godil7fWlmKHApe249TnVtYmVyKElfKHAsMSxfLkZjKCItMSIpKSk7bj4wJiYodGhpcy5vYT1EYXRlLm5vdygpLHRoaXMuRWI9dGhpcy5vYStuKTtuPWg1Lmo7KHI9Xy5HYShfLkpjKSkmJnAuRGFbcl0/LltuXSE9bnVsbCYmXy54YyhfLmpyLDMpO249aDUuajtpZihfLkdhKF8ubHIpJiZfLkdhKF8uSmMpJiZ2b2lkIDA9PT1fLmxyKXtyPXAuRGE7dmFyIHQ9cltfLkpjXTtpZih0JiYodD10LkZLKSl0cnl7dChyLG4sY3ZhKX1jYXRjaCh2KXtfLiRiKHYpfX1wPWg1LmN0b3I/aDUubyhwLGg1LmN0b3IsaDUuaixoNS52KTpoNS5vKHAsaDUuaixudWxsLGg1LnYpO2lmKHA9cD09PW51bGw/dm9pZCAwOnApcD1fLnR4KHAsMSwtMSkscCE9PS0xJiYodGhpcy5EPW5ldyBCMShwPDE/MTpwLDNFNSwuMSksdGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKSl9fWEmJgphKCk7dGhpcy5JPTB9LGw9KG4scCk9Pnt2YXIgcj1HXyhkLGc1LDMpO3ZhciB0PU51bWJlcihJXyhkLDE0KSk7QzEodGhpcy5EKTt0aGlzLm8uc2V0SW50ZXJ2YWwodGhpcy5ELmopO249PT00MDEmJmUmJih0aGlzLlFhPWUpO3QmJih0aGlzLkIrPXQpO3A9PT12b2lkIDAmJihwPXRoaXMuaXNSZXRyeWFibGUobikpO3AmJih0aGlzLmo9ci5jb25jYXQodGhpcy5qKSx0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCkpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIsbik7Kyt0aGlzLkl9LG09KCk9Pnt0aGlzLm5ldHdvcmsmJnRoaXMubmV0d29yay5zZW5kKGgsayxsKX07Zj9mLnRoZW4obj0+e2guT2pbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5PalsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PW47aC5HdT0yO20oKX0sKCk9PnttKCl9KTptKCl9fX19aXNSZXRyeWFibGUoYSl7cmV0dXJuIDUwMDw9YSYmYTw2MDB8fGE9PT00MDF8fAphPT09MH19O3ZhciBQdmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnB1PXR5cGVvZiBBYm9ydENvbnRyb2xsZXIhPT0idW5kZWZpbmVkIn1hc3luYyBzZW5kKGEsYixjKXt2YXIgZD10aGlzLnB1P25ldyBBYm9ydENvbnRyb2xsZXI6dm9pZCAwLGU9ZCYmYS50aW1lb3V0TWlsbGlzPjA/c2V0VGltZW91dCgoKT0+e2QuYWJvcnQoKX0sYS50aW1lb3V0TWlsbGlzKTp2b2lkIDA7dHJ5e2xldCBmPWF3YWl0IGZldGNoKGEudXJsLHttZXRob2Q6YS5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5hLk9qfSwuLi4oYS5ib2R5JiZ7Ym9keTphLmJvZHl9KSwuLi4oYS53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6YS50aW1lb3V0TWlsbGlzJiZkP2Quc2lnbmFsOm51bGx9KTtmLnN0YXR1cz09PTIwMD9iPy4oYXdhaXQgZi50ZXh0KCkpOmM/LihmLnN0YXR1cyl9Y2F0Y2goZil7c3dpdGNoKGY/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOmM/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6Yz8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGUpfX1XaSgpe3JldHVybiA0fX07dmFyIFMxPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5OZT0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5qPXRoaXMubGY9bnVsbDt0aGlzLm89ITE7dGhpcy5wYWdlSWQ9bnVsbDt0aGlzLmJ1ZmZlclNpemU9dm9pZCAwO3RoaXMuWD1udWxsfW5sKCl7dGhpcy52PSEwO3JldHVybiB0aGlzfWJ1aWxkKCl7dGhpcy5uZXR3b3JrfHwodGhpcy5uZXR3b3JrPW5ldyBQdmEpO3ZhciBhPW5ldyBPdmEoe2xvZ1NvdXJjZTp0aGlzLmxvZ1NvdXJjZSxTZjp0aGlzLlNmP3RoaXMuU2Y6Xy5QZCxzZXNzaW9uSW5kZXg6dGhpcy5zZXNzaW9uSW5kZXgsdEI6dGhpcy5OZSx5ZDohMSxaZzohMSxubDp0aGlzLnYsTm86dGhpcy5ObyxuZXR3b3JrOnRoaXMubmV0d29ya30pOwpFWih0aGlzLGEpO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIGI9dGhpcy5idWlsZExhYmVsLGM9dzEoYS52KTtCWihjLDcsYil9YS5NPW5ldyBHdmE7dGhpcy5jb21wb25lbnRJZCYmKGEuY29tcG9uZW50SWQ9dGhpcy5jb21wb25lbnRJZCk7dGhpcy5sZiYmKGEubGY9dGhpcy5sZik7dGhpcy5wYWdlSWQmJihhLnBhZ2VJZD10aGlzLnBhZ2VJZCk7dGhpcy5qJiYoKGM9dGhpcy5qKT8oYS5leHBlcmltZW50SWRzfHwoYS5leHBlcmltZW50SWRzPW5ldyBxdmEpLGI9YS5leHBlcmltZW50SWRzLGM9Yy5zZXJpYWxpemUoKSxCWihiLDQsYykpOmEuZXhwZXJpbWVudElkcyYmXy5xdyhhLmV4cGVyaW1lbnRJZHMsNCkpO3RoaXMubyYmKGEueWE9YS5aKTt4c2EoYS52KTt0aGlzLmJ1ZmZlclNpemUmJihhLmJ1ZmZlclNpemU9dGhpcy5idWZmZXJTaXplKTt0aGlzLm5ldHdvcmsuVWgmJnRoaXMubmV0d29yay5VaCh0aGlzLmxvZ1NvdXJjZSk7dGhpcy5uZXR3b3JrLmlBJiZ0aGlzLm5ldHdvcmsuaUEoYSk7CnJldHVybiBhfX07dmFyIE5zYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7YXx8KGE9bmV3IFMxLGEuY29tcG9uZW50SWQ9IiIsRVoodGhpcyxhKSxhPWEuYnVpbGQoKSk7dGhpcy5qPWF9Zmx1c2goYSl7YT1hfHxbXTtpZihhLmxlbmd0aCl7bGV0IGI9bmV3IEZ2YSxjPVtdO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hW2RdLGY9cjEoZSk7Yy5wdXNoKGYpO2UuY2xlYXIoKX1IXyhiLDEsYyk7dGhpcy5qLmRpc3BhdGNoKGIpO3RoaXMuai5mbHVzaCgpfX19O3ZhciBIMT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBpNT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5vPWE7dGhpcy52PWI7dGhpcy5maWVsZHM9Y3x8W107dGhpcy5qPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmouY2xlYXIoKX19O3ZhciBMMT1jbGFzcyBleHRlbmRzIGk1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSwzLGIpfX07dmFyIEoxPWNsYXNzIGV4dGVuZHMgaTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLDIsYil9cmVjb3JkKGEsLi4uYil7SHNhKHRoaXMsYSwuLi5iKX19O3ZhciBUMT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlo9YTt0aGlzLkk9MDt0aGlzLkI9MTAwO3RoaXMuTT0hMTt0aGlzLnY9bmV3IE1hcDt0aGlzLlU9bmV3IFNldDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMubz1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuby5saXN0ZW4oInRpY2siLHRoaXMuRCwhMSx0aGlzKTtFWih0aGlzLHRoaXMubyl9c2VuZElzb2xhdGVkUGF5bG9hZChhKXt0aGlzLk09YTt0aGlzLkI9MX1EKCl7dmFyIGE9Wy4uLnRoaXMudi52YWx1ZXMoKV0uZmlsdGVyKGI9PmIuai5zaXplKTthLmxlbmd0aCYmdGhpcy5aLmZsdXNoKGEsdGhpcy5NKTtLc2EoYSk7dGhpcy5JPTA7dGhpcy5vLmVuYWJsZWQmJnRoaXMuby5zdG9wKCl9aihhKXtyZXR1cm4gdGhpcy5VLmhhcyhhKT92b2lkIDA6dGhpcy52LmdldChhKX1yZWNvcmQoYSxiLC4uLmMpeyhhPXRoaXMuaihhKSkmJmEgaW5zdGFuY2VvZiBKMSYmKGEucmVjb3JkKGIsCi4uLmMpLE4xKHRoaXMpKX19O3ZhciBzMj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy5jb2RlPWE7dGhpcy5tZXRhZGF0YT17fTt0aGlzLm5hbWU9IlJwY0Vycm9yIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9dG9TdHJpbmcoKXt2YXIgYT1gUnBjRXJyb3IoJHtMc2EodGhpcy5jb2RlKXx8U3RyaW5nKHRoaXMuY29kZSl9KWA7dGhpcy5tZXNzYWdlJiYoYSs9IjogIit0aGlzLm1lc3NhZ2UpO3JldHVybiBhfX07dmFyIERzYT1jbGFzc3tzZW5kKGEsYj0oKT0+e30sYz0oKT0+e30pe18ubHkoYS51cmwsZD0+e2Q9ZC50YXJnZXQ7aWYoZC5pc1N1Y2Nlc3MoKSl7dHJ5e3ZhciBlPWQucmE/ZC5yYS5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goZil7ZT0iIn1iKGUpfWVsc2UgYyhfLlJ4KGQpKX0sYS5yZXF1ZXN0VHlwZSxhLmJvZHksYS5PaixhLnRpbWVvdXRNaWxsaXMsYS53aXRoQ3JlZGVudGlhbHMpfVdpKCl7cmV0dXJuIDF9fTt2YXIgajU9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9YTt0aGlzLmV2ZW50PWI7dGhpcy5zdGFydFRpbWU9UTEoKX1kb25lKCl7dGhpcy5YLnYodGhpcy5ldmVudCxRMSgpLXRoaXMuc3RhcnRUaW1lKX19LGs1PWNsYXNzIGV4dGVuZHMgc3Zhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKX19LFNzYT1jbGFzcyBleHRlbmRzIGs1e0IoKXt9aigpe312KCl7fUpiKCl7fU0oKXt9SSgpe31vKCl7fVooKXt9RCgpe31VKCl7fX0sUXZhPWNsYXNzIGV4dGVuZHMgazV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHRoaXMuWC5kaXNwb3NlKCkpfXVwZGF0ZShhKXt0aGlzLlguZGlzcG9zZSgpO3RoaXMuWD1hfWooYSl7dGhpcy5YLmooYSl9dihhLGIpe3RoaXMuWC52KGEsYil9SmIoYSl7dGhpcy5YLkpiKGEpfU0oYSl7dGhpcy5YLk0oYSl9SShhLGIpe3RoaXMuWC5JKGEsYil9bygpe3RoaXMuWC5vKCl9WihhKXt0aGlzLlguWihhKX1EKGEpe3RoaXMuWC5EKGEpfVUoYSl7dGhpcy5YLlUoYSl9QihhKXt0aGlzLlguQihhKX19LApSdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmNhbGxiYWNrPWE7dGhpcy5vPWI7dGhpcy5qPS1iO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpKX19LFN2YT1jbGFzcyBleHRlbmRzIGs1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLm1ldHJpY3M9YTt0aGlzLm1iPWJ9QihhKXt0aGlzLm1ldHJpY3MuQUEucmVjb3JkKGEsdGhpcy5tYil9aihhKXt0aGlzLm1ldHJpY3MuZXZlbnRDb3VudC5vKGEsdGhpcy5tYil9dihhLGIpe3RoaXMubWV0cmljcy5Odi5yZWNvcmQoYixhLHRoaXMubWIpfUpiKGEpe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lm8oYSx0aGlzLm1iKX1aKGEpe3RoaXMubWV0cmljcy5KQi5vKGEsdGhpcy5tYil9RChhKXt0aGlzLm1ldHJpY3MuSnUubyhhLHRoaXMubWIpfVUoYSl7dGhpcy5tZXRyaWNzLklCLm8oYSx0aGlzLm1iKX1NKGEpe3RoaXMubWV0cmljcy5wYXlsb2FkU2l6ZS5yZWNvcmQoYSwKdGhpcy5tYil9SShhLGIpe3RoaXMubWV0cmljcy5YeS5yZWNvcmQoYixhLHRoaXMubWIpfX0sUXNhPWNsYXNzIGV4dGVuZHMgU3Zhe2NvbnN0cnVjdG9yKGEsYj1bXSl7dmFyIGM9e21iOmEubWJ8fCJfIix6bDphLnpsfHxbXSxubTphLm5tfDAsTmU6YS5OZSxGajphLkZqfHwoKCk9Pnt9KSxJZzphLklnfHwoKGUsZik9Pk9zYShlLGYsYy5GaixjLk5lKSl9LGQ9Yy5JZygiNTMiLGMuemwuY29uY2F0KGIpKTtzdXBlcih7QUE6bmV3IHR2YShkKSxlcnJvckNvdW50Om5ldyB4dmEoZCksZXZlbnRDb3VudDpuZXcgdnZhKGQpLE52Om5ldyB3dmEoZCkseUw6bmV3IHV2YShkKSxKQjpuZXcgeXZhKGQpLEp1Om5ldyB6dmEoZCksSUI6bmV3IEF2YShkKSxwYXlsb2FkU2l6ZTpuZXcgQnZhKGQpLFh5Om5ldyBDdmEoZCl9LGMubWIpO3RoaXMub3B0aW9ucz1jO3RoaXMuc2VydmljZT1kO3RoaXMub2E9IWEuSWc7dGhpcy5nYT1uZXcgUnZhKCgpPT52b2lkIHRoaXMuc2VydmljZS5EKCksYy5ubSk7CnRoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9Pnt0aGlzLmdhLmRpc3Bvc2UoKTt0aGlzLm9hJiZ0aGlzLnNlcnZpY2UuZGlzcG9zZSgpfSk7Yi5zbGljZSgpLnNvcnQobHJhKX1vKCl7UHNhKHRoaXMuZ2EpfX07dmFyIFIyPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDAsUjIubWVzc2FnZUlkKX19LFR2YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSYmIV8uQmMoYikpfShSMik7UjIubWVzc2FnZUlkPSJiZmtqIjt2YXIgaTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGw1PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFV2YT1TXyhsNSk7dmFyIGQyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMudj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKTt0aGlzLmo9bmV3IGw1O2lmKCJjaGFsbGVuZ2UiaW4gYSYmVHZhKGEuY2hhbGxlbmdlKSl7dmFyIGI9Sl8oYS5jaGFsbGVuZ2UsNCx2b2lkIDAsXy53eik7dmFyIGM9Sl8oYS5jaGFsbGVuZ2UsNSx2b2lkIDAsXy53eik7Sl8oYS5jaGFsbGVuZ2UsNyx2b2lkIDAsXy53eikmJih0aGlzLmo9VXZhKEpfKGEuY2hhbGxlbmdlLDcsdm9pZCAwLF8ud3opKSl9ZWxzZSh7cHJvZ3JhbTpiLGdsb2JhbE5hbWU6Y309YSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjayhhc3luYygpPT57dmFyIHt1QTpufT1hd2FpdCB0aGlzLm87bj8uKCl9KTt0aGlzLlg9VTEoYS5uZ3x8e30sdGhpcy5qKTtFWih0aGlzLHRoaXMuWCk7dmFyIGQ9bmV3IF8uY3M7dGhpcy5vPWQucHJvbWlzZTt0aGlzLlguaigidCIpO3ZhciBlPXRoaXMuWC5zaGFyZSgpLGY9bmV3IGo1KGUsCiJ0IiksaD0obixwLHIsdCk9PntpZighdGhpcy5YLmlhKCkpe3ZhciB2PSJrIjtwP3Y9ImgiOnImJih2PSJ1Iik7diE9PSJrIj90IT09MCYmKHRoaXMuWC5qKHYpLHRoaXMuWC52KHYsbikpOnRoaXMudjw9MD8odGhpcy5YLmoodiksdGhpcy5YLnYodixuKSx0aGlzLnY9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIwMCkpOnRoaXMudi0tfX0saz0obixwLHIsdCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57Zi5kb25lKCk7ZS5vKCk7ZS5kaXNwb3NlKCk7ZC5yZXNvbHZlKHt5dTpuLHVBOnAsQXo6cixOdTp0fSl9KX0sbD1bKG4scCk9Pnt0aGlzLlgudihuLHApfSxuPT57dGhpcy5YLkpiKG4pfSxuPT57dGhpcy5YLk0obil9LChuLHApPT57dGhpcy5YLkkobixwKX1dO2lmKCFfLnVbY10pdGhyb3cgdGhpcy5YLkpiKDI1KSxFcnJvcigibmUiKTtpZighXy51W2NdLmEpdGhyb3cgdGhpcy5YLkpiKDI2KSxFcnJvcigib2UiKTt0cnl7bGV0IG49Xy51W2NdLmE7Yz1bXTtsZXQgcD0KW107dmFyIG09ajEodGhpcy5qKTtmb3IobGV0IHY9MDt2PG0ubGVuZ3RoO3YrKyljLnB1c2gobVt2XSkscC5wdXNoKDEpO2xldCByPWxzYSh0aGlzLmopO2ZvcihtPTA7bTxyLmxlbmd0aDttKyspYy5wdXNoKHJbbV0pLHAucHVzaCgyKTtsZXQgW3RdPW4oYixrLCEwLGEuRnMsaCxbYyxwXSxKXyh0aGlzLmosNSksITEsbCk7dGhpcy5CPXQ7dGhpcy5DZz1kLnByb21pc2UudGhlbigoKT0+e30pfWNhdGNoKG4pe3Rocm93IHRoaXMuWC5KYigyOCksbjt9fXNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLlguaigibiIpO3ZhciBiPXRoaXMuWC5zaGFyZSgpO3JldHVybiB0aGlzLm8udGhlbigoe3l1OmN9KT0+bmV3IFByb21pc2UoZD0+e3ZhciBlPW5ldyBqNShiLCJuIik7YyhmPT57ZS5kb25lKCk7Yi5CKGYubGVuZ3RoKTtiLm8oKTtiLmRpc3Bvc2UoKTtkKGYpfSxbYS5LYyxhLllqLGEuSXMsYS54bl0pfSkpfVhyKGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTsKdGhpcy5YLmooIm4iKTt2YXIgYj1SMSh0aGlzLlgsKCk9PnRoaXMuQihbYS5LYyxhLllqLGEuSXMsYS54bl0pLCJuIik7dGhpcy5YLkIoYi5sZW5ndGgpO3RoaXMuWC5vKCk7cmV0dXJuIGJ9SWgoYSl7dGhpcy5vLnRoZW4oKHtBejpifSk9PntiPy4oYSl9KX1CaShhLGIpe3JldHVybiB0aGlzLm8udGhlbigoe051OmN9KT0+Yz8uKGEsYiwhMSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX07dmFyIFYxPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5wcm9taXNlcz17fTt0aGlzLmo9bnVsbH19O3ZhciBsdWE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHEyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMub3B0aW9ucz1hO3RoaXMuST1uZXcgXy5jczt0aGlzLkNnPXRoaXMuSS5wcm9taXNlO3RoaXMuRD1uZXcgXy5jczt0aGlzLlo9MTt0aGlzLnY9bmV3IF8uY3M7dGhpcy5CPVtdO3RoaXMuaXNQYXVzZWQ9ITE7dGhpcy5Haj1hLkdqfHwoKCk9Pnt9KTt0aGlzLlg9bmV3IFF2YShVMShhLm5nfHx7fSkpO2F0YSh0aGlzLGEub2QsYS5zeCxhLkhLLGEuTkssey4uLlZ2YSwuLi4oYS5MZ3x8e30pfSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBidGEodGhpcykpfWFzeW5jIHNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLm98fHRoaXMuTXx8YXdhaXQgdGhpcy5ELnByb21pc2U7aWYodGhpcy5vKXJldHVybiBhd2FpdCB0aGlzLm8uc25hcHNob3QoYSk7dGhyb3cgdGhpcy5NO31wYXVzZSgpe3RoaXMuaWEoKXx8dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9CiEwLHRoaXMuaiYmdGhpcy5qLnBhdXNlKCkpfXJlc3VtZSgpeyF0aGlzLmlhKCkmJnRoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMuaiYmdGhpcy5qLnJlc3VtZSgpKX1hc3luYyBjaGVja0ZvclJlZnJlc2goKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoInBlIik7aWYodGhpcy5qKXt2YXIgYT10aGlzLmo7YS5pc0V4cGlyZWQoKT8oZzIoYSksYS5RaCgwKSxhPSEwKTphPSExO2EmJmF3YWl0IHRoaXMudi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy52LnByb21pc2V9YXN5bmMgVSgpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLmo/Lm8oKTthd2FpdCB0aGlzLnYucHJvbWlzZX1JaChhKXt0aGlzLm8/LkloPy4oYSl9QmkoYSxiKXtyZXR1cm4gdGhpcy5vPy5CaT8uKGEsYik/P1Byb21pc2UucmVzb2x2ZSgpfWhhbmRsZUVycm9yKGEpe3RoaXMuaWEoKXx8KHRoaXMuTT1hLHRoaXMuRC5yZXNvbHZlKCksdGhpcy5vcHRpb25zLkVqPy4oYSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX0sClZ2YT17RnI6NDMyRTUsZWs6M0U1LGxzOjEwLGF2OjFFNCxWdjozRTQscXk6M0U0LG1BOjZFNCxLdjoxRTMsSnY6NkU0LEx2OjZFNSxNdjouMjUsSXY6MixtYXhBdHRlbXB0czoxMH0sYzI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuZW5kVGltZU1zPTA7dGhpcy5qPW51bGw7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnRpY2s9KCk9PntpZighdGhpcy5pc1BhdXNlZCl7dmFyIGQ9dGhpcy5lbmRUaW1lTXMtRGF0ZS5ub3coKTtkPD10aGlzLnY/KHRoaXMuaj1udWxsLHRoaXMuUWgoMCkpOnRoaXMuaj1zZXRUaW1lb3V0KHRoaXMudGljayxNYXRoLm1pbihkLHRoaXMuZWspKX19O3RoaXMuZWs9Yjt0aGlzLnY9Yzt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZD0+e3RoaXMuUWg9ZH0pO2N0YSh0aGlzLGEpfXBhdXNlKCl7dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9ITAsZzIodGhpcykpfXJlc3VtZSgpe3RoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMudGljaygpKX1vKCl7ZzIodGhpcyk7CnRoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlFoKDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIGR0YT1NYXRoLmltdWw/PygoYSxiKT0+YSpifDApLGoyPVsxOTYsMjAwLDIyNCwxOF0sbTI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPTAsYz1bXSl7dGhpcy5tYXhJdGVtcz1hO3RoaXMuaj1iO3RoaXMubz1jfXNlcmlhbGl6ZSgpe3JldHVybiBTdHJpbmcodGhpcy5qKSsiLCIrdGhpcy5vLmpvaW4oKX1yYihhLGIpe3ZhciBjPXZvaWQgMDtpZih0aGlzLm9bdGhpcy5qXSE9PWEpe2xldCBkPXRoaXMuby5pbmRleE9mKGEpO2QhPT0tMT8odGhpcy5vLnNwbGljZShkLDEpLGQ8dGhpcy5qJiZ0aGlzLmotLSx0aGlzLm8uc3BsaWNlKHRoaXMuaiwwLGEpKTooYz10aGlzLm9bdGhpcy5qXSx0aGlzLm9bdGhpcy5qXT1hKX10aGlzLmo9KHRoaXMuaisxKSV0aGlzLm1heEl0ZW1zO2E9aDIoImlVNXEtIU85QCQiLHRoaXMuc2VyaWFsaXplKCkpO2MmJmEmJmIoYyk7cmV0dXJuIGF9fSxpc2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9Yjt0cnl7dmFyIGM9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmISFnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW19Y2F0Y2goZCl7Yz0hMX1jJiYodGhpcy5pbmRleD1ndGEoYSkpfWooYSxiLGMsZCl7dmFyIGU9dGhpcy5pbmRleD9SMSh0aGlzLlgsKCk9PmV0YSh0aGlzLmluZGV4LGsyKGEpLGIsYyxkKSwiVyIpOiJ1Ijt0aGlzLlguVShlKX1vKGEsYil7dmFyIFtjLGRdPXRoaXMuaW5kZXg/UjEodGhpcy5YLCgpPT5mdGEoazIoYSksYiksIlIiKTpbInUiXTt0aGlzLlguRChjKTtyZXR1cm4gZH19O3ZhciBtNT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLnY9bmV3IF8uY3N9emooYSxiKXt2YXIgYz10aGlzLm9lKGEpO2I/LihjKTtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnNjKGMsMiksdGhpcy5vKX1zbShhLGIsYyl7cmV0dXJuIFIxKHRoaXMuWCwoKT0+Yj90aGlzLnpqKGEsYyk6dGhpcy5vZShhLGMpLHRoaXMuail9fSx1Mj1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKGEpO3RoaXMuQj1iO3RoaXMuST1jO3RoaXMuaj0ibSI7dGhpcy5vPSJ4Ijt0aGlzLkQ9MDtuMih0aGlzLGQpfW9lKGEsYil7dGhpcy5YLmoodGhpcy5qKTsrK3RoaXMuRD49dGhpcy5JJiZ0aGlzLnYucmVzb2x2ZSgpO3ZhciBjPWEoKTthPVIxKHRoaXMuWCwoKT0+dGhpcy5CKGMpLCJDIik7aWYoYT09PXZvaWQgMCl0aHJvdyBuZXcgaDEoMTcsIllOSjpVbmRlZmluZWQiKTtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaDEoMTgsCiJPRE06SW52YWxpZCIpO2I/LihhKTtyZXR1cm4gYX19LGx0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhKTt0aGlzLkI9Yjt0aGlzLmo9ImYiO3RoaXMubz0ieiI7bjIodGhpcyxjKX1vZSgpe3JldHVybiB0aGlzLkJ9fSxrdGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYSk7dGhpcy5CPWI7dGhpcy5qPSJ3Ijt0aGlzLm89InoiO24yKHRoaXMsYyl9b2UoKXtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnVjKHRoaXMuQiksImQiKX16aigpe3JldHVybiB0aGlzLkJ9fSxydGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGEpO3RoaXMuZXJyb3I9Yjt0aGlzLmo9ImUiO3RoaXMubz0ieSJ9b2UoKXtpZih0aGlzLkIpcmV0dXJuIHRoaXMuQjt0aGlzLkI9cDIodGhpcyxhPT4iXyIrZXJhKGEpKTtyZXR1cm4gcDIodGhpcyxhPT5hKX19LHF0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7CnRoaXMuY2xpZW50U3RhdGU9Yjt0aGlzLmo9IlMiO3RoaXMubz0icSJ9b2UoKXt2YXIgYT1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxiPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sYz1iLmNvbmNhdChbMCx0aGlzLmNsaWVudFN0YXRlXSxbYT4+MjQmMjU1LGE+PjE2JjI1NSxhPj44JjI1NSxhJjI1NV0pO2E9bmV3IFVpbnQ4QXJyYXkoMitjLmxlbmd0aCk7YVswXT0zNDthWzFdPWMubGVuZ3RoO2Euc2V0KGMsMik7Yz1hLnN1YmFycmF5KDIpO2I9Yi5sZW5ndGg7Zm9yKGxldCBkPWI7ZDxjLmxlbmd0aDsrK2QpY1tkXV49Y1tkJWJdO3RoaXMuWC5aKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBhfX07dmFyIFd2YT17V3Y6M0U0LEJBOjJFNH0scnVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMueWc9bmV3IF8uY3M7dGhpcy52PTA7dGhpcy5vPXZvaWQgMDt0aGlzLnN0YXRlPTI7dGhpcy52bT1hLnZtO3RoaXMub2Q9YS5vZDt0aGlzLkxnPXsuLi5XdmEsLi4uKGEuTGd8fHt9KX07dGhpcy5YPWEudm0uVmgoKTt0aGlzLm9uRXJyb3I9YS5vbkVycm9yPz8oKCk9Pnt9KTt0aGlzLlFuPWEuUW58fCExO2lmKFh2YShhKSl7bGV0IGQ9dGhpcy52bTt0aGlzLkI9KCk9PmQuVSgpLmNhdGNoKGU9Pnt0aGlzLm89ZT10aGlzLnJlcG9ydEVycm9yKG5ldyBoMSh0aGlzLmo/MjA6MzIsIlRSRzpEaXNwb3NlZCIsZSkpO3RoaXMuaj8uZGlzcG9zZSgpO3RoaXMuaj12b2lkIDA7dGhpcy55Zy5yZWplY3QoZSl9KTtmMihkLCgpPT52b2lkIHQyKHRoaXMpKTtkLlo9PT0yJiZ0Mih0aGlzKX1lbHNlIHRoaXMuQj1hLmlLLHQyKHRoaXMpO3ZhciBiPXRoaXMuWC5zaGFyZSgpOwpiLmooIm8iKTt2YXIgYz1uZXcgajUoYiwibyIpO3RoaXMueWcucHJvbWlzZS50aGVuKCgpPT57Yy5kb25lKCk7Yi5vKCk7Yi5kaXNwb3NlKCl9LCgpPT52b2lkIGIuZGlzcG9zZSgpKTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5qPyh0aGlzLmouZGlzcG9zZSgpLHRoaXMuaj12b2lkIDApOnRoaXMubz90aGlzLlgubygpOih0aGlzLm89dGhpcy5yZXBvcnRFcnJvcihuZXcgaDEoMzIsIlROUDpEaXNwb3NlZCIpKSx0aGlzLlgubygpLHRoaXMueWcucmVqZWN0KHRoaXMubykpfSk7RVoodGhpcyx0aGlzLlgpfW9lKGEpe3JldHVybiB3Mih0aGlzLHsuLi5hfSwhMSl9emooYSl7cmV0dXJuIHcyKHRoaXMsey4uLmF9LCEwKX1yZXBvcnRFcnJvcihhKXt0aGlzLlguSmIoYS5jb2RlKTt0aGlzLm9uRXJyb3IoYSk7cmV0dXJuIGF9fSxYdmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+e2lmKCEoMCxfLnFyKShiKSlyZXR1cm4hMTtmb3IobGV0IFtjLGRdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2xldCBlPQpjLGY9ZDtpZighKGUgaW4gYikpe2lmKGYuQko9PT0hMCljb250aW51ZTtyZXR1cm4hMX1pZighZihiW2VdKSlyZXR1cm4hMX1yZXR1cm4hMH0pfSh7dm06ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfShxMil9LCIiKTt2YXIgWnZhPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoIW41KXtuNT1uZXcgVDEobmV3IFl2YSk7dmFyIGE9Xy5zaigiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2NvdW50IiwtMSk7YSE9PS0xJiYobjUuQj1hKX10aGlzLnY9YT1uNTtNMShhLCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixsMSgidHlwZSIpLGwxKCJzZXF1ZW5jZSIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiKX19O3ZhciBtdWE9U18oY2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0pO3ZhciAkdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIG81PVswLHB2YSwtMV07dmFyIHA1PVswLGh2YSwtMV07dmFyIGF3YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgYndhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1oYXNBdHRyaWJ1dGVzKCl7dmFyIGE9dGhpcy5EYTtyZXR1cm4gXy5NeChhLGFbXy5BY118MCxhd2EsMTkpIT09dm9pZCAwfX07dmFyIGN3YT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+Xy5veihiLGEpfShbMCxjNSwtMSxYNCwkNCxvNSwtMSxXNCxaNCxjNSxwNSwkNCxjNSwtMSxbMCxvNSwtMV0sWjQsWTQscDUsVzQsWzAsMSxaNCwtNCxWNCxbMCxXNCwtMSxaNF0sJDQsVzQsXy55eixbMCxjNSxaNF0sWjQsLTEsYzUsLTIsVzQsLTEsYzUsVzQsYzUsWjQsWzAsMyxaNCwtMSw0LG52YV0sVjQsYjUsWzAsYzUsLTEsJDRdLF8ueHpdLCQ0LG92YSxfLnl6LFswLHA1LF8ueXosWzAsJDQsYzVdLFc0LGM1LC0xXSwxLF8ueXosWzAsWTQsLTEsYjVdLGM1LHA1XSk7ejIucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIhPTN9O3oyLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj09PTJ9Owp6Mi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2Zvcig7cDxhLmxlbmd0aDspaWYoeTIoYVtwXSkpcCsrLGYudisrO2Vsc2UgYnJlYWs7cmV0dXJuIHA8bH1mdW5jdGlvbiBjKCl7Zm9yKHZhciB0Ozspe3Q9YVtwKytdO2lmKCF0KWJyZWFrO2YudisrO3N3aXRjaChmLmope2Nhc2UgMDp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6eTIodCl8fEEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDc6Y2FzZSAyOmlmKHkyKHQpKWNvbnRpbnVlO2lmKGYuaj09PTcpaC5wdXNoKDgpO2Vsc2UgaWYodD09PSJ9Iil7ZSgie30iKTtmLmo9ZCgpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDMpO3Q9PT0nIic/Zi5qPTY6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgODpjYXNlIDM6aWYoeTIodCkpY29udGludWU7dD09PSI6Ij8oZi5qPT09MyYmKGgucHVzaCgzKSxmLm8rKyksZi5qPTEpOnQ9PT0ifSI/KGYuby0tLGUoKSxmLmo9ZCgpKTp0PT09IiwiPyhmLmo9PT0zJiZoLnB1c2goMyksCmYuaj03KTpBMihmLGEscCk7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZih5Mih0KSljb250aW51ZTtpZihmLmo9PT00KWlmKGYubysrLGYuaj0xLHQ9PT0iXSIpe2Yuby0tO2lmKGYubz09PTApe2Yuaj01O3JldHVybn1lKCJbXSIpO2Yuaj1kKCk7Y29udGludWV9ZWxzZSBoLnB1c2goNSk7dD09PSciJz9mLmo9Njp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6dD09PSJ0Ij9mLmo9OTp0PT09ImYiP2Yuaj0xMjp0PT09Im4iP2Yuaj0xNjp0IT09Ii0iJiYoIjAxMjM0NTY3ODkiLmluZGV4T2YodCkhPT0tMT9mLmo9MjA6QTIoZixhLHApKTtjb250aW51ZTtjYXNlIDU6aWYodD09PSIsIiloLnB1c2goNSksZi5qPTEsZi5vPT09MSYmKG49cCk7ZWxzZSBpZih0PT09Il0iKXtmLm8tLTtpZihmLm89PT0wKXJldHVybjtlKCk7Zi5qPWQoKX1lbHNlIGlmKHkyKHQpKWNvbnRpbnVlO2Vsc2UgQTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgNjpsZXQgdj1wO2E6Zm9yKDs7KXtmb3IoO2YuSz4wOylpZih0PQphW3ArK10sZi5LPT09ND9mLks9MDpmLksrKywhdClicmVhayBhO2lmKHQ9PT0nIicmJiFmLkQpe2Yuaj1kKCk7YnJlYWt9aWYodD09PSJcXCImJiFmLkQmJihmLkQ9ITAsdD1hW3ArK10sIXQpKWJyZWFrO2lmKGYuRClpZihmLkQ9ITEsdD09PSJ1IiYmKGYuSz0xKSx0PWFbcCsrXSljb250aW51ZTtlbHNlIGJyZWFrO2subGFzdEluZGV4PXA7dD1rLmV4ZWMoYSk7aWYoIXQpe3A9YS5sZW5ndGgrMTticmVha31wPXQuaW5kZXgrMTt0PWFbdC5pbmRleF07aWYoIXQpYnJlYWt9Zi52Kz1wLXY7Y29udGludWU7Y2FzZSA5OmlmKCF0KWNvbnRpbnVlO3Q9PT0iciI/Zi5qPTEwOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDEwOmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTExOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDExOmlmKCF0KWNvbnRpbnVlO3Q9PT0iZSI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxMjppZighdCljb250aW51ZTt0PT09ImEiP2Yuaj0xMzpBMihmLGEsCnApO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIXQpY29udGludWU7dD09PSJsIj9mLmo9MTQ6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIXQpY29udGludWU7dD09PSJzIj9mLmo9MTU6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTU6aWYoIXQpY29udGludWU7dD09PSJlIj9mLmo9ZCgpOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE2OmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTE3OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE3OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPTE4OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE4OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxOTp0PT09Ii4iP2Yuaj0yMDpBMihmLGEscCk7Y29udGludWU7Y2FzZSAyMDppZigiMDEyMzQ1Njc4OS5lRSstIi5pbmRleE9mKHQpIT09LTEpY29udGludWU7ZWxzZSBwLS0sZi52LS0sZi5qPWQoKTtjb250aW51ZTtkZWZhdWx0OkEyKGYsYSxwKX19fQpmdW5jdGlvbiBkKCl7dmFyIHQ9aC5wb3AoKTtyZXR1cm4gdCE9bnVsbD90OjF9ZnVuY3Rpb24gZSh0KXtmLm8+MXx8KHR8fCh0PW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSxwKTphLnN1YnN0cmluZyhuLHApKSxmLlkucHVzaChKU09OLnBhcnNlKHQpKSxuPXApfWZvcih2YXIgZj10aGlzLGg9Zi5VLGs9Zi5aLGw9YS5sZW5ndGgsbT0wLG49LTEscD0wO3A8bDspc3dpdGNoKGYuQil7Y2FzZSAzOnJldHVybiBBMihmLGEscCksbnVsbDtjYXNlIDI6cmV0dXJuIGIoKSYmQTIoZixhLHApLG51bGw7Y2FzZSAwOmlmKGIoKSl7dmFyIHI9YVtwKytdO2YudisrO2lmKHI9PT0iWyIpe2YuQj0xO209cDtmLmo9NDtjb250aW51ZX1lbHNlIEEyKGYsYSxwKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIGMoKSxmLm89PT0wJiZmLmo9PTU/KGYuQj0yLGYuST1hLnN1YnN0cmluZyhwKSk6Zi5JPW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSk6YS5zdWJzdHJpbmcobiksZi5ZLmxlbmd0aD4wPyhyPWYuWSwKZi5ZPVtdLHIpOm51bGx9cmV0dXJuIG51bGx9O3ZhciBtcmE9e0dFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfVU5LTk9XTiIsQUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9GT1JfVEVTVElORyIsa0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fSE9NRV9UVEwiLHdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU1RBUlRfVE9fU0hPUlRTX0FOQUxZU0lTX1NMSUNFIixvRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RFVklDRV9MQVlFUl9TTElDRSIsRkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VTklGSUVEX0xBWUVSX1NMSUNFIixKRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1ZJU0lUT1JfTEFZRVJfU0xJQ0UiLHVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0hPV19TSEVFVF9DT01NQU5EX0hBTkRMRVJfQkxPQ0siLApNRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dJWl9ORVhUX01JR1JBVEVEX0NPTVBPTkVOVCIsTEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XSVpfTkVYVF9DSEFOTkVMX05BTUVfVE9PTFRJUCIscEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVElPTl9MT0NLX1NVUFBPUlRFRCIsekU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9USEVBVEVSX01PREVfRU5BQkxFRCIsU0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9TSE9XX1BJTl9TVUdHRVNUSU9OIixSRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfTE9OR19QUkVTU19FRFVfVE9BU1QiLFFFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfU0hPV19BTUJJRU5UIixBRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RJTUVfV0FUQ0hFRF9QQU5FTCIsCnJFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0VBUkNIX0ZST01fU0VBUkNIX0JBUl9PVkVSTEFZIixURToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfVk9JQ0VfU0VBUkNIX0VEVV9UT0FTVCIseUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVUdHRVNURURfTEFOR1VBR0VfU0VMRUNURUQiLFVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfVFJJR0dFUl9TSE9SVFNfUElQIixKRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lOX1pQX1ZPSUNFX0NSQVNIWV9TRVQiLGdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX1NVUFBSRVNTRUQiLGZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX0FMTE9XRUQiLGlFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9QVUxMX1RPX1JFRlJFU0hfQVRURU1QVCIsCk5FOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfQkxPQ0tfS0FCVUtJIixqRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1JFRUxfVEFMTF9TQ1JFRU4iLGhFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9OT1JNQUxfU0NSRUVOIixoRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9FTkFCTEVEIixnRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9ESVNBQkxFRCIsaUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9BVVRPUExBWV9FTkFCTEVEIixqRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0NBU1RfTUFUQ0hfT0NDVVJSRUQiLHREOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRU1DM0RTX0VMSUdJQkxFIix3RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VORFNDUkVFTl9UUklHR0VSRUQiLApkRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BPU1RQTEFZX1RSSUdHRVJFRCIsY0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9QT1NUUExBWV9MQUNUX1RIUkVTSE9MRF9FWENFRURFRCIsQ0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1NUQVRFX01BVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT04iLEVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hBQkxFX09OX1JFTU9URV9DT05ORUNUSU9OIixERDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfTUlTQVRUUklCVVRFRF9PTl9SRU1PVEVfQ09OTkVDVElPTiIsSEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1RWX0lTX1NJR05FRF9JTl9PTl9SRU1PVEVfQ09OTkVDVElPTiIsREU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9UVl9TVEFSVF9UWVBFX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLApFRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWX1NUQVJUX1RZUEVfTk9OX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLFlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfT05fUkVNT1RFX0NPTk5FQ1RJT04iLG5EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9WQUxJRCIsbEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9DT0JBTFRfUEVSU0lTVEVOVF9TRVRUSU5HU19URVNUX0lOVkFMSUQiLG1EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9VTkRFRklORUQiLGtEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9ERUZJTkVEIixNRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xBQ1RfVEhSRVNIT0xEX0VYQ0VFREVEIiwKcUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1VORF9UUklQX0hBTkRMSU5HX09OX1JFTU9URV9DT05ORUNUSU9OIixHRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfU1dJVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT05fQkVGT1JFX0FQUF9SRUxPQUQiLEZEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hFRF9PTl9SRU1PVEVfQ09OTkVDVElPTl9BRlRFUl9BUFBfUkVMT0FEIix1RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19JTkVMSUdJQkxFIixCRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfTUlEX1JPTExfVEhSRVNIT0xEX1JFQUNIRUQiLHlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfUEVORElORyIsCnhEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfQUNUSVZBVEVEIix2RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19NMl9FTElHSUJMRSIsbkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX0xBTkRTQ0FQRSIsb0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX1BPUlRSQUlUIixzRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQkVEU19GQUNFT0ZGX1VJX0VWRU5UIix6RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VYUF9DT0JBTFRfSFRUUDNfQ09ORklHX1JFQ0VJVkVEIixyRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VMSUdJQkxFX1RPX1NVUFBSRVNTX1RSQU5TUE9SVF9DT05UUk9MU19CVVRUT05TIiwKSEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VU0VSX0hBU19USEVBVEVSX01PREVfQ09PS0lFX0VOQUJMRUQiLHFEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRE9DVU1FTlRfUElDVFVSRV9JTl9QSUNUVVJFX1NVUFBPUlRFRCIsdEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSE9SVFNfTk9OX0RFRkFVTFRfQVNQRUNUX1JBVElPIixiRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BMQVlFUl9JTl9TUVVFRVpFQkFDSyIsTkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9MSVZFX0NSRUFUT1JfQVJfR0lGVF9SRUNFSVZFRCIsbUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVRVUk5FRF9UT19WSURFT19BRlRFUl9GQUlMRURfQVRURU1QVF9UT19CQUNLR1JPVU5EIixPRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX0VOVEVSX0FVVE9fWk9PTSIsClpEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUEFTU0lWRV9JTl9DT05UUk9MIixhRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BBU1NJVkVfSU5fVFJFQVRNRU5UIixwRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RJU0FCTEVfUExBWUVSX09QRU5fT05fRlVMTFNDUkVFTiIsVEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfUkVDT05ORUNUX1dJVEhfUkVUUlkiLHZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0lOR0xFX0NPTFVNTl9HUklEX1RSSUdHRVJFRCIsUEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfQ09OTkVDVElPTl9USU1FT1VUIixPRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xJVkVfR0hPU1RfTE9BRElOR19FTElHSUJMRSIseEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVFJFQU1FRF9HRVRfV0FUQ0hfU1VQUE9SVEVEIiwKS0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XRUJWSUVXX0NPTlRBSU5FUiIsUEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9FTlRFUl9QSVAiLGVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTF9FTElHSUJMRSIsVkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX0JST0FEIixYRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX09GRkxJTkVfUkVDT1ZFUllfVU5QTEFZQUJMRSIsV0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX1NUUklDVCIsS0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JT1NfU0hPUlRfT1JJRU5UQVRJT05fQ0hBTkdFIixDRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfUExBWUVSX0VSUk9SX09WRVJMQVlfVFJJR0dFUkVEIiwKc0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSEFERVJfTElHSFRfRU5BQkxFRCIsSUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUWV9NSVNNQVRDSF9ERVRFQ1RFRCIsbEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fU0hPUlRTX1RSSUdHRVJFRCIsQkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9HUldTX0NVU1RPTV9SRVRSWV9DQUxMRUQiLFNEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfVE9LRU5fTUlTTUFUQ0giLFJEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfUEFZTE9BRF9UT0tFTl9NSVNTSU5HIixRRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX01EWF9NT0JJTEVfVU5MT0NLX0dBVEVfVE9LRU5fTUlTU0lORyIsClVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTVVTSUNfT0ZGTElORV9IT01FX1NNQVJUX0RPV05MT0FEU19QUk9NT19DSEVDSyIsTEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JUEFEX0RFU0tUT1BfTUFUQ0gifTt2YXIgZHdhPW5ldyBfLkkoInN1YnNjcmliZUVuZHBvaW50Iik7dmFyIEIyPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGAke2F9LCBlcnJvckNvZGU9JHtifWApO3RoaXMuZXJyb3JDb2RlPWI7dGhpcy5uYW1lPSJQcm9taXNlQWpheEVycm9yIn19LHR0YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBEMj1jbGFzc3tjb25zdHJ1Y3RvcihhPW51bGwpe3RoaXMudj1hO3RoaXMuaj0wO3RoaXMubz1udWxsfXRoZW4oYSxiLGMpe3JldHVybiB0aGlzLnY/dGhpcy52LnRoZW4oYSxiLGMpOnRoaXMuaj09PTEmJmE/KGE9YS5jYWxsKGMsdGhpcy5vKSkmJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iP2E6RjIoYSk6dGhpcy5qPT09MiYmYj8oYT1iLmNhbGwoYyx0aGlzLm8pKSYmdHlwZW9mIGEudGhlbj09PSJmdW5jdGlvbiI/YTpFMihhKTp0aGlzfWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT0yfX07Xy55ZihEMik7dmFyIE0yPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLm1lc3NhZ2V8fGEuZGVzY3JpcHRpb258fGEubmFtZSk7dGhpcy5pc01pc3Npbmc9YSBpbnN0YW5jZW9mIEsyO3RoaXMuaXNUaW1lb3V0PWEgaW5zdGFuY2VvZiBCMiYmYS5lcnJvckNvZGU9PSJuZXQudGltZW91dCI7dGhpcy5pc0NhbmNlbGVkPWEgaW5zdGFuY2VvZiBfLlBmfX07TTIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpRXJyb3IiO3ZhciBLMj1jbGFzcyBleHRlbmRzIF8uTGF7Y29uc3RydWN0b3IoKXtzdXBlcigiQmlzY290dGkgSUQgaXMgbWlzc2luZyBmcm9tIHNlcnZlciIpfX07SzIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpTWlzc2luZ0Vycm9yIjt2YXIgc3RhPXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHRpbWVvdXQ6NUUzLHdpdGhDcmVkZW50aWFsczohMH0sSDI9bnVsbDt2YXIgV3RhPVsiYXR0L2dldCJdLGV3YT1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLGZ3YT1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0scTU9WyJmZWVkYmFjayJdLGd3YT1bIm5vdGlmaWNhdGlvbi9tb2RpZnlfY2hhbm5lbF9wcmVmZXJlbmNlIl0saHdhPVsiYnJvd3NlL2VkaXRfcGxheWxpc3QiXSxpd2E9WyJzdWJzY3JpcHRpb24vc3Vic2NyaWJlIl0sandhPVsic3Vic2NyaXB0aW9uL3Vuc3Vic2NyaWJlIl07dmFyIHI1PWNsYXNze2ZsdXNoKGE9W10sYj0hMSl7aWYoXy54KCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBjIG9mIGEpYT1yMShjKSx0aGlzLmomJl8uS3coYSwyLHRoaXMuaiksYT17c2VyaWFsaXplZEluY3JlbWVudEJhdGNoOl8uc2MoYS52KCkpfSxfLkVwKCJzdHJlYW16SW5jcmVtZW50ZWQiLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6Yn0pfX0sWXZhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0scXVhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt2YXIgYj1uZXcgRXZhO3ZhciBjPW5ldyBEdmE7Yz1CWihjLDEsImJvdGd1YXJkIik7YT1CWihjLDIsYSk7YT1fLkp3KGEpO0ZfKGIsMSxlNSxhKTthJiYhXy5CYyhhKSYmXy5vdyhiLkRhKTt0aGlzLmo9Yn19O3ZhciBuNSxqND1uZXcgTWFwO3ZhciBBdGE9bnVsbDt2YXIgQ3RhPW5ldyBNYXAoW1siZGFyayIsIlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiXSxbImxpZ2h0IiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiXV0pO3ZhciBYMj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihhKXt0aGlzLmouYmljZihhKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhhKXt0aGlzLmouYmNyKGEpfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuai5ibGMoKX19O3ZhciAkMj1bXSxaMj0oMCxfLll4KWBodHRwczovL3N0YXRpYy5kb3VibGVjbGljay5uZXQvaW5zdHJlYW0vYWRfc3RhdHVzLmpzYCxZMj0hMTt2YXIgczU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9fTtbbmV3IHM1KCJiLmZfIiksbmV3IHM1KCJqLnNfIiksbmV3IHM1KCJyLnNfIiksbmV3IHM1KCJlLmhfIiksbmV3IHM1KCJpLnNfIiksbmV3IHM1KCJzLnRfIiksbmV3IHM1KCJwLmhfIiksbmV3IHM1KCJzLmlfIiksbmV3IHM1KCJmLmlfIiksbmV3IHM1KCJhLmJfIiksbmV3IHM1KCJhLm9fIiksbmV3IHM1KCJnLm9fIiksbmV3IHM1KCJwLmlfIiksbmV3IHM1KCJwLm1fIiksbmV3IHM1KCJuLmtfIiksbmV3IHM1KCJpLmZfIiksbmV3IHM1KCJhLnNfIiksbmV3IHM1KCJtLmNfIiksbmV3IHM1KCJuLmhfIiksbmV3IHM1KCJvLnBfIiksbmV3IHM1KCJtLnBfIiksbmV3IHM1KCJvLmFfIiksbmV3IHM1KCJkLnBfIiksbmV3IHM1KCJlLmlfIildLnJlZHVjZSgoYSxiKT0+e2FbYi5qXT1iO3JldHVybiBhfSx7fSk7dmFyIFA0PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm5ldHdvcms9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLks9Yzt0aGlzLnY9MDt0aGlzLmo9bnVsbDt0aGlzLm89bmV3IFp2YTtiLnpzP2IzKHRoaXMsSXRhKHRoaXMpKTpiLnByZWxvYWQmJmIzKHRoaXMsbmV3IFByb21pc2UoZD0+e18uWWooKCk9PntkKGUzKHRoaXMpKX0sMCl9KSl9YXN5bmMgRCgpe3JldHVybiEhYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmosbnVsbF0pfWFzeW5jIEIoYSxiLGMpe3RoaXMuaj09PW51bGwmJmIzKHRoaXMsZTModGhpcykpO3ZhciBkPSExLGU9e307cmV0dXJuIFByb21pc2UucmFjZShbKGFzeW5jKCk9Pnt0aGlzLm9wdGlvbnMuUUkmJnRoaXMub3B0aW9ucy56cyYmYXdhaXQgKGF3YWl0IEV0YSgpKT8uY2hlY2tGb3JSZWZyZXNoKCk7dmFyIGY9YXdhaXQgdGhpcy5qO2UuY2hhbGxlbmdlPWYuY2hhbGxlbmdlO2lmKGYudm0pe3ZhciBoPXtjOmYuY2hhbGxlbmdlLGU6YSwuLi5ifTt0cnl7ZD0KITA7bGV0IGs7KGs9YXdhaXQgZi52bS5zbmFwc2hvdCh7S2M6aH0pKT9lLndlYlJlc3BvbnNlPWs6ZS5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe2UuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gZi5CZiYmKGUuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO2E9PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmKGY9Zi5CZixoPXt9LGYuYzZhJiYoaC5yZXBvcnRpbmdTdGF0dXM9U3RyaW5nKE51bWJlcihmLmMpXmEzKCkpKSxmLmM2YiYmKGguYnJvYWRTcGVjdHJ1bURldGVjdGlvblJlc3VsdD1TdHJpbmcoTnVtYmVyKGYuYyleTnVtYmVyKF8udygiQ0FUU1RBVCIsMCkpKSksZS5hZGJsb2NrUmVwb3J0aW5nPWgpO3JldHVybiBlfSkoKSxNdGEoYywoKT0+e3ZhciBmPU9iamVjdC5hc3NpZ24oe30sZSk7ZCYmKGYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTsKcmV0dXJuIGZ9KV0pfWFzeW5jIFJmKGEpe3ZhciBiPXRoaXMuSztpZighYnx8Yi5TYigpKXJldHVybiBmMyh0aGlzLGEpO3gwKCJhdHRfcG5hIik7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLmJmKGIsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57ZjModGhpcyxhKS50aGVuKGMpfSl9KX19O3ZhciBnMz17V0VCX1VOUExVR0dFRDoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT05CT0FSRElORzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT1BTOiJedW5wbHVnZ2VkLyIsV0VCX1VOUExVR0dFRF9QVUJMSUM6Il51bnBsdWdnZWQvIixXRUJfQ1JFQVRPUjoiXmNyZWF0b3IvIixXRUJfS0lEUzoiXmtpZHMvIixXRUJfRVhQRVJJTUVOVFM6Il5leHBlcmltZW50cy8iLFdFQl9NVVNJQzoiXm11c2ljLyIsV0VCX1JFTUlYOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebWFpbl9hcHAvfF5zZnYvIn07dmFyIFl1YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1hc3luYyBSZihhKXt4MCgiYXR0X2ZzciIpO2E9YXdhaXQgWXRhKHRoaXMuaixhKTt4MCgiYXR0X2ZyciIpO3JldHVybiBhfX07dmFyIGkzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj0icGVuZGluZyI7dGhpcy5vPVtdO3RoaXMudj1bXTt0cnl7YSh0aGlzLkIuYmluZCh0aGlzKSx0aGlzLnJlamVjdC5iaW5kKHRoaXMpKX1jYXRjaChiKXt0aGlzLnJlamVjdChiKX19c3RhdGUoKXtyZXR1cm4gdGhpcy5pc0Z1bGZpbGxlZCgpP3tzdGF0ZToiZnVsZmlsbGVkIix2YWx1ZTp0aGlzLnJlc3VsdH06dGhpcy5pc1JlamVjdGVkKCk/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fWlzRnVsZmlsbGVkKCl7cmV0dXJuIHRoaXMuaj09PSJmdWxmaWxsZWQifWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT09InJlamVjdGVkIn1pc1BlbmRpbmcoKXtyZXR1cm4gdGhpcy5qPT09InBlbmRpbmcifUIoYSl7KDAsXy5ibykoYSl8fGozKGEpP2wzKGszKGEpLHRoaXMuQi5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLmo9ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9CmEsbjModGhpcykpfXJlamVjdChhKXt0aGlzLmo9InJlamVjdGVkIjt0aGlzLmVycm9yPWE7bjModGhpcyl9fSxqMz1fLkNjKGE9PigwLF8ucXIpKGEpP2EgaW5zdGFuY2VvZiBpMzohMSk7dmFyIHQ1PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXJ1bihhLGIpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7dmFyIGM9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBkPWEsZT1iLGY9W107Oyl7Zi5wdXNoKFN0cmluZyhkKSk7ZT15aWVsZCpwMyhjLmpbZF0uZXhlY3V0ZShlKSk7aWYoZS5uZXh0U3RhdGU9PT0iRE9ORSIpcmV0dXJuIGYucHVzaCgiRE9ORSIpLGUudmFsdWU7aWYoZS5uZXh0U3RhdGU9PT0iRkFJTEVEIil0aHJvdyBmLnB1c2goYEZBSUxFRCgke2UuZXJyb3IubWVzc2FnZXx8ImVycm9yIn0pYCksZS5lcnJvcjtkPWUubmV4dFN0YXRlO2U9ZS5wYXJhbXN9fSgpfSl9fTt2YXIgdTU9Y2xhc3N7fTt2YXIgdTM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e307aWYodGhpcy5vPV8ucXooKSl7bGV0IGE9Xy5Mai5nZXQoIkNPTlNJU1RFTkNZIix2b2lkIDApO2EmJnIzKHRoaXMse2VuY3J5cHRlZFRva2VuSmFyQ29udGVudHM6YX0pfX1oYW5kbGVSZXNwb25zZShhLGIpe2lmKCFiKXRocm93IEVycm9yKCJLZSIpO2I9Yi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ/LnJlcXVlc3Q/LmNvbnNpc3RlbmN5VG9rZW5KYXJzfHxbXTsoYT1hLnJlc3BvbnNlQ29udGV4dD8uY29uc2lzdGVuY3lUb2tlbkphcikmJnRoaXMucmVwbGFjZShiLGEpfXJlcGxhY2UoYSxiKXtmb3IobGV0IGMgb2YgYSlkZWxldGUgdGhpcy5qW2MuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50c107cjModGhpcyxiKX19O3ZhciBrd2E9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLmpvaW4oIi4iKSx2Mz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMudj0tMTt2YXIgYT1fLncoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1IiYmKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmKGE9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIpKTthJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49YSx0aGlzLm89dGhpcy5qPXZvaWQgMCl9c3RhdGljIGpjKCl7djU9Xy5zYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIik7djV8fCh2NT1uZXcgdjMsXy5yYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIix2NSkpO3JldHVybiB2NX1zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChhKXthLmNsaWVudHx8KGEuY2xpZW50PQp7fSk7aWYodGhpcy5qKWEuY2xpZW50LmxvY2F0aW9uSW5mb3x8KGEuY2xpZW50LmxvY2F0aW9uSW5mbz17fSksYS5jbGllbnQubG9jYXRpb25JbmZvLmxhdGl0dWRlRTc9TWF0aC5mbG9vcih0aGlzLmouY29vcmRzLmxhdGl0dWRlKjFFNyksYS5jbGllbnQubG9jYXRpb25JbmZvLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5qLmNvb3Jkcy5sb25naXR1ZGUqMUU3KSxhLmNsaWVudC5sb2NhdGlvbkluZm8uaG9yaXpvbnRhbEFjY3VyYWN5TWV0ZXJzPU1hdGgucm91bmQodGhpcy5qLmNvb3Jkcy5hY2N1cmFjeSksYS5jbGllbnQubG9jYXRpb25JbmZvLmZvcmNlTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuUmVmcmVzaD0hMDtlbHNlIGlmKHRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4pYS5jbGllbnQubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPXRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW59Z2V0WEdlb0hlYWRlcigpe2lmKHRoaXMubyl7dmFyIGE9CnRoaXMubzt2YXIgYj1NYXRoLmZsb29yKGEuY29vcmRzLmxvbmdpdHVkZSoxRTcpO3ZhciBjPU1hdGguZmxvb3IoYS5jb29yZHMubGF0aXR1ZGUqMUU3KTt2YXIgZD1uZXcgJHZhO2M9Xy5xdyhkLDEsXy5QdyhjKSk7Yj1fLnF3KGMsMixfLlB3KGIpKTtjPW5ldyBid2E7Yz1DWihjLDEsMSk7Yz1DWihjLDIsMTIpO2M9Q1ooYyw5LDgpO2M9Xy5xdyhjLDMseV8oYS50aW1lc3RhbXAqMUUzKSk7YT1fLnF3KGMsNyxwXyhhLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTthPUNaKGEsMjUsMik7YT1fLkt3KGEsNSxiKTthPWB3ICR7Xy5zYyhjd2EoYSksNCl9YH1lbHNlIGE9bnVsbDtyZXR1cm4gYX1oYW5kbGVSZXNwb25zZShhKXthPWEucmVzcG9uc2VDb250ZXh0Py5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW47YSE9PXZvaWQgMCYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPWEsdGhpcy5vPXRoaXMuaj12b2lkIDAsXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8KKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsYSwxNTU1MkUzKTpfLk1qKCJZVF9DTCIsSlNPTi5zdHJpbmdpZnkoe2xvY3RvazphfSksMTU1NTJFMyxrd2EsITApKX1jbGVhckxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbihhKXthPT09IlRWSFRNTDUiPyh0aGlzLmxvY2FsU3RvcmFnZT1zMyh0aGlzKSkmJnRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZSgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKTpfLk5qKCJZVF9DTCIpO3RoaXMuQj12b2lkIDA7dGhpcy52IT09LTEmJihjbGVhclRpbWVvdXQodGhpcy52KSx0aGlzLnY9LTEpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7dGhpcy5vPXRoaXMuaj12b2lkIDB9Z2V0Q3VycmVudFBvc2l0aW9uRnJvbUdlb2xvY2F0aW9uKGEpe2lmKCEobmF2aWdhdG9yJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24mJm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24pKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiTGUiKSk7CnZhciBiPSExLGM9MUU0O18udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihiPSEwLGM9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChkLGUpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmPT57dGhpcy5vPWE/LmFkZFRvSGVhZGVycz9mOnZvaWQgMDt0aGlzLmo9ZjtkKGYpfSxmPT57ZShmKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpiLG1heGltdW1BZ2U6MCx0aW1lb3V0OmN9KX0pfWNyZWF0ZVVucGx1Z2dlZExvY2F0aW9uSW5mbyhhKXt2YXIgYj17fTthPWEuY29vcmRzO2E/LmxhdGl0dWRlJiYoYi5sYXRpdHVkZUU3PU1hdGguZmxvb3IoYS5sYXRpdHVkZSoxRTcpKTthPy5sb25naXR1ZGUmJihiLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IoYS5sb25naXR1ZGUqMUU3KSk7YT8uYWNjdXJhY3kmJihiLmxvY2F0aW9uUmFkaXVzTWV0ZXJzPU1hdGgucm91bmQoYS5hY2N1cmFjeSkpO3JldHVybiBifWNyZWF0ZUxvY2F0aW9uSW5mbyhhKXt2YXIgYj0Ke307YT1hLmNvb3JkczthPy5sYXRpdHVkZSYmKGIubGF0aXR1ZGVFNz1NYXRoLmZsb29yKGEubGF0aXR1ZGUqMUU3KSk7YT8ubG9uZ2l0dWRlJiYoYi5sb25naXR1ZGVFNz1NYXRoLmZsb29yKGEubG9uZ2l0dWRlKjFFNykpO3JldHVybiBifX0sdjU7dmFyIEYzPSJ0b2tlbnMgY29uc2lzdGVuY3kgc2VydmljZV9wYXJhbXMgbXNzIGNsaWVudF9sb2NhdGlvbiBlbnRpdGllcyBhZGJsb2NrX2RldGVjdGlvbiByZXNwb25zZV9yZWNlaXZlZF9jb21tYW5kcyBzdG9yZSBtYW5pZmVzdCBwbGF5ZXJfcHJlbG9hZCBzaG9ydHNfcHJlZmV0Y2ggcmVzb2x2ZV91cmxfcHJlZmV0Y2giLnNwbGl0KCIgIik7dmFyIGx3YT1jbGFzc3tEKGEsYj17fSxjPUEzKXt2YXIgZD17Y29udGV4dDp3MyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMsITEsdGhpcy5CKX07dmFyIGU9dGhpcy5vKGEpO2lmKGUpe3RoaXMuaihkLGUsYik7ZT1gL3lvdXR1YmVpL3YxLyR7aDModGhpcy52KCkpfWA7dmFyIGY9Xy5CKGEuY29tbWFuZE1ldGFkYXRhLF8uencpPy5hcGlVcmw7ZiYmKGU9Zik7ZT1YMChZMChlKSk7Zj17Y29tbWFuZDphLC4uLih2b2lkIDApfTtkPXtpbnB1dDplLHdiOlowKGUpLGlubmVyVHViZVJlcXVlc3Q6ZCxjb25maWc6Zn07ZC5jb25maWcuUmQ/ZC5jb25maWcuUmQuaWRlbnRpdHk9YzpkLmNvbmZpZy5SZD17aWRlbnRpdHk6Y307KGE9dGhpcy5LKGEpKSYmIWQuY29uZmlnLnJlcXVlc3RLZXkmJihkLmNvbmZpZy5yZXF1ZXN0S2V5PWEpO2IuYWJvcnRTaWduYWwmJihkLndiLnNpZ25hbD1iLmFib3J0U2lnbmFsKTtyZXR1cm4gZH1iPW5ldyBfLlhqKCJFcnJvcjogRmFpbGVkIHRvIGNyZWF0ZSBSZXF1ZXN0IGZyb20gQ29tbWFuZC4iLAphKTtfLkdwKGIpfWdldCBCKCl7cmV0dXJuITF9Sygpe319LHc1PWNsYXNzIGV4dGVuZHMgbHdhe0soYSl7cmV0dXJuIF8uQihhLmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucmVxdWVzdEtleT8/dm9pZCAwfX07dmFyIG13YT17R0VUX0RBVEFTWU5DX0lEUzp5MyhjbGFzcyBleHRlbmRzIHc1e0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50Iix3YjpaMCgiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX12KCl7cmV0dXJuW119bygpe31qKCl7fX0pfTt2YXIgVTM9bmV3IF8uVnMoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLEIzPW5ldyBfLlZzKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLEozPW5ldyBfLlZzKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBhdWE9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLHozPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMudj1hO3RoaXMuU2E9Yjt0aGlzLm89Yzt0aGlzLkI9ZDt0aGlzLmo9bmV3IE1hcDthLkhkfHwoYS5IZD17fSk7YS5IZD17Li4ubXdhLC4uLmEuSGR9fVFpKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGMpcmV0dXJuIG0zKGV1YShjLHtjb21tYW5kOmEsZm9ybTpiLGlkZW50aXR5OkEzfSkpLnRoZW4oZT0+ZSwoKT0+e30pO3ZhciBkPVp0YSh0aGlzLAphKTtyZXR1cm4gZD9uZXcgXy5CZihhc3luYyhlLGYpPT57dmFyIGg9KGF3YWl0IGQpLkQoYSxiLEEzKTtoPyhQMihoLmlucHV0KSxmPWgud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMCxmPXRoaXMuby56bj9DMyhoLmNvbmZpZyxmKTphd2FpdCBEMyhoLmNvbmZpZyxmKSxlKEUzKHRoaXMsaCxmKSkpOmYobmV3IF8uWGooIkVycm9yOiBGYWlsZWQgdG8gYnVpbGQgcmVxdWVzdCBmb3IgY29tbWFuZCIsYSkpfSk6Xy5PdChuZXcgXy5YaigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZCIsYSkpfUp3KGEpe3JldHVybiBVdGEoYSx0aGlzLnYpfX07dmFyIHg1PW5ldyBfLlZzKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIHU0PW5ldyBfLlZzKCJFTkRQT0lOVF9NQVAiKTt2YXIgdDQ9bmV3IF8uVnMoIkFVVEhfU0VSVklDRV9UT0tFTiIpO3ZhciBLMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWEueXRSZXF1ZXN0O1AyKGMuaW5wdXQpO3ZhciBkPWMud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMDtpZihiLmouem4pe2xldCBlPV8uUGooe3Nlc3Npb25JbmRleDpjLmNvbmZpZz8uUmQ/LnNlc3Npb25JbmRleH0pO2Q9ey4uLngzKGQpLC4uLmV9fWVsc2UgZD15aWVsZCpwMyhjdWEoYixjLmNvbmZpZyxkKSk7Yy53Yj17Li4uYy53YixoZWFkZXJzOnsuLi4oYy53Yj8uaGVhZGVycz8/e30pLC4uLmR9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczphfX0oKX0pfX07SzNbXy5Mbl09W3Q0XTt2YXIgJDM9bmV3IF8uVnMoIlJFU1BPTlNFX01BQ0hJTkVfUkVHSVNUUllfVE9LRU4iKSxhND1uZXcgXy5WcygiUkVTUE9OU0VfTUFDSElORV9GQUNUT1JZX1RPS0VOIik7dmFyIEwzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuaj1hO3RoaXMubz1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWEueXRSZXF1ZXN0LGU9ZC5jb25maWc/LktBPy5aSztpZihlJiZiJiZiLmhhcyhlKSYmIWQuY29uZmlnPy5LQT8uZGlzYWJsZUNhY2hlKXt2YXIgZj15aWVsZCpwMyhrMyhiLmdldChlKSkpO2lmKGYmJiFmLmlzRXhwaXJlZCgpKXJldHVybiBkPWYuaigpLF8ueCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFmLmlzUHJvY2Vzc2VkKCk/KGY9YygpLGQ9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOmQseXRSZXF1ZXN0OmEueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6YS5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmR9KSksCnlpZWxkKnAzKGszKGIuaihlKSkpLHtuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmR9KTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpkfX1yZXR1cm57bmV4dFN0YXRlOiJMT0NBTF9ST1VURVIiLHBhcmFtczphfX0oKX0pfX07TDNbXy5Mbl09W2E0LF8uSW4obmV3IF8uVnMoIkVQSEVNRVJBTF9TVE9SRV9UT0tFTiIpKV07dmFyIE0zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qLGQ9YS55dFJlcXVlc3QsZT1kPy5pbm5lclR1YmVSZXF1ZXN0Py5jb250ZXh0O2lmKCFlKXJldHVybiBrMyh7bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6YX0pO3ZhciBmPVtdO2lmKGMmJmMubGVuZ3RoPjApZm9yKGxldCBoIG9mIGMpYz1oLkJyKGQpLGMudiYmZi5wdXNoKGMudik7Zm9yKGxldCBoIG9mIGJ8fFtdKWguQnIoZSk7cmV0dXJuIGYubGVuZ3RoPjA/bzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt5aWVsZCpwMyhrMyhQcm9taXNlLmFsbChmKSkpO3JldHVybntuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfX0oKX0pOmszKHtuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfSl9fTtNM1tfLkxuXT1bXy5JbihuZXcgXy5WcygiQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpLF8uSW4obmV3IF8uVnMoIkFTWU5DX0NPTlRFWFRfUFJPQ0VTU09SX01BUCIpKV07dmFyIE4zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLnl0UmVxdWVzdC5jb25maWc/LnJlcXVlc3RLZXk7cmV0dXJuIGMmJmIuaGFzKGMpJiYoYz1iLmdldChjKSxjPXlpZWxkKnAzKGszKGMpKSk/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Y306e25leHRTdGF0ZToiRkVUQ0giLHBhcmFtczphfX0oKX0pfX07TjNbXy5Mbl09W0ozXTt2YXIgTzM9Y2xhc3MgZXh0ZW5kcyB1NXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5vPWE7dGhpcy5qPWJ9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLmosYz10aGlzLm87cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9YS55dFJlcXVlc3QsZT1hLmNodW5rQ2FsbGJhY2ssZj17dHlwZToiUEFHRV9DT05UUkFDVCJ9O2lmKGI/LmNJKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KSl7bGV0IGs9eWllbGQqcDMoazMoYi5PSihkLmlucHV0LGQuaW5uZXJUdWJlUmVxdWVzdCkpKTtpZihrKXtsZXQgbD0hMTt2YXIgaD1mdW5jdGlvbihtLG4pe3JldHVybiBmdW5jdGlvbiooKXt2YXIgcD1jKCk7eWllbGQqcDMoSDMocCx7d2lyZVJlc3BvbnNlOm4seXRSZXF1ZXN0OmQsY2h1bmtDYWxsYmFjazplLHJlc3BvbnNlUGF5bG9hZDpmfSkpO2w9ITB9KCl9O2sucGxheWVyUmVzcG9uc2UmJih5aWVsZCpoKGsucGxheWVyUmVzcG9uc2Use3BsYXllclJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2V9KSk7Cmsud2F0Y2hOZXh0UmVzcG9uc2UmJih5aWVsZCpoKGsud2F0Y2hOZXh0UmVzcG9uc2Use3dhdGNoTmV4dFJlc3BvbnNlOmsud2F0Y2hOZXh0UmVzcG9uc2V9KSk7bHx8KGg9YygpLHlpZWxkKnAzKEgzKGgse3dpcmVSZXNwb25zZTprLHl0UmVxdWVzdDpkLGNodW5rQ2FsbGJhY2s6ZSxyZXNwb25zZVBheWxvYWQ6Zn0pKSk7aWYoZSlyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTpmfTtoPWYuY29udGVudHx8Zi5wbGF5ZXJ8fGYuZG47cmV0dXJuIGYudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmaD97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpofTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTprfX19cmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiTmUiKX19KCl9KX19O08zW18uTG5dPVthNCxfLkluKHg1KV07dmFyIHk1PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYix7c3RhdHVzOmMsLi4uW119KTt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1jO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciByND1uZXcgXy5WcygiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFAzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLlNhPWE7dGhpcy5qPWI7dGhpcy52PWM7dGhpcy5vPWR9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLlNhLGM9dGhpcy5qLGQ9dGhpcy52LGU9dGhpcy5vO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBmPWEueXRSZXF1ZXN0LGg9YS5jaHVua0NhbGxiYWNrLGs9Zi5jb25maWc/LnJlcXVlc3RLZXksbD1KU09OLnN0cmluZ2lmeShmLmlubmVyVHViZVJlcXVlc3QpLG09ey4uLmYud2IsYm9keTpmLndiLm1ldGhvZD09PSJQT1NUIj9sOnZvaWQgMH07Zi5jb25maWc/LmtuJiZfLkFxKGYuY29uZmlnLmtuKTt2YXIgbj17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHA9MCxyPXo9PntJMyhkKCkse3dpcmVSZXNwb25zZTp6LHl0UmVxdWVzdDpmLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6bn0scCsrKX07bD0oKT0+aD9iLmZldGNoKGYuaW5wdXQsCm0sZi5jb25maWcscik6Yi5mZXRjaChmLmlucHV0LG0sZi5jb25maWcpO3RyeXt2YXIgdD1lP2UuSksoZixsKTpsKCl9Y2F0Y2goeil7dD1Qcm9taXNlLnJlamVjdCh6KX1rJiZjJiZjLnNldChrLHQpO3RyeXt2YXIgdj15aWVsZCpwMyhrMyh0KSl9Y2F0Y2goeil7cmV0dXJuIF8ueCgid2ViX2VuYWJsZV9yZXRyaWVzIikmJih2PXogaW5zdGFuY2VvZiBUeXBlRXJyb3ImJnoubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giPzE6MCxHMyh2KSk/e25leHRTdGF0ZToiUkVUUlkiLHBhcmFtczp7Li4uYSxlcnJvcjpuZXcgeTUodix6Lm1lc3NhZ2UpLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fX1rJiZjJiZjLmRlbGV0ZShrKTt3MCh2MChmLmlucHV0KSkoKTtmLmNvbmZpZz8ucG4mJl8uQXEoZi5jb25maWcucG4pO2lmKCF2KXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fTtpZih2JiZ0eXBlb2Ygdj09PQoib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodikmJihrPXYsay5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJihrPWsuZXJyb3JNZXRhZGF0YS5zdGF0dXMsdD1rPT09NTAzfHxrPT09NTA0fHxrPT09NDI5PzI6az49NDAwJiZrPDUwMHx8az49NTAwPzM6MCxHMyh0KSYmXy54KCJ3ZWJfZW5hYmxlX3JldHJpZXMiKSkpKXJldHVybntuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLmEsZXJyb3I6bmV3IHk1KHQsYEhUVFAgU3RhdHVzICR7a31gLGspLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OyFoJiZ2JiYoaz1kKCksaz15aWVsZCpwMyhJMyhrLHt3aXJlUmVzcG9uc2U6dix5dFJlcXVlc3Q6ZixyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifX0pKSx0PWsuY29udGVudHx8ay5wbGF5ZXJ8fGsuZG4say50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZ0JiYodj10KSk7az12O2lmKEFycmF5LmlzQXJyYXkodikpaWYodj12LmZpbHRlcih6PT4hKHoucGxheWVyUmVzcG9uc2V8fAp6LndhdGNoTmV4dFJlc3BvbnNlfHx6KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLHYubGVuZ3RoPT09MSlrPXZbMF07ZWxzZSBpZih2Lmxlbmd0aD4xKWs9di5maW5kKHo9Pnoud2F0Y2hOZXh0UmVzcG9uc2UpfHx2WzBdO2Vsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiT2UiKX07cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aCYmIV8ueCgid2ViX25tX2ZldGNoX2NodW5rX2NhbGxiYWNrX2tzIik/bjprfX0oKX0pfX07UDNbXy5Mbl09W3I0LEozLGE0LF8uSW4obmV3IF8uVnMoIlJFUVVFU1RfU0VRVUVOQ0lORyIpKV07dmFyIFEzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5qLGM9dGhpcy5vLGQ9YS55dFJlcXVlc3Q7cmV0dXJuIGI/LlBLKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KT9vMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBlPXlpZWxkKnAzKGszKGIuUEooZC5pbnB1dCxkLmlubmVyVHViZVJlcXVlc3QpKSksZj1jKCk7aWYoZS5wbGF5ZXJSZXNwb25zZSYmZS53YXRjaE5leHRSZXNwb25zZSl7dmFyIGg9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTplLnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZS5wbGF5ZXJSZXNwb25zZX0pKTtoPXlpZWxkKnAzKEgzKGYsCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOmUud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDphLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTplLndhdGNoTmV4dFJlc3BvbnNlfSkpfWVsc2UgaD15aWVsZCpwMyhIMyhmLHt3aXJlUmVzcG9uc2U6ZSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZX0pKTtmPWguY29udGVudHx8aC5wbGF5ZXJ8fGguZG47aC50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZmJiYoZT1mKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTplfX0oKX0pOmszKHtuZXh0U3RhdGU6IkNPTlRFWFQiLHBhcmFtczphfSl9fTtRM1tfLkxuXT1bYTQsXy5Jbih4NSldO3ZhciBSMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3RyeXt2YXIgYz15aWVsZCpwMyhkdWEoYixhLmNvbW1hbmQsISFhLmNodW5rQ2FsbGJhY2spKX1jYXRjaChkKXtyZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOmR9fXJldHVybihjPWMuRChhLmNvbW1hbmQsYS5mb3JtLGEuaWRlbnRpdHkpKT97bmV4dFN0YXRlOiJDQUNIRSIscGFyYW1zOnt5dFJlcXVlc3Q6YyxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFja319OntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIlBlIil9fSgpfSl9fTtSM1tfLkxuXT1bdTRdO3ZhciBTMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6ZCxjb25maWc6ZT17UmQ6e2lkZW50aXR5OkEzfX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTpmPSEwLGNodW5rQ2FsbGJhY2s6aH09YTtiLmNvbnRleHR8fChiLmNvbnRleHQ9dzMoZCxmKSk7dmFyIGs9WDAoWTAoYykpO3JldHVybntuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDp7aW5wdXQ6ayx3YjpaMChrKSxpbm5lclR1YmVSZXF1ZXN0OmIsY29uZmlnOmV9LGNodW5rQ2FsbGJhY2s6aH19fSgpfSl9fTt2YXIgVjM9Y2xhc3MgZXh0ZW5kcyB0NXt9O1YzW18uTG5dPVtVM107dmFyIFQzPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLnl0UmVxdWVzdCxjPWEuZXJyb3IsZD1hLmF0dGVtcHQsZT1hLmNodW5rQ2FsbGJhY2ssZj1iLmNvbmZpZz8uREs7aWYoIShmJiZjIGluc3RhbmNlb2YgeTUmJkczKGMudHlwZSkpfHxkPihmLm1heFJldHJpZXM/PzApKXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZX19O3ZhciBoPShjPWYuWEgpP2MuY0ooZCk6LTE7aD09PS0xJiYoaD0xRTMpO2YuQ3khPT12b2lkIDAmJihoPU1hdGgubWluKGgsZi5DeSkpO3lpZWxkKnAzKGszKG5ldyBQcm9taXNlKGs9PntfLk50KGssaCl9KSkpO3JldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZSxhdHRlbXB0OmR9fX0oKX0pfX07dmFyIFczPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLmNodW5rQ2FsbGJhY2ssYz1hLnJlc3BvbnNlUGF5bG9hZCxkPWEud2lyZVJlc3BvbnNlO2ImJihiKGMpLCJwbGF5ZXJSZXNwb25zZSJpbiBkJiZkLnBsYXllclJlc3BvbnNlJiYoXy5DaygpLChiPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpKSYmYig0KSkpO3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmN9fSgpfSl9fTt2YXIgbndhPVsidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5Ccm93c2VSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGxheWVyUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBhbmVsUmVzcG9uc2UiXSxYMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGI9YS5vbmVQbGF0Zm9ybUVycm9yO2lmKGImJiJkZXRhaWxzImluIGImJmIuZGV0YWlscyl7Yj1iLmRldGFpbHM7Zm9yKGxldCBjIG9mIGIpaWYoKGI9Y1siQHR5cGUiXSkmJm53YS5pbmRleE9mKGIpPi0xKXJldHVybiBkZWxldGUgY1siQHR5cGUiXSx7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIiwKcGFyYW1zOnsuLi5hLGV4dHJhY3RlZFJlc3BvbnNlOmN9fX1yZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOkVycm9yKCJTZSIpfX0oKX0pfX07dmFyIFkzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLmV4dHJhY3RlZFJlc3BvbnNlLGQ9YS55dFJlcXVlc3QsZT1hLnJlc3BvbnNlUGF5bG9hZCxmPWEud2lyZVJlc3BvbnNlO2lmKGMmJiEoImNvZGUiaW4gY3x8ImVycm9yImluIGMpJiYhYy5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2YgRjMpYltoXSYmYltoXS5oYW5kbGVSZXNwb25zZShjLGQpO2Yud2F0Y2hOZXh0UmVzcG9uc2V8fGYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2Yud2F0Y2hOZXh0UmVzcG9uc2U/ZS5jb250ZW50PWYud2F0Y2hOZXh0UmVzcG9uc2U6ZS5jb250ZW50PWYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmYucGxheWVyUmVzcG9uc2U/ZS5wbGF5ZXI9Zi5wbGF5ZXJSZXNwb25zZTpmLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CmUuZG49Zi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmUuY29udGVudD1mO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczphfX0oKX0pfX07WTNbXy5Mbl09W18uSnldO3ZhciBiND1jbGFzcyBleHRlbmRzIHQ1e307YjRbXy5Mbl09WyQzXTt2YXIgWjM9Y2xhc3MgZXh0ZW5kcyB1NXtleGVjdXRlKGEpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPWEud2lyZVJlc3BvbnNlLGM7QXJyYXkuaXNBcnJheShiKT9jPWJbMF06dHlwZW9mIGI9PT0ib2JqZWN0IiYmYiE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gYnx8IndhdGNoTmV4dFJlc3BvbnNlImluIGJ8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gYnx8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gYik/Yz1iLnBsYXllclJlc3BvbnNlfHxiLndhdGNoTmV4dFJlc3BvbnNlfHxiLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Yi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmM9YjtyZXR1cm4gYyYmImVycm9yImluIGM/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4uYSxvbmVQbGF0Zm9ybUVycm9yOmMuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLmEsZXh0cmFjdGVkUmVzcG9uc2U6Y319fSgpfSl9fTt2YXIgb3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBpd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxkd2EpfHx2b2lkIDB9aihhLGIsYz17fSl7Yi5jaGFubmVsSWRzJiYoYS5jaGFubmVsSWRzPWIuY2hhbm5lbElkcyk7Yi5zaWxvTmFtZSYmKGEuc2lsb05hbWU9Yi5zaWxvTmFtZSk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yy5ib3RndWFyZFJlc3BvbnNlJiYoYS5ib3RndWFyZFJlc3BvbnNlPWMuYm90Z3VhcmRSZXNwb25zZSk7Yy5mZWF0dXJlJiYoYS5jbGllbnRGZWF0dXJlPWMuZmVhdHVyZSl9fTt2YXIgcHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBqd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLkR5KXx8dm9pZCAwfWooYSxiKXtiLmNoYW5uZWxJZHMmJihhLmNoYW5uZWxJZHM9Yi5jaGFubmVsSWRzKTtiLnNpbG9OYW1lJiYoYS5zaWxvTmFtZT1iLnNpbG9OYW1lKTtiLnBhcmFtcyYmKGEucGFyYW1zPWIucGFyYW1zKX19O3ZhciB6NT1jbGFzcyBleHRlbmRzIHc1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5JPWF9digpe3JldHVybiBld2F9byhhKXtyZXR1cm4gXy5CKGEsXy5aeil8fF8uQihhLF8uTWFhKXx8Xy5CKGEsXy5Zeil9aihhLGIpe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtiLmNsaWVudFBhcmFtSWRlbnRpZmllciYmdGhpcy5JPy5qKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKGEuY2xpZW50UGFyYW1zPXRoaXMuSS5vKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSl9fTt6NVtfLkxuXT1bbmV3IF8uVnMoIlNIQVJFX0NMSUVOVF9QQVJBTVNfUFJPVklERVJfVE9LRU4iKV07dmFyIHF3YT1jbGFzcyBleHRlbmRzIHc1e3YoKXtyZXR1cm4gcTV9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLlV6KXx8dm9pZCAwfWooYSxiLGMpe2EuZmVlZGJhY2tUb2tlbnM9W107Yi5mZWVkYmFja1Rva2VuJiZhLmZlZWRiYWNrVG9rZW5zLnB1c2goYi5mZWVkYmFja1Rva2VuKTtpZihiPWIuY3BufHxjLmNwbilhLmZlZWRiYWNrQ29udGV4dD17Y3BuOmJ9O2EuaXNGZWVkYmFja1Rva2VuVW5lbmNyeXB0ZWQ9ISFjLmlzX2ZlZWRiYWNrX3Rva2VuX3VuZW5jcnlwdGVkO2Euc2hvdWxkTWVyZ2U9ITE7Yy5leHRyYV9mZWVkYmFja190b2tlbnMmJihhLnNob3VsZE1lcmdlPSEwLGEuZmVlZGJhY2tUb2tlbnM9YS5mZWVkYmFja1Rva2Vucy5jb25jYXQoYy5leHRyYV9mZWVkYmFja190b2tlbnMpKX19O3ZhciByd2E9Y2xhc3MgZXh0ZW5kcyB3NXt2KCl7cmV0dXJuIHE1fW8oYSl7cmV0dXJuIF8uQihhLF8uQ3kpfWdldCBCKCl7cmV0dXJuITB9aihhLGIpe2IudW5kb1Rva2VuJiYoYS5mZWVkYmFja1Rva2Vucz1bYi51bmRvVG9rZW5dKTtiLmlzVW5kb1Rva2VuVW5lbmNyeXB0ZWQmJihhLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPWIuaXNVbmRvVG9rZW5VbmVuY3J5cHRlZCl9fTt2YXIgc3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBnd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5CeSl8fHZvaWQgMH1qKGEsYil7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5zZWNvbmRhcnlQYXJhbXMmJihhLnNlY29uZGFyeVBhcmFtcz1iLnNlY29uZGFyeVBhcmFtcyl9fTt2YXIgdHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBod2F9byhhKXtyZXR1cm4gXy5CKGEsXy5Beil8fHZvaWQgMH1qKGEsYil7Yi5hY3Rpb25zJiYoYS5hY3Rpb25zPWIuYWN0aW9ucyk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5wbGF5bGlzdElkJiYoYS5wbGF5bGlzdElkPWIucGxheWxpc3RJZCl9fTt2YXIgdXdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBmd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5OYWEpfWooYSxiLGM9e30pe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtjLmluY2x1ZGVMaXN0SWQmJihhLmluY2x1ZGVMaXN0SWQ9ITApfX07dmFyIHZ3YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5yZXF1ZXN0S2V5PWE7dGhpcy5CPWI7dGhpcy5vPWM7dGhpcy5EPSgpPT5uZXcgWE1MSHR0cFJlcXVlc3Q7dGhpcy5qPXZvaWQgMDt0aGlzLnY9W119Z2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKXtyZXR1cm4gdGhpcy5vfX07dmFyIG91YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj0wO3RoaXMuWGc9Yj8uWGc/P3dpbmRvdzt0aGlzLnltPWI/LnltO3RoaXMucmVxdWVzdEtleT1iPy5yZXF1ZXN0S2V5Pz8oXy50aigicGFyX2Jpcl9rZXkiKXx8Ik80M3owZHBqaGdYMjBTQ3g0S0FvIik7dGhpcy5Icz1iPy5Icz8/KGQ9Pm5ldyBxMihkKSk7dmFyIGM9Yj8uVkk/PygoZCxlLGYpPT5uZXcgdndhKGQsZSxmKSk7dGhpcy5iZ0NoYWxsZW5nZT1TMihhLmJnQ2hhbGxlbmdlKTt0aGlzLnR0bFNlY29uZHM9VTIoVDIoYS5jaGFsbGVuZ2V8fCIiKSk7dGhpcy5vZD1jKHRoaXMucmVxdWVzdEtleSxfLngoInBhcl9hdF9lcCIpP1sid3d3LnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSJdLmluY2x1ZGVzKF8udS5sb2NhdGlvbi5ob3N0bmFtZSk/Ii9hcGkvam5uL3YxL0dlbmVyYXRlSVQiOiJodHRwczovL2pubi1wYS5nb29nbGVhcGlzLmNvbS8kcnBjL2dvb2dsZS5pbnRlcm5hbC53YWEudjEuV2FhL0dlbmVyYXRlSVQiOgoiaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20vJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixhKTt0aGlzLkpzPWI/LkpzO251YSh0aGlzLm9kKTt0aGlzLkdyPWI/LkdyPz8oZD0+e18uU2UodGhpcy5YZy5kb2N1bWVudCwidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pnt0aGlzLlhnLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIiYmZCgpfSl9KX12KCl7RGF0ZS5ub3coKT50aGlzLmordGhpcy50dGxTZWNvbmRzKjFFMyYmdGhpcy52bT8uVSgpfX07dmFyIHV1YT1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSx3d2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy52bT1udWxsO3RoaXMuaj12b2lkIDB9aW5pdGlhbGl6ZShhLGIsYyxkKXt0aGlzLmo9ZDtpZihhLnByb2dyYW0pe3ZhciBlO2Q9YS5pbnRlcnByZXRlclVybD8/bnVsbDthLmludGVycHJldGVyU2FmZVNjcmlwdD9lPVlfKGEuaW50ZXJwcmV0ZXJTYWZlU2NyaXB0KTplPWEuaW50ZXJwcmV0ZXJTY3JpcHQ/P251bGw7YS5pbnRlcnByZXRlclNhZmVVcmwmJihkPV8uaHcoYS5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO3R1YSh0aGlzLGUsZCxhLnByb2dyYW0sYixjKX1lbHNlIF8uSXAoRXJyb3IoIlVlIikpfWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy52KCl9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PQoyfWludm9rZShhPXt9KXtyZXR1cm4gdGhpcy52KCk/dGhpcy5CKHtLYzphfSk6bnVsbH1kaXNwb3NlKCl7dGhpcy5vKG51bGwpO3RoaXMuUyg4KX12KCl7cmV0dXJuISF0aGlzLnZtfUIoYSl7cmV0dXJuIHRoaXMudm0uWHIoYSl9byhhKXtfLlpkKHRoaXMudm0pO3RoaXMudm09YX1TKGEpe3RoaXMuc3RhdGU9YX19O3ZhciB4d2E9Y2xhc3MgZXh0ZW5kcyB3d2F7byhhKXttNCgpPy5iZ3ZtYSgpO2lmKGEpe2xldCBiPXtiZ3ZtYTphLmRpc3Bvc2UuYmluZChhKSxiZ3ZtYjphLnNuYXBzaG90LmJpbmQoYSksYmd2bWM6YS5Yci5iaW5kKGEpfTtfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLGIpO18uRmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsYz0+YS5zbmFwc2hvdChjKSl9ZWxzZSBfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLF8ucmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9digpe3JldHVybiEhbTQoKX1CKGEpe3JldHVybiBtNCgpLmJndm1jKGEpfX07dmFyIHl3YT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoKXtzdXBlcigiZG9jdW1lbnRfYWN0aXZlIik7dGhpcy52PTEwO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF9hY3RpdmUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIsYWN0aW9uOnRoaXMuWX0se2Zyb206ImRvY3VtZW50X2FjdGl2ZSIsdG86ImRvY3VtZW50X2Rpc3Bvc2VkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZmx1c2hfbG9ncyIsYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJmbHVzaF9sb2dzIiwKYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOigpPT57fX0se2Zyb206ImZsdXNoX2xvZ3MiLHRvOiJkb2N1bWVudF9hY3RpdmUiLGFjdGlvbjp0aGlzLkR9XTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLGE9Pnt0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIix7ZXZlbnQ6YX0pO2EucGVyc2lzdGVkPT09ITEmJih0aGlzLm89bmV3IE1hcCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIse2V2ZW50OmF9KX0pfVkoYSxiKXtpZighdGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiKSYmKGEoYj8uZXZlbnQpLGI/LmV2ZW50Py5kZWZhdWx0UHJldmVudGVkfHwKYj8uZXZlbnQ/LnJldHVyblZhbHVlKSl7Yi5ldmVudC5yZXR1cm5WYWx1ZXx8KGIuZXZlbnQucmV0dXJuVmFsdWU9ITApO2IuZXZlbnQuZGVmYXVsdFByZXZlbnRlZHx8Yi5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIik7cmV0dXJufXRoaXMuby5zZXQoImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIiwhMCk7dGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWQiKT90aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKTp0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIil9SyhhLGIpe3RoaXMuby5nZXQoImRvY3VtZW50X2Rpc3Bvc2VkIik/dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9hY3RpdmUiKTooYShiPy5ldmVudCksdGhpcy5vLnNldCgiZG9jdW1lbnRfZGlzcG9zZWQiLCEwKSx0aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKSl9SShhLGIpe2EoYj8uZXZlbnQpO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIil9RCgpe3RoaXMubz0KbmV3IE1hcH19O3ZhciB6d2E9Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoImRvY3VtZW50X3Zpc2liaWxpdHlfdW5rbm93biIpO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF92aXNpYmlsaXR5X3Vua25vd24iLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfYmFja2dyb3VuZGVkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X3Zpc2libGUiLHRvOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLAphY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X3Zpc2libGUiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfaGlkZGVuIix0bzoiZG9jdW1lbnRfdmlzaWJsZSIsYWN0aW9uOnRoaXMuRH0se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2JhY2tncm91bmRlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X2JhY2tncm91bmRlZCIsdG86ImRvY3VtZW50X2hpZGRlbiIsCmFjdGlvbjp0aGlzLm99LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfV07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIj90aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X3Zpc2libGUiLHtldmVudDphfSk6dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9oaWRkZW4iLHtldmVudDphfSl9KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHtldmVudDphfSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLAphPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHtldmVudDphfSl9KSl9RChhLGIpe2EoYj8uZXZlbnQpO18ueCgidmlzaWJpbGl0eV9saWZlY3ljbGVzX2R5bmFtaWNfYmFja2dyb3VuZGluZyIpJiZ0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2ZvcmVncm91bmRlZCIpfW8oYSxiKXthKGI/LmV2ZW50KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmdGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiKX1LKGEsYil7YShiPy5ldmVudCl9SShhLGIpe2EoYj8uZXZlbnQpfX07dmFyIEF3YT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj1uZXcgeXdhO3RoaXMuRD1uZXcgendhfWluc3RhbGwoLi4uYSl7YS5mb3JFYWNoKGI9Pnt0aGlzLkIuaW5zdGFsbChiKX0pO2EuZm9yRWFjaChiPT57dGhpcy5ELmluc3RhbGwoYil9KX19O3ZhciBPND1jbGFzcyBleHRlbmRzIEF3YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5qfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmdGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5vfX0pO3RoaXMuaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6dGhpcy52fX0pO18ueCgid2ViX2xvZ19jZmdfY2VlX2tzIil8fF8uWWoodnVhKX12KCl7Xy5FcCgiZmluYWxQYXlsb2FkIix7Y3NuOl8uaXEoKX0pfWooKXtfLm15KF8uRXkpO18uRnkhPW51bGwmJl8uRnkuZmx1c2goKX1vKCl7Xy5reChfLmh4KCkpfX07dmFyIG40PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEsYik7dGhpcy5lcnJvclR5cGU9MTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgczQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YXN5bmMgZmV0Y2goYSxiLGMsZCl7YT13dWEodGhpcyxhLGIpO3RyeXtsZXQgZT1hd2FpdCBmZXRjaChhKTtpZihkJiZlLm9rJiZlLmJvZHkmJnR5cGVvZiBlLmJvZHkuZ2V0UmVhZGVyPT09ImZ1bmN0aW9uIil7bGV0IGY9ZS5jbG9uZSgpLmJvZHkuZ2V0UmVhZGVyKCkse3ZhbHVlOmh9PWF3YWl0IGYucmVhZCgpO2YuY2FuY2VsKCkuY2F0Y2goKCk9Pnt9KTtpZihoJiZoWzBdPT09OTEpe2xldCBrPWUuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBvNCh0aGlzLGssbmV3IHoyLFtdLGQpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZShlLGMpfWNhdGNoKGUpe2lmKF8uSXAoZSksYz8uUHYmJmUgaW5zdGFuY2VvZiBuNCYmZS5lcnJvclR5cGU9PT0xKXRocm93IGU7fX1oYW5kbGVSZXNwb25zZShhLGIpe3ZhciBjPWEudGV4dCgpLnRoZW4oZD0+e2lmKGI/Lmd5JiYKYS5vaylyZXR1cm4gXy5YeChiLmd5LGQpO2Q9ZC5yZXBsYWNlKCIpXX0nIiwiIik7aWYoYj8uUHYmJmQpdHJ5e3ZhciBlPUpTT04ucGFyc2UoZCl9Y2F0Y2goZil7dGhyb3cgbmV3IG40KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiBlPz9KU09OLnBhcnNlKGQpfSk7YS5yZWRpcmVjdGVkfHxhLm9rP3RoaXMuaiYmdGhpcy5qLnN1Y2Nlc3MoKToodGhpcy5qJiZ0aGlzLmouU0koKSxjPWMudGhlbihkPT57Xy5JcChuZXcgXy5YaigiRXJyb3I6IEFQSSBmZXRjaCBmYWlsZWQiLGEuc3RhdHVzLGEudXJsLGQpKTtyZXR1cm57Li4uZCxlcnJvck1ldGFkYXRhOntzdGF0dXM6YS5zdGF0dXN9fX0pKTtyZXR1cm4gY319O3M0W18uTG5dPVtfLkluKG5ldyBfLlZzKCJORVRXT1JLX1NMSV9UT0tFTiIpKV07dmFyIHA0PWNsYXNze3N0YXRpYyBqYygpe3ZhciBhPV8uc2EoInl0Z2xvYmFsLnN0b3JhZ2VfIik7YXx8KGE9bmV3IHA0LF8ucmEoInl0Z2xvYmFsLnN0b3JhZ2VfIixhKSk7cmV0dXJuIGF9YXN5bmMgZXN0aW1hdGUoKXt2YXIgYT1uYXZpZ2F0b3I7aWYoYS5zdG9yYWdlPy5lc3RpbWF0ZSlyZXR1cm4gYS5zdG9yYWdlLmVzdGltYXRlKCk7aWYoYS53ZWJraXRUZW1wb3JhcnlTdG9yYWdlPy5xdWVyeVVzYWdlQW5kUXVvdGEpcmV0dXJuIHh1YSgpfWFzeW5jIHBlcnNpc3QoKXt2YXIgYT1uYXZpZ2F0b3I7cmV0dXJuIGEuc3RvcmFnZT8ucGVyc2lzdD9hd2FpdCBhLnN0b3JhZ2U/LnBlcnNpc3QoKT8iUEVSU0lTVEVEX1NUQVRFX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX1NVUFBPUlRFRCJ9fTtfLnJhKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixwNCk7dmFyIEFyYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaGFuZGxlRXJyb3I9YTt0aGlzLmo9Yjt0aGlzLm89ITE7c2VsZi5kb2N1bWVudD09PXZvaWQgMHx8c2VsZi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgpPT57dGhpcy5vPSEwfSk7dGhpcy52PU1hdGgucmFuZG9tKCk8PS4yfUpiKGEpe3RoaXMuaGFuZGxlRXJyb3IoYSl9bG0oYSxiKXtzd2l0Y2goYSl7Y2FzZSAiSURCX0RBVEFfQ09SUlVQVEVEIjpfLngoImlkYl9kYXRhX2NvcnJ1cHRlZF9raWxsc3dpdGNoIil8fHRoaXMuaigiaWRiRGF0YUNvcnJ1cHRlZCIsYik7YnJlYWs7Y2FzZSAiSURCX1VORVhQRUNURURMWV9DTE9TRUQiOnRoaXMuaigiaWRiVW5leHBlY3RlZGx5Q2xvc2VkIixiKTticmVhaztjYXNlICJJU19TVVBQT1JURURfQ09NUExFVEVEIjpfLngoImlkYl9pc19zdXBwb3J0ZWRfY29tcGxldGVkX2tpbGxzd2l0Y2giKXx8dGhpcy5qKCJpZGJJc1N1cHBvcnRlZENvbXBsZXRlZCIsYik7YnJlYWs7CmNhc2UgIlFVT1RBX0VYQ0VFREVEIjp5dWEodGhpcyxiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9FTkRFRCI6dGhpcy52JiZNYXRoLnJhbmRvbSgpPD0uMSYmdGhpcy5qKCJpZGJUcmFuc2FjdGlvbkVuZGVkIixiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCI6dGhpcy5qKCJpZGJUcmFuc2FjdGlvbkFib3J0ZWQiLHsuLi5iLGhhc1dpbmRvd1VubG9hZGVkOnRoaXMub30pfX19O3ZhciBBNT0hMTt2YXIgQ3VhPXtGaTp7ZmVlZGJhY2tFbmRwb2ludDp5Myhxd2EpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6eTMoc3dhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDp5Myh0d2EpLHNoYXJlRW50aXR5RW5kcG9pbnQ6eTMoejUpLHN1YnNjcmliZUVuZHBvaW50OnkzKG93YSksdW5kb0ZlZWRiYWNrRW5kcG9pbnQ6eTMocndhKSx1bnN1YnNjcmliZUVuZHBvaW50OnkzKHB3YSksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6eTModXdhKX19O3ZhciBGdWE9bmV3IE1hcCxFdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMud2ViUGxheWVyQ29udGV4dENvbmZpZz1iO3RoaXMuaj1jO3RoaXMuRWo9ZDt0aGlzLnBsYXllclZhcnM9ZTtKdWEodGhpcyl9bGEoKXt0aGlzLmFwaSYmdGhpcy5hcGkuZGVzdHJveSgpO1dfKHRoaXMuY29udGFpbmVyKTtzdXBlci5sYSgpfX07dmFyIEJ3YT17WyJhcGkuaW52YWxpZHBhcmFtIl06MixhdXRoOjE1MCxbImRybS5hdXRoIl06MTUwLFsiaGVhcnRiZWF0Lm5ldCJdOjE1MCxbImhlYXJ0YmVhdC5zZXJ2ZXJlcnJvciJdOjE1MCxbImhlYXJ0YmVhdC5zdG9wIl06MTUwLFsiaHRtbDUudW5zdXBwb3J0ZWRhZHMiXTo1LFsiZm10Lm5vbmVhdmFpbGFibGUiXTo1LFsiZm10LmRlY29kZSJdOjUsWyJmbXQudW5wbGF5YWJsZSJdOjUsWyJodG1sNS5taXNzaW5nYXBpIl06NSxbImh0bWw1LnVuc3VwcG9ydGVkbGl2ZSJdOjUsWyJkcm0udW5hdmFpbGFibGUiXTo1LFsibXJtLmJsb2NrZWQiXToxNTEsWyJlbWJlZGRlci5pZGVudGl0eS5kZW5pZWQiXToxNTIsWyJlbWJlZGRlci5pZGVudGl0eS5taXNzaW5nLnJlZmVycmVyIl06MTUzfTt2YXIgTHVhPW5ldyBTZXQoImVuZFNlY29uZHMgc3RhcnRTZWNvbmRzIG1lZGlhQ29udGVudFVybCBzdWdnZXN0ZWRRdWFsaXR5IHZpZGVvSWQgcmN0IHJjdG4gcGxheW11dGVkIG11dGVkX2F1dG9wbGF5X2R1cmF0aW9uX21vZGUiLnNwbGl0KCIgIikpO3ZhciBXdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7dmFyIGE9TDQsYj1INDtzdXBlcigpO3RoaXMuYXBpPWE7dGhpcy52PXRoaXMuTT0hMTt0aGlzLlU9W107dGhpcy5aPXt9O3RoaXMuQj1bXTt0aGlzLm89W107dGhpcy5oYT0hMTt0aGlzLnNlc3Npb25JZD10aGlzLmo9bnVsbDt0aGlzLnRhcmdldE9yaWdpbj0iKiI7dGhpcy5nYT1fLngoIndlYl9wbGF5ZXJfc3BsaXRfZXZlbnRfYnVzX2lmcmFtZSIpO3RoaXMuST1fLncoIlBPU1RfTUVTU0FHRV9PUklHSU4iKXx8YCR7ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfWA7dGhpcy5EPWM9Pnt0aGlzLm9uTWVzc2FnZShjKX07QjUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5EKTtpZihhPV8udygiV0lER0VUX0lEIikpdGhpcy5zZXNzaW9uSWQ9YTtiJiZ0aGlzLkQoYik7QTQodGhpcywib25SZWFkeSIsKCk9Pnt0aGlzLk09ITA7dmFyIGM9dGhpcy5hcGkuZ2V0VmlkZW9EYXRhKCk7CmMuaXNQbGF5YWJsZXx8KHRoaXMuaGE9ITAsdGhpcy5lcnJvckNvZGU9KGM9Yy5lcnJvckNvZGUpP0J3YVtjXXx8NTo1LHRoaXMuc2VuZE1lc3NhZ2UoIm9uRXJyb3IiLE51bWJlcih0aGlzLmVycm9yQ29kZSkpKTtENCh0aGlzKTt0aGlzLmp8fHRoaXMudnx8d2luZG93LnBhcmVudD09PXdpbmRvd3x8IXRoaXMuc2Vzc2lvbklkfHxDNCh0aGlzLHtldmVudDoicmVhZHlUb0xpc3RlbiJ9LHdpbmRvdy5wYXJlbnQpfSk7QTQodGhpcywib25WaWRlb1Byb2dyZXNzIix0aGlzLmZjLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uVm9sdW1lQ2hhbmdlIix0aGlzLlZkLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uQXBpQ2hhbmdlIix0aGlzLm9hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tRdWFsaXR5Q2hhbmdlIix0aGlzLk1hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tSYXRlQ2hhbmdlIix0aGlzLlFhLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uU3RhdGVDaGFuZ2UiLHRoaXMuRWIuYmluZCh0aGlzKSk7CkE0KHRoaXMsIm9uV2ViZ2xTZXR0aW5nc0NoYW5nZWQiLHRoaXMuRmwuYmluZCh0aGlzKSk7QTQodGhpcywib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLHRoaXMueWEuYmluZCh0aGlzKSk7QTQodGhpcywiY2FwdGlvbnNzZXR0aW5nc2NoYW5nZWQiLHRoaXMuRmEuYmluZCh0aGlzKSl9c2VuZE1lc3NhZ2UoYSxiKXthPXtldmVudDphLGluZm86Yj09PXZvaWQgMD9udWxsOmJ9O3RoaXMudj9DNCh0aGlzLGEpOnRoaXMuVS5wdXNoKGEpfUViKGEpe2E9e3BsYXllclN0YXRlOmEsY3VycmVudFRpbWU6dGhpcy5hcGkuZ2V0Q3VycmVudFRpbWUoKSxkdXJhdGlvbjp0aGlzLmFwaS5nZXREdXJhdGlvbigpLHZpZGVvRGF0YTp0aGlzLmFwaS5nZXRWaWRlb0RhdGEoKSx2aWRlb1N0YXJ0Qnl0ZXM6MCx2aWRlb0J5dGVzVG90YWw6dGhpcy5hcGkuZ2V0VmlkZW9CeXRlc1RvdGFsKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCkscGxheWJhY2tRdWFsaXR5OnRoaXMuYXBpLmdldFBsYXliYWNrUXVhbGl0eSgpLAphdmFpbGFibGVRdWFsaXR5TGV2ZWxzOnRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSxjdXJyZW50VGltZUxhc3RVcGRhdGVkXzpEYXRlLm5vdygpLzFFMyxwbGF5YmFja1JhdGU6dGhpcy5hcGkuZ2V0UGxheWJhY2tSYXRlKCksbWVkaWFSZWZlcmVuY2VUaW1lOnRoaXMuYXBpLmdldE1lZGlhUmVmZXJlbmNlVGltZSgpfTt0aGlzLmFwaS5nZXRWaWRlb1VybCYmKGEudmlkZW9Vcmw9dGhpcy5hcGkuZ2V0VmlkZW9VcmwoKSk7dGhpcy5hcGkuZ2V0VmlkZW9Db250ZW50UmVjdCYmKGEudmlkZW9Db250ZW50UmVjdD10aGlzLmFwaS5nZXRWaWRlb0NvbnRlbnRSZWN0KCkpO3RoaXMuYXBpLmdldFByb2dyZXNzU3RhdGUmJihhLnByb2dyZXNzU3RhdGU9dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSgpKTt0aGlzLmFwaS5nZXRQbGF5bGlzdCYmKGEucGxheWxpc3Q9dGhpcy5hcGkuZ2V0UGxheWxpc3QoKSk7dGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCYmKGEucGxheWxpc3RJbmRleD0KdGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCgpKTtFNCh0aGlzLGEpfU1hKGEpe2E9e3BsYXliYWNrUXVhbGl0eTphfTt0aGlzLmFwaS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzJiYoYS5hdmFpbGFibGVRdWFsaXR5TGV2ZWxzPXRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSk7dGhpcy5hcGkuZ2V0UHJlZmVycmVkUXVhbGl0eSYmKGEucHJlZmVycmVkUXVhbGl0eT10aGlzLmFwaS5nZXRQcmVmZXJyZWRRdWFsaXR5KCkpO0U0KHRoaXMsYSl9UWEoYSl7RTQodGhpcyx7cGxheWJhY2tSYXRlOmF9KX1vYSgpe3ZhciBhPXRoaXMuYXBpLmdldE9wdGlvbnMoKSxiPXtuYW1lc3BhY2VzOmF9O2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyl7bGV0IGU9YVtjXSxmPXRoaXMuYXBpLmdldE9wdGlvbnMoZSk7YltlXT17b3B0aW9uczpmfTtmb3IobGV0IGg9MCxrPWYubGVuZ3RoO2g8aztoKyspe2xldCBsPWZbaF0sbT10aGlzLmFwaS5nZXRPcHRpb24oZSxsKTtiW2VdW2xdPQptfX10aGlzLnNlbmRNZXNzYWdlKCJhcGlJbmZvRGVsaXZlcnkiLGIpfVZkKCl7RTQodGhpcyx7bXV0ZWQ6dGhpcy5hcGkuaXNNdXRlZCgpLHZvbHVtZTp0aGlzLmFwaS5nZXRWb2x1bWUoKX0pfWZjKGEpe2E9e2N1cnJlbnRUaW1lOmEsdmlkZW9CeXRlc0xvYWRlZDp0aGlzLmFwaS5nZXRWaWRlb0J5dGVzTG9hZGVkKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCksY3VycmVudFRpbWVMYXN0VXBkYXRlZF86RGF0ZS5ub3coKS8xRTMscGxheWJhY2tSYXRlOnRoaXMuYXBpLmdldFBsYXliYWNrUmF0ZSgpLG1lZGlhUmVmZXJlbmNlVGltZTp0aGlzLmFwaS5nZXRNZWRpYVJlZmVyZW5jZVRpbWUoKX07dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSYmKGEucHJvZ3Jlc3NTdGF0ZT10aGlzLmFwaS5nZXRQcm9ncmVzc1N0YXRlKCkpO0U0KHRoaXMsYSl9RmwoKXtFNCh0aGlzLHtzcGhlcmljYWxQcm9wZXJ0aWVzOnRoaXMuYXBpLmdldFNwaGVyaWNhbFByb3BlcnRpZXMoKX0pfXlhKCl7aWYodGhpcy5hcGkuZ2V0Q2FwdGlvblRyYWNrcyl7bGV0IGE9CntjYXB0aW9uVHJhY2tzOnRoaXMuYXBpLmdldENhcHRpb25UcmFja3MoKX07RTQodGhpcyxhKX19RmEoKXtpZih0aGlzLmFwaS5nZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3Mpe2xldCBhPXtzdWJ0aXRsZXNVc2VyU2V0dGluZ3M6dGhpcy5hcGkuZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKCl9O0U0KHRoaXMsYSl9fW9uTWVzc2FnZShhKXtpZighKHRoaXMuSSE9PSIqIiYmYS5vcmlnaW4hPT10aGlzLkl8fHRoaXMuaiYmYS5zb3VyY2UhPT10aGlzLmp8fHR5cGVvZiBhLmRhdGEhPT0ic3RyaW5nIikpe3RyeXt2YXIgYj1KU09OLnBhcnNlKGEuZGF0YSl9Y2F0Y2goZil7cmV0dXJufWlmKGIpc3dpdGNoKGIuZXZlbnQpe2Nhc2UgImxpc3RlbmluZyI6dmFyIGM9YS5zb3VyY2U7YT1hLm9yaWdpbjtiPWIuaWQ7YSE9PSJudWxsIiYmKHRoaXMuST10aGlzLnRhcmdldE9yaWdpbj1hKTt0aGlzLmo9Yzt0aGlzLnNlc3Npb25JZD1iO0Q0KHRoaXMpO2JyZWFrO2Nhc2UgImNvbW1hbmQiOmM9Yi5mdW5jOwp2YXIgZD1iLmFyZ3M7aWYoYz09PSJhZGRFdmVudExpc3RlbmVyIiYmZCliPWRbMF0sYz1hLm9yaWdpbixiPT09Im9uUmVhZHkiP3RoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk6Yj09PSJvbkVycm9yIiYmdGhpcy5oYSYmKHRoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyx0aGlzLmVycm9yQ29kZSksdGhpcy5lcnJvckNvZGU9dm9pZCAwKSx0aGlzLmFwaS5sb2dBcGlDYWxsKGAke2J9IHJlZ2lzdHJhdGlvbmAsYyksdGhpcy5aW2JdfHxiPT09Im9uUmVhZHkifHwoYT1NdWEodGhpcyxiLGMpLHRoaXMuby5wdXNoKHtldmVudFR5cGU6YixsaXN0ZW5lcjphLG9yaWdpbjpjfSksdGhpcy5nYT90aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoImFkZEV2ZW50TGlzdGVuZXIiLFtiLGFdLGMpOnRoaXMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixhKSx0aGlzLlpbYl09ITApO2Vsc2UgaWYoYj1jLGM9ZCxhPWEub3JpZ2luLHRoaXMuYXBpLmlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUoYiwKYSkpe2M9Y3x8W107aWYoYy5sZW5ndGg+MCYmeDQoYikpe3ZhciBlPWM7aWYoXy5BYShlWzBdKSYmIUFycmF5LmlzQXJyYXkoZVswXSkpZD1lWzBdO2Vsc2Ugc3dpdGNoKGQ9e30sYil7Y2FzZSAibG9hZFZpZGVvQnlJZCI6Y2FzZSAiY3VlVmlkZW9CeUlkIjpkPXk0KGVbMF0sZVsxXSE9PXZvaWQgMD9OdW1iZXIoZVsxXSk6dm9pZCAwLGVbMl0pO2JyZWFrO2Nhc2UgImxvYWRWaWRlb0J5VXJsIjpjYXNlICJjdWVWaWRlb0J5VXJsIjpkPWVbMF07dHlwZW9mIGQ9PT0ic3RyaW5nIiYmKGQ9e21lZGlhQ29udGVudFVybDpkLHN0YXJ0U2Vjb25kczplWzFdIT09dm9pZCAwP051bWJlcihlWzFdKTp2b2lkIDAsc3VnZ2VzdGVkUXVhbGl0eTplWzJdfSk7Yjp7aWYoKGU9ZC5tZWRpYUNvbnRlbnRVcmwpJiYoZT0vXC8oW3ZlXXxlbWJlZClcLyhbXiM/XSspLy5leGVjKGUpKSYmZVsyXSl7ZT1lWzJdO2JyZWFrIGJ9ZT1udWxsfWQudmlkZW9JZD1lO2Q9eTQoZCk7YnJlYWs7Y2FzZSAibG9hZFBsYXlsaXN0IjpjYXNlICJjdWVQbGF5bGlzdCI6ZD0KejQoZVswXSxlWzFdLGVbMl0sZVszXSl9Yy5sZW5ndGg9MTtjWzBdPWR9dGhpcy5hcGkuaGFuZGxlRXh0ZXJuYWxDYWxsKGIsYyxhKTt4NChiKSYmRTQodGhpcyxCNCh0aGlzKSl9fX19bGEoKXtzdXBlci5sYSgpO0I1LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuRCk7Zm9yKHZhciBhPTA7YTx0aGlzLkIubGVuZ3RoO2ErKyl7dmFyIGI9dGhpcy5CW2FdO3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYi5ldmVudFR5cGUsYi5saXN0ZW5lcil9dGhpcy5CPVtdO2ZvcihhPTA7YTx0aGlzLm8ubGVuZ3RoO2ErKyliPXRoaXMub1thXSx0aGlzLmdhP3RoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgicmVtb3ZlRXZlbnRMaXN0ZW5lciIsW2IuZXZlbnRUeXBlLGIubGlzdGVuZXJdLGIub3JpZ2luKTp0aGlzLmFwaS5yZW1vdmVFdmVudExpc3RlbmVyKGIuZXZlbnRUeXBlLGIubGlzdGVuZXIpO3RoaXMubz1bXX19LEI1PXdpbmRvdzt2YXIgWHVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3ZhciBjPUw0O3N1cGVyKCk7dGhpcy5hcGk9Yzt0aGlzLmlkPWE7dGhpcy5vcmlnaW49Yjt0aGlzLmo9e307dGhpcy52PV8ueCgid2ViX3BsYXllcl9zcGxpdF9ldmVudF9idXNfaWZyYW1lIik7dGhpcy5vPWQ9Pnt0aGlzLm9uTWVzc2FnZShkKX07QzUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5vKTtGNCh0aGlzLCJSRUNFSVZJTkciKX1hZGRMaXN0ZW5lcihhLGIpe2lmKCEoYSBpbiB0aGlzLmopKXt2YXIgYz10aGlzLkIuYmluZCh0aGlzLGEpO3RoaXMualthXT1jO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLGMsYil9fUIoYSxiKXt0aGlzLmlhKCl8fEY0KHRoaXMsYSxPdWEoYSxiKSl9cmVtb3ZlTGlzdGVuZXIoYSxiKXthIGluIHRoaXMuaiYmKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLHRoaXMualthXSxiKSxkZWxldGUgdGhpcy5qW2FdKX1hZGRFdmVudExpc3RlbmVyKGEsYixjKXt0aGlzLnY/CmE9PT0ib25SZWFkeSI/dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpOnRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgiYWRkRXZlbnRMaXN0ZW5lciIsW2EsYl0sY3x8bnVsbCk6dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpe3RoaXMudj9hPT09Im9uUmVhZHkiP3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKTp0aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoInJlbW92ZUV2ZW50TGlzdGVuZXIiLFthLGJdLGN8fG51bGwpOnRoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKX1vbk1lc3NhZ2UoYSl7aWYoYS5vcmlnaW49PT10aGlzLm9yaWdpbil7dmFyIGI9YS5kYXRhO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe3RyeXtiPUpTT04ucGFyc2UoYil9Y2F0Y2goZSl7cmV0dXJufWlmKGIuY29tbWFuZCl7dmFyIGM9Yi5jb21tYW5kO2I9Yi5kYXRhO2E9YS5vcmlnaW47aWYoIXRoaXMuaWEoKSl7dmFyIGQ9CmJ8fHt9O3N3aXRjaChjKXtjYXNlICJhZGRFdmVudExpc3RlbmVyIjp0eXBlb2YgZC5ldmVudD09PSJzdHJpbmciJiZ0aGlzLmFkZExpc3RlbmVyKGQuZXZlbnQsYSk7YnJlYWs7Y2FzZSAicmVtb3ZlRXZlbnRMaXN0ZW5lciI6dHlwZW9mIGQuZXZlbnQ9PT0ic3RyaW5nIiYmdGhpcy5yZW1vdmVMaXN0ZW5lcihkLmV2ZW50LGEpO2JyZWFrO2RlZmF1bHQ6dGhpcy5hcGkuaXNSZWFkeSgpJiZ0aGlzLmFwaS5pc0V4dGVybmFsTWV0aG9kQXZhaWxhYmxlKGMsYXx8bnVsbCkmJihiPVB1YShjLGJ8fHt9KSxiPXRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbChjLGIsYXx8bnVsbCksKGI9UXVhKGMsYikpJiZGNCh0aGlzLGMsYikpfX19fX19bGEoKXtDNS5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLm8pO2ZvcihsZXQgYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGEpO3N1cGVyLmxhKCl9fSxDNT13aW5kb3csTnVhPQp3aW5kb3cucGFyZW50O3ZhciBHND1uZXcgeHdhO3ZhciBMND1udWxsLE40PW51bGwsSjQ9KCk9Pnt9LEg0O3ZhciBUND0hMTtfLmZ0LnRoZW4oKCk9PntfLkFxKCJlcF9pbml0X2N1cyIpO2lmKCFBNSl7QTU9ITA7dmFyIGE9Xy54KCJlbmFibGVfd2l6X2NvbnRleHRfcGVyX2NvbXBvbmVudCIpfHwhMTtPYmplY3QuYXNzaWduKF8uS3Use1JpOiEwLEdwOmEsRnA6YSxHdjpfLngoIndlYl9pbmNsdWRlX2Nvd190cmFjaW5nIiksaGFuZGxlRXJyb3I6enVhfSk7QnVhKCk7Xy53dj1mc2E7Xy54dj1nc2F9YnZhKCk7Xy5BcSgiZXBfaW5pdF9lcHMiKTtfLnJhKCJ5dC5zZXRDb25maWciLF8uUWkpO18ucmEoInl0LmNvbmZpZy5zZXQiLF8uUWkpO18ucmEoInl0LnNldE1zZyIsYjEpO18ucmEoInl0Lm1zZ3Muc2V0IixiMSk7Xy5yYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIixfLkdwKTtfLnJhKCJ3cml0ZUVtYmVkIixVdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5ib3RndWFyZEluaXRpYWxpemVkIixfLnNhKCJ5dC5hYnVzZS5wbGF5ZXIuYm90Z3VhcmRJbml0aWFsaXplZCIpfHxSdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIsCl8uc2EoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIpfHxTdWEpO18ucmEoInl0LmFidXNlLmRjbGtzdGF0dXMuY2hlY2tEY2xrU3RhdHVzIixfLnNhKCJ5dC5hYnVzZS5kY2xrc3RhdHVzLmNoZWNrRGNsa1N0YXR1cyIpfHxhMyk7Xy5yYSgieXQucGxheWVyLmV4cG9ydHMubmF2aWdhdGUiLF8uc2EoInl0LnBsYXllci5leHBvcnRzLm5hdmlnYXRlIil8fEJ0YSk7Xy5yYSgieXQudXRpbC5hY3Rpdml0eS5pbml0IixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmluaXQiKXx8bDApO18ucmEoInl0LnV0aWwuYWN0aXZpdHkuZ2V0VGltZVNpbmNlQWN0aXZlIixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmdldFRpbWVTaW5jZUFjdGl2ZSIpfHxfLkJuKTtfLnJhKCJ5dC51dGlsLmFjdGl2aXR5LnNldFRpbWVzdGFtcCIsXy5zYSgieXQudXRpbC5hY3Rpdml0eS5zZXRUaW1lc3RhbXAiKXx8ajApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixfLlZpKFp1YSkpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsCl8uVmkoJHVhKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixfLlZpKGF2YSkpO2d1YSgpO1R1YSgpO18uQXEoImVwX2luaXRfZXBlIik7SjQ9Xy5ENTtfLkFxKCJlcF9pbml0X2N1ZSIpfSk7Xy5ENT0oKT0+e307Cl8uRDU9ZnVuY3Rpb24oYSl7KDAsXy5laCkoInI3OERyYiIpLnRoZW4oKCk9PnsoMCxfLnp5KShhKX0pfTsKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":36,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":14,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/-kKZYXbYL1zKddVWiRpKQAs-FFrmXi_6UkcmhFlYLos.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.156.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:26.606Z","timestamp":1785137066606,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /js/th/-kKZYXbYL1zKddVWiRpKQAs-FFrmXi_6UkcmhFlYLos.js HTTP/1.1\r\nHost: www.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/botguard-scs\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"botguard-scs\"\r\nreport-to: {\"group\":\"botguard-scs\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/botguard-scs\"}]}\r\ncontent-length: 23710\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Tue, 21 Jul 2026 17:03:41 GMT\r\nexpires: Wed, 21 Jul 2027 17:03:41 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 08:00:00 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding\r\nage: 483645\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":62145,"size_decoded":24521,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (60918)","md5":"175c5223286c359a85dc124e70b631cc","sha1":"9783da70cc4ec9e1ee0345dcbad47674d41c5ed7","sha256":"fa42996176d82f5cca75d556891a4a400b3e145ae65e2ffa5247268459582e8b","sha512":"cfa0f26623d1cb13939c7b675013156701c25016a2eb9c8fe728cb97c652643368bb57914488e6f2ad40d97606a7cb39396905dad46897148f68f353b80b2d82","ssdeep":"768:jcaBTPMErdYHnCuKN9dPS5oPX3zp76JSAZg+hCU7aeTEPecnjfJG9CwaebQHr6na:jcainjK1pHh6i+9aeQmKSLQLOEEK","tlshash":"cc532aeff2d273710de665e2045b820d92be75525c40189eba05e7f86eb0c47e02bf29","first_seen":"2026-07-22T04:26:21.664288Z","last_seen":"2026-07-28T07:04:56.300909Z","times_seen":362,"resource_available":true,"data":"Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgYz1mdW5jdGlvbihmLEwsWSxGLFMseSxyLEcsSSxwKXtmb3IoST05NjtJIT04NzspaWYoST09MzcpST1ZPDwxJjM/NTQ6ZjtlbHNlIGlmKEk9PWYpcD1GLEk9NTQ7ZWxzZXtpZihJPT1MKXJldHVybiBwO2lmKEk9PTU0KUk9KFkmNTMpPT1ZPzI2Okw7ZWxzZSBpZihJPT05NilJPTM3O2Vsc2UgaWYoST09MjYpe2E6e2lmKHI9KEc9Rix1KS50cnVzdGVkVHlwZXMsIXJ8fCFyLmNyZWF0ZVBvbGljeSl7cD1HO2JyZWFrIGF9dHJ5e0c9ci5jcmVhdGVQb2xpY3koUyx7Y3JlYXRlSFRNTDpYLGNyZWF0ZVNjcmlwdDpYLGNyZWF0ZVNjcmlwdFVSTDpYfSl9Y2F0Y2goQSl7aWYodS5jb25zb2xlKXUuY29uc29sZVt5XShBLm1lc3NhZ2UpfXA9R31JPUx9fX0sWD1mdW5jdGlvbihmKXtyZXR1cm4gYy5jYWxsKHRoaXMsMjgsNzksNixmKX0sdT10aGlzfHxzZWxmOygwLGV2YWwpKGZ1bmN0aW9uKGYsTCl7cmV0dXJuKEw9YygyOCw3OSw1LG51bGwsImFkIiwiZXJyb3IiKSkmJmYuZXZhbChMLmNyZWF0ZVNjcmlwdCgiMSIpKT09PTE/ZnVuY3Rpb24oWSl7cmV0dXJuIEwuY3JlYXRlU2NyaXB0KFkpfTpmdW5jdGlvbihZKXtyZXR1cm4iIitZfX0odSkoQXJyYXkoTWF0aC5yYW5kb20oKSo3ODI0fDApLmpvaW4oIlxuIikrWycvLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09JywKJyhmdW5jdGlvbigpey8qJywKJycsCicgQ29weXJpZ2h0IEdvb2dsZSBMTEMnLAonIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wJywKJyovJywKJ3ZhciByUD1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7Zm9yKHk9OTY7eSE9STspaWYoeT09OTcpcD1YP3R5cGVvZiBYLmVvPT09ImZ1bmN0aW9uIj9YLmVvKCk6bmV3IFg6bnVsbCx5PTQwO2Vsc2UgaWYoeT09NDApdGhpcy5HPXAseT03OTtlbHNlIGlmKHk9PTc5KXk9TCs5Pj4xPEwmJihMKzdeMjUpPj1MPzkwOjI4O2Vsc2UgaWYoeT09MjYpdGhpcy5VPVkseT01NDtlbHNlIGlmKHk9PTcyKXk9KFg9SWFbdV0pPzkzOjQ5O2Vsc2UgaWYoeT09NjgpeT0xMjtlbHNlIGlmKHk9PTM1KUxFLmNhbGwodGhpcyxyKSx5PTE0O2Vsc2UgaWYoeT09NDkpUz0oYz1PYmplY3QuZ2V0UHJvdG90eXBlT2YoUy5wcm90b3R5cGUpKSYmYy5jb25zdHJ1Y3Rvcix5PTU7ZWxzZSBpZih5PT0zNyl5PShMXjUxKT4+ND49MyYmTC00PDIxPzI2OjU0O2Vsc2V7aWYoeT09MjgpcmV0dXJuIEY7eT09NT95PTEyOnk9PTQyPyh1PWlCKDMsUykseT03Mik6eT09MTI/eT1TPzQyOjk3Onk9PTkwPyh0aGlzLnR5cGU9WSx0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9Zix0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5GbT1mYWxzZSx5PTI4KTp5PT05Mz95PTk3Onk9PTYwPyhTPXRoaXMuY29uc3RydWN0b3IseT02OCk6eT09NTQ/eT0oTHw4KT09TD8zNTo3OTp5PT05Nj95PTM3Onk9PTE0JiYoeT0ocD1mKT80MDo2MCl9fSxxPWZ1bmN0aW9uKEksTCxZLGYscixwLHUpeygoSXw1KT4+Mz49MCYmSTw8MTwxNiYmKGY9JEsoWSksZiYxMjgmJihmPS0yKn4oZiZMKS0xK34oZnxMKSsoZl5MKXwkSyhZKTw8NyksdT1mKSxJKzU+PTIwKSYmKEleMTcpPDM4JiYoZj1wRVtMLkJdKEwuR3gpLGZbTC5CXT1mdW5jdGlvbigpe3JldHVybiBZfSxmLmNvbmNhdD1mdW5jdGlvbihYKXtZPVh9LHU9Zik7d2hpbGUoSS00PDMxJiYoKEl8NykmMTUpPj0xMil7Zm9yKHA9KHI9TihZLDIxKSwwKTtmPjA7Zi0tKXA9cDw8THwkSyhZKTtpZihKKFkscixwKSx7fSlicmVha31pZigoSXwyNCk9PUkpaWYocj1qMCgiYXJyYXkiLGYsIm51bWJlciIpPT09ImFycmF5Ij9mOltmXSx0aGlzLlcpTCh0aGlzLlcpO2Vsc2UgdHJ5e3A9IXRoaXMuVC5sZW5ndGgmJiF0aGlzLk4sZShbdUIsW10scixMLFldLDkyLHRoaXMpLFkmJiFwfHxYZih0cnVlLDMsMCx0aGlzLFksdHJ1ZSl9Y2F0Y2goWCl7Syg2NCx0aGlzLFgsMCksTCh0aGlzLlcpfXJldHVybiB1fSxOPWZ1bmN0aW9uKEksTCxZLGYscil7Zm9yKGZhbHNlOyEoTDw8MiY3KTshIVtdKXthOntpZihJLk8pe3I9VGwoSS5aLEkpO2JyZWFrIGF9cj0oKGY9a0sodHJ1ZSxJLDgpLChmfDEyOCktfihmJjEyOCkrfihmfDEyOCkpJiYoZj0tMTMwLX4oZnwxMjgpLShmfC0xMjkpLFk9a0sodHJ1ZSxJLDIpLGY9KGY8PDIpKyhZfDApKSxmKX1pZigiVyIpYnJlYWt9aWYoKEwmOTMpPT1MKWE6e3doaWxlKEkuTyl7d2hpbGUodHJ1ZSlpZihyPVRsKEkuWixJKSx0cnVlKWJyZWFrO2JyZWFrIGE7aWYoW10pYnJlYWt9KChZPWtLKHRydWUsSSw4KSxZKXwxMjgpLX4oWSYxMjgpK34oWXwxMjgpJiYoWT0tMTMwLX4oWXwxMjgpLShZfC0xMjkpLGY9a0sodHJ1ZSxJLDIpLFk9KFk8PDIpKyhmfDApKSxyPVl9cmV0dXJuIHJ9LFQ9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpeygoTHwxKSYxNCk9PTImJihGPShYPShyPShjPWZbWV08PDI0LHA9ZlstMi1+WS0gLTJdPDwxNiwoY3xJKSsocHxJKS0oYyZwKSksdT1mWzIqKFl8MiktMip+KFkmMikrflkrLTNdPDw4LCh1fEkpK34ociZ1KS1+ciksUz1mWzIqKFl8MyktfihZJjMpK34oWXwzKV0sKFN8SSkrfihYJlMpLX5YKSk7Zm9yKFtdIT0oZmFsc2UhPW51bGwpOyEoKExeMTgpPj40KTt0cnVlLnRydWUpe2E6e2lmKEkuTyl7Rj1UbChJLlosSSk7YnJlYWsgYX0oWT1rSyh0cnVlLEksOCksWXwxMjgpLX4oWSYxMjgpK34oWXwxMjgpJiYoWT0tMTMwLX4oWXwxMjgpLShZfC0xMjkpLGY9a0sodHJ1ZSxJLDIpLFk9KFk8PDIpKyhmfDApKSxGPVl9aWYodHJ1ZSE9W10pYnJlYWt9KCgoTCY1NCk9PUwmJihGPXk9ZnVuY3Rpb24oKXt7dmFyIEc9ODA7d2hpbGUoRyE9OClpZihHPT0wKUc9Zj09WT85ODo0ODtlbHNlIGlmKEc9PTQ0KXt2YXIgQT1YZih0cnVlLDUsKGUoRCw5NCxwKSwwKSxwLGZhbHNlLGZhbHNlKTtHPTI0fWVsc2UgaWYoRz09OTgpe3ZhciBRPSFwLlQubGVuZ3RoJiYhcC5OO0c9KChlKEQsODYscCksUSkmJlhmKHRydWUsNiwwLHAsZmFsc2UsZmFsc2UpLDI0KX1lbHNlIGlmKEc9PTgwKUc9cC5VPT1wPzI5Ojg7ZWxzZSBpZihHPT0xMil2YXIgRD1bKEc9NCxNZiksdSxyLHZvaWQgMCxYLGMsYXJndW1lbnRzXTtlbHNlIGlmKEc9PTQ4KUE9QlMoMSwyOTcscCxEKSxHPTI0O2Vsc2UgaWYoRz09MjkpRz1wLlM/MTI6NTtlbHNlIGlmKEc9PTUpWCYmYyYmWC5yZW1vdmVFdmVudExpc3RlbmVyKGMseSxIUyksRz04O2Vsc2UgaWYoRz09NClHPWY9PUk/NDQ6MDtlbHNlIGlmKEc9PTI0KXJldHVybiBBfX0pLEwpJjI5KT09TCYmKFM9VmMscj1bLTY5LDQsOTcsMjIsLTEwLDgyLHIsODgsLTczLC02Ml0sdT0ocHw3KS1+KHAmNykrLTgtKHAmLTgpLGM9cEVbWS5CXShZLnhJKSxjW1kuQl09ZnVuY3Rpb24oRyl7WD1HLHUrPTYrNypwLHUmPTd9LGMuY29uY2F0PWZ1bmN0aW9uKEcsQSxRLEQsVyxiKXtyZXR1cm4oKFg9KFE9MTgyMCpYLShEPWYlMTYrMSxJKmYpKmYqWCtyW2I9dSs2NywoYnwwKSsofmJeNyktKGJ8LTgpXSpmKkQrKFMoKXwwKSpEKzUqZipmKkQtMjA4KmYqWC1EKlgrNTIqWCpYK3Usdm9pZCAwKSxXPXJbUV0scilbQT11KzI5JjcsRz1wJjIsLTEtMip+KEF8RykrKH5BXkcpXT1XLHIpW3UrKC1+KHB8MiktKHAmLTMpKyhwfC0zKSldPTQsV30sRj1jKTt3aGlsZSh0cnVlKXtyZXR1cm4gRjtpZighIiI9PSFmYWxzZSlicmVha319LGdQPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7e0c9NzQ7d2hpbGUoRyE9NylpZihHPT0yMSlBKFMpLEc9OTU7ZWxzZSBpZihHPT02MilHPShMLTN8NzUpPEwmJihMKzleNik+PUw/NTU6NTM7ZWxzZXtpZihHPT04NylyZXR1cm4gRjtpZihHPT02OSlHPSFteigwLCJvYmplY3QiLHIsMyxmLFMpfHxTMChTLEksMzMpJiZTLm5vZGVUeXBlPlk/MjE6NTA7ZWxzZSBpZihHPT02MClHPTc4O2Vsc2UgaWYoRz09NzQpRz02MjtlbHNlIGlmKEc9PTc4KUc9eTxwLmxlbmd0aD82NDo1MztlbHNlIGlmKEc9PTYzKUc9KExeNzYpJjEzPzEyOjI3O2Vsc2UgaWYoRz09NjQpUz1wW3ldLEc9Njk7ZWxzZSBpZihHPT01NylGPVFjKEksMjAsSSksRz04NztlbHNlIGlmKEc9PTU1KUE9ZnVuY3Rpb24oUSl7USYmdS5hcHBlbmRDaGlsZCh0eXBlb2YgUT09PSJzdHJpbmciP1guY3JlYXRlVGV4dE5vZGUoUSk6USl9LHk9MSxHPTYwO2Vsc2UgaWYoRz09NjEpRz02NjtlbHNlIGlmKEc9PTk1KXkrKyxHPTc4O2Vsc2UgaWYoRz09NTMpRz0oTC04fDQyKTxMJiZMLTk8PDE+PUw/MzY6NjM7ZWxzZSBpZihHPT04OClYPXIubGVuZ3RoLHA9dHlwZW9mIHI9PT0ic3RyaW5nIj9yLnNwbGl0KFkpOnIsdT1JLEc9NjE7ZWxzZSBpZihHPT0yNyl7Zm9yKHAgaW4gcj1JLGYuSil7Zm9yKHU9KFg9Zi5KW3BdLEkpO3U8WC5sZW5ndGg7dSsrKSsrcixaKDc0LFksWFt1XSk7ZGVsZXRlIGYuSltmLmc1LS0scF19Rz0xMn1lbHNlIGlmKEc9PTY2KUc9dTxYPzkxOjE1O2Vsc2UgaWYoRz09MzYpWS5JOShmdW5jdGlvbihRKXtyPVF9LEksZiksRj1yLEc9NjM7ZWxzZSBpZihHPT05MSl1IGluIHAmJmYuY2FsbCh2b2lkIDAscFt1XSx1LHIpLEc9ODQ7ZWxzZSBpZihHPT04NCl1KyssRz02NjtlbHNlIGlmKEc9PTEyKUc9KEx8NTYpPT1MPzg4OjE1O2Vsc2UgaWYoRz09MTUpRz0oTC04XjkpPEwmJihMKzgmMjUpPj1MPzU3Ojg3O2Vsc2UgaWYoRz09NTApe2E6e2lmKFMmJnR5cGVvZiBTLmxlbmd0aD09Zil7aWYoUzAoUyxJLDM0KSl7Yz10eXBlb2YgUy5pdGVtPT0iZnVuY3Rpb24ifHx0eXBlb2YgUy5pdGVtPT0ic3RyaW5nIjticmVhayBhfWlmKHR5cGVvZiBTPT09ImZ1bmN0aW9uIil7Yz10eXBlb2YgUy5pdGVtPT0iZnVuY3Rpb24iO2JyZWFrIGF9fWM9ZmFsc2V9Z1AoWSw1NiwiIixBLGM/eEsoMywxMSxTLFkpOlMpLEc9OTV9fX19LGlCPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCl7e3U9Nzc7d2hpbGUodSE9ODYpaWYodT09NzcpdT0xO2Vsc2UgaWYodT09MzgpcC5jbGFzc0xpc3Q/cC5jbGFzc0xpc3QucmVtb3ZlKHIpOksoMTEsWSxwLGYscikmJlJhKDQ1LDI0LGYsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGFhKDQ0LGYscCksZnVuY3Rpb24oYyl7cmV0dXJuIGMhPXJ9KS5qb2luKEwpLHApLHU9MjA7ZWxzZXtpZih1PT01OClyZXR1cm4gWDt1PT03Mj91PUkrOT4+Mz09Mz83ODoyMTp1PT0yMT91PUkrNj4+ND8zMjo0MTp1PT0yMD91PShJLTZ8NDApPj1JJiYoSS02fDUyKTxJPzY5OjU4OnU9PTY5PyhMLnZxPXZvaWQgMCxMLmVvPWZ1bmN0aW9uKCl7cmV0dXJuIEwudnE/TC52cTpMLnZxPW5ldyBMfSx1PTU4KTp1PT0yMj8oWD13UCgwLDksODE5MixudWxsLGZhbHNlLEwpLHU9NzIpOnU9PTc4PyhYPUFDKDM5LDUsMixZLGYpJiZaKDMzLDAsWSxmKSE9ciYmKCEocD1mLkxpLChwfFkpLX5wK35ZLTIqKHAmflkpKXx8Zi5kaXNwYXRjaEV2ZW50KGUoNjQsMzQsMSwzMixMLHIsWSkpKSYmIWYuWSx1PTIxKTp1PT0xP3U9KChJXjM3KSYxMyk9PTE/MjI6NzI6dT09MzI/dT1JLTg+PjQ9PTQ/Mzg6MjA6dT09NDEmJihYPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChMLE5mKSYmTFtOZl18fChMW05mXT0rK3ZTKSx1PTMyKX19fSxWPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcpe3tHPTI4O3doaWxlKEchPTM4KWlmKEc9PTUpcisrLEc9NDA7ZWxzZSBpZihHPT0zOSl7YTp7aWYoKCgoZi5pKz0oYz0oUz0ocnx8Zi5aYysrLGYuT0E+MCkmJmYuTiYmZi5BbCYmZi5ocjw9MSYmIWYuTyYmIWYuSyYmKCFyfHxmLldpLXA+MSkmJmRvY3VtZW50LmhpZGRlbj09MCwoeT1mLlpjPT00KXx8Uz9mLnUoKTpmLnhhKSx1PWMtZi54YSx1Pj4xNCk+MCxmLkMpJiYoZi5DXj0oZi5pKzE+PjIpKih1PDwyKSksZikuVT1mLmkrMT4+MiE9MHx8Zi5VLHkpfHxTKWYueGE9YyxmLlpjPTA7aWYoIVMpe0Y9ZmFsc2U7YnJlYWsgYX1pZihjLShmLk9BPmYuRGMmJihmLkRjPWYuT0EpLGYpLmQ1PGYuT0EtKFk/MjU1OnI/NToyKSl7Rj1mYWxzZTticmVhayBhfUY9KChNKChYPWsoZiwoZi5XaT1wLHI/MjcyOjUwOSkpLEwpLGYsZi5QKSxmLlQpLnB1c2goW1V3LFgscj9wKzE6cCxmLm8sZi5JXSksZi5LPUNFLHRydWUpfUc9NTB9ZWxzZSBpZihHPT02MClHPTgwO2Vsc2UgaWYoRz09MjIpRz0oSSs1JjE1KT09MT80NzoyMztlbHNlIGlmKEc9PTMpRj11LEc9MjI7ZWxzZSBpZihHPT05NylHPTU0O2Vsc2V7aWYoRz09NTApcmV0dXJuIEY7Rz09NTQ/Rz1JKzYmMTU/NTA6Mzk6Rz09ODc/KGYrPVkscD1wPDxZfExbcl0sRz02MCk6Rz09NzI/Rz1JKzEmNz8yMjo0NDpHPT02MT9HPTQwOkc9PTQwP0c9cjxMLmxlbmd0aD84NzozOkc9PTIzP0c9KChJXjc0KSY3KT09Mj85Nzo1NDpHPT0xNj9HPTgwOkc9PTQ0PyhyPWY9MCx1PVtdLEc9NjEpOkc9PTk4PyhmLT04LHUucHVzaChwPj5mJjI1NSksRz0xNik6Rz09ODA/Rz1mPjc/OTg6NTpHPT0yOD9HPTcyOkc9PTQ3JiYoTShmLFksTCksTFtkUF09Mjc5NixHPTIzKX19fSxtej1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTKXt7Yz05Nzt3aGlsZShjIT02MylpZihjPT0xMCljPShmPDwyJjcpPj0xJiZmLTk+PjU8MT81MTozNjtlbHNle2lmKGM9PTkyKXJldHVybiBTO2M9PTUxPyhYPXR5cGVvZiBwLHU9WCE9TD9YOnA/QXJyYXkuaXNBcnJheShwKT8iYXJyYXkiOlg6Im51bGwiLFM9dT09WXx8dT09TCYmdHlwZW9mIHAubGVuZ3RoPT1yLGM9MzYpOmM9PTIzP2M9KGYtOF4zKTxmJiYoZi00XjEwKT49Zj8xNTo5MjpjPT0zNj9jPWYtOT4+NDwzJiYoZj4+MSY3KT49ND81ODoyMzpjPT0xNT8oTC5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChZLGZ1bmN0aW9uKHkpe2lCKDcyLCIgIixJLCJzdHJpbmciLHksTCl9KTpSYSg0NSwyNywic3RyaW5nIixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYWEoNDIsInN0cmluZyIsTCksZnVuY3Rpb24oeSl7cmV0dXJuIShTMChZLEksMjQseSk+PUkpfSkuam9pbigiICIpLEwpLGM9OTIpOmM9PTU4PyhyPVksdEM9PT12b2lkIDAmJih0Qz1MKSx1PShwPXRDKT9wLmNyZWF0ZVNjcmlwdFVSTChyKTpyLFM9bmV3IFo0KHUpLGM9MjMpOmM9PTk3JiYoYz0xMCl9fX0seEs9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe3tGPTMzO3doaWxlKEYhPTI1KWlmKEY9PTU3KUY9MTU7ZWxzZSBpZihGPT04MilGPShMLTFeMjkpPj1MJiYoTC1JXjEyKTxMPzE4OjE0O2Vsc2UgaWYoRj09MTUpRj1TPHAubGVuZ3RoPzY3OjY7ZWxzZSBpZihGPT0yNilvYSgxLDUsZixZLHUsWCxwLHIsYyksRj02O2Vsc2UgaWYoRj09MzMpRj04MjtlbHNlIGlmKEY9PTY3KXhLKDMsNSxudWxsLHRydWUscixwW1NdLHUsWCxjKSxGPTc4O2Vsc2UgaWYoRj09ODQpUz0wLEY9NTc7ZWxzZSBpZihGPT0xOCl7YTp7aWYoKHU9WS5sZW5ndGgsdSk+Zil7Zm9yKHA9KHI9QXJyYXkodSksZik7cDx1O3ArKylyW3BdPVlbcF07eT1yO2JyZWFrIGF9eT1bXX1GPTE0fWVsc2UgaWYoRj09MTApRj1YJiZYLm9uY2U/MjY6NDU7ZWxzZSBpZihGPT00MSljPXljKDk5LDMzLGMpLHImJnJbYkJdP3IuZy5hZGQoU3RyaW5nKHApLGMsZmFsc2UsUzAoWCxZLDM2KT8hIVguY2FwdHVyZTohIVgsdSk6ZShudWxsLDUsZmFsc2UsYyxyLFgscCx1LGZhbHNlKSxGPTY7ZWxzZXtpZihGPT02KXJldHVybiB5O0Y9PTQ1P0Y9QXJyYXkuaXNBcnJheShwKT84NDo0MTpGPT03OD8oUysrLEY9MTUpOkY9PTE0JiYoRj1MPj4yJjY/NjoxMCl9fX0sWGY9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe2Zvcih5PTI3O3khPTc7KWlmKHk9PTI3KXk9ODk7ZWxzZSBpZih5PT0zOClGPU1hdGguZmxvb3IodGhpcy51KCkpLHk9NjY7ZWxzZSBpZih5PT04OSl5PUwrOD4+Mz09MT80Mzo0OTtlbHNle2lmKHk9PTY2KXJldHVybiBGO2lmKHk9PTQ5KXk9KExeMzEpPj40PzY2OjM4O2Vsc2UgaWYoeT09NDMpe2E6aWYoZi5ULmxlbmd0aCl7Zi5OPShmLk4mJiI6VFFSOlRRUjoiKCksSSksZi5BbD1yO3RyeXtTPWYudSgpLGYuRGM9WSxmLnhhPVMsZi5kNT1TLGYuWmM9WSxjPVFjKEksMjUsbnVsbCwwLDI5NyxmLHIpLFg9cD8wOjEwLHU9Zi51KCktZi5kNSxmLnNBKz11LGYubTcmJmYubTcodS1mLmwsZi5vLGYuSSxmLkRjKSxmLm89ZmFsc2UsZi5sPVksZi5JPWZhbHNlLHU8WHx8Zi5ZYS0tPD1ZfHwodT1NYXRoLmZsb29yKHUpLGYuVmUucHVzaCh1PD0yNTQ/dToyNTQpKX1maW5hbGx5e2YuTj1mYWxzZX1GPWM7YnJlYWsgYX15PTQ5fX19LEFDPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSl7e1M9MjY7d2hpbGUoUyE9NTIpaWYoUz09ODcpWD1yLnByb3h5LHA9ci50eXBlLHUucmVtb3ZlRXZlbnRMaXN0ZW5lcj91LnJlbW92ZUV2ZW50TGlzdGVuZXIocCxYLHIuY2FwdHVyZSk6dS5kZXRhY2hFdmVudD91LmRldGFjaEV2ZW50KFMwKHAsIm9uIiwzKSxYKTp1LmFkZExpc3RlbmVyJiZ1LnJlbW92ZUxpc3RlbmVyJiZ1LnJlbW92ZUxpc3RlbmVyKFgpLGhDLS0sYz1RYyh1LDgpLFM9STtlbHNlIGlmKFM9PTU1KVM9dSYmdVtiQl0/ODU6ODc7ZWxzZSBpZihTPT0xNil1PXIuc3JjLFM9NTU7ZWxzZSBpZihTPT0yNilTPTg2O2Vsc2UgaWYoUz09NjYpUz1jLmc1PT0wPzg0OjIxO2Vsc2UgaWYoUz09SSlTPWM/NjI6NDg7ZWxzZXtpZihTPT0yMSlyZXR1cm4geTtTPT04NT8oSyg2MCxyLHUuZyxZKSxTPTIxKTpTPT00OD8oWig1OCxZLHIpLFM9MjEpOlM9PTYzP1M9KChMXjUwKSYxMik+PTEmJihMLTgmMTIpPDg/Mjg6OTU6Uz09NjI/KEsoNTYscixjLFkpLFM9NjYpOlM9PTk1P1M9KEwtOHwzNCk8TCYmTC04PDwxPj1MPzU2OjIxOlM9PTg0PyhjLnNyYz1mLHVbRXddPWYsUz0yMSk6Uz09ODY/Uz0oTHw4KT4+ND82MzoyOlM9PTU2P1M9dHlwZW9mIHIhPT0ibnVtYmVyIiYmciYmIXIudWQ/MTY6MjE6Uz09Mj8oeT0hIShwPXIuUmwsLX4ocHxmKS0ofnBeZiktWSoofnAmZikrWSoofnB8ZikpLFM9NjMpOlM9PTI4JiYocj1ZLHk9ZnVuY3Rpb24oKXtyZXR1cm4gcjxmLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpmW3IrK119Ontkb25lOnRydWV9fSxTPTk1KX19fSxRYz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRixHLEEpe0Y9Nzk7e0c9NzM7d2hpbGUoe30pdHJ5e2lmKEY9PTk5KWJyZWFrO2Vsc2UgaWYoRj09MjUpWT1JW0V3XSxBPVkgaW5zdGFuY2VvZiBLRT9ZOm51bGwsRj05NjtlbHNle2lmKEY9PTQ0KXJldHVybiBBO0Y9PTQ5PyhHPTczLEsoNDgscCx5LGYpLEY9NjkpOkY9PTU2PyhBPVgsRj0yOSk6Rj09MD9GPXAuVC5sZW5ndGg/OTU6NTY6Rj09ND9GPTA6Rj09OTU/KHAuSz1ZLGM9cC5ULnBvcCgpLEY9NSk6Rj09ODU/KFM9cC5LLFMoZnVuY3Rpb24oKXtYZih0cnVlLDYsZixwLEksSSl9KSxGPTU2KTpGPT02OT8oRz03MyxGPTQwKTpGPT0yMj9GPTA6Rj09NTE/KEkucmF3PVksT2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoSSksT2JqZWN0LmZyZWV6ZShZKSksQT1JLEY9NDQpOkY9PTI5P0Y9KEwtOCYxMSk+PTgmJihMfDIpPDI3PzUxOjQ0OkY9PTQwP0Y9dSYmcC5LPzg1OjQ6Rj09NDE/Rj1MLTQ+PjQ/OTY6MjU6Rj09NT8oRz00MSxYPUJTKDEscixwLGMpLEY9NjkpOkY9PTc5P0Y9NDE6Rj09OTYmJihGPShMKzEmNDMpPEwmJihMKzcmNDUpPj1MPzIyOjI5KX19Y2F0Y2goUSl7aWYoRz09NzMpdGhyb3cgUTtHPT00MSYmKHk9USxGPTQ5KX19fSxmTz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7e0Y9NTU7d2hpbGUoRiE9ODcpaWYoRj09MjcpcC5zZXRBdHRyaWJ1dGUoUyx1KSxGPTM3O2Vsc2UgaWYoRj09NTUpRj0zNjtlbHNlIGlmKEY9PTI0KUY9dT09PSIifHx1PT12b2lkIDA/NDA6Mjc7ZWxzZSBpZihGPT0zNilGPShMKzZeMTYpPEwmJihMLTh8MjMpPj1MPzY2OjM3O2Vsc2UgaWYoRj09NDApRj1MTz8zMDo0NztlbHNlIGlmKEY9PTQ3KVg9e30sTE89KFguYXRvbWljPWYsWC5hdXRvY29tcGxldGU9Im5vbmUiLFguZHJvcGVmZmVjdD0ibm9uZSIsWC5oYXNwb3B1cD1mLFgubGl2ZT0ib2ZmIixYLm11bHRpbGluZT1mLFgubXVsdGlzZWxlY3RhYmxlPWYsWC5vcmllbnRhdGlvbj0idmVydGljYWwiLFgucmVhZG9ubHk9ZixYLnJlbGV2YW50PSJhZGRpdGlvbnMgdGV4dCIsWC5yZXF1aXJlZD1mLFguc29ydD0ibm9uZSIsWC5idXN5PWYsWC5kaXNhYmxlZD1mLFhbWV09ZixYLmludmFsaWQ9ImZhbHNlIixYKSxGPTMwO2Vsc2UgaWYoRj09OTMpRj0oTDw8MSYxNSk9PTI/NTg6MTQ7ZWxzZSBpZihGPT02MilGPTkzO2Vsc2UgaWYoRj09MzApYz1MTyxyIGluIGM/cC5zZXRBdHRyaWJ1dGUoUyxjW3JdKTpwLnJlbW92ZUF0dHJpYnV0ZShTKSxGPTM3O2Vsc2UgaWYoRj09NjYpQXJyYXkuaXNBcnJheSh1KSYmKHU9dS5qb2luKCIgIikpLFM9ImFyaWEtIityLEY9MjQ7ZWxzZXtpZihGPT0xNClyZXR1cm4geTtpZihGPT01OCl7YTp7aWYoIShyPShmPW51bGwsVS50cnVzdGVkVHlwZXMpLHIpfHwhci5jcmVhdGVQb2xpY3kpe3k9ZjticmVhayBhfXRyeXtmPXIuY3JlYXRlUG9saWN5KEkse2NyZWF0ZUhUTUw6WVYsY3JlYXRlU2NyaXB0OllWLGNyZWF0ZVNjcmlwdFVSTDpZVn0pfWNhdGNoKEcpe2lmKFUuY29uc29sZSlVLmNvbnNvbGVbWV0oRy5tZXNzYWdlKX15PWZ9Rj0xNH1lbHNlIEY9PTM3JiYoRj0oTC03XjEzKTxMJiYoTC0yfDE0KT49TD82Mjo5Myl9fX0sWj1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyl7e2M9NjM7d2hpbGUoYyE9MjIpaWYoYz09OTgpYz0oSSY4MSk9PUk/MjM6ODM7ZWxzZSBpZihjPT0yOSl1PXdQKDAsNDEsODE5MixudWxsLHRydWUsTCksYz0zMztlbHNlIGlmKGM9PTMzKWM9KEktOCYxNSk9PTI/ODY6MDtlbHNlIGlmKGM9PTApYz0oSXw5KTwxNiYmKEk8PDImMTMpPj02PzI0OjQxO2Vsc2UgaWYoYz09ODYpWS51ZD1MLFkubGlzdGVuZXI9bnVsbCxZLnByb3h5PW51bGwsWS5zcmM9bnVsbCxZLkN6PW51bGwsYz0wO2Vsc2UgaWYoYz09ODMpYz0oST4+MSYyMyk9PTI/Mjk6MzM7ZWxzZSBpZihjPT0yMylYPWZ1bmN0aW9uKFMpe3JldHVybiBMLmNhbGwoWC5zcmMsWC5saXN0ZW5lcixTKX0sTD0kVix1PVgsYz04MztlbHNlIGlmKGM9PTYzKWM9OTg7ZWxzZSBpZihjPT00MSljPShJLTZeOCk8SSYmKEkrNyY0Nik+PUk/NTI6Nzk7ZWxzZSBpZihjPT0yNClwPVMwKGYsTCwyNSxZKSwocj1wPj1MKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGYscCwxKSx1PXIsYz00MTtlbHNlIGlmKGM9PTUyKXU9ISEocj1mLldxLChZfEwpLX5yK34ocnxZKSksYz03OTtlbHNlIGlmKGM9PTc5KXJldHVybiB1fX0seWM9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMpe2ZvcihYPTY2O1ghPTkyOylpZihYPT04NSl0aGlzW3RoaXMrIiJdPXRoaXMsWD04MTtlbHNlIGlmKFg9PTIpYz1ZLFg9ODI7ZWxzZXtpZihYPT0yOClyZXR1cm4gYztpZihYPT03OCl0aGlzLmxpc3RlbmVyPXUsdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPVksdGhpcy50eXBlPXIsdGhpcy5jYXB0dXJlPSEhcCx0aGlzLkN6PWYsdGhpcy5rZXk9Kytpbyx0aGlzLnllPXRoaXMudWQ9ZmFsc2UsWD0yODtlbHNlIGlmKFg9PTM2KVg9KEwrMyYxNSk+PTgmJkwtNzwxOT8yOjgyO2Vsc2UgaWYoWD09ODIpWD1MPj4yJjk/MzM6ODtlbHNlIGlmKFg9PTgxKVg9KEwmMTAxKT09TD81NjozNjtlbHNlIGlmKFg9PTY2KVg9NTg7ZWxzZSBpZihYPT01Nil7YTp7aWYodHlwZW9mIFk9PT0iZnVuY3Rpb24iKXtjPVk7YnJlYWsgYX1jPVlbWVtyQ118fChZW3JDXT1mdW5jdGlvbihTKXtyZXR1cm4gWS5oYW5kbGVFdmVudChTKX0pLHJDXX1YPTM2fWVsc2UgaWYoWD09MzIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChmLGZ1bmN0aW9uKFMseSxGKXtmb3IoRj0xO0YhPTQzOylGPT0xP0Y9WS5jbGFzc0xpc3Q/OTpJOkY9PTk/KFkuY2xhc3NMaXN0LmFkZChTKSxGPTQzKTpGPT0zMD8oeT1hYSgzLCJzdHJpbmciLCIiLFkpLFJhKDQ1LDI2LCJzdHJpbmciLHkrKHkubGVuZ3RoPjA/IiAiK1M6UyksWSksRj00Myk6Rj09SSYmKEY9SygxOSwwLFksInN0cmluZyIsUyk/NDM6MzApfSksWD0zMztlbHNlIGlmKFg9PTU4KVg9TC0zPDQwJiZMLTc+PTI5Pzg1OjgxO2Vsc2UgaWYoWD09OClYPVkuY2xhc3NMaXN0PzMyOjk3O2Vsc2UgaWYoWD09OTcpe2ZvcihyIGluIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoKHA9e30sYWEoNDAsInN0cmluZyIsWSkpLGZ1bmN0aW9uKFMpe3BbU109dHJ1ZX0pLEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZixmdW5jdGlvbihTKXtwW1NdPXRydWV9KSx1PSIiLHApdSs9dS5sZW5ndGg+MD8iICIrcjpyO1g9KFJhKDQ1LDI1LCJzdHJpbmciLHUsWSksMzMpfWVsc2UgWD09MzMmJihYPShMXjU1KT4+ND8yODo3OCl9fSxLPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7Zm9yKEE9NDc7QSE9NTA7KWlmKEE9PTQpWT10cnVlLEE9NDE7ZWxzZSBpZihBPT0zKUE9KChJXjgwKSY3KT09Mz8zMDo2MTtlbHNlIGlmKEE9PTMwKUE9WS5jbGFzc0xpc3Q/MTQ6OTg7ZWxzZSBpZihBPT02MSlBPShJLTcmMTUpPT0yPzg4OjM0O2Vsc2UgaWYoQT09NDEpRz1ZLEE9MzQ7ZWxzZSBpZihBPT0zOClBPVkuSltyXS5sZW5ndGg9PTA/NDI6NjY7ZWxzZSBpZihBPT0xNSlBPShJJjM5KT09ST81NDozO2Vsc2UgaWYoQT09ODgpQT1mLnVkPzQ6NTg7ZWxzZXtpZihBPT0zNClyZXR1cm4gRztpZihBPT0xNClwPVkuY2xhc3NMaXN0LmNvbnRhaW5zKHIpLEE9NzU7ZWxzZSBpZihBPT03NSlHPXAsQT02MTtlbHNlIGlmKEE9PTU0KXthOntpZihYPXIuZy5KW1N0cmluZyhMKV0sIVgpe0c9ZjticmVhayBhfWZvcihTPShYPVguY29uY2F0KCksdT0wLGYpO3U8WC5sZW5ndGg7Kyt1KShGPVhbdV0pJiYhRi51ZCYmRi5jYXB0dXJlPT1wJiYoYz1GLmxpc3RlbmVyLHk9Ri5Denx8Ri5zcmMsRi55ZSYmSyg1OCxGLHIuZyxmKSxTPWMuY2FsbCh5LFkpIT09ZmFsc2UmJlMpO0c9UyYmIVkuZGVmYXVsdFByZXZlbnRlZH1BPTN9ZWxzZSBBPT01OD8ocD1uZXcgT3coTCx0aGlzKSx1PWYubGlzdGVuZXIscj1mLkN6fHxmLnNyYyxmLnllJiZBQygzOSw0OSx0cnVlLG51bGwsZiksWT11LmNhbGwocixwKSxBPTQxKTpBPT00Nj8oWig0MixmLEwpLEE9MzgpOkE9PTgyP0E9ciBpbiBZLkomJlooNiwwLEwsWS5KW3JdKT80Njo2NjpBPT05OD8odT1hYSg0MyxmLFkpLHA9UzAodSxMLDI2LHIpPj1MLEE9NzUpOkE9PTQyPyhkZWxldGUgWS5KW3JdLFkuZzUtLSxBPTY2KTpBPT04Nz8oTC5XPSgoTC5XP0wuVysifiI6IkU6IikrWS5tZXNzYWdlKyI6IitZLnN0YWNrKS5zbGljZShmLDIwNDgpLEE9MTUpOkE9PTY2P0E9KEkmMTE2KT09ST84NzoxNTpBPT00Nz9BPTg1OkE9PTg1P0E9KEktOHw0Myk+PUkmJihJLTd8NTIpPEk/NTk6NjY6QT09NTkmJihyPUwudHlwZSxBPTgyKX19LEZmPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7e0c9ODI7d2hpbGUoRyE9NSlpZihHPT05OClHPShyJjEyMSk9PXI/MTY6Mzc7ZWxzZSBpZihHPT0yKUZmKDAsTCxZW3ldLGYsMjYsbnVsbCx1LFgpLEc9MTQ7ZWxzZSBpZihHPT04MClGPVMwKFgscCwzMik/ISFYLmNhcHR1cmU6ISFYLEw9eWMoOTksMzIsTCksRz0xNTtlbHNlIGlmKEc9PTE5KUc9NDk7ZWxzZSBpZihHPT0zMSljKz1JLmNoYXJDb2RlQXQoTCksYys9Yzw8MTAsY149Yz4+NixHPTMyO2Vsc2V7aWYoRz09MzcpcmV0dXJuIEE7Rz09NDk/Rz15PFkubGVuZ3RoPzI6OTg6Rz09MTQ/KHkrKyxHPTQ5KTpHPT01OT8oKGM9Uy5sZChGLFksdSxMKSkmJkFDKDM5LDQ4LHRydWUsbnVsbCxjKSxHPTk4KTpHPT0zMj8oTCsrLEc9NzcpOkc9PTg3Pyh5PUksRz0xOSk6Rz09NDA/KFM9UWMoZiw5KSxHPTIyKTpHPT0xNT9HPWYmJmZbYkJdPzk0OjY5Okc9PTMzPyhjKz1jPDwzLGNePWM+PjExLGY9YysoYzw8MTUpPj4+MCx1PW5ldyBOdW1iZXIoKFg9KDE8PHApLTEsLTEtfmYtKGZeWCkrKH5mJlgpKSksdVswXT0oZj4+PnApJVksQT11LEc9MzcpOkc9PTE2PyhMPWM9MCxHPTQxKTpHPT03Nz9HPUw8SS5sZW5ndGg/MzE6MzM6Rz09ODI/Rz03ODpHPT02OT9HPWY/NDA6OTg6Rz09OTQ/KGYuZy5yZW1vdmUoU3RyaW5nKFkpLEwsRix1KSxHPTk4KTpHPT03OD9HPShyKzZeMTkpPj1yJiYoci00XjMwKTxyPzI0Ojk4Okc9PTI0P0c9QXJyYXkuaXNBcnJheShZKT84Nzo4MDpHPT0yMj9HPVM/NTk6OTg6Rz09NDEmJihHPTc3KX19fSx3UD1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7e0Y9NTA7d2hpbGUoRiE9MzgpaWYoRj09MzApeT1NYXRoLmZsb29yKHRoaXMuc0ErKHRoaXMudSgpLXRoaXMuZDUpKSxGPTU0O2Vsc2V7aWYoRj09NzYpcmV0dXJuIHk7aWYoRj09NDgpe2E6aWYoYz13aW5kb3cuYnRvYSl7Zm9yKHU9SSxYPSIiO3U8cC5sZW5ndGg7dSs9WSlYKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KGYscC5zbGljZSh1LHUrWSkpO3k9KFM9YyhYKSxyJiYoUz1TLnJlcGxhY2UoL1xcKy9nLCItIikucmVwbGFjZSgvXFwvL2csIl8iKS5yZXBsYWNlKC89L2csIiIpKSxTKTticmVhayBhfUY9NzJ9ZWxzZSBGPT00Mj8odGhpc1t0aGlzKyIiXT10aGlzLHk9UHJvbWlzZS5yZXNvbHZlKCksRj0yNyk6Rj09NDk/KHRoaXMuc3JjPVksdGhpcy5KPXt9LHRoaXMuZzU9SSxGPTM3KTpGPT01OD9GPShMJjEwNSk9PUw/NDg6NzI6Rj09NzI/Rj0oTCYxMjIpPT1MPzMwOjU0OkY9PTUwP0Y9NTg6Rj09NTk/KHk9cEVbWV0ocEUucHJvdG90eXBlLHtwYXJlbnQ6ZixjYWxsOmYsbGVuZ3RoOmYscHJvcGVydHlJc0VudW1lcmFibGU6ZixyZXBsYWNlOmYsY29uc29sZTpmLHN0YWNrOmYsZG9jdW1lbnQ6ZixzcGxpY2U6Zixwcm90b3R5cGU6ZixmbG9vcjpmLHBvcDpmfSksRj03Nik6Rj09NTQ/Rj0oTCY5Mik9PUw/NDk6Mzc6Rj09Mzc/Rj1MLTM+PTI1JiZMLTM8Mzc/NDI6Mjc6Rj09MjcmJihGPShMXjMzKT4+Mz09Mz81OTo3Nil9fX0sUzA9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSl7Zm9yKHA9NTM7cCE9MjspaWYocD09MTIpcD1ZPj4yJjE1PzM1Ojc4O2Vsc2UgaWYocD09OTYpcD0oWV44MCk+PS03OSYmKFktNiYxNik8Mj85NzoxMjtlbHNlIGlmKHA9PTk3KXRoaXMubisrLEk9TC10aGlzLlIsdGhpcy5SKz1JL3RoaXMubix0aGlzLnc1Kz1JKihMLXRoaXMuUikscD0xMjtlbHNlIGlmKHA9PTEpZj10eXBlb2YgSSx1PWY9PSJvYmplY3QiJiZJIT1MfHxmPT0iZnVuY3Rpb24iLHA9NTtlbHNlIGlmKHA9PTcyKXA9KFleMzgpPj4zPzU6MTtlbHNlIGlmKHA9PTUzKXA9NzI7ZWxzZXtpZihwPT0zNSlyZXR1cm4gdTtpZihwPT01KXA9WSs1Pj4xPFkmJihZLTheMTUpPj1ZPzc3Ojk2O2Vsc2UgaWYocD09NzgpdT1JIGluIEkxP0kxW0ldOkkxW0ldPUwrSSxwPTM1O2Vsc2UgaWYocD09Nzcpe2E6e2lmKHR5cGVvZiBJPT09InN0cmluZyIpe3U9dHlwZW9mIGYhPT0ic3RyaW5nInx8Zi5sZW5ndGghPTE/LTE6SS5pbmRleE9mKGYsTCk7YnJlYWsgYX1mb3Iocj1MO3I8SS5sZW5ndGg7cisrKWlmKHIgaW4gSSYmSVtyXT09PWYpe3U9cjticmVhayBhfXU9LTF9cD05Nn19fSxQUz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHkpe3t5PTQwO3doaWxlKHkhPTQ4KWlmKHk9PTQwKXk9NzU7ZWxzZSBpZih5PT00Myl7YTp7Zm9yKGM9WTtjPHUubGVuZ3RoOysrYylpZihYPXVbY10sIVgudWQmJlgubGlzdGVuZXI9PXImJlguY2FwdHVyZT09ISFmJiZYLkN6PT1wKXtTPWM7YnJlYWsgYX1TPS0xfXk9MjF9ZWxzZSBpZih5PT04Myl5PShMKzYmNjIpPj1MJiZMLTg8PDI8TD84Njo5NDtlbHNlIGlmKHk9PTg2KXk9WT8yOTo1MjtlbHNlIGlmKHk9PTk0KXk9KEwtMSYxMSk9PTI/OTY6Njk7ZWxzZXtpZih5PT00Nil0aHJvdyBFcnJvcigiSW52YWxpZCBkZWNvcmF0b3IgZnVuY3Rpb24gIitmKTtpZih5PT05Nil0aGlzLlk9dGhpcy5ZLHRoaXMuTmg9dGhpcy5OaCx5PTY5O2Vsc2UgaWYoeT09NzUpeT0oTD4+MiYxNSk9PTM/MTA6ODM7ZWxzZSBpZih5PT0yOSl5PXR5cGVvZiBmIT09ImZ1bmN0aW9uIj80Njo5NDtlbHNle2lmKHk9PTIxKXJldHVybiBTO2lmKHk9PTY5KXk9KEx8SSk9PUw/NDM6MjE7ZWxzZXtpZih5PT01Mil0aHJvdyBFcnJvcigiSW52YWxpZCBjbGFzcyBuYW1lICIrWSk7eT09MTAmJih0aGlzLkFyPVUuZG9jdW1lbnR8fGRvY3VtZW50LHk9ODMpfX19fX0sUmE9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSl7e3A9ODE7d2hpbGUocCE9SSlpZihwPT02MilwPShMfDI0KT09TD82Njo5MjtlbHNlIGlmKHA9PTYpSkMuY2FsbCh0aGlzKSx0aGlzLmc9bmV3IEtFKHRoaXMpLHRoaXMuQmk9dGhpcyx0aGlzLmE5PW51bGwscD02MjtlbHNlIGlmKHA9PTgxKXA9NDM7ZWxzZXtpZihwPT05MilyZXR1cm4gdTtwPT00Mz9wPUwtMT4+ND82Mjo2OnA9PTY2JiYodHlwZW9mIHIuY2xhc3NOYW1lPT1ZP3IuY2xhc3NOYW1lPWY6ci5zZXRBdHRyaWJ1dGUmJnIuc2V0QXR0cmlidXRlKCJjbGFzcyIsZikscD05Mil9fX0sYWE9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYKXt7dT0wO3doaWxlKHUhPTM4KXtpZih1PT0zNylyZXR1cm4gWDtpZih1PT0wKXU9MjQ7ZWxzZSBpZih1PT00NClYPUwmJkwucGFyZW50Tm9kZT9MLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoTCk6bnVsbCx1PTU2O2Vsc2UgaWYodT09NDcpdT1JKzY+PjM9PTI/NDQ6NTY7ZWxzZSBpZih1PT04OClYPXRoaXMubj09PTA/MDpNYXRoLnNxcnQodGhpcy53NS90aGlzLm4pLHU9NTtlbHNlIGlmKHU9PTcpWD1ZLmNsYXNzTGlzdD9ZLmNsYXNzTGlzdDphYSg1LEwsIiIsWSkubWF0Y2goL1xcUysvZyl8fFtdLHU9NDc7ZWxzZSBpZih1PT01Nil1PUktMSY3PzM3OjY4O2Vsc2UgaWYodT09MTIpdT0oSS0zJjE2KTwxMSYmST4+Mj49MTk/ODg6NTtlbHNlIGlmKHU9PTY4KXthOntmb3IocCBpbiBmKWlmKHIuY2FsbCh2b2lkIDAsZltwXSxwLGYpKXtYPVk7YnJlYWsgYX1YPUx9dT0zN31lbHNlIHU9PTU0PyhYPXR5cGVvZiBmLmNsYXNzTmFtZT09TD9mLmNsYXNzTmFtZTpmLmdldEF0dHJpYnV0ZSYmZi5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fFksdT0xMik6dT09NT91PShJfDQwKT09ST83OjQ3OnU9PTI0JiYodT0oSS03XjI3KTxJJiYoSS0yfDI1KT49ST81NDoxMil9fX0sb2E9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe2ZvcihGPTUyO0YhPTk0Oyl7aWYoRj09MzkpcmV0dXJuIHk7Rj09ND9GPUFycmF5LmlzQXJyYXkodSk/NTc6NzE6Rj09NTI/Rj05MTpGPT04Mj9GPVM8dS5sZW5ndGg/NDM6ODQ6Rj09NTc/KFM9MCxGPTU1KTpGPT05NT8oeT1xZihuRSxZKSxGPTM5KTpGPT01NT9GPTgyOkY9PTcxPyhjPXljKDk5LDY4LGMpLFgmJlhbYkJdP1guZy5hZGQoU3RyaW5nKHUpLGMsWSxTMChwLGYsMzUpPyEhcC5jYXB0dXJlOiEhcCxyKTplKG51bGwsNixmYWxzZSxjLFgscCx1LHIsWSksRj04NCk6Rj09ODQ/Rj0oTF41KT4+NDwyJiZMLTc+PjQ+PTA/OTU6Mzk6Rj09NDM/KG9hKDEsNix0cnVlLG51bGwscixwLHVbU10sWCxjKSxGPTc5KTpGPT05MT9GPSgoTF4zNSkmNyk+PTUmJigoTF4xNykmOCk8ST80Ojg0OkY9PTc5JiYoUysrLEY9ODIpfX0sZT1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRixHLEEsUSl7Zm9yKFE9NDQ7USE9ODY7KXtpZihRPT04NSlyZXR1cm4gQTtpZihRPT02OSlRPXIuYWRkTGlzdGVuZXImJnIucmVtb3ZlTGlzdGVuZXI/MTk6MTtlbHNlIGlmKFE9PTQxKXIuYXR0YWNoRXZlbnQoUzAodS50b1N0cmluZygpLCJvbiIsNjQpLEcpLFE9NzU7ZWxzZSBpZihRPT00NClRPTgwO2Vsc2UgaWYoUT09MzMpUT0oTC03XjE0KT49TCYmTCs4Pj4yPEw/Njc6ODU7ZWxzZSBpZihRPT0zOSlTPVMwKHAsSSwzNyk/ISFwLmNhcHR1cmU6ISFwLCh5PVFjKHIsMTApKXx8KHJbRXddPXk9bmV3IEtFKHIpKSxGPXkuYWRkKHUsZixjLFMsWCksUT0yMDtlbHNlIGlmKFE9PTIzKXRoaXMuWC5wdXNoKEkpLFE9MzM7ZWxzZSBpZihRPT03NSloQysrLFE9MTA7ZWxzZXtpZihRPT02Mil0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoUT09MClRPXU/Mzk6NjI7ZWxzZSBpZihRPT05NSlRPShMPj4xJjE1KT09MT8xMjo3ODtlbHNlIGlmKFE9PTkxKVkuVC5zcGxpY2UoMCwwLEkpLFE9OTU7ZWxzZSBpZihRPT0xNil0aGlzLm4rKyxRPTkyO2Vsc2UgaWYoUT09NjcpQT0hIShwPWYuajUsWSoocnxJKSt+ci0ocF5yKS0ofnB8cikpJiZBQygzOSwzLFkscixmKSxRPTg1O2Vsc2UgaWYoUT09NzYpR2N8fChwPVMpLHA9PT12b2lkIDAmJihwPVkpLHIuYWRkRXZlbnRMaXN0ZW5lcih1LnRvU3RyaW5nKCksRyxwKSxRPTc1O2Vsc2UgaWYoUT09NzgpUT0oTHw5KT4+ND8xMDowO2Vsc2UgaWYoUT09ODApUT0oTHw4MCk9PUw/OTE6OTU7ZWxzZSBpZihRPT00NilRPXIuYXR0YWNoRXZlbnQ/NDE6Njk7ZWxzZSBpZihRPT0xNClZPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLFk8NTAmJih0aGlzLlhbWV09SSksUT0zMztlbHNlIGlmKFE9PTEyKXthOntzd2l0Y2godSl7Y2FzZSBZOkE9cD8iZGlzYWJsZSI6ImVuYWJsZSI7YnJlYWsgYTtjYXNlIDI6QT1wPyJoaWdobGlnaHQiOiJ1bmhpZ2hsaWdodCI7YnJlYWsgYTtjYXNlIDQ6QT1wPyJhY3RpdmF0ZSI6ImRlYWN0aXZhdGUiO2JyZWFrIGE7Y2FzZSByOkE9cD8ic2VsZWN0IjoidW5zZWxlY3QiO2JyZWFrIGE7Y2FzZSAxNjpBPXA/ImNoZWNrIjoidW5jaGVjayI7YnJlYWsgYTtjYXNlIGY6QT1wPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSBJOkE9cD8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31RPTc4fWVsc2UgaWYoUT09MjApUT1GLnByb3h5PzEwOjk5O2Vsc2UgaWYoUT09MTApUT0oKExeODEpJjcpPT0xPzE2OjMzO2Vsc2UgaWYoUT09NjUpUT1yLmFkZEV2ZW50TGlzdGVuZXI/NzY6NDY7ZWxzZSBpZihRPT05MilRPXRoaXMuWC5sZW5ndGg8NTA/MjM6MTQ7ZWxzZXtpZihRPT0xKXRocm93IEVycm9yKCJhZGRFdmVudExpc3RlbmVyIGFuZCBhdHRhY2hFdmVudCBhcmUgdW5hdmFpbGFibGUuIik7UT09MTk/KHIuYWRkTGlzdGVuZXIoRyksUT03NSk6UT09OTkmJihHPVooMTYpLEYucHJveHk9RyxHLnNyYz1yLEcubGlzdGVuZXI9RixRPTY1KX19fX0sUjE9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMpe3tYPTgzO3doaWxlKFghPTM4KWlmKFg9PTg3KVg9KFk8PDEmOCk8MyYmWTw8MT49LTM3PzEwOjE1O2Vsc2UgaWYoWD09MjQpWD0oWXwzKTwzMyYmWSszPj0xNT80Nzo4NztlbHNlIGlmKFg9PTE1KVg9KFk+PjImNyk9PTE/MzA6MTtlbHNlIGlmKFg9PTc0KVg9MTI7ZWxzZSBpZihYPT0xMilYPXA8ci5sZW5ndGg/NTY6ODI7ZWxzZSBpZihYPT0xMClMLnJlbW92ZUF0dHJpYnV0ZSgic3JjZG9jIiksWD03MjtlbHNle2lmKFg9PTEpcmV0dXJuIHU7aWYoWD09ODkpdGhyb3cgbmV3IERxKHR5cGVvZiBJLDEpO2lmKFg9PTU2KUwuc2FuZGJveC5zdXBwb3J0cyYmIUwuc2FuZGJveC5zdXBwb3J0cyhyW3BdKXx8TC5zYW5kYm94LmFkZChyW3BdKSxYPTM0O2Vsc2UgaWYoWD09ODEpcj0iYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctc2NyaXB0cyBhbGxvdy1mb3JtcyBhbGxvdy1wb3B1cHMgYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IGFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiIuc3BsaXQoIiAiKSxMLnNldEF0dHJpYnV0ZSgic2FuZGJveCIsIiIpLHA9MCxYPTc0O2Vsc2UgaWYoWD09NDcpYm8uY2FsbCh0aGlzLEw/TC50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5Tbz1udWxsLEwmJnRoaXMuaW5pdChMLEkpLFg9ODc7ZWxzZSBpZihYPT04Mil7aWYoSSBpbnN0YW5jZW9mIFo0KWY9SS5IaTtlbHNlIHRocm93IEVycm9yKCIiKTtYPShMLnNyYz1mLnRvU3RyaW5nKCksMTUpfWVsc2UgWD09MzA/KGM9ZnVuY3Rpb24oKXt9LGMucHJvdG90eXBlPWYucHJvdG90eXBlLEkuRj1mLnByb3RvdHlwZSxJLnByb3RvdHlwZT1uZXcgYyxJLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1JLEkueWk9ZnVuY3Rpb24oUyx5LEYpe2Zvcih2YXIgRz02MTtHIT03OTspaWYoRz09NjkpRz1RPGFyZ3VtZW50cy5sZW5ndGg/NDA6MTM7ZWxzZSBpZihHPT05OSlRKyssRz02OTtlbHNlIGlmKEc9PTQwKUFbUS1MXT1hcmd1bWVudHNbUV0sRz05OTtlbHNle2lmKEc9PTEzKXJldHVybiBmLnByb3RvdHlwZVt5XS5hcHBseShTLEEpO2lmKEc9PTYxKXZhciBBPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtKEc9NDksTCkpLFE9TDtlbHNlIEc9PTQ5JiYoRz02OSl9fSxYPTEpOlg9PTcyP1g9SSBpbnN0YW5jZW9mIFo0PzgxOjg5Olg9PTM0PyhwKyssWD0xMik6WD09ODMmJihYPTI0KX19fSxXaz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHkpe2ZvcihjPTM5O2MhPTg0OylpZihjPT05MilZLkhxJiZZLkhxLmZvckVhY2goZix2b2lkIDApLGM9MjtlbHNle2lmKGM9PTg5KXJldHVybiBTO2lmKGM9PTE3KXk9ZnVuY3Rpb24oKXt9LHI9dm9pZCAwLHA9UVMoWSxmdW5jdGlvbihGLEcpe2ZvcihHPTU2O0chPTkwOylHPT0xNj8oZiYmQ0UoZikscj1GLHkoKSx5PXZvaWQgMCxHPTkwKTpHPT01NiYmKEc9eT8xNjo5MCl9LCEhZiksdT1wWzFdLFg9cFswXSxTPXtob3Q6ZnVuY3Rpb24oRixHLEEsUSxELFcsYil7Zm9yKFc9MTM7VyE9MTU7KWlmKFc9PTIyKWIoKSxXPTE1O2Vsc2UgaWYoVz09OTIpVz1HPzEwOjcwO2Vsc2UgaWYoVz09MTApVz1yPzIyOjE2O2Vsc2V7aWYoVz09NzApcmV0dXJuIEQ9WChBKSxGJiZGKEQpLEQ7Vz09MTM/KGI9ZnVuY3Rpb24oKXtyKGZ1bmN0aW9uKGEpe0NFKGZ1bmN0aW9uKCl7RihhKX0pfSxBKX0sVz05Mik6Vz09MTYmJihRPXkseT1mdW5jdGlvbigpeyhRKCksQ0UpKGIpfSxXPTE1KX19LHBlOmZ1bmN0aW9uKEYpe3UmJnUoRil9fSxjPTg5O2Vsc2UgaWYoYz09SSl7YTp7aWYodGhpcy5uPT09MCl7Uz1bMCwwXTticmVhayBhfVM9Wyh0aGlzLlguc29ydChmdW5jdGlvbihGLEcpe3JldHVybiBGLUd9KSx0aGlzKS5uLHRoaXMuWFt0aGlzLlgubGVuZ3RoPj4xXV19Yz03Mn1lbHNlIGM9PTcyP2M9TC05Pj4zPzI6OTI6Yz09Mj9jPShMPDwxJjcpPj02JiZMLTQ+PjU8NT8xNzo4OTpjPT0zOT9jPTk0OmM9PTk0JiYoYz0oTCs2XjEzKTxMJiYoTCsyJjI1KT49TD9JOjcyKX19LGhLPWZ1bmN0aW9uKCl7cmV0dXJuIHdDLmNhbGwodGhpcyw3Mil9LEFLPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSl7Zm9yKFM9Nzk7UyE9ODQ7KWlmKFM9PTc5KVM9ODg7ZWxzZSBpZihTPT1JKVM9cDxyLmxlbmd0aD83NTo0MTtlbHNlIGlmKFM9PTY4KXRoaXMuSGk9WSxTPTgzO2Vsc2V7aWYoUz09NTkpcmV0dXJuIHk7Uz09Njk/Uz1JOlM9PTE0P1M9KEw+PjEmMTEpPT0xPzYyOjU5OlM9PTQ0P1M9dT5mPzg1OjM5OlM9PTgxPyhYPVksYz1bXSxwPVksUz02OSk6Uz09ODM/Uz0oTCYzNyk9PUw/ODE6MTQ6Uz09ODg/Uz0oTHw5KT4+ND49MyYmKEw8PDEmMTYpPEk/Njg6ODM6Uz09ODU/KGNbWCsrXT1mLX4odSZmKSstMjU2LHU+Pj04LFM9MzkpOlM9PTY1PyhwKyssUz1JKTpTPT03NT8odT1yLmNoYXJDb2RlQXQocCksUz00NCk6Uz09Mzk/KGNbWCsrXT11LFM9NjUpOlM9PTQxPyh5PWMsUz0xNCk6Uz09NjImJihTPTU5KX19LGVTPWZ1bmN0aW9uKEksTCxZLGYpe2Y9TihMLChZPVQoTCwzMCksNikpLEpLKGYsTCxkKEksQyhMLFkpKSl9LHZrPWZ1bmN0aW9uKEksTCxZLGYscil7cmV0dXJuIFIxLmNhbGwodGhpcyxMLEksMyxZLGYscil9LEU4PWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCl7Zm9yKFg9TFt1PUxbM118cixwPXIsMl18cjtwPDE2O3ArKylmPWY+Pj5JfGY8PDI0LGYrPVl8cix1PXU+Pj5JfHU8PDI0LFk9WTw8M3xZPj4+MjksZl49WCs2NTksdSs9WHxyLFg9WDw8M3xYPj4+MjksdV49cCs2NTksWF49dSxZXj1mO3JldHVybltZPj4+MjQmMjU1LFk+Pj4xNiYyNTUsWT4+PkkmMjU1LFk+Pj5yJjI1NSxmPj4+MjQmMjU1LGY+Pj4xNiYyNTUsZj4+PkkmMjU1LGY+Pj5yJjI1NV19LERxPWZ1bmN0aW9uKEksTCxZKXt0aGlzLnR5cGU9KCJzdGFjayJpbihZPUVycm9yLmNhbGwodGhpcyxJKyIgY2Fubm90IGJlIHVzZWQgd2l0aCBpbnRlbnQgIitOQltMXSksdGhpcy5tZXNzYWdlPVkubWVzc2FnZSxZKSYmKHRoaXMuc3RhY2s9WS5zdGFjayksSSk7d2hpbGUoW10paWYodGhpcy5uYW1lPSJUeXBlQ2Fubm90QmVVc2VkV2l0aElmcmFtZUludGVudEVycm9yIix0cnVlKWJyZWFrfSx5Uz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgpe2ZvcihYPUw7WCE9ODA7KWlmKFg9PTIpdW8uY2FsbCh0aGlzLGYscnx8WHQuZW8oKSxwKSxYPTc5O2Vsc2UgaWYoWD09MjkpRnQuY2FsbCh0aGlzKSxmfHxja3x8KGNrPW5ldyBTUyksdGhpcy5Kcj12b2lkIDAsdGhpcy5MPXRoaXMuSHE9dGhpcy5UMT1udWxsLHRoaXMud289dGhpcy5Mej1mYWxzZSx0aGlzLnVSPXRoaXMuTWg9bnVsbCxYPTE5O2Vsc2UgaWYoWD09MTkpWD0oWSYxMjMpPT1ZPzI6Nzk7ZWxzZXtpZihYPT03OSlyZXR1cm4gdTtYPT1MP1g9ODg6WD09ODgmJihYPShZKzYmSSk8WSYmKFkrNV42KT49WT8yOToxOSl9fSxLTz1mdW5jdGlvbihJLEwpe3JldHVybiBtei5jYWxsKHRoaXMsMCxJLEwsNil9LFRjPWZ1bmN0aW9uKEksTCxZLGYscixwLHUpe211KCgoWT1DKChwPU4oKHU9Tigocj00LShMJi00KS0ofkxeMykrMiooTHwtNCksZj0oTHw0KS1+KEwmNCkrfihMfDQpLEkpLDE3KSxJKSwyMiksSSksdSksZikmJihZPVpxKCIiK1ksMTAyMykpLHImJkpLKHAsSSxkKDIsWS5sZW5ndGgpKSxwKSxJLFkpfSxnPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjKXtjPXRoaXM7dHJ5e01CKHUscixZLFgsdGhpcyxmLEksTCxwKX1jYXRjaChTKXtLKDE2LHRoaXMsUywwKSxYKGZ1bmN0aW9uKHkpe3koYy5XKX0pfX0sd0M9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYsRyl7e0c9OTM7d2hpbGUoRyE9NjgpaWYoRz09ODMpRz0oSXw3Mik9PUk/MzA6NjM7ZWxzZXtpZihHPT03NilyZXR1cm4gRjtHPT00Nj8oRj0oeT1hMVtMLnN1YnN0cmluZygwLDMpKyJfIl0pP3koTC5zdWJzdHJpbmcoMyksWSxmLHIscCx1LFgsYyxTKTp3QygxNixZLEwpLEc9MzIpOkc9PTMyP0c9ST4+MiYxMT83Njo3ODpHPT02Mz9HPShJPDwxJjE2KTw5JiYoSTw8MSYxNSk+PTU/NDY6MzI6Rz09Nzg/KEwoZnVuY3Rpb24oQSl7QShZKX0pLEY9W2Z1bmN0aW9uKCl7cmV0dXJuIFl9LGZ1bmN0aW9uKCl7fV0sRz03Nik6Rz09NTE/KHI9WSxyXj1yPDwxMyxyXj1yPj4xNyxyPShwPXI8PDUsKHJ8MCkrfihyfHApLSh+cl5wKSsofnImcCkpLChyPS1+Zi0ociZ+ZiktKH5yXmYpKzIqKHJ8fmYpKXx8KHI9MSksRj0tKEx8MCkrKEx8cikrKEwmfnIpLEc9ODMpOkc9PTI3P0c9KEk8PDEmMTUpPj0xMiYmKEkrMyY4KTw2PzUxOjgzOkc9PTMwP0c9NjM6Rz09OTMmJihHPTI3KX19fSx0Sz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyl7aWYoIUwuVyl7TC5ocisrO3RyeXtyPShjPXZvaWQgMCwwKTt7cD1MLlA7d2hpbGUoLS1ZKXRyeXtpZihYPXZvaWQgMCxMLk8pYz1UbChMLk8sTCk7ZWxzZXtpZihyPUMoTCxmKSxyPj1wKWJyZWFrO2M9KFg9KEooTCxJLHIpLE4oTCwxMCkpLEMoTCxYKSl9Vig1OCwoYyYmKHU9Y1txQl0sMjA0OC1+dSstMjA0OS0odSYtMjA0OSkpP2MoTCxZKTpuTyhbbzEsMjEsWF0sMCwzNTcsTCksZiksZmFsc2UsTCxmYWxzZSxZKX1jYXRjaChTKXtsKEwsMzgpP25PKFMsMjIsMzU3LEwpOkooTCwzOCxTKX19aWYoIVkpe2ZvcigwPT0oTnVtYmVyKCkhPSFbXSk7TC5aejswKXt0SygyNzIsTCwoTC5oci0tLDE0MDQyMzU1MzYyOTEpLDUwOSk7cmV0dXJuO2lmKCFbXT09TnVtYmVyKCkpYnJlYWt9bk8oW28xLDMzXSwwLDM1NyxMKX19Y2F0Y2goUyl7dHJ5e25PKFMsMjIsMzU3LEwpfWNhdGNoKHkpe0soMjAsTCx5LDApfX1MLmhyLS19fSxYdD1mdW5jdGlvbigpe3JldHVybiBmTy5jYWxsKHRoaXMsImFkIiwzKX0sbk89ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYsRyl7c3dpdGNoKCEoIWYuYmQmJihTPXZvaWQgMCxJJiZJWzBdPT09bzEmJihTPUlbMl0sTD1JWzFdLEk9dm9pZCAwKSxjPWwoZixZKSxjLmxlbmd0aD09MCYmKFg9bChmLDI3Mik+PjMsYy5wdXNoKEwsWD4+OCYyNTUsMiooWHwyNTUpLSAtMSt+KFh8MjU1KS0oWF4yNTUpKSxTIT12b2lkIDAmJmMucHVzaCgtMS1+KFN8MjU1KS0oU14yNTUpKSkseT0iIixJJiYoSS5tZXNzYWdlJiYoeSs9SS5tZXNzYWdlKSxJLnN0YWNrJiYoeSs9IjoiK0kuc3RhY2spKSx1PWsoZiw0NjQpLHVbMF0+MykpKXtjYXNlIHRydWU6IVtdPT0oZmFsc2U9PTApO2JyZWFrO2Nhc2UgZmFsc2U6KHA9KHVbMF0tPSh5PXkuc2xpY2UoMCwodVswXXwwKS0zKSxGPXkubGVuZ3RoLDIqKEYmMyktMS0ofkZeMykpLHk9WnEoeSwxMDIzKSxmLlUpLGYpLlU9Zjt0cnl7Zi5rYT8ocj0ocj1DKGYsMzUwKSkmJnJbci5sZW5ndGgtMV18fDk1LChHPWwoZiw0MjEpKSYmR1tHLmxlbmd0aC0xXT09cnx8SksoNDIxLGYsW3ImMjU1XSkpOm11KDM1MCxmLFs5NV0pLG11KDE5NSxmLGQoMix5Lmxlbmd0aCkuY29uY2F0KHkpLDE0NCl9ZmluYWxseXtmLlU9cH1icmVha319LExFPWZ1bmN0aW9uKEkpe3JldHVybiB5Uy5jYWxsKHRoaXMsNDAsNywxMixJKX0sU1M9ZnVuY3Rpb24oKXtyZXR1cm4gUFMuY2FsbCh0aGlzLDU2LDEyKX0sT3c9ZnVuY3Rpb24oSSxMKXtyZXR1cm4gUjEuY2FsbCh0aGlzLEwsSSwxMil9LGtWPWZ1bmN0aW9uKEksTCl7ZnVuY3Rpb24gWSgpe3RoaXMuUj10aGlzLnc1PXRoaXMubj0wfXdoaWxlKDEyKWlmKFkucHJvdG90eXBlLnB6PWZ1bmN0aW9uKGYscil7cmV0dXJuIFMwLmNhbGwodGhpcyxyLGYsNil9LHRydWUpYnJlYWs7WS5wcm90b3R5cGUuRks9ZnVuY3Rpb24oKXtyZXR1cm4gYWEuY2FsbCh0aGlzLDc2KX07d2hpbGUoW10paWYoST1uZXcgWSx0cnVlKWJyZWFrO3JldHVybltmdW5jdGlvbihmKXtJLnB6KGYpLEwucHooZil9LChMPW5ldyBZLGZ1bmN0aW9uKGYscil7cmV0dXJuKChyPVtJLkZLKCksTC5GSygpLEkuUixMLlJdLGY9PT12b2lkIDApfHxmKSYmKEw9bmV3IFkpLHJ9KV19LHM4PWZ1bmN0aW9uKEksTCxZLGYscil7cmV0dXJuIHljLmNhbGwodGhpcyw5OSw0OCxZLHIsZixJLEwpfSxKSz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyl7c3dpdGNoKCEoTC5VPT1MKSl7Y2FzZSAtMD09PU51bWJlcigpOk5hTjticmVhaztjYXNlIFtdPT0obnVsbCE9ZmFsc2UpOmZvcih1PUMoTCxJKSxJPT0xOTV8fEk9PTQ4OHx8ST09MTI/KGM9ZnVuY3Rpb24oUyx5LEYsRyxBLFEsRCxXLGIsYSl7Zm9yKFc9KGI9NjYsMTQpOzspdHJ5e2lmKGI9PTQwKWJyZWFrO2Vsc2UgaWYoYj09NDEpYj11LkVBIT15PzMyOjM1O2Vsc2UgaWYoYj09MjgpVz0zMyx1LnI1PUU4KDgsRyxUKDAsMyxBLHUpLFQoMCwzNSwtKEEmNCktMS0zKn4oQXw0KSsyKih+QV40KSx1KSwwKSxiPTM1O2Vsc2UgaWYoYj09MzUpdS5wdXNoKChGPXUucjVbLX4oRCY3KS0gLTErMiooRF43KSsyKih+RF43KV0sLTErKH5GJlMpLSh+RnxTKSkpLGI9NDA7ZWxzZXtpZihiPT0wKXRocm93IFc9MTQsYTtiPT0zMj8odS5FQT15LEE9KFE9eTw8MywtfihRJjQpK34oUXw0KSsyKihRJi01KSksRz1bMCwwLHBbMV0scFsyXV0sYj0yOCk6Yj09NjYmJihEPXUubGVuZ3RoLHk9KER8MCktND4+MyxiPTQxKX19Y2F0Y2godyl7aWYoVz09MTQpdGhyb3cgdztXPT0zMyYmKGE9dyxiPTApfX0scD1DKEwsMzgwKSk6Yz1mdW5jdGlvbihTKXt1LnB1c2goUyl9LGYmJmMoZiYyNTUpLFg9MCxyPVkubGVuZ3RoO1g8cjtYKyspYyhZW1hdKTticmVha319LHoseD1mdW5jdGlvbihJLEwsWSl7c3dpdGNoKCEoST09NTA5fHxJPT0yNzIpKXtjYXNlIFtdIT10cnVlOmlmKEwuYmQmJkkhPTQ4KXJldHVybjtJPT0yNjJ8fEk9PTE5NXx8ST09MjM2fHxJPT0xMnx8ST09MzU3fHxJPT0zNTB8fEk9PTQyMXx8ST09MzgwfHxJPT00ODh8fEk9PTQ2ND9MLlNbSV18fChMLlNbSV09VCgyNjAsMTIsTCxJLFksNTQpKTpMLlNbSV09VCgyNjAsOCxMLEksWSw4OSk7YnJlYWs7Y2FzZSBbXT09dHJ1ZTpMLlNbSV0/TC5TW0ldLmNvbmNhdChZKTpMLlNbSV09cSgyMCxMLFkpO2JyZWFrfUk9PTQ4JiYoTC5DPWtLKGZhbHNlLEwsMzIpLEwuQT12b2lkIDApfSxDTz1mdW5jdGlvbigpe2Zvcih2YXIgST04MztJIT0zMzspe2lmKEk9PTIxKXJldHVybiBZO2lmKEk9PTgzKXZhciBMPShJPTksTnVtYmVyKHRoaXMpKSxZPVtdLGY9TDtlbHNlIEk9PTk0PyhmKyssST02OCk6ST09NDc/KFlbZi1MXT1hcmd1bWVudHNbZl0sST05NCk6ST09OT9JPTY4Okk9PTY4JiYoST1mPGFyZ3VtZW50cy5sZW5ndGg/NDc6MjEpfX0sa0s9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYsRyxBLFEsRCxXKXtpZihEPWsoTCw1MDkpLEQ+PUwuUCl0aHJvd1tvMSwzMV07Zm9yKEE9KFM9MCxRPVkscD1ELEwucWUubGVuZ3RoKTtRPjA7KWY9cD4+MyxXPUwudHJbZl0sYz1wJTgsRz04LShjfDApLFg9RzxRP0c6USxJJiYoRj1wLHk9TCx5LkEhPUY+PjYmJih5LkE9Rj4+Nix1PWwoeSw0OCkseS5VZj1FOCg4LFswLDAsdVsxXSx1WzJdXSx5LkMseS5BLDApKSxXXj1MLlVmW2YmQV0pLFN8PShXPj44LShjfDApLShYfDApJigxPDxYKS0xKTw8KFF8MCktKFh8MCkscCs9WCxRLT1YO3JldHVybiBNKDUwOSxMLChyPVMsKER8MCkrKFl8MCkpKSxyfSxIaz1mdW5jdGlvbihJLEwsWSxmLHIscCl7cmV0dXJuIGwoZiwoeChJLCh0SygyNzIsZixyLCgocD1rKGYsSSksZi50ciYmcDxmLlApPyhNKEksZixmLlApLEJrKDM1NywwLGYsSSxZLDEwNCkpOk0oSSxmLFkpLEkpKSxmKSxwKSxMKSl9LFU4PWZ1bmN0aW9uKEksTCl7Zm9yKHZhciBZPTEzO1khPTU5OylpZihZPT0xMyl2YXIgZj0oWT0zOCwxKTtlbHNlIGlmKFk9PTU0KXt2YXIgcj1hcmd1bWVudHNbZl07Zm9yKHUgaW4gcilJW3VdPXJbdV07dmFyIHA9KFk9MjcsMCl9ZWxzZSBpZihZPT0zOClZPTEyO2Vsc2UgaWYoWT09MjcpWT01MTtlbHNlIGlmKFk9PTEyKVk9Zjxhcmd1bWVudHMubGVuZ3RoPzU0OjU5O2Vsc2UgaWYoWT09MjUpe3ZhciB1PVZTW3BdO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLHUpJiYoSVt1XT1yW3VdKSxZPTM5fWVsc2UgWT09NTE/WT1wPFZTLmxlbmd0aD8yNTo2NDpZPT0zOT8ocCsrLFk9NTEpOlk9PTY0JiYoZisrLFk9MTIpfSwkSz1mdW5jdGlvbihJKXtyZXR1cm4gSS5PP1RsKEkuWixJKTprSyh0cnVlLEksOCl9LGQ9ZnVuY3Rpb24oSSxMLFksZixyKXtmPVtdO3tyPShJfDApLTE7d2hpbGUocj49MClmWy0oSXwxKSsoSSYxKSsyKihJJi0yKS0ocnwwKV09KFk9TD4+cio4LDI1NisyKihZJi0yNTYpLShZXjI1NSkrKH5ZfDI1NSkpLHItLX1yZXR1cm4gZn0sTT1mdW5jdGlvbihJLEwsWSl7aWYoST09NTA5fHxJPT0yNzIpTC5TW0ldP0wuU1tJXS5jb25jYXQoWSk6TC5TW0ldPXEoMTgsTCxZKTtlbHNle2lmKEwuYmQmJkkhPTQ4KXJldHVybjtJPT0yNjJ8fEk9PTE5NXx8ST09MjM2fHxJPT0xMnx8ST09MzU3fHxJPT0zNTB8fEk9PTQyMXx8ST09MzgwfHxJPT00ODh8fEk9PTQ2ND9MLlNbSV18fChMLlNbSV09VCgyNjAsOSxMLEksWSw1NCkpOkwuU1tJXT1UKDI2MCwxMyxMLEksWSw4OSl9ST09NDgmJihMLkM9a0soZmFsc2UsTCwzMiksTC5BPXZvaWQgMCl9LFhqPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oSSl7ZnVuY3Rpb24gTCgpe31MLnByb3RvdHlwZT1JO3doaWxlKFtdKXtyZXR1cm4gbmV3IEw7aWYoIWZhbHNlPT0hIiIpYnJlYWt9fSxGaj1mdW5jdGlvbihJLEwsWSxmLHIpe2lmKEkubGVuZ3RoPT0zKXt7WT0wO3doaWxlKFk8MylMW1ldKz1JW1ldLFkrK31mb3IoZj1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdLHI9MDtyPDk7cisrKUxbM10oTCxyJTMsZltyXSl9fSxKPWZ1bmN0aW9uKEksTCxZKXtzd2l0Y2goIShMPT01MDl8fEw9PTI3Mikpe2Nhc2UgTnVtYmVyKHVuZGVmaW5lZCkhPT1OdW1iZXIodW5kZWZpbmVkKTppZihJLmJkJiZMIT00OClyZXR1cm47TD09MjYyfHxMPT0xOTV8fEw9PTIzNnx8TD09MTJ8fEw9PTM1N3x8TD09MzUwfHxMPT00MjF8fEw9PTM4MHx8TD09NDg4fHxMPT00NjQ/SS5TW0xdfHwoSS5TW0xdPVQoMjYwLDUsSSxMLFksNTQpKTpJLlNbTF09VCgyNjAsNSxJLEwsWSw4OSk7YnJlYWs7Y2FzZSAwIT0hWyIiXTpJLlNbTF0/SS5TW0xdLmNvbmNhdChZKTpJLlNbTF09cSgxNyxJLFkpO2JyZWFrfUw9PTQ4JiYoSS5DPWtLKGZhbHNlLEksMzIpLEkuQT12b2lkIDApfSxsbz1mdW5jdGlvbihJLEwsWSl7cmV0dXJuIHlTLmNhbGwodGhpcyw0MCw3LDMsSSxMLFkpfSxNQj1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7Zm9yKFM9KHk9KHIuR3g9KHIueEk9d1AoMCw1NyxyLkIsKHIucWU9KHIuU2I9eFYsci5VaT16YyxyW1BrXSkse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbmNhdCgpfX0pKSxwRVtyLkJdKHIueEkse3ZhbHVlOnt2YWx1ZTp7fX19KSksW10pLDApO1M8MzIzO1MrKyl5W1NdPVN0cmluZy5mcm9tQ2hhckNvZGUoUyk7aWYoKChyLmw9MCwoci5zQT0wLHIpLlZlPShyLlc9KChyLkk9KHIuSWw9TCxmYWxzZSkscikuSz0oci50cj0oKHIuT0E9MCxyKS5XaT0zMDAwMSxyLmJkPWZhbHNlLHIuZDU9MCxbXSksKHIuTmU9W10sci5DPXZvaWQgMCxyLlVmPXZvaWQgMCxyKS5VPXIsci5obD0wLHIuQT12b2lkIDAsci5CcT1bXSxyLkRjPTAsci5ZYT0oci5QPShyLm85PXZvaWQgMCwwKSxyLm03PWMsMjUpLG51bGwpLHZvaWQgMCksRj0oci5TPVtdLHdpbmRvdy5wZXJmb3JtYW5jZSl8fHt9LHIuVD1bXSwoci5hbD1bXSxyLmNxPShyLkt6PShyLmhyPTAsci5RVz1mdW5jdGlvbihHKXtyZXR1cm4gclAuY2FsbCh0aGlzLDg3LDMsRyl9LFtdKSxbXSksci5BbD1mYWxzZSxyKS5vPWZhbHNlLHIua2E9KHIuSjU9KHIueGE9MCxyLk89dm9pZCAwLDApLHIuWmM9dm9pZCAwLCEoci5pPShyLlo9dm9pZCAwLDEpLDEpKSxbXSksci5OPWZhbHNlLHIpLlBpPShyLmd5PUksRi50aW1lT3JpZ2lufHwoRi50aW1pbmd8fHt9KS5uYXZpZ2F0aW9uU3RhcnR8fDApLHApJiZwLmxlbmd0aD09MiYmKHIuYWw9cFsxXSxyLk5lPXBbMF0pLFkpdHJ5e3Iubzk9SlNPTi5wYXJzZShZKX1jYXRjaChHKXtyLm85PXt9fVYoNzYsKHgoMzgsKEoociwxMiwoVig3NixmdW5jdGlvbihHKXtUYyhHLDQpfSwoKE0oMzUwLHIsKFYoMjgsZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSx3LHYsRSl7Zm9yKEU9OTU7RSE9NzA7KUU9PTk/KFc9ZkgoMjMsNSwwLDEsRy5VKSxhPVcueVcsYj1XLk9mLFE9Vy5KbCx2PVcuVix3PXYubGVuZ3RoLEQ9dz09MD9uZXcgYltRXTp3PT0xP25ldyBiW1FdKHZbMF0pOnc9PTI/bmV3IGJbUV0odlswXSx2WzFdKTp3PT0zP25ldyBiW1FdKHZbMF0sdlsxXSx2WzJdKTp3PT00P25ldyBiW1FdKHZbMF0sdlsxXSx2WzJdLHZbM10pOjIoKSxKKEcsYSxEKSxFPTcwKTpFPT05NSYmKEU9Vig0Miw1MDksZmFsc2UsRyx0cnVlLEEpPzcwOjkpfSxyLChKKHIsMjM2LChKKHIsKFYoKChuZXcgKFYoMTIsZnVuY3Rpb24oRyl7ZVMoMSxHKX0sKFYoNjAsZnVuY3Rpb24oRyxBLFEsRCxXLGIpe3doaWxlKHt9KWlmKChRPU4oRywzNCksMCk9PSFbdW5kZWZpbmVkXSlicmVhazsoRD1sKEcsKEE9QyhHLChXPShiPVQoRywzMSksVChHLDMwKSksUSkpLGIpKSxNKShXLEcsQSBpbiBEfDApfSwoVig2MCwoTSgoKFYoMjgsZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSx3LHYpe2Zvcih2PTYyO3YhPTk5Oyl2PT05PyhBKyssdj0zOSk6dj09Njg/dj0zOTp2PT04MT8oTShiLEcsYSBpbiBEfDApLHY9OTkpOnY9PTUxPyhhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFFbQV1eMTIxKSx2PTkpOnY9PTM5P3Y9QTxRLmxlbmd0aD81MTo4MTp2PT02MiYmKFc9TihHLDEzKSx3PVQoRywzMSksYj1UKEcsMjcpLFE9ayhHLFcpLEQ9ayhHLHcpLGE9IiIsQT0wLHY9NjgpfSxyLChWKDI4LChWKDc2LGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyl7Zm9yKHc9Mjc7dyE9MTA7KXc9PTgyP3c9MTI6dz09Mjc/KEE9TihHLDYpLGI9cSg1LDEyNyxHKSxEPVtdLGE9ayhHLDc0KSxRPTAsVz1hLmxlbmd0aCx3PTgyKTp3PT0yOD8oUT0oKFF8MCkrKHEoMywxMjcsRyl8MCkpJVcsRC5wdXNoKGFbUV0pLHc9OTQpOnc9PTk0P3c9MTI6dz09MTI/dz1iLS0/Mjg6NDY6dz09NDYmJih4KEEsRyxEKSx3PTEwKX0sciwyNTIpLGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyx2LEUpe3tFPTkyO3doaWxlKEUhPTkxKUU9PTkyPyh3PU4oRywyOSksUT1OKEcsMzgpLEQ9VChHLDIzKSxhPWwoRyx3KSxiPUMoRyxRKSxBPTAsVz0iIixFPTQyKTpFPT05Mz9FPUE8Yi5sZW5ndGg/OTA6NzY6RT09NDI/RT05MzpFPT0yND8oQSsrLEU9OTMpOkU9PTc2PyhKKEcsRCxhW1ddKSxFPTkxKTpFPT05MCYmKFcrPVN0cmluZy5mcm9tQ2hhckNvZGUoKHY9YltBXSwtMS0ofnZeMTIxKSkpLEU9MjQpfX0pLHIsMzAyKSwyMzcpKSx4KSg1MDksciwwKSwyNzIpLHIsMCksZnVuY3Rpb24oRyxBLFEsRCl7eCgoRD0oQT0oUT1UKEcsMjYpLCRLKEcpKSxUKEcsMjYpKSxEKSxHLGsoRyxRKT4+PkEpfSksciw0NTEpLHIpLDU5KSxyKSw1MCksbG8pKCJTdWJtaXQiKSkuZGlzcG9zZSgpLDYwKSxmdW5jdGlvbihHLEEsUSxELFcsYixhLHcpe2Zvcih3PTMxO3chPTE4Oyl3PT0zMD93PUcuVT09Rz84NToxODp3PT01Mz8oRy5BPXZvaWQgMCx3PTI0KTp3PT0yMj93PWE9PTQ4PzUzOjE4Onc9PTk5PyhHLkM9a0soZmFsc2UsRywzMiksRy5BPXZvaWQgMCx3PTE4KTp3PT0zMT8oYT1OKEcsMzQpLGI9TihHLDM2KSxXPVQoRywyMyksdz0zMCk6dz09MjQ/dz1BPT0yPzk5OjE4Onc9PTg1JiYoUT1sKEcsYSksRD1DKEcsVyksQT1sKEcsYiksUVtBXT1ELHc9MjIpfSxyLDE0NCksNDg4KSxZOCg0KSksW10pKSw0NjYpKSxbXSkpLHIpLnQ1PTAsciksNjkpLFk4KDQpKSksciksNTQ3KSxmdW5jdGlvbigpe30pLHIsMjgwKTt3aGlsZShbXSlpZihWKDYwLGZ1bmN0aW9uKEcsQSxRLEQsVyl7eCgoQT1qMCgiYXJyYXkiLChEPWwoKFc9TigoUT1UKEcsMjMpLEcpLDEwKSxHKSxRKSxEKSwibnVtYmVyIiksVyksRyxBKX0sciwzNDApLFtdKWJyZWFrO2lmKFYoNzYsZnVuY3Rpb24oRyxBLFEsRCxXLGIpeyhiPWwoRywoVz1sKEcsKEQ9TigoUT1UKEcsMjYpLEE9TihHLDMwKSxHKSwxOCksQSkpLFEpKT09Vyx4KShELEcsK2IpfSxyLChKKHIsMTYxLChKKHIsKEoociwoVig0NCxmdW5jdGlvbihHKXtxKDksOCxHLDQpfSxyLChWKDEyLCh4KDI2MixyLFs1NywwLCh4KDM1MywoVigyOCwoVig2MCxmdW5jdGlvbihHLEEsUSxELFcpe3tXPTM4O3doaWxlKFchPTYpVz09OTQ/KEQtLSxXPTYzKTpXPT0zND9XPTYzOlc9PTQxP1c9QT82NTo0MjpXPT00Mj8oeCg1MDksRyxHLlApLFc9Nik6Vz09Mzk/KFE9VChHLDMxKSxBW1FdPUcuU1tRXSxXPTk0KTpXPT02Mz9XPUQ+MD8zOTo4Olc9PTg/KEFbMzU3XT1HLlNbMzU3XSxBWzQ2NF09Ry5TWzQ2NF0sRy5TPUEsVz02KTpXPT0zOD8oQT1HLkt6LnBvcCgpLFc9NDEpOlc9PTY1JiYoRD0kSyhHKSxXPTM0KX19LChNKDE5NSwoVigxMiwoVig3NixmdW5jdGlvbihHLEEsUSxELFcsYixhLHcsdixFLG0sWUssR2wsY1MsbixzdyxsQixoLFdTKXt7aD0wO3doaWxlKGghPTY1KWg9PTYzP2g9bTxZSz84OTozOmg9PTc2PyhjUz1XUygxKSxELnB1c2goY1MpLFcrPWNTPzA6MSxoPTI3KTpoPT03Mz9oPTMwOmg9PTQ/KHN3PSgoV3wwKS0xKS50b1N0cmluZygyKS5sZW5ndGgsRT0wLHY9W10saD03KTpoPT0yNz8oYisrLGg9MzIpOmg9PTIzPyhWKDEyLGZ1bmN0aW9uKEgsZkUsUCxENCxlMCx0KXtmb3IodD0xMjt0IT0yODspdD09NDc/dD1mRT49RDQubGVuZ3RoPzYyOjg4OnQ9PTYyPyhENC5wdXNoKFQoSCwzMSkpLHQ9NCk6dD09NjQ/KFArKyx0PTE1KTp0PT04NT90PURbUF0/NTQ6OTA6dD09MTU/dD1QPFlLPzU5OjY3OnQ9PTg4PyhmRT1ENFtmRV0sdD01NCk6dD09NTk/KGZFPXZbUF0sdD04NSk6dD09MTI/KEQ0PVtdLGUwPVtdLFA9MCx0PTcwKTp0PT00P3Q9NDc6dD09NTQ/KGUwLnB1c2goZkUpLHQ9NjQpOnQ9PTY3PyhILk89cSgxOSxILG4uc2xpY2UoKSksSC5aPXEoMTYsSCxlMCksdD0yOCk6dD09NzA/dD0xNTp0PT05MCYmKHQ9NDcpfSxHLGxCKSxoPTY1KTpoPT0zMD9oPUdsLS0/OTE6MjM6aD09OTE/KG4ucHVzaChDKEcsTihHLDUpKSksaD03Myk6aD09Nz9oPTg6aD09ODk/KERbbV0mJih2W21dPU4oRywxOCkpLGg9NzkpOmg9PTA/KFdTPWZ1bmN0aW9uKEgsZkUpe2Zvcig7YTxIOylRfD0kSyhHKTw8YSxhKz04O3JldHVybiBhLT1ILFE+Pj0oZkU9USYoMTw8SCktMSxIKSxmRX0sbEI9VChHLDMxKSxhPVE9MCx3PShBPVdTKDMpLH5BLTMqfihBfDEpKyhBJi0yKSsyKih+QV4xKSksWUs9V1MoNSksVz1iPTAsRD1bXSxoPTkyKTpoPT03OT8obSsrLGg9NjMpOmg9PTkyP2g9MzI6aD09MzI/aD1iPFlLPzc2OjQ6aD09MzE/KG09MCxoPTc3KTpoPT00MT8oRSsrLGg9OCk6aD09Nzc/aD02MzpoPT04Nz9oPTMwOmg9PTg/aD1FPFlLPzE0OjMxOmg9PTM/KG49W10sR2w9dyxoPTg3KTpoPT0xNCYmKERbRV18fCh2W0VdPVdTKHN3KSksaD00MSl9fSxyLChWKDI4LGZ1bmN0aW9uKEcsQSxRLEQsVyl7Zm9yKFc9Nzg7VyE9MTI7KVc9PTc4P1c9Vig3NCw1MDksZmFsc2UsRyx0cnVlLEEpPzEyOjI3Olc9PTI3JiYoRD1OKEcsMTMpLFE9TihHLDEzKSxKKEcsUSxmdW5jdGlvbihiKXtyZXR1cm4gZXZhbChiKX0oTzgobChHLlUsRCkpKSksVz0xMil9LHIsKFYoMjgsZnVuY3Rpb24oRyxBLFEsRCxXLGIpe2ZvcihiPTY5O2IhPTczOyliPT00ND8oQSsrLGI9ODApOmI9PTc0P2I9ODA6Yj09MzY/KEooRyxXLEQpLGI9NzMpOmI9PTgwP2I9QTxRPzg0OjM2OmI9PTg0PyhELnB1c2goJEsoRykpLGI9NDQpOmI9PTY5JiYoVz1OKEcsMjYpLFE9cSg3LDEyNyxHKSxBPTAsRD1bXSxiPTc0KX0sKFYoNDQsZnVuY3Rpb24oRyxBLFEpeyhBPWsoKFE9TihHLDE0KSxHLlUpLFEpLEEpWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoQVsxXSxBWzJdLEhTKX0sKFYoNDQsZnVuY3Rpb24oRyl7ZVMoNCxHKX0sKEoociwoTSg0NjQscixbKEoociw0NjEsKFYoNjAsZnVuY3Rpb24oRyxBLFEsRCl7RD1rKEcsKEE9TihHLChRPU4oRywxNyksMjEpKSxBKSksbChHLFEpIT0wJiZNKDUwOSxHLEQpfSxyLChWKDI4LGZ1bmN0aW9uKEcsQSxRLEQsVyxiKXt4KChEPWwoKFc9bCgoYj0oUT0oQT1UKEcsMjYpLFQoRywyNykpLE4oRyw1KSksRyksQSksRyksUSksYiksRyxXW0RdKX0sciwoTSgzNTcsKFYoMTIsZnVuY3Rpb24oRyxBKXtCaygzNTcsKEE9bChHLE4oRyw2KSksMCksRy5VLDUwOSxBLDEwNCl9LChyLkY4PShWKDEyLGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyx2LEUsbSl7Zm9yKG09MjI7bSE9MzA7KW09PTQ3PyhEPVQoMiwzMiwxLDEsdixHLFcsQSxRKSxBLmFkZEV2ZW50TGlzdGVuZXIoUSxELEhTKSxrKEcsMTYxKS5wdXNoKGZ1bmN0aW9uKCl7QS5yZW1vdmVFdmVudExpc3RlbmVyKFEsRCxIUyl9KSx4KDM1NSxHLFtBLFEsRF0pLG09MzApOm09PTI0P209QSE9PTA/NDc6MzA6bT09MjImJihhPVQoRywyNyksRT1OKEcsOSksdz1OKEcsMjIpLGI9TihHLDM2KSxXPUMoRyx3KSxRPUMoRyxFKSxBPWwoRy5VLGEpLHY9bChHLGIpLG09MjQpfSxyLDYzKSwwKSxyKSw0MzUpLHIpLFtdKSw0NDgpKSwxMTEpKSxVKSksMjA0OCldKSwyOTcpLHt9KSxyKSwzNzkpLHIpLDQ2MiksciksMSksMTE4KSksMzA2KSksZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSl7Zm9yKGE9Mjg7YSE9OTE7KWlmKGE9PTM0KWE9RC5maT81MzozOTtlbHNlIGlmKGE9PTM5KVUuY2xlYXJUaW1lb3V0KEQuZTUpLGUoRC5Eeiw4MyxHKSxlKEQuTWUsOTMsRyksYT01MztlbHNlIGlmKGE9PTUzKUErKyxhPTk0O2Vsc2UgaWYoYT09NTIpRD1HLkJxW0FdLGE9MzQ7ZWxzZSBpZihhPT03NilhPTk0O2Vsc2UgaWYoYT09MzApRy5CcS5sZW5ndGg9MCxhPTkxO2Vsc2UgaWYoYT09Mjgpe2ZvcihXIGluIGI9ayhHLChRPSRLKEcpLDM4MSkpLGRlbGV0ZSBiW1FdLGIpaWYoVyE9PSJ0IiYmT2JqZWN0Lmhhc093bihiLFcpKXJldHVybjtBPShhPTc2LDApfWVsc2UgYT09OTQmJihhPUE8Ry5CcS5sZW5ndGg/NTI6MzApfSksciwzMzQpLHIpLFk4KDQpKSxyKSwzMjMpLGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyx2LEUsbSxZSyxHbCxjUyxuKXtmb3Iobj0yO24hPTk0OylpZihuPT0yNSluPTE5O2Vsc2UgaWYobj09NjgpY1M9YS5sZW5ndGgsdj12PjA/djoxLG09MCxuPTI1O2Vsc2UgaWYobj09Njcpbj1qMCgiYXJyYXkiLGEsIm51bWJlciIpPT0ib2JqZWN0Ij8wOjUzO2Vsc2UgaWYobj09NTMpbj1HLlU9PUc/Njg6OTQ7ZWxzZSBpZihuPT00NSltKz12LG49MTk7ZWxzZSBpZihuPT0wKXtmb3IoRSBpbiBXPVtdLGEpVy5wdXNoKEUpO2E9VyxuPTUzfWVsc2Ugbj09Mj9uPVYoMTAsNTA5LHRydWUsRyx0cnVlLEEpPzk0OjI5Om49PTE5P249bTxjUz83NDo5NDpuPT0yOT8oR2w9VChHLDMwKSx3PVQoRywyNiksRD1OKEcsMTcpLGI9TihHLDI2KSxRPUMoRyx3KSx2PWsoRyxEKSxZSz1sKEcsYiksYT1DKEcsR2wpLG49NjcpOm49PTc0JiYoUShhLnNsaWNlKG0sKG18MCkrKHZ8MCkpLFlLKSxuPTQ1KX0pLHIsNDM3KSxyKSwwKSxyLllJPTAsMCldKSxmdW5jdGlvbihHLEEsUSxELFcsYixhLHcpe2Zvcih3PTIyO3chPTU5Oyl3PT05P3c9US0tPzkyOjU3Onc9PTIyPyhXPU4oRywxNCksUT1xKDYsMTI3LEcpLGE9IiIsRD1rKEcsNzQpLGI9RC5sZW5ndGgsQT0wLHc9NjMpOnc9PTEwP3c9OTp3PT02Mz93PTk6dz09NTc/KEooRyxXLGEpLHc9NTkpOnc9PTkyJiYoQT0oKEF8MCkrKHEoMywxMjcsRyl8MCkpJWIsYSs9eVtEW0FdXSx3PTEwKX0pLHIsNDExKSwzKSksMzgwKSxbMCwwLDBdKSw0OTEpLHIpLFtdKSksMTAzKSksOClWKDQ0LGZ1bmN0aW9uKEcsQSxRLEQpe0ooRywoRD1OKEcsKEE9TihHLChRPU4oRywzMCksMzgpKSwxMCkpLEQpLEMoRyxRKXx8QyhHLEEpKX0sciwxODcpO1hmKHRydWUsKGUoKCgoSihyLDM4MSwoVig0NCxmdW5jdGlvbihHLEEsUSxELFcsYil7e2I9Nzg7d2hpbGUoYiE9OTcpYj09Mj9iPUcuVT09R3x8RD09Ry5RVyYmUT09Rz8zOTo5NzpiPT02OT8oVz1mSCgyMyw1LDAsMSxHKSxRPVcuT2YsRD1XLkpsLGI9Mik6Yj09Nzg/Yj1WKDI2LDUwOSxmYWxzZSxHLHRydWUsQSk/OTc6Njk6Yj09MzkmJihNKFcueVcsRyxELmFwcGx5KFEsVy5WKSksRy54YT1HLnUoKSxiPTk3KX19LChKKHIsKChWKDEyLGZ1bmN0aW9uKEcsQSxRLEQsVyl7SihHLChXPShEPShBPU4oRywoUT1OKEcsMzIpLDI1KSksQyhHLFEpKSxDKEcsQSkpLEEpLFcrRCl9LHIsKFYoNDQsZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSx3KXtNKChRPUMoKGI9KEE9bCgoVz1OKEcsKEQ9KGE9VChHLCh3PVQoRywyNyksMjMpKSxOKEcsMjkpKSwyNSkpLEcpLFcpLEMoRyxEKSksRyksYSksdyksRyxUKDIsNiwxLEEsYixHLFEpKX0sciwoSihyLChWKDc2LGZ1bmN0aW9uKEcsQSxRKXsoQT1UKChRPVQoRywyNyksRyksMzApLHgpKEEsRywiIitsKEcsUSkpfSxyLDMxNCksNDIxKSxbXSksNDUyKSksODgpKSxWKSg0NCxmdW5jdGlvbihHKXtUYyhHLDMpfSxyLDEzMCksMzU1KSwwKSxyKSwxNSkse30pKSxYKXx8ZShbZFBdLDg1LHIpLGUpKFtpeCx1XSw5MSxyKSxbcmEsZl0pLDgyLHIpLDcpLDAscix0cnVlLHRydWUpfSxCUz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRixHKXtpZihwPWZbMF0scD09dUIpISh5PVkuaihmKSl8fCh5LmU1PVUuc2V0VGltZW91dChmdW5jdGlvbihBKXt3aGlsZSh0cnVlKWlmKEE9IVkuVC5sZW5ndGgmJiFZLk4sMTUpYnJlYWs7ZSh5LkR6LDk1LCh5LmZpPXRydWUsWSkpO3doaWxlKCEhW10paWYoZSh5Lk1lLDgxLFkpLFtdKWJyZWFrO0EmJlhmKHRydWUsMywwLFksdHJ1ZSx0cnVlKX0seS50aW1lb3V0KSxZLkJxLnB1c2goeSkpO2Vsc2UgaWYocD09JDgpWS5JPXRydWUsWS5ZYT0yNSxZLmhsPVkuRzEoKS1mWzJdLFkuaihmKTtlbHNlIGlmKHA9PVBrKXtGPWZbSV1bM107dHJ5e1g9WS5XfHxZLmooZil9Y2F0Y2goQSl7Syg1MixZLEEsMCksWD1ZLld9aWYoYz1ZLnUoKSxbXSlGKFgpO1kubCs9WS51KCktY31lbHNlIGlmKHA9PVV3KWZbM10mJihZLm89dHJ1ZSksZls0XSYmKFkuST10cnVlKSxZLmooZik7ZWxzZSBzd2l0Y2goIShwPT1peCkpe2Nhc2UgdHJ1ZTpzd2l0Y2goIShwPT1yYSkpe2Nhc2UgMD09IVtdOndoaWxlKHA9PU1mKXtyZXR1cm4gdT1mWzJdLHgoMjE3LFksZls2XSksTShMLFksdSksWS5qKGYpO2lmKE51bWJlcigpPT09LTApYnJlYWt9cD09cUI/KFkuaihmKSxZLnRyPVtdLFkuUz1udWxsLFkuVmU9W10pOnA9PWRQJiZVLmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihZLks9ZnVuY3Rpb24oQSxRKXtmdW5jdGlvbiBEKFcpe2ZvcihXPTE2O1chPTEyOylXPT02Mj8oUT10cnVlLFUuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsRCxIUyksVS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixELEhTKSxBKCksVz0xMik6Vz09MTYmJihXPVE/MTI6NjIpfVUuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKFE9ZmFsc2UsRCksSFMpLFUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsRCxIUyl9KTticmVhaztjYXNlIGZhbHNlOnRyeXt7Rz0wO3doaWxlKEc8WS5jcS5sZW5ndGgpe3RyeXtTPVkuY3FbR10sU1swXVtTW0ldXShTWzJdKX1jYXRjaChBKXt9RysrfX19Y2F0Y2goQSl7fSgwLGZbSV0pKGZ1bmN0aW9uKEEsUSl7WS5JOShBLHRydWUsUSl9LChyPShZLmNxPVtdLFkpLnUoKSxmdW5jdGlvbihBKXsoZShbcUJdLChBPSFZLlQubGVuZ3RoJiYhWS5OLDg0KSxZKSxBKSYmWGYodHJ1ZSw1LDAsWSx0cnVlLGZhbHNlKX0pLGZ1bmN0aW9uKEEpe3JldHVybiBZLnoxKEEpfSxmdW5jdGlvbihBLFEsRCl7cmV0dXJuIFkuQ2koQSxRLEQpfSksWS5sKz1ZLnUoKS1yO2JyZWFrfWJyZWFrO2Nhc2UgISFudWxsOlkubz10cnVlLFkuaihmKTticmVha319LGowPWZ1bmN0aW9uKEksTCxZLGYscil7aWYoKGY9dHlwZW9mIEwsZik9PSJvYmplY3QiKWlmKEwpe2lmKEwgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gSTt3aGlsZShMIGluc3RhbmNlb2YgT2JqZWN0KXtyZXR1cm4gZjtpZihbXSlicmVha31pZigocj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoTCkscik9PSJbb2JqZWN0IFdpbmRvd10iKXJldHVybiJvYmplY3QiO3doaWxlKHI9PSJbb2JqZWN0IEFycmF5XSJ8fHR5cGVvZiBMLmxlbmd0aD09WSYmdHlwZW9mIEwuc3BsaWNlIT0idW5kZWZpbmVkIiYmdHlwZW9mIEwucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhTC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgic3BsaWNlIikpe3JldHVybiBJO2lmKE5hTiE9PU5hTilicmVha31pZihyPT0iW29iamVjdCBGdW5jdGlvbl0ifHx0eXBlb2YgTC5jYWxsIT0idW5kZWZpbmVkIiYmdHlwZW9mIEwucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhTC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgiY2FsbCIpKXJldHVybiJmdW5jdGlvbiJ9ZWxzZSByZXR1cm4ibnVsbCI7ZWxzZSBmb3IoMTtmPT0iZnVuY3Rpb24iJiZ0eXBlb2YgTC5jYWxsPT0idW5kZWZpbmVkIjsxKXtyZXR1cm4ib2JqZWN0IjtpZihudWxsIT0oTmFOPT09TmFOKSlicmVha31yZXR1cm4gZn0scEg9ZnVuY3Rpb24oKXt3aGlsZSh0cnVlKXtyZXR1cm4gQUsuY2FsbCh0aGlzLDcsMyk7aWYoe30pYnJlYWt9fSx1eD1mdW5jdGlvbihJLEwpe2Z1bmN0aW9uIFkoKXt0aGlzLm49KHRoaXMuWD1bXSwwKX1yZXR1cm4gTD0oST0oKFkucHJvdG90eXBlLnRsPWZ1bmN0aW9uKCl7cmV0dXJuIFdrLmNhbGwodGhpcyw3MSw2KX0sWSkucHJvdG90eXBlLm56PWZ1bmN0aW9uKGYscil7cmV0dXJuIGUuY2FsbCh0aGlzLGYsMTYscil9LG5ldyBZKSxuZXcgWSksW2Z1bmN0aW9uKGYpe0kubnooZiksTC5ueihmKX0sZnVuY3Rpb24oZixyKXtyZXR1cm4oZj1mPT09dm9pZCAwP3RydWU6ZixyPUkudGwoKS5jb25jYXQoTC50bCgpKSxmKSYmKEw9bmV3IFkpLHJ9XX0sSkM9ZnVuY3Rpb24oKXtyZXR1cm4gUFMuY2FsbCh0aGlzLDU2LDE5KX0sbD1mdW5jdGlvbihJLEwsWSl7WT1JLlNbTF07d2hpbGUoWT09PXZvaWQgMCl7dGhyb3dbbzEsMzAsTF07aWYodHJ1ZSlicmVha31pZihZLnZhbHVlKXJldHVybiBZLmNyZWF0ZSgpO3JldHVybiBZLmNyZWF0ZShMKjUqTCs0KkwrLTM1KSxZLnByb3RvdHlwZX0sQms9ZnVuY3Rpb24oSSxMLFksZixyLHApe1kuS3oubGVuZ3RoPnA/bk8oW28xLDM2XSxMLEksWSk6KFkuS3oucHVzaChZLlMuc2xpY2UoKSksWS5TW2ZdPXZvaWQgMCx4KGYsWSxyKSl9LEtFPWZ1bmN0aW9uKEkpe3JldHVybiB3UC5jYWxsKHRoaXMsMCwxMixJKX0sQz1mdW5jdGlvbihJLEwsWSl7WT1JLlNbTF07d2hpbGUoWT09PXZvaWQgMCl7dGhyb3dbbzEsMzAsTF07aWYoMSlicmVha31zd2l0Y2goIVkudmFsdWUpe2Nhc2UgdHJ1ZTp0cnVlLnRydWU7YnJlYWs7Y2FzZSAwIT0hWyIiXTpyZXR1cm4gWS5jcmVhdGUoKTticmVha31yZXR1cm4oWS5jcmVhdGUoTCo1KkwrNCpMKy0zNSksWSkucHJvdG90eXBlfSxHeT1mdW5jdGlvbihJLEwsWSxmLHIscCl7cmV0dXJuIFdrLmNhbGwodGhpcyw3MSwzLEksTCxZLGYscixwKX0sZEM9ZnVuY3Rpb24oKXtyZXR1cm4gVi5jYWxsKHRoaXMsOCl9LFpxPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7Zm9yKGM9KHU9KFk9SS5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksMCkscj1bXSwwKTt1PFkubGVuZ3RoO3UrKylmPVkuY2hhckNvZGVBdCh1KSxmPDEyOD9yW2MrK109ZjooZjwyMDQ4P3JbYysrXT0oRz1mPj42LC0xLX4oR3wxOTIpKTooKGZ8MCkrfihmJjY0NTEyKS0gLTY0NTEzLShmXjY0NTEyKT09NTUyOTYmJnUrMTxZLmxlbmd0aCYmKFM9WS5jaGFyQ29kZUF0KHUrMSksLShTfDY0NTEyKS0yKn4oU3w2NDUxMikrKFNeNjQ1MTIpKzIqKH5TXjY0NTEyKSk9PTU2MzIwPyhmPTY1NTM2KygyKihmfDApLX4oZiZMKS0gLTErMip+Zjw8MTApKyhZLmNoYXJDb2RlQXQoKyt1KSZMKSxyW2MrK109KHk9Zj4+MTgsLTEtfnkrKH55JjI0MCkpLHJbYysrXT0oQT1mPj4xMiY2MywtfihBJjEyOCkrMiooQV4xMjgpKyh+QV4xMjgpKSk6cltjKytdPShwPWY+PjEyLDIqfihwJjIyNCktMip+cC0gLTIyNSsofnB8MjI0KSkscltjKytdPShYPWY+PjYmNjMsLX5YKyhYXjEyOCkrKH5YfDEyOCkpKSxyW2MrK109KEY9ZiY2MywoRiYxMjgpLTEtKH5GXjEyOCkpKTtyZXR1cm4gcn0sRnQ9ZnVuY3Rpb24oKXtyZXR1cm4gUmEuY2FsbCh0aGlzLDQ1LDMpfSxqYT1mdW5jdGlvbihJKXtyZXR1cm4gb2EuY2FsbCh0aGlzLDEsNyxJKX0sZ0M9ZnVuY3Rpb24oSSxMLFksZil7dHJ5e2Y9SVsoKEx8MiktfihMfDIpKyh+TF4yKSklM10sSVtMXT0oSVtMXXwwKS0oSVsoKEx8MCkrMSklM118MCktKGZ8MCleKEw9PTE/Zjw8WTpmPj4+WSl9Y2F0Y2gocil7dGhyb3cgcjt9fSxZVj1mdW5jdGlvbihJKXtyZXR1cm4geWMuY2FsbCh0aGlzLDk5LDYsSSl9LGs9ZnVuY3Rpb24oSSxMLFkpe2lmKChZPUkuU1tMXSxZKT09PXZvaWQgMCl0aHJvd1tvMSwzMCxMXTtpZihZLnZhbHVlKXJldHVybiBZLmNyZWF0ZSgpO3JldHVybiBZLmNyZWF0ZShMKjUqTCs0KkwrLTM1KSxZLnByb3RvdHlwZX0sU2E9ZnVuY3Rpb24oSSl7cmV0dXJuIGFhLmNhbGwodGhpcywxMCxJKX0sbXU9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMpe3doaWxlKEwuVT09TCl7Zm9yKHU9QyhMLEkpLEk9PTE5NXx8ST09NDg4fHxJPT0xMj8ocD1mdW5jdGlvbihTLHksRixHLEEsUSxELFcsYixhKXtmb3IoYj0oYT02Myw2Nyk7Oyl0cnl7aWYoYT09NzQpYnJlYWs7ZWxzZSBpZihhPT02MylEPXUubGVuZ3RoLEE9KER8MCktND4+MyxhPTM3O2Vsc2UgaWYoYT09MTkpYj00Myx1LnI1PUU4KDgsRixUKDAsNjYseSx1KSxUKDAsNTEsLSh5JjQpLTEtMyp+KHl8NCkrMioofnleNCksdSksMCksYT02NjtlbHNlIGlmKGE9PTY2KXUucHVzaCgoUT11LnI1Wy1+KEQmNyktIC0xKzIqKEReNykrMioofkReNyldLC0xKyh+USZTKS0oflF8UykpKSxhPTc0O2Vsc2UgaWYoYT09NTApdS5FQT1BLHk9KEc9QTw8MywtfihHJjQpK34oR3w0KSsyKihHJi01KSksRj1bMCwwLGNbMV0sY1syXV0sYT0xOTtlbHNlIGlmKGE9PTM3KWE9dS5FQSE9QT81MDo2NjtlbHNlIGlmKGE9PTk1KXRocm93IGI9NjcsVzt9Y2F0Y2godyl7aWYoYj09NjcpdGhyb3cgdztiPT00MyYmKFc9dyxhPTk1KX19LGM9QyhMLDM4MCkpOnA9ZnVuY3Rpb24oUyl7dS5wdXNoKFMpfSxmJiZwKGYmMjU1KSxYPTAscj1ZLmxlbmd0aDtYPHI7WCsrKXAoWVtYXSk7aWYodHJ1ZSE9IVtdKWJyZWFrfX0sdW89ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYKXtyZXR1cm4gclAuY2FsbCh0aGlzLDg3LDI0LEksTCxZLGYscixwLHUsWCl9LGZIPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMpe3U9KFg9KCgocD1OKHIsKGM9cltBcF18fHt9LEwpKSxjKS55Vz1UKHIsSSksYykuVj1bXSxyLlUpPT1yPygkSyhyKXxZKS1mOjEsTikociw5KTt7Uz1ZO3doaWxlKFM8WCljLlYucHVzaChUKHIsMzApKSxTKyt9Zm9yKChjLk9mPWsocix1KSxjKS5KbD1sKHIscCk7WC0tOyljLlZbWF09QyhyLGMuVltYXSk7cmV0dXJuIGN9LFE4LFk4PWZ1bmN0aW9uKEksTCxZKXtmb3IoWT01NTtZIT04MjspaWYoWT09NTIpWT0zOTtlbHNlIGlmKFk9PTM5KVk9SS0tPzY4Ojc3O2Vsc2UgaWYoWT09OTIpWT0zOTtlbHNlIGlmKFk9PTY4KUwucHVzaChNYXRoLnJhbmRvbSgpKjI1NXwwKSxZPTUyO2Vsc2V7aWYoWT09NzcpcmV0dXJuIEw7WT09NTUmJihMPVtdLFk9OTIpfX0sYm89ZnVuY3Rpb24oSSxMKXtyZXR1cm4gclAuY2FsbCh0aGlzLDg3LDMyLEksTCl9LFFTPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMpe3JldHVybiB3Qy5jYWxsKHRoaXMsNSxJLEwsWSxmLHIscCx1LFgsYyxTKX0seTg9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpeyhMLnB1c2goKHA9SVswXTw8MjQscj1JWzFdPDwxNiwocCZyKS0xLSh+cF5yKSl8SVsyXTw8OHxJWzNdKSxMLnB1c2goKHk9KFg9SVs0XTw8MjQsRj1JWzVdPDwxNiwtfihYJkYpKy0zLShYfH5GKS0oflh8RikpfElbNl08PDgsZj1JWzddLChmfDApK34oeSZmKS1+eSkpLEwpLnB1c2goKFk9KHU9SVs4XTw8MjQsUz1JWzldPDwxNiwoU3wwKSsodV5TKS0ofnUmUykpfElbMTBdPDw4LGM9SVsxMV0sKFkmYyktMSsoWSZ+YyktKFl8fmMpKSl9LFRsPWZ1bmN0aW9uKEksTCxZKXtyZXR1cm4oWT1JLmNyZWF0ZSgpLnNoaWZ0KCksTCkuTy5jcmVhdGUoKS5sZW5ndGh8fEwuWi5jcmVhdGUoKS5sZW5ndGh8fChMLk89dm9pZCAwLEwuWj12b2lkIDApLFl9LCRWPWZ1bmN0aW9uKEksTCxZLGYscixwKXtyZXR1cm4gSy5jYWxsKHRoaXMsOSxMLFksSSxmLHIscCl9LGN2PWZ1bmN0aW9uKEksTCxZLGYscil7cmV0dXJuIHljLmNhbGwodGhpcyw5OSwzLEksTCxZLGYscil9LHFmPWZ1bmN0aW9uKEkpe3t2YXIgTD00Nzt3aGlsZShMIT0xOSlpZihMPT00Nyl2YXIgWT1DTy5hcHBseSgoTD00LDEpLGFyZ3VtZW50cyk7ZWxzZSBpZihMPT05MylMPTY4O2Vsc2UgaWYoTD09MzgpcisrLEw9Njg7ZWxzZSBpZihMPT0yKXZhciBmPShMPTkzLEkpWzBdLHI9MDtlbHNlIGlmKEw9PTY4KUw9cjxZLmxlbmd0aD81OToxMTtlbHNle2lmKEw9PTI5KXJldHVybiBteigwLG51bGwsSVswXSwxNCk7aWYoTD09NClMPVkubGVuZ3RoPT09MD8yOToyO2Vsc2UgaWYoTD09NTkpZis9ZW5jb2RlVVJJQ29tcG9uZW50KFlbcl0pK0lbcisxXSxMPTM4O2Vsc2UgaWYoTD09MTEpcmV0dXJuIG16KDAsbnVsbCxmLDEyKX19fSxaND1mdW5jdGlvbihJKXtyZXR1cm4gQUsuY2FsbCh0aGlzLDcsNDgsSSl9O3N3aXRjaCghKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpKXtjYXNlIGZhbHNlPT0wOnZhciBXdjthOnt2YXIgRGM9e2E6dHJ1ZX0sYng9e307dHJ5e1d2PShieC5fX3Byb3RvX189RGMsYngpLmE7YnJlYWsgYX1jYXRjaChJKXt9V3Y9ZmFsc2V9UTg9V3Y/ZnVuY3Rpb24oSSxMLFkpe2ZvcihZPTU4O1khPTMxOylpZihZPT01OClJLl9fcHJvdG9fXz1MLFk9MjA7ZWxzZSBpZihZPT0yMClZPUkuX19wcm90b19fIT09TD84NDo0NDtlbHNle2lmKFk9PTQ0KXJldHVybiBJO2lmKFk9PTg0KXRocm93IG5ldyBUeXBlRXJyb3IoSSsiIGlzIG5vdCBleHRlbnNpYmxlIik7fX06bnVsbDticmVhaztjYXNlIGZhbHNlOlE4PU9iamVjdC5zZXRQcm90b3R5cGVPZjticmVha312YXIgVT10aGlzfHxzZWxmLFJfPVE4LE5mPSJjbG9zdXJlX3VpZF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApLGNrLHZTPTAsR2M9ZnVuY3Rpb24oSSxMLFksZixyLHApe2lmKCJzIilwPTg3O2ZvcihmPTI1OzspdHJ5e2lmKHA9PTgwKWJyZWFrO2Vsc2UgaWYocD09MTMpZj0yNSxwPTY5O2Vsc2UgaWYocD09NDIpST1mYWxzZSxMPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe0k9dHJ1ZX19KSxwPTEwO2Vsc2V7aWYocD09MTUpcmV0dXJuIGZhbHNlO2lmKHA9PTY5KXJldHVybiBmPTI1LEk7cD09MTA/KGY9NjcsWT1mdW5jdGlvbigpe30sVS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixZLEwpLFUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsWSxMKSxwPTY5KTpwPT04NyYmKHA9VS5hZGRFdmVudExpc3RlbmVyJiZPYmplY3QuZGVmaW5lUHJvcGVydHk/NDI6MTUpfX1jYXRjaCh1KXtpZihmPT0yNSl0aHJvdyB1O2Y9PTY3JiYocj11LHA9MTMpfX0oKSxiQj0oKFIxKE93LDIsMzYsKCgoYm8ucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuRm09dHJ1ZX0sSkMucHJvdG90eXBlKS5IPWZ1bmN0aW9uKEkpe3tJPTE1O3doaWxlKEkhPTcwKUk9PTE0P0k9dGhpcy5OaC5sZW5ndGg/MTM6NzA6ST09MjI/ST0xNDpJPT0xNT9JPXRoaXMuTmg/Njc6NzA6ST09Njc/ST0xNDpJPT0xMyYmKHRoaXMuTmguc2hpZnQoKSgpLEk9MjIpfX0sSkMucHJvdG90eXBlKVsoYm8ucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRydWV9LEpDLnByb3RvdHlwZS5ZPWZhbHNlLEpDLnByb3RvdHlwZSkuZGlzcG9zZT1mdW5jdGlvbihJKXt7ST0yNzt3aGlsZShJIT0yMSlJPT0yNz9JPXRoaXMuWT8yMTo4NzpJPT04NyYmKHRoaXMuWT10cnVlLHRoaXMuSCgpLEk9MjEpfX0sU3ltYm9sLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCl9LGJvKSksT3cucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oSSxMLFksZixyLHApe2ZvcihwPTE1O3AhPTIwOylwPT03OT8odGhpcy5vZmZzZXRYPUkub2Zmc2V0WCx0aGlzLm9mZnNldFk9SS5vZmZzZXRZLHRoaXMuY2xpZW50WD1JLmNsaWVudFghPT12b2lkIDA/SS5jbGllbnRYOkkucGFnZVgsdGhpcy5jbGllbnRZPUkuY2xpZW50WSE9PXZvaWQgMD9JLmNsaWVudFk6SS5wYWdlWSx0aGlzLnNjcmVlblg9SS5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1JLnNjcmVlbll8fDAscD0zNSk6cD09Njk/cD1yPzI6Nzk6cD09NDM/cD1mPzk2OjU2OnA9PTM1Pyh0aGlzLmJ1dHRvbj1JLmJ1dHRvbix0aGlzLmtleUNvZGU9SS5rZXlDb2RlfHwwLHRoaXMua2V5PUkua2V5fHwiIix0aGlzLmNoYXJDb2RlPUkuY2hhckNvZGV8fChZPT0ia2V5cHJlc3MiP0kua2V5Q29kZTowKSx0aGlzLmN0cmxLZXk9SS5jdHJsS2V5LHRoaXMuYWx0S2V5PUkuYWx0S2V5LHRoaXMuc2hpZnRLZXk9SS5zaGlmdEtleSx0aGlzLm1ldGFLZXk9SS5tZXRhS2V5LHRoaXMucG9pbnRlcklkPUkucG9pbnRlcklkfHwwLHRoaXMucG9pbnRlclR5cGU9SS5wb2ludGVyVHlwZSx0aGlzLnN0YXRlPUkuc3RhdGUsdGhpcy50aW1lU3RhbXA9SS50aW1lU3RhbXAsdGhpcy5Tbz1JLEkuZGVmYXVsdFByZXZlbnRlZCYmT3cuRi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpLHA9MjApOnA9PTY3PyhmPUkuZnJvbUVsZW1lbnQscD05Nik6cD09MTU/KFk9dGhpcy50eXBlPUkudHlwZSxyPUkuY2hhbmdlZFRvdWNoZXMmJkkuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP0kuY2hhbmdlZFRvdWNoZXNbMF06bnVsbCx0aGlzLnRhcmdldD1JLnRhcmdldHx8SS5zcmNFbGVtZW50LHRoaXMuY3VycmVudFRhcmdldD1MLGY9SS5yZWxhdGVkVGFyZ2V0LHA9NDMpOnA9PTU2P3A9WT09Im1vdXNlb3ZlciI/Njc6Mzg6cD09ODI/KGY9SS50b0VsZW1lbnQscD05Nik6cD09OTY/KHRoaXMucmVsYXRlZFRhcmdldD1mLHA9NjkpOnA9PTI/KHRoaXMuY2xpZW50WD1yLmNsaWVudFghPT12b2lkIDA/ci5jbGllbnRYOnIucGFnZVgsdGhpcy5jbGllbnRZPXIuY2xpZW50WSE9PXZvaWQgMD9yLmNsaWVudFk6ci5wYWdlWSx0aGlzLnNjcmVlblg9ci5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1yLnNjcmVlbll8fDAscD0zNSk6cD09MzgmJihwPVk9PSJtb3VzZW91dCI/ODI6OTYpfSxPdy5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7KE93LkYuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyksdGhpcy5Tbykuc3RvcFByb3BhZ2F0aW9uP3RoaXMuU28uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5Tby5jYW5jZWxCdWJibGU9dHJ1ZX0sT3cpLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbihJKXt3aGlsZSh0cnVlIT0hW10paWYoZmFsc2UhPShPdy5GLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksbnVsbCkpYnJlYWs7KEk9dGhpcy5TbyxJLnByZXZlbnREZWZhdWx0KT9JLnByZXZlbnREZWZhdWx0KCk6SS5yZXR1cm5WYWx1ZT1mYWxzZX0sImNsb3N1cmVfbGlzdGVuYWJsZV8iKSsoTWF0aC5yYW5kb20oKSoxRTZ8MCksaW89MCxWUz0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEV3PSJjbG9zdXJlX2xtXyIrKCgoKEtFLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyl7Zm9yKFM9OTk7UyE9MTk7KWlmKFM9PTgzKVM9Yz4tMT8zNTo4NDtlbHNlIGlmKFM9PTM1KVg9cFtjXSxTPTM0O2Vsc2UgaWYoUz09NzEpUz1wPzQzOjkwO2Vsc2V7aWYoUz09NTkpcmV0dXJuIFg7Uz09MzQ/Uz1ZPzU5OjQ0OlM9PTQ0PyhYLnllPWZhbHNlLFM9NTkpOlM9PTg0PyhYPW5ldyBzOCghIWYsTCx0aGlzLnNyYyx1LHIpLFgueWU9WSxwLnB1c2goWCksUz01OSk6Uz09NDM/KGM9UFMoNTYsNTYsMCxmLEwscixwKSxTPTgzKTpTPT05OT8odT1JLnRvU3RyaW5nKCkscD10aGlzLkpbdV0sUz03MSk6Uz09OTAmJihwPXRoaXMuSlt1XT1bXSx0aGlzLmc1KyssUz00Myl9fSxLRSkucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgpe3tYPTI5O3doaWxlKFghPTQ1KWlmKFg9PTM4KVooMjYsdHJ1ZSxyW3VdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwocix1LDEpLFg9NTY7ZWxzZXtpZihYPT05NilyZXR1cm4gZmFsc2U7aWYoWD09NzcpWD1wIGluIHRoaXMuSj82Nzo4ODtlbHNlIGlmKFg9PTg5KVg9dT4tMT8zODo5NjtlbHNlIGlmKFg9PTU2KVg9ci5sZW5ndGg9PTA/NTA6NjU7ZWxzZXtpZihYPT04OClyZXR1cm4gZmFsc2U7aWYoWD09Njcpcj10aGlzLkpbcF0sdT1QUyg1Niw1OCwwLFksTCxmLHIpLFg9ODk7ZWxzZSBpZihYPT0yOSlwPUkudG9TdHJpbmcoKSxYPTc3O2Vsc2UgaWYoWD09NTApZGVsZXRlIHRoaXMuSltwXSx0aGlzLmc1LS0sWD02NTtlbHNlIGlmKFg9PTY1KXJldHVybiB0cnVlfX19fSxLRS5wcm90b3R5cGUpLmxkPShLRS5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oSSxMLFksZixyKXtyZXR1cm4gYWEoOSwoZj0ocj1JIT09KFk9TCE9PXZvaWQgMCx2b2lkIDApKT9JLnRvU3RyaW5nKCk6IiIsZmFsc2UpLHRydWUsdGhpcy5KLGZ1bmN0aW9uKHAsdSxYKXtmb3IoWD01MTtYIT03OTspaWYoWD09NjgpWD1yJiZwW3VdLnR5cGUhPWZ8fFkmJnBbdV0uY2FwdHVyZSE9TD81OToxO2Vsc2UgaWYoWD09OTUpWD11PHAubGVuZ3RoPzY4OjQ5O2Vsc2UgaWYoWD09NTkpKyt1LFg9OTU7ZWxzZSBpZihYPT04NylYPTk1O2Vsc2V7aWYoWD09MSlyZXR1cm4gdHJ1ZTtpZihYPT00OSlyZXR1cm4gZmFsc2U7WD09NTEmJih1PTAsWD04Nyl9fSl9LGZ1bmN0aW9uKEksTCxZLGYscixwKXtyZXR1cm4ocj0ocD0tMSx0aGlzLkopW0wudG9TdHJpbmcoKV0scikmJihwPVBTKDU2LDU3LDAsSSxmLFkscikpLHA+LTE/cltwXTpudWxsfSksTWF0aCkucmFuZG9tKCkqMUU2fDApLEkxPXt9LGhDPTAsckM9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt6PSgoUjEoRnQsMiw3LEpDKSxGdC5wcm90b3R5cGUpW2JCXT10cnVlLEZ0LnByb3RvdHlwZSk7d2hpbGUodHJ1ZSlpZih0cnVlIT0hKHoucWg9ZnVuY3Rpb24oSSl7dGhpcy5hOT1JfSxbXSkpYnJlYWs7KHouYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihJLEwsWSxmKXt4SygzLDMsbnVsbCx0cnVlLHRoaXMsSSxmLFksTCl9LHopLnJlbW92ZUV2ZW50TGlzdGVuZXI9KHouZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7e0Y9OTU7d2hpbGUoRiE9OTMpaWYoRj09MTApRj0hcC5GbSYmeTxTLmxlbmd0aD81MDo4NDtlbHNlIGlmKEY9PTQyKUY9NDc7ZWxzZSBpZihGPT02KUY9NzA7ZWxzZSBpZihGPT04OSlYPXAscD1uZXcgYm8ocixZKSxVOChwLFgpLEY9ODg7ZWxzZSBpZihGPT05NClGPVM/NjA6ODQ7ZWxzZSBpZihGPT01MCl1PXAuY3VycmVudFRhcmdldD1TW3ldLGY9SygzMyxyLHAsdHJ1ZSx1LGZhbHNlKSYmZixGPTIzO2Vsc2UgaWYoRj09ODcpRj1wIGluc3RhbmNlb2YgYm8/NzY6ODk7ZWxzZSBpZihGPT0zNyljPWMuYTksRj03MDtlbHNlIGlmKEY9PTM4KUwucHVzaChjKSxGPTM3O2Vsc2UgaWYoRj09NjApeT0wLEY9MzQ7ZWxzZSBpZihGPT03NilwLnRhcmdldD1wLnRhcmdldHx8WSxGPTg4O2Vsc2UgaWYoRj09ODgpZj10cnVlLEY9NTY7ZWxzZSBpZihGPT0yMClMPVtdLEY9NjtlbHNlIGlmKEY9PTQ3KUY9IXAuRm0mJnk+PTA/NDoxODtlbHNlIGlmKEY9PTgzKXA9bmV3IGJvKHAsWSksRj04ODtlbHNlIGlmKEY9PTM5KUY9dHlwZW9mIHA9PT0ic3RyaW5nIj84Mzo4NztlbHNle2lmKEY9PTg0KXJldHVybiBmO0Y9PTIzPyh5KyssRj0xMCk6Rj09MzQ/Rj0xMDpGPT01ND8odT1wLmN1cnJlbnRUYXJnZXQ9WSxmPUsoNixyLHAsdHJ1ZSx1LHRydWUpJiZmLHAuRm18fChmPUsoNSxyLHAsdHJ1ZSx1LGZhbHNlKSYmZiksRj05NCk6Rj09NTY/Rj1TPzM6MTg6Rj09Mz8oeT1TLmxlbmd0aC0xLEY9NDIpOkY9PTQ/KHU9cC5jdXJyZW50VGFyZ2V0PVNbeV0sZj1LKDcscixwLHRydWUsdSx0cnVlKSYmZixGPTE1KTpGPT0xOD9GPXAuRm0/OTQ6NTQ6Rj09Nzg/KFM9TCxwPUkscj1wLnR5cGV8fHAsWT10aGlzLkJpLEY9MzkpOkY9PTE1Pyh5LS0sRj00Nyk6Rj09OTU/KGM9dGhpcy5hOSxGPTQzKTpGPT00Mz9GPWM/MjA6Nzg6Rj09NzAmJihGPWM/Mzg6NzgpfX19LGZ1bmN0aW9uKEksTCxZLGYpe0ZmKDAsTCxJLHRoaXMsMyxudWxsLGYsWSl9KTt3aGlsZShOdW1iZXIodW5kZWZpbmVkKSE9PU5hTilpZighKHoubGQ9ZnVuY3Rpb24oSSxMLFksZil7cmV0dXJuIHRoaXMuZy5sZChJLFN0cmluZyhMKSxZLGYpfSwiIik9PSFmYWxzZSlicmVhazt6Lmhhc0xpc3RlbmVyPSh6Lkg9ZnVuY3Rpb24oKXt0aGlzLmE5PShGdC5GLkguY2FsbCh0aGlzKSx0aGlzLmcmJmdQKDAsMTIsdHJ1ZSx0aGlzLmcpLG51bGwpfSxmdW5jdGlvbihJLEwpe3JldHVybiB0aGlzLmcuaGFzTGlzdGVuZXIoSSE9PXZvaWQgMD9TdHJpbmcoSSk6dm9pZCAwLEwpfSk7dmFyIExPLHRDLE5CPXtYSzowLGNpOjEsc2Y6KFo0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkhpKyIifSwyKSwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifSxhXz1FcnJvcjtpZigoRHEucHJvdG90eXBlPVhqKGFfLnByb3RvdHlwZSksRHEpLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1EcSxSXylSXyhEcSxhXyk7ZWxzZSBmb3IodmFyIHdhIGluIGFfKWlmKHdhIT0icHJvdG90eXBlIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIE5fPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYV8sd2EpO05fJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoRHEsd2EsTl8pfWVsc2UgRHFbd2FdPWFfW3dhXTsoKChSMShMRSwyLDYsKChpQig1NSwoKCh6PShEcS5GPWFfLnByb3RvdHlwZSwiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLFNTKS5wcm90b3R5cGUsei52PWZ1bmN0aW9uKEksTCl7cmV0dXJuIHR5cGVvZiBJPT09KEw9dGhpcy5Bciwic3RyaW5nIik/TC5nZXRFbGVtZW50QnlJZChJKTpJfSx6KS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihJLEwpe3JldHVybihMfHx0aGlzLkFyKS5nZXRFbGVtZW50c0J5VGFnTmFtZShTdHJpbmcoSSkpfSx6LmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oSSxMLFkpe3JldHVybigoTD0oWT1TdHJpbmcoSSksdGhpcy5BciksTCkuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKFk9WS50b0xvd2VyQ2FzZSgpKSxMKS5jcmVhdGVFbGVtZW50KFkpfSx6KS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihJKXtyZXR1cm4gdGhpcy5Bci5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoSSkpfSx6LmFwcGVuZENoaWxkPWZ1bmN0aW9uKEksTCl7aWYodHJ1ZSlJLmFwcGVuZENoaWxkKEwpfSx6LmFwcGVuZD1mdW5jdGlvbihJLEwpe2dQKG51bGwsNzcsMCwibnVtYmVyIiwiYXJyYXkiLGFyZ3VtZW50cyxJLEkubm9kZVR5cGU9PTk/STpJLm93bmVyRG9jdW1lbnR8fEkuZG9jdW1lbnQpfSx6LmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihJLEwpe2ZvcihMPTYwO0whPTcwOylpZihMPT02MClMPUkubm9kZVR5cGUhPTE/Mzc6OTE7ZWxzZXtpZihMPT05MSl7c3dpdGNoKEkudGFnTmFtZSl7Y2FzZSAiQVBQTEVUIjpjYXNlICJBUkVBIjpjYXNlICJCQVNFIjpjYXNlICJCUiI6Y2FzZSAiQ09MIjpjYXNlICJDT01NQU5EIjpjYXNlICJFTUJFRCI6Y2FzZSAiRlJBTUUiOmNhc2UgIkhSIjpjYXNlICJJTUciOmNhc2UgIklOUFVUIjpjYXNlICJJRlJBTUUiOmNhc2UgIklTSU5ERVgiOmNhc2UgIktFWUdFTiI6Y2FzZSAiTElOSyI6Y2FzZSAiTk9GUkFNRVMiOmNhc2UgIk5PU0NSSVBUIjpjYXNlICJNRVRBIjpjYXNlICJPQkpFQ1QiOmNhc2UgIlBBUkFNIjpjYXNlICJTQ1JJUFQiOmNhc2UgIlNPVVJDRSI6Y2FzZSAiU1RZTEUiOmNhc2UgIlRSQUNLIjpjYXNlICJXQlIiOnJldHVybiBmYWxzZX1yZXR1cm4gdHJ1ZX1pZihMPT0zNylyZXR1cm4gZmFsc2V9fSx6LnJlbW92ZU5vZGU9U2Esei5jb250YWlucz1mdW5jdGlvbihJLEwsWSxmKXt7Zj03ODt3aGlsZShmIT0zKWlmKGY9PTkyKWY9dHlwZW9mIEkuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzg1OjcwO2Vsc2V7aWYoZj09NjgpcmV0dXJuIEk9PUx8fEkuY29udGFpbnMoTCk7aWYoZj09ODUpcmV0dXJuIEk9PUx8fCEhKFk9SS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihMKSwoWXwxNiktIC0xKyh+WV4xNikpO2lmKGY9PTY0KUw9TC5wYXJlbnROb2RlLGY9NjE7ZWxzZSBpZihmPT01KWY9SS5jb250YWlucyYmTC5ub2RlVHlwZT09MT82ODo5MjtlbHNle2lmKGY9PTUyKXJldHVybiBmYWxzZTtpZihmPT05NylmPUwmJkkhPUw/NjQ6NztlbHNlIGlmKGY9PTYxKWY9OTc7ZWxzZSBpZihmPT03MClmPTk3O2Vsc2UgaWYoZj09NzgpZj1JJiZMPzU6NTI7ZWxzZSBpZihmPT03KXJldHVybiBMPT1JfX19fSxwSCkpLHBILnByb3RvdHlwZS5sUj0wLHBIKS5wcm90b3R5cGUuRWY9IiIsRnQpKSx6PUxFLnByb3RvdHlwZSx6LnJvPXBILmVvKCkseikudj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkx9LHouZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVDF9LHoucWg9ZnVuY3Rpb24oSSxMKXtmb3IoTD00MDtMIT04Oyl7aWYoTD09MjIpdGhyb3cgRXJyb3IoIk1ldGhvZCBub3Qgc3VwcG9ydGVkIik7TD09NDA/TD10aGlzLlQxJiZ0aGlzLlQxIT1JPzIyOjQ6TD09NCYmKExFLkYucWguY2FsbCh0aGlzLEkpLEw9OCl9fSx6KS5VQT1mdW5jdGlvbigpe3RoaXMuTHo9IShXayg3MSwxMix0aGlzLGZ1bmN0aW9uKEkpe0kuTHomJkkuVUEoKX0pLHRoaXMuSnImJmdQKDAsMTQsdHJ1ZSx0aGlzLkpyKSwxKX0seikuSD1mdW5jdGlvbihJKXt7ST0xMjt3aGlsZShJIT03NylJPT01PyhXayg3MSwxMCx0aGlzLGZ1bmN0aW9uKEwpe0wuZGlzcG9zZSgpfSksIXRoaXMud28mJnRoaXMuTCYmU2EodGhpcy5MKSx0aGlzLlQxPXRoaXMuTWg9dGhpcy5MPXRoaXMuSHE9bnVsbCxMRS5GLkguY2FsbCh0aGlzKSxJPTc3KTpJPT0xMj8odGhpcy5MeiYmdGhpcy5VQSgpLEk9MzMpOkk9PTMzP0k9dGhpcy5Kcj83Mzo1Okk9PTczJiYodGhpcy5Kci5kaXNwb3NlKCksZGVsZXRlIHRoaXMuSnIsST01KX19LHoucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe3tGPTEzO3doaWxlKEYhPTMzKWlmKEY9PTY1KUY9TD85OjU7ZWxzZSBpZihGPT0yMylGPUk/NDY6ODQ7ZWxzZSBpZihGPT0xMClGPXkmJkk/ODY6MjM7ZWxzZSBpZihGPT00MSlZLlQxPW51bGwsTEUuRi5xaC5jYWxsKFksbnVsbCksRj0yMztlbHNlIGlmKEY9PTgyKUY9dHlwZW9mIEk9PT0ic3RyaW5nIj80NDo2NDtlbHNlIGlmKEY9PTI5KXI9ZixGPTY5O2Vsc2UgaWYoRj09NTkpdT10aGlzLk1oLFM9KHUhPT1udWxsJiZ5IGluIHU/dVt5XTp2b2lkIDApfHxudWxsLEY9MTU7ZWxzZXtpZihGPT04NCl0aHJvdyBFcnJvcigiQ2hpbGQgaXMgbm90IGluIHBhcmVudCBjb21wb25lbnQiKTtpZihGPT00MClGPXRoaXMuTWgmJnk/NTk6NDI7ZWxzZSBpZihGPT02NClGPShmPUkudVIpPzI5OjU2O2Vsc2UgaWYoRj09OSlJLlVBKCksSS5MJiZTYShJLkwpLEY9NTtlbHNle2lmKEY9PTYxKXRocm93IEVycm9yKCJVbmFibGUgdG8gc2V0IHBhcmVudCBjb21wb25lbnQiKTtpZihGPT03MylGPVk9PW51bGw/NjE6NDE7ZWxzZSBpZihGPT00MilTPW51bGwsRj0xNTtlbHNlIGlmKEY9PTg2KWM9dGhpcy5NaCx5IGluIGMmJmRlbGV0ZSBjW3ldLFooNywwLEksdGhpcy5IcSksRj02NTtlbHNlIGlmKEY9PTE1KUk9UyxGPTEwO2Vsc2UgaWYoRj09NSlZPUksRj03MztlbHNle2lmKEY9PTQ2KXJldHVybiBJO0Y9PTY5Pyh5PXIsRj00MCk6Rj09NDQ/KHI9SSxGPTY5KTpGPT0xMz9GPUk/ODI6MjM6Rj09NTYmJihwPUkucm8sWD1wLkVmKyI6IisocC5sUisrKS50b1N0cmluZygzNiksZj1JLnVSPVgsRj0yOSl9fX19fTt2YXIgdnYsaHA9e2J1dHRvbjoicHJlc3NlZCIsY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtOiJzZWxlY3RlZCIsbWVudWl0ZW1jaGVja2JveDooej0oaUIoNTgsaEspLGhLKS5wcm90b3R5cGUsImNoZWNrZWQiKSxtZW51aXRlbXJhZGlvOiJjaGVja2VkIixyYWRpbzoiY2hlY2tlZCIsdGFiOiJzZWxlY3RlZCIsdHJlZWl0ZW06InNlbGVjdGVkIn0sSWE9KGlCKDU3LChSMShkQywyLCgoei5QcT0oei5UeD1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifSxmdW5jdGlvbihJKXtyZXR1cm4gSS52KCl9KSx6LlI5PWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjKXtjPTEwO3tYPTgzO3doaWxlKHRydWUpdHJ5e2lmKGM9PTMzKWJyZWFrO2Vsc2UgYz09Nzc/KFg9MyxyLmJsdXIoKSxjPTgyKTpjPT00Mj9jPVkhPUw/Mzg6MzM6Yz09Njk/KHAudGFiSW5kZXg9LTEscC5yZW1vdmVBdHRyaWJ1dGUoInRhYkluZGV4IiksYz0zMyk6Yz09Mzg/KHA9cixjPTg2KTpjPT04Nj9jPUw/NjQ6Njk6Yz09NzI/KGY9ci50YWJJbmRleCxZPXR5cGVvZiBmPT09Im51bWJlciImJmY+PTAmJmY8MzI3NjgsYz00Mik6Yz09ODI/KFg9ODMsYz0yOSk6Yz09NzE/KFg9ODMsYz04Mik6Yz09NjQ/KHAudGFiSW5kZXg9MCxjPTMzKTpjPT01Mj9jPSFMJiZaKDMxLDAsMzIsSSk/Nzc6NjA6Yz09MTY/KGUoMCwyNSwyLEksNCkmJkkuc2V0QWN0aXZlKGZhbHNlKSxlKDAsMjMsMixJLDMyKSYmaUIoMTcsOCwzMixJLGZhbHNlKSYmSS5oKDMyLGZhbHNlKSxjPTYwKTpjPT0yOT9jPVooMzAsMCwzMixJKT8xNjo2MDpjPT0xMD9jPUFDKDM5LDYsMiwzMixJKSYmKHI9SS5QcSgpKT81MjozMzpjPT02MCYmKGM9KFk9ci5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzcyOjQyKX1jYXRjaChTKXtpZihYPT04Myl0aHJvdyBTO1g9PTMmJih1PVMsYz03MSl9fX0sei5qbz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgpe3doaWxlKDA9PSFbXSlpZih2dnx8KHZ2PXsxOiJkaXNhYmxlZCIsODoic2VsZWN0ZWQiLDE2OiJjaGVja2VkIiw2NDoiZXhwYW5kZWQifSksW10pYnJlYWs7KHA9KFg9dnZbTF0sKHI9SS5nZXRBdHRyaWJ1dGUoInJvbGUiKXx8bnVsbCk/KHU9aHBbcl18fFgsZj1YPT0iY2hlY2tlZCJ8fFg9PSJzZWxlY3RlZCI/dTpYKTpmPVgsZikpJiZmTygiYWQiLDE2LCJoaWRkZW4iLGZhbHNlLHAsSSxZKX0seikuZno9ZnVuY3Rpb24oSSxMLFksZil7KGY9TC52P0wudigpOkwpJiYoWT9jdjpLTykoZixbSV0pfSx6Lmg9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSl7Zm9yKHU9ODI7dSE9NDspdT09MjA/KChwPXRoaXMuUzVbTF0pJiZ0aGlzLmZ6KHAsSSxZKSx0aGlzLmpvKGYsTCxZKSx1PTQpOnU9PTk4PyhyPXRoaXMuVHgoKSxyLnJlcGxhY2UoL1xceGEwfFxccy9nLCIgIiksdGhpcy5TNT17MTpyKyItZGlzYWJsZWQiLDI6cisiLWhvdmVyIiw0OnIrIi1hY3RpdmUiLDg6cisiLXNlbGVjdGVkIiwxNjpyKyItY2hlY2tlZCIsMzI6cisiLWZvY3VzZWQiLDY0OnIrIi1vcGVuIn0sdT0yMCk6dT09ODg/dT1mPzY1OjQ6dT09ODI/KGY9SS52KCksdT04OCk6dT09NjUmJih1PXRoaXMuUzU/MjA6OTgpfSwzNyksaEspLGRDKSkse30pO1IxKHVvLDIsKChkQy5wcm90b3R5cGUuVHg9ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1idXR0b24ifSxkQy5wcm90b3R5cGUpLmpvPWZ1bmN0aW9uKEksTCxZKXtzd2l0Y2goTCl7Y2FzZSA4OmNhc2UgMTY6Zk8oImFkIiwxMCwiaGlkZGVuIixmYWxzZSwicHJlc3NlZCIsSSxZKTticmVhaztkZWZhdWx0OmNhc2UgNjQ6Y2FzZSAxOmRDLkYuam8uY2FsbCh0aGlzLEksTCxZKX19LDM4KSxMRSk7d2hpbGUoImciKWlmKCFbIiJdPT0oej11by5wcm90b3R5cGUsMCkpYnJlYWs7aWYodHlwZW9mIHVvIT09KHouaXNWaXNpYmxlPSgoKHouS2k9dHJ1ZSx6KS5QcT0oei5mej1mdW5jdGlvbihJLEwsWSl7e1k9NDt3aGlsZShZIT01MSlZPT02MT9ZPUwmJnRoaXMuRCYmWigxMSwwLEwsdGhpcy5EKT8zNjo1MTpZPT03Mz8odGhpcy5EP1MwKHRoaXMuRCwwLDI3LEwpPj0wfHx0aGlzLkQucHVzaChMKTp0aGlzLkQ9W0xdLHRoaXMuRy5meihMLHRoaXMsdHJ1ZSksWT01MSk6WT09OTA/KHRoaXMuRD1udWxsLFk9MTMpOlk9PTQ/WT1JPzg6NjE6WT09MTM/KHRoaXMuRy5meihMLHRoaXMsZmFsc2UpLFk9NTEpOlk9PTM2P1k9dGhpcy5ELmxlbmd0aD09MD85MDoxMzpZPT04JiYoWT1MPzczOjUxKX19LHouZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5XcX0sei5MaT0wLHouaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIVooMzUsMCwxLHRoaXMpfSx6LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIFooMzIsMCw0LHRoaXMpfSx6Lkg9ZnVuY3Rpb24oSSl7e0k9Nzg7d2hpbGUoSSE9NjkpST09Nzg/KHVvLkYuSC5jYWxsKHRoaXMpLEk9MjYpOkk9PTM4PyhkZWxldGUgdGhpcy5HLHRoaXMuRD1udWxsLEk9NjkpOkk9PTkyPyh0aGlzLlFlLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy5RZSxJPTM4KTpJPT0yNiYmKEk9dGhpcy5RZT85MjozOCl9fSx6LlJsPSh6Lmo1PTI1NSwzOSksKHouRD1udWxsLHouaD1mdW5jdGlvbihJLEwsWSxmLHIscCl7Zm9yKHA9NTQ7cCE9NDA7KXA9PTkwP3A9QUMoMzksNywyLEksdGhpcykmJkwhPVooMzQsMCxJLHRoaXMpPzY5OjQwOnA9PTY5Pyh0aGlzLkcuaCh0aGlzLEksTCksdGhpcy5XcT1MP3RoaXMuV3F8STp0aGlzLldxJn5JLHA9NDApOnA9PTc2P3A9ZiYmdHlwZW9mIGYuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhZi5pc0VuYWJsZWQoKXx8IWlCKDE1LDgsMSx0aGlzLCFyKT80MDoyNjpwPT0yOT8ocj0hTCxmPXRoaXMuZ2V0UGFyZW50KCkscD03Nik6cD09OTI/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxpQigxNiw4LDIsdGhpcyxmYWxzZSkmJnRoaXMuaCgyLGZhbHNlKSxwPTYpOnA9PTY/KHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuRy5SOSh0aGlzLHIpLHRoaXMuaCgxLCFyLHRydWUpLHA9NDApOnA9PTI2P3A9cj82OjkyOnA9PTU0JiYocD1ZfHxJIT0xPzkwOjI5KX0seikuV3E9KHouc2V0QWN0aXZlPWZ1bmN0aW9uKEkpe2lCKDE4LDgsNCx0aGlzLEkpJiZ0aGlzLmgoNCxJKX0sMCksZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5HLlBxKHRoaXMpfSkseikuVUE9ZnVuY3Rpb24oKXt1by5GLlVBLmNhbGwodGhpcyk7d2hpbGUoe30paWYodGhpcy5RZSYmdGhpcy5RZS5kZXRhY2goKSx0cnVlKWJyZWFrO3RoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkmJnRoaXMuRy5SOSh0aGlzLGZhbHNlKX0sZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LaX0pLCJmdW5jdGlvbiIpKXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBjbGFzcyAiK3VvKTt3aGlsZSh0eXBlb2YgaEshPT0iZnVuY3Rpb24iKXt0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK2hLKTtpZihbXSlicmVha312YXIgRVE9aUIoNSx1byksQ0U9KFBTKCgoUjEobG8sKCgoaUIoNTYsKFIxKFh0LDIsKFBTKDU2LDYsImdvb2ctY29udHJvbCIsKElhW0VRXT1oSyxmdW5jdGlvbigpe3JldHVybiBuZXcgdW8obnVsbCl9KSksNSksZEMpLFh0KSksWHQpLnByb3RvdHlwZS5oPWZ1bmN0aW9uKEksTCxZLGYscil7Zm9yKHI9MztyIT0zMzspcj09Mz8oWHQuRi5oLmNhbGwodGhpcyxJLEwsWSksZj1JLnYoKSxyPTUpOnI9PTk/KGYuZGlzYWJsZWQ9WSxyPTMzKTpyPT01JiYocj1mJiZMPT0xPzk6MzMpfSxYdCkucHJvdG90eXBlLmpvPWZ1bmN0aW9uKCl7fSxYdC5wcm90b3R5cGUuUjk9ZnVuY3Rpb24oKXt9LDIpLDM5LHVvKSxsby5wcm90b3R5cGUpLkg9ZnVuY3Rpb24oKXtkZWxldGUgKGxvLkYuSC5jYWxsKHRoaXMpLHRoaXMpLkhLLGRlbGV0ZSB0aGlzLk1pfSw1NiksNSwiZ29vZy1idXR0b24iLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBsbyhudWxsKX0pLFUpLnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24oSSl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe0koKX0se3RpbWVvdXQ6NH0pfTpVLnNldEltbWVkaWF0ZT9mdW5jdGlvbihJKXtzZXRJbW1lZGlhdGUoSSl9OmZ1bmN0aW9uKEkpe3NldFRpbWVvdXQoSSwwKX0sYTEsSFM9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LG5FPWdQKFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qcy9iZy8iLCIiXSwzKSxBcD1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNSwxMTAsMTE2LDEwMSwxMDMsNjcsMTA0LDEwMSw5OSwxMDcsNjYsMTIxLDExMiw5NywxMTUsMTE1KSxvMT17fSxVdz1bXSxQaz1bXSwkOD1bXSxyYT1bXSxkUD0oZy5wcm90b3R5cGUuV0s9dm9pZCAwLChnLnByb3RvdHlwZS5aej0hKGcucHJvdG90eXBlLlhtPSJ0b1N0cmluZyIsMSksZy5wcm90b3R5cGUpLnVnPXZvaWQgMCxbXSkscUI9W10sTWY9W10saXg9W10sdUI9W10sTzg9ZnVuY3Rpb24oSSxMKXtyZXR1cm4oTD1mTygiYWQiLDksImVycm9yIikpJiZJLmV2YWwoTC5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKFkpe3JldHVybiBMLmNyZWF0ZVNjcmlwdChZKX06ZnVuY3Rpb24oWSl7cmV0dXJuIiIrWX19KFUpLEpwPWZ1bmN0aW9uKEkpe3JldHVybihJPWZPKCJhZCIsMzMsImVycm9yIikpP2Z1bmN0aW9uKEwpe3JldHVybiBJLmNyZWF0ZVNjcmlwdFVSTChMKX06ZnVuY3Rpb24oTCl7cmV0dXJuIEx9fSgpLGVhPWZ1bmN0aW9uKEkpe3JldHVybihJPWZPKCJhZCIsMjUsImVycm9yIikpP2Z1bmN0aW9uKEwpe3JldHVybiBJLmNyZWF0ZUhUTUwoTCl9OmZ1bmN0aW9uKEwpe3JldHVybiBMfX0oKSxwRT0oKHo9KCgoKHk4LGZ1bmN0aW9uKCl7fSkoWTgpLGdDLEZqLHV4LGtWLGZ1bmN0aW9uKCl7fSkodmspLGphLEpwLGZ1bmN0aW9uKCl7fSkoZWEpLGcpLnByb3RvdHlwZSx6LlRYPWZ1bmN0aW9uKEksTCxZLGYscixwKXtyZXR1cm4gVi5jYWxsKHRoaXMsNyxJLEwsWSxmLHIscCl9LHoucGk9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYKXtyZXR1cm4gRmYuY2FsbCh0aGlzLEksZixZLHIsOCxMLHUscCxYKX0seikubUQ9MCxvMSkuY29uc3RydWN0b3IsVmM9KCh6LkcxPWZ1bmN0aW9uKCl7cmV0dXJuIFhmLmNhbGwodGhpcyx0cnVlLDE2KX0sZy5wcm90b3R5cGUuQj0oei51PSh3aW5kb3cucGVyZm9ybWFuY2V8fHt9KS5ub3c/ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5QaSt3aW5kb3cucGVyZm9ybWFuY2Uubm93KCl9OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSx6Lm5pPWZ1bmN0aW9uKCl7cmV0dXJuIHdQLmNhbGwodGhpcywwLDEwKX0sImNyZWF0ZSIpLGcpLnByb3RvdHlwZS56eD0wLHouVlc9KHouSTk9ZnVuY3Rpb24oSSxMLFksZixyKXtpZih0cnVlKXJldHVybiBxLmNhbGwodGhpcyw1NixJLEwsWSxmLHIpfSxmdW5jdGlvbihJLEwsWSxmLHIpe3JldHVybiB3Qy5jYWxsKHRoaXMsMTQsSSxMLFksZixyKX0pLHZvaWQgMCksemM9KCgoKHo9Zy5wcm90b3R5cGUsei5qPWZ1bmN0aW9uKEksTCl7cmV0dXJuIFZjPWZ1bmN0aW9uKCl7cmV0dXJuIEw9PUk/LTM1Oi0xN30sST17fSxMPXt9LGZ1bmN0aW9uKFksZixyLHAsdSxYLGMsUyx5LEYsRyxBLFEsRCxXLGIsYSx3LHYsRSxtLFlLLEdsLGNTLG4sc3csbEIsaCxXUyxILGZFLFAsRDQsZTAsdCxwTyxPLHFfLFIsbkgsSV8semwsQixMSCl7Qj0oUj0zMywzMSksTz11bmRlZmluZWQ7e25IPWZhbHNlO3doaWxlKHRydWUhPSFbXSl0cnl7aWYoUj09NDApYnJlYWs7ZWxzZSBpZihSPT00NylCPTIyLHRLKDI3Mix0aGlzLDMwMDAxLDUwOSksUj03MjtlbHNlIGlmKFI9PTEzKU8hPT11bmRlZmluZWQ/KFI9TyxPPXVuZGVmaW5lZCk6Uj00MDtlbHNlIGlmKFI9PTk5KVI9UD09dUI/NDI6OTA7ZWxzZSBpZihSPT00NSlSPVA9PWl4PzUxOjk5O2Vsc2UgaWYoUj09NTQpemw9SGsoNTA5LDI5NyxZWzFdLHRoaXMsMzAwMDEpLE89NjQsUj03MjtlbHNlIGlmKFI9PTI0KUI9MjIsUD1ZWzBdLFI9NDU7ZWxzZSBpZihSPT0yNilSPW4/MjozMTtlbHNlIGlmKFI9PTg3KUI9OSx2PWwodGhpcywzODEpfHx7fSxEPXYudHwwLFI9ODM7ZWxzZXtpZihSPT02NClyZXR1cm4gemw7aWYoUj09OTApUj1QPT0kOD83MDozODtlbHNlIGlmKFI9PTIyKVI9Yi5sZW5ndGg+MUU2PzQ5Ojg5O2Vsc2UgaWYoUj09MzkpUj1ZWzRdPzc3OjMyO2Vsc2UgaWYoUj09NilSPU8hPT11bmRlZmluZWQ/NzI6MjU7ZWxzZSBpZihSPT03NClRKyssUj0yODtlbHNlIGlmKFI9PTE1KUI9MTMsdT1sKHRoaXMsMzU3KSx1Lmxlbmd0aD4wJiZKSygyNjIsdGhpcyxkKDIsdS5sZW5ndGgpLmNvbmNhdCh1KSwxNDcpLEpLKDI2Mix0aGlzLGQoMSx0aGlzLmkrMT4+MSksMjQ0KSxtdSgyNjIsdGhpcyxkKDEsdGhpc1tQa10ubGVuZ3RoKSkscE89dGhpcy5rYT9rKHRoaXMsNDIxKTpsKHRoaXMsMzUwKSxwTy5sZW5ndGg+MCYmbXUoMTIsdGhpcyxkKDIscE8ubGVuZ3RoKS5jb25jYXQocE8pLDIyNykscD1sKHRoaXMsMTIpLHAubGVuZ3RoPjQmJkpLKDI2Mix0aGlzLGQoMixwLmxlbmd0aCkuY29uY2F0KHApLDIyNiksSD0wLEgtPShrKHRoaXMsMjYyKS5sZW5ndGh8MCkrNSxiPWsodGhpcywxOTUpLEgrPShlMD1sKHRoaXMsMzUzKSwoZTB8MjA0NyktIC0xKyh+ZTBeMjA0NykpLGIubGVuZ3RoPjQmJihILT0oYi5sZW5ndGh8MCkrMyksSD4wJiZtdSgyNjIsdGhpcyxkKDIsSCkuY29uY2F0KFk4KEgpKSwxNTApLFI9OTY7ZWxzZSBpZihSPT00MilEPTAsdj17fSxSPTg3O2Vsc2UgaWYoUj09MzApQj0yMixuTyhMSCwxNywzNTcsdGhpcyksTz00MCxSPTcyO2Vsc2UgaWYoUj09NzkpUj1QPT1xQj8zNjo3MjtlbHNlIGlmKFI9PTUxKXc9WVsxXSxSPTIzO2Vsc2UgaWYoUj09MzEpbj0iIixRPTAsUj04MjtlbHNle2lmKFI9PTg1fHxSPT01NSlyZXR1cm4gemw7aWYoUj09OTUpSGsoNTA5LDI5NyxZWzFdLHRoaXMsWVsyXSksUj03MjtlbHNlIGlmKFI9PTMzKWxCPUwsTD1JLFI9MjQ7ZWxzZSBpZihSPT04MylCPTIyLEdsPVskOCxZLHRoaXMuRzEoKV0sbT1bUGssWV0sUj0zOTtlbHNlIGlmKFI9PTIpbj0iJCIrbixSPTQ0O2Vsc2UgaWYoUj09NylSPVA9PVV3Pzk1OjI5O2Vsc2UgaWYoUj09NjcpZj1XW1FdW3RoaXMuWG1dKDE2KSxmLmxlbmd0aD09MSYmKGY9IjAiK2YpLG4rPWYsUj03NDtlbHNlIGlmKFI9PTcyKUI9MzEsTD1sQixSPTEzO2Vsc2UgaWYoUj09MTgpemw9e0R6OkdsLE1lOm0sdGltZW91dDpELGZpOmZhbHNlLGU1OjB9LE89NTUsUj03MjtlbHNlIGlmKFI9PTk2KVI9Yi5sZW5ndGg+ND8yMjo5ODtlbHNlIGlmKFI9PTM4KVI9UD09UGs/OTQ6NztlbHNlIGlmKFI9PTQ0KUE9bixsKHRoaXMsMjYyKS5sZW5ndGg9ci5zaGlmdCgpLGwodGhpcyw0ODgpLmxlbmd0aD1yLnNoaWZ0KCksQyh0aGlzLDE5NSkubGVuZ3RoPXIuc2hpZnQoKSxrKHRoaXMsMTIpLmxlbmd0aD1yLnNoaWZ0KCksbCh0aGlzLDIzNikubGVuZ3RoPXIuc2hpZnQoKSxrKHRoaXMsMzUwKS5sZW5ndGg9ci5zaGlmdCgpLGwodGhpcyw0NjQpWzBdPXIuc2hpZnQoKSxDKHRoaXMsNDIxKS5sZW5ndGg9ci5zaGlmdCgpLHpsPUEsTz04NSxSPTcyO2Vsc2UgaWYoUj09ODgpUj04NjtlbHNlIGlmKFI9PTI4KVI9UTxXLmxlbmd0aD82Nzo0NDtlbHNlIGlmKFI9PTIzKUI9MjQsdGhpcy50cj1BSyg3LDUsMCwyNTUsYXRvYih3KSksdGhpcy5QPXRoaXMudHIubGVuZ3RoPDwzLHgoNDgsdGhpcyxbMCwwLDBdKSxSPTQ3O2Vsc2UgaWYoUj09MjEpQj03MyxjUygpLFI9NTM7ZWxzZSBpZihSPT00OSliPWIuc2xpY2UoMCwxRTYpLEpLKDI2Mix0aGlzLFtdLDEwMiksSksoMjYyLHRoaXMsW10sMTM1KSxSPTg5O2Vsc2UgaWYoUj09MylFLmxlbmd0aD0wLFI9NzI7ZWxzZSBpZihSPT02NSl0aGlzLlQucHVzaChtKSx0aGlzLlQucHVzaChHbCksTz00MCxSPTcyO2Vsc2UgaWYoUj09ODkpbXUoMjYyLHRoaXMsZCgyLGIubGVuZ3RoKS5jb25jYXQoYiksNSksUj05ODtlbHNlIGlmKFI9PTU3KWNTPXkudmFsdWUsUj0yMTtlbHNlIGlmKFI9PTI1KUI9MjIsVz1ZOCgyKS5jb25jYXQobCh0aGlzLDI2MikpLFdbMV09KGE9V1swXSwxNTktKGEmMTU5KSt+KGEmMTU5KS1+YSksV1szXT0oZkU9V1sxXSxEND1zd1swXSwtKGZFfDApKyhENHwwKSsyKihmRSZ+RDQpKSxXWzRdPShHPVdbMV0sYz1zd1sxXSwoR3wwKS0oY3wwKSstMi0yKihHfH5jKSksbj10aGlzLmJSKFcpLFI9MjY7ZWxzZSBpZihSPT0zNil7aWYoRT1sKHRoaXMsMTYxKSxYPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJkVbU3ltYm9sLml0ZXJhdG9yXSl0PVguY2FsbChFKTtlbHNlIGlmKHR5cGVvZiBFLmxlbmd0aD09Im51bWJlciIpdD17bmV4dDpBQygzOSwyNCwwLEUpfTtlbHNlIHRocm93IEVycm9yKFN0cmluZyhFKSsiIGlzIG5vdCBhbiBpdGVyYWJsZSBvciBBcnJheUxpa2UiKTtZSz10LHk9WUsubmV4dCgpLFI9ODh9ZWxzZSBpZihSPT05NClyPVlbMV1bMV0sc3c9ZCgyLChDKHRoaXMsMjYyKS5sZW5ndGh8MCkrMiksV1M9dGhpcy5VLHRoaXMuVT10aGlzLFI9MTU7ZWxzZSBpZihSPT02OClSPUY/MTg6NjU7ZWxzZSBpZihSPT05OClCPTIyLHRoaXMuVT1XUyxSPTY7ZWxzZSBpZihSPT04NilSPXkuZG9uZT8zOjU3O2Vsc2UgaWYoUj09ODIpUj0yODtlbHNlIGlmKFI9PTMyKXRoaXMuVC5wdXNoKG0pLHRoaXMuVC5wdXNoKEdsKSxPPTQwLFI9NzI7ZWxzZSBpZihSPT03Nyl7Zm9yKGggaW4gRj1mYWxzZSx2KWlmKGghPT0idCImJk9iamVjdC5oYXNPd24odixoKSl7Rj10cnVlO2JyZWFrfVI9Njh9ZWxzZSBpZihSPT0xMClCPTIyLFI9NTM7ZWxzZSBpZihSPT03MClTPVlbMV0sU1sxXS5wdXNoKGsodGhpcywyNjIpLmxlbmd0aCxsKHRoaXMsNDg4KS5sZW5ndGgsayh0aGlzLDE5NSkubGVuZ3RoLGwodGhpcywxMikubGVuZ3RoLEModGhpcywyMzYpLmxlbmd0aCxrKHRoaXMsMzUwKS5sZW5ndGgsayh0aGlzLDQ2NClbMF0sbCh0aGlzLDQyMSkubGVuZ3RoKSxNKDI5Nyx0aGlzLFNbMl0pLHRoaXMuU1s0MTRdJiZIayg1MDksMjk3LGwodGhpcyw0MTQpLHRoaXMsMzAwMDEpLFI9NzI7ZWxzZSBpZihSPT0yOSlSPVA9PU1mPzU0Ojc5O2Vsc2UgaWYoUj09NTMpeT1ZSy5uZXh0KCksUj04NjtlbHNlIGlmKFI9PTU4KXRocm93IElfO319fWNhdGNoKGpTKXtpZihCPT0oSV89alMsMzEpKXRocm93IGpTO0I9PTk/KE89NTgsUj04Myk6Qj09NzM/KHFfPWpTLFI9MTApOkI9PTI0PyhMSD1qUyxSPTMwKTpCPT0xMz8oTz01OCxSPTk4KTpCPT0yMiYmKE89NTgsUj03Mil9fX19KCkseikua0k9ZnVuY3Rpb24oSSl7cmV0dXJuIGlCLmNhbGwodGhpcywzNixJKX0sei5iUj1mdW5jdGlvbihJKXtyZXR1cm4gWi5jYWxsKHRoaXMsMjAsSSl9LHouQ2k9ZnVuY3Rpb24oKXtyZXR1cm4gd1AuY2FsbCh0aGlzLDAsMjkpfSx6KS5vbD0wLHopLk9pPTAsLy4vKTt6LnoxPWZ1bmN0aW9uKCl7cmV0dXJuIHljLmNhbGwodGhpcyw5OSwzOCl9O3ZhciB4VixLSD0oZy5wcm90b3R5cGVbcmFdPVswLDAsMSwxLDAsMSwxXSxpeCkucG9wLmJpbmQoZy5wcm90b3R5cGVbJDhdKTsoYTE9KHhWPXdQKDAsKHpjW2cucHJvdG90eXBlLlhtXT1LSCw1OSksZy5wcm90b3R5cGUuQix7Z2V0OktIfSksZy5wcm90b3R5cGUuaVI9dm9pZCAwLFUudHJheXJpZGV8fChVLnRyYXlyaWRlPXt9KSksYTEpLm0+NDB8fChhMS5tPTQxLGExLmFkPUd5LGExLmE9UVMpLGExLmxydl89ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyl7cmV0dXJuW2Z1bmN0aW9uKHkpe3JldHVybiBnUChmYWxzZSw0OCxTLHkpfSwoUz1uZXcgZyhJLFgsdSxwLGMscixmLEwpLGZ1bmN0aW9uKHkpe1MuejEoeSl9KV19O30pLmNhbGwodGhpcyk7J10uam9pbignXG4nKSkpO30pLmNhbGwodGhpcyk7"}},"time_used":41,"timings":{"blocked":0,"dns":3,"connect":24,"send":0,"wait":9,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/www-player.css","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:31.967Z","timestamp":1785137071967,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/www-player.css HTTP/1.1\r\nHost: www.youtube.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://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=qIDWRSMhLXEwhRO4xETATQPR3jvQyZo5T4h1SiDwJZFeQABsv_T5rYcMTLyacdftQe1HFuTQYjCxldnVpZp74VYBMv_rUVwgOJ5HUwk7m3JIuCd9ZG52YE8hl7osllUIaKR2lm2Uof5aC684VV5dlQS3kmZBv5qVoUMTOzsGqPehMT1KjkhyJLxLtvige5qHG872p_pLGkmERGh0bmiKBMP7ZZDLQotiJ1KMNThxulgS-EDDia5j6Hykxc6wr_Ao78rVG6XGls6peXe6iAAIyvMNaTz8Cp_9-G3okp6kxCIuNJKmfPqv4_6k45-NAxJPqfBHRLWzFAp4sda6-ccaAA; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxjX2KroqfKVAw%3D%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 57346\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:28:48 GMT\r\nexpires: Thu, 22 Jul 2027 07:28:48 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/css\r\nvary: Accept-Encoding, Origin\r\nage: 431743\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":525369,"size_decoded":58026,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (65534), with no line terminators","md5":"839a152020ccf30ae48724d0b0c7b838","sha1":"dc9e04d667f3ebd589549aaa4cfc8a8e887505e1","sha256":"921b6856085a224b1ca2e5db139b1788c01d4dd1e70daca7006b6a7b381bdae1","sha512":"efc3700ca9d21022fb13b33c526a2f9f6c73c6c063957504b3b8ed58ef9512fa815c7f915f522af2f3fa73dd7cbfd6634566ad1dc6c86f11f4ed0a4b74f824ce","ssdeep":"6144:s8d5Fe/qoMOg7USBfUIoImM5Kia68Oi4u7:3YxMOg7USiIoIr5Kia6Tg","tlshash":"8eb4d972f0a1233cb2278d59a7d9d54d7339d983e2e12aeff11166dacbc77811326206","first_seen":"2026-07-14T08:36:18.809394Z","last_seen":"2026-07-28T16:17:31.518857Z","times_seen":5127,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsuaHRtbDUtdmlkZW8tcGxheWVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MDtvdXRsaW5lOjA7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtjb2xvcjojZWVlO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lmh0bWw1LXZpZGVvLXBsYXllciwueXRwLWNvbnRleHRtZW51ey1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLC5odG1sNS12aWRlby1wbGF5ZXIudW5zdGFydGVkLW1vZGUsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dGQtdmlkZW8tbWFzdGhlYWQtYWQtcHJpbWFyeS12aWRlby1yZW5kZXJlciAuaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLnl0ZC12aWRlby1tYXN0aGVhZC1hZC1wcmltYXJ5LXZpZGVvLXJlbmRlcmVyIC5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllci51bnN0YXJ0ZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWJpZy1tb2Rle2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGV7Y3Vyc29yOm5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllciBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3V0bGluZTowfS5odG1sNS12aWRlby1wbGF5ZXIgYTpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgYTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0uaHRtbDUtdmlkZW8tcGxheWVyIGgxLC5odG1sNS12aWRlby1wbGF5ZXIgaDJ7bWFyZ2luOjB9Lmh0bWw1LXZpZGVvLXBsYXllciBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE1cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mn0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOGU4ZThlO2JvcmRlcjoxcHggc29saWQgIzQyNDI0Mjtib3JkZXItcmFkaXVzOjVweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt6LWluZGV4OjEwO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtZW1iZWQtZXJyb3IgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lmh0bWw1LW1haW4tdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3V0bGluZTowfS55dHAtZml0LWNvdmVyLXZpZGVvIC5odG1sNS1tYWluLXZpZGVvey1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3Zlcn0uaHRtbDUtbWFpbi12aWRlb1tkYXRhLW5vLWZ1bGxzY3JlZW49dHJ1ZV06Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b257ZGlzcGxheTpub25lfS5odG1sNS1tYWluLXZpZGVvOm5vdChbY29udHJvbHNdKTo6LXdlYmtpdC1tZWRpYS1jb250cm9scywuaHRtbDUtbWFpbi12aWRlbzpub3QoW2NvbnRyb2xzXSk6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZXtkaXNwbGF5OmlubGluZX0udW5zdGFydGVkLW1vZGUgLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMyNXB4KXsuaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy13aXJlbGVzcy1wbGF5YmFjay1waWNrZXItYnV0dG9ue2Rpc3BsYXk6bm9uZX19Lmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZS1yZW1haW5pbmctZGlzcGxheXtkaXNwbGF5Oi13ZWJraXQtZmxleH0ueXRwLXBsYXllci1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDo0OHB4O2JvdHRvbTo2MXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWhhcy1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA5NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpLnl0cC1iaWctbW9kZS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWJpZy1tb2RlLnl0cC1oYXMtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjQ5cHh9Lnl0cC1lbWJlZCAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTo1M3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCl7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50e3RvcDo2OXB4O2JvdHRvbTo3MHB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLnl0cC11cG5leHQpe3RvcDo4OXB4fS55dHAtcGxheWVyLWNvbnRlbnQueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoxMnB4O3JpZ2h0OjEycHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLXBsYXllci1jb250ZW50Lnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e3JpZ2h0OmNhbGMoMjJweCArIHZhcigtLWJyYW5kaW5nLWltYWdlLXdpZHRoKSl9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50Lnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWJpZy1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Lnl0cC1icmFuZGluZy1zaG93bi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudHtyaWdodDpjYWxjKDIycHggKyB2YXIoLS1icmFuZGluZy1pbWFnZS13aWR0aCkpfS55dHAtYXV0b2hpZGUgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLmh0bWw1LWVuZHNjcmVlbiksLnl0cC1hdXRvaGlkZSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCksLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGxheWVyLWNvbnRlbnR7dG9wOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC15cGMtcGxheWVyLWNvbnRlbnQsLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToxMnB4fS55dHAtdGltZWx5LWFjdGlvbnMtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO3otaW5kZXg6MzU7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMzNzO3RyYW5zaXRpb24tZGVsYXk6LjMzc30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0IC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWJvdHRvbS1yaWdodCAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7ZGlzcGxheTpub25lfS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjE1MXB4fS55dHAtc21hbGwtbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjEzOXB4fS55dHAtZW1iZWQueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGU6bm90KC55dHAtYWQtb3ZlcmxheS1vcGVuKSAueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToyNHB4fS55dHAtYmlnLW1vZGUueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNjBweH0ueXRwLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MDtjb2xvcjppbmhlcml0O3RleHQtYWxpZ246aW5oZXJpdDtmb250LXNpemU6MTAwJTtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpkZWZhdWx0O2xpbmUtaGVpZ2h0OmluaGVyaXR9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24ueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo5cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbikgc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo3cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWJ1dHRvbiwueXRwLWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjB9Lnl0cC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSwuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYnV0dG9uW2Rpc2FibGVkXXtvcGFjaXR5Oi41fS55dHAtYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1idXR0b246Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1jaHJvbWUtYm90dG9tLC55dHAtY2hyb21lLXRvcHtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpfS55dHAtZG5pIC55dHAtY2hyb21lLWJvdHRvbXt0ZXh0LXNoYWRvdzpub25lfS55dHAtY2hyb21lLXRvcHtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bGVmdDoxMnB4O3JpZ2h0OjEycHg7dG9wOjA7ei1pbmRleDo1OH0ueXRwLXNob3J0cy1tb2RlIC55dHAtY2hyb21lLXRvcHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cmlnaHQ6MH0ueXRwLWd2biAueXRwLWNocm9tZS10b3AsLnl0cC1ndm4ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcHt0b3A6MjBweH0ueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTt6LWluZGV4OjU5O3BhZGRpbmctdG9wOjNweDt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cn0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtcG9wb3Zlci1zaG93aW5ne3otaW5kZXg6MTAwMH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDozNnB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDo0MHB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1ib3R0b20sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scywueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OjU0cHg7cGFkZGluZy10b3A6NHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO3BhZGRpbmctdG9wOjB9Lnl0cC1jaHJvbWUtdG9wIC55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1yZXBsYXktYnV0dG9ue29wYWNpdHk6Ljk7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MzZweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLC55dHAtcmVwbGF5LWJ1dHRvbntvcGFjaXR5Oi45O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjQ4cHg7cGFkZGluZzowIDJweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1tdXRlLWJ1dHRvbntwYWRkaW5nOjZweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b257cGFkZGluZzowfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbiwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjAgNHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZCAueXRwLXJlcGxheS1idXR0b257d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbXV0ZS1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czoyOHB4O3BhZGRpbmc6MCAxNnB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246ZW5kOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1lbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257b3BhY2l0eTp1bnNldDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW11dGUtYnV0dG9ue292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbiAueXRwLXZvbHVtZS1pY29ue292ZXJmbG93OnZpc2libGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJlcGxheS1idXR0b257b3BhY2l0eTp1bnNldH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxlZnQtY29udHJvbHN7bWluLXdpZHRoOjA7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MCA0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtib3JkZXItcmFkaXVzOjQwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjQ4cHg7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsIDQ4cHgpIC0gOHB4KX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgNHB4IDAgMDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+KikueXRwLXBsYXlsaXN0LXVpe21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2luc2V0OjRweCA0cHggNHB4IDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbjpiZWZvcmV7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gOHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LCA1NnB4KSAtIDI0cHgpLzIpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtbHVtaW5vc2l0eS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmx1bWlub3NpdHk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb247LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAteW91dHViZS1idXR0b24pIHN2ZywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoLnl0cC15b3V0dWJlLWJ1dHRvbikgc3Zne3dpZHRoOjQwcHg7cGFkZGluZy1sZWZ0OjRweH0ueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b257cGFkZGluZy10b3A6NnB4O2hlaWdodDo0MnB4O3ZlcnRpY2FsLWFsaWduOnRvcH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbntwYWRkaW5nLXRvcDo5cHg7aGVpZ2h0OjYzcHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OjEwMCV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbnt3aWR0aDo1NHB4fS55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLXByZXYtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6LTEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlci1yYWRpdXM6MjdweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkvMil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXktYnV0dG9uOmFjdGl2ZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO21hcmdpbi1ib3R0b206Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgMCAwIDRweDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHg7aW5zZXQ6NHB4IDAgNHB4IDRweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXByZXYtYnV0dG9uOm5vdCh5dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbjpub3QoeXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKSBzdmd7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtZXhjbHVzaW9uLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZXhjbHVzaW9uOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLWJpZy1tb2RlIC55dHAtcHJldi1idXR0b246YmVmb3Jle3dpZHRoOjI0cHg7bGVmdDotMjRweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOm5vdChbZGlzYWJsZWRdKTpob3ZlciwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdLC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXSwueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b246aG92ZXIsLnl0cC1yZXBsYXktYnV0dG9uOmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zdmctZmlsbHtmaWxsOiNmZmZ9Lnl0cC1zdmctc2hhZG93e3N0cm9rZTojMDAwO3N0cm9rZS1vcGFjaXR5Oi4xNTtzdHJva2Utd2lkdGg6MnB4O2ZpbGw6bm9uZX0ueXRwLWRuaSAueXRwLXN2Zy1zaGFkb3d7ZGlzcGxheTpub25lfS55dHAtc3ZnLXNoYWRvdy1maWxse2ZpbGw6IzAwMDtmaWxsLW9wYWNpdHk6LjE1O3N0cm9rZTpub25lfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF17cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6M3B4O2JvcmRlci1yYWRpdXM6M3B4O2xlZnQ6MjRweDtib3R0b206OXB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpOy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHdpZHRoIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bGVmdCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjJweDtib3JkZXItcmFkaXVzOjJweDtsZWZ0OjIwcHg7Ym90dG9tOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjNweDtsZWZ0OjI3cHg7Ym90dG9tOjEwcHh9Lnl0cC1kbmkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI0cHg7bGVmdDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlcnt3aWR0aDoxOHB4O2xlZnQ6OXB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjIwcHg7bGVmdDoxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI3cHg7bGVmdDoxNHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV06YWZ0ZXJ7bGVmdDoxNXB4fS55dHAtY29sb3Itd2hpdGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtY2hyb21lLXRvcC1idXR0b25zIC55dHAtYnV0dG9ue3RleHQtc2hhZG93OmluaGVyaXR9W2Rpcj1ydGxdIC55dHAtc2hvcnRzLW1vZGUgLnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0OHB4fS55dHAtY29weWxpbmstYnV0dG9uOm5vdCgueXRwLWNvcHlsaW5rLWJ1dHRvbi12aXNpYmxlKSwueXRwLW92ZXJmbG93LWJ1dHRvbjpub3QoLnl0cC1vdmVyZmxvdy1idXR0b24tdmlzaWJsZSksLnl0cC1zaGFyZS1idXR0b246bm90KC55dHAtc2hhcmUtYnV0dG9uLXZpc2libGUpe2Rpc3BsYXk6bm9uZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpsZWZ0O2RpcmVjdGlvbjpsdHJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCk7bGluZS1oZWlnaHQ6dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO2xpbmUtaGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsOTZweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9sc3toZWlnaHQ6NDBweDtsaW5lLWhlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweH06bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtbGVmdC1jb250cm9sc3tmbG9hdDpsZWZ0fS55dHAtbGVmdC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMueXRwLWxlZnQtY29udHJvbHMtd2l0aC12b2x1bWV7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtbGVmdC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtcmlnaHQtY29udHJvbHN7ZmxvYXQ6cmlnaHR9Lnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MDttaW4td2lkdGg6MDttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHggNnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTttYXJnaW46Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDEycHg7cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdHtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzLWxlZnQ6YWZ0ZXJ7aGVpZ2h0OjI4cHg7bWFyZ2luOjEwcHggMTRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LXhzbWFsbC13aWR0aC1tb2RlLDY0cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uLnl0cC1saXZlLWJhZGdle3dpZHRoOmF1dG99Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbjpub3QoLnl0cC1saXZlLWJhZGdlKTpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW5leHQtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDo0MHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xze2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257ZGlzcGxheTpub25lO21hcmdpbjo0cHggMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdDphZnRlcntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXNldHRpbmdzLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbS55dHAteHNtYWxsLXdpZHRoLXJpZ2h0LWNvbnRyb2xzLWV4cGFuZGVkIC55dHAtbGVmdC1jb250cm9scyAueXRwLXRpbWUtZGlzcGxheXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtdm9sdW1lLWFyZWF7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWF7bWFyZ2luOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAwIHZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbiBzdmd7cGFkZGluZzp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWE6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6MjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtc2xpZGVyLWFjdGl2ZSAueXRwLXZvbHVtZS1hcmVhe3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXZvbHVtZS1hcmVhe21hcmdpbjp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCkgMCAwIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDhweDtoZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC1idXR0b257aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1hcmVhIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O3BhZGRpbmc6MTFweH0ueXRwLWF1dG9oaWRlLWZhZGUtdHJhbnNpdGlvbiwueXRwLWNocm9tZS1ib3R0b206bm90KC55dHAtZnJvc3RlZC1nbGFzcy1vcGFjaXR5LWFuaW1hdGlvbiksLnl0cC1jaHJvbWUtdG9wey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYXV0b2hpZGUtZmFkZS10cmFuc2l0aW9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tOm5vdCgueXRwLWZyb3N0ZWQtZ2xhc3Mtb3BhY2l0eS1hbmltYXRpb24pLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1hdXRvaGlkZSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCwueXRwLWF1dG9oaWRlIC55dHAtdGl0bGUsLnl0cC1hdXRvaGlkZSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLWJvdHRvbVthcmlhLWhpZGRlbj10cnVlXSwueXRwLWNocm9tZS10b3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtb3ZlcmZsb3ctYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpOm5vdCgueXRwLWNhcmRzLXRlYXNlci1zaG93bikgLnl0cC1jYXJkcy1idXR0b257ZGlzcGxheTpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3BhZGRpbmctcmlnaHQ6OHB4fS55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtdG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQURHQ0FZQUFBQVQrT3FGQUFBQWRrbEVRVlFvejQyUVFRN0FJQWdFRi9UL0Qra2JxL1JXQWxuUXl5YXpBNGFvQUI0RnNCU0EvYkZqdUYxRU9MN1ZicklyQnV1c21ydDRaWk9SZmI2ZWhiV2RuUkhFSWlJVGFFVUthNUVKcVVha1JTYUVZQkpTQ1kyZEVzdFFZN0F1eGFod1hGcnZabVdsMnJoNEpaMDd6OWRMdGVzZk5qNXEwRlUzQTVPYmJ3QUFBQUJKUlU1RXJrSmdnZz09KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbSwueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFFbUNBWUFBQUNqeS9xekFBQUFoa2xFUVZRNHk1MlJVUTZBTUF4Q0tkNy9KSjdSNmFlSkFkcjUwN1RqUVpxT0FFNENXQVJ3eDdKRTk0NHJjaC9rNnFPV1M3YnE1Ymg3MnpHRjgrTFRhNmdvSmVSUGdYRFlOeFdGZmtTMFFYQ0luTElOMUd4VFhBMGR0UzBvdFdKbnVYSlIxWTlXWVA5R0YxVUNZUlFZSFJTbFhNQVJiVk80dGgzc2Q3WTNPUDVkWTNCbitTa1BzR0oxK0hHR1Z0Y0FBQUFBU1VWT1JLNUNZSUk9KX0ueXRwLWF1dG9oaWRlIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtYm90dG9tW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtZ3JhZGllbnQtdG9wW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZyk6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSkgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo0OHB4O3BhZGRpbmctYm90dG9tOjUwcHg7dG9wOjA7ei1pbmRleDoyNTtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcH0ueXRwLWVtYmVkLXBmbC55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NzBweDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSksdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLHJnYmEoMCwwLDAsLjc1KSksdG8odHJhbnNwYXJlbnQpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNzUpIDAsdHJhbnNwYXJlbnQpO3BhZGRpbmctYm90dG9tOjB9Lnl0cC1zaG9ydHMtbW9kZS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1ncmFkaWVudC10b3AsLnl0cC1zaG9ydHMtbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmF1dG8gMjAwJTtiYWNrZ3JvdW5kLXNpemU6YXV0byAyMDAlfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo2OXB4O3BhZGRpbmctYm90dG9tOjc3cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6ODlweDtwYWRkaW5nLWJvdHRvbTo1N3B4fS55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo2MXB4O3BhZGRpbmctdG9wOjM3cHg7Ym90dG9tOjA7ei1pbmRleDoyNDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1ncmFkaWVudC1ib3R0b217aGVpZ2h0OjQ5cHg7cGFkZGluZy10b3A6NDlweH0ueXRwLWVtYmVkIC55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo1M3B4O3BhZGRpbmctdG9wOjQ1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbXtoZWlnaHQ6NzBweDtwYWRkaW5nLXRvcDo3NnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDcwJSAtIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDIwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoMjAlICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9we2hlaWdodDowfS55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZSwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWdyYWRpZW50LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLW92ZXJmbG93LWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXNoYXJlLWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXdhdGNoLWxhdGVyLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUueXRwLWZ1bGwtYmxlZWQtcGxheWVyOm5vdCgueXRwLWdyaWQtc2Nyb2xsYWJsZSkgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKSAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6dmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybi55dHAtYXV0b2hpZGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtY2hyb21lLWJvdHRvbSwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWF1dG9oaWRlKSAueXRwLWNocm9tZS1ib3R0b217b3BhY2l0eTpjYWxjKDEgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGModmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLWNocm9tZS1ib3R0b217cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1jaHJvbWUtYm90dG9te2Rpc3BsYXk6bm9uZX0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSl7Lnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1ncmFkaWVudC10b3B7YmFja2dyb3VuZDojMDAwO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yezAle2JhY2tncm91bmQtY29sb3I6I2YwMH0yMCV7YmFja2dyb3VuZC1jb2xvcjojMGYwfTQwJXtiYWNrZ3JvdW5kLWNvbG9yOiMwMGZ9NjAle2JhY2tncm91bmQtY29sb3I6I2YwZn04MCV7YmFja2dyb3VuZC1jb2xvcjojZmYwfXRve2JhY2tncm91bmQtY29sb3I6IzBmZn19QGtleWZyYW1lcyB5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvcnswJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDB9MjAle2JhY2tncm91bmQtY29sb3I6IzBmMH00MCV7YmFja2dyb3VuZC1jb2xvcjojMDBmfTYwJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGZ9ODAle2JhY2tncm91bmQtY29sb3I6I2ZmMH10b3tiYWNrZ3JvdW5kLWNvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktY29sb3J7MCV7Y29sb3I6I2YwMH0yMCV7Y29sb3I6IzBmMH00MCV7Y29sb3I6IzAwZn02MCV7Y29sb3I6I2YwZn04MCV7Y29sb3I6I2ZmMH10b3tjb2xvcjojMGZmfX1Aa2V5ZnJhbWVzIHl0cC1wYXJ0eS1jb2xvcnswJXtjb2xvcjojZjAwfTIwJXtjb2xvcjojMGYwfTQwJXtjb2xvcjojMDBmfTYwJXtjb2xvcjojZjBmfTgwJXtjb2xvcjojZmYwfXRve2NvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktZmlsbHswJXtmaWxsOiNmMDB9MjAle2ZpbGw6IzBmMH00MCV7ZmlsbDojMDBmfTYwJXtmaWxsOiNmMGZ9ODAle2ZpbGw6I2ZmMH10b3tmaWxsOiMwZmZ9fUBrZXlmcmFtZXMgeXRwLXBhcnR5LWZpbGx7MCV7ZmlsbDojZjAwfTIwJXtmaWxsOiMwZjB9NDAle2ZpbGw6IzAwZn02MCV7ZmlsbDojZjBmfTgwJXtmaWxsOiNmZjB9dG97ZmlsbDojMGZmfX0ueXRwLW1lbnUtc2hvd24gLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lnl0cC1hZC1kaXNwbGF5LW92ZXJyaWRlIC52aWRlby1hZHN7ZGlzcGxheTppbmhlcml0fS55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyl9Lnl0cC1kbmkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3Itc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6I2FhYX0ueXRwLWNvbG9yLXBhcnR5IC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3IsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9yLC55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvci1zZWNvbmRhcnl7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTtiYWNrZ3JvdW5kOm5vbmV9Lnl0cC1zd2F0Y2gtY29sb3J7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpfS55dHAtc3dhdGNoLWNvbG9yLXdoaXRle2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSl9Lnl0cC1wcmVtaXVtLWxhYmVse2ZvbnQtc2l6ZTo4My4zMzMzJTtjb2xvcjojY2NjfS55dHAtZG5pIC55dHAtc3dhdGNoLWNvbG9ye2NvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1jb2xvcntjb2xvcjojZGRkfS55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtY29sb3J7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWNvbG9yIC4xNXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIHByaW50ey5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpICp7dmlzaWJpbGl0eTpoaWRkZW59Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcil7Ym9yZGVyOjFweCBzb2xpZCAjMDAwOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY2hyb21lLXRvcCw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtbGFyZ2UtcGxheS1idXR0b257b3BhY2l0eToxIWltcG9ydGFudDtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbiAqLDpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC10aXRsZSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdGl0bGUgKntjb2xvcjojMDAwIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fX0ueXRwLXBsYXllci1pbi1iYXItZGlzYWJsZS11aT46bm90KC5odG1sNS12aWRlby1jb250YWluZXIpe2Rpc3BsYXk6bm9uZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtY29tcG9zaXRlLXZpZGVvLW92ZXJsYXktcmVuZGVyZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7ei1pbmRleDoxMH0ueXRwLWFkLW1vZHVsZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEycHgpO3RvcDowfS52aWRlby1hZC1zdGF0dXMtYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3otaW5kZXg6ODUwO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6Ljc7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjUzcHh9Lnl0cC1iaWctbW9kZSAudmlkZW8tYWQtc3RhdHVzLWJhcntib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LmFkLXNob3dpbmcgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7ZGlzcGxheTpibG9ja30uYWQtc2hvd2luZy55dHAtYXV0b2hpZGUgLnZpZGVvLWFkLXN0YXR1cy1iYXIsLmFkLXNob3dpbmcueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LnZpZGVvLWFkLWxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo1cHh9LmFkLXNob3dpbmcgLmFkLXZpZGVve3Bvc2l0aW9uOmFic29sdXRlfS5hZC1zaG93aW5nIC5hZC12aWRlb3t0b3A6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1jbGljay10cmFja2luZywuaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1zdHJlYW17ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLWNvbnRhaW5lci1zaW5nbGUtbWVkaWEtZWxlbWVudC1hbm5vdGF0aW9uc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1jb250YWluZXItc2luZ2xlLW1lZGlhLWVsZW1lbnQtYW5ub3RhdGlvbnMtd29ya2Fyb3VuZHt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e2JvdHRvbTo1M3B4fS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLmFkLW92ZXJsYXksLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAuYWQtb3ZlcmxheXtib3R0b206NzBweH0ueXRwLWF1dG9oaWRlLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheSAudmlkZW8tY2xpY2stdHJhY2tpbmd7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+Om5vdCguaW1hLWNvbnRhaW5lcil7ei1pbmRleDo4NzB9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheT4uaW1hLWNvbnRhaW5lcnt6LWluZGV4OmF1dG8haW1wb3J0YW50fS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+LmltYS1jb250YWluZXI+Knt6LWluZGV4Ojg3MCFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmV9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpIC5hZC1jb250YWluZXIsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCgueXRwLWFkLW92ZXJsYXktb3BlbikgLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lml2LWVuZGNhcC1iYWNrZ3JvdW5ke3otaW5kZXg6ODIxfS5odG1sNS12aWRlby1wbGF5ZXIgLmF0dHJpYnV0aW9uLWJ1dHRvbnt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLWJ1dHRvbi1pY29uLC55dHAtYWQtYnV0dG9uLXRleHQsLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLC55dHAtYWQtc2tpcC1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXNraXAtYnV0dG9uLXRleHQtY2VudGVyZWR7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSBidXR0b257b3V0bGluZTowfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSAueXRwLWFkLWJ1dHRvbjpmb2N1cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgYnV0dG9uOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtYnV0dG9uLWxpbmt7cGFkZGluZzowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLWFkLWJ1dHRvbi1saW5rOmFjdGl2ZSwueXRwLWFkLWJ1dHRvbi1saW5rOmhvdmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97bGVmdDoyNHB4O2JvdHRvbTo3MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZve2JvdHRvbTo2cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206NjFweDtjdXJzb3I6ZGVmYXVsdDtsZWZ0OjE4cHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KTt6LWluZGV4Ojg1MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1lbWJlZCAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97Ym90dG9tOjUzcHh9Lnl0cC1hZC1jbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1hZC1kaXNjbG9zdXJlLWJhbm5lcntib3JkZXItcmFkaXVzOjA7Ym90dG9tOmF1dG87Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OmF1dG87bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjI0cHg7ei1pbmRleDo4NTB9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWFkLWRpc2Nsb3N1cmUtYmFubmVye2xlZnQ6MjRweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWZseW91dC1jdGF7Ym90dG9tOjg2cHg7bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo4NTB9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3RhLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZW1iZWQgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo3OHB4fS55dHAtZmx5b3V0LWN0YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1mbHlvdXQtY3RhLWxhcmdle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZzo4cHg7bWluLXdpZHRoOjIwMHB4fS55dHAtZmx5b3V0LWN0YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtZmx5b3V0LWN0YS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2JvcmRlci1yYWRpdXM6MnB4O21heC13aWR0aDo0MDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keS1sYXJnZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1mbHlvdXQtY3RhOmhvdmVyIC55dHAtZmx5b3V0LWN0YS1ib2R5e2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWZseW91dC1jdGE6aG92ZXIgLnl0cC1mbHlvdXQtY3RhLWJvZHktbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21heC13aWR0aDoyNTBweDtwYWRkaW5nLWxlZnQ6NThweDtwYWRkaW5nLXJpZ2h0OjIwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtdGV4dC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1yaWdodDoxMHB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaGVhZGxpbmUtY29udGFpbmVye2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi10b3A6MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi10b3A6M3B4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9ue292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6NTZweDttYXgtd2lkdGg6MTUwcHg7cG9zaXRpb246c3RhdGljOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci1sYXJnZXtsaW5lLWhlaWdodDppbmhlcml0O21hcmdpbjo4cHg7bWluLXdpZHRoOjEwMCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9ue2JhY2tncm91bmQ6IzE2N2FjNjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjojMTY3YWM2O2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDoyOHB4O21hcmdpbjowIDhweCAwIDA7bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTBweDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6aW5oZXJpdH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tbGFyZ2V7bWluLXdpZHRoOjEwMCU7Y29sb3I6IzBmMGYwZn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMTI2ZGIzfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24ueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTJweDtib3JkZXI6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7YmFja2dyb3VuZDojMDY1ZmQ0fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLXJvdW5kZWQtbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtZmx5b3V0LWN0YSwueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWJvZHksLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntkaXJlY3Rpb246bHRyO2hlaWdodDphdXRvfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXJ7aGVpZ2h0OjEwMCU7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo0OHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo4cHg7dG9wOi0yNnB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi55dHAtZmx5b3V0LWN0YS1pY29uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0cC1mbHlvdXQtY3RhLnl0cC1mbHlvdXQtY3RhLWluYWN0aXZley13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0ueXRwLWZseW91dC1jdGEueXRwLWZseW91dC1jdGEtaW5hY3RpdmUgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpfS55dHAtZmx5b3V0LWN0YS55dHAtZmx5b3V0LWN0YS1pbmFjdGl2ZSAueXRwLWZseW91dC1jdGEtYm9keXttYXgtd2lkdGg6MDt3aWR0aDowfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo5NXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEsLnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keSwueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjQwcHg7bWF4LXdpZHRoOjE5MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVye2hlaWdodDoxMDAlO3dpZHRoOjQwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21hcmdpbi1sZWZ0OjZweDtwYWRkaW5nOjRweCAyMHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lcntmb250LXNpemU6MTJweDttYXJnaW4tdG9wOjJweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1kZXNjcmlwdGlvbi1jb250YWluZXJ7Zm9udC1zaXplOjExcHg7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29uLWNvbnRhaW5lcntsZWZ0OjA7dG9wOjB9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b24sLnl0cC1hZC1zaW1wbGUtYWQtYmFkZ2UsLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdle21hcmdpbi1sZWZ0OjVweDtvcGFjaXR5Oi43NX0ueXRwLWFkLXNpbXBsZS1hZC1iYWRnZS0tY2xlYW4tcGxheWVye21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdlLS1zdXJ2ZXl7Zm9udC13ZWlnaHQ6NTAwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXNpbXBsZS1hZC1iYWRnZXttYXJnaW4tbGVmdDowfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5ne21hcmdpbi1sZWZ0OjNweDtvcGFjaXR5Oi43NX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KTtsZWZ0OjA7bGluZS1oZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVyOmJlZm9yZXtjb250ZW50OiLigKIiO3BhZGRpbmctaW5saW5lOjRweH0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tbXdlYntmb250LXdlaWdodDo2MDA7bWFyZ2luLWxlZnQ6M3B4fS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLS1td2ViLWlvc3tsZXR0ZXItc3BhY2luZzotLjJweH0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MCA1cHg7bWFyZ2luLXJpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTozMHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMzMzO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MTJweDtsZWZ0Oi0xOXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtvcGFjaXR5Oi45O3BhZGRpbmc6N3B4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LXNob3J0e3doaXRlLXNwYWNlOm5vd3JhcH0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGF7Y29sb3I6IzE2N2FjNn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbjpob3ZlciAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyLC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLWhvdmVyLXRleHQtY2FsbG91dHtib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjVweCBzb2xpZCAjZmZmOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDtsZWZ0OjIwcHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MTAwJTt3aWR0aDowfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b257LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi43NTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt3aWR0aDoxM3B4fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtYnV0dG9uLS1jbGVhbi1wbGF5ZXJ7b3BhY2l0eToxOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCA3cHggcmdiYSgwLDAsMCwuOSkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgN3B4IHJnYmEoMCwwLDAsLjkpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1idXR0b257LXdlYmtpdC1maWx0ZXI6dW5zZXQ7ZmlsdGVyOnVuc2V0fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8taWNvbi1idXR0b246aG92ZXJ7b3BhY2l0eToxfS55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1iYWNrZ3JvdW5kLC55dHAtYWQtaW5mby1kaWFsb2ctYmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO2Rpc3BsYXk6dGFibGU7aGVpZ2h0OjEwMCU7bGVmdDowO21hcmdpbjphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjIyMDF9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1pbmZvLWRpYWxvZy1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteTpzY3JvbGw7b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jbG9zZS1vdmVybGF5LWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jbG9zZS1idXR0b24sLnl0cC1hZC1pbmZvLWRpYWxvZy1jbG9zZS1idXR0b257aGVpZ2h0OjI0cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDt0b3A6MTRweDt3aWR0aDoyNHB4fS55dHAtYWQtY29uZmlybS1kaWFsb2ctY2xvc2Utb3ZlcmxheS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVyLC55dHAtYWQtaW5mby1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb250YWluZXIsLnl0cC1hZC1pbmZvLWRpYWxvZy1jb250YWluZXJ7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLC55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0sLnl0cC1hZC1pbmZvLWRpYWxvZy1mb3Jte2JhY2tncm91bmQ6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCBibGFjaztjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE4MHB4O21heC13aWR0aDo1MCU7cGFkZGluZzoxNHB4O3RleHQtYWxpZ246bGVmdH0ueXRwLWFkLWluZm8tZGlhbG9nLXJlbGF0aXZlLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjcyfS55dHAtYWQtaW5mby1kaWFsb2ctcmVsYXRpdmUtY29udGFpbmVyIC55dHAtYWQtaW5mby1kaWFsb2ctZm9ybXstd2Via2l0LWJveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JvcmRlci1jb2xvcjojZTJlMmUyO21heC13aWR0aDpub25lfS55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0gYSwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1mb3JtIGE6aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYSwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYTpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9ue2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUsLnl0cC1hZC1pbmZvLWRpYWxvZy10aXRsZXtjb2xvcjojMzMzO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUgYSwueXRwLWFkLWluZm8tZGlhbG9nLXRpdGxlIGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX11bC55dHAtYWQtaW5mby1kaWFsb2ctYWQtcmVhc29uc3twYWRkaW5nOjA7bWFyZ2luOjA7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1hZC1yZWFzb25zIGxpe2xpc3Qtc3R5bGU6ZGlzYztsaXN0LXN0eWxlLXBvc2l0aW9uOm91dHNpZGU7bWFyZ2luLWxlZnQ6MjBweH0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2VzLC55dHAtYWQtaW5mby1kaWFsb2ctZmVlZGJhY2stb3B0aW9uc3ttYXJnaW4tbGVmdDo4cHh9bGFiZWwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1yZWFzb24tbGFiZWx7ZGlzcGxheTpibG9jazttYXJnaW46OHB4IDB9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tY29udGFpbmVye21hcmdpbi10b3A6OHB4O3RleHQtYWxpZ246cmlnaHR9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b24sLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9ue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7bWFyZ2luOjRweCAwIDAgMTJweDtwYWRkaW5nOjEwcHg7Y29sb3I6IzE2N2FjNjtjdXJzb3I6cG9pbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uOmhvdmVyLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbjpob3ZlciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9uOmhvdmVye2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtYWQtaW5mby1kaWFsb2ctbXV0ZS1jb250YWluZXJ7bWFyZ2luLXRvcDo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1tdXRlLWJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn0ueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9uIC55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OjE2cHg7bWFyZ2luLXJpZ2h0OjVweDt3aWR0aDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy11bmRvLW11dGUtYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tbGVmdDo1cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1sZWZ0OjVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTJweDtyaWdodDotMnB4O3RvcDotN3B4O2JvdHRvbTotOHB4fS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b24gLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEycHg7bWFyZ2luOi00cHggM3B4IC0ycHggMDtwYWRkaW5nOjVweCAwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b246aG92ZXIgLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2N1cnNvcjpwb2ludGVyOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7aGVpZ2h0OjEwcHg7b3BhY2l0eTouNzU7d2lkdGg6MTBweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmhvdmVyIC55dHAtYWQtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWJpZy1tb2RlIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo5NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjE1NnB4fS55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWVtYmVkLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206MjVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjg2cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0tdXNlci1zZW50aW1lbnQgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjcwcHh9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciwueXRwLXNldHRpbmdzLXNob3duIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntvcGFjaXR5Oi40O3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDo4NTB9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWFkLW1lc3NhZ2Utb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvdHRvbTowO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6ODUwfS55dHAtYWQtbWVzc2FnZS1zbG90LC55dHAtYWQtcHJldmlldy1zbG90LC55dHAtYWQtc2tpcC1hZC1zbG90e3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDo4NTB9Lnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWVtYmVkIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1lbWJlZCAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eToxO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyLC55dHAtYWQtcHJldmlldy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lci1kZXRhY2hlZHttYXJnaW4tcmlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtoZWlnaHQ6MzZweH0ueXRwLWFkLXByZXZpZXctY29udGFpbmVyLWRldGFjaGVkOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouNztwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLWRldGFjaGVke21hcmdpbi1yaWdodDoxMnB4O29wYWNpdHk6MX0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtYWQtcHJldmlldy1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLXByZXZpZXctdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtoZWlnaHQ6MzBweDtsZXR0ZXItc3BhY2luZzouMXB4O21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MTFweCAxMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LjFweDtwYWRkaW5nOjAgOHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLW1lc3NhZ2UtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDtoZWlnaHQ6NTJweDtsaW5lLWhlaWdodDo1MnB4O2xldHRlci1zcGFjaW5nOi4xcHg7bWluLXdpZHRoOjgwcHg7cGFkZGluZzowIDIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtYWQtcHJldmlldy1pbWFnZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1hZC1wcmV2aWV3LWltYWdlPi55dHAtYWQtaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDo5MnB4O2hlaWdodDo1MnB4fS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm4+Lnl0cC1hZC1pbWFnZXtkaXNwbGF5OmJsb2NrO2hlaWdodDozNnB4O3dpZHRoOjY1cHh9LmNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjA7cGFkZGluZzowIDhweH0uY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjQxcHg7d2lkdGg6NzNweH0ubW9kZXJuLWNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDphdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MCA4cHh9Lm1vZGVybi1jb3VudGRvd24tbmV4dC10by10aHVtYm5haWwgLnl0cC1hZC1wcmV2aWV3LXRleHQtbW9kZXJuLXBvc3Ryb2xse3BhZGRpbmc6MCAxNHB4fS5tb2Rlcm4tY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjM2cHg7d2lkdGg6NjVweH0ueXRwLWFkLXNraXAtYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXItcmlnaHQ6MDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjojZmZmO2RpcmVjdGlvbjpsdHI7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi13aWR0aDowO3BhZGRpbmc6MTBweCA2cHggOHB4IDEwcHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXNraXAtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOSk7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yaWdodDowfS55dHAtYWQtc2tpcC1idXR0b24taWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46LTE0cHggLTZweCAtMTJweCAtNHB4fS55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7Y29sb3I6I2ZmZjtkaXJlY3Rpb246bHRyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDpub3JtYWw7bWluLXdpZHRoOjA7cGFkZGluZzowIDZweCAwIDE2cHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjE4cHg7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46aG92ZXJ7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSx0byhyZ2JhKDI1NSwyNTUsMjU1LC4yKSkpLC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiKDE1LDE1LDE1KSksdG8ocmdiKDE1LDE1LDE1KSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLGxpbmVhci1ncmFkaWVudChyZ2IoMTUsMTUsMTUpLHJnYigxNSwxNSwxNSkpfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3Vze2JhY2tncm91bmQ6cmdiKDE1LDE1LDE1KTtvdXRsaW5lOm5vbmU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWljb24tZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW13ZWItZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLWRlbGhpIC55dHAtYWQtc2tpcC1idXR0b24taWNvbi1tb2Rlcm4gc3Zne2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7cGFkZGluZzo0cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46Zm9jdXMtdmlzaWJsZSAueXRwLWFkLXNraXAtYnV0dG9uLWljb24tbW9kZXJuIHN2ZyBwYXRoe2ZpbGw6IzBmMGYwZn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6ODUwfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1vdmVybGF5LXNsb3R7Ym90dG9tOjcwcHh9Lnl0cC1hdXRvaGlkZS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLnl0cC1hZC1vdmVybGF5LXNsb3R7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLWVuaGFuY2VkLW92ZXJsYXksLnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLW92ZXJsYXktaW1hZ2UgaW1nLC55dHAtYWQtb3ZlcmxheS1jb250YWluZXIgLnl0cC1hZC10ZXh0LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1hZC10ZXh0LW92ZXJsYXl7aGVpZ2h0OjYzcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bzttYXgtd2lkdGg6NDQwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtYWQtdGV4dC1vdmVybGF5OmhvdmVye2JvcmRlcjoxcHggc29saWQgcmdiKDU4LDU4LDU4KX0ueXRwLWFkLW92ZXJsYXktdGl0bGV7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO2ZvbnQ6NzAwIDE0cHggYXJpYWwsc2Fucy1zZXJpZjttYXJnaW46N3B4IDIycHggMCAwO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWJvdHRvbTo0cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgLTFweCAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLXRleHQtb3ZlcmxheTpob3ZlciAueXRwLWFkLW92ZXJsYXktdGl0bGV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktZGVzY3tjb2xvcjojZmZmO2ZvbnQ6MTJweCBhcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1ib3R0b206MnB4O21hcmdpbi10b3A6LTNweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbWFnZS1vdmVybGF5e21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLW92ZXJsYXktaW1hZ2V7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRwLWFkLWltYWdlLW92ZXJsYXk6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktbGlua3tjdXJzb3I6cG9pbnRlcjtib3R0b206OXB4O2NvbG9yOiNlYWRlOTA7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246c3RhdGljO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OnJnYigwLDAsMCkgMCAtMXB4IDB9Lnl0cC1hZC1vdmVybGF5LWxpbmsueXRwLWFkLW92ZXJsYXktbGluay1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lcntjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxNXB4O3BhZGRpbmc6NnB4IDFweCAxMHB4IDIwcHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMXB4O3RvcDowO3dpZHRoOjE1cHh9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lciAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDttYXJnaW46MDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtaG92ZXItdGV4dC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6MX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZpbGwtb3BhY2l0eTouODtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi45O3dpZHRoOmluaGVyaXQ7LXdlYmtpdC1maWx0ZXI6bm9uZTtmaWx0ZXI6bm9uZTtsaW5lLWhlaWdodDpub3JtYWw7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7dmVydGljYWwtYWxpZ246dG9wfS55dHAtYWQtb3ZlcmxheS1jbG9zZS1jb250YWluZXJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjE1cHg7bWFyZ2luOjA7cGFkZGluZzo2cHggNnB4IDEwcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MTVweH0ueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDtmaWxsLW9wYWNpdHk6Ljg7ZmxvYXQ6cmlnaHQ7aGVpZ2h0OmluaGVyaXQ7b3BhY2l0eTouOTt3aWR0aDppbmhlcml0fS55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1jbG9zZS1idXR0b24gc3Zne2JhY2tncm91bmQ6IzAwMDtmaWxsOiNmZmZ9Lnl0cC1hZC1pbWFnZS1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHN2Z3tiYWNrZ3JvdW5kOiNmZmY7ZmlsbDojNzU3NTc1fS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDppbmhlcml0fS55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1vdmVybGF5LWNsb3NlLWNvbnRhaW5lcjpob3ZlciAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2ZpbGwtb3BhY2l0eToxfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbntib3R0b206OHB4O2NvbG9yOiM4ODg7Y3Vyc29yOnBvaW50ZXI7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MXB4O3BhZGRpbmc6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbjpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktYXR0cmlidXRpb257Y29sb3I6aW5oZXJpdDt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLW92ZXJsYXktdGV4dC1pbWFnZXtmbG9hdDpsZWZ0fS55dHAtYWQtb3ZlcmxheS10ZXh0LWltYWdlIGltZ3std2Via2l0LWJveC1zaGFkb3c6MCAzcHggNXB4IHJnYmEoMCwwLDAsLjQ5ODAzOSk7Ym94LXNoYWRvdzowIDNweCA1cHggcmdiYSgwLDAsMCwuNDk4MDM5KTtoZWlnaHQ6NTdweDttYXJnaW46MnB4IDEwcHggMCAwO3dpZHRoOmF1dG87bWluLXdpZHRoOjU3cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFse2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6NjR9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWJhY2tncm91bmQtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtkaXNwbGF5OmJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90e3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjY1fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2Rpc3BsYXk6YmxvY2s7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTE0MHB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDo1MCU7d2lkdGg6MjgwcHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJke21hcmdpbi1sZWZ0Oi05MHB4O3dpZHRoOjE4MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWNhcmQtdW5pZmllZHttYXJnaW4tbGVmdDotMjE1cHg7d2lkdGg6NDMwcHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtY2FyZC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLXVuaWZpZWR7bWFyZ2luLWxlZnQ6MDtsZWZ0OjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjI0NXB4O3BhZGRpbmc6MCAwIDAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZS1jb250YWluZXItdW5pZmllZHt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjI4cHggMCAxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci11bmlmaWVke3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXJnaW46MCBhdXRvIDAgMDtwYWRkaW5nOjEwcHggMH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Y29sb3I6IzMzMztkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MjBweDttYXgtaGVpZ2h0OjIuMmVtO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Zm9udC1zaXplOjE2cHg7bWF4LWhlaWdodDoyLjJlbTtwYWRkaW5nLXRvcDo4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lci11bmlmaWVke3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbi1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLXVuaWZpZWR7ZGlzcGxheTpub25lfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbntjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDttYXgtaGVpZ2h0OjEuMWVtO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctYm90dG9tOjhweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci11bmlmaWVke3BhZGRpbmc6NnB4IDB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiMxNjdhYzY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIzcHg7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweDttaW4td2lkdGg6MTY0cHg7cGFkZGluZzowIDIwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9ue2ZvbnQtc2l6ZToxNXB4O2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7bWluLXdpZHRoOjEyMHB4fS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbntoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O21pbi13aWR0aDowfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtib3JkZXItcmFkaXVzOjI4cHg7aGVpZ2h0OjU2cHg7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI4cHg7cGFkZGluZzowIDI0cHg7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE1cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87bWF4LXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1MCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjpub25lO2hlaWdodDoxMjhweDt3aWR0aDoxMjhweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2V7cG9pbnRlci1ldmVudHM6YXV0bzttYXgtd2lkdGg6MTAwJX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLXVuaWZpZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXJ7aGVpZ2h0OjYwcHg7d2lkdGg6NjBweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lcntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLXVuaWZpZWR7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci11bmlmaWVke21hcmdpbi1sZWZ0Oi02cHg7cGFkZGluZzo2cHg7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXItdW5pZmllZHtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci11bmlmaWVkey13ZWJraXQtZmlsdGVyOmJsdXIoNzBweCk7ZmlsdGVyOmJsdXIoNzBweCl9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLXNsb3QueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC1kYXJrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUwLDUwLDUwLC44KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90LXVuaWZpZWR7aW5zZXQ6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtbGlnaHR7Y29sb3I6I2ZmZn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyOHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDozNHB4O21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy10b3A6MDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6bm9uZTtwYWRkaW5nLXRvcDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtmb250LXNpemU6MTZweDtwYWRkaW5nLXRvcDoxMnB4O3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWxpZ2h0e2NvbG9yOiNmZmZ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLXVuaWZpZWR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNjIsMTY2LDI1NSk7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjIwcHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1tb25vLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2NvbG9yOnJnYigxNSwxNSwxNSk7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToyMHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tbW9iaWxlLWNvbXBhbmlvbi1zaXple21pbi13aWR0aDowO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MCAxNnB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tdW5pZmllZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYig2MiwxNjYsMjU1KTtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MThweDttaW4td2lkdGg6MDttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQgLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2JhY2tncm91bmQtY29sb3I6cmdiKDYyLDE2NiwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2hlaWdodDoyMnB4O2xpbmUtaGVpZ2h0OjEycHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoyMDBweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQtbW9ubzpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDotNnB4IDA7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm8gLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97aGVpZ2h0OjIycHg7bGluZS1oZWlnaHQ6MTJweH0ueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTo0cHg7ZGlzcGxheTpibG9jaztsZWZ0OjZweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjY1fS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1jb250YWluZXIueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVyLXVwcGVyLXJpZ2h0e2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweH1zdmcueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd257YmFja2dyb3VuZDpub25lO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoyMHB4O29wYWNpdHk6LjQ7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7d2lkdGg6MjBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tYmFja2dyb3VuZHtmaWxsOm5vbmU7c3Ryb2tlOm5vbmV9Y2lyY2xlLnl0cC1hZC10aW1lZC1waWUtY291bnRkb3duLWlubmVye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MTBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS13aWR0aDoxfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nOjAgMzJweDttYXJnaW46MDtsaW5lLWhlaWdodDpub3JtYWw7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHAtYWQtc3VydmV5LnJlbGF0aXZlLXBvc2l0aW9uaW5nLXN1cnZleXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojg1MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbnN7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1mbGV4LWdyb3c6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCBhdXRvO2hlaWdodDoxMDAlfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3BhZGRpbmctdG9wOjA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWZ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcG9zaXRpb246NTAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjF9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tZm9yZWdyb3VuZHt6LWluZGV4OjJ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtjb2xvcjojMTMxMzEzO2ZvbnQtc2l6ZToyMHB4O3RleHQtYWxpZ246bGVmdDt3aWR0aDozMDJweDttYXJnaW4tcmlnaHQ6NDhweDtsaW5lLWhlaWdodDoyOHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7cmlnaHQ6MDt0b3A6MzVweDt3aWR0aDozMDhweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zley13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmV7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDtwYWRkaW5nLXRvcDo0JX0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle3BhZGRpbmctdG9wOjA7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC10b2dnbGUtYnV0dG9uLWlucHV0e2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyOHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbjpob3ZlciwueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbjpob3Zlcntmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbnttYXJnaW4tbGVmdDoyNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlciAueXRwLWFkLXRvZ2dsZS1idXR0b24tdG9nZ2xlZHtmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDojNjA2MDYwfS55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b2dnbGVkLWljb24gc3ZnIHBhdGg6bGFzdC1vZi10eXBle2ZpbGw6IzA0NWVkZH0ueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czphdXRvO2N1cnNvcjpwb2ludGVyfS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTJweDtyaWdodDowO2hlaWdodDo1MnB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntiYWNrZ3JvdW5kOiMxYjdmY2M7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDttYXJnaW4tcmlnaHQ6NnB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6NTZweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9uLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQ6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDozNnB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXBsYXllci1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1za2lwLW9yLXByZXZpZXcsLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktc2tpcC1vci1wcmV2aWV3e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cmlnaHQ6MH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWx7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjUwMDA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1jb250ZW50c3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbCAueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtY29udGVudHN7aGVpZ2h0OmF1dG99Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tdG9wOjI1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiMxMzEzMTM7d2lkdGg6MjcycHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ297YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTstbW96LWJhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2hlaWdodDoyNXB4O21hcmdpbi1sZWZ0OjMycHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTA1cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28taW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE2MXB4O3BhZGRpbmc6MTBweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi10b3A6MjVweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyOjB9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQtY29sb3I6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7aGVpZ2h0OjM2cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjU2cHgpey55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1sb2dve21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXRvcDoxNXB4fS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC10ZXh0e2ZvbnQtc2l6ZToyMHB4O21hcmdpbi1sZWZ0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257Zm9udC1zaXplOjE4cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleXtwYWRkaW5nOjAgMzJweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXRleHR7Zm9udC1zaXplOjIwcHg7bWFyZ2luLXJpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MjhweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjI0cHg7d2lkdGg6YXV0b30ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6MjJweDtmb250LXNpemU6MTBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NDhweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjB9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6NDBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS11c2VyLXNlbnRpbWVudHtkaXNwbGF5Om5vbmV9W2Rpcj1ydGxdIC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVye2JvdHRvbTo0MHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyOTRweCkgYW5kIChtaW4taGVpZ2h0OjYzMHB4KXsueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbiwueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtbG9nbywueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtdGV4dHttYXJnaW4tbGVmdDo2NHB4fS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87cGFkZGluZzowIDYwcHh9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1yaWdodDo0OHB4O3dpZHRoOjM1NHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjM4cHg7d2lkdGg6MzkwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vye2hlaWdodDo2MHB4fS55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3ZlLC55dHAtYWQtc3VydmV5LXN1Ym1pdC1idXR0b257aGVpZ2h0OjQ0cHg7Zm9udC1zaXplOjE4LjJweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweDstd2Via2l0LWZsZXg6MCAwIDMycHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDMycHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NjBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjI1cHh9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6NzBweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNzIwcHgpIGFuZCAobWluLWhlaWdodDo5ODBweCl7Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6OTZweH0ueXRwLWFkLXN1cnZleXt3aWR0aDoxMDAlO3BhZGRpbmc6MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjQzcHg7bWFyZ2luLXJpZ2h0OjgwcHg7d2lkdGg6NDUwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vyc3t0b3A6NTdweDt3aWR0aDo1MDBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0Ojc2cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6NjdweDtmb250LXNpemU6MjcuNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlci1idXR0b24sLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b257Zm9udC1zaXplOjMycHg7bGluZS1oZWlnaHQ6NDNweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4Oy13ZWJraXQtZmxleDowIDAgMzJweDstd2Via2l0LWJveC1mbGV4OjA7ZmxleDowIDAgMzJweDttYXJnaW4tcmlnaHQ6MjBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle2hlaWdodDo3NnB4fS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtib3R0b206NDVweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9ue21hcmdpbi1yaWdodDoxMnB4O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MTEwcHh9fS55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXRvZ2dsZS1idXR0b246aG92ZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvb2x0aXB7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjcpO2JvdHRvbToxNDdweDtkaXNwbGF5OmlubGluZS1ibG9jaztwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDo4NTB9Lnl0cC1lbWJlZCAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lcntib3R0b206MTM5cHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LXNlbGVjdGVkey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtiYWNrZ3JvdW5kOiM0NzgwZWV9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiwueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjJweDtvcGFjaXR5Oi44O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyMnB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtwYWRkaW5nOjEycHggMTBweCAxMnB4IDIwcHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cGFkZGluZzoxMnB4IDIwcHggMTJweCAxMHB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbjpob3ZlciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntvcGFjaXR5OjF9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvZ2dsZWQgLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JhY2tncm91bmQ6cmdiYSgzMSwzMSwzMSwuNSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjE4cHg7bGV0dGVyLXNwYWNpbmc6MDttYXJnaW46OXB4IDA7cGFkZGluZzo4cHggMTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uOmhvdmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JvdHRvbTo0NnB4O3JpZ2h0OjIwcHh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyLWdyYWRpZW50c3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNDAlLHJnYmEoMCwwLDAsLjc1KSksY29sb3Itc3RvcCg5OSUscmdiYSgwLDAsMCwwKSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXItYm90dG9tOm5vbmU7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwJTtvcGFjaXR5Oi44O3RvcDowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbjpiZWZvcmV7Y29udGVudDpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbnttYXJnaW46YXV0byAxMXB4IGF1dG8gYXV0bztwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luOmF1dG8gMDtwYWRkaW5nOjAgNHB4IDVweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXBsYXllci1vdmVybGF5LXRvcC1iYXItZ3JhZGllbnRzIC55dHAtdmlkZW8tYWQtdG9wLWJhci10aXRsZXstd2Via2l0LWZsZXg6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTt0ZXh0LWRlY29yYXRpb246bm9uZTtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweDttYXgtd2lkdGg6NTAlO2hlaWdodDoxNnB4O2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW46MTBweCA1cHggNXB4IDEwcHg7ei1pbmRleDo4NTA7b3BhY2l0eTouOX0ueXRwLWFkLWNsaWNrYWJsZS1lbGVtZW50OmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtYWQtdW5kZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEzMXB4O2xlZnQ6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gMjYycHgpO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjgwcHgpO3RvcDoxNDBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjIycHgpO3RvcDoxMTFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMTUwcHgpO3RvcDo3NXB4fS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXVuZGVybGF5e2hlaWdodDpjYWxjKDEwMCUgLSAxMjJweCk7dG9wOjYxcHh9Lnl0cC1hZC11bmRlcmxheS1jb21wYW5pb257aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRwLWFkLXVuZGVybGF5LXNpZGUtY29udGFpbmVye2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOjEyNXB4O3BhZGRpbmctYm90dG9tOjEyNXB4fS55dHAtYWQtdW5kZXJsYXktbGVmdC1jb250YWluZXJ7bWFyZ2luLWxlZnQ6MiU7cGFkZGluZy1yaWdodDoyJX0ueXRwLWFkLXVuZGVybGF5LXJpZ2h0LWNvbnRhaW5lcnttYXJnaW4tbGVmdDo1Mi41JX0ueXRwLWFkLXVuZGVybGF5LWltYWdlLWNvbnRhaW5lcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDo3MnB4O21pbi13aWR0aDo3MnB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTQ0cHg7bWF4LWhlaWdodDoxNDRweDstd2Via2l0LWZsZXgtc2hyaW5rOjI7ZmxleC1zaHJpbms6MjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXVuZGVybGF5LWltYWdle3BvaW50ZXItZXZlbnRzOmF1dG87bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmUtY29udGFpbmVye3dpZHRoOjEwMCU7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToyLjV2dztmb250LXdlaWdodDo3MDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtd3JhcDpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KXsueXRwLWFkLXVuZGVybGF5LWhlYWRsaW5le2ZvbnQtc2l6ZTo0MHB4fX0ueXRwLWFkLXVuZGVybGF5LWRlc2NyaXB0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BhZGRpbmctYm90dG9tOjQwcHh9Lnl0cC1hZC11bmRlcmxheS1kZXNjcmlwdGlvbi1jb250YWluZXJ7LXdlYmtpdC1mbGV4LXNocmluazoxO2ZsZXgtc2hyaW5rOjF9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXVuZGVybGF5LWNsaWNrYWJsZXt6LWluZGV4Ojg1MH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxOHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDtoZWlnaHQ6MzZweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tbWVkaXVte2JvcmRlci1yYWRpdXM6MjRweDtmb250LXNpemU6MThweDtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWxhcmdle2JvcmRlci1yYWRpdXM6MzJweDtmb250LXNpemU6MjJweDtwYWRkaW5nLWxlZnQ6MjRweDtwYWRkaW5nLXJpZ2h0OjI0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U5ZTllOX0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6IzAzMDMwMztib3JkZXItcmFkaXVzOjJweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NmI4ZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b246Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoycHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjM2VhNmZmO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzNlYTZmZn0uaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmd7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIDEuNXMsaGVpZ2h0IDEuNXMsbGVmdCAxLjVzLHRvcCAxLjVzO3RyYW5zaXRpb246d2lkdGggMS41cyxoZWlnaHQgMS41cyxsZWZ0IDEuNXMsdG9wIDEuNXN9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLXRyYW5zaXRpb257ei1pbmRleDotMX0uY29sb3ItY29udHJhc3QtZml4Lnl0cC1hZC1zdXJ2ZXl7YmFja2dyb3VuZC1jb2xvcjpibGFja30uY29sb3ItY29udHJhc3QtZml4IC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLWJhY2tncm91bmR7b3BhY2l0eTo2MCV9LmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24sLmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2NvbG9yOndoaXRlfS5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDp3aGl0ZX0ueXRwLWFkLWJhZGdle2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IsK3IjtwYWRkaW5nLWlubGluZTo0cHh9Lnl0cC1hZC1iYWRnZV9fcG9kLWluZGV4OmJlZm9yZXtjb250ZW50OiLCtyI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLWJhZGdlLS1zdGFya3tjb2xvcjojZmZmO29wYWNpdHk6Ljc1O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1iYWRnZS0tc3RhcmsgLnl0cC1hZC1iYWRnZV9fdGV4dHtmb250LXdlaWdodDo3MDB9Lnl0cC1hZC1iYWRnZS0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXJ7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjhweDt0ZXh0LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjUpO2xldHRlci1zcGFjaW5nOi4zNXB4fS55dHAtYWQtYmFkZ2UtLXN0YXJrLWNsZWFuLXBsYXllciAueXRwLWFkLWJhZGdlX190ZXh0LS1jbGVhbi1wbGF5ZXJ7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXItaW9ze2xldHRlci1zcGFjaW5nOi4xcHh9Lnl0cC1hZC1ncmlkLWNhcmQtY29sbGVjdGlvbntkaXNwbGF5OmdyaWQ7Z2FwOjhweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dHttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1hbGlnbi1zZWxmOnN0cmV0Y2g7YWxpZ24tc2VsZjpzdHJldGNoOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fYnV0dG9ue21hcmdpbjoxMnB4IDE2cHggMTJweCAxMnB4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MTttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHg7bWluLXdpZHRoOjB9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2hlYWRsaW5le2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxLjhyZW07LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbiA6Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjFweDt3aWR0aDotd2Via2l0LW1heC1jb250ZW50O3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9uIDpub3QoOmZpcnN0LWNoaWxkKXstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxfS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbl9fbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ueXRwLWFkLXBvZC1pbmRleHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDtsZWZ0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1wb2QtaW5kZXg6YmVmb3Jle2NvbnRlbnQ6IuKAoiI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLXBvZC1pbmRleC0tc3Rhcmt7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjI4cHg7dGV4dC1zaGFkb3c6MCAwIDE2cHggcmdiYSgwLDAsMCwuNSk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWFkLXBvZC1pbmRleC0tbXdlYntmb250LXdlaWdodDo2MDB9Lnl0cC1hZC1wb2QtaW5kZXgtLW13ZWItaW9ze2xldHRlci1zcGFjaW5nOi0uMnB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wb2QtaW5kZXgtLWF1dG9oaWRle2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Zm9udC13ZWlnaHQ6NTAwO2JvcmRlcjpub25lOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYWQtYnV0dG9uLXZtX190ZXh0e3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWFkLWJ1dHRvbi12bV9faWNvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0e2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MCAxMnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWNvbXBhY3QgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS10cmFpbGluZ3std2Via2l0LW1hcmdpbi1zdGFydDo0cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7LXdlYmtpdC1tYXJnaW4tZW5kOi00cHg7bWFyZ2luLWlubGluZS1lbmQ6LTRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS1sZWFkaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0Oi00cHg7bWFyZ2luLWlubGluZS1zdGFydDotNHB4Oy13ZWJraXQtbWFyZ2luLWVuZDo0cHg7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHR7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1zaXplOjE0cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtZGVmYXVsdCAueXRwLWFkLWJ1dHRvbi12bV9faWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLXRyYWlsaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjZweDstd2Via2l0LW1hcmdpbi1lbmQ6LTZweDttYXJnaW4taW5saW5lLWVuZDotNnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LTZweDttYXJnaW4taW5saW5lLXN0YXJ0Oi02cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjZweDttYXJnaW4taW5saW5lLWVuZDo2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2V7aGVpZ2h0OjQ4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHg7Zm9udC1zaXplOjE4cHg7cGFkZGluZzowIDI0cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1sYXJnZSAueXRwLWFkLWJ1dHRvbi12bV9faWNvbi0tdHJhaWxpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6OHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6OHB4Oy13ZWJraXQtbWFyZ2luLWVuZDotOHB4O21hcmdpbi1pbmxpbmUtZW5kOi04cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LThweDttYXJnaW4taW5saW5lLXN0YXJ0Oi04cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLXRyYW5zcGFyZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtdHJhbnNwYXJlbnQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yKX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDU1NmJmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtd2hpdGV7Y29sb3I6IzBmMGYwZjtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjF9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOWQ5ZDl9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZDlkOWQ5fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6cmdiKDE1LDE1LDE1KX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVkLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNjViOGZmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZHtjb2xvcjojZjFmMWYxO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtbW9uby1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHl7cGFkZGluZzowfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHkgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtwYWRkaW5nOjAgNnB4fS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjZmJjMDJkO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXRwLWFkLWRpc2Nsb3N1cmUtYmFubmVyX190ZXh0e2JhY2tncm91bmQ6bm9uZTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxZW07cGFkZGluZzo4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJfX2NoZXZyb257LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC40KTtib3R0b206ODZweDtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDo1MnB4O2xpbmUtaGVpZ2h0OjUycHg7bWluLXdpZHRoOjgwcHg7b3BhY2l0eToxO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3otaW5kZXg6NDV9Lnl0cC1lbWJlZCAueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7Ym90dG9tOjc4cHh9Lnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLWJpZy1tb2RlIC55dHAtYWQtbm90aWZpY2F0aW9uLWNvbnRhaW5lcntib3R0b206OTVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVye2JvdHRvbToyNXB4fS55dHAtcHJldmlldy1hZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtjdXJzb3I6ZGVmYXVsdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtcHJldmlldy1hZFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJldmlldy1hZF9fdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouMXB4O3BhZGRpbmc6MCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtcHJldmlldy1hZF9fdGV4dC0tZm9udC0tc21hbGx7Zm9udC1zaXplOjEycHg7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjB9Lnl0cC1wcmV2aWV3LWFkX190ZXh0LS1wYWRkaW5nLS13aWRle3BhZGRpbmc6MCAxNHB4fS55dHAtcHJldmlldy1hZF9faW1hZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjY1cHg7aGVpZ2h0OjM2cHg7LW8tb2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtZml0OmNvdmVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXByZXZpZXctYWR7cmlnaHQ6MTJweDtib3R0b206NzVweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9Lnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcHJldmlldy1hZHtib3R0b206MjVweH0ueXRwLWF1dG9oaWRlIC55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLWF1dG9oaWRle2Rpc3BsYXk6bm9uZX0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRze2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJ7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZy1sZWZ0OjY0cHg7cGFkZGluZy1yaWdodDo2NHB4O21hcmdpbi1sZWZ0OmNhbGMoNjAlICsgMTZweCl9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2hlYWRlcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19hZF9hdmF0YXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tcmlnaHQ6MTZweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19oZWFkbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2J1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjI0cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2dyaWRfY2FyZF9jb2xsZWN0aW9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O292ZXJmbG93OmhpZGRlbiBhdXRvfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHNfX2NvbnRlbnRfY29udGFpbmVyX19hZF9idXR0b24+YnV0dG9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHMgLnl0cC1hZC1hdmF0YXItLXNpemUtcmVzcG9uc2l2ZXt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dHAtaW1hZ2UtYmFja2dyb3VuZC0tZ3JhZGllbnQtdmVydGljYWx7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjEycHg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjk1KTtjdXJzb3I6cG9pbnRlcjttYXgtd2lkdGg6NDAwcHg7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0tbGFyZ2V7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7bWluLXdpZHRoOjIwMHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7d2lkdGg6MDttYXgtd2lkdGg6MH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fYXZhdGFyX2FuZF90ZXh0X2NvbnRhaW5lci0tbGFyZ2V7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1zZWxmOnN0YXJ0O2FsaWduLXNlbGY6c3RhcnR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2FkX2F2YXRhci0tbGFyZ2V7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fdGV4dF9jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MCAyMHB4IDAgOHB4O21heC13aWR0aDoxOTJweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7Y29sb3I6IzBmMGYwZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZS0tbGFyZ2V7Y29sb3I6I2RkZH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWxhcmdle2NvbG9yOiNkZGR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17bWF4LXdpZHRoOjE0MHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdle21hcmdpbi10b3A6OHB4O21pbi13aWR0aDoxMDAlOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiMwZjBmMGY7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzY1YjhmZn0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJke29wYWNpdHk6Ljg2O3BhZGRpbmc6OHB4O21pbi1oZWlnaHQ6NDBweDttYXgtd2lkdGg6MTkwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQtLWxhcmdle21pbi13aWR0aDphdXRvfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0taW5hY3RpdmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXt3aWR0aDowO21heC13aWR0aDowfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZCAueXRwLWFkLWJ1dHRvbi12bSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9faGVhZGxpbmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbntmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWhpZGRlbi0taW4tLXNtYWxsLS1wbGF5ZXIsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbi0taGlkZGVuLS1pbi0tc21hbGwtLXBsYXllcntkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX190ZXh0X2NvbnRhaW5lciwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX3RleHRfY29udGFpbmVye3BhZGRpbmc6MCA0cHggMCA2cHg7bWF4LXdpZHRoOjE0NnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2Rlc2NyaXB0aW9ue2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0zcHg7d2lkdGg6MTAwJTtoZWlnaHQ6M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMik7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1wcm9ncmVzcy1iYXIgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXIsLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBlcnNpc3RlbnQtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntvcGFjaXR5OjE7Ym90dG9tOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6IzIyMjtoZWlnaHQ6NHB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVyLS1jbGVhbi1wbGF5ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjIyO2hlaWdodDozcHh9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmMwfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7bGVmdDoxMnB4O2JvdHRvbToxMnB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTo2NXB4O2N1cnNvcjpkZWZhdWx0O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3otaW5kZXg6ODUwOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1kdXJhdGlvbi1yZW1haW5pbmd7bWFyZ2luLWxlZnQ6MH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo5NXB4O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3NraXAtb3ItcHJldmlldy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2N1cnNvcjpkZWZhdWx0O2hlaWdodDphdXRvO2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MnB4O3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0IC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7ei1pbmRleDoyN30ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206NzRweDtsZWZ0OjQwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6NDBweDtib3R0b206MTA0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtZGlzY2xvc3VyZS1iYW5uZXItY29udGFpbmVye2xlZnQ6NDBweDt0b3A6NjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTJweDtib3R0b206NDVweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3BsYXllci1jYXJkLWNvbnRhaW5lcntsZWZ0OjEycHg7Ym90dG9tOjc1cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7bGVmdDoxMnB4O3RvcDoxMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXBvZC1pbmRleCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1wb2QtaW5kZXgsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNTBweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206OXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206MzlweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWRpc2Nsb3N1cmUtYmFubmVyLWNvbnRhaW5lcntsZWZ0OjE2cHg7dG9wOjE2cHh9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbToxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo0NXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjNweHZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpMjRweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc21hbGwtbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1zbWFsbC1tb2RlLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOjdweH0ueXRwLXNtYWxsLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjM3cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHhze3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHN7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS1ze3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1hZC1hdmF0YXItLXNpemUtbXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtYWQtYXZhdGFyLS1zaXplLWx7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS14bHt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtYWQtYXZhdGFyLS1jaXJjdWxhcntib3JkZXItcmFkaXVzOjUwJX0ueXRwLWFkLWF2YXRhci0tcm91bmRlZC1jb3JuZXJ7Ym9yZGVyLXJhZGl1czoyMCV9Lnl0cC1hZC1kZXRhaWxzLWxpbmV7ZGlzcGxheTpibG9ja30ueXRwLWFkLWRldGFpbHMtbGluZV9fdGV4dC0tc3R5bGUtc3RhbmRhcmR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXR7ei1pbmRleDo2NDtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2JhY2tncm91bmQtaW1hZ2UtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1pbWFnZS1iYWNrZ3JvdW5kLWltYWdle2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2t9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50e3otaW5kZXg6NjU7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jaztsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMTVweDt3aWR0aDo0MzBweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWF2YXRhci1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2hlYWRsaW5le3BhZGRpbmc6MjhweCAwIDEwcHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjhweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2RldGFpbHMtbGluZS1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo2cHggMDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2luc3RyZWFtLWluZm8tY29udGFpbmVye2JvdHRvbTo2cHg7Y3Vyc29yOmRlZmF1bHQ7bGVmdDoxOHB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSk7ei1pbmRleDo4NTA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWJhZGdlOmFmdGVye3BhZGRpbmctcmlnaHQ6dW5zZXR9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYmFkZ2V7bWFyZ2luLWxlZnQ6NXB4fS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWRldGFpbHMtbGluZXtwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYnV0dG9uLXZtOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX3RpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NjV9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6NjRweDtoZWlnaHQ6NjRweH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1hZC1kZXRhaWxzLWxpbmVfX3RleHQtLXN0eWxlLXJlc3BvbnNpdmV7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jazt0b3A6NTAlO3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi1sZWZ0OjA7bGVmdDowO3RleHQtYWxpZ246bGVmdDt3aWR0aDoyNDVweDtwYWRkaW5nOjAgMCAwIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19hZC1hdmF0YXItY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOjAgYXV0byAwIC02cHg7cGFkZGluZzo2cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6LXdlYmtpdC1tYXgtY29udGVudDt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50fS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG8gMCAwfS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmV7cGFkZGluZzoxMHB4IDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19kZXRhaWxzLWxpbmUtY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNraXAtYWR7ei1pbmRleDo4NTB9Lnl0cC1za2lwLWFkLWJ1dHRvbntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztib3JkZXI6bm9uZTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2NvbG9yOiNmZmY7ZGlyZWN0aW9uOmx0cjttaW4td2lkdGg6MDtwYWRkaW5nOjAgNnB4IDAgMTZweDt3aWR0aDphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXNraXAtYWQtYnV0dG9uW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgyNTUsMjU1LDI1NSwuMikpLHRvKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSksLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoMTUsMTUsMTUpKSx0byhyZ2IoMTUsMTUsMTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiKDE1LDE1LDE1KSxyZ2IoMTUsMTUsMTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1c3tiYWNrZ3JvdW5kOnJnYigxNSwxNSwxNSk7b3V0bGluZTpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLXNraXAtYWQtYnV0dG9uOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC55dHAtc2tpcC1hZC1idXR0b25fX2ljb24gc3ZnIHBhdGh7ZmlsbDojMGYwZjBmfS55dHAtc2tpcC1hZC1idXR0b25fX3RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0Om5vcm1hbDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1za2lwLWFkLWJ1dHRvbl9faWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2tpcC1hZC1idXR0b246YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1za2lwLWFkLWJ1dHRvbntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1za2lwLWFkLWJ1dHRvbiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KXZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1za2lwLWFkLWJ1dHRvbntyaWdodDoxMnB4O2JvdHRvbTo3NXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9c3ZnLnl0cC10aW1lZC1waWUtY291bnRkb3due2JhY2tncm91bmQ6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6MjBweDtvcGFjaXR5Oi40Oy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3dpZHRoOjIwcHh9Y2lyY2xlLnl0cC10aW1lZC1waWUtY291bnRkb3duX19iYWNrZ3JvdW5ke3N0cm9rZTpub25lO2ZpbGw6bm9uZX1jaXJjbGUueXRwLXRpbWVkLXBpZS1jb3VudGRvd25fX2lubmVye2ZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTBweDtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtdGltZWQtcGllLWNvdW50ZG93bl9fb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZTpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmt7Y29sb3I6I2ZmZjtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4tbGVmdDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lOy13ZWJraXQtYWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24taXRlbXM6YmFzZWxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbms6YmVmb3Jle2NvbnRlbnQ6IiI7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LThweH0ueXRwLXZpc2l0LWFkdmVydGlzZXItbGluazpob3ZlciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eToxO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OjAgMCAxNnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtaXYtdmlkZW8tY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWl2LXZpZGVvLWNvbnRlbnQgLnZpZGVvLWFubm90YXRpb25ze2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDt3aWR0aDoxMDAlfS5hbm5vdGF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiMwMDA7cGFkZGluZzo1cHg7dGV4dC1hbGlnbjpsZWZ0O3dvcmQtd3JhcDpicmVhay13b3JkO3otaW5kZXg6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnZpZGVvLWxlZ2FjeS1hbm5vdGF0aW9ucyAuYW5ub3RhdGlvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MTZweDtsZWZ0OjA7b3BhY2l0eTouODU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTZweH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b246aG92ZXJ7b3BhY2l0eToxfS5hbm5vdGF0aW9uLWxpbmstaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtc2l6ZTpjb250YWluO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uLXR5cGUtY3VzdG9te3BhZGRpbmc6MDtjdXJzb3I6ZGVmYXVsdH0uYW5ub3RhdGlvbi10eXBlLWN1c3RvbT5kaXZ7ZmxvYXQ6bGVmdDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5pdi1jbGljay10YXJnZXR7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLml2LWJyYW5kaW5nLC55dHAtYWQtb3ZlcmxheS1vcGVuIC5pdi1wcm9tb3tkaXNwbGF5Om5vbmV9Lml2LWJyYW5kaW5ne2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDozMDtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4zM3M7dHJhbnNpdGlvbi1kZWxheTouMzNzfS55dHAtaXYtZHJhd2VyLW9wZW4gLml2LWJyYW5kaW5ne29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1vdXRlcntib3R0b206MDtmbG9hdDpsZWZ0O3BhZGRpbmctcmlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtYnJhbmRpbmcgLmJyYW5kaW5nLWNvbnRleHQtY29udGFpbmVyLWlubmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym90dG9tOjA7Y29sb3I6I2VlZTttYXgtd2lkdGg6MjQ2cHg7b3BhY2l0eTowO3JpZ2h0OjA7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci1yYWRpdXM6OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtYnJhbmRpbmctYWN0aXZlIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1pbm5lcntvcGFjaXR5OjE7Ym9yZGVyLXJhZGl1czo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVyIGltZ3tkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc7cG9zaXRpb246cmVsYXRpdmV9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVye2Zsb2F0OnJpZ2h0fS5pdi1icmFuZGluZyBpbWcuaXYtY2xpY2stdGFyZ2V0OmhvdmVye29wYWNpdHk6MX0uaXYtYnJhbmRpbmcgLml2LWJyYW5kaW5nLWNvbnRleHQtbmFtZXttYXgtd2lkdGg6MjE1cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDEwcHggNXB4fS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmV7cGFkZGluZzowIDEwcHggMTBweDtmb250LXNpemU6MTFweDtjb2xvcjojYWFhfS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmUtY2FyZXR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHQgLml2LWJyYW5kaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lml2LXByb21vLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucywuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmRpdiwuaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHh9Lml2LXByb21ve2JvdHRvbTo2MXB4O2xlZnQ6MDt6LWluZGV4OjMxO21heC13aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2NjYztmb250LXNpemU6MTFweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLml2LXByb21ve2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLml2LXByb21ve2JvdHRvbTo3MHB4fS5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjg2cHh9Lnl0cC1lbWJlZC5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjc4cHh9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYmlnLW1vZGUuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjk1cHh9Lml2LXByb21vOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cz5hLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+ZGl2LC5pdi1wcm9tbz5kaXZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmF7Y29sb3I6I2NjY30uaXYtcHJvbW8uaXYtcHJvbW8taW5hY3RpdmV7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1ne2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7ei1pbmRleDoxO3dpZHRoOjQwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHAsLml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZywuaXYtcHJvbW8gLml2LXByb21vLWltZyAuaXYtcHJvbW8tcGxheWxpc3QtbGVuZ3RoLC5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby1iYWRnZS1saXZle21hcmdpbjo0cHggOHB4IDA7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JhY2tncm91bmQtY29sb3I6I2U2MjExNztjb2xvcjojZmZmfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGgsLml2LXByb21vIC5pdi1wcm9tby1pbWcgLml2LXByb21vLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGh7dG9wOjA7cmlnaHQ6MDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMjUpO3dpZHRoOjMwcHg7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDo0MHB4fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntib3R0b206MnB4O3JpZ2h0OjJweDtwYWRkaW5nOjNweCAycHg7bWF4LXdpZHRoOjMycHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLXJpZ2h0OjMxcHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6MzExcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1heC13aWR0aCAuMnMgZWFzZS1vdXQscGFkZGluZy1yaWdodCAuMnMgZWFzZS1vdXQ7dHJhbnNpdGlvbjptYXgtd2lkdGggLjJzIGVhc2Utb3V0LHBhZGRpbmctcmlnaHQgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLWxlZnQ6NDBweDttYXgtd2lkdGg6MzUxcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tYnV0dG9uLWNvbnRhaW5lciwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7ZGlyZWN0aW9uOmx0cjttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgcHttYXJnaW46M3B4IDhweCAtNHB4O2xpbmUtaGVpZ2h0OjE4cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZ3tjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMnB4fS5pdi1wcm9tby10eHQgcCBzcGFuLC5pdi1wcm9tby10eHQgcCBzdHJvbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjI2NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1wcm9tby13aXRoLWJ1dHRvbiAuaXYtcHJvbW8tdHh0IHAgc3BhbiwuaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLXR4dCBwIHN0cm9uZ3ttYXgtd2lkdGg6MTg0cHh9Lml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHNwYW4sLml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHN0cm9uZ3ttYXJnaW4tYm90dG9tOi02cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MjBweDttYXgtd2lkdGg6MjQ0cHg7Y29sb3I6I2ZmZDEwMH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDowO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQ6aG92ZXIgLml2LXByb21vLWxpbms6YWZ0ZXJ7b3BhY2l0eToxfS5pdi1wcm9tby1idXR0b24tY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjMxcHh9Lml2LWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjhweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6MCAxMHB4O291dGxpbmU6MDtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxMXB4O3RleHQtZGVjb3JhdGlvbjpub25lO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXI7Km92ZXJmbG93OnZpc2libGU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4wNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5pdi1idXR0b246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWJ1dHRvbjpmb2N1cywuaXYtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KTtib3gtc2hhZG93OjAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjQpfS5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzLC5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uaXYtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0uaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7b3BhY2l0eTouNTtjdXJzb3I6YXV0bzstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lml2LWJ1dHRvbiwuaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOiMxNjdhYzY7YmFja2dyb3VuZDojMTY3YWM2O2NvbG9yOiNmZmZ9Lml2LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiMxMjZkYjN9Lml2LWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0uaXYtYnV0dG9uIC5pdi1idXR0b24tY29udGVudHtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc31hLml2LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTAwJX0uaXYtcHJvbW8tYnV0dG9ue3dpZHRoOjY0cHg7bWFyZ2luOjZweCA4cHh9Lml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2UsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmR7dG9wOjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnN7d2lkdGg6MzFweH0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tZXhwYW5ke2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXIsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmQ6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2V7b3BhY2l0eToxfS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXJ7bWFyZ2luOjE2cHggMTBweCAxNXB4IDEycHg7b3BhY2l0eTouNX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZDphZnRlcnttYXJnaW46MTZweCAxMnB4IDE1cHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcsLml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcgaW1ne3dpZHRoOjcxcHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctbGVmdDo3MXB4O21heC13aWR0aDozODJweH0uaXYtcHJvbW8uaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZy1yaWdodDo4MHB4fS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZCwuaXYtcHJvbW8uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1jb250ZW50c3std2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjVzO3RyYW5zaXRpb24tZGVsYXk6LjVzfS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MjhweDttYXgtd2lkdGg6MCFpbXBvcnRhbnR9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aXtsZWZ0OjE2cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHtwYWRkaW5nLWxlZnQ6NjBweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2xpbmUtaGVpZ2h0OjY0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSwueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cz5hLC55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NjRweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b257bWluLXdpZHRoOjExMHB4O2hlaWdodDozNnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZ3t0b3A6NnB4O2xlZnQ6NnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1pbWcgaW1ne2hlaWdodDo1MnB4O3dpZHRoOjUycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7Zm9udC1zaXplOjE2cHg7cGFkZGluZy10b3A6NHB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbntmb250LXNpemU6MTVweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjEycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttaW4td2lkdGg6MjIwcHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjM4cHg7bGVmdDo0MnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbnttYXJnaW46MCAxMnB4IDAgMH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbnt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtsZWZ0OjEycHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3ttYXgtd2lkdGg6NDAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjVzLG1heC13aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRzey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNXM7dHJhbnNpdGlvbi1kZWxheTouNXN9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXIgLml2LXByb21vLWNvbnRlbnRze2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttYXgtd2lkdGg6MjUwcHg7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWxlZnQ6NTJweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBwe2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOjE1MHB4O2xpbmUtaGVpZ2h0OjU2cHg7cG9zaXRpb246c3RhdGljfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b257bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjowIDhweCAwIDB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWFjdGlvbnMsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7ZGlzcGxheTpub25lfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduLC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cywuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+ZGl2e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjU2cHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZ3toZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3RvcDo0cHg7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLXJvdW5kLWV4cGFuZC1pY29ue29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nLWxlZnQ6MDt6LWluZGV4Ojg1MDtoZWlnaHQ6MThweDt3aWR0aDoxOHB4O2JvcmRlci1yYWRpdXM6NTAlO3RvcDozNHB4O2xlZnQ6MzhweDtiYWNrZ3JvdW5kLWNvbG9yOiM0Njg4ZjE7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAycHggMCByZ2JhKDAsMCwwLC4xMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMjQpO2JveC1zaGFkb3c6MCAwIDJweCAwIHJnYmEoMCwwLDAsLjEyKSwwIDJweCAycHggMCByZ2JhKDAsMCwwLC4yNCk7b3BhY2l0eTowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbjphZnRlcntkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiJ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgc3Ryb25ne2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjJweDtjb2xvcjojMzMzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3BhZGRpbmc6OHB4IDIwcHggMCAwO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiM3Njc2NzZ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWNvbnRlbnRze3dpZHRoOjB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWltZ3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1pbmFjdGl2ZSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzLC55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZywueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZzo0cHggNHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7cGFkZGluZy10b3A6MDtmb250LXNpemU6MTJweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbmt7cGFkZGluZy10b3A6NHB4O2ZvbnQtc2l6ZToxMXB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjI2cHg7bGVmdDozMHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1ne3RvcDowO2xlZnQ6MH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWd7b3BhY2l0eTouODstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzfS5pdi1kcmF3ZXIsLml2LWRyYXdlci1jb250ZW50LC5pdi1kcmF3ZXItaGVhZGVye3Bvc2l0aW9uOmFic29sdXRlfS5pdi1kcmF3ZXJ7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDt6LWluZGV4OjMzO3dpZHRoOjE3N3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMik7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtZHJhd2VyLXNtYWxsLml2LWRyYXdlcnt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZy5pdi1kcmF3ZXJ7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MjRweDt3aWR0aDoyOTVweH1bZGlyPWx0cl0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTc3cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KX1bZGlyPXJ0bF0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE3N3B4KX0ueXRwLWF1dG9oaWRlLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye2Rpc3BsYXk6bm9uZX0uaXYtZHJhd2VyLWNvbnRlbnQgKnt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1pdi1kcmF3ZXItb3BlbiAuaXYtZHJhd2Vyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0uaXYtZHJhd2VyLWhlYWRlcnt0b3A6MDtwYWRkaW5nOjE2cHggMzJweCAwIDE2cHg7d2lkdGg6MTc3cHg7aGVpZ2h0OjQxcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjlweCAyNHB4IDAgMTJweDtoZWlnaHQ6MjhweDt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjIwcHggNDhweCAwIDMycHg7aGVpZ2h0OjY0cHg7d2lkdGg6Mjk1cHh9Lml2LWRyYXdlci1oZWFkZXItdGV4dHtmb250LXdlaWdodDo1MDA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaHRtbDUtdmlkZW8tcGxheWVyIC5pdi1kcmF3ZXItaGVhZGVyey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtZHJhd2VyLWNvbnRlbnR7dG9wOjQxcHg7Ym90dG9tOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzowIDE2cHg7d2lkdGg6MTQ1cHg7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2RpcmVjdGlvbjpsdHI7dGV4dC1hbGlnbjpsZWZ0fS5pdi1kcmF3ZXItc21hbGwgLml2LWRyYXdlci1jb250ZW50e3BhZGRpbmc6MCAxMnB4O3RvcDoyOHB4O3dpZHRoOjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1kcmF3ZXItY29udGVudHtwYWRkaW5nOjAgMzJweDt0b3A6NjRweDt3aWR0aDoyMzFweH0uaXYtZHJhd2VyLXNjcm9sbGVkIC5pdi1kcmF3ZXItY29udGVudHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNCl9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAyLDEwMiwxMDIsLjUpfS5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWF1dG9oaWRlIC5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtZHJhd2VyLWNvbnRlbnQ6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzY2NiFpbXBvcnRhbnR9Lml2LWRyYXdlci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtwYWRkaW5nOjE2cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXJ9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjhweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjI0cHh9Lml2LWRyYXdlci1jbG9zZS1idXR0b246YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1kcmF3ZXItY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0uaXYtY2FyZCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpmb2N1cywuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpob3ZlcntkaXNwbGF5OmJsb2NrO2NvbG9yOiM3Njc2NzY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWNhcmR7bWFyZ2luLWJvdHRvbToxNnB4O3dpZHRoOjE0NXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7d29yZC13cmFwOmJyZWFrLXdvcmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czo4cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZHt3aWR0aDoxMDlweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZHt3aWR0aDoyMzFweH0uaXYtY2FyZDpob3ZlciAuaXYtY2FyZC1wcmltYXJ5LWxpbmt7Y29sb3I6IzE2N2FjNiFpbXBvcnRhbnR9Lml2LWNhcmQgaDIsLml2LWNhcmQtYWN0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53ZWJraXQgLml2LWNhcmQgaDI6YWZ0ZXIsLndlYmtpdCAuaXYtY2FyZC1hY3Rpb246YWZ0ZXJ7Y29udGVudDoi4oCMIjtwb3NpdGlvbjpzdGF0aWM7dmlzaWJpbGl0eTpoaWRkZW59Lml2LWNhcmQgaDJ7bWFyZ2luOjAgMCA4cHg7LXdlYmtpdC1saW5lLWNsYW1wOjY7bWF4LWhlaWdodDo5MHB4O2NvbG9yOiMzMzM7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZCBoMntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NzJweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZCBoMntmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6MTQ0cHh9Lml2LWNhcmQgLml2LWNhcmQtYWN0aW9uLC5pdi1jYXJkIC5pdi1jYXJkLW1ldGEtaW5mbywuaXYtY2FyZCBwe21hcmdpbjotNnB4IDAgMnB4fS5pdi1jYXJkLW1ldGEtaW5mb3tsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowfS5pdi1jYXJkLWltYWdle3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlMmUyZTI7d2lkdGg6MTQ1cHg7aGVpZ2h0OjE0NXB4O2JhY2tncm91bmQ6I2YxZjFmMSBuby1yZXBlYXQgNTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtjb2xvcjojZmZmfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2V7d2lkdGg6MTA5cHg7aGVpZ2h0OjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWltYWdle3dpZHRoOjIzMXB4O2hlaWdodDoyMzFweH0uaXYtY2FyZC1pbWFnZS10ZXh0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3BhZGRpbmc6MjBweCAxMHB4IDhweDt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsLjYpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCx0cmFuc3BhcmVudCksdG8ocmdiYSgwLDAsMCwuNikpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCxyZ2JhKDAsMCwwLC42KSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2UtdGV4dHtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1pbWFnZS10ZXh0e2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIwcHg7cGFkZGluZzoxMnB4IDE2cHh9Lml2LWNhcmQtaW1hZ2UtdGV4dCAueXQtYmFkZ2V7bWFyZ2luLXJpZ2h0OjVweH0uaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6OHB4IDEwcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6MTJweCAxNnB4fS5pdi1jYXJkLWNvbnRlbnQ+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uaXYtY2FyZC1jb250ZW50PjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaXYtY2FyZC1hY3Rpb24sLml2LWNhcmQtbWVzc2FnZXtmb250LXdlaWdodDo1MDB9Lml2LWNhcmQtbWVzc2FnZXttYXJnaW4tYm90dG9tOjhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTJlMmUyO3BhZGRpbmctYm90dG9tOjhweH0uaXYtY2FyZC1hY3Rpb257LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDo1MnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWFjdGlvbntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1hY3Rpb257Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0OjgwcHh9Lml2LWNhcmQtYWN0aW9uIHNwYW57d2hpdGUtc3BhY2U6bm9ybWFsfS5pdi1jYXJkLWFjdGlvbi1pY29ue3BhZGRpbmc6MCAwIDAgMzBweDttaW4taGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyNHB4IGF1dG87YmFja2dyb3VuZC1zaXplOjI0cHggYXV0b30uaXYtY2FyZC1saW5rLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2t9Lml2LWNhcmQtZXBpc29kZSBoMiwuaXYtY2FyZC1tb3ZpZSBoMiwuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtY2FyZC12aWRlbyBoMnstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0OjQ1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtbW92aWUgaDIsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6MzZweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLW1vdmllIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6NzJweH0uaXYtY2FyZC1jaGFubmVsIGgyey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6MzBweH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDoyNHB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDo0OHB4fS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjgycHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC12aWRlbyAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6NjFweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIC5pdi1jYXJkLWltYWdle2hlaWdodDoxMjlweH0uaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MjA5cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MTU3cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjMzNXB4fS5pdi1jYXJkLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1cHg7cmlnaHQ6NXB4O3BhZGRpbmc6MnB4IDRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2Utb3ZlcmxheXtkaXNwbGF5OnRhYmxlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NjNweDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2NvbG9yOiNjZmNmY2Y7Zm9udC1zaXplOjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xpbmUtaGVpZ2h0OjIxcHh9Lml2LWNhcmQtcGxheWxpc3QtdmlkZW8tY291bnR7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaXYtY2FyZC1wbGF5bGlzdC12aWRlby1jb3VudDphZnRlcntkaXNwbGF5OmJsb2NrO21hcmdpbjphdXRvO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtY2FyZC1wb2xse3Bvc2l0aW9uOnJlbGF0aXZlfS5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjEyNXB4O2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wb2xsIHVse21heC13aWR0aDo4OXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjIxMXB4fS5pdi1jYXJkLXBvbGwgZmllbGRzZXR7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowfS5pdi1jYXJkLXBvbGwgbGFiZWx7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtwYWRkaW5nLWJvdHRvbTo1cHg7bWluLWhlaWdodDoxNHB4O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAwIHRvcCA1cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNDFOQ0lnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OEwzTjJaejQ9KTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAuaXYtY2FyZC1wb2xsIGxhYmVsLml2LWNhcmQtcG9sbC1jaG9pY2UtZm9jdXNlZHstd2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuNCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KX0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC12b3RlZCBsYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lml2LWNhcmQtcG9sbC5pdi1jYXJkLXBvbGwtdm90ZWQgbGFiZWwuaXYtY2FyZC1wb2xsLWNob2ljZS1jaGVja2Vke2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpFMk4yRmpOaUlnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OFkybHlZMnhsSUdONFBTSTRMalVpSUdONVBTSTRMalVpSUhJOUlqUXVNak1pSUdacGJHdzlJaU14TmpkaFl6WWlMejQ4TDNOMlp6ND0pO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0uaXYtY2FyZC1wb2xsIGlucHV0W3R5cGU9Y2hlY2tib3hde29wYWNpdHk6MDt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O21hcmdpbjo1cHggMCAwO2Zsb2F0OmxlZnR9Lml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6MjVweDtwYWRkaW5nLXRvcDo4cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e3BhZGRpbmctdG9wOjJweH0uaXYtY2FyZC1wb2xsIGxpK2xpe21hcmdpbi10b3A6OHB4fS5pdi1jYXJkLXBvbGwgLml2LWNhcmQtcG9sbC1yZXN1bHR7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6I2RmZGZkZjt2aXNpYmlsaXR5OmhpZGRlbn0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtcmVzdWx0IC5pdi1jYXJkLXBvbGwtcmVzdWx0LWJhcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzE2N2FjNjstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW1zLXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5pdi1jYXJkLXBvbGwuaXYtY2FyZC1wb2xsLWV4cGFuZGVkIC5pdi1jYXJkLXBvbGwtcmVzdWx0e3Zpc2liaWxpdHk6dmlzaWJsZX0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtY2hvaWNlLXBlcmNlbnR7ZGlzcGxheTpub25lO2Zsb2F0OnJpZ2h0O21hcmdpbi1sZWZ0OjVweH0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC1leHBhbmRlZCAuaXYtY2FyZC1wb2xsLWNob2ljZS1wZXJjZW50e2Rpc3BsYXk6YmxvY2t9Lml2LWNhcmQtc2lnbi1pbnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cGFkZGluZzo4cHggMTBweH0uaXYtY2FyZC1zaWduLWluIHB7bWFyZ2luOjAgMCA4cHh9Lml2LWNhcmQtc2lnbi1pbiBhe2NvbG9yOiNmZmZ9Lml2LWNhcmQtdW5hdmFpbGFibGU6aG92ZXIgLml2LWNhcmQtY29udGVudCwuaXYtY2FyZC11bmF2YWlsYWJsZTpob3ZlciAuaXYtY2xpY2stdGFyZ2V0e3Zpc2liaWxpdHk6aGlkZGVufS5pdi1jYXJkLXVuYXZhaWxhYmxlOmhvdmVyIC5pdi1jYXJkLXNpZ24taW57dmlzaWJpbGl0eTp2aXNpYmxlfS5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyLC5pdi1jYXJkLXNwb25zb3JlZHtwb3NpdGlvbjpyZWxhdGl2ZX0uaXYtY2FyZC1zcG9uc29yZWR7bWFyZ2luOjAgMCA4cHg7Y29sb3I6Izk5OX0uaXYtYWQtaW5mby1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NnB4fS5pdi1hZC1pbmZvLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweH0uaXYtYWQtaW5mb3tib3R0b206MjFweDtsZWZ0OjA7cmlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkICMwMDA7cGFkZGluZzo3cHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEycHh9Lml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGEsLml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNn0uaXYtYWQtaW5mby1jb250YWluZXIgLml2LWFkLWluZm8gYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7bGVmdDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3dpZHRoOjA7aGVpZ2h0OjB9Lml2LWFkLWluZm8tY2FsbG91dHtib3R0b206MTZweDtib3JkZXItdG9wLWNvbG9yOiMwMDB9Lml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7Y29udGVudDoiIjtib3R0b206MTdweDtib3JkZXItdG9wLWNvbG9yOiNmZmZ9Lml2LWFkLWluZm8sLml2LWFkLWluZm8tY2FsbG91dCwuaXYtYWQtaW5mby1pY29uLWNvbnRhaW5lcjphZnRlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyAuMXM7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIC4xc30uaXYtYWQtaW5mby1jb250YWluZXI6aG92ZXIgLml2LWFkLWluZm8sLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30uaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDo0NXB4O2NvbG9yOiM2NjZ9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7bWF4LWhlaWdodDozNnB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXByb2R1Y3QtbGlzdGluZyBoMnttYXgtaGVpZ2h0OjcycHh9Lml2LWNhcmQtb2ZmZXItcHJpY2V7bWFyZ2luLWJvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHg7Y29sb3I6IzMzM30uaXYtY2FyZC1vZmZlci1tZXJjaGFudHtjb2xvcjojMDk3YTQxfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNjBweDtoZWlnaHQ6Y2FsYygxMDAlIC0gMzlweCk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjAgYXV0bzt6LWluZGV4OjM3fS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e3dpZHRoOjEwMCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXstLXcydy1zdGFydC1iYWNrZ3JvdW5kLWNvbG9yOiMwMDA7LS13MnctZW5kLWJhY2tncm91bmQtY29sb3I6IzAwMDtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6MTBweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjI0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNvdW50ZG93bi1udW1iZXJ7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXItb25seSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LW5vLWFsdGVybmF0aXZlLWhlYWRlciAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgIzRjNGM0Yzstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjM2MHB4O2hlaWdodDoyMDJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsOmhvdmVyLC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGw6aG92ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtib3R0b206NHB4O3JpZ2h0OjRweDtwYWRkaW5nOjAgNHB4O2JvcmRlci1yYWRpdXM6MnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtjb2xvcjojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xldHRlci1zcGFjaW5nOi41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtbGlzdC1vdmVybGF5e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbG9hdDpyaWdodDt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtbWl4LXRleHR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDtmb250LXdlaWdodDo1MDA7bWFyZ2luLXRvcDozMCV9Lnl0cC1hdXRvbmF2LW1peC1pY29ue3dpZHRoOjQyJTtoZWlnaHQ6MzAlO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCMmFXVjNRbTk0UFNJd0lEQWdNellnTXpZaVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzbDBjQzF6ZG1jdGJXbDRJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxdmNHRmphWFI1UFNJdU1UVWlJSE4wY205clpTMTNhV1IwYUQwaU1pSXZQanh3WVhSb0lHbGtQU0o1ZEhBdGMzWm5MVzFwZUNJZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRJMUxqWTFJREU0WXkwdU1ESWdNaTR6TVMwdU9EY2dOQzQwTVMweUxqSTFJRFl1TURac0xqa3VPVFJqTVM0Mk9TMHhMamdnTWk0M0xUUXVNamNnTWk0M0xUZHpMVEV1TURFdE5TNHlNUzB5TGpjdE4yd3RMamt1T1ROQk9TNDFOQ0E1TGpVMElEQWdNQ0F4SURJMUxqWTFJREU0YlMweE5TNHpJREJqTGpBeExUSXVNekl1T0RZdE5DNDBNaUF5TGpJMUxUWXVNRGRzTFM0NUxTNDVNME14TUNBeE1pNDNPU0E1SURFMUxqSTNJRGtnTVRoek1TQTFMaklnTWk0M0lEZHNMamt0TGprMFl5MHhMak01TFRFdU5qVXRNaTR5TkMwekxqYzFMVEl1TWpVdE5pNHdObTB5TGpjZ01HTXRMakEwTFRFdU56TXVORGt0TXk0d09TQXhMak0xTFRRdU1td3RMamt0TGprMFl5MHhMakV6SURFdU1qWXRNUzQ0SURJdU9Ua3RNUzQ0SURVdU1UUWdNQ0F4TGpZM0xqWTNJRE11TkNBeExqZ2dOQzQyTm13dU9TMHVPVE5qTFM0NE5pMHhMakV5TFRFdU16a3RNaTQwTnkweExqTTFMVE11TnpOdE9TMDFMakUwTFM0NUxqazBZeTQ0TlNBeExqRXhJREV1TXpnZ01pNDBOeUF4TGpNMUlEUXVNaTR3TXlBeExqSTJMUzQxSURJdU5qRXRNUzR6TlNBekxqY3piQzQ1TGprell6RXVNVEl0TVM0eU5pQXhMamd0TWk0NU9TQXhMamd0TkM0Mk5pQXdMVEl1TVRVdExqWTRMVE11T0RndE1TNDRMVFV1TVRSdExUVXVOVFVnTWk0NElETXVOaUF4TGpnM0xUTXVOaUF5TGpNemVpSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjttYXJnaW46MCBhdXRvfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mb3ttYXJnaW4tdG9wOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206NnB4O21hcmdpbi1sZWZ0Oi0ycHg7d2lkdGg6NzRweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTNNQ0lnYUdWcFoyaDBQU0l4TmlJZ1ptbHNiRDBpYm05dVpTSStQSEpsWTNRZ2QybGtkR2c5SWpjd0lpQm9aV2xuYUhROUlqRTJJaUJtYVd4c1BTSWpabVptSWlCdmNHRmphWFI1UFNJdU1TSWdjbmc5SWpJaUx6NDhjR0YwYUNCbWFXeHNQU0lqWVdGaElpQmtQU0pOTWpBdU16VWdPQzQ0TTFZeE1tZ3RNUzQwT0ZZekxqUTNhRE11TWpaakxqazFJREFnTVM0M01TNHlOU0F5TGpJM0xqYzBMalUyTGpVdU9EUWdNUzR4Tmk0NE5DQXhMamszSURBZ0xqZzBMUzR5TnlBeExqUTVMUzQ0TWlBeExqazFMUzQxTlM0ME55MHhMak15TGpjdE1pNHpMamQ2YlRBdE1TNHhPV2d4TGpjNFl5NDFNeUF3SUM0NU15MHVNVElnTVM0eUxTNHpOeTR5T1MwdU1qVXVOREl0TGpZdU5ESXRNUzR3T0NBd0xTNDBOaTB1TVRRdExqZ3lMUzQwTWkweExqRmhNUzQyTWlBeExqWXlJREFnTUNBd0xURXVNVFl0TGpRemFDMHhMamd5ZW0wNUxqTTNMUzQyT0dFekxqVWdNeTQxSURBZ01DQXdMUzQxT0MwdU1EVmpMUzQyTlNBd0xURXVNRGt1TWpVdE1TNHpNUzQzTlZZeE1rZ3lOaTQwVmpVdU5qWm9NUzR6Tm13dU1EUXVOMkV4TGpZZ01TNDJJREFnTUNBeElERXVORE10TGpneVl5NHlJREFnTGpNM0xqQXpMalV1TURoMk1TNHpOSHB0TXk0MU9DQTFMakUyWXkwdU9TQXdMVEV1TmpRdExqSTVMVEl1TWkwdU9EVmhNeTR4SURNdU1TQXdJREFnTVMwdU9EUXRNaTR5T0hZdExqRTNZekF0TGpZekxqRXlMVEV1TWk0ek55MHhMamRoTWk0M01pQXlMamN5SURBZ01DQXhJREl1TlMweExqVTRZeTQ0TnlBd0lERXVOVE11TWpnZ01pQXVPRE11TkRndU5UVXVOekVnTVM0ek15NDNNU0F5TGpNMGRpNDFOMGd6TVM0M1l5NHdOQzQxTWk0eU1pNDVOQzQxTWlBeExqSTBjeTQzTGpRMklERXVNVFl1TkRaakxqWTFJREFnTVM0eE9DMHVNallnTVM0MkxTNDNPV3d1TnpZdU56TmpMUzR5TlM0ek9DMHVOaTQyT0MweExqQXlMamc1TFM0ME1pNHlMUzQ1TGpNdE1TNDBNaTR6ZW0wdExqRTNMVFV1TkROakxTNDBJREF0TGpjdU1UTXRMamsxTGpRdExqSTBMakk0TFM0MExqWTJMUzQwTmlBeExqRTFhREl1TnpKMkxTNHhZVEV1TnpJZ01TNDNNaUF3SURBZ01DMHVNemt0TVM0d09TQXhMaklnTVM0eUlEQWdNQ0F3TFM0NU1pMHVNelp0TlM0eE5pMHhMakF6TGpBMExqWTJZVEl1TWpnZ01pNHlPQ0F3SURBZ01TQXhMamd6TFM0M09HTXVPRFVnTUNBeExqUXpMak16SURFdU56UXVPVGd1TkRZdExqWTFJREV1TVRFdExqazRJREV1T1RVdExqazRMamNnTUNBeExqSXhMaklnTVM0MU5TNDFPQzR6TlM0ek9TNDFNaTQ1Tmk0MU15QXhMamN4VmpFeWFDMHhMalF5VmpjdU9EZGpNQzB1TkMwdU1Ea3RMamN0TGpJM0xTNDRPQzB1TVRjdExqRTVMUzQwTmkwdU1qZ3RMamczTFM0eU9DMHVNeklnTUMwdU5Ua3VNRGt0TGpndU1qWXRMakl1TVRjdExqTTBMalF0TGpReUxqWTRWakV5YUMweExqUXlWamN1T0ROakxTNHdNaTB1TnpVdExqUXRNUzR4TWkweExqRTBMVEV1TVRJdExqVTNJREF0TGprNExqSXpMVEV1TWpJdU4xWXhNbWd0TVM0ME1sWTFMalkyZWswME9DNDVNU0F4TW1ndE1TNDBNMVkxTGpZMmFERXVORE42VFRRM0xqUWdOQzR3TVdNd0xTNHlNaTR3TmkwdU5DNHlMUzQxTkM0eE5DMHVNVFV1TXpRdExqSXlMall0TGpJeWN5NDBOaTR3Tnk0MkxqSXlZeTR4TkM0eE5DNHlMak15TGpJdU5UUnpMUzR3Tmk0MExTNHlMalUwTFM0ek5DNHlNUzB1Tmk0eU1TMHVORFl0TGpBM0xTNDJMUzR5WVM0M05TNDNOU0F3SURBZ01TMHVNaTB1TlRWdE5pNDVJRGN1TXpkaE1pNHlJREl1TWlBd0lEQWdNUzB4TGpjNExqYzBjUzB4TGpBeUlEQXRNUzQxTmkwdU5tTXRMak0xTFM0MExTNDFNeTB4TFM0MU15MHhMamMxVmpVdU5qWm9NUzQwTTNZMExqQTVZekFnTGpndU16TWdNUzR5SURFZ01TNHlMalk1SURBZ01TNHhOaTB1TWpRZ01TNDBMUzQzTkZZMUxqWTJhREV1TkRKV01USm9MVEV1TXpSNmJUUXVNVGN0TlM0M01pNHdOQzQyTm1FeUxqSTRJREl1TWpnZ01DQXdJREVnTVM0NE15MHVOemhqTGpnMUlEQWdNUzQwTXk0ek15QXhMamMwTGprNExqUTJMUzQyTlNBeExqRXhMUzQ1T0NBeExqazFMUzQ1T0M0M0lEQWdNUzR5TVM0eUlERXVOVFV1TlRndU16VXVNemt1TlRJdU9UWXVOVE1nTVM0M01WWXhNa2cyTkM0M1ZqY3VPRGRqTUMwdU5DMHVNRGt0TGpjdExqSTNMUzQ0T0MwdU1UY3RMakU1TFM0ME5pMHVNamd0TGpnM0xTNHlPQzB1TXpJZ01DMHVOVGt1TURrdExqZ3VNall0TGpJdU1UY3RMak0wTGpRdExqUXlMalk0VmpFeWFDMHhMalF5VmpjdU9ETmpMUzR3TWkwdU56VXRMalF0TVM0eE1pMHhMakUwTFRFdU1USXRMalUzSURBdExqazRMakl6TFRFdU1qSXVOMVl4TW1ndE1TNDBNbFkxTGpZMmFERXVNelI2SWk4K1BIQmhkR2dnWm1sc2JEMGljbVZrSWlCa1BTSk5NU0F5WVRFZ01TQXdJREFnTVNBeExURm9NVE4yTVRSSU1tRXhJREVnTUNBd0lERXRNUzB4ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAyTGpVeUlEbDJNMGcwTGpjMlZqTXVORGRJT0M0eFl5NDJOQ0F3SURFdU1pNHhNaUF4TGpZNUxqTTFjeTQ0Tmk0MU55QXhMakV5SURFZ0xqUXVPVEl1TkNBeExqUTNZekFnTGpnMExTNHpJREV1TlMwdU9EY2dNUzQ1T0hFdExqZzFOUzQzTWkweUxqTTNMamN5U0RZdU5USjZiVEF0TVM0ME0yZ3hMalUzWXk0ME5pQXdJQzQ0TWkwdU1TQXhMakEyTFM0ek15NHlOUzB1TWpJdU16Y3RMalV6TGpNM0xTNDVOSE10TGpFeUxTNDNOUzB1TXpjdE1XTXRMakkxTFM0eU55MHVOVGt0TGpRdE1TNHdNaTB1TkVnMkxqVXllaUl2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXJ9LmF1dG9uYXYtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC5hdXRvbmF2LWVuZHNjcmVlbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtc3VnZ2VzdGlvbnMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxle2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MThweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjRweDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfS55dHAtYXV0b25hdi1hdXRob3ItYW5kLXZpZXcsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYXV0aG9yLC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NHB4O2NvbG9yOiNhYWE7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoxMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7d2lkdGg6MTc2cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjB9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNhbmNlbC1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtmbG9hdDpsZWZ0fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7ZmxvYXQ6cmlnaHR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyOm5vdCgueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWlzLXByZW1pdW0pIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tcHJlbWl1bS1iYWRnZXtkaXNwbGF5Om5vbmV9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtbWluaXBsYXllci1yZXBsYXktYnV0dG9uLC5jb3VudGRvd24tcnVubmluZyAueXRwLXByZXZpZXd7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7bWFyZ2luOjQwcHggYXV0byBhdXRvIDIwcHg7d2lkdGg6MzYwcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luOjQwcHggMjBweCBhdXRvIGF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7bWFyZ2luLXRvcDowfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJke3dpZHRoOjM2MHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtbWl4LXRleHR7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNzRweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjE4M3B4O2hlaWdodDoxMDRweDtib3JkZXItcmFkaXVzOjhweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxlLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4O2ZvbnQtd2VpZ2h0OjUwMH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mbywueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDowO3dpZHRoOjE4M3B4fS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVyLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHh9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b24sLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9ue3dpZHRoOjE4M3B4O2hlaWdodDozNHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA1OC41cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDozNnB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYWx0ZXJuYXRpdmUtaGVhZGVye2ZvbnQtc2l6ZToxOS41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MjIuNXB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6NTQwcHg7aGVpZ2h0OjMwM3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206OXB4O21hcmdpbi1sZWZ0Oi0zcHg7d2lkdGg6MTExcHg7aGVpZ2h0OjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDoxOHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGl0bGV7Zm9udC1zaXplOjI3cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWF1dGhvciwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjMxLjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b257Zm9udC1zaXplOjIxcHg7d2lkdGg6MjY0cHg7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTJweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbi5tb2Rlcm4tYnV0dG9uc3tib3JkZXItcmFkaXVzOjI3cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10aW1lc3RhbXAsLnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDo1NDBweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e21hcmdpbjphdXRvO21hcmdpbi1yaWdodDozMHB4O2hlaWdodDo0NDRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjMwcHg7d2lkdGg6NDMycHg7aGVpZ2h0OjQ0NHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtc3VnZ2VzdGlvbi1jYXJkLXdpdGgtbWFyZ2lue21hcmdpbi1sZWZ0OjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHttYXJnaW4tdG9wOjA7d2lkdGg6MjEwcHg7aGVpZ2h0OjExOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmR7bWFyZ2luLXRvcDoxMHB4O3dpZHRoOjIxMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDoyMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi10aXRsZS1jYXJke21hcmdpbi10b3A6MTBweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmR7bWFyZ2luLXRvcDo0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1tb3JlLXZpZGVvc3t2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1zdWdnZXN0aW9ucy1jb250YWluZXIgLnl0cC1zdWdnZXN0aW9uLXNldDpub3QoOmZpcnN0LWNoaWxkKXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVsLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtc3VnZ2VzdGlvbi1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5ey13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDpjYWxjKDEwMCUgLSAzOXB4KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5LC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXttYXJnaW4tdG9wOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtc3VnZ2VzdGlvbi1wYW5lbCwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye3dpZHRoOjM3NHB4O2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLXBsYXllci1taW5pbWl6ZWQuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcnttYXJnaW4tdG9wOjE2cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlcntkaXNwbGF5Oi13ZWJraXQtYm94fS55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7bWFyZ2luLXRvcDo1cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6OHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle2Rpc3BsYXk6LXdlYmtpdC1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye21hcmdpbjphdXRvO21hcmdpbi1yaWdodDo0NXB4O3dpZHRoOjU0MHB4O2hlaWdodDo2NjZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjQ1cHg7d2lkdGg6NjQ4cHg7aGVpZ2h0OjY2NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tY2FyZC13aXRoLW1hcmdpbnttYXJnaW4tbGVmdDoxOHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGh1bWJuYWlsLXNtYWxse3dpZHRoOjMxNXB4O2hlaWdodDoxNzdweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZHttYXJnaW4tdG9wOjE1cHg7d2lkdGg6MzE1cHh9Lnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDozMHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjE1cHg7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJke21hcmdpbi10b3A6NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmQsLnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjE5LjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LW1peC10ZXh0e2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWF1dG9uYXYtYXV0aG9yLWFuZC12aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZS55dHAtcGxheWVyLWNvbnRlbnQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206MH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LW92ZXJsYXl7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xfS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpc3Q9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtbGl2ZT10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmRbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojYzAwfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCl9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZDpub3QoW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0pIC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyW2RhdGEtaXMtbGlzdD10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcltkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtYXV0b25hdi1saXZlLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2MwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLXVwY29taW5nPXRydWVdKSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLW1peD10cnVlXSkgLnl0cC1hdXRvbmF2LWxpc3Qtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlLmVuZGVkLW1vZGV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dHAtYWQtb3ZlcmxheS1vcGVuLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7b3BhY2l0eTouM30ueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSAxNDNweCl9Lnl0cC1iaWctbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcntoZWlnaHQ6Y2FsYygxMDAlIC0gMTYwcHgpfS55dHAtYXV0b25hdi1vdmVybGF5LWNhbmNlbGxlZC1zdGF0ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXItY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRFNUlEWXVOREVnTVRjdU5Ua2dOU0F4TWlBeE1DNDFPU0EyTGpReElEVWdOU0EyTGpReElERXdMalU1SURFeUlEVWdNVGN1TlRrZ05pNDBNU0F4T1NBeE1pQXhNeTQwTVNBeE55NDFPU0F4T1NBeE9TQXhOeTQxT1NBeE15NDBNU0F4TW5vaUx6NDhMM04yWno0PSk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JhY2tncm91bmQtc2l6ZToyNHB4O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtcGxheWVyLWNvbnRlbnR7cG9zaXRpb246dW5zZXR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXJ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdG9wYmFyLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmJsb2NrfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXJ7bWFyZ2luLXRvcDowOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi12aWRlby1pbmZve21hcmdpbi10b3A6MTJweDt3aWR0aDoxMDAlfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsey13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXAsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6MTBweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzp1bnNldDtwYWRkaW5nOjAgOHB4fS55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxNC40cHg7d2lkdGg6MzZweDtib3JkZXItcmFkaXVzOjE0LjRweDt0b3A6NTAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWlCdmNHRmphWFI1UFNJdU5TSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1pwYkd3dGIzQmhZMmwwZVQwaUxqTWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUY3VNeUF4UXpRdU16VWdNU0F5SURNdU1qRWdNaUEyY3pJdU16VWdOU0ExTGpNZ05XZ3hOUzQwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5T0NBMmJDMHVNRE10TGpVMFFUVXVNVFlnTlM0eE5pQXdJREFnTUNBeU1pNDNJREY2YlRFMUxqUWdNVEZqTXk0ME5TQXdJRFl1TXkweUxqWWdOaTR6TFRaekxUSXVPRFV0TmkwMkxqTXROa2czTGpORE15NDROU0F3SURFZ01pNDJJREVnTm5NeUxqZzFJRFlnTmk0eklEWjZJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUc5d1lXTnBkSGs5SWk0MUlpOCtQQzl6ZG1jKyk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1pbWFnZTp1bnNldDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6OXB4O21hcmdpbjowIDlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD1mYWxzZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSl9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257bWFyZ2luOjAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gMzBweCkvMil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEzLjVweDt3aWR0aDoyMi41cHg7Ym9yZGVyLXJhZGl1czo2Ljc1cHg7bWFyZ2luOjAgNXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbiwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxMC44cHg7d2lkdGg6MjdweDtib3JkZXItcmFkaXVzOjEwLjhweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjQ1cHg7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtZW1iZWQgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MzBweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlbTB0TWk0M0xTNDNOWFl0T0M0MWJEWXVOeUEwTGpJMmVpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJ2Y0dGamFYUjVQU0l1TlNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpNaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRjdU15QXhRelF1TXpVZ01TQXlJRE11TWpFZ01pQTJjekl1TXpVZ05TQTFMak1nTldneE5TNDBRVFV1TVRZZ05TNHhOaUF3SURBZ01DQXlPQ0EyYkMwdU1ETXRMalUwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5TWk0M0lERjZiVEUxTGpRZ01URmpNeTQwTlNBd0lEWXVNeTB5TGpZZ05pNHpMVFp6TFRJdU9EVXROaTAyTGpNdE5rZzNMak5ETXk0NE5TQXdJREVnTWk0MklERWdObk15TGpnMUlEWWdOaTR6SURaNklpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJRzl3WVdOcGRIazlJaTQxSWk4K1BDOXpkbWMrKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjIwLjRweDt3aWR0aDoyMC40cHg7Ym9yZGVyLXJhZGl1czoyMC40cHg7bWFyZ2luLXRvcDotM3B4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6Y3hOekUzTVNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOT0M0MUlERTJZVGN1TlNBM0xqVWdNQ0F4SURBZ01DMHhOU0EzTGpVZ055NDFJREFnTUNBd0lEQWdNVFVpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpFMUlpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweE55QTRMalZoT0M0MUlEZ3VOU0F3SURFZ01TMHhOeUF3SURndU5TQTRMalVnTUNBd0lERWdNVGNnTUcwdE1TQXdZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREFpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAxTGpVZ01USm9NbFkxYUMweWVtMDBMVGQyTjJneVZqVjZJaTgrUEM5emRtYyspOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1pY29ucyAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O2JvcmRlci1yYWRpdXM6N3B4O21hcmdpbjoycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaWJtOXVaU0lnZG1sbGQwSnZlRDBpTUNBd0lETTJJRE0ySWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NVEl1TnpVZ05DNDFhQzB6WXkwdU5pQXdMVEV1TVRjdU1qTXRNUzQyTGpZMUxTNDBNaTQwTXkwdU5qVWdNUzB1TmpVZ01TNDJkakl5TGpWak1DQXVOVGt1TWpNZ01TNHhOaTQyTlNBeExqVTVMalF6TGpReUlERWdMalkySURFdU5pNDJObWd6WXk0MU9TQXdJREV1TVRZdExqSTBJREV1TlRrdExqWTJMalF5TFM0ME15NDJOaTB4SUM0Mk5pMHhMalU1VmpZdU56VmpNQzB1TmkwdU1qUXRNUzR4TnkwdU5qWXRNUzQyTFM0ME15MHVOREl0TVMwdU5qVXRNUzQxT1MwdU5qVnRNVE11TlNBd2FDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpVaUx6NDhMM04yWno0PSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKTk1USXVOelVnTkM0MWFDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpWdE1UTXVOU0F3YUMwell5MHVOaUF3TFRFdU1UY3VNak10TVM0MkxqWTFMUzQwTWk0ME15MHVOalVnTVMwdU5qVWdNUzQyZGpJeUxqVmpNQ0F1TlRrdU1qTWdNUzR4Tmk0Mk5TQXhMalU1TGpRekxqUXlJREVnTGpZMklERXVOaTQyTm1nell5NDFPU0F3SURFdU1UWXRMakkwSURFdU5Ua3RMalkyTGpReUxTNDBNeTQyTmkweElDNDJOaTB4TGpVNVZqWXVOelZqTUMwdU5pMHVNalF0TVM0eE55MHVOall0TVM0MkxTNDBNeTB1TkRJdE1TMHVOalV0TVM0MU9TMHVOalVpTHo0OEwzTjJaejQ9KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7aGVpZ2h0OjEwLjVweDt3aWR0aDoxMC41cHg7Ym9yZGVyLXJhZGl1czo1LjI1cHg7bWFyZ2luOjFweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7bGVmdDotMnB4O2hlaWdodDoxNS4zcHg7d2lkdGg6MTUuM3B4O2JvcmRlci1yYWRpdXM6MTUuM3B4O21hcmdpbi10b3A6LTIuMjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uOmFmdGVye2xlZnQ6MDtoZWlnaHQ6MjUuNXB4O3dpZHRoOjI1LjVweDtib3JkZXItcmFkaXVzOjI1LjVweDttYXJnaW4tdG9wOi0zLjc1cHh9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntsZWZ0OjA7aGVpZ2h0OjE3cHg7d2lkdGg6MTdweDtib3JkZXItcmFkaXVzOjE3cHg7bWFyZ2luLXRvcDotMi41cHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVdOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6QXdNQ0lnWm1sc2JDMXZjR0ZqYVhSNVBTSXVNVFVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEUzSURndU5XRTRMalVnT0M0MUlEQWdNU0F4TFRFM0lEQWdPQzQxSURndU5TQXdJREFnTVNBeE55QXdiUzAxSURCTU5pNDFJRFYyTjNwdExURXVPRFlnTUV3M0xqVWdOaTQ0TW5ZekxqTTJlazA0TGpVZ01UWmhOeTQxSURjdU5TQXdJREVnTUNBd0xURTFJRGN1TlNBM0xqVWdNQ0F3SURBZ01DQXhOU0lnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTVRZZ09DNDFZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREJ0TFRRZ01FdzJMalVnTVRKV05Yb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp3dmMzWm5QZz09KTtsZWZ0OjFweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTUuNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtc29saWQsIzBmMGYwZil9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEuN3B4KX0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTkuNXB4KX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWRlbGhpLW1vZGVybiAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCl9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCl9Lnl0cC1iZXplbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjUycHg7aGVpZ2h0OjUycHg7ei1pbmRleDoxOTttYXJnaW4tbGVmdDotMjZweDttYXJnaW4tdG9wOi0yNnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLXJhZGl1czoyNnB4Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVse2xlZnQ6NTAlO3RvcDo1MCU7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0IDFzIGN1YmljLWJlemllciguMDUsMCwwLDEpIDEgbm9ybWFsIGZvcndhcmRzfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYmV6ZWwtaWNvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtYmV6ZWx7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1iZXplbHt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbi1sZWZ0Oi0zMnB4O21hcmdpbi10b3A6LTMycHg7Ym9yZGVyLXJhZGl1czozMnB4fS55dHAtYmV6ZWwtaWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21hcmdpbjo2cHh9Lnl0cC1wbGF5ZXItY29udGVudCAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1iZXplbC1pY29uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYmV6ZWwtaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4O21hcmdpbjoxMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46OHB4fS55dHAtYmV6ZWwtdGV4dC13cmFwcGVye3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDoxMCU7ei1pbmRleDoxOX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHQtd3JhcHBlcnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZGVsaGktbW9kZXJuLWJlemVsLXRleHQtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXQgMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9Lnl0cC1iZXplbC10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MTBweCAyMHB4O2ZvbnQtc2l6ZToxNzUlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjNweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHR7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWJlemVsLXRleHQtaGlkZSAueXRwLWJlemVsLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QGtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjB9MjUlLDc1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zMyk7dHJhbnNmb3JtOnNjYWxlKDEuMzMpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMzKTt0cmFuc2Zvcm06c2NhbGUoMS4zMyl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtdGV4dC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXR7MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjYyfS55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLWNhcmRzLWJ1dHRvbi1pY29ue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKTtib3JkZXItcmFkaXVzOjE4cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9ue21heC13aWR0aDo4MHB4O3dpZHRoOjM2cHh9Lnl0cC1zaG93LWNhcmRzLXRpdGxlIC55dHAtY2FyZHMtYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5OmJsb2NrfS55dHAtY2FyZHMtYnV0dG9uLWljb24tc2hvcHBpbmcsLnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUgLnl0cC1jYXJkcy1idXR0b24taWNvbi1zaG9wcGluZ3tkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZSAueXRwLWNhcmRzLWJ1dHRvbi1pY29uLWRlZmF1bHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS55dHAtY2FyZHMtYnV0dG9uLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtYnV0dG9uLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jYXJkcy1idXR0b24tdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLXNoYWRvd3std2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpzdHJva2Utb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3d7c3Ryb2tlLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1czt0cmFuc2l0aW9uOnN0cm9rZS1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXN9Lnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93LWZpbGx7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246ZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXM7dHJhbnNpdGlvbjpmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1c30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMjc5M2U2fS55dHAtY2FyZHMtc2hvcHBpbmctYWN0aXZlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93e3N0cm9rZTojZmZmO3N0cm9rZS1vcGFjaXR5OjF9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjguNXB4O3JpZ2h0OjA7bWF4LXdpZHRoOjkwJTtvcGFjaXR5Oi43NTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjYxOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2Vye3RvcDoxM3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLXRlYXNlcnt0b3A6MTZweH0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmc6bm90KC52aWRlb0FkVWlSZWRlc2lnbikgLnl0cC1jYXJkcy10ZWFzZXJ7dG9wOjQwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXIsLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcntvcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTouOX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcjpob3ZlcntvcGFjaXR5OjF9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtdGVhc2VyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3M7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3N9Lnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWNhcmRzLXRlYXNlcnstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3gsLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtoZWlnaHQ6MzFweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveCwueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7aGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItYm94e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czoycHg7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMCkgdHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDA7LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgMDt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDB9Lnl0cC1iaWctbW9kZSAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7cmlnaHQ6MjdweH0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpOy1tcy10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgyN3B4KTt0cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCl9W2Rpcj1ydGxdIC55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xOHB4KX1bZGlyPXJ0bF0gLnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0yN3B4KX0ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAzNnB4IDAgMTBweDttYXgtd2lkdGg6MDtvcGFjaXR5OjA7Y29sb3I6IzAwMDtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjEwOS4wOTA5MDklO2xpbmUtaGVpZ2h0OjMxcHg7dGV4dC1zaGFkb3c6bm9uZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1czt0cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1c30ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7cGFkZGluZzowIDY2cHggMCAxMnB4O2xpbmUtaGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHttYXgtd2lkdGg6NDE1cHg7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXN9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7bWF4LXdpZHRoOjYzNXB4fS55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye2Rpc3BsYXk6bm9uZX0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3dpZHRoOjMwcHg7bGVmdDpjYWxjKDEwMCUgLSAzMHB4KTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MThweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2hhbm5lbC1hdmF0YXJ7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDttYXJnaW46NHB4O2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO2Zsb2F0OmxlZnR9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye21hcmdpbjoxMnB4fS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHt3aWR0aDoxMDAlO2xlZnQ6MDstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnMsbGVmdCAuMzNzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4yczt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjJzLGxlZnQgLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnN9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItaW5mby1pY29ue2hlaWdodDozMHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6bGVmdH0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1jbG9zZS1idXR0b257aGVpZ2h0OjMwcHg7d2lkdGg6MjBweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MCA1cHg7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6cmlnaHR9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDojNzE3MTcxfS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MzBweDttYXgtd2lkdGg6MzUwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItYm94e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1pbmZvLWljb257aGVpZ2h0OjQ1cHg7d2lkdGg6NDVweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9ue2hlaWdodDo0NXB4O3dpZHRoOjMwcHg7bWFyZ2luOjAgNy41cHh9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2xpbmUtaGVpZ2h0OjQ1cHg7bWF4LXdpZHRoOjUyNXB4fS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3BhZGRpbmc6MH0ueXRwLWVtYmVkLnl0cC1jYXJkcy10ZWFzZXItc2hvd24ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNocm9tZS10b3AtYnV0dG9ucz46bm90KC55dHAtY2FyZHMtdGVhc2VyKXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZXttaW4taGVpZ2h0OjUycHh9Lnl0cC1iaWctbW9kZS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxle21pbi1oZWlnaHQ6NzVweH0ueXRwLXNob3J0cy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGV7bWluLWhlaWdodDo0MnB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZS10ZXh0e3BhZGRpbmctbGVmdDo1MHB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLWxlZnQ6NzVweH0ueXRwLXRpdGxlLWxpbmt7ZGlzcGxheTpibG9jazt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowO21hcmdpbjo1cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtiYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtmbG9hdDpsZWZ0O2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6NjBweDtoZWlnaHQ6NjBweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0OHB4O2hlaWdodDo0OHB4O21hcmdpbjowfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjEwJX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbnswJXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O21heC13aWR0aDoxMCV9MjUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSl9NzUle21heC13aWR0aDoxMDAlfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXR7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MHB4fX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtb3V0ezAle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTAwcHh9NzUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTBweH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4tYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDttYXgtd2lkdGg6MTUlfTI1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpfTc1JXttYXgtd2lkdGg6MTAwJX19QGtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjE1JX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLW91dC1iaWctbW9kZXswJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjUwMHB4fTc1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjcwcHh9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXQtYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo3MHB4fX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluezAle29wYWNpdHk6MH0yNSV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLW91dHswJXtvcGFjaXR5OjF9MjUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtb3V0ezAle29wYWNpdHk6MX0yNSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC10aXRsZS1jaGFubmVse2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyNXB4O2Rpc3BsYXk6bm9uZTtoZWlnaHQ6NTBweDttYXJnaW4tbGVmdDotNXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6N3B4O2xlZnQ6MDt3aWR0aDo1MHB4fS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3dpZHRoOjcwcHg7aGVpZ2h0OjcwcHg7bWFyZ2luLXRvcDoxMHB4fS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxlLWNoYW5uZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1zaG93LWV4cGFuZGVkey13ZWJraXQtYW5pbWF0aW9uOnl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZHstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO2JvcmRlci1yYWRpdXM6MjVweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjE7d2lkdGg6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtZXhwYW5kZWR7Ym9yZGVyLXJhZGl1czozNXB4fS55dHAtdGl0bGUtZXhwYW5kZWQtb3ZlcmxheXtkaXNwbGF5OmNvbnRlbnRzO21heC13aWR0aDoxMDAlO29wYWNpdHk6MDtwYWRkaW5nLXJpZ2h0OjhweDt3aWR0aDphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e21heC13aWR0aDoxMDAlfS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MX0ueXRwLXRpdGxlLXNob3ctZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbiAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZCAueXRwLXRpdGxlLWV4cGFuZGVkLW92ZXJsYXl7LXdlYmtpdC1hbmltYXRpb246eXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW4tYmlnLW1vZGUgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjo1cHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC10aXRsZS1leHBhbmRlZC10aXRsZXtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bWFyZ2luOjB9Lnl0cC1iaWctbW9kZSAueXRwLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToyMnB4fS55dHAtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtZXhwYW5kZWQtc3VidGl0bGV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1zdWJ0aXRsZXtmb250LXNpemU6MTZweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2J7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW46NXB4O2hlaWdodDphdXRvO3dpZHRoOmF1dG87cGFkZGluZzowO3BhZGRpbmctbGVmdDoxNnB4O3RleHQtc2hhZG93Om5vbmU7bWFyZ2luLXJpZ2h0OjdweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLGEueXRwLXNiLXN1YnNjcmliZXttYXJnaW4tbGVmdDo2NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCAueXRwLXNiLXN1YnNjcmliZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6N3B4fS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1iZWFjb24sLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXN1YnRleHQsLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtYmVhY29uLXB1bHNlezAle2JhY2tncm91bmQ6YmxhY2s7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtsZWZ0OjVweDt0b3A6NXB4fTUwJXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7bGVmdDowO3RvcDowfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1iZWFjb24tcHVsc2V7MCV7YmFja2dyb3VuZDpibGFjazt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2xlZnQ6NXB4O3RvcDo1cHh9NTAle2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtsZWZ0OjA7dG9wOjB9fS55dHAtdGl0bGUtYmVhY29ue2JvcmRlci1yYWRpdXM6MjVweDtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtYmVhY29uLXB1bHNlIDJzIDU7YW5pbWF0aW9uOnl0cC10aXRsZS1iZWFjb24tcHVsc2UgMnMgNX0udW5zdGFydGVkLW1vZGUgLnl0cC10aXRsZS1iZWFjb257ZGlzcGxheTpibG9ja30ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCwueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbi55dHAtY2hhcHRlci1jb250YWluZXItZGlzYWJsZWR7b3BhY2l0eTouOX0ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXgtd2lkdGg6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbnstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbiwueXRwLWVtYmVkIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uLC55dHAtcHJvZmlsZS1wYWdlIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9ue2Rpc3BsYXk6bm9uZX0ueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCAyMHB4O2ZsZXg6MCAwIDIwcHg7d2lkdGg6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3R0b206MXB4fS55dHAtY2hhcHRlci10aXRsZS1jb250ZW50ey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIGF1dG87ZmxleDowIDEgYXV0bzt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7bGluZS1oZWlnaHQ6MjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1iaWctbW9kZSAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnt3aWR0aDoyOHB4fS55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jaGFwdGVyLXRpdGxlLXByZWZpeHtwYWRkaW5nLXJpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUtcHJlZml4LC55dHAtbGl2ZSAueXRwLWNoYXB0ZXItdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lciAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hhcHRlci1jb250YWluZXIgLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHQ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItY29udGFpbmVyIC55dHAtcHJvZmlsZS1wYWdlLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHR9Lnl0cC1leHAtYm90dG9tLWNvbnRyb2wtZmxleGJveCAueXRwLWNoYXB0ZXItY29udGFpbmVyey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIDEwMCU7ZmxleDowIDEgMTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZmxvYXQ6bGVmdH0ueXRwLWNoYXB0ZXItY29udGFpbmVye2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxMDklO3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW46MCA1cHggMCAwO3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDo0N3B4fS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDozOXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDo1M3B4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDEwMCBhdXRvO2ZsZXg6MCAxMDAgYXV0b30ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntwYWRkaW5nLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNoYXB0ZXItY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIzMDA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wb3B1cC55dHAtZGVsaGktbW9kZXJuLWNvbnRleHRtZW51e2JvcmRlci1yYWRpdXM6MTJweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtY29udGV4dG1lbnUgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLWNvbnRleHRtZW51IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtZG5pLnl0cC1jb250ZXh0bWVudXt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUueXRwLWNvbnRleHRtZW51e2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGUueXRwLWVtYmVkLW92ZXJsYXlzLWF1dG9oaWRlLnl0cC1jb250ZXh0bWVudXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUueXRwLWNvbnRleHRtZW51e2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51IGEsLnl0cC1jb250ZXh0bWVudSBhOmZvY3VzLC55dHAtY29udGV4dG1lbnUgYTpob3Zlcntjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtY29weXRleHR7bWFyZ2luOjAgMTBweDttYXgtd2lkdGg6MjAwcHg7b3V0bGluZTpub25lO3RleHQtc2hhZG93Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0Oy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH0ueXRwLWNvcHl0ZXh0OjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2NvbG9yOmJsYWNrfS55dHAtaHRtbDUtY2xpcGJvYXJke3RvcDowO2xlZnQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTstbW96LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS55dHAtc2hvdy1jb3B5bGluay10aXRsZS55dHAtY29weWxpbmstYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXNob3ctY29weWxpbmstdGl0bGUueXRwLWNvcHlsaW5rLWJ1dHRvbnttYXJnaW4tbGVmdDoyMHB4O21hcmdpbi1yaWdodDoyMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnttaW4td2lkdGg6NDhweDttYXgtd2lkdGg6ODBweH0ueXRwLWNvcHlsaW5rLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1jb3B5bGluay1pY29ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS55dHAtY29weWxpbmstdGl0bGV7Zm9udC13ZWlnaHQ6NTAwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstdGl0bGUsLnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLWNvcHlsaW5rLXRpdGxle2ZvbnQtc2l6ZToyMHB4fS55dHAtc2hvdy1jb3B5bGluay10aXRsZSAueXRwLWNvcHlsaW5rLXRpdGxle2Rpc3BsYXk6YmxvY2t9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstdGl0bGV7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW59Lnl0cC1jb3VudGRvd24tdGltZXJ7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzk7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuNik7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLWNvdW50ZG93bi10aW1lcntib3R0b206NTJweH0ueXRwLWNvdW50ZG93bi10aW1lci10aW1le2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiNGRkY7bGluZS1oZWlnaHQ6MzZweDt3aWR0aDozNnB4O2ZvbnQtd2VpZ2h0OjUwMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2IoMCwwLDApfS55dHAtZnJlZS1wcmV2aWV3LWNvdW50ZG93bi10aW1lcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NXB4O2xlZnQ6MjBweDtoZWlnaHQ6MjRweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO3dpZHRoOmF1dG87ei1pbmRleDo4Mjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1mcmVlLXByZXZpZXctY291bnRkb3duLXRpbWVyLXNlcGFyYXRvcntwYWRkaW5nOjAgM3B4fS55dC11aS1lbGxpcHNpc3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9Lnl0LXVpLWVsbGlwc2lzLW5vd3JhcC1zaW5nbGUtbGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDoxLjNlbX0ueXQtdWktZWxsaXBzaXM6YWZ0ZXIsLnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGV9Lnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtjb250ZW50OiLigKYiO3JpZ2h0OjB9Lnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IiI7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXQtdWktZWxsaXBzaXMtMjpiZWZvcmV7dG9wOjEuM2VtfS55dC11aS1lbGxpcHNpcy0zOmJlZm9yZXt0b3A6Mi42ZW19Lnl0LXVpLWVsbGlwc2lzLTQ6YmVmb3Jle3RvcDozLjllbX0ueXQtdWktZWxsaXBzaXMtNjpiZWZvcmV7dG9wOjYuNWVtfS55dC11aS1lbGxpcHNpcy0xMDpiZWZvcmV7dG9wOjExLjdlbX0ueXQtdWktZWxsaXBzaXMtMnttYXgtaGVpZ2h0OjIuNmVtfS55dC11aS1lbGxpcHNpcy0ze21heC1oZWlnaHQ6My45ZW19Lnl0LXVpLWVsbGlwc2lzLTR7bWF4LWhlaWdodDo1LjJlbX0ueXQtdWktZWxsaXBzaXMtNnttYXgtaGVpZ2h0OjcuOGVtfS55dC11aS1lbGxpcHNpcy0xMHttYXgtaGVpZ2h0OjEzZW19LndlYmtpdCAueXQtdWktZWxsaXBzaXN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtMnstd2Via2l0LWxpbmUtY2xhbXA6Mn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0zey13ZWJraXQtbGluZS1jbGFtcDozfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzLTR7LXdlYmtpdC1saW5lLWNsYW1wOjR9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtNnstd2Via2l0LWxpbmUtY2xhbXA6Nn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0xMHstd2Via2l0LWxpbmUtY2xhbXA6MTB9LndlYmtpdCAueXQtdWktZWxsaXBzaXM6YmVmb3Jle2NvbnRlbnQ6bm9ybWFsfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IuKAjCI7cG9zaXRpb246c3RhdGljO3Zpc2liaWxpdHk6aGlkZGVufS55dC11aS1lbGxpcHNpc1tkaXI9cnRsXTpiZWZvcmV7bGVmdDowO3JpZ2h0OmF1dG99YS55dHAtY2UtbGlua3tkaXNwbGF5OmJsb2NrfWEueXRwLWNlLWxpbmssYS55dHAtY2UtbGluazpob3ZlcixhLnl0cC1jZS1saW5rOnZpc2l0ZWR7Y29sb3I6IzE2N2FjNn1hLnl0cC1jZS1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1jZS1zaGFkb3d7b3BhY2l0eTowO291dGxpbmU6c29saWQgIzAwMDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDoxMn0ueXRwLWNlLXNoYWRvdzpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1lbGVtZW50e2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNCk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNSk7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjUpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4zZW07bWFyZ2luOi0xcHg7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC1mb250LXNtb290aGluZzphdXRvO3otaW5kZXg6MTI7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEycHg7cmlnaHQ6MTJweDt6LWluZGV4OjEzO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3Zpc2liaWxpdHk6aGlkZGVufS55dHAtY2UtaGlkZS1idXR0b24tY29udGFpbmVyLnl0cC1jZS1oaWRlLWJ1dHRvbi1sb3dlcnttYXJnaW4tdG9wOjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjcycHh9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2UtZWxlbWVudCwuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtY2UtZWxlbWVudC55dHAtY2UtcGxhY2Vob2xkZXIgYS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtjdXJzb3I6ZGVmYXVsdH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtc2hvdywueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lci55dHAtY2UtZWxlbWVudC1zaG93e29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5ke2JvcmRlcjoxcHggc29saWQgI2ZmZjtvdXRsaW5lOm5vbmU7ei1pbmRleDoxMztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIDBzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dmlzaWJpbGl0eTp2aXNpYmxlfS55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmZvY3VzLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmhvdmVye291dGxpbmU6bm9uZX0ueXRwLWNlLWVsZW1lbnQtc2hhZG93e2JhY2tncm91bmQtY29sb3I6IzAwMDtib3R0b206LTFweDtsZWZ0Oi0xcHg7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi0xcHg7dG9wOi0xcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6MTJ9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtc2hhZG93LXNob3cgLnl0cC1jZS1lbGVtZW50LXNoYWRvd3tvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1jb3ZlcmluZy1pbWFnZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JvdHRvbTotMnB4O2xlZnQ6LTFweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMXB4O3RvcDotMXB4fS55dHAtY2UtY292ZXJpbmctc2hhZG93LXRvcHtoZWlnaHQ6MzMlO29wYWNpdHk6Ljg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjMDAwLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjMDAwKSx0byh0cmFuc3BhcmVudCkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDAwIDAsdHJhbnNwYXJlbnQpfS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3otaW5kZXg6MTJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2Utc2hhZG93e2Rpc3BsYXk6bm9uZX0ueXRwLWNlLXBsYXlsaXN0LC55dHAtY2UtdmlkZW97b3ZlcmZsb3c6aGlkZGVufS55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS12aWRlby10aXRsZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luOjZweCA4cHg7bWF4LWhlaWdodDoyOHB4O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuNCl9Lnl0cC1jZS1wbGF5bGlzdC10aXRsZS55dHAtd2Via2l0LWVsbGlwc2lzLC55dHAtY2UtdmlkZW8tdGl0bGUueXRwLXdlYmtpdC1lbGxpcHNpc3tkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNlLXZpZGVvLWR1cmF0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7bWFyZ2luOjAgNHB4IDRweCAwO3BhZGRpbmc6NHB4IDZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfS55dHAtY2UtbGl2ZS12aWRlby1kdXJhdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMCwwKTtib3JkZXItcmFkaXVzOjJweDtib3R0b206MDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44KTttYXJnaW46MCA0cHggNHB4IDA7cGFkZGluZzo0cHggNnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9Lnl0cC1jZS1wbGF5bGlzdC1jb3VudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweH0ueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4tbGVmdDozMnB4fS55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1jb250ZW50e2Rpc3BsYXk6dGFibGV9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5e2Rpc3BsYXk6dGFibGUtY2VsbDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXksLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1mb3JjZS1leHBhbmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXt6LWluZGV4OjEzO29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLWltYWdlLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5kIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle3otaW5kZXg6MTN9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDRweCAjMDAwO2JveC1zaGFkb3c6MCAwIDRweCAjMDAwO2hlaWdodDoxMDAlO2xlZnQ6MDttYXJnaW46LThweDtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWljb257YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyMHB4IDIwcHg7YmFja2dyb3VuZC1zaXplOjIwcHggMjBweDtib3JkZXItcmFkaXVzOjJweDtib3R0b206MnB4O2hlaWdodDoyNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjJweDt3aWR0aDoyNHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtaG92ZXIgLnl0cC1jZS1leHBhbmRpbmctaWNvbiwueXRwLWNlLWVsZW1lbnQueXRwLWNlLWZvcmNlLWV4cGFuZCAueXRwLWNlLWV4cGFuZGluZy1pY29ue29wYWNpdHk6MH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXtsZWZ0OjA7cGFkZGluZy1sZWZ0OjEwMCU7dG9wOjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e3BhZGRpbmctcmlnaHQ6MTAwJTtyaWdodDowO3RvcDowfS55dHAtY2UtZWxlbWVudC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nLWxlZnQ6MTAwJX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7Ym90dG9tOjA7cGFkZGluZy1yaWdodDoxMDAlO3JpZ2h0OjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtaG92ZXIsLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWZvcmNlLWV4cGFuZCwueXRwLWNlLWVsZW1lbnQueXRwLWNlLW1lcmNoYW5kaXNlLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1tZXJjaGFuZGlzZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtbWVyY2hhbmRpc2UueXRwLWNlLWVsZW1lbnQtc2hvdy55dHAtY2UtZm9yY2UtZXhwYW5kLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93LC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1mb3JjZS1leHBhbmR7Ym9yZGVyOjA7bWFyZ2luOjB9Lnl0cC1jZS1jaGFubmVsLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJle2NvbG9yOiM3Njc2NzY7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDo0cHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tcy10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnR9Lnl0cC1jZS1jaGFubmVsLXN1YnNjcmliZXJzLXRleHR7Y29sb3I6Izc2NzY3NjtkaXNwbGF5Om5vbmU7bWFyZ2luLWJvdHRvbToyNHB4O21hcmdpbi10b3A6NnB4fS55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtjb2xvcjojNzY3Njc2fS55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6bm9uZX0ueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDttYXgtaGVpZ2h0OjQycHh9Lnl0cC1jZS1jaGFubmVsLC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWVsZW1lbnQtc2hhZG93LC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWV4cGFuZGluZy1pbWFnZXtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utd2Vic2l0ZS10aXRsZXtjb2xvcjojMzMzO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tYm90dG9tOjJweH0ueXRwLWNlLW1lcmNoYW5kaXNlLW1ldGFkYXRhLC55dHAtY2UtbWVyY2hhbmRpc2UtcHJpY2UtY29udGFpbmVyLC55dHAtY2Utd2Vic2l0ZS1tZXRhZGF0YXtjb2xvcjojNzY3Njc2O21hcmdpbi10b3A6NHB4fS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1jZS13ZWJzaXRlLWdvdG97ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi10b3A6NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2UsLnl0cC1jZS13ZWJzaXRlIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM2NDY0NjQ7Zm9udC13ZWlnaHQ6ODAwO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tcmlnaHQ6NnB4fS55dHAtY2UtbWVyY2hhbmRpc2UtYWRkaXRpb25hbC1mZWVze2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM3Njc2NzY7bWFyZ2luLXRvcDoycHg7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlcjoxcHggIzAwMDtvcGFjaXR5Oi44O3BhZGRpbmc6MTBweCAwO3dpZHRoOjEwMCU7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YXtjb2xvcjojZmZmO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWNlLXNpemUtMzQ2IC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lcntwYWRkaW5nOjJweCAwfS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lciwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7cGFkZGluZzo1cHggMH0ueXRwLWNlLWxhcmdlLXJvdW5kIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZCwueXRwLWNlLXBsYXlsaXN0Lnl0cC1jZS1sYXJnZS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1sYXJnZS1yb3VuZHtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1jZS1tZWRpdW0tcm91bmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5kLC55dHAtY2UtcGxheWxpc3QueXRwLWNlLW1lZGl1bS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1tZWRpdW0tcm91bmR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1jZS1wbGF5bGlzdC55dHAtY2Utc21hbGwtcm91bmQsLnl0cC1jZS1zbWFsbC1yb3VuZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmQsLnl0cC1jZS12aWRlby55dHAtY2Utc21hbGwtcm91bmR7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0cC1jZS1tZXJjaGFuZGlzZS1nb3Rve2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0ueXRwLWNlLXNpemUtMzQ2e2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1jb3ZlcmluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTM0Ni55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAwIDAgOHB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDhweCAwIDB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmR7bWFyZ2luOi04cHg7cGFkZGluZzo4cHh9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbToycHg7cmlnaHQ6MnB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7bWFyZ2luLXRvcDowfS55dHAtY2Utc2l6ZS00MjZ7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWNvdmVyaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDI2Lnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQyNi55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXttYXJnaW4tdG9wOjB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLXBsYXlsaXN0LXRpdGxlLC55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS12aWRlby10aXRsZSwueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLXZpZGVvLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWF4LXdpZHRoOjg1JX0ueXRwLWNlLXNpemUtNDcwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtNDcwIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDcwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDcwIC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTUwNntmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtY2hhbm5lbC10aXRsZSwueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtZ290bywueXRwLWNlLXNpemUtNTA2IC55dHAtY2Utd2Vic2l0ZS1nb3Rve2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTUwNi55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA0cHggMCAxMnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01MDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDEycHggMCA0cHh9Lnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS01NzB7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01NzAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNHB4IDAgMTJweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNTcwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxMnB4IDAgNHB4fS55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRwLWNlLXNpemUtNjQwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTVweDttYXgtaGVpZ2h0OjMwcHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS02NDAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgOHB4IDAgMTZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNjQwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgOHB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206OHB4O3JpZ2h0OjhweH0ueXRwLWNlLXNpemUtODUze2ZvbnQtc2l6ZToxNHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDttYXJnaW46MTBweCAxMnB4O21heC1oZWlnaHQ6MzZweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgNnB4IDZweCAwfS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTg1My55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmctdG9wOjhweDttYXgtaGVpZ2h0OjQycHg7ZGlzcGxheTpibG9ja30ueXRwLWNlLXNpemUtODUzLnl0cC1jZS1jaGFubmVsLXRoYXQgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDo1NHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTg1My55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA4cHggMCAxNnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS04NTMueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDE2cHggMCA4cHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLWV4cGFuZGluZy1pY29uey13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI0cHggMjRweDtiYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JvdHRvbTo4cHg7aGVpZ2h0OjMycHg7cmlnaHQ6OHB4O3dpZHRoOjMycHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7dG9wOjRweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtcGxheWxpc3QtY291bnQtdGV4dHtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1sZWZ0OjQwcHh9Lnl0cC1jZS1zaXplLTEyODB7Zm9udC1zaXplOjE4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXZpZGVvLXRpdGxle2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjE4cHggMjBweDttYXgtaGVpZ2h0OjQ4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS12aWRlby1kdXJhdGlvbnttYXJnaW46MCAxMnB4IDEycHggMH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS1tZXRhZGF0YSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNlLWNvbnRhaW5lciwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtZ290bywueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtbWV0YWRhdGF7Zm9udC1zaXplOjE4cHg7bWFyZ2luLXRvcDo4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIxcHg7bWF4LWhlaWdodDo2M3B4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjMycHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9Lnl0cC1jZS1zaXplLTEyODAueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJlcnMtdGV4dHtkaXNwbGF5OmJsb2NrfS55dHAtY2Utc2l6ZS0xMjgwLnl0cC1jZS1jaGFubmVsLXRoaXMgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe21hcmdpbi10b3A6MTJweDtwYWRkaW5nLXRvcDoxMnB4O2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjI2NHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoyNjRweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgMzJweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTEyODAueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDMycHggMCAxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZHttYXJnaW46LTE2cHg7cGFkZGluZzoxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLWljb257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O2JhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7Ym90dG9tOjEwcHg7aGVpZ2h0OjQwcHg7cmlnaHQ6MTBweDt3aWR0aDo0MHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtcGxheWxpc3QtaWNvbntsZWZ0OjEwcHg7dG9wOjhweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweDttYXJnaW4tbGVmdDo0NnB4fS55dHAtY2Utc2l6ZS0xOTIwe2ZvbnQtc2l6ZToyOHB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS12aWRlby10aXRsZXtmb250LXNpemU6MzJweDtsaW5lLWhlaWdodDozOHB4O21hcmdpbjoxOHB4IDIwcHg7bWF4LWhlaWdodDo3NnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgMjBweCAyMHB4IDB9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjM4cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtbWV0YWRhdGEsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1wcmljZS1jb250YWluZXIsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLWdvdG8sLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLW1ldGFkYXRhe2ZvbnQtc2l6ZToyOHB4O21hcmdpbi10b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0OjEwMnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjgwcHg7bWFyZ2luLXRvcDotMTZweDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1tcy10cmFuc2Zvcm06c2NhbGUoMi41KTt0cmFuc2Zvcm06c2NhbGUoMi41KX0ueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmVycy10ZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTE5MjAueXRwLWNlLWNoYW5uZWwtdGhpcyAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjE4cHg7cGFkZGluZy10b3A6MThweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MzkycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjM5MnB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDI0cHggMCA0OHB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNDhweCAwIDI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke21hcmdpbjotMjRweDtwYWRkaW5nOjI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo1NnB4IDU2cHg7YmFja2dyb3VuZC1zaXplOjU2cHggNTZweDtib3R0b206MjBweDtoZWlnaHQ6NjJweDtyaWdodDoyMHB4O3dpZHRoOjYycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1wbGF5bGlzdC1pY29ue2xlZnQ6MTJweDt0b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjU2cHg7bGluZS1oZWlnaHQ6NTZweDttYXJnaW4tbGVmdDo1NnB4fS55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmUueXRwLWNlLXN1YnNjcmliZS1idXR0b257aGVpZ2h0OmF1dG87bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTM0NiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQyNiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQ3MCAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS01MDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTUwNiAueXRwLXNiLXVuc3Vic2NyaWJle2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6OHB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlse2JhY2tncm91bmQtc2l6ZTpjb250YWluOy1tb3otYmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0ueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Lnl0cC1leHAtZnJhbWUwIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXt6LWluZGV4OjEwfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlsIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjstbW96LWJhY2tncm91bmQtc2l6ZTpjb250YWluOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW59LmVuZGVkLW1vZGUgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pLC51bnN0YXJ0ZWQtbW9kZTpub3QoLnBsYXlpbmctbW9kZSkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtY2hhcHRlci1zZWVrLXRleHR7ZGlzcGxheTpub25lO3dpZHRoOjgwJTttYXJnaW4tbGVmdDoxMCU7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNoYXB0ZXItc2VlayAueXRwLWNoYXB0ZXItc2Vlay10ZXh0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9ja31ALXdlYmtpdC1rZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtMXswJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6Ljl9MzMle29wYWNpdHk6LjZ9NTAle29wYWNpdHk6LjN9Njcle29wYWNpdHk6LjN9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTF7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi45fTMzJXtvcGFjaXR5Oi42fTUwJXtvcGFjaXR5Oi4zfTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTJ7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi4zfTMzJXtvcGFjaXR5Oi45fTUwJXtvcGFjaXR5Oi42fTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QGtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0yezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouOX01MCV7b3BhY2l0eTouNn02NyV7b3BhY2l0eTouM304MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0zezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouM301MCV7b3BhY2l0eTouOX02NyV7b3BhY2l0eTouNn04MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtM3swJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6LjN9MzMle29wYWNpdHk6LjN9NTAle29wYWNpdHk6Ljl9Njcle29wYWNpdHk6LjZ9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3l7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNkZGQ7ei1pbmRleDoxOX0ueXRwLWRvdWJsZXRhcC1mYXN0LWZvcndhcmQtdmUsLnl0cC1kb3VibGV0YXAtcmV3aW5kLXZle29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi4yO3otaW5kZXg6LTF9Lnl0cC1kb3VibGV0YXAtc3RhdGljLWNpcmNsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtZG91YmxldGFwLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjIxLDIyMSwyMjEsLjE1KTstd2Via2l0LWFuaW1hdGlvbjpncm93LWNpcmNsZSAuOXMgMTthbmltYXRpb246Z3Jvdy1jaXJjbGUgLjlzIDE7dmVydGljYWwtYWxpZ246bWlkZGxlfUAtd2Via2l0LWtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19QGtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19Lnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeS55dHAtdGltZS1zZWVraW5nIC55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtkaXNwbGF5Om5vbmV9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5Lnl0cC1jaGFwdGVyLXNlZWsgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcnt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWJhY2tdOm5vdCgueXRwLWNoYXB0ZXItc2VlaykgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntsZWZ0OjEwJTt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1mb3J3YXJkXTpub3QoLnl0cC1jaGFwdGVyLXNlZWspIC55dHAtZG91YmxldGFwLXNlZWstaW5mby1jb250YWluZXJ7bGVmdDo4MCU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtZG91YmxldGFwLXRvb2x0aXB7cGFkZGluZy10b3A6OHB4O2NvbG9yOiNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC10b29sdGlwe21hcmdpbi1sZWZ0OjhweH0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLXRvb2x0aXB7bWFyZ2luLWxlZnQ6LTVweH0ueXRwLWRvdWJsZXRhcC10b29sdGlwLWxhYmVse3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zZWVrLWljb24tdGV4dC1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWxlZnQ6MTAlO3dpZHRoOjgwJX0ueXRwLXNlZWstaWNvbnttYXJnaW4tcmlnaHQ6NXB4fS55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MThweDtmb250LXdlaWdodDo3MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtY2hhcHRlci1zZWVrIC55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6YmxvY2t9Lnl0cC1kb3VibGV0YXAtYXJyb3dzLWNvbnRhaW5lcnt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlcjoxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206N3B4IHNvbGlkIHRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxLjJzO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjJzOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9Zm9yd2FyZF0gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3tib3JkZXItbGVmdDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93e2JvcmRlci1yaWdodDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgzKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6Zmlyc3QtY2hpbGR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0xO2FuaW1hdGlvbi1uYW1lOmFycm93LWZhZGUtb3V0LTF9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgyKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDIpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMjthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0yfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9YmFja10gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvdzpmaXJzdC1jaGlsZCwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDMpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMzthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0zfS55dHAtc2Vlay1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtc2Vlay1vdmVybGF5e2Rpc3BsYXk6bm9uZX0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24tYmFja3tsZWZ0OjQ4cHh9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmR7cmlnaHQ6NDhweH0ueXRwLXNlZWstb3ZlcmxheS1kdXJhdGlvbntjb2xvcjp3aGl0ZTtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDoyNHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsLjgpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1iYWNrIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1yaWdodDoyMHB4fS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1mb3J3YXJkIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3ZnIHBhdGh7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIC41cHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctcGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zbGF0ZTowIC01MCV9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWJhY2sgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtsZWZ0OjB9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmQgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtyaWdodDowfS55dHAtc2Vlay1vdmVybGF5LW1lc3NhZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDE4MHB4KX0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLWljb246bm90KDplbXB0eSl7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLXRleHR7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3RleHQtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwuOCk7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtbW9yZS12aWRlb3Mtdmlld3tvdmVyZmxvdzpoaWRkZW59Lnl0cC1tb3JlLXZpZGVvcy12aWV3IGEueXRwLXN1Z2dlc3Rpb24tbGluazpmb2N1czphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1tb3JlLXZpZGVvcy12aWV3Lnl0cC1zY3JvbGwtbWF4IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXN7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTo3MHB4O21hcmdpbjoyNHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MTJweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWJvdHRvbToyNHB4O2ZvbnQtc2l6ZToyOHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3W2FyaWEtaGlkZGVuPXRydWVdIGEueXRwLXN1Z2dlc3Rpb24tbGlua3tvcGFjaXR5OjB9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3cteDphdXRvfS55dHAtdG91Y2gtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7aGVpZ2h0OjE4MHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24taW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6MTA4cHg7d2lkdGg6MTkycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3tiYWNrZ3JvdW5kOiMzMzM7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtoZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTAlKTt3aWR0aDozMnB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQ6aG92ZXIsLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXM6aG92ZXJ7LXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1iaWctbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3toZWlnaHQ6NjRweDt3aWR0aDo2NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHR7cmlnaHQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXByZXZpb3Vze2xlZnQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtib3R0b206MDtmb250LXNpemU6MTJweDtsZWZ0OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjA7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgxMiwxMiwxMiwuOCksdHJhbnNwYXJlbnQgMTAwcHgpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDEyLDEyLDEyLC44KSAwLHRyYW5zcGFyZW50IDEwMHB4KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtmb250LXNpemU6MjBweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbms6aG92ZXIgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7b3BhY2l0eToxfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257YmFja2dyb3VuZDojMDAwO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbTo0cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouNzU7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257Zm9udC1zaXplOjE3cHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbltkYXRhLWlzLWxpdmU9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb246ZW1wdHksLnl0cC1zaG9ydHMtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxlLC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21heC1oZWlnaHQ6MzBweH0ueXRwLWltcHJlc3Npb24tbGlua3tiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjgpO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjJweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoycHg7Ym90dG9tOjVweDtoZWlnaHQ6NDdweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWltcHJlc3Npb24tbGluay10ZXh0e2NvbG9yOndoaXRlO2Zsb2F0OmxlZnQ7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tdG9wOjE2cHh9Lnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3tmbG9hdDpyaWdodDtoZWlnaHQ6MTZweDttYXJnaW4tbGVmdDo5cHg7bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLXRvcDoxNnB4O3dpZHRoOjcycHh9Lnl0cC1tdXNpYy1pbXByZXNzaW9uLWxpbmsgLnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3ttYXJnaW4tdG9wOjE0cHg7bWFyZ2luLWxlZnQ6MDtoZWlnaHQ6MTlweH0ueXRwLW1vYmlsZS1hMTF5LWhpZGRlbi1zZWVrLWJ1dHRvbi1mb3J3YXJkLC55dHAtbW9iaWxlLWExMXktaGlkZGVuLXNlZWstYnV0dG9uLXJld2luZHt3aWR0aDoxcHg7aGVpZ2h0OjFweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5LC55dHAtbXV0ZWQtYXV0b3BsYXktb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwMDE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25ze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjExcHg7Ym90dG9tOjB9Lnl0cC1tdXRlZC1hdXRvcGxheS1ib3R0b20tYnV0dG9ucyAueXRwLWJ1dHRvbiwueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OnVuc2V0O21hcmdpbjowIDRweH0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre3JpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya3tvcGFjaXR5OjF9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXktZXF1YWxpemVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Ym90dG9tOjhweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplcntib3R0b206MTBweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplci1pY29ue21hcmdpbjphdXRvO3RvcDozcHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lcXVhbGl6ZXItaWNvbnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kLXBhbmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOjAgMTAlO2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LXNob3ctZW5kLXBhbmVsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpfS55dHAtbXV0ZWQtYXV0b3BsYXktc2hvdy1lbmQtcGFuZWwgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtcGFuZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7bWFyZ2luLXRvcDo0MHB4fS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHttYXJnaW4tdG9wOjkwcHh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX1Aa2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRwLWVxdWFsaXplci1iYXItbGVmdCwueXRwLWVxdWFsaXplci1iYXItbWlkZGxlLC55dHAtZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDstbXMtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uO2FuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZXF1YWxpemVyLWJhci1sZWZ0ey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi41czthbmltYXRpb24tZHVyYXRpb246LjVzfS55dHAtZXF1YWxpemVyLWJhci1taWRkbGV7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MS4zczthbmltYXRpb24tZHVyYXRpb246MS4zc30ueXRwLWVxdWFsaXplci1iYXItcmlnaHR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjdzO2FuaW1hdGlvbi1kdXJhdGlvbjouN3N9Lnl0cC1wYXVzZS1vdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4O2JvdHRvbTo0OXB4O2RpcmVjdGlvbjpsdHI7bGVmdDowO21hcmdpbjoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NDI7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wYXVzZS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1wYXVzZS1vdmVybGF5LWNvbnRyb2xzLWhpZGRlbiAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOjB9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAuYWQtb3ZlcmxheSwueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC5jYXB0aW9uLXdpbmRvd3tkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC55dHAtcGF1c2Utb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cmlnaHQ6MH0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOmF1dG99Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcGF1c2Utb3ZlcmxheXtvcGFjaXR5Oi4yfS55dHAtY2Utc2hvd24gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtbWVudS1zaG93biAueXRwLXBhdXNlLW92ZXJsYXksLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLXBhdXNlLW92ZXJsYXl7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWNvbGxhcHNlLC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLW5leHQsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcHJldmlvdXMsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZSwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5KSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tkaXNwbGF5Om5vbmV9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5e3BhZGRpbmc6MjRweCAzMnB4IDMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2V7aGVpZ2h0OjIwcHg7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4O3RvcDoxMnB4O3dpZHRoOjIwcHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6NDhweDtyaWdodDowO3RvcDowO3dpZHRoOjQ4cHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZS1pY29ue21hcmdpbjphdXRvO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MzJweDtyaWdodDozNnB4O3RvcDoyNHB4O3dpZHRoOjMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjMycHg7cGFkZGluZzowIDEwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9iaWxlLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2hlaWdodDo0OHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToyNHB4O3BhZGRpbmc6MTBweCAxNXB4fS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZCBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7bWFyZ2luLWJvdHRvbToycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1leHBhbmQgc3Zne3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3B7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjI0Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheXtib3JkZXItcmFkaXVzOjJweDtib3R0b206OHB4O2xlZnQ6OHB4O3JpZ2h0OjhweDttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwYWRkaW5nOjE2cHggMjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXl7cGFkZGluZzoxMnB4IDI0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5e2JvdHRvbTozMnB4O2xlZnQ6MjhweDtyaWdodDoyOHB4fS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91cywueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS55dHAtc2Nyb2xsLW1heCAueXRwLW5leHQsLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtdG91Y2gtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2Rpc3BsYXk6bm9uZX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1yZWxhdGVkLXRpdGxle21hcmdpbi1sZWZ0OjhweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjI0cHg7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzJweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb25ze2RpcmVjdGlvbjpsdHI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tdG9wOjhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3ttYXJnaW4tdG9wOjZweH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tvdmVyZmxvdy14OmF1dG99Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWltYWdle2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwOHB4O3dpZHRoOjE5MnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2JhY2tncm91bmQ6IzMzMztib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2hlaWdodDozMnB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7Ym90dG9tOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLW5leHR7cmlnaHQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0e3JpZ2h0OjMycHh9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2xlZnQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91c3tsZWZ0OmFkZCgyNHB4LDhweCl9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5e2JvdHRvbTowO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtvcGFjaXR5OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDEyLDEyLDEyLC44KSx0cmFuc3BhcmVudCAxMDBweCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7Zm9udC1zaXplOjIwcHh9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IGEueXRwLXN1Z2dlc3Rpb24tbGluazpob3ZlciAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjF9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjJweDtib3R0b206NHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxO29wYWNpdHk6Ljk7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbntmb250LXNpemU6MTdweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb25bZGF0YS1pcy1saXZlPXRydWVde2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1lcnJvci1pbmRpY2F0b3IsI2UxMDAyZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWF1dGhvciwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjhweDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxOHB4O21heC1oZWlnaHQ6MzBweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye29wYWNpdHk6Ljc7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtc21hbGwtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTJweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjExMHB4O2hlaWdodDoyNnB4O2JvdHRvbTozOHB4O3otaW5kZXg6Mjg7b3BhY2l0eTouOTtwYWRkaW5nLXRvcDoxMXB4O3BhZGRpbmctYm90dG9tOjExcHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyazpub3QoLnl0cC1tdXRlZC1hdXRvcGxheS13YXRlcm1hcmspe3JpZ2h0OjE2cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyay55dHAtd2F0ZXJtYXJrLXNtYWxse3dpZHRoOjg1cHg7aGVpZ2h0OjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre2JvdHRvbTo1OXB4fS55dHAtaGlkZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjVweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW5hdGl2ZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjUwcHg7bGVmdDoxNnB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbm8taG92ZXIpOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayk6aG92ZXJ7b3BhY2l0eToxfTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5IC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOnJlbGF0aXZlO2JvdHRvbTowfS55dHAtYXV0b2hpZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJrOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayl7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrKXtkaXNwbGF5Om5vbmV9Om5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVue2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjM2fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tdGFrZW92ZXIuaHRtbDUtZW5kc2NyZWVue2Rpc3BsYXk6bm9uZX0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ286bm90KC55dHAtbXdlYi1wbGF5ZXIpIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvOm5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVuOm5vdCgueXRwLXNob3J0cy1icmFuZGVkLXVpKXttYXJnaW4tdG9wOjMycHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCV9Lnl0cC1lbmRzY3JlZW4tdGFrZW92ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLWNvbnRlbnR7ZGlzcGxheTpub25lfTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6MzJweDtvdmVyZmxvdzp2aXNpYmxlO3JpZ2h0OjMycHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6NDhweDtyaWdodDo0OHB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tbmV4dHtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMzJweDt3aWR0aDozMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0e3JpZ2h0Oi00OHB4O3dpZHRoOjQ4cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wYWdpbmF0ZSAueXRwLWVuZHNjcmVlbi1uZXh0e2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0OmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91c3tkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7bGVmdDotMzJweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2xlZnQ6LTQ4cHg7d2lkdGg6NDhweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXBhZ2luYXRlIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXdlYi1wbGF5ZXIuaHRtbDUtZW5kc2NyZWVue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y3Vyc29yOmRlZmF1bHQ7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MzZ9Lmh0bWw1LWVuZHNjcmVlbi5tb2Rlcm4tdmlkZW93YWxsLWVuZHNjcmVlbntjdXJzb3I6ZGVmYXVsdDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDozNjstd2Via2l0LWFsaWduLWNvbnRlbnQ6Y2VudGVyO2FsaWduLWNvbnRlbnQ6Y2VudGVyfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2ZvbnQtc2l6ZToxMXB4fS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDoxMDAlfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle21hcmdpbi1yaWdodDoxMnB4fS55dHAtZW5kc2NyZWVuLXRha2VvdmVyIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50LC55dHAtZW5kc2NyZWVuLXRha2VvdmVyLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDMxMHB4LDFmcikpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maWxsLG1pbm1heChjbGFtcCgyNTBweCwyNyUsNDUwcHgpLDFmcikpO2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dyaWQtYXV0by1yb3dzOjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtY29sdW1uLWdhcDoxNnB4Oy1tb3otY29sdW1uLWdhcDoxNnB4O2NvbHVtbi1nYXA6MTZweDt3aWR0aDoxMDAlOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7cGFkZGluZzozMnB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXgtaGVpZ2h0OjEwMCV9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLXJvdy0wIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tbGltaXQtcm93cy0xIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1saW1pdC1yb3dzLTIgLnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWNvbnRlbnR7Z3JpZC10ZW1wbGF0ZS1yb3dzOnJlcGVhdCgyLDFmcil9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWxpbWl0LXJvd3MtMyAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDMsMWZyKX0ueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50e29wYWNpdHk6MTtzY3JvbGxiYXItd2lkdGg6bm9uZTtvdmVyZmxvdzpzY3JvbGx9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3RvcDowfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDpjYWxjKDMwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKTtib3R0b206MH0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtZXhwYW5kLWJ1dHRvbiwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1idXR0b25zLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0b3A6MDttYXJnaW4tdG9wOmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpLzIqLTEgKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0KS8yKi0xKTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWJ1dHRvbnMtY29udGFpbmVye21hcmdpbi10b3A6Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCkvMiotMSArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQpLzIqLTEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b257b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpO2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OnZpc2libGU7c2Nyb2xsYmFyLXdpZHRoOm5vbmU7ei1pbmRleDo3Mjtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zne3BhZGRpbmc6Y2FsYygodmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktaWNvbi1zaXplLCAyNHB4KSkvMik7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwyNHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1pY29uLXNpemUsMjRweCl9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KSAtIHZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwgMjRweCkpLzIpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOmNhbGMoMTAwJSAtIDhweCk7aGVpZ2h0OmNhbGMoMTAwJSAtIDhweCk7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOmFsbH06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246aG92ZXI6YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aG92ZXIgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6YWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6aGlkZGVuO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSAtIDZweCAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSA2cHggLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaGVhZGVye2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWR7ZGlzcGxheTpibG9jaztvdmVyZmxvdzp2aXNpYmxlO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZ3JpZC1zY3JvbGxhYmxlLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsYWJsZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7b3BhY2l0eTouNX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtvcGFjaXR5OjF9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5e2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDoxMnB4O2JvcmRlci1yYWRpdXM6MTZweDt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmU6bm90KC5lbmRlZC1tb2RlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7bWFyZ2luLXRvcDoxMnB4fS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5LC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXl7ZGlzcGxheTpub25lfTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5OmhhcygueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmhvdmVyKSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5KX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aGFzKC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3Zlcil9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlOm5vdCguZW5kZWQtbW9kZSkgLnl0cC1mdWxsc2NyZWVuLWdyaWQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpfS55dHAtZ3JpZC1yZXBsYXktYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxOHB4O21hcmdpbi1yaWdodDoxNnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsLWJsZWVkLXBsYXllciAueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JvcmRlci1yYWRpdXM6MzBweH0ueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6Z3JpZDtwYWRkaW5nOjAgMjRweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxNnB4Oy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXIsLnl0cC1ncmlkLXNjcm9sbGluZy55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0b30ueXRwLWZ1bGxzY3JlZW4tZ3JpZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MTAwJTt3aWR0aDoxMDAlO3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZTttYXgtaGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6MDt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZnVsbHNjcmVlbi1ncmlke2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWR7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3BhY2l0eTowfS55dHAtbW9yZS12aWRlb3MtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4Oy13ZWJraXQtY29sdW1uLWdhcDo4cHg7LW1vei1jb2x1bW4tZ2FwOjhweDtjb2x1bW4tZ2FwOjhweDtib3JkZXItcmFkaXVzOjI4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7bGVmdDo0cHg7d2lkdGg6Y2FsYygxMDAlIC0gOHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gOHB4KTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGh1bWJuYWlse3dpZHRoOjQwcHg7YXNwZWN0LXJhdGlvOjE2Lzk7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGl0bGV7Y29sb3I6dmFyKC0tT3ZlcmxheS1PdmVybGF5LVRleHQtUHJpbWFyeSwjZmZmKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDA7Zm9udC1mYW1pbHk6dmFyKC0tVHlwb2dyYXBoeS1Gb250LUZhbWlseSxSb2JvdG8pO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O2xldHRlci1zcGFjaW5nOi4xNnB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDowO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDcycHgpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye3dpZHRoOjEwMCU7cGFkZGluZzowIDI0cHh9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZTpub3QoLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYpIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpudGgtY2hpbGQobis0KXtkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGU6bm90KC55dHAtZW5hYmxlLWhvcml6b250YWwtZW5kc2NyZWVuLXNoZWxmKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6bnRoLWNoaWxkKDQpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93LXg6YXV0bzstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50ey13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWluLXdpZHRoOjMxJX0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b24ueXRwLWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtZ3JpZC1zY3JvbGxpbmcgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0LC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtbW9yZS12aWRlb3MtYnV0dG9uLnl0cC1idXR0b24sLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbi55dHAtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9ye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjQ0O2xpbmUtaGVpZ2h0OjIyMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNDAsNDAsNDApfS55dHAtZW1iZWQtZXJyb3IgLnl0cC1lcnJvcntkaXNwbGF5OmJsb2NrfS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGV7bGluZS1oZWlnaHQ6MTYwJX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZXtsaW5lLWhlaWdodDoyMjAlfS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6ODUlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXh9Lnl0cC1lbWJlZC1lcnJvciAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHttYXJnaW46MCBhdXRvfS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21pbi13aWR0aDo2NHB4O21pbi1oZWlnaHQ6NjRweDtmbG9hdDpsZWZ0fS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lciBzdmd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5OmlubGluZTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O29wYWNpdHk6Ljd9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0Lm5vLWxpbmt7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9yLnJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS12aXNpYmxlIC55dHAtc21hbGwtcmVkaXJlY3QsLnl0cC1mdWxsc2NyZWVuIC55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5Om5vbmV9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0IGF7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcHttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvO21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjEwMCV9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6OTZweDt3aWR0aDo5NnB4O21pbi13aWR0aDo5NnB4O21pbi1oZWlnaHQ6OTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDo2MHB4O3dpZHRoOjYwcHh9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXJlYXNvbntmb250LXNpemU6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZSAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDoycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtsaW5lLWhlaWdodDoxNTAlfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWljb24tY29udGFpbmVye2hlaWdodDozMnB4O3dpZHRoOjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3ItaWNvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcC1yZWFzb257Zm9udC1zaXplOjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC10aW55LW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToxMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWZ1bGxlcnNjcmVlbi1lZHUtYnV0dG9uLnl0cC1idXR0b257d2lkdGg6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1idXR0b24ueXRwLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI0cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbjpub3QoLnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUpIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2hlaWdodDo1MCV9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7aGVpZ2h0OjUwJTttYXJnaW4tdG9wOi04cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUgLnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcnt3aWR0aDoyNHB4fS55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAsLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMSwueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpfX1Aa2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCl9fUBrZXlmcmFtZXMgeXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbns1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KX19Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTB7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0wLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1idXR0b246bm90KFthcmlhLWRpc2FibGVkPXRydWVdKTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0xey13ZWJraXQtYW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWZ1bGxzY3JlZW4tYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXIgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4NnB4O3JpZ2h0OjI0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7bWF4LXdpZHRoOjMzJTt0b3A6MjRweDtsZWZ0OjI0cHg7ei1pbmRleDo1OX0ueXRwLW92ZXJsYXktdG9wLWxlZnQgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe21heC13aWR0aDo2MCV9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbSAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7dG9wOnVuc2V0O2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLXNob3BwaW5nLXBpbGwtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDg2cHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1zaG9wcGluZy1waWxsLXNob3duIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YXtib3R0b206Y2FsYyg4NnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWNocm9tZS10b3AtYnV0dG9uc3t3aWR0aDoxMDAlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6ZW5kOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MDt6LWluZGV4OjU5Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtY2hyb21lLXRvcC1idXR0b25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjA7ei1pbmRleDo1OH0qIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwqIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntvcGFjaXR5Om1heCgxIC0gMyAqIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSwwKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze29wYWNpdHk6MH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3toZWlnaHQ6MDttYXJnaW46MH0uYWQtc2hvd2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLmFkLXNob3dpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnNlZWtpbmctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLW1lbnUtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtbWVudS1zaG93biAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLXNldHRpbmdzLXNob3duIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7ZGlzcGxheTpub25lfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5e3otaW5kZXg6ODI7b3ZlcmZsb3c6aGlkZGVufS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmR7YmFja2dyb3VuZDpuby1yZXBlYXQgNTAlL2NvdmVyO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjgyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjMpO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3otaW5kZXg6ODJ9Lnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktbWluaXBsYXllci1jbG9zZS1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjhweDt6LWluZGV4OjgyfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1taW5pcGxheWVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1iYXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgNnB4O2xlZnQ6MjBweDtoZWlnaHQ6NTZweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjt3aWR0aDozODBweDt6LWluZGV4OjgyfS55dHAtYmlnLW1vZGUgLnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktYmFye3BhZGRpbmc6MCA5cHg7aGVpZ2h0Ojg0cHg7Ym90dG9tOjMwcHg7bGVmdDozMHB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6ODBweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgOHB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym9yZGVyLXJhZGl1czoyNHB4O2JvcmRlci13aWR0aDowO2N1cnNvcjpwb2ludGVyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbi10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjAgOHB4O2xpbmUtaGVpZ2h0OjMycHg7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmZ9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b25ze21hcmdpbjoxOHB4IDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6MTIwcHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDEycHg7Ym9yZGVyLXJhZGl1czozcHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b24tdGl0bGV7bWFyZ2luOjAgMTJweDtsaW5lLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxMzAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnttaW4td2lkdGg6MjcwcHg7bWFyZ2luOjAgOXB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXN1YnRpdGxlLC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1zdWJ0aXRsZXtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1oZWF0LW1hcC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXIsLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2hlaWdodDo0MHB4O2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWhlYXQtbWFwLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MH0ueXRwLWRlbGhpLW1vZGVybi55dHAtaGVhdC1tYXAueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZTpub3QoLmFkLXNob3dpbmcpIC55dHAtaGVhdC1tYXAtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4xcyxtYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXMsbWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjFzO21hcmdpbi1ib3R0b206OHB4fS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3Zlcjpub3QoLmFkLXNob3dpbmcpIC55dHAtdGltZWQtbWFya2Vycy1lbmFibGVkIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2JvdHRvbTo3cHh9Lnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY2hhcHRlciBzdmd7aGVpZ2h0OjQwcHh9Lnl0cC1iaWctbW9kZS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLWhlYXQtbWFwLWNoYXB0ZXIgc3Zne2hlaWdodDo2MHB4fS55dHAtaGVhdC1tYXAtY29udGFpbmVye29wYWNpdHk6MDtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowO2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWhlYXQtbWFwLnl0cC1iaWctbW9kZS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2hlaWdodDo2MHB4O2JvdHRvbTo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtaGVhdC1tYXAtY2hhcHRlci55dHAtaGVhdG1hcC1ob3Zlcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjNweH0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIgLnl0cC1oZWF0LW1hcC1ob3ZlcntoZWlnaHQ6MTAwJTtmaWxsOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtaGVhdC1tYXAtaG92ZXIsLnl0cC1oZWF0LW1hcC1wbGF5e2hlaWdodDowfS55dHAtaGVhdC1tYXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWNvbnRhaW5lcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDowfS55dHAtZmluZS1zY3J1YmJpbmctdGh1bWJuYWlse2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MSAwIGF1dG87ZmxleDoxIDAgYXV0b30ueXRwLWZpbmUtc2NydWJiaW5nLWRyYWdnYWJsZSwueXRwLWZpbmUtc2NydWJiaW5nLXRodW1ibmFpbHN7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO21pbi13aWR0aDoxNjBweDtoZWlnaHQ6MTAwJX0ueXRwLWZpbmUtc2NydWJiaW5nLWN1cnNvcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtoZWlnaHQ6MTAwJTt3aWR0aDozcHg7YmFja2dyb3VuZDojZWVlfS55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLWZpbmUtc2NydWJiaW5nLWRpc21pc3MsLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5LC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLXBsYXl7ZGlzcGxheTpub25lO2hlaWdodDozNXB4O3dpZHRoOjM1cHg7Ym90dG9tOjExMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5e2JvdHRvbToxMjAlfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtZmluZS1zY3J1YmJpbmctcGxheSBzdmd7cGFkZGluZzo4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1kaXNtaXNze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTUlO3JpZ2h0OjEwcHg7aGVpZ2h0OjI1cHg7d2lkdGg6MjVweDtkaXNwbGF5Om5vbmV9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dvcmQtd3JhcDpicmVhay13b3JkOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7cGFkZGluZzoxNXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtZmluZS1zY3J1YmJpbmctY2hhcHRlci10aXRsZXt3aWR0aDoyNDBweDtoZWlnaHQ6MTM1cHh9Lnl0cC1maW5lLXNjcnViYmluZy1lZHV7ZGlzcGxheTpub25lfS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTA3cHh9Lnl0cC1iaWctbW9kZS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTUxcHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVte2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjE2cHggMCAwIDE2cHg7d2lkdGg6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC1iaWctbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjI0cHggMCAwIDI0cHg7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjhweCAxMnB4IDAgMCAwIDhweCAxMnB4IDA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1kaXNjbGFpbWVye2N1cnNvcjpub25lO2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmF1dG87bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1idXR0b257d2lkdGg6MTAwJTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjcycHg7aGVpZ2h0OjU0cHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVse21hcmdpbi1sZWZ0OjEycHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtvdmVyZmxvdzphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVsLC55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW0tbGFiZWx7bWFyZ2luLWxlZnQ6MTJweDtmb250LXNpemU6MTRweDtvdmVyZmxvdzphdXRvfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtc2tyaW17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zKTt6LWluZGV4OjcxfS55dHAtaW5mby1wYW5lbC1kZXRhaWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDphdXRvO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7d2lkdGg6NjAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7b3ZlcmZsb3c6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbCwueXRwLXNtYWxsLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbHt3aWR0aDo2MCV9W2Rpcj1sdHJdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9cnRsXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjE2cHg7bGluZS1oZWlnaHQ6MjRweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjI0cHh9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC10aXRsZXttYXJnaW4tcmlnaHQ6MTRweDstd2Via2l0LWZsZXgtZ3JvdzoyOy13ZWJraXQtYm94LWZsZXg6MjtmbGV4LWdyb3c6Mn0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3Nle3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2V7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1ib2R5e2xpbmUtaGVpZ2h0OjI0cHg7bWluLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO21hcmdpbjowIDE2cHg7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtYm9keXttYXJnaW46MCAyNHB4fS55dHAtaW5mby1wYW5lbC1kZXRhaWwtaXRlbXN7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDE2cHggMTZweCAwfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1za3JpbXt6LWluZGV4OjEwMDJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWluZm8tcGFuZWwtcHJldmlld3toZWlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjEycHg7cmlnaHQ6YXV0bztvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtjdXJzb3I6cG9pbnRlcjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MjY7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlcjppbmhlcml0O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MDtmb250OmluaGVyaXQ7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDI3MnB4KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlld1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjYwcHh9Lnl0cC1lbWJlZC55dHAtc2hvcnRzLW1vZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjEyMnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtYXV0b2hpZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6MTJweH0ueXRwLW11dGVkLWF1dG9wbGF5IC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3otaW5kZXg6MTAwMjt0b3A6MTJweH0ueXRwLWxhcmdlci10YXAtYnV0dG9ucyAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6ODFweH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3RvcDo4MXB4O2JvdHRvbTphdXRvO2xlZnQ6MjRweDtoZWlnaHQ6YXV0bztsaW5lLWhlaWdodDphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtcHJldmlld3ttaW4td2lkdGg6MTMwcHg7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDIwOHB4KX0ueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZTstd2Via2l0LXRyYW5zaXRpb246ZGlzcGxheSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmRpc3BsYXkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjBweDtwb2ludGVyLWV2ZW50czpub25lO2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbjplbXB0eSwueXRwLWluZm8tcGFuZWwtcHJldmlldy1pY29uOmVtcHR5e2hlaWdodDowO3dpZHRoOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctdGV4dHtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46OHB4O2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7b3BhY2l0eToxO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3doaXRlLXNwYWNlOm5vcm1hbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlldy10ZXh0W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9I2lubGluZS1wcmV2aWV3LXBsYXllciAuY2FwdGlvbi13aW5kb3csI2lubGluZS1wcmV2aWV3LXBsYXllciAueXRwLWNhcHRpb24td2luZG93LWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtbW9kZXJuLWNhcHRpb24ueXRwLW13ZWItcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVye3dpZHRoOmNhbGMoMTAwJSAtIDQ4cHgpfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC5jYXB0aW9uLXdpbmRvdywueXRwLW1vZGVybi1jYXB0aW9uLnl0cC1td2ViLXBsYXllciAuY2FwdGlvbi13aW5kb3d7Ym9yZGVyOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1tb2Rlcm4tY2FwdGlvbiNpbmxpbmUtcHJldmlldy1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tb2Rlcm4tY2FwdGlvbi55dHAtbXdlYi1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1pbnB1dC1zbGlkZXJ7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtd3JpdGluZy1tb2RlOmhvcml6b250YWwtdGI7LW1zLXdyaXRpbmctbW9kZTpsci10Yjt3cml0aW5nLW1vZGU6aG9yaXpvbnRhbC10YjtkaXJlY3Rpb246bHRyfS55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwuMikgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tdG9wOi02cHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtaW5wdXQtc2xpZGVyOjotbXMtdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmFyaXNwZWVkLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbSgjZmZmKSxjb2xvci1zdG9wKCNmZmYpLGNvbG9yLXN0b3AoIzkwOTA5MCksdG8oIzkwOTA5MCkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyey13ZWJraXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsOy1tcy13cml0aW5nLW1vZGU6YnQtcmw7d3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsO2RpcmVjdGlvbjpydGw7aGVpZ2h0OmluaGVyaXQ7d2lkdGg6MjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO3dpZHRoOjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsLjIpIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSAxMDAlKTt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0cC12ZXJ0aWNhbC1zbGlkZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie21hcmdpbi1yaWdodDotNnB4fS55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRodW1ie21hcmdpbi1yaWdodDowfX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3dpZHRoOjQ2cHg7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3BhZGRpbmc6OXB4O2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVke2Rpc3BsYXk6YmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3BhZGRpbmctdG9wOjEycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b257cGFkZGluZy10b3A6N3B4fS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVkLC55dHAtdGlueS1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b24ueXRwLWp1bXAtYnV0dG9uLWVuYWJsZWR7ZGlzcGxheTpub25lfS55dHAtanVtcC1idXR0b24tdGV4dHtmaWxsOiNmZmY7Zm9udC1zaXplOjlweDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Zm9udC13ZWlnaHQ6OTAwfS55dHAtanVtcC1zcGluIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3BpbjthbmltYXRpb24tbmFtZTp5dHAtanVtcC1zcGluOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9Lnl0cC1qdW1wLXNwaW4uYmFja3dhcmRzIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtanVtcC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtanVtcC1zcGluLWJhY2t3YXJkc3swJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW4tYmFja3dhcmRzezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fS55dHAtbGFyZ2UtcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTt3aWR0aDo2OHB4O2hlaWdodDo0OHB4O21hcmdpbi1sZWZ0Oi0zNHB4O21hcmdpbi10b3A6LTI0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo2M30ueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC1zaG9ydHMtbW9kZXt3aWR0aDo2OHB4O2hlaWdodDo5MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtc2hvcnRzLW1vZGV7d2lkdGg6MTAycHg7aGVpZ2h0OjEzNXB4fS55dHAtZG5pIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLXNtYWxsLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbnt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O21hcmdpbi1sZWZ0Oi0zNy41cHg7bWFyZ2luLXRvcDotMzcuNXB4fS5ob3VzZS1icmFuZCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXRvcDotMzBweH0ueXRwLWxhcmdlLXBsYXktYnV0dG9uIHN2Z3toZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ueXRwLWRuaSAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXkgLnl0cC1kbmktbGFyZ2UtcGxheS1idXR0b24tYmd7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ZmlsbC1vcGFjaXR5Oi44fS55dHAtZG5pIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWRuaS1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmaWxsLW9wYWNpdHk6MX0ueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6MTAycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWxlZnQ6LTUxcHg7bWFyZ2luLXRvcDotMzZweH0uaG91c2UtYnJhbmQueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6OTBweDtoZWlnaHQ6OTBweDttYXJnaW4tbGVmdDotNDVweDttYXJnaW4tdG9wOi00NXB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheVthcmlhLWhpZGRlbj10cnVlXSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLC55dHAtbWVudS1zaG93biAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZC1wYW5lbCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtmaWxsOiMyMTIxMjE7ZmlsbC1vcGFjaXR5Oi44fS55dHAtbGFyZ2UtcGxheS1idXR0b24tcmVkLWJnIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyk7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtdG91Y2gtZGV2aWNlIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJney13ZWJraXQtdHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2ZpbGw6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpO2ZpbGwtb3BhY2l0eToxfS55dHAtY29sb3ItcGFydHkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1jb2xvci1wYXJ0eSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC10b3VjaC1kZXZpY2UgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZywueXRwLWNvbG9yLXBhcnR5IC55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXk6aG92ZXIgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktZmlsbCAuMTVzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWZpbGwgLjE1cyBsaW5lYXIgaW5maW5pdGV9LmhvdXNlLWJyYW5kIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJnLC5ob3VzZS1icmFuZCAueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDojMDAwfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NzI7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6cmdiYSgxNywxNywxNywuOCk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtkaXNwbGF5OmJsb2NrO3dpZHRoOjQwMHB4O292ZXJmbG93LXk6YXV0b31odG1sW2RhcmtdIC55dHAtbGlua2VkLWFjY291bnQtcG9wdXB7YmFja2dyb3VuZDpyZ2JhKDMzLDMzLDMzLC45NSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLWJ1dHRvbnN7cGFkZGluZzo4cHggOHB4IDhweCAyNHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYigyMzgsMjM4LDIzOCk7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtYnV0dG9ue2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMDA3cHg7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MTBweCAxNnB4fWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC1idXR0b257Y29sb3I6IzNlYTZmZn0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLXRpdGxle2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI4cHg7bWFyZ2luOjE2cHggMjRweDtjb2xvcjpyZ2IoMywzLDMpfWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC10aXRsZXtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtZGVzY3JpcHRpb257cGFkZGluZzowIDI0cHg7bWFyZ2luOjRweCAwIDI0cHh9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jb25maXJte2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzY2Njt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jYW5jZWx7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbjoxMnB4IDA7cGFkZGluZzoxMHB4IDIwcHg7Ym9yZGVyLXJhZGl1czoycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbWR4LXBvcHVwLWRpYWxvZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1tZHgtcG9wdXAtZGlhbG9nLWlubmVyLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW4tdG9wOi03MHB4O2xlZnQ6MDtyaWdodDowO3BhZGRpbmc6MCAyMCV9Lnl0cC1tZHgtcG9wdXAtdGl0bGV7Zm9udC1zaXplOjIwcHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1keC1wb3B1cC1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLW1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDoyMHB4O2hlaWdodDo0NHB4fS55dHAtYmlnLW1vZGUgLm1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDozMHB4O2hlaWdodDo2N3B4fS5odG1sNS12aWRlby1wbGF5ZXIueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5lbmRlZC1tb2RlKTpub3QoLmN1ZWQtbW9kZSk6bm90KC51bnN0YXJ0ZWQtbW9kZSl7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC15cGMtcGxheWVyLWNvbnRlbnR7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci11aXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXt6LWluZGV4OjY4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KX0ueXRwLW1pbmlwbGF5ZXItc2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtdHJhbnNpdGlvbjouMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgLjFzO3RyYW5zaXRpb246LjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpIC4xcztvcGFjaXR5OjA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1taW5pcGxheWVyLXNjcmltOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtcGxheWVyLW1pbmltaXplZC51bnN0YXJ0ZWQtbW9kZSAueXRwLW1pbmlwbGF5ZXItc2NyaW17b3BhY2l0eToxfS55dHAtbWluaXBsYXllci1zY3JpbTpob3ZlcntvcGFjaXR5OjF9Lnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5lbmRlZC1tb2RlIC55dHAtbWluaXBsYXllci1idXR0b25ze2Rpc3BsYXk6YmxvY2t9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24tYm90dG9tLXJpZ2h0e2JvdHRvbTo0cHg7cmlnaHQ6MH0ueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbi10b3AtbGVmdHt0b3A6MDtsZWZ0OjB9Lnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo4cHg7Ym90dG9tOjhweDt3aWR0aDozMnB4O2hlaWdodDozMnB4O3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jb250cm9sc3tkaXJlY3Rpb246bHRyO2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjI2NHB4Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcnttaW4td2lkdGg6NjRweH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjY0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtbmV4dC1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcHJldi1idXR0b257d2lkdGg6MzJweDtoZWlnaHQ6MzJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXJ7bWluLXdpZHRoOjMycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcGxheS1idXR0b257d2lkdGg6NDJweDtoZWlnaHQ6NDJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWNvbnRyb2xzIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjdweDtib3R0b206MH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkueXRwLWxpdmUgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aXtkaXNwbGF5OmJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRpdGxle3dpZHRoOjIwMCU7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NDhweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC1leHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdHtib3R0b206MXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjQpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuNCk7dHJhbnNmb3JtOnNjYWxlWSgxLjQpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0xcHg7ei1pbmRleDo2OH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC10aW1lLWRpc3BsYXl7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXJ7Ym90dG9tOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC52aWRlby1hZHMsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC52aWRlby1hZHN7ZGlzcGxheTpibG9ja30ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheXtvdmVyZmxvdzpoaWRkZW59Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktZmx5b3V0LWN0YSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJ7Ym90dG9tOjMycHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206M3B4O2xlZnQ6NnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsIC55dHAtdG9vbHRpcC10aXRsZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO2ZvbnQtc2l6ZToxMnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3e21heC13aWR0aDpjYWxjKDEwMCUgLSAyNHB4KTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtcGxheWVyLW1pbmltaXplZCAuaHRtbDUtbWFpbi12aWRlbywueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1taW5pcGxheWVyLXNjcmlte2JvcmRlci1yYWRpdXM6MTJweCAxMnB4IDAgMH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLmh0bWw1LW1haW4tdmlkZW97Ym9yZGVyLXJhZGl1czowfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUgLmh0bWw1LW1haW4tdmlkZW8sLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1wbGF5ZXItZG9jdW1lbnQtcGljdHVyZS1pbi1waWN0dXJlIC55dHAtbWluaXBsYXllci1zY3JpbSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUuaHRtbDUtdmlkZW8tcGxheWVye2JvcmRlci1yYWRpdXM6MH0ueXRwLXRpdGxlLW5vdGlmaWNhdGlvbnN7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4tcmlnaHQ6NXB4O3RleHQtYWxpZ246Y2VudGVyfWJ1dHRvbi55dHAtYnV0dG9uLnl0cC10aXRsZS1ub3RpZmljYXRpb25ze21hcmdpbi1sZWZ0OjhweDt3aWR0aDo0OHB4fS55dHAtdGl0bGUtbm90aWZpY2F0aW9uczpub3QoLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQpIC55dHAtdGl0bGUtbm90aWZpY2F0aW9ucy1vbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1ub3RpZmljYXRpb25zLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQgLnl0cC10aXRsZS1ub3RpZmljYXRpb25zLW9mZntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRle3otaW5kZXg6MjE7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bm8tcmVwZWF0IDUwJS9jb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIyfS55dHAtb2ZmbGluZS1zbGF0ZS55dHAtb2ZmbGluZS1zbGF0ZS1oaWRlLWJhY2tncm91bmQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhY2tncm91bmR7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUueXRwLW9mZmxpbmUtc2xhdGUtaGlkZS1iYWNrZ3JvdW5kIC55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlOm5vdCgueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlcikgLnl0cC1vZmZsaW5lLXNsYXRlLWJhci1mYWRlLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MCA2cHg7bGVmdDoxMnB4O2hlaWdodDo1NnB4O2JvdHRvbTo2MHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2ZmZjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo0Njtib3JkZXItcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwuNik7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1iYXIueXRwLW9mZmxpbmUtc2xhdGUtYmFyLWhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0cC1lbWJlZCAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo1MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nOjAgOXB4O2hlaWdodDo4NHB4O2JvdHRvbTo5MHB4O2xlZnQ6MThweH0ueXRwLWVtYmVkLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo5MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntib3R0b206MTJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1iYXJ7Ym90dG9tOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWljb257bWFyZ2luOjAgMTRweDt3aWR0aDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue3dpZHRoOjM2cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257bWluLXdpZHRoOjgwcHg7aGVpZ2h0OjMycHg7cGFkZGluZzowIDhweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjI1KTtib3JkZXItcmFkaXVzOjJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6IzI4MjgyOH0ueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbiBzdmd7ZmlsbDojMjgyODI4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MCA4cHg7bGluZS1oZWlnaHQ6MzJweDtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo1MDB9Lnl0cC1yZW1pbmRlci1tZW51e2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjU1cHg7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLXJlbWluZGVyLW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbWluZGVyLW1lbnUtY29udGVudHN7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNlZWU7ZGlzcGxheTp0YWJsZTtwYWRkaW5nOjhweCAwO3dpZHRoOjEwMCV9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW17Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTp0YWJsZS1yb3c7aGVpZ2h0OjQwcHg7b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW17aGVpZ2h0OjQ5cHh9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLXJlbWluZGVyLW1lbnUtaXRlbTpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW0taWNvbiwueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1sYWJlbHtkaXNwbGF5OnRhYmxlLWNlbGw7cGFkZGluZzowIDE1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWxhYmVse2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW0tbGFiZWx7cGFkZGluZzowIDE1cHggMCAwfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb257cGFkZGluZzowIDEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uc3ttYXJnaW46MThweCA5cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue21pbi13aWR0aDoxMjBweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjNweH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHttYXJnaW46MCAxMnB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtb2ZmbGluZS1zbGF0ZS1tZXNzYWdlc3std2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtbWVzc2FnZXN7bWluLXdpZHRoOjI3MHB4O21hcmdpbjowIDlweH0ueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0LC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtb2ZmbGluZS1zbGF0ZS1tYWluLXRleHR7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NDAwfS55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e2ZvbnQtc2l6ZToxMTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dG9wOjA7Ym90dG9tOjA7bGVmdDphdXRvO3JpZ2h0OjA7cGFkZGluZzoyNXB4O3BhZGRpbmctdG9wOjQ4cHg7bWluLXdpZHRoOmF1dG87d2lkdGg6MzAwcHg7aGVpZ2h0OmF1dG87Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtdHJhbnNpdGlvbjpyaWdodCAuMjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246cmlnaHQgLjI1cyBlYXNlLWluLW91dDt6LWluZGV4OjIzfS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nLXRvcDo2OXB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntyaWdodDotMTAwJX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtaWNvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWNsb3NlLWJ1dHRvbiwueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b257cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDt0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotMjVweDt6LWluZGV4OjIzfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1jbG9zZS1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b246YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4O2xlZnQ6MTVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDoyMHB4fS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyLnl0cC1vZmZsaW5lLXNsYXRlLWNvbGxhcHNlZCAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1lc3NhZ2Vzey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6bm9uZTtmbGV4Om5vbmU7bWFyZ2luOjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1haW4tdGV4dHtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0e21hcmdpbi10b3A6MH0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtc3VidGl0bGUtdGV4dHtjb2xvcjojYWFhO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuM2VtO21hcmdpbjo1cHggMCAyMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e21hcmdpbi1sZWZ0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWRlc2NyaXB0aW9ue2Rpc3BsYXk6YmxvY2s7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXNpemU6MTNweDttYXJnaW46MjBweCAwO21heC1oZWlnaHQ6MzAwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b25ze21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnMgLnl0cC1yZW1pbmRlci1tZW51e2JvdHRvbTphdXRvfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDphdXRvO3BhZGRpbmc6NHB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbiBzdmd7ZmlsbDojZmZmfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHtmb250LXNpemU6MTEwJTtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowIDhweH0ueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttaW4td2lkdGg6NDhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1vdmVyZmxvdy1idXR0b257cGFkZGluZy10b3A6MTZweH0ueXRwLW92ZXJmbG93LWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1vdmVyZmxvdy1wYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc0O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1vdmVyZmxvdy1wYW5lbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1vdmVyZmxvdy1wYW5lbC1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luLXRvcDotNDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6MTJweDtwYWRkaW5nOjA7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLW1vYmlsZS55dHAtZW1iZWQtbW9iaWxlIC55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2V7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1vdmVyZmxvdy1wYW5lbC1hY3Rpb24tYnV0dG9uc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo4cHggMTJweCA3MnB4O3otaW5kZXg6NTk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnQ+Kntwb2ludGVyLWV2ZW50czphdXRvO21hcmdpbi1ib3R0b206MTJweH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6YXV0b30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25ze21hcmdpbi1ib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25zPip7bWFyZ2luLWJvdHRvbToxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2JvdHRvbTowfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdD4qe3BvaW50ZXItZXZlbnRzOmF1dG87bWFyZ2luLXRvcDoxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktaW5saW5lLWNvbnRhaW5lcnt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Z2FwOjEycHh9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXI+Kntwb2ludGVyLWV2ZW50czphdXRvfS55dHAtb3ZlcmxheXMtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzO3RyYW5zaXRpb246Ym90dG9tIC4xczstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIDBzO3RyYW5zaXRpb246Ym90dG9tIDBzfS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7aW5zZXQ6OHB4IDI0cHggNzhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1kZWxoaS1tb2Rlcm4pIC55dHAtb3ZlcmxheXMtY29udGFpbmVye3RvcDo2OXB4O2JvdHRvbTo3OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAyNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOjI0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTozNnB4fS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257ZGlzcGxheTpub25lfS55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjUzcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwOS4wOTA5MDkwOTA5JTtoZWlnaHQ6MzBweDtsZWZ0OjI1cHg7bGluZS1oZWlnaHQ6MzBweDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6Mjd9Lnl0cC1iaWctbW9kZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2ZvbnQtd2VpZ2h0OjQwMDtoZWlnaHQ6YXV0bztwb2ludGVyLWV2ZW50czphdXRvO3RvcDoxNnB4O2xlZnQ6MTZweDtyaWdodDphdXRvfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHggMCA4cHggOHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rW2hyZWY9IiMiXXtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZDpub25lOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6OHB4fS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1jaGV2cm9ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWNoZXZyb246ZW1wdHksLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWljb246ZW1wdHl7aGVpZ2h0OjA7d2lkdGg6MH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTphdXRvO2hlaWdodDphdXRvO2xlZnQ6MTZweDtsaW5lLWhlaWdodDppbmhlcml0fS55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXt0b3A6NjRweH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtaGlkZS1pbmZvLWJhciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7dG9wOjE2cHh9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5Om5vbmV9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXktbGlua3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO3BhZGRpbmc6NXB4O2JvcmRlci1sZWZ0OnVuc2V0fS55dHAtZGVsaGktbW9kZXJuLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5OmJsb2NrO3dpZHRoOjRweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7bWFyZ2luOjAgOHB4fS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206NDVweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MzJweDtvcGFjaXR5OjE7cGFkZGluZzowIDE0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTo2MnB4O2hlaWdodDo0MnB4O2xlZnQ6NDRweDtsaW5lLWhlaWdodDo0MnB4fS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym90dG9tOjZweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1iaWctbW9kZS55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206MTJweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHRbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW1lbnVpdGVte2Rpc3BsYXk6dGFibGUtcm93O2N1cnNvcjpkZWZhdWx0O291dGxpbmU6bm9uZX0ueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW06bm90KC55dHAtbWVudWl0ZW0td2l0aC1mb290ZXIpe2hlaWdodDo0OXB4fS55dHAtbWVudWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLW1lbnVpdGVtOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1tZW51aXRlbS1pY29uLC55dHAtbWVudWl0ZW0tbGFiZWwsLnl0cC1tZW51aXRlbS1zZWNvbmRhcnktaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjB9Lnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0taWNvbiBzdmd7ZGlzcGxheTpibG9jazt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dHAtbWVudWl0ZW0tc2Vjb25kYXJ5LWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLWRlbGhpLW1vZGVybikgLnl0cC1tZW51aXRlbS1pY29uIHN2Z3t3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6dW5zZXR9Lnl0cC1tZW51aXRlbS1sYWJlbC13cmFwcGVye2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1tZW51aXRlbS1rZXlib2FyZC1zaG9ydGN1dHtmb250LXNpemU6MTE1JTtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOiNjY2N9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1tZW51aXRlbXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1wYW5lbC1tZW51e21hcmdpbi1yaWdodDoxMHB4fS55dHAtcXVhbGl0eS1tZW51IC55dHAtbWVudWl0ZW0tbGFiZWwgc3Vwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjB9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWxhYmVse3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1jb250ZW50e2Rpc3BsYXk6bm9uZX0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1sYWJlbHtwYWRkaW5nLWxlZnQ6MzVweDtwYWRkaW5nLXJpZ2h0OjIwcHg7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVtyb2xlPW1lbnVpdGVtcmFkaW9dIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjUycHg7cGFkZGluZy1yaWdodDozNXB4fS55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS1sYWJlbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUa2dNVFl1TWlBMExqZ2dNVEpzTFRFdU5DQXhMalJNT1NBeE9TQXlNU0EzYkMweExqUXRNUzQwZWlJdlBqd3ZjM1puUGc9PSk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAxMHB4IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjE4cHggMThweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToxOHB4IDE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tbGFiZWx7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IDE1cHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToyN3B4IDI3cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MjdweCAyN3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI3cHggMjdweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1pY29uey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbDpmaXJzdC1jaGlsZHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDJweCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1lbnVpdGVtOmZvY3VzIC55dHAtbWVudWl0ZW0tY29udGVudHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXTpmb2N1cyAueXRwLW1lbnVpdGVtLWxhYmVsey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW1lbnVpdGVtLWNvbnRlbnR7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpyaWdodH0ueXRwLW1lbnVpdGVtLXN1YmxhYmVse2Zsb2F0OmxlZnR9Lnl0cC1tZW51LWxhYmVsLXNlY29uZGFyeSwueXRwLW1lbnVpdGVtLXN1YmxhYmVse2ZvbnQtc2l6ZTo5MSU7Y29sb3I6I2NjY30ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDlweCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjMycHggMzJweDstbW96LWJhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O3BhZGRpbmctcmlnaHQ6MzhweH0ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfVtkaXI9cnRsXSAueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFNUxqUXhJREl3TGpBNUxUUXVOVGd0TkM0MU9TQTBMalU0TFRRdU5UbE1NVGdnT1M0MWJDMDJJRFlnTmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEzcHggY2VudGVyO2JhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDtwYWRkaW5nLXJpZ2h0OjU3cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS1jb250ZW50e2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEycHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToxOHB4IDE4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjE4cHggMThweDtwYWRkaW5nLXJpZ2h0OjMycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKdE9TNDBJREU0TGpRdExqY3RMamNnTlM0MkxUVXVOaTAxTGpjdE5TNDNMamN0TGpjZ05pNDBJRFl1TkhvaUx6NDhMM04yWno0PSl9Lnl0cC1kZWxoaS1tb2Rlcm4gW2Rpcj1ydGxdIC55dHAtbWVudWl0ZW1bYXJpYS1oYXNwb3B1cD10cnVlXSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKTk1UUXVPVFlnTVRndU9UWWdPQ0F4TW13MkxqazJMVFl1T1RZdU56RXVOekZNT1M0ME1TQXhNbXcyTGpJMUlEWXVNalY2SWk4K1BDOXpkbWMrKX0ueXRwLW1lbnVpdGVtIHN1cHtsaW5lLWhlaWdodDowO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW1lbnVpdGVtLWxhYmVsLWNvdW50e2NvbG9yOiNjY2N9Lnl0cC1tZW51aXRlbXRpdGxle3BhZGRpbmc6MCAxNXB4O21heC13aWR0aDoyMDBweDt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW10aXRsZXtwYWRkaW5nOjAgMjJweDttYXgtd2lkdGg6MzAwcHh9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNle21hcmdpbi1sZWZ0Oi44ZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlIHN2Z3toZWlnaHQ6MjBweDt3aWR0aDoyMHB4O21hcmdpbi1ib3R0b206LTRweH0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdWdnZXN0ZWQtYWN0aW9uKX0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodC10cmFuc2l0aW9uLWVuYWJsZWQueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVkKXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzcyBsaW5lYXIgMXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDNzIGxpbmVhciAxc30ueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXRvcDoxNXB4fS55dHAtbWVudWl0ZW0tZm9vdGVye3BhZGRpbmctdG9wOjVweH0ueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7Y29sb3I6I2VlZTtwYWRkaW5nOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZzowfS55dHAtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1wYW5lbHttaW4td2lkdGg6MjUwcHh9Lnl0cC1wYW5lbC1oZWFkZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yKTtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToxMDklO2NvbG9yOiNlZWU7cGFkZGluZzo4cHggMDtoZWlnaHQ6NDBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7bGluZS1oZWlnaHQ6aW5oZXJpdDtmb250LXNpemU6MTE4JTtmb250LXdlaWdodDo1MDA7Y29sb3I6I2VlZTtwYWRkaW5nOjE2cHggMDttaW4taGVpZ2h0OjQwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI1MHB4fS55dHAtcGFuZWwtZm9vdGVyLWNvbnRlbnR7bWFyZ2luOjAgMTBweH0ueXRwLXBhbmVsLWZvb3Rlci55dHAtcGFuZWwtaGlkZS1mb290ZXJ7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1wYW5lbC1mb290ZXItY29udGVudC1saW5re2NvbG9yOiMxNjdhYzZ9Lnl0cC10b3VjaC1tb2RlIC55dHAtcGFuZWwtaGVhZGVye2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC1oZWFkZXJ7aGVpZ2h0OjQ5cHh9Lnl0cC1wYW5lbC1iYWNrLWJ1dHRvbi1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDhweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo0OHB4fS55dHAtcGFuZWwtYmFjay1idXR0b257YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXpNaUF6TWlJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGliVEU1TGpReElESXdMakE1TFRRdU5UZ3ROQzQxT1NBMExqVTRMVFF1TlRsTU1UZ2dPUzQxYkMwMklEWWdOaUEyZWlJdlBqd3ZjM1puUGc9PSk7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLXBhbmVsLXRpdGxlOmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtcGFuZWwtb3B0aW9uc3ttYXJnaW4tbGVmdDphdXRvfS55dHAtcGFuZWwtdGl0bGV7Zm9udC13ZWlnaHQ6NTAwfVtkaXI9cnRsXSAueXRwLXBhbmVsLXRpdGxle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC10aXRsZXtiYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7cGFkZGluZzowIDE1cHggMCA1MnB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXBhbmVsLXRpdGxle3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLXBhbmVsLW9wdGlvbnN7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEwcHg7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWJpZy1tb2RlIC55dHAtcGFuZWwtb3B0aW9uc3twYWRkaW5nOjAgMTVweH0ueXRwLXBhbmVsLW1lbnV7cGFkZGluZzo4cHggMDtkaXNwbGF5OnRhYmxlO3dpZHRoOjEwMCU7Y29sb3I6I2VlZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NDZweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDo4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3BhZGRpbmc6MTBweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7cGFkZGluZzoxOHB4fS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1iaWctbW9kZS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NTJweDtoZWlnaHQ6NTJweDttYXJnaW4tdG9wOjZweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjE0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEycHggMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7cGFkZGluZzo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo2OXB4fS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NjBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uLXBsYXlsaXN0e21hcmdpbi10b3A6MTJweDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcHJldi1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1uZXh0LWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXByZXYtYnV0dG9uLC55dHAtZW1iZWQueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLW5leHQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheS1idXR0b24sLnl0cC1wcmV2LWJ1dHRvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG99Lnl0cC1wbGF5bGlzdC1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtib3R0b206MDt3aWR0aDo0MDBweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjczO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51e2xlZnQ6YXV0bztyaWdodDowfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51e3dpZHRoOjYwMHB4fVtkaXI9bHRyXSAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtcGxheWxpc3QtbWVudVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX1bZGlyPXJ0bF0gLnl0cC1wbGF5bGlzdC1tZW51W2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX1bZGlyPXJ0bF0gLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1wbGF5bGlzdC1tZW51LWhlYWRlcntwYWRkaW5nOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQ0NH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1oZWFkZXJ7cGFkZGluZzoyM3B4fS55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmctcmlnaHQ6MTVweDtmb250LXNpemU6MTM2JTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3BhZGRpbmctcmlnaHQ6MjNweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXBsYXlsaXN0LW1lbnUtc3VidGl0bGV7Y29sb3I6I2I4YjhiODtsaW5lLWhlaWdodDoxN3B4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LXN1YnRpdGxle2xpbmUtaGVpZ2h0OjI2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1jbG9zZXt0b3A6MjNweDtyaWdodDoyM3B4O3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtcGxheWxpc3QtbWVudS1jbG9zZTpob3ZlciBwYXRoe2ZpbGw6I2ZmZn0ueXRwLXBsYXlsaXN0LW1lbnUtaXRlbXN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjY4cHg7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1pdGVtc3t0b3A6MTAzcHh9Lnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24sLnl0cC1lbWJlZC1wbGF5bGlzdC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue21hcmdpbjphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmctcmlnaHQ6NnB4O2xpbmUtaGVpZ2h0OjM2cHg7b3BhY2l0eToxfS55dHAtZW1iZWQtcGxheWxpc3Q6bm90KC55dHAtc21hbGwtbW9kZSkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbnttYXJnaW4tbGVmdDoxMHB4O21hcmdpbi1yaWdodDoxMHB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmc6MDtsaW5lLWhlaWdodDppbmhlcml0O29wYWNpdHk6MTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHh9Lnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb24sLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7ZGlzcGxheTpibG9ja30ueXRwLWVtYmVkLXBsYXlsaXN0Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRpbnkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e2Rpc3BsYXk6Tm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDo1NHB4fS55dHAtZW1iZWQtcGxheWxpc3QueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToyMHB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbiwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWluLXdpZHRoOjQ4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWFyZ2luLXRvcDo5cHg7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzttaW4td2lkdGg6MzZweDttaW4taGVpZ2h0OjM2cHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjlweDtib3JkZXItcmFkaXVzOjI3cHg7bWF4LXdpZHRoOjQwMHB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb257LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDpub25lO2ZsZXg6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDp1bnNldDt6LWluZGV4OjU4fS55dHAtaGlkZS1pbmZvLWJhciAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXNjcnViYmVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDtsZWZ0Oi02LjVweDt6LWluZGV4OjQzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItY29udGFpbmVye3RvcDotM3B4O2xlZnQ6LTZweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi05LjVweDtsZWZ0Oi0xMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lcnt0b3A6LTlweDtsZWZ0Oi0xMnB4fS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi02cHg7bGVmdDotMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi04cHg7bGVmdDotMTBweH0ueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6MTNweDt3aWR0aDoxM3B4O2JvcmRlci1yYWRpdXM6Ni41cHg7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9ue2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0qIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLWhpZGUtc2NydWJiZXItYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTstbXMtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS41NCk7dHJhbnNmb3JtOnNjYWxlKDEuNTQpfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1idXR0b257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7Ym90dG9tOjIwcHg7bGVmdDoxMHB4fS55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntkaXNwbGF5Om5vbmU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9ue2Rpc3BsYXk6YmxvY2t9LnlwYy1sb2FkZWQgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IzI3OTNlNn0uYWQtaW50ZXJydXB0aW5nIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmYzB9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLXByb2dyZXNzLWJhcjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS42Nyk7dHJhbnNmb3JtOnNjYWxlKDEuNjcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRyYWcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zY3J1YmJlci1idXR0b24taG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7dHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1kcmFnIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjE2NjY2NjY2NjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTt0cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQyO2JvdHRvbToxNi45cHg7bGVmdDo2LjVweDstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ueXRwLXNjcnViYmVyLXB1bGwtaW5kaWNhdG9yOmFmdGVyLC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO3dpZHRoOjYuNXB4O2hlaWdodDo2LjVweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweCAwIDAgMnB4O2JvcmRlci1jb2xvcjojZWFlYWVhfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlcnstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xczt0cmFuc2l0aW9uOmFsbCAuMXN9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjpiZWZvcmV7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbjphbGwgLjJzfS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXIsLnl0cC1jaGFwdGVycy1jb250YWluZXJ7ei1pbmRleDozMjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7aGVpZ2h0OjEwMCV9Lnl0cC1jaGFwdGVycy1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItaG92ZXItY29udGFpbmVye2Zsb2F0OmxlZnR9Lnl0cC1wcm9ncmVzcy1saXN0e3otaW5kZXg6Mzk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKTtoZWlnaHQ6MTAwJTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1saXN0e292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsLjYpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6bHVtaW5vc2l0eX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWV4Y2x1c2lvbi55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtbGlzdHtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb259Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uNXB4KSBzY2FsZVkoLjYyNSl9Lnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1wcm9ncmVzcy1saXN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtdG91Y2gtbW9kZSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtZHJhZyAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdCwueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkueXRwLXRpbWVkLW1hcmtlcnMtZW5hYmxlZCAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSB1bnNldDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB1bnNldCwtd2Via2l0LXRyYW5zZm9ybSB1bnNldH0ueXRwLXJlcGVhdGluZy1jaGFwdGVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpfS55dHAtYm91bmQtdGltZS1sZWZ0LC55dHAtYm91bmQtdGltZS1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Om5vbmU7dG9wOi0yOXB4O3otaW5kZXg6Mjk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZTNlM2UzO3BhZGRpbmc6NXB4IDlweDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGVhc2UtaW47dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBlYXNlLWlufS55dHAtYmlnLW1vZGUgLnl0cC1ib3VuZC10aW1lLWxlZnQsLnl0cC1iaWctbW9kZSAueXRwLWJvdW5kLXRpbWUtcmlnaHR7dG9wOi0zNnB4fS55dHAtYm91bmQtdGltZS1sZWZ0e2xlZnQ6MH0ueXRwLWJvdW5kLXRpbWUtcmlnaHR7cmlnaHQ6MH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlciwueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtib3R0b206LTVweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1zdHlsZTpzb2xpZH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlcntsZWZ0OjA7Ym9yZGVyLXdpZHRoOjVweCA1cHggMCAwO2JvcmRlci1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cmlnaHQ6MDtib3JkZXItd2lkdGg6MCA1cHggNXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHJnYmEoMjgsMjgsMjgsLjkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3MsLnl0cC1hZC1wcm9ncmVzcywueXRwLWNsaXAtZW5kLWV4Y2x1ZGUsLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGUsLnl0cC1ob3Zlci1wcm9ncmVzcywueXRwLWxvYWQtcHJvZ3Jlc3MsLnl0cC1wbGF5LXByb2dyZXNzLC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVyLC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMDstbXMtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDB9Lnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTt0b3A6MXB4O3otaW5kZXg6NDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMS44KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjgpO3RyYW5zZm9ybTpzY2FsZVkoMS44KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dG9wOi0ycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtdGltZWQtbWFya2VyLnl0cC10aW1lZC1tYXJrZXItaG92ZXJ7d2lkdGg6OXB4O2hlaWdodDozcHg7Ym90dG9tOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXIueXRwLXRpbWVkLW1hcmtlci1ob3ZlciwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVye3dpZHRoOjEycHg7aGVpZ2h0OjQuOHB4O2JvdHRvbTouNnB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlcnt3aWR0aDo1cHg7aGVpZ2h0OjEuNjdweDtib3R0b206MS41cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vye3dpZHRoOjZweDtoZWlnaHQ6Mi40cHg7Ym90dG9tOjJweH0ueXRwLXByb2dyZXNzLWJhci1zdGFydHtib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4fS55dHAtcHJvZ3Jlc3MtYmFyLWVuZHtib3JkZXItcmFkaXVzOjAgM3B4IDNweCAwfS55dHAtcHJvZ3Jlc3MtYmFyLXN0YXJ0Lnl0cC1wcm9ncmVzcy1iYXItZW5ke2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdGltZWQtbWFya2Vye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO3dpZHRoOjNweDtoZWlnaHQ6M3B4O2JvdHRvbToxcHg7Ym9yZGVyLXJhZGl1czo1MCU7b3BhY2l0eToxfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZWQtbWFya2Vye2JvdHRvbToycHh9Lnl0cC1jbGlwLWVuZC1leGNsdWRlLC55dHAtY2xpcC1zdGFydC1leGNsdWRle2Rpc3BsYXk6bm9uZTt6LWluZGV4OjM3O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jbGlwLWVuZC1lbmFibGVkIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtc3RhcnQtZW5hYmxlZCAueXRwLWNsaXAtc3RhcnQtZXhjbHVkZXtkaXNwbGF5OmJsb2NrfS55dHAtbG9vcC1yYW5nZS1lbmFibGVkIC55dHAtY2xpcC1lbmQsLnl0cC1sb29wLXJhbmdlLWVuYWJsZWQgLnl0cC1jbGlwLXN0YXJ0e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1jbGlwLWhvdmVyIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtaG92ZXIgLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1saW5lYXItbGl2ZS1idWZmZXJ7ei1pbmRleDo0NTtiYWNrZ3JvdW5kOiNjMDA7b3BhY2l0eTowfS55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVye29wYWNpdHk6LjZ9Lnl0cC1hZC1wcm9ncmVzc3t6LWluZGV4OjM2O2JhY2tncm91bmQ6I2ZjMH0ueXRwLWxvYWQtcHJvZ3Jlc3N7ei1pbmRleDozMztiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS55dHAtbG9hZC1wcm9ncmVzcy55dHAtZmFzdC1sb2Fke2JhY2tncm91bmQ6IzAwODM4Zn0ueXRwLXBsYXktcHJvZ3Jlc3N7ei1pbmRleDozNDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxjb2xvci1zdG9wKDgwJSwjZjAzKSx0bygjZmYyNzkxKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmMDMgODAlLCNmZjI3OTEpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55cGMtbG9hZGVkIC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZDojMjc5M2U2fS5hZC1pbnRlcnJ1cHRpbmcgLnl0cC1wbGF5LXByb2dyZXNzLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kOiNmYzB9Lnl0cC1ob3Zlci1wcm9ncmVzc3t6LWluZGV4OjM1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTI1KTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1ob3Zlci1wcm9ncmVzc3tvcGFjaXR5OjF9Lnl0cC1kZWxoaS1tb2Rlcm4uYWQtaW50ZXJydXB0aW5nIC55dHAtbG9hZC1wcm9ncmVzcywueXRwLWVuYWJsZS1saXZlLWJ1ZmZlciAueXRwLWhvdmVyLXByb2dyZXNzLC55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtbG9hZC1wcm9ncmVzc3tvcGFjaXR5OjB9Lnl0cC1ob3Zlci1wcm9ncmVzcy1saWdodHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3N7d2lkdGg6MXB4O2JhY2tncm91bmQ6IzAwMDt6LWluZGV4OjM2fS55dHAtMW0tcHJvZ3Jlc3N7aGVpZ2h0OjMwJX0ueXRwLTE1bS1wcm9ncmVzc3toZWlnaHQ6NTAlfS55dHAtMzBtLXByb2dyZXNze2hlaWdodDo1NSV9Lnl0cC02MG0tcHJvZ3Jlc3N7aGVpZ2h0OjYwJX0ueXRwLWNsaXAtZW5kLC55dHAtY2xpcC1zdGFydHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtib3R0b206LTQuNXB4O21hcmdpbi1sZWZ0Oi03cHg7ei1pbmRleDo0NDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjIxNDI4NTcxNDMpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTt0cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWNsaXAtZW5kLC55dHAtYmlnLW1vZGUgLnl0cC1jbGlwLXN0YXJ0e3dpZHRoOjIxcHg7aGVpZ2h0OjIxcHg7Ym90dG9tOi02LjVweDttYXJnaW4tbGVmdDotMTAuNXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTstbXMtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTt0cmFuc2Zvcm06c2NhbGVZKC4yMzgwOTUyMzgpfS55dHAtZHJhZyAueXRwLWNsaXAtZW5kLC55dHAtZHJhZyAueXRwLWNsaXAtc3RhcnQsLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1jbGlwLWVuZCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWNsaXAtc3RhcnQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1lbmQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1zdGFydHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1jbGlwLWVuZCBzdmcsLnl0cC1jbGlwLXN0YXJ0IHN2Z3tkaXNwbGF5OmJsb2NrfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7Ym90dG9tOjQ3cHg7aGVpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7ei1pbmRleDo2MDtib3R0b206dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KTtoZWlnaHQ6NnB4fS55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206MzZweDtoZWlnaHQ6NXB4fS55dHAtZW1iZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTozOXB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTo1Mi41cHg7aGVpZ2h0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCw5NnB4KX0ueXRwLXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjMxO291dGxpbmU6bm9uZX0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIueXRwLWhlYXQtbWFwLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXJ7b3BhY2l0eTowfS55dHAtbW9iaWxlIC55dHAtcHJvZ3Jlc3MtYmFye3BhZGRpbmctYm90dG9tOjEwcHh9Lnl0cC1wcm9ncmVzcy1iYXItcGFkZGluZ3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxNnB4O2JvdHRvbTowO3otaW5kZXg6Mjh9Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyNHB4fS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyMnB4O2JvdHRvbTotNnB4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtdG91Y2gtbW9kZSkgLnl0cC1jaGFwdGVyLWhvdmVyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtYmFyLXBhZGRpbmd7aGVpZ2h0OjMzcHg7Ym90dG9tOi05cHh9Lnl0cC10b3VjaC1tb2RlIC55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDo0MHB4O2JvdHRvbTotMTFweH1AcHJvcGVydHkgLS1zZWVrLXNjcnViYmVyLXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1zY3J1YmJlci1jb250YWluZXIteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tcHJvZ3Jlc3Mtd2lkdGh7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXByb2dyZXNzLWxlZnQtYnVmZmVye3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1wcm9ncmVzcy1yaWdodC1idWZmZXJ7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXVuaWZpZWQtc2Vlay1vZmZzZXQteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxle3N5bnRheDoiPG51bWJlcj4iO2luaXRpYWwtdmFsdWU6MTtpbmhlcml0czpmYWxzZX0ueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey0tcHJvZ3Jlc3Mtd2lkdGg6MHB4Oy0tcHJvZ3Jlc3MtbGVmdC1idWZmZXI6MHB4Oy0tcHJvZ3Jlc3MtcmlnaHQtYnVmZmVyOjBweDstLXNlZWstc2NydWJiZXItd2lkdGg6MHB4Oy0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlOjE7LS1zY3J1YmJlci1jb250YWluZXIteDowcHg7LS1oYWxmLXdpZHRoOmNhbGModmFyKC0tc2Vlay1zY3J1YmJlci13aWR0aCwgMHB4KSowLjUpOy0taGFsZi1oZWlnaHQ6bWluKHZhcigtLWhhbGYtd2lkdGgpLDIwcHgpOy0tdW5pZmllZC1zZWVrLW9mZnNldC14OmNhbGMobWF4KDBweCwKICAgICAgICAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSAtIHZhcigKICAgICAgICAgICAgLS1zY3J1YmJlci1jb250YWluZXIteAogICAgICAgICAgKSAtIHZhcigtLXByb2dyZXNzLWxlZnQtYnVmZmVyKSkgKyBtaW4oMHB4LAogICAgICAgIHZhcigtLXByb2dyZXNzLXdpZHRoKSArIHZhcigtLXByb2dyZXNzLXJpZ2h0LWJ1ZmZlcikgLSB2YXIoLS1zY3J1YmJlci1jb250YWluZXIteCkgLSAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSkpfS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uLC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbiwueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX19Lnl0cC11bmlmaWVkLXNlZWstY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MCAxNnB4O2hlaWdodDoxMDAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9fS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQ2O21hcmdpbjowO3dpZHRoOi13ZWJraXQtbWF4LWNvbnRlbnQ7d2lkdGg6LW1vei1tYXgtY29udGVudDt3aWR0aDptYXgtY29udGVudDtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC1jbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTtjbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKC01MCUgKyB2YXIoLS11bmlmaWVkLXNlZWstb2Zmc2V0LXgpKSwtNTAlKSBzY2FsZSh2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKTtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI2cHg7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsY29sb3Itc3RvcCg4MCUsI2YwMyksdG8oI2ZmMjc5MSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZjAzIDgwJSwjZmYyNzkxKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjpub3QoOmVtcHR5KT4ueXRwLXVuaWZpZWQtc2Vlay1pY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6bm90KDplbXB0eSk+Lnl0cC11bmlmaWVkLXNlZWstaWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0cC11bmlmaWVkLXNlZWstYWN0aXZlIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXIgLnl0cC11bmlmaWVkLXNlZWstaWNvbi1yaWdodC13cmFwcGVyOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjplbXB0eSwueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0cC11bmlmaWVkLXNlZWstc2hyaW5raW5nIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfX0ueXRwLXVuaWZpZWQtc2Vlay1zaHJpbmtpbmcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntvcGFjaXR5OjF9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2Upey55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX19Lnl0cC1wcm9tb3Rvb2x0aXAtd3JhcHBlcnttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDozMDBweDtoZWlnaHQ6MTQwcHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzfS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC13cmFwcGVye3dpZHRoOjQ1MHB4O2hlaWdodDoyMTBweH0ueXRwLXByb21vdG9vbHRpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2NvbG9yOiNmZmY7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC10cmFuc2Zvcm06bm9uZTtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wcm9tb3Rvb2x0aXAtY29udGVudHtwYWRkaW5nOjE2cHggMTZweCA0cHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWNvbnRlbnR7cGFkZGluZzoyNHB4IDI0cHggNnB4fS55dHAtcHJvbW90b29sdGlwLXRpdGxle21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4fS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC10aXRsZXttYXJnaW4tYm90dG9tOjEycHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLXByb21vdG9vbHRpcC1idXR0b25ze3BhZGRpbmc6OHB4IDRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWJ1dHRvbnN7cGFkZGluZzoxMnB4IDZweH0ueXRwLXByb21vdG9vbHRpcC1hY2NlcHQtYnV0dG9uLC55dHAtcHJvbW90b29sdGlwLWRpc21pc3MtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjEwcHggMTZweDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtYWNjZXB0LWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGlzbWlzcy1idXR0b257cGFkZGluZzoxNXB4IDI0cHh9Lnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1zdHlsZTpzb2xpZDt0b3A6MTAwJTtib3JkZXItd2lkdGg6MTJweDtib3JkZXItY29sb3I6IzA2NWZkNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntib3JkZXItd2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb257d2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb24gc3Zne2hlaWdodDoyMnB4O3dpZHRoOjIycHg7bWFyZ2luOi03cHggLTVweH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGV0YWlscy1pY29ue3dpZHRoOjIycHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWRldGFpbHMtaWNvbiBzdmd7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweDttYXJnaW46LTlweCAtN3B4fS55dHAtcmVtb3Rle2xlZnQ6MDtib3R0b206NjFweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWVtYmVkIC55dHAtcmVtb3Rle2JvdHRvbTo1M3B4fS55dHAtcmVtb3RlW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZXtib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1yZW1vdGV7Ym90dG9tOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze3otaW5kZXg6MTU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMnB4O2JvdHRvbTo2MXB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZy1yaWdodDo1cHg7Ym9yZGVyLXJhZGl1czo1cHg7b3BhY2l0eTouODV9Lnl0cC1lbWJlZCAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1c3tib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze2JvdHRvbTo3MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLWljb257ZmxvYXQ6bGVmdDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLXRleHR7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTtwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctbGVmdDo1cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtdGV4dHtwYWRkaW5nLXRvcDoxNXB4O2xlZnQ6MTA1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1cy10ZXh0e3RvcDozMHB4fS55dHAtcmVwbGF5LWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtib3R0b206MDttYXJnaW4tbGVmdDotMjRweDt6LWluZGV4OjU5fS55dHAtZW1iZWQgLnl0cC1yZXBsYXktYnV0dG9ue2JvdHRvbTo0cHg7bWFyZ2luLWxlZnQ6LTIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjcuNXB4O21hcmdpbi1sZWZ0Oi0yN3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjEwcHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjI0LjVweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXBsYXktYnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbi55dHAtYXV0b25hdi10b2dnbGV7cGFkZGluZy1sZWZ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC12b2x1bWUtYXJlYXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdm9sdW1lLWFyZWE6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtd3JhcHBlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246aG92ZXI6YmVmb3Jle2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b217cGFkZGluZzowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7aGVpZ2h0OjhweDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNTAlLHJnYmEoMCwwLDAsMCkpLHRvKHJnYigxOSwxOSwxOSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2IoMTksMTksMTkpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwwKSA1MCUscmdiKDE5LDE5LDE5KSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1wcm9ncmVzcy1saXN0e2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoNjgsNjgsNjgpKSx0byhyZ2IoOTUsOTUsOTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXBsYXktcHJvZ3Jlc3N7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6OHB4O3dpZHRoOjhweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxMzcsMTM3LDEzNykpLHRvKHJnYigxODYsMTg2LDE4NikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTM3LDEzNywxMzcpLHJnYigxODYsMTg2LDE4NikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDEzNywxMzcsMTM3KSxyZ2IoMTg2LDE4NiwxODYpKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uOm5vdCgueXRwLWNoYXB0ZXItdGl0bGUpe2JvcmRlci1yaWdodDoxcHggc29saWQgYmxhY2s7LXdlYmtpdC1ib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpO2JveC1zaGFkb3c6MXB4IDAgcmdiYSgyMjcsMjI3LDIyNywuMik7b3BhY2l0eTouOX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b24ueXRwLWF1dG9uYXYtdG9nZ2xle2JvcmRlci1sZWZ0OjFweCBzb2xpZCBibGFjaztwYWRkaW5nLWxlZnQ6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKSxpbnNldCAxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpLGluc2V0IDFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtZGlzcGxheXtwYWRkaW5nLWxlZnQ6MTBweH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b246YWN0aXZlOmZvY3VzLC55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtc3VidGl0bGVzLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV17YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtdm9sdW1lLXBhbmVsLnl0cC12b2x1bWUtY29udHJvbC1ob3ZlcnttYXJnaW4tbGVmdDo4cHh9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKTttYXJnaW4tbGVmdDotNnB4fS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtYmV6ZWx7Ym9yZGVyLXJhZGl1czp1bnNldDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgYm90dG9tLGxlZnQgdG9wLGZyb20ocmdiKDE5LDE5LDE5KSksdG8ocmdiKDUyLDUyLDUyKSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYigxOSwxOSwxOSkscmdiKDUyLDUyLDUyKSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpOy13ZWJraXQtYW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXRvb2x0aXAtYmcsLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtib3JkZXItcmFkaXVzOjB9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMXB4IDFweCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93Omluc2V0IDFweCAxcHggcmdiYSgyMjcsMjI3LDIyNywuMik7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXNldHRpbmdzLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbiBzdmd7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2V0dGluZ3MtYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3Zney13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzBkZWcpfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHg7aGVpZ2h0OjlweDt3aWR0aDoxM3B4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpO2JvcmRlci1yYWRpdXM6MXB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NjZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTRrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUVWdOMmd4ZGpGSU5YcHROUzAwZGpGSU9GWXplazB6SURaV05XZ3lkakY2VFRJZ04yZ3hkakZJTW5wdE5TQXdhRE4yTVVnM2VtMHpMVEZvTVhZeGFDMHhlaUl2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVFVnTjFZMVNETjJNa2d5VmpKb01YWXlhREpXTW1neGRqVjZiVFl0TVdndE1YWXhTRGRXTW1nemRqRm9NWHB0TFRFdE1sWXpTRGgyTTJneWVpSXZQand2YzNablBnPT0pfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZHItcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE5DQTJJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1E5SWsweklEVm9NWFl4U0RONmJUVXROSFl4U0RaV01YcE5NU0EwVmpOb01uWXhlazB3SURWb01YWXhTREI2YlRVZ01HZ3pkakZJTlhwdE15MHhhREYyTVVnNGVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWsweklEVldNMGd4ZGpKSU1GWXdhREYyTW1neVZqQm9NWFkxZW0wMkxURklPSFl4U0RWV01HZ3pkakZvTVhwTk9DQXlWakZJTm5ZemFESjZJaTgrUEhCaGRHZ2dabWxzYkMxdmNHRmphWFI1UFNJdU5qUTNJaUJrUFNKTk1UTWdNbWd4ZGpGb0xURjZiVEFnTTJneGRqRm9MVEY2YlMweUxUSm9Nbll4YUMweWVtMHRNU0F5YURGMk1XZ3RNWHB0TVMwMGFESjJNV2d0TW5vaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTVRRZ00zWXlhQzB4VmpONmJTMHpMVE5vTW5ZeGFDMHlkakZvTW5ZeGFDMHlkakpvTFRGV01IcHRNaUF3YURGMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KTtoZWlnaHQ6NnB4O3dpZHRoOjE0cHg7cmlnaHQ6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2UxMDAyZDtib3JkZXItd2lkdGg6MXB4fS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMDBJRGRvTVhZeFNEUjZUVElnTm1neWRqRklNbnB0TVMweWFERjJNVWd6ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFeElEVjJNbWd0TVZZMWVtMHRNU0F3U0RoMk1rZzNWakpvTVhZeWFESjZUVFFnTkVnemRqRm9NWHB0TUNBelZqWklNbFkwYURGV00yZ3hWakpvTVhZemFERjJNVWcxZGpGNmJUWXROV2d4ZGpKb0xURjZJaTgrUEM5emRtYyspfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMHlJRGRvTTNZeFNESjZiVEF0TW1nemRqRklNbm9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB5SURab00zWXhTREp0TXkweWFERjJNVWcxYlRBdE1rZ3pWak5vTTFZeVNESjJNMmd6ZWlJdlBqd3ZjM1puUGc9PSl9Lnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLThrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xXOXdZV05wZEhrOUlpNDJORGNpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEV3SURSb01YWXhhQzB4ZW0wd0lETm9NWFl4YUMweGVrMDRJRFZvTW5ZeFNEaDZUVGNnTjJneGRqRklOM3BOTlNBMmFERjJNVWcxZWsweklEVm9Nbll4U0RONmJUQXRNbWd5ZGpGSU0zcHRNaUF4YURGMk1VZzFlazB5SURSb01YWXhTREo2YlRBZ01tZ3hkakZJTW5wdE1TQXhhREoyTVVnemVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRURXhJRFYyTW1ndE1WWTFlbTB0TVNBd1NEaDJNa2czVmpKb01YWXlhREo2YlRBdE0yZ3hkakpvTFRGNlRUTWdObWd5ZGpGSU0yMHdMVFZvTW5ZeFNETjZiVElnTTJneGRqRklOWHBOTXlBMGFESjJNVWd6ZW0weUxURm9NWFl4U0RWNlRUSWdOV2d4ZGpGSU1ucHRNQzB5YURGMk1VZ3llaUl2UGp3dmMzWm5QZz09KX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NaUF5YURSMk5VZ3lWalpvTTFZMVNESldOR2d6VmpOSU1ucHROU0F3YUROMk1VZzRkak5vTW5ZeFNEZDZiVE1nTVdneGRqTm9MVEY2SWk4K1BIQmhkR2dnWm1sc2JDMXZjR0ZqYVhSNVBTSXVOalEzSWlCa1BTSk5NaUF6YUROMk1VZ3llbTAySURCb01uWXhTRGg2VFRJZ05XZ3pkakZJTW5wdE9DQXhhREYyTVdndE1YcE5NaUEzYURSMk1VZ3llbTAxSURCb00zWXhTRGQ2SWk4K1BDOXpkbWMrKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazAxSURkV05VZ3pkakpJTWxZeWFERjJNbWd5VmpKb01YWTFlbTAyTFRGb0xURjJNVWczVmpKb00zWXhhREY2YlMweExUSldNMGc0ZGpOb01ub2lMejQ4TDNOMlp6ND0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TkNBMUlqNDhjR0YwYUNCa1BTSk5NeUExVmpOSU1YWXlTREJXTUdneGRqSm9NbFl3YURGMk5YcHROaTB4U0RoMk1VZzFWakJvTTNZeGFERjZUVGdnTWxZeFNEWjJNMmd5ZWsweE5DQXpkakpvTFRGV00zcHRMVEVnTUdndE1uWXlhQzB4VmpCb01YWXlhREo2YlRBdE1tZ3RNMVl3YURSMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVrMDBJRFJJTTNZeGFERjZiVEFnTTFZMlNESldOR2d4VmpOb01WWXlhREYyTTJneGRqRklOWFl4ZW0wMkxUVm9NWFl5YUMweGVpSXZQand2YzNablBnPT0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhNU0ExZGpKb0xURldOWHB0TFRFZ01FZzRkakpJTjFZeWFERjJNbWd5ZW0wd0xUTm9NWFl5YUMweGVrMHlJRFpvTTNZeFNESnRNeTB5YURGMk1VZzFiVEF0TWtnelZqTm9NMVl5U0RKMk0yZ3plaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB6SURab01uWXhTRE50TUMwMWFESjJNVWd6ZW0weUlETm9NWFl4U0RWNlRUTWdOR2d5ZGpGSU0zcHRNaTB4YURGMk1VZzFlazB5SURWb01YWXhTREo2YlRBdE1tZ3hkakZJTW5vaUx6NDhMM04yWno0PSl9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQmtQU0pOTWlBeWFEUjJOVWd5Vmpab00xWTFTREpXTkdnelZqTklNbnB0TlNBd2FETjJNVWc0ZGpOb01uWXhTRGQ2YlRNZ01XZ3hkak5vTFRGNklpOCtQQzl6ZG1jKyl9Lnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDoxNXB4O3JpZ2h0OjZweDtwYWRkaW5nOjJweDtmb250LWZhbWlseTpWZXJkYW5hLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAycHggMCByZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLXJhZGl1czoxLjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDo0cHg7cmlnaHQ6NHB4fS55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29sb3I6IzAwMDt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiSEQifS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IkhEUiI7Zm9udC1zaXplOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjRLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjVLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjhLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IjNEIn0ueXRwLWdlbmVyaWMtcG9wdXB7dG9wOjA7bGVmdDowO3BhZGRpbmc6NXB4IDlweDttYXgtd2lkdGg6MTQ0cHg7ei1pbmRleDo3Mn0ueXRwLWJpZy1tb2RlIC55dHAtZ2VuZXJpYy1wb3B1cHttYXgtd2lkdGg6MjE2cHh9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWdlbmVyaWMtcG9wdXAgYXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBvcHVwey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kbmkgLnl0cC1wb3B1cHt0ZXh0LXNoYWRvdzpub25lfS55dHAtcG9wdXBbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXBvcHVwLWFuaW1hdGluZ3std2Via2l0LXRyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtcG9wdXAtYW5pbWF0aW5nIC55dHAtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1wYW5lbC1hbmltYXRlLWJhY2ssLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7b3BhY2l0eTowfVtkaXI9bHRyXSAueXRwLXBhbmVsLWFuaW1hdGUtYmFja3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX1bZGlyPWx0cl0gLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtcGFuZWwtYW5pbWF0ZS1iYWNrey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfVtkaXI9cnRsXSAueXRwLXBhbmVsLWFuaW1hdGUtZm9yd2FyZHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0ueXRwLXNldHRpbmdzLW1lbnV7cmlnaHQ6MTJweDtib3R0b206NjFweDt6LWluZGV4OjcwO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpO2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZW1iZWQgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e3JpZ2h0OjI0cHg7Ym90dG9tOjcwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtbWVudXtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCl9Lnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e3otaW5kZXg6MjMwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1wYW5lbC1tZW51e3BhZGRpbmc6OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbT46Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo4cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0+Omxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6OHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7cGFkZGluZy1yaWdodDo4cHh9Lnl0cC1zcGVlZHNsaWRlci1jb21wb25lbnR7aGVpZ2h0Ojk1cHg7b3V0bGluZTpub25lfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVye2hlaWdodDo0MHB4fS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50e3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNwZWVkc2xpZGVyLWNvbXBvbmVudCAueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2hlaWdodDo1cHh9Lnl0cC1zcGVlZHNsaWRlci10ZXh0e2ZvbnQtc2l6ZToxNTAlO3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXJpZ2h0OjhweDtyaWdodDoxMDAlfS55dHAtbWVudWl0ZW0tcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHAtbWVudWl0ZW0tY29udGFpbmVyLXdpdGgtYmFkZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXNwZWVkLXNsaWRlci1tZW51LWZvb3RlcntwYWRkaW5nOjE2cHh9Lnl0cC1zaG93LXNoYXJlLXRpdGxlLnl0cC1zaGFyZS1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy1zaGFyZS10aXRsZS55dHAtc2hhcmUtYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLDpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNoYXJlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmctdG9wOjRweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b257bWluLXdpZHRoOjQ4cHg7bWF4LXdpZHRoOjgwcHh9Lnl0cC1zaGFyZS1pY29ue21hcmdpbjphdXRvO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hhcmUtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLXNoYXJlLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXRpdGxlLC55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1zaGFyZS10aXRsZXtmb250LXNpemU6MjBweH0ueXRwLXNob3ctc2hhcmUtdGl0bGUgLnl0cC1zaGFyZS10aXRsZXtkaXNwbGF5OmJsb2NrfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLXNoYXJlLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtc2hhcmUtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo3NTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc2hhcmUtcGFuZWxbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTY1cHg7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDEwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHttYXJnaW4tdG9wOi05OHB4fS55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6bm9uZTttYXJnaW46MjBweCBhdXRvIDA7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye21hcmdpbi10b3A6MzBweH0ueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6YmxvY2t9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3JpZ2h0OjEycHg7cGFkZGluZzo2cHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtY2xvc2V7dG9wOjlweDtyaWdodDoyNHB4O3BhZGRpbmc6OXB4O3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZSBwYXRoe2ZpbGw6I2FhYX0ueXRwLXNoYXJlLXBhbmVsLWNsb3NlOmhvdmVyIHBhdGh7ZmlsbDojZmZmfS55dHAtc2hhcmUtcGFuZWwtdGl0bGV7Zm9udC1zaXplOjE1NSU7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtdGl0bGV7bGluZS1oZWlnaHQ6MzBweH0ueXRwLXNoYXJlLXBhbmVsLWxpbmt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDttYXJnaW4tdG9wOjE4cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MjE4JTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1saW5re2hlaWdodDo0MnB4O21hcmdpbi10b3A6MjdweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7ZGlzcGxheTpub25lO2xpbmUtaGVpZ2h0OjE1cHg7bWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxMTglO2NvbG9yOiM5OTl9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7bGluZS1oZWlnaHQ6MjIuNXB4O21hcmdpbi10b3A6MThweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3QgaW5wdXRbdHlwZT1jaGVja2JveF17bWFyZ2luOjAgOHB4IDAgMH0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjIwcHg7aGVpZ2h0OjQ0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjMwcHg7aGVpZ2h0OjY3cHh9Lnl0cC1zaGFyZS1wYW5lbC55dHAtc2hhcmUtcGFuZWwtZmFpbCAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ucywueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtc2VydmljZS1idXR0b25ze2Rpc3BsYXk6bm9uZX0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6M3B4O3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6NXB4O3dpZHRoOjU3cHg7aGVpZ2h0OjU3cHh9Lnl0cC1zaGFyZS1wYW5lbC1lcnJvcntkaXNwbGF5Om5vbmU7bWFyZ2luLXRvcDoyMHB4O2ZvbnQtc2l6ZToxMDklfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1lcnJvcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1zaGFyZS1wYW5lbC1mYWlsIC55dHAtc2hhcmUtcGFuZWwtZXJyb3J7ZGlzcGxheTpibG9ja30ueXRwLXNob3BwaW5nLXByb2R1Y3QtbWVudXt6LWluZGV4OjcyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxLjM7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDt3aWxsLWNoYW5nZTp3aWR0aCxoZWlnaHQ7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtc2hvcHBpbmctcHJvZHVjdC1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbC1sb2dve3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjVweDstd2Via2l0LWJhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2JhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2Zsb2F0OmxlZnQ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo1MHB4O2hlaWdodDo1MHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW46MH0ueXRwLXNob3J0cy10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjozcHg7LXdlYmtpdC1ib3gtZmxleDppbml0aWFsOy13ZWJraXQtZmxleDppbml0aWFsO2ZsZXg6aW5pdGlhbDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjIycHh9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle3dvcmQtYnJlYWs6YnJlYWstd29yZDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToxOHB4fS55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjA7ZGlzcGxheTpub25lO2hlaWdodDphdXRvO21hcmdpbi1sZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnN0YXRpYzt0b3A6N3B4O2xlZnQ6OHB4O3dpZHRoOmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVse21hcmdpbi10b3A6MTBweH0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNocm9tZS10b3AgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCAueXRwLXNiey13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luOjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO3BhZGRpbmc6MDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXNoYWRvdzpub25lOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowfS55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJle21hcmdpbi1sZWZ0OjB9Lnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7bWFyZ2luLWxlZnQ6MH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7bWFyZ2luLXRvcDo3cHh9Lnl0cC1za2lwLWludHJvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkwMTk2MDc4NDMpO2JvdHRvbTo1OHB4O2hlaWdodDo0OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDtyaWdodDoxMHB4O3otaW5kZXg6MTB9Lnl0cC1lbWJlZCAueXRwLXNraXAtaW50cm8tYnV0dG9ue2JvdHRvbTo1MHB4O2hlaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMDAwfS55dHAtYmlnLW1vZGUgLnl0cC1za2lwLWludHJvLWJ1dHRvbntib3R0b206NzlweDtyaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bWF4LXdpZHRoOjIwMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTUwcHg7aGVpZ2h0OjEwMCU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTowfS55dHAtc2xpZGVye2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLXRvcDotMTBweDtiYWNrZ3JvdW5kOiNmZmY7b3V0bGluZTowfS55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6NTAlO2xlZnQ6MDtoZWlnaHQ6M3B4O21hcmdpbi10b3A6LTJweDt3aWR0aDoxNzBweDtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxlOmJlZm9yZXtsZWZ0Oi0xNjBweDtiYWNrZ3JvdW5kOiNmZmZ9Lnl0cC1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6MTBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1zbGlkZXItc2VjdGlvbjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW92ZXJsYXl7ei1pbmRleDoxMDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MH0ueXRwLXNwZWVkbWFzdGVyLW92ZXJsYXl7dGV4dC1hbGlnbjpjZW50ZXI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXNwZWVkbWFzdGVyLXVzZXItZWR1ey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOjE4cHg7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDoyMHB4O3BhZGRpbmc6NnB4IDE2cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zcGVlZG1hc3Rlci11c2VyLWVkdXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtc3BlZWRtYXN0ZXItdXNlci1lZHUueXRwLXNwZWVkbWFzdGVyLWhhcy1pY29uey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1zcGVlZG1hc3Rlci1pY29uLC55dHAtc3BlZWRtYXN0ZXItbGFiZWx7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0cC1zcGVlZG1hc3Rlci1pY29ue21hcmdpbi1sZWZ0OjRweH0ueXRwLXNwZWVkbWFzdGVyLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O2xlZnQ6MTJweDtvcGFjaXR5Oi42O2N1cnNvcjpwb2ludGVyO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6NDM7b3V0bGluZTpub25lfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3RvcDo2MHB4fS55dHAtYmlnLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjlweDt3aWR0aDo3NXB4O2hlaWdodDo3NXB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjBweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sLnl0cC1kcmFnZ2luZywueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sOmhvdmVye29wYWNpdHk6MX0ueXRwLWF1dG9oaWRlIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2wsLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2x7dG9wOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC13ZWJnbC1zcGhlcmljYWw6bm90KC55dHAtbWVudS1zaG93bikgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFifS55dHAtd2ViZ2wtc3BoZXJpY2FsLnl0cC1kcmFnZ2luZzpub3QoLnl0cC1tZW51LXNob3duKSAuaHRtbDUtdmlkZW8tY29udGFpbmVye2N1cnNvcjptb3ZlO2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2w6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9LmVuZGVkLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbCwueXRwLW1lbnUtc2hvd24gLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTtpbnNldDowfS55dHAtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6LTMycHg7ei1pbmRleDoxODtwb2ludGVyLWV2ZW50czpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zcGlubmVye3dpZHRoOjEyOHB4O21hcmdpbi1sZWZ0Oi02NHB4fS55dHAtc3Bpbm5lci1tZXNzYWdle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi10b3A6NTAlO3dpZHRoOjMwMHB4O2ZvbnQtc2l6ZToxMjclO2xpbmUtaGVpZ2h0OjE4MiU7bWFyZ2luLWxlZnQ6LTE1MHB4O2Rpc3BsYXk6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO29wYWNpdHk6LjV9Lnl0cC1zcGlubmVyLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTAwJTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi10b3A6LTUwJTttYXJnaW4tbGVmdDotNTAlO2FuaW1hdGlvbjp5dHAtc3Bpbm5lci1saW5zcGluIDEuNTY4MjM1Mjk0MTE3NnMgbGluZWFyIGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxpbnNwaW4gMS41NjgyMzUyOTQxMTc2cyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1zcGlubmVyLXJvdGF0b3J7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstd2Via2l0LWFuaW1hdGlvbjp5dHAtc3Bpbm5lci1lYXNlc3BpbiA1MzMybXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItZWFzZXNwaW4gNTMzMm1zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9Lnl0cC1zcGlubmVyLWxlZnQsLnl0cC1zcGlubmVyLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ueXRwLXNwaW5uZXItbGVmdHtyaWdodDo0OSV9Lnl0cC1zcGlubmVyLXJpZ2h0e2xlZnQ6NDklfS55dHAtc3Bpbm5lci1jaXJjbGV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjIwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojZGRkICNkZGQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXdpZHRoOjZweH0ueXRwLWJpZy1tb2RlIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjEycHh9Lnl0cC1zcGlubmVyLWxlZnQgLnl0cC1zcGlubmVyLWNpcmNsZXtsZWZ0OjA7cmlnaHQ6LTEwMCU7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSBpbmZpbml0ZSBib3RofS55dHAtc3Bpbm5lci1yaWdodCAueXRwLXNwaW5uZXItY2lyY2xle2xlZnQ6LTEwMCU7cmlnaHQ6MDtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFuaW1hdGlvbjp5dHAtcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxpbnNwaW57dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtc3Bpbm5lci1saW5zcGlue3Rvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtc3Bpbm5lci1lYXNlc3BpbnsxMi41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQwNWRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpfTc1JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoODEwZGVnKX04Ny41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWVhc2VzcGluezEyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfTM3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0MDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDA1ZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDU0MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNjc1ZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDgxMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg4MTBkZWcpfTg3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5NDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pO3RyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXNwaW5uZXItbGVmdC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTVkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxlZnQtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEzMGRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXJpZ2h0LXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1yaWdodC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX19Lnl0cC1zZm57YmFja2dyb3VuZDpyZ2JhKDI4LDI4LDI4LC44KTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2xlZnQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt6LWluZGV4OjY0O21pbi13aWR0aDoyNmVtfS55dHAtc2ZuLWNsb3Nle2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjVweDt0b3A6NXB4O3BhZGRpbmc6NXB4fS55dHAtc2ZuLWNvbnRlbnR7cGFkZGluZzo1cHh9Lnl0cC1zZm4tY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC1zZm4tY3Bue2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbyxtb25vc3BhY2U7Zm9udC1zaXplOjEycHh9Lnl0cC1ob3Jpem9uY2hhcnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0cC1ob3Jpem9uY2hhcnQ+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjE2O2JhY2tncm91bmQ6IzAwMDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlld3tjdXJzb3I6cG9pbnRlcn0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eTouNH0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I2RkZDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMpO2JvcmRlci1yYWRpdXM6MThweDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtib3R0b206MzZweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo0cHggMTBweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eToxfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5OmluaXRpYWx9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtc3Rvcnlib2FyZC1mcmFtZXByZXZpZXctaW1ne29wYWNpdHk6MX0ueXRwLWlubGluZS1wcmV2aWV3LW1vZGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy10aW1lc3RhbXB7ZGlzcGxheTppbml0aWFsfS55dHAtc2J7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZX0ueXRwLXNiIC55dHAtc2ItdW5zdWJzY3JpYmUsLnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXN1YnNjcmliZXtkaXNwbGF5Om5vbmV9Lnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXVuc3Vic2NyaWJle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtc2Itc3Vic2NyaWJlLC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoxOHB4O2JvcmRlcjpub25lO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4wMDdweDtsaW5lLWhlaWdodDoxNnB4O3BhZGRpbmc6MTBweCAxNnB4O3doaXRlLXNwYWNlOm5vd3JhcDstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6M3B4IDZweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zYi1zdWJzY3JpYmUsYS55dHAtc2Itc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMDMwMzAzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCl9Lnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpO2NvbG9yOiNmZmZ9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2NjYzt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtc2Itc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZCwueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMsMTQ0LDEzOSk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1zYi1zdWJzY3JpYmU6Zm9jdXMsLnl0cC1zYi11bnN1YnNjcmliZTpmb2N1c3tvdXRsaW5lOm5vbmV9Lnl0cC1zYi55dHAtc2ItY2xhc3NpY3tiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbjo0cHggMH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUueXRwLXNiLWRpc2FibGVkLC55dHAtc2ItY2xhc3NpYyAueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpkZWZhdWx0fS55dHAtc2ItdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXNiLWNvdW50e21hcmdpbi1sZWZ0OjRweH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoycHg7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOm5vbmV9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJle2JvcmRlcjoxcHggc29saWQgI2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXI6MXB4IHNvbGlkICNjY2N9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnQsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdGV4dHtwYWRkaW5nOjNweCA2cHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnR7bWFyZ2luOi0xcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjJweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Ym9yZGVyLWxlZnQ6MH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTAsMjUwLDI1MCl9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItdGV4dHtjb2xvcjojZmVmZWZlO2JhY2tncm91bmQtY29sb3I6I2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLXRleHR7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOiM3MzczNzN9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItaWNvbntoZWlnaHQ6MTJweDttYXJnaW4tcmlnaHQ6NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHg7d2lkdGg6MTZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItaWNvbntiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQU1DQVlBQUFCcjV6MkJBQUFBblVsRVFWUTRUMlA4Ly8rL0p3TUR3MXdHQmdaSkJ0TEFjd1lHaG1URy8vLy9QeU5ETTh5cTV5QUQvcE5tTWFwcW5BWThrNUpnRUZteGxJSE56aG12K1RnTmVNckp5Y0Fvd01rZ05ITTZBNGRmT0U1RGNCcnduSk9UNGYvdkh3eU1iQXdNWEduSkRQd1Q1bUExaEVnRGtoajRKNEFpQ2hNUTlzS01hUXdjL2hHa2U0SGlRQ1EyYWlsTlNDOUFCbmhCazdJRXNiWkMxVDFsWUdCSUF3QlMxVXhCRTkvMmlBQUFBQUJKUlU1RXJrSmdnZz09KX0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFNQ0FZQUFBQnI1ejJCQUFBQS9VbEVRVlE0VDZXU01Vb0VRUkJGNjA4aWFMcVo0QW5FMERPSVlHWXVHTmpkTTRqUmlMa1lqU0lzTEYwdGdwa2dFM2dBY2NEVUc1aDZBQ01OcDc1TW9NeXV5bzVzcDlYMWZ0WC9CVm53WWNGKytSY2dwYlJHY2lJaVkrLzlReWMrR0JCajNNeXk3RnBFUm1ZMkNTR2NEUWFvNmk2QTgwNlE1TEgzL3U1cjlha0pxcXBhS2N2eW8rY0xWUFVFd0tHSXZKblpmZ2podWUvYk4wQlZqMFRrd016eVBNK2ZVa3JMSk1jQXRrbStBTmh6enIzT210NEg3QUM0RkpFbEVia2d1UVZnZytSajI3YWhLSXIzM3hLYldpSEd1QTdnQnNCcTk5bk1ycHFtT2EzcnV2MHI3aDhwcEpSR0pDT0FlK2ZjN2J3N0dSemo0QW5tS2M3V1B3RldSRjBOYzlSUXh3QUFBQUJKUlU1RXJrSmdnZz09KX0uY2FwdGlvbi13aW5kb3d7cG9zaXRpb246YWJzb2x1dGU7bGluZS1oZWlnaHQ6bm9ybWFsO3otaW5kZXg6NDE7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFiOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvd3t6LWluZGV4OjIxNDc0ODM2NDd9LmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDo0OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxtYXJnaW4tdG9wIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjY5cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjg5cHh9Lnl0cC1hdXRvaGlkZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlLWFjdGl2ZSAuY2FwdGlvbi13aW5kb3d7cG9pbnRlci1ldmVudHM6bm9uZX15dGQtcmVlbC12aWRlby1yZW5kZXJlciAuc2hvcnQtdmlkZW8tY29udGFpbmVyIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctdG9we21hcmdpbi10b3A6NjlweH0uY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjYxcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksbWFyZ2luLXRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjExMHB4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToyMDBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTVweH0ueXRwLWVtYmVkIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NzBweH0ueXRwLWF1dG9oaWRlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5IC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWF1dG9oaWRlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1hdXRvaGlkZS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scy55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWhpZGUtY29udHJvbHMueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tdXRlZC1hdXRvcGxheS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTowfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NDVweDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTFweH0ueXRwLWVtYmVkLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNjBweH0ueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217ZGlzcGxheTpub25lO29wYWNpdHk6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtYWQtb3ZlcmxheS1vcGVuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtZGVsaGktbW9kZXJuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmU7Y3Vyc29yOm1vdmU7Y3Vyc29yOi13ZWJraXQtZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZXtvdmVyZmxvdzpoaWRkZW59LmNhcHRpb24td2luZG93IC55dHAtaWNvbiwuY2FwdGlvbi13aW5kb3cgc3Zne3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7dmVydGljYWwtYWxpZ246Ym90dG9tO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxZW07bWF4LWhlaWdodDoxZW19Lnl0cC1lbWJlZCAuY2FwdGlvbi13aW5kb3cgLnl0cC1pY29uLC55dHAtZW1iZWQgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZSAuY2FwdGlvbnMtdGV4dHstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjQzM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNDMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC40MzNzIGN1YmljLWJlemllcigwLDAsLjIsMSl9LmNhcHRpb24tZWRpdHtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO2JhY2tncm91bmQ6cmdiYSg4LDgsOCwuNzUpO2JvcmRlcjpub25lO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcn0uY2FwdGlvbi1lZGl0IHN2Z3ttYXgtaGVpZ2h0OjYwJTttYXgtd2lkdGg6NjAlfS5jYXB0aW9uLWVkaXQ6Zm9jdXMsLmNhcHRpb24td2luZG93OmZvY3VzIC5jYXB0aW9uLWVkaXQsLnl0cC1jYXB0aW9uLXdpbmRvdy1yb2xsdXAgLmNhcHRpb24tZWRpdDpob3ZlciwueXRwLWNhcHRpb24td2luZG93LXJvbGx1cDpob3ZlciAuY2FwdGlvbi1lZGl0e29wYWNpdHk6MX0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXZpc3VhbC1saW5lIC55dHAtY2FwdGlvbi1zZWdtZW50OmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDouMjVlbTtwYWRkaW5nLXRvcDowfS5odG1sNS12aWRlby1wbGF5ZXIgLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0Oi4yNWVtO3BhZGRpbmctYm90dG9tOjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6Zmlyc3QtY2hpbGR7cGFkZGluZy10b3A6LjI1ZW07cGFkZGluZy1sZWZ0OjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTouMjVlbTtwYWRkaW5nLXJpZ2h0OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otanVzdGlmeS1jb250ZW50OmxlZnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6bGVmdDstd2Via2l0LWJveC1wYWNrOmxlZnQ7anVzdGlmeS1jb250ZW50OmxlZnR9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo2MHB4O2xlZnQ6NjBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo5MHB4O2xlZnQ6OTBweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ei1pbmRleDo2MDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTZweDtsZWZ0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6MzRweDtoZWlnaHQ6MzRweDt3aWR0aDozNHB4O3BhZGRpbmc6N3B4O2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTp1bnNldH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfXl0ZC13YXRjaC1mbGV4eVt0aGVhdGVyXSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6dW5zZXR9eXRkLXdhdGNoLWZsZXh5W3RoZWF0ZXJdIC5hZC1zaG93aW5nIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7Ym90dG9tOjA7bGVmdDowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO2JvcmRlcjpub25lO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czo0MHB4O3BhZGRpbmc6MTJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6bm90KC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCl7cGFkZGluZzowIDhweH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ZGlzcGxheTpub25lfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtvcGFjaXR5OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlOmhvdmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JhY2tncm91bmQtY29sb3I6cmdiYSgzMywzMywzMywuOTUpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTlweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygodmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA2cHgpKi0xKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4KSotMSkpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtODBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQpe3dpZHRoOmF1dG99Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaUkyWm1aaUlnZG1sbGQwSnZlRDBpTUNBd0lESTBJREkwSWo0OGNHRjBhQ0JtYVd4c1BTSnViMjVsSWlCa1BTSk5NQ0F3YURJMGRqSTBTREI2SWk4K1BIQmhkR2dnWkQwaVRURTRJRFpvTFRKak1DMHlMakl4TFRFdU56a3ROQzAwTFRSVE9DQXpMamM1SURnZ05rZzJZeTB4TGpFZ01DMHlJQzQ1TFRJZ01uWXhNbU13SURFdU1TNDVJRElnTWlBeWFERXlZekV1TVNBd0lESXRMamtnTWkweVZqaGpNQzB4TGpFdExqa3RNaTB5TFRKdExUWXRNbU14TGpFZ01DQXlJQzQ1SURJZ01tZ3ROR013TFRFdU1TNDVMVElnTWkweWJUWWdNVFpJTmxZNGFESjJNbU13SUM0MU5TNDBOU0F4SURFZ01YTXhMUzQwTlNBeExURldPR2cwZGpKak1DQXVOVFV1TkRVZ01TQXhJREZ6TVMwdU5EVWdNUzB4Vmpob01ub2lMejQ4TDNOMlp6ND0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi1jdXN0b20taWNvbiwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29uLWN1c3RvbS1pY29ue2JhY2tncm91bmQtaW1hZ2U6bm9uZTt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmO21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6NnB4O2N1cnNvcjpwb2ludGVyfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS10aXRsZXtmb250LXdlaWdodDo1MDB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtib3JkZXItcmFkaXVzOjhweDt3aWR0aDoyOThweDtoZWlnaHQ6NjRweDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI5MHB4O3BhZGRpbmc6NHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tZGV0YWlscyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWRldGFpbHMgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLXN1YnRpdGxle292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NDAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxzIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1tZXRhZGF0YS10ZXh0e29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NTAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWd7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDojZmZmO2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWc+aW1ne3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbn06aXMoOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCksLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCkgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb257ZGlzcGxheTpub25lfTppcygueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1jb2xsYXBzZWQsLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWNvbnRlbnQtZm9yd2FyZC1jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3dpZHRoOjA7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4taW5saW5lLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC1tYXJnaW4tc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbHtoZWlnaHQ6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MTt3aWR0aDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWV4cGFuZGVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDowO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7d2lkdGg6MjRweH06aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctY29sbGFwc2VkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHg7b3BhY2l0eToxO3dpZHRoOjE4cHg7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4gOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtY29udGVudC1mb3J3YXJkLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkKSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWw6Zmlyc3QtY2hpbGR7d2lkdGg6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTJweDt3aWR0aDoycHg7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zMjstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLW1vcmUtcHJvZHVjdHMtaWNvbntoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6dW5zZXR9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ1ptbHNiRDBpSTJabVppSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQmtQU0pOTVRZdU1qUWdPUzR4TnlBeE15NDBNU0F4TW13eUxqZ3pJREl1T0RNdE1TNDBNU0F4TGpReFRERXlJREV6TGpReGJDMHlMamd6SURJdU9ETXRNUzQwTVMweExqUXhUREV3TGpVNUlERXlJRGN1TnpZZ09TNHhOMnd4TGpReExURXVOREZNTVRJZ01UQXVOVGxzTWk0NE15MHlMamd6ZWswMExqa3pJRFF1T1ROakxUTXVPVEVnTXk0NU1TMHpMamt4SURFd0xqSTBJREFnTVRRdU1UUWdNeTQ1TVNBekxqa3hJREV3TGpJMElETXVPVEVnTVRRdU1UUWdNQ0F6TGpreExUTXVPVEVnTXk0NU1TMHhNQzR5TkNBd0xURTBMakUwTFRNdU9TMHpMamt4TFRFd0xqSTBMVE11T1RFdE1UUXVNVFFnTUcweE15NDBNeTQzTVdNekxqVXhJRE11TlRFZ015NDFNU0E1TGpJeUlEQWdNVEl1TnpOekxUa3VNaklnTXk0MU1TMHhNaTQzTXlBd0xUTXVOVEV0T1M0eU1pQXdMVEV5TGpjell6TXVOVEl0TXk0MU1TQTVMakl5TFRNdU5URWdNVEl1TnpNZ01DSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47b3BhY2l0eTouNjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRURTVJRFl1TkRFZ01UY3VOVGtnTlNBeE1pQXhNQzQxT1NBMkxqUXhJRFVnTlNBMkxqUXhJREV3TGpVNUlERXlJRFVnTVRjdU5Ua2dOaTQwTVNBeE9TQXhNaUF4TXk0ME1TQXhOeTQxT1NBeE9TQXhPU0F4Tnk0MU9TQXhNeTQwTVNBeE1ub2lMejQ4TDNOMlp6ND0pO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZGlzbWlzcy1idXR0b24taWNvbjpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1vZmZsaW5lLXNsYXRle2JvdHRvbTozMnB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjI4MHB4O2hlaWdodDo2NHB4O3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtZmVhdHVyZWQtcHJvZHVjdD4ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI3MnB4O3BhZGRpbmc6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEU1SURZdU5ERWdNVGN1TlRrZ05TQXhNaUF4TUM0MU9TQTJMalF4SURVZ05TQTJMalF4SURFd0xqVTVJREV5SURVZ01UY3VOVGtnTmk0ME1TQXhPU0F4TWlBeE15NDBNU0F4Tnk0MU9TQXhPU0F4T1NBeE55NDFPU0F4TXk0ME1TQXhNbm9pTHo0OEwzTjJaejQ9KTtvcGFjaXR5Oi44O2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbHtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbD5pbWd7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDstby1vYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LWZpdDpjb250YWlufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vcGVuLWluLW5ld3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NHB4O3JpZ2h0OjRweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWswek9DQXpPRWd4TUZZeE1HZ3hORlkyU0RFd1l5MHlMakl4SURBdE5DQXhMamM1TFRRZ05IWXlPR013SURJdU1qRWdNUzQzT1NBMElEUWdOR2d5T0dNeUxqSXhJREFnTkMweExqYzVJRFF0TkZZeU5HZ3ROSHBOTWpnZ05uWTBhRGN1TVRkTU1UVXVOVEVnTWprdU5qWnNNaTQ0TXlBeUxqZ3pURE00SURFeUxqZ3pWakl3YURSV05ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LWNvdW50ZG93bntmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtYWZmaWxpYXRlLWRpc2NsYWltZXJ7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWR7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1yaWdodDo0cHg7b3BhY2l0eTouN30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtaW5mby1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWsweU1pQXpOR2cwVmpJeWFDMDBlbTB5TFRNd1F6RXlMamsxSURRZ05DQXhNaTQ1TlNBMElESTBjemd1T1RVZ01qQWdNakFnTWpBZ01qQXRPQzQ1TlNBeU1DMHlNRk16TlM0d05TQTBJREkwSURSdE1DQXpObU10T0M0NE1pQXdMVEUyTFRjdU1UZ3RNVFl0TVRaVE1UVXVNVGdnT0NBeU5DQTRjekUySURjdU1UZ2dNVFlnTVRZdE55NHhPQ0F4TmkweE5pQXhObTB0TWkweU1tZzBkaTAwYUMwMGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7bWFyZ2luLXJpZ2h0OjhweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vdmVyZmxvdy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlpMDFJQzAxSURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKTk1USWdPR014TGpFZ01DQXlMUzQ1SURJdE1uTXRMamt0TWkweUxUSXRNaUF1T1MweUlESWdMamtnTWlBeUlESnRNQ0F5WXkweExqRWdNQzB5SUM0NUxUSWdNbk11T1NBeUlESWdNaUF5TFM0NUlESXRNaTB1T1MweUxUSXRNbTB3SURaakxURXVNU0F3TFRJZ0xqa3RNaUF5Y3k0NUlESWdNaUF5SURJdExqa2dNaTB5TFM0NUxUSXRNaTB5SWk4K1BDOXpkbWMrKTtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4O29wYWNpdHk6Ljg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXZlbmRvcntvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdmVuZG9yLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVke2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5ne292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVkIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy10ZXh0e29wYWNpdHk6Ljc7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5nPi55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdMVGsyTUNBNU5qQWdPVFl3SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSnRNVEl6TFRJME1DMDBNeTAwTXlBeU9USXRNamt4SURFMk55QXhOamNnTWpReExUSTBNVWcyTlROMkxUWXdhREl5TjNZeU1qZG9MVFU1ZGkweE1qTk1OVE00TFRNeU1TQXpOekV0TkRnNGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxMnB4O3dpZHRoOjEycHg7bWFyZ2luLXRvcDoycHg7bWFyZ2luLXJpZ2h0OjRweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZ3tkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByaWNlLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVyIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcm9tb3Rpb24tdGV4dHtmb250LXdlaWdodDo1MDA7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZXt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO21hcmdpbi1sZWZ0OjRweH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2V7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByb21vdGlvbi10ZXh0OmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2U6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQ6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtY29udGFpbmVyLC55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWV4Y2x1c2l2ZS1iYWRnZXtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20oIzdmMGU3ZiksY29sb3Itc3RvcCgjZGIxZGRiKSx0bygjZWQ1NThmKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCM3ZjBlN2YsI2RiMWRkYiwjZWQ1NThmKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmLCNkYjFkZGIsI2VkNTU4Zik7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtdGV4dHtsaW5lLWhlaWdodDoxMDAlO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtZXhjbHVzaXZlLWNvdW50ZG93bnttYXJnaW4tbGVmdDo0cHg7bGluZS1oZWlnaHQ6MTAwJX0ueXRwLXRpbWUtZGlzcGxheXtmb250LXNpemU6MTA5JTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzowIDVweDt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6NDdweH0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC10aW1lLWRpc3BsYXksLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUxcHh9Lnl0cC1lbWJlZCAueXRwLXRpbWUtZGlzcGxheSwueXRwLXNtYWxsLW1vZGUgLnl0cC10aW1lLWRpc3BsYXl7bGluZS1oZWlnaHQ6MzlweH0ueXRwLWJpZy1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUzcHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWRpc3BsYXk6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtmb250LXNpemU6MTRweDttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSA4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtZGlzcGxheXtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtmb250LXNpemU6MTZweDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtdG9wLWhlaWdodCwyMHB4KSAxMnB4fS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC10aW1lLWRpc3BsYXktYWxsb3ctYXV0b2hpZGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7bWluLXdpZHRoOjA7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtd3JhcHBlcntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jdXJyZW50LC55dHAtdGltZS1kdXJhdGlvbiwueXRwLXRpbWUtc2VwYXJhdG9ye2NvbG9yOiNkZGR9Lnl0cC10aW1lLXdyYXBwZXItZGVsaGl7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWN1cnJlbnR7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtcHJpbWFyeSwjZmZmKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtZHVyYXRpb24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXNlcGFyYXRvcntjb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpO2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWxpdmUgLnl0cC10aW1lLWNvbnRlbnRze2Rpc3BsYXk6bm9uZX0qIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdlLC55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxpdmUtYmFkZ2V7dGV4dC10cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2UsLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlIC55dHAtbGl2ZS1iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZweDtoZWlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOjQlO21hcmdpbi1yaWdodDo1cHg7YmFja2dyb3VuZDojNzU3NTc1O2NvbnRlbnQ6IiI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle3dpZHRoOjlweDtoZWlnaHQ6OXB4O2JvcmRlci1yYWRpdXM6OXB4fS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1saXZlLWJhZGdlW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWxpdmUtYmFkZ2VbZGlzYWJsZWRde29wYWNpdHk6MX0ueXRwLWxpdmViYWRnZS1jb2xvciAueXRwLWxpdmUtYmFkZ2UueXRwLWxpdmUtYmFkZ2UtaXMtbGl2ZWhlYWQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpfS55dHAtdGltZS1kaXNwbGF5Lnl0cC1jbGlwe292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24sLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvciwueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9yLC55dHAtY2xpcCAueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6aW5saW5lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOjEycHg7bWFyZ2luLWxlZnQ6OHB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NXB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MH0ueXRwLXRpbWUtY2xpcC1pY29uIHN2Z3t3aWR0aDoxNnB4O2hlaWdodDoxNnB4O21hcmdpbi1ib3R0b206LTNweDtmaWxsOiNkZGR9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvcnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjhweDtmb250LXdlaWdodDo3MDB9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2V7d2lkdGg6YXV0b30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtY29udGVudHN7b3ZlcmZsb3c6aGlkZGVufS55dHAtbm8tbGluayxzcGFuLnl0cC10aXRsZS1jaGFubmVsLW5hbWV7Y3Vyc29yOmRlZmF1bHQ7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXRpdGxle292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC10aXRsZSAueXRwLXRpdGxlLXRleHQsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLXRvcCAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dCwueXRwLWhpZGUtZnVsbHNjcmVlbi10aXRsZSAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dHtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS10ZXh0e3ZlcnRpY2FsLWFsaWduOnRvcDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxMnB4O2ZvbnQtc2l6ZToxOHB4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1sZWZ0OjRweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxOHB4O2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmctbGVmdDo2cHh9Lnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoyMXB4fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS10ZXh0e2ZvbnQtc2l6ZToxNnB4O3doaXRlLXNwYWNlOm5vcm1hbDtwYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctcmlnaHQ6NTNweH0ueXRwLWJpZy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDozNnB4fS55dHAtYmlnLW1vZGUueXRwLXNob3J0cy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxN3B4O2ZvbnQtc2l6ZToyM3B4O3BhZGRpbmctcmlnaHQ6NjRweH0ueXRwLXRpdGxlLXRleHQtbGFyZ2VyLWxpbmUtaGVpZ2h0IC55dHAtdGl0bGUtdGV4dHtsaW5lLWhlaWdodDoxLjM1fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS1saW5re292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC10aXRsZS1zdWJ0ZXh0e2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtY2hhbm5lbC1uYW1le21hcmdpbi10b3A6LjI1cmVtO2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5KX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc3VidGV4dHtmb250LXNpemU6MjBweH0ueXRwLXRpdGxlLXN1YnRleHQgYTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1mdWxsZXJzY3JlZW4tbGlua3tjdXJzb3I6ZGVmYXVsdH0ueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtoZWlnaHQ6MTRweDt3aWR0aDozNnB4O2Zsb2F0OnJpZ2h0O3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyMXB4O3dpZHRoOjU0cHg7Ym9yZGVyLXJhZGl1czoyMXB4fS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtvcGFjaXR5Oi4zfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjojOTA5MDkwfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSBwYXRoe2ZpbGw6IzkwOTA5MH0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JvcmRlci1yYWRpdXM6MDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtY29udGV4dG1lbnUueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1jb250ZXh0bWVudSAueXRwLW1lbnVpdGVtIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRrZ01UWXVNaUEwTGpnZ01USnNMVEV1TkNBeExqUk1PU0F4T1NBeU1TQTNiQzB4TGpRdE1TNDBlaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29udGV4dG1lbnUgLnl0cC1tZW51aXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfS55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O21hcmdpbi10b3A6LTNweDtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjYpO2JveC1zaGFkb3c6MCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuNik7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7bGVmdDowO2hlaWdodDozMHB4O3dpZHRoOjMwcHg7Ym9yZGVyLXJhZGl1czozMHB4O21hcmdpbi10b3A6ZGl2aWRlKHN1YigyMXB4LDMwcHgpLDIpfS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjRweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyNHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveCwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tcHJpbWFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWRpc2FibGVkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4uYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXRvcDoycHg7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlciwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzO2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7b3BhY2l0eTowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwe2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3e3BhZGRpbmc6MnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3tib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3Lnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbjpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5OjF9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGl0bGV7cGFkZGluZzowIDlweDt0ZXh0LWFsaWduOnN0YXJ0O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6NXB4IDlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1iZ3ttYXJnaW46NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLXRpdGxlIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHttYXJnaW4tbGVmdDo4cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGV4dHtwYWRkaW5nOjAgOXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXA6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JvcmRlci1yYWRpdXM6NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1wcmV2aWV3KSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC10b29sdGlwLWJnLC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtwYWRkaW5nOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo4cHggMTZweDtib3JkZXItcmFkaXVzOjE4cHg7dG9wOjQ1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGUgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxle21hcmdpbi1sZWZ0OjhweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHt0b3A6LTE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6MTBweDt0b3A6dW5zZXQ7bWF4LXdpZHRoOnVuc2V0O2hlaWdodDotd2Via2l0LWZpdC1jb250ZW50O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntib3R0b206OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KFthcmlhLWhpZGRlbj10cnVlXSkgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxse2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7dG9wOjY3cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxMnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MTJweH0ueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVye2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtd3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NXB4O2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MX0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjRweCAwO292ZXJmbG93OmhpZGRlbjttYXgtaGVpZ2h0OjQ2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjZweCAwO21heC1oZWlnaHQ6NjlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9uIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKTpub3QoW2FyaWEtaGlkZGVuPXRydWVdKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjVweCA5cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdG9vbHRpcC1vcGFxdWUgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQtY29sb3I6cmdiKDI4LDI4LDI4KX0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6aW5saW5lO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6MzRweH0ueXRwLWJpZy1tb2RlIC55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6NDVweH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MH0ueXRwLXRvb2x0aXAtYmd7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKS55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb246aXMoW2FyaWEtaGlkZGVuPXRydWVdKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtcHJvZ3Jlc3MtYmFyLXNuYXAgLnl0cC10b29sdGlwLWJne291dGxpbmU6MXB4IHNvbGlkICNmZmY7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJne2Rpc3BsYXk6YmxvY2t9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7ZmxvYXQ6bGVmdH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAtYmcueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pIC55dHAtdG9vbHRpcC1iZy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eToxfS55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtaGFzLWR1cmF0aW9uIC55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDtib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7cGFkZGluZzoycHggNHB4O2JvcmRlci1yYWRpdXM6MnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcueXRwLWhhcy1kdXJhdGlvbiAueXRwLXRvb2x0aXAtZHVyYXRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOiNmZmZ9Lnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXAtdGl0bGUgc3Zne2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2ZvbnQtc2l6ZToxOHB4fS55dHAtYmlnLW1vZGUueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3Zne2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAzJTtoZWlnaHQ6YXV0bztmb250LXNpemU6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3ZnLC55dHAtcHJvZ3Jlc3MtYmFyLWRlY29yYXRpb24gLnl0cC10b29sdGlwLXRpdGxlIHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbi1yaWdodDozcHg7ZmlsbDp3aGl0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjgwcHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7aGVpZ2h0OjE2cHg7Ym9yZGVyOjA7dG9wOjQ1cHg7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjEyMHB4O3RvcDo2MXB4O2hlaWdodDoyNHB4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQ6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NDVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWJpZy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e3RvcDo2NXB4fS55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWtleWJvYXJkLXNob3J0Y3V0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zMDE5NjA3ODQzKTttaW4td2lkdGg6MTFweDtib3JkZXItcmFkaXVzOjRweDttYXJnaW4tbGVmdDo0cHg7Y29sb3I6I2ZmZjtwYWRkaW5nOjAgMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dDplbXB0eXtkaXNwbGF5Om5vbmU7d2lkdGg6MH0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDozM3B4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUueXRwLW1vZGVybi10b29sdGlwLXRleHR7dG9wOjI1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDo0MXB4fS55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwgLnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2FhYTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC10b29sdGlwLWltYWdle3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTt0b3A6MnB4O2xlZnQ6N3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAtaW1hZ2V7d2lkdGg6MjVweDtoZWlnaHQ6MjVweDtib3JkZXItcmFkaXVzOjEyLjVweDt0b3A6M3B4O2xlZnQ6MTBweH0ueXRwLXRvb2x0aXAtaW1hZ2UtZW5hYmxlZCAueXRwLXRvb2x0aXAtaW1hZ2V7ZGlzcGxheTppbmhlcml0fS55dHAtaW5saW5lLXByZXZpZXctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGV7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWVkdSwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLXVubXV0ZS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOnN1Yig0OHB4LDEycHgpO2xlZnQ6MDt6LWluZGV4OjEwMDE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEyNyU7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjEycHh9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS55dHAtcG9wdXB7dG9wOnN1Yig0OHB4LDE4cHgpO3BhZGRpbmc6MThweH0ueXRwLWF1dG9oaWRlIC55dHAtdW5tdXRlLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLXVubXV0ZXt0b3A6MH0ueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6M3B4O3BhZGRpbmctcmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTt0ZXh0LXNoYWRvdzpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6NXB4O3BhZGRpbmctcmlnaHQ6MThweH0ueXRwLXVubXV0ZS1pY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLWVtYmVkIC55dHAtdW5tdXRlLWljb257d2lkdGg6NDBweDtoZWlnaHQ6NDBweH0ueXRwLXVubXV0ZS1pY29uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMDAwfS55dHAtdW5tdXRlLXRleHR7bWF4LXdpZHRoOjIwMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC11bm11dGUueXRwLXBvcHVwLnl0cC11bm11dGUtYW5pbWF0ZWQgLnl0cC11bm11dGUtaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOm5vbmU7cGFkZGluZzowfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWljb257cGFkZGluZy1sZWZ0OjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtib3JkZXItcmFkaXVzOjJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjFmMWYxfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWJveHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMX0ueXRwLXVubXV0ZS1hbmltYXRlZCAueXRwLXVubXV0ZS10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTA7cGFkZGluZy10b3A6MXB4O3BhZGRpbmctcmlnaHQ6MTBweH0ueXRwLXVubXV0ZS1leHBhbmQgLnl0cC11bm11dGUtYm94e3dpZHRoOjA7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuNXMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtd2lkdGgtYW5pbSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAzLjVzIGZvcndhcmRzfS55dHAtdW5tdXRlLWV4cGFuZCAueXRwLXVubXV0ZS10ZXh0e29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbjp5dHAtdW5tdXRlLWFscGhhLWFuaW0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuOHMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgMy44cyBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtYm94e3dpZHRoOjEwMCU7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkczthbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtdGV4dHtvcGFjaXR5OjE7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS1hbHBoYS1hbmltIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSA1LjRzIHJldmVyc2UgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSkgNS40cyByZXZlcnNlIGZvcndhcmRzfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLXdpZHRoLWFuaW17MCV7d2lkdGg6MH10b3t3aWR0aDoxMDAlfX1Aa2V5ZnJhbWVzIHl0cC11bm11dGUtd2lkdGgtYW5pbXswJXt3aWR0aDowfXRve3dpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0cC11cG5leHR7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7b3BhY2l0eToxO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ei1pbmRleDozOX0ueXRwLXVwbmV4dC10b3B7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2JvdHRvbTo1MCU7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10b3B7bWFyZ2luLWJvdHRvbToyNnB4fS55dHAtc21hbGwtbW9kZS55dHAtZW1iZWQgLnl0cC11cG5leHQtbW9iaWxlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjB9Lnl0cC11cG5leHQtYm90dG9te3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0b3A6NTAlO21hcmdpbi10b3A6NDhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYm90dG9te21hcmdpbi10b3A6MjZweH0ueXRwLXNtYWxsLW1vZGUueXRwLWVtYmVkIC55dHAtdXBuZXh0LW1vYmlsZSAueXRwLXVwbmV4dC1ib3R0b217bWFyZ2luLXRvcDo0OHB4fS55dHAtdXBuZXh0LXRpdGxle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowIDEwcHggMnB4O21hcmdpbi1sZWZ0OjMycHg7bWFyZ2luLXJpZ2h0OjMycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjIwMCU7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTUwJX0ueXRwLXVwbmV4dC1hdXRob3J7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDEwcHggMTBweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMzAlfS55dHAtdXBuZXh0LWhlYWRlcntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNDAlO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctYm90dG9tOjhweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtaGVhZGVye3BhZGRpbmctYm90dG9tOjB9Lnl0cC11cG5leHQtY2FuY2Vse2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0Om5vbmU7cGFkZGluZzoxMHB4IDIwcHg7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpO2JvcmRlci1yYWRpdXM6MnB4fS55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbjotMzJweCAwIDAgLTMycHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O21hcmdpbjotMjVweCAwIDAgLTI1cHh9Lnl0cC1zbWFsbC1tb2RlLnl0cC1lbWJlZCAueXRwLXVwbmV4dC1tb2JpbGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnttYXJnaW4tdG9wOjB9Lnl0cC1lbWJlZCAueXRwLWVuZHNjcmVlbi10YWtlb3Zlcn4ueXRwLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtdXBuZXh0LXBhdXNlZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtc3R5bGU6aXRhbGljO29wYWNpdHk6MH0ueXRwLXVwbmV4dC1hdXRvcGxheS1wYXVzZWQgLnl0cC11cG5leHQtcGF1c2Vke29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtdXBuZXh0IC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtvcGFjaXR5Oi40fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXktaW1hZ2V7b3BhY2l0eTouNjR9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRvcHt0b3A6MDttYXJnaW46MTJweCAwIDAgMTJweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRpdGxle3RleHQtYWxpZ246bGVmdDttYXJnaW4tYm90dG9tOjRweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO3BhZGRpbmc6MH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtdGl0bGV7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmY7cGFkZGluZzowIDc1cHggMCAwfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjYycHg7aGVpZ2h0OjYycHg7bWFyZ2luOi0zMXB4IDAgMCAtMzFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbiwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtcGF1c2Vke2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbntwYWRkaW5nOjhweDttYXJnaW4tdG9wOjhweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjE0NnB4O2hlaWdodDoxNDZweDttYXJnaW46LTczcHggMCAwIC03M3B4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjc2cHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC11cG5leHQtdG9we21hcmdpbi1ib3R0b206NzZweH0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjA7Ym90dG9tOjUwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257dG9wOjYwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjA7dG9wOjcwJX0ueXRwLXVzZXItaW5mby1wYW5lbHtiYWNrZ3JvdW5kOnJnYmEoMjgsMjgsMjgsLjgpO2NvbG9yOiNmZmY7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyOTJweDtoZWlnaHQ6NzRweDtib3R0b206MDt6LWluZGV4OjgwO21pbi13aWR0aDoyNmVtO2Rpc3BsYXk6dGFibGV9Lnl0cC11c2VyLWluZm8tcGFuZWwgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLXVzZXItaW5mby1wYW5lbCAueXRwLWNvbGxhcHNlOmhvdmVye29wYWNpdHk6MX0ueXRwLXVzZXItaW5mby1wYW5lbC1jb250ZW50e2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZzoxNHB4IDA7Zm9udC1zaXplOjE2cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC11c2VyLWluZm8tcGFuZWwtaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHg7cGFkZGluZzowIDE0cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtbG9naW57Y29sb3I6IzNlYTZmZjtjdXJzb3I6cG9pbnRlcn0ueXRwLXVzZXItaW5mby1wYW5lbC1pbmZve21heC13aWR0aDoyMDBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC12aWRlby1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztoZWlnaHQ6NDRweDtwYWRkaW5nOjEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXZpZGVvLW1lbnUtaXRlbXtoZWlnaHQ6NjZweDtwYWRkaW5nOjE1cHh9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC12aWRlby1tZW51LWl0ZW06aG92ZXIsLnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpfS55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne3BhZGRpbmctcmlnaHQ6OXB4O21pbi13aWR0aDoxMHB4O2hlaWdodDo0NHB4O2xpbmUtaGVpZ2h0OjQ0cHg7ZmxvYXQ6bGVmdH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7cGFkZGluZy1yaWdodDoxM3B4O2hlaWdodDo2NnB4O2xpbmUtaGVpZ2h0OjY2cHh9Lnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTpub25lO2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne2NvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLXZpZGVvLW1lbnUtaXRlbS1ub3ctcGxheWluZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1jb2xvciAuMTVzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTppbmxpbmV9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4e2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvLW1lbnUtaXRlbS10aXRsZXtwYWRkaW5nLWxlZnQ6OXB4O2ZvbnQtc2l6ZToxMjAlO21heC1oZWlnaHQ6Mi42ZW07b3ZlcmZsb3c6aGlkZGVufS55dHAtdmlkZW8tbWVudS1pdGVtLWF1dGhvcntwYWRkaW5nLWxlZnQ6OXB4O2NvbG9yOiNiOGI4Yjg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse2Zsb2F0OmxlZnQ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDttYXJnaW46NHB4O2JvcmRlcjowIHNvbGlkIHZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTZweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo2NHB4IDQ4cHg7YmFja2dyb3VuZC1zaXplOjY0cHggNDhweH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHtib3JkZXItY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHstd2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlfS55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse3dpZHRoOjk2cHg7aGVpZ2h0OjU0cHg7bWFyZ2luOjZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTlweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5NnB4IDcycHg7YmFja2dyb3VuZC1zaXplOjk2cHggNzJweH0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse21hcmdpbjoycHg7Ym9yZGVyLXdpZHRoOjJweH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLXZpZGVvLW1lbnUtaXRlbS10aHVtYm5haWx7bWFyZ2luOjRweH0ueXRwLXZpZGVvd2FsbC1zdGlsbHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKTt0cmFuc2Zvcm06c2NhbGUoLjEpfS55dHAtc2hvdy10aWxlcyAueXRwLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3IsLnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWR1cmF0aW9uLC55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpub25lO2hlaWdodDoyLjE1ZW07cGFkZGluZy1yaWdodDoxMHB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peCwueXRwLXZpZGVvd2FsbC1zdGlsbC1taW5pIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFye2ZvbnQtc2l6ZToxMDAlfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RjR3hoZVd4cGMzUWlJSE4wY205clpUMGlJekF3TUNJZ2MzUnliMnRsTFc5d1lXTnBkSGs5SWk0eE5TSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlpOCtQSEJoZEdnZ2FXUTlJbmwwY0MxemRtY3RjR3hoZVd4cGMzUWlJR1pwYkd3OUlpTm1abVlpSUdROUlrMHlNaTQxTXlBeU1TNDBNblkyTGpnMWJEVXVOall0TXk0ME1pMDFMalkyTFRNdU5ESjZiUzB4TVM0ek15QXdhRGt1TURaMk1pNHlPRWd4TVM0eWVtMHdMVGt1TVRSb01UTXVObll5TGpJNFNERXhMako2YlRBZ05DNDFOMmd4TXk0MmRqSXVNamhJTVRFdU1ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjIuMTVlbTtoZWlnaHQ6Mi4xNWVtfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0YldsNElpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzF2Y0dGamFYUjVQU0l1TVRVaUlITjBjbTlyWlMxM2FXUjBhRDBpTWlJdlBqeHdZWFJvSUdsa1BTSjVkSEF0YzNabkxXMXBlQ0lnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEkxTGpZMUlERTRZeTB1TURJZ01pNHpNUzB1T0RjZ05DNDBNUzB5TGpJMUlEWXVNRFpzTGprdU9UUmpNUzQyT1MweExqZ2dNaTQzTFRRdU1qY2dNaTQzTFRkekxURXVNREV0TlM0eU1TMHlMamN0TjJ3dExqa3VPVE5CT1M0MU5DQTVMalUwSURBZ01DQXhJREkxTGpZMUlERTRiUzB4TlM0eklEQmpMakF4TFRJdU16SXVPRFl0TkM0ME1pQXlMakkxTFRZdU1EZHNMUzQ1TFM0NU0wTXhNQ0F4TWk0M09TQTVJREUxTGpJM0lEa2dNVGh6TVNBMUxqSWdNaTQzSURkc0xqa3RMamswWXkweExqTTVMVEV1TmpVdE1pNHlOQzB6TGpjMUxUSXVNalV0Tmk0d05tMHlMamNnTUdNdExqQTBMVEV1TnpNdU5Ea3RNeTR3T1NBeExqTTFMVFF1TW13dExqa3RMamswWXkweExqRXpJREV1TWpZdE1TNDRJREl1T1RrdE1TNDRJRFV1TVRRZ01DQXhMalkzTGpZM0lETXVOQ0F4TGpnZ05DNDJObXd1T1MwdU9UTmpMUzQ0TmkweExqRXlMVEV1TXprdE1pNDBOeTB4TGpNMUxUTXVOek50T1MwMUxqRTBMUzQ1TGprMFl5NDROU0F4TGpFeElERXVNemdnTWk0ME55QXhMak0xSURRdU1pNHdNeUF4TGpJMkxTNDFJREl1TmpFdE1TNHpOU0F6TGpjemJDNDVMamt6WXpFdU1USXRNUzR5TmlBeExqZ3RNaTQ1T1NBeExqZ3ROQzQyTmlBd0xUSXVNVFV0TGpZNExUTXVPRGd0TVM0NExUVXVNVFJ0TFRVdU5UVWdNaTQ0SURNdU5pQXhMamczTFRNdU5pQXlMak16ZWlJdlBqd3ZjM1puUGc9PSk7d2lkdGg6Mi4xNWVtO2hlaWdodDoyLjE1ZW19Lnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbGVuZ3Roe2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtdmlkZW93YWxsLXN0aWxsOmZvY3VzIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFyLC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbWl4PXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC1yb3VuZC1sYXJnZSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtcm91bmQtbWVkaXVtIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLXJvdW5kLWxhcmdlIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tYXV0aG9ye2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgxMiwxMiwxMiwuOCkgMCx0cmFuc3BhcmVudCAxMDBweCk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO2JvdHRvbTowO2NvbG9yOiNmZmY7bGVmdDowO29wYWNpdHk6MDtwYWRkaW5nOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC55dHAtdmlkZW93YWxsLXNob3ctdGV4dCAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnQsLnl0cC12aWRlb3dhbGwtc3RpbGw6Zm9jdXMgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50LC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tY29udGVudHtvcGFjaXR5OjF9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjJweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouOTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7ZGlzcGxheTpub25lO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuMjttYXgtaGVpZ2h0OjMwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXtmb250LXdlaWdodDo0MDA7bWF4LWhlaWdodDo0OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjg2KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVse2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuODYpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1ib3R0b206MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmb250LXNpemU6MTFweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1zaG93LXRpbGVzIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb257ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjIuMTVlbTtwYWRkaW5nLXJpZ2h0OjEwcHg7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNHhOU0lnYzNSeWIydGxMWGRwWkhSb1BTSXlJaTgrUEhCaGRHZ2dhV1E5SW5sMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUdacGJHdzlJaU5tWm1ZaUlHUTlJazB5TWk0MU15QXlNUzQwTW5ZMkxqZzFiRFV1TmpZdE15NDBNaTAxTGpZMkxUTXVOREo2YlMweE1TNHpNeUF3YURrdU1EWjJNaTR5T0VneE1TNHllbTB3TFRrdU1UUm9NVE11Tm5ZeUxqSTRTREV4TGpKNmJUQWdOQzQxTjJneE15NDJkakl1TWpoSU1URXVNbm9pTHo0OEwzTjJaejQ9KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RiV2w0SWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMXZjR0ZqYVhSNVBTSXVNVFVpSUhOMGNtOXJaUzEzYVdSMGFEMGlNaUl2UGp4d1lYUm9JR2xrUFNKNWRIQXRjM1puTFcxcGVDSWdabWxzYkQwaUkyWm1aaUlnWkQwaVRUSTFMalkxSURFNFl5MHVNRElnTWk0ek1TMHVPRGNnTkM0ME1TMHlMakkxSURZdU1EWnNMamt1T1RSak1TNDJPUzB4TGpnZ01pNDNMVFF1TWpjZ01pNDNMVGR6TFRFdU1ERXROUzR5TVMweUxqY3ROMnd0TGprdU9UTkJPUzQxTkNBNUxqVTBJREFnTUNBeElESTFMalkxSURFNGJTMHhOUzR6SURCakxqQXhMVEl1TXpJdU9EWXROQzQwTWlBeUxqSTFMVFl1TURkc0xTNDVMUzQ1TTBNeE1DQXhNaTQzT1NBNUlERTFMakkzSURrZ01UaHpNU0ExTGpJZ01pNDNJRGRzTGprdExqazBZeTB4TGpNNUxURXVOalV0TWk0eU5DMHpMamMxTFRJdU1qVXROaTR3Tm0weUxqY2dNR010TGpBMExURXVOek11TkRrdE15NHdPU0F4TGpNMUxUUXVNbXd0TGprdExqazBZeTB4TGpFeklERXVNall0TVM0NElESXVPVGt0TVM0NElEVXVNVFFnTUNBeExqWTNMalkzSURNdU5DQXhMamdnTkM0Mk5td3VPUzB1T1ROakxTNDROaTB4TGpFeUxURXVNemt0TWk0ME55MHhMak0xTFRNdU56TnRPUzAxTGpFMExTNDVMamswWXk0NE5TQXhMakV4SURFdU16Z2dNaTQwTnlBeExqTTFJRFF1TWk0d015QXhMakkyTFM0MUlESXVOakV0TVM0ek5TQXpMamN6YkM0NUxqa3pZekV1TVRJdE1TNHlOaUF4TGpndE1pNDVPU0F4TGpndE5DNDJOaUF3TFRJdU1UVXRMalk0TFRNdU9EZ3RNUzQ0TFRVdU1UUnRMVFV1TlRVZ01pNDRJRE11TmlBeExqZzNMVE11TmlBeUxqTXplaUl2UGp3dmMzWm5QZz09KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7Ym94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkpO2JvcmRlci1yYWRpdXM6OHB4fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyKTtib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpO2JvcmRlci1yYWRpdXM6OHB4fUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjEvMSl7Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle2FzcGVjdC1yYXRpbzoxNi85fX1Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86MS8xKXsueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7aGVpZ2h0OjA7cGFkZGluZy1ib3R0b206NTYuMjUlfX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3ttYXJnaW4tdG9wOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3I6bm90KDplbXB0eSl7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjEzMCU7bWF4LWhlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtdmlldy1jb3VudC1hbmQtZGF0ZS1pbmZvOm5vdCg6ZW1wdHkpe2ZvbnQtc2l6ZToxMzAlO21heC1oZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvciwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvcnttYXgtaGVpZ2h0OnVuc2V0fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnR7Y29sb3I6I2ZmZjt3aWR0aDoxMDAlO29wYWNpdHk6MTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb24sLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtib3JkZXItcmFkaXVzOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206OHB4O3JpZ2h0OjhweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtmb250LXNpemU6MTIwJX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6Ljc1fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWxpdmV7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7b3BhY2l0eTouOTtkaXNwbGF5Om5vbmU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpub3QoW2RhdGEtaXMtbGl2ZT10cnVlXSkgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5Om5vbmV9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb246ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxlOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tdGl0bGUsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXttYXgtaGVpZ2h0OnVuc2V0fS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4IDE2cHggMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1zcGVlZC1kaXNwbGF5LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1kaXNwbGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6OTAwO2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXNsaWRlci1jb250YWluZXIgLnl0cC1pbnB1dC1zbGlkZXJ7d2lkdGg6MTAwJX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWNoaXBze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtjb2xvcjojZmZmO2hlaWdodDozMnB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY2hpcHMgLnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Zm9udC1zaXplOjEycHg7d2lkdGg6NTNweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVyIC55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O3dpZHRoOjMycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLXdyYXBwZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLWxhYmVsLXRleHR7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXByZW1pdW0tdXBzZWxsLWljb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMDAlO21hcmdpbi1yaWdodDo4cHg7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MjRweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGxpbmVhcix2aXNpYmlsaXR5IDBzIGxpbmVhciAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBsaW5lYXIsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjFzfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZS12aXNpYmxle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjBzO3RyYW5zaXRpb24tZGVsYXk6MHN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3Zlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzoxMnB4IDEwcHg7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXItc2VjdGlvbi55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVye2hlaWdodDo5NnB4fX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyIC55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7bWFyZ2luLXJpZ2h0Oi01cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3ZlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tcy10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre3dpZHRoOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpO2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7d2lkdGg6MnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIueXRwLXZvbHVtZS1wb3BvdmVyLWhvdmVyaW5ne3Zpc2liaWxpdHk6dmlzaWJsZTttYXJnaW4tYm90dG9tOjhweDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0Oi00cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuOm5vdCguc2Vla2luZy1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0OjRweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtdm9sdW1lLXBhbmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjB9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXBhbmVsey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7d2lkdGg6NTJweDttYXJnaW4tcmlnaHQ6M3B4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246bWFyZ2luIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItYWN0aXZlIC55dHAtdm9sdW1lLXBhbmVse3dpZHRoOjc4cHg7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtdm9sdW1lLXBhbmVsOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVye21pbi1oZWlnaHQ6NTRweH0ueXRwLXZvbHVtZS1zbGlkZXJ7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjZweDttYXJnaW4tdG9wOi02cHg7YmFja2dyb3VuZDojZmZmfS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZXstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo5cHg7bWFyZ2luLXRvcDotOXB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW4tdG9wOi02cHg7Ym9yZGVyLXJhZGl1czo2cHg7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3RvcDo1MCU7bGVmdDowO2hlaWdodDozcHg7bWFyZ2luLXRvcDotMnB4O3dpZHRoOjY0cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZSwueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6MnB4O21hcmdpbi10b3A6LTFweH0ueXRwLWJpZy1tb2RlIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6NHB4O21hcmdpbi10b3A6LTJweDt3aWR0aDo5NnB4fS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YmVmb3Jle2xlZnQ6LTU4cHg7YmFja2dyb3VuZDojZmZmfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7bGVmdDotODdweH0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6NnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6OXB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MWVtfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b257Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC40cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtY29udGludWUtd2F0Y2hpbmctYnV0dG9uLnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1jb250aW51ZS13YXRjaGluZy1idXR0b24ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTtjb2xvcjojMGYwZjBmfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZX0ueXRwLWNvbnRpbnVlLXdhdGNoaW5nLWJ1dHRvbi55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmFjdGl2ZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjk0KTt0cmFuc2Zvcm06c2NhbGUoLjk0KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9LndhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS53YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lcnt3aWR0aDoxMDAlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbi1tb3JlLXZpZGVvcy1jb250YWluZXIgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTp1bnNldH0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lciAueXRwLW1vcmUtdmlkZW9zLXZpZXd7Ym9yZGVyLXJhZGl1czoycHg7ZGlyZWN0aW9uOmx0cjttYXJnaW46MTJweDtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlLnl0cC13YXRjaC1sYXRlci1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy13YXRjaC1sYXRlci10aXRsZS55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21pbi13aWR0aDo0OHB4O21heC13aWR0aDo4MHB4fS55dHAtd2F0Y2gtbGF0ZXItaWNvbnttYXJnaW46YXV0bzt3aWR0aDozNnB4O2hlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXdhdGNoLWxhdGVyLWljb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDttYXJnaW4tYm90dG9tOjEwcHh9Lnl0cC13YXRjaC1sYXRlci10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci10aXRsZSwueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7Zm9udC1zaXplOjIwcHh9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7ZGlzcGxheTpibG9ja30uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci10aXRsZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNvbnRhaW5lcnt3aWR0aDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7bWFyZ2luLXRvcDotMTBweDttYXJnaW4tbGVmdDotMTBweH0ueXRwLWJpZy1tb2RlIC55dHAtd2F0Y2gtbGF0ZXItaWNvbiAueXRwLXNwaW5uZXItY29udGFpbmVye3dpZHRoOjM1cHg7cGFkZGluZy1ib3R0b206MzVweDttYXJnaW4tdG9wOi0xNy41cHg7bWFyZ2luLWxlZnQ6LTE3LjVweH0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNpcmNsZXtib3JkZXItd2lkdGg6M3B4fS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29uIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjVweH0ud2ViZ2x7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjExO3dpZHRoOjEwMCV9LmVuZGVkLW1vZGUgLndlYmdse2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9ue3dpZHRoOjY3cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue3dpZHRoOjEyMHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLnl0cC15b3V0dWJlLW11c2ljLWJ1dHRvbiBzdmd7bWFyZ2luLWxlZnQ6LTI1cHg7aGVpZ2h0OjI0cHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLm5vLWxpbmssLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbi5uby1saW5re2N1cnNvcjpkZWZhdWx0O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbnt3aWR0aDoxMDBweH0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue2hlaWdodDoyNXB4O21hcmdpbi1ib3R0b206N3B4fS55dHAtZHJhd2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6MzUwcHg7dGV4dC1hbGlnbjpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6NDc7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2Vye3dpZHRoOjQyNXB4fS55dHAtZHJhd2VyLWNsb3NlZHt3aWR0aDoyNXB4fS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2Vke3dpZHRoOjM4cHh9Lnl0cC1kcmF3ZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MzUwcHg7aGVpZ2h0OjEwMCU7cGFkZGluZzo0OHB4IDI1cHggMjVweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLWNvbnRlbnR7d2lkdGg6NDI1cHg7cGFkZGluZzo3MHB4IDE1cHggMTVweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItY29udGVudHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjVweDtmaWxsOndoaXRlfS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7cGFkZGluZzo3cHh9Lnl0cC1kcmF3ZXItY2xvc2VkIC55dHAtZHJhd2VyLWNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3dpZHRoOjE1cHg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDotMTZweDtwYWRkaW5nOjEwcHggNXB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyl9Lnl0cC1iaWctbW9kZSAueXRwLWRyYXdlci1vcGVuLWJ1dHRvbnt3aWR0aDoyM3B4O2hlaWdodDo0OHB4O21hcmdpbi10b3A6LTI0cHg7cGFkZGluZzoxNXB4IDhweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLWRyYXdlci1vcGVuLWJ1dHRvbjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjojYWFhO2JvcmRlci1sZWZ0Om5vbmU7Y29udGVudDoiIn0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLW9wZW4tYnV0dG9uOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6OHB4O2JvcmRlci1yaWdodC13aWR0aDo4cHg7Ym9yZGVyLXRvcC13aWR0aDo4cHh9Lmh0bWw1LXlwYy1tb2R1bGV7bGluZS1oZWlnaHQ6MS4yO3RleHQtYWxpZ246bGVmdH0uaHRtbDUteXBjLWFjdGlvbi1oZWFkaW5ne21hcmdpbi1ib3R0b206NXB4O2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiM5OTl9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtYWN0aW9uLWhlYWRpbmd7ZGlzcGxheTpub25lfS5odG1sNS15cGMtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXlwYy10aHVtYm5haWx7ZmxvYXQ6bGVmdH0uaHRtbDUteXBjLXRodW1ibmFpbCBpbWd7d2lkdGg6MTAwcHg7bWFyZ2luOjAgMTBweCAxMHB4IDB9Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmF2YXRhcntib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmxhbmRzY2FwZXt3aWR0aDoxNjBweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy10aHVtYm5haWwgaW1ne3dpZHRoOjUwcHh9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6ODBweH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZ3t3aWR0aDoxNTBweDttYXJnaW46MCAxNXB4IDE4cHggMH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6MjQwcHh9Lmh0bWw1LXlwYy1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy1kZXNjcmlwdGlvbnttYXJnaW4tdG9wOjEwcHh9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLWRlc2NyaXB0aW9ue21hcmdpbi10b3A6MzhweH0uaHRtbDUteXBjLXB1cmNoYXNle2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzI3OTNlNn0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtcHVyY2hhc2V7bWFyZ2luOjE4cHggMDtwYWRkaW5nOjE1cHggMjBweDtib3JkZXItcmFkaXVzOjNweH0uaHRtbDUteXBjLXB1cmNoYXNlOmhvdmVye2JhY2tncm91bmQ6IzEyNmRiM30uaHRtbDUteXBjLXB1cmNoYXNlLmh0bWw1LXlwYy1yb3VuZGVke2JvcmRlci1yYWRpdXM6MThweH0uaHRtbDUteXBjLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2Njtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLW92ZXJsYXl7cGFkZGluZzo4cHg7bWFyZ2luLWxlZnQ6MjRweH0uaHRtbDUteXBjLWVuZHNjcmVlbntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7cGFkZGluZzo1MXB4IDIxcHggMjFweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTt6LWluZGV4OjM2fS55dHAtc21hbGwtbW9kZSAuaHRtbDUteXBjLWVuZHNjcmVlbntwYWRkaW5nLXRvcDoyMXB4fS55dHAteXBjLWNsaWNrd3JhcC1vdmVybGF5e3BhZGRpbmc6MjVweCAyMHB4IDA7ei1pbmRleDo2OX0ueXRwLXlwYy1jbGlja3dyYXAtaGVhZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM4ODg7cGFkZGluZzowIDAgMTVweCA1cHg7Zm9udC1zaXplOjE4MiU7Zm9udC13ZWlnaHQ6NDAwfS55dHAteXBjLWNsaWNrd3JhcC1kZXNjcmlwdGlvbnttYXJnaW46MTVweCAwIDAgNXB4O2ZvbnQtc2l6ZToxMjclfS55dHAteXBjLWNsaWNrd3JhcC1jb25maXJte21hcmdpbjoyMHB4IDAgMCA1cHg7cGFkZGluZzo3cHggMTBweDtiYWNrZ3JvdW5kLWNvbG9yOiMzN2Q7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC15cGMtY2xpY2t3cmFwLWNvbmZpcm06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjZjfS55dHAteXRvLXByZXJvbGwtbWVzc2FnZXtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2NTtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC15dG8tcHJlcm9sbCAueXRwLXl0by1wcmVyb2xsLW1lc3NhZ2V7ZGlzcGxheTpibG9ja31zZW50aW5lbHt9"}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:31.970Z","timestamp":1785137071970,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ/m=root,base HTTP/1.1\r\nHost: www.youtube.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://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=qIDWRSMhLXEwhRO4xETATQPR3jvQyZo5T4h1SiDwJZFeQABsv_T5rYcMTLyacdftQe1HFuTQYjCxldnVpZp74VYBMv_rUVwgOJ5HUwk7m3JIuCd9ZG52YE8hl7osllUIaKR2lm2Uof5aC684VV5dlQS3kmZBv5qVoUMTOzsGqPehMT1KjkhyJLxLtvige5qHG872p_pLGkmERGh0bmiKBMP7ZZDLQotiJ1KMNThxulgS-EDDia5j6Hykxc6wr_Ao78rVG6XGls6peXe6iAAIyvMNaTz8Cp_9-G3okp6kxCIuNJKmfPqv4_6k45-NAxJPqfBHRLWzFAp4sda6-ccaAA; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxjX2KroqfKVAw%3D%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 0\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:01:30 GMT\r\nexpires: Sat, 24 Jul 2027 13:01:30 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nage: 238981\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":0,"size_decoded":857,"mime_type":"text/css; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.88462Z","times_seen":17976927,"resource_available":true,"data":""}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/logo-mini.png","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:32.842Z","timestamp":1785137072842,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /logo-mini.png HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 7299\r\ncontent-type: image/png\r\nlast-modified: Sat, 20 Jul 2024 21:41:48 GMT\r\naccept-ranges: bytes\r\netag: \"1dadaed9f906a83\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:32 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":7299,"size_decoded":7595,"mime_type":"image/png","magic":"PNG image data, 101 x 114, 8-bit/color RGBA, non-interlaced","md5":"8680d7126f3d09dba58ee924ac0bb800","sha1":"6536992bf0c6a91930b6ad12bd35ca972cd2ccaa","sha256":"448c38fcf594c99664fa9541cf92d91b0338657ba8b8a1a97f8daa0060c7f2eb","sha512":"c6ac70e0a7f19a54afcad56ecee623bd70888cd5dabaabd7bd6ec16677f9346e848c3029a18521fe5124984080a6e2c08b00625044400ce7cf01a51b0f4f6bfa","ssdeep":"192:YSnkn5cRx81ElGJOJcHTSctBIzugI9hVNkWfMjvHeF7AE:fknycEl1uzSuBdz7NkWUj26E","tlshash":"fee11a19fca45c40650eb688e4fdf156d7fb1ed41d6040aeafe9ce020ea04ad9dc81eb","first_seen":"2026-07-27T05:02:02.437577Z","last_seen":"2026-07-27T07:25:28.822066Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAGUAAAByCAYAAABKrx/sAAAACXBIWXMAAAsTAAALEwEAmpwYAAANmWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIyLTA2LTEyVDIxOjQzOjU2LTA3OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNC0wNy0yMFQxNDo0MTo0OC0wNzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNC0wNy0yMFQxNDo0MTo0OC0wNzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyOGRhNWJjZi0xNGJiLTRkNDAtODE5Yi04NzRiYmQyM2Y1ZGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZTYxY2U5ZDktOTE0MS0yZjRkLWI4NmEtMjMwNWEwZWYxYTg5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZTYxY2U5ZDktOTE0MS0yZjRkLWI4NmEtMjMwNWEwZWYxYTg5Ij4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDQxQUZEMUI3OTAxQTFBM0UyNzkwMDVGOTMxRThENzY8L3JkZjpsaT4gPHJkZjpsaT4yNzI5MkZFRTFDRkM2MTUxMjZDMzNBMjg4NTA3RTI0NzwvcmRmOmxpPiA8cmRmOmxpPjQ5NTdFMTdEQUQ5REM0QjgzNDY1MTY5N0E3NjhCMUUwPC9yZGY6bGk+IDxyZGY6bGk+NEM4OURBMjFEOUEyNDZDQTcyNTRBODExNjZFQjUyRjQ8L3JkZjpsaT4gPHJkZjpsaT44MzZCQkEzRjEyRkFCRjdGODlENTMzNTEzNjVGRDNBQzwvcmRmOmxpPiA8cmRmOmxpPjhBNTdDNEY2ODM1OEI1NzYwNTcxNzk3QTlCMjlDQjFBPC9yZGY6bGk+IDxyZGY6bGk+OTMzM0NCQzI1RUNDQTE5NjgzRUNGM0QxMjI4ODA2OEQ8L3JkZjpsaT4gPHJkZjpsaT45RDc1MDI2QTE3OUUxRDI3RUVCODU1RkExRkY4QjgzMjwvcmRmOmxpPiA8cmRmOmxpPjlFMTk3OEQ0NEE2RTZFQTdGRTdFODlEQTkyOTc2MDZBPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjRmYWM0MzYwLTJkMjgtYjg0MS1hYmI3LTkwYTk3ZDM1OTc3ODwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOjM0ODI1YmU0LTVkNzQtNGQ3ZC04ZTQ4LWFiMWI1ODg4ZjM1ODwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmMxNzFiYzUxLTcxMzQtNGUwNS1iYWEwLWQyZTQ0ZWUwNDAxMDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmU2NTU3N2JlLTQwZDktNGEyOC1hZmJlLTVjOGIxYTgxYTBiOTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmZlMDhkNzYxLWQ1ZjUtNDRlZS04OTU1LWI5Y2YwNTcxMjZkOTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MGE4NzA2NDAtZmM1My00YzQ5LWI5NGItZjZmYjhmN2FiYzAzPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxOTUwZmJiNi1lZDFkLTc5NDEtYjVkNi1hMDEzYzFkYzkzN2U8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjJiOTg3ZGMwLWZiODEtNmE0Zi1iZDllLTBlZTc2MjEyMDY0ZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MzE2YzFiOWMtZmRlNi1mODQ1LTk5NTItNTRhMWM1MDhmNGRkPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0NTc3NDNlNi1jZDE1LWIyNDAtYTdkNC03NTRkZjIwMDg0MTE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjRFNTU1MDcxMUIyMDY4MTE5NkZBQUM5QzkxRTRFMjJDPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2Y2UzY2UxMy1iODMwLWZiNDEtYjk4My1iMGYxYTNlZTA0NjQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjlkOTVkNDQ5LTFhN2EtZmE0NC04OGMxLThmN2JlNzRkZjNmYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTA2YjE2MDQtNjMzNS1jZjQ2LTliZWYtM2EwYWY2ZWUzYzQ2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiMDgxYzdlYi0wODg4LWMzNGItOTk4OC1kOWJjYTJlMzZiMWE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmRhYmNjYzlhLWY1NzktMDA0My04MzkwLWRmMjNlNTJiNGZmNTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZTYxY2U5ZDktOTE0MS0yZjRkLWI4NmEtMjMwNWEwZWYxYTg5PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZWJiYTE4OS1iZDIwLWYzNDMtOWQ2NC0zY2ZhNDk0MGM3YjU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmZkOTVjYjhhLWI2N2EtOWE0Yy05NTM2LWM0NmQwZjE3ZTlkNTwvcmRmOmxpPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmU2MWNlOWQ5LTkxNDEtMmY0ZC1iODZhLTIzMDVhMGVmMWE4OSIgc3RFdnQ6d2hlbj0iMjAyMi0wNi0xMlQyMTo0Mzo1Ni0wNzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5NGQ0OGE5NC1lZDY5LTZhNDAtOGIwOS0zNGJkY2ZlYzA0NDIiIHN0RXZ0OndoZW49IjIwMjItMDYtMTNUMTM6MzQ6MzctMDc6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjhkYTViY2YtMTRiYi00ZDQwLTgxOWItODc0YmJkMjNmNWRkIiBzdEV2dDp3aGVuPSIyMDI0LTA3LTIwVDE0OjQxOjQ4LTA3OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+buvOpgAADpBJREFUeJztnXu0FlUZxn/fOZ0DhwxNFNEUCAJE0RWpeDfvpRUpmqWmZerSgsS83ygL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"}},"time_used":190,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":190,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images/forex.svg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:32.854Z","timestamp":1785137072854,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images/forex.svg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 2376\r\ncontent-type: image/svg+xml\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c7fd48\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:32 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]}],"data":{"size":2376,"size_decoded":2676,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"831fe7b4af7c10836bdbeee952dde6b5","sha1":"983e5c83b54b640848359bbac83f401d7809c31e","sha256":"f84db571144976ed7b130fcb95637ad5f92ca28c5b8509b49946c55afe0d95a2","sha512":"409fc93260469b6a818a6cabb250a519843ca820adb3e120da0e54187d662bf9bc99712c6c74a79a51c54461ffad62717dd32e304bbf71856254c0876e95b766","ssdeep":"","tlshash":"0541f022824c7ebe9c620b38536468e635d6ad57d070d69875f72c23d91ccc498e43ee","first_seen":"2026-03-29T04:39:56.783099Z","last_seen":"2026-07-27T07:25:28.871313Z","times_seen":5,"resource_available":false,"data":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuNiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxNTAgMTUwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNTAgMTUwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzMwMzAzMDt9Cjwvc3R5bGU+CjxnPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEwMiw3NS4xYy04LjctMS0xMC42LTUuMy0xMC42LTguNmMwLTEuOSwwLjctMy43LDIuMi01LjJjMi0yLjEsNS4zLTMuMyw4LjctMy4zYzYuMSwwLDEwLjksMy43LDEwLjksOC40CgkJaC00LjNjMC0yLjMtMy00LjItNi42LTQuMmMtMi4zLDAtNC40LDAuOC01LjcsMmMtMC40LDAuNS0xLDEuMi0wLjksMi4xYzAsMC45LDAuMSwzLjcsNi45LDQuNUwxMDIsNzUuMXoiLz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMDIuMyw4Ny45Yy02LjEsMC0xMC45LTMuNy0xMC45LTguNGg0LjNjMCwyLjMsMyw0LjIsNi42LDQuMmMyLDAsNi42LTAuNCw2LjYtNC4yYzAtMS42LTMuNC00LTYuOS00LjQKCQlsMC41LTQuMmM1LjIsMC42LDEwLjcsNC4yLDEwLjcsOC43QzExMy4yLDg0LjcsMTA5LDg3LjksMTAyLjMsODcuOXoiLz4KCTxyZWN0IHg9IjEwMC4yIiB5PSI1NS41IiBjbGFzcz0ic3QwIiB3aWR0aD0iNC4zIiBoZWlnaHQ9IjMuOSIvPgoJPHJlY3QgeD0iMTAwLjIiIHk9Ijg2LjQiIGNsYXNzPSJzdDAiIHdpZHRoPSI0LjMiIGhlaWdodD0iMy45Ii8+CjwvZz4KPGc+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTQ3LjgsMTE1LjdDMjUuMywxMTUuNyw3LDk3LjQsNyw3NC45czE4LjMtNDAuOCw0MC44LTQwLjhjMTAuOSwwLDIxLjEsNC4yLDI4LjgsMTEuOWwtMywzCgkJCQljLTYuOS02LjktMTYuMS0xMC43LTI1LjgtMTAuN2MtMjAuMSwwLTM2LjUsMTYuNC0zNi41LDM2LjVzMTYuNCwzNi41LDM2LjUsMzYuNWM5LjMsMCwxOC4xLTMuNSwyNC45LTkuOGwyLjksMy4xCgkJCQlDNjgsMTExLjgsNTguMSwxMTUuNyw0Ny44LDExNS43eiIvPgoJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTAyLjIsMTE1LjdjLTIyLjUsMC00MC44LTE4LjMtNDAuOC00MC44czE4LjMtNDAuOCw0MC44LTQwLjhTMTQzLDUyLjQsMTQzLDc0LjlTMTI0LjcsMTE1LjcsMTAyLjIsMTE1Ljd6CgkJCQkgTTEwMi4yLDM4LjRjLTIwLjEsMC0zNi41LDE2LjQtMzYuNSwzNi41czE2LjQsMzYuNSwzNi41LDM2LjVzMzYuNS0xNi40LDM2LjUtMzYuNVMxMjIuMywzOC40LDEwMi4yLDM4LjR6Ii8+CgkJPC9nPgoJCTxnPgoJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzYuMSwyMC4zbC0yLjQtMy42QzQzLjMsMTAuMyw1OCw2LjYsNzQuMSw2LjZjMTAsMCwxOS42LDEuNCwyNy45LDQuMmwtMS4zLDQuMWMtNy44LTIuNi0xNy00LTI2LjUtNAoJCQkJQzU5LjEsMTAuOSw0NC45LDE0LjQsMzYuMSwyMC4zeiIvPgoJCQk8Zz4KCQkJCTxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iOTAuNywxOC43IDk4LjQsMTEuOCA5OC44LDEuNSAxMTUuMSwxOS43IAkJCQkiLz4KCQkJPC9nPgoJCTwvZz4KCQk8Zz4KCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTc1LjgsMTQzLjRjLTEwLDAtMTkuNi0xLjQtMjcuOS00LjJsMS4zLTQuMWM3LjgsMi42LDE3LDQsMjYuNSw0YzE1LDAsMjkuMy0zLjUsMzgtOS40bDIuNCwzLjUKCQkJCUMxMDYuNywxMzkuNyw5MS45LDE0My40LDc1LjgsMTQzLjR6Ii8+CgkJCTxnPgoJCQkJPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSI1OS4zLDEzMS4zIDUxLjYsMTM4LjIgNTEuMiwxNDguNSAzNC45LDEzMC4zIAkJCQkiLz4KCQkJPC9nPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01MC4zLDg5LjRoLTdjLTcuNCwwLTEzLjUtNi0xMy41LTEzLjV2LTYuOGMwLTcuNCw2LTEzLjUsMTMuNS0xMy41aDdWNjBoLTdjLTUuMSwwLTkuMiw0LjEtOS4yLDkuMlY3NgoJCQljMCw1LjEsNC4xLDkuMiw5LjIsOS4yaDdWODkuNHoiLz4KCQk8Zz4KCQkJPHJlY3QgeD0iMjYuNCIgeT0iNjcuNSIgY2xhc3M9InN0MCIgd2lkdGg9IjE4LjkiIGhlaWdodD0iNC4zIi8+CgkJCTxyZWN0IHg9IjI2LjQiIHk9IjczLjQiIGNsYXNzPSJzdDAiIHdpZHRoPSIxOC45IiBoZWlnaHQ9IjQuMyIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8L3N2Zz4K"}},"time_used":189,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":189,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images/indices.svg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:32.856Z","timestamp":1785137072856,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images/indices.svg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 1408\r\ncontent-type: image/svg+xml\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c7f180\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:32 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":1408,"size_decoded":1708,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"630f25c7b997cd0e4053a10f79a7098b","sha1":"2227b36c01851ef361a992843e4e0e8cbdd881ee","sha256":"498226d8fce5c12cf7d477423c253770bb12d9f1e2109d0c277fc70a56e0b4d3","sha512":"183b5396049e93375314bb0ea52283ab17ab6163456b416a04cba44a59a15b44defda5e4c9f11f5312370bf1b25089a832a6b18a99639cf7f7da98d0ba9cdaeb","ssdeep":"","tlshash":"d921b8f292c9783efc22576966749af232a36046c6254508e9f23f357e05c919d701ae","first_seen":"2026-03-29T04:39:56.777739Z","last_seen":"2026-07-27T07:25:28.822998Z","times_seen":5,"resource_available":false,"data":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuNiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxNTcuMiAxNTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE1Ny4yIDE1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMzMDMwMzA7fQo8L3N0eWxlPgo8Zz4KCTxnPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iMi43LDk4LjMgMCw5NC41IDUyLjIsNTguNCA4Ny44LDkwLjUgMTQxLjQsNjEuNiAxNDMuNiw2NS43IDg3LjIsOTYuMiA1MS44LDY0LjQgCQkiLz4KCQk8Zz4KCQkJPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNDAuNSw3Ni41IDEzOS41LDY1LjMgMTMwLjcsNTguMyAxNTcuMiw1NS43IAkJCSIvPgoJCTwvZz4KCTwvZz4KCTxyZWN0IHg9IjI0LjUiIHk9IjM3LjgiIGNsYXNzPSJzdDAiIHdpZHRoPSI0LjciIGhlaWdodD0iNDAuOSIvPgoJPHJlY3QgeD0iNDIuNCIgeT0iMTUuNCIgY2xhc3M9InN0MCIgd2lkdGg9IjQuNyIgaGVpZ2h0PSI1MSIvPgoJPHJlY3QgeD0iNjAuMiIgY2xhc3M9InN0MCIgd2lkdGg9IjQuNyIgaGVpZ2h0PSI3MC45Ii8+Cgk8cmVjdCB4PSI3OCIgeT0iMTcuOSIgY2xhc3M9InN0MCIgd2lkdGg9IjQuNyIgaGVpZ2h0PSI2OSIvPgoJPHJlY3QgeD0iOTUuOCIgeT0iMzcuNyIgY2xhc3M9InN0MCIgd2lkdGg9IjQuNyIgaGVpZ2h0PSI1MCIvPgoJPHJlY3QgeD0iMTEzLjYiIHk9IjMuNSIgY2xhc3M9InN0MCIgd2lkdGg9IjQuNyIgaGVpZ2h0PSI3NC40Ii8+Cgk8cmVjdCB4PSIyNC42IiB5PSI5NS43IiBjbGFzcz0ic3QwIiB3aWR0aD0iNC43IiBoZWlnaHQ9IjU0LjMiLz4KCTxyZWN0IHg9IjQyLjQiIHk9IjgzLjkiIGNsYXNzPSJzdDAiIHdpZHRoPSI0LjciIGhlaWdodD0iNjYuMSIvPgoJPHJlY3QgeD0iNjAuMiIgeT0iOTAuMSIgY2xhc3M9InN0MCIgd2lkdGg9IjQuNyIgaGVpZ2h0PSI1OS45Ii8+Cgk8cmVjdCB4PSI3OCIgeT0iOTkuNyIgY2xhc3M9InN0MCIgd2lkdGg9IjQuNyIgaGVpZ2h0PSI1MC4zIi8+Cgk8cmVjdCB4PSI5NS44IiB5PSIxMDIuMSIgY2xhc3M9InN0MCIgd2lkdGg9IjQuNyIgaGVpZ2h0PSI0Ny45Ii8+Cgk8cmVjdCB4PSIxMTMuNiIgeT0iOTEuNiIgY2xhc3M9InN0MCIgd2lkdGg9IjQuNyIgaGVpZ2h0PSI1OC40Ii8+CjwvZz4KPC9zdmc+Cg=="}},"time_used":187,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":187,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/fonts/roboto-v20-latin-300.woff2","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.206Z","timestamp":1785137065206,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/fonts/roboto-v20-latin-300.woff2 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 15784\r\ncontent-type: font/woff2\r\nlast-modified: Sat, 19 Feb 2022 08:51:46 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256decaf00a8\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":15784,"size_decoded":16082,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 15784, version 1.0","md5":"ef7c6637c68f269a882e73bcb57a7f6a","sha1":"65025b0cedc3b795c87ad050443c09081d1a8581","sha256":"29f6da0a8c21c5681511bb9b08663d3fd2c5d09c9bd8054ec354c563b8c8b7c1","sha512":"d4e7de23aa4a93be278bdb2531122ef27d29b05d78d7c3223be712414bdd9562e9574d4f5187c93efebeedbd62a92c2e6bd08a4ddac035ce861df8d0ff169001","ssdeep":"384:P7Cb3GkBZwvnsPoX7aWR3hLdZZ8wWEyu6W3oa1G4AlW4/:D+2GZwmoXldpdZSwWEyRW3OW4/","tlshash":"ef62e100274ea141d5c7fc39346c3887d21f15adeb5e7c57d31023b67aaa6f25c88a88","first_seen":"2023-04-05T16:44:06Z","last_seen":"2026-08-19T13:59:56.729434Z","times_seen":1867,"resource_available":false,"data":"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"}},"time_used":377,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":194,"receive":183,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/fonts/roboto-v20-latin-500.woff2","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.215Z","timestamp":1785137065215,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/fonts/roboto-v20-latin-500.woff2 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 15872\r\ncontent-type: font/woff2\r\nlast-modified: Sat, 19 Feb 2022 08:51:46 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256decaf0300\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":15872,"size_decoded":16170,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 15872, version 1.0","md5":"020c97dc8e0463259c2f9df929bb0c69","sha1":"8f956a31154047d1b6527b63db2ecf0f3a463f24","sha256":"24369e1b2461af9dcefecaf9cc93d64cf22a4c5bac32506100b9e21014507bcf","sha512":"0c2d5d9fd326a1cf4cb509d311ee2a5ef980e951a8996d6811d401b7ae154cfb80ae21dbb03adcb9171ab24d42a35424cd90c6966f584110bdd1c63dec099a13","ssdeep":"384:+C8MpkNjkUN5FUgPE22HSoKuywE6Mw+hz9GicxFCdW+d4hCBXE:VFokIFzQSoZywE6MwYsxFCY+dvO","tlshash":"3162d16d56c56032c45d8fb0071a7fd1a0aefe712ce72c1b26e8018fad0615ff762962","first_seen":"2023-04-05T16:44:06Z","last_seen":"2026-08-19T13:59:56.732874Z","times_seen":4476,"resource_available":false,"data":"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"}},"time_used":1285,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":735,"receive":550,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/app.animations.min49e2.js?id=62855d7f7d63ff9da232","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.446Z","timestamp":1785137065446,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/app.animations.min49e2.js?id=62855d7f7d63ff9da232 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 09:35:22 GMT\r\naccept-ranges: bytes\r\netag: \"1d8257403f102d6\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":11222,"size_decoded":2875,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (11220), with CRLF line terminators","md5":"53409840e8f755be5507f8fc92d2eebb","sha1":"30125c57a15459865faf2f5af84de0cfff33a2b4","sha256":"67f3fb6da727aed64ca53edd0e6e9e8b262a645e55e613820ffb5d5259c68cdc","sha512":"00b8e7635a5d382fc17c972104d2585f3ed1573918d1ef02f2c570a7a1fdf3b2bccbe6a34c2387a93eaba8ddd50bbbaf22a33040d47dc3c96ee39e6a20869d8f","ssdeep":"192:MAbG411OJjpUzGTAyOMpt9fiNsIOpyDwPRCxmdMVezqzaYbQPlw/9ihCEO4+XUD8:MAbG411OJpUzGTAyht9fjIOpyDsPMVeI","tlshash":"55327469a6d07a7d5b1b27e3f08f734c3e700ba47c370468bc25d81de52016a835adba","first_seen":"2025-10-27T18:25:33.063898Z","last_seen":"2026-07-27T07:25:28.844128Z","times_seen":6,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rQXZhdHJhZGVycz1zZWxmLndlYnBhY2tDaHVua0F2YXRyYWRlcnN8fFtdKS5wdXNoKFtbMjVdLHsyMjYwOTpmdW5jdGlvbih0LGUsYSl7InVzZSBzdHJpY3QiO2EucihlKTt2YXIgbj1hKDc2MDMwKSxpPWEoNDUwNDcpLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmFuaW1hdGVkLWRlbW8tYWNjb3VudCIpLG89ITE7ciYmKCgwLG4uWikoe3RhcmdldHM6WyIuYW5pbWF0ZWQtZGVtby1hY2NvdW50IC5pcGhvbmUteCAuc2NyZWVuIGltZyIsIi5hbmltYXRlZC1kZW1vLWFjY291bnQgLnN0ZXAtMSIsIi5hbmltYXRlZC1kZW1vLWFjY291bnQgLnN0ZXAtMiIsIi5hbmltYXRlZC1kZW1vLWFjY291bnQgLnN0ZXAtMyIsIi5hbmltYXRlZC1kZW1vLWFjY291bnQgLnN0ZXAtNCIsIi5hbmltYXRlZC1kZW1vLWFjY291bnQgLnN0ZXAtNSIsIi5hbmltYXRlZC1kZW1vLWFjY291bnQgLmRvdHRlZC1saW5lIl0sb3BhY2l0eTowfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsKGZ1bmN0aW9uKHQpe2lmKCgwLGkudjQpKHIpJiYhbyl7bz0hMDt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJodG1sIikuZ2V0QXR0cmlidXRlKCJsYW5nIiksYT1bbi5aLnNldERhc2hvZmZzZXQsMF0sYz1uLloudGltZWxpbmUoe2Vhc2luZzoiZWFzZUluT3V0Q2lyYyIsZHVyYXRpb246NzUwfSk7ImFyIj09ZSYmKGE9WzAsbi5aLnNldERhc2hvZmZzZXRdKSxjLmFkZCh7b3BhY2l0eTowLHRyYW5zbGF0ZVk6NTAwLHRhcmdldHM6Ii5hbmltYXRlZC1kZW1vLWFjY291bnQgLmlwaG9uZS14IC5zY3JlZW4gaW1nIn0pLmFkZCh7b3BhY2l0eToxLGR1cmF0aW9uOjk1MCx0cmFuc2xhdGVZOjAsdGFyZ2V0czoiLmFuaW1hdGVkLWRlbW8tYWNjb3VudCAuaXBob25lLXggLnNjcmVlbiBpbWcifSwiLT0zNTAiKS5hZGQoe29wYWNpdHk6MSxkZWxheTo4MDAsZHVyYXRpb246MzUwLHRhcmdldHM6Ii5hbmltYXRlZC1kZW1vLWFjY291bnQgLnN0ZXAtMSIsZWFzaW5nOiJlYXNlSW5FeHBvIn0pLmFkZCh7b3BhY2l0eToxLGR1cmF0aW9uOjE1MCx0YXJnZXRzOiIuYW5pbWF0ZWQtZGVtby1hY2NvdW50IC5kb3R0ZWQtbGluZSIsZWFzaW5nOiJlYXNlSW5TaW5lIn0pLmFkZCh7dGFyZ2V0czoiLmFuaW1hdGVkLWRlbW8tYWNjb3VudCAuZG90dGVkLWxpbmUgLmxpbmUtcGF0aCIsc3Ryb2tlRGFzaG9mZnNldDphLGVhc2luZzoiZWFzZUluUXVhZCIsZHVyYXRpb246NDUwMCxkZWxheTpmdW5jdGlvbih0LGUpe3JldHVybiA1MCplfX0pLmFkZCh7b3BhY2l0eToxLGR1cmF0aW9uOjM1MCx0YXJnZXRzOiIuYW5pbWF0ZWQtZGVtby1hY2NvdW50IC5zdGVwLTIiLGVhc2luZzoiZWFzZUluRXhwbyJ9LCItPTI3MDAiKS5hZGQoe29wYWNpdHk6MSxkdXJhdGlvbjozNTAsdGFyZ2V0czoiLmFuaW1hdGVkLWRlbW8tYWNjb3VudCAuc3RlcC0zIixlYXNpbmc6ImVhc2VJbkV4cG8ifSwiLT0xNzAwIikuYWRkKHtvcGFjaXR5OjEsZHVyYXRpb246MzUwLHRhcmdldHM6Ii5hbmltYXRlZC1kZW1vLWFjY291bnQgLnN0ZXAtNCIsZWFzaW5nOiJlYXNlSW5FeHBvIn0sIi09NzAwIikuYWRkKHtvcGFjaXR5OjEsZHVyYXRpb246MzUwLHRhcmdldHM6Ii5hbmltYXRlZC1kZW1vLWFjY291bnQgLnN0ZXAtNSIsZWFzaW5nOiJlYXNlSW5FeHBvIn0pfX0pLCExKSl9LDgyNzY3OmZ1bmN0aW9uKHQsZSxhKXsidXNlIHN0cmljdCI7YS5yKGUpO3ZhciBuPWEoNzYwMzApLGk9YSg0NTA0Nykscj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY2FsY3VsYXRlLW1hcmdpbi1hbmltYXRpb24iKSxvPSExO3ImJigoMCxuLlopKHt0YXJnZXRzOlsiLmNhbGN1bGF0ZS1tYXJnaW4tYW5pbWF0aW9uIC5wcmljZS1wb3NpdGlvbi1zaXplIiwiLmNhbGN1bGF0ZS1tYXJnaW4tYW5pbWF0aW9uIC5wcmljZS1wb3NpdGlvbiIsIi5jYWxjdWxhdGUtbWFyZ2luLWFuaW1hdGlvbiAucHJpY2UtdGltZXMiLCIuY2FsY3VsYXRlLW1hcmdpbi1hbmltYXRpb24gLnByaWNlLXBlcmNlbnRhZ2UiLCIuY2FsY3VsYXRlLW1hcmdpbi1hbmltYXRpb24gLnByaWNlLWVxdWFscyIsIi5jYWxjdWxhdGUtbWFyZ2luLWFuaW1hdGlvbiAucHJpY2UtcmVxdWlyZWQtbWFyZ2luIiwiLmNhbGN1bGF0ZS1tYXJnaW4tYW5pbWF0aW9uIC5wcmljZS1jYWxjdWxhdGVkIiwiLmNhbGN1bGF0ZS1tYXJnaW4tYW5pbWF0aW9uIC5wcmljZS1jYWxjdWxhdGUiXSxvcGFjaXR5OjB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwoZnVuY3Rpb24odCl7KDAsaS52NCkocikmJihvfHwobz0hMCxuLloudGltZWxpbmUoe2Vhc2luZzoiZWFzZUluT3V0Q2lyYyIsZHVyYXRpb246NzUwfSkuYWRkKHtkZWxheToyNTAsdGFyZ2V0czpbIi5jYWxjdWxhdGUtbWFyZ2luLWFuaW1hdGlvbiAucHJpY2UtcG9zaXRpb24tc2l6ZSIsIi5jYWxjdWxhdGUtbWFyZ2luLWFuaW1hdGlvbiAucHJpY2UtcG9zaXRpb24iXSxvcGFjaXR5OjF9KS5hZGQoe3RhcmdldHM6Ii5jYWxjdWxhdGUtbWFyZ2luLWFuaW1hdGlvbiAucHJpY2UtcG9zaXRpb24gaW5wdXQiLGR1cmF0aW9uOjg1MCx2YWx1ZTpbMCwxZTRdLHJvdW5kOjEsZWFzaW5nOiJlYXNlSW5PdXRFeHBvIn0pLmFkZCh7ZGVsYXk6NTAwLG9wYWNpdHk6MSx0YXJnZXRzOiIuY2FsY3VsYXRlLW1hcmdpbi1hbmltYXRpb24gLnByaWNlLXRpbWVzIixkdXJhdGlvbjo3MDAsa2V5ZnJhbWVzOlt7c2NhbGU6MX0se3NjYWxlOjEuNX0se3NjYWxlOjF9XSxyb3RhdGU6IjJ0dXJuIn0pLmFkZCh7dGFyZ2V0czoiLmNhbGN1bGF0ZS1tYXJnaW4tYW5pbWF0aW9uIC5wcmljZS1wZXJjZW50YWdlIixvcGFjaXR5OjF9KS5hZGQoe3RhcmdldHM6Ii5jYWxjdWxhdGUtbWFyZ2luLWFuaW1hdGlvbiAucHJpY2UtcGVyY2VudGFnZSBpbnB1dCIsZHVyYXRpb246NTAwLHZhbHVlOlswLDVdLHJvdW5kOjEsZWFzaW5nOiJlYXNlSW5PdXRFeHBvIn0sIi09MjAwIikuYWRkKHt0YXJnZXRzOiIuY2FsY3VsYXRlLW1hcmdpbi1hbmltYXRpb24gLnByaWNlLWNhbGN1bGF0ZSIsb3BhY2l0eToxLGR1cmF0aW9uOjYwMCx3aWR0aDoiMjg4cHgiLGVhc2luZzoiZWFzZUluT3V0UXVhZCIsZGlyZWN0aW9uOiJhbHRlcm5hdGUiLGtleWZyYW1lczpbe3NjYWxlOjF9LHtzY2FsZToxLjE1fSx7c2NhbGU6MX1dLGxvb3A6ITB9KS5hZGQoe2RlbGF5OjE1MCxvcGFjaXR5OjEsdGFyZ2V0czpbIi5jYWxjdWxhdGUtbWFyZ2luLWFuaW1hdGlvbiAucHJpY2UtZXF1YWxzIiwiLmNhbGN1bGF0ZS1tYXJnaW4tYW5pbWF0aW9uIC5wcmljZS1jYWxjdWxhdGVkIiwiLmNhbGN1bGF0ZS1tYXJnaW4tYW5pbWF0aW9uIC5wcmljZS1yZXF1aXJlZC1tYXJnaW4iXSxkdXJhdGlvbjoxNzUwLGtleWZyYW1lczpbe3NjYWxlOjF9LHtzY2FsZToxLjI1fSx7c2NhbGU6MX1dfSkuYWRkKHt0YXJnZXRzOiIuY2FsY3VsYXRlLW1hcmdpbi1hbmltYXRpb24gLnByaWNlLWNhbGN1bGF0ZWQgaW5wdXQiLGR1cmF0aW9uOjcwMCx2YWx1ZTpbMCw1MDBdLHJvdW5kOjEsZWFzaW5nOiJlYXNlSW5PdXRFeHBvIn0sIi09NjAwIikpKX0pLCExKSl9LDg5OTg0OmZ1bmN0aW9uKHQsZSxhKXsidXNlIHN0cmljdCI7YS5yKGUpO3ZhciBuPWEoNzYwMzApLGk9YSg0NTA0Nykscj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYW5pbWF0ZWQtcGxhdGZvcm1zLWxwIiksbz0hMTtyJiYoKDAsbi5aKSh7dGFyZ2V0czpbIi5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtMSIsIi5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtMiIsIi5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtMyIsIi5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtNCIsIi5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtNSIsIi5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtNiJdLG9wYWNpdHk6MH0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLChmdW5jdGlvbih0KXsoMCxpLnY0KShyKSYmKG98fChvPSEwLG4uWi50aW1lbGluZSh7ZWFzaW5nOiJlYXNlSW5PdXRCb3VuY2UiLGR1cmF0aW9uOjE2MH0pLmFkZCh7b3BhY2l0eTowLHRyYW5zbGF0ZVg6LTk1LHRhcmdldHM6Ii5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtMSIsZWFzaW5nOiJlYXNlT3V0RXhwbyJ9KS5hZGQoe29wYWNpdHk6MSxkdXJhdGlvbjoxMDAsdHJhbnNsYXRlWDowLHRhcmdldHM6Ii5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtMSIsZWFzaW5nOiJlYXNlT3V0RXhwbyJ9KS5hZGQoe29wYWNpdHk6MCx0cmFuc2xhdGVYOjk1LHRhcmdldHM6Ii5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtNCIsZWFzaW5nOiJlYXNlT3V0RXhwbyJ9KS5hZGQoe29wYWNpdHk6MSxkdXJhdGlvbjoxMDAsdHJhbnNsYXRlWDowLHRhcmdldHM6Ii5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtNCIsZWFzaW5nOiJlYXNlT3V0RXhwbyJ9LCItPTEwMCIpLmFkZCh7b3BhY2l0eTowLHRyYW5zbGF0ZVg6LTk1LHRhcmdldHM6Ii5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtMiIsZWFzaW5nOiJlYXNlT3V0RXhwbyJ9KS5hZGQoe29wYWNpdHk6MSxkdXJhdGlvbjoxMDAsdHJhbnNsYXRlWDowLHRhcmdldHM6Ii5hbmltYXRlZC1wbGF0Zm9ybXMtbHAgLnN0ZXAtMiIsZWFzaW5nOiJlYXNlT3V0RXhwbyJ9LCItPTEwMCIpLmFkZCh7b3BhY2l0eTowLHRyYW5zbGF0ZVg6OTUsdGFyZ2V0czoiLmFuaW1hdGVkLXBsYXRmb3Jtcy1scCAuc3RlcC01IixlYXNpbmc6ImVhc2VPdXRFeHBvIn0pLmFkZCh7b3BhY2l0eToxLGR1cmF0aW9uOjEwMCx0cmFuc2xhdGVYOjAsdGFyZ2V0czoiLmFuaW1hdGVkLXBsYXRmb3Jtcy1scCAuc3RlcC01IixlYXNpbmc6ImVhc2VPdXRFeHBvIn0sIi09MTAwIikuYWRkKHtvcGFjaXR5OjAsdHJhbnNsYXRlWDotOTUsdGFyZ2V0czoiLmFuaW1hdGVkLXBsYXRmb3Jtcy1scCAuc3RlcC0zIixlYXNpbmc6ImVhc2VPdXRFeHBvIn0pLmFkZCh7b3BhY2l0eToxLGR1cmF0aW9uOjEwMCx0cmFuc2xhdGVYOjAsdGFyZ2V0czoiLmFuaW1hdGVkLXBsYXRmb3Jtcy1scCAuc3RlcC0zIixlYXNpbmc6ImVhc2VPdXRFeHBvIn0sIi09MTAwIikuYWRkKHtvcGFjaXR5OjAsdHJhbnNsYXRlWDo5NSx0YXJnZXRzOiIuYW5pbWF0ZWQtcGxhdGZvcm1zLWxwIC5zdGVwLTYiLGVhc2luZzoiZWFzZU91dEV4cG8ifSkuYWRkKHtvcGFjaXR5OjEsZHVyYXRpb246MTAwLHRyYW5zbGF0ZVg6MCx0YXJnZXRzOiIuYW5pbWF0ZWQtcGxhdGZvcm1zLWxwIC5zdGVwLTYiLGVhc2luZzoiZWFzZU91dEV4cG8ifSwiLT0xMDAiKSkpfSksITEpKX0sNjk0MTc6ZnVuY3Rpb24odCxlLGEpeyJ1c2Ugc3RyaWN0IjthLnIoZSk7dmFyIG49YSgyODE5MiksaT1hLm4obikscj1hKDc2MDMwKSxvPWEoNDUwNDcpLGM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnN0YXJ0LXRyYWRpbmctdHlwZXdyaXRlciIpLGQ9ITE7ZnVuY3Rpb24gcyh0LGUpe3ZhciBhPW5ldyhpKCkpKHQse2RlbGF5OjYyfSk7cmV0dXJuIGEudHlwZVN0cmluZyhlKS5jYWxsRnVuY3Rpb24oKGZ1bmN0aW9uKCl7dC5pbm5lckhUTUw9ZX0pKSxhfWZ1bmN0aW9uIHUoKXt2YXIgdD1yLloudGltZWxpbmUoe2Vhc2luZzoiZWFzZUluT3V0Q2lyYyIsZHVyYXRpb246NzUwfSksZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIudHlwZXdyaXRlci1jdXJyZW5jeSIpLGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnR5cGV3cml0ZXItYWNjb3VudC10eXBlIiksbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIudHlwZXdyaXRlci1sZXZlcmFnZSIpLGk9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtdGV4dCIpLG89YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGV4dCIpLGM9bi5nZXRBdHRyaWJ1dGUoImRhdGEtdGV4dCIpO3QuYWRkKHtvcGFjaXR5Oi41LGRlbGF5OjFlM30pLmFkZCh7b3BhY2l0eToxLGRlbGF5OjEzMDAsY29tcGxldGU6ZnVuY3Rpb24oKXtzKGEsbykuc3RhcnQoKX19KS5hZGQoe29wYWNpdHk6MSxkZWxheToxNDAwLGNvbXBsZXRlOmZ1bmN0aW9uKCl7cyhlLGkpLnN0YXJ0KCl9fSkuYWRkKHtvcGFjaXR5OjEsZGVsYXk6MTUwMCxjb21wbGV0ZTpmdW5jdGlvbigpe3MobixjKS5zdGFydCgpfX0pLHQuZmluaXNoZWQudGhlbihsKX1mdW5jdGlvbiBsKCl7dmFyIHQ9ci5aLnRpbWVsaW5lKHtlYXNpbmc6ImVhc2VJbk91dENpcmMiLGR1cmF0aW9uOjc1MH0pLGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnR5cGV3cml0ZXItYWNjb3VudCIpLGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnR5cGV3cml0ZXItZGVwb3NpdCIpLG49ZS5nZXRBdHRyaWJ1dGUoImRhdGEtdGV4dCIpLGk9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGV4dCIpO3QuYWRkKHtvcGFjaXR5OjEsZGVsYXk6MTIwMCxjb21wbGV0ZTpmdW5jdGlvbigpe3MoZSxuKS5zdGFydCgpfX0pLmFkZCh7b3BhY2l0eTouNSxkZWxheToxMzAwfSkuYWRkKHtvcGFjaXR5OjEsZGVsYXk6MTMwMCxjb21wbGV0ZTpmdW5jdGlvbigpe3MoYSxpKS5zdGFydCgpfX0pfWMmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLChmdW5jdGlvbih0KXtpZigoMCxvLnY0KShjKSYmIWQpe2Q9ITA7dmFyIGU9ci5aLnRpbWVsaW5lKHtlYXNpbmc6ImVhc2VJbk91dENpcmMiLGR1cmF0aW9uOjc1MH0pLGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnR5cGV3cml0ZXItbmFtZSIpLG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnR5cGV3cml0ZXItY291bnRyeSIpLGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnR5cGV3cml0ZXItY2xpZW50LXR5cGUiKSxsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi50eXBld3JpdGVyLWVtYWlsIikscD1hLmdldEF0dHJpYnV0ZSgiZGF0YS10ZXh0IiksbT1uLmdldEF0dHJpYnV0ZSgiZGF0YS10ZXh0IiksZz1pLmdldEF0dHJpYnV0ZSgiZGF0YS10ZXh0IikseT1sLmdldEF0dHJpYnV0ZSgiZGF0YS10ZXh0Iik7ZS5hZGQoe29wYWNpdHk6MSxiZWdpbjpmdW5jdGlvbigpe3MoYSxwKS5zdGFydCgpfX0pLmFkZCh7b3BhY2l0eToxLGRlbGF5OjE0MDAsY29tcGxldGU6ZnVuY3Rpb24oKXtzKG4sbSkuc3RhcnQoKX19KS5hZGQoe29wYWNpdHk6MSxkZWxheToxNTAwLGNvbXBsZXRlOmZ1bmN0aW9uKCl7cyhpLGcpLnN0YXJ0KCl9fSkuYWRkKHtvcGFjaXR5OjEsZGVsYXk6MTYwMCxjb21wbGV0ZTpmdW5jdGlvbigpe3MobCx5KS5zdGFydCgpfX0pLGUuZmluaXNoZWQudGhlbih1KX19KSwhMSl9LDY3NDUzOmZ1bmN0aW9uKHQsZSxhKXsidXNlIHN0cmljdCI7YS5yKGUpO3ZhciBuPWEoNzYwMzApLGk9YSg0NTA0Nykscj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYW5pbWF0ZWQtc3RvY2staW5kaWNlcyIpLG89ITEsYz13aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogOTkycHgpIik7ciYmKCgwLG4uWikoe3RhcmdldHM6WyIuYW5pbWF0ZWQtc3RvY2staW5kaWNlcyAuc3RlcC0xIiwiLmFuaW1hdGVkLXN0b2NrLWluZGljZXMgLnN0ZXAtMiIsIi5hbmltYXRlZC1zdG9jay1pbmRpY2VzIC5zdGVwLTMiLCIuYW5pbWF0ZWQtc3RvY2staW5kaWNlcyAuc3RlcC00IiwiLmFuaW1hdGVkLXN0b2NrLWluZGljZXMgLnN0ZXAtNSJdLG9wYWNpdHk6MH0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLChmdW5jdGlvbih0KXtpZigoMCxpLnY0KShyKSYmIW8pe289ITA7dmFyIGU9bi5aLnRpbWVsaW5lKHtlYXNpbmc6ImVhc2VJbk91dENpcmMiLGR1cmF0aW9uOjc1MH0pO2MubWF0Y2hlcz9lLmFkZCh7dGFyZ2V0czoiLmFuaW1hdGVkLXN0b2NrLWluZGljZXMgLnN0ZXAtMSIsb3BhY2l0eToxLHRyYW5zbGF0ZVg6MTAsZHVyYXRpb246MWUzLHJvdGF0ZToiN3R1cm4ifSkuYWRkKHt0YXJnZXRzOiIuYW5pbWF0ZWQtc3RvY2staW5kaWNlcyAuc3RlcC0yIixvcGFjaXR5OjEsZHVyYXRpb246NzUwLGVhc2luZzoiZWFzZUluRXhwbyJ9KS5hZGQoe3RhcmdldHM6Ii5hbmltYXRlZC1zdG9jay1pbmRpY2VzIC5zdGVwLTMiLG9wYWNpdHk6MSxkdXJhdGlvbjo0NTAsa2V5ZnJhbWVzOlt7c2NhbGU6MS4yLHRyYW5zbGF0ZVg6MjUwfSx7c2NhbGU6MSx0cmFuc2xhdGVYOjB9XSxyb3RhdGU6IjN0dXJuIn0pLmFkZCh7dGFyZ2V0czoiLmFuaW1hdGVkLXN0b2NrLWluZGljZXMgLnN0ZXAtNCIsb3BhY2l0eToxLGR1cmF0aW9uOjc1MCxlYXNpbmc6ImVhc2VJbkV4cG8ifSkuYWRkKHt0YXJnZXRzOiIuYW5pbWF0ZWQtc3RvY2staW5kaWNlcyAuc3RlcC01IixvcGFjaXR5OjEsZHVyYXRpb246MTQwMCxrZXlmcmFtZXM6W3tzY2FsZToxfSx7c2NhbGU6Mn0se3NjYWxlOjF9XX0pOmUuYWRkKHt0YXJnZXRzOlsiLmFuaW1hdGVkLXN0b2NrLWluZGljZXMgLnN0ZXAtMSIsIi5hbmltYXRlZC1zdG9jay1pbmRpY2VzIC5zdGVwLTMiLCIuYW5pbWF0ZWQtc3RvY2staW5kaWNlcyAuc3RlcC01Il0sb3BhY2l0eToxfSl9fSksITEpKX0sOTI0MDQ6ZnVuY3Rpb24odCxlLGEpeyJ1c2Ugc3RyaWN0IjthLnIoZSk7YSg0MTUzOSksYSg4ODY3NCksYSg3NDkxNiksYSg1NDc0Nyk7dmFyIG49YSg4Nzc1NyksaT1hLm4obikscj1hKDQ1MDQ3KTtmdW5jdGlvbiBvKHQsZSxhLG4saSxyLG8pe3RyeXt2YXIgYz10W3JdKG8pLGQ9Yy52YWx1ZX1jYXRjaCh0KXtyZXR1cm4gdm9pZCBhKHQpfWMuZG9uZT9lKGQpOlByb21pc2UucmVzb2x2ZShkKS50aGVuKG4saSl9aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmFuaW1hdGUuZG90IikpeyEwPT09L21vYmlsZS4rZmlyZWZveC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJihkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuYW5pbWF0ZS5kb3QgLndhdmUyIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQucmVtb3ZlKCl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmFuaW1hdGUuZG90IC5jZW50cmFsZG90IikuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQucmVtb3ZlKCl9KSkpO3ZhciBjPWZ1bmN0aW9uKCl7dmFyIHQsZT0odD1pKCkubWFyaygoZnVuY3Rpb24gdCgpe3ZhciBlLGE7cmV0dXJuIGkoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDplPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hbmltYXRlLmRvdCIpLGE9MDtjYXNlIDI6aWYoIShhPGUubGVuZ3RoKSl7dC5uZXh0PTk7YnJlYWt9cmV0dXJuIGVbYV0uc3R5bGUuZGlzcGxheT0iaW5saW5lIix0Lm5leHQ9NiwoMCxyLl92KShNYXRoLmZsb29yKDMwMCpNYXRoLnJhbmRvbSgpKSk7Y2FzZSA2OmErKyx0Lm5leHQ9MjticmVhaztjYXNlIDk6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSxmdW5jdGlvbigpe3ZhciBlPXRoaXMsYT1hcmd1bWVudHM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuLGkpe3ZhciByPXQuYXBwbHkoZSxhKTtmdW5jdGlvbiBjKHQpe28ocixuLGksYyxkLCJuZXh0Iix0KX1mdW5jdGlvbiBkKHQpe28ocixuLGksYyxkLCJ0aHJvdyIsdCl9Yyh2b2lkIDApfSkpfSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKTtjKCl9fSwyOTAxMTpmdW5jdGlvbih0LGUsYSl7YSg5MjQwNCksYSg4NDM0MCksYSg1MDU3KSxhKDY5NDE3KSxhKDgyNzY3KSxhKDIyNjA5KSxhKDY3NDUzKSxhKDg5OTg0KX0sNTA1NzpmdW5jdGlvbih0LGUsYSl7InVzZSBzdHJpY3QiO2EucihlKTt2YXIgbixpPWEoODI3Mykscj1hKDQ1MDQ3KSxvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5jb3VudHVwIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsKGZ1bmN0aW9uKCl7biYmd2luZG93LmNsZWFyVGltZW91dChuKSxuPXdpbmRvdy5zZXRUaW1lb3V0KChmdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8by5sZW5ndGg7dCsrKWlmKCJ0cnVlIiE9PW9bdF0uZ2V0QXR0cmlidXRlKCJkYXRhLWNvdW50ZWQiKSl7dmFyIGU9bmV3IGkuSShvW3RdLG9bdF0uZ2V0QXR0cmlidXRlKCJkYXRhLXRhcmdldCIpLHtkZWNpbWFsUGxhY2VzOm9bdF0uZ2V0QXR0cmlidXRlKCJkYXRhLWRlY2ltYWwtcGxhY2VzIiksc3RhcnRWYWw6b1t0XS5nZXRBdHRyaWJ1dGUoImRhdGEtc3RhcnQtdmFsdWUiKSxzdWZmaXg6b1t0XS5nZXRBdHRyaWJ1dGUoImRhdGEtc3VmZml4Iil9KTsoMCxyLnY0KShvW3RdKSYmKGUuc3RhcnQoKSxvW3RdLnNldEF0dHJpYnV0ZSgiZGF0YS1jb3VudGVkIiwidHJ1ZSIpKX19KSwxMDApfSkpfSw0NTA0NzpmdW5jdGlvbih0LGUsYSl7InVzZSBzdHJpY3QiO2EuZChlLHtfdjpmdW5jdGlvbigpe3JldHVybiBufSx2NDpmdW5jdGlvbigpe3JldHVybiBpfSxGUTpmdW5jdGlvbigpe3JldHVybiByfSxYNTpmdW5jdGlvbigpe3JldHVybiBvfX0pO2EoNDE1MzkpLGEoODg2NzQpO2Z1bmN0aW9uIG4odCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihlKXtyZXR1cm4gc2V0VGltZW91dChlLHQpfSkpfWZ1bmN0aW9uIGkodCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLm5hdmJhci1tYWluIik7ZXx8KGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FwcCIpKTt2YXIgYT1lLm9mZnNldEhlaWdodCt0Lm9mZnNldEhlaWdodC8yLG49dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPW4udG9wLHI9bi5ib3R0b207aS09YSxyLT1hO3ZhciBvPSh3aW5kb3cuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpLTIqYTtyZXR1cm4oaT4wfHxyPjApJiZpPG99ZnVuY3Rpb24gcih0LGUpe3ZhciBhPW5ldyBEYXRlKHQuZ2V0VGltZSgpKTtyZXR1cm4gYS5zZXREYXRlKHQuZ2V0RGF0ZSgpKyg3K2UtdC5nZXREYXkoKSklNyksYX1mdW5jdGlvbiBvKHQpe2lmKCFpKHQpKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubmF2YmFyLW1haW4iKTtlfHwoZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYXBwIikpO3ZhciBhPWUuY2xpZW50SGVpZ2h0KzE1LG49dC5vZmZzZXRUb3AtYTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wPW4sZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A9bn19fSw4NDM0MDpmdW5jdGlvbih0LGUsYSl7InVzZSBzdHJpY3QiO2EucihlKTthKDc0OTE2KTshMT09PS9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxNU0lFfFRyaWRlbnR8RWRnZXxPcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmYSg4OTc0MCl9fSxmdW5jdGlvbih0KXt0Lk8oMCxbNTEsMTk4LDY2MF0sKGZ1bmN0aW9uKCl7cmV0dXJuIGU9MjkwMTEsdCh0LnM9ZSk7dmFyIGV9KSk7dC5PKCl9XSk7DQo="}},"time_used":6001,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6001,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:26.103Z","timestamp":1785137066103,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=GhHoVqVBrjHMHksu5uSSgLzoaFxSlipAJgg5Br_6VXtipKt0M0tGx6maNNULFSuoPmjhn6TrRofBA0PX16wJP84g82xlVHelBWmJaeFN6kLW3UBMj5gR2yeB2nt_mc5Fta3BSJU5o8qIfzI2fIuyWY14DtZ_1DnPpFpxz_XlGvqNfHda7m_zgLyHIQ-fawJ9ZrP90LxwCOvFTy3uwSuBx3hgQZ1nuj8OqfQvIJQW5xJfxr01vRMWaeEk5ZEjPYuYwGK38gUfiMRXxIzUeDegCXvpN8-BMAaA-YvGh0Eml-GnQmyBMn2F18nj6fzYpEzjxyaaCzPqsxxxY54TPVwQ-Q; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxj3jqflqfKVAw%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 235736\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:01:31 GMT\r\nexpires: Sat, 24 Jul 2027 13:01:31 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 238975\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":942843,"size_decoded":236650,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65533), with no line terminators","md5":"6f2dc696d3e2c5e8b0536728ac5a3aea","sha1":"8da6a7915f0b3ff607db13862fc417574d8d4999","sha256":"4036991c2199a96276eabd866d75631508768ad958639f2ef3d985061bddef47","sha512":"481bcb7979552bb2b61e9faaf2cc6abdeeb36c7e5e4e0a483ba1e93c62bea4c29bd94f525ec183b9a9bb4518f02e3e9748be080d771f801fa3cc7d4e73a09116","ssdeep":"12288:Rhrh0EencTyXGld16WDVcIm4zDSG8UvCeoBJjlXc7WPz6/wWXqkZTNvl6hkTeubf:R41jofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"a2159ff0b25271b4d147b926fab7c003b57e4903e2081879f0a7ae9c55fca942e77729","first_seen":"2026-07-24T13:38:07.888738Z","last_seen":"2026-07-27T16:56:48.650117Z","times_seen":570,"resource_available":true,"data":"InVzZSBzdHJpY3QiO19GX2luc3RhbGxDc3MoIjpyb290ey0tdDdmNGYyYzZkNTQ4MzZjZTA6aW5pdGlhbDstLXQ3ZDhiOGU1ZWUyOTFhZWMwOmluaXRpYWw7LS10NDcyNmM2OGVmNmQ3YjA4Zjppbml0aWFsOy0tdGYwYTBkMTE1NDgyNzg0N2Y6aW5pdGlhbDstLXQzZTQxZDdiMTdiMTg3ZjY5OmluaXRpYWw7LS10ZmY2NTk5MzM4NGJiNDU2MDppbml0aWFsOy0tdGUyODY3YjEzZDc3MWQwNTU6aW5pdGlhbDstLXQ5MzNkNzkyMmYzMTU4ZGM1OmluaXRpYWw7LS10MjY0ZTJjOWNiODc4OTFmOTppbml0aWFsOy0tdDIwNmYzZmEyZTAxYWYyMmQ6aW5pdGlhbDstLXQzNGY0NmYwZjJjMTNkMzI4OmluaXRpYWw7LS10ODU0Yzc5MzM4ZDhjYThhNzppbml0aWFsOy0tdDIwNDgwNzE3ZGU4MGY1NTU6aW5pdGlhbDstLXQyZDgwN2JiNzllNzU2MDZkOmluaXRpYWw7LS10NjE3ZGI3NzZhZjBkZTE5Njppbml0aWFsOy0tdGI2MjgxMTdmYzE2NGFkODc6aW5pdGlhbDstLXRkNTQ1ZGYwNGUyYzY1OWQ3OmluaXRpYWw7LS10NTM5OTFkNTk5YjE0ODhmNTppbml0aWFsOy0tdGE4ODlkZmRhOTYwNWEzNTg6aW5pdGlhbDstLXQ1OTc4ZGE4ZDU4NGI4ZmU5OmluaXRpYWw7LS10MTI0YjdkYWZlOWJjMzY2ZDppbml0aWFsOy0tdGRiZTUwZDI3ZDUxZjUwOTM6aW5pdGlhbDstLXRhNTY0ZDgyMTJiY2NiMTZhOmluaXRpYWw7LS10OTlmNzc0Njg0Y2JiOTcwMzppbml0aWFsOy0tdDRlNmRmOWIyYjZiOTdlMDA6aW5pdGlhbDstLXRiOGIzMWFjNTYyZmJlOWI1OmluaXRpYWw7LS10NTg4NDY3MjAwNGQ1NjEyMDppbml0aWFsOy0tdGVmNzBjYTI0NTQ0NWI1MmI6aW5pdGlhbDstLXQ0ZjA5MjJlNWEzZDBjMjBmOmluaXRpYWw7LS10N2RmYTZmODRjOTM0NmVkZjppbml0aWFsOy0tdGVjYmRmOTI0YjYzYjI3ZmM6aW5pdGlhbDstLXQxNDA1ZTcwYTM5Mjc2MjkzOmluaXRpYWw7LS10YWQ4NDQzZmFlZDY2YzExMTppbml0aWFsOy0tdGU2ZDJiNDI4ZGU2ODU1NGE6aW5pdGlhbDstLXRjOTgwYzU0NzgxMjRjOGM3OmluaXRpYWw7LS10OTY1NjQ0ZWNkYmU0YjdiODppbml0aWFsOy0tdGIxNGExMGMzYjQzYTE1YTM6aW5pdGlhbDstLXRiMTNmZjg3OTc4MjllNzllOmluaXRpYWw7LS10ZTU2NjhlNjExMWFiYTBlZDppbml0aWFsOy0tdGE3ZDYyOGZhY2ZlODRkMTg6aW5pdGlhbDstLXRiZTQyMjY5NTM0NjU1ZTY3OmluaXRpYWw7LS10YWI4MDU5MjM2MDYzY2FkYjppbml0aWFsOy0tdDczNWU0MzVhOGI3YWQ2N2M6aW5pdGlhbDstLXQyMWFmMDhmZGJmNmExNDA2OmluaXRpYWw7LS10YzYwNDExM2QwOWZlZTA1ZDppbml0aWFsOy0tdDA4YTdjNmMxNzZjYmM1YzI6aW5pdGlhbDstLXQ4Y2RjOTg0NmE3NmNhZjFmOmluaXRpYWw7LS10ZTFiNjRlNjk3MTA0MDM5Njppbml0aWFsOy0tdDQxNmU1OTMxZmM0NjQ1ODk6aW5pdGlhbDstLXRiN2Q3NGJiMzI5MWM5NTFkOmluaXRpYWw7LS10ZjNmYzg1NWFmMjI4NWY1Zjppbml0aWFsOy0tdDBhMTI0OWY3YzllODJiNWU6aW5pdGlhbDstLXQwMmMwYTJjODY4YzE0Y2U4OmluaXRpYWw7LS10ZDg1NjJjZGMyMDNiYzY4Mzppbml0aWFsOy0tdDUzZGRhOTEyNWU4ZDEzMjQ6aW5pdGlhbDstLXQ1NDRlMzE3MTRmNjNkNTNjOmluaXRpYWw7LS10ODdlYWJmMTEzYTE1YWM5Njppbml0aWFsOy0tdDg1OGI4MDlmODA0NGU5NjI6aW5pdGlhbDstLXQwZjU5MjkxY2U1NTA0NTQzOmluaXRpYWw7LS10ZmFhZTk2NjkyY2MxODJlNDppbml0aWFsOy0tdDUxOGU5MjVmNjFiZGNiOTE6aW5pdGlhbDstLXRiOTI3ZjVjMDE0OTAwNGM2OmluaXRpYWw7LS10ODMyZjIyY2U2NjE4ZTk5ZTppbml0aWFsOy0tdDQ1YjJhMzgzMTQ5MjQzNTc6aW5pdGlhbDstLXQ2OTMxYWExODI2YjM3M2IyOmluaXRpYWw7LS10ZWQ0MjM2NTM2ODk5ZTRiMzppbml0aWFsOy0tdGRjOGFmNjc1MGYwZGFkMGQ6aW5pdGlhbDstLXQzNDEwYzkxNjQ5ZTVlYjhhOmluaXRpYWw7LS10NGFlYWE4NTdkZThhNzg2Yjppbml0aWFsOy0tdDI5NmM3ZjgxZGQwOWE5YzM6aW5pdGlhbDstLXRmYTM0NzVjNTA4ZjVkZmVmOmluaXRpYWw7LS10OWJjMGI3NDAyNDJkYTAxNzppbml0aWFsOy0tdDQ0MWEwZTQ0ZTQ5NTM4MWE6aW5pdGlhbDstLXRkZTQxMzM4ZmMyYmQ0YmE1OmluaXRpYWw7LS10NGQ3Nzc2YzI4ZGIyMTEyMjppbml0aWFsOy0tdDdlMzRkNWJhYTRlYTYyNzc6aW5pdGlhbDstLXRjNGIyNjA0MmQ0Y2IxNDFmOmluaXRpYWw7LS10NTIwOGZkMTc3YTc4OGNmYTppbml0aWFsOy0tdGZmYzJmZDNhNjQ0ZjYyNzU6aW5pdGlhbDstLXQ2MjE2MTg2YzI4YjM4MzRiOmluaXRpYWw7LS10NGE2ZGExOWUxNmJmMjIxYTppbml0aWFsOy0tdGQ5YzE5ZjRmOGNlY2Q1NmU6aW5pdGlhbDstLXQzZjNiZGI0MTQwZDNlYWQ3OmluaXRpYWw7LS10OTA0YTg4YzYyM2NhMjdhYjppbml0aWFsOy0tdDJjM2JiZmY2YzE1YTNlYjI6aW5pdGlhbDstLXQwY2NkMWFjZTAwMGQ1ZTkzOmluaXRpYWw7LS10Yzg3ZjZhN2YwNWU2NWZjNDppbml0aWFsOy0tdGMwNGJhM2U3MzU2MTk1M2M6aW5pdGlhbDstLXQ3YzQ5NjVjMTFmODUzN2MwOmluaXRpYWw7LS10NDMyZmJkYmQ3ZjJmM2Y3MTppbml0aWFsOy0tdGFmMWJkZDk2MTQyM2MxNWY6aW5pdGlhbDstLXQ5ZDdiZGNhZWZjOTc1ZDQ0OmluaXRpYWw7LS10NGZiMGY2N2IyNTFlMWE0Mjppbml0aWFsOy0tdGEwOGUwMzY0MTBjMTQ1Mzg6aW5pdGlhbDstLXQ3ZjliN2UxNjAzZTIwYjk0OmluaXRpYWx9LmRpYWxvZ3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxNnB4O21hcmdpbjowIGF1dG87b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2ZvbnQtc2l6ZToxLjNyZW07Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOm5vbmV9LmRpYWxvZy5tb2Rlcm4tZGlhbG9ne2JveC1zaGFkb3c6MCAwIDI0cHggMTJweCByZ2JhKDAsMCwwLDAuMjUpfS5kaWFsb2cucm91bmRlZC1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czoxMnB4fS5kaWFsb2cubW9kZXJuLWRpYWxvZy1sYXlvdXR7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MjRweH0uZGlhbG9nLWJvZHl7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO21heC1oZWlnaHQ6MzAwcHg7bWF4LWhlaWdodDoxMDB2aH0uZGlhbG9nLnNjcm9sbGFibGUgLmRpYWxvZy1ib2R5e292ZXJmbG93LXk6dmlzaWJsZTtvdmVyZmxvdy14OnZpc2libGU7bWF4LWhlaWdodDp1bnNldH0uZGlhbG9nLWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS5kaWFsb2ctaGVhZGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZGlhbG9nLWJ1dHRvbnMsLmRpYWxvZy1oZWFkZXJ7ZmxleC1zaHJpbms6MH0uZGlhbG9nLWJ1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLXRvcDoxMnB4fS5kaWFsb2ctYnV0dG9ucz4qe21hcmdpbi1sZWZ0OjhweH0uZGlhbG9nLWJ1dHRvbnM+OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LmRpYWxvZy1mbGV4LWJ1dHRvbnstbW96LWJveC1mbGV4OjE7ZmxleDoxfS5kaWFsb2ctZmxleC1idXR0b24gLmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW46MH0uZGlhbG9nLWJvZHkgYSwuZGlhbG9nLWhlYWRlciBhe2NvbG9yOiMwNjVmZDR9LmRpYWxvZy1ib2R5IHl0bS1tZW51LWl0ZW0gYXtjb2xvcjpjdXJyZW50Y29sb3J9QG1lZGlhIChtaW4td2lkdGg6MzMwcHgpIGFuZCAobWluLWhlaWdodDozMzBweCl7LmRpYWxvZ3ttaW4td2lkdGg6MjUwcHg7bWF4LXdpZHRoOjM1NnB4fS5kaWFsb2ctY29udGFpbmVye21hcmdpbjowIDQwcHg7cGFkZGluZzowO3BhZGRpbmc6MCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KX19LmRpYWxvZy1mdWxsc2NyZWVue21pbi13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjFweH0uZGlhbG9nLWZ1bGxzY3JlZW4+LmRpYWxvZy1ib2R5e2hlaWdodDoxMDAlfS5kaWFsb2cubW9kZXJuLWRpYWxvZy1sYXlvdXQuZGlhbG9nLWZ1bGxzY3JlZW57Ym9yZGVyLXJhZGl1czowfS5kaWFsb2ctY29udGFpbmVyLmRpYWxvZy1mdWxsc2NyZWVue21hcmdpbjowfWMzLXRvYXN0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1O2xlZnQ6MDtyaWdodDowO2JvdHRvbTowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjE0cHggMjRweDtmb250LXNpemU6MS40cmVtO2NvbG9yOiNmZmY7YmFja2dyb3VuZDojMGYwZjBmO3dpbGwtY2hhbmdlOnRyYW5zZm9ybTttYXJnaW4tYm90dG9tOi0xMDAlfWMzLXRvYXN0Lmh1Zy10b2FzdHttYXgtd2lkdGg6MzQ0cHh9YzMtdG9hc3QuaW52ZXJzZS10aGVtZXtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzAzMDMwM31jMy10b2FzdC5pbnZlcnNlLXRoZW1lIC5idXR0b24td2l0aC1pY29ue2NvbG9yOiMwNjVmZDR9W2hhcy1zYWZlLWFyZWEtaW4tbWF4PXRydWVdIGMzLXRvYXN0e3BhZGRpbmc6MTRweCAyNHB4O3BhZGRpbmc6MTRweCBtYXgoMjRweCxlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSkgMTRweCBtYXgoMjRweCxlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKX1baGFzLXBpdm90LWJhcj10cnVlXSBjMy10b2FzdHstLXNhZmUtYXJlYS1pbnNldC10b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApOy0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbTplbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7Ym90dG9tOjQ4cHg7Ym90dG9tOmNhbGMoNDhweCArIHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTttYXJnaW4tYm90dG9tOi0xMDAlO21hcmdpbi1ib3R0b206Y2FsYygtMTAwJSArIHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTt6LWluZGV4OjJ9W21vZGFsLW9wZW4tYm9keV0gYzMtdG9hc3QsW3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gYzMtdG9hc3R7Ym90dG9tOjhweDttYXJnaW4tYm90dG9tOi0xMDAlO3otaW5kZXg6NX1jMy10b2FzdFtkaXI9b3V0XXt0cmFuc2l0aW9uOm1hcmdpbiAxOTVtcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfWMzLXRvYXN0W2Rpcj1pbl17dHJhbnNpdGlvbjptYXJnaW4gMjI1bXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTttYXJnaW4tYm90dG9tOjB9QGtleWZyYW1lcyBzcGlubmVyezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5zcGlubmVyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zcGlubmVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjoxMnB4IGF1dG87d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MnB4IHNvbGlkICNlZWU7Ym9yZGVyLXRvcC1jb2xvcjojNjY2O2FuaW1hdGlvbjpzcGlubmVyIC44cyBsaW5lYXIgaW5maW5pdGV9LnNwaW5uZXI+LmhpZGRlbntkaXNwbGF5Om5vbmV9LnNwaW5uZXI6bm90KFtoaWRkZW5dKXtjb2xvcjojMzMzO2ZvbnQtc2l6ZToxLjZyZW19aHRtbHtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtmb250LXNpemU6MTBweDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn1ib2R5e21hcmdpbjowO3BhZGRpbmc6MDtwYWRkaW5nOjAgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdy14OmhpZGRlbn1baGlkZGVuXVtoaWRkZW5de2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbn15dG0tYXBwPi5zcGlubmVye21hcmdpbi10b3A6MTAwcHh9eXRtLWhlYWRlcntkaXNwbGF5OmJsb2NrfWhlYWRlcntoZWlnaHQ6NDhweH0ucGxheWVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NDhweDtyaWdodDowO3JpZ2h0OmVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6Mn1baGFzLXBsYXllci1jdXN0b20tY29udHJvbD10cnVlXSAucGxheWVyLWNvbnRhaW5lcntvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0jcGxheWVyLmlubGluZS1wbGF5ZXItaGlkZGVuLC5pbmxpbmUtcGxheWVyLWhpZGRlbntvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZX0ucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjU2LjI1JTtvdmVyZmxvdzpoaWRkZW59LnBsYXllci1jb250YWluZXIgI3BsYXllci5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple2JhY2tncm91bmQtY29sb3I6IzAwMH0ucGxheWVyLWNpbmVtYXRpY3N7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6IzAwMH0ucGxheWVyLWNpbmVtYXRpY3N+I3BsYXllci5wbGF5ZXItc2l6ZSwucGxheWVyLWNpbmVtYXRpY3N+LnBsYXllci1zaXple2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnBhZ2Utc2hvcnRzIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwucGFnZS1zaG9ydHMgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTowfS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItYXBpe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ucGxheWVyLWFwaVtoaWRkZW5dLC5wbGF5ZXItYXBpW2xvYWRpbmc9dHJ1ZV0sLnBsYXllci1hcGlbcGxheWFibGU9ZmFsc2Vde2Rpc3BsYXk6bm9uZX0jcGxheWVyLmlubGluZS1vbi10aHVtYm5haWx7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowfS5wbGF5ZXItY29udGFpbmVyIC5odG1sNS12aWRlby1wbGF5ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjB9eXRtLWFwcHtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6aGlkZGVufVtoYXMtc29mdC1iYXI9dHJ1ZV0geXRtLWFwcHtwYWRkaW5nLWJvdHRvbTozMHB4fVtoYXMtcGl2b3QtYmFyPXRydWVdIHl0bS1hcHB7cGFkZGluZy1ib3R0b206NDhweH15dG0taGVhZGVyLmlzLWF1dG9tb3RpdmUseXRtLWhlYWRlci5zdGlja3ktcGxheWVyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLmlzLWF1dG9tb3RpdmUseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuc2hvcnRzLXRvcGJhcix5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6NDtwYWRkaW5nOjA7cGFkZGluZzowIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpIDAgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KX15dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVyLm91dHt0b3A6LTQ4cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTk1bXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbH15dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVyLmlue3RvcDowO3RyYW5zaXRpb246dHJhbnNmb3JtIDIyNW1zIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9LnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntwb3NpdGlvbjpmaXhlZDt0b3A6NDhweDtyaWdodDowO3JpZ2h0OmVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6Mn0ucGxheWVyLWNvbnRhaW5lci5oZWFkZXItaW4tcGxheWVyLC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXIuaGVhZGVyLWluLXBsYXllcnt0b3A6MH15dG0tYXBwLmlzLWF1dG9tb3RpdmUseXRtLWFwcC5zdGlja3ktcGxheWVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6NDhweH15dG0tYXBwLmlzLWF1dG9tb3RpdmUuaGVhZGVyLWluLXBsYXllcix5dG0tYXBwLnN0aWNreS1wbGF5ZXIuaGVhZGVyLWluLXBsYXllcntwYWRkaW5nLXRvcDowfUBtZWRpYSAobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjI1NnB4fWJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjU2cHgpfWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIsYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjI1NnB4fWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDI1NnB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MzM2cHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MzM2cHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLWFsbC1sYW5kc2NhcGUtdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn1Ac3VwcG9ydHMgKGFzcGVjdC1yYXRpbzoxNi85KXsubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTp1bnNldDthc3BlY3QtcmF0aW86MTYvOX19Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIHl0bS13YXRjaCAucGxheWVyLXNpemV7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNDhweCk7bWF4LWhlaWdodDpjYWxjKDEwMHN2aCAtIDQ4cHgpfX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MjEvMTApIGFuZCAobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn19QG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOjE2LzkpIGFuZCAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDMzNnB4KX0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IC5wbGF5ZXItY29udGFpbmVye2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QHN1cHBvcnRzIChhc3BlY3QtcmF0aW86MTYvOSl7Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDphdXRvO2FzcGVjdC1yYXRpbzoxNi85fX19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjUwMHB4fWJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIsYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjUwMHB4fWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDUwMHB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfX1AbWVkaWEgKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnNob3J0cy10b3BiYXJ7cmlnaHQ6NzJweH0ucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTpjYWxjKDU2LjI1JSAtIDk2cHgpfS5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciB5dG0td2F0Y2ggLnBsYXllci1zaXple2hlaWdodDpjYWxjKDU2LjI1dncgLSA5NnB4KTtwYWRkaW5nLWJvdHRvbTp1bnNldDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwc3ZoIC0gNDhweCl9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206NTYuMjUlfX1AbWVkaWEgKG1heC13aWR0aDozMjBweCkgYW5kIChtYXgtaGVpZ2h0OjI0MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206NTYuMjUlfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1hcHB7cGFkZGluZy10b3A6NDhweH15dG0taGVhZGVyLHl0bS1oZWFkZXItYmFyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6NH19LmNvbnRlbnQtZXJyb3J7Zm9udC1zaXplOjEuNHJlbTtwYWRkaW5nOjEycHg7dGV4dC1hbGlnbjpjZW50ZXJ9I3BsYXllci10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtvYmplY3QtZml0OmNvdmVyO21pbi1oZWlnaHQ6MH0jcGxheWVyLWNvbnRhaW5lci1pZFtwbGF5YWJsZT10cnVlXSAjcGxheWVyLXRodW1ibmFpbC1vdmVybGF5e3Zpc2liaWxpdHk6aGlkZGVufWJvZHkucGFnZS1zaG9ydHMsaHRtbFtwYWdlLXNob3J0c117b3ZlcnNjcm9sbC1iZWhhdmlvci15Om5vbmV9Ym9keS5sb2FkaW5nLnBhZ2Utc2hvcnRzICNoZWFkZXIsYm9keS5sb2FkaW5nLnBhZ2Utc2hvcnRzIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcntkaXNwbGF5Om5vbmV9Ym9keS5wYWdlLXNob3J0cyAjcGxheWVyLWNvbnRhaW5lci1pZCxib2R5LnBhZ2Utc2hvcnRzIC5wbGF5ZXItY29udGFpbmVyICNwbGF5ZXJ7aGVpZ2h0OjEwMCU7dG9wOjB9KnstbXMtZmxleDowIDEgYXV0b31idXR0b257cGFkZGluZzowO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9aHRtbHt3b3JkLXdyYXA6YnJlYWstd29yZDtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5W2Rpc2FibGUtdGFwLWhpZ2hsaWdodD10cnVlXSBbcm9sZT1idXR0b25dLGJvZHlbZGlzYWJsZS10YXAtaGlnaGxpZ2h0PXRydWVdIGEsYm9keVtkaXNhYmxlLXRhcC1oaWdobGlnaHQ9dHJ1ZV0gYnV0dG9uey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1odG1sW2Rhcmtlci1kYXJrLXRoZW1lXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9aHRtbC53YXRjaC1zY3JvbGx7c2Nyb2xsLXBhZGRpbmctdG9wOjQ4cHh9aHRtbC53YXRjaC1zY3JvbGwuc3RpY2t5LXBsYXllcntzY3JvbGwtcGFkZGluZy10b3A6Y2FsYyg0OHB4ICsgNTYuMjV2dyl9aW5wdXR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nLWJvdHRvbTo0cHg7b3V0bGluZTpub25lOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7bWFyZ2luLWJvdHRvbToxcHg7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzczNzM3Mzt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9aW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9aW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfXRleHRhcmVhe2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZy1ib3R0b206NHB4O291dGxpbmU6bm9uZTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO21hcmdpbi1ib3R0b206MXB4O2ZvbnQ6aW5oZXJpdDtjb2xvcjojMDMwMzAzOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTttaW4taGVpZ2h0OjguNHJlbTt3aWR0aDoxMDAlO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6OHB4fXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfXRleHRhcmVhOjpwbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX1mb3Jte21hcmdpbjowfWF7Y29sb3I6Y3VycmVudENvbG9yO3RleHQtZGVjb3JhdGlvbjpub25lfWgxe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7bWFyZ2luLWJvdHRvbTowfWgye2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuOHJlbTttYXJnaW4tYm90dG9tOjB9aDN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS40cmVtO21hcmdpbi1ib3R0b206MH1oNHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjNyZW07bWFyZ2luLWJvdHRvbTowfWltZ3ttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4O2ZpbHRlcjpub25lfWltZzpub3QoW3NyY10pe3Zpc2liaWxpdHk6aGlkZGVufTpmb2N1c3tvdXRsaW5lOm5vbmV9cHttYXJnaW46MH0uaXRlbXttYXJnaW4tdG9wOjEycHg7ZGlzcGxheTpibG9ja30uaXRlbTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5pdGVte21hcmdpbi10b3A6OHB4fX0uaW1hZ2Utb3ZlcmxheS10ZXh0e3RleHQtc2hhZG93OjFweCAxcHggaHNsYSgwLDAlLDYuNyUsLjIpLC0xcHggMXB4IGhzbGEoMCwwJSw2LjclLC4yKSwtMXB4IC0xcHggaHNsYSgwLDAlLDYuNyUsLjIpLDFweCAtMXB4IGhzbGEoMCwwJSw2LjclLC4yKX0jcGxheWVyLWNvbnRyb2wtY29udGFpbmVyey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX1bZGlyPXJ0bF0gI3BsYXllci1zaG9ydHMtY29udGFpbmVye2RpcmVjdGlvbjpydGx9W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAjcGxheWVyLWNvbnRyb2wtY29udGFpbmVyLFtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIgI3BsYXllcixbc2hvcnRzLXBsYXllcj10cnVlXSAjcGxheWVyLXNob3J0cy1jb250YWluZXIsW3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgI3BsYXllcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwYWRkaW5nLWJvdHRvbTowfS5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyOmZ1bGxzY3JlZW4gLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIFtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXple2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTthc3BlY3QtcmF0aW86YXV0b31bZmF1eC1mdWxsc2NyZWVuPXRydWVdW2Z1bGxzY3JlZW4tcmVqZWN0ZWQ9dHJ1ZV0gI2FwcHtkaXNwbGF5Om5vbmV9W3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIsW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSB5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlcixbc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lcixbc2hvcnRzLXBsYXllcj10cnVlXSB5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlcjpub3QoLnNob3J0cy10b3BiYXIpe292ZXJmbG93OnZpc2libGU7ei1pbmRleDo0fVtzaG9ydHMtcGxheWVyPXRydWVdIC5wbGF5ZXItY29udGFpbmVyIC55dHAtdW5tdXRlLnl0cC1wb3B1cHt0b3A6NzVweDtsZWZ0OjA7bGVmdDplbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfVtyb2xlPWJ1dHRvbl0sYnV0dG9uLGlucHV0W3R5cGU9Y2hlY2tib3hdLHNlbGVjdHtjdXJzb3I6cG9pbnRlcn15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCU7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl17d2lkdGg6dmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpO2hlaWdodDp2YXIoLS15dGQtc2hvcnRzLXBsYXllci1oZWlnaHQpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl0gLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGF7bWFyZ2luLXJpZ2h0OnZhcigtLWFjdGlvbi1idXR0b24tZnVsbC13aWR0aC1uZWdhdGl2ZSk7cGFkZGluZy1yaWdodDp2YXIoLS1hY3Rpb24tYnV0dG9uLWZ1bGwtd2lkdGgpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1hY3Rpb24tYmFyXXt3aWR0aDpjYWxjKHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSArIDcycHgpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1hY3Rpb24tYmFyXSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXttYXJnaW4tcmlnaHQ6MDtwYWRkaW5nLXJpZ2h0OjB9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJdIC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7bWFyZ2luLWJvdHRvbToxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XXt3aWR0aDoxMDAlfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXt3aWR0aDpjYWxjKCgxMDAlIC0gbWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwgMzE1cHgpKS8yKTttYXJnaW4tcmlnaHQ6bWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwzMTVweCk7cGFkZGluZy1yaWdodDowO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtmaWx0ZXI6dW5zZXQ7bWluLXdpZHRoOjM2MHB4O21heC13aWR0aDo0ODBweDtwYWRkaW5nLWxlZnQ6MTZweH15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcltpcy13ZWJdW2V4dHJhY3Qtb3ZlcmxheV0gLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9uc3stbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXIgYnV0dG9uOm5vdChbYXJpYS1wcmVzc2VkPXRydWVdKSBjMy1pY29ue2ZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCA2cHggcmdiYSgwLDAsMCwuNCkpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse3RleHQtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLDAuOCl9LnJlZWwtcGxheWVyLW92ZXJsYXktbWFpbi1jb250ZW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kOy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIDAlO2FsaWduLXNlbGY6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21pbi13aWR0aDowO21hcmdpbjowIDAgMTZweCAxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2RhdGEtaGFzLWluZm8tcGFuZWw9dHJ1ZV0rLlByb2dyZXNzQmFyU2hvd2luZ3twYWRkaW5nLXRvcDoxNnB4fS5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhIHl0LW1ldGFkYXRhLWJhZGdlLXJlbmRlcmVye2hlaWdodDoyNHB4O3BhZGRpbmc6M3B4IDRweCAzcHggMH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowIDRweCAxNnB4IDRweDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnJlZWwtcGxheWVyLW92ZXJsYXktdG9wLWJhcntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctdG9wOjJweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIC5idXR0b24td2l0aC1pY29ue21hcmdpbjowIWltcG9ydGFudDttaW4td2lkdGg6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24gLmJ1dHRvbi1yZW5kZXJlci10ZXh0e21hcmdpbi10b3A6N3B4O21heC13aWR0aDo2NHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1idXR0b24tcmVuZGVyZXJ7bWF4LXdpZHRoOjY0cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXJ7bWFyZ2luLXRvcDo0cHg7ZGlzcGxheTpibG9jazstbW96LWJveC1mbGV4OjE7ZmxleDoxO3BhZGRpbmctcmlnaHQ6NHB4O3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyBwaXZvdC1idXR0b24tdmlldy1tb2RlbCwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1idXR0b24tcmVuZGVyZXIsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlcntkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHg7bWFyZ2luOjB9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHBpdm90LWJ1dHRvbi12aWV3LW1vZGVsLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDouM2VtfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJvdHRvbS1zaGVldC1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1tZW51LXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDowfX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1tZW51LXJlbmRlcmVyIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgYnV0dG9uPi5idXR0b24td2l0aC1pY29uLWlubmVyey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciB5dG0tcHJvZmlsZS1pY29ue2JvcmRlcjoxcHggc29saWQgI2ZmZn1AbWVkaWEgKG1heC1oZWlnaHQ6NDExcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIC5idXR0b24td2l0aC1pY29uLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UtcmVuZGVyZXJ7bWluLWhlaWdodDo0MHB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24gLmJ1dHRvbi1yZW5kZXJlci10ZXh0LC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3R7ZGlzcGxheTpub25lfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXIgLmljb24tYnV0dG9ue2hlaWdodDozMnB4fX0ubG9nby1pbi1wbGF5ZXIsLm1vYmlsZS10b3BiYXItbG9nb3tjb2xvcjojZjAzO3BhZGRpbmc6MCAxMnB4O3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bWFyZ2luLWxlZnQ6LTFweH0ubG9nby1pbi1wbGF5ZXIuZnVsbC1sb2dvLC5tb2JpbGUtdG9wYmFyLWxvZ28uZnVsbC1sb2dve3dpZHRoOjkzcHg7aGVpZ2h0OjIwcHg7Y29sb3I6IzAwMDttYXJnaW4tbGVmdDowfS5sb2dvLWluLXBsYXllci5zaG9ydHMtbG9nbywubW9iaWxlLXRvcGJhci1sb2dvLnNob3J0cy1sb2dve3dpZHRoOjczcHg7aGVpZ2h0OjI1cHg7Y29sb3I6IzAwMDttYXJnaW4tbGVmdDowfS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ28tcmVkLC5tb2JpbGUtdG9wYmFyLWxvZ28uZnVsbC1sb2dvLXJlZHt3aWR0aDoxMDFweH0ubG9nby1pbi1wbGF5ZXItZW5kcG9pbnQsLm1vYmlsZS10b3BiYXItaGVhZGVyLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHg7dGV4dC1hbGlnbjpsZWZ0fS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ297Y29sb3I6I2ZmZn0ubW9ub2Nocm9tYXRpYyBzdmcgcGF0aHtmaWxsOiNmZmZ9eXRtLXN1YnNjcmliZS1idXR0b24tcmVuZGVyZXJ7ZGlzcGxheTpibG9ja315dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlciAuYnV0dG9uLXJlbmRlcmVyLWljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubW9kZXJuLXN1YnNjcmliZS1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtjb2xvcjojNjA2MDYwO2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luOjAgOHB4fUBrZXlmcmFtZXMgbm90aWZpY2F0aW9uLWJlbGwtZmFkZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX19Lm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NTtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lci5oaWRkZW57ZGlzcGxheTpub25lfS5ub3RpZmljYXRpb24tYmVsbHtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6LTJweDthbmltYXRpb246bm90aWZpY2F0aW9uLWJlbGwtZmFkZS1pbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7cGFkZGluZy1sZWZ0OjB9Lll0bVZpZGVvSW5mb0V4cGFuZGVkIC5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdCwueXRtVmlkZW9JbmZvRXhwYW5kZWQgLm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3RyYW5zaXRpb246bm9uZX0ud2l0aC1ub3RpZmljYXRpb24tYmVsbCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtwYWRkaW5nLWxlZnQ6MjRweH0ueXRDb3JlSW1hZ2VIb3N0e3Zpc2liaWxpdHk6aGlkZGVuO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi1oZWlnaHQ6MXB4O21pbi13aWR0aDoxcHh9Lnl0Q29yZUltYWdlTG9hZGVke3Zpc2liaWxpdHk6aW5oZXJpdH0ueXRDb3JlSW1hZ2VGaWxsUGFyZW50SGVpZ2h0e2hlaWdodDoxMDAlfS55dENvcmVJbWFnZUZpbGxQYXJlbnRXaWR0aHt3aWR0aDoxMDAlfS55dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wTGVmdHtvYmplY3QtcG9zaXRpb246dG9wIGxlZnR9Lnl0Q29yZUltYWdlT2JqZWN0UG9zaXRpb25Ub3BSaWdodHtvYmplY3QtcG9zaXRpb246dG9wIHJpZ2h0fS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVUb0ZpbGx7b2JqZWN0LWZpdDpmaWxsfS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaXR7b2JqZWN0LWZpdDpjb250YWlufS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaWxse29iamVjdC1maXQ6Y292ZXJ9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVDZW50ZXJ7b2JqZWN0LWZpdDpub25lO29iamVjdC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyfS55dENvcmVJbWFnZUZsaXBSdGx7dHJhbnNmb3JtOnNjYWxlWCgtMSl9Lnl0Q29yZUltYWdlR3JhZGllbnRDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRDb3JlSW1hZ2VHcmFkaWVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX06cm9vdHstLXl0LWF0dHJpYnV0ZWQtc3RyaW5nLWxpbmstaG92ZXItY29sb3I6dW5zZXR9Lnl0QXR0cmlidXRlZFN0cmluZ0lubGluZUJsb2NrTW9ke2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUFsaWdubWVudEJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50QmFzZWxpbmV7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50VmVydGljYWxDZW50ZXJ7dmVydGljYWwtYWxpZ246bWlkZGxlO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotLjA3ZW19Lnl0QXR0cmlidXRlZFN0cmluZ0xpc3RHcm91cHstbW96LXBhZGRpbmctc3RhcnQ6MjBweDtwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5re3RleHQtZGVjb3JhdGlvbjpub25lO2Rpc3BsYXk6aW5saW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rQ2FsbFRvQWN0aW9uQ29sb3J7Y29sb3I6IzA2NWZkNH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua092ZXJsYXlDYWxsVG9BY3Rpb25Db2xvcntjb2xvcjojM2VhNmZmfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciAueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9ye2NvbG9yOmluaGVyaXR9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IgLnl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvcjpob3Zlcntjb2xvcjp2YXIoLS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yKX0ueXRBdHRyaWJ1dGVkU3RyaW5nRWxsaXBzaXNUcnVuY2F0ZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZU5vV3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VQcmVXcmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS55dEF0dHJpYnV0ZWRTdHJpbmdJZ25vcmVTcGxpdExpbmVze3doaXRlLXNwYWNlOm5vcm1hbH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExlZnR7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmxlZnR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRSaWdodHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246cmlnaHR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRDZW50ZXJ7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudEp1c3RpZmllZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246anVzdGlmeX0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExheW91dFN0YXJ0e2Rpc3BsYXk6YmxvY2s7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50VW5rbm93bntkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246aW5oZXJpdH0ueXRBdHRyaWJ1dGVkU3RyaW5nV29yZFdyYXBwaW5ne292ZXJmbG93LXdyYXA6YW55d2hlcmV9Lnl0QXR0cmlidXRlZFN0cmluZ1VuZGVybGluZWR7LW1vei10ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdTdHJpa2V0aHJvdWdoey1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6bGluZS10aHJvdWdoO3RleHQtZGVjb3JhdGlvbi1saW5lOmxpbmUtdGhyb3VnaH0ueXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lU3RyaWtldGhyb3VnaHstbW96LXRleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZSBsaW5lLXRocm91Z2g7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lIGxpbmUtdGhyb3VnaH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlTm9uZXt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlU2luZ2xley1tb3otdGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlRG90ey1tb3otdGV4dC1kZWNvcmF0aW9uLXN0eWxlOmRvdHRlZDt0ZXh0LWRlY29yYXRpb24tc3R5bGU6ZG90dGVkfS55dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1YnNjcmlwdHt2ZXJ0aWNhbC1hbGlnbjpzdWJ9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3VwZXJzY3JpcHR7dmVydGljYWwtYWxpZ246c3VwZXJ9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0VW5rbm93bnt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRBdHRyaWJ1dGVkU3RyaW5nSXRhbGljaXplZHtmb250LXN0eWxlOml0YWxpY30ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzF7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzN7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QnV0dG9uT3JBbmNob3JIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEJ1dHRvbk9yQW5jaG9yQnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7cGFkZGluZzowO21hcmdpbjowO2N1cnNvcjpwb2ludGVyO291dGxpbmUtd2lkdGg6MDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZDpub25lO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtYWxpZ246dW5zZXQ7d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lnl0QnV0dG9uT3JBbmNob3JBbmNob3J7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOjA7bWFyZ2luOjA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCV9Lnl0UmFkaW9TaGFwZUhvc3R7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ueXRSYWRpb1NoYXBlSW5wdXR7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTouMDAwMDAxO21hcmdpbjowO2xlZnQ6MTJweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UmFkaW9TaGFwZUxhYmVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0OHB4O3dpZHRoOjEwMCU7Y29sb3I6IzAzMDMwM30ueXRSYWRpb1NoYXBlS2V5Ym9hcmRGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dFJhZGlvU2hhcGVEaXNhYmxlZHtjb2xvcjojOTA5MDkwfS55dFJhZGlvU2hhcGVMYWJlbHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9aW5wdXQ6Y2hlY2tlZCtsYWJlbD4ueXRSYWRpb1NoYXBlUmFkaW8+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpK2xhYmVsPi55dFJhZGlvU2hhcGVSYWRpbz46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0UmFkaW9TaGFwZVJhZGlvRGVmYXVsdFN0eWxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMnB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9aW5wdXQ6bm90KDpjaGVja2VkKStsYWJlbD4ueXRSYWRpb1NoYXBlQ2hlY2tJY29uPjpmaXJzdC1jaGlsZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRSYWRpb1NoYXBlQ29tcGFjdHttaW4taGVpZ2h0OjQwcHh9Lnl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2h7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRSYWRpb1NoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzAzMDMwM30ueXRMaXN0SXRlbVZpZXdNb2RlbEhvc3Q6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW57ZGlzcGxheTpub25lfS55dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25PckFuY2hvcnt3aWR0aDphdXRvfS55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3I6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxOb1RyYWlsaW5nVGV4dCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yLC55dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLWhlaWdodDo0NHB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle21heC1oZWlnaHQ6Mi4ycmVtfS55dExpc3RJdGVtVmlld01vZGVsU3VidGl0bGV7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdle21hcmdpbi1sZWZ0OjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVye21hcmdpbi10b3A6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7bWFyZ2luLWJvdHRvbToycHg7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRMaXN0SXRlbVZpZXdNb2RlbFNlbGVjdGlvblRleHR7Y29sb3I6IzYwNjA2MDttYXJnaW4tbGVmdDo0cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHR7bWFyZ2luLWxlZnQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3J7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtmbGV4LXNocmluazowfS55dExpc3RJdGVtVmlld01vZGVsTGVhZGluZ3ttYXJnaW4tcmlnaHQ6MTJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjEycHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDoxMnB4fS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciwueXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVye21pbi13aWR0aDowfS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmcsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZsZXgtc2hyaW5rOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcnthbGlnbi1zZWxmOnN0YXJ0O2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjQ0cHg7bWluLXdpZHRoOjM2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExpc3RJdGVtVmlld01vZGVsQXZhdGFyLC55dExpc3RJdGVtVmlld01vZGVsSW1hZ2V7bWF4LWhlaWdodDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5e2JvcmRlci1yYWRpdXM6MnB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjojMDMwMzAzfS55dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3Nvcnl7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlcjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXJ7cGFkZGluZzoycHggMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZ3twYWRkaW5nOjJweCAwfS55dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cHtib3JkZXItcmFkaXVzOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZHtjb2xvcjojNjA2MDYwO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZCAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSwueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVkIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6IzYwNjA2MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7bWF4LWhlaWdodDoyLjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGV7cGFkZGluZzo2cHggMTZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzo2cHggMH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4taGVpZ2h0OjM2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbENoZXZyb25JY29ue2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVye2hlaWdodDozNnB4O21pbi13aWR0aDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye2hlaWdodDozNnB4O21pbi13aWR0aDoyNHB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdle21heC1oZWlnaHQ6MjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlIC55dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXJ7bWluLWhlaWdodDo0MnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZSAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye2hlaWdodDo0MnB4fS55dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5LC55dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZn0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxle2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeXtjb2xvcjojZmZmfS55dENoZWNrYm94U2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0OHB4O3dpZHRoOjEwMCU7Y29sb3I6IzAzMDMwMztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDaGVja2JveFNoYXBlSG9zdENvbXBhY3R7bWluLWhlaWdodDo0MHB4fS55dENoZWNrYm94U2hhcGVJbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46MDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO29wYWNpdHk6LjAwMDAwMTt6LWluZGV4OjE7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRDaGVja2JveFNoYXBlTGFiZWx7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENoZWNrYm94U2hhcGVEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmcgLnl0Q2hlY2tib3hTaGFwZUxhYmVse3BhZGRpbmctcmlnaHQ6MH0ueXRDaGVja2JveFNoYXBlQ2hlY2tib3hEZWZhdWx0U3R5bGV7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzowIDEycHh9aW5wdXQ6Y2hlY2tlZH4ueXRDaGVja2JveFNoYXBlQ2hlY2tib3g+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpfi55dENoZWNrYm94U2hhcGVDaGVja2JveD46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0U3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9LnRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRMaXN0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0TGlzdFZpZXdNb2RlbEhvc3RLYWlvc1NwYXROYXZ7cGFkZGluZzozcHh9fS55dERvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3R7cGFkZGluZzowIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtaGFzLXN1YnNjcmliZS1idXR0b249dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtwYWRkaW5nOjA7LW1vei1ib3gtYWxpZ246bm9ybWFsO2FsaWduLWl0ZW1zOm5vcm1hbDttYXJnaW46YXV0bzstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtaGFzLXN1YnNjcmliZS1idXR0b249dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YSB5dG0tbWVudS1yZW5kZXJlcntoZWlnaHQ6MTAwJX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbUNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAudmlkZW8tdGh1bWJuYWlsLWltZ3t3aWR0aDo2N3B4O2hlaWdodDo2N3B4O21pbi1oZWlnaHQ6MDtib3JkZXItcmFkaXVzOjUwJX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuY2hhbm5lbC1zdWJzY3JpYmUtYnV0dG9ue3BhZGRpbmc6MCAwIDAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWNvbG9yLXBhbGV0dGUtYXBwbGllZD10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWR7b3BhY2l0eToxfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdD5he2Rpc3BsYXk6YmxvY2t9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItY29tcGFjdHt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX19Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0IC5lbmdhZ2VtZW50LWJhcntoZWlnaHQ6MjRweDttYXJnaW4tdG9wOjRweH0uWXRtQ29tcGFjdE1lZGlhSXRlbU11bHRpY29sdW1ue3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0uWXRtQ29tcGFjdE1lZGlhSXRlbUltYWdle2ZsZXgtc2hyaW5rOjB9Lll0bUNvbXBhY3RNZWRpYUl0ZW1JbWFnZS5zdGFja2Vke3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGF7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO292ZXJmbG93OnZpc2libGV9QG1lZGlhIChtaW4td2lkdGg6NTUwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhW2RhdGEtaGFzLWJhZGdlcz10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfX1AbWVkaWEgKG1heC13aWR0aDo1NDlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6Mn0uWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhLmhhcy1lbmdhZ2VtZW50LWJhciAuWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YS5oYXMtZW5nYWdlbWVudC1iYXJbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoxLjI1ZW07LXdlYmtpdC1saW5lLWNsYW1wOjF9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtwYWRkaW5nOjRweCAwfS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDt3aGl0ZS1zcGFjZTpub3JtYWx9fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50e2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50LnN0YWNrZWR7bWFyZ2luLXRvcDo4cHh9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhQ29udGVudHtwYWRkaW5nOjB9fS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmVQbGFjZWhvbGRlcntoZWlnaHQ6MTZweDttYXgtd2lkdGg6MzAwcHg7bWFyZ2luLWJvdHRvbTo4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLXJhZGl1czoycHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdWJoZWFke2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7b3BhY2l0eTouNn0uWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWRQbGFjZWhvbGRlcntoZWlnaHQ6MTZweDt3aWR0aDoxMjBweDttYXJnaW4tYm90dG9tOjNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS4zcmVtO292ZXJmbG93OmhpZGRlbjttYXJnaW46MDtmb250LXNpemU6MS40cmVtfS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmUgLnl0bS1jaGFubmVsLW5hbWV7Zm9udC1zaXplOjEuNHJlbX1AbWVkaWEgKG1heC13aWR0aDo1NDlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDozLjc1ZW07LXdlYmtpdC1saW5lLWNsYW1wOjN9fS5ZdG1Db21wYWN0TWVkaWFJdGVtQnlsaW5le2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtc2l6ZToxLjJyZW19Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdGF0c3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbVN0YXRzfi5ZdG1Db21wYWN0TWVkaWFJdGVtU3RhdHM6YmVmb3Jle2NvbnRlbnQ6XCLCoMK3wqBcIn0uWXRtQ29tcGFjdE1lZGlhSXRlbURlc2NyaXB0aW9ue21hcmdpbjo4cHggMDtwYWRkaW5nOjA7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbU1lbnV7ZmxleC1zaHJpbms6MDtjb2xvcjojMDMwMzAzfS5mb3JtYXR0ZWQtc3RyaW5nLWRlZW1waGFzaXple2NvbG9yOiM2MDYwNjB9LmZvcm1hdHRlZC1zdHJpbmctYm9sZHtmb250LXdlaWdodDo1MDB9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRze3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0e3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksdHJhbnNmb3JtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjkpO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJFZmZlY3R7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle3dpbGwtY2hhbmdlOm9wYWNpdHk7b3BhY2l0eTowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4xfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplU21hbGx7bWFyZ2luOi00cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW17bWFyZ2luOi04cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwsLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTWVkaXVtIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZXttYXJnaW46LTEycHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czoxNnB4fS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXIgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxse2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgIzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgI2ZmZn0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4yfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZU92ZXJsYXlUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVN0cm9rZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9QGtleWZyYW1lcyBwb3BvdmVyLWZhZGUtaW57MCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHBvcG92ZXItZmFkZS1vdXR7dG97b3BhY2l0eTowfX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdHttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdC5cXDpwb3BvdmVyLW9wZW4sLnl0UG9wb3ZlckNvbXBvbmVudEhvc3Q6cG9wb3Zlci1vcGVue2FuaW1hdGlvbjpwb3BvdmVyLWZhZGUtaW4gLjE1cyBlYXNlLWlufS55dFBvcG92ZXJDb21wb25lbnRIb3N0Q2xvc2luZy5cXDpwb3BvdmVyLW9wZW4sLnl0UG9wb3ZlckNvbXBvbmVudEhvc3RDbG9zaW5nOnBvcG92ZXItb3BlbnthbmltYXRpb246cG9wb3Zlci1mYWRlLW91dCA3NW1zIGVhc2Utb3V0IGZvcndhcmRzfS55dFRvb2x0aXBDb250YWluZXJIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0VG9vbHRpcENvbnRhaW5lckRlZmF1bHRUb29sdGlwQ29udGVudHtwYWRkaW5nOjhweDtib3JkZXItc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzYwNjA2MDtvcGFjaXR5Oi45O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0VG9vbHRpcENvbnRhaW5lclBsYXllclRvb2x0aXBDb250ZW50LC55dFRvb2x0aXBDb250YWluZXJQbGF5ZXJUb29sdGlwQ29udGVudEJsdXJyZWR7cGFkZGluZzo0cHggOHB4O2JvcmRlci1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4O2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAycHggOHB4ICMwMDA7b3BhY2l0eTouOTtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnRCbHVycmVke29wYWNpdHk6dW5zZXQ7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUb29sdGlwQ29udGFpbmVyRWZmZWN0TWFrZXJUb29sdGlwQ29udGVudHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVySG90a2V5e2Rpc3BsYXk6aW5saW5lO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MCA2cHg7bWFyZ2luLWxlZnQ6OHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfTpyb290ey0teXQtbGlnaHQtcmltLWNvbG9yOnVuc2V0Oy0teXQtbGlnaHQtd2FzaC1vcGFjaXR5OjA7LS15dC1saWdodC13YXNoLXg6MDstLXl0LWxpZ2h0LXdhc2gteTowOy0teXQtbGlnaHQtd2FzaC1zaXplOjk2cHg7LS15dC1saWdodC13YXNoLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0uY29udHJpYll0TGlnaHRTaGFwZUhvc3R7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7cG9pbnRlci1ldmVudHM6bm9uZX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0OmJlZm9yZXtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7cGFkZGluZzouNXB4Oy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDAsMCwwLDAuMDUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE91dGxpbmU6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMykpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWxJbnZlcnNlOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2V7aW5zZXQ6LTFweH0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMikpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlUb25hbDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4xNSkpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodHtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3R0b206NTAlO2xlZnQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7ZmlsdGVyOmJsdXIoMTBweCl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTYWZhcml7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFNvbGlkSW52ZXJzZXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFRvbmFsSW52ZXJzZXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4wNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5U29saWR7YmFja2dyb3VuZDojZmZmfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVRvbmFse2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjE1KX0uY29udHJpYll0TGlnaHRTaGFwZUR5bmFtaWNXYXNoTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgdHJhbnNsYXRlKHZhcigtLXl0LWxpZ2h0LXdhc2gteCwwKSx2YXIoLS15dC1saWdodC13YXNoLXksMCkpO2JvcmRlci1yYWRpdXM6aW5oZXJpdDt3aWR0aDp2YXIoLS15dC1saWdodC13YXNoLXNpemUsOTZweCk7aGVpZ2h0OnZhcigtLXl0LWxpZ2h0LXdhc2gtc2l6ZSw5NnB4KTtvcGFjaXR5OnZhcigtLXl0LWxpZ2h0LXdhc2gtb3BhY2l0eSwwKTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3QtY29ybmVyIGF0IGNlbnRlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSAwLHRyYW5zcGFyZW50IDEwMCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ZmlsdGVyOmJsdXIoMTVweCl9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0e2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjb250YWluOmxheW91dCBzdHlsZSBwYWludDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXt0cmFuc2l0aW9uOm9wYWNpdHkgLjQ1cyBjdWJpYy1iZXppZXIoLjI1LDEsLjgsMSl9fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXt0cmFuc2l0aW9uLWR1cmF0aW9uOjQwbXN9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0IC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQ6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMDV9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVQcmVzc2VkIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjF9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0IC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzAwMH06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQ6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMn06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouM30ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZTpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4yfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4zfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlOmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjA1fTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4xfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtmaWx0ZXI6Ymx1cigyNHB4KTtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsI2ZmZiAwLHJnYmEoMjU1LDI1NSwyNTUsLjYpIDM1JSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzAlLHRyYW5zcGFyZW50IDEwMCUpO2JvcmRlci1yYWRpdXM6NTAlfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ZmlsdGVyOmJsdXIoMzJweCk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgMCxyZ2JhKDI1NSwyNTUsMjU1LC41KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDgwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JvcmRlci1yYWRpdXM6NTAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlLHdpZHRoIC4xNXMgY3ViaWMtYmV6aWVyKC4yNSwxLC41LDEpLGhlaWdodCAuMTVzIGN1YmljLWJlemllciguMjUsMSwuNSwxKX19Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodHtvcGFjaXR5Oi4yfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7b3BhY2l0eTouMzU7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDRzfS5hbmltYXRlZFJvbGxpbmdDaGFyYWN0ZXJIb3N0e2Rpc3BsYXk6aW5saW5lfS5hbmltYXRlZFJvbGxpbmdOdW1iZXJIb3N0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93OmhpZGRlbn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MDt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjA7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lLXdpZHRoOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtmbGV4LWJhc2lzOjAuMDAwMDAwMDAxcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnR7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb24sLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bGluZS1oZWlnaHQ6MDtmaWxsOmN1cnJlbnRDb2xvcn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnstbW96LWJveC1mbGV4OjA7ZmxleDpub25lfS55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWlkZGxlZ3JvdW5kQXNzZXR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7d2lkdGg6cm91bmQodXAsMTAwJSwxcHgpO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lfS55dFNwZWNCdXR0b25TaGFwZU5leHRGZWF0dXJlUGhvbmVXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYc3twYWRkaW5nOjAgOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgN3B4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhze2hlaWdodDoyNHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjI0cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxMnB4IDAgMCAxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnQ6YWZ0ZXJ7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDdweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3twYWRkaW5nOjAgMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3toZWlnaHQ6MzJweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozMnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxNnB4IDAgMCAxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OlwiXCI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6OHB4O2hlaWdodDoxNnB4O3dpZHRoOjFweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke2JvcmRlci1yYWRpdXM6MCAxNnB4IDE2cHggMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24pIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmd7cGFkZGluZzowIDEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAxMHB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAxMnB4O3dpZHRoOjQ0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo0cHg7bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU17cGFkZGluZzowIDE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE1cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDE0cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDE2cHg7d2lkdGg6NTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NnB4O21hcmdpbi1yaWdodDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTXtoZWlnaHQ6MzZweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0gLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozNnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydHtib3JkZXItcmFkaXVzOjE4cHggMCAwIDE4cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6XCJcIjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo2cHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDE4cHggMThweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbiwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uKTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdCkgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZ3twYWRkaW5nOjAgMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAxNXB4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDE0cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDE2cHg7d2lkdGg6NTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NnB4O21hcmdpbi1yaWdodDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMe3BhZGRpbmc6MCAyNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAyM3B4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAyMnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAyNHB4O3dpZHRoOjcycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo4cHg7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUx7aGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMIC55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtib3JkZXItcmFkaXVzOjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6NDhweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjRweCAwIDAgMjRweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnQ6YWZ0ZXJ7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjEycHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI0cHggMjRweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAyMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE5cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMThweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjBweDt3aWR0aDo2OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse3BhZGRpbmc6MCAzMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMzFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDMwcHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0zMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDMycHg7d2lkdGg6ODhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse2hlaWdodDo1NnB4O2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czoyOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjU2cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjhweCAwIDAgMjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6XCJcIjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDoxNnB4O2hlaWdodDoyNHB4O3dpZHRoOjFweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMjhweCAyOHB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZ3twYWRkaW5nOjAgMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMjNweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMjJweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0yNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjRweDt3aWR0aDo4MHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo4cHg7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVye2hlaWdodDphdXRvO3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHstd2Via2l0LWxpbmUtY2xhbXA6NDttYXgtaGVpZ2h0Om5vbmV9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlVGV4dEVsbGlwc2lzIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHt0ZXh0LW92ZXJmbG93OmNsaXB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdHttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFdvcmthcm91bmRJY29uTm9Cb3JkZXJSYWRpdXN7Ym9yZGVyLXJhZGl1czp1bnNldH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkYWRmZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGFkZmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Y29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNjM4NTA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI2Mzg1MDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMzZWE2ZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzNlYTZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzY1YjhmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWNvbG9yOiMzZWE2ZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojNjViOGZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjcyNzI3O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2Q5ZDlkOTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkOWQ5ZDk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMil9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzAwMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZTZlNmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlQmFja2Ryb3BGaWx0ZXJFeHBlcmltZW50e2JhY2tkcm9wLWZpbHRlcjpibHVyKDRweCl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVCYWNrZHJvcEZpbHRlckV4cGVyaW1lbnR7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCNlMTAwMmQgMzAlLCNlMDEzNzggODUlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCNlMTAwMmQgMzAlLCNlMDEzNzggODUlKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM319QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgwLDEyMiwxMDEsMC4yKSAwLHJnYmEoMTI3LDE0LDEyNywwLjIpIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgwLDEyMiwxMDEsMC4yKSAwLHJnYmEoMTI3LDE0LDEyNywwLjIpIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojOTA5MDkwfS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiM5MDkwOTB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojOTA5MDkwfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzowIDRweCAxNnB4IDAgcmdiYSgwLDAsMCwwLjEpLDAgMnB4IDhweCAwIHJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHttYXJnaW46NHB4IC04cHggMDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbElzT3ZlcmxheSAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHttYXgtd2lkdGg6NjRweDtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dEJhZGdlVmlld01vZGVsSG9zdHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRCck56QmFkZ2VTaGFwZUhvc3R7ZGlzcGxheTpibG9ja30ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdSZWRTcXVhcmV7YmFja2dyb3VuZDojZjAzOTM2O2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2JvcmRlci1yYWRpdXM6MDtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1llbGxvd0NpcmNsZXtiYWNrZ3JvdW5kOiNmZmVmMDA7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6YmxhY2s7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdHcmVlbkNpcmNsZXtiYWNrZ3JvdW5kOiM0MmM3NTg7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6YmxhY2s7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEdyZWVuU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTY2LDgxKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbHVlU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTQ5LDIxOCk7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmx1ZVNxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDE0OSwyMTgpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFllbGxvd1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNTEsMTkzLDIxKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VZZWxsb3dTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjUxLDE5MywyMSk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsT3JhbmdlU3F1YXJle2JhY2tncm91bmQ6cmdiKDI0NSwxMzAsMzIpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZU9yYW5nZVNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNDUsMTMwLDMyKTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxSZWRTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjM2LDI5LDM3KTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VSZWRTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjM2LDI5LDM3KTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbGFja1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDAsMCk7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmxhY2tTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwwLDApO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZVdpdGhMYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VzOm5vdCg6bGFzdC1jaGlsZCl7LW1vei1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0FjdGlvbnNDb250YWluZXI+Om5vdCg6bGFzdC1jaGlsZCl7LW1vei1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb246bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEVycm9ye2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6I2MzMDAyN30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3R7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lcntwYWRkaW5nLWJvdHRvbToyMHB4fS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlUmFkaW9CdXR0b257aGVpZ2h0OjA7bGVmdDowO21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjB9Lnl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVke2N1cnNvcjpkZWZhdWx0fS55dENhcmRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDYXJkVmlld01vZGVsT3V0bGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0Q2FyZFZpZXdNb2RlbFJhaXNlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmUtc3R5bGU6c29saWQ7b3V0bGluZS1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvdXRsaW5lLWNvbG9yIC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS13aWR0aCAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWR7Ym94LXNoYWRvdzowIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmU6IzAzMDMwMyBzb2xpZCAycHg7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS1jb2xvciAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG91dGxpbmUtd2lkdGggLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRDYXJkVmlld01vZGVsVG9uYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dENhcmRWaWV3TW9kZWxJbnZlcnRlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGZ9Lnl0Q2FyZFZpZXdNb2RlbENvbnRlbnRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lnl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7d2lkdGg6MTAwJX0ueXRDYXJkVmlld01vZGVsVG9wQ29udGVudHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9ue2FsaWduLXNlbGY6ZmxleC1zdGFydH0ueXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2lue21hcmdpbjo2cHh9Lnl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMnB4O3RvcDoxMnB4fS55dENhcmRWaWV3TW9kZWxDYXJkVmlld01vZGVsSW5uZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dENhcmRWaWV3TW9kZWxTZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjMDMwMzAzfS55dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZywueXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmd7cGFkZGluZzoxMnB4fS55dENhcmRWaWV3TW9kZWxDbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtpbnNldDowO3Bvc2l0aW9uOmFic29sdXRlfS55dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH0ueXRDYXJkVmlld01vZGVsQmFja2dyb3VuZHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6ZmlsbH0ueXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0Q2hlY2tib3hJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVye2JvcmRlci10b3A6bm9uZX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MTJweCAwIDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxEaXNhYmxlUGFkZGluZy55dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXJ7cGFkZGluZy10b3A6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmd7cGFkZGluZy1ib3R0b206MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5ne3BhZGRpbmctcmlnaHQ6MjRweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFja3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFja1RvcEJ1dHRvbnttYXJnaW46MCAwIDhweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd1RyYWlsaW5ney1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0xlZnRCdXR0b257bWFyZ2luLXJpZ2h0OjhweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0Z1bGxXaWR0aHt3aWR0aDoxMDAlfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RXhwYW5key1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dTaHJpbmt7LW1vei1ib3gtZmxleDowO2ZsZXg6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3BlY0ljb25TaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U3Bpbm5lclNoYXBlV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNwaW5uZXJTaGFwZVNwaW5uZXJ7ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjEycHggYXV0bzt3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoycHggc29saWQgI2VlZTtib3JkZXItdG9wLWNvbG9yOiM2NjY7YW5pbWF0aW9uOnNwaW5uZXIgLjhzIGxpbmVhciBpbmZpbml0ZX0ueXRTcGlubmVyU2hhcGVTcGlubmVyOm5vdChbaGlkZGVuXSl7Y29sb3I6IzMzMztmb250LXNpemU6MS42cmVtfUBrZXlmcmFtZXMgc3Bpbm5lcnswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRve3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX0ueXRMb3R0aWVDb21wb25lbnRIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0TG90dGllQ29tcG9uZW50SG9zdCBzdmd7ZGlzcGxheTpibG9ja30ueXRBbmltYXRlZEljb25Ib3N0e2Rpc3BsYXk6YmxvY2t9Lnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDttYXJnaW46MH0ueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdCAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LC0xMnB4KTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dEFuaW1hdGVkSWNvbkhvc3QgLmFuaW1hdGVkLXN1YnNjcmliZS1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEycHgsLTEycHgpO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPVwiMThcIl0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT1cIjE4XCJdIC5hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT1cIjE4XCJdIC5hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPVwiMThcIl0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOXB4LC05cHgpO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuYW5pbWF0ZWQtc3Vic2NyaWJlLWljb257dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOXB4LC05cHgpO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0SG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTbGlkZXJTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxNnB4IDEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbkljb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b246ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHQ7Y29sb3I6IzkwOTA5MH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7bWFyZ2luOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O291dGxpbmU6bm9uZTtwYWRkaW5nLWJvdHRvbTowOy0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoyNHB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCMwMzAzMDMgMCwjMDMwMzAzIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbi10b3A6LTZweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotbXMtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW46MDt3cml0aW5nLW1vZGU6dmVydGljYWwtcmw7ZGlyZWN0aW9uOnJ0bH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO21hcmdpbjowIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdXRsaW5lOm5vbmU7cGFkZGluZy1ib3R0b206MDstLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7d2lkdGg6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTt3aWR0aDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotbW96LXJhbmdlLXRodW1ie2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tcy10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXJ7LW1vei1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTphdXRvOy13ZWJraXQtYXBwZWFyYW5jZTphdXRvfX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzoxMHB4IDE2cHg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7bWluLWhlaWdodDo0OHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0SGlkZURpdmlkZXJ7Ym9yZGVyLWJvdHRvbTpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdENvbXBhY3R7cGFkZGluZzo4cHggMTJweH0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZUhlYWRlcnttYXJnaW46MH0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyTm9uSW50ZXJhY3RpdmV7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxle21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjEuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXttYXgtaGVpZ2h0OjEuOHJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6bm93cmFwO21hcmdpbi1sZWZ0OjEycHh9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b246bm90KDpsYXN0LWNoaWxkKXtwYWRkaW5nLXJpZ2h0OjI0cHh9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtvdXRsaW5lOm5vbmV9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvckZvY3VzZWR7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yfS55dFNoZWV0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0U2hlZXRWaWV3TW9kZWxDb250ZXh0dWFse2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7Ym9yZGVyLXJhZGl1czoxMnB4O2JveC1zaGFkb3c6MCA0cHggMzJweCAwIHJnYmEoMCwwLDAsMC4xKTtvdmVyZmxvdzpoaWRkZW59Lnl0U2hlZXRWaWV3TW9kZWxQYWRkZWRDb250ZW50e3BhZGRpbmc6MTZweCAwfS55dFNoZWV0Vmlld01vZGVsRGlzYWJsZUJhY2tkcm9wRmlsdGVye2JhY2tkcm9wLWZpbHRlcjpub25lfS55dFNwZWNCb3R0b21TaGVldExheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWluLWhlaWdodDowfS55dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lcntib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmZpeGVkO21hcmdpbjowIDhweCAyNHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwfUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgYW5kIChtaW4td2lkdGg6NDE2cHgpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSBhbmQgKG1pbi13aWR0aDo0MTZweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Q29udGFpbmVye3dpZHRoOjQwMHB4O21hcmdpbjowIGF1dG8gMjRweCBhdXRvfX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVye292ZXJmbG93OmhpZGRlbjstbW96LWJveC1mbGV4OjA7ZmxleDpub25lO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmY7Y3Vyc29yOi1tb3otZ3JhYjtjdXJzb3I6Z3JhYn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVySXNEcmFnZ2luZ3tjdXJzb3I6LW1vei1ncmFiYmluZztjdXJzb3I6Z3JhYmJpbmd9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlckJvdHRvbUJvcmRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0RHJhZ0xpbmV7YmFja2dyb3VuZDojMDMwMzAzO29wYWNpdHk6LjE1O2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDo0cHg7bWFyZ2luOjAgYXV0bzt3aWR0aDo0MHB4O21hcmdpbi10b3A6OHB4fS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcnstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDo4cHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV2l0aFRpdGxle21hcmdpbi1ib3R0b206N3B4fS55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxlV3JhcHBlcnstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLWxlZnQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMwMzAzMDM7bWF4LWhlaWdodDoyMHB4O21hcmdpbjowfS55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzYwNjA2MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDoxNnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle21heC1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle21heC1oZWlnaHQ6MS44cmVtfS55dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO292ZXJmbG93LXk6c2Nyb2xsfS55dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwM30ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtwb3NpdGlvbjpzdGlja3k7Ym90dG9tOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyQnV0dG9uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW46MTJweCAwfS55dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVye21hcmdpbjo2cHggMH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDoxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25EZWZhdWx0e21hcmdpbjowIDEycHg7d2lkdGg6MTAwJX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpciwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7bWFyZ2luLXJpZ2h0OjEycHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbjowIDEycHg7aGVpZ2h0OjMwcHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyV2l0aG91dEJ1dHRvbnN7bWFyZ2luLWJvdHRvbToxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dExlYWRpbmdMYWJlbCwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVse21hcmdpbi10b3A6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRleHR1YWxTaGVldExheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZjtoZWlnaHQ6MTAwJTttaW4td2lkdGg6MTI4cHg7bWF4LXdpZHRoOjQwMHB4O3dpZHRoOjEwMCU7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNDhweCk7bWluLWhlaWdodDowfS55dENvbnRleHR1YWxTaGVldExheW91dEhvc3RPbGRNaW5XaWR0aHttaW4td2lkdGg6MjU2cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0QWRkUGFkZGluZ3twYWRkaW5nLWJvdHRvbTo4cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0SGVhZGVyQ29udGFpbmVyey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7b3ZlcmZsb3cteTphdXRvO3Njcm9sbGJhci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtzY3JvbGxiYXItd2lkdGg6dGhpbn0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOmhvdmVye3Njcm9sbGJhci1jb2xvcjojOTA5MDkwIHRyYW5zcGFyZW50fS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXI6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzkwOTA5MH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRGb290ZXJDb250YWluZXJ7LW1vei1ib3gtZmxleDowO2ZsZXg6MH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MTJweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTcGVlZEluZGljYXRvckNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOmF1dG99Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXl7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi44cmVtO2xpbmUtaGVpZ2h0OjMuOHJlbTtmb250LXdlaWdodDo5MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXl7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjkwMH19Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjhweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTbGlkZXJDb250YWluZXJ7bWFyZ2luOjhweCAwfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b257bWFyZ2luOjAgNHB4fS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVse21hcmdpbi10b3A6NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6IzAzMDMwM30ueXRXZWJTY3JpbUhvc3R7cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpfS55dFdlYlNjcmltSG9zdFJlbGF0aXZle3Bvc2l0aW9uOmFic29sdXRlfS55dFdlYlNjcmltSG9zdE1vZGVybk92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyl9Lnl0V2ViU2NyaW1Ib3N0Qm90dG9tU2hlZXR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0V2ViU2NyaW1Ib3N0RW5nYWdlbWVudFBhbmVse3otaW5kZXg6MDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTt0b3A6MTAwdnd9Lnl0V2ViU2NyaW1Ib3N0RHJhZ2dhYmxlRW5nYWdlbWVudFBhbmVse3otaW5kZXg6Mzt0b3A6MH0ueXRXZWJTY3JpbUhvc3REcmF3ZXJMYXlvdXR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCl9Lnl0V2ViU2NyaW1EaWFsb2dDb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS55dFdlYlNjcmltSGlkZGVuQnV0dG9ue3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O3BhZGRpbmc6MDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fWJvdHRvbS1zaGVldC1jb250YWluZXJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1fWJvdHRvbS1zaGVldC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH1jMy1vdmVybGF5LmJvdHRvbS1zaGVldC1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfVtib3R0b20tc2hlZXQtb3Blbl17b3ZlcmZsb3c6aGlkZGVufVttb2RhbC1vcGVuLWJvZHlde3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDtyaWdodDowfS5iMy1pZnJhbWUtYW5jZXN0b3JbbW9kYWwtb3Blbi1ib2R5XXtwb3NpdGlvbjphYnNvbHV0ZX0ubW9kYWwtaGlkZGVuLWJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0uYnV0dG9uLXdpdGgtaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTttaW4td2lkdGg6NS4xNGVtO21hcmdpbjowIC4yOWVtO2ZvbnQtc2l6ZToxLjRyZW07Ym9yZGVyLXJhZGl1czozcHh9LmJ1dHRvbi13aXRoLWljb24tYnV0dG9ue3BhZGRpbmc6LjdlbSAuNTdlbX0uYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbjotLjdlbSAtLjU3ZW19LmJ1dHRvbi13aXRoLWljb24uY29tcGFjdCsuYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbi1sZWZ0Oi43ZW19LmJ1dHRvbi13aXRoLWljb24taW5uZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uYnV0dG9uLXdpdGgtaWNvbi1idXR0b25bZGlzYWJsZWRdLC5idXR0b24td2l0aC1pY29uLmRpc2FibGVkIC5idXR0b24td2l0aC1pY29uLWJ1dHRvbntjb2xvcjojOTA5MDkwfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9CUkFORF17Y29sb3I6I2UxMDAyZH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfUFJJTUFSWV06bm90KFtkaXNhYmxlZD10cnVlXSl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwNjVmZDR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1BSSU1BUlldW2Rpc2FibGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1RFWFRde2NvbG9yOiM2MDYwNjB9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1RFWFRdIC5sb2dvLWFycm93e2ZpbGw6I2ZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQkxVRV9URVhUXXtjb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9CTFVFX1RFWFRfV0lUSF9JTlZFUlNFX1RIRU1FXXtjb2xvcjojM2VhNmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9ERVNUUlVDVElWRV17YmFja2dyb3VuZC1jb2xvcjojZTEwMDJkO2JvcmRlci1jb2xvcjojZTEwMDJkO2NvbG9yOiNmZmZ9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1NVR0dFU1RJVkVde2JvcmRlcjoxcHggc29saWQgIzA2NWZkNDtjb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9PVkVSTEFZXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKTtjb2xvcjojZmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9EQVJLXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX0lOQUNUSVZFX09VVExJTkVde2NvbG9yOiM2MDYwNjA7Ym9yZGVyOjFweCBzb2xpZCAjNjA2MDYwO3BhZGRpbmc6NXB4IDExcHh9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLWljb24tb25seT10cnVlXXttaW4td2lkdGg6MDttYXJnaW46MH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtaWNvbi1vbmx5PWZhbHNlXSAuYnV0dG9uLXJlbmRlcmVyLWljb257bWFyZ2luOjAgOHB4fS5idXR0b24tcmVuZGVyZXItdGV4dHthbGlnbi1zZWxmOmNlbnRlcjttaW4taGVpZ2h0OjFlbTtsaW5lLWhlaWdodDoxZW07Zm9udC13ZWlnaHQ6NTAwfVtpcy1idXN5PXRydWVdIC5idXR0b24tcmVuZGVyZXItaWNvbixbaXMtYnVzeT10cnVlXSAuYnV0dG9uLXJlbmRlcmVyLXRleHR7dmlzaWJpbGl0eTpoaWRkZW59LmJ1dHRvbi13aXRoLWljb24tc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDttYXJnaW46YXV0b30uYnV0dG9uLXJlbmRlcmVyLXdpdGgtYW5pbWF0aW9uIC5idXR0b24td2l0aC1pY29uLWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWMzLWljb257ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7ZmlsbDpjdXJyZW50Q29sb3I7c3Ryb2tlOm5vbmV9W2Rpcj1ydGxdIGMzLWljb25bZmxpcC1mb3ItcnRsPXRydWVde3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5pY29uLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cGFkZGluZzo4cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fWMzLWljb24gc3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YzMtaWNvbi5pY29uLXN0YXRlLW91dGxpbmVbaWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6bm9uZX1jMy1pY29uLmljb24tc3RhdGUtZmlsbGVkW2ljb24tc3RhdGUtb3V0bGluZV17ZGlzcGxheTpub25lfS5waXZvdC1iYXItaXRlbS10YWIgYzMtaWNvbltpY29uLXN0YXRlLWZpbGxlZF17ZGlzcGxheTpub25lfS5waXZvdC1iYXItaXRlbS10YWIgYzMtaWNvbltpY29uLXN0YXRlLW91dGxpbmVde2Rpc3BsYXk6YmxvY2t9LnBpdm90LWJhci1pdGVtLXRhYlthcmlhLXNlbGVjdGVkPXRydWVdIGMzLWljb25baWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6YmxvY2t9LnBpdm90LWJhci1pdGVtLXRhYlthcmlhLXNlbGVjdGVkPXRydWVdIGMzLWljb25baWNvbi1zdGF0ZS1vdXRsaW5lXXtkaXNwbGF5Om5vbmV9I21lbnUsLm1lbnUtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjR9Lm1lbnUtY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7bWF4LWhlaWdodDoxMDAlO292ZXJmbG93LXk6YXV0bztjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwYWRkaW5nOjNweH0ubWVudS1jb250ZW50Lm1lbnUtYm90dG9te2JvdHRvbTowO2NvbG9yOiMwMzAzMDM7cGFkZGluZzowO3Bvc2l0aW9uOmZpeGVkO21heC13aWR0aDoxMDAlO3dpZHRoOjEwMCV9LmJvdHRvbS1tZW51LWNhbmNlbHtib3JkZXItdG9wOjFweCBzb2xpZCAjZjFmMWYxO3BhZGRpbmc6OHB4IDB9Lm1lbnUtY29udGVudD5he2Rpc3BsYXk6YmxvY2t9Lm1lbnUtY2FuY2VsLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5tZW51LWNhbmNlbC1pY29ue21hcmdpbjowIDhweH0ubWVudS1jb250ZW50Lm1lbnUtYm90dG9tIGMzLWljb257Y29sb3I6IzAzMDMwMzttYXJnaW46MCAzMnB4IDAgMH0ubWVudS1jb250ZW50Om5vdCgubWVudS1zaG93LWljb25zKSAubWVudS1pdGVtLWJ1dHRvbiBjMy1pY29ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgKG1pbi13aWR0aDozMzBweCl7Lm1lbnUtY29udGVudDpub3QoLm1lbnUtYm90dG9tKXttaW4td2lkdGg6MjUwcHg7bWF4LXdpZHRoOjM1NnB4O21hcmdpbjo0MHB4fX0ubWVudS1mdWxsLXdpZHRoIC5tZW51LWNvbnRlbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmO21pbi13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjFweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1lbnUtY29udGVudC5yb3VuZGVkLWNvbnRhaW5lcntib3JkZXItcmFkaXVzOjhweH0uaWNvbi1idXR0b24uc21hbGx7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjE2cHh9eXRtLW1lbnUtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDB9eXRtLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzo4cHggMTZweDttYXJnaW4tbGVmdDowO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjppbml0aWFsO3RleHQtdHJhbnNmb3JtOnVuc2V0Oy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9eXRtLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9eXRtLW1lbnUtaXRlbSBjMy1pY29ue21hcmdpbi1yaWdodDoyNHB4fS5tZW51LWJvdHRvbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxLjZyZW07cGFkZGluZzoxMXB4IDE2cHh9Lnl0d1BsYXllckJvdHRvbUNvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJCb3R0b21Db250cm9sc0Z1bGxzY3JlZW5CdXR0b25XcmFwcGVyey1tb3otbWFyZ2luLXN0YXJ0OmF1dG87bWFyZ2luLWlubGluZS1zdGFydDphdXRvfS55dEJhZGdlU2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7cGFkZGluZzowIDRweH0ueXRCYWRnZVNoYXBlVHlwb2dyYXBoeXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJY29ue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS55dEJhZGdlU2hhcGVOb1RleHR7cGFkZGluZzowIDFweDttaW4taGVpZ2h0OjE4cHh9Lnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2V7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoxcHggNHB4fS55dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZSAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6NHB4O2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlLnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2VSZWRlc2lnbntiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjAgNnB4fS55dEJhZGdlU2hhcGVTdGF0dXNCYWRnZXtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjFweCA0cHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlIC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2UueXRCYWRnZVNoYXBlTm9UZXh0IC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDowfS55dEJhZGdlU2hhcGVUZXh0e2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS55dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvd3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3d7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjIwY2h9Lnl0QmFkZ2VTaGFwZURlZmF1bHR7XG4gIC8qICFrZWVwICovY29sb3I6IzYwNjA2MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9Lnl0QmFkZ2VTaGFwZURlZmF1bHQueXRCYWRnZVNoYXBlT3ZlcmxheXtjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVEZWZhdWx0Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlTWVkaWF7XG4gIC8qICFrZWVwICovY29sb3I6IzYwNjA2MDtvdXRsaW5lOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRCYWRnZVNoYXBlTWVkaWEueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjA7b3V0bGluZToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZU1lZGlhT3ZlcmxheXtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7b3V0bGluZToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVByb21vdGVke1xuICAvKiAha2VlcCAqL2NvbG9yOiMwMzAzMDM7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVByb21vdGVkLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojMDMwMzAzO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJvbW90ZWRJbnZlcnRlZC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOm5vbmU7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVRpbWVseXtcbiAgLyogIWtlZXAgKi9jb2xvcjojNjA2MDYwfS55dEJhZGdlU2hhcGVUaW1lbHkgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGltZWx5e3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVUaW1lbHkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjB9Lnl0QmFkZ2VTaGFwZVRpbWVseS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGltZWx5Lnl0QmFkZ2VTaGFwZU1vZGVybntwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJlbWl1bXtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6I2UxMDAyZH0ueXRCYWRnZVNoYXBlUHJlbWl1bS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVNhbGV7XG4gIC8qICFrZWVwICovY29sb3I6I2MzMDAyN30ueXRCYWRnZVNoYXBlU2FsZSAueXRCYWRnZVNoYXBlSWNvbntjb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxle3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybiwueXRCYWRnZVNoYXBlU2FsZS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2MzMDAyN30ueXRCYWRnZVNoYXBlU2FsZS55dEJhZGdlU2hhcGVNb2Rlcm57cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZU1lbWJlcnNoaXB7XG4gIC8qICFrZWVwICovY29sb3I6IzEwNzUxNjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9Lnl0QmFkZ2VTaGFwZU1lbWJlcnNoaXAueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVDb21tZXJjZXtcbiAgLyogIWtlZXAgKi9jb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlQ29tbWVyY2UueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVMaXZle1xuICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZUxpdmUueXRCYWRnZVNoYXBlT3ZlcmxheXtjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVMaXZlLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVTdGF0dXNOZXd7XG4gIC8qICFrZWVwICovY29sb3I6IzA2NWZkNDtvdXRsaW5lOjFweCBzb2xpZCAjMDY1ZmQ0O291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c05ldy55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzA2NWZkNDtvdXRsaW5lOjFweCBzb2xpZCAjMDY1ZmQ0O291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0NvbXBsZXRle1xuICAvKiAha2VlcCAqL2NvbG9yOiMwMDU5MTc7YmFja2dyb3VuZDojZGVmZmRlfS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAwNTkxNztiYWNrZ3JvdW5kOiNkZWZmZGV9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmd7XG4gIC8qICFrZWVwICovY29sb3I6IzdjMjkwMDtiYWNrZ3JvdW5kOiNmZmVhY2Z9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmcueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM3YzI5MDA7YmFja2dyb3VuZDojZmZlYWNmfS55dEJhZGdlU2hhcGVTdGF0dXNFcnJvcntcbiAgLyogIWtlZXAgKi9jb2xvcjojOTkwNDEyO2JhY2tncm91bmQ6cmdiYSgyNTUsODUsMTE5LDAuMil9Lnl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojOTkwNDEyO2JhY2tncm91bmQ6cmdiYSgyNTUsODUsMTE5LDAuMil9Lnl0QmFkZ2VTaGFwZVN0YXR1c0RlZmF1bHR7XG4gIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdHtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxEZWZhdWx0Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxMaXZle1xuICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmUueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWx7XG4gIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbntcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxEZWZhdWx0UmVkZXNpZ24ueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0QmFkZ2VTaGFwZUFke2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMDMwMzAzO3doaXRlLXNwYWNlOm5vd3JhcDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7Zm9udC1zaXplOnVuc2V0O2xpbmUtaGVpZ2h0OnVuc2V0fS55dEJhZGdlU2hhcGVBZC55dEJhZGdlU2hhcGVBZHNJbmNsdWRlRG90OmFmdGVye2NvbnRlbnQ6XCLCt1wiOy1tb3otcGFkZGluZy1lbmQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDo0cHg7LW1vei1wYWRkaW5nLXN0YXJ0OjRweDtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZU92ZXJsYXl7Y29sb3I6I2ZmZn0ueXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QmFkZ2VTaGFwZUxhcmdlRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRCYWRnZVNoYXBlSXNFbXB0eXtkaXNwbGF5Om5vbmV9LmFjY291bnRJbmZvSG9zdHtkaXNwbGF5OmJsb2NrfS5saWtlLWJ1dHRvbi1yZW5kZXJlciBbYXJpYS1wcmVzc2VkPXRydWVdIGMzLWljb257Y29sb3I6IzA2NWZkNH0ubGlrZS1idXR0b24tcmVuZGVyZXIgW2FyaWEtcHJlc3NlZD10cnVlXSBjMy1pY29uIHBhdGh7ZmlsbDojM2VhNmZmO3N0cm9rZTojZmZmO3N0cm9rZS13aWR0aDoxcHh9eXRtLW1lbnUtcmVuZGVyZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9LmJvdHRvbS1zaGVldC1tZWRpYS1tZW51LWl0ZW0geXRtLW1lbnUtaXRlbXtwYWRkaW5nOjA7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjA7bWFyZ2luLWxlZnQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVye21hcmdpbjo1cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPXNtYWxsXXttYXJnaW46MnB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlclt0aHVtYm5haWwtc2l6ZT1tZWRpdW1de21hcmdpbjo0cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPWxhcmdlXXttYXJnaW46OHB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPUxJVkVdLHl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPVNIT1JUU117dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWltZy5jdXN0b20tdGh1bWJuYWlsLnZpZGVvLXRodW1ibmFpbC1pbWd7b2JqZWN0LWZpdDpzY2FsZS1kb3duO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3c6aGlkZGVufS52aWRlby10aHVtYm5haWwtaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjphdXRvfS52aWRlby10aHVtYm5haWwtYmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctYm90dG9tOjU2LjI1JX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4fS5jdXN0b20tdGh1bWJuYWlsLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4MHB4O2hlaWdodDoxODBweH0uY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciAuY3VzdG9tLXRodW1ibmFpbHtvcGFjaXR5Oi43O2ZpbHRlcjpibHVyKDMwcHgpfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZHtib3JkZXItcmFkaXVzOjhweH0ub3JpZ2luYWwtYXNwZWN0LXJhdGlvIGltZ3toZWlnaHQ6MTAwJTt3aWR0aDphdXRvfS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1ib3R0b206MTI1JX0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UgaW1ne29iamVjdC1maXQ6Y292ZXI7d2lkdGg6MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW4tdG9wOjB9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2U6d2hlcmUoLm5vdC1yZW5kZXJlZC1mcm9tLXJpY2gtaXRlbSl7bWFyZ2luOi0xM3B4IC0xMnB4IDA7cGFkZGluZy10b3A6MTNweH0uc3R5bGUtcmVjb21tZW5kYXRpb25zLWluLXBvcnRyYWl0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdlLnJvdW5kZWQtdGh1bWJuYWlse2JvcmRlci1yYWRpdXM6MTJweDttYXJnaW46MDtwYWRkaW5nLXRvcDowfX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjA7cGFkZGluZy10b3A6MH19LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UudGh1bWJuYWlsLWNvdmVyLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2Uucm91bmRlZC10aHVtYm5haWx7Ym9yZGVyLXJhZGl1czoxMnB4fX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbCxwbGF5ZXItZnVsbHNjcmVlbi1jb250cm9scyAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fS52aWRlby10aHVtYm5haWwtZmlsbC1wYXJlbnR7bWFyZ2luOjA7cGFkZGluZy10b3A6MDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZ3twYWRkaW5nLXRvcDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29ue21hcmdpbjoyNHB4IDI0cHggMH0ueXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWF7bWFyZ2luLWJvdHRvbToyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDowO2ZsZXgtc2hyaW5rOjQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW17d2lkdGg6MTAwJTtmbGV4LXNocmluazowO29iamVjdC1maXQ6Y292ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lcntwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjB9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXR7cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7bWF4LWhlaWdodDo1LjZyZW19Lnl0U3BlY0RpYWxvZ0xheW91dExlYWRpbmdBY3Rpb25IZWFkZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjRGlhbG9nTGF5b3V0VHJhaWxpbmdBY3Rpb25IZWFkZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tbGVmdDphdXRvfS55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50e2NvbG9yOiMwMzAzMDM7b3ZlcmZsb3cteTphdXRvfS55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50SW5uZXJ7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjAgMjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVye3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1sZWZ0OjI0cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRGb290ZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWZsb3c6cm93IHdyYXAtcmV2ZXJzZTtmbGV4LXNocmluazowO21hcmdpbjotOHB4IDAgMCAtOHB4fS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lRW5key1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDplbmR9Lnl0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjhweCAwIDAgOHB4fS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkey1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0U3BlY0RpYWxvZ0xheW91dENlbnRlckFsaWduIC55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50LC55dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbiAueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNTdGFja2Vkey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1AbWVkaWEgKG1heC13aWR0aDozMzBweCl7Lnl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmV7bWluLXdpZHRoOmNhbGMoMTAwdncgLSA5NnB4KTttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMHZofX1AbWVkaWEgKG1pbi13aWR0aDozMzFweCkgYW5kIChtYXgtd2lkdGg6NTI3cHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWluLXdpZHRoOm1pbigzMjBweCwxMDB2dyAtIDk2cHgpO21heC13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOm1pbig0MDBweCwxMDB2dyAtIDk2cHgpO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpfX1AbWVkaWEgKG1pbi13aWR0aDo1MjhweCl7Lnl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmV7bWluLXdpZHRoOjMyMHB4O21heC13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOm1pbig1NjBweCwxMDB2dyAtIDk2cHgpO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpO21heC1oZWlnaHQ6bWluKDU2MHB4LDEwMHZoIC0gOTZweCl9fS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVue2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRhaW5lciwueXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbiAueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudHtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnRJbm5lcntkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cGFkZGluZzowfUBtZWRpYSAobWluLXdpZHRoOjUyOHB4KXsueXRTcGVjRGlhbG9nTGF5b3V0RXh0ZW5kZWRNYXhIZWlnaHR7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gOTZweCl9fS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEluc2V0IC55dFNwZWNEaWFsb2dMYXlvdXRBc3NldHt3aWR0aDphdXRvO3BhZGRpbmc6MCAyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldCAueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJdGVte2JvcmRlci1yYWRpdXM6MTJweH0ueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEltYWdle2JvcmRlci1yYWRpdXM6NnB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7ZGlzcGxheTpibG9ja30ueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0SWNvbntib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo2cHg7cGFkZGluZzo2cHh9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdFtkYXRhLWJhY2tncm91bmQtY29sb3I9VEhFTUVfQVRUUklCVVRFX09WRVJMQVlfQkFDS0dST1VORF9NRURJVU1dIC55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJY29ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0Pip7bWFyZ2luLXRvcDoxNnB4fS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD50b2dnbGUtYnV0dG9uLXZpZXctbW9kZWx7bWFyZ2luLXRvcDowfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZXt3aWR0aDo1NnB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlIC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweDttYXJnaW46MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGUgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEhvc3Q6Zm9jdXN7YmFja2dyb3VuZDp1bnNldH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGUgYnV0dG9uOm5vdChbYXJpYS1wcmVzc2VkPXRydWVdKSBjMy1pY29ue2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4IHJnYmEoMCwwLDAsMC4zKSl9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHg7bWFyZ2luOjB9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0RGVza3RvcHstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdERlc2t0b3AgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206OHB4O21hcmdpbjowfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7ZGlzcGxheTpub25lfX0ueXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXgtd2lkdGg6NDgwcHh9Lnl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW06bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6NHB4O21heC13aWR0aDoxMDAlfS55dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1ib3R0b206NHB4O21heC13aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS55dEFuaW1hdGVkQWN0aW9uTG90dGlle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZHt3aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZENvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlfS5wbGF5ZXItc2V0dGluZ3MtaGVhZGVye21hcmdpbi1ib3R0b206MjBweH0ucGxheWVyLWNhcHRpb24tc2V0dGluZ3MsLnBsYXllci1xdWFsaXR5LXNldHRpbmdzLC5wbGF5ZXItc3BlZWQtc2V0dGluZ3N7d2lkdGg6MTAwJTttYXJnaW46NHB4IDAgMTJweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mb3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7bWluLWhlaWdodDo4LjRyZW07d2lkdGg6MTAwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtwYWRkaW5nOjhweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LmNvcHlEZWJ1Z0luZm9QbGF5ZXJEZWJ1Z0luZm97aGVpZ2h0OjQwdmg7ZGlyZWN0aW9uOmx0cn0uc3RhYmxlVm9sdW1lVG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllckNvbnRyb2xzQ29udGFpbmVySG9zdHstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3BhZGRpbmctYm90dG9tOjB9Lnl0U2hvcnRzRW1iZWRzSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpIDAscmdiYSgwLDAsMCwwKSAxNjBweCksbGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsMCkgOTZweCl9Lnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zLC55dFNob3J0c0VtYmVkc1JlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXIgLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEsLnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye3otaW5kZXg6Mn0ueXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6Mjt3aWR0aDoxMDAlfS55dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjQ4cHh9Lnl0bUN1ZWRPdmVybGF5SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1DdWVkT3ZlcmxheUhpZGRlbiwueXRtQ3VlZE92ZXJsYXlIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0zNnB4O21hcmdpbi10b3A6LTM2cHg7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn0ueXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uLnNob3J0cywueXRtQ3VlZE92ZXJsYXlTaG9ydHN7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDotNTBweDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHh9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb257d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjojZjAzfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dG1DdWVkT3ZlcmxheVBsYXlCdXR0b25JY29ue2NvbG9yOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpmaXJzdC1jaGlsZHtmaWxsOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gLmxvZ28tYXJyb3csLnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpudGgtY2hpbGQoMil7ZmlsbDpDYW52YXN9fS55dG1DdWVkT3ZlcmxheUdyYWRpZW50e3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7aGVpZ2h0OjdyZW19Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjNweH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJ7aGVpZ2h0OjNweDttYXJnaW46MCAxcHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJJc1NjcnViYmluZ3ttYXJnaW46MCAycHh9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6MH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXI6bGFzdC1vZi10eXBle21hcmdpbi1yaWdodDowfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbHtoZWlnaHQ6M3B4O3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyTG9hZGVke2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7aGVpZ2h0OjNweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcnt0cmFuc2Zvcm06c2NhbGVZKDIpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmV7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjNweDt3aWR0aDoxMDAlfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lUm91bmRlZHtib3JkZXItcmFkaXVzOjEuNXB4O292ZXJmbG93OmhpZGRlbn0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjY7d2lkdGg6MTAwJX0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO2JvdHRvbTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dEhlYXRTZWVrZXJIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lnl0SGVhdFNlZWtlckhpZ2hDb250cmFzdHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDApLDkwJSxyZ2JhKDAsMCwwLC42KSk7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3R7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwJTtkaXJlY3Rpb246bHRyfS55dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0SGlkZGVue29wYWNpdHk6MH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RMb3dlclBsYXllcntib3R0b206MDtsZWZ0OjMwcHg7cmlnaHQ6MzBweDtoZWlnaHQ6NDRweH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdle2hlaWdodDoyOHB4O2xlZnQ6MDtyaWdodDowO2JvdHRvbTotN3B4fS55dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0e2hlaWdodDoyOHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS55dFBsYXllclByb2dyZXNzQmFySG9zdEN1c3RvbXtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuNSkpO29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguMiwwLC42LDEpfS55dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGV7b3BhY2l0eTowfS55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdle2hlaWdodDowO3BhZGRpbmc6MTkuNXB4IDAgOC41cHh9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxLjVweH0ueXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXJJbnNldHtib3R0b206MTQuNXB4fS55dFBsYXllclByb2dyZXNzQmFyUHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0e3BhZGRpbmc6MTZweCAwIDEycHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjp3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWR7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweCl9Lnl0UHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5le3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozcHg7d2lkdGg6MTAwJX0ueXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVke2JvcmRlci1yYWRpdXM6MS41cHg7b3ZlcmZsb3c6aGlkZGVufS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMb2FkZWR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjZ9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJIb3ZlcmVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi43fS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRQcm9ncmVzc0JhclBsYXloZWFkSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90e2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6I2YwMzt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZXtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90SGlkZXt0cmFuc2Zvcm06c2NhbGUoMCl9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b217aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtwb2ludGVyLWV2ZW50czpub25lfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2V7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUhpZGV7dHJhbnNmb3JtOnNjYWxlKDApfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZHt3aWR0aDoxMDAlO2xlZnQ6NTAlfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0c3ttYXJnaW4tYm90dG9tOjQ4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXJ7Ym90dG9tOmNhbGMoNTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3REZXNrdG9wU2hvcnRze21hcmdpbi1ib3R0b206MTZweH0ueXRQbGF5ZXJTdG9yeWJvYXJkSG9zdElzRHJhZ2dpbmd7bWFyZ2luLWJvdHRvbTo4MHB4fS55dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUlue2FuaW1hdGlvbjpmYWRlLWluIC4xcyBjdWJpYy1iZXppZXIoLjIsMCwuNiwxKX0ueXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6IzAwMH0ueXRQbGF5ZXJTdG9yeWJvYXJkQmlnYm9hcmRJbWFnZVdyYXBwZXJ7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXB7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3tmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuOHJlbTtsaW5lLWhlaWdodDozLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXBTaG9ydHN7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3twYWRkaW5nLXRvcDo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmd7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6Y2FsYygxLjZyZW0qdmFyKC0tc3Rvcnlib2FyZC1zY2FsZSwgMSkpO2xpbmUtaGVpZ2h0OmNhbGMoMi4ycmVtKnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKX0ueXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOmNhbGMoLTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDEwMCUpO2xlZnQ6NTAlO2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtmb250LXNpemU6Y2FsYygxMnB4KnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKX0ueXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGFCaWdib2FyZHt3aWR0aDphdXRvO2NvbG9yOiNmZmY7bWF4LXdpZHRoOjEwMCU7Ym90dG9tOjZweDtib3JkZXItcmFkaXVzOjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7cGFkZGluZzo4cHggMTZweDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWNvbHVtbi1nYXA6MXJlbTtjb2x1bW4tZ2FwOjFyZW07bWluLXdpZHRoOjB9Lnl0UGxheWVyU3Rvcnlib2FyZFRpdGxle21heC13aWR0aDoxMDAlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tYm90dG9tOjRweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFBsYXllclN0b3J5Ym9hcmRUaXRsZUJpZ2JvYXJke21hcmdpbi1ib3R0b206MDtmb250LXdlaWdodDo3MDB9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbldyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O21hcmdpbi1yaWdodDo0cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFN0b3J5Ym9hcmRJbWFnZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfUBrZXlmcmFtZXMgZmFkZS1pbnswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX0ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjNweDtkaXJlY3Rpb246bHRyO3RyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LG1hcmdpbi1sZWZ0LG1hcmdpbi1yaWdodCxwYWRkaW5nLHZpc2liaWxpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzfS55dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3RJc1NjcnViYmFibGVNb2Rle21hcmdpbi1yaWdodDoxNnB4O21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjE2cHg7cGFkZGluZy1ib3R0b206MTZweDt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SGlkZVByb2dyZXNzQmFye3Zpc2liaWxpdHk6aGlkZGVuO2hlaWdodDowfS55dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0dlc3R1cmVPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDB2aDt3aWR0aDoxMDB2dztpbnNldDowO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0d0F1dG9uYXZUb29sdGlwSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjI1JTt3aWR0aDoxMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2NvbG9yOiNmZmZ9Lnl0d1BsYXllclVzZXJFZHVUb29sdGlwSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjAgOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnQ7bWFyZ2luLXRvcDoxNnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo2O2JvcmRlci1yYWRpdXM6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtwYWRkaW5nOjdweCAxNnB4O21heC13aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwV3JhcHBlcjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3Q6bm90KC55dHdTcGVlZG1hc3RlclRvb2x0aXBLaWxsc3dpdGNoKXstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6I2ZmZjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7cmlnaHQ6MH0ueXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWx7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4fVtkaXI9cnRsXSAueXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWx7ZGlyZWN0aW9uOnJ0bH0ueXR3U3BlZWRtYXN0ZXJUb29sdGlwSWNvbnttYXJnaW4tbGVmdDo0cHh9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2xlZnQ6MDt0b3A6MDtib3R0b206MDtyaWdodDowO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7bGVmdDowO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNTcGVlZG1hc3Rlckdlc3R1cmVBcmVhe2hlaWdodDoxMDAlO3dpZHRoOjI1JX0ueXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc01lbnVHZXN0dXJlQXJlYXtoZWlnaHQ6MTAwJTt3aWR0aDo1MCV9Lnl0bVZpZGVvQ292ZXJIb3N0e2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxO3RyYW5zaXRpb246dHJhbnNmb3JtIC43czt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9Lnl0bVZpZGVvQ292ZXJIb3N0LmVuZGVke3otaW5kZXg6MH0ueXRtVmlkZW9Db3Zlckhvc3QuaGlkZGVue3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MH0ueXRtVmlkZW9Db3ZlclRodW1ibmFpbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvdmVyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0ZFZvbHVtZUNvbnRyb2xzSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtaGVpZ2h0OjQ4cHh9Lnl0ZFZvbHVtZUNvbnRyb2xzRGlzYWJsZVNsaWRlcnt3aWR0aDo0OHB4fS55dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MHB4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWZsZXg6MTtmbGV4OjEgMSBhdXRvO21heC13aWR0aDoxNjhweH0ueXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lclZlcnRpY2Fse21heC13aWR0aDo0OHB4O3dpZHRoOjQ4cHg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7Z2FwOjYwcHg7aGVpZ2h0Oi1tb3otZml0LWNvbnRlbnQ7aGVpZ2h0OmZpdC1jb250ZW50O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJFeHBhbmRlZHtwb2ludGVyLWV2ZW50czphbGx9Lnl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjUwcHh9Lnl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kO3otaW5kZXg6MTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7cGFkZGluZzoxMnB4O2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmFsbDtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246dmlzaWJpbGl0eSAuMTJzIGxpbmVhcixvcGFjaXR5IC4xMnMgbGluZWFyLHdpZHRoIC4xMnMgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckV4cGFuZGVke3Zpc2liaWxpdHk6dmlzaWJsZTt3aWR0aDoxMDAlO29wYWNpdHk6MTt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggLjNzIGxpbmVhcjt6LWluZGV4OjF9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyV2l0aFNjcmlte3BhZGRpbmctcmlnaHQ6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXItcmFkaXVzOjUwcHg7aGVpZ2h0OjQ4cHg7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6MCAxMnB4O21hcmdpbjowO3RyYW5zaXRpb246dmlzaWJpbGl0eSAuM3MgbGluZWFyLG9wYWNpdHkgLjNzIGxpbmVhcix3aWR0aCAwcyBsaW5lYXIgLjNzLG1hcmdpbiAuM3MgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRG93bnt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxFeHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDAsNDAsNDAsMC42KTttYXJnaW4tdG9wOjhweDt3aWR0aDoxMzNweDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggMHMgbGluZWFyLG1hcmdpbiAuM3MgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckRpc2FibGVTbGlkZXJ7ZGlzcGxheTpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcnstLWdyYWRpZW50LXBlcmNlbnQ6MDstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7Ym9yZGVyOm5vbmU7bWFyZ2luLWJvdHRvbToxcHg7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jazttaW4td2lkdGg6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZzo4cHggMDtmb3JjZWQtY29sb3ItYWRqdXN0Om5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LDAuMykgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwwLjMpIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDAsMCwwLDAuMSkgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgwLDAsMCwwLjEpIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi10b3A6LTYuNXB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JhY2tncm91bmQtY29sb3I6d2hpdGU7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3toZWlnaHQ6MnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10cmFja3toZWlnaHQ6MnB4fS55dGRWb2x1bWVDb250cm9sc011dGVJY29ue2NvbG9yOndoaXRlfS55dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbXtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3otaW5kZXg6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgbGluZWFyO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTBweH0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZHt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkSG92ZXJTdGF0ZTphZnRlcntjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyOHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGgsYmFja2dyb3VuZC1jb2xvcn0ueXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51Q2lyY2xlQnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6MjRweDtwYWRkaW5nLWxlZnQ6MTJweDtwYWRkaW5nLXJpZ2h0OjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24gYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9uIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbHtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLXJhZGl1czoxNnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWx7cGFkZGluZzo2cHggMTJweH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDotMXB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxTdGFja3ttYXJnaW4tbGVmdDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlse2hlaWdodDoycHg7bWFyZ2luLWJvdHRvbToxcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoycHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlse3dpZHRoOjEwcHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWx7d2lkdGg6MjBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbn0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsU2luZ2xlVGh1bWJuYWlsIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXJ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtvdXRsaW5lOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWx7ZGlzcGxheTpibG9ja30ueXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0e21hcmdpbi1yaWdodDoxMnB4fXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnN7bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLXRleHR7ZGlzcGxheTpub25lfXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMgLmJ1dHRvbi1yZW5kZXJlcnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21pbi13aWR0aDphdXRvO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luOjB9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0uZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMTVweDtib3R0b206Y2FsYyh2YXIoLS1jb250cm9scy1oZWlnaHQpKi0xKTtsZWZ0OjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6dmFyKC0tY29udHJvbHMtaGVpZ2h0KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZ1bGxzY3JlZW4tY29udHJvbHMtdmlkZW8tdGl0bGV7Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi1jb250cm9scy5leHBhbmRlZHtib3R0b206MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfUBtZWRpYSAocG9pbnRlcjpmaW5lKXsuZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMjhweH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcntzY3JvbGxiYXItd2lkdGg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6YXV0bztvdmVyZmxvdy15OmF1dG99LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS5mdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5OmJsb2NrfX0uZnVsbHNjcmVlbi1idXR0b25zLXdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ0cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweH0udG9wLWZ1bGxzY3JlZW4tY29udHJvbHN7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS5mdWxsc2NyZWVuLWNsb3NlLWJ1dHRvbi13cmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2hlaWdodDo0OHB4O2xlZnQ6MjRweDtyaWdodDoyNHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ei1pbmRleDoyfS5hY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtib3JkZXItcmFkaXVzOjQ4cHg7cGFkZGluZzo0cHggMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyPjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo4cHh9LmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUsLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3QsLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlcnttYXJnaW4tbGVmdDphdXRvO2hlaWdodDoxMDAlfS5mdWxsc2NyZWVuLW1vcmUtdmlkZW9zLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5zdGFja2VkLXZpZGVvcy13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDo2NHB4O2hlaWdodDoxMDAlfS5zdGFja2VkLXZpZGVvLXByZXZpZXd7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZDpibGFjaztib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6M3B4O292ZXJmbG93OmhpZGRlbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnN0YWNrZWQtdmlkZW8tcHJldmlldyAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0uc3RhY2tlZC12aWRlby1wcmV2aWV3OmZpcnN0LWNoaWxke3otaW5kZXg6M30uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgyKXt6LWluZGV4OjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoLjg3NSl9LnN0YWNrZWQtdmlkZW8tcHJldmlldzpudGgtY2hpbGQoMikgLnN0YWNrZWQtdmlkZW8tcHJldmlldy1pbWFnZXtvcGFjaXR5Oi43NX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKXt6LWluZGV4OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCkgc2NhbGUoLjc1KX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKSAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle29wYWNpdHk6LjV9Lm1vcmUtdmlkZW9zLW1lc3NhZ2V7bWFyZ2luLXJpZ2h0OjEycHg7dGV4dC1hbGlnbjpyaWdodH0ubW9yZS12aWRlb3MtbWVzc2FnZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS5tb3JlLXZpZGVvcy1tZXNzYWdlLXN1YnRpdGxle2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eTouN30ucXVpY2stYWN0aW9ucy13cmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6YXV0b30ucXVpY2stYWN0aW9ucy1iYXItYnV0dG9ucy13cmFwcGVye3BhZGRpbmctbGVmdDoxMnB4fS53YXRjaC1vbi15b3V0dWJlLWJ1dHRvbi13cmFwcGVye2RpcmVjdGlvbjpsdHJ9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsud2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgMjBweH19LndhdGNoLW9uLXlvdXR1YmUtYnV0dG9ue3BhZGRpbmctbGVmdDo0cHh9Lm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIsLm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyLmNpcmNsZS1idXR0b25zLC5uby1sYWJlbC1leHA+eXRtLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubm8tbGFiZWwtZXhwIHl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMubGlrZS1idXR0b24tbm8tbGFiZWwtZXhwe2RpcmVjdGlvbjpydGx9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51LC5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX19eXRtLWN1c3RvbS1jb250cm9sIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1jdXN0b20tY29udHJvbCAuaWNvbi1idXR0b246bm90KC5wbGF5ZXItc2V0dGluZ3MtaWNvbil7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjhweH15dG0tY3VzdG9tLWNvbnRyb2wgLmljb24tYnV0dG9uOm5vdCgucGxheWVyLXNldHRpbmdzLWljb24pPmMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH19eXRtLWN1c3RvbS1jb250cm9sIC5hdXRvbmF2LXVzZXItZWR1Y2F0aW9uLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjUlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6I2ZmZn0uaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC5wbGF5ZXItY29udHJvbHMtYm90dG9tLC5pbnRlcmNlcHQtZWxlbWVudC1jbGlja3MgLnBsYXllci1jb250cm9scy1taWRkbGUsLmludGVyY2VwdC1lbGVtZW50LWNsaWNrcyAucGxheWVyLWNvbnRyb2xzLXRvcCwuaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntwb2ludGVyLWV2ZW50czpub25lfXl0bS1jdXN0b20tY29udHJvbCAuZmluZS1zY3J1YmJpbmctb3ZlcmxheSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1ib3R0b20gLmZ1bGxzY3JlZW4taWNvbiBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uIGMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtcGIgLmljb24tYnV0dG9uPmMzLWljb24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIC5pY29uLWJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvblthcmlhLXByZXNzZWQ9ZmFsc2VdPmMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIHl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24gYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXT5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmljb24tZGlzYWJsZSBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt6LWluZGV4OjI7cmlnaHQ6MjRweH1AbWVkaWEgKG1heC1oZWlnaHQ6MjIxcHgpe3l0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtyaWdodDowfX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjM4MHB4KXt5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDoxNHB4fX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AtcmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9W2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQsW2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXJlY3Rpb246cnRsfWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHt0b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApfXl0bS1jdXN0b20tY29udHJvbCBjMy1vdmVybGF5e3Zpc2liaWxpdHk6dmlzaWJsZX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtY29udGVudHtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59I3BsYXllci1jb250cm9sLW92ZXJsYXkudXNlLW9wYWNpdHkgLnBsYXllci1jb250cm9scy1jb250ZW50e29wYWNpdHk6MDt2aXNpYmlsaXR5OnVuc2V0fSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjA7b3BhY2l0eTowfSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZDpub3QoLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCl7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwuNTQpIDI1JSxyZ2JhKDAsMCwwLC4zNikgNTAlLHJnYmEoMCwwLDAsLjE4KSA3NSUscmdiYSgwLDAsMCwwKSk7YmFja2dyb3VuZC1zaXplOjFweCA1MCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheSAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3A6MDt2aXNpYmlsaXR5OnZpc2libGV9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWFjdGlvbi1pdGVtc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9I3BsYXllci1jb250cm9sLW92ZXJsYXkuYW5pbWF0aW9uLWVuYWJsZWR7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjdzO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmFuaW1hdGlvbi1lbmFibGVkIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9I3BsYXllci1jb250cm9sLW92ZXJsYXkucG9pbnRlci1ldmVudHMtb2Zme3BvaW50ZXItZXZlbnRzOm5vbmV9I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWlue3BvaW50ZXItZXZlbnRzOmF1dG99I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWluIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt6LWluZGV4OjI7b3BhY2l0eToxfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbiAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7dmlzaWJpbGl0eTp2aXNpYmxlfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbi51c2Utb3BhY2l0eSAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7b3BhY2l0eToxO3Zpc2liaWxpdHk6dW5zZXR9I3BsYXllci1jb250cm9sLW92ZXJsYXkuaGlkZGVue2Rpc3BsYXk6bm9uZX1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXJ7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206MzBweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206NTBweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTo1MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206ODJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnV7bGVmdDoxMnB4O3JpZ2h0OjEycHh9QG1lZGlhIChtaW4td2lkdGg6MzgwcHgpey5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1hY3Rpb24tbWVudXtsZWZ0OjMwcHg7cmlnaHQ6MzBweH19QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsuZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTozMnB4O3otaW5kZXg6MztoZWlnaHQ6NDBweDtsZWZ0OjEycHg7cmlnaHQ6MTJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIC55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZW5kfS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIgLnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhcntwYWRkaW5nLWJvdHRvbToxMnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NThweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0e2xlZnQ6MDtyaWdodDo0NHB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e2xlZnQ6dW5zZXQ7cmlnaHQ6MDt6LWluZGV4OjR9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e2xlZnQ6MnB4O3JpZ2h0OjJweDtib3R0b206MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludHttYXJnaW4tdG9wOjEycHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvLXByZXZpZXcsLmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvcy13cmFwcGVye3dpZHRoOjQycHg7aGVpZ2h0OjI0cHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5wbGF5ZXItdGltZS1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6bm9uZX19LnBsYXllci1jb250cm9scy1oaWRle2Rpc3BsYXk6bm9uZX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QnJhbmRpbmdJY29ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2cHg7cmlnaHQ6MTJweDtjb2xvcjojZmZmfVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb257bGVmdDoxMnB4O3JpZ2h0OmF1dG99Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QmFja2dyb3VuZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnV7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5SGlkZUFjdGlvbk1lbnV7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTVweDtyaWdodDoxMnB4fVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXJ7bGVmdDoxMnB4O3JpZ2h0OmF1dG99QGtleWZyYW1lcyB5dG0tZXF1YWxpemVyLWFuaW1hdGlvbnswJXt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGVZKC41KX10b3t0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIgLnl0bS1lcXVhbGl6ZXItYmFyLWxlZnQsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1taWRkbGUsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDthbmltYXRpb24tbmFtZTp5dG0tZXF1YWxpemVyLWFuaW1hdGlvbjthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbGVmdHthbmltYXRpb24tZHVyYXRpb246LjVzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbWlkZGxle2FuaW1hdGlvbi1kdXJhdGlvbjoxLjNzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItcmlnaHR7YW5pbWF0aW9uLWR1cmF0aW9uOi43c30ueXRTaG9ydHNUb3VjaEZlZWRiYWNrSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW57ZGlzcGxheTpub25lfS55dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNre2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlcnt3aWR0aDoyNDBweDtoZWlnaHQ6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbnt3aWR0aDo5NnB4O2hlaWdodDo5NnB4fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdHtvdmVyZmxvdy15OnNjcm9sbH19Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyU2NyaW1Db250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo1fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lcntib3JkZXItcmFkaXVzOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjowIDhweCAyNHB4O21heC13aWR0aDo0MDBweDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OnNjcm9sbH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXJ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTQwcHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjIwcHggMDt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTJweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDZW50cmFsSWNvbntoZWlnaHQ6NjVweDt3aWR0aDo2NXB4O2NvbG9yOiNmMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjQ1cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7cmlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjI0cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZXtiYWNrZ3JvdW5kOiMwMzAzMDM7b3BhY2l0eTouMTU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjRweDttYXJnaW46MCBhdXRvO3dpZHRoOjQwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50c3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzPmRpdntwYWRkaW5nLWJvdHRvbTo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHM+eXRtLWJ1dHRvbi1yZW5kZXJlcntwYWRkaW5nLXRvcDo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7bGV0dGVyLXNwYWNpbmc6LjAwNWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZXtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjEuOHJlbX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxle2xldHRlci1zcGFjaW5nOi4wMWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3otaW5kZXg6NTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3RvcDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206NTAlfX1AbWVkaWEgKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlck92ZXJsYXlDb250YWluZXJ7Ym90dG9tOjI1JX19QG1lZGlhIChtYXgtaGVpZ2h0OjUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206MH19W2JvdHRvbS1zaGVldC1vdmVybGF5LWJvZHktb3Blbl17cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7dG9wOjA7b3ZlcmZsb3c6aGlkZGVufS55dG0tZm9yY2VkLW11dGUtbWVzc2FnZSAuYnV0dG9uLXdpdGgtaWNvbi1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czozcHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjZweH0ueXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UgLmJ1dHRvbi13aXRoLWljb24taW5uZXIgYzMtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJ7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJbYmFja2dyb3VuZD1JTkZPX1BBTkVMX0NPTlRBSU5FUl9CQUNLR1JPVU5EX1NZU1RFTV06Zmlyc3QtY2hpbGR7Ym9yZGVyOm5vbmV9eXRtLWluZm8tcGFuZWwtY29udGFpbmVyLXJlbmRlcmVyW2JhY2tncm91bmQ9SU5GT19QQU5FTF9DT05UQUlORVJfQkFDS0dST1VORF9TWVNURU1de2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfR1JBWV17YmFja2dyb3VuZC1jb2xvcjojZmZmfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXJ7aGVpZ2h0OjM2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWxlZnQtaXRlbXN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1pY29ue21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFt5dG0taW5mby1wYW5lbC1jb250ZW50LWhhcy1tZW51PXRydWVde2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudT10cnVlXSAueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcntwYWRkaW5nLWJvdHRvbToxMnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RJc1dhdGNoSW5mb1BhbmVse21hcmdpbjoxMnB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFt5dG0taW5mby1wYW5lbC1jb250ZW50LXRydW5jYXRlLXBhcmFncmFwaHM9dHJ1ZV0gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclBhcmFncmFwaHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczstd2Via2l0LWxpbmUtY2xhbXA6M30ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFtkYXRhLWJhY2tncm91bmQ9SU5GT19QQU5FTF9DT05URU5UX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS10gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZXtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFtkYXRhLWJhY2tncm91bmQ9SU5GT19QQU5FTF9DT05URU5UX0JBQ0tHUk9VTkRfQkxVRV17YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RDaW5lbWF0aWNCYWNrZ3JvdW5ke2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJXcmFwcGVye3BhZGRpbmc6MTJweCAxNnB4IDE2cHggMTZweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcltkYXRhLWhhcy1pY29uPXRydWVde3BhZGRpbmc6MTRweCAxMnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJCb2R5e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUZXh0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcntjb2xvcjojMDY1ZmQ0O21hcmdpbi1ib3R0b206NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7bWF4LWhlaWdodDo0cmVtfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbntwYWRkaW5nLWxlZnQ6MXB4O3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3B9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlck1ldGFkYXRhe21hcmdpbi1ib3R0b206NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclB1Ymxpc2hUaW1le2Rpc3BsYXk6aW5saW5lO2NvbG9yOiM2MDYwNjA7cGFkZGluZy1sZWZ0OjNweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoe2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZXtkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjojMDY1ZmQ0O3BhZGRpbmctbGVmdDoycHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZVRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRodW1ibmFpbHtmbGV4LXNocmluazowO2hlaWdodDo2NHB4O3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6OHB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJFbmRwb2ludHt3aWR0aDoxMDAlfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIZWFkZXJSaWdodEl0ZW1ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVySWNvbnttYXJnaW4tbGVmdDo0cHg7bWFyZ2luLXJpZ2h0OjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJNZW51e2Rpc3BsYXk6YmxvY2t9Lnl0bUxvZ29FbnRpdHlIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHh9Lnl0bUxvZ29FbnRpdHlDb250YWluZXJ7d2lkdGg6MTIycHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUxvZ29FbnRpdHlMb2dve3BhZGRpbmc6MDtoZWlnaHQ6NDhweDt3aWR0aDphdXRvO2NvbG9yOnVuc2V0fS5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlckhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiM2MDYwNjB9LnBsYXllckludGVyc3RpdGlhbFJlbmRlcmVyU2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsLjYpIDc1JSxyZ2JhKDAsMCwwLC42KSl9Lnl0QmlnYm9hcmRTdG9yeWJvYXJkSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbn0ueXRtQTExeVN0eWxlc0hpZGRlbkJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25JY29uRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZE92ZXJsYXl7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uWXRJY29uT3ZlcmxheXtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uQnV0dG9ue2N1cnNvcjpwb2ludGVyO3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzoxMnB4O2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Ib3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxLjJyZW07dmlzaWJpbGl0eTpoaWRkZW59Lnl0bUNyZWF0b3JFbmRzY3JlZW5JbkN1ZVJhbmdle3Zpc2liaWxpdHk6dmlzaWJsZX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTN7Zm9udC1zaXplOjEuNHJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwe2ZvbnQtc2l6ZToxLjhyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMHtmb250LXNpemU6Mi40cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudHtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudFZpc2libGV7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0bUNyZWF0b3JFbmRzY3JlZW5TY3JpbXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRtQ3JlYXRvckVuZHNjcmVlblNjcmltVmlzaWJsZXtvcGFjaXR5Oi4yNX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RyYW5zaXRpb246ei1pbmRleCAuMnMgc3RlcC1lbmQ7ei1pbmRleDo2O3Bvc2l0aW9uOnJlbGF0aXZlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZXt0cmFuc2l0aW9uOnotaW5kZXggLjJzIHN0ZXAtc3RhcnQ7ei1pbmRleDo3fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlse2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsMC42KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFJvdW5ke2JvcmRlci1yYWRpdXM6NTAlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC44KTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjhweDttYXJnaW46LThweDtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO2NvbG9yOiNmZmY7dmlzaWJpbGl0eTpoaWRkZW47YWxpZ24tY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdTbWFsbCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ01lZGl1bSAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ0xhcmdlIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheXtib3JkZXItcmFkaXVzOjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5UmlnaHR7bGVmdDowfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZle3BhZGRpbmctbGVmdDpjYWxjKDEwMCUgKyA4cHgpfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUxlZnR7cmlnaHQ6MH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0QWN0aXZle3BhZGRpbmctcmlnaHQ6Y2FsYygxMDAlICsgOHB4KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0QWN0aXZlLC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7bWF4LXdpZHRoOm5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMTVweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tcmlnaHQ6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlBY3RpdmVSaWdodCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1MDYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMzZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tcmlnaHQ6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjEzNnB4O21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNjQwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjE3NnB4O21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoyNjRweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlBY3RpdmVSaWdodCAueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6MzJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MzkycHg7bWFyZ2luLWxlZnQ6NDhweDttYXJnaW4tcmlnaHQ6MjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjI0cHg7bWFyZ2luLXJpZ2h0OjQ4cHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXgtaGVpZ2h0OjEwMCU7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6MS4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI1O21hcmdpbi1ib3R0b206MnB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6MS42cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjJyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6Mi40cmVtfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuMnJlbTttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuNnJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXtmb250LXNpemU6MS44cmVtO21hcmdpbi10b3A6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToycmVtO21hcmdpbi10b3A6MTJweH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpO3BhZGRpbmctdG9wOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6M30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsey13ZWJraXQtbGluZS1jbGFtcDoyfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTU3MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMzQ2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTQ3MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTA2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbHtkaXNwbGF5Om5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle3doaXRlLXNwYWNlOm5vd3JhcH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb257Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxcmVtO3RyYW5zaXRpb246YWxsIC4yc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjdXJzb3I6cG9pbnRlcn0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b257bWFyZ2luLXRvcDo0cHg7bWFyZ2luLWJvdHRvbTo0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMzQ2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbXtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO3otaW5kZXg6NjtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1DaGFubmVse2JvcmRlci1yYWRpdXM6NTAlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmV7b3BhY2l0eTouMjV9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uSG9zdHt3aWR0aDoxMDAlfS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNvbnRlbnRDb250YWluZXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudH0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25DYW5BbmltYXRle3RyYW5zaXRpb246d2lkdGggLjVzIGVhc2V9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uU3RhdGljV2lkdGggLnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uRmxleENvbnRhaW5lcnt3aWR0aDphdXRvfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JveC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLDAuNik7dHJhbnNpdGlvbjphbGwgLjJzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3otaW5kZXg6NX0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0gLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3R7Ym9yZGVyLXJhZGl1czoxMnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZXtib3JkZXItY29sb3I6I2ZmZn0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcE92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjMzJX0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2NvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjEuMnJlbTtmb250LXdlaWdodDo1MDA7bWFyZ2luOjZweCA4cHggMDtsaW5lLWhlaWdodDoxLjI1O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwwLjMpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjEuNnJlbTttYXJnaW46MTBweCAxMnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6MnJlbTttYXJnaW46MTRweCAxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6Mi40cmVtO21hcmdpbjoxOHB4IDIwcHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWx7b2JqZWN0LWZpdDpjb3Zlcn0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7Zm9udC1zaXplOmluaGVyaXR9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjJweCA0cHg7bWFyZ2luLWJvdHRvbToycHg7bWFyZ2luLXJpZ2h0OjJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjZweCA4cHg7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjEwcHggMTJweDttYXJnaW4tYm90dG9tOjE2cHg7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUb3BHcmFkaWVudHtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5Oi44O2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYigwLDAsMCksdHJhbnNwYXJlbnQpfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjJweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3BhZGRpbmc6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXl7cGFkZGluZzo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwYWRkaW5nOjEycHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpO21hcmdpbjowIDJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgNHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgOHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgMTJweH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFNjcmlte2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO3otaW5kZXg6NTtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmV7b3BhY2l0eTouMjV9Lnl0UGZwQXV0b25hdkhvc3R7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrfS55dFBmcEF1dG9uYXZWaXNpYmxle3BvaW50ZXItZXZlbnRzOmF1dG87YmFja2dyb3VuZDpibGFja30ueXRQZnBBdXRvbmF2U2NyaW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOndoaXRlO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0UGZwQXV0b25hdkhlYWRlcntmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjhweH0ueXRQZnBBdXRvbmF2VGl0bGV7Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1ib3R0b206NHB4fS55dFBmcEF1dG9uYXZCeWxpbmV7Zm9udC1zaXplOjE2cHg7bWFyZ2luLWJvdHRvbToyNHB4fS55dFBmcEF1dG9uYXZCeWxpbmUsLnl0UGZwQXV0b25hdlRpdGxle21heC13aWR0aDo4MCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcEF1dG9uYXZQbGF5QnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjcycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWJvdHRvbToyNHB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXI6MDtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6d2hpdGV9Lnl0UGZwQXV0b25hdlJpbmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0UGZwQXV0b25hdlBsYXlJY29ue3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7ZmlsbDp3aGl0ZX0ueXRQZnBDb250cm9sc0hvc3R7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dFBmcENvbnRyb2xzSG9zdCA6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjM2VhNmZmfS55dFBmcENvbnRyb2xzT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lnl0UGZwQ29udHJvbHNDcmVhdG9yRW5kc2NyZWVuQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mn0ueXRQZnBDb250cm9sc0ZhZGVJbntwb2ludGVyLWV2ZW50czphdXRvfS55dFBmcENvbnRyb2xzQmlnYm9hcmQsLnl0UGZwQ29udHJvbHNCb3R0b21CYXIsLnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCwueXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyLC55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyx2aXNpYmlsaXR5IC4yNXN9Lnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNCaWdib2FyZCwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc0JvdHRvbUJhciwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc0dyYWRpZW50VG9wLC55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzUHJvZ3Jlc3NCYXJDb250YWluZXIsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNWaWRlb1RpdGxle29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0ueXRQZnBDb250cm9sc0dyYWRpZW50VG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7cG9pbnRlci1ldmVudHM6bm9uZTtoZWlnaHQ6NDlweDt6LWluZGV4OjV9Lnl0UGZwQ29udHJvbHNWaWRlb1RpdGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjEycHg7bWFyZ2luOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxOHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOjc1cHg7aGVpZ2h0Ojc1cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MjtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZC1jb2xvcjp1bnNldH0ueXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbkljb25CZ3tmaWxsLW9wYWNpdHk6Ljg7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRQZnBDb250cm9sc092ZXJsYXk6aG92ZXIgLnl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b25JY29uQmd7ZmlsbC1vcGFjaXR5OjE7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRQZnBDb250cm9sc1ZpZGVvV2FsbEVuZHNjcmVlbntwYWRkaW5nOjQ4cHggMDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoyfS55dFBmcENvbnRyb2xzQXV0b25hdntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NDBweDtsZWZ0OjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6M30ueXRQZnBDb250cm9sc0JvdHRvbUJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6NDBweDtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOndoaXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cG9pbnRlci1ldmVudHM6YXV0bzt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNMZWZ0Q29udHJvbHMsLnl0UGZwQ29udHJvbHNSaWdodENvbnRyb2xze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGZwQ29udHJvbHNWb2x1bWVDb250cm9sc3ttYXgtd2lkdGg6MTEycHh9Lnl0UGZwQ29udHJvbHNUaW1lRGlzcGxheS55dFBmcENvbnRyb2xzVGltZURpc3BsYXl7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEuNHJlbTttYXJnaW4tbGVmdDo4cHg7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MzQ5cHgpey55dFBmcENvbnRyb2xzVGltZURpc3BsYXkueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5e2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpey55dFBmcENvbnRyb2xzQ2FwdGlvbnNCdXR0b257ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDoyNDlweCl7Lnl0UGZwQ29udHJvbHNWb2x1bWVDb250cm9scy55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHN7ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDoxOTlweCl7Lnl0UGZwQ29udHJvbHNTZXR0aW5nc0J1dHRvbntkaXNwbGF5Om5vbmV9fS55dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbi55dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbntoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3R7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMDAwO2Rpc3BsYXk6YmxvY2t9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6Zm9jdXMtdmlzaWJsZSAueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheSwueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVySG9zdDpmb2N1cy13aXRoaW4gLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6aG92ZXIgLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXl7b3BhY2l0eToxfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaHVtYm5haWx7b2JqZWN0LWZpdDpjb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheVRpdGxlQnlsaW5le3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo2MHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpIDYwJSxyZ2JhKDAsMCwwLDApKTtwYWRkaW5nOjhweH0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckJ5bGluZXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MTZweDttYXJnaW4tdG9wOjRweDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyRHVyYXRpb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtyaWdodDo4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjJweCA0cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEycHg7Y29sb3I6d2hpdGV9Lnl0UGZwTW9yZVZpZGVvc0hvc3R7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lfUBtZWRpYSAobWF4LWhlaWdodDoyODlweCl7Lnl0UGZwTW9yZVZpZGVvc0hvc3R7ZGlzcGxheTpub25lfX0ueXRQZnBNb3JlVmlkZW9zT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NDhweDtsZWZ0OjEycHg7cmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTIsMTIsMTIsLjgpO3otaW5kZXg6MjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9pbnRlci1ldmVudHM6YXV0bztib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzo4cHggMDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwTW9yZVZpZGVvc0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6MCAxNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQZnBNb3JlVmlkZW9zVGl0bGV7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjIwcHg7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcE1vcmVWaWRlb3NDbG9zZUJ1dHRvbntwYWRkaW5nOjRweDttYXJnaW4tcmlnaHQ6LTRweDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFBmcE1vcmVWaWRlb3NDbG9zZUJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS55dFBmcE1vcmVWaWRlb3NDbG9zZUljb257Y29sb3I6d2hpdGU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0Q29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7cGFkZGluZzowIDEycHggNHB4IDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdzpoaWRkZW59Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdy14OmF1dG87aGVpZ2h0OjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Njcm9sbGJhci13aWR0aDpub25lO3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdDo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3R7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnl9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtoZWlnaHQ6MDttYXJnaW46MCA2cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6YmxhY2s7c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQ7cGFkZGluZy1ib3R0b206MTM1cHg7d2lkdGg6MjQwcHg7bWluLXdpZHRoOjI0MHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwNDBweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDE0LjA2MjUlIC0gNi43NXB4KTt3aWR0aDpjYWxjKDI1JSAtIDEycHgpO21pbi13aWR0aDpjYWxjKDI1JSAtIDEycHgpfX1AbWVkaWEgKG1heC13aWR0aDo3ODBweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDE4LjU2MjUlIC0gMy4zNzVweCk7d2lkdGg6Y2FsYygzMyUgLSA2cHgpO21pbi13aWR0aDpjYWxjKDMzJSAtIDZweCl9fUBtZWRpYSAobWF4LXdpZHRoOjUzNHB4KXsueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVte3BhZGRpbmctYm90dG9tOmNhbGMoMjguMTI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoNTAlIC0gNnB4KTttaW4td2lkdGg6Y2FsYyg1MCUgLSA2cHgpfX1AbWVkaWEgKG1heC13aWR0aDoyODhweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDU2LjI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoMTAwJSAtIDZweCk7bWluLXdpZHRoOmNhbGMoMTAwJSAtIDZweCl9fS55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW06Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6YXV0b30ueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnQsLnl0UGZwTW9yZVZpZGVvc1BhZGRsZVJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzMsMzMsMzMsLjgpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOndoaXRlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjI7Ym94LXNoYWRvdzowIDRweCA0cHggcmdiYSgwLDAsMCwuMjUpfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0OmhvdmVyLC55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYig1MCw1MCw1MCl9Lnl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnR7bGVmdDowfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodHtyaWdodDowfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwTW9yZVZpZGVvc01vcmVWaWRlb3NCdXR0b257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjU2cHg7bGVmdDoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Y29sb3I6d2hpdGU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6OHB4IDE2cHg7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6NTtwb2ludGVyLWV2ZW50czphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRQZnBNb3JlVmlkZW9zTW9yZVZpZGVvc0J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMDAwO2Rpc3BsYXk6YmxvY2t9Lnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6Zm9jdXMtdmlzaWJsZSAueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheSwueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySG9zdDpmb2N1cy13aXRoaW4gLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6aG92ZXIgLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXl7b3BhY2l0eToxfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaHVtYm5haWx7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O2NvbG9yOndoaXRlfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5VGl0bGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjYwcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikgNjAlLHJnYmEoMCwwLDAsMCkpO3BhZGRpbmc6OHB4fS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaXRsZXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweDttYXgtaGVpZ2h0OjM2cHg7Y29sb3I6d2hpdGU7b3ZlcmZsb3c6aGlkZGVufS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJCb3R0b21PdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOndoaXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySWNvbntmaWxsOmN1cnJlbnRDb2xvcjt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O21hcmdpbi1yaWdodDo0cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaXNpYmxle2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiKDEyLDEyLDEyKX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5Jc09ic2N1cmVke3Zpc2liaWxpdHk6aGlkZGVufS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpZGVvTGlzdENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87cGFkZGluZzoxMnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0LC55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzMsMzMsMzMsLjkpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOndoaXRlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjI7Ym94LXNoYWRvdzowIDRweCA0cHggcmdiYSgwLDAsMCwuMjUpfS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnQ6aG92ZXIsLnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTAsNTAsNTApfS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnR7bGVmdDo4cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHR7cmlnaHQ6OHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0l0ZW17cG9zaXRpb246YWJzb2x1dGU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySG9zdHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6N30ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckFjdGlvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7YW5pbWF0aW9uOmFjdGlvbi1mYWRlLW91dCAuNXMgbGluZWFyIDEgbm9ybWFsIGZvcndhcmRzfS55dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4O2ZpbGw6I2ZmZn1Aa2V5ZnJhbWVzIGFjdGlvbi1mYWRlLW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgyKX19Lnl0d1BsYXllclRpbWVEaXNwbGF5SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbn0ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lQ2h1bmtze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZURvdDpiZWZvcmV7Y29udGVudDpcIlwiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjZweDt3aWR0aDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7bWFyZ2luLXJpZ2h0OjRweH0ueXR3UGxheWVyVGltZURpc3BsYXlMaXZlRG90Lnl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZUhlYWQ6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgyMjUsMCw0NSwwLjkpO29wYWNpdHk6MX0ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lRGVsaW1pdGVye2NvbG9yOiNmZmY7bWFyZ2luOjAgNHB4O29wYWNpdHk6Ljd9Lnl0d1BsYXllclRpbWVEaXNwbGF5VGltZVNlY29uZHtvcGFjaXR5Oi43fS55dHdQbGF5ZXJUaW1lRGlzcGxheUNoYXB0ZXJUZXh0e21hcmdpbi1sZWZ0OjhweH0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJBY3Rpb25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b24ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse21hcmdpbjowIDAgMCA4cHh9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQnV0dG9ue292ZXJmbG93OmhpZGRlbjttYXgtd2lkdGg6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3UGxheWVyVGltZURpc3BsYXlDaGV2cm9ue2NvbG9yOiNmZmY7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweDttYXJnaW4tcmlnaHQ6LTRweH0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse2hlaWdodDoyNHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjRweCA2cHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxLjRyZW07YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGwgYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxsIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGlsbHttYXJnaW4tbGVmdDoxNnB4fUBtZWRpYSAobWF4LWhlaWdodDoyMjFweCl7Lnl0d1BsYXllclRpbWVEaXNwbGF5RnVsbHNjcmVlbkNvbnRyb2xzQWx3YXlzT257ZGlzcGxheTpub25lfX0ueXR3UGxheWVyVGltZURpc3BsYXlTY3JlZW5SZWFkZXJPbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlIb3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvcGFjaXR5OjB9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uQmFja3tsZWZ0OjQ4cHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZHtyaWdodDo0OHB4fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUR1cmF0aW9ue2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDAuOCk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uQmFjayAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd3ttYXJnaW4tcmlnaHQ6MjBweH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3cgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dTdmd7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BhdGh7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAuNXB4IHJnYmEoMCwwLDAsMC44KSl9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0ueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd0FkZGl0aW9uYWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2xhdGU6MCAtNTAlfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2sgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFse2xlZnQ6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbHtyaWdodDowfS55dHdQbGF5ZXJFbmRzY3JlZW5Ib3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckVuZHNjcmVlbkNvbnRhaW5lcntjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW57cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjojMDAwO3BhZGRpbmc6OHB4IDE2cHg7bWFyZ2luOjAgYXV0bztkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW5bZGF0YS1oYXMtdGltZXItY291bnRkb3duPXRydWVde3BhZGRpbmc6OHB4fX1bZGlyPXJ0bF0gLnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17ZGlyZWN0aW9uOnJ0bH0ueXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5Ub3BQYW5lbHtkaXNwbGF5Om5vbmV9fS55dHdQbGF5ZXJFbmRzY3JlZW5IZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjE2cHh9Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7bWFyZ2luLWJvdHRvbToxMnB4O21hcmdpbi10b3A6NHB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjhweH19Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bk51bWJlcntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRWaWRlb0NvbnRhaW5lcjpmaXJzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MTJweH0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXl7d2lkdGg6NTAlO2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA2cHgpO3Bvc2l0aW9uOnJlbGF0aXZlfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5e2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA0cHgpfX0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXk+Lnl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbENvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX0ueXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsT3ZlcmxheXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZve3dpZHRoOjUwJTtmbGV4LWJhc2lzOmNhbGMoNTAlIC0gNnB4KX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0luZm97ZmxleC1iYXNpczpjYWxjKDUwJSAtIDRweCl9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle21heC1oZWlnaHQ6NHJlbTtjb2xvcjojZmZmO21hcmdpbi1ib3R0b206NHB4fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0F1dGhvcntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXR3UGxheWVyRW5kc2NyZWVuQnV0dG9uQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9ue3dpZHRoOjEwMCV9Lnl0d1BsYXllckVuZHNjcmVlbkFjdGlvbkJ1dHRvbj46Zmlyc3QtY2hpbGR7d2lkdGg6MTAwJX0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uOmZpcnN0LWNoaWxke21hcmdpbi1yaWdodDoxMnB4fS55dG1DdXN0b21Db250cm9sSG9zdHtkaXNwbGF5OmJsb2NrfS55dG1DdXN0b21Db250cm9sSG9zdCA6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjM2VhNmZmfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3R7Y29sb3I6I2ZmZjtwYWRkaW5nOjEycHggMCAwIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO3RvcDo1MnB4O21pbi13aWR0aDoxMzBweDttYXgtd2lkdGg6bWluKDUwJSAtIDY0cHgsMjcycHgpfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RBdXRvaGlkZXthbmltYXRpb246ZmFkZSAzcyBlYXNlLWluIDEwcyBmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzfUBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzozLzQpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RUb3BDb250cm9sc1N0YWNrZWRJblBvcnRyYWl0e3RvcDoxMTJweH19Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySGlkZGVue2Rpc3BsYXk6bm9uZX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJCdXR0b257LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmxlZnQ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyVGV4dHtmb250LXNpemU6MS4zcmVtO3BhZGRpbmctbGVmdDo4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlclRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e21heC1oZWlnaHQ6NHJlbX1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS55dEVtYmVkc0luZm9QYW5lbERldGFpbHNWaWV3TW9kZWxCb2R5VGV4dHtwYWRkaW5nOjAgMTJweCAxMnB4IDEycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRBdXRvY3JvcEJ1dHRvbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO21hcmdpbi10b3A6NjBweH0ueXRBdXRvY3JvcEJ1dHRvblZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS55dEF1dG9jcm9wQnV0dG9uSGlkZGVue3Zpc2liaWxpdHk6aGlkZGVufS55dEF1dG9jcm9wQnV0dG9uQXV0b0Nyb3BCdXR0b257Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLXJhZGl1czoxOHB4fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3R7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdy14OmF1dG99QG1lZGlhIG5vdCAocG9pbnRlcjpmaW5lKXsueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0ey1tcy1vdmVyZmxvdy1zdHlsZTpub25lO3Njcm9sbGJhci13aWR0aDpub25lfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX19QG1lZGlhIChwb2ludGVyOmZpbmUpey55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3R7b3ZlcmZsb3cteTphdXRvfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjojNjA2MDYwfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzkwOTA5MH19Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zUmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweDtjb2xvcjojZmZmfS55dHdQbGF5ZXJGdWxsc2NyZWVuQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckZ1bGxzY3JlZW5Ub3BDb250cm9sc0hvc3R7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ29udHJvbHNWaWRlb1RpdGxle21hcmdpbjowO2NvbG9yOiNmZmZ9Lnl0d1BsYXllckZ1bGxzY3JlZW5Ub3BDb250cm9sc0Z1bGxzY3JlZW5DbG9zZUJ1dHRvbldyYXBwZXJ7bWFyZ2luLXRvcDotOHB4O21hcmdpbi1sZWZ0OmF1dG99Lnl0bVBhaWRDb250ZW50T3ZlcmxheUhvc3R7Y29sb3I6I2ZmZjthbmltYXRpb246ZmFkZSAzcyBlYXNlLWluIDIwcyBmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO3BhZGRpbmc6MTJweCAwIDEycHggMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRtUGFpZENvbnRlbnRPdmVybGF5SGlkZGVue2Rpc3BsYXk6bm9uZX0ueXRtUGFpZENvbnRlbnRPdmVybGF5TGlua3stbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICMzZWE2ZmY7Ym9yZGVyLXJhZGl1czo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjMxMnB4O3BhZGRpbmc6OHB4O3RleHQtZGVjb3JhdGlvbjpub25lfS55dG1QYWlkQ29udGVudE92ZXJsYXlUZXh0e2ZvbnQtc2l6ZToxLjNyZW07cGFkZGluZy1sZWZ0OjhweH1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS5wbGF5ZXItY29udHJvbHMtYm90dG9te2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTozMHB4O3otaW5kZXg6MjtoZWlnaHQ6NDRweH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAucGxheWVyLWJvdHRvbS1jb250cm9scy1mdWxsc2NyZWVuLWljb24tdmlzaWJsZS1hcmVhey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO3BhZGRpbmc6NnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAucGxheWVyLWJvdHRvbS1jb250cm9scy1mdWxsc2NyZWVuLWljb24tdmlzaWJsZS1hcmVhIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSBzdmd7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS5wbGF5ZXItY29udHJvbHMtYm90dG9tLnBsYXllci1jb250cm9scy1ib3R0b20tbGVmdHtsZWZ0OjEycHg7cmlnaHQ6NzhweH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e3JpZ2h0OjI0cHh9LnBsYXllci1jb250cm9scy1ib3R0b20gLmljb24tYnV0dG9uLmZ1bGxzY3JlZW4taWNvbntkaXNwbGF5OmJsb2NrOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4fWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIC5wbGF5ZXItY29udHJvbHMtYm90dG9te2JvdHRvbTo0NHB4fWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scyAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NzRweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC5wbGF5ZXItY29udHJvbHMtYm90dG9te2JvdHRvbTo5NHB4fS55dHdQbGF5ZXJNaWRkbGVDb250cm9sc0hvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ei1pbmRleDo2fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZS5wcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbnt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cGFkZGluZzo2cHg7Ym9yZGVyLXJhZGl1czoyNHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24+YzMtaWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cGFkZGluZzo2cHg7YmFja2dyb3VuZDpub25lfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIGMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MzZweDt3aWR0aDozNnB4O3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSBzdmd7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24uZW5kc2NyZWVuLXJlcGxheS1idXR0b257aGVpZ2h0OmF1dG87d2lkdGg6YXV0bztib3JkZXItcmFkaXVzOjU2cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5pY29uLWJ1dHRvbi5lbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbj5jMy1pY29ue2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7cGFkZGluZzo4cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24uaWNvbi1idXR0b257aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXJhZGl1czo1MCV9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24uaWNvbi1idXR0b24+YzMtaWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O3BhZGRpbmc6dW5zZXR9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5lbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbi5pY29uLWJ1dHRvbix5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1jb250cm9sLXBsYXktcGF1c2UtaWNvbnttYXJnaW46MCAzNHB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuc2NyZWVucmVhZGVyLXNhZmUtaGlkZS1taWRkbGUtYnV0dG9uc3twb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1jb250cm9scy1zcGlubmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfVtkaXI9cnRsXSB5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGU6bm90KC5wcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbil7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlLWNvcmUtYnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlyZWN0aW9uOmx0cn0ueXRtVmlkZW9JbmZvSG9zdHstbW96LWJveC1mbGV4OjE7ZmxleDoxO292ZXJmbG93OmhpZGRlbjttaW4td2lkdGg6MH0ueXRtVmlkZW9JbmZvVmlkZW9EZXRhaWxzQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctbGVmdDoxMnB4O21pbi1oZWlnaHQ6NS4ycmVtfS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dG1WaWRlb0luZm9WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDB9fS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy10b3A6MTBweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfVtkaXI9cnRsXSAueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfS55dG1WaWRlb0luZm9DaGFubmVsVGl0bGV7bWF4LXdpZHRoOjEwMCU7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6MTtsaW5lLWhlaWdodDoxLjF9Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXJ7bWluLWhlaWdodDozNnB4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNmZmY7bWFyZ2luLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjB9Lnl0bVZpZGVvSW5mb0xvZ29FbmFibGVke3BhZGRpbmctbGVmdDo1MnB4fS55dG1WaWRlb0luZm9DaGFubmVsTG9nb3t3aWR0aDozNnB4O2hlaWdodDozNnB4O2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjEycHg7bWFyZ2luLXRvcDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDo3O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS55dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVye2hlaWdodDo1LjJyZW07cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO21pbi13aWR0aDo1MnB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxMnB4KTttYXJnaW46NHB4O21hcmdpbi10b3A6OHB4O292ZXJmbG93OmhpZGRlbn1bZGlyPXJ0bF0gLnl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXJ7bGVmdDphdXRvO3JpZ2h0OjB9Lnl0bVZpZGVvSW5mb092ZXJsYXl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpO21hcmdpbi1sZWZ0OjRweDtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eTowO21heC13aWR0aDowO3BhZGRpbmctbGVmdDo1MnB4O3BhZGRpbmctcmlnaHQ6MTBweDt6LWluZGV4OjU7cG9zaXRpb246cmVsYXRpdmV9Lnl0bVZpZGVvSW5mb0V4cGFuZGVke29wYWNpdHk6MTttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvQ2hhbm5lbEluZm97ZGlzcGxheTpibG9jaztwYWRkaW5nLXJpZ2h0OjhweDstbW96LWJveC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToycHg7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZXtmb250LXNpemU6MS4ycmVtO2NvbG9yOiNmZmY7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS55dG1WaWRlb0luZm9TdWJzY3JpYmVCdXR0b257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuaXMtc3Vic2NyaWJlZCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVZpZGVvSW5mb0hpZGUsLnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtkaXNwbGF5Om5vbmV9Lnl0bVZpZGVvSW5mb0xpbms6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1NdXRlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRtTXV0ZUJ1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT2ZmLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25Pbnt3aWR0aDozNnB4O2hlaWdodDoxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYgc3ZnLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjM2cHg7aGVpZ2h0OjE0cHh9Lnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2xlZnQ6MjJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fVtkaXI9cnRsXSAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2xlZnQ6NnB4fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uUGF1c2VJY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7bGVmdDo2cHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH1bZGlyPXJ0bF0gLnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb257bGVmdDoyMnB4fS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2NvbG9yOiNmZmZ9Lnl0d1BsYXllclRvcENvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0ey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNCYWNrZ3JvdW5kQWN0aW9uSXRlbXN7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyfXl0bS1ub3RpZmljYXRpb24tYWN0aW9uLXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7cGFkZGluZy1yaWdodDoxcmVtfS5ub3RpZmljYXRpb24tYWN0aW9uLWJ1dHRvbntmbGV4LXNocmluazowfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEycHg7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4fS5ib3R0b20tc2hlZXQtc2hhcmUtaXRlbSAudW5pZmllZC1zaGFyZS11cmwtaW5wdXR7aGVpZ2h0OjQ4cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5zaGFyZS10YXJnZXQtbGlua3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTJweH0uYm90dG9tLXNoZWV0LXNoYXJlLWl0ZW0gLnNoYXJlLXRhcmdldC1saW5re3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2hlaWdodDo0OHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9ZnVsbHNjcmVlbi1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO292ZXJmbG93OnNjcm9sbDt6LWluZGV4OjR9c2VudGluZWx7fSIpOwp0aGlzLmRlZmF1bHRfYmFzZT10aGlzLmRlZmF1bHRfYmFzZXx8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpczsKdHJ5ewpfLkN0PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5zZXJ2aWNlSWQ9bmV3IF8uTnIoYSxiKX10b1N0cmluZygpe3JldHVybiB0aGlzLnNlcnZpY2VJZC50b1N0cmluZygpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIml1VDVPYyIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgd3Q7Xy52dD1mdW5jdGlvbihhLGIpe3JldHVybiBhPT1iPyEwOmEmJmI/YS53aWR0aD09Yi53aWR0aCYmYS5oZWlnaHQ9PWIuaGVpZ2h0OiExfTtfLnh0PWZ1bmN0aW9uKGEsYil7Yi5oYXNPd25Qcm9wZXJ0eSgiZGlzcGxheU5hbWUiKXx8KGIuZGlzcGxheU5hbWU9YS50b1N0cmluZygpKTtiW3d0XT1hfTt3dD1TeW1ib2woIklhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSWU9ZnVuY3Rpb24oKXt0aGlzLmlkPSJiIn07Xy5JZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZH07Xy5GdD1uZXcgXy5OcigiTXBKd1pjIiwiTXBKd1pjIik7dmFyIEd0O0d0PW5ldyBfLkllO18uSHQ9Y2xhc3MgZXh0ZW5kcyBfLkple2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoR3QsYSk7dGhpcy5ub2RlPWE7dGhpcy5raW5kPWJ9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCi8qCgogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQoqLwp2YXIgQUEsQkEsREEsV2FhLFhhYSxPQSxQQSwkYWEsYWJhLFNBLFRBLGRiYSxlYmEsZmJhLGRCLGdiYSxqYmEsa2JhLGhCLGtCLGxCLHJCLHNCLHRCLHVCLHZCLHdCLG5iYSxwYmEsb2JhLEVCLHNiYSxEQixGQixIQix0YmEsdWJhLHZiYSxRQixTQixUQix3YmEsYUMsWUIsY0MsVUIsZUMsaEMsaUMsa0MseWJhLHpiYSxBYmEsc0MsdkMsRGJhLHpDLENDLEZiYSxHYmEsRWJhLFZhYSxLQSxvQztfLnlBPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmZiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O18uekE9ZnVuY3Rpb24oYSxiKXtpZihhLm5vZGVUeXBlPT09MSYmL14oc2NyaXB0fHN0eWxlKSQvaS50ZXN0KGEudGFnTmFtZSkpdGhyb3cgRXJyb3IoImgiKTthLmlubmVySFRNTD1fLnlBKGIpfTtBQT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9O2ZvcihsZXQgZCBpbiBhKWNbZF09Yi5jYWxsKHZvaWQgMCxhW2RdLGQsYSk7cmV0dXJuIGN9OwpfLkl0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIk1hIik7fTtCQT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDthPV8uWHQoXy5lZChhLDIsdm9pZCAwLF8uRHYpKTtyZXR1cm4gYT09PW51bGx8fGE9PT12b2lkIDA/bnVsbDpfLmdiKGEpfTtfLkNBPWZ1bmN0aW9uKGE9Myl7dmFyIGI9Xy5adDtpZighYil7c3dpdGNoKGEpe2Nhc2UgMDphPUVycm9yKCJSYSIpO2JyZWFrO2Nhc2UgMTphPUVycm9yKCJVYSIpO2JyZWFrO2Nhc2UgMjphPUVycm9yKCJWYSIpO2JyZWFrO2RlZmF1bHQ6YT1FcnJvcigiV2EiKX10aHJvdyBhO31yZXR1cm4gYn07REE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU9iamVjdC5jcmVhdGUoVmFhKTtkLnNvdXJjZT1hO2QuVGc9YjtjIT12b2lkIDAmJihkLmVxdWFsPWMpO2E9KCk9PntfLnJ1KGQpO18ucHUoZCk7aWYoZC52YWx1ZT09PV8uSXYpdGhyb3cgZC5lcnJvcjtyZXR1cm4gZC52YWx1ZX07YVtfLlp1XT1kO3JldHVybiBhfTsKXy5FQT1mdW5jdGlvbihhKXt2YXIgYj1fLmt1KG51bGwpO3RyeXtyZXR1cm4gYSgpfWZpbmFsbHl7Xy5rdShiKX19O1dhYT1mdW5jdGlvbihhKXthPXtbXy5FdV06ITAsZGVidWdOYW1lOmF9OyFfLlp0fHxfLkJ1KGEpO3JldHVybiBhfTtfLkZBPWZ1bmN0aW9uKGEpe3JldHVybiBhLmRlYnVnTmFtZXx8YS5uYW1lfHwiW2NvbXBvbmVudF0ifTtfLkdBPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLkZBKGEpO18uTXU9e25hbWU6Yz9gJHtkfSAoJHtjfSlgOmQsbGo6YS5jb21wb25lbnRUeXBlIT09Xy5LdixwYXJlbnQ6Xy5NdX07YT1iKCk7Xy5NdT1fLk11LnBhcmVudDtyZXR1cm4gYX07Xy5IQT1mdW5jdGlvbigpe3ZhciBhPV8uTXU7cmV0dXJuIGE/YS5sajohMX07Xy5JQT1mdW5jdGlvbihhKXtfLmd2LS07aWYoYSlmb3IobGV0IGIgb2YgXy5ZdiliLmNsZWFyKCk7ZWxzZSBfLmd2PjB8fF8uY3YuaXNGbHVzaGluZyYmIV8uS3UuUml8fF8uanYoKX07Cl8uSkE9ZnVuY3Rpb24oYSxiKXtiPXtjb21wb25lbnRTdGFjazpfLlN1KF8uUHUpLHByOl8uUXU/LnNsaWNlKCk/P1tdLGZoOjMsQWw6Xy5MdSgpLHRhZ05hbWU6Yn07cmV0dXJuW2EsYl19O18uTEE9ZnVuY3Rpb24oKXtpZih0eXBlb2YgS0E9PT0iZnVuY3Rpb24iKXZhciBhPUtBO2Vsc2UgaWYodHlwZW9mIEtBPT09Im9iamVjdCIpYT1LQS5jb25zdHJ1Y3RvcjtlbHNlIHRocm93IEVycm9yKHZvaWQgMCk7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfTtYYWE9ZnVuY3Rpb24oKXtpZighXy51Py5TeW1ib2w/LmZvcilyZXR1cm4gbmV3IFdlYWtNYXA7dmFyIGE9U3ltYm9sLmZvcigiZ29vZ2xlLmdvZW0iKSxiPV8udVthXTtpZihiKXJldHVybiBiO2I9bmV3IFdlYWtNYXA7cmV0dXJuIF8udVthXT1ifTsKT0E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnRhZ05hbWUsZD1hLnRhZ05hbWU7YT1NQS5oYXMoZCkmJiFZYWEuaGFzKGQpOygoYj1NQS5oYXMoYykpfHxhKSYmYSYmIWImJk5BLmhhcyhjLnRvTG93ZXJDYXNlKCkpJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiSWJgIitjKyJgIitkKSwyLGMpO30pfTtQQT1mdW5jdGlvbigpe307Xy5RQT1mdW5jdGlvbihhLGIsYyl7aWYoYz09bnVsbClhLnJlbW92ZUF0dHJpYnV0ZShiKTtlbHNle3ZhciBkOyhkPWIubGFzdEluZGV4T2YoInhtbDoiLDApPT09MD8iaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIjpiLmxhc3RJbmRleE9mKCJ4bGluazoiLDApPT09MD8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI6bnVsbCk/YS5zZXRBdHRyaWJ1dGVOUyhkLGIsYyk6YS5zZXRBdHRyaWJ1dGUoYixjKX19OwokYWE9ZnVuY3Rpb24oYSxiLGMpe2E9YS5zdHlsZTtpZih0eXBlb2YgYz09PSJzdHJpbmciKWEuY3NzVGV4dD1jO2Vsc2V7YS5jc3NUZXh0PSIiO2ZvcihsZXQgZiBpbiBjKWlmKFphYS5jYWxsKGMsZikpe2I9YTt2YXIgZD1mLGU9Y1tmXTtkLmluZGV4T2YoIi0iKT49MD9iLnNldFByb3BlcnR5KGQsZSk6YltkXT1lfX19O2FiYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dHlwZW9mIGM7ZD09PSJvYmplY3QifHxkPT09ImZ1bmN0aW9uIj9hW2JdPWM6Xy5RQShhLGIsYyl9O1NBPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IFBBO2FbXy5SQS5kZWZhdWx0XT1hYmE7YS5zdHlsZT0kYWE7cmV0dXJuIGF9O1RBPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGI9PWMmJmQ9PWV9O18uWEE9ZnVuY3Rpb24oKXtmb3IodmFyIGE9Xy5VQSxiPV8uVkEoKTtiIT09bnVsbDspe2xldCBjPWIubmV4dFNpYmxpbmc7YS5yZW1vdmVDaGlsZChiKTtfLldBLmRlbGV0ZWQucHVzaChiKTtiPWN9fTsKXy5WQT1mdW5jdGlvbigpe3JldHVybiBfLllBP18uWUEubmV4dFNpYmxpbmc6Xy5VQS5maXJzdENoaWxkfTsKZGJhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLldBLGU9Xy5aQSxmPV8uJEEsaD1fLmFCLGs9Xy5ZQSxsPV8uVUEsbT1fLmJCO18uWkE9YS5vd25lckRvY3VtZW50O18uV0E9bmV3IGJiYShhKTtfLmJCPWI7Xy5hQj1bXTtfLllBPW51bGw7Yj1fLlVBPWEucGFyZW50Tm9kZTt2YXIgbj1jYmEuY2FsbChhKTtpZigobj1uLm5vZGVUeXBlPT09MTF8fG4ubm9kZVR5cGU9PT05P24uYWN0aXZlRWxlbWVudDpudWxsKSYmYS5jb250YWlucyhuKSl7Zm9yKGE9W107biE9PWI7KWEucHVzaChuKSxuPW4ucGFyZW50Tm9kZXx8KGI/bi5ob3N0Om51bGwpO2I9YX1lbHNlIGI9W107Xy4kQT1iO3RyeXtyZXR1cm4gYygpfWZpbmFsbHl7Yz1fLldBLF8uY0ImJmMuZGVsZXRlZC5sZW5ndGg+MCYmKDAsXy5jQikoYy5kZWxldGVkKSxfLlpBPWUsXy5XQT1kLF8uYkI9bSxfLmFCPWgsXy5ZQT1rLF8uVUE9bCxfLiRBPWZ9fTsKZWJhPWZ1bmN0aW9uKGEsYj17fSl7dmFyIHttYXRjaGVzOmM9VEF9PWI7cmV0dXJuKGQsZSxmKT0+ZGJhKGQsYywoKT0+YShkLGUsZikpfTtmYmE9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7Zm9yKHZhciBiPShkLGUsZik9Pnt2YXIgaD1NYXRoLm1pbihlLmxlbmd0aC1mLGQubGVuZ3RoKTtmb3IobGV0IGw9MDtsPGg7bCsrKXt2YXIgaz1lW2YrbF07aWYoZFtsXSE9PSgiQSI8PWsmJms8PSJaIj9rLnRvTG93ZXJDYXNlKCk6aykpcmV0dXJuITF9cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoIjwiLGMpKSE9LTE7KXtpZihiKCJceDNjL3NjcmlwdCIsYSxjKXx8YigiXHgzYyEtLSIsYSxjKSlyZXR1cm4ielNveXoiO2MrPTF9cmV0dXJuIGF9OwpkQj1mdW5jdGlvbihhKXtpZihhLmlzQ29ubmVjdGVkIT09dm9pZCAwKXJldHVybiBhLmlzQ29ubmVjdGVkO3ZhciBiPWEub3duZXJEb2N1bWVudDtpZighYilyZXR1cm4gYT09PWRvY3VtZW50O2lmKHR5cGVvZiBiLmNvbnRhaW5zPT09ImZ1bmN0aW9uIilyZXR1cm4gYi5jb250YWlucyhhKTtmb3IoO2E7KXtpZihhPT09YilyZXR1cm4hMDthPWEucGFyZW50Tm9kZX1yZXR1cm4hMX07Z2JhPWZ1bmN0aW9uKGEsYj0hMSl7dmFyIGM9Xy5DQSgpLGQ9Xy5NdTtyZXR1cm4gZT0+e3ZhciBmPSExLGg9ZS5jdXJyZW50VGFyZ2V0O2gmJihmPSFkQihoKXx8YiYmaFtlQl09PT0hMCk7dmFyIGs9Yz8uaWEsbD1iJiZoJiZoW2VCXT09PSEwO2lmKGZ8fGspe2lmKGgmJmRCKGgpJiYoa3x8bCkpdGhyb3cgXy5VdShFcnJvcigia2MiKSw0KTt9ZWxzZXt2YXIgbT0oKT0+YShlKTt0cnl7Xy5SdSgoKT0+Xy5FQShtKSxkKX1jYXRjaChuKXtfLm92KG4sYyl9fX19OwpfLmdCPWZ1bmN0aW9uKGEsYixjKXtpZihPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChmQixhKSYmKGE9ZkJbYV0sT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoYSxiKSYmKGE9YVtiXSxhIGluc3RhbmNlb2YgQXJyYXkpKSl7bGV0IGU9bnVsbCxmPSExO2ZvcihsZXQgaD0wLGs9YS5sZW5ndGg7aDxrOysraCl7bGV0IGw9YVtoXTt2YXIgZD1sLmliO2lmKCFkKXJldHVybiBsLmthO2U9PT1udWxsJiYoZT17fSk7ZD1PYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChlLGQpP2VbZF06ZVtkXT1jKGQpO2lmKGQ9PT1sLm5iKXJldHVybiBsLmthO2Q9PW51bGwmJihmPSEwKX1pZihmKXJldHVybiBudWxsfWI9aGJhW2JdO3JldHVybiB0eXBlb2YgYj09PSJudW1iZXIiP2I6bnVsbH07CmpiYT1mdW5jdGlvbihhLGIpe2I9Xy5nQihhLnRvTG93ZXJDYXNlKCksYiwoKT0+e3Rocm93IF8uVXUoRXJyb3IoIm1jIiksNCxhLnRvTG93ZXJDYXNlKCkpO30pO3JldHVybiBiPT09bnVsbD9udWxsOmliYVtiXT8/bnVsbH07a2JhPWZ1bmN0aW9uKGEsYixjKXtpZihjPT09bnVsbHx8Yz09PXZvaWQgMClyZXR1cm4gYztiPWIudG9Mb3dlckNhc2UoKTthPWpiYShhLGIpO3JldHVybiBhPT09bnVsbD9jOmEoYixjKX07aEI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1XYWEoYik7Yj1fLiR0KGMpO3RyeXthKGMpfWZpbmFsbHl7Xy4kdChiKX1yZXR1cm4oKT0+dm9pZCBfLkN1KGMpfTtfLmlCPWZ1bmN0aW9uKGEpe3JldHVybiBfLkFhKGEpPyJub2RlVHlwZSJpbiBhOiExfTtfLmpCPWZ1bmN0aW9uKGEpe3JldHVybiBfLmlCKGEpJiZhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREV9O2tCPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKX07CmxCPWZ1bmN0aW9uKGEpe2E9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGEpKTthLl9pc1NpZ25hbFRleHROb2RlPSEwO3JldHVybiBhfTtfLm9CPWZ1bmN0aW9uKGEpe3JldHVybiBhIT1udWxsJiZhLkdpPT09Xy5tQnx8YSBpbnN0YW5jZW9mIF8uZmJ8fG5CKGEpfTtfLnBCPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG5CKGEpJiZCQShhKSlfLnpBKGIsQkEoYSkpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uZmIpXy56QShiLGEpO2Vsc2UgaWYoYSE9bnVsbCYmYS5HaT09PV8ubUIpe2lmKGEuR2khPT1fLm1CKXRocm93IEVycm9yKCJOYSIpO2E9Xy5nYihhLnRvU3RyaW5nKCkpO18uekEoYixhKX1mb3IobGV0IGMgb2YgYi5jaGlsZE5vZGVzKWMuX2lzU2FmZU9yU2FuaXRpemVkSHRtbE5vZGU9ITA7cmV0dXJuIGJ9OwpfLnFCPWZ1bmN0aW9uKGEpe2E9dHlwZW9mIGE7cmV0dXJuIGE9PT0ic3RyaW5nInx8YT09PSJudW1iZXIifHxhPT09ImJvb2xlYW4ifTtyQj1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uU2F8fF8uWGEoYSl8fCExfTtzQj1mdW5jdGlvbihhLGIpe3ZhciBjPWEucGFyZW50RWxlbWVudDtpZighYylyZXR1cm4gYjtfLmpCKGIpJiZPQShjLGIpO2MucmVwbGFjZUNoaWxkKGIsYSk7cmV0dXJuIGJ9O3RCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YVswXS5wYXJlbnRFbGVtZW50O2lmKGMpaWYoYVswXS5wcmV2aW91c1NpYmxpbmd8fGFbYS5sZW5ndGgtMV0ubmV4dFNpYmxpbmcpe2MuaW5zZXJ0QmVmb3JlKGIsYVswXSk7Zm9yKGxldCBkPWEubGVuZ3RoLTE7ZD49MDtkLS0pYy5yZW1vdmVDaGlsZChhW2RdKX1lbHNlIGMudGV4dENvbnRlbnQ9IiIsYy5hcHBlbmRDaGlsZChiKTtyZXR1cm4gYn07CnVCPWZ1bmN0aW9uKGEsYil7aWYoYVswXS5wYXJlbnRFbGVtZW50KXt2YXIgYz1hWzBdLnBhcmVudEVsZW1lbnQ7bGV0IGY9Yi5sZW5ndGgsaD1hLmxlbmd0aCxrPWYsbD0wLG09MCxuPWFbaC0xXS5uZXh0U2libGluZyxwPW51bGw7Zm9yKDtsPGh8fG08azspaWYoYVtsXT09PWJbbV0pbCsrLG0rKztlbHNle2Zvcig7YVtoLTFdPT09YltrLTFdOyloLS0say0tO2lmKGg9PT1sKWZvcih2YXIgZD1rPGY/bT9iW20tMV0ubmV4dFNpYmxpbmc6YltrLW1dOm47bTxrOyl7dmFyIGU9YlttKytdO18uakIoZSkmJk9BKGMsZSk7Yy5pbnNlcnRCZWZvcmUoZSxkKX1lbHNlIGlmKGs9PT1tKWZvcig7bDxoOylkPWFbbF0scCYmcC5oYXMoZCl8fGMucmVtb3ZlQ2hpbGQoZCksbCsrO2Vsc2UgaWYoYVtsXT09PWJbay0xXSYmYlttXT09PWFbaC0xXSlkPWFbLS1oXS5uZXh0U2libGluZyxjLmluc2VydEJlZm9yZShiW20rK10sYVtsKytdLm5leHRTaWJsaW5nKSxjLmluc2VydEJlZm9yZShiWy0ta10sZCksCmFbaF09YltrXTtlbHNle2lmKCFwKWZvcihwPW5ldyBNYXAsZD1tO2Q8azspcC5zZXQoYltkXSxkKyspO2Q9cC5nZXQoYVtsXSk7aWYoZD09bnVsbCljLnJlbW92ZUNoaWxkKGFbbF0pLGwrKztlbHNlIGlmKG08ZCYmZDxrKXtlPWw7bGV0IHI9MSx0O2Zvcig7KytlPGgmJmU8azspe3Q9cC5nZXQoYVtlXSk7aWYodD09bnVsbHx8dCE9PWQrcilicmVhaztyKyt9aWYocj5kLW0pZm9yKGU9YVtsXTttPGQ7KWMuaW5zZXJ0QmVmb3JlKGJbbSsrXSxlKTtlbHNlIGMucmVwbGFjZUNoaWxkKGJbbSsrXSxhW2wrK10pfWVsc2UgbCsrfX19cmV0dXJuIGJ9O3ZCPWZ1bmN0aW9uKGEpe2lmKCFBcnJheS5pc0FycmF5KGEpKXJldHVybiBhPy5wYXJlbnRFbGVtZW50O2ZvcihsZXQgYiBvZiBhKWlmKGE9dkIoYikpcmV0dXJuIGE7cmV0dXJuIG51bGx9O3dCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5fZGlzcG9zZUVmZmVjdHM7YS5fZGlzcG9zZUVmZmVjdHM9Yz8oKT0+e2MoKTtiKCl9OmJ9OwpfLnpCPWZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYz09PSJib29sZWFuIiYmbGJhLmhhcyhiKSlfLlFBKGEsYixTdHJpbmcoYykpO2Vsc2UgaWYoYz09PSExJiZtYmEuaGFzKGIpKV8uUUEoYSxiLG51bGwpO2Vsc2UgaWYoYiE9PSJpZG9tS2V5IiYmYiE9PSJza2lwIiYmYiE9PSJza2lwY2hpbGRyZW4iJiZiIT09ImNoaWxkcmVuIiYmYiE9PSJlbCIpaWYoYi5zdGFydHNXaXRoKCJvbiIpKXtpZihiWzJdIT09IjoiKXRocm93IF8uVXUoRXJyb3IoImxjYCIrYiksNCxhLnRhZ05hbWUpO2xldCBmPWIuc2xpY2UoMyk7dmFyIGQ9Xy5IQSgpO2lmKGM9PT12b2lkIDApZHx8Zj09PSJqc2FjdGlvbiJ8fHhCLmluY2x1ZGVzKGYpfHwoYVtgb24ke2Z9YF09bnVsbCk7ZWxzZSBpZihmPT09ImpzYWN0aW9uIil7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO2ZvcihsZXQgaCBvZiBjKXtpZih0eXBlb2YgaCE9PSJvYmplY3QifHxoPT09bnVsbHx8dHlwZW9mIGgucW4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJzY2AiKwpiKTtoLnFuKDAsYSxkP18uWXU6KCk9Pnt9KX19ZWxzZXtpZih0eXBlb2YgYz09PSJmdW5jdGlvbiIpe2R8fGFbZUJdIT09dm9pZCAwfHwoYVtlQl09ITEsd0IoYSwoKT0+e2FbZUJdPSEwfSkpO3ZhciBlPWdiYShjLCFkKX1lbHNle25iYShiLGMpO2lmKGMucW4pe2MucW4oMCxhLGYsZD9fLll1OigpPT57fSk7cmV0dXJufWU9Yy5VcCgwKX1pZihkJiZhW2BvbiR7Zn1gXT09PXZvaWQgMClhLmFkZEV2ZW50TGlzdGVuZXIoZixlKSxfLll1KCgpPT52b2lkIGEucmVtb3ZlRXZlbnRMaXN0ZW5lcihmLGUpKTtlbHNlIGlmKGR8fCF4Qi5pbmNsdWRlcyhmKSlhW2BvbiR7Zn1gXT1lfX1lbHNle2lmKGIuc3RhcnRzV2l0aCgiZGF0YS0iKSYmdHlwZW9mIGM9PT0ic3RyaW5nIil0cnl7Yz1mYmEoYyl9Y2F0Y2goZil7Yz0ielNveXoifXR5cGVvZiBjIT09ImZ1bmN0aW9uInx8YS5fZGlzcG9zZUVmZmVjdHMhPW51bGw/KChkPWIuc3RhcnRzV2l0aCgicHJvcDoiKSkmJihiPWIuc2xpY2UoNSkpLGI9PT0KInN0eWxlIj9fLkhBKCk/dHlwZW9mIGM9PT0ib2JqZWN0IiYmYyE9PW51bGw/b2JhKGEsYyk6eUIoYSxiLGMpOnlCKGEsYixjKTooXy5LdS55diYmKGQmJnBiYShhLnRhZ05hbWUpfHwoYz1rYmEoYS50YWdOYW1lLGIsYykpKSxkP2FbYl09YzpxYmEoYSxiLGMpKSk6KGEuX3NpZ25hbFByb3BzfHwoYS5fc2lnbmFsUHJvcHM9W10pLGEuX3NpZ25hbFZhbHVlc3x8KGEuX3NpZ25hbFZhbHVlcz1bXSksYS5fc2lnbmFsUHJvcHMucHVzaChiKSl9fTtfLkFCPWZ1bmN0aW9uKGEsYix7bGo6Y309e30pe2lmKGI/LmVsKXtsZXQgZD1iLmVsO2QubXo/LihhKTthLl9kaXNwb3NlUmVmfHwoYS5fZGlzcG9zZVJlZj0oKT0+e2QudXo/LigpO2RlbGV0ZSBhLl9kaXNwb3NlUmVmfSxjJiZfLll1KCgpPT57YS5fZGlzcG9zZVJlZj8uKCl9KSl9fTsKbmJhPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIhPT0ib2JqZWN0Inx8Yj09PW51bGwpdGhyb3cgXy5VdShFcnJvcigicWNgIithKyJgIit0eXBlb2YgYiksNCk7aWYodHlwZW9mIGIuVXAhPT0iZnVuY3Rpb24iKXRocm93IF8uVXUoRXJyb3IoInJjYCIrYSsiYCIrT2JqZWN0LmtleXMoYikpLDQpO307cGJhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxlbmd0aD4wJiZhLmluY2x1ZGVzKCItIikmJiFyYmEuaW5jbHVkZXMoYS50b0xvd2VyQ2FzZSgpKX07Cm9iYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uWnQsZD1hW0JCXSxlPWFbQ0JdO2lmKGUpZm9yKHZhciBmIG9mIHNiYShlLGIpKURCKGQsZiksRUIoYS5zdHlsZSxmLG51bGwpO2U9bmV3IFNldDtmb3IobGV0IGggaW4gYil7aWYoIWIuaGFzT3duUHJvcGVydHkoaCkpY29udGludWU7ZS5hZGQoaCk7bGV0IGs9YltoXTtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiImJmMpe2lmKCFkKXtkPW5ldyBNYXA7bGV0IGw9YVtCQl09ZDt3QihhLCgpPT57Zm9yKGxldCBtIG9mIGwudmFsdWVzKCkpbSgpO2wuY2xlYXIoKX0pfURCKGQsaCk7Zj1fLnV2KCgpPT57Xy50digoKT0+e3ZhciBsPWsoKTtFQihhLnN0eWxlLGgsbCl9LCJRRHpISmUiKX0pO2Quc2V0KGgsZil9ZWxzZSBEQihkLGgpLEVCKGEuc3R5bGUsaCxrKX1hW0NCXT1lfTsKRUI9ZnVuY3Rpb24oYSxiLGMpe2M9PW51bGx8fGM9PT0hMT9iLnN0YXJ0c1dpdGgoIi0tIil8fGIuaW5jbHVkZXMoIi0iKT9hLnJlbW92ZVByb3BlcnR5KGIpOmFbYl09IiI6Yi5zdGFydHNXaXRoKCItLSIpfHxiLmluY2x1ZGVzKCItIik/YS5zZXRQcm9wZXJ0eShiLFN0cmluZyhjKSk6YVtiXT1jfTtzYmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKGxldCBjIG9mIGEpYyBpbiBifHwoeWllbGQgYyl9KCl9O0RCPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9YS5nZXQoYik7YyYmKGMoKSxhLmRlbGV0ZShiKSl9fTtGQj1mdW5jdGlvbihhKXtyZXR1cm4oMCxfLnFyKShhKSYmIl9fd2l6X1JxTVlNImluIGF9O18uR0I9ZnVuY3Rpb24oYSl7cmV0dXJuIEZCKGEpP2EuX193aXpfUnFNWU0uUWU6YX07SEI9ZnVuY3Rpb24oYSxiLC4uLmMpe2I9Yj8/e307cmV0dXJue3R5cGU6YSxwcm9wczpiLGNoaWxkcmVuOmMsW18uTHZdOiEwfX07Xy5JQj1mdW5jdGlvbihhKXtyZXR1cm4gYS5jaGlsZHJlbn07Cl8uTEI9ZnVuY3Rpb24oYSl7dmFyIGI9SkIhPT1IQjtKQj1hP18uS0I6SEI7cmV0dXJuIGJ9O3RiYT1mdW5jdGlvbigpe3ZhciBhPV8uQ0EoMSksYj1fLmN1KGEsXy5NQik7aWYoIV8uYnUoYikpcmV0dXJuIGI7YT1fLmN1KGEsXy5OQik7aWYoIV8uYnUoYSkpcmV0dXJuIGEubncoKX07Xy5QQj1mdW5jdGlvbihhLGIpe2I9PW51bGwmJihiPShfLk9CLnN2Pz9kb2N1bWVudCkuX193aXpkaXNwYXRjaGVyLmFKKCkpO2IuZ2V0KF8uRnQpLm8uZGlzcGF0Y2hFdmVudChuZXcgXy5IdChhLF8ubUIpKX07CnViYT1mdW5jdGlvbihhKXtpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aD4xKXRocm93IF8uVXUoRXJyb3IoInZjYCIrYS5sZW5ndGgrImAiK2EubWFwKFFCKS5qb2luKCIsICIpKSw0LCJTQ1JJUFQiKTthPWFbMF19aWYoYT09bnVsbClyZXR1cm4gbnVsbDtpZighKGEgaW5zdGFuY2VvZiBfLmpiKSl7aWYod2luZG93Py50cnVzdGVkVHlwZXM/LmlzU2NyaXB0KGEpKXRocm93IEVycm9yKCJ1YyIpO2lmKFN0cmluZyhhKS50cmltKCkubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt0aHJvdyBFcnJvcigid2NgIitRQihhKSk7fXJldHVybiBhfTt2YmE9ZnVuY3Rpb24oYSxiKXtiPXViYShiKTtiIT09bnVsbCYmXy5uYihhLGIpfTsKXy5SQj1mdW5jdGlvbihhKXtpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aD4xKXRocm93IF8uVXUoRXJyb3IoInhjYCIrYS5sZW5ndGgrImAiK2EubWFwKFFCKS5qb2luKCIsICIpKSw0LCJTVFlMRSIpO2E9YVswXX1pZihhPT1udWxsfHxTdHJpbmcoYSkudHJpbSgpLmxlbmd0aD09PTApcmV0dXJuIG51bGw7dGhyb3cgRXJyb3IoInljYCIrUUIoYSkpO307UUI9ZnVuY3Rpb24oYSl7cmV0dXJuYCgke3R5cGVvZiBhfSkgJHthIT1udWxsJiZ0eXBlb2YgYT09PSJvYmplY3QiP2EuY29uc3RydWN0b3IubmFtZTp0eXBlb2YgYX0gJHthfWB9O1NCPWZ1bmN0aW9uKCl7fTtUQj1mdW5jdGlvbigpe3JldHVybiBudWxsfTsKXy5YQj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPVVCKCksZD0hMCxlLGY9ISFfLkt1LkpxO2YmJihlPXRiYSgpKTtfLnR2KCgpPT57dmFyIGg9IWQmJmIuV2UmJmYsaz1oP3ZCKGNbMF0pOnZvaWQgMDtkPSExO2IuV2UmJl8uZ3YrKzt2YXIgbD1jWzBdLG09Yy5fX3dpel9ScU1ZTS5RZSxuPV8uTEIoITApO3RyeXtsZXQgdjt0cnl7dj1hKCl9Y2F0Y2goRil7Xy5vdihGKSx2PWtCKCl9bGV0IHo9d2JhKGwsdixjKSxFPV8uVkIudnkoeik/P3o7QXJyYXkuaXNBcnJheShFKXx8KGMuX193aXpfUnFNWU0uUWU9W0VdKTtsZXQgQT1jLl9fd2l6X1JxTVlNLlFlO2lmKG0mJighQXJyYXkuaXNBcnJheShtKXx8bS5sZW5ndGghPT0wKSl7dmFyIHA9QXJyYXkuaXNBcnJheShtKT9tWzBdOm0scj1wW18uV0JdLHQ9cC5fZGlzcG9zZUVmZmVjdHM7cC5fZGlzcG9zZUVmZmVjdHM9dm9pZCAwO3A9QXJyYXkuaXNBcnJheShBKT9BWzBdOkE7cFtfLldCXT1yO3BbXy5XQl0mJihwW18uV0JdLlVxPXA9PT1BPwoxOkEubGVuZ3RoKTtwLl9kaXNwb3NlRWZmZWN0cz10fWNbMF09RTtiLldlJiZfLklBKCExKX1jYXRjaCh2KXt0aHJvdyBiLldlJiZfLklBKCEwKSxfLlV1KHYsNCk7fWZpbmFsbHl7Xy5MQihuKX1oJiZfLlBCKGssZSl9LGIuZGVidWdOYW1lKTtyZXR1cm4gY307CndiYT1mdW5jdGlvbihhLGIsYyl7Zm9yKDt0eXBlb2YgYj09PSJmdW5jdGlvbiI7KWI9YigpO2lmKGI/LltfLkx2XSl0aHJvdyBfLlV1KEVycm9yKCJ6Y2AiK2IudHlwZT8uWmMpLDQsYi50eXBlPy5aYyk7aWYoYT09bnVsbClyZXR1cm4gYj09bnVsbD9rQigpOl8ucUIoYik/bEIoYik6ckIoYik/bEIoYi50b1N0cmluZygpKTpfLmlCKGIpP2I6Yi5sZW5ndGg9PT0wP2tCKCk6WUIoYixjKTtpZihfLmlCKGEpKXtpZihiPT1udWxsKXJldHVybiBzQihhLGtCKCkpO2lmKF8ucUIoYikpcmV0dXJuIGFDKGEsYik7aWYockIoYikpcmV0dXJuIGFDKGEsYi50b1N0cmluZygpKTtpZihfLmlCKGIpKXJldHVybiBzQihhLGIpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gc0IoYSxrQigpKTtiPVlCKGIsYyk7dUIoW2FdLGMuX193aXpfUnFNWU0uUWUpO3JldHVybiBifWE9Xy5iQyhhKTtpZihiPT1udWxsKXJldHVybiB0QihhLGtCKCkpO2lmKF8ucUIoYikpcmV0dXJuIHRCKGEsbEIoYikpO2lmKHJCKGIpKXJldHVybiB0QihhLApsQihiLnRvU3RyaW5nKCkpKTtpZihfLmlCKGIpKXJldHVybiB1QihhLFtiXSlbMF07aWYoYi5sZW5ndGg9PT0wKXJldHVybiB0QihhLGtCKCkpO2I9WUIoYixjKTt1QihhLGMuX193aXpfUnFNWU0uUWUpO3JldHVybiBifTthQz1mdW5jdGlvbihhLGIpe2Eubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9hLnRleHRDb250ZW50IT09U3RyaW5nKGIpJiYoYS50ZXh0Q29udGVudD1TdHJpbmcoYikpOmE9c0IoYSxsQihiKSk7cmV0dXJuIGF9O18uYkM9ZnVuY3Rpb24oYSxiLGM9ITEpe3JldHVybiBjQyhhLGI/P1tdLGMpfTtZQj1mdW5jdGlvbihhLGIpe3ZhciBjPV8uYkMoYSx2b2lkIDAsITApO2lmKGMubGVuZ3RoPT09MClyZXR1cm4ga0IoKTtiLl9fd2l6X1JxTVlNLlFlPWM7cmV0dXJuIGF9OwpjQz1mdW5jdGlvbihhLGI9W10sYz0hMSxkLGU9LTEpe2lmKGE9PW51bGwpcmV0dXJuIGI7aWYoIUFycmF5LmlzQXJyYXkoYikmJl8uakIoYikpc3dpdGNoKF8uakIoYSkmJk9BKGIsYSksYi50YWdOYW1lKXtjYXNlICJTQ1JJUFQiOnZiYShiLGEpO3JldHVybjtjYXNlICJTVFlMRSI6aWYoXy5SQihhKSE9PW51bGwpdGhyb3cgRXJyb3IoImgiKTtyZXR1cm59aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspY0MoYVtmXSxiLGMsYSxmKTtyZXR1cm4gYn1pZihhIGluc3RhbmNlb2YgXy5kQylyZXR1cm4gZj1hLm9jKCksY0MoZixiLGMsZCxlKTtpZihfLnFCKGEpKXJldHVybiBhPWxCKGEpLGQmJmMmJihkW2VdPWEpLGVDKGIsYSk7aWYoXy5vQihhKSl7Yz1fLnBCKGEpO2ZvcihjPWMuZmlyc3RDaGlsZDtjOylmPWMubmV4dFNpYmxpbmcsZUMoYixjKSxjPWY7cmV0dXJuIGJ9aWYockIoYSkpcmV0dXJuIGE9bEIoYS50b1N0cmluZygpKSxkJiZjJiYoZFtlXT0KYSksZUMoYixhKTtpZihfLmlCKGEpKXJldHVybiBlQyhiLGEpO2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIil7Zj1fLlhCKCgpPT57dmFyIGs9YSgpO2lmKGs9PW51bGx8fF8ucUIoaykpcmV0dXJuIGs7aWYoXy5vQihrKSlyZXR1cm4gaz1fLnBCKGspLEFycmF5LmZyb20oay5jaGlsZE5vZGVzKTt0aHJvdyBfLlV1KEVycm9yKCJBYmAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKyJgIit0eXBlb2YgayksNCk7fSx7ZGVidWdOYW1lOiJxbUYybmUiLHpwOmF9KVswXTtpZihBcnJheS5pc0FycmF5KGYpKXtmb3IodmFyIGggb2YgZillQyhiLGgpO3JldHVybiBifWQmJmMmJihkW2VdPWYpO3JldHVybiBlQyhiLGYpfWlmKGE/LltfLkx2XSl7ZD1hO2U9Xy5MQighMCk7aD1KQjt0cnl7Zj1oKGQudHlwZSxkLnByb3BzLC4uLmQuY2hpbGRyZW4pfWZpbmFsbHl7Xy5MQihlKX1yZXR1cm4gY0MoZixiLGMpfXRocm93IF8uVXUoRXJyb3IoIkFjIiksNCk7fTsKVUI9ZnVuY3Rpb24oYSl7dmFyIGI9T2JqZWN0LmFzc2lnbihbXSx7X193aXpfUnFNWU06e1FlOltdfX0pO2lmKCFhKXJldHVybiBiO2JbMF09WUIoYSxiKTtyZXR1cm4gYn07ZUM9ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpP2EucHVzaChiKTphLmFwcGVuZENoaWxkKGIpO3JldHVybiBhfTtfLmZDPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl09Xy5mQyhhW2JdKTtyZXR1cm4gYX1yZXR1cm4gYSBpbnN0YW5jZW9mIF8uZEM/KGE9YS5vYygpLF8uZkMoYSkpOmF9OwpfLmdDPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPV8uRkEoYSksZj1sPT57ZD1sO3ZhciBtPV8uTEIoITApLG49Xy5rdShfLnp2KTt0cnl7Yz1fLmZDKGEoYikpfWZpbmFsbHl7Xy5rdShuKSxfLkxCKG0pfSFBcnJheS5pc0FycmF5KGMpJiZfLkZ1KGwpfTtlPV8uS3UuR3A/aEIoZixlKTpfLnV2KGYsXy5LdS5yaXx8ISFfLlp0KTtpZighYi5qbil7Zj1fLiR0KGQpO3RyeXtyZXR1cm4oMCxfLnZ2KShhLGIsYyksY31maW5hbGx5e18uJHQoZil9fSFGQihjKSYmQXJyYXkuaXNBcnJheShjKSYmKGM9VUIoYykpO3ZhciBoPV8uR0IoYyk7Zj1BcnJheS5pc0FycmF5KGgpP2hbMF06aDt2YXIgaz0hMTtpZihmKXtsZXQgbD1iPy5pZG9tS2V5Pz9hLG09aCE9PWY7Zi5fZGlzcG9zZUVmZmVjdHM9ZTtsZXQgbj1mW18uV0JdfHx7fSxwPUZCKGMpP2M6bi55bjtPYmplY3QuYXNzaWduKG4se2tleTpsLFVxOm0/aC5sZW5ndGg6MSxvd25lcjpkLGxKOiEhZltfLldCXSx5bjpwfSk7ZltfLldCXT1ufWVsc2Ugaz0KITA7KCgpPT57dmFyIGw9Xy4kdChkKTt0cnl7KDAsXy52dikoYSxiLGgpfWZpbmFsbHl7Xy4kdChsKX19KSgpO2smJmUoKTtyZXR1cm4gY307aEM9ZnVuY3Rpb24oYSxiKXtpZighYS52JiZiKXthLnY9ITA7dHJ5e2EuSGYoKX1jYXRjaChjKXtfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShjLGEuaj8uWmMpKX1fLmJ3LkhmKGEpO2EuZWw9bnVsbDtiLl9faW5zdGFuY2UmJmRlbGV0ZSBiLl9faW5zdGFuY2V9fTtfLmpDPWZ1bmN0aW9uKGEsYixjPSExKXthLl9zaWduYWxQcm9wcyE9bnVsbCYmYS5fZGlzcG9zZUVmZmVjdHM9PW51bGwmJihjP2EuX2Rpc3Bvc2VFZmZlY3RzPV8udXYoKCk9PnZvaWQgaUMoYSxiKSxfLkt1LnJpfHwhIV8uWnQpOmlDKGEsYikpfTsKaUM9ZnVuY3Rpb24oYSxiKXtfLnR2KCgpPT57dmFyIGM9YS5fc2lnbmFsUHJvcHMsZD1hLl9zaWduYWxWYWx1ZXM7Zm9yKGxldCBlPTA7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV0saD1iW2ZdKCk7ZFtlXSE9PWgmJihkW2VdPWgsXy56QihhLGYsaCkpfX0sImUzWVZiYiIpfTtfLmxDPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPz8oYj17fSk7cmV0dXJuIF8uSEEoKXx8Xy5NdT09bnVsbD9uZXcgeGJhKGEsYixjKTprQyhhLGIsYyl9OwprQz1mdW5jdGlvbihhLGIsYyl7aWYoYT09PV8uSUIpcmV0dXJuIGM7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBfLk11JiYhXy5IQSgpJiYoYi5qbj0hMCksXy5HQShhLCgpPT57Yy5sZW5ndGg+MCYmKGIuY2hpbGRyZW49Yy5sZW5ndGg9PT0xP2NbMF06Yyk7aWYoYS5jb21wb25lbnRUeXBlPT09Xy5Ldil7bGV0IGU7aEIoKCk9Pnt2YXIgZj1iO2lmKGEuY29tcG9uZW50VHlwZSE9PV8uS3YpZT0hMTtlbHNle2Z8fChmPXt9KTt2YXIgaD1uZXcgXy5tQyhmLGEpLGs9Xy5rdShfLnp2KTt0cnl7dmFyIGw9aC5vYyhmKX1maW5hbGx5e18ua3Uoayl9bCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50PyhsLl9faW5zdGFuY2U9aCxoLmVsPWwsaC5qPWEsYS5aYz1sLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxfLmJ3LkdmKGgpLGU9bCk6ZT1sfX0sYS5uYW1lKTtpZihlKXJldHVybiBlfXJldHVybiBfLmdDKGEsYil9LGIuZGVidWdJbnN0YW5jZSk7dmFyIGQ9eWJhKGEsYik7Zm9yKGxldCBlIGluIGIpXy56QihkLAplLGJbZV0pO18uakMoZCxiKTtfLmJDKGMsZCk7Xy5BQihkLGIse2xqOiEwfSk7KDAsXy54dikoZCxiKTtyZXR1cm4gZH07eWJhPWZ1bmN0aW9uKGEsYil7YT0oTkEuaGFzKGEudG9Mb3dlckNhc2UoKSk/MDpNQS5oYXMoYS5zdGFydHNXaXRoKCJzdmc6Iik/YS5yZXBsYWNlKCJzdmc6IiwiIik6YSkpP2RvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGEuc3RhcnRzV2l0aCgic3ZnOiIpP2EucmVwbGFjZSgic3ZnOiIsIiIpOmEpOigwLF8ud3YpKGEsYil8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYSk7YVtfLm5DXT0hMDtyZXR1cm4gYX07Cl8ucEM9ZnVuY3Rpb24oYSl7aWYoYSl7YS5fZGlzcG9zZVJlZj8uKCk7YS5fZGlzcG9zZUVmZmVjdHM/LigpO2lmKGEuX19pbnN0YW5jZSYmYS5fX2luc3RhbmNlIGluc3RhbmNlb2Ygb0Mpe3ZhciBiPWEuX19pbnN0YW5jZTtoQyhiLGEpO2IgaW5zdGFuY2VvZiBfLm1DJiZiLkQoKX1mb3IoYj0wO2I8YS5jaGlsZE5vZGVzLmxlbmd0aDtiKyspXy5wQyhhLmNoaWxkTm9kZXNbYl0pfX07emJhPWZ1bmN0aW9uKGEpe3FDLnB1c2goYSk9PT0xJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntzZXRUaW1lb3V0KCgpPT57dmFyIGI9Wy4uLnFDXTtxQz1bXTtmb3IobGV0IGMgb2YgYil0cnl7Zm9yKGI9MDtiPGMubGVuZ3RoO2IrKylfLnBDKGNbYl0pfWNhdGNoKGQpe18uS3UuaGFuZGxlRXJyb3I/LiguLi5fLkpBKGQpKX19KX0pfTtfLks9ZnVuY3Rpb24oYSxiLC4uLmMpe3JldHVybiBKQihhLGIsLi4uYyl9O18uckM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5rdShfLnl2KTt0cnl7YSgpfWZpbmFsbHl7Xy5rdShiKX19OwpBYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O3NDPWZ1bmN0aW9uKGEsYixjPSIiKXtmdW5jdGlvbiBkKCl7cmV0dXJuIGUoKX12YXIgZT10eXBlb2YgYT09PSJmdW5jdGlvbiI/REEoYSxBYmEsYj8uZXF1YWxzKTpEQShhLnNvdXJjZSxhLlRnLGI/LmVxdWFscyk7dmFyIGY9ZVtfLlp1XTtmLmRlYnVnTmFtZT1fLmV1KGI/LmRlYnVnTmFtZSxjLCJbbGlua2VkU2lnbmFsXSIpO2RbXy5adV09ZjtyZXR1cm5bZCxoPT57Xy5ydShmKTtfLnl1KGYsaCk7Zi5QYj0hMTtmLnJqPV8ubXV9LGg9PntfLnJ1KGYpO2lmKGYudmFsdWU9PT1fLkl2KXRocm93IGYuZXJyb3I7Xy5qdT8uTGUhPT0hMXx8Xy53dShmKTtfLnl1KGYsaChmLnZhbHVlKSk7Zi5QYj0hMTtmLnJqPV8ubXV9XX07Xy51Qz1mdW5jdGlvbigpe3RDfHwodEM9e09jOiExLFV5OjAsc3RhY2s6W10sc2Vzc2lvbklkOiIiLGRoOnZvaWQgMCxwcm9jZXNzb3JzOltdLFdoOigpPT4hMH0pO3JldHVybiB0Q307CnZDPWZ1bmN0aW9uKCl7dmFyIGE9Xy51QygpO3JldHVybiBhLnN0YWNrW2Euc3RhY2subGVuZ3RoLTFdfTtfLndDPWZ1bmN0aW9uKGEpe3ZhciBiPV8udUMoKTtyZXR1cm4gYi5PYz9iLmRoP2IuZGhbYV06ITA6ITF9O0RiYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ud0MoYSkmJl8udUMoKS5XaChhLGIsQmJhKT9uZXcgQ2JhKGEsYixjKTp4Q307Cl8ueUM9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBjPT09ImZ1bmN0aW9uIil7dmFyIGQ9YztjPXZvaWQgMH12YXIgZT1EYmEoYSxiLGMpO2lmKGM/LmVuZFRpbWUhPW51bGwpcmV0dXJuIGQmJl8uSXAoRXJyb3IoIkVjIikpLGU7ZSE9PXhDJiZjPy5hY3RpdmUhPT0hMSYmXy51QygpLnN0YWNrLnB1c2goZSk7aWYoIWQpcmV0dXJuIGU7aWYoZT09PXhDKXJldHVybiBkKGUpO3RyeXtsZXQgZj1kKGUpO2lmKGYgaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiBmLnRoZW4oaD0+e2UuZW5kKCk7cmV0dXJuIGh9LGg9PntlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKTt0aHJvdyBoO30pO2UuZW5kKCk7cmV0dXJuIGZ9Y2F0Y2goZil7dGhyb3cgZS5lbmQoIlNQQU5fU1RBVFVTX0VSUk9SIiksZjt9fTsKekM9ZnVuY3Rpb24oYSxiLGMsZCl7YSBpbnN0YW5jZW9mIEVsZW1lbnQmJihjLmRlYnVnTmFtZXx8KGMuZGVidWdOYW1lPWA8JHthLnRhZ05hbWUudG9Mb3dlckNhc2UoKX1gKyhhLnRhZ05hbWUuaW5jbHVkZXMoIi0iKT8iPiI6YC4ke2EuY2xhc3NOYW1lfT5gKSksXy54KCJ5dHdpel9lbmFibGVfZGVidWdfY29tcG9uZW50X3Byb3BzIikmJihhLmRlYnVnUHJvcHN8fChhLmRlYnVnUHJvcHM9QUEoYixlPT4oKT0+ZSgpKSksYi5kYXRhPT09dm9pZCAwfHwiZGF0YSJpbiBhJiYhYS5pc1dlYkNvbXBvbmVudFdyYXBwZXJ8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLmRlYnVnUHJvcHMsImRhdGEiLHtnZXQ6KCk9Pl8uQnYoYi5kYXRhKSxzZXQ6ZT0+e2Q/LmRhdGE/LihlKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSkpfTsKXy5BQz1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09MCYmIWI/LmluaXRpYWwpcmV0dXJuIHNDKGEse2RlYnVnTmFtZTpiPy5kZWJ1Z05hbWV9LCJoIik7dmFyIFtjLGQsZV09c0Moe3NvdXJjZTooKT0+YSgpLFRnOihmLGgpPT5oPy52YWx1ZT9hKGgudmFsdWUpOmI/LmluaXRpYWw/YShiLmluaXRpYWwpOmZ9LHtkZWJ1Z05hbWU6Yj8uZGVidWdOYW1lfSwiaSIpO3JldHVybltjLGQsZV19OwpfLkw9ZnVuY3Rpb24oYSxiPSIiKXt2YXIgYz1kPT5fLnlDKCJ5dENvbXBvbmVudCIse30sZT0+e3ZhciBmPUJDPXt9O2lmKGM/Lmlkb21Db21wYXQmJmQuam4pe2xldCBbayxsXT1FYmEoZCx0eXBlb2YgYy5pZG9tQ29tcGF0PT09Im9iamVjdCI/Yz8uaWRvbUNvbXBhdC5jYWxsYmFja3M6e30pO3ZhciBoPUNDKGEsZCk7Zi5Hej1oO0JDPXZvaWQgMDt6QyhoLGQsYyxrKTtlLkRlKHtkZWJ1Z05hbWU6Yy5kZWJ1Z05hbWV9KTtlPV8uR0IoaCk7ZT1BcnJheS5pc0FycmF5KGUpP2VbMF06ZTtlW18uV0JdfHwoZVtfLldCXT17fSk7ZVtfLldCXS5xQj1sO18uQ3YoZCxoKTtyZXR1cm4gaH1kPUFBKGQsRmJhKTtoPUNDKGEsZCk7ekMoaCxkLGMpO2YuR3o9aDtCQz12b2lkIDA7ZS5EZSh7ZGVidWdOYW1lOmMuZGVidWdOYW1lfSk7Xy5DdihkLGgpO3JldHVybiBofSk7Yy5kZWJ1Z05hbWU9YjtyZXR1cm4gY307Q0M9ZnVuY3Rpb24oYSxiKXthPWEoYik7cmV0dXJuIF8uZkMoYSl9OwpGYmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PSJjaGlsZHJlbiJ8fGI9PT0icmVmInx8dHlwZW9mIGE9PT0iZnVuY3Rpb24ifHxhPT09dm9pZCAwP2E6KCk9PmF9O0diYT1mdW5jdGlvbihhLGIpe3JldHVybigpPT5fLkJ2KGEpPz9ifTtfLkRDPWZ1bmN0aW9uKGEsYil7dmFyIGM9ey4uLmF9O2ZvcihsZXQgZCBpbiBiKWIuaGFzT3duUHJvcGVydHkoZCkmJihjW2RdPUdiYShhW2RdLGJbZF0pKTtyZXR1cm4gY307CkViYT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ9e307Zm9yKGxldCBlIGluIGEpe2xldCBmPWFbZV07aWYoZSE9PSJjaGlsZHJlbiImJmUhPT0icmVmIilpZih0eXBlb2YgZj09PSJmdW5jdGlvbiIpaWYoZSBpbiBifHxmLmxlbmd0aD4wKWRbZV09ZixhW2VdPSguLi5oKT0+ZFtlXSguLi5oKTtlbHNle2lmKGU9PT0iZGF0YSIpe2xldCBbaCxrXT1fLkFDKGYse2RlYnVnTmFtZTpgJHtlfTpjd2lzYH0pO2FbZV09aDtjW2VdPWt9fWVsc2UgaWYoIShhW2VdPT09dm9pZCAwJiZlIGluIGIpKXtsZXQgW2gsa109Xy5KKGFbZV0se2RlYnVnTmFtZTpgJHtlfTpjd2lzYH0sIlZiY2dDZCIpO2FbZV09aDtjW2VdPWt9fXJldHVybltjLGZ1bmN0aW9uKGUpe2ZvcihsZXQgZiBpbiBlKXtsZXQgaD1lW2ZdO2YhPT0iY2hpbGRyZW4iJiZmIT09InJlZiImJih0eXBlb2YgaD09PSJmdW5jdGlvbiI/ZiBpbiBiP2RbZl09aDpoLmxlbmd0aD4wJiYoZFtmXT1oLF8uSXAobmV3IF8uWGooSGJhLGYpKSk6ZiBpbgpiJiZoPT09dm9pZCAwfHwoY1tmXXx8Xy5IcChuZXcgXy5YaihJYmEsZikpLF8uckMoKCk9PntjW2ZdKGgpfSkpKX19XX07ClZhYT17Li4uXy5YdSx2YWx1ZTpfLkd2LFBiOiEwLGVycm9yOm51bGwsZXF1YWw6Xy5pdSxraW5kOiJsaW5rZWRTaWduYWwiLFhtKGEpe3JldHVybiBhLnZhbHVlPT09Xy5Hdnx8YS52YWx1ZT09PV8uSHZ9LFltKGEpe2lmKGEudmFsdWU9PT1fLkh2KXRocm93IEVycm9yKCJoIik7dmFyIGI9YS52YWx1ZTthLnZhbHVlPV8uSHY7dmFyIGM9Xy50dShhKSxkPSExO3RyeXtsZXQgZj1hLnNvdXJjZSgpLGg9YiE9PV8uR3YmJmIhPT1fLkl2O3ZhciBlPWEuVGcoZixoP3tzb3VyY2U6YS5zb3VyY2VWYWx1ZSx2YWx1ZTpifTp2b2lkIDApO2Euc291cmNlVmFsdWU9ZjtfLmt1KG51bGwpO2Q9aCYmZSE9PV8uSXYmJmEuZXF1YWwoYixlKX1jYXRjaChmKXtlPV8uSXYsYS5lcnJvcj1mfWZpbmFsbHl7Xy5rdShjKSxhJiZfLnZ1KGEpfWQ/YS52YWx1ZT1iOihhLnZhbHVlPWUsYS52ZXJzaW9uKyspfX07Xy5tQj17fTtfLkl0LnByb3RvdHlwZS5qPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Cl8uSXQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07S0E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5kQz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQ289bnVsbH19O29DPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucHJvcHM9YTt0aGlzLnY9ITF9R2YoKXt9SmkoKXt9SGYoKXt9S2koKXt9fTt0cnl7bGV0IGE9d2luZG93Py50b3A/P18udTthLlUzYkhIZj8/KGEuVTNiSEhmPTApO2EuVTNiSEhmKyt9Y2F0Y2goYSl7Xy51LlUzYkhIZj8/KF8udS5VM2JISGY9MCksXy51LlUzYkhIZisrfTtfLkZDPW5ldyBXZWFrTWFwO18uR0M9WGFhKCk7dmFyIG1iYT1uZXcgU2V0KCJhbGxvd2Z1bGxzY3JlZW4gYWxsb3d0cmFuc3BhcmVuY3kgYXN5bmMgYXV0b2ZvY3VzIGF1dG9wbGF5IGNoZWNrZWQgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlcmVtb3RlcGxheWJhY2sgZm9ybW5vdmFsaWRhdGUgaGlkZGVuIGluZXJ0IGlzbWFwIGl0ZW1zY29wZSBqc3NoYWRvdyBqc3Nsb3QgbG9vcCBtdWx0aXBsZSBtdXRlZCBub21vZHVsZSBub3ZhbGlkYXRlIG9wZW4gcGxheXNpbmxpbmUgcmVhZG9ubHkgcmVxdWlyZWQgcmV2ZXJzZWQgc2NvcGVkIHNlYW1sZXNzIHNlbGVjdGVkIHNvcnRhYmxlIHR5cGVtdXN0bWF0Y2giLnNwbGl0KCIgIikpLGxiYT1uZXcgU2V0KFsiY29udGVudGVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxjaGVjayJdKTt2YXIgTUE9bmV3IFNldCgiYSBhbHRHbHlwaCBhbHRHbHlwaERlZiBhbHRHbHlwaEl0ZW0gYW5pbWF0ZSBhbmltYXRlQ29sb3IgYW5pbWF0ZU1vdGlvbiBhbmltYXRlVHJhbnNmb3JtIGNpcmNsZSBjbGlwUGF0aCBjb2xvci1wcm9maWxlIGN1cnNvciBkZWZzIGRlc2MgZWxsaXBzZSBmZUJsZW5kIGZlQ29sb3JNYXRyaXggZmVDb21wb25lbnRUcmFuc2ZlciBmZUNvbXBvc2l0ZSBmZUNvbnZvbHZlTWF0cml4IGZlRGlmZnVzZUxpZ2h0aW5nIGZlRGlzcGxhY2VtZW50TWFwIGZlRGlzdGFudExpZ2h0IGZlRHJvcFNoYWRvdyBmZUZsb29kIGZlRnVuY0EgZmVGdW5jQiBmZUZ1bmNHIGZlRnVuY1IgZmVHYXVzc2lhbkJsdXIgZmVJbWFnZSBmZU1lcmdlIGZlTWVyZ2VOb2RlIGZlTW9ycGhvbG9neSBmZU9mZnNldCBmZVBvaW50TGlnaHQgZmVTcGVjdWxhckxpZ2h0aW5nIGZlU3BvdExpZ2h0IGZlVGlsZSBmZVR1cmJ1bGVuY2UgZmlsdGVyIGZvbnQgZm9udC1mYWNlIGZvbnQtZmFjZS1mb3JtYXQgZm9udC1mYWNlLW5hbWUgZm9udC1mYWNlLXNyYyBmb250LWZhY2UtdXJpIGZvcmVpZ25PYmplY3QgZyBnbHlwaCBnbHlwaFJlZiBoa2VybiBpbWFnZSBsaW5lIGxpbmVhckdyYWRpZW50IG1hcmtlciBtYXNrIG1ldGFkYXRhIG1pc3NpbmctZ2x5cGggbXBhdGggcGF0aCBwYXR0ZXJuIHBvbHlnb24gcG9seWxpbmUgcmFkaWFsR3JhZGllbnQgcmVjdCBzY3JpcHQgc2V0IHN0b3Agc3R5bGUgc3ZnIHN3aXRjaCBzeW1ib2wgdGV4dCB0ZXh0UGF0aCB0aXRsZSB0cmVmIHRzcGFuIHVzZSB2aWV3IHZrZXJuIi5zcGxpdCgiICIpKSwKTkE9bmV3IFNldChbImEiLCJmb250Iiwic2NyaXB0Iiwic3R5bGUiLCJ0aXRsZSJdKSxZYWE9bmV3IFNldChbImRlc2MiLCJmb3JlaWduT2JqZWN0IiwidGl0bGUiXSk7Xy5SQT17ZGVmYXVsdDoiX19kZWZhdWx0In07dmFyIFphYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1BBLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpO18uSEM9U0EoKTtfLmNCPW51bGw7dmFyIGJiYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmNyZWF0ZWQ9W107dGhpcy5kZWxldGVkPVtdO3RoaXMubm9kZT1hfX07dmFyIGNiYT10eXBlb2YgTm9kZSE9PSJ1bmRlZmluZWQiJiZOb2RlLnByb3RvdHlwZS5nZXRSb290Tm9kZXx8ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcyxiPWE7YTspYj1hLGE9YS5wYXJlbnROb2RlO3JldHVybiBifTtfLldBPW51bGw7Xy5ZQT1udWxsO18uVUE9bnVsbDtfLlpBPW51bGw7Xy4kQT1bXTtfLmJCPVRBO18uYUI9W107Xy5JQz1mdW5jdGlvbihhKXtyZXR1cm4gZWJhKChiLGMsZCk9PntfLlVBPV8uWUE9YjtfLllBPW51bGw7YyhkKTtfLlhBKCk7Xy5ZQT1fLlVBO18uVUE9Xy5VQS5wYXJlbnROb2RlO3JldHVybiBifSxhKX0oKTtfLkpDPW5ldyBQQTtSZWdFeHAucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzdGlja3kiKTt2YXIgZUI9U3ltYm9sKCJqYyIpO3ZhciBoYmE9e2FsaWduOjEsYWx0OjEsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6MTAsImFyaWEtYXRvbWljIjoxLCJhcmlhLWF1dG9jb21wbGV0ZSI6MSwiYXJpYS1idXN5IjoxLCJhcmlhLWNoZWNrZWQiOjEsImFyaWEtY29udHJvbHMiOjEwLCJhcmlhLWN1cnJlbnQiOjEsImFyaWEtZGVzY3JpYmVkYnkiOjEwLCJhcmlhLWRpc2FibGVkIjoxLCJhcmlhLWRyb3BlZmZlY3QiOjEsImFyaWEtZXhwYW5kZWQiOjEsImFyaWEtaGFzcG9wdXAiOjEsImFyaWEtaGlkZGVuIjoxLCJhcmlhLWludmFsaWQiOjEsImFyaWEtbGFiZWwiOjEsImFyaWEtbGFiZWxsZWRieSI6MTAsImFyaWEtbGV2ZWwiOjEsImFyaWEtbGl2ZSI6MSwiYXJpYS1tdWx0aWxpbmUiOjEsImFyaWEtbXVsdGlzZWxlY3RhYmxlIjoxLCJhcmlhLW9yaWVudGF0aW9uIjoxLCJhcmlhLW93bnMiOjEwLCJhcmlhLXBvc2luc2V0IjoxLCJhcmlhLXByZXNzZWQiOjEsImFyaWEtcmVhZG9ubHkiOjEsImFyaWEtcmVsZXZhbnQiOjEsImFyaWEtcmVxdWlyZWQiOjEsCiJhcmlhLXNlbGVjdGVkIjoxLCJhcmlhLXNldHNpemUiOjEsImFyaWEtc29ydCI6MSwiYXJpYS12YWx1ZW1heCI6MSwiYXJpYS12YWx1ZW1pbiI6MSwiYXJpYS12YWx1ZW5vdyI6MSwiYXJpYS12YWx1ZXRleHQiOjEsYXN5bmM6OCxhdXRvY2FwaXRhbGl6ZToxLGF1dG9jb21wbGV0ZToxLGF1dG9jb3JyZWN0OjEsYXV0b2ZvY3VzOjEsYXV0b3BsYXk6MSxiZ2NvbG9yOjEsYm9yZGVyOjEsY2VsbHBhZGRpbmc6MSxjZWxsc3BhY2luZzoxLGNoZWNrZWQ6MSxjaXRlOjEsImNsYXNzIjoxLGNvbG9yOjEsY29sczoxLGNvbHNwYW46MSxjb250ZW50ZWRpdGFibGU6MSxjb250cm9sczoxLGNvbnRyb2xzbGlzdDoxLGNvb3JkczoxLGNyb3Nzb3JpZ2luOjEsZGF0ZXRpbWU6MSxkaXI6OCxkaXNhYmxlZDoxLGRvd25sb2FkOjEsZHJhZ2dhYmxlOjEsZW5jdHlwZToxLGZhY2U6MSwiZm9yIjoxMCxmb3JtZW5jdHlwZToxLGZyYW1lYm9yZGVyOjEsaGVpZ2h0OjEsaGlkZGVuOjEsaHJlZjo0LGhyZWZsYW5nOjEsCmlkOjEwLGluZXJ0OjEsaXNtYXA6MSxpdGVtaWQ6MSxpdGVtcHJvcDoxLGl0ZW1yZWY6MSxpdGVtc2NvcGU6MSxpdGVtdHlwZToxLGxhYmVsOjEsbGFuZzoxLGxpc3Q6MTAsbG9hZGluZzo4LGxvb3A6MSxtYXg6MSxtYXhsZW5ndGg6MSxtZWRpYToxLG1pbjoxLG1pbmxlbmd0aDoxLG11bHRpcGxlOjEsbXV0ZWQ6MSxuYW1lOjEwLG5vbmNlOjEsb3BlbjoxLHBsYWNlaG9sZGVyOjEscGxheXNpbmxpbmU6MSxwb3N0ZXI6MSxwcmVsb2FkOjEscmVsOjEscmVxdWlyZWQ6MSxyZXZlcnNlZDoxLHJvbGU6MSxyb3dzOjEscm93c3BhbjoxLHNlbGVjdGVkOjEsc2hhcGU6MSxzaXplOjEsc2l6ZXM6MSxzbG90OjEsc3BhbjoxLHNwZWxsY2hlY2s6MSxzcmM6NCxzcmNzZXQ6MTIsc3RhcnQ6MSxzdGVwOjEsc3R5bGU6NSxzdW1tYXJ5OjEsdGFiaW5kZXg6MSx0YXJnZXQ6OCx0aXRsZToxLHRyYW5zbGF0ZToxLHR5cGU6MSx1c2VtYXA6MSx2YWxpZ246MSx2YWx1ZToxLHdpZHRoOjEsd3JhcDoxfSxmQj0Ke2E6e2hyZWY6W3trYTozfV19LGFyZWE6e2hyZWY6W3trYTozfV19LGF1ZGlvOntzcmM6W3trYTozfV19LGJ1dHRvbjp7Zm9ybWFjdGlvbjpbe2thOjN9XSxmb3JtbWV0aG9kOlt7a2E6MX1dfSxmb3JtOnthY3Rpb246W3trYTozfV0sbWV0aG9kOlt7a2E6MX1dfSxpZnJhbWU6e3NyY2RvYzpbe2thOjJ9XX0saW1nOntzcmM6W3trYTozfV0sc3Jjc2V0Olt7a2E6MTF9XX0saW5wdXQ6e2FjY2VwdDpbe2thOjF9XSxmb3JtYWN0aW9uOlt7a2E6M31dLGZvcm1tZXRob2Q6W3trYToxfV0scGF0dGVybjpbe2thOjF9XSxyZWFkb25seTpbe2thOjF9XSxzcmM6W3trYTozfV19LGxpbms6e2hyZWY6W3trYTozLGliOiJyZWwiLG5iOiJhbHRlcm5hdGUifSx7a2E6MyxpYjoicmVsIixuYjoiYXV0aG9yIn0se2thOjMsaWI6InJlbCIsbmI6ImJvb2ttYXJrIn0se2thOjMsaWI6InJlbCIsbmI6ImNhbm9uaWNhbCJ9LHtrYTozLGliOiJyZWwiLG5iOiJjaXRlIn0se2thOjMsaWI6InJlbCIsbmI6ImhlbHAifSwKe2thOjMsaWI6InJlbCIsbmI6Imljb24ifSx7a2E6MyxpYjoicmVsIixuYjoibGljZW5zZSJ9LHtrYTozLGliOiJyZWwiLG5iOiJuZXh0In0se2thOjMsaWI6InJlbCIsbmI6InByZWZldGNoIn0se2thOjMsaWI6InJlbCIsbmI6ImRucy1wcmVmZXRjaCJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVyZW5kZXIifSx7a2E6MyxpYjoicmVsIixuYjoicHJlY29ubmVjdCJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVsb2FkIn0se2thOjMsaWI6InJlbCIsbmI6InByZXYifSx7a2E6MyxpYjoicmVsIixuYjoic2VhcmNoIn0se2thOjMsaWI6InJlbCIsbmI6InN1YnJlc291cmNlIn1dfSxzY3JpcHQ6e2RlZmVyOlt7a2E6MX1dfSxzb3VyY2U6e3NyYzpbe2thOjN9XSxzcmNzZXQ6W3trYToxMX1dfSx0ZXh0YXJlYTp7cmVhZG9ubHk6W3trYToxfV19LHZpZGVvOntzcmM6W3trYTozfV19fTt2YXIgSmJhPS9eKD8hamF2YXNjcmlwdDopKD86W2EtejAtOSsuLV0rOnxbXiY6XC8/I10qKD86W1wvPyNdfCQpKS9pLGliYT17WzFdOm51bGwsWzJdOihhLGIpPT5iIGluc3RhbmNlb2YgXy5mYj9fLnlBKGIpOl8uRnEudG9TdHJpbmcoKSxbM106KGEsYik9Pl8uWGEoYik/Xy5ZYShiKTpKYmEudGVzdChTdHJpbmcoYikpP1N0cmluZyhiKTpfLkZxLnRvU3RyaW5nKCksWzRdOihhLGIpPT5iIGluc3RhbmNlb2YgXy5TYT9fLlVhKGIpOl8uRnEudG9TdHJpbmcoKSxbNV06KGEsYik9PlN0cmluZyhiKSxbN106bnVsbCxbOF06bnVsbCxbMTBdOm51bGx9O18uS2JhPVN5bWJvbCgibmMiKTt2YXIgbkI9Xy5MQSgpO3ZhciBLQz1TQSgpLHFiYT1LQ1tfLlJBLmRlZmF1bHRdLHlCPUtDLnN0eWxlLHhCPVsiZm9jdXNpbiIsImZvY3Vzb3V0Il0sQkI9U3ltYm9sKCJvYyIpLENCPVN5bWJvbCgicGMiKSxyYmE9ImFubm90YXRpb24teG1sIGNvbG9yLXByb2ZpbGUgZm9udC1mYWNlIGZvbnQtZmFjZS1zcmMgZm9udC1mYWNlLXVyaSBmb250LWZhY2UtZm9ybWF0IGZvbnQtZmFjZS1uYW1lIG1pc3NpbmctZ2x5cGgiLnNwbGl0KCIgIik7dmFyIEpCO0pCPUhCO18uV0I9U3ltYm9sKCJ0YyIpO18uTGJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfTW9kZWxSb290RWxlbWVudCIpO18uTWJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfUmVuZGVyZXJEYXRhIik7Xy5OYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9JbmplY3RpbmdDb25zdHJ1Y3RvciIpO18uTUI9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9BcHBDb250ZXh0Iik7Xy5OQj1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0Rpc3BhdGNoZXIiKTtfLkxDPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfUm9vdEVsZW1lbnQiKTtfLk9iYT1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0FzeW5jRGVwcyIpO18uUGJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfT2JqZWN0Q3JlYXRpb25UcmFja2VyIik7Xy5PQj17fTtfLlZCPXtNSzpTQixjTDpTQixsb2c6U0IsUko6VEIsdnk6VEIsZko6KGEsYik9PntiKCl9fTtfLk1DPW51bGw7Xy5tQz1jbGFzcyBleHRlbmRzIG9De2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7dGhpcy5vPWI7dGhpcy5aZj1bXTt0aGlzLkI9MDt0aGlzLkQ9Xy51dihjPT57dGhpcy5xbD1jO18uWXUoKCk9PntoQyh0aGlzLHRoaXMuZWwpfSl9LF8uS3Uucml8fCEhXy5adCl9b2MoYSl7dmFyIGI9Xy5NQztfLk1DPXRoaXM7dGhpcy5CPTA7dmFyIGM9Xy5rdShfLnp2KSxkPV8uJHQodGhpcy5xbCk7dHJ5e3JldHVybiB0aGlzLm8oYSl9ZmluYWxseXtfLiR0KGQpLF8ua3UoYyksXy5NQz1ifX1nZXQgY29tcG9uZW50TmFtZSgpe3JldHVybiBfLkZBKHRoaXMubyl9fTt2YXIgeGJhO18ubkM9U3ltYm9sKCJDYyIpO3hiYT1jbGFzcyBleHRlbmRzIF8uZEN7Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKCk7dGhpcy5raW5kPWE7dGhpcy5wcm9wcz1iO3RoaXMuY2hpbGRyZW49Y31vYygpe3ZhciBhPWtDKHRoaXMua2luZCx0aGlzLnByb3BzLHRoaXMuY2hpbGRyZW4pO2lmKHRoaXMuQ28hPW51bGwpZm9yKGxldCBiIG9mIHRoaXMuQ28pYT1iKGEpO3JldHVybiBhfX07dmFyIHFDPVtdO18ud3U9YT0+e3Rocm93IF8uVXUoRXJyb3IoImJiYCIrYS5kZWJ1Z05hbWUpLDQpO307KGZ1bmN0aW9uKCl7dmFyIGE9Xy5jQjtfLmNCPWI9PnthPy4oYik7emJhKGIpfX0pKCk7dmFyIENiYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYz17fSl7dmFyIGQ9Xy51QygpO3RoaXMubmFtZT1hO3RoaXMuaWQ9ZC5VeSsrO3RoaXMuc2Vzc2lvbklkPWQuc2Vzc2lvbklkO3RoaXMuYXR0cmlidXRlcz1iO3RoaXMuc3RhdHVzPSJTUEFOX1NUQVRVU19VTlNFVCI7dGhpcy5zdGFydFRpbWU9Yy5zdGFydFRpbWU/PygwLF8uZWwpKCk7dGhpcy5qPWMuYWN0aXZlO2lmKGE9dkMoKSl0aGlzLnBhcmVudElkPWEuaWQsYS5jaGlsZHJlbnx8KGEuY2hpbGRyZW49W10pLGEuY2hpbGRyZW4ucHVzaCh0aGlzKTtmb3IobGV0IGUgb2YgZC5wcm9jZXNzb3JzKXRyeXtlLkdtPy4odGhpcyl9Y2F0Y2goZil7Xy5JcChmKX1jLmVuZFRpbWUhPW51bGwmJih0aGlzLmo9ITEsdGhpcy5lbmQoIlNQQU5fU1RBVFVTX09LIixjLmVuZFRpbWUpKX1lbmQoYT0iU1BBTl9TVEFUVVNfT0siLGI9KDAsXy5lbCkoKSl7dmFyIGM9Xy51QygpO3RoaXMuZW5kVGltZT1iO3RoaXMuZHVyYXRpb249dGhpcy5lbmRUaW1lLQp0aGlzLnN0YXJ0VGltZTt0aGlzLnN0YXR1cz1hO3RoaXMuaiE9PSExJiYodkMoKT09PXRoaXM/Yy5zdGFjay5wb3AoKTpfLklwKEVycm9yKCJEY2AiK1N0cmluZyh0aGlzLm5hbWUpKSkpO2ZvcihsZXQgZCBvZiBjLnByb2Nlc3NvcnMpdHJ5e2QubHI/Lih0aGlzKX1jYXRjaChlKXtfLklwKGUpfX1EZShhKXtPYmplY3QuYXNzaWduKHRoaXMuYXR0cmlidXRlcyxhKX19LHhDPXtlbmQoKXt9LERlKCl7fX0sdEMsQmJhPXtXeigpe3JldHVybiBfLnVDKCkuc3RhY2tbMF19fTt2YXIgQkM9dm9pZCAwO3ZhciBJYmE9IklET00gaW50ZXJvcCBzZXR0ZXIgdW5kZWZpbmVkLiBLZXk6IixIYmE9IkNhbGxiYWNrIGRldGVjdGVkIHRoYXQgd2FzIG5vdCBzZXQgaW4gdGhlIGlkb21Db21wYXQgY2FsbGJhY2tzIG1hcC4gS2V5OiI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBSYmEsUWJhO1JiYT1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3QuY3JlYXRlKFFiYSk7Yi5UZz1hO2E9KCk9PntfLnJ1KGIpO18ucHUoYik7aWYoYi52YWx1ZT09PV8uSXYpdGhyb3cgYi5lcnJvcjtyZXR1cm4gYi52YWx1ZX07YVtfLlp1XT1iO3JldHVybiBhfTtfLk49ZnVuY3Rpb24oYSxiLGM9IiIpe3ZhciBkPVJiYShhKTthPWRbXy5adV07YS5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW2NvbXB1dGVkXSIpO2I/LmVxdWFscyE9bnVsbCYmKGEuZXF1YWw9Yi5lcXVhbHMpO3JldHVybiBkfTsKUWJhPXsuLi5fLlh1LHZhbHVlOl8uR3YsUGI6ITAsZXJyb3I6bnVsbCxlcXVhbDpfLml1LGtpbmQ6ImNvbXB1dGVkIixYbShhKXtyZXR1cm4gYS52YWx1ZT09PV8uR3Z8fGEudmFsdWU9PT1fLkh2fSxZbShhKXtpZihhLnZhbHVlPT09Xy5Idil0aHJvdyBFcnJvcigiaCIpO3ZhciBiPWEudmFsdWU7YS52YWx1ZT1fLkh2O3ZhciBjPV8udHUoYSksZD0hMTt0cnl7dmFyIGU9YS5UZygpO18ua3UobnVsbCk7ZD1iIT09Xy5HdiYmYiE9PV8uSXYmJmUhPT1fLkl2JiZhLmVxdWFsKGIsZSl9Y2F0Y2goZil7ZT1fLkl2LGEuZXJyb3I9Zn1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX1kP2EudmFsdWU9YjooYS52YWx1ZT1lLGEudmVyc2lvbisrKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgU2JhO18uTkM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oKT0+e3ZhciBjPWEoKTtpZighYyl7bGV0IGQ9RXJyb3IoIk9jYCIrYik7UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoZCwyLGIpO30pfXJldHVybiBjfX07Xy5PPWZ1bmN0aW9uKGEpe3JldHVybiBTYmEoYSl9OwpTYmE9ZnVuY3Rpb24oYSl7aWYoYS5BPT09dm9pZCAwKXJldHVybiBhLlc/LigpO2lmKHR5cGVvZiBhLkEhPT0iZnVuY3Rpb24iKXtsZXQgZT1hLnRoZW4sZj1hLlcsaD1hLkE7cmV0dXJuIGg/ZShoKTpmPy4oKX12YXIgYj1hLkEsYz1fLk4oKCk9PiEhYigpLHZvaWQgMCwiQmpRUlEiKSxkPV8uTkMoYiwiSWYiKTtyZXR1cm4gXy5YQigoKT0+e3ZhciBlPWMoKSxmO18udXYoKCk9Pnt2YXIgaD1fLmt1KF8uenYpO3RyeXtmPV8uZkMoZT9hLnRoZW4oZCk6YS5XPy4oKSl9ZmluYWxseXtfLmt1KGgpfX0sITApO3JldHVybiBmfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/IlJsRHVkZCIsenA6YS50aGVuLFdlOiEwfSl9O18uV0M9bmV3IE1hcDtfLlhDPVN5bWJvbCgiTmMiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rRz1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKDEpO2lmKCgwLF8ubHYpKGIpKXRocm93IEVycm9yKCJpYiIpO3JldHVybiBfLmh1KGEsYil9O18ubUc9ZnVuY3Rpb24oKXtyZXR1cm4gXy5adD9fLmtHKF8ubEcpOnZvaWQgMH07Xy5mZGE9U3ltYm9sKCIkYyIpO18uZ2RhPVN5bWJvbCgiYWQiKTtfLmxHPV8uZ3Uoe2RlZmF1bHRWYWx1ZTp2b2lkIDB9LCJ5RHA1T2MiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhjYTtfLm5FPWZ1bmN0aW9uKGEsYil7YT1fLnB2KGhjYSxhLGIpO18uZnYoYSl9O2hjYT17Li4uXy4kdixlZmZlY3RUeXBlOl8uZHZ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9IPWZ1bmN0aW9uKGEsYil7YT1fLiR0KGEpO3RyeXtfLkVBKGIpfWZpbmFsbHl7Xy4kdChhKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9FPWZ1bmN0aW9uKCl7aWYoXy5IQSgpKXRocm93IEVycm9yKCJCYyIpO3JldHVybiBfLk1DfTtfLnBFPWZ1bmN0aW9uKGEpe3ZhciBiPV8ub0UoKTtpZihiPT1udWxsKXRocm93IEVycm9yKCJUYyIpO3ZhciBjPWIuQisrO2IuWmZ8fChiLlpmPVtdKTt2YXIgZD1iLlpmO2RbY118fChkW2NdPXtrZXk6YSxob3N0OmJ9KTtpZihhIT09ZFtjXS5rZXkpdGhyb3cgRXJyb3IoIlNjYCIrKGIuaj9iLmo/Lm5hbWU6YiBpbnN0YW5jZW9mIF8ubUM/Xy5GQShiLm8pOmA8JHtiLmVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKX0+YCkpO3JldHVybiBkW2NdfTtfLnFFPWZ1bmN0aW9uKGEsYil7cmV0dXJuIWF8fGEubGVuZ3RoIT09Yj8ubGVuZ3RofHxhLnNvbWUoKGMsZCk9PmMhPT1iW2RdKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBpY2EsdEUsamNhLHdFO2ljYT1mdW5jdGlvbihhKXt2YXIgYj1udWxsLGMsZD17Q2s6bnVsbCxnZXQgdmFsdWUoKXtkLnZMPy4oKTtyZXR1cm4gZC5Da30sdm86ITEsa3U6ITEsc2V0IHZhbHVlKGUpe2Qud0w/LihlKTtkLkNrPWU7ZC52bz0hMH0sbXooZSl7YyYmZSE9PWMmJihjLl9kaXNwb3NlUmVmPXZvaWQgMCxiPy4oKSk7Yz1lO2I9YShlKXx8bnVsbH0sdXooKXtiPy4oKTtiPWQudmFsdWU9bnVsbH0sW18uTXZdOiEwfTtyZXR1cm4gZH07Xy5zRT1mdW5jdGlvbihhKXt2YXIgYj1bXTtpZihfLkhBKCkpcmV0dXJuIGEoKTt2YXIgYz1fLnBFKCJ1c2VNZW1vSW50ZXJuYWwiKTtfLnFFKGMubWwsYikmJihjLm1sPWIsYy52YWx1ZT1hKCkpO3JldHVybiBjLnZhbHVlfTtfLnVFPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRFKGEsITEsYil9O18udkU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdEUoYSwhMCxiKX07CnRFPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5IQSgpP3dFKGEsYixjKTpqY2EoYSxiLGMpfTtqY2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnNFKCgpPT53RShhLGIsYykpfTt3RT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5adCxlPWljYShmPT57ZS52YWx1ZT1mO3ZhciBoPSgoKT0+e3ZhciBrPV8ua3UobnVsbCk7dHJ5e3JldHVybiBjPy4oZil9Y2F0Y2gobCl7Xy5vdihsLGQpfWZpbmFsbHl7Xy5rdShrKX19KSgpO3JldHVybigpPT57aD8uKCl9fSk7ZS5qdT1hO2UubHU9YjtlLnZKPSFfLkhBKCk7cmV0dXJuIGV9O18uQkU9U3ltYm9sKCJXYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1GPXtWYjohMSxzdGF0ZToidmlzaWJsZSJ9O18ubkY9e1ZiOiExLHN0YXRlOiJoaWRkZW4ifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5wSD1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKCk7cmV0dXJuIGM9Pnt2YXIgZD1hLm9ic2VydmVyPz9fLnkoKS5yZXNvbHZlKF8uTHgpLGU9Yy5qZj8/YyxmPVtdO2EuZWImJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTmIoITAsYyl9KX0sYS5lYikpO2EuTmMmJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTmIoITEsYyl9KX0sYS5OYykpO2EuTGgmJmEuTGomJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTGooKX0pfSxhLkxoKSk7ZS52aXNpYmlsaXR5TW9uaXRvcktleXM9KGUudmlzaWJpbGl0eU1vbml0b3JLZXlzPz9bXSkuY29uY2F0KGYpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBQRDtfLlJEPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLF8uT0QpO2lmKGIpcmV0dXJuIGI7aWYoKGI9Xy5CKGEsV2JhKSkmJmIuY29tbWFuZHMpcmV0dXJuIFBEKGIuY29tbWFuZHMpO2lmKChiPV8uQihhLFhiYSkpJiZiLmNvbW1hbmRzKXJldHVybiBQRChiLmNvbW1hbmRzKTtpZigoYT1fLkIoYSxZYmEpKSYmYS5pZGVudGlmaWVyJiZhLmNvbW1hbmQmJihRRHx8KFFEPVtdKSwhUUQuaW5jbHVkZXMoYS5pZGVudGlmaWVyKSkpcmV0dXJuIFFELnB1c2goYS5pZGVudGlmaWVyKSxfLkIoYS5jb21tYW5kLF8uT0QpfTtQRD1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCE9PTApe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKShhPV8uUkQoYykpJiZiLnB1c2goYSk7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOmJ9fX19O18uU0Q9bmV3IF8uSSgiY29tbWFuZEV4ZWN1dG9yQ29tbWFuZCIpO18uT0Q9bmV3IF8uSSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBXYmE9bmV3IF8uSSgicGFyYWxsZWxDb21tYW5kIik7dmFyIFliYT1uZXcgXy5JKCJwZXJmb3JtT25jZUNvbW1hbmQiKTt2YXIgWGJhPW5ldyBfLkkoInNlcmlhbENvbW1hbmQiKTt2YXIgUUQ9dm9pZCAwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlREPW5ldyBfLkkoInJlZWxXYXRjaEVuZHBvaW50Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVUQ9bmV3IF8uVnMoIkNPTU1BTkRfSEFORExFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZEPW5ldyBfLkkoInVybEVuZHBvaW50Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBaYmEsZGNhLCRiYSxlY2E7Xy5XRD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXtfLklwKGIpfX07Xy5ZRD1mdW5jdGlvbihhLGIsYyl7cmV0dXJue2Zvcm06e2N1cnJlbnREYXRhOl8uWEQ/LnJlc3BvbnNlPz97fSxzb3VyY2VEYXRhOmEsZXZlbnQ6Yj8uZXZlbnQsY2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yj8uY2xpY2tlZFZpc3VhbEVsZW1lbnQsaW1wbGljaXRHZXN0dXJlVHlwZTpiPy5pbXBsaWNpdEdlc3R1cmVUeXBlLGF1dG9uYXY6Yj8uYXV0b25hdixCZDpiPy5CZH0sbWQ6Y319OwpfLmJFPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaHYsYz1hLnV4LGQ9YS5iaCxlPWEuSWQsZj1hLnFkLGg9YS5BbyxrPWEuaW5uZXJ0dWJlQ29tbWFuZHx8Xy5SRChkKTtpZihrKXthPXt9O3ZhciB7UnE6bCxocmVmOm19PV8uWkQoayk7bCYmbT8oYS5ocmVmPW0sWmJhKGEsbCxtLGIpLCRiYShhLGwpLGYmJihhLnFkPSEwKSk6KGEucm9sZT0iYnV0dG9uIixhLnRhYmluZGV4PSIwIik7Xy5CKGssYWNhKSYmKGEuYXJpYUhhc1BvcHVwPSEwKTtlfHwoYS5vbmNsaWNrPW49PntsJiZtfHxuLnByZXZlbnREZWZhdWx0KCk7Xy4kRChrKTt2YXIgcD17Li4uXy5ZRChrLHtldmVudDpufSksLi4uaH07bi5wcmV2ZW50RGVmYXVsdCgpO18uYUUoayxwKTtuLnN0b3BQcm9wYWdhdGlvbigpfSxsJiZtfHwoYS5vbmtleWRvd249bj0+e2lmKG4ua2V5PT09IkVudGVyInx8bi5rZXk9PT0iICIpbi5zdG9wUHJvcGFnYXRpb24oKSxuLnByZXZlbnREZWZhdWx0KCksbi5jdXJyZW50VGFyZ2V0LmNsaWNrKCl9KSk7CnJldHVybnsuLi5jLC4uLmF9fX07Xy5aRD1mdW5jdGlvbihhKXthPV8uQihhLF8uU0QpPy5jb21tYW5kc3x8W2FdO2ZvcihsZXQgYiBvZiBhKWlmKGE9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsLF8ueCgid2ViX3JlbW92ZV93ZWJfbmF2aWdhdGlvbl9lbmRwb2ludF9kYXRhIil8fChhPWF8fF8uQihiLGJjYSk/LnVybCksYSYmYSE9PSIvc2VydmljZV9hamF4Iil7bGV0IGM9Xy5iYihhLGNjYSk7aWYoYylyZXR1cm4gYT1fLllhKGMpLHtScTpiLGhyZWY6YX07Xy5JcChuZXcgXy5YaigiQXR0cmlidXRlZFN0cmluZyBVUkwgY291bGQgbm90IGJlIHNhbml0aXplZCIsYSkpfXJldHVybnt9fTsKWmJhPWZ1bmN0aW9uKGEsYixjLGQpe2M9IV8uZmooYyk7aWYoXy5CKGIsXy5jRSk/Lm5vZm9sbG93fHxfLkIoYixfLkF3KT8ubm9mb2xsb3d8fF8uQihiLF8uVkQpPy5ub2ZvbGxvd3x8Xy5CKGIsXy5URCk/Lm5vZm9sbG93fHxjKWEucmVsPSJub2ZvbGxvdyI7YS50YXJnZXQ9ZGNhKGIsZCl9O2RjYT1mdW5jdGlvbihhLGI9IiIpe3JldHVybiBfLkIoYSxfLlZEKT8udGFyZ2V0PT09IlRBUkdFVF9ORVdfV0lORE9XIj8iX2JsYW5rIjpifTskYmE9ZnVuY3Rpb24oYSxiKXtiLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihhLnBhcmFtcz17aXRjdDpiLmNsaWNrVHJhY2tpbmdQYXJhbXN9KTthLm9ucG9pbnRlcmRvd249Yz0+e2VjYShjLGIpfTthLm51PWJ9OwpfLiREPWZ1bmN0aW9uKGEpeyhhLmxvZ2dpbmdVcmxzfHxbXSkuZm9yRWFjaChiPT57dmFyIGM9Yi5iYXNlVXJsO2IuYXR0cmlidXRpb25TcmNNb2RlPT09IkFUVFJJQlVUSU9OX1NSQ19NT0RFX1hIUl9PUFRJT04iPyhjPWRvY3VtZW50LmZlYXR1cmVQb2xpY3k/LmFsbG93ZWRGZWF0dXJlcygpLmluY2x1ZGVzKCJhdHRyaWJ1dGlvbi1yZXBvcnRpbmciKT9jKyImbmlzPTYiOmMrIiZuaXM9NSIsXy5hbihjLHZvaWQgMCx2b2lkIDAsdm9pZCAwLCIiLCEwLCEwKSk6Xy5hbihjKX0pfTtlY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmN1cnJlbnRUYXJnZXQ7YT1fLldEKCgpPT5jLmhyZWYpO2I9Yi5jbGlja1RyYWNraW5nUGFyYW1zP3tpdGN0OmIuY2xpY2tUcmFja2luZ1BhcmFtc306e307YSYmXy51eihhLGIsOCwhMCl9O18uZEU9ZnVuY3Rpb24oYSxiKXsoYT1fLlJEKGEpKSYmXy5hRShhLGIpfTsKXy5hRT1mdW5jdGlvbihhLGIpe18uWXQoXy5VRCxjPT57Yj9jLnJlc29sdmVDb21tYW5kKGEsYik6Yy5yZXNvbHZlQ29tbWFuZChhKX0pfTtfLmNFPW5ldyBfLkkoImJyb3dzZUVuZHBvaW50Iik7dmFyIGJjYT1uZXcgXy5JKCJ3ZWJOYXZpZ2F0aW9uRW5kcG9pbnREYXRhIik7dmFyIGFjYT1uZXcgXy5JKCJtb2RhbEVuZHBvaW50Iik7Xy5mY2E9bmV3IF8uSSgidXNlckZlZWRiYWNrRW5kcG9pbnQiKTtfLmVFPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5kYXRhPVtdO3RoaXMuRGY9bnVsbH1wdXNoKGEpe3RoaXMuRGY/dGhpcy5EZihhKTp0aGlzLmRhdGEucHVzaChhKX19O18uWEQ9e307Xy5mRT1fLkooXy5YRCx2b2lkIDAsIlRIUk9PIilbMF07Xy5KKG51bGwsdm9pZCAwLCJjeDRUSWQiKTtfLkoobnVsbCx2b2lkIDAsIlFYYU91ZCIpO18uSigiIix2b2lkIDAsIkRSV085YyIpO18uSihfLnF6KCk/ITE6ITAsdm9pZCAwLCJ2eXp5aWQiKTtfLmdFPW5ldyBfLmVFO3ZhciBjY2E9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxLF8uTnEsXy5QcV07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ucUg9ZnVuY3Rpb24oYSl7aWYoYS5jb21wb3NlZFBhdGgpcmV0dXJuIGEuY29tcG9zZWRQYXRoKCk7aWYoIWEudW8pe2xldCBiPVtdLGM9YS50YXJnZXQ7Zm9yKDtjOyliLnB1c2goYyksYz1jLnBhcmVudE5vZGU7Yi5wdXNoKHdpbmRvdyk7YS51bz1ifXJldHVybiBhLnVvfTtfLnJIPWZ1bmN0aW9uKGEsYixjKXtmb3IobGV0IGQgb2YgYSl7aWYoZD09PWIpYnJlYWs7Zm9yKGxldCBlIG9mIGMpaWYoZC50YWdOYW1lPT09ZXx8ZC5yb2xlPT09ImJ1dHRvbiImJmU9PT0iQlVUVE9OIilyZXR1cm4hMH1yZXR1cm4hMX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBCZGEsQ2RhLERkYSx2SCx3SCxFZGE7QmRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5vYnNlcnZlcj8/Xy55KCkucmVzb2x2ZShfLkx4KTtpZihhKXt2YXIgZD1hLmpmPz9hLGU9W107Yi5lYiYmZS5wdXNoKGMub2JzZXJ2ZShhLCgpPT57Yi5OYighMCxhKX0sYi5lYikpO2IuTmMmJmUucHVzaChjLm9ic2VydmUoYSwoKT0+e2IuTmIoITEsYSl9LGIuTmMpKTtiLkxoJiZiLkxqJiZlLnB1c2goYy5vYnNlcnZlKGEsKCk9PntiLkxqKCl9LGIuTGgpKTtkLnZpc2liaWxpdHlNb25pdG9yS2V5cz0oZC52aXNpYmlsaXR5TW9uaXRvcktleXM/P1tdKS5jb25jYXQoZSl9fTtfLnRIPWZ1bmN0aW9uKGEpe3JldHVybiEhXy5zSChhKX07Xy51SD1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBmPT57dmFyIGg9Xy5tRygpO18ubkUoKCk9PntpZihmKXtDZGEoZixhKCksZSk7dmFyIGs9RGRhKGYsYSgpLGIsYyxkLGgpO18uWXUoayl9fSwiYWpRWTYiKX19OwpDZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXZIKGIpLGU9d0goYiksZj1kJiZfLm1GLGg9ZSYmXy5uRjsoZHx8ZSkmJkJkYShhLHtOYjprPT57dmFyIGw9Xy55KCkucmVzb2x2ZShfLlVEKTtrJiZkPyhsLnJlc29sdmVDb21tYW5kKGQse2Zvcm06e2VsZW1lbnQ6Yz9hOnZvaWQgMH0sbWQ6ITB9KSxkPXZIKGIpKTohayYmZSYmKGwucmVzb2x2ZUNvbW1hbmQoZSx7Zm9ybTp7ZWxlbWVudDpjP2E6dm9pZCAwfSxtZDohMH0pLGU9d0goYikpfSxlYjpmLE5jOmh9KX07CkRkYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGg9bmV3IE1hcDtpZihiPV8uc0goYikpYT1kPy5vblRhcD8udmFsdWV8fGEsYz1FZGEoYixhLGM/Lm9uVGFwLGUsZiksYS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYyksaC5zZXQoImNsaWNrIixjKSxfLngoIndlYl9lbmFibGVfYWRkaXRpb25hbF9ldmVudF9saXN0ZW5lcl9mb3JfdGFwX2NvbW1hbmQiKSYmKGM9az0+e3ZhciBsPWEudGFnTmFtZTtsPT09IkJVVFRPTiJ8fGw9PT0iQSJ8fGw9PT0iSU5QVVQifHxrLmtleSE9PSJFbnRlciImJmsua2V5IT09IiAifHxlJiZfLnJIKF8ucUgoayksYSxlKXx8KGsucHJldmVudERlZmF1bHQoKSxhLmNsaWNrKCkpfSxhLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGMpLGguc2V0KCJrZXlkb3duIixjKSk7cmV0dXJuKCk9Pntmb3IobGV0IFtrLGxdb2YgaClhLnJlbW92ZUV2ZW50TGlzdGVuZXIoayxsKX19OwpfLnNIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vblRhcCkmJl8uUkQoYSl9O3ZIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vblZpc2libGUpJiZfLlJEKGEpfTt3SD1mdW5jdGlvbihhKXtyZXR1cm4oYT1fLkIoYSxfLnhIKT8ub25IaWRkZW4pJiZfLlJEKGEpfTtfLnlIPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJEKF8uQihhLF8ueEgpPy5vbkhvdmVyU3RhcnQpfTtfLnpIPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJEKF8uQihhLF8ueEgpPy5vbkhvdmVyRW5kKX07RWRhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9az0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSxrKX0saD1rPT57ZCYmXy5ySChfLnFIKGspLGIsZCl8fGYoay50YXJnZXQ/e2Zvcm06e2VsZW1lbnQ6ay50YXJnZXQsc291cmNlRGF0YTphLG11dGF0aW9uQ29udGV4dDplfX06dm9pZCAwKX07YyYmKGg9az0+e2MoayxmKX0pO3JldHVybiBofTtfLnhIPW5ldyBfLkkoImNvbW1hbmRDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uakg9bmV3IF8uVnMoIktFWV9NQU5BR0VSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUD1mdW5jdGlvbiguLi5hKXt2YXIgYj0hMDtmb3IobGV0IGMgb2YgYSlpZih0eXBlb2YgYyE9PSJzdHJpbmciKXtiPSExO2JyZWFrfXJldHVybiBiP2Euam9pbigiICIpLnRyaW0oKXx8dm9pZCAwOigpPT57dmFyIGM9IiI7Zm9yKGxldCBkIG9mIGEpaWYodHlwZW9mIGQ9PT0iZnVuY3Rpb24iJiYoZD1kKCkpLGQpaWYodHlwZW9mIGQ9PT0ic3RyaW5nIiljKz0iICIrZDtlbHNlIGZvcihsZXQgZSBpbiBkKXtpZighZC5oYXNPd25Qcm9wZXJ0eShlKSljb250aW51ZTtsZXQgZj1kW2VdO3R5cGVvZiBmPT09ImZ1bmN0aW9uIiYmKGY9ZigpKTtmJiYoYys9IiAiK2UpfWM9Yy50cmltKCl8fHZvaWQgMDtyZXR1cm4gXy5CdihjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga0g7a0g9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9PmEoKT9hKCk6dm9pZCAwfTsKXy5uSD1fLkwoYT0+e3ZhciBiPV8udUUoImEiLGEucmVmKSxjPWEudWM/YS51YzpfLk4oKCk9Pl8uYkUoe2lubmVydHViZUNvbW1hbmQ6Xy5SRChhLmNvbW1hbmQ/LigpKT8/YS5jb21tYW5kPy4oKSxJZDphLklkPy4oKSxodjphLnRhcmdldD8uKCl9KXx8e30sdm9pZCAwLCJUQXZ6MCIpO3JldHVybiBfLksoImEiLHtlbDpiLGhyZWY6KCk9PmMoKS5ocmVmLHJlbDooKT0+YygpLnJlbCxjbGFzczooKT0+YygpLmNsYXNzTmFtZT8/YS5jbGFzc05hbWU/LigpLHN0eWxlOigpPT57aWYoYS5zdHlsZT8uKCkpcmV0dXJuIGEuc3R5bGUoKTtpZihhLmRpc2FibGVkPy4oKSlyZXR1cm4icG9pbnRlci1ldmVudHM6bm9uZSJ9LCJhcmlhLWhhc3BvcHVwIjooKT0+ISFjKCkuYXJpYUhhc1BvcHVwLCJmb3JjZS1uZXctc3RhdGUiOmtIKCgpPT5jKCkucWQpLHRpdGxlOmtIKCgpPT5jKCkudGl0bGU/P2EudGl0bGU/LigpKSxyb2xlOmtIKCgpPT5hLnJvbGU/LigpfHxjKCkucm9sZSksdGFyZ2V0OmtIKCgpPT4KYygpLnRhcmdldCksZGlyOmtIKCgpPT5hLmRpcj8uKCl8fGMoKS5kaXIpLHRhYmluZGV4OigpPT5jKCkudGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGMoKS50YWJpbmRleCk6YS50YWJJbmRleD8uKCksImFyaWEtaGlkZGVuIjooKT0+YygpLmFyaWFIaWRkZW4/P2EuYXJpYUhpZGRlbj8uKCksImFyaWEtbGFiZWwiOigpPT5jKCkuYXJpYUxhYmVsPz9hLmFyaWFMYWJlbD8uKCksImFyaWEtY3VycmVudCI6YS5hcmlhQ3VycmVudCwiYXJpYS1kaXNhYmxlZCI6YS5kaXNhYmxlZCwiYXJpYS1leHBhbmRlZCI6YS5hcmlhRXhwYW5kZWQsImFyaWEtbGFiZWxsZWRieSI6YS5IbywiYXJpYS1kZXNjcmliZWRieSI6YS5IZSwiYXJpYS1zZWxlY3RlZCI6YS5hcmlhU2VsZWN0ZWQsInRhYi1pZGVudGlmaWVyIjphLnRhYklkZW50aWZpZXIsIm9uOnBvaW50ZXJkb3duIjpmdW5jdGlvbihkKXtjKCkub25wb2ludGVyZG93bj8uKGQpfSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2MoKS5vbmNsaWNrPy4oZCk7CmEub25DbGljaz8uKGQpfSwib246Zm9jdXNpbiI6YS5keiwib246Zm9jdXNvdXQiOmEuZXosIm9uOm1vdXNlZW50ZXIiOmZ1bmN0aW9uKGQpe2Eub25Ib3Zlcj8uKGQpO2EuaXo/LihkKX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKGQpe2Euano/LihkKX0sIm9uOmtleWRvd24iOmZ1bmN0aW9uKGQpe2MoKS5vbmtleWRvd24/LihkKX19LGEuY2hpbGRyZW4pfSwidCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZDPV8uTCgoe2NvbW1hbmQ6YSxyZW5kZXJlckNvbnRleHQ6YixjaGlsZHJlbjpjLGNsYXNzTmFtZTpkLFp2OmUsc3R5bGU6ZixvbkNsaWNrOmgsYXJpYUN1cnJlbnQ6ayxIZTpsLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6bixIbzpwLGFyaWFTZWxlY3RlZDpyLGRpc2FibGVkOnQsZGlyOnYsdGFiSW5kZXg6eix0YXJnZXQ6RSx0aXRsZTpBLHRvZ2dsZWFibGU6Rix0b2dnbGVkOkN9KT0+e2Z1bmN0aW9uIEcobWEpe3ZhciB0YT1fLnNIKGI/LigpKT8/YT8uKCk7aWYodGEpe2xldCBUPW1hLnRhcmdldD97Zm9ybTp7ZWxlbWVudDptYS50YXJnZXQsc291cmNlRGF0YTp0YSxtdXRhdGlvbkNvbnRleHQ6VX19OnZvaWQgMDtfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKHRhLFQpfWg/LihtYSl9ZnVuY3Rpb24gRCgpe29hKFM/LlhlKCk/PyExKX1mdW5jdGlvbiBIKCl7b2EoITEpfWZ1bmN0aW9uIFIoKXt2YXIgbWE9Xy55SChiPy4oKSk7bWEmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQobWEpfQpmdW5jdGlvbiBNKCl7dmFyIG1hPV8uekgoYj8uKCkpO21hJiZfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKG1hKX12YXIgUz1fLnkoKS5yZXNvbHZlKF8uSW4oXy5qSCkpLFtZLHBhXT1fLkooITEsdm9pZCAwLCJUTkxKRWMiKSxvYT1wYSxVPV8ubUcoKSxoYT0oKT0+Rj8uKCk/Qz8uKCk6dm9pZCAwO3JldHVybiBfLksoXy5PLHtBOmZ1bmN0aW9uKCl7dmFyIG1hPV8uc0goYj8uKCkpPz9hPy4oKSx0YTtpZih0YT1tYSl7bGV0IHtScTpULGhyZWY6YmF9PV8uWkQobWEpO3RhPSEoIVR8fCFiYSl9cmV0dXJuIHRhfSx0aGVuOigpPT5fLksoXy5uSCx7Y29tbWFuZDphLHN0eWxlOmYsSGU6bCxhcmlhSGlkZGVuOm0sYXJpYUxhYmVsOm4sSG86cCxhcmlhU2VsZWN0ZWQ6cixkaXNhYmxlZDp0LGRpcjp2LHRhYkluZGV4OnosdGFyZ2V0OkUsdGl0bGU6QSxvbkNsaWNrOmgsY2xhc3NOYW1lOl8uUCgieXRCdXR0b25PckFuY2hvckhvc3QiLCJ5dEJ1dHRvbk9yQW5jaG9yQW5jaG9yIiwKZCwoKT0+WSgpP2U/LigpOiIiKSxkejpELGV6OkgsaXo6UixqejpNLGFyaWFDdXJyZW50OigpPT5rPy4oKT8/aGEoKX0sYyksVzooKT0+Xy5LKCJidXR0b24iLHsib246Y2xpY2siOkcsIm9uOmZvY3VzaW4iOkQsIm9uOmZvY3Vzb3V0IjpILCJvbjptb3VzZWVudGVyIjpSLCJvbjptb3VzZWxlYXZlIjpNLGNsYXNzOl8uUCgieXRCdXR0b25PckFuY2hvckhvc3QiLCJ5dEJ1dHRvbk9yQW5jaG9yQnV0dG9uIixkLCgpPT5ZKCk/ZT8uKCk6IiIpLHN0eWxlOmYsImFyaWEtZGVzY3JpYmVkYnkiOmwsImFyaWEtaGlkZGVuIjptLCJhcmlhLWxhYmVsIjpuLCJhcmlhLWxhYmVsbGVkYnkiOnAsImFyaWEtcHJlc3NlZCI6aGEsZGlyOnYsZGlzYWJsZWQ6dCx0YWJpbmRleDooKT0+ej8uKCk/PygoXy5Pa3x8Xy5yeigpKSYmXy54KCJ3ZWJfZW5hYmxlX3NhZmFyaV9idXR0b25fdGFiaW5kZXhfZml4Iik/MDp2b2lkIDApLHRpdGxlOkF9LGMpfSl9LCJ2Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIlpRS3gxIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSUU9ZnVuY3Rpb24oLi4uYSl7cmV0dXJuKCk9Pnt2YXIgYj0iIjtmb3IobGV0IGMgb2YgYSl7bGV0IGQ9dHlwZW9mIGM9PT0iZnVuY3Rpb24iP2MoKTpjO2lmKGQpZm9yKGxldCBlIGluIGQpe2xldCBmPWRbZV07Zm9yKDt0eXBlb2YgZj09PSJmdW5jdGlvbiI7KWY9ZigpO2YhPT12b2lkIDAmJmYhPT1udWxsJiYoYis9YDsgJHtlfTogJHtmfWApfX1yZXR1cm4gYi5sZW5ndGg+MD9fLkJ2KGIuc2xpY2UoMikpOl8uQnYoKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnJGPWZ1bmN0aW9uKC4uLmEpe3JldHVybiBfLnZFKF8uQkUsYj0+e3ZhciBjPWEubWFwKGQ9PmQ/LihiKSk7cmV0dXJuKCk9PnZvaWQgYy5mb3JFYWNoKGQ9PnZvaWQgZD8uKCkpfSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmhLPWZ1bmN0aW9uKCl7Z0t8fChnSz1uZXcgTGVhKTtyZXR1cm4gZ0t9O3ZhciBNZWE9Xy5MKGE9PntmdW5jdGlvbiBiKGhhKXtpZihoYSl7dmFyIG1hPU0uZ2V0KGhhKTttYSYmKG1hLmNhbmNlbCgpLE0uZGVsZXRlKGhhKSk7Zm9yKGxldCB0YSBvZiBoYS5nZXRBbmltYXRpb25zKCkpdGEuY2FuY2VsKCl9fWZ1bmN0aW9uIGMoaGEsbWEsdGEpe21hPV8uamYuR2EobWEsMyx0YSk7Uy5zZXQoaGEsbWEpfWZ1bmN0aW9uIGQoKXttKCExKTtpZihSKXt2YXIgaGE9UjtSPW51bGw7dmFyIG1hPURhdGUubm93KCktRztjKGhhLCgpPT57Uy5kZWxldGUoaGEpO3ZhciB7d2lkdGg6dGEsaGVpZ2h0OlQsb3BhY2l0eTpiYX09d2luZG93LmdldENvbXB1dGVkU3R5bGUoaGEpLGFhPU51bWJlci5wYXJzZUZsb2F0KHRhKXx8MCxPYT1OdW1iZXIucGFyc2VGbG9hdChUKXx8MCxKYj1OdW1iZXIucGFyc2VGbG9hdChiYSl8fC41O2hhLnN0eWxlLndpZHRoPWAke2FhfXB4YDtoYS5zdHlsZS5oZWlnaHQ9YCR7T2F9cHhgO2hhLnN0eWxlLm9wYWNpdHk9YCR7SmJ9YDtiKGhhKTthYT0KVT8wOjJFMztoYS5zdHlsZS50cmFuc2l0aW9uPWBvcGFjaXR5ICR7YWF9bXMgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSlgO2hhLnN0eWxlLm9wYWNpdHk9aGEub2Zmc2V0V2lkdGg9PT0tMT8iMSI6IjAiO2MoaGEsKCk9PntTLmRlbGV0ZShoYSk7aGEuc3R5bGUuY3NzVGV4dD0iIn0sYWErMTAwKX0sTWF0aC5tYXgoMCwzMDAtbWEpKX19ZnVuY3Rpb24gZSgpe2QoKTtDPW51bGx9dmFyIHtjbGFzc05hbWU6ZixzdHlsZTpofT1fLkRDKGEse2NsYXNzTmFtZToiIixzdHlsZToiZGVmYXVsdCJ9KSxbayxsXT1fLkooITEsdm9pZCAwLCJLYlVUamYiKSxtPWwsW24scF09Xy5KKHZvaWQgMCx2b2lkIDAsIkdlRnZFZiIpLFtyLHRdPV8uSih2b2lkIDAsdm9pZCAwLCJpM2ZkVmUiKSxbdix6XT1fLkoodm9pZCAwLHZvaWQgMCwiTGVkVjRiIiksRT1fLnJGKCksQT1fLnJGKCksRj1fLnJGKCksQz1udWxsLEc9MCxEPTAsSD0hMCxSPW51bGwsTT1uZXcgTWFwLFM9bmV3IE1hcCxZPTAscGE9CjAsb2E9bnVsbCxVPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXM7Xy5ZdSgoKT0+e2ZvcihsZXQgaGEgb2YgUy52YWx1ZXMoKSlfLmpmLkFhKGhhKTtTLmNsZWFyKCk7YihBLnZhbHVlKTtiKEYudmFsdWUpO29hIT09bnVsbCYmXy5qZi5BYShvYSl9KTtyZXR1cm4gXy5LKCJ5dC1saWdodC10b3VjaC1mZWVkYmFjay1zaGFwZSIse2VsOkUsY2xhc3M6Xy5QKCJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdCIsZix7eXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQ6ayx5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdDooKT0+aCgpPT09ImRlZmF1bHQiLHl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlOigpPT5oKCk9PT0iaW52ZXJzZSJ9KSwib246cG9pbnRlcmVudGVyIjpmdW5jdGlvbigpe3ZhciBoYT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/Cm51bGwpO2hhJiZ6KGAkeyhoYS5oZWlnaHR8fDApKjIuNX1weGApfSwib246cG9pbnRlcmRvd24iOmZ1bmN0aW9uKGhhKXt2YXIgbWE9RGF0ZS5ub3coKTtpZighKG1hLUQ8MTAwKSl7RD1tYTttKCEwKTt2YXIgdGE9Qz8/KEM9RS52YWx1ZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P251bGwpO2lmKHRhKXt2YXIgVD1oYS5jbGllbnRYLXRhLmxlZnQ7aGE9aGEuY2xpZW50WS10YS50b3A7dmFyIGJhPU1hdGgubWF4KCh0YS53aWR0aHx8MCkqMiwodGEuaGVpZ2h0fHwwKSo4LjUpLGFhPWJhLzQwOCoxNDAwO3RhPUg/QS52YWx1ZTpGLnZhbHVlO0g9IUg7aWYoUj10YSl7dGEuc3R5bGUuY3NzVGV4dD0iIjtiKHRhKTtsZXQgT2E9Uy5nZXQodGEpO09hIT09dm9pZCAwJiYoXy5qZi5BYShPYSksUy5kZWxldGUodGEpKTt0YS5zdHlsZS5sZWZ0PWAke1R9cHhgO3RhLnN0eWxlLnRvcD1gJHtoYX1weGA7VXx8KFQ9bmV3IEtleWZyYW1lRWZmZWN0KHRhLFt7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgiLApvcGFjaXR5OiIwLjMwNiJ9LHt3aWR0aDpgJHtiYSouMjV9cHhgLGhlaWdodDpgJHtiYSouMjV9cHhgLG9wYWNpdHk6IjAuNzc0IixvZmZzZXQ6LjI1fSx7d2lkdGg6YCR7YmEqLjZ9cHhgLGhlaWdodDpgJHtiYSouNn1weGAsb3BhY2l0eToiMC44MjgiLG9mZnNldDouNn0se3dpZHRoOmAke2JhfXB4YCxoZWlnaHQ6YCR7YmF9cHhgLG9wYWNpdHk6IjAuOSJ9XSx7ZHVyYXRpb246YWEsZmlsbDoiZm9yd2FyZHMiLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMTcsIDAuMTcsIDAuMSwgMSkifSksVD1uZXcgQW5pbWF0aW9uKFQsZG9jdW1lbnQudGltZWxpbmUpLE0uc2V0KHRhLFQpLFQucGxheSgpKX1HPW1hfX19LCJvbjpwb2ludGVydXAiOmQsIm9uOnBvaW50ZXJsZWF2ZSI6ZSwib246cG9pbnRlcmNhbmNlbCI6ZSwib246cG9pbnRlcm1vdmUiOmZ1bmN0aW9uKGhhKXt2YXIgbWE9Qz8/KEM9RS52YWx1ZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P251bGwpO21hJiYoWT1oYS5jbGllbnRYLQptYS5sZWZ0LHBhPWhhLmNsaWVudFktbWEudG9wLGsoKSYmKGhhLmNsaWVudFg8bWEubGVmdHx8aGEuY2xpZW50WD5tYS5yaWdodHx8aGEuY2xpZW50WTxtYS50b3B8fGhhLmNsaWVudFk+bWEuYm90dG9tKT9kKCk6b2E9PT1udWxsJiYob2E9Xy5qZi5HYSgoKT0+e29hPW51bGw7cChgJHtZfXB4YCk7dChgJHtwYX1weGApfSwzKSkpfSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKCJkaXYiLHtjbGFzczoieXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheSJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodCIsc3R5bGU6Xy5JRSh7bGVmdDpuLHRvcDpyLHdpZHRoOnYsaGVpZ2h0OnZ9KX0pLF8uSygiZGl2Iix7ZWw6QSxjbGFzczoieXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVRvdWNoTGlnaHQifSksXy5LKCJkaXYiLHtlbDpGLGNsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodCJ9KSl9LCJhYSIpO3ZhciBMZWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLmo9bmV3IE1hcDt2YXIgW2EsYl09Xy5KKFtdLHZvaWQgMCwiSUtmWkJkIik7dGhpcy52PWI7dGhpcy5vPV8uTigoKT0+e3ZhciBjPWEoKTtmb3IobGV0IGQgb2YgYylkLlB5Py4oKTtyZXR1cm4gYy5tYXAoZD0+ZC5lbGVtZW50KX0sdm9pZCAwLCJaTVJ0d2QiKX1sYSgpe2dLPW51bGw7c3VwZXIubGEoKX19LGdLPW51bGw7Xy55RT1fLkwoYT0+e3ZhciBiPV8udkUoXy5CRSksW2MsZF09Xy5KKHt4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9LHZvaWQgMCwiR3dYY0RkIiksZT0oKT0+e2lmKGEuY29uZmlnKCk/LmprKXt2YXIgaD1iLnZhbHVlO2lmKGgpe3ZhciBrPV8uaEsoKS5vO3ZhciBsPWsoKTtpZihsLmxlbmd0aCl7bGV0IHQ9aC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtrPXQubGVmdCt0LndpZHRoLzI7dmFyIG09dC50b3ArdC5oZWlnaHQvMjtsZXQgdj1JbmZpbml0eTt2YXIgbj0wLHA9MDtsZXQgej05Njtmb3IobGV0IEUgb2YgbCl7aWYoRT09PWh8fCFFLmlzQ29ubmVjdGVkfHxFLm9mZnNldFBhcmVudD09PW51bGwpY29udGludWU7bD1FLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGwud2lkdGg9PT0wJiZsLmhlaWdodD09PTApY29udGludWU7bGV0IEE9TWF0aC5tYXgobC5sZWZ0LE1hdGgubWluKGssbC5yaWdodCkpLEY9TWF0aC5tYXgobC50b3AsTWF0aC5taW4obSxsLmJvdHRvbSkpO3ZhciByPQpBLU1hdGgubWF4KHQubGVmdCxNYXRoLm1pbihBLHQucmlnaHQpKTtsZXQgQz1GLU1hdGgubWF4KHQudG9wLE1hdGgubWluKEYsdC5ib3R0b20pKTtyPXIqcitDKkM7cjx2JiYodj1yLG49QSxwPUYsej1NYXRoLm1heChsLndpZHRoLGwuaGVpZ2h0KSl9aD1NYXRoLnNxcnQodik7ZChoPDEwMD97eDpuLWsseTpwLW0sb3BhY2l0eToxLWgvMzAwLHNpemU6TWF0aC5tYXgoOTYseioyLjUpfTp7eDowLHk6MCxvcGFjaXR5OjAsc2l6ZTowfSl9ZWxzZSBkKHt4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9KX19fTtfLm5FKCgpPT57aWYoYS5jb25maWcoKT8uamspe3ZhciBoPW5ldyBfLld0KGUsMTAwKSxrPSgpPT57aC52KCl9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGspO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsayk7aC5kaXNwb3NlKCl9fX0sInJQWUMxZCIpO18ubkUoKCk9PnthLmNvbmZpZygpPy5qayYmZSgpfSwiUXA2UFJkIik7CnZhciBmPSgpPT5hLmNvbmZpZygpPy5WYSE9PTUmJmEuY29uZmlnKCk/LlZhIT09OSYmYS5jb25maWcoKT8uVmEhPT02O3JldHVybiBfLksoXy5PLHtBOigpPT5hLmNvbmZpZygpPy5WYSE9PTAmJiFfLmdyLHRoZW46KCk9Pl8uSygieXQtbGlnaHQtc2hhcGUiLHtlbDpiLCJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzOl8uUCgiY29udHJpYll0TGlnaHRTaGFwZUhvc3QiLGEuY2xhc3NOYW1lLHtjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHQ6KCk9PiEwLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTEsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09Myxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZEludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Mixjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRUb25hbEludmVyc2U6KCk9PgphLmNvbmZpZygpPy5WYT09PTQsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheVRvbmFsOigpPT5hLmNvbmZpZygpPy5WYT09PTgsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheVNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTcsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZTooKT0+YS5jb25maWcoKT8uVmE9PT01LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOigpPT5hLmNvbmZpZygpPy5WYT09PTksY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Nn0pLHN0eWxlOl8uSUUoeyItLXl0LWxpZ2h0LXJpbS1jb2xvciI6KCk9PmEuY29uZmlnKCk/LmR2LCItLXl0LWxpZ2h0LXdhc2gtb3BhY2l0eSI6KCk9PmMoKS5vcGFjaXR5LCItLXl0LWxpZ2h0LXdhc2gteCI6KCk9PmAke2MoKS54fXB4YCwiLS15dC1saWdodC13YXNoLXkiOigpPT4KYCR7YygpLnl9cHhgLCItLXl0LWxpZ2h0LXdhc2gtc2l6ZSI6KCk9PmAke2MoKS5zaXplfXB4YH0pfSxfLksoXy5PLHtBOigpPT5hLmNvbmZpZygpPy5qayx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJjb250cmliWXRMaWdodFNoYXBlRHluYW1pY1dhc2hMaWdodCJ9KX0pLF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LkNCLHRoZW46KCk9Pl8uSyhNZWEse3N0eWxlOigpPT57dmFyIGg7YTp7aWYoaD1hLmNvbmZpZygpPy5WYSlzd2l0Y2goaCl7Y2FzZSAxOmNhc2UgNDpoPSJkZWZhdWx0IjticmVhayBhO2Nhc2UgMjpjYXNlIDM6Y2FzZSA1Omg9ImludmVyc2UiO2JyZWFrIGF9aD12b2lkIDB9cmV0dXJuIGh9fSl9KSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoImNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHQiLHtjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U2FmYXJpOigpPT5fLk9rfHxfLklsLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZDooKT0+CmEuY29uZmlnKCk/LlZhPT09MSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09Myxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U29saWRJbnZlcnNlOigpPT5hLmNvbmZpZygpPy5WYT09PTIsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFRvbmFsSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT00LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09OCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTd9KSxzdHlsZTpfLklFKHtiYWNrZ3JvdW5kOigpPT5gcmFkaWFsLWdyYWRpZW50KCR7YS5jb25maWcoKT8uZXZ9LCB0cmFuc3BhcmVudClgfSl9KX0pKX0pfSwiZGEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibnZYNFZiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBoRyxkZGEsY2RhLGlHLGpHO18uZkc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oQXJyYXkuaXNBcnJheShhKT9hOkFycmF5LmZyb20oYSkpLm1hcChiKX07Xy5nRz1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEucGEhPT0iZnVuY3Rpb24iP18uZkcoYS5wYSxhLmNoaWxkcmVuKTphLnRiPT09IklOREVYIj9jZGEoYSk6ZGRhKGEpfTtoRz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYSliPy4oKX07CmRkYT1mdW5jdGlvbihhKXt2YXIgYj1hLnRiPT09dm9pZCAwfHxhLnRiPT09IlJFRkVSRU5DRSIsYz1iP249Pm46YS50YixkPVtdLGU9W10sZj1bXSxoPVtdLGs9W10sbD1bXSxtPSEwO18uWXUoKCk9PntoRyhoKX0pO3JldHVybiBfLlhCKCgpPT57dmFyIG49aUcoYSkscD1uLmxlbmd0aDtpZihwPT09MCl7aWYoZC5sZW5ndGg9PT0wJiYhbSlyZXR1cm4gZjtoRyhoKTtkPW47ZT1bXTtmb3Iobj0wO248ZC5sZW5ndGg7bisrKWUucHVzaChjKGRbbl0pKTtmPVtdO2g9W107az1bXTtsPVtdO2EuZmFsbGJhY2smJihoWzBdPWpHKCgpPT57ZlswXT1fLmZDKGEuZmFsbGJhY2soKSl9KSk7bT0hMTtyZXR1cm4gZn12YXIgcj1uZXcgZWRhO2Zvcih2YXIgdD1kLmxlbmd0aC0xO3Q+PTA7dC0tKXIucHVzaChlW3RdLHQpO3Q9QXJyYXkocCk7dmFyIHY9QXJyYXkocCksej1BcnJheShwKSxFPUFycmF5KHApLEE9QXJyYXkoYj8wOnApO2ZvcihsZXQgRj0wO0Y8cDtGKyspe2xldCBDPW5bRl0sRz1jKEMpLApEPXIucG9wKEcpO0QhPW51bGw/KHpbRl09ZltEXSx2W0ZdPWVbRF0sdFtGXT1oW0RdLEVbRl09a1tEXSxifHwoQVtGXT1sW0RdKSxfLnJDKCgpPT57RVtGXShGKTtpZighYilBW0ZdKEMpfSksZGVsZXRlIGhbRF0pOnRbRl09akcoKCk9Pnt2YXIgSD1fLkooRix2b2lkIDAsIlBMVDFzIiksUj1IWzBdO0VbRl09SFsxXTt2W0ZdPUc7aWYoYil6W0ZdPV8uZkMoYS5jaGlsZHJlbihDLFIpKTtlbHNle2xldCBNPV8uSihDLHZvaWQgMCwiYms4UkpkIiksUz1NWzBdO0FbRl09TVsxXTt6W0ZdPV8uZkMoYS5jaGlsZHJlbihTLFIpKX19KX1oRyhoKTtkPW47ZT12O2Y9ejtoPXQ7az1FO2w9QTttPSExO3JldHVybiB6fSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/Im5zVEdIZCIsenA6YS5wYSxXZTohMH0pfTsKY2RhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9W10sZD1bXSxlPVtdLGY9ITE7Xy5ZdSgoKT0+e2hHKGUpfSk7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgaD1pRyhhKTtmJiZoLmxlbmd0aD4wJiYoZS5wb3AoKSgpLGIucG9wKCksZj0hMSk7dmFyIGs9QXJyYXkoaC5sZW5ndGgpO2ZvcihsZXQgbT0wO208aC5sZW5ndGg7bSsrKXtpZihtPGIubGVuZ3RoKXtiW21dIT09aFttXSYmKF8uckMoKCk9PnZvaWQgY1ttXShoW21dKSksYlttXT1oW21dKTtrW21dPWRbbV07Y29udGludWV9dmFyIGw9akcoKCk9PntiW21dPWhbbV07dmFyIG49Xy5KKGhbbV0sdm9pZCAwLCJ1aUMwY2IiKSxwPW5bMF07Y1ttXT1uWzFdO2tbbV09Xy5mQyhhLmNoaWxkcmVuKHAsbSkpfSk7ZVttXT1sfWZvcig7Yi5sZW5ndGg+aC5sZW5ndGg7KWIucG9wKCksZS5wb3AoKSgpLGMucG9wKCk7aC5sZW5ndGg9PT0wJiYhZiYmYS5mYWxsYmFjayYmKGw9akcoKCk9PntrWzBdPV8uZkMoYS5mYWxsYmFjaygpKX0pLGVbMF09bCxmPQohMCk7cmV0dXJuIGQ9a30se2RlYnVnTmFtZTphLmRlYnVnSW5zdGFuY2U/PyJuc1RHSGQiLFdlOiEwfSl9O2lHPWZ1bmN0aW9uKGEpe2E9YS5wYSgpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6QXJyYXkuZnJvbShhKX07akc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DQSgpO3JldHVybiBfLnV2KGM9Pnt2YXIgZD1fLmt1KF8uenYpO3RyeXtjLnBhcmVudD1iLGEoYyl9ZmluYWxseXtfLmt1KGQpfX0sITEpfTt2YXIgZWRhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9bmV3IE1hcH1wdXNoKGEsYil7dmFyIGM9dGhpcy5tYXA7aWYoYy5oYXMoYSkpe3RoaXMuanx8KHRoaXMuaj1uZXcgTWFwKTtpZih0aGlzLmo/LmhhcyhiKSl0aHJvdyBfLlV1KEVycm9yKCJaY2AiK2IpLDQpO3RoaXMuai5zZXQoYixjLmdldChhKSl9Yy5zZXQoYSxiKX1wb3AoYSl7dmFyIGI9dGhpcy5tYXAsYz1iLmdldChhKTtjIT09dm9pZCAwJiZ0aGlzLmo/LmhhcyhjKT8oYi5zZXQoYSx0aGlzLmouZ2V0KGMpKSx0aGlzLmouZGVsZXRlKGMpKTpiLmRlbGV0ZShhKTtyZXR1cm4gY319Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga2NhLGxjYSxGRSxHRTtfLkNFPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtfLkRFPWZ1bmN0aW9uKGEpe3JldHVybntpc0RlZmF1bHQ6ITAsY2hpbGRyZW46YS5jaGlsZHJlbn19O18uRUU9ZnVuY3Rpb24oYSl7cmV0dXJuIGtjYShhKX07CmtjYT1mdW5jdGlvbihhKXt2YXIgYj1sY2EoYSksYz1fLk4oKCk9PnthOnt2YXIgZD0tMTtmb3IobGV0IGU9MDtlPGIubGVuZ3RoO2UrKyl7bGV0IGY9YltlXTtmPy5bXy5Mdl0mJihmPUZFKGYpKTtmIGluc3RhbmNlb2YgXy5kQyYmKGY9R0UoZikpO2lmKGYuaXNEZWZhdWx0KWQ9PT0tMSYmKGQ9ZSk7ZWxzZSBpZihfLkJ2KGYud2hlbikpe2Q9ZTticmVhayBhfX19cmV0dXJuIGR9LHZvaWQgMCwiTVNUeFdiIik7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgZD1jKCksZTtfLnV2KCgpPT57dmFyIGY9Xy5rdShfLnp2KTt0cnl7aWYoZD09PS0xKWU9bnVsbDtlbHNle3ZhciBoPWJbZF07dmFyIGs9aD8uW18uTHZdP0ZFKGgpOmggaW5zdGFuY2VvZiBfLmRDP0dFKGgpOmg7dmFyIGw9az09PW51bGw/bnVsbDprLmlzRGVmYXVsdD9rLmNoaWxkcmVuKCk6dHlwZW9mIGsud2hlbj09PSJmdW5jdGlvbiI/ay5jaGlsZHJlbihfLk5DKGsud2hlbiwiQ2FzZSIpKTprLmNoaWxkcmVuKGsud2hlbik7ZT1fLmZDKGwpfX1maW5hbGx5e18ua3UoZil9fSk7CnJldHVybiBlfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/InZJMXJ0ZiIsV2U6ITB9KX07bGNhPWZ1bmN0aW9uKGEpe2E9YS5jaGlsZHJlbjtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9hOlthXX07RkU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHlwZT09PV8uREU/e2lzRGVmYXVsdDohMCxjaGlsZHJlbjphLmNoaWxkcmVuWzBdfTp7d2hlbjphLnByb3BzLndoZW4sY2hpbGRyZW46YS5jaGlsZHJlblswXX19O0dFPWZ1bmN0aW9uKGEpe3ZhciBiPWEucHJvcHM7YT1hLmNoaWxkcmVuWzBdO3JldHVybiBiLndoZW4/e3doZW46Yi53aGVuLGNoaWxkcmVuOmF9Ontpc0RlZmF1bHQ6ITAsY2hpbGRyZW46YX19O18uQ0UuZGVidWdOYW1lPSJ0YmhNY2YiO18uREUuZGVidWdOYW1lPSJ6eU1GemIiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRGNhO0RjYT1mdW5jdGlvbihhKXtzd2l0Y2goYS5acSl7Y2FzZSBfLlF2Ol8uVXYuc2NoZWR1bGUoYSk7YnJlYWs7ZGVmYXVsdDpfLmViKGEuWnEsdm9pZCAwKX19O18ub0Y9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8uV3UpUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoInliIiksMik7fSk7ZWxzZXtpZigoMCxfLmx2KShfLmp1KSl0aHJvdyBfLlV1KEVycm9yKCJ6YiIpLDQpO3ZhciBiPV8uWnQsYz1fLk11O0RjYSh7WnE6Xy5RdixydW46KCk9PntpZihiJiYhYi5pYSl7dmFyIGQ9Xy4kdChiKTt0cnl7Xy5SdSgoKT0+e3ZhciBlPWEoKTt0eXBlb2YgZT09PSJmdW5jdGlvbiImJl8uWXUoZSl9LGMpfWNhdGNoKGUpe18uVXUoZSw0KSxfLm92KGUpfWZpbmFsbHl7Xy4kdChkKX19fX0pfX07Xy5LQj1fLmxDO18ucUY9U3ltYm9sKCJYYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgV0osVko7Xy5USj1mdW5jdGlvbihhLGIpe3ZhciBjPV8ucEUoIm9uQ2hhbmdlIiksZD1fLm9FKCk7Xy5xRShjLm1sLGIpJiYoYy5tbD1iLGMuc3I9YSxkLnVmfHwoZC51Zj1bXSksZC51Zi5wdXNoKGMpKX07Xy5VSj1mdW5jdGlvbihhKXtfLkhBKCk/Xy5vRigoKT0+Xy5FQShhKSk6Xy5USigoKT0+Xy5FQShhKSxbXSl9O1dKPWZ1bmN0aW9uKGEpe3ZhciBiPVsuLi5hXTthLmxlbmd0aD0wO2ZvcihsZXQgYyBvZiBiKWlmKFZKKGMpLGE9Yy5zcixjLnNyPW51bGwsYT1hPy4oKSljLnJyPWF9O1ZKPWZ1bmN0aW9uKGEpe3ZhciBiPWEucnI7YS5ycj1udWxsO2I/LigpfTtfLmR3KHtTbyhhKXt2YXIgYj1fLiR0KGEucWwpO3RyeXthLnVmPy5sZW5ndGgmJldKKGEudWYpfWZpbmFsbHl7Xy4kdChiKX19LEdmKGEpe3ZhciBiPV8uJHQoYS5xbCk7dHJ5e2EudWY/Lmxlbmd0aCYmV0ooYS51Zil9ZmluYWxseXtfLiR0KGIpfX0sSGYoYSl7YS5aZj8ubGVuZ3RoJiZhLlpmLmZvckVhY2goVkopfX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFEPW51bGw7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBoZGEsaWRhLGtkYSxtZGEscUcsbmRhLHNHLHJHLHVHLHdHLHZHLHhHLHRHLG9kYSxwZGEsc2RhLEJHLHRkYSxBRyxyZGEscWRhLGpkYSxsZGE7aGRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5hRCxkPTA7Xy5hRD17c3U6KCk9PntkKys7Xy5yQygoKT0+e2EoITEpfSl9LEhyOigpPT57LS1kPT09MCYmXy5yQygoKT0+e2EoITApfSl9fTt0cnl7cmV0dXJuIGIoKX1maW5hbGx5e18uYUQ9Y319O2lkYT1mdW5jdGlvbihhKXt2YXIgW2IsY109Xy5KKCEwLHZvaWQgMCwiYkt0TzZkIik7cmV0dXJuIGhkYShjLCgpPT57dmFyIGQ9Xy5mQyhhLmNoaWxkcmVuKCkpO3JldHVybiBfLksoXy5PLHtBOmIsdGhlbjooKT0+ZCxXOmEuZmFsbGJhY2t9KX0pfTsKXy5uRz1mdW5jdGlvbih7Y2hpbGRyZW46YSxFZjpiLGNhbGxiYWNrczpjfSl7dmFyIGQ9bmV3IE1hcDtiPWI/P1tdO2ZvcihsZXQgZSBvZiBiKWQuc2V0KGUuaWQuQ2IudG9rZW4sZSk7Yz1jPz9bXTtmb3IobGV0IGUgb2YgYylkLnNldChlLmlkLkNiLnRva2VuLGUpO2Q9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGpkYSkse2RlYnVnTmFtZToiW2NvbnRleHRPd25lcl0iLGVudHJpZXM6ZH0pO18uQnUoZCk7ZD1fLiR0KGQpO3RyeXtsZXQgZT1fLmZDKGEpO3JldHVybiBfLksoXy5JQixudWxsLGUpfWZpbmFsbHl7Xy4kdChkKX19O18ub0c9ZnVuY3Rpb24oYSxiKXtyZXR1cm57W18uZ2RhXTohMCxpZDphLHZhbHVlOmJ9fTtrZGE9ZnVuY3Rpb24oe1NnOmF9KXtyZXR1cm4gXy5LKF8uSUIsbnVsbCxhKCkpfTtfLnBHPWZ1bmN0aW9uKGEsYil7YT17Li4uYSxwYXJlbnQ6Xy5tRygpfTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKF8ubEcsYSldfSxfLksoa2RhLHtTZzpifSkpfTsKbWRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBsZGEoYSxiKX07cUc9ZnVuY3Rpb24oYSxiKXt0aGlzLm89e307dGhpcy5qPVtdO3RoaXMuQWU9dGhpcy5zaXplPTA7dmFyIGM9YXJndW1lbnRzLmxlbmd0aDtpZihjPjEpe2lmKGMlMil0aHJvdyBFcnJvcigiYmQiKTtmb3IodmFyIGQ9MDtkPGM7ZCs9Mil0aGlzLnNldChhcmd1bWVudHNbZF0sYXJndW1lbnRzW2QrMV0pfWVsc2UgaWYoYSlpZihhIGluc3RhbmNlb2YgcUcpZm9yKGM9YS5yZCgpLGQ9MDtkPGMubGVuZ3RoO2QrKyl0aGlzLnNldChjW2RdLGEuZ2V0KGNbZF0pKTtlbHNlIGZvcihkIGluIGEpdGhpcy5zZXQoZCxhW2RdKX07bmRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1ifTsKc0c9ZnVuY3Rpb24oYSl7aWYoYS5zaXplIT1hLmoubGVuZ3RoKXtmb3IodmFyIGI9MCxjPTA7YjxhLmoubGVuZ3RoOyl7dmFyIGQ9YS5qW2JdO3JHKGEubyxkKSYmKGEualtjKytdPWQpO2IrK31hLmoubGVuZ3RoPWN9aWYoYS5zaXplIT1hLmoubGVuZ3RoKXtiPXt9O2ZvcihkPWM9MDtjPGEuai5sZW5ndGg7KXtsZXQgZT1hLmpbY107ckcoYixlKXx8KGEualtkKytdPWUsYltlXT0xKTtjKyt9YS5qLmxlbmd0aD1kfX07ckc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYil9O3VHPWZ1bmN0aW9uKCl7dGhpcy5vPW5ldyBxRzt0aGlzLmo9bmV3IHRHKCIiKTt0aGlzLmoubmV4dD10aGlzLmouVWE9dGhpcy5qfTt3Rz1mdW5jdGlvbihhLGIpe2lmKGI9YS5vLmdldChiKSliLnJlbW92ZSgpLHZHKGEsYik7cmV0dXJuIGJ9Owp2Rz1mdW5jdGlvbihhLGIpe2IubmV4dD1hLmoubmV4dDtiLlVhPWEuajthLmoubmV4dD1iO2ZvcihiLm5leHQuVWE9YjthLm8uc2l6ZT4xMDA7KWEucmVtb3ZlTm9kZShhLmouVWEpfTt4Rz1mdW5jdGlvbihhLGIpe2EuaiE9YiYmYS5yZW1vdmVOb2RlKGIpO3JldHVybiBiLnZhbHVlfTt0Rz1mdW5jdGlvbihhLGIpe3RoaXMua2V5PWE7dGhpcy52YWx1ZT1ifTtvZGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9eUc7aWYoYT09bnVsbHx8IWMuRWcpcmV0dXJuIGI7ZS5qLmdldChhKT09PXZvaWQgMCYmZS5qLnNldChhLFtiLGQ/P1tdLCExXSk7Yz1lLmouZ2V0KGEpO2lmKCFjKXJldHVybiBiO3ZhciBbZixoLGtdPWM7aWYoaD8ubGVuZ3RoJiZkPy5sZW5ndGgmJmQuc29tZSgobCxtKT0+bCE9PWhbbV0pKXJldHVybiBlLmoucmVtb3ZlKGEpLGI7ZD8ubGVuZ3RoJiZlLmouc2V0KGEsW2YsZCxrXSk7cmV0dXJuIGs/ZjpifTsKXy56Rz1mdW5jdGlvbihhLGI9e0VnOiEwfSl7cmV0dXJue01nOmZ1bmN0aW9uKGMsZCl7dmFyIGU9Xy5OKCgpPT5hKGMoKSksdm9pZCAwLCJHbXJibGIiKSxbZixoXT1fLkFDKCgpPT57dmFyIGs9YygpLGw9ZSgpLG09ZD8ubWFwKG49Pm4oKSk/P1tdO3JldHVybiBvZGEobCxrLGIsbSl9KTtfLm5FKCgpPT57dmFyIGs9ZSgpO2shPW51bGwmJihrPXlHLnJlZ2lzdGVyKGssW2YsaF0sKCk9PmQ/Lm1hcChsPT5sKCkpPz9bXSksXy5ZdShrKSl9LCJVbWFjNmMiKTtyZXR1cm5bZixmdW5jdGlvbihrKXtoKGspO3ZhciBsPWUoKTtsIT1udWxsJiZ5Ry51cGRhdGUobCwoKT0+ayxiKX1dfSxnZXREYXRhOmZ1bmN0aW9uKGMpe2M9YShjKTtyZXR1cm4geUcuZ2V0KGMsYil9LGdrOmZ1bmN0aW9uKGMsZCl7Yz1hKGMpO3JldHVybiB5Ry51cGRhdGUoYyxkLGIpfX19OwpfLlc9ZnVuY3Rpb24oYSl7dmFyIHtkYXRhOmIsbWFwcGluZzpjLHdyYXBwZXI6ZCxySzplfT1wZGEoYSk7cWRhKGIsYyk7dmFyIGY9KCk9PkFHKF8uQnYoYikpLGg9KCk9Pnt2YXIgaz1BRyhfLkJ2KGIpKSxsPVtdO2ZvcihsZXQgbSBvZiBrKShrPUJHKG0pKSYmbC5wdXNoKGspO3JldHVybiBsfTtyZXR1cm4gYS5kYXRhP18uSyhpZGEse2ZhbGxiYWNrOmV9LCgpPT5fLksoXy5nRyx7cGE6aH0sKGssbCk9Pnt2YXIgbT1kP3A9PmQoKCk9PmNba10ocCxsKSxuLGwpOnA9PmNba10ocCxsKTttLmRlYnVnTmFtZXx8KG0uZGVidWdOYW1lPVN0cmluZyhrKSk7aWYoIWNbU3RyaW5nKGspXSlyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiIik7bS5jb21wb25lbnRUeXBlIT09Xy5LdiYmcmRhKFN0cmluZyhrKSk7dmFyIG49c2RhKGYsayxsKTtyZXR1cm4gXy5LKG0se2RhdGE6bn0pfSkpOl8uSyhfLklCLG51bGwpfTsKcGRhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0SWR8fHRkYShhLmNoaWxkcmVuKTtpZighYS5kYXRhfHwhYilyZXR1cm57Li4uYSxtYXBwaW5nOmEuY2hpbGRyZW59O3ZhciBjPWBzdGFtcGVyLSR7dWRhKyt9YCxkPSgpPT4odHlwZW9mIGEudGFyZ2V0SWQ9PT0iZnVuY3Rpb24iP2EudGFyZ2V0SWQoYyk6YS50YXJnZXRJZCk/P2M7W2JdPXZkYSgoKT0+e3ZhciBmPVsuLi5BRyhhLmRhdGEoKSldO2YudGFyZ2V0SWQ9ZDtyZXR1cm4gZn0pO3ZhciBlPXsuLi4oXy55KCkucmVzb2x2ZShfLkluKHdkYSkpfHx7fSkuQUssLi4uYS5jaGlsZHJlbn07aWYoYS5Kcil7bGV0IGY9ZS5ub3RpZmljYXRpb25UZXh0UmVuZGVyZXIsaD1lLm5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXI7ZiYmKGUubm90aWZpY2F0aW9uVGV4dFJlbmRlcmVyPSh7ZGF0YTprfSxsKT0+YS5KcihmKHtkYXRhOmt9LGwpKSk7aCYmKGUubm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlcj0oe2RhdGE6a30sCmwpPT5hLkpyKGgoe2RhdGE6a30sbCkpKX1yZXR1cm57Li4uYSxkYXRhOmIsbWFwcGluZzplLHdyYXBwZXI6KGYsaCxrKT0+Xy5wRyh7dGFyZ2V0SWQ6ZCxZSzprfSxhLndyYXBwZXI/KCk9PmEud3JhcHBlcihmLGgsayk6Zil9fTtzZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBfLk4oKCk9Pnt2YXIgZT1hKClbYygpXTtpZihlKWQ9ZVtiXTtlbHNlIHJldHVybiBfLklwKG5ldyBfLlhqKGBTdGFtcGVyIGZhaWxlZCB0byBmaW5kICR7U3RyaW5nKGIpfSBhdCBpbmRleCAke2MoKX0gb2YgZGF0YSBhcnJheSBvZiBsZW5ndGggJHthKCkubGVuZ3RofSAoYi8zNjU2NDMzNTkpLiBEaWQgeW91IGFjY2VzcyBhIHNpZ25hbCBhZnRlciBhIGNvbXBvbmVudCBoYXMgYmVlbiBjbGVhbmVkIHVwP2ApKSxkO3JldHVybiBlW2JdfSx2b2lkIDAsInNFcnRqZCIpfTsKQkc9ZnVuY3Rpb24oYSl7dmFyIGI9dm9pZCAwO2ZvcihsZXQgYyBpbiBhKWlmKCEoIWEpLmhhc093blByb3BlcnR5KGMpKXtiPWM7YnJlYWt9cmV0dXJuIGJ9O3RkYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMoYSkpaWYoeGRhLmluY2x1ZGVzKGIpfHx5ZGEuaW5jbHVkZXMoYil8fHpkYS5pbmNsdWRlcyhiKSlyZXR1cm4hMDtyZXR1cm4hMX07QUc9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/QXJyYXkuaXNBcnJheShhKSYmYSBpbnN0YW5jZW9mIEFycmF5P2E6W2FdOltdfTtyZGE9ZnVuY3Rpb24oYSl7Xy54KCJ3ZWJfZW5hYmxlX3JlbmRlcmVyX2xvZ2dlciIpJiZfLnkoKS5yZXNvbHZlKF8uSW4oXy5DRykpPy53eShhKX07CnFkYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLnJlc29sdmUoXy5JbihBZGEpKTtjJiZfLm5FKCgpPT57dmFyIGQ9QUcoXy5CdihhKSksZT0wLGY9ITE7Zm9yKHZhciBoIG9mIGQpe2Q9QkcoaCk7aWYoIWR8fCFiW1N0cmluZyhkKV0pe2Y9ITA7YnJlYWt9ZSsrfWg9Yy5WSztkPWMuV0s7ZT4wJiYhZj9oLm8oZCgpKTpoLmooZCgpKX0sIkRoT1V4ZSIpfTtqZGE9e1JoKGEpe2lmKF8uZnUgaW4gYXx8Xy5mZGEgaW4gYSl7bGV0IGI9dGhpcy5lbnRyaWVzLmdldChhLkNiLnRva2VuKTtpZihiIT09dm9pZCAwKXJldHVybiBiLnZhbHVlfXJldHVybiB0aGlzLnBhcmVudD9fLmN1KHRoaXMucGFyZW50LGEpOl8uYXV9fTsKbGRhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWFbXy51LlN5bWJvbC5pdGVyYXRvcl0oKTt0aGlzLm89Yn1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfW5leHQoKXt2YXIgYT10aGlzLmoubmV4dCgpO3JldHVybnt2YWx1ZTphLmRvbmU/dm9pZCAwOnRoaXMuby5jYWxsKHZvaWQgMCxhLnZhbHVlKSxkb25lOmEuZG9uZX19fTtfLmc9cUcucHJvdG90eXBlO18uZy5NYz1mdW5jdGlvbigpe3NHKHRoaXMpO3ZhciBhPVtdO2ZvcihsZXQgYj0wO2I8dGhpcy5qLmxlbmd0aDtiKyspYS5wdXNoKHRoaXMub1t0aGlzLmpbYl1dKTtyZXR1cm4gYX07Xy5nLnJkPWZ1bmN0aW9uKCl7c0codGhpcyk7cmV0dXJuIHRoaXMuai5jb25jYXQoKX07Xy5nLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gckcodGhpcy5vLGEpfTtfLmcuZXF1YWxzPWZ1bmN0aW9uKGEsYil7aWYodGhpcz09PWEpcmV0dXJuITA7aWYodGhpcy5zaXplIT1hLnNpemUpcmV0dXJuITE7Yj1ifHxuZGE7c0codGhpcyk7dmFyIGM7Zm9yKGxldCBkPTA7Yz10aGlzLmpbZF07ZCsrKWlmKCFiKHRoaXMuZ2V0KGMpLGEuZ2V0KGMpKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplPT0wfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLm89e307dGhpcy5BZT10aGlzLnNpemU9dGhpcy5qLmxlbmd0aD0wfTsKXy5nLnJlbW92ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5kZWxldGUoYSl9O18uZy5kZWxldGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHJHKHRoaXMubyxhKT8oZGVsZXRlIHRoaXMub1thXSwtLXRoaXMuc2l6ZSx0aGlzLkFlKyssdGhpcy5qLmxlbmd0aD4yKnRoaXMuc2l6ZSYmc0codGhpcyksITApOiExfTtfLmcuZ2V0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHJHKHRoaXMubyxhKT90aGlzLm9bYV06Yn07Xy5nLnNldD1mdW5jdGlvbihhLGIpe3JHKHRoaXMubyxhKXx8KHRoaXMuc2l6ZSs9MSx0aGlzLmoucHVzaChhKSx0aGlzLkFlKyspO3RoaXMub1thXT1ifTtfLmcuZm9yRWFjaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMucmQoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyl7bGV0IGU9Y1tkXSxmPXRoaXMuZ2V0KGUpO2EuY2FsbChiLGYsZSx0aGlzKX19O18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgcUcodGhpcyl9O18uZy5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uc2godGhpcy5iZCghMCkpLmooKX07Cl8uZy52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zaCh0aGlzLmJkKCExKSkuaigpfTtfLmcuZW50cmllcz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7cmV0dXJuIG1kYSh0aGlzLmtleXMoKSxmdW5jdGlvbihiKXtyZXR1cm5bYixhLmdldChiKV19KX07Xy5nLmJkPWZ1bmN0aW9uKGEpe3NHKHRoaXMpO3ZhciBiPTAsYz10aGlzLkFlLGQ9dGhpcyxlPW5ldyBfLm9oO2UubmV4dD1mdW5jdGlvbigpe2lmKGMhPWQuQWUpdGhyb3cgRXJyb3IoImNkIik7aWYoYj49ZC5qLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZj1kLmpbYisrXTtyZXR1cm57dmFsdWU6YT9mOmQub1tmXSxkb25lOiExfX07cmV0dXJuIGV9O18uZz11Ry5wcm90b3R5cGU7Xy5nLmdldD1mdW5jdGlvbihhLGIpe3JldHVybihhPXdHKHRoaXMsYSkpP2EudmFsdWU6Yn07Xy5nLnNldD1mdW5jdGlvbihhLGIpe3ZhciBjPXdHKHRoaXMsYSk7Yz9jLnZhbHVlPWI6KGM9bmV3IHRHKGEsYiksdGhpcy5vLnNldChhLGMpLHZHKHRoaXMsYykpfTtfLmcudWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qLm5leHQudmFsdWV9O18uZy5zaGlmdD1mdW5jdGlvbigpe3JldHVybiB4Ryh0aGlzLHRoaXMuai5uZXh0KX07Xy5nLnBvcD1mdW5jdGlvbigpe3JldHVybiB4Ryh0aGlzLHRoaXMuai5VYSl9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9dGhpcy5vLmdldChhKSk/KHRoaXMucmVtb3ZlTm9kZShhKSwhMCk6ITF9O18uZy5yZW1vdmVOb2RlPWZ1bmN0aW9uKGEpe2EucmVtb3ZlKCk7dGhpcy5vLnJlbW92ZShhLmtleSl9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5pc0VtcHR5KCl9OwpfLmcucmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYn0pfTtfLmcuTWM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGF9KX07Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIGI9PWF9KX07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLm8uc2l6ZT4wOyl0aGlzLnJlbW92ZU5vZGUodGhpcy5qLlVhKX07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcyl9O18uZy5tYXA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9dGhpcy5qLm5leHQ7ZCE9dGhpcy5qO2Q9ZC5uZXh0KWMucHVzaChhLmNhbGwoYixkLnZhbHVlLGQua2V5LHRoaXMpKTtyZXR1cm4gY307Cl8uZy5zb21lPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPXRoaXMuai5uZXh0O2MhPXRoaXMuajtjPWMubmV4dClpZihhLmNhbGwoYixjLnZhbHVlLGMua2V5LHRoaXMpKXJldHVybiEwO3JldHVybiExfTtfLmcuZXZlcnk9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWlmKCFhLmNhbGwoYixjLnZhbHVlLGMua2V5LHRoaXMpKXJldHVybiExO3JldHVybiEwfTt0Ry5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dGhpcy5VYS5uZXh0PXRoaXMubmV4dDt0aGlzLm5leHQuVWE9dGhpcy5VYTtkZWxldGUgdGhpcy5VYTtkZWxldGUgdGhpcy5uZXh0fTt2YXIgeUc9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPW5ldyBNYXA7dGhpcy52PW5ldyBNYXA7dGhpcy5qPW5ldyB1R31nZXQoYSxiKXt2YXIgYz10aGlzLm8uZ2V0KGEpO2lmKGMpcmV0dXJuIGNbMF0oKTtpZihiLkVnJiZhIT1udWxsKXJldHVybiB0aGlzLmouZ2V0KGEpPy5bMF19dXBkYXRlKGEsYixjKXt2YXIgZD10aGlzLm8uZ2V0KGEpO2lmKGQpe2xldCBbZSxmXT1kO2I9YihlKCkpO2YoYik7Yy5FZyYmYSE9bnVsbCYmKGM9dGhpcy52LmdldChhKSx0aGlzLmouc2V0KGEsW2IsYz8uKCk/P1tdLCEwXSkpO3JldHVybiEwfWlmKGMuRWcmJmEhPW51bGwmJihjPXRoaXMuai5nZXQoYSkpKXtsZXQgW2UsZl09YztiPWIoZSk7dGhpcy5qLnNldChhLFtiLGYsITBdKTtyZXR1cm4hMH1yZXR1cm4hMX1yZWdpc3RlcihhLGIsYyl7aWYoYT09bnVsbClyZXR1cm4oKT0+e307dGhpcy5vLnNldChhLGIpO2MmJnRoaXMudi5zZXQoYSxjKTtyZXR1cm4oKT0+e3RoaXMuby5nZXQoYSk9PT0KYiYmKHRoaXMuby5kZWxldGUoYSksdGhpcy52LmRlbGV0ZShhKSl9fX07Xy5DRz1uZXcgXy5WcygiUkVOREVSRVJfTE9HR0VSX1RPS0VOIik7dmFyIHdkYT1uZXcgXy5WcygiUkVOREVSRVJfU1RBTVBFUl9PUFRJT05TX1RPS0VOIik7dmFyIEFkYT1uZXcgXy5WcygiUkVOREVSRVJfU1RBTVBFUl9TVUNDRVNTX1NMSV9UT0tFTiIpO3ZhciB4ZGE9ImNvbXBhY3RSYWRpb1JlbmRlcmVyIGNvbXBhY3RQbGF5bGlzdFJlbmRlcmVyIHBsYXlsaXN0VmlkZW9SZW5kZXJlciBjb21wYWN0VmlkZW9SZW5kZXJlciBmZWVkTnVkZ2VSZW5kZXJlciBncmlkVmlkZW9SZW5kZXJlciBwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHJhZGlvUmVuZGVyZXIgcHJpbWV0aW1lUHJvbW9SZW5kZXJlciByZWVsSXRlbVJlbmRlcmVyIHJlZWxTaGVsZlJlbmRlcmVyIHJpY2hTaGVsZlJlbmRlcmVyIHNlYXJjaEhpc3RvcnlRdWVyeVJlbmRlcmVyIHNoZWxmUmVuZGVyZXIgdmlkZW9XaXRoQ29udGV4dFJlbmRlcmVyIHZpZGVvQ2FyZFJlbmRlcmVyIHN0YXRlbWVudEJhbm5lclJlbmRlcmVyIG1pbmlHYW1lQ2FyZFZpZXdNb2RlbCBzaG9ydHNMb2NrdXBWaWV3TW9kZWwgbG9ja3VwVmlld01vZGVsIGdyaWRTaGVsZlZpZXdNb2RlbCIuc3BsaXQoIiAiKSx6ZGE9WyJub3RpZmljYXRpb25UZXh0UmVuZGVyZXIiLCJub3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyIl0sCnlkYT0icHJpbWV0aW1lUHJvbW9SZW5kZXJlciBzdGF0ZW1lbnRCYW5uZXJSZW5kZXJlciBicmFuZFZpZGVvU2hlbGZSZW5kZXJlciBicmFuZFZpZGVvU2luZ2xldG9uUmVuZGVyZXIgZmVlZE51ZGdlUmVuZGVyZXIgcGxheWxpc3RWaWRlb1JlbmRlcmVyIi5zcGxpdCgiICIpLHtNZzp2ZGF9PV8uekcoYT0+Xy5CdihhPy50YXJnZXRJZCkpO3ZhciB1ZGE9MDtfLlcuZGVidWdOYW1lPSJFakpiQ2UiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgVmJhO1ZiYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhLGIsdm9pZCAwKX07Xy5ORD1mdW5jdGlvbihhKXthPVsoYSYxNjcxMTY4MCk+Pj4xNiwoYSY2NTI4MCk+Pj44LGEmMjU1LChhJjQyNzgxOTAwODApPj4+MjRdO2lmKCFWYmEoYSxiPT5iPT09KGImMjU1KSkpdGhyb3cgRXJyb3IoIlJjYCIrYS5qb2luKCIsIikpO3JldHVybmByZ2JhKCR7YVswXX0sJHthWzFdfSwke2FbMl19LCR7KGFbM10vMjU1KS50b0ZpeGVkKDMpfSlgfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rQT1mdW5jdGlvbih7dHlwZTphLHBheWxvYWQ6Yn0pe2E9e3R5cGU6YX07YiE9PXZvaWQgMCYmKGEucGF5bG9hZD1iKTtyZXR1cm4gYX07LyoKCiBDb3B5cmlnaHQgMjAxNS1wcmVzZW50IERhbiBBYnJhbW92CiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCiovCl8ubEE9KCk9Pk1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KS5zcGxpdCgiIikuam9pbigiLiIpO18ubUE9YEBAcmVkdXgvSU5JVCR7Xy5sQSgpfWA7Xy5SYWE9YEBAcmVkdXgvUkVQTEFDRSR7Xy5sQSgpfWA7Xy5uQT10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9BPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5rQSh7dHlwZToiUkVQTEFDRV9FTlRJVFkiLHBheWxvYWQ6e3hsOmMsZW50aXR5VHlwZTphLGtleTpifX0pfTtfLnBBPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5rQSh7dHlwZToiVVBEQVRFX0VOVElUWSIscGF5bG9hZDp7eGw6YyxlbnRpdHlUeXBlOmEsa2V5OmIsSXk6dm9pZCAwfX0pfTtfLnFBPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYVtiXT9hW2JdW2NdfHxudWxsOm51bGx9OygoKT0+e3ZhciBhPWQ9Pm5ldyBVaW50OEFycmF5KGQpLGI9ZD0+e3ZhciBlPW5ldyBVaW50OEFycmF5KGQubGVuZ3RoKTtmb3IobGV0IGY9MDtmPGQubGVuZ3RoO2YrKyllW2ZdPWRbZl07cmV0dXJuIGV9LGM9bmV3IFVpbnQ4QXJyYXkoWzFdKTtyZXR1cm4gYy5sZW5ndGg9PT0xJiZjWzBdPT09MT9hOmJ9KSgpO18uckE9QXJyYXkoMTAyNCk7Xy5zQT10eXBlb2YgVGV4dERlY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dERlY29kZXI6dm9pZCAwO18udEE9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDtfLnVBPXthbmltYXRpb25FbnRpdHk6MzAyLGFjY291bnRMaW5rU3RhdHVzRW50aXR5OjEyMixhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5OjYzMCxib29sZWFuRW50aXR5OjMwNyxhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5OjYzNyxidXR0b25FbnRpdHk6MzU4LGNhcHRpb25UcmFjazoyMjUsY2hhbm5lbEhhbmRsZToyNzUsY2hpcEVudGl0eTo0OTgsY29tbWVyY2VBY3F1aXNpdGlvbkNsaWVudFBheWxvYWRFbnRpdHk6Mjc2LGNvbW1lcmNlQ2FydExpc3RFbnRpdHk6MjM2LGNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5OjUzMixjb21wb3NpdGVTb3VyY2VFbnRpdHk6NTk0LGNvbnRleHROb3RlRmVlZEVudGl0eVBheWxvYWQ6NDgzLGNvbnRleHROb3RlVXNlclJhdGluZ0VudGl0eVBheWxvYWQ6NTc2LGNvbnRpbnVhdGlvblRva2VuRW50aXR5OjQwNixkb3dubG9hZFF1YWxpdHlQaWNrZXJFbnRpdHk6MjAyLGRvd25sb2Fkc1BhZ2VSZWZyZXNoVG9rZW5FbnRpdHk6Mjk5LApkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHk6MjY0LGRvd25sb2FkU3RhdHVzRW50aXR5OjE0MSxkaXNtaXNzU3RhdGU6NTQwLHNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHk6MTg2LGVtb2ppRm91bnRhaW5EYXRhRW50aXR5OjM5MyxlbW9qaUN1c3RvbWl6YXRpb25TZXRFbnRpdHk6NDk2LGZha2VDaGFubmVsOjIsZmFrZVBsYXlsaXN0OjI3OSxmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246MjgwLGZha2VWaWRlbzoxODIsZmFrZVZpZGVvRGVzY3JpcHRpb246Mjc4LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6MzkyLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTo1OTgsZmxvd1N0YXRlRW50aXR5OjI1MixpY29uQmFkZ2VFbnRpdHk6MjI5LGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6NDQzLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6NTY3LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OjIxNyxsaXZlVmlld2VyTGVhZGVyYm9hcmRDaGF0RW50cnlQb2ludFN0YXRlRW50aXR5OjU2MywKbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OjU2NCxsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTo1MDMsbG9nb0VudGl0eToyNDUsbWFjcm9NYXJrZXJFbnRpdHk6MzI5LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OjE1OCxtYWluRG93bmxvYWRzTGlzdEVudGl0eToxNjQsbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTozNzMsbWFpblBsYXlsaXN0RW50aXR5OjMwNixtYWluUGxheWxpc3RWaWRlb0VudGl0eTozNjgsbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eToyNjIsbWFpblZpZGVvRW50aXR5OjI2MSxtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eToxOTYsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTozMTIsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6MTgsbXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5OjI1OSxtdXNpY0FsYnVtUmVsZWFzZToxNyxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6MTksbXVzaWNBcnRpc3REZXRhaWw6MjEsCm11c2ljQXJ0aXN0OjIwLG11c2ljQXJ0aXN0VXNlckRldGFpbDoyMixtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6MjU3LG11c2ljTGlicmFyeUVkaXQ6MTIxLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTozMTgsbXVzaWNQbGF5bGlzdDoyNCxtdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eToyNDgsbXVzaWNTaGFyZToxMDAsbXVzaWNUcmFja0RldGFpbDoyOSxtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eToyMzQsbXVzaWNUcmFjazoyOCxtdXNpY1RyYWNrVXNlckRldGFpbDozMCxvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHk6MTY5LG9mZmxpbmVWaWRlb1BvbGljeToxMzAsb2ZmbGluZVZpZGVvU3RyZWFtczoxOTgsb2ZmbGluZWFiaWxpdHlFbnRpdHk6MjQ2LG9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eToyNDIscGFnZUhlYWRlckVudGl0eTo0OTUscGFydHlHYW1lUGFuZWxFbnRpdHk6NjE4LHNsaWRlckdhbWVQYW5lbEVudGl0eTo2MzMsCnBkcFN0YXRlRW50aXR5OjUyNCxwaW5uZWRQcm9kdWN0RW50aXR5OjI3MyxwbGF5YmFja0RhdGE6MTE5LHBsYXllclN0YXRlRW50aXR5OjMyMyxwbGF5bGlzdFRodW1ibmFpbEVkaXRzRW50aXR5OjUzOSxxdWFudGl0eUluY3JlbWVudGVyRW50aXR5OjM1NixyZWZyZXNoOjE0OCxzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHk6MjMxLHNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZDo0Nzksc2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5OjYzNCxzZXR0aW5nRW50aXR5OjI5NyxzdHJpbmdFbnRpdHk6MzgyLHN1Z2dlc3RlZEZlZWRiYWNrQ2hpcFN0YXRlRW50aXR5OjQ4NSx0cmFuc2ZlcjoxMjAsdHJlbmRpbmdPZmZlckVudGl0eTo0NjksdW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHk6NjM1LHZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5OjQ2MSx2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5OjU0NSx2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHk6NzYsdm90aW5nRW50aXR5OjU2MSwKeXRNYWluQ2hhbm5lbEVudGl0eToxNTIseW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eTo1NTMseXRNYWluRG93bmxvYWRlZFZpZGVvRW50aXR5OjE1NSx5dE1haW5WaWRlb0VudGl0eToxNTF9O18udkE9e307Zm9yKGxldCBbYSxiXW9mIE9iamVjdC5lbnRyaWVzKF8udUEpKXtsZXQgYz1hLGQ9YjtkJiYoXy52QVtkXT1jKX07KCgpPT57dmFyIGE9ZD0+bmV3IFVpbnQ4QXJyYXkoZCksYj1kPT57dmFyIGU9bmV3IFVpbnQ4QXJyYXkoZC5sZW5ndGgpO2ZvcihsZXQgZj0wO2Y8ZC5sZW5ndGg7ZisrKWVbZl09ZFtmXTtyZXR1cm4gZX0sYz1uZXcgVWludDhBcnJheShbMV0pO3JldHVybiBjLmxlbmd0aD09PTEmJmNbMF09PT0xP2E6Yn0pKCk7Xy5TYWE9Xy4kbCgieXQtaWRiLXByZWYtc3RvcmFnZSIse3NlOntwcmVmczp7UGQ6MX19LHNoYXJlZDohMSx1cGdyYWRlKGEsYil7YigxKSYmXy5vbChfLmtsKGEsInByZWZzIix7a2V5UGF0aDoia2V5In0pLCJieUV4cGlyYXRpb24iLCJleHBpcmF0aW9uVGltZXN0YW1wTXMiKX0sdmVyc2lvbjoxfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBqRTtfLmlFPWZ1bmN0aW9uKGEsYil7YT1bKGEmMTY3MTE2ODApPj4+MTYsKGEmNjUyODApPj4+OCxhJjI1NV07cmV0dXJuYHJnYmEoJHthWzBdfSwgJHthWzFdfSwgJHthWzJdfSwgJHtifSlgfTtfLmtFPWZ1bmN0aW9uKGEpe2lmKGEuc291cmNlcylmb3IobGV0IGIgb2YgYS5zb3VyY2VzKWlmKGIuY2xpZW50UmVzb3VyY2U/LmltYWdlTmFtZXx8Yi5jdXN0b21JbWFnZVNvdXJjZSYmXy5CKGIuY3VzdG9tSW1hZ2VTb3VyY2UsakUpPy5jbGllbnRSZXNvdXJjZT8uaWNvbilyZXR1cm4gYn07Cl8ubEU9ZnVuY3Rpb24oYSl7aWYoYT8uY2xpZW50UmVzb3VyY2U/LmltYWdlTmFtZSl7bGV0IGI9YS5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lO2E6e3N3aXRjaChiKXtjYXNlICJ5dF9wcmVtaXVtX3dvcmRtYXJrX2hlYWRlcl9saWdodCI6Y2FzZSAieXRfcHJlbWl1bV93b3JkbWFya19oZWFkZXJfZGFyayI6YT0iWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiO2JyZWFrIGE7Y2FzZSAieXRfd29yZG1hcmtfaGVhZGVyX2xpZ2h0IjpjYXNlICJ5dF93b3JkbWFya19oZWFkZXJfZGFyayI6YT0iTE9HT19XSVRIX1RFWFQiO2JyZWFrIGF9YT12b2lkIDB9cmV0dXJuIGF8fGdjYS5nZXQoYil8fGJ9aWYoYT8uY3VzdG9tSW1hZ2VTb3VyY2UmJihhPV8uQihhLmN1c3RvbUltYWdlU291cmNlLGpFKT8uY2xpZW50UmVzb3VyY2U/Lmljb24pKXJldHVybiBhfTtqRT1uZXcgXy5JKCJ5b3V0dWJlSWNvblNvdXJjZSIpO18ubUU9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7dmFyIGdjYT1uZXcgTWFwKFtbInl0X291dGxpbmVfYmFnX2JsYWNrXzI0IiwiYmFnIl1dKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5LRD1mdW5jdGlvbihhKXtpZihhPWEubWF0Y2goVWJhKSlyZXR1cm57aWNvbk5hbWU6YVsyXSxoeDphWzFdLnRvVXBwZXJDYXNlKCk9PT0iRklMTCIsaWNvblNpemU6TnVtYmVyKGFbM10pfX07Xy5MRD1uZXcgXy5WcygiSUNPTl9XSVpfQ09NUE9ORU5UX1RPS0VOIik7dmFyIFViYTtVYmE9L15ZVElDT05fKGZpbGx8b3V0bGluZSlfKFthLXpBLVowLTlfXSspX3MoWzAtOV0rKSQvaTsKXy5NRD1fLkwoKHtpY29uOmEsYWN0aXZlOmIsY2xhc3NOYW1lOmMsc3R5bGU6ZCx5cDplLGhjOmYscm9sZTpoLEdlOmssSGM6bCxhcmlhSGlkZGVuOm0sYXJpYUV4cGFuZGVkOm4sYXJpYUxhYmVsOnAsdGFiaW5kZXg6cixpZDp0LHNpemU6dixhZzp6LFpwOkUsZXI6QSx0aXRsZTpGfSk9Pnt2YXIgQz1fLk4oKCk9Pnt2YXIgUj1hPy4oKTtpZihSKXJldHVybiBfLktEKFIpfSx2b2lkIDAsIk0waTV2ZiIpLEc9KCk9PkMoKT8uaWNvbk5hbWU/P2E/LigpLEQ9KCk9PnY/LigpPz9DKCk/Lmljb25TaXplLEg9KCk9PmI/LigpPz9DKCk/Lmh4O3JldHVybiBfLksoXy5PLHtBOmEsdGhlbjooKT0+e3ZhciBSPV8ueSgpLnJlc29sdmUoXy5MRCk7cmV0dXJuIF8uSyhSLHtpY29uOkcseXA6ZSxoYzpmLEdlOmssSGM6bCxhcmlhRXhwYW5kZWQ6bix0YWJpbmRleDpyLGlkOnQsYWN0aXZlOkgsc2l6ZTpELHJvbGU6aCxjbGFzc05hbWU6YyxhcmlhSGlkZGVuOm0sYXJpYUxhYmVsOnAsc3R5bGU6KCk9Pgp7aWYoIUQoKSlyZXR1cm4gZD8uKCk7dmFyIE09YHdpZHRoOiAke0QoKX1weDsgaGVpZ2h0OiAke0QoKX1weDtgO3JldHVybiBkPy4oKT9gJHtNfSAke2QoKX1gOk19LHRpdGxlOkYsYWc6eixacDpFLGVyOkF9KX19KX0sImoiKTtfLk1ELmlkb21Db21wYXQ9e2NhbGxiYWNrczp7ZXI6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEtFLExFLG1jYSxuY2EsTkUscGNhLHFjYSxyY2EsdWNhLHdjYSx2Y2EsWEUseGNhLHljYSxBY2EsemNhO18uSkU9ZnVuY3Rpb24oYSl7YSY9MTY3NzcyMTU7dmFyIGI9WyhhJjE2NzExNjgwKT4+MTYsKGEmNjUyODApPj44LGEmMjU1XTthPWJbMF07dmFyIGM9YlsxXTtiPWJbMl07YT1OdW1iZXIoYSk7Yz1OdW1iZXIoYyk7Yj1OdW1iZXIoYik7aWYoYSE9KGEmMjU1KXx8YyE9KGMmMjU1KXx8YiE9KGImMjU1KSl0aHJvdyBFcnJvcigiUWNgIithKyJgIitjKyJgIitiKTtjPWE8PDE2fGM8PDh8YjtyZXR1cm4gYTwxNj8iIyIrKDE2Nzc3MjE2fGMpLnRvU3RyaW5nKDE2KS5zbGljZSgxKToiIyIrYy50b1N0cmluZygxNil9O0tFPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNvdXJjZXMhPT12b2lkIDB8fGEucHJvY2Vzc29yIT09dm9pZCAwfTsKTEU9ZnVuY3Rpb24oYSl7dmFyIGI9YS50aHVtYm5haWxzO2lmKGIpe2E9e3NvdXJjZXM6W119O2ZvcihsZXQgYyBvZiBiKWI9e30sYi51cmw9Yy51cmwsYi53aWR0aD1jLndpZHRoLGIuaGVpZ2h0PWMuaGVpZ2h0LGEuc291cmNlcy5wdXNoKGIpO3JldHVybiBhfX07bWNhPWZ1bmN0aW9uKGEsYixjKXtjPWM/W2NdOltdO2Eub3BhY2l0eSYmYy5wdXNoKGBvcGFjaXR5OiAke2Eub3BhY2l0eX07YCk7YiYmYS5wbGFjZWhvbGRlckNvbG9yPyhhPV8uTkQoYS5wbGFjZWhvbGRlckNvbG9yKSxjLnB1c2goYGJhY2tncm91bmQtY29sb3I6ICR7YX07YCkpOmMucHVzaCgiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Iik7cmV0dXJuIGMuam9pbigiICIpfTsKbmNhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9WyJ5dENvcmVJbWFnZUhvc3QiXTtiJiZmLnB1c2goYik7Y3x8Zi5wdXNoKCJ5dENvcmVJbWFnZUZpbGxQYXJlbnRIZWlnaHQiKTtkfHxmLnB1c2goInl0Q29yZUltYWdlRmlsbFBhcmVudFdpZHRoIik7c3dpdGNoKGEuY29udGVudE1vZGUpe2Nhc2UgIkNPTlRFTlRfTU9ERV9TQ0FMRV9BU1BFQ1RfRklUIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpdCIpO2JyZWFrO2Nhc2UgIkNPTlRFTlRfTU9ERV9TQ0FMRV9BU1BFQ1RfRklMTCI6Zi5wdXNoKCJ5dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaWxsIik7YnJlYWs7Y2FzZSAiQ09OVEVOVF9NT0RFX0NFTlRFUiI6Zi5wdXNoKCJ5dENvcmVJbWFnZUNvbnRlbnRNb2RlQ2VudGVyIik7YnJlYWs7ZGVmYXVsdDpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZVRvRmlsbCIpfWEuZmxpcEZvclJ0bExheW91dCYmZi5wdXNoKCJ5dENvcmVJbWFnZUZsaXBSdGwiKTsKc3dpdGNoKGUpe2Nhc2UgIlRPUF9TVEFSVCI6Zi5wdXNoKGRvY3VtZW50LmJvZHk/LmdldEF0dHJpYnV0ZSgiZGlyIik9PT0icnRsIj8ieXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcFJpZ2h0IjoieXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcExlZnQiKX1yZXR1cm4gZi5qb2luKCIgIil9O18uTUU9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIob3JpZW50YXRpb246IGxhbmRzY2FwZSkiKS5tYXRjaGVzfTtORT1mdW5jdGlvbihhKXt2YXIgYj17fTthPV8uQihhLnByb2Nlc3NvcixvY2EpO3ZhciBjPShjPWE/LmltYWdlVGludD8uY29sb3IpP18uTkQoYyk6dm9pZCAwO2MmJihiLmNvbG9yPWMpO2lmKGM9cGNhKGEpKWIubnk9YztpZihhPXFjYShhKSliLk56PWE7cmV0dXJuIGJ9OwpwY2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8ubGluZWFyR3JhZGllbnQ7aWYoYiYmYj8uY29sb3JzJiZiPy5jb2xvcnM/Lmxlbmd0aCE9PTApe3ZhciBjPWIuY29sb3JzLm1hcChlPT5fLk5EKGUpKTthPWIuYW5nbGUhPT12b2lkIDA/YCR7Yi5hbmdsZX1kZWcsIGA6IiI7dmFyIGQ9Yi5wb3NpdGlvbnM7aWYoIWR8fGQubGVuZ3RoIT09Yy5sZW5ndGgpcmV0dXJuYGxpbmVhci1ncmFkaWVudCgke2F9JHtjLmpvaW4oIiwgIil9KWA7Yj1jLm1hcCgoZSxmKT0+YCR7ZX0gJHtkW2ZdKjEwMH0lYCk7cmV0dXJuYGxpbmVhci1ncmFkaWVudCgke2F9JHtiLmpvaW4oIiwgIil9KWB9fTsKcWNhPWZ1bmN0aW9uKGEpe2lmKChhPWE/LnJhZGlhbEdyYWRpZW50KSYmYT8uY29sb3JzJiZhPy5jb2xvcnM/Lmxlbmd0aCE9PTApe3ZhciBiPWEuY29sb3JzLm1hcChrPT5fLk5EKGspKSxjPWEuY2VudGVyVW5pdD8/IkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIixkPWM9PT0iRElNRU5TSU9OX1VOSVRfUE9JTlQiPyJweCI6IiUiLGU9Yz09PSJESU1FTlNJT05fVU5JVF9GUkFDVElPTiI/MTAwOjE7Yz1gJHsoYS5jZW50ZXJYPz8uNSkqZX0ke2R9YDtkPWAkeyhhLmNlbnRlclk/Py41KSplfSR7ZH1gO3ZhciBmPWEucmFkaXVzO2U9IiI7ZT1mIT09dm9pZCAwP2BjaXJjbGUgJHtmfXB4YDoiZWxsaXBzZSI7dmFyIGg9YS5wb3NpdGlvbnM7aWYoIWh8fGgubGVuZ3RoIT09Yi5sZW5ndGgpcmV0dXJuYHJhZGlhbC1ncmFkaWVudCgke2V9IGF0ICR7Y30gJHtkfSwgJHtiLmpvaW4oIiwgIil9KWA7YT1iLm1hcCgoayxsKT0+YCR7a30gJHtoW2xdKjEwMH0lYCk7cmV0dXJuYHJhZGlhbC1ncmFkaWVudCgke2V9IGF0ICR7Y30gJHtkfSwgJHthLmpvaW4oIiwgIil9KWB9fTsKXy5PRT1mdW5jdGlvbihhKXtfLmpmLkdhKCgpPT57dHJ5e2EoKX1jYXRjaChiKXtfLk90KGIpfX0sOCl9O3JjYT1mdW5jdGlvbihhKXt2YXIgYj0oMSthLm1hcmdpbikqKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fHdpbmRvdy5pbm5lckhlaWdodCk7YS5qPWEuai5maWx0ZXIoYz0+e3ZhciBkPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7KGQ9Yj5kLnRvcCYmISFkLmhlaWdodCkmJmEuQihjKTtyZXR1cm4hZCYmYy5wYXJlbnROb2RlfSk7YS52PSExfTtfLlBFPWZ1bmN0aW9uKGEpe2lmKCJtYXRjaE1lZGlhImluIHdpbmRvdylyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEoYS5sYW5kc2NhcGUrIiwiK2EucG9ydHJhaXQpLm1hdGNoZXN9O18uVEU9ZnVuY3Rpb24oKXtpZihRRT09PXZvaWQgMCl7bGV0IGE9Xy5QRShzY2EpO1FFPWEhPT12b2lkIDA/YTpfLlJFPj05MzAmJlNFPj01NTB8fF8uUkU+PTU1MCYmU0U+PTkzMH1yZXR1cm4gUUV9Owp1Y2E9ZnVuY3Rpb24oYSxiKXthLkptPWI7dGNhLm9ic2VydmUoYSl9Owp3Y2E9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGspe3ZhciBsPU1hdGgucm91bmQoKDAsXy5lbCkoKS1kKTtVRT1NYXRoLm1heCgwLFVFLTEpO2w9e2R1cmF0aW9uTG9hZGluZ01zOmwsd2lkdGhQeDphLm5hdHVyYWxXaWR0aCxoZWlnaHRQeDphLm5hdHVyYWxIZWlnaHQsdmlld1dpZHRoUHg6YS5jbGllbnRXaWR0aCx2aWV3SGVpZ2h0UHg6YS5jbGllbnRIZWlnaHQsZmluaXNoZWRMb2FkaW5nOiEwLGlzTG9hZEVycm9yOmssbG9hZE51bWJlcjplLGNvbmN1cnJlbnRMb2FkczpVRX07YiYmYi5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZSE9bnVsbCYmKGwuaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU9Yi5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZSk7aWYoIWspdHJ5e2xldCBtPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoYS5zcmMpO2lmKG0mJm0ubGVuZ3RoPjApe2xldCBuPW1bbS5sZW5ndGgtMV07bi50cmFuc2ZlclNpemUmJihsLmRvd25sb2FkZWRCeXRlcz1uLnRyYW5zZmVyU2l6ZSl9fWNhdGNoKG0pe31fLkVwKCJ0aHVtYm5haWxMb2FkZWQiLApsKTtpZihrPVZFLmdldChhKSlhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGsub25Mb2FkKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixrLm9uRXJyb3IpO1ZFLmRlbGV0ZShhKX1pZihfLngoIndlYl9pbWFnZV9sb2FkX3RlbGVtZXRyeSIpKXt2Y2EoYSk7VUUrKztXRSsrO3ZhciBkPSgwLF8uZWwpKCksZT1XRSxmPSgpPT57YyghMSl9LGg9KCk9PntjKCEwKX07YS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmKTthLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixoKTtWRS5zZXQoYSx7b25Mb2FkOmYsb25FcnJvcjpofSl9fTt2Y2E9ZnVuY3Rpb24oYSl7dmFyIGI9VkUuZ2V0KGEpO2ImJihhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGIub25Mb2FkKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixiLm9uRXJyb3IpLFVFPU1hdGgubWF4KDAsVUUtMSksVkUuZGVsZXRlKGEpKX07ClhFPWZ1bmN0aW9uKGEsYixjKXtiJiZfLlR0KGEsYik7YyYmYS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW1hZ2UtdW5sb2FkZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfTt4Y2E9ZnVuY3Rpb24oYSxiLGMsZCxlPSEwKXtmdW5jdGlvbiBmKCl7dmFyIGg9YyhiLGEpO2gmJmEuZ2V0QXR0cmlidXRlKCJzcmMiKSE9PWgmJihoIT09YS5zcmMmJihhLnNyYz1oKSx3Y2EoYSxkKSxkJiZYRShhLGQudGosZC5CbSkpfWEucmVtb3ZlQXR0cmlidXRlKCJzcmMiKTtkJiZYRShhLGQudGosZC5CbSk7YiYmKGU/dWNhKGEsZik6ZigpKX07eWNhPWZ1bmN0aW9uKGEsYixjKXtpZighYilyZXR1cm4hMTtiPWMoYixhKTtjPWEuZ2V0QXR0cmlidXRlKCJzcmMiKTtyZXR1cm4gYiYmYj09PWMmJmEuY29tcGxldGV9OwpBY2E9ZnVuY3Rpb24oYSxiLGM9ITEpe3ZhciBkPUtFKGEpP3suLi5hfTpMRShhKTtpZihkKXtkLmNvbnRlbnRNb2RlPWQuY29udGVudE1vZGU/P2IuY29udGVudE1vZGU7dmFyIGU9Yi5vbkxvYWQ7Yi5vbkxvYWQ9bD0+e3ZhciBtPWwudGFyZ2V0O2MmJm0ubmF0dXJhbFdpZHRoPT09MTIwfHxfLlN0KG0sInl0Q29yZUltYWdlTG9hZGVkIik7Yi5zZyYmbS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW1hZ2UtbG9hZGVkIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKTtlPy4obCl9O2IuQWImJmIuVGEmJihiLndpZHRoPWIuQWIpO2IuZGMmJmIuWWEmJihiLmhlaWdodD1iLmRjKTt2YXIgZj1fLmtFKGQpLGg9ZiYmXy5sRShmKSxrPU5FKGQpO2lmKGgpe2E9Zi5jbGllbnRSZXNvdXJjZT8uaW1hZ2VDb2xvcj9fLk5EKGYuY2xpZW50UmVzb3VyY2UuaW1hZ2VDb2xvcik6dm9pZCAwO2lmKGs9YXx8ay5jb2xvciliLnN0eWxlPWIuc3R5bGU/Yi5zdHlsZS5lbmRzV2l0aCgiOyIpP2Iuc3R5bGUrCmAgY29sb3I6ICR7a307YDpiLnN0eWxlK2A7IGNvbG9yOiAke2t9O2A6YGNvbG9yOiAke2t9O2A7cmV0dXJue3R5cGU6Imljb24iLGljb25OYW1lOmgsY29uZmlnOnsuLi5iLC4uLihiLmFsdD97fTp7YXJpYUhpZGRlbjoidHJ1ZSJ9KSxhcmlhTGFiZWw6Yi5hbHQscm9sZToiaW1nIn19fUtFKGEpfHwoYi5hbHQ9YS5hY2Nlc3NpYmlsaXR5JiZhLmFjY2Vzc2liaWxpdHkuYWNjZXNzaWJpbGl0eURhdGEmJmEuYWNjZXNzaWJpbGl0eS5hY2Nlc3NpYmlsaXR5RGF0YS5sYWJlbHx8Yi5hbHQsYi5zdHlsZT1tY2EoYSxiLldyLGIuc3R5bGUpLGIuaXNQcmVsb2FkZWQ9ISFfLkIoYSx6Y2EpPy5pc1ByZWxvYWRlZCk7Yi5jbGFzc05hbWU9bmNhKGQsYi5jbGFzc05hbWUsYi5ZYSxiLlRhLGIub2JqZWN0UG9zaXRpb24pO2IudGo9Inl0Q29yZUltYWdlTG9hZGVkIjtyZXR1cm57dHlwZToiaW1hZ2UiLGltYWdlOmQsY29uZmlnOmJ9fX07emNhPW5ldyBfLkkoIndlYlRodW1ibmFpbERldGFpbHNFeHRlbnNpb25EYXRhIik7dmFyIG9jYT1uZXcgXy5JKCJib3JkZXJJbWFnZVByb2Nlc3NvciIpO3ZhciBDY2E7W18uQmNhLENjYV09Xy5KKF8uTUUoKSx2b2lkIDAsIk8zWDJ3ZCIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57Q2NhKF8uTUUoKSl9KTtfLmZGPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5tYXJnaW49YTt0aGlzLkI9Yjt0aGlzLmo9W107dGhpcy52PSExO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCgpPT57dGhpcy5vKCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLCgpPT57dGhpcy5vKCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidXBkYXRldWkiLCgpPT57dGhpcy5vKCl9KTt2YXIgYz1uZXcgXy5XdCgoMCxfLkNhKSh0aGlzLm8sdGhpcyksMTAwKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwoKT0+e2MudigpfSwhMCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKDAsXy5DYSkodGhpcy5vLHRoaXMpKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVzdGFydCIsKCk9Pnt0aGlzLmo9W119KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLCgwLF8uQ2EpKHRoaXMubyx0aGlzKSl9b2JzZXJ2ZShhKXt0aGlzLmouaW5jbHVkZXMoYSl8fAp0aGlzLmoucHVzaChhKX11bm9ic2VydmUoYSl7dGhpcy5qPXRoaXMuai5maWx0ZXIoYj0+YiE9PWEpfW8oKXt0aGlzLnZ8fChfLk9FKCgpPT57cmNhKHRoaXMpfSksdGhpcy52PSEwKX1kaXNjb25uZWN0KCl7dGhpcy5qPVtdfX07dmFyIHNjYSxRRSxTRTtzY2E9e2xhbmRzY2FwZToiKG1pbi13aWR0aDogOTMxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLHBvcnRyYWl0OiIobWluLXdpZHRoOiA1NTBweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIn07UUU9dm9pZCAwO18uZ0Y9dm9pZCAwO18uUkU9d2luZG93LmlubmVyV2lkdGg7U0U9d2luZG93LmlubmVySGVpZ2h0O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57Xy5nRj1RRT12b2lkIDB9KTt2YXIgdGNhPSJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3c/bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChhLGIpPT57YS5maWx0ZXIoYz0+Yy5pbnRlcnNlY3Rpb25SZWN0LmhlaWdodD4wKS5mb3JFYWNoKCh7dGFyZ2V0OmN9KT0+e2MuSm0/LigpO2IudW5vYnNlcnZlKGMpfSl9LHtyb290TWFyZ2luOiIxMCUiLHRocmVzaG9sZDouMDF9KTpfLlRFKCk/e29ic2VydmUoYSl7Xy5qZi5HYSgoKT0+e3RyeXthLkptPy4oKX1jYXRjaChiKXtfLk90KGIpfX0sOCl9LHVub2JzZXJ2ZSgpe319Om5ldyBfLmZGKC4xLGE9PntfLmpmLkdhKCgpPT57dHJ5e2EuSm0/LigpfWNhdGNoKGIpe18uT3QoYil9fSw4KX0pO3ZhciBWRT1uZXcgV2Vha01hcCxXRT0wLFVFPTA7Xy5oRj1fLkwoYT0+e3ZhciBiPSExLGM9Xy51RSgiaW1nIixkPT57Xy5ZdSgoKT0+e2I9ITA7ZC5vbmxvYWQ9bnVsbH0pfSk7Xy5uRSgoKT0+e3ZhciBkPWEuZGF0YT8uKCksZT1hLkdsPy4oKS5TZyxmPWEuY29uZmlnKCksaD1jLnZhbHVlO2lmKGgpe3ZhciBrPShsLG0pPT57aWYoIWIpcmV0dXJuIGU/ZShsLG0pOmx9O18ueCgid2ViX2ltYWdlX2RvbnRfcmVsb2FkX3NhbWVfc3JjIikmJnljYShoLGQsayk/Xy54KCJ3ZWJfaW1hZ2VfZG9udF9yZWxvYWRfc2FtZV9zcmNfc2ltdWxhdGVfbG9hZCIpJiZoLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsb2FkIix7YnViYmxlczohMSxjYW5jZWxhYmxlOiExLGRldGFpbDp7bWVzc2FnZToiU2ltdWxhdGluZyBsb2FkIGV2ZW50IGZvciBhbHJlYWR5IGxvYWRlZCBpbWFnZSJ9fSkpOnhjYShoLGR8fG51bGwsayxmLGEubGF6eT8uKCkpfX0sIlJmRWdCYyIpO3JldHVybiBfLksoImltZyIse2VsOmMsY2xhc3M6KCk9PmEuY29uZmlnKCkuY2xhc3NOYW1lLAphbHQ6KCk9PmEuY29uZmlnKCkuYWx0LCJhcmlhLWhpZGRlbiI6KCk9PmEuY29uZmlnKCkuYXJpYUhpZGRlbiwiZGF0YS1kaXNhYmxlZCI6KCk9PmEuY29uZmlnKCkuaGMsc3R5bGU6KCk9PmEuY29uZmlnKCkuc3R5bGUsd2lkdGg6KCk9PmEuY29uZmlnKCkud2lkdGgsaGVpZ2h0OigpPT5hLmNvbmZpZygpLmhlaWdodCxkcmFnZ2FibGU6KCk9PmEuY29uZmlnKCkuZHJhZ2dhYmxlLCJvbjplcnJvciI6ZD0+YS5jb25maWcoKS5vbkVycm9yPy4oZCksIm9uOmxvYWQiOmQ9PmEuY29uZmlnKCkub25Mb2FkPy4oZCl9KX0sImwiKTtfLmhGLmlkb21Db21wYXQ9ITA7dmFyIGlGO18uakY9Xy5MKGE9Pnt2YXIgW2IsY109Xy5KKCExLHZvaWQgMCwiVEZhRUtkIiksZD0oKT0+e3ZhciBmPWEuZGF0YSgpO3JldHVybiBLRShmKT97Li4uZn06TEUoZik/P3t9fSxlPSgpPT4hZCgpLnNvdXJjZXM/Lmxlbmd0aHx8YigpO3JldHVybiBfLksoXy5PLHtBOigpPT57aWYoIV8ueCgid2ViX2xpbmVhcl9ncmFkaWVudF9raWxsc3dpdGNoIikpcmV0dXJuIE5FKGQoKSkubnl8fE5FKGQoKSkuTnp9LHRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q29yZUltYWdlSG9zdCIsInl0Q29yZUltYWdlR3JhZGllbnRDb250YWluZXIiLHt5dENvcmVJbWFnZUxvYWRlZDplfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Q29yZUltYWdlR3JhZGllbnQiLCJhcmlhLWhpZGRlbiI6InRydWUiLHN0eWxlOl8uSUUoe2JhY2tncm91bmQ6Zn0pfSksXy5LKGlGLHsuLi5hLG9uTG9hZDpoPT57YyghMCk7YS5vbkxvYWQ/LihoKX19KSksVzooKT0+Xy5LKGlGLHsuLi5hfSl9KX0sIm0iKTsKaUY9Xy5MKGE9Pnt2YXIgYj0oKT0+QWNhKGEuZGF0YSgpLHtjb250ZW50TW9kZTphLmNvbnRlbnRNb2RlPy4oKSx0ajphLnRqPy4oKSxpc1ByZWxvYWRlZDphLmlzUHJlbG9hZGVkPy4oKSxzZzphLnNnPy4oKSxCbTphLkJtPy4oKSx5cjphLnlyPy4oKSxZYTphLllhPy4oKSxUYTphLlRhPy4oKSxvYmplY3RQb3NpdGlvbjphLm9iamVjdFBvc2l0aW9uPy4oKSxBYjphLkFiPy4oKSxkYzphLmRjPy4oKSxXcjphLldyPy4oKSxOZzphLk5nPy4oKSxpc1RvZ2dsZWQ6YS5pc1RvZ2dsZWQ/LigpLGFsdDphLmFsdD8uKCksY2xhc3NOYW1lOmEuY2xhc3NOYW1lPy4oKSxvbkVycm9yOmEub25FcnJvcixvbkxvYWQ6YS5vbkxvYWQsc3R5bGU6YS5zdHlsZT8uKCksY29sb3I6YS5jb2xvcj8uKCksd2lkdGg6YS53aWR0aD8uKCksaGVpZ2h0OmEuaGVpZ2h0Py4oKSxhcmlhSGlkZGVuOmEuYXJpYUhpZGRlbj8uKCksZHJhZ2dhYmxlOmEuZHJhZ2dhYmxlPy4oKSxoYzphLmhjPy4oKSxzaXplOmEuc2l6ZT8uKCksCmltYWdlQ2xhc3NpZmljYXRpb25UeXBlOmEuaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU/LigpfSxhLlV3Py4oKSk7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmIoKT8udHlwZT09PSJpbWFnZSJ9LCgpPT5fLksoXy5oRix7ZGF0YTooKT0+YigpLmltYWdlLEdsOntTZzooYyxkKT0+e3ZhciBlPWIoKS5pbWFnZS5zb3VyY2VzO3ZhciBmPWIoKS5jb25maWcuaXNQcmVsb2FkZWQsaD1iKCkuY29uZmlnLk5nLGs9YigpLmNvbmZpZy5BYixsPWIoKS5jb25maWcuZGMsbT1iKCkuY29uZmlnLnlyO2lmKCFlfHxlLmxlbmd0aD09PTB8fGVbMF0uY2xpZW50UmVzb3VyY2UpZT1udWxsO2Vsc2UgaWYoZiYmZVswXS51cmwpZT1lWzBdLnVybDtlbHNle2g9PT12b2lkIDAmJihoPSEwKTtkPWg/Xy5tRSooa3x8ZD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/LndpZHRofHwwKTpfLm1FKihsfHxkPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0fHwwKTtiOmlmKGQpe2lmKG0pZm9yKGxldCBuIG9mIGUpaWYoZj0Kbi51cmw/LmluZGV4T2YobSksZiE9PXZvaWQgMCYmZj49MCl7ZT1uO2JyZWFrIGJ9Zm9yKGxldCBuIG9mIGUpaWYobi53aWR0aCYmbi5oZWlnaHQmJihoJiZuLndpZHRoPj1kfHwhaCYmbi5oZWlnaHQ+PWQpKXtlPW47YnJlYWsgYn1mb3IobT1lLmxlbmd0aC0xO20+PTA7bS0tKWlmKGgmJmVbbV0ud2lkdGh8fCFoJiZlW21dLmhlaWdodCl7ZT1lW21dO2JyZWFrIGJ9ZT1lWzBdfWVsc2UgZT1lLmxlbmd0aD49MT9lW2UubGVuZ3RoLTFdOm51bGw7ZT1lPy51cmw/ZS51cmw6ZT8uaW1hZ2VEYXRhP2UuaW1hZ2VEYXRhOm51bGx9cmV0dXJuIGV8fCIifX0sY29uZmlnOigpPT57dmFyIGM9YigpLmNvbmZpZztmb3IobGV0IGQgaW4gYyljW2RdPT09dm9pZCAwJiZkZWxldGUgY1tkXTtyZXR1cm4gY30sbGF6eTphLlRifSkpLF8uSyhfLkNFLHt3aGVuOigpPT5iKCk/LnR5cGU9PT0iaWNvbiJ9LCgpPT5fLksoXy5NRCx7aWNvbjooKT0+YigpLmljb25OYW1lLHJvbGU6KCk9PmIoKS5jb25maWcucm9sZSwKY2xhc3NOYW1lOigpPT5iKCkuY29uZmlnLmNsYXNzTmFtZSxzdHlsZTooKT0+YigpLmNvbmZpZy5zdHlsZSxhcmlhTGFiZWw6KCk9PmIoKS5jb25maWcuYXJpYUxhYmVsLGFyaWFIaWRkZW46KCk9PmIoKS5jb25maWcuYXJpYUhpZGRlbixoYzooKT0+YigpLmNvbmZpZy5oYyxhY3RpdmU6KCk9PmIoKS5jb25maWcuaXNUb2dnbGVkLHNpemU6KCk9PmIoKS5jb25maWcuc2l6ZX0pKSl9LCJuIik7Xy5qRi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2NhbGxiYWNrOiEwLG9uRXJyb3I6ITAsb25Mb2FkOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTko9bmV3IF8uSSgic2lnbmFsQWN0aW9uIik7Xy5PSj1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9ITEsYz1udWxsKXt0aGlzLmFjdGlvbk5hbWU9YTt0aGlzLmo9Yjt0aGlzLmFyZ3M9Yzt0aGlzLnJldHVyblZhbHVlPVtdfX07Xy5QSj1uZXcgTWFwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmhFPW5ldyBfLkkoImxheW91dFByb3BlcnRpZXMiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rRj1uZXcgXy5WcygiREFSS19USEVNRV9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmxGPW5ldyBfLlZzKCJBUFBfRElSRUNUSU9OX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udUY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iPy5pbml0aWFsO3JldHVybiBfLk4oKCk9PntfLkJ2KCEwKTtyZXR1cm4gYz1hKGMpfSx7ZXF1YWxzOmI/LmlzRXF1YWx9LCJyU2xLc2MiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBFY2EsRmNhLHZGLEdjYSx5RixCRixDRixKY2EsTGNhLERGLEVGLE5jYSxIRixPY2EsUWNhLElGLFJjYSxKRixTY2EsS0YsTEYsVGNhLE1GLFVjYSxORixWY2EsV2NhLEljYSxIY2E7CkVjYT1mdW5jdGlvbihhKXt2YXIgYj17c3RhdGU6Ik5PTkUifSxjPXtSaDpkPT57c3dpdGNoKGQuQ2IudG9rZW4pe2Nhc2UgXy5QYmEuQ2IudG9rZW46dmFyIGU9YjticmVhaztjYXNlIF8uT2JhLkNiLnRva2VuOmU9YS5XSDticmVhaztjYXNlIF8uTEMuQ2IudG9rZW46ZT1hLnJvb3RFbGVtZW50O2JyZWFrO2Nhc2UgXy5MYmEuQ2IudG9rZW46ZT1hLllKO2JyZWFrO2Nhc2UgXy5NQi5DYi50b2tlbjplPWEuRm87YnJlYWs7Y2FzZSBfLk1iYS5DYi50b2tlbjplPWEucmVuZGVyZXJEYXRhO2JyZWFrO2Nhc2UgXy5OYmEuQ2IudG9rZW46ZT1hLm9KO2JyZWFrO2Nhc2UgXy5OQi5DYi50b2tlbjplPWEucnZ9aWYoZSlkPWU7ZWxzZSBhOntmb3IoZT1jLnBhcmVudDtlOyl7dmFyIGY9ZTtpZihmLlJoKXtkPWYuUmgoZCk7YnJlYWsgYX1lPWUucGFyZW50fWU9ZC5DYi50b2tlbjtmPV8uV0MuZ2V0KGUpO2YhPT12b2lkIDA/ZD1mOihmPWQuQ2IuTXosZC5DYi5LcD8oZD1kLkNiLktwKCksZSYmZj09PQoicm9vdCImJl8uV0Muc2V0KGUsZCkpOmQ9Xy5hdSl9cmV0dXJuIGR9fTtfLkJ1KGMpO3JldHVybiBjfTtGY2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ9O3ZGPWZ1bmN0aW9uKGEsYil7aWYoYT09PWIpYT0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkmJkFycmF5LmlzQXJyYXkoYikpYTppZihfLnlhKGEpJiZfLnlhKGIpJiZhLmxlbmd0aD09Yi5sZW5ndGgpe3ZhciBjPWEubGVuZ3RoLGQ9dkZ8fEZjYTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKCFkKGFbZV0sYltlXSkpe2E9ITE7YnJlYWsgYX1hPSEwfWVsc2UgYT0hMTtlbHNlIGlmKF8uQWEoYSkmJl8uQWEoYikpYTppZihfLkZ4KGEpLmxlbmd0aCE9Xy5GeChiKS5sZW5ndGgpYT0hMTtlbHNle2ZvcihjIGluIGEpaWYoIXZGKGFbY10sYltjXSkpe2E9ITE7YnJlYWsgYX1hPSEwfWVsc2UgYT0hMTtyZXR1cm4gYX07Xy53Rj1mdW5jdGlvbihhLGIsYyl7Yz09PXZvaWQgMD9kZWxldGUgYVtiLm5hbWVdOmFbYi5uYW1lXT1jfTsKR2NhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPSExO2FbXy5xRl0/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkhiIiksMixhLnRhZ05hbWUpO30pOl8uWnQmJmQhPT1fLlhDP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJFYiIpLDIsYS50YWdOYW1lKTt9KTooYS50ZXh0Q29udGVudCE9PSIiJiZhLnRleHRDb250ZW50IT09bnVsbHx8YS5jaGlsZEVsZW1lbnRDb3VudD4wKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkZiIiksMixhLnRhZ05hbWUpO30pO3ZhciBmPV8uUnUoKCk9Pnt2YXIgaD1fLmt1KF8uenYpLGs9KCk9Pnt2YXIgbD0oXy5PQi5zdj8/Xy52ZChhKSkuX193aXpkaXNwYXRjaGVyO2w9RWNhKHtyb290RWxlbWVudDp7dmFsdWU6YX0sRm86Y3x8bD8ubnc/LigpLHJ2Omx9KTtsPV8uJHQobCk7dmFyIG09Xy5MQighMCk7Xy5ndisrO3RyeXtfLmJDKGIoKSxhKSwKXy5JQSghMSl9Y2F0Y2gobil7dGhyb3cgXy5JQSghMCksbjt9ZmluYWxseXtfLkxCKG0pLF8uJHQobCl9fTt0cnl7cmV0dXJuIGQ9PT1fLlhDP18udXYoaywhMSk6Xy5pdyhrKX1jYXRjaChsKXt0aHJvdyBfLlV1KGwsNCksbDt9ZmluYWxseXtfLmt1KGgpfX0pO2FbXy5xRl09ITA7cmV0dXJuKCk9PntlP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJHYiIpLDIsYS50YWdOYW1lKTt9KTooYS50ZXh0Q29udGVudD0iIixmKCksZT0hMCxhW18ucUZdPSExKX19O18ueEY9ZnVuY3Rpb24oYSxiLGMpe2M/PyhjPXt9KTt2YXIgZD1jLkZvLGU9ISFfLkt1LkpxO2I9R2NhKGEsYixkLGMuSWspO2UmJl8uUEIoYSxkKTtfLlZCLmxvZyhhKTtyZXR1cm4gYn07Cl8uQUY9ZnVuY3Rpb24oYSl7dmFyIGI9e2FuZHJvaWRJbmNsdWRlRm9udFBhZGRpbmc6ITF9LGM9MCxkPVtdLGU9W10sZj1bXTtpZihhLnNpbXBsZVRleHQpcmV0dXJuIGIuY29udGVudD1hLnNpbXBsZVRleHQsYjtpZihhLnJ1bnM9PT12b2lkIDApcmV0dXJuIGIuY29udGVudD0iIixiO2ZvcihsZXQgbSBvZiBhLnJ1bnMpe3ZhciBoPW0udGV4dDthPWg/Lmxlbmd0aDtpZihoJiZhKXtkLnB1c2goaCk7aWYobS5ib2xkfHxtLml0YWxpY3N8fG0uc3RyaWtldGhyb3VnaHx8bS51bmRlcmxpbmV8fG0udGV4dENvbG9yIT1udWxsJiZtLnRleHRDb2xvciE9PTB8fG0uZGVlbXBoYXNpemUpe2g9ZTt2YXIgaz1oLnB1c2gsbD17c3RhcnRJbmRleDpjLGxlbmd0aDphfTttLmJvbGQmJihsLndlaWdodExhYmVsPSJGT05UX1dFSUdIVF9NRURJVU0iKTttLml0YWxpY3MmJihsLml0YWxpYz0hMCk7bS5zdHJpa2V0aHJvdWdoJiYobC5zdHJpa2V0aHJvdWdoPSJMSU5FX1NUWUxFX1NJTkdMRSIpO20udW5kZXJsaW5lJiYKKGwudW5kZXJsaW5lPSJMSU5FX1NUWUxFX1NJTkdMRSIpO20udGV4dENvbG9yIT1udWxsJiZtLnRleHRDb2xvciE9PTA/bC5mb250Q29sb3I9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgiZGFyayIpP20uZGFya01vZGVUZXh0Q29sb3J8fG0udGV4dENvbG9yOm0udGV4dENvbG9yOm0uZGVlbXBoYXNpemUmJihsLmZvbnRDb2xvcj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCJkYXJrIik/eUYoIiNhYWEiKTp5RigiIzYwNjA2MCIpKTtrLmNhbGwoaCxsKX1tLm5hdmlnYXRpb25FbmRwb2ludCYmKGg9ZixrPWgucHVzaCxsPXtzdGFydEluZGV4OmMsbGVuZ3RoOmEsb25UYXA6e2lubmVydHViZUNvbW1hbmQ6bS5uYXZpZ2F0aW9uRW5kcG9pbnR9fSxtLmxvZ2dpbmdEaXJlY3RpdmVzJiZfLndGKGwsekYsbS5sb2dnaW5nRGlyZWN0aXZlcyksay5jYWxsKGgsbCkpO2MrPWF9fWIuY29udGVudD1kLmpvaW4oIiIpO2Iuc3R5bGVSdW5zPWUubGVuZ3RoPwplOnZvaWQgMDtiLmNvbW1hbmRSdW5zPWYubGVuZ3RoP2Y6dm9pZCAwO3JldHVybiBifTt5Rj1mdW5jdGlvbihhKXt2YXIgYj1wYXJzZUludDtpZighSGNhLnRlc3QoYSkpdGhyb3cgRXJyb3IoIlBjYCIrYSk7YS5sZW5ndGg9PTQmJihhPWEucmVwbGFjZShJY2EsIiMkMSQxJDIkMiQzJDMiKSk7cmV0dXJuIGIoImZmIithLnRvTG93ZXJDYXNlKCkuc3Vic3RyaW5nKDEpLDE2KX07QkY9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gT2JqZWN0LmVudHJpZXMoYSkuZmlsdGVyKChbLGJdKT0+YiE9PXZvaWQgMCYmYiE9PW51bGwmJmIhPT0iIikubWFwKChbYixjXSk9PmAke2IucmVwbGFjZSgvKFthLXpBLVpdKSg/PVtBLVpdKS9nLCIkMS0iKS50b0xvd2VyQ2FzZSgpfTogJHtjfTtgKS5qb2luKCIiKXx8dm9pZCAwfTsKQ0Y9ZnVuY3Rpb24oYSl7aWYoIWE/LnZhbHVlfHwhYT8udW5pdClyZXR1cm4iIjtzd2l0Y2goYS51bml0KXtjYXNlICJESU1FTlNJT05fVU5JVF9GUkFDVElPTiI6dmFyIGI9IiUiO2JyZWFrO2RlZmF1bHQ6Yj0icHgifWE9YS52YWx1ZTtiPT09IiUiJiYoYSo9MTAwKTtyZXR1cm5gJHthfSR7Yn1gfTtKY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYn07Zm9yKGxldCBbZCxlXW9mIG5ldyBNYXAoW1sib250b3VjaHN0YXJ0IixhLm9udG91Y2hzdGFydF0sWyJvbnRvdWNoZW5kIixhLm9udG91Y2hlbmRdLFsib250b3VjaG1vdmUiLGEub250b3VjaG1vdmVdXSkpe2xldCBmPWQsaD1lO2JbZl09az0+e2NbZl0/LihrKTtoKGspfX19OwpMY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bInl0QXR0cmlidXRlZFN0cmluZ0xpbmsiXTtiPy51Ynx8KGI/LmlzT3ZlcmxheT9jLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtPdmVybGF5Q2FsbFRvQWN0aW9uQ29sb3IiKTpjLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvciIpLGI/LlhhJiZjLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IiKSk7Yz17Y2xhc3NOYW1lOmMuam9pbigiICIpLHRhYmluZGV4OiIwIn07dmFyIGQ9YS5vblRhcHx8YS5vbkxvbmdQcmVzcztpZighZClyZXR1cm4gYzt2YXIgZT1hLm9uVGFwT3B0aW9ucz8uYWNjZXNzaWJpbGl0eUluZm8/LmFjY2Vzc2liaWxpdHlMYWJlbDtlJiYoYy5hcmlhTGFiZWw9ZSk7Yj1fLmJFKHtiaDpkLHV4OmMsSWQ6ISFiPy5JZCxxZDohMH0pO2Eub25Mb25nUHJlc3MmJihkPW5ldyBLY2EoKCk9Pnt2YXIgZj1fLlJEKGEub25Mb25nUHJlc3MpO2YmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoZil9KSwKYiYmSmNhKGQsYikpO3JldHVybiBifHxjfTtERj1mdW5jdGlvbihhKXt2YXIgYj1hO2E8PTE2Nzc3MjE1JiYoYis9cGFyc2VJbnQoImZmMDAwMDAwIiwxNikpO3JldHVybiBfLk5EKGIpfTtFRj1mdW5jdGlvbih7aXNEYXJrVGhlbWU6YSxleHRlbnNpb246YixPcjpjfSl7dmFyIGQ9dm9pZCAwO2lmKGI9Yj8uY29sb3JNYXApe2E9YT8iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjtmb3IobGV0IGUgb2YgYilpZihhPT09ZS5rZXkpe2Q9ZS52YWx1ZTticmVha319ZD09bnVsbCYmYyYmKGQ9Yyk7aWYoZClyZXR1cm4gREYoZCl9OwpOY2E9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYz17fTtpZihhLnRleHREZWNvcmF0b3Ipe3ZhciBkPWEudGV4dERlY29yYXRvcjt2YXIgZT17fTt2YXIgZj1fLkIoZCxfLkZGKSxoPV8uQihkLEdGKTtpZihmKXtkPU9iamVjdDtoPWQuYXNzaWduO2xldCBrPXt9OyhiPUVGKHtleHRlbnNpb246Xy5CKGYuaGlnaGxpZ2h0VGV4dERlY29yYXRvckV4dGVuc2lvbnMsTWNhKSxpc0RhcmtUaGVtZTpiLE9yOmYuYmFja2dyb3VuZENvbG9yfSkpJiYoa1siYmFja2dyb3VuZC1jb2xvciJdPWIpO2YuYmFja2dyb3VuZENvcm5lclJhZGl1cyE9PXZvaWQgMCYmKGtbImJvcmRlci1yYWRpdXMiXT1gJHtmLmJhY2tncm91bmRDb3JuZXJSYWRpdXN9cHhgKTtmLmxlZnRQYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1sZWZ0Il09YCR7Zi5sZWZ0UGFkZGluZ31weGApO2YucmlnaHRQYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1yaWdodCJdPWAke2YucmlnaHRQYWRkaW5nfXB4YCk7Zi50b3BQYWRkaW5nIT09CnZvaWQgMCYmKGtbInBhZGRpbmctdG9wIl09YCR7Zi50b3BQYWRkaW5nfXB4YCk7Zi5ib3R0b21QYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1ib3R0b20iXT1gJHtmLmJvdHRvbVBhZGRpbmd9cHhgKTtoLmNhbGwoZCxlLGspfWVsc2UgaCYmKGY9T2JqZWN0LGQ9Zi5hc3NpZ24sYj1iPyIjMmJhNjQwIjoiIzEwNzUxNiIsYj1oLmNvbG9yP0RGKGguY29sb3IpOmIsZC5jYWxsKGYsZSx7cGFkZGluZzoiMnB4IiwiYm9yZGVyLXRvcCI6YHNvbGlkICR7Yn0gMnB4YCwiYm9yZGVyLWJvdHRvbSI6YHNvbGlkICR7Yn0gMnB4YCxiYWNrZ3JvdW5kOmBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAke2J9IDNweCwgcmdiYSgwLCAwLCAwLCAwKSAzcHgpLCBsaW5lYXItZ3JhZGllbnQoMzE1ZGVnLCAke2J9IDNweCwgcmdiYSgwLCAwLCAwLCAwKSAzcHgpYH0pKTtlPU9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PTA/ZTp2b2lkIDA7Yy5zdHlsZT1lO2E9YS50ZXh0RGVjb3JhdG9yO2U9W107Yj1fLkIoYSwKR0YpO18uQihhLF8uRkYpP2UucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSGlnaGxpZ2h0VGV4dERlY29yYXRvciIpOmImJmUucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nQnJhY2tldFRleHREZWNvcmF0b3IiKTthPWUuam9pbigiICIpO2MuY2xhc3NOYW1lPWE7Yy5kaXI9ImF1dG8ifXJldHVybiBjfTtIRj1mdW5jdGlvbih7Y29uZmlnOmEsaW1hZ2U6YixnajpjLE9sOmQscnVuOmUsdGFnOmYsdGV4dExlbmd0aDpoLHN0YXJ0SW5kZXg6az0wLGxlbmd0aDpsfSl7az09PXZvaWQgMCYmKGs9MCk7ZT17cnVuOmUsc3RhcnRJbmRleDprLHdsOmwhPT12b2lkIDA/aytsOmgsdGFnOmZ9O2ImJihlLmltYWdlPWIpO2MmJihlLmdqPWMpO2QmJihlLk9sPWQpO2EmJihlLmNvbmZpZz1hKTtyZXR1cm4gZX07Ck9jYT1mdW5jdGlvbihhLGIpe2lmKGEud2VpZ2h0KXJldHVybiBhLndlaWdodDtzd2l0Y2goYS53ZWlnaHRMYWJlbCl7Y2FzZSAiRk9OVF9XRUlHSFRfVEhJTiI6cmV0dXJuIDEwMDtjYXNlICJGT05UX1dFSUdIVF9FWFRSQV9MSUdIVCI6cmV0dXJuIDIwMDtjYXNlICJGT05UX1dFSUdIVF9MSUdIVCI6cmV0dXJuIDMwMDtjYXNlICJGT05UX1dFSUdIVF9NRURJVU0iOnJldHVybiA1MDA7Y2FzZSAiRk9OVF9XRUlHSFRfU0VNSV9CT0xEIjpyZXR1cm4gNjAwO2Nhc2UgIkZPTlRfV0VJR0hUX0JPTEQiOnJldHVybiBiPzkwMDo3MDA7Y2FzZSAiRk9OVF9XRUlHSFRfRVhUUkFfQk9MRCI6cmV0dXJuIDgwMDtjYXNlICJGT05UX1dFSUdIVF9CTEFDSyI6cmV0dXJuIDkwMDtkZWZhdWx0OnJldHVybiA0MDB9fTsKUWNhPWZ1bmN0aW9uKGEsYj0hMSxjKXtiPUVGKHtleHRlbnNpb246Xy5CKGEuc3R5bGVSdW5FeHRlbnNpb25zLFBjYSksaXNEYXJrVGhlbWU6YixPcjphLmZvbnRDb2xvcn0pO3ZhciBkPVtdO2ImJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpO2EuaXRhbGljJiZkLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0l0YWxpY2l6ZWQiKTthLnVuZGVybGluZSYmYS5zdHJpa2V0aHJvdWdoP2QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lU3RyaWtldGhyb3VnaCIsSUYoYS51bmRlcmxpbmUpKTphLnVuZGVybGluZT9kLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1VuZGVybGluZWQiLElGKGEudW5kZXJsaW5lKSk6YS5zdHJpa2V0aHJvdWdoJiZkLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1N0cmlrZXRocm91Z2giLElGKGEuc3RyaWtldGhyb3VnaCkpO2lmKGEuYmFzZWxpbmVPZmZzZXQpe2E6c3dpdGNoKGEuYmFzZWxpbmVPZmZzZXQpe2Nhc2UgIkJBU0VMSU5FX09GRlNFVF9TVUJTQ1JJUFQiOnZhciBlPQoieXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRTdWJzY3JpcHQiO2JyZWFrIGE7Y2FzZSAiQkFTRUxJTkVfT0ZGU0VUX1NVUEVSU0NSSVBUIjplPSJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1cGVyc2NyaXB0IjticmVhayBhO2RlZmF1bHQ6ZT0ieXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRVbmtub3duIn1kLnB1c2goZSl9ZD1kLmpvaW4oIiAiKTtlPXt9O2lmKGEud2VpZ2h0fHxhLndlaWdodExhYmVsKWUuZm9udFdlaWdodD1PY2EoYSxjPy5xaCkudG9TdHJpbmcoKTtiJiYoZS5jb2xvcj1iKTtyZXR1cm57Y2xhc3NOYW1lOmQsc3R5bGU6ZX19O0lGPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJMSU5FX1NUWUxFX0RPVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ0xpbmVTdHlsZURvdCI7Y2FzZSAiTElORV9TVFlMRV9OT05FIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlTm9uZSI7ZGVmYXVsdDpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlU2luZ2xlIn19OwpSY2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlRFWFRfQUxJR05NRU5UX0xFRlQiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGVmdCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfUklHSFQiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50UmlnaHQiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0NFTlRFUiI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRDZW50ZXIiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0pVU1RJRklFRCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRKdXN0aWZpZWQiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0xBWU9VVF9TVEFSVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRMYXlvdXRTdGFydCI7ZGVmYXVsdDpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudFVua25vd24ifX07CkpGPWZ1bmN0aW9uKGEsYil7cmV0dXJuISFifHwhKGEuY29tbWFuZFJ1bnMmJmEuY29tbWFuZFJ1bnMubGVuZ3RoIT09MHx8YS5wYXJhZ3JhcGhTdHlsZVJ1bnMmJmEucGFyYWdyYXBoU3R5bGVSdW5zLmxlbmd0aCE9PTApfTtTY2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hLnJ1bjsoYy5vblRhcCE9PXZvaWQgMHx8Yy5vbkxvbmdQcmVzcyE9PXZvaWQgMCkmJl8uQihjLHpGKSYmXy5KeChiLHtkYXRhOntsb2dnaW5nRGlyZWN0aXZlczpfLkIoYyx6Ril9LG9ic2VydmVyOl8ueSgpLnJlc29sdmUoXy5MeCksTmM6Xy5uRixlYjpfLm1GLGxheWVyOmIubGF5ZXJ9KX19O0tGPWZ1bmN0aW9uKGEsYixjLGQpe2ZvcihsZXQgZSBvZiBhLmxjKXtpZih0eXBlb2YgZT09PSJzdHJpbmciKXRocm93IEVycm9yKCJZYyIpO2lmKGUuc3RhcnQ8PWImJmM8PWUuZW5kKXtLRihlLGIsYyxkKTtyZXR1cm59fWEubGMucHVzaCh7ZGF0YTpkLGxjOltdLHN0YXJ0OmIsZW5kOmN9KX07CkxGPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBkPWIubGMubGVuZ3RoO2Q+PTA7ZC0tKXtsZXQgZT1iLmxjW2RdO3ZhciBjPWIubGNbZC0xXTtsZXQgZj1kPT09Yi5sYy5sZW5ndGg/Yi5lbmQ6ZS5zdGFydDtjPWQ9PT0wP2Iuc3RhcnQ6Yy5lbmQ7ZiE9PWMmJmIubGMuc3BsaWNlKGQsMCxhLnNsaWNlKGMsZikpO2UmJkxGKGEsZSl9fTtUY2E9ZnVuY3Rpb24oYSl7YS5zb3J0KChiLGMpPT57aWYoYi5zdGFydEluZGV4PGMuc3RhcnRJbmRleClyZXR1cm4tMTtpZihjLnN0YXJ0SW5kZXg8Yi5zdGFydEluZGV4KXJldHVybiAxO2I9Yi53bC1iLnN0YXJ0SW5kZXg7Yz1jLndsLWMuc3RhcnRJbmRleDtyZXR1cm4gYj5jPy0xOmM+Yj8xOjB9KX07Ck1GPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE9PT12b2lkIDB8fGI9PT12b2lkIDA/ITE6Xy54KCJ3ZWJfYXR0cmlidXRlZF9zdHJpbmdfZGVlcF9lcXVhbF9idWdmaXgiKT92RihhLGIpOmEuY29udGVudD09PWIuY29udGVudCYmYS5zdHlsZVJ1bnM/Lmxlbmd0aD09PWIuc3R5bGVSdW5zPy5sZW5ndGgmJmEuY29tbWFuZFJ1bnM/Lmxlbmd0aD09PWIuY29tbWFuZFJ1bnM/Lmxlbmd0aCYmYS5hdHRhY2htZW50UnVucz8ubGVuZ3RoPT09Yi5hdHRhY2htZW50UnVucz8ubGVuZ3RoJiZhLmRlY29yYXRpb25SdW5zPy5sZW5ndGg9PT1iLmRlY29yYXRpb25SdW5zPy5sZW5ndGh9O1VjYT1mdW5jdGlvbih7bGM6YX0pe3JldHVybiBhLm1hcChORil9OwpORj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhO3ZhciBiPWEuZGF0YTtiLmltYWdlIT09dm9pZCAwJiZiLmdqIT09dm9pZCAwPyhiPWEuZGF0YS5PbCxhPV8uSygic3BhbiIse2NsYXNzOmI/LmNsYXNzTmFtZSxzdHlsZTpCRihiPy5zdHlsZSksZGlyOmI/LmRpcixyb2xlOmI/LnJvbGUsdGFiaW5kZXg6Yj8udGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGIudGFiaW5kZXgpOnZvaWQgMCwiZm9yY2UtbmV3LXN0YXRlIjpiPy5xZCwib246Y2xpY2siOmI/Lm9uY2xpY2ssIm9uOnRvdWNoZW5kIjpiPy5vbnRvdWNoZW5kLCJvbjp0b3VjaG1vdmUiOmI/Lm9udG91Y2htb3ZlLCJvbjp0b3VjaHN0YXJ0IjpiPy5vbnRvdWNoc3RhcnR9LF8uSyhfLmpGLHtkYXRhOmEuZGF0YS5pbWFnZSwuLi5hLmRhdGEuZ2p9KSkpOihiPWEuZGF0YS5jb25maWcsYT1fLksoYS5kYXRhLnRhZyx7ZWw6Xy5yRihTY2EoYS5kYXRhKSksInByb3A6X2RhdGEiOmI/Lm51LCJwcm9wOnBhcmFtcyI6Yj8ucGFyYW1zLApjbGFzczpiPy5jbGFzc05hbWUsc3R5bGU6QkYoYj8uc3R5bGUpLGRpcjpiPy5kaXIsaHJlZjpiPy5ocmVmLHJlbDpiPy5yZWwscm9sZTpiPy5yb2xlLHRhcmdldDpiPy50YXJnZXQsdGl0bGU6Yj8udGl0bGUsdGFiaW5kZXg6Yj8udGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGIudGFiaW5kZXgpOnZvaWQgMCwiYXJpYS1oYXNwb3B1cCI6Yj8uYXJpYUhhc1BvcHVwLCJmb3JjZS1uZXctc3RhdGUiOmI/LnFkLCJhcmlhLWhpZGRlbiI6Yj8uYXJpYUhpZGRlbiwiYXJpYS1leHBhbmRlZCI6Yj8uYXJpYUV4cGFuZGVkLCJhcmlhLWxhYmVsIjpiPy5hcmlhTGFiZWwsIm9uOmNsaWNrIjpiPy5vbmNsaWNrLCJvbjp0b3VjaGVuZCI6Yj8ub250b3VjaGVuZCwib246dG91Y2htb3ZlIjpiPy5vbnRvdWNobW92ZSwib246dG91Y2hzdGFydCI6Yj8ub250b3VjaHN0YXJ0LCJvbjpwb2ludGVyZG93biI6Yj8ub25wb2ludGVyZG93biwib246a2V5ZG93biI6Yj8ub25rZXlkb3dufSxhLmxjLm1hcChORikpKTsKcmV0dXJuIF8uZkMoYSl9O1ZjYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09Yj8hMDphPT09dm9pZCAwfHxiPT09dm9pZCAwPyExOmEuQ2o9PT1iLkNqJiZhLnViPT09Yi51YiYmYS5tYT09PWIubWEmJmEuaGVhZGVyUnVucz09PWIuaGVhZGVyUnVucyYmYS5pc092ZXJsYXk9PT1iLmlzT3ZlcmxheSYmYS5YYT09PWIuWGEmJmEudXNlcklucHV0PT09Yi51c2VySW5wdXQmJmEucWg9PT1iLnFofTtXY2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pih7YXJpYUxhYmVsOmEuYXJpYUxhYmVsPy4oKSxjbGFzc05hbWU6YS5jbGFzc05hbWU/LigpLHljOmEueWM/LigpLGlzT3ZlcmxheTphLmlzT3ZlcmxheT8uKCksWGE6YS5YYT8uKCksbWE6YS5tYT8uKCksQ2o6YS5Daj8uKCksdWI6YS51Yj8uKCkscmc6YS5yZz8uKCksbm9XcmFwOmEubm9XcmFwPy4oKSxJZDphLklkPy4oKSx1c2VySW5wdXQ6YS51c2VySW5wdXQ/LigpLGhlYWRlclJ1bnM6YS5oZWFkZXJSdW5zPy4oKSxxaDphLnFoPy4oKX0pfTsKSWNhPS8jKC4pKC4pKC4pLztIY2E9L14jKD86WzAtOWEtZl17M30pezEsMn0kL2k7Xy5YY2E9bmV3IF8uSSgiZW1vamkiKTt2YXIgekY9bmV3IF8uSSgibG9nZ2luZ0RpcmVjdGl2ZXMiKTtfLlljYT1uZXcgXy5JKCJ1bnBsdWdnZWRTdHJpbmdSdW5JbWFnZSIpO3ZhciBNY2E9bmV3IF8uSSgiaGlnaGxpZ2h0VGV4dERlY29yYXRvckNvbG9yTWFwRXh0ZW5zaW9uIik7dmFyIFBjYT1uZXcgXy5JKCJzdHlsZVJ1bkNvbG9yTWFwRXh0ZW5zaW9uIik7dmFyIFpjYT1uZXcgXy5JKCJhY2Nlc3NpYmlsaXR5UHJvcGVydGllcyIpO3ZhciBHRj1uZXcgXy5JKCJicmFja2V0VGV4dERlY29yYXRvciIpO18uRkY9bmV3IF8uSSgiaGlnaGxpZ2h0VGV4dERlY29yYXRvciIpO3ZhciAkY2E9bmV3IF8uSSgiaW1hZ2VUeXBlIik7dmFyIGFkYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD01MDA7dGhpcy5qPU5hTjt0aGlzLnY9dGhpcy5vPSExO3RoaXMuQj1hPT57dmFyIGI9bmV3IEN1c3RvbUV2ZW50KCJMT05HX1BSRVNTIik7YS5jaGFuZ2VkVG91Y2hlc1swXS50YXJnZXQ/LmRpc3BhdGNoRXZlbnQoYil9O3RoaXMub250b3VjaHN0YXJ0PWE9Pnt0aGlzLmo9Xy5xeChfLmpmLCgpPT57dGhpcy5CKGEpO3RoaXMubz0hMH0sdGhpcy5EKX07dGhpcy5vbnRvdWNobW92ZT0oKT0+e18uamYuQWEodGhpcy5qKTt0aGlzLmo9TmFOO3RoaXMubz0hMTt0aGlzLnY9ITB9O3RoaXMub250b3VjaGVuZD1hPT57dGhpcy5qJiYhdGhpcy5vJiYhdGhpcy52JiZhLmNoYW5nZWRUb3VjaGVzWzBdLnRhcmdldD8uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNsaWNrIikpO18uamYuQWEodGhpcy5qKTt0aGlzLmo9TmFOO3RoaXMudj10aGlzLm89ITF9fX07dmFyIEtjYT1jbGFzcyBleHRlbmRzIGFkYXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9YTt0aGlzLkI9Yj0+e3RoaXMuY2FsbGJhY2s/LihiKX19fTt2YXIgYmRhO2JkYT1fLngoImFsbG93X25lc3RlZF9yZW5kZXJfa3MiKT92b2lkIDA6e0lrOl8uWEN9OwpfLlY9Xy5MKGE9Pnt2YXIgYj1XY2EoYSksYz1lPT57dmFyIGYsaCxrPV8uckYocD0+e2Y9ZSgpO2g9Xy51digoKT0+e2Zvcih2YXIgciBvZiBtKCkpe2xldCB0PU5GKHIpO3Q9dHlwZW9mIHQ9PT0ic3RyaW5nIj9kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KTp0O2lmKCEodCBpbnN0YW5jZW9mIE5vZGUpKXtyPW5ldyBfLlhqKCJQYXJ0IGlzIG5vdCBhIG5vZGUiLHQsdHlwZW9mIHQpO18uR3Aocik7YnJlYWt9cC5hcHBlbmRDaGlsZCh0KX19KX0pLGw9Xy51RihiLHtpc0VxdWFsOlZjYX0pLG09KCk9Pnt2YXIgcD1lKCkscj1sKCksdD1bXSx2PXAuY29udGVudC5sZW5ndGgsej1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtpZihwLnBhcmFncmFwaFN0eWxlUnVucylmb3IobGV0IE0gb2YgcC5wYXJhZ3JhcGhTdHlsZVJ1bnMpe3ZhciBFPXQsQT1FLnB1c2g7YTp7aWYoIU0ubGlzdEdyb3VwPy5saXN0SXRlbXMpe3ZhciBGPVtdO2JyZWFrIGF9Rj1bXTtiOnN3aXRjaChNLmxpc3RHcm91cC5saXN0VHlwZSl7Y2FzZSAiTElTVF9UWVBFX0JVTExFVCI6dmFyIEM9CiJ1bCI7YnJlYWsgYjtkZWZhdWx0OkM9InNwYW4ifUYucHVzaChIRih7cnVuOk0sdGV4dExlbmd0aDp2LHRhZzpDLGNvbmZpZzp7Y2xhc3NOYW1lOiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaXN0R3JvdXAifSxzdGFydEluZGV4Ok0uc3RhcnRJbmRleCxsZW5ndGg6TS5sZW5ndGh9KSk7Zm9yKGxldCBTIG9mIE0ubGlzdEdyb3VwLmxpc3RJdGVtcyl7Yjpzd2l0Y2goTS5saXN0R3JvdXAubGlzdFR5cGUpe2Nhc2UgIkxJU1RfVFlQRV9CVUxMRVQiOkM9ImxpIjticmVhayBiO2RlZmF1bHQ6Qz0ic3BhbiJ9Ri5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOkMsc3RhcnRJbmRleDpTLnN0YXJ0SW5kZXgsbGVuZ3RoOlMubGVuZ3RofSkpfX1BLmNhbGwoRSwuLi5GKX1pZihwLnN0eWxlUnVucyYmIXI/LkNqKWZvcih2YXIgRyBvZiBwLnN0eWxlUnVucylFPVFjYShHLHosciksdC5wdXNoKEhGKHtydW46Ryx0ZXh0TGVuZ3RoOnYsdGFnOiJzcGFuIixjb25maWc6RSxzdGFydEluZGV4Okcuc3RhcnRJbmRleCwKbGVuZ3RoOkcubGVuZ3RofSkpO2lmKHAuZGVjb3JhdGlvblJ1bnMpZm9yKHZhciBEIG9mIHAuZGVjb3JhdGlvblJ1bnMpRz1OY2EoRCx6KSxFPV8uQihELnRleHREZWNvcmF0b3IsR0YpLEE9Xy5CKEQudGV4dERlY29yYXRvcixHRiksdC5wdXNoKEhGKHtydW46RCx0ZXh0TGVuZ3RoOnYsdGFnOiJzcGFuIixjb25maWc6RyxzdGFydEluZGV4Ol8uQihELnRleHREZWNvcmF0b3IsXy5GRik/LnN0YXJ0SW5kZXh8fEU/LnN0YXJ0SW5kZXh8fDAsbGVuZ3RoOl8uQihELnRleHREZWNvcmF0b3IsXy5GRik/Lmxlbmd0aHx8QT8ubGVuZ3RofHwwfSkpO2lmKHAuY29tbWFuZFJ1bnMmJiFyPy5tYSlmb3IodmFyIEggb2YgcC5jb21tYW5kUnVucyl6PUxjYShILHIpLHQucHVzaChIRih7cnVuOkgsdGV4dExlbmd0aDp2LHRhZzoiYSIsY29uZmlnOnosc3RhcnRJbmRleDpILnN0YXJ0SW5kZXgsbGVuZ3RoOkgubGVuZ3RofSkpO2lmKHAuYXR0YWNobWVudFJ1bnMpZm9yKGxldCBNIG9mIHAuYXR0YWNobWVudFJ1bnMpe3A9CntjbGFzc05hbWU6Inl0QXR0cmlidXRlZFN0cmluZ0lubGluZUJsb2NrTW9kIn07TS5lbGVtZW50Py5wcm9wZXJ0aWVzJiYoSD17fSx6PV8uQihNLmVsZW1lbnQ/LnByb3BlcnRpZXMsXy5oRSksej8ubWFyZ2luJiYoej16Lm1hcmdpbixEPShHPV8udygiSFRNTF9ESVIiKT09PSJydGwifHxkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZSgiZGlyIik9PT0icnRsIik/ei5lbmR8fHoucmlnaHQ6ei5zdGFydHx8ei5sZWZ0LEc9Rz96LnN0YXJ0fHx6LmxlZnQ6ei5lbmR8fHoucmlnaHQsRCYmKEhbIm1hcmdpbi1sZWZ0Il09Q0YoRCkpLEcmJihIWyJtYXJnaW4tcmlnaHQiXT1DRihHKSksei50b3AmJihIWyJtYXJnaW4tdG9wIl09Q0Yoei50b3ApKSx6LmJvdHRvbSYmKEhbIm1hcmdpbi1ib3R0b20iXT1DRih6LmJvdHRvbSkpKSxIPU9iamVjdC5rZXlzKEgpLmxlbmd0aCE9PTA/SDp2b2lkIDAscC5zdHlsZT1IKTtIPXthbHQ6IiIsWWE6ITAsVGE6ITB9O3o9WyJ5dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUVsZW1lbnQiXTsKaWYoTS5hbGlnbm1lbnQpe2E6c3dpdGNoKE0uYWxpZ25tZW50KXtjYXNlICJBTElHTk1FTlRfQkFTRUxJTkUiOkQ9Inl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50QmFzZWxpbmUiO2JyZWFrIGE7Y2FzZSAiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUiI6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRWZXJ0aWNhbENlbnRlciI7YnJlYWsgYTtkZWZhdWx0OkQ9Inl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50Qm90dG9tIn16LnB1c2goRCl9TS5lbGVtZW50Py5wcm9wZXJ0aWVzJiYoRD17fSxHPV8uQihNLmVsZW1lbnQucHJvcGVydGllcyxfLmhFKSxHPy5oZWlnaHQmJihELmhlaWdodD1DRihHLmhlaWdodCkpLEc/LndpZHRoJiYoRC53aWR0aD1DRihHLndpZHRoKSksRD1PYmplY3Qua2V5cyhEKS5sZW5ndGghPT0wP0Q6dm9pZCAwLEguc3R5bGU9QkYoRCksSC5hbHQ9Xy5CKE0uZWxlbWVudC5wcm9wZXJ0aWVzLFpjYSk/LmxhYmVsfHwiIik7SC5jbGFzc05hbWU9Cnouam9pbigiICIpO3o9TS5lbGVtZW50Py50eXBlP18uQihNLmVsZW1lbnQudHlwZSwkY2EpPy5pbWFnZTp2b2lkIDA7dC5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOiJpbWciLGltYWdlOnosZ2o6SCxPbDpwLHN0YXJ0SW5kZXg6TS5zdGFydEluZGV4LGxlbmd0aDpNLmxlbmd0aD8/MH0pKX1pZihyPy5oZWFkZXJSdW5zKWZvcih2YXIgUiBvZiByLmhlYWRlclJ1bnMpaWYoUi5oZWFkZXJNYXBwaW5nJiZbIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMSIsIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMiIsIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMyJdLmluY2x1ZGVzKFIuaGVhZGVyTWFwcGluZykpe2E6e3N3aXRjaChSLmhlYWRlck1hcHBpbmcpe2Nhc2UgIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMSI6cj0ieXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzEiOwpicmVhayBhO2Nhc2UgIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMiI6cj0ieXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzIiO2JyZWFrIGE7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18zIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMyI7YnJlYWsgYX1yPXZvaWQgMH10LnB1c2goSEYoe3J1bjpSLHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpyP3tjbGFzc05hbWU6cn06dm9pZCAwLHN0YXJ0SW5kZXg6Ui5zdGFydEluZGV4LGxlbmd0aDpSLmxlbmd0aH0pKX1pZihsKCk/LnVzZXJJbnB1dClmb3IobGV0IE0gb2YgdCl7aWYoTS50YWc9PT0iYSJ8fE0udGFnPT09ImxpIiljb250aW51ZTtsZXQgUzsoUz1NKS5jb25maWd8fChTLmNvbmZpZz17fSk7TS50YWc9PT0idWwiP00uY29uZmlnLmRpcj1fLnkoKS5yZXNvbHZlKF8ubEYpOk0uY29uZmlnLmRpcj0iYXV0byJ9aWYoZSgpLmNvbnRlbnQpe3Y9ZSgpLmNvbnRlbnQ7ClRjYSh0KTtSPXtkYXRhOm51bGwsc3RhcnQ6MCxlbmQ6di5sZW5ndGgsbGM6W119O2ZvcihsZXQgTSBvZiB0KUtGKFIsTS5zdGFydEluZGV4LE0ud2wsTSk7TEYodixSKTt0PVIubGN9ZWxzZSB0PVtdO3JldHVybiB0fSxuPSEwO18ubkUoKCk9PntlKCk7bCgpO2lmKG4mJihuPSExLE1GKGUoKSxmKSkpcmV0dXJuO3ZhciBwPW0oKTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dmFyIHI9ay52YWx1ZTtyJiYoci5pbm5lclRleHQ9IiIsaD8uKCksaD1fLnhGKHIsKCk9Pl8uSyhVY2Ese2xjOnB9KSxiZGEpKX0pfSwidjJaMG9lIik7cmV0dXJuIF8uSygic3BhbiIse2VsOmssY2xhc3M6KCk9Pnt2YXIgcDtpZihwPWUoKSl7cD1lKCk7dmFyIHI9YigpO2xldCB0PVtdO3QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSG9zdCIpO3I/LmNsYXNzTmFtZSYmdC5wdXNoKHI/LmNsYXNzTmFtZSk7cj8ueWM/dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdFbGxpcHNpc1RydW5jYXRlIik6cj8ubm9XcmFwPwp0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VOb1dyYXAiKTpyPy5yZ3x8dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdXaGl0ZVNwYWNlUHJlV3JhcCIpO3I/LlhhJiZ0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IiKTtwLmFsaWdubWVudCYmdC5wdXNoKFJjYShwLmFsaWdubWVudCkpO3AubGluZUJyZWFrTW9kZSYmdC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdXb3JkV3JhcHBpbmciKTtwPXQuam9pbigiICIpfXJldHVybiBwfSxzdHlsZTphLnN0eWxlLGRpcjooKT0+YigpLnVzZXJJbnB1dD8iYXV0byI6dm9pZCAwLCJhcmlhLWxhYmVsIjooKT0+SkYoZSgpLGIoKS5hcmlhTGFiZWwpP2IoKS5hcmlhTGFiZWw6dm9pZCAwLHJvbGU6KCk9PkpGKGUoKSxiKCkuYXJpYUxhYmVsKT8idGV4dCI6dm9pZCAwfSl9LGQ9Xy51RigoKT0+e3ZhciBlPWEudGV4dD8uKCk7aWYoZSlyZXR1cm4gZT1lPy5jb250ZW50IT09dm9pZCAwP2U6Xy5BRihlKSwKZT8uY29udGVudD9lOnZvaWQgMH0se2lzRXF1YWw6TUZ9KTtyZXR1cm4gYS5ZdT9jKGQpOl8uSyhfLk8se0E6ZCx0aGVuOmN9KX0sInEiKTtfLlYuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFFKO1FKPWZ1bmN0aW9uKGEsYil7aWYoIWEpcmV0dXJuIG51bGw7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGMgb2YgYSlpZihhPWMudG9Mb3dlckNhc2UoKSxhLmluZGV4T2YoYixhLmxlbmd0aC1iLmxlbmd0aCk+LTEpcmV0dXJuIGM7cmV0dXJuIG51bGx9O18uUko9ZnVuY3Rpb24oYSl7dmFyIGI9UUooYSwiYWN0aW9uIil8fFFKKGEsImNvbW1hbmQiKXx8UUooYSwiZW5kcG9pbnQiKTtpZighYilyZXR1cm4gbnVsbDt7dmFyIGM9Inl0IitiO2xldCBkPV8uUEouZ2V0KGMpO2Q/Yz1kOihiPWB5dC0ke2IucmVwbGFjZSgvKFtBLVpdKS9nLCItJDEiKS50b0xvd2VyQ2FzZSgpfWAsXy5QSi5zZXQoYyxiKSxjPWIpfV8uQihhLF8uTkopJiYoYys9Ii0iK18uQihhLF8uTkopLnNpZ25hbC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL18vZywiLSIpKTtyZXR1cm4gY307Xy5TSj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj1uZXcgTWFwfX07Xy53YShfLlNKKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEZkYSxHZGEsQ0gsSGRhLERILEVILEZILElkYTtGZGE9ZnVuY3Rpb24oYSxiPTAsYz0tMSl7aWYoIWEudG90YWxMZW5ndGh8fCFjKXJldHVybiBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDApKTtjPDAmJihjPWEudG90YWxMZW5ndGgtYik7YS5mb2N1cyhiKTtpZighKGItYS52K2M8PWEualthLm9dLmxlbmd0aCkpe3ZhciBkPWEubyxlPWEudjthLmZvY3VzKGIrYy0xKTtlPW5ldyBVaW50OEFycmF5KGEudithLmpbYS5vXS5sZW5ndGgtZSk7bGV0IGY9MDtmb3IobGV0IGg9ZDtoPD1hLm87aCsrKWUuc2V0KGEualtoXSxmKSxmKz1hLmpbaF0ubGVuZ3RoO2Euai5zcGxpY2UoZCxhLm8tZCsxLGUpO2Eubz0wO2Eudj0wO2EuZm9jdXMoYil9ZD1hLmpbYS5vXTtyZXR1cm4gbmV3IERhdGFWaWV3KGQuYnVmZmVyLGQuYnl0ZU9mZnNldCtiLWEudixjKX07CkdkYT1mdW5jdGlvbihhLGI9MCxjPS0xKXthPUZkYShhLGIsYyk7cmV0dXJuIG5ldyBVaW50OEFycmF5KGEuYnVmZmVyLGEuYnl0ZU9mZnNldCxhLmJ5dGVMZW5ndGgpfTtDSD1mdW5jdGlvbihhLGIpe2EuZm9jdXMoYik7cmV0dXJuIGEualthLm9dW2ItYS52XX07CkhkYT1mdW5jdGlvbihhKXtpZighYS5sZW5ndGgpcmV0dXJuIiI7dHJ5e2lmKF8uc0EpcmV0dXJuIF8uc0EuZGVjb2RlKGEpO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgoYSl9Y2F0Y2h7fWZvcih2YXIgYj0wLGM9W10sZD1hLmxlbmd0aDtiPGQ7KXtsZXQgZj0wO2Zvcig7ZjwxMDI0JiZiPGQ7KXt2YXIgZT1hW2IrK107aWYoZTwxMjgpe18uckFbZisrXT1lO2NvbnRpbnVlfWlmKGU8MjI0KWU9KGUmMzEpPDw2fGFbYisrXSY2MztlbHNlIGlmKGU8MjQwKWU9KGUmMTUpPDwxMnwoYVtiKytdJjYzKTw8NnxhW2IrK10mNjM7ZWxzZXtpZihmKzE9PT0xMDI0KXstLWI7YnJlYWt9ZT0oZSY3KTw8MTh8KGFbYisrXSY2Myk8PDEyfChhW2IrK10mNjMpPDw2fGFbYisrXSY2MztlLT02NTUzNjtfLnJBW2YrK109NTUyOTZ8ZT4+MTA7ZT01NjMyMHxlJjEwMjN9Xy5yQVtmKytdPWV9ZT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKXy5yQSk7ZjwxMDI0JiYoZT1lLnN1YnN0cmluZygwLGYpKTtjLnB1c2goZSl9cmV0dXJuIGMuam9pbigiIil9O0RIPWZ1bmN0aW9uKGEpe3ZhciBiPUNIKGEuaixhLnBvcyk7KythLnBvcztpZihiPDEyOClyZXR1cm4gYjtmb3IodmFyIGM9YiYxMjcsZD0xO2I+PTEyODspYj1DSChhLmosYS5wb3MpLCsrYS5wb3MsZCo9MTI4LGMrPShiJjEyNykqZDtyZXR1cm4gY307RUg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm87Zm9yKGEubz0tMTthLnBvcysxPD1hLmoudG90YWxMZW5ndGg7KXtjPDAmJihjPURIKGEpKTt2YXIgZD1jPj4zO2xldCBlPWMmNztpZihkPT09YilyZXR1cm4hMDtpZihkPmIpe2Eubz1jO2JyZWFrfWM9LTE7c3dpdGNoKGUpe2Nhc2UgMDpESChhKTticmVhaztjYXNlIDE6YS5wb3MrPTg7YnJlYWs7Y2FzZSAyOmQ9REgoYSk7YS5wb3MrPWQ7YnJlYWs7Y2FzZSA1OmEucG9zKz00fX1yZXR1cm4hMX07Cl8uR0g9ZnVuY3Rpb24oYSl7YT1uZXcgSWRhKG5ldyBGSChbXy51YyhkZWNvZGVVUklDb21wb25lbnQoYSkpXSkpO2lmKEVIKGEsMikpe3ZhciBiPURIKGEpO3ZhciBjPUdkYShhLmosYS5wb3MsYik7YS5wb3MrPWI7Yj1jfWVsc2UgYj12b2lkIDA7Yj1iP0hkYShiKTp2b2lkIDA7YT1FSChhLDQpP0RIKGEpOnZvaWQgMDtjPV8udkFbYV07aWYodHlwZW9mIGM9PT0idW5kZWZpbmVkIil0aHJvdyBhPW5ldyBfLlhqKCJGYWlsZWQgdG8gcmVjb2duaXplIGZpZWxkIG51bWJlciIse25hbWU6IkVudGl0eUtleUhlbHBlckVycm9yIixXSTphfSksXy5HcChhKSxhO3JldHVybntSSTphLGVudGl0eVR5cGU6YyxlbnRpdHlJZDpifX07Xy5ISD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInBsYXllclN0YXRlRW50aXR5IixiKX07Xy5JSD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImJvb2xlYW5FbnRpdHkiLGIpfTsKRkg9Y2xhc3N7Y29uc3RydWN0b3IoYT1bXSl7dGhpcy5qPVtdO3RoaXMudG90YWxMZW5ndGg9dGhpcy52PXRoaXMubz0wO2EuZm9yRWFjaChiPT57dGhpcy5hcHBlbmQoYil9KX1hcHBlbmQoYSl7dmFyIGI9dGhpcy5qLmxlbmd0aD09PTA/ITE6KGI9dGhpcy5qW3RoaXMuai5sZW5ndGgtMV0pJiZiLmJ1ZmZlcj09PWEuYnVmZmVyJiZiLmJ5dGVPZmZzZXQrYi5sZW5ndGg9PT1hLmJ5dGVPZmZzZXQ7Yj8oYj10aGlzLmpbdGhpcy5qLmxlbmd0aC0xXSx0aGlzLmpbdGhpcy5qLmxlbmd0aC0xXT1uZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsYi5sZW5ndGgrYS5sZW5ndGgpLHRoaXMudj10aGlzLm89MCk6dGhpcy5qLnB1c2goYSk7dGhpcy50b3RhbExlbmd0aCs9YS5sZW5ndGh9c3BsaXQoYSl7dmFyIGI9bmV3IEZILGM9bmV3IEZIO2ZvcihsZXQgZCBvZiB0aGlzLmopYT49ZC5sZW5ndGg/KGIuYXBwZW5kKGQpLGEtPWQubGVuZ3RoKTphPyhiLmFwcGVuZChuZXcgVWludDhBcnJheShkLmJ1ZmZlciwKZC5ieXRlT2Zmc2V0LGEpKSxjLmFwcGVuZChuZXcgVWludDhBcnJheShkLmJ1ZmZlcixkLmJ5dGVPZmZzZXQrYSxkLmxlbmd0aC1hKSksYT0wKTpjLmFwcGVuZChkKTtyZXR1cm57ako6YixiTDpjfX1pc0ZvY3VzZWQoYSl7cmV0dXJuIGE+PXRoaXMudiYmYTx0aGlzLnYrdGhpcy5qW3RoaXMub10ubGVuZ3RofWZvY3VzKGEpe2lmKCF0aGlzLmlzRm9jdXNlZChhKSlmb3IoYTx0aGlzLnYmJih0aGlzLnY9dGhpcy5vPTApO3RoaXMudit0aGlzLmpbdGhpcy5vXS5sZW5ndGg8PWEmJnRoaXMubzx0aGlzLmoubGVuZ3RoOyl0aGlzLnYrPXRoaXMualt0aGlzLm9dLmxlbmd0aCx0aGlzLm8rPTF9fTtJZGE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5wb3M9MDt0aGlzLm89LTF9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEplYSxhSztKZWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1aSixkPV8uamYuR2EoKCk9PntjLlMoe3RleHQ6Yi50ZXh0LGxvY2F0aW9uOiRKLGFuY2hvcjphLG9mZnNldDpiLm9mZnNldCxzdHlsZTpiLnN0eWxlLGhvdGtleTpiLmhvdGtleX0pO2MubyghMCl9LDQsYi5kZWxheSk7Yy5qKGQpfTthSz1mdW5jdGlvbigpe3ZhciBhPVpKLGI9YS52KCk7YiYmKF8uamYuQWEoYiksYS5qKHZvaWQgMCkpO2EubyghMSl9OwpfLmJLPWZ1bmN0aW9uKGEsYil7dmFyIFtjLGRdPV8uQUMoKCk9PmEoKT8/Yj8uKCk/LnRleHQpO3JldHVybltlPT57dmFyIGY9Xy5OKCgpPT4oe2xvY2F0aW9uOiJib3R0b20iLG9mZnNldDoxNixkZWxheToxLC4uLmI/LigpLHRleHQ6YygpPz8iIn0pLHZvaWQgMCwiSUpVMzhkIik7Xy5uRSgoKT0+e3ZhciBsPWYoKTtfLkVBKCgpPT57Xy5qZi5HYSgoKT0+e1pKLm5vdGlmeShlLGwpfSw0KX0pfSwiV2xzZ1pjIik7dmFyIGg9KCk9PntKZWEoZSxmKCkpfSxrPSgpPT57YUsoKX07ZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixoKTtlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixoKTtlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGspO2UuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsayk7ZS5hZGRFdmVudExpc3RlbmVyKCJ0YXAiLGspO18uWXUoKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGgpO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsCmspO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsayk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0YXAiLGspO2FLKCl9KX0sZF19O3ZhciAkSj17bGVmdDoiMHB4IixyaWdodDoiYXV0byIsdG9wOiItMTAwcHgiLGJvdHRvbToiYXV0byJ9O3ZhciBaSj1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXtbdGhpcy5zdGF0ZSx0aGlzLlNdPV8uSih2b2lkIDAsdm9pZCAwLCJMZmt4b2YiKTtbdGhpcy5zaG93LHRoaXMub109Xy5KKCExLHZvaWQgMCwiazFGa29lIik7W3RoaXMudix0aGlzLmpdPV8uSih2b2lkIDAsdm9pZCAwLCJVbDhNSWMiKX1ub3RpZnkoYSxiKXt0aGlzLnN0YXRlKCk/LmFuY2hvcj09PWEmJnRoaXMuUyh7dGV4dDpiLnRleHQsbG9jYXRpb246JEosYW5jaG9yOmEsb2Zmc2V0OmIub2Zmc2V0LHN0eWxlOmIuc3R5bGUsaG90a2V5OmIuaG90a2V5fSl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5jSz1uZXcgXy5JKCJ0b29sdGlwVmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZEs9ZnVuY3Rpb24oYSxiKXtfLmFFKGEsey4uLmIsUHA6ITB9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBUYmE7VGJhPWZ1bmN0aW9uKGEsYil7dmFyIFtjLGRdPV8uSighMSx2b2lkIDAsIm1OeXd6YyIpLGU9ITEsZixoPWs9PntpZihmKXJldHVybiBfLksoZix7Li4ua30pO2lmKCFlKXtsZXQgbD1hKCk7ZT0hMDtpZihsIGluc3RhbmNlb2YgUHJvbWlzZSl7bGV0IG09Xy5hRDttPy5zdSgpO2wudGhlbihuPT57Zj1uO2QoITApO20/LkhyKCl9KS5jYXRjaChuPT57bT8uSHIoKTtpZihiPy5kZWJ1Z05hbWUpe3ZhciBwPW5ldyBfLlhqKCJmYWlsZWQgdG8gbG9hZCBjaHVuayIsYi5kZWJ1Z05hbWUsbj8udG9TdHJpbmc/LigpKTtfLkdwKHApfWVsc2UgXy5HcChuKTt0aHJvdyBuO30pfWVsc2UgcmV0dXJuIGY9bCxfLksoZix7Li4ua30pfXJldHVybiBfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKGYsey4uLmt9KX0pfTtfLmJELnNldChoLGEpO3JldHVybiBofTtfLmNEPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRiYShhLGI/e2RlYnVnTmFtZTpifTp2b2lkIDApfTtfLkpEPW5ldyBfLlZzKCJDSFVOS19SRUdJU1RSWV9UT0tFTiIpO18uYkQ9bmV3IFdlYWtNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZUs9bmV3IF8uVnMoIkxJR0hUX0VGRkVDVF9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS2VhO18uZks9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9IiI7Zm9yKGxldCBjIG9mIEtlYSlpZihhLmVuZHNXaXRoKGMpKXtiPWEuc2xpY2UoMCwtYy5sZW5ndGgpO2JyZWFrfWlmKGImJihhPU51bWJlcihiKSwhaXNOYU4oYSkpKXJldHVybiBhfX07S2VhPVsicmVtIiwicHgiLCJtcyIsIiUiLCJzIl07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLZGEsUkg7Xy5RSD1mdW5jdGlvbihhKXt2YXIgYj1fLlBIKCk7cmV0dXJuIEtkYShhLGIpfTtfLlBIPWZ1bmN0aW9uKCl7dmFyIGE9Xy55KCkucmVzb2x2ZShfLkluKFJIKSksW2IsY109Xy5KKGEsdm9pZCAwLCJ6TElZUmMiKTthfHxfLll0KFJILGMpO3JldHVybiBifTtLZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5OKCgpPT57dmFyIGM9YSgpO3JldHVybiBjP2IoKT8uKGMpOnZvaWQgMH0sdm9pZCAwLCJlUXhobWIiKX07Ukg9bmV3IF8uVnMoIlNFTUFOVElDX0xBWU9VVF9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmlLPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiT3RLU0plIik7cmV0dXJuIF8uVUN9O18uaks9Xy5jRCgoKT0+Xy5pSygpLCJ0b3VjaEZlZWRiYWNrU2hhcGUiKTtfLll0KF8uSkQsYT0+e2EuSigidG91Y2hGZWVkYmFja1NoYXBlIiwiT3RLU0plIixfLmlLKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga0ssTmVhLGxLLFBlYSxtSyxRZWEsUmVhLG5LLHBLLFZlYSxXZWEsWGVhLFllYTtrSz1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IFtjLGRdb2YgYS5qLmVudHJpZXMoKSliLnB1c2goe2VsZW1lbnQ6YyxQeTpkfSk7YS52KGIpfTtOZWE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7ZD0wfXZhciBkPTA7cmV0dXJuIGZ1bmN0aW9uKGUpe2R8fChkPV8udS5zZXRUaW1lb3V0KGMsYiksYS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKSl9fTtsSz1mdW5jdGlvbihhKXtyZXR1cm4haXNOYU4oTnVtYmVyKGEpKSYmIS9eW1xzXHhhMF0qJC8udGVzdChhKX07ClBlYT1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtjPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGEsW3t0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMHB4KSJ9LHt0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoJHsoZj9tSyhiLGMsZCxlKTpkPy0xOjEpKmh9cHgpYH1dLE9lYSksZG9jdW1lbnQudGltZWxpbmUpO2I/KGEuc3R5bGUuZGlzcGxheT0iIixjLm9uZmluaXNoPW51bGwpOmMub25maW5pc2g9KCk9PnthLnN0eWxlLmRpc3BsYXk9Im5vbmUifTtjLnBsYXkoKTtyZXR1cm4gY307bUs9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9TnVtYmVyKGEpKzEwO2I/YT8oYT1OdW1iZXIoYSksYj1OdW1iZXIoYiksYz1jP2I8YT9lOmUrMTA6YjxhP2UtMTA6ZSk6Yz1jPzMwOjA6Yz1hPT09IjAiP2U6Yz9lLTEwOmUrMTA7cmV0dXJuIGQtY307ClFlYT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJtb25vIjpzd2l0Y2goYil7Y2FzZSAiZmlsbGVkIjpyZXR1cm4gMTtjYXNlICJ0b25hbCI6cmV0dXJuIDM7Y2FzZSAib3V0bGluZSI6cmV0dXJuIDU7ZGVmYXVsdDpyZXR1cm4gMH1jYXNlICJtb25vLWludmVyc2UiOnN3aXRjaChiKXtjYXNlICJmaWxsZWQiOnJldHVybiAyO2Nhc2UgInRvbmFsIjpyZXR1cm4gNDtjYXNlICJvdXRsaW5lIjpyZXR1cm4gNjtkZWZhdWx0OnJldHVybiAwfWRlZmF1bHQ6cmV0dXJuIDB9fTsKUmVhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe3ZhciB7ZGlzYWJsZWQ6ayxpY29uUG9zaXRpb246bCxzdHlsZTptLGZvY3VzZWQ6bix1c2VPdXRsaW5lZEljb246cCxBYzpyfT1uSyhhKSx0PSgpPT4hIUEoKSYmbCgpPT09Imljb24tb25seSIsdj0oKT0+ISFBKCkmJmwoKT09PSJpY29uLW9ubHktNDAiLHo9KCk9PiEhQSgpJiZsKCk9PT0iaWNvbi13aXRoLWxhYmVsIixFPSgpPT4oaygpPyJkaXNhYmxlZCI6YSgpLnN0YXRlKT09PSJkaXNhYmxlZCJ8fGsoKSxBPSgpPT4hIWJ8fCEhZD8uKCl8fCEhcj8uKCksRj0oKT0+Xy54KCJhbmltYXRlX2ljb25fZGlzYWJsZWRfa2lsbHN3aXRjaCIpP2g/LigpOmg/LigpJiYhRSgpLEM9Xy5QSCgpLEc9KCk9Pl8ub0soYSgpLCEwLEMsYSgpLmlnbm9yZUljb25TaXplT3ZlcnJpZGUpO3JldHVybnt0eXBlOigpPT5tKCk9PT0iY2FsbC10by1hY3Rpb24taW52ZXJzZSI/InRleHQiOm0oKT09PSJvdmVybGF5LWRhcmsiJiZhKCkudHlwZSE9PSJmaWxsZWQiJiYKYSgpLnR5cGUhPT0idG9uYWwiPyJ0b25hbCI6YSgpLnR5cGUsdG46KCk9PihuKCl8fGY/LigpKSYmIWsoKSxJbDooKT0+ISFBKCkmJmwoKT09PSJsZWFkaW5nIixLbDooKT0+ISFBKCkmJmwoKT09PSJ0cmFpbGluZyIsSmw6KCk9PiEhQSgpJiYhKCFjJiYhZT8uKCkpJiZsKCk9PT0ibGVhZGluZy10cmFpbGluZyIsRXc6dCxGdzp2LEd3OnosaWNvbkJ1dHRvbjooKT0+dCgpfHx2KCl8fHooKSxqaTpFLHZ6OigpPT4hYSgpLmlnbm9yZUljb25TaXplT3ZlcnJpZGUmJnBLKGEoKSxBKCkpLG14OmI/YjooKT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjpyfSwoKT0+Xy5LKCJkaXYiLHtzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7RygpfXB4YCxoZWlnaHQ6KCk9PmAke0coKX1weGB9KSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uVyx7ZGF0YTpyfSx7YW5pbWF0ZWRBc3NldFZpZXdNb2RlbDooe2RhdGE6RH0pPT5fLksoXy5xSyx7ZGF0YTpELHNuOiEwfSl9KSkpLF8uSyhfLkRFLApudWxsLCgpPT5fLksoXy5NRCx7aWNvbjpkLFpwOigpPT5hKCkuY3VzdG9tQ29sb3JzPy5tSixzaXplOkcsYWN0aXZlOigpPT5hKCkudG9nZ2xlZCYmIXA/LigpLGFnOigpPT57YSgpfSxHZTpGfSkpKSxhQTpjP2M6KCk9Pl8uSyhfLk1ELHtpY29uOmUsc2l6ZTpHLGFjdGl2ZTooKT0+YSgpLnRvZ2dsZWQmJiFwPy4oKSxhZzooKT0+e2EoKX19KX19OwpuSz1mdW5jdGlvbihhKXtyZXR1cm57c2l6ZTooKT0+YSgpLnNpemUsc3R5bGU6KCk9PmEoKS5zdHlsZSxmb2N1c2VkOigpPT5hKCkuZm9jdXNlZCxkaXNhYmxlZDooKT0+YSgpLmRpc2FibGVkLG9uVGFwOmI9PmEoKS5vblRhcD8uKGIpLG9pOigpPT5hKCkub2ksdWM6KCk9PmEoKS51YyxjdXN0b21Db2xvcnM6KCk9PmEoKS5jdXN0b21Db2xvcnMsc2VnbWVudGVkUG9zaXRpb246KCk9PmEoKS5zZWdtZW50ZWRQb3NpdGlvbix0b2dnbGVkOigpPT5hKCkudG9nZ2xlZCx0b2dnbGVhYmxlOigpPT5hKCkudG9nZ2xlYWJsZSxhY2Nlc3NpYmlsaXR5TGFiZWw6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5TGFiZWwsSGU6KCk9PmEoKS5IZSxvblRvZ2dsZTpiPT5hKCkub25Ub2dnbGU/LihiKSxpY29uUG9zaXRpb246KCk9PmEoKS5pY29uUG9zaXRpb24sb25lT2ZmQ3VzdG9tVGV4dFdyYXA6KCk9PmEoKS5vbmVPZmZDdXN0b21UZXh0V3JhcCxJZjooKT0+YSgpLklmLEFwOigpPT5hKCkuQXAsdG9vbHRpcFRleHQ6KCk9PgphKCkudG9vbHRpcFRleHQsRG46KCk9PmEoKS5EbixhcmlhSGlkZGVuOigpPT5hKCkuYXJpYUhpZGRlbixhcmlhRXhwYW5kZWQ6KCk9PmEoKS5hcmlhRXhwYW5kZWQsdGFiSW5kZXg6KCk9PmEoKS50YWJJbmRleCxidXR0b25UZXh0OigpPT5hKCkuYnV0dG9uVGV4dCxXYTooKT0+YSgpLldhLGFiOigpPT5hKCkuYWIsb25DbGlja1JhdGVMaW1pdE1zOigpPT5hKCkub25DbGlja1JhdGVMaW1pdE1zLG9uSG92ZXI6Yj0+YSgpLm9uSG92ZXI/LihiKSxtaWRkbGVncm91bmRBc3NldDooKT0+YSgpLm1pZGRsZWdyb3VuZEFzc2V0LEFjOigpPT5hKCkuQWMsZGlzYWJsZUxpZ2h0U2hhcGU6KCk9PmEoKS5kaXNhYmxlTGlnaHRTaGFwZSx1c2VPdXRsaW5lZEljb246KCk9PmEoKS51c2VPdXRsaW5lZEljb259fTsKcEs9ZnVuY3Rpb24oYSxiKXtiPShhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHkifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHktNDAifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLXdpdGgtbGFiZWwiKSYmYjtyZXR1cm4hYS5zZWdtZW50ZWRQb3NpdGlvbiYmYiYmYS5zaXplPT09IlMifTsKXy5vSz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jKCk7aWYoXy54KCJ3ZWJfYnV0dG9uX2ljb25fc2l6ZV9leHBlcmltZW50Iikpe2E6e2M9Xy5mSyhlPy4oU2VhKSk/PzEyO3ZhciBmPV8uZksoZT8uKFRlYSkpPz8xODtlPV8uZksoZT8uKHJLKSk/PzI0O2xldCBoPWEuaWNvblBvc2l0aW9uPT09Imljb24tb25seSImJiFhLnNlZ21lbnRlZFBvc2l0aW9ufHxhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHktNDAifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLXdpdGgtbGFiZWwiO3N3aXRjaChhLnNpemUpe2Nhc2UgIlhTIjphPWM7YnJlYWsgYTtjYXNlICJTIjphPSFkJiZwSyhhLGIpP2U6ZjticmVhayBhO2Nhc2UgIk0iOmE9aD9lOmY7YnJlYWsgYTtkZWZhdWx0OmE9ZX19cmV0dXJuIGF9Yz1fLmZLKGU/LihVZWEpKT8/MTY7Zj1fLmZLKGU/LihySykpPz8yNDtzd2l0Y2goYS5zaXplKXtjYXNlICJYUyI6cmV0dXJuIGM7Y2FzZSAiUyI6cmV0dXJuIWQmJnBLKGEsYik/ZjpjO2RlZmF1bHQ6cmV0dXJuIGZ9fTsKVmVhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJmaWxsZWQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQiO2Nhc2UgIm91dGxpbmUiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lIjtjYXNlICJ0b25hbCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0In19OwpXZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImNhbGwtdG8tYWN0aW9uIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uIjtjYXNlICJjYWxsLXRvLWFjdGlvbi1vdmVybGF5IjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheSI7Y2FzZSAibW9ubyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8iO2Nhc2UgIm92ZXJsYXkiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5IjtjYXNlICJvdmVybGF5LWRhcmsiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyayI7Y2FzZSAiY2FsbC10by1hY3Rpb24taW52ZXJzZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UiO2Nhc2UgIm1vbm8taW52ZXJzZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlIjtjYXNlICJicmFuZC1ncmFkaWVudCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQiOwpjYXNlICJnZW4tYWktZ3JhZGllbnQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50IjtjYXNlICJyYWlzZWQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRSYWlzZWQiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ifX07WGVhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJYUyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcyI7Y2FzZSAiUyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTIjtjYXNlICJMIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwiO2Nhc2UgIlhMIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTSJ9fTsKWWVhPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9Xy5oSygpO18ubkUoKCk9PntiJiYoYSgpP2Muai5zZXQoYix2b2lkIDApOmMuai5kZWxldGUoYiksa0soYykpfSwib0dRY2ljIik7Xy5ZdSgoKT0+e2Muai5kZWxldGUoYik7a0soYyl9KX19O18udEs9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJuTzVkVGQiKTtyZXR1cm4gXy5ZSn07Xy5xSz1fLmNEKCgpPT5fLnRLKCksImFuaW1hdGVkQXNzZXRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYW5pbWF0ZWRBc3NldFZpZXdNb2RlbCIsIm5PNWRUZCIsXy50Syl9KTt2YXIgT2VhPXtkdXJhdGlvbjoxRTMsZWFzaW5nOiJlYXNlIixmaWxsOiJmb3J3YXJkcyJ9LHVLPV8uTChhPT57dmFyIGI9Xy51RSgiYW5pbWF0ZWQtcm9sbGluZy1jaGFyYWN0ZXIiKSxjPXZvaWQgMCxkPV8uTigoKT0+bEsoYS5KYz8uKCkpfHxsSyhhLnhlPy4oKSksdm9pZCAwLCJxU0REOWQiKSxbZSxmXT1fLkooMCx2b2lkIDAsIlNJZ0tEZCIpO18ub0YoKCk9PntpZih3aW5kb3cuUmVzaXplT2JzZXJ2ZXImJl8ueCgid2ViX2ZpeF9yb2xsaW5nX251bWJlcnNfem9vbV9zYWZhcmkiKSl7bGV0IGg9bmV3IF8uV3QoKCk9Pnt2YXIgbD1NYXRoLnJvdW5kKChiLnZhbHVlLnF1ZXJ5U2VsZWN0b3IoImRpdiIpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ/PzApKjEwMCkvMTAwO2wmJmYobCl9LDUwMCksaz1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9PntoLnYoKX0pO2sub2JzZXJ2ZShiLnZhbHVlKTtfLll1KCgpPT57ay5kaXNjb25uZWN0KCk7aC5kaXNwb3NlKCl9KX19KTtfLm5FKCgpPT4Ke3ZhciBoPV8ueCgid2ViX2ZpeF9yb2xsaW5nX251bWJlcnNfem9vbV9zYWZhcmkiKT9lOmEuQmg7aWYoaCgpKXtjPy5jYW5jZWwoKTtpZihkKCkpe3ZhciBrPWEueGU/LigpP051bWJlcihhLnhlKCkpKzEwOmEuRWQoKT8wOjMwO2EueGI/LigpfHwoay09bUsoYS5KYz8uKCksYS54ZT8uKCksYS5FZCgpLGspKX1lbHNlIGlmKGs9YS5FZCgpPzA6MiwhYS54Yj8uKCkpe3ZhciBsPWEuRWQoKT8tMToxO2stPWx9Yi52YWx1ZS5zdHlsZS5tYXJnaW5Ub3A9YC0ke2sqaCgpfXB4YDthLnhiPy4oKT9jPVBlYShiLnZhbHVlLGEuSmM/LigpLGEueGU/LigpLGEuRWQoKSxrLGQoKSxoKCkpOmIudmFsdWUuc3R5bGUuZGlzcGxheT1hLkpjPy4oKT8iIjoibm9uZSJ9fSwiTko0Z0EiKTtyZXR1cm4gXy5LKCJhbmltYXRlZC1yb2xsaW5nLWNoYXJhY3RlciIse2VsOmIsY2xhc3M6ImFuaW1hdGVkUm9sbGluZ0NoYXJhY3Rlckhvc3QifSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKFplYSxudWxsKSxXOigpPT4KXy5LKCRlYSx7SmM6YS5KY30pfSkpfSwiZ2EiKTt1Sy5pZG9tQ29tcGF0PSEwO3ZhciBaZWE9Xy5MKCgpPT57dmFyIGE9W107Zm9yKGxldCBiPTE7YjwzMDtiKyspYS5wdXNoKF8uSygiZGl2IixudWxsLGIlMTApKTtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoImRpdiIsbnVsbCwiXHUwMGEwIiksYSxfLksoImRpdiIsbnVsbCwiXHUwMGEwIikpfSwiaGEiKSwkZWE9Xy5MKCh7SmM6YX0pPT5fLksoXy5JQixudWxsLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSxfLksoXy5PLHtBOigpPT4hYT8uKCl8fC9eW1xzXHhhMF0qJC8udGVzdChhPy4oKSksdGhlbjooKT0+Xy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpLFc6KCk9Pl8uSygiZGl2IixudWxsLGEpfSksXy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpKSwiaWEiKTt2YXIgdks9Xy5MKGE9Pnt2YXIgYj12b2lkIDAsYz12b2lkIDA7Xy5uRSgoKT0+e2I9YS5YYigpO2M9YS5udW1iZXJWYWx1ZT8uKCl9LCJyN3RxUWQiKTt2YXIgZD1fLk4oKCk9PntpZighYS5YYigpKXJldHVybltdO3ZhciBlPWEuUXA/LigpfHwhY3x8IWEubnVtYmVyVmFsdWU/LigpfHxjPGEubnVtYmVyVmFsdWUoKSxmPWEuWGIoKSxoPWEuZ2g/LigpP2EuaGVpZ2h0UHgoKSphLmdoKCk6YS5oZWlnaHRQeCgpLGs9ISFhLnhiPy4oKSxsPVtdLG09MCxuPTAscD0oYj9iLnJlcGxhY2UoL1xEL2csIiIpLmxlbmd0aDowKS0oZj9mLnJlcGxhY2UoL1xEL2csIiIpLmxlbmd0aDowKSxyPWI/Yi5zcGxpdCgvKFxkKS8pLmZpbHRlcihCb29sZWFuKTpbXTtmb3IoZj1mLnNwbGl0KC8oXGQpLykuZmlsdGVyKEJvb2xlYW4pO3A8MDspe3ZhciB0PWZbbl07bC5wdXNoKHtKYzp0LEVkOmUsQmg6aCx4YjprfSk7bisrO2xLKHQpJiZwKyt9Zm9yKDttPHA7KXQ9clttXSxsLnB1c2goe3hlOnQsRWQ6ZSwKQmg6aCx4YjprfSksbSsrLGxLKHQpfHxwKys7Zm9yKDtuPGYubGVuZ3RoOylwPWZbbl0sdD1yW21dLGxLKHApPT09bEsodCk/KG4rKyxtKyspOmxLKHApPyhtKysscD12b2lkIDApOmxLKHQpJiYobisrLHQ9dm9pZCAwKSxsLnB1c2goe0pjOnAseGU6dCxFZDplLEJoOmgseGI6a30pO3JldHVybiBsfSx2b2lkIDAsIndtbkhSIik7cmV0dXJuIF8uSygieXQtYW5pbWF0ZWQtcm9sbGluZy1udW1iZXIiLHtjbGFzczoiYW5pbWF0ZWRSb2xsaW5nTnVtYmVySG9zdCIsc3R5bGU6KCk9PmEuWGIoKT9bYGhlaWdodDogJHthLmdoPy4oKT9hLmhlaWdodFB4KCkqYS5naCgpOmEuaGVpZ2h0UHgoKX1weDtgLGBsaW5lLWhlaWdodDogJHthLmhlaWdodFB4KCl9cHg7YF0uam9pbigiICIpOiIiLGRpcjoibHRyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uZ0cse3BhOmQsdGI6IklOREVYIn0sZT0+Xy5LKHVLLHtKYzooKT0+ZSgpLkpjLHhlOigpPT5lKCkueGUsQmg6KCk9PmUoKS5CaCxFZDooKT0+CmUoKS5FZCx4YjooKT0+ZSgpLnhifSkpKX0sImthIik7dksuaWRvbUNvbXBhdD0hMDt2YXIgYWZhPVsibW9ubyIsIm1vbm8taW52ZXJzZSIsIm92ZXJsYXkiXSxiZmE9WyJmaWxsZWQiXTt2YXIgd0s9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHhLO2E6e3ZhciB5Sz1fLmJjKCk7eUs9eUsudG9Mb3dlckNhc2UoKTtpZih5Sy5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeks9eUsubWF0Y2goL2FuZHJvaWRccyooXGQrKFwuXGQrKT8pW147fCldKls7KV0vKTtpZih6Syl7bGV0IGE9cGFyc2VGbG9hdCh6S1sxXSk7aWYoYTwxMDApe3hLPWE7YnJlYWsgYX19dmFyIEFLPXlLLm1hdGNoKCIoIitPYmplY3Qua2V5cyh3Sykuam9pbigifCIpKyIpIik7eEs9QUs/d0tbQUtbMF1dOjB9ZWxzZSB4Sz12b2lkIDB9Xy5CSz14Sz49MDt2YXIgQ0ssRks7e3ZhciBESz1fLmJjKCk7bGV0IGE9REsubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighYXx8YS5sZW5ndGg8MilDSz12b2lkIDA7ZWxzZXt2YXIgRUs9REsubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsgKFU7ICk/Q1BVIChpUGhvbmUgKT9PUyAoXGQrX1xkKVtfIF0vKTtDSz1FSyYmRUsubGVuZ3RoPT09Nj9OdW1iZXIoRUtbNV0ucmVwbGFjZSgiXyIsIi4iKSk6MH19Rks9Q0s7Xy5HSz1GSz49MDt2YXIgVWVhPXt5dFN5c01lYXN1cmVtZW50UmVmZXJlbmNlOiJZVF9TWVNfTUVBU1VSRU1FTlRfUkVGRVJFTkNFX0lDT05fU0laRV9DT05ERU5TRUQifSxySz17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfQ09NRk9SVEFCTEUifSxTZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX01JTkkifSxUZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX0NPTVBBQ1QifSxjZmE9Xy5MKGE9Pl8uSyhfLk8se0E6YS51Yyx0aGVuOmI9Pl8uSyhfLm5ILHt1YzpiLGRpc2FibGVkOmEuZGlzYWJsZWQsY2xhc3NOYW1lOmEuY2xhc3NOYW1lLHN0eWxlOmEuc3R5bGUsdGl0bGU6YS50aXRsZSxhcmlhTGFiZWw6YS5hcmlhTGFiZWwsSGU6YS5IZSxhcmlhQ3VycmVudDooKT0+YS50b2dnbGVhYmxlPy4oKSYmCmEudG9nZ2xlZD8uKCksYXJpYUV4cGFuZGVkOmEuYXJpYUV4cGFuZGVkLHJlZjphLnJlZixvbkhvdmVyOmEub25Ib3Zlcn0sYS5jaGlsZHJlbiksVzooKT0+Xy5LKCJidXR0b24iLHtlbDpfLnJGKGEucmVmKSwib246Y2xpY2siOmEub25DbGljaywib246bW91c2VlbnRlciI6YS5vbkhvdmVyLGNsYXNzOmEuY2xhc3NOYW1lLHRpdGxlOmEudGl0bGUsc3R5bGU6YS5zdHlsZSxkaXNhYmxlZDphLmRpc2FibGVkLCJhcmlhLXByZXNzZWQiOigpPT5hLnRvZ2dsZWFibGU/LigpPyEhYS50b2dnbGVkPy4oKTp2b2lkIDAsImFyaWEtbGFiZWwiOmEuYXJpYUxhYmVsLCJhcmlhLWRlc2NyaWJlZGJ5IjphLkhlLCJhcmlhLWRpc2FibGVkIjphLmppLCJhcmlhLWhpZGRlbiI6YS5hcmlhSGlkZGVuLCJhcmlhLWV4cGFuZGVkIjphLmFyaWFFeHBhbmRlZCx0YWJpbmRleDooKT0+YS50YWJJbmRleD8uKCk/PygoXy5Pa3x8Xy5yeigpKSYmXy54KCJ3ZWJfZW5hYmxlX3NhZmFyaV9idXR0b25fdGFiaW5kZXhfZml4Iik/CjA6dm9pZCAwKX0sYS5jaGlsZHJlbil9KSwibGEiKSxkZmE9Xy5MKCh7ZGF0YTphLElsOmIsSmw6YyxLbDpkLGljb25CdXR0b246ZSxpeDpmLFp6OmgsaWNvbjprLHNlY29uZGFyeUljb246bCxVQTptLEp5Om4samk6cCxkaXNhYmxlTGlnaHRTaGFwZTpyfSk9Pnt2YXIgdD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5lSykpLHY9Xy5JRSh7Y29sb3I6KCk9PmEoKS5jdXN0b21Db2xvcnM/Lmljb25Db2xvcn0pO3JldHVybiBfLksoSEsse2NsYXNzTmFtZToiIixzdHlsZToiZGlzcGxheTogaW5oZXJpdDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIifSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJWNHoxVWMiLEE6KCk9PmsmJihiKCl8fGMoKXx8ZT8uKCkpLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSygiZGl2Iix7Y2xhc3M6ZixzdHlsZTp2LCJhcmlhLWhpZGRlbiI6InRydWUifSxrPy4oKSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToib2szYnRiIixBOigpPT4oYSgpLmJ1dHRvblRleHR8fAphKCkuYWJ8fGEoKS5XYSkmJiFlPy4oKSx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoSUsse2NsYXNzTmFtZTptLGljb25Qb3NpdGlvbjooKT0+YSgpLmljb25Qb3NpdGlvbix0ZXh0OigpPT5hKCkuYnV0dG9uVGV4dCxvbmVPZmZDdXN0b21UZXh0V3JhcDooKT0+YSgpLm9uZU9mZkN1c3RvbVRleHRXcmFwLFdhOigpPT5hKCkuV2EsYWI6KCk9PmEoKS5hYn0pKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IkRPNVJ6IixBOmQsdGhlbjooKT0+Xy5LKEhLLG51bGwsXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOnZ9LGs/LigpKSl9KSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJibm9qU2MiLEE6Yyx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoImRpdiIse2NsYXNzOmgsc3R5bGU6dn0sbD8uKCkpKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IkhOM2thZCIsQTooKT0+IWEoKS5kaXNhYmxlZCYmISh0Py5XbyYmIXA/LigpKSx0aGVuOigpPT5fLksoXy5qSyx7bW9kZWw6KCk9Pnt2YXIgej0KYSgpO3JldHVybntjb2xvcjp6LnN0eWxlPT09Im92ZXJsYXktZGFyayI/NDp6LnN0eWxlPT09Im92ZXJsYXkiP3oudHlwZT09PSJmaWxsZWQiPzQ6Mzp6LnR5cGU9PT0iZmlsbGVkInx8ei5zdHlsZT09PSJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlInx8ei5zdHlsZT09PSJtb25vLWludmVyc2UiPzI6MX19fSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWlkZGxlZ3JvdW5kQXNzZXR9LHthbmltYXRlZEFzc2V0Vmlld01vZGVsOih7ZGF0YTp6fSk9Pl8uSyhfLnFLLHtkYXRhOnosY2xhc3NOYW1lOm4sc246ITB9KX0pLF8uSyhfLk8se0E6KCk9PnQ/Lkl1JiYhcD8uKCkmJiFyPy4oKSx0aGVuOigpPT5fLksoXy55RSx7Y29uZmlnOigpPT57dmFyIHo9YSgpLEU9ei5zdHlsZSxBPXoudHlwZSxGPV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSk7cmV0dXJue1ZhOlFlYShFLEEpLGprOkY/LlZvJiZBPT09InRvbmFsIixldjp6LmN1c3RvbUNvbG9ycz8uYmFja2dyb3VuZENvbG9yLGR2OnouY3VzdG9tQ29sb3JzPy5ib3JkZXJDb2xvciwKQ0I6Rj8uV299fX0pfSkpfSwibWEiKSxJSz1fLkwoYT0+e3ZhciBiPSgpPT5hLmljb25Qb3NpdGlvbj8uKCk9PT0iaWNvbi13aXRoLWxhYmVsInx8YS5vbmVPZmZDdXN0b21UZXh0V3JhcD8uKCk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6YS5jbGFzc05hbWUsImFyaWEtaGlkZGVuIjooKT0+YS5hcmlhSGlkZGVuPy4oKSYmKCEhYS5hYj8uKCl8fCEhYS5XYT8uKCkpfSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hLmFiPy4oKX0sKCk9Pl8uSyh2Syx7WGI6KCk9PmEuYWIoKS5YYixudW1iZXJWYWx1ZTooKT0+YS5hYigpLm51bWJlclZhbHVlLGhlaWdodFB4OigpPT5hLmFiKCkuaGVpZ2h0UHgsZ2g6KCk9PmEuYWIoKS5naCx4YjooKT0+YS5hYigpLnhiLFFwOigpPT5hLmFiKCkuUXB9KSksXy5LKF8uQ0Use3doZW46KCk9PmEuV2E/LigpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+KHsuLi5hLldhKCksbGluZUJyZWFrTW9kZTpiKCk/IkxJTkVfQlJFQUtfTU9ERV9CWV9XT1JEX1dSQVBQSU5HIjoKYS5XYSgpLmxpbmVCcmVha01vZGUsYWxpZ25tZW50OmIoKT8iVEVYVF9BTElHTk1FTlRfQ0VOVEVSIjphLldhKCkuYWxpZ25tZW50fSksdWI6ITAsbm9XcmFwOigpPT4hYigpfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5hLmljb25Qb3NpdGlvbj8uKCk9PT0iaWNvbi13aXRoLWxhYmVsIiYmYS50ZXh0Py4oKX0sKCk9Pl8uSyhfLlYse3RleHQ6KCk9Pih7Y29udGVudDphLnRleHQoKSxsaW5lQnJlYWtNb2RlOiJMSU5FX0JSRUFLX01PREVfQllfV09SRF9XUkFQUElORyIsYWxpZ25tZW50OiJURVhUX0FMSUdOTUVOVF9DRU5URVIifSksdWI6ITAsbm9XcmFwOiExfSkpLF8uSyhfLkRFLG51bGwsKCk9PmEudGV4dCkpKX0sIm5hIiksZWZhPV8uTChhPT5fLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJrTTdTZ2MiLEE6YS5oYXNMYWJlbCx0aGVuOigpPT5fLksoImxhYmVsIix7Y2xhc3M6YS5jbGFzc05hbWV9LGEuY2hpbGRyZW4sYS50ZXh0Q29udGVudD8uKCkpLFc6KCk9PmEuY2hpbGRyZW59KSwib2EiKSwKSEs9Xy5MKGE9PmEuY2hpbGRyZW4sInBhIik7Xy5KSz1fLkwoKHtkYXRhOmEsaWNvbjpiLGljb25OYW1lOmMsR2U6ZCxzZWNvbmRhcnlJY29uOmUsUXI6ZixYSTpoLGFwOmt9KT0+e18ubUcoKTt2YXIge3NpemU6bCxzdHlsZTptLGRpc2FibGVkOm4sb25UYXA6cCxvaTpyLHVjOnQsY3VzdG9tQ29sb3JzOnYsc2VnbWVudGVkUG9zaXRpb246eix0b2dnbGVkOkUsdG9nZ2xlYWJsZTpBLGFjY2Vzc2liaWxpdHlMYWJlbDpGLG9uVG9nZ2xlOkMsaWNvblBvc2l0aW9uOkcsb25lT2ZmQ3VzdG9tVGV4dFdyYXA6RCxJZjpILEFwOlIsdG9vbHRpcFRleHQ6TSxEbjpTLGFyaWFIaWRkZW46WSxhcmlhRXhwYW5kZWQ6cGEsdGFiSW5kZXg6b2EsYnV0dG9uVGV4dDpVLFdhOmhhLGFiOm1hLG9uQ2xpY2tSYXRlTGltaXRNczp0YSxvbkhvdmVyOlQsbWlkZGxlZ3JvdW5kQXNzZXQ6YmEsZGlzYWJsZUxpZ2h0U2hhcGU6YWF9PW5LKGEpLHt0eXBlOk9hLHRuOkpiLElsOnphLEtsOkxiLEpsOmNjLEV3OmxjLEZ3OlZiLEd3OnRkLGljb25CdXR0b246QmUsCmppOmFkLHZ6Om5zLG14Ok1nLGFBOlpCfT1SZWEoYSxiLGUsYyxmLGgsZCksW2ZmYV09Xy5iSyhNLFMpLExUPXJiPT57cD8uKHJiKTtBKCkmJkM/LihyYil9LE1UPV8uTigoKT0+dGE/LigpLHZvaWQgMCwic2lLeXdiIiksZ2ZhPV8uTigoKT0+TVQoKT9OZWEoTFQsTVQoKSk6TFQsdm9pZCAwLCJ3RFRjTiIpLCRCPV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSk7Yj1fLk4oKCk9PmJhKCl8fCRCPy5JdSx2b2lkIDAsInpVUVJPZSIpO3ZhciBoZmE9WWVhKCgpPT57dmFyIHJiPW0oKSxhaT1PYSgpO3JldHVybiEhXy55KCkucmVzb2x2ZShfLkluKF8uZUspKT8uVm8mJmFmYS5pbmNsdWRlcyhyYikmJmJmYS5pbmNsdWRlcyhhaSl9KTtyZXR1cm4gXy5LKGVmYSx7Y2xhc3NOYW1lOl8uUCgieXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxIb3N0Iix7eXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxJc092ZXJsYXk6KCk9Pm0oKT09PSJvdmVybGF5Inx8bSgpPT09Im92ZXJsYXktZGFyayJ9KSxoYXNMYWJlbDp0ZCwKdGV4dENvbnRlbnQ6KCk9Pl8uSyhJSyx7dGV4dDpVLGNsYXNzTmFtZToieXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbCIsYXJpYUhpZGRlbjohMCxvbmVPZmZDdXN0b21UZXh0V3JhcDpELGljb25Qb3NpdGlvbjpHLFdhOmhhLGFiOm1hfSl9LF8uSyhjZmEse3VjOnQsY2xhc3NOYW1lOl8uUCgieXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdCIsKCk9PlZlYShPYSgpKSwoKT0+YWQoKT92b2lkIDA6V2VhKG0oKSksKCk9PlhlYShsKCkpLHt5dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZDphZCx5dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOkpiLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZzpMYix5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZzp6YSx5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nOmNjLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQ6KCk9PmNjKCkmJiEoVSgpfHxoYSgpKSwKeXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbjooKT0+bGMoKXx8dGQoKSx5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uT25seURlZmF1bHQ6VmIseXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHQ6cix5dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDooKT0+eigpPT09InN0YXJ0Iix5dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQ6KCk9PnooKT09PSJlbmQiLHl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJyaWRlU21hbGxTaXplSWNvbjpucyx5dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lcjpELHl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVUZXh0RWxsaXBzaXM6SCx5dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVCYWNrZHJvcEZpbHRlckV4cGVyaW1lbnQ6KCk9Pnt2YXIgcmI7aWYocmI9IVIoKSkhKHJiPV8uR0smJkZLPj0xNCkmJihyYj1fLkJLKSYmKHJiPV8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeT49CjgpLHJiPXJiPyFfLngoIndlYl9kaXNhYmxlX2JhY2tkcm9wX2ZpbHRlciIpOiExO3JldHVybiByYn0seXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlOigpPT4hISRCPy5XbyYmIWFkKCkseXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6KCk9Pl8ueCgid2ViX2J1dHRvbl9pY29uX3NpemVfZXhwZXJpbWVudCIpLHl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmc6KCk9Pl8ueCgid2ViX2J1dHRvbl9tYWluc3RhZ2VfcGFkZGluZyIpfSksc3R5bGU6KCk9Pnt2YXIgcmI9digpO2lmKHJiKXt2YXIgYWk9cmIuY29sb3I7dmFyIE5UPXJiLmJhY2tncm91bmRDb2xvcjtyYj1yYi5ib3JkZXJDb2xvcjt2YXIgcHM9IiI7YWkmJihwcys9YGNvbG9yOiAke2FpfTtgKTtOVCYmKHBzKz1gYmFja2dyb3VuZC1jb2xvcjogJHtOVH07YCk7cmImJihwcys9YGJvcmRlci1jb2xvcjogJHtyYn07YCk7YWk9e3N0eWxlOnBzfX1lbHNlIGFpPQp7fTtyZXR1cm4gYWkuc3R5bGV9LG9uQ2xpY2s6cmI9PntnZmEoKShyYil9LG9uSG92ZXI6cmI9PntUPy4ocmIpfSxkaXNhYmxlZDpuLGFyaWFMYWJlbDpGLHRvZ2dsZWFibGU6QSx0b2dnbGVkOkUsdGl0bGU6KCk9PiFrPy4oKSYmTSgpP00oKToiIixqaTphZCxhcmlhSGlkZGVuOlksYXJpYUV4cGFuZGVkOnBhLHRhYkluZGV4Om9hLHJlZjpyYj0+eyRCPy5WbyYmaGZhKHJiKTtrPy4oKSYmZmZhKHJiKX19LF8uSyhkZmEse2RhdGE6YSxJbDp6YSxKbDpjYyxLbDpMYixpY29uQnV0dG9uOkJlLGljb246TWcsVUE6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudCIse3l0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudDpifSksaXg6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uIix7eXRTcGVjQnV0dG9uU2hhcGVOZXh0RWxldmF0ZWRDb250ZW50OmJ9KSxaejpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb24iLHt5dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnQ6Yn0pLApzZWNvbmRhcnlJY29uOlpCLEp5OiJ5dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldCIsamk6YWQsZGlzYWJsZUxpZ2h0U2hhcGU6YWF9KSkpfSwicmEiKTtfLkpLLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aWNvbjohMCxzZWNvbmRhcnlJY29uOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBMZGEsTWRhLE5kYSxPZGE7TGRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5WSC5UZSgpLmdldFN0YXRlKCk7cmV0dXJuIGI/YShjLC4uLmIpOmEoYyl9O18uWEg9ZnVuY3Rpb24oKXtpZihXSClyZXR1cm4gV0g7dmFyIFthLCxiXT1fLkooMCx2b2lkIDAsIk1CMUhiIik7Xy5WSC5UZSgpLnN1YnNjcmliZSgoKT0+e01kYShiKX0pO3JldHVybiBXSD1hfTtNZGE9ZnVuY3Rpb24oYSl7WUh8fChZSD0hMCxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57YShiPT5iKzEpO1lIPSExfSkpfTtfLlpIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uVkgucHcoKShhLGIpfTtfLmJJPW5ldyBfLlZzKCJTVEFURV9TVE9SRV9UT0tFTiIpO05kYT1uZXcgXy5WcygiU0VMRUNUX1RPS0VOIik7T2RhPW5ldyBfLlZzKCJESVNQQVRDSF9UT0tFTiIpO3ZhciBXSCxZSDtfLlZIPXtwdzooKT0+Xy55KCkucmVzb2x2ZShfLkluKE5kYSkpPz9MZGEsbXc6KCk9Pl8ueSgpLnJlc29sdmUoXy5JbihPZGEpKT8/Xy5WSC5UZSgpLmRpc3BhdGNoLmJpbmQoXy5WSC5UZSgpKSxUZTooKT0+Xy55KCkucmVzb2x2ZShfLmJJKX07WUg9ITE7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uY0k9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTigoKT0+e18uWEgoKSgpO3JldHVybiBfLlpIKGEpfSx7ZGVidWdOYW1lOiJkOEI2MmMifSwiREVYa2hkIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgaWZhLGpmYSxPSyxOSyxuZmEsUkssb2ZhLHBmYSxUSyxxZmEscmZhLFNLLHNmYSx0ZmEsdWZhLHZmYTtpZmE9ZnVuY3Rpb24oYSxiKXtiLmZvckVhY2goYz0+e3ZhciBkPW51bGw7Yz9kPWMuYXBwbHkobnVsbCxhLmFyZ3MpOihjPUVycm9yKCJyZCIpLGMucGFyYW1zPWEuYWN0aW9uTmFtZSxfLlVpKGMpKTthLnJldHVyblZhbHVlLnB1c2goZCl9KX07amZhPWZ1bmN0aW9uKGEsYixjKXtiLmZvckVhY2goZD0+e3ZhciBlPV8uUkooZCk7ZSYmKGQ9bmV3IF8uT0ooZSwhMCxbZCxjLHZvaWQgMF0pLChlPWEuai5nZXQoZC5hY3Rpb25OYW1lKSkmJmlmYShkLGUpLGQuanx8ZC5yZXR1cm5WYWx1ZS5sZW5ndGghPT0wfHwoZD1uZXcgXy5YaigiVW5oYW5kbGVkIGFjdGlvbiIsZC5hY3Rpb25OYW1lKSxfLldpKGQpKSl9KX07Xy5LSz1mdW5jdGlvbihhKXtyZXR1cm4oYSY0Mjc4MTkwMDgwKT4+PjI0PT09MD9fLmlFKGEsIjEiKTpfLk5EKGEpfTsKXy5NSz1mdW5jdGlvbigpe0xLfHwoTEs9bmV3IGtmYSk7cmV0dXJuIExLfTtPSz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy5hY3Rpb24sZT1jLmVsZW1lbnQ7ZSYmZCYmKGxmYS5pbmNsdWRlcyhiKXx8Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfUkVNSVgifHxhLkQmJmEuRC5BSihlKT9OSyhhLGIsYyk6YS52JiYoYS5vfHwoYS5vPW5ldyBXZWFrTWFwKSxkPWEudi5vYnNlcnZlKGUsKCk9PntOSyhhLGIsYyk7YS5vLmRlbGV0ZShlKX0se1ZiOiEwLHN0YXRlOiJ2aXNpYmxlIn0pLGEuby5zZXQoZSxkKSkpfTtfLlBLPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5CLmdldChiKTtpZihjKXt2YXIgZD1hLmouZ2V0KGMpO2QmJihkZWxldGUgZC5lbGVtZW50LGEuai5zZXQoYyxkKSk7YS5CLmRlbGV0ZShiKTthLnYmJmEubyYmKGM9YS5vLmdldChiKSkmJihhLnYucmYoYyksYS5vLmRlbGV0ZShiKSl9fTsKXy5RSz1mdW5jdGlvbihhLGIsYyl7Xy5QSyhhLGMpO3ZhciBkPWEuai5nZXQoYik7ZHx8KGQ9e30sYS5qLnNldChiLGQpKTtkLmVsZW1lbnQ9YzthLkIuc2V0KGMsYik7T0soYSxiLGQpfTtOSz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy5hY3Rpb247KGM9Yy5lbGVtZW50KSYmZCYmKGpmYShhLkssW2RdLGMpLGEuai5kZWxldGUoYiksYS5CLmRlbGV0ZShjKSxhLlkuYWRkKGIpKX07Cm5mYT1mdW5jdGlvbihhLGIsYyl7aWYoYyYmYilzd2l0Y2goYyl7Y2FzZSAiQlVUVE9OX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1JFTU9WRV9BRFNfQURfU1RBVEUiOnJldHVybihhPV8uSEgoYSxiKSk/e2lzSGlkZGVuOmEuYWRzU3RhdGU9PT0iQURTX1NUQVRFX05PTkUifHxhLmFkc1N0YXRlPT09IkFEU19TVEFURV9VTktOT1dOIn06e2lzSGlkZGVuOiEwfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQ0hBVEJPVF9QRU5ESU5HX1JFU1BPTlNFIjpyZXR1cm57aXNIaWRkZW46ITEsaXNEaXNhYmxlZDohIV8ucUEoYS5lbnRpdGllcywieW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eSIsYik/LmlzUGVuZGluZ1Jlc3BvbnNlfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQk9PTEVBTl9ESVNBQkxFRCI6cmV0dXJue2lzSGlkZGVuOiExLGlzRGlzYWJsZWQ6ISFfLklIKGEsYik/LnZhbHVlfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWSI6cmV0dXJuIGE9Cl8ucUEoYS5lbnRpdGllcywiYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eSIsYik/LnN0YXRlLGE9PT0iQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWV9TVEFURV9QRU5ESU5HIj97aXNIaWRkZW46ITEsYXJpYURpc2FibGVkOiEwLGFyaWFCdXN5OiEwLGFjY2Vzc2liaWxpdHlMYWJlbDoiR2VuZXJhdGluZyBzdW1tYXJ5Li4uIixpY29uTmFtZTp2b2lkIDAsQWM6bWZhfTphPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfVU5SRUFEInx8YT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX0ZBSUxFRCI/KGE9YT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX1VOUkVBRCIse2lzSGlkZGVuOiExLGFyaWFEaXNhYmxlZDohMCxhY2Nlc3NpYmlsaXR5TGFiZWw6YT8iVW5yZWFkIHN1bW1hcnkiOiJGYWlsZWQgdG8gZ2VuZXJhdGUgc3VtbWFyeSIsaWNvbk5hbWU6IllUSUNPTl9GSUxMX0RPVF9TMjQiLApBYzp2b2lkIDAsLi4uKGEmJntjdXN0b21Db2xvcnM6e2NvbG9yOiJ2YXIoLS15dC1zcGVjLWNhbGwtdG8tYWN0aW9uKSIsaWNvbkNvbG9yOiJ2YXIoLS15dC1zcGVjLWNhbGwtdG8tYWN0aW9uKSJ9fSl9KTp7aXNIaWRkZW46ITB9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DT01NRVJDRV9UT0tFTl9CQUxBTkNFIjpyZXR1cm4gYT1fLnFBKGEuZW50aXRpZXMsImNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5IixiKSxhPy5zZXJ2ZXJUb2tlbkJhbGFuY2UhPW51bGw/KGE9TnVtYmVyKGEuc2VydmVyVG9rZW5CYWxhbmNlKSxhPWlzTmFOKGEpP3ZvaWQgMDpTdHJpbmcoYS8xRTYpLHtpc0hpZGRlbjohMSxXYTphP3tjb250ZW50OmF9OnZvaWQgMH0pOntpc0hpZGRlbjohMX07ZGVmYXVsdDpyZXR1cm57aXNIaWRkZW46ITF9fX07ClJLPWZ1bmN0aW9uKGEpe3JldHVybnt0ZXh0OmEudG9vbHRpcFRleHQ/PyIiLGxvY2F0aW9uOm9mYShhLnBsYWNlbWVudCksc3R5bGU6YS5zdHlsZSxob3RrZXk6YS5ob3RrZXl9fTtvZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlRPT0xUSVBfVklFV19NT0RFTF9QTEFDRU1FTlRfQk9UVE9NIjpyZXR1cm4iYm90dG9tIjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX1RPUCI6cmV0dXJuInRvcCI7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9MRUZUIjpyZXR1cm4ibGVmdCI7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9SSUdIVCI6cmV0dXJuInJpZ2h0IjtkZWZhdWx0OnJldHVybiJib3R0b20ifX07CnBmYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uUkQoYT8ub25UYXApLGQ9e307YyYmKGQuYko9KCk9PlNLKGEsYyxiPy52YWx1ZT8udmlzdWFsRWxlbWVudCkpO2Q9Xy5iRSh7Ymg6YS5vblRhcCxxZDohMCxBbzpkfSk7cmV0dXJuIGQ/LmhyZWY/ZDp2b2lkIDB9O1RLPWZ1bmN0aW9uKGEsYixjLGQsZSl7Yz17ckM6Y307Xy5kSyhhLHtmb3JtOntjdXJyZW50RGF0YTpjLHNvdXJjZURhdGE6YyxlbGVtZW50OmIsZXZlbnQ6ZH0sLi4uZX0pfTsKcWZhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9dm9pZCAwO3JldHVybiBoPT57dmFyIGs9Xy5SRChjP2E/Lm9uRGlzYWJsZWRUYXA6YT8ub25UYXApO2lmKGspaWYoZj1mPz9iPy52YWx1ZSxfLngoIndlYl9idXR0b25fdm1fY2xpY2tfY2xpZW50X3ZlX2tpbGxzd2l0Y2giKSlUSyhrLGYsYSxoKTtlbHNle2xldCBsPVNLKGEsayxmPy52aXN1YWxFbGVtZW50KTtpZihlKXtUSyhrLGUsYSxoLHtjbGlja2VkVmlzdWFsRWxlbWVudDpsLGZvcm06e2VsZW1lbnQ6ZX19KTtyZXR1cm59VEsoayxmLGEsaCx7Y2xpY2tlZFZpc3VhbEVsZW1lbnQ6bH0pfWQmJmQoaCl9fTtyZmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXZvaWQgMDtyZXR1cm4gZT0+e3ZhciBmPV8uUkQoYT8ub25Ib3Zlcik7ZiYmKGQ9ZD8/Yj8udmFsdWUsYz9USyhmLGMsYSxlLHtmb3JtOntlbGVtZW50OmN9fSk6VEsoZixkLGEsZSkpfX07ClNLPWZ1bmN0aW9uKGEsYixjKXtiPWI/LmNsaWNrVHJhY2tpbmdQYXJhbXM7YT1hPy5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGU7aWYoYyYmYSYmIWIpcmV0dXJuIGN9OwpzZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0NUQSI6cmV0dXJuImNhbGwtdG8tYWN0aW9uIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PIjpjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9CUkFORCI6cmV0dXJuIm1vbm8iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVkiOnJldHVybiJvdmVybGF5IjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9PVkVSTEFZX0RBUksiOnJldHVybiJvdmVybGF5LWRhcmsiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EX0dSQURJRU5UIjpyZXR1cm4iYnJhbmQtZ3JhZGllbnQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EX0FJIjpyZXR1cm4iZ2VuLWFpLWdyYWRpZW50IjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9SQUlTRUQiOnJldHVybiJyYWlzZWQiO2RlZmF1bHQ6cmV0dXJuIm1vbm8ifX07CnRmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9GSUxMRUQiOnJldHVybiJmaWxsZWQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfT1VUTElORSI6cmV0dXJuIm91dGxpbmUiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVCI6cmV0dXJuInRleHQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVE9OQUwiOnJldHVybiJ0b25hbCI7ZGVmYXVsdDpyZXR1cm4idGV4dCJ9fTt1ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0FDVElWRSI6cmV0dXJuImFjdGl2ZSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfSU5BQ1RJVkUiOnJldHVybiJkaXNhYmxlZCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfRElTQUJMRUQiOnJldHVybiJkaXNhYmxlZCI7ZGVmYXVsdDpyZXR1cm4iYWN0aXZlIn19Owp2ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfWFNNQUxMIjpyZXR1cm4iWFMiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfQ09NUEFDVCI6cmV0dXJuIlMiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfREVGQVVMVCI6cmV0dXJuIk0iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfTEFSR0UiOnJldHVybiJMIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TSVpFX1hMQVJHRSI6cmV0dXJuIlhMIjtkZWZhdWx0OnJldHVybiJNIn19O3ZhciBsZmE9WyJicm93c2UtdmlkZW8tbWVudS1idXR0b24iLCJ1bmlmaWVkLXZlcmlmaWVkLWJhZGdlIiwidG9wYmFyLWd1aWRlLW1lbnUiXSxrZmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLks9Xy5TSi5qYygpO3RoaXMuaj1uZXcgTWFwO3RoaXMuQj1uZXcgV2Vha01hcDt0aGlzLlk9bmV3IFNldH1kaXNwb3NlKCl7dGhpcy5EJiZfLmNmKHRoaXMuRCwieXQtdmlzaWJpbGl0eS1tb25pdG9yLXJlZnJlc2hlZCIsdGhpcy5JLCExLHRoaXMpO3RoaXMudiYmdGhpcy52LmRpc3Bvc2UoKX1JKCl7Zm9yKGxldCBbYSxiXW9mIHRoaXMuai5lbnRyaWVzKCkpT0sodGhpcyxhLGIpfX0sTEs7dmFyIG1mYT17YW5pbWF0ZWRBc3NldFZpZXdNb2RlbDp7Z2VuZXJpY0JlaGF2aW9yOnthdXRvcGxheTohMCxsb29wOiEwfSxsb3R0aWVBc3NldDp7dGhlbWVkVXJsOntsaWdodDoiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvbG90dGllL3lvdWNoYXRfYW5pbWF0aW9ucy9wcm9ncmVzc19pbmRpY2F0b3Jfc29sb192MS5qc29uIixkYXJrOiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUveW91Y2hhdF9hbmltYXRpb25zL3Byb2dyZXNzX2luZGljYXRvcl9zb2xvX3YxLmpzb24ifX19fTt2YXIgd2ZhPVsieW91LWNoYXQtZW50cnlwb2ludC1idXR0b24iXTsKXy5IRD1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsc3R5bGU6YyxidXR0b25PdmVycmlkZXM6ZCxhYjplLG9uQ2xpY2s6Zix0YXJnZXQ6aH0pPT57dmFyIGs9Xy51RSgiYnV0dG9uLXZpZXctbW9kZWwiLEQ9PntELmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ5dC1yZW5kZXJpZG9tLWZpbmlzaGVkIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiExLGNvbXBvc2VkOiEwfSkpO3ZhciBIPWEoKS50YXJnZXRJZDtIJiZfLlFLKF8uTUsoKSxILEQpO3JldHVybigpPT57Xy5QSyhfLk1LKCksRCl9fSksbD1fLmNJKEQ9Pm5mYShELGEoKT8uZW50aXR5S2V5LGEoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlKSksbT0oKT0+YSgpPy5lbnRpdHlLZXkmJmEoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlP2woKTp2b2lkIDAsbj0oKT0+Xy54KCJXZWJGRUFsbFN0dWRpb0J5Q2hhbm5lbF9fd2ViX2J1dHRvbl92aWV3X21vZGVsX2VudGl0eV9vdmVycmlkZXMiKT9tKCk6dm9pZCAwLHA9CigpPT57dmFyIEQ9bigpO2lmKEQ/Lmljb25OYW1lIT09dm9pZCAwKXJldHVybiBELmljb25OYW1lO2lmKEQ/LkFjPT09dm9pZCAwKXJldHVybiBhKCk/Lmljb25OYW1lfHxhKCk/Lnl0SWNvbn0scj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKSx0PSgpPT57dmFyIEQ9ZD8uKCksSD1tKCksUj1uKCksTT1EO2EoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlJiYoTT17Li4uRCxkaXNhYmxlZDohIUg/LmlzRGlzYWJsZWR8fCEhRD8uZGlzYWJsZWR9KTtEPWEoKTt2YXIgUz1NLFk9ZT8uKCkscGE9Uj8uYXJpYURpc2FibGVkfHxIPy5pc0Rpc2FibGVkfHxSPy5hcmlhQnVzeXx8TT8uZGlzYWJsZWQ/dm9pZCAwOmY7TT1oPy4oKTtpZihEKXt2YXIgb2E9dGZhKEQudHlwZSk7dmFyIFU9ISFELnRpdGxlfHwhIUQudGl0bGVGb3JtYXR0ZWQ7dmFyIGhhPSEhKEQuaWNvbk5hbWV8fEQuaWNvbkltYWdlfHxELnl0SWNvbnx8RC5sZWFkaW5nQXNzZXQpO1U9aGEmJiFVPyJpY29uLW9ubHkiOgpoYT9ELmljb25Qb3NpdGlvbj09PSJCVVRUT05fVklFV19NT0RFTF9JQ09OX1BPU0lUSU9OX0FCT1ZFIj8iaWNvbi13aXRoLWxhYmVsIjpELmljb25UcmFpbGluZ3x8RC5pY29uUG9zaXRpb249PT0iQlVUVE9OX1ZJRVdfTU9ERUxfSUNPTl9QT1NJVElPTl9UUkFJTElORyI/InRyYWlsaW5nIjoibGVhZGluZyI6dm9pZCAwO1U9PT0iaWNvbi1vbmx5LTQwIiYmKG9hPSJ0ZXh0Iik7aGE9Uz8uc3RhdGU/P3VmYShELnN0YXRlKTt2YXIgbWE9Uz8uZGlzYWJsZWQ/PyhELnN0YXRlPT09IkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0RJU0FCTEVEInx8RC5zdGF0ZT09PSJCVVRUT05fVklFV19NT0RFTF9TVEFURV9JTkFDVElWRSIpO18ueCgid2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZCIpJiYobWE9Uz8uZGlzYWJsZWQ/P2hhPT09ImRpc2FibGVkIik7WT1ZJiZZLlhiJiYhaXNOYU4oTnVtYmVyKFkubnVtYmVyVmFsdWUpKT9ZOnZvaWQgMDt2YXIgdGE9RC50aXRsZSxUPUQudGl0bGVGb3JtYXR0ZWQsCmJhPUQuYWNjZXNzaWJpbGl0eVRleHQsYWE9c2ZhKEQuc3R5bGUpLE9hPXZmYShELmJ1dHRvblNpemUpO3BhPXFmYShELGssbWEscGEsTSk7dmFyIEpiPW1hJiYhRC5vbkRpc2FibGVkVGFwLHphPXBmYShELGspLExiPUQuY3VzdG9tRm9udENvbG9yLGNjPUQuY3VzdG9tQmFja2dyb3VuZENvbG9yO3ZhciBsYz1ELmN1c3RvbUJvcmRlckNvbG9yO2xldCB0ZD1ELmN1c3RvbURhcmtUaGVtZUZvbnRDb2xvcixCZT1ELmN1c3RvbURhcmtUaGVtZUJhY2tncm91bmRDb2xvcjt2YXIgVmI9RC5jdXN0b21EYXJrVGhlbWVCb3JkZXJDb2xvcjtMYj1yJiZ0ZD90ZDpMYjtjYz1yJiZCZT9CZTpjYztsYz1yJiZWYj9WYjpsYztsYz17Y29sb3I6TGI/Xy5ORChMYik6dm9pZCAwLGJhY2tncm91bmRDb2xvcjpjYz9fLk5EKGNjKTp2b2lkIDAsYm9yZGVyQ29sb3I6bGM/Xy5ORChsYyk6dm9pZCAwfTtWYj1fLkIoRC50b29sdGlwRGF0YSxfLmNLKTtjYz1fLkIoRC5kaXNhYmxlZFRvb2x0aXBEYXRhLF8uY0spOwpEPXtidXR0b25UZXh0OnRhLFdhOlQsYWI6WSxhY2Nlc3NpYmlsaXR5TGFiZWw6YmEsc3R5bGU6YWEsdHlwZTpvYSxzdGF0ZTpoYSxzaXplOk9hLGljb25Qb3NpdGlvbjpVLG9uVGFwOnBhLGRpc2FibGVkOkpiLHVjOnphLGN1c3RvbUNvbG9yczpsYyx0b29sdGlwVGV4dDpELnRvb2x0aXAsRG46bWEmJmNjP1JLKGNjKTpWYj9SSyhWYik6dm9pZCAwLG9uSG92ZXI6cmZhKEQsayxNKSxtaWRkbGVncm91bmRBc3NldDpELm1pZGRsZWdyb3VuZEFzc2V0LEFjOkQubGVhZGluZ0Fzc2V0LC4uLlN9fWVsc2UgRD17c3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUiLHNpemU6Ik0ifTtELmZvY3VzZWQ9RigpO1I/LmFjY2Vzc2liaWxpdHlMYWJlbCE9PXZvaWQgMCYmKEQuYWNjZXNzaWJpbGl0eUxhYmVsPVIuYWNjZXNzaWJpbGl0eUxhYmVsKTtSPy5jdXN0b21Db2xvcnMhPT12b2lkIDAmJihELmN1c3RvbUNvbG9ycz1SLmN1c3RvbUNvbG9ycyk7Uj8uQWMhPT12b2lkIDA/KEQuQWM9ClIuQWMsRC5pY29uUG9zaXRpb249Imljb24tb25seSIpOlI/Lmljb25OYW1lIT09dm9pZCAwJiYoRC5BYz12b2lkIDAsRC5pY29uUG9zaXRpb249Imljb24tb25seSIpO0g/LldhJiYoRC5XYT1ILldhKTtyZXR1cm4gRH0sdj1fLlBIKCksej0oKT0+e3ZhciBEPXQoKTtyZXR1cm4gXy5vSyhELCEhcCgpfHwhIUQuQWMsdil9LFtFLEFdPV8uSighMSx2b2lkIDAsIlBwbk5BIiksRj1FO18ubkUoKCk9Pnt2YXIgRD1fLkIoYSgpPy5vblZpc2libGUsXy5PRCk7RCYmXy5hRShELHttZDohMH0pfSwiZWZldXkiKTt2YXIgQz0oKT0+e3ZhciBEPWEoKT8uaWNvbkltYWdlO3JldHVybiBEP3tzb3VyY2VzOltEXX06dm9pZCAwfSxHPUhUTUxFbGVtZW50LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgicG9wb3ZlciIpO3JldHVybiBfLksoImJ1dHRvbi12aWV3LW1vZGVsIix7ZWw6ayxjbGFzczpfLlAoInl0U3BlY0J1dHRvblZpZXdNb2RlbEhvc3QiLGIsKCk9Pnt2YXIgRD1hKCk/LnRhcmdldElkOwppZihEKXJldHVybiB3ZmEuaW5jbHVkZXMoRCk/RDp2b2lkIDB9KSwib246Zm9jdXNpbiI6ZnVuY3Rpb24oKXt2YXIgRD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5qSCkpO0QmJkEoRC5YZSgpKX0sIm9uOmZvY3Vzb3V0IjpmdW5jdGlvbigpe0EoITEpfSwiYXJpYS1kaXNhYmxlZCI6KCk9Pm4oKT8uYXJpYURpc2FibGVkPyJ0cnVlIjp2b2lkIDAsImFyaWEtYnVzeSI6KCk9Pm4oKT8uYXJpYUJ1c3k/InRydWUiOnZvaWQgMH0sXy5LKF8uTyx7QTooKT0+IShtKCk/LmlzSGlkZGVuPz8hMSksdGhlbjooKT0+Xy5LKF8uTyx7QTpDLHRoZW46RD0+Xy5LKF8uSksse2RhdGE6dCxpY29uOigpPT5fLksoXy5qRix7ZGF0YTpELGFsdDoiIixBYjp6LGRjOnosVGE6ITAsWWE6ITB9KSxhcDpHfSksVzooKT0+Xy5LKF8uSksse2RhdGE6dCxpY29uTmFtZTpwLEdlOigpPT4hIWM/LigpPy5hbmltYXRlSWNvbixhcDpHfSl9KX0pKX0sInRhIik7Xy5IRC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQ2xpY2s6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiRGx2RjFkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWUM9bmV3IF8uSSgiYWNjZXNzaWJpbGl0eUNvbnRleHQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5zTD1uZXcgXy5JKCJhdmF0YXJWaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RRj1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKSxjPWEuZGFya1RoZW1lSW1hZ2U/P2EuaW1hZ2U7cmV0dXJuIGI/YzphLmltYWdlfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUkY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJSYXE0Y2IiKTtyZXR1cm4gXy5JRH07Xy5TRj1fLmNEKCgpPT5fLlJGKCksImF2YXRhclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhdmF0YXJWaWV3TW9kZWwiLCJSYXE0Y2IiLF8uUkYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uJEY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJQelVkWmIiKTtyZXR1cm4gXy5FRH07Xy5hRz1fLmNEKCgpPT5fLiRGKCksImJhZGdlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImJhZGdlVmlld01vZGVsIiwiUHpVZFpiIixfLiRGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnVMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiV3FsY1ZiIik7cmV0dXJuIF8ueER9O18udkw9Xy5jRCgoKT0+Xy51TCgpLCJkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsIiwiV3FsY1ZiIixfLnVMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLndMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgidWhsTEdiIik7cmV0dXJuIF8ud0R9O18ueEw9Xy5jRCgoKT0+Xy53TCgpLCJmbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZmxleGlibGVBY3Rpb25zVmlld01vZGVsIiwidWhsTEdiIixfLndMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnlMPWZ1bmN0aW9uKCl7aWYoISgibWF0Y2hNZWRpYSJpbiB3aW5kb3cpKXJldHVybiBfLldpKEVycm9yKCJ0ZCIpKSwoKT0+MDt2YXIgYT13aW5kb3cubWF0Y2hNZWRpYSgiKG1heC13aWR0aDogNTI3LjlweCkiKSxiPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA1MjhweCkgYW5kIChtYXgtd2lkdGg6IDgzOS45cHgpIiksYz13aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkiKSxkPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAxMDI0cHgpIiksW2UsZl09Xy5KKGEubWF0Y2hlcyx2b2lkIDAsIlRtSUtjYiIpLFtoLGtdPV8uSihiLm1hdGNoZXMsdm9pZCAwLCJaMGZUS2QiKSxbbCxtXT1fLkooYy5tYXRjaGVzLHZvaWQgMCwidzR4eTdiIiksW24scF09Xy5KKGQubWF0Y2hlcyx2b2lkIDAsIkRyYk5DIikscj1FPT57ZihFLm1hdGNoZXMpfSx0PUU9PntrKEUubWF0Y2hlcyl9LHY9RT0+e20oRS5tYXRjaGVzKX0sCno9RT0+e3AoRS5tYXRjaGVzKX07Xy5VSigoKT0+e2EuYWRkRXZlbnRMaXN0ZW5lcj8oYS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpLGIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0KSxjLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdiksZC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHopKTphLmFkZExpc3RlbmVyJiYoYS5hZGRMaXN0ZW5lcihyKSxiLmFkZExpc3RlbmVyKHQpLGMuYWRkTGlzdGVuZXIodiksZC5hZGRMaXN0ZW5lcih6KSk7Xy5ZdSgoKT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oYS5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpLGIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0KSxjLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdiksZC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHopKTphLnJlbW92ZUxpc3RlbmVyJiYoYS5yZW1vdmVMaXN0ZW5lcihyKSxiLnJlbW92ZUxpc3RlbmVyKHQpLGMucmVtb3ZlTGlzdGVuZXIodiksCmQucmVtb3ZlTGlzdGVuZXIoeikpfSl9KTtyZXR1cm4oKT0+ZSgpPzE6aCgpPzI6bCgpPzM6bigpPzQ6MH07Xy5BTD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy55KCkucmVzb2x2ZShfLkluKHpMKSksW2UsZl09Xy5KKGQsdm9pZCAwLCJ4R3NSUSIpO2R8fF8uWXQoekwsZik7cmV0dXJuIF8uTigoKT0+e3ZhciBoPWEoKTtyZXR1cm4gaCYmYigpP2UoKT8uKGgsYixjKTp2b2lkIDB9LHZvaWQgMCwiYnNvc2RkIil9O3ZhciB6TD1uZXcgXy5WcygiU0VNQU5USUNfVFlQT0dSQVBIWV9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlRIPWZ1bmN0aW9uKGEpe3JldHVybigpPT5fLkIoYSgpLF8uWUMpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJMPWZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIF8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpP2EuZGFya1RoZW1lOmEubGlnaHRUaGVtZX0sQ0w9bmV3IF8uSSgiYmFkZ2VWaWV3TW9kZWwiKTt2YXIgQ2ZhPW5ldyBfLlZzKCJDT01NT05fTUFSS19WSUVXX01PREVMX1RPS0VOIik7dmFyIERmYTtfLkRMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRnFIY0dlIik7cmV0dXJuIF8udEZ9O0RmYT1fLmNEKCgpPT5fLkRMKCksInNlY3Rpb25IZWFkZXJMYXlvdXQiKTtfLll0KF8uSkQsYT0+e2EuSigic2VjdGlvbkhlYWRlckxheW91dCIsIkZxSGNHZSIsXy5ETCl9KTtfLnZEPV8uTCgoe2NsYXNzTmFtZTphLGRhdGE6YixkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6YyxkaXNhYmxlVmVydGljYWxQYWRkaW5nOmQsVGk6ZSxLbjpmLGlzT3ZlcmxheTpoLEVzOmssZ0w6bCxpSjptfSk9Pnt2YXIgbj1fLlRIKCgpPT5iKCkucmVuZGVyZXJDb250ZXh0KSxwPV8ueUwoKSxyPV8uQUwoKCk9PmIoKS5oZWFkbGluZVR5cG9ncmFwaHlUb2tlbixwLHttYXhMaW5lczoyfSk7cD1fLkFMKCgpPT5iKCkuc3VidGl0bGVUeXBvZ3JhcGh5VG9rZW4scCk7dmFyIHQ9Xy5RSCgoKT0+YigpLmhvcml6b250YWxQYWRkaW5nKSx2PV8uUUgoKCk9PmIoKS50b3BQYWRkaW5nKSx6PV8uUUgoKCk9PmIoKS5ib3R0b21QYWRkaW5nKTtyZXR1cm4gXy5LKCJ5dC1zZWN0aW9uLWhlYWRlci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0IixhKSxzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6KCk9PkJMKGIoKS5iYWNrZ3JvdW5kQ29sb3IpPwpfLk5EKEJMKGIoKS5iYWNrZ3JvdW5kQ29sb3IpKTp2b2lkIDB9KX0sXy5LKERmYSx7YXJpYUxhYmVsOigpPT5uKCk/LmxhYmVsLEF3OiExLHRpdGxlOigpPT5fLksoXy5WLHt0ZXh0OigpPT5iKCkuaGVhZGxpbmUsWGE6ITB9KSxraDohMCxzdWJsYWJlbDooKT0+Xy5LKEVmYSx7ZGF0YTpifSksTHc6KCk9PiEhYigpLnN1YmxhYmVsfHwhIWIoKS5ib3R0b21CYWRnZXx8ISFiKCkuYm90dG9tQmFkZ2VzLHN1cGVybGFiZWw6KCk9Pl8uSyhGZmEse2RhdGE6Yn0pLE13OigpPT4hIWIoKS5zdXBlcmxhYmVsfHwhIWIoKS50b3BCYWRnZSxsZWFkaW5nSW1hZ2U6KCk9Pl8uSyhHZmEse2xlYWRpbmdBY2Nlc3Nvcnk6KCk9PmIoKS5sZWFkaW5nQWNjZXNzb3J5fSksSHc6KCk9PiEhYigpLmxlYWRpbmdBY2Nlc3NvcnksdHJhaWxpbmdBY3Rpb25zOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0FjdGlvbnNDb250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT4KYigpLnRyYWlsaW5nQWN0aW9uc30se2ZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbDpfLnhMfSksXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb25zQ29udGFpbmVyIn0sXy5LKF8uZ0cse3BhOigpPT5sPy4oKXx8W119LEU9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb24ifSxFKSkpfSkpLE53OigpPT5tPy4oKXx8ISFiKCkudHJhaWxpbmdBY3Rpb25zLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+Yz8uKCl8fGIoKS5kaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmcsZGlzYWJsZVZlcnRpY2FsUGFkZGluZzooKT0+ZD8uKCl8fGIoKS5kaXNhYmxlVmVydGljYWxQYWRkaW5nLFRpOmUsS246Zixpc092ZXJsYXk6aCxyaDooKT0+ISFfLnNIKGIoKS5yZW5kZXJlckNvbnRleHQpLGhvdmVyRWZmZWN0RW5hYmxlZDooKT0+YigpLmhvdmVyRWZmZWN0RW5hYmxlZCxvbkNsaWNrOkU9Pgp7dmFyIEE9Xy5zSChiKCkucmVuZGVyZXJDb250ZXh0KTtBJiZfLmFFKEEse2Zvcm06e2VsZW1lbnQ6RS50YXJnZXQsZXZlbnQ6RX19KX0sYm90dG9tQWNjZXNzb3J5OigpPT5fLksoXy5XLHtkYXRhOigpPT5iKCkuYm90dG9tQWNjZXNzb3J5fSx7ZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsOih7ZGF0YTpFfSk9Pl8uSyhfLnZMLHtkYXRhOkUsWGM6ITB9KSxjb21tb25NYXJrVmlld01vZGVsOih7ZGF0YTpFfSk9Pl8uSyhfLklCLG51bGwsXy55KCkucmVzb2x2ZShfLkluKENmYSkpPy4oe2RhdGE6RX0pKX0pLHp3OigpPT4hIWIoKS5ib3R0b21BY2Nlc3NvcnksRXM6ayxoZWFkbGluZVR5cG9ncmFwaHlUb2tlbjpyLHN1YnRpdGxlVHlwb2dyYXBoeVRva2VuOnAsanE6dCxmQjp2LEh1Onp9KSl9LCJ3YSIpOwp2YXIgR2ZhPV8uTCgoe2xlYWRpbmdBY2Nlc3Nvcnk6YX0pPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6KCk9PmEoKS5pbWFnZT8/Xy5RRihhKCkudGhlbWVkSW1hZ2UpLHRoZW46Yj0+Xy5LKF8uakYse2RhdGE6YixhbHQ6IiIsVGE6ITAsWWE6ITB9KX0pLF8uSyhfLk8se0E6KCk9Pl8uQihhKCkuYXZhdGFyLF8uc0wpLHRoZW46Yj0+Xy5LKF8uU0Yse2RhdGE6Yn0pfSkpLCJ4YSIpLEVmYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoInNwYW4iLHtjbGFzczpfLlAoe3l0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdlV2l0aExhYmVsOigpPT4oISFhKCkuYm90dG9tQmFkZ2VzfHwhIWEoKS5ib3R0b21CYWRnZSkmJiEhYSgpLnN1YmxhYmVsfSl9LF8uSyhfLk8se0E6KCk9Pl8uQihhKCkuYm90dG9tQmFkZ2UsQ0wpLHRoZW46Yj0+Xy5LKF8uYUcse2RhdGE6Yn0pfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJvdHRvbUJhZGdlc30se2JhZGdlVmlld01vZGVsOih7ZGF0YTpifSk9PgpfLksoXy5hRyx7ZGF0YTpiLGNsYXNzOl8uUCgieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VzIil9KX0pKSxfLksoXy5PLHtBOigpPT5hKCkuc3VibGFiZWwsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSwieWEiKSxGZmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS50b3BCYWRnZSxDTCksdGhlbjpiPT5fLksoXy5hRyx7ZGF0YTpiLGNsYXNzOl8uUCh7eXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VXaXRoTGFiZWw6KCk9PiEhYigpJiYhIWEoKS5zdXBlcmxhYmVsfSl9KX0pLF8uSyhfLk8se0E6KCk9PmEoKS5zdXBlcmxhYmVsLHRoZW46Yj0+Xy5LKF8uVix7dGV4dDpifSl9KSksInphIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImN5Q1ZsZCIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgTkg7Tkg9ZnVuY3Rpb24oKXt9O18uT0g9ZnVuY3Rpb24oKXtyZXR1cm4iOiIrKEpkYS5qKyspLnRvU3RyaW5nKDM2KX07Xy53YShOSCk7TkgucHJvdG90eXBlLmo9MDt2YXIgSmRhPU5ILmpjKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRkk9bmV3IF8uVnMoIlNVQk1JVF9BUElfU0VSVklDRV9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgib3NUdHhlIik7cmV0dXJuIF8uQUR9O18ubEw9Xy5jRCgoKT0+Xy5rTCgpLCJiYXNpY0NvbnRlbnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFzaWNDb250ZW50Vmlld01vZGVsIiwib3NUdHhlIixfLmtMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlRGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRGx2RjFkIik7cmV0dXJuIF8uSER9O18uVUY9Xy5jRCgoKT0+Xy5URigpLCJidXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYnV0dG9uVmlld01vZGVsIiwiRGx2RjFkIixfLlRGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRnNvWHpjIik7cmV0dXJuIF8uekR9O18ubkw9Xy5jRCgoKT0+Xy5tTCgpLCJjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY29udGVudExpc3RJdGVtVmlld01vZGVsIiwiRnNvWHpjIixfLm1MKX0pO18ub0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwZTJvamIiKTtyZXR1cm4gXy5DRH07Xy5wTD1fLmNEKCgpPT5fLm9MKCksImxpc3RJdGVtVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxpc3RJdGVtVmlld01vZGVsIiwicGUyb2piIixfLm9MKX0pO18ucUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJVQU01bSIpO3JldHVybiBfLnlEfTtfLnJMPV8uY0QoKCk9Pl8ucUwoKSwibG9ja3VwVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxvY2t1cFZpZXdNb2RlbCIsIlVBTTVtIixfLnFMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkZMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVk9VUDlkIik7cmV0dXJuIF8udUR9O18uR0w9Xy5jRCgoKT0+Xy5GTCgpLCJsaW5lYXJMYXlvdXRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGluZWFyTGF5b3V0Vmlld01vZGVsIiwiVk9VUDlkIixfLkZMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS0ksYWVhLCRJLGFKLGJlYTtfLkdJPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE/LmZvcm1JZD09PWI/LmZvcm1JZCYmYT8uZmllbGRJZD09PWI/LmZpZWxkSWR9O18uSEk9ZnVuY3Rpb24oYSl7cmV0dXJuIEVycm9yKCJuZGAiK2EucmVwbGFjZSgvXG5ccyovZywiICIpKX07Xy5JST1mdW5jdGlvbihhKXtyZXR1cm4gRXJyb3IoIm9kYCIrYS5yZXBsYWNlKC9cblxzKi9nLCIgIikpfTtfLkpJPWZ1bmN0aW9uKCl7cmV0dXJue25qOiExLGZiOiEwLHpkOiExLGlzU3VibWl0dGluZzohMSxjczowfX07S0k9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMDtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYSkpe2lmKGQ9PT0iZm9ybUlkIiljb250aW51ZTtsZXQgZT1hW2RdO2Uua2luZD09PTEmJihLSShlLnZhbHVlLGIpfHwoYz0hMSkpfWIoYS5mb3JtSWQpfHwoYz0hMSk7cmV0dXJuIGN9OwpfLk1JPWZ1bmN0aW9uKGEpe3ZhciBiPUxJLmdldChhKTtpZihiKXJldHVybiBiO2I9YS5yZXBsYWNlKC9fKFthLXpBLVowLTldKS9nLChjLGQpPT5kLnRvVXBwZXJDYXNlKCkpO0xJLnNldChhLGIpO3JldHVybiBifTtfLk9JPWZ1bmN0aW9uKCl7Tkk/LihhPT5hKzEpfTtfLlJJPWZ1bmN0aW9uKGEpe1BJP1BJKCk6KFtQSSwsTkldPV8uSigwLHZvaWQgMCwiVnhZMGZiIiksUEkoKSk7cmV0dXJuIF8uUUkuZ2V0KGEpfTtfLlNJPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9Xy5SSShhKTtpZihjKXtpZihiJiZiIT09Yy5VaSl0aHJvdyBfLklJKGBGb3JtIHR5cGUgbWlzbWF0Y2ggZm9yIGZvcm1JZCAke2F9OiBwcm92aWRlZCBmb3JtVHlwZSAiJHtifSIgZG9lcyBub3QgbWF0Y2ggc3RvcmVkIGZvcm1UeXBlICIke2MuVWl9Ii5gKTtyZXR1cm4gYy5mb3JtfX19OwpfLlZJPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUkkoYSk7aWYoIWIpdGhyb3cgXy5USShhKTtpZihiLlNwPT09MClyZXR1cm4gYi5mb3JtO2I9Yi5wZztpZighYil0aHJvdyBfLlVJKGEpO2E9Xy5TSShiLlZ6KTtpZighYSl0aHJvdyBfLkhJKGBGb3JtSWQgJHtiLlZ6fSBub3QgZm91bmQuYCk7cmV0dXJuIGF9O2FlYT1mdW5jdGlvbihhKXt0cnl7dmFyIGI9Xy5WSShhKX1jYXRjaChjKXtyZXR1cm4hMX0oYT1LSShiLGM9Pl8uUUkuZGVsZXRlKGMpKSkmJl8uT0koKTtyZXR1cm4gYX07Xy5XST1mdW5jdGlvbihhLGIpe2lmKGI9PT0iZm9ybUlkIil0aHJvdyBfLklJKCJGaWVsZCBpZCBjYW5ub3QgYmUgZm9ybUlkLiIpO2lmKGE9Xy5TSShhKSlyZXR1cm4gYj1fLk1JKGIpLGFbYl19O18uWEk9ZnVuY3Rpb24oYSl7aWYoYT1fLlJJKGEpKXJldHVybiBhLkRsfTsKXy5aST1mdW5jdGlvbihhKXt2YXIgYj1fLk4oKCk9Pl8uQnYoYSk/P3t9LHtlcXVhbHM6Xy5HSX0sIkxETkxiZCIpLGM9Xy5OKCgpPT57dmFyIHtmb3JtSWQ6ZCxmaWVsZElkOmV9PWIoKTtpZihkJiZlKXt2YXIgZjtpZihmPV8uV0koZCxlKSl7aWYoISgiZnVuY3Rpb24iPT10eXBlb2YgXy5ZSSYmZiBpbnN0YW5jZW9mIF8uWUkpKXRocm93IF8uSUkoYEZpZWxkICR7ZX0gaW4gZm9ybSAke2R9IGlzIG5vdCBhIFNjYWxhckZpZWxkLmApO31lbHNlIGY9dm9pZCAwO3JldHVybiBmfX0sdm9pZCAwLCJvOG8wMGQiKTtyZXR1cm4oKT0+YygpfTskST1mdW5jdGlvbihhLGIpe3ZhciBjPShjPV8uUkkoYSkpP2MuQ246dm9pZCAwO2lmKCFjKXRocm93IF8uSEkoYE1pc3NpbmcgdG9Gb3JtRGF0YSBmdW5jdGlvbiBmb3IgRm9ybUlkICR7YX0uYCk7cmV0dXJuIGMoYil9OwphSj1mdW5jdGlvbihhLGIpe3ZhciBjPShjPV8uUkkoYSkpP2MuQ2w6dm9pZCAwO2lmKCFjKXRocm93IF8uSEkoYE1pc3NpbmcgZm9ybURhdGFFeHRlbnNpb25GaWVsZCBmb3IgRm9ybUlkICR7YX0uYCk7cmV0dXJue1tjXTpifX07CmJlYT1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj1fLlZJKGEpLGM9Xy5YSShhKTt2YXIgZD0oZD1fLlJJKGEpKT9kLnN1Ym1pdENvbmZpZzp2b2lkIDA7dmFyIGU9Xy55KCkucmVzb2x2ZShfLkluKF8uRkkpKSxmPV8uUkkoYSk7ZiYmKGYuWmQ9ey4uLmYuWmQsaXNTdWJtaXR0aW5nOiEwfSxfLk9JKCkpO3RyeXtpZihkJiZlKXtsZXQgaz0kSShhLGIpO3ZhciBoPWFKKGEsayk7bGV0IGw9YXdhaXQgZS5iaShkLnN1Ym1pdElkLGgse3N1Ym1pdEFjdGlvbjoiU1VCTUlUX0FDVElPTl9TVUJNSVNTSU9OIixhbGxGaWVsZHM6ITB9LGQucGFyYW1zLGQuY2xpY2tUcmFja2luZ1BhcmFtcyk7aWYobC5zdWJtaXRFcnJvcil0aHJvdyBiSihsLnN1Ym1pdEVycm9yKTthd2FpdCBjPy5IbT8uKGwpfWVsc2UgYXdhaXQgYz8ub25TdWJtaXQ/LihiKX1jYXRjaChrKXtyZXR1cm4gayBpbnN0YW5jZW9mIEVycm9yP1Byb21pc2UucmVqZWN0KGspOlByb21pc2UucmVqZWN0KGJKKGspKX1maW5hbGx5e2lmKGE9Cl8uUkkoYSkpYS5aZD17Li4uYS5aZCxpc1N1Ym1pdHRpbmc6ITEsY3M6YS5aZC5jcysxfSxfLk9JKCl9fTtfLmNKPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5OKCgpPT5fLkJ2KGEpPz8iIix2b2lkIDAsIkdSbXByIiksZD1fLk4oKCk9Pl8uU0koYygpLGIpLHZvaWQgMCwicGJUZUJiIiksZT1fLk4oKCk9Pnt2YXIgaD1jKCk7cmV0dXJuKGg9Xy5SSShoKSk/aC5aZDpfLkpJKCl9LHZvaWQgMCwidWN2NkxiIiksZj1fLk4oKCk9Pnt2YXIgaD1kKCk7aWYoIWgpcmV0dXJue2Zvcm1EYXRhOnZvaWQgMCxldzp2b2lkIDB9O2g9JEkoYygpLGgpO3JldHVybntmb3JtRGF0YTpoLGV3OmFKKGMoKSxoKX19LHZvaWQgMCwiaEg2MXFjIik7cmV0dXJue2Zvcm06KCk9PmQoKSxkYXRhOigpPT5mKCksc3RhdGU6KCk9PmUoKSxzdWJtaXQ6YXN5bmMoKT0+e2F3YWl0IGJlYShjKCkpfSxkaXNwb3NlOigpPT5hZWEoYygpKX19O18uZEo9U3ltYm9sKCJkZCIpO3ZhciBiSjtfLlRJPWE9Pl8uSEkoYEZvcm0gc2Vzc2lvbiBmb3IgRm9ybUlkICR7YX0gbm90IGZvdW5kLmApO18uVUk9YT0+Xy5ISShgTmVzdGVkIGZvcm0gYWNjZXNzb3IgZm9yIEZvcm1JZCAke2F9IG5vdCBmb3VuZC5gKTtiSj1hPT5fLklJKGBVbmtub3duIGVycm9yIGR1cmluZyBmb3JtIHN1Ym1pc3Npb246ICR7SlNPTi5zdHJpbmdpZnkoYSl9YCk7dmFyIExJPW5ldyBNYXA7dmFyIFBJLE5JO18uUUk9bmV3IE1hcDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEhmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQ0FSRF9TVFlMRV9PVVRMSU5FIjpyZXR1cm4ieXRDYXJkVmlld01vZGVsT3V0bGluZSI7Y2FzZSAiQ0FSRF9TVFlMRV9UT05BTCI6cmV0dXJuInl0Q2FyZFZpZXdNb2RlbFRvbmFsIjtjYXNlICJDQVJEX1NUWUxFX0lOVkVSU0UiOnJldHVybiJ5dENhcmRWaWV3TW9kZWxJbnZlcnRlZCI7ZGVmYXVsdDpyZXR1cm4ieXRDYXJkVmlld01vZGVsUmFpc2VkIn19O3ZhciBITD1uZXcgXy5JKCJzZWN0aW9uSGVhZGVyVmlld01vZGVsIik7dmFyIElmYTtfLklMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVmJYclVlIik7cmV0dXJuIF8uaEh9O0lmYT1fLmNEKCgpPT5fLklMKCksImNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbCIsIlZiWHJVZSIsXy5JTCl9KTt2YXIgSmZhO18uSkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwRVNsRGIiKTtyZXR1cm4gXy5lRn07SmZhPV8uY0QoKCk9Pl8uSkwoKSwidGhlbWVkSW1hZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidGhlbWVkSW1hZ2VWaWV3TW9kZWwiLCJwRVNsRGIiLF8uSkwpfSk7dmFyIEtmYT1uZXcgXy5WcygiQVNLX1NUVURJT19DQVJEX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgTGZhPW5ldyBfLlZzKCJBU0tfU1RVRElPX1ZJREVPX0VESVRfUFJFVklFV19WSUVXX01PREVMX1RPS0VOIik7dmFyIE1mYT1uZXcgXy5WcygiQVVESUVOQ0VfT05MSU5FX0hFQVRNQVBfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBOZmE9bmV3IF8uVnMoIkNPTU1FTlRTX0RJR0VTVF9DT05URU5UX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgT2ZhPW5ldyBfLlZzKCJQUklNRVRJTUVfT0ZGRVJJTkdfSU5fUkVWSUVXX0NBUkRfQ09OVEVOVF9WSUVXX01PREVMX1RPS0VOIik7dmFyIFBmYT1uZXcgXy5WcygiWVRDUF9GVU5ORUxfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBRZmE7Xy5LTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInFWRGdCZCIpO3JldHVybiBfLmRGfTtRZmE9Xy5jRCgoKT0+Xy5LTCgpLCJjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsIiwicVZEZ0JkIixfLktMKX0pO3ZhciBSZmE7Xy5MTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImk2WG9tZSIpO3JldHVybiBfLlBGfTtSZmE9Xy5jRCgoKT0+Xy5MTCgpLCJyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmFkaW9CdXR0b25JdGVtVmlld01vZGVsIiwiaTZYb21lIixfLkxMKX0pO3ZhciBTZmE7Xy5NTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImJ6ajBqZCIpO3JldHVybiBfLnRMfTtTZmE9Xy5jRCgoKT0+Xy5NTCgpLCJpbmxpbmVFeHBhbmRlclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJpbmxpbmVFeHBhbmRlclZpZXdNb2RlbCIsImJ6ajBqZCIsXy5NTCl9KTt2YXIgVGZhO18uTkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGaU5HT2MiKTtyZXR1cm4gXy5nSH07VGZhPV8uY0QoKCk9Pl8uTkwoKSwiZGlzbWlzc2libGVJdGVtIik7Xy5ZdChfLkpELGE9PnthLkooImRpc21pc3NpYmxlSXRlbSIsIkZpTkdPYyIsXy5OTCl9KTt2YXIgVWZhPW5ldyBfLlZzKCJDT05URU5UX1NFQ1RJT05fVklFV19NT0RFTF9UT0tFTiIpO3ZhciBWZmE7Xy5PTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInVSSWFDIik7cmV0dXJuIF8uQkh9O1ZmYT1fLmNEKCgpPT5fLk9MKCksImNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjaGFubmVsQXR0cmlidXRpb25WaWV3TW9kZWwiLCJ1UklhQyIsXy5PTCl9KTt2YXIgUEw9Xy5MKGE9Pnt2YXIgYj1fLlFIKCgpPT5hLmRhdGEoKS50b3BDb250ZW50UGFkZGluZ1Rva2VuKSxjPV8uUUgoKCk9PmEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1ZhbHVlcz8udG9wUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZD1fLlFIKCgpPT5hLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdWYWx1ZXM/LmJvdHRvbVBhZGRpbmdUb2tlbnx8YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVG9rZW4pLGU9Xy5RSCgoKT0+YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVmFsdWVzPy5ob3Jpem9udGFsUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZj0oKT0+YS5kYXRhKCkuYmFja2dyb3VuZCxoPSgpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbkxheW91dD09PSJDQVJEX1RSQUlMSU5HX0FDVElPTl9MQVlPVVRfT1ZFUkxBWSIsaz0oKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb25MYXlvdXQ9PT0KIkNBUkRfVFJBSUxJTkdfQUNUSU9OX0xBWU9VVF9JTkxJTkVfQ0VOVEVSIixsPV8ueSgpLnJlc29sdmUoXy5JbihVZmEpKSxtPV8ueSgpLnJlc29sdmUoXy5JbihLZmEpKSxuPV8ueSgpLnJlc29sdmUoXy5JbihMZmEpKSxwPV8ueSgpLnJlc29sdmUoXy5JbihOZmEpKSxyPV8ueSgpLnJlc29sdmUoXy5JbihNZmEpKSx0PV8ueSgpLnJlc29sdmUoXy5JbihQZmEpKSx2PV8ueSgpLnJlc29sdmUoXy5JbihPZmEpKSx6PSgpPT5hLmRhdGEoKS5jYXJkU3RhdGU/LmVuYWJsZW1lbnRTdGF0ZT09PSJDQVJEX0VOQUJMRU1FTlRfU1RBVEVfRElTQUJMRUQiLEU9KCk9PiF6KCkmJl8udEgoYS5kYXRhKCkucmVuZGVyZXJDb250ZXh0KSxBPSgpPT57aWYoYS5pc0V4cGFuZGVkPy4oKSE9PXZvaWQgMClyZXR1cm4gYS5pc0V4cGFuZGVkPy4oKTtzd2l0Y2goYS5kYXRhKCkuY2FyZFN0YXRlPy5leHBhbnNpb25TdGF0ZSl7Y2FzZSAiQ0FSRF9FWFBBTlNJT05fU1RBVEVfRVhQQU5ERUQiOnJldHVybiEwOwpjYXNlICJDQVJEX0VYUEFOU0lPTl9TVEFURV9DT0xMQVBTRUQiOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuIGEuaXNTZWxlY3RlZD8uKCl9fTtyZXR1cm4gXy5LKCJ5dC1jYXJkLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbEhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKFRmYSx7Y29udGVudElkOigpPT5hLmRhdGEoKS5jb250ZW50SWR9LCgpPT5fLksoImRpdiIse2VsOl8uckYoXy51SCgoKT0+RSgpP2EuZGF0YSgpLnJlbmRlcmVyQ29udGV4dDp2b2lkIDAsdm9pZCAwLHZvaWQgMCxbIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKSwuLi4oXy54KCJXZWJGRUFsbFN0dWRpb0J5Q2hhbm5lbF9fZW5hYmxlX2FuYWx5dGljc19odWJfd2ViIik/WyJZVC1MSVNULUlURU0tVklFVy1NT0RFTCJdOltdKV0pKSxjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbENhcmRWaWV3TW9kZWxJbm5lciIse3l0Q2FyZFZpZXdNb2RlbENsaWNrYWJsZTpFfSwoKT0+SGZhKGEuZGF0YSgpLmNhcmRTdHlsZSksCnt5dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWQ6KCk9PiEhYS5pc1NlbGVjdGVkPy4oKX0sKCk9PntpZihhLmlzU2VsZWN0ZWQ/LigpPT09dm9pZCAwKXthOntzd2l0Y2goYS5kYXRhKCkuY2FyZFN0YXRlPy5zZWxlY3Rpb25TdGF0ZSl7Y2FzZSAiQ0FSRF9TRUxFQ1RJT05fU1RBVEVfU0VMRUNURUQiOnZhciBGPSJ5dENhcmRWaWV3TW9kZWxTZWxlY3RlZCI7YnJlYWsgYX1GPXZvaWQgMH1yZXR1cm4gRn19KSxyb2xlOigpPT5FKCkmJiFfLkIoYS5kYXRhKCkudG9wQ29udGVudCxITCk/ImJ1dHRvbiI6dm9pZCAwLCJhcmlhLWRpc2FibGVkIjp6LHRhYmluZGV4OigpPT56KCk/LTE6RSgpJiYhXy5CKGEuZGF0YSgpLnRvcENvbnRlbnQsSEwpPzA6dm9pZCAwfSxfLksoXy5XLHtkYXRhOmYsd3JhcHBlcjpGPT5fLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlciJ9LEYoKSl9LHtjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWw6UWZhLHRoZW1lZEltYWdlVmlld01vZGVsOih7ZGF0YTpGfSk9PgpfLksoSmZhLHtkYXRhOkYsY2xhc3NOYW1lOiJ5dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kIn0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsQ29udGVudFdyYXBwZXIifSxfLksoXy5PLHtBOigpPT4haCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsVG9wQ29udGVudCIse3l0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRQYWRkaW5nOigpPT4hYS5kYXRhKCkuZGlzYWJsZVRvcENvbnRlbnRQYWRkaW5nJiZhLmRhdGEoKS50b3BDb250ZW50fSksc3R5bGU6Xy5JRSh7cGFkZGluZzpifSl9LF8uSyhfLlcse2RhdGE6KCk9PmEuZGF0YSgpLnRvcENvbnRlbnR9LHtjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWw6Xy5uTCxiYXNpY0NvbnRlbnRWaWV3TW9kZWw6Xy5sTCxsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCxsaXN0SXRlbVZpZXdNb2RlbDpfLnBMLApzZWN0aW9uSGVhZGVyVmlld01vZGVsOl8udkR9KSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uIix7eXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb246ayx5dENhcmRWaWV3TW9kZWxJbmxpbmVUcmFpbGluZ0FjdGlvbk1hcmdpbjooKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb259KX0sXy5LKF8uVyx7ZGF0YTooKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb259LHtidXR0b25WaWV3TW9kZWw6Xy5VRn0pKSl9KSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRDYXJkVmlld01vZGVsQm90dG9tQ29udGVudFBhZGRpbmc6KCk9PiFhLmRhdGEoKS5kaXNhYmxlQm9keUNvbnRlbnRQYWRkaW5nJiZhLmRhdGEoKS5ib2R5Q29udGVudH0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLXRvcCI6YywicGFkZGluZy1ib3R0b20iOmQsInBhZGRpbmctbGVmdCI6ZSwicGFkZGluZy1yaWdodCI6ZX0pfSxfLksoXy5XLHtkYXRhOigpPT4KYS5kYXRhKCkuYm9keUNvbnRlbnR9LHtiYXNpY0NvbnRlbnRWaWV3TW9kZWw6Xy5sTCxjaGFubmVsQXR0cmlidXRpb25WaWV3TW9kZWw6VmZhLGNvbnRlbnRJbnNwaXJhdGlvbkNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWw6SWZhLGNvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbDpfLm5MLGRlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbDpfLnZMLGlubGluZUV4cGFuZGVyVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhTZmEse2RhdGE6Rixpc1NlbGVjdGVkOkF9KSxsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCxsaXN0SXRlbVZpZXdNb2RlbDpfLnBMLGxvY2t1cFZpZXdNb2RlbDooe2RhdGE6Rn0pPT5fLksoXy5yTCx7ZGF0YTpGLHdxOiEwfSksLi4uKG0mJnthc2tTdHVkaW9DYXJkVmlld01vZGVsOm19KSwuLi4obiYme2Fza1N0dWRpb1ZpZGVvRWRpdFByZXZpZXdWaWV3TW9kZWw6bn0pLC4uLihyJiZ7YXVkaWVuY2VPbmxpbmVIZWF0bWFwVmlld01vZGVsOnJ9KSwuLi4ocCYmCntjb21tZW50c0RpZ2VzdENvbnRlbnRWaWV3TW9kZWw6cH0pLC4uLihsJiZ7Y29udGVudFNlY3Rpb25WaWV3TW9kZWw6bH0pLC4uLih2JiZ7cHJpbWV0aW1lT2ZmZXJpbmdJblJldmlld0NhcmRDb250ZW50Vmlld01vZGVsOnZ9KSwuLi4odCYme2Z1bm5lbFZpZXdNb2RlbDp0fSl9KSkpLF8uSyhfLk8se0E6KCk9PmgoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxPdmVybGF5VHJhaWxpbmdBY3Rpb24ifSxfLksoXy5XLHtkYXRhOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0se2J1dHRvblZpZXdNb2RlbDpfLlVGfSkpfSksXy5LKF8uTyx7QTp6LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheSIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KX0pKSkpfSwiQWEiKTt2YXIgV2ZhPVsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXSxYZmE9Xy5MKGE9PntmdW5jdGlvbiBiKEgpe2UoKS5pc0Rpc2FibGVkfHwoZj9mKEgudGFyZ2V0LGUoKSxrPy4oKSk6QSghRSgpKSl9ZnVuY3Rpb24gYyhIKXtILmtleT09PSIgIiYmKEgucHJldmVudERlZmF1bHQoKSxILnRhcmdldC5jbGljaygpKX12YXIgZD1fLngoImVuYWJsZV9uYXRpdmVfaW5wdXRfc2VsZWN0YWJsZV9pdGVtIiksZT1hLmRhdGEsZj1hLm9uU2VsZWN0ZWQsaD1hLlNoLGs9YS5ncm91cE5hbWUsbD1hLmNsYXNzTmFtZSxtPWEucm9sZSxuPSJyYWRpbyIrXy5PSCgpLHA9Xy5RSCgoKT0+ZSgpLnZlcnRpY2FsUGFkZGluZ1Rva2VuKSxyPV8uUUgoKCk9PmUoKS5ob3Jpem9udGFsUGFkZGluZ1Rva2VuKSx0PSgpPT5lKCkuY29udGVudCxbdix6XT1fLkooITEsdm9pZCAwLCJVbTdGZ2MiKSxFPXYsQT16LEY9KCk9PiEhZSgpLmlzRGlzYWJsZWQsQz0oKT0+e2lmKGghPT12b2lkIDApe2xldCBIPQpoKCk7cmV0dXJuISghSHx8ZSgpLmtleSE9PUgpfXJldHVybiBFKCl9LEc9KCk9PmghPT12b2lkIDAmJmUoKS5iZWhhdmlvcj09PSJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfRVhQQU5ERURfTk9UX1NFTEVDVEVEIj8hMTpDKCksRD0oKT0+e2lmKGghPT12b2lkIDAmJkMoKSlzd2l0Y2goZSgpLmJlaGF2aW9yKXtjYXNlICJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfU0VMRUNURURfTk9UX0VYUEFOREVEIjpyZXR1cm4hMTtjYXNlICJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfRVhQQU5ERURfTk9UX1NFTEVDVEVEIjpyZXR1cm4hMH19O3JldHVybiBkP18uSygieXQtc2VsZWN0YWJsZS1pdGVtLXZpZXctbW9kZWwiLHtzdHlsZTpfLklFKHsicGFkZGluZy10b3AiOnAsInBhZGRpbmctYm90dG9tIjpwLCJwYWRkaW5nLWxlZnQiOnIsInBhZGRpbmctcmlnaHQiOnJ9KSxjbGFzczpfLlAoInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxIb3N0IixsLCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsQ29udGFpbmVyIiwKInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVDb250YWluZXIiLHt5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsRGlzYWJsZWQ6Rn0pLCJwcm9wOmNoZWNrZWQiOkd9LF8uSygiaW5wdXQiLHtpZDpuLHR5cGU6InJhZGlvIixuYW1lOmEuZ3JvdXBOYW1lLCJwcm9wOmNoZWNrZWQiOkcsZGlzYWJsZWQ6Riwib246Y2xpY2siOmIsIm9uOmtleWRvd24iOmMsY2xhc3M6Inl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVSYWRpb0J1dHRvbiJ9KSxfLksoImxhYmVsIix7Zm9yOm4sY2xhc3M6Inl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbCIsIm9uOmtleWRvd24iOmN9LF8uSyhfLlcse2RhdGE6dH0se2NhcmRWaWV3TW9kZWw6KHtkYXRhOkh9KT0+Xy5LKFBMLHtkYXRhOkgsaXNTZWxlY3RlZDpHLGlzRXhwYW5kZWQ6RH0pfSkpKTpfLksoInl0LXNlbGVjdGFibGUtaXRlbS12aWV3LW1vZGVsIix7c3R5bGU6Xy5JRSh7InBhZGRpbmctdG9wIjpwLCJwYWRkaW5nLWJvdHRvbSI6cCwKInBhZGRpbmctbGVmdCI6ciwicGFkZGluZy1yaWdodCI6cn0pLCJhcmlhLWNoZWNrZWQiOkcsY2xhc3M6Xy5QKCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsSG9zdCIsbCwieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lciIse3l0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxEaXNhYmxlZDpGfSksIm9uOmNsaWNrIjpmdW5jdGlvbihIKXtpZighZSgpLmlzRGlzYWJsZWQpe3ZhciBSPUguY3VycmVudFRhcmdldDtpZihfLngoIndlYl9zZWxlY3RhYmxlX2l0ZW1fY2hpbGRfdGFwX2tpbGxfc3dpdGNoIikpUj0hMTtlbHNle3ZhciBNPV8ucUgoSCk7Uj1fLnJIKE0sUixXZmEpfVJ8fChmP2YoSC5jdXJyZW50VGFyZ2V0LGUoKSxrPy4oKSk6QSghRSgpKSl9fSwicHJvcDpjaGVja2VkIjpHLHJvbGU6bSwiYXJpYS1kaXNhYmxlZCI6Rix0YWJpbmRleDowfSxfLksoXy5XLHtkYXRhOnR9LHtjYXJkVmlld01vZGVsOih7ZGF0YTpIfSk9Pl8uSyhQTCx7ZGF0YTpILGlzU2VsZWN0ZWQ6RywKaXNFeHBhbmRlZDpEfSl9KSl9LCJCYSIpO18uRUw9Xy5MKGE9PntmdW5jdGlvbiBiKHosRSxBKXt2YXIgRj1jKCkuZm9ybUZpZWxkTWV0YWRhdGEmJm0oKSE9PXZvaWQgMD8zOmQoKT8yOjE7Rj09PTEmJkUua2V5IT1udWxsJiZ0KEUua2V5KTtGPT09MyYmRS5rZXkhPW51bGwmJm0oKT8udXBkYXRlVmFsdWUoRS5rZXkpO2U/Lih6LEUsQSl9dmFyIHtkYXRhOmMsV2I6ZCxvblNlbGVjdGVkOmUsU2g6Zixncm91cE5hbWU6aCxjbGFzc05hbWU6ayxuYTpsfT1fLkRDKGEse1diOiEwfSksbT1fLlpJKCgpPT5jKCkuZm9ybUZpZWxkTWV0YWRhdGEpLG49KCk9Pmg/LigpfHxjKCkua2V5LFtwLHJdPV8uQUMoKCk9PmMoKS5kZWZhdWx0U2VsZWN0ZWRLZXkpLHQ9cix2PSgpPT4oYygpLmZvcm1GaWVsZE1ldGFkYXRhJiZtKCkhPT12b2lkIDA/MzpkKCk/MjoxKT09PTM/bSgpPy52YWx1ZTpkKCk/Zj8uKCk6cCgpO3JldHVybiBfLksoInl0LXJhZGlvLWJ1dHRvbi1ncm91cC12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0IiwKayl9LF8uSygiZmllbGRzZXQiLHtjbGFzczoieXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRmllbGRzZXQiLHJvbGU6InJhZGlvZ3JvdXAiLCJhcmlhLWludmFsaWQiOigpPT4hIW0oKT8uZXJyb3JzPy5bMF0sImFyaWEtZGVzY3JpYmVkYnkiOigpPT5tKCk/LmVycm9ycz8uWzBdP2BlcnJvci0ke2MoKS5rZXl9YDp2b2lkIDB9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5yYWRpb0J1dHRvbnN9LHtyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWw6KHtkYXRhOnp9KT0+Xy5LKFJmYSx7ZGF0YTp6LG9uU2VsZWN0ZWQ6YixTaDp2LGdyb3VwTmFtZTpuLG5hOmx9KSxzZWxlY3RhYmxlSXRlbVZpZXdNb2RlbDooe2RhdGE6en0pPT5fLksoWGZhLHtkYXRhOnosb25TZWxlY3RlZDpiLFNoOnYsZ3JvdXBOYW1lOm4scm9sZToicmFkaW8ifSl9KSksXy5LKF8uTyx7QTooKT0+bSgpPy5lcnJvcnM/LlswXSx0aGVuOno9Pl8uSygiZGl2Iix7aWQ6KCk9PmBlcnJvci0ke2MoKS5rZXl9YCxjbGFzczoieXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRXJyb3IifSwKKCk9PnooKS5tZXNzYWdlKX0pKX0sIkNhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImQyTFR4YiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFFPV8uTCgoe25hbWU6YSxvbkNoYW5nZTpiLG9uQ2xpY2s6YyxjaGVja2VkOmQsWWU6ZSxoazpmLFlpOmgscWo6ayxuYTpsLFZjOm0sYXJpYUxhYmVsOm4sY2xhc3NOYW1lOnAsZGlzYWJsZWQ6cixob3Jpem9udGFsUGFkZGluZzp0LHZlcnRpY2FsUGFkZGluZzp2fSk9Pnt2YXIgej0icmFkaW8iK18uT0goKSxFPV8udUUoImlucHV0IiksQT1fLngoImVuYWJsZV9pb3Nfd2Vidmlld19yYWRpb19idXR0b25fcmVzcG9uc2l2ZW5lc3MiKSxbRixDXT1fLkooITEsdm9pZCAwLCJmTHJYNmQiKTtyZXR1cm4gXy5LKCJyYWRpby1zaGFwZSIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlSG9zdCIscCl9LF8uSygiaW5wdXQiLHtlbDpFLGNsYXNzOl8uUCgieXRSYWRpb1NoYXBlSW5wdXQiLHt5dFJhZGlvU2hhcGVUYXBwYWJsZTooKT0+KCEhYnx8ISFjKSYmIXI/LigpfSksaWQ6eiwicHJvcDpjaGVja2VkIjpkLG5hbWU6YSx0eXBlOiJyYWRpbyIsZGlzYWJsZWQ6ciwib246Y2hhbmdlIjpmdW5jdGlvbihHKXtFLnZhbHVlLmNoZWNrZWQ9CiEhZD8uKCk7Yj8uKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjbGljayI6ZnVuY3Rpb24oRyl7Yz8uKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJhcmlhLWxhYmVsIjpuLCJvbjpmb2N1c2luIjpmdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk/LlhlKCkmJkMoITApfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKCl7QyghMSl9fSksXy5LKCJsYWJlbCIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlTGFiZWxDb250YWluZXIiLGsse3l0UmFkaW9TaGFwZUNvbXBhY3Q6bCx5dFJhZGlvU2hhcGVLZXlib2FyZEZvY3VzZWQ6Rix5dFJhZGlvU2hhcGVUYXBwYWJsZTooKT0+KCEhYnx8ISFjKSYmIXI/LigpLHl0UmFkaW9TaGFwZURpc2FibGVkOnJ9KSxmb3I6en0sXy5LKF8uTyx7QTooKT0+IWg/LigpLHRoZW46KCk9Pl8uSyhTSCx7Y2hlY2tlZDpkLGhrOmYsZ2c6ITAsVmM6bSxEczpBfSl9KSxfLksoXy5PLHtBOigpPT4hIWUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UmFkaW9TaGFwZUxhYmVsIiwKe3l0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2g6QX0pLCJhcmlhLWhpZGRlbiI6KCk9PiEhbj8uKCksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6dCwicGFkZGluZy1yaWdodCI6dCwicGFkZGluZy10b3AiOnYsInBhZGRpbmctYm90dG9tIjp2fSl9LGU/LigpKX0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoU0gse2NoZWNrZWQ6ZCxoazpmLGdnOiExLFZjOm0sRHM6QX0pfSkpKX0sInciKTtfLkFFLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DaGFuZ2U6ITAsb25DbGljazohMCxZZTohMH19Owp2YXIgU0g9Xy5MKCh7aGs6YSxWYzpiLERzOmN9KT0+e3ZhciBkPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJDSVJDTEVfRlVMTCI6IkNJUkNMRSI7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVSYWRpbyIsYix7eXRSYWRpb1NoYXBlQ2hlY2tJY29uOmEseXRSYWRpb1NoYXBlUmFkaW9EZWZhdWx0U3R5bGU6KCk9PiFiPy4oKSx5dFJhZGlvU2hhcGVFdmVudFBhc3N0aHJvdWdoOmN9KSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uTUQse2ljb246KCk9PmE/LigpPyJDSEVDSyI6IkNJUkNMRSJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YT8uKCk/IkNIRUNLIjpkLGFjdGl2ZTooKT0+IWE/LigpfSkpfSwieCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJ6Q2tLQmMiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5WRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImFjRnVWYyIpO3JldHVybiBfLkdEfTtfLldGPV8uY0QoKCk9Pl8uVkYoKSwiY29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsIiwiYWNGdVZjIixfLlZGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLllGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiZjkwdENiIik7cmV0dXJuIF8uRkR9O18uWkY9Xy5jRCgoKT0+Xy5ZRigpLCJ0b2dnbGVCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidG9nZ2xlQnV0dG9uVmlld01vZGVsIiwiZjkwdENiIixfLllGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmJHPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiTFZpTU0iKTtyZXR1cm4gXy5ERH07Xy5jRz1fLmNEKCgpPT5fLmJHKCksInN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWwiLCJMVmlNTSIsXy5iRyl9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGRHO18uZUc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy55KCkucmVzb2x2ZShfLkluKGRHKSksW2MsZF09Xy5KKGIsdm9pZCAwLCJIZkRkSyIpO2J8fF8uWXQoZEcsZCk7cmV0dXJuIF8uTigoKT0+e3ZhciBlPWEoKTtyZXR1cm4gZT9jKCk/LihlKTp2b2lkIDB9LHZvaWQgMCwidjcwRTdiIil9O2RHPW5ldyBfLlZzKCJTRU1BTlRJQ19DT0xPUl9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmlIPW5ldyBfLlZzKCJIT1JJWk9OVEFMX0JBUl9WSUVXX01PREVMX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTEg9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBfLnkoKS5yZXNvbHZlKF8uSkgpO3JldHVybiBfLnkoKS5yZXNvbHZlKF8uS0gpKCl9O18uTUg9ZnVuY3Rpb24oKXtyZXR1cm4gXy55KCkucmVzb2x2ZShfLktIKSgpfTtuZXcgXy5jcztfLkpIPW5ldyBfLlZzKCJXQVRDSF9QTEFZRVJfUFJPTUlTRV9UT0tFTiIpO25ldyBfLmNzO18uS0g9bmV3IF8uVnMoIkdFVF9TSE9SVFNfUExBWUVSX0ZVTkNUSU9OX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVUg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPU9iamVjdC5rZXlzKGIpO18ubkUoKCk9PntpZihhPy4oKSl7Zm9yKGxldCBlIG9mIGQpYy5hZGRFdmVudExpc3RlbmVyKGUsYltlXSk7Xy5ZdSgoKT0+e2ZvcihsZXQgZSBvZiBkKWMucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGJbZV0pfSl9fSwiYlhaR2ZlIil9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGRJLFBkYSxmSSxRZGEsaUksU2RhO2RJPWZ1bmN0aW9uKGEpe2lmKGEpc3dpdGNoKGEpe2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1hTTUFMTCI6cmV0dXJuIDE2O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1NNQUxMIjpyZXR1cm4gMTg7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfU1RBTkRBUkQiOnJldHVybiAyNDtjYXNlICJMSVNUX0lURU1fSUNPTl9BQ0NFU1NPUllfU0laRV9MQVJHRSI6cmV0dXJuIDM2O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1hMQVJHRSI6cmV0dXJuIDQ4O2RlZmF1bHQ6cmV0dXJuIDI0fX07ClBkYT1mdW5jdGlvbihhLGIpe2lmKCFhPy5lbnRpdHlTZWxlY3RvclR5cGV8fCFhPy5lbnRpdHlLZXkpcmV0dXJue307c3dpdGNoKGEuZW50aXR5U2VsZWN0b3JUeXBlKXtjYXNlICJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DQVBUSU9OX0xBTkdVQUdFX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT1fLk1IKCk/LmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpLGI9dHlwZW9mIGE/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U9PT0ib2JqZWN0IiYmYS50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fGE/LmRpc3BsYXlOYW1lfHwiIix7ZGF0YTp7Li4uKCEhYiYme3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yn19KSwuLi4oISFiJiZ7bGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZToiQ0xPU0VEX0NBUFRJT05fU0VMRUNURUQifX1dfX0pLGlzRGlzYWJsZWQ6dHlwZW9mIGE9PT0idW5kZWZpbmVkIn19O2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0FVRElPX1RSQUNLX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT0KXy5NSCgpPy5nZXRBdWRpb1RyYWNrKCl8fHZvaWQgMCxiPWE/LmdldExhbmd1YWdlSW5mbygpPy5nZXROYW1lKCkse2RhdGE6e3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yn0sLi4uKGImJiFhPy5nZXRMYW5ndWFnZUluZm8oKT8uZ2V0SXNEZWZhdWx0KCkmJntsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJQRVJTT05fUkFEQVJfRklMTEVEIn19XX19KX19O2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1BMQVlCQUNLX1NQRUVEX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT1fLngoIndlYl9zaG9ydHNfcGxheWJhY2tfcmF0ZV9waWNrZXIiKSxfLmVJWyJjb3VudGVyZmFjdHVhbHMud2ViX3Nob3J0c19wbGF5YmFja19yYXRlX3BpY2tlciJdPVN0cmluZyhhKSxhPyhhPV8uTUgoKT8uZ2V0UGxheWJhY2tSYXRlKCksYj1fLk1IKCk/LmdldEF2YWlsYWJsZVBsYXliYWNrUmF0ZXMoKSxhPXtkYXRhOntzZWxlY3Rpb25UZXh0Ontjb250ZW50OmE9PT0KMT9fLmFBKCJQTEFZRVJfU1BFRURfTk9STUFMIix2b2lkIDAsIk5vcm1hbCIpOl8uYUEoIlBMQVlCQUNLX1NQRUVEX1giLHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyOmAke2E/LnRvRml4ZWQoMil9YH0pfSxpc0Rpc2FibGVkOiFiPy5sZW5ndGh9fSk6YT17fSxhO2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1JFTU9WRV9BRFNfQURfU1RBVEUiOnJldHVybiBhPWE/LmVudGl0eUtleT8oYT1fLkhIKGIsYS5lbnRpdHlLZXkpKT97aXNIaWRkZW46YT8uYWRzU3RhdGUhPT0iQURTX1NUQVRFX1BMQVlJTkcifTp7aXNIaWRkZW46ITB9Ont9LGE7ZGVmYXVsdDpyZXR1cm57fX19O2ZJPWZ1bmN0aW9uKGEpe2lmKGEmJihhPWEuc3BsaXQoIjoiKSxhLmxlbmd0aD4xKSlyZXR1cm4gYVswXS5sZW5ndGg+MD9hWzBdOnZvaWQgMH07UWRhPWZ1bmN0aW9uKGEpe2lmKGEmJiFnSS5oYXMoYSkpe3ZhciBiPWZJKGEpO2ImJmdJLnNldChhLGIpfX07CmlJPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17Li4uaEkoKX07aWYoYiYmYz09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIil7bGV0IGU9ZkkoYSk7ZSYmZ0kuZm9yRWFjaCgoZixoKT0+e2Y9PT1lJiZoIT09YSYmKGRbaF09ITEpfSl9ZFthXT1iO1JkYShkKX07U2RhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2lmKCFjPy4oKSl7dmFyIGU9Zj0+e18uckgoXy5xSChmKSxkLGIpfHxhKGYpfTtkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlKTtyZXR1cm4oKT0+e2QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGUpfX19fTtfLmVJPXt9O18uakk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJtbTJOMGMiKTtyZXR1cm4gXy56RX07Xy5rST1fLmNEKCgpPT5fLmpJKCksInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzd2l0Y2hCdXR0b25WaWV3TW9kZWwiLCJtbTJOMGMiLF8uakkpfSk7dmFyIG1JO18ubEk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJoYjBXbWYiKTtyZXR1cm4gXy5YRn07bUk9Xy5jRCgoKT0+Xy5sSSgpLCJhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbCIsImhiMFdtZiIsXy5sSSl9KTt2YXIgVGRhO18ubkk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJoTmVsdmQiKTtyZXR1cm4gXy5hSX07VGRhPV8uY0QoKCk9Pl8ubkkoKSwibGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWwiLCJoTmVsdmQiLF8ubkkpfSk7dmFyIFVkYTtfLm9JPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicjVDT0hmIik7cmV0dXJuIF8uJEh9O1VkYT1fLmNEKCgpPT5fLm9JKCksImxpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsIiwicjVDT0hmIixfLm9JKX0pO3ZhciBwST1fLkwoKHtkYXRhOmEsZ2c6YixjZTpjLGlzVG9nZ2xlZDpkLERnOmUsbmE6Zn0pPT57dmFyIGg9KCk9PmIoKT9hKCkubGVhZGluZ0ltYWdlOmEoKS50cmFpbGluZ0ltYWdlPz9fLlFGKGEoKS50aGVtZWRUcmFpbGluZ0ltYWdlKSxrPSgpPT57YTp7dmFyIHI9YSgpLmxpc3RJdGVtSWNvbkFmdGVyU2VsZWN0aW9uVGV4dDtpZighYz8uKCkpc3dpdGNoKHIpe2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX0VYUEFORF9NT1JFIjpyPSJleHBhbmRfbW9yZSI7YnJlYWsgYTtjYXNlICJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9OT05FIjpicmVhaztkZWZhdWx0OnI9ImNoZXZyb25fcmlnaHQiO2JyZWFrIGF9cj12b2lkIDB9cmV0dXJuIHJ9LGw9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSW1hZ2VDb250YWluZXIiLHt5dExpc3RJdGVtVmlld01vZGVsTGVhZGluZzpiLHl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzooKT0+IWIoKX0pLAptPV8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSIsInl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZSIpLG49Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5Iix7eXRMaXN0SXRlbVZpZXdNb2RlbExlYWRpbmc6Yix5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmc6KCk9PiFiKCl9KSxwPV8uZUcoKCk9PmIoKT9hKCkubGVhZGluZ0ljb25Db2xvclRva2VuOmEoKS50cmFpbGluZ0ljb25Db2xvclRva2VuKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+e3ZhciByPWEoKSx0PWIoKTtyZXR1cm4hISh0JiYoci5sZWFkaW5nSW1hZ2V8fHIubGVhZGluZ0FjY2Vzc29yeSl8fCF0JiYoci50cmFpbGluZ0ltYWdlfHxyLnRyYWlsaW5nQnV0dG9ufHxyLnRyYWlsaW5nQnV0dG9uc3x8ci50cmFpbGluZ0FjY2Vzc29yaWVzTGlzdHx8ci5zZWxlY3Rpb25UZXh0fHxyLnRoZW1lZFRyYWlsaW5nSW1hZ2V8fHIudHJhaWxpbmdJbWFnZUFjY2Vzc29yeVR5cGU9PT0iTElTVF9JVEVNX0lNQUdFX0FDQ0VTU09SWV9UWVBFX05FV19DT05URU5UX0lORElDQVRPUiJ8fApyLnRyYWlsaW5nTGFiZWwpKX0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOmgsdGhlbjpyPT5fLksoImRpdiIse2NsYXNzOmwsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLmpGLHtkYXRhOnIsYWx0OiIiLFRhOiEwLFlhOiEwLEFiOigpPT57dmFyIHQ9KGIoKT9hKCkubGVhZGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfSUNPTiI6YSgpLnRyYWlsaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9JQ09OIik/YigpP2RJKGEoKS5sZWFkaW5nSWNvbkFjY2Vzc29yeVNpemUpOmRJKGEoKS50cmFpbGluZ0ljb25BY2Nlc3NvcnlTaXplKTp2b2lkIDA7cmV0dXJuIHR9LGNsYXNzTmFtZTptLGlzVG9nZ2xlZDooKT0+IWU/LigpJiZkPy4oKSxzdHlsZTpfLklFKHtjb2xvcjpwfSl9KSl9KSxfLksoXy5PLHtBOigpPT5iKCkmJmEoKS5sZWFkaW5nQWNjZXNzb3J5LHRoZW46KCk9PgpfLksoImRpdiIse2NsYXNzOmx9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5sZWFkaW5nQWNjZXNzb3J5fSx7YXZhdGFyVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlNGLHtkYXRhOnIsZ2Q6bSxNazooKT0+Zj8uKCk/e3NpemU6ImV4dHJhLXNtYWxsIn06e3NpemU6Im1lZGl1bSJ9fSksY29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5XRix7ZGF0YTpyLG1heEhlaWdodDozNix3aWR0aDo1NixjZzohMH0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQnV0dG9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5hKCkudHJhaWxpbmdCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQnV0dG9ucz8uYnV0dG9ucywKdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50cmFpbGluZ0J1dHRvbnM/LmJ1dHRvbnN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pLGFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhtSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmtJLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uY0cse2RhdGE6cixpc092ZXJsYXk6ITEsUWQ6ITEsY2xhc3NOYW1lOm59KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uWkYse2RhdGE6cixjbGFzc05hbWU6bn0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0Py50cmFpbGluZ0FjY2Vzc29yaWVzLAp0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0Py50cmFpbGluZ0FjY2Vzc29yaWVzfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlVGLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksobUkse2RhdGE6cixjbGFzc05hbWU6bn0pLHN3aXRjaEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5rSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3Vic2NyaWJlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmNHLHtkYXRhOnIsaXNPdmVybGF5OiExLFFkOiExLGNsYXNzTmFtZTpufSksdG9nZ2xlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlpGLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxiYWRnZVZpZXdNb2RlbDooe2RhdGE6cn0pPT4KXy5LKF8uYUcse2RhdGE6cixjbGFzczpufSksbGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKFRkYSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksbGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKFVkYSx7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiYhIWEoKS5zZWxlY3Rpb25UZXh0LHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uVix7dGV4dDooKT0+YSgpLnNlbGVjdGlvblRleHQsY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbFNlbGVjdGlvblRleHQiLCJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0Iil9KSxfLksoXy5PLHtBOmssdGhlbjpyPT5fLksoXy5NRCx7aWNvbjpyLGNsYXNzTmFtZToieXRMaXN0SXRlbVZpZXdNb2RlbENoZXZyb25JY29uIixhcmlhSGlkZGVuOiEwLHN0eWxlOl8uSUUoe2NvbG9yOnB9KX0pfSkpfSksXy5LKF8uTyx7QTooKT0+CiFiKCkmJmEoKS50cmFpbGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfTkVXX0NPTlRFTlRfSU5ESUNBVE9SIix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmx9LF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxOZXdDb250ZW50SW5kaWNhdG9yIn0pKX0pLF8uSyhfLk8se0E6KCk9PiFiKCkmJmEoKS50cmFpbGluZ0xhYmVsLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmEoKS50cmFpbGluZ0xhYmVsLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsIiwieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIil9KX0pKX0pfSwieiIpO3ZhciBWZGE9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5pSCkpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQm90dG9tQWNjZXNzb3J5In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJvdHRvbUFjY2Vzc29yeX0sey4uLihiJiZ7aG9yaXpvbnRhbEJhclZpZXdNb2RlbDpifSl9KSl9LCJBIik7dmFyIHFJPV8uTChhPT57dmFyIGI9YS5kYXRhLGM9YS5jbGFzc05hbWUsZD1fLmVHKCgpPT5iKCkuaXNEaXNhYmxlZCYmYigpLmxhYmVsRGlzYWJsZWRDb2xvclRva2VuP2IoKS5sYWJlbERpc2FibGVkQ29sb3JUb2tlbjpiKCkubGFiZWxUZXh0Q29sb3JUb2tlbiksZT1fLmVHKCgpPT5iKCkuc3VwZXJMYWJlbENvbG9yVG9rZW4pO3JldHVybiBfLksoXy5PLHtBOigpPT5iKCkuc3VwZXJsYWJlbHx8YigpLnRpdGxlfHxiKCkuc3VidGl0bGV8fGIoKS5zdWJ0aXRsZUJhZGdlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uTyx7QTooKT0+YigpLnN1cGVybGFiZWwsdGhlbjpmPT5fLksoXy5WLHt0ZXh0OmYsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsU3VwZXJsYWJlbCIsc3R5bGU6Xy5JRSh7Y29sb3I6ZX0pfSl9KSxfLksoXy5PLHtBOigpPT5iKCkudGl0bGUsdGhlbjpmPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVyIn0sCl8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsVGl0bGUiLHt5dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxlOigpPT5iKCkudGl0bGVNYXhMaW5lcz09PTF9KSxzdHlsZTpfLklFKHtjb2xvcjpkfSl9KSl9KSxfLksoXy5PLHtBOigpPT5iKCkuc3VidGl0bGVCYWRnZXx8YigpLnN1YnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlciJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKS5zdWJ0aXRsZUJhZGdlfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmZ9KT0+Xy5LKF8uYUcse2RhdGE6Zn0pfSkpLF8uSyhXZGEse2RhdGE6Yix5dzooKT0+ISFiKCkuc3VidGl0bGVCYWRnZX0pKX0pKX0pfSwiQiIpLFdkYT1fLkwoYT0+e3ZhciBiPV8uZUcoKCk9PmEuZGF0YSgpLnN1YkxhYmVsQ29sb3JUb2tlbik7CnJldHVybiBfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5zdWJ0aXRsZSx0aGVuOmM9Pl8uSyhfLlYse3RleHQ6YyxjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsU3VidGl0bGUiLHt5dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdlOmEueXd9KSxzdHlsZTpfLklFKHtjb2xvcjpifSl9KX0pfSwiQyIpO3ZhciBYZGE9Xy5MKCh7ZGF0YTphLGNlOmIsZnU6Yyxpc1RvZ2dsZWQ6ZCxkaXNhYmxlZDplLFh4OmYsbmE6aCxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpsLGhvcml6b250YWxQYWRkaW5nOm0sWXg6bix1QjpwLG9uVGFwOnIsYXJpYUxhYmVsOnQsRGc6dn0pPT57dmFyIHo9KCk9PiEhYSgpLmlzRGlzYWJsZWR8fCEhZT8uKCksRT1fLmVHKCgpPT5hKCkudHJhaWxpbmdJY29uQ29sb3JUb2tlbik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlciIse3l0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXI6KCk9PiFmPy4oKSx5dExpc3RJdGVtVmlld01vZGVsRGlzYWJsZWQ6eix5dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGU6KCk9PiEhYSgpLnN1YnRpdGxlLHl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0OmgseXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlOm4seXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHk6Xy54KCJ3ZWJfZW5hYmxlX2xpc3RfaXRlbV9hY3Rpb25fdHlwb2dyYXBoeSIpLAp5dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cDprLHl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6KCk9Pmw/LigpJiYhZj8uKCkseXRMaXN0SXRlbVZpZXdNb2RlbE5vVHJhaWxpbmdUZXh0OigpPT4hYSgpLnNlbGVjdGlvblRleHQmJiFhKCkudHJhaWxpbmdMYWJlbH0sKCk9PnthOntzd2l0Y2goYSgpLmxheW91dFByaW9yaXR5KXtjYXNlICJMSVNUX0lURU1fTEFZT1VUX1BSSU9SSVRZX1RSQUlMSU5HIjp2YXIgQT0ieXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyI7YnJlYWsgYX1BPXZvaWQgMH1yZXR1cm4gQX0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLWxlZnQiOm0sInBhZGRpbmctcmlnaHQiOm19KX0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXIifSxfLksocEkse2RhdGE6YSxnZzohMCxjZTpiLGlzVG9nZ2xlZDpkLERnOnYsbmE6aH0pLF8uSyhfLk8se0E6cCx0aGVuOigpPT5fLksoXy5WQywKe2NvbW1hbmQ6KCk9Pl8uc0goYSgpLnJlbmRlcmVyQ29udGV4dCksb25DbGljazpyLGRpc2FibGVkOnosY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yIiwieXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyIiksdG9nZ2xlYWJsZTpkIT09dm9pZCAwLHRvZ2dsZWQ6ZCxhcmlhTGFiZWw6dH0sXy5LKHFJLHtkYXRhOmF9KSksVzooKT0+Xy5LKHFJLHtkYXRhOmEsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXIifSl9KSxfLksoXy5PLHtBOigpPT4hIWMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIixzdHlsZTpfLklFKHtjb2xvcjpFfSl9LGMmJl8uSyhjLG51bGwpKSxXOigpPT5fLksocEkse2RhdGE6YSxnZzohMSxjZTpiLGlzVG9nZ2xlZDpkLERnOnYsbmE6aH0pfSkpLF8uSyhfLk8se0E6KCk9PmEoKS5ib3R0b21BY2Nlc3NvcnksdGhlbjooKT0+Xy5LKFZkYSx7ZGF0YTphfSl9KSl9LAoiRCIpO3ZhciBbaEksUmRhXT1fLkooe30sdm9pZCAwLCJwZHJhRiIpLGdJPW5ldyBNYXA7dmFyIHNJPV8uTChhPT57dmFyIHtuYW1lOmIsb25DaGFuZ2U6YyxvbkNsaWNrOmQsY2hlY2tlZDplLFllOmYsWWk6aCxxajprLG5hOmwsVmM6bSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bixob3Jpem9udGFsUGFkZGluZzpwLGRpc2FibGVkOnIsYXJpYUxhYmVsOnR9PV8uREMoYSx7Y2hlY2tlZDohMSxkaXNhYmxlZDohMX0pO2E9ImNoZWNrYm94IitfLk9IKCk7cmV0dXJuIF8uSygiY2hlY2tib3gtc2hhcGUiLG51bGwsXy5LKCJsYWJlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveFNoYXBlSG9zdCIsayx7eXRDaGVja2JveFNoYXBlSG9zdENvbXBhY3Q6bCx5dENoZWNrYm94U2hhcGVEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bn0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLWxlZnQiOnAsInBhZGRpbmctcmlnaHQiOnB9KX0sXy5LKCJpbnB1dCIse2NsYXNzOiJ5dENoZWNrYm94U2hhcGVJbnB1dCIsaWQ6YSxjaGVja2VkOmUsbmFtZTpiLHR5cGU6ImNoZWNrYm94IixkaXNhYmxlZDpyLAoiYXJpYS1sYWJlbCI6dCwicHJvcDpjaGVja2VkIjplLCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKHYpe2M/Lih2KTt2LnN0b3BQcm9wYWdhdGlvbigpfSwib246Y2xpY2siOmZ1bmN0aW9uKHYpe2Q/Lih2KTt2LnN0b3BQcm9wYWdhdGlvbigpfX0pLF8uSyhfLk8se0E6KCk9PiFoPy4oKSx0aGVuOigpPT5fLksockkse2dnOiEwLFZjOm19KX0pLF8uSyhfLk8se0E6KCk9PiEhZix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENoZWNrYm94U2hhcGVMYWJlbCJ9LGY/LigpKX0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksockkse2dnOiExLFZjOm19KX0pKSl9LCJFIik7c0kuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNoYW5nZTohMCxvbkNsaWNrOiEwLFllOiEwfX07CnZhciByST1fLkwoKHtWYzphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94U2hhcGVDaGVja2JveCIsYSx7eXRDaGVja2JveFNoYXBlQ2hlY2tib3hEZWZhdWx0U3R5bGU6KCk9PiFhPy4oKX0pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5NRCx7aWNvbjpfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8ic3F1YXJlIjoiQk9YX0VNUFRZIn0pLF8uSyhfLk1ELHtpY29uOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJjaGVja19zcXVhcmUiOiJCT1hfQ0hFQ0siLGFjdGl2ZTohMH0pKSwiRiIpO3ZhciB0ST1fLkwoKHtkYXRhOmEsSWE6YixuYTpjLG9uVGFwOmQseHM6ZSxjZTpmLGRpc2FibGVkOmgsQmM6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bCxpc092ZXJsYXk6bSxpc1RvZ2dsZWQ6bixhcmlhTGFiZWw6cCxhcmlhUHJlc3NlZDpyLERnOnQsYnA6dn0pPT57ZnVuY3Rpb24geihiYSl7YmEuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGFhPWEoKS5lbnRpdHlLZXksT2E9RygpLmlzU2VsZWN0ZWQ7aWYoYWEmJk0oKSl7aWYoRygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iJiZPYSlyZXR1cm47aUkoYWEsIU9hLEcoKS5zZWxlY3Rpb25TdHlsZSl9ZD9kKGJhKTooYWE9Xy5zSChHKCkucmVuZGVyZXJDb250ZXh0KSxPYT1fLnkoKS5yZXNvbHZlKF8uVUQpLGFhJiZPYSYmT2EucmVzb2x2ZUNvbW1hbmQoYWEsYmEudGFyZ2V0P3tmb3JtOntlbGVtZW50OmJhLnRhcmdldCxzb3VyY2VEYXRhOmFhfX06dm9pZCAwKSl9dmFyIEU9IV8ueCgid2ViX2VuYWJsZV9raWxsc3dpdGNoX2Zvcl9zZWxlY3RhYmxlX2xpc3RfaXRlbV9vbl90YXBfZml4IiksCkE9IV8ueCgid2ViX2VuYWJsZV9raWxsc3dpdGNoX2Zvcl9za2lwX2NoaWxkX3RhZ3MiKSxGPV8uUUgoKCk9PmEoKS5ob3Jpem9udGFsUGFkZGluZ1Rva2VuKSxDPSgpPT5sPy4oKXx8YSgpLmRpc2FibGVIb3Jpem9udGFsUGFkZGluZyxHPV8uTigoKT0+e3ZhciBiYT1hKCksYWE9digpLE9hPWEoKT8uZW50aXR5U2VsZWN0b3JUeXBlP3suLi5iYSwuLi5hYS5kYXRhfTpiYTtPYS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIiYmUWRhKE9hLmVudGl0eUtleSk7dmFyIEpiPU9hLmVudGl0eUtleTtiYT1KYj9oSSgpW0piXTp2b2lkIDA7YWE9ISFPYS5pc1NlbGVjdGVkO3ZhciB6YT1iYSE9PXZvaWQgMD9iYTphYTtKYiYmT2Euc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyImJmFhJiZiYT09PXZvaWQgMCYmcXVldWVNaWNyb3Rhc2soKCk9PntpSShKYiwhMCxPYS5zZWxlY3Rpb25TdHlsZSl9KTtyZXR1cm57Li4uT2EsCmlzU2VsZWN0ZWQ6emF9fSx2b2lkIDAsInZSa255IiksRD0oKT0+ISFHKCkuaXNEaXNhYmxlZHx8ISFoPy4oKSxIPV8uVEgoKCk9PkcoKS5yZW5kZXJlckNvbnRleHQpLFI9KCk9PnA/LigpfHxIKCk/LmxhYmVsLE09KCk9PiEoIUcoKS5zZWxlY3Rpb25TdHlsZXx8RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfVU5TUEVDSUZJRUQiKSxTPSgpPT4oXy50SChHKCkucmVuZGVyZXJDb250ZXh0KXx8ZCkmJiFNKCksWT0oKT0+Xy50SChHKCkucmVuZGVyZXJDb250ZXh0KXx8ISFkfHxNKCkscGE9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQ29udGFpbmVyIix7eXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlOlkseXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHk6Xy54KCJ3ZWJfZW5hYmxlX2xpc3RfaXRlbV9hY3Rpb25fdHlwb2dyYXBoeSIpLHl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0OmMseXRMaXN0SXRlbVZpZXdNb2RlbEluUG9wdXA6aywKeXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+Qz8uKCkmJk0oKX0pLG9hPV8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVyIiwoKT0+RygpLmxlYWRpbmdJbWFnZXx8RygpLmxlYWRpbmdBY2Nlc3Nvcnk/Inl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZyI6Inl0TGlzdEl0ZW1WaWV3TW9kZWxMZWFkaW5nIiksW1UsaGFdPV8uSighMSx2b2lkIDAsImN1WTRtZiIpLG1hPSgpPT57dmFyIGJhO2lmKGJhPV8ueCgid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIikmJlM/LigpKWJhPWEoKSxiYT0hKGJhLnRyYWlsaW5nTGFiZWx8fGJhLnNlbGVjdGlvblRleHQpO3JldHVybiBiYX0sdGE9KCk9Pl8uSyhYZGEse2RhdGE6RyxjZTpmLGZ1OmUsaXNUb2dnbGVkOm4sZGlzYWJsZWQ6aCxYeDpNLG5hOmMsQmM6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Qyxob3Jpem9udGFsUGFkZGluZzpGLFl4OlMsdUI6bWEsb25UYXA6ZCxhcmlhTGFiZWw6UiwKRGc6dH0pLFQ9KCk9PntpZihiPy4oKSl7bGV0IGJhPUcoKS5zZWxlY3Rpb25TdHlsZTtyZXR1cm4gYmE9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCI/Im1lbnVpdGVtY2hlY2tib3giOmJhPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8ifHxiYT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiPyJtZW51aXRlbXJhZGlvIjoibWVudWl0ZW0ifXJldHVybiJsaXN0aXRlbSJ9O3JldHVybiBfLksoInl0LWxpc3QtaXRlbS12aWV3LW1vZGVsIix7ZWw6Xy5yRihfLnVIKCgpPT5EKCk/dm9pZCAwOkcoKS5yZW5kZXJlckNvbnRleHQsdm9pZCAwLHZvaWQgMCxfLngoIndlYl9idXR0b25fb3JfYW5jaG9yX2xpc3RfaXRlbSIpP1siQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXTpbXSksU2RhKGZ1bmN0aW9uKGJhKXtEKCl8fEUmJk0oKXx8KE0oKT96KGJhKTpkPy4oYmEpKX0sQT9bIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKV06CltdLCgpPT4hWSgpKSxfLlVIKCgpPT5TPy4oKSx7Zm9jdXNpbjpmdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk/LlhlKCkmJmhhKCEwKX0sZm9jdXNvdXQ6ZnVuY3Rpb24oKXtoYSghMSl9fSkpLGNsYXNzOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLHt5dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5Om0seXRMaXN0SXRlbVZpZXdNb2RlbEtleWJvYXJkRm9jdXNlZDpVLHl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW46KCk9PmEoKT8uZW50aXR5U2VsZWN0b3JUeXBlP3YoKS5pc0hpZGRlbjohMX0pLCJkYXRhLXRhcmdldC1pZCI6KCk9PkcoKS50YXJnZXRJZCxyb2xlOlQsdGFiaW5kZXg6KCk9Pnt2YXIgYmE9UygpO1koKTt2YXIgYWE9bWEoKSxPYT1EKCk7YmE9IWFhJiYoXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfdGFiaW5kZXhfZml4Iik/ZHx8YmE6YmEpP09hPy0xOjA6dm9pZCAwO3JldHVybiBiYX0sIm9uOmtleWRvd24iOmZ1bmN0aW9uKGJhKXtpZighQXx8CiFbIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKV0uaW5jbHVkZXMoYmEudGFyZ2V0LnRhZ05hbWUpKWlmKGJhLmtleT09PSJFbnRlciJ8fE0oKSYmYmEua2V5PT09IiAiKWJhLnByZXZlbnREZWZhdWx0KCksRCgpfHwoRSYmTSgpP3ooYmEpOmJhLmN1cnJlbnRUYXJnZXQuY2xpY2soKSl9LCJhcmlhLWxhYmVsIjpSLCJhcmlhLWNoZWNrZWQiOigpPT57dmFyIGJhPVQoKTtyZXR1cm4gYmE9PT0ibWVudWl0ZW1jaGVja2JveCJ8fGJhPT09Im1lbnVpdGVtcmFkaW8iP0coKS5pc1NlbGVjdGVkOnZvaWQgMH0sImFyaWEtcHJlc3NlZCI6KCk9PmI/LigpfHxNKCk/dm9pZCAwOnI/LigpfSxfLksoXy5PLHtBOk0sdGhlbjooKT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfQ0hFQ0tCT1gifSwoKT0+Xy5LKHNJLHtZZTp0YSxuYTpjLGNoZWNrZWQ6KCk9PiEhRygpLmlzU2VsZWN0ZWQsCllpOigpPT4hKCFHKCkubGVhZGluZ0ltYWdlJiYhRygpLmxlYWRpbmdBY2Nlc3NvcnkpLHFqOnBhLFZjOm9hLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpDLGhvcml6b250YWxQYWRkaW5nOkYsb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uQ0Use3doZW46KCk9PkcoKS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIn0sKCk9Pl8uSyhfLkFFLHtZZTp0YSxuYTpjLGNoZWNrZWQ6KCk9PiEhRygpLmlzU2VsZWN0ZWQsWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2Esb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uQ0Use3doZW46KCk9PkcoKS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQifSwoKT0+Xy5LKF8uQUUse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+CiEhRygpLmlzU2VsZWN0ZWQsWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2EsaGs6ITAsb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uREUsbnVsbCx0YSkpLFc6dGF9KSl9LCJHIiksWWRhPV8uTChhPT57dmFyIGI9Xy5jSShjPT5QZGEoYS5kYXRhKCksYykpO3JldHVybiBfLksodEksey4uLmEsYnA6Yn0pfSwiSCIpO18uQ0Q9Xy5MKGE9Pl8uSyhfLk8se0E6KCk9PiEhYS5kYXRhKCk/LmVudGl0eVNlbGVjdG9yVHlwZSx0aGVuOigpPT5fLksoWWRhLHsuLi5hfSksVzooKT0+Xy5LKHRJLHsuLi5hLGJwOigpPT4oe30pfSl9KSwiSSIpO18uQ0QuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvblRhcDohMCx4czohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJwZTJvamIiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RTD1mdW5jdGlvbihhLGIpe2lmKGEmJmIpc3dpdGNoKGIpe2Nhc2UgIlNFTEVDVElPTl9UWVBFX0JPT0wiOnJldHVybiBhLmJvb2xWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9JTlQiOnJldHVybiBhLmludFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX1NUUklORyI6cmV0dXJuIGEuc3RyaW5nVmFsdWU7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfUFJJVkFDWV9TVEFUVVMiOnJldHVybiBhLnByaXZhY3lTdGF0dXNWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9USU1FX1BJQ0tFUl9GT1JNQVQiOnJldHVybiBhLnRpbWVQaWNrZXJGb3JtYXRWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9FTkdBR0VNRU5UX1BFUk1JU1NJT04iOnJldHVybiBhLmVuZ2FnZW1lbnRQZXJtaXNzaW9uVmFsdWV9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5DST1mdW5jdGlvbihhKXtfLlZILm13KCkoYSl9O18uREk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlhIKCk7cmV0dXJuIF8uTigoKT0+e2MoKTtyZXR1cm4gXy5aSChhLFtfLkJ2KGIpfHwiIl0pfSx7ZGVidWdOYW1lOiJMVVpzbGYifSwiWjEwNXQiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUkw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLmVudGl0aWVzLCJsaWtlU3RhdHVzRW50aXR5IixiKX07Xy5TTD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxpa2VDb3VudEVudGl0eSIsYil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWWZhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTigoKT0+Xy5CdihhKT8/e30se2VxdWFsczpfLkdJfSwielRVWlFjIiksYz1fLk4oKCk9Pnt2YXIge2Zvcm1JZDpkLGZpZWxkSWQ6ZX09YigpO2lmKGQmJmUpe2E6e2xldCBoPV8uU0koZCk7aWYoaCl7dmFyIGY9Xy5NSShlKTtpZihmPWhbZl0pe2lmKCEoImZ1bmN0aW9uIj09dHlwZW9mIF8uVEwmJmYgaW5zdGFuY2VvZiBfLlRMKSl0aHJvdyBfLklJKGBGaWVsZCAke2V9IGluIGZvcm0gJHtkfSBpcyBub3QgYSBTY2FsYXJMaXN0RmllbGQuYCk7YnJlYWsgYX19Zj12b2lkIDB9cmV0dXJuIGZ9fSx2b2lkIDAsIkUwS1NGZCIpO3JldHVybigpPT5jKCl9LFpmYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInNlbGVjdGlvblZhbHVlTGlzdEVudGl0eSIsYil9LCRmYT1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZXMoYSk/Yj1iLmZpbHRlcihjPT5jIT09YSk6Yi5wdXNoKGEpO3JldHVyblsuLi5iXX0sVUw9bmV3IF8uSSgiY2hlY2tib3hJdGVtVmlld01vZGVsIik7dmFyIGFnYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLFdiOmMsc2VsZWN0ZWQ6ZCxvblRhcDplLGdyb3VwTmFtZTpmLGNsYXNzTmFtZTpoLG5hOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmwsTGk6bX09Xy5EQyhhLHtXYjohMSxzZWxlY3RlZDohMSxuYTohMSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ITEsTGk6ITF9KSxuPSgpPT5jKCk/MjpiKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFtKCk/MzoxO18uVUooKCk9PntuKCk9PT0yJiZiKCkuZGVmYXVsdFNlbGVjdGVkP18uR3AoRXJyb3IoInVkIikpOm4oKT09PTEmJmQoKT9fLkdwKEVycm9yKCJ2ZCIpKTpuKCk9PT0zJiZkKCkmJl8uR3AoRXJyb3IoIndkIikpfSk7dmFyIHA9Xy5aSSgoKT0+YigpLmZvcm1GaWVsZE1ldGFkYXRhKSxbcix0XT1fLkFDKCgpPT57aWYobigpPT09MSlyZXR1cm4gYigpLmRlZmF1bHRTZWxlY3RlZH0pO3JldHVybiBfLksoInl0LWNoZWNrYm94LWl0ZW0tdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveEl0ZW1WaWV3TW9kZWxIb3N0IiwKaCl9LF8uSyhfLkNELHtkYXRhOigpPT57dmFyIHY9YigpLHo9bigpPT09Mz9wKCk/LnZhbHVlfHwhMTpuKCk9PT0xP3IoKTpkKCk7cmV0dXJue3RpdGxlOnYudGV4dCxzdWJ0aXRsZTp2LnN1YnRleHQsc3VwZXJsYWJlbDp2LnN1cGVybGFiZWwsaXNTZWxlY3RlZDohIXosaXNEaXNhYmxlZDp2LmlzRGlzYWJsZWQsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfQ0hFQ0tCT1gifX0sb25UYXA6KCk9Pnt2YXIgdj0hKG4oKT09PTM/cCgpPy52YWx1ZTpuKCk9PT0xP3IoKTpkKCkpO24oKT09PTM/cCgpPy51cGRhdGVWYWx1ZSh2KTpuKCk9PT0xJiZ0KHYpO2U/Lih2LGIoKSxmPy4oKSl9LG5hOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmx9KSl9LCJEYSIpO18udEQ9Xy5MKCh7ZGF0YTphLFdiOmIsZEE6YyxnejpkLGdyb3VwTmFtZTplLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmLG5hOmh9KT0+e3ZhciBrPV8uREkoWmZhLCgpPT5hKCkuaGlkZUl0ZW1zRW50aXR5S2V5KSxsPSgpPT5iPy4oKT8yOmEoKS5mb3JtRmllbGRNZXRhZGF0YT8zOjEsbT0oKT0+ZT8uKCl8fGEoKS5rZXk7Xy5VSigoKT0+e2woKT09PTImJmEoKS5kZWZhdWx0U2VsZWN0ZWRLZXlzP18uR3AoRXJyb3IoInhkIikpOmwoKT09PTEmJmM/LigpP18uR3AoRXJyb3IoInlkIikpOmwoKT09PTMmJihjPy4oKSE9PXZvaWQgMCYmXy5HcChFcnJvcigiemQiKSksYSgpLmRlZmF1bHRTZWxlY3RlZEtleXMmJl8uR3AoRXJyb3IoIkFkIikpKX0pO3ZhciBuPVlmYSgoKT0+YSgpLmZvcm1GaWVsZE1ldGFkYXRhKSxbcCxyXT1fLkFDKCgpPT57aWYobCgpPT09MSlyZXR1cm4gYSgpLmRlZmF1bHRTZWxlY3RlZEtleXN9KSx0PV8uWkkoKCk9Pih7Zm9ybUlkOmEoKS5zZWFyY2hRdWVyeUZpZWxkTWV0YWRhdGE/LmZvcm1JZHx8CiIiLGZpZWxkSWQ6YSgpLnNlYXJjaFF1ZXJ5RmllbGRNZXRhZGF0YT8uZmllbGRJZHx8IiJ9KSksdj1fLk4oKCk9Pnt2YXIgRT1hKCkuY2hlY2tib3hlc3x8W10sQT1rKCk7aWYoQT8udmFsdWVzJiZBLnZhbHVlcy5sZW5ndGg+MCl7bGV0IEM9QS50eXBlLEc9bmV3IFNldChBLnZhbHVlcy5tYXAoRD0+Xy5RTChELEMpKS5maWx0ZXIoRD0+RCE9PXZvaWQgMCkpO0U9RS5maWx0ZXIoRD0+e0Q9Xy5CKEQsVUwpO2lmKCFEPy52YWx1ZSlyZXR1cm4hMDtEPV8uUUwoRC52YWx1ZSxDKTtyZXR1cm4gRD09PXZvaWQgMHx8IUcuaGFzKEQpfSl9dmFyIEY9KHQoKT8udmFsdWV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBGP0UuZmlsdGVyKEM9PntDPV8uQihDLFVMKTtyZXR1cm4gQz8udGV4dD8uY29udGVudD9DLnRleHQuY29udGVudC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKEYpOiExfSk6RX0sdm9pZCAwLCJYNlk1TWMiKSx6PWFzeW5jKEUsQSxGKT0+e0U9W107bCgpPT09MSYmQS5rZXk/KEU9CiRmYShBLmtleSxwKCl8fFtdKSxyKEUpKTpsKCk9PT0zJiZBLmtleSYmKEU9bigpPy52YWx1ZXx8W10sRS5pbmNsdWRlcyhBLmtleSk/KEU9RS5pbmRleE9mKEEua2V5KSxFIT09LTEmJmF3YWl0IG4oKT8ucmVtb3ZlKEUpKTphd2FpdCBuKCk/LmFkZChBLmtleSksRT1uKCk/LnZhbHVlfHxbXSk7ZD8uKEEsRSxGKX07cmV0dXJuIF8uSygieXQtY2hlY2tib3gtZ3JvdXAtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdCIpfSxfLksoImZpZWxkc2V0Iix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldCIpfSxfLksoImRpdiIse3JvbGU6Imxpc3QifSxfLksoXy5XLHtkYXRhOnZ9LHtjaGVja2JveEl0ZW1WaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKGFnYSx7ZGF0YTpFLFdiOiEwLHNlbGVjdGVkOigpPT57dmFyIEE9bCgpPT09Mj9jPy4oKXx8W106bCgpPT09Mz9uKCk/LnZhbHVlfHxbXTpwKCl8fFtdLEY9RSgpLmtleTsKcmV0dXJuIEY/QS5pbmNsdWRlcyhGKTohMX0sb25UYXA6eixncm91cE5hbWU6bSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZixuYTpofSl9KSkpKX0sIkVhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInZEY2sxZCIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkpKPWZ1bmN0aW9uKGEsYil7aWYoIWEmJiFiKXJldHVybiJtZWRpdW0iO2E9TWF0aC5tYXgoYXx8MCxifHwwKTtyZXR1cm4gYT49MjU2PyJsYXJnZSI6YT49OTY/Im1lZGl1bSI6InNtYWxsIn07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBHZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMjpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UiO2Nhc2UgMzpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlT3ZlcmxheVRvdWNoUmVzcG9uc2UiO2Nhc2UgNDpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlT3ZlcmxheVRvdWNoUmVzcG9uc2VJbnZlcnNlIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIn19LEhlYT1mdW5jdGlvbihhLGIpe2lmKGIpcmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCI7aWYoYSlzd2l0Y2goYSl7Y2FzZSAibGFyZ2UiOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTGFyZ2UiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0iO2RlZmF1bHQ6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCJ9fSwKSWVhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGEsW3tvZmZzZXQ6MCxvcGFjaXR5Oi4xLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIn0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjo0MDB9KSxkb2N1bWVudC50aW1lbGluZSk7dGhpcy5vPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGIsW3tvZmZzZXQ6MCxvcGFjaXR5Oi4yLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIn0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjo0MDB9KSxkb2N1bWVudC50aW1lbGluZSl9cGxheSgpe3RoaXMuai5wbGF5Py4oKTt0aGlzLm8ucGxheT8uKCl9Y2FuY2VsKCl7dGhpcy5qLmNhbmNlbD8uKCk7dGhpcy5vLmNhbmNlbD8uKCl9fTtfLlVDPV8uTCgoe21vZGVsOmEsVG06YixWbTpjLFVtOmQsUmI6ZX0pPT57ZnVuY3Rpb24gZigpe3YoKTtyKCExKX1mdW5jdGlvbiBoKCl7dD8uY2FuY2VsKCk7cighMCl9dmFyIGs9Xy51RSgieXQtdG91Y2gtZmVlZGJhY2stc2hhcGUiKSxsPV8udUUoImRpdiIpLG09Xy51RSgiZGl2IiksW24scF09Xy5BQygoKT0+Yz8uKCl8fGQ/LigpPyExOiEhYj8uKCl8fCExKSxyPXAsdD12b2lkIDAsdj0oKT0+eyF0JiZtLnZhbHVlJiZsLnZhbHVlJiZ0eXBlb2YgQW5pbWF0aW9uPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEtleWZyYW1lRWZmZWN0PT09ImZ1bmN0aW9uIiYmKHQ9bmV3IEllYShtLnZhbHVlLGwudmFsdWUpKTt0Py5wbGF5KCl9O18ubkUoKCk9PntjPy4oKSYmdigpfSwiQ1kyUyIpO18ubkUoKCk9PntiPy4oKSYmdD8uY2FuY2VsKCl9LCJ2ZXFmNmIiKTtfLm5FKCgpPT57ZD8uKCkmJnQ/LmNhbmNlbCgpfSwiVFZyZkNjIik7Xy5ZdSgoKT0+e3QmJih0Py5jYW5jZWwoKSx0PXZvaWQgMCl9KTsKcmV0dXJuIF8uSygieXQtdG91Y2gtZmVlZGJhY2stc2hhcGUiLHtlbDprLGNsYXNzOl8uUCgieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG9zdCIsKCk9PkdlYShhKCkuY29sb3IpLCgpPT5IZWEoYSgpLnRodW1ibmFpbFNpemUsISFhKCkuaXNFeHRlbmRlZCkse3l0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZvY3VzZWQ6KCk9PiEhYSgpLmZvY3VzZWQmJiFhKCkuZGlzYWJsZWQseXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXI6KCk9PiEhYSgpLmNpcmN1bGFyLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZURvd246bix5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRzOigpPT4hIWEoKS5tQix5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlcmVkOigpPT5lPy4oKX0pLHN0eWxlOl8uSUUoe21hcmdpbjooKT0+YSgpLm1hcmdpbj9gLSR7YSgpLm1hcmdpbn1weGA6dm9pZCAwLCJtYXJnaW4tdG9wIjooKT0+YSgpLnhwP2AtJHthKCkueHB9cHhgOnZvaWQgMH0pLCJvbjptb3VzZWRvd24iOmgsCiJvbjptb3VzZXVwIjpmLCJvbjpwb2ludGVybGVhdmUiOmZ1bmN0aW9uKCl7dD8uY2FuY2VsKCk7cighMSl9LCJvbjp0b3VjaHN0YXJ0IjpoLCJvbjp0b3VjaGVuZCI6ZiwiYXJpYS1oaWRkZW4iOiEwfSxfLksoXy5PLHtBOigpPT4hIWEoKS5ObCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCIsc3R5bGU6Xy5JRSh7ImJvcmRlci1yYWRpdXMiOigpPT5hKCkuYm9yZGVyUmFkaXVzLGJhY2tncm91bmQ6KCk9Pnt7bGV0IEU9YSgpLk5sO2lmKEUpe3ZhciB6PVtdO2ZvcihsZXQgQSBvZiBFPy5saWdodGluZ1RlY2huaXF1ZXN8fFtdKXN3aXRjaChBKXtjYXNlIDI6ei5wdXNoKGBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAke0U/LnBhbGV0dGU/LmtleUxpZ2h0fSwgJHtFPy5wYWxldHRlPy5iYWNrZ3JvdW5kfSlgKX16LnB1c2goYSgpLk5sPy5wYWxldHRlPy5iYWNrZ3JvdW5kKTt6PXouam9pbigiLCAiKX1lbHNlIHo9dm9pZCAwfXJldHVybiB6fX0pfSl9KSwKXy5LKCJkaXYiLHtjbGFzczoieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tlIixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsImJvcmRlci1jb2xvciI6KCk9PmEoKS50cz8ucGFsZXR0ZT8uYmFja2dyb3VuZH0pLGVsOmx9KSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxsIixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsImJhY2tncm91bmQtY29sb3IiOigpPT5hKCkudHM/LnBhbGV0dGU/LmJhY2tncm91bmR9KSxlbDptfSkpfSwiVCIpO18uVUMuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiT3RLU0plIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBPYWEsUGFhLFFhYTtPYWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fSxkPU9iamVjdC5rZXlzKGEpO2ZvcihsZXQgZSBvZiBkKWNbZV09YihlLGFbZV0pO3JldHVybiBjfTtQYWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdHlwZW9mIGEhPT0ib2JqZWN0Inx8YT09PW51bGw/ITE6T2JqZWN0LmtleXMoYikuZXZlcnkoYz0+YyBpbiBhKX07Xy5pQT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5rZXlzKGEpLm1hcChiPT5bYixiXSkpfTtRYWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBPYWEoYywoZCxlKT0+KGYsLi4uaCk9PlBhYShmLGEpP2UoZltiXSwuLi5oKTplKGYsLi4uaCkpfTtfLmpBPWZ1bmN0aW9uKGEpe3JldHVybihiLGMpPT5RYWEoYSxiLGMpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFRhYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEsInBsYXlsaXN0TG9vcFN0YXRlRW50aXR5IixiKT8/dm9pZCAwfSxVYWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLCJ0b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHkiLGIpPz92b2lkIDB9LHdBPV8uaUEoe2VudGl0aWVzOnt9fSk7Xy54QT1fLmpBKHdBKSh3QS5lbnRpdGllcyx7YkE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4oXy5xQShhLCJzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5IixiKT8/dm9pZCAwKT8uc2Z2QXVkaW9JdGVtUGxheWJhY2tTdGF0ZT8/dm9pZCAwfSx0SzpUYWEsZUI6VWFhfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWkM9bmV3IF8uSSgibGlzdEl0ZW1WaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHZJO18udUk9ZnVuY3Rpb24oYSxiKXtpZihfLnRBPy5lbmNvZGVJbnRvKXtsZXQge3JlYWQ6ZCx3cml0dGVuOmV9PV8udEEuZW5jb2RlSW50byhhLGIpO3JldHVybiBkPGEubGVuZ3RoP2EubGVuZ3RoKjQ6ZX12YXIgYz0wO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hLmNoYXJDb2RlQXQoZCk7ZTwxMjg/YltjKytdPWU6KGU8MjA0OD9iW2MrK109ZT4+NnwxOTI6KChlJjY0NTEyKT09PTU1Mjk2JiZkKzE8YS5sZW5ndGgmJihhLmNoYXJDb2RlQXQoZCsxKSY2NDUxMik9PT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gY307CnZJPWZ1bmN0aW9uKGEsYixjKXtpZihiJiZjJiZjLmJ1ZmZlcj09PWIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyKXtsZXQgZD1iLm1lbW9yeS5yZWFsbG9jKGMuYnl0ZU9mZnNldCxhKTtpZihkKXJldHVybiBuZXcgVWludDhBcnJheShiLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcixkLGEpfWE9Yj9uZXcgVWludDhBcnJheShiLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcixiLm1lbW9yeS5tYWxsb2MoYSksYSk6bmV3IFVpbnQ4QXJyYXkoYSk7YyYmYS5zZXQoYyk7cmV0dXJuIGF9O18ud0k9ZnVuY3Rpb24oYSxiKXtiPWEucG9zK2I7aWYoIShhLmJ1Zi5sZW5ndGg+PWIpKXtmb3IodmFyIGM9YS5idWYubGVuZ3RoKjI7YzxiOyljKj0yO2EuYnVmPXZJKGMsYS53YXNtLGEuYnVmLnN1YmFycmF5KDAsYS5wb3MpKTthLnZpZXc9bmV3IERhdGFWaWV3KGEuYnVmLmJ1ZmZlcixhLmJ1Zi5ieXRlT2Zmc2V0LGEuYnVmLmJ5dGVMZW5ndGgpfX07Cl8ueEk9ZnVuY3Rpb24oYSxiKXtpZihiPjI2ODQzNTQ1NSl7Xy53SShhLDQpO2xldCBjPWImMTA3Mzc0MTgyMztmb3IobGV0IGQ9MDtkPDQ7ZCsrKWEudmlldy5zZXRVaW50OChhLnBvcyxjJjEyN3wxMjgpLGM+Pj49NyxhLnBvcys9MTtiPU1hdGguZmxvb3IoYi8yNjg0MzU0NTYpfWZvcihfLndJKGEsNCk7Yj4xMjc7KWEudmlldy5zZXRVaW50OChhLnBvcyxiJjEyN3wxMjgpLGI+Pj49NyxhLnBvcys9MTthLnZpZXcuc2V0VWludDgoYS5wb3MsYik7YS5wb3MrPTF9OwpfLnpJPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IF8ueUk7aWYoXy50QSlhPV8udEEuZW5jb2RlKGEpO2Vsc2V7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKGEubGVuZ3RoKjEuMikpLGU9Xy51SShhLGQpO2QubGVuZ3RoPGUmJihkPW5ldyBVaW50OEFycmF5KGUpLGU9Xy51SShhLGQpKTtkLmxlbmd0aD5lJiYoZD1kLnN1YmFycmF5KDAsZSkpO2E9ZH1hIT09dm9pZCAwJiYoXy54SShjLDE4KSxkPWEubGVuZ3RoLF8ueEkoYyxkKSxfLndJKGMsZCksYy5idWYuc2V0KGEsYy5wb3MpLGMucG9zKz1kKTthPV8udUFbYl07aWYodHlwZW9mIGE9PT0idW5kZWZpbmVkIil0aHJvdyBiPW5ldyBfLlhqKCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6Yn0pLF8uR3AoYiksYjthIT09dm9pZCAwJiYoXy54SShjLDMyKSxfLnhJKGMsYSkpO18ueEkoYyw0MCk7Xy54SShjLDEpO2I9bmV3IFVpbnQ4QXJyYXkoYy5idWYuYnVmZmVyLApjLmJ1Zi5ieXRlT2Zmc2V0LGMucG9zKTtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KF8uc2MoYiwwKSl9O18ueUk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLndhc209dm9pZCAwO3RoaXMucG9zPTA7dGhpcy5qPVtdO3RoaXMuYnVmPXZJKDQwOTYpO3RoaXMudmlldz1uZXcgRGF0YVZpZXcodGhpcy5idWYuYnVmZmVyLHRoaXMuYnVmLmJ5dGVPZmZzZXQsdGhpcy5idWYuYnl0ZUxlbmd0aCl9fTtfLnpJKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfTUFOVUFMX0RPV05MT0FEUyIsIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5Iik7Xy56SSgiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5Iik7Xy56SSgiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtfLnpJKCJTTUFSVF9ET1dOTE9BRFNfRU5BQkxFRCIsInNldHRpbmdFbnRpdHkiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5BST1uZXcgXy5JKCJvZmZsaW5lUGxheWxpc3RFbmRwb2ludCIpO18uQkk9bmV3IF8uSSgib2ZmbGluZVZpZGVvRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFpkYTtfLkVJPWZ1bmN0aW9uKGEsYixjLGQsZSl7YT1iP2Euc3dpdGNoT2ZmQ29tbWFuZDphLnN3aXRjaE9uQ29tbWFuZDtpZihkJiZlKVpkYShhLGMsZSk7ZWxzZSBfLmJFKHtiaDphfSk/Lm9uY2xpY2s/LihjKX07WmRhPWZ1bmN0aW9uKGEsYixjKXthPV8uYkUoe2JoOmEsQW86e0VpOntvblN1Y2Nlc3M6KCk9PntjKCExKX0sbno6KCk9PntjKCExKX19fX0pO2E/Lm9uY2xpY2smJihhLm9uY2xpY2soYiksYyghMCkpfTtfLiRkYT1uZXcgXy5JKCJzd2l0Y2hCdXR0b25WaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGVKPWZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIF8uQihhLF8uJGRhKX07Xy5mSj1fLkwoKHtkYXRhOmEsb25UYXA6YixrSzpjLG1LOmQsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmUsTGk6ZixuYTpofSk9PntmdW5jdGlvbiBrKEYpe2lmKCFGLm91KXtGLm91PSEwO3ZhciBDPWVKKEEoKSk7IUN8fEMuaXNEaXNhYmxlZHx8YSgpLmlnbm9yZVRhcFVudGlsQ29tbWFuZENvbXBsZXRlcyYmdigpfHwoYj8uKEYpLF8uRUkoQyxFKCksRixhKCkuaWdub3JlVGFwVW50aWxDb21tYW5kQ29tcGxldGVzLHopLChhKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFmPy4oKT8zOjEpPT09Mz9sKCk/LnVwZGF0ZVZhbHVlKCFFKCkpOnAoIUUoKSksYz8uKEUoKSkpfX12YXIgbD1fLlpJKCgpPT5hKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFttLG5dPV8uQUMoKCk9PmVKKEEoKSk/LnN3aXRjaGVkT25CeURlZmF1bHR8fCExKSxwPW4sW3IsdF09Xy5KKCExLHZvaWQgMCwiT3ZrdWxlIiksdj1yLHo9dCxFPSgpPT4oYSgpLmZvcm1GaWVsZE1ldGFkYXRhJiYhZj8uKCk/MzoxKT09PTM/bCgpPy52YWx1ZXx8CiExOm0oKSxBPSgpPT57dmFyIEY7aWYoIShGPWEoKS5zd2l0Y2hCdXR0b24pKXt2YXIgQz1hKCk7Rj1kPy4oKTtDPXtzd2l0Y2hPbkNvbW1hbmQ6Qy5zd2l0Y2hPbkNvbW1hbmQsc3dpdGNoT2ZmQ29tbWFuZDpDLnN3aXRjaE9mZkNvbW1hbmQsc3dpdGNoZWRPbkJ5RGVmYXVsdDpDLnN3aXRjaGVkT25CeURlZmF1bHQsaXNEaXNhYmxlZDpDLmlzRGlzYWJsZWQsYTExeUxhYmVsU3dpdGNoZWRPbjpDLmExMXlMYWJlbFN3aXRjaGVkT24sYTExeUxhYmVsU3dpdGNoZWRPZmY6Qy5hMTF5TGFiZWxTd2l0Y2hlZE9mZn07RiE9PXZvaWQgMCYmKEMuaXNEaXNhYmxlZD1GKTtGPXtzd2l0Y2hCdXR0b25WaWV3TW9kZWw6Q319Qz1lSihGKTtpZighQylyZXR1cm4gRjt2YXIgRz1hKCkudGl0bGU/LmNvbnRlbnQ7cmV0dXJuIEc/e3N3aXRjaEJ1dHRvblZpZXdNb2RlbDp7Li4uQyxhMTF5TGFiZWxTd2l0Y2hlZE9uOkcsYTExeUxhYmVsU3dpdGNoZWRPZmY6R319OkZ9O3JldHVybiBfLksoInN3aXRjaC1saXN0LWl0ZW0tdmlldy1tb2RlbCIsCntjbGFzczoieXRTd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLCJvbjpjbGljayI6a30sXy5LKF8uQ0Qse2RhdGE6KCk9Pih7dGl0bGU6YSgpLnRpdGxlLHN1YnRpdGxlOmEoKS5hdHRyaWJ1dGVkU3VidGl0bGUsbGVhZGluZ0ltYWdlOmEoKS5sZWFkaW5nSW1hZ2UsbGVhZGluZ0FjY2Vzc29yeTphKCkubGVhZGluZ0FjY2Vzc29yeSxpc0Rpc2FibGVkOmEoKS5pc0Rpc2FibGVkfSksaXNUb2dnbGVkOkUsRGc6ITAsbmE6aCx4czooKT0+Xy5LKF8uVyx7ZGF0YTpBfSx7c3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhfLmtJLHtkYXRhOkYscXI6RSxvblRhcDprfSl9KSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZX0pKX0sIkoiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGNlYSxnSixkZWEsaEosaUosZWVhLGZlYSxnZWEsaGVhLGplYSxrZWEsbGVhLG1lYSxqSixrSixtSixuZWEsb2VhLHBlYSx0ZWEsdWVhLHFKLHJKLHNKLHdlYSx0SixpZWEsdUo7Y2VhPWZ1bmN0aW9uKGEsYj0yKXtfLnhJKGEsMTApO2Euai5wdXNoKGEucG9zKTthLmoucHVzaChiKTthLnBvcys9Yn07CmdKPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLnlJO2lmKGEhPT12b2lkIDApe2NlYShiLE1hdGguY2VpbChNYXRoLmxvZzIoYS5sZW5ndGgqNCsyKS83KSk7Xy53SShiLGEubGVuZ3RoKjEuMik7dmFyIGM9Xy51SShhLGIuYnVmLnN1YmFycmF5KGIucG9zKSk7Yi5wb3MrYz5iLmJ1Zi5sZW5ndGgmJihfLndJKGIsYyksYz1fLnVJKGEsYi5idWYuc3ViYXJyYXkoYi5wb3MpKSk7Yi5wb3MrPWM7YT1iLmoucG9wKCk7Yz1iLmoucG9wKCk7bGV0IGQ9Yi5wb3MtYy1hO2Zvcig7YS0tOyl7bGV0IGU9YT8xMjg6MDtiLnZpZXcuc2V0VWludDgoYysrLGQmMTI3fGUpO2Q+Pj03fX1iPW5ldyBVaW50OEFycmF5KGIuYnVmLmJ1ZmZlcixiLmJ1Zi5ieXRlT2Zmc2V0LGIucG9zKTtyZXR1cm4obmV3IFRleHREZWNvZGVyKCJ1dGYtOCIpKS5kZWNvZGUoYil9OwpkZWE9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm5bXTtiPV8uekkoYiwibWFpblBsYXlsaXN0RW50aXR5Iik7dmFyIGM9YS5tYWluUGxheWxpc3RFbnRpdHk/LltiXTtiPVtdO2lmKCFjPy52aWRlb3MpcmV0dXJuIGI7Zm9yKGxldCBkIG9mIGMudmlkZW9zKXtjPWE/Lm1haW5QbGF5bGlzdFZpZGVvRW50aXR5Py5bZF0/LnZpZGVvO2lmKCFjKWNvbnRpbnVlOyh7ZW50aXR5SWQ6Y309Xy5HSChjKSk7YyYmYi5wdXNoKGMpfXJldHVybiBifTtoSj1mdW5jdGlvbihhKXtyZXR1cm4iZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllcyJpbiBhfTsKaUo9ZnVuY3Rpb24oYSl7dmFyIGI9YS5tdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eSxjPVtdO2lmKCFiKXJldHVybiBjO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhiKSl7YTp7dmFyIGQ9YSxlPV8uR0goaCkuZW50aXR5SWQ7aWYoZSl7dmFyIGY9Xy5xQShkLCJtdXNpY1BsYXlsaXN0IixfLnpJKGUsIm11c2ljUGxheWxpc3QiKSk7ZD1fLnFBKGQsIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5IixfLnpJKGUsIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5IikpO2lmKGYmJmQpe2Y9e211c2ljUGxheWxpc3RFbnRpdHk6ZixtdXNpY1BsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpkfTticmVhayBhfX1mPXZvaWQgMH1kPU51bWJlcihiW2hdPy5hZGRlZFRpbWVzdGFtcE1pbGxpcyk7ZD1pc05hTihkKT8oMCxfLmVsKSgpOmQ7ZiE9PXZvaWQgMCYmYy5wdXNoKHtkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOmYsYWRkZWRUaW1lc3RhbXBNaWxsaXM6ZH0pfXJldHVybiBjfTsKZWVhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7Zm9yKGxldCBjIG9mIGEpaWYoIm11c2ljUGxheWxpc3RFbnRpdHkiaW4gYyYmIm11c2ljUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5ImluIGMpZm9yKGxldCBkIG9mIGMubXVzaWNQbGF5bGlzdEVudGl0eS50cmFja3MpYi5hZGQoZCk7cmV0dXJuIGJ9OwpmZWE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5tdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eSxjPVtdO2lmKCFiKXJldHVybltdO2ZvcihsZXQgbSBvZiBPYmplY3Qua2V5cyhiKSl7YTp7dmFyIGQ9YSxlPV8uR0gobSkuZW50aXR5SWQ7aWYoZSl7Yj1fLnFBKGQsIm11c2ljVHJhY2siLF8uekkoZSwibXVzaWNUcmFjayIpKTt2YXIgZj1fLnFBKGQsIm11c2ljQXJ0aXN0IixfLnpJKGUsIm11c2ljQXJ0aXN0IikpfHx7fTtiOnt2YXIgaD1lO2lmKGgpe2U9Xy5xQShkLCJwbGF5YmFja0RhdGEiLF8uekkoaCwicGxheWJhY2tEYXRhIikpPz9udWxsO3ZhciBrPV8ucUEoZCwidHJhbnNmZXIiLF8uekkoaCwidHJhbnNmZXIiKSk/P251bGwsbD1fLnFBKGQsIm9mZmxpbmVWaWRlb1N0cmVhbXMiLF8uekkoaCwib2ZmbGluZVZpZGVvU3RyZWFtcyIpKT8/bnVsbDtkPV8ucUEoZCwib2ZmbGluZVZpZGVvUG9saWN5IixfLnpJKGgsIm9mZmxpbmVWaWRlb1BvbGljeSIpKT8/bnVsbDtpZihlfHwKa3x8bHx8ZCl7ZD17cGxheWJhY2tEYXRhRW50aXR5OmUsdHJhbnNmZXJFbnRpdHk6ayxzdHJlYW1FbnRpdHk6bCxwb2xpY3lFbnRpdHk6ZH07YnJlYWsgYn19ZD12b2lkIDB9aWYoZCYmYiYmZil7Yj17bXVzaWNUcmFja0VudGl0eTpiLG11c2ljQXJ0aXN0RW50aXR5OmYsLi4uZH07YnJlYWsgYX19Yj12b2lkIDB9Zj1OdW1iZXIoXy5xQShhLCJtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eSIsbSk/LmFkZGVkVGltZXN0YW1wTWlsbGlzKTtmPWlzTmFOKGYpPygwLF8uZWwpKCk6ZjtiIT09dm9pZCAwJiZjLnB1c2goe2Rvd25sb2FkZWRNdXNpY0VudGl0aWVzOmIsYWRkZWRUaW1lc3RhbXBNaWxsaXM6Zn0pfXJldHVybiBjfTsKZ2VhPWZ1bmN0aW9uKGEpe3ZhciBiPWZlYShhKS5zb3J0KChjLGQpPT5kLmFkZGVkVGltZXN0YW1wTWlsbGlzLWMuYWRkZWRUaW1lc3RhbXBNaWxsaXMpLm1hcChjPT4iZG93bmxvYWRlZE11c2ljRW50aXRpZXMiaW4gYz9jLmRvd25sb2FkZWRNdXNpY0VudGl0aWVzOmhKKGMpP2MuZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczp7fSk7YT1pSihhKS5zb3J0KChjLGQpPT5kLmFkZGVkVGltZXN0YW1wTWlsbGlzLWMuYWRkZWRUaW1lc3RhbXBNaWxsaXMpLm1hcChjPT4iZG93bmxvYWRlZE11c2ljRW50aXRpZXMiaW4gYz9jLmRvd25sb2FkZWRNdXNpY0VudGl0aWVzOmhKKGMpP2MuZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczp7fSk7cmV0dXJue2Rvd25sb2FkZWRNdXNpY0VudGl0aWVzOmIsZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczphfX07CmhlYT1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBTZXQsZD1pSihhKS5tYXAoZT0+ZS5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzKTtkPWVlYShkKTtmb3IobGV0IGUgb2YgZCkoe2VudGl0eUlkOmR9PV8uR0goZSkpLGQmJmMuYWRkKGQpOyh7ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6YX09Z2VhKGEpKTtyZXR1cm4gYS5maWx0ZXIoZT0+e2lmKGUubXVzaWNUcmFja0VudGl0eT8udmlkZW9JZCl7ZT1lLm11c2ljVHJhY2tFbnRpdHk7dmFyIGY7aWYoZj1iPT09IlBQT00iPyEwOiFjLmhhcyhlLnZpZGVvSWQpKWI6c3dpdGNoKGU9ZS5tdXNpY1ZpZGVvVHlwZSxiKXtjYXNlICJQUFNFIjpmPWU9PT0iTVVTSUNfVklERU9fVFlQRV9QT0RDQVNUX0VQSVNPREUiO2JyZWFrIGI7ZGVmYXVsdDpmPWUhPT0iTVVTSUNfVklERU9fVFlQRV9QT0RDQVNUX0VQSVNPREUifWU9Zn1lbHNlIGU9ITE7cmV0dXJuIGV9KS5tYXAoZT0+ZS5tdXNpY1RyYWNrRW50aXR5Py52aWRlb0lkKX07CmplYT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybltdO2lmKE9iamVjdC52YWx1ZXMoaWVhKS5pbmNsdWRlcyhiKSlyZXR1cm4gaGVhKGEsYik7Yj1fLnpJKGIsIm11c2ljUGxheWxpc3QiKTtiPWEubXVzaWNQbGF5bGlzdD8uW2JdO2E9W107aWYoIWI/LnRyYWNrcylyZXR1cm4gYTtmb3IobGV0IGMgb2YgYi50cmFja3MpKHtlbnRpdHlJZDpifT1fLkdIKGMpKSxiJiZhLnB1c2goYik7cmV0dXJuIGF9OwprZWE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFNldChhKTtpZihiLmhhcygiVFJBTlNGRVJfU1RBVEVfRkFJTEVEIikmJmIuc2l6ZT09PTEpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCI7Yi5kZWxldGUoIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCIpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIikmJmIuc2l6ZT09PTEpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI7Yi5kZWxldGUoIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKTtpZihiLmhhcygiVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIikmJmIuc2l6ZT09PTF8fGIuc2l6ZT09PTApcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI7YT1iLmhhcygiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIik7Yj1iLmhhcygiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiKTtyZXR1cm4gYXx8Yj8iVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIjoiVFJBTlNGRVJfU1RBVEVfQ09NUExFVEUifTsKbGVhPWZ1bmN0aW9uKGEsYil7Yj1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9SRU1JWCI/amVhKGEsYik6ZGVhKGEsYik7aWYoIWIubGVuZ3RoKXJldHVybiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjtiPWIubWFwKGM9PntjPWM/KGM9Xy5xQShhLCJ0cmFuc2ZlciIsXy56SShjLCJ0cmFuc2ZlciIpKSk/Yy50cmFuc2ZlclN0YXRlPz8iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iOiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjtyZXR1cm4gY30pO3JldHVybiBrZWEoYil9O21lYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImRvd25sb2FkU3RhdHVzRW50aXR5IixfLnpJKGIsImRvd25sb2FkU3RhdHVzRW50aXR5IikpPy5kb3dubG9hZFN0YXRlPT09IkRPV05MT0FEX1NUQVRFX1VTRVJfREVMRVRFRCI/ITA6ITF9O2pKPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBDU1MhPT0idW5kZWZpbmVkIiYmQ1NTLnN1cHBvcnRzPy4oInNlbGVjdG9yKDpoYXMoKikpIil9OwprSj1mdW5jdGlvbihhKXtyZXR1cm4gYS52aXNpYmlsaXR5IT09ImhpZGRlbiImJmEuZGlzcGxheSE9PSJub25lIn07bUo9ZnVuY3Rpb24oYSl7aWYoakooKXx8YS50YWdOYW1lIT09IkRFVEFJTFMiPyFhLm1hdGNoZXMobEopOmEucXVlcnlTZWxlY3Rvcigic3VtbWFyeSIpIT09bnVsbClyZXR1cm4tMTthPWEuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpfHwiMCI7cmV0dXJuIE51bWJlcihhKX07bmVhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNvbWUoYj0+bUooYik+MCl9O29lYT1mdW5jdGlvbihhKXtpZihhLnRleHRDb250ZW50fHxhLmFyaWFMYWJlbClyZXR1cm4hMDtpZihhIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCl7aWYoIWEubGFiZWxzKXJldHVybiExO2ZvcihsZXQgYiBvZiBhLmxhYmVscylpZihiLnRleHRDb250ZW50KXJldHVybiEwfXJldHVybiExfTtwZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc29ydCgoYixjKT0+bUooYyktbUooYikpfTsKXy5uSj1mdW5jdGlvbihhKXthPUFycmF5LmZyb20oYS5xdWVyeVNlbGVjdG9yQWxsKGxKKSkuZmlsdGVyKGI9PihrSihiLnN0eWxlKT9rSih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShiKSk6ITEpJiZvZWEoYikpO3JldHVybiBuZWEoYSk/cGVhKGEpOmF9Owp0ZWE9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpcmV0dXJuW29KXTtzd2l0Y2goYSl7Y2FzZSAiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiOmNhc2UgIlRSQU5TRkVSX1NUQVRFX0NPTVBMRVRFIjpyZXR1cm5bcEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIjpyZXR1cm4gYz9bcEpdOltxZWEscEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX1BBVVNFRF9CWV9VU0VSIjpyZXR1cm5bcmVhLHBKXTtjYXNlICJUUkFOU0ZFUl9TVEFURV9GQUlMRUQiOmNhc2UgIlRSQU5TRkVSX1NUQVRFX1dBSVRJTkdfRk9SX1BMQVlFUl9SRVNQT05TRV9SRUZSRVNIIjpyZXR1cm5bc2VhLHBKXTtkZWZhdWx0OnJldHVybltvSl19fTsKdWVhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0ZWEoYSxiLGQpLm1hcChlPT57dmFyIGY9ZS50ZXh0LGg9ZS5pY29uVHlwZSxrPWUuaWk7ZT1lLktoO2Y9Zj97Y29udGVudDpmfTp2b2lkIDA7aD1oJiZ7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6aH19XX07dmFyIGw9Xy5xZChjKTtpZihsKXtsZXQgbT1fLkIobCxfLkJJKSxuPV8uQihsLF8uQUkpO20mJms/bS5hY3Rpb249azpuJiZlJiYobi5hY3Rpb249ZSl9cmV0dXJue3RpdGxlOmYsbGVhZGluZ0ltYWdlOmgscmVuZGVyZXJDb250ZXh0OmwmJntjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6bH19fX19KX07cUo9ZnVuY3Rpb24oYSl7YT1fLnNIKGEucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5CKGEsXy5CSSk/LnZpZGVvSWR9O3JKPWZ1bmN0aW9uKGEpe2E9Xy5zSChhLnJlbmRlcmVyQ29udGV4dCk7cmV0dXJuIF8uQihhLF8uQUkpPy5wbGF5bGlzdElkfTsKc0o9ZnVuY3Rpb24oYSl7YT1fLkIoYSxfLlpDKTtyZXR1cm4hIWEmJl8udEgoYS5yZW5kZXJlckNvbnRleHQpfTt3ZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGlzdEl0ZW1zPy5zb21lKGI9PntpZihzSihiKSlyZXR1cm4hMDtiPV8uQihiLHZlYSk7cmV0dXJuISFiJiYoXy50SChiLnJlbmRlcmVyQ29udGV4dCl8fHNKKGIuZGVmYXVsdExpc3RJdGVtKXx8c0ooYi50b2dnbGVkTGlzdEl0ZW0pKX0pfTt0Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoO2FbYj09PS0xP2MtMTooYi0xK2MpJWNdPy5mb2N1cygpfTtpZWE9e2RDOiJQUEFEIixPQzoiUFBEUCIsTEY6IlBQT00iLHFHOiJQUFJDIix3RzoiUFBTRSIseEc6IlBQU1YifTt1Sj0iYVtocmVmXSBhW3RhYmluZGV4XSBhcmVhW2hyZWZdIGlmcmFtZSBbdGFiaW5kZXhdIFtjb250ZW50RWRpdGFibGVdIHN1bW1hcnkgaW5wdXQ6bm90KFtkaXNhYmxlZF0pIHNlbGVjdDpub3QoW2Rpc2FibGVkXSkgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSkgb2JqZWN0Om5vdChbZGlzYWJsZWRdKSIuc3BsaXQoIiAiKTsKakooKSYmdUoucHVzaCgiZGV0YWlsczpub3QoOmhhcyhzdW1tYXJ5KSkiKTt2YXIgbEo9dUouam9pbigiLCIpO3ZhciB2ZWE9bmV3IF8uSSgidG9nZ2xlYWJsZUxpc3RJdGVtVmlld01vZGVsIik7dmFyIHhlYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLGNsYXNzTmFtZTpjLG5hOmQsSWE6ZSxCYzpmfT1fLkRDKGEse25hOiExLElhOiExLEJjOiExfSksaD1fLmNJKG49PnthOnt2YXIgcD1iKCkuZW50aXR5S2V5LHI9YigpLmVudGl0eVNlbGVjdG9yVHlwZTtpZihyKXN3aXRjaChyKXtjYXNlICJUT0dHTEVBQkxFX0xJU1RfSVRFTV9FTlRJVFlfU0VMRUNUT1JfVFlQRV9UT0dHTEVfTUVOVV9TRVJWSUNFX0lURU1fRU5USVRZIjppZighcClicmVhaztuPShuPV8ueEEuZUIobixwKSkmJm4uaXNUb2dnbGVkIT09dm9pZCAwP3tpc1RvZ2dsZWQ6bi5pc1RvZ2dsZWR9OnZvaWQgMDticmVhayBhO2RlZmF1bHQ6Xy5JcChuZXcgXy5YaigiRXJyb3I6IGVudGl0eVNlbGVjdG9yVHlwZSBkZWZpbmVkIGJ1dCBub3QgbWF0Y2hlZCBpbiBzZWxlY3Rvci4iLG4scikpfW49dm9pZCAwfXJldHVybiBufSksW2ssbF09Xy5BQygoKT0+aCgpPy5pc1RvZ2dsZWQhPT12b2lkIDA/aCgpPy5pc1RvZ2dsZWQ6YigpLmluaXRpYWxTdGF0ZT8uaXNUb2dnbGVkPz8KYigpLmluaXRpYWxJc1RvZ2dsZWQ/PyExKSxtPSgpPT57dmFyIG49aygpP2IoKS50b2dnbGVkTGlzdEl0ZW06YigpLmRlZmF1bHRMaXN0SXRlbTtyZXR1cm4gXy5CKF8uQihuLF8uWkMpPy5yZW5kZXJlckNvbnRleHQsXy5ZQyk/LmxhYmVsfTtyZXR1cm4gXy5LKCJ0b2dnbGVhYmxlLWxpc3QtaXRlbS12aWV3LW1vZGVsIix7ZWw6Xy5yRihfLnVIKCgpPT5iKCkucmVuZGVyZXJDb250ZXh0LHtvblRhcDoobixwKT0+e3AoKTtoKCk/LmlzVG9nZ2xlZCE9PXZvaWQgMHx8bCghaygpKX19KSksY2xhc3M6Xy5QKCJ0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWxIb3N0IixjKX0sXy5LKF8uTyx7QTooKT0+e2lmKGsoKSl7dmFyIG49YigpLnRvZ2dsZWRMaXN0SXRlbTtuPV8uQihuLF8uWkMpfWVsc2Ugbj1iKCkuZGVmYXVsdExpc3RJdGVtLG49Xy5CKG4sXy5aQyk7cmV0dXJuIG59LHRoZW46bj0+Xy5LKF8uQ0Qse2RhdGE6bixpc1RvZ2dsZWQ6ayxuYTpkLElhOmUsQmM6ZixhcmlhTGFiZWw6bSwKYXJpYVByZXNzZWQ6a30pfSkpfSwiSyIpO3ZhciB5ZWE9Xy5hQSgiRE9XTkxPQUQiLHt9LCJEb3dubG9hZCIpLHplYT1fLmFBKCJERUxFVEVfRlJPTV9ET1dOTE9BRFMiLHt9LCJEZWxldGUgZnJvbSBkb3dubG9hZHMiKSxBZWE9Xy5hQSgiUkVUUlkiLHt9LCJSZXRyeSIpLEJlYT1fLmFBKCJQQVVTRV9ET1dOTE9BRElORyIse30sIlBhdXNlIGRvd25sb2FkaW5nIiksQ2VhPV8uYUEoIlJFU1VNRV9ET1dOTE9BRCIse30sIlJlc3VtZSBkb3dubG9hZCIpLG9KPXt0ZXh0OnllYSxpY29uVHlwZToiT0ZGTElORV9ET1dOTE9BRCIsaWk6IkFDVElPTl9BREQiLEtoOiJBQ1RJT05fQUREIn0scEo9e3RleHQ6emVhLGljb25UeXBlOiJERUxFVEUiLGlpOiJBQ1RJT05fUkVNT1ZFIixLaDoiQUNUSU9OX1JFTU9WRSJ9LHNlYT17dGV4dDpBZWEsaWNvblR5cGU6Ik9GRkxJTkVfRE9XTkxPQUQiLGlpOiJBQ1RJT05fUkVUUlkiLEtoOiJBQ1RJT05fUkVNT1ZFIn0scWVhPXt0ZXh0OkJlYSxpY29uVHlwZToiT0ZGTElORV9QQVVTRSIsaWk6IkFDVElPTl9QQVVTRSIsCktoOiJBQ1RJT05fUEFVU0UifSxyZWE9e3RleHQ6Q2VhLGljb25UeXBlOiJPRkZMSU5FX0RPV05MT0FEIixpaToiQUNUSU9OX1JFU1VNRSIsS2g6IkFDVElPTl9SRVNVTUUifTtfLkwoYT0+e3ZhciBiPV8uY0koaD0+e3ZhciBrPXFKKGEuZGF0YSgpKSxsPXJKKGEuZGF0YSgpKTtrPyhoPWguZW50aXRpZXMsaz8obD1fLnFBKGgsInRyYW5zZmVyIixfLnpJKGssInRyYW5zZmVyIikpKT9rPWwudHJhbnNmZXJTdGF0ZT8/IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iOihsPV8ucUEoaCwib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5IixfLnpJKGssIm9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eSIpKSxrPV8ucUEoaCwibWFpblZpZGVvRW50aXR5IixfLnpJKGssIm1haW5WaWRlb0VudGl0eSIpKSxrPWx8fGs/IlRSQU5TRkVSX1NUQVRFX1RSQU5TRkVSX0lOX1FVRVVFIjoiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpOms9IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKTprPWw/bGVhKGguZW50aXRpZXMsbCk6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO3JldHVybiBrfSksYz1fLkRJKG1lYSwoKT0+cUooYS5kYXRhKCkpKSwKZD1fLmNJKGg9Pnt2YXIgaz1xSihhLmRhdGEoKSksbD1ySihhLmRhdGEoKSk7IWsmJmw/KGs9aC5lbnRpdGllcyxsPyhsPWdKKGwpLGs9Xy5xQShrLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIsXy56SShsLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIpKT8uYWRkVG9PZmZsaW5lQnV0dG9uU3RhdGU/PyJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCIpOms9IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9ESVNBQkxFRCIpOihsPWguZW50aXRpZXMsaz8oaz1nSihrKSxrPV8ucUEobCwib2ZmbGluZWFiaWxpdHlFbnRpdHkiLF8uekkoaywib2ZmbGluZWFiaWxpdHlFbnRpdHkiKSk/LmFkZFRvT2ZmbGluZUJ1dHRvblN0YXRlPz8iQUREX1RPX09GRkxJTkVfQlVUVE9OX1NUQVRFX0VOQUJMRUQiKTprPSJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRElTQUJMRUQiKTtyZXR1cm4ga30pLGU9KCk9PnVlYShiKCksYygpLF8uc0goYS5kYXRhKCkucmVuZGVyZXJDb250ZXh0KSwKISFySihhLmRhdGEoKSkpLGY9KCk9PmQoKSE9PSJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCI7cmV0dXJuIF8uSygieXQtZG93bmxvYWQtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtjbGFzczoieXREb3dubG9hZExpc3RJdGVtVmlld01vZGVsSG9zdCIsaGlkZGVuOmZ9LF8uSyhfLk8se0E6KCk9PiFmKCksdGhlbjooKT0+Xy5LKF8uTyx7QTplLHRoZW46aD0+Xy5LKF8uZ0cse3BhOmh9LGs9Pl8uSyhfLkNELHtkYXRhOmssbmE6YS5uYSxJYTphLklhLEJjOmEuQmMsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmEuZGlzYWJsZUhvcml6b250YWxQYWRkaW5nfSkpfSl9KSl9LCJMIikuaWRvbUNvbXBhdD0hMDtfLkJEPV8uTCgoe2RhdGE6YSxuYTpiLGNlOmMsQmM6ZCxpc092ZXJsYXk6ZSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Zn0pPT57dmFyIGg9KCk9PndlYShhKCkpJiZkPy4oKTtyZXR1cm4gXy5LKCJ5dC1saXN0LXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0TGlzdFZpZXdNb2RlbEhvc3QiLHt5dExpc3RWaWV3TW9kZWxIb3N0S2Fpb3NTcGF0TmF2Ol8uZ3ImJmRvY3VtZW50LmJvZHkuaGFzQXR0cmlidXRlKCJzcGF0aWFsLW5hdmlnYXRpb24tZW5hYmxlZCIpJiZkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZSgic3BhdGlhbC1uYXZpZ2F0aW9uLWVuYWJsZWQiKT09PSJ0cnVlIn0pLHJvbGU6KCk9PmgoKT8ibWVudSI6Imxpc3QiLHN0eWxlOl8uSUUoeyJtYXgtaGVpZ2h0IjooKT0+e3ZhciBrPWEoKT8udmlzaWJsZUVsZW1lbnRDb3VudDtpZihrKXJldHVybmAkeyhrKy41KSo0MH1weGB9fSksIm9uOmtleWRvd24iOmZ1bmN0aW9uKGspe2lmKGQ/LigpJiZfLngoIndlYl9lbmFibGVfYXJyb3dfa2V5X25hdmlnYXRpb25faW5fZHJvcGRvd24iKSl7dmFyIGw9Cl8ubkooay5jdXJyZW50VGFyZ2V0KTtpZihsLmxlbmd0aCE9PTApe3ZhciBtPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtzd2l0Y2goay5rZXkpe2Nhc2UgIkFycm93RG93biI6ay5wcmV2ZW50RGVmYXVsdCgpO2xbKG0rMSklbC5sZW5ndGhdPy5mb2N1cygpO2JyZWFrO2Nhc2UgIkFycm93VXAiOmsucHJldmVudERlZmF1bHQoKTt0SihsLG0pO2JyZWFrO2Nhc2UgIlRhYiI6ay5wcmV2ZW50RGVmYXVsdCgpLGsuc2hpZnRLZXk/dEoobCxtKTpsWyhtKzEpJWwubGVuZ3RoXT8uZm9jdXMoKX19fX19LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5saXN0SXRlbXN9LHtsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6a30pPT5fLksoXy5DRCx7ZGF0YTprLElhOmgsbmE6YixjZTpjLEJjOmQsaXNPdmVybGF5OmUsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmZ9KSx0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOmt9KT0+Xy5LKHhlYSwKe2RhdGE6ayxJYTpoLG5hOmIsQmM6ZH0pLGRvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWw6KCk9Pl8uSyhfLklCLG51bGwpLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOigpPT5fLksoXy5JQixudWxsKX0pKX0sIk0iKTtfLkJELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIkh4amxiYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLktKPW5ldyBfLkkoImJ1dHRvblZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNEPV8uTChhPT57ZnVuY3Rpb24gYihuKXt2YXIgcD1jKCk7dmFyIHI9ZCgpO3IhPT12b2lkIDA/cD1yOihyPV8uQihwLnNlY29uZGFyeUJ1dHRvbixfLktKKSxwPV8uQihwLnByaW1hcnlCdXR0b24sXy5LSik/LmlzRnVsbFdpZHRoIT09ITF8fHImJnI/LmlzRnVsbFdpZHRoIT09ITE/MTozKTtyZXR1cm4gbj09PXB9dmFyIHtkYXRhOmMsdHlwZTpkLGRpc2FibGVQYWRkaW5nOmUsTmk6ZixYcTpofT1fLkRDKGEse3R5cGU6dm9pZCAwLGRpc2FibGVQYWRkaW5nOiExLE5pOiExfSksaz0oKT0+YygpLnN0YWNraW5nPT09IlBBTkVMX0ZPT1RFUl9TVEFDS0lOR19WRVJUSUNBTCIsbD0oKT0+KHtkaXNhYmxlZDpmKCksc3RhdGU6ZigpPyJkaXNhYmxlZCI6ImFjdGl2ZSJ9KSxtPSgpPT5jKCkubGVhZGluZ0xhYmVsfHxjKCkudHJhaWxpbmdMYWJlbDtyZXR1cm4gXy5LKCJ5dC1wYW5lbC1mb290ZXItdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEhvc3QiLAp7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVyOigpPT5jKCkuc2hvdWxkSGlkZURpdmlkZXIseXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5nOmV9KX0sXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsVGV4dFJvdyIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxSb3dCb3R0b21QYWRkaW5nOigpPT57dmFyIG49YygpO3JldHVybiEoIW4ubGVhZGluZ0xhYmVsJiYhbi50cmFpbGluZ0xhYmVsfHwhbi5wcmltYXJ5QnV0dG9uJiYhbi5zZWNvbmRhcnlCdXR0b24pfX0pfSxfLksoXy5WLHt0ZXh0OigpPT5jKCkubGVhZGluZ0xhYmVsLGNsYXNzTmFtZTpfLlAoe3l0UGFuZWxGb290ZXJWaWV3TW9kZWxUZXh0UGFkZGluZzptfSl9KSxfLksoXy5WLHt0ZXh0OigpPT5jKCkudHJhaWxpbmdMYWJlbH0pKX0pLF8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2sifSwKXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UGFuZWxGb290ZXJWaWV3TW9kZWxQcmltYXJ5QnV0dG9uIix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblN0YWNrVG9wQnV0dG9uOigpPT5jKCkuc2Vjb25kYXJ5QnV0dG9ufSl9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5wcmltYXJ5QnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpufSk9Pl8uSyhfLkhELHtkYXRhOm4sYnV0dG9uT3ZlcnJpZGVzOmwsb25DbGljazpofSl9KSksXy5LKF8uVyx7ZGF0YTooKT0+YygpLnNlY29uZGFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDpfLkhEfSkpfSksXy5LKF8uTyx7QTooKT0+IWsoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvdyIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dUcmFpbGluZzooKT0+YigzKX0pfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0xlZnRCdXR0b24iLAp7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0Z1bGxXaWR0aDooKT0+YigxKSx5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93SGlkZGVuOigpPT4hYygpLnNlY29uZGFyeUJ1dHRvbnx8YigwKSx5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93U2hyaW5rOigpPT5iKDIpfSl9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5zZWNvbmRhcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6Xy5IRH0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbFByaW1hcnlCdXR0b24iLHt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RnVsbFdpZHRoOigpPT5iKDApfHxiKDEpLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dFeHBhbmQ6KCk9PmIoMil9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnByaW1hcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOm59KT0+Xy5LKF8uSEQse2RhdGE6bixidXR0b25PdmVycmlkZXM6bCwKb25DbGljazpofSl9KSkpfSkpfSwiRmEiKTtfLnNELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImxQV2prYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmVMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiakJpc2FmIik7cmV0dXJuIF8uVEN9O18uZkw9Xy5jRCgoKT0+Xy5lTCgpLCJiYWRnZVNoYXBlIik7Xy5ZdChfLkpELGE9PnthLkooImJhZGdlU2hhcGUiLCJqQmlzYWYiLF8uZUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdHcmVlbkNpcmNsZSI7Y2FzZSAxOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1llbGxvd0NpcmNsZSI7Y2FzZSAyOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1JlZFNxdWFyZSI7Y2FzZSAzOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsR3JlZW5TcXVhcmUiO2Nhc2UgNDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsdWVTcXVhcmUiO2Nhc2UgNTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZUJsdWVTcXVhcmUiO2Nhc2UgNjpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFllbGxvd1NxdWFyZSI7CmNhc2UgNzpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVllbGxvd1NxdWFyZSI7Y2FzZSA4OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsT3JhbmdlU3F1YXJlIjtjYXNlIDk6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VPcmFuZ2VTcXVhcmUiO2Nhc2UgMTA6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxSZWRTcXVhcmUiO2Nhc2UgMTE6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VSZWRTcXVhcmUiO2Nhc2UgMTI6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbGFja1NxdWFyZSI7Y2FzZSAxMzpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZUJsYWNrU3F1YXJlIn19LHpmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQkFER0VfQ09NTUVSQ0UiOmNhc2UgIkJBREdFX01FTUJFUlNfT05MWSI6cmV0dXJuIDEwOwpjYXNlICJCQURHRV9ESVNDT1VOVCI6cmV0dXJuIDg7Y2FzZSAiQkFER0VfU1RBVFVTX05FVyI6cmV0dXJuIDEzO2Nhc2UgIkJBREdFX1BSRU1JVU0iOnJldHVybiA3O2Nhc2UgIkJBREdFX1BST01PVEVEIjpyZXR1cm4gNDtjYXNlICJCQURHRV9QUk9NT1RFRF9JTlZFUlRFRCI6cmV0dXJuIDU7Y2FzZSAiQkFER0VfTUVESUEiOnJldHVybiAxO2Nhc2UgIkJBREdFX1RJTUVMWSI6cmV0dXJuIDY7Y2FzZSAiQkFER0VfTElWRV9OT1ciOnJldHVybiAxOTtjYXNlICJCQURHRV9TVEFUVVNfQ09NUExFVEUiOnJldHVybiAxNDtjYXNlICJCQURHRV9TVEFUVVNfV0FSTklORyI6cmV0dXJuIDE1O2Nhc2UgIkJBREdFX1NUQVRVU19FUlJPUiI6cmV0dXJuIDE2O2Nhc2UgIkJBREdFX1NUQVRVU19ERUZBVUxUIjpyZXR1cm4gMTc7ZGVmYXVsdDpyZXR1cm4gMH19LEFmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQkFER0VfTlpfUkFUSU5HX0dSRUVOX0NJUkNMRSI6cmV0dXJuIDA7Y2FzZSAiQkFER0VfTlpfUkFUSU5HX1lFTExPV19DSVJDTEUiOnJldHVybiAxOwpjYXNlICJCQURHRV9OWl9SQVRJTkdfUkVEX1NRVUFSRSI6cmV0dXJuIDI7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0dSRUVOX1NRVUFSRSI6cmV0dXJuIDM7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0JMVUVfU1FVQVJFIjpyZXR1cm4gNDtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfQkxVRV9TUVVBUkUiOnJldHVybiA1O2Nhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9ZRUxMT1dfU1FVQVJFIjpyZXR1cm4gNjtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfWUVMTE9XX1NRVUFSRSI6cmV0dXJuIDc7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX09SQU5HRV9TUVVBUkUiOnJldHVybiA4O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9PUkFOR0VfU1FVQVJFIjpyZXR1cm4gOTtjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfUkVEX1NRVUFSRSI6cmV0dXJuIDEwO2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9SRURfU1FVQVJFIjpyZXR1cm4gMTE7CmNhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9CTEFDS19TUVVBUkUiOnJldHVybiAxMjtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfQkxBQ0tfU1FVQVJFIjpyZXR1cm4gMTN9fTt2YXIgQmZhPV8uTCgoe2RhdGE6YX0pPT5fLksoImJyLW56LWJhZGdlLXNoYXBlIix7Y2xhc3M6Xy5QKCgpPT55ZmEoYSgpLnVpKSkscm9sZTooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0PyJpbWciOnZvaWQgMCwiYXJpYS1sYWJlbCI6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dH0sKCk9PmEoKT8udGV4dCksInVhIik7Xy5FRD1fLkwoYT0+e3ZhciBiPSgpPT57dmFyIGM9YS5kYXRhKCk7aWYoYyl7dmFyIGQ9ISFhLnpMPy4oKSxlPWEub2c/LigpLGY9YS5Eaj8uKCksaD1hLmVwPy4oKSxrPWEucXg/LigpO2E6c3dpdGNoKGMuYmFkZ2VTdHlsZSl7Y2FzZSAiQkFER0VfT1ZFUkxBWSI6dmFyIGw9ITA7YnJlYWsgYTtkZWZhdWx0Omw9ITF9Yz17dHlwZTpkPzE4OnpmYShjLmJhZGdlU3R5bGUpLHVpOkFmYShjLmJhZGdlU3R5bGUpLHRleHQ6Yy5iYWRnZVRleHQsaWNvbjpjLmljb25OYW1lLGlzT3ZlcmxheTpsLG9nOmV8fF8ueCgid2ViX21vZGVybl9iYWRnZV92aWV3X21vZGVsIiksYWNjZXNzaWJpbGl0eVRleHQ6Yy5hY2Nlc3NpYmlsaXR5TGFiZWx8fF8uQihjLnJlbmRlcmVyQ29udGV4dCxfLllDKT8ubGFiZWwsRGo6ZixlcDpoLG9BOmssbnM6Xy5CKGMudG9vbHRpcE9uSG92ZXIsXy5jSyk/LnRvb2x0aXBUZXh0fX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfTtyZXR1cm4gXy5LKCJ5dC1iYWRnZS12aWV3LW1vZGVsIiwKe2NsYXNzOl8uUCgieXRCYWRnZVZpZXdNb2RlbEhvc3QiLGEuY2xhc3MpfSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4hIWIoKT8udWl9LCgpPT5fLksoQmZhLHtkYXRhOigpPT5iKCl9KSksXy5LKF8uQ0Use3doZW46KCk9PiEhYigpJiYhYigpLnVpfSwoKT0+Xy5LKF8uZkwse2RhdGE6KCk9PmIoKX0pKSkpfSwidmEiKTtfLkVELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIlB6VWRaYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnZKPWZ1bmN0aW9uKGEsYixjLGQpe2R8fChkPXtidWJibGVzOiEwLGNhbmNlbGFibGU6ITEsY29tcG9zZWQ6ITB9KTtjIT09bnVsbCYmYyE9PXZvaWQgMCYmKGQuZGV0YWlsPWMpO3ZhciBlPW5ldyBDdXN0b21FdmVudChiLGQpO18uRUEoKCk9PnZvaWQgYS5kaXNwYXRjaEV2ZW50KGUpKTtyZXR1cm4gZX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZEw9ZnVuY3Rpb24oKXt9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnJFPV8uTChhPT57dmFyIHtGSTpiLGZGOmMscEM6ZCxhc3NldFR5cGU6ZSxRZzpmLGtoOmgsdms6ayx6azpsLFB3Om0scWs6bixVbzpwLGJ1dHRvblN0eWxlOnIsRXo6dCxQcjp2LGNvbnRlbnRBbGlnbm1lbnQ6eixpc0Z1bGxzY3JlZW46RSxrcDpBLHdpZHRoOkYsbWF4SGVpZ2h0OkMsdXE6RyxudDpELHNxOkgsbHQ6Un09Xy5EQyhhLHtQdzowLFVvOjAsYnV0dG9uU3R5bGU6MCxjb250ZW50QWxpZ25tZW50OjAsbWF4SGVpZ2h0OjAsaXNGdWxsc2NyZWVuOiExLGtwOiExLGtoOiEwLHVxOiExLHNxOiExfSk7YT10PygpPT50KHtidXR0b25PdmVycmlkZXM6KCk9Pih7c3R5bGU6cj8uKCk9PT0xPyJjYWxsLXRvLWFjdGlvbiI6Im1vbm8iLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9KSxjbGFzc05hbWU6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRCdXR0b246ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZVN0cmV0Y2hlZDooKT0+cD8uKCk9PT0KMHx8cD8uKCk9PT0yfSl9KTp2b2lkIDA7dmFyIE09dj8oKT0+dih7YnV0dG9uT3ZlcnJpZGVzOntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9LGNsYXNzTmFtZTpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkOigpPT5wPy4oKT09PTB8fHA/LigpPT09Mn0pfSk6dm9pZCAwLFM9KCk9PighIWYmJmgoKXx8ISFrfHwhIWwpJiZtKCk9PT0wO3JldHVybiBfLksoImRpYWxvZy1sYXlvdXQiLHtlbDpfLnJGKGIsXy5kTCksY2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRIb3N0OiEwLHl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW46RSx5dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZlOigpPT4hRSgpJiYhQSgpLHl0U3BlY0RpYWxvZ0xheW91dEV4dGVuZGVkTWF4SGVpZ2h0OigpPT5DKCk9PT0xLHl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SW5zZXQ6KCk9PgplPy4oKT09PTF9KSxzdHlsZTooKT0+Rj8uKCkhPT12b2lkIDA/YHdpZHRoOiAke0YoKX1weDtgOiIifSxjP18uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRJY29uOiEwLHl0U3BlY0RpYWxvZ0xheW91dEljb25BYm92ZU1lZGlhOigpPT4hIWQmJm0oKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0SWNvbkNlbnRlckFsaWduOigpPT56KCk9PT0xfSl9LF8uSyhjLG51bGwpKTpudWxsLF8uSyhfLk8se0E6Ryx0aGVuOigpPT5EP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lciJ9LF8uSyhELG51bGwpKTpudWxsLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTpTLHRoZW46KCk9Pl8uSyhZUCx7Y29udGVudEFsaWdubWVudDp6LHZrOmssems6bCxRZzpmLGtoOmgsVGw6ISFkfSl9KSxkP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dEFzc2V0In0sXy5LKGQse2NsYXNzTmFtZToieXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJdGVtIn0pKToKbnVsbCl9KSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVyOigpPT4hQSgpLHl0U3BlY0RpYWxvZ0xheW91dENlbnRlckFsaWduOigpPT56Py4oKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZzooKT0+IVMoKSYmIUEoKSYmIUcoKSYmIShmJiZoKCkmJiFEJiZtPy4oKT09PTEpfHwhIWQmJm0/LigpPT09MH0pfSxfLksoXy5PLHtBOigpPT5mJiZoKCkmJiFEJiZtPy4oKT09PTEsdGhlbjooKT0+Xy5LKFlQLHtjb250ZW50QWxpZ25tZW50Onosdms6ayx6azpsLFFnOmYsa2g6aCxUbDohMX0pfSksbj9fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50In0sXy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dENvbnRlbnRJbm5lcjooKT0+IUEoKX0pfSxfLksobixudWxsKSkpOm51bGwsXy5LKF8uTyx7QTpILHRoZW46KCk9PlI/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVyIn0sCl8uSyhSLG51bGwpKTpudWxsfSksYXx8TT9fLksoUmlhLHthdzpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEZvb3RlckNvbnRhaW5lcjohMCx5dFNwZWNEaWFsb2dMYXlvdXRGb290ZXI6ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc1N0YWNrZWQ6KCk9PnA/LigpPT09Mix5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lRW5kOigpPT5wPy4oKT09PTF9KSxZdDphLGN1Ok19KTpudWxsKSl9LCJQYiIpOwp2YXIgWVA9Xy5MKGE9Pnt2YXIge2NvbnRlbnRBbGlnbm1lbnQ6Yix2azpjLFFnOmQsa2g6ZSx6azpmLFRsOmgsRXY6a309Xy5EQyhhLHtUbDohMSxFdjohMH0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyQ29udGFpbmVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dIZWFkZXJBYm92ZUFzc2V0OmgseXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ246KCk9PmI/LigpPT09MSYmaygpfSl9LF8uSyhfLk8se0E6KCk9PmsoKSx0aGVuOigpPT5jP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dExlYWRpbmdBY3Rpb25IZWFkZXIifSxfLksoYyxudWxsKSk6bnVsbH0pLGQ/Xy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSygiaDIiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0VGl0bGUifSxfLksoZCxudWxsKSl9KTpudWxsLGY/Xy5LKCJkaXYiLG51bGwsCl8uSyhmLG51bGwpKTpudWxsKX0sIlFiIiksUmlhPV8uTCgoe2F3OmEsWXQ6YixjdTpjfSk9Pl8uSygiZGl2Iix7Y2xhc3M6YX0sYz9fLksoYyxudWxsKTpudWxsLGI/Xy5LKGIsbnVsbCk6bnVsbCksIlJiIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInZpVVdWIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYk09bmV3IF8uVnMoIkxPVFRJRV9MT0FERVJfVE9LRU4iKTtfLmNNPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixhbmltYXRpb25OYW1lOmMsYW5pbWF0aW9uUmVmOmQsR0k6ZX0pPT57dmFyIGY9Xy52RSgibG90dGllLWNvbXBvbmVudCIpLGg7Xy5ZdSgoKT0+dm9pZCBoPy5kZXN0cm95KCkpO3ZhciBrO18ubkUoKCk9Pnt2YXIgbD1fLkJ2KGMpO2lmKGwhPT1rKXtrPWw7dmFyIG09e2FuaW1hdGlvbk5hbWU6bCxhbmltYXRpb25SZWY6Xy5CdihkKSwuLi5fLkJ2KGEpfTt0cnl7Xy55KCkucmVzb2x2ZShfLmJNKSgpLnRoZW4obj0+e2g/LmRlc3Ryb3koKTt2YXIgcD1lPy4oKT8udmFsdWU/P2YudmFsdWUscj1tLmFuaW1hdGlvblJlZix0PW0ubGlzdGVuZXJzO249bi5sb2FkQW5pbWF0aW9uKHtjb250YWluZXI6cCxyZW5kZXJlclNldHRpbmdzOm0ucmVuZGVyZXJTZXR0aW5ncywuLi5tLmFuaW1hdGlvbkNvbmZpZ30pO3ImJihyLmxvdHRpZUVsPW4pO2lmKHQpZm9yKGxldCBbdix6XW9mIE9iamVjdC5lbnRyaWVzKHQpKXI9diwodD16KSYmbi5hZGRFdmVudExpc3RlbmVyKHIsCnQpO2g9bn0pfWNhdGNoKG4pe2w9IkxvdHRpZUNvbXBvbmVudCBlcnJvci4iLG4ubWVzc2FnZSYmKGwrPWAgT3JpZ2luYWwgZGVzY3JpcHRpb246ICR7bi5tZXNzYWdlfWApLF8uY3cobixsKSxfLklwKG4pLG0ubGlzdGVuZXJzPy5lcnJvciYmbS5saXN0ZW5lcnMuZXJyb3Iobil9fX0sInhPQ2s1Iik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PiFlPy4oKSx0aGVuOigpPT5fLksoImxvdHRpZS1jb21wb25lbnQiLHtjbGFzczpfLlAoInl0TG90dGllQ29tcG9uZW50SG9zdCIsYiksZWw6Zn0pfSl9LCJLYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgYmdhO2JnYT1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGgsayl7aWYoYi52YWx1ZT09PWsmJiFiLmNhbmNlbGxlZCl7Zm9yKDthLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5maXJzdENoaWxkKTthLmNsYXNzTGlzdC5hZGQoInl0U3BlY0ljb25TaGFwZUhvc3QiKTtoKGEsZCl9fXZhciBmPV8ueSgpLnJlc29sdmUoXy5YTCkucHkoYyk7dHlwZW9mIGY9PT0iZnVuY3Rpb24iPyhiLnZhbHVlPW51bGwsZShmLG51bGwpKTooYi52YWx1ZT1mLGYudGhlbihoPT57ZShoLGYpfSkpfTtfLlhMPW5ldyBfLlZzKCJJQ09OX01BTkFHRVJfVE9LRU4iKTtfLllMPV8uTChhPT57dmFyIGI9e3ZhbHVlOm51bGwsY2FuY2VsbGVkOiExfTtfLll1KCgpPT57Yi5jYW5jZWxsZWQ9ITB9KTt2YXIgYz1fLk4oYS5kYXRhLHtlcXVhbHM6KGQsZSk9PmQuaWNvbk5hbWU9PT1lLmljb25OYW1lJiZkLmljb25TdHlsZT09PWUuaWNvblN0eWxlJiZkLmljb25TaXplPT09ZS5pY29uU2l6ZSYmZC5seD09PWUubHgmJmQua3g9PT1lLmt4fSwiY2syNGpiIik7cmV0dXJuIF8uSygic3BhbiIse2NsYXNzOiJ5dC1pY29uLXNoYXBlIixlbDpfLnJGKGQ9PntfLm5FKCgpPT57dmFyIGU9YS5vcHRpb25zPy4oKSxmPWMoKTtiZ2EoZCxiLGYsZSl9LCJ2ODc4SmUiKX0pfSl9LCJIYSIpO18uWUwuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEVQPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDE4OmNhc2UgMTk6Y2FzZSAyMDpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0sR2lhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDM6cmV0dXJuInl0QmFkZ2VTaGFwZUFkIjtjYXNlIDE6cmV0dXJuInl0QmFkZ2VTaGFwZU1lZGlhIjtjYXNlIDI6cmV0dXJuInl0QmFkZ2VTaGFwZU1lZGlhT3ZlcmxheSI7Y2FzZSA0OnJldHVybiJ5dEJhZGdlU2hhcGVQcm9tb3RlZCI7Y2FzZSA1OnJldHVybiJ5dEJhZGdlU2hhcGVQcm9tb3RlZEludmVydGVkIjtjYXNlIDY6cmV0dXJuInl0QmFkZ2VTaGFwZVRpbWVseSI7Y2FzZSA3OnJldHVybiJ5dEJhZGdlU2hhcGVQcmVtaXVtIjtjYXNlIDg6cmV0dXJuInl0QmFkZ2VTaGFwZVNhbGUiO2Nhc2UgOTpyZXR1cm4ieXRCYWRnZVNoYXBlTWVtYmVyc2hpcCI7Y2FzZSAxMDpyZXR1cm4ieXRCYWRnZVNoYXBlQ29tbWVyY2UiO2Nhc2UgMTI6cmV0dXJuInl0QmFkZ2VTaGFwZUxpdmUiO2Nhc2UgMTM6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c05ldyI7CmNhc2UgMTQ6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c0NvbXBsZXRlIjtjYXNlIDE1OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNXYXJuaW5nIjtjYXNlIDE2OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNFcnJvciI7Y2FzZSAxNzpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdCI7Y2FzZSAxODpyZXR1cm4gXy54KCJlbmFibGVfbG9ja3VwX3JlZGVzaWduIik/Inl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbiI6Inl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHQiO2Nhc2UgMTk6cmV0dXJuInl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmUiO2Nhc2UgMjA6cmV0dXJuInl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwiO2RlZmF1bHQ6cmV0dXJuInl0QmFkZ2VTaGFwZURlZmF1bHQifX07dmFyIEhpYT1uZXcgU2V0KFsiT1VUTElORV9CQUciXSk7Cl8uVEM9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj0oKT0+e3ZhciBkPWEoKS5pY29uO2lmKGQpYTp7ZD1fLktEKGQpPy5pY29uTmFtZT8/ZDtsZXQgaD0ieW91dHViZV9maWxsIjtIaWEuaGFzKGQudG9VcHBlckNhc2UoKSkmJihoPSJ5b3V0dWJlX291dGxpbmUiKTtsZXQgaz1oPT09InlvdXR1YmVfZmlsbCI/InlvdXR1YmVfb3V0bGluZSI6InlvdXR1YmVfZmlsbCIsbD1fLnkoKS5yZXNvbHZlKF8uWEwpO3ZhciBlPVsxMiwyNF07Zm9yKGYgb2YgZSl7ZT17aWNvbk5hbWU6ZCxpY29uU3R5bGU6aCxpY29uU2l6ZTpmfTtsZXQgbT17aWNvbk5hbWU6ZCxpY29uU3R5bGU6ayxpY29uU2l6ZTpmfTtpZihsLmooZSkpe3ZhciBmPWU7YnJlYWsgYX1pZihsLmoobSkpe2Y9bTticmVhayBhfX1mPXZvaWQgMH1lbHNlIGY9dm9pZCAwO3JldHVybiBmfSxbY109Xy5iSygoKT0+YSgpLm5zKTtyZXR1cm4gXy5LKCJiYWRnZS1zaGFwZSIse2VsOl8uckYoZD0+e2MoZCl9KSxjbGFzczpfLlAoInl0QmFkZ2VTaGFwZUhvc3QiLAooKT0+R2lhKGEoKS50eXBlKSx7eXRCYWRnZVNoYXBlT3ZlcmxheTooKT0+YSgpLmlzT3ZlcmxheSx5dEJhZGdlU2hhcGVBZHNJbmNsdWRlRG90OigpPT5hKCkuQm8seXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2U6KCk9PkVQKGEoKS50eXBlKSx5dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZVJlZGVzaWduOigpPT5fLngoImVuYWJsZV9sb2NrdXBfcmVkZXNpZ24iKSYmRVAoYSgpLnR5cGUpLHl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlOigpPT57YTpzd2l0Y2goYSgpLnR5cGUpe2Nhc2UgMTM6Y2FzZSAxNDpjYXNlIDE1OmNhc2UgMTY6Y2FzZSAxNzp2YXIgZD0hMDticmVhayBhO2RlZmF1bHQ6ZD0hMX1yZXR1cm4gZH0seXRCYWRnZVNoYXBlTm9UZXh0OigpPT4hYSgpLnRleHQseXRCYWRnZVNoYXBlSXNFbXB0eTooKT0+IWEoKS50ZXh0JiYhYSgpLmljb24mJiFhKCkuYW5pbWF0aW9uLHl0QmFkZ2VTaGFwZU1vZGVybjooKT0+YSgpLm9nfHxfLngoIndlYl9tb2Rlcm5fYmFkZ2Vfc2hhcGUiKSwKeXRCYWRnZVNoYXBlVHlwb2dyYXBoeTooKT0+e2E6e3ZhciBkPWEoKTtpZihkLm9BKXN3aXRjaChkLnR5cGUpe2Nhc2UgMDpjYXNlIDE6Y2FzZSAxMDpkPSEwO2JyZWFrIGE7ZGVmYXVsdDpkPSExfWVsc2UgZD0hMX1yZXR1cm4hZH0seXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2U6KCk9PmEoKS5HeSx5dEJhZGdlU2hhcGVMYXJnZUZvbnRBZEJhZGdlOigpPT5hKCkuanl9KSxzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6KCk9PmEoKS5jdXN0b21Db2xvcnM/LmJhY2tncm91bmRDb2xvcn0pLHJvbGU6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dD8iaW1nIjp2b2lkIDAsImFyaWEtbGFiZWwiOigpPT5hKCkuYWNjZXNzaWJpbGl0eVRleHR9LF8uSyhfLk8se0E6KCk9PmEoKS5hbmltYXRpb24sdGhlbjpkPT5fLksoXy5jTSx7Y2xhc3NOYW1lOiJ5dEJhZGdlU2hhcGVJY29uIixkYXRhOmQsYW5pbWF0aW9uTmFtZTooKT0+ZCgpLmFuaW1hdGlvbkNvbmZpZy5uYW1lfHwiIn0pfSksCl8uSyhfLk8se0E6KCk9PmIoKSYmIWEoKT8uYW5pbWF0aW9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0QmFkZ2VTaGFwZUljb24ifSxfLksoXy5ZTCx7ZGF0YTooKT0+YigpfSkpfSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0QmFkZ2VTaGFwZVRleHQiLHt5dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvdzooKT0+YSgpLmVwLHl0QmFkZ2VTaGFwZVRleHRIYXNNdWx0aXBsZUJhZGdlc0luUm93OigpPT4oYSgpLkRqfHwwKT4xfSl9LCgpPT5hKCk/LnRleHQpKX0sInliIik7Xy5UQy5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJqQmlzYWYiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJKO18ud0o9ZnVuY3Rpb24oYSxiLGMsZD0wKXsoZD1fLmlxKGQpKSYmXy5meChhLmNsaWVudCxkLGIsYyl9O18ueEo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmdldFNjcmVlbkxheWVyJiZiLmdldFNjcmVlbkxheWVyKCk7Yi52aXN1YWxFbGVtZW50P18ud0ooYSxiLnZpc3VhbEVsZW1lbnQsdm9pZCAwLGMpOihfLkR4KCksYj1fLlZpKF8uQngoKS5qKS5iaW5kKF8uQngoKSkoYiksYS5DZihiLHZvaWQgMCxjKSl9O18ueUo9ZnVuY3Rpb24oYSxiLGMpe18uVmkoXy5meCkodm9pZCAwLGEsYixjLHZvaWQgMCl9O18ueko9ZnVuY3Rpb24oYSxiPTApeyhiPV8uaXEoYikpJiZhJiZfLnlKKGIsXy5VdyhhKSl9O18uQUo9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5nRS5wdXNoKHtjb21tYW5kOmEsc291cmNlRGF0YTpiLGNvbW1hbmRDb250ZXh0OmR9KTtjJiZhLmNsaWNrVHJhY2tpbmdQYXJhbXMmJl8uekooYS5jbGlja1RyYWNraW5nUGFyYW1zKX07CkJKPWZ1bmN0aW9uKGEpe2lmKCFhPy5ydW5zKXJldHVybiEwO2ZvcihsZXQgYiBvZiBhLnJ1bnMpaWYoYi5icmFja2V0fHxiLmVycm9yVW5kZXJsaW5lfHxiLmRlZW1waGFzaXplfHxfLkIoYixfLlhjYSl8fF8uQihiLF8uWWNhKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5DSj1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLnNpbXBsZVRleHQ/YS5zaW1wbGVUZXh0OmEucnVucz9hLnJ1bnMubWFwKGI9PmIudGV4dCkuam9pbigiIik6IiI6IiJ9O18uREo9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYS5sYWJlbD9hLmxhYmVsOl8uREooYS5hY2Nlc3NpYmlsaXR5RGF0YSl9O18uRGVhPW5ldyBfLkkoInlwY09mZmVyc0VuZHBvaW50Iik7Xy5FZWE9bmV3IF8uSSgieXBjR2V0T2ZmZXJzRW5kcG9pbnQiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGhlbWUtbWV0YSIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKTtfLkZlYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyIik7Xy5FSj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWNvbnRhaW5lci1pZCIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udHJvbC1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWVuZHNjcmVlbi1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLXNob3J0cy1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWNpbmVtYXRpY3MtY29udGFpbmVyIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ1bGwtc2NyZWVuLWNvbnRlbnQtaWQiKTtfLkZKPV8uS3koImluaXQiKTt2YXIgR0o7CkdKPV8uTCgoe3J1bjphLG1hOmJ9KT0+e3ZhciBjPSgpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50O3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuYm9sZH0sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLGJvbGQ6dm9pZCAwfSksdm9pZCAwLCJTbFpsNiIpO3JldHVybiBfLksoInN0cm9uZyIse2NsYXNzOiJmb3JtYXR0ZWQtc3RyaW5nLWJvbGQifSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLmRlZW1waGFzaXplfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksZGVlbXBoYXNpemU6dm9pZCAwfSksdm9pZCAwLCJ5SXh3ZGQiKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6ImZvcm1hdHRlZC1zdHJpbmctZGVlbXBoYXNpemUifSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLml0YWxpY3N9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxpdGFsaWNzOnZvaWQgMH0pLHZvaWQgMCwKIlFOWEhIYiIpO3JldHVybiBfLksoImVtIixudWxsLF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkudGV4dENvbG9yfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksdGV4dENvbG9yOnZvaWQgMH0pLHZvaWQgMCwieEplRzNiIik7cmV0dXJuIF8uSygic3BhbiIse3N0eWxlOigpPT5gY29sb3I6ICR7Xy5KRShhKCkudGV4dENvbG9yKX1gfSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLnN0cmlrZXRocm91Z2h9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxzdHJpa2V0aHJvdWdoOnZvaWQgMH0pLHZvaWQgMCwiWENSNmhkIik7cmV0dXJuIF8uSygicyIsbnVsbCxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+IWEoKS5uYXZpZ2F0aW9uRW5kcG9pbnR8fGIoKX0sKCk9Pl8uSyhfLklCLG51bGwsKCk9PmEoKS50ZXh0KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKF8ubkgse2NvbW1hbmQ6YywKdGFiSW5kZXg6MH0sXy5LKF8uSUIsbnVsbCwoKT0+YSgpLnRleHQpKSkpfSwiTiIpOwpfLklKPV8uTCgoe2RhdGE6YSwuLi5ifSk9Pnt2YXIgYz0oKT0+Yi5tYT8uKCksZD0oKT0+Yi51Yj8uKCksZT0oKT0+Yi5JZD8uKCksZj0oKT0+Yi51c2VySW5wdXQ/LigpLGg9KCk9PmIuWGE/LigpLGs9KCk9PmIucmc/LigpPz8hMDtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+IShhPy4oKSYmT2JqZWN0LmtleXMoYSgpKS5sZW5ndGgpfSwoKT0+bnVsbCksXy5LKF8uQ0Use3doZW46KCk9Pnt2YXIgbDtpZihsPUJKKGEoKSkpbD1hKCksbD0hIShsPy5jb250ZW50IT09dm9pZCAwP2w6Xy5BRihsKSkuY29udGVudDtyZXR1cm4gbH19LCgpPT5fLksoXy5WLHt0ZXh0OmEsYXJpYUxhYmVsOigpPT5fLkRKKGEoKS5hY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YSksWGE6aCxtYTpjLHViOmQscmc6ayxJZDplLHVzZXJJbnB1dDpmLFl1OiEwfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5CSihhKCkpfSwoKT0+bnVsbCksXy5LKF8uQ0Use3doZW46KCk9Pnt2YXIgbDsKaWYoKGw9YT8uKCkmJk9iamVjdC5rZXlzKGEoKSkubGVuZ3RoKSYmIShsPWEoKS5hY2Nlc3NpYmlsaXR5KSlhOntsPWEoKTtpZihsLnJ1bnMpZm9yKGxldCBtIG9mIGwucnVucylpZihtLm5hdmlnYXRpb25FbmRwb2ludCl7bD0hMTticmVhayBhfWw9ITB9cmV0dXJuIGwmJmEoKS5ydW5zJiZhKCkucnVucy5sZW5ndGg+MX19LCgpPT5fLksoInNwYW4iLHsiYXJpYS1sYWJlbCI6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhKSxjbGFzczoiZm9ybWF0dGVkLXN0cmluZy10ZXh0Iixyb2xlOiJ0ZXh0In0sXy5LKEhKLHtzaW1wbGVUZXh0OigpPT5hKCkuc2ltcGxlVGV4dCxydW5zOigpPT5hKCkucnVucyxtYTpjfSkpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoSEose3NpbXBsZVRleHQ6KCk9PmEoKS5zaW1wbGVUZXh0LHJ1bnM6KCk9PmEoKS5ydW5zLG1hOmN9KSkpfSwiTyIpO18uSUouaWRvbUNvbXBhdD0hMDsKdmFyIEhKPV8uTCgoe3NpbXBsZVRleHQ6YSxydW5zOmIsbWE6Y30pPT5fLksoXy5PLHtBOigpPT5hJiZhKCksdGhlbjpkPT5kLFc6KCk9Pl8uSyhfLk8se0E6KCk9PmImJmIoKSx0aGVuOmQ9Pl8uSyhfLmdHLHtwYTpkLHRiOiJJTkRFWCJ9LGU9Pl8uSyhHSix7cnVuOmUsbWE6KCk9PiEhYz8uKCl9KSl9KX0pLCJQIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTEo9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJaUUt4MSIpO3JldHVybiBfLlZDfTtfLk1KPV8uY0QoKCk9Pl8uTEooKSwiYnV0dG9uT3JBbmNob3IiKTtfLll0KF8uSkQsYT0+e2EuSigiYnV0dG9uT3JBbmNob3IiLCJaUUt4MSIsXy5MSil9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFlLO1lLPWE9PmI9PigpPT5iPy4oKSE9PXZvaWQgMD9TdHJpbmcoYigpKSthOnZvaWQgMDtfLlpLPVlLKCJweCIpO18ueGZhPVlLKCIlIik7Xy4kSz1ZSygicyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFMPWZ1bmN0aW9uKC4uLmEpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKWlmKGMpaWYodHlwZW9mIGM9PT0ic3RyaW5nIiliLnB1c2goYyk7ZWxzZSBmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYykpYT1kLGUmJmIucHVzaChhKTtyZXR1cm4gYi5qb2luKCIgIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmJMPW5ldyBfLlZzKCJQQU5FTF9DT05UUk9MTEVSX1RPS0VOIik7Xy5jTD1uZXcgXy5WcygiU0hFRVRfQ09OVFJPTExFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicjlLTWpiIik7cmV0dXJuIF8uJEN9O18uaEw9Xy5jRCgoKT0+Xy5nTCgpLCJ1cHNlbGxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidXBzZWxsVmlld01vZGVsIiwicjlLTWpiIixfLmdMKX0pO18uaUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWY0dTOCIpO3JldHVybiBfLkVDfTtfLmpMPV8uY0QoKCk9Pl8uaUwoKSwibWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooIm1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbCIsIlZjR1M4IixfLmlMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZMPW5ldyBfLkkoImJ1dHRvblJlbmRlcmVyIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV0w9ZnVuY3Rpb24oYSl7cmV0dXJue3J1bnM6W3t0ZXh0OmF9XX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlpMPV8uTChhPT57KHt3cmFwcGVyOmF9PV8uREMoYSx7d3JhcHBlcjohMX0pKTtyZXR1cm4gXy5LKF8uTyx7QTphLHRoZW46KCk9Pl8uSygieXQtc3Bpbm5lci1zaGFwZSIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVdyYXBwZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVNwaW5uZXIifSkpLFc6KCk9Pl8uSygieXQtc3Bpbm5lci1zaGFwZSIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVNwaW5uZXIifSl9KX0sIklhIik7Xy5aTC5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLiRMPXtFbzohMSxscTohMSx2cDoiIix1cDoiIix3cjohMSxDcTohMX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYU09ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0wfHxhPT09MX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBlTSxjZ2EsZGdhLGZNLGdNLGlNLGpNLGVnYSxnZ2EsaWdhLGtnYSxtZ2Esb2dhLHBNLHBnYSxxZ2Esbk07Xy5kTT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSlyZXR1cm4gYn07ZU09ZnVuY3Rpb24oLi4uYSl7cmV0dXJuIGEubGVuZ3RoPT09MD9iPT5iOmEubGVuZ3RoPT09MT9hWzBdOmEucmVkdWNlKChiLGMpPT4oLi4uZCk9PmIoYyguLi5kKSkpfTtjZ2E9ZnVuY3Rpb24oKXt2YXIgYT1bXTtyZXR1cm4gYj0+KGMsZCk9PntjPWIoYyxkKTt2YXIgZT0oKT0+e3Rocm93IEVycm9yKCJRYiIpO30sZj17Z2V0U3RhdGU6Yy5nZXRTdGF0ZSxkaXNwYXRjaDooaCwuLi5rKT0+ZShoLC4uLmspfTtkPWEubWFwKGg9PmgoZikpO2U9ZU0oLi4uZCkoYy5kaXNwYXRjaCk7cmV0dXJuey4uLmMsZGlzcGF0Y2g6ZX19fTsKZGdhPWZ1bmN0aW9uKGEpe09iamVjdC5rZXlzKGEpLmZvckVhY2goYj0+e3ZhciBjPWFbYl07aWYodHlwZW9mIGModm9pZCAwLHt0eXBlOl8ubUF9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCJSYmAiK2IpO2lmKHR5cGVvZiBjKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7Xy5sQSgpfWB9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCJTYmAiK2IrImAiK18ubUEpO30pfTsKZk09ZnVuY3Rpb24oYSl7dmFyIGI9T2JqZWN0LmtleXMoYSksYz17fTtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKyl7bGV0IGg9YltmXTt0eXBlb2YgYVtoXT09PSJmdW5jdGlvbiImJihjW2hdPWFbaF0pfXZhciBkPU9iamVjdC5rZXlzKGMpO3RyeXtkZ2EoYyl9Y2F0Y2goZil7dmFyIGU9Zn1yZXR1cm4gZnVuY3Rpb24oZj17fSxoKXtpZihlKXRocm93IGU7dmFyIGs9ITEsbD17fTtmb3IobGV0IG09MDttPGQubGVuZ3RoO20rKyl7bGV0IG49ZFttXSxwPWZbbl0scj0oMCxjW25dKShwLGgpO2lmKHR5cGVvZiByPT09InVuZGVmaW5lZCIpdGhyb3cgZj1oJiZoLnR5cGUsRXJyb3IoIlRiYCIrKGY/YCIke1N0cmluZyhmKX0iYDoiKHVua25vd24gdHlwZSkiKSsiYCIrbik7bFtuXT1yO2s9a3x8ciE9PXB9cmV0dXJuKGs9a3x8ZC5sZW5ndGghPT1PYmplY3Qua2V5cyhmKS5sZW5ndGgpP2w6Zn19OwpnTT1mdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZCgpe2lmKG4pdGhyb3cgRXJyb3IoIlViIik7cmV0dXJuIGt9ZnVuY3Rpb24gZShyKXtpZih0eXBlb2YgciE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIlZiYCIrdHlwZW9mIHIpO2lmKG4pdGhyb3cgRXJyb3IoIldiIik7dmFyIHQ9ITA7bT09PWwmJihtPWwuc2xpY2UoKSk7bS5wdXNoKHIpO3JldHVybiBmdW5jdGlvbigpe2lmKHQpe2lmKG4pdGhyb3cgRXJyb3IoIlhiIik7dD0hMTttPT09bCYmKG09bC5zbGljZSgpKTt2YXIgdj1tLmluZGV4T2Yocik7bS5zcGxpY2UodiwxKTtsPW51bGx9fX1mdW5jdGlvbiBmKHIpe2lmKHR5cGVvZiByIT09Im9iamVjdCJ8fHI9PT1udWxsKXZhciB0PSExO2Vsc2V7Zm9yKHQ9cjtPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkhPT1udWxsOyl0PU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTt0PU9iamVjdC5nZXRQcm90b3R5cGVPZihyKT09PXR9aWYoIXQpdGhyb3cgRXJyb3IoIlliYCIrdHlwZW9mIHIpOwppZih0eXBlb2Ygci50eXBlPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlpiIik7aWYobil0aHJvdyBFcnJvcigiJGIiKTt0cnl7bj0hMCxrPWgoayxyKX1maW5hbGx5e249ITF9dD1sPW07Zm9yKGxldCB2PTA7djx0Lmxlbmd0aDt2KyspKDAsdFt2XSkoKTtyZXR1cm4gcn1pZih0eXBlb2YgYj09PSJmdW5jdGlvbiImJnR5cGVvZiBjPT09ImZ1bmN0aW9uInx8dHlwZW9mIGM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiYWMiKTt0eXBlb2YgYj09PSJmdW5jdGlvbiImJnR5cGVvZiBjPT09InVuZGVmaW5lZCImJihjPWIsYj12b2lkIDApO2lmKHR5cGVvZiBjIT09InVuZGVmaW5lZCIpe2lmKHR5cGVvZiBjIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiYmNgIit0eXBlb2YgYyk7cmV0dXJuIGMoZ00pKGEsYil9aWYodHlwZW9mIGEhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJjY2AiK3R5cGVvZiBhKTt2YXIgaD1hLGs9CmIsbD1bXSxtPWwsbj0hMTtmKHt0eXBlOl8ubUF9KTt2YXIgcD17ZGlzcGF0Y2g6ZixzdWJzY3JpYmU6ZSxnZXRTdGF0ZTpkLHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHIpe2lmKHR5cGVvZiByIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiZGNgIit0eXBlb2Ygcik7aD1yO2Yoe3R5cGU6Xy5SYWF9KTtyZXR1cm4gcH0sW18ubkFdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShyKXtmdW5jdGlvbiB0KCl7ci5uZXh0JiZyLm5leHQoZCgpKX1pZih0eXBlb2YgciE9PSJvYmplY3QifHxyPT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJlY2AiK3R5cGVvZiByKTt0KCk7cmV0dXJue3Vuc3Vic2NyaWJlOmUodCl9fSxbXy5uQV0oKXtyZXR1cm4gdGhpc319fX07cmV0dXJuIHB9OwpfLmhNPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17Li4uYX07Zm9yKGxldCBlIG9mIE9iamVjdC5rZXlzKGIpKXtsZXQgZj1hW2VdLGg9YltlXTtpZihoPT09dm9pZCAwKWRlbGV0ZSBkW2VdO2Vsc2UgaWYoZj09PXZvaWQgMClkW2VdPWg7ZWxzZSBpZihBcnJheS5pc0FycmF5KGgpJiZBcnJheS5pc0FycmF5KGYpKWRbZV09Yz9bLi4uZiwuLi5oXTpoO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoaCkmJl8uQWEoaCkmJiFBcnJheS5pc0FycmF5KGYpJiZfLkFhKGYpKWRbZV09Xy5oTShmLGgsYyk7ZWxzZSBpZih0eXBlb2YgaD09PXR5cGVvZiBmKWRbZV09aDtlbHNlIHJldHVybiBiPW5ldyBfLlhqKCJBdHRlbXB0ZWQgdG8gbWVyZ2UgZmllbGRzIG9mIGRpZmZlcmluZyB0eXBlcy4iLHtuYW1lOiJEZWVwTWVyZ2VFcnJvciIsa2V5OmUsSGo6Zix1cGRhdGVWYWx1ZTpofSksXy5HcChiKSxhfXJldHVybiBkfTsKaU09ZnVuY3Rpb24oYSxiLGMsZCl7aWYoZD09PXZvaWQgMCl7bGV0IHtbY106ZSwuLi5mfT1hW2JdfHx7fTtyZXR1cm57Li4uYSxbYl06Zn19cmV0dXJuey4uLmEsW2JdOnsuLi5hW2JdLFtjXTpkfX19O2pNPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YVtiXXx8e30saD1mW2NdO2lmKCFoJiYhXy54KCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIGE7ZD1fLmhNKGh8fHt9LGQsZT09PSJSRVBFQVRFRF9GSUVMRFNfTUVSR0VfT1BUSU9OX0FQUEVORCIpO3JldHVybnsuLi5hLFtiXTp7Li4uZixbY106ZH19fTsKZWdhPWZ1bmN0aW9uKGE9e30sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRU5USVRZX0xPQURFRCI6cmV0dXJuIGIucGF5bG9hZC5yZWR1Y2UoKGMsZCk9Pnt2YXIgZT1kLm9wdGlvbnM/LnBlcnNpc3RlbmNlT3B0aW9uO2lmKGUmJmUhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9VTktOT1dOIiYmZSE9PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX0lOTUVNT1JZX0FORF9QRVJTSVNUIilyZXR1cm4gYztpZighZC5lbnRpdHlLZXkpcmV0dXJuIF8uR3AoRXJyb3IoImdjIikpLGM7aWYoZC50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1JFUExBQ0UiKXtpZighZC5wYXlsb2FkKXJldHVybiBkPW5ldyBfLlhqKCJSRVBMQUNFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpkLmVudGl0eUtleX0pLF8uR3AoZCksYzt2YXIgZj1fLmRNKGQucGF5bG9hZCk7cmV0dXJuIGlNKGMsZixkLmVudGl0eUtleSxkLnBheWxvYWRbZl0pfWlmKGQudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7ZD1kLmVudGl0eUtleTt0cnl7bGV0IGg9Xy5HSChkKS5lbnRpdHlUeXBlO2Y9aU0oYyxoLGQpO2JyZWFrIGF9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIEVycm9yKXtkPW5ldyBfLlhqKCJGYWlsZWQgdG8gZGVzZXJpYWxpemUgZW50aXR5IGtleSIse2VudGl0eUtleTpkLG9yaWdpbmFsTWVzc2FnZTpoLm1lc3NhZ2V9KTtfLkdwKGQpO2Y9YzticmVhayBhfXRocm93IGg7fWY9dm9pZCAwfXJldHVybiBmfWlmKGQudHlwZT09PSJFTlRJVFlfTVVUQVRJT05fVFlQRV9VUERBVEUiKXtpZighZC5wYXlsb2FkKXJldHVybiBkPW5ldyBfLlhqKCJVUERBVEUgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmQuZW50aXR5S2V5fSksXy5HcChkKSxjO2Y9Xy5kTShkLnBheWxvYWQpO3JldHVybiBqTShjLGYsZC5lbnRpdHlLZXksZC5wYXlsb2FkW2ZdLGQuZmllbGRNYXNrPy5tZXJnZU9wdGlvbnM/LnJlcGVhdGVkRmllbGRzTWVyZ2VPcHRpb24pfXJldHVybiBjfSwKYSk7Y2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBpTShhLGIucGF5bG9hZC5lbnRpdHlUeXBlLGIucGF5bG9hZC5rZXksYi5wYXlsb2FkLnhsKTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoYi5wYXlsb2FkKS5yZWR1Y2UoKGMsZCk9Pnt2YXIgZT1iLnBheWxvYWRbZF07cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoZixoKT0+aU0oZixkLGgsZVtoXSksYyl9LGEpO2Nhc2UgIlVQREFURV9FTlRJVFkiOnJldHVybiBqTShhLGIucGF5bG9hZC5lbnRpdHlUeXBlLGIucGF5bG9hZC5rZXksYi5wYXlsb2FkLnhsLGIucGF5bG9hZC5JeSk7ZGVmYXVsdDpyZXR1cm4gYX19OwpfLmxNPWZ1bmN0aW9uKCl7aWYoXy5rTSlyZXR1cm4gXy5rTTtpZih3aW5kb3cubG90dGllKXJldHVybiBfLmtNPVByb21pc2UucmVzb2x2ZSh3aW5kb3cubG90dGllKTt2YXIgYT1fLmh3KF8udygiTE9UVElFX1VSTCIpKTtyZXR1cm4gYT9fLmtNPW5ldyBQcm9taXNlKChiLGMpPT57dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ZC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e2IobG90dGllKX0pO2QuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGU9Pnt2YXIgZj0iTG90dGllIGxpYnJhcnkgZmFpbGVkIHRvIGxvYWQuIjtlP2UubWVzc2FnZSYmKGYrPWAgT3JpZ2luYWwgZGVzY3JpcHRpb246ICR7ZS5tZXNzYWdlfWAsXy5jdyhlLGYpKTplPUVycm9yKGYpO18uSXAoZSk7YyhlKX0pO2Quc2V0QXR0cmlidXRlKCJhc3luYyIsIiIpO18ub2IoZCxhKTtkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGQpfSk6UHJvbWlzZS5yZWplY3QoRXJyb3IoIkJkIikpfTsKZ2dhPWZ1bmN0aW9uKGE9ZmdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19CT1RUT01fU0hFRVRfT1BFTl9TVEFURSI6cmV0dXJuey4uLmEsamo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07aWdhPWZ1bmN0aW9uKGE9aGdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9DSU5FTUFUSUNfU0VUVElOR19TVEFURSI6cmV0dXJuey4uLmEsaXNBbGxvd2VkOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19OwprZ2E9ZnVuY3Rpb24oYT1qZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0VSUk9SX01FU1NBR0VfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSxlcnJvck1lc3NhZ2U6Yi5wYXlsb2FkfTtjYXNlICJTRVRfVElUTEVfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSx0aXRsZTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9QUklWQUNZX0NSRUFURV9QTEFZTElTVF9TVEFURSI6cmV0dXJuey4uLmEscHJpdmFjeTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9JU19ESVNBQkxFRF9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLGlzRGlzYWJsZWQ6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07bWdhPWZ1bmN0aW9uKGE9bGdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19EUkFXRVJfTEFZT1VUX09QRU5fU1RBVEUiOnJldHVybnsuLi5hLGpqOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19OwpvZ2E9ZnVuY3Rpb24oYT1uZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0ZVTExTQ1JFRU5fU1RBVEUiOnJldHVybnsuLi5hLGlzRnVsbHNjcmVlbjpiLnBheWxvYWR9O2Nhc2UgIlNFVF9OQVZJR0FUSU9OX0JVVFRPTiI6dmFyIGM9ey4uLmEubmF2aWdhdGlvbkJ1dHRvbnN9O2NbYi5wYXlsb2FkLnRhcmdldElkXT1iLnBheWxvYWQuYnV0dG9uO3JldHVybnsuLi5hLG5hdmlnYXRpb25CdXR0b25zOmN9O2Nhc2UgIlNFVF9UT1BfUEFORUxfSURfU1RBVEUiOnJldHVybnsuLi5hLHFzOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NFQ09OREFSWV9IRUFERVIiOnJldHVybiBjPXsuLi5hLnNlY29uZGFyeUhlYWRlcn0sY1tiLnBheWxvYWQucGFuZWxJZF09Yi5wYXlsb2FkLnNlY29uZGFyeUhlYWRlcix7Li4uYSxzZWNvbmRhcnlIZWFkZXI6Y307ZGVmYXVsdDpyZXR1cm4gYX19O18ub009ZnVuY3Rpb24oKXttTXx8KG1NPW5ldyBuTSk7cmV0dXJuIG1NfTsKcE09ZnVuY3Rpb24oYSxiKXtiPWI/LkFzfHxfLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtzd2l0Y2goYSl7Y2FzZSAiTElLRSI6YT1fLm9NKCkuZ2V0U3RhdGUoKTthPShhPV8ucUEoYS5lbnRpdGllcywibGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eSIsIkVoeHNhV3RsWDJKMWRIUnZibDloYm1sdFlYUnBiMjVmWlc1MGFYUjVJTGNFS0FFJTNEIikpJiZhLmFuaW1hdGlvbkxpZ2h0VXJsJiZhLmFuaW1hdGlvbkRhcmtVcmw/e0VjOnthbmltYXRpb25Db25maWc6e25hbWU6Yj8iY3VzdG9tX2FuaW1hdGVkX2xpa2VfaWNvbl9kYXJrIjoiY3VzdG9tX2FuaW1hdGVkX2xpa2VfaWNvbiIscGF0aDpiP2EuYW5pbWF0aW9uRGFya1VybDphLmFuaW1hdGlvbkxpZ2h0VXJsLGxvb3A6ITEsYXV0b3BsYXk6ITEscmVuZGVyZXJTZXR0aW5nczp7dmlld0JveE9ubHk6ITAsY2xhc3NOYW1lOiJjdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIn19fSx0b3RhbEZyYW1lczoxMjAsemg6ITB9OnZvaWQgMDsKaWYoYSlyZXR1cm4gYTtiPWBhbmltYXRlZF9saWtlX2ljb25fJHtiPyJkYXJrIjoibGlnaHQifV92NWA7cmV0dXJue0VjOnthbmltYXRpb25Db25maWc6e25hbWU6YixwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvYW5pbWF0ZWRfbGlrZV9pY29uLyR7Yn0uanNvbmAsbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImFuaW1hdGVkLWxpa2UtaWNvbiJ9fX0sdG90YWxGcmFtZXM6MTIwLHpoOiEwfTtjYXNlICJOT1RJRklDQVRJT05fQkVMTCI6cmV0dXJue0VjOnthbmltYXRpb25Db25maWc6e25hbWU6Yj8ibm90aWZpY2F0aW9uX2JlbGxfZGFyayI6Im5vdGlmaWNhdGlvbl9iZWxsX2xpZ2h0IixwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX2JlbGxfaWNvbl8ke2I/ImRhcmsiOiJsaWdodCJ9X3Y0Lmpzb25gLApsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e2NsYXNzTmFtZToiYW5pbWF0ZWQtc3Vic2NyaWJlLWljb24ifX19LHRvdGFsRnJhbWVzOjEyMCx6aDohMX19fTtwZ2E9ZnVuY3Rpb24oYSxiKXtfLmpmLnBiKGFzeW5jKCk9Pnt0cnl7YXdhaXQgXy5sTSgpO2xldCBjPWF3YWl0IChhd2FpdCBmZXRjaChhKSkuanNvbigpO3FNLnNldChhLGMpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2IoYyl9KX1jYXRjaChjKXtfLklwKGMpfX0pfTtxZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9e2FuaW1hdGlvbkNvbmZpZzp7fSxsaXN0ZW5lcnM6e319LGM9KCk9PnthKCEwKX07Yi5saXN0ZW5lcnMuckk9YztiLmxpc3RlbmVycy5lcnJvcj1jO2IubGlzdGVuZXJzLnNJPSgpPT57YSghMSl9O3JldHVybiBifTsKbk09Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgYT1mTSh7ZW5nYWdlbWVudFBhbmVsOm9nYSx0aTpnZ2EsZUk6aWdhLERwOm1nYSxtSTprZ2EsUUo6cmdhLEJLOnNnYSxDSzp0Z2EsLi4udWdhLC4uLnZnYX0pLGI9ZU0oY2dhKCkpO3RoaXMuc3RvcmU9Z00oYSx2b2lkIDAsYil9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdG9yZS5nZXRTdGF0ZSgpfWRpc3BhdGNoKGEpe3JldHVybiB0aGlzLnN0b3JlLmRpc3BhdGNoKGEpfXN1YnNjcmliZShhKXtyZXR1cm4gdGhpcy5zdG9yZS5zdWJzY3JpYmUoYSl9cmVwbGFjZVJlZHVjZXIoYSl7cmV0dXJuIHRoaXMuc3RvcmUucmVwbGFjZVJlZHVjZXIoYSl9W1N5bWJvbC5vYnNlcnZhYmxlXSgpe3JldHVybiB0aGlzLnN0b3JlW1N5bWJvbC5vYnNlcnZhYmxlXSgpfX07dmFyIHFNPW5ldyBNYXA7dmFyIHdnYT17SnA6bnVsbH07dmFyIHVnYT17VHI6ZnVuY3Rpb24oYT1fLiRMLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9TSEFSRURfQU5JTUFURURfVEhVTUJOQUlMX0VOQUJMRUQiOnJldHVybnsuLi5hLEVvOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9JTkxJTkVfUFJFVklFV19FTkFCTEVEIjpyZXR1cm57Li4uYSxscTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9TSEFSRURfQ1VSUkVOVF9QQUdFX1RZUEUiOnJldHVybnsuLi5hLHZwOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9DVVJSRU5UX1BBR0VfU1VCX1RZUEUiOnJldHVybnsuLi5hLHVwOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9QRVJTSVNURU5UX1BBTkVMX1ZJU0lCTEUiOnJldHVybnsuLi5hLHdyOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9JU19TRUFSQ0hCT1hfSElEREVOIjpyZXR1cm57Li4uYSxDcTpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fSxhMTF5OmZNKHtKcDpmdW5jdGlvbihhPXdnYS5KcCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfRVBIRU1FUkFMX0FDVElPTiI6cmV0dXJuIGIucGF5bG9hZDsKZGVmYXVsdDpyZXR1cm4gYX19fSksZW50aXRpZXM6ZnVuY3Rpb24oYT17fSxiKXtyZXR1cm4gZWdhKGEsYil9fTt2YXIgck09e1hsOiExLGZtOiExLGptOiExLHBsYXllclN0YXRlOi0xLGlzRnVsbHNjcmVlbjohMSxtajohMSxabDohMSxnbTohMSxUajoyLHhqOjB9O3ZhciB4Z2E9Zk0oe1hsOmZ1bmN0aW9uKGE9ck0uWGwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0RFU0tUT1BfU01BTExfV0lEVEgiOnJldHVybiBiLnBheWxvYWQuWGw7ZGVmYXVsdDpyZXR1cm4gYX19LGZtOmZ1bmN0aW9uKGE9ck0uZm0sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1NIT1JUU19BQ1RJVkUiOnJldHVybiBiLnBheWxvYWQuZm07ZGVmYXVsdDpyZXR1cm4gYX19LGptOmZ1bmN0aW9uKGE9ck0uam0sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1dBVENIX1dISUxFX01PREUiOnJldHVybiBiLnBheWxvYWQuam07ZGVmYXVsdDpyZXR1cm4gYX19LHBsYXllclN0YXRlOmZ1bmN0aW9uKGE9ck0ucGxheWVyU3RhdGUsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1BMQVlFUl9TVEFURSI6cmV0dXJuIGIucGF5bG9hZC5wbGF5ZXJTdGF0ZTtkZWZhdWx0OnJldHVybiBhfX0saXNGdWxsc2NyZWVuOmZ1bmN0aW9uKGE9ck0uaXNGdWxsc2NyZWVuLApiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfRlVMTFNDUkVFTiI6cmV0dXJuIGIucGF5bG9hZC5pc0Z1bGxzY3JlZW47ZGVmYXVsdDpyZXR1cm4gYX19LG1qOmZ1bmN0aW9uKGE9ck0ubWosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1NNQUxMX1NDUkVFTl9TUVVFRVpFQkFDSyI6cmV0dXJuIGIucGF5bG9hZC5tajtkZWZhdWx0OnJldHVybiBhfX0sZ206ZnVuY3Rpb24oYT1yTS5nbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU0hPUlRTX1BJUF9BQ1RJVkUiOnJldHVybiBiLnBheWxvYWQuZ207ZGVmYXVsdDpyZXR1cm4gYX19LFpsOmZ1bmN0aW9uKGE9ck0uWmwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1BMQVlCQUNLX1NUQVJURUQiOnJldHVybiBiLnBheWxvYWQuWmw7ZGVmYXVsdDpyZXR1cm4gYX19LFRqOmZ1bmN0aW9uKGE9ck0uVGosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1NIT1JUU19MQVlPVVQiOnJldHVybiBiLnBheWxvYWQuVGo7CmRlZmF1bHQ6cmV0dXJuIGF9fSx4ajpmdW5jdGlvbihhPXJNLnhqLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9NRVRBUEFORUxfU1RZTEUiOnJldHVybiBiLnBheWxvYWQueGo7ZGVmYXVsdDpyZXR1cm4gYX19fSk7dmFyIGZnYT17amo6ITF9O3ZhciBoZ2E9e2lzQWxsb3dlZDohMX07dmFyIGpnYT17ZXJyb3JNZXNzYWdlOiIiLHRpdGxlOiIiLHByaXZhY3k6IiIsaXNEaXNhYmxlZDohMH07dmFyIGxnYT17amo6ITF9O3ZhciBuZ2E9e2lzRnVsbHNjcmVlbjohMSxxczp2b2lkIDAsbmF2aWdhdGlvbkJ1dHRvbnM6e30sc2Vjb25kYXJ5SGVhZGVyOnt9fTt2YXIgeWdhPXtyZXNwb25zZTp2b2lkIDB9O3ZhciByZ2E9KGE9eWdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiTE9DQVRJT05fQ09MTEVDVElPTl9SRVNQT05TRV9DSEFOR0UiOnJldHVybnsuLi5hLHJlc3BvbnNlOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciB6Z2E9e25leHRDb21tYW5kOnZvaWQgMCxUeTohMSxidzp2b2lkIDAsUHg6ITF9O3ZhciBzZ2E9KGE9emdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiUkVQT1JUX0NIQU5ORUxfTkVYVF9ESVNBQkxFRF9DSEFOR0UiOnJldHVybnsuLi5hLFR5OmIucGF5bG9hZH07Y2FzZSAiUkVQT1JUX0NIQU5ORUxfTkVYVF9DT01NQU5EX0NIQU5HRSI6cmV0dXJuey4uLmEsbmV4dENvbW1hbmQ6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9NT0RBTF9GT09URVJfUkVOREVSRVJfU1VCTUlTU0lPTl9EQVRBX0NIQU5HRSI6cmV0dXJuey4uLmEsYnc6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0lNUEVSU09OQVRJT05fVkFMSURJVFlfQ0hBTkdFIjpyZXR1cm57Li4uYSxQeDpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTt2YXIgQWdhPXtVejp2b2lkIDAsVHo6dm9pZCAwfTt2YXIgdGdhPShhPUFnYSxiKT0+e3N3aXRjaChiLnR5cGUpe2Nhc2UgIlJFUE9SVF9GT1JNX01PREFMX1JFTkRFUkVSX0RBVEFfQ0hBTkdFIjpyZXR1cm57Li4uYSxVejpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9ERVRBSUxTX0ZPUk1fUkVOREVSRVJfREFUQV9DSEFOR0UiOnJldHVybnsuLi5hLFR6OmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciBCZ2E9e307dmFyIHNNPXtzaDohMSx3aDpfLngoIndlYl9wbGF5bGlzdF9wYW5lbF9kZWZhdWx0X2NvbGxhcHNlZCIpLHZnOltdLFppOiExfTt2YXIgQ2dhPWZNKHtzaDpmdW5jdGlvbihhPXNNLnNoLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9JU19MSVZFX0NIQVRfQ09MTEFQU0VEIjpyZXR1cm4gYi5wYXlsb2FkP2IucGF5bG9hZC5zaDphO2RlZmF1bHQ6cmV0dXJuIGF9fSx3aDpmdW5jdGlvbihhPXNNLndoLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9JU19QTEFZTElTVF9QQU5FTF9DT0xMQVBTRUQiOnJldHVybiBiLnBheWxvYWQud2g7ZGVmYXVsdDpyZXR1cm4gYX19LHZnOmZ1bmN0aW9uKGE9c00udmcsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfQUREX09QRU5fRU5HQUdFTUVOVF9QQU5FTCI6cmV0dXJuWy4uLmEsYi5wYXlsb2FkLnh6XTtjYXNlICJNQUlOX0FQUF9SRU1PVkVfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIjpyZXR1cm4gYS5sZW5ndGg9PT0wP2E6YS5maWx0ZXIoYz0+YyE9PWIucGF5bG9hZC5vSyk7ZGVmYXVsdDpyZXR1cm4gYX19LFppOmZ1bmN0aW9uKGE9CnNNLlppLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9IQVNfUExBWUxJU1QiOnJldHVybiBiLnBheWxvYWQuWmk7ZGVmYXVsdDpyZXR1cm4gYX19fSk7dmFyIHZnYT17eEw6ZnVuY3Rpb24oYT1CZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1RSQU5TQ1JJUFRJT05fU1RBVEUiOnJldHVybnsuLi5hLGpMOmIucGF5bG9hZH07Y2FzZSAiU0VUX09WRVJMQVlfU1RBVEUiOnJldHVybnsuLi5hLG92ZXJsYXk6Yi5wYXlsb2FkfTtjYXNlICJSRVNFVF9WT0lDRV9TRUFSQ0hfU1RBVEUiOnJldHVybnt9O2RlZmF1bHQ6cmV0dXJuIGF9fSxzaG9ydHM6eGdhLEFkOkNnYX07dmFyIG1NPXZvaWQgMDttTT1uZXcgbk07Xy50TT1fLkwoYT0+e3ZhciB7YW5pbWF0ZWRJY29uVHlwZTpiLGFjdGl2ZTpjLEhjOmQsYW5pbWF0aW9uUmVmOmUsSEE6ZixzaXplOmh9PV8uREMoYSx7SGM6dm9pZCAwLGFuaW1hdGlvblJlZjp7fSxzaXplOjI0fSksW2ssbF09Xy5KKHZvaWQgMCx2b2lkIDAsIlR2Z21DZSIpLG09KCk9PnBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZy5uYW1lPz8iIixuPSgpPT57aWYocE0oYigpLGQ/LigpKSl7dmFyIHtwYXRoOkF9PXBNKGIoKSxkPy4oKSkuRWMuYW5pbWF0aW9uQ29uZmlnO3JldHVybiBxTS5nZXQoQSl8fGsoKX19LFtwLHJdPV8uSighMSx2b2lkIDAsImpmMkR5YiIpLHQ9cWdhKHIpLHY9KCk9PnBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZz8ucmVuZGVyZXJTZXR0aW5ncz8uY2xhc3NOYW1lPz8iIix6PXZvaWQgMCxFPXZvaWQgMDtfLm5FKCgpPT57dmFyIEE9cE0oYigpLGQ/LigpKSxGPW0oKSxDPW4oKSxHPXAoKSxEPWMoKTtpZihBJiYoRSE9PUYmJihFPQpGLHo9RCxGPWUoKSx0LmFuaW1hdGlvbkNvbmZpZz1BLkVjLmFuaW1hdGlvbkNvbmZpZyx0LmFuaW1hdGlvblJlZj1GLEMmJih0LmFuaW1hdGlvbkNvbmZpZy5hbmltYXRpb25EYXRhPUMsdC5hbmltYXRpb25Db25maWcucGF0aD12b2lkIDApLEY9QS5FYy5hbmltYXRpb25Db25maWcucGF0aCwhcU0uZ2V0KEYpJiZBLnpoJiZGJiZwZ2EoRixsKSksIShHfHxBLnpoJiYhQykpKXtpZihDPSFlKCkubG90dGllRWwpRD8oRz1BLnRvdGFsRnJhbWVzLHQuYW5pbWF0aW9uQ29uZmlnLmluaXRpYWxTZWdtZW50PVtHLTEsR10pOnQuYW5pbWF0aW9uQ29uZmlnLmluaXRpYWxTZWdtZW50PXZvaWQgMDt6PT09RHx8Q3x8KEM9ZSgpLEQ/Qy5sb3R0aWVFbD8ucGxheVNlZ21lbnRzKFswLEEudG90YWxGcmFtZXNdLCEwKTpDLmxvdHRpZUVsPy5wbGF5U2VnbWVudHMoWzAsMV0sITApKTt6PUR9fSwiWEIxR1NiIik7cmV0dXJuIF8uSygiYW5pbWF0ZWQtaWNvbiIse2NsYXNzOiJ5dEFuaW1hdGVkSWNvbkhvc3QiLAoiZGF0YS1zaXplIjooKT0+aCgpfSxfLksoXy5PLHtBOigpPT4hKCFwTShiKCksZD8uKCkpPy5FYy5hbmltYXRpb25Db25maWcucGF0aHx8cE0oYigpLGQ/LigpKT8uemgmJiFuKCl8fHAoKSksdGhlbjooKT0+Xy5LKF8uY00se2RhdGE6dCxhbmltYXRpb25OYW1lOm0sY2xhc3NOYW1lOnYsYW5pbWF0aW9uUmVmOmV9KSxXOmZ9KSl9LCJNYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnVNPWZ1bmN0aW9uKGEpe3JldHVybiBfLnNFKCgpPT4oe3ZhbHVlOmF9KSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeU0sek0sRGdhLEFNLEJNLENNLERNLEVNLEdNLEZnYSxJTSxHZ2EsTE0sSGdhLE1NLFJNLFNNLFRNLGJOLEtnYSxjTixlTixMZ2EsT2dhLE5nYSxNZ2EsaE4sUGdhLFJnYSxpTixqTixrTixTZ2EsVGdhLGxOLFVnYSxtTixuTixwTixWZ2EsV2dhLFhnYSxxTixhaGEsJGdhLHJOLFpnYSxZZ2EsZGhhLGNoYSxzTixiaGEsZmhhLHZOLFgsQU4sQ04sZ2hhLGloYSxoaGEsamhhLE1OLGxoYSxtaGEsUU4sbmhhLG9oYSxUTixxaGEsYU8scmhhLHNoYSx0aGEsdWhhLHZoYSx3aGEseGhhLEVnYSxGTSxITSxiTyx5aGEsT00sUU0sSWdhLEpnYSx6aGEsQWhhO18udk09ZnVuY3Rpb24oYSl7dmFyIGI9Xy4kdChhKTtyZXR1cm57W1N5bWJvbC5kaXNwb3NlXSgpe18uJHQoYil9fX07Xy54TT1mdW5jdGlvbigpe2lmKF8uWHooKSl7dmFyIGE9Xy5HaChgJHtfLlZqKCl9Ojp5dC1tYXctcGxheWVyYCk7aWYoYSlyZXR1cm4gbmV3IF8ud00oYSl9fTsKeU09ZnVuY3Rpb24oYSxiKXtmb3IoO2EubGVuZ3RoPmI7KWEucG9wKCl9O3pNPWZ1bmN0aW9uKGEpe2E9QXJyYXkoYSk7eU0oYSwwKTtyZXR1cm4gYX07RGdhPWZ1bmN0aW9uKGEsYixjLGQpeyhkW2JdfHxkW18uUkEuZGVmYXVsdF0pKGEsYixjKX07QU09ZnVuY3Rpb24oYSxiLGMpe2I9bmV3IEVnYShiLGMpO3JldHVybiBhLl9faW5jcmVtZW50YWxET01EYXRhPWJ9OwpCTT1mdW5jdGlvbihhLGIpe2lmKGEuX19pbmNyZW1lbnRhbERPTURhdGEpcmV0dXJuIGEuX19pbmNyZW1lbnRhbERPTURhdGE7dmFyIGM9YS5ub2RlVHlwZT09PTE/YS5sb2NhbE5hbWU6YS5ub2RlTmFtZSxkPWEubm9kZVR5cGU9PT0xP2EuZ2V0QXR0cmlidXRlKCJrZXkiKTpudWxsO2I9QU0oYSxjLGEubm9kZVR5cGU9PT0xP2R8fGI6bnVsbCk7aWYoYS5ub2RlVHlwZT09PTEmJihjPWEuYXR0cmlidXRlcyxkPWMubGVuZ3RoKSl7YT1iLmp8fChiLmo9ek0oZCoyKSk7Zm9yKGxldCBlPTAsZj0wO2U8ZDtlKz0xLGYrPTIpe2xldCBoPWNbZV0saz1oLnZhbHVlO2FbZl09aC5uYW1lO2FbZisxXT1rfX1yZXR1cm4gYn07Q009ZnVuY3Rpb24oKXtfLllBPV8uVkEoKX07CkRNPWZ1bmN0aW9uKGEsYil7Q00oKTt2YXIgYzthOntpZihjPV8uWUEpe2Rve2lmKGM9PT1udWxsKWJyZWFrO3ZhciBkPWMsZT1hLGY9YjtsZXQgaD1CTShkLGYpO2lmKCgwLF8uYkIpKGQsZSxoLm8sZixoLmtleSkpYnJlYWsgYX13aGlsZShiJiYoYz1jLm5leHRTaWJsaW5nKSl9Yz1udWxsfWN8fChhPT09IiN0ZXh0Ij8oYT1fLlpBLmNyZWF0ZVRleHROb2RlKCIiKSxBTShhLCIjdGV4dCIsbnVsbCkpOihjPV8uWkEsZD1fLlVBLHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9jPW5ldyBhOmM9KGQ9YT09PSJzdmciPyJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6YT09PSJtYXRoIj8iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6ZD09bnVsbHx8Qk0oZCkubz09PSJmb3JlaWduT2JqZWN0Ij9udWxsOmQubmFtZXNwYWNlVVJJKT9jLmNyZWF0ZUVsZW1lbnROUyhkLGEpOmMuY3JlYXRlRWxlbWVudChhKSxBTShjLGEsYiksYT1jKSxfLldBLmNyZWF0ZWQucHVzaChhKSxjPQphKTthPWM7aWYoYSE9PV8uWUEpe2lmKF8uJEEuaW5kZXhPZihhKT49MClmb3IoYj1fLlVBLGM9YS5uZXh0U2libGluZyxkPV8uWUE7ZCE9PW51bGwmJmQhPT1hOyllPWQubmV4dFNpYmxpbmcsYi5pbnNlcnRCZWZvcmUoZCxjKSxkPWU7ZWxzZSBfLlVBLmluc2VydEJlZm9yZShhLF8uWUEpO18uWUE9YX19O0VNPWZ1bmN0aW9uKGEsYil7RE0oYSxiKTtfLlVBPV8uWUE7Xy5ZQT1udWxsO3JldHVybiBfLlVBfTtHTT1mdW5jdGlvbihhLGIsYyxkKXtGTS5wdXNoKERnYSk7Rk0ucHVzaChhKTtGTS5wdXNoKGIpO0ZNLnB1c2goYyk7Rk0ucHVzaChkKX07CkZnYT1mdW5jdGlvbihhPV8uSEMpe3ZhciBiPV8uVUEsYz1CTShiKSxkPV8uYUI7Yz1jLmp8fChjLmo9ek0oZC5sZW5ndGgpKTtmb3IodmFyIGU9IWMubGVuZ3RofHwhMSxmPTA7ZjxkLmxlbmd0aDtmKz0yKXt2YXIgaD1kW2ZdO2lmKGUpY1tmXT1oO2Vsc2UgaWYoY1tmXSE9PWgpYnJlYWs7bGV0IGw9ZFtmKzFdO2lmKGV8fGNbZisxXSE9PWwpY1tmKzFdPWwsR00oYixoLGwsYSl9aWYoZjxkLmxlbmd0aHx8ZjxjLmxlbmd0aCl7Zm9yKGY9ZT1mO2Y8Yy5sZW5ndGg7Zis9MilfLkpDW2NbZl1dPWNbZisxXTtmb3IoZj1lO2Y8ZC5sZW5ndGg7Zis9MillPWRbZl0saD1kW2YrMV0sXy5KQ1tlXSE9PWgmJkdNKGIsZSxoLGEpLGNbZl09ZSxjW2YrMV09aCxkZWxldGUgXy5KQ1tlXTt5TShjLGQubGVuZ3RoKTtmb3IodmFyIGsgaW4gXy5KQylHTShiLGssdm9pZCAwLGEpLGRlbGV0ZSBfLkpDW2tdfWE9SE07SE09Yj1GTS5sZW5ndGg7Zm9yKGs9YTtrPGI7ays9NSkoMCxGTVtrXSkoRk1baysxXSwKRk1baysyXSxGTVtrKzNdLEZNW2srNF0pO0hNPWE7eU0oRk0sYSk7eU0oZCwwKX07SU09ZnVuY3Rpb24oYSwuLi5iKXtETSgiI3RleHQiLG51bGwpO2I9Xy5ZQTt2YXIgYz1CTShiKTtpZihjLnRleHQhPT1hKXtjPWMudGV4dD1hO2ZvcihsZXQgZD0xO2Q8YXJndW1lbnRzLmxlbmd0aDtkKz0xKWM9KDAsYXJndW1lbnRzW2RdKShjKTtiLmRhdGEhPT1jJiYoYi5kYXRhPWMpfX07CkdnYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT1bXTthLl9kaXNwb3NlRWZmZWN0cz1fLnV2KCgpPT57Xy50digoKT0+e3ZhciBmPWMoKTtpZihmPT09bnVsbHx8Zj09PXZvaWQgMClmPSIiO2lmKF8ucUIoZil8fGY9PT1udWxsKWQ/PyhkPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSksZC5wYXJlbnROb2RlIT09YSYmKGQuX2lzU2lnbmFsVGV4dE5vZGU9ITAsYS5pbnNlcnRCZWZvcmUoZCxiKSksZC50ZXh0Q29udGVudD1TdHJpbmcoZik7ZWxzZSBpZihfLm9CKGYpKXtsZXQgaD1lLmxlbmd0aD4wP2VbZS5sZW5ndGgtMV0ubmV4dFNpYmxpbmc6Yjtmb3IobGV0IGsgb2YgZSlhLnJlbW92ZUNoaWxkKGspO2Y9Xy5wQihmKTtlPUFycmF5LmZyb20oZi5jaGlsZE5vZGVzKTtmb3IobGV0IGsgb2YgZSlhLmluc2VydEJlZm9yZShrLGgpfWVsc2UgdGhyb3cgRXJyb3IoIkFiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikrImAiK3R5cGVvZiBmKTt9LCJWdkRnQyIpfSxfLkt1LnJpfHwhIV8uWnQpfTsKXy5LTT1mdW5jdGlvbihhKXtpZighXy5KTSlyZXR1cm4hMTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMoXy5KTSkpaWYoYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4hMDtyZXR1cm4hMX07TE09ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGgpe2lmKGEubGVuZ3RoPT09MSlyZXR1cm4gYVswXTt2YXIgYj17fTtfLndGKGIsXy5TRCx7Y29tbWFuZHM6YX0pO3JldHVybiBifX07SGdhPWZ1bmN0aW9uKGEpe3ZhciBiPUFycmF5LmlzQXJyYXkoYS5pdGVtcyk/YS5pdGVtczpBcnJheS5mcm9tKGEuaXRlbXMpO3JldHVybiBfLmZHKGIsYS5jaGlsZHJlbil9O01NPWZ1bmN0aW9uKGEpe2E9Xy5uSihhKTthLmxlbmd0aD4wJiZhWzBdLmZvY3VzKCl9O18uTk09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWU9PnthLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixkKTtyZXR1cm4gYy5jYWxsKGEsZSl9O2EuYWRkRXZlbnRMaXN0ZW5lcihiLGQsdm9pZCAwKX07Cl8uUE09ZnVuY3Rpb24oYSl7T018fChPTT1fLkNkKCJBIikpO09NLmhyZWYhPT1hJiZfLkx5KE9NLGEpO3JldHVybiBPTX07Uk09ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoUU1bYV0pcmV0dXJuIFFNW2FdO3ZhciBiPV8uUE0oYSkucGF0aG5hbWU7UU1bYV09Yi5zdGFydHNXaXRoKCIvIik/YjoiLyIrYjtyZXR1cm4gUU1bYV19OwpTTT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PSIvIj8iaG9tZSI6YS5zdGFydHNXaXRoKCIvcmVzdWx0cyIpPyJzZWFyY2giOmEuc3RhcnRzV2l0aCgiL3dhdGNoIik/IndhdGNoIjphLnN0YXJ0c1dpdGgoIi9zaG9ydHMiKT8ic2hvcnRzIjphLnN0YXJ0c1dpdGgoIi9oYXNodGFnIik/Imhhc2h0YWciOmEuc3RhcnRzV2l0aCgiL2NyZWF0ZV9jaGFubmVsIik/ImNyZWF0ZV9jaGFubmVsIjphLnN0YXJ0c1dpdGgoIi9wb3N0LyIpPyJwb3N0IjphLnN0YXJ0c1dpdGgoIi9AIil8fGEuc3RhcnRzV2l0aCgiL3VzZXIvIil8fGEuc3RhcnRzV2l0aCgiL2NoYW5uZWwvIik/ImNoYW5uZWwiOmEuc3RhcnRzV2l0aCgiL2V4cGVyaW1lbnRzIik/ImV4cGVyaW1lbnRzIjphLnN0YXJ0c1dpdGgoIi9zcG9uc29yX2NoYW5uZWwiKT8ic3BvbnNvcnNoaXAiOmEuc3RhcnRzV2l0aCgiL3NlbGVjdF9zaXRlIik/InNldHRpbmdzIjphLnN0YXJ0c1dpdGgoIi9sb2NhdGUiKT8ibG9jYXRlIjphLnN0YXJ0c1dpdGgoIi9yZWRlZW0iKT8KInJlZGVlbSI6YS5zdGFydHNXaXRoKCIvbXVzaWNwcmVtaXVtIil8fGEuc3RhcnRzV2l0aCgiL3ByZW1pdW0iKXx8YS5zdGFydHNXaXRoKCIvcmVkIik/InByZW1pdW0iOmEuc3RhcnRzV2l0aCgiL3BhaWRfbWVtYmVyc2hpcHMiKT8icGFpZF9tZW1iZXJzaGlwcyI6YS5zdGFydHNXaXRoKCIvb29wcyIpPyJvb3BzIjphLnN0YXJ0c1dpdGgoIi9jbGlwIik/ImNsaXAiOl8uWEQ/LnJlc3BvbnNlPy5wYWdlPT09IjQwNCI/IjQwNCI6YS5zdGFydHNXaXRoKCIvZmVlZC9oaXN0b3J5Iik/Imhpc3RvcnkiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvbGlicmFyeSIpPyJsaWJyYXJ5IjphLnN0YXJ0c1dpdGgoIi9mZWVkL3N1YnNjcmlwdGlvbnMiKT8ic3Vic2NyaXB0aW9ucyI6YS5zdGFydHNXaXRoKCIvZmVlZC90cmVuZGluZyIpPyJ0cmVuZGluZyI6YS5zdGFydHNXaXRoKCIvZmVlZC9uZXdzX2Rlc3RpbmF0aW9uIik/Im5ld3MiOmEuc3RhcnRzV2l0aCgiL3BsYXlsaXN0Iik/InBsYXlsaXN0IjphLnN0YXJ0c1dpdGgoIi9taW5vcl9tb21lbnQiKT8KIm1pbm9yX21vbWVudCI6YS5zdGFydHNXaXRoKCIvcGxheWFibGUvIil8fGEubWF0Y2goIl4vcGxheWFibGVzLyg/IXNhdmVkKS4iKT8ibWluaV9hcHAiOmEuc3RhcnRzV2l0aCgiL3BsYXlhYmxlcyIpPyJwbGF5YWJsZXMiOmEuc3RhcnRzV2l0aCgiL2NyZWF0ZS9saXZlL2pvaW4iKT8ib3Blbl9pbl9hcHAiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvZXhwbG9yZSIpPyJleHBsb3JlIjoiYnJvd3NlIn07ClRNPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRD8ucmVzcG9uc2UsYj1hPy5lbmRwb2ludDtpZighYilyZXR1cm4gYT8ucGFnZT09PSJ3YXRjaCI/IndhdGNoIjpTTShSTSh3aW5kb3cubG9jYXRpb24uaHJlZikpO2E9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ud2ViUGFnZVR5cGU7dmFyIGM9ITE7aWYoYSYmIUlnYS5pbmNsdWRlcyhhKSlzd2l0Y2goYSl7Y2FzZSAiV0VCX1BBR0VfVFlQRV9TRUFSQ0giOnJldHVybiJzZWFyY2giO2Nhc2UgIldFQl9QQUdFX1RZUEVfU0hPUlRTIjpyZXR1cm4ic2hvcnRzIjtjYXNlICJXRUJfUEFHRV9UWVBFX0NIQU5ORUwiOnJldHVybiJjaGFubmVsIjtjYXNlICJXRUJfUEFHRV9UWVBFX1NFVFRJTkdTIjpyZXR1cm4ic2V0dGluZ3MiO2Nhc2UgIldFQl9QQUdFX1RZUEVfUExBWUxJU1QiOnJldHVybiJwbGF5bGlzdCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9PUEVOX0lOX0FQUCI6cmV0dXJuIm9wZW5faW5fYXBwIjtjYXNlICJXRUJfUEFHRV9UWVBFX01JTklfQVBQIjpyZXR1cm4ibWluaV9hcHAiOwpjYXNlICJXRUJfUEFHRV9UWVBFX1dBVENIIjpyZXR1cm4gXy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsJiZSTShfLkIoYi5jb21tYW5kTWV0YWRhdGEsXy56dykudXJsKS5zdGFydHNXaXRoKCIvY2xpcCIpPyJjbGlwIjoid2F0Y2giO2Nhc2UgIldFQl9QQUdFX1RZUEVfQlJPV1NFIjpyZXR1cm4oYj1fLkIoYixfLmNFKT8uYnJvd3NlSWQpP0pnYVtiXXx8ImJyb3dzZSI6ImJyb3dzZSI7ZGVmYXVsdDpjPSEwfWlmKF8uQihiLF8uRWVhKXx8Xy5CKGIsXy5EZWEpKXJldHVybiJzcG9uc29yc2hpcCI7dmFyIGQ9Uk0od2luZG93LmxvY2F0aW9uLmhyZWYpO2lmKGQuc3RhcnRzV2l0aCgiL2V4cGVyaW1lbnRzIikpcmV0dXJuImV4cGVyaW1lbnRzIjtpZihkLnN0YXJ0c1dpdGgoIi9jcmVhdGVfY2hhbm5lbCIpKXJldHVybiJjcmVhdGVfY2hhbm5lbCI7aWYoXy5CKGIsXy5WRCkmJmQuc3RhcnRzV2l0aCgiL3Nob3J0cyIpKXJldHVybiJzaG9ydHMiO2lmKF8uQihiLF8uVkQpJiYKZC5zdGFydHNXaXRoKCIvd2F0Y2giKSlyZXR1cm4id2F0Y2giO2MmJihiPW5ldyBfLlhqKCJVbnN1cHBvcnRlZCBtV2ViIHBhZ2UgdHlwZSIse3BhdGhuYW1lOmQsd2ViUGFnZVR5cGU6YX0pLF8uR3AoYikpO3JldHVybiJicm93c2UifTtfLlVNPWZ1bmN0aW9uKGEpe2E/LmhyZWY/YT0oYT1hLmhyZWYpP1NNKFJNKGE/YTp3aW5kb3cubG9jYXRpb24uaHJlZikpOlRNKCk6YT1hPy5wYWdlVHlwZTtyZXR1cm4gYXx8VE0oKX07Xy5WTT1mdW5jdGlvbihhKXtyZXR1cm4gXy5VTShhKT09PSJ3YXRjaCJ9O18uV009ZnVuY3Rpb24oKXtyZXR1cm4gXy5VTSgpPT09InNob3J0cyJ9O18uWE09ZnVuY3Rpb24oYSxiKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoYSx7ZGV0YWlsOmJ9KSl9OwpfLlpNPWZ1bmN0aW9uKCl7Xy5ZTSYmXy5IcChuZXcgXy5YaihgVW5leHBlY3RlZCBjYWxsIHRvIHJlcXVlc3RCYWNrTmF2aWdhdGlvbiwgZnJhZ21lbnQ6ICR7d2luZG93LmxvY2F0aW9uLmhhc2h9YCkpO18uRko9bmV3IF8uQmYoYT0+e2Z1bmN0aW9uIGIoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKTthKCl9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsYil9KTtfLk5NKHdpbmRvdywicG9wc3RhdGUiLCgpPT57c2V0VGltZW91dCgoKT0+e30pfSk7aGlzdG9yeS5iYWNrKCk7cmV0dXJuIF8uRkp9OwpfLiRNPWZ1bmN0aW9uKGEsYj0hMSl7aWYoXy5ZTSl7dmFyIGM9d2luZG93LmxvY2F0aW9uO2E9Xy5kYihgIyR7YX1gKTthIT09dm9pZCAwJiZjLnJlcGxhY2UoYSl9ZWxzZSB3aW5kb3cubG9jYXRpb24uaGFzaD1hO2J8fF8ueCgibXdlYl9lbmFibGVfa2V0b19jb250ZW50Iil8fF8uWE0oInVwZGF0ZXVpIil9O18uYU49ZnVuY3Rpb24oYSl7aWYoYSYmYS5zaW1wbGVUZXh0KXJldHVybiBhLnNpbXBsZVRleHQ7dmFyIGI9IiI7aWYoYSYmYS5ydW5zKWZvcihsZXQgYz0wO2M8YS5ydW5zLmxlbmd0aDtjKyspYS5ydW5zW2NdLnRleHQmJihiKz1hLnJ1bnNbY10udGV4dCk7cmV0dXJuIGJ9O2JOPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtBKHt0eXBlOiJTRVRfSVNfQk9UVE9NX1NIRUVUX09QRU5fU1RBVEUiLHBheWxvYWQ6YX0pfTsKS2dhPWZ1bmN0aW9uKGEpe2lmKGEmJmEuZm9jdXMpaWYoYSE9PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpYS5mb2N1cygpO2Vsc2UgcmV0dXJuIGNOKGFzeW5jKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtyZXR1cm4gY04oKCk9PnthLmZvY3VzKCl9KX0pfTtfLmROPWZ1bmN0aW9uKGEpe3ZhciBiPTU7c2V0VGltZW91dChhc3luYygpPT57Zm9yKHZhciBjPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1jfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keSkmJmI+PTAmJmE7KXthd2FpdCBLZ2EoYSk7aWYoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWEpYnJlYWs7YT1hLnBhcmVudEVsZW1lbnQ7LS1ifX0sMTUpfTtjTj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2IoYSgpKX0pfSl9OwplTj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYS5jaGlsZHJlbj09PSJmdW5jdGlvbiIpcmV0dXJuIGEuY2hpbGRyZW4oKSxudWxsO2ZvcihsZXQgYiBvZiBhLmNoaWxkcmVuKWIoKTtyZXR1cm4gbnVsbH07Xy5mTj1mdW5jdGlvbihhLGIpe18uUnUoKCk9PkxnYShhLGIpKX07TGdhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bnVsbDtfLmd2Kys7dHJ5e2M9KDAsXy5JQykoYSwoKT0+e18uZ04oYil9KSxfLklBKCExKX1jYXRjaChkKXt0aHJvdyBfLklBKCEwKSxkO31yZXR1cm4gYz09PW51bGw/YTpjfTsKXy5nTj1mdW5jdGlvbihhKXtpZihhIT09dm9pZCAwJiZhIT09bnVsbClpZihhIGluc3RhbmNlb2YgXy5kQylmb3IodmFyIGI9Xy5VQTtfLlZBKCkhPW51bGwmJl8ubkMgaW4gXy5WQSgpJiZiLmNvbnRhaW5zKF8uVkEoKSk7KUNNKCk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYyBvZiBhKV8uZ04oYyk7ZWxzZSBpZihhIGluc3RhbmNlb2YgXy5TYSlJTShhLnRvU3RyaW5nKCkpO2Vsc2UgaWYoXy5pQihhKSl7aWYoXy5WQSgpIT09YSl0aHJvdyBFcnJvcigiRGJgIithLnRhZ05hbWUrImAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKTtDTSgpfWVsc2UgaWYoYz1hLGMhPW51bGwmJmMuR2k9PT1fLm1CfHxjIGluc3RhbmNlb2YgXy5mYnx8Xy5MQSgpKGMpKXtiPV8ucEIoYSk7Yj1BcnJheS5mcm9tKGIuY2hpbGROb2Rlcyk7Zm9yKHZhciBkIG9mIGIpXy5VQS5hcHBlbmRDaGlsZChkKSxDTSgpfWVsc2UgaWYoXy5YYShhKSYmKGE9YS50b1N0cmluZygpKSxkPXR5cGVvZiBhLApkPT09ImJvb2xlYW4ifHxkPT09Im51bWJlciJ8fGQ9PT0ic3RyaW5nIilJTShhKTtlbHNlIGlmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIiliPV8uVUEsKGQ9Xy5WQSgpKSYmKGQuX2lzU2lnbmFsVGV4dE5vZGV8fGQuX2lzU2FmZU9yU2FuaXRpemVkSHRtbE5vZGUpfHxHZ2EoYixkLGEpLENNKCk7ZWxzZSBpZihhLnR5cGU9PT1IZ2EpXy5nTihhLnR5cGUoT2JqZWN0LmFzc2lnbih7fSxhLnByb3BzLHtjaGlsZHJlbjphLmNoaWxkcmVuWzBdfSkpKTtlbHNle2lmKHR5cGVvZiBhLnR5cGU9PT0ic3RyaW5nIil7YTp7YS5jZHx8RU0oYS50eXBlLGEucHJvcHMuaWRvbUtleSk7Yz1fLlVBO2ZvcihiIGluIGEucHJvcHMpaWYoYS5wcm9wc1tiXSE9PV8uS2JhKXtkPWEucHJvcHNbYl07bGV0IGU9Xy5hQjtlLnB1c2goYik7ZS5wdXNoKGQpfUZnYShfLkt1LmF0dHJpYnV0ZXMpO18uakMoYyxhLnByb3BzLCEwKTtpZigoYS5wcm9wcy5za2lwfHxhLnByb3BzLnNraXBjaGlsZHJlbikmJl8uVUEuaGFzQ2hpbGROb2RlcygpKV8uWUE9Cl8uVUEubGFzdENoaWxkO2Vsc2V7aWYoYS50eXBlPT09InN0eWxlIiYmXy5SQihhLmNoaWxkcmVuKT09PW51bGwpe18uWUE9Xy5VQS5sYXN0Q2hpbGQ7Yj12b2lkIDA7YnJlYWsgYX1fLmdOKGEuY2hpbGRyZW4pfV8uWEEoKTtfLllBPV8uVUE7Xy5VQT1fLlVBLnBhcmVudE5vZGU7YS5jZCYmKGEuY2Q9ITEpO18uQUIoYyxhLnByb3BzKTtiPWN9cmV0dXJuIGJ9aWYoYS50eXBlPT09Xy5JQilfLmdOKGEuY2hpbGRyZW4pO2Vsc2UgaWYoIU1nYShhKSl7Yj1hO3RyeXtOZ2EoYil9Y2F0Y2goZSl7Xy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoZSxiLnR5cGU/LlpjKSl9Yi5jZCYmKF8uWEEoKSxfLllBPV8uVUEsXy5VQT1fLlVBLnBhcmVudE5vZGUsYi5jZD0hMSl9fX07T2dhPWZ1bmN0aW9uKGEsYil7dmFyIGM7YS5wcm90b3R5cGU/Lm9jPT09dm9pZCAwP2M9bmV3IF8ubUMoYixhKTpjPW5ldyBhKGIpO2Muaj1hO2Mud289e25leHRTdGF0ZTpjLnN0YXRlLE14OiExfTtyZXR1cm4gY307Ck5nYT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGUsYz1iLlpjO2lmKGI9PT1lTilhLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4sYihhLnByb3BzKTtlbHNle2EuY2hpbGRyZW4ubGVuZ3RoPjAmJihhLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4pO3ZhciBkOyhkPWEucHJvcHMpLmlkb21LZXl8fChkLmlkb21LZXk9Yik7dmFyIGU9ITE7aWYoYyl7dmFyIGY9RU0oYyxhLnByb3BzLmlkb21LZXkpO2EuY2Q9ITA7dmFyIGg9Zi5fX2luc3RhbmNlfWh8fChlPSEwLGg9T2dhKGIsYS5wcm9wcyksaC5wcm9wcz1udWxsLGYmJihmLl9faW5zdGFuY2U9aCxoLmVsPWYpKTsoe25leHRTdGF0ZTpjfT1oLndvPz97bmV4dFN0YXRlOmguc3RhdGUsTXg6ITF9KTtoLndvPXZvaWQgMDtiLmx3JiYoYz1iLmx3KGEucHJvcHMsYykpO3ZhciBrPWgucHJvcHMsbD1oLnN0YXRlO2gucHJvcHM9YS5wcm9wcztoLnN0YXRlPWM7Yz0oKT0+e3ZhciBtPWg7Xy5idy5TbyhtKTt2YXIgbj1tLm9jKG0ucHJvcHMpOwpuPyhtLnByb3BzLmlkb21LZXkmJihuLnByb3BzLmlkb21LZXk9bS5wcm9wcy5pZG9tS2V5KSxtPW4pOm09dm9pZCAwO2lmKG49bSluLmNkPWEuY2QsbT1fLmdOKG4pLGEuY2Q9bi5jZCxiLlpjfHwobT8oYi5aYz1tLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxtLl9faW5zdGFuY2U9aCxoLmVsPW0pOmguWmY/Lmxlbmd0aCYmXy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoRXJyb3IoIkNkIikpKSk7ZT8oaC5KaSgpLF8uYncuSmkoaCkpOihoLktpKGssbCksXy5idy5LaShoLGssYS5wcm9wcykpO2guR2YoKTtfLmJ3LkdmKGgpfTsoZD1oLm8pP18uR0EoZCxjLGgucHJvcHMuZGVidWdJbnN0YW5jZSk6YygpfX07Ck1nYT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGU7aWYoYi5wcm90b3R5cGU/Lm9jIT09dm9pZCAwfHxiPT09ZU58fGIuY29tcG9uZW50VHlwZT09PV8uS3YpcmV0dXJuITE7YS5wcm9wcy5jaGlsZHJlbj1hLmNoaWxkcmVuLmxlbmd0aD4xP2EuY2hpbGRyZW46YS5jaGlsZHJlblswXTt2YXIgYz1hLnByb3BzLmlkb21LZXk/P2EudHlwZTtpZihfLlZBKCkmJl8uVkEoKVtfLldCXT8ua2V5PT09Yyl7Yj1fLlZBKCk7Yz1iW18uV0JdO2lmKCFjKXRocm93IEVycm9yKCJDYmAiK2IudGFnTmFtZSk7Yy5xQj8uKGEucHJvcHMpO1BnYShjKTtyZXR1cm4hMH1pZihRZ2EuaGFzKGIubmFtZSkpdGhyb3cgRXJyb3IoIkJiYCIrYi5uYW1lKyJgIisoXy5NdT8ubmFtZT8/InVua25vd24iKSk7YS5wcm9wcy5qbj0hMDsoYj1fLkdBKGEudHlwZSwoKT0+Xy5nQyhhLnR5cGUsYS5wcm9wcyksYS5wcm9wcy5kZWJ1Z0luc3RhbmNlKSkmJlJnYShiKTtyZXR1cm4hMH07CmhOPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8Xy5iQyhhKS5sZW5ndGg7YisrKUNNKCl9O1BnYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZBKClbXy5XQl0/LnluO2lmKGIpaE4oYik7ZWxzZSBmb3IobGV0IGM9MDtjPGEuVXE7YysrKShiPV8uVkEoKVtfLldCXT8ueW4pP2hOKGIpOkNNKCl9O1JnYT1mdW5jdGlvbihhKXthPV8uR0IoYSk7YT1BcnJheS5pc0FycmF5KGEpP2E6W2FdO2ZvcihsZXQgYiBvZiBhKV8uVUEuaW5zZXJ0QmVmb3JlKGIsXy5WQSgpKSxDTSgpfTtpTj1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57YSYmXy5kRShhKTtiJiZiKGMpfX07ak49ZnVuY3Rpb24oYSl7dmFyIGI9MjE7aWYoIWEpcmV0dXJuIGI7Yis9YS5oZWFkZXJUaXRsZT8yNzowO2IrPWEuaGVhZGVyVGl0bGUmJmEuaWg/NDowO3JldHVybiBiKz1hLmhlYWRlclRpdGxlJiZhLmhlYWRlclN1YnRpdGxlPzE2OjB9OwprTj1mdW5jdGlvbihhKXt2YXIgYj0wO2lmKCFhKXJldHVybiBiO2IrPWEuVWZ8fGEuVmY/NDg6MDtiKz1hLlBmfHxhLk1mPzMwOjA7cmV0dXJuIGIrPWEuVWZ8fGEuVmZ8fCFhLlBmJiYhYS5NZj8wOjEyfTsKU2dhPWZ1bmN0aW9uKGEse2tleTpiLHBheWxvYWQ6Y30pe2lmKGI9PT0iRHJhZyBTdGFydCIpcmV0dXJuey4uLmEsQ2M6ITEsVmU6Yy5jbGllbnRZfTtpZihiPT09IkRyYWcgTW92ZSIpe2I9TWF0aC5taW4oYy5UcCxjLmhxW2MuSGldKyhjLmZxPz9qTihjLmhlYWRlcikpLShjLk5wPz9rTihjLmZvb3RlcikpKTtsZXQgZD1NYXRoLm1heChjLm1wPy0xKihhLlZlLTI0KTowLGMuY2xpZW50WS1hLlZlKTtyZXR1cm57Li4uYSxPYjpkLEZjOk1hdGgubWluKGIsTWF0aC5tYXgoMCwoYS5QYz9iOmMucXApLWQpKX19cmV0dXJuIGI9PT0iU25hcCBUbyBGdWxsIFNjcmVlbiI/ey4uLmEsQ2M6ITEsT2I6MCxQYzohMCxGYzpjLm1heEhlaWdodH06Yj09PSJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iP3suLi5hLENjOiExLE9iOjAsUGM6ITEsRmM6Yy5tYXhIZWlnaHR9OmI9PT0iQ2xvc2UgU2hlZXQiP3suLi5hLENjOiEwLE9iOmMuY2xpZW50SGVpZ2h0LFBjOiExLEZjOmMubWF4SGVpZ2h0fTphfTsKVGdhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLnRoLGM9YTtyZXR1cm57c3Vic2NyaWJlKGQpe2Iuc3Vic2NyaWJlKCJjaGFuZ2VkIixkKX0sZGlzcGF0Y2goZCxlKXtjPVNnYShjLHtrZXk6ZCxwYXlsb2FkOmV9KTtiLnB1Ymxpc2goImNoYW5nZWQiLGMpfX19O2xOPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57Yi5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gYT8uKGIpfX07VWdhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbkRlZmF1bHQiO2Nhc2UgMTpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyIjtjYXNlIDI6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvblNwbGl0UGFpciI7Y2FzZSAzOnJldHVybiJ5dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyIn19O21OPWZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLmNMKS5KZSgpfTsKbk49ZnVuY3Rpb24oYSl7cmV0dXJue2hlYWRlclRpdGxlOmEuaGVhZGVyVGl0bGU/LigpLGhlYWRlclN1YnRpdGxlOmEuaGVhZGVyU3VidGl0bGU/LigpLFdmOmEuV2YsTmY6YS5OZixPZjphLk9mLFJlOmEuUmU/LigpLE1mOmEuTWY/LigpLFBmOmEuUGY/LigpLEhhOmEuSGE/LigpLHBmOmEucGY/LigpLEdrOmEuR2s/LigpLEdoOmEuR2gsZm9jdXNPbkNsb3NlOmEuZm9jdXNPbkNsb3NlPy4oKSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZD8uKCksZGlzYWJsZWRDb21tYW5kOmEuZGlzYWJsZWRDb21tYW5kPy4oKSxVZTphLlVlLEdiOmEuR2IsU2U6YS5TZSxqaDphLmpoKCksWGk6YS5YaSgpLGhoOmEuaGgoKSxVZjphLlVmKCksVmY6YS5WZigpLGloOmEuaWgoKX19O3BOPWZ1bmN0aW9uKGEpe29OfHwob049Xy54TSgpKTtvTj8uc2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIixTdHJpbmcoYSoxMDApKX07VmdhPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQudmFsdWVBc051bWJlcjtfLk1IKCk/LnNldFBsYXliYWNrUmF0ZShhKX07CldnYT1mdW5jdGlvbihhKXtwTihhLnRhcmdldC52YWx1ZUFzTnVtYmVyKX07WGdhPWZ1bmN0aW9uKGEpe18uTUgoKT8uc2V0UGxheWJhY2tSYXRlKGEpO3BOKGEpfTtxTj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm57fTt2YXIgYj1hLmZvcmVncm91bmRUaXRsZUNvbG9yLGM9YS5iYWNrZ3JvdW5kQ29sb3I7YT1hLmJvcmRlckNvbG9yO3ZhciBkPSJ0ZXh0IjthP2Q9Im91dGxpbmUiOmMmJihkPSJmaWxsZWQiKTtyZXR1cm57dHlwZTpkLGN1c3RvbUNvbG9yczp7Y29sb3I6Yj9fLk5EKGIpOnZvaWQgMCxiYWNrZ3JvdW5kQ29sb3I6Yz9fLk5EKGMpOnZvaWQgMCxib3JkZXJDb2xvcjphP18uTkQoYSk6dm9pZCAwfX19OwphaGE9ZnVuY3Rpb24oe3JlbmRlcmVyOmEsSW06Yix3QTpjLFNjOmQsZHc6ZSxRZjpmLEJsOmgsaXNTdWJzY3JpYmU6az0hMSxDSjpsPSExLG9MOm09ITF9KXt2YXIgbj1ZZ2EoYSk7ayYmKG4uc3R5bGU9Im1vbm8iLG4udHlwZT0iZmlsbGVkIik7ZT0hYS5pY29ufHwhZSYmYS50ZXh0P2EuaWNvbj9hLmljb25Qb3NpdGlvbj09PSJCVVRUT05fSUNPTl9QT1NJVElPTl9UWVBFX1JJR0hUX09GX1RFWFQiPyJ0cmFpbGluZyI6ImxlYWRpbmciOnZvaWQgMDpmPyJpY29uLW9ubHkiOiJpY29uLW9ubHktNDAiO2U9PT0iaWNvbi1vbmx5LTQwIiYmKG4udHlwZT0idGV4dCIpO209ey4uLlpnYShhLG0pfTtsPSEhYS5pc1NlbGVjdGVkfHwhXy54KCJ3ZWJfcHJvcGFnYXRlX2lzX3ByZXNzZWRfa2lsbHN3aXRjaCIpJiYhIWw7Zj1hLmlzU2VsZWN0ZWQhPT12b2lkIDA7aD1oPT09dm9pZCAwP2EuaXNEaXNhYmxlZDpoO2s9YS50ZXh0P18uQUYoYS50ZXh0KTp2b2lkIDA7dmFyIHA9KHA9YS5hY2Nlc3NpYmlsaXR5RGF0YT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHwKYS5hY2Nlc3NpYmlsaXR5Py5sYWJlbCk/cDpfLmFOKGEudGV4dCk7Yj0kZ2EoYSxiLGMpO2M9ck4oYSk7Yz8ubGVuZ3RoPyhjPV8uYkUoe2lubmVydHViZUNvbW1hbmQ6TE0oYykscWQ6ITB9KSxjPWM/LmhyZWY/Yzp2b2lkIDApOmM9dm9pZCAwO3JldHVybnsuLi5uLC4uLm0saWNvblBvc2l0aW9uOmUsLi4uZCxmb2N1c2VkOiExLHRvZ2dsZWQ6bCx0b2dnbGVhYmxlOmYsZGlzYWJsZWQ6aCxXYTprLGFjY2Vzc2liaWxpdHlMYWJlbDpwLG9uVGFwOmIsdWM6YywuLi5xTihhLmNvbG9yRGF0YT8uYmFzaWNDb2xvclBhbGV0dGVEYXRhKSxvbmVPZmZDdXN0b21UZXh0V3JhcDphLm9uZU9mZkN1c3RvbVRleHRXcmFwfX07JGdhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZhciBlPXJOKGEpO2IoZSxkKTtpZighYylmb3IobGV0IGYgb2YgZSlfLmRLKGYpfX07CnJOPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2EuY29tbWFuZCYmYi5wdXNoKGEuY29tbWFuZCk7YS5zZXJ2aWNlRW5kcG9pbnQmJmIucHVzaChhLnNlcnZpY2VFbmRwb2ludCk7YS5uYXZpZ2F0aW9uRW5kcG9pbnQmJmIucHVzaChhLm5hdmlnYXRpb25FbmRwb2ludCk7cmV0dXJuIGJ9O1pnYT1mdW5jdGlvbihhLGIpe2lmKGIpc3dpdGNoKGEuc2l6ZSl7Y2FzZSAiU0laRV9TTUFMTCI6cmV0dXJue3NpemU6IlMifTtjYXNlICJTSVpFX0xBUkdFIjpyZXR1cm57c2l6ZToiTCJ9O2Nhc2UgIlNJWkVfWExBUkdFIjpyZXR1cm57c2l6ZToiWEwifTtjYXNlICJTSVpFX1hTTUFMTCI6cmV0dXJue3NpemU6IlhTIn07ZGVmYXVsdDpyZXR1cm57c2l6ZToiTSJ9fXN3aXRjaChhLnN0eWxlKXtjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOnJldHVybntzaXplOiJTIn07ZGVmYXVsdDpyZXR1cm57c2l6ZToiTSJ9fX07CllnYT1mdW5jdGlvbihhKXtzd2l0Y2goYS5zdHlsZSl7Y2FzZSAiU1RZTEVfVklTSUJMWV9ESVNBQkxFRCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImRpc2FibGVkIn07Y2FzZSAiU1RZTEVfUFJJTUFSWSI6Y2FzZSAiU1RZTEVfUEFZTUVOVCI6Y2FzZSAiU1RZTEVfQ0FMTF9UT19BQ1RJT05fRklMTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9DQUxMX1RPX0FDVElPTl9UT05BTCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVVRMSU5FIjpjYXNlICJTVFlMRV9TVUdHRVNUSVZFIjpjYXNlICJTVFlMRV9TVUdHRVNURURfQUNUSU9OIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfQkxVRV9URVhUIjpjYXNlICJTVFlMRV9BTEVSVF9JTkZPIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIiwKdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfV0hJVEVfV0lUSF9CT1JERVIiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0xJR0hUX1RFWFQiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fRklMTEVEX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTU9OT19UT05BTF9PVkVSTEFZIjpjYXNlICJTVFlMRV9EQVJLX09OX0JMQUNLIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRvbmFsIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWV9QUk9URUNURUQiOnJldHVybntzdHlsZToib3ZlcmxheS1kYXJrIiwKdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX0ZJTExFRCI6Y2FzZSAiU1RZTEVfREVTVFJVQ1RJVkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfREVGQVVMVCI6Y2FzZSAiU1RZTEVfQ09NUEFDVF9HUkFZIjpjYXNlICJTVFlMRV9NT05PX1RPTkFMIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRvbmFsIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfSU5BQ1RJVkVfT1VUTElORSI6Y2FzZSAiU1RZTEVfTU9OT19PVVRMSU5FIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CTFVFX1RFWFRfV0lUSF9JTlZFUlNFX1RIRU1FIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uLWludmVyc2UiLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CUkFORF9HUkFESUVOVCI6cmV0dXJue3N0eWxlOiJicmFuZC1ncmFkaWVudCIsCnR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0dFTkVSQVRJVkVfR1JBRElFTlQiOnJldHVybntzdHlsZToiZ2VuLWFpLWdyYWRpZW50Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtkZWZhdWx0OnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9fX07CmRoYT1mdW5jdGlvbih7cmVuZGVyZXI6YSxlbGVtZW50OmIsdG9nZ2xlZDpjLEltOmQsUnU6ZSxTYzpmLGR3OmgsUWY6ayxCbDpsLG5MOm0sYWI6bn0pe3ZhciBwPWJoYShhLGMpO2g9IWEuZGVmYXVsdEljb258fCFoJiZhLmRlZmF1bHRUZXh0P2EuZGVmYXVsdEljb24/ImxlYWRpbmciOnZvaWQgMDprPyJpY29uLW9ubHkiOiJpY29uLW9ubHktNDAiO2g9PT0iaWNvbi1vbmx5LTQwIiYmKHAudHlwZT0idGV4dCIpO2E6c3dpdGNoKGEuc3R5bGU/LnN0eWxlVHlwZSl7Y2FzZSAiU1RZTEVfQ09NUEFDVF9HUkFZIjprPXtzaXplOiJTIn07YnJlYWsgYTtkZWZhdWx0Oms9e3NpemU6Ik0ifX1rPXsuLi5rfTt2YXIgcj0ocj1jJiZhLnRvZ2dsZWRUZXh0fHxhLmRlZmF1bHRUZXh0KT9fLkFGKHIpOnZvaWQgMDttPyhtPV8uYU4oYyYmYS50b2dnbGVkVGV4dHx8YS5kZWZhdWx0VGV4dCkpJiZuJiYhaXNOYU4oTnVtYmVyKG4ubnVtYmVyVmFsdWUpKT8obi5YYj1tLGMmJihuLm51bWJlclZhbHVlKz0KMSkpOm49dm9pZCAwOm49dm9pZCAwO209KG09KGM/YS50b2dnbGVkQWNjZXNzaWJpbGl0eURhdGF8fGEudG9nZ2xlZFRleHQ/LmFjY2Vzc2liaWxpdHk6YS5hY2Nlc3NpYmlsaXR5RGF0YXx8YS5kZWZhdWx0VGV4dD8uYWNjZXNzaWJpbGl0eSk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbHx8YS5hY2Nlc3NpYmlsaXR5Py5sYWJlbCk/bTpfLmFOKGMmJmEudG9nZ2xlZFRleHR8fGEuZGVmYXVsdFRleHQpO2w9bD09PXZvaWQgMD9hLmlzRGlzYWJsZWQ6bDtiPWNoYShhLGMsZCxiLGUpO2Q9c04oYSxjKTtkPy5sZW5ndGg/KGQ9Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpMTShkKSxxZDohMH0pLGQ9ZD8uaHJlZj9kOnZvaWQgMCk6ZD12b2lkIDA7cmV0dXJuey4uLnAsLi4uayxpY29uUG9zaXRpb246aCwuLi5mLGZvY3VzZWQ6ITEsdG9nZ2xlZDohIWMsdG9nZ2xlYWJsZTohMCxXYTpyLGFiOm4sYWNjZXNzaWJpbGl0eUxhYmVsOm0sZGlzYWJsZWQ6bCxvblRhcDpiLHVjOmQsLi4ucU4oYS5jb2xvckRhdGE/LmJhc2ljQ29sb3JQYWxldHRlRGF0YSl9fTsKY2hhPWZ1bmN0aW9uKGEsYixjLGQsZT17fSl7cmV0dXJuIGY9Pnt2YXIgaD1hLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZT9fLnV4KGEubG9nZ2luZ0RpcmVjdGl2ZXMuY2xpZW50VmVTcGVjLnVpVHlwZSk6dm9pZCAwO2UuY2xpY2tlZFZpc3VhbEVsZW1lbnR8fChlLmNsaWNrZWRWaXN1YWxFbGVtZW50PWgpO2g9c04oYSxiKTtjKGgsZik7Zm9yKGxldCBuIG9mIGgpe2g9bjt2YXIgaz1kLGw9ZixtPWU7bS5mb3JtP20uZm9ybS5ldmVudD1sOm0uZm9ybT17ZWxlbWVudDprLGV2ZW50Omx9O18uZEsoaCxtKX19fTsKc049ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtiPyhhLnRvZ2dsZWRDb21tYW5kJiZjLnB1c2goYS50b2dnbGVkQ29tbWFuZCksYS50b2dnbGVkU2VydmljZUVuZHBvaW50JiZjLnB1c2goYS50b2dnbGVkU2VydmljZUVuZHBvaW50KSk6KGEuZGVmYXVsdENvbW1hbmQmJmMucHVzaChhLmRlZmF1bHRDb21tYW5kKSxhLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQmJmMucHVzaChhLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQpLGEuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCYmYy5wdXNoKGEuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCkpO3JldHVybiBjfTsKYmhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b2dnbGVkU3R5bGV8fGEuc3R5bGU7c3dpdGNoKChiP2M6YS5zdHlsZSk/LnN0eWxlVHlwZSl7Y2FzZSAiU1RZTEVfVklTSUJMWV9ESVNBQkxFRCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImRpc2FibGVkIn07Y2FzZSAiU1RZTEVfUFJJTUFSWSI6Y2FzZSAiU1RZTEVfUEFZTUVOVCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfU1VHR0VTVElWRSI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JMVUVfVEVYVCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0RFU1RSVUNUSVZFIjpjYXNlICJTVFlMRV9NT05PX0ZJTExFRCI6cmV0dXJue3N0eWxlOiJtb25vIiwKdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9MSUdIVF9URVhUIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX1RPTkFMX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9ERUZBVUxUIjpjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9JTkFDVElWRV9PVVRMSU5FIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtkZWZhdWx0OnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9fX07Cl8udE49ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSyhfLmdHLHtwYTooKT0+W2EuY29tcG9uZW50KCldfSxiPT5iPy4oKSl9O2ZoYT1mdW5jdGlvbihhLGIsYyl7aWYoYz09PW51bGx8fGM9PT12b2lkIDApcmV0dXJuIGM7dmFyIGQ9Xy5nQihhLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxiLCgpPT57dGhyb3cgRXJyb3IoIm1jIik7fSk7aWYoZD09PW51bGwpcmV0dXJuIGM7ZD1laGFbZF07aWYoZC5oZT8uKGMpKXtpZihkLktkKXJldHVybiBkLktkKGMpO3Rocm93IEVycm9yKCJEZCIpO31yZXR1cm4gZC5wZD9kLnBkKGEudGFnTmFtZSxiLFN0cmluZyhjKSk6Y307Xy51Tj1mdW5jdGlvbihhKXtyZXR1cm4gYS5mb3JlZ3JvdW5kVGl0bGVDb2xvcj09PSJUSEVNRV9BVFRSSUJVVEVfVEVYVF9ESVNBQkxFRCJ8fGEuZm9yZWdyb3VuZEljb25Db2xvcj09PSJUSEVNRV9BVFRSSUJVVEVfSUNPTl9ESVNBQkxFRCJ9O3ZOPWZ1bmN0aW9uKGEpe2lmKGEmJl8uS00oYSkpcmV0dXJuIGF9OwpYPWZ1bmN0aW9uKGEsYil7KGI9Xy5hQShhLHt9LGIpKXx8Xy5XaShFcnJvcigiRWRgIithKSk7cmV0dXJuIGJ9O18ud049ZnVuY3Rpb24oYSl7cmV0dXJue3VybEVuZHBvaW50Ont1cmw6YX0sY29tbWFuZE1ldGFkYXRhOnt3ZWJDb21tYW5kTWV0YWRhdGE6e3VybDphfX19fTtfLnhOPWZ1bmN0aW9uKCl7cmV0dXJuIF8ub00oKS5nZXRTdGF0ZSgpLnRpPy5qan07Xy55Tj1mdW5jdGlvbihhKXtfLnkoKS5yZXNvbHZlKF8uY0wpLndnKHtRazphfSl9O18uek49ZnVuY3Rpb24oKXtfLnkoKS5yZXNvbHZlKF8uY0wpLkplKCl9O18uQk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1hPy5wYXJlbnRFbGVtZW50Py5jaGlsZHJlbjtpZihjKWZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtsZXQgZT1jW2RdO2NbZF0hPT1hJiYoYj9lLnNldEF0dHJpYnV0ZSgiaW5lcnQiLCJ0cnVlIik6ZS5yZW1vdmVBdHRyaWJ1dGUoImluZXJ0IiksQU4oZSxiKSl9fTsKQU49ZnVuY3Rpb24oYSxiKXtiPyhhLmhhc0F0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSYmYS5zZXRBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIixhLmdldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSksYS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpKTooYS5oYXNBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIikmJihhLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLGEuZ2V0QXR0cmlidXRlKCJkYXRhLW9sZC1hcmlhLWhpZGRlbiIpKSxhLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iKSksYS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIikpfTtDTj1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGxheWVyLWNvbnRhaW5lci1pZCIpO2ImJkFOKGIsYSl9OwpnaGE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtyZXR1cm4oYT1hLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8uY3J8fGEuY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP2EuYm9keXx8YS5kb2N1bWVudEVsZW1lbnQ6YS5kb2N1bWVudEVsZW1lbnQpJiZ0eXBlb2YgYS5zY3JvbGxUb3A9PT0ibnVtYmVyIj9hLnNjcm9sbFRvcDp0eXBlb2Ygd2luZG93LnBhZ2VZT2Zmc2V0PT09Im51bWJlciI/d2luZG93LnBhZ2VZT2Zmc2V0OjB9OwpfLkpOPWZ1bmN0aW9uKGEsYj1kb2N1bWVudC5hY3RpdmVFbGVtZW50LGM9ITEpe2EhPT1fLkROW18uRE4ubGVuZ3RoLTFdJiZfLkROLnB1c2goYSk7YiE9PWRvY3VtZW50LmJvZHk/RU4uc2V0KGEsYik6RU4uaGFzKGEpfHxFTi5zZXQoYSxudWxsKTtjP18uT0UoKCk9PntoaGEoYSxhLnF1ZXJ5U2VsZWN0b3IoImRpYWxvZyIpKX0pOl8uT0UoKCk9PnthPy5xdWVyeVNlbGVjdG9yKCJkaWFsb2ciKT8uZm9jdXMoKX0pO18uRE4ubGVuZ3RoPjF8fChGTj1naGEoKSxfLkJOKGEsITApLEdOJiZITiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoR04pLElOPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18ueE4oKXx8KGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJtb2RhbC1vcGVuLWJvZHkiLCIiKSxkb2N1bWVudC5ib2R5LnN0eWxlLnRvcD1gLSR7Rk59cHhgLHdpbmRvdy5zY3JvbGxUbygwLC1GTiksSU49bnVsbCl9KSl9OwppaGE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmZyb20oYS5xdWVyeVNlbGVjdG9yQWxsKCdhLGlucHV0Om5vdChbZGlzYWJsZWRdKSxzZWxlY3Q6bm90KFtkaXNhYmxlZF0pLGJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6bm90KC5tb2RhbC1oaWRkZW4tYnV0dG9uKSxbdGFiaW5kZXg9IjAiXScpKS5maWx0ZXIoYj0+e2lmKGIudGV4dENvbnRlbnQpcmV0dXJuITA7aWYoYiBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpe2lmKCFiLmxhYmVscylyZXR1cm4hMTtmb3IobGV0IGMgb2YgYi5sYWJlbHMpaWYoYy50ZXh0Q29udGVudClyZXR1cm4hMH1yZXR1cm4hMX0pfTsKaGhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9aWhhKGEpLGQ9Y1swXTtpZighZCYmYiliLmZvY3VzKCk7ZWxzZXt2YXIgZT1jW2MubGVuZ3RoLTFdO2lmKGQpe2QuZm9jdXMoKTtsZXQgZj1oPT57aC5rZXlDb2RlPT09MjcmJihhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGYpLF8uS04oYSkpO2gua2V5Q29kZSE9PTM4JiZoLmtleUNvZGUhPT00MCYmaC5rZXlDb2RlIT09OXx8amhhKGQsZSl9O2EuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZil9fX07amhhPWZ1bmN0aW9uKGEsYil7aWYoIUxOKXtMTj0hMDt2YXIgYz1NTigpO2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxhKTtjLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCgpPT57Yi5mb2N1cygpfSk7Yz1NTigpO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxiLm5leHRTaWJsaW5nKTtjLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCgpPT57YS5mb2N1cygpfSl9fTsKTU49ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7YS5jbGFzc05hbWU9Im1vZGFsLWhpZGRlbi1idXR0b24iO2Euc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIi0xIik7YS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO3JldHVybiBhfTsKXy5LTj1mdW5jdGlvbihhKXt2YXIgYj1FTi5nZXQoYSk7RU4uZGVsZXRlKGEpO2lmKGtoYSl7aWYoXy5CTihhLCExKSxfLldNKCkmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInl0bS1lbmdhZ2VtZW50LXBhbmVsIikmJkNOKCEwKSxfLnhiKF8uRE4sYSksXy5ETi5sZW5ndGghPT0wKXtiJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntfLmROKGIpfSk7cmV0dXJufX1lbHNle18ueGIoXy5ETixhKTtpZihfLkROLmxlbmd0aCE9PTApe2ImJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18uZE4oYil9KTtyZXR1cm59Xy5CTihhLCExKTtfLldNKCkmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInl0bS1lbmdhZ2VtZW50LXBhbmVsIikmJkNOKCEwKX1JTiYmSE4mJmNhbmNlbEFuaW1hdGlvbkZyYW1lKElOKTtHTj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pntkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgibW9kYWwtb3Blbi1ib2R5Iik7ZG9jdW1lbnQuYm9keS5zdHlsZS50b3A9CiIiO2ImJl8uZE4oYik7Xy5mcj9fLk9FKCgpPT57d2luZG93LnNjcm9sbFRvKDAsRk4pfSk6d2luZG93LnNjcm9sbFRvKDAsRk4pO0dOPW51bGx9KX07bGhhPWZ1bmN0aW9uKGEsYixjPV8uTk4pe2lmKGEpe3ZhciBkPV8ueSgpLnJlc29sdmUoXy5MeCk7ZD9fLkp4KGEse2RhdGE6YixvYnNlcnZlcjpkLE5iOmMsTmM6Xy5uRixlYjpfLm1GLGxheWVyOmEubGF5ZXJ9KTpfLklwKG5ldyBfLlhqKCJXYXJuaW5nOiBtb25pdG9yVmlzaWJpbGl0eSBjYWxsZWQgd2l0aCBudWxsIG9ic2VydmVyIixhLnRhZ05hbWUsYj8ubG9nZ2luZ0RpcmVjdGl2ZXMsYj8udHJhY2tpbmdQYXJhbXMpKX1lbHNlIF8uSXAobmV3IF8uWGooIldhcm5pbmc6IG1vbml0b3JWaXNpYmlsaXR5IGNhbGxlZCB3aXRoIG51bGwgZWxlbWVudCIsYj8ubG9nZ2luZ0RpcmVjdGl2ZXMsYj8udHJhY2tpbmdQYXJhbXMsYj8ucmVuZGVyZXJDb250ZXh0KSl9OwptaGE9ZnVuY3Rpb24oYSxiKXthJiZfLk9FKCgpPT57bGhhKGEsYixfLk5OKX0pfTtRTj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PSJTSE9SVFNfTElLRSImJl8ueCgiZW5hYmxlX3Nob3J0c19oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIik/InNob3J0c190aHVtYnNfdXAiOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiZhJiZPTlthXT9PTlthXTphJiZQTlthXT9QTlthXTphfTtuaGE9ZnVuY3Rpb24oKXtpZihSTil7dmFyIGE9Xy55KCkucmVzb2x2ZShfLkluKFNOKSk7Uk49ITE7YT8udigpfX07b2hhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iW2IubGVuZ3RoLTFdIT09IiQiO2M9ZmhhKGEsYixjKTtkP2FbYl09YzooZD1jPT1udWxsP251bGw6U3RyaW5nKGMpLF8uUUEoYSxiLnNsaWNlKDAsLTEpLGQpKX07ClROPWZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPWEuY29tcG9uZW50O2ImJihiPy5ldmVudHM/LnB1Ymxpc2goIkRJU0NPTk5FQ1RFRCIpLGI/LmRLPy4oKSk7YS5MSD8uSGY/LigpO2ZvcihiPTA7YjxhLmNoaWxkTm9kZXMubGVuZ3RoO2IrKylUTihhLmNoaWxkTm9kZXNbYl0pfX07Xy5VTj1mdW5jdGlvbigpe3JldHVybiBfLkZKLnRoZW4oKCk9Pnt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjbWVudSImJihfLllNP18uJE0oIiIpOl8uWk0oKSk7cmV0dXJuIF8uRkp9KX07CnFoYT1mdW5jdGlvbihhKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoYS5pc0Rpc2FibGVkJiZhLmRpc2FibGVkQ29tbWFuZClfLkFKKGEuZGlzYWJsZWRDb21tYW5kLGEsITEpO2Vsc2V7Vk49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lbnUiKTtWTnx8KFZOPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFZOLmlkPSJtZW51Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFZOKSk7d2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI21lbnUiJiZfLiRNKCJtZW51Iik7Vk4uY2xhc3NOYW1lPWEuaXNGdWxsV2lkdGg/Im1lbnUtY29udGFpbmVyIG1lbnUtZnVsbC13aWR0aCI6Im1lbnUtY29udGFpbmVyIjthLmNsYXNzTmFtZSYmKFZOLmNsYXNzTmFtZSs9IiAiK2EuY2xhc3NOYW1lKTsic2Nyb2xsVG8iaW4gVk4mJlZOLnNjcm9sbFRvKDAsMCk7dmFyIGM9YS5GQXx8Xy5tRygpO18uVnooYixfLnZNKGEub3duZXImJiFhLm93bmVyLmlhPwphLm93bmVyOm51bGwpKTtfLngoIm13ZWJfYzNfbWVudV9zaWduYWxzX3JlbmRlciIpPyhwaGEoYSksV058fChXTj1fLnhGKFZOLCgpPT5fLksoXy5JQixudWxsLF8uSyhYTix7RGg6KCk9PllOKCl9LF8uSyhfLnROLHtjb21wb25lbnQ6KCk9Pnt2YXIgZD1ZTigpO2lmKGQpcmV0dXJuKCk9Pl8ucEcoY3x8e30sKCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PmQuY29udGVudH0pKX19KSksXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLlVOfSkpLHtJazpfLlhDfSkpKTooXy5mTihWTixudWxsKSxfLmZOKFZOLF8uSyhfLklCLG51bGwsXy5LKFhOLHtEaDphfSxhLmNvbnRlbnQoKSksXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLlVOfSkpKSk7YS5ybj09PXZvaWQgMCYmKGEucm49ITApO18uSk4oVk4sYS5mb2N1c09uQ2xvc2UsYS5ybil9fWNhdGNoKGQpe2IuZXJyb3I9ZCxiLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihiKX19OwphTz1mdW5jdGlvbigpe1ZOJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjbWVudSImJihfLktOKFZOKSxfLngoIm13ZWJfYzNfbWVudV9zaWduYWxzX3JlbmRlciIpPyhXTj8uKCksV049dm9pZCAwKTpUTihWTiksVk4uaXNDb25uZWN0ZWQmJmRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoVk4pLFZOPW51bGwpfTtyaGE9LyYvZztzaGE9LzwvZzt0aGE9Lz4vZzt1aGE9LyIvZzt2aGE9LycvZzt3aGE9L1x4MDAvZzt4aGE9L1tceDAwJjw+IiddLztfLndNPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1uZXcgXy56aChhKX1zZXQoYSxiLGMpe2M9YyE9PXZvaWQgMD9EYXRlLm5vdygpK2M6dm9pZCAwO3RoaXMuai5zZXQoYSxiLGMpfWdldChhKXtyZXR1cm4gdGhpcy5qLmdldChhKX1yZW1vdmUoYSl7dGhpcy5qLnJlbW92ZShhKX19O0VnYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1udWxsO3RoaXMubz1hO3RoaXMua2V5PWI7dGhpcy50ZXh0PXZvaWQgMH19O0ZNPVtdOwpITT0wO2JPPXsiKiI6e2FzeW5jOjEsZGlyOjAsbG9hZGluZzoyLHRhcmdldDozfX07eWhhPVt7YXV0bzohMCxsdHI6ITAscnRsOiEwfSx7YXN5bmM6ITB9LHtlYWdlcjohMCxsYXp5OiEwfSx7X3NlbGY6ITAsX2JsYW5rOiEwfV07T009bnVsbDtRTT17fTtJZ2E9IldFQl9QQUdFX1RZUEVfQUNDT1VOVFMgV0VCX1BBR0VfVFlQRV9XRUxDT01FIFdFQl9QQUdFX1RZUEVfQUNDT1VOVF9TRUxFQ1RPUiBXRUJfUEFHRV9UWVBFX1NJR05fSU5fSURFTlRJRklFUl9FTlRSWSBXRUJfUEFHRV9UWVBFX1NJR05fSU5fUEFTU1dPUkRfRU5UUlkgV0VCX1BBR0VfVFlQRV9TSUdOX0lOX0RFVklDRV9QUk9NUFRfQ0hBTExFTkdFIFdFQl9QQUdFX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTCBXRUJfUEFHRV9UWVBFX1VOS05PV04iLnNwbGl0KCIgIik7CkpnYT17RkV3aGF0X3RvX3dhdGNoOiJob21lIixGRWhhc2h0YWc6Imhhc2h0YWciLEZFdHJlbmRpbmc6InRyZW5kaW5nIixGRWhpc3Rvcnk6Imhpc3RvcnkiLFNQdW5saW1pdGVkOiJwcmVtaXVtIixGRW1lbWJlcnNoaXBzX2FuZF9wdXJjaGFzZXM6InBhaWRfbWVtYmVyc2hpcHMiLFNQcmVkZWVtX2NvZGU6InJlZGVlbSIsU1B2ZXJpZnlfbG9jYXRpb246ImxvY2F0ZSIsU1BtaW5vcl9tb21lbnQ6Im1pbm9yX21vbWVudCIsRkVtaW5pX2FwcF9jb250YWluZXI6Im1pbmlfYXBwIixGRW5ld3NfZGVzdGluYXRpb246Im5ld3MiLFNQb3Blbl9pbl9hcHA6Im9wZW5faW5fYXBwIixGRWV4cGxvcmU6ImV4cGxvcmUiLEZFc3Vic2NyaXB0aW9uczoic3Vic2NyaXB0aW9ucyIsRkVzZnZfYXVkaW9fcGl2b3Q6InNmdl9hdWRpb19waXZvdCIsRkVwbGF5bGlzdF9hZ2dyZWdhdGlvbjoicGxheWxpc3RfYWdncmVnYXRpb24ifTtfLllNPSExO3poYT17YUQ6InlvdXR1YmVfZmlsbCIsUkY6InlvdXR1YmVfb3V0bGluZSJ9OwpBaGE9e2pGOiJMSUtFIixFRjoiTk9USUZJQ0FUSU9OX0JFTEwifTtfLktCPV8ubEM7dmFyIFFnYT1uZXcgU2V0KFsiRm9yIiwiSWYiLCJNYXRjaCIsIldhdGNoIl0pLGNPPXtbXy5SQS5kZWZhdWx0XTooKT0+Xy56QixzdHlsZTooKT0+Xy56Qn07Zm9yKGxldCBhIGluIGNPKV8uS3UuYXR0cmlidXRlc1thXT1jT1thXShfLkt1LmF0dHJpYnV0ZXNbYV0pO18uQmhhPW5ldyBfLkkoInNpZ25JbkVuZHBvaW50Iik7Xy5kTz1uZXcgXy5JKCJsaWtlRW5kcG9pbnQiKTt2YXIgQ2hhPW5ldyBfLkkoImhvcml6b250YWxTbGlkZXJWaWV3TW9kZWwiKTt2YXIgRGhhPW5ldyBfLlZzKCJWSURFT19OT1RJQ0VTX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgRWhhPV8uTChhPT57ZnVuY3Rpb24gYihrKXt2YXIgbD1oKCktYS5zdGVwU2l6ZSgpO2QudmFsdWUudmFsdWVBc051bWJlcj1sO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IikpO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNoYW5nZSIpKTtrLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGMoayl7dmFyIGw9aCgpK2Euc3RlcFNpemUoKTtkLnZhbHVlLnZhbHVlQXNOdW1iZXI9bDtkLnZhbHVlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIpKTtkLnZhbHVlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJjaGFuZ2UiKSk7ay5zdG9wUHJvcGFnYXRpb24oKX12YXIgZD1fLnVFKCJpbnB1dCIpLFtlLGZdPV8uQUMoKCk9PmEudmFsdWUoKT8/MCksaD1lO18ubkUoKCk9Pnt2YXIgaz1kLnZhbHVlO2sudmFsdWVBc051bWJlcj1oKCk7dmFyIGw9aCgpLG09YS5taW5WYWx1ZSgpLG49YS5SbCgpO2suc3R5bGUuc2V0UHJvcGVydHkoIi0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQiLApgJHsobC1tKS9uKjEwMH0lYCl9LCJqVDVDQ2YiKTtyZXR1cm4gXy5LKCJzbGlkZXItc2hhcGUiLHtjbGFzczpfLlAoInl0U2xpZGVyU2hhcGVIb3N0Iix7eXRTbGlkZXJTaGFwZVZlcnRpY2FsOigpPT5hLmlzVmVydGljYWwoKX0pfSxfLksoXy5PLHtBOmEuVWosdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b24iLCJhcmlhLWxhYmVsIjphLmpsLGRpc2FibGVkOigpPT5oKCk9PT1hLm1pblZhbHVlKCksIm9uOmNsaWNrIjpifSxfLksoXy5VQyx7bW9kZWw6e2NpcmN1bGFyOiEwfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjoiQkFSX0hPUklaT05UQUwiLGNsYXNzTmFtZToieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uIn0pKSl9KSxfLksoImlucHV0Iix7Y2xhc3M6KCk9PmEuaXNWZXJ0aWNhbCgpPyJ5dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXIiOgoieXRTbGlkZXJTaGFwZUhvc3RTbGlkZXIiLHR5cGU6InJhbmdlIixpZDoic2xpZGVyIixlbDpkLG1pbjphLm1pblZhbHVlLG1heDphLm1heFZhbHVlLCJhcmlhLWxhYmVsIjphLmFyaWFMYWJlbCwiYXJpYS12YWx1ZW1pbiI6YS5taW5WYWx1ZSwiYXJpYS12YWx1ZW1heCI6YS5tYXhWYWx1ZSwiYXJpYS12YWx1ZW5vdyI6aCwiYXJpYS12YWx1ZXRleHQiOigpPT5TdHJpbmcoaCgpKSx2YWx1ZTpoLHN0ZXA6YS5zdGVwU2l6ZSwib246aW5wdXQiOmZ1bmN0aW9uKGspe2EuUmM/LihrKTtmKE51bWJlcihkLnZhbHVlPy52YWx1ZT8/MCkpO2suc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKGspe2Eub25DaGFuZ2U/LihrKTtrLnN0b3BQcm9wYWdhdGlvbigpfX0pLF8uSyhfLk8se0E6YS5Vaix0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbiIsImFyaWEtbGFiZWwiOmEuUGwsZGlzYWJsZWQ6KCk9PmgoKT09PQphLm1heFZhbHVlKCksIm9uOmNsaWNrIjpjfSxfLksoXy5VQyx7bW9kZWw6e2NpcmN1bGFyOiEwfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjoiQUREIixjbGFzc05hbWU6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbiJ9KSkpfSkpfSwiT2EiKTt2YXIgRmhhPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYztpZigoYz1hLmRhdGEoKSkmJmMubWF4VmFsdWUmJmMubWluVmFsdWUmJmMuc3RlcENvdW50KXt2YXIgZD1jLnZhbHVlRGVub21pbmF0b3I/PzEsZT0oYy5tYXhWYWx1ZS1jLm1pblZhbHVlKS9kO2M9e3ZhbHVlOihjLmluaXRpYWxWYWx1ZT8/Yy5taW5WYWx1ZSkvZCxhcmlhTGFiZWw6Xy5CKGMucmVuZGVyZXJDb250ZXh0LF8uWUMpPy5sYWJlbD8/IiIsbWluVmFsdWU6Yy5taW5WYWx1ZS9kLG1heFZhbHVlOmMubWF4VmFsdWUvZCxSbDplLHN0ZXBTaXplOmUvYy5zdGVwQ291bnQsb25DaGFuZ2U6aU4oYy5vblNsaWRlclZhbHVlU2V0Q29tbWFuZCxhLll5KSxSYzppTihjLm9uU2xpZGVyVG91Y2hDb21tYW5kLGEuZnopLFBsOl8uQihjLmluY3JlYXNlQnV0dG9uLF8uS0opPy5hY2Nlc3NpYmlsaXR5VGV4dD8/IiIsamw6Xy5CKGMuZGVjcmVhc2VCdXR0b24sXy5LSik/LmFjY2Vzc2liaWxpdHlUZXh0Pz8iIixpc1ZlcnRpY2FsOiExLApVajohIV8uQihjLmluY3JlYXNlQnV0dG9uLF8uS0opJiYhIV8uQihjLmRlY3JlYXNlQnV0dG9uLF8uS0opfX1lbHNlIGM9e307cmV0dXJuIGN9O3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dEhvcml6b250YWxTbGlkZXJWaWV3TW9kZWxIb3N0In0sXy5LKEVoYSx7dmFsdWU6KCk9PmIoKS52YWx1ZSxhcmlhTGFiZWw6KCk9PmIoKS5hcmlhTGFiZWwsbWluVmFsdWU6KCk9PmIoKS5taW5WYWx1ZSxtYXhWYWx1ZTooKT0+YigpLm1heFZhbHVlLHN0ZXBTaXplOigpPT5iKCkuc3RlcFNpemUsUmw6KCk9PmIoKS5SbCxQbDooKT0+YigpLlBsLGpsOigpPT5iKCkuamwsaXNWZXJ0aWNhbDooKT0+YigpLmlzVmVydGljYWwsb25DaGFuZ2U6Yz0+e2IoKS5vbkNoYW5nZShjKX0sUmM6Yz0+e2IoKS5SYyhjKX0sVWo6KCk9PmIoKS5Van0pKX0sIlBhIik7dmFyIGVPPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVXcmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46Yj0+Xy5LKCJoMiIse2NsYXNzOl8uUCgieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyIix7eXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyTm9uSW50ZXJhY3RpdmU6IV8ueCgid2ViX3BhbmVsX2hlYWRlcl90aXRsZV9ub25faW50ZXJhY3RpdmVfa2lsbHN3aXRjaCIpfSl9LF8uSyhfLlYse3RleHQ6YixjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZSJ9KSl9KSxfLksoXy5PLHtBOigpPT5hKCkuc3VidGl0bGUsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmIsY2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsU3VidGl0bGUifSl9KSksIlFhIiksZk89Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLlRIKCgpPT5hKCkucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5LKCJ5dC1wYW5lbC1oZWFkZXItdmlldy1tb2RlbCIsCntjbGFzczpfLlAoInl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0Iix7eXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RIaWRlRGl2aWRlcjooKT0+ISFhKCkuc2hvdWxkSGlkZURpdmlkZXIseXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RDb21wYWN0OigpPT4hIWEoKS5zdWJ0aXRsZX0pLCJhcmlhLWxhYmVsIjooKT0+YigpPy5sYWJlbH0sXy5LKF8uTyx7QTooKT0+Xy50SChhKCkucmVuZGVyZXJDb250ZXh0KSx0aGVuOigpPT5fLksoXy5NSix7Y2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3IiLGNvbW1hbmQ6KCk9Pl8uc0goYSgpLnJlbmRlcmVyQ29udGV4dCksWnY6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvckZvY3VzZWQifSxfLksoZU8se2RhdGE6YX0pKSxXOigpPT5fLksoZU8se2RhdGE6YX0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQnV0dG9ucyJ9LF8uSyhfLlcse2RhdGE6KCk9PgphKCkudHJhaWxpbmdCdXR0b25zfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpjfSk9Pl8uSyhfLkhELHtkYXRhOmMsY2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uIn0pfSkpKX0sIlJhIik7Zk8uaWRvbUNvbXBhdD0hMDt2YXIgZ089Xy5MKGE9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEhvc3QiLCJ5dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lciIsInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIiksc3R5bGU6KCk9PmEuQ2MoKT9gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7YS5PYigpfXB4KTt0cmFuc2l0aW9uOiAwLjJzYDoiIn0sYS5oZWFkZXI/LigpLF8uSygiZGl2Iix7aWQ6YS5IaSxjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlciIsc3R5bGU6Xy5JRSh7Im1heC1oZWlnaHQiOigwLF8uWkspKGEuRmMpfSksIm9uOnNjcm9sbCI6bE4oYS5qciksIm9uOnRvdWNobW92ZSI6bE4oKX0sXy5LKCJkaXYiLHtlbDpfLnJGKGEubnApLGNsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudCIsIm9uOmNsaWNrIjpmdW5jdGlvbihiKXthLnBmPy4oKT9iLnN0b3BQcm9wYWdhdGlvbigpOmEuWXEoYil9fSwKYS5ib2R5Py4oKSkpLGEuZm9vdGVyPy4oKSksIlNhIik7Z08uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntqcjohMCxucDohMCxZcTohMH19O3ZhciBoTz1fLkwoYT0+e3ZhciB7bGVhZGluZ0xhYmVsOmIsdHJhaWxpbmdMYWJlbDpjLFJlOmQscHJpbWFyeUJ1dHRvbjplLEl3OmYsc2Vjb25kYXJ5QnV0dG9uOmgsS3c6ayxPcDpsLEN3Om19PV8uREMoYSx7bGVhZGluZ0xhYmVsOnZvaWQgMCx0cmFpbGluZ0xhYmVsOnZvaWQgMCxSZTp2b2lkIDB9KSxuPSgpPT5iKCl8fGMoKXx8ZigpfHxrKCk7cmV0dXJuIF8uSyhfLk8se0E6bSx0aGVuOigpPT5fLksoXy5JQixudWxsLGw/LigpKSxXOigpPT5fLksoXy5PLHtBOm4sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+YigpfHxjKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJXaXRob3V0QnV0dG9uczooKT0+IWYoKX0pfSxfLksoXy5PLAp7QTpiLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TGVhZGluZ0xhYmVsIn0sYil9KSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVsIn0sYyl9KSl9KSxfLksoXy5PLHtBOigpPT5mKCl8fGsoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJCdXR0b25XcmFwcGVyIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJCdXR0b25XcmFwcGVyTGFuZHNjYXBlQnV0dG9uV3JhcHBlcjpfLkJjYX0pfSxfLksoXy5PLHtBOigpPT5rKCkmJmQoKSE9PTAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25UcmFpbGluZ1BhaXI6KCk9PmQoKT09PTEmJmsoKSwKeXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25TcGxpdFBhaXI6KCk9PmQoKT09PTImJmsoKSx5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblByaW1hcnlTcGxpdFBhaXI6KCk9PmQoKT09PTMmJmYoKX0pfSxoPy4oKSl9KSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbiIsKCk9PlVnYShkKCkpKX0sZT8uKCkpfSkpfSkpfSl9KX0sIlRhIik7aE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntwcmltYXJ5QnV0dG9uOiEwLHNlY29uZGFyeUJ1dHRvbjohMCxPcDohMH19O3ZhciBpTz1fLkwoYT0+e3ZhciB7dGl0bGU6YixzdWJ0aXRsZTpjLGdxOmQsRHc6ZSx4bzpmLHh3Omgsd3M6ayx2czpsLHVzOm0sUXE6bixPdzpwLGlzRHJhZ2dpbmc6cn09Xy5EQyhhLHt0aXRsZTp2b2lkIDAsc3VidGl0bGU6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJJc0RyYWdnaW5nOnJ9KSxpZDpwLCJvbjp0b3VjaHN0YXJ0IjpsTihrKSwib246dG91Y2htb3ZlIjpsTihsKSwib246dG91Y2hlbmQiOmxOKG0pLCJvbjptb3VzZWRvd24iOmxOKG4pfSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dERyYWdMaW5lIn0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoXy5JQixudWxsLGQ/LigpKSxXOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXI6ITAsCnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV2l0aFRpdGxlOmJ9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZVdyYXBwZXIifSxfLksoXy5PLHtBOmIsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoImgyIix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGUifSxiKSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJoMyIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxlIn0sYyl9KSl9KSksXy5LKF8uTyx7QTooKT0+YigpJiZoKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRBY3Rpb25IZWFkZXIifSxmPy4oKSl9KSl9KSl9LCJVYSIpO2lPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7d3M6ITAsdnM6ITAsdXM6ITAsUXE6ITAseG86ITAsZ3E6ITAsaXNEcmFnZ2luZzohMH19O3ZhciBqTz1fLkwoYT0+e2Z1bmN0aW9uIGIoYWEpe2lmKCFZJiZ0eXBlb2YgTXV0YXRpb25PYnNlcnZlciE9PSJ1bmRlZmluZWQiKXt2YXIgT2E9e2NoaWxkTGlzdDohMH07Ik11dGF0aW9uT2JzZXJ2ZXIiaW4gd2luZG93JiYoWT1uZXcgTXV0YXRpb25PYnNlcnZlcihjLmJpbmQodm9pZCAwLGFhKSksWS5vYnNlcnZlKGFhLE9hKSl9fWZ1bmN0aW9uIGMoYWEpe3R5cGVvZiBZIT09InVuZGVmaW5lZCImJihwYVsiY29udGVudC13cmFwcGVyIl09PT12b2lkIDAmJihwYVsiY29udGVudC13cmFwcGVyIl09YWEuY2hpbGRyZW5bMF0uY2xpZW50SGVpZ2h0KSxHKHBhWyJjb250ZW50LXdyYXBwZXIiXSksIShDKCk+UigpKSYmQygpPjAmJk0oQygpKSl9ZnVuY3Rpb24gZCgpe0Uod2luZG93LmlubmVySGVpZ2h0KTshKEMoKT5SKCkpJiZDKCk+MCYmTShDKCkpO29hLlBjWzBdKCkmJkMoKT5SKCk/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOlUoKS5kaXNwYXRjaCgiU25hcCBUbyBOZXV0cmFsIFBvc2l0aW9uIiwKe21heEhlaWdodDpSKCl9KX1mdW5jdGlvbiBlKGFhKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSI7YWEucHJldmVudERlZmF1bHQoKTtVKCkuZGlzcGF0Y2goIkRyYWcgU3RhcnQiLHtjbGllbnRZOmFhLnRvdWNoZXNbMF0uY2xpZW50WX0pfWZ1bmN0aW9uIGYoYWEpe2FhLnByZXZlbnREZWZhdWx0KCk7VSgpLmRpc3BhdGNoKCJEcmFnIE1vdmUiLHtjbGllbnRZOmFhLnRvdWNoZXNbMF0uY2xpZW50WSxtcDpDKCk+UigpLFRwOlMoKSxxcDpSKCksaHE6cGEsSGk6ImNvbnRlbnQtd3JhcHBlciIsaGVhZGVyOm5OKGEpLGZvb3RlcjpuTihhKSxmcTpwYVsiYm90dG9tLXNoZWV0LWhlYWRlciJdLE5wOnBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl19KX1mdW5jdGlvbiBoKGFhKXthYS5idXR0b249PT0wJiYoYWEucHJldmVudERlZmF1bHQoKSx0YSghMCksVSgpLmRpc3BhdGNoKCJEcmFnIFN0YXJ0Iix7Y2xpZW50WTphYS5jbGllbnRZfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsClQpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKSl9ZnVuY3Rpb24gaygpe3RhKCExKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixUKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsayk7bSgpfWZ1bmN0aW9uIGwoKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIjttKCl9ZnVuY3Rpb24gbSgpe29hLlBjWzBdKCk/b2EuT2JbMF0oKT49NjA/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLHttYXhIZWlnaHQ6UigpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOm9hLk9iWzBdKCk+PTYwP24oKTpvYS5PYlswXSgpPD0tNjAmJkMoKT5SKCk/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOlUoKS5kaXNwYXRjaCgiU25hcCBUbyBOZXV0cmFsIFBvc2l0aW9uIix7bWF4SGVpZ2h0OlIoKX0pfQpmdW5jdGlvbiBuKCl7VSgpLmRpc3BhdGNoKCJDbG9zZSBTaGVldCIse2NsaWVudEhlaWdodDp6KCksbWF4SGVpZ2h0OjB9KTtzZXRUaW1lb3V0KCgpPT57bU4oKX0sMjUwKX12YXIgcD1fLnVFKCJkaXYiKSxyPV8udUUoImRpdiIpLFt0LHZdPV8uSih3aW5kb3cuaW5uZXJIZWlnaHQsdm9pZCAwLCJDbU9zVSIpLHo9dCxFPXYsW0EsRl09Xy5KKDAsdm9pZCAwLCJwMEZsaGIiKSxDPUEsRz1GLFtELEhdPV8uQUMoKCk9Pnt2YXIgYWE9bk4oYSk7cmV0dXJuLjYqeigpLWpOKGFhKS1rTihhYSl9KSxSPUQsTT1ILFM9KCk9Pnt2YXIgYWE9bk4oYSksT2E9eigpLEpiPXBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl0semE9cGFbImJvdHRvbS1zaGVldC1mb290ZXIiXTtyZXR1cm4gT2EtKGFhLmpoJiZKYiE9PXZvaWQgMD9KYjpqTihhYSkpLShhYS5oaCYmemEhPT12b2lkIDA/emE6a04oYWEpKS0yNC0yNH0sWT1udWxsLHBhPXt9LG9hPXtWZTpfLkooMCx2b2lkIDAsInN4ZEVTZCIpLE9iOl8uSigwLAp2b2lkIDAsIkdaenFlYiIpLENjOl8uSighMSx2b2lkIDAsInZKQnVwYyIpLFBjOl8uSighMSx2b2lkIDAsIlh5UkRwIiksRmM6Xy5BQyhSKX0sVT0oKCk9Pnt2YXIgYWE9bnVsbDtyZXR1cm4oKT0+e2lmKCFhYSl7bGV0IE9hPXtWZTpvYS5WZVswXSgpLE9iOm9hLk9iWzBdKCksQ2M6b2EuQ2NbMF0oKSxQYzpvYS5QY1swXSgpLEZjOm9hLkZjWzBdKCl9O2FhPVRnYShPYSl9cmV0dXJuIGFhfX0pKCk7Xy5VSigoKT0+e3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGQpO1UoKS5zdWJzY3JpYmUoYWE9PntvYS5WZVsxXShhYS5WZSk7b2EuT2JbMV0oYWEuT2IpO29hLkNjWzFdKGFhLkNjKTtvYS5QY1sxXShhYS5QYyk7b2EuRmNbMV0oYWEuRmMpfSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57cC52YWx1ZSYmKHBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl09cC52YWx1ZS5jbGllbnRIZWlnaHQpO3IudmFsdWUmJihwYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdPXIudmFsdWUuY2xpZW50SGVpZ2h0KX0pfSk7Cl8uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixkKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixUKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsayk7WSYmKFkuZGlzY29ubmVjdCgpLFk9bnVsbCl9KTt2YXIgW2hhLG1hXT1fLkooITEsdm9pZCAwLCJLc2lUWWUiKSx0YT1tYSxUPWFhPT57VSgpLmRpc3BhdGNoKCJEcmFnIE1vdmUiLHtjbGllbnRZOmFhLmNsaWVudFksbXA6QygpPlIoKSxUcDpTKCkscXA6UigpLGhxOnBhLEhpOiJjb250ZW50LXdyYXBwZXIiLGhlYWRlcjpuTihhKSxmb290ZXI6bk4oYSksZnE6cGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXSxOcDpwYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdfSl9LGJhPV8uUCh7ImJvdHRvbS1zaGVldC1jb250ZW50LXdpdGhvdXQtaWNvbiI6KCk9PiFhLkhhPy4oKX0pO3JldHVybiBfLksoImJvdHRvbS1zaGVldC1sYXlvdXQiLG51bGwsXy5LKGdPLHtIaToiY29udGVudC13cmFwcGVyIiwKQ2M6KCk9Pm9hLkNjWzBdKCksT2I6KCk9Pm9hLk9iWzBdKCksRmM6KCk9Pm9hLkZjWzBdKCksSGE6YS5IYSxwZjphLnBmLGpyOigpPT57dmFyIGFhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20tc2hlZXQtaGVhZGVyIiksT2E9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnQtd3JhcHBlciIpO2lmKGFhJiZPYSl7dmFyIEpiPXt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXI6ITAseXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVyQm90dG9tQm9yZGVyOiEwfTthYS5jbGFzc05hbWU9T2Euc2Nyb2xsVG9wPjE/Xy5hTChKYik6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlciJ9fSxZcTptTixucDphYT0+e2IoYWEpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2MoYWEpfSl9LGhlYWRlcjooKT0+Xy5LKCJkaXYiLHtlbDpwfSxfLksoaU8se2lzRHJhZ2dpbmc6aGEsd3M6ZSx2czpmLHVzOmwsUXE6aCx0aXRsZTphLmhlYWRlclRpdGxlLApzdWJ0aXRsZTphLmhlYWRlclN1YnRpdGxlLE93OiJib3R0b20tc2hlZXQtaGVhZGVyIixncTphLlVlLER3OmEuamgseG86YS5XZix4dzphLmlofSkpLGZvb3RlcjooKT0+Xy5LKCJkaXYiLHtlbDpyfSxfLksoaE8se1JlOmEuUmUsbGVhZGluZ0xhYmVsOmEuTWYsdHJhaWxpbmdMYWJlbDphLlBmLHByaW1hcnlCdXR0b246YS5OZixJdzphLlVmLHNlY29uZGFyeUJ1dHRvbjphLk9mLEt3OmEuVmYsT3A6YS5TZSxDdzphLmhofSkpLGJvZHk6KCk9Pl8uSyhfLk8se0E6YS5YaSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmJhfSxhLkdiPy4oKSl9KX0pKX0sIlZhIik7ak8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntXZjohMCxVZTohMCxHYjohMCxTZTohMCxOZjohMCxPZjohMH19O18uTChhPT57dmFyIGI9Xy55KCkucmVzb2x2ZShfLmNMKTtyZXR1cm4gXy5LKCJ5dC1jb250ZXh0dWFsLXNoZWV0LWxheW91dCIse2NsYXNzOl8uUCgieXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0Iix7eXRDb250ZXh0dWFsU2hlZXRMYXlvdXRBZGRQYWRkaW5nOmEucnUseXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0T2xkTWluV2lkdGg6KCk9PiEhYS5oYXNIZWFkZXI/LigpfHwhIWEuQnc/LigpfHxfLngoImVuYWJsZV9jb250ZXh0dWFsX3NoZWV0X29sZF9taW5fd2lkdGhfa2lsbHN3aXRjaCIpfSksZWw6Xy5yRihfLmRMKSwib246Y2xpY2siOigpPT57YT8udks/LigpfHxiLkplKCl9fSxfLksoXy5PLHtBOigpPT4hIWEuaGVhZGVyLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0SGVhZGVyQ29udGFpbmVyIn0sYS5oZWFkZXIoKSl9KSxfLksoXy5PLHtBOigpPT4hIWEuY29udGVudCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXIifSwKYS5jb250ZW50KCkpfSksXy5LKF8uTyx7QTooKT0+ISFhLmZvb3Rlcix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENvbnRleHR1YWxTaGVldExheW91dEZvb3RlckNvbnRhaW5lciJ9LGEuZm9vdGVyKCkpfSkpfSwiV2EiKS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2hlYWRlcjohMCxjb250ZW50OiEwLGZvb3RlcjohMCxoYXNIZWFkZXI6ITAsZ0o6ITAsQnc6ITAscnU6ITB9fTt2YXIgR2hhPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixvbkNsaWNrOmN9KT0+Xy5LKCJ5dHctdmFyaWFibGUtc3BlZWQtY29udHJvbGxlci1zcGVlZC1idXR0b24tdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJTcGVlZEJ1dHRvblZpZXdNb2RlbEhvc3QiLGIpfSxfLksoXy5XLHtkYXRhOigpPT5hKCkucGxheWJhY2tTcGVlZEJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5IRCx7ZGF0YTpkLG9uQ2xpY2s6Y30pfSksXy5LKF8uVix7Y2xhc3NOYW1lOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsU3BlZWRMYWJlbCIsdGV4dDooKT0+YSgpLmJ1dHRvbkxhYmVsfSkpLCJYYSIpO3ZhciBvTjsKXy5rTz1fLkwoKHtkYXRhOmEscHo6Yj1WZ2Esb3o6Yz1XZ2EscXo6ZD1YZ2F9KT0+e3ZhciBbZSxmXT1fLkooMTAwLHZvaWQgMCwiZDBOS3liIiksW2gsa109Xy5KKCExLHZvaWQgMCwiWFh2Z2tiIiksbD1tPT57ZihtLnRhcmdldC52YWx1ZUFzTnVtYmVyKTtiPy4obSl9O18ubkUoKCk9PntpZihhKCkuc2xpZGVyKXt2YXIgbT1fLkIoYSgpLnNsaWRlcixDaGEpO20mJihtLmluaXRpYWxWYWx1ZSYmbS52YWx1ZURlbm9taW5hdG9yP2YobS5pbml0aWFsVmFsdWUvbS52YWx1ZURlbm9taW5hdG9yKTpmKDApKX19LCJSdkhEcmYiKTtyZXR1cm4gXy5LKCJ2YXJpYWJsZS1zcGVlZC1jb250cm9sbGVyLXZpZXctbW9kZWwiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTcGVlZEluZGljYXRvckNvbnRhaW5lciJ9LF8uSyhfLk8se0E6KCk9PmUoKT4yLHRoZW46KCk9PgpfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFByZW1pdW1CYWRnZSJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5iYWRnZX0se2JhZGdlVmlld01vZGVsOih7ZGF0YTptfSk9Pl8uSyhfLkVELHtkYXRhOm19KX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXkiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLCJhcmlhLWF0b21pYyI6InRydWUiLCJhcmlhLWJ1c3kiOmh9LCgpPT5fLmFBKCJQTEFZQkFDS19TUEVFRF9YIix7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcjpgJHtlKCkudG9GaXhlZCgyKX1gfSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFNsaWRlckNvbnRhaW5lciIsIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKG0pe20udGFyZ2V0LnRhZ05hbWU9PT0iSU5QVVQiJiZrKCEwKX0sIm9uOmZvY3Vzb3V0IjpmdW5jdGlvbihtKXttLnRhcmdldC50YWdOYW1lPT09CiJJTlBVVCImJmsoITEpfX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnNsaWRlcn0se2hvcml6b250YWxTbGlkZXJWaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKEZoYSx7ZGF0YTooKT0+KHsuLi5tKCksaW5pdGlhbFZhbHVlOmUoKSoxMDB9KSxmejpsLFl5OmN9KX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5wbGF5YmFja1NwZWVkQnV0dG9uc30se3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKEdoYSx7ZGF0YTptLGNsYXNzTmFtZToieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkQnV0dG9uIixvbkNsaWNrOigpPT57dmFyIG49bSgpPy5wbGF5YmFja1NwZWVkQnV0dG9uQ2VudGlWYWx1ZTtuJiYoZihuLzEwMCksZD8uKG4vMTAwKSl9fSl9KSkpfSwiWmEiKTt2YXIgSGhhPW5ldyBfLlZzKCJDT05URU5UX0ZFRURCQUNLX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgbE89Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uVUQpLGM9Xy5wSCh7TmI6KGYsaCk9PntfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKXx8IWZ8fF8uekgoYT8uKCk/LnJlbmRlcmVyQ29udGV4dCl8fE1NKGgpfSxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifX0pLGQ9Xy55KCkucmVzb2x2ZShfLkluKEhoYSkpLGU9Xy55KCkucmVzb2x2ZShfLkluKERoYSkpO3JldHVybiBfLksoInl0LXNoZWV0LXZpZXctbW9kZWwiLHsib246bW91c2Vkb3duIjpmdW5jdGlvbihmKXtfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKSYmZi5jdXJyZW50VGFyZ2V0IT09Zi50YXJnZXQmJmYucHJldmVudERlZmF1bHQoKX0sIm9uOmZvY3VzIjpmdW5jdGlvbihmKXtfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKSYmTU0oZi5jdXJyZW50VGFyZ2V0KX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKCl7dmFyIGY9Xy56SChhPy4oKT8ucmVuZGVyZXJDb250ZXh0KTsKZiYmYi5yZXNvbHZlQ29tbWFuZChmKX0sY2xhc3M6Xy5QKCJ5dFNoZWV0Vmlld01vZGVsSG9zdCIse3l0U2hlZXRWaWV3TW9kZWxDb250ZXh0dWFsOiExLHl0U2hlZXRWaWV3TW9kZWxEaXNhYmxlQmFja2Ryb3BGaWx0ZXI6ITF9KSxlbDpfLnJGKGMpLHRhYmluZGV4Oi0xfSxfLksoXy5PLHtBOmEsdGhlbjpmPT5fLksoak8se1VlOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuaGVhZGVyfSx7cGFuZWxIZWFkZXJWaWV3TW9kZWw6Zk99KSxqaDohMCxpaDohMSxHYjooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+ZigpLmNvbnRlbnR9LHtjaGVja2JveEdyb3VwVmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLnRELHtkYXRhOmgsV2I6ITF9KSxyYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLkVMLHtkYXRhOmgsV2I6ITF9KSxsaXN0Vmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLkJELHtkYXRhOmgsQmM6ITB9KSx2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbDpfLmtPLApsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCx1cHNlbGxWaWV3TW9kZWw6Xy5oTCxtaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWw6Xy5qTCwuLi4oZSYme3ZpZGVvTm90aWNlc1ZpZXdNb2RlbDplfSksLi4uKGQmJntjb250ZW50RmVlZGJhY2tWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKGQse2RhdGE6aCxjbGFzc05hbWU6Inl0U2hlZXRWaWV3TW9kZWxQYWRkZWRDb250ZW50In0pfSl9KSxYaTohMCxTZTooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+ZigpLmZvb3Rlcn0se3BhbmVsRm9vdGVyVmlld01vZGVsOl8uc0R9KSxoaDohMCxVZjohMSxWZjohMSxIYTohMH0pfSkpfSwiJGEiKTtsTy5pZG9tQ29tcGF0PSEwO18ubU89bmV3IF8uVnMoIklDT05fU0VUX1RPS0VOIik7Xy5uTz1uZXcgXy5WcygiSUNPTl9VUkxfUFJPVklERVJfVE9LRU4iKTtfLm9PPW5ldyBfLlZzKCJJQ09OX01BUF9GTl9UT0tFTiIpO3ZhciBTTj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO3RoaXMubz1ifXYoKXt2YXIgYT0oXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/SWhhOkpoYSk/P3RoaXMubztpZihhPy5sZW5ndGgpe2xldCBiPVtdO2E9KG5ldyBTZXQoYSkpLnZhbHVlcygpO2ZvcihsZXQgYyBvZiBhKWZvcihsZXQgZCBvZiBPYmplY3QudmFsdWVzKHpoYSkpYi5wdXNoKHtpY29uTmFtZTpjLGljb25TdHlsZTpkfSk7dGhpcy5qLnlhKGIpfWVsc2UgUHJvbWlzZS5yZXNvbHZlKCl9fTtTTltfLkxuXT1bXy5YTCxfLkluKG5ldyBfLlZzKCJQUkVGRVRDSF9JQ09OU19UT0tFTiIpKV07dmFyIEtoYT0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxlaGE9e1sxXTp7cGQ6bnVsbCxoZTpudWxsLEtkOm51bGx9LFsyXTp7cGQ6ZnVuY3Rpb24oYSxiLGMpe2E9Yzt4aGEudGVzdChhKSYmKGEuaW5kZXhPZigiJiIpIT0tMSYmKGE9YS5yZXBsYWNlKHJoYSwiJmFtcDsiKSksYS5pbmRleE9mKCI8IikhPS0xJiYoYT1hLnJlcGxhY2Uoc2hhLCImbHQ7IikpLGEuaW5kZXhPZigiPiIpIT0tMSYmKGE9YS5yZXBsYWNlKHRoYSwiJmd0OyIpKSxhLmluZGV4T2YoJyInKSE9LTEmJihhPWEucmVwbGFjZSh1aGEsIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZSh2aGEsIiYjMzk7IikpLGEuaW5kZXhPZigiXHgwMCIpIT0tMSYmKGE9YS5yZXBsYWNlKHdoYSwiJiMwOyIpKSk7cmV0dXJuIGF9LGhlKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5mYn0sS2Q6YT0+Xy55QShhKX0sWzNdOntwZDpmdW5jdGlvbihhLApiLGMpe3JldHVybiBLaGEudGVzdChjKT9jOl8uRnEudG9TdHJpbmcoKX0saGUoYSl7cmV0dXJuIF8uWGEoYSl9LEtkOmE9Pl8uWWEoYSl9LFs0XTp7cGQ6ZnVuY3Rpb24oKXtyZXR1cm4gXy5GcS50b1N0cmluZygpfSxoZShhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uU2F9LEtkOmE9Pl8uVWEoYSkudG9TdHJpbmcoKX0sWzVdOntwZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN9LGhlKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifSxLZDphPT5hLnRvU3RyaW5nKCl9LFs3XTp7cGQ6ZnVuY3Rpb24oKXtyZXR1cm4iIC8qekNsb3N1cmV6Ki8gIn0saGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmpifSxLZDphPT5fLmxiKGEpfSxbOF06e3BkKGEsYixjKXtjPVN0cmluZyhjKS50b0xvd2VyQ2FzZSgpO2E6e2xldCBkPW51bGw7KGE9Yk9bYV0pJiYoZD1hW2JdKTtpZih0eXBlb2YgZCE9PSJudW1iZXIiJiYoKGE9Yk9bIioiXSkmJihkPWFbYl0pLHR5cGVvZiBkIT09Im51bWJlciIpKXtiPQohMTticmVhayBhfWI9ITA9PT15aGFbZF1bU3RyaW5nKGMpLnRvTG93ZXJDYXNlKCldfXJldHVybiBiP2M6InpDbG9zdXJleiJ9LGhlOm51bGwsS2Q6bnVsbH0sWzEwXTp7cGQ6bnVsbCxoZTpudWxsLEtkOm51bGx9fTtfLnBPPV8uTCgoe2RhdGE6YSx0ZzpiLEhhOmMsaWNvbjpkLHByb2Nlc3NBbGxFbmRwb2ludHM6ZSxwcmV2ZW50RGVmYXVsdDpmLHN0b3BQcm9wYWdhdGlvbjpoLHdJOmssY2xhc3NOYW1lOmwsYnV0dG9uT3ZlcnJpZGVzOm0sUWY6bixpc1N1YnNjcmliZTpwLG9pOnIsQmw6dH0pPT57dmFyIHY9Xy5tRygpLHo9KEYsQyk9PntmPy4oKSYmQy5wcmV2ZW50RGVmYXVsdCgpO2g/LigpJiZDLnN0b3BQcm9wYWdhdGlvbigpO2lmKCFrPy4oKSl7Rj1hKCk7dmFyIEc9ISFlPy4oKTtpZighRi5faXNCdXN5KXtiJiZiKCk7dmFyIEQ9IUYubmF2aWdhdGlvbkVuZHBvaW50fHwhIV8uQihGLm5hdmlnYXRpb25FbmRwb2ludCxfLll6KXx8ISFfLkIoRi5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5aeik7Rz8oRi50cmFja2luZ1BhcmFtcyYmRCYmXy56SihGLnRyYWNraW5nUGFyYW1zKSxGLnNlcnZpY2VFbmRwb2ludCYmXy5BSihGLnNlcnZpY2VFbmRwb2ludCxGLCExLHtldmVudDpDLEJkOnZ9KSxGLm5hdmlnYXRpb25FbmRwb2ludCYmCl8uQUooRi5uYXZpZ2F0aW9uRW5kcG9pbnQsRiwhMSx7ZXZlbnQ6QyxCZDp2fSksRi5jb21tYW5kJiZfLkFKKEYuY29tbWFuZCxGLCExLHtldmVudDpDLEJkOnZ9KSk6KEc9dk4oRi5zZXJ2aWNlRW5kcG9pbnQpfHx2TihGLm5hdmlnYXRpb25FbmRwb2ludCl8fHZOKEYuY29tbWFuZCkpJiZfLkFKKEcsRixELHtldmVudDpDLEJkOnZ9KX19fSxFPSgpPT57aWYoYz8uKCkhPT0hMSlyZXR1cm4gZD8uKCl8fGEoKS5pY29uPy5pY29uVHlwZX0sQT1fLk4oKCk9Pih7Li4uYWhhKHtyZW5kZXJlcjphKCksSW06eix3QTohMCxTYzptPy4oKSxWeTohMCxRZjpuPy4oKSxpc1N1YnNjcmliZTpwPy4oKXx8ITEsQmw6dD8uKCl9KSxvaTpyPy4oKX0pLHZvaWQgMCwiUGM0dDNiIik7cmV0dXJuIF8uSygieXRtLWJ1dHRvbi1yZW5kZXJlciIse2hpZGRlbjooKT0+IWEoKS50ZXh0JiYhXy5ESihhKCkuYWNjZXNzaWJpbGl0eURhdGF8fGEoKS5hY2Nlc3NpYmlsaXR5KSxjbGFzczpfLlAobCwoKT0+RT8uKCk/CmBpY29uLSR7RSgpLnRvTG93ZXJDYXNlKCl9YDp2b2lkIDAse2Rpc2FibGVkOigpPT5hKCkudGhlbWVkQmFzaWNDb2xvclBhbGV0dGUmJl8udU4oYSgpLnRoZW1lZEJhc2ljQ29sb3JQYWxldHRlKX0pfSxfLksoXy5KSyx7ZGF0YTpBLGljb25OYW1lOkV9KSl9LCJhYiIpO18ucE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkJ1dHRvbkNsaWNrQ2FsbGJhY2s6ITB9fTtfLnFPPV8uTCgoe2RhdGE6YSxRZjpiLHN0eWxlOmMsYnV0dG9uT3ZlcnJpZGVzOmQsY2xhc3NOYW1lOmUsc3RvcFByb3BhZ2F0aW9uOmYsUms6aCxIYzprLHN6Omx9KT0+e3ZhciBbbSxuXT1fLkFDKGEpLHA9KCk9Pnt2YXIgdD1tKCk7dmFyIHY9Yz8uKCk/LmFuaW1hdGVJY29uPT09InRydWUiLHo9dC50b2dnbGVkSWNvbiYmdC50b2dnbGVkSWNvbi5pY29uVHlwZSxFPXQuZGVmYXVsdEljb24mJnQuZGVmYXVsdEljb24uaWNvblR5cGU7dD12P0V8fG51bGw6dC5pc1RvZ2dsZWQmJnp8fEV8fG51bGw7dj1tKCk7cmV0dXJuKGM/LigpPy5hbmltYXRlSWNvbj09PSJ0cnVlIj90OnQ9PT0iTElLRSImJnYuaXNUb2dnbGVkPyJMSUtFX0ZJTExFRCI6dD09PSJESVNMSUtFIiYmdi5pc1RvZ2dsZWQ/IkRJU0xJS0VfRklMTEVEIjp0KT8/dm9pZCAwfSxyPSh0LHYpPT57aD9oKHQsdik6KGY/LigpJiZ2LnN0b3BQcm9wYWdhdGlvbigpLHQ9IW0oKS5pc1RvZ2dsZWQsbih7Li4ubSgpLGlzVG9nZ2xlZDp0fSksCmw/Lih0KSl9O3JldHVybiBfLksoInl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyIix7Y2xhc3M6ZX0sXy5LKF8uSksse2RhdGE6KCk9Pnt2YXIgdD1tKCksdj1tKCksej0hKHYuaXNUb2dnbGVkPyF2LnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQ6IXYuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCksRT12O3YuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCYmKEU9e30pO3JldHVybiBkaGEoe3JlbmRlcmVyOnQsSW06cixSdTpfLllEKEUse30seiksU2M6ZD8uKCksVnk6ITAsdG9nZ2xlZDohIW0oKS5pc1RvZ2dsZWQsUWY6Yj8uKCl9KX0saWNvbjooKT0+Xy5LKF8uTUQse2ljb246cCxHZTooKT0+ISFjPy4oKT8uYW5pbWF0ZUljb24sYWN0aXZlOigpPT5tKCkuaXNUb2dnbGVkLEhjOmt9KX0pKX0sImJiIik7Xy5xTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e1JrOiEwLHN6OiEwfX07Xy4kTj17S0I6WCgiQUNDT1VOVF9MQUJFTCIpLE1COlgoIkFDVF9PTl9USElTX0NPTU1FTlQiKSxOQjpYKCJBRERfVE9fRFJPUERPV05fTEFCRUwiKSxPQjpYKCJBRF9CQURHRV9ISU5UIiksUEI6WCgiQURfQkFER0VfVEVYVCIpLGNDOlgoIkFMTF9DSEFOTkVMU19MQUJFTCIpLGVDOlgoIkFNQklFTlRfTU9ERSIpLGZDOlgoIkFNQklFTlRfTU9ERV9PRkYiKSxnQzpYKCJBTUJJRU5UX01PREVfT04iKSxoQzpYKCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfQk9EWSIpLGlDOlgoIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9IRUFERVIiKSxrQzpYKCJBUFBfVVBTRUxMX1NVQlRJVExFIiksbEM6WCgiQVBQX1VQU0VMTF9USVRMRSIpLE5zOlgoIkFVRElPX1RSQUNLIiwiQXVkaW8gVHJhY2siKSxuazpYKCJBVVRPTkFWX1RPR0dMRSIpLG1DOlgoIkFVVE9QTEFZX0lOX1RFTl9TRUNPTkRTIiksbkM6WCgiQVVUT1BMQVlfUEFVU0VEIiksb0M6WCgiQVVUT1BMQVlfUExBWV9OT1ciKSwKT3M6WCgiQVVUT1BMQVlfVVBfTkVYVF9JTiIpLFBzOlgoIkFVVE9fWk9PTSIsIkF1dG8gem9vbSIpLEJBQ0s6WCgiQkFDSyIpLHFDOlgoIkJSQU5ERURfU0lHTl9JTl9ESUFMT0dfREVTQ1JJUFRJT04iLCJBY2Nlc3MgYWxsIGZlYXR1cmVzIGFuZCBnZXQgYSBzZWFtbGVzcyBleHBlcmllbmNlIiksQ0FOQ0VMOlgoIkNBTkNFTCIpLHVDOlgoIkNIQU5ORUxfU1dJVENIRVJfTEFCRUwiKSxDTE9TRTpYKCJDTE9TRSIsImNsb3NlIiksUnM6WCgiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIiksU3M6WCgiQ0xPU0VEX0NBUFRJT05TX09GRiIpLFRzOlgoIkNMT1NFRF9DQVBUSU9OU19PTiIpLFVzOlgoIkNMT1NFRF9DQVBUSU9OU19PTl9MQU5HVUFHRSIpLHhDOlgoIkNMT1NFX1NFQVJDSF9MQUJFTCIpLHlDOlgoIkNMT1NFX1NFVFRJTkdTX0xBQkVMIiksekM6WCgiQ09NTUVOVF9NT0RBTF9DT05URU5UIiksV3M6WCgiQ09ORklSTV9PSyIpLEFDOlgoIkNPTk5FQ1RfVE9fVEhFX0lOVEVSTkVUIiksClhzOlgoIkNPUElFRF9UT19DTElQQk9BUkQiKSxZczpYKCJDT1BZIiksVG46WCgiQ09QWV9ERUJVR19JTkZPIiksWnM6WCgiQ09QWV9FTUJFRF9DT0RFIiksQ0M6WCgiQ09QWV9MSU5LX0xBQkVMIiksYnQ6WCgiQ09QWV9WSURFT19VUkwiKSxmdDpYKCJDT1BZX1ZJREVPX1VSTF9BVF9DVVJSRU5UX1RJTUUiKSxEQzpYKCJDUkVBVEVfQ0hBTk5FTF9USVRMRSIpLElDOlgoIkRFTEVURV9GUk9NX0RPV05MT0FEUyIpLFhuOlgoIkRJQUxPRyIpLERPTkU6WCgiRE9ORSIpLE5DOlgoIkRPV05MT0FEIiksa3Q6WCgiRkFJTEVEX0NPUFlfRVJST1JfTUVTU0FHRSIpLGJEOlgoIkZMQUdfQ09ORklSTSIpLGNEOlgoIkZMQUdfQ09OVEVOVCIpLGREOlgoIkZMQUdfTEFCRUwiKSxlRDpYKCJGTEFHX1RJVExFIiksZkQ6WCgiRlVMTFNDUkVFTl9HRU5FUklDX0VSUk9SIiksVkU6WCgiR0lGVFMiLCJHaWZ0cyIpLFdFOlgoIkdPT0dMRV9DT01QQU5ZIiksbXQ6WCgiSElERV9QTEFZRVJfQ09OVFJPTFMiLAoiSGlkZSBwbGF5ZXIgY29udHJvbHMiKSxZRTpYKCJISURFX1BMQVlMSVNUX1ZJREVPUyIpLFpFOlgoIkhJREVfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxIT01FOlgoIkhPTUUiLCJIb21lIiksZEY6WCgiSU5WQUxJRF9SRVNQT05TRV9SRUNFSVZFRCIpLGdGOlgoIkxFQVZFX0FfQ09NTUVOVF9USVRMRSIsIkxlYXZlIGEgY29tbWVudD8iKSxoRjpYKCJMSUJSQVJZIiwiTGlicmFyeSIpLGtGOlgoIkxJU1RFTklORyIpLExPQURJTkc6WCgiTE9BRElORyIpLGxGOlgoIkxPTkdfUFJFU1NfTUlDX1RPX1NQRUFLIiwiTG9uZyBwcmVzcyBtaWNfaWNvbl9wbGFjZWhvbGRlciB0byBzcGVhayIpLHV0OlgoIkxPT1AiKSxvRjpYKCJNRU5VX0RFU0tUT1AiKSxwRjpYKCJNRU5VX0VYSVQiKSxxRjpYKCJNRU5VX0ZFRURCQUNLIiksckY6WCgiTUVOVV9IRUxQIiksc0Y6WCgiTUVOVV9JTVBSRVNTVU0iKSx2dDpYKCJNRU5VX1BMQVlFUl9TRVRUSU5HUyIpLHRGOlgoIk1FTlVfU0VUVElOR1MiKSx1RjpYKCJNRU5VX1NJR05fSU4iKSwKdkY6WCgiTUVOVV9USVRMRSIpLHdGOlgoIk1FTlVfWU9VUl9EQVRBIiksQUY6WCgiTU9SRV9JTkZPIiksd3Q6WCgiTU9SRV9PUFRJT05TIiksYm86WCgiTU9SRV9WSURFT1MiLCJNb3JlIHZpZGVvcyIpLHh0OlgoIk1PUkVfVklERU9TX0NMT1NFX0JVVFRPTl9BUklBX0xBQkVMIiwiSGlkZSBtb3JlIHZpZGVvcyIpLHp0OlgoIk1PUkVfVklERU9TX0ZST01fQ0hBTk5FTCIsIk1vcmUgdmlkZW9zIGZyb20gJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIpLGVvOlgoIk1PUkVfVklERU9TX05FWFRfQlVUVE9OX0FSSUFfTEFCRUwiLCJOZXh0IHZpZGVvcyIpLGZvOlgoIk1PUkVfVklERU9TX1BSRVZJT1VTX0JVVFRPTl9BUklBX0xBQkVMIiwiUHJldmlvdXMgdmlkZW9zIiksQXQ6WCgiTVVURV9WT0xVTUUiKSxDRjpYKCJORVdfUExBWUxJU1QiKSxERjpYKCJORVhUX1ZJREVPIiksQ3Q6WCgiTk9USUZJQ0FUSU9OX0VSUk9SX01FU1NBR0UiKSxGRjpYKCJOT1RfRk9VTkRfQ1RBIiksR0Y6WCgiTk9UX0ZPVU5EX01FU1NBR0UiKSwKSEY6WCgiTk9UX0ZPVU5EX1RJVExFIiksSUY6WCgiTk9fRE9XTkxPQURTIiksSkY6WCgiTk9fTUlDX0lOUFVUIiksS0Y6WCgiT0ZGTElORV9DSEVDS19DT05ORUNUSU9OIiksRHQ6WCgiT09QU19NRVNTQUdFIiksTUY6WCgiT1BFTl9BUFAiKSxORjpYKCJPUEVOX1lPVVRVQkUiKSxPRjpYKCJPUEVOX1lPVVRVQkVfQVBQIiwiT3BlbiBZb3VUdWJlIGFwcCIpLFBBVVNFOlgoIlBBVVNFIiksVUY6WCgiUExBWSIpLEV0OlgoIlBMQVlFUl9DQVBUSU9OIiksRnQ6WCgiUExBWUVSX0NBUFRJT05fT0ZGIiksVkY6WCgiUExBWUVSX0NBUFRJT05fT04iKSxHdDpYKCJQTEFZRVJfRE9VQkxFX1NQRUVEX1VTRVJfRURVIiksV0Y6WCgiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0VFSyIpLFhGOlgoIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NIT1dfT1JfSElERV9QTEFZRVJfQ09OVFJPTFMiKSxIdDpYKCJQTEFZRVJfRVhJVF9GVUxMU0NSRUVOIiksSXQ6WCgiUExBWUVSX0ZBU1RGT1JXQVJEX1NFQ09ORFMiKSwKSnQ6WCgiUExBWUVSX0ZVTExTQ1JFRU4iKSxsbzpYKCJQTEFZRVJfTElWRV9MQUJFTCIpLFlGOlgoIlBMQVlFUl9MSVZFX05PVyIpLFpGOlgoIlBMQVlFUl9NSU5JTUlaRSIpLEt0OlgoIlBMQVlFUl9ORVhUIiksTHQ6WCgiUExBWUVSX1BBVVNFIiksUGc6WCgiUExBWUVSX1BMQVkiKSxNdDpYKCJQTEFZRVJfUFJFVklPVVMiKSxhRzpYKCJQTEFZRVJfUFJPR1JFU1NfQkFSIiksTnQ6WCgiUExBWUVSX1FVQUxJVFkiKSxPdDpYKCJQTEFZRVJfUVVBTElUWV9BVVRPIiksUHQ6WCgiUExBWUVSX1JFUExBWSIpLFF0OlgoIlBMQVlFUl9SRVdJTkRfU0VDT05EUyIpLG1vOlgoIlBMQVlFUl9TUEVFRCIpLGJHOlgoIlBMQVlFUl9TUEVFRFVQX1VTRVJfRURVIiksUnQ6WCgiUExBWUVSX1NQRUVEX0RFQ1JFQVNFIiksU3Q6WCgiUExBWUVSX1NQRUVEX0lOQ1JFQVNFIiksbm86WCgiUExBWUVSX1NQRUVEX05PUk1BTCIpLFR0OlgoIlBMQVlFUl9TUEVFRF9SRUNFTlQiKSxVdDpYKCJQTEFZRVJfVElNRV9EVVJBVElPTiIpLApWdDpYKCJQTEFZRVJfVElNRV9FTEFQU0VEIiksY0c6WCgiUExBWUxJU1RfREVTQ1JJUFRJT05fSU5WQUxJRF9DSEFSQUNURVJTIiksZEc6WCgiUExBWUxJU1RfTUlYX0RFVEFJTEVEX0xPTkdfQllMSU5FIiksZUc6WCgiUExBWUxJU1RfTkFNRV9JTlZBTElEX0NIQVJBQ1RFUlMiKSxmRzpYKCJQTEFZTElTVF9OQU1FX01JU1NJTkciKSxnRzpYKCJQTEFZTElTVF9OQU1FX1RPT19MT05HIiksaEc6WCgiUExBWUxJU1RfUEFORUxfRU5EX09GX1BMQVlMSVNUIiksaUc6WCgiUExBWUxJU1RfUEFORUxfTkVYVCIpLGpHOlgoIlBMQVlMSVNUX1BBTkVMX1VOTElTVEVEX1BMQVlMSVNUIiksa0c6WCgiUExBWUxJU1RfVEVYVF9JTlBVVF9DSEFSX0NPVU5UIiksbEc6WCgiUExBWV9BTEwiKSxtRzpYKCJQTEVBU0VfRklYX0VSUk9SUyIpLFh0OlgoIlBSRU1JVU1fQkFER0VfTEFCRUwiLCJQcmVtaXVtIiksbkc6WCgiUFJFVklPVVNfVklERU8iKSxvRzpYKCJQUklWQUNZX1BPTElDWSIpLHJHOlgoIlJFTE9BRCIpLApzRzpYKCJSRVFVSVJFRF9MQUJFTCIpLHlHOlgoIlNBVkVfUExBWUxJU1QiKSxBRzpYKCJTQ1JVQl9TTElERV9VU0VSX0VEVSIpLENHOlgoIlNFQVJDSCIsIlNlYXJjaCIpLERHOlgoIlNFQVJDSF9BUFBFTkRfTEFCRUwiKSxFRzpYKCJTRUFSQ0hfQ0hBTk5FTCIpLEZHOlgoIlNFQVJDSF9DTEVBUl9MQUJFTCIpLEdHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9BTEJVTV9OT19BUlRJU1QiLCJBbGJ1bSIpLEhHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9NT1ZJRSIsIk1vdmllIiksSUc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1NPTkdfTk9fQVJUSVNUIiwiU29uZyIpLEpHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9UVl9TSE9XIiwiVFYgU2hvdyIpLEtHOlgoIlNFQVJDSF9GSUxURVJTX0xBQkVMIiksTEc6WCgiU0VBUkNIX0xBQkVMIiksTUc6WCgiU0VBUkNIX1BQUF9QTEFDRUhPTERFUl9URVhUIiksTkc6WCgiU0VFS19TTElERVIiKSxPRzpYKCJTRVRUSU5HU19MQUJFTCIpLApQRzpYKCJTRVRUSU5HU19NSUNfUEVSTUlTU0lPTiIpLFNHOlgoIlNIT1JUU19UQUJfTEFCRUwiLCJTaG9ydHMiKSxURzpYKCJTSE9XX0xFU1MiKSxVRzpYKCJTSE9XX01PUkUiKSxadDpYKCJTSE9XX1BMQVlFUl9DT05UUk9MUyIsIlNob3cgcGxheWVyIGNvbnRyb2xzIiksVkc6WCgiU0hPV19QTEFZTElTVF9WSURFT1MiKSxXRzpYKCJTSE9XX1NFQVJDSF9GSUxURVJTX0xBQkVMIiksYXU6WCgiU0lHTl9JTl9MQUJFTCIpLFpHOlgoIlNJR05fSU5fT05fV0VCIikseWs6WCgiU1RBQkxFX1ZPTFVNRSIpLGpIOlgoIlNUQUJMRV9WT0xVTUVfT0ZGIiksa0g6WCgiU1RBQkxFX1ZPTFVNRV9PTiIpLGJ1OlgoIlNUQVRTX0ZPUl9ORVJEUyIpLGxIOlgoIlNVR0dFU1RJT05fRElTTUlTU0VEX0xBQkVMIiksbUg6WCgiU1VHR0VTVElPTl9ESVNNSVNTX0xBQkVMIiksbkg6WCgiU1VHR0VTVElPTl9ORVdfVklERU9TX1RFWFQiKSxvSDpYKCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9MQUJFTCIsCiJWaWV3IGltYWdlIHNvdXJjZSIpLHBIOlgoIlNVR0dFU1RJT05fVEhVTUJOQUlMX0xBQkVMIikscUg6WCgiVEVSTVNfT0ZfU0VSVklDRSIpLHJIOlgoIlRJTUVTVEFNUF9NSU5VVEVTIiksc0g6WCgiVElNRVNUQU1QX1NFQ09ORFMiKSx0SDpYKCJUT0dHTEVfT0ZGIiksdUg6WCgiVE9HR0xFX09OIiksdkg6WCgiVFJFTkRJTkciKSxkdTpYKCJUUk9VQkxFU0hPT1RfUExBWUJBQ0tfSVNTVUUiKSxldTpYKCJUUllfQUdBSU5fTEFURVIiKSx3SDpYKCJUUllfQUdBSU5fTUlDX1BFUk1JU1NJT04iKSx4SDpYKCJUVVJOX09GRl9BVVRPUExBWV9DT05GSVJNX0JVVFRPTl9USVRMRSIpLHlIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0RJQUxPR19ERVNDUklQVElPTiIpLHpIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0RJQUxPR19USVRMRSIpLGd1OlgoIlVOTVVURV9WT0xVTUUiKSxzbzpYKCJWSURFT19MSU5LX0xBQkVMIil9O18uTGhhPU9iamVjdC5mcmVlemU/T2JqZWN0LmZyZWV6ZShPYmplY3QuY3JlYXRlKG51bGwpKTp7fTtfLk5OPSgpPT57fTt3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz8uYmluZCh3aW5kb3cpO18uWk49Xy5MKGE9Pnt2YXIge2xhYmVsOmIsb25jbGljazpjLHNob3dTcGlubmVyOmQsdGk6ZSxlbmdhZ2VtZW50UGFuZWw6ZixLeDpoLERwOmsscmVsYXRpdmU6bCxvcGFjaXR5Om19PV8uREMoYSx7c2hvd1NwaW5uZXI6ITEsUks6ITEsdGk6ITEsZW5nYWdlbWVudFBhbmVsOiExLERwOiExLHJlbGF0aXZlOiExLEt4OiExLG9wYWNpdHk6dm9pZCAwfSk7cmV0dXJuIF8uSygieXR3LXNjcmltIix7Y2xhc3M6Xy5QKCJ5dFdlYlNjcmltSG9zdCIsInl0V2ViU2NyaW1Ib3N0TW9kZXJuT3ZlcmxheSIse3l0V2ViU2NyaW1Ib3N0Qm90dG9tU2hlZXQ6ZSx5dFdlYlNjcmltSG9zdEVuZ2FnZW1lbnRQYW5lbDooKT0+IWUoKSYmZigpLHl0V2ViU2NyaW1Ib3N0RHJhZ2dhYmxlRW5nYWdlbWVudFBhbmVsOigpPT4hZSgpJiZmKCkmJmgoKSx5dFdlYlNjcmltSG9zdERyYXdlckxheW91dDooKT0+IWUoKSYmIWYoKSYmaygpLHl0V2ViU2NyaW1Ib3N0UmVsYXRpdmU6bH0pLCJvbjpjbGljayI6Yywib246dG91Y2htb3ZlIjpmdW5jdGlvbihuKXtuLnByZXZlbnREZWZhdWx0KCk7Cm4uc3RvcFByb3BhZ2F0aW9uKCl9LHN0eWxlOigpPT5tKCkhPT12b2lkIDA/YGJhY2tncm91bmQ6cmdiYSgwLCAwLCAwLCAke20oKX0pO2A6IiJ9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFdlYlNjcmltRGlhbG9nQ29udGFpbmVyIn0sXy5LKF8uWkwsbnVsbCkpfSksXy5LKCJidXR0b24iLHtjbGFzczoieXRXZWJTY3JpbUhpZGRlbkJ1dHRvbiIsImFyaWEtbGFiZWwiOmJ9KSl9LCJjYiIpO3ZhciBGTixFTixJTixHTixMTixITixraGE7Rk49MDtFTj1uZXcgTWFwO0lOPW51bGw7R049bnVsbDtMTj0hMTtfLkROPVtdO0hOPSFfLngoImNhbmNlbF9tb2RhbF9wZW5kaW5nX2FuaW1hdGlvbnNfa2lsbHN3aXRjaCIpO2toYT0hXy54KCJyZXNob3dfbmVzdGVkX21vZGFsX3NpYmxpbmdzX2tpbGxzd2l0Y2giKTt2YXIgck87Cl8uc089Xy5MKCh7dHE6YX0pPT57ZnVuY3Rpb24gYihHKXtpZigoYSgpJiZkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudHx8IWEoKSYmIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSYmRyl7dmFyIEQ9Ry5RayxIPUcudmlld01vZGVsO2sudmFsdWU/RihHKTpEPy5pc0Rpc2FibGVkJiZEPy5kaXNhYmxlZENvbW1hbmQ/KENOKCEwKSxfLkFKKEQuZGlzYWJsZWRDb21tYW5kLGgudmFsdWUsITEpKTood2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2JvdHRvbS1zaGVldCImJl8uJE0oImJvdHRvbS1zaGVldCIsITApLGsudmFsdWU9ITAsZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImJvdHRvbS1zaGVldC1vcGVuIiwiIiksXy5vTSgpLmRpc3BhdGNoKGJOKCEwKSksck89Xy5tRygpLHAoRCksdihIKSxDTighMCksaC52YWx1ZXx8Xy5JcChFcnJvcigiRmQiKSksXy5KTihoLnZhbHVlLEQ/LmZvY3VzT25DbG9zZSwhMCkpfX1mdW5jdGlvbiBjKCl7ay52YWx1ZSYmKGsudmFsdWU9ITEsZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoImJvdHRvbS1zaGVldC1vcGVuIiksCm4oKT8uR2g/LigpLHJPPXZvaWQgMCxwKHZvaWQgMCksdih2b2lkIDApLENOKCExKSxfLktOKGgudmFsdWUpLF8ub00oKS5kaXNwYXRjaChiTighMSkpKX1mdW5jdGlvbiBkKCl7ay52YWx1ZSYmd2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2JvdHRvbS1zaGVldCImJmMoKX1hc3luYyBmdW5jdGlvbiBlKCl7YXdhaXQgXy5GSjt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjYm90dG9tLXNoZWV0IiYmKGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50fHxfLllNP18uJE0oIiIsITApOmF3YWl0IF8uWk0oKSxkKCkpO0EoKSYmKGIoQSgpKSxGKHZvaWQgMCkpfWZ1bmN0aW9uIGYoRyl7Xy56TigpO0cuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGg9Xy51RSgiYm90dG9tLXNoZWV0LWNvbnRhaW5lciIpLGs9Xy51TSghMSksW2wsbV09Xy5KKHZvaWQgMCx2b2lkIDAsInZXdVhrYiIpLG49bCxwPW0sW3IsdF09Xy5KKHZvaWQgMCx2b2lkIDAsIkJmUkFMYiIpLHY9dCxbeixFXT1fLkoodm9pZCAwLHZvaWQgMCwKInk3dE5sYyIpLEE9eixGPUUsQz0oKT0+ISghbigpJiYhcigpKTtfLlVKKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGQpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IixjKTtfLnkoKS5yZXNvbHZlKF8uY0wpLlB6KHt3ZzpHPT57RyYmYih7dmlld01vZGVsOkcudmlld01vZGVsLFFrOkcuUWt9KX0sSmU6YXN5bmMoKT0+e2F3YWl0IGUoKX0sZG06YXN5bmMoKT0+ISFfLnhOKCksWHA6KCk9PmgudmFsdWUsb3c6Rz0+R30sYSgpKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IixjKX0pfSk7cmV0dXJuIF8uSygiYm90dG9tLXNoZWV0LWNvbnRhaW5lciIse2VsOmgscm9sZToiZGlhbG9nIixoaWRkZW46KCk9PiFDKCksImFyaWEtbW9kYWwiOiEwLCJhcmlhLWxhYmVsIjooKT0+bigpPy5oZWFkZXJUaXRsZT8KbigpLmhlYWRlclRpdGxlOl8uJE4uWG59LF8uSyhfLk8se0E6Qyx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLlpOLHtsYWJlbDpfLiROLkNMT1NFLG9uY2xpY2s6Xy56Tix0aTohMH0pLF8uSyhfLk8se0E6cix0aGVuOkc9Pl8uSyhsTyx7ZGF0YTpHfSksVzooKT0+Xy5LKF8uTyx7QTpuLHRoZW46Rz0+Xy5wRyhyT3x8e30sKCk9Pl8uSyhqTyx7SGE6KCk9PkcoKS5IYSxwZjooKT0+RygpLnBmLEdrOigpPT5HKCkuR2ssR2g6KCk9PkcoKS5HaCxmb2N1c09uQ2xvc2U6KCk9PkcoKS5mb2N1c09uQ2xvc2UsaXNEaXNhYmxlZDooKT0+RygpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5HKCkuZGlzYWJsZWRDb21tYW5kLFVlOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuVWV9KSxqaDooKT0+ISFHKCkuVWUsR2I6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5HYn0pLFhpOigpPT4hIUcoKS5HYixTZTooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+CkcoKS5TZX0pLGhoOigpPT4hIUcoKS5TZSxoZWFkZXJUaXRsZTooKT0+RygpLmhlYWRlclRpdGxlLGhlYWRlclN1YnRpdGxlOigpPT5HKCkuaGVhZGVyU3VidGl0bGUsV2Y6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5XZn0pLGloOigpPT4hIUcoKS5XZixOZjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLk5mfSksVWY6KCk9PiEhRygpLk5mLE9mOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuT2Z9KSxWZjooKT0+ISFHKCkuT2YsUmU6KCk9PkcoKS5SZSxNZjooKT0+RygpLk1mLFBmOigpPT5HKCkuUGZ9KSl9KX0pLF8uSygiYnV0dG9uIix7Y2xhc3M6ImNsb3NlLWJ1dHRvbiIsImFyaWEtbGFiZWwiOl8uJE4uQ0xPU0UsIm9uOmNsaWNrIjpmfSkpfSkpfSwiZGIiKTtfLnNPLmlkb21Db21wYXQ9ITA7Xy50Tz1fLkwoKHthcmlhTGFiZWw6YSxVSDpiLGFyaWFQcmVzc2VkOmMsYXJpYUV4cGFuZGVkOmQsYXJpYURpc2FibGVkOmUsY2xhc3NOYW1lOmYsY29udGVudDpoLGJxOmssaWQ6bCxuYW1lOm0sb25jbGljazpuLG9udG91Y2hzdGFydDpwLG9udG91Y2htb3ZlOnIsb250b3VjaGVuZDp0LGJ4OnZ9KT0+e3Y9Xy51RSgiYnV0dG9uIix2KTtyZXR1cm4gXy5LKCJidXR0b24iLHtpZDpsLGNsYXNzOl8uUCgiaWNvbi1idXR0b24iLGYpLGVsOnYsImFyaWEtbGFiZWwiOmEsImFyaWEtbGFiZWxsZWRieSI6YiwiYXJpYS1wcmVzc2VkIjpjLCJhcmlhLWV4cGFuZGVkIjpkLCJhcmlhLWhhc3BvcHVwIjprLCJhcmlhLWRpc2FibGVkIjplLCJvbjpjbGljayI6biwib246dG91Y2hzdGFydCI6bE4ocCksIm9uOnRvdWNobW92ZSI6bE4ociksIm9uOnRvdWNoZW5kIjpsTih0KX0sXy5LKF8uTyx7QTooKT0+ISFoLHRoZW46KCk9Pmg/LigpLFc6KCk9Pl8uSyhfLk1ELHtpY29uOm19KX0pKX0sImViIik7Cl8udE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntjb250ZW50OiEwLG9uY2xpY2s6ITAsb250b3VjaHN0YXJ0OiEwLG9udG91Y2htb3ZlOiEwLG9udG91Y2hlbmQ6ITAsYng6ITB9fTt2YXIgUk4sUE4sT047Uk49ITA7ClBOPXtBVkFUQVJfQ0lSQ0xFX0JMVUU6IkFWQVRBUl9MT0dHRURfT1VUIixCQUNLOiJBUlJPV19CQUNLIixCTE9DS19VU0VSOiJCTE9DSyIsQlJPQURDQVNUOiJwb2RjYXN0IixDQVBUSU9OUzoiQ0xPU0VEX0NBUFRJT04iLENIRUNLX0JMVUU6IkNIRUNLIixDSEVDS19DSVJDTEVfRklMTEVEOiJDSEVDS19DSVJDTEVfRklMTEVEIixDSEVDS19DSVJDTEVfVEhJQ0s6IkNIRUNLX0NJUkNMRV9PVVRMSU5FIixDT1VSU0U6ImxpZ2h0YnVsYiIsRElTTElLRV9DT01NRU5UOiJESVNMSUtFIixESVNMSUtFX0NPTU1FTlRfRklMTEVEOiJESVNMSUtFX0ZJTExFRCIsRElTTElLRV9TRUxFQ1RFRDoiRElTTElLRV9GSUxMRUQiLERJU01JU1NBTF9CTEFDSzoiRElTTUlTU0FMIixFWFBBTkRfTU9SRToiRVhQQU5EIixGQVNISU9OX0xPR086ImZhc2hpb24iLEdBTUlORzoiZ2FtaW5nIixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHRUFSOiJTRVRUSU5HUyIsSEVMUDoiSEVMUF9PVVRMSU5FIixMSUtFX0NPTU1FTlQ6IkxJS0UiLApMSUtFX0NPTU1FTlRfRklMTEVEOiJMSUtFX0ZJTExFRCIsTElLRV9TRUxFQ1RFRDoiTElLRV9GSUxMRUQiLExJVkU6IlJBREFSX0xJVkUiLExPR086IllPVVRVQkUiLE1PUkVfQ0hFVlJPTjoiRVhQQU5EIixNT1JFX1ZFUlRfV0hJVEU6Ik1PUkVfVkVSVCIsTVVTSUM6ImF1ZGlvIixNVVNJQ19GSUxMRUQ6ImF1ZGlvX2ZpbGxlZCIsTkVXUzoibmV3cyIsT0ZGSUNJQUxfQVJUSVNUX0JBREdFOiJhdWRpbyIsUExBWUFCTEVTX0xPR086InRpY190YWNfdG9lIixQTEFZRVJfTkVYVDoiU0tJUF9ORVhUX0ZJTExFRCIsUExBWUVSX1BBVVNFOiJQQVVTRV9GSUxMRUQiLFBMQVlFUl9QTEFZOiJQTEFZX0FSUk9XX0ZJTExFRCIsUExBWUVSX1BSRVZJT1VTOiJTS0lQX1BSRVZJT1VTX0ZJTExFRCIsUExBWUVSX1JFUExBWToiUkVQTEFZIixQTEFZX0FMTDoiUExBWV9BUlJPV19GSUxMRUQiLFJFTU9WRToiRElTTUlTU0FMIixTSE9SVFNfRElTTElLRToic2hvcnRzX3RodW1ic19kb3duIixTSE9SVFNfTElLRToic2hvcnRzX3RodW1ic191cCIsClNQT05TT1JTSElQX1NUQVI6IlNQT05TT1JTSElQX1NUQVJfRklMTEVEIixUQUJfQUNDT1VOVDoiQVZBVEFSX0xPR0dFRF9PVVQiLFRBQl9UUkVORElORzoiZmlyZSIsVEFCX1RSRU5ESU5HX0ZJTExFRDoiZmlyZV9maWxsZWQiLFRSRU5ESU5HOiJmaXJlIixUUk9QSFk6InRyb3BoeSIsVk9MVU1FX0RPV05fT1VUTElORToiVk9MVU1FX0RPV04iLFZPTFVNRV9VUDoiVk9MVU1FX1VQX0ZJTExFRCIsVk9MVU1FX1VQX09VVExJTkU6IlZPTFVNRV9VUCIsWU9VVFVCRV9MT0dPOiJMT0dPX1dJVEhfVEVYVCIsWU9VVFVCRV9QUkVNSVVNX0xPR086IllPVVRVQkVfUFJFTUlVTV9MT0dPX1NIT1JUIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoieW91dHViZV9zaG9ydHNfbm9fdHJpYW5nbGVfZmlsbGVkIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZV9maWxsZWQifTsKT049e0xPR086IkxPR08iLFBMQVlBQkxFU19MT0dPOiJwbGF5YWJsZXMiLFNIT1JUU19ESVNMSUtFOiJ0aHVtYl9kb3duIixTSE9SVFNfTElLRToidGh1bWJfdXAiLFRBQl9UUkVORElORzoidHJlbmRpbmciLFRBQl9UUkVORElOR19GSUxMRUQ6InRyZW5kaW5nX2ZpbGxlZCIsVFJFTkRJTkc6InRyZW5kaW5nIn07Cl8udU89Xy5MKCh7aWNvbjphLGFjdGl2ZTpiLGNsYXNzTmFtZTpjLHN0eWxlOmQseXA6ZSxoYzpmLHJvbGU6aCxHZTprLEhjOmwsYXJpYUhpZGRlbjptLGFyaWFFeHBhbmRlZDpuLGFyaWFMYWJlbDpwLGlkOnIsYWc6dCxzaXplOnZ9KT0+e25oYSgpO3ZhciB6PSgpPT5RTihhPy4oKSksRT1fLk4oKCk9PnthOnt2YXIgRj1RTihhPy4oKSksQz1iPy4oKTt2YXIgRz12Py4oKTtpZihGKXt2YXIgRD1fLnkoKS5yZXNvbHZlKF8uWEwpLEg9Ri50b0xvd2VyQ2FzZSgpO0Y9e2ljb25OYW1lOkgsaWNvblN0eWxlOkguZW5kc1dpdGgoIl9maWxsZWQiKXx8Ri5lbmRzV2l0aCgiX29uIil8fEM/InlvdXR1YmVfZmlsbCI6dm9pZCAwLGljb25TaXplOkd9O0M9RC5qKEYpOyFDJiZHJiYoRi5pY29uU2l6ZT12b2lkIDAsQz1ELmooRikpOyFDJiZILmVuZHNXaXRoKCJfZmlsbGVkIikmJihGLmljb25OYW1lPUguc3Vic3RyaW5nKDAsSC5sZW5ndGgtNyksQz1ELmooRikpO0N8fChGLmljb25TdHlsZT12b2lkIDAsCkM9RC5qKEYpKTtpZihDKXtHPUY7YnJlYWsgYX1fLklwKG5ldyBfLlhqKCJJY29uIG5vdCBzdXBwb3J0ZWQiLHtpY29uTmFtZTpGLmljb25OYW1lfSkpfUc9dm9pZCAwfXJldHVybiBHfSx2b2lkIDAsIk02WGtHYiIpLEE9KCk9Pih7aWNvbldpZHRoOiIxMDAlIixpY29uSGVpZ2h0OiIxMDAlIixhZzp0Py4oKX0pO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5RTihhPy4oKSkmJms/LigpJiZiPy4oKSE9PXZvaWQgMCYmT2JqZWN0LnZhbHVlcyhBaGEpLmluY2x1ZGVzKFFOKGE/LigpKXx8IiIpfSwoKT0+Xy5LKF8udE0se2FuaW1hdGVkSWNvblR5cGU6eixhY3RpdmU6KCk9PiEhYj8uKCksSGM6bCxzaXplOnYsSEE6KCk9Pl8uSyhfLnVPLHtpY29uOmEsYWN0aXZlOmIsR2U6ITF9KX0pKSxfLksoXy5DRSx7d2hlbjooKT0+UU4oYT8uKCkpJiZFKCl9LCgpPT5fLksoImMzLWljb24iLHtjbGFzczpjLHN0eWxlOmQscm9sZTpoLCJkYXRhLXNlbGVjdGVkIjplLCJkYXRhLWRpc2FibGVkIjpmLAoiZmlsbC1pY29uIjooKT0+Yj8uKCk9PT0hMCxpZDpyLCJpY29uLXN0YXRlLW91dGxpbmUiOigpPT5iPy4oKT09PSExPyIiOnZvaWQgMCwiaWNvbi1zdGF0ZS1maWxsZWQiOigpPT5iPy4oKT09PSEwPyIiOnZvaWQgMCwiYXJpYS1oaWRkZW4iOm0sImFyaWEtZXhwYW5kZWQiOm4sImFyaWEtbGFiZWwiOnB9LF8uSyhfLllMLHtkYXRhOigpPT5FKCksb3B0aW9uczpBfSkpKSl9LCJmYiIpO18udU8uaWRvbUNvbXBhdD0hMDtfLkwoKHtuYW1lOmEsbGFiZWw6YixvbmNsaWNrOmMsYnE6ZCxyb2xlOmV9KT0+Xy5LKCJkaXYiLHtjbGFzczoiaWNvbi1idXR0b24iLHJvbGU6ZSwiYXJpYS1sYWJlbCI6YiwiYXJpYS1oYXNwb3B1cCI6ZCwib246Y2xpY2siOmN9LF8uSyhfLnVPLHtpY29uOmF9KSksImdiIikuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbmNsaWNrOiEwfX07CnZhciBKaGE9ImFsaWduX2xlZnQgYXJyb3dfbGVmdCBmbGFnIGhvbWUgbG9nb193aXRoX3RleHQgbWVzc2FnZV9idWJibGVfYWxlcnQgbWljIG9wZW5fbmV3IG92ZXJmbG93X2hvcml6b250YWwgb3ZlcmZsb3dfdmVydGljYWwgcGxheV9jaXJjbGVfc2hvcnRzIHNlYXJjaCBzaG9ydHNfY29tbWVudCBzaG9ydHNfc2hhcmUgc2hvcnRzX3RodW1ic19kb3duIHNob3J0c190aHVtYnNfdXAgd2F2ZWZvcm0geF9tYXJrIHlvdXR1YmVfc2hvcnRzIHlvdXR1YmVfc2hvcnRzX2JyYW5kXzI0Ii5zcGxpdCgiICIpLEloYT0iYWxlcnRfYnViYmxlIGFycm93X2xlZnQgYXJyb3dfdXBfcmlnaHQgZmxhZyBob21lIGxvZ29fd2l0aF90ZXh0IG1pYyBvdmVyZmxvd19ob3Jpem9udGFsIG92ZXJmbG93X3ZlcnRpY2FsIHBsYXlfY2lyY2xlX3Nob3J0cyBzZWFyY2ggc2hhcmUgc2hvcnRzIHRleHRfYWxpZ25fbGVmdCB0ZXh0X2J1YmJsZSB0aHVtYl9kb3duIHRodW1iX3VwIHdhdmVmb3JtIHggeW91dHViZV9zaG9ydHNfYnJhbmRfMjQiLnNwbGl0KCIgIik7Xy52Tz1fLkwoYT0+e3ZhciB7aWNvblR5cGU6YixsYWJlbDpjLGFyaWFMYWJlbDpkLGFyaWFQcmVzc2VkOmUsZGlzYWJsZWQ6ZixvbmNsaWNrOmgsc3R5bGU6ayxWbDpsLExtOm0sT3g6bixiYXNpY0NvbG9yUGFsZXR0ZURhdGE6cCxkYXRhOnIsYXJpYUhpZGRlbjp0fT1fLkRDKGEse2ljb25UeXBlOiIiLFZsOiExLExtOiIiLE94OiExLGFyaWFIaWRkZW46ITF9KTtfLnVFKCJkaXYiLHY9PntyPy4oKSYmbWhhKHYscj8uKCkpfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJidXR0b24td2l0aC1pY29uIGJ1dHRvbi1yZW5kZXJlciBjb21wYWN0IixtKSxzdHlsZTooKT0+e3ZhciB2O2lmKHY9cD8uKCkpe3ZhciB6PSIiLEU7Zm9yKEUgaW4gdil7aWYoIXYuaGFzT3duUHJvcGVydHkoRSkpY29udGludWU7bGV0IEE9dltFXSxGPUUuaW5jbHVkZXMoImZvcmVncm91bmQiKT8iY29sb3IiOlN0cmluZyhFKS5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCk7QSYmCih6Kz1gJHtGfToke18uTkQoQSl9O2ApfXY9en1lbHNlIHY9dm9pZCAwO3JldHVybiB2Py50b1N0cmluZygpfSwiZGF0YS1zdHlsZSI6KCk9PnR5cGVvZiBrPy4oKT09PSJzdHJpbmciP2soKTprPy4oKT8uc3R5bGVUeXBlLCJkYXRhLWljb24tb25seSI6KCk9PiFjPy4oKSwiaXMtYnVzeSI6bCwiYXJpYS1idXN5IjpsLCJhcmlhLWhpZGRlbiI6dH0sXy5LKCJidXR0b24iLHtjbGFzczoiYnV0dG9uLXdpdGgtaWNvbi1idXR0b24iLCJvbjpjbGljayI6ZnVuY3Rpb24odil7aD8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9LGRpc2FibGVkOmYsImFyaWEtbGFiZWwiOigpPT5kPy4oKXx8IiIsImFyaWEtcHJlc3NlZCI6KCk9PmU/LigpPz92b2lkIDB9LF8uSygiZGl2Iix7Y2xhc3M6ImJ1dHRvbi13aXRoLWljb24taW5uZXIifSxfLksoXy5PLHtBOigpPT4hbj8uKCkmJmIoKSx0aGVuOigpPT5fLksoXy51Tyx7aWNvbjpiLGNsYXNzTmFtZToiYnV0dG9uLXJlbmRlcmVyLWljb24ifSl9KSxfLksoImRpdiIsCntjbGFzczoiYnV0dG9uLXJlbmRlcmVyLXRleHQifSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKF8uSUose2RhdGE6Y30pfSkpLF8uSyhfLk8se0E6KCk9Pm4oKSYmYigpLHRoZW46KCk9Pl8uSyhfLnVPLHtpY29uOmIsY2xhc3NOYW1lOiJidXR0b24tcmVuZGVyZXItaWNvbiJ9KX0pLF8uSyhfLk8se0E6bCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJidXR0b24td2l0aC1pY29uLXNwaW5uZXIgc3Bpbm5lciJ9KX0pKSkpfSwiaWIiKTtfLkhDW18uUkFbImRlZmF1bHQiXV09b2hhOyhmdW5jdGlvbigpe3ZhciBhPV8uY0I7Xy5jQj1iPT57YT8uKGIpO18uT0UoKCk9Pntmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKylUTihiW2NdKX0pfX0pKCk7Xy53Tz1fLkwoKHtjaGlsZHJlbjphLG9uY2xpY2s6Yixyb2xlOmMsSHk6ZH0pPT57dmFyIGU9Xy51RSgiYnV0dG9uIik7Xy5VSigoKT0+e2Q/LihlLnZhbHVlKX0pO3JldHVybiBfLksoInl0bS1tZW51LWl0ZW0iLG51bGwsXy5LKCJidXR0b24iLHtjbGFzczoibWVudS1pdGVtLWJ1dHRvbiIsZWw6ZSwib246Y2xpY2siOmIscm9sZTpjfSxhKSl9LCJqYiIpO18ud08uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbmNsaWNrOiEwLEh5OiEwfX07Xy5MKCh7dXJsOmEsbEs6YixjaGlsZHJlbjpjfSk9Pl8uSygieXRtLW1lbnUtaXRlbSIsbnVsbCxfLksoImEiLHtocmVmOmEsY2xhc3M6Im1lbnUtaXRlbS1idXR0b24iLHRhcmdldDooKT0+Yj8uKCk/Il9ibGFuayI6dm9pZCAwfSxjKSksImtiIikuaWRvbUNvbXBhdD0hMDsKXy5MKCh7Y29tbWFuZDphLGNoaWxkcmVuOmJ9KT0+Xy5LKCJ5dG0tbWVudS1pdGVtIixudWxsLF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCk/P3ZvaWQgMCxjbGFzc05hbWU6Im1lbnUtaXRlbS1idXR0b24ifSxiKSksImxiIikuaWRvbUNvbXBhdD0hMDt2YXIgVk4sV04sW1lOLHBoYV09Xy5KKG51bGwsdm9pZCAwLCJHQ0tnOGUiKSx4Tz1fLkwoKHtEaDphfSk9Pl8uSyhfLndPLG51bGwsXy5LKCJkaXYiLHtjbGFzczoibWVudS1jYW5jZWwtYnV0dG9uIn0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5UZCxjbGFzc05hbWU6Im1lbnUtY2FuY2VsLWljb24ifSksKCk9PmEoKS5jYW5jZWxCdXR0b25MYWJlbCkpLCJtYiIpLFhOPV8uTCgoe0RoOmEsY2hpbGRyZW46Yn0pPT57dmFyIGM9Xy51RSgiZGl2IiwoKT0+e30pO3JldHVybiBfLksoImRpdiIse2VsOmMsY2xhc3M6Xy5QKCJtZW51LWNvbnRlbnQiLHsibWVudS1ib3R0b20iOigpPT5hKCkubnEsIm1lbnUtc2hvdy1pY29ucyI6KCk9PmEoKS5IYXx8YSgpLm5xfHxhKCkuaXNGdWxsV2lkdGgsInJvdW5kZWQtY29udGFpbmVyIjooKT0+IWEoKS5pc0Z1bGxXaWR0aH0pLCJvbjpjbGljayI6ZnVuY3Rpb24oKXthKCkuU3d8fGEoKS5FSXx8Xy5VTigpfSxyb2xlOigpPT5hKCkuaXNGdWxsV2lkdGg/CnZvaWQgMDoiZGlhbG9nIiwiYXJpYS1tb2RhbCI6KCk9PiFhKCkuaXNGdWxsV2lkdGgsImFyaWEtbGFiZWxsZWRieSI6KCk9PmEoKS5WSH0sYixfLksoXy5PLHtBOigpPT4hYSgpLlN3LHRoZW46KCk9Pl8uSyhfLk8se0E6KCk9PiEhYSgpLm5xLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1tZW51LWNhbmNlbCJ9LF8uSyh4Tyx7RGg6YX0pKSxXOigpPT5fLksoeE8se0RoOmF9KX0pfSkpfSwibmIiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIixhTyk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGFPKTt2YXIgeU87eU89Xy5MKGE9Pnt2YXIgYj1hLmNoaWxkcmVuLGM9Xy5adHx8dm9pZCAwLGQ9Xy5tRygpO3JldHVybiBfLksoInl0bS1tZW51IixudWxsLGIoe29uQ2xpY2s6ZT0+e2Euc3RvcFByb3BhZ2F0aW9uPy4oKSYmZS5zdG9wUHJvcGFnYXRpb24oKTthLnByZXZlbnREZWZhdWx0Py4oKSYmZS5wcmV2ZW50RGVmYXVsdCgpO3FoYSh7Y29udGVudDphLmNvbnRlbnQsY2FuY2VsQnV0dG9uTGFiZWw6YS5jYW5jZWxCdXR0b25MYWJlbD8uKCksVGQ6YS5UZD8uKCksY2xhc3NOYW1lOmEuZGY/LigpLGZvY3VzT25DbG9zZTplLmN1cnJlbnRUYXJnZXQsSGE6YS5IYT8uKCksaXNEaXNhYmxlZDphLmlzRGlzYWJsZWQ/LigpLGRpc2FibGVkQ29tbWFuZDphLmRpc2FibGVkQ29tbWFuZD8uKCksb3duZXI6YyxGQTpkfSl9fSkpfSwicGIiKTsKXy56Tz1fLkwoYT0+Xy5LKHlPLHsuLi5hLGNvbnRlbnQ6YS5jaGlsZHJlbn0sKHtvbkNsaWNrOmJ9KT0+Xy5LKF8uTyx7QTooKT0+YS5idXR0b25PdmVycmlkZXM/LigpLHRoZW46Yz0+Xy5LKF8uSksse2RhdGE6KCk9Pih7b25UYXA6YixpY29uUG9zaXRpb246Imljb24tb25seSIsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHNpemU6Ik0iLHN0YXRlOiJhY3RpdmUiLGFjY2Vzc2liaWxpdHlMYWJlbDphLmxhYmVsPy4oKSwuLi5jKCl9KSxpY29uTmFtZTphLmljb25UeXBlfSksVzooKT0+Xy5LKF8udE8se25hbWU6YS5pY29uVHlwZSxhcmlhTGFiZWw6YS5sYWJlbCxjbGFzc05hbWU6Xy5QKGEuRmgse3NtYWxsOmEubGJ9KSxvbmNsaWNrOmIsYnE6ITB9KX0pKSwicWIiKTtfLnpPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Y2hpbGRyZW46ITB9fTsKXy5NaGE9Xy5MKGE9Pl8uSyh5Tyx7Li4uYSxjb250ZW50OmEuY2hpbGRyZW59LCh7b25DbGljazpifSk9Pl8uSyhfLk8se0E6KCk9PmEuYnV0dG9uT3ZlcnJpZGVzPy4oKSx0aGVuOmM9Pl8uSyhfLkpLLHtkYXRhOigpPT4oe29uVGFwOmIsaWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzaXplOiJNIixzdGF0ZToiYWN0aXZlIixhY2Nlc3NpYmlsaXR5TGFiZWw6YS5hcmlhTGFiZWw/LigpLFdhOmEubGFiZWw/LigpP18uQUYoYS5sYWJlbCgpKTp2b2lkIDAsLi4uYygpfSksaWNvbk5hbWU6YS5pY29uVHlwZX0pLFc6KCk9Pl8uSyhfLnZPLHtpY29uVHlwZTphLmljb25UeXBlLGxhYmVsOmEubGFiZWwsYXJpYUxhYmVsOmEuYXJpYUxhYmVsLGFyaWFQcmVzc2VkOiExLG9uY2xpY2s6YixzdHlsZTphLnN0eWxlLFZsOmEuVmwsTG06YS5hSX0pfSkpLCJyYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgT2hhLFBoYSxCTyxRaGEsUmhhLENPLFNoYSxHTyxITyxWaGEsVWhhLFdoYSxYaGEsWWhhLFpoYSxhaWEsUE8sYmlhLGNpYSxkaWEsZWlhLGZpYSxoaWEsZ2lhLFdPLGlpYSxYTyxqaWEsa2lhLGVQLGhQLGxQLG1pYSxuaWEsa1AsalAsTmhhLFRoYTtPaGE9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIG9mIE9iamVjdC52YWx1ZXMoTmhhKSlpZihfLmlxKGIpPT09YSlyZXR1cm4hMDtyZXR1cm4hMX07ClBoYT1mdW5jdGlvbihhLGIsYyxkLGUsZixoLGssbCl7dmFyIG09KDAsXy5EdykoKTtmPW5ldyBfLlR3KHt2ZVR5cGU6Yix5b3V0dWJlRGF0YTpmLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTtsPV8uV3coe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOmx9LG0pO2UmJihsLmN0dEF1dGhJbmZvPWUpO2U9e2NzbjptLHBhZ2VWZTpmLmdldEFzSnNvbigpfTtfLngoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmayYmay5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKGUuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9ay5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7YyYmYy52aXN1YWxFbGVtZW50PyhlLmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOmMuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpjLnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJihlLmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6YyYmXy5JcChuZXcgXy5YaigibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKYikpO2QmJihlLmNsb25lQ3NuPWQpO2E/Xy5DcCgic2NyZWVuQ3JlYXRlZCIsZSxhLGwpOl8uRXAoInNjcmVlbkNyZWF0ZWQiLGUsbCk7Xy5zbShfLkN3LG5ldyBfLkJ3KG0pKTtfLkV3LmNsZWFyKCk7Xy5Gdy5jbGVhcigpO18uR3cuY2xlYXIoKTtyZXR1cm4gbX07Xy5BTz1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLnd4KGEsYixjLGUsaCl9O0JPPWZ1bmN0aW9uKGEsYil7YS5LLmhhcyhiKXx8YS5LLnNldChiLFtdKTtyZXR1cm4gYS5LLmdldChiKX07ClFoYT1mdW5jdGlvbihhLGIsYz0wKXtfLlZpKCgpPT57Yi50aGVuKGQ9PnthLmouaGFzKGMpJiZhLkImJmEuQigpO3ZhciBlPV8uaXEoYyksZj1fLlZ3KGMpO2lmKGUmJmYpe3ZhciBoPXthdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTozfTtkPy5yZXNwb25zZT8udHJhY2tpbmdQYXJhbXMmJl8uYngoYS5jbGllbnQsZSxmLF8uVXcoZC5yZXNwb25zZS50cmFja2luZ1BhcmFtcyksITEsaCk7ZD8ucGxheWVyUmVzcG9uc2U/LnRyYWNraW5nUGFyYW1zJiZfLmJ4KGEuY2xpZW50LGUsZixfLlV3KGQucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07UmhhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5ELmxlbmd0aDtiKyspe3ZhciBjPWEuRFtiXTt0cnl7YygpfWNhdGNoKGQpe18uR3AoZCl9fWEuRC5sZW5ndGg9MDtmb3IoYj0wO2I8YS5VLmxlbmd0aDtiKyspe2M9YS5VW2JdO3RyeXtjKCl9Y2F0Y2goZCl7Xy5HcChkKX19fTsKQ089ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9dm9pZCAwO2QubGF5ZXJ8fChkLmxheWVyPTApO2U9ZC5wYXJlbnRMYXllciE9PXZvaWQgMD9kLnBhcmVudExheWVyOmQubGF5ZXI7dmFyIGY9Xy5pcShlKTtlPV8uVncoZSk7dmFyIGg9Y3x8ZSxrO2gmJihkLnBhcmVudENzbiE9PXZvaWQgMD9rPXtjbGllbnRTY3JlZW5Ob25jZTpkLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmYmJmYhPT0iVU5ERUZJTkVEX0NTTiImJihrPXtjbGllbnRTY3JlZW5Ob25jZTpmLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgbCxtPV8udygiRVZFTlRfSUQiKTtmPT09IlVOREVGSU5FRF9DU04iJiZtJiYobD17c2VydmxldERhdGE6e3NlcmlhbGl6ZWRTZXJ2bGV0RXZlbnRJZDptfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmZiYmXy5reChhLGYpO18ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSYmaCYmZiYmXy5jeChoLGYpO3RyeXt2YXIgbj1QaGEoYS5jbGllbnQsYixrLApkLnRwLGQuY3R0QXV0aEluZm8sbCxkLmltcGxpY2l0R2VzdHVyZVR5cGUsZC5sb2dnaW5nRXhwZWN0YXRpb25zLGQuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKHIpe18uY3cocix7R0s6Yixyb290VmU6ZSxxSzpjLG5JOmYscEs6ayx0cDpkLnRwfSk7Xy5HcChyKTtyZXR1cm59Xy5tcShuLGIsZC5sYXllcixkLmN0dEF1dGhJbmZvKTtmJiZmIT09IlVOREVGSU5FRF9DU04iJiZlJiYhT2hhKGYpJiYoXy52eChhLmNsaWVudCxmLGUsITApLGEuby5kZWxldGUoZikpO2I9Qk8oYSxkLmxheWVyfHwwKTtiLmxlbmd0aD4wJiYhYltiLmxlbmd0aC0xXS5jc24mJihiW2IubGVuZ3RoLTFdLmNzbj1ufHwiIik7Xy56cSh7Y2xpZW50U2NyZWVuTm9uY2U6bn0pO18uRHgoKTtfLlZpKF8uQngoKS5LKS5iaW5kKF8uQngoKSkoKTt2YXIgcD1fLlZ3KGQubGF5ZXIpO2YmJmYhPT0iVU5ERUZJTkVEX0NTTiImJnAmJl8ueCgibXVzaWNfd2ViX21hcmtfcm9vdF92aXNpYmxlIikmJl8uVmkoXy5BTykodm9pZCAwLApuLHAsdm9pZCAwLHZvaWQgMCx2b2lkIDApO2Euai5kZWxldGUoZC5sYXllcnx8MCk7YS5CPXZvaWQgMDthLmhhLmdldChkLmxheWVyKT8uZm9yRWFjaCgocix0KT0+e3I/Xy5peChhLHQscixkLmxheWVyKTpwJiZfLml4KGEsdCxwLGQubGF5ZXIpfSk7UmhhKGEpfTtTaGE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5qLmFkZChkLmxheWVyfHwwKTthLkI9KCk9PntDTyhhLGIsYyxkKTt2YXIgZT1fLlZ3KGQubGF5ZXIpO2lmKGUpe2xldCBmPV8uaXEoZC5sYXllcik7Zm9yKGxldCBoIG9mIGEuWSl7bGV0IGs9aFswXSxsPWhbMV18fGU7Zj9fLmp4KGEsayxsLGQubGF5ZXIsZik6Xy5peChhLGssbCxkLmxheWVyKX1mb3IobGV0IGggb2YgYS5NKV8ubXgoYSxoWzBdLGhbMV0pfX07Y3x8Xy5pcShkLmxheWVyKXx8YS5CKCk7aWYoZC5mbClmb3IobGV0IGUgb2YgZC5mbClRaGEoYSxlLGQubGF5ZXIpO2Vsc2UgXy5HcChFcnJvcigiTmIiKSl9OwpfLkRPPWZ1bmN0aW9uKGEsYixjLGQ9e30pe18uVmkoKCk9PntUaGEuaW5jbHVkZXMoYil8fChfLklwKG5ldyBfLlhqKCJjcmVhdGVDbGllbnRTY3JlZW4oKSBjYWxsZWQgd2l0aCBhIG5vbi1wYWdlIFZFIixiKSksYj04Mzc2OSk7aWYoIWQuaXNIaXN0b3J5TmF2aWdhdGlvbil7bGV0IGU9ZC5sYXllcnx8MDthLmdhLnNldChlLFtdKTtCTyhhLGUpLnB1c2goe3Jvb3RWZTpiLGtleTpkLmtleXx8IiJ9KX1hLlk9W107YS5NPVtdO2QuZmw/U2hhKGEsYixjLGQpOkNPKGEsYixjLGQpfSkoKX07Xy5FTz1mdW5jdGlvbihhLGIsYyxkKXtiPV8uZGIoYik7cmV0dXJuIGIhPT12b2lkIDA/YS5vcGVuKGIsYyxkKTpudWxsfTtfLkZPPWZ1bmN0aW9uKGEsYixjKXtjPWMhPW51bGw/Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYykpOiIiO3JldHVybiBfLlNiKGEsYitjKX07R089ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5ReShfLmVkKGEsYikpPz8hMX07CkhPPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5XeChhLGIsXy54dyhjKSwhMSl9O18uSU89ZnVuY3Rpb24oYSxiKXt2YXIgYztfLnViKGEsZD0+e2M9YltkXTtyZXR1cm4hIWN9KTtyZXR1cm4gY307Xy5KTz1mdW5jdGlvbihhLGIsYz0wKXsoYz1fLmlxKGMpKSYmYSYmXy5WaShfLkFPKSh2b2lkIDAsYyxhLHZvaWQgMCxiLHZvaWQgMCl9O18uS089ZnVuY3Rpb24oKXtyZXR1cm4hIV8udygiTVdFQl9GSVJFRk9YX1lUX0xBVU5DSEVSIil9O18uTE89ZnVuY3Rpb24oKXtyZXR1cm4gXy5rTT9fLmtNOl8ubE0oKX07Xy5NTz1mdW5jdGlvbihhLGI9NSxjKXtpZihiIT09MCl7dmFyIGQ9dHlwZW9mIGE9PT0iZnVuY3Rpb24iP2EoKTpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2Q/Yz8ucmw/Xy5kTihkKTpkLmZvY3VzKCk6c2V0VGltZW91dCgoKT0+e18uTU8oYSxiLTEsYyl9LDUwMCl9fTtWaGE9ZnVuY3Rpb24oKXt2YXIgYT1VaGEoKTtyZXR1cm4gSE8oYSw3LCEwKX07ClVoYT1mdW5jdGlvbigpe3ZhciBhPW5ldyBOTzthPUhPKGEsNSwhMCk7YT1ITyhhLDIsITApO2E9SE8oYSw0LCExKTthPUhPKGEsOCwhMCk7cmV0dXJuIEhPKGEsOSwhMCl9O1doYT1mdW5jdGlvbigpe3ZhciBhPVZoYSgpO3JldHVybiBITyhhLDEwLCEwKX07WGhhPWZ1bmN0aW9uKCl7dmFyIGE9V2hhKCk7cmV0dXJuIEhPKGEsMTIsITApfTtZaGE9ZnVuY3Rpb24oKXt2YXIgYT1YaGEoKTtyZXR1cm4gSE8oYSwxMywhMSl9O1poYT1mdW5jdGlvbigpe3ZhciBhPVloYSgpO3JldHVybiBITyhhLDE0LCEwKX07YWlhPWZ1bmN0aW9uKGEpe3JldHVybiAkaGEuc29tZShiPT5iLnRlc3QoYSkpfTsKUE89ZnVuY3Rpb24oYSxiKXt7dmFyIGM9YS5mb3JtQ29udGVudD8ubG9jYWxlO2xldCBkPWM/LnNwbGl0KCItIilbMF07Yz1jJiZPTy5pbmNsdWRlcyhjKT9jOmQmJk9PLmluY2x1ZGVzKGQpP2Q6dm9pZCAwfWM9KGM/PyJlbiIpLnJlcGxhY2VBbGwoIi0iLCJfIikudG9Mb3dlckNhc2UoKTthPWEuaW5pdGlhbGl6YXRpb25EYXRhPy51c2VOaWdodGx5UmVsZWFzZT8ibmlnaHRseSI6ImxpdmUiO3JldHVybiBiPy5nZXRFbmFibGVBbG9oYUJpbmFyeVNwbGl0Py4oKT8oMCxfLll4KWBodHRwczovL3d3dy5nc3RhdGljLmNvbS91c2Vydm9pY2UvZmVlZGJhY2svY2xpZW50L3dlYi8ke2F9L21haW5fbGlnaHRfYmluYXJ5LmpzYDooMCxfLll4KWBodHRwczovL3d3dy5nc3RhdGljLmNvbS91c2Vydm9pY2UvZmVlZGJhY2svY2xpZW50L3dlYi8ke2F9L21haW5fYmluYXJ5X18ke2N9LmpzYH07CmJpYT1mdW5jdGlvbihhLGIsYyxkKXtpZihRTyYmUk89PT1iKXJldHVybiBRTztSTz1iO3ZhciBlPVBPKGEsZCk7cmV0dXJuIFFPPWIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdD9Qcm9taXNlLnJlc29sdmUoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpuZXcgUHJvbWlzZSgoZixoKT0+e3ZhciBrPV8uQ2QoIlNDUklQVCIpO18ub2IoayxlKTtrLm9ubG9hZD0oKT0+e2IuZmVlZGJhY2tWMkdsb2JhbE9iamVjdD9mKGIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdCk6aChFcnJvcigiR2QiKSl9O2sub25lcnJvcj0oKT0+e2goRXJyb3IoIkhkYCIrZS50b1N0cmluZygpKSl9O2MuYm9keS5hcHBlbmRDaGlsZChrKX0pfTsKY2lhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKFNPJiZUTz09PWIpcmV0dXJuIFNPO1RPPWI7dmFyIGU9UE8oYSxkKTtyZXR1cm4gU089Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P1Byb21pc2UucmVzb2x2ZShiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOm5ldyBQcm9taXNlKChmLGgpPT57dmFyIGs9Xy5DZCgiU0NSSVBUIik7Xy5vYihrLGUpO2sub25sb2FkPSgpPT57Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P2YoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpoKEVycm9yKCJHZCIpKX07ay5vbmVycm9yPSgpPT57aChFcnJvcigiSGRgIitlLnRvU3RyaW5nKCkpKX07Yy5ib2R5LmFwcGVuZENoaWxkKGspfSl9O2RpYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1EYXRlLm5vdygpO2E9YXdhaXQgKGF3YWl0IGJpYShhLGMsZCxiKSkuaW5pdGlhbGl6ZUZlZWRiYWNrQ2xpZW50QXN5bmMoYSxlLGIpO2EuaW5pdGlhdGVBbG9oYSgpO3JldHVybiBhfTsKZWlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPURhdGUubm93KCk7YT1hd2FpdCAoYXdhaXQgY2lhKGEsYyxkLmRvY3VtZW50LGIpKS5pbml0aWFsaXplRmVlZGJhY2tDbGllbnRBc3luYyhhLGUsYixkKTthLmluaXRpYXRlQWxvaGEoKTtyZXR1cm4gYX07CmZpYT1hc3luYyBmdW5jdGlvbihhLGIsYyl7dmFyIGQ9Y3x8Xy51O2lmKGI/LmdldEVuYWJsZUFsb2hhQmluYXJ5U3BsaXQ/LigpKXtpZihkLmlzRm9ybU9wZW5lZCl0aHJvdyBuZXcgVU87ZC5pc0Zvcm1PcGVuZWQ9ITA7YS5jYWxsYmFja3M9YS5jYWxsYmFja3N8fHt9O2xldCBlPWEuY2FsbGJhY2tzLm9uQ2xvc2V8fCgoKT0+e30pO2EuY2FsbGJhY2tzLm9uQ2xvc2U9Zj0+e2QuaXNGb3JtT3BlbmVkPSExO2UoZil9O3RyeXtyZXR1cm4gZWlhKGEsYixkLGQpfWNhdGNoKGYpe3Rocm93IGQuaXNGb3JtT3BlbmVkPSExLGY7fX1lbHNle2lmKGQuaXNGb3JtT3BlbmVkKXRocm93IG5ldyBVTztkLmlzRm9ybU9wZW5lZD0hMDthLmNhbGxiYWNrcz1hLmNhbGxiYWNrc3x8e307bGV0IGU9YS5jYWxsYmFja3Mub25DbG9zZXx8KCgpPT57fSk7YS5jYWxsYmFja3Mub25DbG9zZT1mPT57ZC5pc0Zvcm1PcGVuZWQ9ITE7ZShmKX07dHJ5e3JldHVybiBkaWEoYSxiLGQsZC5kb2N1bWVudCl9Y2F0Y2goZil7dGhyb3cgZC5pc0Zvcm1PcGVuZWQ9CiExLGY7fX19O2hpYT1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBuZXcgUHJvbWlzZSgoYyxkKT0+e051bWJlci5pc0ludGVnZXIoTnVtYmVyKGEpKSYmTnVtYmVyKGEpPjA/KGQ9Z2lhKGI/PyIiKSsiL2Fsb2hhX2Zvcm1fcHJvcGVydGllcz9wcm9kdWN0SWQ9IithLF8ubHkoZCxlPT57ZT1lLnRhcmdldDt2YXIgZj1udWxsO3RyeXt2YXIgaD1KU09OLGs9aC5zdHJpbmdpZnk7aWYoZS5yYSl7dmFyIGw9ZS5yYS5yZXNwb25zZVRleHQ7bC5pbmRleE9mKCIpXX0nXG4iKT09MCYmKGw9bC5zdWJzdHJpbmcoNSkpO3ZhciBtPV8uRXYobCl9ZWxzZSBtPXZvaWQgMDtmPV8uWHgoVk8say5jYWxsKGgsbSkpfWNhdGNoKG4pe2s9bmV3IFZPLG09WmhhKCksbT1ITyhtLDE1LCEwKSxtPUhPKG0sMjAsITEpLG09SE8obSwyNSwhMSksbT1ITyhtLDI2LCExKSxmPV8uS3coaywxLG0pfWMoZil9LCJHRVQiLCIiLHt9LDJFMywhMCkpOmQoRXJyb3IoIklkYCIrYSkpfSl9OwpnaWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGFpYShhKT9hOiJodHRwczovL3d3dy5nb29nbGUuY29tL3Rvb2xzL2ZlZWRiYWNrIn07CldPPWZ1bmN0aW9uKGEsYixjLGQpe2EudGltZU9mU3RhcnRDYWxsPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3ZhciBlPWN8fF8udSxmPWUuZG9jdW1lbnQsaD1hLm5vbmNlfHxfLmliKGUuZG9jdW1lbnQpO2gmJiFhLm5vbmNlJiYoYS5ub25jZT1oKTtpZihhLmZsb3c9PSJoZWxwIil7dmFyIGs9Xy5zYSgiZG9jdW1lbnQubG9jYXRpb24uaHJlZiIsZSk7IWEuaGVscENlbnRlckNvbnRleHQmJmsmJihhLmhlbHBDZW50ZXJDb250ZXh0PWsuc3Vic3RyaW5nKDAsMTIwMCkpO2s9ITA7aWYoYiYmSlNPTiYmSlNPTi5zdHJpbmdpZnkpe2xldCBsPUpTT04uc3RyaW5naWZ5KGIpOyhrPWwubGVuZ3RoPD0xMjAwKSYmKGEucHNkSnNvbj1sKX1rfHwoYj17aW52YWxpZFBzZDohMH0pfWI9W2EsYixjLGRdO2UuR09PR0xFX0ZFRURCQUNLX1NUQVJUX0FSR1VNRU5UUz1iO2M9YS5mZWVkYmFja1NlcnZlclVyaXx8Ii8vd3d3Lmdvb2dsZS5jb20vdG9vbHMvZmVlZGJhY2siO2lmKGQ9ZS5HT09HTEVfRkVFREJBQ0tfU1RBUlQpZC5hcHBseShlLApiKTtlbHNle2U9YysiL2xvYWQuanM/Ijtmb3IobGV0IGwgaW4gYSliPWFbbF0sYj09bnVsbHx8Xy5BYShiKXx8KGUrPWVuY29kZVVSSUNvbXBvbmVudChsKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKyImIik7YT1fLnhkKGYpLmNyZWF0ZUVsZW1lbnQoIlNDUklQVCIpO2gmJmEuc2V0QXR0cmlidXRlKCJub25jZSIsaCk7Xy5vYihhLF8uVGEoZSkpO2YuYm9keS5hcHBlbmRDaGlsZChhKX19OwppaWE9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5mbG93PT09InN1Ym1pdCIsZj0hIV8uZHIsaD10eXBlb2Ygd2luZG93IT09InVuZGVmaW5lZCImJiEhKHdpbmRvdy5fX2thcm1hX198fHdpbmRvdy5qYXNtaW5lfHx3aW5kb3cubW9jaGF8fHdpbmRvdy5qZXN0KTtpZihlJiZoKVdPKGEsYixjLGQpO2Vsc2V7aD0oYXdhaXQgaGlhKGEucHJvZHVjdElkLGEuZmVlZGJhY2tTZXJ2ZXJVcmkpKT8udigpO2Y9IWZ8fGg/LmdldEVuYWJsZU13ZWIoKTt2YXIgaz0hYS50aW55Tm9Qb2ludGVyfHxoPy5nZXRFbmFibGVUaW55Tm9Qb2ludGVyKCk7Zj0hZSYmKCFofHxoLmdldEFsb2hhQXV0b0dhUm9sbG91dCgpJiZmJiZrKTtlPWUmJmg/LmdldEVuYWJsZUFsb2hhSGVhZGxlc3MoKSYmYS5yZXBvcnQ7Znx8ZT9hd2FpdCBYTyhhLGIsYyxoLGQpOldPKGEsYixjLGQpfX07ClhPPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Y3x8Xy51LGg9YS5zZXJ2ZXJFbnZpcm9ubWVudD09PSJERVYiO2M9Y3x8Xy51O2M9YS5ub25jZXx8Xy5pYihjLmRvY3VtZW50KTtoPXtpbnRlZ3JhdGlvbktleXM6e3Byb2R1Y3RJZDphLnByb2R1Y3RJZCxmZWVkYmFja0J1Y2tldDphLmJ1Y2tldCx0cmlnZ2VySWQ6YS50cmlnZ2VySWQsbWljcm9mZWVkYmFja1Njb3JlOmEubWljcm9mZWVkYmFja1Njb3JlfSxjYWxsYmFja3M6e29uQ2xvc2U6YS5jYWxsYmFjayxvbkxvYWQ6YS5vbkxvYWRDYWxsYmFja30sZm9ybUNvbnRlbnQ6e2xvY2FsZTphLmxvY2FsZSxkaXNhYmxlU2NyZWVuc2hvdDphLmRpc2FibGVTY3JlZW5zaG90dGluZyxwcm9kdWN0RGlzcGxheU5hbWU6dm9pZCAwLGFubm91bmNlbWVudDp2b2lkIDAsaXNzdWVDYXRlZ29yaWVzOnZvaWQgMCxpbmNsdWRlU2V2ZXJpdHlTZWxlY3Rpb246dm9pZCAwLGN1c3RvbUltYWdlU3JjOnZvaWQgMCx0aGFua1lvdU1lc3NhZ2U6dm9pZCAwLAp1c2VyRW1haWw6dm9pZCAwLGRlZmF1bHRGb3JtSW5wdXRWYWx1ZXM6dm9pZCAwLGRlZmF1bHRGb3JtSW5wdXRWYWx1ZXNTdHJpbmc6dm9pZCAwLGFidXNlTGluazphLmFidXNlTGluayxhZGRpdGlvbmFsRGF0YUNvbnNlbnQ6YS5hZGRpdGlvbmFsRGF0YUNvbnNlbnR9LGluaXRpYWxpemF0aW9uRGF0YTp7aXNMb2NhbFNlcnZlcjpoLG5vbmNlOmMsdXNlTmlnaHRseVJlbGVhc2U6aCxmZWVkYmFja0pzVXJsOnZvaWQgMCxmZWVkYmFja0Nzc1VybDp2b2lkIDAsZmVlZGJhY2tKc1VybFNlcmlhbGl6ZWQ6dm9pZCAwLGZlZWRiYWNrQ3NzVXJsU2VyaWFsaXplZDp2b2lkIDAsc3VibWlzc2lvblNlcnZlclVyaTphLmZlZWRiYWNrU2VydmVyVXJpLGNvbG9yU2NoZW1lOmEuY29sb3JTY2hlbWV9LGV4dHJhRGF0YTp7cHJvZHVjdFZlcnNpb246YS5wcm9kdWN0VmVyc2lvbixhdXRoVXNlcjphLmF1dGh1c2VyLGNvbmZpZ3VyYXRvcklkOmEuY29uZmlndXJhdG9ySWQsY3VzdG9tWkluZGV4OmEuY3VzdG9tWkluZGV4LAp0aW55Tm9Qb2ludGVyOmEudGlueU5vUG9pbnRlcixhbGxvd05vbkxvZ2dlZEluRmVlZGJhY2s6YS5hbGxvd05vbkxvZ2dlZEluRmVlZGJhY2ssZW5hYmxlQW5vbnltb3VzRmVlZGJhY2s6YS5lbmFibGVBbm9ueW1vdXNGZWVkYmFja319O2EucmVwb3J0JiYoaC5oZWFkbGVzc1JlcG9ydD1hLnJlcG9ydCk7YiYmKGE9bmV3IE1hcChPYmplY3QuZW50cmllcyhiKSksaC5leHRyYURhdGEucHJvZHVjdFNwZWNpZmljRGF0YT1hKTtlJiYoZT1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKGUpKSxoLmV4dHJhRGF0YS5wcm9kdWN0U3BlY2lmaWNCaW5hcnlEYXRhPWUpO2F3YWl0IGZpYShoLGQsZil9OwpfLllPPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXtpZihhLmZsb3c9PT0iaGVscCIpe2xldCBlPWEuaGVscENlbnRlclBhdGgucmVwbGFjZSgvXlwvLywiIik7Xy5FTyhjfHx3aW5kb3csYGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tLyR7ZX1gKX1lbHNlIGlpYShhLGIsYyxkKS5jYXRjaChlPT57IWV8fGUgaW5zdGFuY2VvZiBVT3x8V08oYSxiLGMsZCl9KX1jYXRjaChlKXtYTyhhLGIsYyxudWxsLGQpLmNhdGNoKGY9PnshZnx8ZiBpbnN0YW5jZW9mIFVPfHxXTyhhLGIsYyxkKX0pfX07Xy5aTz1mdW5jdGlvbigpe3ZhciBhPV8uSU8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO3JldHVybiBhP2E6bnVsbH07Cl8uJE89ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2tsaXN0Iix7aW5jbHVkZUFzcjohMH0pPz9bXTtyZXR1cm4gYj1qaWEoYixhKX07Xy5hUD1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhbnNsYXRpb25MYW5ndWFnZXMiLHtpbmNsdWRlQXNyOiEwfSl8fFtdfTtqaWE9ZnVuY3Rpb24oYSxiKXtiPV8uYVAoYik7aWYoIWI/Lmxlbmd0aClyZXR1cm4gYTt2YXIgYz1iLmZpbHRlcihkPT5kKTtiPWEuZmlsdGVyKGQ9PmQubGFuZ3VhZ2VDb2RlPy5zdGFydHNXaXRoKCJlbiIpKTtmb3IobGV0IGQgb2YgYylpZihiLmxlbmd0aCl7Yz1iWzBdO2xldCBlPXsuLi5jfTtjLmxhbmd1YWdlQ29kZSE9PWQubGFuZ3VhZ2VDb2RlJiYoZS5kaXNwbGF5TmFtZT1gJHtjLmxhbmd1YWdlTmFtZX0gPj4gJHtkLmxhbmd1YWdlTmFtZX1gLGUudHJhbnNsYXRpb25MYW5ndWFnZT1kLGEucHVzaChlKSl9cmV0dXJuIGF9OwpraWE9ZnVuY3Rpb24oKXtfLk1PKCdbYXJpYS1sYWJlbD0iWW91VHViZSJdJyw1LHtybDohMH0pfTtlUD1mdW5jdGlvbihhKXt2YXIgYj1iUDtiJiYoYT9jUD1fLnhGKGIsKCk9Pl8uSyhkUCxudWxsLF8uSyhfLnROLHtjb21wb25lbnQ6bGlhfSkpLHtJazpfLlhDfSk6KGNQPy4oKSxjUD1udWxsKSl9O2hQPWZ1bmN0aW9uKCl7Y1AmJihjUCgpLGNQPW51bGwpO2ZQKHZvaWQgMCk7Z1AoIm91dCIpO2JQJiYoYlAucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChiUCksYlA9bnVsbCl9O2xQPWZ1bmN0aW9uKCl7aVAubGVuZ3RoJiYoZ1AoIm91dCIpLHNldFRpbWVvdXQoKCk9PntpUC5zaGlmdCgpO2lQLmxlbmd0aD4wPyhoUCgpLGpQKCksa1AoKSk6KGVQKCksaFAoKSl9LDE5NSkpfTttaWE9ZnVuY3Rpb24oKXtfLk5NKHdpbmRvdywic3RhdGUtbmF2aWdhdGVlbmQiLCgpPT57c2V0VGltZW91dChraWEsMUUzKX0pfTsKbmlhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImMzLXRvYXN0Iik7aWYoYil7bGV0IGM9Yi5xdWVyeVNlbGVjdG9yKCJidXR0b24iKTtjJiZfLk5NKGMsImZvY3VzIiwoKT0+e2NsZWFyVGltZW91dChtUCk7bVA9c2V0VGltZW91dChsUCxhKTtfLk5NKGMsImJsdXIiLCgpPT57Xy5PRShfLm5QKX0pfSl9fTtrUD1mdW5jdGlvbigpe2dQKCJpbiIpO3ZhciB7Y29udGVudDphLGR1cmF0aW9uTXM6Yn09aVAubGVuZ3RoP2lQWzBdOnt9O2ZQKGEpO2NQfHxlUChhKTttUD1zZXRUaW1lb3V0KCgpPT57bFAoKX0sMjI1KyhifHwwKSk7Xy5VTSgpPT09ImxpYnJhcnkiP21pYSgpOmIhPT12b2lkIDAmJm5pYShiKX07alA9ZnVuY3Rpb24oKXtiUHx8KGJQPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGJQLmlkPSJ0b2FzdHMiLChfLlpPKCl8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKGJQKSxlUCgpKX07Cl8ucFA9ZnVuY3Rpb24oYSxiPW9QLGM9ITEpe2pQKCk7Yj1ifHxvUDtjJiZpUC5sZW5ndGg+MD8oY2xlYXJUaW1lb3V0KG1QKSxfLk9FKCgpPT57aVBbMF09e2NvbnRlbnQ6YSxkdXJhdGlvbk1zOmJ9O2tQKCl9KSk6KGlQLnB1c2goe2NvbnRlbnQ6YSxkdXJhdGlvbk1zOmJ9KSxpUC5sZW5ndGg9PT0xJiZfLk9FKGtQKSl9O18ublA9ZnVuY3Rpb24oKXtpUC5sZW5ndGg+MCYmKGNsZWFyVGltZW91dChtUCksbFAoKSl9O18ucVA9ZnVuY3Rpb24oYSl7Xy5YTSgibmF2aWdhdGUiLGEpfTtfLnJQPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgibXdlYl9uZXdfZnVsbHNjcmVlbiIpPyEhXy5aTygpOiEhXy5aTygpfHx3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZmF1eGZ1bGxzY3JlZW4ifTsKXy5zUD1mdW5jdGlvbihhKXthPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEudG9TdHJpbmcoKSk7YS5mb2N1cygpO2Euc2V0U2VsZWN0aW9uUmFuZ2UoMCxhLnZhbHVlLmxlbmd0aCk7YT0hMTt0cnl7YT1kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpfWNhdGNoKGIpe31fLnBQKGE/KCk9Pm9pYTooKT0+cGlhKX07Xy50UD1mdW5jdGlvbigpe3JldHVybiEhXy53KCJJRF9UT0tFTiIpfTtOaGE9e0hDOjAsdkM6MSxCQzoyLHlGOjMsWG46NCxESDo1LEJGOjYsUUc6NyxwRzo4LHVHOjksVEY6MTAsbkY6MTEsMDoiREVGQVVMVCIsMToiQ0hBVCIsMjoiQ09OVkVSU0FUSU9OUyIsMzoiTUlOSVBMQVlFUiIsNDoiRElBTE9HIiw1OiJWT1oiLDY6Ik1VU0lDX1dBVENIX1RBQlMiLDc6IlNIQVJFIiw4OiJQVVNIX05PVElGSUNBVElPTlMiLDk6IlJJQ0hfR1JJRF9XQVRDSCIsMTA6IlBJQ1RVUkVfSU5fUElDVFVSRSIsMTE6Ik1FRElBX0NMSUVOVCJ9OwpUaGE9WzM2MTEsMjc2ODYsMjIxMDU4LDg1MDEzLDIzNDYyLDI0MTE4NywxNTc1NTcsNDIwMTYsMjY5MjYsNTEyMzYsNzkxNDgsNTAxNjAsNzc1MDQsMzEwMjgxLDE1MzU4Nyw4NzkwNywxODYzMCwxNzcwMTgsMTc3MDIzLDU0NDQ1LDMyMTY2NiwzMjYzNTMsMzI2MzU0LDgwOTM1LDE1MjE3MiwxODQ1NTMsMTA1Njc1LDE1MDcyMywzNzUyMSwxNDcyODUsNDc3ODYsMjMxMjU1LDIzMTI1NCwyMzEyNTgsMjMxMjU5LDk4MzQ5LDIzNzI5OSwxNjgyNzEsMTY4OTU0LDE2ODI3NywxNjgyNzMsMTY4MjcwLDEyMzY5NSwyNzIwMTgsMzM4NDk3LDIyNjk4NywyMjY5OTAsMjI2OTg4LDY4MjcsMjk0MzQsMjU1MDEwLDE3MTM4OCwyNDQxODksMjM2MjA4LDcyODIsMTI0NDQ4LDI5OTkwMywyOTk4OTcsMjk5OTA0LDI5OTkwMSwyOTk4OTksMjk5OTAyLDI5OTkwMCwyOTk4OTgsMTk2MDg4LDI1MDg5NywxOTgxMDQsMzIyNzYsMTk1MTE1LDE5NTExNCw3NjI3OCwyMDA2MzUsMjMwNTk0LDE0Nzg2OCwxNDc4NjksCjI3NjI0Myw5MzkxMSwyNzQxODgsMjc2NjUxLDMxMzY4MCwxMDY1MzEsMjU3MjM0LDI1MjU5OCwyNTI1OTcsMjUyNjAwLDI1MjU5OSwyNTI1OTYsMjI1MDMxLDE3Nzg0MywyNzI1OSwyNzI2MiwyNzI2MywyMTc1OSwyODM2NzAsMTYwODY2LDIwNDI0OSwyMjI5MDAsMjA0MjUwLDE4MDYyNiwxNzc5NTksMTc3OTU3LDE4MDYyOCwyMDU3MTYsMTk3ODc4LDI3Mzc2NiwxNzEyNDMsMTYwNzg5LDE3MTI0NCwxNzEyNDEsMTcxMjQ1LDE3MTI0MiwyMjU1NjAsMTgwNjI3LDE3Nzk2MCwyMzE1ODksMTc3OTU4LDE4MDYyOSwyMDU3MTcsMTk3ODc5LDE3NzU2NSwyMTI1NzMsMjEwNzA5LDk5NDQxMiwyMzA2ODQsMjI5ODAxLDIzMDY4NSwzMzQzMTAsMzM0MzExLDMzNDMxMiwxOTczMzcsMjA5MDEwLDE5NzMzNiwxOTczMzgsMTk4NjE4LDMwMDg4NCwxNzU0OTIsMTk4MDUyLDE5ODA1MSwxOTc4NTIsMTk3OTc2LDMxNzM3NywxNzU0OTMsMTc1NDk0LDE3NTQ5NSwxODkyNTQsMTc1NDk2LDE3NTQ5NywzODQwOCwKMTc1NDk4LDE3NTUwMywxNzU1MDQsMTc1NTA1LDE3NTUwNiwxNzU1MDcsMTc1NTA4LDgwNjM3LDY4NzI3LDIwNjkzMywyMDc5NDQsMjA2OTM0LDMwMzEyMywyMDY5MjksMjIxNTc1LDY4NzI4LDIyMTU3Niw4MDM1Myw4MDM1NiwzMDgwMzMsMjQ5MTA3LDE4MDYzNSw3NDYxMCw0NTcwNyw4Mzk2Miw4Mzk3MCw0NjcxMywxNjY1OTEsODk3MTEsNzQ2MTIsMjEzODA5LDE3OTYwNywyNDUwMDYsMTU1NzkyLDkzMjY1LDc0NjExLDEzMTM4MCwxMjg5NzksMTM5MzExLDEyODk3OCwxMzEzOTEsMTA1MzUwLDEzOTMxMiwzMzM2MzcsMTM0ODAwLDEzMTM5MiwxMTM1MzMsMjI5Mjk4LDkzMjUyLDk5MzU3LDk0NTIxLDExNDI1MiwxMTM1MzIsOTQ1MjIsOTQ1ODMsMjAyMzcxLDg4RTMsMTM5NTgwLDkzMjUzLDkzMjU0LDk0Mzg3LDk0Mzg4LDkzMjU1LDk3NDI0LDcyNTAyLDIxOTg2OCwyMTI5OTEsMTEwMTExLDc2MDE5LDExNzA5MiwxMTcwOTMsODk0MzEsMTkxODMxLDExMDQ2NiwyMzEzNDYsNzcyNDAsCjYwNTA4LDE4NjA5MSwxNDgxMjMsMTQ4MTI0LDEzNzQwMSwxMzc0MDIsMTM3MDQ2LDczMzkzLDI0Njc3NiwxMTM1MzQsMjc2MjAwLDkyMDk4LDEzMTM4MSw4NDUxNyw4Mzc1OSwzMDk1ODAsMjMwNjc2LDI0OTE4MywyMzA2NzksMjMwNjc4LDIzMDY3NywyMzA2ODEsMjMwNjgwLDE2MjcxMSwyMzUyMzQsMTYyNzEyLDgwMzU3LDk5NDQxMSwyNDMzMTUsMzEzNTA2LDMyMTk2NCw4NjExMyw3MjU5OCwxNjg0MTMsNzI3MzMsMTA3MzQ5LDEyNDI3NSwxMTgyMDMsMjAwNDEwLDEzMzI3NSwxNjAxNTcsMTUyNTY5LDE1NjY1MSwxMzMyNzQsMTYwMTU5LDE2MDE1OCwxMzMyNzIsMTMzMjczLDEzMzI3NiwxNDQ1MDcsMTQzMjQ3LDE3NTk5NCwxNTY2NTIsMTQzMjQ4LDE0MzI0OSwxNDMyNTAsMTQzMjUxLDE4OTg5MiwxODk4OTQsMTg5ODkzLDE1NjY1MywyMTQyMzYsMTQ0NDAxLDExNzQzMSwxMzM3OTcsMjI1MTM3LDI3MzkwNSwyMjI2MTIsMjIyNjEzLDE1Mzk2NCwyMDExMzMsMjAxMTM0LDIwMTEzNSwKMjAxMTM2LDIwMTEzNywxMjg1NzIsMjAwNDExLDIwMDQxMiwxOTAzMzcsMTMzNDA1LDExNzQyOSwxMTc0MzAsMTc3OTUwLDE3NDczNCwxNzc5NTEsMjAxMTM4LDIwMTEzOSwyMDExNDAsMjAxMTQxLDIwMTE0MiwxMTc0MzIsMTczOTk2LDE3Mzk5NSwxNzQ5NTMsMTczOTk0LDE3Mzk5NywxMjAwODAsMTE3MjU5LDE3ODU0NiwyOTc3NTIsMTk3ODkxLDE1NjY1NSwxNTY2NTQsMTIxNjkyLDIxMTQxNCwyMTE0MTEsMjExNDEyLDIxMTQxMywyMTE0MDMsMTg0ODQ2LDE4NTk5MywzMzUwNDgsMTQ1NjU2LDE1NjY1NiwxNDU2NTUsMTQ1NjUzLDE0NTY1NCwxNDU2NTcsMTMyOTcyLDEzMzA1MSwxMzM2NTgsMTMyOTcxLDMzNjcyOCw5NzYxNSwxODEyNjIsMTkwNzYyLDI1MDM0NCwyNTQwMjcsMTQzMzU5LDE0MzM1NiwxNDMzNjEsMTQzMzU4LDE0MzM2MCwxNDMzNTcsMTQyMzAzLDE0MzM1MywyODIxNTksMTcyODU5LDE0MzM1NCwxNDQ0NzksMTQzMzU1LDMxNDAyLDE4MTU5MCwxMzM2MjQsMTQ2NDc3LAoxMzM2MjMsMTMzNjIyLDEzMzYyMSwxOTI0MTgsODQ3NzQsMzA0Nzc2LDE5Nzk5MywyNDE0NjAsMTYwODAxLDE5Nzk5NSw5NTExNywxNzI3MjEsMTUwNDk3LDk4OTMwLDk4OTMxLDk4OTMyLDMzODU3MCwzMzg0NzQsMzM4NDc4LDMzODQ3MywxNTMzMjAsMTUzMzIxLDQzMzQ3LDMwNTI2OCwyNDkyOTUsMjEwMDE2LDIxMDAxNywyNjI2ODYsMjExODUxLDIxMTg1MiwzMDcyMTksMjExODUzLDMyNzgxMCwxMjk4ODksMTk3ODg4LDE5Nzg4OSwxNDkxMjMsMjIxOTU5LDIyMTYyNywyMjE5NTgsNDU0NzQsMTAwMzUyLDk4NDQzLDExNzk4NSwzMzM3MDgsNzQ2MTMsMTU1OTExLDc0NjE0LDY0NTAyLDEzNjAzMiw3NDYxNSw3NDYxNiwxMjIyMjQsNzQ2MTcsNzc4MjAsNzQ2MTgsMjYyOTg4LDI2Mjk4OSwyMjY5ODEsOTMyNzgsOTMyNzQsOTMyNzUsOTMyNzYsMjAwNjg4LDIwMDY4NiwyMDA2ODcsMTk5ODQxLDIyMTEwLDI5NDMzLDEzMzc5OCwxMzIyOTUsMjgxMzMyLDEyMDU0MSwyMjIxMTIsODIwNDcsCjExMzU1MCw3NTgzNiw3NTgzNywzMDM4ODIsMTkyNDA5LDIwMzIyMSw0MjM1Miw4NDUxMiw3NjA2NSw3NTk4OSwyMDU5MTEsMjA1OTEyLDI1MjY0OSwyMDU5MTMsMjUyNjUwLDI1MjY1MSw1MTg3OSwxNjYyMywzMjU5NCwyNzI0MCwzMzgxMDksMjkzMzI0LDMyNjMzLDc0ODU4LDMwNDE1MCwyOTcwNDUsMjc1MTk4LDI3MTg4NCwyMjI5MzIsMjc5MTE5LDMxMjU4MSwyNzE4ODYsMjEzOTE1LDI3NTE5OSwzMTA3NDgsMjI1MjE2LDI1MTI0NCwyNTgyNTEsMjE4Njc0LDI1MTI2NiwyNTgyNTAsMjUxMjY1LDMwMTY2MiwyNTEyNDUsMjcxODg1LDMxNTgxOCwxNTY5OTksMzk0NSwxNjk4OSw0NTUyMCwyNTQ4OCwyNTQ5MiwyNTQ5NCwyMzIxMTMsNTU3NjAsMTQwNTcsMTg0NTEsNTcyMDQsNTcyMDMsMTc4OTcsMTgxOTgsMTc4OTgsMTc5MDksNDM5ODAsMjIxMDUzLDE5NTUyOSwxODk2NjAsMzA4MDg4LDMwNjQ0OCwzMDY0NDcsMzA4MDg3LDMwODA4Niw0NjIyMCwxMTcyMSwxNDc5OTQsNDk5NTQsOTYzNjksCjM4NTQsMjE3NjQwLDE1MTYzMyw1NjI1MSwyMDUxOTIsMjE2Nzk3LDE1OTEwOCwxODE1NjgsMjM0Nzg5LDI1NjI0LDE1MjAzNiwxNjkwNiw5OTk5OSw2ODE3Miw0Nzk3Myw3Mjc3MywyNjk3MCwyNjk3MSw5NjgwNSwxNzc1MiwyODIxODEsMjc4OTI2LDczMjMzLDIwNTkyMywxMDk1MTIsMjIyNTYsMTQxMTUsMjI2OTYsMjM0NDA5LDIzNDQwOCw4OTI3OCw4OTI3NywxOTU3NDUsMTA5NTEzLDQzMjc4LDQzNDU5LDQzNDY0LDg5Mjc5LDQzNzE3LDU1NzY0LDIyMjU1LDE0NzkxMiw4OTI4MSw0MDk2Myw0MzI3Nyw0MzQ0Miw5MTgyNCwyODM4OTgsMTIwMTM3LDE4NjM1MCwxODYzNTEsMjU2NjkwLDI2NDM0OSwyNjQzNTEsMjY0MzUwLDI2NDM1MiwyMTEwMjYsMjUwODk2LDk2MzY3LDM2ODUwLDcyNjk0LDM3NDE0LDM2ODUxLDEyNDg2MywxMjEzNDMsNzM0OTEsNTQ0NzMsMTY2ODYxLDQzMzc1LDQ2Njc0LDMwMjYzMSwzMzE0NzMsMjQyNTI4LDE0MzgxNSwxMzkwOTUsMTQ0NDAyLDE0OTk2OCwxNDk5NjksCjMyNDczLDcyOTAxLDcyOTA2LDUwNjEyLDUwNjEzLDUwOTQyLDg0OTM4LDg0OTQzLDg0OTM5LDg0OTQxLDg0OTQ0LDg0OTQwLDg0OTQyLDM1NTg1LDUxOTI2LDc5OTgzLDE4OTIxLDU3ODkzLDQxMTgyLDEzNTczMiwzMzQyNCwyMjIwNywzNjIyOSwyMjIwNiwyMjIwNSw0NDc2MywzMzQyNyw2Nzc5MywyMjE4MiwzNzA5MSwzNDY1MCw1MDYxNywyMjI4NywyNTE0NCw5NzkxNywyMjAxMjIsNjIzOTcsMTUwODcxLDE1MDg3NCwxMjU1OTgsMTM3OTM1LDM2OTYxLDEwODAzNSwzMjM0OTMsMjc0MjYsMjc4NTcsMjc4NDYsMjc4NTQsNjk2OTIsNjE0MTEsMzkyOTksMzg2OTYsNjI1MjAsMzYzODIsMTA4NzAxLDE5MjY4MiwyNzk1MzEsNTA2NjMsMzYzODcsMTQ5MDgsMzc1MzMsMTA1NDQzLDYxNjM1LDYyMjc0LDE2MTY3MCwxMzM4MTgsMTgyMTE5LDY1NzAyLDY1NzAzLDY1NzAxLDMyMDQ2NCw3NjI1NiwyOTgxNTcsMjYzODQzLDMxNTIzNCwxOTYwNzUsMTk0NzY4LDI1MjIwMSwxOTQ3NjksMTkxODg1LAoyODE0ODAsMjMzNjM0LDI2NTgxMCwxOTQ3NzAsMjk2OTMzLDE5NTM1MCwzMjczODUsMzI0NTg2LDMwMTYwNywxOTUzNDksMTk0NzcxLDI5MzA0MSwzMDExMjEsMjkzMDQyLDI5MzA0MywzMDExMTYsMTY2MzgyLDM3NjcxLDQ5OTUzLDIyMDY2OSw2MDAwMDEsNjAwMDAyLDZFNSwzMzUxMzQsMjQ5MjI5LDIxMzc3NCwyMDQ1NzIsMTkxMzg5LDI3MjI1NCwyNzIyNTMsMjUzODMwLDI1MzgzMSwyNTM4MzIsMjcyMjUyLDI1MzgzMywyNTM4MzQsMjA0NTc0LDE5MTM5MCwxNzk1NTYsMjM4NTk2LDIxMjY2MSwxOTEzOTIsMTk3ODI2LDE5MTM5MywyMDQ1NzMsMzYyMTYsMjgyMzcsMjQxMjEyLDI3MjA0OSwxNzM3MTgsMzk1NTMsMTkyNTQ3LDI5MjIyLDMwNDg0NSwyNjEwNywyNDEyMTEsMzgwNTAsMjYxMDgsMjc1ODEwLDEyMDc0NSwyNjEwOSwyNjExMCw2Njg4MSwyODIzNiwxNDU4NiwyOTc2NzIsMTYwNTk4LDU3OTI5LDIyNjczNiw3NDcyMyw0NDA5OCwxNzM2ODksNDQwOTksMjM1MjgsNjE2OTksCjEzNDEwNCwxMzQxMDMsMTk4MzEzLDU5MTQ5LDE4MTAxMywyNzgzMDYsMjgyNDcyLDI3Nzg0OCwxNzMxOTEsMTczMTkyLDE3MzE5MywxMDE5NTEsMTcxNTAyLDE5NjA0MywxOTgzMDUsOTczNDYsMTE4MDUxLDk1MTAyLDY0ODgyLDExOTUwNSw2MzU5NSwyOTQxMTksMjU3MjY4LDYzMzQ5LDI4MTEyNywyNDA1NTMsOTUxMDEsNzUyNDAsMjcwMzksNjg4MjMsMjE1MzcsODM0NjQsNzU3MDcsMjUyOTA0LDE3MDIxNSwyMjMwMzMsODMxMTMsMTAxOTUyLDEwMTk1Myw3OTYxMCwxMjU3NTUsMjQ0MDIsMjQ0MDAsMzI5MjUsMTkzNDA2LDU3MTczLDE4MzM1MSwxNTY0MjEsMTIyNTAyLDE0NTI2OCwxMzg0ODAsNjQ0MjMsNjQ0MjQsMzM5ODYsMTAwODI4LDEyOTA4OSwyOTk1NDEsMjE0MDksMjgyMjE4LDI5OTUwNiwzMzM5NTYsMjk5NTQwLDI5OTUwNywyOTk1MDksMjk5NTM5LDI5OTUwOCwyOTk1MTAsMTg1NjEyLDIyMjgyNSwzMjMzMzEsMjQ1MzY2LDEzNTE1NSwxMzUxNTYsMTM1MTU3LDEzNTE1OCwKMTU4MjI1LDEzNTE1OSwxMzUxNjAsMTY3NjUxLDEzNTE2MSwxMzUxNjIsMTM1MTYzLDE1ODIyNiwxNTgyMjcsMTM1MTY0LDEzNTE2NSwxMzUxNjYsMTEwNzAsMTEwNzQsMTc4ODAsMjcwNTYwLDMwNzA5LDMwNzA3LDMwNzExLDMwNzEwLDMwNzA4LDE4NTIxMywxODUyNzMsMTQ2MTQzLDYzNjQ4LDYzNjQ5LDIyMTA1NiwyNjQ0OTAsMjExMTg5LDExMTA1OSwyMTExODgsNTc1NCwyNjQ0OTEsMjA0NDUsMjMzNDcxLDE1MTMwOCwzMTM3NTAsMTUxMTUyLDIyODA2NywxMzA5NzUsMTMwOTc2LDI0NzI0NCwyNzE2MjIsMjcxODEzLDI2MTIxMCwyMTA4MTUsMjk1MDY5LDI0NjEyNywzMTY4NTgsMjQ1MjU2LDI0NDk1MCwxOTE5MjUsMTY3NjM3LDIzNDU0NSwxOTcxOTYsMzAyNzM1LDIxNDI5NSwxMTAzODYsMjIxMDU0LDI3Mzk2MCwyODIxMTEsMzEyMjkwLDExMzc0NiwzMjU1OTMsMjY4ODg2LDY2NTU3LDE4MzIxNSwxNzMxMCwyODYzMSwyMDE5MzUsMjE1ODksMjQyMDM2LDIzODM1MSwxNjQ4MTcsCjE2ODAxMSwxNTQ5NDYsNjgwMTIsMTYyNjE3LDYwNDgwLDE4NDQzMSwxMzg2NjQsMjk0MDg5LDI0OTgyNywxOTRFMywxNDExMjEsMTY0NTAyLDMxNTcxLDE5NTAwMiwyMDY3OTMsMTQxOTc4LDIzMzk4NSwyNTA4OTUsMjU0MDUyLDI1NDA1MywyNTQwNTQsMjU0MDUxLDI1NDA1MCwyNTQwNTUsMTUwMTA1LDMwNDE2OSwxNTAxMDYsMTUwMTA3LDE1MDEwOCw3Njk4MCw0MTU3Nyw0NTQ2OSwzODY2OSwxMzc2OCwxMzc3NywxNDE4NDIsNjI5ODUsMjEzMTkwLDQ3MjQsMjIzMDUyLDU5MzY5LDQzOTI3LDQzOTI4LDEyOTI0LDE5Nzg1MywxMDAzNTUsNTYyMTksMjc2NjksMjA5OTI4LDEwMzM3LDIwMzY0OCwyMDM2NDksNDc4OTYsMzI2OTM3LDEyMjYyOSwxODYyMDQsMjIyODI0LDI3NTg2OSwzMTIyOTUsMjcxNjczLDI3NDYzNywzMTc0NjIsMTM5NzIzLDEzOTcyMiwxMjEyNTgsMjUzNzg5LDI1Mzc4NywyNTM3ODYsMjUzNzg4LDI1Mzc5MCwxMDc1OTgsMTI3OTkxLDk2NjM5LDEwNzUzNiwxMzAxNjksCjIxNjUyMiwyOTYzMTYsOTY2NjEsMTQ1MTg4LDMyMDQyOCwyMTM5MDQsMjY5MzQyLDk2NjU4LDExNjY0NiwxNTk0MjgsMTY4NjExLDE2ODYxMiwxMjExMjIsMjE5ODYyLDk2NjYwLDI4MjIwOCwxMjc3MzgsMTI3MDgzLDE1NTI4MSwxNjI5NTksMjIwODg2LDIyNzM1NiwyNDgwMDcsMTYzNTY2LDMwNzY0NiwxODY2NDEsMTQ3ODQyLDI3MzY0NiwyNzM2NDcsMjE3OTMyLDEwNDQ0Myw5NjY1OSwxNDc1OTUsMTA2NDQyLDI0NzE2MiwyMzE0OTMsMjEzNDI3LDI5NjgxMywyNDY1NzUsMTgyNDIzLDE2Mjc3NiwyMjg5MDgsMTM0ODQwLDYzNjY3LDYzNjY4LDYzNjY5LDEzMDY4NiwzMzcxNzIsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBOTz1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0RW5hYmxlU3NFbmdpbmUoKXtyZXR1cm4gR08odGhpcywyKX1nZXRFbmFibGVBd3IoKXtyZXR1cm4gR08odGhpcywzKX1nZXRBbG9oYUF1dG9HYVJvbGxvdXQoKXtyZXR1cm4gR08odGhpcyw1KX1nZXRFbmFibGVDb25maWd1cmF0b3IoKXtyZXR1cm4gR08odGhpcyw2KX1nZXRFbmFibGVNd2ViKCl7cmV0dXJuIEdPKHRoaXMsNyl9Z2V0RW5hYmxlQ3RsQ29uc2VudENoZWNrYm94KCl7cmV0dXJuIEdPKHRoaXMsOCl9Z2V0RW5hYmxlSWZyYW1lKCl7cmV0dXJuIEdPKHRoaXMsOSl9Z2V0RW5hYmxlU2NyZWVuc2hvdE51ZGdlKCl7cmV0dXJuIEdPKHRoaXMsMTApfWdldEVuYWJsZVdlYlN0YXJ0dXBDb25maWdFbmRwb2ludCgpe3JldHVybiBHTyh0aGlzLDExKX1nZXRFbmFibGVKdW5rTnVkZ2UoKXtyZXR1cm4gR08odGhpcywxMil9Z2V0RW5hYmxlQ29uZmlndXJhdG9yTG9jYWxlKCl7cmV0dXJuIEdPKHRoaXMsCjEzKX1nZXRFbmFibGVUaW55Tm9Qb2ludGVyKCl7cmV0dXJuIEdPKHRoaXMsMTQpfWdldEVuYWJsZVN1cHBvcnRTZXNzaW9uTG9nZ2luZygpe3JldHVybiBHTyh0aGlzLDE1KX1nZXRFbmFibGVGaWxlVXBsb2FkRm9yU2NyZWVuc2hvdCgpe3JldHVybiBHTyh0aGlzLDE2KX1nZXRFbmFibGVEaXJlY3REZWZsZWN0aW9uRm9yU2luZ2xlQ2F0ZWdvcnkoKXtyZXR1cm4gR08odGhpcywxNyl9Z2V0RW5hYmxlSW1hZ2VTYW5pdGl6YXRpb24oKXtyZXR1cm4gR08odGhpcywxOCl9Z2V0RW5hYmxlQWxvaGFCaW5hcnlTcGxpdCgpe3JldHVybiBHTyh0aGlzLDE5KX1nZXRFbmFibGVEYkZlZWRiYWNrSW50ZW50cygpe3JldHVybiBHTyh0aGlzLDIwKX1nZXRFbmFibGVNYXJrTWFuZGF0b3J5RmllbGRzV2l0aFJlcXVpcmVkKCl7cmV0dXJuIEdPKHRoaXMsMjEpfWdldEVuYWJsZUZlZWRiYWNrQ2F0ZWdvcnlDdXN0b21VaSgpe3JldHVybiBHTyh0aGlzLDIyKX1nZXRFbmFibGVSZWFsdGltZUN0bCgpe3JldHVybiBHTyh0aGlzLAoyMyl9Z2V0RW5hYmxlQWxvaGFIZWFkbGVzcygpe3JldHVybiBHTyh0aGlzLDI0KX1nZXRVcGRhdGVGZWVkYmFja0NvbmZpcm1hdGlvbkNsYXJpdHkoKXtyZXR1cm4gR08odGhpcywyNSl9Z2V0RW5hYmxlVmlld0ZlZWRiYWNrUmVwb3J0c0xpbmsoKXtyZXR1cm4gR08odGhpcywyNil9fTt2YXIgVk89Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXYoKXtyZXR1cm4gXy5OeCh0aGlzLE5PLDEpfX07dmFyICRoYT1bL2h0dHBzOlwvXC9zYW5kYm94XC5nb29nbGVcLmNvbVwvdG9vbHNcL2ZlZWRiYWNrLywvaHR0cHM6XC9cL2ZlZWRiYWNrLWZyb250ZW5kLXF1YWxbYS16MC05Ll0qXC5nb29nbGVcLmNvbVwvaW5hcHAvLC9odHRwczpcL1wvZmVlZGJhY2stZnJvbnRlbmQtcXVhbFthLXowLTkuXSpcLmdvb2dsZVwuY29tXC90b29sc1wvZmVlZGJhY2svLC9odHRwczpcL1wvLipcLmdvb2dsZXVzZXJjb250ZW50XC5jb21cL2luYXBwL107dmFyIE9PPSJhZiBhbSBhci1FRyBhci1KTyBhci1NQSBhci1TQSBhci1YQiBhciBheiBiZSBiZyBibiBicyBjYSBjcyBjeSBkYSBkZS1BVCBkZS1DSCBkZSBlbCBlbiBlbi1HQiBlbi1BVSBlbi1DQSBlbi1JRSBlbi1JTiBlbi1OWiBlbi1TRyBlbi1YQSBlbi1YQyBlbi1aQSBlcyBlcy00MTkgZXMtQVIgZXMtQk8gZXMtQ0wgZXMtQ08gZXMtQ1IgZXMtRE8gZXMtRUMgZXMtR1QgZXMtSE4gZXMtTVggZXMtTkkgZXMtUEEgZXMtUEUgZXMtUFIgZXMtUFkgZXMtU1YgZXMtVVMgZXMtVVkgZXMtVkUgZXQgZXUgZmEgZmkgZmlsIGZyLUNBIGZyLUNIIGZyIGdsIGdzdyBndSBoZSBoaSBociBodSBoeSBpZCBpbiBpcyBpdCBpdyBqYSBrYSBrayBrbSBrbiBrbyBreSBsbiBsbyBsdCBsdiBtayBtbCBtbiBtbyBtciBtcyBteSBuYiBuZSBubCBubyBwYSBwbCBwdCBwdC1CUiBwdC1QVCBybyBydSBzaSBzayBzbCBzcSBzci1MYXRuIHNyIHN2IHN3IHRhIHRlIHRoIHRsIHRyIHVrIHVyIHV6IHZpIHpoIHpoLUNOIHpoLUhLIHpoLVRXIHp1Ii5zcGxpdCgiICIpO3ZhciBVTz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIkZvcm0gaXMgZWl0aGVyIGxvYWRpbmcgb3IgYWxyZWFkeSBvcGVuZWQiKTt0aGlzLm5hbWU9IkR1cGxpY2F0ZUZvcm1FcnJvciJ9fSxRTyxTTyxSTyxUTztfLnJhKCJ1c2VyZmVlZGJhY2suQ29sb3JTY2hlbWVzIix7aUY6MSxHQzoyfSk7Xy5yYSgidXNlcmZlZWRiYWNrLmFwaS5zdGFydEZlZWRiYWNrIixfLllPKTtfLnFpYT1uZXcgXy5JKCJuYXRpdmVBcHBEZWVwbGlua0VuZHBvaW50Iik7Xy5yaWE9TWF0aC5yYW5kb20oKTt2YXIgc2lhPW5ldyBfLlZzKCJTVEFUSUNfQVBQX1BST1BTX1RPS0VOIik7Xy52UD1uZXcgXy5WcygiVE9BU1RfT1BUSU9OUyIpO3ZhciBvUD1fLnNqKCJtd2ViX2MzX3RvYXN0X2R1cmF0aW9uX21zIiw1RTMpLGJQLGNQPW51bGwsW3dQLGdQXT1fLkooIm91dCIsdm9pZCAwLCJXY1pjZWUiKSxbbGlhLGZQXT1fLkoodm9pZCAwLHZvaWQgMCwiWFZ5eHhmIiksaVA9W10sbVAsZFA9Xy5MKGE9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy52UCkpO3JldHVybiBfLksoImMzLXRvYXN0Iix7ZGlyOndQLHJvbGU6KCk9PndQKCk9PT0iaW4iPyJhbGVydCI6IiIsY2xhc3M6Xy5QKHsiaHVnLXRvYXN0IjohIWI/LlZ1LCJpbnZlcnNlLXRoZW1lIjohIWI/LkN4fSl9LGEuY2hpbGRyZW4pfSwic2IiKTtkUC5pZG9tQ29tcGF0PSEwO18udGlhPV8udXgoMzA3OTUzKTsoe01nOl8udWlhLGdrOl8ueFB9PV8uekcoYT0+YS5jaGFubmVsSWQpKTsoe01nOl8udmlhLGdrOl8ud2lhfT1fLnpHKGE9Pl8uQihhLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyPy5kZWZhdWx0U2VydmljZUVuZHBvaW50LF8uQnkpPy5wYXJhbXMpKTtfLnlQPW5ldyBfLlZzKCJMQVlFUl9UT0tFTiIpO18uelA9Xy5MKCh7VW86YSxzdGF5T3Blbk9uQ2xpY2s6Yixpc1BlcnNpc3RlbnQ6YyxjaGlsZHJlbjpkfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKHsiZGlhbG9nLWZsZXgtYnV0dG9uIjooKT0+YT8uKCkhPT0xfSksIm9uOmNsaWNrIjpmdW5jdGlvbigpe2I/LigpfHxjPy4oKXx8Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfSx0YWJpbmRleDooKT0+KGI/LigpfHxjPy4oKSx2b2lkIDApfSxkKSwidWIiKTtfLnpQLmlkb21Db21wYXQ9ITA7Xy5BUD1fLkwoKHtjaGlsZHJlbjphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oc2lhKSk/LlVJO3JldHVybiBfLksoImRpdiIseyJhcmlhLWxpdmUiOiJwb2xpdGUiLHRhYmluZGV4OmI/MDp2b2lkIDB9LGEpfSwidmIiKTtfLkFQLmlkb21Db21wYXQ9ITA7Xy54aWE9Xy5zaigibXdlYl9pb3NfZnVsbHNjcmVlbl9wbGF5YmFja190cmFuc2l0aW9uX2RlbGF5X21zIil8fDUwMDtfLnlpYT1fLnNqKCJtd2ViX2lvc19mdWxsc2NyZWVuX3N5c3RlbV9wYXVzZV9lcGlsc29uX21zIil8fDM1MDt2YXIgb2lhPV8uJE4uWHMscGlhPV8uJE4ua3Q7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYVE9ZnVuY3Rpb24oYSxiKXtyZXR1cm57b3BlblBvcHVwQWN0aW9uOntwb3B1cFR5cGU6IlRPQVNUIixwb3B1cDp7bm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXI6e3Jlc3BvbnNlVGV4dDphfX0sLi4uKGIhPT12b2lkIDA/e2R1cmF0aW9uSGludE1zOmJ9Ont9KX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy53bmE9bmV3IF8uSSgiZW50aXR5VXBkYXRlQ29tbWFuZCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk5XPW5ldyBfLkkoInNob3dTaGVldENvbW1hbmQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy54bmE9bmV3IF8uSSgibGlzdFZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk9XPW5ldyBfLlZzKCJTQ1JFRU5fTUFOQUdFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeW5hO18uUFc9ZnVuY3Rpb24oYSl7cmV0dXJuIHluYVthXT8/IkVWRU5UX1NQQU5fVFlQRV9VTktOT1dOIn07CnluYT17Y2xpY2s6IkVWRU5UX1NQQU5fVFlQRV9DTElDSyIsZGJsY2xpY2s6IkVWRU5UX1NQQU5fVFlQRV9EQkxDTElDSyIsbW91c2Vkb3duOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VET1dOIixtb3VzZXVwOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VVUCIsbW91c2VvdmVyOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VPVkVSIixtb3VzZW91dDoiRVZFTlRfU1BBTl9UWVBFX01PVVNFT1VUIixtb3VzZWVudGVyOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VFTlRFUiIsbW91c2VsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX01PVVNFTEVBVkUiLG1vdXNlbW92ZToiRVZFTlRfU1BBTl9UWVBFX01PVVNFTU9WRSIsY29udGV4dG1lbnU6IkVWRU5UX1NQQU5fVFlQRV9DT05URVhUTUVOVSIsa2V5ZG93bjoiRVZFTlRfU1BBTl9UWVBFX0tFWURPV04iLGtleXVwOiJFVkVOVF9TUEFOX1RZUEVfS0VZVVAiLGtleXByZXNzOiJFVkVOVF9TUEFOX1RZUEVfS0VZUFJFU1MiLHRvdWNoc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSFNUQVJUIiwKdG91Y2hlbmQ6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSEVORCIsdG91Y2htb3ZlOiJFVkVOVF9TUEFOX1RZUEVfVE9VQ0hNT1ZFIix0b3VjaGNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIQ0FOQ0VMIixwb2ludGVyZG93bjoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJET1dOIixwb2ludGVydXA6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSVVAiLHBvaW50ZXJtb3ZlOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUk1PVkUiLHBvaW50ZXJvdmVyOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUk9WRVIiLHBvaW50ZXJvdXQ6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVST1VUIixwb2ludGVyZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSRU5URVIiLHBvaW50ZXJsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJMRUFWRSIscG9pbnRlcmNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJDQU5DRUwiLGdvdHBvaW50ZXJjYXB0dXJlOiJFVkVOVF9TUEFOX1RZUEVfR09UUE9JTlRFUkNBUFRVUkUiLApsb3N0cG9pbnRlcmNhcHR1cmU6IkVWRU5UX1NQQU5fVFlQRV9MT1NUUE9JTlRFUkNBUFRVUkUiLHN1Ym1pdDoiRVZFTlRfU1BBTl9UWVBFX1NVQk1JVCIsY2hhbmdlOiJFVkVOVF9TUEFOX1RZUEVfQ0hBTkdFIixpbnB1dDoiRVZFTlRfU1BBTl9UWVBFX0lOUFVUIixmb2N1czoiRVZFTlRfU1BBTl9UWVBFX0ZPQ1VTIixibHVyOiJFVkVOVF9TUEFOX1RZUEVfQkxVUiIscmVzZXQ6IkVWRU5UX1NQQU5fVFlQRV9SRVNFVCIsc2VsZWN0OiJFVkVOVF9TUEFOX1RZUEVfU0VMRUNUIixpbnZhbGlkOiJFVkVOVF9TUEFOX1RZUEVfSU5WQUxJRCIsbG9hZDoiRVZFTlRfU1BBTl9UWVBFX0xPQUQiLHVubG9hZDoiRVZFTlRfU1BBTl9UWVBFX1VOTE9BRCIsYmVmb3JldW5sb2FkOiJFVkVOVF9TUEFOX1RZUEVfQkVGT1JFVU5MT0FEIixkb21jb250ZW50bG9hZGVkOiJFVkVOVF9TUEFOX1RZUEVfRE9NQ09OVEVOVExPQURFRCIscmVzaXplOiJFVkVOVF9TUEFOX1RZUEVfUkVTSVpFIixzY3JvbGw6IkVWRU5UX1NQQU5fVFlQRV9TQ1JPTEwiLApwYWdlc2hvdzoiRVZFTlRfU1BBTl9UWVBFX1BBR0VTSE9XIixwYWdlaGlkZToiRVZFTlRfU1BBTl9UWVBFX1BBR0VISURFIixwbGF5OiJFVkVOVF9TUEFOX1RZUEVfUExBWSIscGF1c2U6IkVWRU5UX1NQQU5fVFlQRV9QQVVTRSIscGxheWluZzoiRVZFTlRfU1BBTl9UWVBFX1BMQVlJTkciLHdhaXRpbmc6IkVWRU5UX1NQQU5fVFlQRV9XQUlUSU5HIixzZWVraW5nOiJFVkVOVF9TUEFOX1RZUEVfU0VFS0lORyIsc2Vla2VkOiJFVkVOVF9TUEFOX1RZUEVfU0VFS0VEIixlbmRlZDoiRVZFTlRfU1BBTl9UWVBFX0VOREVEIix2b2x1bWVjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9WT0xVTUVDSEFOR0UiLHRpbWV1cGRhdGU6IkVWRU5UX1NQQU5fVFlQRV9USU1FVVBEQVRFIixyYXRlY2hhbmdlOiJFVkVOVF9TUEFOX1RZUEVfUkFURUNIQU5HRSIsZHJhZ3N0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfRFJBR1NUQVJUIixkcmFnOiJFVkVOVF9TUEFOX1RZUEVfRFJBRyIsZHJhZ2VuZDoiRVZFTlRfU1BBTl9UWVBFX0RSQUdFTkQiLApkcmFnZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9EUkFHRU5URVIiLGRyYWdsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX0RSQUdMRUFWRSIsZHJhZ292ZXI6IkVWRU5UX1NQQU5fVFlQRV9EUkFHT1ZFUiIsZHJvcDoiRVZFTlRfU1BBTl9UWVBFX0RST1AiLGFuaW1hdGlvbnN0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9OU1RBUlQiLGFuaW1hdGlvbmVuZDoiRVZFTlRfU1BBTl9UWVBFX0FOSU1BVElPTkVORCIsYW5pbWF0aW9uaXRlcmF0aW9uOiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9OSVRFUkFUSU9OIix0cmFuc2l0aW9ucnVuOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTlJVTiIsdHJhbnNpdGlvbnN0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTlNUQVJUIix0cmFuc2l0aW9uZW5kOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTkVORCIsdHJhbnNpdGlvbmNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1RSQU5TSVRJT05DQU5DRUwifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RVz1uZXcgXy5JKCJzaG93RW5nYWdlbWVudFBhbmVsRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCk1hdGgudXVpZC5qcyAodjEuNCkKaHR0cDovL3d3dy5icm9vZmEuY29tCm1haWx0bzpyb2JlcnRAYnJvb2ZhLmNvbQpDb3B5cmlnaHQgKGMpIDIwMTAgUm9iZXJ0IEtpZWZmZXIKRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiovCnZhciB6bmEsUlcsQW5hLEJuYSxDbmEsRG5hLEVuYSxUVyxGbmEsVVcsR25hLEhuYSxWVyxJbmEsSm5hLFhXLFlXLFpXLCRXLExuYSxNbmEsYlgsaFgsTm5hLE9uYSxQbmEsalgsa1gsUm5hLG1YLFNuYSxvWCxwWCxVbmEsVm5hLG5YLFduYSxUbmEsbFgscVgsWW5hLGFvYSxib2EsY29hLGRvYSxlb2Esc1gsZm9hLGdvYSx0WCxob2EsdVgsdlgsaW9hLGtvYSx4WCxsb2EseVgsbm9hLG9vYSxwb2EscW9hLEJYLHJvYSxzb2EsQ1gsdG9hLHVvYSx2b2Esd29hLHhvYSx5b2Esem9hLEFvYSxCb2EsQ29hLEhYLElYLEZvYSxtb2EsS1gsSG9hLEpYLElvYSxKb2EsS29hLE1YLExvYSxOWCxNb2EsTm9hLE9vYSxQb2EsUW9hLFJvYSxTb2EsT1gsVG9hLFBYLFFYLFZvYSxVb2EsV29hLFhvYSxZb2EsWm9hLCRvYSxWWCxVWCxXWCwkWCxYWCxZWCxaWCxhWSxhcGEsYnBhLGNwYSxiWSxlWSxkWSxkcGEsZlksZXBhLGZwYSxncGEsaHBhLGdZLGpwYSxpcGEsbHBhLHBwYSxqWSxxcGEsa1ksbFksblksbVksCmlZLHJwYSxzcGEsdXBhLHBZLHdwYSxvWSxyWSxzWSx0WSx1WSx6cGEsQXBhLHdZLHhZLHlZLEFZLENwYSxCWSxEcGEsRFksRXBhLEZZLEhZLEZwYSxJWSxKWSxIcGEsS1ksTVksSXBhLEpwYSxMcGEsTXBhLE5wYSxQcGEsUnBhLFRwYSxVcGEsTlksV3BhLFZwYSxQWSxTWSxPWSxSWSxacGEsWXBhLGJxYSxkcWEsZXFhLGZxYSxncWEsV1ksaHFhLGlxYSxqcWEsa3FhLGxxYSxtcWEsY3FhLFZZLHRxYSxucWEselgsdXFhLFdXLERvYSxjWixLbmEseHFhLGRaLGVaLHlxYSx6cWEsQXFhLEJxYSxDcWEsRHFhLGFYLGZaLGdYLGNYLGRYLGVYLGZYLEVxYSxnWixoWixGcWEsaVosR3FhLEhxYSxpWCxqWixJcWEsUW5hLFhuYSxKcWEsWm5hLCRuYSxyWCxMcWEsam9hLFhZLGtaLE1xYSxxWSxBWDt6bmE9ZnVuY3Rpb24oYSxiKXtiPSgwLF8ueWcpKGIpO2I9Xy5FZihiLGIpO2Iudj0hMDtfLkpmKGEsYik7cmV0dXJuIGF9OwpSVz1mdW5jdGlvbihhLGIpe2E9YS53YXRjaEVuZHBvaW50U3VwcG9ydGVkQXV0aG9yaXphdGlvblRva2VuQ29uZmlnPy52aWRlb0F1dGhvcml6YXRpb25Ub2tlbj8uY3JlZGVudGlhbFRyYW5zZmVyVG9rZW5zfHxbXTtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYylpZihhW2NdLnNjb3BlPT09YilyZXR1cm4gYVtjXS50b2tlbnx8dm9pZCAwfTsKQW5hPWZ1bmN0aW9uKGEsYixjPXt9KXtfLlZpKCgpPT57dmFyIGQ9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucm9vdFZlfHxfLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8ubngpPy5zY3JlZW5WaXN1YWxFbGVtZW50Py51aVR5cGU7aWYoZCl7dmFyIGU9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLmVhYSk7aWYoZT8ucGFyZW50VHJhY2tpbmdQYXJhbXMpe3ZhciBmPV8uVXcoZS5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoZS5wYXJlbnRDc24pdmFyIGg9ZS5wYXJlbnRDc259ZWxzZSBjLmNsaWNrZWRWaXN1YWxFbGVtZW50P2Y9Yy5jbGlja2VkVmlzdWFsRWxlbWVudDpiLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihmPV8uVXcoYi5jbGlja1RyYWNraW5nUGFyYW1zKSk7YTp7ZT1fLkIoYixfLkF3KTt2YXIgaz1fLkIoYixfLmRhYSk7aWYoZSl7aWYoaz1SVyhlLCJWSURFTyIpKXtlPXt0b2tlbjprLHZpZGVvSWQ6ZS52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGsmJihlPVJXKGssCiJQTEFZTElTVCIpKSl7ZT17dG9rZW46ZSxwbGF5bGlzdElkOmsucGxheWxpc3RJZH07YnJlYWsgYX1lPXZvaWQgMH1jPXtjdHRBdXRoSW5mbzplLHBhcmVudENzbjpoLC4uLmN9O18ueCgiZXhwZWN0YXRpb25fbG9nZ2luZyIpJiYoYy5sb2dnaW5nRXhwZWN0YXRpb25zPV8uQihiPy5jb21tYW5kTWV0YWRhdGEsXy5ueCk/LmxvZ2dpbmdFeHBlY3RhdGlvbnN8fHZvaWQgMCk7Xy5ETyhhLGQsZixjKX1lbHNlIF8uSXAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gY3JlYXRlIGEgbmV3IHNjcmVlbiB3aXRob3V0IGEgcm9vdFZlVHlwZSIsYikpfSkoKX07Qm5hPWZ1bmN0aW9uKGEsYil7YT1gU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX0ZVTExTQ1JFRU5fUkVRVUVTVF9TTElfJHthfWA7Xy5FeS5yZWdpc3Rlci5oYXMoYSk/Yj1fLkV5LnJlZ2lzdGVyLmdldChhKTooYj1iKCksXy5FeS5yZWdpc3Rlci5zZXQoYSxiKSk7cmV0dXJuIGJ9O0NuYT1mdW5jdGlvbih7c2VydmljZUlkOmF9KXtyZXR1cm4gYS5vfTsKRG5hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5HeSxiPVtTV10sYz1iLm1hcChsPT5DbmEobCkpLGQ9Yi5tYXAobD0+YS5tYXBwaW5ncy5nZXQobC50b1N0cmluZygpKSkuZmlsdGVyKGw9PmwpO2lmKGQubGVuZ3RoPT09Yi5sZW5ndGgpcmV0dXJuIF8uS3koZC5tYXAoKGwsbSk9Pl8ubnkoYSxsLGJbbV0pKSk7dmFyIGU9Xy5WZCgpLmFmKGMpO2Q9Xy5JZihjLm1hcChsPT5lW2xdKSk7dmFyIGY9ZG9jdW1lbnQuaGlkZGVuLGg9LTEsaz1fLnNqKCJnZXRfYXN5bmNfdGltZW91dF9tcyIsLTEpO2s+LTEmJihoPXNldFRpbWVvdXQoKCk9PntfLklwKG5ldyBfLlhqKCJNb2R1bGUgdGltZW91dC4iLGMsZixkb2N1bWVudC5oaWRkZW4pKX0saykpO3JldHVybiB6bmEoZC50aGVuKCgpPT5iLm1hcChsPT5fLm55KGEsYS5tYXBwaW5ncy5nZXQobC50b1N0cmluZygpKSxsKSkpLktnKGw9Pntmb3IobGV0IG0gb2YgYS5qKW0obCk7dGhyb3cgbDt9KSwoKT0+e2NsZWFyVGltZW91dChoKX0pfTsKRW5hPWZ1bmN0aW9uKCl7cmV0dXJuIERuYSgpLnRoZW4oYT0+YVswXSl9O1RXPWZ1bmN0aW9uKGEsYil7YS5EZj1iO2ZvcihsZXQgYyBvZiBhLmRhdGEpYihjKTthLmRhdGE9W119O0ZuYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSxiKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIsYyl9O1VXPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgZD0wO2Q8YXJndW1lbnRzLmxlbmd0aDtkKyspe2xldCBlPWFyZ3VtZW50c1tkXTtpZihBcnJheS5pc0FycmF5KGUpKWZvcihsZXQgZj0wO2Y8ZS5sZW5ndGg7Zis9ODE5Mil7dmFyIGM9Rm5hKGUsZixmKzgxOTIpO2M9VVcuYXBwbHkobnVsbCxjKTtmb3IobGV0IGg9MDtoPGMubGVuZ3RoO2grKyliLnB1c2goY1toXSl9ZWxzZSBiLnB1c2goZSl9cmV0dXJuIGJ9OwpHbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkJmKGZ1bmN0aW9uKGIpe3ZhciBjPWEubGVuZ3RoLGQ9W107aWYoYyl7dmFyIGU9ZnVuY3Rpb24oaCxrLGwpe2MtLTtkW2hdPWs/e2Z1bGZpbGxlZDohMCx2YWx1ZTpsfTp7ZnVsZmlsbGVkOiExLHJlYXNvbjpsfTtjPT0wJiZiKGQpfTtmb3IobGV0IGg9MDtoPGEubGVuZ3RoO2grKyl7dmFyIGY9YVtoXTtfLkhmKGYsXy5EYShlLGgsITApLF8uRGEoZSxoLCExKSl9fWVsc2UgYihkKX0pfTtIbmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5NeigiTE9HR0VEX0lOIixmdW5jdGlvbihjKXthLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO18uTnooYil9KX07Vlc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oKT0+e3ZhciBjPV8ueSgpO2MucmVzb2x2ZShfLkluKGEpKXx8Xy5KeihjLHtqYTphLFBhOmEsW18uTG5dOmJ9KTtyZXR1cm4gYy5yZXNvbHZlKGEpfX07CkluYT1mdW5jdGlvbihhKXtpZihXVz09PXZvaWQgMCl0aHJvdyBFcnJvcigic2IiKTtpZihXVylmb3IobGV0IFtiLGNdb2YgV1cpYShiLGMpO18uTnYuYWRkKGEpO1dXPXZvaWQgMH07Sm5hPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJjYW5hcnkiOnJldHVybiJDTElFTlRfQ0FOQVJZX1NUQVRFX0NBTkFSWSI7Y2FzZSAiY29udHJvbCI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfQ09OVFJPTCI7Y2FzZSAibm9uZSI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfTk9ORSI7ZGVmYXVsdDpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9VTktOT1dOIn19O1hXPWZ1bmN0aW9uKGEsYj0iIil7dmFyIGM9W107Zm9yKGxldCBkIGluIGEpe2lmKCFhLmhhc093blByb3BlcnR5KGQpKWNvbnRpbnVlO2xldCBlPWIhPT0iIj9iKyIuIitkOmQ7dHlwZW9mIGFbZF09PT0ib2JqZWN0Ij9jLnB1c2goLi4uWFcoYVtkXSxlKSk6Yy5wdXNoKFtlLGFbZF1dKX1jLnNvcnQoKTtyZXR1cm4gY307CllXPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhLmV2ZW50cy52YWx1ZXMoKSliLnB1c2goYyk7cmV0dXJuIGJ9O1pXPWZ1bmN0aW9uKGEpe18uRnk9PW51bGwmJihfLkZ5PW5ldyBLbmEpO3ZhciBiPV8uRnk7dmFyIGM9Yi52O2EuZGltZW5zaW9ucz1hLmRpbWVuc2lvbnN8fHt9O2EuZGltZW5zaW9ucy5jc249Xy5pcSgpfHwiIjt2YXIgZD1YVyhhLmRpbWVuc2lvbnMpLmpvaW4oIjsiKTthLnJlY29yZHMhPW51bGwmJihjLmV2ZW50cy5oYXMoZCk/Yy5ldmVudHMuZ2V0KGQpLnJlY29yZHM/LnB1c2goLi4uYS5yZWNvcmRzKTpjLmV2ZW50cy5zZXQoZCxhKSk7Yi5qLmVuYWJsZWR8fGIuai5zdGFydCgpO2IubysrO2Iubz49MTAwJiZiLmZsdXNoKCl9OyRXPWZ1bmN0aW9uKGEpe2E9YS5rZXl8fGEuaWQ7aWYoIWEpdGhyb3cgRXJyb3IoImZjIik7cmV0dXJuIGF9OwpMbmE9ZnVuY3Rpb24oKXtpZihhWClyZXR1cm4gYVgoKTthWD1fLiRsKCJQZXJzaXN0ZW50RW50aXR5U3RvcmVEYiIse3NlOntFbnRpdHlTdG9yZTp7UGQ6MX0sRW50aXR5QXNzb2NpYXRpb25TdG9yZTp7UGQ6Mn19LHNoYXJlZDohMSx1cGdyYWRlKGEsYil7YigxKSYmXy5vbChfLmtsKGEsIkVudGl0eVN0b3JlIix7a2V5UGF0aDoia2V5In0pLCJlbnRpdHlUeXBlIiwiZW50aXR5VHlwZSIpO2IoMikmJihhPV8ua2woYSwiRW50aXR5QXNzb2NpYXRpb25TdG9yZSIse2tleVBhdGg6WyJwYXJlbnRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSJdfSksXy5vbChhLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLF8ub2woYSwiYnlDaGlsZEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5IikpfSx2ZXJzaW9uOjN9KTtyZXR1cm4gYVgoKX07TW5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKExuYSgpLGEpfTsKYlg9ZnVuY3Rpb24oYSl7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KGEpOkFycmF5KGEpfTsKaFg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5rZXksYz1hLmNvdW50ZXJbMF1eYlswXSxkPWEuY291bnRlclsxXV5iWzFdLGU9YS5jb3VudGVyWzJdXmJbMl0sZj1hLmNvdW50ZXJbM11eYlszXTtmb3IodmFyIGg9MztoPj0wJiYhKGEuY291bnRlcltoXT0tfmEuY291bnRlcltoXSk7aC0tKTtmb3IodmFyIGssbCxtPTQ7bTw0MDspaD1jWFtjPj4+MjRdXmRYW2Q+PjE2JjI1NV1eZVhbZT4+OCYyNTVdXmZYW2YmMjU1XV5iW20rK10saz1jWFtkPj4+MjRdXmRYW2U+PjE2JjI1NV1eZVhbZj4+OCYyNTVdXmZYW2MmMjU1XV5iW20rK10sbD1jWFtlPj4+MjRdXmRYW2Y+PjE2JjI1NV1eZVhbYz4+OCYyNTVdXmZYW2QmMjU1XV5iW20rK10sZj1jWFtmPj4+MjRdXmRYW2M+PjE2JjI1NV1eZVhbZD4+OCYyNTVdXmZYW2UmMjU1XV5iW20rK10sYz1oLGQ9ayxlPWw7YT1hLm87aD1iWzQwXTthWzBdPWdYW2M+Pj4yNF1eaD4+PjI0O2FbMV09Z1hbZD4+MTYmMjU1XV5oPj4xNiYyNTU7YVsyXT1nWFtlPj44JgoyNTVdXmg+PjgmMjU1O2FbM109Z1hbZiYyNTVdXmgmMjU1O2g9Yls0MV07YVs0XT1nWFtkPj4+MjRdXmg+Pj4yNDthWzVdPWdYW2U+PjE2JjI1NV1eaD4+MTYmMjU1O2FbNl09Z1hbZj4+OCYyNTVdXmg+PjgmMjU1O2FbN109Z1hbYyYyNTVdXmgmMjU1O2g9Yls0Ml07YVs4XT1nWFtlPj4+MjRdXmg+Pj4yNDthWzldPWdYW2Y+PjE2JjI1NV1eaD4+MTYmMjU1O2FbMTBdPWdYW2M+PjgmMjU1XV5oPj44JjI1NTthWzExXT1nWFtkJjI1NV1eaCYyNTU7aD1iWzQzXTthWzEyXT1nWFtmPj4+MjRdXmg+Pj4yNDthWzEzXT1nWFtjPj4xNiYyNTVdXmg+PjE2JjI1NTthWzE0XT1nWFtkPj44JjI1NV1eaD4+OCYyNTU7YVsxNV09Z1hbZSYyNTVdXmgmMjU1fTsKTm5hPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthLmp8fChhLmo9YXdhaXQgYS5vLmltcG9ydEtleSgicmF3IixhLnYse25hbWU6IkFFUy1DVFIifSwhMSxbImVuY3J5cHQiXSkpO2E9YXdhaXQgYS5vLmVuY3J5cHQoe25hbWU6IkFFUy1DVFIiLGNvdW50ZXI6YyxsZW5ndGg6MTI4fSxhLmosYik7cmV0dXJuIG5ldyBVaW50OEFycmF5KGEpfTtPbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIlVOS05PV05fRU5DT0RFX0VSUk9SIix7b3JpZ2luYWxNZXNzYWdlOmEubWVzc2FnZX0pOm5ldyBpWCgiVU5LTk9XTl9FTkNPREVfRVJST1IiKX07UG5hPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRXJyb3I/bmV3IGlYKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTphLm1lc3NhZ2V9KTpuZXcgaVgoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpqWD1mdW5jdGlvbihhLGIpe2E9YSBpbnN0YW5jZW9mIGlYP2E6YihhKTtfLkdwKGEpO3Rocm93IGE7fTtrWD1mdW5jdGlvbihhKXthPShuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKS5zdWJhcnJheSgwLDE2KTt2YXIgYj1uZXcgVWludDhBcnJheSgxNik7Yi5zZXQoYSk7cmV0dXJuIGJ9O1JuYT1mdW5jdGlvbihhKXt2YXIgYj1RbmFbYV07aWYoYilyZXR1cm4gYjtfLklwKG5ldyBfLlhqKCJFbnRpdHkgbW9kZWwgbm90IGZvdW5kLiIse2VudGl0eVR5cGU6YX0pKX07bVg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbFgoYS5vLGIudmVyc2lvbikuZGVjb2RlKGIuZGF0YSxiLmtleSl9O1NuYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5nZXQoYikudGhlbihkPT57aWYoZCl7aWYoYyYmZC5lbnRpdHlUeXBlIT09Yyl0aHJvdyBFcnJvcigiaGMiKTtyZXR1cm4gbVgoYSxkKX19KX07Cm9YPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0kVyhiKTtyZXR1cm4gblgoYSxkKS50aGVuKCgpPT5UbmEoYSxiLGMpKX07cFg9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEudltjXTtkfHwoZD1uZXcgU2V0LGEudltjXT1kKTtkLmFkZChiKX07ClVuYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9JFcoYiksZT1sWChhLm8sMSksZj17Li4uYn07cmV0dXJuIGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5nZXQoZCkudGhlbihoPT57aWYoaCl7aWYoaC5lbnRpdHlUeXBlIT09Yyl0aHJvdyBFcnJvcigiaGMiKTtmLmVudGl0eU1ldGFkYXRhfHwoaD1tWChhLGgpLGYuZW50aXR5TWV0YWRhdGE9aC5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e3ZhciBoPXtrZXk6ZCxlbnRpdHlUeXBlOmMsZGF0YTplLmVuY29kZShmLGQpLHZlcnNpb246MX07cmV0dXJuIF8uVmsuYWxsKFtfLmxsKGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKSxoKSxvWChhLGYsYyldKX0pLnRoZW4oKCk9PntwWChhLGQsYyk7cmV0dXJuIGR9KX07ClZuYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uR0goYikuZW50aXR5VHlwZTtyZXR1cm4gXy5Way5hbGwoW2Euai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5kZWxldGUoYiksblgoYSxiKV0pLnRoZW4oKCk9PntwWChhLGIsYyl9KX07blg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIikuaW5kZXgoImJ5UGFyZW50RW50aXR5S2V5IikuZGVsZXRlKElEQktleVJhbmdlLm9ubHkoYikpfTsKV25hPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWxYKGEubywxKTtyZXR1cm4gU25hKGEsYixkKS50aGVuKGY9PntpZihmfHxfLngoIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiKSl7Zj1fLmhNKGZ8fHt9LGMpO3ZhciBoPXtrZXk6YixlbnRpdHlUeXBlOmQsZGF0YTplLmVuY29kZShmLGIpLHZlcnNpb246MX07cmV0dXJuIF8uVmsuYWxsKFtfLmxsKGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKSxoKSxvWChhLGYsZCldKX19KS50aGVuKCgpPT57cFgoYSxiLGQpO3JldHVybiBifSl9OwpUbmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRXKGIpO2M9Um5hKGMpO2lmKCFjKXJldHVybiBfLlZrLnJlc29sdmUoW10pO2I9bmV3IGMoYik7YT1hLmoub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtjPVtdO2ZvcihsZXQgZSBvZiBiLm8oKSljLnB1c2goXy5sbChhLHtwYXJlbnRFbnRpdHlLZXk6ZCxjaGlsZEVudGl0eUtleTplfSkpO3JldHVybiBfLlZrLmFsbChjKS50aGVuKGU9PmUubWFwKGY9PmZbMV0pKX07bFg9ZnVuY3Rpb24oYSxiPTApe2E9YS5qW2JdO2lmKCFhKXRocm93IGI9bmV3IGlYKCJJTlZBTElEX0VOQ09ERVJfVkVSU0lPTiIse0lwOmJ9KSxfLkdwKGIpLGI7cmV0dXJuIGF9O3FYPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIG9mIGEub2JzZXJ2ZXJzKWMoYil9OwpZbmE9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hd2FpdCBNbmEoYS50b2tlbiksZDtjPWF3YWl0IF8uaWwoYyxbIkVudGl0eVN0b3JlIiwiRW50aXR5QXNzb2NpYXRpb25TdG9yZSJdLCJyZWFkd3JpdGUiLGU9PntkPW5ldyBYbmEoZSxhLmopO3JldHVybiBiKGQpfSk7aWYoZCl7bGV0IGU9ZC52O09iamVjdC5rZXlzKGUpLmxlbmd0aD4wJiYoYS5jaGFubmVsLnBvc3RNZXNzYWdlKGUpLHFYKGEsZSkpfXJldHVybiBjfTthb2E9YXN5bmMgZnVuY3Rpb24oKXt0cnl7bGV0IGI9YXdhaXQgXy5QbCgpO2lmKGImJl8uV2ooKSYmdHlwZW9mIF8udS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBhPW5ldyBabmE7cmV0dXJuIG5ldyAkbmEoYixhKX19Y2F0Y2goYil7YiBpbnN0YW5jZW9mIEVycm9yJiZfLkdwKGIpfX07CmJvYT1mdW5jdGlvbihhKXthPWEub3B0aW9ucz8ucGVyc2lzdGVuY2VPcHRpb247cmV0dXJuIGE9PT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9QRVJTSVNUInx8YT09PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX0lOTUVNT1JZX0FORF9QRVJTSVNUIn07CmNvYT1hc3luYyBmdW5jdGlvbihhKXtyWHx8KHJYPWFvYSgpKTt2YXIgYj1hd2FpdCByWDtiJiZhd2FpdCBZbmEoYixjPT57dmFyIGQ9e307Zm9yKGxldCBlIG9mIGEpe2lmKCFlLmVudGl0eUtleXx8IWJvYShlKSljb250aW51ZTtsZXQgZj1fLmRNKGUucGF5bG9hZCksaD12b2lkIDA7ZS50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1JFUExBQ0UiJiYoaD0oKT0+VW5hKGMsZS5wYXlsb2FkW2ZdLGYpKTtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIiYmKGg9KCk9PlZuYShjLGUuZW50aXR5S2V5KSk7ZS50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1VQREFURSImJihoPSgpPT5XbmEoYyxlLmVudGl0eUtleSxlLnBheWxvYWRbZl0sZikpO2gmJihkW2UuZW50aXR5S2V5XT1kW2UuZW50aXR5S2V5XT9kW2UuZW50aXR5S2V5XS50aGVuKGgpOmgoKSl9cmV0dXJuIF8uVmsuYWxsKE9iamVjdC52YWx1ZXMoZCkpfSl9Owpkb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXshKGE9YS5tdXRhdGlvbnMpfHxhLmxlbmd0aDw9MHx8KGImJmIuZGlzcGF0Y2goXy5rQSh7dHlwZToiRU5USVRZX0xPQURFRCIscGF5bG9hZDphfSkpLGF3YWl0IGNvYShhKSxhLmxlbmd0aD0wKX07ZW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8udUMoKTtiLk9jPSEwO2Iuc2Vzc2lvbklkPWEuc2Vzc2lvbklkfHwiIjtiLmRoPWEuZGg7YS5XaCE9bnVsbCYmKGIuV2g9YS5XaCl9O3NYPWZ1bmN0aW9uKGEpe18udUMoKS5wcm9jZXNzb3JzLnB1c2goYSl9O2ZvYT1mdW5jdGlvbigpe18uVnAuc3Vic2NyaWJlKCJoYW5kbGVFcnJvciIsYT0+e3RyeXtmb3IobGV0IGIgaW4gXy5lSSl0cnl7bGV0IGM9Xy5lSVtiXTt0eXBlb2YgXy5lSVtiXT09PSJmdW5jdGlvbiImJihjPWMoKSk7YS5wYXJhbXNbYl09dHlwZW9mIF8uZUlbYl09PT0ib2JqZWN0Ij9KU09OLnN0cmluZ2lmeShjKTpTdHJpbmcoYyl9Y2F0Y2goYyl7Xy5JcChjKX19Y2F0Y2goYil7Xy5JcChiKX19KX07CmdvYT1mdW5jdGlvbigpe307dFg9ZnVuY3Rpb24oYSxiLGM9MCl7KGM9Xy5pcShjKSkmJmEmJl8ueUooYyxhLGIpfTtob2E9ZnVuY3Rpb24oYSl7cmV0dXJuIFVXKE9iamVjdC5rZXlzKGEpLm1hcChiPT5iPT09InBsYXlsaXN0RWRpdEVuZHBvaW50Ij9fLkIoYSxfLkF6KS5jbGllbnRBY3Rpb25zfHxbXTphW2JdLmFjdGlvbnN8fGFbYl0uY2xpZW50QWN0aW9uc3x8W10pKX07dVg9ZnVuY3Rpb24oYSl7YT1fLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpO3JldHVybiBhPy51cmw/YS51cmw6bnVsbH07dlg9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYSlfLkFKKGMsYiwhMCl9Owppb2E9ZnVuY3Rpb24oKXtfLkpNPXdYO1RXKF8uZ0UsKHtjb21tYW5kOmEsc291cmNlRGF0YTpiLGNvbW1hbmRDb250ZXh0OmN9KT0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSxfLllEKGIsYykpfHwoYT1uZXcgXy5YaigiQ29tbWFuZCBub3QgaGFuZGxlZCBieSBDb21tYW5kSGFuZGxlciIsT2JqZWN0LmtleXMoYSksYyksXy5HcChhKSl9KX07a29hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5QRShqb2EpO3JldHVybiBhIT09dm9pZCAwP2E6Xy5SRTw9Mjk5fTt4WD1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50O3JldHVybiBfLnZiKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sYj0+YG9uJHtiLnRvTG93ZXJDYXNlKCl9YGluIGEpfTsKbG9hPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQ7cmV0dXJuIF8udmIoWyJmdWxsc2NyZWVuZXJyb3IiLCJ3ZWJraXRmdWxsc2NyZWVuZXJyb3IiLCJtb3pmdWxsc2NyZWVuZXJyb3IiLCJNU0Z1bGxzY3JlZW5FcnJvciJdLGI9PmBvbiR7Yi50b0xvd2VyQ2FzZSgpfWBpbiBhKX07eVg9ZnVuY3Rpb24oYSxiLGMpe18ucmlhPF8uc2ooIndlYl9zbGlfbG9nX3dhcm5pbmdfc2FtcGxlX3NpemVfcmF0ZSIsLjAwMSkmJl8uSXAobmV3IF8uWGooYFtTTEldICIke2F9IiBlcnJvcmAse3NsaU5hbWU6YSxkaW1lbnNpb25zOmIsZGV0YWlsczpjfSkpfTsKbm9hPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe2N8fF8uSXAobmV3IF8uWGooIkZ1bGxzY3JlZW4gY2hhbmdlIHNsaSBjYWxsZWQgYmVmb3JlIHN0YXJ0LiIpKX12YXIgYj16WCxjPSExLGQ9e2p3Om1vYX0uancoImZ1bGxzY3JlZW5fcmVxdWVzdCIpLGU9bG9hKCl8fCJmdWxsc2NyZWVuZXJyb3IiO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsZj0+e2EoKTtkLnpnKCJGQUlMVVJFIik7eVgoImZ1bGxzY3JlZW4gcmVxdWVzdCIsYigpLHtldmVudDpmfSk7Yz0hMX0pO2U9eFgoKXx8ImZ1bGxzY3JlZW5jaGFuZ2UiO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsKCk9PnthKCk7ZC56ZygiU1VDQ0VTUyIpO2M9ITF9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbnJlcXVlc3QiLCgpPT57Yz0hMDtkLkRyKGIoKSl9KX07Cm9vYT1mdW5jdGlvbihhKXt2YXIgYj1hLmZhbGxiYWNrRW5kcG9pbnQsYz1hLnRpbWVvdXRNcztpZighXy54KCJtd2ViX2MzX25pdHJhdGVfY2xpZW50X29wZW5fYXBwX2ZhbGxiYWNrX2tzIikmJmEudXJsKXt2YXIgZD1fLlpiKGEudXJsLCJmZWF0dXJlIil8fCIiO2Q9ZC5zdGFydHNXaXRoKCJlMTVtXyIpfHxkLnN0YXJ0c1dpdGgoImUxZF8iKXx8ZC5zdGFydHNXaXRoKCJlM2RfIik7Xy5mciYmZCYmIWImJihhPWEudXJsLGEuc3RhcnRzV2l0aCgidm5kLnlvdXR1YmU6Ly8iKT9hPWEucmVwbGFjZSgidm5kLnlvdXR1YmU6Ly8iLCJodHRwczovLyIpOmEuc3RhcnRzV2l0aCgieW91dHViZTovLyIpJiYoYT1hLnJlcGxhY2UoInlvdXR1YmU6Ly8iLCJodHRwczovLyIpKSxfLlhiKGEsMCwicmVkaXJlY3RfYXBwX3N0b3JlX2lvcyIsYS5zZWFyY2goXy5ZYikpPj0wfHwoYT1fLkZPKGEsInJlZGlyZWN0X2FwcF9zdG9yZV9pb3MiLCIxIikpLGI9Xy53TihhKSwhY3x8Yzw9MCkmJihjPV8uc2ooIm13ZWJfZGVlcF9saW5rX2ZhbGxiYWNrX3RpbWVvdXRfbXMiLAozRTMpKX1yZXR1cm57ZmFsbGJhY2tFbmRwb2ludDpiLHRpbWVvdXRNczpjfX07cG9hPWZ1bmN0aW9uKGEsYil7Xy54KCJtd2ViX2FwcF9idXR0b25fbG9nX2tzIil8fHRYKF8udGlhKTtiLmV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTthPV8uQihhLF8ucWlhKTthPy51cmwmJih3aW5kb3cubG9jYXRpb249YS51cmwpO3ZhciB7ZmFsbGJhY2tFbmRwb2ludDpjLHRpbWVvdXRNczpkfT1hP29vYShhKTp7ZmFsbGJhY2tFbmRwb2ludDp2b2lkIDAsdGltZW91dE1zOnZvaWQgMH07QVg9PT12b2lkIDAmJmQmJmQ+MCYmKEFYPXNldFRpbWVvdXQoKCk9PntBWD12b2lkIDA7YyYmXy5BSihjLGIuc291cmNlRGF0YSwhMCl9LGQpLF8uTk0od2luZG93LCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e0FYJiYod2luZG93LmNsZWFyVGltZW91dChBWCksQVg9dm9pZCAwKX0pKX07CnFvYT1mdW5jdGlvbihhKXt2YXIgYj14WCgpO2ImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKGIsKCk9Pnt2YXIgYz0hIV8uWk8oKTtjfHxfLk1PKCIueXR3UGxheWVyQm90dG9tQ29udHJvbHNGdWxsc2NyZWVuQnV0dG9uV3JhcHBlciAuZnVsbHNjcmVlbi1pY29uIC5idXR0b24iKTthLnNldEZhdXhGdWxsc2NyZWVuKGMpfSl9O0JYPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNnb29nbGUtZmVlZGJhY2siKTtiJiYoXy5CTihiLGEpLGEmJl8uTU8oKCk9PmIucXVlcnlTZWxlY3RvcigiaWZyYW1lIik/LmNvbnRlbnREb2N1bWVudD8ucXVlcnlTZWxlY3RvcigiLnV2RmVlZGJhY2tGb3JtZm9ybS1pbml0aWFsLWZvY3VzLWVsZW1lbnQsIC51dkZlZWRiYWNrUnNhZGlhbG9nZGlhbG9nIC5zY1NoYXJlZE1hdGVyaWFsYnV0dG9ucm9vdCIpLDUse3JsOiEwfSkpfTsKcm9hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRC5yZXNwb25zZT8ucmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09ImUiKVswXSxiPW5ldyBTZXQoXy53KCJGRVhQX0VYUEVSSU1FTlRTIixbXSkpOyhhPy52YWx1ZT8uc3BsaXQoIiwiKXx8W10pLmZvckVhY2goYz0+e2IuYWRkKE51bWJlcihjKSl9KTtyZXR1cm4gQXJyYXkuZnJvbShiKS5qb2luKCIsIil9Owpzb2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5XRCgoKT0+e3ZhciBhPV8uWEQucmVzcG9uc2U/LnJlc3BvbnNlPy5yZXNwb25zZUNvbnRleHQ/LnNlcnZpY2VUcmFja2luZ1BhcmFtcz8uZmlsdGVyKGM9PmMuc2VydmljZT09PSJHRkVFREJBQ0siKVswXS5wYXJhbXM/LmZpbHRlcihjPT5jLmtleT09PSJwcmVtaXVtX21lbWJlcnNoaXAiKVswXSxiPV8uWEQucmVzcG9uc2U/LnBsYXllclJlc3BvbnNlPy5yZXNwb25zZUNvbnRleHQ/LnNlcnZpY2VUcmFja2luZ1BhcmFtcz8uZmlsdGVyKGM9PmMuc2VydmljZT09PSJHRkVFREJBQ0siKVswXS5wYXJhbXM/LmZpbHRlcihjPT5jLmtleT09PSJwcmVtaXVtX21lbWJlcnNoaXAiKVswXTtyZXR1cm4gYT9hLnZhbHVlOmI/Yi52YWx1ZTpudWxsfSl9OwpDWD1mdW5jdGlvbihhKXsobmV3IF8uZnkoYS5vbGRVUkwpKS52PT09IiNmZWVkYmFjayImJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNmZWVkYmFjayImJihCWCghMSksKGE9d2luZG93LkdPT0dMRV9GRUVEQkFDS19ERVNUUk9ZX0ZVTkNUSU9OKSYmYSgpKX07dG9hPWZ1bmN0aW9uKCl7Xy5GSi50aGVuKCgpPT57d2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2ZlZWRiYWNrIiYmKF8uWU0/Xy4kTSgiIik6Xy5aTSgpKTtyZXR1cm4gXy5GSn0pfTt1b2E9ZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsQ1gpO3RvYSgpO0JYKCExKTtfLkVwKCJ1c2VyRmVlZGJhY2tFdmVudCIse30pfTt2b2E9ZnVuY3Rpb24oKXtyZXR1cm57cHJvZHVjdElkOiI3NzUyMiIsbG9jYWxlOl8udygiSFRNTF9MQU5HIiwiZW4iKSxhbGxvd05vbkxvZ2dlZEluRmVlZGJhY2s6ITAsYnVja2V0OiJDMyIsY2FsbGJhY2s6dW9hLG9uTG9hZENhbGxiYWNrOigpPT57QlgoITApfX19Owp3b2E9ZnVuY3Rpb24oYSl7dmFyIGI9dm9hKCksYz17Y2xpZW50QXBwVmVyc2lvbjpfLncoIkNMSUVOVF9BUFBfVkVSU0lPTiIsIiIpLGV4cGVyaW1lbnRzOnJvYSgpLGxvZ2dlZF9pbjpfLnRQKCksRGV2aWNlOl8uYmMoKSxwcmVtaXVtX21lbWJlcnNoaXA6c29hKCl9O18uVk0oKXx8Xy5XTSgpO2EmJmEuZm9yRWFjaChkPT57KGQ9ZC51c2VyRmVlZGJhY2tFbmRwb2ludFByb2R1Y3RTcGVjaWZpY1ZhbHVlRGF0YSkmJmQua2V5JiYoY1tkLmtleV09ZC52YWx1ZSl9KTtfLlVOKCkudGhlbigoKT0+e18uJE0oImZlZWRiYWNrIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLENYKTtfLllPKGIsYyl9KX07eG9hPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBEWDtiLmFib3J0KGEpO3JldHVybiBiLnNpZ25hbH07CnlvYT1mdW5jdGlvbigpe2lmKHRoaXMuYWJvcnRlZCl0aHJvdyB0aGlzLnJlYXNvbj8/bmV3IERPTUV4Y2VwdGlvbigic2lnbmFsIGlzIGFib3J0ZWQgd2l0aG91dCByZWFzb24iLCJBYm9ydEVycm9yIik7fTt6b2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO2ZvcihsZXQgYyBvZiBhKWlmKGMuYWJvcnRlZCl7Yi5hYm9ydChjLnJlYXNvbik7YnJlYWt9ZWxzZSBFWC5zZXQoYi5zaWduYWwsYiksRlguYWRkKGMsYi5zaWduYWwpO3JldHVybiBiLnNpZ25hbH07QW9hPWZ1bmN0aW9uKCl7Zm9yKGxldCBhIG9mIEZYLmdldCh0aGlzKSlFWC5nZXQoYSkuYWJvcnQodGhpcy5yZWFzb24pfTtCb2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO3NldFRpbWVvdXQoKCk9PntiLmFib3J0KG5ldyBET01FeGNlcHRpb24oInNpZ25hbCB0aW1lZCBvdXQiLCJUaW1lb3V0RXJyb3IiKSl9LGEpO3JldHVybiBiLnNpZ25hbH07CkNvYT1mdW5jdGlvbigpe3ZhciBhPVtdLGI7dmFyIGM9Y3x8R1gubGVuZ3RoO2ZvcihiPTA7Yjw4O2IrKylhW2JdPUdYWzB8TWF0aC5yYW5kb20oKSpjXTtyZXR1cm4gYS5qb2luKCIiKX07SFg9ZnVuY3Rpb24oYSl7Zm9yKGxldCBbLGJdb2YgT2JqZWN0LmVudHJpZXMoRG9hKSl7bGV0IGM9YjtpZihjPT09IlNMSV9TVEFUVVNfIithKXJldHVybiBjfXJldHVybiJTTElfU1RBVFVTX1VOS05PV04ifTtJWD1mdW5jdGlvbihhLGIsYyl7Yj1IWChiKTtaVyh7ZGltZW5zaW9uczpjLHJlY29yZHM6W3tuYW1lOmEsc3RhdGU6IlNMSV9TVEFURV9FTkQiLHN0YXR1czpifV19KX07Rm9hPWZ1bmN0aW9uKGEpe3JldHVybiBCbmEoYSwoKT0+bmV3IEVvYShhKSl9O21vYT1mdW5jdGlvbihhKXtyZXR1cm4gRm9hKGEpfTtLWD1mdW5jdGlvbihhLGIpe0pYKGEsYCR7Yn0gd2FzIGNhbGxlZCBidXQgbm90IHNldGApfTtIb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIEdvYS5pbmRleE9mKGEpPi0xfTsKSlg9ZnVuY3Rpb24oYSxiLGMpe2M9YyE9PXZvaWQgMD9PYmplY3Qua2V5cyhhKS5maWx0ZXIoYyk6T2JqZWN0LmtleXMoYSk7YT1uZXcgXy5YaihgW0NvbW1hbmQgSGFuZGxlcl0gJHtifWAse2ZpbHRlcmVkQ29tbWFuZE5hbWVzOmMsb3JpZ2luYWxDb21tYW5kOmF9KTtfLkdwKGEpfTtJb2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLk5KKTtpZihjJiYoYz1iW2Muc2lnbmFsXSkpcmV0dXJuIGMoKTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYSkpaWYoYltkXSYmKGE9YltkXSkpcmV0dXJuIGEoKX07Sm9hPWZ1bmN0aW9uKGEsYixjPSExLGQ9ITEsZT1bXSl7TFguaW5zdGFuY2U9bmV3IExYKGEsYixjLGQsZSl9OwpLb2E9ZnVuY3Rpb24oYSl7aWYoIWEuRCYmXy53QygiY29tbWFuZCIpKXtsZXQgYj1hLnJlc29sdmVDb21tYW5kO2EucmVzb2x2ZUNvbW1hbmQ9ZnVuY3Rpb24oYyxkKXthOntmb3IoZSBpbiBjKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjLGUpKXt2YXIgZT17Y29tbWFuZFR5cGU6ZX07YnJlYWsgYX1lPXt9fXJldHVybiBfLnlDKCJjb21tYW5kIixlLGIuYmluZCh0aGlzLGMsZCkpfTthLkQ9ITB9fTsKTVg9ZnVuY3Rpb24oYSxiLGMpeyFjPy5tZCYmYS5qJiYoYi5jbGlja1RyYWNraW5nUGFyYW1zPyhjPWM/LmZvcm0/LmVsZW1lbnQsYS5qLmNsaWNrQ29tbWFuZChiLG51bGwsYyYmYy5nZXRTY3JlZW5MYXllciYmYy5nZXRTY3JlZW5MYXllcigpKSk6Yi5jbGlja1RyYWNraW5nUGFyYW1zP2Euai5jbGlja0NvbW1hbmQoYik6IV8ueCgiZGlzYWJsZV9jbGlja2VkX3Zpc3VhbF9lbGVtZW50X2luX2NvbW1hbmRfaGFuZGxlciIpJiZjPy5jbGlja2VkVmlzdWFsRWxlbWVudCYmXy53SihhLmosYy5jbGlja2VkVmlzdWFsRWxlbWVudCkpfTsKTG9hPWZ1bmN0aW9uKGEsYixjKXtpZighYS5CKXJldHVybntoYW5kbGVkOiExfTt2YXIgZD1Jb2EoYixhLkIpO3JldHVybiBkPygoYS5LLnNvbWUoZT0+ISFfLkIoYixlKSl8fGM/LlBwfHwhYS5JKSYmTVgoYSxiLGMpLHtoYW5kbGVkOiEwLFprOihhc3luYygpPT57YXdhaXQgKGQgaW5zdGFuY2VvZiBQcm9taXNlP2F3YWl0IGQ6ZCkucmVzb2x2ZShiLGMpfSkoKX0pOntoYW5kbGVkOiExfX07Ck5YPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1Nb2EoYik7aWYoIWM/LlRLKXtsZXQgZj1Mb2EoYSxiLGMpO2lmKGYuaGFuZGxlZClyZXR1cm4gZn1pZihkKXJldHVybiBOb2EoYSxiLGMpO2lmKCFhLnYpcmV0dXJuIEpYKGIsIlVuaGFuZGxlZCBjb21tYW5kIGJ5IGJ1aWxkQ29tbWFuZFBheWxvYWQiKSx7aGFuZGxlZDohMX07dmFyIGU9YS52KGIsYyk7Yz8uRWkmJihlLkVpPWMuRWkpO2lmKGUudHlwZT09PTApe2lmKCFhLm5hdmlnYXRlKXJldHVybiBLWChiLCJuYXZpZ2F0ZSIpLHtoYW5kbGVkOiExfTtpZighXy5CKGUuY29tbWFuZD8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwpcmV0dXJuIEpYKGIsIlBhZ2UgcmVxdWVzdHMgbmVlZCB0byBzcGVjaWZ5IGEgdXJsIikse2hhbmRsZWQ6ITF9O2lmKE9vYShhLGUuY29tbWFuZCkpcmV0dXJue2hhbmRsZWQ6ITF9O18ueCgibG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpJiZfLmlvKCkudHJhbnNpdGlvbigiYXBwbGljYXRpb25fbmF2aWdhdGluZyIpOwpiPWEubmF2aWdhdGUoZSl8fFtdO2Q9UHJvbWlzZS5yZXNvbHZlKEduYShiKS50aGVuKCgpPT57YS5vLmRlbGV0ZShlLmNvbW1hbmQpfSkpO2EuaiYmIWEuWSYmQW5hKGEuaixlLmNvbW1hbmQse2NsaWNrZWRWaXN1YWxFbGVtZW50OmM/LmNsaWNrZWRWaXN1YWxFbGVtZW50LGZsOmIsbGF5ZXI6ZS5sYXllcixhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTo0fSk7cmV0dXJue2hhbmRsZWQ6ITAsWms6ZH19aWYoZS50eXBlPT09MSlyZXR1cm4gS1goYiwiaGFuZGxlU2VydmljZVJlcXVlc3QiKSx7aGFuZGxlZDohMX07ZS50eXBlPT09MiYmS1goYiwic2VuZEFjdGlvbiIpO3JldHVybntoYW5kbGVkOiExfX07TW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLF8uenopPy5zaWduYWw9PT0iQ0xJRU5UX1NJR05BTCI7cmV0dXJuISFfLkIoYSxfLlNEKXx8Yn07Ck5vYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT1fLkIoYixfLlNEKTtlP2Q9ZT8uY29tbWFuZHN8fFtdOl8uQihiLF8uenopPy5zaWduYWw9PT0iQ0xJRU5UX1NJR05BTCImJihkPV8uQihiLF8uenopPy5hY3Rpb25zfHxbXSk7aWYoZCl7KGU9UG9hKGEsZCkpJiZNWChhLGIsYyk7Yj1bXTtmb3IobGV0IGYgb2YgZCl0cnl7ZD17Li4uY307ZSYmKGQubWQ9ITApO2xldCBoPU5YKGEsZixkKTtoLmhhbmRsZWQmJmIucHVzaChoLlprKX1jYXRjaChoKXtoIGluc3RhbmNlb2YgRXJyb3ImJl8uR3AoaCl9cmV0dXJue2hhbmRsZWQ6ITAsWms6UHJvbWlzZS5hbGxTZXR0bGVkKGIpLnRoZW4oKCk9Pnt9KX19SlgoYiwiQ291bGQgbm90IGhhbmRsZSB0aGUgbWV0YSBjb21tYW5kIik7cmV0dXJue2hhbmRsZWQ6ITF9fTtPb2E9ZnVuY3Rpb24oYSxiKXtpZihhLm8uaGFzKGIpKXJldHVybiEwO2Euby5hZGQoYik7cmV0dXJuITF9OwpQb2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5ldmVyeShjPT5hLk0uc29tZShkPT4hIV8uQihjLGQpKSl9O1FvYT1mdW5jdGlvbihhLGIpe2E9YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2lmKGEubGVuZ3RoKXJldHVybiBhPy5maW5kKGM9PmM/LmdldExhbmd1YWdlSW5mbygpPy5nZXRJZCgpPT09Yil9O1JvYT1mdW5jdGlvbihhLGIsYyl7YT1fLiRPKGEpO2lmKGEubGVuZ3RoKXJldHVybiBjP2EuZmluZChkPT5kLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/ZC50cmFuc2xhdGlvbkxhbmd1YWdlLmxhbmd1YWdlQ29kZT09PWI6ITEpOmE/LmZpbmQoZD0+ZC5sYW5ndWFnZUNvZGU9PT1iKX07ClNvYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7aWYoYj8ubGVuZ3RoKXt2YXIgYz1hLmdldEF1ZGlvVHJhY2soKTthPXtsaXN0SXRlbXM6Wy4uLmIubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0TmFtZSgpfSxpc1NlbGVjdGVkOmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PWM/LmdldExhbmd1YWdlSW5mbygpLmdldElkKCksc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7YXVkaW9UcmFja1NlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZTpkLmdldExhbmd1YWdlSW5mbygpLmdldElkKCl9fV19fX19fX19KSldLAp2aXNpYmxlRWxlbWVudENvdW50OjV9O3JldHVybntzaG93U2hlZXRDb21tYW5kOntwYW5lbExvYWRpbmdTdHJhdGVneTp7aW5saW5lQ29udGVudDp7c2hlZXRWaWV3TW9kZWw6e2hlYWRlcjp7cGFuZWxIZWFkZXJWaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoIkFVRElPX1RSQUNLIix2b2lkIDAsIkF1ZGlvIFRyYWNrIil9fX0sY29udGVudDp7bGlzdFZpZXdNb2RlbDphfX19fX19fX07T1g9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrbGlzdCIse2luY2x1ZGVBc3I6ITB9KX07VG9hPWZ1bmN0aW9uKGEpe3ZhciBiPU9YKGEpO2lmKGI/Lmxlbmd0aClyZXR1cm4gYjthLmxvYWRNb2R1bGUoImNhcHRpb25zIik7cmV0dXJuIE9YKGEpfTsKUFg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKTtpZihiKXJldHVybiBiO2EubG9hZE1vZHVsZSgiY2FwdGlvbnMiKTtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKX07UVg9ZnVuY3Rpb24oYSxiKXtyZXR1cm57cGFuZWxIZWFkZXJWaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoYSx2b2lkIDAsYil9fX19OwpWb2E9ZnVuY3Rpb24oYSl7dmFyIGI9VG9hKGEpO2lmKGI/Lmxlbmd0aCl7dmFyIGM9UFgoYSk7YT17bGlzdEl0ZW1zOlt7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoIlBMQVlFUl9DQVBUSU9OX09GRiIsdm9pZCAwLCJPZmYiKX0saXNTZWxlY3RlZDohYz8ubGFuZ3VhZ2VDb2RlLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbe2NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZToiIn19LHtoaWRlU2hlZXRDb21tYW5kOnt9fV19fX19fX19LC4uLmIubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQuZGlzcGxheU5hbWV9LGlzU2VsZWN0ZWQ6ZC5kaXNwbGF5TmFtZT09PQpjPy5kaXNwbGF5TmFtZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3tjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kOntsYW5ndWFnZUNvZGU6ZC5sYW5ndWFnZUNvZGV9fSx7aGlkZVNoZWV0Q29tbWFuZDp7fX1dfX19fX19fSkpLHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiQVVUT19UUkFOU0xBVEUiLHZvaWQgMCwiQXV0by10cmFuc2xhdGUiKX0saXNTZWxlY3RlZDohIWMudHJhbnNsYXRpb25MYW5ndWFnZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIiwuLi4oISFjLnRyYW5zbGF0aW9uTGFuZ3VhZ2UmJntzZWxlY3Rpb25UZXh0Ontjb250ZW50OmM/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8CiIifX0pLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbVW9hKGEpXX19fX19fX1dLHZpc2libGVFbGVtZW50Q291bnQ6NX07cmV0dXJue3Nob3dTaGVldENvbW1hbmQ6e3BhbmVsTG9hZGluZ1N0cmF0ZWd5OntpbmxpbmVDb250ZW50OntzaGVldFZpZXdNb2RlbDp7aGVhZGVyOlFYKCJQTEFZRVJfQ0FQVElPTiIsIkNhcHRpb25zIiksY29udGVudDp7bGlzdFZpZXdNb2RlbDphfX19fX19fX07ClVvYT1mdW5jdGlvbihhKXt2YXIgYj1fLmFQKGEpO2lmKCFiPy5sZW5ndGgpdGhyb3cgRXJyb3IoImJlIik7dmFyIGM9UFgoYSk7YT17bGlzdEl0ZW1zOlsuLi5iLmZpbHRlcihkPT4hZC5sYW5ndWFnZUNvZGU/LnN0YXJ0c1dpdGgoImVuIikpLm1hcChkPT4oe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpkLmxhbmd1YWdlTmFtZXx8IiJ9LGlzU2VsZWN0ZWQ6ZC5sYW5ndWFnZU5hbWU9PT1jPy50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWUsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7Y2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOmQubGFuZ3VhZ2VDb2RlLGlzQXV0b1RyYW5zbGF0ZWQ6ITB9fSwKe2hpZGVTaGVldENvbW1hbmQ6e319XX19fX19fX0pKV0sdmlzaWJsZUVsZW1lbnRDb3VudDo1fTtyZXR1cm57c2hvd1NoZWV0Q29tbWFuZDp7cGFuZWxMb2FkaW5nU3RyYXRlZ3k6e2lubGluZUNvbnRlbnQ6e3NoZWV0Vmlld01vZGVsOntoZWFkZXI6UVgoIkFVVE9fVFJBTlNMQVRFIiwiQXV0by10cmFuc2xhdGUiKSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19O1dvYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZ3KCk7aWYoYil7dmFyIGM9e3dlYkNsaWVudENvbXBvbmVudHNEYXRhOntjb21wb25lbnRzOkFycmF5LmZyb20oYS5pZHMsZD0+KHtpZDpkfSkpfX07YS5pZHMuY2xlYXIoKTtfLmh4KCkudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChiLGMpfX07ClhvYT1mdW5jdGlvbihhKXt2YXIgYj16WDthLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLGM9PntpZihhKXt2YXIgZD1hLmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkO2QhPT1SWCYmYz09PTEmJihSWD1kLFNYLm8oYigpKSxUWC5vKGIoKSkpfX0pO2EuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYz0+e1NYLmooYigpKTt5WCgicGxheWVyIGVycm9yIixiKCkse2Vycm9yQ29kZTpjfSl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGxheWJhY2stdW5wbGF5YWJsZSIsYz0+e1RYLmooYigpKTt5WCgicGxheWVyIHVucGxheWFibGUiLGIoKSx7cmVhc29uOmMuZGV0YWlsPy5yZWFzb259KX0pfTtZb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmouZ2V0KGIpO2lmKGMpcmV0dXJuIGMucHJvbWlzZTtjPW5ldyBfLmNzO2Euai5zZXQoYixjKTtyZXR1cm4gYy5wcm9taXNlfTsKWm9hPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9YS5PbS5nZXQoYik7cmV0dXJuIGM/YzpZb2EoYSxiKX07JG9hPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYS5wYW5lbExvYWRpbmdTdHJhdGVneT8ucmVxdWVzdFRlbXBsYXRlKXRyeXtsZXQgYz1hd2FpdCBhLm8uUWkoYik7aWYoYylyZXR1cm4gYy5jb250ZW50O18uR3AoRXJyb3IoImNlIikpfWNhdGNoKGMpe18uR3AoYyl9fTtWWD1mdW5jdGlvbihhLGIpe3JldHVybiBVWChhKT8ub3coYik/P2J9O1VYPWZ1bmN0aW9uKGEpe3JldHVybiBfLlpPKCkmJmEuTT9hLk06YS5jb250YWluZXJ9O1dYPWZ1bmN0aW9uKGEpe2EuWSYmKGNsZWFyVGltZW91dChhLlkpLGEuWT12b2lkIDApO2EuQiYmKGNsZWFyVGltZW91dChhLkIpLGEuQj12b2lkIDApfTsKJFg9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD1jKXt2YXIgZT17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7bGV0IGY9Xy5adCxoPWF3YWl0IGEuZG0oKTtfLlZ6KGUsXy52TShmKSk7aWYoaClpZihhLm8pe2lmKGEuY3VycmVudFRhcmdldD09PWMpcmV0dXJuO1hYKGEpO1lYKGEpO2F3YWl0IFVYKGEpPy5KZSgpfWVsc2UgaWYoIV8ueCgiZGVsYXlfc2hlZXRfb3Blbl9raWxsc3dpdGNoIikpe2lmKF8ueCgid2ViX2Nsb3NlX3NoZWV0X2lmX3NhbWVfdGFyZ2V0X2tpbGxzd2l0Y2giKSYmYyYmYS5jdXJyZW50VGFyZ2V0PT09Yyl7VVgoYSk/LkplKCk7cmV0dXJufWEudj17ZGF0YTpiLHRhcmdldDpWWChhLGMpfTtyZXR1cm59Yi52aWV3TW9kZWwmJihiPXt2aWV3TW9kZWw6Yi52aWV3TW9kZWwsVXI6Yi5VcixleHBhbmRUb0Z1bGxXaWR0aDpiLmV4cGFuZFRvRnVsbFdpZHRoLG9wZW5Ub1NpZGU6Yi5vcGVuVG9TaWRlfSk7VVgoYSk/LndnKGIsYyxkKTthLmN1cnJlbnRUYXJnZXQ9CmM7YS5vPyhhLkkoKSxhLmN1cnJlbnRUYXJnZXQ/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuSSksYS5jdXJyZW50VGFyZ2V0Py5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLlopLFpYKGEpKTphLkQmJlpYKGEpfWNhdGNoKGYpe2UuZXJyb3I9ZixlLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihlKX19O1hYPWZ1bmN0aW9uKGEpe2EuY3VycmVudFRhcmdldD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5JKTthLmN1cnJlbnRUYXJnZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGEuWil9O1lYPWZ1bmN0aW9uKGEpe3ZhciBiPVVYKGEpPy5YcCgpO2I/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuVSk7Yj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5LKX07ClpYPWZ1bmN0aW9uKGEpe3ZhciBiPVVYKGEpPy5YcCgpO2I/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuVSk7Yj8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5LKX07YVk9YXN5bmMgZnVuY3Rpb24oYSl7aWYoYS5vKXtpZihhLmopcmV0dXJuO1hYKGEpO1lYKGEpfWVsc2UgYS5EJiYoWVgoYSksYS5LKCkpO2F3YWl0IFVYKGEpPy5KZSgpO2EuY3VycmVudFRhcmdldD12b2lkIDA7YS5qPSExO2Eubz0hMTthLmhpZGVEZWxheU1zPTA7YS5zaG93RGVsYXlNcz0wO2EuRD0hMTthLnYmJiFfLngoImRlbGF5X3NoZWV0X29wZW5fa2lsbHN3aXRjaCIpJiYoYXdhaXQgYS53ZyhhLnYuZGF0YSxhLnYudGFyZ2V0KSxhLnY9dm9pZCAwKX07CmFwYT1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7cmV0dXJue2NsZWFyOmZ1bmN0aW9uKCl7Yz1iLmxlbmd0aD0wfSxwdXNoOmZ1bmN0aW9uKGQpe2JbY109ZDtjPShjKzEpJWF9LFp4OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWIubGVuZ3RoO2ZvcihsZXQgZT0wO2U8ZDtlKyspeWllbGQgYlsoYytlKSVkXX0oKX19fTticGE9ZnVuY3Rpb24oYSl7YS55bHx8KGEueWw9W10pO3ZhciBiPWEueWwubWFwKF8uUFcpLGM9bmV3IFNldChiKSxkPWFwYShhLmJ1ZmZlclNpemUpO3JldHVybntmbHVzaDpmdW5jdGlvbigpe3ZhciBlPUFycmF5LmZyb20oZC5aeCgpKTtkLmNsZWFyKCk7ZT1lLm1hcChmPT4oe25hbWU6Zi5uYW1lLHRpbWVzdGFtcDpmLnN0YXJ0VGltZSxhdHRyaWJ1dGVzOmYuYXR0cmlidXRlc30pKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9LEdtKGUpe2UubmFtZT09PSJldmVudCImJmMuaGFzKGUuYXR0cmlidXRlcy50eXBlKXx8ZC5wdXNoKGUpfX19OwpjcGE9ZnVuY3Rpb24oYSl7dmFyIHtmbHVzaDpiLEdtOmN9PWJwYShhKTtzWCh7R206Y30pO18uVnAuc3Vic2NyaWJlKCJoYW5kbGVFcnJvciIsZD0+e3RyeXtkLnBhcmFtcy5icmVhZGNydW1icz1iKCl9Y2F0Y2goZSl7Xy5HcChlLCJXQVJOSU5HIil9fSl9O2JZPWZ1bmN0aW9uKCl7Xy5Teigid2ViX3RyYWNpbmdfYWN0aW9uIik7Xy5Ueigid2ViX3RyYWNpbmdfYWN0aW9uIix7fSx2b2lkIDAsIkxBVEVOQ1lfQUNUSU9OX1dFQl9UUkFDSU5HIil9O2VZPWZ1bmN0aW9uKCl7aWYoY1kpcmV0dXJuIndlYl90cmFjaW5nX2FjdGlvbiI7ZFkoKTtzZXRJbnRlcnZhbChkWSw2RTUpO2NZPSEwO3JldHVybiJ3ZWJfdHJhY2luZ19hY3Rpb24ifTtkWT1mdW5jdGlvbigpe18uU3ooIndlYl90cmFjaW5nX2FjdGlvbiIpO18uVHooIndlYl90cmFjaW5nX2FjdGlvbiIse30sdm9pZCAwLCJMQVRFTkNZX0FDVElPTl9XRUJfVFJBQ0lORyIpfTsKZHBhPWZ1bmN0aW9uKGEsYj1lWSgpLGMpe3JldHVybigwLF8uY3QpKGEubmFtZSwoYS5lbmRUaW1lPz9hLnN0YXJ0VGltZSktYS5zdGFydFRpbWUsYS5zdGFydFRpbWUse3dlYlRyYWNpbmc6e1thLm5hbWVdOmEuYXR0cmlidXRlc319LGMsYix7c3BhblN0YXR1czphLnN0YXR1cyxyb290U3Bhbk5vbmNlOnZvaWQgMCxxdTp2b2lkIDB9KX07Zlk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kcGEoYSxiLGMpO2lmKGEuY2hpbGRyZW4pZm9yKGxldCBlIG9mIGEuY2hpbGRyZW4pZlkoZSxiLGMsZHx8Yyl9OwplcGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z29hLmJpbmQobnVsbCwieXQudGVsZW1ldHJ5X2V4dGVuc2lvbiIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixjPT57Yy5kYXRhJiZ0eXBlb2YgYy5kYXRhPT09Im9iamVjdCImJihjPWMuZGF0YSxjLmZyb209PT0iZXh0ZW5zaW9uIiYmYy5hcHA9PT0ieXQudGVsZW1ldHJ5IiYmKGIoIlJlY2VpdmVkIG1lc3NhZ2UgZnJvbSBleHRlbnNpb24iLGMpLGEub25NZXNzYWdlKGMpKSl9KTtyZXR1cm4gZnVuY3Rpb24oYyxkKXtjPXthcHA6Inl0LnRlbGVtZXRyeSIsZnJvbToiYXBwIixrZXk6YyxwYXlsb2FkOmR9O2IoIlNlbmRpbmcgbWVzc2FnZSB0byBleHRlbnNpb24iLGMpO3dpbmRvdy5wb3N0TWVzc2FnZShjLCIqIil9fTsKZnBhPWZ1bmN0aW9uKCl7dmFyIGE9ZXBhKHtvbk1lc3NhZ2UoKXt9fSksYj1bXTtyZXR1cm57bHIoYyl7Yy5wYXJlbnRJZD09bnVsbCYmYi5wdXNoKGMpPT09MSYmc2V0VGltZW91dCgoKT0+e3ZhciBkPVsuLi5iXTtiLmxlbmd0aD0wO2EoInNwYW5zUmVwb3J0ZWQiLHtzcGFuczpkfSl9LDNFMyl9fX07Z3BhPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LmZldGNoO3dpbmRvdy5mZXRjaD0oLi4uYik9Pnt2YXIgW2MsZD17fV09YixlPV8ueUMoImh0dHBFdmVudCIse21ldGhvZDpkLm1ldGhvZHx8IkdFVCIscGF0aDpnWShjKSx0eXBlOiJmZXRjaCJ9LHthY3RpdmU6ITF9KTtyZXR1cm4gYSguLi5iKS50aGVuKGY9PntlLkRlKHtzdGF0dXNDb2RlOmYuc3RhdHVzLHN0YXR1c1RleHQ6Zi5zdGF0dXNUZXh0fSk7ZS5lbmQoKTtyZXR1cm4gZn0pLmNhdGNoKGY9PntlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKTt0aHJvdyBmO30pfX07CmhwYT1mdW5jdGlvbigpe3ZhciBhPVhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZS5vcGVuLGI9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLnNlbmQ7WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oYyxkLGU9ITAsZixoKXt0aGlzLnY9e21ldGhvZDpjLHVybDpkLnRvU3RyaW5nKCl9O3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt2YXIgaz10aGlzLmo7az8uRGUoe3N0YXR1c0NvZGU6dGhpcy5zdGF0dXMscmVzcG9uc2VDb250ZW50TGVuZ3RoOnRoaXMucmVzcG9uc2VUZXh0Lmxlbmd0aH0pO2s/LmVuZCgpfSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2YXIgaz10aGlzLmo7az8uRGUoe3N0YXR1c0NvZGU6dGhpcy5zdGF0dXMsc3RhdHVzVGV4dDp0aGlzLnN0YXR1c1RleHR9KTtrPy5lbmQoIlNQQU5fU1RBVFVTX0VSUk9SIil9KTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cywKYWJvcnRlZDohMH0pO2s/LmVuZCgpfSk7YS5hcHBseSh0aGlzLFtjLGQsZSxmLGhdKX07WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYyl7dmFyIHttZXRob2Q6ZCx1cmw6ZX09dGhpcy52fHx7bWV0aG9kOiJOL0EiLHVybDoiTi9BIn07dGhpcy5qPV8ueUMoImh0dHBFdmVudCIse21ldGhvZDpkLHBhdGg6Z1koZSksdHlwZToieGhyIn0se2FjdGl2ZTohMX0pO2IuYXBwbHkodGhpcyxbY10pfX07Z1k9ZnVuY3Rpb24oYSl7dHJ5e2lmKGEgaW5zdGFuY2VvZiBVUkwpcmV0dXJuIGEucGF0aG5hbWU7YSBpbnN0YW5jZW9mIFJlcXVlc3QmJihhPWEudXJsKTtyZXR1cm4obmV3IFVSTChhLCJodHRwczovL3lvdXR1YmUuY29tIikpLnBhdGhuYW1lfWNhdGNoKGIpe3JldHVybiI8dW5hYmxlIHRvIHBhcnNlIHBhdGg+In19OwpqcGE9ZnVuY3Rpb24oKXt3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt0cnl7bGV0IGE9d2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5hdmlnYXRpb24iKTtpZihhLmxlbmd0aD4wKXtsZXQgYj1hWzBdLGM9d2luZG93LnBlcmZvcm1hbmNlLnRpbWVPcmlnaW47Xy55QygicGFnZUxvYWQiLHtuYXZpZ2F0aW9uVHlwZTppcGEoYi50eXBlKSx1bmxvYWRFdmVudFN0YXJ0Ok1hdGgucm91bmQoYi51bmxvYWRFdmVudFN0YXJ0KSx1bmxvYWRFdmVudEVuZDpNYXRoLnJvdW5kKGIudW5sb2FkRXZlbnRFbmQpLGRvbUludGVyYWN0aXZlOk1hdGgucm91bmQoYi5kb21JbnRlcmFjdGl2ZSksZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0KSxkb21Db250ZW50TG9hZGVkRXZlbnRFbmQ6TWF0aC5yb3VuZChiLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCksCmRvbUNvbXBsZXRlOk1hdGgucm91bmQoYi5kb21Db21wbGV0ZSksbG9hZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLmxvYWRFdmVudFN0YXJ0KSxsb2FkRXZlbnRFbmQ6TWF0aC5yb3VuZChiLmxvYWRFdmVudEVuZCkscmVkaXJlY3RDb3VudDpiLnJlZGlyZWN0Q291bnR9LHthY3RpdmU6ITEsc3RhcnRUaW1lOmMrYi5zdGFydFRpbWUsZW5kVGltZTpjK2IubG9hZEV2ZW50RW5kfSl9fWNhdGNoKGEpe319KX07CmlwYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAibmF2aWdhdGUiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX05BVklHQVRFIjtjYXNlICJyZWxvYWQiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX1JFTE9BRCI7Y2FzZSAiYmFja19mb3J3YXJkIjpyZXR1cm4iUEVSRk9STUFOQ0VfTkFWSUdBVElPTl9USU1JTkdfVFlQRV9CQUNLX0ZPUldBUkQiO2Nhc2UgInByZXJlbmRlciI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfUFJFUkVOREVSIjtkZWZhdWx0OnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX1VOS05PV04ifX07CmxwYT1mdW5jdGlvbigpe0luYSgoYSxiKT0+e3ZhciBjPW5ldyBNYXAsZCxlPWVZKCk7Zm9yKGxldCBoIG9mIGEuc3BhbnMpe2lmKGgubWFya2VyKWNvbnRpbnVlO3ZhciBmPWIuZ2V0KGguaWQpPy5nZXQoXy5Pdik7bGV0IGs9Zj9rcGFbZi50eXBlXTp2b2lkIDA7aWYoIWZ8fGguZHVyYXRpb25Ncz09PXZvaWQgMHx8az09PXZvaWQgMCl7aC5wYXJlbnRJZCE9PXZvaWQgMCYmKGY9Yy5nZXQoaC5wYXJlbnRJZCksZiE9PXZvaWQgMCYmYy5zZXQoaC5pZCxmKSk7Y29udGludWV9bGV0IGw9YS5uSytoLnlLLG09aC5wYXJlbnRJZCE9PXZvaWQgMD9jLmdldChoLnBhcmVudElkKTp2b2lkIDAsbixwO3N3aXRjaChmLnR5cGUpe2Nhc2UgIlJlbmRlciI6Y2FzZSAiRWZmZWN0IjpjYXNlICJPbkluaXQiOmNhc2UgIlJlbmRlckVmZmVjdCI6cD1mLmxvY2F0aW9uO2JyZWFrO2Nhc2UgIkNyZWF0ZVJlYWN0aXZlQ29tcG9uZW50IjpuPWYuY29tcG9uZW50TmFtZTticmVhaztjYXNlICJDb21wdXRlZCI6bj0KZi5oSTtwPWYubG9jYXRpb247YnJlYWs7Y2FzZSAiU2lnbmFsVXBkYXRlIjpuPWYuU0t9aWYoZj0oMCxfLmN0KSgiY293X3NwYW4iLGguZHVyYXRpb25NcyxsLHt3ZWJUcmFjaW5nOntjb3dTcGFuOnt0eXBlOmssbmFtZTpuLGNvZGVMb2NhdGlvbjpwfX19LG0sZSx7cm9vdFNwYW5Ob25jZTpkfSkpYy5zZXQoaC5pZCxmKSxkPT09dm9pZCAwJiYoZD1mKX19KX07CnBwYT1mdW5jdGlvbigpe3ZhciBhPWhZLnZhbHVlLGI9e307Zm9yKGxldCBjIG9mIGEuSHYpYltjXT0hMDtlb2Eoe3Nlc3Npb25JZDpfLkZuKCksZGg6YixXaChjLGQsZSl7cmV0dXJuIG1wYT9jPT09InNob3J0VG9TaG9ydCJ8fGU/Lld6KCk/Lm5hbWU9PT0ic2hvcnRUb1Nob3J0IjohMH19KTtmb2EoKTtfLndDKCJwYWdlTG9hZCIpJiZqcGEoKTtfLndDKCJjb3dTcGFuIikmJmxwYSgpO18ud0MoImh0dHBFdmVudCIpJiYoZ3BhKCksaHBhKCkpO2EuUXYmJnNYKG5wYSk7YS5SdiYmc1goZnBhKCkpO2EuTXE+MCYmY3BhKHt5bDpvcGEsYnVmZmVyU2l6ZTphLk1xfSl9OwpqWT1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDB8fGEuZ2V0QXR0cmlidXRlKCJ2aWV3Qm94Iil8fGEuc2V0QXR0cmlidXRlKCJ2aWV3Qm94IixgMCAwICR7Yn0gJHtifWApO2Euc2V0QXR0cmlidXRlKCJmb2N1c2FibGUiLCJmYWxzZSIpO2Euc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTtiPV8ueCgia2lsbHN3aXRjaF9yZW1vdmVfaWNvbl9maWxsX2NvbG9yIik7YS5nZXRBdHRyaWJ1dGUoImZpbGwiKSE9PSJjdXJyZW50Y29sb3IiJiZhLmdldEF0dHJpYnV0ZSgiZmlsbCIpIT09ImN1cnJlbnRDb2xvciJ8fGJ8fGEucmVtb3ZlQXR0cmlidXRlKCJmaWxsIik7dHJ5e2Euc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsYS5zdHlsZS5kaXNwbGF5PSJpbmhlcml0IixhLnN0eWxlLndpZHRoPSIxMDAlIixhLnN0eWxlLmhlaWdodD0iMTAwJSJ9Y2F0Y2goYyl7aVkoe2Vycm9yOmM/LnRvU3RyaW5nP2MudG9TdHJpbmcoKToiIn0pO3RyeXthLnN0eWxlLmNzc1RleHQ9InBvaW50ZXItZXZlbnRzOiBub25lOyBkaXNwbGF5OiBpbmhlcml0OyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyJ9Y2F0Y2goZCl7aVkoe2Vycm9yOmQ/LnRvU3RyaW5nPwpkLnRvU3RyaW5nKCk6IiJ9KX19cmV0dXJuIGF9OwpxcGE9ZnVuY3Rpb24oYSl7aWYoXy54KCJ3aWxfaWNvbnNfY2FjaGVfcHVyZ2Vfa2lsbHN3aXRjaCIpKXJldHVybiExO3RyeXt2YXIgYj1fLnUubG9jYWxTdG9yYWdlfWNhdGNoKGUpe3JldHVybiExfWlmKCFifHwhYS5CKXJldHVybiExO3ZhciBjPWU9Pnt0cnl7Yj8uc2V0SXRlbSgieXQtaWNvbnMtbGFzdC1wdXJnZWQiLGUudG9TdHJpbmcoKSl9Y2F0Y2goZil7aVkoe2Vycm9yOmY/LnRvU3RyaW5nP2YudG9TdHJpbmcoKToiIn0pfX0sZD1OdW1iZXIoYi5nZXRJdGVtKCJ5dC1pY29ucy1sYXN0LXB1cmdlZCIpKTtpZighZClyZXR1cm4gZD1uZXcgRGF0ZSxkPWQuc2V0RGF0ZShkLmdldERhdGUoKS1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTArMSkpLGMoZCksITE7aWYoZnVuY3Rpb24oZSxmKXtlPW5ldyBEYXRlKGUpO2Y9bmV3IERhdGUoZik7cmV0dXJuIGYuZ2V0TW9udGgoKS1lLmdldE1vbnRoKCkrMTIqKGYuZ2V0RnVsbFllYXIoKS1lLmdldEZ1bGxZZWFyKCkpfShkLERhdGUubm93KCkpPAozKXJldHVybiExO3RyeXtyZXR1cm4gXy51LmNhY2hlcy5kZWxldGUoInl0LWljb25zIikudGhlbihlPT57ZSYmYyhEYXRlLm5vdygpKTtyZXR1cm4gZX0pLmNhdGNoKCgpPT4hMSkuZmluYWxseSgoKT0+e2EuSz0hMX0pfWNhdGNoKGUpe3JldHVybiBpWSh7ZXJyb3I6ZT8udG9TdHJpbmc/ZS50b1N0cmluZygpOiIifSksITF9fTsKa1k9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnVybDtpZighcnBhKGMpKXRocm93IEVycm9yKCJkZSIpO3JldHVybiBzcGEoYSxjKS50aGVuKGQ9PmQuY2xvbmUoKS50ZXh0KCkpLnRoZW4oZD0+e3ZhciBlPV8uZ2IoZCk7ZD1iLnNpemU7dmFyIGY9Xy5DZCgiRElWIik7Xy56QShmLGUpO2lmKGYuZmlyc3RFbGVtZW50Q2hpbGQhPT12b2lkIDApZT1mLmZpcnN0RWxlbWVudENoaWxkO2Vsc2UgZm9yKGU9Zi5maXJzdENoaWxkO2UmJmUubm9kZVR5cGUhPTE7KWU9ZS5uZXh0U2libGluZztlPV8uRGQoZSk7ZD1qWShlLGQpO2EuRFtjXT1kLmNsb25lTm9kZSghMCk7ZGVsZXRlIGEuWVtjXTtyZXR1cm4gZH0pLmNhdGNoKCgpPT57fSl9OwpsWT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4oZSxmKT0+e3ZhciBoPV8uQ2QoIkRJViIpLGs9e2ljb25XaWR0aDpgJHtiLnNpemV9cHhgLGljb25IZWlnaHQ6YCR7Yi5zaXplfXB4YCxqeDoiYmxvY2siLC4uLmYsaWNvbkNvbG9yOmY/Lmljb25Db2xvcj8/ImN1cnJlbnRjb2xvciJ9O2Y9ay5pY29uQ29sb3I7dmFyIGw9ay5hZztrPWB3aWR0aDogJHtrLmljb25XaWR0aH07IGhlaWdodDogJHtrLmljb25IZWlnaHR9OyBkaXNwbGF5OiAke2suanh9O2A7bCYmKGsrPWAgZmlsdGVyOiAke2x9O2ApO2M9PT0wJiYoays9YCBmaWxsOiAke2Z9O2ApO2M9PT0xJiYobD1iLnVybCxrKz1gIC13ZWJraXQtbWFzazogdXJsKCR7bH0pIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjsgbWFzazogdXJsKCR7bH0pIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjsgYmFja2dyb3VuZC1jb2xvcjogJHtmfWApO2IudnUmJmEuS2s9PT0icnRsIiYmKGsrPSIgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7Iik7Cmguc2V0QXR0cmlidXRlKCJzdHlsZSIsayk7Yz09PTAmJmQmJmguYXBwZW5kQ2hpbGQoZCk7ZS5hcHBlbmRDaGlsZChoKX19OwpuWT1mdW5jdGlvbihhLGIpe2lmKGIpe2EuY291bnRlcis9MTthPWBfeXQke2EuY291bnRlcn1gO2I9W2IsLi4uYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpXTtmb3IobGV0IGMgb2YgYilpZihjLnRhZ05hbWU9PT0ic3R5bGUiJiZjLnRleHRDb250ZW50KWMudGV4dENvbnRlbnQ9bVkoYy50ZXh0Q29udGVudCxhLCEwKTtlbHNlIGZvcihsZXQgZCBvZiBjLmF0dHJpYnV0ZXMpe2QubmFtZT09PSJpZCImJihkLnZhbHVlKz1hKTtbIm1hc2siLCJmaWxsIiwiY2xpcC1wYXRoIl0uaW5jbHVkZXMoZC5uYW1lKSYmKGQudmFsdWU9bVkoZC52YWx1ZSxhKSk7aWYoZC5uYW1lPT09InN0eWxlIil7Yj1jLnN0eWxlO3RyeXtiLmNzc1RleHQ9bVkoYi5jc3NUZXh0LGEsITApfWNhdGNoKGUpe2lZKHtlcnJvcjplPy50b1N0cmluZz8uKCl8fCIiLGVsOmMub3V0ZXJIVE1MLHN0eWxlOiEhYixjc3NUZXh0OmI/LmNzc1RleHR9KX19ZC5uYW1lPT09InhsaW5rOmhyZWYiJiYoZC52YWx1ZT1kLnZhbHVlLnJlcGxhY2UoLyMoLiopLywKYCMkMSR7YX1gKSl9fX07bVk9ZnVuY3Rpb24oYSxiLGM9ITEpe3ZhciBkPS91cmxcKFsiJ10/IyguKj8pWyInXT9cKS87YyYmKGQ9L3VybFwoWyInXT8jKC4qPylbIiddP1wpL2cpO3JldHVybiBhLnJlcGxhY2UoZCxgdXJsKCMkMSR7Yn0pYCl9O2lZPWZ1bmN0aW9uKGEpe18uSXAobmV3IF8uWGooIkVycm9yIGluIEljb25NYW5hZ2VyIixhKSl9O3JwYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgdHBhKWlmKGEuc3RhcnRzV2l0aChiKSYmYS5lbmRzV2l0aCgiLnN2ZyIpKXJldHVybiEwO3JldHVybiExfTsKc3BhPWFzeW5jIGZ1bmN0aW9uKGEsYil7YS5RYSYmYXdhaXQgdXBhKGEpO3ZhciBjPWEuWVtiXTtpZighYyl7bGV0IGQ9YXN5bmMoKT0+e3ZhciBlPWEuQj9hLlp8fGF3YWl0IGEuVTp2b2lkIDA7cmV0dXJuIGEub2E/YS5nYShiLGUpLmNhdGNoKGEuaGEuYmluZChhLGIsZSkpOmEuaGEoYixlKS5jYXRjaChhLmdhLmJpbmQoYSxiLGUpKX07Yz1hLk1hP25ldyBQcm9taXNlKChlLGYpPT57Xy5ZaigoKT0+e2QoKS50aGVuKGUpLmNhdGNoKGYpfSwxMCl9KTpkKCk7YS5ZW2JdPWN9cmV0dXJuIGMuY2F0Y2goZD0+e2RlbGV0ZSBhLllbYl07aVkoe2Vycm9yOmQ/LnRvU3RyaW5nP2QudG9TdHJpbmcoKToiIix1cmw6Yn0pO3Rocm93IGQ7fSl9O3VwYT1mdW5jdGlvbihhKXt2YXIgYj1hLnY/LnByb21pc2U7Ynx8KGEudj1uZXcgXy5jcyxiPWEudi5wcm9taXNlLF8udS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnthLnY/LnJlc29sdmUoKTthLnY9bnVsbH0pKTtyZXR1cm4gYn07CnBZPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYS5JPHZwYSlyZXR1cm4gYS5JKz0xLG9ZKGEsYikuZmluYWxseSgoKT0+ey0tYS5JO2lmKE9iamVjdC5rZXlzKGEubykubGVuZ3RoKXtsZXQgZD1PYmplY3Qua2V5cyhhLm8pWzBdLGU9YS5vW2RdO2RlbGV0ZSBhLm9bZF07ZS5yZXNvbHZlKHBZKGEsZCkpfX0pO3ZhciBjPW5ldyBfLmNzO2Eub1tiXT1jO3JldHVybiBjLnByb21pc2V9O3dwYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXtkJiZuZXcgUHJvbWlzZShlPT57Xy5Zaihhc3luYygpPT57YS5vYSYmYXdhaXQgZC5tYXRjaChiKS5jYXRjaCgoKT0+e30pfHxhd2FpdCBkLnB1dChiLGMuY2xvbmUoKSkuY2F0Y2goZj0+e2lZKHtlcnJvcjpmPy50b1N0cmluZz9mLnRvU3RyaW5nKCk6IiIsdXJsOmJ9KX0pO2UoKX0sNTApfSl9OwpvWT1hc3luYyBmdW5jdGlvbihhLGIsYz0yKXtyZXR1cm4gXy51LmZldGNoKGIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIscHJpb3JpdHk6ImxvdyJ9KS50aGVuKGQ9PmQub2s/ZDpQcm9taXNlLnJlamVjdChFcnJvcigiZWVgIitkLnN0YXR1cysiYCIrZC5zdGF0dXNUZXh0KSkpLmNhdGNoKGQ9PntpZihjPjApcmV0dXJuIG9ZKGEsYixjLTEpO3Rocm93IGQ7fSl9OwpyWT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hW2IuaWNvbk5hbWVdfHxbXTthPXZvaWQgMDtmb3IobGV0IGggb2YgZSl7YTp7dmFyIGY9Yi5pY29uU2l6ZTtlPWIuaWNvblN0eWxlO2Y9IWZ8fGY9PT1oWzJdO2xldCBrPXFZW2hbMF1dO2lmKGQmJmQhPT1oWzFdfHwhZnx8ZSYmZSE9PWspe2U9ITE7YnJlYWsgYX1pZighYSl7ZT0hMDticmVhayBhfWU9cVlbaFswXV07ZT0hIWIuaWNvblN0eWxlfHxlPT09InlvdXR1YmVfb3V0bGluZSI7Zj1hLnZlcnNpb248PWhbMV07ZT0oISFiLmljb25TaXplfHxoWzJdPT09MjQpJiZlJiZmfWUmJihhPXtuYW1lOmIuaWNvbk5hbWUsc3R5bGU6cVlbaFswXV0sc2l6ZTpoWzJdLHZlcnNpb246aFsxXSx2dTohIWhbM10sdXJsOmMoYi5pY29uTmFtZSxoKX0pfXJldHVybiBhfTtzWT1mdW5jdGlvbihhLGIsYyxkPSExKXtyZXR1cm5gJHthfSR7cVlbY1swXV19JHtkPyJfZXhwZXJpbWVudGFsIjoiIn0vJHtifS92JHtjWzFdfS8ke2NbMl19cHguc3ZnYH07CnRZPWZ1bmN0aW9uKGEpe3JldHVybiBfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpIT09IldFQl9SRU1JWCImJl8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIikhPT0iV0VCX0NSRUFUT1IiPyJib29rbWFyayI6YX07dVk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIil8fGI/eHBhW2EudG9VcHBlckNhc2UoKV06eXBhW2EudG9VcHBlckNhc2UoKV19O3pwYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvIixhLGIpfTtBcGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gc1koImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pLyIsYSxiLCEwKX07d1k9ZnVuY3Rpb24oKXt2WS5pbnN0YW5jZXx8KHZZLmluc3RhbmNlPW5ldyB2WSk7cmV0dXJuIHZZLmluc3RhbmNlfTsKeFk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQnBhLmhhcyhiKXx8Xy53KCJJU19IT01FUEFHRV9DT0xEIil8fF8udygiSVNfUkVTVUxUU19QQUdFX0NPTEQiKXx8Xy53KCJJU19XQVRDSF9QQUdFX0NPTEQiKT9hLnNpZ25hbHMuaW5kZXhPZihiKT49MDohMH07eVk9ZnVuY3Rpb24oYSl7dmFyIGI9ITE7cmV0dXJuKCk9PntifHwoYj0hMCxhKCkpfX07QVk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZih6WS5oYXMoZCkpXy5DaygpLkdhKGIsYyxlKTtlbHNle2xldCBmPWEuai5nZXQoZCk7ZiYmXy5DaygpLkdhKCgpPT57eFkoYSxkKXx8KGYuaGc/Xy5DaygpLkdhKGIsYyk6Zi5Cbi5wdXNoKCgpPT57Xy5DaygpLkdhKGIsYyl9KSl9LGMsZSl9fTtDcGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9KCk9PnthLldtKGIpfTtmb3IobGV0IGYgb2YgZClhLmFkZExpc3RlbmVyKGYsZSk7YS5qLnNldChiLHtzaWduYWxzOmMsVng6ITAsaXNJbml0aWFsaXplZDohMSxoZzohMSxCbjpbXX0pO0JZKGEsYil9OwpCWT1mdW5jdGlvbihhLGIpe2lmKCF4WShhLGIpKXt2YXIgYz1hLmouZ2V0KGIpO2lmKGMmJiFjLmhnKXt2YXIgZD0hMSxlPTAsZj0wO2ZvcihsZXQgaCBvZiBjLnNpZ25hbHMpe2xldCBrPSF4WShhLGgpO2lmKHpZLmhhcyhoKSlkPSEwO2Vsc2V7bGV0IGw9YS5qLmdldChoKTtsP2smJiFsLmhnJiYoZisrLGMuaXNJbml0aWFsaXplZHx8bC5Cbi5wdXNoKCgpPT57QlkoYSxiKX0pKTprJiZlKyt9fWMuaXNJbml0aWFsaXplZD0hMDtjLlZ4P2QmJihjLmhnPSEwKTplPT09MCYmZj09PTAmJihjLmhnPSEwKTtpZihjLmhnKWZvcihsZXQgaCBvZiBjLkJuKWgoKX19fTsKRHBhPWZ1bmN0aW9uKGEpe2E9YS5vcGVuUG9wdXBBY3Rpb258fGE7dmFyIGI9YS5wb3B1cFR5cGUsYz1hLnBvcHVwO3N3aXRjaChiKXtjYXNlICJUT0FTVCI6Zm9yKGxldCBkIGluIGMpYy5oYXNPd25Qcm9wZXJ0eShkKSYmXy5wUCgoKT0+Xy5LKF8uVyx7ZGF0YTooKT0+Y30se25vdGlmaWNhdGlvbkFjdGlvblJlbmRlcmVyOkNZfSksYS5kdXJhdGlvbkhpbnRNcyxhLnJldXNlUG9wdXApO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImZlYCIrYik7fX07CkRZPWZ1bmN0aW9uKGEsYil7dmFyIGM9dVgoYSk7aWYoYyl7dmFyIGQ9dm9pZCAwLGU9Xy5CKGE/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KTtlJiZlLnJvb3RWZSYmKGQ9ZS5yb290VmUpO18ucVAoe2hyZWY6YyxwYXJhbXM6e2l0Y3Q6YS5jbGlja1RyYWNraW5nUGFyYW1zLGF1dG9uYXY6Yj8uYXV0b25hdn0sdGFyZ2V0Ol8uS08oKSYmXy5CKGEsXy5CaGEpPyJfYmxhbmsiOnZvaWQgMCxhazpkLGNsaWNrZWRWaXN1YWxFbGVtZW50OmIuY2xpY2tlZFZpc3VhbEVsZW1lbnQsaW1wbGljaXRHZXN0dXJlVHlwZTpiLmltcGxpY2l0R2VzdHVyZVR5cGUsZWxlbWVudDpiLmV2ZW50Py50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50P2IuZXZlbnQudGFyZ2V0OnZvaWQgMCxlbmRwb2ludDphLHBhcmVudExheWVyOmIucGFyZW50TGF5ZXJ9KX19OwpFcGE9ZnVuY3Rpb24oYSxiKXtpZihfLngoImVtYmVkc19lbmFibGVfZW1jM2RzX3BmcCIpKWlmKEVZKXt2YXIgYz1fLkIoYSxfLkF3KSxkPWM/LnZpZGVvSWQsZT1jPy5wbGF5bGlzdElkO2R8fGU/KGE9e3ZpZGVvX2lkOmR9LGMmJihhLnBsYXllcl9wYXJhbXM9Yy5wbGF5ZXJQYXJhbXMpLGU/KGEubGlzdD1lLEVZLmxvYWRQbGF5bGlzdChhKSk6RVkubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGEpKTooYz1uZXcgXy5YaigiRW1jM2RzIFdhdGNoRW5kcG9pbnQgbWFsZm9ybWVkIix7Y29tbWFuZDpKU09OLnN0cmluZ2lmeShhKX0pLF8uR3AoYyksRFkoYSxiKSl9ZWxzZSBjPW5ldyBfLlhqKCJFbWMzZHMgV2F0Y2hFbmRwb2ludCByZXNvbHZlZCB3aXRob3V0IHBsYXllckFwaSIse2NvbW1hbmQ6SlNPTi5zdHJpbmdpZnkoYSl9KSxfLkdwKGMpLERZKGEsYik7ZWxzZSBEWShhLGIpfTtGWT1mdW5jdGlvbihhKXtyZXR1cm57cmVzb2x2ZTooYixjPXt9KT0+e2EoYixjLmZvcm18fHt9KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9fX07CkhZPWZ1bmN0aW9uKGEsYil7R1kucHVzaCh7YWN0aW9uOmEsY29udGV4dDpifSl9O0ZwYT1mdW5jdGlvbigpe1RXKEdZLCh7YWN0aW9uOmEsY29udGV4dDpifSk9PntfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKGEse2Zvcm06Yn0pfHxKWChhLCJBY3Rpb24gbm90IGhhbmRsZWQgYnkgQ29tbWFuZEhhbmRsZXIiLEhvYSl9KX07CklZPWZ1bmN0aW9uKGEsYixjKXtmb3IobGV0IGYgb2YgaG9hKGEpKUhZKGYsYyk7YT1iLmRhdGE/LmFjdGlvbnM/P1tdO2Zvcih2YXIgZCBvZiBhKUhZKGQsYyk7ZD1iLmRhdGE/LmNvbW1hbmRzPz9bXTtmb3IodmFyIGUgb2YgZClIWShlLGMpOyhlPWIuZGF0YT8uY29tbWFuZCkmJkhZKGUsYyk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zPz9bXSxjLnNvdXJjZURhdGEpO3ZYKGIuZGF0YT8ub25SZXNwb25zZVJlY2VpdmVkQ29tbWFuZHM/P1tdLGMuc291cmNlRGF0YSk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHM/P1tdLGMuc291cmNlRGF0YSk7KGI9Yi5kYXRhPy51cGRhdGVGbG93Q29tbWFuZCkmJkhZKGIsYyl9OwpKWT1hc3luYyBmdW5jdGlvbihhLGI9Xy5MaGEpe3ZhciBjPWI7Xy5CKGEsXy5BeSl8fChjPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl8fCIifSxiKSk7Yj1hd2FpdCBfLnkoKS5yZXNvbHZlKF8uSHkpKCk7aWYoYi5KdyhhKSlyZXR1cm4gYi5RaShhLGMpLnRoZW4oZD0+ZD8uZGF0YT9kLmRhdGE6ZCkudGhlbihkPT57dmFyIGU7KGU9ZD8uZGF0YT8udHJhY2tpbmdQYXJhbXMpJiZfLmx4KF8uaHgoKSxlKTtyZXR1cm57Y29kZTpkJiZkLmVycm9yPyJFUlJPUiI6IlNVQ0NFU1MiLGRhdGE6ZH19KTt0aHJvdyBuZXcgXy5Yaigibm8gcmVxdWVzdCBidWlsZGVyIGZvdW5kIixhKTt9O0hwYT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoYSkuc29tZShiPT5iIGluIEdwYSl9OwpLWT1mdW5jdGlvbihhKXt2YXIgYj1hLmRhdGE/LmNvbnRlbnRzPy5bMF07aWYoIWJ8fCFIcGEoYikpcmV0dXJuIGE7Yj17b3BlblBvcHVwQWN0aW9uOntwb3B1cFR5cGU6IkRJQUxPRyIscG9wdXA6Yn19O2EuZGF0YS5hY3Rpb25zfHwoYS5kYXRhLmFjdGlvbnM9W10pO2EuZGF0YS5hY3Rpb25zLnB1c2goYik7cmV0dXJuIGF9OwpNWT1mdW5jdGlvbihhLGIsYyl7Xy5CKGEsXy5BeSkmJmEuY2xpY2tUcmFja2luZ1BhcmFtcyYmKExZPV8uVXcoYS5jbGlja1RyYWNraW5nUGFyYW1zKSk7cmV0dXJuIEpZKGEsYykudGhlbihkPT57aWYoXy5CKGEsXy5BeSk/LnJlcXVlc3Q9PT0iQ09OVElOVUFUSU9OX1JFUVVFU1RfVFlQRV9SRUVMX1dBVENIX1NFUVVFTkNFIil7dmFyIGU9ZC5kYXRhO2UmJiFlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMmJihlLmVudHJpZXN8fGUucHJldkVudHJpZXMpJiYoZS5lbnRyaWVzPyhlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnM9W10sZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zLnB1c2goe2FwcGVuZFJlZWxXYXRjaFNlcXVlbmNlQ29udGludWF0aW9uRW50cmllc0FjdGlvbjp7ZW50cmllczplLmVudHJpZXMsY29udGludWF0aW9uRW5kcG9pbnQ6ZS5jb250aW51YXRpb25FbmRwb2ludH19KSk6ZS5wcmV2RW50cmllcyYmKGUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucz1bXSwKZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zLnB1c2goe2FwcGVuZFJlZWxXYXRjaFNlcXVlbmNlQ29udGludWF0aW9uRW50cmllc0FjdGlvbjp7cHJldkVudHJpZXM6ZS5wcmV2RW50cmllcyxwcmV2Q29udGludWF0aW9uRW5kcG9pbnQ6ZS5wcmV2Q29udGludWF0aW9uRW5kcG9pbnR9fSkpKX1pZihfLkIoYSxfLlV6KXx8Xy5CKGEsXy5kTykpYi5jdXJyZW50RGF0YXx8KGIuY3VycmVudERhdGE9Xy5YRD8ucmVzcG9uc2U/P3t9KSxiLnNvdXJjZURhdGF8fChiLnNvdXJjZURhdGE9YSk7SVkoYSxLWShkKSxiKTtfLkIoYSxfLkF5KSYmZD8uZGF0YT8udHJhY2tpbmdQYXJhbXMmJl8ubHgoXy5oeCgpLGQuZGF0YS50cmFja2luZ1BhcmFtcyxMWSk7cmV0dXJuIGR9LGQ9Pnt2YXIgZT1PYmplY3Qua2V5cyhhKS5maWx0ZXIoZj0+Xy5NYShmLCJFbmRwb2ludCIpKVswXTtlJiYoZT1hW2VdLChlPWU/Lm9uRmFpbHVyZUFjdGlvbj8/ZT8ub25GYWlsdXJlQ29tbWFuZCkmJkhZKGUsYikpO3Rocm93IGQ7Cn0pfTtJcGE9ZnVuY3Rpb24oYSxiKXtfLkIoYSxfLmNFKT8ubmF2aWdhdGlvblR5cGU9PT0iQlJPV1NFX05BVklHQVRJT05fVFlQRV9TVEFZX09OX1BBR0UiP01ZKGEsYik6RFkoYSxiKX07SnBhPWZ1bmN0aW9uKGEsYil7aWYoYT0oXy5CKGEsXy5TRCl8fGEpLmNvbW1hbmRzKWZvcihsZXQgYyBvZiBhKV8uS00oYyk/Xy5BSihjLGIuc291cmNlRGF0YSwhMCxiKTpIWShjLGIpfTsKTHBhPWFzeW5jIGZ1bmN0aW9uKGEpe2E9Xy5CKGEsS3BhKTtpZihhPy50ZXh0JiZuYXZpZ2F0b3IuY2xpcGJvYXJkKXRyeXtpZihhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChhLnRleHQpLGEuc3VjY2Vzc0FjdGlvbnMmJmEuc3VjY2Vzc0FjdGlvbnMubGVuZ3RoIT09MClmb3IobGV0IGIgb2YgYS5zdWNjZXNzQWN0aW9ucylfLkFKKGIse30sITEpfWNhdGNoKGIpe2lmKGEuZmFpbHVyZUFjdGlvbnMmJmEuZmFpbHVyZUFjdGlvbnMubGVuZ3RoIT09MClmb3IobGV0IGMgb2YgYS5mYWlsdXJlQWN0aW9ucylfLkFKKGMse30sITEpfX07TXBhPWZ1bmN0aW9uKGEpeygwLF8ud2lhKSh7bm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbjp7dG9nZ2xlQnV0dG9uUmVuZGVyZXI6YS5zb3VyY2VEYXRhfX0sYj0+KHsuLi5iLG5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b246e3RvZ2dsZUJ1dHRvblJlbmRlcmVyOmEuc291cmNlRGF0YX19KSl9OwpOcGE9ZnVuY3Rpb24oYSxiKXtNWShhLGIpLnRoZW4oKCk9PntNcGEoYil9KX07UHBhPWZ1bmN0aW9uKGEpe18ucVAoe2hyZWY6Xy5LeihgdGVsOiR7Xy5CKGEsT3BhKS5waG9uZU51bWJlcn1gLFtfLkhxXSkudG9TdHJpbmcoKSxlbmRwb2ludDphfSl9O1JwYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIEpZKGEsYykudGhlbihkPT57SVkoYSxLWShkKSxiKTt2YXIgZT1fLldEKCgpPT5kLmRhdGEucmVkaXJlY3RFbmRwb2ludCk7ZSYmXy5BSihlLGQuZGF0YSwhMSl9LGQ9PntfLnBQKCgpPT5RcGEpO3Rocm93IGQ7fSl9O1RwYT1mdW5jdGlvbihhKXt2YXIgYj1fLkIoYSxTcGEpLGM9YHNtczoke2IucGhvbmVOdW1iZXJzJiZiLnBob25lTnVtYmVyc1swXX1gO2IubWVzc2FnZVRleHQmJihjKz1gPyZib2R5PSR7ZW5jb2RlVVJJKGIubWVzc2FnZVRleHQpfWApO18ucVAoe2hyZWY6Xy5LeihjLFtfLk9xXSkudG9TdHJpbmcoKSxlbmRwb2ludDphfSl9OwpVcGE9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2RpYWxvZyJ9O05ZPWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgXy5GSjtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLnlQKSk7Yj8ucnEoKSYmYi5sZCgpO3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNkaWFsb2ciP18uWU0/c2V0VGltZW91dCgoKT0+e18uJE0oIiIpO2EoKX0sMTAwKTpfLlpNKCkudGhlbigoKT0+e2EoKX0pOmEoKX0pfTsKV3BhPWZ1bmN0aW9uKGEsYixjLGQpe1ZwYShjKTtjPU9ZKGEpO3ZhciBlPW5hdmlnYXRvcixmPV8uZnImJl8udygiTVdFQl9JT1NfTkFUSVZFX1NIQVJFIiksaD17dXJsOmN9O2lmKCghXy5mcnx8ZikmJmUuc2hhcmUmJmMmJmUuY2FuU2hhcmUmJmUuY2FuU2hhcmUoaCkpe2xldCBrPV8uRXgoXy5oeCgpLHt2ZVR5cGU6OTc3MH0pLGw9e291dGJvdW5kQXBwRGF0YTp7b3V0Ym91bmRBcHA6IkRJUkVDVF9TWVNURU1fQUNUSVZJVFlfRElBTE9HIn0sc2hhcmluZ0RhdGE6e3NlcmlhbGl6ZWRTaGFyZUVudGl0eTpkfX07Xy5KTyhrLGwsNyk7ZS5zaGFyZShoKS50aGVuKCgpPT57dFgoayxsLDcpfSkuY2F0Y2gobT0+e20ubmFtZSE9PSJBYm9ydEVycm9yIiYmKF8uSXAobmV3IF8uWGooIlN5c3RlbSBTaGFyZSBQYW5lbCBmYWlsZWQgdG8gb3Blbi4iKSksUFkoYSxiKSl9KX1lbHNlIFBZKGEsYil9OwpWcGE9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9Xy5oeCgpO18uRE8oYiwyMTc2MCx2b2lkIDAse2xheWVyOjcscGFyZW50TGF5ZXI6MH0pO18ubHgoYixhLHZvaWQgMCw3KX19O1BZPWZ1bmN0aW9uKGEsYil7dmFyIGM9T1koYSk7Xy5ncnx8Xy5URSgpfHxfLnJQKCk/Xy55KCkucmVzb2x2ZShfLnlQKS5vcGVuRGlhbG9nKHtVbjooKT0+Xy5LKFhwYSx7ZGF0YTphfSl9KTpfLnlOKHtoZWFkZXJUaXRsZToiU2hhcmUiLEdiOigpPT5fLksoImRpdiIse2NsYXNzOiJib3R0b20tc2hlZXQtc2hhcmUtaXRlbSJ9LF8uSyhfLk8se0E6KCk9PmMsdGhlbjpkPT5fLksoUVkse3Nob3J0VXJsOmQsdHJhY2tpbmdQYXJhbXM6UlkoYSl9KX0pLFNZKGEpPy5tYXAoZD0+ZD8uc2hhcmVUYXJnZXRSZW5kZXJlcj9fLksoVFkse2RhdGE6ZC5zaGFyZVRhcmdldFJlbmRlcmVyfSk6bnVsbCkpLEhhOiExLGZvY3VzT25DbG9zZTpiPy5ldmVudD8udGFyZ2V0fSl9OwpTWT1mdW5jdGlvbihhKXtpZihhLmNvbnRlbnRzJiZhLmNvbnRlbnRzWzBdKXJldHVybihhPWEuY29udGVudHNbMF0udGhpcmRQYXJ0eU5ldHdvcmtTZWN0aW9uPy5zaGFyZVRhcmdldENvbnRhaW5lcj8udGhpcmRQYXJ0eVNoYXJlVGFyZ2V0U2VjdGlvblJlbmRlcmVyPy5zaGFyZVRhcmdldHMpJiZhLmxlbmd0aD41P2Euc2xpY2UoMCw1KTphfTtPWT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb250ZW50cyYmYS5jb250ZW50c1swXT9fLkIoYS5jb250ZW50c1swXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LmNvcHlMaW5rQ29udGFpbmVyLFVZKT8uc2hvcnRVcmw6IiJ9O1JZPWZ1bmN0aW9uKGEpe3JldHVybiBfLkIoXy5CKGE/LmNvbnRlbnRzPy5bMF0udGhpcmRQYXJ0eU5ldHdvcmtTZWN0aW9uPy5jb3B5TGlua0NvbnRhaW5lcixVWSk/LmNvcHlCdXR0b24sXy5WTCk/LnRyYWNraW5nUGFyYW1zfTsKWnBhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5aeik/LnNoYXJlUGFuZWxUeXBlLGQ9Xy5CKGEsXy5aeik/LnNlcmlhbGl6ZWRTaGFyZUVudGl0eTtNWShhLGIpLnRoZW4oZT0+e1lwYShlLGIsYyxkKX0pfTtZcGE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5jb2RlPT09IlNVQ0NFU1MiJiZhLmRhdGEpYT1hLmRhdGEsYS5jb250ZW50cyYmYS5jb250ZW50cy51bmlmaWVkU2hhcmVQYW5lbFJlbmRlcmVyJiZjPT09IlNIQVJFX1BBTkVMX1RZUEVfVU5JRklFRF9TSEFSRV9QQU5FTCImJldwYShhLmNvbnRlbnRzLnVuaWZpZWRTaGFyZVBhbmVsUmVuZGVyZXIse2V2ZW50OmI/LmV2ZW50fSxhLnRyYWNraW5nUGFyYW1zLGQpO2Vsc2V7Xy5nRj09PXZvaWQgMCYmKF8uZ0Y9a29hKCkpO2xldCBlPV8uZ0Y/JHBhOmFxYTtfLnBQKCgpPT5lKX19O2JxYT1mdW5jdGlvbihhKXthPWEucGFuZWxJZGVudGlmaWVyfHxhLmlkZW50aWZpZXI/LnRhZztpZighYSl0aHJvdyBFcnJvcigiZ2UiKTtyZXR1cm4gYX07CmRxYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8uQihhLF8uUVcpO2lmKGMpe3ZhciBkPV8uV0QoKCk9PmI/LmV2ZW50Py5jdXJyZW50VGFyZ2V0fHxiPy5lbGVtZW50KSxlPWJxYShjKTt2YXIgZj1jP2MuZ2xvYmFsQ29uZmlndXJhdGlvbj8uaW5pdGlhbFN0YXRlfHxjLmVuZ2FnZW1lbnRQYW5lbDp2b2lkIDA7aWYoZSl7bGV0IGg9Xy55KCkucmVzb2x2ZShfLmJMKSxrPWF3YWl0IF8ueSgpLnJlc29sdmUoXy5IeSkoKTthd2FpdCBjcWEoaCx7aWRlbnRpZmllcjplLElqOmYsdGFyZ2V0OmR9KTtjLmdsb2JhbENvbmZpZ3VyYXRpb24mJihhPWF3YWl0IGsuUWkoYSksYXdhaXQgVlkoaCx7aWRlbnRpZmllcjplLElqOmE/LmNvbnRlbnQsdG46ITF9KSl9fX07CmVxYT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5FTyh3aW5kb3csYSwibG9naW5Qb3B1cCIsIndpZHRoPTgwMCxoZWlnaHQ9NjAwLHJlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMiKSlIbmEoKCk9PntiKCl9KSxhLm1vdmVUbygoc2NyZWVuLndpZHRoLTgwMCkvMiwoc2NyZWVuLmhlaWdodC02MDApLzIpfTtmcWE9ZnVuY3Rpb24oYSxiKXtfLktPKCk/KChiPXVYKGEpKSYmXy5FTyh3aW5kb3csYiksYS5jbGlja1RyYWNraW5nUGFyYW1zJiZfLnpKKGEuY2xpY2tUcmFja2luZ1BhcmFtcykpOl8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiI/KGE9dVgoYSkpJiZlcWEoYSwoKT0+e3dpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX0pOkRZKGEsYil9OwpncWE9ZnVuY3Rpb24oYSl7aWYoYS5zb3VyY2VEYXRhLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyPy5jaGFubmVsSWQpKDAsXy54UCkoe2NoYW5uZWxJZDphLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIuY2hhbm5lbElkfSxjPT4oey4uLmMsc3Vic2NyaWJlZDohYS5zb3VyY2VEYXRhLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLnN1YnNjcmliZWR9KSk7ZWxzZXt2YXIgYj1fLkIoYS5zb3VyY2VEYXRhLnNlcnZpY2VFbmRwb2ludCxfLkR5KTtiJiYoMCxfLnhQKSh7Y2hhbm5lbElkOmIuY2hhbm5lbElkcz8uWzBdfSxjPT4oey4uLmMsc3Vic2NyaWJlZDohMX0pKX19O1dZPWZ1bmN0aW9uKGEsYixjKXtNWShhLGIsYykudGhlbigoKT0+e2dxYShiKX0pfTsKaHFhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5WRCksZD1jLnVybDtjPWMudGFyZ2V0PT09IlRBUkdFVF9ORVdfV0lORE9XIj8iX2JsYW5rIjoiIjt2YXIgZTthLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihlPXtpdGN0OmEuY2xpY2tUcmFja2luZ1BhcmFtc30pO3ZhciBmPWI/LnNvdXJjZURhdGE/LnBhcmFtcz8udGltZXN0YW1wO2YmJihlPXsuLi5lLHRpbWVzdGFtcDpmfSk7Xy5xUCh7aHJlZjpkLHBhcmFtczplLHRhcmdldDpjLGVuZHBvaW50OmEsYWs6Xy5CKGE/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucm9vdFZlLGVsZW1lbnQ6Yi5ldmVudD8udGFyZ2V0fSl9O2lxYT1mdW5jdGlvbihhKXt3b2EoXy5CKGEsXy5mY2EpPy5hZGRpdGlvbmFsRGF0YXMpfTsKanFhPWZ1bmN0aW9uKGEpe3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZSIsYj0+e3ZhciBjPWIuZGV0YWlsO2MucGFyYW1zfHwoYy5wYXJhbXM9e30pO2I9Yy5wYXJhbXM7dmFyIGQ9Yi5pdGN0O2QmJihfLmh4KCkuQ2YoZCksZGVsZXRlIGIuaXRjdCk7Yj1jLmhyZWY7aWYoIVhZW2JdKXtkPSExO2lmKGIuc3RhcnRzV2l0aCgiaHR0cCIpfHxiLnN0YXJ0c1dpdGgoIi8vIikpe3ZhciBlPWI/Xy5QTShiKS5ob3N0bmFtZXx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lOiIiLGY9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO2lmKGQ9ZSE9PWYpZT1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLGY9Zi5zcGxpdCgiLiIpLnNsaWNlKC0yKSxlLmxlbmd0aCYmZi5sZW5ndGgmJihkPWUuam9pbigiLiIpIT09Zi5qb2luKCIuIikpfVhZW2JdPWR9ZD1YWVtiXTtpZihkKV8uRU8od2luZG93LGIpO2Vsc2V7ZD1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKTthOntpZighYS5nZXRWaWRlb0RhdGEoKS5pc0xpdmUpe2lmKChmPQpjLnBhcmFtcykmJmYudGltZXN0YW1wKXtmPWYudGltZXN0YW1wO2JyZWFrIGF9aWYoIV8ueCgiZW1iZWRzX2VtYzNkc19hbHdheXNfY3VydGltZV9rcyIpJiYoZj0vXmh0dHBzPzpcL1wvd3d3LnlvdXR1YmUuY29tXC93YXRjaFw/dj0oW0EtWmEtejAtOV8tXXsxMX0pLy5leGVjKGMuaHJlZik/LlsxXSkmJmY9PT1hLmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkJiYoZj1hLmdldEN1cnJlbnRUaW1lKCksZj4wKSl7Zj1NYXRoLmZsb29yKGYpLnRvU3RyaW5nKCk7YnJlYWsgYX19Zj12b2lkIDB9ZT0oZT1jLmVsZW1lbnQpP18uVXgoZSk/P3ZvaWQgMDp2b2lkIDA7YTp7aWYoZSl7dmFyIGg9ZS5nZXRBc0pzb24oKTtlPWgudmVUeXBlO2g9aC50cmFja2luZ1BhcmFtcztpZihlKXtlPVN0cmluZyhlKTticmVhayBhfWlmKGgmJihlPV8uRW8oXy5DbyhoKSwyKSkpe2U9ZS50b1N0cmluZygpO2JyZWFrIGF9fWU9dm9pZCAwfWV8fChNYXRoLnJhbmRvbSgpPF8uc2ooImVtYmVkc19sb2dfd2FybmluZ19zYW1wbGVfc2l6ZV9yYXRlIiwKLjAwMSkmJl8uSXAobmV3IF8uWGooIlVzaW5nIGZhbGxiYWNrIFZFIGZvciBlbGVtZW50OiAiLHt0YWdOYW1lOmMuZWxlbWVudD8udGFnTmFtZSxjbGFzc0xpc3Q6Yy5lbGVtZW50Py5jbGFzc0xpc3QudG9TdHJpbmcoKSxkZXRhaWw6Y30pKSxlPSgyMTQyODMpLnRvU3RyaW5nKCkpO2M9e307ZC53aWRnZXRSZWZlcnJlciYmKGMuZW1iZWRzX3dpZGdldF9yZWZlcnJlcj1kLndpZGdldFJlZmVycmVyKTtkLmxvYWRlclVybCYmKGMuZW1iZWRzX3JlZmVycmluZ19ldXJpPWQubG9hZGVyVXJsLnN1YnN0cmluZygwLDEyOCkpO2QuaXNFbWJlZCYmZC5lbWJlZHNJZnJhbWVPcmlnaW5QYXJhbSYmKGMuZW1iZWRzX3JlZmVycmluZ19vcmlnaW49ZC5lbWJlZHNJZnJhbWVPcmlnaW5QYXJhbSk7ZC5pc0VtYmVkJiZkLmVtYmVkc0ZlYXR1cmUmJihjLmZlYXR1cmU9ZC5lbWJlZHNGZWF0dXJlKTtkPWU7Yj0obmV3IFVSTChiLCJodHRwczovL3d3dy55b3V0dWJlLmNvbSIpKS50b1N0cmluZygpO2YmJgooYj1fLmVqKGIse3RpbWVfY29udGludWU6Zn0pKTtpZihkKXtpZighXy5NaygiY29iYWx0Iikpe2Y9W107ZT0wO2ZvcihoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWQuY2hhckNvZGVBdChoKTtrPjI1NSYmKGZbZSsrXT1rJjI1NSxrPj49OCk7ZltlKytdPWt9ZD1fLnNjKGYsNCl9Yj1fLmVqKGIse3NvdXJjZV92ZV9wYXRoOmR9KX1jJiYoYj1fLmVqKGIsYykpO18uRU8od2luZG93LGIpfX0pfTsKa3FhPWZ1bmN0aW9uKCl7dmFyIGE9e307YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsL2Nsb3NlZF9jYXB0aW9uL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0zLjAxIDNDMyAzIDMgMyAzLjAxIDNMMyAyMWgxOFYzSDMuMDF6TTExIDExSDkuNXYtLjVoLTJ2M2gyVjEzSDExdjFjMCAuNTUtLjQ1IDEtMSAxSDdjLS41NSAwLTEtLjQ1LTEtMXYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxem03IDBoLTEuNXYtLjVoLTJ2M2gyVjEzSDE4djFjMCAuNTUtLjQ1IDEtMSAxaC0zYy0uNTUgMC0xLS40NS0xLTF2LTRjMC0uNTUuNDUtMSAxLTFoM2MuNTUgMCAxIC40NSAxIDF2MXoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbF9leHBlcmltZW50YWwvY2xvc2VkX2NhcHRpb25zL3YzLzI0cHguc3ZnIl09Cl8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIxIDNIM2EyIDIgMCAwMC0yIDJ2MTRhMiAyIDAgMDAyIDJoMThhMiAyIDAgMDAyLTJWNWEyIDIgMCAwMC0yLTJaTTkuMDM4IDguMDg5Yy42OTcuMTc4IDEuMjk0LjYwNiAxLjczNyAxLjE3NmExIDEgMCAwMS0xLjU3OCAxLjIyOGMtLjIxLS4yNy0uNDQ0LS40MTMtLjY1NC0uNDY3YS44Ni44NiAwIDAwLS42MzIuMDg1Yy0uMjIyLjExOS0uNDUzLjM0Mi0uNjMxLjY4NEEyLjY0IDIuNjQgMCAwMDcgMTJhMi42NCAyLjY0IDAgMDAuMjgxIDEuMjA1Yy4xNzcuMzQyLjQwOC41NjUuNjMuNjg0YS44Ni44NiAwIDAwLjYzMi4wODVjLjIwOS0uMDU0LjQ0NC0uMTk3LjY1NC0uNDY3YTEgMSAwIDAxMS41NzggMS4yMjhjLS40NDMuNTctMS4wNC45OTgtMS43MzcgMS4xNzZhMi44NiAyLjg2IDAgMDEtMi4wNjYtLjI1N2MtLjYzMS0uMzM2LTEuMTMxLS44ODEtMS40NjYtMS41MjZBNC42IDQuNiAwIDAxNSAxMmMtLjAwNC0uNzQuMTctMS40Ny41MDYtMi4xMjguMzM2LS42NDUuODM1LTEuMTkgMS40NjYtMS41MjZhMi44NiAyLjg2IDAgMDEyLjA2Ni0uMjU3Wm04IDBjLjY5Ny4xNzggMS4yOTQuNjA2IDEuNzM3IDEuMTc2YTEgMSAwIDAxLTEuNTc4IDEuMjI4Yy0uMjEtLjI3LS40NDQtLjQxMy0uNjU0LS40NjdhLjg2Ljg2IDAgMDAtLjYzMi4wODVjLS4yMjIuMTE5LS40NTMuMzQyLS42MzEuNjg0QTIuNjQgMi42NCAwIDAwMTUgMTJhMi42NCAyLjY0IDAgMDAuMjgxIDEuMjA1Yy4xNzcuMzQyLjQwOC41NjUuNjMuNjg0YS44Ni44NiAwIDAwLjYzMi4wODVjLjIwOS0uMDU0LjQ0NC0uMTk3LjY1NC0uNDY3YTEgMSAwIDAxMS41NzggMS4yMjhjLS40NDMuNTctMS4wNC45OTgtMS43MzcgMS4xNzZhMi44NiAyLjg2IDAgMDEtMi4wNjYtLjI1N2MtLjYzMS0uMzM2LTEuMTMxLS44ODEtMS40NjYtMS41MjZBNC42IDQuNiAwIDAxMTMgMTJjLS4wMDQtLjc0LjE3LTEuNDcuNTA2LTIuMTI4LjMzNi0uNjQ1LjgzNS0xLjE5IDEuNDY2LTEuNTI2YTIuODYgMi44NiAwIDAxMi4wNjYtLjI1N1oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvcGF1c2UvdjkvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNOSAxOUg3VjVoMlptOC0xNGgtMnYxNGgyWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9wYXVzZS92OS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTYuNSAzQTEuNSAxLjUgMCAwMDUgNC41djE1QTEuNSAxLjUgMCAwMDYuNSAyMWgyYTEuNSAxLjUgMCAwMDEuNS0xLjV2LTE1QTEuNSAxLjUgMCAwMDguNSAzaC0yWm05IDBBMS41IDEuNSAwIDAwMTQgNC41djE1YTEuNSAxLjUgMCAwMDEuNSAxLjVoMmExLjUgMS41IDAgMDAxLjUtMS41di0xNUExLjUgMS41IDAgMDAxNy41IDNoLTJaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsL3BsYXlfYXJyb3cvdjcvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJtNyA0IDEyIDgtMTIgOFY0eiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9wbGF5L3Y0LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNSA0LjYyM1YxOS4zOGExLjUgMS41IDAgMDAyLjI2IDEuMjlMMjIgMTIgNy4yNiAzLjMzQTEuNSAxLjUgMCAwMDUgNC42MjNaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwveW91dHViZV9sb2dvX2ljb24vdjYvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIxLjU4IDcuMTlhMi41MSAyLjUxIDAgMDAtMS43Ny0xLjc3QzE4LjI1IDUgMTIgNSAxMiA1cy02LjI1IDAtNy44MS40MmEyLjUxIDIuNTEgMCAwMC0xLjc3IDEuNzdBMjUuODcgMjUuODcgMCAwMDIgMTJhMjUuODcgMjUuODcgMCAwMC40MiA0LjgxIDIuNTEgMi41MSAwIDAwMS43NyAxLjc3QzUuNzUgMTkgMTIgMTkgMTIgMTlzNi4yNSAwIDcuODEtLjQyYTIuNTEgMi41MSAwIDAwMS43Ny0xLjc3QTI1Ljg3IDI1Ljg3IDAgMDAyMiAxMmEyNS44NyAyNS44NyAwIDAwLS40Mi00Ljgxek0xMCAxNC42NXYtNS4zTDE1IDEyeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC95b3V0dWJlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLApmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDVzLTYuMjQ5IDAtNy44MS40MmMtLjg2LjIzLTEuNTQuOTEtMS43NyAxLjc3QzIgOC43NSAyIDEyIDIgMTJzMCAzLjI1LjQyIDQuODFjLjIzLjg2LjkxIDEuNTQgMS43NyAxLjc3QzUuNzUxIDE5IDEyIDE5IDEyIDE5czYuMjQ5IDAgNy44MS0uNDJjLjg2LS4yMyAxLjU0LS45MSAxLjc3LTEuNzdDMjIgMTUuMjUgMjIgMTIgMjIgMTJzMC0zLjI1LS40Mi00LjgxYy0uMjMtLjg2LS45MS0xLjU0LTEuNzctMS43N0MxOC4yNDkgNSAxMiA1IDEyIDVabS0yIDEwVjlsNSAzLTUgM1oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9hcnJvd19jaXJjbGUvdjYvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIyIDEyYzAgNS41MS00LjQ5IDEwLTEwIDEwUzIgMTcuNTEgMiAxMmgxYzAgNC45NiA0LjA0IDkgOSA5czktNC4wNCA5LTktNC4wNC05LTktOUM4LjgxIDMgNS45MiA0LjY0IDQuMjggNy4zOGMtLjExLjE4LS4yMi4zNy0uMzEuNTZMMy45NCA4SDh2MUgxLjk2VjNoMXY0Ljc0Yy4wNC0uMDkuMDctLjE3LjExLS4yNS4xMS0uMjIuMjMtLjQyLjM1LS42M0M1LjIyIDMuODYgOC41MSAyIDEyIDJjNS41MSAwIDEwIDQuNDkgMTAgMTB6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2Fycm93X2NvdW50ZXJjbG9ja3dpc2UvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLAp3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMyAyYTEgMSAwIDAwLTEgMXY2aDZhMSAxIDAgMDAwLTJINS43NTdhOCA4IDAgMTEtMS40ODUgNy4wNyAxIDEgMCAxMC0xLjkzMS41MTcgMTAuMDAyIDEwLjAwMiAwIDAwMTguMDkzIDIuNzgyQTkuOTk5IDkuOTk5IDAgMDA0IDZWM2ExIDEgMCAwMC0xLTFaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvYmVsbC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTAgMjBoNGMwIDEuMS0uOSAyLTIgMnMtMi0uOS0yLTJ6bTEwLTIuNjVWMTlINHYtMS42NWwyLTEuODh2LTUuMTVDNiA3LjQgNy41NiA1LjEgMTAgNC4zNHYtLjM4YzAtMS40MiAxLjQ5LTIuNSAyLjk5LTEuNzYuNjUuMzIgMS4wMSAxLjAzIDEuMDEgMS43NnYuMzljMi40NC43NSA0IDMuMDYgNCA1Ljk4djUuMTVsMiAxLjg3em0tMSAuNDItMi0xLjg4di01LjQ3YzAtMi40Ny0xLjE5LTQuMzYtMy4xMy01LjEtMS4yNi0uNTMtMi42NC0uNS0zLjg0LjAzQzguMTUgNi4xMSA3IDcuOTkgNyAxMC40MnY1LjQ3bC0yIDEuODhWMThoMTR2LS4yM3oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2JlbGwvdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTYgMTlhNCA0IDAgMTEtOCAwSDQuNzY1QzMuMjEgMTkgMi4yNSAxNy4zMDQgMy4wNSAxNS45N2wxLjgwNi0zLjAxQTEgMSAwIDAwNSAxMi40NDZWOGE3IDcgMCAwMTE0IDB2NC40NDZjMCAuMTgxLjA1LjM2LjE0Mi41MTVsMS44MDcgMy4wMWMuOCAxLjMzMy0uMTYxIDMuMDI5LTEuNzE2IDMuMDI5SDE2Wk0xMiAzYTUgNSAwIDAwLTUgNXY0LjQ0NmEzIDMgMCAwMS0uNDI4IDEuNTQzTDQuNzY1IDE3aDE0LjQ2OGwtMS44MDUtMy4wMUEzIDMgMCAwMTE3IDEyLjQ0NVY4YTUgNSAwIDAwLTUtNVptLTIgMTZhMiAyIDAgMTA0IDBoLTRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Nsb2NrL3YxMC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNC45NyAxNi45NSAxMCAxMy44N1Y3aDJ2NS43Nmw0LjAzIDIuNDktMS4wNiAxLjd6TTEyIDNjLTQuOTYgMC05IDQuMDQtOSA5czQuMDQgOSA5IDkgOS00LjA0IDktOS00LjA0LTktOS05bTAtMWM1LjUyIDAgMTAgNC40OCAxMCAxMHMtNC40OCAxMC0xMCAxMFMyIDE3LjUyIDIgMTIgNi40OCAyIDEyIDJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2Nsb2NrL3YxMC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLApoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMiAxQzUuOTI1IDEgMSA1LjkyNSAxIDEyczQuOTI1IDExIDExIDExIDExLTQuOTI1IDExLTExUzE4LjA3NSAxIDEyIDFabTAgMmE5IDkgMCAxMTAgMTguMDAxQTkgOSAwIDAxMTIgM1ptMCAzYTEgMSAwIDAwLTEgMXY1LjU2NWwuNDg1LjI5MiAzLjMzIDJhMSAxIDAgMDAxLjAzLTEuNzE0TDEzIDExLjQzNVY3YTEgMSAwIDAwLTEtMVoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9jbG9zZWRfY2FwdGlvbi92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNiAxNHYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxSDkuNXYtLjVoLTJ2M2gyVjEzSDExdjFjMCAuNTUtLjQ1IDEtMSAxSDdjLS41NSAwLTEtLjQ1LTEtMXptOCAxaDNjLjU1IDAgMS0uNDUgMS0xdi0xaC0xLjV2LjVoLTJ2LTNoMnYuNUgxOHYtMWMwLS41NS0uNDUtMS0xLTFoLTNjLS41NSAwLTEgLjQ1LTEgMXY0YzAgLjU1LjQ1IDEgMSAxem02LTExSDR2MTZoMTZWNG0xLTF2MThIM1YzLjAxQzMgMyAzIDMgMy4wMSAzSDIxeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvY2xvc2VkX2NhcHRpb25zL3YzLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEgM0gzYTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxOGEyIDIgMCAwMDItMlY1YTIgMiAwIDAwLTItMlpNMyAxOVY1aDE4djE0SDNaTTYuOTcyIDguMzQ2Yy0uNjMxLjMzNi0xLjEzMS44ODEtMS40NjYgMS41MjZBNC42IDQuNiAwIDAwNSAxMmMtLjAwNC43NC4xNyAxLjQ3LjUwNiAyLjEyOC4zMzYuNjQ1LjgzNSAxLjE5MSAxLjQ2NiAxLjUyNmEyLjg2IDIuODYgMCAwMDIuMDY2LjI1N2MuNjk3LS4xNzggMS4yOTQtLjYwNiAxLjczNy0xLjE3NmExIDEgMCAwMC0xLjU3OC0xLjIyOGMtLjIxLjI3LS40NDQuNDEzLS42NTQuNDY3YS44Ni44NiAwIDAxLS42MzItLjA4NWMtLjIyMi0uMTE5LS40NTMtLjM0Mi0uNjMxLS42ODRBMi42NCAyLjY0IDAgMDE3IDEyYTIuNiAyLjYgMCAwMS4yODEtMS4yMDVjLjE3Ny0uMzQyLjQwOC0uNTY1LjYzLS42ODRhLjg2Ljg2IDAgMDEuNjMyLS4wODVjLjIwOS4wNTQuNDQ0LjE5Ny42NTQuNDY3YTEgMSAwIDAwMS41NzgtMS4yMjhjLS40NDMtLjU3LTEuMDQtLjk5OC0xLjczNy0xLjE3NmEyLjg2IDIuODYgMCAwMC0yLjA2Ni4yNTdabTggMGMtLjYzMS4zMzYtMS4xMzEuODgxLTEuNDY2IDEuNTI2QTQuNiA0LjYgMCAwMDEzIDEyYy0uMDA0Ljc0LjE3IDEuNDcuNTA2IDIuMTI4LjMzNi42NDUuODM1IDEuMTkxIDEuNDY2IDEuNTI2YTIuODYgMi44NiAwIDAwMi4wNjYuMjU3Yy42OTctLjE3OCAxLjI5NC0uNjA2IDEuNzM3LTEuMTc2YTEgMSAwIDAwLTEuNTc4LTEuMjI4Yy0uMjEuMjctLjQ0NC40MTMtLjY1NC40NjdhLjg2Ljg2IDAgMDEtLjYzMi0uMDg1Yy0uMjIyLS4xMTktLjQ1My0uMzQyLS42MzEtLjY4NEEyLjY0IDIuNjQgMCAwMTE1IDEyYTIuNiAyLjYgMCAwMS4yODEtMS4yMDVjLjE3Ny0uMzQyLjQwOC0uNTY1LjYzLS42ODRhLjg2Ljg2IDAgMDEuNjMyLS4wODVjLjIwOS4wNTQuNDQ0LjE5Ny42NTQuNDY3YTEgMSAwIDAwMS41NzgtMS4yMjhjLS40NDMtLjU3LTEuMDQtLjk5OC0xLjczNy0xLjE3NmEyLjg2IDIuODYgMCAwMC0yLjA2Ni4yNTdaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2dlYXIvdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDkuNWMxLjM4IDAgMi41IDEuMTIgMi41IDIuNXMtMS4xMiAyLjUtMi41IDIuNS0yLjUtMS4xMi0yLjUtMi41IDEuMTItMi41IDIuNS0yLjVtMC0xYy0xLjkzIDAtMy41IDEuNTctMy41IDMuNXMxLjU3IDMuNSAzLjUgMy41IDMuNS0xLjU3IDMuNS0zLjUtMS41Ny0zLjUtMy41LTMuNXpNMTMuMjIgM2wuNTUgMi4yLjEzLjUxLjUuMThjLjYxLjIzIDEuMTkuNTYgMS43Mi45OGwuNC4zMi41LS4xNCAyLjE3LS42MiAxLjIyIDIuMTEtMS42MyAxLjU5LS4zNy4zNi4wOC41MWMuMDUuMzIuMDguNjQuMDguOThzLS4wMy42Ni0uMDguOThsLS4wOC41MS4zNy4zNiAxLjYzIDEuNTktMS4yMiAyLjExLTIuMTctLjYyLS41LS4xNC0uNC4zMmMtLjUzLjQzLTEuMTEuNzYtMS43Mi45OGwtLjUuMTgtLjEzLjUxLS41NSAyLjI0aC0yLjQ0bC0uNTUtMi4yLS4xMy0uNTEtLjUtLjE4Yy0uNi0uMjMtMS4xOC0uNTYtMS43Mi0uOTlsLS40LS4zMi0uNS4xNC0yLjE3LjYyLTEuMjEtMi4xMiAxLjYzLTEuNTkuMzctLjM2LS4wOC0uNTFjLS4wNS0uMzItLjA4LS42NS0uMDgtLjk4cy4wMy0uNjYuMDgtLjk4bC4wOC0uNTEtLjM3LS4zNkwzLjYgOC41NmwxLjIyLTIuMTEgMi4xNy42Mi41LjE0LjQtLjMyYy41My0uNDQgMS4xMS0uNzcgMS43Mi0uOTlsLjUtLjE4LjEzLS41MS41NC0yLjIxaDIuNDRNMTQgMmgtNGwtLjc0IDIuOTZjLS43My4yNy0xLjQuNjYtMiAxLjE0bC0yLjkyLS44My0yIDMuNDYgMi4xOSAyLjEzYy0uMDYuMzctLjA5Ljc1LS4wOSAxLjE0cy4wMy43Ny4wOSAxLjE0bC0yLjE5IDIuMTMgMiAzLjQ2IDIuOTItLjgzYy42LjQ4IDEuMjcuODcgMiAxLjE0TDEwIDIyaDRsLjc0LTIuOTZjLjczLS4yNyAxLjQtLjY2IDItMS4xNGwyLjkyLjgzIDItMy40Ni0yLjE5LTIuMTNjLjA2LS4zNy4wOS0uNzUuMDktMS4xNHMtLjAzLS43Ny0uMDktMS4xNGwyLjE5LTIuMTMtMi0zLjQ2LTIuOTIuODNjLS42LS40OC0xLjI3LS44Ny0yLTEuMTRMMTQgMnoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2dlYXIvdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIuODQ0IDFoLTEuNjg3YTIgMiAwIDAwLTEuOTYyIDEuNjE2IDMgMyAwIDAxLTMuOTIgMi4yNjMgMiAyIDAgMDAtMi4zOC44OTFsLS44NDIgMS40NmEyIDIgMCAwMC40MTcgMi41MDcgMyAzIDAgMDEwIDQuNTI1IDIgMiAwIDAwLS40MTcgMi41MDdsLjg0MyAxLjQ2YTIgMiAwIDAwMi4zOC44OTIgMy4wMDEgMy4wMDEgMCAwMTMuOTE4IDIuMjYzQTIgMiAwIDAwMTEuMTU3IDIzaDEuNjg2YTIgMiAwIDAwMS45NjMtMS42MTUgMy4wMDIgMy4wMDIgMCAwMTMuOTItMi4yNjMgMiAyIDAgMDAyLjM4LS44OTJsLjg0Mi0xLjQ2YTIgMiAwIDAwLS40MTgtMi41MDcgMyAzIDAgMDEwLTQuNTI2IDIgMiAwIDAwLjQxOC0yLjUwOGwtLjg0My0xLjQ2YTIgMiAwIDAwLTIuMzgtLjg5MSAzIDMgMCAwMS0zLjkxOS0yLjI2M0EyIDIgMCAwMDEyLjg0NCAxWm0tMS43NjcgMi4zNDdhNiA2IDAgMDAuMDgtLjM0N2gxLjY4N2E0Ljk4IDQuOTggMCAwMDIuNDA3IDMuMzcgNC45OCA0Ljk4IDAgMDA0LjEyMi40bC44NDMgMS40NkE0Ljk4IDQuOTggMCAwMDE4LjUgMTJhNC45OCA0Ljk4IDAgMDAxLjcxNiAzLjc3bC0uODQzIDEuNDZhNC45OCA0Ljk4IDAgMDAtNC4xMjMuNEE0Ljk3OSA0Ljk3OSAwIDAwMTIuODQzIDIxaC0xLjY4NmE0Ljk4IDQuOTggMCAwMC0yLjQwOC0zLjM3MSA0Ljk5OSA0Ljk5OSAwIDAwLTQuMTItLjM5OWwtLjg0NC0xLjQ2QTQuOTc5IDQuOTc5IDAgMDA1LjUgMTJhNC45OCA0Ljk4IDAgMDAtMS43MTUtMy43N2wuODQyLTEuNDU5YTQuOTggNC45OCAwIDAwNC4xMjMtLjM5OSA0Ljk4MSA0Ljk4MSAwIDAwMi4zMjctMy4wMjVaTTE2IDEyYTQgNCAwIDExLTcuOTk5IDAgNCA0IDAgMDE4IDBabS00IDJhMiAyIDAgMTAwLTQgMiAyIDAgMDAwIDRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2xpbmsvdjgvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTcuNzggMTZjMi4zNSAwIDQuMjYtMi4wMiA0LjI2LTQuNVMyMC4xMyA3IDE3Ljc4IDdIMTN2MWg0Ljc4YzEuOCAwIDMuMjYgMS41NyAzLjI2IDMuNVMxOS41OCAxNSAxNy43OCAxNUgxM3YxaDQuNzh6TTExIDE1SDYuMTljLTEuOCAwLTMuMjYtMS41Ny0zLjI2LTMuNVM0LjM5IDggNi4xOSA4SDExVjdINi4xOWMtMi4zNSAwLTQuMjYgMi4wMi00LjI2IDQuNVMzLjg0IDE2IDYuMTkgMTZIMTF2LTF6bTUtNEg4djFoOHYtMXoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvbGluay92OC8yNHB4LnN2ZyJdPV8uSygic3ZnIiwKe3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik05IDE4Yy4yMjYgMCAuNDQ4LS4wMTIuNjY3LS4wMzdBOC4wMDEgOC4wMDEgMCAwMTguMDcgMTZIN2E0IDQgMCAxMTAtOGgyYTQgNCAwIDAxNCA0IDIgMiAwIDAwMS42NjggMS45NzNBNS45OTkgNS45OTkgMCAwMDkgNkg3YTYgNiAwIDEwMCAxMmgyWm04IDBhNiA2IDAgMTAwLTEyaC0yYy0uMjI1IDAtLjQ0OC4wMTItLjY2Ny4wMzZBOCA4IDAgMDExNS45MyA4SDE3YTQgNCAwIDExMCA4aC0yYTQgNCAwIDAxLTQtNCAyIDIgMCAwMC0xLjY2OC0xLjk3M0E2IDYgMCAwMDE1IDE4aDJaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvc2hhcmUvdjEyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLApoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNSA1LjYzIDIwLjY2IDEyIDE1IDE4LjM3VjE0aC0xYy0zLjk2IDAtNy4xNCAxLTkuNzUgMy4wOSAxLjg0LTQuMDcgNS4xMS02LjQgOS44OS03LjFsLjg2LS4xM1Y1LjYzTTE0IDN2NkM2LjIyIDEwLjEzIDMuMTEgMTUuMzMgMiAyMWMyLjc4LTMuOTcgNi40NC02IDEyLTZ2Nmw4LTktOC05eiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9zaGFyZS92MTIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCAzLjE1OFY3LjUxYy01LjQyOC4yMjMtOC4yNyAzLjc1LTguODc1IDExLjE5OS0uMDQuNDg3LS4wNy45NzUtLjA5IDEuNDY0bC0uMDE0LjM5NWMtLjAxNC40NzMuNTc4LjY4NC44OC4zMi4zMDItLjM2OC42MS0uNzMuOTI1LTEuMDg2bC4yNDQtLjI3M2MxLjc5LTEuOTY3IDMtMi42NzcgNC45My0yLjkxN2ExOC4wMTEgMTguMDExIDAgMDEyLS4xMTJ2NC4zNDZhMSAxIDAgMDAxLjY0Ni43NjNsOS44MDUtOC4yOTcgMS41NS0xLjMxLTEuNTUtMS4zMS05LjgwNS04LjI5N0ExIDEgMCAwMDEwIDMuMTU4Wm0yIDYuMjd2LjAwMi00LjExNmw3LjkwNCA2LjY4OEwxMiAxOC42ODl2LTQuMjEybC0yLjAyMy4wMjRjLTEuOTM1LjAyMi0zLjU4Ny4xNy01LjE5NyAxLjAyNGE5IDkgMCAwMC0xLjM0OC44OTNjLjM1NS0xLjk0Ny45MTYtMy4zOSAxLjYzLTQuNDI1IDEuMDYyLTEuNTQxIDIuNjA3LTIuMzg1IDUuMDItMi40ODVMMTIgOS40MjhaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3ZvbHVtZV9vZmYvdjQvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJtMy4xNSAzLjg1IDQuMTcgNC4xN0w2LjE2IDlIM3Y2aDMuMTZMMTIgMTkuOTN2LTcuMjJsMi40NSAyLjQ1Yy0uMTUuMDctLjMuMTMtLjQ1LjE4djEuMDRjLjQzLS4xLjgzLS4yNyAxLjItLjQ4bDEuODEgMS44MWMtLjg4LjYyLTEuOSAxLjA0LTMuMDEgMS4ydjEuMDFjMS4zOS0uMTcgMi42Ni0uNzEgMy43My0xLjQ5bDIuNDIgMi40Mi43MS0uNzEtMTctMTctLjcxLjcxek0xMSAxMS43MXY2LjA3TDYuNTIgMTRINHYtNGgyLjUybDEuNS0xLjI3TDExIDExLjcxem0tLjY3LTQuOTItLjcxLS43MUwxMiA0LjA3djQuMzlsLTEtMVY2LjIybC0uNjcuNTd6TTE0IDguNjZWNy42MmMyIC40NiAzLjUgMi4yNCAzLjUgNC4zOCAwIC41OC0uMTMgMS4xMy0uMzMgMS42NGwtLjc5LS43OWMuMDctLjI3LjEyLS41NS4xMi0uODUgMC0xLjU4LTEuMDYtMi45LTIuNS0zLjM0em0wLTMuNThWNC4wN2MzLjk1LjQ5IDcgMy44NSA3IDcuOTMgMCAxLjU2LS40NiAzLjAxLTEuMjMgNC4yNGwtLjczLS43M2MuNjEtMS4wMy45Ni0yLjIzLjk2LTMuNTEgMC0zLjUyLTIuNjEtNi40My02LTYuOTJ6In0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC92b2x1bWVfbXV0ZS92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTExLjQ4NSAyLjE0MyAzLjkxMyA2LjY4N0E2IDYgMCAwMDEgMTEuODMydi4zMzhhNiA2IDAgMDAyLjkxMyA1LjE0NGw3LjU3MiA0LjU0M0ExIDEgMCAwMDEzIDIxVjNhMS4wMDEgMS4wMDEgMCAwMC0xLjUxNS0uODU3Wk00Ljk0MiA4LjQgMTEgNC43Njd2MTQuNDY2bC02LjA1OC0zLjYzNEE0IDQgMCAwMTMgMTIuMTY5di0uMzM4QTQgNCAwIDAxNC45NDIgOC40Wm0xNi4zNTEtLjEwOEwxOSAxMC41ODZsLTIuMjkzLTIuMjkzYTEgMSAwIDEwLTEuNDE0IDEuNDE0TDE3LjU4NiAxMmwtMi4yOTMgMi4yOTNhMSAxIDAgMTAxLjQxNCAxLjQxNEwxOSAxMy40MTRsMi4yOTMgMi4yOTNhMSAxIDAgMTAxLjQxNC0xLjQxNEwyMC40MTQgMTJsMi4yOTMtMi4yOTRhMSAxIDAgMTAtMS40MTQtMS40MTRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3ZvbHVtZV9vbi92My8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNy41IDEyYzAgMi4xNC0xLjUgMy45Mi0zLjUgNC4zOHYtMS4wNGMxLjQ0LS40MyAyLjUtMS43NiAyLjUtMy4zNCAwLTEuNTgtMS4wNi0yLjktMi41LTMuMzRWNy42MmMyIC40NiAzLjUgMi4yNCAzLjUgNC4zOHpNMTIgNC4wN3YxNS44Nkw2LjE2IDE1SDNWOWgzLjE2TDEyIDQuMDd6bS0xIDIuMTVMNi41MiAxMEg0djRoMi41MkwxMSAxNy43OFY2LjIyek0yMSAxMmMwIDQuMDgtMy4wNSA3LjQ0LTcgNy45M3YtMS4wMWMzLjM5LS40OSA2LTMuNCA2LTYuOTJzLTIuNjEtNi40My02LTYuOTJWNC4wN2MzLjk1LjQ5IDcgMy44NSA3IDcuOTN6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3ZvbHVtZV9tYXgvdjIvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTEuNDg1IDIuMTQzIDMuOTEzIDYuNjg3QTYgNiAwIDAwMSAxMS44MzJ2LjMzOGE2IDYgMCAwMDIuOTEzIDUuMTQ0bDcuNTcyIDQuNTQzQTEgMSAwIDAwMTMgMjFWM2ExLjAwMSAxLjAwMSAwIDAwLTEuNTE1LS44NTdabTYuODggMi4wNzlhMSAxIDAgMDAtLjAwMSAxLjQxNCA5IDkgMCAwMTAgMTIuNzI4IDEgMSAwIDAwMS40MTQgMS40MTQgMTEgMTEgMCAwMDAtMTUuNTU2IDEgMSAwIDAwLTEuNDEzIDBaTTQuOTQxIDguNDAybC4wMDEtLjAwMkwxMSA0Ljc2N3YxNC40NjZsLTYuMDU4LTMuNjM1QTQgNCAwIDAxMyAxMi4xNjh2LS4zMzdhNCA0IDAgMDExLjk0MS0zLjQyOVpNMTUuNTM1IDcuMDVhMSAxIDAgMDAwIDEuNDE1IDUgNSAwIDAxMCA3LjA3IDEgMSAwIDAwMS40MTUgMS40MTUgNi45OTkgNi45OTkgMCAwMDAtOS45IDEgMSAwIDAwLTEuNDE1IDBaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3hfbWFyay92NC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im0xMi43MSAxMiA4LjE1IDguMTUtLjcxLjcxTDEyIDEyLjcxbC04LjE1IDguMTUtLjcxLS43MUwxMS4yOSAxMiAzLjE1IDMuODVsLjcxLS43MUwxMiAxMS4yOWw4LjE1LTguMTUuNzEuNzFMMTIuNzEgMTJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3gvdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0IiwKd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE3LjI5MyA1LjI5MyAxMiAxMC41ODYgNi43MDcgNS4yOTNhMSAxIDAgMTAtMS40MTQgMS40MTRMMTAuNTg2IDEybC01LjI5MyA1LjI5M2ExIDEgMCAwMDEuNDE0IDEuNDE0TDEyIDEzLjQxNGw1LjI5MyA1LjI5M2ExIDEgMCAwMDEuNDE0LTEuNDE0TDEzLjQxNCAxMmw1LjI5My01LjI5M2ExIDEgMCAxMC0xLjQxNC0xLjQxNFoifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL2VxdWFsaXplci92MS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiLTQgLTQgMjQgMjQiLHZlcnNpb246IjEuMSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieG1sbnM6eXQiOiJodHRwOi8vd3d3LnlvdXR1YmUuY29tIn0sXy5LKCJnIiwKe2lkOiJ5dG0tZXF1YWxpemVyLWljb24iLGZpbGw6IiNmZmYifSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItbGVmdCIseDoiMSIseToiNyIsd2lkdGg6IjQiLGhlaWdodDoiOSJ9KSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItbWlkZGxlIix4OiI2Iix5OiIyIix3aWR0aDoiNCIsaGVpZ2h0OiIxNCJ9KSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItcmlnaHQiLHg6IjExIix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiIxMiJ9KSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3Nob3J0c190ZXh0X2xvZ28vdjIvNzJweC5zdmciXT1fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCA3MiAyNCIsZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIn0sCl8uSygiZyIse3RyYW5zZm9ybToidHJhbnNsYXRlKDI0LCAyKSJ9LF8uSygicGF0aCIse2Q6Im0uNzMyMTcgMTMuNzg4NiAyLjU3NzMyLS4wNTE1Yy0uMDUxNTUgMi4zMTk1LjM2MDgyIDMuMDQxMiAxLjM0MDIxIDMuMDQxMi45NTM2MSAwIDEuMzQwMi0uNjE4NiAxLjM0MDItMS44ODE0IDAtMS44ODE1LS45NzkzOC0yLjgzNTEtMi4zNzExMy00LjA0NjRDMS40Nzk1OSA4Ljk5NDc5LjU1MTc1OCA3Ljk2Mzg2LjU1MTc1OCA1LjIzMTljMC0yLjYwMzA5IDEuMTU5NzkyLTQuMTQ5NDggNC4xNzUyNjItNC4xNDk0OCAyLjkxMjM3IDAgNC4xMjM3MSAxLjcwMTAzIDMuNzExMzMgNS4yMDYxOWwtMi41NzczMi4xNTQ2M2MuMDUxNTUtMi4zOTY5LS4yMDYxOC0zLjIyMTY0LTEuMjYyODgtMy4yMjE2NC0uOTc5MzggMC0xLjMxNDQ0LjY0NDMzLTEuMzE0NDQgMS44Mjk4OSAwIDEuNzc4MzUuNzQ3NDMgMi4zMTk1OSAyLjM0NTM3IDMuODQwMjEgMS45ODQ1MyAxLjg4MTQgMy4wOTI3OCAyLjk4OTcgMy4wOTI3OCA1LjU0MTIgMCAzLjI0NzUtMS4yNjI4OSA0LjQ4NDYtNC4yMDEwMyA0LjQ4NDYtMy4wNjcwMS4wMjU3LTQuMzA0MTI1LTEuNjIzNy0zLjc4ODY2LTUuMTI4OVpNOS42NzU1NC43NDc0MDVoMi44MzUwNlY0LjU4NzYxYzAgMS4xNTk3OS0uMDUxNiAxLjk1ODc2LS4xNTQ3IDIuOTM4MTRoLjA1MTZjLjU0MTItMS4xNTk3OSAxLjQ0MzMtMS43NTI1NyAyLjYwMzEtMS43NTI1NyAxLjc1MjYgMCAyLjUgMS4yMzcxMSAyLjUgMy4zNTA1MXY5LjUzNjExaC0yLjgzNTFWOS4zMjk4OGMwLTEuMDMwOTMtLjI1NzctMS41NDYzOS0uOTAyLTEuNTQ2MzktLjQ4OTcgMC0uOTI3OS4yODM1LTEuMjM3MS43OTg5N1YxOC42NTk4SDkuNzAxMzFWLjc0NzQwNWgtLjAyNTc3Wk0xOC42NzAzIDEzLjI3MzJ2LTEuODI5OWMwLTQuMDcyMTYgMS4xODU2LTUuNjQ0MzMgMy45OTQ4LTUuNjQ0MzMgMi44MDkzIDAgMy44NjYgMS42MjM3MSAzLjg2NiA1LjY0NDMzdjEuODI5OWMwIDMuOTY5MS0xLjAwNTIgNS41OTI4LTMuOTQzMyA1LjU5MjgtMi45ODk3IDAtMy45MTc1LTEuNjc1My0zLjkxNzUtNS41OTI4Wm01IDEuMDMwOXYtMy45NDMzYzAtMS43MjY3OC0uMjU3OC0yLjYwMzA3LTEuMDgyNS0yLjYwMzA3LS43OTkgMC0xLjA1NjcuODc2MjktMS4wNTY3IDIuNjAzMDd2My45NDMzYzAgMS44MDQxLjI1NzcgMi42Mjg5IDEuMDU2NyAyLjYyODkuODI0NyAwIDEuMDgyNS0uODI0OCAxLjA4MjUtMi42Mjg5Wk0yNy42NjUyIDYuMDMwODloMi4xOTA3bC4yNTc4IDIuNzMxOTZoLjEwM2MuMjgzNi0yLjAxMDMxIDEuMjExNC0zLjAxNTQ2IDIuMzk2OS0zLjAxNTQ2LjE1NDcgMCAuMzA5My4wMjU3Ny41MTU1LjA1MTU0bC0uMTU0NiAzLjI3MzJjLTEuMTg1Ni0uMjU3NzMtMi4xMzkyLS4wNTE1NS0yLjU3NzMuNzIxNjVWMTguNjM0aC0yLjczMlY2LjAzMDg5Wk0zNC44MDQ0IDE1LjY3MDFWOC4yNzMyaC0xLjAzMDlWNi4wNTY3aDEuMTU5OGwuMzYwOC0zLjczNzExaDIuMTEzNFY2LjA1NjdoMS45MzN2Mi4yMTY1aC0xLjgwNDF2Ni45ODQ1YzAgMS4xODU2LjE1NDYgMS40NDMzLjYxODUgMS40NDMzLjQxMjQgMCAuNzczMi0uMDUxNSAxLjEwODMtLjE4MDRsLjM2MDggMS44MDQxYy0uODUwNS40MTI0LTEuOTMzLjU0MTMtMi42MDMxLjU0MTMtMS44Mjk5LS4wMjU4LTIuMjE2NS0uOTc5NC0yLjIxNjUtMy4xOTU5Wk00MC4yNjgyIDE0LjgxOTZsMi4zOTY5LS4wNTE1Yy0uMTI4OSAxLjM5MTcuMzYwOCAyLjE5MDcgMS4yMTEzIDIuMTkwNy43MjE3IDAgMS4xMzQxLS40NjM5IDEuMTM0MS0xLjEwODMgMC0uODc2My0uNzk5LTEuNDY5LTIuMTY1LTIuNS0xLjYyMzctMS4yMzcxLTIuNjAzMS0yLjE2NDktMi42MDMxLTQuMjAxIDAtMi4yNDIyNyAxLjE4NTYtMy4zMjQ3NCAzLjYzNC0zLjMyNDc0IDIuNjAzMSAwIDMuNjM0MSAxLjI4ODY2IDMuNDI3OSA0LjM1NTY0bC0yLjM5NjkuMTAzMWMtLjAyNTgtMS45MDcxOS0uMjgzNS0yLjQ0ODQzLTEuMDgyNS0yLjQ0ODQzLS43NzMyIDAtMS4xMDgzLjM4NjYtMS4xMDgzIDEuMDgyNDcgMCAuOTc5MzguNTY3MSAxLjQ0MzI2IDEuNDk0OSAyLjExMzM2IDIuMjE2NSAxLjY0OTUgMy4yNDc0IDIuNDc0MyAzLjI0NzQgNC41MzYxIDAgMi4yNjgxLTEuMjg4NyAzLjQwMjEtMy43MzcxIDMuNDAyMS0yLjc4MzUtLjAyNTgtMy44MTQ0LTEuNTQ2NC0zLjQ1MzYtNC4xNDk1WiIsCmZpbGw6IiNmZmYifSkpLF8uSygiZyIse3RyYW5zZm9ybToidHJhbnNsYXRlKDAsIDApIn0sXy5LKCJwYXRoIix7ZDoiTTE4LjQ1IDguODUxYzEuOTA0LTEuMDY2IDIuNTQxLTMuNCAxLjQyMi01LjIxNC0xLjExOS0xLjgxNC0zLjU3LTIuNDItNS40NzUtMS4zNTVMNS41NSA3LjI0N2MtMS4yOS43MjItMi4wNDkgMi4wNjktMS45NjggMy40OTEuMDgxIDEuNDIzLjk4OSAyLjY4MyAyLjM1MyAzLjI2OGwuOTQyLjQwNC0xLjMyNy43NDJjLTEuOTA0IDEuMDY2LTIuNTQxIDMuNC0xLjQyMiA1LjIxNCAxLjExOSAxLjgxNCAzLjU3IDIuNDIxIDUuNDc1IDEuMzU1bDguODQ3LTQuOTY1YzEuMjktLjcyMiAyLjA0OS0yLjA2OCAxLjk2OC0zLjQ5LS4wODEtMS40MjMtLjk4OS0yLjY4NC0yLjM1My0zLjI2OWwtLjk0Mi0uNDAzIDEuMzI3LS43NDNaTTEwIDE0LjU2N2EuMjUuMjUgMCAwMC4zNzQuMjE3bDQuNDUtMi41NjdhLjI1LjI1IDAgMDAwLS40MzNsLTQuNDUtMi41NjdhLjI1LjI1IDAgMDAtLjM3NC4yMTZ2NS4xMzRaIiwKImZpbGwtcnVsZSI6ImV2ZW5vZGQiLGZpbGw6IiNmZmYifSkpKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC93YXRlcm1hcmsvdjIvMTEwcHguc3ZnIl09Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix2aWV3Qm94OiIwIDAgMTEwIDI2Iix2ZXJzaW9uOiIxLjEiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInhtbG5zOnhsaW5rIjoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhtbG5zOnl0IjoiaHR0cDovL3d3dy55b3V0dWJlLmNvbSJ9LF8uSygicGF0aCIse2lkOiJ5dHAtc3ZnLXdhdGVybWFyayIsZDoiTSAxNi42ODcwMDYsMC45OTk5ODUyNCBDIDEzLjU1MTA2OSwxLjAzMjc5NzIgNy4wMjQ1MTE0LDEuMTYyNDg1MiA0Ljk5OTUxMjYsMS42ODc0ODUyIGMgLTEuNDk5OTk5MSwwLjQgLTIuNTk5OTk4NCwxLjYgLTIuOTk5OTk4MiwzIC0wLjY5OTk5OTUsMi43IC0wLjY4NzQ5OTUsOC4zMTI0OTk4IC0wLjY4NzQ5OTUsOC4zMTI0OTk4IDAsMCAtMC4wMTI1LDUuNjEyNSAwLjY4NzQ5OTUsOC4zMTI1IDAuMzk5OTk5OCwxLjUgMS41OTk5OTkxLDIuNiAyLjk5OTk5ODIsMyAyLjY5OTk5ODQsMC43IDEzLjQwNjI0MjQsMC42ODc1IDEzLjQwNjI0MjQsMC42ODc1IDAsMCAxMC43MDYyNDMsMC4wMTI1IDEzLjQwNjI0MSwtMC42ODc1IDEuNSwtMC40IDIuNTk5OTk5LC0xLjYgMi45OTk5OTksLTMgMC42OTk5OTksLTIuNyAwLjY4NzQ5OSwtOC4zMTI1IDAuNjg3NDk5LC04LjMxMjUgMCwwIDAuMTEyNSwtNS42MTI0OTk4IC0wLjY4NzQ5OSwtOC4zMTI0OTk4IC0wLjQsLTEuNSAtMS41OTk5OTksLTIuNiAtMi45OTk5OTksLTMgQyAyOS4xMTE5OTgsMC45ODc0ODUyNCAxOC40MDU3NTUsMC45OTk5ODUyNCAxOC40MDU3NTUsMC45OTk5ODUyNCBjIDAsMCAtMC42NzM0MzcsLTAuMDEwOTM4IC0xLjcxODc0OSwwIHogbSA3Mi4yMTg3MDYsMC45MDYyNDk5NiAwLDIxLjI4MTI0OTggMi43ODEyNDgsMCAwLjMxMjUsLTEuMzc1IDAuMDkzNzUsMCBjIDAuMywwLjUgMC43MTg3NSwwLjg4NzUgMS4yMTg3NDksMS4xODc1IDAuNSwwLjMgMS4wODc1LDAuNDA2MjUgMS42ODc0OTksMC40MDYyNSAxLjEsMCAxLjk5OTk5OSwtMC40OTM3NSAyLjQ5OTk5OSwtMS41OTM3NSAwLjUsLTEuMSAwLjgxMjQ5OSwtMi43MDYyNSAwLjgxMjQ5OSwtNC45MDYyNSBsIDAsLTIuNDA2MjUgYyAwLC0xLjYgLTAuMTEyNSwtMi45MDYyNSAtMC4zMTI0OTksLTMuOTA2MjUgLTAuMiwtMC44OTk5OTk5IC0wLjUsLTEuNTkzNzQ5OSAtMSwtMi4wOTM3NDk5IC0wLjUsLTAuNCAtMS4xMDYyNDksLTAuNTkzNzQ5OSAtMS45MDYyNDksLTAuNTkzNzQ5OSAtMC41OTk5OTksMCAtMS4xODc0OTksMC4xOTk5OTk5IC0xLjY4NzQ5OSwwLjQ5OTk5OTkgLTAuNDk5OTk5LDAuMyAtMS4wMTg3NDksMC44MDYyNSAtMS4yMTg3NDksMS40MDYyNSBsIDAsLTcuOTA2MjQ5OSAtMy4yODEyNDgsMCB6IG0gLTQ5Ljk5OTk3LDAuNzgxMjUgMy45MDYyNDgsMTMuOTA2MjQ5OCAwLjE4NzUsNi43MTg3NSAzLjMxMjQ5OCwwIDAsLTYuNzE4NzUgMy44NzQ5OTcsLTEzLjkwNjI0OTggLTMuMzc0OTk4LDAgLTEuNDA2MjQ5LDYuMzEyNDk5OSBjIC0wLjQsMS44OTk5OTk5IC0wLjcxMjQ5OSwzLjE5OTk5OTkgLTAuODEyNDk5LDMuOTk5OTk5OSBsIC0wLjA5Mzc1LDAgYyAtMC4yLC0xLjEgLTAuNTEyNSwtMi40IC0wLjgxMjUsLTMuOTk5OTk5OSBsIC0xLjM3NDk5OSwtNi4zMTI0OTk5IC0zLjQwNjI0OCwwIHogbSAyOS41OTM3MzIsMCAwLDIuNzE4NzUgMy40MDYyNDgsMCAwLDE3LjkwNjI0OTggMy4yODEyNDgsMCAwLC0xNy45MDYyNDk4IDMuNDA2MjQ4LDAgYyAwLDAgMC4wMDYyLC0yLjcxODc1IC0wLjA5Mzc1LC0yLjcxODc1IGwgLTkuOTk5OTk0LDAgeiBtIC01My40OTk5NjcsNS4xMjUgOC45MDYyNDQsNS4xODc0OTk4IC04LjkwNjI0NCw1LjA5Mzc1IDAsLTEwLjI4MTI0OTggeiBtIDg5LjQwNjE5MywwLjA5Mzc1IGMgLTEuNywwIC0yLjg5Mzc1LDAuNTkzNzQ5OSAtMy41OTM3NSwxLjU5Mzc0OTkgLTAuNjk5OTksMC45OTk5OTk5IC0wLjk5OTk5NSwyLjYwNjI0OTkgLTAuOTk5OTk1LDQuOTA2MjQ5OSBsIDAsMi41OTM3NSBjIDAsMi4yIDAuMzAwMDA1LDMuOTA2MjUgMC45OTk5OTUsNC45MDYyNSAwLjcsMS4xIDEuOCwxLjU5Mzc1IDMuNSwxLjU5Mzc1IDEuNCwwIDIuMzg3NSwtMC4zIDMuMTg3NSwtMSAwLjcsLTAuNyAxLjA5Mzc1LC0xLjY5Mzc1IDEuMDkzNzUsLTMuMDkzNzUgbCAwLC0wLjUgLTIuOTA2MjUsLTAuMjE4NzUgYyAwLDEgLTAuMDgxMiwxLjYgLTAuMjgxMjUsMiAtMC4xLDAuNCAtMC41LDAuNjI1IC0xLDAuNjI1IC0wLjMsMCAtMC42MTI1LC0wLjExMjUgLTAuODEyNSwtMC4zMTI1IC0wLjIsLTAuMyAtMC4zMDYyNSwtMC41OTM3NSAtMC40MDYyNSwtMS4wOTM3NSAtMC4xLC0wLjUgLTAuMDkzNywtMS4yMTg3NSAtMC4wOTM3LC0yLjIxODc1IGwgMCwtMC43ODEyNSA1LjcxODc1LC0wLjA5Mzc1IDAsLTIuNjI1IGMgMCwtMS42IC0wLjEwNjI1LC0yLjc4NzUgLTAuNDA2MjUsLTMuNjg3NSAtMC4yLC0wLjg5OTk5OTkgLTAuNzEyNSwtMS41OTk5OTk5IC0xLjMxMjUsLTEuOTk5OTk5OSAtMC43LC0wLjQgLTEuNDg3NSwtMC41OTM3NDk5IC0yLjY4NzUsLTAuNTkzNzQ5OSB6IG0gLTUwLjQ5OTk2NywwLjA5Mzc1IGMgLTEuMDk5OTk5LDAgLTIuMDE4NzQ5LDAuMTg3NDk5OSAtMi43MTg3NDgsMC42ODc0OTk5IC0wLjcsMC40IC0xLjIsMS4xMjUgLTEuNDk5OTk5LDIuMTI0OTk5OSAtMC4zLDEgLTAuNSwyLjI3NSAtMC41LDMuODc1IGwgMCwyLjIxODc1IGMgMCwxLjUgMC4xMDYyNSwyLjc4MTI1IDAuNDA2MjUsMy43ODEyNSAwLjIsMC45IDAuNzA2MjQ5LDEuNjI1IDEuNDA2MjQ5LDIuMTI1IDAuNjk5OTk5LDAuNSAxLjcxMjQ5OSwwLjY4MTI1IDIuODEyNDk4LDAuNzgxMjUgMS4xOTk5OTksMCAyLjA4MTI0OSwtMC4yODc1IDIuNzgxMjQ5LC0wLjY4NzUgMC42OTk5OTksLTAuNCAxLjA5OTk5OSwtMS4wOTM3NSAxLjQ5OTk5OSwtMi4wOTM3NSAwLjM5OTk5OSwtMSAwLjQ5OTk5OSwtMi4zMDYyNSAwLjQ5OTk5OSwtMy45MDYyNSBsIDAsLTIuMjE4NzUgYyAwLC0xLjYgLTAuMiwtMi44NzUgLTAuNDk5OTk5LC0zLjg3NSAtMC4zLC0wLjg5OTk5OTkgLTAuOCwtMS42MjQ5OTk5IC0xLjQ5OTk5OSwtMi4xMjQ5OTk5IC0wLjcsLTAuNSAtMS41ODc1LC0wLjY4NzQ5OTkgLTIuNjg3NDk5LC0wLjY4NzQ5OTkgeiBtIDEyLjE4NzQ5MywwLjA5Mzc1IDAsMTEuOTA2MjQ5OCBjIC0wLjEsMC4zIC0wLjI5Mzc1LDAuNDg3NSAtMC41OTM3NSwwLjY4NzUgLTAuMiwwLjIgLTAuNTEyNSwwLjMxMjUgLTAuODEyNDk5LDAuMzEyNSAtMC4zLDAgLTAuNTg3NSwtMC4xMDYyNSAtMC42ODc1LC0wLjQwNjI1IC0wLjEsLTAuMyAtMC4xODc1LC0wLjcwNjI1IC0wLjE4NzUsLTEuNDA2MjUgbCAwLC0xMC45OTk5OTk4IC0zLjQwNjI0OCwwIDAsMTEuMjE4NzQ5OCBjIDAsMS40IDAuMTg3NSwyLjM5Mzc1IDAuNjg3NSwzLjA5Mzc1IDAuNDk5OTk5LDAuNyAxLjIxODc0OSwxIDIuMjE4NzQ4LDEgMS40LDAgMi40ODc0OTksLTAuNjkzNzUgMy4xODc0OTksLTIuMDkzNzUgbCAwLjA5Mzc1LDAgMC4zMTI1LDEuNzgxMjUgMi41OTM3NDksMCAwLC0xNC45OTk5OTk4IGMgMCwwIC0zLjQwNjI0OCwwLjAwNjIgLTMuNDA2MjQ4LC0wLjA5Mzc1IHogbSAxNy4zMTI0ODksMCAwLDExLjkwNjI0OTggYyAtMC4xLDAuMyAtMC4yOTM3NDksMC40ODc1IC0wLjU5Mzc0OSwwLjY4NzUgLTAuMiwwLjIgLTAuNTEyNSwwLjMxMjUgLTAuODEyNSwwLjMxMjUgLTAuMywwIC0wLjU4NzQ5OSwtMC4xMDYyNSAtMC42ODc0OTksLTAuNDA2MjUgLTAuMSwtMC4zIC0wLjIxODc1LC0wLjcwNjI1IC0wLjIxODc1LC0xLjQwNjI1IGwgMCwtMTAuOTk5OTk5OCAtMy40MDYyNDgsMCAwLDExLjIxODc0OTggYyAwLDEuNCAwLjIxODc1LDIuMzkzNzUgMC43MTg3NDksMy4wOTM3NSAwLjUsMC43IDEuMTg3NSwxIDIuMTg3NDk5LDEgMS4zOTk5OTksMCAyLjUxODc0OSwtMC42OTM3NSAzLjIxODc0OCwtMi4wOTM3NSBsIDAuMDkzNzUsMCAwLjI4MTI1LDEuNzgxMjUgMi42MjQ5OTgsMCAwLC0xNC45OTk5OTk4IGMgMCwwIC0zLjQwNjI0OCwwLjAwNjIgLTMuNDA2MjQ4LC0wLjA5Mzc1IHogbSAyMC45MDYyMzUsMi4wOTM3NDk4IGMgMC40LDAgMC41ODEyNSwwLjExMjUgMC43ODEyNSwwLjMxMjUgMC4yLDAuMyAwLjMwNjI1LDAuNTkzNzUgMC40MDYyNSwxLjA5Mzc1IDAuMSwwLjUgMC4wOTM3LDEuMjE4NzUgMC4wOTM3LDIuMjE4NzUgbCAwLDEuMDkzNzUgLTIuNSwwIDAsLTEuMDkzNzUgYyAwLC0xIC0wLjAwNiwtMS43MTg3NSAwLjA5MzcsLTIuMjE4NzUgMCwtMC40IDAuMTEyNSwtMC44IDAuMzEyNSwtMSAwLjIsLTAuMyAwLjUxMjUsLTAuNDA2MjUgMC44MTI1LC0wLjQwNjI1IHogbSAtNTAuNDk5OTY3LDAuMTI1IGMgMC41LDAgMC44LDAuMTg3NSAxLDAuNjg3NSAwLjE5OTk5OSwwLjUgMC4yODEyNDksMS4zMDYyNSAwLjI4MTI0OSwyLjQwNjI1IGwgMCw0LjY4NzUgYyAwLDEuMSAtMC4wODEyNSwxLjkwNjI1IC0wLjI4MTI0OSwyLjQwNjI1IC0wLjIsMC41IC0wLjUsMC42ODc1IC0xLDAuNjg3NSAtMC41LDAgLTAuNzk5OTk5LC0wLjE4NzUgLTAuOTk5OTk5LC0wLjY4NzUgLTAuMiwtMC41IC0wLjMxMjUsLTEuMzA2MjUgLTAuMzEyNSwtMi40MDYyNSBsIDAsLTQuNjg3NSBjIDAsLTEuMSAwLjExMjUsLTEuOTA2MjUgMC4zMTI1LC0yLjQwNjI1IDAuMiwtMC41IDAuNDk5OTk5LC0wLjY4NzUgMC45OTk5OTksLTAuNjg3NSB6IG0gMzkuNjg3NDc2LDAuMDkzNzUgYyAwLjMsMCAwLjYxMjUsMC4xMDYyNSAwLjgxMjUsMC40MDYyNSAwLjIsMC4zIDAuMjc1LDAuNjc1IDAuMzc1LDEuMzc1IDAuMSwwLjYgMC4xMjQ5OTksMS41MTg3NSAwLjEyNDk5OSwyLjcxODc1IGwgMC4wOTM3NSwxLjkwNjI1IGMgMCwxLjEgMC4wMDYyLDEuOTkzNzUgLTAuMDkzNzUsMi41OTM3NSAtMC4xLDAuNiAtMC4xOTk5OTksMS4wODEyNSAtMC40OTk5OTksMS4yODEyNSAtMC4yLDAuMyAtMC41MDYyNSwwLjQwNjI1IC0wLjkwNjI1LDAuNDA2MjUgLTAuMywwIC0wLjUxMjQ5OSwtMC4wODc1IC0wLjgxMjQ5OSwtMC4xODc1IC0wLjIsLTAuMSAtMC4zOTM3NSwtMC4yOTM3NSAtMC41OTM3NSwtMC41OTM3NSBsIDAsLTguNSBjIDAuMSwtMC40IDAuMjkzNzUsLTAuNyAwLjU5Mzc1LC0xIDAuMywtMC4zIDAuNjA2MjQ5LC0wLjQwNjI1IDAuOTA2MjQ5LC0wLjQwNjI1IHoiLApjbGFzczoieXRwLXN2Zy1maWxsIixmaWxsOiIjZmZmIn0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC95b3V0dWJlX3Nob3J0c19icmFuZF8yNC92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix3aWR0aDoiMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCJ9LF8uSygicGF0aCIse2Q6Im0xOS40NSwzLjg4YzEuMTIsMS44Mi40OCw0LjE1LTEuNDIsNS4yMmwtMS4zMi43NC45NC40MWMxLjM2LjU4LDIuMjcsMS44NSwyLjM1LDMuMjcuMDgsMS40My0uNjgsMi43Ny0xLjk3LDMuNDlsLTgsNC40N2MtMS45MSwxLjA2LTQuMzUuNDYtNS40OC0xLjM1LTEuMTItMS44Mi0uNDgtNC4xNSwxLjQyLTUuMjJsMS4zMy0uNzQtLjk0LS40MWMtMS4zNi0uNTgtMi4yNy0xLjg1LTIuMzUtMy4yNy0uMDgtMS40My42OC0yLjc3LDEuOTctMy40OWw4LTQuNDdjMS45MS0xLjA2LDQuMzUtLjQ2LDUuNDgsMS4zNVoiLApmaWxsOiIjZjAzIn0pLF8uSygicGF0aCIse2Q6Im0xMCwxNWw1LTMtNS0zdjZaIixmaWxsOiIjZmZmIn0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC95b3V0dWJlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHZpZXdCb3g6IjAgMCA2NyA2MCIsZmlsbDoiIn0sXy5LKCJwYXRoIix7ZDoiTTYzIDE0Ljg3YTcuODg1IDcuODg1IDAgMDAtNS41Ni01LjU2QzUyLjU0IDggMzIuODggOCAzMi44OCA4UzEzLjIzIDggOC4zMiA5LjMxYy0yLjcuNzItNC44MyAyLjg1LTUuNTYgNS41NkMxLjQ1IDE5Ljc3IDEuNDUgMzAgMS40NSAzMHMwIDEwLjIzIDEuMzEgMTUuMTNjLjcyIDIuNyAyLjg1IDQuODMgNS41NiA1LjU2QzEzLjIzIDUyIDMyLjg4IDUyIDMyLjg4IDUyczE5LjY2IDAgMjQuNTYtMS4zMWMyLjctLjcyIDQuODMtMi44NSA1LjU2LTUuNTZDNjQuMzEgNDAuMjMgNjQuMzEgMzAgNjQuMzEgMzBzMC0xMC4yMy0xLjMxLTE1LjEzeiJ9KSwKXy5LKCJwYXRoIix7ZmlsbDoiI0ZGRiIsY2xhc3M6ImxvZ28tYXJyb3ciLGQ6Ik0yNi42IDM5LjQzTDQyLjkzIDMwIDI2LjYgMjAuNTd6In0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfb3V0bGluZS9mdWxsc2NyZWVuX2V4aXQvdjEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTAsMTBINlY5aDNWNmgxVjEweiBNMTgsOWgtM1Y2aC0xdjRoNFY5eiBNMTUsMTVoM3YtMWgtNHY0aDFWMTV6IE0xMCwxNEg2djFoM3YzaDFWMTR6In0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfb3V0bGluZS9mdWxsc2NyZWVuL3YxLzI0cHguc3ZnIl09Cl8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik03LDExSDZWNmg1djFIN1YxMXogTTE4LDZoLTV2MWg0djRoMVY2eiBNMTgsMTNoLTF2NGgtNHYxaDVWMTN6IE0xMSwxN0g3di00SDZ2NWg1VjE3eiJ9KSk7cmV0dXJuIGF9O2xxYT1mdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoRW5hKCkpfTttcWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gc1koImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIvIixhLGIpfTsKY3FhPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5pZGVudGlmaWVyLGQ9Yi5JaixlPWIuZXh0cmFzLGY9Yi50YXJnZXQsaD1iLlBtO2I9Yi5uQTtkJiZhd2FpdCBWWShhLHtpZGVudGlmaWVyOmMsSWo6ZCx0bjohMSxleHRyYXM6ZSxQbTpofSk7YXdhaXQgYS5pc1Zpc2libGUoYyl8fChhPWF3YWl0IFpvYShhLGMpLF8uWE0oImVuZ2FnZW1lbnQtcGFuZWwtcHVzaCIse2lkZW50aWZpZXI6Yyx3ejphLExKOmYsbkE6Yn0pLGMmJl8ub00oKS5kaXNwYXRjaChfLmtBKHt0eXBlOiJNQUlOX0FQUF9BRERfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIixwYXlsb2FkOnt4ejpjfX0pKSl9O1ZZPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5pZGVudGlmaWVyLGQ9Yi5JajtiPWIuUG07YyYmKGQmJmEuT20uc2V0KGMsZCksXy5YTSgiZW5nYWdlbWVudC1wYW5lbC11cGRhdGUiLHtpZGVudGlmaWVyOmMsd3o6ZCxQbTpifSkpfTsKdHFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8ueSgpO25xYSgpO18uSnooYix7amE6Xy5MeCxNYjpvcWF9KTtfLkp6KGIse2phOl8ubEYsTWI6Xy53KCJIVE1MX0RJUiIpPT09InJ0bCI/InJ0bCI6Imx0ciJ9KTtfLkp6KGIse2phOl8ua0YsTWI6KCk9PiEwfSk7Xy5KeihiLHtqYTpfLm1PLFBhOllZfSk7Xy5KeihiLHtqYTpfLlhMLFBhOlpZfSk7Xy5KeihiLHtqYTpfLm9PLE1iOmtxYX0pO18uSnooYix7amE6Xy5MRCxNYjpfLnVPfSk7Xy5KeihiLHtqYTpfLmNMLFBhOnBxYX0pO18uSnooYix7amE6Xy5iSSxXYzpfLm9NfSk7Xy5KeihiLHtqYTpfLnlQLE1iOm5ldyBxcWF9KTtfLkp6KGIse2phOl8udlAsTWI6e1Z1OiEwLEN4OiEwfX0pO18uSnooYix7amE6Xy5KSCxXYzooKT0+UHJvbWlzZS5yZXNvbHZlKGEpfSk7Xy5KeihiLHtqYTpfLktILFdjOigpPT4oKT0+YX0pO18uSnooYix7amE6JFksUGE6YVp9KTtfLkp6KGIse2phOl8uYkwsUGE6cnFhfSk7Xy5KeihiLHtqYTpfLk9XLFdjOl8uaHh9KTsKXy5KeihiLHtqYTpfLmJNLE1iOl8uTE99KTtpZihfLngoIndlYl9lbmFibGVfcmVuZGVyZXJfbG9nZ2VyIikpe2xldCBjPW5ldyBEWDtfLk5NKHdpbmRvdywibmF2aWdhdGUiLCgpPT57Yy5hYm9ydCgpfSk7Xy5KeihiLHtqYTpfLkNHLE1iOm5ldyBzcWEoYy5zaWduYWwpfSl9fTtucWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKSxiPWEucmVzb2x2ZShfLkl5KTtfLkd5Lm1hcHBpbmdzLnNldChTVy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSk7Xy5KeihhLHtqYTpfLkh5LE1iOmxxYX0pfTt6WD1mdW5jdGlvbigpe3ZhciBhPXt9LGI9Xy5WdygpO2ImJihhLmRlc3RpbmF0aW9uU2NyZWVuPWIuZ2V0QXNKc29uKCkudmVUeXBlfHx2b2lkIDApO2EubmF2VHlwZT0iU0xJX05BVl9UWVBFX0NPTEQiO2EuYWN0aW9uVHlwZT0iTEFURU5DWV9BQ1RJT05fRU1CRUQiO3JldHVybntuYXZpZ2F0aW9uOmF9fTsKdXFhPWZ1bmN0aW9uKGEsYj17fSl7cmV0dXJue3R5cGU6Mixjb21tYW5kOmEsZm9ybTpiLmZvcm19fTsKXy5iWj1mdW5jdGlvbihhKXtfLkFxKCJlcF9pbml0X2lqcyIpO3RxYShhKTt2YXIgYj1kb2N1bWVudC5ib2R5O2lmKCFiKXRocm93IEVycm9yKCJpZSIpO2I9bmV3IHZxYSh7cm9vdDpiLHBKOl8ueSgpfSk7Yi5pbnN0YWxsKHdxYSk7Yi50cmFuc2l0aW9uKCJpbml0aWFsaXplZCIpO18uQXEoImVwX2luaXRfaWplIik7Xy54KCJlbWJlZHNfdHJhY2luZ19rcyIpfHxwcGEoKTtfLllNPSEwOyhfLk1rKCJpZW1vYmlsZSIpfHxfLk1rKCJ3aW5kb3dzIHBob25lIikmJl8uTWsoImVkZ2UiKSkmJl8uTWsoIjsgdmlydHVhbCIpfHwoWG9hKGEpLG5vYSgpKTtxb2EoYSk7RVk9YTtqcWEoYSk7YT0hXy54KCJtd2ViX2NvbW1hbmRfaGFuZGxlcl9zY3JlZW5fbWFuYWdlcl9raWxsc3dpdGNoIik7Yj1bXy5RVyxfLlV6LF8uQ3ldO0pvYShfLngoIm13ZWJfY29tbWFuZF9oYW5kbGVyX2Rpc2FibGVfYnVpbGRfY29tbWFuZF9wYXlsb2FkX3N0dWIiKT91cWE6dm9pZCAwLGE/Xy5oeCgpOnZvaWQgMCxhLAphLGIpO18uSnooXy55KCkse2phOl8uVUQsTWI6TFguaW5zdGFuY2V9KTtpb2EoKTtGcGEoKX07V1c9W107RG9hPXtnSDoiU0xJX1NUQVRVU19VTktOT1dOIixlSDoiU0xJX1NUQVRVU19TVUNDRVNTIixjSDoiU0xJX1NUQVRVU19GQUlMVVJFIixmSDoiU0xJX1NUQVRVU19USU1FT1VUIixhSDoiU0xJX1NUQVRVU19BQk9SVEVEIixiSDoiU0xJX1NUQVRVU19DQU5DRUxMRUQiLGRIOiJTTElfU1RBVFVTX1JFSkVDVEVEIn07Y1o9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50cz1uZXcgTWFwfWNsZWFyKCl7dGhpcy5ldmVudHMuY2xlYXIoKX19OwpLbmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLkQ9bmV3IHhxYTt0aGlzLnY9bmV3IGNaO3RoaXMuQj1uZXcgY1o7dGhpcy5vPTA7dGhpcy5mbHVzaEludGVydmFsPTNFNDt0aGlzLmo9bmV3IF8uankodGhpcy5mbHVzaEludGVydmFsKTt0aGlzLmoubGlzdGVuKCJ0aWNrIix0aGlzLmZsdXNoLCExLHRoaXMpfWZsdXNoKCl7aWYodGhpcy5vKXt2YXIgYT17bG9nZ2VkRXZlbnRzOllXKHRoaXMudiksdW5sb2dnZWRFdmVudHM6WVcodGhpcy5CKX07aWYoXy54KCJleHBvcnRfcGxheWVyX3ZlcnNpb25fdG9feXRjb25maWciKSl7dmFyIGI7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSk/KGI9Yi5zcGxpdCgiLSIpWzBdLnJlcGxhY2UoL1wuL2csIiIpLGI9aXNOYU4oTnVtYmVyKGIpKT8iMCI6Yik6Yj0iIjt2YXIgYz1fLncoIlBMQVlFUl9DTElFTlRfVkVSU0lPTiIpO2lmKGMpe2M9Yy5zcGxpdCgiLSIpO2xldCBkPSIiO2MubGVuZ3RoPjEmJihkPWNbYy5sZW5ndGgtMV0pO2M9CkpuYShkLnN0YXJ0c1dpdGgoImNhbmFyeV9leHBlcmltZW50Iik/ImNhbmFyeSI6ZC5zdGFydHNXaXRoKCJjYW5hcnlfY29udHJvbCIpPyJjb250cm9sIjoibm9uZSIpfWVsc2UgYz0iQ0xJRU5UX0NBTkFSWV9TVEFURV9VTktOT1dOIjthLmRpbWVuc2lvbnM9e3BsYXllckNsaWVudFZlcnNpb246YixwbGF5ZXJDYW5hcnlTdGF0ZTpjfX10aGlzLkQuZmx1c2goYSk7dGhpcy52LmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vPTA7dGhpcy5qLmVuYWJsZWQmJnRoaXMuai5zdG9wKCl9fX07eHFhPWNsYXNze2ZsdXNoKGEsYil7Xy54KCJlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nIikmJl8uRXAoInNsaUV2ZW50QmF0Y2giLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6ISFifSl9fTtkWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwplWj1jbGFzcyBleHRlbmRzIGRae2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLmouZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKGEpe3RoaXMuai5lbnRpdHlNZXRhZGF0YT1hfX07eXFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTt6cWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmoucGxheWxpc3QmJmEucHVzaCh0aGlzLmoucGxheWxpc3QpO3RoaXMuai52aWRlb0l0ZW0mJmEucHVzaCh0aGlzLmoudmlkZW9JdGVtKTt0aGlzLmoucGxheWxpc3RJdGVtJiZhLnB1c2godGhpcy5qLnBsYXlsaXN0SXRlbSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTsKQXFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfX07QnFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJmEucHVzaCguLi4obmV3IEFxYSh0aGlzLmoucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkubygpKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O0NxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19OwpEcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLmNyZWF0b3JFbnRpdHkmJmEucHVzaCh0aGlzLmouY3JlYXRvckVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTtmWj0hMTsKRXFhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuY291bnRlcj1bMCwwLDAsMF07dGhpcy5vPW5ldyBVaW50OEFycmF5KDE2KTt0aGlzLmo9MTY7aWYoIWZaKXt2YXIgYixjPW5ldyBVaW50OEFycmF5KDI1NiksZD1uZXcgVWludDhBcnJheSgyNTYpO3ZhciBlPTE7Zm9yKGI9MDtiPDI1NjtiKyspY1tlXT1iLGRbYl09ZSxlXj1lPDwxXihlPj43JiYyODMpO2dYPW5ldyBVaW50OEFycmF5KDI1Nik7Y1g9YlgoMjU2KTtkWD1iWCgyNTYpO2VYPWJYKDI1Nik7Zlg9YlgoMjU2KTtmb3IobGV0IGg9MDtoPDI1NjtoKyspe2U9aD9kWzI1NV5jW2hdXTowO2VePWU8PDFeZTw8Ml5lPDwzXmU8PDQ7ZT1lJjI1NV5lPj4+OF45OTtnWFtoXT1lO2I9ZTw8MV4oZT4+NyYmMjgzKTt2YXIgZj1iXmU7Y1hbaF09Yjw8MjR8ZTw8MTZ8ZTw8OHxmO2RYW2hdPWY8PDI0fGNYW2hdPj4+ODtlWFtoXT1lPDwyNHxkWFtoXT4+Pjg7ZlhbaF09ZTw8MjR8ZVhbaF0+Pj44fWZaPQohMH1lPWJYKDQ0KTtmb3IoYz0wO2M8NDtjKyspZVtjXT1hWzQqY108PDI0fGFbNCpjKzFdPDwxNnxhWzQqYysyXTw8OHxhWzQqYyszXTtmb3IoZD0xO2M8NDQ7YysrKWE9ZVtjLTFdLGMlNHx8KGE9KGdYW2E+PjE2JjI1NV1eZCk8PDI0fGdYW2E+PjgmMjU1XTw8MTZ8Z1hbYSYyNTVdPDw4fGdYW2E+Pj4yNF0sZD1kPDwxXihkPj43JiYyODMpKSxlW2NdPWVbYy00XV5hO3RoaXMua2V5PWV9ZW5jcnlwdChhKXt2YXIgYj1hLmxlbmd0aDthPW5ldyBVaW50OEFycmF5KGEuYnVmZmVyLnNsaWNlKGEuYnl0ZU9mZnNldCxhLmJ5dGVPZmZzZXQrYikpO2Zvcih2YXIgYz10aGlzLm8sZD0wO2Q8YiYmdGhpcy5qPDE2OylhW2QrK11ePWNbdGhpcy5qKytdO2Zvcih2YXIgZT1iLShiLWQpJTE2O2Q8ZTspaFgodGhpcyksYVtkKytdXj1jWzBdLGFbZCsrXV49Y1sxXSxhW2QrK11ePWNbMl0sYVtkKytdXj1jWzNdLGFbZCsrXV49Y1s0XSxhW2QrK11ePWNbNV0sYVtkKytdXj1jWzZdLGFbZCsrXV49Y1s3XSwKYVtkKytdXj1jWzhdLGFbZCsrXV49Y1s5XSxhW2QrK11ePWNbMTBdLGFbZCsrXV49Y1sxMV0sYVtkKytdXj1jWzEyXSxhW2QrK11ePWNbMTNdLGFbZCsrXV49Y1sxNF0sYVtkKytdXj1jWzE1XTtpZihkPGIpZm9yKGhYKHRoaXMpLHRoaXMuaj0wO2Q8YjspYVtkKytdXj1jW3RoaXMuaisrXTtyZXR1cm4gYX19O2daPSExO0ZxYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMudj1hO3RoaXMubz1ifWFzeW5jIGVuY3J5cHQoYSxiKXt0cnl7cmV0dXJuIGF3YWl0IE5uYSh0aGlzLGEsYil9Y2F0Y2goYyl7dGhyb3cgXy5JcChjKSxnWj0hMCxjO319fTsKaVo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWF9ZW5jcnlwdChhLGIpe3RoaXMuanx8KHRoaXMuaj1uZXcgRXFhKHRoaXMubykpO3ZhciBjPXRoaXMuajtmb3IobGV0IGQ9MDtkPDQ7ZCsrKWMuY291bnRlcltkXT1iW2QqNF08PDI0fGJbZCo0KzFdPDwxNnxiW2QqNCsyXTw8OHxiW2QqNCszXTtjLmo9MTY7cmV0dXJuIHRoaXMuai5lbmNyeXB0KGEpfWRlY3J5cHQoYSxiKXtyZXR1cm4gdGhpcy5lbmNyeXB0KGEsYil9fTsKR3FhPWNsYXNze2NvbnN0cnVjdG9yKGEpe2E6e2lmKCFnWiYmIV8uSmwpe2lmKGhaKXt2YXIgYj1oWjticmVhayBhfWhaPXdpbmRvdy5jcnlwdG8/LnN1YnRsZTtpZihoWj8uaW1wb3J0S2V5JiZoWj8uc2lnbiYmaFo/LmVuY3J5cHQpe2I9aFo7YnJlYWsgYX1oWj12b2lkIDB9Yj12b2lkIDB9YiYmKHRoaXMuaj1uZXcgRnFhKGEsYikpO3RoaXMubz1uZXcgaVooYSl9YXN5bmMgZW5jcnlwdChhLGIpe2lmKHRoaXMuail0cnl7cmV0dXJuIGF3YWl0IHRoaXMuai5lbmNyeXB0KGEsYil9Y2F0Y2goYyl7Xy5JcChjKSxnWj0hMCx0aGlzLmo9dm9pZCAwfXJldHVybiB0aGlzLm8uZW5jcnlwdChhLGIpfWRlY3J5cHQoYSxiKXtyZXR1cm4gdGhpcy5lbmNyeXB0KGEsYil9fTsKSHFhPXtJTlZBTElEX0VOQ09ERVJfVkVSU0lPTjoiSW52YWxpZCBlbmNvZGVyIHZlcnNpb24iLEtFWV9DUkVBVElPTl9GQUlMRUQ6IkZhaWxlZCB0byBjcmVhdGUgZW5jb2RlciBrZXkiLFVOS05PV05fREVDT0RFX0VSUk9SOiJGYWlsZWQgdG8gZGVjb2RlIFBFUyBkYXRhIixVTktOT1dOX0VOQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGVuY29kZSBQRVMgZGF0YSIsV1JPTkdfREFUQV9UWVBFOiJFbmNvZGVyIGNhbm5vdCBwcm9jZXNzIHRoZSBkYXRhIHR5cGUifTtpWD1jbGFzcyBleHRlbmRzIF8uWGp7Y29uc3RydWN0b3IoYSxiPXt9KXtzdXBlcihIcWFbYV0se25hbWU6IlBFU0VuY29kZXJFcnJvciIsdHlwZTphLC4uLmJ9KTt0aGlzLnR5cGU9YTt0aGlzLmxldmVsPSJXQVJOSU5HIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxpWC5wcm90b3R5cGUpfX07CmpaPWNsYXNze2VuY29kZShhLGIpe3RyeXtyZXR1cm4gdGhpcy52KGEsYil9Y2F0Y2goYyl7algoYyxPbmEpfX1kZWNvZGUoYSxiKXt0cnl7cmV0dXJuIHRoaXMubyhhLGIpfWNhdGNoKGMpe2pYKGMsUG5hKX19fTtJcWE9Y2xhc3MgZXh0ZW5kcyBqWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfXYoYSxiKXtiPWtYKGIpO2E9KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGEpKTtyZXR1cm4gdGhpcy5qLmVuY3J5cHQoYSxiKX1vKGEsYil7aWYoIShhIGluc3RhbmNlb2YgVWludDhBcnJheSkpdGhyb3cgbmV3IGlYKCJXUk9OR19EQVRBX1RZUEUiLHtJcDoxfSk7dmFyIGM9bmV3IFRleHREZWNvZGVyO2I9a1goYik7YT10aGlzLmouZGVjcnlwdChhLGIpO3JldHVybiBKU09OLnBhcnNlKGMuZGVjb2RlKGEpKX19OwpRbmE9e2FuaW1hdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhbmltYXRpb25FbnRpdHkifX0sYWNjb3VudExpbmtTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYWNjb3VudExpbmtTdGF0dXNFbnRpdHkifX0sYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5In19LGJvb2xlYW5FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYm9vbGVhbkVudGl0eSJ9fSxidXR0b25FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYnV0dG9uRW50aXR5In19LGNhcHRpb25UcmFjazpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjYXB0aW9uVHJhY2sifX0sCmNoYW5uZWxIYW5kbGU6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hhbm5lbEhhbmRsZSJ9fSxjaGF0TG9hZGluZ1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNoYXRMb2FkaW5nU3RhdGVFbnRpdHkifX0sYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5In19LGNoaXBFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hpcEVudGl0eSJ9fSxjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eSJ9fSwKY29tbWVyY2VDYXJ0TGlzdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21tZXJjZUNhcnRMaXN0RW50aXR5In19LGNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5In19LGNvbXBvc2l0ZVNvdXJjZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21wb3NpdGVTb3VyY2VFbnRpdHkifX0sbXVsdGl2aWV3U3RhZ2luZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouY29tcG9zaXRlU291cmNlS2V5cyYmYS5wdXNoKC4uLnRoaXMuai5jb21wb3NpdGVTb3VyY2VLZXlzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdWx0aXZpZXdTdGFnaW5nRW50aXR5In19LGNvbnRleHROb3RlRmVlZEVudGl0eVBheWxvYWQ6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZCJ9fSwKY29udGV4dE5vdGVVc2VyUmF0aW5nRW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkIn19LGNvbnRpbnVhdGlvblRva2VuRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbnRpbnVhdGlvblRva2VuRW50aXR5In19LGRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZFF1YWxpdHlQaWNrZXJFbnRpdHkifX0sZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5In19LGRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkifX0sCmRvd25sb2FkU3RhdHVzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2FkU3RhdHVzRW50aXR5In19LGRpc21pc3NTdGF0ZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkaXNtaXNzU3RhdGUifX0sc2Z2QXVkaW9JdGVtQ3VycmVudGx5UGxheWluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5In19LGVtb2ppRm91bnRhaW5EYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImVtb2ppRm91bnRhaW5EYXRhRW50aXR5In19LGVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJlbW9qaUN1c3RvbWl6YXRpb25TZXRFbnRpdHkifX0sCmZha2VDaGFubmVsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5hbHRlcm5hdGVDaGFubmVsJiZhLnB1c2godGhpcy5qLmFsdGVybmF0ZUNoYW5uZWwpO3RoaXMuai5hbHRlcm5hdGVDaGFubmVsTGlzdCYmYS5wdXNoKC4uLnRoaXMuai5hbHRlcm5hdGVDaGFubmVsTGlzdCk7dGhpcy5qLm9uZW9mQ2hhbm5lbEVudGl0eSYmYS5wdXNoKHRoaXMuai5vbmVvZkNoYW5uZWxFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VDaGFubmVsIn19LGZha2VQbGF5bGlzdDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouZW50cnlDb2xsZWN0aW9uJiZhLnB1c2godGhpcy5qLmVudHJ5Q29sbGVjdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVBsYXlsaXN0In19LGZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbjpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnBhcmVudFBsYXlsaXN0JiZhLnB1c2godGhpcy5qLnBhcmVudFBsYXlsaXN0KTtpZih0aGlzLmouZW50cmllcylmb3IobGV0IGIgb2YgdGhpcy5qLmVudHJpZXMpYS5wdXNoKC4uLihuZXcgeXFhKGIpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbiJ9fSxmYWtlVmlkZW86Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRlc2NyaXB0aW9uRW50aXR5JiZhLnB1c2godGhpcy5qLmRlc2NyaXB0aW9uRW50aXR5KTt0aGlzLmouY3JlYXRvcnMmJmEucHVzaCguLi50aGlzLmouY3JlYXRvcnMpO3RoaXMuai50aGVCaWdnZXN0RmFuJiZhLnB1c2godGhpcy5qLnRoZUJpZ2dlc3RGYW4pO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VWaWRlbyJ9fSxmYWtlVmlkZW9EZXNjcmlwdGlvbjpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmYWtlVmlkZW9EZXNjcmlwdGlvbiJ9fSwKZmVhdHVyZWRQcm9kdWN0c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmZWF0dXJlZFByb2R1Y3RzRW50aXR5In19LHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHkifX0sZmxvd1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZsb3dTdGF0ZUVudGl0eSJ9fSxpY29uQmFkZ2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iaWNvbkJhZGdlRW50aXR5In19LGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iaW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eSJ9fSxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpa2VCdXR0b25BbmltYXRpb25FbnRpdHkifX0sCmxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVDaGF0UG9sbFN0YXRlRW50aXR5In19LGRhdGFGcmVzaG5lc3NFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZGF0YUZyZXNobmVzc0VudGl0eSJ9fSxsaXZlVmlld2VyTGVhZGVyYm9hcmRDaGF0RW50cnlQb2ludFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHkifX0sbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eSJ9fSxsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJsaXZlUmVhY3Rpb25zRGF0YUVudGl0eSJ9fSwKbG9nb0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJsb2dvRW50aXR5In19LG1hY3JvTWFya2VyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hY3JvTWFya2VyRW50aXR5In19LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5kb3dubG9hZHNMaXN0JiZhLnB1c2godGhpcy5qLmRvd25sb2Fkc0xpc3QpO3RoaXMuai5zbWFydERvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmouc21hcnREb3dubG9hZHNMaXN0KTt0aGlzLmoucmVjb21tZW5kZWREb3dubG9hZHNMaXN0JiZhLnB1c2godGhpcy5qLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHkifX0sCm1haW5Eb3dubG9hZHNMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO2lmKHRoaXMuai5kb3dubG9hZHMpZm9yKGxldCBiIG9mIHRoaXMuai5kb3dubG9hZHMpYS5wdXNoKC4uLihuZXcgenFhKGIpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5In19LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHkifX0sbWFpblBsYXlsaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jaGFubmVsT3duZXImJgphLnB1c2godGhpcy5qLmNoYW5uZWxPd25lcik7dGhpcy5qLnZpZGVvcyYmYS5wdXNoKC4uLnRoaXMuai52aWRlb3MpO3RoaXMuai5jb2xsYWJvcmF0b3JDaGFubmVscyYmYS5wdXNoKC4uLnRoaXMuai5jb2xsYWJvcmF0b3JDaGFubmVscyk7dGhpcy5qLmRvd25sb2FkU3RhdGUmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0ZSk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0RW50aXR5In19LG1haW5QbGF5bGlzdFZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7dGhpcy5qLmNoYW5uZWxDb250cmlidXRvciYmYS5wdXNoKHRoaXMuai5jaGFubmVsQ29udHJpYnV0b3IpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5QbGF5bGlzdFZpZGVvRW50aXR5In19LAptYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja0RhdGEmJmEucHVzaCh0aGlzLmoucGxheWJhY2tEYXRhKTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZhLnB1c2godGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5In19LG1haW5WaWRlb0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoub3duZXImJmEucHVzaCh0aGlzLmoub3duZXIpO3RoaXMuai5kb3dubG9hZFN0YXRlJiZhLnB1c2godGhpcy5qLmRvd25sb2FkU3RhdGUpO3RoaXMuai51c2VyU3RhdGUmJmEucHVzaCguLi4obmV3IENxYSh0aGlzLmoudXNlclN0YXRlKSkubygpKTsKdGhpcy5qLmFkZGl0aW9uYWxNZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgQnFhKHRoaXMuai5hZGRpdGlvbmFsTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5WaWRlb0VudGl0eSJ9fSxtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eSJ9fSxtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHkifX0sbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3RoaXMuai50cmFja3MmJmEucHVzaCguLi50aGlzLmoudHJhY2tzKTsKcmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWwifX0sbXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eSJ9fSxtdXNpY0FsYnVtUmVsZWFzZTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5JiZhLnB1c2godGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSk7dGhpcy5qLnByaW1hcnlBcnRpc3RzJiZhLnB1c2goLi4udGhpcy5qLnByaW1hcnlBcnRpc3RzKTt0aGlzLmouZGV0YWlscyYmYS5wdXNoKHRoaXMuai5kZXRhaWxzKTsKdGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTt0aGlzLmoudHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrcyk7dGhpcy5qLnNoYXJlJiZhLnB1c2godGhpcy5qLnNoYXJlKTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FsYnVtUmVsZWFzZSJ9fSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbCJ9fSxtdXNpY0FydGlzdERldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnBhcmVudEFydGlzdCYmYS5wdXNoKHRoaXMuai5wYXJlbnRBcnRpc3QpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQXJ0aXN0RGV0YWlsIn19LG11c2ljQXJ0aXN0OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpO3RoaXMuai51c2VyRGV0YWlscyYmYS5wdXNoKHRoaXMuai51c2VyRGV0YWlscyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBcnRpc3QifX0sbXVzaWNBcnRpc3RVc2VyRGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wYXJlbnRBcnRpc3QmJmEucHVzaCh0aGlzLmoucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FydGlzdFVzZXJEZXRhaWwifX0sbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmouZG93bmxvYWRlZFRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLmouc21hcnREb3dubG9hZGVkVHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5qLmRvd25sb2FkZWRFcGlzb2RlcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuai5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5qLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJmEucHVzaCguLi50aGlzLmouc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5qLmRvd25sb2FkZWRQbGF5bGlzdHMmJmEucHVzaCguLi50aGlzLmouZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5qLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmYS5wdXNoKC4uLnRoaXMuai5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpO3RoaXMuai5tZXRhZGF0YU9ubHlUcmFja3MmJgphLnB1c2goLi4udGhpcy5qLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5In19LG11c2ljTGlicmFyeUVkaXQ6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNMaWJyYXJ5RWRpdCJ9fSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5In19LG11c2ljUGxheWxpc3Q6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai50cmFja3MpO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO3RoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJmEucHVzaCh0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTsKdGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLmRvd25sb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5qLnNpZGVsb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouc2lkZWxvYWRNZXRhZGF0YSk7dGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTt0aGlzLmouZW50cnlDb2xsZWN0aW9uJiZhLnB1c2godGhpcy5qLmVudHJ5Q29sbGVjdGlvbik7dGhpcy5qLnNoYXJlJiZhLnB1c2godGhpcy5qLnNoYXJlKTt0aGlzLmoucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEmJmEucHVzaCguLi4obmV3IERxYSh0aGlzLmoucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljUGxheWxpc3QifX0sbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljU2hhcmU6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNTaGFyZSJ9fSxtdXNpY1RyYWNrRGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wYXJlbnRUcmFjayYmYS5wdXNoKHRoaXMuai5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja0RldGFpbCJ9fSxtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoucGxheWJhY2tEYXRhJiZhLnB1c2godGhpcy5qLnBsYXliYWNrRGF0YSk7CnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljVHJhY2s6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmYS5wdXNoKHRoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuai5hcnRpc3RzJiZhLnB1c2goLi4udGhpcy5qLmFydGlzdHMpO3RoaXMuai5hdWRpb01vZGVWZXJzaW9uJiZhLnB1c2godGhpcy5qLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuai52aWRlb01vZGVWZXJzaW9uJiZhLnB1c2godGhpcy5qLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuai51c2VyRGV0YWlscyYmCmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpO3RoaXMuai5hbGJ1bVJlbGVhc2UmJmEucHVzaCh0aGlzLmouYWxidW1SZWxlYXNlKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5saWJyYXJ5RWRpdCYmYS5wdXNoKHRoaXMuai5saWJyYXJ5RWRpdCk7dGhpcy5qLmRvd25sb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5qLnBsYXliYWNrUG9zaXRpb24mJmEucHVzaCh0aGlzLmoucGxheWJhY2tQb3NpdGlvbik7dGhpcy5qLmx5cmljcyYmYS5wdXNoKHRoaXMuai5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljVHJhY2sifX0sbXVzaWNUcmFja1VzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudFRyYWNrJiZhLnB1c2godGhpcy5qLnBhcmVudFRyYWNrKTsKcmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja1VzZXJEZXRhaWwifX0sb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eSJ9fSxvZmZsaW5lVmlkZW9Qb2xpY3k6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZVZpZGVvUG9saWN5In19LG9mZmxpbmVWaWRlb1N0cmVhbXM6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZVZpZGVvU3RyZWFtcyJ9fSxvZmZsaW5lYWJpbGl0eUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lYWJpbGl0eUVudGl0eSJ9fSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai5mYWtlQ2hpbGRyZW4mJmEucHVzaCguLi50aGlzLmouZmFrZUNoaWxkcmVuKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHkifX0scGFnZUhlYWRlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwYWdlSGVhZGVyRW50aXR5In19LHBhcnR5R2FtZVBhbmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBhcnR5R2FtZVBhbmVsRW50aXR5In19LHNsaWRlckdhbWVQYW5lbEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzbGlkZXJHYW1lUGFuZWxFbnRpdHkifX0scGRwU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGRwU3RhdGVFbnRpdHkifX0scGlubmVkUHJvZHVjdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwaW5uZWRQcm9kdWN0RW50aXR5In19LApwbGF5YmFja0RhdGE6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYW5zZmVyJiZhLnB1c2godGhpcy5qLnRyYW5zZmVyKTt0aGlzLmouYWRzUGxheWJhY2tEYXRhJiZhLnB1c2goLi4udGhpcy5qLmFkc1BsYXliYWNrRGF0YSk7dGhpcy5qLmRybUxpY2Vuc2UmJmEucHVzaCh0aGlzLmouZHJtTGljZW5zZSk7dGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSYmYS5wdXNoKHRoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWJhY2tEYXRhIn19LHBsYXllclN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBsYXllclN0YXRlRW50aXR5In19LHBsYXlsaXN0VGh1bWJuYWlsRWRpdHNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eSJ9fSwKcXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJxdWFudGl0eUluY3JlbWVudGVyRW50aXR5In19LHJlZnJlc2g6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icmVmcmVzaCJ9fSxzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5In19LHNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQifX0sc2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNlbGVjdGlvblZhbHVlTGlzdEVudGl0eSJ9fSxzZXR0aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNldHRpbmdFbnRpdHkifX0sCnN0cmluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzdHJpbmdFbnRpdHkifX0sc3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHkifX0sdHJhbnNmZXI6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLm9mZmxpbmVWaWRlb1N0cmVhbXMmJmEucHVzaCguLi50aGlzLmoub2ZmbGluZVZpZGVvU3RyZWFtcyk7dGhpcy5qLmNhcHRpb25UcmFjayYmYS5wdXNoKC4uLnRoaXMuai5jYXB0aW9uVHJhY2spO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInRyYW5zZmVyIn19LHRyZW5kaW5nT2ZmZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idHJlbmRpbmdPZmZlckVudGl0eSJ9fSwKdW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHkifX0sdmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkifX0sdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5In19LHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkifX0sdm90aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZvdGluZ0VudGl0eSJ9fSwKeXRNYWluQ2hhbm5lbEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudXNlckNoYW5uZWxEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJDaGFubmVsRGV0YWlscyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ieXRNYWluQ2hhbm5lbEVudGl0eSJ9fSx5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHkifX0seXRNYWluRG93bmxvYWRlZFZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7dGhpcy5qLnBsYXliYWNrRGF0YSYmYS5wdXNoKHRoaXMuai5wbGF5YmFja0RhdGEpO3RoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kmJmEucHVzaCh0aGlzLmoub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHkifX0sCnl0TWFpblZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jaGFubmVsT3duZXImJmEucHVzaCh0aGlzLmouY2hhbm5lbE93bmVyKTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5qLmRvd25sb2FkU3RhdHVzJiZhLnB1c2godGhpcy5qLmRvd25sb2FkU3RhdHVzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5WaWRlb0VudGl0eSJ9fX07WG5hPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWI7dGhpcy52PXt9fX07CkpxYT1jbGFzcyBleHRlbmRzIGpae3YoYSl7cmV0dXJuIGF9byhhKXtpZihhIGluc3RhbmNlb2YgVWludDhBcnJheSl0aHJvdyBuZXcgaVgoIldST05HX0RBVEFfVFlQRSIse0lwOjB9KTtyZXR1cm4gYX19O1puYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLmpbMF09bmV3IEpxYTtpZighXy54KCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgYT10aGlzLmo7dHJ5e2xldCBkPV8uVmooKTt2YXIgYj1rWChkKTt2YXIgYz1uZXcgSXFhKG5ldyBpWihiKSxuZXcgR3FhKGIpKX1jYXRjaChkKXt0aHJvdyBhPWQgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6ZC5tZXNzYWdlfSk6bmV3IGlYKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksXy5HcChhKSxhO31hWzFdPWN9fX07CiRuYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMudG9rZW49YTt0aGlzLmo9Yjt0aGlzLm9ic2VydmVycz1bXTthPW5ldyBfLnUuQnJvYWRjYXN0Q2hhbm5lbChgUEVSU0lTVEVOVF9FTlRJVFlfU1RPUkVfU1lOQzoke18uVmooKX1gKTthLm9ubWVzc2FnZT10aGlzLm8uYmluZCh0aGlzKTt0aGlzLmNoYW5uZWw9YX1vYnNlcnZlKGEpe3RoaXMub2JzZXJ2ZXJzLnB1c2goYSk7cmV0dXJuKCk9Pnt2YXIgYj10aGlzLm9ic2VydmVycy5pbmRleE9mKGEpO2I+PTAmJnRoaXMub2JzZXJ2ZXJzLnNwbGljZShiLDEpfX1vKGEpe3FYKHRoaXMsYS5kYXRhKX1sYSgpe3RoaXMuY2hhbm5lbC5jbG9zZSgpfX07CkxxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPUtxYTt0aGlzLm9ic2VydmVycz1bXTt0aGlzLnZhbHVlPWF9c3Vic2NyaWJlKGEpe2lmKGEuZWohPW51bGwpdGhyb3cgRXJyb3IoIkZjIik7YS5laj10aGlzLm9ic2VydmVycy5sZW5ndGg7dGhpcy5vYnNlcnZlcnMucHVzaChhKTt0cnl7YSh0aGlzLnZhbHVlKX1jYXRjaChiKXt9cmV0dXJuKCk9Pnt2YXIgYj10aGlzLm9ic2VydmVyc1t0aGlzLm9ic2VydmVycy5sZW5ndGgtMV07dGhpcy5vYnNlcnZlcnNbYS5lal09YjtiLmVqPWEuZWo7dGhpcy5vYnNlcnZlcnMucG9wKCl9fXVwZGF0ZShhKXt0aGlzLnZhbHVlPWEodGhpcy52YWx1ZSk7dGhpcy5ub3RpZnkoKX1zZXQoYSl7dGhpcy52YWx1ZT1hO3RoaXMubm90aWZ5KCl9bm90aWZ5KCl7Zm9yKGxldCBhIG9mIHRoaXMub2JzZXJ2ZXJzKXRyeXthKHRoaXMudmFsdWUpfWNhdGNoKGIpe319fTsKam9hPXtsYW5kc2NhcGU6IihtYXgtd2lkdGg6IDI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIixwb3J0cmFpdDoiKG1heC13aWR0aDogMjk5cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSJ9O1hZPXt9O2taPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYodGhpcy5jb25zdHJ1Y3Rvcj09PWtaKXRocm93IG5ldyBUeXBlRXJyb3IoInNkIik7fWRpc3Bvc2UoKXt9ZGlzY29ubmVjdCgpe31vYnNlcnZlKGEsYixjKXtyZXR1cm57ZWxlbWVudDphLG9wdGlvbjpjfX1yZigpe319OwpNcWE9Y2xhc3MgZXh0ZW5kcyBrWntjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pc0Nvbm5lY3RlZD0hMDt0aGlzLnY9ITE7dGhpcy5vYnNlcnZlcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIodGhpcy5CLmJpbmQodGhpcykse3Jvb3RNYXJnaW46Ii0wLjFweCJ9KTt0aGlzLm89bmV3IE1hcDt0aGlzLmo9bmV3IE1hcH1kaXNwb3NlKCl7dGhpcy5kaXNjb25uZWN0KCk7dGhpcy5qLmNsZWFyKCl9ZGlzY29ubmVjdChhPSExKXt0aGlzLmlzQ29ubmVjdGVkPSExO3RoaXMudj1hO3RoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO2ZvcihsZXQgYiBvZiB0aGlzLm8udmFsdWVzKCkpYi5kaXNjb25uZWN0KCl9QihhKXtmb3IobGV0IGMgb2YgYSl7dmFyIGI9dGhpcy5qLmdldChjLnRhcmdldCk7aWYoIWIpY29udGludWU7YT1jLmlzSW50ZXJzZWN0aW5nO2ZvcihsZXQgW2QsZV1vZiBiKXtiPWQ7bGV0IGY9ZTtiJiYoYi5zdGF0ZT09PSJ2aXNpYmxlIiYmYXx8Yi5zdGF0ZT09PSJoaWRkZW4iJiYKIWEpJiYoZihjLnRhcmdldCxiLnN0YXRlKSxiLlZiJiZ0aGlzLnJmKHtlbGVtZW50OmMudGFyZ2V0LG9wdGlvbjpifSkpfX19RChhKXtmb3IobGV0IGIgb2YgYSlpZigoYT10aGlzLmouZ2V0KGIudGFyZ2V0KSkmJmIuaXNJbnRlcnNlY3RpbmcpZm9yKGxldCBbYyxkXW9mIGEpe2E9YztsZXQgZT1kO2EmJmEuc3RhdGU9PT0icHJlc2NhbiImJihlKGIudGFyZ2V0LGEuc3RhdGUpLGEuVmImJnRoaXMucmYoe2VsZW1lbnQ6Yi50YXJnZXQsb3B0aW9uOmF9KSl9fW9ic2VydmUoYSxiLGMpe3ZhciBkPShkPXRoaXMuai5nZXQoYSkpJiZkLmhhcyhjKT97ZWxlbWVudDphLG9wdGlvbjpjfTp2b2lkIDA7aWYoZClyZXR1cm4gZDtkPXtlbGVtZW50OmEsb3B0aW9uOmN9O3RoaXMuai5oYXMoYSl8fHRoaXMuai5zZXQoYSxuZXcgTWFwKTt2YXIgZT10aGlzLmouZ2V0KGEpO2UmJiFlLmhhcyhjKSYmZS5zZXQoYyxiKTt0aGlzLnZ8fChjLnN0YXRlPT09InByZXNjYW4iJiYoYj0wLGEuaGFzQXR0cmlidXRlKCJwcmVzY2FuLWhlaWdodCIpJiYKKGM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJwcmVzY2FuLWhlaWdodCIpKSxpc05hTihjKXx8KGI9YykpLHRoaXMuby5oYXMoYik/Yj10aGlzLm8uZ2V0KGIpOihjPWAtMC4xcHggLTAuMXB4ICR7Yn1weCAtMC4xcHhgLGM9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHRoaXMuRC5iaW5kKHRoaXMpLHtyb290TWFyZ2luOmN9KSx0aGlzLm8uc2V0KGIsYyksYj1jKSxiLm9ic2VydmUoYSkpLHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShhKSk7cmV0dXJuIGR9cmYoYSl7dmFyIGI9dGhpcy5qLmdldChhLmVsZW1lbnQpO2lmKGImJmIuaGFzKGEub3B0aW9uKSl7Yi5kZWxldGUoYS5vcHRpb24pO2lmKGEmJmEub3B0aW9uLnN0YXRlPT09InByZXNjYW4iKWZvcihsZXQgYyBvZiB0aGlzLm8udmFsdWVzKCkpYy51bm9ic2VydmUoYS5lbGVtZW50KTtiLnNpemU9PT0wJiYodGhpcy5qLmRlbGV0ZShhLmVsZW1lbnQpLHRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKGEuZWxlbWVudCkpfX19OwpxWT1bInlvdXR1YmVfZmlsbCIsInlvdXR1YmVfb3V0bGluZSJdO0FYPXZvaWQgMDt2YXIgTnFhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudmFsdWU9YX1kZXJlZigpe3JldHVybiB0aGlzLnZhbHVlfX0sT3FhPXR5cGVvZiBXZWFrUmVmPT09ImZ1bmN0aW9uIj9XZWFrUmVmOk5xYTt2YXIgRlg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubWFwPW5ldyBXZWFrTWFwfWFkZChhLGIpe3RoaXMubWFwLmhhcyhhKXx8KHRoaXMuaihhKSx0aGlzLm1hcC5zZXQoYSxbXSkpO3RoaXMubWFwLmdldChhKS5wdXNoKG5ldyBPcWEoYikpfWdldChhKXt2YXIgYj10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1iLm1hcC5nZXQoYSk7aWYoYyl7dmFyIGQ9MDtmb3IobGV0IGUgb2YgYyl7bGV0IGY9ZS5kZXJlZigpO2YmJihkKysseWllbGQgZil9aWYoMipkPGMubGVuZ3RoKXtkPTA7Zm9yKGxldCBlIG9mIGMpZS5kZXJlZigpJiYoY1tkKytdPWUpO2MubGVuZ3RoPWR9fX0oKX19KGE9PnthLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixBb2Ese29uY2U6ITB9KX0pLEVYPW5ldyBXZWFrTWFwLERYPUFib3J0Q29udHJvbGxlcixsWj1BYm9ydFNpZ25hbDt0eXBlb2YgbFouYWJvcnQhPT0iZnVuY3Rpb24iJiYobFouYWJvcnQ9eG9hKTsKdHlwZW9mIGxaLnByb3RvdHlwZS50aHJvd0lmQWJvcnRlZCE9PSJmdW5jdGlvbiImJihsWi5wcm90b3R5cGUudGhyb3dJZkFib3J0ZWQ9eW9hKTt0eXBlb2YgbFouYW55IT09ImZ1bmN0aW9uIiYmKGxaLmFueT16b2EpO3R5cGVvZiBsWi50aW1lb3V0IT09ImZ1bmN0aW9uIiYmKGxaLnRpbWVvdXQ9Qm9hKTt2YXIgR1g9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7dmFyIFVZPW5ldyBfLkkoImNvcHlMaW5rUmVuZGVyZXIiKTt2YXIgUHFhPW5ldyBfLkkoImF1ZGlvVHJhY2tTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIFFxYT1uZXcgXy5JKCJjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIFJxYT1uZXcgXy5JKCJzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQiKTt2YXIgU3FhPW5ldyBfLkkoInNob3dDYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIE9wYT1uZXcgXy5JKCJwaG9uZURpYWxlckVuZHBvaW50Iik7dmFyIFNwYT1uZXcgXy5JKCJzZW5kU21zRW5kcG9pbnQiKTt2YXIgS3BhPW5ldyBfLkkoImNvcHlUZXh0RW5kcG9pbnQiKTt2YXIgbVo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5uYW1lPWF9byhhPXt9KXtJWCh0aGlzLm5hbWUsIlNVQ0NFU1MiLGEpfWooYT17fSl7SVgodGhpcy5uYW1lLCJGQUlMVVJFIixhKX19LEVvYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9IlNMSV9OQU1FX1lPVVRVQkVfRU1CRURTX1dFQl9GVUxMU0NSRUVOX1JFUVVFU1RfU0xJIjt0aGlzLnNsaUlkPWE7dGhpcy50aW1lb3V0TXM9M0U0O3RoaXMubz0iIjt0aGlzLnY9LTE7dGhpcy5qPSExO3RoaXMuZGltZW5zaW9ucz17fX1nZXRJZCgpe3JldHVybiB0aGlzLnNsaUlkfURyKGE9e30pe3RoaXMuanx8KHRoaXMuaj0hMCx0aGlzLmRpbWVuc2lvbnM9YSx0aGlzLm89Q29hKCksWlcoe2RpbWVuc2lvbnM6dGhpcy5kaW1lbnNpb25zLHJlY29yZHM6W3tuYW1lOnRoaXMubmFtZSxzdGF0ZToiU0xJX1NUQVRFX1NUQVJUIixzbGlJZDp0aGlzLm99XX0pLHRoaXMudGltZW91dE1zPjAmJih0aGlzLnY9c2V0VGltZW91dCgoKT0+Cnt0aGlzLnpnKCJUSU1FT1VUIil9LHRoaXMudGltZW91dE1zKSkpfXpnKGEpe3RoaXMuaiYmKHRoaXMudGltZW91dE1zPjAmJmNsZWFyVGltZW91dCh0aGlzLnYpLHRoaXMuaj0hMSxhPXtkaW1lbnNpb25zOnRoaXMuZGltZW5zaW9ucyxyZWNvcmRzOlt7bmFtZTp0aGlzLm5hbWUsc3RhdHVzOkhYKGEpLHN0YXRlOiJTTElfU1RBVEVfRU5EIixzbGlJZDp0aGlzLm99XX0sXy5FeS5yZWdpc3Rlci5kZWxldGUoYCR7dGhpcy5uYW1lfV8ke3RoaXMuc2xpSWR9YCksWlcoYSkpfX07dmFyIFNYPW5ldyBtWigiU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX1BMQVlFUl9FUlJPUl9TTEkiKSxUWD1uZXcgbVooIlNMSV9OQU1FX1lPVVRVQkVfRU1CRURTX1dFQl9QTEFZRVJfVU5QTEFZQUJMRV9TTEkiKTt2YXIgR29hPVsiY2xpY2tUcmFja2luZ1BhcmFtcyIsImNvbW1hbmRNZXRhZGF0YSIsImxvZ2dpbmdVcmxzIiwiYnVpbGRDb21tYW5kUGF5bG9hZCJdO3ZhciBMWD1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYz0hMSxkPSExLGU9W10pe3ZhciBmPXdYO3RoaXMudj1hO3RoaXMubmF2aWdhdGU9dm9pZCAwO3RoaXMuaj1iO3RoaXMuWT1jO3RoaXMuST1kO3RoaXMuQj1mO3RoaXMuSz1lO3RoaXMuTT1bXTt0aGlzLm89bmV3IFNldDt0aGlzLkQ9ITE7S29hKHRoaXMpfXJlc29sdmVDb21tYW5kKGEsYil7cmV0dXJuIE5YKHRoaXMsYSxiKS5oYW5kbGVkfX07dmFyIG5aPW5ldyBfLlZzKCJFTlRJVFlfU1RBVEVfVE9LRU4iKTt2YXIgb1o9Y2xhc3N7YXN5bmMgcmVzb2x2ZShhLGIpe2F3YWl0IHRoaXMucmVzb2x2ZUNvbW1hbmQoYSxiKX19O3ZhciBwWj1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5zdG9yZT1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe2lmKGE9Xy5CKGEsXy53bmEpPy5lbnRpdHlCYXRjaFVwZGF0ZSlhPXsuLi5hLG11dGF0aW9uczpbLi4uKGEubXV0YXRpb25zfHxbXSldfSxhd2FpdCBkb2EoYSx0aGlzLnN0b3JlKX19O3BaW18uTG5dPVtuWl07dmFyICRZPW5ldyBfLlZzKCJQQU5FTF9MT0FESU5HX1NUUkFURUdZX1RPS0VOIik7dmFyIHFaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuY29udHJvbGxlcj1hO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k9Yn1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe3ZhciBjPV8uQihhLF8uTlcpO2lmKGM/LnBhbmVsTG9hZGluZ1N0cmF0ZWd5KXt2YXIgZD1WWCh0aGlzLmNvbnRyb2xsZXIsYj8uZm9ybT8uZWxlbWVudCksZT1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8ucG9zaXRpb24sZj1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8uaG92ZXJDb25maWcsaD1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8uZXhwYW5kVG9GdWxsV2lkdGgsaz1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8ub3BlblRvU2lkZTthd2FpdCB0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmV4ZWN1dGUoe2NvbW1hbmQ6YSxkYXRhOmMucGFuZWxMb2FkaW5nU3RyYXRlZ3ksZ246YXN5bmMgbD0+CntpZihsLnNoZWV0Vmlld01vZGVsKXtpZihmKXt2YXIgbT10aGlzLmNvbnRyb2xsZXI7bS5vPSEhZi5wcmV2ZW50Q2xvc2VXaGlsZUhvdmVyZWQ7bS5oaWRlRGVsYXlNcz1mLmhpZGVEZWxheU1zPz8wO20uc2hvd0RlbGF5TXM9Zi5zaG93RGVsYXlNcz8/MH1hd2FpdCB0aGlzLmNvbnRyb2xsZXIud2coe3ZpZXdNb2RlbDpsLnNoZWV0Vmlld01vZGVsLFVyOmUsZXhwYW5kVG9GdWxsV2lkdGg6aCxvcGVuVG9TaWRlOmt9LGQsYj8uZm9ybT8uZWxlbWVudCl9fSxidjp7bGF5ZXI6MH19KX19fTtxWltfLkxuXT1bXy5jTCwkWV07dmFyIFRxYT1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1hc3luYyByZXNvbHZlQ29tbWFuZChhKXt2YXIgYj1fLkIoYSxQcWEpO2ImJihhPWF3YWl0IF8uTEgoKSkmJmE/LmlzUmVhZHk/LigpJiYoYj1Rb2EoYSxiPy5sYW5ndWFnZUNvZGUpKSYmYS5zZXRBdWRpb1RyYWNrKGIpfX07dmFyIHJaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhKXt2YXIgYj1fLkIoYSxRcWEpO2lmKGImJihhPWF3YWl0IF8uTEgoKSkpe3ZhciBjPWI/Lmxhbmd1YWdlQ29kZTtiPWI/LmlzQXV0b1RyYW5zbGF0ZWQ7YS5nZXRWaWRlb0RhdGEmJl8uJE8oYSkubGVuZ3RoJiYoKGM9Um9hKGEsYyxiKSk/YS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLGMpOihhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7fSksYS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLHt9KSkpO2E9YS5pc1N1YnRpdGxlc09uKCk/Xy5hQSgiQ0FQVElPTl9PTl9UT0FTVCIsdm9pZCAwLCJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIik6Xy5hQSgiQ0FQVElPTl9PRkZfVE9BU1QiLHZvaWQgMCwiU3VidGl0bGVzL0NDIHR1cm5lZCBvZmYiKTt0aGlzLmoucmVzb2x2ZUNvbW1hbmQoXy5hUShfLldMKGEpLDVFMykpfX19OwpyWltfLkxuXT1bXy5VRF07dmFyIHNaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe18uQihhLFJxYSkmJihhPWF3YWl0IF8uTEgoKSkmJihhPVNvYShhKSkmJnRoaXMuai5yZXNvbHZlQ29tbWFuZChhLGIpfX07c1pbXy5Mbl09W18uVURdO3ZhciB0Wj1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9YXN5bmMgcmVzb2x2ZUNvbW1hbmQoYSxiKXtfLkIoYSxTcWEpJiYoYT1hd2FpdCBfLkxIKCkpJiYoKGE9Vm9hKGEpKT90aGlzLmoucmVzb2x2ZUNvbW1hbmQoYSxiKTooYj1fLmFBKCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiLHZvaWQgMCwiTm8gY2FwdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgdGhpcyB2aWRlbyIpLHRoaXMuai5yZXNvbHZlQ29tbWFuZChfLmFRKF8uV0woYikpKSkpfX07dFpbXy5Mbl09W18uVURdO3ZhciBzcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5zaWduYWw9YTt0aGlzLmo9dGhpcy5vLmJpbmQodGhpcyk7dGhpcy5sb2dnaW5nRW5hYmxlZD0hMDt0aGlzLmlkcz1uZXcgU2V0O2EuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHRoaXMuaik7dGhpcy5qb2JJZD1fLllqKHRoaXMuaiwxRTQpfXd5KGEpe3RoaXMubG9nZ2luZ0VuYWJsZWQmJiF0aGlzLmlkcy5oYXMoYSkmJnRoaXMuaWRzLmFkZChhKX1vKCl7dGhpcy5sb2dnaW5nRW5hYmxlZCYmKHRoaXMubG9nZ2luZ0VuYWJsZWQ9ITEsXy5qZi5BYSh0aGlzLmpvYklkKSx0aGlzLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsdGhpcy5qKSxXb2EodGhpcykpfX07dmFyIFJYO3ZhciBVcWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk9tPW5ldyBNYXA7dGhpcy5qPW5ldyBNYXB9T3ooYSxiKXtpZihhKXt0aGlzLk9tLnNldChhLGIpO3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMucmVzb2x2ZShiKSx0aGlzLmouZGVsZXRlKGEpKX19fTt2YXIgYVo9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YTt0aGlzLnY9Yn1qKCl7aWYodGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneSYmdGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneS5pbmxpbmVDb250ZW50KXJldHVybiB0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmlubGluZUNvbnRlbnR9YXN5bmMgZXhlY3V0ZShhKXt2YXIgYj1hLlRJLGM9YS5wYXJlbnRWZSxkPWEuYnYsZT1hLmduLGY9YS5jb21tYW5kO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k9YS5kYXRhOyhhPXRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnNjcmVlblZlP3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnNjcmVlblZlOmIpJiZfLkRPKHRoaXMudixhLGMsZCk7KGM9dGhpcy5qKCkpJiZhd2FpdCBlKGMpO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnJlcXVlc3RUZW1wbGF0ZSYmKGY9YXdhaXQgJG9hKHRoaXMsZikpJiZhd2FpdCBlKGYpfX07YVpbXy5Mbl09W18uSXksXy5PV107dmFyIHBxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj10aGlzLm89ITE7dGhpcy5zaG93RGVsYXlNcz10aGlzLmhpZGVEZWxheU1zPTA7dGhpcy5EPSExO3RoaXMuST0oKT0+e3RoaXMuaj0hMH07dGhpcy5aPSgpPT57dGhpcy5qPSExfTt0aGlzLlU9KCk9Pnt0aGlzLmo9ITB9O3RoaXMuSz0oKT0+e3RoaXMuaj0hMX19UHooYSxiPSExKXtiP3RoaXMuTT1hOnRoaXMuY29udGFpbmVyPWF9YXN5bmMgd2coYSxiLGM9Yil7V1godGhpcyk7dGhpcy5zaG93RGVsYXlNcz90aGlzLlk9c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgJFgodGhpcyxhLGIsYyl9LHRoaXMuc2hvd0RlbGF5TXMpOmF3YWl0ICRYKHRoaXMsYSxiLGMpfWFzeW5jIEplKCl7V1godGhpcyk7dGhpcy5oaWRlRGVsYXlNcz90aGlzLkI9c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgYVkodGhpcyl9LHRoaXMuaGlkZURlbGF5TXMpOmF3YWl0IGFZKHRoaXMpfWFzeW5jIGRtKCl7cmV0dXJuIFVYKHRoaXMpPy5kbSgpPz8KITF9fTt2YXIgb3BhPVsidG91Y2htb3ZlIiwic2Nyb2xsIl07dmFyIHVaPSExO3ZhciBjWT0hMTt2YXIgbnBhPXtscihhKXthLnBhcmVudElkPT1udWxsJiYodVp8fChiWSgpLHNldEludGVydmFsKGJZLDZFNSksdVo9ITApLGZZKGEsIndlYl90cmFjaW5nX2FjdGlvbiIpKX19O3ZhciBoWSxLcWE9e2lMOl8ueCgid2ViX3RyYWNpbmdfYWxsX2NvbXBvbmVudHMiKSxRdjpfLngoIndlYl90cmFjaW5nX2V4cG9ydF90b19jc2kiKSxIdjpmdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxjPT5TdHJpbmcoY3x8IiIpKTpbU3RyaW5nKGF8fCIiKV19KCJ3ZWJfdHJhY2luZ19lbmFibGVkX3NwYW5zIiksUnY6Xy54KCJ3ZWJfdHJhY2luZ19leHBvcnRfdG9fZGV2dG9vbHMiKSxNcTpfLnNqKCJ0ZWxfbWF4X2JyZWFkY3J1bWJzIiwwKX07aFk9bmV3IExxYTt2YXIga3BhPXtSZW5kZXI6IkNPV19TUEFOX1RZUEVfUkVOREVSIixPbkluaXQ6IkNPV19TUEFOX1RZUEVfT05fSU5JVCIsRWZmZWN0OiJDT1dfU1BBTl9UWVBFX0VGRkVDVCIsQ29tcHV0ZWQ6IkNPV19TUEFOX1RZUEVfQ09NUFVURUQiLFNpZ25hbFVwZGF0ZToiQ09XX1NQQU5fVFlQRV9TSUdOQUxfVVBEQVRFIixSZW5kZXJFZmZlY3Q6IkNPV19TUEFOX1RZUEVfUkVOREVSX0VGRkVDVCIsQ3JlYXRlUmVhY3RpdmVDb21wb25lbnQ6IkNPV19TUEFOX1RZUEVfQ09NUE9ORU5UX1JFTkRFUiJ9O3ZhciBtcGE9Xy54KCJ3ZWJfc2hvcnRzX2VuYWJsZV90cmFjaW5nIik7dmFyIHRwYT1bImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iLCJodHRwczovL3R2LnlvdXR1YmUuY29tIiwiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20iLCJodHRwczovL3d3dy55b3V0dWJlLmNvbSJdLHZwYT1fLnNqKCJ3aWxfaWNvbl9tYXhfY29uY3VycmVudF9mZXRjaGVzIixJbmZpbml0eSksWlk9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuRmE9YTt0aGlzLktrPWI7dGhpcy5ZPXt9O3RoaXMuRD17fTt0aGlzLm89e307dGhpcy5JPXRoaXMuY291bnRlcj0wO3RoaXMuQj0hIV8udS5jYWNoZXM7dGhpcy5VPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO3RoaXMuWj12b2lkIDA7dGhpcy52PW51bGw7dGhpcy5NPV8ueCgid2lsX2ljb25fdXNlX21hc2tfcmVuZGVyaW5nIik/MTowO3RoaXMub2E9Xy54KCJ3aWxfaWNvbl9uZXR3b3JrX2ZpcnN0Iik7dGhpcy5NYT1fLngoIndpbF9pY29uX3JlbmRlcl93aGVuX2lkbGUiKTt0aGlzLlFhPSFfLngoIndpbF9pY29uX2xvYWRfaW1tZWRpYXRlbHkiKTsKdGhpcy5LPSExO2E9KCk9Pnt0aGlzLkImJih0aGlzLlU9Xy51LmNhY2hlcy5vcGVuKCJ5dC1pY29ucyIpLnRoZW4oZD0+dGhpcy5aPWQpLmNhdGNoKCgpPT57dGhpcy5CPSExfSkpfTtjPWM/LigpfHx7fTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYykpYz1kLGI9Xy5mQyhlKSxqWShiKSx0aGlzLkRbY109Yi5jbG9uZU5vZGUoITApO3RoaXMuSz1xcGEodGhpcyk7dGhpcy5LIGluc3RhbmNlb2YgUHJvbWlzZT90aGlzLksudGhlbihhKTphKCl9aihhKXtyZXR1cm4hIXRoaXMubWYoYSl9YXN5bmMgeWEoYSl7aWYoYS5sZW5ndGgpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKShhPXRoaXMubWYoYykpJiYhdGhpcy5EW2EudXJsXSYmYi5wdXNoKGtZKHRoaXMsYSkudGhlbigoKT0+e30pLmNhdGNoKCgpPT57fSkpO1Byb21pc2UuYWxsKGIpfX1weShhKXt2YXIgYj10aGlzLm1mKGEpO3JldHVybiBiP3RoaXMuTT09PTE/bFkodGhpcyxiLHRoaXMuTSk6KGE9dGhpcy5EW2IudXJsXSk/CihhPWEuY2xvbmVOb2RlKCEwKSxuWSh0aGlzLGEpLGxZKHRoaXMsYix0aGlzLk0sYSkpOmtZKHRoaXMsYikudGhlbihjPT57dmFyIGQ9Yz8wOjE7blkodGhpcyxjKTtyZXR1cm4gbFkodGhpcyxiLGQsYyl9KTooXy5IcChuZXcgXy5YaigiSWNvbiBub3QgZm91bmQiLHtpY29uU2hhcGU6YX0pKSwoKT0+e30pfWFzeW5jIGdhKGEsYil7cmV0dXJuIHBZKHRoaXMsYSkudGhlbihjPT57d3BhKHRoaXMsYSxjLGIpO3JldHVybiBjfSl9YXN5bmMgaGEoYSxiKXtyZXR1cm4gYj9iLm1hdGNoKGEpLnRoZW4oYz0+YyYmYy5vaz9jOlByb21pc2UucmVqZWN0KCkpOlByb21pc2UucmVqZWN0KCl9bWYoYSl7cmV0dXJuIHRoaXMuRmEubWYoYSl9fTtaWVtfLkxuXT1bXy5tTyxfLmxGLF8uSW4oXy5vTyldO3ZhciB5cGE9e0FDQ0VTU19USU1FOiJjbG9jayIsQUNDT1VOVF9CT1g6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiI/InBlcnNvbl9ib3giOiJwZXJzb25fYWNjb3VudCIsQUNDT1VOVF9CT1hfQ0FJUk86InBlcnNvbl9hY2NvdW50X2NhaXJvIixBQ0NPVU5UX0NJUkNMRToicGVyc29uX2NpcmNsZSIsQUNDT1VOVF9DSVJDTEVfQ0FJUk86InBlcnNvbl9jaXJjbGVfY2Fpcm8iLEFDQ09VTlRfTElOS0VEOiJhY2NvdW50X2xpbmtfc3VjY2VzcyIsQUNDT1VOVF9VTkxJTktFRDoiYWNjb3VudF9saW5rIixBRERfRlJJRU5EOiJwZW9wbGUiLEFERF9NT0RFUkFUT1I6InNoaWVsZF9hZGQiLEFERF9UT19MSUJSQVJZOiJib29rbWFyayIsQUREX1RPX1BMQVlMSVNUOiJhZGQiLEFERF9UT19RVUVVRV9UQUlMOiJsaXN0X3F1ZXVlIixBRERfVE9fUkVNT1RFX1FVRVVFOiJsaXN0X211c2ljIixBRERfVE9fV0FUQ0hfTEFURVI6ImNsb2NrIixBRERfVklERU9fTElOSzoiZmlsbV9zdHJpcF9hZGQiLApBTEVSVF9XQVJOX1JFRDoiYWxlcnRfdHJpYW5nbGUiLEFSUk9XX0JBQ0s6ImFycm93X2xlZnQiLEFSUk9XX0RJQUdPTkFMX1VQX1JJR0hUX0ZJTExFRDoiYXJyb3dfZGlhZ29uYWxfdXBfcmlnaHQiLEFSUk9XX0RST1BfRE9XTjoiY2hldnJvbl9kb3duIixBUlJPV19EUk9QX1VQOiJjaGV2cm9uX3VwIixBUlJPV19GT1JXQVJEOiJhcnJvd19yaWdodCIsQVJUSVNUOiJwZXJzb25fbXVzaWMiLEFVRElPVFJBQ0s6ImF1ZGlvIixBVVRPX0FXRVNPTUU6InNwYXJrbGUiLEFWQVRBUl9BTk9OWU1PVVM6InBlcnNvbl9jaXJjbGUiLEFWQVRBUl9MT0dHRURfT1VUOiJwZXJzb25fY2lyY2xlIixCQUNLOiJhcnJvd19sZWZ0IixCQVJfQ0hBUlQ6ImJhcl9ncmFwaCIsQkxPQ0s6InNsYXNoX2NpcmNsZV9sZWZ0IixCTE9DS19VU0VSOiJzbGFzaF9jaXJjbGVfbGVmdCIsQk9PS01BUktfQk9SREVSOiJib29rbWFyayIsQlJFQUtJTkdfTkVXU19BTFRfMToiYXJ0aWNsZV9hbGVydCIsQlJPQURDQVNUX0NBSVJPOiJwb2RjYXN0X2NhaXJvIiwKQlVHX1JFUE9SVDoiYnVnIixDQU1FUkFfQUxUOiJjYW1lcmEiLENBTVBBSUdOOiJtZWdhcGhvbmUiLENBTkNFTDoieF9jaXJjbGUiLENBUFRJT05TOiJjbG9zZWRfY2FwdGlvbiIsQ0FTVF9PVVRMSU5FOiJjaHJvbWVjYXN0IixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09GRjoiYmVsbCIsQ0hBTk5FTF9OT1RJRklDQVRJT05fUFJFRkVSRU5DRV9PTjoiYmVsbF9vbiIsQ0hBVDoibWVzc2FnZV9idWJibGVfbGVmdCIsQ0hBVF9CVUJCTEU6Im1lc3NhZ2VfYnViYmxlX2VtcHR5IixDSEFUX1NQQVJLOiJzcGFya19tZXNzYWdlX2J1YmJsZV9sZWZ0IixDSEVDS19CT1hfT1VUTElORV9CTEFOSzoiYm94X2VtcHR5IixDSEVDS19DSVJDTEVfT1VUTElORToiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfVEhJQ0s6ImNoZWNrX2NpcmNsZSIsQ0xBUklGWToiYXJ0aWNsZV9jbGFyaWZ5IixDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRDoiY2xvc2VkX2NhcHRpb24iLENMT1NFOiJ4X21hcmsiLApDTE9VRF9VUExPQUQ6ImNsb3VkX2Fycm93X3VwIixDT0xMQVBTRToiY2hldnJvbl91cCIsQ09MTEFQU0VfQ0FJUk86ImNoZXZyb25fdXBfY2Fpcm8iLENPTExFQ1RJT046ImxheWVycyIsQ09MT1JfTEVOUzoicGFsZXR0ZSIsQ09NTUVOVDoibWVzc2FnZV9idWJibGVfcmlnaHQiLENPTlNFTlRfU0hJRUxEOiJwZXJzb25fc2hpZWxkIixDT05URU5UX0NVVDoic2Npc3NvcnMiLENPTlRFTlRfQ1VUX0NBSVJPOiJzY2lzc29yc19jYWlybyIsQ09VUlNFOl8ueCgid2ViX2VuYWJsZV9jb3Vyc2VfaWNvbl91cGRhdGUiKT8iY3JlYXRvcl9hY2FkZW15IjoibGlnaHRidWxiIixDT1VSU0VfQ0FJUk86Xy54KCJ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZSIpPyJjcmVhdG9yX2FjYWRlbXlfY2Fpcm8iOiJsaWdodGJ1bGJfY2Fpcm8iLENSRUFUSU9OX0xJVkU6InJhZGFyX2xpdmUiLENSRUFUSU9OX1BPU1Q6ImJveF9wZW5jaWwiLENSRUFUSU9OX1VQTE9BRDoibXlfdmlkZW9zIixDUkVBVElPTl9VUExPQURfUkVEOiJ1cGxvYWQiLApDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTjoiZG9sbGFyX3NpZ24iLENSRUFUT1JfTUVUQURBVEFfTU9ORVRJWkFUSU9OX09GRjoiZG9sbGFyX3NpZ25fb2ZmIixDUkVBVE9SX1NUVURJTzoieW91dHViZV9zdHVkaW8iLERBU0hCT0FSRDoiZ3JpZF9hc3ltbWV0cmljYWwiLERFTEVURToidHJhc2hfY2FuIixERUxFVEVfU1dFRVA6InRyYXNoX2NhbiIsREVTS1RPUDoibGFwdG9wIixESVNMSUtFOiJ0aHVtYl9kb3duIixESVNMSUtFX1NFTEVDVEVEOiJ0aHVtYl9kb3duIixESVNNSVNTQUw6InhfbWFyayIsRElTTUlTU19RVUVVRToibGlzdF9yZW1vdmUiLERPTkVfQUxMOiJjaGVja19kb3VibGUiLERPV05fQVJST1c6ImFycm93X2Rvd24iLERPX05PVF9ESVNUVVJCOiJzbGFzaF9jaXJjbGVfbGVmdCIsRFJBRlQ6InBhcGVyX2Nvcm5lcl9mb2xkZWQiLERSQUdfSEFORExFOiJiYXJzXzIiLEVESVQ6InBlbmNpbCIsRU1PSkk6ImZhY2VfdmVyeV9oYXBweSIsRU1PSklfRkxBR1M6ImZsYWciLApFTU9KSV9PQkpFQ1RTOiJsaWdodGJ1bGIiLEVNT0pJX1BFT1BMRToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9SRUNFTlQ6ImNsb2NrIixFTVBUWV9IRUFSVDoiaGVhcnQiLEVNUFRZX0xJS0U6InRodW1iX3VwIixFUlJPUl9CTEFDSzoiYWxlcnRfY2lyY2xlIixFUlJPUl9PVVRMSU5FOiJhbGVydF9jaXJjbGUiLEVYSVRfQVBQOiJhcnJvd19pbiIsRVhJVF9UT19BUFA6ImFycm93X2luIixFWFBBTkQ6ImNoZXZyb25fZG93biIsRVhQQU5EX0FMTDoiY2hldnJvbl9leHBhbmQiLEVYUEFORF9DQUlSTzoiY2hldnJvbl9kb3duX2NhaXJvIixFWFBBTkRfTEVTUzoiY2hldnJvbl91cCIsRVhQQU5EX01PUkU6ImNoZXZyb25fZG93biIsRVhQTE9SRToiY29tcGFzcyIsRVhQTE9SRV9ERVNUSU5BVElPTjoiY29tcGFzcyIsRVhURVJOQUxfTElOSzoib3Blbl9uZXciLEZBQl9VUExPQUQ6InVwbG9hZCIsRkFDRV9IQVBQWV9PVVRMSU5FOiJmYWNlX2hhcHB5IixGQUNUX0NIRUNLOiJhcnRpY2xlX2NoZWNrIiwKRkFTSElPTl9MT0dPOiJmYXNoaW9uIixGQVNISU9OX0xPR09fQ0FJUk86ImZhc2hpb25fY2Fpcm8iLEZBVk9SSVRFOiJoZWFydCIsRkVFREJBQ0s6Im1lc3NhZ2VfYnViYmxlX2FsZXJ0IixGRUVEQkFDS19DQUlSTzoibWVzc2FnZV9idWJibGVfYWxlcnRfY2Fpcm8iLEZJTExfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsRklMTF9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLEZJTExfRE9MTEFSX1NJR05fSEVBUlRfMTI6ImRvbGxhcl9zaWduX2hlYXJ0IixGSUxURVI6Im1lbnVfZmlsdGVyIixGSVJTVF9QQUdFOiJjaGV2cm9uX2ZpcnN0IixGTEFHOiJmbGFnIixGVUxMX0hFQVJUOiJoZWFydCIsR0FNRV9DT05TT0xFX0RQQUQ6ImdhbWVfY29uc29sZV9kcGFkIixHQU1FX0NPTlNPTEVfRkFDRV9CVVRUT05TOiJnYW1lX2NvbnNvbGVfZmFjZV9idXR0b25zIixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHQU1JTkdfTE9HT19DQUlSTzoiZ2FtaW5nX2NhaXJvIiwKR09fVE9fUEFHRToiYXJyb3dfcmlnaHQiLEdST1VQUzoicGVvcGxlX2dyb3VwIixIQVBQWToiZmFjZV9oYXBweSIsSEVBTFRIX0FORF9TQUZFVFk6InNoaWVsZF9wbHVzIixIRUxQOiJxdWVzdGlvbl9jaXJjbGUiLEhFTFBfQ0FJUk86InF1ZXN0aW9uX2NpcmNsZV9jYWlybyIsSEVMUF9PVVRMSU5FOiJxdWVzdGlvbl9jaXJjbGUiLEhJREU6InNsYXNoX2NpcmNsZV9sZWZ0IixJTUFHRToiaW1hZ2UiLElORklOSVRZX0lDT046ImluZmluaXR5IixJTkZPOiJpbmZvX2NpcmNsZSIsSU5GT19PVVRMSU5FOiJpbmZvX2NpcmNsZSIsSU5TRVJUX0NIQVJUOiJiYXJfZ3JhcGhfYm94X3ZlcnRpY2FsIixJTlNFUlRfQ0hBUlRfT1VUTElORUQ6ImJhcl9ncmFwaF9ib3hfdmVydGljYWwiLElOU0VSVF9QSE9UTzoiaW1hZ2UiLEtFRVA6InBpbiIsS0VFUF9PRkY6InBpbl9vZmYiLEtFWUJPQVJEOiJrZXlib2FyZCIsS0VZQk9BUkRfQVJST1dfRE9XTjoiY2hldnJvbl9kb3duIixLRVlCT0FSRF9BUlJPV19VUDoiY2hldnJvbl91cCIsCktJRFNfQkxPQ0s6InNsYXNoX2NpcmNsZV9sZWZ0IixMQU5HVUFHRToiZ2xvYmUiLExBU1RfUEFHRToiY2hldnJvbl9sYXN0IixMQVVOQ0g6Im9wZW5fbmV3IixMRUFSTklORzoibGlnaHRidWxiIixMRUFSTklOR19DQUlSTzoibGlnaHRidWxiX2NhaXJvIixMSUJSQVJZX0FERDp0WSgibGlicmFyeV9hZGQiKSxMSUJSQVJZX09VVExJTkU6ImxpYnJhcnkiLExJQlJBUllfUkVNT1ZFOnRZKCksTElHSFRCVUxCX1NQQVJLX09VVExJTkU6ImxpZ2h0YnVsYl9zcGFyayIsTElLRVNfUExBWUxJU1Q6InRodW1iX3VwIixMSUtFU19QTEFZTElTVF9DQUlSTzoidGh1bWJfdXBfY2Fpcm8iLExJS0U6InRodW1iX3VwIixMSUtFX1NFTEVDVEVEOiJ0aHVtYl91cCIsTElWRToicmFkYXJfbGl2ZSIsTElWRV9DQUlSTzoicmFkYXJfbGl2ZV9jYWlybyIsTElWRV9VTkxJU1RFRDoibGluayIsTE9DQVRJT05fT046ImxvY2F0aW9uX3BvaW50IixMT0NBVElPTl9QSU46ImxvY2F0aW9uX3BvaW50IixMT09QOiJhcnJvd19yZXBlYXQiLApMT09QX0FDVElWRToiYXJyb3dfcmVwZWF0IixMT09QX09ORToiYXJyb3dfcmVwZWF0XzEiLExPT1BfT05FX0FDVElWRToiYXJyb3dfcmVwZWF0XzEiLE1FSDoiZmFjZV9tZWgiLE1FTUJFUlNfT05MWV9NT0RFX09GRjoibWVzc2FnZV9idWJibGVfbGVmdCIsTUVOVToiYmFyc18zIixNRVNTQUdFOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixNSUNST1BIT05FX09OOiJtaWMiLE1JWDoieW91dHViZV9taXgiLE1PTkVUSVpBVElPTl9PTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixNT05FWV9GSUxMOiJkb2xsYXJfc2lnbl9jb250YWluZXIiLE1PTkVZX0ZJTExfSlBZOiJ5ZW5fc2lnbl9jb250YWluZXIiLE1PTkVZX0hFQVJUOiJkb2xsYXJfc2lnbl9oZWFydCIsTU9SRV9IT1JJWjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsTU9SRV9WRVJUOiJvdmVyZmxvd192ZXJ0aWNhbCIsTVVTSUM6ImF1ZGlvIixNVVNJQ19DQUlSTzoiYXVkaW9fY2Fpcm8iLE1VU0lDX05PVEVfU1lNQk9MOiJtdXNpYyIsTVVTSUNfU0hVRkZMRToiYXJyb3dfc2h1ZmZsZSIsCk1ZX0NIQU5ORUw6InBlcnNvbl9jaXJjbGUiLE1ZX0xPQ0FUSU9OOiJsb2NhdGlvbl9wb2ludCIsTkVXU19TVE9SWToibmV3cyIsTkVYVDoiY2hldnJvbl9yaWdodCIsTk9USUZJQ0FUSU9OUzoiYmVsbCIsTk9USUZJQ0FUSU9OU19BQ1RJVkU6ImJlbGxfb24iLE5PVElGSUNBVElPTlNfQ0FJUk86ImJlbGxfY2Fpcm8iLE5PVElGSUNBVElPTlNfRE9ORV9DSEVDS01BUks6ImNoZWNrIixOT1RJRklDQVRJT05TX0lOQk9YOiJiZWxsIixOT1RJRklDQVRJT05TX05PTkU6ImJlbGwiLE5PVElGSUNBVElPTlNfT0ZGOiJiZWxsX29mZiIsTk9UX0lOVEVSRVNURUQ6InNsYXNoX2NpcmNsZV9sZWZ0IixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixPRkZMSU5FX0NMT1VEOiJjbG91ZF9vZmYiLE9GRkxJTkVfRE9XTkxPQUQ6ImRvd25sb2FkIixPRkZMSU5FX0RPV05MT0FEX0NBSVJPOiJkb3dubG9hZF9jYWlybyIsT0ZGTElORV9QQVVTRToicGF1c2UiLE9QRU5fSU5fTkVXOiJvcGVuX25ldyIsCk9VVExJTkVfQURKVVNUOiJhZGp1c3QiLE9VVExJTkVfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsT1VUTElORV9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLE9VVExJTkVfQkFHOiJiYWciLE9VVExJTkVfQ0xPQ0tfSEFMRl9DSVJDTEU6ImNsb2NrX2hhbGZfY2lyY2xlIixPVVRMSU5FX01PQklMRV9ET1dOTE9BRDoibW9iaWxlX2Rvd25sb2FkIixPVVRMSU5FX09WRVJGTE9XX0hPUklaT05UQUxfMzI6Im92ZXJmbG93X2hvcml6b250YWwiLE9VVExJTkVfT1ZFUkZMT1dfVkVSVElDQUw6Im92ZXJmbG93X3ZlcnRpY2FsIixPVVRMSU5FX1lPVVRVQkVfSU1QUk9WRV9UVjoieW91dHViZV9pbXByb3ZlX3R2IixQQUlEOiJkb2xsYXJfc2lnbiIsUEFVU0VfT1VUTElORUQ6InBhdXNlIixQQVlNRU5UOiJjcmVkaXRfY2FyZCIsUEVSU09OX1JBREFSX0ZJTExFRDoicGVyc29uX3JhZGFyIixQSE9ORV9ET1dOTE9BRDoibW9iaWxlX2Rvd25sb2FkIixQTEFZQUJMRVNfTE9HTzoidGljX3RhY190b2UiLApQTEFZQUJMRVNfTE9HT19DQUlSTzoidGljX3RhY190b2VfY2Fpcm8iLFBMQVlMSVNUUzoibGlzdF9wbGF5X2Fycm93IixQTEFZTElTVFNfQ0FJUk86Imxpc3RfcGxheV9hcnJvd19jYWlybyIsUExBWUxJU1RfQUREOnRZKCJsaXN0X2FkZCIpLFBMQVlMSVNUX0FERF9DSEVDSzp0WSgibGlzdF9jaGVjayIpLFBMQVlMSVNUX1BMQVk6Imxpc3RfcGxheV9hcnJvdyIsUExBWV9BTEw6InBsYXlfYXJyb3ciLFBMQVlfQ0lSQ0xFOiJwbGF5X2Fycm93X2NpcmNsZSIsUExBWV9PVVRMSU5FRDoicGxheV9hcnJvd19jaXJjbGUiLFBSSVZBQ1lfSU5GTzoic2hpZWxkIixQUklWQUNZX1BSSVZBVEU6ImxvY2siLFBSSVZBQ1lfUFVCTElDOiJlYXJ0aCIsUFJJVkFDWV9VTkxJU1RFRDoibGluayIsUFJPTU9URToibWVnYXBob25lIixQVVJDSEFTRVM6InByaWNlX3RhZyIsUFVSQ0hBU0VfU1VQRVJfQ0hBVDoic3VwZXJfY2hhdCIsUFVSQ0hBU0VfU1VQRVJfU1RJQ0tFUjoic3VwZXJfc3RpY2tlciIsUVVFU1RJT05fQU5TV0VSOiJtZXNzYWdlX2J1YmJsZV9xdWVzdGlvbiIsClFVRVVFX1BMQVlfTEFTVDoibGlzdF9xdWV1ZV9sYXN0IixRVUVVRV9QTEFZX05FWFQ6Imxpc3RfcGxheV9hcnJvdyIsUkVNSVhfRklMTEVEOiJ5b3V0dWJlX3Nob3J0c19yZW1peCIsUkVNT1ZFOiJiYXJfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFOiJiYXJfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFX09VVExJTkU6ImJhcl9jaXJjbGUiLFJFTU9WRV9ET05FOiJjaGVja19kb3VibGVfb2ZmIixSRU1PVkVfRlJPTV9ISVNUT1JZOiJiYXJfY2lyY2xlIixSRU1PVkVfRlJPTV9QTEFZTElTVDoiYmFyX2NpcmNsZSIsUkVNT1ZFX01PREVSQVRPUjoic2hpZWxkX29mZiIsUkVQTEFZOiJhcnJvd19jaXJjbGUiLFJFUExBWV8xMDoic2tpcF9iYWNrXzEwIixSRVBPUlRfUFJPQkxFTToiYWxlcnRfdHJpYW5nbGUiLFNBRDoiZmFjZV9zYWQiLFNBVkVfUExBWUxJU1Q6ImJvb2ttYXJrIixTQ0hFRFVMRToiY2xvY2siLFNDSE9PTDoiY3JlYXRvcl9hY2FkZW15IixTQ1JFRU5fRlVMTFNDUkVFTjoic2NyZWVuX2Z1bGwiLApTRUFSQ0hfSElTVE9SWToiYXJyb3dfdGltZSIsU0VMTDoicHJpY2VfdGFnIixTRVRUSU5HUzoiZ2VhciIsU0VUVElOR1NfQ0FJUk86ImdlYXJfY2Fpcm8iLFNFVFRJTkdTX0xJR0hUOiJnZWFyIixTRVRUSU5HU19NQVRFUklBTDoiZ2VhciIsU0hBUkVfQVJST1c6InNoYXJlIixTSElFTERfV0lUSF9BVkFUQVI6InBlcnNvbl9zaGllbGQiLFNIT1BQSU5HX0JBRzoiYmFnIixTSE9QUElOR19CQUdfQ0FJUk86ImJhZ19jYWlybyIsU0hPUFBJTkdfQ0FSVDoiY2FydCIsU0hPUlRTX0NPTU1FTlQ6InlvdXR1YmVfc2hvcnRzX21lc3NhZ2VfYnViYmxlX3JpZ2h0IixTSE9SVFNfRElTTElLRToieW91dHViZV9zaG9ydHNfdGh1bWJfZG93biIsU0hPUlRTX0xJS0U6InlvdXR1YmVfc2hvcnRzX3RodW1iX3VwIixTSE9SVFNfU0hBUkU6InlvdXR1YmVfc2hvcnRzX3NoYXJlIixTSFVGRkxFOiJhcnJvd19zaHVmZmxlIixTTE9XX01PREVfT0ZGOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixTT0NJQUw6InBlb3BsZSIsClNPUlQ6Im1lbnVfc29ydCIsU1BBUktfTElHSFRCVUxCX09VVExJTkU6InNwYXJrX2xpZ2h0YnVsYiIsU1BFRURfMVg6IjF4IixTUEVFRF8xX1BPSU5UXzJYOiIxX3BvaW50XzJ4IixTUEVFRF8xX1BPSU5UXzVYOiIxX3BvaW50XzV4IixTUEVFRF8xX1BPSU5UXzhYOiIxX3BvaW50Xzh4IixTUEVFRF8yWDoiMngiLFNQRUVEX1BPSU5UXzJYOiJwb2ludF8yeCIsU1BFRURfUE9JTlRfOFg6InBvaW50Xzh4IixTUE9OU09SU0hJUF9TVEFSOiJzdGFyX2NpcmNsZSIsU1RBRkZfUElDSzoic3BvdGxpZ2h0IixTVEFSVF9EVlI6ImFkZCIsU1RBUl9CT1JERVI6InN0YXIiLFNUQVJfQ0lSQ0xFX1JJQkJPTl9PVVRMSU5FOiJzdGFyX2NpcmNsZV9yaWJib24iLFNUSUNLRVJfRU1PVElDT046ImZhY2VfaGFwcHkiLFNUT1BfRFZSOiJzdG9wIixTVUJTQ1JJQkU6InlvdXR1YmVfbG9nb19pY29uIixTVUJTQ1JJQkVfUExVUzoiYWRkX2NhaXJvIixTVUJTQ1JJUFRJT05fTUFOQUdFUjoiZ2VhciIsU1VQRVJWSVNPUl9BQ0NPVU5UOiJwZW9wbGUiLApTVVBFUl9DSEFUX0ZPUl9HT09EOiJoYW5kc19oZWFydCIsU1dBUF9IT1JJWjoiYXJyb3dfc3dhcF9ob3Jpem9udGFsIixTV0lUQ0hfQUNDT1VOVFM6InBlcnNvbl9hY2NvdW50IixUQUJfQUNDT1VOVDoicGVyc29uIixUQUJfQUNUSVZJVFk6ImJlbGwiLFRBQl9CT09LTUFSSzoiYm9va21hcmsiLFRBQl9FWFBMT1JFOiJjb21wYXNzIixUQUJfSE9NRToiaG9tZSIsVEFCX0hPTUVfQ0FJUk86ImhvbWVfY2Fpcm8iLFRBQl9JTkJPWDoibWFpbCIsVEFCX0xJS0VEOiJ0aHVtYl91cCIsVEFCX01VU0lDX1BSRU1JVU06InlvdXR1YmVfbXVzaWMiLFRBQl9TSE9SVFM6InlvdXR1YmVfc2hvcnRzIixUQUJfU0hPUlRTX0NBSVJPOiJ5b3V0dWJlX3Nob3J0c19jYWlybyIsVEFCX1NVQlNDUklQVElPTlM6InN1YnNjcmlwdGlvbnMiLFRBQl9TVUJTQ1JJUFRJT05TX0NBSVJPOiJzdWJzY3JpcHRpb25zX2NhaXJvIixUQUJfVFJFTkRJTkc6ImZpcmUiLFRJTUVSOiJzdG9wd2F0Y2giLFRSQUlMRVI6InlvdXR1YmVfb3JpZ2luYWxzIiwKVFJFTkRJTkc6ImZpcmUiLFRSRU5ESU5HX0NBSVJPOiJmaXJlX2NhaXJvIixUUkVORElOR19ET1dOOiJyYXRpbmdfZG93biIsVFJFTkRJTkdfVVA6InJhdGluZ191cCIsVFJPUEhZOiJ0cm9waHkiLFRST1BIWV9DRUxFQlJBVElPTlM6ImZpcmV3b3JrcyIsVFVORToiYWRqdXN0IixVTkJMT0NLX1VTRVI6ImJhcl9jaXJjbGUiLFVOTElNSVRFRDoieW91dHViZV9sb2dvX2ljb24iLFVOUExVR0dFRF9MSVZFX0dVSURFOiJyYWRhcl9saXZlIixVTlBMVUdHRURfU1BPUlRTOiJleWVfb2ZmIixVUExPQURTOiJsaWJyYXJ5IixVUF9BUlJPVzoiYXJyb3dfdXAiLFZFUlRJQ0FMX0FMSUdOX0JPVFRPTToiZG93bmxvYWQiLFZFUllfSEFQUFk6ImZhY2VfdmVyeV9oYXBweSIsVkVSWV9TQUQ6ImZhY2VfdmVyeV9zYWQiLFZJREVPR0FNRV9BU1NFVDoiZ2FtaW5nIixWSURFT1M6InBsYXlfYXJyb3dfY2lyY2xlIixWSURFT19DQUxMOiJ2aWRlb19jYW1lcmFfYWRkIixWSURFT19MSUJSQVJZX1dISVRFOiJsaWJyYXJ5IiwKVklERU9fWU9VVFVCRToieW91dHViZV9sb2dvX2ljb24iLFZJRVdfTElTVDoibGlzdF92aWV3IixWSUVXX0xJU1RfQ0FJUk86Imxpc3Rfdmlld19jYWlybyIsVklTSUJJTElUWToiZXllIixWSVNJQklMSVRZX09GRjoiZXllX29mZiIsVk9MVU1FX01VVEU6InZvbHVtZV9vZmYiLFZPTFVNRV9VUDoidm9sdW1lX29uIixXQUxMUEFQRVI6ImltYWdlIixXQVJOSU5HOiJhbGVydF90cmlhbmdsZSIsV0FUQ0hfSElTVE9SWToiYXJyb3dfdGltZSIsV0FUQ0hfSElTVE9SWV9DQUlSTzoiYXJyb3dfdGltZV9jYWlybyIsV0FUQ0hfTEFURVI6ImNsb2NrIixXQVRDSF9MQVRFUl9DQUlSTzoiY2xvY2tfY2Fpcm8iLFdBVENIX1JFTEFURURfTUlYOiJ5b3V0dWJlX21peCIsV0hBVF9UT19XQVRDSDoiaG9tZSIsWU9VVFVCRV9DUkVBVEVfUkVEX0xPR086InlvdXR1YmVfY3JlYXRlX2xvZ28iLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRToieW91dHViZV9tdXNpYyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FX0NBSVJPOiJ5b3V0dWJlX211c2ljX2NhaXJvIiwKWU9VVFVCRV9TSE9SVFNfRklMTF9OT19UUklBTkdMRV9SRURfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZSIsWU9VVFVCRV9TSE9SVFNfT1VUTElORV8yNDoieW91dHViZV9zaG9ydHMiLFlUX09VVExJTkVfTVVTSUNfMjQ6Im11c2ljIn07dmFyIHhwYT17QUNDRVNTX1RJTUU6ImNsb2NrIixBQ0NPVU5UX0JPWDoicGVyc29uX3NxdWFyZSIsQUNDT1VOVF9CT1hfQ0FJUk86InBlcnNvbl9zcXVhcmUiLEFDQ09VTlRfQ0lSQ0xFOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0NJUkNMRV9DQUlSTzoicGVyc29uX2NpcmNsZSIsQUNDT1VOVF9MSU5LRUQ6ImFjY291bnRfbGluayIsQUNDT1VOVF9VTkxJTktFRDoiYWNjb3VudF9saW5rIixBRERfQ0lSQ0xFOiJhZGRfY2lyY2xlIixBRERfQ0lSQ0xFX09VVExJTkU6ImFkZF9jaXJjbGUiLEFERF9GUklFTkQ6InBlcnNvbl9jaGlsZCIsQUREX01PREVSQVRPUjoic2hpZWxkX2FkZCIsQUREX1RPX0xJQlJBUlk6ImJvb2ttYXJrIixBRERfVE9fUExBWUxJU1Q6ImFkZCIsQUREX1RPX1FVRVVFX1RBSUw6InF1ZXVlIixBRERfVE9fUkVNT1RFX1FVRVVFOiJwbGF5bGlzdF9hdWRpbyIsQUREX1RPX1dBVENIX0xBVEVSOiJjbG9jayIsQUREX1ZJREVPX0xJTks6ImZpbG1fc3RyaXBfYWRkIixBRE1JTl9QQU5FTF9TRVRUSU5HUzoicGVyc29uX2dlYXIiLApBTEVSVF9XQVJOX1JFRDoiYWxlcnRfdHJpYW5nbGUiLEFMSUdOX0xFRlQ6InRleHRfYWxpZ25fbGVmdCIsQVJST1dTX0FMRVJUOiJhcnJvd19zcGxpdF9hbGVydCIsQVJST1dfQkFDSzoiYXJyb3dfbGVmdCIsQVJST1dfQ0lSQ0xFOiJhcnJvd19jb3VudGVyY2xvY2t3aXNlIixBUlJPV19DSVJDTEVfUExBWToicmVwbGF5IixBUlJPV19DSVJDTEVfUklHSFQ6ImFycm93X2Nsb2Nrd2lzZSIsQVJST1dfRElBR09OQUw6ImFycm93X3VwX2xlZnQiLEFSUk9XX0RJQUdPTkFMX1VQX1JJR0hUOiJhcnJvd191cF9yaWdodCIsQVJST1dfRFJPUF9ET1dOOiJ0cmlhbmdsZV9kb3duIixBUlJPV19EUk9QX1VQOiJ0cmlhbmdsZV91cCIsQVJST1dfRk9SV0FSRDoiYXJyb3dfcmlnaHQiLEFSUk9XX1BBVVNFOiJwYXVzZV9oaXN0b3J5IixBUlJPV19VTkRPOiJ1bmRvIixBUlRJQ0xFOiJ0ZXh0X3BhZ2UiLEFSVElDTEVfQUxFUlQ6InRleHRfcGFnZV9hbGVydCIsQVJUSUNMRV9DSEVDSzoidGV4dF9wYWdlX2NoZWNrIiwKQVJUSUNMRV9DTEFSSUZZOiJ0ZXh0X3BhZ2VfaW5mbyIsQVJUSVNUOiJwZXJzb25fYXVkaW8iLEFVRElPVFJBQ0s6ImF1ZGlvIixBVURJT19CQURHRToiYXVkaW9fYmFkZ2UiLEFVRElPX1NVUlJPVU5EOiJzdXJyb3VuZF9zb3VuZCIsQVVUT19BV0VTT01FOiJzcGFya2xlcyIsQVZBVEFSX0FOT05ZTU9VUzoicGVyc29uX2NpcmNsZSIsQVZBVEFSX0xPR0dFRF9PVVQ6InBlcnNvbl9jaXJjbGUiLEJBQ0s6ImFycm93X2xlZnQiLEJBUl9DSEFSVDoiY2hhcnRfYmFyIixCQVJfQ0lSQ0xFOiJtaW51c19jaXJjbGUiLEJBUl9IT1JJWk9OVEFMOiJtaW51cyIsQkxPQ0s6ImNpcmNsZV9zbGFzaCIsQkxPQ0tfVVNFUjoiY2lyY2xlX3NsYXNoIixCT09LTUFSS19CT1JERVI6ImJvb2ttYXJrIixCT1hfT1BFTl9DSEVDSzoicXVpeiIsQk9YX1BFTkNJTDoic3F1YXJlX3BlbmNpbCIsQk9YX1NUQUNLXzM6InNxdWFyZTNfc3RhY2siLEJSRUFLSU5HX05FV1NfQUxUXzE6InRleHRfcGFnZV9hbGVydCIsCkJST0FEQ0FTVDoicG9kY2FzdCIsQlJPQURDQVNUX0NBSVJPOiJwb2RjYXN0IixCVUdfUkVQT1JUOiJidWciLENBTUVSQV9BTFQ6ImNhbWVyYSIsQ0FNUEFJR046Im1lZ2FwaG9uZSIsQ0FOQ0VMOiJ4X2NpcmNsZSIsQ0FQVElPTlM6ImNsb3NlZF9jYXB0aW9ucyIsQ0FTVF9JQ09OOiJjaHJvbWVjYXN0IixDQVNUX09VVExJTkU6ImNocm9tZWNhc3QiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT0ZGOiJiZWxsIixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09OOiJiZWxsX3dhdmVzIixDSEFUOiJ0ZXh0X2J1YmJsZSIsQ0hBVF9CVUJCTEU6ImJ1YmJsZSIsQ0hFQ0tfQk9YOiJjaGVja19zcXVhcmUiLENIRUNLX0JPWF9PVVRMSU5FX0JMQU5LOiJzcXVhcmUiLENIRUNLX0NJUkNMRV9GSUxMRUQ6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfQ0lSQ0xFX09VVExJTkU6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfQ0lSQ0xFX1RISUNLOiJjaGVja19jaXJjbGUiLENIRUNLX0RPVUJMRToiY2hlY2tfZG9uZSIsCkNIRUNLX0RPVUJMRV9PRkY6ImNoZWNrX2RvbmVfc2xhc2giLENIRVZST05fTEVGVDoiY2hldnJvbl9sZWZ0IixDSEVWUk9OX1JJR0hUOiJjaGV2cm9uX3JpZ2h0IixDSEVWUk9OX1JJR0hUX0NBSVJPOiJjaGV2cm9uX3JpZ2h0IixDSVJDTEVTX09WRVJMQVA6ImFjY291bnRfbGluayIsQ0xBUFBFUkJPQVJEX0NBSVJPOiJjbGFwcGVyYm9hcmQiLENMQVJJRlk6InRleHRfcGFnZV9pbmZvIixDTE9DS19BUlJPV1M6ImNsb2NrX3NwbGl0IixDTE9DS19BUlJPV1NfQUxFUlQ6ImNsb2NrX3NwbGl0X2FsZXJ0IixDTE9TRURfQ0FQVElPTjoiY2xvc2VkX2NhcHRpb25zIixDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRDoiY2xvc2VkX2NhcHRpb25zIixDTE9TRToieCIsQ0xPVURfVVBMT0FEOiJjbG91ZF9hcnJvd191cCIsQ09MTEFQU0U6ImNoZXZyb25fdXAiLENPTExBUFNFX0NBSVJPOiJjaGV2cm9uX3VwIixDT0xMRUNUSU9OOiJzcXVhcmUzZF9zdGFjayIsQ09MT1JfTEVOUzoicGFpbnRfcGFsZXR0ZSIsCkNPTU1FTlQ6InRleHRfYnViYmxlIixDT05TRU5UX1NISUVMRDoicGVyc29uX3NoaWVsZCIsQ09OVEVOVF9DVVQ6InNjaXNzb3JzIixDT05URU5UX0NVVF9DQUlSTzoic2Npc3NvcnMiLENPVVJTRToiZ3JhZHVhdGlvbl9jYXAiLENPVVJTRV9DQUlSTzoiZ3JhZHVhdGlvbl9jYXAiLENSRUFUSU9OX0xJVkU6ImxpdmUiLENSRUFUSU9OX1BPU1Q6InNxdWFyZV9wZW5jaWwiLENSRUFUSU9OX1VQTE9BRDoidmlkZW8iLENSRUFUSU9OX1VQTE9BRF9SRUQ6InVwbG9hZCIsQ1JFQVRPUl9BQ0FERU1ZOiJncmFkdWF0aW9uX2NhcCIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT046ImRvbGxhcl9zaWduX2NpcmNsZSIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT05fT0ZGOiJkb2xsYXJfc2lnbl9jaXJjbGVfc2xhc2giLENSRUFUT1JfU1RVRElPOiJ5b3V0dWJlX3N0dWRpbyIsREFSS19USEVNRToidGhlbWUiLERFTEVURToidHJhc2hfY2FuIixERUxFVEVfU1dFRVA6InRyYXNoX2NhbiIsCkRFU0tUT1A6ImxhcHRvcCIsRElTTElLRToidGh1bWJfZG93biIsRElTTElLRV9TRUxFQ1RFRDoidGh1bWJfZG93biIsRElTTUlTU0FMOiJ4IixESVNNSVNTX1FVRVVFOiJwbGF5bGlzdF94IixET0dGT09EOiJwYXdwcmludCIsRE9MTEFSX1NJR046ImRvbGxhcl9zaWduX2NpcmNsZSIsRE9MTEFSX1NJR05fQ0lSQ0xFOiJkb2xsYXJfc2lnbl9jaXJjbGUiLERPTExBUl9TSUdOX0NPTlRBSU5FUjoiZG9sbGFyX3NpZ25fcmVjdGFuZ2xlIixET1dOX0FSUk9XOiJhcnJvd19kb3duIixET19OT1RfRElTVFVSQjoiY2lyY2xlX3NsYXNoIixEUkFGVDoiZG9jdW1lbnQiLERSQUdfSEFORExFOiJlcXVhbCIsRUFSVEg6Imdsb2JlIixFRElUOiJwZW5jaWwiLEVNT0pJOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX0ZMQUdTOiJmbGFnIixFTU9KSV9PQkpFQ1RTOiJsaWdodGJ1bGIiLEVNT0pJX1BFT1BMRToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9SRUNFTlQ6ImNsb2NrIixFTVBUWV9IRUFSVDoiaGVhcnQiLApFTVBUWV9MSUtFOiJ0aHVtYl91cCIsRVJST1JfQkxBQ0s6ImFsZXJ0X2NpcmNsZSIsRVJST1JfT1VUTElORToiYWxlcnRfY2lyY2xlIixFUlJPUl9XSElURToiYWxlcnRfY2lyY2xlIixFWElUX0FQUDoiYXJyb3dfaW4iLEVYSVRfVE9fQVBQOiJhcnJvd19pbiIsRVhQQU5EOiJjaGV2cm9uX2Rvd24iLEVYUEFORF9BTEw6ImNoZXZyb25fZXhwYW5kIixFWFBBTkRfQ0FJUk86ImNoZXZyb25fZG93biIsRVhQQU5EX0xFU1M6ImNoZXZyb25fdXAiLEVYUEFORF9NT1JFOiJjaGV2cm9uX2Rvd24iLEVYUExPUkU6ImNvbXBhc3MiLEVYUExPUkVfREVTVElOQVRJT046ImNvbXBhc3MiLEVYVEVSTkFMX0xJTks6ImFycm93X3VwX3JpZ2h0IixFWUVfT0ZGOiJleWVfc2xhc2giLEZBQl9VUExPQUQ6InVwbG9hZCIsRkFDRV9IQVBQWV9PVVRMSU5FOiJmYWNlX2hhcHB5IixGQUNFX01FSDoiZmFjZV9uZXV0cmFsIixGQUNUX0NIRUNLOiJ0ZXh0X3BhZ2VfY2hlY2siLEZBU0hJT05fTE9HTzoiZmFzaGlvbiIsCkZBU0hJT05fTE9HT19DQUlSTzoiZmFzaGlvbiIsRkFWT1JJVEU6InRodW1iX3VwIixGRUVEQkFDSzoiYWxlcnRfYnViYmxlIixGRUVEQkFDS19DQUlSTzoiYWxlcnRfYnViYmxlIixGSUxMX0FSUk9XX1NPTElEX0RPV05fMTY6ImFycm93X3NvbGlkX2Rvd24iLEZJTExfQVJST1dfU09MSURfVVBfMTY6ImFycm93X3NvbGlkX3VwIixGSUxMX0RPTExBUl9TSUdOX0hFQVJUXzEyOiJkb2xsYXJfc2lnbl9oZWFydCIsRklSU1RfUEFHRToiY2hldnJvbl9sZWZ0X2VuZCIsRkxBR19DQUlSTzoiZmxhZyIsRkxBU0hfT0ZGOiJmbGFzaF9zbGFzaCIsRkxBU0hfT046ImZsYXNoIixGVUxMX0hFQVJUOiJoZWFydCIsR0FNSU5HX0xPR086ImdhbWluZyIsR0FNSU5HX0xPR09fQ0FJUk86ImdhbWluZyIsR09fVE9fUEFHRToiYXJyb3dfcmlnaHQiLEdSSURfQVNZTU1FVFJJQ0FMOiJkYXNoYm9hcmQiLEdST1VQUzoicGVyc29uMyIsSEFORF9TV0lQRV9MRUZUOiJnZXN0dXJlX3N3aXBlX2xlZnQiLEhBTkRfU1dJUEVfUklHSFQ6Imdlc3R1cmVfc3dpcGVfcmlnaHQiLApIQVBQWToiZmFjZV9oYXBweSIsSEVBTFRIX0FORF9TQUZFVFk6InNoaWVsZF9oZWFsdGgiLEhFQVJUX0JPWDoiaGVhcnRfY3ViZSIsSEVMUDoiaGVscF9jaXJjbGUiLEhFTFBfQ0FJUk86ImhlbHBfY2lyY2xlIixIRUxQX09VVExJTkU6ImhlbHBfY2lyY2xlIixISURFOiJjaXJjbGVfc2xhc2giLElOQ09HTklUT19DQUlSTzoiaW5jb2duaXRvIixJTkZJTklUWV9JQ09OOiJpbmZpbml0eSIsSU5GTzoiaW5mb19jaXJjbGUiLElORk9fT1VUTElORToiaW5mb19jaXJjbGUiLElOU0VSVF9DSEFSVDoiY2hhcnRfYmFyX3NxdWFyZSIsSU5TRVJUX0NIQVJUX09VVExJTkVEOiJjaGFydF9iYXJfc3F1YXJlIixJTlNFUlRfUEhPVE86ImltYWdlIixLRUVQOiJwaW4iLEtFRVBfT0ZGOiJwaW5fc2xhc2giLEtFWUJPQVJEOiJrZXlib2FyZCIsS0VZQk9BUkRfQVJST1dfRE9XTjoiY2hldnJvbl9kb3duIixLRVlCT0FSRF9BUlJPV19VUDoiY2hldnJvbl91cCIsS0lEU19CTE9DSzoiY2lyY2xlX3NsYXNoIiwKTEFOR1VBR0U6Imdsb2JlIixMQVNUX1BBR0U6ImNoZXZyb25fcmlnaHRfZW5kIixMQVVOQ0g6ImFycm93X3VwX3JpZ2h0IixMRUFSTklORzoibGlnaHRidWxiIixMRUFSTklOR19DQUlSTzoibGlnaHRidWxiIixMSUJSQVJZX0FERDoiYm9va21hcmsiLExJQlJBUllfSU1BR0U6ImltYWdlX3N0YWNrIixMSUJSQVJZX01VU0lDOiJhdWRpb19zcXVhcmVfc3RhY2siLExJQlJBUllfT1VUTElORToicGxheV9zcXVhcmVfc3RhY2siLExJQlJBUllfUkVNT1ZFOiJib29rbWFyayIsTElCUkFSWV9TQVZFRDoiY2hlY2tfc3F1YXJlX3N0YWNrIixMSUtFU19QTEFZTElTVDoidGh1bWJfdXAiLExJS0VTX1BMQVlMSVNUX0NBSVJPOiJ0aHVtYl91cCIsTElLRToidGh1bWJfdXAiLExJS0VfU0VMRUNURUQ6InRodW1iX3VwIixMSVNUX1FVRVVFOiJxdWV1ZSIsTElWRV9DQUlSTzoibGl2ZSIsTElWRV9VTkxJU1RFRDoibGluayIsTE9DQVRJT05fT046ImxvY2F0aW9uX3BpbiIsTE9DQVRJT05fUElOOiJsb2NhdGlvbl9waW4iLApMT0NBVElPTl9QT0lOVDoibG9jYXRpb25fcGluIixMT09QOiJyZXBlYXQiLExPT1BfQUNUSVZFOiJyZXBlYXQiLExPT1BfT05FOiJyZXBlYXQxIixMT09QX09ORV9BQ1RJVkU6InJlcGVhdDEiLE1FRVQ6Imdvb2dsZV9tZWV0IixNRUg6ImZhY2VfbmV1dHJhbCIsTUVNQkVSU0hJUFM6Im1lbWJlcnNoaXBzIixNRU1CRVJTX09OTFlfTU9ERV9PRkY6InRleHRfYnViYmxlIixNRU5VX0ZJTFRFUjoiZmlsdGVyIixNRVNTQUdFOiJ0ZXh0X2J1YmJsZSIsTUVTU0FHRV9CVUJCTEVfR0VBUjoiYnViYmxlX2dlYXIiLE1FU1NBR0VfQlVCQkxFX0xFRlQ6InRleHRfYnViYmxlIixNRVNTQUdFX0JVQkJMRV9MRUZUX0JPT1NUOiJidWJibGVfc3BhcmtsZXMiLE1FU1NBR0VfQlVCQkxFX09WRVJMQVA6ImJ1YmJsZV9zdGFjayIsTUVTU0FHRV9CVUJCTEVfUVVFU1RJT046ImhlbHBfYnViYmxlIixNSUNST1BIT05FX09OOiJtaWMiLE1PTkVUSVpBVElPTl9PTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixNT05FWV9GSUxMOiJkb2xsYXJfc2lnbl9yZWN0YW5nbGUiLApNT05FWV9GSUxMX0pQWToieWVuX3NpZ25fcmVjdGFuZ2xlIixNT05FWV9IQU5EOiJkb2xsYXJfc2lnbl9jaXJjbGVfaGFuZCIsTU9ORVlfSEVBUlQ6ImRvbGxhcl9zaWduX2hlYXJ0IixNT09OX1o6InNsZWVwX3RpbWVyIixNT1JFX0hPUklaOiJvdmVyZmxvd19ob3Jpem9udGFsIixNT1JFX1ZFUlQ6Im92ZXJmbG93X3ZlcnRpY2FsIixNVVNJQzoiYXVkaW8iLE1VU0lDX0NBSVJPOiJhdWRpbyIsTVVTSUNfRVhQTElDSVRfQkFER0U6ImV4cGxpY2l0IixNVVNJQ19ORVdfUkVMRUFTRToiYXVkaW9fYmFkZ2UiLE1VU0lDX05PVEVfU1lNQk9MOiJhdWRpbyIsTVVTSUNfU0NJU1NPUlM6ImF1ZGlvX3NjaXNzb3JzIixNVVNJQ19TSFVGRkxFOiJzaHVmZmxlIixNWV9DSEFOTkVMOiJwZXJzb25fY2lyY2xlIixNWV9MT0NBVElPTjoibG9jYXRpb25fcGluIixNWV9WSURFT1M6InZpZGVvIixNWV9WSURFT1NfQ0FJUk86InZpZGVvIixORVdTX0NBSVJPOiJuZXdzIixORVdTX1NUT1JZOiJuZXdzIiwKTkVYVDoiY2hldnJvbl9yaWdodCIsTk9URV9BREQ6ImJ1YmJsZV9wZW5jaWwiLE5PVElGSUNBVElPTlM6ImJlbGwiLE5PVElGSUNBVElPTlNfQUNUSVZFOiJiZWxsX3dhdmVzIixOT1RJRklDQVRJT05TX0NBSVJPOiJiZWxsIixOT1RJRklDQVRJT05TX0RPTkVfQ0hFQ0tNQVJLOiJjaGVjayIsTk9USUZJQ0FUSU9OU19JTkJPWDoiYmVsbCIsTk9USUZJQ0FUSU9OU19OT05FOiJiZWxsIixOT1RJRklDQVRJT05TX09GRjoiYmVsbF9zbGFzaCIsTk9UX0lOVEVSRVNURUQ6ImNpcmNsZV9zbGFzaCIsT0ZGSUNJQUxfQVJUSVNUX0JBREdFOiJhdWRpbyIsT0ZGTElORV9DTE9VRDoiY2xvdWRfc2xhc2giLE9GRkxJTkVfRE9XTkxPQUQ6ImRvd25sb2FkIixPRkZMSU5FX0RPV05MT0FEX0NBSVJPOiJkb3dubG9hZCIsT0ZGTElORV9QQVVTRToicGF1c2UiLE9QRU5fSU5fTkVXOiJhcnJvd191cF9yaWdodCIsT1VUTElORV9BREpVU1Q6ImFkanVzdCIsT1VUTElORV9BUlJPV19TT0xJRF9ET1dOOiJhcnJvd19zb2xpZF9kb3duIiwKT1VUTElORV9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQOiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLE9VVExJTkVfQkFHOiJiYWciLE9VVExJTkVfQ0xPQ0tfSEFMRl9DSVJDTEU6ImNsb2NrX2hhbGZfZGFzaGVkIixPVVRMSU5FX01PQklMRV9ET1dOTE9BRDoibW9iaWxlX2Fycm93X2Rvd24iLE9VVExJTkVfT1ZFUkZMT1dfSE9SSVpPTlRBTF8zMjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsT1VUTElORV9PVkVSRkxPV19WRVJUSUNBTDoib3ZlcmZsb3dfdmVydGljYWwiLE9VVExJTkVfWU9VVFVCRV9JTVBST1ZFX1RWOiJzdGFyX3R2IixPVVRMSU5FX1lPVVRVQkVfU0hPUlRTX1BMVVM6InNob3J0c19hZGQiLFBBSUQ6ImRvbGxhcl9zaWduX2NpcmNsZSIsUEFVU0VfT1VUTElORUQ6InBhdXNlIixQQVlNRU5UOiJjcmVkaXRfY2FyZCIsUEVPUExFOiJwZXJzb25fY2hpbGQiLApQRU9QTEVfMjoicGVyc29uMl9yZWN0YW5nbGUiLFBFT1BMRV9BTFQ6InBlcnNvbjIiLFBFT1BMRV9HUk9VUDoicGVyc29uMyIsUEVPUExFX05PVEU6ImJ1YmJsZV9hc3RlcmlzayIsUEVSU09OXzI6InBlcnNvbjIiLFBFUlNPTl9BQ0NPVU5UOiJwZXJzb25fc3F1YXJlX3N0YWNrIixQRVJTT05fTUlOVVM6InBlcnNvbl94IixQRVJTT05fTVVTSUM6InBlcnNvbl9hdWRpbyIsUEVSU09OX1JBREFSOiJwZXJzb25fd2F2ZXMiLFBFUlNPTl9SQURBUl9GSUxMRUQ6InBlcnNvbl93YXZlcyIsUEVSU09OX1NFVFRJTkc6InBlcnNvbl9nZWFyIixQSE9ORUxJTks6InFyX2NvZGUiLFBIT05FOiJwaG9uZSIsUEhPTkVfRE9XTkxPQUQ6Im1vYmlsZV9hcnJvd19kb3duIixQSUNUVVJFX0lOX1BJQ1RVUkU6InBpY3R1cmVfaW5fcGljdHVyZSIsUExBWUFCTEVTX0xPR086InBsYXlhYmxlcyIsUExBWUFCTEVTX0xPR09fQ0FJUk86InBsYXlhYmxlcyIsUExBWUxJU1RTOiJwbGF5bGlzdCIsUExBWUxJU1RTX0NBSVJPOiJwbGF5bGlzdCIsClBMQVlMSVNUX0FERF9DSEVDSzoiYm9va21hcmsiLFBMQVlfQUxMOiJwbGF5IixQTEFZX0FSUk9XOiJwbGF5IixQTEFZX0FSUk9XX0NJUkNMRToicGxheV9jaXJjbGUiLFBMQVlfQVJST1dfSEFMRl9DSVJDTEU6InBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkIixQTEFZX0FSUk9XX09VVExJTkVEOiJwbGF5IixQTEFZX0NJUkNMRToicGxheV9jaXJjbGUiLFBMQVlfT1VUTElORUQ6InBsYXlfY2lyY2xlIixQT0RDQVNUX0FERDoicG9kY2FzdF9hZGQiLFBPRENBU1RfQ0hFQ0s6InBvZGNhc3RfY2hlY2siLFBSSVZBQ1lfSU5GTzoic2hpZWxkX3giLFBSSVZBQ1lfUFJJVkFURToibG9jayIsUFJJVkFDWV9QVUJMSUM6Imdsb2JlIixQUklWQUNZX1VOTElTVEVEOiJsaW5rIixQUk9NT1RFOiJtZWdhcGhvbmUiLFBVUkNIQVNFUzoicHJpY2VfdGFnIixQVVJDSEFTRV9TVVBFUl9DSEFUOiJzdXBlcl9jaGF0IixQVVJDSEFTRV9TVVBFUl9TVElDS0VSOiJzdXBlcl9zdGlja2VyIixRVUVTVElPTl9BTlNXRVI6ImhlbHBfYnViYmxlIiwKUVVFU1RJT05fQ0lSQ0xFOiJoZWxwX2NpcmNsZSIsUVVFVUVfUExBWV9MQVNUOiJxdWV1ZV9sYXN0IixRVUVVRV9QTEFZX05FWFQ6InF1ZXVlX25leHQiLFFVT1RBVElPTl9NQVJLOiJxdW90ZSIsUkFEQVJfTElWRToibGl2ZSIsUkVNT1ZFOiJtaW51c19jaXJjbGUiLFJFTU9WRV9DSVJDTEU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0NJUkNMRV9PVVRMSU5FOiJtaW51c19jaXJjbGUiLFJFTU9WRV9GUk9NX0hJU1RPUlk6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0ZST01fUExBWUxJU1Q6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX01PREVSQVRPUjoic2hpZWxkX3NsYXNoIixSRVBMQVk6ImFycm93X2NvdW50ZXJjbG9ja3dpc2UiLFJFUExBWV8xMDoic2tpcDEwX2JhY2siLFJFUExBWV9BUlJPVzoicmVwbGF5IixSRVBPUlRfUFJPQkxFTToiYWxlcnRfdHJpYW5nbGUiLFJTU19PRkY6InJzc19zbGFzaCIsU0FEOiJmYWNlX3NhZCIsU0FWRV9QTEFZTElTVDoiYm9va21hcmsiLFNDSEVEVUxFOiJjbG9jayIsClNDSE9PTDoiZ3JhZHVhdGlvbl9jYXAiLFNDUkVFTl9ERUZBVUxUOiJwbGF5ZXJfZGVmYXVsdCIsU0NSRUVOX0ZVTExTQ1JFRU46InBsYXllcl9mdWxsX2VudGVyIixTQ1JFRU5fTElHSFQ6ImFtYmllbnRfbW9kZSIsU0NSRUVOX1JPVEFUSU9OOiJyb3RhdGVfcG9ydHJhaXQiLFNDUkVFTl9TV0lUQ0g6InBsYXllcl9zd2l0Y2giLFNDUkVFTl9USEVBVFJFOiJwbGF5ZXJfdGhlYXRlciIsU0VBUkNIX0NBSVJPOiJzZWFyY2giLFNFQVJDSF9ISVNUT1JZOiJoaXN0b3J5IixTRUxMOiJwcmljZV90YWciLFNFVFRJTkdTOiJnZWFyIixTRVRUSU5HU19DQUlSTzoiZ2VhciIsU0VUVElOR1NfTElHSFQ6ImdlYXIiLFNFVFRJTkdTX01BVEVSSUFMOiJnZWFyIixTRVRUSU5HU19SRU1PVEU6InJlbW90ZV93YXZlcyIsU0hBUkU6InNoYXJlIixTSEFSRV9BUlJPVzoic2hhcmUiLFNIQVJFX0NBSVJPOiJzaGFyZSIsU0hJRUxEOiJzaGllbGRfeCIsU0hJRUxEX0VNUFRZOiJzaGllbGQiLFNISUVMRF9PRkY6InNoaWVsZF9zbGFzaCIsClNISUVMRF9XSVRIX0FWQVRBUjoicGVyc29uX3NoaWVsZCIsU0hPUFBJTkdfQkFHOiJiYWciLFNIT1BQSU5HX0JBR19DQUlSTzoiYmFnIixTSE9QUElOR19DQVJUOiJjYXJ0IixTSE9SVFNfQ09NTUVOVDoidGV4dF9idWJibGUiLFNIT1JUU19ESVNMSUtFOiJ0aHVtYl9kb3duIixTSE9SVFNfTElLRToidGh1bWJfdXAiLFNIT1JUU19TSEFSRToic2hhcmUiLFNLSVBfRk9SV0FSRF8zMDoic2tpcDMwX2ZvcndhcmQiLFNMQVNIX0NJUkNMRV9MRUZUOiJjaXJjbGVfc2xhc2giLFNMQVNIX0NJUkNMRV9SSUdIVDoiY2lyY2xlX3NsYXNoIixTTE9XX01PREU6ImJ1YmJsZV9zbG93IixTTE9XX01PREVfT0ZGOiJ0ZXh0X2J1YmJsZSIsU0xPV19NT1RJT05fVklERU86InBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkIixTT0NJQUw6InBlcnNvbl9jaGlsZCIsU1BBUktMRToic3BhcmtsZXMiLFNQQVJLX0lNQUdFOiJpbWFnZV9zcGFyayIsU1BBUktfTElHSFRCVUxCX09VVExJTkU6InNwYXJrX2xpZ2h0YnVsYiIsClNQQVJLX1BFTkNJTDoicGVuY2lsX3NwYXJrIixTUEFSS19SQURBUjoic3Bhcmtfd2F2ZXMiLFNQQVJLX1ZJREVPOiJ2aWRlb19zcGFyayIsU1BFQUtFUl9HUk9VUDoic3BlYWtlcl9zdGFjayIsU1BFQUtFUl9PRkY6InNwZWFrZXJfc2xhc2giLFNQRUVEXzFYOiJuMXgiLFNQRUVEXzFfUE9JTlRfMlg6Im4xcG9pbnQyeCIsU1BFRURfMV9QT0lOVF81WDoibjFwb2ludDV4IixTUEVFRF8xX1BPSU5UXzhYOiJuMXBvaW50OHgiLFNQRUVEXzJYOiJuMngiLFNQT05TT1JTSElQX1NUQVI6InN0YXJfY2lyY2xlIixTUE9SVFM6ImJhc2tldGJhbGwiLFNQT1RMSUdIVDoic3BvdGxpZ2h0IixTVEFGRl9QSUNLOiJzcG90bGlnaHQiLFNUQVJUX0RWUjoiYWRkIixTVEFSX0JPUkRFUjoic3RhciIsU1RBUl9DSVJDTEVfUklCQk9OOiJtZW1iZXJzaGlwc19naWZ0IixTVEFSX0hBTEY6InN0YXJfZnVsbF9oYWxmIixTVEFSX1NIT09USU5HOiJoeXBlIixTVElDS0VSOiJzdGlja2VyIixTVElDS0VSX0VNT1RJQ09OOiJmYWNlX2hhcHB5IiwKU1RPUF9EVlI6InN0b3AiLFNVQlNDUklCRToieW91dHViZSIsU1VCU0NSSUJFX1BMVVM6ImFkZCIsU1VCU0NSSVBUSU9OX01BTkFHRVI6ImdlYXIiLFNVUEVSU1RBUjoic3VwZXJfc3RhciIsU1VQRVJWSVNPUl9BQ0NPVU5UOiJwZXJzb25fY2hpbGQiLFNVUEVSX0NIQVRfRk9SX0dPT0Q6ImhhbmRzX2hlYXJ0IixTV0FQX0hPUklaOiJhcnJvd19zd2FwX2hvcml6b250YWwiLFNXSVRDSF9BQ0NPVU5UUzoicGVyc29uX3NxdWFyZV9zdGFjayIsVEFCX0FDQ09VTlQ6InBlcnNvbiIsVEFCX0FDVElWSVRZOiJiZWxsIixUQUJfQk9PS01BUks6ImJvb2ttYXJrIixUQUJfRVhQTE9SRToiY29tcGFzcyIsVEFCX0hPTUU6ImhvbWUiLFRBQl9IT01FX0NBSVJPOiJob21lIixUQUJfSU5CT1g6Im1haWwiLFRBQl9MSUtFRDoidGh1bWJfdXAiLFRBQl9NVVNJQ19QUkVNSVVNOiJ5b3V0dWJlX211c2ljIixUQUJfU0hPUlRTOiJzaG9ydHMiLFRBQl9TSE9SVFNfQ0FJUk86InNob3J0cyIsVEFCX1NVQlNDUklQVElPTlM6InN1YnNjcmlwdGlvbnMiLApUQUJfU1VCU0NSSVBUSU9OU19DQUlSTzoic3Vic2NyaXB0aW9ucyIsVEFCX1RSRU5ESU5HOiJ0cmVuZGluZyIsVEFSR0VUOiJ0YXJnZXQiLFRBUkdFVF9BREQ6InRhcmdldF9hZGQiLFRFTVBMQVRFX0FERDoidGVtcGxhdGVfYWRkIixURVhUOiJmb250IixUSUNLRVRfU1RBUjoic3Rhcl90aWNrZXQiLFRJTUVSOiJzdG9wd2F0Y2giLFRSRU5ESU5HX0NBSVJPOiJ0cmVuZGluZyIsVFJFTkRJTkdfRE9XTjoiYXJyb3dfdHJlbmRfZG93biIsVFJFTkRJTkdfVVA6ImFycm93X3RyZW5kX3VwIixUUk9QSFlfQ0FJUk86InRyb3BoeSIsVFJPUEhZX0NFTEVCUkFUSU9OUzoiZmlyZXdvcmtzIixUUk9QSFlfU1RBUjoic3Rhcl90cm9waHkiLFRVTkU6ImFkanVzdCIsVFZfT0ZGOiJ0dl9zbGFzaCIsVU5CTE9DS19VU0VSOiJtaW51c19jaXJjbGUiLFVORkFWT1JJVEU6InRodW1iX2Rvd24iLFVOTElNSVRFRDoieW91dHViZSIsVU5QTFVHR0VEX0xJVkVfR1VJREU6ImxpdmUiLFVOUExVR0dFRF9TUE9SVFM6ImV5ZV9zbGFzaCIsClVQTE9BRFM6InBsYXlfc3F1YXJlX3N0YWNrIixVUF9BUlJPVzoiYXJyb3dfdXAiLFZFUlRJQ0FMX0FMSUdOX0JPVFRPTToiY2hldnJvbl9kb3duX2VuZCIsVkVSVElDQUxfQUxJR05fVE9QOiJjaGV2cm9uX3VwX2VuZCIsVkVSWV9IQVBQWToiZmFjZV92ZXJ5X2hhcHB5IixWRVJZX1NBRDoiZmFjZV92ZXJ5X3NhZCIsVklERU9TOiJwbGF5X2NpcmNsZSIsVklERU9fQ0FMTDoidmlkZW9fY2FtZXJhX2FkZCIsVklERU9fTElCUkFSWV9XSElURToicGxheV9zcXVhcmVfc3RhY2siLFZJREVPX1FVQUxJVFlfNEs6Im40ayIsVklERU9fUVVBTElUWV84SzoibjhrIixWSURFT19ZT1VUVUJFOiJ5b3V0dWJlIixWSUVXX0xJU1RfQ0FJUk86InZpZXdfbGlzdCIsVklFV19NT0RVTEU6InZpZXdfY29sdW1uM19yb3cyIixWSVNJQklMSVRZOiJleWUiLFZJU0lCSUxJVFlfT0ZGOiJleWVfc2xhc2giLFZPTFVNRV9ET1dOOiJ2b2x1bWVfbWluIixWT0xVTUVfTVVURToidm9sdW1lX211dGUiLFZPTFVNRV9PRkY6InZvbHVtZV9tdXRlIiwKVk9MVU1FX1NUQUJMRToic3RhYmxlX3ZvbHVtZSIsVk9MVU1FX1VQOiJ2b2x1bWVfbWF4IixXQUxMUEFQRVI6ImltYWdlIixXQVJOSU5HOiJhbGVydF90cmlhbmdsZSIsV0FUQ0hfSElTVE9SWToiaGlzdG9yeSIsV0FUQ0hfSElTVE9SWV9DQUlSTzoiaGlzdG9yeSIsV0FUQ0hfTEFURVI6ImNsb2NrIixXQVRDSF9MQVRFUl9DQUlSTzoiY2xvY2siLFdBVENIX1JFTEFURURfTUlYOiJtaXgiLFdIQVRfVE9fV0FUQ0g6ImhvbWUiLFlPVVRVQkVfQ1JFQVRFX1JFRF9MT0dPOiJ5b3V0dWJlX2NyZWF0ZV9sb2dvIixZT1VUVUJFX0xJTktFRF9UVjoidHZfbW9iaWxlIixZT1VUVUJFX01VU0lDX01PTk9DSFJPTUU6InlvdXR1YmVfbXVzaWMiLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRV9DQUlSTzoieW91dHViZV9tdXNpYyIsWU9VVFVCRV9TSE9SVFNfQVJST1dfRE9XTjoiYXJyb3dfZG93biIsWU9VVFVCRV9TSE9SVFNfQVJST1dfVVA6ImFycm93X3VwIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoic2hvcnRzX2VtcHR5IiwKWU9VVFVCRV9TSE9SVFNfRklMTF9OT19UUklBTkdMRV9XSElURV8xNjoic2hvcnRzX2VtcHR5IixZT1VUVUJFX1NIT1JUU19PVVRMSU5FXzI0OiJzaG9ydHMiLFlPVVRVQkVfU0hPUlRTX09VVExJTkVfV0lUSF9URVhUXzI0OiJzaG9ydHNfdGV4dF9sb2dvIixZVF9PVVRMSU5FX01VU0lDXzI0OiJhdWRpbyJ9O3ZhciBWcWE9ezE1OltbMSwzLDI0XV0sIjFfcG9pbnRfMngiOltbMSwxLDI0XV0sIjFfcG9pbnRfNXgiOltbMSwxLDI0XV0sIjFfcG9pbnRfOHgiOltbMSwxLDI0XV0sIjF4IjpbWzEsMSwyNF1dLCIyX3BvaW50XzV4IjpbWzEsMSwyNF1dLCIyZCI6W1sxLDEsMjRdXSwiMngiOltbMSwzLDI0XV0sIjNkIjpbWzEsMSwyNF1dLCIzeCI6W1sxLDMsMjRdXSwiNGQiOltbMSwxLDI0XV0sIjRrIjpbWzAsMywyNF0sWzEsMywyNF1dLDYwOltbMSwzLDI0XV0sIjhrIjpbWzAsMiwyNF0sWzEsMiwyNF1dLGFjY2Vzc2liaWxpdHk6W1sxLDQsMjRdXSxhY2NvdW50X2xpbms6W1sxLDgsMjRdXSxhY2NvdW50X2xpbmtfZXJyb3I6W1sxLDYsMjRdXSxhY2NvdW50X2xpbmtfc29tZTpbWzAsNSwyNF1dLGFjY291bnRfbGlua19zdWNjZXNzOltbMCw1LDI0XV0sYWRkOltbMSw5LDE2XSxbMSw5LDI0XV0sYWRkX2NhaXJvOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDI0XV0sYWRkX2NpcmNsZTpbWzEsNiwyNF0sClsxLDYsMzZdXSxhZGRfaGFsZl9jaXJjbGU6W1sxLDIsMjRdXSxhZGp1c3Q6W1swLDksMjRdLFsxLDksMThdLFsxLDksMjRdXSxhaXJwbGFuZTpbWzAsNSwyNF0sWzEsNSwyMF0sWzEsNSwyNF1dLGFpcnBsYXk6W1sxLDYsMTZdLFsxLDYsMjRdXSxhaXJwbGF5X29mZjpbWzEsMSwyNF1dLGFsYnVtOltbMCw4LDI0XSxbMSw4LDI0XV0sYWxlcnRfY2lyY2xlOltbMCwxMSwyNF0sWzEsMTEsMTZdLFsxLDExLDI0XV0sYWxlcnRfdHJpYW5nbGU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzEsMTAsMjRdXSxhbGlnbl9jZW50ZXI6W1swLDYsMjRdLFsxLDYsMjRdXSxhbGlnbl9sZWZ0OltbMCw2LDI0XSxbMSw2LDI0XV0sYWxpZ25fcmlnaHQ6W1swLDYsMjRdLFsxLDYsMjRdXSxhcnJvd19jYXBzOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfY2lyY2xlOltbMSw2LDI0XSxbMSw2LDQ4XV0sYXJyb3dfY2lyY2xlX2Rhc2g6W1sxLDEsMjRdXSxhcnJvd19jaXJjbGVfcGxheTpbWzEsMSwyNF0sWzEsMSwKMzZdLFsxLDEsNDhdXSxhcnJvd19jaXJjbGVfcmlnaHQ6W1swLDMsMjRdLFsxLDMsMTJdLFsxLDMsMTZdLFsxLDMsMThdLFsxLDMsMjRdXSxhcnJvd19kaWFnb25hbDpbWzEsNSwyNF1dLGFycm93X2RpYWdvbmFsX2Rvd25fcmlnaHQ6W1swLDEsMTJdLFswLDEsMTZdLFswLDEsMThdLFswLDEsMjRdLFsxLDEsMTJdLFsxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjRdXSxhcnJvd19kaWFnb25hbF91cF9yaWdodDpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLGFycm93X2Rvd246W1swLDMsMjRdLFsxLDMsMjRdXSxhcnJvd19kb3duX2NpcmNsZTpbWzAsNCwxMl0sWzAsNCwxNl0sWzAsNCwxOF0sWzAsNCwyNF1dLGFycm93X2ZsaXA6W1sxLDEwLDE2XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSxhcnJvd19mbGlwX2RvbGxhcl9zaWduOltbMSwyLDI0XV0sYXJyb3dfaW46W1swLDgsMjRdLFsxLDgsMjRdXSxhcnJvd19sZWZ0OltbMSwKOCwyNCwhMF1dLGFycm93X2xlZnRfY2Fpcm86W1sxLDIsMjQsITBdXSxhcnJvd19tZXJnZTpbWzEsMiwyNF1dLGFycm93X291dDpbWzAsMiwyNF1dLGFycm93X3BhdXNlOltbMSwxLDI0XV0sYXJyb3dfcmVkbzpbWzEsMSwyNF1dLGFycm93X3JlbWl4OltbMSwxLDI0XV0sYXJyb3dfcmVwZWF0OltbMCw1LDI0XSxbMSw1LDI0XV0sYXJyb3dfcmVwZWF0XzE6W1swLDMsMjRdLFsxLDMsMjRdXSxhcnJvd19yaWdodDpbWzEsMywyNCwhMF1dLGFycm93X3NodWZmbGU6W1swLDUsMjRdLFsxLDUsMjRdXSxhcnJvd19za2lwX2ZvcndhcmQ6W1swLDEsMjRdLFsxLDEsMjRdXSxhcnJvd19zb2xpZF9kb3duOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDE2XSxbMSw0LDI0XV0sYXJyb3dfc29saWRfdXA6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxhcnJvd19zcGxpdDpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3N3YXBfaG9yaXpvbnRhbDpbWzAsNSwyNF0sWzEsNSwxOF0sClsxLDUsMjRdXSxhcnJvd190aW1lOltbMCw4LDI0XSxbMSw4LDI0XV0sYXJyb3dfdGltZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGFycm93X3RpbWVfZm9yd2FyZDpbWzEsMSwyNF1dLGFycm93X3VuZG86W1sxLDEsMjRdXSxhcnJvd191cDpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3VwX2NpcmNsZTpbWzAsNCwxMl0sWzAsNCwxNl0sWzAsNCwxOF0sWzAsNCwyNF1dLGFycm93c19hbGVydDpbWzEsMSwyNF1dLGFydGljbGU6W1sxLDIsMjRdXSxhcnRpY2xlX2FsZXJ0OltbMSwyLDI0XV0sYXJ0aWNsZV9jaGVjazpbWzEsMiwyNF1dLGFydGljbGVfY2xhcmlmeTpbWzEsMiwyNF1dLGF1ZGlvOltbMCwxNCwxMl0sWzAsMTQsMTZdLFswLDE0LDE4XSxbMCwxNCwyNF0sWzEsMTQsMThdLFsxLDE0LDI0XV0sYXVkaW9fYmFkZ2U6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxhdWRpb19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX29mZjpbWzEsMiwyNF1dLGF1ZGlvX3N1cnJvdW5kOltbMCwKMSwyNF0sWzEsMSwyNF1dLGJhY2tncm91bmQ6W1sxLDEsMjRdXSxiYWNrc3BhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxiYWc6W1swLDcsMTJdLFswLDcsMThdLFswLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxiYWdfYm9va21hcms6W1sxLDIsMjRdXSxiYWdfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxiYXJfY2lyY2xlOltbMSw0LDI0XV0sYmFyX2dyYXBoOltbMCwyLDI0XSxbMSwyLDI0XV0sYmFyX2dyYXBoX2JveF92ZXJ0aWNhbDpbWzAsNiwyNF0sWzEsNiwyNF1dLGJhcl9ob3Jpem9udGFsOltbMSwyLDE2XSxbMSwyLDI0XV0sYmFyc18yOltbMSw5LDE2XSxbMSw5LDI0XV0sYmFyc18zOltbMCwyLDI0XSxbMSwyLDI0XV0sYmVha2VyOltbMSwyLDI0XV0sYmVsbDpbWzAsMTEsMjRdLFsxLDExLDI0XV0sYmVsbF9jYWlybzpbWzAsMywyNF0sWzEsMywyNF1dLGJlbGxfb2ZmOltbMSw1LDI0XV0sYmVsbF9vZmZfY2Fpcm86W1sxLDIsMjRdXSxiZWxsX29uOltbMCw3LDI0XV0sYmVsbF9vbl9jYWlybzpbWzAsCjIsMjRdXSxibHVyOltbMSwyLDI0XV0sYm9vazpbWzEsMywyNF1dLGJvb2ttYXJrOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxib29rbWFya19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGJveF8zZDpbWzAsMSwyNF0sWzEsMSwyNF1dLGJveF9iYXI6W1swLDMsMjRdXSxib3hfY2hlY2s6W1swLDYsMThdLFswLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdXSxib3hfY2hldnJvbl9yaWdodDpbWzEsMywyNF1dLGJveF9kYXNoZWRfdHJpYW5nbGU6W1sxLDMsMjRdXSxib3hfZW1wdHk6W1sxLDUsMjRdXSxib3hfb3Blbl9jaGVjazpbWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLGJveF9wZW5jaWw6W1sxLDMsMTZdLFsxLDMsMjRdXSxib3hfcGxhY2Vob2xkZXJfbGVmdDpbWzEsMSwyNF1dLGJveF9zZWFyY2g6W1sxLDEsMjRdXSxib3hfc3RhY2tfMzpbWzAsMSwyNF0sWzEsMSwyNF1dLGJveGVzXzI6W1sxLDMsMjRdXSxicmllZmNhc2U6W1sxLDIsMjRdXSxicmllZmNhc2Vfc2xhc2g6W1swLAozLDI0XV0sYnJpZ2h0bmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGJyb2FkY2FzdDpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywxNl0sWzEsMywxOF0sWzEsMywyNF0sWzEsMyw0OF1dLGJ1ZzpbWzAsNCwyNF0sWzEsNCwyNF1dLGJ1c2luZXNzOltbMSw0LDI0XV0sY2FibGU6W1sxLDIsMjRdXSxjYWxjdWxhdG9yOltbMCwzLDI0XSxbMSwzLDI0XV0sY2FsZW5kYXI6W1swLDQsMjRdLFsxLDQsMjRdXSxjYW1lcmE6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGNhbWVyYV9hdWRpbzpbWzEsNSwyNF1dLGNhbWVyYV9lZmZlY3RzOltbMSw0LDI0XV0sY2FtZXJhX2ZsaXA6W1sxLDQsMjRdXSxjYW1lcmFfaGFzaHRhZzpbWzEsNSwyNF1dLGNhbWVyYV9zd2l0Y2g6W1swLDMsMjRdLFsxLDMsMjRdXSxjYXJkOltbMCwzLDEyXSxbMCwzLDE2XSxbMCwzLDI0XV0sY2FydDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhcnRfc3Bhcms6W1sxLDEsMjRdXSxjYXQ6W1swLDMsMjRdLFsxLDMsMjRdXSxjZWxlYnJhdGlvbjpbWzEsCjIsMjRdXSxjaGVjazpbWzAsMTMsMTJdLFswLDEzLDE2XSxbMCwxMywyNF0sWzEsMTMsMTZdLFsxLDEzLDI0XV0sY2hlY2tfY2lyY2xlOltbMCwxMCwxOF0sWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2hlY2tfZG91YmxlOltbMSwxLDI0XV0sY2hlY2tfZG91YmxlX29mZjpbWzEsMSwyNF1dLGNoZXZyb25fY29sbGFwc2U6W1sxLDMsMjRdXSxjaGV2cm9uX2Rvd246W1sxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX2Rvd25fY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX2Rvd25fY2lyY2xlOltbMCwzLDI0XV0sY2hldnJvbl9leHBhbmQ6W1sxLDUsMjRdXSxjaGV2cm9uX2ZpcnN0OltbMSwxLDI0XV0sY2hldnJvbl9sYXN0OltbMSwxLDI0XV0sY2hldnJvbl9sZWZ0OltbMSw5LDE2LCEwXSxbMSw5LDE4LCEwXSxbMSw5LDI0LCEwXV0sY2hldnJvbl9sZWZ0X2NpcmNsZTpbWzAsMywyNF1dLGNoZXZyb25fbGVmdF9pb3M6W1sxLDMsMjRdXSxjaGV2cm9uX2xlZnRfaW9zX2NhaXJvOltbMSwyLDI0XV0sCmNoZXZyb25fcmlnaHQ6W1swLDcsMTYsITBdLFswLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTYsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxjaGV2cm9uX3JpZ2h0X2NhaXJvOltbMSwyLDI0XV0sY2hldnJvbl9yaWdodF9jaXJjbGU6W1swLDMsMjRdXSxjaGV2cm9uX3JpZ2h0X2lvczpbWzEsMSwyNF1dLGNoZXZyb25fdXA6W1sxLDksMTZdLFsxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX3VwX2NhaXJvOltbMSwyLDI0XV0sY2hldnJvbl91cF9jaXJjbGU6W1swLDMsMjRdXSxjaHJvbWVjYXN0OltbMCwxMSwyNF0sWzEsMTEsMjRdXSxjaHJvbWVjYXN0X2FuaW1hdGVfZnJhbWVfMTpbWzEsNSwyNF1dLGNocm9tZWNhc3RfYW5pbWF0ZV9mcmFtZV8yOltbMSw1LDI0XV0sY2hyb21lY2FzdF9hbmltYXRlX2ZyYW1lXzM6W1sxLDUsMjRdXSxjaHJvbWVjYXN0X2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hyb21lY2FzdF9tb2JpbGU6W1sxLDQsMjRdLFsxLDQsMzZdXSxjaHJvbWVjYXN0X3dhdmVmb3JtOltbMSwKMiwyNF1dLGNpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLGNpcmNsZV9mdWxsOltbMCwzLDI0XV0sY2lyY2xlX2hhbGZfZnVsbDpbWzEsMSwyNF1dLGNpcmNsZXNfNjpbWzAsMSwyNF1dLGNpcmNsZXNfb3ZlcmxhcDpbWzAsMSwyNF0sWzEsMSwyNF1dLGNpcmNsZXNfb3ZlcmxhcF9jaGVjazpbWzAsMSwxNl0sWzAsMSwyNF1dLGNsYXBwZXJib2FyZDpbWzAsMywyNF0sWzEsMywyNF1dLGNsYXBwZXJib2FyZF9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrOltbMCwxMCwyNF0sWzEsMTAsMTZdLFsxLDEwLDI0XV0sY2xvY2tfYXJyb3dzOltbMSwxLDI0XV0sY2xvY2tfYXJyb3dzX2FsZXJ0OltbMSwxLDI0XV0sY2xvY2tfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjbG9ja19oYWxmX2NpcmNsZTpbWzAsMSwyNF0sWzEsMSwyNF1dLGNsb3NlZF9jYXB0aW9uOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxjbG91ZDpbWzEsMiwyNF1dLGNsb3VkX2Fycm93X2Rvd246W1sxLDMsMjRdXSxjbG91ZF9hcnJvd191cDpbWzAsCjYsMjRdLFsxLDYsMjRdXSxjbG91ZF9jaGVjazpbWzAsMywyNF0sWzEsMywyNF1dLGNsb3VkX2VsbGlwc2lzOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfb2ZmOltbMSwyLDI0XV0sY29kZTpbWzEsMiwyNF1dLGNvbXBhc3M6W1swLDksMjRdLFsxLDksMjRdXSxjb21wYXNzX2NhaXJvOltbMCwxLDI0XSxbMSwxLDI0XV0sY29udHJvbGxlcjpbWzAsMiwyNF0sWzEsMiwyNF1dLGNvcHk6W1sxLDMsMjRdXSxjb3B5cmlnaHQ6W1swLDQsMjRdLFsxLDQsMjRdXSxjcmVhdG9yX2FjYWRlbXk6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdLFsxLDMsMjRdXSxjcmVhdG9yX2FjYWRlbXlfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjcmVkaXRfY2FyZDpbWzEsNCwyNF1dLGNyb3A6W1sxLDQsMTZdLFsxLDQsMjRdXSxjcm9wX3JvdGF0ZTpbWzEsMiwyNF1dLGNyb3duOltbMCw1LDE2XSxbMCw1LDI0XSxbMSw1LDEyXSxbMSw1LDE2XSxbMSw1LDI0XV0sY3ViZV9zcGFyazpbWzEsMSwyNF1dLApjdXJ2ZV9zOltbMCwxLDI0XV0sZGFzaGJvYXJkX3BsdXM6W1sxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjBdLFsxLDEsMjRdXSxkaWVfMzpbWzAsNSwyNF0sWzEsNSwyNF1dLGRpcmVjdGlvbnM6W1sxLDMsMjRdXSxkb2dmb29kOltbMSwxLDI0XV0sZG9sbGFyX3NpZ246W1swLDcsMjRdLFsxLDcsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGU6W1swLDEyLDE2XSxbMCwxMiwyNF0sWzEsMTIsMTZdLFsxLDEyLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX3BhdXNlOltbMSwyLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX3BsdXM6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jb250YWluZXI6W1sxLDcsMjRdXSxkb2xsYXJfc2lnbl9oZWFydDpbWzAsMjQsMTJdLFswLDI0LDI0XSxbMSwyNCwxNl0sWzEsMjQsMjRdXSxkb2xsYXJfc2lnbl9vZmY6W1sxLDMsMjRdXSxkb3Q6W1swLDIsMTJdLFswLDIsMjRdXSxkb3dubG9hZDpbWzAsMTEsMjRdLFsxLDExLDE2XSxbMSwxMSwyNF1dLGRvd25sb2FkX2NhaXJvOltbMCwKMiwyNF0sWzEsMiwyNF1dLGRvd25sb2FkZWQ6W1swLDgsMjRdXSxkb3dubG9hZGluZzpbWzEsNSwyNF1dLGRvd25sb2FkaW5nXzA6W1sxLDUsMjRdXSxkb3dubG9hZGluZ18xOltbMSw2LDI0XV0sZG93bmxvYWRpbmdfMjpbWzEsNiwyNF1dLGRvd25sb2FkaW5nXzM6W1sxLDYsMjRdXSxkb3dubG9hZGluZ180OltbMSw2LDI0XV0sZG93bmxvYWRpbmdfNTpbWzEsNywyNF1dLGRvd25sb2FkaW5nXzY6W1sxLDYsMjRdXSxkcml2ZV9hZGQ6W1sxLDIsMjRdXSxlYXJ0aDpbWzAsMTIsMjRdLFsxLDEyLDE2XSxbMSwxMiwxOF0sWzEsMTIsMjRdXSxleHBsaWNpdDpbWzAsNywxOF0sWzAsNywyNF0sWzEsNywyNF1dLGV5ZTpbWzAsNiwyNF0sWzEsNiwyNF1dLGV5ZV9vZmY6W1sxLDQsMjRdXSxleWVkcm9wcGVyOltbMSwyLDI0XV0sZmFjZV9hZGQ6W1sxLDEsMjRdXSxmYWNlX2Fycm93c19kaWFnb25hbDpbWzEsMSwyNF1dLGZhY2VfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLApbMSwxMiwzNl1dLGZhY2VfaW1hZ2U6W1sxLDIsMjRdXSxmYWNlX21laDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYWNlX21laF8yOltbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XSxbMSw2LDM2XV0sZmFjZV9wYWludGJydXNoOltbMSwyLDI0XV0sZmFjZV9zYWQ6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV91bmhhcHB5OltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfdXBzZXQ6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV92ZXJ5X2hhcHB5OltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfdmVyeV9zYWQ6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFzaGlvbjpbWzAsNCwyNF0sWzEsNCwyNF1dLGZhc2hpb25fY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmYXN0X2JhY2s6W1swLAozLDI0XSxbMSwzLDI0XV0sZmFzdF9mb3J3YXJkOltbMCw1LDI0XV0sZmlsbV9zdHJpcDpbWzAsNywyNF0sWzEsNywyNF1dLGZpbG1fc3RyaXBfYWRkOltbMSwyLDI0XV0sZmlsdGVyX2ZhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxmaWx0ZXJfcGhvdG86W1swLDgsMjRdLFsxLDgsMjRdXSxmaXJlOltbMCwxMCwxMl0sWzAsMTAsMjRdLFsxLDEwLDE2XSxbMSwxMCwyNF1dLGZpcmVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmaXJld29ya3M6W1sxLDMsMjRdXSxmbGFnOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxmbGFnX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxhc2hfYXV0bzpbWzAsMywyNF0sWzEsMywyNF1dLGZsYXNoX2NpcmNsZTpbWzAsNSwxOF0sWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX29mZjpbWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX29uOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxpcF9ob3Jpem9udGFsOltbMSw0LDI0XV0sZmxpcF9ob3Jpem9udGFsX2Rhc2g6W1sxLAoxLDI0XV0sZmxpcF92ZXJ0aWNhbF9kYXNoOltbMSwxLDI0XV0sZm9sZGVyOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDI0XV0sZm9udF9zcXVhcmVfc3Bhcms6W1sxLDEsMTZdLFsxLDEsMjRdXSxmb290YmFsbDpbWzAsNCwyNF0sWzEsNCwyNF1dLGdhbWluZzpbWzAsMywyNF0sWzEsMywyNF1dLGdhbWluZ19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGdlYXI6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGdlYXJfY2Fpcm86W1swLDMsMjRdLFsxLDMsMjRdXSxnaG9zdDpbWzAsNSwyNF0sWzEsNSwyNF1dLGdpZjpbWzEsMywyNF1dLGdpZnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxnbG9iZTpbWzAsNCwyNF0sWzAsNCwzNl0sWzEsNCwyNF0sWzEsNCwzNl1dLGdsb2JlX2ltYWdlOltbMCwzLDI0XSxbMCwzLDM2XSxbMSwzLDI0XSxbMSwzLDM2XV0sZ2xvdzpbWzEsMiwyNF1dLGdvb2dsZV9sZW5zOltbMSw0LDI0XV0sZ3JlYXRlcl90aGFuXzIwOltbMSwyLDI0XV0sZ3JpZF8yeDI6W1sxLDEsMjRdXSwKZ3JpZF8zX2J5XzM6W1swLDEsMjRdLFsxLDEsMjRdXSxncmlkX2FzeW1tZXRyaWNhbDpbWzAsMSwyNF0sWzEsMSwyNF1dLGhhbmQ6W1sxLDIsMjRdXSxoYW5kX2xvbmdfcHJlc3M6W1swLDMsMjRdLFsxLDMsMjRdXSxoYW5kX3BpbmNoX2luOltbMSwyLDI0XV0saGFuZF9zd2lwZV9sZWZ0OltbMSwxLDI0XV0saGFuZF9zd2lwZV9yaWdodDpbWzEsMiwyNF1dLGhhbmRfdGFwOltbMCwyLDI0XSxbMSwyLDI0XV0saGFuZF93YXZlOltbMSwyLDI0XV0saGFuZHNfaGVhcnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxoYXNodGFnOltbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDIwXSxbMSwyLDI0XV0saGQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFkc2V0OltbMCw4LDI0XSxbMSw4LDI0XV0saGVhcnQ6W1swLDE5LDEzXSxbMCwxOSwyNF0sWzEsMTksMTZdLFsxLDE5LDI0XV0saGVhcnRfYm94OltbMSwxLDI0XV0saGVhcnRfY2lyY2xlOltbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDIwXSxbMSwyLDI0XV0sCmhlYXJ0X29mZjpbWzEsMiwyNF1dLGhpZXJhcmNoeTpbWzAsNCwyNF0sWzEsNCwyNF1dLGhpZ2hsaWdodHM6W1sxLDIsMjRdXSxob21lOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxob21lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0saG91cmdsYXNzOltbMSwzLDE2XSxbMSwzLDI0XV0saW1hZ2U6W1swLDgsMjRdLFsxLDgsMjRdXSxpbWFnZV9hZGQ6W1sxLDQsMjRdXSxpbWFnZV93YWxscGFwZXI6W1sxLDEsMjRdXSxpbmNvZ25pdG86W1swLDksMjRdLFsxLDksMjRdXSxpbmNvZ25pdG9fY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxpbmZpbml0ZTpbWzAsMiwyNF1dLGluZmluaXR5OltbMSwyLDI0XV0saW5mb19jaXJjbGU6W1sxLDExLDE2XSxbMSwxMSwxOF0sWzEsMTEsMjBdLFsxLDExLDI0XV0saW5mb19jaXJjbGVfc3Bhcms6W1sxLDIsMjRdXSxqb3VybmV5OltbMSwyLDI0XV0sa2V5OltbMSw1LDI0XV0sa2V5Ym9hcmQ6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbDpbWzAsNCwyNF0sClsxLDQsMjRdXSxsYXB0b3A6W1sxLDMsMjRdXSxsYXB0b3BfbW9iaWxlOltbMCw0LDI0XSxbMSw0LDI0XV0sbGF5ZXJzOltbMCwxLDI0XSxbMSwxLDI0XV0sbGVhZjpbWzEsMiwyNF1dLGxlbnM6W1sxLDEsMjRdXSxsZXNzX3RoYW5fNDpbWzEsMiwyNF1dLGxpYnJhcnk6W1swLDcsMjRdLFsxLDcsMjRdXSxsaWJyYXJ5X2FkZDpbWzEsNywxNl0sWzEsNywyNF1dLGxpYnJhcnlfaW1hZ2U6W1sxLDEsMjRdXSxsaWJyYXJ5X211c2ljOltbMCwzLDI0XSxbMSwzLDI0XV0sbGlicmFyeV9zYXZlZDpbWzAsNywyNF1dLGxpZ2h0YnVsYjpbWzAsNCwxMl0sWzAsNCwyNF0sWzEsNCwyNF1dLGxpZ2h0YnVsYl9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpZ2h0YnVsYl9zcGFyazpbWzEsMiwyNF1dLGxpbms6W1sxLDgsMThdLFsxLDgsMjRdXSxsaW5rX29mZjpbWzEsMSwyNF1dLGxpc3RfYWRkOltbMSw1LDI0XV0sbGlzdF9jaGVjazpbWzAsMiwyNF1dLGxpc3RfbXVzaWM6W1sxLDMsMjRdXSxsaXN0X3BlbmNpbDpbWzEsCjUsMjRdXSxsaXN0X3BsYXlfYXJyb3c6W1swLDgsMjRdLFsxLDgsMTJdLFsxLDgsMjRdXSxsaXN0X3BsYXlfYXJyb3dfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxsaXN0X3F1ZXVlOltbMSwxLDI0XV0sbGlzdF9xdWV1ZV9sYXN0OltbMCwzLDI0XSxbMSwzLDI0XV0sbGlzdF9xdWV1ZV9uZXh0OltbMSwxLDI0XV0sbGlzdF9yZW1vdmU6W1sxLDEsMjRdXSxsaXN0X3ZpZXc6W1sxLDIsMjRdXSxsaXN0X3ZpZXdfY2Fpcm86W1sxLDIsMjRdXSxsaXZlX21vYmlsZV9sYW5kc2NhcGVfb3JpZW50YXRpb246W1sxLDEsMjRdXSxsaXZlX3Bob3RvOltbMSwyLDI0XV0sbGl2ZV93YXZlczpbWzEsMiwxOF0sWzEsMiwyNF1dLGxvY2F0aW9uX3BvaW50OltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDI0XV0sbG9jYXRpb25fcG9pbnRfb2ZmOltbMSwxLDI0XV0sbG9jazpbWzAsMTMsMTJdLFswLDEzLDI0XSxbMSwxMywxMl0sWzEsMTMsMTZdLFsxLDEzLDE4XSxbMSwxMywyNF1dLGxvY2tfb3BlbjpbWzEsCjQsMjRdXSxtYWdpY193YW5kOltbMCwzLDI0XSxbMSwzLDI0XV0sbWFpbDpbWzAsOSwyNF0sWzEsOSwyNF1dLG1hcDpbWzEsMywyNF1dLG1hdGhfYWRkOltbMCwzLDI0XV0sbWF0aF9hbmQ6W1swLDMsMjRdXSxtYXRoX2RpdmlkZTpbWzAsMywyNF1dLG1hdGhfZXF1YWxzOltbMCwzLDI0XV0sbWF0aF9lcXVhbHNfc2xhc2g6W1sxLDMsMjRdXSxtYXRoX2dyZWF0ZXJfdGhhbjpbWzAsMywyNF1dLG1hdGhfZ3JlYXRlcl90aGFuX29yX2VxdWFsOltbMSwxLDI0XV0sbWF0aF9sZXNzX3RoYW46W1swLDMsMjRdXSxtYXRoX2xlc3NfdGhhbl9vcl9lcXVhbDpbWzEsNCwyNF1dLG1hdGhfbXVsdGlwbHk6W1swLDMsMjRdXSxtYXRoX29yOltbMCwzLDI0XV0sbWF0aF9wZXJjZW50OltbMCwzLDI0XV0sbWF0aF9zdWJ0cmFjdDpbWzAsMywyNF1dLG1heGltaXplX2NhaXJvOltbMSwxLDI0XV0sbWVkYWw6W1sxLDIsMjRdXSxtZWRhbF9zdGFyOltbMSwyLDI0XV0sbWVldDpbWzEsMSwyNF1dLG1lZ2FwaG9uZTpbWzAsCjUsMjRdLFsxLDUsMjRdXSxtZW1iZXJzaGlwczpbWzAsOSwxMl0sWzAsOSwxNl0sWzAsOSwxOF0sWzAsOSwyNF0sWzEsOSwyNF1dLG1lbnRpb246W1sxLDUsMTZdLFsxLDUsMjRdXSxtZW51X2ZpbHRlcjpbWzAsMSwyNF0sWzEsMSwyNF1dLG1lbnVfc29ydDpbWzEsNCwyNF1dLG1lc3NhZ2VfYnViYmxlX2FsZXJ0OltbMCw2LDI0XSxbMSw2LDI0XV0sbWVzc2FnZV9idWJibGVfYWxlcnRfY2Fpcm86W1sxLDIsMjRdXSxtZXNzYWdlX2J1YmJsZV9lbXB0eTpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2dlYXI6W1sxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9sZWZ0OltbMCwxLDI0XSxbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfbGVmdF9ib29zdDpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2xlZnRfb2ZmOltbMSwxLDE2XSxbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfb3ZlcmxhcDpbWzAsOCwyNF0sWzEsOCwyNF1dLG1lc3NhZ2VfYnViYmxlX3F1ZXN0aW9uOltbMCwyLDE2XSxbMCwyLAoyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLG1lc3NhZ2VfYnViYmxlX3JpZ2h0OltbMCwxNCwyNF0sWzAsMTQsMzJdLFsxLDE0LDE2XSxbMSwxNCwyNF1dLG1lc3NhZ2VfYnViYmxlX3JpZ2h0X2NhcHRpb246W1sxLDEsMjRdXSxtaWM6W1swLDE0LDI0XSxbMSwxNCwyNF1dLG1pY19vZmY6W1sxLDIsMjRdXSxtaW5pcGxheWVyX2V4aXQ6W1sxLDEsMjRdXSxtb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxtb2JpbGVfY2hlY2s6W1sxLDIsMjRdXSxtb2JpbGVfZG93bmxvYWQ6W1sxLDMsMjRdXSxtb2JpbGVfbGFuZHNjYXBlOltbMSwzLDI0XV0sbW9iaWxlX3NjcmVlbl9ob3Jpem9udGFsOltbMSwxLDI0XV0sbW9iaWxlX3NjcmVlbl92ZXJ0aWNhbDpbWzEsMSwyNF1dLG1vbmV5X2hhbmQ6W1sxLDIsMjRdXSxtb25pdG9yX2Rpc3BsYXk6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxtb25pdG9yX2Rpc3BsYXlfb2ZmOltbMSwxLDI0XV0sbW9vbl96OltbMCwxLDI0XSxbMSwKMSwyNF1dLG1vdGlvbjpbWzEsMiwyNF1dLG1vdmU6W1sxLDQsMjRdXSxtdXNpYzpbWzAsNiwyNF0sWzEsNiwxNl0sWzEsNiwxOF0sWzEsNiwyNF1dLG11c2ljX29mZjpbWzEsMywyNF1dLG11c2ljX3NjaXNzb3JzOltbMSwzLDI0XV0sbXVzaWNfc2hhcGU6W1sxLDMsMjRdXSxtdXNpY192aWRlbzpbWzEsNCwyNF1dLG11c2ljX3ZpZGVvX29mZjpbWzEsMSwyNF1dLG15X3ZpZGVvczpbWzEsNiwyNF1dLG15X3ZpZGVvc19jYWlybzpbWzEsMiwyNF1dLG5ld3M6W1swLDMsMjRdLFsxLDMsMTJdLFsxLDMsMjRdXSxuZXdzX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sbm9kZV9sZWZ0OltbMSwyLDI0XV0sbm9kZV9yaWdodDpbWzEsMiwyNF1dLG5vdGU6W1swLDEsMTZdLFswLDEsMjRdLFsxLDEsMTZdLFsxLDEsMjRdXSxub3RlX2FkZDpbWzEsMSwxNl0sWzEsMSwyNF1dLG5vdGVfc3Bhcms6W1swLDIsMTZdLFswLDIsMjRdLFsxLDIsMTZdLFsxLDIsMjRdXSxvZG9tZXRlcjpbWzAsNCwyNF0sClsxLDQsMjRdXSxvcGVuX25ldzpbWzAsNywyNF0sWzEsNywxMl0sWzEsNywyNF1dLG92ZXJmbG93X2hvcml6b250YWw6W1sxLDYsMjRdLFsxLDYsMzJdXSxvdmVyZmxvd192ZXJ0aWNhbDpbWzEsMTMsMjRdXSxvdmVyZmxvd192ZXJ0aWNhbF9jYWlybzpbWzEsMSwyNF1dLHBhaW50X2J1Y2tldDpbWzEsMywyNF1dLHBhbGV0dGU6W1sxLDEsMjRdXSxwYW5lbHM6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXBlcl9jb3JuZXJfZm9sZGVkOltbMCwyLDI0XSxbMSwyLDI0XV0scGFwZXJfb3Blbl9pbl9uZXc6W1swLDEsMjRdLFsxLDEsMjRdXSxwYXVzZTpbWzAsOSwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMiwxMl0sWzAsMiwxNl0sWzAsMiwyNF1dLHBkZjpbWzEsMiwyNF1dLHBlbmNpbDpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHBlb3BsZTpbWzAsNiwxMl0sWzAsNiwyNF0sWzEsNiwyNF1dLHBlb3BsZV8yOltbMCwxLDI0XSxbMSwxLDI0XV0scGVvcGxlX2dyb3VwOltbMCw0LDI0XSwKWzEsNCwxNl0sWzEsNCwyNF1dLHBlb3BsZV9ub3RlOltbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uOltbMCw3LDEyXSxbMCw3LDEzXSxbMCw3LDE2XSxbMCw3LDI0XSxbMCw3LDQ4XSxbMSw3LDEzXSxbMSw3LDE2XSxbMSw3LDI0XV0scGVyc29uXzI6W1sxLDEsMjRdXSxwZXJzb25fYWNjb3VudDpbWzEsNiwyNF1dLHBlcnNvbl9hY2NvdW50X2NhaXJvOltbMSwxLDI0XV0scGVyc29uX2FkZDpbWzEsNywyNF1dLHBlcnNvbl9ib3g6W1sxLDUsMjRdXSxwZXJzb25fY2lyY2xlOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxwZXJzb25fY2lyY2xlX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX2NpcmNsZV9zbGFzaDpbWzEsMiwyNF1dLHBlcnNvbl9taW51czpbWzAsMSwyNF0sWzEsMSwyNF1dLHBlcnNvbl9tdXNpYzpbWzAsNCwyNF0sWzEsNCwyNF1dLHBlcnNvbl9yYWRhcjpbWzAsNywxMl0sWzAsNywyNF0sWzEsNywxNl0sWzEsNywxOF0sWzEsNywyNF1dLHBlcnNvbl9zZXR0aW5nOltbMSwKNiwyNF1dLHBlcnNvbl9zaGllbGQ6W1sxLDgsMjRdXSxwZXJzb25fc3F1YXJlX3NwYXJrOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3dhdmVmb3JtOltbMSwyLDI0XV0scGhvbmU6W1swLDMsMjRdLFsxLDMsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmU6W1swLDIsMjRdLFsxLDIsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmVfY29tYmluZTpbWzEsMSwyNF1dLHBpbjpbWzAsNywxMl0sWzAsNywyNF0sWzEsNywxNl0sWzEsNywyNF1dLHBpbl9vZmY6W1sxLDEsMjRdXSxwbGF5X2Fycm93OltbMCw3LDI0XSxbMSw3LDI0XV0scGxheV9hcnJvd19jaXJjbGU6W1swLDIsMjRdLFsxLDIsMjRdXSxwbGF5X2Fycm93X2Rpc2FibGVkOltbMCwxLDEyXSxbMCwxLDI0XV0scGxheV9hcnJvd19oYWxmX2NpcmNsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLHBvZGNhc3Q6W1swLDYsMjRdLFsxLDYsMTJdLFsxLDYsMTZdLFsxLDYsMThdLFsxLDYsMjRdXSxwb2RjYXN0X2FkZDpbWzAsMiwyNF0sWzEsMiwyNF1dLApwb2RjYXN0X2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0scG9kY2FzdF9jaGVjazpbWzAsMiwyNF1dLHBvaW50XzJ4OltbMSwxLDI0XV0scG9pbnRfM3g6W1sxLDMsMjRdXSxwb2ludF81eDpbWzEsMywyNF1dLHBvaW50Xzh4OltbMSwxLDI0XV0scG9sbDpbWzEsMTAsMTZdLFsxLDEwLDI0XSxbMSwxMCw0MF1dLHBvdW5kOltbMSwzLDI0XV0scHJlc2VudGF0aW9uOltbMSwzLDI0XV0scHJlc2VudGF0aW9uX3JlbW92ZTpbWzEsMSwyNF1dLHByaWNlX3RhZzpbWzAsOCwxMl0sWzAsOCwyNF0sWzEsOCwyNF1dLHByaWNlX3RhZ19oZWFydDpbWzEsMiwyNF1dLHFyX2NvZGU6W1sxLDMsMjRdXSxxdWVzdGlvbl9jaXJjbGU6W1sxLDUsMjRdXSxxdWVzdGlvbl9jaXJjbGVfY2Fpcm86W1sxLDIsMjRdXSxxdWVzdGlvbl9oZWFkOltbMSwyLDI0XV0scXVvdGF0aW9uX21hcms6W1swLDEsMjRdLFsxLDEsMjRdXSxxdW90YXRpb25fbWFya19vZmY6W1sxLDEsMjRdXSxyYWRhcl9saXZlOltbMCw3LDI0XSwKWzEsNywxMl0sWzEsNywxNl0sWzEsNywyNF1dLHJhZGFyX2xpdmVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxyYXRpbmdfZG93bjpbWzEsMSwyNF1dLHJhdGluZ191cDpbWzEsNywxMl0sWzEsNywxNl0sWzEsNywyNF1dLHJlY29yZDpbWzAsMiwyNF1dLHJlbWl4OltbMSwyLDE2XSxbMSwyLDI0XV0scmVwbGF5X2Fycm93OltbMSwxLDI0XV0scm90YXRlXzkwOltbMSwxLDI0XV0scm90YXRlXzkwX2Nsb2Nrd2lzZTpbWzEsMiwyNF1dLHJzczpbWzEsMiwxNl0sWzEsMiwyNF1dLHJzc19vZmY6W1sxLDEsMTZdLFsxLDEsMjRdXSxydWJ5OltbMSwyLDEyXSxbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDI0XV0sc2FtcGxlczpbWzAsMiwyNF0sWzEsMiwyNF1dLHNhdHVyYXRpb246W1sxLDIsMjRdXSxzY2FsZTpbWzEsNCwyNF1dLHNjaXNzb3JzOltbMCw4LDEyXSxbMCw4LDI0XSxbMSw4LDI0XV0sc2Npc3NvcnNfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxzY2lzc29yc19jdXQ6W1sxLDQsCjE2XSxbMSw0LDE4XSxbMSw0LDI0XV0sc2NyZWVuX2RlZmF1bHQ6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxzY3JlZW5fZnVsbDpbWzEsNywyNF1dLHNjcmVlbl9mdWxsX2NhaXJvOltbMSwxLDI0XV0sc2NyZWVuX2Z1bGxfZXhpdDpbWzEsNiwyNF1dLHNjcmVlbl9mdWxsX2V4aXRfY2Fpcm86W1sxLDEsMjRdXSxzY3JlZW5fZnVsbHNjcmVlbjpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9saWdodDpbWzEsMSwyNF1dLHNjcmVlbl9taW5pX3BsYXllcjpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9tdWx0aV92aWV3OltbMCwzLDI0XSxbMSwzLDI0XV0sc2NyZWVuX3JvdGF0aW9uOltbMSwyLDE4XSxbMSwyLDI0XV0sc2NyZWVuX3N3aXRjaDpbWzAsMSwyNF0sWzEsMSwyNF1dLHNjcmVlbl90aGVhdHJlOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX3ZlcnRpY2FsOltbMSwKMSwyNF1dLHNjcmVlbl94OltbMSwyLDI0XV0sc2Q6W1swLDMsMjRdLFsxLDMsMjRdXSxzZWFyY2g6W1swLDE1LDI0XSxbMSwxNSwyNF1dLHNlYXJjaF9jYWlybzpbWzEsMiwyNF1dLHNlYXJjaF9zdXBlcnNjcmlwdDpbWzEsMSwyNF1dLHNlbmQ6W1swLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxzZXR0aW5nc19yZW1vdGU6W1sxLDEsMjRdXSxzaGFkb3dfaGFyZDpbWzAsMywyNF1dLHNoYWRvd19zb2Z0OltbMCwzLDI0XV0sc2hhcGVzOltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcmU6W1swLDEyLDI0LCEwXSxbMCwxMiwzMiwhMF0sWzEsMTIsMTYsITBdLFsxLDEyLDI0LCEwXV0sc2hhcmVfY2Fpcm86W1sxLDIsMjRdXSxzaGFyZV9pb3M6W1sxLDIsMjRdXSxzaGFyZV9saW5rOltbMCwxLDI0XSxbMSwxLDI0XV0sc2hpZWxkOltbMSw2LDI0XV0sc2hpZWxkX2FkZDpbWzEsMiwyNF1dLHNoaWVsZF9jaGVjazpbWzEsMSwyNF1dLHNoaWVsZF9lbXB0eTpbWzAsCjEsMTZdLFswLDEsMThdLFswLDEsMjRdLFsxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjRdXSxzaGllbGRfb2ZmOltbMSwxLDI0XV0sc2hpZWxkX292ZXJmbG93OltbMSwyLDI0XV0sc2hpZWxkX3BsdXM6W1sxLDEsMjRdXSxzaGllbGRfc2VhcmNoOltbMSwyLDI0XV0sc2hvcnRzX2xheW91dF9ib3R0b206W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X2NlbnRlcmVkX3NxdWFyZTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfZm9yZWdyb3VuZDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGFuZHNjYXBlX2JvdHRvbTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGFuZHNjYXBlX3RvcDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGVmdDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfcGlwOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9yaWdodDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfc2luZ2xlOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF90b3A6W1sxLDEsMjRdXSxza2lwX2JhY2tfMTA6W1swLAoxLDI0XV0sc2tpcF9iYWNrXzE1OltbMCwxLDI0XV0sc2tpcF9iYWNrXzIwOltbMCwxLDI0XV0sc2tpcF9iYWNrXzMwOltbMCwxLDI0XV0sc2tpcF9iYWNrXzU6W1swLDEsMjRdXSxza2lwX2JhY2tfNjA6W1swLDEsMjRdXSxza2lwX2Rvd246W1swLDYsMjRdXSxza2lwX2ZvcndhcmRfMTA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMTU6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMjA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMzA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfNTpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF82MDpbWzAsMSwyNF1dLHNraXBfbmV4dDpbWzAsNywyNF1dLHNraXBfcHJldmlvdXM6W1swLDYsMjRdXSxza2lwX3VwOltbMCw2LDI0XV0sc2xhc2hfY2lyY2xlX2xlZnQ6W1sxLDcsMjRdXSxzbGFzaF9jaXJjbGVfcmlnaHQ6W1sxLDIsMjRdXSxzb2NjZXJfYmFsbDpbWzEsMywyNF1dLHNvY2Nlcl9jYXJkOltbMCwyLDEyXSxbMCwyLDE2XSxbMCwyLDI0XV0sc3BhY2ViYXI6W1sxLAoyLDI0XV0sc3Bhcms6W1swLDExLDEyXSxbMCwxMSwxNl0sWzAsMTEsMjRdLFsxLDExLDI0XV0sc3BhcmtfY2hhdDpbWzEsMSwxNl0sWzEsMSwyNF1dLHNwYXJrX2ltYWdlOltbMSwyLDI0XV0sc3BhcmtfbGlnaHRidWxiOltbMCwzLDI0XSxbMSwzLDI0XV0sc3BhcmtfbWVzc2FnZV9idWJibGU6W1sxLDQsMTZdLFsxLDQsMjRdXSxzcGFya19tZXNzYWdlX2J1YmJsZV9sZWZ0OltbMSwxLDI0XV0sc3BhcmtfbXVzaWM6W1sxLDIsMjRdXSxzcGFya19wZW5jaWw6W1sxLDIsMjRdXSxzcGFya19yYWRhcjpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwyNF1dLHNwYXJrX3RleHQ6W1sxLDEsMjRdXSxzcGFya192aWRlbzpbWzEsMiwyNF1dLHNwYXJrbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxzcGVha2VyOltbMSwyLDI0XV0sc3BlYWtlcl9ncm91cDpbWzEsMSwyNF1dLHNwZWFrZXJfZ3JvdXBfb2ZmOltbMSwxLDI0XV0sc3BlYWtlcl9oZWFkc2V0OltbMSwKMiwyNF1dLHNwZWFrZXJfb2ZmOltbMSwxLDI0XV0sc3BsaXQ6W1sxLDQsMjRdXSxzcG9ydHM6W1swLDEsMjRdXSxzcG90bGlnaHQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzdGFyOltbMCw2LDEyXSxbMCw2LDE2XSxbMCw2LDI0XSxbMSw2LDEyXSxbMSw2LDE2XSxbMSw2LDI0XV0sc3Rhcl9jaXJjbGU6W1swLDYsMTJdLFswLDYsMTZdLFswLDYsMThdLFswLDYsMjRdXSxzdGFyX2NpcmNsZV9yaWJib246W1swLDEsMTZdLFswLDEsMjBdLFswLDEsMjRdLFswLDEsMzZdLFsxLDEsMTZdLFsxLDEsMjBdLFsxLDEsMjRdLFsxLDEsMzZdXSxzdGFyX2hhbGY6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxzdGFyX3Nob290aW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sc3RhdGlzdGljc19ncmFwaDpbWzEsMiwyNF1dLHN0aWNrZXI6W1sxLDMsMjRdXSxzdG9wOltbMCw2LDI0XSxbMCw2LDM2XV0sc3RvcHdhdGNoOltbMCw1LDE2XSxbMCw1LDI0XSxbMSw1LDE2XSxbMSw1LDI0XV0sc3RvcHdhdGNoXzEwOltbMCwKMSwyNF1dLHN0b3B3YXRjaF8zOltbMCwxLDI0XV0sc3Vic2NyaXB0aW9uczpbWzAsMTIsMjRdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLHN1YnNjcmlwdGlvbnNfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxzdWJ0aXRsZXM6W1swLDUsMTJdLFswLDUsMjRdLFsxLDUsMjRdXSxzdXBlcl9jaGF0OltbMSw4LDE4XSxbMSw4LDI0XV0sc3VwZXJfc3RpY2tlcjpbWzAsOCwxNl0sWzAsOCwyNF0sWzEsOCwxNl0sWzEsOCwyNF1dLHN1cGVyX3N0b3JlOltbMSwzLDI0XV0sc3VwZXJzdGFyOltbMSwxLDI0XV0sdGFibGV0OltbMSwxLDI0XV0sdGFyZ2V0OltbMCwyLDI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sdGFyZ2V0X2FkZDpbWzAsMiwyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLHRlbXBsYXRlX2FkZDpbWzEsMywxNl0sWzEsMywyNF1dLHRlbXBsYXRlX3BsYXk6W1swLDMsMjRdLFsxLDMsMjRdXSx0ZXh0OltbMCw5LDI0XSxbMSw5LDE2XSxbMSw5LDE4XSxbMSw5LDI0XV0sdGV4dF9iZWxsX2NhaXJvOltbMSwKMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLHRleHRfYm9sZDpbWzEsMSwyNF1dLHRleHRfYm94OltbMSw1LDI0XV0sdGV4dF9pdGFsaWM6W1sxLDEsMjRdXSx0ZXh0X291dGxpbmU6W1sxLDIsMjRdXSx0ZXh0X3ByZXNldDpbWzEsMSwyNF1dLHRleHRfc2VyaWY6W1sxLDEsMjRdXSx0ZXh0X3NoYWRvdzpbWzEsMiwyNF1dLHRleHRfc3RyaWtldGhyb3VnaDpbWzEsMSwyNF1dLHRleHRfdW5kZXJsaW5lOltbMSwxLDI0XV0sdGhlbWVfc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0sdGhlcm1vbWV0ZXI6W1sxLDIsMjRdXSx0aHVtYl9kb3duOltbMCwyNSwxNl0sWzAsMjUsMjRdLFswLDI1LDM2XSxbMSwyNSwxNl0sWzEsMjUsMjRdLFsxLDI1LDM2XV0sdGh1bWJfdXA6W1swLDI0LDE2XSxbMCwyNCwyNF0sWzAsMjQsMzZdLFsxLDI0LDE2XSxbMSwyNCwyNF0sWzEsMjQsMzZdXSx0aHVtYl91cF9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHRodW1iX3VwX2Rvd246W1swLDQsCjI0XSxbMSw0LDI0XV0sdGljX3RhY190b2U6W1swLDQsMTJdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSx0aWNfdGFjX3RvZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHRpY2tldF9zdGFyOltbMSwxLDI0XV0sdGlsdDpbWzEsNCwyNF1dLHRpbWVfc3RhbXBfcGx1czpbWzEsMSwyNF1dLHRpbWVsaW5lOltbMSwzLDI0XV0sdG9vbGJveDpbWzEsNCwyNF1dLHRyYW5zY3JpcHQ6W1sxLDIsMTZdLFsxLDIsMjRdXSx0cmFuc2NyaXB0X3NlYXJjaDpbWzEsMSwxNl0sWzEsMSwyNF1dLHRyYW5zaXRpb246W1swLDUsMjRdLFsxLDUsMjRdXSx0cmFuc2xhdGU6W1sxLDQsMTZdLFsxLDQsMjRdXSx0cmFzaF9jYW46W1sxLDEwLDE2XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSx0cmlhbmdsZV9kb3duOltbMSw4LDI0XV0sdHJpYW5nbGVfdGhyZWVfbGVmdDpbWzAsMSwyNF1dLHRyaWFuZ2xlX3RocmVlX3JpZ2h0OltbMCwxLDI0XV0sdHJvcGh5OltbMCwzLDI0XSxbMSwzLDI0XV0sdHJvcGh5X2NhaXJvOltbMCwKMiwyNF0sWzEsMiwyNF1dLHRyb3BoeV9zdGFyOltbMSwxLDI0XV0sdHJ1Y2s6W1swLDUsMjRdLFsxLDUsMjRdXSx0djpbWzAsOCwxMl0sWzAsOCwxNl0sWzAsOCwyNF0sWzEsOCwxNl0sWzEsOCwyNF1dLHR2X2Fycm93X2xlZnQ6W1sxLDIsMjRdXSx0dl9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSx0dl9kb2xsYXJfc2lnbjpbWzAsMSwyNF0sWzEsMSwyNF1dLHR2X29mZjpbWzEsMiwyNF1dLHR2X3F1ZXVlOltbMSw0LDI0XV0sdHZfcXVldWVfY2hldnJvbjpbWzEsMiwyNF1dLHVwbG9hZDpbWzEsNSwyNF1dLHVwbG9hZGluZzpbWzEsMSwyNF1dLHZhcmlhYmxlOltbMSw0LDI0XV0sdmVyaWZpZWRfY2lyY2xlOltbMSw0LDI0XV0sdmlkZW9fY2FtZXJhOltbMCw5LDI0XSxbMSw5LDI0XV0sdmlkZW9fY2FtZXJhX2FkZDpbWzEsMiwyNF1dLHZpZGVvX2NhbWVyYV9vZmY6W1sxLDEsMjRdXSx2aWRlb19saW5rOltbMSw1LDE2XSxbMSw1LDI0XV0sdmlkZW9fcmV2ZXJzZTpbWzEsMSwyNF1dLAp2aWRlb19zcGFyazpbWzEsMiwyNF1dLHZpZGVvX3N0aXRjaDpbWzEsMiwyNF1dLHZpZGVvX3dhdmVmb3JtOltbMSwxLDI0XV0sdm9sdW1lX2Rvd246W1swLDIsMjRdLFsxLDIsMjRdXSx2b2x1bWVfZmFkZTpbWzEsMiwyNF1dLHZvbHVtZV9vZmY6W1swLDQsMjRdLFsxLDQsMjRdXSx2b2x1bWVfb246W1swLDMsMjRdLFsxLDMsMjRdXSx2b2x1bWVfc3RhYmxlOltbMCwxLDI0XSxbMSwxLDI0XV0sdnI6W1swLDcsMjRdLFsxLDcsMjRdXSx3YXZlZm9ybTpbWzEsMywyNF1dLHdhdmVmb3JtX211c2ljOltbMCwyLDE4XSxbMCwyLDI0XSxbMCwyLDQ4XV0sd2F2ZWZvcm1fc3Bhcms6W1sxLDIsMjRdXSx3cmVuY2g6W1swLDMsMjRdLFsxLDMsMjRdXSx4OltbMSwxMSwxOF0sWzEsMTEsMjRdXSx4X2NhaXJvOltbMSwxLDI0XV0seF9jaXJjbGU6W1swLDksMjRdLFsxLDksMjRdXSx4X21hcms6W1sxLDQsMjBdLFsxLDQsMjRdXSx4X29jdGFnb246W1sxLDMsMjRdXSx5ZW5fc2lnbl9jb250YWluZXI6W1swLAoyLDI0XSxbMSwyLDI0XV0seW91dHViZV9pbXByb3ZlX3R2OltbMSwxLDI0XV0seW91dHViZV9raWRzOltbMCw1LDI0XSxbMSw1LDI0XV0seW91dHViZV9sYWJzOltbMCwxLDI0XV0seW91dHViZV9saW5rZWRfdHY6W1sxLDQsMjRdXSx5b3V0dWJlX2xvZ29faWNvbjpbWzAsNiwyNF0sWzEsNiwyNF1dLHlvdXR1YmVfbWl4OltbMSw1LDEyXSxbMSw1LDE2XSxbMSw1LDI0XV0seW91dHViZV9tdXNpYzpbWzAsNywyNF0sWzEsNywyNF1dLHlvdXR1YmVfbXVzaWNfY2Fpcm86W1sxLDIsMjRdXSx5b3V0dWJlX29yaWdpbmFsczpbWzAsNiwyNF0sWzEsNiwyNF1dLHlvdXR1YmVfc2hvcnRzOltbMCwxMSwxMl0sWzAsMTEsMjBdLFswLDExLDI0XSxbMSwxMSwyMF0sWzEsMTEsMjRdXSx5b3V0dWJlX3Nob3J0c19hcnJvd19kb3duOltbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfYXJyb3dfbGVmdDpbWzEsMiwyNF1dLHlvdXR1YmVfc2hvcnRzX2Fycm93X3VwOltbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfY2FtZXJhOltbMSwzLDI0XV0seW91dHViZV9zaG9ydHNfY2hldnJvbl9sZWZ0X2lvczpbWzEsMiwyNF1dLHlvdXR1YmVfc2hvcnRzX2dyZWVuX3NjcmVlbjpbWzAsMSwyNF0sWzEsMSwyNF1dLHlvdXR1YmVfc2hvcnRzX2hlYXJ0OltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfbWVzc2FnZV9idWJibGVfcmlnaHQ6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZTpbWzAsNCwxNl0sWzAsNCwyNF0sWzAsNCwzMl0sWzEsNCwxNl0sWzEsNCwyNF0sWzEsNCwzMl1dLHlvdXR1YmVfc2hvcnRzX292ZXJmbG93X3ZlcnRpY2FsOltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfcGx1czpbWzEsNSwxNl0sWzEsNSwyNF1dLHlvdXR1YmVfc2hvcnRzX3JlbWl4OltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfc2VhcmNoOltbMSwzLDI0XV0seW91dHViZV9zaG9ydHNfc2hhcmU6W1swLAoyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfc3RpY2tlcjpbWzEsMSwxOF0sWzEsMSwyNF1dLHlvdXR1YmVfc2hvcnRzX3RodW1iX2Rvd246W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c190aHVtYl91cDpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX3dhdmVmb3JtOltbMSwyLDE4XSxbMSwyLDI0XV0seW91dHViZV9zdHVkaW86W1swLDgsMjRdLFsxLDgsMjRdXSx5b3V0dWJlX3R2OltbMCw4LDI0XSxbMSw4LDI0XV0sem9vbV9hdXRvOltbMCwyLDI0XSxbMSwyLDI0XV19O3ZhciBXcWE9e2FjY2Vzc2liaWxpdHk6W1swLDQsMjRdLFsxLDQsMjRdXSxhY2NvdW50X2xpbms6W1swLDgsMjRdLFsxLDgsMjRdXSxhY2NvdW50X2xpbmtfZXJyb3I6W1sxLDYsMjRdXSxhZGQ6W1sxLDksMThdLFsxLDksMjRdXSxhZGRfY2lyY2xlOltbMCw2LDE4XSxbMCw2LDI0XSxbMSw2LDI0XSxbMSw2LDM2XV0sYWRkX3NxdWFyZV9zdGFjazpbWzEsMSwyNF1dLGFkZF90djpbWzEsMSwyNF1dLGFkZF90dl9jaGV2cm9uX3JpZ2h0OltbMSwxLDI0XV0sYWRqdXN0OltbMCw5LDI0XSxbMSw5LDI0XV0sYWlycGxhbmU6W1swLDUsMjRdLFswLDUsNDhdLFsxLDUsMjRdXSxhaXJwbGF5OltbMSw2LDI0XV0sYWlycGxheV9zbGFzaDpbWzEsMSwyNF1dLGFsYnVtOltbMCw4LDI0XSxbMSw4LDE4XSxbMSw4LDI0XSxbMSw4LDQ4XV0sYWxlcnRfYnViYmxlOltbMSwyLDE4XSxbMSwyLDI0XV0sYWxlcnRfY2lyY2xlOltbMCwxMSwyNF0sWzEsMTEsMTJdLFsxLDExLDI0XSxbMSwxMSw0OF1dLGFsZXJ0X29jdGFnb246W1swLAoyLDI0XSxbMSwyLDI0XV0sYWxlcnRfdHJpYW5nbGU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDI0XV0sYW1iaWVudF9tb2RlOltbMSwxLDI0XV0sYW1wZXJzYW5kOltbMSwxLDI0XV0sYXBpOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJjaGl2ZTpbWzEsMSwyNF1dLGFycm93X2FyY19mb3J3YXJkOltbMSwxLDI0XV0sYXJyb3dfY2xvY2t3aXNlOltbMSwxLDI0XV0sYXJyb3dfY291bnRlcmNsb2Nrd2lzZTpbWzEsMiwyNF0sWzEsMiw0OF1dLGFycm93X2NvdW50ZXJjbG9ja3dpc2VfZGFzaGVkOltbMSwxLDI0XV0sYXJyb3dfZG93bjpbWzEsMywyNF1dLGFycm93X2Rvd25fY2lyY2xlOltbMCw0LDI0XSxbMSw0LDI0XV0sYXJyb3dfZG93bl9jaXJjbGVfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxhcnJvd19kb3duX3JpZ2h0OltbMSwxLDI0XV0sYXJyb3dfZmxpcDpbWzEsMTAsMjRdXSxhcnJvd19pbjpbWzEsOCwxOF0sWzEsOCwyNF1dLGFycm93X2xlZnQ6W1sxLDgsCjI0LCEwXSxbMSw4LDM2LCEwXV0sYXJyb3dfbWVyZ2U6W1sxLDIsMjRdXSxhcnJvd19vdXQ6W1sxLDIsMjRdXSxhcnJvd19yaWdodDpbWzEsMywyNCwhMF1dLGFycm93X3JpZ2h0X3JlY3RhbmdsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGFycm93X3NvbGlkX2Rvd246W1swLDQsMThdLFswLDQsMjRdLFsxLDQsMThdLFsxLDQsMjRdXSxhcnJvd19zb2xpZF91cDpbWzAsNCwxOF0sWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLGFycm93X3NwbGl0OltbMSwzLDI0XV0sYXJyb3dfc3BsaXRfYWxlcnQ6W1sxLDEsMjRdXSxhcnJvd19zd2FwX2hvcml6b250YWw6W1sxLDUsMjRdXSxhcnJvd190cmVuZF9kb3duOltbMSwxLDI0XV0sYXJyb3dfdHJlbmRfdXA6W1sxLDIsMTJdLFsxLDIsMjRdXSxhcnJvd190dXJuX2Rvd25fcmlnaHQ6W1sxLDIsMThdLFsxLDIsMjRdXSxhcnJvd191cDpbWzEsMywyNF1dLGFycm93X3VwX2NpcmNsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLGFycm93X3VwX2xlZnQ6W1sxLAoxLDI0XV0sYXJyb3dfdXBfcmVjdGFuZ2xlX3BvcnRyYWl0OltbMSwxLDI0XV0sYXJyb3dfdXBfcmlnaHQ6W1sxLDIsMThdLFsxLDIsMjRdLFsxLDIsMzZdXSxhc3BlY3RfcmF0aW9fdzE2X2g5OltbMSwxLDI0XV0sYXNwZWN0X3JhdGlvX3c5X2gxNjpbWzEsMSwyNF1dLGF1ZGlvOltbMCwxNCwxMl0sWzAsMTQsMThdLFswLDE0LDI0XSxbMSwxNCwxMl0sWzEsMTQsMThdLFsxLDE0LDI0XSxbMSwxNCw0OF1dLGF1ZGlvX2Fycm93X2ZsaXA6W1swLDIsMjRdLFsxLDIsMjRdXSxhdWRpb19iYWRnZTpbWzAsMywyNF0sWzEsMywyNF1dLGF1ZGlvX3NjaXNzb3JzOltbMSwxLDI0XV0sYXVkaW9fc2xhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxhdWRpb19zcGFyazpbWzEsMSwyNF1dLGF1ZGlvX3NxdWFyZV9zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX3N0YWZmOltbMCwyLDI0XSxbMSwyLDI0XV0sYmFja3NwYWNlOltbMCw1LDI0XSxbMSw1LDI0XV0sYmFnOltbMCw3LDI0XSxbMSw3LDI0XV0sCmJhZ19ib29rbWFyazpbWzEsMiwyNF1dLGJhc2tldGJhbGw6W1swLDIsMjRdLFsxLDIsMjRdXSxiZWFrZXI6W1sxLDIsMjRdXSxiZWQ6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxiZWxsOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxiZWxsX3NsYXNoOltbMSwxLDI0XV0sYmVsbF93YXZlczpbWzAsMiwyNF0sWzEsMiwyNF1dLGJsdXI6W1sxLDIsMjRdXSxib29rOltbMCwzLDI0XSxbMSwzLDI0XV0sYm9va19hdWRpbzpbWzEsMSwyNF1dLGJvb2ttYXJrOltbMCwxMCwxOF0sWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLGJyaWVmY2FzZTpbWzEsMiwyNF1dLGJyaWVmY2FzZV9zbGFzaDpbWzAsMywyNF0sWzEsMywyNF1dLGJyaWdodG5lc3M6W1swLDMsMjRdLFsxLDMsMjRdXSxicm93c2VyOltbMCwyLDI0XSxbMSwyLDI0XV0sYnJvd3Nlcl9zbGFzaDpbWzEsMSwyNF1dLGJ1YmJsZTpbWzEsMSwyNF1dLGJ1YmJsZV9hc3RlcmlzazpbWzAsMiwyNF0sWzEsMiwyNF1dLApidWJibGVfZWxsaXBzaXM6W1sxLDEsMjRdXSxidWJibGVfZ2VhcjpbWzEsMSwyNF1dLGJ1YmJsZV9saXN0OltbMSwxLDI0XV0sYnViYmxlX3BlbmNpbDpbWzEsMSwyNF1dLGJ1YmJsZV9zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGJ1YmJsZV9zbG93OltbMCwyLDI0XSxbMCwyLDQ4XSxbMSwyLDI0XSxbMSwyLDQ4XV0sYnViYmxlX3NwYXJrOltbMSwxLDI0XV0sYnViYmxlX3NwYXJrbGVzOltbMSwxLDI0XV0sYnViYmxlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0sYnVnOltbMCw0LDE4XSxbMCw0LDI0XSxbMSw0LDI0XV0sYnVzaW5lc3M6W1swLDQsMjRdLFsxLDQsMjRdXSxjYWJsZTpbWzEsMiwyNF1dLGNhbGN1bGF0b3I6W1swLDMsMjRdLFsxLDMsMjRdXSxjYWxlbmRhcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhbGVuZGFyX2V2ZW50OltbMCwyLDI0XSxbMSwyLDI0XV0sY2FsZW5kYXJfdG9kYXk6W1sxLDEsMjRdXSxjYW1lcmE6W1swLDEwLDI0XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSwKY2FtZXJhX2F1ZGlvOltbMSw1LDI0XV0sY2FtZXJhX2ZsaXA6W1sxLDQsMjRdXSxjYW1lcmFfaGFzaHRhZzpbWzEsNSwyNF1dLGNhbWVyYV9zcGFya2xlczpbWzEsMSwyNF1dLGNhbWVyYV9zd2l0Y2g6W1swLDMsMjRdLFsxLDMsMjRdXSxjYXJkOltbMCwzLDI0XV0sY2FydDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhcnRfYWRkOltbMSwxLDI0XV0sY2FydF9zcGFyazpbWzEsMSwyNF1dLGNhdDpbWzAsMywyNF0sWzEsMywyNF1dLGNlbGVicmF0aW9uOltbMSwyLDI0XV0sY2hhcnRfYmFyOltbMSwyLDEyXSxbMSwyLDI0XV0sY2hhcnRfYmFyX3NlYXJjaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNoYXJ0X2Jhcl9zcXVhcmU6W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxjaGFydF9saW5lOltbMSwxLDI0XV0sY2hhcnRfcGllOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hhcnRfc2NhdHRlcl9wbG90OltbMSwxLDI0XV0sY2hlY2s6W1sxLDEzLDEyXSxbMSwxMywxOF0sWzEsMTMsMjRdLFsxLDEzLAozNl1dLGNoZWNrX2NpcmNsZTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2hlY2tfZG9uZTpbWzEsMSwyNF1dLGNoZWNrX2RvbmVfc2xhc2g6W1sxLDEsMjRdXSxjaGVja19zaGllbGQ6W1sxLDEsMjRdXSxjaGVja19zcXVhcmU6W1swLDIsMjRdLFsxLDIsMjRdXSxjaGVja19zcXVhcmVfc3RhY2s6W1swLDEsMjRdXSxjaGV2cm9uX2NvbGxhcHNlOltbMSwzLDI0XV0sY2hldnJvbl9kb3duOltbMSw5LDE4XSxbMSw5LDI0XV0sY2hldnJvbl9kb3duX2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLGNoZXZyb25fZG93bl9lbmQ6W1sxLDEsMjRdXSxjaGV2cm9uX2V4cGFuZDpbWzEsNSwyNF1dLGNoZXZyb25fbGVmdDpbWzEsOSwyNCwhMF1dLGNoZXZyb25fbGVmdF9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX2xlZnRfZW5kOltbMSwxLDI0XV0sY2hldnJvbl9sZWZ0X2lvczpbWzEsMywyNF1dLGNoZXZyb25fcmlnaHQ6W1sxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxjaGV2cm9uX3JpZ2h0X2NpcmNsZTpbWzAsCjMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX3JpZ2h0X2VuZDpbWzEsMSwyNF1dLGNoZXZyb25fcmlnaHRfc3F1YXJlOltbMSwxLDI0XV0sY2hldnJvbl91cDpbWzEsOSwxMl0sWzEsOSwyNF1dLGNoZXZyb25fdXBfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sY2hldnJvbl91cF9lbmQ6W1sxLDEsMjRdXSxjaHJvbWVjYXN0OltbMCwxMSwyNF0sWzEsMTEsMThdLFsxLDExLDI0XSxbMSwxMSwzNl1dLGNocm9tZWNhc3RfbW9iaWxlOltbMSw0LDI0XSxbMSw0LDM2XV0sY2hyb21lY2FzdF93YXZlZm9ybTpbWzEsMiwyNF1dLGNpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLGNpcmNsZV9mdWxsOltbMCwzLDI0XV0sY2lyY2xlX2Z1bGxfaGFsZjpbWzAsMSwyNF1dLGNpcmNsZV9oYWxmX2ZpbGxlZDpbWzEsMSwyNF1dLGNpcmNsZV9zbGFzaDpbWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF0sWzEsNCw0OF1dLGNpcmNsZXM2OltbMSwxLDI0XV0sY2xhcHBlcmJvYXJkOltbMCwzLDI0XSxbMSwzLAoyNF1dLGNsYXBwZXJib2FyZF9zbGFzaDpbWzEsMSwyNF1dLGNsYXBwZXJib2FyZF9zcGFya2xlczpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrOltbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDI0XV0sY2xvY2tfYXJyb3dfY2xvY2t3aXNlOltbMSwxLDI0XV0sY2xvY2tfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxjbG9ja19zcGxpdDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrX3NwbGl0X2FsZXJ0OltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvc2VkX2NhcHRpb25zOltbMCwzLDI0XSxbMCwzLDQ4XSxbMSwzLDI0XSxbMSwzLDQ4XV0sY2xvdWQ6W1sxLDIsMjRdXSxjbG91ZF9hcnJvd19kb3duOltbMSwzLDI0XV0sY2xvdWRfYXJyb3dfdXA6W1swLDYsMjRdLFsxLDYsMThdLFsxLDYsMjRdXSxjbG91ZF9jaGVjazpbWzAsMywyNF0sWzEsMywyNF1dLGNsb3VkX2VsbGlwc2lzOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfc2xhc2g6W1sxLDIsMjRdLFsxLDIsNDhdXSxjbXNfYWxsb3dsaXN0OltbMCwKMiwyNF0sWzEsMiwyNF1dLGNvZGU6W1sxLDIsMjRdXSxjb21wYXJlOltbMSwyLDI0XV0sY29tcGFzczpbWzAsOSwyNF0sWzEsOSwyNF1dLGNvcHk6W1sxLDMsMjRdXSxjb3B5X3RvX2FsbDpbWzEsMSwyNF1dLGNvcHlyaWdodDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNvcHlyaWdodF9zZWFyY2g6W1swLDIsMjRdLFsxLDIsMjRdXSxjb3Zlcl9jbGFpbTpbWzEsMSwyNF1dLGNyZWF0aXZlX2NvbW1vbnM6W1swLDIsMjRdLFsxLDIsMjRdXSxjcmVkaXRfY2FyZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNyb3A6W1sxLDQsMThdLFsxLDQsMjRdXSxjcm9wX3JvdGF0ZTpbWzEsMiwyNF1dLGNyb3NzaGFpcjpbWzEsMSwxOF0sWzEsMSwyNF1dLGNyb3duOltbMCw1LDE4XSxbMCw1LDI0XSxbMSw1LDI0XV0sY3N2OltbMCwyLDI0XSxbMSwyLDI0XV0sY3ViZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGN1YmVfc3Bhcms6W1sxLDEsMjRdXSxjdXJzb3JfY2xpY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxjdXJ2ZTpbWzEsCjEsMjRdXSxjdnA6W1swLDIsMjRdLFsxLDIsMjRdXSxkYW5jZV9zcGFyazpbWzAsMSwyNF1dLGRhc2hib2FyZDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRhc2hib2FyZF9hZGQ6W1sxLDEsMjRdXSxkaWVfZmFjZTM6W1swLDIsMjRdLFsxLDIsMjRdXSxkaXJlY3Rpb25zOltbMSwzLDI0XV0sZGlzcGxheTpbWzAsMiwyNF0sWzEsMiwyNF1dLGRpc3BsYXlfc2xhc2g6W1sxLDEsMjRdXSxkaXZpZGU6W1sxLDEsMjRdXSxkb2N1bWVudDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRvY3VtZW50X2Fycm93X3VwX3JpZ2h0OltbMCwyLDI0XSxbMSwyLDI0XV0sZG9sbGFyX3NpZ25fYXJyb3dfZmxpcDpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZTpbWzAsMTIsMjRdLFsxLDEyLDEyXSxbMSwxMiwxOF0sWzEsMTIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfYWRkOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX2hhbmQ6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGF1c2U6W1sxLDIsMjRdXSwKZG9sbGFyX3NpZ25fY2lyY2xlX3NsYXNoOltbMSwyLDEyXSxbMSwyLDI0XV0sZG9sbGFyX3NpZ25faGVhcnQ6W1swLDI0LDEyXSxbMCwyNCwyNF0sWzEsMjQsMTJdLFsxLDI0LDI0XV0sZG9sbGFyX3NpZ25fcmVjdGFuZ2xlOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fdHY6W1swLDIsMjRdLFsxLDIsMjRdXSxkb3Q6W1swLDIsMTJdLFswLDIsMjRdXSxkb3dubG9hZDpbWzEsMTEsMThdLFsxLDExLDI0XV0sZHBhZDpbWzAsMiwyNF0sWzEsMiwyNF1dLGVtYmVkOltbMCwyLDI0XSxbMSwyLDI0XV0sZXF1YWw6W1sxLDIsMThdLFsxLDIsMjRdXSxlcXVhbF9zbGFzaDpbWzEsMSwyNF1dLGV4cGxpY2l0OltbMCw3LDI0XSxbMSw3LDI0XV0sZXllOltbMCw2LDI0XSxbMSw2LDI0XV0sZXllX3NsYXNoOltbMSwxLDI0XV0sZXllZHJvcHBlcjpbWzEsMiwyNF1dLGV5ZWdsYXNzZXM6W1sxLDEsMjRdXSxmYWNlX2FkZDpbWzEsMSwyNF1dLGZhY2VfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzAsCjEyLDQ4XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX2ltYWdlOltbMSwyLDI0XV0sZmFjZV9tZWg6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhY2VfbmV1dHJhbDpbWzAsNCwyNF0sWzAsNCwzNl0sWzEsNCwyNF0sWzEsNCwzNl1dLGZhY2VfcGFpbnRicnVzaDpbWzEsMiwyNF1dLGZhY2Vfc2FkOltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2Vfc2NhbGU6W1sxLDEsMjRdXSxmYWNlX3NwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sZmFjZV91bmhhcHB5OltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfdXBzZXQ6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhY2VfdmVyeV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX3Zlcnlfc2FkOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxmYXNoaW9uOltbMCw0LDI0XSxbMSw0LDI0XV0sZmFzdF9mb3J3YXJkOltbMCw1LDI0XSxbMSwKNSwyNF1dLGZhc3RfcmV3aW5kOltbMCwyLDI0XSxbMSwyLDI0XV0sZmlsbV9zdHJpcDpbWzAsNywyNF0sWzAsNyw0OF0sWzEsNywyNF1dLGZpbG1fc3RyaXBfYWRkOltbMSwyLDI0XV0sZmlsbV9zdHJpcF9hdWRpbzpbWzEsMSwyNF1dLGZpbHRlcjpbWzEsMSwyNF1dLGZpbHRlcl9hdWRpbzpbWzEsMSwyNF1dLGZpbHRlcl9waG90bzpbWzAsOCwyNF0sWzEsOCwyNF1dLGZpcmV3b3JrczpbWzEsMywyNF1dLGZsYWc6W1swLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMThdLFsxLDEwLDI0XSxbMSwxMCw0OF1dLGZsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxhc2hfYXV0bzpbWzAsMywyNF0sWzEsMywyNF1dLGZsYXNoX2NpcmNsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxpcF9ob3Jpem9udGFsOltbMSw0LDI0XV0sZmxpcF9ob3Jpem9udGFsX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0sZmxpcF92ZXJ0aWNhbF9oYWxmX2Rhc2hlZDpbWzEsCjEsMjRdXSxmb2xkZXI6W1swLDQsMjRdLFsxLDQsMjRdXSxmb250OltbMSwxLDI0XV0sZm9udF9ib2xkOltbMSwxLDI0XV0sZm9udF9pdGFsaWM6W1sxLDEsMjRdXSxmb250X291dGxpbmU6W1sxLDEsMjRdXSxmb250X3ByZXNlbnQ6W1sxLDEsMjRdXSxmb250X3NlcmlmOltbMSwxLDI0XV0sZm9udF9zaGFkb3c6W1sxLDEsMjRdXSxmb250X3NwYXJrOltbMSwxLDI0XV0sZm9udF9zcXVhcmU6W1swLDIsMjRdLFsxLDIsMjRdXSxmb250X3NxdWFyZV9zcGFyazpbWzEsMSwxOF0sWzEsMSwyNF1dLGZvbnRfc3RyaWtldGhyb3VnaDpbWzEsMSwyNF1dLGZvbnRfc3R5bGU6W1sxLDIsMThdLFsxLDIsMjRdXSxmb250X3VuZGVybGluZTpbWzEsMSwyNF1dLGZvb3RiYWxsOltbMCw0LDI0XSxbMSw0LDI0XSxbMSw0LDM2XV0sZ2FtZV9jb250cm9sbGVyOltbMSwxLDI0XV0sZ2FtaW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sZ2VhcjpbWzAsMTAsMjRdLFswLDEwLDQ4XSxbMSwxMCwxOF0sWzEsMTAsMjRdLApbMSwxMCw0OF1dLGdlc3R1cmVfbG9uZ19wcmVzczpbWzAsMiwyNF0sWzEsMiwyNF1dLGdlc3R1cmVfcGluY2hfaW46W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX2xlZnQ6W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX3JpZ2h0OltbMSwxLDI0XV0sZ2VzdHVyZV9zd2lwZV91cDpbWzEsMSwyNF1dLGdlc3R1cmVfdGFwOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2hvc3Q6W1swLDUsMjRdLFsxLDUsMjRdXSxnaWY6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxnaWZ0OltbMCwzLDI0XSxbMSwzLDI0XV0sZ2xvYmU6W1sxLDQsMjRdXSxnbG9iZV9pbWFnZTpbWzEsMywyNF1dLGdsb3c6W1sxLDIsMjRdXSxnb29nbGU6W1swLDEsMjRdXSxnb29nbGVfYmxvZ2dlcjpbWzAsMSwyNF1dLGdvb2dsZV9kcml2ZV9hZGQ6W1sxLDEsMjRdXSxnb29nbGVfbGVuczpbWzEsNCwyNF1dLGdvb2dsZV9tZWV0OltbMCwyLDI0XSxbMSwyLDI0XV0sZ29vZ2xlX3F1aWNrX3NoYXJlOltbMSwxLDI0XV0sCmdyYWR1YXRpb25fY2FwOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sZ3JlYXRlcl90aGFuOltbMSwxLDI0XV0sZ3JlYXRlcl90aGFuX24yMDpbWzEsMSwyNF1dLGdyZWF0ZXJfdGhhbl9vcl9lcXVhbF90bzpbWzEsMSwyNF1dLGhhbmQ6W1sxLDIsMjRdXSxoYW5kX3dhdmU6W1sxLDIsMjRdXSxoYW5kc19jbGFwOltbMSwxLDI0XV0saGFuZHNfaGVhcnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxoYXNodGFnOltbMSwyLDI0XV0saGQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFkc2V0OltbMCw4LDI0XSxbMSw4LDI0XV0saGVhcmluZzpbWzAsMiwyNF0sWzEsMiwyNF1dLGhlYXJ0OltbMCwxOSwyNF0sWzEsMTksMThdLFsxLDE5LDI0XV0saGVhcnRfY2lyY2xlOltbMSwyLDI0XV0saGVhcnRfY3ViZTpbWzEsMSwyNF1dLGhlYXJ0X3NsYXNoOltbMSwxLDI0XV0saGVscF9idWJibGU6W1swLDIsMjRdLFsxLDIsMjRdXSxoZWxwX2NpcmNsZTpbWzEsMiwxOF0sWzEsMiwyNF1dLGhpZXJhcmNoeTpbWzAsCjQsMjRdLFsxLDQsMjRdXSxoaWdobGlnaHRzOltbMSwyLDI0XV0saGlzdG9yeTpbWzEsMSwyNF1dLGhvbWU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGhvdXJnbGFzczpbWzEsMywxOF0sWzEsMywyNF1dLGh5cGU6W1swLDIsMjRdLFsxLDIsMjRdXSxpbWFnZTpbWzAsOCwyNF0sWzEsOCwyNF1dLGltYWdlX2FkZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGltYWdlX2ZyYW1lOltbMSwxLDI0XV0saW1hZ2VfbGlzdDpbWzAsMiwyNF0sWzEsMiwyNF1dLGltYWdlX2xpc3Rfc2xhc2g6W1sxLDEsMjRdXSxpbWFnZV9zcGFyazpbWzEsMSwyNF1dLGltYWdlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0saW1hZ2Vfdmlld2ZpbmRlcjpbWzEsMSwyNF1dLGluY29nbml0bzpbWzAsOSwyNF0sWzEsOSwyNF1dLGluZmluaXR5OltbMSwyLDI0XV0saW5mb19jaXJjbGU6W1sxLDEwLDE4XSxbMSwxMCwyNF1dLGluZm9fY2lyY2xlX3NwYXJrOltbMSwxLDI0XV0samV3ZWw6W1sxLDEsMjRdXSxqb3VybmV5OltbMSwKMiwyNF1dLGtleTpbWzEsNSwyNF1dLGtleWJvYXJkOltbMCw0LDI0XSxbMSw0LDI0XV0sbGFiZWw6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbF9zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGxhcHRvcDpbWzEsMywyNF1dLGxhcHRvcF9tb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxsYXlvdXRfYm90dG9tOltbMSwxLDI0XV0sbGF5b3V0X2ZvcmVncm91bmQ6W1sxLDEsMjRdXSxsYXlvdXRfZnVsbDpbWzEsMSwyNF1dLGxheW91dF9sZWZ0OltbMSwxLDI0XV0sbGF5b3V0X21pZGRsZTpbWzEsMSwyNF1dLGxheW91dF9waWN0dXJlX2luX3BpY3R1cmU6W1sxLDEsMjRdXSxsYXlvdXRfcmlnaHQ6W1sxLDEsMjRdXSxsYXlvdXRfdG9wOltbMSwxLDI0XV0sbGVhZjpbWzEsMiwyNF1dLGxlc3NfdGhhbjpbWzEsMSwyNF1dLGxlc3NfdGhhbl9uNDpbWzEsMSwyNF1dLGxlc3NfdGhhbl9vcl9lcXVhbF90bzpbWzEsMSwyNF1dLGxpY2Vuc2U6W1swLDIsMjRdLFsxLDIsMjRdXSxsaWNlbnNlX2FsZXJ0OltbMSwKMSwyNF1dLGxpY2Vuc2Vfc2VhcmNoOltbMSwxLDI0XV0sbGljZW5zZV9zbGFzaDpbWzEsMSwyNF1dLGxpZ2h0YnVsYjpbWzAsNCwyNF0sWzEsNCwyNF1dLGxpbms6W1sxLDgsMThdLFsxLDgsMjRdXSxsaW5rX3NsYXNoOltbMSwxLDI0XV0sbGl2ZTpbWzEsMywxMl0sWzEsMywyNF1dLGxpdmVfcGhvdG86W1sxLDIsMjRdXSxsaXZlX3dhdmVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbG9jYXRpb25fcGluOltbMCwyLDI0XSxbMSwyLDI0XV0sbG9jYXRpb25fcGluX3NsYXNoOltbMSwxLDI0XV0sbG9jazpbWzAsMTMsMTJdLFswLDEzLDI0XSxbMSwxMywxOF0sWzEsMTMsMjRdLFsxLDEzLDQ4XV0sbG9ja19jbG9jazpbWzEsMSwyNF1dLGxvY2tfbjI6W1sxLDEsMjRdXSxsb2NrX29wZW46W1swLDQsMjRdLFsxLDQsMjRdXSxtYWdpY193YW5kOltbMCwzLDI0XSxbMSwzLDI0XV0sbWFpbDpbWzAsOSwyNF0sWzEsOSwyNF1dLG1hcDpbWzEsMywyNF1dLG1lZGFsOltbMSwyLDI0XV0sbWVkYWxfc3RhcjpbWzEsCjIsMjRdXSxtZWdhcGhvbmU6W1swLDUsMjRdLFsxLDUsMTJdLFsxLDUsMjRdXSxtZW1iZXJzaGlwczpbWzAsOSwyNF0sWzAsOSwzNl0sWzEsOSwyNF1dLG1lbWJlcnNoaXBzX2dpZnQ6W1sxLDEsMjRdXSxtZW50aW9uOltbMSw1LDI0XV0sbWVudTpbWzEsMSwyNF1dLG1pYzpbWzAsMTQsMThdLFswLDE0LDI0XSxbMCwxNCwzNl0sWzAsMTQsNDhdLFsxLDE0LDE4XSxbMSwxNCwyNF0sWzEsMTQsNDhdXSxtaWNfc2xhc2g6W1sxLDIsMjRdXSxtaWNfc3Bhcms6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMThdLFsxLDEsMjRdXSxtaW51czpbWzEsMiwxOF0sWzEsMiwyNF1dLG1pbnVzX2NpcmNsZTpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLG1pbnVzX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLG1peDpbWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLG1vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLG1vYmlsZV9hcnJvd19kb3duOltbMSwxLDI0XV0sbW9iaWxlX2Fycm93X2luOltbMSwKMSwyNF1dLG1vYmlsZV9hcnJvd19vdXQ6W1sxLDEsMjRdXSxtb2JpbGVfY2hlY2s6W1sxLDIsMjRdXSxtb2JpbGVfbGFuZHNjYXBlOltbMCwzLDI0XSxbMSwzLDI0XV0sbW90aW9uOltbMSwyLDI0XV0sbW92ZTpbWzEsNCwxOF0sWzEsNCwyNF1dLG11c2ljX3ZpZGVvOltbMCw0LDI0XSxbMSw0LDI0XV0sbXVzaWNfdmlkZW9fc2xhc2g6W1sxLDEsMjRdXSxuMTU6W1sxLDEsMjRdXSxuMXBvaW50Mng6W1sxLDEsMjRdXSxuMXBvaW50NXg6W1sxLDEsMjRdXSxuMXBvaW50OHg6W1sxLDEsMjRdXSxuMXg6W1sxLDEsMjRdXSxuMmQ6W1sxLDEsMjRdXSxuMnBvaW50NXg6W1sxLDEsMjRdXSxuMng6W1sxLDEsMjRdXSxuM2Q6W1sxLDEsMjRdXSxuM3g6W1sxLDEsMjRdXSxuNGQ6W1sxLDEsMjRdXSxuNGs6W1swLDEsMjRdLFsxLDEsMjRdXSxuNjA6W1sxLDEsMjRdXSxuOGs6W1swLDEsMjRdLFsxLDEsMjRdXSxuZXdfcmVsZWFzZTpbWzEsMSwyNF1dLG5ld3M6W1swLDMsMjRdLFsxLDMsMjRdXSxuZXdzX2FsZXJ0OltbMCwKMSwyNF1dLG5vZGVfbGVmdDpbWzEsMiwyNF1dLG5vZGVfcmlnaHQ6W1sxLDIsMjRdXSxub3RlOltbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDE4XSxbMSwxLDI0XV0sbm90ZV9zcGFyazpbWzAsMiwxOF0sWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLG9wZW5faW5fcGFuZWw6W1sxLDIsMjRdXSxvcmlnaW5hbHM6W1swLDEsMjRdLFsxLDEsMjRdXSxvdmVyZmxvd19ob3Jpem9udGFsOltbMSw2LDI0XSxbMSw2LDM2XV0sb3ZlcmZsb3dfdmVydGljYWw6W1sxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsMzZdXSxwYWdlX3NlYXJjaDpbWzEsMSwyNF1dLHBhaW50X2J1Y2tldDpbWzEsMywyNF1dLHBhaW50X3BhbGV0dGU6W1sxLDEsMjRdXSxwYW5lbHM6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXVzZTpbWzAsOSwyNF0sWzAsOSwzNl0sWzAsOSw0OF0sWzEsOSwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhdXNlX2hpc3Rvcnk6W1sxLDEsMjRdXSxwYXdwcmludDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxwZGY6W1sxLDIsMjRdXSxwZW5jaWw6W1swLDEwLDI0XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSxwZW5jaWxfc3Bhcms6W1sxLDEsMjRdXSxwZXJjZW50OltbMSwxLDI0XV0scGVyc29uOltbMCw3LDI0XSxbMSw3LDEyXSxbMSw3LDI0XV0scGVyc29uMjpbWzEsMSwyNF1dLHBlcnNvbjJfcmVjdGFuZ2xlOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uMzpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl9hZGQ6W1swLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxwZXJzb25fYXVkaW86W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdLFsxLDMsNDhdXSxwZXJzb25fYmFja2dyb3VuZF9zcGFyazpbWzEsMSwyNF1dLHBlcnNvbl9jaGVjazpbWzEsMSwyNF1dLHBlcnNvbl9jaGlsZDpbWzAsMiwxMl0sWzAsMiwyNF0sWzEsMiwyNF1dLHBlcnNvbl9jaXJjbGU6W1swLDEwLDI0XSxbMSwxMCwyNF0sWzEsMTAsNDhdXSxwZXJzb25fY2lyY2xlX3NsYXNoOltbMSwKMiwyNF1dLHBlcnNvbl9nZWFyOltbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX3NoaWVsZDpbWzEsNywyNF1dLHBlcnNvbl9zcXVhcmU6W1swLDIsMjRdLFsxLDIsMThdLFsxLDIsMjRdXSxwZXJzb25fc3F1YXJlX3NwYXJrOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3NxdWFyZV9zdGFjazpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl92aWV3ZmluZGVyOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3dhdmVmb3JtOltbMSwyLDI0XV0scGVyc29uX3dhdmVzOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3g6W1sxLDEsMjRdXSxwaG9uZTpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywyNF1dLHBpYW5vOltbMSwxLDI0XV0scGljdHVyZV9pbl9waWN0dXJlOltbMCwyLDI0XSxbMSwyLDI0XV0scGljdHVyZV9pbl9waWN0dXJlX3N0YWNrOltbMSwxLDI0XV0scGluOltbMCw3LDI0XSxbMSw3LDE4XSxbMSw3LDI0XV0scGluX3NsYXNoOltbMCwyLDI0XSxbMSwyLDE4XSwKWzEsMiwyNF1dLHBsYXk6W1swLDQsMThdLFswLDQsMjRdLFswLDQsMzZdLFswLDQsNDhdLFsxLDQsMjRdXSxwbGF5X2NpcmNsZTpbWzAsMiwyNF0sWzAsMiw0OF0sWzEsMiwyNF1dLHBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0scGxheV9wYXVzZTpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5X3NxdWFyZV9oYWxmX2Rhc2hlZDpbWzEsMSwyNF1dLHBsYXlfc3F1YXJlX3N0YWNrOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWFibGVzOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGxheWVyX2RlZmF1bHQ6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfZnVsbF9lbnRlcjpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyX2FsdDpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyX3BvcnRyYWl0OltbMSwyLDI0XV0scGxheWVyX2Z1bGxfZXhpdDpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2V4aXRfYWx0OltbMSwxLAoyNF1dLHBsYXllcl9taW5pX2VudGVyOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWVyX21pbmlfZXhpdDpbWzEsMSwyNF1dLHBsYXllcl9tdWx0aXZpZXc6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWVyX3RoZWF0ZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5bGlzdDpbWzEsNSwxMl0sWzEsNSwxOF0sWzEsNSwyNF0sWzEsNSw0OF1dLHBsYXlsaXN0X2FkZDpbWzEsMywxOF0sWzEsMywyNF1dLHBsYXlsaXN0X2F1ZGlvOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XSxbMSwzLDQ4XV0scGxheWxpc3RfYXVkaW9fc2xhc2g6W1sxLDEsMjRdXSxwbGF5bGlzdF9jaGVjazpbWzEsMSwyNF1dLHBsYXlsaXN0X3BlbmNpbDpbWzEsMiwyNF0sWzEsMiw0OF1dLHBsYXlsaXN0X3g6W1sxLDMsMThdLFsxLDMsMjRdXSxwb2RjYXN0OltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDEyXSxbMSw2LDE4XSxbMSw2LDI0XSxbMSw2LDQ4XV0scG9kY2FzdF9hZGQ6W1swLAoyLDI0XSxbMSwyLDI0XV0scG9kY2FzdF9jaGVjazpbWzAsMiwyNF1dLHBvaW50Mng6W1sxLDEsMjRdXSxwb2ludDN4OltbMSwxLDI0XV0scG9pbnQ1eDpbWzEsMSwyNF1dLHBvaW50OHg6W1sxLDEsMjRdXSxwb2xsOltbMSwxMCwxOF0sWzEsMTAsMjRdLFsxLDEwLDM2XV0scG9zdDpbWzAsMiwxMl0sWzAsMiwxOF0sWzAsMiwyNF0sWzEsMiwxMl0sWzEsMiwxOF0sWzEsMiwyNF1dLHByZW1pdW06W1swLDEsMjRdLFsxLDEsMjRdXSxwcmVzZW50YXRpb246W1sxLDMsMjRdXSxwcmljZV90YWc6W1swLDgsMjRdLFswLDgsNDhdLFsxLDgsMjRdXSxwcmljZV90YWdfaGVhcnQ6W1sxLDIsMjRdXSxwcmljZV90YWdfcmVjdGFuZ2xlOltbMSwxLDI0XV0scXJfY29kZTpbWzEsMywyNF1dLHFyX2NvZGVfdmlld2ZpbmRlcjpbWzEsMSwyNF1dLHF1ZXN0aW9uX2hlYWQ6W1sxLDIsMjRdXSxxdWV1ZTpbWzEsMSwyNF1dLHF1ZXVlX2xhc3Q6W1sxLDEsMjRdXSxxdWV1ZV9uZXh0OltbMSwxLDI0XV0scXVpejpbWzAsCjEsMjRdLFsxLDEsMjRdXSxxdW90ZTpbWzAsMSwyNF0sWzEsMSwyNF1dLHF1b3RlX3NsYXNoOltbMCwxLDI0XSxbMSwxLDI0XV0scmVjb3JkOltbMCwyLDI0XV0scmVkbzpbWzEsMiwxOF0sWzEsMiwyNF1dLHJlbWl4OltbMSwyLDI0XV0scmVtaXhfc3BhcmtsZXM6W1sxLDEsMjRdXSxyZW1vdGVfd2F2ZXM6W1sxLDEsMjRdXSxyZXBlYXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxyZXBlYXQxOltbMCwxLDI0XSxbMSwxLDI0XV0scmVwbGF5OltbMSwyLDI0XSxbMSwyLDM2XV0scm90YXRlX2Nsb2Nrd2lzZTpbWzEsMSwyNF1dLHJvdGF0ZV9jb3VudGVyY2xvY2t3aXNlOltbMSwxLDI0XV0scm90YXRlX2xhbmRzY2FwZTpbWzEsMiwxOF0sWzEsMiwyNF1dLHJvdGF0ZV9wb3J0cmFpdDpbWzEsMSwyNF1dLHJzczpbWzEsMiwyNF1dLHJzc19zbGFzaDpbWzEsMSwyNF1dLHJ1Ynk6W1sxLDIsMjRdXSxzYW1wbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc2F0dXJhdGlvbjpbWzEsMiwyNF1dLHNjYWxlOltbMSwKNCwyNF1dLHNjaXNzb3JzOltbMCw4LDI0XSxbMSw4LDE4XSxbMSw4LDI0XV0sc2Npc3NvcnNfY3V0OltbMSw0LDI0XV0sc2NyaWJibGU6W1sxLDEsMjRdXSxzZDpbWzAsMywyNF0sWzEsMywyNF1dLHNlYXJjaDpbWzAsMTUsMjRdLFsxLDE1LDE4XSxbMSwxNSwyNF0sWzEsMTUsNDhdXSxzZWFyY2hfc2hpZWxkOltbMCwxLDI0XSxbMSwxLDI0XV0sc2VhcmNoX3NwYXJrOltbMSwzLDE4XSxbMSwzLDI0XV0sc2Vla19mb3J3YXJkOltbMCwxLDI0XV0sc2Vla19yZXdpbmQ6W1swLDEsMjRdXSxzZW5kOltbMCw3LDE4LCEwXSxbMCw3LDI0LCEwXSxbMSw3LDE4LCEwXSxbMSw3LDI0LCEwXV0sc2hhZG93OltbMSwxLDI0XV0sc2hhZG93X2hhcmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzaGFkb3dfc29mdDpbWzAsMywyNF0sWzEsMywyNF1dLHNoYXBlczpbWzAsMywyNF0sWzEsMywyNF1dLHNoYXJlOltbMCwxMiwyNCwhMF0sWzEsMTIsMTgsITBdLFsxLDEyLDI0LCEwXV0sc2hhcmVfYW5kcm9pZDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxzaGFyZV9pb3M6W1sxLDIsMjRdXSxzaGFycGVuOltbMSwxLDI0XV0sc2hpZWxkOltbMCw2LDI0XSxbMSw2LDI0XV0sc2hpZWxkX2FkZDpbWzEsMiwyNF1dLHNoaWVsZF9oZWFsdGg6W1sxLDEsMjRdXSxzaGllbGRfb3ZlcmZsb3c6W1sxLDIsMjRdXSxzaGllbGRfc2xhc2g6W1sxLDEsMjRdXSxzaGllbGRfeDpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHNob3J0czpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHNob3J0c19hZGQ6W1sxLDEsMThdLFsxLDEsMjRdXSxzaG9ydHNfZW1wdHk6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMjRdXSxzaHVmZmxlOltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sc2tpcDEwX2JhY2s6W1sxLDIsMjRdLFsxLDIsMzZdXSxza2lwMTBfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXAxNV9iYWNrOltbMSwxLDI0XV0sc2tpcDE1X2ZvcndhcmQ6W1sxLDEsMjRdXSxza2lwMjBfYmFjazpbWzEsMSwyNF1dLHNraXAyMF9mb3J3YXJkOltbMSwKMSwyNF1dLHNraXAzMF9iYWNrOltbMSwxLDI0XV0sc2tpcDMwX2ZvcndhcmQ6W1sxLDIsMjRdLFsxLDIsMzZdXSxza2lwNV9iYWNrOltbMSwxLDI0XV0sc2tpcDVfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXA2MF9iYWNrOltbMSwxLDI0XV0sc2tpcDYwX2ZvcndhcmQ6W1sxLDEsMjRdXSxza2lwX2Rvd246W1swLDYsMjRdLFsxLDYsMjRdXSxza2lwX25leHQ6W1swLDcsMTJdLFswLDcsMjRdLFswLDcsMzZdLFsxLDcsMjRdXSxza2lwX3ByZXZpb3VzOltbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XV0sc2tpcF91cDpbWzAsNiwyNF0sWzEsNiwyNF1dLHNsYXNoX2ZvcndhcmQ6W1sxLDEsMjRdXSxzbGVlcF90aW1lcjpbWzAsMiwyNF0sWzEsMiwyNF1dLHNsaXA6W1sxLDEsMThdLFsxLDEsMjRdXSxzbm93Zmxha2U6W1sxLDEsMjRdXSxzb2NjZXJfYmFsbDpbWzEsMywyNF1dLHNvbmFyOltbMSwxLDI0XV0sc29ydDpbWzEsMywxMl0sWzEsMywxOF0sWzEsMywyNF1dLHNwYWNlYmFyOltbMSwyLAoyNF1dLHNwYXJrOltbMCwxMSwxMl0sWzAsMTEsMjRdLFsxLDExLDI0XV0sc3BhcmtfYnViYmxlX2NoYXQ6W1sxLDEsMjRdXSxzcGFya19saWdodGJ1bGI6W1swLDMsMjRdLFsxLDMsMjRdXSxzcGFya19zZWFyY2g6W1sxLDEsMjRdXSxzcGFya193YXZlczpbWzAsMiwyNF0sWzEsMiwyNF1dLHNwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BlYWtlcjpbWzEsMiwyNF1dLHNwZWFrZXJfaGVhZHNldDpbWzEsMiwyNF1dLHNwZWFrZXJfc2xhc2g6W1sxLDEsMjRdXSxzcGVha2VyX3N0YWNrOltbMSwxLDI0XV0sc3BlYWtlcl9zdGFja19zbGFzaDpbWzEsMSwyNF1dLHNwZWVkb21ldGVyOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BsaWNlOltbMSwxLDI0XV0sc3BsaXQ6W1sxLDQsMjRdXSxzcG90bGlnaHQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzcHJlYWRzaGVldDpbWzEsMSwyNF1dLHNxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHNxdWFyZTNfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSwKc3F1YXJlM2Rfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxzcXVhcmVfZ3JpZDJ4MjpbWzEsMSwyNF1dLHNxdWFyZV9ncmlkM3gzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3F1YXJlX3BhaW50YnJ1c2g6W1sxLDEsMjRdXSxzcXVhcmVfcGVuY2lsOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sc3RhYmxlX3ZvbHVtZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHN0YXI6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMjRdXSxzdGFyX2NpcmNsZTpbWzAsNiwxMl0sWzAsNiwxOF0sWzAsNiwyNF0sWzAsNiwzNl0sWzEsNiwyNF1dLHN0YXJfZnVsbF9oYWxmOltbMCwxLDEyXSxbMCwxLDI0XV0sc3Rhcl9oYWxmX2ZpbGxlZDpbWzEsMiwxMl0sWzEsMiwyNF1dLHN0YXJfdGlja2V0OltbMCwyLDI0XSxbMSwyLDI0XV0sc3Rhcl90cm9waHk6W1sxLDEsMjRdXSxzdGFyX3R2OltbMSwxLDI0XV0sc3RpY2tlcjpbWzEsMywxOF0sWzEsMywyNF1dLHN0b3A6W1swLDYsMjRdLFswLDYsMzZdLApbMSw2LDI0XV0sc3RvcF9jaXJjbGU6W1swLDIsMjRdLFsxLDIsMjRdXSxzdG9wd2F0Y2g6W1swLDUsMjRdLFsxLDUsMjRdXSxzdG9wd2F0Y2gxMDpbWzAsMSwyNF1dLHN0b3B3YXRjaDM6W1swLDEsMjRdXSxzdG9yYWdlOltbMCwyLDI0XSxbMSwyLDI0XV0sc3Vic2NyaXB0aW9uczpbWzAsMTIsMjRdLFsxLDEyLDI0XSxbMSwxMiw0OF1dLHN1YnRpdGxlczpbWzAsNSwyNF0sWzAsNSw0OF0sWzEsNSwyNF1dLHN1YnRpdGxlc19idWJibGU6W1sxLDEsMjRdXSxzdW06W1sxLDEsMjRdXSxzdXBlcl9jaGF0OltbMCw4LDI0XSxbMSw4LDI0XV0sc3VwZXJfc3RhcjpbWzEsMSwyNF1dLHN1cGVyX3N0aWNrZXI6W1swLDgsMjRdLFsxLDgsMjRdXSxzdXBlcl9zdG9yZTpbWzAsMywyNF0sWzEsMywyNF1dLHN1cHBvcnRfYWdlbnQ6W1sxLDEsMjRdXSxzdXJyb3VuZF9zb3VuZDpbWzAsMiwyNF0sWzEsMiwyNF1dLHRhYmxldF9sYW5kc2NhcGU6W1sxLDEsMjRdXSx0YXJnZXQ6W1sxLDIsMjRdXSx0YXJnZXRfYWRkOltbMSwKMiwyNF1dLHRlbXBsYXRlX2FkZDpbWzEsMywyNF1dLHRlbXBsYXRlX3BsYXk6W1swLDMsMjRdLFsxLDMsMjRdXSx0ZW1wbGF0ZV9wbGF5X3NwYXJrOltbMSwxLDI0XV0sdGV4dF9hbGlnbl9jZW50ZXI6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2FsaWduX2xlZnQ6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2FsaWduX3JpZ2h0OltbMCwyLDI0XSxbMSwyLDI0XV0sdGV4dF9idWJibGU6W1swLDQsMjRdLFsxLDQsMTJdLFsxLDQsMThdLFsxLDQsMjRdXSx0ZXh0X3BhZ2U6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X3BhZ2VfYWxlcnQ6W1sxLDEsMjRdXSx0ZXh0X3BhZ2VfY2hlY2s6W1sxLDEsMjRdXSx0ZXh0X3BhZ2VfaW5mbzpbWzEsMSwyNF1dLHRleHRfc3Bhcms6W1sxLDEsMjRdXSx0ZXh0dXJlOltbMSwxLDI0XV0sdGhlYXRlcjpbWzEsMSwyNF1dLHRoZW1lOltbMCwyLDI0XSxbMSwyLDI0XV0sdGhlcm1vbWV0ZXI6W1sxLDIsMjRdXSx0aHVtYl9kb3duOltbMCwyNSwxOF0sWzAsCjI1LDI0XSxbMCwyNSwzNl0sWzAsMjUsNDhdLFsxLDI1LDE4XSxbMSwyNSwyNF0sWzEsMjUsMzZdLFsxLDI1LDQ4XV0sdGh1bWJfdXA6W1swLDI0LDEyXSxbMCwyNCwxOF0sWzAsMjQsMjRdLFswLDI0LDM2XSxbMCwyNCw0OF0sWzEsMjQsMTJdLFsxLDI0LDE4XSxbMSwyNCwyNF0sWzEsMjQsMzZdLFsxLDI0LDQ4XV0sdGh1bWJfdXBfZG93bjpbWzAsNCwyNF0sWzEsNCwyNF1dLHRpbHQ6W1sxLDQsMjRdXSx0aW1lbGluZTpbWzEsMywyNF1dLHRpbWVsaW5lX3NwYXJrOltbMSwxLDI0XV0sdGltZXN0YW1wX2FkZDpbWzEsMSwyNF1dLHRvb2xib3g6W1swLDQsMjRdLFsxLDQsMjRdXSx0cmFuc2NyaXB0OltbMSwyLDI0XV0sdHJhbnNpdGlvbjpbWzAsNSwyNF0sWzEsNSwyNF1dLHRyYW5zbGF0ZTpbWzEsNCwxOF0sWzEsNCwyNF1dLHRyYXNoX2NhbjpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHRyZW5kaW5nOltbMCwyLDI0XSxbMSwyLDI0XV0sdHJpYW5nbGVfZG93bjpbWzAsOCwKMThdLFswLDgsMjRdLFsxLDgsMjRdXSx0cmlhbmdsZV91cDpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHRyb3BoeTpbWzAsMywyNF0sWzEsMywyNF1dLHRydWNrOltbMCw1LDI0XSxbMSw1LDI0XV0sdHY6W1swLDgsMjRdLFsxLDgsMjRdLFsxLDgsNDhdXSx0dl9hcnJvd19sZWZ0OltbMSwyLDI0XV0sdHZfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sdHZfbW9iaWxlOltbMSwyLDI0XSxbMSwyLDM2XV0sdHZfc2xhc2g6W1sxLDEsMjRdXSx1bmFyY2hpdmU6W1sxLDEsMjRdXSx1bmRvOltbMSwyLDE4XSxbMSwyLDI0XV0sdXBsb2FkOltbMSw1LDI0XV0sdmFyaWFibGU6W1sxLDQsMjRdXSx2aWRlbzpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHZpZGVvX2NhbWVyYTpbWzAsOSwyNF0sWzAsOSw0OF0sWzEsOSwyNF0sWzEsOSw0OF1dLHZpZGVvX2NhbWVyYV9hZGQ6W1sxLDIsMjRdXSx2aWRlb19jYW1lcmFfc2xhc2g6W1sxLDEsMjRdXSx2aWRlb19saW5rOltbMSw1LDE4XSwKWzEsNSwyNF1dLHZpZGVvX3BvcnRyYWl0X3NwYXJrOltbMSwxLDI0XV0sdmlkZW9fcmV2ZXJzZTpbWzEsMSwyNF1dLHZpZGVvX3NsYXNoOltbMSwxLDEyXSxbMSwxLDE4XSxbMSwxLDI0XSxbMSwxLDM2XSxbMSwxLDQ4XV0sdmlkZW9fc3Bhcms6W1sxLDIsMjRdXSx2aWRlb19zdGFja19zcGFyazpbWzEsMSwxOF0sWzEsMSwyNF1dLHZpZGVvX3N0aXRjaDpbWzEsMiwyNF1dLHZpZGVvX3dhdmVmb3JtOltbMSwxLDI0XV0sdmlld19jb2x1bW4yOltbMSwxLDI0XV0sdmlld19jb2x1bW4zOltbMCwyLDI0XSxbMSwyLDI0XV0sdmlld19jb2x1bW4zX3JvdzI6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2NvbXBhY3Q6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2ZlZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2xpc3Q6W1sxLDEsMjRdXSx2aWV3X3JvdzI6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X3RpbWVsaW5lOltbMSwxLDI0XV0sdmlld2ZpbmRlcjpbWzEsMSwxMl0sWzEsMSwxOF0sClsxLDEsMjRdXSx2aWduZXR0ZTpbWzEsMSwyNF1dLHZvbHVtZV9mYWRlOltbMSwyLDI0XV0sdm9sdW1lX21heDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9taW46W1swLDIsMjRdLFsxLDIsMjRdXSx2b2x1bWVfbXV0ZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHZyOltbMCw3LDI0XSxbMSw3LDI0XV0sd2F0Y2g6W1sxLDEsMjRdXSx3YXRlcjpbWzEsMSwyNF1dLHdhdmVmb3JtOltbMSwzLDI0XSxbMSwzLDQ4XV0sd2F2ZWZvcm1fc3Bhcms6W1sxLDIsMjRdXSx3aWZpX3RldGhlcmluZzpbWzEsMSwyNF1dLHdyZW5jaDpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHg6W1sxLDExLDE4XSxbMSwxMSwyNF0sWzEsMTEsMzZdXSx4X2NpcmNsZTpbWzAsOSwyNF0sWzEsOSwxOF0sWzEsOSwyNF1dLHhfb2N0YWdvbjpbWzEsMywxMl0sWzEsMywyNF1dLHhfcmVjdGFuZ2xlOltbMSwxLDI0XV0seWVuX3NpZ25fcmVjdGFuZ2xlOltbMCwyLDI0XSxbMSwyLDI0XV0seW91dHViZTpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX2tpZHM6W1swLDUsMjRdLFsxLDUsMjRdXSx5b3V0dWJlX2xhYnM6W1swLDEsMjRdXSx5b3V0dWJlX211c2ljOltbMCw3LDI0XSxbMSw3LDI0XV0seW91dHViZV9zaG9ydHM6W1swLDExLDI0XSxbMSwxMSwyNF1dLHlvdXR1YmVfc3R1ZGlvOltbMCw4LDI0XSxbMSw4LDI0XV0seW91dHViZV90djpbWzAsOCwyNF0sWzEsOCwyNF1dLHpvb21fYXV0bzpbWzEsMiwyNF1dLHpvb21faW46W1swLDIsMjRdLFsxLDIsMjRdXSx6b29tX291dDpbWzAsMiwyNF0sWzEsMiwyNF1dfTt2YXIgWHFhPXtWT0xVTUVfVVBfREVMSElfUExBWUVSX0ZJTExFRDoiVk9MVU1FX01BWCIsVk9MVU1FX09GRl9ERUxISV9QTEFZRVI6IlZPTFVNRV9NVVRFIixWT0xVTUVfRE9XTl9ERUxISV9QTEFZRVJfRklMTEVEOiJWT0xVTUVfTUlOIixDTE9TRURfQ0FQVElPTl9ERUxISV9QTEFZRVI6IkNBUFRJT05TIixDTE9TRURfQ0FQVElPTl9ERUxISV9QTEFZRVJfRklMTEVEOiJDQVBUSU9OUyIsU1VCVElUTEVTX0RFTEhJX1BMQVlFUjoiU1VCVElUTEVTIixTVUJUSVRMRVNfREVMSElfUExBWUVSX0ZJTExFRDoiU1VCVElUTEVTIixQTEFZRVJfRlVMTF9FTlRFUl9BTFQ6IlBMQVlFUl9GVUxMX0VOVEVSX0FMVCIsUExBWUVSX0ZVTExfRVhJVF9BTFQ6IlBMQVlFUl9GVUxMX0VYSVRfQUxUIixQQVVTRV9ERUxISV9QTEFZRVJfRklMTEVEOiJQQVVTRSIsUExBWV9BUlJPV19ERUxISV9QTEFZRVJfRklMTEVEOiJQTEFZX0FSUk9XIn0sdlo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9bWYoYSwKYil7dmFyIGM9WHFhW2EuaWNvbk5hbWUudG9VcHBlckNhc2UoKV07YyYmKGEuaWNvbk5hbWU9Yyk7dmFyIGQ9YS5pY29uTmFtZTtkPWQucmVwbGFjZSgvLS9nLCJfIik7YT17Li4uYSxpY29uTmFtZTp1WShkLCEhYyl8fGQudG9Mb3dlckNhc2UoKX07cmV0dXJuIF8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpfHxjP3JZKFdxYSxhLHRoaXMuaj8ucnd8fEFwYSxiKTpyWShWcWEsYSx0aGlzLmo/LnJ3fHx6cGEsYil9fTt2WltfLkxuXT1bXy5JbihfLm5PKV07dmFyIEJwYT1uZXcgU2V0KFsiY2kiLCJjciIsImNhcm1sIl0pLHZZPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaWduYWxzPVtdO3RoaXMuaj1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMudj1uZXcgTWFwfVZxKGEpe2lmKGEubGVuZ3RoPjEpe3ZhciBiPVtdO2xldCBmPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKHZhciBjIG9mIGEpZltjXXx8KGIucHVzaChjKSxmW2NdPSEwKTthPWJ9aWYoYS5sZW5ndGg9PT0xKXZhciBkPWFbMF07ZWxzZXtjPWE7Yj0iIjtjLnNvcnQoKTtmb3IoZSBvZiBjKWIrPWUrInwiO3ZhciBlPWI7aWYoIXRoaXMuai5nZXQoZSkpe2M9MDtiPVtdO2ZvcihkIG9mIGEpYysrLHhZKHRoaXMsZCl8fGIucHVzaChkKTtjPmIubGVuZ3RoP3RoaXMuc2lnbmFscy5wdXNoKGUpOkNwYSh0aGlzLGUsYSxiKX1kPWV9cmV0dXJuIGR9SGgoYSxiLGMsZCxlKXt4WSh0aGlzLGMpP18uQ2soKS5HYShhLGIsZCk6KGUmJihhPXlZKGEpLEFZKHRoaXMsCmEsYixjLGUpKSxlPXRoaXMuby5nZXQoYyksZXx8KHRoaXMuby5zZXQoYyxbXSksZT10aGlzLm8uZ2V0KGMpKSxlLnB1c2goe3hoOmEscHJpb3JpdHk6YixkZWxheTpkfSkpfWFkZExpc3RlbmVyKGEsYixjKXtjJiYoYj15WShiKSxBWSh0aGlzLGIsMCxhLGMpKTtjPXRoaXMudi5nZXQoYSk7Y3x8KHRoaXMudi5zZXQoYSxbXSksYz10aGlzLnYuZ2V0KGEpKTtjLnB1c2goYil9V20oYSl7aWYoIXhZKHRoaXMsYSkpe3RoaXMuQi5hZGQoYSk7dmFyIGI9dGhpcy5vLmdldChhKTtpZihiKXtmb3IobGV0IGMgb2YgYilfLkNrKCkuR2EoYy54aCxjLnByaW9yaXR5LGMuZGVsYXkpO3RoaXMuby5kZWxldGUoYSl9aWYoYj10aGlzLnYuZ2V0KGEpKXtmb3IobGV0IGMgb2YgYiljKCk7dGhpcy52LmRlbGV0ZShhKX10aGlzLnNpZ25hbHMucHVzaChhKTt0aGlzLkIuZGVsZXRlKGEpfX19O3ZZLnByb3RvdHlwZS5wcm9jZXNzU2lnbmFsPXZZLnByb3RvdHlwZS5XbTsKdlkucHJvdG90eXBlLnBhcmtPclNjaGVkdWxlSm9iPXZZLnByb3RvdHlwZS5IaDt2WS5wcm90b3R5cGUub25Bbnk9dlkucHJvdG90eXBlLlZxO18ucmEoInl0c2lnbmFscy5nZXRJbnN0YW5jZSIsd1kpO3ZZLnByb3RvdHlwZS5vbkFueT12WS5wcm90b3R5cGUuVnE7dlkucHJvdG90eXBlLnBhcmtPclNjaGVkdWxlSm9iPXZZLnByb3RvdHlwZS5IaDt2WS5wcm90b3R5cGUucHJvY2Vzc1NpZ25hbD12WS5wcm90b3R5cGUuV207dmFyIHpZPW5ldyBTZXQoWyJlb3AiLCJlb2NzIiwiZGwiLCJwY2wiXSk7dmFyIHZxYT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoYSl7dmFyIGI9e307c3VwZXIoInVuaW5pdGlhbGl6ZWQiKTt0aGlzLmVudj1hO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJ1bmluaXRpYWxpemVkIix0bzoiaW5pdGlhbGl6ZWQiLGFjdGlvbjp0aGlzLmluaXR9LHtmcm9tOiJpbml0aWFsaXplZCIsdG86InJlbmRlcmluZyIsYWN0aW9uOnRoaXMuS30se2Zyb206InJlbmRlcmluZyIsdG86InJlbmRlcmVkIixhY3Rpb246dGhpcy5EfSx7ZnJvbToicmVuZGVyZWQiLHRvOiJhZnRlci1yZW5kZXItZGVmZXJyZWQiLGFjdGlvbjp0aGlzLm99XTtiLkZnIT09dm9pZCAwJiYodGhpcy5CLkZnPWIuRmcpfWFzeW5jIGluaXQoYSl7dGhpcy5CLkZnP2F3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJyZW5kZXJpbmciKX0sMTAsImNpIil9YXN5bmMgSyhhKXt0aGlzLkIuRmc/CmF3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJyZW5kZXJlZCIpfSwxMCwiY3IiKX1hc3luYyBEKGEpe3RoaXMuQi5GZz9hd2FpdCBhKHRoaXMuZW52KTphKHRoaXMuZW52KTt0aGlzLmomJmF3YWl0IHRoaXMuai5vLnByb21pc2U7d1koKS5IaCgoKT0+e3RoaXMudHJhbnNpdGlvbigiYWZ0ZXItcmVuZGVyLWRlZmVycmVkIil9LDEwLCJjYXJtbCIpfWFzeW5jIG8oYSl7YSh0aGlzLmVudil9fTt2YXIgd1o9ITEsd3FhPXtpbml0aWFsaXplZDp7cHJpb3JpdHk6MTAsY2FsbGJhY2s6ZnVuY3Rpb24oKXt3Wnx8KF8uZHcoe0dmOmE9PnthLmVsJiZfLnV5KGEuZWwsYS5wcm9wcyl9LEhmOmE9PntfLnN5KGEuZWwpfX0pLHdaPSEwKX19fTt2YXIgQ1k9Xy5MKCh7ZGF0YTphfSk9PntmdW5jdGlvbiBiKGYpe18ublAoKTtmLnN0b3BQcm9wYWdhdGlvbigpfXZhciBjPV8udkUoImRpdiIpLGQ9Xy54KCJ3ZWJfcmVtb3ZlX3NuYWNrYmFyX2FjdGlvbnMiKTtfLlVKKCgpPT57fSk7dmFyIGU9e2J1dHRvbk92ZXJyaWRlczp7c3R5bGU6ImNhbGwtdG8tYWN0aW9uLWludmVyc2UifX07cmV0dXJuIF8uSygieXRtLW5vdGlmaWNhdGlvbi1hY3Rpb24tcmVuZGVyZXIiLG51bGwsXy5LKCJkaXYiLHsiYXJpYS1saXZlIjpfLmZyPyJvZmYiOiJwb2xpdGUiLGNsYXNzOiJub3RpZmljYXRpb24tYWN0aW9uLXJlc3BvbnNlLXRleHQifSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLnJlc3BvbnNlVGV4dH0pKSxfLksoXy5PLHtBOigpPT5hKCkuYWN0aW9uQnV0dG9uJiYhZCx0aGVuOigpPT5fLksoImRpdiIse2VsOmMsY2xhc3M6Im5vdGlmaWNhdGlvbi1hY3Rpb24tYnV0dG9uIiwib246Y2xpY2siOmJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5hY3Rpb25CdXR0b259LAp7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmZ9KT0+Xy5LKF8ucE8se2RhdGE6ZiwuLi5lfSksdG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOmZ9KT0+Xy5LKF8ucU8se2RhdGE6ZiwuLi5lfSl9KSl9KSl9LCJiZiIpO0NZLmlkb21Db21wYXQ9ITA7dmFyIEVZO3ZhciBHWT1uZXcgXy5lRTt2YXIgR3BhPXthZGRUb1BsYXlsaXN0UmVuZGVyZXI6ITB9O3ZhciBMWTt2YXIgUXBhPV8uJE4uQ3Q7dmFyIFRZPV8uTCgoe2RhdGE6YX0pPT57dmFyIGI9Xy51RSgieXRtLXNoYXJlLXRhcmdldC1yZW5kZXJlciIpO18uVUooKCk9PntiLnZhbHVlLmxheWVyPTd9KTt2YXIgYz0oKT0+Xy5CKGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5WRCk/LnVybCxkPSgpPT57YSgpO3JldHVybiExfTtyZXR1cm4gXy5LKCJ5dG0tc2hhcmUtdGFyZ2V0LXJlbmRlcmVyIix7ZWw6Yiwib246Y2xpY2siOmZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCk7aWYoZCgpKXt2YXIgZj1jKCksaD1hKCkubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zO18uekooaCw3KTtuZXcgTW96QWN0aXZpdHkoe25hbWU6Im5ldyIsZGF0YTp7dHlwZToid2Vic21zL3NtcyIsYm9keTpmfX0pO05ZKCk7ZS5wcmV2ZW50RGVmYXVsdCgpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBOWSgpfX0sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSygiYSIse2hyZWY6YyxjbGFzczoic2hhcmUtdGFyZ2V0LWxpbmsifSwKXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxXOigpPT5fLksoXy5uSCx7Y2xhc3NOYW1lOiJzaGFyZS10YXJnZXQtbGluayIsY29tbWFuZDooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCx0YXJnZXQ6Il9ibGFuayJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSl9KSl9LCJjZiIpO1RZLmlkb21Db21wYXQ9ITA7dmFyIFlxYT1fLiROLkNBTkNFTCxYcGE9Xy5MKCh7ZGF0YTphfSk9PntmdW5jdGlvbiBiKGYpe3ZhciBoPV8ueSgpLnJlc29sdmUoXy55UCksaz1SWShhKCkpO2YucHJldmVudERlZmF1bHQoKTtrJiZfLnpKKGssNyk7Xy5zUChlKTtoPy5sZCgpO18uek4oKTtmLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGMoZil7Xy55KCkucmVzb2x2ZShfLnlQKT8ubGQoKTtfLnpOKCk7Zi5zdG9wUHJvcGFnYXRpb24oKX12YXIgZD0oKT0+T1koYSgpKSxlPSJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIrXy5PSCgpO3JldHVybiBfLksoXy5yRSx7UWc6KCk9Pl8uSyhfLkFQLG51bGwsXy5LKF8uSUose2RhdGE6KCk9Pnt2YXIgZj1hKCkuaGVhZGVyPy5zaGFyZVBhbmVsSGVhZGVyUmVuZGVyZXI/LnRpdGxlPy5zaGFyZVBhbmVsVGl0bGVWMTVSZW5kZXJlcj8udGl0bGU7cmV0dXJuIGY/Zjp7c2ltcGxlVGV4dDoiU2hhcmUifX19KSkscWs6KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+CiEwLHRoZW46KCk9Pl8uSygiaW5wdXQiLHt2YWx1ZTpkLCJzZWxlY3Rpb24tZW5kIjowLGNsYXNzOiJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIsaWQ6ZSwib246Y2xpY2siOmIsImFyaWEtbGFiZWwiOigpPT5gJHtfLiROLnNvfSAke09ZKGEoKSl9YCxyZWFkb25seTohMH0pfSksXy5LKF8uZ0cse3BhOigpPT5TWShhKCkpfHxbXX0sZj0+Xy5LKF8uTyx7QTooKT0+Zi5zaGFyZVRhcmdldFJlbmRlcmVyLHRoZW46aD0+Xy5LKFRZLHtkYXRhOmh9KX0pKSksUHI6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKCJidXR0b24iLHtjbGFzczoiY29tcGFjdCIsIm9uOmNsaWNrIjpjfSxZcWEpKX0pfSwiZGYiKSxRWT1fLkwoKHtzaG9ydFVybDphLHRyYWNraW5nUGFyYW1zOmJ9KT0+e2Z1bmN0aW9uIGMoZSl7dmFyIGY9ZCxoPWI/LigpO2UucHJldmVudERlZmF1bHQoKTtoJiZfLnpKKGgsNyk7Xy5zUChmKTtOWSgpO18uek4oKTtlLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPSJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIrCl8uT0goKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ITAsdGhlbjooKT0+Xy5LKCJpbnB1dCIse2NsYXNzOiJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIsaWQ6ZCx2YWx1ZTphLHJlYWRvbmx5OiEwLCJhcmlhLWxhYmVsIjooKT0+YCR7Xy4kTi5zb30gJHthKCl9YCwib246Y2xpY2siOmMsInNlbGVjdGlvbi1lbmQiOjB9KX0pfSwiZWYiKTtRWS5pZG9tQ29tcGF0PSEwO3ZhciAkcGE9Xy4kTi5EdCxhcWE9Xy4kTi5ldTtfLnJhKCJ5dC5wdWJzdWIucHVibGlzaCIsXy5Peik7dmFyIHdYPXthdWRpb1RyYWNrU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyhUcWEpLGJyb3dzZUVuZHBvaW50OigpPT5GWShJcGEpLGNhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6VlcoclopLGNvbW1hbmRFeGVjdXRvckNvbW1hbmQ6KCk9PkZZKEpwYSksY29weVRleHRFbmRwb2ludDooKT0+RlkoTHBhKSxlbnRpdHlVcGRhdGVDb21tYW5kOlZXKHBaLFtuWl0pLGZlZWRiYWNrRW5kcG9pbnQ6KCk9PkZZKE1ZKSxtb2RpZnlDaGFubmVsTm90aWZpY2F0aW9uUHJlZmVyZW5jZUVuZHBvaW50OigpPT5GWShOcGEpLG5hdGl2ZUFwcERlZXBsaW5rRW5kcG9pbnQ6KCk9PkZZKHBvYSksb3BlblBvcHVwQWN0aW9uOigpPT5GWShEcGEpLHBob25lRGlhbGVyRW5kcG9pbnQ6KCk9PkZZKFBwYSkscGxheWxpc3RFZGl0RW5kcG9pbnQ6KCk9PkZZKFJwYSksc2VuZFNtc0VuZHBvaW50OigpPT5GWShUcGEpLHNoYXJlRW50aXR5RW5kcG9pbnQ6KCk9PkZZKFpwYSksc2hvd0F1ZGlvVHJhY2tQaWNrZXJBY3Rpb25Db21tYW5kOlZXKHNaKSwKc2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6VlcodFopLHNob3dFbmdhZ2VtZW50UGFuZWxFbmRwb2ludDooKT0+RlkoZHFhKSxzaG93U2hlZXRDb21tYW5kOlZXKHFaLFtfLmNMLCRZXSksc2lnbkluRW5kcG9pbnQ6KCk9PkZZKGZxYSksc3Vic2NyaWJlRW5kcG9pbnQ6KCk9PkZZKFdZKSx1bmRvRmVlZGJhY2tFbmRwb2ludDooKT0+RlkoTVkpLHVuc3Vic2NyaWJlRW5kcG9pbnQ6KCk9PkZZKFdZKSx1cmxFbmRwb2ludDooKT0+RlkoaHFhKSx1c2VyRmVlZGJhY2tFbmRwb2ludDooKT0+RlkoaXFhKSx3YXRjaEVuZHBvaW50OigpPT5GWShFcGEpfTt2YXIgeFo9Xy5MKCh7Y2hpbGRyZW46YSxCcTpiLGlzRnVsbHNjcmVlbjpjLHN0eWxlOmQsYXJpYUxhYmVsOmV9KT0+e3ZhciBmPV8udUUoImRpYWxvZyIpO18uVUooKCk9Pnt2YXIgaD0oKT0+e30saz1mLnZhbHVlO2suYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgsITApO18uWXUoKCk9PntrLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixoLCEwKX0pfSk7cmV0dXJuIF8uSygiZGlhbG9nIix7ZWw6ZixjbGFzczpfLlAoImRpYWxvZyIsIm1vZGVybi1kaWFsb2ctbGF5b3V0IiwibW9kZXJuLWRpYWxvZyIse3Njcm9sbGFibGU6YiwiZGlhbG9nLWZ1bGxzY3JlZW4iOmMsInJvdW5kZWQtY29udGFpbmVyIjooKT0+IWM/LigpfSkscm9sZToiZGlhbG9nIiwiYXJpYS1tb2RhbCI6ITAsc3R5bGU6ZCwiYXJpYS1sYWJlbCI6ZX0sYSl9LCJmZiIpO3haLmlkb21Db21wYXQ9ITA7dmFyIFpxYT1jbGFzc3t9O3ZhciBxcWE9Y2xhc3MgZXh0ZW5kcyBacWF7Y29uc3RydWN0b3IoKXt2YXIgYT17WWw6VXBhLFdrOk5ZfTtzdXBlcigpO3RoaXMubz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLm8uaWQ9Imdsb2JhbC1sb2FkZXIiO2RvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHRoaXMubyxkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpO3RoaXMuWWw9YT8uWWw7dGhpcy5Xaz1hPy5Xa31ycSgpe3JldHVybiEhdGhpcy5qfWFzeW5jIG9wZW5EaWFsb2coYSl7dmFyIGI9e3N0YWNrOltdLGVycm9yOnZvaWQgMCxoYXNFcnJvcjohMX07dHJ5e2xldCBjPV8uWnR8fHt9O3RoaXMuWWw/LigpJiZhd2FpdCB0aGlzLldrPy4oKTt0aGlzLnJxKCkmJnRoaXMubGQoKTtfLlZ6KGIsXy52TShjKSk7bGV0IGQ9YS5VbixlPWEuQnEsZj1hLmlzRnVsbHNjcmVlbixoPWEubkosaz1hLmlzUGVyc2lzdGVudCxsPWEuZm9jdXNPbkNsb3NlLG09YS5ybixuPWEuZksscD1hLnN0eWxlLHI9YS5hcmlhTGFiZWw7CnRoaXMuQj1hO3RoaXMudj10aGlzLmxkLmJpbmQodGhpcyk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLWNoYW5nZSIsdGhpcy52KTt0aGlzLmo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5qLmlkPSJkaWFsb2ctY29udGFpbmVyIjt0aGlzLmouY2xhc3NOYW1lPV8uYUwoImRpYWxvZy1jb250YWluZXIiLHtbImRpYWxvZy1mdWxsc2NyZWVuIl06Zn0pOyhfLlpPKCl8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHRoaXMuaik7Xy5mTih0aGlzLmosXy5LKF8uSUIsbnVsbCxfLksoeFose0JxOmUsaXNGdWxsc2NyZWVuOmYsc3R5bGU6cCxhcmlhTGFiZWw6cn0sXy5LKGQsbnVsbCkpLF8uSyhfLlpOLHtsYWJlbDoiZGlhbG9nIixvbmNsaWNrOigpPT57aHx8a3x8dGhpcy5sZCgpfX0pKSk7Xy5KTih0aGlzLmosbCxtKTtuPy4oKX1jYXRjaChjKXtiLmVycm9yPWMsYi5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooYil9fWxkKCl7dGhpcy5qJiYodGhpcy5CLkdoPy4oKSwKdGhpcy5CPXZvaWQgMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIix0aGlzLnYpLHRoaXMudj12b2lkIDAsXy5LTih0aGlzLmopLF8ucEModGhpcy5qKSx0aGlzLmoucmVtb3ZlKCksdGhpcy5qPXZvaWQgMCl9UXUoKXt0aGlzLm8uZmlyc3RDaGlsZCYmdGhpcy5vLnJlbW92ZUNoaWxkKHRoaXMuby5maXJzdENoaWxkKX19O3ZhciBTVz1uZXcgXy5DdCgiSW5uZXJUdWJlVHJhbnNwb3J0IiwiUnYzZTNkIik7bmV3IF8uQ3QoIlBhZ2VSZXF1ZXN0IiwiUnYzZTNkIik7dmFyICRxYT17YXV0b25hdl9vZmZfdG9nZ2xlX3NwYW5uZXI6W1swLDEsMzZdXSxhdXRvbmF2X29uX3RvZ2dsZV9zcGFubmVyOltbMCwxLDM2XV0sYXV0b25hdl9wbGF5X2NpcmNsZTpbWzAsMSwyMF1dLGF1dG9wbGF5OltbMCwyLDI0XV0sY3JlYXRvcl9zdHVkaW9fcmVkX2xvZ286W1swLDIsMjRdXSxlcXVhbGl6ZXI6W1swLDEsMjRdXSxmdWxsc2NyZWVuOltbMSwxLDI0XV0sZnVsbHNjcmVlbl9leGl0OltbMSwxLDI0XV0sZnVsbHNjcmVlbl9mcDpbWzEsMiwyNF1dLGdvb2dsZTpbWzAsMSwyNF1dLGdvb2dsZV9sb2dvOltbMCwyLDI0XV0saW5jb2duaXRvX2NpcmNsZTpbWzAsMSwyNF1dLGtpZHNfcmVkX2xvZ286W1swLDIsMjRdXSxsb2dvOltbMCwyLDY3XV0sbG9nb193aXRoX3RleHQ6W1swLDMsMjBdXSxsb2dvX3dpdGhfdGV4dF9tb25vY2hyb21lOltbMCwxLDIwXV0sbXVzaWNfcmVkX2xvZ286W1swLDIsMjRdXSxwYXVzZV9jaXJjbGU6W1swLDEsMjRdXSxwYXVzZV9vdXRsaW5lZDpbWzAsCjEsMjRdXSxwaXZvdF9saWJyYXJ5OltbMCwxLDI0XV0scGxheV9jaXJjbGVfc2hvcnRzOltbMCwyLDI0XV0scGxheWVyX2F1dG9wbGF5X25leHQ6W1swLDIsMjRdXSxwcmVtaXVtOltbMCwyLDI0XV0scHJlbWl1bV9zdGFuZGFsb25lOltbMCwyLDI0XV0scHJlbWl1bV9zdGFuZGFsb25lX2NhaXJvOltbMCwxLDI0XV0scmluZ29fbG9nbzpbWzAsMiwyNF1dLHNjcmVlbl9saWdodDpbWzEsMSwyNF1dLCJzaG9ydHMtaGVhcnQiOltbMCwxLDI0XSxbMSwxLDI0XV0sInNob3J0cy1oZWFydC1ncmFkaWVudCI6W1swLDEsMjRdLFsxLDEsMjRdXSxzaG9ydHNfY29tbWVudDpbWzAsMSwzMl1dLHNob3J0c19zaGFyZTpbWzAsMSwzMl1dLHNob3J0c190ZXh0X2xvZ286W1swLDIsNzJdXSxzaG9ydHNfdGh1bWJzX2Rvd246W1swLDEsMzJdXSxzaG9ydHNfdGh1bWJzX3VwOltbMCwxLDMyXV0sc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxzcGFya19zZWFyY2g6W1swLDEsMjRdXSxzdWJkaXJlY3RvcnlfYXJyb3dfcmlnaHQ6W1sxLAoxLDI0XV0sdW5wbHVnZ2VkX3JlZF9sb2dvOltbMCwyLDI0XV0sdmlkZW9feW91dHViZTpbWzAsMSwyNF1dLHdhdGVybWFyazpbWzAsMiwxMTBdXSx5b3V0dWJlOltbMCwyLDI0XV0seW91dHViZV9jcmVhdGVfbG9nbzpbWzAsMSwyNF1dLHlvdXR1YmVfcHJlbWl1bV9sb2dvX3Nob3J0OltbMCwyLDIwXV0seW91dHViZV9wcmVtaXVtX2xvZ29fc2hvcnRfbW9ub2Nocm9tZTpbWzAsMSwyMF1dLHlvdXR1YmVfc2hvcnRzX2JyYW5kXzI0OltbMCwyLDI0XV0seW91dHViZV9zaG9ydHNfZmlsbF9ub190cmlhbmdsZV9yZWRfMTY6W1swLDEsMTZdXX07dmFyIHlaPW5ldyBNYXAoW1sicGxheV9jaXJjbGVfZmlsbGVkIiwiYXV0b25hdl9wbGF5X2NpcmNsZSJdLFsic2VhcmNoIiwic2VhcmNoX2NhaXJvIl0sWyJ0YWJfaG9tZSIsImhvbWVfY2Fpcm8iXSxbInRhYl9zaG9ydHMiLCJ5b3V0dWJlX3Nob3J0c19jYWlybyJdLFsiYWNjb3VudF9jaXJjbGUiLCJwZXJzb25fY2lyY2xlX2NhaXJvIl0sWyJwcmVtaXVtX3N0YW5kYWxvbmUiLCJwcmVtaXVtX3N0YW5kYWxvbmVfY2Fpcm8iXV0pLGFyYT1uZXcgU2V0KFsiYXVkaW9fYmFkZ2UiLCJwYXVzZSIsInBsYXlfYXJyb3ciXSksWVk9Y2xhc3MgZXh0ZW5kcyB2Wntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKTt0aGlzLm89YX1tZihhLGIpe3ZhciBjPXsuLi5hfTthLmljb25OYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2hvcnRzX3RodW1ic191cCImJl8ueCgiZW5hYmxlX3Nob3J0c19oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIikmJihjLmljb25OYW1lPV8ueCgidXNlX3doaXRlX2ZpbGxlZF9oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIik/CiJzaG9ydHMtaGVhcnQiOiJzaG9ydHMtaGVhcnQtZ3JhZGllbnQiKTthcmEuaGFzKGEuaWNvbk5hbWUpJiYoYy5pY29uU3R5bGU9InlvdXR1YmVfZmlsbCIpO3laLmhhcyhhLmljb25OYW1lKSYmIV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiYoYS5pY29uTmFtZT15Wi5nZXQoYS5pY29uTmFtZSkpO2EuaWNvbk5hbWU9PT0iYWNjb3VudF9saW5rZWQiJiYoYy5pY29uTmFtZT0iY2lyY2xlc19vdmVybGFwX2NoZWNrIixjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7YS5pY29uTmFtZT09PSJhY2NvdW50X3VubGlua2VkIiYmKGMuaWNvbk5hbWU9ImNpcmNsZXNfb3ZlcmxhcCIsYy5pY29uU3R5bGU9InlvdXR1YmVfb3V0bGluZSIpO18ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiYoYS5pY29uTmFtZT09PSJwbGF5bGlzdF9hZGQiJiYoYy5pY29uTmFtZT0iYm9va21hcmsiKSxhLmljb25OYW1lPT09ImNpcmNsZXNfb3ZlcmxhcF9jaGVjayJ8fGMuaWNvbk5hbWU9PT0iY2lyY2xlc19vdmVybGFwX2NoZWNrIikmJgooYy5pY29uTmFtZT0iYWNjb3VudF9saW5rIixjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7YT0oYT11WShjLmljb25OYW1lKSk/ey4uLmMsaWNvbk5hbWU6YX06YzthPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiZhLmljb25OYW1lPT09InlvdXR1YmUiP3ZvaWQgMDpyWSgkcWEsYSx0aGlzLm8/LmVKfHxtcWEsYik7cmV0dXJuIGE/YTpzdXBlci5tZihjLGIpfX07WVlbXy5Mbl09W18uSW4oXy5uTyldO3ZhciBycWE9Y2xhc3MgZXh0ZW5kcyBVcWF7aXNWaXNpYmxlKGEpe3ZhciBiPVByb21pc2UsYz1iLnJlc29sdmU7dmFyIGQ9Xy5vTSgpLmdldFN0YXRlKCkuZW5nYWdlbWVudFBhbmVsPy5xcztyZXR1cm4gYy5jYWxsKGIsYT09PWQpfX07dmFyIGJyYT1jbGFzcyBleHRlbmRzIGtae2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLm9ic2VydmVyPW5ldyBfLmZGKDAsYT0+e3RoaXMubG9nVmlzaWJpbGl0eShhKX0pfW9ic2VydmUoYSxiLGMpe2MuVmJ8fGMuc3RhdGUhPT0idmlzaWJsZSJ8fChjLlZiPSEwKTt2YXIgZD17ZWxlbWVudDphLG9wdGlvbjpjfTtpZighYy5WYnx8Yy5zdGF0ZSE9PSJ2aXNpYmxlIilyZXR1cm4gZDtpZih0eXBlb2YgYiE9PSJmdW5jdGlvbiIpcmV0dXJuIF8uV2koRXJyb3IoImhlYCIrdHlwZW9mIGIpKSxkO2EuX192aXNpYmlsaXR5Q2FsbGJhY2s9Yjt0aGlzLm9ic2VydmVyLm9ic2VydmUoYSk7cmV0dXJuIGR9bG9nVmlzaWJpbGl0eShhKXthLl9fdmlzaWJpbGl0eUNhbGxiYWNrJiZ0eXBlb2YgYS5fX3Zpc2liaWxpdHlDYWxsYmFjaz09PSJmdW5jdGlvbiImJmEuX192aXNpYmlsaXR5Q2FsbGJhY2soYSwidmlzaWJsZSIpfXJmKGEpe2RlbGV0ZSBhLmVsZW1lbnQuX192aXNpYmlsaXR5Q2FsbGJhY2s7CnRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKGEuZWxlbWVudCl9ZGlzcG9zZSgpe3RoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpfX07dmFyIG9xYT0iSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiaW4gd2luZG93P25ldyBNcWE6bmV3IGJyYTtfLnVQPV8uYlo7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIm1lSDlFYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkJQPWZ1bmN0aW9uKGEsYj0hMSl7dmFyIGMsZD0oKT0+e3ZhciBlPV8uTEIoITApO18uZ3YrKzt0cnl7Yz1fLmJDKGEoKSksXy5JQSghMSl9Y2F0Y2goZil7dGhyb3cgXy5JQSghMCksXy5VdShmLDQpO31maW5hbGx5e18uTEIoZSl9fTtiPWJ8fF8uWnQ/Xy51dihkLGIpOl8uaXcoZCk7cmV0dXJuW2MsYl19O18uS0I9Xy5sQzsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHppYSxBaWEsQmlhLEVpYSxDaWEsRGlhLEZpYTt6aWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQWEoYSkmJmEubm9kZVR5cGU9PTE/YS5nZXRBdHRyaWJ1dGUoImpzbmFtZSIpPT09ImNvRlN4ZSI6ITF9O0FpYT1mdW5jdGlvbihhLGIpe2IuaWR8fChiLmlkPSJvdyIrXy5mdyhiKSk7YS5zZXRBdHRyaWJ1dGUoImpzb3duZXIiLGIuaWQpO2EuX19vd25lcj1iO3ZhciBjPV8uZ3coYix6aWEpO2MmJihfLkdDLmhhcyhjKXx8Xy5HQy5zZXQoYyxbXSksXy5HQy5nZXQoYykucHVzaChhKSk7KGM9Xy5GQy5nZXQoYikpfHxfLkZDLnNldChiLGM9W10pO2MuaW5jbHVkZXMoYSl8fGMucHVzaChhKTtiLnNldEF0dHJpYnV0ZSgiX19JU19PV05FUiIsITApfTtCaWE9ZnVuY3Rpb24oKXt2YXIgYT1fLkNBKDEpO2E9Xy5jdShhLF8uTEMpO2lmKCEoXy5idShhKXx8YVtfLk12XSYmIWEudm8pKXJldHVybiBhLnZhbHVlfTsKRWlhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5DQSgyKSxiPW5ldyBTZXQsYz0oKT0+e2IuZm9yRWFjaChkPT52b2lkIGQoKSk7Yi5jbGVhcigpfTtfLll1KGMpO3JldHVyblsoZCxlKT0+e3ZhciBmPV8uJHQoYSk7dHJ5e2xldCBoPUNpYShEaWEoZCksZSk7Yi5hZGQoaCk7cmV0dXJuKCk9PntoKCk7Yi5kZWxldGUoaCl9fWZpbmFsbHl7Xy4kdChmKX19LGNdfTtfLkNQPWZ1bmN0aW9uKHtjaGlsZHJlbjphLHJvb3Q6Yn0pe18ub0YoKCk9Pnt2YXIgW2NdPUVpYSgpO2M9YyhiLGEpO18uWXUoYyl9KTtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpfTtDaWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaWEoYSk7KGE9QmlhKCkpJiZBaWEoYyxhKTt2YXIgW2QsZV09Xy5CUChiLCEwKTtmb3IobGV0IGYgb2YgZCljLmFwcGVuZENoaWxkKGYpO18uVkIubG9nKGMpO3JldHVybigpPT57ZSgpO2MucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoYyl9fTsKRGlhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpe2E9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhKTtpZighKDAsXy5wcikoYSkpdGhyb3cgRXJyb3IoInBgYCIrU3RyaW5nKGEpKTtyZXR1cm4gYX1pZihfLmpCKGEpKXJldHVybiBhO2lmKCFhLkNrJiYhYS5sdSl7dmFyIGI9YS5qdTtiPUVycm9yKCJVY2AiKyh0eXBlb2YgYj09PSJzeW1ib2wiP2IuZGVzY3JpcHRpb246YikpO2Eua3U9ITA7dGhyb3cgYjt9cmV0dXJuIGEudmFsdWV9O0ZpYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoYS5uYW1lc3BhY2VVUkksYS5uYW1lc3BhY2VVUkk9PT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPyJnIjoiZGl2Iik7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoYil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkRQPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5DQSgpLGQ9ZT0+e18ub0goYywoKT0+e2IoZSl9KX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYSxkLHZvaWQgMCk7Xy5ZdSgoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGEsZCx2b2lkIDApfSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSWlhLEhQLEZQLEdQLEtpYSxNaWEsTGlhLExQO0lpYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInN0cmluZ0VudGl0eSIsYil9OwpIUD1mdW5jdGlvbihhLGIsYyl7aWYoYSl7dmFyIGQ9YS5saWtlU3RhdHVzO3JldHVybiBiP3tzdHlsZTp7c3R5bGVUeXBlOiJTVFlMRV9URVhUIn0sdG9nZ2xlZFN0eWxlOntzdHlsZVR5cGU6IlNUWUxFX0RFRkFVTFRfQUNUSVZFIn0saXNUb2dnbGVkOmQ9PT0iTElLRSIsaXNEaXNhYmxlZDohYS5saWtlc0FsbG93ZWQsZGVmYXVsdEljb246e2ljb25UeXBlOmN9LGRlZmF1bHRUZXh0OmQ9PT0iTElLRSI/YS5saWtlQ291bnRXaXRoVW5saWtlVGV4dDphLmxpa2VDb3VudFRleHQsdG9nZ2xlZFRleHQ6ZD09PSJMSUtFIj9hLmxpa2VDb3VudFRleHQ6YS5saWtlQ291bnRXaXRoTGlrZVRleHQsZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludDpGUChhLCJMSUtFIiksZGVmYXVsdFNlcnZpY2VFbmRwb2ludDpHUChhLCJMSUtFIiksdG9nZ2xlZFNlcnZpY2VFbmRwb2ludDpHUChhLCJJTkRJRkZFUkVOVCIpLGRlZmF1bHRUb29sdGlwOl8uYU4oYS5saWtlQ291bnRUb29sdGlwVGV4dCksdG9nZ2xlZFRvb2x0aXA6Xy5hTihhLmxpa2VDb3VudFRvb2x0aXBUZXh0KSwKdGFyZ2V0SWQ6YS50YXJnZXRJZH06e3N0eWxlOntzdHlsZVR5cGU6IlNUWUxFX1RFWFQifSx0b2dnbGVkU3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfREVGQVVMVF9BQ1RJVkUifSxpc1RvZ2dsZWQ6ZD09PSJESVNMSUtFIixpc0Rpc2FibGVkOiFhLmxpa2VzQWxsb3dlZCxkZWZhdWx0SWNvbjp7aWNvblR5cGU6Y30sZGVmYXVsdFRleHQ6ZD09PSJESVNMSUtFIj9hLmRpc2xpa2VDb3VudFdpdGhVbmRpc2xpa2VUZXh0OmEuZGlzbGlrZUNvdW50VGV4dCx0b2dnbGVkVGV4dDpkPT09IkRJU0xJS0UiP2EuZGlzbGlrZUNvdW50VGV4dDphLmRpc2xpa2VDb3VudFdpdGhEaXNsaWtlVGV4dCxkZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50OkZQKGEsIkRJU0xJS0UiKSxkZWZhdWx0U2VydmljZUVuZHBvaW50OkdQKGEsIkRJU0xJS0UiKSx0b2dnbGVkU2VydmljZUVuZHBvaW50OkdQKGEsIklORElGRkVSRU5UIiksZGVmYXVsdFRvb2x0aXA6Xy5hTihhLmRpc2xpa2VDb3VudFRvb2x0aXBUZXh0KSx0b2dnbGVkVG9vbHRpcDpfLmFOKGEuZGlzbGlrZUNvdW50VG9vbHRpcFRleHQpfX19OwpGUD1mdW5jdGlvbihhLGIpe2lmKGI9PT0iTElLRSIpcmV0dXJuIGEubGlrZUNvbW1hbmQ7aWYoYj09PSJESVNMSUtFIilyZXR1cm4gYS5kaXNsaWtlTmF2aWdhdGlvbkVuZHBvaW50fTtHUD1mdW5jdGlvbihhLGIpe3JldHVybiBhLnNlcnZpY2VFbmRwb2ludHM/LmZpbmQoYz0+Xy5CKGMsXy5kTyk/LnN0YXR1cz09PWIpfTtfLklQPWZ1bmN0aW9uKGEpe3JldHVybntjb250ZW50OmF9fTsKXy5KUD1mdW5jdGlvbihhLGIsYyl7Yj1jfHwoYj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg/PzApKkppYTthPWEudGh1bWJuYWlscztpZighYSlyZXR1cm4iIjtjPTA7dmFyIGQ9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsZT0wLGY9LU51bWJlci5NQVhfU0FGRV9JTlRFR0VSO2ZvcihsZXQgaz0wO2s8YS5sZW5ndGg7aysrKXtsZXQgbD1hW2tdLndpZHRoLWI7bD49MCYmbDw9ZD8oYz1rLGQ9bCk6bDwwJiZsPmYmJihlPWssZj1sKX12YXIgaD1bXTthLmZvckVhY2goaz0+e2gucHVzaChrLnVybCl9KTtyZXR1cm4gZDwxMDB8fGQ8LWY/YVtjXS51cmw6YVtlXS51cmx9O0tpYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoYj0+e18uT0UoKCk9PntiKGEpfSl9KX07TWlhPWZ1bmN0aW9uKGEpe2E9YS5tYXAoTGlhKTtyZXR1cm4gXy5JZihhKS50aGVuKEtpYSl9OwpMaWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29tcGxldGU/Xy5LeSgibG9hZCIpOm5ldyBfLkJmKGI9PntmdW5jdGlvbiBjKGQpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYyk7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsYyk7YihkLnR5cGUpfWEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYyk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsYyl9KX07TFA9ZnVuY3Rpb24oYSl7S1B8fE1pYShbYV0pLnRoZW4oKCk9PntpZighS1Ape3ZhciBiPSgwLF8uZWwpKCk7Xy5BcSgiZnRsIixiLHZvaWQgMCk7S1A9ITB9fSl9O18uTVA9bmV3IF8uSSgic3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWwiKTtfLk5QPV8uTCgoKT0+e3ZhciBhPV8udygiUExBWUVSX1ZBUlMiKSxiPWEudXNlcl9kaXNwbGF5X25hbWUsYz1hLnVzZXJfZGlzcGxheV9pbWFnZSxkPWEudXNlcl9kaXNwbGF5X2NoYW5uZWxfaGFuZGxlLGU9ZCYmXy5JUChkKSxmPSgpPT5fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKGIpLGxlYWRpbmdBY2Nlc3Nvcnk6e2F2YXRhclZpZXdNb2RlbDp7aW1hZ2U6e3NvdXJjZXM6W3t1cmw6Y31dfX19LHN1YnRpdGxlOmV9fSxfLlpDKTtyZXR1cm4gXy5LKCJhY2NvdW50LWluZm8tbWVudS1pdGVtIix7Y2xhc3M6ImFjY291bnRJbmZvSG9zdCJ9LF8uSyhfLkNELHtkYXRhOmYsSWE6ITAsb25UYXA6KCk9PntkJiZfLkFKKF8ud04oYEAke2R9YCksZigpLCExKX19KSl9LCJ6YiIpO18uTlAuaWRvbUNvbXBhdD0hMDt2YXIge01nOk5pYX09Xy56RyhhPT5hLnRhcmdldD8udmlkZW9JZCk7dmFyIE9QPV8uTChhPT57dmFyIHtkYXRhOmIsYnV0dG9uT3ZlcnJpZGVzOmN9PV8uREMoYSx7YnV0dG9uT3ZlcnJpZGVzOnt9fSksW2QsZV09TmlhKGIpLGY9KCk9PkhQKGQoKSwhMCwiU0hPUlRTX0xJS0UiKSxoPSgpPT5IUChkKCksITEsIlNIT1JUU19ESVNMSUtFIiksaz0obCxtKT0+e20uc3RvcFByb3BhZ2F0aW9uKCk7Zm9yKGxldCBuIG9mIGwpKGw9Xy5CKG4sXy5kTykpJiZkJiZlKHsuLi5kKCksbGlrZVN0YXR1czpsLnN0YXR1c30pfTtyZXR1cm4gXy5LKCJ5dG0tbGlrZS1idXR0b24tcmVuZGVyZXIiLG51bGwsXy5LKF8uTyx7QTooKT0+ZCgpLmxpa2VTdGF0dXMmJiEhZigpJiYhIWgoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLnFPLHtkYXRhOmYsYnV0dG9uT3ZlcnJpZGVzOigpPT4oe3R5cGU6ZCgpLmxpa2VTdGF0dXM9PT0iTElLRSI/ImZpbGxlZCI6InRvbmFsIiwuLi5jKCl9KSxSazprfSksXy5LKF8uTyx7QTooKT0+IWQoKS5oaWRlRGlzbGlrZUJ1dHRvbix0aGVuOigpPT4KXy5LKF8ucU8se2RhdGE6aCxidXR0b25PdmVycmlkZXM6KCk9Pih7dHlwZTpkKCkubGlrZVN0YXR1cz09PSJESVNMSUtFIj8iZmlsbGVkIjoidG9uYWwiLC4uLmMoKX0pLFJrOmt9KX0pKX0pKX0sIkFiIik7T1AuaWRvbUNvbXBhdD0hMDt2YXIgUFA9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXRtLW1lbnUtbmF2aWdhdGlvbi1pdGVtLXJlbmRlcmVyIixudWxsLF8uSyhfLndPLHtvbmNsaWNrOmI9Pnt2YXIgYz1hKCk7Xy54TigpJiZfLnpOKCk7Xy5BSihjLm5hdmlnYXRpb25FbmRwb2ludCxjLCExKTtfLkIoYy5uYXZpZ2F0aW9uRW5kcG9pbnQ/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8uaWdub3JlTmF2aWdhdGlvbnx8Yi5zdG9wUHJvcGFnYXRpb24oKX0scm9sZTooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCYmXy5CKGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5WRCk/ImxpbmsiOnZvaWQgMH0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGV4dH0pKSksIkJiIik7UFAuaWRvbUNvbXBhdD0hMDt2YXIgUVA9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLm1HKCk7cmV0dXJuIF8uSygieXRtLW1lbnUtc2VydmljZS1pdGVtLXJlbmRlcmVyIixudWxsLF8uSyhfLndPLHtvbmNsaWNrOigpPT57dmFyIGM9YSgpLGQ9Yy5zZXJ2aWNlRW5kcG9pbnQsZT1jLmNvbW1hbmQ7ZCYmXy5BSihkLGMsITAse0JkOmJ9KTtlJiZfLkFKKGUsYywhMCx7QmQ6Yn0pfX0sXy5LKF8uTyx7QTooKT0+YSgpLmljb24/Lmljb25UeXBlLHRoZW46KCk9Pl8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGV9KX0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGV4dCxtYTohMH0pKSl9LCJDYiIpO1FQLmlkb21Db21wYXQ9ITA7dmFyIFJQPV8uTCgoe2RhdGE6YSxCZDpifSk9Pnt2YXIgYz1fLkRJKElpYSwoKT0+YSgpPy50b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHlLZXl8fCIiKSxkPSgpPT5hKCk/LnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleT8hIWMoKT8udmFsdWU6YSgpPy5pc1RvZ2dsZWQsZT0oKT0+YygpP3tydW5zOlt7dGV4dDpjKCk/LnZhbHVlfHwiIn1dfTphKCk/LnRvZ2dsZWRTZWNvbmRhcnlUZXh0O3JldHVybiBfLksoInl0bS10b2dnbGUtbWVudS1zZXJ2aWNlLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6KCk9Pnt2YXIgZj1hKCksaD1iPy4oKSxrPWYuaXNUb2dnbGVkP2YudG9nZ2xlZFNlcnZpY2VFbmRwb2ludDpmLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQ7ayYmKF8uQUooayxmLCEwLHtCZDpofSksZi50b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHlLZXl8fChmLmlzVG9nZ2xlZD0hZi5pc1RvZ2dsZWQpKX19LF8uSyhfLk1ELHtpY29uOigpPT5kKCk/YSgpLnRvZ2dsZWRJY29uPy5pY29uVHlwZT8udG9TdHJpbmcoKToKYSgpLmRlZmF1bHRJY29uPy5pY29uVHlwZT8udG9TdHJpbmcoKSxhY3RpdmU6ZH0pLF8uSyhfLklKLHtkYXRhOigpPT5kKCk/YSgpLnRvZ2dsZWRUZXh0OmEoKS5kZWZhdWx0VGV4dH0pLF8uSyhfLk8se0E6KCk9PmEoKS5kZWZhdWx0U2Vjb25kYXJ5VGV4dHx8ZSgpLHRoZW46KCk9Pl8uSyhfLklKLHtkYXRhOigpPT5kKCk/ZSgpOmEoKS5kZWZhdWx0U2Vjb25kYXJ5VGV4dH0pfSkpKX0sIkRiIik7UlAuaWRvbUNvbXBhdD0hMDt2YXIgT2lhOwpfLlNQPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixUZDpjLEVoOmQsRmg6ZSxkZjpmLEhhOmgsdW46ayxzdG9wUHJvcGFnYXRpb246bCxwcmV2ZW50RGVmYXVsdDptLGxiOm4sYnV0dG9uT3ZlcnJpZGVzOnB9KT0+Xy5LKCJ5dG0tbWVudS1yZW5kZXJlciIse2NsYXNzOmJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50b3BMZXZlbEJ1dHRvbnN9LHtidXR0b25SZW5kZXJlcjpfLnBPLG1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOl8ucU8sdG9nZ2xlTWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UlAsbGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ucEwse2RhdGE6cixJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmZKLHtkYXRhOnJ9KSxtZW51TmF2aWdhdGlvbkl0ZW1SZW5kZXJlcjpQUCxsaWtlQnV0dG9uUmVuZGVyZXI6T1B9KSxfLksoT2lhLHtkYXRhOmEsVGQ6YyxFaDpkLEZoOmUsZGY6ZiwKSGE6aCx1bjprLHN0b3BQcm9wYWdhdGlvbjpsLHByZXZlbnREZWZhdWx0Om0sbGI6bixidXR0b25PdmVycmlkZXM6cH0se21lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLHRvZ2dsZU1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlJQLGxpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLnBMLHtkYXRhOnIsSWE6ITB9KSxzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5mSix7ZGF0YTpyfSksbGlrZUJ1dHRvblJlbmRlcmVyOk9QLGJ1dHRvblJlbmRlcmVyOl8ucE8sYWNjb3VudEluZm9NZW51SXRlbTpfLk5QfSkpLCJFYiIpO18uU1AuaWRvbUNvbXBhdD0hMDsKT2lhPV8uTCgoe2RhdGE6YSxjaGlsZHJlbjpiLC4uLmN9KT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+KCFhKCkuaXRlbXN8fCFhKCkuaXRlbXMubGVuZ3RoKSYmIShhKCkuaXNEaXNhYmxlZCYmYSgpLmRpc2FibGVkQ29tbWFuZCl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+Yy51bj8uKCl9LCgpPT5fLksoXy5NaGEse2ljb25UeXBlOigpPT5jLkVoPy4oKT8/Ik1PUkVfVkVSVCIsbGFiZWw6KCk9Pl8uV0woXy5ESihhKCkuYWNjZXNzaWJpbGl0eSk/PyIiKSxhcmlhTGFiZWw6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHkpfHwiIixjYW5jZWxCdXR0b25MYWJlbDpfLiROLkNBTkNFTCxUZDooKT0+Yy5UZD8uKCksZGY6KCk9PmMuZGY/LigpLEhhOigpPT5jLkhhPy4oKSxzdG9wUHJvcGFnYXRpb246KCk9PmMuc3RvcFByb3BhZ2F0aW9uPy4oKSxwcmV2ZW50RGVmYXVsdDooKT0+Yy5wcmV2ZW50RGVmYXVsdD8uKCksYnV0dG9uT3ZlcnJpZGVzOigpPT5jLmJ1dHRvbk92ZXJyaWRlcz8uKCksCmlzRGlzYWJsZWQ6KCk9PmEoKS5pc0Rpc2FibGVkLGRpc2FibGVkQ29tbWFuZDooKT0+YSgpLmRpc2FibGVkQ29tbWFuZH0sKCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5pdGVtc30sYikpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy56Tyx7aWNvblR5cGU6KCk9PmMuRWg/LigpPz8iTU9SRV9WRVJUIixsYWJlbDooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eSl8fCIiLGNhbmNlbEJ1dHRvbkxhYmVsOl8uJE4uQ0FOQ0VMLFRkOigpPT5jLlRkPy4oKSxGaDooKT0+Yy5GaD8uKCksZGY6KCk9PmMuZGY/LigpLEhhOigpPT5jLkhhPy4oKSxzdG9wUHJvcGFnYXRpb246KCk9PmMuc3RvcFByb3BhZ2F0aW9uPy4oKSxwcmV2ZW50RGVmYXVsdDooKT0+Yy5wcmV2ZW50RGVmYXVsdD8uKCksbGI6KCk9PmMubGI/LigpLGJ1dHRvbk92ZXJyaWRlczooKT0+Yy5idXR0b25PdmVycmlkZXM/LigpLGlzRGlzYWJsZWQ6KCk9PmEoKS5pc0Rpc2FibGVkLGRpc2FibGVkQ29tbWFuZDooKT0+YSgpLmRpc2FibGVkQ29tbWFuZH0sCigpPT5fLksoXy5XLHtkYXRhOigpPT5hKCkuaXRlbXN9LGIpKSkpLCJGYiIpO18uVFA9Xy5MKGE9Pl8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLml0ZW1zPy5sZW5ndGh8fGEuZGF0YSgpLmlzRGlzYWJsZWQmJmEuZGF0YSgpLmRpc2FibGVkQ29tbWFuZCx0aGVuOigpPT5fLksoUGlhLHsuLi5hfSl9KSwiR2IiKTtfLlRQLmlkb21Db21wYXQ9ITA7CnZhciBQaWE9Xy5MKGE9Pnt2YXIge2RhdGE6YixjbGFzc05hbWU6YyxFaDpkLHNob3dJY29uOmUsYnV0dG9uU2l6ZTpmLGJ1dHRvbk92ZXJyaWRlczpofT1fLkRDKGEse3Nob3dJY29uOiExLGJ1dHRvbk92ZXJyaWRlczp7fSxidXR0b25TaXplOiJMIixFaDoiTU9SRV9WRVJUIn0pLGs9Xy5adDtyZXR1cm4gXy5LKCJ5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyIix7Y2xhc3M6Y30sXy5LKF8uSksse2RhdGE6KCk9Pnt2YXIgbD17R2I6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1zaGVldC1tZWRpYS1tZW51LWl0ZW0ifSxfLksoXy5XLHtkYXRhOigpPT5iKCkuaXRlbXN9LHttZW51U2VydmljZUl0ZW1SZW5kZXJlcjpRUCxtZW51TmF2aWdhdGlvbkl0ZW1SZW5kZXJlcjpQUCx0b2dnbGVNZW51U2VydmljZUl0ZW1SZW5kZXJlcjpSUCxsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoXy5wTCx7ZGF0YTptLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOm19KT0+Cl8uSyhfLmZKLHtkYXRhOm19KSxsaWtlQnV0dG9uUmVuZGVyZXI6T1AsYnV0dG9uUmVuZGVyZXI6Xy5wTyxhY2NvdW50SW5mb01lbnVJdGVtOl8uTlB9KSksSGE6ZSgpLGlzRGlzYWJsZWQ6YigpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOmIoKS5kaXNhYmxlZENvbW1hbmR9O3JldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZTpmKCksaWNvblBvc2l0aW9uOiJpY29uLW9ubHkiLGFjY2Vzc2liaWxpdHlMYWJlbDpfLkRKKGIoKT8uYWNjZXNzaWJpbGl0eSl8fCIiLG9uVGFwOm09Pnt2YXIgbj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7Xy54SihfLmh4KCkse2RhdGE6YigpfSksbC5mb2N1c09uQ2xvc2U9bS5jdXJyZW50VGFyZ2V0LF8uV00oKSYmbS5zdG9wUHJvcGFnYXRpb24oKSxfLlZ6KG4sXy52TShrKSksXy55TihsKX1jYXRjaChwKXtuLmVycm9yPXAsbi5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3oobil9fSwKLi4uaCgpfX0saWNvbk5hbWU6KCk9PmQoKX0pKX0sIkhiIik7dmFyIEppYT1fLnUuZGV2aWNlUGl4ZWxSYXRpb3x8Mjt2YXIgS1A9ITE7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIiwoKT0+e0tQPSExfSk7Cl8uVVA9Xy5MKGE9Pnt2YXIge3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6YyxhbHQ6ZCxhcmlhTGFiZWw6ZSxNZDpmLFRiOmgsaGM6ayxhcmlhSGlkZGVuOmwsWWE6bSxUYTpufT1fLkRDKGEse1RiOiEwLHRodW1ibmFpbERldGFpbHM6dm9pZCAwLGNsYXNzTmFtZTp2b2lkIDAsYWx0OnZvaWQgMCxhcmlhTGFiZWw6dm9pZCAwLE1kOnZvaWQgMCxoYzp2b2lkIDAsYXJpYUhpZGRlbjp2b2lkIDAsWWE6dm9pZCAwLFRhOnZvaWQgMH0pLHA9Xy52RSgiaW1nIiksW3IsdF09Xy5BQyhiKTtfLlVKKCgpPT57dmFyIHY9ey4uLmIoKX07dCh2KX0pO18ubkUoKCk9PntpZihwLnZhbHVlKXtsZXQgdj1wLnZhbHVlO0xQKHYpO2xldCB6PWIoKTt6JiYodi5zcmM9Xy5KUCh6LHYsZigpKSl9fSwibjdrYzRjIik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmIoKSYmKGQoKXx8ZSgpfHxjKCl8fGsoKXx8bCgpKSx0aGVuOigpPT5fLksoXy5qRix7ZGF0YTooKT0+cigpLGNsYXNzTmFtZTpjLGFsdDooKT0+CmQoKXx8ZSgpfHwiIixjb250ZW50TW9kZToiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSUxMIixoYzprLGFyaWFIaWRkZW46bCxjYWxsYmFjazpMUCxUYjpoLFlhOm0sVGE6bn0pLFc6KCk9Pl8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoXy5oRix7ZGF0YTpiLGNvbmZpZzooKT0+KHtjbGFzc05hbWU6YygpLGFsdDpkKCl8fGUoKXx8IiIsaGM6aygpLGFyaWFIaWRkZW46bCgpLFlhOm0oKSxUYTpuKCl9KSxHbDp7U2c6KHYseik9PntMUCh6KTtyZXR1cm4gdj9fLkpQKHYseixmKCkpOiIifX0sbGF6eTohMH0pLFc6KCk9Pl8uSygiaW1nIix7ZWw6cCxhbHQ6ZCwiYXJpYS1sYWJlbCI6ZSxjbGFzczpjLCJkYXRhLWRpc2FibGVkIjprLCJhcmlhLWhpZGRlbiI6bH0pfSl9KX0sIktiIik7Xy5VUC5pZG9tQ29tcGF0PSEwO18uVlA9Xy5MKGE9Pl8uSygieXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyIix7Y2xhc3M6YS5jbGFzc05hbWUsInRodW1ibmFpbC1zaXplIjphLnRodW1ibmFpbFNpemUsImRhdGEtc3R5bGUiOigpPT5hLmRhdGE/LigpLnN0eWxlLCJhcmlhLWhpZGRlbiI6YS5hcmlhSGlkZGVuLCJkYXRhLXR5cGUiOigpPT5hLmRhdGE/LigpLnR5cGU/LnJlcGxhY2UoIlRIVU1CTkFJTF9PVkVSTEFZX1RJTUVfU1RBVFVTX1RZUEVfIiwiIil9LF8uSyhfLlRDLHtkYXRhOigpPT4oe3R5cGU6YS5kYXRhKCkuc3R5bGU9PT0iTElWRSI/MTk6MTgsdGV4dDpfLkNKKGEuZGF0YSgpLnRleHQpLGljb246YS5kYXRhKCkuaWNvbj8uaWNvblR5cGV8fGEuZGF0YSgpLnl0SWNvbixxTDphLmRhdGEoKS5zdHlsZT09PSJTSE9SVFMifSl9KSksIkxiIik7dmFyIFFpYTtfLldQPV8uTChhPT57dmFyIHtkZXRhaWxzOmIsb3ZlcmxheTpjLFRiOmQsaGo6ZSxNZDpmfT1fLkRDKGEse2RldGFpbHM6dm9pZCAwLFRiOiEwLGhqOiExfSksaD1fLlAoInZpZGVvLXRodW1ibmFpbC1pbWciLHsiY3VzdG9tLXRodW1ibmFpbCI6ZX0pO3JldHVybiBfLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ2aWRlby10aHVtYm5haWwtaW1nIiwidmlkZW8tdGh1bWJuYWlsLWJnIil9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKFFpYSx7ZGV0YWlsczpiLGNsYXNzTmFtZTpoLFRiOmQsTWQ6Zn0pfSksXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6aCxUYjpkLE1kOmYsYWx0OiIifSksXy5LKCJkaXYiLHtjbGFzczoidmlkZW8tcHJldmlldy1zaGltIn0pLGM/LigpKX0sIk1iIik7ClFpYT1fLkwoKHtkZXRhaWxzOmEsY2xhc3NOYW1lOmIsVGI6YyxNZDpkfSk9Pl8uSygiZGl2Iix7Y2xhc3M6ImN1c3RvbS10aHVtYm5haWwtYmFja2dyb3VuZC1jb250YWluZXIiLHN0eWxlOigpPT57aWYoYT8uKCkuc2FtcGxlZFRodW1ibmFpbENvbG9yKXt2YXIge3JlZDplLGdyZWVuOmYsYmx1ZTpofT1hKCkuc2FtcGxlZFRodW1ibmFpbENvbG9yO3JldHVybmBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR7ZX0sJHtmfSwke2h9LDEpO2B9fX0sXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YSxjbGFzc05hbWU6YixhbHQ6IiIsTWQ6ZCxUYjpjfSkpLCJOYiIpO18uWFA9Xy5MKGE9Pnt2YXIge3RodW1ibmFpbERldGFpbHM6YixvdmVybGF5OmMsTWQ6ZCxjbGFzc05hbWU6ZSxUYjpmLGhqOmgsaG06a309Xy5EQyhhLHtUYjohMCxoajohMSx0aHVtYm5haWxEZXRhaWxzOnZvaWQgMH0pO3JldHVybiBfLksoInl0bS1jb21wYWN0LXRodW1ibmFpbCIse2NsYXNzOl8uUCgidmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0IiwidmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LXJvdW5kZWQiLGUseyJvcmlnaW5hbC1hc3BlY3QtcmF0aW8iOigpPT5iKCk/LmlzT3JpZ2luYWxBc3BlY3RSYXRpbyxzdGFja2VkOmt9KX0sXy5LKF8uV1Ase2RldGFpbHM6YixvdmVybGF5OmMsTWQ6ZCxUYjpmLGhqOmh9KSl9LCJPYiIpO18uWFAuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvdmVybGF5OiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWlA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLlRqfTtfLiRQPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy54an07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwZXZ0dmMiKTtyZXR1cm4gXy5yRH07Xy5jUT1fLmNEKCgpPT5fLmJRKCksImRpc2xpa2VCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZGlzbGlrZUJ1dHRvblZpZXdNb2RlbCIsInBldnR2YyIsXy5iUSl9KTtfLmRRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiaXpqbVAiKTtyZXR1cm4gXy5xRH07Xy5lUT1fLmNEKCgpPT5fLmRRKCksImxpa2VCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlrZUJ1dHRvblZpZXdNb2RlbCIsIml6am1QIixfLmRRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmZRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiQVQ4TFRlIik7cmV0dXJuIF8ucER9O18uZ1E9Xy5jRCgoKT0+Xy5mUSgpLCJvdmVybGF5UHJvZHVjdFN0aWNrZXIiKTtfLll0KF8uSkQsYT0+e2EuSigib3ZlcmxheVByb2R1Y3RTdGlja2VyIiwiQVQ4TFRlIixfLmZRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgU2lhO18uaFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJYZVJYQmQiKTtyZXR1cm4gXy5jRn07U2lhPV8uY0QoKCk9Pl8uaFEoKSwicmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWwiLCJYZVJYQmQiLF8uaFEpfSk7Xy5pUT1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmJ9KT0+e3ZhciBjPV8udUUoInBpdm90LWJ1dHRvbi12aWV3LW1vZGVsIik7Xy5VSigoKT0+e2EoKT8uYmFja2dyb3VuZENvbG9yJiZjLnZhbHVlLnNldEF0dHJpYnV0ZSgiZGF0YS1iYWNrZ3JvdW5kLWNvbG9yIixTdHJpbmcoYSgpLmJhY2tncm91bmRDb2xvcikpfSk7cmV0dXJuIF8uSygicGl2b3QtYnV0dG9uLXZpZXctbW9kZWwiLHtlbDpjLGNsYXNzOl8uUCgieXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0IixiKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9Pnt2YXIgZD1hKCk7ZD1kLm9uQ2xpY2tDb21tYW5kP18uUkQoZC5vbkNsaWNrQ29tbWFuZCk6ZC5jb250ZW50RGVzY3JpcHRpb24/Xy5hUShfLldMKGQuY29udGVudERlc2NyaXB0aW9uKSk6dm9pZCAwO3JldHVybiBkfSxhcmlhTGFiZWw6KCk9PmEoKS5jb250ZW50RGVzY3JpcHRpb259LF8uSyhfLk8se0E6KCk9PmEoKS50aHVtYm5haWwsdGhlbjpkPT5fLksoXy5qRix7ZGF0YTpkLAphbHQ6IiIsY2xhc3NOYW1lOiJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJbWFnZSJ9KSxXOigpPT5fLksoXy5PLHtBOigpPT5hKCkuaWNvbix0aGVuOmQ9Pl8uSyhfLk1ELHtpY29uOigpPT5kKCkuaWNvblR5cGUsY2xhc3NOYW1lOiJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJY29uIn0pfSl9KSkpfSwiU2IiKTtfLmpRPV8uTCgoe2RhdGE6YSxBZjpifSk9Pnt2YXIgYz0oKT0+Inl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlQWN0aW9uQnV0dG9uIjtyZXR1cm4gXy5LKCJyZWVsLWFjdGlvbi1iYXItdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QiLHt5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZTooKT0+ITAseXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wOigpPT4hMX0pfSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uVmlld01vZGVsc30se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5VRix7Y2xhc3NOYW1lOmMsZGF0YTpkLGJ1dHRvbk92ZXJyaWRlczpifSksbGlrZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5lUSx7Y2xhc3NOYW1lOmMsZGF0YTpkLEFmOmJ9KSxkaXNsaWtlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLmNRLHtjbGFzc05hbWU6YywKZGF0YTpkLEFmOmJ9KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uWkYse2NsYXNzTmFtZTpjLGRhdGE6ZCx3aTpifSkscGl2b3RCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uaVEse2NsYXNzTmFtZTpjLGRhdGE6ZH0pfSkpfSwiVGIiKTt2YXIgVGlhO18ua1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJzNjQ5aiIpO3JldHVybiBfLm1IfTtUaWE9Xy5jRCgoKT0+Xy5rUSgpLCJwbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInBsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWwiLCJzNjQ5aiIsXy5rUSl9KTt2YXIgVWlhO18ubFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ1U3hkbmIiKTtyZXR1cm4gXy5mSH07VWlhPV8uY0QoKCk9Pl8ubFEoKSwicmVlbENhcm91c2VsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInJlZWxDYXJvdXNlbFZpZXdNb2RlbCIsInVTeGRuYiIsXy5sUSl9KTt2YXIgVmlhO18ubVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJXZmY2QmQiKTtyZXR1cm4gXy5lSH07VmlhPV8uY0QoKCk9Pl8ubVEoKSwicmVlbENoYW5uZWxCYXJWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbENoYW5uZWxCYXJWaWV3TW9kZWwiLCJXZmY2QmQiLF8ubVEpfSk7dmFyIFdpYTtfLm5RPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVTNtenNkIik7cmV0dXJuIF8ubEh9O1dpYT1fLmNEKCgpPT5fLm5RKCksInJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbCIsIlUzbXpzZCIsXy5uUSl9KTt2YXIgWGlhO18ub1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ5UDBKQmQiKTtyZXR1cm4gXy5iRn07WGlhPV8uY0QoKCk9Pl8ub1EoKSwic2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigic2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWwiLCJ5UDBKQmQiLF8ub1EpfSk7dmFyIFlpYTtfLnBRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiUnFhSnNkIik7cmV0dXJuIF8uWEp9O1lpYT1fLmNEKCgpPT5fLnBRKCksInNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWwiLCJScWFKc2QiLF8ucFEpfSk7dmFyIFppYTtfLnFRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRTNIZWJjIik7cmV0dXJuIF8uYUZ9O1ppYT1fLmNEKCgpPT5fLnFRKCksInNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigic2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbCIsIkUzSGViYyIsXy5xUSl9KTtfLnJRPV8uTCgoe2RhdGE6YX0pPT5fLksoInl0LXJlZWwtbWV0YXBhbmVsLXZpZXctbW9kZWwiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdCJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZXRhZGF0YUl0ZW1zfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhfLmFHLHtkYXRhOmJ9KSkscGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFRpYSx7ZGF0YTpifSkpLHByb2R1Y3RTdGlja2VyVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoXy5nUSx7ZGF0YTooKT0+YigpLnN0aWNrZXJ9KSkscmVlbENhcm91c2VsVmlld01vZGVsOih7ZGF0YTpifSk9PgpfLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFVpYSx7ZGF0YTpifSkpLHJlZWxDaGFubmVsQmFyVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVmlhLHtkYXRhOmJ9KSkscmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFdpYSx7ZGF0YTpifSkpLHJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoU2lhLHtkYXRhOmJ9KSksc2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LApfLksoWGlhLHtkYXRhOmJ9KSksc2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoWWlhLHtkYXRhOmJ9KSksc2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFppYSx7ZGF0YTpifSkpLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKF8uWkYse2RhdGE6Yn0pKX0pKSwiVWIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5zUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImZLRThxZCIpO3JldHVybiBfLm9EfTtfLiRpYT1fLmNEKCgpPT5fLnNRKCksImRpYWxvZ1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkaWFsb2dWaWV3TW9kZWwiLCJmS0U4cWQiLF8uc1EpfSk7Xy50UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlJaZWtKIik7cmV0dXJuIF8uU0N9O18uYWphPV8uY0QoKCk9Pl8udFEoKSwic21hcnRpbWF0aW9ucyIpO18uWXQoXy5KRCxhPT57YS5KKCJzbWFydGltYXRpb25zIiwiUlpla0oiLF8udFEpfSk7Xy51UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInNET1RHZSIpO3JldHVybiBfLm5EfTtfLmJqYT1fLmNEKCgpPT5fLnVRKCksInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIiwic0RPVEdlIixfLnVRKX0pO18udlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJlY3VQQWMiKTtyZXR1cm4gXy5tRH07Xy5jamE9Xy5jRCgoKT0+Xy52USgpLCJwbGF5ZXJPdmVybGF5SW50ZXJhY3Rpb24iKTtfLll0KF8uSkQsYT0+e2EuSigicGxheWVyT3ZlcmxheUludGVyYWN0aW9uIiwiZWN1UEFjIixfLnZRKX0pO18ud1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGUWRJSmUiKTtyZXR1cm4gXy5sRH07Xy5kamE9Xy5jRCgoKT0+Xy53USgpLCJzdGlja2Vyc0xheWVyIik7Xy5ZdChfLkpELGE9PnthLkooInN0aWNrZXJzTGF5ZXIiLCJGUWRJSmUiLF8ud1EpfSk7Xy54UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm43ZW8yIik7cmV0dXJuIF8ua0R9O18uZWphPV8uY0QoKCk9Pl8ueFEoKSwiaW50ZXJzdGl0aWFsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImludGVyc3RpdGlhbFZpZXdNb2RlbCIsIm43ZW8yIixfLnhRKX0pO18ueVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJOdWlsdWUiKTtyZXR1cm4gXy5qRH07Xy5mamE9Xy5jRCgoKT0+Xy55USgpLCJ2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIiKTtfLll0KF8uSkQsYT0+e2EuSigidmlkZW9XaXRoQ29udGV4dFJlbmRlcmVyIiwiTnVpbHVlIixfLnlRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFRPV8uTCgoe09vOmEsUnA6YixjaGlsZHJlbjpjLFBuOmQsZGlzYWJsZUFuaW1hdGlvbjplfSk9Pnt2YXIgZj0oKT0+IWU/LigpO3JldHVybiBfLksoInl0LWFuaW1hdGVkLWFjdGlvbiIse2NsYXNzOl8uUCgieXRBbmltYXRlZEFjdGlvbkhvc3QiLGQpfSxfLksoImRpdiIse2NsYXNzOiJ5dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5kIn0sXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSyh6USx7UG46Inl0QW5pbWF0ZWRBY3Rpb25CYWNrZ3JvdW5kQ29udGFpbmVyIix5eToieXRBbmltYXRlZEFjdGlvbkJhY2tncm91bmQiLEVjOigpPT4oe2FuaW1hdGlvblJlZjphPy4oKSxhbmltYXRpb25Db25maWc6e25hbWU6ImFuaW1hdGVkLWFjdGlvbnMtYmFja2dyb3VuZCIsYXV0b3BsYXk6ITEsbG9vcDohMSxwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX2NvbnRhaW5lcl8ke18ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpPz8KITE/ImRhcmsiOiJsaWdodCJ9X3Y1Lmpzb25gfX0pfSl9KSxjKSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKHpRLHtFYzooKT0+KHthbmltYXRpb25SZWY6Yj8uKCksYW5pbWF0aW9uQ29uZmlnOntuYW1lOiJhbmltYXRlZC1hY3Rpb25zLWZvcmVncm91bmQiLGF1dG9wbGF5OiExLGxvb3A6ITEscGF0aDpgaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvbG90dGllL3N1YnNjcmliZV9hY3Rpb24vc3Vic2NyaWJlX2FjdGlvbl9zcGFya2xlc18ke18ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpPz8hMT8iZGFyayI6ImxpZ2h0In1fdjQuanNvbmB9fSl9KX0pKX0sIlZiIik7Xy5BUS5pZG9tQ29tcGF0PSEwOwp2YXIgelE9Xy5MKCh7UG46YSx5eTpiLEVjOmN9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0QW5pbWF0ZWRBY3Rpb25Mb3R0aWUiLGEpLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5jTSx7Y2xhc3NOYW1lOmIsZGF0YTpjLGFuaW1hdGlvbk5hbWU6KCk9PmMoKS5hbmltYXRpb25Db25maWcubmFtZX0pKSwiV2IiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5CUT1mdW5jdGlvbigpe3JldHVybntsb3R0aWVFbDp2b2lkIDB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5DUT1mdW5jdGlvbihhLGIpe18ubkUoKCk9Pnt2YXIgYz1hKCk7Xy5FQSgoKT0+dm9pZCBiKGMpKX0sImNLUjlzZiIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGdqYSxEUSxFUSxGUSxoamEsaWphLGpqYSxHUSxIUSxramEsSVEsbGphLEpRLEtRLExRLE1RLE5RLE9RLG1qYSxQUSxRUSxSUSxuamEsU1Esb2phLFRRLFVRLHBqYSxWUSxXUSxYUSxaUSxxamEscmphLCRRLGFSLHNqYSx0amEsdWphLGJSLGNSLHZqYSx3amEseGphLGhSLGZSLG1SLG5SLG9SLHBSLGdSLHRSLHVSLGtSLHZSLGxSLHpqYSxBamEselIsQVIsQlIsRWphLERSLEhSLEZqYSxHamEsSGphLElqYSxJUixKUixKamEsTFIsTGphLE1qYSxNUixRamEsUGphLFJqYSxPamEsTlIsTmphLFBSLE9SLFVqYSxXamEsUlIsWGphLFNSLGRTLGVTLGZTLGdTLGRrYSxpa2EsaVMsa2thLGpTLGtTLG9rYSxwUyxxa2EscmthLHFTLHNrYSx0a2EsclMsc1MsdFMsdVMsd1MseFMsdlMseVMselMsQVMsQlMsRVMsRlMsQ1MsR1MsemthLEpTLEhTLENrYSxMUyxNUyxOUyxQUyxJUyxGa2EsU1MsR2thLFVTLFdTLFhTLEhrYSxZUyxaUywkUyxjVCxiVCxJa2EsZFQsSmthLEtrYSxMa2EsTWthLGdULApmVCxoVCxrVCxsVCxOa2EsbVQsalQsaVQsblQsb1QscFQsT2thLHJULFBrYSxRa2EsdFQsUmthLHZULFNrYSxUa2Esc1QsVWthLFZrYSxXa2EsWGthLFlrYSx4VCx1VCxxVCx3VCx5VCx6VCxBVCxCVCxDVCxEVCwka2EsRVQsSFQsSVQsRlQsY2xhLGJsYSxKVCxLVCxPVCxQVCxlbGEsUVQsVFQsUlQsZmxhLGhsYSxnbGEsaWxhLFdULFhULGpsYSxaVCxrbGEsYVUsYlUsY1UsbGxhLGhVLG5sYSxvbGEsaVUsalUsbFUsbVUsblUsb1UscFUscGxhLHFVLHFsYSxyVSxybGEsc1UsdVUsc2xhLHVsYSx3VSxJVSx4VSxLVSxKVSx2bGEsd2xhLHhsYSx6bGEsTFUseWxhLE9VLE1VLEJsYSxDbGEsRGxhLFBVLEVsYSxGbGEsR2xhLEhsYSxJbGEsSmxhLEtsYSxMbGEsTWxhLE5sYSxRVSxSVSxTVSxVVSxQbGEsWFUsWVUsUWxhLFJsYSxaVSxTbGEsJFUsVWxhLGFWLFRsYTtnamE9ZnVuY3Rpb24oKXtyZXR1cm4hIV8uWk8oKX07CkRRPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoYSxiKSxjKX07RVE9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4gbnVsbDt2YXIgYz1iP1N0cmluZyhiKS50b1VwcGVyQ2FzZSgpOm51bGw7cmV0dXJuIF8uZ3coYSxmdW5jdGlvbihkKXtyZXR1cm4oIWN8fGQubm9kZU5hbWU9PWMpJiYhMH0sITApfTtGUT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLmxlZnQ9YTt0aGlzLnRvcD1iO3RoaXMud2lkdGg9Yzt0aGlzLmhlaWdodD1kfTtoamE9ZnVuY3Rpb24oYSxiKXtiP18uU3QoYSwieXRQbGF5ZXJDb250cm9sc0NvbnRhaW5lclJlbmRlcmVkIik6Xy5UdChhLCJ5dFBsYXllckNvbnRyb2xzQ29udGFpbmVyUmVuZGVyZWQiKX07CmlqYT1mdW5jdGlvbigpe18uVmkoKCk9PntpZighXy5CcSgiZnRsIikpe3ZhciBhPV8ucG8oKTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntzZXRUaW1lb3V0KCgpPT57YSE9PV8ucG8oKXx8Xy5CcSgiZnRsIil8fF8uQXEoImZ0bCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9fSkoKX07amphPWZ1bmN0aW9uKCl7aWYoXy5YeigpKXt2YXIgYT1fLkdoKCJwZnAtbWF3LXBsYXllciIpO2lmKGEpcmV0dXJuIG5ldyBfLndNKGEpfX07R1E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2woKDAsXy5TYWEpKCksYSl9OwpIUT1mdW5jdGlvbigpe2lmKF8ueCgiZW5hYmxlX2F1dG9tb3RpdmVfZm9ybV9mYWN0b3JfY2hlY2siKSlyZXR1cm4gXy53KCJJTk5FUlRVQkVfQ09OVEVYVCIse30pLmNsaWVudD8uY2xpZW50Rm9ybUZhY3Rvcj09PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIjt2YXIgYT1fLncoIklOTkVSVFVCRV9DT05URVhUIix7fSk7cmV0dXJuIGEuY2xpZW50Py5vc05hbWUmJmEuY2xpZW50Lm9zTmFtZT09PSJBbmRyb2lkIEF1dG9tb3RpdmUifTtramE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLmVudGl0aWVzLCJkaXNtaXNzU3RhdGUiLGIpfTtJUT1mdW5jdGlvbigpe3JldHVybiBfLlVNKCk9PT0iaGFzaHRhZyJ9O2xqYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxvZ29FbnRpdHkiLGIpfTsKSlE9ZnVuY3Rpb24oKXtyZXR1cm4gYT0+e3ZhciBiPV8uTEIoITEpO3RyeXtsZXQgYz1hLmNoaWxkcmVuO18uVUE/Yz9fLmdOKF8uSyhfLnNPLGEsYykpOl8uZ04oXy5LKF8uc08sYSkpOl8uSXAobmV3IF8uWGooImtldG9Ub0MzIGNhbGxlZCBvdXRzaWRlIG9mIGEgcGF0Y2giLHt0YWdOYW1lOl8uc08uWmN9KSl9ZmluYWxseXtfLkxCKGIpfX19OwpLUT1mdW5jdGlvbihhLGIpe2lmKGEucmVxdWVzdEZ1bGxzY3JlZW4pYT1hLnJlcXVlc3RGdWxsc2NyZWVuKGIpO2Vsc2UgaWYoYS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbilhPWEud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKGEubW96UmVxdWVzdEZ1bGxTY3JlZW4pYT1hLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihhLm1zUmVxdWVzdEZ1bGxzY3JlZW4pYT1hLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKGEud2Via2l0RW50ZXJGdWxsc2NyZWVuKWE9YS53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiSmQiKSk7cmV0dXJuIGEgaW5zdGFuY2VvZiBQcm9taXNlP2E6UHJvbWlzZS5yZXNvbHZlKCl9OwpMUT1mdW5jdGlvbigpe3JldHVybiEhXy5JTyhbImZ1bGxzY3JlZW5FbmFibGVkIiwid2Via2l0RnVsbHNjcmVlbkVuYWJsZWQiLCJtb3pGdWxsU2NyZWVuRW5hYmxlZCIsIm1zRnVsbHNjcmVlbkVuYWJsZWQiXSxkb2N1bWVudCl9O01RPWZ1bmN0aW9uKGEpe3ZhciBiO0xRKCk/Xy5aTygpPT1hJiYoYj1kb2N1bWVudCk6Yj1hO2lmKGImJihhPV8uSU8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxiKSkpe2EuY2FsbChiKWluc3RhbmNlb2YgUHJvbWlzZXx8UHJvbWlzZS5yZXNvbHZlKCk7cmV0dXJufVByb21pc2UucmVzb2x2ZSgpfTtOUT1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKX07T1E9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9TlEoYSkpPyEhYS5kaXNwbGF5TmFtZTohMX07Cm1qYT1mdW5jdGlvbihhKXtyZXR1cm4gXy52YihhLGI9PmIubGFuZ3VhZ2VDb2RlPT09ImVuIil9O1BRPWZ1bmN0aW9uKGEpe2lmKCFhLmdldE9wdGlvbnMoImNhcHRpb25zIikpcmV0dXJuIiI7YT1fLiRPKGEpO2lmKCFhLmxlbmd0aClyZXR1cm4iIjt2YXIgYj1tamEoYSk7cmV0dXJuIGI/Yi5kaXNwbGF5TmFtZXx8IiI6YVswXS5kaXNwbGF5TmFtZXx8IiJ9OwpRUT1mdW5jdGlvbihhLGIsYyl7aWYoT1EoYSkpXy54KCJtd2ViX2VuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZSIpP2Euc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt1c2VySW5pdGlhdGVkOmN9KTphLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7fSksYS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLHt9KTtlbHNle2xldCBkPV8udmIoXy4kTyhhKSxlPT5lLmRpc3BsYXlOYW1lPT09Yik7YS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLGQpO18ueCgibXdlYl9lbmFibGVfcGxheWVyX2NhcHRpb25zX3BlcnNpc3RlbmNlX3N0YXRlX21hY2hpbmUiKSYmYS5zZXRPcHRpb24oImNhcHRpb25zIiwic3RpY2t5TG9hZGluZyIse3VzZXJJbml0aWF0ZWQ6Y30pfX07UlE9ZnVuY3Rpb24oKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZ1bGxzY3JlZW5yZXF1ZXN0IikpfTsKbmphPWZ1bmN0aW9uKGEpe3ZhciBbYl09KDAsXy51aWEpKGEpLFtjXT0oMCxfLnZpYSkoYSk7cmV0dXJuW18uTigoKT0+e3ZhciBkPXsuLi5iKCl9O2Qubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmKGQubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbj17Li4uYygpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b259KTtyZXR1cm4gZH0sdm9pZCAwLCJ1dlM4N2IiKV19O1NRPWZ1bmN0aW9uKGEpe01RKGF8fGRvY3VtZW50LmJvZHkpfTsKb2phPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW8iKTthJiYoUlEoKSxLUShhKS5jYXRjaChiPT57aWYoYj8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKV8uV2koYik7ZWxzZSB0aHJvdyBiO30pKX07VFE9ZnVuY3Rpb24oYSxiKXtfLlpPKCk/KFJRKCksU1EoYikpOkxRKCk/KFJRKCksYj1LUShifHxkb2N1bWVudC5ib2R5LHtuYXZpZ2F0aW9uVUk6ImhpZGUifSksYT8uZHMmJmI/LmNhdGNoKCgpPT5udWxsKSk6b2phKCl9OwpVUT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gMDt2YXIgYj1hLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCksYz1hLmdldFZpZGVvRGF0YSgpO3JldHVybiBjJiZjLmlzTGl2ZT8oYT1hLmdldFByb2dyZXNzU3RhdGUoYiksYS5zZWVrYWJsZUVuZC1hLnNlZWthYmxlU3RhcnQpOmEuZ2V0RHVyYXRpb24oYil9O3BqYT1mdW5jdGlvbihhLGIsYyl7YXx8Xy5PRSgoKT0+e2I/LnByZXZpb3VzVmlkZW8oYyl9KX07VlE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRQbGF5ZXJTdGF0ZSgpO2lmKGI9PT0yKXJldHVybiEwO2lmKGIhPT0zKXJldHVybiExO2E9YS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO3JldHVybiFhLmlzQnVmZmVyaW5nJiYhYS5pc1Vuc3RhcnRlZCYmIWEuaXNQbGF5aW5nJiZhLmlzUGF1c2VkfTsKV1E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRQbGF5ZXJTdGF0ZSgpO2lmKGI9PT0xKXJldHVybiBhLnBhdXNlVmlkZW8oKSwiUExBWUVSX1BBVVNFIjtpZihiPT09LTEpYS5wbGF5VmlkZW8oKTtlbHNlIGlmKGI9PT0yfHxWUShhKSlyZXR1cm4gYS5wbGF5VmlkZW8oKSwiUExBWUVSX1BMQVkifTtYUT1mdW5jdGlvbihhKXthPWEmJmEuZ2V0UGxheWxpc3RJbmRleCYmYS5nZXRQbGF5bGlzdEluZGV4KCk+PTA7cmV0dXJuISFfLlpiKHdpbmRvdy5sb2NhdGlvbi5ocmVmLCJsaXN0Iil8fCEhYX07WlE9ZnVuY3Rpb24oYSl7WVE9YX07cWphPWZ1bmN0aW9uKGEpe3ZhciBiPVlRO2I/KGE9YS50aW1lU3RhbXAsYj1iLnRpbWVTdGFtcCxiPWlzTmFOKGEpfHxpc05hTihiKT8hMTpNYXRoLmFicyhhLWIpPD1fLnlpYSk6Yj0hMTtyZXR1cm4gYn07CnJqYT1mdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtpZihiKXt2YXIgYz0hYi5wYXVzZWQ7KHFqYShhKXx8YykmJnNldFRpbWVvdXQoKCk9PntiLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhdXNlIixaUSk7ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09InZpc2libGUiJiZfLlZNKCl9LF8ueGlhKX19OyRRPWZ1bmN0aW9uKCl7Xy54KCJtd2ViX25ld19mdWxsc2NyZWVuIik/U1EoXy5FSik6Xy5FSiYmKE1RKF8uRUopLF8ueCgibXdlYl9uZXdfZnVsbHNjcmVlbl9yZXNpemUiKXx8Xy5YTSgicmVzaXplIikpfTsKYVI9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpO2EmJihfLmZyJiZfLngoIm13ZWJfaW9zX2Z1bGxzY3JlZW5fcGxheWJhY2tfdHJhbnNpdGlvbiIpJiYoYS5hZGRFdmVudExpc3RlbmVyKCJwYXVzZSIsWlEpLF8uTk0oYSwid2Via2l0ZW5kZnVsbHNjcmVlbiIscmphKSksXy5YTSgiZnVsbHNjcmVlbnJlcXVlc3QiKSxLUShhKS5jYXRjaChiPT57aWYoYj8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKV8uV2koYik7ZWxzZSB0aHJvdyBiO30pKX07c2phPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LnNjcmVlbi5vcmllbnRhdGlvbjtpZihhPy5sb2NrJiYhXy5NRSgpJiYhXy5URSgpKXRyeXthLmxvY2soImxhbmRzY2FwZSIpLmNhdGNoKCgpPT57fSl9Y2F0Y2goYil7fX07CnRqYT1mdW5jdGlvbihhKXtfLlhNKCJmdWxsc2NyZWVucmVxdWVzdCIpO3ZhciBiPUtRKF8uRUose25hdmlnYXRpb25VSToiaGlkZSJ9KTthfHxzamEoKTtfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW5fcmVzaXplIil8fF8uWE0oInJlc2l6ZSIpO3JldHVybiBifTsKdWphPWZ1bmN0aW9uKGEpe2RvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIik9PT0idHJ1ZSImJmRvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIik7aWYoXy54KCJtd2ViX25ld19mdWxsc2NyZWVuIikpVFEoYSxfLkVKKTtlbHNle3ZhciBiPV8uclAoKSxjO18uZnI/Yz1hUigpOkxRKCk/Yj8kUSgpOmM9dGphKGE/LnpJKTpfLngoIm13ZWJfbmF0aXZlX2NvbnRyb2xfaW5fZmF1eF9mdWxsc2NyZWVuX3NoYXJlZCIpP2M9YVIoKTpfLlhNKCJwbGF5ZXItZnVsbHNjcmVlbi10b2dnbGVkIix7aXNDdXJyZW50bHlGdWxsc2NyZWVuOmJ9KTtjPy5jYXRjaChkPT57aWYoZD8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxkPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxkPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKWRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIiwKInRydWUiKSxfLlhNKCJwbGF5ZXItZnVsbHNjcmVlbi10b2dnbGVkIix7aXNDdXJyZW50bHlGdWxsc2NyZWVuOmJ9KX0pO2E/LmRzJiZjPy5jYXRjaCgoKT0+bnVsbCl9fTtiUj1mdW5jdGlvbihhKXtyZXR1cm57bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOmEudGl0bGUsc2VsZWN0aW9uVGV4dDphLnNlbGVjdGlvblRleHQsbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTphLmljb25UeXBlfX1dfSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZCxpc1NlbGVjdGVkOmEuaXNTZWxlY3RlZCxzZWxlY3Rpb25TdHlsZTphLnNlbGVjdGlvblN0eWxlfX19OwpjUj1mdW5jdGlvbihhKXtyZXR1cm57c3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOmEudGl0bGUsbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTphLmljb25UeXBlfX1dfSxzd2l0Y2hlZE9uQnlEZWZhdWx0OmEua2wsYTExeUxhYmVsU3dpdGNoZWRPbjphLkVrLGExMXlMYWJlbFN3aXRjaGVkT2ZmOmEuRGssaXNEaXNhYmxlZDphLmlzRGlzYWJsZWR9fX07dmphPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy5pc0Z1bGxzY3JlZW59O3dqYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5zaG9ydHMubWp9Owp4amE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmxlbmd0aDtzd2l0Y2goYyl7Y2FzZSAwOnJldHVybiIiO2Nhc2UgMTpyZXR1cm4gU3RyaW5nKGJbMF0pO2Nhc2UgMjpyZXR1cm4gYS5ELnJlcGxhY2UoInswfSIsU3RyaW5nKGJbMF0pKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiWzFdKSl9dmFyIGQ9YS5CLnJlcGxhY2UoInswfSIsU3RyaW5nKGJbMF0pKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiWzFdKSk7Zm9yKGxldCBlPTI7ZTxjLTE7KytlKWQ9YS52LnJlcGxhY2UoInswfSIsZCkucmVwbGFjZSgiezF9IixTdHJpbmcoYltlXSkpO3JldHVybiBhLm8ucmVwbGFjZSgiezB9IixkKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiW2MtMV0pKX07CmhSPWZ1bmN0aW9uKCl7dGhpcy5LPW51bGw7dGhpcy5WZD10aGlzLk1hPXRoaXMuUWE9ITE7dGhpcy5aPTQwO3RoaXMubz0xO3RoaXMuaGE9MDt0aGlzLmo9Mzt0aGlzLnlhPXRoaXMuQj0wO3RoaXMuRWI9ITE7dGhpcy5nYT10aGlzLk09IiI7dGhpcy5EPWRSLmFvO3RoaXMuVT0iIjt0aGlzLnY9MTt0aGlzLlk9ITE7dGhpcy5JPVtdO3RoaXMuRmE9dGhpcy5mYz0hMTt0aGlzLm9hPTA7aWYoZVIpZlIodGhpcyk7ZWxzZXt0aGlzLks9bnVsbDt2YXIgYT1kUi5ndDtsZXQgZT1bMF07dGhpcy5NPWdSKHRoaXMsYSxlKTt2YXIgYj1lWzBdO2xldCBmPS0xLGg9MDt2YXIgYz0wLGQ9MDtsZXQgaz0tMSxsPWEubGVuZ3RoO2ZvcihsZXQgbT0hMDtlWzBdPGwmJm07ZVswXSsrKXN3aXRjaChhLmNoYXJBdChlWzBdKSl7Y2FzZSAiIyI6Yz4wP2QrKzpoKys7az49MCYmZjwwJiZrKys7YnJlYWs7Y2FzZSAiMCI6aWYoZD4wKXRocm93IEVycm9yKCJWZGAiK2EpO2MrKztrPj0wJiZmPDAmJmsrKzticmVhazsKY2FzZSAiLCI6az4wJiZ0aGlzLkkucHVzaChrKTtrPTA7YnJlYWs7Y2FzZSAiLiI6aWYoZj49MCl0aHJvdyBFcnJvcigiV2RgIithKTtmPWgrYytkO2JyZWFrO2Nhc2UgIkUiOmlmKHRoaXMuRmEpdGhyb3cgRXJyb3IoIlhkYCIrYSk7dGhpcy5GYT0hMDt0aGlzLnlhPTA7ZVswXSsxPGwmJmEuY2hhckF0KGVbMF0rMSk9PSIrIiYmKGVbMF0rKyx0aGlzLkViPSEwKTtmb3IoO2VbMF0rMTxsJiZhLmNoYXJBdChlWzBdKzEpPT0iMCI7KWVbMF0rKyx0aGlzLnlhKys7aWYoaCtjPDF8fHRoaXMueWE8MSl0aHJvdyBFcnJvcigiWWRgIithKTttPSExO2JyZWFrO2RlZmF1bHQ6ZVswXS0tLG09ITF9Yz09MCYmaD4wJiZmPj0wJiYoYz1mLGM9PTAmJmMrKyxkPWgtYyxoPWMtMSxjPTEpO2lmKGY8MCYmZD4wfHxmPj0wJiYoZjxofHxmPmgrYyl8fGs9PTApdGhyb3cgRXJyb3IoIlpkYCIrYSk7ZD1oK2MrZDt0aGlzLmo9Zj49MD9kLWY6MDtmPj0wJiYodGhpcy5CPWgrYy1mLHRoaXMuQjwwJiYodGhpcy5CPQowKSk7dGhpcy5vPShmPj0wP2Y6ZCktaDt0aGlzLkZhJiYodGhpcy5aPWgrdGhpcy5vLHRoaXMuaj09MCYmdGhpcy5vPT0wJiYodGhpcy5vPTEpKTt0aGlzLkkucHVzaChNYXRoLm1heCgwLGspKTt0aGlzLmZjPWY9PTB8fGY9PWQ7Yj1lWzBdLWI7dGhpcy5nYT1nUih0aGlzLGEsZSk7ZVswXTxhLmxlbmd0aCYmYS5jaGFyQXQoZVswXSk9PSI7Ij8oZVswXSsrLHRoaXMudiE9MSYmKHRoaXMuWT0hMCksdGhpcy5EPWdSKHRoaXMsYSxlKSxlWzBdKz1iLHRoaXMuVT1nUih0aGlzLGEsZSkpOih0aGlzLkQrPXRoaXMuTSx0aGlzLlUrPXRoaXMuZ2EpfX07CmZSPWZ1bmN0aW9uKGEpe3ZhciBiPXtub3RhdGlvbjoic3RhbmRhcmQiLG1pbmltdW1JbnRlZ2VyRGlnaXRzOk1hdGgubWluKDIxLE1hdGgubWF4KDEsYS5vKSl9O2EuRWImJihiLnNpZ25EaXNwbGF5PSJhbHdheXMiKTthLlFhPyhiLm1pbmltdW1TaWduaWZpY2FudERpZ2l0cz0xLGIubWF4aW11bVNpZ25pZmljYW50RGlnaXRzPU1hdGgubWF4KDEsTWF0aC5taW4oMjEsYS5oYSkpKTphLk1hJiYoYi5taW5pbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5tYXgoMCxhLkIpLGIubWF4aW11bUZyYWN0aW9uRGlnaXRzPU1hdGgubWluKDIwLE1hdGgubWF4KDAsYS5qKSkpO2Iuc3R5bGU9ImRlY2ltYWwiO3RyeXtsZXQgYzsoYz0iZW4tVVMiLnJlcGxhY2UoIl8iLCItIikpJiZjIGluIGlSJiYoYi5udW1iZXJpbmdTeXN0ZW09aVJbY10pO2EuSz1uZXcgSW50bC5OdW1iZXJGb3JtYXQoYyxiKX1jYXRjaChjKXt0aHJvdyBhLks9bnVsbCxFcnJvcigiUmRgIitjKTt9alI9YS5WZD1hLlFhPWEuTWE9ITF9OwptUj1mdW5jdGlvbihhLGIpe3ZhciBjPWtSKGIsYS5qKTthLmhhPjAmJihjPWxSKGMsYS5oYSxhLmopKTtjPU1hdGgucm91bmQoYyk7aWYoaXNGaW5pdGUoYykpe3ZhciBkPU1hdGguZmxvb3Ioa1IoYywtYS5qKSk7Yz1NYXRoLmZsb29yKGMta1IoZCxhLmopKTtpZihjPDB8fGM+PWtSKDEsYS5qKSlkPU1hdGgucm91bmQoYiksYz0wfWVsc2UgZD1iLGM9MDtyZXR1cm57aW50VmFsdWU6ZCxodzpjfX07Cm5SPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEuQj5hLmopdGhyb3cgRXJyb3IoIlNkIik7ZHx8KGQ9W10pO2I9bVIoYSxiKTt2YXIgZT1iLmludFZhbHVlLGY9Yi5odyxoPWEuQj4wfHxmPjB8fCExO2I9YS5CO2gmJihiPWEuQik7Zm9yKHZhciBrPSIiLGw9ZTtsPjFFMjA7KWs9IjAiK2ssbD1NYXRoLnJvdW5kKGtSKGwsLTEpKTtrPWwrazt2YXIgbT1kUi5WbjtsPWRSLkJrLmNvZGVQb2ludEF0KDApO3ZhciBuPWsubGVuZ3RoLHA9MDtpZihlPjB8fGM+MCl7Zm9yKGU9bjtlPGM7ZSsrKWQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsKSk7aWYoYS5JLmxlbmd0aD49Milmb3IoYz0xO2M8YS5JLmxlbmd0aDtjKyspcCs9YS5JW2NdO2M9bi1wO2lmKGM+MCl7ZT1hLkk7cD1uPTA7dmFyIHI9ZFIucmssdD1rLmxlbmd0aDtmb3IobGV0IHo9MDt6PHQ7eisrKWlmKGQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihrLmNoYXJBdCh6KSkpKSx0LXo+MSl7dmFyIHY9ZVtwXTtpZih6PApjKXtsZXQgRT1jLXo7KHY9PT0xfHx2PjAmJkUldj09PTEpJiZkLnB1c2gocil9ZWxzZSBwPGUubGVuZ3RoJiYoej09PWM/cCs9MTp2PT09ei1jLW4rMSYmKGQucHVzaChyKSxuKz12LHArPTEpKX19ZWxzZXtjPWs7az1hLkk7ZT1kUi5yazt2PWMubGVuZ3RoO3I9W107Zm9yKG49ay5sZW5ndGgtMTtuPj0wJiZ2PjA7bi0tKXtwPWtbbl07Zm9yKHQ9MDt0PHAmJnYtdC0xPj0wO3QrKylyLnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQobCtOdW1iZXIoYy5jaGFyQXQodi10LTEpKSkpO3YtPXA7dj4wJiZyLnB1c2goZSl9ZC5wdXNoLmFwcGx5KGQsci5yZXZlcnNlKCkpfX1lbHNlIGh8fGQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsKSk7KGEuZmN8fGgpJiZkLnB1c2gobSk7Zj1TdHJpbmcoZik7aD1mLnNwbGl0KCJlKyIpO2gubGVuZ3RoPT0yJiYoZj1TdHJpbmcobFIocGFyc2VGbG9hdChoWzBdKSxhLmhhLDEpKSxmPWYucmVwbGFjZSgiLiIsIiIpLGYrPSIwIi5yZXBlYXQocGFyc2VJbnQoaFsxXSwKMTApLWYubGVuZ3RoKzEpKTthLmorMT5mLmxlbmd0aCYmKGY9IjEiKyIwIi5yZXBlYXQoYS5qLWYubGVuZ3RoKStmKTtmb3IoYT1mLmxlbmd0aDtmLmNoYXJBdChhLTEpPT0iMCImJmE+YisxOylhLS07Zm9yKGI9MTtiPGE7YisrKWQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihmLmNoYXJBdChiKSkpKX07b1I9ZnVuY3Rpb24oYSxiLGMpe2MucHVzaChkUi5Zbik7YjwwPyhiPS1iLGMucHVzaChkUi5hbykpOmEuRWImJmMucHVzaChkUi5XdCk7Yj0iIitiO3ZhciBkPWRSLkJrO2ZvcihsZXQgZT1iLmxlbmd0aDtlPGEueWE7ZSsrKWMucHVzaChkKTthPWQuY29kZVBvaW50QXQoMCkteWphO2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspYy5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGErYi5jb2RlUG9pbnRBdChkKSkpfTsKcFI9ZnVuY3Rpb24oYSl7YT1hLmNvZGVQb2ludEF0KDApO2lmKDQ4PD1hJiZhPDU4KXJldHVybiBhLTQ4O3ZhciBiPWRSLkJrLmNvZGVQb2ludEF0KDApO3JldHVybiBiPD1hJiZhPGIrMTA/YS1iOi0xfTsKZ1I9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0iIixlPSExLGY9Yi5sZW5ndGg7Y1swXTxmO2NbMF0rKyl7dmFyIGg9Yi5jaGFyQXQoY1swXSk7aWYoaD09IiciKWNbMF0rMTxmJiZiLmNoYXJBdChjWzBdKzEpPT0iJyI/KGNbMF0rKyxkKz0iJyIpOmU9IWU7ZWxzZSBpZihlKWQrPWg7ZWxzZSBzd2l0Y2goaCl7Y2FzZSAiIyI6Y2FzZSAiMCI6Y2FzZSAiLCI6Y2FzZSAiLiI6Y2FzZSAiOyI6cmV0dXJuIGQ7Y2FzZSAiXHUwMGE0IjpjWzBdKzE8ZiYmYi5jaGFyQXQoY1swXSsxKT09Ilx1MDBhNCI/KGNbMF0rKyxkKz1kUi5Xbik6KGg9ZFIuV24sZCs9aCBpbiBxUj9xUltoXVsxXTpoKTticmVhaztjYXNlICIlIjppZighYS5ZJiZhLnYhPTEpdGhyb3cgRXJyb3IoIlRkIik7aWYoYS5ZJiZhLnYhPTEwMCl0aHJvdyBFcnJvcigiVWQiKTthLnY9MTAwO2EuWT0hMTtkKz1kUi5qbzticmVhaztjYXNlICJcdTIwMzAiOmlmKCFhLlkmJmEudiE9MSl0aHJvdyBFcnJvcigiVGQiKTtpZihhLlkmJgphLnYhPTFFMyl0aHJvdyBFcnJvcigiVWQiKTthLnY9MUUzO2EuWT0hMTtkKz1kUi5rbzticmVhaztkZWZhdWx0OmQrPWh9fXJldHVybiBkfTt0Uj1mdW5jdGlvbihhLGIpe2E9YS5vYT09MT9yUi5TbjpyUi5WczthPT1udWxsJiYoYT1yUi5Tbik7aWYoYjwzKXJldHVybiBzUjtiPU1hdGgubWluKDE0LGIpO3ZhciBjPWFba1IoMSxiKV07Zm9yKC0tYjshYyYmYj49MzspYz1hW2tSKDEsYildLGItLTtpZighYylyZXR1cm4gc1I7Yz1jLm90aGVyO3ZhciBkPWE9IiIsZT1jLmluZGV4T2YoIjsiKTtlPj0wJiYoYz1jLnN1YnN0cmluZygwLGUpLGU9Yy5zdWJzdHJpbmcoZSsxKSkmJihkPS8oW14wXSopKDArKSguKikvLmV4ZWMoZSksYT1kWzFdLGQ9ZFszXSk7cmV0dXJuIGMmJmMhPSIwIj8oYz0vKFteMF0qKSgwKykoLiopLy5leGVjKGMpKT97cGw6YisxLShjWzJdLmxlbmd0aC0xKSx3bTphLHhtOmQscHJlZml4OmNbMV0sc3VmZml4OmNbM119OnNSOnNSfTsKdVI9ZnVuY3Rpb24oYSl7aWYoIWlzRmluaXRlKGEpKXJldHVybiBhPjA/YTowO2Zvcih2YXIgYj0wOyhhLz0xMCk+PTE7KWIrKztyZXR1cm4gYn07a1I9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWlzRmluaXRlKGEpfHxiPT0wKXJldHVybiBhO2E9U3RyaW5nKGEpLnNwbGl0KCJlIik7cmV0dXJuIHBhcnNlRmxvYXQoYVswXSsiZSIrKHBhcnNlSW50KGFbMV18fDAsMTApK2IpKX07dlI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSYmaXNGaW5pdGUoYSk/a1IoTWF0aC5yb3VuZChrUihhLGIpKSwtYik6YX07bFI9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhKXJldHVybiBhO2I9Yi11UihhKS0xO3JldHVybiBiPC1jP3ZSKGEsLWMpOnZSKGEsYil9O3pqYT1mdW5jdGlvbihhKXtyZXR1cm4gYSUxMD09MSYmYSUxMDAhPTExPyJvbmUiOmElMTA9PTImJmElMTAwIT0xMj8idHdvIjphJTEwPT0zJiZhJTEwMCE9MTM/ImZldyI6Im90aGVyIn07CkFqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWF8MDtpZih2b2lkIDA9PT1iKXtiPU1hdGg7dmFyIGQ9Yi5taW47bGV0IGU9YSsiIixmPWUuaW5kZXhPZigiLiIpO2I9ZC5jYWxsKGIsZj09PS0xPzA6ZS5sZW5ndGgtZi0xLDMpfWQ9TWF0aC5wb3coMTAsYik7YT17RkI6YixmOihhKmR8MCklZH07cmV0dXJuIGM9PTEmJmEuRkI9PTA/Im9uZSI6Im90aGVyIn07elI9ZnVuY3Rpb24oYSl7dGhpcy52PWE7dGhpcy5vPXRoaXMuaj10aGlzLkQ9bnVsbDthPWRSO3ZhciBiPXJSO2lmKHdSIT09YXx8eFIhPT1iKXdSPWEseFI9Yix5Uj1uZXcgaFI7dGhpcy5LPXlSfTsKQVI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtmb3IobGV0IHA9MDtwPGIubGVuZ3RoO3ArKyl7dmFyIGY9dm9pZCAwO3N3aXRjaChiW3BdLnR5cGUpe2Nhc2UgNDplLnB1c2goYltwXS52YWx1ZSk7YnJlYWs7Y2FzZSAzOmY9YltwXS52YWx1ZTt2YXIgaD1hLGs9ZSxsPWNbZl07bD09PXZvaWQgMD9rLnB1c2goIlVuZGVmaW5lZCBwYXJhbWV0ZXIgLSAiK2YpOihoLmoucHVzaChsKSxrLnB1c2goaC5CKGguaikpKTticmVhaztjYXNlIDI6Zj1iW3BdLnZhbHVlO2g9YTtrPWM7bD1kO3ZhciBtPWUsbj1mLnNpO2tbbl09PT12b2lkIDA/bS5wdXNoKCJVbmRlZmluZWQgcGFyYW1ldGVyIC0gIituKToobj1mW2tbbl1dLG49PT12b2lkIDAmJihuPWYub3RoZXIpLEFSKGgsbixrLGwsbSkpO2JyZWFrO2Nhc2UgMDpmPWJbcF0udmFsdWU7QlIoYSxmLGMsQ1IsZCxlKTticmVhaztjYXNlIDE6Zj1iW3BdLnZhbHVlLEJSKGEsZixjLEJqYSxkLGUpfX19OwpCUj1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGg9Yi5zaSxrPWIuR28sbD0rY1toXTtpc05hTihsKT9mLnB1c2goIlVuZGVmaW5lZCBvciBpbnZhbGlkIHBhcmFtZXRlciAtICIraCk6KGs9bC1rLGg9YltjW2hdXSxoPT09dm9pZCAwJiYoZD1kKE1hdGguYWJzKGspKSxoPWJbZF0saD09PXZvaWQgMCYmKGg9Yi5vdGhlcikpLGI9W10sQVIoYSxoLGMsZSxiKSxjPWIuam9pbigiIiksZT9mLnB1c2goYyk6KGE9YS5LLmZvcm1hdChrKSxmLnB1c2goYy5yZXBsYWNlKC8jL2csYSkpKSl9O0VqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuRCxkPWEuQi5iaW5kKGEpO2I9Yi5yZXBsYWNlKENqYSxmdW5jdGlvbigpe2MucHVzaCgiJyIpO3JldHVybiBkKGMpfSk7cmV0dXJuIGI9Yi5yZXBsYWNlKERqYSxmdW5jdGlvbihlLGYpe2MucHVzaChmKTtyZXR1cm4gZChjKX0pfTsKRFI9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPVtdLGQ9W10sZT0vW3t9XS9nO2UubGFzdEluZGV4PTA7Zm9yKHZhciBmO2Y9ZS5leGVjKGEpOyl7bGV0IGg9Zi5pbmRleDtmWzBdPT0ifSI/KGMucG9wKCksYy5sZW5ndGg9PTAmJihmPXt0eXBlOjF9LGYudmFsdWU9YS5zdWJzdHJpbmcoYixoKSxkLnB1c2goZiksYj1oKzEpKTooYy5sZW5ndGg9PTAmJihiPWEuc3Vic3RyaW5nKGIsaCksYiE9IiImJmQucHVzaCh7dHlwZTowLHZhbHVlOmJ9KSxiPWgrMSksYy5wdXNoKCJ7IikpfWE9YS5zdWJzdHJpbmcoYik7YSE9IiImJmQucHVzaCh7dHlwZTowLHZhbHVlOmF9KTtyZXR1cm4gZH07CkhSPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107Yj1EUihiKTtmb3IobGV0IGU9MDtlPGIubGVuZ3RoO2UrKyl7bGV0IGY9e307aWYoMD09YltlXS50eXBlKWYudHlwZT00LGYudmFsdWU9YltlXS52YWx1ZTtlbHNlIGlmKDE9PWJbZV0udHlwZSl7dmFyIGQ9YltlXS52YWx1ZTtzd2l0Y2goRVIudGVzdChkKT8wOkZSLnRlc3QoZCk/MTpHUi50ZXN0KGQpPzI6L15ccypcdytccyovLnRlc3QoZCk/Mzo1KXtjYXNlIDI6Zi50eXBlPTI7Zi52YWx1ZT1GamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDA6Zi50eXBlPTA7Zi52YWx1ZT1HamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDE6Zi50eXBlPTE7Zi52YWx1ZT1IamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDM6Zi50eXBlPTMsZi52YWx1ZT1iW2VdLnZhbHVlfX1jLnB1c2goZil9cmV0dXJuIGN9OwpGamE9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtiPWIucmVwbGFjZShHUixmdW5jdGlvbihmLGgpe2M9aDtyZXR1cm4iIn0pO3ZhciBkPXt9O2Quc2k9YztiPURSKGIpO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7KXtsZXQgZj1iW2VdLnZhbHVlO2UrKztsZXQgaDsxPT1iW2VdLnR5cGUmJihoPUhSKGEsYltlXS52YWx1ZSkpO2RbZi5yZXBsYWNlKC9ccy9nLCIiKV09aDtlKyt9cmV0dXJuIGR9O0dqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiLGQ9MDtiPWIucmVwbGFjZShFUixmdW5jdGlvbihoLGssbCl7Yz1rO2wmJihkPXBhcnNlSW50KGwsMTApKTtyZXR1cm4iIn0pO3ZhciBlPXt9O2Uuc2k9YztlLkdvPWQ7Yj1EUihiKTtmb3IodmFyIGY9MDtmPGIubGVuZ3RoOyl7bGV0IGg9YltmXS52YWx1ZTtmKys7bGV0IGs7MT09YltmXS50eXBlJiYoaz1IUihhLGJbZl0udmFsdWUpKTtlW2gucmVwbGFjZSgvXHMqKD86PSk/KFx3KylccyovLCIkMSIpXT1rO2YrK31yZXR1cm4gZX07CkhqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2I9Yi5yZXBsYWNlKEZSLGZ1bmN0aW9uKGYsaCl7Yz1oO3JldHVybiIifSk7dmFyIGQ9e307ZC5zaT1jO2QuR289MDtiPURSKGIpO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7KXtsZXQgZj1iW2VdLnZhbHVlO2UrKztsZXQgaDsxPT1iW2VdLnR5cGUmJihoPUhSKGEsYltlXS52YWx1ZSkpO2RbZi5yZXBsYWNlKC9ccyooPzo9KT8oXHcrKVxzKi8sIiQxIildPWg7ZSsrfXJldHVybiBkfTtJamE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYil7ZGVmYXVsdDpjYXNlICJ5ZWFycyI6cmV0dXJuIGEuai5ZRUFSO2Nhc2UgIm1vbnRocyI6cmV0dXJuIGEuai5NT05USDtjYXNlICJ3ZWVrcyI6cmV0dXJuIGEuai5XRUVLO2Nhc2UgImRheXMiOnJldHVybiBhLmouREFZO2Nhc2UgImhvdXJzIjpyZXR1cm4gYS5qLkhPVVI7Y2FzZSAibWludXRlcyI6cmV0dXJuIGEuai5NSU5VVEU7Y2FzZSAic2Vjb25kcyI6cmV0dXJuIGEuai5TRUNPTkR9fTsKSVI9ZnVuY3Rpb24oYSxiLGMpe2E9SWphKGEsYyk7cmV0dXJuKGE9YS5MT05HIT12b2lkIDA/YS5MT05HOmEuTkFSUk9XIT12b2lkIDA/YS5OQVJST1c6YS5TSE9SVCk/KG5ldyB6Uigie0RVUkFUSU9OX1ZBTFVFLHBsdXJhbCwiK2ErIn0iKSkuZm9ybWF0KHtEVVJBVElPTl9WQUxVRTpifSk6IiJ9O0pSPWZ1bmN0aW9uKCl7Xy5IeigpO3JldHVybiFfLkN6KDE0MSkmJl8udygiQVVUT05BVl9PRkZfQllfREVGQVVMVCIpPyExOiFfLkN6KDE0MCl9O0pqYT1mdW5jdGlvbigpe2lmKCFLUil7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BsYXllci5za2VsZXRvbiIpO2EmJihfLkRkKGEpLEtSPSEwKX19O0xSPWZ1bmN0aW9uKGEsYixjLGQ9ITEpe2I9bmV3IEtqYShifHxhLGN8fGEpO3JldHVybnt4OmEueCtMamEoYixkKSouMix5OmEueStNamEoYixkKSouMn19O0xqYT1mdW5jdGlvbihhLGI9ITEpe3JldHVybiBiP2EuaiotMTphLmp9OwpNamE9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYj9hLm8qLTE6YS5vfTtNUj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt2YXIgYj1hLmVycm9yU2NyZWVuPy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyPz9hLmVycm9yU2NyZWVuPy55cGNUcmFpbGVyUmVuZGVyZXI7cmV0dXJuIShhLnN0YXR1cyE9PSJPSyImJmEuc3RhdHVzIT09IkxJVkVfU1RSRUFNX09GRkxJTkUiKXx8ISFifTsKUWphPWZ1bmN0aW9uKHtyZW5kZXJlcjphLHN1YnNjcmliZWQ6Yixpc092ZXJsYXk6YyxzdG9wUHJvcGFnYXRpb246ZH0pe3ZhciBlPU5qYShhLGIpO2MmJihlLnN0eWxlPSJvdmVybGF5Iik7YTpzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJDT01QQUNUX0dSQVkiOmNhc2UgIkNPTVBBQ1RfUkVEIjpjPXtzaXplOiJTIn07YnJlYWsgYTtkZWZhdWx0OmM9e3NpemU6Ik0ifX1jPXsuLi5jfTt2YXIgZj1PamEoYSxiKTt2YXIgaD0oaD1iP2Euc3Vic2NyaWJlZEJ1dHRvblRleHQ6YS51bnN1YnNjcmliZWRCdXR0b25UZXh0KT9fLkFGKGgpOnZvaWQgMDtyZXR1cm57Li4uZSwuLi5jLGZvY3VzZWQ6ITEsdG9nZ2xlZDpiLGFjY2Vzc2liaWxpdHlMYWJlbDpmLFdhOmgsb25UYXA6UGphKGEsYixkKX19OwpQamE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9UmphKGEsYik7aWYoZSl7bGV0IGY9e3N1YnNjcmliZUJ1dHRvblJlbmRlcmVyOmF9O18uZEsoZSx7Zm9ybTp7Y3VycmVudERhdGE6Zixzb3VyY2VEYXRhOmYsZXZlbnQ6ZH19KX1jJiZkLnN0b3BQcm9wYWdhdGlvbigpfX07UmphPWZ1bmN0aW9uKGEsYil7aWYoYS5zaWduSW5FbmRwb2ludCYmIV8ueCgid2ViX3N1YnNjcmliZV9zaWduX2luX2VuZHBvaW50X2tpbGxzd2l0Y2giKSlyZXR1cm4gYS5zaWduSW5FbmRwb2ludDtpZihiKXtpZihhLnNlcnZpY2VFbmRwb2ludHMpcmV0dXJuIGEuc2VydmljZUVuZHBvaW50c1sxXTtpZihhLm9uVW5zdWJzY3JpYmVFbmRwb2ludHMpcmV0dXJuIGEub25VbnN1YnNjcmliZUVuZHBvaW50c1swXX1lbHNle2lmKGEuc2VydmljZUVuZHBvaW50cylyZXR1cm4gYS5zZXJ2aWNlRW5kcG9pbnRzWzBdO2lmKGEub25TdWJzY3JpYmVFbmRwb2ludHMpcmV0dXJuIGEub25TdWJzY3JpYmVFbmRwb2ludHNbMF19fTsKT2phPWZ1bmN0aW9uKGEsYil7Yj1iP2EudW5zdWJzY3JpYmVBY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWw6YS5zdWJzY3JpYmVBY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWw7cmV0dXJuIGEubG9uZ1N1YnNjcmliZXJDb3VudFRleHQ/W2IsXy5hTihhLmxvbmdTdWJzY3JpYmVyQ291bnRUZXh0KV0uZmlsdGVyKGM9PmMpLmpvaW4oIiAiKTpifTtOUj1mdW5jdGlvbihhLGIpe3JldHVybiBifHxhPy5pc0NoYW5uZWxEZWxlZ2F0ZT8iZGlzYWJsZWQiOiJhY3RpdmUifTsKTmphPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEuc3R5bGU/LnN0eWxlVHlwZSl7Y2FzZSAiQ09NUEFDVF9HUkFZIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRvbmFsIixzdGF0ZTpOUihhKX07Y2FzZSAiTUVESVVNX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTtjYXNlICJWSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOk5SKGEsITApfTtjYXNlICJPVkVSTEFZIjpyZXR1cm4gYj97c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRvbmFsIixzdGF0ZTpOUihhKX06e3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOk5SKGEpfTtkZWZhdWx0OnJldHVybiBiP3tzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTp7c3R5bGU6Im1vbm8iLHR5cGU6ImZpbGxlZCIsc3RhdGU6TlIoYSl9fX07ClBSPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaG91cnN8fDA7dmFyIGM9YS5taW51dGVzfHwwLGQ9YS5zZWNvbmRzfHwwO2I9ZCtjKjYwK2IqMzYwMCsoYS5kYXlzfHwwKSo4NjQwMCsoYS53ZWVrc3x8MCkqNjA0ODAwKyhhLm1vbnRoc3x8MCkqMjYyOTgwMCsoYS55ZWFyc3x8MCkqMzE1NTc2MDA7Yjw9MD9iPXtob3VyczowLG1pbnV0ZXM6MCxzZWNvbmRzOjB9OihhPWIsYj1NYXRoLmZsb29yKGEvMzYwMCksYSU9MzYwMCxjPU1hdGguZmxvb3IoYS82MCksZD1NYXRoLmZsb29yKGElNjApLGI9e2hvdXJzOmIsbWludXRlczpjLHNlY29uZHM6ZH0pO3ZhciB7aG91cnM6ZT0wLG1pbnV0ZXM6Zj0wLHNlY29uZHM6aD0wfT1iO2I9W107aWYoZT4wKXtjPU9SKCkuZm9ybWF0KHtob3VyczplfSk7aWYoISJiZSBiZyBlcyBldCBodSBpdCBrYSBsdiBwbCBwdC1QVCBzbCBzcSIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKXx8ZT45OTk5KXthPWMucmVwbGFjZTtkPWUudG9TdHJpbmcoKTt2YXIgaz0obmV3IEludGwuTnVtYmVyRm9ybWF0KCJlbi11LW51LWxhdG4iKSkuZm9ybWF0KGUpOwp2YXIgbD1bImZyIl07bGV0IG09ImF6IGJzIGNhIGRhIGRlIGVsIGVzIGV1IGdsIGhyIGlkIGlzIGl0IGttIGxvIG1rIG5sIHB0LUJSIHJvIHNsIHNyIHNyLUxhdG4gdHIgdmkiLnNwbGl0KCIgIik7az0iYWYgYmUgYmcgY3MgZXQgZmkgZnItQ0EgaHUgaHkga2Ega2sga3kgbHQgbHYgbm8gcGwgcHQtUFQgcnUgc2sgc3Egc3YgdWsgdXoiLnNwbGl0KCIgIikuaW5jbHVkZXMoWik/ay5yZXBsYWNlKCIsIiwiXHUwMGEwIik6bC5pbmNsdWRlcyhaKT9rLnJlcGxhY2UoIiwiLCJcdTIwMmYiKTptLmluY2x1ZGVzKFopP2sucmVwbGFjZSgiLCIsIi4iKTprO2M9YS5jYWxsKGMsZCxrKTtaPT09ImttIiYmKGM9Yy5yZXBsYWNlKCIuIiwiLCIpKX1iLnB1c2goYyl9Zj4wJiZiLnB1c2goT1IoKS5mb3JtYXQoe21pbnV0ZXM6Zn0pKTsoaD4wfHxlPT09MCYmZj09PTApJiZiLnB1c2goT1IoKS5mb3JtYXQoe3NlY29uZHM6aH0pKTtjPSJiZSBndSBqYSBrayBrbSBrbyBtbiBydSB0ciB1eiB6aC1ISyB6aC1UVyIuc3BsaXQoIiAiKTsKYT1aPT0iYW0iPyJ7MH1cdTEzNjMgIjpaPT0iZmEiPyJ7MH1cdTA2MGNcdTIwMGYgIjpaPT0ibXkiPyJ7MH0gLSAiOlo9PSJ0aCI/InswfSAiOlo9PSJ1ciI/InswfVx1MDYwYyAiOlo9PSJhciJ8fFo9PSJhci1YQiI/InswfSBcdTA2NDgiOlo9PSJqYSJ8fFo9PSJ6aC1DTiJ8fFo9PSJ6aC1ISyJ8fFo9PSJ6aC1UVyI/InswfVx1MzAwMSI6InswfSwgIjtkPVo9PSJhbSI/Ilx1MTM2MyAiOlo9PSJmYSI/Ilx1MDYwY1x1MjAwZiAiOlo9PSJteSI/IiAtICI6Wj09InRoIj8iICI6Wj09InVyIj8iXHUwNjBjICI6Wj09ImFyInx8Wj09ImFyLVhCIj8iIFx1MDY0OCI6Wj09ImphInx8Wj09InpoLUNOInx8Wj09InpoLUhLInx8Wj09InpoLVRXIj8iXHUzMDAxIjoiLCAiO2s9Wj09ImFtIj8iIFx1MTJhNVx1MTI5MyB7MH0iOlo9PSJhcyI/IiBcdTA5ODZcdTA5ZjBcdTA5YzEgezB9IjpaPT0iYXoiPyIgdlx1MDI1OSB7MH0iOlo9PSJibiI/IiBcdTA5OGZcdTA5YWNcdTA5ODIgezB9IjpaPT0iY3MiPwoiIGFcdTAwYTB7MH0iOlo9PSJkZSI/IiB1bmQgezB9IjpaPT0iZWwiPyIgXHUwM2JhXHUwM2IxXHUwM2I5IHswfSI6Wj09ImV1Ij8iIGV0YSB7MH0iOlo9PSJmYSI/Ilx1MDYwYyBcdTA2NDggezB9IjpaPT0iZmlsIj8iLCBhdCB7MH0iOlo9PSJndSI/IiBcdTBhODVcdTBhYThcdTBhYzcgezB9IjpaPT0iaGkiPyIsIFx1MDkxNFx1MDkzMCB7MH0iOlo9PSJodSI/IiBcdTAwZTlzIHswfSI6Wj09Imh5Ij8iIFx1MDU4NyB7MH0iOlo9PSJpZCI/IiwgZGFuIHswfSI6Wj09Iml3Ij8iIFx1MDVkNS17MH0iOlo9PSJqYSI/Ilx1MzAwMXswfSI6Wj09ImthIj8iIFx1MTBkM1x1MTBkMCB7MH0iOlo9PSJrbSI/IiBcdTE3OTNcdTE3YjdcdTE3ODQgezB9IjpaPT0ia24iPyIsIFx1MGNhZVx1MGNhNFx1MGNjZFx1MGNhNFx1MGNjMSB7MH0iOlo9PSJrbyI/IiBcdWJjMGYgezB9IjpaPT0ia3kiPyIgXHUwNDM2XHUwNDMwXHUwNDNkXHUwNDMwIHswfSI6Wj09Imx0Ij8iIGlyIHswfSI6Wj09Imx2Ij8KIiB1biB7MH0iOlo9PSJtciI/IiBcdTA5MDZcdTA5MjNcdTA5M2YgezB9IjpaPT0ibXMiPyIgZGFuIHswfSI6Wj09Im15Ij8iXHUxMDE0XHUxMDNlXHUxMDA0XHUxMDM3XHUxMDNhIHswfSI6Wj09Im5lIj8iIFx1MDkzMCB7MH0iOlo9PSJvciI/IiwgXHUwYjEzIHswfSI6Wj09InBhIj8iIFx1MGEwNVx1MGEyNFx1MGE0NyB7MH0iOlo9PSJybyI/IiBcdTAyMTlpIHswfSI6Wj09InNpIj8iLCBcdTBkYzNcdTBkYzQgezB9IjpaPT0ic2siPyIgYSB7MH0iOlo9PSJzbCI/IiBpbiB7MH0iOlo9PSJzcSI/IiBkaGUgezB9IjpaPT0ic3YiPyIgb2NoIHswfSI6Wj09InN3Ij8iIG5hIHswfSI6Wj09InRhIj8iIFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCB7MH0iOlo9PSJ0ZSI/IiBcdTBjMmVcdTBjMzBcdTBjM2ZcdTBjMmZcdTBjNDEgezB9IjpaPT0idGgiPyIgXHUwZTQxXHUwZTI1XHUwZTMwezB9IjpaPT0idHIiPyIgdmUgezB9IjpaPT0idXIiPyJcdTA2MGMgXHUwNjI3XHUwNjQ4XHUwNjMxIHswfSI6Clo9PSJ1eiI/IiB2YSB7MH0iOlo9PSJ2aSI/IiB2XHUwMGUwIHswfSI6Wj09InpoLUhLIj8iXHU1M2NhezB9IjpaPT0ienUiPyIsIG5lLXswfSI6Wj09ImFmInx8Wj09Im5sIj8iIGVuIHswfSI6Wj09ImFyInx8Wj09ImFyLVhCIj8iIFx1MDY0OHswfSI6Wj09ImJlInx8Wj09InVrIj8iIFx1MDQ1NiB7MH0iOlo9PSJlbi1HQiJ8fFo9PSJlbi1JTiI/IiBhbmQgezB9IjpaPT0iZW4ifHxaPT0iZW4tWEEiPyIsIGFuZCB7MH0iOlo9PSJldCJ8fFo9PSJmaSI/IiBqYSB7MH0iOlo9PSJmciJ8fFo9PSJmci1DQSI/IiBldCB7MH0iOlo9PSJ6aC1DTiJ8fFo9PSJ6aC1UVyI/Ilx1NTQ4Y3swfSI6Wj09ImRhInx8Wj09ImlzInx8Wj09Im5vIj8iIG9nIHswfSI6Wj09ImVzInx8Wj09ImVzLTQxOSJ8fFo9PSJlcy1VUyI/IiB5IHswfSI6Wj09ImJnInx8Wj09Im1rInx8Wj09InJ1Inx8Wj09InNyIj8iIFx1MDQzOCB7MH0iOlo9PSJnbCJ8fFo9PSJpdCJ8fFo9PSJwdC1CUiJ8fFo9PSJwdC1QVCI/IiBlIHswfSI6Clo9PSJrayJ8fFo9PSJsbyJ8fFo9PSJtbCJ8fFo9PSJtbiI/IiwgezB9IjoiIGkgezB9IjtsPVo9PSJhbSI/InswfSBcdTEyYTVcdTEyOTMgezF9IjpaPT0iYXMiPyJ7MH0gXHUwOTg2XHUwOWYwXHUwOWMxIHsxfSI6Wj09ImF6Ij8iezB9IHZcdTAyNTkgezF9IjpaPT0iYm4iPyJ7MH0gXHUwOThmXHUwOWFjXHUwOTgyIHsxfSI6Wj09ImRlIj8iezB9IHVuZCB7MX0iOlo9PSJlbCI/InswfSBcdTAzYmFcdTAzYjFcdTAzYjkgezF9IjpaPT0iZXUiPyJ7MH0gZXRhIHsxfSI6Wj09ImZhIj8iezB9IFx1MDY0OCB7MX0iOlo9PSJmaWwiPyJ7MH0gYXQgezF9IjpaPT0iZ3UiPyJ7MH0gXHUwYTg1XHUwYWE4XHUwYWM3IHsxfSI6Wj09ImhpIj8iezB9IFx1MDkxNFx1MDkzMCB7MX0iOlo9PSJodSI/InswfSBcdTAwZTlzIHsxfSI6Wj09Imh5Ij8iezB9IFx1MDU4NyB7MX0iOlo9PSJpdyI/InswfSBcdTA1ZDUtezF9IjpaPT0iamEiPyJ7MH1cdTMwMDF7MX0iOlo9PSJrYSI/InswfSBcdTEwZDNcdTEwZDAgezF9IjoKWj09ImtrIj8iezB9IFx1MDQzNlx1MDRkOVx1MDQzZFx1MDQzNSB7MX0iOlo9PSJrbSI/InswfSBcdTE3OTNcdTE3YjdcdTE3ODRcdTIwMGJ7MX0iOlo9PSJrbiI/InswfSBcdTBjYWVcdTBjYTRcdTBjY2RcdTBjYTRcdTBjYzEgezF9IjpaPT0ia28iPyJ7MH0gXHViYzBmIHsxfSI6Wj09Imt5Ij8iezB9IFx1MDQzNlx1MDQzMFx1MDQzZFx1MDQzMCB7MX0iOlo9PSJsbyI/InswfSBcdTBlYzFcdTBlYTVcdTBlYjAgezF9IjpaPT0ibHQiPyJ7MH0gaXIgezF9IjpaPT0ibHYiPyJ7MH0gdW4gezF9IjpaPT0ibXIiPyJ7MH0gXHUwOTA2XHUwOTIzXHUwOTNmIHsxfSI6Wj09Im15Ij8iezB9XHUxMDE0XHUxMDNlXHUxMDA0XHUxMDM3XHUxMDNhIHsxfSI6Wj09Im5lIj8iezB9IFx1MDkzMCB7MX0iOlo9PSJvciI/InswfSBcdTBiMTMgezF9IjpaPT0icGEiPyJ7MH0gXHUwYTA1XHUwYTI0XHUwYTQ3IHsxfSI6Wj09InJvIj8iezB9IFx1MDIxOWkgezF9IjpaPT0ic2kiPyJ7MH0gXHUwZGMzXHUwZGM0IHsxfSI6Clo9PSJzbCI/InswfSBpbiB7MX0iOlo9PSJzcSI/InswfSBkaGUgezF9IjpaPT0ic3YiPyJ7MH0gb2NoIHsxfSI6Wj09InN3Ij8iezB9IG5hIHsxfSI6Wj09InRhIj8iezB9IFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCB7MX0iOlo9PSJ0ZSI/InswfSBcdTBjMmVcdTBjMzBcdTBjM2ZcdTBjMmZcdTBjNDEgezF9IjpaPT0idGgiPyJ7MH1cdTBlNDFcdTBlMjVcdTBlMzB7MX0iOlo9PSJ0ciI/InswfSB2ZSB7MX0iOlo9PSJ1ciI/InswfSBcdTA2MjdcdTA2NDhcdTA2MzEgezF9IjpaPT0idXoiPyJ7MH0gdmEgezF9IjpaPT0idmkiPyJ7MH0gdlx1MDBlMCB7MX0iOlo9PSJ6aC1ISyI/InswfVx1NTNjYXsxfSI6Wj09Inp1Ij8iezB9IG5lLXsxfSI6Wj09ImFmInx8Wj09Im5sIj8iezB9IGVuIHsxfSI6Wj09ImFyInx8Wj09ImFyLVhCIj8iezB9IFx1MDY0OHsxfSI6Wj09ImJlInx8Wj09InVrIj8iezB9IFx1MDQ1NiB7MX0iOlo9PSJjcyJ8fFo9PSJzayI/InswfSBhXHUwMGEwezF9IjoKWj09ImV0Inx8Wj09ImZpIj8iezB9IGphIHsxfSI6Wj09ImZyInx8Wj09ImZyLUNBIj8iezB9IGV0IHsxfSI6Wj09ImlkInx8Wj09Im1zIj8iezB9IGRhbiB7MX0iOlo9PSJtbCJ8fFo9PSJtbiI/InswfSwgezF9IjpaPT0iemgtQ04ifHxaPT0iemgtVFciPyJ7MH1cdTU0OGN7MX0iOlo9PSJkYSJ8fFo9PSJpcyJ8fFo9PSJubyI/InswfSBvZyB7MX0iOlo9PSJlcyJ8fFo9PSJlcy00MTkifHxaPT0iZXMtVVMiPyJ7MH0geSB7MX0iOlo9PSJiZyJ8fFo9PSJtayJ8fFo9PSJydSJ8fFo9PSJzciI/InswfSBcdTA0MzggezF9IjpaPT0iZW4ifHxaPT0iZW4tR0IifHxaPT0iZW4tSU4ifHxaPT0iZW4tWEEiPyJ7MH0gYW5kIHsxfSI6Wj09ImdsInx8Wj09Iml0Inx8Wj09InB0LUJSInx8Wj09InB0LVBUIj8iezB9IGUgezF9IjoiezB9IGkgezF9IjtaPT09InNxIj8oaz1rLnJlcGxhY2UoImRoZSIsImUiKSxsPWwucmVwbGFjZSgiZGhlIiwiZSIpKTpaPT09InRoIj8oZD1kLnJlcGxhY2UoInswfSIsCiIgezB9IiksbD1sLnJlcGxhY2UoInswfSIsInswfSAiKSxsPWwucmVwbGFjZSgiezF9IiwiIHsxfSIpKTpaPT09Im5lIj9kPSIsIjpaPT09InpoLUNOIj9kPSIiOmMuaW5jbHVkZXMoWikmJihkPSIgIik7cmV0dXJuIGIubGVuZ3RoPDI/Yi5qb2luKCIiKToiYW0gYXIgYmcgYnMgY2EgY3MgZGEgZXMgZXMtNDE5IGVzLVVTIGV1IGZhIGZpIGZyLUNBIGZyIGdsIGd1IGhpIGhyIGh1IGh5IGlzIGl0IGx0IGx2IG1rIG15IG5vIG5sIHBsIHB0LUJSIHB0LVBUIHJvIHNpIHNsIHNxIHNyLUxhdG4gc3Igc3cgdGggdWsiLnNwbGl0KCIgIikuaW5jbHVkZXMoWik/Yi5sZW5ndGg9PT0yP2wucmVwbGFjZSgiezB9IixiWzBdKS5yZXBsYWNlKCJ7MX0iLGJbMV0pOmEucmVwbGFjZSgiezB9IixiWzBdKStiLnNsaWNlKDEsLTEpLmpvaW4oZCkray5yZXBsYWNlKCJ7MH0iLGJbYi5sZW5ndGgtMV0pOmIuam9pbihkKX07T1I9ZnVuY3Rpb24oKXtRUnx8KENSPVNqYSxRUj1uZXcgVGphKTtyZXR1cm4gUVJ9OwpVamE9ZnVuY3Rpb24oKXtKUSgpKHt0cTohMH0pO0pRKCkoe3RxOiExfSl9O1dqYT1mdW5jdGlvbihhKXt2YXIgYj1fLldEKCgpPT5hLmdldERlYnVnVGV4dCghMCkpO2ImJl8ueSgpLnJlc29sdmUoXy55UCkub3BlbkRpYWxvZyh7VW46KCk9Pl8uSyhWamEse2Z2OmJ9KX0pfTtSUj1mdW5jdGlvbihhLGIpe2lmKGIpYT1hLmdldFZpZGVvVXJsKCk7ZWxzZXthPWEuZ2V0UGxheWVyUmVzcG9uc2UoKS52aWRlb0RldGFpbHM/LnZpZGVvSWQ7aWYoIWEpcmV0dXJuO2E9YGh0dHBzOi8veW91dHUuYmUvJHthfWB9YSYmd2luZG93Lm5hdmlnYXRvcj8uY2xpcGJvYXJkJiZ3aW5kb3cubmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYSl9OwpYamE9ZnVuY3Rpb24oYSxiLGMsZCl7Xy55Tih7R2I6KCk9Pl8uSyhfLklCLG51bGwsU1IoYSxiKSxfLksoXy5PLHtBOigpPT5kJiZjLHRoZW46KCk9Pl8uSyhUUix7SDphLHRhOmN9KX0pLF8uSyhVUix7SDphfSksXy5LKFZSLHtIOmF9KSxfLksoV1Ise0g6YX0pLF8uSyhZUix7SDphfSksXy5LKFpSLHtIOmF9KSxfLksoJFIse0g6YX0pLF8uSyhhUyx7SDphfSksXy5LKGJTLHtIOmF9KSksSGE6ITB9KX07U1I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5LKF8uTyx7QTooKT0+Xy50UCgpLHRoZW46KCk9Pl8uSyhfLk5QLG51bGwpLFc6KCk9Pl8uSyhfLk8se0E6KCk9PiFiLHRoZW46KCk9Pl8uSyhjUyx7SDphfSl9KX0pfTtkUz1mdW5jdGlvbihhLGIpe18ueU4oe0diOmIsSGE6ITB9KTthLnN0b3BQcm9wYWdhdGlvbigpfTtlUz1mdW5jdGlvbihhKXthPWEuZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcygpO3JldHVybiBhW2EubGVuZ3RoLTFdPjJ9O2ZTPWZ1bmN0aW9uKGEpe3JldHVybntidXR0b25WaWV3TW9kZWw6e2FjY2Vzc2liaWxpdHlUZXh0OmF9fX07CmdTPWZ1bmN0aW9uKGEsYil7Yj1hPT09MTAwP1lqYTphPT09Yj9aamE6dm9pZCAwO3JldHVybnt2YXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsOntwbGF5YmFja1NwZWVkQnV0dG9uOntidXR0b25WaWV3TW9kZWw6e3RpdGxlOmAke2EvMTAwfXhgLHN0eWxlOiJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PIix0eXBlOiJCVVRUT05fVklFV19NT0RFTF9UWVBFX1RPTkFMIixidXR0b25TaXplOiJCVVRUT05fVklFV19NT0RFTF9TSVpFX0NPTVBBQ1QiLGljb25UcmFpbGluZzohMH19LGJ1dHRvbkxhYmVsOntjb250ZW50OmJ9LHBsYXliYWNrU3BlZWRCdXR0b25DZW50aVZhbHVlOmF9fX07CmRrYT1mdW5jdGlvbihhKXtpZihhPy5pc1JlYWR5Py4oKSl7dmFyIGI9YS5nZXRQbGF5YmFja1JhdGUoKTtpZihiKXtoU3x8KGhTPV8ueE0oKSk7dmFyIGM9ZVMoYSk/JGphOmFrYTtpZighaFM/LmdldCgicmVjZW50LWN1c3RvbS1zcGVlZCIpfHxiIT09MSlyZXR1cm4gYy5tYXAoZT0+Z1MoZSkpO3ZhciBkPU51bWJlcihoUy5nZXQoInJlY2VudC1jdXN0b20tc3BlZWQiKSk7aWYoYy5pbmNsdWRlcyhkKSlyZXR1cm4gYy5tYXAoZT0+Z1MoZSxkKSk7YT1lUyhhKT9ia2Euc2xpY2UoKTpja2Euc2xpY2UoKTthLnB1c2goZCk7YS5zb3J0KChlLGYpPT5lLWYpO3JldHVybiBhLm1hcChlPT5nUyhlLGQpKX19fTsKaWthPWZ1bmN0aW9uKGEpe2lmKGE/LmlzUmVhZHk/LigpKXt2YXIgYj1hLmdldFBsYXliYWNrUmF0ZSgpLGM9YS5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7aWYoYiYmYyl7dmFyIGQ9Y1tjLmxlbmd0aC0xXSoxMDA7Yz1jWzBdKjEwMDtiPXtob3Jpem9udGFsU2xpZGVyVmlld01vZGVsOnttYXhWYWx1ZTpkLG1pblZhbHVlOmMsaW5pdGlhbFZhbHVlOmIqMTAwLHN0ZXBDb3VudDooZC1jKS81LHZhbHVlRGVub21pbmF0b3I6MTAwLGluY3JlYXNlQnV0dG9uOmZTKGVrYSksZGVjcmVhc2VCdXR0b246ZlMoZmthKSxyZW5kZXJlckNvbnRleHQ6e2FjY2Vzc2liaWxpdHlDb250ZXh0OntsYWJlbDpna2F9fX19O2E9ZGthKGEpO3JldHVybnt2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbDp7c2xpZGVyOmIscGxheWJhY2tTcGVlZEJ1dHRvbnM6YSxiYWRnZTp7YmFkZ2VWaWV3TW9kZWw6e2JhZGdlVGV4dDoiUCIsYmFkZ2VTdHlsZToiQkFER0VfUFJFTUlVTSIsYWNjZXNzaWJpbGl0eUxhYmVsOmhrYX19fX19fX07CmlTPWZ1bmN0aW9uKGEpe2hTfHwoaFM9Xy54TSgpKTtoUyYmaFMuc2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIixTdHJpbmcoYSoxMDApKX07a2thPWZ1bmN0aW9uKGEpe3ZhciBiPWlrYShhKSxjPV8uQihiLGprYSk7YyYmXy55Tih7SGE6ITAscGY6ITAsR2I6KCk9Pl8uSyhfLmtPLHtkYXRhOmMscHo6ZD0+e2Euc2V0UGxheWJhY2tSYXRlKGQudGFyZ2V0LnZhbHVlQXNOdW1iZXIpfSxvejpkPT57aVMoZC50YXJnZXQudmFsdWVBc051bWJlcil9LHF6OmQ9PnthLnNldFBsYXliYWNrUmF0ZShkKTtkIT09MSYmaVMoZCk7Xy56TigpfX0pfSl9O2pTPWZ1bmN0aW9uKGEpe3JldHVybihhPWxrYVthXSk/YCR7YX1wYDpta2F9O2tTPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5XRCgoKT0+YS5nZXRQbGF5YmFja1F1YWxpdHkoKSksZD1fLldEKCgpPT5hLmdldFByZWZlcnJlZFF1YWxpdHkoKSksZT1qUyhiKTtiPT09ImF1dG8iJiZkPT09ImF1dG8iJiYoZSs9YCAoJHtqUyhjKX0pYCk7cmV0dXJuIGV9Owpva2E9ZnVuY3Rpb24oYSl7Xy55Tih7R2I6KCk9Pl8uSyhua2Ese0g6YX0pLEhhOiEwfSl9O3BTPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZFMoYSwoKT0+Xy5LKF8uSUIsbnVsbCxfLksobFMse0g6Yn0pLF8uSyhtUyx7SDpifSksXy5LKHBrYSx7SDpifSksXy5LKF8uTyx7QTooKT0+Yi5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpPy5sZW5ndGgsdGhlbjooKT0+Xy5LKG5TLHtIOmJ9KX0pLF8uSyhvUyx7SDpiLG9oOmMsdGE6ZCx0QTplfSkpKX07cWthPWZ1bmN0aW9uKGEsYixjKXtkUyhhLCgpPT5fLksoXy5JQixudWxsLFNSKGIsYykpKX07CnJrYT1mdW5jdGlvbihhKXtfLm5QKCk7aWYoYS54YylpZihhLmNhcHRpb25zRW5hYmxlZClxUyhfLiROLlNzKTtlbHNle3ZhciBiPWEuSDtpZihiKXtpZihhPVBRKGIpLGI9TlEoYikpYjp7aWYoYi50cmFuc2xhdGlvbkxhbmd1YWdlJiYoYT1iLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Yi50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fCIiOiIiKSlicmVhayBiO2E9Yi5kaXNwbGF5TmFtZX19ZWxzZSBhPSIiO3FTKGE/Xy4kTi5Vcy5yZXBsYWNlKCJsYW5ndWFnZV9wbGFjZWhvbGRlciIsYSk6Xy4kTi5Ucyl9ZWxzZSBxUyhfLiROLlJzKX07cVM9ZnVuY3Rpb24oYSl7Xy5wUCgoKT0+YSl9O3NrYT1mdW5jdGlvbihhLGIpe3ZhciBjPXJTKGEpO2E9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7YT17Li4uc1MoYSksRWU6ITB9O3JldHVybnt0YTpjLGJhOmEsVGM6ZG9jdW1lbnQuYm9keSxHYzpifX07CnRrYT1mdW5jdGlvbihhLGIpe3ZhciBjPWpqYSgpLGQ9ey4uLnJTKGEpLFNqOmY9Pnt2YXIgaD0hdFMoKSxrPWEuaXNSZWFkeT8uKCkmJiEhYS5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheTtwUyhmLGEsaCxkLGspfSxkZTooKT0+e3ZhciBmPWM/LmdldCgiYXV0b25hdl9lbmFibGVkIik7cmV0dXJuIGY9PT12b2lkIDB8fGY9PT0idHJ1ZSJ9LFJqOihmLGgpPT57aCYmYz8uc2V0KCJhdXRvbmF2X2VuYWJsZWQiLFN0cmluZyhmKSl9LFVsOigpPT5jPy5nZXQoImF1dG9uYXZfZW5hYmxlZCIpIT09dm9pZCAwfSxlPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2U9ey4uLnNTKGUpLHZ2OjM1MCx6djohMCxNbDo0RTMsaGlkZVZpZGVvSW5mbzplLmhpZGVJbmZvfTtyZXR1cm57dGE6ZCxiYTplLFRjOmRvY3VtZW50LmJvZHksR2M6Yn19OwpyUz1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKSxjPWdqYSxkPVRRLGU9U1E7aWYoYj8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd1NldEZhdXhGdWxsc2NyZWVuJiZiPy5leHRlcm5hbEZ1bGxzY3JlZW4pe2xldCBmPW5ldyB1a2EoYSk7Yz0oKT0+Zi5pc0Z1bGxzY3JlZW4oKTtkPSgpPT57Zi50b2dnbGVGdWxsc2NyZWVuKCl9O2U9KCk9PntmLmV4aXRGdWxsc2NyZWVuKCl9fXJldHVybntTajpmPT57dmFyIGg9IXRTKCk7YT8uZ2V0U2l6ZSgpPy53aWR0aDwzMjA/cWthKGYsYSxoKTpwUyhmLGEsaCl9LHFBOnJrYSxpc0Z1bGxzY3JlZW46Yyx0b2dnbGVGdWxsc2NyZWVuOmQsZXhpdEZ1bGxzY3JlZW46ZSxkZTooKT0+ITEsUmo6KCk9Pnt9LFVsOigpPT4hMX19OwpzUz1mdW5jdGlvbihhKXtyZXR1cm57RWU6ITAsTWk6ITAsTWw6Xy54KCJlbWJlZHNfZW5hYmxlX2RlbGF5X2NvbnRyb2xzX2hpZGUiKT80RTM6dm9pZCAwLGlxOmEuZGlzYWJsZUZ1bGxzY3JlZW4sbmg6YS5jb250cm9sc1R5cGU9PT0wLG9oOiF0UygpLGhpZGVWaWRlb0luZm86YS5oaWRlSW5mbyYmYS5lbWJlZHNIb3N0RmxhZ3M/Lm9wdE91dEFwaURlcHJlY2F0aW9uLHVqOiEwLER6OiFfLngoImVtYmVkc19lbWMzZHNfcHJlc2VydmVfZnVsbHNjcmVlbl9rcyIpLHpyOiEwLHJBOiEwLFpoOiEwLHZuOiEwLFpBOiFfLngoImVtYmVkc19lbWMzZHNfZnRsX2tzIiksdm9sdW1lQ29udHJvbFR5cGU6Xy54KCJlbWJlZHNfZGVza3RvcF9lbmFibGVfdm9sdW1lX3NsaWRlciIpJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKGFueS1wb2ludGVyOiBmaW5lKSIpLm1hdGNoZXM/InZvbHVtZS1zbGlkZXIiOiJtdXRlLWJ1dHRvbiJ9fTsKdFM9ZnVuY3Rpb24oKXtyZXR1cm4gXy50UCgpfHxfLnF6KCkmJiFfLncoIlBMQVlFUl9WQVJTIik/LnByaXZlbWJlZCYmIShfLmVyJiZfLk1rKCJ2ZXJzaW9uLyIpKSYmIV8ucnooKX07dVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGxheWVyU3RhdGU9PT0wfTt3Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS52aWRlb0R1cmF0aW9uP3ZTKGEpP0RRKGEuQ2EvYS52aWRlb0R1cmF0aW9uLDAsMSk6RFEoKGEudmF8fDApL2EudmlkZW9EdXJhdGlvbiwwLDEpOjB9O3hTPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpZGVvRHVyYXRpb24/YS5pc0RyYWdnaW5nfHx2UyhhKT9EUShhLkNhL2EudmlkZW9EdXJhdGlvbiwwLDEpOkRRKChhLnZhfHwwKS9hLnZpZGVvRHVyYXRpb24sMCwxKTowfTt2Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS5LYj4xJiZhLkpkIT09MH07CnlTPWZ1bmN0aW9uKGEpe3JldHVybihfLngoIndlYl9lbmFibGVfZGlic19pbXBsZW1lbnRhdGlvbiIpfHxfLngoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSkmJmEuSD8uZ2V0VmlkZW9EYXRhKGEucGxheWVyVHlwZSk/LmlzU2Vla2FibGV8fGEucGxheWVyVHlwZT09PTE/ITE6YS5iYT8uWmg/IWEuSD8uZ2V0UGxheWVyU3RhdGVPYmplY3QoYS5wbGF5ZXJUeXBlKS5pc0RvbVBhdXNlZDohMH07elM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5hdXRvbmF2VG9nZ2xlLHZrYSl9O0FTPWZ1bmN0aW9uKGEpe3JldHVybiBhPy5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cz8uYXV0b3BsYXk/LmF1dG9wbGF5fTtCUz1mdW5jdGlvbihhKXtyZXR1cm4gYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uYXV0b3BsYXk/LnBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyfTsKRVM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihDUyhhKT8ucGxheWVyQmFyLERTKX07RlM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5tYXJrZXJzTWFwPy5maW5kKGI9PmIua2V5PT09IkhFQVRTRUVLRVIiKT8udmFsdWU/LmhlYXRtYXAsd2thKX07Q1M9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5kZWNvcmF0ZWRQbGF5ZXJCYXJSZW5kZXJlcix4a2EpfTtHUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKENTKGEpPy5wbGF5aGVhZCx5a2EpfTt6a2E9ZnVuY3Rpb24oYSl7cmV0dXJuISFhPy5tYXJrZXJzTWFwPy5maW5kKGI9PlsiREVTQ1JJUFRJT05fQ0hBUFRFUlMiLCJBVVRPX0NIQVBURVJTIl0uaW5jbHVkZXMoYi5rZXkpKX07SlM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSFMoYSxiKXx8SVMoYSk/ITE6IWEuaXNEcmFnZ2luZyYmIXZTKGEpJiYhYS5zYiYmYS5MZiE9PSJvbiJ9OwpIUz1mdW5jdGlvbihhLGIpe3JldHVybiFhLmF1dG9uYXZFbmFibGVkfHxhLnhmfHwhYnx8YS5yY3x8YS5pc1BsYXlsaXN0JiZiPy5zZXRzPy5bMF0uYXV0b3BsYXlWaWRlbz8hMTp1UyhhKX07Q2thPWZ1bmN0aW9uKGEsYil7Yj1iPy5hY3Rpb25CYXJCdXR0b25zO3JldHVybiBfLkIoXy5CKGE/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmZ1bGxzY3JlZW5FbmdhZ2VtZW50LEFrYSk/LmFjdGlvbkJhcixCa2EpPy5hY3Rpb25CYXJCdXR0b25zfHxifHxbXX07TFM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihfLkIoYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZnVsbHNjcmVlblF1aWNrQWN0aW9uc0JhcixLUyk/LmZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludCxEa2EpfTsKTVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmVuZFNjcmVlbj8ud2F0Y2hOZXh0RW5kU2NyZWVuUmVuZGVyZXI/LnJlc3VsdHN8fFtdfTtOUz1mdW5jdGlvbihhLGIpe3JldHVybiBhP2EudmlkZW9EZXRhaWxzPy5lbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlcjpfLkIoYj8udmlkZW9EZXRhaWxzLEVrYSl9O1BTPWZ1bmN0aW9uKGEsYil7Yj1fLkIoYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LmluZm9QYW5lbCxPUyk7cmV0dXJuIF8uQihhPy5pbmZvUGFuZWwsT1MpfHxifTtJUz1mdW5jdGlvbihhKXtyZXR1cm4gYS5OYT8hMDphLkpmIT09MH07CkZrYT1mdW5jdGlvbih7ZWxlbWVudDphLHZlVHlwZTpiLExBOmM9bnVsbCxlbGVtZW50SW5kZXg6ZD0wLGNsaWVudFlvdVR1YmVEYXRhOmV9KXt2YXIgZj1fLmlxKCk7ZiE9PVFTJiYoUlMuY2xlYXIoKSxRUz1mKTtpZihhLnZpc3VhbEVsZW1lbnQmJlJTLmhhcyhhLnZpc3VhbEVsZW1lbnQpKXJldHVybiBudWxsO2lmKGMmJlJTLmhhcyhjKSlyZXR1cm4gYS52aXN1YWxFbGVtZW50PWMsbnVsbDtiPV8uRXgoXy5oeCgpLHt2ZVR5cGU6YixlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTplfSk7aWYoIWIpcmV0dXJuIG51bGw7YS52aXN1YWxFbGVtZW50PWI7UlMuYWRkKGIpO3JldHVybiBifTsKU1M9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPV8uTk4sZT1udWxsLGYsaCl7dmFyIGs9KCk9PntpZihiKXtjIGluc3RhbmNlb2YgRnVuY3Rpb24mJihjPWMoKSk7dmFyIGw9RmthKHtlbGVtZW50OmIsdmVUeXBlOmEsTEE6YyxjbGllbnRZb3VUdWJlRGF0YTpmfSk7bCYmKF8uSngoYix7ZGF0YTplLG9ic2VydmVyOl8ueSgpLnJlc29sdmUoXy5MeCksTmM6Xy5uRixlYjpfLm1GLGxheWVyOmIubGF5ZXJ9KSxkKGwpKX19O2g/aygpOl8uT0UoKCk9PntrKCl9KX07R2thPWZ1bmN0aW9uKGEpe1NTKDExMjM5NCxhLCgpPT5UUyxiPT57VFM9Yn0pfTsKVVM9ZnVuY3Rpb24oYSl7dmFyIGI9VFMsYz1fLmlxKDApO2lmKGMmJmIpe3ZhciBkPU1hdGgucm91bmQoYS52YSoxRTMpO2E9TWF0aC5yb3VuZChhLkNhKjFFMyk7ZD4yKiozMS0xfHxhPjIqKjMxLTF8fF8uVmkoXy5leCkodm9pZCAwLGMsYiwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyIse3NlZWtEYXRhOntzdGFydE1lZGlhVGltZU1zOlN0cmluZyhkKSxlbmRNZWRpYVRpbWVNczpTdHJpbmcoYSksc2Vla1NvdXJjZToiU0VFS19TT1VSQ0VfU0xJREVfT05fU0NSVUJCRVJfQkFSIn19LHZvaWQgMCl9fTtXUz1mdW5jdGlvbihhLGIsYyl7U1MoYixhLCgpPT5WU1tiXSxkPT57VlNbYl09ZDtfLkpPKGQpfSx2b2lkIDAsdm9pZCAwLGMpfTtYUz1mdW5jdGlvbihhKXsoYT1WU1thXSkmJl8ud0ooXy5oeCgpLGEpfTtIa2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5WdygwKSxjPV8uaXEoMCk7YyYmYiYmYSYmXy5WaShfLmJ4KSh2b2lkIDAsYyxiLGEpfTsKWVM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5pcSgwKTtiJiZhJiZfLnlKKGIsYSl9O1pTPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaXEoMCk7YiYmYSYmXy5WaShfLkFPKSh2b2lkIDAsYixhLHZvaWQgMCx2b2lkIDAsdm9pZCAwKX07JFM9ZnVuY3Rpb24oYSxiKXtpZighYS5iYT8uWmh8fCFhLkgpcmV0dXJuITE7YT1hLkguZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtyZXR1cm4gYS5pc0Vycm9yfHxiJiYhTVIoYik/ITE6YS5pc0N1ZWR8fGEuaXNEb21QYXVzZWR9O2NUPWZ1bmN0aW9uKGEsYil7YVQmJiFiPy5JY3x8YS5wbGF5ZXJTdGF0ZT09PTJ8fGEucGxheWVyU3RhdGU9PT0tMXx8dVMoYSl8fGEucGxheWVyU3RhdGU9PT01fHwoYj8uSWMmJmJUKCksYVQ9c2V0VGltZW91dCgoKT0+e2EuUyh7ZWE6ITF9KX0sYS5iYT8uTWw/PzJFMykpfTtiVD1mdW5jdGlvbigpe2FUJiYoY2xlYXJUaW1lb3V0KGFUKSxhVD12b2lkIDApfTtJa2E9ZnVuY3Rpb24oYSl7YVQ9YX07CmRUPWZ1bmN0aW9uKGEpe3JldHVybntpc0xpdmU6ITEsaXNMaXZlRHZyRW5hYmxlZDohMCxpc1BsYXlsaXN0OiExLHBsYXllclR5cGU6MSx5cTohMSx2aWRlb0lkOnZvaWQgMCxjYXB0aW9uc0VuYWJsZWQ6ITEseGM6ITEsdm9sdW1lOjAscmM6ITAsSmY6MCxSeDohMSxzYjohMSxXZDohMSxOYTohMSxpc0Z1bGxzY3JlZW46ITEsS2I6MCx5aDowLEpkOjAseGY6ITEsYXV0b25hdkVuYWJsZWQ6ITEsemY6ITEseWY6MCxZaDohMSxpc0RyYWdnaW5nOiExLENhOjAsUWM6ITEsZGo6MCxRbTowLHBsYXllclN0YXRlOmE/LmdldFBsYXllclN0YXRlKCk/Py0xLHZpZGVvRHVyYXRpb246MCx2YTowLE9uOiExLGplOnZvaWQgMCxwbGF5YmFja1JhdGU6MSxlYTohMSx5YjohMSxnZTohMSxMZjoib2ZmIixacjowLExwOjAsWXY6MH19O0prYT1mdW5jdGlvbihhKXthVCYmYlQoKTtJa2Eoc2V0VGltZW91dCgoKT0+e2EuUyh7ZWE6ITEseWI6ITF9KX0sMkUzKSl9OwpLa2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg/LmdldFBsYXllclN0YXRlKCk7IWN8fGM9PT1iLnBsYXllclN0YXRlfHxjIT09MSYmYyE9PTJ8fChjJiYoYz09PTI/Yi5lYT8oYi5TKHt5YjohMX0pLGJUKCkpOmIuUyh7ZWE6ITAseWI6ITF9KTpjPT09MSYmYi5lYSYmIWIuaXNEcmFnZ2luZyYmKGIueWI/SmthKGIpOmIuUyh7ZWE6ITEseWI6ITF9KSkpLGIuUyh7cGxheWVyU3RhdGU6Y30pKX19O0xrYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKSxkPWMuSCxlPWQ/LmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkO2UhPT1jLnZpZGVvSWQmJmI/LnR5cGU9PT0ibmV3ZGF0YSImJihiPWQ/LmdldER1cmF0aW9uKGI/LnBsYXllcnR5cGUpLGJUKCksYy5TKHt2aWRlb0R1cmF0aW9uOmIsdmE6MCx2aWRlb0lkOmUsZWE6ITEseWI6ITF9KSl9fTsKTWthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpLGQ9Yy5IO2lmKGQpe3ZhciBlPWQuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtfLngoIndlYl9zaG9ydHNfdXNlX3Byb2dyZXNzX3N0YXRlX2Zvcl9nYXBsZXNzIik/KGQ9ZC5nZXRQcm9ncmVzc1N0YXRlKGUpLGQ9ZC5zZWVrYWJsZUVuZC1kLnNlZWthYmxlU3RhcnQpOmQ9ZC5nZXREdXJhdGlvbihlKTtjLlMoe3ZhOmIsdmlkZW9EdXJhdGlvbjpkfSl9fX07Z1Q9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm5bXTthPWEubWFya2Vyc01hcD8uZmluZChjPT5bIkRFU0NSSVBUSU9OX0NIQVBURVJTIiwiQVVUT19DSEFQVEVSUyJdLmluY2x1ZGVzKGMua2V5KSk/LnZhbHVlPy5jaGFwdGVyc3x8W107KGEubGVuZ3RoPT09MD8wOl8uQihhWzBdLGVUKT8udGltZVJhbmdlU3RhcnRNaWxsaXMhPT0wKSYmIWI/Lm54JiYoYT1bZlQoKSwuLi5hXSk7cmV0dXJuIGF9O2ZUPWZ1bmN0aW9uKCl7cmV0dXJue2NoYXB0ZXJSZW5kZXJlcjp7dGltZVJhbmdlU3RhcnRNaWxsaXM6MH19fTsKaFQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS50aW1lUmFuZ2VTdGFydE1pbGxpc3x8MDowfTtrVD1mdW5jdGlvbihhLGIpe3JldHVybiBnVChiKS5maW5kKChjLGQsZSk9PmlUKGpUKGEpLGUsZCkuTGQ9PT0iYWN0aXZlIil9O2xUPWZ1bmN0aW9uKGEsYil7aWYoYS5pc0RyYWdnaW5nJiZiKXJldHVybiBhPU5rYShhLGIpLGE9PT0tMT9mVCgpOmdUKGIpW2FdfTtOa2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5pc0RyYWdnaW5nJiZiP2dUKGIse254OiEwfSkuZmluZEluZGV4KChjLGQsZSk9PmlUKGpUKGEpLGUsZCkuQmcpOi0xfTttVD1mdW5jdGlvbihhKXthPV8uQihhLGVUKTthPy5vbkFjdGl2ZUNvbW1hbmQmJl8uYUUoYS5vbkFjdGl2ZUNvbW1hbmQpfTtqVD1mdW5jdGlvbihhKXtyZXR1cm57Li4uYSx2aWRlb0R1cmF0aW9uOmEudmlkZW9EdXJhdGlvbioxRTMsdmE6YS52YSoxRTMsQ2E6YS5DYSoxRTN9fTsKaVQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWhUKF8uQihiW2NdLGVUKSk7Yj1oVChfLkIoYltjKzFdLGVUKSl8fGEudmlkZW9EdXJhdGlvbjtjPWEuaXNEcmFnZ2luZzt2YXIgZTtpZihlPWEuaXNEcmFnZ2luZyllPWEuQ2EsZT1lIT09bnVsbCYmZT49ZCYmZTxiO3ZhciBmPWEudmE7cmV0dXJuIGYhPT1udWxsJiZmPj1kJiZmPGI/e0xkOiJhY3RpdmUiLGJtOmMsQmc6ZX06YS52YTxkP3tMZDoicGVuZGluZyIsYm06YyxCZzplfTp7TGQ6InNlZW4iLGJtOmMsQmc6ZX19O25UPWZ1bmN0aW9uKGEsYixjKXtpZihpVChhLGIsYykuTGQhPT0iYWN0aXZlIilyZXR1cm4gMDt2YXIgZD1oVChfLkIoYltjXSxlVCkpO3JldHVybihhLnZhLWQpLygoaFQoXy5CKGJbYysxXSxlVCkpfHxhLnZpZGVvRHVyYXRpb24pLWQpfTtvVD1mdW5jdGlvbihhLGI9MCl7cmV0dXJuIGEuTGQ9PT0ic2VlbiJ8fGI+MH07CnBUPWZ1bmN0aW9uKGEsYixjKXtiPWEvYi5acjtjPWdUKGMpO2lmKCFjLmxlbmd0aClyZXR1cm4tYio3Mjt2YXIgZD0wO2ZvcihsZXQgZSBvZiBjKWlmKGhUKF8uQihlLGVUKSkvMUUzPGEpZCsrO2Vsc2UgYnJlYWs7cmV0dXJuLShiKjcyKS1kKjU2fTtPa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO2EuQigpO2Quc3RvcFByb3BhZ2F0aW9uKCk7ZD1xVChhLGUsZC5jbGllbnRYKSplLnZpZGVvRHVyYXRpb247ZS5TKHt2YTpkfSk7ZS5wbGF5ZXJTdGF0ZT09PTJ8fGYuRm4/LigpO2EuRC52KGQsZSw3KX19O3JUPWZ1bmN0aW9uKGEpe2E9YS50b3VjaGVzWzBdO3JldHVybnt4OmEuY2xpZW50WCx5OmEuY2xpZW50WX19O1BrYT1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9clQoYyksZT1iKCk7YS5zdGFydFBvc2l0aW9ufHwoYS5zdGFydFBvc2l0aW9uPWQsYS5CKCksYS5qPWUuZWEsYy5zdG9wUHJvcGFnYXRpb24oKSl9fTsKUWthPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD17eDpjLmNsaWVudFgseTpjLmNsaWVudFl9LGU9YigpO2Euc3RhcnRQb3NpdGlvbnx8KGEuc3RhcnRQb3NpdGlvbj1kLGEuQigpLGEuaj1lLmVhLGMuc3RvcFByb3BhZ2F0aW9uKCkpfX07CnRUPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXthLnN0YXJ0UG9zaXRpb24mJihmJiZlLmlqJiZhLnN0YXJ0UG9zaXRpb24mJiFhLm8mJk1hdGguYWJzKGMueS1hLnN0YXJ0UG9zaXRpb24ueSk+TWF0aC5hYnMoYy54LWEuc3RhcnRQb3NpdGlvbi54KT9zVChhLGQsZSk6KGIucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLGQudmlkZW9EdXJhdGlvbiYmKGEuc3RhcnRQb3NpdGlvbiYmIWEubyYmKGEubz1NYXRoLmFicyhjLngtYS5zdGFydFBvc2l0aW9uLngpPj0xKSxlLktmJiYoYS5zdGFydFBvc2l0aW9uJiYoYS52PS0oYy55LWEuc3RhcnRQb3NpdGlvbi55KT49NjApLCFhLnN0YXJ0UG9zaXRpb258fGMueT49YS5zdGFydFBvc2l0aW9uLnl8fChkLlMoe0xmOiJkcmFnZ2luZyIsTHA6cFQoZC5DYSxkLGUuUmEpfSksYS5VKGQuQ2EpLGEuWihhLnN0YXJ0UG9zaXRpb24ueSxjLnksZCkpKSxhLm8mJihiPXFUKGEsZCxjLngpLGEudiYmKGQuSD8ucGF1c2VWaWRlbygpLGQuUyh7TGY6Im9uIiwKWXY6ZC5DYSxMcDpwVChiKmQudmlkZW9EdXJhdGlvbixkLGUuUmEpfSkpLGUuS2YmJighZS5LZnx8YS5LKGQpPDY4KXx8KGQuaXNEcmFnZ2luZ3x8ZC50YS5rej8uKCksZC5TKHtDYTpiKmQudmlkZW9EdXJhdGlvbixlYTohMCxpc0RyYWdnaW5nOiEwLHliOmEuan0pKSxlLllvPy4oKSkpKSl9O1JrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7dFQoYSxkLHJUKGQpLGUsZiwhMCk7aWYoZi5vblRvdWNoTW92ZSlmLm9uVG91Y2hNb3ZlKGUpfX07dlQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYi5idXR0b25zIT09MSl7aWYoYi5tb3ZlbWVudFh8fGIubW92ZW1lbnRZKWIucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLGE9cVQoYSxjLGIuY2xpZW50WCksYy5RY3x8Yy50YS5rej8uKCksYy5TKHtRYzohMCxkajphKmMudmlkZW9EdXJhdGlvbn0pfWVsc2UgdVQoYyksdFQoYSxiLHt4OmIuY2xpZW50WCx5OmIuY2xpZW50WX0sYyxkLCExKX07ClNrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2VChhLGQsYigpLGMoKSl9fTtUa2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7dVQoYil9fTtzVD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jLktmJiZiLkxmIT09Im9mZiI7Yi5pc0RyYWdnaW5nfHxlPyhkPXtpc0RyYWdnaW5nOiExLHZhOmIuQ2EsZWE6YS5qfSxjLktmJiZiLkxmIT09Im9uIiYmKGEuTSgpLGQuTGY9Im9mZiIpLFVTKGIpLGIuUyhkKSxhLkQudihiLkNhLGIsNyksYy5JbiYmYi5yYyYmYi5IPy51bk11dGUoKSx3VChhKSk6KF8ueCgibWF3cGNfdG91Y2hfZW5kX2hhbmRsZXJfYnVnX2ZpeF9raWxsc3dpdGNoIik/Yi5TKHtlYTohYi5lYX0pOmIuUyh7ZWE6ITB9KSxjLkZuPy4oKSx3VChhKSxfLngoIm1hd3BjX3RvdWNoX2VuZF9oYW5kbGVyX2J1Z19maXhfa2lsbHN3aXRjaCIpfHxkPy5zdG9wUHJvcGFnYXRpb24oKSl9OwpVa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO3NUKGEsZSxmLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9fTtWa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO3NUKGEsZSxmLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9fTtXa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57c1QoYSxiKCksYygpLGQpfX07WGthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57Yi5rZXlDb2RlPT09Mzl8fGIua2V5Q29kZT09PTM4P2EoKT8uSD8uc2Vla0J5KDUsdm9pZCAwLHZvaWQgMCw3Mik6KGIua2V5Q29kZT09PTM3fHxiLmtleUNvZGU9PT00MCkmJmEoKT8uSD8uc2Vla0J5KC01LHZvaWQgMCx2b2lkIDAsNzEpfX07WWthPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+eyFjKCkuZGlzYWJsZVNjcnViYmluZyYmYS5zdGFydFBvc2l0aW9uJiZ2VChhLGQsYigpLGMoKSl9fTsKeFQ9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57aWYoIWMoKS5kaXNhYmxlU2NydWJiaW5nKWlmKGEuc3RhcnRQb3NpdGlvbil7dmFyIGU9YigpLGY9YygpO3NUKGEsYigpLGMoKSxkKTtpZihmLm9uVG91Y2hFbmQpZi5vblRvdWNoRW5kKGUpfWVsc2UgYigpLlMoe2lzRHJhZ2dpbmc6ITF9KX19O3VUPWZ1bmN0aW9uKGEpe2EuUWMmJmEuUyh7UWM6ITEsZGo6MH0pfTtxVD1mdW5jdGlvbihhLGIsYyl7YT1hLkkoYik7cmV0dXJuIERRKDAsKGMtYS5sZWZ0KS9hLndpZHRoLDEpfTt3VD1mdW5jdGlvbihhKXthLnN0YXJ0UG9zaXRpb249bnVsbDthLm89ITE7YS52PSExO2Euaj0hMX07eVQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS53aWR0aC9hLmNvbHVtbnM6MH07elQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS5oZWlnaHQvYS5yb3dzOjB9O0FUPWZ1bmN0aW9uKGEpe3JldHVybiBhLlFjP2EuZGo6YS5DYX07CkJUPWZ1bmN0aW9uKGEsYil7YT1hLkNhKjFFMztyZXR1cm4gYT49Yi52aXNpYmxlVGltZVJhbmdlU3RhcnRNaWxsaXMmJmE8PWIudmlzaWJsZVRpbWVSYW5nZUVuZE1pbGxpc307Q1Q9ZnVuY3Rpb24oYSl7aWYoYT09PXZvaWQgMHx8TnVtYmVyLmlzTmFOKGEpKXJldHVybiItLTotLSI7dmFyIGI9TWF0aC5hYnMoTWF0aC5mbG9vcihhKSksYz1NYXRoLmZsb29yKGIvODY0MDApLGQ9TWF0aC5mbG9vcihiJTg2NDAwLzM2MDApLGU9TWF0aC5mbG9vcihiJTM2MDAvNjApO2I9TWF0aC5mbG9vcihiJTYwKTt2YXIgZj0iIjtjPjAmJihmKz1gJHtjfTpgLGQ8MTAmJihmKz0iMCIpKTtpZihjPjB8fGQ+MClmKz1gJHtkfTpgLGU8MTAmJihmKz0iMCIpO2YrPWAke2V9OmA7YjwxMCYmKGYrPSIwIik7Zis9YjtyZXR1cm4gYT49MD9mOmAtJHtmfWB9OwpEVD1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9QVQoYSgpKTt2YXIgZD1iKCk7dmFyIGU9YSgpLkg7aWYoZSYmZS5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMoKSE9PTApe3ZhciBmPWUuZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgoYywxKTtmIT09LTE/ZD1lLmdldFN0b3J5Ym9hcmRGcmFtZShmLDEpOihjPWUuZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgoYywwKSxlPWUuZ2V0U3Rvcnlib2FyZEZyYW1lKGMsMCksZCYmZSYmKGUuaGVpZ2h0Kj0zLGUud2lkdGgqPTMpLGQ9ZSl9ZWxzZSBkPW51bGw7aWYoIWQpcmV0dXJuIG51bGw7YigpJiYoZC53aWR0aD05MCpkLmNvbHVtbnMsZC5oZWlnaHQ9MTYwKmQucm93cyk7cmV0dXJuIGR9fTsKJGthPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBhLk5hfHxhLmlzTGl2ZT9kOmI+MT9FVChkKTpzZXRUaW1lb3V0KCgpPT57YygpO25hdmlnYXRvcj8udmlicmF0ZSYmbmF2aWdhdG9yLnZpYnJhdGUoWmthKX0sXy5zaigic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyIsNTAwKSl9O0VUPWZ1bmN0aW9uKGEpe2EhPT12b2lkIDAmJmNsZWFyVGltZW91dChhKX07CkhUPWZ1bmN0aW9uKGEsYil7YS5OYXx8YS5pc0xpdmV8fChiPjEmJkZUKGEpLGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgicHJldmVudC1oaWdobGlnaHRzIiksR1Q9c2V0VGltZW91dCgoKT0+e2EuSD8ucGxheVZpZGVvKCk7YlQoKTthLlMoe3NiOiEwLGVhOiEwfSk7dmFyIGM9Xy5zaigic3BlZWRtYXN0ZXJfcGxheWJhY2tfcmF0ZSIsMiksZD1hLkg7ZD8uc2V0UGxheWJhY2tSYXRlPy4oYyk7Xy54KCJtd2ViX2xvbmdfcHJlc3Nfc3BlZWR1cF92aWJyYXRpb24iKSYmZD8uZ2V0UGxheWJhY2tSYXRlKCk9PT1jJiZuYXZpZ2F0b3I/LnZpYnJhdGUmJm5hdmlnYXRvci52aWJyYXRlKGFsYSl9LF8uc2ooInNwZWVkbWFzdGVyX3RvdWNoX2FjdGl2YXRpb25fbXMiLDUwMCkpKX07CklUPWZ1bmN0aW9uKGEsYixjKXtjLnNiJiZhLnByZXZlbnREZWZhdWx0KCk7YT1iLmxrO2I9Yi5PZDtNYXRoLnNxcnQoYSphK2IqYik+Xy5zaigic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIiwxMCkmJiFjLnNiJiZGVChjKX07RlQ9ZnVuY3Rpb24oYSl7ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCJwcmV2ZW50LWhpZ2hsaWdodHMiKTtHVCYmY2xlYXJUaW1lb3V0KEdUKTthLnNiJiYoYS5TKHtzYjohMSxlYTp1UyhhKX0pLGE9YS5ILHR5cGVvZiBhPy5zZXRQbGF5YmFja1JhdGU9PT0iZnVuY3Rpb24iP2Euc2V0UGxheWJhY2tSYXRlKDEpOl8uV2koRXJyb3IoIiRkIikpKX07CmNsYT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmYSl7dmFyIGQ9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihiPWJsYShiLGQud2lkdGgsZC5oZWlnaHQpKWM/LlpBJiYoYz1uZXcgSW1hZ2UsYy5vbmxvYWQ9KCk9PntpamEoKX0sYy5zcmM9YixfLkl6KCJmdHIiKSksYS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9YHVybCgke2J9KWB9fTtibGE9ZnVuY3Rpb24oYSxiLGMpe2lmKChhPWEudGh1bWJuYWlscykmJmEubGVuZ3RoIT09MCl7dmFyIGQ9d2luZG93LmRldmljZVBpeGVsUmF0aW8+MT93aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzoxO2IqPWQ7Yyo9ZDtpZihiPjY0MHx8Yz40ODApcmV0dXJuIGEuYXQoLTEpLnVybDtpZihiPjMyMHx8Yz4xODApe3ZhciBlO2Q9Yj1jPXZvaWQgMDtmb3IoZSBvZiBhKSFkJiZlLndpZHRoPj0zMjA/ZD1lLnVybDohYiYmZS53aWR0aD49NDgwP2I9ZS51cmw6IWMmJmUud2lkdGg+PTY0MCYmKGM9ZS51cmwpO2lmKGU9Y3x8Ynx8ZClyZXR1cm4gZX1yZXR1cm4gYVswXS51cmx9fTsKSlQ9ZnVuY3Rpb24oYSl7KGE9YT8uaGVhZGVyPy5wbGF5bGlzdEhlYWRlclJlbmRlcmVyKT8oYT1fLkIoYS5jaW5lbWF0aWNDb250YWluZXIsZGxhKT8uYmFja2dyb3VuZEltYWdlQ29uZmlnPy50aHVtYm5haWw/LnRodW1ibmFpbHMsYT1hPy5sZW5ndGg/YVthLmxlbmd0aC0xXS51cmw6dm9pZCAwLGE9IWEpOmE9ITE7cmV0dXJuIGF9O0tUPWZ1bmN0aW9uKGEpe2E9YXx8Xy5YRD8ucmVzcG9uc2U/LnJlc3BvbnNlO3JldHVybiBhPy5oZWFkZXI/LnBhZ2VIZWFkZXJSZW5kZXJlcn07T1Q9ZnVuY3Rpb24oKXt2YXIgYT1fLlhEPy5yZXNwb25zZT8ucmVzcG9uc2U7cmV0dXJuISFLVCgpPy50aXRsZUFuaW1hdGlvbnx8SlQoYSl9OwpQVD1mdW5jdGlvbigpe3ZhciBhPV8uWEQ/LnJlc3BvbnNlPy5yZXNwb25zZSxiPUtUKGEpO2lmKGIpYT1iLnRvcEJhckFuaW1hdGlvbj8hMDohMTtlbHNle2lmKGI9WFEoKSYmIV8uVk0oKSliPV8uWmIod2luZG93LmxvY2F0aW9uLmhyZWYsImxpc3QiKSxiPSEoYj8uc3RhcnRzV2l0aCgiRUwiKXx8Yj8uc3RhcnRzV2l0aCgiU0MiKSk7YT1iJiYhSlQoYSl9cmV0dXJuIGF9OwplbGE9ZnVuY3Rpb24oKXtpZihfLncoIk1XRUJfU1RJQ0tZX1BMQVlFUiIsITEpJiZRVCgpJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjc2VhcmNoaW5nIiYmXy5VTSgpIT09InNlYXJjaCIpe3ZhciBhPXdpbmRvdy5zY3JvbGxZLGI7KGI9Xy5WTSgpKXx8KGI9Xy5VTSgpPT09ImNsaXAiKTtpZihiKSFfLlRFKCkmJiFIUSgpfHwoXy5GZWEub2Zmc2V0SGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodCouNj9fLlR0KF8uRUosInN0aWNreS1wbGF5ZXIiKTpfLlN0KF8uRUosInN0aWNreS1wbGF5ZXIiKSksUlQoImluIiksU1Q9YTtlbHNle2I9U1Q+YTt2YXIgYz1hPj00OCxkPWE8MTI2O1NUPWE7Yj8oYz9SVCgiZmlsbGVkIik6UlQoImluIiksSVEoKSYmZD9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItaW4iKSk6Yz9QVCgpfHxPVCgpP1JUKCJmaWxsZWQiKTooUlQoIm91dCIpLElRKCkmJmQ/VFQoImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKTpUVCgiZmlsdGVyLWNoaXAtYmFyLW91dCIpKToKKFJUKCJpbiIpLElRKCk/VFQoImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKTpUVCgiZmlsdGVyLWNoaXAtYmFyLWluIikpfX12YXIgZTtfLlZNKCkmJihlPVFUKCkpIT1udWxsJiYoYT1lLnNldEF0dHJpYnV0ZSxiPV8uTUUoKT8xOjI0LF8uRE4ubGVuZ3RoPjAmJiFfLnhOKCk/KGM9TnVtYmVyKGRvY3VtZW50LmJvZHkuc3R5bGUudG9wLnJlcGxhY2UoLyhweCl8LS9nLCIiKSksYj0haXNOYU4oYykmJmM8Yik6Yj1TVDxiLGEuY2FsbChlLCJhbWJpZW50LXRvcGJhciIsYi50b1N0cmluZygpKSl9O1FUPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoZWFkZXItYmFyIi50b1N0cmluZygpKX07ClRUPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVU0oKT09PSJob21lInx8SVEoKT9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsdGVyLWNoaXAtYmFyIi50b1N0cmluZygpKTpudWxsO2ImJihfLlR0KGIsImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKSxfLlR0KGIsImZpbHRlci1jaGlwLWJhci1pbiIpLF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLW91dCIpLF8uU3QoYixhKSl9OwpSVD1mdW5jdGlvbihhKXt2YXIgYj1RVCgpO2lmKGIpe2xldCBjPV8uYUwoe1sic3RpY2t5LXBsYXllciJdOl8udygiTVdFQl9TVElDS1lfUExBWUVSIiwhMSksWyJpcy1hdXRvbW90aXZlIl06SFEoKX0pO18uV00oKT9jPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LWJhY2tncm91bmQiLCJzaG9ydHMtdG9wYmFyIik6UFQoKT9jPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LWJhY2tncm91bmQiKTpPVCgpJiYoYz1fLmFMKGMsInRvcGJhci10cmFuc3BhcmVudC10aXRsZSIpKTtiLmNsYXNzTmFtZT1fLmFMKGEsYyl9fTtmbGE9ZnVuY3Rpb24oKXtyZXR1cm4gVVR9O2hsYT1mdW5jdGlvbihhLGIpe2ImJihWVD0hMCk7YT1VVD1hO2I9SlIoKTthIT09YiYmKGI9Xy5IeigpLF8uRHooMTQxLCEwKSxfLkR6KDE0MCwhYSksYi5zYXZlKCkpO2dsYSgpfTtnbGE9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KCgpPT57Xy5YTSgicGxheWVyLWF1dG9uYXYtcGF1c2UiLHtwYXVzZWQ6ITF9KX0pfTsKaWxhPWZ1bmN0aW9uKCl7cmV0dXJuIFZUfTtXVD1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1FKCk/YiYmYT8udmlkZW9EdXJhdGlvbj4zMDpiJiYhYS5lYX07WFQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYiYmYS5lYSYmIV8uTUUoKX07amxhPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYj1iPz9hd2FpdCBfLkxIKCkpYi51bk11dGUoITApLGIuc2V0Vm9sdW1lKGEsITApfTtaVD1mdW5jdGlvbihhLGIpe2EmJihhLnZhbHVlPWAke2J9YCxhLnN0eWxlLnNldFByb3BlcnR5KCItLWdyYWRpZW50LXBlcmNlbnQiLGAke2J9JWApKX07a2xhPWZ1bmN0aW9uKGEpe3JldHVybiBfLngoInBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0Iik/Xy5rRygkVCk6YX07YVU9ZnVuY3Rpb24oYSl7cmV0dXJuYGh0dHBzOi8vbS55b3V0dWJlLmNvbS9zdGF0aWMvbG90dGllLyR7YX0uanNvbmB9OwpiVT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiYW5pbWF0ZWRfbGlrZV9pY29uIjpyZXR1cm57bmFtZToiYW5pbWF0ZWRfbGlrZV9pY29uX3YyX2RhcmsiLHBhdGg6YVUoImFuaW1hdGVkX2xpa2VfaWNvbl92Ml9kYXJrIiksbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImFuaW1hdGVkLWxpa2UtaWNvbiJ9fTtjYXNlICJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiI6Y2FzZSAibGlrZV90YXBfZmVlZGJhY2tfc2hvcnRzX2hlYXJ0IjpjYXNlICJwYXVzZV85NmRwX2FuaW1hdGlvbiI6Y2FzZSAicGxheV85NmRwX2FuaW1hdGlvbiI6Y2FzZSAic2Vla185NmRwX2FuaW1hdGlvbiI6cmV0dXJue25hbWU6YSxwYXRoOmFVKGEpLGxvb3A6ITEsYXV0b3BsYXk6ITF9O2RlZmF1bHQ6cmV0dXJue25hbWU6IiIscGF0aDoiIn19fTsKY1U9ZnVuY3Rpb24oYSl7Xy5MTygpLnRoZW4oYj0+e2Iuc3RvcCgibGlrZV8yNDBkcF9hbmltYXRpb25fdjIiKTtiLnN0b3AoImxpa2VfdGFwX2ZlZWRiYWNrX3Nob3J0c19oZWFydCIpO2Iuc3RvcCgicGxheV85NmRwX2FuaW1hdGlvbiIpO2Iuc3RvcCgicGF1c2VfOTZkcF9hbmltYXRpb24iKTtiLnBsYXkoYSl9KX07CmxsYT1mdW5jdGlvbihhKXt2YXIgYj1fLkh6KCk7SFEoKXx8YS5xdnx8YS5zdXBwcmVzc0FmdGVyQ2xvc2luZyYmTnVtYmVyKGIuZ2V0KCJzdXBwcmVzc19hcHBfdXBzZWxsIikpJiYhXy54KCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uIil8fChkVXx8KGRVPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKGRVLGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCkpLF8uSk4oZFUsbnVsbCwhMCksYSE9PWVVJiYoZlU/LigpLGZVPV8ueEYoZFUsKCk9PntfLm9GKCgpPT57Xy5NTygiLll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdCAuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50cyIpfSk7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTY3JpbUNvbnRhaW5lciJ9LF8uSyhfLlpOLHtsYWJlbDpfLiROLkNMT1NFfSkpLF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lciJ9LApfLksoZ1Use2RhdGE6YX0pKSl9LCJkZCIpKSxlVT1hKX07aFU9ZnVuY3Rpb24oKXtyZXR1cm57c3R5bGU6Im92ZXJsYXktZGFyayIsaWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHNpemU6IkwiLHNpemU6IlMiLHR5cGU6InRleHQiLHN0eWxlOiJvdmVybGF5In19O25sYT1mdW5jdGlvbihhKXt2YXIgYj1fLkIoYS5zaG9wcGluZ1Vwc2VsbCxtbGEpO2ImJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntsbGEoYil9KX07b2xhPWZ1bmN0aW9uKGEpe2E/LmxvZ2dpbmdEaXJlY3RpdmVzPy50cmFja2luZ1BhcmFtcyYmXy5seChfLmh4KCksYS5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtcyl9O2lVPWZ1bmN0aW9uKGEpe3JldHVybiBhfHxfLlZNKCl8fF8uVU0oKT09PSJob21lIn07alU9ZnVuY3Rpb24oYSxiKXtpZihiKXtpZihhJiZiLmRhcmtUaGVtZUxvZ28/Lmljb24/Lmljb25UeXBlKXJldHVybiBiLmRhcmtUaGVtZUxvZ28uaWNvbi5pY29uVHlwZTtpZihiLmxpZ2h0VGhlbWVMb2dvPy5pY29uPy5pY29uVHlwZSlyZXR1cm4gYi5saWdodFRoZW1lTG9nby5pY29uLmljb25UeXBlfX07CmxVPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSDtiJiYoa1U9KGE9a1UpPygoYj1OUShiKSk/Yi5kaXNwbGF5TmFtZXx8IiI6bnVsbCl8fGE6UFEoYikpO3JldHVybiBrVX07bVU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSgpLnBsYXllclN0YXRlPT09MCYmISFiJiYhYSgpLnhmJiZhKCkuYXV0b25hdkVuYWJsZWR9O25VPWZ1bmN0aW9uKGEsYil7Yj1NUyhiKTtyZXR1cm4gYSgpLnBsYXllclN0YXRlPT09MCYmYi5sZW5ndGg+MH07b1U9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuSD8uaXNSZWFkeT8uKCkmJmEuSD8uaXNBdExpdmVIZWFkKCl9O3BVPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udHJvbC1vdmVybGF5Iil9O3BsYT1mdW5jdGlvbihhKXthIT09LTEmJl8ueCgicGxheWVyX2NvbnRyb2xzX2xvZ19jcmVhdGlvbl9lbmFibGVkIikmJnBVKCkmJihfLkFxKCJwY3VfY3MiLGEpLF8uQXEoInBjdV9jZSIpKX07CnFVPWZ1bmN0aW9uKGEpe2lmKCFhfHxhLmdldFZpZGVvRGF0YSlyZXR1cm4gYX07cWxhPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIG9mIE9iamVjdC5rZXlzKGEpKWlmKGFbY10hPT1iW2NdKXJldHVybiExO3JldHVybiEwfTtyVT1mdW5jdGlvbigpe3JldHVybiBfLncoIk1XRUJfU1VQUE9SVFNfRE9VQkxFX1RBUF9UT19TRUVLIil9O3JsYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPGIvMz8tMTphPjIqYi8zPzE6MH07c1U9ZnVuY3Rpb24oYSxiLGMpe3JVKCkmJnZTKHsuLi5jLEpkOmIsS2I6YX0pJiYoKGE9Yy5IKSYmYS5zZWVrQnkoTWF0aC5zaWduKGIpKjEwLHZvaWQgMCx2b2lkIDAsNCksYy5wbGF5ZXJTdGF0ZT09PTJ8fGMuSD8ucGF1c2VWaWRlbygpLGI9PT0tMT9YUygyODIzOSk6WFMoMjgyNDApKX07CnVVPWZ1bmN0aW9uKGEsYil7clUoKSYmKGNsZWFyVGltZW91dCh0VSksdFU9c2V0VGltZW91dCgoKT0+e3ZhciBjPXtLYjowLEpkOjAseWg6MH07aWYodlMoYSkpe3ZhciBkPXVTKGEpfHxhLkNhPj1hLnZpZGVvRHVyYXRpb247Yy5lYT1hLnBsYXllclN0YXRlPT09Mnx8YS5wbGF5ZXJTdGF0ZT09PTN8fGQ7Yy52YT1hLkNhO2MueWI9ITE7YS5IPy5pc1JlYWR5Py4oKSYmKGEuSC5zZWVrVG8oYS5DYSksZD17Li4uYSwuLi5jfSwoZC5pc0xpdmV8fGQudmE8ZC52aWRlb0R1cmF0aW9uKSYmZC5PbiYmZC5IPy5nZXRQbGF5ZXJTdGF0ZSgpIT09MSYmZC5IPy5wbGF5VmlkZW8oKSl9ZWxzZSBhLktiPT09MSYmYj8uKCk7YS5TKGMpO2NsZWFyVGltZW91dCh0VSl9LGEuYmE/LnZ2Pz82MDApKX07c2xhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHJVKCkmJmIhPT0wP2EuSmQhPT1iPzE6KDAsXy5lbCkoKS1hLnloPjM1MD9hLktiOmEuS2IrMTowfTsKdWxhPWFzeW5jIGZ1bmN0aW9uKCl7dmFyIGE9YXdhaXQgdlUuamMoKTthJiYoYT1hd2FpdCBhLmdldCgiYXV0by16b29tLWVuYWJsZWQiKSx0bGEodHlwZW9mIGE9PT0iYm9vbGVhbiI/YTohMCkpfTt3VT1mdW5jdGlvbihhKXt2YXIgYj1hLnRvdWNoZXNbMF0sYz1hLnRvdWNoZXNbMV07YT1iLnBhZ2VYLWMucGFnZVg7Yj1iLnBhZ2VZLWMucGFnZVk7cmV0dXJuIE1hdGguc3FydChhKmErYipiKX07CklVPWZ1bmN0aW9uKGEsYil7eFUoYSkmJihhLnN0b3BQcm9wYWdhdGlvbigpLGE9eVUtelUsQVV8fChhPTApLEZUKGIpLF8ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJihCVT0wLENVKCkmJkRVKCExKSksYi5iYT8uTWl8fChiLk5hfHxiLldkfHxiLnNifHxfLlRFKCl8fF8uTUUoKSYmIWIuaXNGdWxsc2NyZWVufHwoYi5pc0Z1bGxzY3JlZW4mJihhKj0tMSksKGE8LTEwMHx8TWF0aC5hYnMoYSk+MTAwJiZiLmlzRnVsbHNjcmVlbikmJmIudGEudG9nZ2xlRnVsbHNjcmVlbih7ZHM6ITB9KSxFVSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNmb3JtOiJzY2FsZSgxKSIsdHJhbnNpdGlvbjoiMC4ycyBlYXNlIn0pKSxiLldkJiYoKGE9TWF0aC5hYnMoYi5KZik+NTA/IWIuTmE6Yi5OYSl8fGNUKGIpLGIuUyh7V2Q6ITEsTmE6YSxKZjowfSkpKSxGVT0oMCxfLmVsKSgpLHlVPUdVPXpVPUhVPTAsQVU9ITEpfTsKeFU9ZnVuY3Rpb24oYSl7dmFyIGI9W2EudGFyZ2V0Py5nZXRBdHRyaWJ1dGUoImlkIiksLi4uKGEudGFyZ2V0Py5jbGFzc0xpc3R8fFtdKV07cmV0dXJuISEicGxheWVyLWNvbnRyb2wtb3ZlcmxheSBwbGF5ZXItY29udHJvbHMtbWlkZGxlIHBsYXllci1jb250cm9scy1ib3R0b20gZnVsbHNjcmVlbi1jb250cm9scyBwbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZCB0b3AtZnVsbC1zY3JlZW4tY29udHJvbHMiLnNwbGl0KCIgIikuZmluZChjPT5iLmZpbmQoZD0+ZD09PWMpKX07CktVPWZ1bmN0aW9uKGEsYil7aWYoYi5OYSlKVShhKSYmYi5TKHtOYTohMX0pO2Vsc2UgaWYoYi5wbGF5ZXJTdGF0ZSE9PS0xJiZiLnBsYXllclN0YXRlIT09NSlpZihKVShhKSl7dmFyIGM9V1EoYi5IKTtiLlMoe2VhOiEwLHliOiEwLGplOmN9KX1lbHNle3ZhciBkPXJsYShhLmNsaWVudFgsYi5UYy5vZmZzZXRXaWR0aCk7Yz1zbGEoYixkKTt2YXIgZT1jPmIuS2I7bGV0IGY9Yi5DYTtlJiYoZj1jPDI/Yi52YTpEUShiLkNhKyhkPT09LTE/LTE6MSkqMTAsMCxiLnZpZGVvRHVyYXRpb24pLHNVKGMsZCxiKSk7IWIuZWEmJmM8PTE/Y1QoYix7SWM6ITB9KTpiVCgpO2E9Yi5iYT8uenYmJmIuZWEmJiFKVShhKTtkPXtlYTp2bGEoey4uLmIsS2I6Y30pfHxhLFloOiExLEpkOmQsQ2E6ZixLYjpjLHliOiEwLHloOigwLF8uZWwpKCl9O2U/dVUoey4uLmIsS2I6YyxDYTpmfSxhPygpPT57aWYoYi5IPy5pc1JlYWR5Py4oKSl7bGV0IGg9V1EoYi5IKTtiLlMoe2plOmh9KX19OnZvaWQgMCk6YSYmYi5IJiYKKGU9V1EoYi5IKSxiLlMoe2plOmV9KSk7Yz09PTEmJihkLk9uPWIucGxheWVyU3RhdGU9PT0xfHxiLnBsYXllclN0YXRlPT09Myk7Yi5TKGQpfX07SlU9ZnVuY3Rpb24oYSl7cmV0dXJuIV8ueCgibXdlYl9pb3NfZGV0ZWN0X2Zha2VfY2xpY2tfa2lsbHN3aXRjaCIpJiZfLkdLJiZGVT4wJiYoMCxfLmVsKSgpLUZVPDEwMD8hMTp0eXBlb2YgUG9pbnRlckV2ZW50IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBQb2ludGVyRXZlbnQmJmEucG9pbnRlclR5cGU9PT0ibW91c2UifTt2bGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHVTKGEpfHxhLnBsYXllclN0YXRlPT09M3x8YS5LYj4xPyEwOiFhLmVhfTt3bGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz17dm9sdW1lOmIuSD8uZ2V0Vm9sdW1lKCk/PzAscmM6ISFiLkg/LmlzTXV0ZWQoKX07Yi5TKGMpfX07CnhsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSDtpZihjKXt2YXIgZD17eGM6ISFjLmdldE9wdGlvbnMoImNhcHRpb25zIil9O2QueGMmJihkLmNhcHRpb25zRW5hYmxlZD1PUShjKSk7Yi5TKGQpfX19Owp6bGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hKCksZD1jLkg7aWYoZCYmIWQuaXNLZXlib2FyZERpc2FibGVkPy4oKSYmIXlsYShiLnRhcmdldCxiKSl7c3dpdGNoKGIuY29kZSl7Y2FzZSAiU3BhY2UiOmNhc2UgIktleUsiOmQ9V1EoZCk7Yy5TKHtlYTohMCxqZTpkfSk7YnJlYWs7Y2FzZSAiQXJyb3dMZWZ0IjpjYXNlICJLZXlKIjpMVShjLC0xKTticmVhaztjYXNlICJBcnJvd1JpZ2h0IjpjYXNlICJLZXlMIjpMVShjLDEpO2JyZWFrO2Nhc2UgIktleU0iOmMucmM/ZC51bk11dGUoKTpkLm11dGUoKTtjLlMoe2VhOiEwfSk7YnJlYWs7Y2FzZSAiS2V5RiI6UlEoKTtkLnRvZ2dsZUZ1bGxzY3JlZW4oKTtjLlMoe2VhOiEwfSk7Yi5zdG9wUHJvcGFnYXRpb24oKTticmVhaztjYXNlICJLZXlDIjpjLnhjJiZRUShkLGxVKGMpKTtjLlMoe2VhOiEwfSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59Yi5wcmV2ZW50RGVmYXVsdCgpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fX07CkxVPWZ1bmN0aW9uKGEsYil7aWYoXy54KCJtd2ViX2tleWJvYXJkX3NlZWtfb3ZlcmxheV9raWxsc3dpdGNoIikpYS5IPy5zZWVrQnkoMTAqKGI9PT0tMT8tMToxKSksYS5TKHtlYTohMH0pO2Vsc2V7dmFyIGM9YS5LYixkPWEuSmQsZT0oMCxfLmVsKSgpLGY9ZS1hLnloO2M9ZCE9PWJ8fGY+MzUwPzI6YysxO2Q9Yj09PS0xPy0xOjE7ZD1jPT09Mj8oYS52YXx8MCkrZCoxMDphLkNhK2QqMTA7ZD1EUShkLDAsYS52aWRlb0R1cmF0aW9uKTtlPXtlYTohMCxZaDohMSxKZDpiLENhOmQsS2I6Yyx5YjohMCx5aDplfTtjPT09MiYmKGUuT249YS5wbGF5ZXJTdGF0ZT09PTF8fGEucGxheWVyU3RhdGU9PT0zKTtzVShjLGIsey4uLmEsLi4uZX0pO3VVKHsuLi5hLC4uLmV9KTthLlMoZSl9fTsKeWxhPWZ1bmN0aW9uKGEsYil7aWYoYi5jdHJsS2V5fHxiLmFsdEtleXx8Yi5tZXRhS2V5KXJldHVybiEwO3ZhciBjPWEudGFnTmFtZTtyZXR1cm4gYz09PSJJTlBVVCJ8fGM9PT0iVEVYVEFSRUEifHxjPT09IlNFTEVDVCJ8fGIua2V5PT09IlRhYiJ8fGIuY29kZT09PSJTcGFjZSImJihjPT09IkJVVFRPTiJ8fGM9PT0iQSJ8fChhPWEuZ2V0QXR0cmlidXRlKCJyb2xlIikpJiYoYT09PSJidXR0b24ifHxhPT09Im9wdGlvbiJ8fGEuc3RhcnRzV2l0aCgibWVudWl0ZW0iKSkpPyEwOiExfTsKT1U9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYSgpLHBsYXllclN0YXRlOjB9LGQ9QVMoYigpPy53YXRjaE5leHRSZXNwb25zZSksZT1CUyhiKCk/LndhdGNoTmV4dFJlc3BvbnNlKTtIUyhjLGQpJiYoTVUoYSksYy5TKHt5ZjohZT8uY291bnREb3duU2Vjc3x8ZS5jb3VudERvd25TZWNzPD0wPzEwOmUuY291bnREb3duU2Vjc30pLGM9d2luZG93LnNldEludGVydmFsKCgpPT57dmFyIGY9YSgpO2lmKGYueWYhPT0xKWYuUyh7eWY6Zi55Zi0xfSk7ZWxzZXtNVShhKTtmPWIoKT8ud2F0Y2hOZXh0UmVzcG9uc2U7Zj1BUyhmKTtsZXQgaD1mPy5zZXRzPy5bMF0uYXV0b3BsYXlWaWRlbztoJiZfLkFKKGgsZiwhMSx7YXV0b25hdjoiMSJ9KX19LDFFMyksXy54KCJtd2ViX3BsYXllcl91bmlmaWNhdGlvbl9zdGF0ZV9yZWZhY3Rvcl9raWxsc3dpdGNoIik/TlU9YzphKCkuUyh7Rms6Y30pKX07Ck1VPWZ1bmN0aW9uKGEpeyFfLngoIm13ZWJfcGxheWVyX3VuaWZpY2F0aW9uX3N0YXRlX3JlZmFjdG9yX2tpbGxzd2l0Y2giKSYmYT8oYT1hKCksYS5GayE9PXZvaWQgMCYmKGNsZWFySW50ZXJ2YWwoYS5GayksYS5TKHtGazp2b2lkIDB9KSkpOk5VJiYoY2xlYXJJbnRlcnZhbChOVSksTlU9dm9pZCAwKX07CkJsYT1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9YSgpLGU9e3hmOiExfTtlLnBsYXllclN0YXRlPWM7ZC5IJiZWUShkLkgpJiYoZS5wbGF5ZXJTdGF0ZT0yKTtjPT09MSYmKGQuSD8ubG9hZE1vZHVsZSgiY2FwdGlvbnMiKSxfLngoIm13ZWJfYmV0dGVyX2NhcHRpb25zX3BsYWNlbWVudCIpJiZkLkg/LnNldFN1YnRpdGxlc1RhcmdldENvbnRhaW5lcklkKCJjYXB0aW9ucy1nYWxvcmUtY29udGFpbmVyIikpO2M9PT0wJiYoZC5IPy51bmxvYWRNb2R1bGUoImNhcHRpb25zIiksXy54KCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiKSYmZC5IPy5jbGVhclN1YnRpdGxlc1RhcmdldENvbnRhaW5lcklkKCkpO2lmKGUucGxheWVyU3RhdGU9PT0tMSllLmVhPSEwO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTUpZS5lYT0hMDtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0zKWUuZWE9ITAsYlQoKTtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0xKWQuc2J8fGQueXF8fChkLnliPwpjVCh7Li4uZCwuLi5lfSk6ZS5lYT0hMSk7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09MiliVCgpO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTApe2UuZWE9ITA7YlQoKTtjPWEoKTt2YXIgZj1iKCk/LndhdGNoTmV4dFJlc3BvbnNlO2lmKGY9Xy5CKGY/LmNvbnRlbnRzPy5zaW5nbGVDb2x1bW5XYXRjaE5leHRSZXN1bHRzPy5hdXRvcGxheT8uYXV0b3BsYXk/LmF1dG9wbGF5RXhwbGljaXRDaG9pY2VEaWFsb2dSZW5kZXJlcixBbGEpKWYuZGlzYWJsZUJ1dHRvblN0eWxlT3ZlcnJpZGVzPSEwOyFjLnRhLlVsKCkmJmYmJihjLnRhLmV4aXRGdWxsc2NyZWVuKCksXy5BSih7b3BlblBvcHVwQWN0aW9uOntwb3B1cDp7Y29uZmlybURpYWxvZ1JlbmRlcmVyOmZ9LHBvcHVwVHlwZToiRElBTE9HIn19LHt9LCExKSk7ZC5hdXRvbmF2RW5hYmxlZCYmKE9VKGEsYiksXy5NTygiI3BsYXllci1lbmRzY3JlZW4gLnl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVsIGJ1dHRvbiIsNSx7cmw6ITB9KSl9ZC5TKGUpfX07CkNsYT1mdW5jdGlvbihhKXtQVSgoKT0+YSkoKX07RGxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpLGM9Yi5IO2MmJlZRKGMpJiZiLlMoe3BsYXllclN0YXRlOjJ9KX19OwpQVT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKTt2YXIgZD1jLkg7dmFyIGU9ZD8uZ2V0VmlkZW9EYXRhKCksZj1lPy5pc0xpdmV8fCExLGg9ZT8udmlkZW9faWQ7ZT1lPy5hbGxvd0xpdmVEdnI/PyEwO2Y9e3ZpZGVvRHVyYXRpb246VVEoZHx8dm9pZCAwKSxpc0xpdmU6Zix2aWRlb0lkOmgsaXNMaXZlRHZyRW5hYmxlZDplfTtmLnZpZGVvSWQhPT1jLnZpZGVvSWQmJihmPXsuLi5kVChkKSwuLi5mfSk7Yj8ucGxheWVydHlwZSYmKGYucGxheWVyVHlwZT1iLnBsYXllcnR5cGUpO2QmJihmLnhjPSEhZC5nZXRPcHRpb25zKCJjYXB0aW9ucyIpLGI9ZixoPShoPWQuZ2V0U3Rvcnlib2FyZExldmVsKGQuZ2V0TnVtYmVyT2ZTdG9yeWJvYXJkTGV2ZWxzKCktMSk/LmludGVydmFsTXMpP2gvMUUzOnZvaWQgMCxiLlpyPWgsZi54YyYmKGYuY2FwdGlvbnNFbmFibGVkPU9RKGQpKSk7Zi5yYz0hIWQ/LmlzTXV0ZWQoKTtkPWY7ZC5hdXRvbmF2RW5hYmxlZD1jLnRhLmRlKCk7ZC5pc1BsYXlsaXN0PQpYUSgpO2MuYmE/Lk1sIT09dm9pZCAwJiYoZC55Yj0hMCk7ZC5pc0Z1bGxzY3JlZW49Yy5pc0Z1bGxzY3JlZW47ZC5wbGF5ZXJTdGF0ZT09PTMmJihkLmVhPSEwKTtkLnBsYXllclN0YXRlPT09LTEmJihkLmVhPSEwKTtiPWMuR2M7eVMoey4uLmMsLi4uZH0pP2ImJihiLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTpiJiYoYi5zdHlsZS5kaXNwbGF5PSIiKTtNVShhKTtjLlMoZCl9fTsKRWxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCksZT1iKCksZj1kLkg7aWYoZil7ZC52aWRlb0lkPT09dm9pZCAwJiZDbGEoZCk7aWYoZSYmYyE9PXZvaWQgMCl7dmFyIGg9ey4uLmQsdmE6Y307KGU9RVMoZS5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpKSYmIWguaXNEcmFnZ2luZyYmKGg9a1QoaCxlKSxtVChoKSl9aD1mLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk7Yz17dmE6Y3x8MCxRbTpmLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24oKSxwbGF5ZXJUeXBlOmh9O3VTKGQpJiYoYy52YT1kLnZpZGVvRHVyYXRpb24pO2QuaXNMaXZlJiYoaD1mLmdldFByb2dyZXNzU3RhdGUoaCksYy52YS09aC5zZWVrYWJsZVN0YXJ0LGMudmlkZW9EdXJhdGlvbj1VUShmKSk7eVMoZCkmJmRlbGV0ZSBjLnZhO2Y9Yzt5Uyh7Li4uZCwuLi5mfSkmJihjPWQuR2MpJiYoYy5zdHlsZS5kaXNwbGF5PSJub25lIik7ZC5TKGYpfX19OwpGbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9PnthKCkuUyh7ZWE6ITEscmM6ITF9KX19O0dsYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2EoKS5TKHtpc0Z1bGxzY3JlZW46Yi5mdWxsc2NyZWVuLE5hOiExfSl9fTtIbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg7Yi5TKHtpc0Z1bGxzY3JlZW46Yi50YS5pc0Z1bGxzY3JlZW4oKSxjYXB0aW9uc0VuYWJsZWQ6Yz9PUShjKTpiLmNhcHRpb25zRW5hYmxlZH0pfX07SWxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpO18uVk0oe2hyZWY6d2luZG93LmxvY2F0aW9uLmhyZWZ9KXx8Yi5TKHtpc0Z1bGxzY3JlZW46ITF9KX19OwpKbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7WzkwLDI3MF0uaW5jbHVkZXMoTWF0aC5hYnMod2luZG93Lm9yaWVudGF0aW9uP3dpbmRvdy5vcmllbnRhdGlvbjp3aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbj8uYW5nbGU/d2luZG93LnNjcmVlbi5vcmllbnRhdGlvbi5hbmdsZTowKSk/ZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImxhbmRzY2FwZSIsInRydWUiKTpkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgibGFuZHNjYXBlIik7Yi5OYSYmYi5TKHtOYTohMX0pfX07S2xhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpO2IudGEuZXhpdEZ1bGxzY3JlZW4oKTtiLlMoe2lzRnVsbHNjcmVlbjohMX0pfX07TGxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCk7Yy5kZXRhaWw/LnBhdXNlZD8oTVUoYSksZC56Znx8ZC5TKHt6ZjohMH0pKToodVMoZCkmJk9VKGEsYiksZC56ZiYmZC5TKHt6ZjohMX0pKX19OwpNbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLnRhLmRlKCk7Y3x8TVUoYSk7Yi5TKHthdXRvbmF2RW5hYmxlZDpjfSl9fTtObGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PnthKCkuUyh7Ung6ISFifSl9fTtRVT1mdW5jdGlvbihhKXtNVShhLnByb3BzKTthLnByb3BzKCkuUyh7eGY6ITB9KX07UlU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5XRCgoKT0+YS5zZXRzWzBdLnByZXZpb3VzQnV0dG9uVmlkZW8pLGM9Xy5XRCgoKT0+YS5zZXRzWzBdLm5leHRCdXR0b25WaWRlbyk7cmV0dXJue1VhOmIsbmV4dDpjfX07U1U9ZnVuY3Rpb24oYSxiKXtiPWIoKT8ucnVucz8uWzBdLm5hdmlnYXRpb25FbmRwb2ludDt2YXIgYz1fLkIoYixfLlZEKT8udXJsO2EoKS5IPy5pc0VtYmVkc1Nob3J0c01vZGU/LigpJiZjJiZjLmluY2x1ZGVzKCIvd2F0Y2g/dj0iKSYmKF8uQihiLF8uVkQpLnVybD1jLnJlcGxhY2UoIi93YXRjaD92PSIsIi9zaG9ydHMvIikpO3JldHVybiBifTsKVVU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIiLGU9IiI7c3dpdGNoKGEpe2Nhc2UgLTE6Y2FzZSAwOmQ9Yj8iVk9MVU1FX09GRiI6Yz8iVk9MVU1FX09GRl9ERUxISV9QTEFZRVIiOiJWT0xVTUVfT0ZGX0ZJTExFRCI7ZT1PbGE7YnJlYWs7Y2FzZSAxOmQ9Yj8iVk9MVU1FX1VQX09VVExJTkUiOmM/IlZPTFVNRV9VUF9ERUxISV9QTEFZRVJfRklMTEVEIjoiVk9MVU1FX1VQX0ZJTExFRCI7ZT1UVTticmVhaztjYXNlIDI6ZD1iPyJWT0xVTUVfRE9XTl9PVVRMSU5FIjpjPyJWT0xVTUVfRE9XTl9ERUxISV9QTEFZRVJfRklMTEVEIjoiVk9MVU1FX0RPV05fRklMTEVEIjtlPVRVO2JyZWFrO2RlZmF1bHQ6Xy5lYihhLHZvaWQgMCl9cmV0dXJue2ljb25OYW1lOmQsYXJpYUxhYmVsOmV9fTsKUGxhPWZ1bmN0aW9uKGEsYil7dHlwZW9mIFZVPT09Im51bWJlciImJmNsZWFyVGltZW91dChWVSk7VlU9c2V0VGltZW91dCgoKT0+e2EuUyh7WWg6ITF9KTtWVT12b2lkIDB9LF8uQihiLmVuYWJsZWRFZHVDb21tYW5kLFdVKT8uZHVyYXRpb25Nc3x8NEUzKX07WFU9ZnVuY3Rpb24oYSxiLGMpe2EuUyh7YXV0b25hdkVuYWJsZWQ6YixZaDpjfSk7YS50YS5SaihiLGMpfTtZVT1mdW5jdGlvbihhKXtyZXR1cm4gXy5JRSh7ZGlzcGxheTooKT0+YSgpPyIiOiJub25lIn0pfTtRbGE9ZnVuY3Rpb24oYSl7aWYoXy54KCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIikmJmEpcmV0dXJue3BsYXloZWFkSW1hZ2U6YS5wbGF5aGVhZEltYWdlLHBsYXloZWFkUmV3aW5kSW1hZ2U6YS5wbGF5aGVhZFJld2luZEltYWdlLHBsYXloZWFkRmFzdEZvcndhcmRJbWFnZTphLnBsYXloZWFkRmFzdEZvcndhcmRJbWFnZX19OwpSbGE9ZnVuY3Rpb24oYSl7YT1hPy5nZXRQbGF5ZXJTdGF0ZU9iamVjdD8uKCk7cmV0dXJuKGE/LmlzQ3VlZHx8YT8uaXNVbnN0YXJ0ZWQpJiYhYT8uaXNFcnJvcn07WlU9ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGI9PntiKCl9KTthLmxlbmd0aD0wfTtTbGE9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5pZD0icGxheWVyLWNvbnRyb2xzIjtiLmNsYXNzTGlzdC5hZGQoInl0UGxheWVyQ29udHJvbHNDb250YWluZXJIb3N0Iik7dmFyIFtjLGRdPV8uSih7fSx2b2lkIDAsImJqSklsZCIpO2EuYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLCgpPT57JFUoYSxiLGMsZCl9KTthLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57JFUoYSxiLGMsZCl9KTtyZXR1cm4gYn07CiRVPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVRsYShhKTtkKGUpO2hqYShiLCFhLmdldFBsYXllclN0YXRlT2JqZWN0KCk/LmlzRXJyb3J8fCEhYVYoZSkpO2IuaGFzQ2hpbGROb2RlcygpfHxfLnhGKGIsKCk9PlVsYShhLGIsYyksIiRlIil9OwpVbGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uTigoKT0+YVYoYygpKSx2b2lkIDAsImRXNThiZCIpLGU9Xy51RihrPT57aWYoIV8ueCgiZW1iZWRzX2VuYWJsZV9lbWMzZHNfcGZwIikpcmV0dXJuITE7dmFyIGw9YygpO3JldHVybihsPWwuamI/LmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllck1vZGU/P2wucGxheWVyUmVzcG9uc2U/LnBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZSk/bD09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiOmt9LHtpbml0aWFsOiExfSksZj1fLnVGKGs9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZmwiKSlyZXR1cm4hMTt2YXIgbD1jKCk7cmV0dXJuKGw9bC5qYj8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZT8/bC5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlKT8KbD09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiOmt9LHtpbml0aWFsOiExfSksaD1fLk4oKCk9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpfHxfLngoImVtYmVkc19lbmFibGVfc2hvcnRzX2NvdW50ZXJmYWN0dWFsIikpcmV0dXJuITE7dmFyIGs9YygpLlBoPy5lbmRwb2ludDtyZXR1cm4hKCFrfHwhXy5CKGssXy5URCkpfSx2b2lkIDAsIldxZ0pyYiIpO18ubkUoKCk9PntfLngoImVtYmVkc19lbmFibGVfc2hvcnRzIikmJihfLngoImVtYmVkc19lbmFibGVfc2hvcnRzX2NvdW50ZXJmYWN0dWFsIil8fChlKCl8fGYoKXx8IWgoKT9hLnNldExvb3BWaWRlbyghMSk6YS5zZXRMb29wVmlkZW8oITApKSl9LCJaZ1V3Z2UiKTtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+ZCgpfSwoKT0+Xy5LKGJWLHtkYXRhOigpPT5kKCl9KSksXy5LKF8uQ0Use3doZW46ZX0sKCk9Pl8uSyhWbGEse0g6YSxjb250ZXh0OnRrYShhLGIpLGRhdGE6Y30pKSxfLksoXy5DRSwKe3doZW46Zn0sKCk9Pnt2YXIgaz1yUyhhKSxsPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2w9ey4uLnNTKGwpLFh3OiEwLFl3OiEwfTtyZXR1cm4gXy5LKGNWLHtjb250ZXh0Ont0YTprLGJhOmwsVGM6ZG9jdW1lbnQuYm9keSxHYzpifSxkYXRhOmN9KX0pLF8uSyhfLkNFLHt3aGVuOmh9LCgpPT5fLksoV2xhLHtyZWVsSXRlbVdhdGNoUmVzcG9uc2U6KCk9PmMoKS5yZWVsSXRlbVdhdGNoUmVzcG9uc2UsamI6KCk9PmMoKS5qYixQaDooKT0+YygpLlBoLEg6KCk9PmEsY29udGV4dDpza2EoYSxiKX0pKSxfLksoXy5ERSxudWxsLCgpPT57dmFyIGs9clMoYSksbD1zUyhhLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKSk7cmV0dXJuIF8uSyhjVix7Y29udGV4dDp7dGE6ayxiYTpsLFRjOmRvY3VtZW50LmJvZHksR2M6Yn0sZGF0YTpjfSl9KSl9OwphVj1mdW5jdGlvbihhKXtyZXR1cm4gYS5qYj8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzPy5lcnJvclNjcmVlbj8ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJ8fGEucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzPy5lcnJvclNjcmVlbj8ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJ9O1RsYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclJlc3BvbnNlKCksYz1hLmdldFdhdGNoTmV4dFJlc3BvbnNlKCksZD1hLmdldFJlZWxJdGVtV2F0Y2hSZXNwb25zZSgpLGU9YS5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCksZj1hLmdldFJlc29sdmVVcmxSZXNwb25zZSgpO3JldHVybntwbGF5ZXJPdmVybGF5UmVuZGVyZXI6Yz8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcixwbGF5ZXJSZXNwb25zZTpiLFBoOmYsd2F0Y2hOZXh0UmVzcG9uc2U6YyxyZWVsSXRlbVdhdGNoUmVzcG9uc2U6ZCxqYjplLEg6YX19OwpfLmRWPWZ1bmN0aW9uKGEpe18uQXEoImVwX2luaXRfcnMiKTt2YXIgYj1kb2N1bWVudC5ib2R5O2E9U2xhKGEpO2IuYXBwZW5kQ2hpbGQoYSk7YT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmlkPSJib3R0b20tc2hlZXQtd3JhcHBlciI7KDAsXy5JQykoYSxVamEpO2IuYXBwZW5kQ2hpbGQoYSk7Xy5BcSgiZXBfaW5pdF9yZSIpfTtfLmc9RlEucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgRlEodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKXy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLmVWJiZhIGluc3RhbmNlb2YgXy5lVj9hLng+PXRoaXMubGVmdCYmYS54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PWEubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PWEubGVmdCthLndpZHRoJiZ0aGlzLnRvcDw9YS50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1hLnRvcCthLmhlaWdodH07Xy5nLmdldFNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8ubmQodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguY2VpbCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguY2VpbCh0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Cl8uZy5mbG9vcj1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PXR5cGVvZiBfLmVWJiZhIGluc3RhbmNlb2YgXy5lVj8odGhpcy5sZWZ0Kz1hLngsdGhpcy50b3ArPWEueSk6KHRoaXMubGVmdCs9YSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy50b3ArPWIpKTtyZXR1cm4gdGhpc307Cl8uZy5zY2FsZT1mdW5jdGlvbihhLGIpe2I9dHlwZW9mIGI9PT0ibnVtYmVyIj9iOmE7dGhpcy5sZWZ0Kj1hO3RoaXMud2lkdGgqPWE7dGhpcy50b3AqPWI7dGhpcy5oZWlnaHQqPWI7cmV0dXJuIHRoaXN9Owp2YXIgdlU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy50b2tlbj1hfXN0YXRpYyBhc3luYyBqYygpe3JldHVybiBuZXcgUHJvbWlzZShhPT57Xy5QbCgpLnRoZW4oYj0+e2I/KHZVLmluc3RhbmNlfHwodlUuaW5zdGFuY2U9bmV3IHZVKGIpKSxhKHZVLmluc3RhbmNlKSk6YSh2b2lkIDApfSl9KX1hc3luYyBnZXQoYSl7aWYoYT1hd2FpdCAoYXdhaXQgR1EodGhpcy50b2tlbikpLmdldCgicHJlZnMiLGEpKXt2YXIgYj0oMCxfLmVsKSgpO3JldHVybiBhLmV4cGlyYXRpb25UaW1lc3RhbXBNczw9Yj92b2lkIDA6YS52YWx1ZX19YXN5bmMgc2V0KGEsYixjPTMxNTM2RTMpe3ZhciBkPSgwLF8uZWwpKCk7YT17a2V5OmEsdmFsdWU6YixleHBpcmF0aW9uVGltZXN0YW1wTXM6ZCtjKjFFM307Yj1hd2FpdCBHUSh0aGlzLnRva2VuKTthd2FpdCBfLm1sKGIsInByZWZzIixhKX1hc3luYyByZW1vdmUoYSl7YXdhaXQgKGF3YWl0IEdRKHRoaXMudG9rZW4pKS5kZWxldGUoInByZWZzIixhKX19LFlRPQpudWxsLGZWPXtTbjp7MUUzOntvdGhlcjoiMEsifSwxRTQ6e290aGVyOiIwMEsifSwxRTU6e290aGVyOiIwMDBLIn0sMUU2OntvdGhlcjoiME0ifSwxRTc6e290aGVyOiIwME0ifSwxRTg6e290aGVyOiIwMDBNIn0sMUU5OntvdGhlcjoiMEIifSwxRTEwOntvdGhlcjoiMDBCIn0sMUUxMTp7b3RoZXI6IjAwMEIifSwxRTEyOntvdGhlcjoiMFQifSwxRTEzOntvdGhlcjoiMDBUIn0sMUUxNDp7b3RoZXI6IjAwMFQifX0sVnM6ezFFMzp7b3RoZXI6IjAgdGhvdXNhbmQifSwxRTQ6e290aGVyOiIwMCB0aG91c2FuZCJ9LDFFNTp7b3RoZXI6IjAwMCB0aG91c2FuZCJ9LDFFNjp7b3RoZXI6IjAgbWlsbGlvbiJ9LDFFNzp7b3RoZXI6IjAwIG1pbGxpb24ifSwxRTg6e290aGVyOiIwMDAgbWlsbGlvbiJ9LDFFOTp7b3RoZXI6IjAgYmlsbGlvbiJ9LDFFMTA6e290aGVyOiIwMCBiaWxsaW9uIn0sMUUxMTp7b3RoZXI6IjAwMCBiaWxsaW9uIn0sMUUxMjp7b3RoZXI6IjAgdHJpbGxpb24ifSwxRTEzOntvdGhlcjoiMDAgdHJpbGxpb24ifSwKMUUxNDp7b3RoZXI6IjAwMCB0cmlsbGlvbiJ9fX0sclI9ZlY7clI9ZlY7dmFyIHFSPXtBRUQ6WzIsImRoIiwiXHUwNjJmLlx1MDYyNS4iXSxBTEw6WzAsIkxlayIsIkxlayJdLEFVRDpbMiwiJCIsIkFVJCJdLEJEVDpbMiwiXHUwOWYzIiwiVGsiXSxCR046WzIsImxldiIsImxldiJdLEJSTDpbMiwiUiQiLCJSJCJdLENBRDpbMiwiJCIsIkMkIl0sQ0RGOlsyLCJGckNEIiwiQ0RGIl0sQ0hGOlsyLCJDSEYiLCJDSEYiXSxDTFA6WzAsIiQiLCJDTCQiXSxDTlk6WzIsIlx1MDBhNSIsIlJNQlx1MDBhNSJdLENPUDpbMzIsIiQiLCJDT0wkIl0sQ1JDOlswLCJcdTIwYTEiLCJDUlx1MjBhMSJdLENaSzpbNTAsIktcdTAxMGQiLCJLXHUwMTBkIl0sREtLOls1MCwia3IuIiwia3IuIl0sRE9QOlsyLCJSRCQiLCJSRCQiXSxFR1A6WzIsIlx1MDBhMyIsIkxFIl0sRVRCOlsyLCJCaXJyIiwiQmlyciJdLEVVUjpbMiwiXHUyMGFjIiwiXHUyMGFjIl0sR0JQOlsyLCJcdTAwYTMiLCJHQlx1MDBhMyJdLEhLRDpbMiwiJCIsIkhLJCJdLEhSSzpbMiwia24iLCJrbiJdLEhVRjpbMzQsCiJGdCIsIkZ0Il0sSURSOlswLCJScCIsIlJwIl0sSUxTOlszNCwiXHUyMGFhIiwiSUxcdTIwYWEiXSxJTlI6WzIsIlx1MjBiOSIsIlJzIl0sSVJSOlswLCJSaWFsIiwiSVJSIl0sSVNLOlswLCJrciIsImtyIl0sSk1EOlsyLCIkIiwiSkEkIl0sSlBZOlswLCJcdTAwYTUiLCJKUFx1MDBhNSJdLEtSVzpbMCwiXHUyMGE5IiwiS1JcdTIwYTkiXSxMS1I6WzIsIlJzIiwiU0xScyJdLExUTDpbMiwiTHQiLCJMdCJdLE1OVDpbMCwiXHUyMGFlIiwiTU5cdTIwYWUiXSxNVlI6WzIsIlJmIiwiTVZSIl0sTVhOOlsyLCIkIiwiTWV4JCJdLE1ZUjpbMiwiUk0iLCJSTSJdLE5PSzpbNTAsImtyIiwiTk9rciJdLFBBQjpbMiwiQi8uIiwiQi8uIl0sUEVOOlsyLCJTLy4iLCJTLy4iXSxQSFA6WzIsIlx1MjBiMSIsIlBIUCJdLFBLUjpbMCwiUnMiLCJQS1JzLiJdLFBMTjpbNTAsInpcdTAxNDIiLCJ6XHUwMTQyIl0sUk9OOlsyLCJST04iLCJST04iXSxSU0Q6WzAsImRpbiIsIlJTRCJdLFJVQjpbNTAsIlx1MjBiZCIsCiJSVUIiXSxTQVI6WzIsIlNBUiIsIlNBUiJdLFNFSzpbNTAsImtyIiwia3IiXSxTR0Q6WzIsIiQiLCJTJCJdLFRIQjpbMiwiXHUwZTNmIiwiVEhCIl0sVFJZOlsyLCJcdTIwYmEiLCJUUlkiXSxUV0Q6WzIsIiQiLCJOVCQiXSxUWlM6WzAsIlRTaCIsIlRTaCJdLFVBSDpbMiwiXHUwNDMzXHUwNDQwXHUwNDNkLiIsIlVBSCJdLFVTRDpbMiwiJCIsIlVTJCJdLFVZVTpbMiwiJCIsIiRVIl0sVk5EOls0OCwiXHUyMGFiIiwiVk5cdTIwYWIiXSxZRVI6WzAsIlJpYWwiLCJSaWFsIl0sWkFSOlsyLCJSIiwiWkFSIl19O3ZhciBnVjsKZ1Y9e0RBWTp7TE9ORzoib25leyMgZGF5fW90aGVyeyMgZGF5c30iLFNIT1JUOiJvbmV7IyBkYXl9b3RoZXJ7IyBkYXlzfSIsTkFSUk9XOiJvbmV7I2R9b3RoZXJ7I2R9In0sSE9VUjp7TE9ORzoib25leyMgaG91cn1vdGhlcnsjIGhvdXJzfSIsU0hPUlQ6Im9uZXsjIGhyfW90aGVyeyMgaHJ9IixOQVJST1c6Im9uZXsjaH1vdGhlcnsjaH0ifSxNSU5VVEU6e0xPTkc6Im9uZXsjIG1pbnV0ZX1vdGhlcnsjIG1pbnV0ZXN9IixTSE9SVDoib25leyMgbWlufW90aGVyeyMgbWlufSIsTkFSUk9XOiJvbmV7I219b3RoZXJ7I219In0sTU9OVEg6e0xPTkc6Im9uZXsjIG1vbnRofW90aGVyeyMgbW9udGhzfSIsU0hPUlQ6Im9uZXsjIG10aH1vdGhlcnsjIG10aHN9IixOQVJST1c6Im9uZXsjbX1vdGhlcnsjbX0ifSxTRUNPTkQ6e0xPTkc6Im9uZXsjIHNlY29uZH1vdGhlcnsjIHNlY29uZHN9IixTSE9SVDoib25leyMgc2VjfW90aGVyeyMgc2VjfSIsTkFSUk9XOiJvbmV7I3N9b3RoZXJ7I3N9In0sV0VFSzp7TE9ORzoib25leyMgd2Vla31vdGhlcnsjIHdlZWtzfSIsClNIT1JUOiJvbmV7IyB3a31vdGhlcnsjIHdrc30iLE5BUlJPVzoib25leyN3fW90aGVyeyN3fSJ9LFlFQVI6e0xPTkc6Im9uZXsjIHllYXJ9b3RoZXJ7IyB5ZWFyc30iLFNIT1JUOiJvbmV7IyB5cn1vdGhlcnsjIHlyc30iLE5BUlJPVzoib25leyN5fW90aGVyeyN5fSJ9fTt2YXIgaFY9e0NlOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSwgezF9Il0sUm46WyJ7MH0gYW5kIHsxfSIsInswfSAmIHsxfSIsInswfSwgezF9Il0sbWs6WyJ7MH0sIGFuZCB7MX0iLCJ7MH0sICYgezF9IiwiezB9LCB7MX0iXSxpbzpbInswfSBvciB7MX0iLCJ7MH0gb3IgezF9IiwiezB9IG9yIHsxfSJdLHhrOlsiezB9LCBvciB7MX0iLCJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9Il0scm86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLHFvOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXSxBazpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il19OwpoVj17Q2U6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9LCB7MX0iXSxSbjpbInswfSBhbmQgezF9IiwiezB9ICYgezF9IiwiezB9LCB7MX0iXSxtazpbInswfSwgYW5kIHsxfSIsInswfSwgJiB7MX0iLCJ7MH0sIHsxfSJdLGlvOlsiezB9IG9yIHsxfSIsInswfSBvciB7MX0iLCJ7MH0gb3IgezF9Il0seGs6WyJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iXSxybzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0scW86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLEFrOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXX07dmFyIFhsYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPXt0eXBlOiJ1bml0IixzdHlsZToibmFycm93In07dGhpcy5JPWEmJmEudHlwZT9hLnR5cGU6ImNvbmp1bmN0aW9uIjt0aGlzLks9YSYmYS5zdHlsZT9hLnN0eWxlOiJsb25nIjt0aGlzLmo9aFY7YT0wO3N3aXRjaCh0aGlzLkspe2Nhc2UgInNob3J0IjphPTE7YnJlYWs7Y2FzZSAibmFycm93IjphPTJ9c3dpdGNoKHRoaXMuSSl7Y2FzZSAiY29uanVuY3Rpb24iOnRoaXMuQj10aGlzLmouQ2VbYV07dGhpcy5EPSh0aGlzLmouUm58fHRoaXMuai5taylbYV07dGhpcy52PSh0aGlzLmouakN8fHRoaXMuai5DZSlbYV07dGhpcy5vPXRoaXMuai5ta1thXTticmVhaztjYXNlICJkaXNqdW5jdGlvbiI6dGhpcy5CPSh0aGlzLmouUUZ8fHRoaXMuai5DZSlbYV07dGhpcy5EPSh0aGlzLmouaW98fHRoaXMuai54aylbYV07dGhpcy52PSh0aGlzLmouUEZ8fHRoaXMuai5DZSlbYV07dGhpcy5vPXRoaXMuai54a1thXTticmVhaztjYXNlICJ1bml0Ijp0aGlzLkI9Cih0aGlzLmoucm98fHRoaXMuai5DZSlbYV0sdGhpcy5EPSh0aGlzLmouQUh8fHRoaXMuai5BaylbYV0sdGhpcy52PSh0aGlzLmoucW98fHRoaXMuai5DZSlbYV0sdGhpcy5vPXRoaXMuai5Ba1thXX19Zm9ybWF0KGEpe3JldHVybiB4amEodGhpcyxhKX19O3ZhciBpUj17YXI6ImxhdG4iLCJhci1FRyI6ImFyYWIiLGJuOiJiZW5nIixmYToiYXJhYmV4dCIsbXI6ImRldmEiLG15OiJteW1yIixuZToiZGV2YSJ9O3ZhciBpVj17Vm46Ii4iLHJrOiIsIixqbzoiJSIsQms6IjAiLFd0OiIrIixhbzoiLSIsWW46IkUiLGtvOiJcdTIwMzAiLHNrOiJcdTIyMWUiLEJ0OiJOYU4iLGd0OiIjLCMjMC4jIyMiLHpHOiIjRTAiLFNGOiIjLCMjMCUiLEZDOiJcdTAwYTQjLCMjMC4wMCIsV246IlVTRCJ9LGRSPWlWO2RSPWlWO3ZhciBlUj1JbnRsLk51bWJlckZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoWyJlbi1VUyIucmVwbGFjZSgiXyIsIi0iKV0pLmxlbmd0aD4wLGpSPSExOwpoUi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSxiKXtiPWJ8fFswXTtpZih0aGlzLm9hIT09MCl0aHJvdyBFcnJvcigiT2QiKTthPWEucmVwbGFjZSgvIHxcdTIwMmYvZywiXHUwMGEwIik7dmFyIGM9YS5pbmRleE9mKHRoaXMuTSxiWzBdKT09YlswXSxkPWEuaW5kZXhPZih0aGlzLkQsYlswXSk9PWJbMF07YyYmZCYmKHRoaXMuTS5sZW5ndGg+dGhpcy5ELmxlbmd0aD9kPSExOnRoaXMuTS5sZW5ndGg8dGhpcy5ELmxlbmd0aCYmKGM9ITEpKTtjP2JbMF0rPXRoaXMuTS5sZW5ndGg6ZCYmKGJbMF0rPXRoaXMuRC5sZW5ndGgpO2lmKGEuaW5kZXhPZihkUi5zayxiWzBdKT09YlswXSl7YlswXSs9ZFIuc2subGVuZ3RoO3ZhciBlPUluZmluaXR5fWVsc2V7ZT1hO2xldCBmPSExLGg9ITEsaz0hMSxsPS0xLG09MSxuPWRSLlZuLHA9ZFIucmsscj1kUi5ZbjtpZih0aGlzLm9hIT0wKXRocm93IEVycm9yKCJQZCIpO3A9cC5yZXBsYWNlKC9cdTIwMmYvZywiXHUwMGEwIik7bGV0IHQ9IiI7Zm9yKDtiWzBdPAplLmxlbmd0aDtiWzBdKyspe2xldCB2PWUuY2hhckF0KGJbMF0pLHo9cFIodik7aWYoej49MCYmejw9OSl0Kz16LGs9ITA7ZWxzZSBpZih2PT1uLmNoYXJBdCgwKSl7aWYoZnx8aClicmVhazt0Kz0iLiI7Zj0hMH1lbHNlIGlmKHY9PXAuY2hhckF0KDApJiYoIlx1MDBhMCIhPXAuY2hhckF0KDApfHxiWzBdKzE8ZS5sZW5ndGgmJnBSKGUuY2hhckF0KGJbMF0rMSkpPj0wKSl7aWYoZnx8aClicmVha31lbHNlIGlmKHY9PXIuY2hhckF0KDApKXtpZihoKWJyZWFrO3QrPSJFIjtoPSEwO2w9YlswXX1lbHNlIGlmKHY9PSIrInx8dj09Ii0iKXtpZihrJiZsIT1iWzBdLTEpYnJlYWs7dCs9dn1lbHNlIGlmKHRoaXMudj09MSYmdj09ZFIuam8uY2hhckF0KDApKXtpZihtIT0xKWJyZWFrO209MTAwO2lmKGspe2JbMF0rKzticmVha319ZWxzZSBpZih0aGlzLnY9PTEmJnY9PWRSLmtvLmNoYXJBdCgwKSl7aWYobSE9MSlicmVhazttPTFFMztpZihrKXtiWzBdKys7YnJlYWt9fWVsc2UgYnJlYWt9dGhpcy52IT0KMSYmKG09dGhpcy52KTtlPXBhcnNlRmxvYXQodCkvbX1pZihjKXtpZihhLmluZGV4T2YodGhpcy5nYSxiWzBdKSE9YlswXSlyZXR1cm4gTmFOO2JbMF0rPXRoaXMuZ2EubGVuZ3RofWVsc2UgaWYoZCl7aWYoYS5pbmRleE9mKHRoaXMuVSxiWzBdKSE9YlswXSlyZXR1cm4gTmFOO2JbMF0rPXRoaXMuVS5sZW5ndGh9cmV0dXJuIGQ/LWU6ZX07CmhSLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5CPnRoaXMuail0aHJvdyBFcnJvcigiU2QiKTtpZihlUiYmdGhpcy5LKXsodGhpcy5LLmZvcm1hdD09bnVsbHx8dGhpcy5RYXx8dGhpcy5NYXx8dGhpcy5WZHx8alIpJiZmUih0aGlzKTtpZihNYXRoLmFicyhhKTwxJiZ0aGlzLmhhPnRoaXMuail7dmFyIGI9TWF0aC5wb3coMTAsdGhpcy5qKTthPU1hdGgucm91bmQoTWF0aC5hYnMoYSkqYikqTWF0aC5zaWduKGEpL2J9dGhpcy5LLnJlc29sdmVkT3B0aW9ucygpO3JldHVybiB0aGlzLksuZm9ybWF0KGEpfWlmKGlzTmFOKGEpKXJldHVybiBkUi5CdDtiPVtdO3ZhciBjPWE7aWYodGhpcy5vYT09MCljPXNSO2Vsc2V7Yz1NYXRoLmFicyhjKTt2YXIgZD10Uih0aGlzLGM8PTE/MDp1UihjKSkucGw7Yz10Uih0aGlzLGQrdVIobVIodGhpcyxrUihjLC1kKSkuaW50VmFsdWUpKX1hPWtSKGEsLWMucGwpOyhkPWE8MHx8YT09MCYmMS9hPDApP2Mud20/Yi5wdXNoKGMud20pOgooYi5wdXNoKGMucHJlZml4KSxiLnB1c2godGhpcy5EKSk6KGIucHVzaChjLnByZWZpeCksYi5wdXNoKHRoaXMuTSkpO2lmKGlzRmluaXRlKGEpKWlmKGEqPWQ/LTE6MSxhKj10aGlzLnYsdGhpcy5GYSl7dmFyIGU9YTtpZihlPT0wKW5SKHRoaXMsZSx0aGlzLm8sYiksb1IodGhpcywwLGIpO2Vsc2V7dmFyIGY9TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLmxvZygxMCkrMkUtMTUpO2U9a1IoZSwtZik7dmFyIGg9dGhpcy5vO3RoaXMuWj4xJiZ0aGlzLlo+dGhpcy5vPyhoPWYldGhpcy5aLGg8MCYmKGg9dGhpcy5aK2gpLGU9a1IoZSxoKSxmLT1oLGg9MSk6dGhpcy5vPDE/KGYrKyxlPWtSKGUsLTEpKTooZi09dGhpcy5vLTEsZT1rUihlLHRoaXMuby0xKSk7blIodGhpcyxlLGgsYik7b1IodGhpcyxmLGIpfX1lbHNlIG5SKHRoaXMsYSx0aGlzLm8sYik7ZWxzZSBiLnB1c2goZFIuc2spO2Q/Yy54bT9iLnB1c2goYy54bSk6KGlzRmluaXRlKGEpJiZiLnB1c2goYy5zdWZmaXgpLGIucHVzaCh0aGlzLlUpKToKKGlzRmluaXRlKGEpJiZiLnB1c2goYy5zdWZmaXgpLGIucHVzaCh0aGlzLmdhKSk7cmV0dXJuIGIuam9pbigiIil9O3ZhciB5amE9IjAiLmNvZGVQb2ludEF0KDApLHNSPXtwbDowLHdtOiIiLHhtOiIiLHByZWZpeDoiIixzdWZmaXg6IiJ9O3ZhciBqVixCamE9alY9alY9emphO3ZhciBrVixDUj1rVj1rVj1BamE7dmFyIHdSPW51bGwseFI9bnVsbCx5Uj1udWxsLERqYT1SZWdFeHAoIicoW3t9I10uKj8pJyIsImciKSxDamE9UmVnRXhwKCInJyIsImciKTt6Ui5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKGEpe2lmKHRoaXMudil7dGhpcy5EPVtdO3ZhciBiPUVqYSh0aGlzLHRoaXMudik7dGhpcy5vPUhSKHRoaXMsYik7dGhpcy52PW51bGx9aWYodGhpcy5vJiZ0aGlzLm8ubGVuZ3RoIT0wKWZvcih0aGlzLmo9Xy55Yih0aGlzLkQpLGI9W10sQVIodGhpcyx0aGlzLm8sYSwhMSxiKSxhPWIuam9pbigiIik7dGhpcy5qLmxlbmd0aD4wOylhPWEucmVwbGFjZSh0aGlzLkIodGhpcy5qKSxTdHJpbmcodGhpcy5qLnBvcCgpKS5yZXBsYWNlKCIkIiwiJCQkJCIpKTtlbHNlIGE9IiI7cmV0dXJuIGF9O3ZhciBFUj0vXlxzKihcdyspXHMqLFxzKnBsdXJhbFxzKiwoPzpccypvZmZzZXQ6KFxkKykpPy8sRlI9L15ccyooXHcrKVxzKixccypzZWxlY3RvcmRpbmFsXHMqLC8sR1I9L15ccyooXHcrKVxzKixccypzZWxlY3RccyosLzsKelIucHJvdG90eXBlLkI9ZnVuY3Rpb24oYSl7cmV0dXJuIlx1ZmRkZl8iKyhhLmxlbmd0aC0xKS50b1N0cmluZygxMCkrIl8ifTt2YXIgVGphPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVlsYXx8Z1Z9Zm9ybWF0KGEpe3ZhciBiPVtdLGM9YS55ZWFycyxkPWEubW9udGhzLGU9YS53ZWVrcyxmPWEuZGF5cyxoPWEuaG91cnMsaz1hLm1pbnV0ZXM7YT1hLnNlY29uZHM7YyE9bnVsbCYmYi5wdXNoKElSKHRoaXMsYywieWVhcnMiKSk7ZCE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZCwibW9udGhzIikpO2UhPW51bGwmJmIucHVzaChJUih0aGlzLGUsIndlZWtzIikpO2YhPW51bGwmJmIucHVzaChJUih0aGlzLGYsImRheXMiKSk7aCE9bnVsbCYmYi5wdXNoKElSKHRoaXMsaCwiaG91cnMiKSk7ayE9bnVsbCYmYi5wdXNoKElSKHRoaXMsaywibWludXRlcyIpKTthIT1udWxsJiZiLnB1c2goSVIodGhpcyxhLCJzZWNvbmRzIikpO3JldHVybihuZXcgWGxhKS5mb3JtYXQoYil9fTsvKgoKIE1JVCBMaWNlbnNlCgogQ29weXJpZ2h0IChjKSAyMDE3IEFsZXhhbmRlciBSZWFyZG9uCgogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKIFNPRlRXQVJFCiovCnZhciBabGE9KGEsYik9PntpZihhLmxlbmd0aCE9PWIubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7KytjKWlmKGFbY10hPT1iW2NdKXJldHVybiExO3JldHVybiEwfTt2YXIgbFY9bmV3IF8uSSgid2F0Y2hPbllvdXR1YmVCdXR0b25WaWV3TW9kZWwiKTt2YXIgRWthPW5ldyBfLkkoImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyIiksbVY9bmV3IF8uSSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxuVj1uZXcgXy5JKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNFeHBhbmRlZFJlbmRlcmVyIik7dmFyIE9TPW5ldyBfLkkoImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyICRsYT1uZXcgXy5JKCJtb2JpbGVUb3BiYXJSZW5kZXJlciIpO3ZhciBhbWE9bmV3IF8uSSgiY2FsbFRvQWN0aW9uQnV0dG9uVmlld01vZGVsIik7dmFyIGJtYT1uZXcgXy5JKCJpbnRlcnN0aXRpYWxWaWV3TW9kZWwiKTt2YXIgZGxhPW5ldyBfLkkoImNpbmVtYXRpY0NvbnRhaW5lclJlbmRlcmVyIik7dmFyIGprYT1uZXcgXy5JKCJ2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbCIpO3ZhciBEa2E9bmV3IF8uSSgiZnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsIik7dmFyIG9WPW5ldyBfLkkoInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxwVj1uZXcgXy5JKCJwbGF5ZXJNdXRlZEF1dG9wbGF5RW5kU2NyZWVuUmVuZGVyZXIiKTt2YXIgS1M9bmV3IF8uSSgicXVpY2tBY3Rpb25zVmlld01vZGVsIik7dmFyIGNtYT1uZXcgXy5JKCJyZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbCIpO3ZhciBBbGE9bmV3IF8uSSgiY29uZmlybURpYWxvZ1JlbmRlcmVyIik7dmFyIG1sYT1uZXcgXy5JKCJib3R0b21TaGVldE92ZXJsYXlSZW5kZXJlciIpO3ZhciBkbWE9bmV3IF8uSSgiZGlhbG9nSGVhZGVyVmlld01vZGVsIik7dmFyIGVtYT1uZXcgXy5JKCJkaWFsb2dWaWV3TW9kZWwiKTt2YXIgV1U9bmV3IF8uSSgicGxheWVyVG9hc3RDb21tYW5kIik7dmFyIHZrYT1uZXcgXy5JKCJhdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyIik7dmFyIHhrYT1uZXcgXy5JKCJkZWNvcmF0ZWRQbGF5ZXJCYXJSZW5kZXJlciIpLERTPW5ldyBfLkkoIm11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyIiksZVQ9bmV3IF8uSSgiY2hhcHRlclJlbmRlcmVyIik7dmFyIHlrYT1uZXcgXy5JKCJkZWNvcmF0ZWRQbGF5aGVhZFJlbmRlcmVyIik7dmFyIEFrYT1uZXcgXy5JKCJmdWxsc2NyZWVuRW5nYWdlbWVudE92ZXJsYXlSZW5kZXJlciIpLEJrYT1uZXcgXy5JKCJmdWxsc2NyZWVuRW5nYWdlbWVudEFjdGlvbkJhclJlbmRlcmVyIiksZm1hPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyU2F2ZUJ1dHRvblJlbmRlcmVyIik7dmFyIGdtYT1uZXcgXy5JKCJoZWF0TWFya2VyUmVuZGVyZXIiKTt2YXIgd2thPW5ldyBfLkkoImhlYXRtYXBSZW5kZXJlciIpO3ZhciBxVj1uZXcgXy5JKCJ0aW1lZE1hcmtlckRlY29yYXRpb25SZW5kZXJlciIpO3ZhciBobWE9WyJlbi1DQSIsImVuIiwiZXMtTVgiLCJmci1DQSJdO3ZhciByVjtyVj17YnJvd3NlRW5kcG9pbnQ6e2Jyb3dzZUlkOiJGRXdoYXRfdG9fd2F0Y2gifSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOiIvIixyb290VmU6Mzg1NCx3ZWJQYWdlVHlwZToiV0VCX1BBR0VfVFlQRV9CUk9XU0UifX19O3ZhciBLUj0hMTt2YXIgS2phPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPXRoaXMuaj0wO3RoaXMuaj1iLngtYS54O3RoaXMubz1iLnktYS55fX07dmFyICRUPV8uZ3Uodm9pZCAwLCJCREVxSmIiKTt2YXIgc1Y9d2luZG93LFo9c1YuR0h8fCJlbi1VUyIsU2phPXNWLkhIfHxDUixZbGE9c1YuRkh8fGdWO3ZhciBRUjt2YXIgdWthPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuSD1hfXRvZ2dsZUZ1bGxzY3JlZW4oKXt0aGlzLkgudG9nZ2xlRnVsbHNjcmVlbigpfWV4aXRGdWxsc2NyZWVuKCl7dGhpcy5pc0Z1bGxzY3JlZW4oKSYmdGhpcy50b2dnbGVGdWxsc2NyZWVuKCl9aXNGdWxsc2NyZWVuKCl7cmV0dXJuIHRoaXMuSC5pc0Z1bGxzY3JlZW4oKX19O3ZhciBUUj1fLkwoKHt0YTphfSk9Pl8uSyhfLmZKLHtkYXRhOigpPT57dmFyIGI9Y1Ioe3RpdGxlOl8uSVAoXy4kTi5uayksa2w6YSgpLmRlKCksaWNvblR5cGU6IkFVVE9QTEFZIixFazpfLiROLm5rLERrOl8uJE4ubmt9KTtyZXR1cm4gXy5CKGIsXy5NUCl9LG9uVGFwOmZ1bmN0aW9uKGIpe3ZhciBjPSFhKCkuZGUoKTthKCkuUmooYywhMCk7Yi5zdG9wUHJvcGFnYXRpb24oKTtfLlhNKCJwZnAtYXV0b25hdi11cGRhdGUiLHthdXRvbmF2RW5hYmxlZDpjfSl9fSksIlliIik7VFIuaWRvbUNvbXBhdD0hMDt2YXIgaW1hPV8uJE4uYXUsY1M9Xy5MKCgpPT57dmFyIGE9KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChpbWEpLGljb25UeXBlOiJQRVJTT05fQ0lSQ0xFIn0pLF8uWkMpO3JldHVybiBfLksoXy5DRCx7ZGF0YTphLElhOiEwLG9uVGFwOigpPT57dmFyIGI9Xy5LTygpP18uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsIi9zaWduaW4/YWN0aW9uX2Nsb3NlX3RhYj10cnVlIik6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfRU1CRURERURfUExBWUVSIj9fLkZPKCIvL3lvdXR1YmUuY29tL3NpZ25pbiIsIm5leHQiLCIvcG9zdF9sb2dpbiIpOl8uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsbG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uc2VhcmNoKTtfLkFKKHtzaWduSW5FbmRwb2ludDp7fSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOmJ9fX0sYSgpLCExKX19KX0sIlpiIik7Y1MuaWRvbUNvbXBhdD0hMDt2YXIgam1hPV8uJE4uV3Msa21hPV8uJE4uWXMsbG1hPV8uJE4uVG4sVmphPV8uTCgoe2Z2OmF9KT0+e3ZhciBiPSJjb3B5LWRlYnVnLWluZm8tdGV4dGFyZWEiK18uT0goKTtyZXR1cm4gXy5LKF8uckUse1FnOigpPT5fLksoXy5BUCxudWxsLGxtYSkscWs6KCk9Pl8uSygidGV4dGFyZWEiLHtjbGFzczoiY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbyIsaWQ6Yn0sYSksRXo6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKF8uSksse2RhdGE6e2J1dHRvblRleHQ6am1hLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOiJNIixvblRhcDooKT0+e18ueSgpLnJlc29sdmUoXy55UCkubGQoKX19fSkpLFByOigpPT5fLksoXy56UCxudWxsLF8uSyhfLkpLLHtkYXRhOntidXR0b25UZXh0OmttYSxzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSIsb25UYXA6KCk9PntfLnNQKGIpO18ueSgpLnJlc29sdmUoXy55UCkubGQoKX19fSkpfSl9LAoiJGIiKTt2YXIgbW1hPV8uJE4uVG4sJFI9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAobW1hKSxpY29uVHlwZToiQlVHX1JFUE9SVCJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e1dqYShhKCkpfX0pLCJhYyIpOyRSLmlkb21Db21wYXQ9ITA7dmFyIG5tYT1fLiROLlpzLFpSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKG5tYSksaWNvblR5cGU6IkNPREUifSksXy5aQyksSWE6ITAsb25UYXA6KCk9Pnt2YXIgYj1hKCkuZ2V0VmlkZW9FbWJlZENvZGUoKTtiJiZiJiZ3aW5kb3cubmF2aWdhdG9yPy5jbGlwYm9hcmQmJndpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChiKX19KSwiYmMiKTtaUi5pZG9tQ29tcGF0PSEwO3ZhciBvbWE9Xy4kTi5idCxwbWE9Xy4kTi5mdCxXUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChvbWEpLGljb25UeXBlOiJMSU5LIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57UlIoYSgpLCExKX19KSwiY2MiKTtXUi5pZG9tQ29tcGF0PSEwO3ZhciBZUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChwbWEpLGljb25UeXBlOiJMSU5LIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57UlIoYSgpLCEwKX19KSwiZGMiKTtZUi5pZG9tQ29tcGF0PSEwO3ZhciB0Vj1fLiROLnV0LFZSPV8uTCgoe0g6YX0pPT5fLksoXy5mSix7ZGF0YTooKT0+e3ZhciBiPWNSKHt0aXRsZTpfLklQKHRWKSxrbDphKCkuZ2V0TG9vcFZpZGVvKCksRWs6dFYsRGs6dFYsaWNvblR5cGU6IkxPT1AifSk7cmV0dXJuIF8uQihiLF8uTVApfSxvblRhcDpiPT57YSgpLnNldExvb3BWaWRlbyghYSgpLmdldExvb3BWaWRlbygpKTtiLnN0b3BQcm9wYWdhdGlvbigpfX0pLCJlYyIpO1ZSLmlkb21Db21wYXQ9ITA7dmFyIFVSPV8uTCgoe0g6YX0pPT5fLksoInN0YWJsZS12b2x1bWUtdG9nZ2xlIix7Y2xhc3M6InN0YWJsZVZvbHVtZVRvZ2dsZUhvc3QifSxfLksoXy5mSix7ZGF0YTooKT0+Xy5CKGNSKHt0aXRsZTpfLklQKF8uJE4ueWspLGtsOmEoKS5oYXNEcmNBdWRpb1RyYWNrKCkmJmEoKS5nZXREcmNVc2VyUHJlZmVyZW5jZSgpPT09MSxpY29uVHlwZToiVk9MVU1FX1NUQUJMRSIsRWs6Xy4kTi55ayxEazpfLiROLnlrLGlzRGlzYWJsZWQ6IWEoKS5oYXNEcmNBdWRpb1RyYWNrKCl9KSxfLk1QKSxvblRhcDpmdW5jdGlvbihiKXthKCkuc2V0RHJjVXNlclByZWZlcmVuY2UoYSgpLmhhc0RyY0F1ZGlvVHJhY2soKSYmYSgpLmdldERyY1VzZXJQcmVmZXJlbmNlKCk9PT0xPzA6MSk7Yi5zdG9wUHJvcGFnYXRpb24oKX19KSksImZjIik7VVIuaWRvbUNvbXBhdD0hMDt2YXIgcW1hPV8uJE4uYnUsYlM9Xy5MKCh7SDphfSk9Pnt2YXIgYj0oKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHFtYSksaWNvblR5cGU6IklORk8ifSksXy5aQyk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PiEhYSgpLmdldFZpZGVvRGF0YSx0aGVuOigpPT5fLksoXy5DRCx7ZGF0YTpiLElhOiEwLG9uVGFwOigpPT57dmFyIGM9YSgpOyFjLmdldFZpZGVvRGF0YXx8KGMuaXNWaWRlb0luZm9WaXNpYmxlKCk/Yy5oaWRlVmlkZW9JbmZvKCk6Yy5zaG93VmlkZW9JbmZvKCkpfX0pfSl9LCJnYyIpO2JTLmlkb21Db21wYXQ9ITA7dmFyIHJtYT1fLiROLmR1LGFTPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHJtYSksaWNvblR5cGU6IlFVRVNUSU9OX0NJUkNMRSJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e2EoKS5yZXBvcnRQbGF5YmFja0lzc3VlJiYoYSgpLnJlcG9ydFBsYXliYWNrSXNzdWUoKSxfLnFQKHtocmVmOiJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlLz9wPXJlcG9ydF9wbGF5YmFjayJ9KSl9fSksImhjIik7YVMuaWRvbUNvbXBhdD0hMDt2YXIgc21hPV8uJE4ud3Qsb1M9Xy5MKCh7SDphLG9oOmIsdGE6Yyx0QTpkfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAoc21hKSxpY29uVHlwZToiT1VUTElORV9PVkVSRkxPV19IT1JJWk9OVEFMXzMyIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57WGphKGEoKSxiKCksYz8uKCksZD8uKCkpfX0pLCJpYyIpO29TLmlkb21Db21wYXQ9ITA7dmFyIGdrYT1fLiROLm1vLFlqYT1fLiROLm5vLFpqYT1fLiROLlR0LGZrYT1fLiROLlJ0LGVrYT1fLiROLlN0LGhrYT1fLiROLlh0LGFrYT1bNTAsMTAwLDEyNSwxNTAsMTc1LDIwMF0sJGphPVsxMDAsMTI1LDE1MCwxNzUsMjAwLDMwMF0sY2thPVs1MCwxMDAsMTI1LDE1MCwyMDBdLGJrYT1bMTAwLDEyNSwxNTAsMjAwLDMwMF0saFM7dmFyIHRtYT1fLiROLm1vLHVtYT1fLiROLm5vLG1TPV8uTCgoe0g6YX0pPT57dmFyIGI9KCk9Pnt2YXIgZD1hKCk/LmdldFBsYXliYWNrUmF0ZSgpLGU9Xy5hQSgiUExBWUJBQ0tfU1BFRURfWCIse3NwZWVkX3JhdGVfcGxhY2Vob2xkZXI6YCR7ZH1gfSk7cmV0dXJuIF8uQihiUih7dGl0bGU6Xy5JUCh0bWEpLHNlbGVjdGlvblRleHQ6Xy5JUChkPT09MT91bWE6ZSksaWNvblR5cGU6IlBMQVlfQVJST1dfSEFMRl9DSVJDTEUifSksXy5aQyl9LGM9KCk9Pntra2EoYSgpKX07cmV0dXJuIF8uSyhfLk8se0E6KCk9PiEhYSgpPy5nZXRQbGF5YmFja1JhdGUoKSx0aGVuOigpPT5fLksoXy5DRCx7ZGF0YTpiLElhOiEwLG9uVGFwOmN9KX0pfSwiamMiKTttUy5pZG9tQ29tcGF0PSEwO3ZhciB2bWE9Xy4kTi5OcyxuUz1fLkwoKCk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKHZtYSksbGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0OiJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9ERUZBVUxUIixsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJQRVJTT05fUkFEQVIifX1dfSxlbnRpdHlLZXk6IkVpb3ZlVzkxZEhWaVpTOWhjSEF2Y0d4aGVXVnlYMkYxWkdsdlgzUnlZV05yWDJWdWRHbDBlVjlyWlhrZ19nSW9BUSUzRCUzRCIsZW50aXR5U2VsZWN0b3JUeXBlOiJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9BVURJT19UUkFDS19TRUxFQ1RJT05fVEVYVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOlt7c2hvd0F1ZGlvVHJhY2tQaWNrZXJBY3Rpb25Db21tYW5kOnt9fV19fX19fX19LApfLlpDKSxJYTohMH0pLCJrYyIpO25TLmlkb21Db21wYXQ9ITA7dmFyIHdtYT1fLiROLkV0LHhtYT1fLiROLkZ0LHBrYT1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYj1hKCk/LmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpLGM9dHlwZW9mIGI/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U9PT0ib2JqZWN0IiYmYi50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fGI/LmRpc3BsYXlOYW1lfHwiIjtyZXR1cm4gXy5CKHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6Xy5JUCh3bWEpLGxpc3RJdGVtSWNvbkFmdGVyU2VsZWN0aW9uVGV4dDoiTElTVF9JVEVNX0lDT05fQUZURVJfU0VMRUNUSU9OX1RFWFRfREVGQVVMVCIsc2VsZWN0aW9uVGV4dDp7Y29udGVudDpjP2M6eG1hfSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmM/IkNMT1NFRF9DQVBUSU9OX1NFTEVDVEVEIjoiQ0xPU0VEX0NBUFRJT04ifX1dfSxlbnRpdHlLZXk6IkVpOHZlVzkxZEhWaVpTOWhjSEF2Y0d4aGVXVnlYMk5oY0hScGIyNWZiR0Z1WjNWaFoyVmZaVzUwYVhSNVgydGxlU0QtQWlnQiIsCmVudGl0eVNlbGVjdG9yVHlwZToiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfQ0FQVElPTl9MQU5HVUFHRV9TRUxFQ1RJT05fVEVYVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOlt7c2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e319XX19fX19LGlzRGlzYWJsZWQ6dHlwZW9mIGI9PT0idW5kZWZpbmVkIn19LF8uWkMpfSxJYTohMH0pLCJsYyIpO3ZhciBsa2E9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9O3ZhciB5bWE9Xy4kTi5OdCxta2E9Xy4kTi5PdCxsUz1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYj1iUih7dGl0bGU6Xy5JUCh5bWEpLHNlbGVjdGlvblRleHQ6Xy5JUChrUyhhKCksYSgpLmdldFBsYXliYWNrUXVhbGl0eSgpKSksaWNvblR5cGU6Ik9VVExJTkVfQURKVVNUIn0pO3JldHVybiBfLkIoYixfLlpDKX0sSWE6ITAsb25UYXA6KCk9PnthKCkuZ2V0QXZhaWxhYmxlUXVhbGl0eUxldmVscygpJiZva2EoYSgpKX19KSwibWMiKTtsUy5pZG9tQ29tcGF0PSEwOwp2YXIgbmthPV8uTCgoe0g6YX0pPT5fLksoXy5nRyx7cGE6KCk9PmEoKS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzKCksdGI6IklOREVYIn0sYj0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYz1iKCksZD1hKCkuZ2V0UHJlZmVycmVkUXVhbGl0eSgpO2M9YlIoe3RpdGxlOl8uSVAoa1MoYSgpLGMpKSxpY29uVHlwZTpjPT09ZD8iQ0hFQ0siOnZvaWQgMH0pO3JldHVybiBfLkIoYyxfLlpDKX0sSWE6ITAsb25UYXA6KCk9Pnt2YXIgYz1iKCk7YSgpLnNldFBsYXliYWNrUXVhbGl0eVJhbmdlKGMsYyl9fSkpLCJuYyIpO3ZhciBSUz1uZXcgU2V0LFFTPW51bGw7dmFyIFRTPW51bGwsVlM9e307dmFyIHVWPV8uTChhPT57dmFyIGI9Xy52RSgiYnV0dG9uIixkPT57ZCYmV1MoZCwyODU3MiwhXy54KCJlbWJlZHNfY3VlZF9vdmVybGF5X3ZlX2tzIikpfSksYz0oKT0+YS5HKCkuSD8uaXNFbWJlZHNTaG9ydHNNb2RlPy4oKTtyZXR1cm4gXy5LKCJjdWVkLW92ZXJsYXkiLHtjbGFzczpfLlAoInl0bUN1ZWRPdmVybGF5SG9zdCIse3l0bUN1ZWRPdmVybGF5SGlkZGVuOigpPT4hJFMoYS5HKCksYS5wbGF5YWJpbGl0eVN0YXR1cz8uKCkpfSksIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtiLnZhbHVlJiYoWFMoMjg1NzIpLGEuRygpLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDAsXy5LLnZpc3VhbEVsZW1lbnQpLGEuSD8uKCkucGxheVZpZGVvKCkpO2Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT4hYS5HKCkuYmE/LmhpZGVWaWRlb0luZm8mJiF1UyhhLkcoKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtQ3VlZE92ZXJsYXlHcmFkaWVudCJ9KX0pLF8uSygiYnV0dG9uIiwKe2NsYXNzOl8uUCgieXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uIix7eXRtQ3VlZE92ZXJsYXlTaG9ydHM6Y30pLGVsOmIsImFyaWEtbGFiZWwiOl8uJE4uUGcsdGl0bGU6Xy4kTi5QZ30sXy5LKF8uTUQse2ljb246KCk9PmMoKT8iWU9VVFVCRV9TSE9SVFNfQlJBTkRfMjQiOiJMT0dPIixjbGFzc05hbWU6Inl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24ifSkpKX0sIm9jIik7dVYuaWRvbUNvbXBhdD0hMDt2YXIgYVQ7dmFyIEFtYT1fLkwoKHtKejphLG11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyOmIscHJvZ3Jlc3NCYXJXaWR0aDpjLHByb2dyZXNzQ29sb3I6ZH0pPT57dmFyIGU9KCk9PmdUKGIoKSksZj0oKT0+alQoYSgpKSxoPSgpPT5jKCkqKGEoKS52YS9hKCkudmlkZW9EdXJhdGlvbik7cmV0dXJuIF8uSygieXQtY2hhcHRlcmVkLXByb2dyZXNzLWJhci1saW5lIix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0In0sXy5LKF8uZ0cse3BhOmV9LChrLGwpPT5fLksoem1hLHtOeTpmLGNoYXB0ZXJzOmUsaW5kZXg6bCxDejpoLHByb2dyZXNzQ29sb3I6ZCxEdTooKT0+e3ZhciBtPWpUKGEoKSksbj1nVChiKCkpLHA9bCgpLHI9aCgpO3JldHVybihtLnZhLWhUKF8uQihuW3BdLGVUKSkpL20udmEqcn19KSkpfSwicGMiKSx6bWE9Xy5MKCh7Tnk6YSxjaGFwdGVyczpiLGluZGV4OmMsQ3o6ZCxEdTplLHByb2dyZXNzQ29sb3I6Zn0pPT57dmFyIGg9Xy5QKCJ5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyQ2hhcHRlciIsCnt5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyQ2hhcHRlcklzU2NydWJiaW5nOigpPT5rKCkuYm0seXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcjooKT0+aygpLkJnLHl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbjooKT0+aygpLkxkPT09InNlZW4ifSksaz0oKT0+aVQoYSgpLGIoKSxjKCkpLGw9KCk9Pnt2YXIgbT1mPy4oKTtyZXR1cm4gbSE9PXZvaWQgMD9fLkpFKG0pOnZvaWQgMH07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6aCxzdHlsZTpfLklFKHt3aWR0aDooKT0+e3ZhciBtPWEoKSxuPWIoKSxwPWMoKSxyPV8uQihuW3BdLGVUKTtuPV8uQihuW3ArMV0sZVQpO3JldHVybmAkeyhuP2hUKG4pLWhUKHIpOm0udmlkZW9EdXJhdGlvbi1oVChyKSkvbS52aWRlb0R1cmF0aW9uKjEwMH0lYH0sImJhY2tncm91bmQtY29sb3IiOigpPT57YTp7dmFyIG09aygpO3N3aXRjaChtLkxkKXtjYXNlICJwZW5kaW5nIjptPQptLkJnPyJ3aGl0ZSI6InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSkiO2JyZWFrIGE7Y2FzZSAiYWN0aXZlIjptPW0uQmc/IndoaXRlIjoicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSI7YnJlYWsgYTtkZWZhdWx0Om09IiJ9fXJldHVybmAke219YH0sImJhY2tncm91bmQtc2l6ZSI6KCk9PmAke29UKGsoKSk/ZCgpOiIifXB4YCwiYmFja2dyb3VuZC1wb3NpdGlvbi14IjooKT0+YCR7b1QoaygpKT9lKCk6IiJ9cHhgLGJhY2tncm91bmQ6KCk9PmsoKS5MZD09PSJzZWVuIj9sKCk6dm9pZCAwfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJMb2FkZWQiLHN0eWxlOigpPT57dmFyIG09YSgpLG49YigpLHA9YygpO2lmKGlUKG0sbixwKS5MZD09PSJzZWVuIil2YXIgcj0wO2Vsc2Ugcj1oVChfLkIobltwXSxlVCkpLG49aFQoXy5CKG5bcCsxXSxlVCkpfHxtLnZpZGVvRHVyYXRpb24sbT1tLnZpZGVvRHVyYXRpb24qbS5RbSxyPW48PQptPzE6cj49bT8wOihtLXIpLyhuLXIpO3JldHVybmB3aWR0aDogJHtyKjEwMH0lYH19KSxfLksoImRpdiIse2NsYXNzOiJ5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbCIsc3R5bGU6Xy5JRSh7d2lkdGg6KCk9PmAke25UKGEoKSxiKCksYygpKSoxMDB9JWAsImJhY2tncm91bmQtc2l6ZSI6KCk9PmAke29UKGsoKSxuVChhKCksYigpLGMoKSkpP2QoKToiIn1weGAsImJhY2tncm91bmQtcG9zaXRpb24teCI6KCk9PmAke29UKGsoKSxuVChhKCksYigpLGMoKSkpP2UoKToiIn1weGAsYmFja2dyb3VuZDpsfSl9KSl9LCJxYyIpO3ZhciB2Vj1fLkwoKHtMYjphLGNvbmZpZzpifSk9Pnt2YXIgYz0oKT0+e3ZhciBkPShiKCkuU2k/Lk11Pz8wKSoxMDAsZT0oYigpLlNpPy5MdT8/MCkqMTAwLGY9ZS1kO3JldHVybiBmPjAmJmY8MTA/KGY9KDEwLWYpLzIsZC1mPj0wJiZlK2Y8MTAwP1tkLWYsZStmXTpkLWY8MD9bMCwxMF06WzkwLDEwMF0pOltkLGVdfTtyZXR1cm4gXy5LKCJ5dC1mb2N1c2VkLWNoYXB0ZXItcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZUhvc3QifSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZSIse3l0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVkOigpPT5iKCkuWHoseXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0OigpPT5iKCkucG9zaXRpb249PT0yfSl9LF8uSygiZGl2IiwKe2NsYXNzOiJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kIixzdHlsZTooKT0+YHdpZHRoOiAke2MoKVsxXS1jKClbMF19JTsgbGVmdDogJHtjKClbMF19JWB9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhclBsYXllZCIsc3R5bGU6KCk9Pnt2YXIgZD1iKCkuU2k/Lk11Pz8wLGU9YigpLlNpPy5MdT8/MCxmPXdTKGEoKSk7cmV0dXJuYHdpZHRoOiAke2Y8ZD8wOmY+ZXx8ZT09PWQ/MTAwOihmLWQpLyhlLWQpKjEwMH0lO2B9fSkpKSl9LCJyYyIpO3ZWLmlkb21Db21wYXQ9ITA7dmFyIEJtYT0oKGEsYj1abGEpPT57dmFyIGMsZD1bXSxlLGY9ITE7cmV0dXJuIGZ1bmN0aW9uKC4uLmgpe2lmKGYmJmM9PT10aGlzJiZiKGgsZCkpcmV0dXJuIGU7ZT1hLmFwcGx5KHRoaXMsaCk7Zj0hMDtjPXRoaXM7ZD1oO3JldHVybiBlfX0pKGE9Pnt2YXIge21pbkhlaWdodERwOmI9MCxtYXhIZWlnaHREcDpjPTYwLGhlYXRNYXJrZXJzOmR9PWEsZT0xRTMvZC5sZW5ndGg7YT1bXTthLnB1c2goe3g6MCx5OjEwMH0pO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgaD0oZisuNSkqZSxrPTEwMC1EUSgoXy5CKGRbZl0sZ21hKT8uaGVhdE1hcmtlckludGVuc2l0eVNjb3JlTm9ybWFsaXplZHx8MCkqMTAwLGIvMzIxKjEwMCxjLzMyMSoxMDApO2YhPT0wfHxhLnB1c2goe3g6MCx5Omt9KTthLnB1c2goe3g6aCx5Omt9KTtmPT09ZC5sZW5ndGgtMSYmYS5wdXNoKHt4OjFFMyx5Omt9KX1hLnB1c2goe3g6MUUzLHk6MTAwfSk7ZT0iIjtmb3IoZj0wO2Y8YS5sZW5ndGg7ZisrKXtoPQphW2ZdO2lmKGY9PT0wKWg9YE0gJHtoLngudG9GaXhlZCgxKX0sJHtoLnkudG9GaXhlZCgxKX1gO2Vsc2V7az1MUihhW2YtMV0sYVtmLTJdLGgpO2xldCBsPUxSKGgsYVtmLTFdLGFbZisxXSwhMCk7aD1gICR7YEMgJHtrLngudG9GaXhlZCgxKX0sJHtrLnkudG9GaXhlZCgxKX0gJHtsLngudG9GaXhlZCgxKX0sJHtsLnkudG9GaXhlZCgxKX0gJHtoLngudG9GaXhlZCgxKX0sJHtoLnkudG9GaXhlZCgxKX1gfWB9ZSs9aH1yZXR1cm4gZX0pO3ZhciBDbWE9Xy5MKCh7TGI6YSxjb25maWc6YixoaWdoQ29udHJhc3Q6Y30pPT57Yz1fLlAoInl0SGVhdFNlZWtlckhvc3QiLHt5dEhlYXRTZWVrZXJIaWdoQ29udHJhc3Q6Y30pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1oZWF0c2Vla2VyIix7Y2xhc3M6YyxzdHlsZTooKT0+YGhlaWdodDogMzIwcHg7IGRpc3BsYXk6ICR7YSgpLmlzRHJhZ2dpbmcmJkZTKGIoKS5SYSk/LmhlYXRNYXJrZXJzPyJibG9jayI6Im5vbmUifWB9LF8uSyhfLk8se0E6KCk9PkZTKGIoKS5SYSksdGhlbjpkPT5fLksoXy5PLHtBOigpPT5kKCkuaGVhdE1hcmtlcnMsdGhlbjooKT0+Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIzMjBweCIsdmlld0JveDoiMCAwIDEwMDAgMTAwIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIn0sXy5LKCJwYXRoIix7ZDooKT0+Qm1hKGQoKSl9KSksZGVidWdJbnN0YW5jZToiR2ppMFNlIn0pLGRlYnVnSW5zdGFuY2U6ImlWVFh3ZiJ9KSl9LCJzYyIpO3ZhciB3Vj1fLkwoKHtMYjphLGNvbmZpZzpifSk9Pnt2YXIgYz1fLlAoInl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lIix7eXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVkOigpPT5iKCkuWHoseXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVCb3R0b21JbnNldDooKT0+YigpLnBvc2l0aW9uPT09Mn0pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1saW5lIix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJMaW5lSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmQifSksXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxvYWRlZCIsc3R5bGU6KCk9PmB3aWR0aDogJHthKCkuUW0qMTAwfSVgfSksXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckhvdmVyZWQiLHN0eWxlOigpPT57dmFyIGQ9CmEoKTtyZXR1cm5gd2lkdGg6ICR7KGQudmlkZW9EdXJhdGlvbj9EUShkLmRqL2QudmlkZW9EdXJhdGlvbiwwLDEpOjApKjEwMH0lYH19KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVkIixzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7d1MoYSgpKSoxMDB9JWAsYmFja2dyb3VuZDooKT0+YigpLnByb2dyZXNzQ29sb3IhPT12b2lkIDA/Xy5KRShiKCkucHJvZ3Jlc3NDb2xvcik6dm9pZCAwfSl9KSkpfSwidGMiKTt3Vi5pZG9tQ29tcGF0PSEwO3ZhciB4Vj1fLkwoKHtMYjphLGhmOmIsQng6YyxXdzpkfSk9Pnt2YXIgZT1fLlAoInl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3QiLHt5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90TGFyZ2U6KCk9PmEoKS5pc0RyYWdnaW5nLHl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RIaWRlOigpPT4hYSgpLmlzRHJhZ2dpbmcmJmQoKX0pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1wbGF5aGVhZCIse2NsYXNzOiJ5dFByb2dyZXNzQmFyUGxheWhlYWRIb3N0IixzdHlsZTpfLklFKHsibWFyZ2luLWxlZnQiOigpPT5gJHt4UyhhKCkpKjEwMH0lYCx0cmFuc2Zvcm06KCk9PmI/LigpPy5wbGF5aGVhZEltYWdlP2B0cmFuc2xhdGVYKC0ke2MoKT94UyhhKCkpKjIwOjEwfXB4KWA6YHRyYW5zbGF0ZVgoLSR7YygpP3hTKGEoKSkqMTI6Nn1weClgfSl9LF8uSyhfLk8se0E6KCk9PmI/LigpPy5wbGF5aGVhZEltYWdlLAp0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tIix7eXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUxhcmdlOigpPT5hKCkuaXNEcmFnZ2luZyx5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tSGlkZTooKT0+IWEoKS5pc0RyYWdnaW5nJiZkKCl9KSxzdHlsZTpfLklFKHsidHJhbnNmb3JtLW9yaWdpbiI6KCk9PmAke2MoKT94UyhhKCkpKjIwOjEwfXB4IGNlbnRlcmB9KX0sXy5LKF8uakYse2RhdGE6ZixhbHQ6IiIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsVGI6ITF9KSksVzooKT0+Xy5LKCJkaXYiLHtjbGFzczplLHN0eWxlOl8uSUUoeyJ0cmFuc2Zvcm0tb3JpZ2luIjooKT0+YCR7YygpP3hTKGEoKSkqMTI6Nn1weCBjZW50ZXJgfSl9KX0pKX0sInVjIik7eFYuaWRvbUNvbXBhdD0hMDt2YXIgRG1hPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQsZSxmKXt0aGlzLkk9YTt0aGlzLkI9Yjt0aGlzLks9Yzt0aGlzLlU9ZDt0aGlzLlo9ZTt0aGlzLk09Zjt0aGlzLnN0YXJ0UG9zaXRpb249bnVsbDt0aGlzLmo9dGhpcy52PXRoaXMubz0hMTt0aGlzLkQ9bmV3IF8uV3QodGhpcy5ZLDEwMCx0aGlzKX1ZKGEsYixjKXtpZihiPWIuSCl7aWYoYi5nZXRWaWRlb0RhdGEoKT8uaXNMaXZlKXtsZXQgZD10aGlzLmdldFByb2dyZXNzU3RhdGUoYik7YSs9ZD8uc2Vla2FibGVTdGFydHx8MH1iLnNlZWtUbyhhLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGMpfX1nZXRQcm9ncmVzc1N0YXRlKGEpe3ZhciBiPWE/LmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk7cmV0dXJuIGE/LmdldFByb2dyZXNzU3RhdGUoYil9fTt2YXIgRm1hPV8uTCgoe0xiOmEsY29uZmlnOmIsWm06YyxSYTpkfSk9Pnt2YXIgZT1EVChhLCgpPT5iKCkuSWIpLGY9KCk9PiFhKCkuUWMmJiFiKCkuSWIsaD1fLlAoInl0UGxheWVyU3Rvcnlib2FyZEhvc3QiLCJ5dFBsYXllclN0b3J5Ym9hcmRIb3N0QmlnYm9hcmQiLHt5dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0czooKT0+YigpLkliJiYhMH0pO3JldHVybiBfLksoInl0LXBsYXllci1zdG9yeWJvYXJkIixudWxsLF8uSyhfLk8se0E6KCk9PmEoKS5pc0RyYWdnaW5nfHxhKCkuUWMsdGhlbjooKT0+Xy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmgsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyh5Vix7cHJvcHM6YSxjb25maWc6YixlZTohMCxSYTpkfSkpLFc6KCk9Pl8uSyhFbWEse3Byb3BzOmEsZnJhbWU6ZSxjb25maWc6YixabTpjLFJhOmR9KX0pfSl9KSl9LCJ2YyIpLEdtYT1fLkwoKHtMYjphLEliOmJ9KT0+Cnt2YXIgYz1EVChhLGIpO3JldHVybiBfLksoInl0LXBsYXllci1iaWctc3Rvcnlib2FyZCIse2NsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRCaWdib2FyZFdyYXBwZXIifSxfLksoXy5PLHtBOigpPT5hKCkuaXNEcmFnZ2luZ3x8YSgpLlFjLHRoZW46KCk9Pl8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoelYse2ZyYW1lOmMscHJvcHM6YSxlZTohMH0pfSl9KSl9LCJ3YyIpLEVtYT1fLkwoKHtwcm9wczphLGZyYW1lOmIsY29uZmlnOmMsWm06ZCxSYTplfSk9Pnt2YXIgZj1fLlAoInl0UGxheWVyU3Rvcnlib2FyZEhvc3QiLHt5dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0czooKT0+YygpLkliJiYhMCx5dFBsYXllclN0b3J5Ym9hcmRIb3N0SW5saW5lUGxheWVyOigpPT5jKCkueHEseXRQbGF5ZXJTdG9yeWJvYXJkSG9zdEZhZGVJbjooKT0+YygpLnVzZUZhZGVJbkFuaW1hdGlvbn0pLGg9KCk9PntpZighXy54KCJlbmFibGVfd2ViX3dhdGNoX25leHRfaW1wX2NsaWVudCIpfHwhYygpLnhxKXJldHVybiAxOwp2YXIgaz1hKCkuSD8uZ2V0U2l6ZSgpPy5oZWlnaHQ/PzA7cmV0dXJuIGs+MCYmazwxNjA/ay8xNjA6MX07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6ZiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixzdHlsZTpfLklFKCgpPT57dmFyIGs9YSgpLGw9eVQoYigpKSpoKCksbT1kKCk7az1BVChrKS9rLnZpZGVvRHVyYXRpb247dmFyIG49bSprLHA9bC8yKzY7bD1tLShsLzIrNik7cmV0dXJue2xlZnQ6YCR7bjw9cD9wL20qMTAwOm4+PWw/bC9tKjEwMDprKjEwMH0lYCwiLS1zdG9yeWJvYXJkLXNjYWxlIjpgJHtoKCl9YH19KX0sXy5LKF8uTyx7QTooKT0+e3ZhciBrPWEoKTtyZXR1cm4hKGMoKS5JYiYmay52aWRlb0R1cmF0aW9uPDE1KX0sdGhlbjooKT0+Xy5LKHpWLHtmcmFtZTpiLHByb3BzOmEsZWU6ITEsekE6aH0pfSksXy5LKHlWLHtwcm9wczphLGNvbmZpZzpjLGVlOiExLFJhOmV9KSl9LCJ4YyIpLHpWPV8uTCgoe2ZyYW1lOmEscHJvcHM6YixlZTpjLHpBOmR9KT0+e3ZhciBlPSgpPT5iKCkuSD8uZ2V0VmlkZW9Db250ZW50UmVjdCgpPz8Ke3dpZHRoOjAsaGVpZ2h0OjB9LGY9Xy5QKHt5dFBsYXllclN0b3J5Ym9hcmRCaWdib2FyZEltYWdlV3JhcHBlcjpjLHl0UGxheWVyU3Rvcnlib2FyZFN0b3J5Ym9hcmRJbWFnZVdyYXBwZXI6KCk9PiFjKCl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOl8uSUUoKCk9Pih7d2lkdGg6YCR7YygpP2UoKS53aWR0aDp5VChhKCkpKihkPy4oKT8/MSl9cHhgLGhlaWdodDpgJHtjKCk/ZSgpLmhlaWdodDp6VChhKCkpKihkPy4oKT8/MSl9cHhgfSkpfSxfLksoSG1hLHtmcmFtZTphLFBBOigpPT55VChhKCkpLE5BOigpPT56VChhKCkpLE9BOigpPT57dmFyIGg9eVQoYSgpKTtyZXR1cm4gaD4wPyhjKCk/ZSgpLndpZHRoOnlUKGEoKSkqKGQ/LigpPz8xKSkvaDoxfX0pKX0sInljIiksSG1hPV8uTCgoe2ZyYW1lOmEsUEE6YixOQTpjLE9BOmR9KT0+Xy5LKCJpbWciLHtzcmM6KCk9PmEoKT8udXJsPz8iIixjbGFzczoieXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlIixhbHQ6InByZXZpZXctaW1hZ2UiLApzdHlsZTpfLklFKCgpPT57dmFyIGU9YSgpPz97cm93OjAsY29sdW1uOjAsd2lkdGg6MCxoZWlnaHQ6MH0sZj1iKCksaD1jKCksaz1kKCkse2xlZnQ6bCx0b3A6bX09e2xlZnQ6LWUuY29sdW1uKmYqayx0b3A6LWUucm93Kmgqa307cmV0dXJue2xlZnQ6YCR7bH1weGAsdG9wOmAke219cHhgLHdpZHRoOmAke2Uud2lkdGgqa31weGAsaGVpZ2h0OmAke2UuaGVpZ2h0Kmt9cHhgfX0pfSksInpjIikseVY9Xy5MKCh7cHJvcHM6YSxjb25maWc6YixlZTpjLFJhOmR9KT0+e3ZhciBlPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGEiLHt5dFBsYXllclN0b3J5Ym9hcmRNZXRhZGF0YUJpZ2JvYXJkOmN9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczplfSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoQVYse3Byb3BzOmEsY29uZmlnOmJ9KSxfLksoXy5PLHtBOigpPT57YTp7dmFyIGY9YSgpO3ZhciBoPWIoKSxrPWQoKTtpZihoPy5SZyYmXy5CKGg/LlJnLGVUKT8udGl0bGUpZj0KITA7ZWxzZXtmb3IobGV0IGwgb2YgRlMoayk/LmhlYXRNYXJrZXJzRGVjb3JhdGlvbnM/P1tdKXtmPShoPV8uQihsLHFWKSkmJkJUKGYsaCk7YnJlYWsgYX1mPSExfX1yZXR1cm4gZn0sdGhlbjooKT0+Xy5LKEJWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KX0pKSxXOigpPT5fLksoXy5JQixudWxsLF8uSyhCVix7cHJvcHM6YSxjb25maWc6YixlZTohMCxSYTpkfSksXy5LKEFWLHtwcm9wczphLGNvbmZpZzpifSkpfSkpfSwiQWMiKSxBVj1fLkwoKHtwcm9wczphLGNvbmZpZzpifSk9Pnt2YXIgYz1fLlAoInl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcCIse3l0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0czooKT0+YigpLkliLHl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmc6KCk9PmEoKS5RY3x8YigpLkliJiYhMX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmN9LF8uSyhfLklCLG51bGwsKCk9PkNUKEFUKGEoKSkpKSl9LCJCYyIpLEJWPV8uTCgoe3Byb3BzOmEsCmNvbmZpZzpiLGVlOmMsUmE6ZH0pPT57Yz1fLlAoInl0UGxheWVyU3Rvcnlib2FyZFRpdGxlIix7eXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGVCaWdib2FyZDpjfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uTyx7QTooKT0+IWIoKS5JYix0aGVuOigpPT5fLksoSW1hLHtwcm9wczphLFJnOigpPT5iKCkuUmcsUmE6ZH0pfSkpfSwiQ2MiKSxJbWE9Xy5MKCh7cHJvcHM6YSxSZzpiLFJhOmN9KT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5nRyx7cGE6KCk9Pnt2YXIgZD1jKCk7cmV0dXJuIEZTKGQpPy5oZWF0TWFya2Vyc0RlY29yYXRpb25zPz9bXX0sdGI6IklOREVYIn0sZD0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT5fLkIoZCgpLHFWKSYmQlQoYSgpLF8uQihkKCkscVYpKSx0aGVuOigpPT5fLksoSm1hLHtjQjooKT0+Xy5CKGQoKSxxVil9KX0pKSksXy5LKF8uTyx7QTooKT0+YigpJiZfLkIoYigpLGVUKT8udGl0bGUsdGhlbjpkPT5fLksoXy5WLHt0ZXh0OmQscmc6ITB9KX0pKSwKIkRjIiksSm1hPV8uTCgoe2NCOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoImRpdiIse2NsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb25XcmFwcGVyIn0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uLGNsYXNzTmFtZToieXRQbGF5ZXJTdG9yeWJvYXJkVGltZWRNYXJrZXJJY29uIn0pKSxfLksoXy5WLHt0ZXh0OigpPT5hKCkubGFiZWwscmc6ITB9KSksIkVjIik7dmFyIENWPV8uTCgoe0xiOmEsaGY6Yixjb25maWc6Y30pPT57dmFyIGQ9Xy51RSgieXQtcHJvZ3Jlc3MtYmFyIiksZT1fLnVFKCJkaXYiKSxmPV8udUUoImRpdiIpLFtoLGtdPV8uSih7d2lkdGg6MCxsZWZ0OjB9LHZvaWQgMCwiZDFic2JmIiksbD0oKT0+e2YudmFsdWUmJmsoZi52YWx1ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9LG09KCk9PntoKCkud2lkdGg8PTAmJmwoKTtyZXR1cm4gaCgpfTtfLkRQKCJyZXNpemUiLGwpO3ZhciBuPW5ldyBEbWEobSwoKT0+e30sKCk9PjAsKCk9Pnt9LCgpPT57fSwoKT0+e30pLHA9KCk9PmEoKSxbcix0XT1fLkooITEsdm9pZCAwLCJjVnNUSyIpO18uRFAoIm1vdXNlbW92ZSIsWWthKG4scCxjKSk7Xy5EUCgibW91c2V1cCIseFQobixwLGMpKTt2YXIgdjtfLlVKKCgpPT57R2thKGUudmFsdWUpO3QoITEpO2woKTt4VChuLHAsYykoKTtjKCkuaWomJih2PW5ldyBSZXNpemVPYnNlcnZlcihsKSx2Lm9ic2VydmUoZi52YWx1ZSkpO18uWXUoKCk9Pgp7dj8uZGlzY29ubmVjdCgpfSl9KTt2YXIgej1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0IiwoKT0+YygpLmNsYXNzTmFtZSx7eXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RSZWFkT25seTooKT0+YygpLmRpc2FibGVTY3J1YmJpbmcseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RIaWRkZW46KCk9PmMoKS5rSiYmIXIoKSx5dFBsYXllclByb2dyZXNzQmFySG9zdExvd2VyUGxheWVyOigpPT5jKCkucG9zaXRpb249PT0wLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Qm90dG9tRWRnZTooKT0+YygpLnBvc2l0aW9uPT09MSx5dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0OigpPT5jKCkucG9zaXRpb249PT0yLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Q3VzdG9tOigpPT5jKCkucG9zaXRpb249PT0zfSksRT1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kIix7eXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmRIaWRlOigpPT5jKCkucG9zaXRpb249PT0yJiYhcigpJiYKIWEoKS5pc0RyYWdnaW5nfSksQT1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJEcmFnQ29udGFpbmVyIix7eXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdlOigpPT5jKCkucG9zaXRpb249PT0xfSksRj1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhciIse3l0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0OigpPT5jKCkucG9zaXRpb249PT0yLHl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0TWluaW1pemVkOigpPT5jKCkucG9zaXRpb249PT0yJiYhcigpJiYhYSgpLmlzRHJhZ2dpbmd9KSxDPSgpPT5NYXRoLmZsb29yKHdTKGEoKSkqMTAwKTtyZXR1cm4gXy5LKCJ5dC1wcm9ncmVzcy1iYXIiLHtlbDpkLGNsYXNzOnp9LF8uSyhfLk8se0E6KCk9PmMoKS5wb3NpdGlvbj09PTIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpFfSl9KSxfLksoImRpdiIse2VsOmUsIm9uOmNsaWNrIjpmdW5jdGlvbihHKXsoYygpLkRJfHx0eXBlb2YgUG9pbnRlckV2ZW50IT09CiJ1bmRlZmluZWQiJiZHIGluc3RhbmNlb2YgUG9pbnRlckV2ZW50JiZHLnBvaW50ZXJUeXBlPT09Im1vdXNlIikmJk9rYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKEcpe1BrYShuLHApKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKEcpe1JrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNlZW50ZXIiOmZ1bmN0aW9uKCl7dCghMCk7YygpLnBvc2l0aW9uPT09Mj9zZXRUaW1lb3V0KCgpPT57bCgpfSwxMDApOmwoKX0sIm9uOm1vdXNlZG93biI6ZnVuY3Rpb24oRyl7UWthKG4scCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKCl7dCghMSk7VGthKHApKCl9LCJvbjptb3VzZW1vdmUiOmZ1bmN0aW9uKEcpe1NrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNldXAiOmZ1bmN0aW9uKEcpe1ZrYShuLApwLGMpKEcpO3IoKSYmYSgpLlMoe1FjOiEwfSk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoZW5kIjpmdW5jdGlvbihHKXtVa2EobixwLGMpKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaGNhbmNlbCI6ZnVuY3Rpb24oRyl7V2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246a2V5ZG93biI6ZnVuY3Rpb24oRyl7WGthKHApKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LGNsYXNzOkEscm9sZToic2xpZGVyIiwiYXJpYS12YWx1ZW5vdyI6QywiYXJpYS12YWx1ZXRleHQiOigpPT5gJHtDKCl9JWAsImFyaWEtdmFsdWVtaW4iOigpPT4wLCJhcmlhLXZhbHVlbWF4IjooKT0+MTAwLGRyYWdnYWJsZToiZmFsc2UiLHRhYmluZGV4OjAsImFyaWEtbGFiZWwiOl8uYUEoIlNFRUtfU0xJREVSIil9LF8uSygiZGl2Iix7ZWw6ZixjbGFzczpGfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXIiLHt5dFBsYXllclByb2dyZXNzQmFySGVhdHNlZWtlckNvbnRhaW5lckluc2V0OigpPT4KYygpLnBvc2l0aW9uPT09Mn0pfSxfLksoQ21hLHtMYjphLGNvbmZpZzpjLGhpZ2hDb250cmFzdDooKT0+ISFjKCkuaWomJmMoKS5wb3NpdGlvbiE9PTJ9KSksXy5LKF8uTyx7QTooKT0+YygpLlJhJiZ6a2EoYygpLlJhKSx0aGVuOigpPT5fLksoQW1hLHtKejphLG11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyOigpPT5jKCkuUmEscHJvZ3Jlc3NCYXJXaWR0aDooKT0+aCgpLndpZHRoLHByb2dyZXNzQ29sb3I6KCk9PmMoKS5wcm9ncmVzc0NvbG9yfSksVzooKT0+Xy5LKF8uTyx7QTooKT0+YygpLlNpLHRoZW46KCk9Pl8uSyh2Vix7TGI6YSxjb25maWc6Y30pLFc6KCk9Pl8uSyh3Vix7TGI6YSxjb25maWc6Y30pfSl9KSxfLksoeFYse0xiOmEsaGY6KCk9Pl8ueCgiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiIpP2MoKS5oZjpiPy4oKSxCeDooKT0+YygpLnBvc2l0aW9uIT09MixXdzooKT0+YygpLnhyPT09MSYmIXIoKXx8YygpLnhyPT09Mn0pKSksXy5LKEZtYSx7TGI6YSxjb25maWc6KCk9Pgooe1JnOmxUKGEoKSxjKCkuUmEpLGRKOigpPT5tKCkud2lkdGgsSWI6ISFjKCkuSWIseHE6ISFjKCkuaWosdXNlRmFkZUluQW5pbWF0aW9uOiEhYygpLmlqfSksWm06KCk9PmgoKS53aWR0aCxSYTooKT0+YygpLlJhfSkpfSwiRmMiKTtDVi5pZG9tQ29tcGF0PSEwO3ZhciBEVj1fLkwoYT0+e3ZhciBiPSgpPT57dmFyIGQ9YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LigpO2lmKGQpcmV0dXJuIHpTKGQpfSxjPSgpPT57dmFyIGQ9YigpO2lmKGQpe3ZhciBlPWEuSm8oKS5hdXRvbmF2RW5hYmxlZDtyZXR1cm4gXy5hTihlP18uQihkLmVuYWJsZWRFZHVDb21tYW5kLFdVKT8udGV4dDpfLkIoZC5kaXNhYmxlZEVkdUNvbW1hbmQsV1UpPy50ZXh0KX19O3JldHVybiBfLksoXy5PLHtBOigpPT5hLkpvKCkuWWgmJiEhYigpLHRoZW46KCk9Pl8uSygiYXV0b25hdi10b29sdGlwIix7Y2xhc3M6Inl0d0F1dG9uYXZUb29sdGlwSG9zdCIscm9sZToiYWxlcnQifSxfLksoInNwYW4iLHsiYXJpYS1sYWJlbCI6Yyxyb2xlOiJ0ZXh0In0sYykpfSl9LCJHYyIpO0RWLmlkb21Db21wYXQ9ITA7dmFyIEVWPV8uTChhPT57dmFyIGI9Xy52RSgic3BlZWRtYXN0ZXItdG9vbHRpcCIpLGM9Xy5OKCgpPT5hLkcoKS5zYix2b2lkIDAsIkVzVFJsYyIpO18ubkUoKCk9PntpZihjKCkmJmIudmFsdWUpe2xldCBkPW51bGw7U1MoMTczMDQwLGIudmFsdWUsZCxlPT57ZD1lfSl9fSwiQXZwR0lmIik7cmV0dXJuIF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoInNwZWVkbWFzdGVyLXRvb2x0aXAiLHtlbDpiLGNsYXNzOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWwifSxfLiROLkd0KSxfLksoXy5NRCx7aWNvbjoiRkFTVF9GT1JXQVJEIixhY3RpdmU6ITAsY2xhc3NOYW1lOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBJY29uIn0pKX0pfSwiSWMiKTtFVi5pZG9tQ29tcGF0PSEwO3ZhciBGVj1fLkwoYT0+Xy5LKCJwbGF5ZXItdXNlci1lZHUtdG9vbHRpcCIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcEhvc3QifSxfLksoRFYse0pvOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBXcmFwcGVyIn0sXy5LKEVWLHtHOmEuR30pKSkpLCJKYyIpO0ZWLmlkb21Db21wYXQ9ITA7dmFyIFprYT1bMCwxLDIwLDIxXTt2YXIgYWxhPVswLDEsMjAsMjFdLEdUPXZvaWQgMDt2YXIgS21hPV8uTCgoe3VkOmEsRXI6Yn0pPT57ZnVuY3Rpb24gYyhwKXtwLnRvdWNoZXM/LlswXSYmKHA9cC50b3VjaGVzWzBdLGsoe3g6cC5wYWdlWCx5OnAucGFnZVl9KSl9ZnVuY3Rpb24gZChwKXt2YXIgcj1oKCk7aWYoIXJ8fCFwLnRvdWNoZXM/LlswXSlyZXR1cm4gbnVsbDtwPXAudG91Y2hlc1swXTtyZXR1cm57bGs6cC5wYWdlWC1yLngsT2Q6cC5wYWdlWS1yLnl9fXZhciBbZSxmXT1fLkoobnVsbCx2b2lkIDAsIkFoMzBnIiksaD1lLGs9ZixbbCxtXT1fLkoodm9pZCAwLHZvaWQgMCwiUW83NmhkIik7Xy5ZdSgoKT0+e0ZUKGEoKSk7bShFVChsKCkpKX0pO3ZhciBuPXtHYjooKT0+Xy5LKCJkaXYiLG51bGwsXy5LKF8uVyx7ZGF0YTooKT0+Yj8uKCk/Lm1lbnVSZW5kZXJlcj8uaXRlbXN8fFtdfSx7bGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnB9KT0+Xy5LKF8ucEwse2RhdGE6cCxJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOl8uZkp9KSksSGE6ITB9O3JldHVybiBfLksoInl0bS1zaG9ydHMtZ2VzdHVyZS1vdmVybGF5LWNvbnRyb2xzIiwKe2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZU92ZXJsYXkifSxfLksoRlYse0c6YX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc1NwZWVkbWFzdGVyR2VzdHVyZUFyZWEiLCJvbjp0b3VjaHN0YXJ0IjpwPT57YyhwKTtIVChhKCkscC50b3VjaGVzLmxlbmd0aCl9LCJvbjp0b3VjaG1vdmUiOnA9Pnt2YXIgcj1kKHApO3ImJklUKHAscixhKCkpfSwib246dG91Y2hlbmQiOigpPT57RlQoYSgpKTtrKG51bGwpfSwib246dG91Y2hjYW5jZWwiOigpPT57RlQoYSgpKTtrKG51bGwpfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNNZW51R2VzdHVyZUFyZWEiLCJvbjp0b3VjaHN0YXJ0IjpwPT57YyhwKTttKCRrYShhKCkscC50b3VjaGVzLmxlbmd0aCwKKCk9PntfLnlOKG4pfSxsKCkpKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7aWYocil7cD1sKCk7dmFyIHQ9ci5saztyPXIuT2Q7cD1NYXRoLnNxcnQodCp0K3Iqcik+Xy5zaigic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIiwxMCk/RVQocCk6cDttKHApfX0sIm9uOnRvdWNoZW5kIjooKT0+e20oRVQobCgpKSk7ayhudWxsKX0sIm9uOnRvdWNoY2FuY2VsIjooKT0+e20oRVQobCgpKSk7ayhudWxsKX19KSxfLksoImRpdiIse2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO0hUKGEoKSxwLnRvdWNoZXMubGVuZ3RoKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7ciYmSVQocCxyLGEoKSl9LCJvbjp0b3VjaGVuZCI6KCk9PntGVChhKCkpO2sobnVsbCl9LCJvbjp0b3VjaGNhbmNlbCI6KCk9PntGVChhKCkpO2sobnVsbCl9fSkpKX0sIktjIik7dmFyIEdWPV8uTChhPT57dmFyIGI9Xy51RSgiZGl2IiksYz1fLk4oKCk9PmEudGh1bWJuYWlsRGV0YWlscz8uKCksdm9pZCAwLCJFODhVR2QiKSxkPV8uTigoKT0+YS5HKCkuYmEsdm9pZCAwLCJYdEdBbWUiKTtfLm5FKCgpPT57Y2xhKGIudmFsdWUsYygpLGQoKSl9LCJ5QWtpaWMiKTtyZXR1cm4gXy5LKCJ2aWRlby1jb3ZlciIse2NsYXNzOl8uUCgieXRtVmlkZW9Db3Zlckhvc3QiLHtlbmRlZDooKT0+dVMoYS5HKCkpLGhpZGRlbjooKT0+e3ZhciBlPWEuRygpO3JldHVybiEoJFMoZSl8fHVTKGUpKX19KX0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9Db3ZlclRodW1ibmFpbCIsZWw6Yn0pKX0sIk1jIik7R1YuaWRvbUNvbXBhdD0hMDtuZXcgXy5XdChlbGEsMjAwKTt2YXIgU1Q9MDt2YXIgVVQ9SlIoKSxWVD0hMTtuZXcgXy5DdCgicGxheWVyU2V0dGluZ3NNZW51IiwiTnhkM3VmIik7dmFyIExtYT1fLkwoKHtnZjphLEV4OmIscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6Y30pPT57dmFyIGQ9Xy5QKCJ5dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3QiLHt5dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3RJc1NjcnViYmFibGVNb2RlOigpPT5YVChhKCksYigpKX0se3l0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdEhpZGVQcm9ncmVzc0JhcjooKT0+V1QoYSgpLGIoKSkmJmEoKS52aWRlb0R1cmF0aW9uPD0zMH0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmR9LF8uSyhDVix7TGI6YSxjb25maWc6KCk9Pnt2YXIgZT17SWI6ITAscG9zaXRpb246MyxkaXNhYmxlU2NydWJiaW5nOiFYVChhKCksYigpKSxJbjohMSx4cjpYVChhKCksYigpKT8wOjEsb25Ub3VjaE1vdmU6KCk9PnthKCkuZ2V8fChhKCkuUyh7Z2U6ITB9KSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVwZGF0ZS1zaG9ydHMtb3ZlcmxheS12aXNpYmlsaXR5Iix7YnViYmxlczohMCwKZGV0YWlsOntnZTohMH19KSkpfSxvblRvdWNoRW5kOmg9PntVUyhoKTthKCkuUyh7Z2U6ITF9KTt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVwZGF0ZS1zaG9ydHMtb3ZlcmxheS12aXNpYmlsaXR5Iix7YnViYmxlczohMCxkZXRhaWw6e2dlOiExfX0pKX19LGY9Yz8uKCk7cmV0dXJuIGY/LnBsYXloZWFkSW1hZ2U/ey4uLmUsaGY6e3BsYXloZWFkSW1hZ2U6Zi5wbGF5aGVhZEltYWdlfX06ZX19KSl9LCJRYyIpLE1tYT1fLkwoKHtIOmEsY29udGV4dDpiLHJlZWxQbGF5ZXJTY3J1YmJlclJlbmRlcmVyOmMsRXI6ZH0pPT57dmFyIFtlLGZdPV8uSighMSx2b2lkIDAsIlFjWlNnZCIpLFtoLGtdPV8uSighMSx2b2lkIDAsImNudHpyZiIpLFtsLG1dPV8uSighMSx2b2lkIDAsIlNUSWFlYiIpLFtuLHBdPV8uSighMSx2b2lkIDAsIkN3WGZiYyIpLFtyLHRdPV8uSigwLHZvaWQgMCwiczVLTE1iIiksW3Ysel09Xy5KKDAsdm9pZCAwLCJnamxxTmMiKSxbRSxBXT1fLkooMCwKdm9pZCAwLCJHVWNpWmUiKSxbRixDXT1fLkooIiIsdm9pZCAwLCJ4R0llOCIpLFtHLERdPV8uSighMSx2b2lkIDAsIkZwNUQ0YiIpLEg9Xy5OKCgpPT57dmFyIHBhPXtlYTplKCksZ2U6aCgpLHliOmwoKSxpc0RyYWdnaW5nOm4oKSx2aWRlb0R1cmF0aW9uOnYoKSx2YTpFKCksdmlkZW9JZDpGKCksQ2E6cigpLHNiOkcoKX07cmV0dXJuey4uLmRUKCksLi4ucGEsLi4uKGI/LigpPz97fSksUzpvYT0+e29hLmVhIT09dm9pZCAwJiZmKG9hLmVhKTtvYS5nZSE9PXZvaWQgMCYmayhvYS5nZSk7b2EueWIhPT12b2lkIDAmJm0ob2EueWIpO29hLmlzRHJhZ2dpbmchPT12b2lkIDAmJnAob2EuaXNEcmFnZ2luZyk7b2EuQ2EhPT12b2lkIDAmJnQob2EuQ2EpO29hLnZpZGVvRHVyYXRpb24hPT12b2lkIDAmJnoob2EudmlkZW9EdXJhdGlvbik7b2EudmEhPT12b2lkIDAmJkEob2EudmEpO29hLnZpZGVvSWQhPT12b2lkIDAmJkMob2EudmlkZW9JZCk7b2Euc2IhPT12b2lkIDAmJkQob2Euc2IpfSx0YTp7aXNGdWxsc2NyZWVuOl8uclAsCnRvZ2dsZUZ1bGxzY3JlZW46dWphLGV4aXRGdWxsc2NyZWVuOiRRLGRlOmZsYSxSajpobGEsVWw6aWxhfSxIOmEoKX19LHZvaWQgMCwiVXljTVNiIiksUj1Na2EoSCksTT1Ma2EoSCksUz1La2EoSCksWT0oKT0+e307Xy5vRigoKT0+e3ZhciBwYT1hKCk7cGEmJihwYS5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLFIpLHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixNKSxwYS5hZGRFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixTKSl9KTtfLll1KCgpPT57dmFyIHBhPWEoKTtwYSYmcGE/LmlzUmVhZHk/LigpJiYocGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25WaWRlb1Byb2dyZXNzIixSKSxwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTSkscGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsUykpfSk7cmV0dXJuIF8uSygieXQtbXdlYi1zaG9ydHMtcGxheWVyLWNvbnRyb2xzIix7Y2xhc3M6Xy5QKHtQcm9ncmVzc0JhclNob3dpbmc6KCk9PgpYVChIKCksITApfSl9LF8uSyhfLk8se0E6KCk9PkgoKS5iYT8uWmgsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6SCx0aHVtYm5haWxEZXRhaWxzOll9KSxfLksodVYse0c6SCxIOmF9KSl9KSxfLksoXy5PLHtBOigpPT57dmFyIHBhPUgoKTtyZXR1cm4gWFQocGEsITApfHxXVChwYSwhMCl9LHRoZW46KCk9Pl8uSyhMbWEse2dmOkgsRXg6KCk9PiEwLHJlZWxQbGF5ZXJTY3J1YmJlclJlbmRlcmVyOmN9KX0pLF8uSyhfLk8se0E6KCk9Pl8ueCgibXdlYl9zaG9ydHNfZW5hYmxlX2xvbmdfcHJlc3Nfc3BlZWR1cCIpLHRoZW46KCk9Pl8uSyhfLkNQLHtyb290OiIjZ2VzdHVyZS1sYXllciJ9LCgpPT5fLksoS21hLHt1ZDpILEVyOmR9KSl9KSl9LCJTYyIpO3ZhciBIVj1fLkwoYT0+e2Z1bmN0aW9uIGIoVSl7VSE9PTB8fHIoKT9VPjUwJiYocigpfHwhRSgpKT8odCghMSksQSghMCkpOlU8PTUwJiYocigpfHxFKCkpJiYodCghMSksQSghMSkpOnQoITApfWFzeW5jIGZ1bmN0aW9uIGMoVSxoYSl7KFU9ZSgpPz9hd2FpdCBfLkxIKCkpJiYoaGE/VS51bk11dGUoITApOlUubXV0ZSghMCkpfWFzeW5jIGZ1bmN0aW9uIGQoVSl7dmFyIGhhPWUoKT8/YXdhaXQgXy5MSCgpLG1hPTUwO2hhJiYobWE9aGEuZ2V0Vm9sdW1lKCksaGEuaXNNdXRlZCgpP1pUKFUsMCk6WlQoVSxtYSkpO0cobWEpfXZhciBlPWtsYShhLkgpLGY9Xy51RSgidm9sdW1lLWNvbnRyb2xzIiksaD1fLnVFKCJidXR0b24iKSxrPV8udkUoImlucHV0IiksW2wsbV09Xy5KKCExLHZvaWQgMCwic01jTGxiIiksW24scF09Xy5KKCExLHZvaWQgMCwiZ29OcHYiKSxyPW4sdD1wLFt2LHpdPV8uSighMCx2b2lkIDAsImtBVDk1IiksRT12LEE9eixbRixDXT1fLkooNTAsdm9pZCAwLCJxNXFEMmMiKSwKRz1DLEQ9Xy5OKCgpPT57dmFyIFU9cigpO3JldHVybiBfLngoIndlYl9zaG9ydHNfa2V5Ym9hcmRfZW5hYmxlX211dGVfc2hvcnRjdXQiKT9VP18uYUEoIlBMQVlFUl9MQUJFTF9VTk1VVEUiLHZvaWQgMCwiVW5tdXRlIChtKSIpOl8uYUEoIlBMQVlFUl9MQUJFTF9NVVRFIix2b2lkIDAsIk11dGUgKG0pIik6VT9fLmFBKCJVTk1VVEVfVk9MVU1FIix2b2lkIDAsIlVubXV0ZSIpOl8uYUEoIk1VVEVfVk9MVU1FIix2b2lkIDAsIk11dGUiKX0sdm9pZCAwLCJsUjFzR2MiKSxIPV8uTigoKT0+e3ZhciBVPXIoKSxoYT1FKCk7cmV0dXJue3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOlU/IlZPTFVNRV9PRkZfRklMTEVEIjpoYT8iVk9MVU1FX1VQX0ZJTExFRCI6IlZPTFVNRV9ET1dOX0ZJTExFRCJ9fV19fSx2b2lkIDAsIlNJcWtlYyIpLFI9Xy5OKCgpPT57dmFyIFU9RigpO3JldHVybiByKCk/YCR7VX0lIHZvbHVtZSBtdXRlZGA6YCR7VX0lIHZvbHVtZWB9LHZvaWQgMCwiVGZIUDBkIiksCk09Xy5OKCgpPT5hLm9yaWVudGF0aW9uKCk9PT0idmVydGljYWxfZG93biIsdm9pZCAwLCJaN0YzdWIiKSxTPV8uTigoKT0+TSgpPyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwiLHZvaWQgMCwic1YyTXBiIiksWT1fLk4oKCk9PmEuRHY/LigpPz8hMSx2b2lkIDAsInpvdlVMZSIpLHBhPV8uTigoKT0+YS5DcD8uKCk/PyExLHZvaWQgMCwicEVVaHFlIik7Xy5VSigoKT0+e2Z1bmN0aW9uIFUoKXttKCEwKX1mdW5jdGlvbiBoYSgpe20oITEpfWsmJmsudmFsdWUmJihrLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVKSxrLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSksZChrLnZhbHVlKS50aGVuKCgpPT57YihOdW1iZXIoay52YWx1ZT8udmFsdWU/PzApKX0pKTtoJiZoLnZhbHVlJiYoV1MoaC52YWx1ZSwyODY2MiksaC52YWx1ZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsVSksaC52YWx1ZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsaGEpKTtfLll1KCgpPT4Ke2s/LnZhbHVlPy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsVSk7az8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSk7aD8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixVKTtoPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKX0pfSk7dmFyIG9hPVU9PntVPVUubXV0ZWQ/MDpVLnZvbHVtZTtHKFUpO2IoVSk7ay52YWx1ZSYmWlQoay52YWx1ZSxVKX07Xy5uRSgoKT0+e3ZhciBVPWUoKTtVJiYoVS5hZGRFdmVudExpc3RlbmVyKCJvblZvbHVtZUNoYW5nZSIsb2EpLF8uWXUoKCk9PntVLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uVm9sdW1lQ2hhbmdlIixvYSl9KSl9LCJ4aDNHWmMiKTtyZXR1cm4gXy5LKCJ2b2x1bWUtY29udHJvbHMiLHtjbGFzczpfLlAoInl0ZFZvbHVtZUNvbnRyb2xzSG9zdCIse3l0ZFZvbHVtZUNvbnRyb2xzRGlzYWJsZVNsaWRlcjpwYX0sYS5jbGFzc05hbWUpLGVsOmZ9LF8uSygiZGl2IiwKeyJvbjpwb2ludGVybGVhdmUiOmZ1bmN0aW9uKCl7bSghMSl9LGNsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lciIse3l0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJWZXJ0aWNhbDpNLHl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJFeHBhbmRlZDooKT0+bCgpfSl9LF8uSyhfLk8se0E6KCk9PiFhLmJqPy4oKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW0iLHt5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkOmwseXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZEhvdmVyU3RhdGU6KCk9PmwoKSYmWSgpfSl9KX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uQ29udGFpbmVyOk19KX0sXy5LKCJidXR0b24iLHsiYXJpYS1sYWJlbCI6RCwKdGl0bGU6RCxlbDpoLCJvbjpjbGljayI6ZnVuY3Rpb24oVSl7WFMoMjg2NjIpO2smJmsudmFsdWUmJmMoay52YWx1ZSxyKCkpO1Uuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpwb2ludGVyZW50ZXIiOmZ1bmN0aW9uKCl7bSghMCl9LGNsYXNzOiJ5dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uIn0sSD9fLksoXy5qRix7ZGF0YTpILGFsdDpELGNsYXNzTmFtZToieXRkVm9sdW1lQ29udHJvbHNNdXRlSWNvbiJ9KTpudWxsKSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyIix7eXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJFeHBhbmRlZDpsLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWw6TSx5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRG93bjpNLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxFeHBhbmRlZDooKT0+bCgpJiZNKCkseXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJEaXNhYmxlU2xpZGVyOnBhLAp5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcldpdGhTY3JpbTooKT0+IWEuYmo/LigpfSksIm9uOmNsaWNrIjpmdW5jdGlvbihVKXtVLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKCJpbnB1dCIse2RpcjoibHRyIiwiYXJpYS1sYWJlbCI6Xy5hQSgiVk9MVU1FIiksdGl0bGU6Xy5hQSgiVk9MVU1FIiksZWw6aywib246aW5wdXQiOmZ1bmN0aW9uKFUpe2smJmsudmFsdWUmJmpsYShOdW1iZXIoay52YWx1ZT8udmFsdWU/PzApLGUoKSk7VS5zdG9wUHJvcGFnYXRpb24oKX0sdHlwZToicmFuZ2UiLGNsYXNzOiJ5dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlciIsaWQ6InZvbHVtZS1pbnB1dCIscm9sZToic2xpZGVyIiwiYXJpYS12YWx1ZW5vdyI6RiwiYXJpYS12YWx1ZXRleHQiOlIsImFyaWEtdmFsdWVtaW4iOjAsImFyaWEtdmFsdWVtYXgiOjEwMCwiYXJpYS1vcmllbnRhdGlvbiI6U30pKSkpfSwiVWMiKTt2YXIgTm1hPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYz1hLkcoKSxkPWMuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoO3JldHVybihjLmJhPy5FZXx8Xy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKSkmJiEhZCYmZDw0MjB9O3JldHVybiBfLksoInl0bS1mdWxsc2NyZWVuLXJlbGF0ZWQtdmlkZW9zLWVudHJ5LXBvaW50LXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEhvc3QiLHt5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaXRsZUhpZGRlbjpifSl9LF8uSygiYnV0dG9uIix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24iLHt5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWw6Xy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKX0pLAoib246Y2xpY2siOmZ1bmN0aW9uKGMpe2EuRygpLlMoe05hOiEwfSk7Xy5NTygiLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb24gLm1lZGlhLWl0ZW0taW5mbyBhIik7YlQoKTtjLnN0b3BQcm9wYWdhdGlvbigpfSwiYXJpYS1sYWJlbCI6KCk9PmEuZGF0YSgpLnRpdGxlPy5jb250ZW50Pz8iIn0sXy5LKF8uTyx7QTooKT0+IWIoKSx0aGVuOigpPT5fLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS50aXRsZX0pfSksXy5LKF8uTyx7QTooKT0+YS5kYXRhKCkuaW1hZ2VGcm9udCx0aGVuOmM9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRodW1ibmFpbFN0YWNrIn0sXy5LKF8uTyx7QTooKT0+IV8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil8fCEhYS5kYXRhKCkuaW1hZ2VCYWNrLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxGYWRlZFRodW1ibmFpbCIsCiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlsIil9KX0pLF8uSyhfLk8se0E6KCk9PiFfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfHwhIWEuZGF0YSgpLmltYWdlTWlkZGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxGYWRlZFRodW1ibmFpbCIsInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWwiKX0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVyIn0sXy5LKF8uakYse2RhdGE6YyxhbHQ6IiIsY2xhc3NOYW1lOiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWwiLGFyaWFIaWRkZW46ITAsCllhOiEwfSkpKX0pKSl9LCJWYyIpO3ZhciBJVj1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmN9KT0+Xy5LKCJ5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczoieXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmN9KX0pKSwiV2MiKTtJVi5pZG9tQ29tcGF0PSEwO3ZhciBKVj1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmMsSGM6ZH0pPT57dmFyIGU9Xy5ESShfLlJMLCgpPT5hKCkubGlrZVN0YXR1c0VudGl0eUtleXx8IiIpLGY9KCk9Pl8udFAoKSYmYSgpLmlzTGlrZSYmYSgpLmJ1dHRvbj8udG9nZ2xlQnV0dG9uUmVuZGVyZXI/e3N0eWxlOiJtb25vIn06Yz8uKCksaD0oKT0+Xy50UCgpJiZhKCkuaXNMaWtlJiZhKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcj97YW5pbWF0ZUljb246InRydWUifTp2b2lkIDA7cmV0dXJuIF8uSygieXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOmJ9LF8uSyhfLk8se0E6KCk9Pnt2YXIgaz1hKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcjtpZihrJiZhKCkubGlrZVN0YXR1c0VudGl0eUtleSl7bGV0IGw9YSgpLmlzTGlrZT9lKCk/Lmxpa2VTdGF0dXM9PT0iTElLRSI6ZSgpPy5saWtlU3RhdHVzPT09IkRJU0xJS0UiO3JldHVybnsuLi5rLAppc1RvZ2dsZWQ6bH19cmV0dXJuIGt9LHRoZW46az0+Xy5LKF8ucU8se2RhdGE6ayxzdHlsZTpoLGNsYXNzTmFtZTpiLGJ1dHRvbk92ZXJyaWRlczpmLEhjOmR9KX0pKX0sIlhjIik7SlYuaWRvbUNvbXBhdD0hMDt2YXIgS1Y9Xy5MKGE9PntmdW5jdGlvbiBiKHIpe3ZhciB0PWMoKTt0LmJhPy5Eenx8Xy50UCgpfHx0LmlzRnVsbHNjcmVlbiYmdC50YS50b2dnbGVGdWxsc2NyZWVuKCk7ci5zdG9wUHJvcGFnYXRpb24oKX12YXIgYz1hLkcsZD0oKT0+YS5HKCkuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoLGU9Xy5OKCgpPT4hIWEuRygpLkg/LmlzRW1iZWRzU2hvcnRzTW9kZT8uKCksdm9pZCAwLCJ3c0hEWiIpLGY9Xy5QKHsicGxheWVyLWNvbnRyb2xzLWhpZGUiOigpPT4hKCFJUyhhLkcoKSl8fGEuRygpLmJhPy5FZSYmIWEuRygpLk5hKX0pLGg9YS53YXRjaE5leHRSZXNwb25zZSxrPWEudGh1bWJuYWlsUHJldmlld1JlbmRlcmVyLGw9YS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyLG09KCk9Pnt2YXIgcj1Da2EoaD8uKCksaz8uKCkpO3JldHVybiBlKCl8fGEuRygpLmJhPy5vaD9yLmZpbHRlcih0PT5fLkIodCxmbWEpPyExOl8uQih0LF8uVkwpPy5pY29uPy5pY29uVHlwZSE9PSJBRERfVE9fV0FUQ0hfTEFURVIiKToKcn0sbj0oKT0+e3ZhciByPWg/LigpLHQ9az8uKCksdj1sPy4oKSx6PSRTKGEuRygpKTt2YXIgRT1lKCk7aWYodilFPXY/LnlvdXR1YmVXYXRlcm1hcms7ZWxzZSBpZih0PV8uQih0Py5xdWlja0FjdGlvbnNCYXIsS1MpPy53YXRjaE9uWW91dHViZUJ1dHRvbix2PV8uQihyPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5mdWxsc2NyZWVuUXVpY2tBY3Rpb25zQmFyLEtTKT8ud2F0Y2hPbllvdXR1YmVCdXR0b24scj1fLkIodHx8dixsVik/LndhdGNoT25ZdExhYmVsQnV0dG9uLHQ9Xy5CKHR8fHYsbFYpPy55dExvZ29Pbmx5QnV0dG9uLHopRT1yO2Vsc2V7aWYoRSl0cnl7bGV0IEE9dC5idXR0b25WaWV3TW9kZWwsRj1BLnRpdGxlRm9ybWF0dGVkLmF0dGFjaG1lbnRSdW5zWzBdLmVsZW1lbnQ7Ri50eXBlLmltYWdlVHlwZS5pbWFnZS5zb3VyY2VzWzBdLmNsaWVudFJlc291cmNlLmltYWdlTmFtZT0ic2hvcnRzX3RleHRfbG9nbyI7Ri5wcm9wZXJ0aWVzLmxheW91dFByb3BlcnRpZXMuaGVpZ2h0LnZhbHVlPQoyNDtGLnByb3BlcnRpZXMubGF5b3V0UHJvcGVydGllcy53aWR0aC52YWx1ZT03Mjt6PUE/Lm9uVGFwPy5pbm5lcnR1YmVDb21tYW5kPy51cmxFbmRwb2ludD8udXJsO2lmKEUmJnomJnouaW5jbHVkZXMoIi93YXRjaD92PSIpKXtsZXQgQz16LnJlcGxhY2UoIi93YXRjaD92PSIsIi9zaG9ydHMvIik7QS5vblRhcC5pbm5lcnR1YmVDb21tYW5kLnVybEVuZHBvaW50LnVybD1DfX1jYXRjaChBKXt9RT10fXJldHVybiBFfSxwPXtjbGFzc05hbWU6ImNpcmNsZS1idXR0b25zIixidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19O3JldHVybiBfLksoInBsYXllci1mdWxsc2NyZWVuLWFjdGlvbi1tZW51Iix7Y2xhc3M6Inl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51SG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Zn0sXy5LKCJkaXYiLHtjbGFzczoiZnVsbHNjcmVlbi1hY3Rpb24tbWVudSIsIm9uOmNsaWNrIjpmdW5jdGlvbihyKXt2YXIgdD1jKCk7Y1QodCx7SWM6ITB9KTtyLnN0b3BQcm9wYWdhdGlvbigpOwpyLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+IShhLkcoKS5iYT8uaGlkZVZpZGVvSW5mb3x8YS5HKCkuYmE/Lll3fHxkKCkmJmQoKTwzMjApLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJhY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlciIsIm5vLWxhYmVsLWV4cCIpLCJvbjpjbGljayI6Yn0sXy5LKF8uVyx7ZGF0YTptfSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKF8ucE8se2RhdGE6ciwuLi5wfSksc2xpbU1ldGFkYXRhVG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKEpWLHtkYXRhOnIsY2xhc3NOYW1lOl8uUChwLmNsYXNzTmFtZSx7Imxpa2UtYnV0dG9uLW5vLWxhYmVsLWV4cCI6KCk9PnIoKS5pc0xpa2V9KSxIYzooKT0+cigpLmlzTGlrZT97QXM6ITB9OnZvaWQgMCxidXR0b25PdmVycmlkZXM6KCk9PnIoKS5pc0xpa2U/dm9pZCAwOnAuYnV0dG9uT3ZlcnJpZGVzfSksc2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Cl8uSyhJVix7ZGF0YTpyLC4uLnB9KSxmdWxsc2NyZWVuRW5nYWdlbWVudEFjdGlvbkJhclNhdmVCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoSVYse2RhdGE6ciwuLi5wfSksYnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLkhELHtkYXRhOnIsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuQWN0aW9uTWVudUNpcmNsZUJ1dHRvbnMiLGJ1dHRvbk92ZXJyaWRlczp7aWNvblBvc2l0aW9uOiJpY29uLW9ubHktNDAifX0pLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTpyfSk9Pl8uSyhfLnFPLHtkYXRhOnIsLi4ucH0pfSkpfSksXy5LKCJkaXYiLHtjbGFzczoicXVpY2stYWN0aW9ucy13cmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+IWEuRygpLmJhPy5YdyYmISRTKGEuRygpKSYmIShkKCkmJmQoKTwzMjApJiYhZSgpJiZMUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlciJ9LApfLksoTm1hLHtkYXRhOigpPT5MUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksRzpjfSkpfSksXy5LKF8uTyx7QTooKT0+JFMoYS5HKCkpJiYoZSgpfHxkKCkmJmQoKTwzMjApPyExOiEwLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6IndhdGNoLW9uLXlvdXR1YmUtYnV0dG9uLXdyYXBwZXIifSxfLksoXy5XLHtkYXRhOm59LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uSEQse2RhdGE6cixjbGFzc05hbWU6IndhdGNoLW9uLXlvdXR1YmUtYnV0dG9uIixidXR0b25PdmVycmlkZXM6KCk9Pnt2YXIgdD1yKCk7cmV0dXJue3NpemU6IkwiLGRpc2FibGVkOiFfLkIoXy5CKHQ/Lm9uVGFwLF8uT0QpLF8uVkQpfX19KSxidXR0b25SZW5kZXJlcjpfLnBPLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOl8ucU99KSl9KSkpKSl9LCJZYyIpO0tWLmlkb21Db21wYXQ9ITA7dmFyIExWPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgbT1hLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXI/LigpO3JldHVybiBfLkIobT8uZW5kU2NyZWVuLHBWKT8uY29udGludWVXYXRjaGluZ30sYz0oKT0+e3ZhciBtPWEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCk7cmV0dXJuIF8uQihtPy5lbmRTY3JlZW4scFYpPy5icmFuZGluZ0ljb259LFtkLGVdPV8uSighMSx2b2lkIDAsIkVlWFhCYyIpLGYsaD0oKT0+e2NsZWFyVGltZW91dChmKTtlKCExKTtmPXNldFRpbWVvdXQoKCk9PntlKCEwKX0sNEUzKX0saz0oKT0+e3ZhciBtPWEuRygpLkg/LmdldFZpZGVvRGF0YSgpPy52aWRlb19pZDttJiZhLkcoKS5IPy5jdWVWaWRlb0J5SWQobSl9LGw9KCk9Pnt2YXIgbT1fLlV3KGEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCkudHJhY2tpbmdQYXJhbXMpO20mJl8uSk8obSl9O18uVUooKCk9PntoKCk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25NdXRlZEF1dG9wbGF5U3RhcnRzIiwKaCk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25BdXRvcGxheUJsb2NrZWQiLGspO2EuRygpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixsKX0pO18uWXUoKCk9PntjbGVhclRpbWVvdXQoZik7YS5HKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25NdXRlZEF1dG9wbGF5U3RhcnRzIixoKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkF1dG9wbGF5QmxvY2tlZCIsayk7YS5HKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLGwpfSk7cmV0dXJuIF8uSygieXRtLW11dGVkLWF1dG9wbGF5LW92ZXJsYXkiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0Iiwib246Y2xpY2siOmZ1bmN0aW9uKG0pe3ZhciBuPWEuRz8uKCkuSCxwPW4/LmdldFZpZGVvRGF0YSgpPy52aWRlb19pZCxyPW4/LmdldEN1cnJlbnRUaW1lKCk7cCYmciYmKG4/LnVuTXV0ZSgpLG4/LmxvYWRWaWRlb0J5SWQocCxyKSk7Cm0uc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT51UyhhLkcoKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCYWNrZ3JvdW5kIn0sXy5LKCJkaXYiLG51bGwsXy5LKF8uVyx7ZGF0YTpifSx7YnV0dG9uVmlld01vZGVsOl8uSER9KSksXy5LKCJkaXYiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb24ifSxfLksoXy5PLHtBOmMsdGhlbjptPT5fLksoXy5qRix7ZGF0YTptLGFsdDoiWW91VHViZSBMb2dvIn0pfSkpKSxXOigpPT5fLksoImRpdiIsbnVsbCxfLksoImRpdiIse2NsYXNzOl8uUCgieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlBY3Rpb25NZW51Iix7eXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIaWRlQWN0aW9uTWVudTpkfSl9LF8uSyhLVix7RzphLkcscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjphLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXJ9KSksXy5LKCJkaXYiLAp7Y2xhc3M6Inl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIn0sXy5LKF8uTUQse2ljb246ImVxdWFsaXplciJ9KSkpfSkpfSwiWmMiKTtMVi5pZG9tQ29tcGF0PSEwO3ZhciBPbWE9Xy5MKCh7Rng6YSxhbmltYXRpb246Yn0pPT57dmFyIGM9Xy51RSgiZGl2IiksW2QsZV09Xy5KKCExLHZvaWQgMCwidGkwMm8iKSxmPTAsaD1fLngoIm13ZWJfZW5hYmxlX3Nob3J0c19oZWFydF9uZXdfZG91YmxlX3RhcCIpPyJsaWtlX3RhcF9mZWVkYmFja19zaG9ydHNfaGVhcnQiOiJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiI7Xy5uRSgoKT0+e2UoITApO18uamYuQWEoZik7Zj1fLllqKCgpPT57ZSghMSl9LDJFMyk7dmFyIGs9Yj8uKCk/Lm5hbWU7aWYoaz09PWgpe2NVKGgpO2s9Yj8uKCk/Lng7dmFyIGw9Yj8uKCk/Lnk7bGV0IG09Yy52YWx1ZTttJiYoayE9PXZvaWQgMCYmbCE9PXZvaWQgMD8obS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLG0uc3R5bGUubGVmdD1gJHtrfXB4YCxtLnN0eWxlLnRvcD1gJHtsfXB4YCxtLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKC01MCUsIC01MCUpIik6KG0uc3R5bGUucG9zaXRpb249IiIsbS5zdHlsZS5sZWZ0PSIiLG0uc3R5bGUudG9wPQoiIixtLnN0eWxlLnRyYW5zZm9ybT0iIikpfWVsc2V7aWYobD1jLnZhbHVlKWwuc3R5bGUucG9zaXRpb249IiIsbC5zdHlsZS5sZWZ0PSIiLGwuc3R5bGUudG9wPSIiLGwuc3R5bGUudHJhbnNmb3JtPSIiO2s9PT0icGxheV85NmRwX2FuaW1hdGlvbiI/Y1UoInBsYXlfOTZkcF9hbmltYXRpb24iKTprPT09InBhdXNlXzk2ZHBfYW5pbWF0aW9uIiYmY1UoInBhdXNlXzk2ZHBfYW5pbWF0aW9uIil9fSwiRUNKVWRkIik7cmV0dXJuIF8uSygic2hvcnRzLXRvdWNoLWZlZWRiYWNrIix7Y2xhc3M6Xy5QKCJ5dFNob3J0c1RvdWNoRmVlZGJhY2tIb3N0Iix7eXRTaG9ydHNUb3VjaEZlZWRiYWNrSGlkZGVuOigpPT4hZCgpfSl9LF8uSyhfLk8se0E6YSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKCJkaXYiLHtlbDpjLGNsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlciIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LApfLksoXy5jTSx7YW5pbWF0aW9uTmFtZTooKT0+aCxkYXRhOnthbmltYXRpb25Db25maWc6YlUoaCl9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrTGlrZUFuaW1hdGlvbiJ9KSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRTaG9ydHNUb3VjaEZlZWRiYWNrVG91Y2hGZWVkYmFjayJ9LF8uSyhfLmNNLHthbmltYXRpb25OYW1lOigpPT4icGxheV85NmRwX2FuaW1hdGlvbiIsZGF0YTp7YW5pbWF0aW9uQ29uZmlnOmJVKCJwbGF5Xzk2ZHBfYW5pbWF0aW9uIil9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrUGxheVBhdXNlQW5pbWF0aW9uIn0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKF8uY00se2FuaW1hdGlvbk5hbWU6KCk9PiJwYXVzZV85NmRwX2FuaW1hdGlvbiIsZGF0YTp7YW5pbWF0aW9uQ29uZmlnOmJVKCJwYXVzZV85NmRwX2FuaW1hdGlvbiIpfSxjbGFzc05hbWU6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbiJ9KSkpfSwKImFkIik7dmFyIGRVPXZvaWQgMCxlVT12b2lkIDAsZlUsZ1U9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgW2IsY109Xy5KKDAsdm9pZCAwLCJWZnY1OCIpLFtkLGVdPV8uSigwLHZvaWQgMCwiZ0dDTjlkIiksW2YsaF09Xy5KKCExLHZvaWQgMCwiblNhTGgiKTtyZXR1cm4gXy5LKCJ5dG0tYm90dG9tLXNoZWV0LW92ZXJsYXktcmVuZGVyZXIiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250YWluZXIiLHN0eWxlOigpPT57dmFyIGs9YigpLGw9ZCgpLG09ZigpO2s9YHRyYW5zZm9ybTogdHJhbnNsYXRlWSgke01hdGgubWF4KDAsTWF0aC5yb3VuZChsLWspKX1weCk7YDttJiYoays9InRyYW5zaXRpb246IDAuMnM7Iik7cmV0dXJuIGt9LCJvbjp0b3VjaHN0YXJ0IjpmdW5jdGlvbihrKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSI7YyhrLnRvdWNoZXNbMF0uY2xpZW50WSk7Cmsuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKGspe2Uoay50b3VjaGVzWzBdLmNsaWVudFkpO2suc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaGVuZCI6ZnVuY3Rpb24oayl7ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyc2Nyb2xsQmVoYXZpb3I9IiI7d2luZG93LnNjcmVlbi5hdmFpbEhlaWdodC1kKCk8PTMwMD8oaCghMCksZSh3aW5kb3cuc2NyZWVuLmF2YWlsSGVpZ2h0KSxzZXRUaW1lb3V0KCgpPT57aWYoZFUhPW51bGwpe3ZhciBsPV8uSHooKTtsLnNldCgic3VwcHJlc3NfYXBwX3Vwc2VsbCIsMSk7bC5zYXZlKCk7ZVUmJihlVS5xdj0hMCxlVT12b2lkIDApO18uS04oZFUpO2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZFUpO2RVPXZvaWQgMDtmVT8uKCk7ZlU9dm9pZCAwO18ueSgpLnJlc29sdmUoXy55UCkuUXUoKX19LDI1MCkpOihoKCEwKSxlKDApKTtrLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXIiLApzdHlsZTooKT0+YSgpLmJhY2tncm91bmRJbWFnZT9gYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7YSgpLmJhY2tncm91bmRJbWFnZX0pO2A6dm9pZCAwfSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckRyYWdIYW5kbGUifSksXy5LKF8uTUQse2ljb246KCk9PmEoKS5jZW50cmFsSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNlbnRyYWxJY29uIn0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5jbG9zZUJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTprfSk9Pl8uSyhfLnBPLHtkYXRhOmssY2xhc3NOYW1lOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNsb3NlIixwcmV2ZW50RGVmYXVsdDohMCxRZjohMH0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHMifSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclRpdGxlIn0sCl8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZSJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkuc3VidGl0bGV9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbnN9LHtidXR0b25SZW5kZXJlcjpfLnBPfSkpKSl9LCJiZCIpO2dVLmlkb21Db21wYXQ9ITA7dmFyIE1WPV8uTCgoe2RhdGE6YSxzdG9wUHJvcGFnYXRpb246Yn0pPT5fLksoInl0bS1mb3JjZWQtbXV0ZS1tZXNzYWdlLXJlbmRlcmVyIixudWxsLF8uSyhfLnZPLHtpY29uVHlwZTpfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8iYXVkaW9fc2xhc2giOiJhdWRpb19vZmYiLGFyaWFMYWJlbDooKT0+Xy5hTihhKCkuZm9yY2VkTXV0ZU1lc3NhZ2VUZXh0KSxvbmNsaWNrOmM9PntiPy4oKSYmYy5zdG9wUHJvcGFnYXRpb24oKTtjPWEoKTtfLkIoYy5oZWxwQnV0dG9uLF8uVkwpPy5uYXZpZ2F0aW9uRW5kcG9pbnQmJl8uQUooXy5CKGMuaGVscEJ1dHRvbixfLlZMKT8ubmF2aWdhdGlvbkVuZHBvaW50LGMsITApfSxMbToieXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UifSkpLCJlZCIpO01WLmlkb21Db21wYXQ9ITA7dmFyIE5WPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixHSjpjfSk9Pnt2YXIgZD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtyZXR1cm4gXy5LKCJ5dG0taW5mby1wYW5lbC1jb250ZW50LXJlbmRlcmVyIix7Y2xhc3M6Xy5QKGIsInl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3QiLHt5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0SXNXYXRjaEluZm9QYW5lbDpjLHl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RDaW5lbWF0aWNCYWNrZ3JvdW5kOigpPT5kJiZjPy4oKX0pLCJ5dG0taW5mby1wYW5lbC1jb250ZW50LXRydW5jYXRlLXBhcmFncmFwaHMiOigpPT4hIWEoKS50cnVuY2F0ZVBhcmFncmFwaHN8fHZvaWQgMCwieXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudSI6KCk9PiEhYSgpLm1lbnV8fHZvaWQgMCwiZGF0YS1iYWNrZ3JvdW5kIjooKT0+YSgpLmJhY2tncm91bmR9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCkuc291cmNlRW5kcG9pbnQsCmNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyRW5kcG9pbnQifSxfLksoUG1hLHtkYXRhOmF9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmV9KT0+Xy5LKF8uU1Ase2RhdGE6ZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlck1lbnUifSl9KSl9LCJmZCIpLFBtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlciIsImRhdGEtaGFzLWljb24iOigpPT4hIWEoKS5pY29ufSxfLksoXy5PLHtBOigpPT5hKCkuc291cmNlQXRUb3AmJmEoKS5zb3VyY2UsdGhlbjooKT0+Xy5LKE9WLHtkYXRhOmF9KX0pLF8uSyhfLk8se0E6KCk9PmEoKS50aXRsZSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lciJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSxfLksoXy5NRCwKe2ljb246KCk9PmEoKS5pbmxpbmVMaW5rSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbiJ9KSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJCb2R5In0sXy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGV4dCJ9LF8uSyhfLk8se0E6KCk9PiFhKCkuc291cmNlQXRUb3AmJmEoKS5zb3VyY2UsdGhlbjooKT0+Xy5LKE9WLHtkYXRhOmF9KX0pLF8uSyhfLmdHLHtwYTooKT0+YSgpLnBhcmFncmFwaHN8fFtdfSwoYixjKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoIn0sXy5LKF8uSUose2RhdGE6Yn0pLF8uSyhfLk8se0E6KCk9PmMoKT09PWEoKS5wYXJhZ3JhcGhzLmxlbmd0aC0xJiZhKCkuaW5saW5lU291cmNlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZSJ9LApfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2VUZXh0In0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5pbmxpbmVTb3VyY2V9KSksXy5LKF8uTUQse2ljb246KCk9PmEoKS5pbmxpbmVMaW5rSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbiJ9KSl9KSkpKSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbix0aGVuOmI9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhlYWRlclJpZ2h0SXRlbXMifSxfLksoXy5NRCx7aWNvbjooKT0+YigpLmljb25UeXBlLGNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVySWNvbiJ9KSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLnRpdGxlfSkpfSksXy5LKF8uTyx7QTooKT0+YSgpLnRodW1ibmFpbCx0aGVuOmI9Pl8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOmIsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaHVtYm5haWwiLAphbHQ6IiIsWWE6Xy54KCJjM19wcmVzZXJ2ZV9kaW1lbnNpb25zX2tzIik/dm9pZCAwOiEwLFRhOl8ueCgiYzNfcHJlc2VydmVfZGltZW5zaW9uc19rcyIpP3ZvaWQgMDohMH0pfSkpKSwiZ2QiKSxPVj1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWV0YWRhdGEifSxfLksoXy5PLHtBOigpPT5hKCkuc291cmNlLHRoZW46Yj0+Xy5LKF8uSUose2RhdGE6Yn0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnB1Ymxpc2hlZFRpbWVUZXh0LHRoZW46Yj0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUHVibGlzaFRpbWUifSwiXHUyMDIyICIsXy5LKF8uSUose2RhdGE6Yn0pKX0pKSwiaGQiKTtOVi5pZG9tQ29tcGF0PSEwO3ZhciBQVj1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXIiLHtiYWNrZ3JvdW5kOigpPT5hKCkuYmFja2dyb3VuZH0sXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWxlZnQtaXRlbXMifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24/Lmljb25UeXBlLGNsYXNzTmFtZToieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1pY29uIn0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKF8uU1Ase2RhdGE6YixjbGFzc05hbWU6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItbWVudSJ9KX0pKX0pLF8uSyhfLlcse2RhdGE6KCk9PgphKCkuY29udGVudH0se2luZm9QYW5lbENvbnRlbnRSZW5kZXJlcjpOVn0pKSwiaWQiKTtQVi5pZG9tQ29tcGF0PSEwO3ZhciBSVj1fLkwoKHtkYXRhOmEsaXNBY3RpdmU6YixISjpjLGNsYXNzTmFtZTpkfSk9Pnt2YXIgZT1fLmNJKF8uWlApLGY9Xy5jSSh3amEpLGg9Xy5jSSh2amEpLGs7Xy5uRSgoKT0+e2I/LigpJiZhKCk/LnRyYWNraW5nUGFyYW1zJiZhKCkudHJhY2tpbmdQYXJhbXMhPT1rJiZfLmlxKCkhPT1rJiYoXy5seChfLmh4KCksYSgpLnRyYWNraW5nUGFyYW1zKSxrPV8uaXEoKSl9LCJMUmVTbGIiKTtfLlVKKCgpPT57bmxhKGEoKSl9KTtyZXR1cm4gXy5LKCJ5dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOmQsImRhdGEtaXMtYWN0aXZlIjpifHx2b2lkIDAsImRhdGEtaGFzLWluZm8tcGFuZWwiOigpPT57dmFyIGw9YSgpLG09Xy5CKGwucGxheWVyT3ZlcmxheSxjbWEpO3JldHVybiEhbC5pbmZvUGFuZWx8fCEhbT8uaW5mb1BhbmVsfHx2b2lkIDB9LCJleHRyYWN0LW92ZXJsYXkiOigpPT5lKCk9PT0xfHx2b2lkIDAsImV4dHJhY3QtYWN0aW9uLWJhciI6KCk9Pl8uYU0oZSgpKXx8CnZvaWQgMCwic21hbGxlci1zY3JlZW4tc3F1ZWV6ZWJhY2siOigpPT5mKCl8fHZvaWQgMCwiaXMtZnVsbHNjcmVlbiI6KCk9PmgoKXx8dm9pZCAwLCJpcy13ZWIiOigpPT5jPy4oKXx8dm9pZCAwfSxfLksoXy5PLHtBOigpPT5hKCkucGxheWVyT3ZlcmxheSx0aGVuOmw9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+ITAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyIn0sXy5LKFFWLHtkYXRhOmF9KSl9KSxfLksoXy5XLHtkYXRhOmx9LHtyZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbDpfLmJqYX0pKSxXOigpPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktbWFpbi1jb250ZW50In0sXy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YSJ9LF8uSyhRbWEse2RhdGE6YX0pKSxudWxsLF8uSyhSbWEse2RhdGE6YX0pKSxfLksoU21hLHtkYXRhOmF9KSl9KSwKXy5LKFRtYSx7ZGF0YTphfSkpfSwia2QiKTtSVi5pZG9tQ29tcGF0PSEwOwp2YXIgUW1hPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5XLHtkYXRhOigpPT5hKCkubWV0YXBhbmVsfSx7cmVlbE1ldGFwYW5lbFZpZXdNb2RlbDpfLnJRfSksImxkIiksU21hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LWluZm8tcGFuZWwifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuaW5mb1BhbmVsfSx7aW5mb1BhbmVsQ29udGFpbmVyUmVuZGVyZXI6UFZ9KSksIm1kIiksUm1hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMifSxfLksoUVYse2RhdGE6YX0pLF8uSyhVbWEse2RhdGE6YX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5waXZvdEJ1dHRvbn0se3Bpdm90QnV0dG9uVmlld01vZGVsOl8uaVF9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuZm9yY2VkTXV0ZU1lc3NhZ2VSZW5kZXJlcn0se2ZvcmNlZE11dGVNZXNzYWdlUmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKE1WLHtkYXRhOmIsCnN0b3BQcm9wYWdhdGlvbjohMH0pfSkpLCJuZCIpLFFWPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5PLHtBOigpPT4hXy5URSgpLHRoZW46KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZW51fSx7bWVudVJlbmRlcmVyOih7ZGF0YTpifSk9Pl8uSyhfLlRQLHtkYXRhOmIsc2hvd0ljb246ITAsYnV0dG9uT3ZlcnJpZGVzOmhVKCl9KX0pLFc6KCk9Pl8uSyhfLk8se0E6KCk9Pl8uVEUoKSx0aGVuOigpPT5fLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoXy5TUCx7ZGF0YTpiLGRmOiJyZWVsLXBsYXllci1vdmVybGF5LW92ZXJmbG93LW1lbnUiLEhhOiExLHVuOiExLHN0b3BQcm9wYWdhdGlvbjohMCxidXR0b25PdmVycmlkZXM6aFUoKX0pfSl9KX0pLCJxZCIpLFVtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbkJhcn0se3JlZWxBY3Rpb25CYXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKF8ualEse2RhdGE6YiwKQWY6e2ljb25Qb3NpdGlvbjoiaWNvbi13aXRoLWxhYmVsIixzaXplOiJTIix0eXBlOiJ0ZXh0IixzdHlsZToib3ZlcmxheSJ9fSl9KSwicmQiKSxUbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InN0aWNrZXItbGF5ZXIifSxfLksoXy5PLHtBOigpPT4hIWEoKS52aWRlb0ludGVyYWN0aW9ucyYmXy54KCJtd2ViX2VuYWJsZV9zaG9ydHNfc3RpY2tlcnMiKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLmdHLHtwYTooKT0+YSgpLnZpZGVvSW50ZXJhY3Rpb25zPy5pbnRlcmFjdGlvbnN8fFtdfSxiPT5fLksoXy5jamEse2RhdGE6Yn0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCk/LnZpZGVvSW50ZXJhY3Rpb25zPy5lbGVtZW50c0ludGVyYWN0aW9uc0xheWVyfSx7c3RpY2tlcnNMYXllclJlbmRlcmVyOl8uZGphfSkpfSkpLCJzZCIpO3ZhciBTVj1fLkwoKHtkYXRhOmEsWWY6YixjajpjLHZCOmQsSXI6ZSxlaDpmfSk9PntmdW5jdGlvbiBoKHApe24ubG90dGllRWwmJm4ubG90dGllRWwuaXNQYXVzZWQmJm4ubG90dGllRWwuZ29Ub0FuZFBsYXkoMCk7cC5zdG9wUHJvcGFnYXRpb24oKX1fLlVKKCgpPT57dmFyIHA9b2xhLmJpbmQodm9pZCAwLGEoKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIixwKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIixwKX0pfSk7dmFyIGs9KCk9Pnt2YXIgcD1hKCk7cmV0dXJuIGQ/LigpP3AuZGFya1RoZW1lTG9nbz8ubG90dGllQW5pbWF0aW9uPy51cmw6cC5saWdodFRoZW1lTG9nbz8ubG90dGllQW5pbWF0aW9uPy51cmx9LGw9KCk9PmEoKS5hY2Nlc3NpYmlsaXR5RGF0YT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHxfLmFOKGEoKS50b29sdGlwVGV4dCl8fCIiLG09KCk9PmQ/LigpPyJsb2dvLWVudGl0eS1sb3R0aWUtYW5pbWF0aW9uLWRhcmsiOgoibG9nby1lbnRpdHktbG90dGllLWFuaW1hdGlvbi1saWdodCIsbj17fTtyZXR1cm4gXy5LKCJ5dG0tbG9nby1lbnRpdHkiLHtjbGFzczoieXRtTG9nb0VudGl0eUhvc3QifSxlPy4oKSxfLksoXy5PLHtBOigpPT4hZSYmYj8uKCkhPT12b2lkIDAmJmM/LigpIT09dm9pZCAwJiZkPy4oKSE9PXZvaWQgMCx0aGVuOigpPT5fLksoXy5PLHtBOmssdGhlbjooKT0+Xy5LKCJkaXYiLHtpZDpjLGNsYXNzOiJ5dG1Mb2dvRW50aXR5Q29udGFpbmVyIiwib246Y2xpY2siOmh9LF8uSyhfLmNNLHtjbGFzc05hbWU6Xy5QKGIsInl0bUxvZ29FbnRpdHlMb2dvIiksZGF0YTooKT0+KHthbmltYXRpb25Db25maWc6e3BhdGg6aygpLGF1dG9wbGF5OiEwLGxvb3A6ITEscmVuZGVyZXJTZXR0aW5nczp7dmlld0JveE9ubHk6ITB9fSxsaXN0ZW5lcnM6e2RhdGFfZmFpbGVkOmYsZXJyb3I6Zn19KSxhbmltYXRpb25SZWY6bixhbmltYXRpb25OYW1lOm19KSksVzooKT0+Xy5LKFZtYSx7Y2xhc3NOYW1lOiJ5dG1Mb2dvRW50aXR5Q29udGFpbmVyIiwKWWY6YixpZDooKT0+Yz8uKCk/PyIiLERBOnA9Pnt2YXIgcj1hKCksdD0hIWQ/LigpO3JldHVybiB0JiZyLmRhcmtUaGVtZUxvZ28/LnRodW1ibmFpbD9fLkpQKHIuZGFya1RoZW1lTG9nby50aHVtYm5haWwscHx8dm9pZCAwKTohdCYmci5saWdodFRoZW1lTG9nbz8udGh1bWJuYWlsP18uSlAoci5saWdodFRoZW1lTG9nby50aHVtYm5haWwscHx8dm9pZCAwKToiIn0sYWx0VGV4dDpsLGVoOmZ9KX0pfSkpfSwidGQiKTtTVi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e0lyOiEwLGVoOiEwfX07CnZhciBWbWE9Xy5MKCh7Y2xhc3NOYW1lOmEsWWY6YixpZDpjLERBOmQsYWx0VGV4dDplLGVoOmZ9KT0+e3ZhciBoPV8udUUoImRpdiIpLGs9Xy51RSgiaW1nIik7Xy5VSigoKT0+e2sudmFsdWUuc3JjPWQoaC52YWx1ZSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczphLGVsOmh9LF8uSygiaW1nIix7ZWw6aywib246ZXJyb3IiOmZ1bmN0aW9uKGwpe2Y/LigpO2wuc3RvcFByb3BhZ2F0aW9uKCl9LGlkOmMsY2xhc3M6Xy5QKGIsInl0bUxvZ29FbnRpdHlMb2dvIiksYWx0OmV9KSl9LCJ1ZCIpO3ZhciBVVj1fLkwoKHt0b3BiYXJMb2dvUmVuZGVyZXI6YSxWajpiLFdqOmMsWGo6ZCx1bTplLGljb25PdmVycmlkZTpmLGh6OmgsYWs6a30pPT57ZnVuY3Rpb24gbCgpe3QoITApfXZhciBtPV8uREkobGphLCgpPT5hPy4oKT8ub3ZlcnJpZGVFbnRpdHlLZXl8fF8uVk0oKT8iRWdaMGIzQmlZWElnOVFFb0FRJTNEJTNEIjoiIiksbj0oKT0+YT8uKCk/Lmljb25JbWFnZT8uaWNvblR5cGUsW3Ascl09Xy5KKCExLHZvaWQgMCwiWmFQUGxiIiksdD1yLHY9Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKSx6PShfLlZNKCl8fHY/LigpKT8/ITEsRT1udWxsLEE9Xy51RSgiYnV0dG9uIik7Xy5VSihmdW5jdGlvbigpeyhtPy4oKT8/dm9pZCAwKXx8U1MoMTIwODEsQS52YWx1ZSxFLEY9PntFPUZ9LG51bGwpfSk7cmV0dXJuIF8uSygieXRtLWhvbWUtbG9nbyIsbnVsbCxfLksoImJ1dHRvbiIse2VsOkEsImFyaWEtbGFiZWwiOigpPT5fLkNKKGE/LigpPy50b29sdGlwVGV4dCk/Xy5DSihhPy4oKT8udG9vbHRpcFRleHQpOgoiWW91VHViZSIscm9sZToibGluayIsY2xhc3M6Xy5QKHsibG9nby1pbi1wbGF5ZXItZW5kcG9pbnQiOmMsIm1vYmlsZS10b3BiYXItaGVhZGVyLWVuZHBvaW50IjooKT0+IWMoKX0pLGtleTooKT0+bT8uKCk/P3ZvaWQgMD8ieW9vZGxlIjoibG9nbyIsIm9uOmNsaWNrIjpmdW5jdGlvbihGKXt2YXIgQz1hPy4oKT8uZW5kcG9pbnQ/P3JWLEc9bT8uKCk/P3ZvaWQgMCxEPSIvIjtHPyhDPUcub25UYXBDb21tYW5kfHxDLEQ9Xy5CKEcub25UYXBDb21tYW5kPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybHx8RCk6RD1fLkIoQz8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmx8fEQ7dmFyIEg9az8uKCk/PzM4NTQsUj1GLmN1cnJlbnRUYXJnZXQ7RyYmKFIuZGF0YT1HKTtoPy4oRik7Xy5xUCh7aHJlZjpELGFrOkgsZWxlbWVudDpSLHB1c2hTdGF0ZTohMCxlbmRwb2ludDpDfSk7Ri5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PiFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSYmCmpVKHosbT8uKCk/P3ZvaWQgMCksdGhlbjooKT0+Xy5LKFNWLHtkYXRhOigpPT5tPy4oKT8/dm9pZCAwLElyOigpPT5fLksoVFYse1ZqOmIsV2o6YyxYajpkLFlmOiJtb2JpbGUtdG9wYmFyLWxvZ28iLGNqOiJob21lLWljb24iLHVtOmUsaWNvbk92ZXJyaWRlOmYscnM6bn0pLGVoOmx9KX0pLF8uSyhfLk8se0E6KCk9PiFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSYmIWpVKHosbT8uKCk/P3ZvaWQgMCksdGhlbjooKT0+Xy5LKFNWLHtkYXRhOigpPT5tPy4oKT8/dm9pZCAwLFlmOiJtb2JpbGUtdG9wYmFyLWxvZ28iLGNqOiJob21lLWljb24iLHZCOnosZWg6bH0pfSksXy5LKF8uTyx7QTooKT0+ISghcCgpJiYobT8uKCk/P3ZvaWQgMCkmJmlVKGIoKSkpLHRoZW46KCk9Pl8uSyhUVix7Vmo6YixXajpjLFhqOmQsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdW06ZSxpY29uT3ZlcnJpZGU6ZixyczpufSl9KSkpfSwidmQiKTtVVi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2h6OiEwfX07CnZhciBUVj1fLkwoKHtWajphLFdqOmIsWGo6YyxZZjpkLGNqOmUsdW06ZixpY29uT3ZlcnJpZGU6aCxyczprfSk9Pnt2YXIgbD0oKT0+YSgpP2g/LigpfHwiTE9HT19XSVRIX1RFWFQiOmM/LigpP2s/LigpOiJMT0dPIjtyZXR1cm4gXy5LKF8uTUQse2ljb246KCk9Pnt2YXIgbT1sKCk7Zj8uKCkmJmE/LigpJiYobSs9Il9NT05PQ0hST01FIik7cmV0dXJuIG19LGNsYXNzTmFtZTpfLlAoKCk9PmIoKT8ibG9nby1pbi1wbGF5ZXIiOmQoKSx7ImZ1bGwtbG9nbyI6YSwiZnVsbC1sb2dvLXJlZCI6KCk9PmEoKSYmbCgpPT09IllPVVRVQkVfUFJFTUlVTV9MT0dPX1NIT1JUIiwic2hvcnRzLWxvZ28iOmMsbW9ub2Nocm9tYXRpYzpmfSksaWQ6ZX0pfSwid2QiKTt2YXIgV21hPV8uTChhPT5fLksoXy5JQixudWxsLF8uSyhPbWEse0Z4OiExLGFuaW1hdGlvbjphLmFuaW1hdGlvbn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzRW1iZWRzVG9wYmFyQ29udGFpbmVyIn0sXy5LKFVWLHt0b3BiYXJMb2dvUmVuZGVyZXI6YS54eSxWajohMSxXajohMCxYajohMCxhazoxMzQ4NDB9KSxfLksoXy5PLHtBOmEucmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHRoZW46KCk9Pl8uSyhIVix7b3JpZW50YXRpb246InZlcnRpY2FsX2Rvd24iLEg6YS5ILENwOiEwLGNsYXNzTmFtZToieXRTaG9ydHNFbWJlZHNWb2x1bWVDb250cm9scyIsYmo6ITB9KX0pKSxfLksoXy5PLHtBOmEub3ZlcmxheSx0aGVuOmI9Pl8uSyhSVix7ZGF0YTooKT0+e3ZhciBjPWIoKTtpZihfLnRQKCkpe3ZhciBkPWMubWVudT8ubWVudVJlbmRlcmVyO2M9ZD8uaXRlbXM/ey4uLmMsbWVudTp7Li4uYy5tZW51LG1lbnVSZW5kZXJlcjp7Li4uZCxpdGVtczpbe2FjY291bnRJbmZvTWVudUl0ZW06ITB9LAouLi5kLml0ZW1zXX19fTpjfXJldHVybiBjfSxjbGFzc05hbWU6Inl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciJ9KX0pLF8uSyhNbWEse0g6YS5ILGNvbnRleHQ6YS5jb250ZXh0fSkpLCJ4ZCIpLFdsYT1fLkwoYT0+e3ZhciB7SDpiLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpjLGpiOmQsUGg6ZSxjb250ZXh0OmZ9PV8uREMoYSx7SDp2b2lkIDAscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOnZvaWQgMCxqYjp2b2lkIDAsUGg6dm9pZCAwfSksW2gsa109Xy5KKHZvaWQgMCx2b2lkIDAsIkNQU3pJZSIpLFtsLG1dPV8uSih2b2lkIDAsdm9pZCAwLCJJSTRIQ2QiKTtfLm9GKCgpPT57dmFyIEE9Yj8uKCk7QT8uaXNSZWFkeSgpJiZtKEEuZ2V0UGxheWVyU3RhdGUoKSl9KTt2YXIgbj1BPT57Yj8uKCkmJm0oQSl9O18ubkUoKCk9Pnt2YXIgQT1iPy4oKTtBJiYoQS5hZGRFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixuKSxfLll1KCgpPT57QS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIiwKbil9KSl9LCJDN0Q1OWQiKTtfLm5FKCgpPT57dmFyIEE9YygpO2lmKEEpe2xldCBGPV8ueSgpLnJlc29sdmUoXy5iTCk7Zm9yKGxldCBDIG9mIEEuZW5nYWdlbWVudFBhbmVsc3x8W10pKEE9Qy5lbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyKSYmRi5PeihBLmlkZW50aWZpZXI/LnRhZ3x8QS50YXJnZXRJZHx8QS5wYW5lbElkZW50aWZpZXIsQyl9fSwiUWRTZVRiIik7Xy5uRSgoKT0+e2Z1bmN0aW9uIEEoKXtpZihDKXtsZXQgRz1DLmdldE9wdGlvbnM/LigiY2FwdGlvbnMiKTtHJiZHLmxlbmd0aD4wJiZDPy51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3M/Lih7Zm9udFNpemVJbmNyZW1lbnQ6Mn0sITEpfX12YXIgRj1iPy4oKTtpZihGKXt2YXIgQz1GO0EoKTtDLmFkZEV2ZW50TGlzdGVuZXIoIm9uQ2FwdGlvbnNNb2R1bGVBdmFpbGFibGUiLEEpO18uWXUoKCk9PntDLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ2FwdGlvbnNNb2R1bGVBdmFpbGFibGUiLEEpfSl9fSwibDhXMXZiIik7CnZhciBwPV8uTigoKT0+YygpPy5vdmVybGF5Py5yZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyfHxkKCk/LmVtYmVkUHJldmlldz8ucmVlbFBsYXllck92ZXJsYXlSZW5kZXJlcix2b2lkIDAsInplaFlZYiIpLHI9Xy5OKCgpPT57dmFyIEE7KEE9Xy5CKGMoKT8udG9wYmFyLCRsYSk/LnRvcGJhckxvZ28/LnRvcGJhckxvZ29SZW5kZXJlcil8fChBPWUoKT8uZW5kcG9pbnQsQT0oQT0oQSYmXy5CKEEsXy5URCkpPy52aWRlb0lkKT9gaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzLyR7QX1gOiJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMiLEE9e2ljb25JbWFnZTp7aWNvblR5cGU6IllPVVRVQkVfU0hPUlRTX09VVExJTkVfV0lUSF9URVhUXzI0In0sdG9vbHRpcFRleHQ6e3J1bnM6W3t0ZXh0OiJZb3VUdWJlIFNob3J0cyJ9XX0sZW5kcG9pbnQ6e2NvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6QSx3ZWJQYWdlVHlwZToiV0VCX1BBR0VfVFlQRV9TSE9SVFMiLApyb290VmU6MzgzMn19LHVybEVuZHBvaW50Ont1cmw6QSx0YXJnZXQ6IlRBUkdFVF9ORVdfV0lORE9XIn19fSk7cmV0dXJuIEF9LHZvaWQgMCwiTk4yNzJjIik7YT1fLk4oKCk9PntpZihsKCk9PT01KXt2YXIgQT1lKCk/LmVuZHBvaW50O2lmKEEmJihBPV8uQihBLF8uVEQpPy50aHVtYm5haWw/LnRodW1ibmFpbHM/LlswXT8udXJsKSlyZXR1cm4gXy5JRSh7ImJhY2tncm91bmQtc2l6ZSI6ImNvdmVyIiwiYmFja2dyb3VuZC1wb3NpdGlvbiI6ImNlbnRlciIsImJhY2tncm91bmQtcmVwZWF0Ijoibm8tcmVwZWF0IiwiYmFja2dyb3VuZC1pbWFnZSI6YCR7ImxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC40KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxNjBweCksXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNCkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgOTZweCkifSwgdXJsKCR7QX0pYH0pKCl9fSx2b2lkIDAsImkxNkZEZSIpOwp2YXIgdD1fLk4oKCk9PmIoKT8/dm9pZCAwLHZvaWQgMCwiVWZZdEZmIiksdj1fLk4oKCk9PnQoKT8uaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheT8uKCksdm9pZCAwLCJsS2NBbWQiKSx6PV8uTigoKT0+KHt0YTpmKCkudGEsVGM6ZigpLlRjLEdjOmYoKS5HYyxiYTpmKCkuYmEsSDp0KCkscGxheWVyU3RhdGU6bCgpPz8tMSxTOigpPT57fX0pLHZvaWQgMCwiZTZsU2llIiksRT1fLk4oKCk9Pnt2YXIgQT10KCk/LmdldFBsYXllclJlc3BvbnNlPy4oKTtyZXR1cm4gQT9fLkIoQT8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXI/Lm11dGVkQXV0b3BsYXksb1YpOnZvaWQgMH0sdm9pZCAwLCJER1RTbmQiKTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKCRULHQpXX0sXy5LKCJzaG9ydHMtZW1iZWRzIix7Y2xhc3M6Inl0U2hvcnRzRW1iZWRzSG9zdCIsIm9uOmNsaWNrIjpmdW5jdGlvbihBKXtBLnN0b3BQcm9wYWdhdGlvbigpO2lmKCFFUShBLnRhcmdldCwiQSIpJiYKIUVRKEEudGFyZ2V0LCJCVVRUT04iKSYmKEE9YigpKSYmQS5pc1JlYWR5KCkpaWYoQS5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KCkpe3ZhciBGPUEuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkLEM9QS5nZXRDdXJyZW50VGltZSgpO0YmJihBLnVuTXV0ZSgpLEEubG9hZFZpZGVvQnlJZChGLEMpKX1lbHNlIEY9QS5nZXRQbGF5ZXJTdGF0ZSgpPT09MSxDPUEuaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSgpLEYmJkM/QS51bk11dGUoKTooRj1BLmdldFBsYXllclN0YXRlKCk9PT0xLEM9QS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCksRiYmIUM/KEEucGF1c2VWaWRlbygpLGsoe25hbWU6InBhdXNlXzk2ZHBfYW5pbWF0aW9uIn0pKTpGfHwoQyYmQS51bk11dGUoKSxBLnBsYXlWaWRlbygpLGsoe25hbWU6InBsYXlfOTZkcF9hbmltYXRpb24ifSkpKX0sc3R5bGU6YX0sXy5LKF8uTyx7QTooKT0+digpLHRoZW46KCk9Pl8uSyhMVix7Rzp6LHBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXI6RX0pLApXOigpPT5fLksoV21hLHthbmltYXRpb246aCx4eTpyLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpjLEg6dCxvdmVybGF5OnAsY29udGV4dDpmfSl9KSkpfSwiQ2QiKTt2YXIgYlY9Xy5MKCh7ZGF0YTphfSk9PntKamEoKTtyZXR1cm4gXy5LKCJ5dC1wbGF5ZXItaW50ZXJzdGl0aWFsLXJlbmRlcmVyIix7Y2xhc3M6InBsYXllckludGVyc3RpdGlhbFJlbmRlcmVySG9zdCIscm9sZToiZGlhbG9nIiwiYXJpYS1sYWJlbCI6KCk9Pnt2YXIgYjthOntpZihiPWEoKS5jb250ZW50KXt2YXIgYz1fLkIoYixibWEpO2lmKGM/LnRpdGxlPy5jb250ZW50KXtiPWMudGl0bGUuY29udGVudDticmVhayBhfWI9Xy5CKGIsZW1hKTtiPWI/LmhlYWRlciYmXy5CKGIuaGVhZGVyLGRtYSk7aWYoYj8uaGVhZGxpbmU/LmNvbnRlbnQpe2I9Yi5oZWFkbGluZS5jb250ZW50O2JyZWFrIGF9fWI9dm9pZCAwfXJldHVybiBifSx0YWJpbmRleDotMSxlbDpfLnJGKGI9PnZvaWQgYj8uZm9jdXMoKSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllckludGVyc3RpdGlhbFJlbmRlcmVyU2NyaW0ifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuY29udGVudH0se2ludGVyc3RpdGlhbFZpZXdNb2RlbDpfLmVqYSwKZGlhbG9nVmlld01vZGVsOl8uJGlhfSkpKX0sIkRkIik7YlYuaWRvbUNvbXBhdD0hMDt2YXIgVlY9Xy5MKCh7Z2Y6YSxJYjpifSk9Pl8uSygieXQtYmlnYm9hcmQiLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmlzRHJhZ2dpbmcsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRCaWdib2FyZFN0b3J5Ym9hcmRIb3N0In0sXy5LKEdtYSx7TGI6YSxJYjpifSkpfSkpLCJFZCIpO1ZWLmlkb21Db21wYXQ9ITA7dmFyIFdWPV8uTChhPT57dmFyIGI9YS5HO2E9Xy5OKCgpPT5iKCkuZWE/Xy4kTi5tdDpfLiROLlp0LHZvaWQgMCwieGlkenVkIik7cmV0dXJuIF8uSygiYnV0dG9uIix7Im9uOmNsaWNrIjpmdW5jdGlvbihjKXt2YXIgZD17ZWE6IWIoKS5lYSx5cTohMH07YigpLlMoZCk7Yy5zdG9wUHJvcGFnYXRpb24oKX0saWQ6InBsYXllci1jb250cm9scy1hMTF5LXRvZ2dsZSIsY2xhc3M6Inl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b24iLCJhcmlhLWxhYmVsIjphfSl9LCJGZCIpO3ZhciBYVj1fLkwoYT0+e2Z1bmN0aW9uIGIoaCl7WFMoYS5GZCgpPT09LTE/MTQxOTAyOjE0MTkwMyk7dmFyIGs9Yz8uKCksbD1hLkZkKCk7az8uc2Vla0J5KGwqMTAsdm9pZCAwLHZvaWQgMCxsPT09LTE/ODM6ODIpO2guc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGM9Xy5rRygkVCksZD0oKT0+YS5GZCgpPT09LTE/Xy4kTi5RdC5yZXBsYWNlKCIkc2Vjb25kc19wbGFjZWhvbGRlciIsKDEwKS50b1N0cmluZygpKTpfLiROLkl0LnJlcGxhY2UoIiRzZWNvbmRzX3BsYWNlaG9sZGVyIiwoMTApLnRvU3RyaW5nKCkpLGU9Xy5OKCgpPT57dmFyIGg9YS5HKCk7cmV0dXJuIF8ueCgibXdlYl9wY19saXZlX2R2cl9rcyIpPyEwOiEoaC5pc0xpdmUmJiFoLmlzTGl2ZUR2ckVuYWJsZWQpfSx2b2lkIDAsIkthcklLYyIpLGY9Xy51RSgiYnV0dG9uIixoPT57V1MoaCxhLkZkKCk9PT0tMT8xNDE5MDI6MTQxOTAzKX0pO3JldHVybiBfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKCJidXR0b24iLHsiYXJpYS1sYWJlbCI6ZCwKY2xhc3M6Xy5QKGEuY2xhc3NOYW1lLCJ5dG1BMTF5U3R5bGVzSGlkZGVuQnV0dG9uIiwicGxheWVyLWNvbnRyb2wtc2Vlay1pY29uLWExMXkiKSxzdHlsZTpfLklFKHtsZWZ0OigpPT5hLkZkKCk9PT0tMT8iMCI6InVuc2V0IixyaWdodDooKT0+YS5GZCgpPT09MT8iMCI6InVuc2V0In0pLGVsOmYsIm9uOmNsaWNrIjpifSl9KX0sIkdkIik7dmFyIFlWPV8uTChhPT57dmFyIHtVZDpiLG9uY2xpY2s6YywuLi5kfT1hO2E9Xy51RSgiZGl2IixlPT57V1MoZSxiKCkpfSk7cmV0dXJuIF8uSygiZGl2Iix7ZWw6YX0sXy5LKF8udE8sey4uLmQsb25jbGljazplPT57WFMoYigpKTtjPy4oZSl9fSkpfSwiSGQiKTt2YXIgWlY9Xy5MKGE9Pnt2YXIgYj1fLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8icGxheWVyX2Z1bGxfZW50ZXJfYWx0IjoiRlVMTFNDUkVFTiIsYz1fLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8icGxheWVyX2Z1bGxfZXhpdF9hbHQiOiJGVUxMU0NSRUVOX0VYSVQiLGQ9KCk9PmEuRygpLmlzRnVsbHNjcmVlbj9jOmI7cmV0dXJuIF8uSyhZVix7bmFtZTpkLGFyaWFMYWJlbDooKT0+YS5HKCkuaXNGdWxsc2NyZWVuP18uJE4uSHQ6Xy4kTi5KdCxjb250ZW50OigpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItYm90dG9tLWNvbnRyb2xzLWZ1bGxzY3JlZW4taWNvbi12aXNpYmxlLWFyZWEifSxfLksoXy5NRCx7aWNvbjpkfSkpLGNsYXNzTmFtZToiZnVsbHNjcmVlbi1pY29uIixVZDoxMzkxMTcsb25jbGljazplPT57YS5HKCkudGEudG9nZ2xlRnVsbHNjcmVlbigpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJJZCIpO3ZhciAkVj1fLkwoYT0+e3ZhciBiPV8ua0coJFQpO3JldHVybiBfLksoWVYse25hbWU6KCk9PmEuRygpLnBsYXllclN0YXRlPT09MXx8YS55cyYmYS5HKCkucGxheWVyU3RhdGU9PT0zPyJQQVVTRV9GSUxMRUQiOiJQTEFZX0FSUk9XX0ZJTExFRCIsYXJpYUxhYmVsOigpPT5hLkcoKS5wbGF5ZXJTdGF0ZT09PTF8fGEueXMmJmEuRygpLnBsYXllclN0YXRlPT09Mz9fLiROLkx0Ol8uJE4uUGcsY2xhc3NOYW1lOiJwbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24iLFVkOjM2ODQyLG9uY2xpY2s6Yz0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZSYmKGU9V1EoZSksZC5TKHtqZTplfSkpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJKZCIpO3ZhciBhVz1fLkwoYT0+e3ZhciBiPV8ua0coJFQpO3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9SRVBMQVkiLGFyaWFMYWJlbDpfLiROLlB0LGNsYXNzTmFtZToiZW5kc2NyZWVuLXJlcGxheS1idXR0b24iLFVkOjU2Mzg2LG9uY2xpY2s6Yz0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZSYmKGQucmMmJmU/LnVuTXV0ZSgpLGUucGxheVZpZGVvKCkpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJLZCIpO3ZhciBiVz1fLkwoYT0+Xy5LKFlWLHtuYW1lOiJHRUFSIixhcmlhTGFiZWw6Xy4kTi52dCxjbGFzc05hbWU6Xy5QKCJwbGF5ZXItc2V0dGluZ3MtaWNvbiIsYS5jbGFzc05hbWUpLFVkOjI4NjYzLG9uY2xpY2s6Yj0+e2EuRygpLnRhLlNqKGIpfX0pLCJMZCIpO3ZhciBjVz1fLkwoYT0+e3ZhciB7S3U6YixvbkNsaWNrOmMsYXJpYUxhYmVsOmQsYXJpYVByZXNzZWQ6ZSxpc092ZXJsYXk6Zn09Xy5EQyhhLHtpc092ZXJsYXk6ITF9KTthPV8udUUoImJ1dHRvbiIsaD0+e1dTKGgsMTI3Mjk5KX0pO3JldHVybiBfLksoInl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24iLHtjbGFzczpfLlAoInl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25Ib3N0Iix7eXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZE92ZXJsYXk6KCk9PmIoKT09PS0xJiZmKCkseXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZDooKT0+YigpPT09LTEmJiFmKCl9KX0sXy5LKCJidXR0b24iLHtlbDphLGNsYXNzOiJ5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uQnV0dG9uIix0aXRsZTpkLCJhcmlhLWxhYmVsIjpkLCJhcmlhLXByZXNzZWQiOmUsImFyaWEtZGlzYWJsZWQiOigpPT5iKCk9PT0tMT8idHJ1ZSI6dm9pZCAwLCJvbjpjbGljayI6ZnVuY3Rpb24oaCl7WFMoMTI3Mjk5KTsKYz8uKGgpO2guc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5NRCx7aWNvbjooKT0+e3ZhciBoPSIiO2lmKF8ueCgibXdlYl9sb2NhbGl6ZWRfY2NfaWNvbiIpKXt2YXIgaz1fLkh6KCkuZ2V0KCJobCIpO2s9IWt8fGhtYS5pbmNsdWRlcyhrKT8iQ0xPU0VEX0NBUFRJT04iOiJTVUJUSVRMRVMifWVsc2Ugaz0iQ0xPU0VEX0NBUFRJT04iO3ZhciBsPWIoKTtzd2l0Y2gobCl7Y2FzZSAtMTpjYXNlIDA6aD1rO2JyZWFrO2Nhc2UgMTpoPWsrIl9GSUxMRUQiO2JyZWFrO2RlZmF1bHQ6Xy5lYihsLHZvaWQgMCl9cmV0dXJuIGh9LGNsYXNzTmFtZTpfLlAoe3l0bUNsb3NlZENhcHRpb25pbmdCdXR0b25ZdEljb25PdmVybGF5OmZ9KX0pKSl9LCJNZCIpO2NXLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DbGljazohMH19O3ZhciBrVT0iIjt2YXIgZFc9Xy5MKGE9Pnt2YXIgYj1hLmdmLGM9YS5zTCxkPWEuV3EsZT1hLmNsYXNzTmFtZSxmPWEuVnIsaD1wPT57dmFyIHI9YigpLHQ9Yz8uKCksdj1mKCk7ci54YyYmKHQ/ci5IPy50b2dnbGVTdWJ0aXRsZXModik6KHQ9ci5IKSYmUVEodCxsVShyKSx2KSk7Xy54KCJ3ZWJfZGVsZXRlX3NuYWNrYmFycyIpfHxyLnRhLnFBPy4ocik7ZD8uKHApfSxrPV8uTigoKT0+e3ZhciBwPWIoKSxyPS0xO3AueGMmJihyPXAuY2FwdGlvbnNFbmFibGVkPzE6MCk7cmV0dXJuIHJ9LHZvaWQgMCwiSE1vMnJjIiksbD1fLk4oKCk9Pnt2YXIgcD1iKCk7cmV0dXJuIHAueGM/Xy5hQShwLmNhcHRpb25zRW5hYmxlZD8iQ0xPU0VEX0NBUFRJT05TX09OIjoiQ0xPU0VEX0NBUFRJT05TX09GRiIpOl8uYUEoIkNMT1NFRF9DQVBUSU9OU19ESVNBQkxFRCIpfSx2b2lkIDAsIldRNTFZZSIpLG09Xy5OKCgpPT57dmFyIHA9YigpO3A9cC54Yz9wLmNhcHRpb25zRW5hYmxlZDp2b2lkIDA7cmV0dXJuIHB9LHZvaWQgMCwKIkkwTFR1YiIpLG49Xy5OKCgpPT5iKCkueGMsdm9pZCAwLCJMdmVPV2UiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX3BsYXllcl9oaWRlX3VuYXZhaWxhYmxlX3N1YnRpdGxlc19idXR0b24iKT9uKCk6ITAsdGhlbjooKT0+Xy5LKCJ5dC1jbG9zZWQtY2FwdGlvbnMtdG9nZ2xlLWJ1dHRvbiIse2NsYXNzOmV9LF8uSyhjVyx7S3U6ayxhcmlhTGFiZWw6bCxhcmlhUHJlc3NlZDptLG9uQ2xpY2s6aCxpc092ZXJsYXk6ITB9KSl9KX0sIk5kIik7dmFyIGVXPV8uTCgoe0lBOmEsZGF0YTpiLGNoaWxkcmVuOmN9KT0+e2Z1bmN0aW9uIGQoKXthPy4oKXx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Zi52YWx1ZSYmKGgudmFsdWUuc3R5bGUud2lkdGg9YCR7Zi52YWx1ZS5vZmZzZXRXaWR0aH1weGApfSl9dmFyIGU9dm9pZCAwLGY9Xy51RSgiZGl2IiksaD1fLnVFKCJkaXYiKSxrPV8uQlEoKSxsPV8uQlEoKTtfLm5FKCgpPT57ZCgpOyFlJiZiKCkuc3Vic2NyaWJlZCYmKGsubG90dGllRWw/LmdvVG9BbmRQbGF5KDApLGwubG90dGllRWw/LmdvVG9BbmRQbGF5KDApKTtlPSEhYigpLnN1YnNjcmliZWR9LCJNTTBqQWYiKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Ib3N0In0sXy5LKF8uQVEse09vOmssUnA6bH0sXy5LKCJkaXYiLHtlbDpoLGNsYXNzOl8uUCgieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Db250ZW50Q29udGFpbmVyIix7eXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25TdGF0aWNXaWR0aDphLAp5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNhbkFuaW1hdGU6KCk9PmIoKS5zdWJzY3JpYmVkfSl9LF8uSygiZGl2Iix7ZWw6ZixjbGFzczoieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25GbGV4Q29udGFpbmVyIn0sYykpKSl9LCJQZCIpO2VXLmlkb21Db21wYXQ9ITA7dmFyIGZXPV8uTCgoe2RhdGE6YSxidXR0b25PdmVycmlkZXM6Yn0pPT57dmFyIFtjXT1uamEoYSk7cmV0dXJuIF8uSygieXRtLXN1YnNjcmliZS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczpfLlAoeyJpcy1zdWJzY3JpYmVkIjooKT0+YygpLnN1YnNjcmliZWQsImlzLW5vdC1zdWJzY3JpYmVkIjooKT0+IWMoKS5zdWJzY3JpYmVkLGRpc2FibGVkOigpPT57dmFyIGQ7aWYoZD0hIWMoKS50aGVtZSl7ZD0hIWMoKS5zdWJzY3JpYmVkO3ZhciBlPWMoKS50aGVtZTtkPWQ/ISFlLnN1YnNjcmliZWRDb2xvclBhbGV0dGUmJl8udU4oZS5zdWJzY3JpYmVkQ29sb3JQYWxldHRlKTohIWUudW5zdWJzY3JpYmVkQ29sb3JQYWxldHRlJiZfLnVOKGUudW5zdWJzY3JpYmVkQ29sb3JQYWxldHRlKX1yZXR1cm4gZH19KX0sXy5LKF8uYWphLHtzZXR0aW5nczooKT0+KHt1bmlxdWVJZDoic3Vic2NyaWJlIixmazpjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fFtdLFhkOihjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fApbXSkubGVuZ3RoPjAsZW5hYmxlZDohYygpLnN1YnNjcmliZWQmJihjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fFtdKS5sZW5ndGg+MH0pfSxfLksoWG1hLHtkYXRhOmMsYnV0dG9uT3ZlcnJpZGVzOmJ9KSkpfSwiUWQiKTtmVy5pZG9tQ29tcGF0PSEwOwp2YXIgWG1hPV8uTCgoe2RhdGE6YSxidXR0b25PdmVycmlkZXM6Yn0pPT57dmFyIGM9KCk9PiEoIWEoKS5zdWJzY3JpYmVkfHwhYSgpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24pLGQ9Xy5OKCgpPT4oey4uLlFqYSh7cmVuZGVyZXI6YSgpLHN1YnNjcmliZWQ6ISFhKCkuc3Vic2NyaWJlZCxpc092ZXJsYXk6Xy5XTSgpPyEwOiExLHN0b3BQcm9wYWdhdGlvbjohMH0pLGRpc2FibGVkOiFhKCkuZW5hYmxlZCwuLi4oYj8uKCl8fHt9KX0pLHZvaWQgMCwieW9DZGNlIik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Im1vZGVybi1zdWJzY3JpYmUtYnV0dG9uLWNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJub3RpZmljYXRpb24tYmVsbC1jb250YWluZXIiLHtoaWRkZW46KCk9PiFjKCl9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b259LHt0b2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6ZX0pPT5fLksoXy5xTywKe2RhdGE6ZSxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In0sY2xhc3NOYW1lOl8uUCgibm90aWZpY2F0aW9uLWJlbGwiLHtoaWRkZW46KCk9PiFjKCl9KX0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJtb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiIseyJ3aXRoLW5vdGlmaWNhdGlvbi1iZWxsIjpjfSl9LF8uSyhfLk8se0E6KCk9PiFfLldNKCksdGhlbjooKT0+e3ZhciBlPV8uVU0oKT09PSJjaGFubmVsIjtyZXR1cm4gXy5LKGVXLHtkYXRhOmEsSUE6ZX0sXy5LKF8uSksse2RhdGE6ZH0pKX0sVzooKT0+Xy5LKF8uSksse2RhdGE6ZH0pfSksXy5LKCJkaXYiLHtjbGFzczoic3Vic2NyaWJlLWJ1dHRvbi1jb3VudCJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkuc3Vic2NyaWJlckNvdW50VGV4dH0pKSkpfSwiUmQiKTt2YXIgZ1c9Xy5MKCh7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOmEsaXNBY3RpdmU6YixYaDpjfSk9PntmdW5jdGlvbiBkKCl7Xy5BSihhKCkuZW5kcG9pbnQsYSgpLCEwKX12YXIgZT0oKT0+YSgpLnN0eWxlPT09IkNIQU5ORUwiLGY9Xy5QKCJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsIix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFJvdW5kOmV9KSxoPSgpPT5OdW1iZXIoYSgpLmxlZnQpK051bWJlcihhKCkud2lkdGgvMik8LjUsaz1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Iix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodDpoLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdDooKT0+IWgoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZlOigpPT5iKCkmJmgoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUxlZnRBY3RpdmU6KCk9PgpiKCkmJiFoKCl9KSxsPSgpPT5hKCkudGl0bGUsbT0oKT0+YSgpLmhvdmVyY2FyZEJ1dHRvbixuPSgpPT5hKCkubWV0YWRhdGEscD0oKT0+YSgpLmNhbGxUb0FjdGlvbixyPV8uUCh7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGU6KCk9PiFlKCkseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWw6ZX0pO2M9Xy5QKCJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW0iLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1DaGFubmVsOmUseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZlOmN9KTt2YXIgdD1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRIb3N0Iix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmU6Yn0pO3JldHVybiBfLksoImV4cGFuZGluZy1lbmRzY3JlZW4tZWxlbWVudCIse2NsYXNzOnR9LF8uSygiZGl2Iix7Y2xhc3M6Y30pLApfLksoImRpdiIse2NsYXNzOmt9LF8uSygiZGl2Iix7Y2xhc3M6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCJ9LF8uSyhfLk8se0E6bCx0aGVuOigpPT5fLksoXy5WLHt0ZXh0OmwsY2xhc3NOYW1lOiJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVRpdGxlIn0pfSksXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QnV0dG9uIn0sXy5LKF8uVyx7ZGF0YTptfSx7c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6Zld9KSl9KSxfLksoXy5PLHtBOm4sdGhlbjooKT0+Xy5LKF8uVix7Y2xhc3NOYW1lOnIsdGV4dDpufSl9KSxfLksoXy5PLHtBOigpPT4hZSgpJiZhKCkuY2FsbFRvQWN0aW9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Im9uOmNsaWNrIjpkLHN0eWxlOiJkaXNwbGF5OiBjb250ZW50cyJ9LF8uSyhfLlYse2NsYXNzTmFtZToieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb24iLAp0ZXh0OnB9KSl9KSkpLF8uSygiZGl2Iix7Im9uOmNsaWNrIjpkfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YSgpLmltYWdlLGNsYXNzTmFtZTpmfSkpKX0sIlNkIik7Z1cuaWRvbUNvbXBhdD0hMDt2YXIgaFc9Xy5MKCh7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOmEsaXNBY3RpdmU6YixYaDpjfSk9Pnt2YXIgZD0oKT0+YSgpLnRpdGxlLGU9KCk9PmEoKS50aHVtYm5haWxPdmVybGF5cyxmPSgpPT5hKCkucGxheWxpc3RMZW5ndGg7Yj1fLlAoInl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0Iix7eXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmU6Yn0pO2M9Xy5QKCJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW0iLHt5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmU6Y30pO3JldHVybiBfLksoInRodW1ibmFpbC1lbmRzY3JlZW4tZWxlbWVudCIse2NsYXNzOmIsIm9uOmNsaWNrIjpmdW5jdGlvbigpe18uQUooYSgpLmVuZHBvaW50LGEoKSwhMCl9fSxfLksoImRpdiIse2NsYXNzOmN9KSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcE92ZXJsYXkifSwKXy5LKCJkaXYiLHtjbGFzczoieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcEdyYWRpZW50In0pLF8uSyhfLlYse3RleHQ6ZCxjbGFzc05hbWU6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZSIsdWI6ITAsbWE6ITB9KSl9KSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YSgpLmltYWdlLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbCJ9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKF8uVyx7ZGF0YTplfSx7dGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcjooe2RhdGE6aH0pPT5fLksoXy5WUCx7ZGF0YTpoLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMifSl9KX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5In0sXy5LKF8uTUQsCntpY29uOiJQTEFZTElTVFNfQ0FJUk8iLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0SWNvbiJ9KSxfLksoXy5WLHt0ZXh0OmYsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGgiLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pKX0sIlRkIik7aFcuaWRvbUNvbXBhdD0hMDt2YXIgaVc9WzM0Niw0MjYsNDcwLDUwNiw1NzAsNjQwLDg1MywxMjgwLDE5MjBdLGpXPVsieXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwiLCJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0iLCJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSJdLGxXPV8uTCgoe2VuZHNjcmVlblJlbmRlcmVyOmEsRzpifSk9Pnt2YXIgW2MsZF09Xy5KKG5ldyBGUSgwLDAsMCwwKSx2b2lkIDAsInV1dU1LYyIpLFtlLGZdPV8uSihuZXcgXy5uZCgwLDApLHZvaWQgMCwicHlhaWpiIiksW2gsa109Xy5KKCIiLHZvaWQgMCwiTUszaUFmIiksW2wsbV09Xy5KKCExLHZvaWQgMCwiZU1PZmliIiksbj1fLk4oKCk9PmIoKS5ILHZvaWQgMCwicEY2ODRiIikscD1fLk4oKCk9Pl8uVXcoYSgpLnRyYWNraW5nUGFyYW1zKSx2b2lkIDAsImpib1BGZiIpLHI9KCk9Pnt2YXIgQT1uKCk/LmdldFZpZGVvQ29udGVudFJlY3QoKTtBJiZBLndpZHRoPjAmJkEuaGVpZ2h0PjAmJmQobmV3IEZRKEEubGVmdCwKQS50b3AsQS53aWR0aCxBLmhlaWdodCkpOyhBPW4oKT8uZ2V0U2l6ZSgpKSYmQS53aWR0aD4wJiZBLmhlaWdodD4wJiZmKG5ldyBfLm5kKEEud2lkdGgsQS5oZWlnaHQpKX0sdD1BPT57QT09PSJ5dG0tY2UtaW4tZW5kc2NyZWVuIiYmKG0oITApLFpTKHAoKSkpfSx2PUE9PntBPT09Inl0bS1jZS1pbi1lbmRzY3JlZW4iJiZtKCExKX07Xy5VSigoKT0+e3IoKTtIa2EocCgpKTtuKCk/LmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdCk7bigpPy5hZGRFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRXhpdCIsdik7bigpPy5hZGRDdWVSYW5nZSgieXRtLWNlLWluLWVuZHNjcmVlbiIsTnVtYmVyKGEoKS5zdGFydE1zKS8xRTMsTnVtYmVyKDB4N2ZmZmZmZmZmZmZmZikvMUUzKTtfLll1KCgpPT57YigpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdCk7YigpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdik7bigpPy5yZW1vdmVDdWVSYW5nZSgieXRtLWNlLWluLWVuZHNjcmVlbiIpfSl9KTsKXy5EUCgicmVzaXplIixyKTt2YXIgej1fLlAoInl0bUNyZWF0b3JFbmRzY3JlZW5Ib3N0IiwoKT0+e3ZhciBBPWMoKS53aWR0aCxGPTAsQz0tMTtmb3IobGV0IEc9MDtHPGlXLmxlbmd0aDtHKyspe2xldCBEPU1hdGguYWJzKEEtaVdbR10pO2lmKEM9PT0tMXx8Rj49RClDPUcsRj1EfXJldHVybmB5dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZSR7aVdbQ119YH0se3l0bUNyZWF0b3JFbmRzY3JlZW5JbkN1ZVJhbmdlOmx9KSxFPV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlblNjcmltIix7eXRtQ3JlYXRvckVuZHNjcmVlblNjcmltVmlzaWJsZTooKT0+aCgpfSk7cmV0dXJuIF8uSygiY3JlYXRvci1lbmRzY3JlZW4iLHtjbGFzczp6fSxfLksoImRpdiIse2NsYXNzOkUsc3R5bGU6Xy5JRSh7d2lkdGg6KDAsXy5aSykoKCk9PmUoKS53aWR0aCksaGVpZ2h0OigwLF8uWkspKCgpPT5lKCkuaGVpZ2h0KX0pfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmVsZW1lbnRzfSx7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOih7ZGF0YTpBfSk9PgpfLksoa1cse2RhdGE6QSxHQjpjLGlzQWN0aXZlOigpPT5oKCk9PT1BKCkuaWQsWGg6KCk9PiEhaCgpJiZoKCkhPT1BKCkuaWQsZUE6ayxIOm59KX0pKX0sIlVkIik7bFcuaWRvbUNvbXBhdD0hMDsKdmFyIGtXPV8uTCgoe2RhdGE6YSxHQjpiLGlzQWN0aXZlOmMsWGg6ZCxlQTplLEg6Zn0pPT57dmFyIFtoLGtdPV8uSighMSx2b2lkIDAsIktXWUpJZSIpLGw9Xy5OKCgpPT5fLlV3KGEoKS50cmFja2luZ1BhcmFtcyksdm9pZCAwLCJVeHB5VWIiKSxtPXQ9Pnt0LnN1YnN0cmluZygxNSk9PT1hKCkuaWQmJihrKCEwKSxaUyhsKCkpKX0sbj10PT57dC5zdWJzdHJpbmcoMTUpPT09YSgpLmlkJiZrKCExKX07Xy5VSigoKT0+e2Y/LigpLmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsbSk7Zj8uKCkuYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUV4aXQiLG4pO3ZhciB0PWB5dG0tY2UtZWxlbWVudC0ke2EoKS5pZH1gO2Y/LigpLmFkZEN1ZVJhbmdlKHQsTnVtYmVyKGEoKS5zdGFydE1zKS8xRTMsTnVtYmVyKGEoKS5lbmRNcykvMUUzKTtfLll1KCgpPT57Zj8uKCkucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIixtKTtmPy4oKS5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRW50ZXIiLApuKTtmPy4oKS5yZW1vdmVDdWVSYW5nZSh0KX0pfSk7dmFyIHA9KCk9PmIoKS5jbG9uZSgpLnNjYWxlKGEoKS53aWR0aCxhKCkud2lkdGgqYigpLmdldFNpemUoKS5hc3BlY3RSYXRpbygpL2EoKS5hc3BlY3RSYXRpbykudHJhbnNsYXRlKGEoKS5sZWZ0KmIoKS53aWR0aC1iKCkubGVmdCooYSgpLndpZHRoLTEpLGEoKS50b3AqYigpLmhlaWdodC1iKCkudG9wKihhKCkud2lkdGgqYigpLmdldFNpemUoKS5hc3BlY3RSYXRpbygpL2EoKS5hc3BlY3RSYXRpby0xKSkscj1fLlAoInl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50Iix7eXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRWaXNpYmxlOigpPT5oKCl9LCgpPT5wKCkud2lkdGg+MjU2fHxwKCkuaGVpZ2h0PjI1Nj9qV1syXTpwKCkud2lkdGg+OTZ8fHAoKS5oZWlnaHQ+OTY/aldbMV06aldbMF0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOnIsc3R5bGU6Xy5JRSh7d2lkdGg6KDAsXy5aSykoKCk9PnAoKS53aWR0aCksaGVpZ2h0OigwLF8uWkspKCgpPT4KcCgpLmhlaWdodCksdG9wOigwLF8uWkspKCgpPT5wKCkudG9wKSxsZWZ0Ol8ueSgpLnJlc29sdmUoXy5sRik9PT0ibHRyIj8oMCxfLlpLKSgoKT0+cCgpLmxlZnQpOiJhdXRvIixyaWdodDpfLnkoKS5yZXNvbHZlKF8ubEYpPT09InJ0bCI/KDAsXy5aSykoKCk9PihmPy4oKS5nZXRTaXplKCk/LndpZHRoPz8wKS1wKCkubGVmdC1wKCkud2lkdGgpOiJhdXRvIn0pLCJvbjptb3VzZW92ZXIiOmZ1bmN0aW9uKHQpe2UoYSgpLmlkKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VvdXQiOmZ1bmN0aW9uKHQpe2UoIiIpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpmb2N1c2luIjpmdW5jdGlvbih0KXtzZXRUaW1lb3V0KCgpPT57ZShhKCkuaWQpfSwwKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKHQpe2UoIiIpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaHN0YXJ0IjpmdW5jdGlvbih0KXtlKGEoKS5pZCk7WVMobCgpKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwKIm9uOmNsaWNrIjpmdW5jdGlvbih0KXtZUyhsKCkpO3Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuc3R5bGU9PT0iVklERU8ifHxhKCkuc3R5bGU9PT0iUExBWUxJU1QifSwoKT0+Xy5LKGhXLHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpjLFhoOmR9KSksXy5LKF8uQ0Use3doZW46KCk9PmEoKS5zdHlsZT09PSJDSEFOTkVMInx8YSgpLnN0eWxlPT09IldFQlNJVEUifSwoKT0+Xy5LKGdXLHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpjLFhoOmR9KSkpKX0sIlZkIik7a1cuaWRvbUNvbXBhdD0hMDt2YXIgWW1hPV8uTChhPT57ZnVuY3Rpb24gYih6KXt2YXIgRT1mKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsQT1mKCk/LnZpZGVvSWQ7RSYmIXo/Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChFKTpBJiZhLkgoKT8ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKHt2aWRlb0lkOkEsYXV0b25hdjp6LGF1dG9wbGF5Onp9KX1mdW5jdGlvbiBjKHope1hTKDExNTEzMCk7YighMSk7ei5zdG9wUHJvcGFnYXRpb24oKX12YXIgW2QsZV09Xy5KKDAsdm9pZCAwLCJZYkRNZmIiKSxmPV8uTigoKT0+QlMoYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwiSGFGS01iIiksaD1hLkcsaz1fLk4oKCk9PmgoKS55Zix2b2lkIDAsInNZZ256ZSIpLGw9Xy5OKCgpPT5oKCkuemYsdm9pZCAwLCJkeUN2S2YiKSxtPV8uTigoKT0+bVUoYS5HLGYoKSksdm9pZCAwLCJDWkZvTWIiKSxuPV8udkUoImJ1dHRvbiIsej0+e3omJldTKHosMTE1MTMwKX0pLApwPV8udkUoImRpdiIsej0+e3omJldTKHosMTE1MTI5KX0pO18ubkUoKCk9Pnt2YXIgej1tKCksRT1sKCksQT1rKCksRj1hLkgoKSxDPWYoKTtpZih6KXt6PUM/LmNvdW50RG93blNlY3N8fDEwO3ZhciBHPXoqMUUzO2lmKEUmJkE+MCllKE1hdGgubWF4KDAsKHotQSkveikpO2Vsc2V7dmFyIEQ9KDAsXy5lbCkoKSxIPSgpPT57dmFyIE09KDAsXy5lbCkoKS1EO009TWF0aC5taW4oTS9HLDEpO2UoTSk7TT49MT8od2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKFIpLEY/LmlzUmVhZHk/LigpJiZiKCEwKSk6Uj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKEgpfTt2YXIgUj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKEgpO18uWXUoKCk9Pnt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoUil9KX19ZWxzZSBlKDApfSwiR1NPdHdiIik7dmFyIHI9KCk9PntYUygxMTUxMjkpO2EuRygpLlMoe3hmOiEwfSl9LHQ9Xy5OKCgpPT5gJHstMjExKihkKCkrMSl9YCx2b2lkIDAsIlY1c213ZCIpLAp2PSgpPT5mKCk/LmJhY2tncm91bmQ7cmV0dXJuIF8uSygicGZwLWF1dG9uYXYiLHtjbGFzczpfLlAoInl0UGZwQXV0b25hdkhvc3QiLGEuY2xhc3NOYW1lLHt5dFBmcEF1dG9uYXZWaXNpYmxlOm19KSwib246Y2xpY2siOmZ1bmN0aW9uKHope3ouc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6YS5HLHRodW1ibmFpbERldGFpbHM6dn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdlNjcmltIn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBBdXRvbmF2SGVhZGVyIn0sXy5LKF8uVix7dGV4dDooKT0+ZigpPy50aXRsZSxtYTohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmYoKT8udmlkZW9UaXRsZSxtYTohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZCeWxpbmUifSxfLksoXy5WLHt0ZXh0OigpPT5mKCk/LmJ5bGluZSxtYTohMH0pKSwKXy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBBdXRvbmF2UGxheUJ1dHRvbiIsIm9uOmNsaWNrIjpjLGVsOm4sImFyaWEtbGFiZWwiOigpPT5mKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5hY2Nlc3NpYmlsaXR5Py5sYWJlbH0sXy5LKCJzdmciLHtjbGFzczoieXRQZnBBdXRvbmF2UmluZyIsdmlld0JveDoiMCAwIDcyIDcyIn0sXy5LKCJjaXJjbGUiLHtjeDoiMzYiLGN5OiIzNiIscjoiMzEuNSIsZmlsbDoid2hpdGUiLCJmaWxsLW9wYWNpdHkiOiIwLjMifSksXy5LKCJjaXJjbGUiLHtjeDoiLTM2IixjeToiMzYiLHI6IjMzLjUiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0IixmaWxsOiJub25lIix0cmFuc2Zvcm06InJvdGF0ZSgtOTApIiwic3Ryb2tlLWRhc2hhcnJheSI6IjIxMSIsc3R5bGU6Xy5JRSh7InN0cm9rZS1kYXNob2Zmc2V0Ijp0fSl9KSksXy5LKF8uTUQse2ljb246IlBMQVlFUl9QTEFZIixjbGFzc05hbWU6Inl0UGZwQXV0b25hdlBsYXlJY29uIn0pKSwKXy5LKF8uVyx7ZGF0YTooKT0+ZigpPy5jYW5jZWxCdXR0b259LHtidXR0b25SZW5kZXJlcjooe2RhdGE6en0pPT5fLksoImRpdiIse2VsOnAsY2xhc3M6Inl0UGZwQXV0b25hdkNhbmNlbEJ1dHRvbiJ9LF8uSyhfLnBPLHtkYXRhOnosdGc6cixzdG9wUHJvcGFnYXRpb246ITAsYnV0dG9uT3ZlcnJpZGVzOntzdHlsZToib3ZlcmxheSJ9fSkpfSkpKX0pKX0sIlhkIik7dmFyIG1XPV8uTChhPT5fLksoInBmcC1lbmRzY3JlZW4tdmlkZW8tcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEuZGF0YSgpLm5hdmlnYXRpb25FbmRwb2ludCxhcmlhTGFiZWw6KCk9Pl8uYU4oYS5kYXRhKCkudGl0bGUpfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YS5kYXRhKCkudGh1bWJuYWlsLGNsYXNzTmFtZToieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGh1bWJuYWlsIn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXkifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5VGl0bGVCeWxpbmUifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlLAptYTohMCx5YzohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJCeWxpbmUifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS5zaG9ydEJ5bGluZVRleHQsbWE6ITAseWM6ITB9KSxfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5zaG9ydFZpZXdDb3VudFRleHQsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCwiIFx1MjAyMiAiLF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnNob3J0Vmlld0NvdW50VGV4dCxtYTohMH0pKX0pKSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyRHVyYXRpb24ifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS5sZW5ndGhUZXh0LG1hOiEwfSkpKSkpLCJZZCIpO3ZhciBabWE9Xy5MKGE9PntmdW5jdGlvbiBiKEQpe0Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhEKXt0KCExKTtELnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGQoRCl7dCghMCk7RD8uc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZSgpe0coKX1mdW5jdGlvbiBmKEQpe3ZhciBIPUYudmFsdWU7SCYmKEguc2Nyb2xsVG8oe2xlZnQ6SC5zY3JvbGxMZWZ0LUguY2xpZW50V2lkdGgqLjgsYmVoYXZpb3I6InNtb290aCJ9KSxELnN0b3BQcm9wYWdhdGlvbigpKX1mdW5jdGlvbiBoKEQpe3ZhciBIPUYudmFsdWU7SCYmKEguc2Nyb2xsVG8oe2xlZnQ6SC5zY3JvbGxMZWZ0K0guY2xpZW50V2lkdGgqLjgsYmVoYXZpb3I6InNtb290aCJ9KSxELnN0b3BQcm9wYWdhdGlvbigpKX12YXIgaz1fLk4oKCk9PmEuVWMoKS53YXRjaE5leHRSZXNwb25zZSx2b2lkIDAsIldYNlJCZSIpLGw9Xy5OKCgpPT5NUyhrKCkpLmZpbHRlcihEPT5ELmVuZFNjcmVlblZpZGVvUmVuZGVyZXIpLHZvaWQgMCwKIlZWVWRyYyIpLG09Xy5OKCgpPT57dmFyIEQ9YS5VYygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyPy5zdGFydE1zO0Q9RD8rRDp2b2lkIDA7cmV0dXJuIGEuRygpLnBsYXllclN0YXRlPT09MiYmbD8uKCk/Lmxlbmd0aD4wJiYoIUR8fGEuRygpLnZhKjFFMzxEKX0sdm9pZCAwLCJwUVNRS2IiKSxuPV8uTigoKT0+YS5VYygpLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnZpZGVvSWQsdm9pZCAwLCJ5UWJOMWUiKSxbcCxyXT1fLkFDKCgpPT57bigpO3JldHVybiExfSksdD1yLFt2LHpdPV8uSighMSx2b2lkIDAsInFRUjczYiIpLFtFLEFdPV8uSighMSx2b2lkIDAsInZjYTNJZCIpLEY9Xy52RSgiZGl2IiksQz1fLk4oKCk9PmEuVWMoKS5wbGF5ZXJSZXNwb25zZT8udmlkZW9EZXRhaWxzPy5hdXRob3I/PyIiLHZvaWQgMCwib0pFMHNkIiksRz0oKT0+e3ZhciBEPUYudmFsdWU7RCYmKHooRC5zY3JvbGxMZWZ0PjEpLEEoRC5zY3JvbGxMZWZ0PApELnNjcm9sbFdpZHRoLUQuY2xpZW50V2lkdGgtMSkpfTtfLm5FKCgpPT57cCgpO20oKSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57RygpfSl9LCJ0QTExN2QiKTtyZXR1cm4gXy5LKCJwZnAtbW9yZS12aWRlb3MiLHtjbGFzczpfLlAoInl0UGZwTW9yZVZpZGVvc0hvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8uTyx7QTooKT0+bSgpJiYhcCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc092ZXJsYXkiLCJvbjpjbGljayI6Yn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zSGVhZGVyIn0sXy5LKCJoMyIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NUaXRsZSJ9LCgpPT5fLiROLnp0LnJlcGxhY2UoIiRjaGFubmVsX25hbWVfcGxhY2Vob2xkZXIiLEMoKSkpLF8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc0Nsb3NlQnV0dG9uIiwib246Y2xpY2siOmQsImFyaWEtbGFiZWwiOl8uJE4ueHR9LF8uSyhfLk1ELHtpY29uOiJDTE9TRSIsCmNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zQ2xvc2VJY29uIn0pKSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0Q29udGFpbmVyIn0sXy5LKF8uTyx7QTp2LHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnQiLCJvbjpjbGljayI6ZiwiYXJpYS1sYWJlbCI6Xy4kTi5mb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fTEVGVCIsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdCIsZWw6Riwib246c2Nyb2xsIjplfSxfLksoXy5XLHtkYXRhOmwsSGs6ITB9LHtlbmRTY3JlZW5WaWRlb1JlbmRlcmVyOih7ZGF0YTpEfSk9Pl8uSyhtVyx7ZGF0YTpELGNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtIn0pfSkpLF8uSyhfLk8se0E6RSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodCIsCiJvbjpjbGljayI6aCwiYXJpYS1sYWJlbCI6Xy4kTi5lb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQiLGNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zUGFkZGxlSWNvbiJ9KSl9KSkpfSksXy5LKF8uTyx7QTooKT0+bSgpJiZwKCksdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zTW9yZVZpZGVvc0J1dHRvbiIsIm9uOmNsaWNrIjpjLCJhcmlhLWxhYmVsIjpfLiROLmJvfSxfLiROLmJvKX0pKX0sIiRkIik7dmFyICRtYT1fLkwoYT0+Xy5LKCJwZnAtZW5kc2NyZWVuLXBsYXlsaXN0LXJlbmRlcmVyIix7Y2xhc3M6Xy5QKCJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0IixhLmNsYXNzTmFtZSl9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hLmRhdGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsYXJpYUxhYmVsOigpPT5fLmFOKGEuZGF0YSgpLnRpdGxlKX0sXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6KCk9PmEuZGF0YSgpLnRodW1ibmFpbCxjbGFzc05hbWU6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlclRodW1ibmFpbCJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5In0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheVRpdGxlIn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGl0bGUifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS50aXRsZSwKbWE6ITB9KSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJCb3R0b21PdmVybGF5In0sXy5LKF8uTUQse2ljb246IlBMQVlMSVNUUyIsY2xhc3NOYW1lOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJJY29uIn0pLF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnZpZGVvQ291bnRUZXh0LHljOiEwfSkpKSksImFlIik7dmFyIGFuYT1fLkwoYT0+e2Z1bmN0aW9uIGIoRil7Ri5zdG9wUHJvcGFnYXRpb24oKTtGPXooKS5sZW5ndGg7bSgobCgpLXIoKStGKnIoKSklRil9ZnVuY3Rpb24gYyhGKXtGLnN0b3BQcm9wYWdhdGlvbigpO0Y9eigpLmxlbmd0aDttKChsKCkrcigpKSVGKX12YXIgZD1fLnZFKCJkaXYiKSxbZSxmXT1fLkooW10sdm9pZCAwLCJFclVRSWUiKSxbaCxrXT1fLkooMCx2b2lkIDAsIldNZVlvZCIpLGw9aCxtPWssW24scF09Xy5KKDAsdm9pZCAwLCJPelBTa2UiKSxyPW4sW3QsLHZdPV8uSigwLHZvaWQgMCwibENUbXBlIik7Xy5EUCgicmVzaXplIiwoKT0+e3YoRj0+RisxKX0pO3ZhciB6PV8uTigoKT0+TVMoYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwicnkyRFQiKSxFPV8uTigoKT0+blUoYS5HLGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSx2b2lkIDAsIkZoVVpyIiksQT1fLk4oKCk9PnIoKSYmeigpLmxlbmd0aD5yKCksdm9pZCAwLCJVd0VjNWIiKTtfLm5FKCgpPT57dCgpOwp2YXIgRj16KCksQz1sKCk7aWYoRSgpJiZkLnZhbHVlKWlmKEYubGVuZ3RoKXt2YXIgRz1kLnZhbHVlLEQ9Ry5jbGllbnRXaWR0aDtHPUcuY2xpZW50SGVpZ2h0O2xldCBUPUYubGVuZ3RoO2Zvcih2YXIgSD0yLFI9MixNPU1hdGgubWF4KEQvOTYsMiksUz1NYXRoLm1heChHLzU0LDIpLFk9KFQtMSkqNDtZPjAmJihIPE18fFI8Uyk7KXt2YXIgcGE9SC8yLG9hPVIvMixVPUg8PU0tMiYmWT49b2EqNCxoYT1SPD1TLTImJlk+PXBhKjQ7aWYoKHBhKzEpL29hKm5XLyhEL0cpPkQvRy8ocGEvKG9hKzEpKm5XKSYmaGEpWS09cGEqNCxSKz0yO2Vsc2UgaWYoVSlZLT1vYSo0LEgrPTI7ZWxzZSBpZihoYSlZLT1wYSo0LFIrPTI7ZWxzZSBicmVha31sZXQge2NvbHVtbkNvdW50OmJhLFl6OmFhLFJ6Ok9hfT17Y29sdW1uQ291bnQ6SCxZejpSLFJ6Oll9O0g9ITE7T2E+PTEyJiZUKjQtT2E8PTYmJihhYT49NHx8YmE+PTQpJiYoSD0hMCk7Uj1iYSo5NjtNPWFhKjU0O1M9TWF0aC5taW4oUi9NPEQvRz8KRy9NOkQvUiwyKTtSPU1hdGguZmxvb3IoTWF0aC5taW4oRCxSKlMpKTtNPU1hdGguZmxvb3IoTWF0aC5taW4oRyxNKlMpKTtsZXQge1NBOkpiLFJBOnphfT17U0E6UixSQTpNfTtSPUpiKzQ7TT16YSs0O1M9MDtZPVtdO2ZvcihwYT0wO3BhPGJhO3BhKyspZm9yKG9hPTA7b2E8YWE7b2ErKylpZihVPTAsSCYmcGE+PWJhLTImJm9hPj1hYS0yP1U9MTpvYSUyPT09MCYmcGElMj09PTAmJihVPTIpLGhhPVMlVCxVIT09MCl7bGV0IExiPU1hdGguZmxvb3IoTSpvYS9hYSksY2M9TWF0aC5mbG9vcihSKnBhL2JhKTtZLnB1c2goe2RhdGE6RlsoaGErQyklVF0sbGVmdDpjYysoRC1KYikvMix0b3A6TGIrKEctemEpLzIsd2lkdGg6TWF0aC5mbG9vcihSKihwYStVKS9iYSktY2MtNCxoZWlnaHQ6TWF0aC5mbG9vcihNKihvYStVKS9hYSktTGItNH0pO1MrK312YXIge1N5Om1hLGluZGV4OnRhfT17U3k6WSxpbmRleDpTfTtmKG1hKTtwKHRhKX1lbHNlIGYoW10pfSwid2VZNEIiKTtyZXR1cm4gXy5LKCJwZnAtdmlkZW8td2FsbC1lbmRzY3JlZW4iLAp7Y2xhc3M6Xy5QKCJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlbkhvc3QiLGEuY2xhc3NOYW1lLHt5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpc2libGU6RSx5dFBmcFZpZGVvV2FsbEVuZHNjcmVlbklzT2JzY3VyZWQ6YS5VeH0pLCJvbjpjbGljayI6ZnVuY3Rpb24oRil7Ri5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6RSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpZGVvTGlzdENvbnRhaW5lciJ9LF8uSyhfLk8se0EsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0Iiwib246Y2xpY2siOmIsImFyaWEtbGFiZWwiOl8uJE4uZm99LF8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX0xFRlQiLGNsYXNzTmFtZToieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0IiwKZWw6ZH0sXy5LKF8uZ0cse3BhOmV9LEY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9JdGVtIixzdHlsZTpfLklFKHt0b3A6KDAsXy5aSykoKCk9PkYudG9wKSxsZWZ0OigwLF8uWkspKCgpPT5GLmxlZnQpLHdpZHRoOigwLF8uWkspKCgpPT5GLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PkYuaGVpZ2h0KX0pfSxfLksoXy5XLHtkYXRhOigpPT5GLmRhdGF9LHtlbmRTY3JlZW5WaWRlb1JlbmRlcmVyOm1XLGVuZFNjcmVlblBsYXlsaXN0UmVuZGVyZXI6JG1hfSkpKSksXy5LKF8uTyx7QSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0Iiwib246Y2xpY2siOmMsImFyaWEtbGFiZWwiOl8uJE4uZW99LF8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX1JJR0hUIixjbGFzc05hbWU6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlSWNvbiJ9KSl9KSl9KSl9LCJjZSIpLG5XPTk2LzU0O3ZhciBvVz1fLkwoKHtqZTphfSk9Pnt2YXIgYj1fLk4oKCk9PmEoKSx2b2lkIDAsIkVUZ2U3ZCIpLFtjLCxkXT1fLkooMCx2b2lkIDAsIlpDQklzIik7Xy5uRSgoKT0+e2IoKSYmZChlPT5lKzEpfSwiS3NYM3JmIik7cmV0dXJuIF8uSygicGxheWVyLWFjdGlvbi1pbmRpY2F0b3IiLHtjbGFzczoieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckhvc3QifSxfLksoXy5nRyx7cGE6KCk9PmIoKT9bYygpXTpbXX0sKCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGxheWVyQ29udHJvbHNQbGF5ZXJBY3Rpb25JbmRpY2F0b3JBY3Rpb24ifSxfLksoXy5NRCx7aWNvbjpiLGNsYXNzTmFtZToieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckljb24ifSkpKSl9LCJlZSIpO29XLmlkb21Db21wYXQ9ITA7dmFyIHBXPV8uTCgoe0c6YSxTbTpiLHBsYXllck92ZXJsYXlSZW5kZXJlcjpjLFZ3OmQsY2xhc3NOYW1lOmV9KT0+e3ZhciBmPSgpPT5fLkIoYj8uKCk/LnBsYXllckJhckFjdGlvbkJ1dHRvbixfLlZMKTtyZXR1cm4gXy5LKCJwbGF5ZXItdGltZS1kaXNwbGF5Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheUhvc3QiLGUpfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlUaW1lQ2h1bmtzIix7eXR3UGxheWVyVGltZURpc3BsYXlQaWxsOigpPT4hZD8uKCkseXR3UGxheWVyVGltZURpc3BsYXlMaXZlRG90OigpPT5hKCkuaXNMaXZlLHl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZUhlYWQ6KCk9Pm9VKGEoKSl9KSwib246Y2xpY2siOmZ1bmN0aW9uKGgpe2lmKGEoKS5pc0xpdmUmJiFvVShhKCkpKXthKCkuSD8uc2Vla1RvKEluZmluaXR5KTt2YXIgaz1VUShhKCkuSCk7ayYmYSgpLlMoe3ZpZGVvRHVyYXRpb246a30pfWguc3RvcFByb3BhZ2F0aW9uKCl9fSwKXy5LKCJkaXYiLHtkaXI6Imx0ciJ9LF8uSyhibmEse0c6YSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6Y30pLF8uSyhfLk8se0E6KCk9PiFvVShhKCkpLHRoZW46KCk9Pl8uSyhjbmEse0c6YX0pfSkpKSxfLksoXy5PLHtBOigpPT57dmFyIGg9Xy5CKGI/LigpPy5wbGF5ZXJCYXIsRFMpP18uQihrVChhKCksXy5CKGI/LigpPy5wbGF5ZXJCYXIsRFMpKSxlVCk/LnRpdGxlOnZvaWQgMCxrPWYoKT8udGV4dDtyZXR1cm4gaD8/a30sdGhlbjpoPT5fLksoZG5hLHt0aXRsZTpoLGJ1dHRvbjpmLEc6YX0pfSkpfSwiZmUiKSxibmE9Xy5MKCh7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpifSk9Pnt2YXIgYz0oKT0+YSgpLmlzTGl2ZT9fLiROLmxvOkNUKGEoKS52YSk7cmV0dXJuIF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVFbGFwc2VkIn0sXy5LKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLk8se0E6KCk9PmI/LigpPy5saXZlSW5kaWNhdG9yVGV4dCwKdGhlbjpkPT5fLksoXy5WLHt0ZXh0OmR9KSxXOigpPT5fLksoXy5JQixudWxsLGMpfSkpLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHkifSwoKT0+e2lmKGEoKS5pc0xpdmUpcmV0dXJuIF8uJE4ubG87dmFyIGQ9UFIoe3NlY29uZHM6YSgpLnZhfSk7cmV0dXJuYCR7Xy4kTi5WdH0gJHtkfWB9KSl9LCJnZSIpLGNuYT1fLkwoKHtHOmF9KT0+e3ZhciBiPSgpPT57aWYob1UoYSgpKSl2YXIgYz0wO2Vsc2V7Yz1NYXRoO3ZhciBkPWMucm91bmQsZT1hKCk7Yz1kLmNhbGwoYyxlLmlzRHJhZ2dpbmc/ZS5DYTplLnZhKS1NYXRoLnJvdW5kKFVRKGEoKS5IKSl9cmV0dXJuIGN9O3JldHVybiBfLksoXy5JQixudWxsLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVTZWNvbmQifSksXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZURlbGltaXRlciIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LAoiLyIpLF8uSygic3BhbiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlUaW1lU2Vjb25kIiwieXR3UGxheWVyVGltZURpc3BsYXlUaW1lRHVyYXRpb24iKX0sXy5LKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LCgpPT5hKCkuaXNMaXZlP0NUKGIoKSk6Q1QoYSgpLnZpZGVvRHVyYXRpb24pKSxfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlTY3JlZW5SZWFkZXJPbmx5In0sKCk9PntpZihhKCkuaXNMaXZlKXJldHVybiBDVChiKCkpO3ZhciBjPVBSKHtzZWNvbmRzOmEoKS52aWRlb0R1cmF0aW9ufSk7cmV0dXJuYCR7Xy4kTi5VdH0gJHtjfWB9KSkpfSwiaGUiKSxkbmE9Xy5MKCh7dGl0bGU6YSxidXR0b246YixHOmN9KT0+e2Z1bmN0aW9uIGQoZil7Yj8uKCk/LmNvbW1hbmQmJihfLkFKKGIoKS5jb21tYW5kLHt9LCExKSxmLnN0b3BQcm9wYWdhdGlvbigpKX12YXIgZT1fLk4oKCk9PmMoKS5iYT8uRWUsdm9pZCAwLCJqZzJPTWMiKTtyZXR1cm4gXy5LKF8uTywKe0E6Yix0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQWN0aW9uQ29udGFpbmVyIn0sXy5LKCJidXR0b24iLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5UGlsbCIsInl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQnV0dG9uIiksIm9uOmNsaWNrIjpkLCJhcmlhLWxhYmVsIjooKT0+Xy5hTihmKCkudGV4dCl9LF8uSyhfLlYse3RleHQ6YSx5YzohMH0pLF8uSyhfLk8se0E6KCk9PiEoXy54KCJtd2ViX3VzZV9vbmx5X2NoYXB0ZXJfdGl0bGVfaW5fZnVsbHNjcmVlbiIpJiZjKCkuaXNGdWxsc2NyZWVuKSx0aGVuOigpPT5fLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVF9DQUlSTyIsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheUNoZXZyb24ifSl9KSkpLFc6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheUNoYXB0ZXJUZXh0Iix7eXR3UGxheWVyVGltZURpc3BsYXlGdWxsc2NyZWVuQ29udHJvbHNBbHdheXNPbjplfSl9LApfLksoXy5WLHt0ZXh0OmEseWM6ITB9KSl9KX0sImllIik7dmFyIHFXPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMuZ249YTt0aGlzLmxpc3RlbmVycz1bXTt0aGlzLmNvbnRleHQ9Yjt0aGlzLm89ZDt0aGlzLnY9cVUodGhpcy5VYz8uSCk7dGhpcy5EPXRoaXMuUy5iaW5kKHRoaXMpO3RoaXMuc3RhdGU9ey4uLmRUKCksLi4uY307YT10aGlzLnVkKCk7W3RoaXMuQix0aGlzLmpdPV8uSihhLHZvaWQgMCwicDNOd3EiKX1TKGEpe2lmKCFxbGEoYSx0aGlzLnN0YXRlKSl7dGhpcy5zdGF0ZT17Li4udGhpcy5zdGF0ZSwuLi5hfTthPV8ueCgicGxheWVyX2NvbnRyb2xzX2xvZ19jcmVhdGlvbl9lbmFibGVkIik7dmFyIGI9LTE7YSYmIXBVKCkmJihiPSgwLF8uZWwpKCkpO2EmJl8uQXEoInBjdV9zIik7dGhpcy5qJiZ0aGlzLmoodGhpcy51ZCgpKTthJiYoXy5BcSgicGN1X3NlIiksXy5BcSgicGN1X3JzIikpO3RoaXMuZ24odGhpcy51ZCgpKTthJiYoXy5BcSgicGN1X3JlIikscGxhKGIpLF8uamYuR2EoKCk9PntfLkFxKCJwY3VfYXAiKX0sCjgpKX19dWQoKXt2YXIgYT10aGlzLm8/cVUodGhpcy5vKCkpOnFVKHRoaXMuVWM/LkgpO3JldHVybnsuLi50aGlzLnN0YXRlLFM6dGhpcy5ELEg6YSx0YTp0aGlzLmNvbnRleHQudGEsVGM6dGhpcy5jb250ZXh0LlRjLEdjOnRoaXMuY29udGV4dC5HYyxiYTp0aGlzLmNvbnRleHQuYmF9fWdldERhdGEoKXtyZXR1cm4gdGhpcy5VY319O3ZhciByVz1fLkwoYT0+e2Z1bmN0aW9uIGIoWSl7TT1ILmFuaW1hdGUoW3tvZmZzZXQ6MCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsb3BhY2l0eTpZfSx7b2Zmc2V0OjEsb3BhY2l0eToxfV0se2R1cmF0aW9uOjIwMCxmaWxsOiJmb3J3YXJkcyJ9KTtNLmFkZEV2ZW50TGlzdGVuZXIoImZpbmlzaCIsKCk9PntNPXZvaWQgMDtlKCk7Rj0ibGluZ2VyaW5nIn0pfWZ1bmN0aW9uIGMoWSxwYT0hMSxvYT0hMSl7dmFyIFU9W107VS5wdXNoKHtvZmZzZXQ6MCx0cmFuc2Zvcm06YHRyYW5zbGF0ZVgoJHtDPT09LTE/MjA6LTIwfXB4KWAsb3BhY2l0eTpwYT8iMCI6IjEifSk7cGEmJlUucHVzaCh7b2Zmc2V0Oi41LG9wYWNpdHk6IjEifSk7VS5wdXNoKHtvZmZzZXQ6MSx0cmFuc2Zvcm06InRyYW5zbGF0ZVgoMCkiLG9wYWNpdHk6IjEifSk7cGE9WS5hbmltYXRlKFUse2R1cmF0aW9uOjQwMCxlYXNpbmc6ImN1YmljLWJlemllcigwLjA1LCAwLjAwLCAwLjAwLCAxLjAwKSJ9KTsKWT1ZLnF1ZXJ5U2VsZWN0b3IoInBhdGgiKTtVPVtdO3ZhciBoYT17b2Zmc2V0OjAsZDpDPT09LTE/J3BhdGgoIk0gMTggNCBMIDE4IDE2IEwgMTggMjgiKSc6J3BhdGgoIk0gNCA0IEwgNCAxNiBMIDQgMjgiKSd9O29hJiYoaGEuZmlsdGVyPSJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwLjgpKSIpO1UucHVzaChoYSk7b2EmJlUucHVzaCh7b2Zmc2V0Oi44LGZpbHRlcjoiZHJvcC1zaGFkb3coMCAwIDAuNXB4IHJnYmEoMCwgMCwgMCwgMC44KSkifSk7aGE9e29mZnNldDoxLGQ6Qz09PS0xPydwYXRoKCJNIDE4IDQgTCA2IDE2IEwgMTggMjgiKSc6J3BhdGgoIk0gNCA0IEwgMTYgMTYgTCA0IDI4IiknfTtvYSYmKGhhLmZpbHRlcj0iZHJvcC1zaGFkb3coMCAwIDAuNXB4IHJnYmEoMCwgMCwgMCwgMCkpIik7VS5wdXNoKGhhKTtZLmFuaW1hdGUoVSx7ZHVyYXRpb246MzMzLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIixmaWxsOiJmb3J3YXJkcyJ9KTsKcmV0dXJuIHBhfWZ1bmN0aW9uIGQoKXt2YXIgWT1ILnF1ZXJ5U2VsZWN0b3IoIi55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpLmNsb25lTm9kZSghMCk7WS5jbGFzc0xpc3QuYWRkKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbCIpO1kuY2xhc3NMaXN0LnJlbW92ZSgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKTtILmFwcGVuZENoaWxkKFkpO2MoWSwhMCwhMCkuYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e1kucmVtb3ZlKCl9KX1mdW5jdGlvbiBlKCl7Y2xlYXJUaW1lb3V0KFIpO1I9c2V0VGltZW91dCgoKT0+e2YoKX0sXy5zaigid2ViX3BsYXllcl9zZWVrX292ZXJsYXlfbGluZ2VyX2R1cmF0aW9uIiwzMDApKX1mdW5jdGlvbiBmKFk9MSxwYT0hMCl7TT1ILmFuaW1hdGUoW3tvZmZzZXQ6MCxvcGFjaXR5Oll9LHtvZmZzZXQ6MSxvcGFjaXR5OjB9XSx7ZHVyYXRpb246MjAwLGZpbGw6ImZvcndhcmRzIixlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSJ9KTsKcGEmJihNLmFkZEV2ZW50TGlzdGVuZXIoImZpbmlzaCIsKCk9PntTPy4oKTtNPXZvaWQgMDtrKCk7QSghMSl9KSxGPSJmYWRpbmctb3V0Iil9ZnVuY3Rpb24gaCgpe2lmKCFNKXJldHVybiAwO3ZhciBZPU51bWJlcihnZXRDb21wdXRlZFN0eWxlKEgpLm9wYWNpdHkpO00uY2FuY2VsKCk7TT12b2lkIDA7cmV0dXJuIFl9ZnVuY3Rpb24gaygpe0Y9ImhpZGRlbiI7SD1DPXZvaWQgMDtjbGVhclRpbWVvdXQoUil9dmFyIGw9Xy5OKCgpPT5hLkcoKS5KZCx2b2lkIDAsInBkbG1ZYiIpLG09Xy5OKCgpPT5hLkcoKS5LYix2b2lkIDAsImFQUzlKIiksbj1fLk4oKCk9PmEuRygpLkgsdm9pZCAwLCJ4dkJybGYiKSxbcCxyXT1fLkooIiIsdm9pZCAwLCJWSnVnemQiKSxbdCx2XT1fLkooIiIsdm9pZCAwLCJZU0tTT2QiKSxbeixFXT1fLkooITEsdm9pZCAwLCJPc21pbmMiKSxBPUUsRj0iaGlkZGVuIixDLEcsRCxILFI9MCxNLFM7Xy5uRSgoKT0+e2lmKEVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGUpe3ZhciBZPQpsKCk7aWYoIShtKCk8PTF8fFk9PT0wKSl7QSghMCk7aWYoQyYmWSE9PUMpe2xldCBwYT0xO00mJihwYT1oKCkpO2YocGEsITEpO2soKX1DPVk7SD1DPT09LTE/RzpEO2lmKEcmJkQpaWYoWT1uKCksWT1ZPy5pc1JlYWR5Py4oKT9ZLmdldEN1cnJlbnRUaW1lKCk6MCxZPUM9PT0tMSYmWTw9MTA/MTA6KG0oKS0xKSoxMCxZPWAke0M9PT0tMT8iXHUyMjEyIjoiKyJ9ICR7WX1gLEM9PT0tMT9yKFkpOnYoWSksRj09PSJoaWRkZW4ifHxGPT09ImZhZGluZy1vdXQiKVk9MCxGPT09ImZhZGluZy1vdXQiJiYoWT1oKCksZCgpKSxiKFkpLEYhPT0iZmFkaW5nLW91dCImJmMoSC5xdWVyeVNlbGVjdG9yKCIueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKSksRj0iZmFkaW5nLWluIjtlbHNlIGlmKEY9PT0iZmFkaW5nLWluInx8Rj09PSJsaW5nZXJpbmciKUgucXVlcnlTZWxlY3RvcigiLnl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24iKS5hbmltYXRlKFt7b2Zmc2V0OjAsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkiLAp0cmFuc2Zvcm06InNjYWxlKDEpIn0se29mZnNldDouNjQsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkiLHRyYW5zZm9ybTpgc2NhbGUoJHtfLnNqKCJ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9kdXJhdGlvbl9idW1wX3NjYWxlIil8fC45fSlgfSx7b2Zmc2V0OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSJ9XSx7ZHVyYXRpb246MTg0fSksZCgpLEY9PT0ibGluZ2VyaW5nIiYmZSgpfX19LCJoem55RCIpO18uWXUoKCk9PntoKCk7aygpfSk7cmV0dXJuIF8uSygieXR3LXBsYXllci1zZWVrLW92ZXJsYXkiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlIb3N0IixzdHlsZTpfLklFKHtkaXNwbGF5OigpPT56KCk/ImJsb2NrIjoibm9uZSJ9KX0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uIiwieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNrIiksZWw6Xy5yRihZPT57Rz1ZfSl9LF8uSygiZGl2IiwKe2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyIsInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50Iil9LF8uSygic3ZnIix7dmlld0JveDoiMCAwIDIyIDMyIix3aWR0aDoiMjIiLGhlaWdodDoiMjQiLGNsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3ZnIn0sXy5LKCJwYXRoIix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoIixkOiJNIDE4IDQgTCA2IDE2IEwgMTggMjgiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsZmlsbDoibm9uZSJ9KSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24ifSxwKSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uIiwieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIiksZWw6Xy5yRihZPT57RD1ZfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24ifSwKdCksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3ciLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpfSxfLksoInN2ZyIse3ZpZXdCb3g6IjAgMCAyMiAzMiIsd2lkdGg6IjIyIixoZWlnaHQ6IjI0IixjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1N2ZyJ9LF8uSygicGF0aCIse2NsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGF0aCIsZDoiTSA0IDQgTCAxNiAxNiBMIDQgMjgiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsZmlsbDoibm9uZSJ9KSkpKSl9LCJrZSIpO3ZhciB0VTt2YXIgW2VuYSxzV109Xy5KKCExLHZvaWQgMCwiR05XM1MiKSxbQ1UsRFVdPV8uSighMSx2b2lkIDAsIkdBRWtKIiksW3RXLHRsYV09Xy5KKHZvaWQgMCx2b2lkIDAsIk9WUDFlZSIpO3ZhciBCVT0wO3ZhciBFVT12b2lkIDA7dmFyIHpVPTAsSFU9MCxHVT0wLHlVPTAsQVU9ITEsRlU9MDt2YXIgTlU7dmFyIHVXPVt7cmVnaXN0ZXI6YT0+e3ZhciBiPXdsYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25Wb2x1bWVDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9eGxhKGEpO2E9YSgpLkg7YT8uYWRkRXZlbnRMaXN0ZW5lcigiY2FwdGlvbnNjaGFuZ2VkIixiKTthPy5hZGRFdmVudExpc3RlbmVyKCJjYXB0aW9uc3NldHRpbmdzY2hhbmdlZCIsYik7YT8uYWRkRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjooYSxiKT0+e2I9QmxhKGEsYik7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9RGxhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJTRUVLX0NPTVBMRVRFIixiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPVBVKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsCmIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjooYSxiKT0+e2I9RWxhKGEsYik7YSgpPy5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9RmxhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9SGxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUlsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUdsYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25GdWxsc2NyZWVuQ2hhbmdlIiwKYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1KbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsYil9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1LbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZ1bGxzY3JlZW5lcnJvciIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmVycm9yIixiKX19fSx7cmVnaXN0ZXI6KGEsYik9Pnt2YXIgYz1MbGEoYSxiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGxheWVyLWF1dG9uYXYtcGF1c2UiLGMpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBsYXllci1hdXRvbmF2LXBhdXNlIixjKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPU1sYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYXV0b25hdi10b2dnbGUtY2xpY2siLApiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJhdXRvbmF2LXRvZ2dsZS1jbGljayIsYil9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1ObGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uTG9vcFJhbmdlQ2hhbmdlIixiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e2lmKCFfLngoImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyIpKXJldHVybigpPT57fTt2YXIgYj16bGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGIpfX19XTt2YXIgVmxhPV8uTChhPT57dmFyIGI9Xy5OKCgpPT5hLkgoKSx2b2lkIDAsInE4V3NLZiIpLGM9Xy5OKCgpPT5hLmRhdGEoKSx2b2lkIDAsIms2VWVWIiksZD1fLk4oKCk9Pnt2YXIgQz1hLmNvbnRleHQoKTtyZXR1cm4gbmV3IHFXKCgpPT57fSxDLHthdXRvbmF2RW5hYmxlZDpDLnRhLmRlKCksZWE6ITB9LGIpfSx2b2lkIDAsIk9BeElKYiIpLGU9Xy5OKCgpPT4oMCxkKCkuQikoKSx2b2lkIDAsIlV1MVJpIiksZj1fLk4oKCk9Pnt2YXIgQz1lKCk7cmV0dXJuIF8ueCgibXdlYl9wY19saXZlX2R2cl9rcyIpPyExOkMuaXNMaXZlJiYhQy5pc0xpdmVEdnJFbmFibGVkfSx2b2lkIDAsImN0VWczZCIpLGg9Xy5OKCgpPT57dmFyIEM9ZigpO3JldHVybiByVSgpJiYhQ30sdm9pZCAwLCJuSmRrMGMiKSxrPV8uTigoKT0+YygpLnBsYXllclJlc3BvbnNlPy5wbGF5YWJpbGl0eVN0YXR1c3x8YygpLmpiPy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsdm9pZCAwLCJCVlhDOSIpLGw9Xy5OKCgpPT4KZSgpLmJhPy5aaCYmJFMoZSgpLGsoKSksdm9pZCAwLCJNSHZId2YiKSxtPV8uTigoKT0+blUoZSxjKCkud2F0Y2hOZXh0UmVzcG9uc2UpLHZvaWQgMCwiY3R4VXMiKSxuPV8uTigoKT0+bVUoZSxCUyhjKCkud2F0Y2hOZXh0UmVzcG9uc2UpKSx2b2lkIDAsIkdMa0JVIikscD1fLk4oKCk9Pnt2YXIgQz1sKCksRz1tKCksRD1uKCksSD1lKCkucGxheWVyU3RhdGU7cmV0dXJuIEM/ITA6R3x8RD8hMTpIPT09MH0sdm9pZCAwLCJYRUV2QiIpLHI9Xy52RSgiYnV0dG9uIixDPT57QyYmV1MoQywyODU3MiwhXy54KCJlbWJlZHNfY3VlZF9vdmVybGF5X3ZlX2tzIikpfSksdD1fLk4oKCk9Pnt2YXIgQz1jKCk7cmV0dXJuKEM9Xy5CKE5TKEMud2F0Y2hOZXh0UmVzcG9uc2U/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsQy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpPy5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnRpdGxlKT9fLmFOKEMpOnZvaWQgMH0sCnZvaWQgMCwiZ3NHV3kiKSx2PV8udUYoQz0+e3ZhciBHPWUoKSxEPWMoKSxIPXQoKTtyZXR1cm4gRy5iYT8uaGlkZVZpZGVvSW5mbz8hMTpELndhdGNoTmV4dFJlc3BvbnNlfHxELmpiP0ghPT12b2lkIDA6Q30se2luaXRpYWw6ITB9KSx6PV8uTigoKT0+ZSgpLmVhLHZvaWQgMCwiVFI5S0dkIiksRT1fLnVGKEM9Pnt2YXIgRz1jKCk7cmV0dXJuKEcucGxheWVyUmVzcG9uc2U/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyfHxHLmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcik/LmNvbnRyb2xCZ0h0bWw/P0N9LHtpbml0aWFsOnZvaWQgMH0pLEE9W107Xy5uRSgoKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntBLmZvckVhY2goQz0+dm9pZCBDKCkpO0EubGVuZ3RoPTA7dVcuZm9yRWFjaChDPT57QS5wdXNoKEMucmVnaXN0ZXIoKCk9PmQoKS51ZCgpLCgpPT5jKCkpKX0pfSl9LCJZMnFZN2IiKTtfLm5FKCgpPT57dmFyIEM9ZCgpLApHPWMoKTtDLlVjPUc7dmFyIEQ9Qy52PT09Ry5IO0Mudj1xVShHLkgpO0R8fEMuaiYmQy5qKEMudWQoKSl9LCJhMTc4UmQiKTt2YXIgRj1DPT57Qz1DLmRldGFpbC5hdXRvbmF2RW5hYmxlZDt2YXIgRz17YXV0b25hdkVuYWJsZWQ6Q307QyYmKEcueGY9ITApO2UoKS5TKEcpfTtfLm9GKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBmcC1hdXRvbmF2LXVwZGF0ZSIsRil9KTtfLll1KCgpPT57QS5mb3JFYWNoKEM9PnZvaWQgQygpKTtBLmxlbmd0aD0wO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwZnAtYXV0b25hdi11cGRhdGUiLEYpfSk7cmV0dXJuIF8uSyhfLm5HLHtFZjpbXy5vRygkVCxiKV19LF8uSygicGZwLWNvbnRyb2xzIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNIb3N0Iiwib246Y29udGV4dG1lbnUiOmZ1bmN0aW9uKEMpe2EuY29udGV4dCgpLnRhLlNqPy4oQyk7Qy5wcmV2ZW50RGVmYXVsdCgpfX0sXy5LKEdWLHtHOmUsdGh1bWJuYWlsRGV0YWlsczooKT0+e3ZhciBDPQpjKCk7cmV0dXJuIEMuamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5kZWZhdWx0VGh1bWJuYWlsfHxDLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnRodW1ibmFpbH19KSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzQ3JlYXRvckVuZHNjcmVlbkNvbnRhaW5lciIsIm9uOmNsaWNrIjpmdW5jdGlvbihDKXtDLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+YygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyLHRoZW46KCk9Pl8uSyhsVyx7ZW5kc2NyZWVuUmVuZGVyZXI6KCk9PmMoKS5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlcixHOmV9KX0pKSxfLksoImRpdiIse2lkOiJwbGF5ZXItY29udHJvbC1vdmVybGF5IixjbGFzczpfLlAoInl0UGZwQ29udHJvbHNPdmVybGF5Iix7eXRQZnBDb250cm9sc0ZhZGVJbjp6fSksIm9uOmNsaWNrIjpmdW5jdGlvbihDKXtwKCk/CihYUygyODU3MiksZSgpLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDAsQy5jdXJyZW50VGFyZ2V0LnZpc3VhbEVsZW1lbnQpLGIoKS5wbGF5VmlkZW8oKSk6S1UoQyxlKCkpfSwib246cG9pbnRlcm1vdmUiOmZ1bmN0aW9uKEMpe0MucG9pbnRlclR5cGU9PT0ibW91c2UiJiYoZSgpLlMoe2VhOiEwfSksY1QoZSgpLHtJYzohMH0pKX19LF8uSyhfLk8se0E6dix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzR3JhZGllbnRUb3AifSxfLksoXy5PLHtBOnQsdGhlbjooKT0+Xy5LKCJoMiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzVmlkZW9UaXRsZSJ9LHQpfSkpfSksXy5LKG9XLHtqZTooKT0+ZSgpLmplfSksXy5LKF8uTyx7QTpwLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b24iLGVsOnIsImFyaWEtbGFiZWwiOl8uJE4uUGcsdGl0bGU6Xy4kTi5QZ30sXy5LKCJzdmciLHtoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsCnZpZXdCb3g6IjAgMCA2MCA2MCIsd2lkdGg6IjEwMCUifSxfLksoInBhdGgiLHtjbGFzczoieXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbkljb25CZyIsZDoiTTMwLDBBMzAsMzAsMCwxLDAsNjAsMzAsMzAsMzAsMCwwLDAsMzAsMFoiLGZpbGw6KCk9PkUoKT8/IiMxZjFmMWYifSksXy5LKCJwYXRoIix7ZDoiTTIxLDQxLjY1VjE4TDQzLjcsMjkuODVaIixmaWxsOiIjZmZmIn0pKSl9KSxfLksoWm1hLHtHOmUsVWM6Y30pLF8uSyhhbmEse0c6ZSx3YXRjaE5leHRSZXNwb25zZTooKT0+YygpLndhdGNoTmV4dFJlc3BvbnNlLFV4Om4sY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVmlkZW9XYWxsRW5kc2NyZWVuIn0pLF8uSyhZbWEse0g6YixHOmUsd2F0Y2hOZXh0UmVzcG9uc2U6KCk9PmMoKS53YXRjaE5leHRSZXNwb25zZSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNBdXRvbmF2In0pLF8uSyhfLk8se0E6KCk9PiFsKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoV1Yse0c6ZX0pLApfLksoVlYse2dmOmUsSWI6ITF9KSxfLksoWFYse0c6ZSxGZDotMSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNIaWRkZW5TZWVrQnV0dG9uIn0pLF8uSyhYVix7RzplLEZkOjEsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbiJ9KSxfLksoXy5PLHtBOmgsdGhlbjooKT0+Xy5LKHJXLHtHOmV9KX0pLF8uSyhmbmEse0g6YixHOmUsVWM6YyxGejpFLGRpc2FibGVTY3J1YmJpbmc6Zn0pKX0pKSkpfSwib2UiKSxmbmE9Xy5MKCh7SDphLEc6YixVYzpjLEZ6OmQsZGlzYWJsZVNjcnViYmluZzplfSk9PntmdW5jdGlvbiBmKHIpe3Iuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGg9Xy5OKCgpPT4hYigpLmJhPy5uaCx2b2lkIDAsInBGdERYYiIpLGs9Xy5OKCgpPT4hYigpLmJhPy5pcSx2b2lkIDAsInY0WDVzZSIpLGw9Xy5OKCgpPT5jKCkucGxheWVyT3ZlcmxheVJlbmRlcmVyLHZvaWQgMCwiakxoaFdjIiksbT1fLk4oKCk9PkdTKGwoKSksdm9pZCAwLCJzNjd4U2IiKSxuPV8uTigoKT0+CkVTKGwoKSksdm9pZCAwLCJwQ2lhdSIpLHA9Xy5OKCgpPT4hYigpLmJhPy56cix2b2lkIDAsInN2dXhCIik7cmV0dXJuIF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lciJ9LF8uSyhDVix7TGI6YixoZjptLGNvbmZpZzooKT0+KHtwb3NpdGlvbjoxLEtmOiExLEluOnAoKSxSYTpuKCksZGlzYWJsZVNjcnViYmluZzplKCksWW86KCk9PntiVCgpfSxGbjooKT0+e2NUKGIoKSx7SWM6ITB9KX19KX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzQm90dG9tQmFyIixzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6ZH0pLCJvbjpjbGljayI6Zn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBDb250cm9sc0xlZnRDb250cm9scyJ9LF8uSyhfLk8se0E6KCk9PmIoKS5wbGF5ZXJTdGF0ZT09PTAsdGhlbjooKT0+Xy5LKGFXLHtHOmJ9KSxXOigpPT5fLksoJFYse0c6Yix5czohMH0pfSksCl8uSyhIVix7b3JpZW50YXRpb246Imhvcml6b250YWxfcmlnaHQiLEg6YSxEdjohMCxDcDpfLkJLfHxfLkdLLGJqOiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1ZvbHVtZUNvbnRyb2xzIn0pLF8uSyhwVyx7RzpiLHBsYXllck92ZXJsYXlSZW5kZXJlcjpsLFZ3OiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1RpbWVEaXNwbGF5In0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzUmlnaHRDb250cm9scyJ9LF8uSyhkVyx7Z2Y6YixWcjohMCxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNDYXB0aW9uc0J1dHRvbiJ9KSxfLksoYlcse0c6YixjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNTZXR0aW5nc0J1dHRvbiJ9KSxfLksoXy5PLHtBOmssdGhlbjooKT0+Xy5LKFpWLHtHOmJ9KX0pKSkpfSl9LCJwZSIpO3ZhciBnbmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXQtZW1iZWRzLWluZm8tcGFuZWwtZGV0YWlscy12aWV3LW1vZGVsIix7Y2xhc3M6Inl0RW1iZWRzSW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbEhvc3QifSxfLksoXy5WLHtjbGFzc05hbWU6Inl0RW1iZWRzSW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbEJvZHlUZXh0Iix0ZXh0OigpPT5hKCkuYm9keVRleHR9KSxfLksoXy5nRyx7cGE6KCk9PmEoKS5jdGFCdXR0b25zfHxbXX0sYj0+KGI9KGI9Xy5CKGIsYW1hKSk/Xy5CKHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Yi5ib2R5VGV4dD8uY29udGVudH0sbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTpiPy5pY29uPy5pY29uVHlwZX19XX0scmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6Yj8ub25UYXB9fX19LF8uWkMpOnZvaWQgMCk/Xy5LKF8uQ0Qse2RhdGE6Yn0pOm51bGwpKSwicWUiKTt2YXIgaG5hPV8uTCgoe2RhdGE6YSxvbkNsaWNrOmJ9KT0+Xy5LKCJ5dC1lbWJlZHMtaW5mby1wYW5lbC1vdmVydmlldy12aWV3LW1vZGVsIixudWxsLF8uSygiYnV0dG9uIix7Im9uOmNsaWNrIjpiLGNsYXNzOiJ5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckJ1dHRvbiJ9LF8uSyhfLk8se0E6KCk9PmEoKS5oZWFkZXJJY29uPy5pY29uVHlwZSx0aGVuOigpPT5fLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PmEoKS5oZWFkZXJJY29uPy5pY29uVHlwZX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyVGV4dCJ9LF8uSyhfLlYse3RleHQ6KCk9PmEoKS50aXRsZX0pLF8uSyhfLlYse3RleHQ6KCk9Pih7Y29udGVudDphKCkudGl0bGUmJmEoKS5ib2R5VGV4dD8iIFx1MjAyMiAiOiIifSl9KSxfLksoXy5WLHt0ZXh0OigpPT5hKCkuYm9keVRleHR9KSkpKSwicmUiKTt2YXIgdlc9Xy5MKCh7ZGF0YTphLHByb3BzOmJ9KT0+e2Z1bmN0aW9uIGMoZCl7dmFyIGU9YSgpLmluZm9QYW5lbERldGFpbHNWaWV3TW9kZWw7aWYoZSl7dmFyIGY9e307ZS50aXRsZT8uY29udGVudCYmKGYuaGVhZGVyVGl0bGU9ZS50aXRsZS5jb250ZW50KTtfLnlOKHsuLi5mLEdiOigpPT5fLksoZ25hLHtkYXRhOmV9KSxIYTohMH0pfWQuc3RvcFByb3BhZ2F0aW9uKCl9cmV0dXJuIF8uSygieXRtLWVtYmVkcy1pbmZvLXBhbmVsLXJlbmRlcmVyIix7Y2xhc3M6Xy5QKCJ5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3QiLHt5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RBdXRvaGlkZTooKT0+YigpLnBsYXllclN0YXRlPT09MSx5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RUb3BDb250cm9sc1N0YWNrZWRJblBvcnRyYWl0OigpPT4hJFMoYigpKSYmIWIoKS5iYT8uaGlkZVZpZGVvSW5mbyYmIWIoKS5iYT8ubmh9KSxzdHlsZTpfLklFKHsiYW5pbWF0aW9uLWRlbGF5IjooKT0+CmAke2EoKS5kdXJhdGlvbk1zfHwxRTR9bXNgfSl9LF8uSyhfLk8se0E6KCk9PmEoKS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbCx0aGVuOmQ9Pl8uSyhobmEse2RhdGE6ZCxvbkNsaWNrOmN9KX0pKX0sInNlIik7dlcuaWRvbUNvbXBhdD0hMDt2YXIgd1c9Xy5MKCh7RzphfSk9Pnt2YXIgW2IsY109Xy5KKCJoaWRkZW4iLHZvaWQgMCwiU0JoYkhlIiksZCxlLFtmLGhdPV8uSighMSx2b2lkIDAsIkhnN3huZiIpLFtrLGxdPV8uSighMSx2b2lkIDAsIm5LSGxaZSIpO18uVUooKCk9Pnt0VygpPT09dm9pZCAwJiZ1bGEoKTtlPXNldFRpbWVvdXQoKCk9Pnt0VygpJiZtKCEwKTtsKCEwKX0sMkUzKX0pO18uWXUoKCk9PnttKCExKTtjbGVhclRpbWVvdXQoZSk7Y2xlYXJUaW1lb3V0KGQpfSk7Xy5uRSgoKT0+e0NVKCkmJmYoKSYmKG0oITEpLHNXKCEwKSk7IXRXKCkmJmYoKSYmbSghMSk7dFcoKSYmIWVuYSgpJiYhZigpJiZrKCkmJm0oITApfSwiVkNGQkliIik7dmFyIG09bj0+e2gobik7YSgpLkg/LnNldEF1dG9jcm9wRW5hYmxlZChuKTtjbGVhclRpbWVvdXQoZCk7bj8oYygidmlzaWJsZSIpLGQ9c2V0VGltZW91dCgoKT0+e2MoIiIpfSwzRTMpKTooYygiIiksZD1zZXRUaW1lb3V0KCgpPT57YygiaGlkZGVuIil9LDNFMykpfTtyZXR1cm4gXy5LKCJkaXYiLAp7Y2xhc3M6Xy5QKCJ5dEF1dG9jcm9wQnV0dG9uSG9zdCIse3l0QXV0b2Nyb3BCdXR0b25WaXNpYmxlOigpPT5iKCk9PT0idmlzaWJsZSIseXRBdXRvY3JvcEJ1dHRvbkhpZGRlbjooKT0+YigpPT09ImhpZGRlbiJ9KX0sXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIix0ZXh0OntydW5zOlt7dGV4dDpfLiROLlBzfV19fSxjbGFzc05hbWU6Inl0QXV0b2Nyb3BCdXR0b25BdXRvQ3JvcEJ1dHRvbiIscHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57bSghZigpKTtzVyghZigpKX19KSxXOigpPT5fLksoXy5wTyx7ZGF0YTp7c3R5bGU6IlNUWUxFX0xJR0hUX1RFWFQiLHNpemU6IlNJWkVfREVGQVVMVCIsdGV4dDp7cnVuczpbe3RleHQ6IjEwMCUifV19fSxjbGFzc05hbWU6Inl0QXV0b2Nyb3BCdXR0b25BdXRvQ3JvcEJ1dHRvbiIscHJldmVudERlZmF1bHQ6ITAsCnN0b3BQcm9wYWdhdGlvbjohMCx0ZzooKT0+e20oIWYoKSk7c1coIWYoKSl9fSl9KSl9LCJ1ZSIpO3dXLmlkb21Db21wYXQ9ITA7dmFyIHhXPV8uTCgoe2RhdGE6YSxGZTpifSk9Pl8uSygieXRtLWVuZHNjcmVlbi12aWRlby1yZW5kZXJlciIsbnVsbCxfLksoXy5mamEse2RhdGE6KCk9Pih7dGh1bWJuYWlsOmEoKS50aHVtYm5haWwsdGh1bWJuYWlsT3ZlcmxheXM6YSgpLnRodW1ibmFpbE92ZXJsYXlzLHZpZGVvSWQ6YSgpLnZpZGVvSWQsbGVuZ3RoVGV4dDphKCkubGVuZ3RoVGV4dCxwdWJsaXNoZWRUaW1lVGV4dDphKCkucHVibGlzaGVkVGltZVRleHQsbmF2aWdhdGlvbkVuZHBvaW50OmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsaGVhZGxpbmU6YSgpLnRpdGxlfSksRmU6Yn0pKSwidmUiKTt4Vy5pZG9tQ29tcGF0PSEwO3ZhciB6Vz1fLkwoKHt3YXRjaE5leHRSZXNwb25zZTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdCIsaWRvbUtleToiZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlciJ9LF8uSyhfLmdHLHtwYTooKT0+TVMoYT8uKCkpfSxiPT5fLksoeVcse3ZpZGVvOmJ9KSkpLCJ3ZSIpO3pXLmlkb21Db21wYXQ9ITA7dmFyIHlXPV8uTCgoe3ZpZGVvOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNSZWNvbW1lbmRhdGlvbiJ9LF8uSyhfLlcse2RhdGE6YX0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKHhXLHtkYXRhOmIsRmU6ITB9KX0pKSwieGUiKTt5Vy5pZG9tQ29tcGF0PSEwO3ZhciBCVz1fLkwoYT0+Xy5LKCJwbGF5ZXItZnVsbHNjcmVlbi10b3AtY29udHJvbHMiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzSG9zdCIsc3R5bGU6Xy5JRSh7dmlzaWJpbGl0eTooKT0+YS5HKCkuTmE/InZpc2libGUiOiJoaWRkZW4ifSl9LF8uSygiaDIiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNvbnRyb2xzVmlkZW9UaXRsZSJ9LF8uSyhfLk8se0E6KCk9PmEud2F0Y2hOZXh0UmVzcG9uc2U/LigpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy52aWRlb0RldGFpbHM/LnBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlcj8udGl0bGUsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSxfLksoQVcse0c6YS5HfSkpLCJ5ZSIpO0JXLmlkb21Db21wYXQ9ITA7CnZhciBBVz1fLkwoKHtHOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNsb3NlQnV0dG9uV3JhcHBlciJ9LF8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIixpY29uOntpY29uVHlwZToiQ0xPU0UifSxhY2Nlc3NpYmlsaXR5OntsYWJlbDoiQ2xvc2UifSxhY2Nlc3NpYmlsaXR5RGF0YTp7YWNjZXNzaWJpbGl0eURhdGE6e2xhYmVsOiJDbG9zZSJ9fX0scHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57YSgpLlMoe05hOiExfSk7Xy5NTygiLmZ1bGxzY3JlZW4tbW9yZS12aWRlb3MtZW5kcG9pbnQiKTtjVChhKCkpfX0pKSwiemUiKTtBVy5pZG9tQ29tcGF0PSEwO3ZhciBDVz1fLkwoYT0+e3ZhciBiPSgpPT5hLkcoKS5pc0Z1bGxzY3JlZW58fGEuRygpLmJhPy5FZSxjPSgpPT57dmFyIGY9YS5HKCk7cmV0dXJuIF8uYUwoImZ1bGxzY3JlZW4tY29udHJvbHMiLHtleHBhbmRlZDpmLk5hLCJzdHlsZS1yZWNvbW1lbmRhdGlvbnMtaW4tcG9ydHJhaXQiOmYuYmE/LkVlfHxfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSl9LGQ9KCk9Pnt2YXIgZj1hLkcoKTtyZXR1cm5gCiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgke2YuSmZ9cHgpOwogICAgICB0cmFuc2l0aW9uOiAke2YuV2Q/Im5vbmUiOiJ0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3R0b20gMC4ycyBlYXNlIn07CiAgICAgIHZpc2liaWxpdHk6ICR7Zi5KZnx8Zi5OYT8idmlzaWJsZSI6ImluaGVyaXQifTsKICAgICAgcG9pbnRlci1ldmVudHM6ICAke2YuTmE/ImFsbCI6Im5vbmUifTsKICAgIGB9LGU9KCk9Pl8ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJmEuYXV0b2Nyb3BDb25maWc/LigpO3JldHVybiBfLksoInBsYXllci1mdWxsc2NyZWVuLWNvbnRyb2xzIix7aGlkZGVuOiFiLGNsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuQ29udHJvbHNIb3N0In0sXy5LKF8uTyx7QTpiLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKEJXLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSksXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyh3Vyx7RzphLkd9KX0pLF8uSyhLVix7RzphLkcsd2F0Y2hOZXh0UmVzcG9uc2U6YS53YXRjaE5leHRSZXNwb25zZSx0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI6YS50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXJ9KSxfLksoImRpdiIse2NsYXNzOmMsc3R5bGU6ZH0sXy5LKHpXLHt3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSkpKX0pKX0sIkFlIik7Q1cuaWRvbUNvbXBhdD0hMDt2YXIgRFc9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnVFKCJ5dG0tcGFpZC1jb250ZW50LW92ZXJsYXktcmVuZGVyZXIiKTtyZXR1cm4gXy5LKCJ5dG0tcGFpZC1jb250ZW50LW92ZXJsYXktcmVuZGVyZXIiLHtjbGFzczoieXRtUGFpZENvbnRlbnRPdmVybGF5SG9zdCIsZWw6Yiwib246YW5pbWF0aW9uZW5kIjpmdW5jdGlvbihjKXtiLnZhbHVlLmNsYXNzTGlzdC5hZGQoInl0bVBhaWRDb250ZW50T3ZlcmxheUhpZGRlbiIpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCxjbGFzc05hbWU6Inl0bVBhaWRDb250ZW50T3ZlcmxheUxpbmsifSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsdGhlbjooKT0+Xy5LKCJzcGFuIixudWxsLF8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGV9KSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1QYWlkQ29udGVudE92ZXJsYXlUZXh0In0sXy5LKF8uViwKe3RleHQ6KCk9PmEoKS50ZXh0fSkpLF8uSyhfLk8se0E6KCk9PmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsdGhlbjooKT0+Xy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQifSl9KSkpfSwiQmUiKTtEVy5pZG9tQ29tcGF0PSEwO3ZhciBFVz1fLkwoYT0+e3ZhciBiPSgpPT5hLkcoKS5IPy5nZXRTaXplPy4oKT8ud2lkdGg7cmV0dXJuIF8uSygicGxheWVyLWJvdHRvbS1jb250cm9scyIse2NsYXNzOl8uUCgieXR3UGxheWVyQm90dG9tQ29udHJvbHNIb3N0Iix7ImRlbGhpLXBsYXllciI6Xy54KCJtd2ViX3dhdGNoX2RlbGhpX3BsYXllciIpfSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1jb250cm9scy1ib3R0b20gcGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0In0sXy5LKF8uTyx7QTooKT0+IShiKCkmJmIoKTwzMjApLHRoZW46KCk9Pl8uSyhwVyx7RzphLkcsU206YS5TbSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KX0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgicGxheWVyLWNvbnRyb2xzLWJvdHRvbSIsInBsYXllci1jb250cm9scy1ib3R0b20tcmlnaHQiKX0sXy5LKF8uTyx7QTooKT0+IShhLkcoKS5iYT8uaXF8fGIoKSYmYigpPDI0MCksdGhlbjooKT0+Xy5LKCJkaXYiLAp7Y2xhc3M6Inl0d1BsYXllckJvdHRvbUNvbnRyb2xzRnVsbHNjcmVlbkJ1dHRvbldyYXBwZXIifSxfLksoWlYse0c6YS5HfSkpfSkpKX0sIkNlIik7RVcuaWRvbUNvbXBhdD0hMDt2YXIgRlc9Xy5MKGE9Pnt2YXIge0c6Yix3YXRjaE5leHRSZXNwb25zZTpjfT1fLkRDKGEse3dhdGNoTmV4dFJlc3BvbnNlOnZvaWQgMH0pO3JldHVybiBfLksoXy5PLHtBOigpPT5IUyhiKCksQVMoYygpKSksdGhlbjooKT0+Xy5LKCJwbGF5ZXItZW5kc2NyZWVuIix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5Db250YWluZXIifSxfLksoImRpdiIse2lkOiJwbGF5ZXItZW5kc2NyZWVuIixjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuIiwiZGF0YS1oYXMtdGltZXItY291bnRkb3duIjohMH0sXy5LKGluYSx7cHJvcHM6YixwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjooKT0+QlMoYygpKX0pLF8uSyhqbmEse3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6KCk9PkJTKGMoKSl9KSxfLksoa25hLHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOigpPT4KQlMoYygpKX0pKSkpfSl9LCJEZSIpO0ZXLmlkb21Db21wYXQ9ITA7CnZhciBpbmE9Xy5MKGE9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVsIn0sXy5LKGxuYSx7Li4uYX0pLF8uSyhtbmEsey4uLmF9KSksIkVlIiksbG5hPV8uTChhPT57dmFyIHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmN9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSksW2QsZV09Xy4kTi5Pcy5zcGxpdCgic2Vjb25kc19wbGFjZWhvbGRlciIpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5IZWFkZXIiLHJvbGU6InRleHQifSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5iKCkuemYmJmMoKX0sKCk9Pl8uSyhfLlYse3RleHQ6KCk9PmMoKT8ucGF1c2VUZXh0fSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSygic3BhbiIse2lkOiJ1cG5leHQtaW4tbWVzc2FnZSJ9LGQsXy5LKG5uYSx7Li4uYX0pLGUpKSkpfSwiRmUiKSxubmE9Xy5MKGE9Pnt2YXIgYj0KYS5wcm9wcztyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bk51bWJlciIsImFyaWEtaGlkZGVuIjohMH0sKCk9PmIoKS55Zil9LCJHZSIpLG1uYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+YigpPy5jbG9zZUJ1dHRvbix0aGVuOmM9Pl8uSyhfLlcse2RhdGE6Y30se3RodW1ibmFpbE92ZXJsYXlUaW1lU3RhdHVzUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8uVlAse2RhdGE6ZH0pLGJ1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsdGc6KCk9PntRVShhKX0sYnV0dG9uT3ZlcnJpZGVzOntzdHlsZToib3ZlcmxheSJ9fSl9KX0pfSwiSGUiKSxqbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7CnJldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5Db3VudGRvd25Db250YWluZXIifSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YigpPy5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LGNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuQ3VlZFZpZGVvQ29udGFpbmVyIixhcmlhTGFiZWw6KCk9Pl8uREooYigpPy52aWRlb1RpdGxlPy5hY2Nlc3NpYmlsaXR5KX0sXy5LKG9uYSx7Li4uYX0pLF8uSyhwbmEsey4uLmF9KSkpfSwiSWUiKSxvbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5In0sXy5LKF8uWFAse3RodW1ibmFpbERldGFpbHM6KCk9PmIoKT8uYmFja2dyb3VuZCxNZDp2b2lkIDAsVGI6ITEsCmNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsQ29udGFpbmVyIn0pLF8uSyhfLlcse2RhdGE6KCk9PmIoKT8udGh1bWJuYWlsT3ZlcmxheXN9LHt0aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyOih7ZGF0YTpjfSk9Pl8uSyhfLlZQLHtkYXRhOmMsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5UaHVtYm5haWxPdmVybGF5cyIsYXJpYUhpZGRlbjohMH0pfSkpfSwiSmUiKSxwbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblZpZGVvSW5mbyIsImFyaWEtaGlkZGVuIjohMH0sXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmIoKT8udmlkZW9UaXRsZX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0F1dGhvciJ9LApfLksoXy5WLHt0ZXh0OigpPT5iKCk/LmJ5bGluZSxtYTohMH0pKSl9LCJLZSIpLGtuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KSxjPXtzdHlsZToib3ZlcmxheSJ9O3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5CdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5iKCk/LmNhbmNlbEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b24iLHRnOigpPT57UVUoYSl9LGJ1dHRvbk92ZXJyaWRlczpjfSl9KSxfLksoXy5XLHtkYXRhOigpPT5iKCk/Lm5leHRCdXR0b259LHtidXR0b25SZW5kZXJlcjooe2RhdGE6ZH0pPT5fLksoXy5wTyx7ZGF0YTpkLGNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uIiwKYnV0dG9uT3ZlcnJpZGVzOmN9KX0pKX0sIkxlIik7dmFyIEdXPV8uTChhPT57dmFyIGI9Xy5rRygkVCksYz1fLlAoInl0d1BsYXllck1pZGRsZUNvbnRyb2xzSG9zdCIsInBsYXllci1jb250cm9scy1taWRkbGUiLHsicHJldmVudC1jb250cm9scy1jb2xsaXNpb24iOigpPT57dmFyIGg9Yj8uKCk7aWYoIWg/LmlzUmVhZHk/LigpKXJldHVybiExO2g9aD8uZ2V0U2l6ZSgpPy5oZWlnaHQ7aD0hIWgmJmg8Mjc1O3ZhciBrPWEuRygpLmJhPy52b2x1bWVDb250cm9sVHlwZT09PSJ2b2x1bWUtc2xpZGVyIjtyZXR1cm4gaHx8a319KSxkPSgpPT57dmFyIGg9YS5HKCk7cmV0dXJuIGgucGxheWVyU3RhdGU9PT0zfHxoLnBsYXllclN0YXRlPT09LTF9LGU9KCk9Pnt2YXIgaD1hLkcoKTt2YXIgaz1iPy4oKTtYUShrKXx8IWs/LmlzUmVhZHk/LigpP2s9ITE6aD8uYmE/LnZuP2s9ITA6KGg9ay5nZXRWaWRlb0RhdGEoKSxrPSFoLmlzTGlzdGVkfHxoLnlwY1ByZXZpZXd8fGguaXNMaXZlfHx0eXBlb2Ygay5nZXRMb29wUmFuZ2U9PT0iZnVuY3Rpb24iJiYKay5nZXRMb29wUmFuZ2UoKT8hMDohMSk7cmV0dXJuIWt9LGY9Xy5QKCJwbGF5ZXItY29udHJvbHMtbWlkZGxlLWNvcmUtYnV0dG9ucyIseyJzY3JlZW5yZWFkZXItc2FmZS1oaWRlLW1pZGRsZS1idXR0b25zIjpkfSk7cmV0dXJuIF8uSygicGxheWVyLW1pZGRsZS1jb250cm9scyIse2NsYXNzOmN9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksocW5hLG51bGwpfSksXy5LKCJkaXYiLHtjbGFzczpmfSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKHJuYSx7RzphLkcsd2F0Y2hOZXh0UmVzcG9uc2U6YS53YXRjaE5leHRSZXNwb25zZX0pfSksXy5LKFhWLHtGZDotMSxHOmEuRyxjbGFzc05hbWU6Inl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b24ifSksXy5LKF8uTyx7QTooKT0+e3ZhciBoPWEuRygpO3JldHVybiF1UyhoKX0sdGhlbjooKT0+Xy5LKCRWLHtHOmEuR30pLFc6KCk9Pl8uSyhhVyx7RzphLkd9KX0pLF8uSyhYVix7RmQ6MSxHOmEuRyxjbGFzc05hbWU6Inl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b24ifSksCl8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoc25hLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSl9KSkpfSwiTWUiKTtHVy5pZG9tQ29tcGF0PSEwOwp2YXIgcW5hPV8uTCgoKT0+Xy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLXNwaW5uZXIifSxfLksoImRpdiIse2NsYXNzOiJzcGlubmVyIn0pKSwiTmUiKSxybmE9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPSgpPT4hYS5HKCkuYmE/LnZuO3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9QUkVWSU9VUyIsYXJpYUxhYmVsOl8uJE4uTXQsYXJpYURpc2FibGVkOmMsY2xhc3NOYW1lOl8uUCgicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIix7Imljb24tZGlzYWJsZSI6Y30pLFVkOjM2ODQwLGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOiJQTEFZRVJfUFJFVklPVVMifSkpLG9uY2xpY2s6KCk9Pnt2YXIgZD1hLkcoKSxlPWI/LigpO2QucmMmJmU/LnVuTXV0ZSgpO3ZhciBmPWEud2F0Y2hOZXh0UmVzcG9uc2U/LigpLGg9QVMoZik7CmlmKFhRKGUpJiZmJiZoKXtpZihkPVJVKGgpLlVhKV8uJEQoZCksXy5BSihkLHt9LCExKX1lbHNlIGY9YS5HKCkuYmE/LnZuLHBqYShjKCksZSxmKSxkLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDApfX0pfSwiT2UiKSxzbmE9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPSgpPT57dmFyIGQ9Yj8uKCk7aWYoIWQ/LmlzUmVhZHk/LigpKXJldHVybiEwO3ZhciBlPWQ/LmdldFBsYXlsaXN0KCk7ZD1kPy5nZXRQbGF5bGlzdEluZGV4KCk7dmFyIGY9ITE7ZSYmZCE9PXZvaWQgMCYmKGY9ZD49ZS5sZW5ndGgtMSk7cmV0dXJuIGZ9O3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9ORVhUIixhcmlhTGFiZWw6Xy4kTi5LdCxhcmlhRGlzYWJsZWQ6YyxVZDozNjg0MSxjb250ZW50OigpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC12aXNpYmxlLWFyZWEifSxfLksoXy5NRCx7aWNvbjoiUExBWUVSX05FWFQifSkpLGNsYXNzTmFtZTpfLlAoInBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiIsCnsiaWNvbi1kaXNhYmxlIjpjfSksb25jbGljazooKT0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZC5yYyYmZT8udW5NdXRlKCk7dmFyIGY9YS53YXRjaE5leHRSZXNwb25zZT8uKCksaD1BUyhmKTtpZihYUShlKSYmZiYmaCl7aWYoZD1SVShoKS5uZXh0KV8uJEQoZCksXy5BSihkLHt9LCExKX1lbHNlIGMoKXx8KGU/Lm5leHRWaWRlbygpLGQuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCkpfX0pfSwiUGUiKTt2YXIgSFc9Xy5MKCh7dmlkZW9EZXRhaWxzOmEsRzpifSk9PntmdW5jdGlvbiBjKFQpe0MoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGQoVCl7RygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZShUKXtDKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBmKFQpe0U/LnZhbHVlPy5jb250YWlucyhULnRhcmdldCl8fEcoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoVCl7VC5wcmV2ZW50RGVmYXVsdCgpO1hTKDIzODUxKTt2YXIgYmE9U1UoYixEKTtpZihiYSl7dmFyIGFhPWIoKT8uSD8uZ2V0Q3VycmVudFRpbWUoKTtfLkFKKGJhLHtwYXJhbXM6e3RpbWVzdGFtcDphYT9NYXRoLmZsb29yKGFhKS50b1N0cmluZygpOnZvaWQgMH19LCExLHtldmVudDpUfSl9VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBrKFQpe1UoVCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBsKFQpe1QucHJldmVudERlZmF1bHQoKTt6KCl8fEYoKSYmRigpPDMyMD8KVShUKTpDKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBtKFQpe1QucHJldmVudERlZmF1bHQoKTtHKDI1MDApO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gbihUKXtHKDI1MDApO1Quc3RvcFByb3BhZ2F0aW9uKCl9dmFyIFtwLHJdPV8uSighMSx2b2lkIDAsImlaTVFtZiIpLFt0LHZdPV8uSighMSx2b2lkIDAsIkNoaEgwYiIpLHo9dCxFPV8udkUoImRpdiIpLEEsRj0oKT0+YigpLkg/LmdldFNpemU/LigpPy53aWR0aCxDPSgpPT57RigpJiZGKCk8MzIwfHwocighMCksQSYmY2xlYXJUaW1lb3V0KEEpLHooKXx8KGJUKCksdighMCkpKX0sRz0oVD01MDApPT57RigpJiZGKCk8MzIwfHwocighMSksQT1zZXRUaW1lb3V0KCgpPT57IXAoKSYmeigpJiYodighMSksY1QoYigpLHtJYzohMH0pKX0sVCkpfSxEPSgpPT5fLkIoYT8uKCkuY29sbGFwc2VkUmVuZGVyZXIsbVYpPy50aXRsZSxIPSgpPT5hPy4oKS5jaGFubmVsVGh1bWJuYWlsRW5kcG9pbnQsUj0oKT0+YT8uKCkuY2hhbm5lbFRodW1ibmFpbCwKTT0oKT0+Xy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy50aXRsZT8/KF8ueCgiZW1iZWRzX3ZpZF9kZXRhaWxzX2ZhbGxiYWNrX2NoYW5uZWxfbmFtZV9rcyIpP3ZvaWQgMDpfLkIoYT8uKCkuY29sbGFwc2VkUmVuZGVyZXIsbVYpPy5zdWJ0aXRsZSksUz0oKT0+Xy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy5zdWJ0aXRsZSxZPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnN1YnNjcmliZUJ1dHRvbixwYT1fLk4oKCk9Pl8uQihTVShiLEQpLF8uVkQpPy51cmwsdm9pZCAwLCJ5VEhOaiIpLG9hPV8uTigoKT0+Xy5CKGE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCxfLlZEKT8udXJsLHZvaWQgMCwicHdsM0ljIiksVT1UPT57VC5wcmV2ZW50RGVmYXVsdCgpO2lmKGE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCYmYT8uKCkpe3ZhciBiYT1hPy4oKS5jaGFubmVsVGh1bWJuYWlsRW5kcG9pbnQ7WFMoMzY5MjUpO18uQUooYmEse30sITEsCntldmVudDpUfSl9fSxoYT1fLlAoInl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXIiLHt5dG1WaWRlb0luZm9Mb2dvRW5hYmxlZDooKT0+ISFhPy4oKS5jaGFubmVsVGh1bWJuYWlsfSksbWE9Xy5QKCJ5dG1WaWRlb0luZm9PdmVybGF5Iix7eXRtVmlkZW9JbmZvRXhwYW5kZWQ6KCk9PnooKX0pLHRhPSgpPT4hIV8uQihhPy4oKS5leHBhbmRlZFJlbmRlcmVyLG5WKT8uc3Vic2NyaWJlQnV0dG9uJiYhYigpLmJhPy5vaDtyZXR1cm4gXy5LKCJlbWJlZGRlZC1wbGF5ZXItdmlkZW8tZGV0YWlscyIse2NsYXNzOiJ5dG1WaWRlb0luZm9Ib3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvVmlkZW9EZXRhaWxzQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpoYX0sXy5LKF8uTyx7QTpELHRoZW46KCk9Pl8uSyhfLk8se0E6cGEsdGhlbjooKT0+Xy5LKCJhIix7Im9uOmNsaWNrIjpoLGNsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb1RpdGxlIixlbDpfLnJGKFQ9PntXUyhULAoyMzg1MSl9KSxocmVmOnBhfSxfLksoXy5WLHt0ZXh0OkQsY2xhc3NOYW1lOl8uUCgieXRtVmlkZW9JbmZvTGluayIpLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKSxXOigpPT5fLksoInNwYW4iLHtjbGFzczoieXRtVmlkZW9JbmZvVmlkZW9UaXRsZSJ9LF8uSyhfLlYse3RleHQ6RCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSl9KX0pLF8uSyhfLk8se0E6Xy54KCJlbWJlZHNfdmlkX2RldGFpbHNfZmFsbGJhY2tfY2hhbm5lbF9uYW1lX2tzIik/SDpNLHRoZW46KCk9Pl8uSyhfLk8se0E6b2EsdGhlbjooKT0+Xy5LKCJhIix7Im9uOmNsaWNrIjprLGNsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsVGl0bGUiLGhyZWY6b2F9LF8uSyhfLlYse3RleHQ6TSxjbGFzc05hbWU6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIikseWM6ITAsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLFc6KCk9Pl8uSygic3BhbiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsVGl0bGUifSxfLksoXy5WLHt0ZXh0Ok0seWM6ITAsCnViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pfSkpLF8uSyhfLk8se0E6Uix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVyIixlbDpFLCJvbjpmb2N1c2luIjplLCJvbjpmb2N1c291dCI6Ziwib246bW91c2VvdmVyIjpjLCJvbjptb3VzZW91dCI6ZH0sXy5LKCJidXR0b24iLHsib246dG91Y2hzdGFydCI6bCwib246dG91Y2hlbmQiOm0sIm9uOmNsaWNrIjprLGNsYXNzOl8uUCgieXRtVmlkZW9JbmZvTGluayIsInl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXIiKSxlbDpfLnJGKFQ9PntXUyhULDM2OTI1KX0pfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczpSLGNsYXNzTmFtZToieXRtVmlkZW9JbmZvQ2hhbm5lbExvZ28iLGFsdDoidGh1bWJuYWlsLWltYWdlIn0pKSxfLksoImRpdiIse2NsYXNzOm1hLCJvbjp0b3VjaHN0YXJ0IjpDLCJvbjp0b3VjaGVuZCI6bn0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvQ2hhbm5lbEluZm8iLApyb2xlOiJ0ZXh0In0sXy5LKF8uVix7dGV4dDpNLGNsYXNzTmFtZToieXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxlIix5YzohMCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSxfLksoXy5WLHt0ZXh0OlMsY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9GbHlvdXRDaGFubmVsU3VidGl0bGUiLHljOiEwLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKSxfLksoXy5PLHtBOnRhLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiJ9LF8uSyhfLlcse2RhdGE6WX0se3N1YnNjcmliZUJ1dHRvblJlbmRlcmVyOmZXfSkpfSkpKX0pKSl9LCJRZSIpO0hXLmlkb21Db21wYXQ9ITA7dmFyIFRVPV8uJE4uQXQsT2xhPV8uJE4uZ3UsdG5hPV8uTCgoe1F5OmEsb25DbGljazpiLEpuOmMsQnM6ZH0pPT57dmFyIGU9Xy51RSgiYnV0dG9uIixoPT57V1MoaCwyODY2Mil9KSxmPSgpPT5VVShhKCksYz8uKCksZD8uKCkpLmFyaWFMYWJlbDtyZXR1cm4gXy5LKCJ5dG0tbXV0ZS1idXR0b24iLHtjbGFzczoieXRtTXV0ZUJ1dHRvbkhvc3QifSxfLksoImJ1dHRvbiIse2VsOmUsY2xhc3M6Inl0bU11dGVCdXR0b25CdXR0b24iLHRpdGxlOmYsImFyaWEtbGFiZWwiOmYsIm9uOmNsaWNrIjpmdW5jdGlvbihoKXtYUygyODY2Mik7Yj8uKGgpO2guc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PlVVKGEoKSxjPy4oKSxkPy4oKSkuaWNvbk5hbWV9KSkpKX0sIlJlIik7dmFyIElXPV8uTCgoe0hCOmEsV3E6YixKbjpjLEJzOmQsY2xhc3NOYW1lOmV9KT0+Xy5LKCJ5dC1tdXRlLXRvZ2dsZS1idXR0b24iLHtjbGFzczplfSxfLksodG5hLHtReTooKT0+e3ZhciBmPWEoKTtyZXR1cm4gZi5yY3x8Zi52b2x1bWU9PT0wPzA6Zi52b2x1bWU+NTA/MToyfSxvbkNsaWNrOmY9Pnt2YXIgaD1hKCkuSDtoJiYoaC5pc011dGVkKCk/aC51bk11dGUoKTpoLm11dGUoITEpKTtiPy4oZil9LEpuOigpPT4hIWM/LigpLEJzOigpPT4hIWQ/LigpfSkpLCJTZSIpO0lXLmlkb21Db21wYXQ9ITA7dmFyIFZVO3ZhciB1bmE9Xy5MKCh7ZW5hYmxlZDphLGFyaWFMYWJlbDpiLG9uQ2xpY2s6Y30pPT5fLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpiLCJhcmlhLXByZXNzZWQiOmEsIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtjPy4oZCk7ZC5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3M6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25Ib3N0In0sXy5LKF8uTUQse2ljb246KCk9PmEoKT8iQVVUT05BVl9PTl9UT0dHTEVfU1BBTk5FUiI6IkFVVE9OQVZfT0ZGX1RPR0dMRV9TUEFOTkVSIixjbGFzc05hbWU6KCk9PmEoKT8ieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT24iOiJ5dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYifSksXy5LKF8uTUQse2ljb246KCk9PmEoKT8iUExBWV9DSVJDTEVfRklMTEVEIjoiUEFVU0VfQ0lSQ0xFX0ZJTExFRCIsY2xhc3NOYW1lOigpPT5hKCk/Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbiI6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb24ifSkpLAoiVGUiKTt2YXIgSlc9Xy5MKCh7RzphLEN1OmJ9KT0+e18uQ1EoYixlPT57ZSYmZS5lbmFibGVkIT09dm9pZCAwJiZlLmVuYWJsZWQhPT1hKCkuYXV0b25hdkVuYWJsZWQmJlhVKGEoKSxlLmVuYWJsZWQsITEpfSk7dmFyIGM9Xy5OKCgpPT5hKCkuYXV0b25hdkVuYWJsZWQ/Xy5ESihiKCkuZW5hYmxlZEFjY2Vzc2liaWxpdHlEYXRhKTpfLkRKKGIoKS5kaXNhYmxlZEFjY2Vzc2liaWxpdHlEYXRhKSx2b2lkIDAsIlE5Z3Z6YyIpLGQ9Xy5OKCgpPT5hKCkuYXV0b25hdkVuYWJsZWQsdm9pZCAwLCJJUUNaa2YiKTtyZXR1cm4gXy5LKCJwbGF5ZXItYXV0b25hdi10b2dnbGUiLHtjbGFzczoieXR3UGxheWVyQXV0b25hdlRvZ2dsZUhvc3QifSxfLksodW5hLHtlbmFibGVkOmQsYXJpYUxhYmVsOmMsb25DbGljazplPT57dmFyIGY9YSgpLGg9Zi5hdXRvbmF2RW5hYmxlZDtYVShmLCFmLmF1dG9uYXZFbmFibGVkLCEwKTt2YXIgaz1iKCk7IWgmJmsub25FbmFibGVkQ29tbWFuZD9fLkFKKGsub25FbmFibGVkQ29tbWFuZCwKaywhMCk6aCYmay5vbkRpc2FibGVkQ29tbWFuZCYmXy5BSihrLm9uRGlzYWJsZWRDb21tYW5kLGssITApO1BsYShmLGIoKSk7dVMoZil8fGNUKGYse0ljOiEwfSk7ZS5zdG9wUHJvcGFnYXRpb24oKX19KSl9LCJVZSIpO0pXLmlkb21Db21wYXQ9ITA7dmFyIExXPV8uTChhPT57dmFyIGI9KCk9Pk5TKGEucGxheWVyT3ZlcmxheVJlbmRlcmVyPy4oKSxhLnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uKCkpLGM9KCk9PmIoKSYmIWEuRygpLmJhPy5oaWRlVmlkZW9JbmZvO3JldHVybiBfLksoInBsYXllci10b3AtY29udHJvbHMiLHtjbGFzczoieXR3UGxheWVyVG9wQ29udHJvbHNIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy10b3AiLHt5dHdQbGF5ZXJUb3BDb250cm9sc0NvbnRhaW5lcldpdGhFbWJlZGRlZFZpZGVvRGV0YWlsczpjfSksIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtkLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSyhIVyx7dmlkZW9EZXRhaWxzOmIsRzphLkd9KX0pLF8uSyhfLk8se0E6KCk9PiFhLkcoKS5iYT8ubmgmJiEkUyhhLkcoKSksdGhlbjooKT0+Xy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHQiLAoicGxheWVyLWNvbnRyb2xzLXRvcC1yaWdodCIse3l0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzUGxheWVyQ29udHJvbHNUb3BSaWdodDpjfSl9LF8uSyhLVyx7RzphLkcscGxheWVyT3ZlcmxheVJlbmRlcmVyOmEucGxheWVyT3ZlcmxheVJlbmRlcmVyfSkpLFc6KCk9Pl8uSyhLVyx7RzphLkcscGxheWVyT3ZlcmxheVJlbmRlcmVyOmEucGxheWVyT3ZlcmxheVJlbmRlcmVyfSl9KX0pKSl9LCJWZSIpO0xXLmlkb21Db21wYXQ9ITA7CnZhciB2bmE9KGEsYik9Pl8uSyhkVyx7Z2Y6YSxWcjohMCxXcTpifSksS1c9Xy5MKCh7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpifSk9Pnt2YXIgYz0oKT0+YSgpLkg7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+YSgpLmJhPy52b2x1bWVDb250cm9sVHlwZT09PSJ2b2x1bWUtc2xpZGVyIn0sKCk9Pl8uSyhIVix7b3JpZW50YXRpb246InZlcnRpY2FsX2Rvd24iLGJqOiEwLEg6Y30pKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBkPWEoKS5IPy5nZXRTaXplKCksZT1kPy53aWR0aCYmZC53aWR0aD49MjUwO2Q9ZD8uaGVpZ2h0JiZkLmhlaWdodD49MjAwO3JldHVybiBhKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09Im11dGUtYnV0dG9uIiYmZSYmZH19LCgpPT5fLksoSVcse0hCOmEsSm46ITB9KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKF8uSUIsbnVsbCkpKSxfLksoXy5PLHtBOigpPT4hIXpTKGI/LigpKSx0aGVuOigpPT5fLksoSlcsCntHOmEsQ3U6KCk9PnpTKGI/LigpKX0pfSksdm5hKGEsZnVuY3Rpb24oKXtjVChhKCkse0ljOiEwfSl9KSxfLksoXy5PLHtBOigpPT57dmFyIGQ9YSgpLkg/LmdldFNpemUoKTtkPWQ/LndpZHRoJiZkLndpZHRoPj0zMjB8fCFhKCkuYmE/Lm9oO3JldHVybiEhYSgpLnRhLlNqJiZkfSx0aGVuOigpPT5fLksoYlcse0c6YX0pfSkpfSwiV2UiKTtLVy5pZG9tQ29tcGF0PSEwO3ZhciBNVz1fLkwoYT0+e2Z1bmN0aW9uIGIoVCl7VC5wb2ludGVyVHlwZT09PSJtb3VzZSImJihsKCkuUyh7ZWE6ITB9KSxjVChsKCkse0ljOiEwfSkpfWZ1bmN0aW9uIGMoVCl7S1UoVCxsKCkpfWZ1bmN0aW9uIGQoVCl7dmFyIGJhPWwoKTtpZih4VShUKSl7VC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYWE9VC50b3VjaGVzWzBdO0hVPWFhLnBhZ2VYO3pVPWFhLnBhZ2VZO18ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJlQudG91Y2hlcy5sZW5ndGg9PT0yJiYoQlU9d1UoVCkpO0hUKGJhLFQudG91Y2hlcy5sZW5ndGgpO2JhLmJhPy5NaXx8YmEuTmF8fGJhLldkfHxiYS5zYnx8Xy5URSgpfHwoRVU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vdmllX3BsYXllciIpKSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNpdGlvbjoiIix0cmFuc2Zvcm1PcmlnaW46IiJ9KX19ZnVuY3Rpb24gZShUKXt2YXIgYmE9bCgpO2lmKHhVKFQpKXtULnN0b3BQcm9wYWdhdGlvbigpO3ZhciBhYT0KVC50b3VjaGVzWzBdO0FVPSEwO0dVPWFhLnBhZ2VYO3lVPWFhLnBhZ2VZO2FhPXtsazpHVS1IVSxPZDp5VS16VX07YWEuT2Q9PT0wJiZhYS5saz09PTB8fF8uTUUoKSYmIWJhLmlzRnVsbHNjcmVlbnx8YmEuYmE/Lk1pfHxULnByZXZlbnREZWZhdWx0KCk7SVQoVCxhYSxiYSk7Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmVC50b3VjaGVzLmxlbmd0aD09PTImJkJVIT09MCYmTWF0aC5hYnMod1UoVCktQlUpPjEwJiZEVSghMCk7IWJhLmJhPy5NaSYmKGJhLk5hfHxiYS5XZHx8YmEuc2J8fF8uVEUoKXx8Xy5NRSgpJiYhYmEuaXNGdWxsc2NyZWVufHwoYmEuUyh7ZWE6ITF9KSxUPWFhLk9kLGJhLmlzRnVsbHNjcmVlbiYmKFQqPS0xKSwhYmEuaXNGdWxsc2NyZWVuJiZUPjAmJihUPTApLFQ8LTEwMCYmKFQ9LTEwMCksYmEuaXNGdWxsc2NyZWVuP0VVJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2Zvcm06YHNjYWxlKCR7MS0uMDUqTWF0aC5taW4oNCpNYXRoLmFicyhULy0xMDApLAoxKX0pIHRyYW5zbGF0ZVkoJHstVH1weClgfSk6RVUmJk9iamVjdC5hc3NpZ24oRVUuc3R5bGUse3RyYW5zZm9ybTpgc2NhbGUoJHsxKy4yNSpNYXRoLmFicyhULy0xMDApfSlgLHRyYW5zZm9ybU9yaWdpbjoiYm90dG9tIGNlbnRlciJ9KSksIWJhLmlzRnVsbHNjcmVlbnx8YmEuaXNEcmFnZ2luZ3x8YmEuc2J8fCFfLk1FKCkmJiFfLlRFKCk/MDpiYS5XZHx8KGJhLk5hP0RRKGFhLk9kLDAsMjE1KTpEUShhYS5PZCwtMjE1LDApKSE9PTApJiYoYlQoKSxiYS5TKHtXZDohMCxlYTohMCxKZjpiYS5OYT9EUShhYS5PZCwwLDIxNSk6RFEoYWEuT2QsLTIxNSwwKX0pKX19ZnVuY3Rpb24gZihUKXtJVShULGwoKSxtKCkpfWZ1bmN0aW9uIGgoVCl7SVUoVCxsKCksbSgpKX1mdW5jdGlvbiBrKFQpe1Quc3RvcFByb3BhZ2F0aW9uKCl9dmFyIHtHOmwsZGF0YTptfT1fLkRDKGEse2RhdGE6dm9pZCAwfSksbj1fLk4oKCk9PmwoKS5ILHZvaWQgMCwiWjdIOXJlIik7YT1fLk4oKCk9PmwoKS5lYSx2b2lkIDAsCiJkcmhxN2QiKTt2YXIgcD1fLk4oKCk9PmwoKS5zYix2b2lkIDAsInZzdFlFZSIpLHI9Xy5OKCgpPT5sKCkuYmE/LkVlLHZvaWQgMCwiTGJGd0piIiksdD1fLk4oKCk9PmwoKS5LYj4oXy54KCJtd2ViX3BsYXllcl90YXBwaW5nX3RocmVzaG9sZF9raWxsc3dpdGNoIik/ODowKSx2b2lkIDAsImU0anFNZCIpLHY9Xy5OKCgpPT5sKCkuSmQhPT0wLHZvaWQgMCwicHFnRDVlIiksej1fLk4oKCk9PmwoKS5iYT8uWmgsdm9pZCAwLCJ0bVFkZyIpLEU9KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzLEE9Xy5OKCgpPT4kUyhsKCksbSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXMpLHZvaWQgMCwiWGE5cXhmIiksRj1fLk4oKCk9PiFsKCkuYmE/LnpyLHZvaWQgMCwibUZPbHQiKSxDPV8uTigoKT0+e3ZhciBUPWwoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITE6VC5pc0xpdmUmJiFULmlzTGl2ZUR2ckVuYWJsZWR9LHZvaWQgMCwKIkQxaTY3IiksRz1fLk4oKCk9Pnt2YXIgVD1DKCk7cmV0dXJuIHJVKCkmJiFUfSx2b2lkIDAsInZRemltZSIpLEQ9Xy5OKCgpPT50KCkmJnYoKSx2b2lkIDAsIkJlR3A3IiksSD1fLlAoIm5ldy1jb250cm9scyIsImJpZ2JhciIsIm1lZGl1bS1tb2RpZmljYXRpb24iLCJhbmltYXRpb24tZW5hYmxlZCIsImVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIiwiZnMtd2F0Y2gtc3lzdGVtIix7ZmFkZWluOmEsImJhY2tncm91bmQtaGlkZGVuIjpwLCJmdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiI6ciwiZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMtZm9yLXBvcnRyYWl0IjpfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSksUj0oKT0+bT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlLE09KCk9Pm0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsUz0oKT0+bSgpPy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIsWT0oKT0+CkdTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpLHBhPSgpPT5tKCk/LmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uZGVmYXVsdFRodW1ibmFpbHx8bSgpPy5wbGF5ZXJSZXNwb25zZT8udmlkZW9EZXRhaWxzPy50aHVtYm5haWwsb2E9KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXllckNvbmZpZz8uYXV0b2Nyb3BDb25maWcsVT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlciYmbigpLGhhPSgpPT57dmFyIFQ7aWYoVD1QUyhtKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixtKCk/LmpiKSl7VD1sKCk7dmFyIGJhPW4oKSxhYT1QUyhtKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixtKCk/LmpiKTtpZihhYSYmYWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC50aXRsZXx8YWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwuYm9keVRleHQpJiYKYmEmJmJhLmdldFBsYXllclN0YXRlT2JqZWN0JiZiYS5nZXRQbGF5ZXJTaXplJiYhXy5ESShramEsYWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwuZGlzbWlzc1N0YXRlRW50aXR5S2V5KSgpPy5pc0Rpc21pc3NlZCl7YWE9YmEuZ2V0UGxheWVyU3RhdGVPYmplY3QoKT8uaXNFcnJvcjtpZihhYT0hdVMoVCkmJiFhYSlhYT1iYS5nZXRQbGF5ZXJTaXplKCksYmE9YWEud2lkdGg8MzYwLGFhPWFhLmhlaWdodDwzMjAsYWE9ISgoVC5wbGF5ZXJTdGF0ZT09PS0xfHxULnBsYXllclN0YXRlPT09NSkmJmJhJiZhYSk7VD1hYX1lbHNlIFQ9ITF9cmV0dXJuIFR9LG1hPSgpPT57dmFyIFQ9bSgpPy5wbGF5ZXJSZXNwb25zZTtyZXR1cm4gXy5CKFQ/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyPy5tdXRlZEF1dG9wbGF5LG9WKX0sdGE9KCk9Pm0oKT8uSD8uaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheT8uKCk7cmV0dXJuIF8uSygieXRtLXdhdGNoLXBsYXllci1jb250cm9scyIsCntjbGFzczoieXRtV2F0Y2hQbGF5ZXJDb250cm9sc0hvc3QifSxfLksoXy5PLHtBOigpPT57dmFyIFQ9bCgpLGJhPW0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzO3JldHVybiBfLngoIm13ZWJfaGlkZV9jb250cm9sc19mb3JfdW5wbGF5YWJsZV92aWRlb19rcyIpfHwhYmF8fE1SKGJhKXx8VC5pc0Z1bGxzY3JlZW4/KHlTKFQpfHxULnBsYXllclN0YXRlPT09LTF8fFQucGxheWVyU3RhdGU9PT01fHxULnJjJiYhVC5iYT8uckE/ITE6dVMoVCk/ITA6VC5wbGF5ZXJTdGF0ZT09PTF8fFQucGxheWVyU3RhdGU9PT0zfHxULnBsYXllclN0YXRlPT09Mil8fFQucmMmJnVTKFQpfHwkUyhULGJhKTohMX0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOnosdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6bCx0aHVtYm5haWxEZXRhaWxzOnBhfSksXy5LKHVWLHtHOmwsSDpuLHBsYXlhYmlsaXR5U3RhdHVzOkV9KSl9KSxfLksoXy5PLHtBOmhhLHRoZW46KCk9PgpfLksodlcse2RhdGE6KCk9PlBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpLHByb3BzOmx9KX0pLF8uSyhfLk8se0E6dGEsdGhlbjooKT0+Xy5LKExWLHtHOmwscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjptYX0pfSksXy5LKF8uTyx7QTooKT0+IXRhKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoV1Yse0c6bH0pLF8uSyhfLk8se0E6KCk9Pl8ueCgibXdlYl9iZXR0ZXJfY2FwdGlvbnNfcGxhY2VtZW50IiksdGhlbjooKT0+Xy5LKCJkaXYiLHtpZDoiY2FwdGlvbnMtZ2Fsb3JlLWNvbnRhaW5lciJ9KX0pLF8uSygiZGl2Iix7aWQ6InBsYXllci1jb250cm9sLW92ZXJsYXkiLGNsYXNzOkgsIm9uOmNsaWNrIjpjLCJvbjpwb2ludGVybW92ZSI6Yiwib246dG91Y2hzdGFydCI6ZCwib246dG91Y2htb3ZlIjplLCJvbjp0b3VjaGVuZCI6Ziwib246dG91Y2hjYW5jZWwiOmh9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtY29udGVudCIsCnsicG9pbnRlci1ldmVudHMtb2ZmIjpEfSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZCIseyJmdWxsc2NyZWVuLXJlY3MtZXhwYW5kZWQiOigpPT5JUyhsKCkpfSksIm9uOnRvdWNoc3RhcnQiOmQsIm9uOnRvdWNobW92ZSI6ZSwib246dG91Y2hlbmQiOmYsIm9uOnRvdWNoY2FuY2VsIjpofSksXy5LKCJkaXYiLHtjbGFzczoieXRtV2F0Y2hQbGF5ZXJDb250cm9sc0JhY2tncm91bmRBY3Rpb25JdGVtcyIsIm9uOmNsaWNrIjprfSxfLksoXy5PLHtBOigpPT57dmFyIFQ7aWYoVD0hQSgpKVQ9bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGFpZENvbnRlbnRPdmVybGF5Py5wYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlcjtyZXR1cm4gVH0sdGhlbjooKT0+Xy5LKERXLHtkYXRhOigpPT5tKCk/LnBsYXllclJlc3BvbnNlPy5wYWlkQ29udGVudE92ZXJsYXk/LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfSl9KSwKXy5LKF8uTyx7QTpVLHRoZW46KCk9Pl8uSyhsVyx7ZW5kc2NyZWVuUmVuZGVyZXI6KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXIsRzpsfSl9KSkpLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOkcsdGhlbjooKT0+Xy5LKHJXLHtHOmx9KX0pLF8uSyhGVix7RzpsLHBsYXllck92ZXJsYXlSZW5kZXJlcjpNfSksXy5LKFZWLHtnZjpsLEliOiExfSkpfSksXy5LKCJkaXYiLHtzdHlsZTpZVSgoKT0+SlMobCgpLEFTKG0/LigpPy53YXRjaE5leHRSZXNwb25zZSkpKX0sXy5LKExXLHtHOmwscGxheWVyT3ZlcmxheVJlbmRlcmVyOk0sdGh1bWJuYWlsUHJldmlld1JlbmRlcmVyOlN9KSxfLksoXy5PLHtBOigpPT4hQSgpLHRoZW46KCk9Pl8uSyhHVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlJ9KX0pKSxfLksoXy5PLHtBOigpPT4hQSgpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLAp7c3R5bGU6WVUoKCk9Pnt2YXIgVD1sKCksYmE9QVMobT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlKTtyZXR1cm4gSFMoVCxiYSl8fFQuYmE/Lm5oPyExOlQuaXNMaXZlfHxKUyhUKX0pfSxfLksoRVcse0c6bCxTbTooKT0+Q1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikscGxheWVyT3ZlcmxheVJlbmRlcmVyOk19KSksXy5LKCJkaXYiLHtzdHlsZTpZVSgoKT0+e3ZhciBUPWwoKTtyZXR1cm4gVC5iYT8ubmg/ITE6IUlTKFQpfSl9LF8uSyhDVix7TGI6bCxoZjpZLGNvbmZpZzooKT0+KHtjbGFzc05hbWU6IndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIixwb3NpdGlvbjowLEluOkYoKSxSYTpFUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKSxLZjohMSxkaXNhYmxlU2NydWJiaW5nOkMoKSxvblRvdWNoTW92ZTooKT0+e3ZhciBUPWwoKSxiYT1FUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKTtiYSYmKFQ9bFQoVCxiYSksbVQoVCkpfSxZbzooKT0+e2JUKCl9LEZuOigpPT4Ke2NUKGwoKSx7SWM6ITB9KX0scHJvZ3Jlc3NDb2xvcjpfLngoImVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjIiKT9DUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKT8ucHJvZ3Jlc3NDb2xvcjp2b2lkIDAsaGY6UWxhKEdTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpKX0pfSkpLF8uSyhGVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlJ9KSl9KSxfLksoQ1cse0c6bCx3YXRjaE5leHRSZXNwb25zZTpSLHRodW1ibmFpbFByZXZpZXdSZW5kZXJlcjpTLGF1dG9jcm9wQ29uZmlnOm9hfSkpKSl9KSl9KSl9LCJYZSIpO01XLmlkb21Db21wYXQ9ITA7dmFyIGNWPV8uTChhPT57dmFyIGI9Xy5OKCgpPT5hLmRhdGEoKS5ILHZvaWQgMCwiRHVmbU0iKSxjPV8uTigoKT0+bmV3IHFXKCgpPT57fSx7dGE6YS5jb250ZXh0KCkudGEsVGM6YS5jb250ZXh0KCkuVGMsR2M6YS5jb250ZXh0KCkuR2MsYmE6YS5jb250ZXh0KCkuYmF9LHthdXRvbmF2RW5hYmxlZDphLmNvbnRleHQoKS50YS5kZSgpLGVhOlJsYShiKCkpfSxiKSx2b2lkIDAsImpQeDhkZSIpLGQ9W107Xy5uRSgoKT0+e2IoKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e1pVKGQpO3VXLmZvckVhY2goZT0+e2QucHVzaChlLnJlZ2lzdGVyKCgpPT5jKCkudWQoKSwoKT0+YS5kYXRhKCkpKX0pfSl9LCJIdVlNSmIiKTtfLll1KCgpPT57TVUoKCk9PmMoKS51ZCgpKTtiVCgpO2EuY29udGV4dCgpLnRhLmV4aXRGdWxsc2NyZWVuPy4oKTtaVShkKX0pO3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coJFQsYildfSxfLksoInl0bS1jdXN0b20tY29udHJvbCIse2NsYXNzOiJ5dG1DdXN0b21Db250cm9sSG9zdCJ9LApfLksoTVcse0c6KCk9PigwLGMoKS5CKSgpLGRhdGE6YS5kYXRhfSkpKX0sIlplIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uelo9ZnVuY3Rpb24oYSl7Xy5iWihhKTtfLmRWKGEpfTtfLnp5PV8uelo7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInI3OERyYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":13,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":10,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/app.min87b2.css?id=e23edcf0fae657aee0a4","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:30.730Z","timestamp":1785137070730,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/app.min87b2.css?id=e23edcf0fae657aee0a4 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 08:51:46 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256deca9e280\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:30 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":450432,"size_decoded":63177,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (34667)","md5":"686353b1be8f90c3de55907f0714ce81","sha1":"a3f810dda829f837c416d8bf8275a78870a37d68","sha256":"e0acb74d17bb202666ca8cf3149d961979b02f892493c13aabf71d560684820b","sha512":"458b543fe4652ce85b0233461722cd255ec2db7963cee5a4f07f80755968d605ff4c005f646656d287343160ba4d80f2ddfdd4812dedf1581a33e69e1cdb1f55","ssdeep":"6144:bN8CDfobLn3SYiYENM6HN26hRLvWomL/gjFa9Ny+:fduajE9Ny+","tlshash":"15a4b763b666201df52bc13a79d0aeac222f9501eb534faff117b774c6862d61433e24","first_seen":"2026-07-27T05:02:02.458397Z","last_seen":"2026-07-27T07:25:28.879665Z","times_seen":3,"resource_available":false,"data":"LnRhaWwtc2VsZWN0LC50YWlsLXNlbGVjdCAqLC50YWlsLXNlbGVjdCA6YWZ0ZXIsLnRhaWwtc2VsZWN0IDpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94fS50YWlsLXNlbGVjdCwudGFpbC1zZWxlY3QgKntvdXRsaW5lOm5vbmU7dXNlci1zZWxlY3Q6bm9uZTstby11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9LnRhaWwtc2VsZWN0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFNlZ29lIFVJLFJvYm90byxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNTttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Mjc1cHh9LnRhaWwtc2VsZWN0IG1hcmt7YmFja2dyb3VuZC1jb2xvcjojMDhjO2NvbG9yOiNmZmZ9LnRhaWwtc2VsZWN0IGJ1dHRvbntvdXRsaW5lOm5vbmV9LnRhaWwtc2VsZWN0IGJ1dHRvbi50YWlsLWFsbCwudGFpbC1zZWxlY3QgYnV0dG9uLnRhaWwtbm9uZXtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTBweDtoZWlnaHQ6YXV0bztsZXR0ZXItc3BhY2luZzowO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luOjAgMnB4O3BhZGRpbmc6MnB4IDZweDt0ZXh0LXNoYWRvdzpub25lO3RleHQtdHJhbnNmb3JtOm5vbmU7dHJhbnNpdGlvbjpjb2xvciAxNDJtcyBsaW5lYXIsYm9yZGVyIDE0Mm1zIGxpbmVhcixiYWNrZ3JvdW5kIDE0Mm1zIGxpbmVhcjstd2Via2l0LXRyYW5zaXRpb246Y29sb3IgMTQybXMgbGluZWFyLGJvcmRlciAxNDJtcyBsaW5lYXIsYmFja2dyb3VuZCAxNDJtcyBsaW5lYXI7dmVydGljYWwtYWxpZ246dG9wfS50YWlsLXNlbGVjdCBidXR0b24udGFpbC1hbGx7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6I2NjYztjb2xvcjojYWFhfS50YWlsLXNlbGVjdCBidXR0b24udGFpbC1hbGw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6IzYyYzQ2Mjtjb2xvcjojNjJjNDYyfS50YWlsLXNlbGVjdCBidXR0b24udGFpbC1ub25le2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOiNjY2M7Y29sb3I6I2FhYX0udGFpbC1zZWxlY3QgYnV0dG9uLnRhaWwtbm9uZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjojZWU1ZjViO2NvbG9yOiNlZTVmNWJ9LnRhaWwtc2VsZWN0LmRpc2FibGVkIGJ1dHRvbi50YWlsLWFsbCwudGFpbC1zZWxlY3QuZGlzYWJsZWQgYnV0dG9uLnRhaWwtbm9uZXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjA7Ym9yZGVyLWNvbG9yOiNjY2M7Y29sb3I6I2NjY30udGFpbC1zZWxlY3QgaW5wdXRbdHlwZT10ZXh0XXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOi4ycmVtO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2NvbG9yOiMzNDNhNDA7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOi44NzVyZW07aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MS41O21hcmdpbjowO3BhZGRpbmc6LjI1cmVtIC41cmVtO3RyYW5zaXRpb246Ym9yZGVyIDE0Mm1zIGxpbmVhcixib3gtc2hhZG93IDE0Mm1zIGxpbmVhcjstd2Via2l0LXRyYW5zaXRpb246Ym9yZGVyIDE0Mm1zIGxpbmVhcixib3gtc2hhZG93IDE0Mm1zIGxpbmVhcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTAwJX0udGFpbC1zZWxlY3QgaW5wdXRbdHlwZT10ZXh0XTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjojYjNiM2IzO2NvbG9yOiMzNDNhNDB9LnRhaWwtc2VsZWN0IGlucHV0W3R5cGU9dGV4dF06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6IzA4Yztjb2xvcjojMDhjfS50YWlsLXNlbGVjdC5kaXNhYmxlZCBpbnB1dFt0eXBlPXRleHRde2JhY2tncm91bmQtY29sb3I6I2U2ZTZlNjtib3JkZXItY29sb3I6I2NjYztjb2xvcjojZTZlNmU2fS50YWlsLXNlbGVjdC1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czozcHg7bWFyZ2luOjA7cGFkZGluZzozcHg7dGV4dC1hbGlnbjpsZWZ0fS50YWlsLXNlbGVjdC1jb250YWluZXIgLnNlbGVjdC1oYW5kbGV7YmFja2dyb3VuZC1jb2xvcjojMDhjO2JvcmRlcjowIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6M3B4O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjExLjg0NHB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxNnB4O21hcmdpbjoxcHg7cGFkZGluZzouMmVtIC42ZW0gLjNlbTtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO3RyYW5zaXRpb246YmFja2dyb3VuZCAxNDJtcyBsaW5lYXI7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQgMTQybXMgbGluZWFyO3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDphdXRvfS50YWlsLXNlbGVjdC1jb250YWluZXIgLnNlbGVjdC1oYW5kbGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDA1NTgwO2NvbG9yOiNmZmZ9LnRhaWwtc2VsZWN0LWNvbnRhaW5lci5zZWxlY3QtbGFiZWwgLnNlbGVjdC1oYW5kbGV7bWFyZ2luOjVweCAzcHh9LnRhaWwtc2VsZWN0IC5zZWxlY3QtbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nJTIzMzQzQTQwJyBkPSdNMiAwIDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgcmlnaHQgLjc1cmVtO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6OHB4IDEwcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6M3B4O2NvbG9yOiMzNDNhNDA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jazttYXJnaW46MDtwYWRkaW5nOjAgMzBweCAwIDA7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3RyYW5zaXRpb246Ym9yZGVyIDE0Mm1zIGxpbmVhcixiYWNrZ3JvdW5kIDE0Mm1zIGxpbmVhcixib3gtc2hhZG93IDE0Mm1zIGxpbmVhcjstd2Via2l0LXRyYW5zaXRpb246Ym9yZGVyIDE0Mm1zIGxpbmVhcixiYWNrZ3JvdW5kIDE0Mm1zIGxpbmVhcixib3gtc2hhZG93IDE0Mm1zIGxpbmVhcjt3aWR0aDoxMDAlfS50YWlsLXNlbGVjdCAuc2VsZWN0LWxhYmVsOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2VjZWNlYztib3JkZXItY29sb3I6I2I5YjliOTtjb2xvcjojMzQzYTQwfS50YWlsLXNlbGVjdCAuc2VsZWN0LWxhYmVsIC5sYWJlbC1jb3VudCwudGFpbC1zZWxlY3QgLnNlbGVjdC1sYWJlbCAubGFiZWwtaW5uZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDphdXRvfS50YWlsLXNlbGVjdCAuc2VsZWN0LWxhYmVsIC5sYWJlbC1jb3VudHtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDA7Ym9yZGVyLXJhZGl1czouMjVyZW07Y29sb3I6I2ZmZjtkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpsZWZ0O2ZvbnQtc2l6ZTo3NSU7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjEwcHggLTNweCAwIDlweDtwYWRkaW5nOi4yNWVtIC40ZW07dGV4dC1zaGFkb3c6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXB9LnRhaWwtc2VsZWN0IC5zZWxlY3QtbGFiZWwgLmxhYmVsLWlubmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6LjM3NXJlbSAuNzVyZW07dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnRhaWwtc2VsZWN0LmFjdGl2ZSAuc2VsZWN0LWxhYmVse2JhY2tncm91bmQtY29sb3I6I2VjZWNlYztib3JkZXItY29sb3I6IzA4Yztib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMzYsMjA0LC4zNSk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMzYsMjA0LC4zNSk7Y29sb3I6IzM0M2E0MH0udGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93bntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSk7Ym9yZGVyLXJhZGl1czouMjVyZW07Ym94LXNoYWRvdzowIDZweCAxMnB4IHJnYmEoMCwwLDAsLjE3NSk7LXdlYmtpdC1ib3gtc2hhZG93OjAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KTtjb2xvcjojMzQzYTQwO2Rpc3BsYXk6bm9uZTtsZWZ0OjA7bWFyZ2luOi4xMjVyZW0gMCAwO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTt3aWR0aDoxMDAlO3otaW5kZXg6Mjd9LnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gLmRyb3Bkb3duLXNlYXJjaHtib3JkZXI6c29saWQgI2U2ZTZlNjtib3JkZXItd2lkdGg6MCAwIDFweDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO3BhZGRpbmc6MTBweDt3aWR0aDoxMDAlfS50YWlsLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIC5kcm9wZG93bi1pbm5lcntkaXNwbGF5OmJsb2NrO21hcmdpbjowO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bztwYWRkaW5nOjFweCAwO3dpZHRoOjEwMCV9LnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gLmRyb3Bkb3duLWVtcHR5e2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMjttYXJnaW46MDtwYWRkaW5nOjEuMjVyZW0gMS43NXJlbTt0ZXh0LWFsaWduOmNlbnRlcn0udGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biAuZHJvcGRvd24tYWN0aW9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowO3BhZGRpbmc6N3B4IDA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTVweDt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6OHB4O3dpZHRoOmF1dG87ei1pbmRleDozNX0udGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biB1bCwudGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biB1bCBsaXtkaXNwbGF5OmJsb2NrO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjEwMCV9LnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGl7Y29sb3I6IzM0M2E0MDtmb250LXdlaWdodDo0MDA7cGFkZGluZzouMjVyZW0gMS43NXJlbTt0ZXh0LWFsaWduOmxlZnR9LnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGk6Zmlyc3Qtb2YtdHlwZXttYXJnaW4tdG9wOi41cmVtfS50YWlsLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIHVsIGxpOmxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOi41cmVtfS50YWlsLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIHVsIGxpLm9wdGdyb3VwLXRpdGxle2NvbG9yOnJnYmEoNTIsNTgsNjQsLjcpO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzoxcHg7bGluZS1oZWlnaHQ6MjBweDttYXJnaW46MDtwYWRkaW5nOi41cmVtIDEuNXJlbTt0ZXh0LXNoYWRvdzpub25lO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biB1bCBsaS5vcHRncm91cC10aXRsZSBie2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzowO2xpbmUtaGVpZ2h0OjEuMjt0ZXh0LXNoYWRvdzpub25lO3RleHQtdHJhbnNmb3JtOm5vbmV9LnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGkub3B0Z3JvdXAtdGl0bGUgYnV0dG9ue2Zsb2F0OnJpZ2h0O29wYWNpdHk6MH0udGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biB1bDpob3ZlciBsaSBidXR0b257b3BhY2l0eToxfS50YWlsLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIHVsIGxpLmRyb3Bkb3duLW9wdGlvbntjb2xvcjojMzQzYTQwO2N1cnNvcjpwb2ludGVyfS50YWlsLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIHVsIGxpLmRyb3Bkb3duLW9wdGlvbjpiZWZvcmV7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjMzcHg7bGVmdDowO21hcmdpbjowO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MzBweDt6LWluZGV4OjIxfS50YWlsLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIHVsIGxpLmRyb3Bkb3duLW9wdGlvbiAub3B0aW9uLWRlc2NyaXB0aW9ue2NvbG9yOnJnYmEoNTIsNTgsNjQsLjcpO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW46MDtwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDphdXRvfS50YWlsLXNlbGVjdC5oaWRlLWRpc2FibGVkIC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZGlzYWJsZWQsLnRhaWwtc2VsZWN0LmhpZGUtc2VsZWN0ZWQgLnNlbGVjdC1kcm9wZG93biB1bCBsaS5zZWxlY3RlZHtkaXNwbGF5Om5vbmV9LnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uLnNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6IzA4Y30udGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biB1bCBsaS5kcm9wZG93bi1vcHRpb24uc2VsZWN0ZWQ6YmVmb3Jle2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXhNaUlnYUdWcFoyaDBQU0l4TmlJK1BIQmhkR2dnWkQwaWJURXlJRFV0T0NBNExUUXROQ0F4TGpVdE1TNDFURFFnTVRCc05pNDFMVFl1TlV3eE1pQTFlaUl2UGp3dmMzWm5QZz09Iil9LnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uLnNlbGVjdGVkIC5vcHRpb24tZGVzY3JpcHRpb257Y29sb3I6cmdiYSg1Miw1OCw2NCwuNyl9LnRhaWwtc2VsZWN0LmRlc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uLnNlbGVjdGVkLmhvdmVyOmJlZm9yZSwudGFpbC1zZWxlY3QuZGVzZWxlY3QgLnNlbGVjdC1kcm9wZG93biB1bCBsaS5kcm9wZG93bi1vcHRpb24uc2VsZWN0ZWQ6aG92ZXI6YmVmb3JlLC50YWlsLXNlbGVjdC5tdWx0aXBsZSAuc2VsZWN0LWRyb3Bkb3duIHVsIGxpLmRyb3Bkb3duLW9wdGlvbi5zZWxlY3RlZC5ob3ZlcjpiZWZvcmUsLnRhaWwtc2VsZWN0Lm11bHRpcGxlIC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uLnNlbGVjdGVkOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l4TWlJZ2FHVnBaMmgwUFNJeE5pSStQSEJoZEdnZ1pEMGliVGN1TkRnZ09DQXpMamMxSURNdU56VXRNUzQwT0NBeExqUTRURFlnT1M0ME9Hd3RNeTQzTlNBekxqYzFMVEV1TkRndE1TNDBPRXcwTGpVeUlEZ2dMamMzSURRdU1qVnNNUzQwT0MweExqUTRURFlnTmk0MU1td3pMamMxTFRNdU56VWdNUzQwT0NBeExqUTRURGN1TkRnZ09Ib2lMejQ4TDNOMlp6ND0iKX0udGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biB1bCBsaS5kcm9wZG93bi1vcHRpb257dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW59LnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uLmhvdmVyLC50YWlsLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIHVsIGxpLmRyb3Bkb3duLW9wdGlvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzM0M2E0MDt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZX0udGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biB1bCBsaS5kcm9wZG93bi1vcHRpb24uaG92ZXIgLm9wdGlvbi1kZXNjcmlwdGlvbiwudGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biB1bCBsaS5kcm9wZG93bi1vcHRpb246aG92ZXIgLm9wdGlvbi1kZXNjcmlwdGlvbntjb2xvcjpyZ2JhKDUyLDU4LDY0LC43KX0udGFpbC1zZWxlY3QuZGlzYWJsZWQgLnNlbGVjdC1kcm9wZG93biB1bCBsaS5kcm9wZG93bi1vcHRpb24sLnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uLmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6cmdiYSg1Miw1OCw2NCwuMDIpO2NvbG9yOnJnYmEoNTIsNTgsNjQsLjM1KTtjdXJzb3I6bm90LWFsbG93ZWQ7dGV4dC1zaGFkb3c6MCAxcHggMCByZ2JhKDEyMiwxMzUsMTQ3LC4xKSwwIC0xcHggMCByZ2JhKDAsMCwwLC4xKX0udGFpbC1zZWxlY3QuZGlzYWJsZWQgLnNlbGVjdC1kcm9wZG93biB1bCBsaS5kcm9wZG93bi1vcHRpb24gLm9wdGlvbi1kZXNjcmlwdGlvbiwudGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biB1bCBsaS5kcm9wZG93bi1vcHRpb24uZGlzYWJsZWQgLm9wdGlvbi1kZXNjcmlwdGlvbnt0ZXh0LXNoYWRvdzowIDFweCAwIHJnYmEoNjMsNzEsNzgsLjA1KSwwIC0xcHggMCByZ2JhKDQxLDQ1LDUwLC4wNSl9LnRhaWwtc2VsZWN0LmRpc2FibGVkIC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uLmhvdmVyIC5vcHRpb24tZGVzY3JpcHRpb24sLnRhaWwtc2VsZWN0LmRpc2FibGVkIC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uIC5vcHRpb24tZGVzY3JpcHRpb24sLnRhaWwtc2VsZWN0LmRpc2FibGVkIC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uOmhvdmVyIC5vcHRpb24tZGVzY3JpcHRpb24sLnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uLmRpc2FibGVkLmhvdmVyIC5vcHRpb24tZGVzY3JpcHRpb24sLnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uLmRpc2FibGVkIC5vcHRpb24tZGVzY3JpcHRpb24sLnRhaWwtc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gdWwgbGkuZHJvcGRvd24tb3B0aW9uLmRpc2FibGVkOmhvdmVyIC5vcHRpb24tZGVzY3JpcHRpb257Y29sb3I6cmdiYSg1Miw1OCw2NCwuNyl9Ci5qYXJhbGxheHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9LmphcmFsbGF4Pi5qYXJhbGxheC1pbWd7Zm9udC1mYW1pbHk6Im9iamVjdC1maXQ6IGNvdmVyOyI7aGVpZ2h0OjEwMCU7bGVmdDowOy1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6LTF9CkBjaGFyc2V0ICJVVEYtOCI7QGtleWZyYW1lcyBwbHlyLXByb2dyZXNze3Rve2JhY2tncm91bmQtcG9zaXRpb246MjVweCAwO2JhY2tncm91bmQtcG9zaXRpb246dmFyKC0tcGx5ci1wcm9ncmVzcy1sb2FkaW5nLXNpemUsMjVweCkgMH19QGtleWZyYW1lcyBwbHlyLXBvcHVwezAle29wYWNpdHk6LjU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIHBseXItZmFkZS1pbnswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX0ucGx5cnstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDthbGlnbi1pdGVtczpjZW50ZXI7ZGlyZWN0aW9uOmx0cjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1mYW1pbHk6dmFyKC0tcGx5ci1mb250LWZhbWlseSxpbmhlcml0KTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtd2VpZ2h0OnZhcigtLXBseXItZm9udC13ZWlnaHQtcmVndWxhciw0MDApO2xpbmUtaGVpZ2h0OjEuNztsaW5lLWhlaWdodDp2YXIoLS1wbHlyLWxpbmUtaGVpZ2h0LDEuNyk7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjIwMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtc2hhZG93Om5vbmU7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO3otaW5kZXg6MH0ucGx5ciBhdWRpbywucGx5ciBpZnJhbWUsLnBseXIgdmlkZW97ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5wbHlyIGJ1dHRvbntmb250OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDt3aWR0aDphdXRvfS5wbHlyOmZvY3Vze291dGxpbmU6MH0ucGx5ci0tZnVsbC11aXtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnBseXItLWZ1bGwtdWkgKiwucGx5ci0tZnVsbC11aSA6YWZ0ZXIsLnBseXItLWZ1bGwtdWkgOmJlZm9yZXtib3gtc2l6aW5nOmluaGVyaXR9LnBseXItLWZ1bGwtdWkgYSwucGx5ci0tZnVsbC11aSBidXR0b24sLnBseXItLWZ1bGwtdWkgaW5wdXQsLnBseXItLWZ1bGwtdWkgbGFiZWx7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbn0ucGx5cl9fYmFkZ2V7YmFja2dyb3VuZDojNGE1NDY0O2JhY2tncm91bmQ6dmFyKC0tcGx5ci1iYWRnZS1iYWNrZ3JvdW5kLCM0YTU0NjQpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcGx5ci1iYWRnZS1ib3JkZXItcmFkaXVzLDJweCk7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1wbHlyLWJhZGdlLXRleHQtY29sb3IsI2ZmZik7Zm9udC1zaXplOjlweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUtYmFkZ2UsOXB4KTtsaW5lLWhlaWdodDoxO3BhZGRpbmc6M3B4IDRweH0ucGx5ci0tZnVsbC11aSA6Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1jb250YWluZXJ7ZGlzcGxheTpub25lfS5wbHlyX19jYXB0aW9uc3thbmltYXRpb246cGx5ci1mYWRlLWluIC4zcyBlYXNlO2JvdHRvbTowO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MTNweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUtc21hbGwsMTNweCk7bGVmdDowO3BhZGRpbmc6MTBweDtwYWRkaW5nOnZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLDEwcHgpO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246dHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDt3aWR0aDoxMDAlfS5wbHlyX19jYXB0aW9ucyBzcGFuOmVtcHR5e2Rpc3BsYXk6bm9uZX1AbWVkaWEgKG1pbi13aWR0aDo0ODBweCl7LnBseXJfX2NhcHRpb25ze2ZvbnQtc2l6ZToxNXB4O2ZvbnQtc2l6ZTp2YXIoLS1wbHlyLWZvbnQtc2l6ZS1iYXNlLDE1cHgpO3BhZGRpbmc6MjBweDtwYWRkaW5nOmNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKjIpfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LnBseXJfX2NhcHRpb25ze2ZvbnQtc2l6ZToxOHB4O2ZvbnQtc2l6ZTp2YXIoLS1wbHlyLWZvbnQtc2l6ZS1sYXJnZSwxOHB4KX19LnBseXItLWNhcHRpb25zLWFjdGl2ZSAucGx5cl9fY2FwdGlvbnN7ZGlzcGxheTpibG9ja30ucGx5cjpub3QoLnBseXItLWhpZGUtY29udHJvbHMpIC5wbHlyX19jb250cm9sczpub3QoOmVtcHR5KX4ucGx5cl9fY2FwdGlvbnN7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi00KSl9LnBseXJfX2NhcHRpb257YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KTtiYWNrZ3JvdW5kOnZhcigtLXBseXItY2FwdGlvbnMtYmFja2dyb3VuZCxyZ2JhKDAsMCwwLC44KSk7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazpjbG9uZTtib3gtZGVjb3JhdGlvbi1icmVhazpjbG9uZTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLXBseXItY2FwdGlvbnMtdGV4dC1jb2xvciwjZmZmKTtsaW5lLWhlaWdodDoxODUlO3BhZGRpbmc6LjJlbSAuNWVtO3doaXRlLXNwYWNlOnByZS13cmFwfS5wbHlyX19jYXB0aW9uIGRpdntkaXNwbGF5OmlubGluZX0ucGx5cl9fY29udHJvbHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1yYWRpdXM6dmFyKC0tcGx5ci1jb250cm9sLXJhZGl1cywzcHgpO2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7ZmxleC1zaHJpbms6MDtvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmc6N3B4O3BhZGRpbmc6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcpO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlfS5wbHlyX19jb250cm9sIHN2Z3tmaWxsOmN1cnJlbnRDb2xvcjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O2hlaWdodDp2YXIoLS1wbHlyLWNvbnRyb2wtaWNvbi1zaXplLDE4cHgpO3BvaW50ZXItZXZlbnRzOm5vbmU7d2lkdGg6MThweDt3aWR0aDp2YXIoLS1wbHlyLWNvbnRyb2wtaWNvbi1zaXplLDE4cHgpfS5wbHlyX19jb250cm9sOmZvY3Vze291dGxpbmU6MH0ucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXN7b3V0bGluZS1jb2xvcjojMDBiM2ZmO291dGxpbmUtY29sb3I6dmFyKC0tcGx5ci10YWItZm9jdXMtY29sb3IsdmFyKC0tcGx5ci1jb2xvci1tYWluLHZhcigtLXBseXItY29sb3ItbWFpbiwjMDBiM2ZmKSkpO291dGxpbmUtb2Zmc2V0OjJweDtvdXRsaW5lLXN0eWxlOmRvdHRlZDtvdXRsaW5lLXdpZHRoOjNweH1hLnBseXJfX2NvbnRyb2x7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnBseXJfX2NvbnRyb2wucGx5cl9fY29udHJvbC0tcHJlc3NlZCAuaWNvbi0tbm90LXByZXNzZWQsLnBseXJfX2NvbnRyb2wucGx5cl9fY29udHJvbC0tcHJlc3NlZCAubGFiZWwtLW5vdC1wcmVzc2VkLC5wbHlyX19jb250cm9sOm5vdCgucGx5cl9fY29udHJvbC0tcHJlc3NlZCkgLmljb24tLXByZXNzZWQsLnBseXJfX2NvbnRyb2w6bm90KC5wbHlyX19jb250cm9sLS1wcmVzc2VkKSAubGFiZWwtLXByZXNzZWQsYS5wbHlyX19jb250cm9sOmFmdGVyLGEucGx5cl9fY29udHJvbDpiZWZvcmV7ZGlzcGxheTpub25lfS5wbHlyLS1mdWxsLXVpIDo6LXdlYmtpdC1tZWRpYS1jb250cm9sc3tkaXNwbGF5Om5vbmV9LnBseXJfX2NvbnRyb2xze2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3RleHQtYWxpZ246Y2VudGVyfS5wbHlyX19jb250cm9scyAucGx5cl9fcHJvZ3Jlc3NfX2NvbnRhaW5lcntmbGV4OjE7bWluLXdpZHRoOjB9LnBseXJfX2NvbnRyb2xzIC5wbHlyX19jb250cm9sc19faXRlbXttYXJnaW4tbGVmdDoyLjVweDttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KS80KX0ucGx5cl9fY29udHJvbHMgLnBseXJfX2NvbnRyb2xzX19pdGVtOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OmF1dG99LnBseXJfX2NvbnRyb2xzIC5wbHlyX19jb250cm9sc19faXRlbS5wbHlyX19wcm9ncmVzc19fY29udGFpbmVye3BhZGRpbmctbGVmdDoyLjVweDtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkvNCl9LnBseXJfX2NvbnRyb2xzIC5wbHlyX19jb250cm9sc19faXRlbS5wbHlyX190aW1le3BhZGRpbmc6MCA1cHg7cGFkZGluZzowIGNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpLzIpfS5wbHlyX19jb250cm9scyAucGx5cl9fY29udHJvbHNfX2l0ZW0ucGx5cl9fcHJvZ3Jlc3NfX2NvbnRhaW5lcjpmaXJzdC1jaGlsZCwucGx5cl9fY29udHJvbHMgLnBseXJfX2NvbnRyb2xzX19pdGVtLnBseXJfX3RpbWUrLnBseXJfX3RpbWUsLnBseXJfX2NvbnRyb2xzIC5wbHlyX19jb250cm9sc19faXRlbS5wbHlyX190aW1lOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDowfS5wbHlyIFtkYXRhLXBseXI9YWlycGxheV0sLnBseXIgW2RhdGEtcGx5cj1jYXB0aW9uc10sLnBseXIgW2RhdGEtcGx5cj1mdWxsc2NyZWVuXSwucGx5ciBbZGF0YS1wbHlyPXBpcF0sLnBseXJfX2NvbnRyb2xzOmVtcHR5e2Rpc3BsYXk6bm9uZX0ucGx5ci0tYWlycGxheS1zdXBwb3J0ZWQgW2RhdGEtcGx5cj1haXJwbGF5XSwucGx5ci0tY2FwdGlvbnMtZW5hYmxlZCBbZGF0YS1wbHlyPWNhcHRpb25zXSwucGx5ci0tZnVsbHNjcmVlbi1lbmFibGVkIFtkYXRhLXBseXI9ZnVsbHNjcmVlbl0sLnBseXItLXBpcC1zdXBwb3J0ZWQgW2RhdGEtcGx5cj1waXBde2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5wbHlyX19tZW51e2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZX0ucGx5cl9fbWVudSAucGx5cl9fY29udHJvbCBzdmd7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2V9LnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXSBzdmd7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXSAucGx5cl9fdG9vbHRpcHtkaXNwbGF5Om5vbmV9LnBseXJfX21lbnVfX2NvbnRhaW5lcnthbmltYXRpb246cGx5ci1wb3B1cCAuMnMgZWFzZTtiYWNrZ3JvdW5kOmhzbGEoMCwwJSwxMDAlLC45KTtiYWNrZ3JvdW5kOnZhcigtLXBseXItbWVudS1iYWNrZ3JvdW5kLGhzbGEoMCwwJSwxMDAlLC45KSk7Ym9yZGVyLXJhZGl1czo0cHg7Ym90dG9tOjEwMCU7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMTUpO2JveC1zaGFkb3c6dmFyKC0tcGx5ci1tZW51LXNoYWRvdywwIDFweCAycHggcmdiYSgwLDAsMCwuMTUpKTtjb2xvcjojNGE1NDY0O2NvbG9yOnZhcigtLXBseXItbWVudS1jb2xvciwjNGE1NDY0KTtmb250LXNpemU6MTVweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUtYmFzZSwxNXB4KTttYXJnaW4tYm90dG9tOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LTNweDt0ZXh0LWFsaWduOmxlZnQ7d2hpdGUtc3BhY2U6bm93cmFwO3otaW5kZXg6M30ucGx5cl9fbWVudV9fY29udGFpbmVyPmRpdntvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpoZWlnaHQgLjM1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx3aWR0aCAuMzVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS5wbHlyX19tZW51X19jb250YWluZXI6YWZ0ZXJ7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6dmFyKC0tcGx5ci1tZW51LWFycm93LXNpemUsNHB4KTtib3JkZXItdG9wOnZhcigtLXBseXItbWVudS1hcnJvdy1zaXplLDRweCkgc29saWQgaHNsYSgwLDAlLDEwMCUsLjkpO2NvbnRlbnQ6IiI7aGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDtyaWdodDpjYWxjKHZhcigtLXBseXItY29udHJvbC1pY29uLXNpemUsIDE4cHgpLzIgKyB2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcgLSB2YXIoLS1wbHlyLW1lbnUtYXJyb3ctc2l6ZSwgNHB4KS8yKTt0b3A6MTAwJTt3aWR0aDowfS5wbHlyX19tZW51X19jb250YWluZXIgW3JvbGU9bWVudV17cGFkZGluZzo3cHg7cGFkZGluZzpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSouNyl9LnBseXJfX21lbnVfX2NvbnRhaW5lciBbcm9sZT1tZW51aXRlbV0sLnBseXJfX21lbnVfX2NvbnRhaW5lciBbcm9sZT1tZW51aXRlbXJhZGlvXXttYXJnaW4tdG9wOjJweH0ucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtXTpmaXJzdC1jaGlsZCwucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtcmFkaW9dOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9se2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojNGE1NDY0O2NvbG9yOnZhcigtLXBseXItbWVudS1jb2xvciwjNGE1NDY0KTtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjEzcHg7Zm9udC1zaXplOnZhcigtLXBseXItZm9udC1zaXplLW1lbnUsdmFyKC0tcGx5ci1mb250LXNpemUtc21hbGwsMTNweCkpO3BhZGRpbmc6NC42NjY2N3B4IDEwLjVweDtwYWRkaW5nOmNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43LzEuNSkgY2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcqMS41KTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt3aWR0aDoxMDAlfS5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2w+c3BhbnthbGlnbi1pdGVtczppbmhlcml0O2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlfS5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2w6YWZ0ZXJ7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXI6dmFyKC0tcGx5ci1tZW51LWl0ZW0tYXJyb3ctc2l6ZSw0cHgpIHNvbGlkIHRyYW5zcGFyZW50O2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJke3BhZGRpbmctcmlnaHQ6MjhweDtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43KjQpfS5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWZvcndhcmQ6YWZ0ZXJ7Ym9yZGVyLWxlZnQtY29sb3I6IzcyODE5Nztib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1wbHlyLW1lbnUtYXJyb3ctY29sb3IsIzcyODE5Nyk7cmlnaHQ6Ni41cHg7cmlnaHQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcqMS41IC0gdmFyKC0tcGx5ci1tZW51LWl0ZW0tYXJyb3ctc2l6ZSwgNHB4KSl9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZC5wbHlyX190YWItZm9jdXM6YWZ0ZXIsLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZDpob3ZlcjphZnRlcntib3JkZXItbGVmdC1jb2xvcjpjdXJyZW50Q29sb3J9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFja3tmb250LXdlaWdodDo0MDA7Zm9udC13ZWlnaHQ6dmFyKC0tcGx5ci1mb250LXdlaWdodC1yZWd1bGFyLDQwMCk7bWFyZ2luOjdweDttYXJnaW46Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcpO21hcmdpbi1ib3R0b206My41cHg7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSouNy8yKTtwYWRkaW5nLWxlZnQ6MjhweDtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcqNCk7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Y2FsYygxMDAlIC0gMTRweCk7d2lkdGg6Y2FsYygxMDAlIC0gdmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43KjIpfS5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2s6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LWNvbG9yOiM3MjgxOTc7Ym9yZGVyLXJpZ2h0LWNvbG9yOnZhcigtLXBseXItbWVudS1hcnJvdy1jb2xvciwjNzI4MTk3KTtsZWZ0OjYuNXB4O2xlZnQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcqMS41IC0gdmFyKC0tcGx5ci1tZW51LWl0ZW0tYXJyb3ctc2l6ZSwgNHB4KSl9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjazpiZWZvcmV7YmFja2dyb3VuZDojZGNkZmU1O2JhY2tncm91bmQ6dmFyKC0tcGx5ci1tZW51LWJhY2stYm9yZGVyLWNvbG9yLCNkY2RmZTUpO2JveC1zaGFkb3c6MCAxcHggMCAjZmZmO2JveC1zaGFkb3c6MCAxcHggMCB2YXIoLS1wbHlyLW1lbnUtYmFjay1ib3JkZXItc2hhZG93LWNvbG9yLCNmZmYpO2NvbnRlbnQ6IiI7aGVpZ2h0OjFweDtsZWZ0OjA7bWFyZ2luLXRvcDozLjVweDttYXJnaW4tdG9wOmNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43LzIpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDoxMDAlfS5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2sucGx5cl9fdGFiLWZvY3VzOmFmdGVyLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2s6aG92ZXI6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LWNvbG9yOmN1cnJlbnRDb2xvcn0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb117cGFkZGluZy1sZWZ0OjdweDtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcpfS5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTphZnRlciwucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106YmVmb3Jle2JvcmRlci1yYWRpdXM6MTAwJX0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjE2cHg7bWFyZ2luLXJpZ2h0OjEwcHg7bWFyZ2luLXJpZ2h0OnZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLDEwcHgpO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlO3dpZHRoOjE2cHh9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOmFmdGVye2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MDtoZWlnaHQ6NnB4O2xlZnQ6MTJweDtvcGFjaXR5OjA7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZSxvcGFjaXR5IC4zcyBlYXNlO3dpZHRoOjZweH0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdOmJlZm9yZXtiYWNrZ3JvdW5kOiMwMGIzZmY7YmFja2dyb3VuZDp2YXIoLS1wbHlyLWNvbnRyb2wtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZCx2YXIoLS1wbHlyLWNvbG9yLW1haW4sdmFyKC0tcGx5ci1jb2xvci1tYWluLCMwMGIzZmYpKSl9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSl9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dLnBseXJfX3RhYi1mb2N1czpiZWZvcmUsLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMzUsNDAsNDcsLjEpfS5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX21lbnVfX3ZhbHVle2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6Y2FsYygtN3B4ICsgMik7bWFyZ2luLXJpZ2h0OmNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43Ki0xICsgMik7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctbGVmdDoyNC41cHg7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43KjMuNSk7cG9pbnRlci1ldmVudHM6bm9uZX0ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXXstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MjZweDtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQsIDEzcHgpKjIpO2NvbG9yOiMwMGIzZmY7Y29sb3I6dmFyKC0tcGx5ci1yYW5nZS1maWxsLWJhY2tncm91bmQsdmFyKC0tcGx5ci1jb2xvci1tYWluLHZhcigtLXBseXItY29sb3ItbWFpbiwjMDBiM2ZmKSkpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE5cHg7aGVpZ2h0OmNhbGModmFyKC0tcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtc2hhZG93LXdpZHRoLCAzcHgpKjIgKyB2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWhlaWdodCwgMTNweCkpO21hcmdpbjowO21pbi13aWR0aDowO3BhZGRpbmc6MDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7d2lkdGg6MTAwJX0ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg5MGRlZyxjdXJyZW50Q29sb3IsdHJhbnNwYXJlbnQgMCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsY3VycmVudENvbG9yIHZhcigtLXZhbHVlLDApLHRyYW5zcGFyZW50IHZhcigtLXZhbHVlLDApKTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjIuNXB4O2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCwgNXB4KS8yKTtoZWlnaHQ6NXB4O2hlaWdodDp2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCw1cHgpOy13ZWJraXQtdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO3RyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kLCNmZmYpO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MTAwJTtib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDM1LDQwLDQ3LC4xNSksMCAwIDAgMXB4IHJnYmEoMzUsNDAsNDcsLjIpO2JveC1zaGFkb3c6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1zaGFkb3csMCAxcHggMXB4IHJnYmEoMzUsNDAsNDcsLjE1KSwwIDAgMCAxcHggcmdiYSgzNSw0MCw0NywuMikpO2hlaWdodDoxM3B4O2hlaWdodDp2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWhlaWdodCwxM3B4KTttYXJnaW4tdG9wOi00cHg7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LCAxM3B4KS8yKi0xIC0gdmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsIDVweCkvMiotMSk7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTt3aWR0aDoxM3B4O3dpZHRoOnZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LDEzcHgpfS5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoyLjVweDtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsIDVweCkvMik7aGVpZ2h0OjVweDtoZWlnaHQ6dmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsNXB4KTstbW96LXRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7dXNlci1zZWxlY3Q6bm9uZX0ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10aHVtYntiYWNrZ3JvdW5kOiNmZmY7YmFja2dyb3VuZDp2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWJhY2tncm91bmQsI2ZmZik7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMDAlO2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMzUsNDAsNDcsLjE1KSwwIDAgMCAxcHggcmdiYSgzNSw0MCw0NywuMik7Ym94LXNoYWRvdzp2YXIoLS1wbHlyLXJhbmdlLXRodW1iLXNoYWRvdywwIDFweCAxcHggcmdiYSgzNSw0MCw0NywuMTUpLDAgMCAwIDFweCByZ2JhKDM1LDQwLDQ3LC4yKSk7aGVpZ2h0OjEzcHg7aGVpZ2h0OnZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LDEzcHgpO3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7d2lkdGg6MTNweDt3aWR0aDp2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWhlaWdodCwxM3B4KX0ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS1wcm9ncmVzc3tiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtib3JkZXItcmFkaXVzOjIuNXB4O2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCwgNXB4KS8yKTtoZWlnaHQ6NXB4O2hlaWdodDp2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCw1cHgpfS5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7Y29sb3I6dHJhbnNwYXJlbnR9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLXVwcGVyLC5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjIuNXB4O2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCwgNXB4KS8yKTtoZWlnaHQ6NXB4O2hlaWdodDp2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCw1cHgpOy1tcy10cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO3VzZXItc2VsZWN0Om5vbmV9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2Vye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoyLjVweDtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsIDVweCkvMik7aGVpZ2h0OjVweDtoZWlnaHQ6dmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsNXB4KTstbXMtdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO3RyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTt1c2VyLXNlbGVjdDpub25lfS5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdGh1bWJ7YmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kLCNmZmYpO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MTAwJTtib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDM1LDQwLDQ3LC4xNSksMCAwIDAgMXB4IHJnYmEoMzUsNDAsNDcsLjIpO2JveC1zaGFkb3c6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1zaGFkb3csMCAxcHggMXB4IHJnYmEoMzUsNDAsNDcsLjE1KSwwIDAgMCAxcHggcmdiYSgzNSw0MCw0NywuMikpO2hlaWdodDoxM3B4O2hlaWdodDp2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWhlaWdodCwxM3B4KTttYXJnaW4tdG9wOjA7cG9zaXRpb246cmVsYXRpdmU7LW1zLXRyYW5zaXRpb246YWxsIC4ycyBlYXNlO3RyYW5zaXRpb246YWxsIC4ycyBlYXNlO3dpZHRoOjEzcHg7d2lkdGg6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQsMTNweCl9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10b29sdGlwe2Rpc3BsYXk6bm9uZX0ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1c3tvdXRsaW5lOjB9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otZm9jdXMtb3V0ZXJ7Ym9yZGVyOjB9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV0ucGx5cl9fdGFiLWZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tvdXRsaW5lLWNvbG9yOiMwMGIzZmY7b3V0bGluZS1jb2xvcjp2YXIoLS1wbHlyLXRhYi1mb2N1cy1jb2xvcix2YXIoLS1wbHlyLWNvbG9yLW1haW4sdmFyKC0tcGx5ci1jb2xvci1tYWluLCMwMGIzZmYpKSk7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmUtc3R5bGU6ZG90dGVkO291dGxpbmUtd2lkdGg6M3B4fS5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LW1vei1yYW5nZS10cmFja3tvdXRsaW5lLWNvbG9yOiMwMGIzZmY7b3V0bGluZS1jb2xvcjp2YXIoLS1wbHlyLXRhYi1mb2N1cy1jb2xvcix2YXIoLS1wbHlyLWNvbG9yLW1haW4sdmFyKC0tcGx5ci1jb2xvci1tYWluLCMwMGIzZmYpKSk7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmUtc3R5bGU6ZG90dGVkO291dGxpbmUtd2lkdGg6M3B4fS5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LW1zLXRyYWNre291dGxpbmUtY29sb3I6IzAwYjNmZjtvdXRsaW5lLWNvbG9yOnZhcigtLXBseXItdGFiLWZvY3VzLWNvbG9yLHZhcigtLXBseXItY29sb3ItbWFpbix2YXIoLS1wbHlyLWNvbG9yLW1haW4sIzAwYjNmZikpKTtvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZS1zdHlsZTpkb3R0ZWQ7b3V0bGluZS13aWR0aDozcHh9LnBseXJfX3Bvc3RlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wbHlyLXZpZGVvLWJhY2tncm91bmQsdmFyKC0tcGx5ci12aWRlby1iYWNrZ3JvdW5kLCMwMDApKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJSA1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb250YWluO2hlaWdodDoxMDAlO2xlZnQ6MDtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5wbHlyLS1zdG9wcGVkLnBseXJfX3Bvc3Rlci1lbmFibGVkIC5wbHlyX19wb3N0ZXJ7b3BhY2l0eToxfS5wbHlyLS15b3V0dWJlLnBseXItLXBhdXNlZC5wbHlyX19wb3N0ZXItZW5hYmxlZDpub3QoLnBseXItLXN0b3BwZWQpIC5wbHlyX19wb3N0ZXJ7ZGlzcGxheTpub25lfS5wbHlyX190aW1le2ZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS1wbHlyLWZvbnQtc2l6ZS10aW1lLHZhcigtLXBseXItZm9udC1zaXplLXNtYWxsLDEzcHgpKX0ucGx5cl9fdGltZSsucGx5cl9fdGltZTpiZWZvcmV7Y29udGVudDoi4oGEIjttYXJnaW4tcmlnaHQ6MTBweDttYXJnaW4tcmlnaHQ6dmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsMTBweCl9QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey5wbHlyX190aW1lKy5wbHlyX190aW1le2Rpc3BsYXk6bm9uZX19LnBseXJfX3Rvb2x0aXB7YmFja2dyb3VuZDpoc2xhKDAsMCUsMTAwJSwuOSk7YmFja2dyb3VuZDp2YXIoLS1wbHlyLXRvb2x0aXAtYmFja2dyb3VuZCxoc2xhKDAsMCUsMTAwJSwuOSkpO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1yYWRpdXM6dmFyKC0tcGx5ci10b29sdGlwLXJhZGl1cywzcHgpO2JvdHRvbToxMDAlO2JveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjE1KTtib3gtc2hhZG93OnZhcigtLXBseXItdG9vbHRpcC1zaGFkb3csMCAxcHggMnB4IHJnYmEoMCwwLDAsLjE1KSk7Y29sb3I6IzRhNTQ2NDtjb2xvcjp2YXIoLS1wbHlyLXRvb2x0aXAtY29sb3IsIzRhNTQ2NCk7Zm9udC1zaXplOjEzcHg7Zm9udC1zaXplOnZhcigtLXBseXItZm9udC1zaXplLXNtYWxsLDEzcHgpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIoLS1wbHlyLWZvbnQtd2VpZ2h0LXJlZ3VsYXIsNDAwKTtsZWZ0OjUwJTtsaW5lLWhlaWdodDoxLjM7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkvMioyKTtvcGFjaXR5OjA7cGFkZGluZzo1cHggNy41cHg7cGFkZGluZzpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KS8yKSBjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KS8yKjEuNSk7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMTBweCkgc2NhbGUoLjgpO3RyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2UgLjFzLG9wYWNpdHkgLjJzIGVhc2UgLjFzO3doaXRlLXNwYWNlOm5vd3JhcDt6LWluZGV4OjJ9LnBseXJfX3Rvb2x0aXA6YmVmb3Jle2JvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDp2YXIoLS1wbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZSw0cHgpIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OnZhcigtLXBseXItdG9vbHRpcC1hcnJvdy1zaXplLDRweCkgc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDo0cHggc29saWQgaHNsYSgwLDAlLDEwMCUsLjkpO2JvcmRlci10b3A6dmFyKC0tcGx5ci10b29sdGlwLWFycm93LXNpemUsNHB4KSBzb2xpZCB2YXIoLS1wbHlyLXRvb2x0aXAtYmFja2dyb3VuZCxoc2xhKDAsMCUsMTAwJSwuOSkpO2JvdHRvbTotNHB4O2JvdHRvbTpjYWxjKHZhcigtLXBseXItdG9vbHRpcC1hcnJvdy1zaXplLCA0cHgpKi0xKTtjb250ZW50OiIiO2hlaWdodDowO2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3dpZHRoOjA7ei1pbmRleDoyfS5wbHlyIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5ciAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fdG9vbHRpcC0tdmlzaWJsZXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSBzY2FsZSgxKX0ucGx5ciAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcHt6LWluZGV4OjN9LnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcHtsZWZ0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCkgc2NhbGUoLjgpO3RyYW5zZm9ybS1vcmlnaW46MCAxMDAlfS5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcDpiZWZvcmUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwOmJlZm9yZXtsZWZ0OjE2cHg7bGVmdDpjYWxjKHZhcigtLXBseXItY29udHJvbC1pY29uLXNpemUsIDE4cHgpLzIgKyB2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcpfS5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwe2xlZnQ6YXV0bztyaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpIHNjYWxlKC44KTt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJX0ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcDpiZWZvcmV7bGVmdDphdXRvO3JpZ2h0OjE2cHg7cmlnaHQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtaWNvbi1zaXplLCAxOHB4KS8yICsgdmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpfS5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQ6aG92ZXIgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkOmhvdmVyIC5wbHlyX190b29sdGlwe3RyYW5zZm9ybTp0cmFuc2xhdGUoMCkgc2NhbGUoMSl9LnBseXJfX3Byb2dyZXNze2xlZnQ6Ni41cHg7bGVmdDpjYWxjKHZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LCAxM3B4KSouNSk7bWFyZ2luLXJpZ2h0OjEzcHg7bWFyZ2luLXJpZ2h0OnZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LDEzcHgpO3Bvc2l0aW9uOnJlbGF0aXZlfS5wbHlyX19wcm9ncmVzc19fYnVmZmVyLC5wbHlyX19wcm9ncmVzcyBpbnB1dFt0eXBlPXJhbmdlXXttYXJnaW4tbGVmdDotNi41cHg7bWFyZ2luLWxlZnQ6Y2FsYyh2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWhlaWdodCwgMTNweCkqLS41KTttYXJnaW4tcmlnaHQ6LTYuNXB4O21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LCAxM3B4KSotLjUpO3dpZHRoOmNhbGMoMTAwJSArIDEzcHgpO3dpZHRoOmNhbGMoMTAwJSArIHZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LCAxM3B4KSl9LnBseXJfX3Byb2dyZXNzIGlucHV0W3R5cGU9cmFuZ2Vde3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mn0ucGx5cl9fcHJvZ3Jlc3MgLnBseXJfX3Rvb2x0aXB7Zm9udC1zaXplOjEzcHg7Zm9udC1zaXplOnZhcigtLXBseXItZm9udC1zaXplLXRpbWUsdmFyKC0tcGx5ci1mb250LXNpemUtc21hbGwsMTNweCkpO2xlZnQ6MH0ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MTAwcHg7aGVpZ2h0OjVweDtoZWlnaHQ6dmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsNXB4KTtsZWZ0OjA7bWFyZ2luLXRvcDotMi41cHg7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXBseXItcmFuZ2UtdHJhY2staGVpZ2h0LCA1cHgpLzIqLTEpO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlfS5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLWJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLXZhbHVle2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6MTAwcHg7bWluLXdpZHRoOjVweDttaW4td2lkdGg6dmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsNXB4KTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjJzIGVhc2U7dHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZX0ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LW1vei1wcm9ncmVzcy1iYXJ7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7Ym9yZGVyLXJhZGl1czoxMDBweDttaW4td2lkdGg6NXB4O21pbi13aWR0aDp2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCw1cHgpOy1tb3otdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZTt0cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlfS5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotbXMtZmlsbHtib3JkZXItcmFkaXVzOjEwMHB4Oy1tcy10cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlO3RyYW5zaXRpb246d2lkdGggLjJzIGVhc2V9LnBseXItLWxvYWRpbmcgLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7YW5pbWF0aW9uOnBseXItcHJvZ3Jlc3MgMXMgbGluZWFyIGluZmluaXRlO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KC00NWRlZyxyZ2JhKDM1LDQwLDQ3LC42KSAyNSUsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCA1MCUscmdiYSgzNSw0MCw0NywuNikgMCxyZ2JhKDM1LDQwLDQ3LC42KSA3NSUsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLHZhcigtLXBseXItcHJvZ3Jlc3MtbG9hZGluZy1iYWNrZ3JvdW5kLHJnYmEoMzUsNDAsNDcsLjYpKSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSx2YXIoLS1wbHlyLXByb2dyZXNzLWxvYWRpbmctYmFja2dyb3VuZCxyZ2JhKDM1LDQwLDQ3LC42KSkgNTAlLHZhcigtLXBseXItcHJvZ3Jlc3MtbG9hZGluZy1iYWNrZ3JvdW5kLHJnYmEoMzUsNDAsNDcsLjYpKSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtiYWNrZ3JvdW5kLXNpemU6MjVweCAyNXB4O2JhY2tncm91bmQtc2l6ZTp2YXIoLS1wbHlyLXByb2dyZXNzLWxvYWRpbmctc2l6ZSwyNXB4KSB2YXIoLS1wbHlyLXByb2dyZXNzLWxvYWRpbmctc2l6ZSwyNXB4KTtjb2xvcjp0cmFuc3BhcmVudH0ucGx5ci0tdmlkZW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC4yNSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wbHlyLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVkLWJhY2tncm91bmQsaHNsYSgwLDAlLDEwMCUsLjI1KSl9LnBseXItLWF1ZGlvLnBseXItLWxvYWRpbmcgLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE5MywyMDAsMjA5LC42KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXBseXItYXVkaW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmFja2dyb3VuZCxyZ2JhKDE5MywyMDAsMjA5LC42KSl9LnBseXJfX3ZvbHVtZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMTBweDttaW4td2lkdGg6ODBweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoyMCV9LnBseXJfX3ZvbHVtZSBpbnB1dFt0eXBlPXJhbmdlXXttYXJnaW4tbGVmdDo1cHg7bWFyZ2luLWxlZnQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkvMik7bWFyZ2luLXJpZ2h0OjVweDttYXJnaW4tcmlnaHQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkvMik7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyfS5wbHlyLS1pcy1pb3MgLnBseXJfX3ZvbHVtZXttaW4td2lkdGg6MDt3aWR0aDphdXRvfS5wbHlyLS1hdWRpb3tkaXNwbGF5OmJsb2NrfS5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbHN7YmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6dmFyKC0tcGx5ci1hdWRpby1jb250cm9scy1iYWNrZ3JvdW5kLCNmZmYpO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtjb2xvcjojNGE1NDY0O2NvbG9yOnZhcigtLXBseXItYXVkaW8tY29udHJvbC1jb2xvciwjNGE1NDY0KTtwYWRkaW5nOjEwcHg7cGFkZGluZzp2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywxMHB4KX0ucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzLC5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbDpob3ZlciwucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXXtiYWNrZ3JvdW5kOiMwMGIzZmY7YmFja2dyb3VuZDp2YXIoLS1wbHlyLWF1ZGlvLWNvbnRyb2wtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1wbHlyLWNvbG9yLW1haW4sdmFyKC0tcGx5ci1jb2xvci1tYWluLCMwMGIzZmYpKSk7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1wbHlyLWF1ZGlvLWNvbnRyb2wtY29sb3ItaG92ZXIsI2ZmZil9LnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JhY2tncm91bmQtY29sb3I6cmdiYSgxOTMsMjAwLDIwOSwuNik7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wbHlyLWF1ZGlvLXJhbmdlLXRyYWNrLWJhY2tncm91bmQsdmFyKC0tcGx5ci1hdWRpby1wcm9ncmVzcy1idWZmZXJlZC1iYWNrZ3JvdW5kLHJnYmEoMTkzLDIwMCwyMDksLjYpKSl9LnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE5MywyMDAsMjA5LC42KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXBseXItYXVkaW8tcmFuZ2UtdHJhY2stYmFja2dyb3VuZCx2YXIoLS1wbHlyLWF1ZGlvLXByb2dyZXNzLWJ1ZmZlcmVkLWJhY2tncm91bmQscmdiYSgxOTMsMjAwLDIwOSwuNikpKX0ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNre2JhY2tncm91bmQtY29sb3I6cmdiYSgxOTMsMjAwLDIwOSwuNik7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wbHlyLWF1ZGlvLXJhbmdlLXRyYWNrLWJhY2tncm91bmQsdmFyKC0tcGx5ci1hdWRpby1wcm9ncmVzcy1idWZmZXJlZC1iYWNrZ3JvdW5kLHJnYmEoMTkzLDIwMCwyMDksLjYpKSl9LnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYntib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDM1LDQwLDQ3LC4xNSksMCAwIDAgMXB4IHJnYmEoMzUsNDAsNDcsLjIpLDAgMCAwIDNweCByZ2JhKDM1LDQwLDQ3LC4xKTtib3gtc2hhZG93OnZhcigtLXBseXItcmFuZ2UtdGh1bWItc2hhZG93LDAgMXB4IDFweCByZ2JhKDM1LDQwLDQ3LC4xNSksMCAwIDAgMXB4IHJnYmEoMzUsNDAsNDcsLjIpKSwwIDAgMCB2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctd2lkdGgsM3B4KSB2YXIoLS1wbHlyLWF1ZGlvLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctY29sb3IscmdiYSgzNSw0MCw0NywuMSkpfS5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYntib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDM1LDQwLDQ3LC4xNSksMCAwIDAgMXB4IHJnYmEoMzUsNDAsNDcsLjIpLDAgMCAwIDNweCByZ2JhKDM1LDQwLDQ3LC4xKTtib3gtc2hhZG93OnZhcigtLXBseXItcmFuZ2UtdGh1bWItc2hhZG93LDAgMXB4IDFweCByZ2JhKDM1LDQwLDQ3LC4xNSksMCAwIDAgMXB4IHJnYmEoMzUsNDAsNDcsLjIpKSwwIDAgMCB2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctd2lkdGgsM3B4KSB2YXIoLS1wbHlyLWF1ZGlvLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctY29sb3IscmdiYSgzNSw0MCw0NywuMSkpfS5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1ie2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMzUsNDAsNDcsLjE1KSwwIDAgMCAxcHggcmdiYSgzNSw0MCw0NywuMiksMCAwIDAgM3B4IHJnYmEoMzUsNDAsNDcsLjEpO2JveC1zaGFkb3c6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1zaGFkb3csMCAxcHggMXB4IHJnYmEoMzUsNDAsNDcsLjE1KSwwIDAgMCAxcHggcmdiYSgzNSw0MCw0NywuMikpLDAgMCAwIHZhcigtLXBseXItcmFuZ2UtdGh1bWItYWN0aXZlLXNoYWRvdy13aWR0aCwzcHgpIHZhcigtLXBseXItYXVkaW8tcmFuZ2UtdGh1bWItYWN0aXZlLXNoYWRvdy1jb2xvcixyZ2JhKDM1LDQwLDQ3LC4xKSl9LnBseXItLWF1ZGlvIC5wbHlyX19wcm9ncmVzc19fYnVmZmVye2NvbG9yOnJnYmEoMTkzLDIwMCwyMDksLjYpO2NvbG9yOnZhcigtLXBseXItYXVkaW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmFja2dyb3VuZCxyZ2JhKDE5MywyMDAsMjA5LC42KSl9LnBseXItLXZpZGVve2JhY2tncm91bmQ6IzAwMDtiYWNrZ3JvdW5kOnZhcigtLXBseXItdmlkZW8tYmFja2dyb3VuZCx2YXIoLS1wbHlyLXZpZGVvLWJhY2tncm91bmQsIzAwMCkpO292ZXJmbG93OmhpZGRlbn0ucGx5ci0tdmlkZW8ucGx5ci0tbWVudS1vcGVue292ZXJmbG93OnZpc2libGV9LnBseXJfX3ZpZGVvLXdyYXBwZXJ7YmFja2dyb3VuZDojMDAwO2JhY2tncm91bmQ6dmFyKC0tcGx5ci12aWRlby1iYWNrZ3JvdW5kLHZhcigtLXBseXItdmlkZW8tYmFja2dyb3VuZCwjMDAwKSk7aGVpZ2h0OjEwMCU7bWFyZ2luOmF1dG87b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnBseXJfX3ZpZGVvLWVtYmVkLC5wbHlyX192aWRlby13cmFwcGVyLS1maXhlZC1yYXRpb3thc3BlY3QtcmF0aW86MTYvOX1Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86MTYvOSl7LnBseXJfX3ZpZGVvLWVtYmVkLC5wbHlyX192aWRlby13cmFwcGVyLS1maXhlZC1yYXRpb3toZWlnaHQ6MDtwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7cG9zaXRpb246cmVsYXRpdmV9fS5wbHlyX192aWRlby1lbWJlZCBpZnJhbWUsLnBseXJfX3ZpZGVvLXdyYXBwZXItLWZpeGVkLXJhdGlvIHZpZGVve2JvcmRlcjowO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5wbHlyLS1mdWxsLXVpIC5wbHlyX192aWRlby1lbWJlZD4ucGx5cl9fdmlkZW8tZW1iZWRfX2NvbnRhaW5lcntwYWRkaW5nLWJvdHRvbToyNDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zOC4yODEyNSUpfS5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHN7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQscmdiYSgwLDAsMCwuNzUpKTtiYWNrZ3JvdW5kOnZhcigtLXBseXItdmlkZW8tY29udHJvbHMtYmFja2dyb3VuZCxsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQscmdiYSgwLDAsMCwuNzUpKSk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czppbmhlcml0O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmluaGVyaXQ7Ym90dG9tOjA7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1wbHlyLXZpZGVvLWNvbnRyb2wtY29sb3IsI2ZmZik7bGVmdDowO3BhZGRpbmc6NXB4O3BhZGRpbmc6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkvMik7cGFkZGluZy10b3A6MjBweDtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSoyKTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQsdHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDt6LWluZGV4OjN9QG1lZGlhIChtaW4td2lkdGg6NDgwcHgpey5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHN7cGFkZGluZzoxMHB4O3BhZGRpbmc6dmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsMTBweCk7cGFkZGluZy10b3A6MzVweDtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSozLjUpfX0ucGx5ci0tdmlkZW8ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY29udHJvbHN7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSl9LnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cywucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2w6aG92ZXIsLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17YmFja2dyb3VuZDojMDBiM2ZmO2JhY2tncm91bmQ6dmFyKC0tcGx5ci12aWRlby1jb250cm9sLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tcGx5ci1jb2xvci1tYWluLHZhcigtLXBseXItY29sb3ItbWFpbiwjMDBiM2ZmKSkpO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tcGx5ci12aWRlby1jb250cm9sLWNvbG9yLWhvdmVyLCNmZmYpfS5wbHlyX19jb250cm9sLS1vdmVybGFpZHtiYWNrZ3JvdW5kOiMwMGIzZmY7YmFja2dyb3VuZDp2YXIoLS1wbHlyLXZpZGVvLWNvbnRyb2wtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1wbHlyLWNvbG9yLW1haW4sdmFyKC0tcGx5ci1jb2xvci1tYWluLCMwMGIzZmYpKSk7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMDAlO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tcGx5ci12aWRlby1jb250cm9sLWNvbG9yLCNmZmYpO2Rpc3BsYXk6bm9uZTtsZWZ0OjUwJTtvcGFjaXR5Oi45O3BhZGRpbmc6MTVweDtwYWRkaW5nOmNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKjEuNSk7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNpdGlvbjouM3M7ei1pbmRleDoyfS5wbHlyX19jb250cm9sLS1vdmVybGFpZCBzdmd7bGVmdDoycHg7cG9zaXRpb246cmVsYXRpdmV9LnBseXJfX2NvbnRyb2wtLW92ZXJsYWlkOmZvY3VzLC5wbHlyX19jb250cm9sLS1vdmVybGFpZDpob3ZlcntvcGFjaXR5OjF9LnBseXItLXBsYXlpbmcgLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlke29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbC0tb3ZlcmxhaWR7ZGlzcGxheTpibG9ja30ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuMjUpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcGx5ci12aWRlby1yYW5nZS10cmFjay1iYWNrZ3JvdW5kLHZhcigtLXBseXItdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmFja2dyb3VuZCxoc2xhKDAsMCUsMTAwJSwuMjUpKSl9LnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuMjUpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcGx5ci12aWRlby1yYW5nZS10cmFjay1iYWNrZ3JvdW5kLHZhcigtLXBseXItdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmFja2dyb3VuZCxoc2xhKDAsMCUsMTAwJSwuMjUpKSl9LnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC4yNSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wbHlyLXZpZGVvLXJhbmdlLXRyYWNrLWJhY2tncm91bmQsdmFyKC0tcGx5ci12aWRlby1wcm9ncmVzcy1idWZmZXJlZC1iYWNrZ3JvdW5kLGhzbGEoMCwwJSwxMDAlLC4yNSkpKX0ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMzUsNDAsNDcsLjE1KSwwIDAgMCAxcHggcmdiYSgzNSw0MCw0NywuMiksMCAwIDAgM3B4IGhzbGEoMCwwJSwxMDAlLC41KTtib3gtc2hhZG93OnZhcigtLXBseXItcmFuZ2UtdGh1bWItc2hhZG93LDAgMXB4IDFweCByZ2JhKDM1LDQwLDQ3LC4xNSksMCAwIDAgMXB4IHJnYmEoMzUsNDAsNDcsLjIpKSwwIDAgMCB2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctd2lkdGgsM3B4KSB2YXIoLS1wbHlyLWF1ZGlvLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctY29sb3IsaHNsYSgwLDAlLDEwMCUsLjUpKX0ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWJ7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgzNSw0MCw0NywuMTUpLDAgMCAwIDFweCByZ2JhKDM1LDQwLDQ3LC4yKSwwIDAgMCAzcHggaHNsYSgwLDAlLDEwMCUsLjUpO2JveC1zaGFkb3c6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1zaGFkb3csMCAxcHggMXB4IHJnYmEoMzUsNDAsNDcsLjE1KSwwIDAgMCAxcHggcmdiYSgzNSw0MCw0NywuMikpLDAgMCAwIHZhcigtLXBseXItcmFuZ2UtdGh1bWItYWN0aXZlLXNoYWRvdy13aWR0aCwzcHgpIHZhcigtLXBseXItYXVkaW8tcmFuZ2UtdGh1bWItYWN0aXZlLXNoYWRvdy1jb2xvcixoc2xhKDAsMCUsMTAwJSwuNSkpfS5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1ie2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMzUsNDAsNDcsLjE1KSwwIDAgMCAxcHggcmdiYSgzNSw0MCw0NywuMiksMCAwIDAgM3B4IGhzbGEoMCwwJSwxMDAlLC41KTtib3gtc2hhZG93OnZhcigtLXBseXItcmFuZ2UtdGh1bWItc2hhZG93LDAgMXB4IDFweCByZ2JhKDM1LDQwLDQ3LC4xNSksMCAwIDAgMXB4IHJnYmEoMzUsNDAsNDcsLjIpKSwwIDAgMCB2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctd2lkdGgsM3B4KSB2YXIoLS1wbHlyLWF1ZGlvLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctY29sb3IsaHNsYSgwLDAlLDEwMCUsLjUpKX0ucGx5ci0tdmlkZW8gLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7Y29sb3I6aHNsYSgwLDAlLDEwMCUsLjI1KTtjb2xvcjp2YXIoLS1wbHlyLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVkLWJhY2tncm91bmQsaHNsYSgwLDAlLDEwMCUsLjI1KSl9LnBseXI6ZnVsbHNjcmVlbntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudDtoZWlnaHQ6MTAwJTttYXJnaW46MDt3aWR0aDoxMDAlfS5wbHlyOmZ1bGxzY3JlZW4gdmlkZW97aGVpZ2h0OjEwMCV9LnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue2Rpc3BsYXk6YmxvY2t9LnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuK3N2Z3tkaXNwbGF5Om5vbmV9LnBseXI6ZnVsbHNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xze2N1cnNvcjpub25lfUBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7LnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnN7Zm9udC1zaXplOjIxcHg7Zm9udC1zaXplOnZhcigtLXBseXItZm9udC1zaXplLXhsYXJnZSwyMXB4KX0ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tmb250LXNpemU6MjFweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUteGxhcmdlLDIxcHgpfX0ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVue2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O2hlaWdodDoxMDAlO21hcmdpbjowO3dpZHRoOjEwMCV9LnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiB2aWRlb3toZWlnaHQ6MTAwJX0ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57ZGlzcGxheTpibG9ja30ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne2Rpc3BsYXk6bm9uZX0ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7Y3Vyc29yOm5vbmV9QG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXsucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tmb250LXNpemU6MjFweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUteGxhcmdlLDIxcHgpfX0ucGx5cjotbW96LWZ1bGwtc2NyZWVue2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O2hlaWdodDoxMDAlO21hcmdpbjowO3dpZHRoOjEwMCV9LnBseXI6LW1vei1mdWxsLXNjcmVlbiB2aWRlb3toZWlnaHQ6MTAwJX0ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57ZGlzcGxheTpibG9ja30ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne2Rpc3BsYXk6bm9uZX0ucGx5cjotbW96LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7Y3Vyc29yOm5vbmV9QG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXsucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tmb250LXNpemU6MjFweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUteGxhcmdlLDIxcHgpfX0ucGx5cjotbXMtZnVsbHNjcmVlbntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudDtoZWlnaHQ6MTAwJTttYXJnaW46MDt3aWR0aDoxMDAlfS5wbHlyOi1tcy1mdWxsc2NyZWVuIHZpZGVve2hlaWdodDoxMDAlfS5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57ZGlzcGxheTpibG9ja30ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuK3N2Z3tkaXNwbGF5Om5vbmV9LnBseXI6LW1zLWZ1bGxzY3JlZW4ucGx5ci0taGlkZS1jb250cm9sc3tjdXJzb3I6bm9uZX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tmb250LXNpemU6MjFweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUteGxhcmdlLDIxcHgpfX0ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFja3tiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudDtib3R0b206MDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO2xlZnQ6MDttYXJnaW46MDtwb3NpdGlvbjpmaXhlZDtyaWdodDowO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMH0ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayB2aWRlb3toZWlnaHQ6MTAwJX0ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue2Rpc3BsYXk6YmxvY2t9LnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7ZGlzcGxheTpub25lfS5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrLnBseXItLWhpZGUtY29udHJvbHN7Y3Vyc29yOm5vbmV9QG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXsucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fY2FwdGlvbnN7Zm9udC1zaXplOjIxcHg7Zm9udC1zaXplOnZhcigtLXBseXItZm9udC1zaXplLXhsYXJnZSwyMXB4KX19LnBseXJfX2Fkc3tib3JkZXItcmFkaXVzOmluaGVyaXQ7Ym90dG9tOjA7Y3Vyc29yOnBvaW50ZXI7bGVmdDowO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO3otaW5kZXg6LTF9LnBseXJfX2Fkcz5kaXYsLnBseXJfX2Fkcz5kaXYgaWZyYW1le2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9LnBseXJfX2FkczphZnRlcntiYWNrZ3JvdW5kOiMyMzI4MmY7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjEwcHg7Ym90dG9tOnZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLDEwcHgpO2NvbG9yOiNmZmY7Y29udGVudDphdHRyKGRhdGEtYmFkZ2UtdGV4dCk7Zm9udC1zaXplOjExcHg7cGFkZGluZzoycHggNnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtyaWdodDp2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywxMHB4KTt6LWluZGV4OjN9LnBseXJfX2FkczplbXB0eTphZnRlcntkaXNwbGF5Om5vbmV9LnBseXJfX2N1ZXN7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7ZGlzcGxheTpibG9jaztoZWlnaHQ6NXB4O2hlaWdodDp2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCw1cHgpO2xlZnQ6MDttYXJnaW46LXZhcigtLXBseXItcmFuZ2UtdHJhY2staGVpZ2h0LDVweCkvMiAwIDA7b3BhY2l0eTouODtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjNweDt6LWluZGV4OjN9LnBseXJfX3ByZXZpZXctdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuOSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wbHlyLXRvb2x0aXAtYmFja2dyb3VuZCxoc2xhKDAsMCUsMTAwJSwuOSkpO2JvcmRlci1yYWRpdXM6M3B4O2JvdHRvbToxMDAlO2JveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjE1KTtib3gtc2hhZG93OnZhcigtLXBseXItdG9vbHRpcC1zaGFkb3csMCAxcHggMnB4IHJnYmEoMCwwLDAsLjE1KSk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkvMioyKTtvcGFjaXR5OjA7cGFkZGluZzozcHg7cGFkZGluZzp2YXIoLS1wbHlyLXRvb2x0aXAtcmFkaXVzLDNweCk7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KSBzY2FsZSguOCk7dHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgZWFzZSAuMXMsb3BhY2l0eSAuMnMgZWFzZSAuMXM7ei1pbmRleDoyfS5wbHlyX19wcmV2aWV3LXRodW1iLS1pcy1zaG93bntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKSBzY2FsZSgxKX0ucGx5cl9fcHJldmlldy10aHVtYjpiZWZvcmV7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0OnZhcigtLXBseXItdG9vbHRpcC1hcnJvdy1zaXplLDRweCkgc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6dmFyKC0tcGx5ci10b29sdGlwLWFycm93LXNpemUsNHB4KSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjRweCBzb2xpZCBoc2xhKDAsMCUsMTAwJSwuOSk7Ym9yZGVyLXRvcDp2YXIoLS1wbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZSw0cHgpIHNvbGlkIHZhcigtLXBseXItdG9vbHRpcC1iYWNrZ3JvdW5kLGhzbGEoMCwwJSwxMDAlLC45KSk7Ym90dG9tOi00cHg7Ym90dG9tOmNhbGModmFyKC0tcGx5ci10b29sdGlwLWFycm93LXNpemUsIDRweCkqLTEpO2NvbnRlbnQ6IiI7aGVpZ2h0OjA7bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6MDt6LWluZGV4OjJ9LnBseXJfX3ByZXZpZXctdGh1bWJfX2ltYWdlLWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNjMWM4ZDE7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXBseXItdG9vbHRpcC1yYWRpdXMsIDNweCkgLSAxcHgpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9LnBseXJfX3ByZXZpZXctdGh1bWJfX2ltYWdlLWNvbnRhaW5lciBpbWd7aGVpZ2h0OjEwMCU7bGVmdDowO21heC1oZWlnaHQ6bm9uZTttYXgtd2lkdGg6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5wbHlyX19wcmV2aWV3LXRodW1iX190aW1lLWNvbnRhaW5lcntib3R0b206NnB4O2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3doaXRlLXNwYWNlOm5vd3JhcDt6LWluZGV4OjN9LnBseXJfX3ByZXZpZXctdGh1bWJfX3RpbWUtY29udGFpbmVyIHNwYW57YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC41NSk7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXBseXItdG9vbHRpcC1yYWRpdXMsIDNweCkgLSAxcHgpO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEzcHg7Zm9udC1zaXplOnZhcigtLXBseXItZm9udC1zaXplLXRpbWUsdmFyKC0tcGx5ci1mb250LXNpemUtc21hbGwsMTNweCkpO3BhZGRpbmc6M3B4IDZweH0ucGx5cl9fcHJldmlldy1zY3J1YmJpbmd7Ym90dG9tOjA7ZmlsdGVyOmJsdXIoMXB4KTtoZWlnaHQ6MTAwJTtsZWZ0OjA7bWFyZ2luOmF1dG87b3BhY2l0eTowO292ZXJmbG93OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5wbHlyX19wcmV2aWV3LXNjcnViYmluZy0taXMtc2hvd257b3BhY2l0eToxfS5wbHlyX19wcmV2aWV3LXNjcnViYmluZyBpbWd7aGVpZ2h0OjEwMCU7bGVmdDowO21heC1oZWlnaHQ6bm9uZTttYXgtd2lkdGg6bm9uZTstby1vYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LWZpdDpjb250YWluO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LnBseXItLW5vLXRyYW5zaXRpb257dHJhbnNpdGlvbjpub25lIWltcG9ydGFudH0ucGx5cl9fc3Itb25seXtjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KTtib3JkZXI6MCFpbXBvcnRhbnQ7aGVpZ2h0OjFweCFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O3dpZHRoOjFweCFpbXBvcnRhbnR9LnBseXIgW2hpZGRlbl17ZGlzcGxheTpub25lIWltcG9ydGFudH0KQGNoYXJzZXQgIlVURi04IjsKLyohCiAqIEJvb3RzdHJhcCB2NC42LjAgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pCiAqIENvcHlyaWdodCAyMDExLTIwMjEgVGhlIEJvb3RzdHJhcCBBdXRob3JzCiAqIENvcHlyaWdodCAyMDExLTIwMjEgVHdpdHRlciwgSW5jLgogKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSkKICovOnJvb3R7LS1ibHVlOiMwMDdiZmY7LS1pbmRpZ286IzY2MTBmMjstLXB1cnBsZTojNmY0MmMxOy0tcGluazojZTgzZThjOy0tcmVkOiNkYzM1NDU7LS1vcmFuZ2U6I2ZkN2UxNDstLXllbGxvdzojZmZjMTA3Oy0tZ3JlZW46IzI4YTc0NTstLXRlYWw6IzIwYzk5NzstLWN5YW46IzE3YTJiODstLXdoaXRlOiNmZmY7LS1ncmF5OiM2Yzc1N2Q7LS1ncmF5LWRhcms6IzM0M2E0MDstLXByaW1hcnk6IzJlMzE5MjstLXNlY29uZGFyeTojNmM3NTdkOy0tc3VjY2VzczojMzliNTRhOy0taW5mbzojMTI4Nzg1Oy0td2FybmluZzojZmNiZjAwOy0tZGFuZ2VyOiNjMDA7LS1saWdodDojZjhmOWZhOy0tZGFyazojMzAzMDMwOy0tYnJlYWtwb2ludC14czowOy0tYnJlYWtwb2ludC1zbTo1NzZweDstLWJyZWFrcG9pbnQtbWQ6NzY4cHg7LS1icmVha3BvaW50LWxnOjk5MnB4Oy0tYnJlYWtwb2ludC14bDoxMjAwcHg7LS1mb250LWZhbWlseS1zYW5zLXNlcmlmOi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsQXJpYWwsIk5vdG8gU2FucyIsIkxpYmVyYXRpb24gU2FucyIsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiOy0tZm9udC1mYW1pbHktbW9ub3NwYWNlOlNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcywiTGliZXJhdGlvbiBNb25vIiwiQ291cmllciBOZXciLG1vbm9zcGFjZX0qLDphZnRlciw6YmVmb3Jle2JveC1zaXppbmc6Ym9yZGVyLWJveH1odG1sey13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4xNX1hcnRpY2xlLGFzaWRlLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31ib2R5e2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMjEyNTI5O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFNlZ29lIFVJLFJvYm90byxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxOb3RvIFNhbnMsTGliZXJhdGlvbiBTYW5zLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vamk7Zm9udC1zaXplOi45NXJlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O21hcmdpbjowO3RleHQtYWxpZ246bGVmdH1bdGFiaW5kZXg9Ii0xIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOjAhaW1wb3J0YW50fWhye2JveC1zaXppbmc6Y29udGVudC1ib3g7aGVpZ2h0OjA7b3ZlcmZsb3c6dmlzaWJsZX1oMSxoMixoMyxoNCxoNSxoNnttYXJnaW4tYm90dG9tOi41cmVtO21hcmdpbi10b3A6MH1we21hcmdpbi1ib3R0b206MXJlbTttYXJnaW4tdG9wOjB9YWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSxhYmJyW3RpdGxlXXtib3JkZXItYm90dG9tOjA7Y3Vyc29yOmhlbHA7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkOy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOm5vbmU7dGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOm5vbmV9YWRkcmVzc3tmb250LXN0eWxlOm5vcm1hbDtsaW5lLWhlaWdodDppbmhlcml0fWFkZHJlc3MsZGwsb2wsdWx7bWFyZ2luLWJvdHRvbToxcmVtfWRsLG9sLHVse21hcmdpbi10b3A6MH1vbCBvbCxvbCB1bCx1bCBvbCx1bCB1bHttYXJnaW4tYm90dG9tOjB9ZHR7Zm9udC13ZWlnaHQ6NzAwfWRke21hcmdpbi1ib3R0b206LjVyZW07bWFyZ2luLWxlZnQ6MH1ibG9ja3F1b3Rle21hcmdpbjowIDAgMXJlbX1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfWF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojMmUzMTkyO3RleHQtZGVjb3JhdGlvbjpub25lfWE6aG92ZXJ7Y29sb3I6IzFjMWQ1ODt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfWE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pLGE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pOmhvdmVye2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6U0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1wcmV7LW1zLW92ZXJmbG93LXN0eWxlOnNjcm9sbGJhcjttYXJnaW4tYm90dG9tOjFyZW07bWFyZ2luLXRvcDowO292ZXJmbG93OmF1dG99ZmlndXJle21hcmdpbjowIDAgMXJlbX1pbWd7Ym9yZGVyLXN0eWxlOm5vbmV9aW1nLHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9c3Zne292ZXJmbG93OmhpZGRlbn10YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9Y2FwdGlvbntjYXB0aW9uLXNpZGU6Ym90dG9tO2NvbG9yOiM2Yzc1N2Q7cGFkZGluZy1ib3R0b206Ljc1cmVtO3BhZGRpbmctdG9wOi43NXJlbTt0ZXh0LWFsaWduOmxlZnR9dGh7dGV4dC1hbGlnbjppbmhlcml0O3RleHQtYWxpZ246LXdlYmtpdC1tYXRjaC1wYXJlbnR9bGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTouNXJlbX1idXR0b257Ym9yZGVyLXJhZGl1czowfWJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6MH1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MH1idXR0b24saW5wdXR7b3ZlcmZsb3c6dmlzaWJsZX1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9W3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn1zZWxlY3R7d29yZC13cmFwOm5vcm1hbH1bdHlwZT1idXR0b25dLFt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdLGJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9ufVt0eXBlPWJ1dHRvbl06bm90KDpkaXNhYmxlZCksW3R5cGU9cmVzZXRdOm5vdCg6ZGlzYWJsZWQpLFt0eXBlPXN1Ym1pdF06bm90KDpkaXNhYmxlZCksYnV0dG9uOm5vdCg6ZGlzYWJsZWQpe2N1cnNvcjpwb2ludGVyfVt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIsYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlci1zdHlsZTpub25lO3BhZGRpbmc6MH1pbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfXRleHRhcmVhe292ZXJmbG93OmF1dG87cmVzaXplOnZlcnRpY2FsfWZpZWxkc2V0e2JvcmRlcjowO21hcmdpbjowO21pbi13aWR0aDowO3BhZGRpbmc6MH1sZWdlbmR7Y29sb3I6aW5oZXJpdDtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW4tYm90dG9tOi41cmVtO21heC13aWR0aDoxMDAlO3BhZGRpbmc6MDt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6MTAwJX1AbWVkaWEgKG1heC13aWR0aDoxMjAwcHgpe2xlZ2VuZHtmb250LXNpemU6Y2FsYygxLjI3NXJlbSArIC4zdncpfX1wcm9ncmVzc3t2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtvdXRsaW5lLW9mZnNldDotMnB4fVt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH1vdXRwdXR7ZGlzcGxheTppbmxpbmUtYmxvY2t9c3VtbWFyeXtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Omxpc3QtaXRlbX10ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9W2hpZGRlbl17ZGlzcGxheTpub25lIWltcG9ydGFudH0uaDEsLmgyLC5oMywuaDQsLmg1LC5oNixoMSxoMixoMyxoNCxoNSxoNntmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yO21hcmdpbi1ib3R0b206LjVyZW19LmgxLGgxe2ZvbnQtc2l6ZToyLjM3NXJlbX1AbWVkaWEgKG1heC13aWR0aDoxMjAwcHgpey5oMSxoMXtmb250LXNpemU6Y2FsYygxLjM2MjVyZW0gKyAxLjM1dncpfX0uaDIsaDJ7Zm9udC1zaXplOjEuOXJlbX1AbWVkaWEgKG1heC13aWR0aDoxMjAwcHgpey5oMixoMntmb250LXNpemU6Y2FsYygxLjMxNXJlbSArIC43OHZ3KX19LmgzLGgze2ZvbnQtc2l6ZToxLjY2MjVyZW19QG1lZGlhIChtYXgtd2lkdGg6MTIwMHB4KXsuaDMsaDN7Zm9udC1zaXplOmNhbGMoMS4yOTEyNXJlbSArIC40OTV2dyl9fS5oNCxoNHtmb250LXNpemU6MS40MjVyZW19QG1lZGlhIChtYXgtd2lkdGg6MTIwMHB4KXsuaDQsaDR7Zm9udC1zaXplOmNhbGMoMS4yNjc1cmVtICsgLjIxdncpfX0uaDUsaDV7Zm9udC1zaXplOjEuMTg3NXJlbX0uaDYsaDZ7Zm9udC1zaXplOi45NXJlbX0ubGVhZHtmb250LXNpemU6MS4xNHJlbTtmb250LXdlaWdodDo0MDB9LmRpc3BsYXktMXtmb250LXNpemU6NHJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfUBtZWRpYSAobWF4LXdpZHRoOjEyMDBweCl7LmRpc3BsYXktMXtmb250LXNpemU6Y2FsYygxLjUyNXJlbSArIDMuM3Z3KX19LmRpc3BsYXktMntmb250LXNpemU6My41cmVtO2ZvbnQtd2VpZ2h0OjMwMDtsaW5lLWhlaWdodDoxLjJ9QG1lZGlhIChtYXgtd2lkdGg6MTIwMHB4KXsuZGlzcGxheS0ye2ZvbnQtc2l6ZTpjYWxjKDEuNDc1cmVtICsgMi43dncpfX0uZGlzcGxheS0ze2ZvbnQtc2l6ZTozLjFyZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMn1AbWVkaWEgKG1heC13aWR0aDoxMjAwcHgpey5kaXNwbGF5LTN7Zm9udC1zaXplOmNhbGMoMS40MzVyZW0gKyAyLjIydncpfX0uZGlzcGxheS00e2ZvbnQtc2l6ZToyLjlyZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMn1AbWVkaWEgKG1heC13aWR0aDoxMjAwcHgpey5kaXNwbGF5LTR7Zm9udC1zaXplOmNhbGMoMS40MTVyZW0gKyAxLjk4dncpfX1ocntib3JkZXI6MDtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTttYXJnaW4tYm90dG9tOjFyZW07bWFyZ2luLXRvcDoxcmVtfS5zbWFsbCxzbWFsbHtmb250LXNpemU6ODAlO2ZvbnQtd2VpZ2h0OjQwMH0ubWFyayxtYXJre2JhY2tncm91bmQtY29sb3I6I2ZjZjhlMztwYWRkaW5nOi4yZW19Lmxpc3QtaW5saW5lLC5saXN0LXVuc3R5bGVke2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ubGlzdC1pbmxpbmUtaXRlbXtkaXNwbGF5OmlubGluZS1ibG9ja30ubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1yaWdodDouNXJlbX0uaW5pdGlhbGlzbXtmb250LXNpemU6OTAlO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uYmxvY2txdW90ZXtmb250LXNpemU6MS4xODc1cmVtO21hcmdpbi1ib3R0b206MXJlbX0uYmxvY2txdW90ZS1mb290ZXJ7Y29sb3I6IzZjNzU3ZDtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTo4MCV9LmJsb2NrcXVvdGUtZm9vdGVyOmJlZm9yZXtjb250ZW50OiLigJTCoCJ9LmltZy1mbHVpZCwuaW1nLXRodW1ibmFpbHtoZWlnaHQ6YXV0bzttYXgtd2lkdGg6MTAwJX0uaW1nLXRodW1ibmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci1yYWRpdXM6LjI1cmVtO3BhZGRpbmc6LjI1cmVtfS5maWd1cmV7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZpZ3VyZS1pbWd7bGluZS1oZWlnaHQ6MTttYXJnaW4tYm90dG9tOi41cmVtfS5maWd1cmUtY2FwdGlvbntjb2xvcjojNmM3NTdkO2ZvbnQtc2l6ZTo5MCV9Y29kZXt3b3JkLXdyYXA6YnJlYWstd29yZDtjb2xvcjojZTgzZThjO2ZvbnQtc2l6ZTo4Ny41JX1hPmNvZGV7Y29sb3I6aW5oZXJpdH1rYmR7YmFja2dyb3VuZC1jb2xvcjojMjEyNTI5O2JvcmRlci1yYWRpdXM6LjJyZW07Y29sb3I6I2ZmZjtmb250LXNpemU6ODcuNSU7cGFkZGluZzouMnJlbSAuNHJlbX1rYmQga2Jke2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OjcwMDtwYWRkaW5nOjB9cHJle2NvbG9yOiMyMTI1Mjk7ZGlzcGxheTpibG9jaztmb250LXNpemU6ODcuNSV9cHJlIGNvZGV7Y29sb3I6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDt3b3JkLWJyZWFrOm5vcm1hbH0ucHJlLXNjcm9sbGFibGV7bWF4LWhlaWdodDozNDBweDtvdmVyZmxvdy15OnNjcm9sbH0uY29udGFpbmVyLC5jb250YWluZXItZmx1aWQsLmNvbnRhaW5lci1sZywuY29udGFpbmVyLW1kLC5jb250YWluZXItc20sLmNvbnRhaW5lci14bHttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO3BhZGRpbmctbGVmdDoxNXB4O3BhZGRpbmctcmlnaHQ6MTVweDt3aWR0aDoxMDAlfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY29udGFpbmVyLC5jb250YWluZXItc217bWF4LXdpZHRoOjU0MHB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbnRhaW5lciwuY29udGFpbmVyLW1kLC5jb250YWluZXItc217bWF4LXdpZHRoOjcyMHB4fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmNvbnRhaW5lciwuY29udGFpbmVyLWxnLC5jb250YWluZXItbWQsLmNvbnRhaW5lci1zbXttYXgtd2lkdGg6OTYwcHh9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmNvbnRhaW5lciwuY29udGFpbmVyLWxnLC5jb250YWluZXItbWQsLmNvbnRhaW5lci1zbSwuY29udGFpbmVyLXhse21heC13aWR0aDoxMTQwcHh9fS5yb3d7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1sZWZ0Oi0xNXB4O21hcmdpbi1yaWdodDotMTVweH0ubm8tZ3V0dGVyc3ttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5uby1ndXR0ZXJzPi5jb2wsLm5vLWd1dHRlcnM+W2NsYXNzKj1jb2wtXXtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9LmNvbCwuY29sLTEsLmNvbC0yLC5jb2wtMywuY29sLTQsLmNvbC01LC5jb2wtNiwuY29sLTcsLmNvbC04LC5jb2wtOSwuY29sLTEwLC5jb2wtMTEsLmNvbC0xMiwuY29sLWF1dG8sLmNvbC1sZywuY29sLWxnLTEsLmNvbC1sZy0yLC5jb2wtbGctMywuY29sLWxnLTQsLmNvbC1sZy01LC5jb2wtbGctNiwuY29sLWxnLTcsLmNvbC1sZy04LC5jb2wtbGctOSwuY29sLWxnLTEwLC5jb2wtbGctMTEsLmNvbC1sZy0xMiwuY29sLWxnLWF1dG8sLmNvbC1tZCwuY29sLW1kLTEsLmNvbC1tZC0yLC5jb2wtbWQtMywuY29sLW1kLTQsLmNvbC1tZC01LC5jb2wtbWQtNiwuY29sLW1kLTcsLmNvbC1tZC04LC5jb2wtbWQtOSwuY29sLW1kLTEwLC5jb2wtbWQtMTEsLmNvbC1tZC0xMiwuY29sLW1kLWF1dG8sLmNvbC1zbSwuY29sLXNtLTEsLmNvbC1zbS0yLC5jb2wtc20tMywuY29sLXNtLTQsLmNvbC1zbS01LC5jb2wtc20tNiwuY29sLXNtLTcsLmNvbC1zbS04LC5jb2wtc20tOSwuY29sLXNtLTEwLC5jb2wtc20tMTEsLmNvbC1zbS0xMiwuY29sLXNtLWF1dG8sLmNvbC14bCwuY29sLXhsLTEsLmNvbC14bC0yLC5jb2wteGwtMywuY29sLXhsLTQsLmNvbC14bC01LC5jb2wteGwtNiwuY29sLXhsLTcsLmNvbC14bC04LC5jb2wteGwtOSwuY29sLXhsLTEwLC5jb2wteGwtMTEsLmNvbC14bC0xMiwuY29sLXhsLWF1dG97cGFkZGluZy1sZWZ0OjE1cHg7cGFkZGluZy1yaWdodDoxNXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LmNvbHtmbGV4LWJhc2lzOjA7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LnJvdy1jb2xzLTE+KntmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5yb3ctY29scy0yPip7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LnJvdy1jb2xzLTM+KntmbGV4OjAgMCAzMy4zMzMzMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzMzMzMyV9LnJvdy1jb2xzLTQ+KntmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0ucm93LWNvbHMtNT4qe2ZsZXg6MCAwIDIwJTttYXgtd2lkdGg6MjAlfS5yb3ctY29scy02Pip7ZmxleDowIDAgMTYuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NjY2NjclfS5jb2wtYXV0b3tmbGV4OjAgMCBhdXRvO21heC13aWR0aDoxMDAlO3dpZHRoOmF1dG99LmNvbC0xe2ZsZXg6MCAwIDguMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMzMzMzMyV9LmNvbC0ye2ZsZXg6MCAwIDE2LjY2NjY2NjY2NjclO21heC13aWR0aDoxNi42NjY2NjY2NjY3JX0uY29sLTN7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC00e2ZsZXg6MCAwIDMzLjMzMzMzMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMzMzMzJX0uY29sLTV7ZmxleDowIDAgNDEuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NjY2NjclfS5jb2wtNntmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0uY29sLTd7ZmxleDowIDAgNTguMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMzMzMzMlfS5jb2wtOHtmbGV4OjAgMCA2Ni42NjY2NjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY2NjY2NyV9LmNvbC05e2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5jb2wtMTB7ZmxleDowIDAgODMuMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMzMzMzMlfS5jb2wtMTF7ZmxleDowIDAgOTEuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjkxLjY2NjY2NjY2NjclfS5jb2wtMTJ7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ub3JkZXItZmlyc3R7b3JkZXI6LTF9Lm9yZGVyLWxhc3R7b3JkZXI6MTN9Lm9yZGVyLTB7b3JkZXI6MH0ub3JkZXItMXtvcmRlcjoxfS5vcmRlci0ye29yZGVyOjJ9Lm9yZGVyLTN7b3JkZXI6M30ub3JkZXItNHtvcmRlcjo0fS5vcmRlci01e29yZGVyOjV9Lm9yZGVyLTZ7b3JkZXI6Nn0ub3JkZXItN3tvcmRlcjo3fS5vcmRlci04e29yZGVyOjh9Lm9yZGVyLTl7b3JkZXI6OX0ub3JkZXItMTB7b3JkZXI6MTB9Lm9yZGVyLTExe29yZGVyOjExfS5vcmRlci0xMntvcmRlcjoxMn0ub2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMzMzMzJX0ub2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjY2NyV9Lm9mZnNldC0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzMzMzMyV9Lm9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NjY2NjclfS5vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9Lm9mZnNldC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMzMzMzMlfS5vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NjY3JX0ub2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzMzMzMyV9Lm9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NjY3JX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNvbC1zbXtmbGV4LWJhc2lzOjA7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LnJvdy1jb2xzLXNtLTE+KntmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5yb3ctY29scy1zbS0yPip7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LnJvdy1jb2xzLXNtLTM+KntmbGV4OjAgMCAzMy4zMzMzMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzMzMzMyV9LnJvdy1jb2xzLXNtLTQ+KntmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0ucm93LWNvbHMtc20tNT4qe2ZsZXg6MCAwIDIwJTttYXgtd2lkdGg6MjAlfS5yb3ctY29scy1zbS02Pip7ZmxleDowIDAgMTYuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NjY2NjclfS5jb2wtc20tYXV0b3tmbGV4OjAgMCBhdXRvO21heC13aWR0aDoxMDAlO3dpZHRoOmF1dG99LmNvbC1zbS0xe2ZsZXg6MCAwIDguMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMzMzMzMyV9LmNvbC1zbS0ye2ZsZXg6MCAwIDE2LjY2NjY2NjY2NjclO21heC13aWR0aDoxNi42NjY2NjY2NjY3JX0uY29sLXNtLTN7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC1zbS00e2ZsZXg6MCAwIDMzLjMzMzMzMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMzMzMzJX0uY29sLXNtLTV7ZmxleDowIDAgNDEuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NjY2NjclfS5jb2wtc20tNntmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0uY29sLXNtLTd7ZmxleDowIDAgNTguMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMzMzMzMlfS5jb2wtc20tOHtmbGV4OjAgMCA2Ni42NjY2NjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY2NjY2NyV9LmNvbC1zbS05e2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5jb2wtc20tMTB7ZmxleDowIDAgODMuMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMzMzMzMlfS5jb2wtc20tMTF7ZmxleDowIDAgOTEuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjkxLjY2NjY2NjY2NjclfS5jb2wtc20tMTJ7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ub3JkZXItc20tZmlyc3R7b3JkZXI6LTF9Lm9yZGVyLXNtLWxhc3R7b3JkZXI6MTN9Lm9yZGVyLXNtLTB7b3JkZXI6MH0ub3JkZXItc20tMXtvcmRlcjoxfS5vcmRlci1zbS0ye29yZGVyOjJ9Lm9yZGVyLXNtLTN7b3JkZXI6M30ub3JkZXItc20tNHtvcmRlcjo0fS5vcmRlci1zbS01e29yZGVyOjV9Lm9yZGVyLXNtLTZ7b3JkZXI6Nn0ub3JkZXItc20tN3tvcmRlcjo3fS5vcmRlci1zbS04e29yZGVyOjh9Lm9yZGVyLXNtLTl7b3JkZXI6OX0ub3JkZXItc20tMTB7b3JkZXI6MTB9Lm9yZGVyLXNtLTExe29yZGVyOjExfS5vcmRlci1zbS0xMntvcmRlcjoxMn0ub2Zmc2V0LXNtLTB7bWFyZ2luLWxlZnQ6MH0ub2Zmc2V0LXNtLTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMzMzMzJX0ub2Zmc2V0LXNtLTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjY2NyV9Lm9mZnNldC1zbS0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LXNtLTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzMzMzMyV9Lm9mZnNldC1zbS01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NjY2NjclfS5vZmZzZXQtc20tNnttYXJnaW4tbGVmdDo1MCV9Lm9mZnNldC1zbS03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMzMzMzMlfS5vZmZzZXQtc20tOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NjY3JX0ub2Zmc2V0LXNtLTl7bWFyZ2luLWxlZnQ6NzUlfS5vZmZzZXQtc20tMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzMzMzMyV9Lm9mZnNldC1zbS0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NjY3JX19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb2wtbWR7ZmxleC1iYXNpczowO2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5yb3ctY29scy1tZC0xPip7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ucm93LWNvbHMtbWQtMj4qe2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5yb3ctY29scy1tZC0zPip7ZmxleDowIDAgMzMuMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMzMzMzMlfS5yb3ctY29scy1tZC00Pip7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LnJvdy1jb2xzLW1kLTU+KntmbGV4OjAgMCAyMCU7bWF4LXdpZHRoOjIwJX0ucm93LWNvbHMtbWQtNj4qe2ZsZXg6MCAwIDE2LjY2NjY2NjY2NjclO21heC13aWR0aDoxNi42NjY2NjY2NjY3JX0uY29sLW1kLWF1dG97ZmxleDowIDAgYXV0bzttYXgtd2lkdGg6MTAwJTt3aWR0aDphdXRvfS5jb2wtbWQtMXtmbGV4OjAgMCA4LjMzMzMzMzMzMzMlO21heC13aWR0aDo4LjMzMzMzMzMzMzMlfS5jb2wtbWQtMntmbGV4OjAgMCAxNi42NjY2NjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY2NjY2NyV9LmNvbC1tZC0ze2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5jb2wtbWQtNHtmbGV4OjAgMCAzMy4zMzMzMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzMzMzMyV9LmNvbC1tZC01e2ZsZXg6MCAwIDQxLjY2NjY2NjY2NjclO21heC13aWR0aDo0MS42NjY2NjY2NjY3JX0uY29sLW1kLTZ7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC1tZC03e2ZsZXg6MCAwIDU4LjMzMzMzMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMzMzMzJX0uY29sLW1kLTh7ZmxleDowIDAgNjYuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NjY2NjclfS5jb2wtbWQtOXtmbGV4OjAgMCA3NSU7bWF4LXdpZHRoOjc1JX0uY29sLW1kLTEwe2ZsZXg6MCAwIDgzLjMzMzMzMzMzMzMlO21heC13aWR0aDo4My4zMzMzMzMzMzMzJX0uY29sLW1kLTExe2ZsZXg6MCAwIDkxLjY2NjY2NjY2NjclO21heC13aWR0aDo5MS42NjY2NjY2NjY3JX0uY29sLW1kLTEye2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLW1kLWZpcnN0e29yZGVyOi0xfS5vcmRlci1tZC1sYXN0e29yZGVyOjEzfS5vcmRlci1tZC0we29yZGVyOjB9Lm9yZGVyLW1kLTF7b3JkZXI6MX0ub3JkZXItbWQtMntvcmRlcjoyfS5vcmRlci1tZC0ze29yZGVyOjN9Lm9yZGVyLW1kLTR7b3JkZXI6NH0ub3JkZXItbWQtNXtvcmRlcjo1fS5vcmRlci1tZC02e29yZGVyOjZ9Lm9yZGVyLW1kLTd7b3JkZXI6N30ub3JkZXItbWQtOHtvcmRlcjo4fS5vcmRlci1tZC05e29yZGVyOjl9Lm9yZGVyLW1kLTEwe29yZGVyOjEwfS5vcmRlci1tZC0xMXtvcmRlcjoxMX0ub3JkZXItbWQtMTJ7b3JkZXI6MTJ9Lm9mZnNldC1tZC0we21hcmdpbi1sZWZ0OjB9Lm9mZnNldC1tZC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzMzMzMyV9Lm9mZnNldC1tZC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NjY2NjclfS5vZmZzZXQtbWQtM3ttYXJnaW4tbGVmdDoyNSV9Lm9mZnNldC1tZC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMzMzMzMlfS5vZmZzZXQtbWQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjY2NjY3JX0ub2Zmc2V0LW1kLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQtbWQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMzMzJX0ub2Zmc2V0LW1kLTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY2NjY2NyV9Lm9mZnNldC1tZC05e21hcmdpbi1sZWZ0Ojc1JX0ub2Zmc2V0LW1kLTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMzMzMzMlfS5vZmZzZXQtbWQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY2NjY2NyV9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuY29sLWxne2ZsZXgtYmFzaXM6MDtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0ucm93LWNvbHMtbGctMT4qe2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9LnJvdy1jb2xzLWxnLTI+KntmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0ucm93LWNvbHMtbGctMz4qe2ZsZXg6MCAwIDMzLjMzMzMzMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMzMzMzJX0ucm93LWNvbHMtbGctND4qe2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5yb3ctY29scy1sZy01Pip7ZmxleDowIDAgMjAlO21heC13aWR0aDoyMCV9LnJvdy1jb2xzLWxnLTY+KntmbGV4OjAgMCAxNi42NjY2NjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY2NjY2NyV9LmNvbC1sZy1hdXRve2ZsZXg6MCAwIGF1dG87bWF4LXdpZHRoOjEwMCU7d2lkdGg6YXV0b30uY29sLWxnLTF7ZmxleDowIDAgOC4zMzMzMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMzMzMzJX0uY29sLWxnLTJ7ZmxleDowIDAgMTYuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NjY2NjclfS5jb2wtbGctM3tmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0uY29sLWxnLTR7ZmxleDowIDAgMzMuMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMzMzMzMlfS5jb2wtbGctNXtmbGV4OjAgMCA0MS42NjY2NjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY2NjY2NyV9LmNvbC1sZy02e2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5jb2wtbGctN3tmbGV4OjAgMCA1OC4zMzMzMzMzMzMzJTttYXgtd2lkdGg6NTguMzMzMzMzMzMzMyV9LmNvbC1sZy04e2ZsZXg6MCAwIDY2LjY2NjY2NjY2NjclO21heC13aWR0aDo2Ni42NjY2NjY2NjY3JX0uY29sLWxnLTl7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC1sZy0xMHtmbGV4OjAgMCA4My4zMzMzMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzMzMzMyV9LmNvbC1sZy0xMXtmbGV4OjAgMCA5MS42NjY2NjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjY2NjY2NyV9LmNvbC1sZy0xMntmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5vcmRlci1sZy1maXJzdHtvcmRlcjotMX0ub3JkZXItbGctbGFzdHtvcmRlcjoxM30ub3JkZXItbGctMHtvcmRlcjowfS5vcmRlci1sZy0xe29yZGVyOjF9Lm9yZGVyLWxnLTJ7b3JkZXI6Mn0ub3JkZXItbGctM3tvcmRlcjozfS5vcmRlci1sZy00e29yZGVyOjR9Lm9yZGVyLWxnLTV7b3JkZXI6NX0ub3JkZXItbGctNntvcmRlcjo2fS5vcmRlci1sZy03e29yZGVyOjd9Lm9yZGVyLWxnLTh7b3JkZXI6OH0ub3JkZXItbGctOXtvcmRlcjo5fS5vcmRlci1sZy0xMHtvcmRlcjoxMH0ub3JkZXItbGctMTF7b3JkZXI6MTF9Lm9yZGVyLWxnLTEye29yZGVyOjEyfS5vZmZzZXQtbGctMHttYXJnaW4tbGVmdDowfS5vZmZzZXQtbGctMXttYXJnaW4tbGVmdDo4LjMzMzMzMzMzMzMlfS5vZmZzZXQtbGctMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NjY3JX0ub2Zmc2V0LWxnLTN7bWFyZ2luLWxlZnQ6MjUlfS5vZmZzZXQtbGctNHttYXJnaW4tbGVmdDozMy4zMzMzMzMzMzMzJX0ub2Zmc2V0LWxnLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjY2NyV9Lm9mZnNldC1sZy02e21hcmdpbi1sZWZ0OjUwJX0ub2Zmc2V0LWxnLTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMzMyV9Lm9mZnNldC1sZy04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NjY2NjclfS5vZmZzZXQtbGctOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC1sZy0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMzMzMzJX0ub2Zmc2V0LWxnLTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY2NjclfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5jb2wteGx7ZmxleC1iYXNpczowO2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5yb3ctY29scy14bC0xPip7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ucm93LWNvbHMteGwtMj4qe2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5yb3ctY29scy14bC0zPip7ZmxleDowIDAgMzMuMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMzMzMzMlfS5yb3ctY29scy14bC00Pip7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LnJvdy1jb2xzLXhsLTU+KntmbGV4OjAgMCAyMCU7bWF4LXdpZHRoOjIwJX0ucm93LWNvbHMteGwtNj4qe2ZsZXg6MCAwIDE2LjY2NjY2NjY2NjclO21heC13aWR0aDoxNi42NjY2NjY2NjY3JX0uY29sLXhsLWF1dG97ZmxleDowIDAgYXV0bzttYXgtd2lkdGg6MTAwJTt3aWR0aDphdXRvfS5jb2wteGwtMXtmbGV4OjAgMCA4LjMzMzMzMzMzMzMlO21heC13aWR0aDo4LjMzMzMzMzMzMzMlfS5jb2wteGwtMntmbGV4OjAgMCAxNi42NjY2NjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY2NjY2NyV9LmNvbC14bC0ze2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5jb2wteGwtNHtmbGV4OjAgMCAzMy4zMzMzMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzMzMzMyV9LmNvbC14bC01e2ZsZXg6MCAwIDQxLjY2NjY2NjY2NjclO21heC13aWR0aDo0MS42NjY2NjY2NjY3JX0uY29sLXhsLTZ7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC14bC03e2ZsZXg6MCAwIDU4LjMzMzMzMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMzMzMzJX0uY29sLXhsLTh7ZmxleDowIDAgNjYuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NjY2NjclfS5jb2wteGwtOXtmbGV4OjAgMCA3NSU7bWF4LXdpZHRoOjc1JX0uY29sLXhsLTEwe2ZsZXg6MCAwIDgzLjMzMzMzMzMzMzMlO21heC13aWR0aDo4My4zMzMzMzMzMzMzJX0uY29sLXhsLTExe2ZsZXg6MCAwIDkxLjY2NjY2NjY2NjclO21heC13aWR0aDo5MS42NjY2NjY2NjY3JX0uY29sLXhsLTEye2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLXhsLWZpcnN0e29yZGVyOi0xfS5vcmRlci14bC1sYXN0e29yZGVyOjEzfS5vcmRlci14bC0we29yZGVyOjB9Lm9yZGVyLXhsLTF7b3JkZXI6MX0ub3JkZXIteGwtMntvcmRlcjoyfS5vcmRlci14bC0ze29yZGVyOjN9Lm9yZGVyLXhsLTR7b3JkZXI6NH0ub3JkZXIteGwtNXtvcmRlcjo1fS5vcmRlci14bC02e29yZGVyOjZ9Lm9yZGVyLXhsLTd7b3JkZXI6N30ub3JkZXIteGwtOHtvcmRlcjo4fS5vcmRlci14bC05e29yZGVyOjl9Lm9yZGVyLXhsLTEwe29yZGVyOjEwfS5vcmRlci14bC0xMXtvcmRlcjoxMX0ub3JkZXIteGwtMTJ7b3JkZXI6MTJ9Lm9mZnNldC14bC0we21hcmdpbi1sZWZ0OjB9Lm9mZnNldC14bC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzMzMzMyV9Lm9mZnNldC14bC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NjY2NjclfS5vZmZzZXQteGwtM3ttYXJnaW4tbGVmdDoyNSV9Lm9mZnNldC14bC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMzMzMzMlfS5vZmZzZXQteGwtNXttYXJnaW4tbGVmdDo0MS42NjY2NjY2NjY3JX0ub2Zmc2V0LXhsLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQteGwtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMzMzJX0ub2Zmc2V0LXhsLTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY2NjY2NyV9Lm9mZnNldC14bC05e21hcmdpbi1sZWZ0Ojc1JX0ub2Zmc2V0LXhsLTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMzMzMzMlfS5vZmZzZXQteGwtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY2NjY2NyV9fS50YWJsZXtjb2xvcjojMjEyNTI5O21hcmdpbi1ib3R0b206MXJlbTt3aWR0aDoxMDAlfS50YWJsZSB0ZCwudGFibGUgdGh7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RlZTJlNjtwYWRkaW5nOi43NXJlbTt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnRhYmxlIHRoZWFkIHRoe2JvcmRlci1ib3R0b206MnB4IHNvbGlkICNkZWUyZTY7dmVydGljYWwtYWxpZ246Ym90dG9tfS50YWJsZSB0Ym9keSt0Ym9keXtib3JkZXItdG9wOjJweCBzb2xpZCAjZGVlMmU2fS50YWJsZS1zbSB0ZCwudGFibGUtc20gdGh7cGFkZGluZzouM3JlbX0udGFibGUtYm9yZGVyZWQsLnRhYmxlLWJvcmRlcmVkIHRkLC50YWJsZS1ib3JkZXJlZCB0aHtib3JkZXI6MXB4IHNvbGlkICNkZWUyZTZ9LnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRkLC50YWJsZS1ib3JkZXJlZCB0aGVhZCB0aHtib3JkZXItYm90dG9tLXdpZHRoOjJweH0udGFibGUtYm9yZGVybGVzcyB0Ym9keSt0Ym9keSwudGFibGUtYm9yZGVybGVzcyB0ZCwudGFibGUtYm9yZGVybGVzcyB0aCwudGFibGUtYm9yZGVybGVzcyB0aGVhZCB0aHtib3JkZXI6MH0udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDUpfS50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA3NSk7Y29sb3I6IzIxMjUyOX0udGFibGUtcHJpbWFyeSwudGFibGUtcHJpbWFyeT50ZCwudGFibGUtcHJpbWFyeT50aHtiYWNrZ3JvdW5kLWNvbG9yOiNjNGM1ZTB9LnRhYmxlLXByaW1hcnkgdGJvZHkrdGJvZHksLnRhYmxlLXByaW1hcnkgdGQsLnRhYmxlLXByaW1hcnkgdGgsLnRhYmxlLXByaW1hcnkgdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiM5Mjk0YzZ9LnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyLC50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYjNiNWQ3fS50YWJsZS1zZWNvbmRhcnksLnRhYmxlLXNlY29uZGFyeT50ZCwudGFibGUtc2Vjb25kYXJ5PnRoe2JhY2tncm91bmQtY29sb3I6I2Q2ZDhkYn0udGFibGUtc2Vjb25kYXJ5IHRib2R5K3Rib2R5LC50YWJsZS1zZWNvbmRhcnkgdGQsLnRhYmxlLXNlY29uZGFyeSB0aCwudGFibGUtc2Vjb25kYXJ5IHRoZWFkIHRoe2JvcmRlci1jb2xvcjojYjNiN2JifS50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyLC50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyPnRoe2JhY2tncm91bmQtY29sb3I6I2M4Y2JjZn0udGFibGUtc3VjY2VzcywudGFibGUtc3VjY2Vzcz50ZCwudGFibGUtc3VjY2Vzcz50aHtiYWNrZ3JvdW5kLWNvbG9yOiNjOGVhY2N9LnRhYmxlLXN1Y2Nlc3MgdGJvZHkrdGJvZHksLnRhYmxlLXN1Y2Nlc3MgdGQsLnRhYmxlLXN1Y2Nlc3MgdGgsLnRhYmxlLXN1Y2Nlc3MgdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiM5OGQ5YTF9LnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyLC50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYjZlM2JifS50YWJsZS1pbmZvLC50YWJsZS1pbmZvPnRkLC50YWJsZS1pbmZvPnRoe2JhY2tncm91bmQtY29sb3I6I2JkZGRkZH0udGFibGUtaW5mbyB0Ym9keSt0Ym9keSwudGFibGUtaW5mbyB0ZCwudGFibGUtaW5mbyB0aCwudGFibGUtaW5mbyB0aGVhZCB0aHtib3JkZXItY29sb3I6Izg0YzFjMH0udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIsLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNhY2Q0ZDR9LnRhYmxlLXdhcm5pbmcsLnRhYmxlLXdhcm5pbmc+dGQsLnRhYmxlLXdhcm5pbmc+dGh7YmFja2dyb3VuZC1jb2xvcjojZmVlZGI4fS50YWJsZS13YXJuaW5nIHRib2R5K3Rib2R5LC50YWJsZS13YXJuaW5nIHRkLC50YWJsZS13YXJuaW5nIHRoLC50YWJsZS13YXJuaW5nIHRoZWFkIHRoe2JvcmRlci1jb2xvcjojZmRkZTdhfS50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciwudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyPnRoe2JhY2tncm91bmQtY29sb3I6I2ZlZTc5Zn0udGFibGUtZGFuZ2VyLC50YWJsZS1kYW5nZXI+dGQsLnRhYmxlLWRhbmdlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNmMWI4Yjh9LnRhYmxlLWRhbmdlciB0Ym9keSt0Ym9keSwudGFibGUtZGFuZ2VyIHRkLC50YWJsZS1kYW5nZXIgdGgsLnRhYmxlLWRhbmdlciB0aGVhZCB0aHtib3JkZXItY29sb3I6I2U0N2E3YX0udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciwudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNlZGEzYTN9LnRhYmxlLWxpZ2h0LC50YWJsZS1saWdodD50ZCwudGFibGUtbGlnaHQ+dGh7YmFja2dyb3VuZC1jb2xvcjojZmRmZGZlfS50YWJsZS1saWdodCB0Ym9keSt0Ym9keSwudGFibGUtbGlnaHQgdGQsLnRhYmxlLWxpZ2h0IHRoLC50YWJsZS1saWdodCB0aGVhZCB0aHtib3JkZXItY29sb3I6I2ZiZmNmY30udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyLC50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNlY2VjZjZ9LnRhYmxlLWRhcmssLnRhYmxlLWRhcms+dGQsLnRhYmxlLWRhcms+dGh7YmFja2dyb3VuZC1jb2xvcjojYzVjNWM1fS50YWJsZS1kYXJrIHRib2R5K3Rib2R5LC50YWJsZS1kYXJrIHRkLC50YWJsZS1kYXJrIHRoLC50YWJsZS1kYXJrIHRoZWFkIHRoe2JvcmRlci1jb2xvcjojOTM5MzkzfS50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciwudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyPnRoe2JhY2tncm91bmQtY29sb3I6I2I4YjhiOH0udGFibGUtYWN0aXZlLC50YWJsZS1hY3RpdmU+dGQsLnRhYmxlLWFjdGl2ZT50aCwudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciwudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA3NSl9LnRhYmxlIC50aGVhZC1kYXJrIHRoe2JhY2tncm91bmQtY29sb3I6IzM0M2E0MDtib3JkZXItY29sb3I6IzQ1NGQ1NTtjb2xvcjojZmZmfS50YWJsZSAudGhlYWQtbGlnaHQgdGh7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1jb2xvcjojZGVlMmU2O2NvbG9yOiM0OTUwNTd9LnRhYmxlLWRhcmt7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwO2NvbG9yOiNmZmZ9LnRhYmxlLWRhcmsgdGQsLnRhYmxlLWRhcmsgdGgsLnRhYmxlLWRhcmsgdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiM0NTRkNTV9LnRhYmxlLWRhcmsudGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9LnRhYmxlLWRhcmsudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpe2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjA1KX0udGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC4wNzUpO2NvbG9yOiNmZmZ9QG1lZGlhIChtYXgtd2lkdGg6NTc1Ljk4cHgpey50YWJsZS1yZXNwb25zaXZlLXNtey13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteDphdXRvO3dpZHRoOjEwMCV9LnRhYmxlLXJlc3BvbnNpdmUtc20+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfX1AbWVkaWEgKG1heC13aWR0aDo3NjcuOThweCl7LnRhYmxlLXJlc3BvbnNpdmUtbWR7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmF1dG87d2lkdGg6MTAwJX0udGFibGUtcmVzcG9uc2l2ZS1tZD4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9fUBtZWRpYSAobWF4LXdpZHRoOjk5MS45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS1sZ3std2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bzt3aWR0aDoxMDAlfS50YWJsZS1yZXNwb25zaXZlLWxnPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH19QG1lZGlhIChtYXgtd2lkdGg6MTE5OS45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS14bHstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bzt3aWR0aDoxMDAlfS50YWJsZS1yZXNwb25zaXZlLXhsPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH19LnRhYmxlLXJlc3BvbnNpdmV7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmF1dG87d2lkdGg6MTAwJX0udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9LmZvcm0tY29udHJvbHtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2NlZDRkYTtib3JkZXItcmFkaXVzOi4yNXJlbTtjb2xvcjojNDk1MDU3O2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOi45NXJlbTtmb250LXdlaWdodDo0MDA7aGVpZ2h0OmNhbGMoMS41ZW0gKyAuNzVyZW0gKyAycHgpO2xpbmUtaGVpZ2h0OjEuNTtwYWRkaW5nOi4zNzVyZW0gLjc1cmVtO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0O3dpZHRoOjEwMCV9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmZvcm0tY29udHJvbHt0cmFuc2l0aW9uOm5vbmV9fS5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MH0uZm9ybS1jb250cm9sOi1tb3otZm9jdXNyaW5ne2NvbG9yOnRyYW5zcGFyZW50O3RleHQtc2hhZG93OjAgMCAwICM0OTUwNTd9LmZvcm0tY29udHJvbDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiM2ZTcxZDE7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQ2LDQ5LDE0NiwuMjUpO2NvbG9yOiM0OTUwNTc7b3V0bGluZTowfS5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDpkaXNhYmxlZCwuZm9ybS1jb250cm9sW3JlYWRvbmx5XXtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7b3BhY2l0eToxfWlucHV0W3R5cGU9ZGF0ZV0uZm9ybS1jb250cm9sLGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLmZvcm0tY29udHJvbCxpbnB1dFt0eXBlPW1vbnRoXS5mb3JtLWNvbnRyb2wsaW5wdXRbdHlwZT10aW1lXS5mb3JtLWNvbnRyb2x7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfXNlbGVjdC5mb3JtLWNvbnRyb2w6Zm9jdXM6Oi1tcy12YWx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzQ5NTA1N30uZm9ybS1jb250cm9sLWZpbGUsLmZvcm0tY29udHJvbC1yYW5nZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9LmNvbC1mb3JtLWxhYmVse2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OjEuNTttYXJnaW4tYm90dG9tOjA7cGFkZGluZy1ib3R0b206Y2FsYyguMzc1cmVtICsgMXB4KTtwYWRkaW5nLXRvcDpjYWxjKC4zNzVyZW0gKyAxcHgpfS5jb2wtZm9ybS1sYWJlbC1sZ3tmb250LXNpemU6MS4xODc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtwYWRkaW5nLWJvdHRvbTpjYWxjKC41cmVtICsgMXB4KTtwYWRkaW5nLXRvcDpjYWxjKC41cmVtICsgMXB4KX0uY29sLWZvcm0tbGFiZWwtc217Zm9udC1zaXplOi44MzEyNXJlbTtsaW5lLWhlaWdodDoxLjU7cGFkZGluZy1ib3R0b206Y2FsYyguMjVyZW0gKyAxcHgpO3BhZGRpbmctdG9wOmNhbGMoLjI1cmVtICsgMXB4KX0uZm9ybS1jb250cm9sLXBsYWludGV4dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6MXB4IDA7Y29sb3I6IzIxMjUyOTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTouOTVyZW07bGluZS1oZWlnaHQ6MS41O21hcmdpbi1ib3R0b206MDtwYWRkaW5nOi4zNzVyZW0gMDt3aWR0aDoxMDAlfS5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1sZywuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtc217cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5mb3JtLWNvbnRyb2wtc217Ym9yZGVyLXJhZGl1czouMnJlbTtmb250LXNpemU6LjgzMTI1cmVtO2hlaWdodDpjYWxjKDEuNWVtICsgLjVyZW0gKyAycHgpO2xpbmUtaGVpZ2h0OjEuNTtwYWRkaW5nOi4yNXJlbSAuNXJlbX0uZm9ybS1jb250cm9sLWxne2JvcmRlci1yYWRpdXM6LjNyZW07Zm9udC1zaXplOjEuMTg3NXJlbTtoZWlnaHQ6Y2FsYygxLjVlbSArIDFyZW0gKyAycHgpO2xpbmUtaGVpZ2h0OjEuNTtwYWRkaW5nOi41cmVtIDFyZW19c2VsZWN0LmZvcm0tY29udHJvbFttdWx0aXBsZV0sc2VsZWN0LmZvcm0tY29udHJvbFtzaXplXSx0ZXh0YXJlYS5mb3JtLWNvbnRyb2x7aGVpZ2h0OmF1dG99LmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbToxcmVtfS5mb3JtLXRleHR7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi4yNXJlbX0uZm9ybS1yb3d7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1sZWZ0Oi01cHg7bWFyZ2luLXJpZ2h0Oi01cHh9LmZvcm0tcm93Pi5jb2wsLmZvcm0tcm93PltjbGFzcyo9Y29sLV17cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjVweH0uZm9ybS1jaGVja3tkaXNwbGF5OmJsb2NrO3BhZGRpbmctbGVmdDoxLjI1cmVtO3Bvc2l0aW9uOnJlbGF0aXZlfS5mb3JtLWNoZWNrLWlucHV0e21hcmdpbi1sZWZ0Oi0xLjI1cmVtO21hcmdpbi10b3A6LjNyZW07cG9zaXRpb246YWJzb2x1dGV9LmZvcm0tY2hlY2staW5wdXQ6ZGlzYWJsZWR+LmZvcm0tY2hlY2stbGFiZWwsLmZvcm0tY2hlY2staW5wdXRbZGlzYWJsZWRdfi5mb3JtLWNoZWNrLWxhYmVse2NvbG9yOiM2Yzc1N2R9LmZvcm0tY2hlY2stbGFiZWx7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWNoZWNrLWlubGluZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4tcmlnaHQ6Ljc1cmVtO3BhZGRpbmctbGVmdDowfS5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dHttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDouMzEyNXJlbTttYXJnaW4tdG9wOjA7cG9zaXRpb246c3RhdGljfS52YWxpZC1mZWVkYmFja3tjb2xvcjojMzliNTRhO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6ODAlO21hcmdpbi10b3A6LjI1cmVtO3dpZHRoOjEwMCV9LnZhbGlkLXRvb2x0aXB7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDU3LDE4MSw3NCwuOSk7Ym9yZGVyLXJhZGl1czouMjVyZW07Y29sb3I6I2ZmZjtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOi44MzEyNXJlbTtsZWZ0OjA7bGluZS1oZWlnaHQ6MS41O21hcmdpbi10b3A6LjFyZW07bWF4LXdpZHRoOjEwMCU7cGFkZGluZzouMjVyZW0gLjVyZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7ei1pbmRleDo1fS5mb3JtLXJvdz4uY29sPi52YWxpZC10b29sdGlwLC5mb3JtLXJvdz5bY2xhc3MqPWNvbC1dPi52YWxpZC10b29sdGlwe2xlZnQ6NXB4fS5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssLmlzLXZhbGlkfi52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgOnZhbGlkfi52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmZvcm0tY29udHJvbC5pcy12YWxpZCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlke2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyUzRSUzQ3BhdGggZmlsbD0nJTIzMzliNTRhJyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0UiKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0pIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNhbGMoLjc1ZW0gKyAuMzc1cmVtKSBjYWxjKC43NWVtICsgLjM3NXJlbSk7Ym9yZGVyLWNvbG9yOiMzOWI1NGE7cGFkZGluZy1yaWdodDpjYWxjKDEuNWVtICsgLjc1cmVtKX0uZm9ybS1jb250cm9sLmlzLXZhbGlkOmZvY3VzLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMzOWI1NGE7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDU3LDE4MSw3NCwuMjUpfS53YXMtdmFsaWRhdGVkIHRleHRhcmVhLmZvcm0tY29udHJvbDp2YWxpZCx0ZXh0YXJlYS5mb3JtLWNvbnRyb2wuaXMtdmFsaWR7YmFja2dyb3VuZC1wb3NpdGlvbjp0b3AgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSkgcmlnaHQgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSk7cGFkZGluZy1yaWdodDpjYWxjKDEuNWVtICsgLjc1cmVtKX0uY3VzdG9tLXNlbGVjdC5pcy12YWxpZCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZHtiYWNrZ3JvdW5kOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNSclM0UlM0NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMCAwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRSIpIHJpZ2h0IC43NXJlbSBjZW50ZXIvOHB4IDEwcHggbm8tcmVwZWF0LCNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyUzRSUzQ3BhdGggZmlsbD0nJTIzMzliNTRhJyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0UiKSBjZW50ZXIgcmlnaHQgMS43NXJlbS9jYWxjKC43NWVtICsgLjM3NXJlbSkgY2FsYyguNzVlbSArIC4zNzVyZW0pIG5vLXJlcGVhdDtib3JkZXItY29sb3I6IzM5YjU0YTtwYWRkaW5nLXJpZ2h0OmNhbGMoLjc1ZW0gKyAyLjMxMjVyZW0pfS5jdXN0b20tc2VsZWN0LmlzLXZhbGlkOmZvY3VzLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkOmZvY3Vze2JvcmRlci1jb2xvcjojMzliNTRhO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg1NywxODEsNzQsLjI1KX0uZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4uZm9ybS1jaGVjay1sYWJlbCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZH4uZm9ybS1jaGVjay1sYWJlbHtjb2xvcjojMzliNTRhfS5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkfi52YWxpZC1mZWVkYmFjaywuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWR+LnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWx7Y29sb3I6IzM5YjU0YX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZXtib3JkZXItY29sb3I6IzM5YjU0YX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojNTdjYTY3O2JvcmRlci1jb2xvcjojNTdjYTY3fS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3Jle2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg1NywxODEsNzQsLjI1KX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1czpub3QoOmNoZWNrZWQpfi5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7Ym9yZGVyLWNvbG9yOiMzOWI1NGF9LmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWR+LmN1c3RvbS1maWxlLWxhYmVse2JvcmRlci1jb2xvcjojMzliNTRhfS5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkOmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbHtib3JkZXItY29sb3I6IzM5YjU0YTtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTcsMTgxLDc0LC4yNSl9LmludmFsaWQtZmVlZGJhY2t7Y29sb3I6I2MwMDtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOjgwJTttYXJnaW4tdG9wOi4yNXJlbTt3aWR0aDoxMDAlfS5pbnZhbGlkLXRvb2x0aXB7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIwNCwwLDAsLjkpO2JvcmRlci1yYWRpdXM6LjI1cmVtO2NvbG9yOiNmZmY7ZGlzcGxheTpub25lO2ZvbnQtc2l6ZTouODMxMjVyZW07bGVmdDowO2xpbmUtaGVpZ2h0OjEuNTttYXJnaW4tdG9wOi4xcmVtO21heC13aWR0aDoxMDAlO3BhZGRpbmc6LjI1cmVtIC41cmVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO3otaW5kZXg6NX0uZm9ybS1yb3c+LmNvbD4uaW52YWxpZC10b29sdGlwLC5mb3JtLXJvdz5bY2xhc3MqPWNvbC1dPi5pbnZhbGlkLXRvb2x0aXB7bGVmdDo1cHh9LmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCA6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCA6aW52YWxpZH4uaW52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmZvcm0tY29udHJvbC5pcy1pbnZhbGlkLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZHtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyUyM2MwMCclM0UlM0NjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLyUzRSUzQ3BhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8lM0UlM0NjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPSclMjNjMDAnIHN0cm9rZT0nbm9uZScvJTNFJTNDL3N2ZyUzRSIpO2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSkgY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y2FsYyguNzVlbSArIC4zNzVyZW0pIGNhbGMoLjc1ZW0gKyAuMzc1cmVtKTtib3JkZXItY29sb3I6I2MwMDtwYWRkaW5nLXJpZ2h0OmNhbGMoMS41ZW0gKyAuNzVyZW0pfS5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZDpmb2N1cywud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOiNjMDA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIwNCwwLDAsLjI1KX0ud2FzLXZhbGlkYXRlZCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2w6aW52YWxpZCx0ZXh0YXJlYS5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcCBjYWxjKC4zNzVlbSArIC4xODc1cmVtKSByaWdodCBjYWxjKC4zNzVlbSArIC4xODc1cmVtKTtwYWRkaW5nLXJpZ2h0OmNhbGMoMS41ZW0gKyAuNzVyZW0pfS5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZHtiYWNrZ3JvdW5kOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNSclM0UlM0NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMCAwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRSIpIHJpZ2h0IC43NXJlbSBjZW50ZXIvOHB4IDEwcHggbm8tcmVwZWF0LCNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzYzAwJyUzRSUzQ2NpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvJTNFJTNDcGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLyUzRSUzQ2NpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyUyM2MwMCcgc3Ryb2tlPSdub25lJy8lM0UlM0Mvc3ZnJTNFIikgY2VudGVyIHJpZ2h0IDEuNzVyZW0vY2FsYyguNzVlbSArIC4zNzVyZW0pIGNhbGMoLjc1ZW0gKyAuMzc1cmVtKSBuby1yZXBlYXQ7Ym9yZGVyLWNvbG9yOiNjMDA7cGFkZGluZy1yaWdodDpjYWxjKC43NWVtICsgMi4zMTI1cmVtKX0uY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkOmZvY3VzLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOiNjMDA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIwNCwwLDAsLjI1KX0uZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfi5mb3JtLWNoZWNrLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWR+LmZvcm0tY2hlY2stbGFiZWx7Y29sb3I6I2MwMH0uZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWR+LmludmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWx7Y29sb3I6I2MwMH0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7Ym9yZGVyLWNvbG9yOiNjMDB9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJlZDtib3JkZXItY29sb3I6cmVkfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Zm9jdXN+LmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZXtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjA0LDAsMCwuMjUpfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCl+LmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpmb2N1czpub3QoOmNoZWNrZWQpfi5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7Ym9yZGVyLWNvbG9yOiNjMDB9LmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWR+LmN1c3RvbS1maWxlLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbHtib3JkZXItY29sb3I6I2MwMH0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVse2JvcmRlci1jb2xvcjojYzAwO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMDQsMCwwLC4yNSl9LmZvcm0taW5saW5le2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1mbG93OnJvdyB3cmFwfS5mb3JtLWlubGluZSAuZm9ybS1jaGVja3t3aWR0aDoxMDAlfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuZm9ybS1pbmxpbmUgbGFiZWx7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXAsLmZvcm0taW5saW5lIGxhYmVse2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWlubGluZSAuZm9ybS1ncm91cHtmbGV4OjAgMCBhdXRvO2ZsZXgtZmxvdzpyb3cgd3JhcH0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6YXV0b30uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1wbGFpbnRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZvcm0taW5saW5lIC5jdXN0b20tc2VsZWN0LC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXB7d2lkdGg6YXV0b30uZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2t7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctbGVmdDowO3dpZHRoOmF1dG99LmZvcm0taW5saW5lIC5mb3JtLWNoZWNrLWlucHV0e2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6LjI1cmVtO21hcmdpbi10b3A6MDtwb3NpdGlvbjpyZWxhdGl2ZX0uZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9se2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5mb3JtLWlubGluZSAuY3VzdG9tLWNvbnRyb2wtbGFiZWx7bWFyZ2luLWJvdHRvbTowfX0uYnRue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOi4yNXJlbTtjb2xvcjojMjEyNTI5O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTouOTVyZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNTtwYWRkaW5nOi4zNzVyZW0gLjc1cmVtO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246Y29sb3IgLjE1cyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmJ0bnt0cmFuc2l0aW9uOm5vbmV9fS5idG46aG92ZXJ7Y29sb3I6IzIxMjUyOTt0ZXh0LWRlY29yYXRpb246bm9uZX0uYnRuLmZvY3VzLC5idG46Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQ2LDQ5LDE0NiwuMjUpO291dGxpbmU6MH0uYnRuLmRpc2FibGVkLC5idG46ZGlzYWJsZWR7b3BhY2l0eTouNjV9LmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn1hLmJ0bi5kaXNhYmxlZCxmaWVsZHNldDpkaXNhYmxlZCBhLmJ0bntwb2ludGVyLWV2ZW50czpub25lfS5idG4tcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMyZTMxOTI7Ym9yZGVyLWNvbG9yOiMyZTMxOTI7Y29sb3I6I2ZmZn0uYnRuLXByaW1hcnkuZm9jdXMsLmJ0bi1wcmltYXJ5OmZvY3VzLC5idG4tcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyNTI3NzU7Ym9yZGVyLWNvbG9yOiMyMjI0NmI7Y29sb3I6I2ZmZn0uYnRuLXByaW1hcnkuZm9jdXMsLmJ0bi1wcmltYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg3Nyw4MCwxNjIsLjUpfS5idG4tcHJpbWFyeS5kaXNhYmxlZCwuYnRuLXByaW1hcnk6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojMmUzMTkyO2JvcmRlci1jb2xvcjojMmUzMTkyO2NvbG9yOiNmZmZ9LmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojMjIyNDZiO2JvcmRlci1jb2xvcjojMWYyMTYyO2NvbG9yOiNmZmZ9LmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDc3LDgwLDE2MiwuNSl9LmJ0bi1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjojNmM3NTdkO2JvcmRlci1jb2xvcjojNmM3NTdkO2NvbG9yOiNmZmZ9LmJ0bi1zZWNvbmRhcnkuZm9jdXMsLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsLmJ0bi1zZWNvbmRhcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNWE2MjY4O2JvcmRlci1jb2xvcjojNTQ1YjYyO2NvbG9yOiNmZmZ9LmJ0bi1zZWNvbmRhcnkuZm9jdXMsLmJ0bi1zZWNvbmRhcnk6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSBoc2xhKDIwOCw2JSw1NCUsLjUpfS5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLC5idG4tc2Vjb25kYXJ5OmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZDtib3JkZXItY29sb3I6IzZjNzU3ZDtjb2xvcjojZmZmfS5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xle2JhY2tncm91bmQtY29sb3I6IzU0NWI2Mjtib3JkZXItY29sb3I6IzRlNTU1Yjtjb2xvcjojZmZmfS5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gaHNsYSgyMDgsNiUsNTQlLC41KX0uYnRuLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojMzliNTRhO2JvcmRlci1jb2xvcjojMzliNTRhO2NvbG9yOiNmZmZ9LmJ0bi1zdWNjZXNzLmZvY3VzLC5idG4tc3VjY2Vzczpmb2N1cywuYnRuLXN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMzA5ODNlO2JvcmRlci1jb2xvcjojMmQ4ZTNhO2NvbG9yOiNmZmZ9LmJ0bi1zdWNjZXNzLmZvY3VzLC5idG4tc3VjY2Vzczpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoODcsMTkyLDEwMSwuNSl9LmJ0bi1zdWNjZXNzLmRpc2FibGVkLC5idG4tc3VjY2VzczpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMzOWI1NGE7Ym9yZGVyLWNvbG9yOiMzOWI1NGE7Y29sb3I6I2ZmZn0uYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiMyZDhlM2E7Ym9yZGVyLWNvbG9yOiMyYTg1MzY7Y29sb3I6I2ZmZn0uYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoODcsMTkyLDEwMSwuNSl9LmJ0bi1pbmZve2JhY2tncm91bmQtY29sb3I6IzEyODc4NTtib3JkZXItY29sb3I6IzEyODc4NTtjb2xvcjojZmZmfS5idG4taW5mby5mb2N1cywuYnRuLWluZm86Zm9jdXMsLmJ0bi1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzBlNjU2NDtib3JkZXItY29sb3I6IzBjNWE1OTtjb2xvcjojZmZmfS5idG4taW5mby5mb2N1cywuYnRuLWluZm86Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDU0LDE1MywxNTEsLjUpfS5idG4taW5mby5kaXNhYmxlZCwuYnRuLWluZm86ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojMTI4Nzg1O2JvcmRlci1jb2xvcjojMTI4Nzg1O2NvbG9yOiNmZmZ9LmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4taW5mby5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojMGM1YTU5O2JvcmRlci1jb2xvcjojMGI0ZjRlO2NvbG9yOiNmZmZ9LmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDU0LDE1MywxNTEsLjUpfS5idG4td2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmY2JmMDA7Ym9yZGVyLWNvbG9yOiNmY2JmMDA7Y29sb3I6IzIxMjUyOX0uYnRuLXdhcm5pbmcuZm9jdXMsLmJ0bi13YXJuaW5nOmZvY3VzLC5idG4td2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkNmEyMDA7Ym9yZGVyLWNvbG9yOiNjOTk4MDA7Y29sb3I6IzIxMjUyOX0uYnRuLXdhcm5pbmcuZm9jdXMsLmJ0bi13YXJuaW5nOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMTksMTY4LDYsLjUpfS5idG4td2FybmluZy5kaXNhYmxlZCwuYnRuLXdhcm5pbmc6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZmNiZjAwO2JvcmRlci1jb2xvcjojZmNiZjAwO2NvbG9yOiMyMTI1Mjl9LmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojYzk5ODAwO2JvcmRlci1jb2xvcjojYmM4ZjAwO2NvbG9yOiNmZmZ9LmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIxOSwxNjgsNiwuNSl9LmJ0bi1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojYzAwO2JvcmRlci1jb2xvcjojYzAwO2NvbG9yOiNmZmZ9LmJ0bi1kYW5nZXIuZm9jdXMsLmJ0bi1kYW5nZXI6Zm9jdXMsLmJ0bi1kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYTYwMDAwO2JvcmRlci1jb2xvcjojOTAwO2NvbG9yOiNmZmZ9LmJ0bi1kYW5nZXIuZm9jdXMsLmJ0bi1kYW5nZXI6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIxMiwzOCwzOCwuNSl9LmJ0bi1kYW5nZXIuZGlzYWJsZWQsLmJ0bi1kYW5nZXI6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojYzAwO2JvcmRlci1jb2xvcjojYzAwO2NvbG9yOiNmZmZ9LmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojOTAwO2JvcmRlci1jb2xvcjojOGMwMDAwO2NvbG9yOiNmZmZ9LmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIxMiwzOCwzOCwuNSl9LmJ0bi1saWdodHtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyLWNvbG9yOiNmOGY5ZmE7Y29sb3I6IzIxMjUyOX0uYnRuLWxpZ2h0LmZvY3VzLC5idG4tbGlnaHQ6Zm9jdXMsLmJ0bi1saWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlMmU2ZWE7Ym9yZGVyLWNvbG9yOiNkYWUwZTU7Y29sb3I6IzIxMjUyOX0uYnRuLWxpZ2h0LmZvY3VzLC5idG4tbGlnaHQ6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSBoc2xhKDIyMCw0JSw4NSUsLjUpfS5idG4tbGlnaHQuZGlzYWJsZWQsLmJ0bi1saWdodDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyLWNvbG9yOiNmOGY5ZmE7Y29sb3I6IzIxMjUyOX0uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiNkYWUwZTU7Ym9yZGVyLWNvbG9yOiNkM2Q5ZGY7Y29sb3I6IzIxMjUyOX0uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIGhzbGEoMjIwLDQlLDg1JSwuNSl9LmJ0bi1kYXJre2JhY2tncm91bmQtY29sb3I6IzMwMzAzMDtib3JkZXItY29sb3I6IzMwMzAzMDtjb2xvcjojZmZmfS5idG4tZGFyay5mb2N1cywuYnRuLWRhcms6Zm9jdXMsLmJ0bi1kYXJrOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzFkMWQxZDtib3JkZXItY29sb3I6IzE3MTcxNztjb2xvcjojZmZmfS5idG4tZGFyay5mb2N1cywuYnRuLWRhcms6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDc5LDc5LDc5LC41KX0uYnRuLWRhcmsuZGlzYWJsZWQsLmJ0bi1kYXJrOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6IzMwMzAzMDtib3JkZXItY29sb3I6IzMwMzAzMDtjb2xvcjojZmZmfS5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xle2JhY2tncm91bmQtY29sb3I6IzE3MTcxNztib3JkZXItY29sb3I6IzEwMTAxMDtjb2xvcjojZmZmfS5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg3OSw3OSw3OSwuNSl9LmJ0bi1vdXRsaW5lLXByaW1hcnl7Ym9yZGVyLWNvbG9yOiMyZTMxOTI7Y29sb3I6IzJlMzE5Mn0uYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyZTMxOTI7Ym9yZGVyLWNvbG9yOiMyZTMxOTI7Y29sb3I6I2ZmZn0uYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cywuYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDYsNDksMTQ2LC41KX0uYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZCwuYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiMyZTMxOTJ9LmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojMmUzMTkyO2JvcmRlci1jb2xvcjojMmUzMTkyO2NvbG9yOiNmZmZ9LmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQ2LDQ5LDE0NiwuNSl9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeXtib3JkZXItY29sb3I6IzZjNzU3ZDtjb2xvcjojNmM3NTdkfS5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNmM3NTdkO2JvcmRlci1jb2xvcjojNmM3NTdkO2NvbG9yOiNmZmZ9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cywuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gaHNsYSgyMDgsNyUsNDYlLC41KX0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojNmM3NTdkfS5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xle2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZDtib3JkZXItY29sb3I6IzZjNzU3ZDtjb2xvcjojZmZmfS5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gaHNsYSgyMDgsNyUsNDYlLC41KX0uYnRuLW91dGxpbmUtc3VjY2Vzc3tib3JkZXItY29sb3I6IzM5YjU0YTtjb2xvcjojMzliNTRhfS5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzM5YjU0YTtib3JkZXItY29sb3I6IzM5YjU0YTtjb2xvcjojZmZmfS5idG4tb3V0bGluZS1zdWNjZXNzLmZvY3VzLC5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg1NywxODEsNzQsLjUpfS5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLC5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6IzM5YjU0YX0uYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiMzOWI1NGE7Ym9yZGVyLWNvbG9yOiMzOWI1NGE7Y29sb3I6I2ZmZn0uYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTcsMTgxLDc0LC41KX0uYnRuLW91dGxpbmUtaW5mb3tib3JkZXItY29sb3I6IzEyODc4NTtjb2xvcjojMTI4Nzg1fS5idG4tb3V0bGluZS1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzEyODc4NTtib3JkZXItY29sb3I6IzEyODc4NTtjb2xvcjojZmZmfS5idG4tb3V0bGluZS1pbmZvLmZvY3VzLC5idG4tb3V0bGluZS1pbmZvOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgxOCwxMzUsMTMzLC41KX0uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZCwuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiMxMjg3ODV9LmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojMTI4Nzg1O2JvcmRlci1jb2xvcjojMTI4Nzg1O2NvbG9yOiNmZmZ9LmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDE4LDEzNSwxMzMsLjUpfS5idG4tb3V0bGluZS13YXJuaW5ne2JvcmRlci1jb2xvcjojZmNiZjAwO2NvbG9yOiNmY2JmMDB9LmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmNiZjAwO2JvcmRlci1jb2xvcjojZmNiZjAwO2NvbG9yOiMyMTI1Mjl9LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZm9jdXMsLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI1MiwxOTEsMCwuNSl9LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojZmNiZjAwfS5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xle2JhY2tncm91bmQtY29sb3I6I2ZjYmYwMDtib3JkZXItY29sb3I6I2ZjYmYwMDtjb2xvcjojMjEyNTI5fS5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNTIsMTkxLDAsLjUpfS5idG4tb3V0bGluZS1kYW5nZXJ7Ym9yZGVyLWNvbG9yOiNjMDA7Y29sb3I6I2MwMH0uYnRuLW91dGxpbmUtZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2MwMDtib3JkZXItY29sb3I6I2MwMDtjb2xvcjojZmZmfS5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMsLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjA0LDAsMCwuNSl9LmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZCwuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2MwMH0uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiNjMDA7Ym9yZGVyLWNvbG9yOiNjMDA7Y29sb3I6I2ZmZn0uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjA0LDAsMCwuNSl9LmJ0bi1vdXRsaW5lLWxpZ2h0e2JvcmRlci1jb2xvcjojZjhmOWZhO2NvbG9yOiNmOGY5ZmF9LmJ0bi1vdXRsaW5lLWxpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYTtib3JkZXItY29sb3I6I2Y4ZjlmYTtjb2xvcjojMjEyNTI5fS5idG4tb3V0bGluZS1saWdodC5mb2N1cywuYnRuLW91dGxpbmUtbGlnaHQ6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI0OCwyNDksMjUwLC41KX0uYnRuLW91dGxpbmUtbGlnaHQuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLWxpZ2h0OmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2Y4ZjlmYX0uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyLWNvbG9yOiNmOGY5ZmE7Y29sb3I6IzIxMjUyOX0uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjUpfS5idG4tb3V0bGluZS1kYXJre2JvcmRlci1jb2xvcjojMzAzMDMwO2NvbG9yOiMzMDMwMzB9LmJ0bi1vdXRsaW5lLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwO2JvcmRlci1jb2xvcjojMzAzMDMwO2NvbG9yOiNmZmZ9LmJ0bi1vdXRsaW5lLWRhcmsuZm9jdXMsLmJ0bi1vdXRsaW5lLWRhcms6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQ4LDQ4LDQ4LC41KX0uYnRuLW91dGxpbmUtZGFyay5kaXNhYmxlZCwuYnRuLW91dGxpbmUtZGFyazpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiMzMDMwMzB9LmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwO2JvcmRlci1jb2xvcjojMzAzMDMwO2NvbG9yOiNmZmZ9LmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQ4LDQ4LDQ4LC41KX0uYnRuLWxpbmt7Y29sb3I6IzJlMzE5Mjtmb250LXdlaWdodDo0MDA7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmJ0bi1saW5rOmhvdmVye2NvbG9yOiMxYzFkNTh9LmJ0bi1saW5rLmZvY3VzLC5idG4tbGluazpmb2N1cywuYnRuLWxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uYnRuLWxpbmsuZGlzYWJsZWQsLmJ0bi1saW5rOmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7cG9pbnRlci1ldmVudHM6bm9uZX0uYnRuLWdyb3VwLWxnPi5idG4sLmJ0bi1sZ3tib3JkZXItcmFkaXVzOi4zcmVtO2ZvbnQtc2l6ZToxLjE4NzVyZW07bGluZS1oZWlnaHQ6MS41O3BhZGRpbmc6LjVyZW0gMXJlbX0uYnRuLWdyb3VwLXNtPi5idG4sLmJ0bi1zbXtib3JkZXItcmFkaXVzOi4ycmVtO2ZvbnQtc2l6ZTouODMxMjVyZW07bGluZS1oZWlnaHQ6MS41O3BhZGRpbmc6LjI1cmVtIC41cmVtfS5idG4tYmxvY2t7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5idG4tYmxvY2srLmJ0bi1ibG9ja3ttYXJnaW4tdG9wOi41cmVtfWlucHV0W3R5cGU9YnV0dG9uXS5idG4tYmxvY2ssaW5wdXRbdHlwZT1yZXNldF0uYnRuLWJsb2NrLGlucHV0W3R5cGU9c3VibWl0XS5idG4tYmxvY2t7d2lkdGg6MTAwJX0uZmFkZXt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXJ9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmZhZGV7dHJhbnNpdGlvbjpub25lfX0uZmFkZTpub3QoLnNob3cpe29wYWNpdHk6MH0uY29sbGFwc2U6bm90KC5zaG93KXtkaXNwbGF5Om5vbmV9LmNvbGxhcHNpbmd7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246aGVpZ2h0IC4zNXMgZWFzZX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuY29sbGFwc2luZ3t0cmFuc2l0aW9uOm5vbmV9fS5kcm9wZG93biwuZHJvcGxlZnQsLmRyb3ByaWdodCwuZHJvcHVwe3Bvc2l0aW9uOnJlbGF0aXZlfS5kcm9wZG93bi10b2dnbGV7d2hpdGUtc3BhY2U6bm93cmFwfS5kcm9wZG93bi10b2dnbGU6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTowO2JvcmRlci1sZWZ0Oi4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0Oi4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDouM2VtIHNvbGlkO2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6LjI1NWVtO3ZlcnRpY2FsLWFsaWduOi4yNTVlbX0uZHJvcGRvd24tdG9nZ2xlOmVtcHR5OmFmdGVye21hcmdpbi1sZWZ0OjB9LmRyb3Bkb3duLW1lbnV7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KTtib3JkZXItcmFkaXVzOi4yNXJlbTtjb2xvcjojMjEyNTI5O2Rpc3BsYXk6bm9uZTtmbG9hdDpsZWZ0O2ZvbnQtc2l6ZTouOTVyZW07bGVmdDowO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46LjEyNXJlbSAwIDA7bWluLXdpZHRoOjEwcmVtO3BhZGRpbmc6LjVyZW0gMDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmxlZnQ7dG9wOjEwMCU7ei1pbmRleDoxMDAwfS5kcm9wZG93bi1tZW51LWxlZnR7bGVmdDowO3JpZ2h0OmF1dG99LmRyb3Bkb3duLW1lbnUtcmlnaHR7bGVmdDphdXRvO3JpZ2h0OjB9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5kcm9wZG93bi1tZW51LXNtLWxlZnR7bGVmdDowO3JpZ2h0OmF1dG99LmRyb3Bkb3duLW1lbnUtc20tcmlnaHR7bGVmdDphdXRvO3JpZ2h0OjB9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZHJvcGRvd24tbWVudS1tZC1sZWZ0e2xlZnQ6MDtyaWdodDphdXRvfS5kcm9wZG93bi1tZW51LW1kLXJpZ2h0e2xlZnQ6YXV0bztyaWdodDowfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmRyb3Bkb3duLW1lbnUtbGctbGVmdHtsZWZ0OjA7cmlnaHQ6YXV0b30uZHJvcGRvd24tbWVudS1sZy1yaWdodHtsZWZ0OmF1dG87cmlnaHQ6MH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuZHJvcGRvd24tbWVudS14bC1sZWZ0e2xlZnQ6MDtyaWdodDphdXRvfS5kcm9wZG93bi1tZW51LXhsLXJpZ2h0e2xlZnQ6YXV0bztyaWdodDowfX0uZHJvcHVwIC5kcm9wZG93bi1tZW51e2JvdHRvbToxMDAlO21hcmdpbi1ib3R0b206LjEyNXJlbTttYXJnaW4tdG9wOjA7dG9wOmF1dG99LmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOmFmdGVye2JvcmRlci1ib3R0b206LjNlbSBzb2xpZDtib3JkZXItbGVmdDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6MDtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0Oi4yNTVlbTt2ZXJ0aWNhbC1hbGlnbjouMjU1ZW19LmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OmFmdGVye21hcmdpbi1sZWZ0OjB9LmRyb3ByaWdodCAuZHJvcGRvd24tbWVudXtsZWZ0OjEwMCU7bWFyZ2luLWxlZnQ6LjEyNXJlbTttYXJnaW4tdG9wOjA7cmlnaHQ6YXV0bzt0b3A6MH0uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0Oi4zZW0gc29saWQ7Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLXRvcDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6LjI1NWVtO3ZlcnRpY2FsLWFsaWduOi4yNTVlbX0uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6YWZ0ZXJ7bWFyZ2luLWxlZnQ6MH0uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6YWZ0ZXJ7dmVydGljYWwtYWxpZ246MH0uZHJvcGxlZnQgLmRyb3Bkb3duLW1lbnV7bGVmdDphdXRvO21hcmdpbi1yaWdodDouMTI1cmVtO21hcmdpbi10b3A6MDtyaWdodDoxMDAlO3RvcDowfS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZGlzcGxheTpub25lO21hcmdpbi1sZWZ0Oi4yNTVlbTt2ZXJ0aWNhbC1hbGlnbjouMjU1ZW19LmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6YmVmb3Jle2JvcmRlci1ib3R0b206LjNlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6LjNlbSBzb2xpZDtib3JkZXItdG9wOi4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tcmlnaHQ6LjI1NWVtO3ZlcnRpY2FsLWFsaWduOi4yNTVlbX0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTphZnRlcnttYXJnaW4tbGVmdDowfS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmJlZm9yZXt2ZXJ0aWNhbC1hbGlnbjowfS5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1ib3R0b21dLC5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1sZWZ0XSwuZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49cmlnaHRdLC5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj10b3Bde2JvdHRvbTphdXRvO3JpZ2h0OmF1dG99LmRyb3Bkb3duLWRpdmlkZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U5ZWNlZjtoZWlnaHQ6MDttYXJnaW46LjVyZW0gMDtvdmVyZmxvdzpoaWRkZW59LmRyb3Bkb3duLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MDtjbGVhcjpib3RoO2NvbG9yOiMyMTI1Mjk7ZGlzcGxheTpibG9jaztmb250LXdlaWdodDo0MDA7cGFkZGluZzouMjVyZW0gMS41cmVtO3RleHQtYWxpZ246aW5oZXJpdDt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0uZHJvcGRvd24taXRlbTpmb2N1cywuZHJvcGRvd24taXRlbTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Y29sb3I6IzE2MTgxYjt0ZXh0LWRlY29yYXRpb246bm9uZX0uZHJvcGRvd24taXRlbS5hY3RpdmUsLmRyb3Bkb3duLWl0ZW06YWN0aXZle2JhY2tncm91bmQtY29sb3I6IzJlMzE5Mjtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lfS5kcm9wZG93bi1pdGVtLmRpc2FibGVkLC5kcm9wZG93bi1pdGVtOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2FkYjViZDtwb2ludGVyLWV2ZW50czpub25lfS5kcm9wZG93bi1tZW51LnNob3d7ZGlzcGxheTpibG9ja30uZHJvcGRvd24taGVhZGVye2NvbG9yOiM2Yzc1N2Q7ZGlzcGxheTpibG9jaztmb250LXNpemU6LjgzMTI1cmVtO21hcmdpbi1ib3R0b206MDtwYWRkaW5nOi41cmVtIDEuNXJlbTt3aGl0ZS1zcGFjZTpub3dyYXB9LmRyb3Bkb3duLWl0ZW0tdGV4dHtjb2xvcjojMjEyNTI5O2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouMjVyZW0gMS41cmVtfS5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbHtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4sLmJ0bi1ncm91cD4uYnRue2ZsZXg6MSAxIGF1dG87cG9zaXRpb246cmVsYXRpdmV9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLmFjdGl2ZSwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46YWN0aXZlLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpmb2N1cywuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46aG92ZXIsLmJ0bi1ncm91cD4uYnRuLmFjdGl2ZSwuYnRuLWdyb3VwPi5idG46YWN0aXZlLC5idG4tZ3JvdXA+LmJ0bjpmb2N1cywuYnRuLWdyb3VwPi5idG46aG92ZXJ7ei1pbmRleDoxfS5idG4tdG9vbGJhcntkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cHt3aWR0aDphdXRvfS5idG4tZ3JvdXA+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSwuYnRuLWdyb3VwPi5idG46bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTFweH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKT4uYnRuLC5idG4tZ3JvdXA+LmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmJ0bi1ncm91cD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjB9LmRyb3Bkb3duLXRvZ2dsZS1zcGxpdHtwYWRkaW5nLWxlZnQ6LjU2MjVyZW07cGFkZGluZy1yaWdodDouNTYyNXJlbX0uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OmFmdGVyLC5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDphZnRlciwuZHJvcHVwIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6YWZ0ZXJ7bWFyZ2luLWxlZnQ6MH0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpiZWZvcmV7bWFyZ2luLXJpZ2h0OjB9LmJ0bi1ncm91cC1zbT4uYnRuKy5kcm9wZG93bi10b2dnbGUtc3BsaXQsLmJ0bi1zbSsuZHJvcGRvd24tdG9nZ2xlLXNwbGl0e3BhZGRpbmctbGVmdDouMzc1cmVtO3BhZGRpbmctcmlnaHQ6LjM3NXJlbX0uYnRuLWdyb3VwLWxnPi5idG4rLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwuYnRuLWxnKy5kcm9wZG93bi10b2dnbGUtc3BsaXR7cGFkZGluZy1sZWZ0Oi43NXJlbTtwYWRkaW5nLXJpZ2h0Oi43NXJlbX0uYnRuLWdyb3VwLXZlcnRpY2Fse2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cHt3aWR0aDoxMDAlfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLXRvcDotMXB4fS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwLXRvZ2dsZT4uYnRuLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0bnttYXJnaW4tYm90dG9tOjB9LmJ0bi1ncm91cC10b2dnbGU+LmJ0bi1ncm91cD4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0biBpbnB1dFt0eXBlPXJhZGlvXSwuYnRuLWdyb3VwLXRvZ2dsZT4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4gaW5wdXRbdHlwZT1yYWRpb117Y2xpcDpyZWN0KDAsMCwwLDApO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGV9LmlucHV0LWdyb3Vwe2FsaWduLWl0ZW1zOnN0cmV0Y2g7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0e2ZsZXg6MSAxIGF1dG87bWFyZ2luLWJvdHRvbTowO21pbi13aWR0aDowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjElfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGUrLmN1c3RvbS1maWxlLC5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGUrLmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSsuZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCsuY3VzdG9tLWZpbGUsLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0Ky5jdXN0b20tc2VsZWN0LC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCsuZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sKy5jdXN0b20tZmlsZSwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbCsuY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbCsuZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sLXBsYWludGV4dCsuY3VzdG9tLWZpbGUsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0Ky5jdXN0b20tc2VsZWN0LC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sLXBsYWludGV4dCsuZm9ybS1jb250cm9se21hcmdpbi1sZWZ0Oi0xcHh9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVsLC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpmb2N1cywuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbDpmb2N1c3t6LWluZGV4OjN9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXN7ei1pbmRleDo0fS5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVse2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjB9LmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uPi5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuKzMpIC5jdXN0b20tZmlsZS1sYWJlbDphZnRlciwuaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24+LmN1c3RvbS1zZWxlY3Q6bnRoLWxhc3QtY2hpbGQobiszKSwuaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24+LmZvcm0tY29udHJvbDpudGgtbGFzdC1jaGlsZChuKzMpLC5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKT4uY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6YWZ0ZXIsLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pPi5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pPi5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmlucHV0LWdyb3VwLWFwcGVuZCwuaW5wdXQtZ3JvdXAtcHJlcGVuZHtkaXNwbGF5OmZsZXh9LmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuLC5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG57cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyfS5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0bjpmb2N1cywuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuOmZvY3Vze3otaW5kZXg6M30uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4rLmJ0biwuaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4rLmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuYnRuLC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQrLmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bisuYnRuLC5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4rLmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQrLmJ0biwuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuaW5wdXQtZ3JvdXAtdGV4dHttYXJnaW4tbGVmdDotMXB4fS5pbnB1dC1ncm91cC1wcmVwZW5ke21hcmdpbi1yaWdodDotMXB4fS5pbnB1dC1ncm91cC1hcHBlbmR7bWFyZ2luLWxlZnQ6LTFweH0uaW5wdXQtZ3JvdXAtdGV4dHthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlcjoxcHggc29saWQgI2NlZDRkYTtib3JkZXItcmFkaXVzOi4yNXJlbTtjb2xvcjojNDk1MDU3O2Rpc3BsYXk6ZmxleDtmb250LXNpemU6Ljk1cmVtO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjU7bWFyZ2luLWJvdHRvbTowO3BhZGRpbmc6LjM3NXJlbSAuNzVyZW07dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfS5pbnB1dC1ncm91cC10ZXh0IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5pbnB1dC1ncm91cC10ZXh0IGlucHV0W3R5cGU9cmFkaW9de21hcmdpbi10b3A6MH0uaW5wdXQtZ3JvdXAtbGc+LmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKXtoZWlnaHQ6Y2FsYygxLjVlbSArIDFyZW0gKyAycHgpfS5pbnB1dC1ncm91cC1sZz4uY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dHtib3JkZXItcmFkaXVzOi4zcmVtO2ZvbnQtc2l6ZToxLjE4NzVyZW07bGluZS1oZWlnaHQ6MS41O3BhZGRpbmc6LjVyZW0gMXJlbX0uaW5wdXQtZ3JvdXAtc20+LmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKXtoZWlnaHQ6Y2FsYygxLjVlbSArIC41cmVtICsgMnB4KX0uaW5wdXQtZ3JvdXAtc20+LmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0biwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFwcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmJ0biwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmlucHV0LWdyb3VwLXRleHR7Ym9yZGVyLXJhZGl1czouMnJlbTtmb250LXNpemU6LjgzMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNTtwYWRkaW5nOi4yNXJlbSAuNXJlbX0uaW5wdXQtZ3JvdXAtbGc+LmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwLXNtPi5jdXN0b20tc2VsZWN0e3BhZGRpbmctcmlnaHQ6MS43NXJlbX0uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24+LmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuKzMpPi5idG4sLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uPi5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiszKT4uaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbik+LmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpPi5idG4sLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pPi5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKT4uaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZD4uaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0biwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQ+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQ+LmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCksLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpPi5pbnB1dC1ncm91cC10ZXh0e2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjB9LmN1c3RvbS1jb250cm9sey13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OmV4YWN0O2NvbG9yLWFkanVzdDpleGFjdDtkaXNwbGF5OmJsb2NrO21pbi1oZWlnaHQ6MS40MjVyZW07cGFkZGluZy1sZWZ0OjEuNXJlbTtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LmN1c3RvbS1jb250cm9sLWlubGluZXtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1yaWdodDoxcmVtfS5jdXN0b20tY29udHJvbC1pbnB1dHtoZWlnaHQ6MS4yMTI1cmVtO2xlZnQ6MDtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXJlbTt6LWluZGV4Oi0xfS5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojMmUzMTkyO2JvcmRlci1jb2xvcjojMmUzMTkyO2NvbG9yOiNmZmZ9LmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQ2LDQ5LDE0NiwuMjUpfS5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1czpub3QoOmNoZWNrZWQpfi5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7Ym9yZGVyLWNvbG9yOiM2ZTcxZDF9LmN1c3RvbS1jb250cm9sLWlucHV0Om5vdCg6ZGlzYWJsZWQpOmFjdGl2ZX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6Izk1OTdkZTtib3JkZXItY29sb3I6Izk1OTdkZTtjb2xvcjojZmZmfS5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWwsLmN1c3RvbS1jb250cm9sLWlucHV0W2Rpc2FibGVkXX4uY3VzdG9tLWNvbnRyb2wtbGFiZWx7Y29sb3I6IzZjNzU3ZH0uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZSwuY3VzdG9tLWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdfi5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmfS5jdXN0b20tY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246dG9wfS5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2FkYjViZDtwb2ludGVyLWV2ZW50czpub25lfS5jdXN0b20tY29udHJvbC1sYWJlbDphZnRlciwuY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MXJlbTtsZWZ0Oi0xLjVyZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOi4yMTI1cmVtO3dpZHRoOjFyZW19LmN1c3RvbS1jb250cm9sLWxhYmVsOmFmdGVye2JhY2tncm91bmQ6NTAlLzUwJSA1MCUgbm8tcmVwZWF0fS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZXtib3JkZXItcmFkaXVzOi4yNXJlbX0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nbTYuNTY0Ljc1LTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRSIpfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGV+LmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiMyZTMxOTI7Ym9yZGVyLWNvbG9yOiMyZTMxOTJ9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2ZmZicgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFIil9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSg0Niw0OSwxNDYsLjUpfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmluZGV0ZXJtaW5hdGV+LmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDYsNDksMTQ2LC41KX0uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCV9LmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0UiKX0uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQ2LDQ5LDE0NiwuNSl9LmN1c3RvbS1zd2l0Y2h7cGFkZGluZy1sZWZ0OjIuMjVyZW19LmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZXtib3JkZXItcmFkaXVzOi41cmVtO2xlZnQ6LTIuMjVyZW07cG9pbnRlci1ldmVudHM6YWxsO3dpZHRoOjEuNzVyZW19LmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOmFmdGVye2JhY2tncm91bmQtY29sb3I6I2FkYjViZDtib3JkZXItcmFkaXVzOi41cmVtO2hlaWdodDpjYWxjKDFyZW0gLSA0cHgpO2xlZnQ6Y2FsYygtMi4yNXJlbSArIDJweCk7dG9wOmNhbGMoLjIxMjVyZW0gKyAycHgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDt3aWR0aDpjYWxjKDFyZW0gLSA0cHgpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDphZnRlcnt0cmFuc2l0aW9uOm5vbmV9fS5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLjc1cmVtKX0uY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSg0Niw0OSwxNDYsLjUpfS5jdXN0b20tc2VsZWN0ey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyUzRSUzQ3BhdGggZmlsbD0nJTIzMzQzYTQwJyBkPSdNMiAwIDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFIikgcmlnaHQgLjc1cmVtIGNlbnRlci84cHggMTBweCBuby1yZXBlYXQ7Ym9yZGVyOjFweCBzb2xpZCAjY2VkNGRhO2JvcmRlci1yYWRpdXM6LjI1cmVtO2NvbG9yOiM0OTUwNTc7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOi45NXJlbTtmb250LXdlaWdodDo0MDA7aGVpZ2h0OmNhbGMoMS41ZW0gKyAuNzVyZW0gKyAycHgpO2xpbmUtaGVpZ2h0OjEuNTtwYWRkaW5nOi4zNzVyZW0gMS43NXJlbSAuMzc1cmVtIC43NXJlbTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTAwJX0uY3VzdG9tLXNlbGVjdDpmb2N1c3tib3JkZXItY29sb3I6IzZlNzFkMTtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDYsNDksMTQ2LC4yNSk7b3V0bGluZTowfS5jdXN0b20tc2VsZWN0OmZvY3VzOjotbXMtdmFsdWV7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiM0OTUwNTd9LmN1c3RvbS1zZWxlY3RbbXVsdGlwbGVdLC5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT0iMSJdKXtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDouNzVyZW19LmN1c3RvbS1zZWxlY3Q6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2NvbG9yOiM2Yzc1N2R9LmN1c3RvbS1zZWxlY3Q6Oi1tcy1leHBhbmR7ZGlzcGxheTpub25lfS5jdXN0b20tc2VsZWN0Oi1tb3otZm9jdXNyaW5ne2NvbG9yOnRyYW5zcGFyZW50O3RleHQtc2hhZG93OjAgMCAwICM0OTUwNTd9LmN1c3RvbS1zZWxlY3Qtc217Zm9udC1zaXplOi44MzEyNXJlbTtoZWlnaHQ6Y2FsYygxLjVlbSArIC41cmVtICsgMnB4KTtwYWRkaW5nLWJvdHRvbTouMjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtO3BhZGRpbmctdG9wOi4yNXJlbX0uY3VzdG9tLXNlbGVjdC1sZ3tmb250LXNpemU6MS4xODc1cmVtO2hlaWdodDpjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7cGFkZGluZy1ib3R0b206LjVyZW07cGFkZGluZy1sZWZ0OjFyZW07cGFkZGluZy10b3A6LjVyZW19LmN1c3RvbS1maWxle2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206MH0uY3VzdG9tLWZpbGUsLmN1c3RvbS1maWxlLWlucHV0e2hlaWdodDpjYWxjKDEuNWVtICsgLjc1cmVtICsgMnB4KTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5jdXN0b20tZmlsZS1pbnB1dHttYXJnaW46MDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6Mn0uY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVse2JvcmRlci1jb2xvcjojNmU3MWQxO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0Niw0OSwxNDYsLjI1KX0uY3VzdG9tLWZpbGUtaW5wdXQ6ZGlzYWJsZWR+LmN1c3RvbS1maWxlLWxhYmVsLC5jdXN0b20tZmlsZS1pbnB1dFtkaXNhYmxlZF1+LmN1c3RvbS1maWxlLWxhYmVse2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZn0uY3VzdG9tLWZpbGUtaW5wdXQ6bGFuZyhlbil+LmN1c3RvbS1maWxlLWxhYmVsOmFmdGVye2NvbnRlbnQ6IkJyb3dzZSJ9LmN1c3RvbS1maWxlLWlucHV0fi5jdXN0b20tZmlsZS1sYWJlbFtkYXRhLWJyb3dzZV06YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtYnJvd3NlKX0uY3VzdG9tLWZpbGUtbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2NlZDRkYTtib3JkZXItcmFkaXVzOi4yNXJlbTtmb250LXdlaWdodDo0MDA7aGVpZ2h0OmNhbGMoMS41ZW0gKyAuNzVyZW0gKyAycHgpO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoxfS5jdXN0b20tZmlsZS1sYWJlbCwuY3VzdG9tLWZpbGUtbGFiZWw6YWZ0ZXJ7Y29sb3I6IzQ5NTA1NztsaW5lLWhlaWdodDoxLjU7cGFkZGluZzouMzc1cmVtIC43NXJlbTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowfS5jdXN0b20tZmlsZS1sYWJlbDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLWxlZnQ6aW5oZXJpdDtib3JkZXItcmFkaXVzOjAgLjI1cmVtIC4yNXJlbSAwO2JvdHRvbTowO2NvbnRlbnQ6IkJyb3dzZSI7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYygxLjVlbSArIC43NXJlbSk7ei1pbmRleDozfS5jdXN0b20tcmFuZ2V7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7aGVpZ2h0OjEuNHJlbTtwYWRkaW5nOjA7d2lkdGg6MTAwJX0uY3VzdG9tLXJhbmdlOmZvY3Vze291dGxpbmU6MH0uY3VzdG9tLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci10aHVtYntib3gtc2hhZG93OjAgMCAwIDFweCAjZmZmLDAgMCAwIC4ycmVtIHJnYmEoNDYsNDksMTQ2LC4yNSl9LmN1c3RvbS1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10aHVtYntib3gtc2hhZG93OjAgMCAwIDFweCAjZmZmLDAgMCAwIC4ycmVtIHJnYmEoNDYsNDksMTQ2LC4yNSl9LmN1c3RvbS1yYW5nZTpmb2N1czo6LW1zLXRodW1ie2JveC1zaGFkb3c6MCAwIDAgMXB4ICNmZmYsMCAwIDAgLjJyZW0gcmdiYSg0Niw0OSwxNDYsLjI1KX0uY3VzdG9tLXJhbmdlOjotbW96LWZvY3VzLW91dGVye2JvcmRlcjowfS5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMyZTMxOTI7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxcmVtO2hlaWdodDoxcmVtO21hcmdpbi10b3A6LS4yNXJlbTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7d2lkdGg6MXJlbX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYnstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9fS5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiM5NTk3ZGV9LmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjojZGVlMmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjFyZW07Y29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0Oi41cmVtO3dpZHRoOjEwMCV9LmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYnstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMmUzMTkyO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MXJlbTtoZWlnaHQ6MXJlbTstbW96LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7d2lkdGg6MXJlbX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1iey1tb3otdHJhbnNpdGlvbjpub25lO3RyYW5zaXRpb246bm9uZX19LmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojOTU5N2RlfS5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjojZGVlMmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjFyZW07Y29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0Oi41cmVtO3dpZHRoOjEwMCV9LmN1c3RvbS1yYW5nZTo6LW1zLXRodW1ie2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMyZTMxOTI7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxcmVtO2hlaWdodDoxcmVtO21hcmdpbi1sZWZ0Oi4ycmVtO21hcmdpbi1yaWdodDouMnJlbTttYXJnaW4tdG9wOjA7LW1zLXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7d2lkdGg6MXJlbX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuY3VzdG9tLXJhbmdlOjotbXMtdGh1bWJ7LW1zLXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9fS5jdXN0b20tcmFuZ2U6Oi1tcy10aHVtYjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojOTU5N2RlfS5jdXN0b20tcmFuZ2U6Oi1tcy10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6LjVyZW07Y29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0Oi41cmVtO3dpZHRoOjEwMCV9LmN1c3RvbS1yYW5nZTo6LW1zLWZpbGwtbG93ZXIsLmN1c3RvbS1yYW5nZTo6LW1zLWZpbGwtdXBwZXJ7YmFja2dyb3VuZC1jb2xvcjojZGVlMmU2O2JvcmRlci1yYWRpdXM6MXJlbX0uY3VzdG9tLXJhbmdlOjotbXMtZmlsbC11cHBlcnttYXJnaW4tcmlnaHQ6MTVweH0uY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNhZGI1YmR9LmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7Y3Vyc29yOmRlZmF1bHR9LmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNhZGI1YmR9LmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LW1vei1yYW5nZS10cmFja3tjdXJzb3I6ZGVmYXVsdH0uY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbXMtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojYWRiNWJkfS5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmUsLmN1c3RvbS1maWxlLWxhYmVsLC5jdXN0b20tc2VsZWN0e3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3JlLC5jdXN0b20tZmlsZS1sYWJlbCwuY3VzdG9tLXNlbGVjdHt0cmFuc2l0aW9uOm5vbmV9fS5uYXZ7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW4tYm90dG9tOjA7cGFkZGluZy1sZWZ0OjB9Lm5hdi1saW5re2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouNXJlbSAxcmVtfS5uYXYtbGluazpmb2N1cywubmF2LWxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm5hdi1saW5rLmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7Y3Vyc29yOmRlZmF1bHQ7cG9pbnRlci1ldmVudHM6bm9uZX0ubmF2LXRhYnN7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZTJlNn0ubmF2LXRhYnMgLm5hdi1saW5re2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtO21hcmdpbi1ib3R0b206LTFweH0ubmF2LXRhYnMgLm5hdi1saW5rOmZvY3VzLC5uYXYtdGFicyAubmF2LWxpbms6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNlOWVjZWYgI2U5ZWNlZiAjZGVlMmU2fS5uYXYtdGFicyAubmF2LWxpbmsuZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6IzZjNzU3ZH0ubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rLC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2RlZTJlNiAjZGVlMmU2ICNmZmY7Y29sb3I6IzQ5NTA1N30ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnV7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7bWFyZ2luLXRvcDotMXB4fS5uYXYtcGlsbHMgLm5hdi1saW5re2JvcmRlci1yYWRpdXM6LjI1cmVtfS5uYXYtcGlsbHMgLm5hdi1saW5rLmFjdGl2ZSwubmF2LXBpbGxzIC5zaG93Pi5uYXYtbGlua3tiYWNrZ3JvdW5kLWNvbG9yOiMyZTMxOTI7Y29sb3I6I2ZmZn0ubmF2LWZpbGwgLm5hdi1pdGVtLC5uYXYtZmlsbD4ubmF2LWxpbmt7ZmxleDoxIDEgYXV0bzt0ZXh0LWFsaWduOmNlbnRlcn0ubmF2LWp1c3RpZmllZCAubmF2LWl0ZW0sLm5hdi1qdXN0aWZpZWQ+Lm5hdi1saW5re2ZsZXgtYmFzaXM6MDtmbGV4LWdyb3c6MTt0ZXh0LWFsaWduOmNlbnRlcn0udGFiLWNvbnRlbnQ+LnRhYi1wYW5le2Rpc3BsYXk6bm9uZX0udGFiLWNvbnRlbnQ+LmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5uYXZiYXJ7cGFkZGluZzouNXJlbSAxcmVtO3Bvc2l0aW9uOnJlbGF0aXZlfS5uYXZiYXIsLm5hdmJhciAuY29udGFpbmVyLC5uYXZiYXIgLmNvbnRhaW5lci1mbHVpZCwubmF2YmFyIC5jb250YWluZXItbGcsLm5hdmJhciAuY29udGFpbmVyLW1kLC5uYXZiYXIgLmNvbnRhaW5lci1zbSwubmF2YmFyIC5jb250YWluZXIteGx7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ubmF2YmFyLWJyYW5ke2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxLjE4NzVyZW07bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW4tcmlnaHQ6MXJlbTtwYWRkaW5nLWJvdHRvbTouMzIxODc1cmVtO3BhZGRpbmctdG9wOi4zMjE4NzVyZW07d2hpdGUtc3BhY2U6bm93cmFwfS5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1icmFuZDpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0ubmF2YmFyLW5hdntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW4tYm90dG9tOjA7cGFkZGluZy1sZWZ0OjB9Lm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0ubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtmbG9hdDpub25lO3Bvc2l0aW9uOnN0YXRpY30ubmF2YmFyLXRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1ib3R0b206LjVyZW07cGFkZGluZy10b3A6LjVyZW19Lm5hdmJhci1jb2xsYXBzZXthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC1iYXNpczoxMDAlO2ZsZXgtZ3JvdzoxfS5uYXZiYXItdG9nZ2xlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Zm9udC1zaXplOjEuMTg3NXJlbTtsaW5lLWhlaWdodDoxO3BhZGRpbmc6LjI1cmVtIC43NXJlbX0ubmF2YmFyLXRvZ2dsZXI6Zm9jdXMsLm5hdmJhci10b2dnbGVyOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5uYXZiYXItdG9nZ2xlci1pY29ue2JhY2tncm91bmQ6NTAlLzEwMCUgMTAwJSBuby1yZXBlYXQ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MS41ZW07dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjEuNWVtfS5uYXZiYXItbmF2LXNjcm9sbHttYXgtaGVpZ2h0Ojc1dmg7b3ZlcmZsb3cteTphdXRvfUBtZWRpYSAobWF4LXdpZHRoOjU3NS45OHB4KXsubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXItZmx1aWQsLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1sZywubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLW1kLC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXItc20sLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci14bHtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsubmF2YmFyLWV4cGFuZC1zbXtmbGV4LWZsb3c6cm93IG5vd3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdntmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctbGVmdDouNXJlbTtwYWRkaW5nLXJpZ2h0Oi41cmVtfS5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1mbHVpZCwubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLWxnLC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXItbWQsLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1zbSwubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLXhse2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYtc2Nyb2xse292ZXJmbG93OnZpc2libGV9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5OmZsZXghaW1wb3J0YW50O2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDo3NjcuOThweCl7Lm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLWZsdWlkLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItbGcsLm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lci1tZCwubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLXNtLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXIteGx7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1leHBhbmQtbWR7ZmxleC1mbG93OnJvdyBub3dyYXA7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXZ7ZmxleC1kaXJlY3Rpb246cm93fS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlfS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5uYXYtbGlua3twYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItZmx1aWQsLm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lci1sZywubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLW1kLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItc20sLm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lci14bHtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2LXNjcm9sbHtvdmVyZmxvdzp2aXNpYmxlfS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTpmbGV4IWltcG9ydGFudDtmbGV4LWJhc2lzOmF1dG99Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVye2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6OTkxLjk4cHgpey5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1mbHVpZCwubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLWxnLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItbWQsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1zbSwubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLXhse3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5uYXZiYXItZXhwYW5kLWxne2ZsZXgtZmxvdzpyb3cgbm93cmFwO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2e2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1sZWZ0Oi41cmVtO3BhZGRpbmctcmlnaHQ6LjVyZW19Lm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLWZsdWlkLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItbGcsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1tZCwubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLXNtLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXIteGx7ZmxleC13cmFwOm5vd3JhcH0ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdi1zY3JvbGx7b3ZlcmZsb3c6dmlzaWJsZX0ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLWNvbGxhcHNle2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjExOTkuOThweCl7Lm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWZsdWlkLC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXItbGcsLm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lci1tZCwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLXNtLC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXIteGx7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5uYXZiYXItZXhwYW5kLXhse2ZsZXgtZmxvdzpyb3cgbm93cmFwO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2e2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1sZWZ0Oi41cmVtO3BhZGRpbmctcmlnaHQ6LjVyZW19Lm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWZsdWlkLC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXItbGcsLm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lci1tZCwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLXNtLC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXIteGx7ZmxleC13cmFwOm5vd3JhcH0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdi1zY3JvbGx7b3ZlcmZsb3c6dmlzaWJsZX0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNle2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9fS5uYXZiYXItZXhwYW5ke2ZsZXgtZmxvdzpyb3cgbm93cmFwO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1mbHVpZCwubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLWxnLC5uYXZiYXItZXhwYW5kPi5jb250YWluZXItbWQsLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1zbSwubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLXhse3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdntmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctbGVmdDouNXJlbTtwYWRkaW5nLXJpZ2h0Oi41cmVtfS5uYXZiYXItZXhwYW5kPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1mbHVpZCwubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLWxnLC5uYXZiYXItZXhwYW5kPi5jb250YWluZXItbWQsLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1zbSwubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLXhse2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYtc2Nyb2xse292ZXJmbG93OnZpc2libGV9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5OmZsZXghaW1wb3J0YW50O2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfS5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZCwubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjkpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5re2NvbG9yOnJnYmEoMCwwLDAsLjUpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzLC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjcpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjMpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZT4ubmF2LWxpbmssLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuc2hvdz4ubmF2LWxpbmt7Y29sb3I6cmdiYSgwLDAsMCwuOSl9Lm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpO2NvbG9yOnJnYmEoMCwwLDAsLjUpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgwLCAwLCAwLCAwLjUpJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRSIpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0e2NvbG9yOnJnYmEoMCwwLDAsLjUpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGEsLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpmb2N1cywubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjkpfS5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kLC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmhvdmVye2NvbG9yOiNmZmZ9Lm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGlua3tjb2xvcjpoc2xhKDAsMCUsMTAwJSwuNSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVye2NvbG9yOmhzbGEoMCwwJSwxMDAlLC43NSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZHtjb2xvcjpoc2xhKDAsMCUsMTAwJSwuMjUpfS5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlPi5uYXYtbGluaywubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5zaG93Pi5uYXYtbGlua3tjb2xvcjojZmZmfS5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXJ7Ym9yZGVyLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC4xKTtjb2xvcjpoc2xhKDAsMCUsMTAwJSwuNSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlci1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnJTNFJTNDcGF0aCBzdHJva2U9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC41KScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0UiKX0ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0e2NvbG9yOmhzbGEoMCwwJSwxMDAlLC41KX0ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGEsLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzLC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpob3Zlcntjb2xvcjojZmZmfS5jYXJke3dvcmQtd3JhcDpicmVhay13b3JkO2JhY2tncm91bmQtY2xpcDpib3JkZXItYm94O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSk7Ym9yZGVyLXJhZGl1czouMjVyZW07ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MDtwb3NpdGlvbjpyZWxhdGl2ZX0uY2FyZD5ocnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5jYXJkPi5saXN0LWdyb3Vwe2JvcmRlci1ib3R0b206aW5oZXJpdDtib3JkZXItdG9wOmluaGVyaXR9LmNhcmQ+Lmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCk7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpO2JvcmRlci10b3Atd2lkdGg6MH0uY2FyZD4ubGlzdC1ncm91cDpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KTtib3JkZXItYm90dG9tLXdpZHRoOjB9LmNhcmQ+LmNhcmQtaGVhZGVyKy5saXN0LWdyb3VwLC5jYXJkPi5saXN0LWdyb3VwKy5jYXJkLWZvb3Rlcntib3JkZXItdG9wOjB9LmNhcmQtYm9keXtmbGV4OjEgMSBhdXRvO21pbi1oZWlnaHQ6MXB4O3BhZGRpbmc6MS4yNXJlbX0uY2FyZC10aXRsZXttYXJnaW4tYm90dG9tOi43NXJlbX0uY2FyZC1zdWJ0aXRsZXttYXJnaW4tdG9wOi0uMzc1cmVtfS5jYXJkLXN1YnRpdGxlLC5jYXJkLXRleHQ6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmNhcmQtbGluazpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0uY2FyZC1saW5rKy5jYXJkLWxpbmt7bWFyZ2luLWxlZnQ6MS4yNXJlbX0uY2FyZC1oZWFkZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wMyk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KTttYXJnaW4tYm90dG9tOjA7cGFkZGluZzouNzVyZW0gMS4yNXJlbX0uY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCkgY2FsYyguMjVyZW0gLSAxcHgpIDAgMH0uY2FyZC1mb290ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wMyk7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KTtwYWRkaW5nOi43NXJlbSAxLjI1cmVtfS5jYXJkLWZvb3RlcjpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MCAwIGNhbGMoLjI1cmVtIC0gMXB4KSBjYWxjKC4yNXJlbSAtIDFweCl9LmNhcmQtaGVhZGVyLXRhYnN7Ym9yZGVyLWJvdHRvbTowO21hcmdpbi1ib3R0b206LS43NXJlbX0uY2FyZC1oZWFkZXItcGlsbHMsLmNhcmQtaGVhZGVyLXRhYnN7bWFyZ2luLWxlZnQ6LS42MjVyZW07bWFyZ2luLXJpZ2h0Oi0uNjI1cmVtfS5jYXJkLWltZy1vdmVybGF5e2JvcmRlci1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpO2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nOjEuMjVyZW07cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0uY2FyZC1pbWcsLmNhcmQtaW1nLWJvdHRvbSwuY2FyZC1pbWctdG9we2ZsZXgtc2hyaW5rOjA7d2lkdGg6MTAwJX0uY2FyZC1pbWcsLmNhcmQtaW1nLXRvcHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCl9LmNhcmQtaW1nLC5jYXJkLWltZy1ib3R0b217Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCk7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpfS5jYXJkLWRlY2sgLmNhcmR7bWFyZ2luLWJvdHRvbToxNXB4fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY2FyZC1kZWNre2Rpc3BsYXk6ZmxleDtmbGV4LWZsb3c6cm93IHdyYXA7bWFyZ2luLWxlZnQ6LTE1cHg7bWFyZ2luLXJpZ2h0Oi0xNXB4fS5jYXJkLWRlY2sgLmNhcmR7ZmxleDoxIDAgMCU7bWFyZ2luLWJvdHRvbTowO21hcmdpbi1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OjE1cHh9fS5jYXJkLWdyb3VwPi5jYXJke21hcmdpbi1ib3R0b206MTVweH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNhcmQtZ3JvdXB7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpyb3cgd3JhcH0uY2FyZC1ncm91cD4uY2FyZHtmbGV4OjEgMCAwJTttYXJnaW4tYm90dG9tOjB9LmNhcmQtZ3JvdXA+LmNhcmQrLmNhcmR7Ym9yZGVyLWxlZnQ6MDttYXJnaW4tbGVmdDowfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaGVhZGVyLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLXRvcHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtZm9vdGVyLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjB9LmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtaGVhZGVyLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy10b3B7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWZvb3RlciwuY2FyZC1ncm91cD4uY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1pbWctYm90dG9te2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH19LmNhcmQtY29sdW1ucyAuY2FyZHttYXJnaW4tYm90dG9tOi43NXJlbX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNhcmQtY29sdW1uc3stbW96LWNvbHVtbi1jb3VudDozO2NvbHVtbi1jb3VudDozOy1tb3otY29sdW1uLWdhcDoxLjI1cmVtO2NvbHVtbi1nYXA6MS4yNXJlbTtvcnBoYW5zOjE7d2lkb3dzOjF9LmNhcmQtY29sdW1ucyAuY2FyZHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlfX0uYWNjb3JkaW9ue292ZXJmbG93LWFuY2hvcjpub25lfS5hY2NvcmRpb24+LmNhcmR7b3ZlcmZsb3c6aGlkZGVufS5hY2NvcmRpb24+LmNhcmQ6bm90KDpsYXN0LW9mLXR5cGUpe2JvcmRlci1ib3R0b206MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uYWNjb3JkaW9uPi5jYXJkOm5vdCg6Zmlyc3Qtb2YtdHlwZSl7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmFjY29yZGlvbj4uY2FyZD4uY2FyZC1oZWFkZXJ7Ym9yZGVyLXJhZGl1czowO21hcmdpbi1ib3R0b206LTFweH0uYnJlYWRjcnVtYntiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLXJhZGl1czouMjVyZW07ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW4tYm90dG9tOjFyZW07cGFkZGluZzouNzVyZW0gMXJlbX0uYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW17cGFkZGluZy1sZWZ0Oi41cmVtfS5icmVhZGNydW1iLWl0ZW0rLmJyZWFkY3J1bWItaXRlbTpiZWZvcmV7Y29sb3I6IzZjNzU3ZDtjb250ZW50OnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0k0SWlCb1pXbG5hSFE5SWpnaVBqeHdZWFJvSUdROUlrMHlMalVnTUNBeElERXVOU0F6TGpVZ05DQXhJRFl1TlNBeUxqVWdPR3cwTFRRdE5DMDBlaUlnWm1sc2JEMGlZM1Z5Y21WdWRFTnZiRzl5SWk4K1BDOXpkbWMrIik7ZmxvYXQ6bGVmdDtwYWRkaW5nLXJpZ2h0Oi41cmVtfS5icmVhZGNydW1iLWl0ZW0rLmJyZWFkY3J1bWItaXRlbTpob3ZlcjpiZWZvcmV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt0ZXh0LWRlY29yYXRpb246bm9uZX0uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZXtjb2xvcjojNmM3NTdkfS5wYWdpbmF0aW9ue2JvcmRlci1yYWRpdXM6LjI1cmVtO2Rpc3BsYXk6ZmxleDtsaXN0LXN0eWxlOm5vbmU7cGFkZGluZy1sZWZ0OjB9LnBhZ2UtbGlua3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2O2NvbG9yOiMyZTMxOTI7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjI1O21hcmdpbi1sZWZ0Oi0xcHg7cGFkZGluZzouNXJlbSAuNzVyZW07cG9zaXRpb246cmVsYXRpdmV9LnBhZ2UtbGluazpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLWNvbG9yOiNkZWUyZTY7Y29sb3I6IzFjMWQ1ODt0ZXh0LWRlY29yYXRpb246bm9uZTt6LWluZGV4OjJ9LnBhZ2UtbGluazpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDYsNDksMTQ2LC4yNSk7b3V0bGluZTowO3otaW5kZXg6M30ucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07bWFyZ2luLWxlZnQ6MH0ucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmt7YmFja2dyb3VuZC1jb2xvcjojMmUzMTkyO2JvcmRlci1jb2xvcjojMmUzMTkyO2NvbG9yOiNmZmY7ei1pbmRleDozfS5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGlua3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNkZWUyZTY7Y29sb3I6IzZjNzU3ZDtjdXJzb3I6YXV0bztwb2ludGVyLWV2ZW50czpub25lfS5wYWdpbmF0aW9uLWxnIC5wYWdlLWxpbmt7Zm9udC1zaXplOjEuMTg3NXJlbTtsaW5lLWhlaWdodDoxLjU7cGFkZGluZzouNzVyZW0gMS41cmVtfS5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4zcmVtO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjNyZW19LnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjNyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjNyZW19LnBhZ2luYXRpb24tc20gLnBhZ2UtbGlua3tmb250LXNpemU6LjgzMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNTtwYWRkaW5nOi4yNXJlbSAuNXJlbX0ucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMnJlbTtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4ycmVtfS5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5re2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4ycmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4ycmVtfS5iYWRnZXtib3JkZXItcmFkaXVzOi4yNXJlbTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6NzUlO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6LjI1ZW0gLjRlbTt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOmNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpub3dyYXB9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmJhZGdle3RyYW5zaXRpb246bm9uZX19YS5iYWRnZTpmb2N1cyxhLmJhZGdlOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5iYWRnZTplbXB0eXtkaXNwbGF5Om5vbmV9LmJ0biAuYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0xcHh9LmJhZGdlLXBpbGx7Ym9yZGVyLXJhZGl1czoxMHJlbTtwYWRkaW5nLWxlZnQ6LjZlbTtwYWRkaW5nLXJpZ2h0Oi42ZW19LmJhZGdlLXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojMmUzMTkyO2NvbG9yOiNmZmZ9YS5iYWRnZS1wcmltYXJ5OmZvY3VzLGEuYmFkZ2UtcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMjI0NmI7Y29sb3I6I2ZmZn1hLmJhZGdlLXByaW1hcnkuZm9jdXMsYS5iYWRnZS1wcmltYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0Niw0OSwxNDYsLjUpO291dGxpbmU6MH0uYmFkZ2Utc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZDtjb2xvcjojZmZmfWEuYmFkZ2Utc2Vjb25kYXJ5OmZvY3VzLGEuYmFkZ2Utc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzU0NWI2Mjtjb2xvcjojZmZmfWEuYmFkZ2Utc2Vjb25kYXJ5LmZvY3VzLGEuYmFkZ2Utc2Vjb25kYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gaHNsYSgyMDgsNyUsNDYlLC41KTtvdXRsaW5lOjB9LmJhZGdlLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojMzliNTRhO2NvbG9yOiNmZmZ9YS5iYWRnZS1zdWNjZXNzOmZvY3VzLGEuYmFkZ2Utc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyZDhlM2E7Y29sb3I6I2ZmZn1hLmJhZGdlLXN1Y2Nlc3MuZm9jdXMsYS5iYWRnZS1zdWNjZXNzOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg1NywxODEsNzQsLjUpO291dGxpbmU6MH0uYmFkZ2UtaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiMxMjg3ODU7Y29sb3I6I2ZmZn1hLmJhZGdlLWluZm86Zm9jdXMsYS5iYWRnZS1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzBjNWE1OTtjb2xvcjojZmZmfWEuYmFkZ2UtaW5mby5mb2N1cyxhLmJhZGdlLWluZm86Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDE4LDEzNSwxMzMsLjUpO291dGxpbmU6MH0uYmFkZ2Utd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmY2JmMDA7Y29sb3I6IzIxMjUyOX1hLmJhZGdlLXdhcm5pbmc6Zm9jdXMsYS5iYWRnZS13YXJuaW5nOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2M5OTgwMDtjb2xvcjojMjEyNTI5fWEuYmFkZ2Utd2FybmluZy5mb2N1cyxhLmJhZGdlLXdhcm5pbmc6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI1MiwxOTEsMCwuNSk7b3V0bGluZTowfS5iYWRnZS1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojYzAwO2NvbG9yOiNmZmZ9YS5iYWRnZS1kYW5nZXI6Zm9jdXMsYS5iYWRnZS1kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTAwO2NvbG9yOiNmZmZ9YS5iYWRnZS1kYW5nZXIuZm9jdXMsYS5iYWRnZS1kYW5nZXI6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIwNCwwLDAsLjUpO291dGxpbmU6MH0uYmFkZ2UtbGlnaHR7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2NvbG9yOiMyMTI1Mjl9YS5iYWRnZS1saWdodDpmb2N1cyxhLmJhZGdlLWxpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RhZTBlNTtjb2xvcjojMjEyNTI5fWEuYmFkZ2UtbGlnaHQuZm9jdXMsYS5iYWRnZS1saWdodDpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjUpO291dGxpbmU6MH0uYmFkZ2UtZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzMDMwMzA7Y29sb3I6I2ZmZn1hLmJhZGdlLWRhcms6Zm9jdXMsYS5iYWRnZS1kYXJrOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzE3MTcxNztjb2xvcjojZmZmfWEuYmFkZ2UtZGFyay5mb2N1cyxhLmJhZGdlLWRhcms6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQ4LDQ4LDQ4LC41KTtvdXRsaW5lOjB9Lmp1bWJvdHJvbntiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLXJhZGl1czouM3JlbTttYXJnaW4tYm90dG9tOjJyZW07cGFkZGluZzoycmVtIDFyZW19QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5qdW1ib3Ryb257cGFkZGluZzo0cmVtIDJyZW19fS5qdW1ib3Ryb24tZmx1aWR7Ym9yZGVyLXJhZGl1czowO3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0uYWxlcnR7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOi4yNXJlbTttYXJnaW4tYm90dG9tOjFyZW07cGFkZGluZzouNzVyZW0gMS4yNXJlbTtwb3NpdGlvbjpyZWxhdGl2ZX0uYWxlcnQtaGVhZGluZ3tjb2xvcjppbmhlcml0fS5hbGVydC1saW5re2ZvbnQtd2VpZ2h0OjcwMH0uYWxlcnQtZGlzbWlzc2libGV7cGFkZGluZy1yaWdodDozLjkyNXJlbX0uYWxlcnQtZGlzbWlzc2libGUgLmNsb3Nle2NvbG9yOmluaGVyaXQ7cGFkZGluZzouNzVyZW0gMS4yNXJlbTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO3otaW5kZXg6Mn0uYWxlcnQtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNkNWQ2ZTk7Ym9yZGVyLWNvbG9yOiNjNGM1ZTA7Y29sb3I6IzE4MTk0Y30uYWxlcnQtcHJpbWFyeSBocntib3JkZXItdG9wLWNvbG9yOiNiM2I1ZDd9LmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWxpbmt7Y29sb3I6IzBjMGMyNX0uYWxlcnQtc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6I2UyZTNlNTtib3JkZXItY29sb3I6I2Q2ZDhkYjtjb2xvcjojMzgzZDQxfS5hbGVydC1zZWNvbmRhcnkgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojYzhjYmNmfS5hbGVydC1zZWNvbmRhcnkgLmFsZXJ0LWxpbmt7Y29sb3I6IzIwMjMyNn0uYWxlcnQtc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiNkN2YwZGI7Ym9yZGVyLWNvbG9yOiNjOGVhY2M7Y29sb3I6IzFlNWUyNn0uYWxlcnQtc3VjY2VzcyBocntib3JkZXItdG9wLWNvbG9yOiNiNmUzYmJ9LmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWxpbmt7Y29sb3I6IzEyMzcxNn0uYWxlcnQtaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiNkMGU3ZTc7Ym9yZGVyLWNvbG9yOiNiZGRkZGQ7Y29sb3I6IzA5NDY0NX0uYWxlcnQtaW5mbyBocntib3JkZXItdG9wLWNvbG9yOiNhY2Q0ZDR9LmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmt7Y29sb3I6IzAzMTkxOH0uYWxlcnQtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmZWYyY2M7Ym9yZGVyLWNvbG9yOiNmZWVkYjg7Y29sb3I6IzgzNjMwMH0uYWxlcnQtd2FybmluZyBocntib3JkZXItdG9wLWNvbG9yOiNmZWU3OWZ9LmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmt7Y29sb3I6IzUwM2MwMH0uYWxlcnQtZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2Y1Y2NjYztib3JkZXItY29sb3I6I2YxYjhiODtjb2xvcjojNmEwMDAwfS5hbGVydC1kYW5nZXIgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojZWRhM2EzfS5hbGVydC1kYW5nZXIgLmFsZXJ0LWxpbmt7Y29sb3I6IzM3MDAwMH0uYWxlcnQtbGlnaHR7YmFja2dyb3VuZC1jb2xvcjojZmVmZWZlO2JvcmRlci1jb2xvcjojZmRmZGZlO2NvbG9yOiM4MTgxODJ9LmFsZXJ0LWxpZ2h0IGhye2JvcmRlci10b3AtY29sb3I6I2VjZWNmNn0uYWxlcnQtbGlnaHQgLmFsZXJ0LWxpbmt7Y29sb3I6IzY4Njg2OH0uYWxlcnQtZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiNkNmQ2ZDY7Ym9yZGVyLWNvbG9yOiNjNWM1YzU7Y29sb3I6IzE5MTkxOX0uYWxlcnQtZGFyayBocntib3JkZXItdG9wLWNvbG9yOiNiOGI4Yjh9LmFsZXJ0LWRhcmsgLmFsZXJ0LWxpbmt7Y29sb3I6IzAwMH1ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXN7MCV7YmFja2dyb3VuZC1wb3NpdGlvbjoxcmVtIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fUBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXN7MCV7YmFja2dyb3VuZC1wb3NpdGlvbjoxcmVtIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fS5wcm9ncmVzc3tiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLXJhZGl1czouMjVyZW07Zm9udC1zaXplOi43MTI1cmVtO2hlaWdodDoxcmVtO2xpbmUtaGVpZ2h0OjB9LnByb2dyZXNzLC5wcm9ncmVzcy1iYXJ7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbn0ucHJvZ3Jlc3MtYmFye2JhY2tncm91bmQtY29sb3I6IzJlMzE5Mjtjb2xvcjojZmZmO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246d2lkdGggLjZzIGVhc2U7d2hpdGUtc3BhY2U6bm93cmFwfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5wcm9ncmVzcy1iYXJ7dHJhbnNpdGlvbjpub25lfX0ucHJvZ3Jlc3MtYmFyLXN0cmlwZWR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcsaHNsYSgwLDAlLDEwMCUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCA1MCUsaHNsYSgwLDAlLDEwMCUsLjE1KSAwLGhzbGEoMCwwJSwxMDAlLC4xNSkgNzUlLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtc2l6ZToxcmVtIDFyZW19LnByb2dyZXNzLWJhci1hbmltYXRlZHstd2Via2l0LWFuaW1hdGlvbjpwcm9ncmVzcy1iYXItc3RyaXBlcyAxcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnByb2dyZXNzLWJhci1zdHJpcGVzIDFzIGxpbmVhciBpbmZpbml0ZX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkey13ZWJraXQtYW5pbWF0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9fS5tZWRpYXthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6ZmxleH0ubWVkaWEtYm9keXtmbGV4OjF9Lmxpc3QtZ3JvdXB7Ym9yZGVyLXJhZGl1czouMjVyZW07ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW4tYm90dG9tOjA7cGFkZGluZy1sZWZ0OjB9Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb257Y29sb3I6IzQ5NTA1Nzt0ZXh0LWFsaWduOmluaGVyaXQ7d2lkdGg6MTAwJX0ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Y29sb3I6IzQ5NTA1Nzt0ZXh0LWRlY29yYXRpb246bm9uZTt6LWluZGV4OjF9Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtjb2xvcjojMjEyNTI5fS5saXN0LWdyb3VwLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07cG9zaXRpb246cmVsYXRpdmV9Lmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmluaGVyaXQ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6aW5oZXJpdH0ubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czppbmhlcml0O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmluaGVyaXR9Lmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwubGlzdC1ncm91cC1pdGVtOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojNmM3NTdkO3BvaW50ZXItZXZlbnRzOm5vbmV9Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojMmUzMTkyO2JvcmRlci1jb2xvcjojMmUzMTkyO2NvbG9yOiNmZmY7ei1pbmRleDoyfS5saXN0LWdyb3VwLWl0ZW0rLmxpc3QtZ3JvdXAtaXRlbXtib3JkZXItdG9wLXdpZHRoOjB9Lmxpc3QtZ3JvdXAtaXRlbSsubGlzdC1ncm91cC1pdGVtLmFjdGl2ZXtib3JkZXItdG9wLXdpZHRoOjFweDttYXJnaW4tdG9wOi0xcHh9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbHtmbGV4LWRpcmVjdGlvbjpyb3d9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbD4ubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbD4ubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbX0ubGlzdC1ncm91cC1ob3Jpem9udGFsPi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZle21hcmdpbi10b3A6MH0ubGlzdC1ncm91cC1ob3Jpem9udGFsPi5saXN0LWdyb3VwLWl0ZW0rLmxpc3QtZ3JvdXAtaXRlbXtib3JkZXItbGVmdC13aWR0aDowO2JvcmRlci10b3Atd2lkdGg6MXB4fS5saXN0LWdyb3VwLWhvcml6b250YWw+Lmxpc3QtZ3JvdXAtaXRlbSsubGlzdC1ncm91cC1pdGVtLmFjdGl2ZXtib3JkZXItbGVmdC13aWR0aDoxcHg7bWFyZ2luLWxlZnQ6LTFweH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbXtmbGV4LWRpcmVjdGlvbjpyb3d9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbT4ubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbT4ubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbX0ubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtPi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZle21hcmdpbi10b3A6MH0ubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtPi5saXN0LWdyb3VwLWl0ZW0rLmxpc3QtZ3JvdXAtaXRlbXtib3JkZXItbGVmdC13aWR0aDowO2JvcmRlci10b3Atd2lkdGg6MXB4fS5saXN0LWdyb3VwLWhvcml6b250YWwtc20+Lmxpc3QtZ3JvdXAtaXRlbSsubGlzdC1ncm91cC1pdGVtLmFjdGl2ZXtib3JkZXItbGVmdC13aWR0aDoxcHg7bWFyZ2luLWxlZnQ6LTFweH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5saXN0LWdyb3VwLWhvcml6b250YWwtbWR7ZmxleC1kaXJlY3Rpb246cm93fS5saXN0LWdyb3VwLWhvcml6b250YWwtbWQ+Lmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5saXN0LWdyb3VwLWhvcml6b250YWwtbWQ+Lmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW19Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZD4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZXttYXJnaW4tdG9wOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZD4ubGlzdC1ncm91cC1pdGVtKy5saXN0LWdyb3VwLWl0ZW17Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItdG9wLXdpZHRoOjFweH0ubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kPi5saXN0LWdyb3VwLWl0ZW0rLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4O21hcmdpbi1sZWZ0Oi0xcHh9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsubGlzdC1ncm91cC1ob3Jpem9udGFsLWxne2ZsZXgtZGlyZWN0aW9uOnJvd30ubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnPi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0ubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnPi5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5saXN0LWdyb3VwLWhvcml6b250YWwtbGc+Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7bWFyZ2luLXRvcDowfS5saXN0LWdyb3VwLWhvcml6b250YWwtbGc+Lmxpc3QtZ3JvdXAtaXRlbSsubGlzdC1ncm91cC1pdGVte2JvcmRlci1sZWZ0LXdpZHRoOjA7Ym9yZGVyLXRvcC13aWR0aDoxcHh9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZz4ubGlzdC1ncm91cC1pdGVtKy5saXN0LWdyb3VwLWl0ZW0uYWN0aXZle2JvcmRlci1sZWZ0LXdpZHRoOjFweDttYXJnaW4tbGVmdDotMXB4fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5saXN0LWdyb3VwLWhvcml6b250YWwteGx7ZmxleC1kaXJlY3Rpb246cm93fS5saXN0LWdyb3VwLWhvcml6b250YWwteGw+Lmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5saXN0LWdyb3VwLWhvcml6b250YWwteGw+Lmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW19Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bD4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZXttYXJnaW4tdG9wOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bD4ubGlzdC1ncm91cC1pdGVtKy5saXN0LWdyb3VwLWl0ZW17Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItdG9wLXdpZHRoOjFweH0ubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsPi5saXN0LWdyb3VwLWl0ZW0rLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4O21hcmdpbi1sZWZ0Oi0xcHh9fS5saXN0LWdyb3VwLWZsdXNoe2JvcmRlci1yYWRpdXM6MH0ubGlzdC1ncm91cC1mbHVzaD4ubGlzdC1ncm91cC1pdGVte2JvcmRlci13aWR0aDowIDAgMXB4fS5saXN0LWdyb3VwLWZsdXNoPi5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXdpZHRoOjB9Lmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6I2M0YzVlMDtjb2xvcjojMTgxOTRjfS5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2IzYjVkNztjb2xvcjojMTgxOTRjfS5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMxODE5NGM7Ym9yZGVyLWNvbG9yOiMxODE5NGM7Y29sb3I6I2ZmZn0ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNkNmQ4ZGI7Y29sb3I6IzM4M2Q0MX0ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYzhjYmNmO2NvbG9yOiMzODNkNDF9Lmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojMzgzZDQxO2JvcmRlci1jb2xvcjojMzgzZDQxO2NvbG9yOiNmZmZ9Lmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6I2M4ZWFjYztjb2xvcjojMWU1ZTI2fS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2I2ZTNiYjtjb2xvcjojMWU1ZTI2fS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMxZTVlMjY7Ym9yZGVyLWNvbG9yOiMxZTVlMjY7Y29sb3I6I2ZmZn0ubGlzdC1ncm91cC1pdGVtLWluZm97YmFja2dyb3VuZC1jb2xvcjojYmRkZGRkO2NvbG9yOiMwOTQ2NDV9Lmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYWNkNGQ0O2NvbG9yOiMwOTQ2NDV9Lmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzA5NDY0NTtib3JkZXItY29sb3I6IzA5NDY0NTtjb2xvcjojZmZmfS5saXN0LWdyb3VwLWl0ZW0td2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmZWVkYjg7Y29sb3I6IzgzNjMwMH0ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZWU3OWY7Y29sb3I6IzgzNjMwMH0ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojODM2MzAwO2JvcmRlci1jb2xvcjojODM2MzAwO2NvbG9yOiNmZmZ9Lmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojZjFiOGI4O2NvbG9yOiM2YTAwMDB9Lmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2VkYTNhMztjb2xvcjojNmEwMDAwfS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzZhMDAwMDtib3JkZXItY29sb3I6IzZhMDAwMDtjb2xvcjojZmZmfS5saXN0LWdyb3VwLWl0ZW0tbGlnaHR7YmFja2dyb3VuZC1jb2xvcjojZmRmZGZlO2NvbG9yOiM4MTgxODJ9Lmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlY2VjZjY7Y29sb3I6IzgxODE4Mn0ubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzgxODE4Mjtib3JkZXItY29sb3I6IzgxODE4Mjtjb2xvcjojZmZmfS5saXN0LWdyb3VwLWl0ZW0tZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiNjNWM1YzU7Y29sb3I6IzE5MTkxOX0ubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNiOGI4Yjg7Y29sb3I6IzE5MTkxOX0ubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojMTkxOTE5O2JvcmRlci1jb2xvcjojMTkxOTE5O2NvbG9yOiNmZmZ9LmNsb3Nle2NvbG9yOiMwMDA7ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjEuNDI1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO29wYWNpdHk6LjU7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmfUBtZWRpYSAobWF4LXdpZHRoOjEyMDBweCl7LmNsb3Nle2ZvbnQtc2l6ZTpjYWxjKDEuMjY3NXJlbSArIC4yMXZ3KX19LmNsb3NlOmhvdmVye2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzLC5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpob3ZlcntvcGFjaXR5Oi43NX1idXR0b24uY2xvc2V7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MDtwYWRkaW5nOjB9YS5jbG9zZS5kaXNhYmxlZHtwb2ludGVyLWV2ZW50czpub25lfS50b2FzdHtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuODUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7Ym9yZGVyLXJhZGl1czouMjVyZW07Ym94LXNoYWRvdzowIC4yNXJlbSAuNzVyZW0gcmdiYSgwLDAsMCwuMSk7ZmxleC1iYXNpczozNTBweDtmb250LXNpemU6Ljg3NXJlbTttYXgtd2lkdGg6MzUwcHg7b3BhY2l0eTowfS50b2FzdDpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1ib3R0b206Ljc1cmVtfS50b2FzdC5zaG93aW5ne29wYWNpdHk6MX0udG9hc3Quc2hvd3tkaXNwbGF5OmJsb2NrO29wYWNpdHk6MX0udG9hc3QuaGlkZXtkaXNwbGF5Om5vbmV9LnRvYXN0LWhlYWRlcnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjg1KTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNSk7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCk7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpO2NvbG9yOiM2Yzc1N2Q7ZGlzcGxheTpmbGV4O3BhZGRpbmc6LjI1cmVtIC43NXJlbX0udG9hc3QtYm9keXtwYWRkaW5nOi43NXJlbX0ubW9kYWwtb3BlbntvdmVyZmxvdzpoaWRkZW59Lm1vZGFsLW9wZW4gLm1vZGFse292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0b30ubW9kYWx7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2xlZnQ6MDtvdXRsaW5lOjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxMDUwfS5tb2RhbC1kaWFsb2d7bWFyZ2luOi41cmVtO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6YXV0b30ubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9ne3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MHB4KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZS1vdXR9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Lm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZ3t0cmFuc2l0aW9uOm5vbmV9fS5tb2RhbC5zaG93IC5tb2RhbC1kaWFsb2d7dHJhbnNmb3JtOm5vbmV9Lm1vZGFsLm1vZGFsLXN0YXRpYyAubW9kYWwtZGlhbG9ne3RyYW5zZm9ybTpzY2FsZSgxLjAyKX0ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGV7ZGlzcGxheTpmbGV4O21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gMXJlbSl9Lm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50e21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDFyZW0pO292ZXJmbG93OmhpZGRlbn0ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWZvb3RlciwubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWhlYWRlcntmbGV4LXNocmluazowfS5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtYm9keXtvdmVyZmxvdy15OmF1dG99Lm1vZGFsLWRpYWxvZy1jZW50ZXJlZHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21pbi1oZWlnaHQ6Y2FsYygxMDAlIC0gMXJlbSl9Lm1vZGFsLWRpYWxvZy1jZW50ZXJlZDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDpjYWxjKDEwMHZoIC0gMXJlbSk7aGVpZ2h0Oi13ZWJraXQtbWluLWNvbnRlbnQ7aGVpZ2h0Oi1tb3otbWluLWNvbnRlbnQ7aGVpZ2h0Om1pbi1jb250ZW50fS5tb2RhbC1kaWFsb2ctY2VudGVyZWQubW9kYWwtZGlhbG9nLXNjcm9sbGFibGV7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudHttYXgtaGVpZ2h0Om5vbmV9Lm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZTpiZWZvcmV7Y29udGVudDpub25lfS5tb2RhbC1jb250ZW50e2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmFkaXVzOi4zcmVtO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3V0bGluZTowO3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0ubW9kYWwtYmFja2Ryb3B7YmFja2dyb3VuZC1jb2xvcjojMDAwO2hlaWdodDoxMDB2aDtsZWZ0OjA7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwdnc7ei1pbmRleDoxMDQwfS5tb2RhbC1iYWNrZHJvcC5mYWRle29wYWNpdHk6MH0ubW9kYWwtYmFja2Ryb3Auc2hvd3tvcGFjaXR5Oi41fS5tb2RhbC1oZWFkZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6Y2FsYyguM3JlbSAtIDFweCk7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6Y2FsYyguM3JlbSAtIDFweCk7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MXJlbX0ubW9kYWwtaGVhZGVyIC5jbG9zZXttYXJnaW46LTFyZW0gLTFyZW0gLTFyZW0gYXV0bztwYWRkaW5nOjFyZW19Lm1vZGFsLXRpdGxle2xpbmUtaGVpZ2h0OjEuNTttYXJnaW4tYm90dG9tOjB9Lm1vZGFsLWJvZHl7ZmxleDoxIDEgYXV0bztwYWRkaW5nOjFyZW07cG9zaXRpb246cmVsYXRpdmV9Lm1vZGFsLWZvb3RlcnthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KTtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZzouNzVyZW19Lm1vZGFsLWZvb3Rlcj4qe21hcmdpbjouMjVyZW19Lm1vZGFsLXNjcm9sbGJhci1tZWFzdXJle2hlaWdodDo1MHB4O292ZXJmbG93OnNjcm9sbDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTk5OTlweDt3aWR0aDo1MHB4fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsubW9kYWwtZGlhbG9ne21hcmdpbjoxLjc1cmVtIGF1dG87bWF4LXdpZHRoOjUwMHB4fS5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZXttYXgtaGVpZ2h0OmNhbGMoMTAwJSAtIDMuNXJlbSl9Lm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50e21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDMuNXJlbSl9Lm1vZGFsLWRpYWxvZy1jZW50ZXJlZHttaW4taGVpZ2h0OmNhbGMoMTAwJSAtIDMuNXJlbSl9Lm1vZGFsLWRpYWxvZy1jZW50ZXJlZDpiZWZvcmV7aGVpZ2h0OmNhbGMoMTAwdmggLSAzLjVyZW0pO2hlaWdodDotd2Via2l0LW1pbi1jb250ZW50O2hlaWdodDotbW96LW1pbi1jb250ZW50O2hlaWdodDptaW4tY29udGVudH0ubW9kYWwtc217bWF4LXdpZHRoOjMwMHB4fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lm1vZGFsLWxnLC5tb2RhbC14bHttYXgtd2lkdGg6ODAwcHh9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7Lm1vZGFsLXhse21heC13aWR0aDoxMTQwcHh9fS50b29sdGlwe3dvcmQtd3JhcDpicmVhay13b3JkO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsU2Vnb2UgVUksUm9ib3RvLEhlbHZldGljYSBOZXVlLEFyaWFsLE5vdG8gU2FucyxMaWJlcmF0aW9uIFNhbnMsc2Fucy1zZXJpZixBcHBsZSBDb2xvciBFbW9qaSxTZWdvZSBVSSBFbW9qaSxTZWdvZSBVSSBTeW1ib2wsTm90byBDb2xvciBFbW9qaTtmb250LXNpemU6LjgzMTI1cmVtO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7bGluZS1icmVhazphdXRvO2xpbmUtaGVpZ2h0OjEuNTttYXJnaW46MDtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpsZWZ0O3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1zaGFkb3c6bm9uZTt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5vcm1hbDt3b3JkLWJyZWFrOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3otaW5kZXg6MTA3MH0udG9vbHRpcC5zaG93e29wYWNpdHk6Ljl9LnRvb2x0aXAgLmFycm93e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0Oi40cmVtO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOi44cmVtfS50b29sdGlwIC5hcnJvdzpiZWZvcmV7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZDtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXRvcF0sLmJzLXRvb2x0aXAtdG9we3BhZGRpbmc6LjRyZW0gMH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdywuYnMtdG9vbHRpcC10b3AgLmFycm93e2JvdHRvbTowfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OmJlZm9yZSwuYnMtdG9vbHRpcC10b3AgLmFycm93OmJlZm9yZXtib3JkZXItdG9wLWNvbG9yOiMwMDA7Ym9yZGVyLXdpZHRoOi40cmVtIC40cmVtIDA7dG9wOjB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdLC5icy10b29sdGlwLXJpZ2h0e3BhZGRpbmc6MCAuNHJlbX0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93LC5icy10b29sdGlwLXJpZ2h0IC5hcnJvd3toZWlnaHQ6LjhyZW07bGVmdDowO3dpZHRoOi40cmVtfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSAuYXJyb3c6YmVmb3JlLC5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzpiZWZvcmV7Ym9yZGVyLXJpZ2h0LWNvbG9yOiMwMDA7Ym9yZGVyLXdpZHRoOi40cmVtIC40cmVtIC40cmVtIDA7cmlnaHQ6MH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dLC5icy10b29sdGlwLWJvdHRvbXtwYWRkaW5nOi40cmVtIDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3csLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvd3t0b3A6MH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdzpiZWZvcmUsLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzpiZWZvcmV7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDAwO2JvcmRlci13aWR0aDowIC40cmVtIC40cmVtO2JvdHRvbTowfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdLC5icy10b29sdGlwLWxlZnR7cGFkZGluZzowIC40cmVtfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdywuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvd3toZWlnaHQ6LjhyZW07cmlnaHQ6MDt3aWR0aDouNHJlbX0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6YmVmb3JlLC5icy10b29sdGlwLWxlZnQgLmFycm93OmJlZm9yZXtib3JkZXItbGVmdC1jb2xvcjojMDAwO2JvcmRlci13aWR0aDouNHJlbSAwIC40cmVtIC40cmVtO2xlZnQ6MH0udG9vbHRpcC1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Ym9yZGVyLXJhZGl1czouMjVyZW07Y29sb3I6I2ZmZjttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzouMjVyZW0gLjVyZW07dGV4dC1hbGlnbjpjZW50ZXJ9LnBvcG92ZXJ7d29yZC13cmFwOmJyZWFrLXdvcmQ7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci1yYWRpdXM6LjNyZW07Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsU2Vnb2UgVUksUm9ib3RvLEhlbHZldGljYSBOZXVlLEFyaWFsLE5vdG8gU2FucyxMaWJlcmF0aW9uIFNhbnMsc2Fucy1zZXJpZixBcHBsZSBDb2xvciBFbW9qaSxTZWdvZSBVSSBFbW9qaSxTZWdvZSBVSSBTeW1ib2wsTm90byBDb2xvciBFbW9qaTtmb250LXNpemU6LjgzMTI1cmVtO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsZWZ0OjA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtYnJlYWs6YXV0bztsaW5lLWhlaWdodDoxLjU7bWF4LXdpZHRoOjI3NnB4O3RleHQtYWxpZ246bGVmdDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTt0b3A6MDt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC1icmVhazpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt6LWluZGV4OjEwNjB9LnBvcG92ZXIsLnBvcG92ZXIgLmFycm93e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGV9LnBvcG92ZXIgLmFycm93e2hlaWdodDouNXJlbTttYXJnaW46MCAuM3JlbTt3aWR0aDoxcmVtfS5wb3BvdmVyIC5hcnJvdzphZnRlciwucG9wb3ZlciAuYXJyb3c6YmVmb3Jle2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWQ7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0sLmJzLXBvcG92ZXItdG9we21hcmdpbi1ib3R0b206LjVyZW19LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXT4uYXJyb3csLmJzLXBvcG92ZXItdG9wPi5hcnJvd3tib3R0b206Y2FsYygtLjVyZW0gLSAxcHgpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0+LmFycm93OmJlZm9yZSwuYnMtcG9wb3Zlci10b3A+LmFycm93OmJlZm9yZXtib3JkZXItdG9wLWNvbG9yOnJnYmEoMCwwLDAsLjI1KTtib3JkZXItd2lkdGg6LjVyZW0gLjVyZW0gMDtib3R0b206MH0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdPi5hcnJvdzphZnRlciwuYnMtcG9wb3Zlci10b3A+LmFycm93OmFmdGVye2JvcmRlci10b3AtY29sb3I6I2ZmZjtib3JkZXItd2lkdGg6LjVyZW0gLjVyZW0gMDtib3R0b206MXB4fS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSwuYnMtcG9wb3Zlci1yaWdodHttYXJnaW4tbGVmdDouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0+LmFycm93LC5icy1wb3BvdmVyLXJpZ2h0Pi5hcnJvd3toZWlnaHQ6MXJlbTtsZWZ0OmNhbGMoLS41cmVtIC0gMXB4KTttYXJnaW46LjNyZW0gMDt3aWR0aDouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0+LmFycm93OmJlZm9yZSwuYnMtcG9wb3Zlci1yaWdodD4uYXJyb3c6YmVmb3Jle2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSk7Ym9yZGVyLXdpZHRoOi41cmVtIC41cmVtIC41cmVtIDA7bGVmdDowfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XT4uYXJyb3c6YWZ0ZXIsLmJzLXBvcG92ZXItcmlnaHQ+LmFycm93OmFmdGVye2JvcmRlci1yaWdodC1jb2xvcjojZmZmO2JvcmRlci13aWR0aDouNXJlbSAuNXJlbSAuNXJlbSAwO2xlZnQ6MXB4fS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0sLmJzLXBvcG92ZXItYm90dG9te21hcmdpbi10b3A6LjVyZW19LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXT4uYXJyb3csLmJzLXBvcG92ZXItYm90dG9tPi5hcnJvd3t0b3A6Y2FsYygtLjVyZW0gLSAxcHgpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0+LmFycm93OmJlZm9yZSwuYnMtcG9wb3Zlci1ib3R0b20+LmFycm93OmJlZm9yZXtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMCwwLDAsLjI1KTtib3JkZXItd2lkdGg6MCAuNXJlbSAuNXJlbTt0b3A6MH0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dPi5hcnJvdzphZnRlciwuYnMtcG9wb3Zlci1ib3R0b20+LmFycm93OmFmdGVye2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZjtib3JkZXItd2lkdGg6MCAuNXJlbSAuNXJlbTt0b3A6MXB4fS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLnBvcG92ZXItaGVhZGVyOmJlZm9yZSwuYnMtcG9wb3Zlci1ib3R0b20gLnBvcG92ZXItaGVhZGVyOmJlZm9yZXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjdmN2Y3O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztsZWZ0OjUwJTttYXJnaW4tbGVmdDotLjVyZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSwuYnMtcG9wb3Zlci1sZWZ0e21hcmdpbi1yaWdodDouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XT4uYXJyb3csLmJzLXBvcG92ZXItbGVmdD4uYXJyb3d7aGVpZ2h0OjFyZW07bWFyZ2luOi4zcmVtIDA7cmlnaHQ6Y2FsYygtLjVyZW0gLSAxcHgpO3dpZHRoOi41cmVtfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdPi5hcnJvdzpiZWZvcmUsLmJzLXBvcG92ZXItbGVmdD4uYXJyb3c6YmVmb3Jle2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMCwwLDAsLjI1KTtib3JkZXItd2lkdGg6LjVyZW0gMCAuNXJlbSAuNXJlbTtyaWdodDowfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdPi5hcnJvdzphZnRlciwuYnMtcG9wb3Zlci1sZWZ0Pi5hcnJvdzphZnRlcntib3JkZXItbGVmdC1jb2xvcjojZmZmO2JvcmRlci13aWR0aDouNXJlbSAwIC41cmVtIC41cmVtO3JpZ2h0OjFweH0ucG9wb3Zlci1oZWFkZXJ7YmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KTtmb250LXNpemU6Ljk1cmVtO21hcmdpbi1ib3R0b206MDtwYWRkaW5nOi41cmVtIC43NXJlbX0ucG9wb3Zlci1oZWFkZXI6ZW1wdHl7ZGlzcGxheTpub25lfS5wb3BvdmVyLWJvZHl7Y29sb3I6IzIxMjUyOTtwYWRkaW5nOi41cmVtIC43NXJlbX0uY2Fyb3VzZWx7cG9zaXRpb246cmVsYXRpdmV9LmNhcm91c2VsLnBvaW50ZXItZXZlbnR7dG91Y2gtYWN0aW9uOnBhbi15fS5jYXJvdXNlbC1pbm5lcntvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0uY2Fyb3VzZWwtaW5uZXI6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2t9LmNhcm91c2VsLWl0ZW17LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtkaXNwbGF5Om5vbmU7ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6LTEwMCU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0O3dpZHRoOjEwMCV9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmNhcm91c2VsLWl0ZW17dHJhbnNpdGlvbjpub25lfX0uY2Fyb3VzZWwtaXRlbS1uZXh0LC5jYXJvdXNlbC1pdGVtLXByZXYsLmNhcm91c2VsLWl0ZW0uYWN0aXZle2Rpc3BsYXk6YmxvY2t9LmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0LC5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfS5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9LmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW17b3BhY2l0eTowO3RyYW5zZm9ybTpub25lO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eX0uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCwuY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQsLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjF9LmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0e29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgMHMgLjZzO3otaW5kZXg6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCwuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHR7dHJhbnNpdGlvbjpub25lfX0uY2Fyb3VzZWwtY29udHJvbC1uZXh0LC5jYXJvdXNlbC1jb250cm9sLXByZXZ7YWxpZ24taXRlbXM6Y2VudGVyO2JvdHRvbTowO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7b3BhY2l0eTouNTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBlYXNlO3dpZHRoOjE1JTt6LWluZGV4OjF9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmNhcm91c2VsLWNvbnRyb2wtbmV4dCwuY2Fyb3VzZWwtY29udHJvbC1wcmV2e3RyYW5zaXRpb246bm9uZX19LmNhcm91c2VsLWNvbnRyb2wtbmV4dDpmb2N1cywuY2Fyb3VzZWwtY29udHJvbC1uZXh0OmhvdmVyLC5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsLmNhcm91c2VsLWNvbnRyb2wtcHJldjpob3Zlcntjb2xvcjojZmZmO29wYWNpdHk6Ljk7b3V0bGluZTowO3RleHQtZGVjb3JhdGlvbjpub25lfS5jYXJvdXNlbC1jb250cm9sLXByZXZ7bGVmdDowfS5jYXJvdXNlbC1jb250cm9sLW5leHR7cmlnaHQ6MH0uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29ue2JhY2tncm91bmQ6NTAlLzEwMCUgMTAwJSBuby1yZXBlYXQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgd2lkdGg9JzgnIGhlaWdodD0nOCclM0UlM0NwYXRoIGQ9J201LjI1IDAtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLyUzRSUzQy9zdmclM0UiKX0uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgd2lkdGg9JzgnIGhlaWdodD0nOCclM0UlM0NwYXRoIGQ9J20yLjc1IDAtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8lM0UlM0Mvc3ZnJTNFIil9LmNhcm91c2VsLWluZGljYXRvcnN7Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bGVmdDowO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW4tbGVmdDoxNSU7bWFyZ2luLXJpZ2h0OjE1JTtwYWRkaW5nLWxlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3otaW5kZXg6MTV9LmNhcm91c2VsLWluZGljYXRvcnMgbGl7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItYm90dG9tOjEwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDoxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JveC1zaXppbmc6Y29udGVudC1ib3g7Y3Vyc29yOnBvaW50ZXI7ZmxleDowIDEgYXV0bztoZWlnaHQ6M3B4O21hcmdpbi1sZWZ0OjNweDttYXJnaW4tcmlnaHQ6M3B4O29wYWNpdHk6LjU7dGV4dC1pbmRlbnQ6LTk5OXB4O3RyYW5zaXRpb246b3BhY2l0eSAuNnMgZWFzZTt3aWR0aDozMHB4fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpe3RyYW5zaXRpb246bm9uZX19LmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZXtvcGFjaXR5OjF9LmNhcm91c2VsLWNhcHRpb257Ym90dG9tOjIwcHg7Y29sb3I6I2ZmZjtsZWZ0OjE1JTtwYWRkaW5nLWJvdHRvbToyMHB4O3BhZGRpbmctdG9wOjIwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTUlO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MTB9QC13ZWJraXQta2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVye3Rve3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX1Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVye3Rve3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX0uc3Bpbm5lci1ib3JkZXJ7LXdlYmtpdC1hbmltYXRpb246c3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnNwaW5uZXItYm9yZGVyIC43NXMgbGluZWFyIGluZmluaXRlO2JvcmRlcjouMjVlbSBzb2xpZDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXItcmlnaHQ6LjI1ZW0gc29saWQgdHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjJyZW07dmVydGljYWwtYWxpZ246dGV4dC1ib3R0b207d2lkdGg6MnJlbX0uc3Bpbm5lci1ib3JkZXItc217Ym9yZGVyLXdpZHRoOi4yZW07aGVpZ2h0OjFyZW07d2lkdGg6MXJlbX1ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbm5lci1ncm93ezAle3RyYW5zZm9ybTpzY2FsZSgwKX01MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpub25lfX1Aa2V5ZnJhbWVzIHNwaW5uZXItZ3Jvd3swJXt0cmFuc2Zvcm06c2NhbGUoMCl9NTAle29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX19LnNwaW5uZXItZ3Jvd3std2Via2l0LWFuaW1hdGlvbjpzcGlubmVyLWdyb3cgLjc1cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnNwaW5uZXItZ3JvdyAuNzVzIGxpbmVhciBpbmZpbml0ZTtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MnJlbTtvcGFjaXR5OjA7dmVydGljYWwtYWxpZ246dGV4dC1ib3R0b207d2lkdGg6MnJlbX0uc3Bpbm5lci1ncm93LXNte2hlaWdodDoxcmVtO3dpZHRoOjFyZW19QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LnNwaW5uZXItYm9yZGVyLC5zcGlubmVyLWdyb3d7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MS41czthbmltYXRpb24tZHVyYXRpb246MS41c319LmFsaWduLWJhc2VsaW5le3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tdG9we3ZlcnRpY2FsLWFsaWduOnRvcCFpbXBvcnRhbnR9LmFsaWduLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGUhaW1wb3J0YW50fS5hbGlnbi1ib3R0b217dmVydGljYWwtYWxpZ246Ym90dG9tIWltcG9ydGFudH0uYWxpZ24tdGV4dC1ib3R0b217dmVydGljYWwtYWxpZ246dGV4dC1ib3R0b20haW1wb3J0YW50fS5hbGlnbi10ZXh0LXRvcHt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcCFpbXBvcnRhbnR9LmJnLXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojMmUzMTkyIWltcG9ydGFudH1hLmJnLXByaW1hcnk6Zm9jdXMsYS5iZy1wcmltYXJ5OmhvdmVyLGJ1dHRvbi5iZy1wcmltYXJ5OmZvY3VzLGJ1dHRvbi5iZy1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzIyMjQ2YiFpbXBvcnRhbnR9LmJnLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2QhaW1wb3J0YW50fWEuYmctc2Vjb25kYXJ5OmZvY3VzLGEuYmctc2Vjb25kYXJ5OmhvdmVyLGJ1dHRvbi5iZy1zZWNvbmRhcnk6Zm9jdXMsYnV0dG9uLmJnLXNlY29uZGFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM1NDViNjIhaW1wb3J0YW50fS5iZy1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzM5YjU0YSFpbXBvcnRhbnR9YS5iZy1zdWNjZXNzOmZvY3VzLGEuYmctc3VjY2Vzczpob3ZlcixidXR0b24uYmctc3VjY2Vzczpmb2N1cyxidXR0b24uYmctc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyZDhlM2EhaW1wb3J0YW50fS5iZy1pbmZve2JhY2tncm91bmQtY29sb3I6IzEyODc4NSFpbXBvcnRhbnR9YS5iZy1pbmZvOmZvY3VzLGEuYmctaW5mbzpob3ZlcixidXR0b24uYmctaW5mbzpmb2N1cyxidXR0b24uYmctaW5mbzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwYzVhNTkhaW1wb3J0YW50fS5iZy13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZjYmYwMCFpbXBvcnRhbnR9YS5iZy13YXJuaW5nOmZvY3VzLGEuYmctd2FybmluZzpob3ZlcixidXR0b24uYmctd2FybmluZzpmb2N1cyxidXR0b24uYmctd2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjOTk4MDAhaW1wb3J0YW50fS5iZy1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojYzAwIWltcG9ydGFudH1hLmJnLWRhbmdlcjpmb2N1cyxhLmJnLWRhbmdlcjpob3ZlcixidXR0b24uYmctZGFuZ2VyOmZvY3VzLGJ1dHRvbi5iZy1kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTAwIWltcG9ydGFudH0uYmctbGlnaHR7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhIWltcG9ydGFudH1hLmJnLWxpZ2h0OmZvY3VzLGEuYmctbGlnaHQ6aG92ZXIsYnV0dG9uLmJnLWxpZ2h0OmZvY3VzLGJ1dHRvbi5iZy1saWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkYWUwZTUhaW1wb3J0YW50fS5iZy1kYXJre2JhY2tncm91bmQtY29sb3I6IzMwMzAzMCFpbXBvcnRhbnR9YS5iZy1kYXJrOmZvY3VzLGEuYmctZGFyazpob3ZlcixidXR0b24uYmctZGFyazpmb2N1cyxidXR0b24uYmctZGFyazpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMxNzE3MTchaW1wb3J0YW50fS5iZy13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50IWltcG9ydGFudH0uYm9yZGVye2JvcmRlcjoxcHggc29saWQgI2RlZTJlNiFpbXBvcnRhbnR9LmJvcmRlci10b3B7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RlZTJlNiFpbXBvcnRhbnR9LmJvcmRlci1yaWdodHtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkZWUyZTYhaW1wb3J0YW50fS5ib3JkZXItYm90dG9te2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZWUyZTYhaW1wb3J0YW50fS5ib3JkZXItbGVmdHtib3JkZXItbGVmdDoxcHggc29saWQgI2RlZTJlNiFpbXBvcnRhbnR9LmJvcmRlci0we2JvcmRlcjowIWltcG9ydGFudH0uYm9yZGVyLXByaW1hcnl7Ym9yZGVyLWNvbG9yOiMyZTMxOTIhaW1wb3J0YW50fS5ib3JkZXItc2Vjb25kYXJ5e2JvcmRlci1jb2xvcjojNmM3NTdkIWltcG9ydGFudH0uYm9yZGVyLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiMzOWI1NGEhaW1wb3J0YW50fS5ib3JkZXItaW5mb3tib3JkZXItY29sb3I6IzEyODc4NSFpbXBvcnRhbnR9LmJvcmRlci13YXJuaW5ne2JvcmRlci1jb2xvcjojZmNiZjAwIWltcG9ydGFudH0uYm9yZGVyLWRhbmdlcntib3JkZXItY29sb3I6I2MwMCFpbXBvcnRhbnR9LmJvcmRlci1saWdodHtib3JkZXItY29sb3I6I2Y4ZjlmYSFpbXBvcnRhbnR9LmJvcmRlci1kYXJre2JvcmRlci1jb2xvcjojMzAzMDMwIWltcG9ydGFudH0uYm9yZGVyLXdoaXRle2JvcmRlci1jb2xvcjojZmZmIWltcG9ydGFudH0ucm91bmRlZC1zbXtib3JkZXItcmFkaXVzOi4ycmVtIWltcG9ydGFudH0ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtdG9we2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudH0ucm91bmRlZC1yaWdodCwucm91bmRlZC10b3B7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudH0ucm91bmRlZC1ib3R0b20sLnJvdW5kZWQtcmlnaHR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudH0ucm91bmRlZC1ib3R0b20sLnJvdW5kZWQtbGVmdHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtbGVmdHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czouM3JlbSFpbXBvcnRhbnR9LnJvdW5kZWQtY2lyY2xle2JvcmRlci1yYWRpdXM6NTAlIWltcG9ydGFudH0ucm91bmRlZC1waWxse2JvcmRlci1yYWRpdXM6NTByZW0haW1wb3J0YW50fS5yb3VuZGVkLTB7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudH0uY2xlYXJmaXg6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2t9LmQtbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1mbGV4e2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5kLXNtLW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC1zbS1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLXNtLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQtc20tYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQtc20tdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQtc20tdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC1zbS10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQtc20tZmxleHtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLXNtLWlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmQtbWQtbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLW1kLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtbWQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1tZC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC1tZC10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC1tZC10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLW1kLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1tZC1mbGV4e2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtbWQtaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZC1sZy1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQtbGctaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC1sZy1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLWxnLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLWxnLXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLWxnLXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQtbGctdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLWxnLWZsZXh7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC1sZy1pbmxpbmUtZmxleHtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuZC14bC1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQteGwtaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC14bC1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLXhsLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLXhsLXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLXhsLXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQteGwtdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLXhsLWZsZXh7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC14bC1pbmxpbmUtZmxleHtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH19QG1lZGlhIHByaW50ey5kLXByaW50LW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC1wcmludC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLXByaW50LWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQtcHJpbnQtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQtcHJpbnQtdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQtcHJpbnQtdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC1wcmludC10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQtcHJpbnQtZmxleHtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLXByaW50LWlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX0uZW1iZWQtcmVzcG9uc2l2ZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0uZW1iZWQtcmVzcG9uc2l2ZTpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrfS5lbWJlZC1yZXNwb25zaXZlIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLC5lbWJlZC1yZXNwb25zaXZlIG9iamVjdCwuZW1iZWQtcmVzcG9uc2l2ZSB2aWRlb3tib3JkZXI6MDtib3R0b206MDtoZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OTpiZWZvcmV7cGFkZGluZy10b3A6NDIuODU3MTQyODU3MSV9LmVtYmVkLXJlc3BvbnNpdmUtMTZieTk6YmVmb3Jle3BhZGRpbmctdG9wOjU2LjI1JX0uZW1iZWQtcmVzcG9uc2l2ZS00YnkzOmJlZm9yZXtwYWRkaW5nLXRvcDo3NSV9LmVtYmVkLXJlc3BvbnNpdmUtMWJ5MTpiZWZvcmV7cGFkZGluZy10b3A6MTAwJX0uZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uZmxleC1jb2x1bW57ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uZmxleC1yb3ctcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtY29sdW1uLXJldmVyc2V7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LXdyYXB7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LW5vd3JhcHtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH0uZmxleC13cmFwLXJldmVyc2V7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtZmlsbHtmbGV4OjEgMSBhdXRvIWltcG9ydGFudH0uZmxleC1ncm93LTB7ZmxleC1ncm93OjAhaW1wb3J0YW50fS5mbGV4LWdyb3ctMXtmbGV4LWdyb3c6MSFpbXBvcnRhbnR9LmZsZXgtc2hyaW5rLTB7ZmxleC1zaHJpbms6MCFpbXBvcnRhbnR9LmZsZXgtc2hyaW5rLTF7ZmxleC1zaHJpbms6MSFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24taXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWJhc2VsaW5le2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc3RyZXRjaHthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zdGFydHthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWVuZHthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1jZW50ZXJ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWJldHdlZW57YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1hcm91bmR7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXN0cmV0Y2h7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi1hdXRve2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc3RhcnR7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tc2VsZi1lbmR7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtY2VudGVye2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi1iYXNlbGluZXthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5mbGV4LXNtLXJvd3tmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LXNtLWNvbHVtbntmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LXNtLXJvdy1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1zbS1jb2x1bW4tcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtc20td3JhcHtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LmZsZXgtc20tbm93cmFwe2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LXNtLXdyYXAtcmV2ZXJzZXtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1zbS1maWxse2ZsZXg6MSAxIGF1dG8haW1wb3J0YW50fS5mbGV4LXNtLWdyb3ctMHtmbGV4LWdyb3c6MCFpbXBvcnRhbnR9LmZsZXgtc20tZ3Jvdy0xe2ZsZXgtZ3JvdzoxIWltcG9ydGFudH0uZmxleC1zbS1zaHJpbmstMHtmbGV4LXNocmluazowIWltcG9ydGFudH0uZmxleC1zbS1zaHJpbmstMXtmbGV4LXNocmluazoxIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtc20tY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1zbS1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXNtLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1lbmR7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc20tYmFzZWxpbmV7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLXN0YXJ0e2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tZW5ke2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tYmV0d2VlbnthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLWFyb3VuZHthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tc3RyZXRjaHthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLWF1dG97YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1zdGFydHthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLWVuZHthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1jZW50ZXJ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLWJhc2VsaW5le2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLXN0cmV0Y2h7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mbGV4LW1kLXJvd3tmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LW1kLWNvbHVtbntmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LW1kLXJvdy1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1tZC1jb2x1bW4tcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbWQtd3JhcHtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LmZsZXgtbWQtbm93cmFwe2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LW1kLXdyYXAtcmV2ZXJzZXtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1tZC1maWxse2ZsZXg6MSAxIGF1dG8haW1wb3J0YW50fS5mbGV4LW1kLWdyb3ctMHtmbGV4LWdyb3c6MCFpbXBvcnRhbnR9LmZsZXgtbWQtZ3Jvdy0xe2ZsZXgtZ3JvdzoxIWltcG9ydGFudH0uZmxleC1tZC1zaHJpbmstMHtmbGV4LXNocmluazowIWltcG9ydGFudH0uZmxleC1tZC1zaHJpbmstMXtmbGV4LXNocmluazoxIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LW1kLWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbWQtYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLW1kLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1tZC1lbmR7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1tZC1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtYmFzZWxpbmV7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1tZC1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLXN0YXJ0e2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtZW5ke2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtYmV0d2VlbnthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLWFyb3VuZHthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtc3RyZXRjaHthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLWF1dG97YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1zdGFydHthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLWVuZHthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1jZW50ZXJ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLWJhc2VsaW5le2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLXN0cmV0Y2h7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5mbGV4LWxnLXJvd3tmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LWxnLWNvbHVtbntmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LWxnLXJvdy1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1sZy1jb2x1bW4tcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbGctd3JhcHtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LmZsZXgtbGctbm93cmFwe2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LWxnLXdyYXAtcmV2ZXJzZXtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1sZy1maWxse2ZsZXg6MSAxIGF1dG8haW1wb3J0YW50fS5mbGV4LWxnLWdyb3ctMHtmbGV4LWdyb3c6MCFpbXBvcnRhbnR9LmZsZXgtbGctZ3Jvdy0xe2ZsZXgtZ3JvdzoxIWltcG9ydGFudH0uZmxleC1sZy1zaHJpbmstMHtmbGV4LXNocmluazowIWltcG9ydGFudH0uZmxleC1sZy1zaHJpbmstMXtmbGV4LXNocmluazoxIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWxnLXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWxnLWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1sZy1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1sZy1lbmR7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1sZy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbGctYmFzZWxpbmV7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1sZy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLXN0YXJ0e2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctZW5ke2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctYmV0d2VlbnthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLWFyb3VuZHthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctc3RyZXRjaHthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLWF1dG97YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1zdGFydHthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLWVuZHthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1jZW50ZXJ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLWJhc2VsaW5le2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLXN0cmV0Y2h7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuZmxleC14bC1yb3d7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uZmxleC14bC1jb2x1bW57ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uZmxleC14bC1yb3ctcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgteGwtY29sdW1uLXJldmVyc2V7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LXhsLXdyYXB7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LXhsLW5vd3JhcHtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH0uZmxleC14bC13cmFwLXJldmVyc2V7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgteGwtZmlsbHtmbGV4OjEgMSBhdXRvIWltcG9ydGFudH0uZmxleC14bC1ncm93LTB7ZmxleC1ncm93OjAhaW1wb3J0YW50fS5mbGV4LXhsLWdyb3ctMXtmbGV4LWdyb3c6MSFpbXBvcnRhbnR9LmZsZXgteGwtc2hyaW5rLTB7ZmxleC1zaHJpbms6MCFpbXBvcnRhbnR9LmZsZXgteGwtc2hyaW5rLTF7ZmxleC1zaHJpbms6MSFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXhsLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQteGwtYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy14bC1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5le2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtc3RyZXRjaHthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1zdGFydHthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLWVuZHthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1jZW50ZXJ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLWJldHdlZW57YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1hcm91bmR7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLXN0cmV0Y2h7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1hdXRve2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtc3RhcnR7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1lbmR7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtY2VudGVye2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1iYXNlbGluZXthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9fS5mbG9hdC1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5mbG9hdC1zbS1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC1zbS1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LXNtLW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZmxvYXQtbWQtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uZmxvYXQtbWQtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5mbG9hdC1tZC1ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmZsb2F0LWxnLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LmZsb2F0LWxnLXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0uZmxvYXQtbGctbm9uZXtmbG9hdDpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuZmxvYXQteGwtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uZmxvYXQteGwtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5mbG9hdC14bC1ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fX0udXNlci1zZWxlY3QtYWxsey13ZWJraXQtdXNlci1zZWxlY3Q6YWxsIWltcG9ydGFudDstbW96LXVzZXItc2VsZWN0OmFsbCFpbXBvcnRhbnQ7dXNlci1zZWxlY3Q6YWxsIWltcG9ydGFudH0udXNlci1zZWxlY3QtYXV0b3std2Via2l0LXVzZXItc2VsZWN0OmF1dG8haW1wb3J0YW50Oy1tb3otdXNlci1zZWxlY3Q6YXV0byFpbXBvcnRhbnQ7LW1zLXVzZXItc2VsZWN0OmF1dG8haW1wb3J0YW50O3VzZXItc2VsZWN0OmF1dG8haW1wb3J0YW50fS51c2VyLXNlbGVjdC1ub25ley13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZSFpbXBvcnRhbnQ7LW1vei11c2VyLXNlbGVjdDpub25lIWltcG9ydGFudDstbXMtdXNlci1zZWxlY3Q6bm9uZSFpbXBvcnRhbnQ7dXNlci1zZWxlY3Q6bm9uZSFpbXBvcnRhbnR9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0byFpbXBvcnRhbnR9Lm92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50fS5wb3NpdGlvbi1zdGF0aWN7cG9zaXRpb246c3RhdGljIWltcG9ydGFudH0ucG9zaXRpb24tcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmUhaW1wb3J0YW50fS5wb3NpdGlvbi1hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnR9LnBvc2l0aW9uLWZpeGVke3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudH0ucG9zaXRpb24tc3RpY2t5e3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5IWltcG9ydGFudDtwb3NpdGlvbjpzdGlja3khaW1wb3J0YW50fS5maXhlZC10b3B7dG9wOjB9LmZpeGVkLWJvdHRvbSwuZml4ZWQtdG9we2xlZnQ6MDtwb3NpdGlvbjpmaXhlZDtyaWdodDowO3otaW5kZXg6MTAzMH0uZml4ZWQtYm90dG9te2JvdHRvbTowfUBzdXBwb3J0cyAoKHBvc2l0aW9uOi13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246c3RpY2t5KSl7LnN0aWNreS10b3B7cG9zaXRpb246LXdlYmtpdC1zdGlja3k7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6MTAyMH19LnNyLW9ubHl7Y2xpcDpyZWN0KDAsMCwwLDApO2JvcmRlcjowO21hcmdpbjotMXB4O3BhZGRpbmc6MH0uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1c3tjbGlwOmF1dG87aGVpZ2h0OmF1dG87b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpzdGF0aWM7d2hpdGUtc3BhY2U6bm9ybWFsO3dpZHRoOmF1dG99LnNoYWRvdy1zbXtib3gtc2hhZG93OjAgLjEyNXJlbSAuMjVyZW0gcmdiYSgwLDAsMCwuMDc1KSFpbXBvcnRhbnR9LnNoYWRvd3tib3gtc2hhZG93OjAgLjVyZW0gMXJlbSByZ2JhKDAsMCwwLC4xNSkhaW1wb3J0YW50fS5zaGFkb3ctbGd7Ym94LXNoYWRvdzowIDFyZW0gM3JlbSByZ2JhKDAsMCwwLC4xNzUpIWltcG9ydGFudH0uc2hhZG93LW5vbmV7Ym94LXNoYWRvdzpub25lIWltcG9ydGFudH0udy0yNXt3aWR0aDoyNSUhaW1wb3J0YW50fS53LTUwe3dpZHRoOjUwJSFpbXBvcnRhbnR9LnctNzV7d2lkdGg6NzUlIWltcG9ydGFudH0udy0xMDB7d2lkdGg6MTAwJSFpbXBvcnRhbnR9LnctYXV0b3t3aWR0aDphdXRvIWltcG9ydGFudH0udy01e3dpZHRoOjUlIWltcG9ydGFudH0udy0xNXt3aWR0aDoxNSUhaW1wb3J0YW50fS53LTIwe3dpZHRoOjIwJSFpbXBvcnRhbnR9LnctMzB7d2lkdGg6MzAlIWltcG9ydGFudH0udy0zNXt3aWR0aDozNSUhaW1wb3J0YW50fS53LTQwe3dpZHRoOjQwJSFpbXBvcnRhbnR9LnctNDV7d2lkdGg6NDUlIWltcG9ydGFudH0udy01NXt3aWR0aDo1NSUhaW1wb3J0YW50fS53LTYwe3dpZHRoOjYwJSFpbXBvcnRhbnR9LnctNjV7d2lkdGg6NjUlIWltcG9ydGFudH0udy03MHt3aWR0aDo3MCUhaW1wb3J0YW50fS53LTgwe3dpZHRoOjgwJSFpbXBvcnRhbnR9LnctODV7d2lkdGg6ODUlIWltcG9ydGFudH0udy05MHt3aWR0aDo5MCUhaW1wb3J0YW50fS53LTk1e3dpZHRoOjk1JSFpbXBvcnRhbnR9LmgtMjV7aGVpZ2h0OjI1JSFpbXBvcnRhbnR9LmgtNTB7aGVpZ2h0OjUwJSFpbXBvcnRhbnR9LmgtNzV7aGVpZ2h0Ojc1JSFpbXBvcnRhbnR9LmgtMTAwe2hlaWdodDoxMDAlIWltcG9ydGFudH0uaC1hdXRve2hlaWdodDphdXRvIWltcG9ydGFudH0uaC01e2hlaWdodDo1JSFpbXBvcnRhbnR9LmgtMTV7aGVpZ2h0OjE1JSFpbXBvcnRhbnR9LmgtMjB7aGVpZ2h0OjIwJSFpbXBvcnRhbnR9LmgtMzB7aGVpZ2h0OjMwJSFpbXBvcnRhbnR9LmgtMzV7aGVpZ2h0OjM1JSFpbXBvcnRhbnR9LmgtNDB7aGVpZ2h0OjQwJSFpbXBvcnRhbnR9LmgtNDV7aGVpZ2h0OjQ1JSFpbXBvcnRhbnR9LmgtNTV7aGVpZ2h0OjU1JSFpbXBvcnRhbnR9LmgtNjB7aGVpZ2h0OjYwJSFpbXBvcnRhbnR9LmgtNjV7aGVpZ2h0OjY1JSFpbXBvcnRhbnR9LmgtNzB7aGVpZ2h0OjcwJSFpbXBvcnRhbnR9LmgtODB7aGVpZ2h0OjgwJSFpbXBvcnRhbnR9LmgtODV7aGVpZ2h0Ojg1JSFpbXBvcnRhbnR9LmgtOTB7aGVpZ2h0OjkwJSFpbXBvcnRhbnR9LmgtOTV7aGVpZ2h0Ojk1JSFpbXBvcnRhbnR9Lm13LTEwMHttYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnR9Lm1oLTEwMHttYXgtaGVpZ2h0OjEwMCUhaW1wb3J0YW50fS5taW4tdnctMTAwe21pbi13aWR0aDoxMDB2dyFpbXBvcnRhbnR9Lm1pbi12aC0xMDB7bWluLWhlaWdodDoxMDB2aCFpbXBvcnRhbnR9LnZ3LTEwMHt3aWR0aDoxMDB2dyFpbXBvcnRhbnR9LnZoLTEwMHtoZWlnaHQ6MTAwdmghaW1wb3J0YW50fS5tLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC0wLC5teS0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLTAsLm14LTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi0wLC5teS0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLTAsLm14LTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0tMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQtMSwubXktMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLTEsLm14LTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLTEsLm15LTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC0xLC5teC0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0tMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC0yLC5teS0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci0yLC5teC0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLTIsLm15LTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLTIsLm14LTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC0zLC5teS0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLTMsLm14LTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi0zLC5teS0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLTMsLm14LTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0tNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQtNCwubXktNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLTQsLm14LTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLTQsLm15LTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC00LC5teC00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0tNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LTUsLm15LTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXItNSwubXgtNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLTUsLm15LTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwtNSwubXgtNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ubS02e21hcmdpbjo2cmVtIWltcG9ydGFudH0ubXQtNiwubXktNnttYXJnaW4tdG9wOjZyZW0haW1wb3J0YW50fS5tci02LC5teC02e21hcmdpbi1yaWdodDo2cmVtIWltcG9ydGFudH0ubWItNiwubXktNnttYXJnaW4tYm90dG9tOjZyZW0haW1wb3J0YW50fS5tbC02LC5teC02e21hcmdpbi1sZWZ0OjZyZW0haW1wb3J0YW50fS5tLTd7bWFyZ2luOjEycmVtIWltcG9ydGFudH0ubXQtNywubXktN3ttYXJnaW4tdG9wOjEycmVtIWltcG9ydGFudH0ubXItNywubXgtN3ttYXJnaW4tcmlnaHQ6MTJyZW0haW1wb3J0YW50fS5tYi03LC5teS03e21hcmdpbi1ib3R0b206MTJyZW0haW1wb3J0YW50fS5tbC03LC5teC03e21hcmdpbi1sZWZ0OjEycmVtIWltcG9ydGFudH0ubS04e21hcmdpbjoyNHJlbSFpbXBvcnRhbnR9Lm10LTgsLm15LTh7bWFyZ2luLXRvcDoyNHJlbSFpbXBvcnRhbnR9Lm1yLTgsLm14LTh7bWFyZ2luLXJpZ2h0OjI0cmVtIWltcG9ydGFudH0ubWItOCwubXktOHttYXJnaW4tYm90dG9tOjI0cmVtIWltcG9ydGFudH0ubWwtOCwubXgtOHttYXJnaW4tbGVmdDoyNHJlbSFpbXBvcnRhbnR9LnAtMHtwYWRkaW5nOjAhaW1wb3J0YW50fS5wdC0wLC5weS0we3BhZGRpbmctdG9wOjAhaW1wb3J0YW50fS5wci0wLC5weC0we3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9LnBiLTAsLnB5LTB7cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnR9LnBsLTAsLnB4LTB7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50fS5wLTF7cGFkZGluZzouMjVyZW0haW1wb3J0YW50fS5wdC0xLC5weS0xe3BhZGRpbmctdG9wOi4yNXJlbSFpbXBvcnRhbnR9LnByLTEsLnB4LTF7cGFkZGluZy1yaWdodDouMjVyZW0haW1wb3J0YW50fS5wYi0xLC5weS0xe3BhZGRpbmctYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9LnBsLTEsLnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9LnAtMntwYWRkaW5nOi41cmVtIWltcG9ydGFudH0ucHQtMiwucHktMntwYWRkaW5nLXRvcDouNXJlbSFpbXBvcnRhbnR9LnByLTIsLnB4LTJ7cGFkZGluZy1yaWdodDouNXJlbSFpbXBvcnRhbnR9LnBiLTIsLnB5LTJ7cGFkZGluZy1ib3R0b206LjVyZW0haW1wb3J0YW50fS5wbC0yLC5weC0ye3BhZGRpbmctbGVmdDouNXJlbSFpbXBvcnRhbnR9LnAtM3twYWRkaW5nOjFyZW0haW1wb3J0YW50fS5wdC0zLC5weS0ze3BhZGRpbmctdG9wOjFyZW0haW1wb3J0YW50fS5wci0zLC5weC0ze3BhZGRpbmctcmlnaHQ6MXJlbSFpbXBvcnRhbnR9LnBiLTMsLnB5LTN7cGFkZGluZy1ib3R0b206MXJlbSFpbXBvcnRhbnR9LnBsLTMsLnB4LTN7cGFkZGluZy1sZWZ0OjFyZW0haW1wb3J0YW50fS5wLTR7cGFkZGluZzoxLjVyZW0haW1wb3J0YW50fS5wdC00LC5weS00e3BhZGRpbmctdG9wOjEuNXJlbSFpbXBvcnRhbnR9LnByLTQsLnB4LTR7cGFkZGluZy1yaWdodDoxLjVyZW0haW1wb3J0YW50fS5wYi00LC5weS00e3BhZGRpbmctYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9LnBsLTQsLnB4LTR7cGFkZGluZy1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9LnAtNXtwYWRkaW5nOjNyZW0haW1wb3J0YW50fS5wdC01LC5weS01e3BhZGRpbmctdG9wOjNyZW0haW1wb3J0YW50fS5wci01LC5weC01e3BhZGRpbmctcmlnaHQ6M3JlbSFpbXBvcnRhbnR9LnBiLTUsLnB5LTV7cGFkZGluZy1ib3R0b206M3JlbSFpbXBvcnRhbnR9LnBsLTUsLnB4LTV7cGFkZGluZy1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLTZ7cGFkZGluZzo2cmVtIWltcG9ydGFudH0ucHQtNiwucHktNntwYWRkaW5nLXRvcDo2cmVtIWltcG9ydGFudH0ucHItNiwucHgtNntwYWRkaW5nLXJpZ2h0OjZyZW0haW1wb3J0YW50fS5wYi02LC5weS02e3BhZGRpbmctYm90dG9tOjZyZW0haW1wb3J0YW50fS5wbC02LC5weC02e3BhZGRpbmctbGVmdDo2cmVtIWltcG9ydGFudH0ucC03e3BhZGRpbmc6MTJyZW0haW1wb3J0YW50fS5wdC03LC5weS03e3BhZGRpbmctdG9wOjEycmVtIWltcG9ydGFudH0ucHItNywucHgtN3twYWRkaW5nLXJpZ2h0OjEycmVtIWltcG9ydGFudH0ucGItNywucHktN3twYWRkaW5nLWJvdHRvbToxMnJlbSFpbXBvcnRhbnR9LnBsLTcsLnB4LTd7cGFkZGluZy1sZWZ0OjEycmVtIWltcG9ydGFudH0ucC04e3BhZGRpbmc6MjRyZW0haW1wb3J0YW50fS5wdC04LC5weS04e3BhZGRpbmctdG9wOjI0cmVtIWltcG9ydGFudH0ucHItOCwucHgtOHtwYWRkaW5nLXJpZ2h0OjI0cmVtIWltcG9ydGFudH0ucGItOCwucHktOHtwYWRkaW5nLWJvdHRvbToyNHJlbSFpbXBvcnRhbnR9LnBsLTgsLnB4LTh7cGFkZGluZy1sZWZ0OjI0cmVtIWltcG9ydGFudH0ubS1uMXttYXJnaW46LS4yNXJlbSFpbXBvcnRhbnR9Lm10LW4xLC5teS1uMXttYXJnaW4tdG9wOi0uMjVyZW0haW1wb3J0YW50fS5tci1uMSwubXgtbjF7bWFyZ2luLXJpZ2h0Oi0uMjVyZW0haW1wb3J0YW50fS5tYi1uMSwubXktbjF7bWFyZ2luLWJvdHRvbTotLjI1cmVtIWltcG9ydGFudH0ubWwtbjEsLm14LW4xe21hcmdpbi1sZWZ0Oi0uMjVyZW0haW1wb3J0YW50fS5tLW4ye21hcmdpbjotLjVyZW0haW1wb3J0YW50fS5tdC1uMiwubXktbjJ7bWFyZ2luLXRvcDotLjVyZW0haW1wb3J0YW50fS5tci1uMiwubXgtbjJ7bWFyZ2luLXJpZ2h0Oi0uNXJlbSFpbXBvcnRhbnR9Lm1iLW4yLC5teS1uMnttYXJnaW4tYm90dG9tOi0uNXJlbSFpbXBvcnRhbnR9Lm1sLW4yLC5teC1uMnttYXJnaW4tbGVmdDotLjVyZW0haW1wb3J0YW50fS5tLW4ze21hcmdpbjotMXJlbSFpbXBvcnRhbnR9Lm10LW4zLC5teS1uM3ttYXJnaW4tdG9wOi0xcmVtIWltcG9ydGFudH0ubXItbjMsLm14LW4ze21hcmdpbi1yaWdodDotMXJlbSFpbXBvcnRhbnR9Lm1iLW4zLC5teS1uM3ttYXJnaW4tYm90dG9tOi0xcmVtIWltcG9ydGFudH0ubWwtbjMsLm14LW4ze21hcmdpbi1sZWZ0Oi0xcmVtIWltcG9ydGFudH0ubS1uNHttYXJnaW46LTEuNXJlbSFpbXBvcnRhbnR9Lm10LW40LC5teS1uNHttYXJnaW4tdG9wOi0xLjVyZW0haW1wb3J0YW50fS5tci1uNCwubXgtbjR7bWFyZ2luLXJpZ2h0Oi0xLjVyZW0haW1wb3J0YW50fS5tYi1uNCwubXktbjR7bWFyZ2luLWJvdHRvbTotMS41cmVtIWltcG9ydGFudH0ubWwtbjQsLm14LW40e21hcmdpbi1sZWZ0Oi0xLjVyZW0haW1wb3J0YW50fS5tLW41e21hcmdpbjotM3JlbSFpbXBvcnRhbnR9Lm10LW41LC5teS1uNXttYXJnaW4tdG9wOi0zcmVtIWltcG9ydGFudH0ubXItbjUsLm14LW41e21hcmdpbi1yaWdodDotM3JlbSFpbXBvcnRhbnR9Lm1iLW41LC5teS1uNXttYXJnaW4tYm90dG9tOi0zcmVtIWltcG9ydGFudH0ubWwtbjUsLm14LW41e21hcmdpbi1sZWZ0Oi0zcmVtIWltcG9ydGFudH0ubS1uNnttYXJnaW46LTZyZW0haW1wb3J0YW50fS5tdC1uNiwubXktbjZ7bWFyZ2luLXRvcDotNnJlbSFpbXBvcnRhbnR9Lm1yLW42LC5teC1uNnttYXJnaW4tcmlnaHQ6LTZyZW0haW1wb3J0YW50fS5tYi1uNiwubXktbjZ7bWFyZ2luLWJvdHRvbTotNnJlbSFpbXBvcnRhbnR9Lm1sLW42LC5teC1uNnttYXJnaW4tbGVmdDotNnJlbSFpbXBvcnRhbnR9Lm0tbjd7bWFyZ2luOi0xMnJlbSFpbXBvcnRhbnR9Lm10LW43LC5teS1uN3ttYXJnaW4tdG9wOi0xMnJlbSFpbXBvcnRhbnR9Lm1yLW43LC5teC1uN3ttYXJnaW4tcmlnaHQ6LTEycmVtIWltcG9ydGFudH0ubWItbjcsLm15LW43e21hcmdpbi1ib3R0b206LTEycmVtIWltcG9ydGFudH0ubWwtbjcsLm14LW43e21hcmdpbi1sZWZ0Oi0xMnJlbSFpbXBvcnRhbnR9Lm0tbjh7bWFyZ2luOi0yNHJlbSFpbXBvcnRhbnR9Lm10LW44LC5teS1uOHttYXJnaW4tdG9wOi0yNHJlbSFpbXBvcnRhbnR9Lm1yLW44LC5teC1uOHttYXJnaW4tcmlnaHQ6LTI0cmVtIWltcG9ydGFudH0ubWItbjgsLm15LW44e21hcmdpbi1ib3R0b206LTI0cmVtIWltcG9ydGFudH0ubWwtbjgsLm14LW44e21hcmdpbi1sZWZ0Oi0yNHJlbSFpbXBvcnRhbnR9Lm0tYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LWF1dG8sLm15LWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXItYXV0bywubXgtYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLWF1dG8sLm15LWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwtYXV0bywubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm0tc20tMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LXNtLTAsLm15LXNtLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItc20tMCwubXgtc20tMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLXNtLTAsLm15LXNtLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtc20tMCwubXgtc20tMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1zbS0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1zbS0xLC5teS1zbS0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItc20tMSwubXgtc20tMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItc20tMSwubXktc20tMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTEsLm14LXNtLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1zbS0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LXNtLTIsLm15LXNtLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLTIsLm14LXNtLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItc20tMiwubXktc20tMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtc20tMiwubXgtc20tMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tc20tM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LXNtLTMsLm15LXNtLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItc20tMywubXgtc20tM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLXNtLTMsLm15LXNtLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtc20tMywubXgtc20tM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1zbS00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1zbS00LC5teS1zbS00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItc20tNCwubXgtc20tNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItc20tNCwubXktc20tNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTQsLm14LXNtLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1zbS01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtc20tNSwubXktc20tNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1zbS01LC5teC1zbS01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItc20tNSwubXktc20tNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1zbS01LC5teC1zbS01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5tLXNtLTZ7bWFyZ2luOjZyZW0haW1wb3J0YW50fS5tdC1zbS02LC5teS1zbS02e21hcmdpbi10b3A6NnJlbSFpbXBvcnRhbnR9Lm1yLXNtLTYsLm14LXNtLTZ7bWFyZ2luLXJpZ2h0OjZyZW0haW1wb3J0YW50fS5tYi1zbS02LC5teS1zbS02e21hcmdpbi1ib3R0b206NnJlbSFpbXBvcnRhbnR9Lm1sLXNtLTYsLm14LXNtLTZ7bWFyZ2luLWxlZnQ6NnJlbSFpbXBvcnRhbnR9Lm0tc20tN3ttYXJnaW46MTJyZW0haW1wb3J0YW50fS5tdC1zbS03LC5teS1zbS03e21hcmdpbi10b3A6MTJyZW0haW1wb3J0YW50fS5tci1zbS03LC5teC1zbS03e21hcmdpbi1yaWdodDoxMnJlbSFpbXBvcnRhbnR9Lm1iLXNtLTcsLm15LXNtLTd7bWFyZ2luLWJvdHRvbToxMnJlbSFpbXBvcnRhbnR9Lm1sLXNtLTcsLm14LXNtLTd7bWFyZ2luLWxlZnQ6MTJyZW0haW1wb3J0YW50fS5tLXNtLTh7bWFyZ2luOjI0cmVtIWltcG9ydGFudH0ubXQtc20tOCwubXktc20tOHttYXJnaW4tdG9wOjI0cmVtIWltcG9ydGFudH0ubXItc20tOCwubXgtc20tOHttYXJnaW4tcmlnaHQ6MjRyZW0haW1wb3J0YW50fS5tYi1zbS04LC5teS1zbS04e21hcmdpbi1ib3R0b206MjRyZW0haW1wb3J0YW50fS5tbC1zbS04LC5teC1zbS04e21hcmdpbi1sZWZ0OjI0cmVtIWltcG9ydGFudH0ucC1zbS0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LXNtLTAsLnB5LXNtLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLXNtLTAsLnB4LXNtLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItc20tMCwucHktc20tMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtc20tMCwucHgtc20tMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtc20tMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LXNtLTEsLnB5LXNtLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItc20tMSwucHgtc20tMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLXNtLTEsLnB5LXNtLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtc20tMSwucHgtc20tMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC1zbS0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC1zbS0yLC5weS1zbS0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItc20tMiwucHgtc20tMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItc20tMiwucHktc20tMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLXNtLTIsLnB4LXNtLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC1zbS0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LXNtLTMsLnB5LXNtLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLXNtLTMsLnB4LXNtLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItc20tMywucHktc20tM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtc20tMywucHgtc20tM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtc20tNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LXNtLTQsLnB5LXNtLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItc20tNCwucHgtc20tNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLXNtLTQsLnB5LXNtLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtc20tNCwucHgtc20tNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC1zbS01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LXNtLTUsLnB5LXNtLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLXNtLTUsLnB4LXNtLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItc20tNSwucHktc20tNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtc20tNSwucHgtc20tNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9LnAtc20tNntwYWRkaW5nOjZyZW0haW1wb3J0YW50fS5wdC1zbS02LC5weS1zbS02e3BhZGRpbmctdG9wOjZyZW0haW1wb3J0YW50fS5wci1zbS02LC5weC1zbS02e3BhZGRpbmctcmlnaHQ6NnJlbSFpbXBvcnRhbnR9LnBiLXNtLTYsLnB5LXNtLTZ7cGFkZGluZy1ib3R0b206NnJlbSFpbXBvcnRhbnR9LnBsLXNtLTYsLnB4LXNtLTZ7cGFkZGluZy1sZWZ0OjZyZW0haW1wb3J0YW50fS5wLXNtLTd7cGFkZGluZzoxMnJlbSFpbXBvcnRhbnR9LnB0LXNtLTcsLnB5LXNtLTd7cGFkZGluZy10b3A6MTJyZW0haW1wb3J0YW50fS5wci1zbS03LC5weC1zbS03e3BhZGRpbmctcmlnaHQ6MTJyZW0haW1wb3J0YW50fS5wYi1zbS03LC5weS1zbS03e3BhZGRpbmctYm90dG9tOjEycmVtIWltcG9ydGFudH0ucGwtc20tNywucHgtc20tN3twYWRkaW5nLWxlZnQ6MTJyZW0haW1wb3J0YW50fS5wLXNtLTh7cGFkZGluZzoyNHJlbSFpbXBvcnRhbnR9LnB0LXNtLTgsLnB5LXNtLTh7cGFkZGluZy10b3A6MjRyZW0haW1wb3J0YW50fS5wci1zbS04LC5weC1zbS04e3BhZGRpbmctcmlnaHQ6MjRyZW0haW1wb3J0YW50fS5wYi1zbS04LC5weS1zbS04e3BhZGRpbmctYm90dG9tOjI0cmVtIWltcG9ydGFudH0ucGwtc20tOCwucHgtc20tOHtwYWRkaW5nLWxlZnQ6MjRyZW0haW1wb3J0YW50fS5tLXNtLW4xe21hcmdpbjotLjI1cmVtIWltcG9ydGFudH0ubXQtc20tbjEsLm15LXNtLW4xe21hcmdpbi10b3A6LS4yNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLW4xLC5teC1zbS1uMXttYXJnaW4tcmlnaHQ6LS4yNXJlbSFpbXBvcnRhbnR9Lm1iLXNtLW4xLC5teS1zbS1uMXttYXJnaW4tYm90dG9tOi0uMjVyZW0haW1wb3J0YW50fS5tbC1zbS1uMSwubXgtc20tbjF7bWFyZ2luLWxlZnQ6LS4yNXJlbSFpbXBvcnRhbnR9Lm0tc20tbjJ7bWFyZ2luOi0uNXJlbSFpbXBvcnRhbnR9Lm10LXNtLW4yLC5teS1zbS1uMnttYXJnaW4tdG9wOi0uNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLW4yLC5teC1zbS1uMnttYXJnaW4tcmlnaHQ6LS41cmVtIWltcG9ydGFudH0ubWItc20tbjIsLm15LXNtLW4ye21hcmdpbi1ib3R0b206LS41cmVtIWltcG9ydGFudH0ubWwtc20tbjIsLm14LXNtLW4ye21hcmdpbi1sZWZ0Oi0uNXJlbSFpbXBvcnRhbnR9Lm0tc20tbjN7bWFyZ2luOi0xcmVtIWltcG9ydGFudH0ubXQtc20tbjMsLm15LXNtLW4ze21hcmdpbi10b3A6LTFyZW0haW1wb3J0YW50fS5tci1zbS1uMywubXgtc20tbjN7bWFyZ2luLXJpZ2h0Oi0xcmVtIWltcG9ydGFudH0ubWItc20tbjMsLm15LXNtLW4ze21hcmdpbi1ib3R0b206LTFyZW0haW1wb3J0YW50fS5tbC1zbS1uMywubXgtc20tbjN7bWFyZ2luLWxlZnQ6LTFyZW0haW1wb3J0YW50fS5tLXNtLW40e21hcmdpbjotMS41cmVtIWltcG9ydGFudH0ubXQtc20tbjQsLm15LXNtLW40e21hcmdpbi10b3A6LTEuNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLW40LC5teC1zbS1uNHttYXJnaW4tcmlnaHQ6LTEuNXJlbSFpbXBvcnRhbnR9Lm1iLXNtLW40LC5teS1zbS1uNHttYXJnaW4tYm90dG9tOi0xLjVyZW0haW1wb3J0YW50fS5tbC1zbS1uNCwubXgtc20tbjR7bWFyZ2luLWxlZnQ6LTEuNXJlbSFpbXBvcnRhbnR9Lm0tc20tbjV7bWFyZ2luOi0zcmVtIWltcG9ydGFudH0ubXQtc20tbjUsLm15LXNtLW41e21hcmdpbi10b3A6LTNyZW0haW1wb3J0YW50fS5tci1zbS1uNSwubXgtc20tbjV7bWFyZ2luLXJpZ2h0Oi0zcmVtIWltcG9ydGFudH0ubWItc20tbjUsLm15LXNtLW41e21hcmdpbi1ib3R0b206LTNyZW0haW1wb3J0YW50fS5tbC1zbS1uNSwubXgtc20tbjV7bWFyZ2luLWxlZnQ6LTNyZW0haW1wb3J0YW50fS5tLXNtLW42e21hcmdpbjotNnJlbSFpbXBvcnRhbnR9Lm10LXNtLW42LC5teS1zbS1uNnttYXJnaW4tdG9wOi02cmVtIWltcG9ydGFudH0ubXItc20tbjYsLm14LXNtLW42e21hcmdpbi1yaWdodDotNnJlbSFpbXBvcnRhbnR9Lm1iLXNtLW42LC5teS1zbS1uNnttYXJnaW4tYm90dG9tOi02cmVtIWltcG9ydGFudH0ubWwtc20tbjYsLm14LXNtLW42e21hcmdpbi1sZWZ0Oi02cmVtIWltcG9ydGFudH0ubS1zbS1uN3ttYXJnaW46LTEycmVtIWltcG9ydGFudH0ubXQtc20tbjcsLm15LXNtLW43e21hcmdpbi10b3A6LTEycmVtIWltcG9ydGFudH0ubXItc20tbjcsLm14LXNtLW43e21hcmdpbi1yaWdodDotMTJyZW0haW1wb3J0YW50fS5tYi1zbS1uNywubXktc20tbjd7bWFyZ2luLWJvdHRvbTotMTJyZW0haW1wb3J0YW50fS5tbC1zbS1uNywubXgtc20tbjd7bWFyZ2luLWxlZnQ6LTEycmVtIWltcG9ydGFudH0ubS1zbS1uOHttYXJnaW46LTI0cmVtIWltcG9ydGFudH0ubXQtc20tbjgsLm15LXNtLW44e21hcmdpbi10b3A6LTI0cmVtIWltcG9ydGFudH0ubXItc20tbjgsLm14LXNtLW44e21hcmdpbi1yaWdodDotMjRyZW0haW1wb3J0YW50fS5tYi1zbS1uOCwubXktc20tbjh7bWFyZ2luLWJvdHRvbTotMjRyZW0haW1wb3J0YW50fS5tbC1zbS1uOCwubXgtc20tbjh7bWFyZ2luLWxlZnQ6LTI0cmVtIWltcG9ydGFudH0ubS1zbS1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtc20tYXV0bywubXktc20tYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1zbS1hdXRvLC5teC1zbS1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItc20tYXV0bywubXktc20tYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1zbS1hdXRvLC5teC1zbS1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm0tbWQtMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LW1kLTAsLm15LW1kLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItbWQtMCwubXgtbWQtMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLW1kLTAsLm15LW1kLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtbWQtMCwubXgtbWQtMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1tZC0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1tZC0xLC5teS1tZC0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItbWQtMSwubXgtbWQtMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItbWQtMSwubXktbWQtMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTEsLm14LW1kLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1tZC0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LW1kLTIsLm15LW1kLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLTIsLm14LW1kLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItbWQtMiwubXktbWQtMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtbWQtMiwubXgtbWQtMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tbWQtM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LW1kLTMsLm15LW1kLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItbWQtMywubXgtbWQtM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLW1kLTMsLm15LW1kLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtbWQtMywubXgtbWQtM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1tZC00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1tZC00LC5teS1tZC00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItbWQtNCwubXgtbWQtNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItbWQtNCwubXktbWQtNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTQsLm14LW1kLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1tZC01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtbWQtNSwubXktbWQtNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1tZC01LC5teC1tZC01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItbWQtNSwubXktbWQtNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1tZC01LC5teC1tZC01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5tLW1kLTZ7bWFyZ2luOjZyZW0haW1wb3J0YW50fS5tdC1tZC02LC5teS1tZC02e21hcmdpbi10b3A6NnJlbSFpbXBvcnRhbnR9Lm1yLW1kLTYsLm14LW1kLTZ7bWFyZ2luLXJpZ2h0OjZyZW0haW1wb3J0YW50fS5tYi1tZC02LC5teS1tZC02e21hcmdpbi1ib3R0b206NnJlbSFpbXBvcnRhbnR9Lm1sLW1kLTYsLm14LW1kLTZ7bWFyZ2luLWxlZnQ6NnJlbSFpbXBvcnRhbnR9Lm0tbWQtN3ttYXJnaW46MTJyZW0haW1wb3J0YW50fS5tdC1tZC03LC5teS1tZC03e21hcmdpbi10b3A6MTJyZW0haW1wb3J0YW50fS5tci1tZC03LC5teC1tZC03e21hcmdpbi1yaWdodDoxMnJlbSFpbXBvcnRhbnR9Lm1iLW1kLTcsLm15LW1kLTd7bWFyZ2luLWJvdHRvbToxMnJlbSFpbXBvcnRhbnR9Lm1sLW1kLTcsLm14LW1kLTd7bWFyZ2luLWxlZnQ6MTJyZW0haW1wb3J0YW50fS5tLW1kLTh7bWFyZ2luOjI0cmVtIWltcG9ydGFudH0ubXQtbWQtOCwubXktbWQtOHttYXJnaW4tdG9wOjI0cmVtIWltcG9ydGFudH0ubXItbWQtOCwubXgtbWQtOHttYXJnaW4tcmlnaHQ6MjRyZW0haW1wb3J0YW50fS5tYi1tZC04LC5teS1tZC04e21hcmdpbi1ib3R0b206MjRyZW0haW1wb3J0YW50fS5tbC1tZC04LC5teC1tZC04e21hcmdpbi1sZWZ0OjI0cmVtIWltcG9ydGFudH0ucC1tZC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LW1kLTAsLnB5LW1kLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLW1kLTAsLnB4LW1kLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItbWQtMCwucHktbWQtMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtbWQtMCwucHgtbWQtMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtbWQtMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LW1kLTEsLnB5LW1kLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItbWQtMSwucHgtbWQtMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLW1kLTEsLnB5LW1kLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtbWQtMSwucHgtbWQtMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC1tZC0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC1tZC0yLC5weS1tZC0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItbWQtMiwucHgtbWQtMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItbWQtMiwucHktbWQtMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLW1kLTIsLnB4LW1kLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC1tZC0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LW1kLTMsLnB5LW1kLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLW1kLTMsLnB4LW1kLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItbWQtMywucHktbWQtM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtbWQtMywucHgtbWQtM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtbWQtNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LW1kLTQsLnB5LW1kLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItbWQtNCwucHgtbWQtNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLW1kLTQsLnB5LW1kLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtbWQtNCwucHgtbWQtNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC1tZC01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LW1kLTUsLnB5LW1kLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLW1kLTUsLnB4LW1kLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItbWQtNSwucHktbWQtNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtbWQtNSwucHgtbWQtNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9LnAtbWQtNntwYWRkaW5nOjZyZW0haW1wb3J0YW50fS5wdC1tZC02LC5weS1tZC02e3BhZGRpbmctdG9wOjZyZW0haW1wb3J0YW50fS5wci1tZC02LC5weC1tZC02e3BhZGRpbmctcmlnaHQ6NnJlbSFpbXBvcnRhbnR9LnBiLW1kLTYsLnB5LW1kLTZ7cGFkZGluZy1ib3R0b206NnJlbSFpbXBvcnRhbnR9LnBsLW1kLTYsLnB4LW1kLTZ7cGFkZGluZy1sZWZ0OjZyZW0haW1wb3J0YW50fS5wLW1kLTd7cGFkZGluZzoxMnJlbSFpbXBvcnRhbnR9LnB0LW1kLTcsLnB5LW1kLTd7cGFkZGluZy10b3A6MTJyZW0haW1wb3J0YW50fS5wci1tZC03LC5weC1tZC03e3BhZGRpbmctcmlnaHQ6MTJyZW0haW1wb3J0YW50fS5wYi1tZC03LC5weS1tZC03e3BhZGRpbmctYm90dG9tOjEycmVtIWltcG9ydGFudH0ucGwtbWQtNywucHgtbWQtN3twYWRkaW5nLWxlZnQ6MTJyZW0haW1wb3J0YW50fS5wLW1kLTh7cGFkZGluZzoyNHJlbSFpbXBvcnRhbnR9LnB0LW1kLTgsLnB5LW1kLTh7cGFkZGluZy10b3A6MjRyZW0haW1wb3J0YW50fS5wci1tZC04LC5weC1tZC04e3BhZGRpbmctcmlnaHQ6MjRyZW0haW1wb3J0YW50fS5wYi1tZC04LC5weS1tZC04e3BhZGRpbmctYm90dG9tOjI0cmVtIWltcG9ydGFudH0ucGwtbWQtOCwucHgtbWQtOHtwYWRkaW5nLWxlZnQ6MjRyZW0haW1wb3J0YW50fS5tLW1kLW4xe21hcmdpbjotLjI1cmVtIWltcG9ydGFudH0ubXQtbWQtbjEsLm15LW1kLW4xe21hcmdpbi10b3A6LS4yNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLW4xLC5teC1tZC1uMXttYXJnaW4tcmlnaHQ6LS4yNXJlbSFpbXBvcnRhbnR9Lm1iLW1kLW4xLC5teS1tZC1uMXttYXJnaW4tYm90dG9tOi0uMjVyZW0haW1wb3J0YW50fS5tbC1tZC1uMSwubXgtbWQtbjF7bWFyZ2luLWxlZnQ6LS4yNXJlbSFpbXBvcnRhbnR9Lm0tbWQtbjJ7bWFyZ2luOi0uNXJlbSFpbXBvcnRhbnR9Lm10LW1kLW4yLC5teS1tZC1uMnttYXJnaW4tdG9wOi0uNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLW4yLC5teC1tZC1uMnttYXJnaW4tcmlnaHQ6LS41cmVtIWltcG9ydGFudH0ubWItbWQtbjIsLm15LW1kLW4ye21hcmdpbi1ib3R0b206LS41cmVtIWltcG9ydGFudH0ubWwtbWQtbjIsLm14LW1kLW4ye21hcmdpbi1sZWZ0Oi0uNXJlbSFpbXBvcnRhbnR9Lm0tbWQtbjN7bWFyZ2luOi0xcmVtIWltcG9ydGFudH0ubXQtbWQtbjMsLm15LW1kLW4ze21hcmdpbi10b3A6LTFyZW0haW1wb3J0YW50fS5tci1tZC1uMywubXgtbWQtbjN7bWFyZ2luLXJpZ2h0Oi0xcmVtIWltcG9ydGFudH0ubWItbWQtbjMsLm15LW1kLW4ze21hcmdpbi1ib3R0b206LTFyZW0haW1wb3J0YW50fS5tbC1tZC1uMywubXgtbWQtbjN7bWFyZ2luLWxlZnQ6LTFyZW0haW1wb3J0YW50fS5tLW1kLW40e21hcmdpbjotMS41cmVtIWltcG9ydGFudH0ubXQtbWQtbjQsLm15LW1kLW40e21hcmdpbi10b3A6LTEuNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLW40LC5teC1tZC1uNHttYXJnaW4tcmlnaHQ6LTEuNXJlbSFpbXBvcnRhbnR9Lm1iLW1kLW40LC5teS1tZC1uNHttYXJnaW4tYm90dG9tOi0xLjVyZW0haW1wb3J0YW50fS5tbC1tZC1uNCwubXgtbWQtbjR7bWFyZ2luLWxlZnQ6LTEuNXJlbSFpbXBvcnRhbnR9Lm0tbWQtbjV7bWFyZ2luOi0zcmVtIWltcG9ydGFudH0ubXQtbWQtbjUsLm15LW1kLW41e21hcmdpbi10b3A6LTNyZW0haW1wb3J0YW50fS5tci1tZC1uNSwubXgtbWQtbjV7bWFyZ2luLXJpZ2h0Oi0zcmVtIWltcG9ydGFudH0ubWItbWQtbjUsLm15LW1kLW41e21hcmdpbi1ib3R0b206LTNyZW0haW1wb3J0YW50fS5tbC1tZC1uNSwubXgtbWQtbjV7bWFyZ2luLWxlZnQ6LTNyZW0haW1wb3J0YW50fS5tLW1kLW42e21hcmdpbjotNnJlbSFpbXBvcnRhbnR9Lm10LW1kLW42LC5teS1tZC1uNnttYXJnaW4tdG9wOi02cmVtIWltcG9ydGFudH0ubXItbWQtbjYsLm14LW1kLW42e21hcmdpbi1yaWdodDotNnJlbSFpbXBvcnRhbnR9Lm1iLW1kLW42LC5teS1tZC1uNnttYXJnaW4tYm90dG9tOi02cmVtIWltcG9ydGFudH0ubWwtbWQtbjYsLm14LW1kLW42e21hcmdpbi1sZWZ0Oi02cmVtIWltcG9ydGFudH0ubS1tZC1uN3ttYXJnaW46LTEycmVtIWltcG9ydGFudH0ubXQtbWQtbjcsLm15LW1kLW43e21hcmdpbi10b3A6LTEycmVtIWltcG9ydGFudH0ubXItbWQtbjcsLm14LW1kLW43e21hcmdpbi1yaWdodDotMTJyZW0haW1wb3J0YW50fS5tYi1tZC1uNywubXktbWQtbjd7bWFyZ2luLWJvdHRvbTotMTJyZW0haW1wb3J0YW50fS5tbC1tZC1uNywubXgtbWQtbjd7bWFyZ2luLWxlZnQ6LTEycmVtIWltcG9ydGFudH0ubS1tZC1uOHttYXJnaW46LTI0cmVtIWltcG9ydGFudH0ubXQtbWQtbjgsLm15LW1kLW44e21hcmdpbi10b3A6LTI0cmVtIWltcG9ydGFudH0ubXItbWQtbjgsLm14LW1kLW44e21hcmdpbi1yaWdodDotMjRyZW0haW1wb3J0YW50fS5tYi1tZC1uOCwubXktbWQtbjh7bWFyZ2luLWJvdHRvbTotMjRyZW0haW1wb3J0YW50fS5tbC1tZC1uOCwubXgtbWQtbjh7bWFyZ2luLWxlZnQ6LTI0cmVtIWltcG9ydGFudH0ubS1tZC1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtbWQtYXV0bywubXktbWQtYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1tZC1hdXRvLC5teC1tZC1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItbWQtYXV0bywubXktbWQtYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1tZC1hdXRvLC5teC1tZC1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lm0tbGctMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LWxnLTAsLm15LWxnLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItbGctMCwubXgtbGctMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLWxnLTAsLm15LWxnLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtbGctMCwubXgtbGctMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1sZy0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1sZy0xLC5teS1sZy0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItbGctMSwubXgtbGctMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItbGctMSwubXktbGctMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTEsLm14LWxnLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1sZy0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LWxnLTIsLm15LWxnLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLTIsLm14LWxnLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItbGctMiwubXktbGctMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtbGctMiwubXgtbGctMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tbGctM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LWxnLTMsLm15LWxnLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItbGctMywubXgtbGctM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLWxnLTMsLm15LWxnLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtbGctMywubXgtbGctM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1sZy00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1sZy00LC5teS1sZy00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItbGctNCwubXgtbGctNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItbGctNCwubXktbGctNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTQsLm14LWxnLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1sZy01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtbGctNSwubXktbGctNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1sZy01LC5teC1sZy01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItbGctNSwubXktbGctNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1sZy01LC5teC1sZy01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5tLWxnLTZ7bWFyZ2luOjZyZW0haW1wb3J0YW50fS5tdC1sZy02LC5teS1sZy02e21hcmdpbi10b3A6NnJlbSFpbXBvcnRhbnR9Lm1yLWxnLTYsLm14LWxnLTZ7bWFyZ2luLXJpZ2h0OjZyZW0haW1wb3J0YW50fS5tYi1sZy02LC5teS1sZy02e21hcmdpbi1ib3R0b206NnJlbSFpbXBvcnRhbnR9Lm1sLWxnLTYsLm14LWxnLTZ7bWFyZ2luLWxlZnQ6NnJlbSFpbXBvcnRhbnR9Lm0tbGctN3ttYXJnaW46MTJyZW0haW1wb3J0YW50fS5tdC1sZy03LC5teS1sZy03e21hcmdpbi10b3A6MTJyZW0haW1wb3J0YW50fS5tci1sZy03LC5teC1sZy03e21hcmdpbi1yaWdodDoxMnJlbSFpbXBvcnRhbnR9Lm1iLWxnLTcsLm15LWxnLTd7bWFyZ2luLWJvdHRvbToxMnJlbSFpbXBvcnRhbnR9Lm1sLWxnLTcsLm14LWxnLTd7bWFyZ2luLWxlZnQ6MTJyZW0haW1wb3J0YW50fS5tLWxnLTh7bWFyZ2luOjI0cmVtIWltcG9ydGFudH0ubXQtbGctOCwubXktbGctOHttYXJnaW4tdG9wOjI0cmVtIWltcG9ydGFudH0ubXItbGctOCwubXgtbGctOHttYXJnaW4tcmlnaHQ6MjRyZW0haW1wb3J0YW50fS5tYi1sZy04LC5teS1sZy04e21hcmdpbi1ib3R0b206MjRyZW0haW1wb3J0YW50fS5tbC1sZy04LC5teC1sZy04e21hcmdpbi1sZWZ0OjI0cmVtIWltcG9ydGFudH0ucC1sZy0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LWxnLTAsLnB5LWxnLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLWxnLTAsLnB4LWxnLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItbGctMCwucHktbGctMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtbGctMCwucHgtbGctMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtbGctMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LWxnLTEsLnB5LWxnLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItbGctMSwucHgtbGctMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLWxnLTEsLnB5LWxnLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtbGctMSwucHgtbGctMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC1sZy0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC1sZy0yLC5weS1sZy0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItbGctMiwucHgtbGctMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItbGctMiwucHktbGctMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLWxnLTIsLnB4LWxnLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC1sZy0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LWxnLTMsLnB5LWxnLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLWxnLTMsLnB4LWxnLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItbGctMywucHktbGctM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtbGctMywucHgtbGctM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtbGctNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LWxnLTQsLnB5LWxnLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItbGctNCwucHgtbGctNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLWxnLTQsLnB5LWxnLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtbGctNCwucHgtbGctNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC1sZy01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LWxnLTUsLnB5LWxnLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLWxnLTUsLnB4LWxnLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItbGctNSwucHktbGctNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtbGctNSwucHgtbGctNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9LnAtbGctNntwYWRkaW5nOjZyZW0haW1wb3J0YW50fS5wdC1sZy02LC5weS1sZy02e3BhZGRpbmctdG9wOjZyZW0haW1wb3J0YW50fS5wci1sZy02LC5weC1sZy02e3BhZGRpbmctcmlnaHQ6NnJlbSFpbXBvcnRhbnR9LnBiLWxnLTYsLnB5LWxnLTZ7cGFkZGluZy1ib3R0b206NnJlbSFpbXBvcnRhbnR9LnBsLWxnLTYsLnB4LWxnLTZ7cGFkZGluZy1sZWZ0OjZyZW0haW1wb3J0YW50fS5wLWxnLTd7cGFkZGluZzoxMnJlbSFpbXBvcnRhbnR9LnB0LWxnLTcsLnB5LWxnLTd7cGFkZGluZy10b3A6MTJyZW0haW1wb3J0YW50fS5wci1sZy03LC5weC1sZy03e3BhZGRpbmctcmlnaHQ6MTJyZW0haW1wb3J0YW50fS5wYi1sZy03LC5weS1sZy03e3BhZGRpbmctYm90dG9tOjEycmVtIWltcG9ydGFudH0ucGwtbGctNywucHgtbGctN3twYWRkaW5nLWxlZnQ6MTJyZW0haW1wb3J0YW50fS5wLWxnLTh7cGFkZGluZzoyNHJlbSFpbXBvcnRhbnR9LnB0LWxnLTgsLnB5LWxnLTh7cGFkZGluZy10b3A6MjRyZW0haW1wb3J0YW50fS5wci1sZy04LC5weC1sZy04e3BhZGRpbmctcmlnaHQ6MjRyZW0haW1wb3J0YW50fS5wYi1sZy04LC5weS1sZy04e3BhZGRpbmctYm90dG9tOjI0cmVtIWltcG9ydGFudH0ucGwtbGctOCwucHgtbGctOHtwYWRkaW5nLWxlZnQ6MjRyZW0haW1wb3J0YW50fS5tLWxnLW4xe21hcmdpbjotLjI1cmVtIWltcG9ydGFudH0ubXQtbGctbjEsLm15LWxnLW4xe21hcmdpbi10b3A6LS4yNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLW4xLC5teC1sZy1uMXttYXJnaW4tcmlnaHQ6LS4yNXJlbSFpbXBvcnRhbnR9Lm1iLWxnLW4xLC5teS1sZy1uMXttYXJnaW4tYm90dG9tOi0uMjVyZW0haW1wb3J0YW50fS5tbC1sZy1uMSwubXgtbGctbjF7bWFyZ2luLWxlZnQ6LS4yNXJlbSFpbXBvcnRhbnR9Lm0tbGctbjJ7bWFyZ2luOi0uNXJlbSFpbXBvcnRhbnR9Lm10LWxnLW4yLC5teS1sZy1uMnttYXJnaW4tdG9wOi0uNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLW4yLC5teC1sZy1uMnttYXJnaW4tcmlnaHQ6LS41cmVtIWltcG9ydGFudH0ubWItbGctbjIsLm15LWxnLW4ye21hcmdpbi1ib3R0b206LS41cmVtIWltcG9ydGFudH0ubWwtbGctbjIsLm14LWxnLW4ye21hcmdpbi1sZWZ0Oi0uNXJlbSFpbXBvcnRhbnR9Lm0tbGctbjN7bWFyZ2luOi0xcmVtIWltcG9ydGFudH0ubXQtbGctbjMsLm15LWxnLW4ze21hcmdpbi10b3A6LTFyZW0haW1wb3J0YW50fS5tci1sZy1uMywubXgtbGctbjN7bWFyZ2luLXJpZ2h0Oi0xcmVtIWltcG9ydGFudH0ubWItbGctbjMsLm15LWxnLW4ze21hcmdpbi1ib3R0b206LTFyZW0haW1wb3J0YW50fS5tbC1sZy1uMywubXgtbGctbjN7bWFyZ2luLWxlZnQ6LTFyZW0haW1wb3J0YW50fS5tLWxnLW40e21hcmdpbjotMS41cmVtIWltcG9ydGFudH0ubXQtbGctbjQsLm15LWxnLW40e21hcmdpbi10b3A6LTEuNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLW40LC5teC1sZy1uNHttYXJnaW4tcmlnaHQ6LTEuNXJlbSFpbXBvcnRhbnR9Lm1iLWxnLW40LC5teS1sZy1uNHttYXJnaW4tYm90dG9tOi0xLjVyZW0haW1wb3J0YW50fS5tbC1sZy1uNCwubXgtbGctbjR7bWFyZ2luLWxlZnQ6LTEuNXJlbSFpbXBvcnRhbnR9Lm0tbGctbjV7bWFyZ2luOi0zcmVtIWltcG9ydGFudH0ubXQtbGctbjUsLm15LWxnLW41e21hcmdpbi10b3A6LTNyZW0haW1wb3J0YW50fS5tci1sZy1uNSwubXgtbGctbjV7bWFyZ2luLXJpZ2h0Oi0zcmVtIWltcG9ydGFudH0ubWItbGctbjUsLm15LWxnLW41e21hcmdpbi1ib3R0b206LTNyZW0haW1wb3J0YW50fS5tbC1sZy1uNSwubXgtbGctbjV7bWFyZ2luLWxlZnQ6LTNyZW0haW1wb3J0YW50fS5tLWxnLW42e21hcmdpbjotNnJlbSFpbXBvcnRhbnR9Lm10LWxnLW42LC5teS1sZy1uNnttYXJnaW4tdG9wOi02cmVtIWltcG9ydGFudH0ubXItbGctbjYsLm14LWxnLW42e21hcmdpbi1yaWdodDotNnJlbSFpbXBvcnRhbnR9Lm1iLWxnLW42LC5teS1sZy1uNnttYXJnaW4tYm90dG9tOi02cmVtIWltcG9ydGFudH0ubWwtbGctbjYsLm14LWxnLW42e21hcmdpbi1sZWZ0Oi02cmVtIWltcG9ydGFudH0ubS1sZy1uN3ttYXJnaW46LTEycmVtIWltcG9ydGFudH0ubXQtbGctbjcsLm15LWxnLW43e21hcmdpbi10b3A6LTEycmVtIWltcG9ydGFudH0ubXItbGctbjcsLm14LWxnLW43e21hcmdpbi1yaWdodDotMTJyZW0haW1wb3J0YW50fS5tYi1sZy1uNywubXktbGctbjd7bWFyZ2luLWJvdHRvbTotMTJyZW0haW1wb3J0YW50fS5tbC1sZy1uNywubXgtbGctbjd7bWFyZ2luLWxlZnQ6LTEycmVtIWltcG9ydGFudH0ubS1sZy1uOHttYXJnaW46LTI0cmVtIWltcG9ydGFudH0ubXQtbGctbjgsLm15LWxnLW44e21hcmdpbi10b3A6LTI0cmVtIWltcG9ydGFudH0ubXItbGctbjgsLm14LWxnLW44e21hcmdpbi1yaWdodDotMjRyZW0haW1wb3J0YW50fS5tYi1sZy1uOCwubXktbGctbjh7bWFyZ2luLWJvdHRvbTotMjRyZW0haW1wb3J0YW50fS5tbC1sZy1uOCwubXgtbGctbjh7bWFyZ2luLWxlZnQ6LTI0cmVtIWltcG9ydGFudH0ubS1sZy1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtbGctYXV0bywubXktbGctYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1sZy1hdXRvLC5teC1sZy1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItbGctYXV0bywubXktbGctYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1sZy1hdXRvLC5teC1sZy1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5tLXhsLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC14bC0wLC5teS14bC0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLXhsLTAsLm14LXhsLTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi14bC0wLC5teS14bC0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLXhsLTAsLm14LXhsLTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0teGwtMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQteGwtMSwubXkteGwtMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTEsLm14LXhsLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTEsLm15LXhsLTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC14bC0xLC5teC14bC0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0teGwtMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC14bC0yLC5teS14bC0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci14bC0yLC5teC14bC0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTIsLm15LXhsLTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLXhsLTIsLm14LXhsLTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLXhsLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC14bC0zLC5teS14bC0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTMsLm14LXhsLTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi14bC0zLC5teS14bC0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLXhsLTMsLm14LXhsLTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0teGwtNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQteGwtNCwubXkteGwtNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTQsLm14LXhsLTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTQsLm15LXhsLTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC14bC00LC5teC14bC00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0teGwtNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LXhsLTUsLm15LXhsLTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXIteGwtNSwubXgteGwtNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLXhsLTUsLm15LXhsLTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwteGwtNSwubXgteGwtNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ubS14bC02e21hcmdpbjo2cmVtIWltcG9ydGFudH0ubXQteGwtNiwubXkteGwtNnttYXJnaW4tdG9wOjZyZW0haW1wb3J0YW50fS5tci14bC02LC5teC14bC02e21hcmdpbi1yaWdodDo2cmVtIWltcG9ydGFudH0ubWIteGwtNiwubXkteGwtNnttYXJnaW4tYm90dG9tOjZyZW0haW1wb3J0YW50fS5tbC14bC02LC5teC14bC02e21hcmdpbi1sZWZ0OjZyZW0haW1wb3J0YW50fS5tLXhsLTd7bWFyZ2luOjEycmVtIWltcG9ydGFudH0ubXQteGwtNywubXkteGwtN3ttYXJnaW4tdG9wOjEycmVtIWltcG9ydGFudH0ubXIteGwtNywubXgteGwtN3ttYXJnaW4tcmlnaHQ6MTJyZW0haW1wb3J0YW50fS5tYi14bC03LC5teS14bC03e21hcmdpbi1ib3R0b206MTJyZW0haW1wb3J0YW50fS5tbC14bC03LC5teC14bC03e21hcmdpbi1sZWZ0OjEycmVtIWltcG9ydGFudH0ubS14bC04e21hcmdpbjoyNHJlbSFpbXBvcnRhbnR9Lm10LXhsLTgsLm15LXhsLTh7bWFyZ2luLXRvcDoyNHJlbSFpbXBvcnRhbnR9Lm1yLXhsLTgsLm14LXhsLTh7bWFyZ2luLXJpZ2h0OjI0cmVtIWltcG9ydGFudH0ubWIteGwtOCwubXkteGwtOHttYXJnaW4tYm90dG9tOjI0cmVtIWltcG9ydGFudH0ubWwteGwtOCwubXgteGwtOHttYXJnaW4tbGVmdDoyNHJlbSFpbXBvcnRhbnR9LnAteGwtMHtwYWRkaW5nOjAhaW1wb3J0YW50fS5wdC14bC0wLC5weS14bC0we3BhZGRpbmctdG9wOjAhaW1wb3J0YW50fS5wci14bC0wLC5weC14bC0we3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9LnBiLXhsLTAsLnB5LXhsLTB7cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnR9LnBsLXhsLTAsLnB4LXhsLTB7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50fS5wLXhsLTF7cGFkZGluZzouMjVyZW0haW1wb3J0YW50fS5wdC14bC0xLC5weS14bC0xe3BhZGRpbmctdG9wOi4yNXJlbSFpbXBvcnRhbnR9LnByLXhsLTEsLnB4LXhsLTF7cGFkZGluZy1yaWdodDouMjVyZW0haW1wb3J0YW50fS5wYi14bC0xLC5weS14bC0xe3BhZGRpbmctYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9LnBsLXhsLTEsLnB4LXhsLTF7cGFkZGluZy1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9LnAteGwtMntwYWRkaW5nOi41cmVtIWltcG9ydGFudH0ucHQteGwtMiwucHkteGwtMntwYWRkaW5nLXRvcDouNXJlbSFpbXBvcnRhbnR9LnByLXhsLTIsLnB4LXhsLTJ7cGFkZGluZy1yaWdodDouNXJlbSFpbXBvcnRhbnR9LnBiLXhsLTIsLnB5LXhsLTJ7cGFkZGluZy1ib3R0b206LjVyZW0haW1wb3J0YW50fS5wbC14bC0yLC5weC14bC0ye3BhZGRpbmctbGVmdDouNXJlbSFpbXBvcnRhbnR9LnAteGwtM3twYWRkaW5nOjFyZW0haW1wb3J0YW50fS5wdC14bC0zLC5weS14bC0ze3BhZGRpbmctdG9wOjFyZW0haW1wb3J0YW50fS5wci14bC0zLC5weC14bC0ze3BhZGRpbmctcmlnaHQ6MXJlbSFpbXBvcnRhbnR9LnBiLXhsLTMsLnB5LXhsLTN7cGFkZGluZy1ib3R0b206MXJlbSFpbXBvcnRhbnR9LnBsLXhsLTMsLnB4LXhsLTN7cGFkZGluZy1sZWZ0OjFyZW0haW1wb3J0YW50fS5wLXhsLTR7cGFkZGluZzoxLjVyZW0haW1wb3J0YW50fS5wdC14bC00LC5weS14bC00e3BhZGRpbmctdG9wOjEuNXJlbSFpbXBvcnRhbnR9LnByLXhsLTQsLnB4LXhsLTR7cGFkZGluZy1yaWdodDoxLjVyZW0haW1wb3J0YW50fS5wYi14bC00LC5weS14bC00e3BhZGRpbmctYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9LnBsLXhsLTQsLnB4LXhsLTR7cGFkZGluZy1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9LnAteGwtNXtwYWRkaW5nOjNyZW0haW1wb3J0YW50fS5wdC14bC01LC5weS14bC01e3BhZGRpbmctdG9wOjNyZW0haW1wb3J0YW50fS5wci14bC01LC5weC14bC01e3BhZGRpbmctcmlnaHQ6M3JlbSFpbXBvcnRhbnR9LnBiLXhsLTUsLnB5LXhsLTV7cGFkZGluZy1ib3R0b206M3JlbSFpbXBvcnRhbnR9LnBsLXhsLTUsLnB4LXhsLTV7cGFkZGluZy1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLXhsLTZ7cGFkZGluZzo2cmVtIWltcG9ydGFudH0ucHQteGwtNiwucHkteGwtNntwYWRkaW5nLXRvcDo2cmVtIWltcG9ydGFudH0ucHIteGwtNiwucHgteGwtNntwYWRkaW5nLXJpZ2h0OjZyZW0haW1wb3J0YW50fS5wYi14bC02LC5weS14bC02e3BhZGRpbmctYm90dG9tOjZyZW0haW1wb3J0YW50fS5wbC14bC02LC5weC14bC02e3BhZGRpbmctbGVmdDo2cmVtIWltcG9ydGFudH0ucC14bC03e3BhZGRpbmc6MTJyZW0haW1wb3J0YW50fS5wdC14bC03LC5weS14bC03e3BhZGRpbmctdG9wOjEycmVtIWltcG9ydGFudH0ucHIteGwtNywucHgteGwtN3twYWRkaW5nLXJpZ2h0OjEycmVtIWltcG9ydGFudH0ucGIteGwtNywucHkteGwtN3twYWRkaW5nLWJvdHRvbToxMnJlbSFpbXBvcnRhbnR9LnBsLXhsLTcsLnB4LXhsLTd7cGFkZGluZy1sZWZ0OjEycmVtIWltcG9ydGFudH0ucC14bC04e3BhZGRpbmc6MjRyZW0haW1wb3J0YW50fS5wdC14bC04LC5weS14bC04e3BhZGRpbmctdG9wOjI0cmVtIWltcG9ydGFudH0ucHIteGwtOCwucHgteGwtOHtwYWRkaW5nLXJpZ2h0OjI0cmVtIWltcG9ydGFudH0ucGIteGwtOCwucHkteGwtOHtwYWRkaW5nLWJvdHRvbToyNHJlbSFpbXBvcnRhbnR9LnBsLXhsLTgsLnB4LXhsLTh7cGFkZGluZy1sZWZ0OjI0cmVtIWltcG9ydGFudH0ubS14bC1uMXttYXJnaW46LS4yNXJlbSFpbXBvcnRhbnR9Lm10LXhsLW4xLC5teS14bC1uMXttYXJnaW4tdG9wOi0uMjVyZW0haW1wb3J0YW50fS5tci14bC1uMSwubXgteGwtbjF7bWFyZ2luLXJpZ2h0Oi0uMjVyZW0haW1wb3J0YW50fS5tYi14bC1uMSwubXkteGwtbjF7bWFyZ2luLWJvdHRvbTotLjI1cmVtIWltcG9ydGFudH0ubWwteGwtbjEsLm14LXhsLW4xe21hcmdpbi1sZWZ0Oi0uMjVyZW0haW1wb3J0YW50fS5tLXhsLW4ye21hcmdpbjotLjVyZW0haW1wb3J0YW50fS5tdC14bC1uMiwubXkteGwtbjJ7bWFyZ2luLXRvcDotLjVyZW0haW1wb3J0YW50fS5tci14bC1uMiwubXgteGwtbjJ7bWFyZ2luLXJpZ2h0Oi0uNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLW4yLC5teS14bC1uMnttYXJnaW4tYm90dG9tOi0uNXJlbSFpbXBvcnRhbnR9Lm1sLXhsLW4yLC5teC14bC1uMnttYXJnaW4tbGVmdDotLjVyZW0haW1wb3J0YW50fS5tLXhsLW4ze21hcmdpbjotMXJlbSFpbXBvcnRhbnR9Lm10LXhsLW4zLC5teS14bC1uM3ttYXJnaW4tdG9wOi0xcmVtIWltcG9ydGFudH0ubXIteGwtbjMsLm14LXhsLW4ze21hcmdpbi1yaWdodDotMXJlbSFpbXBvcnRhbnR9Lm1iLXhsLW4zLC5teS14bC1uM3ttYXJnaW4tYm90dG9tOi0xcmVtIWltcG9ydGFudH0ubWwteGwtbjMsLm14LXhsLW4ze21hcmdpbi1sZWZ0Oi0xcmVtIWltcG9ydGFudH0ubS14bC1uNHttYXJnaW46LTEuNXJlbSFpbXBvcnRhbnR9Lm10LXhsLW40LC5teS14bC1uNHttYXJnaW4tdG9wOi0xLjVyZW0haW1wb3J0YW50fS5tci14bC1uNCwubXgteGwtbjR7bWFyZ2luLXJpZ2h0Oi0xLjVyZW0haW1wb3J0YW50fS5tYi14bC1uNCwubXkteGwtbjR7bWFyZ2luLWJvdHRvbTotMS41cmVtIWltcG9ydGFudH0ubWwteGwtbjQsLm14LXhsLW40e21hcmdpbi1sZWZ0Oi0xLjVyZW0haW1wb3J0YW50fS5tLXhsLW41e21hcmdpbjotM3JlbSFpbXBvcnRhbnR9Lm10LXhsLW41LC5teS14bC1uNXttYXJnaW4tdG9wOi0zcmVtIWltcG9ydGFudH0ubXIteGwtbjUsLm14LXhsLW41e21hcmdpbi1yaWdodDotM3JlbSFpbXBvcnRhbnR9Lm1iLXhsLW41LC5teS14bC1uNXttYXJnaW4tYm90dG9tOi0zcmVtIWltcG9ydGFudH0ubWwteGwtbjUsLm14LXhsLW41e21hcmdpbi1sZWZ0Oi0zcmVtIWltcG9ydGFudH0ubS14bC1uNnttYXJnaW46LTZyZW0haW1wb3J0YW50fS5tdC14bC1uNiwubXkteGwtbjZ7bWFyZ2luLXRvcDotNnJlbSFpbXBvcnRhbnR9Lm1yLXhsLW42LC5teC14bC1uNnttYXJnaW4tcmlnaHQ6LTZyZW0haW1wb3J0YW50fS5tYi14bC1uNiwubXkteGwtbjZ7bWFyZ2luLWJvdHRvbTotNnJlbSFpbXBvcnRhbnR9Lm1sLXhsLW42LC5teC14bC1uNnttYXJnaW4tbGVmdDotNnJlbSFpbXBvcnRhbnR9Lm0teGwtbjd7bWFyZ2luOi0xMnJlbSFpbXBvcnRhbnR9Lm10LXhsLW43LC5teS14bC1uN3ttYXJnaW4tdG9wOi0xMnJlbSFpbXBvcnRhbnR9Lm1yLXhsLW43LC5teC14bC1uN3ttYXJnaW4tcmlnaHQ6LTEycmVtIWltcG9ydGFudH0ubWIteGwtbjcsLm15LXhsLW43e21hcmdpbi1ib3R0b206LTEycmVtIWltcG9ydGFudH0ubWwteGwtbjcsLm14LXhsLW43e21hcmdpbi1sZWZ0Oi0xMnJlbSFpbXBvcnRhbnR9Lm0teGwtbjh7bWFyZ2luOi0yNHJlbSFpbXBvcnRhbnR9Lm10LXhsLW44LC5teS14bC1uOHttYXJnaW4tdG9wOi0yNHJlbSFpbXBvcnRhbnR9Lm1yLXhsLW44LC5teC14bC1uOHttYXJnaW4tcmlnaHQ6LTI0cmVtIWltcG9ydGFudH0ubWIteGwtbjgsLm15LXhsLW44e21hcmdpbi1ib3R0b206LTI0cmVtIWltcG9ydGFudH0ubWwteGwtbjgsLm14LXhsLW44e21hcmdpbi1sZWZ0Oi0yNHJlbSFpbXBvcnRhbnR9Lm0teGwtYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LXhsLWF1dG8sLm15LXhsLWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXIteGwtYXV0bywubXgteGwtYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLXhsLWF1dG8sLm15LXhsLWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwteGwtYXV0bywubXgteGwtYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH19LnN0cmV0Y2hlZC1saW5rOmFmdGVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym90dG9tOjA7Y29udGVudDoiIjtsZWZ0OjA7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO3otaW5kZXg6MX0udGV4dC1tb25vc3BhY2V7Zm9udC1mYW1pbHk6U0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2UhaW1wb3J0YW50fS50ZXh0LWp1c3RpZnl7dGV4dC1hbGlnbjpqdXN0aWZ5IWltcG9ydGFudH0udGV4dC13cmFwe3doaXRlLXNwYWNlOm5vcm1hbCFpbXBvcnRhbnR9LnRleHQtbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcCFpbXBvcnRhbnR9LnRleHQtdHJ1bmNhdGV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0udGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsudGV4dC1zbS1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnRleHQtc20tcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9LnRleHQtc20tY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey50ZXh0LW1kLWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0udGV4dC1tZC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0udGV4dC1tZC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LnRleHQtbGctbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS50ZXh0LWxnLXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS50ZXh0LWxnLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnRleHQteGwtbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS50ZXh0LXhsLXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS50ZXh0LXhsLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9fS50ZXh0LWxvd2VyY2FzZXt0ZXh0LXRyYW5zZm9ybTpsb3dlcmNhc2UhaW1wb3J0YW50fS50ZXh0LXVwcGVyY2FzZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UhaW1wb3J0YW50fS50ZXh0LWNhcGl0YWxpemV7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZSFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LWxpZ2h0e2ZvbnQtd2VpZ2h0OjMwMCFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LWxpZ2h0ZXJ7Zm9udC13ZWlnaHQ6bGlnaHRlciFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LW5vcm1hbHtmb250LXdlaWdodDo0MDAhaW1wb3J0YW50fS5mb250LXdlaWdodC1ib2xke2ZvbnQtd2VpZ2h0OjcwMCFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LWJvbGRlcntmb250LXdlaWdodDpib2xkZXIhaW1wb3J0YW50fS5mb250LWl0YWxpY3tmb250LXN0eWxlOml0YWxpYyFpbXBvcnRhbnR9LnRleHQtd2hpdGV7Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRleHQtcHJpbWFyeXtjb2xvcjojMmUzMTkyIWltcG9ydGFudH1hLnRleHQtcHJpbWFyeTpmb2N1cyxhLnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjojMWMxZDU4IWltcG9ydGFudH0udGV4dC1zZWNvbmRhcnl7Y29sb3I6IzZjNzU3ZCFpbXBvcnRhbnR9YS50ZXh0LXNlY29uZGFyeTpmb2N1cyxhLnRleHQtc2Vjb25kYXJ5OmhvdmVye2NvbG9yOiM0OTRmNTQhaW1wb3J0YW50fS50ZXh0LXN1Y2Nlc3N7Y29sb3I6IzM5YjU0YSFpbXBvcnRhbnR9YS50ZXh0LXN1Y2Nlc3M6Zm9jdXMsYS50ZXh0LXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6IzI3N2IzMiFpbXBvcnRhbnR9LnRleHQtaW5mb3tjb2xvcjojMTI4Nzg1IWltcG9ydGFudH1hLnRleHQtaW5mbzpmb2N1cyxhLnRleHQtaW5mbzpob3Zlcntjb2xvcjojMDk0NDQzIWltcG9ydGFudH0udGV4dC13YXJuaW5ne2NvbG9yOiNmY2JmMDAhaW1wb3J0YW50fWEudGV4dC13YXJuaW5nOmZvY3VzLGEudGV4dC13YXJuaW5nOmhvdmVye2NvbG9yOiNiMDg1MDAhaW1wb3J0YW50fS50ZXh0LWRhbmdlcntjb2xvcjojYzAwIWltcG9ydGFudH1hLnRleHQtZGFuZ2VyOmZvY3VzLGEudGV4dC1kYW5nZXI6aG92ZXJ7Y29sb3I6bWFyb29uIWltcG9ydGFudH0udGV4dC1saWdodHtjb2xvcjojZjhmOWZhIWltcG9ydGFudH1hLnRleHQtbGlnaHQ6Zm9jdXMsYS50ZXh0LWxpZ2h0OmhvdmVye2NvbG9yOiNjYmQzZGEhaW1wb3J0YW50fS50ZXh0LWRhcmt7Y29sb3I6IzMwMzAzMCFpbXBvcnRhbnR9YS50ZXh0LWRhcms6Zm9jdXMsYS50ZXh0LWRhcms6aG92ZXJ7Y29sb3I6IzBhMGEwYSFpbXBvcnRhbnR9LnRleHQtYm9keXtjb2xvcjojMjEyNTI5IWltcG9ydGFudH0udGV4dC1tdXRlZHtjb2xvcjojNmM3NTdkIWltcG9ydGFudH0udGV4dC1ibGFjay01MHtjb2xvcjpyZ2JhKDAsMCwwLC41KSFpbXBvcnRhbnR9LnRleHQtd2hpdGUtNTB7Y29sb3I6aHNsYSgwLDAlLDEwMCUsLjUpIWltcG9ydGFudH0udGV4dC1oaWRle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Y29sb3I6dHJhbnNwYXJlbnQ7Zm9udDowLzAgYTt0ZXh0LXNoYWRvdzpub25lfS50ZXh0LWRlY29yYXRpb24tbm9uZXt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnR9LnRleHQtYnJlYWt7d29yZC13cmFwOmJyZWFrLXdvcmQhaW1wb3J0YW50O3dvcmQtYnJlYWs6YnJlYWstd29yZCFpbXBvcnRhbnR9LnRleHQtcmVzZXR7Y29sb3I6aW5oZXJpdCFpbXBvcnRhbnR9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudH0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVuIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7Kiw6YWZ0ZXIsOmJlZm9yZXtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O3RleHQtc2hhZG93Om5vbmUhaW1wb3J0YW50fWE6bm90KC5idG4pe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YWJiclt0aXRsZV06YWZ0ZXJ7Y29udGVudDoiICgiIGF0dHIodGl0bGUpICIpIn1wcmV7d2hpdGUtc3BhY2U6cHJlLXdyYXAhaW1wb3J0YW50fWJsb2NrcXVvdGUscHJle2JvcmRlcjoxcHggc29saWQgI2FkYjViZDtwYWdlLWJyZWFrLWluc2lkZTphdm9pZH10aGVhZHtkaXNwbGF5OnRhYmxlLWhlYWRlci1ncm91cH1pbWcsdHJ7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9aDIsaDMscHtvcnBoYW5zOjM7d2lkb3dzOjN9aDIsaDN7cGFnZS1icmVhay1hZnRlcjphdm9pZH1AcGFnZXtzaXplOmEzfS5jb250YWluZXIsYm9keXttaW4td2lkdGg6OTkycHghaW1wb3J0YW50fS5uYXZiYXJ7ZGlzcGxheTpub25lfS5iYWRnZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9LnRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSFpbXBvcnRhbnR9LnRhYmxlIHRkLC50YWJsZSB0aHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0udGFibGUtZGFya3tjb2xvcjppbmhlcml0fS50YWJsZS1kYXJrIHRib2R5K3Rib2R5LC50YWJsZS1kYXJrIHRkLC50YWJsZS1kYXJrIHRoLC50YWJsZS1kYXJrIHRoZWFkIHRoe2JvcmRlci1jb2xvcjojZGVlMmU2fS50YWJsZSAudGhlYWQtZGFyayB0aHtib3JkZXItY29sb3I6I2RlZTJlNjtjb2xvcjppbmhlcml0fX0uYmctYmxhY2ssLmJnLWhvdmVyLWJsYWNrOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMCFpbXBvcnRhbnR9LnRleHQtYmxhY2t7Y29sb3I6IzAwMH0uYm9yZGVyLWJsYWNre2JvcmRlci1jb2xvcjojMDAwIWltcG9ydGFudH0uaG92ZXItYmxhY2s6aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnR9LmJnLWdyYXktbGlnaHRlc3QsLmJnLWhvdmVyLWdyYXktbGlnaHRlc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjNmM2YzIWltcG9ydGFudH0udGV4dC1ncmF5LWxpZ2h0ZXN0e2NvbG9yOiNmM2YzZjN9LmJvcmRlci1ncmF5LWxpZ2h0ZXN0e2JvcmRlci1jb2xvcjojZjNmM2YzIWltcG9ydGFudH0uaG92ZXItZ3JheS1saWdodGVzdDpob3Zlcntjb2xvcjojZjNmM2YzIWltcG9ydGFudH0uYmctZ3JheS1saWdodCwuYmctaG92ZXItZ3JheS1saWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlMmUyZTIhaW1wb3J0YW50fS50ZXh0LWdyYXktbGlnaHR7Y29sb3I6I2UyZTJlMn0uYm9yZGVyLWdyYXktbGlnaHR7Ym9yZGVyLWNvbG9yOiNlMmUyZTIhaW1wb3J0YW50fS5ob3Zlci1ncmF5LWxpZ2h0OmhvdmVye2NvbG9yOiNlMmUyZTIhaW1wb3J0YW50fS5iZy1ncmF5LC5iZy1ob3Zlci1ncmF5OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2QxZDFkMSFpbXBvcnRhbnR9LnRleHQtZ3JheXtjb2xvcjojZDFkMWQxfS5ib3JkZXItZ3JheXtib3JkZXItY29sb3I6I2QxZDFkMSFpbXBvcnRhbnR9LmhvdmVyLWdyYXk6aG92ZXJ7Y29sb3I6I2QxZDFkMSFpbXBvcnRhbnR9LmJnLWdyYXktZGFyaywuYmctaG92ZXItZ3JheS1kYXJrOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2FjYWNhYyFpbXBvcnRhbnR9LnRleHQtZ3JheS1kYXJre2NvbG9yOiNhY2FjYWN9LmJvcmRlci1ncmF5LWRhcmt7Ym9yZGVyLWNvbG9yOiNhY2FjYWMhaW1wb3J0YW50fS5ob3Zlci1ncmF5LWRhcms6aG92ZXJ7Y29sb3I6I2FjYWNhYyFpbXBvcnRhbnR9LmJnLWdyYXktZGFya2VyLC5iZy1ob3Zlci1ncmF5LWRhcmtlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2OTcwNzchaW1wb3J0YW50fS50ZXh0LWdyYXktZGFya2Vye2NvbG9yOiM2OTcwNzd9LmJvcmRlci1ncmF5LWRhcmtlcntib3JkZXItY29sb3I6IzY5NzA3NyFpbXBvcnRhbnR9LmhvdmVyLWdyYXktZGFya2VyOmhvdmVye2NvbG9yOiM2OTcwNzchaW1wb3J0YW50fS5iZy1ncmF5LWRhcmtlc3QsLmJnLWhvdmVyLWdyYXktZGFya2VzdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM0OTUwNTchaW1wb3J0YW50fS50ZXh0LWdyYXktZGFya2VzdHtjb2xvcjojNDk1MDU3fS5ib3JkZXItZ3JheS1kYXJrZXN0e2JvcmRlci1jb2xvcjojNDk1MDU3IWltcG9ydGFudH0uaG92ZXItZ3JheS1kYXJrZXN0OmhvdmVye2NvbG9yOiM0OTUwNTchaW1wb3J0YW50fS5iZy1ob3Zlci1vdGhlci0xOmhvdmVyLC5iZy1vdGhlci0xe2JhY2tncm91bmQtY29sb3I6IzYyMjFlYSFpbXBvcnRhbnR9LnRleHQtb3RoZXItMXtjb2xvcjojNjIyMWVhfS5ib3JkZXItb3RoZXItMXtib3JkZXItY29sb3I6IzYyMjFlYSFpbXBvcnRhbnR9LmhvdmVyLW90aGVyLTE6aG92ZXJ7Y29sb3I6IzYyMjFlYSFpbXBvcnRhbnR9LmJnLWhvdmVyLW90aGVyLTI6aG92ZXIsLmJnLW90aGVyLTJ7YmFja2dyb3VuZC1jb2xvcjojMjRkOWM0IWltcG9ydGFudH0udGV4dC1vdGhlci0ye2NvbG9yOiMyNGQ5YzR9LmJvcmRlci1vdGhlci0ye2JvcmRlci1jb2xvcjojMjRkOWM0IWltcG9ydGFudH0uaG92ZXItb3RoZXItMjpob3Zlcntjb2xvcjojMjRkOWM0IWltcG9ydGFudH1he2NvbG9yOmluaGVyaXR9YTpub3QoLmJ0bik6bm90KC5uYXYtbGluayk6bm90KC5iYWRnZSk6bm90KC5kcm9wZG93bi1pdGVtKTpub3QoLmxpbmstZGFyayk6bm90KFtkYXRhLXRvZ2dsZT1jb2xsYXBzZV0pOm5vdCgucGhwZGVidWdiYXItdGFiKXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfWE6aG92ZXI6bm90KC5idG4pOm5vdCgubmF2LWxpbmspOm5vdCguYmFkZ2UpOm5vdCguZHJvcGRvd24taXRlbSk6bm90KFtkYXRhLXRvZ2dsZT1jb2xsYXBzZV0pOm5vdCgucGhwZGVidWdiYXItdGFiKXtjb2xvcjojYzAwfS5mb250LXdlaWdodC1zZW1pYm9sZHtmb250LXdlaWdodDo1MDB9Lm5vLWRlY29yYXRpb257Y29sb3I6aW5oZXJpdH0ubm8tZGVjb3JhdGlvbjpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0ubm8tZGVjb3JhdGlvbj5he3RleHQtZGVjb3JhdGlvbjpub25lIWltcG9ydGFudH0ubm8tZGVjb3JhdGlvbiBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5saXN0LWFsaWduLXBhZGRpbmcgb2wsLmxpc3QtYWxpZ24tcGFkZGluZyB1bHtwYWRkaW5nLWxlZnQ6MS4yNXJlbX0ubGluay1kYXJre2NvbG9yOiMzMDMwMzB9LmxpbmstZGFyazpob3ZlcntmaWxsOiNjMDAhaW1wb3J0YW50O2NvbG9yOiNjMDAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lfS5saW5rLWRhbmdlciBhe2NvbG9yOiNjMDB9LmxpbmstZGFuZ2VyIGE6aG92ZXJ7Y29sb3I6bWFyb29uIWltcG9ydGFudH0ucmVkYWN0b3ItdGl0bGV7bGluZS1oZWlnaHQ6MS4yNX0ucmVkYWN0b3ItdGl0bGU+cHttYXJnaW4tYm90dG9tOjB9LnRleHQtNntmb250LXNpemU6LjM3NXJlbX0udGV4dC03e2ZvbnQtc2l6ZTouNDM3NXJlbX0udGV4dC04e2ZvbnQtc2l6ZTouNXJlbX0udGV4dC05e2ZvbnQtc2l6ZTouNTYyNXJlbX0udGV4dC0xMHtmb250LXNpemU6LjYyNXJlbX0udGV4dC0xMXtmb250LXNpemU6LjY4NzVyZW19LnRleHQtMTJ7Zm9udC1zaXplOi43NXJlbX0udGV4dC0xM3tmb250LXNpemU6LjgxMjVyZW19LnRleHQtMTR7Zm9udC1zaXplOi44NzVyZW19LnRleHQtMTV7Zm9udC1zaXplOi45Mzc1cmVtfS50ZXh0LTE2e2ZvbnQtc2l6ZToxcmVtfS50ZXh0LTE3e2ZvbnQtc2l6ZToxLjA2MjVyZW19LnRleHQtMTh7Zm9udC1zaXplOjEuMTI1cmVtfS50ZXh0LTE5e2ZvbnQtc2l6ZToxLjE4NzVyZW19LnRleHQtMjB7Zm9udC1zaXplOjEuMjVyZW19LnRleHQtMjF7Zm9udC1zaXplOjEuMzEyNXJlbX0udGV4dC0yMntmb250LXNpemU6MS4zNzVyZW19LnRleHQtMjN7Zm9udC1zaXplOjEuNDM3NXJlbX0udGV4dC0yNHtmb250LXNpemU6MS41cmVtfS50ZXh0LTI1e2ZvbnQtc2l6ZToxLjU2MjVyZW19LnRleHQtMjZ7Zm9udC1zaXplOjEuNjI1cmVtfS50ZXh0LTI3e2ZvbnQtc2l6ZToxLjY4NzVyZW19LnRleHQtMjh7Zm9udC1zaXplOjEuNzVyZW19LnRleHQtMjl7Zm9udC1zaXplOjEuODEyNXJlbX0udGV4dC0zMHtmb250LXNpemU6MS44NzVyZW19LnRleHQtMzF7Zm9udC1zaXplOjEuOTM3NXJlbX0udGV4dC0zMntmb250LXNpemU6MnJlbX0udGV4dC0zM3tmb250LXNpemU6Mi4wNjI1cmVtfS50ZXh0LTM0e2ZvbnQtc2l6ZToyLjEyNXJlbX0udGV4dC0zNXtmb250LXNpemU6Mi4xODc1cmVtfS50ZXh0LTM2e2ZvbnQtc2l6ZToyLjI1cmVtfS50ZXh0LTM3e2ZvbnQtc2l6ZToyLjMxMjVyZW19LnRleHQtMzh7Zm9udC1zaXplOjIuMzc1cmVtfS50ZXh0LTM5e2ZvbnQtc2l6ZToyLjQzNzVyZW19LnRleHQtNDB7Zm9udC1zaXplOjIuNXJlbX0udGV4dC00MXtmb250LXNpemU6Mi41NjI1cmVtfS50ZXh0LTQye2ZvbnQtc2l6ZToyLjYyNXJlbX0udGV4dC00M3tmb250LXNpemU6Mi42ODc1cmVtfS50ZXh0LTQ0e2ZvbnQtc2l6ZToyLjc1cmVtfS50ZXh0LTQ1e2ZvbnQtc2l6ZToyLjgxMjVyZW19LnRleHQtNDZ7Zm9udC1zaXplOjIuODc1cmVtfS50ZXh0LTQ3e2ZvbnQtc2l6ZToyLjkzNzVyZW19LnRleHQtNDh7Zm9udC1zaXplOjNyZW19QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey50ZXh0LXNtLTZ7Zm9udC1zaXplOi4zNzVyZW19LnRleHQtc20tN3tmb250LXNpemU6LjQzNzVyZW19LnRleHQtc20tOHtmb250LXNpemU6LjVyZW19LnRleHQtc20tOXtmb250LXNpemU6LjU2MjVyZW19LnRleHQtc20tMTB7Zm9udC1zaXplOi42MjVyZW19LnRleHQtc20tMTF7Zm9udC1zaXplOi42ODc1cmVtfS50ZXh0LXNtLTEye2ZvbnQtc2l6ZTouNzVyZW19LnRleHQtc20tMTN7Zm9udC1zaXplOi44MTI1cmVtfS50ZXh0LXNtLTE0e2ZvbnQtc2l6ZTouODc1cmVtfS50ZXh0LXNtLTE1e2ZvbnQtc2l6ZTouOTM3NXJlbX0udGV4dC1zbS0xNntmb250LXNpemU6MXJlbX0udGV4dC1zbS0xN3tmb250LXNpemU6MS4wNjI1cmVtfS50ZXh0LXNtLTE4e2ZvbnQtc2l6ZToxLjEyNXJlbX0udGV4dC1zbS0xOXtmb250LXNpemU6MS4xODc1cmVtfS50ZXh0LXNtLTIwe2ZvbnQtc2l6ZToxLjI1cmVtfS50ZXh0LXNtLTIxe2ZvbnQtc2l6ZToxLjMxMjVyZW19LnRleHQtc20tMjJ7Zm9udC1zaXplOjEuMzc1cmVtfS50ZXh0LXNtLTIze2ZvbnQtc2l6ZToxLjQzNzVyZW19LnRleHQtc20tMjR7Zm9udC1zaXplOjEuNXJlbX0udGV4dC1zbS0yNXtmb250LXNpemU6MS41NjI1cmVtfS50ZXh0LXNtLTI2e2ZvbnQtc2l6ZToxLjYyNXJlbX0udGV4dC1zbS0yN3tmb250LXNpemU6MS42ODc1cmVtfS50ZXh0LXNtLTI4e2ZvbnQtc2l6ZToxLjc1cmVtfS50ZXh0LXNtLTI5e2ZvbnQtc2l6ZToxLjgxMjVyZW19LnRleHQtc20tMzB7Zm9udC1zaXplOjEuODc1cmVtfS50ZXh0LXNtLTMxe2ZvbnQtc2l6ZToxLjkzNzVyZW19LnRleHQtc20tMzJ7Zm9udC1zaXplOjJyZW19LnRleHQtc20tMzN7Zm9udC1zaXplOjIuMDYyNXJlbX0udGV4dC1zbS0zNHtmb250LXNpemU6Mi4xMjVyZW19LnRleHQtc20tMzV7Zm9udC1zaXplOjIuMTg3NXJlbX0udGV4dC1zbS0zNntmb250LXNpemU6Mi4yNXJlbX0udGV4dC1zbS0zN3tmb250LXNpemU6Mi4zMTI1cmVtfS50ZXh0LXNtLTM4e2ZvbnQtc2l6ZToyLjM3NXJlbX0udGV4dC1zbS0zOXtmb250LXNpemU6Mi40Mzc1cmVtfS50ZXh0LXNtLTQwe2ZvbnQtc2l6ZToyLjVyZW19LnRleHQtc20tNDF7Zm9udC1zaXplOjIuNTYyNXJlbX0udGV4dC1zbS00Mntmb250LXNpemU6Mi42MjVyZW19LnRleHQtc20tNDN7Zm9udC1zaXplOjIuNjg3NXJlbX0udGV4dC1zbS00NHtmb250LXNpemU6Mi43NXJlbX0udGV4dC1zbS00NXtmb250LXNpemU6Mi44MTI1cmVtfS50ZXh0LXNtLTQ2e2ZvbnQtc2l6ZToyLjg3NXJlbX0udGV4dC1zbS00N3tmb250LXNpemU6Mi45Mzc1cmVtfS50ZXh0LXNtLTQ4e2ZvbnQtc2l6ZTozcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LnRleHQtbWQtNntmb250LXNpemU6LjM3NXJlbX0udGV4dC1tZC03e2ZvbnQtc2l6ZTouNDM3NXJlbX0udGV4dC1tZC04e2ZvbnQtc2l6ZTouNXJlbX0udGV4dC1tZC05e2ZvbnQtc2l6ZTouNTYyNXJlbX0udGV4dC1tZC0xMHtmb250LXNpemU6LjYyNXJlbX0udGV4dC1tZC0xMXtmb250LXNpemU6LjY4NzVyZW19LnRleHQtbWQtMTJ7Zm9udC1zaXplOi43NXJlbX0udGV4dC1tZC0xM3tmb250LXNpemU6LjgxMjVyZW19LnRleHQtbWQtMTR7Zm9udC1zaXplOi44NzVyZW19LnRleHQtbWQtMTV7Zm9udC1zaXplOi45Mzc1cmVtfS50ZXh0LW1kLTE2e2ZvbnQtc2l6ZToxcmVtfS50ZXh0LW1kLTE3e2ZvbnQtc2l6ZToxLjA2MjVyZW19LnRleHQtbWQtMTh7Zm9udC1zaXplOjEuMTI1cmVtfS50ZXh0LW1kLTE5e2ZvbnQtc2l6ZToxLjE4NzVyZW19LnRleHQtbWQtMjB7Zm9udC1zaXplOjEuMjVyZW19LnRleHQtbWQtMjF7Zm9udC1zaXplOjEuMzEyNXJlbX0udGV4dC1tZC0yMntmb250LXNpemU6MS4zNzVyZW19LnRleHQtbWQtMjN7Zm9udC1zaXplOjEuNDM3NXJlbX0udGV4dC1tZC0yNHtmb250LXNpemU6MS41cmVtfS50ZXh0LW1kLTI1e2ZvbnQtc2l6ZToxLjU2MjVyZW19LnRleHQtbWQtMjZ7Zm9udC1zaXplOjEuNjI1cmVtfS50ZXh0LW1kLTI3e2ZvbnQtc2l6ZToxLjY4NzVyZW19LnRleHQtbWQtMjh7Zm9udC1zaXplOjEuNzVyZW19LnRleHQtbWQtMjl7Zm9udC1zaXplOjEuODEyNXJlbX0udGV4dC1tZC0zMHtmb250LXNpemU6MS44NzVyZW19LnRleHQtbWQtMzF7Zm9udC1zaXplOjEuOTM3NXJlbX0udGV4dC1tZC0zMntmb250LXNpemU6MnJlbX0udGV4dC1tZC0zM3tmb250LXNpemU6Mi4wNjI1cmVtfS50ZXh0LW1kLTM0e2ZvbnQtc2l6ZToyLjEyNXJlbX0udGV4dC1tZC0zNXtmb250LXNpemU6Mi4xODc1cmVtfS50ZXh0LW1kLTM2e2ZvbnQtc2l6ZToyLjI1cmVtfS50ZXh0LW1kLTM3e2ZvbnQtc2l6ZToyLjMxMjVyZW19LnRleHQtbWQtMzh7Zm9udC1zaXplOjIuMzc1cmVtfS50ZXh0LW1kLTM5e2ZvbnQtc2l6ZToyLjQzNzVyZW19LnRleHQtbWQtNDB7Zm9udC1zaXplOjIuNXJlbX0udGV4dC1tZC00MXtmb250LXNpemU6Mi41NjI1cmVtfS50ZXh0LW1kLTQye2ZvbnQtc2l6ZToyLjYyNXJlbX0udGV4dC1tZC00M3tmb250LXNpemU6Mi42ODc1cmVtfS50ZXh0LW1kLTQ0e2ZvbnQtc2l6ZToyLjc1cmVtfS50ZXh0LW1kLTQ1e2ZvbnQtc2l6ZToyLjgxMjVyZW19LnRleHQtbWQtNDZ7Zm9udC1zaXplOjIuODc1cmVtfS50ZXh0LW1kLTQ3e2ZvbnQtc2l6ZToyLjkzNzVyZW19LnRleHQtbWQtNDh7Zm9udC1zaXplOjNyZW19fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsudGV4dC1sZy02e2ZvbnQtc2l6ZTouMzc1cmVtfS50ZXh0LWxnLTd7Zm9udC1zaXplOi40Mzc1cmVtfS50ZXh0LWxnLTh7Zm9udC1zaXplOi41cmVtfS50ZXh0LWxnLTl7Zm9udC1zaXplOi41NjI1cmVtfS50ZXh0LWxnLTEwe2ZvbnQtc2l6ZTouNjI1cmVtfS50ZXh0LWxnLTExe2ZvbnQtc2l6ZTouNjg3NXJlbX0udGV4dC1sZy0xMntmb250LXNpemU6Ljc1cmVtfS50ZXh0LWxnLTEze2ZvbnQtc2l6ZTouODEyNXJlbX0udGV4dC1sZy0xNHtmb250LXNpemU6Ljg3NXJlbX0udGV4dC1sZy0xNXtmb250LXNpemU6LjkzNzVyZW19LnRleHQtbGctMTZ7Zm9udC1zaXplOjFyZW19LnRleHQtbGctMTd7Zm9udC1zaXplOjEuMDYyNXJlbX0udGV4dC1sZy0xOHtmb250LXNpemU6MS4xMjVyZW19LnRleHQtbGctMTl7Zm9udC1zaXplOjEuMTg3NXJlbX0udGV4dC1sZy0yMHtmb250LXNpemU6MS4yNXJlbX0udGV4dC1sZy0yMXtmb250LXNpemU6MS4zMTI1cmVtfS50ZXh0LWxnLTIye2ZvbnQtc2l6ZToxLjM3NXJlbX0udGV4dC1sZy0yM3tmb250LXNpemU6MS40Mzc1cmVtfS50ZXh0LWxnLTI0e2ZvbnQtc2l6ZToxLjVyZW19LnRleHQtbGctMjV7Zm9udC1zaXplOjEuNTYyNXJlbX0udGV4dC1sZy0yNntmb250LXNpemU6MS42MjVyZW19LnRleHQtbGctMjd7Zm9udC1zaXplOjEuNjg3NXJlbX0udGV4dC1sZy0yOHtmb250LXNpemU6MS43NXJlbX0udGV4dC1sZy0yOXtmb250LXNpemU6MS44MTI1cmVtfS50ZXh0LWxnLTMwe2ZvbnQtc2l6ZToxLjg3NXJlbX0udGV4dC1sZy0zMXtmb250LXNpemU6MS45Mzc1cmVtfS50ZXh0LWxnLTMye2ZvbnQtc2l6ZToycmVtfS50ZXh0LWxnLTMze2ZvbnQtc2l6ZToyLjA2MjVyZW19LnRleHQtbGctMzR7Zm9udC1zaXplOjIuMTI1cmVtfS50ZXh0LWxnLTM1e2ZvbnQtc2l6ZToyLjE4NzVyZW19LnRleHQtbGctMzZ7Zm9udC1zaXplOjIuMjVyZW19LnRleHQtbGctMzd7Zm9udC1zaXplOjIuMzEyNXJlbX0udGV4dC1sZy0zOHtmb250LXNpemU6Mi4zNzVyZW19LnRleHQtbGctMzl7Zm9udC1zaXplOjIuNDM3NXJlbX0udGV4dC1sZy00MHtmb250LXNpemU6Mi41cmVtfS50ZXh0LWxnLTQxe2ZvbnQtc2l6ZToyLjU2MjVyZW19LnRleHQtbGctNDJ7Zm9udC1zaXplOjIuNjI1cmVtfS50ZXh0LWxnLTQze2ZvbnQtc2l6ZToyLjY4NzVyZW19LnRleHQtbGctNDR7Zm9udC1zaXplOjIuNzVyZW19LnRleHQtbGctNDV7Zm9udC1zaXplOjIuODEyNXJlbX0udGV4dC1sZy00Nntmb250LXNpemU6Mi44NzVyZW19LnRleHQtbGctNDd7Zm9udC1zaXplOjIuOTM3NXJlbX0udGV4dC1sZy00OHtmb250LXNpemU6M3JlbX19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudGV4dC14bC02e2ZvbnQtc2l6ZTouMzc1cmVtfS50ZXh0LXhsLTd7Zm9udC1zaXplOi40Mzc1cmVtfS50ZXh0LXhsLTh7Zm9udC1zaXplOi41cmVtfS50ZXh0LXhsLTl7Zm9udC1zaXplOi41NjI1cmVtfS50ZXh0LXhsLTEwe2ZvbnQtc2l6ZTouNjI1cmVtfS50ZXh0LXhsLTExe2ZvbnQtc2l6ZTouNjg3NXJlbX0udGV4dC14bC0xMntmb250LXNpemU6Ljc1cmVtfS50ZXh0LXhsLTEze2ZvbnQtc2l6ZTouODEyNXJlbX0udGV4dC14bC0xNHtmb250LXNpemU6Ljg3NXJlbX0udGV4dC14bC0xNXtmb250LXNpemU6LjkzNzVyZW19LnRleHQteGwtMTZ7Zm9udC1zaXplOjFyZW19LnRleHQteGwtMTd7Zm9udC1zaXplOjEuMDYyNXJlbX0udGV4dC14bC0xOHtmb250LXNpemU6MS4xMjVyZW19LnRleHQteGwtMTl7Zm9udC1zaXplOjEuMTg3NXJlbX0udGV4dC14bC0yMHtmb250LXNpemU6MS4yNXJlbX0udGV4dC14bC0yMXtmb250LXNpemU6MS4zMTI1cmVtfS50ZXh0LXhsLTIye2ZvbnQtc2l6ZToxLjM3NXJlbX0udGV4dC14bC0yM3tmb250LXNpemU6MS40Mzc1cmVtfS50ZXh0LXhsLTI0e2ZvbnQtc2l6ZToxLjVyZW19LnRleHQteGwtMjV7Zm9udC1zaXplOjEuNTYyNXJlbX0udGV4dC14bC0yNntmb250LXNpemU6MS42MjVyZW19LnRleHQteGwtMjd7Zm9udC1zaXplOjEuNjg3NXJlbX0udGV4dC14bC0yOHtmb250LXNpemU6MS43NXJlbX0udGV4dC14bC0yOXtmb250LXNpemU6MS44MTI1cmVtfS50ZXh0LXhsLTMwe2ZvbnQtc2l6ZToxLjg3NXJlbX0udGV4dC14bC0zMXtmb250LXNpemU6MS45Mzc1cmVtfS50ZXh0LXhsLTMye2ZvbnQtc2l6ZToycmVtfS50ZXh0LXhsLTMze2ZvbnQtc2l6ZToyLjA2MjVyZW19LnRleHQteGwtMzR7Zm9udC1zaXplOjIuMTI1cmVtfS50ZXh0LXhsLTM1e2ZvbnQtc2l6ZToyLjE4NzVyZW19LnRleHQteGwtMzZ7Zm9udC1zaXplOjIuMjVyZW19LnRleHQteGwtMzd7Zm9udC1zaXplOjIuMzEyNXJlbX0udGV4dC14bC0zOHtmb250LXNpemU6Mi4zNzVyZW19LnRleHQteGwtMzl7Zm9udC1zaXplOjIuNDM3NXJlbX0udGV4dC14bC00MHtmb250LXNpemU6Mi41cmVtfS50ZXh0LXhsLTQxe2ZvbnQtc2l6ZToyLjU2MjVyZW19LnRleHQteGwtNDJ7Zm9udC1zaXplOjIuNjI1cmVtfS50ZXh0LXhsLTQze2ZvbnQtc2l6ZToyLjY4NzVyZW19LnRleHQteGwtNDR7Zm9udC1zaXplOjIuNzVyZW19LnRleHQteGwtNDV7Zm9udC1zaXplOjIuODEyNXJlbX0udGV4dC14bC00Nntmb250LXNpemU6Mi44NzVyZW19LnRleHQteGwtNDd7Zm9udC1zaXplOjIuOTM3NXJlbX0udGV4dC14bC00OHtmb250LXNpemU6M3JlbX19LnRleHQtZmlyc3QtbGV0dGVyLXN1cDpmaXJzdC1sZXR0ZXJ7Zm9udC1zaXplOjUwJTt2ZXJ0aWNhbC1hbGlnbjpzdXBlcn0udGV4dC1zbXtmb250LXNpemU6MXJlbX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LnRleHQtc217Zm9udC1zaXplOjFyZW19fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsudGV4dC1zbXtmb250LXNpemU6MS41cmVtfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LnRleHQtc217Zm9udC1zaXplOjJyZW19fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnRleHQtc217Zm9udC1zaXplOjIuNXJlbX19LnRleHQtbWR7Zm9udC1zaXplOjEuNXJlbX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LnRleHQtbWR7Zm9udC1zaXplOjEuNXJlbX19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey50ZXh0LW1ke2ZvbnQtc2l6ZToycmVtfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LnRleHQtbWR7Zm9udC1zaXplOjIuNXJlbX19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudGV4dC1tZHtmb250LXNpemU6M3JlbX19LnRleHQtbGd7Zm9udC1zaXplOjJyZW19QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey50ZXh0LWxne2ZvbnQtc2l6ZToycmVtfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LnRleHQtbGd7Zm9udC1zaXplOjIuNXJlbX19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey50ZXh0LWxne2ZvbnQtc2l6ZTozcmVtfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey50ZXh0LWxne2ZvbnQtc2l6ZTozLjVyZW19fS5zbWFsbC0xe2ZvbnQtc2l6ZTouOTM4cmVtfS5zbWFsbC0ye2ZvbnQtc2l6ZTouODc1cmVtfS5zbWFsbC0ze2ZvbnQtc2l6ZTouODEzcmVtfS5zbWFsbC00e2ZvbnQtc2l6ZTouNzVyZW19LmNoaWxkLXNwYW4tcHJpbWFyeT5zcGFue2NvbG9yOiMyZTMxOTI7Zm9udC13ZWlnaHQ6Ym9sZGVyfS5jaGlsZC1zcGFuLXNlY29uZGFyeT5zcGFue2NvbG9yOiM2Yzc1N2Q7Zm9udC13ZWlnaHQ6Ym9sZGVyfS5jaGlsZC1zcGFuLXN1Y2Nlc3M+c3Bhbntjb2xvcjojMzliNTRhO2ZvbnQtd2VpZ2h0OmJvbGRlcn0uY2hpbGQtc3Bhbi1pbmZvPnNwYW57Y29sb3I6IzEyODc4NTtmb250LXdlaWdodDpib2xkZXJ9LmNoaWxkLXNwYW4td2FybmluZz5zcGFue2NvbG9yOiNmY2JmMDA7Zm9udC13ZWlnaHQ6Ym9sZGVyfS5jaGlsZC1zcGFuLWRhbmdlcj5zcGFue2NvbG9yOiNjMDA7Zm9udC13ZWlnaHQ6Ym9sZGVyfS5jaGlsZC1zcGFuLWxpZ2h0PnNwYW57Y29sb3I6I2Y4ZjlmYTtmb250LXdlaWdodDpib2xkZXJ9LmNoaWxkLXNwYW4tZGFyaz5zcGFue2NvbG9yOiMzMDMwMzA7Zm9udC13ZWlnaHQ6Ym9sZGVyfS5jYXJldHtib3JkZXI6LjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjA7d2lkdGg6MH0uY2FyZXQuZG93bntib3JkZXItdG9wLWNvbG9yOmluaGVyaXQ7bWFyZ2luLXRvcDouNXJlbX0uY2FyZXQucmlnaHR7Ym9yZGVyLWxlZnQtY29sb3I6aW5oZXJpdH0uY2FyZXQudXB7Ym9yZGVyLWJvdHRvbS1jb2xvcjppbmhlcml0O21hcmdpbi10b3A6LS41cmVtfS5jYXJldC5sZWZ0e2JvcmRlci1yaWdodC1jb2xvcjppbmhlcml0fXJlZHtjb2xvcjojYzAwfS5kaXJlY3Rpb24tbHRye2RpcmVjdGlvbjpsdHJ9LmRpcmVjdGlvbi1ydGx7ZGlyZWN0aW9uOnJ0bH0uYmctY292ZXJ7YmFja2dyb3VuZC1zaXplOmNvdmVyfS5iZy1sZWZ0e2JhY2tncm91bmQtcG9zaXRpb246MH0uYmctbGVmdC10b3B7YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9LmJnLWxlZnQtY2VudGVye2JhY2tncm91bmQtcG9zaXRpb246MH0uYmctbGVmdC1ib3R0b217YmFja2dyb3VuZC1wb3NpdGlvbjowIDEwMCV9LmJnLWNlbnRlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJX0uYmctY2VudGVyLXRvcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcH0uYmctY2VudGVyLWNlbnRlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJX0uYmctY2VudGVyLWJvdHRvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbX0uYmctcmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlfS5iZy1yaWdodC10b3B7YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIDB9LmJnLXJpZ2h0LWNlbnRlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCV9LmJnLXJpZ2h0LWJvdHRvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgMTAwJX0uYmctZGFya2Vue2JveC1zaGFkb3c6aW5zZXQgMTBweCAxMHB4IDMwMHB4IDQwMHB4IHJnYmEoMCwwLDAsLjY1KX0uYmctdmlkZW97aGVpZ2h0OmF1dG87bGVmdDo1MCU7bWluLWhlaWdodDoxMDAlO21pbi13aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTt3aWR0aDphdXRvO3otaW5kZXg6MH0ub3ZlcmxheS1kYXJre2JhY2tncm91bmQtY29sb3I6IzAwMH0ub3ZlcmxheS1kYXJrLC5vdmVybGF5LWxpZ2h0e2hlaWdodDoxMDAlO2xlZnQ6MDtvcGFjaXR5Oi41O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5vdmVybGF5LWxpZ2h0e2JhY2tncm91bmQtY29sb3I6I2ZmZn0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS0xe29wYWNpdHk6MX0uZm9jdXMtYm94LXNoYWRvdy1saWdodDpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4xcmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjMpfS5mb2N1cy1ib3gtc2hhZG93LTA6Zm9jdXN7Ym94LXNoYWRvdzpub25lIWltcG9ydGFudH0ub3V0bGluZS0we291dGxpbmU6MCFpbXBvcnRhbnR9Lm92ZXJsYXktY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS5vdmVybGF5LWNvbnRhaW5lcjpob3ZlciAub3ZlcmxheXtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5OjF9Lm92ZXJsYXktY29udGFpbmVyIC5vdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzMwMzAzMGVkO2JvdHRvbTowO2hlaWdodDoxMDAlO2xlZnQ6MDtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt0cmFuc2l0aW9uOi41cyBlYXNlO3dpZHRoOjEwMCV9Lm92ZXJsYXktY29udGFpbmVyIGltZ3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9Lm92ZXJsYXktY29udGFpbmVyIC5jb250ZW50e2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfS5ib3JkZXItMXtib3JkZXItd2lkdGg6MXB4IWltcG9ydGFudH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweCFpbXBvcnRhbnR9LmJvcmRlci0ze2JvcmRlci13aWR0aDozcHghaW1wb3J0YW50fS5ib3JkZXItNHtib3JkZXItd2lkdGg6NHB4IWltcG9ydGFudH0uYm9yZGVyLTV7Ym9yZGVyLXdpZHRoOjVweCFpbXBvcnRhbnR9LmJvcmRlci02e2JvcmRlci13aWR0aDo2cHghaW1wb3J0YW50fS5ib3JkZXItN3tib3JkZXItd2lkdGg6N3B4IWltcG9ydGFudH0uYm9yZGVyLTh7Ym9yZGVyLXdpZHRoOjhweCFpbXBvcnRhbnR9LmJvcmRlci10b3B7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RlZTJlNn0uYm9yZGVyLXJpZ2h0e2JvcmRlci1yaWdodDoxcHggc29saWQgI2RlZTJlNn0uYm9yZGVyLWJvdHRvbXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItbGVmdHtib3JkZXItbGVmdDoxcHggc29saWQgI2RlZTJlNn0uYm9yZGVyLXRvcC0we2JvcmRlci10b3A6MCFpbXBvcnRhbnR9LmJvcmRlci1yaWdodC0we2JvcmRlci1yaWdodDowIWltcG9ydGFudH0uYm9yZGVyLWJvdHRvbS0we2JvcmRlci1ib3R0b206MCFpbXBvcnRhbnR9LmJvcmRlci1sZWZ0LTB7Ym9yZGVyLWxlZnQ6MCFpbXBvcnRhbnR9LmJvcmRlci14e2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci1yaWdodDoxcHggc29saWQgI2RlZTJlNn0uYm9yZGVyLXl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZTJlNjtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuYm9yZGVyLXNtLXRvcHtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItc20tcmlnaHR7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItc20tYm90dG9te2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZWUyZTZ9LmJvcmRlci1zbS1sZWZ0e2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItc20tdG9wLTB7Ym9yZGVyLXRvcDowIWltcG9ydGFudH0uYm9yZGVyLXNtLXJpZ2h0LTB7Ym9yZGVyLXJpZ2h0OjAhaW1wb3J0YW50fS5ib3JkZXItc20tYm90dG9tLTB7Ym9yZGVyLWJvdHRvbTowIWltcG9ydGFudH0uYm9yZGVyLXNtLWxlZnQtMHtib3JkZXItbGVmdDowIWltcG9ydGFudH0uYm9yZGVyLXNtLXh7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWUyZTY7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItc20teXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci10b3A6MXB4IHNvbGlkICNkZWUyZTZ9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuYm9yZGVyLW1kLXRvcHtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItbWQtcmlnaHR7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItbWQtYm90dG9te2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZWUyZTZ9LmJvcmRlci1tZC1sZWZ0e2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItbWQtdG9wLTB7Ym9yZGVyLXRvcDowIWltcG9ydGFudH0uYm9yZGVyLW1kLXJpZ2h0LTB7Ym9yZGVyLXJpZ2h0OjAhaW1wb3J0YW50fS5ib3JkZXItbWQtYm90dG9tLTB7Ym9yZGVyLWJvdHRvbTowIWltcG9ydGFudH0uYm9yZGVyLW1kLWxlZnQtMHtib3JkZXItbGVmdDowIWltcG9ydGFudH0uYm9yZGVyLW1kLXh7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWUyZTY7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItbWQteXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci10b3A6MXB4IHNvbGlkICNkZWUyZTZ9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuYm9yZGVyLWxnLXRvcHtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItbGctcmlnaHR7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItbGctYm90dG9te2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZWUyZTZ9LmJvcmRlci1sZy1sZWZ0e2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItbGctdG9wLTB7Ym9yZGVyLXRvcDowIWltcG9ydGFudH0uYm9yZGVyLWxnLXJpZ2h0LTB7Ym9yZGVyLXJpZ2h0OjAhaW1wb3J0YW50fS5ib3JkZXItbGctYm90dG9tLTB7Ym9yZGVyLWJvdHRvbTowIWltcG9ydGFudH0uYm9yZGVyLWxnLWxlZnQtMHtib3JkZXItbGVmdDowIWltcG9ydGFudH0uYm9yZGVyLWxnLXh7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWUyZTY7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXItbGcteXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci10b3A6MXB4IHNvbGlkICNkZWUyZTZ9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmJvcmRlci14bC10b3B7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RlZTJlNn0uYm9yZGVyLXhsLXJpZ2h0e2JvcmRlci1yaWdodDoxcHggc29saWQgI2RlZTJlNn0uYm9yZGVyLXhsLWJvdHRvbXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2fS5ib3JkZXIteGwtbGVmdHtib3JkZXItbGVmdDoxcHggc29saWQgI2RlZTJlNn0uYm9yZGVyLXhsLXRvcC0we2JvcmRlci10b3A6MCFpbXBvcnRhbnR9LmJvcmRlci14bC1yaWdodC0we2JvcmRlci1yaWdodDowIWltcG9ydGFudH0uYm9yZGVyLXhsLWJvdHRvbS0we2JvcmRlci1ib3R0b206MCFpbXBvcnRhbnR9LmJvcmRlci14bC1sZWZ0LTB7Ym9yZGVyLWxlZnQ6MCFpbXBvcnRhbnR9LmJvcmRlci14bC14e2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci1yaWdodDoxcHggc29saWQgI2RlZTJlNn0uYm9yZGVyLXhsLXl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZTJlNjtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2fX0uYm9yZGVyLWRhc2hlZHtib3JkZXItc3R5bGU6ZGFzaGVkfS5hY3RpdmUtc3VjY2VzcyAuYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzM5YjU0YSFpbXBvcnRhbnQ7Ym9yZGVyLWNvbG9yOiMzOWI1NGEhaW1wb3J0YW50O2NvbG9yOiNmZmYhaW1wb3J0YW50fS5hY3RpdmUtc3VjY2VzcyAuYWN0aXZlLmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg1NywxODEsNzQsLjE1KX0uY3Vyc29yLXBvaW50ZXJ7Y3Vyc29yOnBvaW50ZXIhaW1wb3J0YW50fS5jdXJzb3ItZGVmYXVsdHtjdXJzb3I6ZGVmYXVsdCFpbXBvcnRhbnR9LnBvaW50ZXItZXZlbnRzLW5vbmV7cG9pbnRlci1ldmVudHM6bm9uZSFpbXBvcnRhbnR9YVtkYXRhLXRvZ2dsZT1kcm9wZG93bl17b3V0bGluZTpub25lfUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsjY29sbGFwc2luZ05hdmJhciAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjA7b3BhY2l0eTowO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjQ1cyBlYXNlLW91dCxvcGFjaXR5IDE3NW1zIGVhc2UtaW4tb3V0fSNjb2xsYXBzaW5nTmF2YmFyIC5kcm9wZG93bi5zaG93IC5kcm9wZG93bi1tZW51e21heC1oZWlnaHQ6MzUwcHg7b3BhY2l0eToxfX0uYmctaG92ZXItcHJpbWFyeXt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBsaW5lYXJ9LmJnLWhvdmVyLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMmUzMTkyIWltcG9ydGFudDtjb2xvcjojZmZmIWltcG9ydGFudH0uYmctaG92ZXItc2Vjb25kYXJ5e3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGxpbmVhcn0uYmctaG92ZXItc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZCFpbXBvcnRhbnQ7Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LmJnLWhvdmVyLXN1Y2Nlc3N7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgbGluZWFyfS5iZy1ob3Zlci1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzM5YjU0YSFpbXBvcnRhbnQ7Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LmJnLWhvdmVyLWluZm97dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgbGluZWFyfS5iZy1ob3Zlci1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzEyODc4NSFpbXBvcnRhbnQ7Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LmJnLWhvdmVyLXdhcm5pbmd7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgbGluZWFyfS5iZy1ob3Zlci13YXJuaW5nOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZjYmYwMCFpbXBvcnRhbnQ7Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LmJnLWhvdmVyLWRhbmdlcnt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBsaW5lYXJ9LmJnLWhvdmVyLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjMDAhaW1wb3J0YW50O2NvbG9yOiNmZmYhaW1wb3J0YW50fS5iZy1ob3Zlci1saWdodHt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBsaW5lYXJ9LmJnLWhvdmVyLWxpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYSFpbXBvcnRhbnQ7Y29sb3I6IzMwMzAzMH0uYmctaG92ZXItZGFya3t0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBsaW5lYXJ9LmJnLWhvdmVyLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwIWltcG9ydGFudDtjb2xvcjojZjhmOWZhfS5iZy1ob3Zlci1kYXJrZW57ZmlsdGVyOnNhdHVyYXRlKDEwMCUpO3RyYW5zaXRpb246YWxsIC4xNXMgZWFzZS1pbi1vdXR9LmJnLWhvdmVyLWRhcmtlbjpob3ZlcntmaWx0ZXI6c2F0dXJhdGUoNTAlKX0uYm9yZGVyLWdyYXktaG92ZXI6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZDFkMWQxIWltcG9ydGFudH1hPnNwYW4udGV4dC1kYW5nZXI6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uaHItM3tib3JkZXItd2lkdGg6M3B4fS5saW5lLWhlaWdodC0xe2xpbmUtaGVpZ2h0OjF9LmxpbmUtaGVpZ2h0LTEtMjV7bGluZS1oZWlnaHQ6MS4yNX0ucHQtMzZwNDUtcGN0e3BhZGRpbmctdG9wOjM2LjQ1JX0udG9wLTB7dG9wOjB9LmxlZnQtMHtsZWZ0OjB9LnJpZ2h0LTB7cmlnaHQ6MH0uYm90dG9tLTB7Ym90dG9tOjB9Lmljb24tOHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjhweDt3aWR0aDo4cHh9aWNvbi1oLTh7aGVpZ2h0OjhweDttYXgtd2lkdGg6OHB4O3dpZHRoOmF1dG99QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5pY29uLXNtLTh7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo4cHg7d2lkdGg6OHB4fWljb24tc20taC04e2hlaWdodDo4cHg7bWF4LXdpZHRoOjhweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lmljb24tbWQtOHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjhweDt3aWR0aDo4cHh9aWNvbi1tZC1oLTh7aGVpZ2h0OjhweDttYXgtd2lkdGg6OHB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuaWNvbi1sZy04e2hlaWdodDphdXRvO21heC1oZWlnaHQ6OHB4O3dpZHRoOjhweH1pY29uLWxnLWgtOHtoZWlnaHQ6OHB4O21heC13aWR0aDo4cHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuaWNvbi14bC04e2hlaWdodDphdXRvO21heC1oZWlnaHQ6OHB4O3dpZHRoOjhweH1pY29uLXhsLWgtOHtoZWlnaHQ6OHB4O21heC13aWR0aDo4cHg7d2lkdGg6YXV0b319Lmljb24taC04e2hlaWdodDo4cHg7bWF4LXdpZHRoOjhweDt3aWR0aDphdXRvfS5pY29uLTE2e2hlaWdodDphdXRvO21heC1oZWlnaHQ6MTZweDt3aWR0aDoxNnB4fWljb24taC0xNntoZWlnaHQ6MTZweDttYXgtd2lkdGg6MTZweDt3aWR0aDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuaWNvbi1zbS0xNntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjE2cHg7d2lkdGg6MTZweH1pY29uLXNtLWgtMTZ7aGVpZ2h0OjE2cHg7bWF4LXdpZHRoOjE2cHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5pY29uLW1kLTE2e2hlaWdodDphdXRvO21heC1oZWlnaHQ6MTZweDt3aWR0aDoxNnB4fWljb24tbWQtaC0xNntoZWlnaHQ6MTZweDttYXgtd2lkdGg6MTZweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lmljb24tbGctMTZ7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDoxNnB4O3dpZHRoOjE2cHh9aWNvbi1sZy1oLTE2e2hlaWdodDoxNnB4O21heC13aWR0aDoxNnB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7Lmljb24teGwtMTZ7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDoxNnB4O3dpZHRoOjE2cHh9aWNvbi14bC1oLTE2e2hlaWdodDoxNnB4O21heC13aWR0aDoxNnB4O3dpZHRoOmF1dG99fS5pY29uLWgtMTZ7aGVpZ2h0OjE2cHg7bWF4LXdpZHRoOjE2cHg7d2lkdGg6YXV0b30uaWNvbi0yNHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjI0cHg7d2lkdGg6MjRweH1pY29uLWgtMjR7aGVpZ2h0OjI0cHg7bWF4LXdpZHRoOjI0cHg7d2lkdGg6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lmljb24tc20tMjR7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDoyNHB4O3dpZHRoOjI0cHh9aWNvbi1zbS1oLTI0e2hlaWdodDoyNHB4O21heC13aWR0aDoyNHB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuaWNvbi1tZC0yNHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjI0cHg7d2lkdGg6MjRweH1pY29uLW1kLWgtMjR7aGVpZ2h0OjI0cHg7bWF4LXdpZHRoOjI0cHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5pY29uLWxnLTI0e2hlaWdodDphdXRvO21heC1oZWlnaHQ6MjRweDt3aWR0aDoyNHB4fWljb24tbGctaC0yNHtoZWlnaHQ6MjRweDttYXgtd2lkdGg6MjRweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5pY29uLXhsLTI0e2hlaWdodDphdXRvO21heC1oZWlnaHQ6MjRweDt3aWR0aDoyNHB4fWljb24teGwtaC0yNHtoZWlnaHQ6MjRweDttYXgtd2lkdGg6MjRweDt3aWR0aDphdXRvfX0uaWNvbi1oLTI0e2hlaWdodDoyNHB4O21heC13aWR0aDoyNHB4O3dpZHRoOmF1dG99Lmljb24tMzJ7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDozMnB4O3dpZHRoOjMycHh9aWNvbi1oLTMye2hlaWdodDozMnB4O21heC13aWR0aDozMnB4O3dpZHRoOmF1dG99QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5pY29uLXNtLTMye2hlaWdodDphdXRvO21heC1oZWlnaHQ6MzJweDt3aWR0aDozMnB4fWljb24tc20taC0zMntoZWlnaHQ6MzJweDttYXgtd2lkdGg6MzJweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lmljb24tbWQtMzJ7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDozMnB4O3dpZHRoOjMycHh9aWNvbi1tZC1oLTMye2hlaWdodDozMnB4O21heC13aWR0aDozMnB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuaWNvbi1sZy0zMntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjMycHg7d2lkdGg6MzJweH1pY29uLWxnLWgtMzJ7aGVpZ2h0OjMycHg7bWF4LXdpZHRoOjMycHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuaWNvbi14bC0zMntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjMycHg7d2lkdGg6MzJweH1pY29uLXhsLWgtMzJ7aGVpZ2h0OjMycHg7bWF4LXdpZHRoOjMycHg7d2lkdGg6YXV0b319Lmljb24taC0zMntoZWlnaHQ6MzJweDttYXgtd2lkdGg6MzJweDt3aWR0aDphdXRvfS5pY29uLTQwe2hlaWdodDphdXRvO21heC1oZWlnaHQ6NDBweDt3aWR0aDo0MHB4fWljb24taC00MHtoZWlnaHQ6NDBweDttYXgtd2lkdGg6NDBweDt3aWR0aDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuaWNvbi1zbS00MHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjQwcHg7d2lkdGg6NDBweH1pY29uLXNtLWgtNDB7aGVpZ2h0OjQwcHg7bWF4LXdpZHRoOjQwcHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5pY29uLW1kLTQwe2hlaWdodDphdXRvO21heC1oZWlnaHQ6NDBweDt3aWR0aDo0MHB4fWljb24tbWQtaC00MHtoZWlnaHQ6NDBweDttYXgtd2lkdGg6NDBweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lmljb24tbGctNDB7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo0MHB4O3dpZHRoOjQwcHh9aWNvbi1sZy1oLTQwe2hlaWdodDo0MHB4O21heC13aWR0aDo0MHB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7Lmljb24teGwtNDB7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo0MHB4O3dpZHRoOjQwcHh9aWNvbi14bC1oLTQwe2hlaWdodDo0MHB4O21heC13aWR0aDo0MHB4O3dpZHRoOmF1dG99fS5pY29uLWgtNDB7aGVpZ2h0OjQwcHg7bWF4LXdpZHRoOjQwcHg7d2lkdGg6YXV0b30uaWNvbi00OHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH1pY29uLWgtNDh7aGVpZ2h0OjQ4cHg7bWF4LXdpZHRoOjQ4cHg7d2lkdGg6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lmljb24tc20tNDh7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo0OHB4O3dpZHRoOjQ4cHh9aWNvbi1zbS1oLTQ4e2hlaWdodDo0OHB4O21heC13aWR0aDo0OHB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuaWNvbi1tZC00OHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH1pY29uLW1kLWgtNDh7aGVpZ2h0OjQ4cHg7bWF4LXdpZHRoOjQ4cHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5pY29uLWxnLTQ4e2hlaWdodDphdXRvO21heC1oZWlnaHQ6NDhweDt3aWR0aDo0OHB4fWljb24tbGctaC00OHtoZWlnaHQ6NDhweDttYXgtd2lkdGg6NDhweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5pY29uLXhsLTQ4e2hlaWdodDphdXRvO21heC1oZWlnaHQ6NDhweDt3aWR0aDo0OHB4fWljb24teGwtaC00OHtoZWlnaHQ6NDhweDttYXgtd2lkdGg6NDhweDt3aWR0aDphdXRvfX0uaWNvbi1oLTQ4e2hlaWdodDo0OHB4O21heC13aWR0aDo0OHB4O3dpZHRoOmF1dG99Lmljb24tNTZ7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo1NnB4O3dpZHRoOjU2cHh9aWNvbi1oLTU2e2hlaWdodDo1NnB4O21heC13aWR0aDo1NnB4O3dpZHRoOmF1dG99QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5pY29uLXNtLTU2e2hlaWdodDphdXRvO21heC1oZWlnaHQ6NTZweDt3aWR0aDo1NnB4fWljb24tc20taC01NntoZWlnaHQ6NTZweDttYXgtd2lkdGg6NTZweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lmljb24tbWQtNTZ7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo1NnB4O3dpZHRoOjU2cHh9aWNvbi1tZC1oLTU2e2hlaWdodDo1NnB4O21heC13aWR0aDo1NnB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuaWNvbi1sZy01NntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjU2cHg7d2lkdGg6NTZweH1pY29uLWxnLWgtNTZ7aGVpZ2h0OjU2cHg7bWF4LXdpZHRoOjU2cHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuaWNvbi14bC01NntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjU2cHg7d2lkdGg6NTZweH1pY29uLXhsLWgtNTZ7aGVpZ2h0OjU2cHg7bWF4LXdpZHRoOjU2cHg7d2lkdGg6YXV0b319Lmljb24taC01NntoZWlnaHQ6NTZweDttYXgtd2lkdGg6NTZweDt3aWR0aDphdXRvfS5pY29uLTY0e2hlaWdodDphdXRvO21heC1oZWlnaHQ6NjRweDt3aWR0aDo2NHB4fWljb24taC02NHtoZWlnaHQ6NjRweDttYXgtd2lkdGg6NjRweDt3aWR0aDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuaWNvbi1zbS02NHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjY0cHg7d2lkdGg6NjRweH1pY29uLXNtLWgtNjR7aGVpZ2h0OjY0cHg7bWF4LXdpZHRoOjY0cHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5pY29uLW1kLTY0e2hlaWdodDphdXRvO21heC1oZWlnaHQ6NjRweDt3aWR0aDo2NHB4fWljb24tbWQtaC02NHtoZWlnaHQ6NjRweDttYXgtd2lkdGg6NjRweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lmljb24tbGctNjR7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo2NHB4O3dpZHRoOjY0cHh9aWNvbi1sZy1oLTY0e2hlaWdodDo2NHB4O21heC13aWR0aDo2NHB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7Lmljb24teGwtNjR7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo2NHB4O3dpZHRoOjY0cHh9aWNvbi14bC1oLTY0e2hlaWdodDo2NHB4O21heC13aWR0aDo2NHB4O3dpZHRoOmF1dG99fS5pY29uLWgtNjR7aGVpZ2h0OjY0cHg7bWF4LXdpZHRoOjY0cHg7d2lkdGg6YXV0b30uaWNvbi03MntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjcycHg7d2lkdGg6NzJweH1pY29uLWgtNzJ7aGVpZ2h0OjcycHg7bWF4LXdpZHRoOjcycHg7d2lkdGg6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lmljb24tc20tNzJ7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo3MnB4O3dpZHRoOjcycHh9aWNvbi1zbS1oLTcye2hlaWdodDo3MnB4O21heC13aWR0aDo3MnB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuaWNvbi1tZC03MntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjcycHg7d2lkdGg6NzJweH1pY29uLW1kLWgtNzJ7aGVpZ2h0OjcycHg7bWF4LXdpZHRoOjcycHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5pY29uLWxnLTcye2hlaWdodDphdXRvO21heC1oZWlnaHQ6NzJweDt3aWR0aDo3MnB4fWljb24tbGctaC03MntoZWlnaHQ6NzJweDttYXgtd2lkdGg6NzJweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5pY29uLXhsLTcye2hlaWdodDphdXRvO21heC1oZWlnaHQ6NzJweDt3aWR0aDo3MnB4fWljb24teGwtaC03MntoZWlnaHQ6NzJweDttYXgtd2lkdGg6NzJweDt3aWR0aDphdXRvfX0uaWNvbi1oLTcye2hlaWdodDo3MnB4O21heC13aWR0aDo3MnB4O3dpZHRoOmF1dG99Lmljb24tODB7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo4MHB4O3dpZHRoOjgwcHh9aWNvbi1oLTgwe2hlaWdodDo4MHB4O21heC13aWR0aDo4MHB4O3dpZHRoOmF1dG99QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5pY29uLXNtLTgwe2hlaWdodDphdXRvO21heC1oZWlnaHQ6ODBweDt3aWR0aDo4MHB4fWljb24tc20taC04MHtoZWlnaHQ6ODBweDttYXgtd2lkdGg6ODBweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lmljb24tbWQtODB7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo4MHB4O3dpZHRoOjgwcHh9aWNvbi1tZC1oLTgwe2hlaWdodDo4MHB4O21heC13aWR0aDo4MHB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuaWNvbi1sZy04MHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjgwcHg7d2lkdGg6ODBweH1pY29uLWxnLWgtODB7aGVpZ2h0OjgwcHg7bWF4LXdpZHRoOjgwcHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuaWNvbi14bC04MHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjgwcHg7d2lkdGg6ODBweH1pY29uLXhsLWgtODB7aGVpZ2h0OjgwcHg7bWF4LXdpZHRoOjgwcHg7d2lkdGg6YXV0b319Lmljb24taC04MHtoZWlnaHQ6ODBweDttYXgtd2lkdGg6ODBweDt3aWR0aDphdXRvfS5pY29uLTg4e2hlaWdodDphdXRvO21heC1oZWlnaHQ6ODhweDt3aWR0aDo4OHB4fWljb24taC04OHtoZWlnaHQ6ODhweDttYXgtd2lkdGg6ODhweDt3aWR0aDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuaWNvbi1zbS04OHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0Ojg4cHg7d2lkdGg6ODhweH1pY29uLXNtLWgtODh7aGVpZ2h0Ojg4cHg7bWF4LXdpZHRoOjg4cHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5pY29uLW1kLTg4e2hlaWdodDphdXRvO21heC1oZWlnaHQ6ODhweDt3aWR0aDo4OHB4fWljb24tbWQtaC04OHtoZWlnaHQ6ODhweDttYXgtd2lkdGg6ODhweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lmljb24tbGctODh7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo4OHB4O3dpZHRoOjg4cHh9aWNvbi1sZy1oLTg4e2hlaWdodDo4OHB4O21heC13aWR0aDo4OHB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7Lmljb24teGwtODh7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo4OHB4O3dpZHRoOjg4cHh9aWNvbi14bC1oLTg4e2hlaWdodDo4OHB4O21heC13aWR0aDo4OHB4O3dpZHRoOmF1dG99fS5pY29uLWgtODh7aGVpZ2h0Ojg4cHg7bWF4LXdpZHRoOjg4cHg7d2lkdGg6YXV0b30uaWNvbi05NntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0Ojk2cHg7d2lkdGg6OTZweH1pY29uLWgtOTZ7aGVpZ2h0Ojk2cHg7bWF4LXdpZHRoOjk2cHg7d2lkdGg6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lmljb24tc20tOTZ7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDo5NnB4O3dpZHRoOjk2cHh9aWNvbi1zbS1oLTk2e2hlaWdodDo5NnB4O21heC13aWR0aDo5NnB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuaWNvbi1tZC05NntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0Ojk2cHg7d2lkdGg6OTZweH1pY29uLW1kLWgtOTZ7aGVpZ2h0Ojk2cHg7bWF4LXdpZHRoOjk2cHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5pY29uLWxnLTk2e2hlaWdodDphdXRvO21heC1oZWlnaHQ6OTZweDt3aWR0aDo5NnB4fWljb24tbGctaC05NntoZWlnaHQ6OTZweDttYXgtd2lkdGg6OTZweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5pY29uLXhsLTk2e2hlaWdodDphdXRvO21heC1oZWlnaHQ6OTZweDt3aWR0aDo5NnB4fWljb24teGwtaC05NntoZWlnaHQ6OTZweDttYXgtd2lkdGg6OTZweDt3aWR0aDphdXRvfX0uaWNvbi1oLTk2e2hlaWdodDo5NnB4O21heC13aWR0aDo5NnB4O3dpZHRoOmF1dG99Lmljb24tMTA0e2hlaWdodDphdXRvO21heC1oZWlnaHQ6MTA0cHg7d2lkdGg6MTA0cHh9aWNvbi1oLTEwNHtoZWlnaHQ6MTA0cHg7bWF4LXdpZHRoOjEwNHB4O3dpZHRoOmF1dG99QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5pY29uLXNtLTEwNHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjEwNHB4O3dpZHRoOjEwNHB4fWljb24tc20taC0xMDR7aGVpZ2h0OjEwNHB4O21heC13aWR0aDoxMDRweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lmljb24tbWQtMTA0e2hlaWdodDphdXRvO21heC1oZWlnaHQ6MTA0cHg7d2lkdGg6MTA0cHh9aWNvbi1tZC1oLTEwNHtoZWlnaHQ6MTA0cHg7bWF4LXdpZHRoOjEwNHB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuaWNvbi1sZy0xMDR7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDoxMDRweDt3aWR0aDoxMDRweH1pY29uLWxnLWgtMTA0e2hlaWdodDoxMDRweDttYXgtd2lkdGg6MTA0cHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuaWNvbi14bC0xMDR7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDoxMDRweDt3aWR0aDoxMDRweH1pY29uLXhsLWgtMTA0e2hlaWdodDoxMDRweDttYXgtd2lkdGg6MTA0cHg7d2lkdGg6YXV0b319Lmljb24taC0xMDR7aGVpZ2h0OjEwNHB4O21heC13aWR0aDoxMDRweDt3aWR0aDphdXRvfS5pY29uLTExMntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fWljb24taC0xMTJ7aGVpZ2h0OjExMnB4O21heC13aWR0aDoxMTJweDt3aWR0aDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuaWNvbi1zbS0xMTJ7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDoxMTJweDt3aWR0aDoxMTJweH1pY29uLXNtLWgtMTEye2hlaWdodDoxMTJweDttYXgtd2lkdGg6MTEycHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5pY29uLW1kLTExMntoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fWljb24tbWQtaC0xMTJ7aGVpZ2h0OjExMnB4O21heC13aWR0aDoxMTJweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lmljb24tbGctMTEye2hlaWdodDphdXRvO21heC1oZWlnaHQ6MTEycHg7d2lkdGg6MTEycHh9aWNvbi1sZy1oLTExMntoZWlnaHQ6MTEycHg7bWF4LXdpZHRoOjExMnB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7Lmljb24teGwtMTEye2hlaWdodDphdXRvO21heC1oZWlnaHQ6MTEycHg7d2lkdGg6MTEycHh9aWNvbi14bC1oLTExMntoZWlnaHQ6MTEycHg7bWF4LXdpZHRoOjExMnB4O3dpZHRoOmF1dG99fS5pY29uLWgtMTEye2hlaWdodDoxMTJweDttYXgtd2lkdGg6MTEycHg7d2lkdGg6YXV0b30uaWNvbi0xMjB7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDoxMjBweDt3aWR0aDoxMjBweH1pY29uLWgtMTIwe2hlaWdodDoxMjBweDttYXgtd2lkdGg6MTIwcHg7d2lkdGg6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lmljb24tc20tMTIwe2hlaWdodDphdXRvO21heC1oZWlnaHQ6MTIwcHg7d2lkdGg6MTIwcHh9aWNvbi1zbS1oLTEyMHtoZWlnaHQ6MTIwcHg7bWF4LXdpZHRoOjEyMHB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuaWNvbi1tZC0xMjB7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDoxMjBweDt3aWR0aDoxMjBweH1pY29uLW1kLWgtMTIwe2hlaWdodDoxMjBweDttYXgtd2lkdGg6MTIwcHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5pY29uLWxnLTEyMHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjEyMHB4O3dpZHRoOjEyMHB4fWljb24tbGctaC0xMjB7aGVpZ2h0OjEyMHB4O21heC13aWR0aDoxMjBweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5pY29uLXhsLTEyMHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjEyMHB4O3dpZHRoOjEyMHB4fWljb24teGwtaC0xMjB7aGVpZ2h0OjEyMHB4O21heC13aWR0aDoxMjBweDt3aWR0aDphdXRvfX0uaWNvbi1oLTEyMHtoZWlnaHQ6MTIwcHg7bWF4LXdpZHRoOjEyMHB4O3dpZHRoOmF1dG99Lmljb24tMTI4e2hlaWdodDphdXRvO21heC1oZWlnaHQ6MTI4cHg7d2lkdGg6MTI4cHh9aWNvbi1oLTEyOHtoZWlnaHQ6MTI4cHg7bWF4LXdpZHRoOjEyOHB4O3dpZHRoOmF1dG99QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5pY29uLXNtLTEyOHtoZWlnaHQ6YXV0bzttYXgtaGVpZ2h0OjEyOHB4O3dpZHRoOjEyOHB4fWljb24tc20taC0xMjh7aGVpZ2h0OjEyOHB4O21heC13aWR0aDoxMjhweDt3aWR0aDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lmljb24tbWQtMTI4e2hlaWdodDphdXRvO21heC1oZWlnaHQ6MTI4cHg7d2lkdGg6MTI4cHh9aWNvbi1tZC1oLTEyOHtoZWlnaHQ6MTI4cHg7bWF4LXdpZHRoOjEyOHB4O3dpZHRoOmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuaWNvbi1sZy0xMjh7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDoxMjhweDt3aWR0aDoxMjhweH1pY29uLWxnLWgtMTI4e2hlaWdodDoxMjhweDttYXgtd2lkdGg6MTI4cHg7d2lkdGg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuaWNvbi14bC0xMjh7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDoxMjhweDt3aWR0aDoxMjhweH1pY29uLXhsLWgtMTI4e2hlaWdodDoxMjhweDttYXgtd2lkdGg6MTI4cHg7d2lkdGg6YXV0b319Lmljb24taC0xMjh7aGVpZ2h0OjEyOHB4O21heC13aWR0aDoxMjhweDt3aWR0aDphdXRvfS5oZWlnaHQtMTZ7aGVpZ2h0OjE2cHh9LndpZHRoLTE2e3dpZHRoOjE2cHh9Lm1heC1oZWlnaHQtMTZ7bWF4LWhlaWdodDoxNnB4fS5taW4taGVpZ2h0LTE2e21pbi1oZWlnaHQ6MTZweH0ubWF4LXdpZHRoLTE2e21heC13aWR0aDoxNnB4fS5taW4td2lkdGgtMTZ7bWluLXdpZHRoOjE2cHh9LmhlaWdodC0zMntoZWlnaHQ6MzJweH0ud2lkdGgtMzJ7d2lkdGg6MzJweH0ubWF4LWhlaWdodC0zMnttYXgtaGVpZ2h0OjMycHh9Lm1pbi1oZWlnaHQtMzJ7bWluLWhlaWdodDozMnB4fS5tYXgtd2lkdGgtMzJ7bWF4LXdpZHRoOjMycHh9Lm1pbi13aWR0aC0zMnttaW4td2lkdGg6MzJweH0uaGVpZ2h0LTQ4e2hlaWdodDo0OHB4fS53aWR0aC00OHt3aWR0aDo0OHB4fS5tYXgtaGVpZ2h0LTQ4e21heC1oZWlnaHQ6NDhweH0ubWluLWhlaWdodC00OHttaW4taGVpZ2h0OjQ4cHh9Lm1heC13aWR0aC00OHttYXgtd2lkdGg6NDhweH0ubWluLXdpZHRoLTQ4e21pbi13aWR0aDo0OHB4fS5oZWlnaHQtNjR7aGVpZ2h0OjY0cHh9LndpZHRoLTY0e3dpZHRoOjY0cHh9Lm1heC1oZWlnaHQtNjR7bWF4LWhlaWdodDo2NHB4fS5taW4taGVpZ2h0LTY0e21pbi1oZWlnaHQ6NjRweH0ubWF4LXdpZHRoLTY0e21heC13aWR0aDo2NHB4fS5taW4td2lkdGgtNjR7bWluLXdpZHRoOjY0cHh9LmhlaWdodC04MHtoZWlnaHQ6ODBweH0ud2lkdGgtODB7d2lkdGg6ODBweH0ubWF4LWhlaWdodC04MHttYXgtaGVpZ2h0OjgwcHh9Lm1pbi1oZWlnaHQtODB7bWluLWhlaWdodDo4MHB4fS5tYXgtd2lkdGgtODB7bWF4LXdpZHRoOjgwcHh9Lm1pbi13aWR0aC04MHttaW4td2lkdGg6ODBweH0uaGVpZ2h0LTk2e2hlaWdodDo5NnB4fS53aWR0aC05Nnt3aWR0aDo5NnB4fS5tYXgtaGVpZ2h0LTk2e21heC1oZWlnaHQ6OTZweH0ubWluLWhlaWdodC05NnttaW4taGVpZ2h0Ojk2cHh9Lm1heC13aWR0aC05NnttYXgtd2lkdGg6OTZweH0ubWluLXdpZHRoLTk2e21pbi13aWR0aDo5NnB4fS5oZWlnaHQtMTEye2hlaWdodDoxMTJweH0ud2lkdGgtMTEye3dpZHRoOjExMnB4fS5tYXgtaGVpZ2h0LTExMnttYXgtaGVpZ2h0OjExMnB4fS5taW4taGVpZ2h0LTExMnttaW4taGVpZ2h0OjExMnB4fS5tYXgtd2lkdGgtMTEye21heC13aWR0aDoxMTJweH0ubWluLXdpZHRoLTExMnttaW4td2lkdGg6MTEycHh9LmhlaWdodC0xMjh7aGVpZ2h0OjEyOHB4fS53aWR0aC0xMjh7d2lkdGg6MTI4cHh9Lm1heC1oZWlnaHQtMTI4e21heC1oZWlnaHQ6MTI4cHh9Lm1pbi1oZWlnaHQtMTI4e21pbi1oZWlnaHQ6MTI4cHh9Lm1heC13aWR0aC0xMjh7bWF4LXdpZHRoOjEyOHB4fS5taW4td2lkdGgtMTI4e21pbi13aWR0aDoxMjhweH0uaGVpZ2h0LTE0NHtoZWlnaHQ6MTQ0cHh9LndpZHRoLTE0NHt3aWR0aDoxNDRweH0ubWF4LWhlaWdodC0xNDR7bWF4LWhlaWdodDoxNDRweH0ubWluLWhlaWdodC0xNDR7bWluLWhlaWdodDoxNDRweH0ubWF4LXdpZHRoLTE0NHttYXgtd2lkdGg6MTQ0cHh9Lm1pbi13aWR0aC0xNDR7bWluLXdpZHRoOjE0NHB4fS5oZWlnaHQtMTYwe2hlaWdodDoxNjBweH0ud2lkdGgtMTYwe3dpZHRoOjE2MHB4fS5tYXgtaGVpZ2h0LTE2MHttYXgtaGVpZ2h0OjE2MHB4fS5taW4taGVpZ2h0LTE2MHttaW4taGVpZ2h0OjE2MHB4fS5tYXgtd2lkdGgtMTYwe21heC13aWR0aDoxNjBweH0ubWluLXdpZHRoLTE2MHttaW4td2lkdGg6MTYwcHh9LmhlaWdodC0xNzZ7aGVpZ2h0OjE3NnB4fS53aWR0aC0xNzZ7d2lkdGg6MTc2cHh9Lm1heC1oZWlnaHQtMTc2e21heC1oZWlnaHQ6MTc2cHh9Lm1pbi1oZWlnaHQtMTc2e21pbi1oZWlnaHQ6MTc2cHh9Lm1heC13aWR0aC0xNzZ7bWF4LXdpZHRoOjE3NnB4fS5taW4td2lkdGgtMTc2e21pbi13aWR0aDoxNzZweH0uaGVpZ2h0LTE5MntoZWlnaHQ6MTkycHh9LndpZHRoLTE5Mnt3aWR0aDoxOTJweH0ubWF4LWhlaWdodC0xOTJ7bWF4LWhlaWdodDoxOTJweH0ubWluLWhlaWdodC0xOTJ7bWluLWhlaWdodDoxOTJweH0ubWF4LXdpZHRoLTE5MnttYXgtd2lkdGg6MTkycHh9Lm1pbi13aWR0aC0xOTJ7bWluLXdpZHRoOjE5MnB4fS5oZWlnaHQtMjA4e2hlaWdodDoyMDhweH0ud2lkdGgtMjA4e3dpZHRoOjIwOHB4fS5tYXgtaGVpZ2h0LTIwOHttYXgtaGVpZ2h0OjIwOHB4fS5taW4taGVpZ2h0LTIwOHttaW4taGVpZ2h0OjIwOHB4fS5tYXgtd2lkdGgtMjA4e21heC13aWR0aDoyMDhweH0ubWluLXdpZHRoLTIwOHttaW4td2lkdGg6MjA4cHh9LmhlaWdodC0yMjR7aGVpZ2h0OjIyNHB4fS53aWR0aC0yMjR7d2lkdGg6MjI0cHh9Lm1heC1oZWlnaHQtMjI0e21heC1oZWlnaHQ6MjI0cHh9Lm1pbi1oZWlnaHQtMjI0e21pbi1oZWlnaHQ6MjI0cHh9Lm1heC13aWR0aC0yMjR7bWF4LXdpZHRoOjIyNHB4fS5taW4td2lkdGgtMjI0e21pbi13aWR0aDoyMjRweH0uaGVpZ2h0LTI0MHtoZWlnaHQ6MjQwcHh9LndpZHRoLTI0MHt3aWR0aDoyNDBweH0ubWF4LWhlaWdodC0yNDB7bWF4LWhlaWdodDoyNDBweH0ubWluLWhlaWdodC0yNDB7bWluLWhlaWdodDoyNDBweH0ubWF4LXdpZHRoLTI0MHttYXgtd2lkdGg6MjQwcHh9Lm1pbi13aWR0aC0yNDB7bWluLXdpZHRoOjI0MHB4fS5oZWlnaHQtMjU2e2hlaWdodDoyNTZweH0ud2lkdGgtMjU2e3dpZHRoOjI1NnB4fS5tYXgtaGVpZ2h0LTI1NnttYXgtaGVpZ2h0OjI1NnB4fS5taW4taGVpZ2h0LTI1NnttaW4taGVpZ2h0OjI1NnB4fS5tYXgtd2lkdGgtMjU2e21heC13aWR0aDoyNTZweH0ubWluLXdpZHRoLTI1NnttaW4td2lkdGg6MjU2cHh9LmhlaWdodC0yNzJ7aGVpZ2h0OjI3MnB4fS53aWR0aC0yNzJ7d2lkdGg6MjcycHh9Lm1heC1oZWlnaHQtMjcye21heC1oZWlnaHQ6MjcycHh9Lm1pbi1oZWlnaHQtMjcye21pbi1oZWlnaHQ6MjcycHh9Lm1heC13aWR0aC0yNzJ7bWF4LXdpZHRoOjI3MnB4fS5taW4td2lkdGgtMjcye21pbi13aWR0aDoyNzJweH0uaGVpZ2h0LTI4OHtoZWlnaHQ6Mjg4cHh9LndpZHRoLTI4OHt3aWR0aDoyODhweH0ubWF4LWhlaWdodC0yODh7bWF4LWhlaWdodDoyODhweH0ubWluLWhlaWdodC0yODh7bWluLWhlaWdodDoyODhweH0ubWF4LXdpZHRoLTI4OHttYXgtd2lkdGg6Mjg4cHh9Lm1pbi13aWR0aC0yODh7bWluLXdpZHRoOjI4OHB4fS5oZWlnaHQtMzA0e2hlaWdodDozMDRweH0ud2lkdGgtMzA0e3dpZHRoOjMwNHB4fS5tYXgtaGVpZ2h0LTMwNHttYXgtaGVpZ2h0OjMwNHB4fS5taW4taGVpZ2h0LTMwNHttaW4taGVpZ2h0OjMwNHB4fS5tYXgtd2lkdGgtMzA0e21heC13aWR0aDozMDRweH0ubWluLXdpZHRoLTMwNHttaW4td2lkdGg6MzA0cHh9LmhlaWdodC0zMjB7aGVpZ2h0OjMyMHB4fS53aWR0aC0zMjB7d2lkdGg6MzIwcHh9Lm1heC1oZWlnaHQtMzIwe21heC1oZWlnaHQ6MzIwcHh9Lm1pbi1oZWlnaHQtMzIwe21pbi1oZWlnaHQ6MzIwcHh9Lm1heC13aWR0aC0zMjB7bWF4LXdpZHRoOjMyMHB4fS5taW4td2lkdGgtMzIwe21pbi13aWR0aDozMjBweH0uaGVpZ2h0LTMzNntoZWlnaHQ6MzM2cHh9LndpZHRoLTMzNnt3aWR0aDozMzZweH0ubWF4LWhlaWdodC0zMzZ7bWF4LWhlaWdodDozMzZweH0ubWluLWhlaWdodC0zMzZ7bWluLWhlaWdodDozMzZweH0ubWF4LXdpZHRoLTMzNnttYXgtd2lkdGg6MzM2cHh9Lm1pbi13aWR0aC0zMzZ7bWluLXdpZHRoOjMzNnB4fS5oZWlnaHQtMzUye2hlaWdodDozNTJweH0ud2lkdGgtMzUye3dpZHRoOjM1MnB4fS5tYXgtaGVpZ2h0LTM1MnttYXgtaGVpZ2h0OjM1MnB4fS5taW4taGVpZ2h0LTM1MnttaW4taGVpZ2h0OjM1MnB4fS5tYXgtd2lkdGgtMzUye21heC13aWR0aDozNTJweH0ubWluLXdpZHRoLTM1MnttaW4td2lkdGg6MzUycHh9LmhlaWdodC0zNjh7aGVpZ2h0OjM2OHB4fS53aWR0aC0zNjh7d2lkdGg6MzY4cHh9Lm1heC1oZWlnaHQtMzY4e21heC1oZWlnaHQ6MzY4cHh9Lm1pbi1oZWlnaHQtMzY4e21pbi1oZWlnaHQ6MzY4cHh9Lm1heC13aWR0aC0zNjh7bWF4LXdpZHRoOjM2OHB4fS5taW4td2lkdGgtMzY4e21pbi13aWR0aDozNjhweH0uaGVpZ2h0LTM4NHtoZWlnaHQ6Mzg0cHh9LndpZHRoLTM4NHt3aWR0aDozODRweH0ubWF4LWhlaWdodC0zODR7bWF4LWhlaWdodDozODRweH0ubWluLWhlaWdodC0zODR7bWluLWhlaWdodDozODRweH0ubWF4LXdpZHRoLTM4NHttYXgtd2lkdGg6Mzg0cHh9Lm1pbi13aWR0aC0zODR7bWluLXdpZHRoOjM4NHB4fS5oZWlnaHQtNDAwe2hlaWdodDo0MDBweH0ud2lkdGgtNDAwe3dpZHRoOjQwMHB4fS5tYXgtaGVpZ2h0LTQwMHttYXgtaGVpZ2h0OjQwMHB4fS5taW4taGVpZ2h0LTQwMHttaW4taGVpZ2h0OjQwMHB4fS5tYXgtd2lkdGgtNDAwe21heC13aWR0aDo0MDBweH0ubWluLXdpZHRoLTQwMHttaW4td2lkdGg6NDAwcHh9LmhlaWdodC00MTZ7aGVpZ2h0OjQxNnB4fS53aWR0aC00MTZ7d2lkdGg6NDE2cHh9Lm1heC1oZWlnaHQtNDE2e21heC1oZWlnaHQ6NDE2cHh9Lm1pbi1oZWlnaHQtNDE2e21pbi1oZWlnaHQ6NDE2cHh9Lm1heC13aWR0aC00MTZ7bWF4LXdpZHRoOjQxNnB4fS5taW4td2lkdGgtNDE2e21pbi13aWR0aDo0MTZweH0uaGVpZ2h0LTQzMntoZWlnaHQ6NDMycHh9LndpZHRoLTQzMnt3aWR0aDo0MzJweH0ubWF4LWhlaWdodC00MzJ7bWF4LWhlaWdodDo0MzJweH0ubWluLWhlaWdodC00MzJ7bWluLWhlaWdodDo0MzJweH0ubWF4LXdpZHRoLTQzMnttYXgtd2lkdGg6NDMycHh9Lm1pbi13aWR0aC00MzJ7bWluLXdpZHRoOjQzMnB4fS5oZWlnaHQtNDQ4e2hlaWdodDo0NDhweH0ud2lkdGgtNDQ4e3dpZHRoOjQ0OHB4fS5tYXgtaGVpZ2h0LTQ0OHttYXgtaGVpZ2h0OjQ0OHB4fS5taW4taGVpZ2h0LTQ0OHttaW4taGVpZ2h0OjQ0OHB4fS5tYXgtd2lkdGgtNDQ4e21heC13aWR0aDo0NDhweH0ubWluLXdpZHRoLTQ0OHttaW4td2lkdGg6NDQ4cHh9LmhlaWdodC00NjR7aGVpZ2h0OjQ2NHB4fS53aWR0aC00NjR7d2lkdGg6NDY0cHh9Lm1heC1oZWlnaHQtNDY0e21heC1oZWlnaHQ6NDY0cHh9Lm1pbi1oZWlnaHQtNDY0e21pbi1oZWlnaHQ6NDY0cHh9Lm1heC13aWR0aC00NjR7bWF4LXdpZHRoOjQ2NHB4fS5taW4td2lkdGgtNDY0e21pbi13aWR0aDo0NjRweH0uaGVpZ2h0LTQ4MHtoZWlnaHQ6NDgwcHh9LndpZHRoLTQ4MHt3aWR0aDo0ODBweH0ubWF4LWhlaWdodC00ODB7bWF4LWhlaWdodDo0ODBweH0ubWluLWhlaWdodC00ODB7bWluLWhlaWdodDo0ODBweH0ubWF4LXdpZHRoLTQ4MHttYXgtd2lkdGg6NDgwcHh9Lm1pbi13aWR0aC00ODB7bWluLXdpZHRoOjQ4MHB4fS5oZWlnaHQtNDk2e2hlaWdodDo0OTZweH0ud2lkdGgtNDk2e3dpZHRoOjQ5NnB4fS5tYXgtaGVpZ2h0LTQ5NnttYXgtaGVpZ2h0OjQ5NnB4fS5taW4taGVpZ2h0LTQ5NnttaW4taGVpZ2h0OjQ5NnB4fS5tYXgtd2lkdGgtNDk2e21heC13aWR0aDo0OTZweH0ubWluLXdpZHRoLTQ5NnttaW4td2lkdGg6NDk2cHh9LmhlaWdodC01MTJ7aGVpZ2h0OjUxMnB4fS53aWR0aC01MTJ7d2lkdGg6NTEycHh9Lm1heC1oZWlnaHQtNTEye21heC1oZWlnaHQ6NTEycHh9Lm1pbi1oZWlnaHQtNTEye21pbi1oZWlnaHQ6NTEycHh9Lm1heC13aWR0aC01MTJ7bWF4LXdpZHRoOjUxMnB4fS5taW4td2lkdGgtNTEye21pbi13aWR0aDo1MTJweH0uaGVpZ2h0LTUyOHtoZWlnaHQ6NTI4cHh9LndpZHRoLTUyOHt3aWR0aDo1MjhweH0ubWF4LWhlaWdodC01Mjh7bWF4LWhlaWdodDo1MjhweH0ubWluLWhlaWdodC01Mjh7bWluLWhlaWdodDo1MjhweH0ubWF4LXdpZHRoLTUyOHttYXgtd2lkdGg6NTI4cHh9Lm1pbi13aWR0aC01Mjh7bWluLXdpZHRoOjUyOHB4fS5oZWlnaHQtNTQ0e2hlaWdodDo1NDRweH0ud2lkdGgtNTQ0e3dpZHRoOjU0NHB4fS5tYXgtaGVpZ2h0LTU0NHttYXgtaGVpZ2h0OjU0NHB4fS5taW4taGVpZ2h0LTU0NHttaW4taGVpZ2h0OjU0NHB4fS5tYXgtd2lkdGgtNTQ0e21heC13aWR0aDo1NDRweH0ubWluLXdpZHRoLTU0NHttaW4td2lkdGg6NTQ0cHh9LmhlaWdodC01NjB7aGVpZ2h0OjU2MHB4fS53aWR0aC01NjB7d2lkdGg6NTYwcHh9Lm1heC1oZWlnaHQtNTYwe21heC1oZWlnaHQ6NTYwcHh9Lm1pbi1oZWlnaHQtNTYwe21pbi1oZWlnaHQ6NTYwcHh9Lm1heC13aWR0aC01NjB7bWF4LXdpZHRoOjU2MHB4fS5taW4td2lkdGgtNTYwe21pbi13aWR0aDo1NjBweH0uaGVpZ2h0LTU3NntoZWlnaHQ6NTc2cHh9LndpZHRoLTU3Nnt3aWR0aDo1NzZweH0ubWF4LWhlaWdodC01NzZ7bWF4LWhlaWdodDo1NzZweH0ubWluLWhlaWdodC01NzZ7bWluLWhlaWdodDo1NzZweH0ubWF4LXdpZHRoLTU3NnttYXgtd2lkdGg6NTc2cHh9Lm1pbi13aWR0aC01NzZ7bWluLXdpZHRoOjU3NnB4fS5oZWlnaHQtNTkye2hlaWdodDo1OTJweH0ud2lkdGgtNTkye3dpZHRoOjU5MnB4fS5tYXgtaGVpZ2h0LTU5MnttYXgtaGVpZ2h0OjU5MnB4fS5taW4taGVpZ2h0LTU5MnttaW4taGVpZ2h0OjU5MnB4fS5tYXgtd2lkdGgtNTkye21heC13aWR0aDo1OTJweH0ubWluLXdpZHRoLTU5MnttaW4td2lkdGg6NTkycHh9LmhlaWdodC02MDh7aGVpZ2h0OjYwOHB4fS53aWR0aC02MDh7d2lkdGg6NjA4cHh9Lm1heC1oZWlnaHQtNjA4e21heC1oZWlnaHQ6NjA4cHh9Lm1pbi1oZWlnaHQtNjA4e21pbi1oZWlnaHQ6NjA4cHh9Lm1heC13aWR0aC02MDh7bWF4LXdpZHRoOjYwOHB4fS5taW4td2lkdGgtNjA4e21pbi13aWR0aDo2MDhweH0uaGVpZ2h0LTYyNHtoZWlnaHQ6NjI0cHh9LndpZHRoLTYyNHt3aWR0aDo2MjRweH0ubWF4LWhlaWdodC02MjR7bWF4LWhlaWdodDo2MjRweH0ubWluLWhlaWdodC02MjR7bWluLWhlaWdodDo2MjRweH0ubWF4LXdpZHRoLTYyNHttYXgtd2lkdGg6NjI0cHh9Lm1pbi13aWR0aC02MjR7bWluLXdpZHRoOjYyNHB4fS5oZWlnaHQtNjQwe2hlaWdodDo2NDBweH0ud2lkdGgtNjQwe3dpZHRoOjY0MHB4fS5tYXgtaGVpZ2h0LTY0MHttYXgtaGVpZ2h0OjY0MHB4fS5taW4taGVpZ2h0LTY0MHttaW4taGVpZ2h0OjY0MHB4fS5tYXgtd2lkdGgtNjQwe21heC13aWR0aDo2NDBweH0ubWluLXdpZHRoLTY0MHttaW4td2lkdGg6NjQwcHh9QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5oZWlnaHQtbGctMTAwe2hlaWdodDoxMDB2aH0uaGVpZ2h0LWxnLTEwODBwe2hlaWdodDoxMDgwcHh9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoyMDAwcHgpey5oZWlnaHQtbGctMTA4MHB7aGVpZ2h0OjIwNDhweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5oZWlnaHQtbGctdmlld3BvcnR7aGVpZ2h0OmNhbGMoMTAwdmggLSAxMzhweCl9fS5waWxscy1kYW5nZXIgLm5hdi1saW5rLC5waWxscy1kYW5nZXIgLm5hdi1waWxscyAuc2hvdz4ubmF2LWxpbmt7YmFja2dyb3VuZC1jb2xvcjojZjNmM2YzO2NvbG9yOiMwMDB9LnBpbGxzLWRhbmdlciAubmF2LWxpbmsuYWN0aXZlLC5waWxscy1kYW5nZXIgLm5hdi1waWxscyAuc2hvdz4ubmF2LWxpbmt7YmFja2dyb3VuZC1jb2xvcjojYzAwO2NvbG9yOiNmZmZ9LnBpbGxzLWluZm8gLm5hdi1saW5rLC5waWxscy1pbmZvIC5uYXYtcGlsbHMgLnNob3c+Lm5hdi1saW5re2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6IzEyODc4NX0ucGlsbHMtaW5mbyAubmF2LWxpbmsuYWN0aXZlLC5waWxscy1pbmZvIC5uYXYtcGlsbHMgLnNob3c+Lm5hdi1saW5re2JhY2tncm91bmQtY29sb3I6IzEyODc4NTtjb2xvcjojZmZmfS5waWxscy1ib3JkZXJlZC1kYW5nZXIgLm5hdi1saW5rLC5waWxscy1ib3JkZXJlZC1kYW5nZXIgLm5hdi1waWxscyAuc2hvdz4ubmF2LWxpbmt7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojYWNhY2FjfS5waWxscy1ib3JkZXJlZC1kYW5nZXIgLm5hdi1saW5rOmhvdmVyLC5waWxscy1ib3JkZXJlZC1kYW5nZXIgLm5hdi1waWxscyAuc2hvdz4ubmF2LWxpbms6aG92ZXJ7Y29sb3I6I2MwMH0ucGlsbHMtYm9yZGVyZWQtZGFuZ2VyIC5uYXYtbGluay5hY3RpdmUsLnBpbGxzLWJvcmRlcmVkLWRhbmdlciAubmF2LXBpbGxzIC5zaG93Pi5uYXYtbGlua3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgI2MwMDtib3JkZXItcmFkaXVzOjA7Y29sb3I6IzMwMzAzMH0ucGlsbHMtYm9yZGVyZWQtZGFuZ2VyIC5uYXYtbGluay5hY3RpdmU6aG92ZXIsLnBpbGxzLWJvcmRlcmVkLWRhbmdlciAubmF2LXBpbGxzIC5zaG93Pi5uYXYtbGluazpob3Zlcntjb2xvcjojYzAwfS5uYXYtdGFicy1hcnJvdyAubmF2LWl0ZW0gLm5hdi1saW5re2JvcmRlci1ib3R0b206LjEyNXJlbSBzb2xpZCAjZTJlMmUyO2NvbG9yOiNlMmUyZTI7cG9zaXRpb246cmVsYXRpdmV9Lm5hdi10YWJzLWFycm93IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZle2JvcmRlci1jb2xvcjojYzAwO2NvbG9yOiMzMDMwMzB9Lm5hdi10YWJzLWFycm93IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZlOmFmdGVyLC5uYXYtdGFicy1hcnJvdyAubmF2LWl0ZW0gLm5hdi1saW5rLmFjdGl2ZTpiZWZvcmV7Ym9yZGVyOnNvbGlkIHRyYW5zcGFyZW50O2NvbnRlbnQ6IiAiO2hlaWdodDowO2xlZnQ6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7d2lkdGg6MH0ubmF2LXRhYnMtYXJyb3cgLm5hdi1pdGVtIC5uYXYtbGluay5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO2JvcmRlci13aWR0aDouNjI1cmVtO21hcmdpbi1sZWZ0Oi0uNjI1cmVtfS5uYXYtdGFicy1hcnJvdyAubmF2LWl0ZW0gLm5hdi1saW5rLmFjdGl2ZTpiZWZvcmV7Ym9yZGVyLXRvcC1jb2xvcjojYzAwO2JvcmRlci13aWR0aDouNzVyZW07bWFyZ2luLWxlZnQ6LS43NXJlbX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm5hdi10YWJzLWFycm93IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZlOmFmdGVye2JvcmRlci13aWR0aDouOTM3NXJlbTttYXJnaW4tbGVmdDotLjkzNzVyZW19Lm5hdi10YWJzLWFycm93IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZlOmJlZm9yZXtib3JkZXItd2lkdGg6MS4wNjI1cmVtO21hcmdpbi1sZWZ0Oi0xLjA2MjVyZW19fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2LXRhYnMtYXJyb3cgLm5hdi1pdGVtIC5uYXYtbGluay5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXdpZHRoOjEuMjVyZW07bWFyZ2luLWxlZnQ6LTEuMjVyZW19Lm5hdi10YWJzLWFycm93IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZlOmJlZm9yZXtib3JkZXItd2lkdGg6MS4zNzVyZW07bWFyZ2luLWxlZnQ6LTEuMzc1cmVtfX0uei1pbmRleC0xe3otaW5kZXg6MX0uei1pbmRleC0ye3otaW5kZXg6Mn0uei1pbmRleC0ze3otaW5kZXg6M30uei1pbmRleC00e3otaW5kZXg6NH0uei1pbmRleC01e3otaW5kZXg6NX0uei1pbmRleC02e3otaW5kZXg6Nn0uei1pbmRleC03e3otaW5kZXg6N30uei1pbmRleC04e3otaW5kZXg6OH0uei1pbmRleC05e3otaW5kZXg6OX0uei1pbmRleC0xMHt6LWluZGV4OjEwfS5tb3Jle2Rpc3BsYXk6bm9uZX0jbW9yZTpjaGVja2VkfiogLm1vcmV7ZGlzcGxheTp0YWJsZS1yb3d9Lm1vcmUtY29se21heC1oZWlnaHQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjouNXMgZWFzZS1pbjt6LWluZGV4Oi05OTl9I21vcmUtY29sOmNoZWNrZWR+KiAubW9yZS1jb2x7bWF4LWhlaWdodDo5OTlweDtvcGFjaXR5OjE7dHJhbnNpdGlvbjouNXMgZWFzZS1pbjt6LWluZGV4OjF9I21vcmUtY29sOmNoZWNrZWR+KiAubG9hZC1sZXNze2Rpc3BsYXk6YmxvY2t9I21vcmUtY29sOmNoZWNrZWR+KiAubG9hZC1tb3JlLC5sb2FkLWxlc3N7ZGlzcGxheTpub25lfSNtb3JlLWNvbDpjaGVja2VkfiogLmZhLWNoZXZyb24tZG93bnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmFjY29yZGlvbiBbYXJpYS1leHBhbmRlZD1zaG93XSAuZmEtY2hldnJvbi1kb3duLC5hY2NvcmRpb24gW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmZhLWNoZXZyb24tZG93bnt0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpfS5jb3JuZXItYm90dG9tLXJpZ2h0LWJldmVse2JvcmRlci1jb2xvcjojYzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6NHJlbSAxLjZyZW0gMCAwfS5uYXYtcGlsbHMtZGl2aWRlciAubmF2LXBpbGxzIGxpe21pbi13aWR0aDoxMDAlfS5uYXYtcGlsbHMtZGl2aWRlciAubmF2LXBpbGxzIGxpIGE6bm90KC5hY3RpdmUpe2xlZnQ6MXB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5uYXYtcGlsbHMtZGl2aWRlciAubmF2LXBpbGxzIGxpIGEuYWN0aXZlLC5uYXYtcGlsbHMtZGl2aWRlciAubmF2LXBpbGxzIGxpIGE6bm90KC5hY3RpdmUpe3Bvc2l0aW9uOnJlbGF0aXZlfS5uYXYtcGlsbHMtZGl2aWRlciAubmF2LXBpbGxzIGxpOm5vdCg6bGFzdC1jaGlsZCkgLmRpdmlkZXItdmVydGljYWx7YmFja2dyb3VuZDojMzAzMDMwO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjMzMzO2NvbnRlbnQ6IiI7aGVpZ2h0OjYwJTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3dpZHRoOjFweH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm5hdi1waWxscy1kaXZpZGVyIC5uYXYtcGlsbHMgbGl7bWluLXdpZHRoOjI1NXB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdi1waWxscy1kaXZpZGVyIC5uYXYtcGlsbHMgbGl7bWluLXdpZHRoOjE2Ni41cHh9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsubmF2LXBpbGxzLWRpdmlkZXIgLm5hdi1waWxscyBsaXttaW4td2lkdGg6MjMyLjVweH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsubmF2LXBpbGxzLWRpdmlkZXIgLm5hdi1waWxscyBsaXttaW4td2lkdGg6Mjc3LjVweH19QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5tYXJnaW4tbGV2ZXJhZ2Utd2lkZ2V0Lm5hdi1waWxscy1kaXZpZGVyIC5uYXYtcGlsbHMgbGksLnNwcmVhZHMtc3dhcHMtd2lkZ2V0Lm5hdi1waWxscy1kaXZpZGVyIC5uYXYtcGlsbHMgbGl7bWluLXdpZHRoOjUwOXB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm1hcmdpbi1sZXZlcmFnZS13aWRnZXQubmF2LXBpbGxzLWRpdmlkZXIgLm5hdi1waWxscyBsaSwuc3ByZWFkcy1zd2Fwcy13aWRnZXQubmF2LXBpbGxzLWRpdmlkZXIgLm5hdi1waWxscyBsaXttaW4td2lkdGg6MTA3LjRweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5tYXJnaW4tbGV2ZXJhZ2Utd2lkZ2V0Lm5hdi1waWxscy1kaXZpZGVyIC5uYXYtcGlsbHMgbGksLnNwcmVhZHMtc3dhcHMtd2lkZ2V0Lm5hdi1waWxscy1kaXZpZGVyIC5uYXYtcGlsbHMgbGl7bWluLXdpZHRoOjE4NS4ycHh9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7Lm1hcmdpbi1sZXZlcmFnZS13aWRnZXQubmF2LXBpbGxzLWRpdmlkZXIgLm5hdi1waWxscyBsaSwuc3ByZWFkcy1zd2Fwcy13aWRnZXQubmF2LXBpbGxzLWRpdmlkZXIgLm5hdi1waWxscyBsaXttaW4td2lkdGg6MjIycHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuaC1saW5lLWRhc2hlZC1hcnJvdzpiZWZvcmUsLmgtbGluZS1kYXNoZWQ6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1zdHlsZTpkYXNoZWQ7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHg7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Y29udGVudDoiIjtoZWlnaHQ6M3B4O2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo5OSU7ei1pbmRleDotMX0uaC1saW5lLWRhc2hlZC1hcnJvdzpiZWZvcmV7bGVmdDozMCV9LmgtbGluZS1kYXNoZWQtYXJyb3c6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbToxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0LWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLWxlZnQtd2lkdGg6MTBweDtib3JkZXItdG9wOjEwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym90dG9tOjUxLjUlO2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH19LmFycm93LWJveDphZnRlcntib3JkZXItYm90dG9tOjI0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLWxlZnQtd2lkdGg6MjVweDtib3JkZXItcmlnaHQ6MCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjI0cHggc29saWQgdHJhbnNwYXJlbnQ7Y29udGVudDoiIjtoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNHB4fS5hcnJvdy1ib3guYmctcHJpbWFyeTphZnRlcntib3JkZXItbGVmdC1jb2xvcjojMmUzMTkyfS5hcnJvdy1ib3guYmctb3RoZXItMTphZnRlcntib3JkZXItbGVmdC1jb2xvcjojNjIyMWVhfS5hcnJvdy1ib3guYmctc2Vjb25kYXJ5OmFmdGVye2JvcmRlci1sZWZ0LWNvbG9yOiM2Yzc1N2R9LmFycm93LWJveC5iZy1kYXJrOmFmdGVye2JvcmRlci1sZWZ0LWNvbG9yOiMzMDMwMzB9LmNhcmQtb3ZlcmxheXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLCMwMjAwMDAsIzE3MTQxNCwjMTUxNTE1LCMxYzFiMWIsIzIzMjIyMil9LmNhcmQtb3ZlcmxheSAuYmctY292ZXJ7Ym94LXNoYWRvdzppbnNldCAwIC0xNjBweCA3MHB4IC03M3B4ICMxYTE4MTg7ZmlsdGVyOmJyaWdodG5lc3MoMS4wNSl9LmNhcmQtb3ZlcmxheSAuY2FyZC1ib2R5e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDBkZWcsIzAwMCwjMDAwLGhzbGEoMCwwJSw0JSwuODkpLHJnYmEoMjgsMjcsMjcsMCkscmdiYSg2Miw1MSw1MSwuMjYpKTtib3gtc2hhZG93Omluc2V0IDAgLTE2MHB4IDcwcHggLTczcHggIzFhMTgxOH0uc3dpcGVyLWhlcm8tc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxse2JhY2tncm91bmQtY29sb3I6I2MwMCFpbXBvcnRhbnR9LnN3aXBlci1oZXJvLXNsaWRlciAuZ2FsbGVyeS10aHVtYnMgLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUgLmZhc3tjb2xvcjojYzAwIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LnN3aXBlci1oZXJvLXNsaWRlciAuZ2FsbGVyeS10aHVtYnMgLnN3aXBlci1zbGlkZXtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSw3JSwuNyl9LnN3aXBlci1oZXJvLXNsaWRlciAuZ2FsbGVyeS10aHVtYnMgLnN3aXBlci1zbGlkZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjA0LDAsMCwuNyl9LnN3aXBlci1oZXJvLXNsaWRlciAuZ2FsbGVyeS10aHVtYnMgLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojYzAwIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW59LnN3aXBlci1oZXJvLXNsaWRlciAuZ2FsbGVyeS10aHVtYnMgLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmU6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uOnNoaW5lIDVzIGluZmluaXRlIGZvcndhcmRzO2FuaW1hdGlvbjpzaGluZSA1cyBpbmZpbml0ZSBmb3J3YXJkcztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCxoc2xhKDAsMCUsMTAwJSwuMSkgNDUlLGhzbGEoMCwwJSw2MCUsLjUpIDUwJSxoc2xhKDAsMCUsMTAwJSwuMSkgNTUlLHRyYW5zcGFyZW50KTtjb250ZW50OiIiO2hlaWdodDoxODAlO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2l0aW9uOmFsbCAzczt3aWR0aDoxMDAlO3otaW5kZXg6MTB9QC13ZWJraXQta2V5ZnJhbWVzIHNoaW5lezAle2xlZnQ6LTEwMCU7dG9wOi0xMDAlfTIwJXtsZWZ0OjEwMCU7dG9wOjEwMCV9NDAle2xlZnQ6MTAwJTt0b3A6MTAwJX10b3tsZWZ0OjEwMCU7dG9wOjEwMCV9fUBrZXlmcmFtZXMgc2hpbmV7MCV7bGVmdDotMTAwJTt0b3A6LTEwMCV9MjAle2xlZnQ6MTAwJTt0b3A6MTAwJX00MCV7bGVmdDoxMDAlO3RvcDoxMDAlfXRve2xlZnQ6MTAwJTt0b3A6MTAwJX19fS5tYXJ2ZWwtZGV2aWNle2JveC1zaXppbmc6Y29udGVudC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXJ2ZWwtZGV2aWNlIC5zY3JlZW57YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6LjA2M2VtO2JveC1zaGFkb3c6MCAwIDAgLjE4OGVtICMxMTE7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTt6LWluZGV4OjN9Lm1hcnZlbC1kZXZpY2UgLmJvdHRvbS1iYXIsLm1hcnZlbC1kZXZpY2UgLnRvcC1iYXJ7YmFja2dyb3VuZDojMDAwO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0Oi4xODhlbTt3aWR0aDoxMDAlfS5tYXJ2ZWwtZGV2aWNlIC5taWRkbGUtYmFye2JhY2tncm91bmQ6IzAwMDtoZWlnaHQ6LjI1ZW07bGVmdDo1LjYyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOi4xODhlbX0ubWFydmVsLWRldmljZS5pcGhvbmU4e2JhY2tncm91bmQ6I2Q5ZGJkYztib3JkZXItcmFkaXVzOjMuNWVtO2JveC1zaGFkb3c6aW5zZXQgMCAwIC4xODhlbSAwIHJnYmEoMCwwLDAsLjIpO2hlaWdodDo0MS42ODhlbTtwYWRkaW5nOjYuNTYzZW0gMS41ZW07d2lkdGg6MjMuNDM4ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lODpiZWZvcmV7YmFja2dyb3VuZDojZjhmOGY4O2JvcmRlci1yYWRpdXM6My4xMjVlbTtjb250ZW50OiIiO2hlaWdodDpjYWxjKDEwMCUgLSAuNzVlbSk7bGVmdDouMzc1ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOi4zNzVlbTt3aWR0aDpjYWxjKDEwMCUgLSAuNzVlbSk7ei1pbmRleDoxfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTg6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czozZW07Ym94LXNoYWRvdzppbnNldCAwIDAgLjE4OGVtIDAgcmdiYSgwLDAsMCwuMSksaW5zZXQgMCAwIC4zNzVlbSAuMTg4ZW0gI2ZmZjtjb250ZW50OiIiO2hlaWdodDpjYWxjKDEwMCUgLSAxZW0pO2xlZnQ6LjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjVlbTt3aWR0aDpjYWxjKDEwMCUgLSAxZW0pO3otaW5kZXg6Mn0ubWFydmVsLWRldmljZS5pcGhvbmU4IC5ob21le2JhY2tncm91bmQ6IzMwMzIzMztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzMwMzIzMywjYjViN2I5IDUwJSwjZjBmMmYyIDY5JSwjMzAzMjMzKTtib3JkZXItcmFkaXVzOjEwMCU7Ym90dG9tOjEuMzc1ZW07aGVpZ2h0OjQuMjVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMi4xMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0LjI1ZW07ei1pbmRleDozfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTggLmhvbWU6YmVmb3Jle2JhY2tncm91bmQ6I2Y4ZjhmODtib3JkZXItcmFkaXVzOjEwMCU7Y29udGVudDoiIjtoZWlnaHQ6Y2FsYygxMDAlIC0gLjVlbSk7bGVmdDouMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1ZW07d2lkdGg6Y2FsYygxMDAlIC0gLjVlbSl9Lm1hcnZlbC1kZXZpY2UuaXBob25lOCAudG9wLWJhcntiYWNrZ3JvdW5kOiNiZmJmYzA7aGVpZ2h0Oi44NzVlbTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjQuMjVlbX0ubWFydmVsLWRldmljZS5pcGhvbmU4IC5ib3R0b20tYmFye2JhY2tncm91bmQ6I2JmYmZjMDtib3R0b206NC4yNWVtO2hlaWdodDouODc1ZW07bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTggLnNsZWVwe2JvcmRlci1yYWRpdXM6MCAuMTI1ZW0gLjEyNWVtIDA7cmlnaHQ6LS4yNWVtO3RvcDoxMS44NzVlbX0ubWFydmVsLWRldmljZS5pcGhvbmU4IC5zbGVlcCwubWFydmVsLWRldmljZS5pcGhvbmU4IC52b2x1bWV7YmFja2dyb3VuZDojZDlkYmRjO2hlaWdodDo0LjEyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOi4yNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTggLnZvbHVtZXtib3JkZXItcmFkaXVzOi4xMjVlbSAwIDAgLjEyNWVtO2xlZnQ6LS4yNWVtO3RvcDoxMS43NWVtO3otaW5kZXg6MH0ubWFydmVsLWRldmljZS5pcGhvbmU4IC52b2x1bWU6YmVmb3Jle2hlaWdodDoyLjVlbTtsZWZ0Oi4xMjVlbTt0b3A6LTQuODc1ZW07d2lkdGg6LjEyNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTggLnZvbHVtZTphZnRlciwubWFydmVsLWRldmljZS5pcGhvbmU4IC52b2x1bWU6YmVmb3Jle2JhY2tncm91bmQ6aW5oZXJpdDtib3JkZXItcmFkaXVzOi4xMjVlbSAwIDAgLjEyNWVtO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0ubWFydmVsLWRldmljZS5pcGhvbmU4IC52b2x1bWU6YWZ0ZXJ7aGVpZ2h0OjQuMTI1ZW07bGVmdDowO3RvcDo1LjEyNWVtO3dpZHRoOi4yNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTggLmNhbWVyYXtoZWlnaHQ6Ljc1ZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LS4zNzVlbTt0b3A6MS41ZW07d2lkdGg6Ljc1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOCAuY2FtZXJhLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTggLnNlbnNvcntiYWNrZ3JvdW5kOiMzYzNkM2Q7Ym9yZGVyLXJhZGl1czoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6M30ubWFydmVsLWRldmljZS5pcGhvbmU4IC5zZW5zb3J7aGVpZ2h0OjFlbTtsZWZ0OjguMzc1ZW07dG9wOjMuMDYzZW07d2lkdGg6MWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTggLnNwZWFrZXJ7YmFja2dyb3VuZDojMjkyNzI4O2JvcmRlci1yYWRpdXM6LjM3NWVtO2hlaWdodDouMzc1ZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTIuMTg4ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjMuMzc1ZW07d2lkdGg6NC4zNzVlbTt6LWluZGV4OjN9Lm1hcnZlbC1kZXZpY2UuaXBob25lOC5nb2xke2JhY2tncm91bmQ6I2Y5ZTdkM30ubWFydmVsLWRldmljZS5pcGhvbmU4LmdvbGQgLmJvdHRvbS1iYXIsLm1hcnZlbC1kZXZpY2UuaXBob25lOC5nb2xkIC50b3AtYmFye2JhY2tncm91bmQ6I2ZmZn0ubWFydmVsLWRldmljZS5pcGhvbmU4LmdvbGQgLnNsZWVwLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTguZ29sZCAudm9sdW1le2JhY2tncm91bmQ6I2Y5ZTdkM30ubWFydmVsLWRldmljZS5pcGhvbmU4LmdvbGQgLmhvbWV7YmFja2dyb3VuZDojY2ViYmE5O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjY2ViYmE5LCNmOWU3ZDMgNTAlLCNjZWJiYTkpfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTguYmxhY2t7YmFja2dyb3VuZDojNDY0NjQ2O2JveC1zaGFkb3c6aW5zZXQgMCAwIC4xODhlbSAwIHJnYmEoMCwwLDAsLjcpfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTguYmxhY2s6YmVmb3Jle2JhY2tncm91bmQ6IzA4MDgwOH0ubWFydmVsLWRldmljZS5pcGhvbmU4LmJsYWNrOmFmdGVye2JveC1zaGFkb3c6aW5zZXQgMCAwIC4xODhlbSAwIHJnYmEoMCwwLDAsLjEpLGluc2V0IDAgMCAuMzc1ZW0gLjE4OGVtICMyMTIxMjF9Lm1hcnZlbC1kZXZpY2UuaXBob25lOC5ibGFjayAuYm90dG9tLWJhciwubWFydmVsLWRldmljZS5pcGhvbmU4LmJsYWNrIC50b3AtYmFye2JhY2tncm91bmQ6IzIxMjEyMX0ubWFydmVsLWRldmljZS5pcGhvbmU4LmJsYWNrIC5zbGVlcCwubWFydmVsLWRldmljZS5pcGhvbmU4LmJsYWNrIC52b2x1bWV7YmFja2dyb3VuZDojNDY0NjQ2fS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTguYmxhY2sgLmNhbWVyYXtiYWNrZ3JvdW5kOiMwODA4MDh9Lm1hcnZlbC1kZXZpY2UuaXBob25lOC5ibGFjayAuaG9tZXtiYWNrZ3JvdW5kOiMwODA4MDg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMwODA4MDgsIzQ2NDY0NiA1MCUsIzA4MDgwOCl9Lm1hcnZlbC1kZXZpY2UuaXBob25lOC5ibGFjayAuaG9tZTpiZWZvcmV7YmFja2dyb3VuZDojMDgwODA4fS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTgubGFuZHNjYXBle2hlaWdodDoyMy40MzhlbTtwYWRkaW5nOjEuNWVtIDYuNTYzZW07d2lkdGg6NDEuNjg4ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOC5sYW5kc2NhcGUgLnNsZWVwe2JvcmRlci1yYWRpdXM6MCAwIC4xMjVlbSAuMTI1ZW07aGVpZ2h0Oi4yNWVtO3JpZ2h0OjExLjg3NWVtO3RvcDoxMDAlO3dpZHRoOjQuMTI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOC5sYW5kc2NhcGUgLnZvbHVtZXtib3JkZXItcmFkaXVzOi4xMjVlbSAuMTI1ZW0gMCAwO2hlaWdodDouMjVlbTtsZWZ0OmNhbGMoMTAwJSAtIDE1Ljg3NWVtKTt0b3A6LS4yNWVtO3dpZHRoOjQuMTI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOC5sYW5kc2NhcGUgLnZvbHVtZTpiZWZvcmV7Ym9yZGVyLXJhZGl1czouMTI1ZW0gLjEyNWVtIDAgMDtoZWlnaHQ6LjEyNWVtO2xlZnQ6YXV0bztyaWdodDotNC44NzVlbTt0b3A6LjEyNWVtO3dpZHRoOjIuNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTgubGFuZHNjYXBlIC52b2x1bWU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czouMTI1ZW0gLjEyNWVtIDAgMDtoZWlnaHQ6LjI1ZW07bGVmdDotNS4xMjVlbTt0b3A6MDt3aWR0aDo0LjEyNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTgubGFuZHNjYXBlIC50b3AtYmFye2hlaWdodDoxMDAlO2xlZnQ6Y2FsYygxMDAlIC0gNS4xMjVlbSk7dG9wOjA7d2lkdGg6Ljg3NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTgubGFuZHNjYXBlIC5ib3R0b20tYmFye2hlaWdodDoxMDAlO2xlZnQ6NC4yNWVtO3RvcDowO3dpZHRoOi44NzVlbX0ubWFydmVsLWRldmljZS5pcGhvbmU4LmxhbmRzY2FwZSAuaG9tZXtsZWZ0OjEuMzc1ZW07bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOi0yLjEyNWVtO3RvcDo1MCV9Lm1hcnZlbC1kZXZpY2UuaXBob25lOC5sYW5kc2NhcGUgLnNlbnNvcntsZWZ0OmNhbGMoMTAwJSAtIDQuMDYzZW0pO3RvcDo4LjM3NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTgubGFuZHNjYXBlIC5zcGVha2Vye2hlaWdodDo0LjM3NWVtO2xlZnQ6Y2FsYygxMDAlIC0gMy43NWVtKTttYXJnaW4tbGVmdDowO21hcmdpbi10b3A6LTIuMTg4ZW07dG9wOjUwJTt3aWR0aDouMzc1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOC5sYW5kc2NhcGUgLmNhbWVyYXtsZWZ0OmNhbGMoMTAwJSAtIDJlbSk7bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOi0uMzEzZW07dG9wOjUwJX0ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1c3tiYWNrZ3JvdW5kOiNkOWRiZGM7Ym9yZGVyLXJhZGl1czozLjVlbTtib3gtc2hhZG93Omluc2V0IDAgMCAuMTg4ZW0gMCByZ2JhKDAsMCwwLC4yKTtoZWlnaHQ6NDZlbTtwYWRkaW5nOjdlbSAxLjYyNWVtO3dpZHRoOjI1Ljg3NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzOmJlZm9yZXtiYWNrZ3JvdW5kOiNmOGY4Zjg7Ym9yZGVyLXJhZGl1czozLjEyNWVtO2NvbnRlbnQ6IiI7aGVpZ2h0OmNhbGMoMTAwJSAtIC43NWVtKTtsZWZ0Oi4zNzVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjM3NWVtO3dpZHRoOmNhbGMoMTAwJSAtIC43NWVtKTt6LWluZGV4OjF9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXM6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czozZW07Ym94LXNoYWRvdzppbnNldCAwIDAgLjE4OGVtIDAgcmdiYSgwLDAsMCwuMSksaW5zZXQgMCAwIC4zNzVlbSAuMTg4ZW0gI2ZmZjtjb250ZW50OiIiO2hlaWdodDpjYWxjKDEwMCUgLSAxZW0pO2xlZnQ6LjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjVlbTt3aWR0aDpjYWxjKDEwMCUgLSAxZW0pO3otaW5kZXg6Mn0ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cyAuaG9tZXtiYWNrZ3JvdW5kOiMzMDMyMzM7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMzMDMyMzMsI2I1YjdiOSA1MCUsI2YwZjJmMiA2OSUsIzMwMzIzMyk7Ym9yZGVyLXJhZGl1czoxMDAlO2JvdHRvbToxLjVlbTtoZWlnaHQ6NC4yNWVtO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0yLjEyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjQuMjVlbTt6LWluZGV4OjN9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMgLmhvbWU6YmVmb3Jle2JhY2tncm91bmQ6I2Y4ZjhmODtib3JkZXItcmFkaXVzOjEwMCU7Y29udGVudDoiIjtoZWlnaHQ6Y2FsYygxMDAlIC0gLjVlbSk7bGVmdDouMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1ZW07d2lkdGg6Y2FsYygxMDAlIC0gLjVlbSl9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMgLnRvcC1iYXJ7YmFja2dyb3VuZDojYmZiZmMwO2hlaWdodDouODc1ZW07bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0LjI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMgLmJvdHRvbS1iYXJ7YmFja2dyb3VuZDojYmZiZmMwO2JvdHRvbTo0LjI1ZW07aGVpZ2h0Oi44NzVlbTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGV9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMgLnNsZWVwe2JhY2tncm91bmQ6I2Q5ZGJkYztib3JkZXItcmFkaXVzOjAgLjEyNWVtIC4xMjVlbSAwO2hlaWdodDo0LjEyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi0uMjVlbTt0b3A6MTEuODc1ZW07d2lkdGg6LjI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMgLnZvbHVtZXtiYWNrZ3JvdW5kOiNkOWRiZGM7Ym9yZGVyLXJhZGl1czouMTI1ZW0gMCAwIC4xMjVlbTtoZWlnaHQ6NC4xMjVlbTtsZWZ0Oi0uMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTEuNzVlbTt3aWR0aDouMjVlbTt6LWluZGV4OjB9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMgLnZvbHVtZTpiZWZvcmV7aGVpZ2h0OjIuNWVtO2xlZnQ6LjEyNWVtO3RvcDotNC44NzVlbTt3aWR0aDouMTI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMgLnZvbHVtZTphZnRlciwubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cyAudm9sdW1lOmJlZm9yZXtiYWNrZ3JvdW5kOmluaGVyaXQ7Ym9yZGVyLXJhZGl1czouMTI1ZW0gMCAwIC4xMjVlbTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGV9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMgLnZvbHVtZTphZnRlcntoZWlnaHQ6NC4xMjVlbTtsZWZ0OjA7dG9wOjUuMTI1ZW07d2lkdGg6LjI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMgLmNhbWVyYXtiYWNrZ3JvdW5kOiMzYzNkM2Q7Ym9yZGVyLXJhZGl1czoxMDAlO2hlaWdodDouNzVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotLjM3NWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxLjgxM2VtO3dpZHRoOi43NWVtO3otaW5kZXg6M30ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cyAuc2Vuc29ye2JhY2tncm91bmQ6IzNjM2QzZDtib3JkZXItcmFkaXVzOjEwMCU7aGVpZ2h0OjFlbTtsZWZ0OjkuNjI1ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjMuMzc1ZW07d2lkdGg6MWVtO3otaW5kZXg6M30ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cyAuc3BlYWtlcntiYWNrZ3JvdW5kOiMyOTI3Mjg7Ym9yZGVyLXJhZGl1czouMzc1ZW07aGVpZ2h0Oi4zNzVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMi4xODhlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6My42ODhlbTt3aWR0aDo0LjM3NWVtO3otaW5kZXg6M30ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cy5nb2xke2JhY2tncm91bmQ6I2Y5ZTdkM30ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cy5nb2xkIC5ib3R0b20tYmFyLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzLmdvbGQgLnRvcC1iYXJ7YmFja2dyb3VuZDojZmZmfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzLmdvbGQgLnNsZWVwLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzLmdvbGQgLnZvbHVtZXtiYWNrZ3JvdW5kOiNmOWU3ZDN9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMuZ29sZCAuaG9tZXtiYWNrZ3JvdW5kOiNjZWJiYTk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNjZWJiYTksI2Y5ZTdkMyA1MCUsI2NlYmJhOSl9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMuYmxhY2t7YmFja2dyb3VuZDojNDY0NjQ2O2JveC1zaGFkb3c6aW5zZXQgMCAwIC4xODhlbSAwIHJnYmEoMCwwLDAsLjcpfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzLmJsYWNrOmJlZm9yZXtiYWNrZ3JvdW5kOiMwODA4MDh9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMuYmxhY2s6YWZ0ZXJ7Ym94LXNoYWRvdzppbnNldCAwIDAgLjE4OGVtIDAgcmdiYSgwLDAsMCwuMSksaW5zZXQgMCAwIC4zNzVlbSAuMTg4ZW0gIzIxMjEyMX0ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cy5ibGFjayAuYm90dG9tLWJhciwubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cy5ibGFjayAudG9wLWJhcntiYWNrZ3JvdW5kOiMyMTIxMjF9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMuYmxhY2sgLnNsZWVwLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzLmJsYWNrIC52b2x1bWV7YmFja2dyb3VuZDojNDY0NjQ2fS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzLmJsYWNrIC5jYW1lcmF7YmFja2dyb3VuZDojMDgwODA4fS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzLmJsYWNrIC5ob21le2JhY2tncm91bmQ6IzA4MDgwODtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzA4MDgwOCwjNDY0NjQ2IDUwJSwjMDgwODA4KX0ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cy5ibGFjayAuaG9tZTpiZWZvcmV7YmFja2dyb3VuZDojMDgwODA4fS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzLmxhbmRzY2FwZXtoZWlnaHQ6MjUuODc1ZW07cGFkZGluZzoxLjYyNWVtIDdlbTt3aWR0aDo0NmVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzLmxhbmRzY2FwZSAuc2xlZXB7Ym9yZGVyLXJhZGl1czowIDAgLjEyNWVtIC4xMjVlbTtoZWlnaHQ6LjI1ZW07cmlnaHQ6MTEuODc1ZW07dG9wOjEwMCU7d2lkdGg6NC4xMjVlbX0ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cy5sYW5kc2NhcGUgLnZvbHVtZXtib3JkZXItcmFkaXVzOi4xMjVlbSAuMTI1ZW0gMCAwO2hlaWdodDouMjVlbTtsZWZ0OmNhbGMoMTAwJSAtIDE1Ljg3NWVtKTt0b3A6LS4yNWVtO3dpZHRoOjQuMTI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMubGFuZHNjYXBlIC52b2x1bWU6YmVmb3Jle2JvcmRlci1yYWRpdXM6LjEyNWVtIC4xMjVlbSAwIDA7aGVpZ2h0Oi4xMjVlbTtsZWZ0OmF1dG87cmlnaHQ6LTQuODc1ZW07dG9wOi4xMjVlbTt3aWR0aDoyLjVlbX0ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cy5sYW5kc2NhcGUgLnZvbHVtZTphZnRlcntib3JkZXItcmFkaXVzOi4xMjVlbSAuMTI1ZW0gMCAwO2hlaWdodDouMjVlbTtsZWZ0Oi01LjEyNWVtO3RvcDowO3dpZHRoOjQuMTI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMubGFuZHNjYXBlIC50b3AtYmFye2hlaWdodDoxMDAlO2xlZnQ6Y2FsYygxMDAlIC0gNS4xMjVlbSk7dG9wOjA7d2lkdGg6Ljg3NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZThwbHVzLmxhbmRzY2FwZSAuYm90dG9tLWJhcntoZWlnaHQ6MTAwJTtsZWZ0OjQuMjVlbTt0b3A6MDt3aWR0aDouODc1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMubGFuZHNjYXBlIC5ob21le2xlZnQ6MS41ZW07bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOi0yLjEyNWVtO3RvcDo1MCV9Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMubGFuZHNjYXBlIC5zZW5zb3J7bGVmdDpjYWxjKDEwMCUgLSA0LjM3NWVtKTt0b3A6OS42MjVlbX0ubWFydmVsLWRldmljZS5pcGhvbmU4cGx1cy5sYW5kc2NhcGUgLnNwZWFrZXJ7aGVpZ2h0OjQuMzc1ZW07bGVmdDpjYWxjKDEwMCUgLSA0LjA2M2VtKTttYXJnaW4tbGVmdDowO21hcmdpbi10b3A6LTIuMTg4ZW07dG9wOjUwJTt3aWR0aDouMzc1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lOHBsdXMubGFuZHNjYXBlIC5jYW1lcmF7bGVmdDpjYWxjKDEwMCUgLSAxLjgxM2VtKTttYXJnaW4tbGVmdDowO21hcmdpbi10b3A6LS4zMTNlbTt0b3A6NTAlfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVze2JhY2tncm91bmQ6IzJjMmIyYztib3JkZXItcmFkaXVzOjMuMTI1ZW07aGVpZ2h0OjM1LjVlbTtwYWRkaW5nOjYuNTYzZW0gMS4zNzVlbTt3aWR0aDoyMGVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjOmJlZm9yZSwubWFydmVsLWRldmljZS5pcGhvbmU1czpiZWZvcmV7YmFja2dyb3VuZDojMWUxZTFlO2JvcmRlci1yYWRpdXM6Mi44NzVlbTtjb250ZW50OiIiO2hlaWdodDpjYWxjKDEwMCUgLSAuNWVtKTtsZWZ0Oi4yNWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDouMjVlbTt3aWR0aDpjYWxjKDEwMCUgLSAuNWVtKTt6LWluZGV4OjF9Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMgLnNsZWVwLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzIC5zbGVlcHtiYWNrZ3JvdW5kOiMyODI3Mjc7Ym9yZGVyLXJhZGl1czouMTI1ZW0gLjEyNWVtIDAgMDtoZWlnaHQ6LjI1ZW07cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6My43NWVtO3RvcDotLjI1ZW07d2lkdGg6My43NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjIC52b2x1bWUsLm1hcnZlbC1kZXZpY2UuaXBob25lNXMgLnZvbHVtZXtiYWNrZ3JvdW5kOiMyODI3Mjc7Ym9yZGVyLXJhZGl1czouMTI1ZW0gMCAwIC4xMjVlbTtoZWlnaHQ6MS42ODhlbTtsZWZ0Oi0uMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTEuMjVlbTt3aWR0aDouMjVlbTt6LWluZGV4OjB9Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMgLnZvbHVtZTpiZWZvcmUsLm1hcnZlbC1kZXZpY2UuaXBob25lNXMgLnZvbHVtZTpiZWZvcmV7YmFja2dyb3VuZDppbmhlcml0O2JvcmRlci1yYWRpdXM6LjEyNWVtIDAgMCAuMTI1ZW07Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyLjE4OGVtO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NC42ODhlbTt3aWR0aDouMjVlbX0ubWFydmVsLWRldmljZS5pcGhvbmU1YyAudm9sdW1lOmFmdGVyLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzIC52b2x1bWU6YWZ0ZXJ7YmFja2dyb3VuZDppbmhlcml0O2JvcmRlci1yYWRpdXM6LjEyNWVtIDAgMCAuMTI1ZW07Ym90dG9tOjRlbTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEuNjg4ZW07bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOi4yNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjIC5jYW1lcmEsLm1hcnZlbC1kZXZpY2UuaXBob25lNXMgLmNhbWVyYXtiYWNrZ3JvdW5kOiMzYzNkM2Q7Ym9yZGVyLXJhZGl1czouMzEzZW07aGVpZ2h0Oi42MjVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotLjMxM2VtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyZW07d2lkdGg6LjYyNWVtO3otaW5kZXg6M30ubWFydmVsLWRldmljZS5pcGhvbmU1YyAuc2Vuc29yLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzIC5zZW5zb3J7YmFja2dyb3VuZDojM2MzZDNkO2JvcmRlci1yYWRpdXM6LjMxM2VtO2hlaWdodDouNjI1ZW07bGVmdDoxMGVtO21hcmdpbi1sZWZ0Oi0yZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjMuNzVlbTt3aWR0aDouNjI1ZW07ei1pbmRleDozfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjIC5zcGVha2VyLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzIC5zcGVha2Vye2JhY2tncm91bmQ6IzI5MjcyODtib3JkZXItcmFkaXVzOi4zMTNlbTtoZWlnaHQ6LjYyNWVtO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0yZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjMuNzVlbTt3aWR0aDo0ZW07ei1pbmRleDozfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLmxhbmRzY2FwZSwubWFydmVsLWRldmljZS5pcGhvbmU1cy5sYW5kc2NhcGV7aGVpZ2h0OjIwZW07cGFkZGluZzoxLjM3NWVtIDYuNTYzZW07d2lkdGg6MzUuNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLmxhbmRzY2FwZSAuc2xlZXAsLm1hcnZlbC1kZXZpY2UuaXBob25lNXMubGFuZHNjYXBlIC5zbGVlcHtib3JkZXItcmFkaXVzOjAgLjEyNWVtIC4xMjVlbSAwO2hlaWdodDozLjc1ZW07cmlnaHQ6LS4yNWVtO3RvcDpjYWxjKDEwMCUgLSA3LjVlbSk7d2lkdGg6LjI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMubGFuZHNjYXBlIC52b2x1bWUsLm1hcnZlbC1kZXZpY2UuaXBob25lNXMubGFuZHNjYXBlIC52b2x1bWV7Ym9yZGVyLXJhZGl1czouMTI1ZW0gLjEyNWVtIDAgMDtoZWlnaHQ6LjI1ZW07bGVmdDpjYWxjKDEwMCUgLSAxMS4yNWVtKTt0b3A6LS4yNWVtO3dpZHRoOjEuNjg4ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMubGFuZHNjYXBlIC52b2x1bWU6YmVmb3JlLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzLmxhbmRzY2FwZSAudm9sdW1lOmJlZm9yZXtib3JkZXItcmFkaXVzOi4xMjVlbSAuMTI1ZW0gMCAwO2hlaWdodDouMjVlbTtsZWZ0OmF1dG87cmlnaHQ6NC42ODhlbTt0b3A6MDt3aWR0aDoyLjE4OGVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLmxhbmRzY2FwZSAudm9sdW1lOmFmdGVyLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzLmxhbmRzY2FwZSAudm9sdW1lOmFmdGVye2JvcmRlci1yYWRpdXM6LjEyNWVtIC4xMjVlbSAwIDA7Ym90dG9tOjA7aGVpZ2h0Oi4yNWVtO2xlZnQ6NGVtO3dpZHRoOjEuNjg4ZW07ei1pbmRleDo5OTl9Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMubGFuZHNjYXBlIC5zZW5zb3IsLm1hcnZlbC1kZXZpY2UuaXBob25lNXMubGFuZHNjYXBlIC5zZW5zb3J7bGVmdDpjYWxjKDEwMCUgLSAzLjc1ZW0pO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDotMmVtO3RvcDoxMGVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLmxhbmRzY2FwZSAuc3BlYWtlciwubWFydmVsLWRldmljZS5pcGhvbmU1cy5sYW5kc2NhcGUgLnNwZWFrZXJ7aGVpZ2h0OjRlbTtsZWZ0OmNhbGMoMTAwJSAtIDMuNzVlbSk7bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOi0yZW07dG9wOjUwJTt3aWR0aDouNjI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMubGFuZHNjYXBlIC5jYW1lcmEsLm1hcnZlbC1kZXZpY2UuaXBob25lNXMubGFuZHNjYXBlIC5jYW1lcmF7bGVmdDpjYWxjKDEwMCUgLSAyZW0pO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDotLjMxM2VtO3RvcDo1MCV9Lm1hcnZlbC1kZXZpY2UuaXBob25lNXMgLmhvbWV7Ym9yZGVyLXJhZGl1czoyLjI1ZW07Ym90dG9tOjEuMTg4ZW07Ym94LXNoYWRvdzppbnNldCAwIDAgMCAuMjVlbSAjMmMyYjJjO2hlaWdodDo0LjI1ZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTIuMTI1ZW07cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NC4yNWVtO3otaW5kZXg6M30ubWFydmVsLWRldmljZS5pcGhvbmU1cyAudG9wLWJhcntsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjQuMzc1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lNXMgLmJvdHRvbS1iYXJ7Ym90dG9tOjQuMzc1ZW07bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzLmxhbmRzY2FwZSAuaG9tZXtib3R0b206NTAlO2xlZnQ6MS4xODhlbTttYXJnaW4tYm90dG9tOi0yLjEyNWVtO21hcmdpbi1sZWZ0OjB9Lm1hcnZlbC1kZXZpY2UuaXBob25lNXMubGFuZHNjYXBlIC50b3AtYmFye2hlaWdodDoxMDAlO2xlZnQ6NC4zNzVlbTt0b3A6MDt3aWR0aDouMTg4ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lNXMubGFuZHNjYXBlIC5ib3R0b20tYmFye2JvdHRvbTowO2hlaWdodDoxMDAlO2xlZnQ6YXV0bztyaWdodDo0LjM3NWVtO3dpZHRoOi4xODhlbX0ubWFydmVsLWRldmljZS5pcGhvbmU1cy5zaWx2ZXJ7YmFja2dyb3VuZDojYmNiY2JjfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzLnNpbHZlcjpiZWZvcmV7YmFja2dyb3VuZDojZmNmY2ZjfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzLnNpbHZlciAuc2xlZXAsLm1hcnZlbC1kZXZpY2UuaXBob25lNXMuc2lsdmVyIC52b2x1bWV7YmFja2dyb3VuZDojZDZkNmQ2fS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzLnNpbHZlciAuYm90dG9tLWJhciwubWFydmVsLWRldmljZS5pcGhvbmU1cy5zaWx2ZXIgLnRvcC1iYXJ7YmFja2dyb3VuZDojZWFlYmVjfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzLnNpbHZlciAuaG9tZXtib3gtc2hhZG93Omluc2V0IDAgMCAwIC4yNWVtICNiY2JjYmN9Lm1hcnZlbC1kZXZpY2UuaXBob25lNXMuZ29sZHtiYWNrZ3JvdW5kOiNmOWU3ZDN9Lm1hcnZlbC1kZXZpY2UuaXBob25lNXMuZ29sZDpiZWZvcmV7YmFja2dyb3VuZDojZmNmY2ZjfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzLmdvbGQgLnNsZWVwLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVzLmdvbGQgLnZvbHVtZXtiYWNrZ3JvdW5kOiNmOWU3ZDN9Lm1hcnZlbC1kZXZpY2UuaXBob25lNXMuZ29sZCAuYm90dG9tLWJhciwubWFydmVsLWRldmljZS5pcGhvbmU1cy5nb2xkIC50b3AtYmFye2JhY2tncm91bmQ6I2ZmZn0ubWFydmVsLWRldmljZS5pcGhvbmU1cy5nb2xkIC5ob21le2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgLjI1ZW0gI2Y5ZTdkM30ubWFydmVsLWRldmljZS5pcGhvbmU1Y3tiYWNrZ3JvdW5kOiNmZmY7Ym94LXNoYWRvdzowIC4wNjNlbSAuMTI1ZW0gMCByZ2JhKDAsMCwwLC4yKX0ubWFydmVsLWRldmljZS5pcGhvbmU1YyAuYm90dG9tLWJhciwubWFydmVsLWRldmljZS5pcGhvbmU1YyAudG9wLWJhcntkaXNwbGF5Om5vbmV9Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMgLmhvbWV7YmFja2dyb3VuZDojMjQyMzI0O2JvcmRlci1yYWRpdXM6Mi4yNWVtO2JvdHRvbToxLjE4OGVtO2hlaWdodDo0LjI1ZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTIuMTI1ZW07cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NC4yNWVtO3otaW5kZXg6M30ubWFydmVsLWRldmljZS5pcGhvbmU1YyAuaG9tZTphZnRlcntib3JkZXI6LjA2M2VtIHNvbGlkIGhzbGEoMCwwJSwxMDAlLC4xKTtib3JkZXItcmFkaXVzOi4yNWVtO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MS4yNWVtO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0uNjg4ZW07bWFyZ2luLXRvcDotLjY4OGVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MS4yNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLmxhbmRzY2FwZSAuaG9tZXtib3R0b206NTAlO2xlZnQ6MS4xODhlbTttYXJnaW4tYm90dG9tOi0yLjEyNWVtO21hcmdpbi1sZWZ0OjB9Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMgLnNsZWVwLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjIC52b2x1bWV7YmFja2dyb3VuZDojZGRkfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLnJlZHtiYWNrZ3JvdW5kOiNmOTZiNmN9Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMucmVkIC5zbGVlcCwubWFydmVsLWRldmljZS5pcGhvbmU1Yy5yZWQgLnZvbHVtZXtiYWNrZ3JvdW5kOiNlZDU3NTh9Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMueWVsbG93e2JhY2tncm91bmQ6I2YyZGM2MH0ubWFydmVsLWRldmljZS5pcGhvbmU1Yy55ZWxsb3cgLnNsZWVwLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLnllbGxvdyAudm9sdW1le2JhY2tncm91bmQ6I2U1Y2U0Y30ubWFydmVsLWRldmljZS5pcGhvbmU1Yy5ncmVlbntiYWNrZ3JvdW5kOiM5N2U1NjN9Lm1hcnZlbC1kZXZpY2UuaXBob25lNWMuZ3JlZW4gLnNsZWVwLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLmdyZWVuIC52b2x1bWV7YmFja2dyb3VuZDojODVkOTRkfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLmJsdWV7YmFja2dyb3VuZDojMzNhMmRifS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLmJsdWUgLnNsZWVwLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTVjLmJsdWUgLnZvbHVtZXtiYWNrZ3JvdW5kOiMyNjk0Y2R9Lm1hcnZlbC1kZXZpY2UuaXBob25lNHN7YmFja2dyb3VuZDojNjg2ODY4O2JvcmRlci1yYWRpdXM6My4zNzVlbTtoZWlnaHQ6MzBlbTtwYWRkaW5nOjguMDYzZW0gMS42ODhlbTt3aWR0aDoyMGVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzOmJlZm9yZXtiYWNrZ3JvdW5kOiMxZTFlMWU7Ym9yZGVyLXJhZGl1czozLjEyNWVtO2NvbnRlbnQ6IiI7aGVpZ2h0OmNhbGMoMTAwJSAtIC41ZW0pO2xlZnQ6LjI1ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOi4yNWVtO3dpZHRoOmNhbGMoMTAwJSAtIC41ZW0pO3otaW5kZXg6MX0ubWFydmVsLWRldmljZS5pcGhvbmU0cyAudG9wLWJhcntsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjMuNzVlbX0ubWFydmVsLWRldmljZS5pcGhvbmU0cyAuYm90dG9tLWJhcntib3R0b206NS42MjVlbTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGV9Lm1hcnZlbC1kZXZpY2UuaXBob25lNHMgLmNhbWVyYXtiYWNrZ3JvdW5kOiMzYzNkM2Q7Ym9yZGVyLXJhZGl1czoxMDAlO2hlaWdodDouNjI1ZW07bGVmdDo4LjM3NWVtO21hcmdpbi1sZWZ0Oi0uMzEzZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjQuNWVtO3dpZHRoOi42MjVlbTt6LWluZGV4OjN9Lm1hcnZlbC1kZXZpY2UuaXBob25lNHMgLnNwZWFrZXJ7bWFyZ2luLWxlZnQ6LTJlbTt0b3A6NC41ZW07d2lkdGg6NGVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzIC5zZW5zb3IsLm1hcnZlbC1kZXZpY2UuaXBob25lNHMgLnNwZWFrZXJ7YmFja2dyb3VuZDojMjkyNzI4O2JvcmRlci1yYWRpdXM6LjMxM2VtO2hlaWdodDouNjI1ZW07bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDozfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzIC5zZW5zb3J7bWFyZ2luLWxlZnQ6LTEuMjVlbTt0b3A6Mi4yNWVtO3dpZHRoOjIuNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzIC5ob21le2JhY2tncm91bmQ6IzI0MjMyNDtib3JkZXItcmFkaXVzOjEwMCU7Ym90dG9tOjEuODc1ZW07aGVpZ2h0OjQuNWVtO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0yLjI1ZW07cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NC41ZW07ei1pbmRleDozfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzIC5ob21lOmFmdGVye2JvcmRlcjouMDYzZW0gc29saWQgaHNsYSgwLDAlLDEwMCUsLjEpO2JvcmRlci1yYWRpdXM6LjI1ZW07Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxLjI1ZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LS42ODhlbTttYXJnaW4tdG9wOi0uNjg4ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDoxLjI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lNHMgLnNsZWVwe2JhY2tncm91bmQ6IzRkNGQ0ZDtib3JkZXItcmFkaXVzOi4xMjVlbSAuMTI1ZW0gMCAwO2hlaWdodDouMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDozLjc1ZW07dG9wOi0uMjVlbTt3aWR0aDozLjc1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lNHMgLnZvbHVtZXtiYWNrZ3JvdW5kOiM0ZDRkNGQ7Ym9yZGVyLXJhZGl1czouMTI1ZW0gMCAwIC4xMjVlbTtoZWlnaHQ6MS42ODhlbTtsZWZ0Oi0uMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBlbTt3aWR0aDouMjVlbX0ubWFydmVsLWRldmljZS5pcGhvbmU0cyAudm9sdW1lOmJlZm9yZXtoZWlnaHQ6Mi4xODhlbTt0b3A6LTQuMzc1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lNHMgLnZvbHVtZTphZnRlciwubWFydmVsLWRldmljZS5pcGhvbmU0cyAudm9sdW1lOmJlZm9yZXtiYWNrZ3JvdW5kOmluaGVyaXQ7Ym9yZGVyLXJhZGl1czouMTI1ZW0gMCAwIC4xMjVlbTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOi4yNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzIC52b2x1bWU6YWZ0ZXJ7Ym90dG9tOjRlbTtoZWlnaHQ6MS42ODhlbX0ubWFydmVsLWRldmljZS5pcGhvbmU0cy5sYW5kc2NhcGV7aGVpZ2h0OjIwZW07cGFkZGluZzoxLjY4OGVtIDguMDYzZW07d2lkdGg6MzBlbX0ubWFydmVsLWRldmljZS5pcGhvbmU0cy5sYW5kc2NhcGUgLmJvdHRvbS1iYXJ7Ym90dG9tOjA7aGVpZ2h0OjEwMCU7bGVmdDo1LjYyNWVtO3dpZHRoOi4xODhlbX0ubWFydmVsLWRldmljZS5pcGhvbmU0cy5sYW5kc2NhcGUgLnRvcC1iYXJ7aGVpZ2h0OjEwMCU7bGVmdDpjYWxjKDEwMCUgLSAzLjc1ZW0pO3RvcDowO3dpZHRoOi4xODhlbX0ubWFydmVsLWRldmljZS5pcGhvbmU0cy5sYW5kc2NhcGUgLmNhbWVyYXtsZWZ0OmNhbGMoMTAwJSAtIDQuNWVtKTttYXJnaW4tbGVmdDowO3RvcDo4LjM3NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzLmxhbmRzY2FwZSAuc3BlYWtlcntoZWlnaHQ6NGVtO2xlZnQ6Y2FsYygxMDAlIC0gNC41ZW0pO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDotMmVtO3RvcDo1MCU7d2lkdGg6LjYyNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzLmxhbmRzY2FwZSAuc2Vuc29ye2hlaWdodDoyLjVlbTtsZWZ0OmNhbGMoMTAwJSAtIDIuMjVlbSk7bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOi0xLjI1ZW07dG9wOjUwJTt3aWR0aDouNjI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lNHMubGFuZHNjYXBlIC5ob21le2JvdHRvbTo1MCU7bGVmdDoxLjg3NWVtO21hcmdpbi1ib3R0b206LTIuMjVlbTttYXJnaW4tbGVmdDowfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzLmxhbmRzY2FwZSAuc2xlZXB7Ym9yZGVyLXJhZGl1czowIC4xMjVlbSAuMTI1ZW0gMDtoZWlnaHQ6My43NWVtO3JpZ2h0Oi0uMjVlbTt0b3A6Y2FsYygxMDAlIC0gNy41ZW0pO3dpZHRoOi4yNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzLmxhbmRzY2FwZSAudm9sdW1le2JvcmRlci1yYWRpdXM6LjEyNWVtIC4xMjVlbSAwIDA7aGVpZ2h0Oi4yNWVtO2xlZnQ6Y2FsYygxMDAlIC0gMTEuNjg4ZW0pO3RvcDotLjI1ZW07d2lkdGg6MS42ODhlbX0ubWFydmVsLWRldmljZS5pcGhvbmU0cy5sYW5kc2NhcGUgLnZvbHVtZTpiZWZvcmV7Ym9yZGVyLXJhZGl1czouMTI1ZW0gLjEyNWVtIDAgMDtoZWlnaHQ6LjI1ZW07bGVmdDphdXRvO3JpZ2h0Oi00LjM3NWVtO3RvcDowO3dpZHRoOjIuMTg4ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lNHMubGFuZHNjYXBlIC52b2x1bWU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czouMTI1ZW0gLjEyNWVtIDAgMDtib3R0b206MDtoZWlnaHQ6LjI1ZW07bGVmdDo0ZW07d2lkdGg6MS42ODhlbX0ubWFydmVsLWRldmljZS5pcGhvbmU0cy5zaWx2ZXJ7YmFja2dyb3VuZDojYmNiY2JjfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzLnNpbHZlcjpiZWZvcmV7YmFja2dyb3VuZDojZmNmY2ZjfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzLnNpbHZlciAuaG9tZXtiYWNrZ3JvdW5kOiNmY2ZjZmM7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAuMDYzZW0gI2JjYmNiY30ubWFydmVsLWRldmljZS5pcGhvbmU0cy5zaWx2ZXIgLmhvbWU6YWZ0ZXJ7Ym9yZGVyOi4wNjNlbSBzb2xpZCByZ2JhKDAsMCwwLC4yKX0ubWFydmVsLWRldmljZS5pcGhvbmU0cy5zaWx2ZXIgLnNsZWVwLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZTRzLnNpbHZlciAudm9sdW1le2JhY2tncm91bmQ6I2Q2ZDZkNn0ubWFydmVsLWRldmljZS5uZXh1czV7YmFja2dyb3VuZDojMWUxZTFlO2JvcmRlci1yYWRpdXM6MS4yNWVtO2hlaWdodDozNS41ZW07cGFkZGluZzozLjEyNWVtIC45MzhlbTt3aWR0aDoyMGVtfS5tYXJ2ZWwtZGV2aWNlLm5leHVzNTpiZWZvcmV7YmFja2dyb3VuZDppbmhlcml0O2JvcmRlci1yYWRpdXM6MzcuNWVtLzMuMTI1ZW07Y29udGVudDoiIjtoZWlnaHQ6MTAzLjElO2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTt3aWR0aDpjYWxjKDEwMCUgLSAxLjYyNWVtKX0ubWFydmVsLWRldmljZS5uZXh1czUgLnRvcC1iYXJ7YmFja2dyb3VuZDojMTgxODE4O2JvcmRlci1yYWRpdXM6MS4yNWVtO2hlaWdodDpjYWxjKDEwMCUgLSAuMzc1ZW0pO2xlZnQ6LjI1ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOi4xODhlbTt3aWR0aDpjYWxjKDEwMCUgLSAuNWVtKX0ubWFydmVsLWRldmljZS5uZXh1czUgLnRvcC1iYXI6YmVmb3Jle2JhY2tncm91bmQ6aW5oZXJpdDtib3JkZXItcmFkaXVzOjM3LjVlbS8zLjEyNWVtO2NvbnRlbnQ6IiI7aGVpZ2h0OjEwMyU7bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO3dpZHRoOmNhbGMoMTAwJSAtIDEuNjI1ZW0pfS5tYXJ2ZWwtZGV2aWNlLm5leHVzNSAuYm90dG9tLWJhcntkaXNwbGF5Om5vbmV9Lm1hcnZlbC1kZXZpY2UubmV4dXM1IC5zbGVlcHtiYWNrZ3JvdW5kOmluaGVyaXQ7Ym9yZGVyLXJhZGl1czouMTI1ZW0gMCAwIC4xMjVlbTtoZWlnaHQ6Ni4yNWVtO2xlZnQ6LS4xODhlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Ni44NzVlbTt3aWR0aDouMTg4ZW19Lm1hcnZlbC1kZXZpY2UubmV4dXM1IC52b2x1bWV7YmFja2dyb3VuZDppbmhlcml0O2JvcmRlci1yYWRpdXM6MCAuMTI1ZW0gLjEyNWVtIDA7aGVpZ2h0OjIuODEzZW07cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LS4xODhlbTt0b3A6NC4zNzVlbTt3aWR0aDouMTg4ZW19Lm1hcnZlbC1kZXZpY2UubmV4dXM1IC5jYW1lcmF7YmFja2dyb3VuZDojM2MzZDNkO2JvcmRlci1yYWRpdXM6MTAwJTtoZWlnaHQ6LjYyNWVtO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0uMzEzZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjEuMTI1ZW07d2lkdGg6LjYyNWVtO3otaW5kZXg6M30ubWFydmVsLWRldmljZS5uZXh1czUgLmNhbWVyYTpiZWZvcmV7YmFja2dyb3VuZDojM2MzZDNkO2JvcmRlci1yYWRpdXM6MTAwJTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0Oi4zNzVlbTtsZWZ0Oi02LjI1ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOi4xMjVlbTt3aWR0aDouMzc1ZW07ei1pbmRleDozfS5tYXJ2ZWwtZGV2aWNlLm5leHVzNS5sYW5kc2NhcGV7aGVpZ2h0OjIwZW07cGFkZGluZzouOTM4ZW0gMy4xMjVlbTt3aWR0aDozNS41ZW19Lm1hcnZlbC1kZXZpY2UubmV4dXM1LmxhbmRzY2FwZTpiZWZvcmV7Ym9yZGVyLXJhZGl1czozLjEyNWVtLzM3LjVlbTtoZWlnaHQ6Y2FsYygxMDAlIC0gMS42MjVlbSk7d2lkdGg6MTAzLjElfS5tYXJ2ZWwtZGV2aWNlLm5leHVzNS5sYW5kc2NhcGUgLnRvcC1iYXJ7aGVpZ2h0OmNhbGMoMTAwJSAtIC41ZW0pO2xlZnQ6LjE4OGVtO3RvcDouMjVlbTt3aWR0aDpjYWxjKDEwMCUgLSAuMzc1ZW0pfS5tYXJ2ZWwtZGV2aWNlLm5leHVzNS5sYW5kc2NhcGUgLnRvcC1iYXI6YmVmb3Jle2JvcmRlci1yYWRpdXM6My4xMjVlbS8zNy41ZW07aGVpZ2h0OmNhbGMoMTAwJSAtIDEuNjI1ZW0pO3dpZHRoOjEwMyV9Lm1hcnZlbC1kZXZpY2UubmV4dXM1LmxhbmRzY2FwZSAuc2xlZXB7Ym9yZGVyLXJhZGl1czouMTI1ZW0gLjEyNWVtIDAgMDtoZWlnaHQ6LjE4OGVtO2xlZnQ6Y2FsYygxMDAlIC0gMTMuMTI1ZW0pO3RvcDotLjE4OGVtO3dpZHRoOjYuMjVlbX0ubWFydmVsLWRldmljZS5uZXh1czUubGFuZHNjYXBlIC52b2x1bWV7Ym9yZGVyLXJhZGl1czowIDAgLjEyNWVtIC4xMjVlbTtoZWlnaHQ6LjE4OGVtO3JpZ2h0OjQuMzc1ZW07dG9wOjEwMCU7d2lkdGg6Mi44MTNlbX0ubWFydmVsLWRldmljZS5uZXh1czUubGFuZHNjYXBlIC5jYW1lcmF7bGVmdDpjYWxjKDEwMCUgLSAxLjEyNWVtKTttYXJnaW4tbGVmdDowO21hcmdpbi10b3A6LS4zMTNlbTt0b3A6NTAlfS5tYXJ2ZWwtZGV2aWNlLm5leHVzNS5sYW5kc2NhcGUgLmNhbWVyYTpiZWZvcmV7bGVmdDouMTI1ZW07dG9wOi02LjI1ZW19Lm1hcnZlbC1kZXZpY2UuczV7YmFja2dyb3VuZDojYmNiY2JjO2JvcmRlci1yYWRpdXM6Mi42MjVlbTtoZWlnaHQ6MzUuNWVtO3BhZGRpbmc6My43NWVtIDEuMTI1ZW07d2lkdGg6MjBlbX0ubWFydmVsLWRldmljZS5zNTphZnRlciwubWFydmVsLWRldmljZS5zNTpiZWZvcmV7YmFja2dyb3VuZDppbmhlcml0O2JvcmRlci1yYWRpdXM6MzEuMjVlbS8yLjVlbTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEuNjI1ZW07bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6Y2FsYygxMDAlIC0gMy4yNWVtKX0ubWFydmVsLWRldmljZS5zNTpiZWZvcmV7dG9wOi0uNDM4ZW19Lm1hcnZlbC1kZXZpY2UuczU6YWZ0ZXJ7Ym90dG9tOi0uNDM4ZW19Lm1hcnZlbC1kZXZpY2UuczUgLmJvdHRvbS1iYXJ7ZGlzcGxheTpub25lfS5tYXJ2ZWwtZGV2aWNlLnM1IC50b3AtYmFye2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KHJnYmEoMCwwLDAsLjAyKSAyMCUsdHJhbnNwYXJlbnQgNjAlKSAwIDAscmFkaWFsLWdyYWRpZW50KHJnYmEoMCwwLDAsLjAyKSAyMCUsdHJhbnNwYXJlbnQgNjAlKSAuMTg4ZW0gLjE4OGVtO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXNpemU6LjI1ZW0gLjI1ZW07Ym9yZGVyLXJhZGl1czoyLjMxM2VtO2hlaWdodDpjYWxjKDEwMCUgLSAuNjI1ZW0pO2xlZnQ6LjMxM2VtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDouMzEzZW07d2lkdGg6Y2FsYygxMDAlIC0gLjYyNWVtKTt6LWluZGV4OjJ9Lm1hcnZlbC1kZXZpY2UuczUgLnRvcC1iYXI6YWZ0ZXIsLm1hcnZlbC1kZXZpY2UuczUgLnRvcC1iYXI6YmVmb3Jle2JhY2tncm91bmQ6aW5oZXJpdDtib3JkZXItcmFkaXVzOjMxLjI1ZW0vMi41ZW07Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxLjYyNWVtO2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3dpZHRoOmNhbGMoMTAwJSAtIDNlbSl9Lm1hcnZlbC1kZXZpY2UuczUgLnRvcC1iYXI6YmVmb3Jle3RvcDotLjQzOGVtfS5tYXJ2ZWwtZGV2aWNlLnM1IC50b3AtYmFyOmFmdGVye2JvdHRvbTotLjQzOGVtfS5tYXJ2ZWwtZGV2aWNlLnM1IC5zbGVlcHtiYWNrZ3JvdW5kOiNjZWNlY2U7Ym9yZGVyLXJhZGl1czouMTI1ZW0gMCAwIC4xMjVlbTtoZWlnaHQ6Ni4yNWVtO2xlZnQ6LS4xODhlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Ni4yNWVtO3dpZHRoOi4xODhlbX0ubWFydmVsLWRldmljZS5zNSAuc3BlYWtlcntiYWNrZ3JvdW5kLWNvbG9yOiNiY2JjYmM7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7Ym9yZGVyLXJhZGl1czouMjVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMi4xMjVlbTt3aWR0aDo0LjI1ZW19Lm1hcnZlbC1kZXZpY2UuczUgLnNlbnNvciwubWFydmVsLWRldmljZS5zNSAuc3BlYWtlcntkaXNwbGF5OmJsb2NrO2hlaWdodDouNWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxLjI1ZW07ei1pbmRleDozfS5tYXJ2ZWwtZGV2aWNlLnM1IC5zZW5zb3J7YmFja2dyb3VuZDojM2MzZDNkO2JvcmRlci1yYWRpdXM6MTAwJTtyaWdodDo2Ljg3NWVtO3dpZHRoOi41ZW19Lm1hcnZlbC1kZXZpY2UuczUgLnNlbnNvcjphZnRlcntiYWNrZ3JvdW5kOiMzYzNkM2Q7Y29udGVudDoiIjtoZWlnaHQ6LjVlbTtyaWdodDouNzVlbTt0b3A6MDt3aWR0aDouNWVtfS5tYXJ2ZWwtZGV2aWNlLnM1IC5jYW1lcmEsLm1hcnZlbC1kZXZpY2UuczUgLnNlbnNvcjphZnRlcntib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjN9Lm1hcnZlbC1kZXZpY2UuczUgLmNhbWVyYXtiYWNrZ3JvdW5kOiMwMDA7aGVpZ2h0Oi42MjVlbTtyaWdodDoyLjYyNWVtO3RvcDoxLjVlbTt3aWR0aDouNjI1ZW19Lm1hcnZlbC1kZXZpY2UuczUgLmNhbWVyYTpiZWZvcmV7YmFja2dyb3VuZDojM2MzZDNkO2JvcmRlci1yYWRpdXM6MTAwJTtjb250ZW50OiIiO2hlaWdodDouMjVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotLjEyNWVtO21hcmdpbi10b3A6LS4xMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOi4yNWVtfS5tYXJ2ZWwtZGV2aWNlLnM1IC5ob21le2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6LjEyNWVtIHNvbGlkICMwMDA7Ym9yZGVyLXJhZGl1czoxLjEyNWVtO2JvdHRvbToxLjA2M2VtO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEuMjVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMi4xODhlbTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0LjM3NWVtO3otaW5kZXg6M30ubWFydmVsLWRldmljZS5zNS5sYW5kc2NhcGV7aGVpZ2h0OjIwZW07cGFkZGluZzoxLjEyNWVtIDMuNzVlbTt3aWR0aDozNS41ZW19Lm1hcnZlbC1kZXZpY2UuczUubGFuZHNjYXBlOmFmdGVyLC5tYXJ2ZWwtZGV2aWNlLnM1LmxhbmRzY2FwZTpiZWZvcmV7Ym9yZGVyLXJhZGl1czoyLjVlbS8zMS4yNWVtO2hlaWdodDpjYWxjKDEwMCUgLSAzLjI1ZW0pO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjEuNjI1ZW19Lm1hcnZlbC1kZXZpY2UuczUubGFuZHNjYXBlOmJlZm9yZXtsZWZ0Oi0uNDM4ZW07dG9wOjUwJX0ubWFydmVsLWRldmljZS5zNS5sYW5kc2NhcGU6YWZ0ZXJ7bGVmdDphdXRvO3JpZ2h0Oi0uNDM4ZW07dG9wOjUwJX0ubWFydmVsLWRldmljZS5zNS5sYW5kc2NhcGUgLnRvcC1iYXI6YWZ0ZXIsLm1hcnZlbC1kZXZpY2UuczUubGFuZHNjYXBlIC50b3AtYmFyOmJlZm9yZXtib3JkZXItcmFkaXVzOjIuNWVtLzMxLjI1ZW07aGVpZ2h0OmNhbGMoMTAwJSAtIDNlbSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6MS42MjVlbX0ubWFydmVsLWRldmljZS5zNS5sYW5kc2NhcGUgLnRvcC1iYXI6YmVmb3Jle2xlZnQ6YXV0bztyaWdodDotLjQzOGVtO3RvcDo1MCV9Lm1hcnZlbC1kZXZpY2UuczUubGFuZHNjYXBlIC50b3AtYmFyOmFmdGVye2xlZnQ6LS40MzhlbTtyaWdodDphdXRvO3RvcDo1MCV9Lm1hcnZlbC1kZXZpY2UuczUubGFuZHNjYXBlIC5zbGVlcHtib3JkZXItcmFkaXVzOi4xMjVlbSAuMTI1ZW0gMCAwO2hlaWdodDouMTg4ZW07bGVmdDpjYWxjKDEwMCUgLSAxMi41ZW0pO3RvcDotLjE4OGVtO3dpZHRoOjYuMjVlbX0ubWFydmVsLWRldmljZS5zNS5sYW5kc2NhcGUgLnNwZWFrZXJ7aGVpZ2h0OjQuMjVlbTtsZWZ0OmNhbGMoMTAwJSAtIDEuMjVlbSk7bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOi0yLjEyNWVtO3RvcDo1MCU7d2lkdGg6LjVlbX0ubWFydmVsLWRldmljZS5zNS5sYW5kc2NhcGUgLnNlbnNvcntyaWdodDoxLjI1ZW07dG9wOmNhbGMoMTAwJSAtIDYuODc1ZW0pfS5tYXJ2ZWwtZGV2aWNlLnM1LmxhbmRzY2FwZSAuc2Vuc29yOmFmdGVye2xlZnQ6LS43NWVtO3JpZ2h0OjB9Lm1hcnZlbC1kZXZpY2UuczUubGFuZHNjYXBlIC5jYW1lcmF7cmlnaHQ6MS41ZW07dG9wOmNhbGMoMTAwJSAtIDIuNjI1ZW0pfS5tYXJ2ZWwtZGV2aWNlLnM1LmxhbmRzY2FwZSAuaG9tZXtib3R0b206NTAlO2hlaWdodDo0LjM3NWVtO2xlZnQ6MS4wNjNlbTttYXJnaW4tYm90dG9tOi0yLjE4OGVtO21hcmdpbi1sZWZ0OjA7d2lkdGg6MS4yNWVtfS5tYXJ2ZWwtZGV2aWNlLnM1LmJsYWNre2JhY2tncm91bmQ6IzFlMWUxZX0ubWFydmVsLWRldmljZS5zNS5ibGFjayAuc3BlYWtlcntiYWNrZ3JvdW5kOiMwMDB9Lm1hcnZlbC1kZXZpY2UuczUuYmxhY2sgLnNsZWVwe2JhY2tncm91bmQ6IzFlMWUxZX0ubWFydmVsLWRldmljZS5zNS5ibGFjayAudG9wLWJhcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChyZ2JhKDAsMCwwLC4wNSkgMjAlLHRyYW5zcGFyZW50IDYwJSkgMCAwLHJhZGlhbC1ncmFkaWVudChyZ2JhKDAsMCwwLC4wNSkgMjAlLHRyYW5zcGFyZW50IDYwJSkgLjE4OGVtIC4xODhlbTtiYWNrZ3JvdW5kLWNvbG9yOiMyYzJiMmM7YmFja2dyb3VuZC1zaXplOi4yNWVtIC4yNWVtfS5tYXJ2ZWwtZGV2aWNlLnM1LmJsYWNrIC5ob21le2JhY2tncm91bmQ6IzJjMmIyY30ubWFydmVsLWRldmljZS5sdW1pYTkyMHtiYWNrZ3JvdW5kOiNmZDA7Ym9yZGVyLXJhZGl1czoyLjVlbS8uMTg4ZW07aGVpZ2h0OjMzLjMxM2VtO3BhZGRpbmc6NWVtIDIuMTg4ZW0gNy44MTNlbTt3aWR0aDoyMGVtfS5tYXJ2ZWwtZGV2aWNlLmx1bWlhOTIwIC5ib3R0b20tYmFye2Rpc3BsYXk6bm9uZX0ubWFydmVsLWRldmljZS5sdW1pYTkyMCAudG9wLWJhcntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czoxLjVlbTtoZWlnaHQ6Y2FsYygxMDAlIC0gMmVtKTtsZWZ0Oi43NWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxZW07d2lkdGg6Y2FsYygxMDAlIC0gMS41ZW0pO3otaW5kZXg6MX0ubWFydmVsLWRldmljZS5sdW1pYTkyMCAudG9wLWJhcjpiZWZvcmV7YmFja2dyb3VuZDojMWUxZTFlO2JvcmRlci1yYWRpdXM6MS4zNzVlbTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OmNhbGMoMTAwJSAtIC4yNWVtKTtsZWZ0Oi4xMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjEyNWVtO3dpZHRoOmNhbGMoMTAwJSAtIC4yNWVtKX0ubWFydmVsLWRldmljZS5sdW1pYTkyMCAudm9sdW1le2JhY2tncm91bmQ6IzFlMWUxZTtib3JkZXItcmFkaXVzOjAgLjEyNWVtIC4xMjVlbSAwO2hlaWdodDo2LjI1ZW07cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LS4xODhlbTt0b3A6OC4xMjVlbTt3aWR0aDouMTg4ZW19Lm1hcnZlbC1kZXZpY2UubHVtaWE5MjAgLnZvbHVtZTpiZWZvcmV7dG9wOjExLjg3NWVtfS5tYXJ2ZWwtZGV2aWNlLmx1bWlhOTIwIC52b2x1bWU6YWZ0ZXIsLm1hcnZlbC1kZXZpY2UubHVtaWE5MjAgLnZvbHVtZTpiZWZvcmV7YmFja2dyb3VuZDppbmhlcml0O2JvcmRlci1yYWRpdXM6MCAuMTI1ZW0gLjEyNWVtIDA7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDozLjEyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7d2lkdGg6LjE4OGVtfS5tYXJ2ZWwtZGV2aWNlLmx1bWlhOTIwIC52b2x1bWU6YWZ0ZXJ7dG9wOjI4Ljc1ZW19Lm1hcnZlbC1kZXZpY2UubHVtaWE5MjAgLmNhbWVyYXtiYWNrZ3JvdW5kOiMzYzNkM2Q7Ym9yZGVyLXJhZGl1czouMzEzZW07aGVpZ2h0Oi42MjVlbTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDo4LjEyNWVtO3RvcDoyLjEyNWVtO3dpZHRoOi42MjVlbTt6LWluZGV4OjV9Lm1hcnZlbC1kZXZpY2UubHVtaWE5MjAgLnNwZWFrZXJ7YmFja2dyb3VuZDojMjkyNzI4O2JvcmRlci1yYWRpdXM6LjMxM2VtO2hlaWdodDouNjI1ZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTJlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Mi4zNzVlbTt3aWR0aDo0ZW07ei1pbmRleDozfS5tYXJ2ZWwtZGV2aWNlLmx1bWlhOTIwLmxhbmRzY2FwZXtib3JkZXItcmFkaXVzOi4xMjVlbS82LjI1ZW07aGVpZ2h0OjIwZW07cGFkZGluZzoyLjE4OGVtIDVlbSAyLjE4OGVtIDcuODEzZW07d2lkdGg6MzUuNWVtfS5tYXJ2ZWwtZGV2aWNlLmx1bWlhOTIwLmxhbmRzY2FwZSAudG9wLWJhcntoZWlnaHQ6Y2FsYygxMDAlIC0gMS41ZW0pO2xlZnQ6MWVtO3RvcDouNzVlbTt3aWR0aDpjYWxjKDEwMCUgLSAyZW0pfS5tYXJ2ZWwtZGV2aWNlLmx1bWlhOTIwLmxhbmRzY2FwZSAudm9sdW1le2JvcmRlci1yYWRpdXM6MCAwIC4xMjVlbSAuMTI1ZW07aGVpZ2h0Oi4xODhlbTtyaWdodDo4LjEyNWVtO3RvcDoxMDAlO3dpZHRoOjYuMjVlbX0ubWFydmVsLWRldmljZS5sdW1pYTkyMC5sYW5kc2NhcGUgLnZvbHVtZTpiZWZvcmV7Ym9yZGVyLXJhZGl1czowIDAgLjEyNWVtIC4xMjVlbTtoZWlnaHQ6LjE4OGVtO3JpZ2h0OjExLjg3NWVtO3RvcDowO3dpZHRoOjMuMTI1ZW19Lm1hcnZlbC1kZXZpY2UubHVtaWE5MjAubGFuZHNjYXBlIC52b2x1bWU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czowIDAgLjEyNWVtIC4xMjVlbTtoZWlnaHQ6LjE4OGVtO3JpZ2h0OjI2Ljg3NWVtO3RvcDowO3dpZHRoOjMuMTI1ZW19Lm1hcnZlbC1kZXZpY2UubHVtaWE5MjAubGFuZHNjYXBlIC5jYW1lcmF7cmlnaHQ6MS44NzVlbTt0b3A6Y2FsYygxMDAlIC0gOC43NWVtKX0ubWFydmVsLWRldmljZS5sdW1pYTkyMC5sYW5kc2NhcGUgLnNwZWFrZXJ7aGVpZ2h0OjRlbTtsZWZ0OmNhbGMoMTAwJSAtIDNlbSk7bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOi0yZW07dG9wOjUwJTt3aWR0aDouNjI1ZW19Lm1hcnZlbC1kZXZpY2UubHVtaWE5MjAuYmxhY2t7YmFja2dyb3VuZDojMDAwfS5tYXJ2ZWwtZGV2aWNlLmx1bWlhOTIwLndoaXRle2JhY2tncm91bmQ6I2ZmZjtib3gtc2hhZG93OjAgLjA2M2VtIC4xMjVlbSAwIHJnYmEoMCwwLDAsLjIpfS5tYXJ2ZWwtZGV2aWNlLmx1bWlhOTIwLmJsdWV7YmFja2dyb3VuZDojMDBhY2RkfS5tYXJ2ZWwtZGV2aWNlLmx1bWlhOTIwLnJlZHtiYWNrZ3JvdW5kOiNjYzNlMzJ9Lm1hcnZlbC1kZXZpY2UuaHRjLW9uZXtiYWNrZ3JvdW5kOiNiZWJlYmU7Ym9yZGVyLXJhZGl1czoyLjEyNWVtO2hlaWdodDozNS41ZW07cGFkZGluZzo0LjVlbSAxLjU2M2VtIDYuMjVlbTt3aWR0aDoyMGVtfS5tYXJ2ZWwtZGV2aWNlLmh0Yy1vbmU6YmVmb3Jle2JhY2tncm91bmQ6I2FkYWRhZDtib3JkZXItcmFkaXVzOjJlbTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OmNhbGMoMTAwJSAtIC4yNWVtKTtsZWZ0Oi4xMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjEyNWVtO3dpZHRoOmNhbGMoMTAwJSAtIC4yNWVtKX0ubWFydmVsLWRldmljZS5odGMtb25lOmFmdGVye2JhY2tncm91bmQ6I2VlZTtib3JkZXItcmFkaXVzOjEuODc1ZW07Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDpjYWxjKDEwMCUgLSAuNWVtKTtsZWZ0Oi4yNWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDouMjVlbTt3aWR0aDpjYWxjKDEwMCUgLSAuNWVtKX0ubWFydmVsLWRldmljZS5odGMtb25lIC50b3AtYmFye2JhY2tncm91bmQ6IzQyNDI0MjtoZWlnaHQ6MzkuNjg4ZW07bGVmdDouMTI1ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjMuMTI1ZW07d2lkdGg6Y2FsYygxMDAlIC0gLjI1ZW0pO3otaW5kZXg6MX0ubWFydmVsLWRldmljZS5odGMtb25lIC50b3AtYmFyOmJlZm9yZXtiYWNrZ3JvdW5kOiMwMDA7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTtsZWZ0Oi4xMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDpjYWxjKDEwMCUgLSAuMjVlbSk7ei1pbmRleDoxfS5tYXJ2ZWwtZGV2aWNlLmh0Yy1vbmUgLmJvdHRvbS1iYXJ7ZGlzcGxheTpub25lfS5tYXJ2ZWwtZGV2aWNlLmh0Yy1vbmUgLnNwZWFrZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoIzM0MzQzNCAyNSUsdHJhbnNwYXJlbnQgNTAlKSAwIDAscmFkaWFsLWdyYWRpZW50KCMzNDM0MzQgMjUlLHRyYW5zcGFyZW50IDUwJSkgLjI1ZW0gLjI1ZW07YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7YmFja2dyb3VuZC1zaXplOi4yNWVtIC4yNWVtO3RvcDoxLjM3NWVtfS5tYXJ2ZWwtZGV2aWNlLmh0Yy1vbmUgLnNwZWFrZXIsLm1hcnZlbC1kZXZpY2UuaHRjLW9uZSAuc3BlYWtlcjphZnRlcntkaXNwbGF5OmJsb2NrO2hlaWdodDoxZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTYuNzVlbTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMy41ZW07ei1pbmRleDoyfS5tYXJ2ZWwtZGV2aWNlLmh0Yy1vbmUgLnNwZWFrZXI6YWZ0ZXJ7YmFja2dyb3VuZDppbmhlcml0O2NvbnRlbnQ6IiI7dG9wOjQyLjI1ZW19Lm1hcnZlbC1kZXZpY2UuaHRjLW9uZSAuY2FtZXJhe2JhY2tncm91bmQ6IzNjM2QzZDtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTpibG9jaztoZWlnaHQ6MS41ZW07cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6Mi4zNzVlbTt0b3A6MS4xMjVlbTt3aWR0aDoxLjVlbTt6LWluZGV4OjN9Lm1hcnZlbC1kZXZpY2UuaHRjLW9uZSAuY2FtZXJhOmJlZm9yZXtiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czoxMDAlO2NvbnRlbnQ6IiI7aGVpZ2h0Oi41ZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LS4yNWVtO21hcmdpbi10b3A6LS4yNWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6LjVlbX0ubWFydmVsLWRldmljZS5odGMtb25lIC5zZW5zb3J7bGVmdDozLjc1ZW07dG9wOjEuODEzZW19Lm1hcnZlbC1kZXZpY2UuaHRjLW9uZSAuc2Vuc29yLC5tYXJ2ZWwtZGV2aWNlLmh0Yy1vbmUgLnNlbnNvcjphZnRlcntiYWNrZ3JvdW5kOiMzYzNkM2Q7Ym9yZGVyLXJhZGl1czoxMDAlO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0Oi41ZW07cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6LjVlbTt6LWluZGV4OjN9Lm1hcnZlbC1kZXZpY2UuaHRjLW9uZSAuc2Vuc29yOmFmdGVye2NvbnRlbnQ6IiI7cmlnaHQ6Ljc1ZW07dG9wOjB9Lm1hcnZlbC1kZXZpY2UuaHRjLW9uZS5sYW5kc2NhcGV7aGVpZ2h0OjIwZW07cGFkZGluZzoxLjU2M2VtIDQuNWVtIDEuNTYzZW0gNi4yNWVtO3dpZHRoOjM1LjVlbX0ubWFydmVsLWRldmljZS5odGMtb25lLmxhbmRzY2FwZSAudG9wLWJhcntoZWlnaHQ6Y2FsYygxMDAlIC0gLjI1ZW0pO2xlZnQ6Y2FsYygxMDAlIC0gNDIuODEzZW0pO3RvcDouMTI1ZW07d2lkdGg6MzkuNjg4ZW19Lm1hcnZlbC1kZXZpY2UuaHRjLW9uZS5sYW5kc2NhcGUgLnNwZWFrZXJ7aGVpZ2h0OjEzLjVlbTtsZWZ0OmNhbGMoMTAwJSAtIDIuMzc1ZW0pO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDotNi43NWVtO3RvcDo1MCU7d2lkdGg6MWVtfS5tYXJ2ZWwtZGV2aWNlLmh0Yy1vbmUubGFuZHNjYXBlIC5zcGVha2VyOmFmdGVye2hlaWdodDoxMy41ZW07bGVmdDpjYWxjKDEwMCUgLSA0My4yNWVtKTttYXJnaW4tbGVmdDowO21hcmdpbi10b3A6LTYuNzVlbTt0b3A6NTAlO3dpZHRoOjFlbX0ubWFydmVsLWRldmljZS5odGMtb25lLmxhbmRzY2FwZSAuY2FtZXJhe3JpZ2h0OjEuMTI1ZW07dG9wOmNhbGMoMTAwJSAtIDIuMzc1ZW0pfS5tYXJ2ZWwtZGV2aWNlLmh0Yy1vbmUubGFuZHNjYXBlIC5zZW5zb3J7bGVmdDpjYWxjKDEwMCUgLSAxLjgxM2VtKTt0b3A6My43NWVtfS5tYXJ2ZWwtZGV2aWNlLmh0Yy1vbmUubGFuZHNjYXBlIC5zZW5zb3IgOmFmdGVye3JpZ2h0OjA7dG9wOi0uNzVlbX0ubWFydmVsLWRldmljZS5pcGFke2JhY2tncm91bmQ6IzI0MjMyNDtib3JkZXItcmFkaXVzOjIuNzVlbTtoZWlnaHQ6NDhlbTtwYWRkaW5nOjUuNjI1ZW0gMS41NjNlbTt3aWR0aDozNmVtfS5tYXJ2ZWwtZGV2aWNlLmlwYWQ6YmVmb3Jle2JhY2tncm91bmQ6IzFlMWUxZTtib3JkZXItcmFkaXVzOjIuNWVtO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYygxMDAlIC0gLjVlbSk7bGVmdDouMjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1ZW07d2lkdGg6Y2FsYygxMDAlIC0gLjVlbSl9Lm1hcnZlbC1kZXZpY2UuaXBhZCAuY2FtZXJhe2JhY2tncm91bmQ6IzNjM2QzZDtib3JkZXItcmFkaXVzOjEwMCU7aGVpZ2h0Oi42MjVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotLjMxM2VtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyLjc1ZW07d2lkdGg6LjYyNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwYWQgLmJvdHRvbS1iYXIsLm1hcnZlbC1kZXZpY2UuaXBhZCAudG9wLWJhcntkaXNwbGF5Om5vbmV9Lm1hcnZlbC1kZXZpY2UuaXBhZCAuaG9tZXtiYWNrZ3JvdW5kOiMyNDIzMjQ7Ym9yZGVyLXJhZGl1czoyLjI1ZW07Ym90dG9tOjEuMzc1ZW07aGVpZ2h0OjMuMTI1ZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTEuNTYzZW07cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6My4xMjVlbX0ubWFydmVsLWRldmljZS5pcGFkIC5ob21lOmFmdGVye2JvcmRlcjouMDYzZW0gc29saWQgaHNsYSgwLDAlLDEwMCUsLjEpO2JvcmRlci1yYWRpdXM6LjI1ZW07Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDouOTM4ZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LS41ZW07bWFyZ2luLXRvcDotLjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOi45MzhlbX0ubWFydmVsLWRldmljZS5pcGFkLmxhbmRzY2FwZXtoZWlnaHQ6MzZlbTtwYWRkaW5nOjEuNTYzZW0gNS42MjVlbTt3aWR0aDo0OGVtfS5tYXJ2ZWwtZGV2aWNlLmlwYWQubGFuZHNjYXBlIC5jYW1lcmF7bGVmdDpjYWxjKDEwMCUgLSAyLjc1ZW0pO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDotLjMxM2VtO3RvcDo1MCV9Lm1hcnZlbC1kZXZpY2UuaXBhZC5sYW5kc2NhcGUgLmhvbWV7bGVmdDoxLjM3NWVtO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDotMS41NjNlbTt0b3A6NTAlfS5tYXJ2ZWwtZGV2aWNlLmlwYWQuc2lsdmVye2JhY2tncm91bmQ6I2JjYmNiY30ubWFydmVsLWRldmljZS5pcGFkLnNpbHZlcjpiZWZvcmV7YmFja2dyb3VuZDojZmNmY2ZjfS5tYXJ2ZWwtZGV2aWNlLmlwYWQuc2lsdmVyIC5ob21le2JhY2tncm91bmQ6I2ZjZmNmYztib3gtc2hhZG93Omluc2V0IDAgMCAwIC4wNjNlbSAjYmNiY2JjfS5tYXJ2ZWwtZGV2aWNlLmlwYWQuc2lsdmVyIC5ob21lOmFmdGVye2JvcmRlcjouMDYzZW0gc29saWQgcmdiYSgwLDAsMCwuMil9Lm1hcnZlbC1kZXZpY2UubWFjYm9va3tiYWNrZ3JvdW5kOiNiZWJlYmU7Ym9yZGVyLXJhZGl1czoyLjEyNWVtO2hlaWdodDozNy41ZW07bWFyZ2luOjAgYXV0bztwYWRkaW5nOjIuNzVlbSAyLjc1ZW0gNC43NWVtO3dpZHRoOjYwZW19Lm1hcnZlbC1kZXZpY2UubWFjYm9vazpiZWZvcmV7YmFja2dyb3VuZDojMWUxZTFlO2JvcmRlci1yYWRpdXM6MS44NzVlbTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OmNhbGMoMTAwJSAtIC41ZW0pO2xlZnQ6LjI1ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOi4yNWVtO3dpZHRoOmNhbGMoMTAwJSAtIC41ZW0pfS5tYXJ2ZWwtZGV2aWNlLm1hY2Jvb2sgLnRvcC1iYXJ7YmFja2dyb3VuZDojYmViZWJlO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NS42MjVlbSAxLjEyNWVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjUuNjI1ZW0gMS4xMjVlbTtib3gtc2hhZG93Omluc2V0IDAgLS4yNWVtIC44MTNlbSAuMTg4ZW0gcmdiYSgzNCwzNCwzNCwuNik7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyLjVlbTtsZWZ0Oi00LjM3NWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0Mi41ZW07d2lkdGg6Y2FsYygxMDAlICsgOC43NWVtKX0ubWFydmVsLWRldmljZS5tYWNib29rIC50b3AtYmFyOmJlZm9yZXtiYWNrZ3JvdW5kOiNmMGYwZjA7Ym9yZGVyLWJvdHRvbTouMTI1ZW0gc29saWQgI2FhYTtib3JkZXItcmFkaXVzOi4zMTNlbTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEuNWVtO2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MDt3aWR0aDoxMDAlfS5tYXJ2ZWwtZGV2aWNlLm1hY2Jvb2sgLnRvcC1iYXI6YWZ0ZXJ7YmFja2dyb3VuZDojZGRkO2JvcmRlci1yYWRpdXM6MCAwIDEuMjVlbSAxLjI1ZW07Ym94LXNoYWRvdzppbnNldCAwIC0uMTg4ZW0gLjYyNWVtICM5OTk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDouODc1ZW07bGVmdDowO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt3aWR0aDoxNiV9Lm1hcnZlbC1kZXZpY2UubWFjYm9vayAuYm90dG9tLWJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MS42MjVlbTtsZWZ0Oi00LjM3NWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0Mi41ZW07d2lkdGg6Y2FsYygxMDAlICsgOC43NWVtKX0ubWFydmVsLWRldmljZS5tYWNib29rIC5ib3R0b20tYmFyOmFmdGVyLC5tYXJ2ZWwtZGV2aWNlLm1hY2Jvb2sgLmJvdHRvbS1iYXI6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYygxMDAlIC0gLjEyNWVtKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo1ZW19Lm1hcnZlbC1kZXZpY2UubWFjYm9vayAuYm90dG9tLWJhcjpiZWZvcmV7YmFja2dyb3VuZDojZjBmMGYwO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCM3NDc0NzQgMCwjYzNjM2MzIDUlLCNlYmViZWIgMTQlLCM5Nzk3OTcgNDElLCNmMGYwZjAgODAlLCNmMGYwZjAgMTAwJSwjZjBmMGYwIDApO2xlZnQ6MH0ubWFydmVsLWRldmljZS5tYWNib29rIC5ib3R0b20tYmFyOmFmdGVye2JhY2tncm91bmQ6I2YwZjBmMDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjBmMGYwIDAsI2YwZjBmMCAwLCNmMGYwZjAgMjAlLCM5Nzk3OTcgNTklLCNlYmViZWIgODYlLCNjM2MzYzMgOTUlLCM3NDc0NzQpO3JpZ2h0OjB9Lm1hcnZlbC1kZXZpY2UubWFjYm9vayAuY2FtZXJhe2JhY2tncm91bmQ6IzNjM2QzZDtib3JkZXItcmFkaXVzOjEwMCU7aGVpZ2h0Oi42MjVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotLjMxM2VtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxLjI1ZW07d2lkdGg6LjYyNWVtfS5tYXJ2ZWwtZGV2aWNlLm1hY2Jvb2sgLmhvbWV7ZGlzcGxheTpub25lfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14e2JhY2tncm91bmQ6I2ZkZmRmZDtib3JkZXItcmFkaXVzOjQuMTI1ZW07Ym94LXNoYWRvdzppbnNldCAwIDAgLjY4OGVtIDAgIzAwMDtoZWlnaHQ6NTAuNzVlbTtwYWRkaW5nOjEuNjI1ZW07d2lkdGg6MjMuNDM4ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXggLm92ZXJmbG93e2JvcmRlci1yYWRpdXM6NC4xMjVlbTtoZWlnaHQ6MTAwJTtsZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9Lm1hcnZlbC1kZXZpY2UuaXBob25lLXggLnNoYWRvd3tiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlcixyZ2JhKDAsMCwwLC42KSAwLGhzbGEoMCwwJSwxMDAlLDApIDYwJSk7Ym9yZGVyLXJhZGl1czoxMDAlO2hlaWdodDo1LjYyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjUuNjI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXggLnNoYWRvdy0tdGx7bGVmdDotMS4yNWVtO3RvcDotMS4yNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC5zaGFkb3ctLXRye3JpZ2h0Oi0xLjI1ZW07dG9wOi0xLjI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXggLnNoYWRvdy0tYmx7Ym90dG9tOi0xLjI1ZW07bGVmdDotMS4yNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC5zaGFkb3ctLWJye2JvdHRvbTotMS4yNWVtO3JpZ2h0Oi0xLjI1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXg6YmVmb3Jle2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjMuODEzZW07Y29udGVudDoiIjtoZWlnaHQ6Y2FsYygxMDAlIC0gLjYyNWVtKTtsZWZ0Oi4zMTNlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjMxM2VtO3dpZHRoOmNhbGMoMTAwJSAtIC42MjVlbSk7ei1pbmRleDoxfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC5pbm5lci1zaGFkb3d7Ym9yZGVyLXJhZGl1czozLjVlbTtib3gtc2hhZG93Omluc2V0IDAgMCAuOTM4ZW0gMCBoc2xhKDAsMCUsMTAwJSwuNjYpO2hlaWdodDpjYWxjKDEwMCUgLSAxLjI1ZW0pO2xlZnQ6LjYyNWVtO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjYyNWVtO3dpZHRoOmNhbGMoMTAwJSAtIDEuMjVlbSk7ei1pbmRleDoxfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC5pbm5lci1zaGFkb3c6YmVmb3Jle2JvcmRlci1yYWRpdXM6MTIuNWVtLzdlbTtib3gtc2hhZG93Omluc2V0IDAgMCAxLjI1ZW0gMCAjZmZmO2NvbnRlbnQ6IiI7aGVpZ2h0OjExNiU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotOCU7d2lkdGg6MTAwJTt6LWluZGV4OjJ9Lm1hcnZlbC1kZXZpY2UuaXBob25lLXggLnNjcmVlbntib3JkZXItcmFkaXVzOjIuNWVtO2JveC1zaGFkb3c6bm9uZX0ubWFydmVsLWRldmljZS5pcGhvbmUteCAuYm90dG9tLWJhciwubWFydmVsLWRldmljZS5pcGhvbmUteCAudG9wLWJhcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpO2hlaWdodDouNWVtO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC50b3AtYmFye3RvcDo1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXggLmJvdHRvbS1iYXJ7Ym90dG9tOjVlbX0ubWFydmVsLWRldmljZS5pcGhvbmUteCAuc2xlZXAsLm1hcnZlbC1kZXZpY2UuaXBob25lLXggLnZvbHVtZSwubWFydmVsLWRldmljZS5pcGhvbmUteCAudm9sdW1lOmFmdGVyLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC52b2x1bWU6YmVmb3Jle2JhY2tncm91bmQ6I2I1YjViNTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDouMTg4ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXggLnZvbHVtZXtoZWlnaHQ6MmVtO2xlZnQ6LS4xODhlbTt0b3A6Ny4yNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC52b2x1bWU6YmVmb3Jle2NvbnRlbnQ6IiI7aGVpZ2h0OjMuODc1ZW07bGVmdDowO3RvcDozLjg3NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC52b2x1bWU6YWZ0ZXJ7Y29udGVudDoiIjtoZWlnaHQ6My44NzVlbTtsZWZ0OjA7dG9wOjguNzVlbX0ubWFydmVsLWRldmljZS5pcGhvbmUteCAuc2xlZXB7aGVpZ2h0OjZlbTtyaWdodDotLjE4OGVtO3RvcDoxMi41ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXggLmNhbWVyYXtiYWNrZ3JvdW5kOiMwZDRkNzE7Ym9yZGVyLXJhZGl1czoxMDAlO2hlaWdodDouMzc1ZW07bGVmdDo5LjYyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDouNTYzZW07d2lkdGg6LjM3NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC5zcGVha2Vye2JhY2tncm91bmQ6IzE3MTgxODtib3JkZXItcmFkaXVzOi4zNzVlbTtoZWlnaHQ6LjM3NWVtO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xLjg3NWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDouNTYzZW07d2lkdGg6My43NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC5ub3RjaHtiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czoxLjVlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxLjVlbTtoZWlnaHQ6MS44NzVlbTtsZWZ0OjYuNzVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MS42MjVlbTt3aWR0aDoxMy4xMjVlbTt6LWluZGV4OjR9Lm1hcnZlbC1kZXZpY2UuaXBob25lLXggLm5vdGNoOmFmdGVyLC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC5ub3RjaDpiZWZvcmV7Y29udGVudDoiIjtoZWlnaHQ6LjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDouNWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC5ub3RjaDphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgYm90dG9tIGxlZnQsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCA3MCUsIzAwMCAwLCMwMDAgMTAwJSk7bGVmdDotLjVlbX0ubWFydmVsLWRldmljZS5pcGhvbmUteCAubm90Y2g6YmVmb3Jle2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBib3R0b20gcmlnaHQsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCA3MCUsIzAwMCAwLCMwMDAgMTAwJSk7cmlnaHQ6LS41ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXgubGFuZHNjYXBle2hlaWdodDoyMy40MzhlbTt3aWR0aDo1MC43NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14LmxhbmRzY2FwZSAuYm90dG9tLWJhciwubWFydmVsLWRldmljZS5pcGhvbmUteC5sYW5kc2NhcGUgLnRvcC1iYXJ7aGVpZ2h0OjEwMCU7dG9wOjA7d2lkdGg6LjVlbX0ubWFydmVsLWRldmljZS5pcGhvbmUteC5sYW5kc2NhcGUgLnRvcC1iYXJ7bGVmdDo1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXgubGFuZHNjYXBlIC5ib3R0b20tYmFye2JvdHRvbTphdXRvO2xlZnQ6YXV0bztyaWdodDo1ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXgubGFuZHNjYXBlIC5zbGVlcCwubWFydmVsLWRldmljZS5pcGhvbmUteC5sYW5kc2NhcGUgLnZvbHVtZSwubWFydmVsLWRldmljZS5pcGhvbmUteC5sYW5kc2NhcGUgLnZvbHVtZTphZnRlciwubWFydmVsLWRldmljZS5pcGhvbmUteC5sYW5kc2NhcGUgLnZvbHVtZTpiZWZvcmV7aGVpZ2h0Oi4xODhlbX0ubWFydmVsLWRldmljZS5pcGhvbmUteC5sYW5kc2NhcGUgLmlubmVyLXNoYWRvdzpiZWZvcmV7Ym9yZGVyLXJhZGl1czo3ZW0vMTIuNWVtO2hlaWdodDoxMDAlO2xlZnQ6LTglO3RvcDowO3dpZHRoOjExNiV9Lm1hcnZlbC1kZXZpY2UuaXBob25lLXgubGFuZHNjYXBlIC52b2x1bWV7Ym90dG9tOi0uMTg4ZW07bGVmdDo3LjI1ZW07dG9wOmF1dG87d2lkdGg6MmVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14LmxhbmRzY2FwZSAudm9sdW1lOmJlZm9yZXtsZWZ0OjMuODc1ZW07dG9wOjA7d2lkdGg6My44NzVlbX0ubWFydmVsLWRldmljZS5pcGhvbmUteC5sYW5kc2NhcGUgLnZvbHVtZTphZnRlcntsZWZ0OjguNzVlbTt0b3A6MDt3aWR0aDozLjg3NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14LmxhbmRzY2FwZSAuc2xlZXB7bGVmdDoxMi41ZW07cmlnaHQ6YXV0bzt0b3A6LS4xODhlbTt3aWR0aDo2ZW19Lm1hcnZlbC1kZXZpY2UuaXBob25lLXgubGFuZHNjYXBlIC5jYW1lcmF7Ym90dG9tOjkuNjI1ZW07bGVmdDouNTYzZW07dG9wOmF1dG99Lm1hcnZlbC1kZXZpY2UuaXBob25lLXgubGFuZHNjYXBlIC5zcGVha2Vye2hlaWdodDozLjc1ZW07bGVmdDouNTYzZW07bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOi0xLjg3NWVtO3RvcDo1MCU7d2lkdGg6LjM3NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14LmxhbmRzY2FwZSAubm90Y2h7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNWVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjEuNWVtO2JvdHRvbTo2Ljc1ZW07aGVpZ2h0OjEzLjEyNWVtO2xlZnQ6MS42MjVlbTt0b3A6YXV0bzt3aWR0aDoxLjg3NWVtfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14LmxhbmRzY2FwZSAubm90Y2g6YWZ0ZXIsLm1hcnZlbC1kZXZpY2UuaXBob25lLXgubGFuZHNjYXBlIC5ub3RjaDpiZWZvcmV7bGVmdDowfS5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14LmxhbmRzY2FwZSAubm90Y2g6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IGJvdHRvbSByaWdodCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDcwJSwjMDAwIDAsIzAwMCAxMDAlKTtib3R0b206LS41ZW07dG9wOmF1dG99Lm1hcnZlbC1kZXZpY2UuaXBob25lLXgubGFuZHNjYXBlIC5ub3RjaDpiZWZvcmV7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IHRvcCByaWdodCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDcwJSwjMDAwIDAsIzAwMCAxMDAlKTt0b3A6LS41ZW19Lm1hcnZlbC1kZXZpY2Uubm90ZTh7YmFja2dyb3VuZDojMDAwO2JvcmRlci1yYWRpdXM6Mi4xMjVlbTtoZWlnaHQ6NTEuMzc1ZW07cGFkZGluZzoyLjgxM2VtIC42MjVlbTt3aWR0aDoyNWVtfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC5vdmVyZmxvd3tib3JkZXItcmFkaXVzOjIuMTI1ZW07aGVpZ2h0OjEwMCU7bGVmdDowO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC5zcGVha2Vye2JhY2tncm91bmQ6IzE3MTgxODtib3JkZXItcmFkaXVzOi41ZW07aGVpZ2h0Oi41ZW07bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTEuNzVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MS41NjNlbTt3aWR0aDozLjVlbTt6LWluZGV4OjF9Lm1hcnZlbC1kZXZpY2Uubm90ZTggLmNhbWVyYXtoZWlnaHQ6MS4xMjVlbTtsZWZ0OjUuMzc1ZW07dG9wOjEuMTI1ZW07d2lkdGg6MS4xMjVlbX0ubWFydmVsLWRldmljZS5ub3RlOCAuY2FtZXJhLC5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC5jYW1lcmE6YmVmb3Jle2JhY2tncm91bmQ6IzIxMmIzNjtib3JkZXItcmFkaXVzOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC5jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IiI7aGVpZ2h0Oi41ZW07bGVmdDotMS4zNzVlbTt0b3A6LjMxM2VtO3dpZHRoOi41ZW19Lm1hcnZlbC1kZXZpY2Uubm90ZTggLnNlbnNvcnN7bGVmdDo3LjVlbTt0b3A6MS4zNzVlbX0ubWFydmVsLWRldmljZS5ub3RlOCAuc2Vuc29ycywubWFydmVsLWRldmljZS5ub3RlOCAuc2Vuc29yczpiZWZvcmV7YmFja2dyb3VuZDojMWQyMzNiO2JvcmRlci1yYWRpdXM6MTAwJTtoZWlnaHQ6LjYyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOi42MjVlbTt6LWluZGV4OjF9Lm1hcnZlbC1kZXZpY2Uubm90ZTggLnNlbnNvcnM6YmVmb3Jle2NvbnRlbnQ6IiI7bGVmdDoxLjEyNWVtO3RvcDowfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC5tb3JlLXNlbnNvcnN7YmFja2dyb3VuZDojMzMyNDRhO2JvcmRlci1yYWRpdXM6MTAwJTtib3gtc2hhZG93OjAgMCAwIC4xMjVlbSBoc2xhKDAsMCUsMTAwJSwuMSk7aGVpZ2h0OjFlbTtsZWZ0OjE3LjgxM2VtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxLjEyNWVtO3dpZHRoOjFlbTt6LWluZGV4OjF9Lm1hcnZlbC1kZXZpY2Uubm90ZTggLm1vcmUtc2Vuc29yczpiZWZvcmV7YmFja2dyb3VuZDojMjE0YTYxO2JvcmRlci1yYWRpdXM6MTAwJTtjb250ZW50OiIiO2hlaWdodDouNjg4ZW07bGVmdDoyLjVlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1ZW07d2lkdGg6LjY4OGVtO3otaW5kZXg6MX0ubWFydmVsLWRldmljZS5ub3RlOCAuc2xlZXB7YmFja2dyb3VuZDojMDAwO2hlaWdodDozLjVlbTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotLjEyNWVtO3RvcDoxOGVtO3dpZHRoOi4xMjVlbX0ubWFydmVsLWRldmljZS5ub3RlOCAudm9sdW1le2JhY2tncm91bmQ6IzAwMDtoZWlnaHQ6Ny41ZW07bGVmdDotLjEyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMC41ZW07d2lkdGg6LjEyNWVtfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC52b2x1bWU6YmVmb3Jle2JhY2tncm91bmQ6IzAwMDtjb250ZW50OiIiO2hlaWdodDozLjVlbTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwLjVlbTt3aWR0aDouMTI1ZW19Lm1hcnZlbC1kZXZpY2Uubm90ZTggLmlubmVye2JhY2tncm91bmQ6IzAwMDtib3JkZXItYm90dG9tOi4xMjVlbSBzb2xpZCAjOWZhMGEyO2JvcmRlci1yYWRpdXM6Mi4xMjVlbTtib3JkZXItdG9wOi4xMjVlbSBzb2xpZCAjOWZhMGEyO2JveC1zaGFkb3c6aW5zZXQgMCAwIC4zNzVlbSAwIGhzbGEoMCwwJSwxMDAlLC41KTtjb250ZW50OiIiO2hlaWdodDpjYWxjKDEwMCUgLSAuNWVtKTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOi4xMjVlbTt3aWR0aDoxMDAlO3otaW5kZXg6MX0ubWFydmVsLWRldmljZS5ub3RlOCAuc2hhZG93e2JvcmRlci1yYWRpdXM6Mi4zNzVlbTtib3gtc2hhZG93Omluc2V0IDAgMCAzLjc1ZW0gMCAjZmZmLGluc2V0IDAgMCAxLjg3NWVtIDAgaHNsYSgwLDAlLDEwMCUsLjUpLDAgMCAxLjI1ZW0gMCAjZmZmLDAgMCAxLjI1ZW0gMCBoc2xhKDAsMCUsMTAwJSwuNSk7Y29udGVudDoiIjtoZWlnaHQ6MTAxJTtsZWZ0Oi42MjVlbTtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotLjUlO3dpZHRoOmNhbGMoMTAwJSAtIDEuMjVlbSk7ei1pbmRleDo1fS5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC5zY3JlZW57Ym9yZGVyLXJhZGl1czouODc1ZW07Ym94LXNoYWRvdzpub25lfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4LmxhbmRzY2FwZXtoZWlnaHQ6MjVlbTtwYWRkaW5nOi42MjVlbSAyLjgxM2VtO3dpZHRoOjUxLjM3NWVtfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4LmxhbmRzY2FwZSAuc3BlYWtlcntoZWlnaHQ6My41ZW07bGVmdDphdXRvO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDotMS43NWVtO3JpZ2h0OjEuNTYzZW07dG9wOjUwJTt3aWR0aDouNWVtfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4LmxhbmRzY2FwZSAuY2FtZXJhe2xlZnQ6YXV0bztyaWdodDoxLjEyNWVtO3RvcDo1LjM3NWVtfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4LmxhbmRzY2FwZSAuY2FtZXJhOmJlZm9yZXtsZWZ0Oi4zMTNlbTt0b3A6LTEuMzc1ZW19Lm1hcnZlbC1kZXZpY2Uubm90ZTgubGFuZHNjYXBlIC5zZW5zb3Jze2xlZnQ6YXV0bztyaWdodDoxLjM3NWVtO3RvcDo3LjVlbX0ubWFydmVsLWRldmljZS5ub3RlOC5sYW5kc2NhcGUgLnNlbnNvcnM6YmVmb3Jle2xlZnQ6MDt0b3A6MS4xMjVlbX0ubWFydmVsLWRldmljZS5ub3RlOC5sYW5kc2NhcGUgLm1vcmUtc2Vuc29yc3tsZWZ0OmF1dG87cmlnaHQ6MS4xMjVlbTt0b3A6MTcuODEzZW19Lm1hcnZlbC1kZXZpY2Uubm90ZTgubGFuZHNjYXBlIC5tb3JlLXNlbnNvcnM6YmVmb3Jle2xlZnQ6LjI1ZW07dG9wOjIuNWVtfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4LmxhbmRzY2FwZSAuc2xlZXB7Ym90dG9tOi0uMTI1ZW07aGVpZ2h0Oi4xMjVlbTtyaWdodDoxOGVtO3RvcDphdXRvO3dpZHRoOjMuNWVtfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4LmxhbmRzY2FwZSAudm9sdW1le2hlaWdodDouMTI1ZW07bGVmdDphdXRvO3JpZ2h0OjEwLjVlbTt0b3A6LS4xMjVlbTt3aWR0aDo3LjVlbX0ubWFydmVsLWRldmljZS5ub3RlOC5sYW5kc2NhcGUgLnZvbHVtZTpiZWZvcmV7aGVpZ2h0Oi4xMjVlbTtsZWZ0OmF1dG87cmlnaHQ6MTAuNWVtO3RvcDowO3dpZHRoOjMuNWVtfS5tYXJ2ZWwtZGV2aWNlLm5vdGU4LmxhbmRzY2FwZSAuaW5uZXJ7Ym9yZGVyLWJvdHRvbTowO2JvcmRlci1sZWZ0Oi4xMjVlbSBzb2xpZCAjOWZhMGEyO2JvcmRlci1yaWdodDouMTI1ZW0gc29saWQgIzlmYTBhMjtib3JkZXItdG9wOjA7aGVpZ2h0OjEwMCU7bGVmdDouMTI1ZW07dG9wOjA7d2lkdGg6Y2FsYygxMDAlIC0gLjVlbSl9Lm1hcnZlbC1kZXZpY2Uubm90ZTgubGFuZHNjYXBlIC5zaGFkb3d7aGVpZ2h0OmNhbGMoMTAwJSAtIDEuMjVlbSk7bGVmdDotLjUlO3RvcDouNjI1ZW07d2lkdGg6MTAxJX0ubWFydmVsLWRldmljZS50YWJsZXR7YmFja2dyb3VuZDojMjQyMzI0O2JvcmRlci1yYWRpdXM6MS43NWVtO2hlaWdodDo0OGVtO3BhZGRpbmc6My42MjVlbSAxLjU2M2VtO3dpZHRoOjM2ZW19Lm1hcnZlbC1kZXZpY2UudGFibGV0OmJlZm9yZXtiYWNrZ3JvdW5kOiMxZTFlMWU7Ym9yZGVyLXJhZGl1czoyLjVlbTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OmNhbGMoMTAwJSAtIC41ZW0pO2xlZnQ6LjI1ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOi4yNWVtO3dpZHRoOmNhbGMoMTAwJSAtIC41ZW0pfS5tYXJ2ZWwtZGV2aWNlLnRhYmxldCAuY2FtZXJhe2JhY2tncm91bmQ6IzNjM2QzZDtib3JkZXItcmFkaXVzOjEwMCU7aGVpZ2h0Oi42MjVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotLjMxM2VtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxLjZlbTt3aWR0aDouNjI1ZW19Lm1hcnZlbC1kZXZpY2UudGFibGV0IC5ib3R0b20tYmFyLC5tYXJ2ZWwtZGV2aWNlLnRhYmxldCAudG9wLWJhcntkaXNwbGF5Om5vbmV9Lm1hcnZlbC1kZXZpY2UudGFibGV0IC5ob21le2JhY2tncm91bmQ6IzI0MjMyNDtib3JkZXItcmFkaXVzOjIuMjVlbTtib3R0b206MS4zNzVlbTtoZWlnaHQ6My4xMjVlbTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMS41NjNlbTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozLjEyNWVtfS5tYXJ2ZWwtZGV2aWNlLnRhYmxldCAuaG9tZTphZnRlcntib3JkZXI6LjA2M2VtIHNvbGlkIGhzbGEoMCwwJSwxMDAlLC4xKTtib3JkZXItcmFkaXVzOi4yNWVtO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6LjkzOGVtO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0uNWVtO21hcmdpbi10b3A6LS41ZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDouOTM4ZW19Lm1hcnZlbC1kZXZpY2UudGFibGV0LmxhbmRzY2FwZXtoZWlnaHQ6MzZlbTtwYWRkaW5nOjEuNTYzZW0gNS42MjVlbTt3aWR0aDo0OGVtfS5tYXJ2ZWwtZGV2aWNlLnRhYmxldC5sYW5kc2NhcGUgLmNhbWVyYXtsZWZ0OmNhbGMoMTAwJSAtIDIuNzVlbSk7bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOi0uMzEzZW07dG9wOjUwJX0ubWFydmVsLWRldmljZS50YWJsZXQubGFuZHNjYXBlIC5ob21le2xlZnQ6MS4zNzVlbTttYXJnaW4tbGVmdDowO21hcmdpbi10b3A6LTEuNTYzZW07dG9wOjUwJX0ubWFydmVsLWRldmljZS50YWJsZXQuc2lsdmVye2JhY2tncm91bmQ6I2JjYmNiY30ubWFydmVsLWRldmljZS50YWJsZXQuc2lsdmVyOmJlZm9yZXtiYWNrZ3JvdW5kOiNmY2ZjZmN9Lm1hcnZlbC1kZXZpY2UudGFibGV0LnNpbHZlciAuaG9tZXtiYWNrZ3JvdW5kOiNmY2ZjZmM7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAuMDYzZW0gI2JjYmNiY30ubWFydmVsLWRldmljZS50YWJsZXQuc2lsdmVyIC5ob21lOmFmdGVye2JvcmRlcjouMDYzZW0gc29saWQgcmdiYSgwLDAsMCwuMil9Lm1hcnZlbC1kZXZpY2UubWFjYm9va3tmb250LXNpemU6LjAxcmVtfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubWFydmVsLWRldmljZS5tYWNib29re2ZvbnQtc2l6ZTouNnJlbX19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsubWFydmVsLWRldmljZS5tYWNib29re2ZvbnQtc2l6ZTouNnJlbX19Lm1kLWltYWN7Zm9udC1zaXplOi4zNXJlbTtoZWlnaHQ6NTBlbTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3dpZHRoOjU5ZW19Lm1kLWltYWMgLm1kLWJvZHl7YmFja2dyb3VuZDojYzZjN2NhO2JvcmRlci1yYWRpdXM6MS44NzVlbTtoZWlnaHQ6NDMuMTI1ZW07b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCV9Lm1kLWltYWMgLm1kLXRvcHtiYWNrZ3JvdW5kOiMwZjBmMGY7Ym9yZGVyLXJhZGl1czoxLjg3NWVtIDEuODc1ZW0gMCAwO2hlaWdodDozNy4xODc1ZW07cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0ubWQtaW1hYyAubWQtc2NyZWVue2JhY2tncm91bmQ6IzE3MTcxYTtoZWlnaHQ6MzIuMzc1ZW07bWFyZ2luOjAgYXV0bztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dG9wOjIuMzc1ZW07d2lkdGg6NTcuNWVtfS5tZC1pbWFjIC5tZC1zY3JlZW4gaW1ne3dpZHRoOjEwMCV9Lm1kLWltYWMgLm1kLWNhbWVyYXtiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czoxMDAlO2JveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjI1KTtoZWlnaHQ6LjM3NWVtO21hcmdpbjowIGF1dG87cG9zaXRpb246cmVsYXRpdmU7dG9wOjEuMjVlbTt3aWR0aDouMzc1ZW19Lm1kLWltYWMgLm1kLWNhbWVyYTphZnRlcntiYWNrZ3JvdW5kOiMzNTM1NDI7Ym9yZGVyLXJhZGl1czoxMDAlO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6LjEyNWVtO2xlZnQ6LjEyNWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDouMDYyNWVtO3dpZHRoOi4xMjVlbX0ubWQtaW1hYyAubWQtYmFzZXtoZWlnaHQ6Ni44NzVlbTttYXJnaW46LS41ZW0gYXV0bzt3aWR0aDoxOS4yNWVtfS5tZC1pbWFjIC5tZC1zdGFuZHtiYWNrZ3JvdW5kOiM0MzQzNDM7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCMxNzE3MTc0ZCwjY2FjYWNhMjYpO2hlaWdodDo2LjEyNWVtO21hcmdpbjowIGF1dG87dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDUwZW0pIHJvdGF0ZVgoMzBkZWcpO3dpZHRoOjEzLjEyNWVtfS5tZC1pbWFjIC5tZC1mb290e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KCM2ZjZjNmMxZiAyMCUsI2FiYWJhYjQwKTtib3JkZXItcmFkaXVzOjAgMCAuNjI1ZW0gLjYyNWVtO2JvdHRvbToxLjVlbTtib3gtc2hhZG93OjAgLjM3NWVtIDAgaHNsYSgwLDAlLDEwMCUsMCk7aGVpZ2h0OjMuMTI1ZW07bWFyZ2luOjAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTEuODc1ZW0pIHJvdGF0ZVgoNzBkZWcpO3dpZHRoOjE1ZW19Lm1kLWltYWMgLm1kLWdsYXJlIC5tZC10b3A6YWZ0ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDhkZWcsaHNsYSgwLDAlLDEwMCUsMCkgNTAlLGhzbGEoNjgsMzYlLDk2JSwuMDI1KSAwLHJnYmEoMjUwLDI0NSwyNTIsLjA4KSk7Ym9yZGVyLXJhZGl1czowIDEuMjVlbSAwIDA7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6NTAlfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubWQtaW1hY3tmb250LXNpemU6LjVyZW19fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7Lm1kLWltYWN7Zm9udC1zaXplOi41N3JlbX19LmRvdHtkaXNwbGF5Om5vbmU7aGVpZ2h0OjIlO21hcmdpbjphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjIlfS5jZW50cmFsZG90ey13ZWJraXQtYW5pbWF0aW9uOmFuaW1hdGlvbkRvdENlbnRyYWwgMS41cyBsaW5lYXI7YW5pbWF0aW9uOmFuaW1hdGlvbkRvdENlbnRyYWwgMS41cyBsaW5lYXI7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YmFja2dyb3VuZDojYzAwO2JvcmRlci1yYWRpdXM6MzBweDtoZWlnaHQ6NHB4O2xlZnQ6Y2FsYyg1MCUgLSAycHgpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDJweCk7dHJhbnNmb3JtLW9yaWdpbjo1MCUgNTAlO3dpZHRoOjRweH0ud2F2ZXstd2Via2l0LWFuaW1hdGlvbjphbmltYXRpb25XYXZlIDEuNXMgY3ViaWMtYmV6aWVyKDAsLjU0LC41MywxKTthbmltYXRpb246YW5pbWF0aW9uV2F2ZSAxLjVzIGN1YmljLWJlemllcigwLC41NCwuNTMsMSk7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjI1czthbmltYXRpb24tZGVsYXk6LjI1czstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZX0ud2F2ZSwud2F2ZTJ7YmFja2dyb3VuZDojYzAwO2JvcmRlci1yYWRpdXM6MjBweDtoZWlnaHQ6MjZweDtsZWZ0OmNhbGMoNTAlIC0gMTNweCk7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDEzcHgpO3RyYW5zZm9ybS1vcmlnaW46NTAlIDUwJTt3aWR0aDoyNnB4fS53YXZlMnstd2Via2l0LWFuaW1hdGlvbjphbmltYXRpb25XYXZlIDEuNXMgY3ViaWMtYmV6aWVyKDAsLjU0LC41MywxKTthbmltYXRpb246YW5pbWF0aW9uV2F2ZSAxLjVzIGN1YmljLWJlemllcigwLC41NCwuNTMsMSk7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjVzO2FuaW1hdGlvbi1kZWxheTouNXM7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGV9QC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbkRvdENlbnRyYWx7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgwKX01JXt0cmFuc2Zvcm06c2NhbGUoMil9MTAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoLjkpfTExJXt0cmFuc2Zvcm06c2NhbGUoMS41KX0xMiV7dHJhbnNmb3JtOnNjYWxlKDEpfTI4JXtiYWNrZ3JvdW5kOiNjMDB9Mjkle2JhY2tncm91bmQ6I2MwMH0zMSV7YmFja2dyb3VuZDojYzAwfTMzJXtiYWNrZ3JvdW5kOiNjMDB9MzUle2JhY2tncm91bmQ6I2MwMH05MCV7b3BhY2l0eTouOH10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYW5pbWF0aW9uRG90Q2VudHJhbHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKDApfTUle3RyYW5zZm9ybTpzY2FsZSgyKX0xMCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSguOSl9MTEle3RyYW5zZm9ybTpzY2FsZSgxLjUpfTEyJXt0cmFuc2Zvcm06c2NhbGUoMSl9Mjgle2JhY2tncm91bmQ6I2MwMH0yOSV7YmFja2dyb3VuZDojYzAwfTMxJXtiYWNrZ3JvdW5kOiNjMDB9MzMle2JhY2tncm91bmQ6I2MwMH0zNSV7YmFja2dyb3VuZDojYzAwfTkwJXtvcGFjaXR5Oi44fXRve29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbldhdmV7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgwKX0xJXtvcGFjaXR5Oi44fTEwJXtiYWNrZ3JvdW5kOiNjMDB9dG97YmFja2dyb3VuZDojYzAwO3RyYW5zZm9ybTpzY2FsZSgxKX19QGtleWZyYW1lcyBhbmltYXRpb25XYXZlezAle29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMCl9MSV7b3BhY2l0eTouOH0xMCV7YmFja2dyb3VuZDojYzAwfXRve2JhY2tncm91bmQ6I2MwMDt0cmFuc2Zvcm06c2NhbGUoMSl9fUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGV7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUBrZXlmcmFtZXMgcm90YXRlezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5ib3JkZXItZGFuZ2VyLWFuaW1hdGV7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjouNXN9LmJvcmRlci1kYW5nZXItYW5pbWF0ZTpob3Zlcntib3JkZXItY29sb3I6I2ZmZn0uYm9yZGVyLWRhbmdlci1hbmltYXRlOmFmdGVyLC5ib3JkZXItZGFuZ2VyLWFuaW1hdGU6YmVmb3Jle2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNpdGlvbjouNXM7d2lkdGg6MTAwJX0uYm9yZGVyLWRhbmdlci1hbmltYXRlOmJlZm9yZXtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojYzAwO2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO3RyYW5zZm9ybS1vcmlnaW46MCAxMDAlfS5ib3JkZXItZGFuZ2VyLWFuaW1hdGU6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiNjMDA7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci10b3Atc3R5bGU6c29saWQ7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9LmJvcmRlci1kYW5nZXItYW5pbWF0ZTpob3ZlcjphZnRlciwuYm9yZGVyLWRhbmdlci1hbmltYXRlOmhvdmVyOmJlZm9yZXt0cmFuc2Zvcm06c2NhbGUoMSl9LmNpcmNsZS1pbm5lciwuY2lyY2xlLW91dGVye2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmZsZXg7ZmxvYXQ6bGVmdDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5jaXJjbGUtb3V0ZXJ7Ym9yZGVyOjEwcHggc29saWQgI2RlZTJlNjtoZWlnaHQ6MTcwcHg7d2lkdGg6MTcwcHh9LmNpcmNsZS1pbm5lcntib3JkZXI6NnB4IHNvbGlkICNkZWUyZTY7aGVpZ2h0OjE0MHB4O3dpZHRoOjE0MHB4fS5jaXJjbGUtcm90YXRlLC5jaXJjbGUtcm90YXRlLXJldnstd2Via2l0LWFuaW1hdGlvbjpyb3RhdGUgMnMgbGluZWFyO2FuaW1hdGlvbjpyb3RhdGUgMnMgbGluZWFyfS5jaXJjbGUtcm90YXRle2JvcmRlcjoxMHB4IG91dHNldCAjZGVlMmU2fS5jaXJjbGUtcm90YXRlLXJldnthbmltYXRpb24tZGlyZWN0aW9uOmFsdGVybmF0ZS1yZXZlcnNlO2JvcmRlcjoxMHB4IGluc2V0ICNkZWUyZTZ9LmZpcmV3b3Jrcz4uYWZ0ZXIsLmZpcmV3b3Jrcz4uYmVmb3Jley13ZWJraXQtYW5pbWF0aW9uOmJhbmcgMXMgZWFzZS1vdXQgaW5maW5pdGUgYmFja3dhcmRzLGdyYXZpdHkgMXMgZWFzZS1pbiBpbmZpbml0ZSBiYWNrd2FyZHMscG9zaXRpb24gNXMgbGluZWFyIGluZmluaXRlIGJhY2t3YXJkczthbmltYXRpb246YmFuZyAxcyBlYXNlLW91dCBpbmZpbml0ZSBiYWNrd2FyZHMsZ3Jhdml0eSAxcyBlYXNlLWluIGluZmluaXRlIGJhY2t3YXJkcyxwb3NpdGlvbiA1cyBsaW5lYXIgaW5maW5pdGUgYmFja3dhcmRzO2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmYsMCAwICNmZmY7aGVpZ2h0OjVweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1cHh9LmZpcmV3b3Jrcz4uYWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MS4yNXMsMS4yNXMsMS4yNXM7YW5pbWF0aW9uLWRlbGF5OjEuMjVzLDEuMjVzLDEuMjVzOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjEuMjVzLDEuMjVzLDYuMjVzO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjI1cywxLjI1cyw2LjI1c31ALXdlYmtpdC1rZXlmcmFtZXMgYmFuZ3t0b3tib3gtc2hhZG93Oi0yMTlweCAtMjcxLjMzMzMzMzMzMzNweCAjMjBmLC0xMTFweCAtNC4zMzMzMzMzMzMzcHggI2ZiMDBmZiwtODhweCA2NS42NjY2NjY2NjY3cHggIzYyMDBmZiwyOXB4IC00MjAuMzMzMzMzMzMzM3B4ICMwMGZmNDAsMTg4cHggLTQ1Mi4zMzMzMzMzMzMzcHggIzBkZmYwMCwtMTMzcHggLTk0LjMzMzMzMzMzMzNweCAjZmYxYTAwLDE1NHB4IC03MC4zMzMzMzMzMzMzcHggIzAwZmYyZiwtMjAzcHggLTI5My4zMzMzMzMzMzMzcHggIzAwMDRmZiwxOTRweCAtMTQ1LjMzMzMzMzMzMzNweCAjOWRmZjAwLDg4cHggLTQwMy4zMzMzMzMzMzMzcHggIzAwZmY4YywtMjlweCAtMzgxLjMzMzMzMzMzMzNweCAjMDAwZGZmLC0yNDVweCAtMjE2LjMzMzMzMzMzMzNweCAjOTUwMGZmLC03MHB4IC0zNjUuMzMzMzMzMzMzM3B4ICMyNjAwZmYsMTkxcHggLTE3MS4zMzMzMzMzMzMzcHggIzAwZmZiZiwtMjIzcHggLTkyLjMzMzMzMzMzMzNweCAjZmYyZjAwLDIyM3B4IC00MTAuMzMzMzMzMzMzM3B4ICMwMDdiZmYsMTkycHggLTM0Ni4zMzMzMzMzMzMzcHggIzAwZmY0OCwtNHB4IC0xMy4zMzMzMzMzMzMzcHggIzAwMDRmZiwyMDRweCAtMTI2LjMzMzMzMzMzMzNweCAjZmYwLC0xMDdweCAtNjMuMzMzMzMzMzMzM3B4ICMyNjAwZmYsLTIzOHB4IC0xNzAuMzMzMzMzMzMzM3B4ICNmZmQwMDAsMTI1cHggLTEzLjMzMzMzMzMzMzNweCAjMDRmZjAwLDEwMHB4IC0xNzEuMzMzMzMzMzMzM3B4ICM1ZWZmMDAsNTNweCAtMTIxLjMzMzMzMzMzMzNweCAjZmY0MDAwLDU5cHggODMuNjY2NjY2NjY2N3B4ICMwMGZmOWQsLTJweCAtMzIzLjMzMzMzMzMzMzNweCAjZmYwMGUxLC0xNTZweCAtNDI2LjMzMzMzMzMzMzNweCAjZmYwOTAwLDIzOHB4IC0yOTkuMzMzMzMzMzMzM3B4ICNmNzAwZmYsMzJweCAtODcuMzMzMzMzMzMzM3B4ICNmZjQ4MDAsMXB4IC0zLjMzMzMzMzMzMzNweCAjMmYwMGZmLDgzcHggLTc3LjMzMzMzMzMzMzNweCAjMDhmLDExMnB4IC0xNzkuMzMzMzMzMzMzM3B4ICNlMWZmMDAsMTc0cHggLTMyMi4zMzMzMzMzMzMzcHggI2YyMDBmZiwtOHB4IC01Ni4zMzMzMzMzMzMzcHggIzAwZmZjOCwtOXB4IC00MjYuMzMzMzMzMzMzM3B4ICMxNTAwZmYsLTExOXB4IC0yODcuMzMzMzMzMzMzM3B4ICMwMGZmZWEsLTIyNXB4IDM5LjY2NjY2NjY2NjdweCAjMDBmZjZmLC0yMnB4IC0zMTUuMzMzMzMzMzMzM3B4ICNmZjAwMDQsLTE5NHB4IC0yNDguMzMzMzMzMzMzM3B4ICNmNjAsMTI2cHggLTMwNC4zMzMzMzMzMzMzcHggI2JmMDBmZiwxNDVweCAtNDEwLjMzMzMzMzMzMzNweCAjMDBmZjM3LDI1MHB4IDc4LjY2NjY2NjY2NjdweCAjZmYwMGYyLDI2NHB4IC00MTMuMzMzMzMzMzMzM3B4ICMyMGYsMTUxcHggLTM3NC4zMzMzMzMzMzMzcHggIzVmMCwtMjIwcHggMTMuNjY2NjY2NjY2N3B4ICNkZjAsMTIzcHggLTM2NS4zMzMzMzMzMzMzcHggIzAwZmZjOCwtMjU0cHggLTY0LjMzMzMzMzMzMzNweCAjMGYyLDI2NnB4IC0xMTkuMzMzMzMzMzMzM3B4ICNmZjAwNzMsMjY0cHggLTExNi4zMzMzMzMzMzMzcHggIzE1ZmYwMCwtMTUzcHggLTE1MC4zMzMzMzMzMzMzcHggIzBmOCwyMHB4IC00MjYuMzMzMzMzMzMzM3B4ICNmMDYsNjVweCAtMzc4LjMzMzMzMzMzMzNweCAjMDBmZmM4LC0yNDdweCAtNjAuMzMzMzMzMzMzM3B4ICMwMDUxZmYsLTI1OXB4IC0xMDYuMzMzMzMzMzMzM3B4ICM0MGYsMTYycHggLTg2LjMzMzMzMzMzMzNweCAjMDBjNGZmLDE4NHB4IC0xMTYuMzMzMzMzMzMzM3B4ICNmZjA5MDAsLTIxNnB4IC0yODMuMzMzMzMzMzMzM3B4ICNmZmIzMDAsNzlweCAtMjc4LjMzMzMzMzMzMzNweCAjMDBhZWZmLDEyNXB4IC0xODkuMzMzMzMzMzMzM3B4ICMwMGZmODAsLTIwNXB4IDQ4LjY2NjY2NjY2NjdweCAjMDBmZmM4LC00OXB4IC0zNTYuMzMzMzMzMzMzM3B4ICNmZjAwNmYsMjQ2cHggLTI4MS4zMzMzMzMzMzMzcHggIzAwZmY5ZCwxNzJweCA1My42NjY2NjY2NjY3cHggIzAwZmZiNywyNDBweCAtMTI4LjMzMzMzMzMzMzNweCAjMDBlMWZmLC0xNzJweCAtMzE4LjMzMzMzMzMzMzNweCAjMDBkMGZmLC02MXB4IDI4LjY2NjY2NjY2NjdweCAjMmJmZjAwLC0yNjlweCAtMzYxLjMzMzMzMzMzMzNweCAjNmYwMGZmLC0yNTRweCAtNDQxLjMzMzMzMzMzMzNweCAjZGYwLC0xMTRweCAtMzAuMzMzMzMzMzMzM3B4ICMwZmEsMTZweCAtMTQuMzMzMzMzMzMzM3B4ICMwMGZmNDgsLTEwNHB4IC0zODguMzMzMzMzMzMzM3B4ICMwMDZmZmZ9fUBrZXlmcmFtZXMgYmFuZ3t0b3tib3gtc2hhZG93Oi0yMTlweCAtMjcxLjMzMzMzMzMzMzNweCAjMjBmLC0xMTFweCAtNC4zMzMzMzMzMzMzcHggI2ZiMDBmZiwtODhweCA2NS42NjY2NjY2NjY3cHggIzYyMDBmZiwyOXB4IC00MjAuMzMzMzMzMzMzM3B4ICMwMGZmNDAsMTg4cHggLTQ1Mi4zMzMzMzMzMzMzcHggIzBkZmYwMCwtMTMzcHggLTk0LjMzMzMzMzMzMzNweCAjZmYxYTAwLDE1NHB4IC03MC4zMzMzMzMzMzMzcHggIzAwZmYyZiwtMjAzcHggLTI5My4zMzMzMzMzMzMzcHggIzAwMDRmZiwxOTRweCAtMTQ1LjMzMzMzMzMzMzNweCAjOWRmZjAwLDg4cHggLTQwMy4zMzMzMzMzMzMzcHggIzAwZmY4YywtMjlweCAtMzgxLjMzMzMzMzMzMzNweCAjMDAwZGZmLC0yNDVweCAtMjE2LjMzMzMzMzMzMzNweCAjOTUwMGZmLC03MHB4IC0zNjUuMzMzMzMzMzMzM3B4ICMyNjAwZmYsMTkxcHggLTE3MS4zMzMzMzMzMzMzcHggIzAwZmZiZiwtMjIzcHggLTkyLjMzMzMzMzMzMzNweCAjZmYyZjAwLDIyM3B4IC00MTAuMzMzMzMzMzMzM3B4ICMwMDdiZmYsMTkycHggLTM0Ni4zMzMzMzMzMzMzcHggIzAwZmY0OCwtNHB4IC0xMy4zMzMzMzMzMzMzcHggIzAwMDRmZiwyMDRweCAtMTI2LjMzMzMzMzMzMzNweCAjZmYwLC0xMDdweCAtNjMuMzMzMzMzMzMzM3B4ICMyNjAwZmYsLTIzOHB4IC0xNzAuMzMzMzMzMzMzM3B4ICNmZmQwMDAsMTI1cHggLTEzLjMzMzMzMzMzMzNweCAjMDRmZjAwLDEwMHB4IC0xNzEuMzMzMzMzMzMzM3B4ICM1ZWZmMDAsNTNweCAtMTIxLjMzMzMzMzMzMzNweCAjZmY0MDAwLDU5cHggODMuNjY2NjY2NjY2N3B4ICMwMGZmOWQsLTJweCAtMzIzLjMzMzMzMzMzMzNweCAjZmYwMGUxLC0xNTZweCAtNDI2LjMzMzMzMzMzMzNweCAjZmYwOTAwLDIzOHB4IC0yOTkuMzMzMzMzMzMzM3B4ICNmNzAwZmYsMzJweCAtODcuMzMzMzMzMzMzM3B4ICNmZjQ4MDAsMXB4IC0zLjMzMzMzMzMzMzNweCAjMmYwMGZmLDgzcHggLTc3LjMzMzMzMzMzMzNweCAjMDhmLDExMnB4IC0xNzkuMzMzMzMzMzMzM3B4ICNlMWZmMDAsMTc0cHggLTMyMi4zMzMzMzMzMzMzcHggI2YyMDBmZiwtOHB4IC01Ni4zMzMzMzMzMzMzcHggIzAwZmZjOCwtOXB4IC00MjYuMzMzMzMzMzMzM3B4ICMxNTAwZmYsLTExOXB4IC0yODcuMzMzMzMzMzMzM3B4ICMwMGZmZWEsLTIyNXB4IDM5LjY2NjY2NjY2NjdweCAjMDBmZjZmLC0yMnB4IC0zMTUuMzMzMzMzMzMzM3B4ICNmZjAwMDQsLTE5NHB4IC0yNDguMzMzMzMzMzMzM3B4ICNmNjAsMTI2cHggLTMwNC4zMzMzMzMzMzMzcHggI2JmMDBmZiwxNDVweCAtNDEwLjMzMzMzMzMzMzNweCAjMDBmZjM3LDI1MHB4IDc4LjY2NjY2NjY2NjdweCAjZmYwMGYyLDI2NHB4IC00MTMuMzMzMzMzMzMzM3B4ICMyMGYsMTUxcHggLTM3NC4zMzMzMzMzMzMzcHggIzVmMCwtMjIwcHggMTMuNjY2NjY2NjY2N3B4ICNkZjAsMTIzcHggLTM2NS4zMzMzMzMzMzMzcHggIzAwZmZjOCwtMjU0cHggLTY0LjMzMzMzMzMzMzNweCAjMGYyLDI2NnB4IC0xMTkuMzMzMzMzMzMzM3B4ICNmZjAwNzMsMjY0cHggLTExNi4zMzMzMzMzMzMzcHggIzE1ZmYwMCwtMTUzcHggLTE1MC4zMzMzMzMzMzMzcHggIzBmOCwyMHB4IC00MjYuMzMzMzMzMzMzM3B4ICNmMDYsNjVweCAtMzc4LjMzMzMzMzMzMzNweCAjMDBmZmM4LC0yNDdweCAtNjAuMzMzMzMzMzMzM3B4ICMwMDUxZmYsLTI1OXB4IC0xMDYuMzMzMzMzMzMzM3B4ICM0MGYsMTYycHggLTg2LjMzMzMzMzMzMzNweCAjMDBjNGZmLDE4NHB4IC0xMTYuMzMzMzMzMzMzM3B4ICNmZjA5MDAsLTIxNnB4IC0yODMuMzMzMzMzMzMzM3B4ICNmZmIzMDAsNzlweCAtMjc4LjMzMzMzMzMzMzNweCAjMDBhZWZmLDEyNXB4IC0xODkuMzMzMzMzMzMzM3B4ICMwMGZmODAsLTIwNXB4IDQ4LjY2NjY2NjY2NjdweCAjMDBmZmM4LC00OXB4IC0zNTYuMzMzMzMzMzMzM3B4ICNmZjAwNmYsMjQ2cHggLTI4MS4zMzMzMzMzMzMzcHggIzAwZmY5ZCwxNzJweCA1My42NjY2NjY2NjY3cHggIzAwZmZiNywyNDBweCAtMTI4LjMzMzMzMzMzMzNweCAjMDBlMWZmLC0xNzJweCAtMzE4LjMzMzMzMzMzMzNweCAjMDBkMGZmLC02MXB4IDI4LjY2NjY2NjY2NjdweCAjMmJmZjAwLC0yNjlweCAtMzYxLjMzMzMzMzMzMzNweCAjNmYwMGZmLC0yNTRweCAtNDQxLjMzMzMzMzMzMzNweCAjZGYwLC0xMTRweCAtMzAuMzMzMzMzMzMzM3B4ICMwZmEsMTZweCAtMTQuMzMzMzMzMzMzM3B4ICMwMGZmNDgsLTEwNHB4IC0zODguMzMzMzMzMzMzM3B4ICMwMDZmZmZ9fUAtd2Via2l0LWtleWZyYW1lcyBncmF2aXR5e3Rve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDBweCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDBweCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDBweCl9fUBrZXlmcmFtZXMgZ3Jhdml0eXt0b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwcHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwcHgpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwcHgpfX1ALXdlYmtpdC1rZXlmcmFtZXMgcG9zaXRpb257MCUsMTkuOSV7bWFyZ2luLWxlZnQ6NDAlO21hcmdpbi10b3A6MTAlfTIwJSwzOS45JXttYXJnaW4tbGVmdDozMCU7bWFyZ2luLXRvcDo0MCV9NDAlLDU5Ljkle21hcmdpbi1sZWZ0OjcwJTttYXJnaW4tdG9wOjIwJX02MCUsNzkuOSV7bWFyZ2luLWxlZnQ6MjAlO21hcmdpbi10b3A6MzAlfTgwJSw5OS45JXttYXJnaW4tbGVmdDo4MCU7bWFyZ2luLXRvcDozMCV9fUBrZXlmcmFtZXMgcG9zaXRpb257MCUsMTkuOSV7bWFyZ2luLWxlZnQ6NDAlO21hcmdpbi10b3A6MTAlfTIwJSwzOS45JXttYXJnaW4tbGVmdDozMCU7bWFyZ2luLXRvcDo0MCV9NDAlLDU5Ljkle21hcmdpbi1sZWZ0OjcwJTttYXJnaW4tdG9wOjIwJX02MCUsNzkuOSV7bWFyZ2luLWxlZnQ6MjAlO21hcmdpbi10b3A6MzAlfTgwJSw5OS45JXttYXJnaW4tbGVmdDo4MCU7bWFyZ2luLXRvcDozMCV9fS5mbGFnLWljb24sLmZsYWctaWNvbi1iYWNrZ3JvdW5ke2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0uZmxhZy1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjFlbTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxLjMzMzMzMzMzMzNlbX0uZmxhZy1pY29uOmJlZm9yZXtjb250ZW50OiLCoCJ9LmZsYWctaWNvbi5mbGFnLWljb24tc3F1YXJlZHt3aWR0aDoxZW19LmZsYWctaWNvbi1hZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FkLnN2Zyl9LmZsYWctaWNvbi1hZC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FkLnN2Zyl9LmZsYWctaWNvbi1hZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FlLnN2Zyl9LmZsYWctaWNvbi1hZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FlLnN2Zyl9LmZsYWctaWNvbi1hZntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FmLnN2Zyl9LmZsYWctaWNvbi1hZi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FmLnN2Zyl9LmZsYWctaWNvbi1hZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FnLnN2Zyl9LmZsYWctaWNvbi1hZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FnLnN2Zyl9LmZsYWctaWNvbi1haXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FpLnN2Zyl9LmZsYWctaWNvbi1haS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FpLnN2Zyl9LmZsYWctaWNvbi1hbHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FsLnN2Zyl9LmZsYWctaWNvbi1hbC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FsLnN2Zyl9LmZsYWctaWNvbi1hbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FtLnN2Zyl9LmZsYWctaWNvbi1hbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FtLnN2Zyl9LmZsYWctaWNvbi1hb3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FvLnN2Zyl9LmZsYWctaWNvbi1hby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FvLnN2Zyl9LmZsYWctaWNvbi1hcXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FxLnN2Zyl9LmZsYWctaWNvbi1hcS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FxLnN2Zyl9LmZsYWctaWNvbi1hcntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FyLnN2Zyl9LmZsYWctaWNvbi1hci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FyLnN2Zyl9LmZsYWctaWNvbi1hc3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FzLnN2Zyl9LmZsYWctaWNvbi1hcy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FzLnN2Zyl9LmZsYWctaWNvbi1hdHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2F0LnN2Zyl9LmZsYWctaWNvbi1hdC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2F0LnN2Zyl9LmZsYWctaWNvbi1hdXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2F1LnN2Zyl9LmZsYWctaWNvbi1hdS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2F1LnN2Zyl9LmZsYWctaWNvbi1hd3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2F3LnN2Zyl9LmZsYWctaWNvbi1hdy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2F3LnN2Zyl9LmZsYWctaWNvbi1heHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2F4LnN2Zyl9LmZsYWctaWNvbi1heC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2F4LnN2Zyl9LmZsYWctaWNvbi1hentiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2F6LnN2Zyl9LmZsYWctaWNvbi1hei5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2F6LnN2Zyl9LmZsYWctaWNvbi1iYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JhLnN2Zyl9LmZsYWctaWNvbi1iYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JhLnN2Zyl9LmZsYWctaWNvbi1iYntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JiLnN2Zyl9LmZsYWctaWNvbi1iYi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JiLnN2Zyl9LmZsYWctaWNvbi1iZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JkLnN2Zyl9LmZsYWctaWNvbi1iZC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JkLnN2Zyl9LmZsYWctaWNvbi1iZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JlLnN2Zyl9LmZsYWctaWNvbi1iZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JlLnN2Zyl9LmZsYWctaWNvbi1iZntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JmLnN2Zyl9LmZsYWctaWNvbi1iZi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JmLnN2Zyl9LmZsYWctaWNvbi1iZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JnLnN2Zyl9LmZsYWctaWNvbi1iZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JnLnN2Zyl9LmZsYWctaWNvbi1iaHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JoLnN2Zyl9LmZsYWctaWNvbi1iaC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JoLnN2Zyl9LmZsYWctaWNvbi1iaXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JpLnN2Zyl9LmZsYWctaWNvbi1iaS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JpLnN2Zyl9LmZsYWctaWNvbi1iantiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JqLnN2Zyl9LmZsYWctaWNvbi1iai5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JqLnN2Zyl9LmZsYWctaWNvbi1ibHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JsLnN2Zyl9LmZsYWctaWNvbi1ibC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JsLnN2Zyl9LmZsYWctaWNvbi1ibXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JtLnN2Zyl9LmZsYWctaWNvbi1ibS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JtLnN2Zyl9LmZsYWctaWNvbi1ibntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JuLnN2Zyl9LmZsYWctaWNvbi1ibi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JuLnN2Zyl9LmZsYWctaWNvbi1ib3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JvLnN2Zyl9LmZsYWctaWNvbi1iby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JvLnN2Zyl9LmZsYWctaWNvbi1icXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JxLnN2Zyl9LmZsYWctaWNvbi1icS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JxLnN2Zyl9LmZsYWctaWNvbi1icntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JyLnN2Zyl9LmZsYWctaWNvbi1ici5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JyLnN2Zyl9LmZsYWctaWNvbi1ic3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2JzLnN2Zyl9LmZsYWctaWNvbi1icy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2JzLnN2Zyl9LmZsYWctaWNvbi1idHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2J0LnN2Zyl9LmZsYWctaWNvbi1idC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2J0LnN2Zyl9LmZsYWctaWNvbi1idntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2J2LnN2Zyl9LmZsYWctaWNvbi1idi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2J2LnN2Zyl9LmZsYWctaWNvbi1id3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2J3LnN2Zyl9LmZsYWctaWNvbi1idy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2J3LnN2Zyl9LmZsYWctaWNvbi1ieXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2J5LnN2Zyl9LmZsYWctaWNvbi1ieS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2J5LnN2Zyl9LmZsYWctaWNvbi1ientiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2J6LnN2Zyl9LmZsYWctaWNvbi1iei5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2J6LnN2Zyl9LmZsYWctaWNvbi1jYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NhLnN2Zyl9LmZsYWctaWNvbi1jYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NhLnN2Zyl9LmZsYWctaWNvbi1jY3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NjLnN2Zyl9LmZsYWctaWNvbi1jYy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NjLnN2Zyl9LmZsYWctaWNvbi1jZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NkLnN2Zyl9LmZsYWctaWNvbi1jZC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NkLnN2Zyl9LmZsYWctaWNvbi1jZntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NmLnN2Zyl9LmZsYWctaWNvbi1jZi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NmLnN2Zyl9LmZsYWctaWNvbi1jZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NnLnN2Zyl9LmZsYWctaWNvbi1jZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NnLnN2Zyl9LmZsYWctaWNvbi1jaHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NoLnN2Zyl9LmZsYWctaWNvbi1jaC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NoLnN2Zyl9LmZsYWctaWNvbi1jaXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NpLnN2Zyl9LmZsYWctaWNvbi1jaS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NpLnN2Zyl9LmZsYWctaWNvbi1ja3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NrLnN2Zyl9LmZsYWctaWNvbi1jay5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NrLnN2Zyl9LmZsYWctaWNvbi1jbHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NsLnN2Zyl9LmZsYWctaWNvbi1jbC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NsLnN2Zyl9LmZsYWctaWNvbi1jbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NtLnN2Zyl9LmZsYWctaWNvbi1jbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NtLnN2Zyl9LmZsYWctaWNvbi1jbntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NuLnN2Zyl9LmZsYWctaWNvbi1jbi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NuLnN2Zyl9LmZsYWctaWNvbi1jb3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NvLnN2Zyl9LmZsYWctaWNvbi1jby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NvLnN2Zyl9LmZsYWctaWNvbi1jcntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NyLnN2Zyl9LmZsYWctaWNvbi1jci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NyLnN2Zyl9LmZsYWctaWNvbi1jdXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2N1LnN2Zyl9LmZsYWctaWNvbi1jdS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2N1LnN2Zyl9LmZsYWctaWNvbi1jdntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2N2LnN2Zyl9LmZsYWctaWNvbi1jdi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2N2LnN2Zyl9LmZsYWctaWNvbi1jd3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2N3LnN2Zyl9LmZsYWctaWNvbi1jdy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2N3LnN2Zyl9LmZsYWctaWNvbi1jeHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2N4LnN2Zyl9LmZsYWctaWNvbi1jeC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2N4LnN2Zyl9LmZsYWctaWNvbi1jeXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2N5LnN2Zyl9LmZsYWctaWNvbi1jeS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2N5LnN2Zyl9LmZsYWctaWNvbi1jentiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2N6LnN2Zyl9LmZsYWctaWNvbi1jei5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2N6LnN2Zyl9LmZsYWctaWNvbi1kZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2RlLnN2Zyl9LmZsYWctaWNvbi1kZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2RlLnN2Zyl9LmZsYWctaWNvbi1kantiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2RqLnN2Zyl9LmZsYWctaWNvbi1kai5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2RqLnN2Zyl9LmZsYWctaWNvbi1ka3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2RrLnN2Zyl9LmZsYWctaWNvbi1kay5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2RrLnN2Zyl9LmZsYWctaWNvbi1kbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2RtLnN2Zyl9LmZsYWctaWNvbi1kbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2RtLnN2Zyl9LmZsYWctaWNvbi1kb3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2RvLnN2Zyl9LmZsYWctaWNvbi1kby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2RvLnN2Zyl9LmZsYWctaWNvbi1kentiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2R6LnN2Zyl9LmZsYWctaWNvbi1kei5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2R6LnN2Zyl9LmZsYWctaWNvbi1lY3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2VjLnN2Zyl9LmZsYWctaWNvbi1lYy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2VjLnN2Zyl9LmZsYWctaWNvbi1lZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2VlLnN2Zyl9LmZsYWctaWNvbi1lZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2VlLnN2Zyl9LmZsYWctaWNvbi1lZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2VnLnN2Zyl9LmZsYWctaWNvbi1lZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2VnLnN2Zyl9LmZsYWctaWNvbi1laHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2VoLnN2Zyl9LmZsYWctaWNvbi1laC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2VoLnN2Zyl9LmZsYWctaWNvbi1lcntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2VyLnN2Zyl9LmZsYWctaWNvbi1lci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2VyLnN2Zyl9LmZsYWctaWNvbi1lc3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2VzLnN2Zyl9LmZsYWctaWNvbi1lcy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2VzLnN2Zyl9LmZsYWctaWNvbi1ldHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2V0LnN2Zyl9LmZsYWctaWNvbi1ldC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2V0LnN2Zyl9LmZsYWctaWNvbi1maXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2ZpLnN2Zyl9LmZsYWctaWNvbi1maS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2ZpLnN2Zyl9LmZsYWctaWNvbi1mantiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2ZqLnN2Zyl9LmZsYWctaWNvbi1mai5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2ZqLnN2Zyl9LmZsYWctaWNvbi1ma3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2ZrLnN2Zyl9LmZsYWctaWNvbi1may5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2ZrLnN2Zyl9LmZsYWctaWNvbi1mbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2ZtLnN2Zyl9LmZsYWctaWNvbi1mbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2ZtLnN2Zyl9LmZsYWctaWNvbi1mb3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2ZvLnN2Zyl9LmZsYWctaWNvbi1mby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2ZvLnN2Zyl9LmZsYWctaWNvbi1mcntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2ZyLnN2Zyl9LmZsYWctaWNvbi1mci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2ZyLnN2Zyl9LmZsYWctaWNvbi1nYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dhLnN2Zyl9LmZsYWctaWNvbi1nYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dhLnN2Zyl9LmZsYWctaWNvbi1nYntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2diLnN2Zyl9LmZsYWctaWNvbi1nYi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2diLnN2Zyl9LmZsYWctaWNvbi1nZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dkLnN2Zyl9LmZsYWctaWNvbi1nZC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dkLnN2Zyl9LmZsYWctaWNvbi1nZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dlLnN2Zyl9LmZsYWctaWNvbi1nZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dlLnN2Zyl9LmZsYWctaWNvbi1nZntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dmLnN2Zyl9LmZsYWctaWNvbi1nZi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dmLnN2Zyl9LmZsYWctaWNvbi1nZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dnLnN2Zyl9LmZsYWctaWNvbi1nZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dnLnN2Zyl9LmZsYWctaWNvbi1naHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2doLnN2Zyl9LmZsYWctaWNvbi1naC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2doLnN2Zyl9LmZsYWctaWNvbi1naXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dpLnN2Zyl9LmZsYWctaWNvbi1naS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dpLnN2Zyl9LmZsYWctaWNvbi1nbHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dsLnN2Zyl9LmZsYWctaWNvbi1nbC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dsLnN2Zyl9LmZsYWctaWNvbi1nbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dtLnN2Zyl9LmZsYWctaWNvbi1nbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dtLnN2Zyl9LmZsYWctaWNvbi1nbntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2duLnN2Zyl9LmZsYWctaWNvbi1nbi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2duLnN2Zyl9LmZsYWctaWNvbi1ncHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dwLnN2Zyl9LmZsYWctaWNvbi1ncC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dwLnN2Zyl9LmZsYWctaWNvbi1ncXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dxLnN2Zyl9LmZsYWctaWNvbi1ncS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dxLnN2Zyl9LmZsYWctaWNvbi1ncntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dyLnN2Zyl9LmZsYWctaWNvbi1nci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dyLnN2Zyl9LmZsYWctaWNvbi1nc3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2dzLnN2Zyl9LmZsYWctaWNvbi1ncy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2dzLnN2Zyl9LmZsYWctaWNvbi1ndHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2d0LnN2Zyl9LmZsYWctaWNvbi1ndC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2d0LnN2Zyl9LmZsYWctaWNvbi1ndXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2d1LnN2Zyl9LmZsYWctaWNvbi1ndS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2d1LnN2Zyl9LmZsYWctaWNvbi1nd3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2d3LnN2Zyl9LmZsYWctaWNvbi1ndy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2d3LnN2Zyl9LmZsYWctaWNvbi1neXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2d5LnN2Zyl9LmZsYWctaWNvbi1neS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2d5LnN2Zyl9LmZsYWctaWNvbi1oa3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2hrLnN2Zyl9LmZsYWctaWNvbi1oay5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2hrLnN2Zyl9LmZsYWctaWNvbi1obXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2htLnN2Zyl9LmZsYWctaWNvbi1obS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2htLnN2Zyl9LmZsYWctaWNvbi1obntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2huLnN2Zyl9LmZsYWctaWNvbi1obi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2huLnN2Zyl9LmZsYWctaWNvbi1ocntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2hyLnN2Zyl9LmZsYWctaWNvbi1oci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2hyLnN2Zyl9LmZsYWctaWNvbi1odHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2h0LnN2Zyl9LmZsYWctaWNvbi1odC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2h0LnN2Zyl9LmZsYWctaWNvbi1odXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2h1LnN2Zyl9LmZsYWctaWNvbi1odS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2h1LnN2Zyl9LmZsYWctaWNvbi1pZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2lkLnN2Zyl9LmZsYWctaWNvbi1pZC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2lkLnN2Zyl9LmZsYWctaWNvbi1pZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2llLnN2Zyl9LmZsYWctaWNvbi1pZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2llLnN2Zyl9LmZsYWctaWNvbi1pbHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2lsLnN2Zyl9LmZsYWctaWNvbi1pbC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2lsLnN2Zyl9LmZsYWctaWNvbi1pbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2ltLnN2Zyl9LmZsYWctaWNvbi1pbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2ltLnN2Zyl9LmZsYWctaWNvbi1pbntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2luLnN2Zyl9LmZsYWctaWNvbi1pbi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2luLnN2Zyl9LmZsYWctaWNvbi1pb3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2lvLnN2Zyl9LmZsYWctaWNvbi1pby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2lvLnN2Zyl9LmZsYWctaWNvbi1pcXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2lxLnN2Zyl9LmZsYWctaWNvbi1pcS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2lxLnN2Zyl9LmZsYWctaWNvbi1pcntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2lyLnN2Zyl9LmZsYWctaWNvbi1pci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2lyLnN2Zyl9LmZsYWctaWNvbi1pc3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2lzLnN2Zyl9LmZsYWctaWNvbi1pcy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2lzLnN2Zyl9LmZsYWctaWNvbi1pdHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2l0LnN2Zyl9LmZsYWctaWNvbi1pdC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2l0LnN2Zyl9LmZsYWctaWNvbi1qZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2plLnN2Zyl9LmZsYWctaWNvbi1qZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2plLnN2Zyl9LmZsYWctaWNvbi1qbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2ptLnN2Zyl9LmZsYWctaWNvbi1qbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2ptLnN2Zyl9LmZsYWctaWNvbi1qb3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2pvLnN2Zyl9LmZsYWctaWNvbi1qby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2pvLnN2Zyl9LmZsYWctaWNvbi1qcHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2pwLnN2Zyl9LmZsYWctaWNvbi1qcC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2pwLnN2Zyl9LmZsYWctaWNvbi1rZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2tlLnN2Zyl9LmZsYWctaWNvbi1rZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2tlLnN2Zyl9LmZsYWctaWNvbi1rZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2tnLnN2Zyl9LmZsYWctaWNvbi1rZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2tnLnN2Zyl9LmZsYWctaWNvbi1raHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2toLnN2Zyl9LmZsYWctaWNvbi1raC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2toLnN2Zyl9LmZsYWctaWNvbi1raXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2tpLnN2Zyl9LmZsYWctaWNvbi1raS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2tpLnN2Zyl9LmZsYWctaWNvbi1rbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2ttLnN2Zyl9LmZsYWctaWNvbi1rbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2ttLnN2Zyl9LmZsYWctaWNvbi1rbntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2tuLnN2Zyl9LmZsYWctaWNvbi1rbi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2tuLnN2Zyl9LmZsYWctaWNvbi1rcHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2twLnN2Zyl9LmZsYWctaWNvbi1rcC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2twLnN2Zyl9LmZsYWctaWNvbi1rcntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2tyLnN2Zyl9LmZsYWctaWNvbi1rci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2tyLnN2Zyl9LmZsYWctaWNvbi1rd3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2t3LnN2Zyl9LmZsYWctaWNvbi1rdy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2t3LnN2Zyl9LmZsYWctaWNvbi1reXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2t5LnN2Zyl9LmZsYWctaWNvbi1reS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2t5LnN2Zyl9LmZsYWctaWNvbi1rentiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2t6LnN2Zyl9LmZsYWctaWNvbi1rei5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2t6LnN2Zyl9LmZsYWctaWNvbi1sYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2xhLnN2Zyl9LmZsYWctaWNvbi1sYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2xhLnN2Zyl9LmZsYWctaWNvbi1sYntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2xiLnN2Zyl9LmZsYWctaWNvbi1sYi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2xiLnN2Zyl9LmZsYWctaWNvbi1sY3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2xjLnN2Zyl9LmZsYWctaWNvbi1sYy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2xjLnN2Zyl9LmZsYWctaWNvbi1saXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2xpLnN2Zyl9LmZsYWctaWNvbi1saS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2xpLnN2Zyl9LmZsYWctaWNvbi1sa3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2xrLnN2Zyl9LmZsYWctaWNvbi1say5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2xrLnN2Zyl9LmZsYWctaWNvbi1scntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2xyLnN2Zyl9LmZsYWctaWNvbi1sci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2xyLnN2Zyl9LmZsYWctaWNvbi1sc3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2xzLnN2Zyl9LmZsYWctaWNvbi1scy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2xzLnN2Zyl9LmZsYWctaWNvbi1sdHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2x0LnN2Zyl9LmZsYWctaWNvbi1sdC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2x0LnN2Zyl9LmZsYWctaWNvbi1sdXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2x1LnN2Zyl9LmZsYWctaWNvbi1sdS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2x1LnN2Zyl9LmZsYWctaWNvbi1sdntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2x2LnN2Zyl9LmZsYWctaWNvbi1sdi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2x2LnN2Zyl9LmZsYWctaWNvbi1seXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2x5LnN2Zyl9LmZsYWctaWNvbi1seS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2x5LnN2Zyl9LmZsYWctaWNvbi1tYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21hLnN2Zyl9LmZsYWctaWNvbi1tYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21hLnN2Zyl9LmZsYWctaWNvbi1tY3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21jLnN2Zyl9LmZsYWctaWNvbi1tYy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21jLnN2Zyl9LmZsYWctaWNvbi1tZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21kLnN2Zyl9LmZsYWctaWNvbi1tZC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21kLnN2Zyl9LmZsYWctaWNvbi1tZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21lLnN2Zyl9LmZsYWctaWNvbi1tZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21lLnN2Zyl9LmZsYWctaWNvbi1tZntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21mLnN2Zyl9LmZsYWctaWNvbi1tZi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21mLnN2Zyl9LmZsYWctaWNvbi1tZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21nLnN2Zyl9LmZsYWctaWNvbi1tZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21nLnN2Zyl9LmZsYWctaWNvbi1taHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21oLnN2Zyl9LmZsYWctaWNvbi1taC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21oLnN2Zyl9LmZsYWctaWNvbi1ta3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21rLnN2Zyl9LmZsYWctaWNvbi1tay5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21rLnN2Zyl9LmZsYWctaWNvbi1tbHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21sLnN2Zyl9LmZsYWctaWNvbi1tbC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21sLnN2Zyl9LmZsYWctaWNvbi1tbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21tLnN2Zyl9LmZsYWctaWNvbi1tbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21tLnN2Zyl9LmZsYWctaWNvbi1tbntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21uLnN2Zyl9LmZsYWctaWNvbi1tbi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21uLnN2Zyl9LmZsYWctaWNvbi1tb3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21vLnN2Zyl9LmZsYWctaWNvbi1tby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21vLnN2Zyl9LmZsYWctaWNvbi1tcHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21wLnN2Zyl9LmZsYWctaWNvbi1tcC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21wLnN2Zyl9LmZsYWctaWNvbi1tcXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21xLnN2Zyl9LmZsYWctaWNvbi1tcS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21xLnN2Zyl9LmZsYWctaWNvbi1tcntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21yLnN2Zyl9LmZsYWctaWNvbi1tci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21yLnN2Zyl9LmZsYWctaWNvbi1tc3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL21zLnN2Zyl9LmZsYWctaWNvbi1tcy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL21zLnN2Zyl9LmZsYWctaWNvbi1tdHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL210LnN2Zyl9LmZsYWctaWNvbi1tdC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL210LnN2Zyl9LmZsYWctaWNvbi1tdXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL211LnN2Zyl9LmZsYWctaWNvbi1tdS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL211LnN2Zyl9LmZsYWctaWNvbi1tdntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL212LnN2Zyl9LmZsYWctaWNvbi1tdi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL212LnN2Zyl9LmZsYWctaWNvbi1td3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL213LnN2Zyl9LmZsYWctaWNvbi1tdy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL213LnN2Zyl9LmZsYWctaWNvbi1teHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL214LnN2Zyl9LmZsYWctaWNvbi1teC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL214LnN2Zyl9LmZsYWctaWNvbi1teXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL215LnN2Zyl9LmZsYWctaWNvbi1teS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL215LnN2Zyl9LmZsYWctaWNvbi1tentiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL216LnN2Zyl9LmZsYWctaWNvbi1tei5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL216LnN2Zyl9LmZsYWctaWNvbi1uYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25hLnN2Zyl9LmZsYWctaWNvbi1uYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL25hLnN2Zyl9LmZsYWctaWNvbi1uY3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25jLnN2Zyl9LmZsYWctaWNvbi1uYy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL25jLnN2Zyl9LmZsYWctaWNvbi1uZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25lLnN2Zyl9LmZsYWctaWNvbi1uZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL25lLnN2Zyl9LmZsYWctaWNvbi1uZntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25mLnN2Zyl9LmZsYWctaWNvbi1uZi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL25mLnN2Zyl9LmZsYWctaWNvbi1uZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25nLnN2Zyl9LmZsYWctaWNvbi1uZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL25nLnN2Zyl9LmZsYWctaWNvbi1uaXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25pLnN2Zyl9LmZsYWctaWNvbi1uaS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL25pLnN2Zyl9LmZsYWctaWNvbi1ubHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25sLnN2Zyl9LmZsYWctaWNvbi1ubC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL25sLnN2Zyl9LmZsYWctaWNvbi1ub3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25vLnN2Zyl9LmZsYWctaWNvbi1uby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL25vLnN2Zyl9LmZsYWctaWNvbi1ucHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25wLnN2Zyl9LmZsYWctaWNvbi1ucC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL25wLnN2Zyl9LmZsYWctaWNvbi1ucntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25yLnN2Zyl9LmZsYWctaWNvbi1uci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL25yLnN2Zyl9LmZsYWctaWNvbi1udXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL251LnN2Zyl9LmZsYWctaWNvbi1udS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL251LnN2Zyl9LmZsYWctaWNvbi1uentiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL256LnN2Zyl9LmZsYWctaWNvbi1uei5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL256LnN2Zyl9LmZsYWctaWNvbi1vbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL29tLnN2Zyl9LmZsYWctaWNvbi1vbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL29tLnN2Zyl9LmZsYWctaWNvbi1wYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3BhLnN2Zyl9LmZsYWctaWNvbi1wYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BhLnN2Zyl9LmZsYWctaWNvbi1wZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3BlLnN2Zyl9LmZsYWctaWNvbi1wZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BlLnN2Zyl9LmZsYWctaWNvbi1wZntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3BmLnN2Zyl9LmZsYWctaWNvbi1wZi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BmLnN2Zyl9LmZsYWctaWNvbi1wZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3BnLnN2Zyl9LmZsYWctaWNvbi1wZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BnLnN2Zyl9LmZsYWctaWNvbi1waHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3BoLnN2Zyl9LmZsYWctaWNvbi1waC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BoLnN2Zyl9LmZsYWctaWNvbi1wa3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3BrLnN2Zyl9LmZsYWctaWNvbi1way5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BrLnN2Zyl9LmZsYWctaWNvbi1wbHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3BsLnN2Zyl9LmZsYWctaWNvbi1wbC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BsLnN2Zyl9LmZsYWctaWNvbi1wbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3BtLnN2Zyl9LmZsYWctaWNvbi1wbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BtLnN2Zyl9LmZsYWctaWNvbi1wbntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3BuLnN2Zyl9LmZsYWctaWNvbi1wbi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BuLnN2Zyl9LmZsYWctaWNvbi1wcntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3ByLnN2Zyl9LmZsYWctaWNvbi1wci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3ByLnN2Zyl9LmZsYWctaWNvbi1wc3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3BzLnN2Zyl9LmZsYWctaWNvbi1wcy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BzLnN2Zyl9LmZsYWctaWNvbi1wdHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3B0LnN2Zyl9LmZsYWctaWNvbi1wdC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3B0LnN2Zyl9LmZsYWctaWNvbi1wd3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3B3LnN2Zyl9LmZsYWctaWNvbi1wdy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3B3LnN2Zyl9LmZsYWctaWNvbi1weXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3B5LnN2Zyl9LmZsYWctaWNvbi1weS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3B5LnN2Zyl9LmZsYWctaWNvbi1xYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3FhLnN2Zyl9LmZsYWctaWNvbi1xYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3FhLnN2Zyl9LmZsYWctaWNvbi1yZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3JlLnN2Zyl9LmZsYWctaWNvbi1yZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3JlLnN2Zyl9LmZsYWctaWNvbi1yb3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3JvLnN2Zyl9LmZsYWctaWNvbi1yby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3JvLnN2Zyl9LmZsYWctaWNvbi1yc3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3JzLnN2Zyl9LmZsYWctaWNvbi1ycy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3JzLnN2Zyl9LmZsYWctaWNvbi1ydXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3J1LnN2Zyl9LmZsYWctaWNvbi1ydS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3J1LnN2Zyl9LmZsYWctaWNvbi1yd3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3J3LnN2Zyl9LmZsYWctaWNvbi1ydy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3J3LnN2Zyl9LmZsYWctaWNvbi1zYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NhLnN2Zyl9LmZsYWctaWNvbi1zYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NhLnN2Zyl9LmZsYWctaWNvbi1zYntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NiLnN2Zyl9LmZsYWctaWNvbi1zYi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NiLnN2Zyl9LmZsYWctaWNvbi1zY3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NjLnN2Zyl9LmZsYWctaWNvbi1zYy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NjLnN2Zyl9LmZsYWctaWNvbi1zZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NkLnN2Zyl9LmZsYWctaWNvbi1zZC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NkLnN2Zyl9LmZsYWctaWNvbi1zZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NlLnN2Zyl9LmZsYWctaWNvbi1zZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NlLnN2Zyl9LmZsYWctaWNvbi1zZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NnLnN2Zyl9LmZsYWctaWNvbi1zZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NnLnN2Zyl9LmZsYWctaWNvbi1zaHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NoLnN2Zyl9LmZsYWctaWNvbi1zaC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NoLnN2Zyl9LmZsYWctaWNvbi1zaXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NpLnN2Zyl9LmZsYWctaWNvbi1zaS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NpLnN2Zyl9LmZsYWctaWNvbi1zantiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NqLnN2Zyl9LmZsYWctaWNvbi1zai5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NqLnN2Zyl9LmZsYWctaWNvbi1za3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NrLnN2Zyl9LmZsYWctaWNvbi1zay5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NrLnN2Zyl9LmZsYWctaWNvbi1zbHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NsLnN2Zyl9LmZsYWctaWNvbi1zbC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NsLnN2Zyl9LmZsYWctaWNvbi1zbXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NtLnN2Zyl9LmZsYWctaWNvbi1zbS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NtLnN2Zyl9LmZsYWctaWNvbi1zbntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NuLnN2Zyl9LmZsYWctaWNvbi1zbi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NuLnN2Zyl9LmZsYWctaWNvbi1zb3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NvLnN2Zyl9LmZsYWctaWNvbi1zby5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NvLnN2Zyl9LmZsYWctaWNvbi1zcntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NyLnN2Zyl9LmZsYWctaWNvbi1zci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NyLnN2Zyl9LmZsYWctaWNvbi1zc3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3NzLnN2Zyl9LmZsYWctaWNvbi1zcy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3NzLnN2Zyl9LmZsYWctaWNvbi1zdHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3N0LnN2Zyl9LmZsYWctaWNvbi1zdC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3N0LnN2Zyl9LmZsYWctaWNvbi1zdntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3N2LnN2Zyl9LmZsYWctaWNvbi1zdi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3N2LnN2Zyl9LmZsYWctaWNvbi1zeHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3N4LnN2Zyl9LmZsYWctaWNvbi1zeC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3N4LnN2Zyl9LmZsYWctaWNvbi1zeXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3N5LnN2Zyl9LmZsYWctaWNvbi1zeS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3N5LnN2Zyl9LmZsYWctaWNvbi1zentiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3N6LnN2Zyl9LmZsYWctaWNvbi1zei5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3N6LnN2Zyl9LmZsYWctaWNvbi10Y3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RjLnN2Zyl9LmZsYWctaWNvbi10Yy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RjLnN2Zyl9LmZsYWctaWNvbi10ZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RkLnN2Zyl9LmZsYWctaWNvbi10ZC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RkLnN2Zyl9LmZsYWctaWNvbi10ZntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RmLnN2Zyl9LmZsYWctaWNvbi10Zi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RmLnN2Zyl9LmZsYWctaWNvbi10Z3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RnLnN2Zyl9LmZsYWctaWNvbi10Zy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RnLnN2Zyl9LmZsYWctaWNvbi10aHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RoLnN2Zyl9LmZsYWctaWNvbi10aC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RoLnN2Zyl9LmZsYWctaWNvbi10antiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RqLnN2Zyl9LmZsYWctaWNvbi10ai5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RqLnN2Zyl9LmZsYWctaWNvbi10a3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RrLnN2Zyl9LmZsYWctaWNvbi10ay5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RrLnN2Zyl9LmZsYWctaWNvbi10bHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RsLnN2Zyl9LmZsYWctaWNvbi10bC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RsLnN2Zyl9LmZsYWctaWNvbi10bXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RtLnN2Zyl9LmZsYWctaWNvbi10bS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RtLnN2Zyl9LmZsYWctaWNvbi10bntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RuLnN2Zyl9LmZsYWctaWNvbi10bi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RuLnN2Zyl9LmZsYWctaWNvbi10b3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RvLnN2Zyl9LmZsYWctaWNvbi10by5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RvLnN2Zyl9LmZsYWctaWNvbi10cntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3RyLnN2Zyl9LmZsYWctaWNvbi10ci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3RyLnN2Zyl9LmZsYWctaWNvbi10dHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3R0LnN2Zyl9LmZsYWctaWNvbi10dC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3R0LnN2Zyl9LmZsYWctaWNvbi10dntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3R2LnN2Zyl9LmZsYWctaWNvbi10di5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3R2LnN2Zyl9LmZsYWctaWNvbi10d3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3R3LnN2Zyl9LmZsYWctaWNvbi10dy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3R3LnN2Zyl9LmZsYWctaWNvbi10entiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3R6LnN2Zyl9LmZsYWctaWNvbi10ei5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3R6LnN2Zyl9LmZsYWctaWNvbi11YXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3VhLnN2Zyl9LmZsYWctaWNvbi11YS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3VhLnN2Zyl9LmZsYWctaWNvbi11Z3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3VnLnN2Zyl9LmZsYWctaWNvbi11Zy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3VnLnN2Zyl9LmZsYWctaWNvbi11bXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3VtLnN2Zyl9LmZsYWctaWNvbi11bS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3VtLnN2Zyl9LmZsYWctaWNvbi11c3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3VzLnN2Zyl9LmZsYWctaWNvbi11cy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3VzLnN2Zyl9LmZsYWctaWNvbi11eXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3V5LnN2Zyl9LmZsYWctaWNvbi11eS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3V5LnN2Zyl9LmZsYWctaWNvbi11entiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3V6LnN2Zyl9LmZsYWctaWNvbi11ei5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3V6LnN2Zyl9LmZsYWctaWNvbi12YXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3ZhLnN2Zyl9LmZsYWctaWNvbi12YS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3ZhLnN2Zyl9LmZsYWctaWNvbi12Y3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3ZjLnN2Zyl9LmZsYWctaWNvbi12Yy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3ZjLnN2Zyl9LmZsYWctaWNvbi12ZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3ZlLnN2Zyl9LmZsYWctaWNvbi12ZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3ZlLnN2Zyl9LmZsYWctaWNvbi12Z3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3ZnLnN2Zyl9LmZsYWctaWNvbi12Zy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3ZnLnN2Zyl9LmZsYWctaWNvbi12aXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3ZpLnN2Zyl9LmZsYWctaWNvbi12aS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3ZpLnN2Zyl9LmZsYWctaWNvbi12bntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3ZuLnN2Zyl9LmZsYWctaWNvbi12bi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3ZuLnN2Zyl9LmZsYWctaWNvbi12dXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3Z1LnN2Zyl9LmZsYWctaWNvbi12dS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3Z1LnN2Zyl9LmZsYWctaWNvbi13ZntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3dmLnN2Zyl9LmZsYWctaWNvbi13Zi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3dmLnN2Zyl9LmZsYWctaWNvbi13c3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3dzLnN2Zyl9LmZsYWctaWNvbi13cy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3dzLnN2Zyl9LmZsYWctaWNvbi15ZXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3llLnN2Zyl9LmZsYWctaWNvbi15ZS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3llLnN2Zyl9LmZsYWctaWNvbi15dHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3l0LnN2Zyl9LmZsYWctaWNvbi15dC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3l0LnN2Zyl9LmZsYWctaWNvbi16YXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3phLnN2Zyl9LmZsYWctaWNvbi16YS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3phLnN2Zyl9LmZsYWctaWNvbi16bXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3ptLnN2Zyl9LmZsYWctaWNvbi16bS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3ptLnN2Zyl9LmZsYWctaWNvbi16d3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3p3LnN2Zyl9LmZsYWctaWNvbi16dy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3p3LnN2Zyl9LmZsYWctaWNvbi1hY3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2FjLnN2Zyl9LmZsYWctaWNvbi1hYy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2FjLnN2Zyl9LmZsYWctaWNvbi1jcHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2NwLnN2Zyl9LmZsYWctaWNvbi1jcC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2NwLnN2Zyl9LmZsYWctaWNvbi1kZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2RnLnN2Zyl9LmZsYWctaWNvbi1kZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2RnLnN2Zyl9LmZsYWctaWNvbi1lYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2VhLnN2Zyl9LmZsYWctaWNvbi1lYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2VhLnN2Zyl9LmZsYWctaWNvbi1lcy1jdHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2VzLWN0LnN2Zyl9LmZsYWctaWNvbi1lcy1jdC5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2VzLWN0LnN2Zyl9LmZsYWctaWNvbi1lcy1nYXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2VzLWdhLnN2Zyl9LmZsYWctaWNvbi1lcy1nYS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2VzLWdhLnN2Zyl9LmZsYWctaWNvbi1ldXtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2V1LnN2Zyl9LmZsYWctaWNvbi1ldS5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2V1LnN2Zyl9LmZsYWctaWNvbi1nYi1lbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My9nYi1lbmcuc3ZnKX0uZmxhZy1pY29uLWdiLWVuZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2diLWVuZy5zdmcpfS5mbGFnLWljb24tZ2Itbmlye2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy80eDMvZ2ItbmlyLnN2Zyl9LmZsYWctaWNvbi1nYi1uaXIuZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS9nYi1uaXIuc3ZnKX0uZmxhZy1pY29uLWdiLXNjdHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2diLXNjdC5zdmcpfS5mbGFnLWljb24tZ2Itc2N0LmZsYWctaWNvbi1zcXVhcmVke2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy8xeDEvZ2Itc2N0LnN2Zyl9LmZsYWctaWNvbi1nYi13bHN7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My9nYi13bHMuc3ZnKX0uZmxhZy1pY29uLWdiLXdscy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2diLXdscy5zdmcpfS5mbGFnLWljb24taWN7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My9pYy5zdmcpfS5mbGFnLWljb24taWMuZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS9pYy5zdmcpfS5mbGFnLWljb24tdGF7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My90YS5zdmcpfS5mbGFnLWljb24tdGEuZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS90YS5zdmcpfS5mbGFnLWljb24tdW57YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My91bi5zdmcpfS5mbGFnLWljb24tdW4uZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS91bi5zdmcpfS5mbGFnLWljb24teGt7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My94ay5zdmcpfS5mbGFnLWljb24teGsuZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS94ay5zdmcpfS5mbGFnLWljb24teHh7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My94eC5zdmcpfS5mbGFnLWljb24teHguZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS94eC5zdmcpfS5mbGFnLWljb24tamhye2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy80eDMvamhyLnN2Zyl9LmZsYWctaWNvbi1qaHIuZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS9qaHIuc3ZnKX0uZmxhZy1pY29uLWtkaHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2tkaC5zdmcpfS5mbGFnLWljb24ta2RoLmZsYWctaWNvbi1zcXVhcmVke2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy8xeDEva2RoLnN2Zyl9LmZsYWctaWNvbi1rdG57YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My9rdG4uc3ZnKX0uZmxhZy1pY29uLWt0bi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2t0bi5zdmcpfS5mbGFnLWljb24tbWxre2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy80eDMvbWxrLnN2Zyl9LmZsYWctaWNvbi1tbGsuZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS9tbGsuc3ZnKX0uZmxhZy1pY29uLW5zbntiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL25zbi5zdmcpfS5mbGFnLWljb24tbnNuLmZsYWctaWNvbi1zcXVhcmVke2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy8xeDEvbnNuLnN2Zyl9LmZsYWctaWNvbi1waGd7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My9waGcuc3ZnKX0uZmxhZy1pY29uLXBoZy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3BoZy5zdmcpfS5mbGFnLWljb24tcG5ne2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy80eDMvcG5nLnN2Zyl9LmZsYWctaWNvbi1wbmcuZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS9wbmcuc3ZnKX0uZmxhZy1pY29uLXBya3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3Byay5zdmcpfS5mbGFnLWljb24tcHJrLmZsYWctaWNvbi1zcXVhcmVke2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy8xeDEvcHJrLnN2Zyl9LmZsYWctaWNvbi1wbHN7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My9wbHMuc3ZnKX0uZmxhZy1pY29uLXBscy5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3Bscy5zdmcpfS5mbGFnLWljb24tc2Joe2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy80eDMvc2JoLnN2Zyl9LmZsYWctaWNvbi1zYmguZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS9zYmguc3ZnKX0uZmxhZy1pY29uLXN3a3tiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL3N3ay5zdmcpfS5mbGFnLWljb24tc3drLmZsYWctaWNvbi1zcXVhcmVke2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy8xeDEvc3drLnN2Zyl9LmZsYWctaWNvbi1zZ3J7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My9zZ3Iuc3ZnKX0uZmxhZy1pY29uLXNnci5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL3Nnci5zdmcpfS5mbGFnLWljb24tdHJne2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy80eDMvdHJnLnN2Zyl9LmZsYWctaWNvbi10cmcuZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS90cmcuc3ZnKX0uZmxhZy1pY29uLWt1bHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvNHgzL2t1bC5zdmcpfS5mbGFnLWljb24ta3VsLmZsYWctaWNvbi1zcXVhcmVke2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy8xeDEva3VsLnN2Zyl9LmZsYWctaWNvbi1sYm57YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzR4My9sYm4uc3ZnKX0uZmxhZy1pY29uLWxibi5mbGFnLWljb24tc3F1YXJlZHtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvZmxhZ3MvMXgxL2xibi5zdmcpfS5mbGFnLWljb24tcGp5e2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy80eDMvcGp5LnN2Zyl9LmZsYWctaWNvbi1wankuZmxhZy1pY29uLXNxdWFyZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwobGliL2ZsYWdzLzF4MS9wankuc3ZnKX0uZmxhZy1pY29uLWZ0e2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy80eDMvZnQuc3ZnKX0uZmxhZy1pY29uLWZ0LmZsYWctaWNvbi1zcXVhcmVke2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9mbGFncy8xeDEvZnQuc3ZnKX1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OnN3aXBlci1pY29ucztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7c3JjOnVybCgiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUEiKSBmb3JtYXQoIndvZmYiKX06cm9vdHstLXN3aXBlci10aGVtZS1jb2xvcjojMDA3YWZmfS5zd2lwZXJ7bGlzdC1zdHlsZTpub25lO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItd3JhcHBlcntib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt3aWR0aDoxMDAlO3otaW5kZXg6MX0uc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSwuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnN3aXBlci1wb2ludGVyLWV2ZW50c3t0b3VjaC1hY3Rpb246cGFuLXl9LnN3aXBlci1wb2ludGVyLWV2ZW50cy5zd2lwZXItdmVydGljYWx7dG91Y2gtYWN0aW9uOnBhbi14fS5zd2lwZXItc2xpZGV7ZmxleC1zaHJpbms6MDtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt3aWR0aDoxMDAlfS5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5re3Zpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItYXV0b2hlaWdodCwuc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZXtoZWlnaHQ6YXV0b30uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVye2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0saGVpZ2h0fS5zd2lwZXItM2QsLnN3aXBlci0zZC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVye3BlcnNwZWN0aXZlOjEyMDBweH0uc3dpcGVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3csLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3csLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsLnN3aXBlci0zZCAuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3csLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7aGVpZ2h0OjEwMCU7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjEwfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3d7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xNSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDI3MGRlZyxyZ2JhKDAsMCwwLC41KSx0cmFuc3BhcmVudCl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg5MGRlZyxyZ2JhKDAsMCwwLC41KSx0cmFuc3BhcmVudCl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2JhKDAsMCwwLC41KSx0cmFuc3BhcmVudCl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b217YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsLjUpLHRyYW5zcGFyZW50KX0uc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcnstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtvdmVyZmxvdzphdXRvO3Njcm9sbGJhci13aWR0aDpub25lfS5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpzdGFydCBzdGFydH0uc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcnstbXMtc2Nyb2xsLXNuYXAtdHlwZTp4IG1hbmRhdG9yeTtzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5fS5zd2lwZXItdmVydGljYWwuc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcnstbXMtc2Nyb2xsLXNuYXAtdHlwZTp5IG1hbmRhdG9yeTtzY3JvbGwtc25hcC10eXBlOnkgbWFuZGF0b3J5fS5zd2lwZXItY2VudGVyZWQ+LnN3aXBlci13cmFwcGVyOmJlZm9yZXtjb250ZW50OiIiO2ZsZXgtc2hyaW5rOjA7b3JkZXI6OTk5OX0uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkey13ZWJraXQtbWFyZ2luLXN0YXJ0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKX0uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItd3JhcHBlcjpiZWZvcmV7aGVpZ2h0OjEwMCU7d2lkdGg6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcil9LnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGR7LXdlYmtpdC1tYXJnaW4tYmVmb3JlOnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTttYXJnaW4tYmxvY2stc3RhcnQ6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpfS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcjpiZWZvcmV7aGVpZ2h0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpO3dpZHRoOjEwMCV9LnN3aXBlci1jZW50ZXJlZD4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpjZW50ZXIgY2VudGVyfTpyb290ey0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTo0NHB4fS5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1idXR0b24tcHJldnthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi10b3A6Y2FsYygwcHggLSB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8yKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOmNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvNDQqMjcpO3otaW5kZXg6MTB9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZHtjdXJzb3I6YXV0bztvcGFjaXR5Oi4zNTtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsLnN3aXBlci1idXR0b24tcHJldjphZnRlcntmb250LWZhbWlseTpzd2lwZXItaWNvbnM7Zm9udC1zaXplOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO2ZvbnQtdmFyaWFudDpub3JtYWw7bGV0dGVyLXNwYWNpbmc6MDtsaW5lLWhlaWdodDoxO3RleHQtdHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOm5vbmV9LnN3aXBlci1idXR0b24tcHJldiwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0e2xlZnQ6MTBweDtyaWdodDphdXRvfS5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcntjb250ZW50OiJwcmV2In0uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXZ7bGVmdDphdXRvO3JpZ2h0OjEwcHh9LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2NvbnRlbnQ6Im5leHQifS5zd2lwZXItYnV0dG9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItcGFnaW5hdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzO3otaW5kZXg6MTB9LnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbntvcGFjaXR5OjB9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSwuc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb257Ym90dG9tOjEwcHg7bGVmdDowO3dpZHRoOjEwMCV9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tmb250LXNpemU6MDtvdmVyZmxvdzpoaWRkZW59LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWlue3RyYW5zZm9ybTpzY2FsZSgxKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXZ7dHJhbnNmb3JtOnNjYWxlKC42Nil9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXZ7dHJhbnNmb3JtOnNjYWxlKC4zMyl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0e3RyYW5zZm9ybTpzY2FsZSguNjYpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0e3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtY29sb3IsIzAwMCk7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQsdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsOHB4KSk7b3BhY2l0eTp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eSwuMik7d2lkdGg6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXdpZHRoLHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplLDhweCkpfWJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO2JveC1zaGFkb3c6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9LnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2N1cnNvcjpwb2ludGVyfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQ6b25seS1jaGlsZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7b3BhY2l0eTp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtb3BhY2l0eSwxKX0uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRze3JpZ2h0OjEwcHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNTAlLDApfS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2Rpc3BsYXk6YmxvY2s7bWFyZ2luOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXAsNnB4KSAwfS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYywuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3t0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjhweH0uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyx0b3AgLjJzfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46MCB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaG9yaXpvbnRhbC1nYXAsNHB4KX0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljLC5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3doaXRlLXNwYWNlOm5vd3JhcH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMsbGVmdCAuMnN9LnN3aXBlci1ob3Jpem9udGFsLnN3aXBlci1ydGw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyxyaWdodCAuMnN9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMjUpO3Bvc2l0aW9uOmFic29sdXRlfS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IHRvcDt3aWR0aDoxMDAlfS5zd2lwZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IHRvcH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZXtoZWlnaHQ6NHB4O2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MDt3aWR0aDo0cHh9LnN3aXBlci1wYWdpbmF0aW9uLWxvY2t7ZGlzcGxheTpub25lfUBmb250LWZhY2V7Zm9udC1kaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OmxnO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6dXJsKGxpYi9saWdodGdhbGxlcnkvZm9udHMvbGc4MzA2LnR0Zj8yMnQxOW0pIGZvcm1hdCgidHJ1ZXR5cGUiKSx1cmwobGliL2xpZ2h0Z2FsbGVyeS9mb250cy9sZzgzMDYud29mZj8yMnQxOW0pIGZvcm1hdCgid29mZiIpLHVybChsaWIvbGlnaHRnYWxsZXJ5L2ZvbnRzL2xnODMwNi5zdmc/MjJ0MTltI2xnKSBmb3JtYXQoInN2ZyIpfS5sZy1pY29ue3NwZWFrOm5ldmVyOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO2ZvbnQtZmFtaWx5OmxnIWltcG9ydGFudDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxO3RleHQtdHJhbnNmb3JtOm5vbmV9LmxnLWFjdGlvbnMgLmxnLW5leHQsLmxnLWFjdGlvbnMgLmxnLXByZXZ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC40NSk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjJweDtjb2xvcjojOTk5O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjIycHg7bWFyZ2luLXRvcDotMTBweDtvdXRsaW5lOm5vbmU7cGFkZGluZzo4cHggMTBweCA5cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt6LWluZGV4OjEwODB9LmxnLWFjdGlvbnMgLmxnLW5leHQuZGlzYWJsZWQsLmxnLWFjdGlvbnMgLmxnLXByZXYuZGlzYWJsZWR7b3BhY2l0eTouNTtwb2ludGVyLWV2ZW50czpub25lfS5sZy1hY3Rpb25zIC5sZy1uZXh0OmhvdmVyLC5sZy1hY3Rpb25zIC5sZy1wcmV2OmhvdmVye2NvbG9yOiNmZmZ9LmxnLWFjdGlvbnMgLmxnLW5leHR7cmlnaHQ6MjBweH0ubGctYWN0aW9ucyAubGctbmV4dDpiZWZvcmV7Y29udGVudDoiXGUwOTUifS5sZy1hY3Rpb25zIC5sZy1wcmV2e2xlZnQ6MjBweH0ubGctYWN0aW9ucyAubGctcHJldjphZnRlcntjb250ZW50OiJcZTA5NCJ9QC13ZWJraXQta2V5ZnJhbWVzIGxnLXJpZ2h0LWVuZHswJXtsZWZ0OjB9NTAle2xlZnQ6LTMwcHh9dG97bGVmdDowfX1Aa2V5ZnJhbWVzIGxnLXJpZ2h0LWVuZHswJXtsZWZ0OjB9NTAle2xlZnQ6LTMwcHh9dG97bGVmdDowfX1ALXdlYmtpdC1rZXlmcmFtZXMgbGctbGVmdC1lbmR7MCV7bGVmdDowfTUwJXtsZWZ0OjMwcHh9dG97bGVmdDowfX1Aa2V5ZnJhbWVzIGxnLWxlZnQtZW5kezAle2xlZnQ6MH01MCV7bGVmdDozMHB4fXRve2xlZnQ6MH19LmxnLW91dGVyLmxnLXJpZ2h0LWVuZCAubGctb2JqZWN0ey13ZWJraXQtYW5pbWF0aW9uOmxnLXJpZ2h0LWVuZCAuM3M7YW5pbWF0aW9uOmxnLXJpZ2h0LWVuZCAuM3M7cG9zaXRpb246cmVsYXRpdmV9LmxnLW91dGVyLmxnLWxlZnQtZW5kIC5sZy1vYmplY3R7LXdlYmtpdC1hbmltYXRpb246bGctbGVmdC1lbmQgLjNzO2FuaW1hdGlvbjpsZy1sZWZ0LWVuZCAuM3M7cG9zaXRpb246cmVsYXRpdmV9LmxnLXRvb2xiYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC40NSk7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxMDgyfS5sZy10b29sYmFyIC5sZy1pY29ue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtib3gtc2hhZG93Om5vbmU7Y29sb3I6Izk5OTtjdXJzb3I6cG9pbnRlcjtmbG9hdDpyaWdodDtmb250LXNpemU6MjRweDtoZWlnaHQ6NDdweDtsaW5lLWhlaWdodDoyN3B4O291dGxpbmU6bWVkaXVtIG5vbmU7cGFkZGluZzoxMHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50O3RyYW5zaXRpb246Y29sb3IgLjJzIGxpbmVhcjt3aWR0aDo1MHB4fS5sZy10b29sYmFyIC5sZy1pY29uOmhvdmVye2NvbG9yOiNmZmZ9LmxnLXRvb2xiYXIgLmxnLWNsb3NlOmFmdGVye2NvbnRlbnQ6IlxlMDcwIn0ubGctdG9vbGJhciAubGctZG93bmxvYWQ6YWZ0ZXJ7Y29udGVudDoiXGUwZjIifS5sZy1zdWItaHRtbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQ1KTtib3R0b206MDtjb2xvcjojZWVlO2ZvbnQtc2l6ZToxNnB4O2xlZnQ6MDtwYWRkaW5nOjEwcHggNDBweDtwb3NpdGlvbjpmaXhlZDtyaWdodDowO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MTA4MH0ubGctc3ViLWh0bWwgaDR7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbjowfS5sZy1zdWItaHRtbCBwe2ZvbnQtc2l6ZToxMnB4O21hcmdpbjo1cHggMCAwfSNsZy1jb3VudGVye2NvbG9yOiM5OTk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjE2cHg7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy10b3A6MTJweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmxnLW5leHQsLmxnLXByZXYsLmxnLXRvb2xiYXJ7b3BhY2l0eToxO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgY3ViaWMtYmV6aWVyKDAsMCwuMjUsMSkgMHMsb3BhY2l0eSAuMzVzIGN1YmljLWJlemllcigwLDAsLjI1LDEpIDBzLGNvbG9yIC4ycyBsaW5lYXJ9LmxnLWhpZGUtaXRlbXMgLmxnLXByZXZ7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTBweCwwLDApfS5sZy1oaWRlLWl0ZW1zIC5sZy1uZXh0e29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTBweCwwLDApfS5sZy1oaWRlLWl0ZW1zIC5sZy10b29sYmFye29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKX1ib2R5Om5vdCgubGctZnJvbS1oYXNoKSAubGctb3V0ZXIubGctc3RhcnQtem9vbSAubGctb2JqZWN0e29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUzZCguNSwuNSwuNSk7dHJhbnNmb3JtLW9yaWdpbjo1MCUgNTAlO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMjUsMSkgMHMsb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjI1LDEpIWltcG9ydGFudH1ib2R5Om5vdCgubGctZnJvbS1oYXNoKSAubGctb3V0ZXIubGctc3RhcnQtem9vbSAubGctaXRlbS5sZy1jb21wbGV0ZSAubGctb2JqZWN0e29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGVYKDEpfS5sZy1vdXRlciAubGctdGh1bWItb3V0ZXJ7YmFja2dyb3VuZC1jb2xvcjojMGQwYTBhO2JvdHRvbTowO21heC1oZWlnaHQ6MzUwcHg7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjI1LDEpIDBzO3dpZHRoOjEwMCU7ei1pbmRleDoxMDgwfS5sZy1vdXRlciAubGctdGh1bWItb3V0ZXIubGctZ3JhYiAubGctdGh1bWItaXRlbXtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjotby1ncmFiO2N1cnNvcjotbXMtZ3JhYjtjdXJzb3I6Z3JhYn0ubGctb3V0ZXIgLmxnLXRodW1iLW91dGVyLmxnLWdyYWJiaW5nIC5sZy10aHVtYi1pdGVte2N1cnNvcjptb3ZlO2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjotby1ncmFiYmluZztjdXJzb3I6LW1zLWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ubGctb3V0ZXIgLmxnLXRodW1iLW91dGVyLmxnLWRyYWdnaW5nIC5sZy10aHVtYnt0cmFuc2l0aW9uLWR1cmF0aW9uOjBzIWltcG9ydGFudH0ubGctb3V0ZXIubGctdGh1bWItb3BlbiAubGctdGh1bWItb3V0ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmxnLW91dGVyIC5sZy10aHVtYntoZWlnaHQ6MTAwJTttYXJnaW4tYm90dG9tOi01cHg7cGFkZGluZzoxMHB4IDB9LmxnLW91dGVyIC5sZy10aHVtYi1pdGVte2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjVweDtib3JkZXItcmFkaXVzOjRweDtjdXJzb3I6cG9pbnRlcjtmbG9hdDpsZWZ0O2hlaWdodDoxMDAlO21hcmdpbi1ib3R0b206NXB4O292ZXJmbG93OmhpZGRlbn1AbWVkaWEgKG1pbi13aWR0aDoxMDI1cHgpey5sZy1vdXRlciAubGctdGh1bWItaXRlbXt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMjVzIGVhc2V9fS5sZy1vdXRlciAubGctdGh1bWItaXRlbS5hY3RpdmUsLmxnLW91dGVyIC5sZy10aHVtYi1pdGVtOmhvdmVye2JvcmRlci1jb2xvcjojYTkwNzA3fS5sZy1vdXRlciAubGctdGh1bWItaXRlbSBpbWd7aGVpZ2h0OjEwMCU7LW8tb2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtZml0OmNvdmVyO3dpZHRoOjEwMCV9LmxnLW91dGVyLmxnLWhhcy10aHVtYiAubGctaXRlbXtwYWRkaW5nLWJvdHRvbToxMjBweH0ubGctb3V0ZXIubGctY2FuLXRvZ2dsZSAubGctaXRlbXtwYWRkaW5nLWJvdHRvbTowfS5sZy1vdXRlci5sZy1wdWxsLWNhcHRpb24tdXAgLmxnLXN1Yi1odG1se3RyYW5zaXRpb246Ym90dG9tIC4yNXMgZWFzZX0ubGctb3V0ZXIubGctcHVsbC1jYXB0aW9uLXVwLmxnLXRodW1iLW9wZW4gLmxnLXN1Yi1odG1se2JvdHRvbToxMDBweH0ubGctb3V0ZXIgLmxnLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiMwZDBhMGE7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoycHggMnB4IDAgMDtjb2xvcjojOTk5O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToyNHB4O2hlaWdodDozOXB4O2xpbmUtaGVpZ2h0OjI3cHg7b3V0bGluZTptZWRpdW0gbm9uZTtwYWRkaW5nOjVweCAwO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOi0zOXB4O3dpZHRoOjUwcHh9LmxnLW91dGVyIC5sZy10b2dnbGUtdGh1bWI6YWZ0ZXJ7Y29udGVudDoiXGUxZmYifS5sZy1vdXRlciAubGctdG9nZ2xlLXRodW1iOmhvdmVye2NvbG9yOiNmZmZ9LmxnLW91dGVyIC5sZy12aWRlby1jb250e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTE0MHB4O3BhZGRpbmc6MCA1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjEwMCV9LmxnLW91dGVyIC5sZy12aWRlb3toZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206NTYuMjUlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LmxnLW91dGVyIC5sZy12aWRlbyAubGctb2JqZWN0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlIWltcG9ydGFudDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJSFpbXBvcnRhbnR9LmxnLW91dGVyIC5sZy12aWRlbyAubGctdmlkZW8tcGxheXtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6NTlweDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNDJweDttYXJnaW4tdG9wOi0zMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6ODRweDt6LWluZGV4OjEwODB9LmxnLW91dGVyIC5sZy1oYXMtdmltZW8gLmxnLXZpZGVvLXBsYXl7YmFja2dyb3VuZDp1cmwobGliL2xpZ2h0Z2FsbGVyeS9pbWFnZXMvdmltZW8tcGxheS5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50fS5sZy1vdXRlciAubGctaGFzLXZpbWVvOmhvdmVyIC5sZy12aWRlby1wbGF5e2JhY2tncm91bmQ6dXJsKGxpYi9saWdodGdhbGxlcnkvaW1hZ2VzL3ZpbWVvLXBsYXkucG5nKSBuby1yZXBlYXQgc2Nyb2xsIDAgLTU4cHggdHJhbnNwYXJlbnR9LmxnLW91dGVyIC5sZy1oYXMtaHRtbDUgLmxnLXZpZGVvLXBsYXl7YmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwobGliL2xpZ2h0Z2FsbGVyeS9pbWFnZXMvdmlkZW8tcGxheS5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMCAwO2hlaWdodDo2NHB4O21hcmdpbi1sZWZ0Oi0zMnB4O21hcmdpbi10b3A6LTMycHg7b3BhY2l0eTouODt3aWR0aDo2NHB4fS5sZy1vdXRlciAubGctaGFzLWh0bWw1OmhvdmVyIC5sZy12aWRlby1wbGF5e29wYWNpdHk6MX0ubGctb3V0ZXIgLmxnLWhhcy15b3V0dWJlIC5sZy12aWRlby1wbGF5e2JhY2tncm91bmQ6dXJsKGxpYi9saWdodGdhbGxlcnkvaW1hZ2VzL3lvdXR1YmUtcGxheS5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50fS5sZy1vdXRlciAubGctaGFzLXlvdXR1YmU6aG92ZXIgLmxnLXZpZGVvLXBsYXl7YmFja2dyb3VuZDp1cmwobGliL2xpZ2h0Z2FsbGVyeS9pbWFnZXMveW91dHViZS1wbGF5LnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwIC02MHB4IHRyYW5zcGFyZW50fS5sZy1vdXRlciAubGctdmlkZW8tb2JqZWN0e2hlaWdodDoxMDAlIWltcG9ydGFudDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJSFpbXBvcnRhbnR9LmxnLW91dGVyIC5sZy1oYXMtdmlkZW8gLmxnLXZpZGVvLW9iamVjdHt2aXNpYmlsaXR5OmhpZGRlbn0ubGctb3V0ZXIgLmxnLWhhcy12aWRlby5sZy12aWRlby1wbGF5aW5nIC5sZy1vYmplY3QsLmxnLW91dGVyIC5sZy1oYXMtdmlkZW8ubGctdmlkZW8tcGxheWluZyAubGctdmlkZW8tcGxheXtkaXNwbGF5Om5vbmV9LmxnLW91dGVyIC5sZy1oYXMtdmlkZW8ubGctdmlkZW8tcGxheWluZyAubGctdmlkZW8tb2JqZWN0e3Zpc2liaWxpdHk6dmlzaWJsZX0ubGctcHJvZ3Jlc3MtYmFye2JhY2tncm91bmQtY29sb3I6IzMzMztoZWlnaHQ6NXB4O2xlZnQ6MDtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4wOHMgZWFzZSAwczt3aWR0aDoxMDAlO3otaW5kZXg6MTA4M30ubGctcHJvZ3Jlc3MtYmFyIC5sZy1wcm9ncmVzc3tiYWNrZ3JvdW5kLWNvbG9yOiNhOTA3MDc7aGVpZ2h0OjVweDt3aWR0aDowfS5sZy1wcm9ncmVzcy1iYXIubGctc3RhcnQgLmxnLXByb2dyZXNze3dpZHRoOjEwMCV9LmxnLXNob3ctYXV0b3BsYXkgLmxnLXByb2dyZXNzLWJhcntvcGFjaXR5OjF9LmxnLWF1dG9wbGF5LWJ1dHRvbjphZnRlcntjb250ZW50OiJcZTAxZCJ9LmxnLXNob3ctYXV0b3BsYXkgLmxnLWF1dG9wbGF5LWJ1dHRvbjphZnRlcntjb250ZW50OiJcZTAxYSJ9LmxnLW91dGVyLmxnLWNzczMubGctem9vbS1kcmFnZ2luZyAubGctaXRlbS5sZy1jb21wbGV0ZS5sZy16b29tYWJsZSAubGctaW1hZ2UsLmxnLW91dGVyLmxnLWNzczMubGctem9vbS1kcmFnZ2luZyAubGctaXRlbS5sZy1jb21wbGV0ZS5sZy16b29tYWJsZSAubGctaW1nLXdyYXB7dHJhbnNpdGlvbi1kdXJhdGlvbjowc30ubGctb3V0ZXIubGctdXNlLXRyYW5zaXRpb24tZm9yLXpvb20gLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUgLmxnLWltZy13cmFwe3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yNSwxKSAwc30ubGctb3V0ZXIubGctdXNlLWxlZnQtZm9yLXpvb20gLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUgLmxnLWltZy13cmFwe3RyYW5zaXRpb246bGVmdCAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMjUsMSkgMHMsdG9wIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yNSwxKSAwc30ubGctb3V0ZXIgLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUgLmxnLWltZy13cmFwey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmxnLW91dGVyIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIC5sZy1pbWFnZXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjI1LDEpIDBzLG9wYWNpdHkgLjE1cyFpbXBvcnRhbnR9I2xnLXpvb20taW46YWZ0ZXJ7Y29udGVudDoiXGUzMTEifSNsZy1hY3R1YWwtc2l6ZXtmb250LXNpemU6MjBweH0jbGctYWN0dWFsLXNpemU6YWZ0ZXJ7Y29udGVudDoiXGUwMzMifSNsZy16b29tLW91dHtvcGFjaXR5Oi41O3BvaW50ZXItZXZlbnRzOm5vbmV9I2xnLXpvb20tb3V0OmFmdGVye2NvbnRlbnQ6IlxlMzEyIn0ubGctem9vbWVkICNsZy16b29tLW91dHtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6YXV0b30ubGctb3V0ZXIgLmxnLXBhZ2VyLW91dGVye2JvdHRvbTo2MHB4O2hlaWdodDoxMHB4O2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MTA4MH0ubGctb3V0ZXIgLmxnLXBhZ2VyLW91dGVyLmxnLXBhZ2VyLWhvdmVyIC5sZy1wYWdlci1jb250e292ZXJmbG93OnZpc2libGV9LmxnLW91dGVyIC5sZy1wYWdlci1jb250e2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowIDVweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246dG9wfS5sZy1vdXRlciAubGctcGFnZXItY29udDpob3ZlciAubGctcGFnZXItdGh1bWItY29udHtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmxnLW91dGVyIC5sZy1wYWdlci1jb250LmxnLXBhZ2VyLWFjdGl2ZSAubGctcGFnZXJ7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggI2ZmZn0ubGctb3V0ZXIgLmxnLXBhZ2VyLXRodW1iLWNvbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4O2JvdHRvbToxMDAlO2NvbG9yOiNmZmY7aGVpZ2h0OjgzcHg7bGVmdDowO21hcmdpbi1ib3R0b206MjBweDttYXJnaW4tbGVmdDotNjBweDtvcGFjaXR5OjA7cGFkZGluZzo1cHg7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNXB4LDApO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2UgMHMsdHJhbnNmb3JtIC4xNXMgZWFzZSAwczt3aWR0aDoxMjBweH0ubGctb3V0ZXIgLmxnLXBhZ2VyLXRodW1iLWNvbnQgaW1ne2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmxnLW91dGVyIC5sZy1wYWdlcntiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC41KTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDhweCBoc2xhKDAsMCUsMTAwJSwuNyk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTJweDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2UgMHM7d2lkdGg6MTJweH0ubGctb3V0ZXIgLmxnLXBhZ2VyOmZvY3VzLC5sZy1vdXRlciAubGctcGFnZXI6aG92ZXJ7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA4cHggI2ZmZn0ubGctb3V0ZXIgLmxnLWNhcmV0e2JvcmRlci1sZWZ0OjEwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjEwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDoxMHB4IGRhc2hlZDtib3R0b206LTEwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjA7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTVweDtwb3NpdGlvbjphYnNvbHV0ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MH0ubGctZnVsbHNjcmVlbjphZnRlcntjb250ZW50OiJcZTIwYyJ9LmxnLWZ1bGxzY3JlZW4tb24gLmxnLWZ1bGxzY3JlZW46YWZ0ZXJ7Y29udGVudDoiXGUyMGQifS5sZy1vdXRlciAjbGctZHJvcGRvd24tb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI1KTtib3R0b206MDtjdXJzb3I6ZGVmYXVsdDtsZWZ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7dG9wOjA7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMThzLG9wYWNpdHkgLjE4cyBsaW5lYXIgMHM7dmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxMDgxfS5sZy1vdXRlci5sZy1kcm9wZG93bi1hY3RpdmUgI2xnLWRyb3Bkb3duLW92ZXJsYXksLmxnLW91dGVyLmxnLWRyb3Bkb3duLWFjdGl2ZSAubGctZHJvcGRvd257b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zaXRpb24tZGVsYXk6MHM7dmlzaWJpbGl0eTp2aXNpYmxlfS5sZy1vdXRlci5sZy1kcm9wZG93bi1hY3RpdmUgI2xnLXNoYXJle2NvbG9yOiNmZmZ9LmxnLW91dGVyIC5sZy1kcm9wZG93bntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7Zm9udC1zaXplOjE0cHg7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWFyZ2luOjA7b3BhY2l0eTowO3BhZGRpbmc6MTBweCAwO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dGV4dC1hbGlnbjpsZWZ0O3RvcDo1MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDVweCwwKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGxpbmVhciAwcyx2aXNpYmlsaXR5IDBzIGxpbmVhciAuNXMsb3BhY2l0eSAuMThzIGxpbmVhciAwczt2aXNpYmlsaXR5OmhpZGRlbn0ubGctb3V0ZXIgLmxnLWRyb3Bkb3duOmFmdGVye2JvcmRlcjo4cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNnB4O3RvcDotMTZweDt3aWR0aDowfS5sZy1vdXRlciAubGctZHJvcGRvd24+bGk6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmxnLW91dGVyIC5sZy1kcm9wZG93bj5saTpob3ZlciAubGctaWNvbiwubGctb3V0ZXIgLmxnLWRyb3Bkb3duPmxpOmhvdmVyIGF7Y29sb3I6IzMzM30ubGctb3V0ZXIgLmxnLWRyb3Bkb3duIGF7Y29sb3I6IzMzMztkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5Ok9wZW4gU2FucyxIZWx2ZXRpY2EgTmV1ZSxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtwYWRkaW5nOjRweCAxMnB4O3doaXRlLXNwYWNlOnByZX0ubGctb3V0ZXIgLmxnLWRyb3Bkb3duIGE6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNyl9LmxnLW91dGVyIC5sZy1kcm9wZG93biAubGctZHJvcGRvd24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxO21hcmdpbi10b3A6LTNweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmxnLW91dGVyIC5sZy1kcm9wZG93biAubGctaWNvbntjb2xvcjojMzMzO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0Om5vbmU7Zm9udC1zaXplOjIwcHg7aGVpZ2h0OmF1dG87bGluZS1oZWlnaHQ6MTttYXJnaW4tcmlnaHQ6OHB4O3BhZGRpbmc6MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6YXV0b30ubGctb3V0ZXIgI2xnLXNoYXJle3Bvc2l0aW9uOnJlbGF0aXZlfS5sZy1vdXRlciAjbGctc2hhcmU6YWZ0ZXJ7Y29udGVudDoiXGU4MGQifS5sZy1vdXRlciAjbGctc2hhcmUtZmFjZWJvb2sgLmxnLWljb257Y29sb3I6IzNiNTk5OH0ubGctb3V0ZXIgI2xnLXNoYXJlLWZhY2Vib29rIC5sZy1pY29uOmFmdGVye2NvbnRlbnQ6IlxlOTA0In0ubGctb3V0ZXIgI2xnLXNoYXJlLXR3aXR0ZXIgLmxnLWljb257Y29sb3I6IzAwYWNlZH0ubGctb3V0ZXIgI2xnLXNoYXJlLXR3aXR0ZXIgLmxnLWljb246YWZ0ZXJ7Y29udGVudDoiXGU5MDcifS5sZy1vdXRlciAjbGctc2hhcmUtZ29vZ2xlcGx1cyAubGctaWNvbntjb2xvcjojZGQ0YjM5fS5sZy1vdXRlciAjbGctc2hhcmUtZ29vZ2xlcGx1cyAubGctaWNvbjphZnRlcntjb250ZW50OiJcZTkwNSJ9LmxnLW91dGVyICNsZy1zaGFyZS1waW50ZXJlc3QgLmxnLWljb257Y29sb3I6I2NiMjAyN30ubGctb3V0ZXIgI2xnLXNoYXJlLXBpbnRlcmVzdCAubGctaWNvbjphZnRlcntjb250ZW50OiJcZTkwNiJ9LmxnLW91dGVyIC5sZy1pbWctcm90YXRle2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nOjAgNXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMzIsMCwuNjcsMCkgMHN9LmxnLXJvdGF0ZS1sZWZ0OmFmdGVye2NvbnRlbnQ6IlxlOTAwIn0ubGctcm90YXRlLXJpZ2h0OmFmdGVye2NvbnRlbnQ6IlxlOTAxIn0ubGctaWNvbi5sZy1mbGlwLWhvciwubGctaWNvbi5sZy1mbGlwLXZlcntmb250LXNpemU6MjZweH0ubGctZmxpcC1ob3I6YWZ0ZXJ7Y29udGVudDoiXGU5MDIifS5sZy1mbGlwLXZlcjphZnRlcntjb250ZW50OiJcZTkwMyJ9LmxnLWdyb3Vweyp6b29tOjF9LmxnLWdyb3VwOmFmdGVyLC5sZy1ncm91cDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlO2xpbmUtaGVpZ2h0OjB9LmxnLWdyb3VwOmFmdGVye2NsZWFyOmJvdGh9LmxnLW91dGVye2hlaWdodDoxMDAlO2xlZnQ6MDtvcGFjaXR5OjA7b3V0bGluZTpub25lO3Bvc2l0aW9uOmZpeGVkO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2UgMHM7d2lkdGg6MTAwJTt6LWluZGV4OjEwNTB9LmxnLW91dGVyICp7Ym94LXNpemluZzpib3JkZXItYm94fS5sZy1vdXRlci5sZy12aXNpYmxle29wYWNpdHk6MX0ubGctb3V0ZXIubGctY3NzMyAubGctaXRlbS5sZy1jdXJyZW50LC5sZy1vdXRlci5sZy1jc3MzIC5sZy1pdGVtLmxnLW5leHQtc2xpZGUsLmxnLW91dGVyLmxnLWNzczMgLmxnLWl0ZW0ubGctcHJldi1zbGlkZXt0cmFuc2l0aW9uLWR1cmF0aW9uOmluaGVyaXQhaW1wb3J0YW50O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmluaGVyaXQhaW1wb3J0YW50fS5sZy1vdXRlci5sZy1jc3MzLmxnLWRyYWdnaW5nIC5sZy1pdGVtLmxnLWN1cnJlbnQsLmxnLW91dGVyLmxnLWNzczMubGctZHJhZ2dpbmcgLmxnLWl0ZW0ubGctbmV4dC1zbGlkZSwubGctb3V0ZXIubGctY3NzMy5sZy1kcmFnZ2luZyAubGctaXRlbS5sZy1wcmV2LXNsaWRle29wYWNpdHk6MTt0cmFuc2l0aW9uLWR1cmF0aW9uOjBzIWltcG9ydGFudH0ubGctb3V0ZXIubGctZ3JhYiBpbWcubGctb2JqZWN0e2N1cnNvcjotd2Via2l0LWdyYWI7Y3Vyc29yOi1vLWdyYWI7Y3Vyc29yOi1tcy1ncmFiO2N1cnNvcjpncmFifS5sZy1vdXRlci5sZy1ncmFiYmluZyBpbWcubGctb2JqZWN0e2N1cnNvcjptb3ZlO2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjotby1ncmFiYmluZztjdXJzb3I6LW1zLWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ubGctb3V0ZXIgLmxne2hlaWdodDoxMDAlO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5sZy1vdXRlciAubGctaW5uZXJ7aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfS5sZy1vdXRlciAubGctaXRlbXtiYWNrZ3JvdW5kOnVybChsaWIvbGlnaHRnYWxsZXJ5L2ltYWdlcy9sb2FkaW5nLmdpZikgbm8tcmVwZWF0IHNjcm9sbCA1MCUgdHJhbnNwYXJlbnQ7ZGlzcGxheTpub25lIWltcG9ydGFudH0ubGctb3V0ZXIubGctY3NzMyAubGctY3VycmVudCwubGctb3V0ZXIubGctY3NzMyAubGctbmV4dC1zbGlkZSwubGctb3V0ZXIubGctY3NzMyAubGctcHJldi1zbGlkZSwubGctb3V0ZXIubGctY3NzIC5sZy1jdXJyZW50e2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0ubGctb3V0ZXIgLmxnLWltZy13cmFwLC5sZy1vdXRlciAubGctaXRlbXtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS5sZy1vdXRlciAubGctaW1nLXdyYXA6YmVmb3JlLC5sZy1vdXRlciAubGctaXRlbTpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NTAlO21hcmdpbi1yaWdodDotMXB4O3dpZHRoOjFweH0ubGctb3V0ZXIgLmxnLWltZy13cmFwe2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nOjAgNXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxnLW91dGVyIC5sZy1pdGVtLmxnLWNvbXBsZXRle2JhY2tncm91bmQtaW1hZ2U6bm9uZX0ubGctb3V0ZXIgLmxnLWl0ZW0ubGctY3VycmVudHt6LWluZGV4OjEwNjB9LmxnLW91dGVyIC5sZy1pbWFnZXtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6YXV0byFpbXBvcnRhbnQ7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDphdXRvIWltcG9ydGFudH0ubGctb3V0ZXIubGctc2hvdy1hZnRlci1sb2FkIC5sZy1pdGVtIC5sZy1vYmplY3QsLmxnLW91dGVyLmxnLXNob3ctYWZ0ZXItbG9hZCAubGctaXRlbSAubGctdmlkZW8tcGxheXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgZWFzZSAwc30ubGctb3V0ZXIubGctc2hvdy1hZnRlci1sb2FkIC5sZy1pdGVtLmxnLWNvbXBsZXRlIC5sZy1vYmplY3QsLmxnLW91dGVyLmxnLXNob3ctYWZ0ZXItbG9hZCAubGctaXRlbS5sZy1jb21wbGV0ZSAubGctdmlkZW8tcGxheXtvcGFjaXR5OjF9LmxnLW91dGVyIC5sZy1lbXB0eS1odG1sLC5sZy1vdXRlci5sZy1oaWRlLWRvd25sb2FkICNsZy1kb3dubG9hZHtkaXNwbGF5Om5vbmV9LmxnLWJhY2tkcm9we2JhY2tncm91bmQtY29sb3I6IzAwMDtib3R0b206MDtsZWZ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgZWFzZSAwczt6LWluZGV4OjEwNDB9LmxnLWJhY2tkcm9wLmlue29wYWNpdHk6MX0ubGctY3NzMy5sZy1uby10cmFucyAubGctY3VycmVudCwubGctY3NzMy5sZy1uby10cmFucyAubGctbmV4dC1zbGlkZSwubGctY3NzMy5sZy1uby10cmFucyAubGctcHJldi1zbGlkZXt0cmFuc2l0aW9uOm5vbmUgMHMgZWFzZSAwcyFpbXBvcnRhbnR9LmxnLWNzczMubGctdXNlLWNzczMgLmxnLWl0ZW0sLmxnLWNzczMubGctdXNlLWxlZnQgLmxnLWl0ZW17LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ubGctY3NzMy5sZy1mYWRlIC5sZy1pdGVte29wYWNpdHk6MH0ubGctY3NzMy5sZy1mYWRlIC5sZy1pdGVtLmxnLWN1cnJlbnR7b3BhY2l0eToxfS5sZy1jc3MzLmxnLWZhZGUgLmxnLWl0ZW0ubGctY3VycmVudCwubGctY3NzMy5sZy1mYWRlIC5sZy1pdGVtLmxnLW5leHQtc2xpZGUsLmxnLWNzczMubGctZmFkZSAubGctaXRlbS5sZy1wcmV2LXNsaWRle3RyYW5zaXRpb246b3BhY2l0eSAuMXMgZWFzZSAwc30ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtY3NzMyAubGctaXRlbXtvcGFjaXR5OjB9LmxnLWNzczMubGctc2xpZGUubGctdXNlLWNzczMgLmxnLWl0ZW0ubGctcHJldi1zbGlkZXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX0ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtY3NzMyAubGctaXRlbS5sZy1uZXh0LXNsaWRle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCl9LmxnLWNzczMubGctc2xpZGUubGctdXNlLWNzczMgLmxnLWl0ZW0ubGctY3VycmVudHtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmxnLWNzczMubGctc2xpZGUubGctdXNlLWNzczMgLmxnLWl0ZW0ubGctY3VycmVudCwubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtY3NzMyAubGctaXRlbS5sZy1uZXh0LXNsaWRlLC5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLXByZXYtc2xpZGV7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsMCwuMjUsMSkgMHMsb3BhY2l0eSAuMXMgZWFzZSAwc30ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtbGVmdCAubGctaXRlbXtsZWZ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlfS5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1sZWZ0IC5sZy1pdGVtLmxnLXByZXYtc2xpZGV7bGVmdDotMTAwJX0ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtbGVmdCAubGctaXRlbS5sZy1uZXh0LXNsaWRle2xlZnQ6MTAwJX0ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtbGVmdCAubGctaXRlbS5sZy1jdXJyZW50e2xlZnQ6MDtvcGFjaXR5OjF9LmxnLWNzczMubGctc2xpZGUubGctdXNlLWxlZnQgLmxnLWl0ZW0ubGctY3VycmVudCwubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtbGVmdCAubGctaXRlbS5sZy1uZXh0LXNsaWRlLC5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1sZWZ0IC5sZy1pdGVtLmxnLXByZXYtc2xpZGV7dHJhbnNpdGlvbjpsZWZ0IDFzIGN1YmljLWJlemllcigwLDAsLjI1LDEpIDBzLG9wYWNpdHkgLjFzIGVhc2UgMHN9LnRhaWwtc2VsZWN0e2ZvbnQtZmFtaWx5OmluaGVyaXQhaW1wb3J0YW50O2ZvbnQtc2l6ZTppbmhlcml0IWltcG9ydGFudH0udGFpbC1zZWxlY3QgLnNlbGVjdC1sYWJlbHtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50fS50YWlsLXNlbGVjdCAuc2VsZWN0LWxhYmVsIC5sYWJlbC1pbm5lcntwYWRkaW5nOi40cmVtIC43NXJlbX0udGFpbC1zZWxlY3QgLnNlYXJjaC1pbnB1dCwudGFpbC1zZWxlY3QgLnNlbGVjdC1kcm9wZG93bntib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50fQoKLyohIHJ0bDpiZWdpbjppZ25vcmUgKi8uaXRpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5pdGkgKntib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3h9Lml0aV9faGlkZXtkaXNwbGF5Om5vbmV9Lml0aV9fdi1oaWRle3Zpc2liaWxpdHk6aGlkZGVufS5pdGkgaW5wdXQsLml0aSBpbnB1dFt0eXBlPXRlbF0sLml0aSBpbnB1dFt0eXBlPXRleHRde21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLXRvcDowIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OjM2cHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowfS5pdGlfX2ZsYWctY29udGFpbmVye2JvdHRvbTowO3BhZGRpbmc6MXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9Lml0aV9fc2VsZWN0ZWQtZmxhZ3thbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3BhZGRpbmc6MCA2cHggMCA4cHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS5pdGlfX2Fycm93e2JvcmRlci1sZWZ0OjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NHB4IHNvbGlkICM1NTU7aGVpZ2h0OjA7bWFyZ2luLWxlZnQ6NnB4O3dpZHRoOjB9Lml0aV9fYXJyb3ctLXVwe2JvcmRlci1ib3R0b206NHB4IHNvbGlkICM1NTU7Ym9yZGVyLXRvcDpub25lfS5pdGlfX2NvdW50cnktbGlzdHstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JveC1zaGFkb3c6MXB4IDFweCA0cHggcmdiYSgwLDAsMCwuMik7bGlzdC1zdHlsZTpub25lO21hcmdpbjowIDAgMCAtMXB4O21heC1oZWlnaHQ6MjAwcHg7b3ZlcmZsb3cteTpzY3JvbGw7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpub3dyYXA7ei1pbmRleDoyfS5pdGlfX2NvdW50cnktbGlzdC0tZHJvcHVwe2JvdHRvbToxMDAlO21hcmdpbi1ib3R0b206LTFweH1AbWVkaWEgKG1heC13aWR0aDo1MDBweCl7Lml0aV9fY291bnRyeS1saXN0e3doaXRlLXNwYWNlOm5vcm1hbH19Lml0aV9fZmxhZy1ib3h7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MjBweH0uaXRpX19kaXZpZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2M7bWFyZ2luLWJvdHRvbTo1cHg7cGFkZGluZy1ib3R0b206NXB4fS5pdGlfX2NvdW50cnl7b3V0bGluZTpub25lO3BhZGRpbmc6NXB4IDEwcHh9Lml0aV9fZGlhbC1jb2Rle2NvbG9yOiM5OTl9Lml0aV9fY291bnRyeS5pdGlfX2hpZ2hsaWdodHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KX0uaXRpX19jb3VudHJ5LW5hbWUsLml0aV9fZGlhbC1jb2RlLC5pdGlfX2ZsYWctYm94e3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaXRpX19jb3VudHJ5LW5hbWUsLml0aV9fZmxhZy1ib3h7bWFyZ2luLXJpZ2h0OjZweH0uaXRpLS1hbGxvdy1kcm9wZG93biBpbnB1dCwuaXRpLS1hbGxvdy1kcm9wZG93biBpbnB1dFt0eXBlPXRlbF0sLml0aS0tYWxsb3ctZHJvcGRvd24gaW5wdXRbdHlwZT10ZXh0XSwuaXRpLS1zZXBhcmF0ZS1kaWFsLWNvZGUgaW5wdXQsLml0aS0tc2VwYXJhdGUtZGlhbC1jb2RlIGlucHV0W3R5cGU9dGVsXSwuaXRpLS1zZXBhcmF0ZS1kaWFsLWNvZGUgaW5wdXRbdHlwZT10ZXh0XXttYXJnaW4tbGVmdDowO3BhZGRpbmctbGVmdDo1MnB4O3BhZGRpbmctcmlnaHQ6NnB4fS5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2ZsYWctY29udGFpbmVyLC5pdGktLXNlcGFyYXRlLWRpYWwtY29kZSAuaXRpX19mbGFnLWNvbnRhaW5lcntsZWZ0OjA7cmlnaHQ6YXV0b30uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19mbGFnLWNvbnRhaW5lcjpob3ZlcntjdXJzb3I6cG9pbnRlcn0uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19mbGFnLWNvbnRhaW5lcjpob3ZlciAuaXRpX19zZWxlY3RlZC1mbGFne2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDUpfS5pdGktLWFsbG93LWRyb3Bkb3duIGlucHV0W2Rpc2FibGVkXSsuaXRpX19mbGFnLWNvbnRhaW5lcjpob3ZlciwuaXRpLS1hbGxvdy1kcm9wZG93biBpbnB1dFtyZWFkb25seV0rLml0aV9fZmxhZy1jb250YWluZXI6aG92ZXJ7Y3Vyc29yOmRlZmF1bHR9Lml0aS0tYWxsb3ctZHJvcGRvd24gaW5wdXRbZGlzYWJsZWRdKy5pdGlfX2ZsYWctY29udGFpbmVyOmhvdmVyIC5pdGlfX3NlbGVjdGVkLWZsYWcsLml0aS0tYWxsb3ctZHJvcGRvd24gaW5wdXRbcmVhZG9ubHldKy5pdGlfX2ZsYWctY29udGFpbmVyOmhvdmVyIC5pdGlfX3NlbGVjdGVkLWZsYWd7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXRpLS1zZXBhcmF0ZS1kaWFsLWNvZGUgLml0aV9fc2VsZWN0ZWQtZmxhZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KX0uaXRpLS1zZXBhcmF0ZS1kaWFsLWNvZGUgLml0aV9fc2VsZWN0ZWQtZGlhbC1jb2Rle21hcmdpbi1sZWZ0OjZweH0uaXRpLS1jb250YWluZXJ7bGVmdDotMTAwMHB4O3BhZGRpbmc6MXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTAwMHB4O3otaW5kZXg6MTA2MH0uaXRpLS1jb250YWluZXI6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lml0aS1tb2JpbGUgLml0aS0tY29udGFpbmVye2JvdHRvbTozMHB4O2xlZnQ6MzBweDtwb3NpdGlvbjpmaXhlZDtyaWdodDozMHB4O3RvcDozMHB4fS5pdGktbW9iaWxlIC5pdGlfX2NvdW50cnktbGlzdHttYXgtaGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uaXRpLW1vYmlsZSAuaXRpX19jb3VudHJ5e2xpbmUtaGVpZ2h0OjEuNWVtO3BhZGRpbmc6MTBweH0uaXRpX19mbGFne3dpZHRoOjIwcHh9Lml0aV9fZmxhZy5pdGlfX2Jle3dpZHRoOjE4cHh9Lml0aV9fZmxhZy5pdGlfX2Noe3dpZHRoOjE1cHh9Lml0aV9fZmxhZy5pdGlfX21je3dpZHRoOjE5cHh9Lml0aV9fZmxhZy5pdGlfX25le3dpZHRoOjE4cHh9Lml0aV9fZmxhZy5pdGlfX25we3dpZHRoOjEzcHh9Lml0aV9fZmxhZy5pdGlfX3Zhe3dpZHRoOjE1cHh9QG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MiksKG1pbi1yZXNvbHV0aW9uOjE5MmRwaSl7Lml0aV9fZmxhZ3tiYWNrZ3JvdW5kLXNpemU6NTY1MnB4IDE1cHh9fS5pdGlfX2ZsYWcuaXRpX19hY3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fYWR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjJweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19hZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NHB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX2Fme2JhY2tncm91bmQtcG9zaXRpb246LTY2cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fYWd7YmFja2dyb3VuZC1wb3NpdGlvbjotODhweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19haXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTBweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19hbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMzJweCAwO2hlaWdodDoxNXB4fS5pdGlfX2ZsYWcuaXRpX19hbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNTRweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19hb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19hcXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOThweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19hcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjBweCAwO2hlaWdodDoxM3B4fS5pdGlfX2ZsYWcuaXRpX19hc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDJweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19hdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNjRweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19hdXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yODZweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19hd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMDhweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19heHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMzBweCAwO2hlaWdodDoxM3B4fS5pdGlfX2ZsYWcuaXRpX19hentiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNTJweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19iYXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNzRweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19iYntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zOTZweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19iZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MThweCAwO2hlaWdodDoxMnB4fS5pdGlfX2ZsYWcuaXRpX19iZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NDBweCAwO2hlaWdodDoxNXB4fS5pdGlfX2ZsYWcuaXRpX19iZntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NjBweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19iZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00ODJweCAwO2hlaWdodDoxMnB4fS5pdGlfX2ZsYWcuaXRpX19iaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MDRweCAwO2hlaWdodDoxMnB4fS5pdGlfX2ZsYWcuaXRpX19iaXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MjZweCAwO2hlaWdodDoxMnB4fS5pdGlfX2ZsYWcuaXRpX19iantiYWNrZ3JvdW5kLXBvc2l0aW9uOi01NDhweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19ibHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi01NzBweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19ibXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi01OTJweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19ibntiYWNrZ3JvdW5kLXBvc2l0aW9uOi02MTRweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19ib3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02MzZweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19icXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NThweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19icntiYWNrZ3JvdW5kLXBvc2l0aW9uOi02ODBweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19ic3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi03MDJweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19idHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi03MjRweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19idntiYWNrZ3JvdW5kLXBvc2l0aW9uOi03NDZweCAwO2hlaWdodDoxNXB4fS5pdGlfX2ZsYWcuaXRpX19id3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi03NjhweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19ieXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi03OTBweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19ientiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MTJweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19jYXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MzRweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19jY3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04NTZweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19jZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04NzhweCAwO2hlaWdodDoxNXB4fS5pdGlfX2ZsYWcuaXRpX19jZntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05MDBweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19jZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05MjJweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19jaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NDRweCAwO2hlaWdodDoxNXB4fS5pdGlfX2ZsYWcuaXRpX19jaXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NjFweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19ja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05ODNweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19jbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMDA1cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fY217YmFja2dyb3VuZC1wb3NpdGlvbjotMTAyN3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2Nue2JhY2tncm91bmQtcG9zaXRpb246LTEwNDlweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19jb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMDcxcHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fY3B7YmFja2dyb3VuZC1wb3NpdGlvbjotMTA5M3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2Nye2JhY2tncm91bmQtcG9zaXRpb246LTExMTVweCAwO2hlaWdodDoxMnB4fS5pdGlfX2ZsYWcuaXRpX19jdXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTM3cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fY3Z7YmFja2dyb3VuZC1wb3NpdGlvbjotMTE1OXB4IDA7aGVpZ2h0OjEycHh9Lml0aV9fZmxhZy5pdGlfX2N3e2JhY2tncm91bmQtcG9zaXRpb246LTExODFweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19jeHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjAzcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fY3l7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIyNXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2N6e2JhY2tncm91bmQtcG9zaXRpb246LTEyNDdweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19kZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjY5cHggMDtoZWlnaHQ6MTJweH0uaXRpX19mbGFnLml0aV9fZGd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI5MXB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX2Rqe2JhY2tncm91bmQtcG9zaXRpb246LTEzMTNweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19ka3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMzM1cHggMDtoZWlnaHQ6MTVweH0uaXRpX19mbGFnLml0aV9fZG17YmFja2dyb3VuZC1wb3NpdGlvbjotMTM1N3B4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX2Rve2JhY2tncm91bmQtcG9zaXRpb246LTEzNzlweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19kentiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDAxcHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fZWF7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQyM3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2Vje2JhY2tncm91bmQtcG9zaXRpb246LTE0NDVweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19lZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDY3cHggMDtoZWlnaHQ6MTNweH0uaXRpX19mbGFnLml0aV9fZWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ4OXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2Voe2JhY2tncm91bmQtcG9zaXRpb246LTE1MTFweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19lcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNTMzcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fZXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTU1NXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2V0e2JhY2tncm91bmQtcG9zaXRpb246LTE1NzdweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19ldXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNTk5cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fZml7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYyMXB4IDA7aGVpZ2h0OjEycHh9Lml0aV9fZmxhZy5pdGlfX2Zqe2JhY2tncm91bmQtcG9zaXRpb246LTE2NDNweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19ma3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjY1cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fZm17YmFja2dyb3VuZC1wb3NpdGlvbjotMTY4N3B4IDA7aGVpZ2h0OjExcHh9Lml0aV9fZmxhZy5pdGlfX2Zve2JhY2tncm91bmQtcG9zaXRpb246LTE3MDlweCAwO2hlaWdodDoxNXB4fS5pdGlfX2ZsYWcuaXRpX19mcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzMxcHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fZ2F7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc1M3B4IDA7aGVpZ2h0OjE1cHh9Lml0aV9fZmxhZy5pdGlfX2die2JhY2tncm91bmQtcG9zaXRpb246LTE3NzVweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19nZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzk3cHggMDtoZWlnaHQ6MTJweH0uaXRpX19mbGFnLml0aV9fZ2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMTgxOXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2dme2JhY2tncm91bmQtcG9zaXRpb246LTE4NDFweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19nZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xODYzcHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fZ2h7YmFja2dyb3VuZC1wb3NpdGlvbjotMTg4NXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2dpe2JhY2tncm91bmQtcG9zaXRpb246LTE5MDdweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19nbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTI5cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fZ217YmFja2dyb3VuZC1wb3NpdGlvbjotMTk1MXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2due2JhY2tncm91bmQtcG9zaXRpb246LTE5NzNweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19ncHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTk1cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fZ3F7YmFja2dyb3VuZC1wb3NpdGlvbjotMjAxN3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2dye2JhY2tncm91bmQtcG9zaXRpb246LTIwMzlweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19nc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDYxcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fZ3R7YmFja2dyb3VuZC1wb3NpdGlvbjotMjA4M3B4IDA7aGVpZ2h0OjEzcHh9Lml0aV9fZmxhZy5pdGlfX2d1e2JhY2tncm91bmQtcG9zaXRpb246LTIxMDVweCAwO2hlaWdodDoxMXB4fS5pdGlfX2ZsYWcuaXRpX19nd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMTI3cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fZ3l7YmFja2dyb3VuZC1wb3NpdGlvbjotMjE0OXB4IDA7aGVpZ2h0OjEycHh9Lml0aV9fZmxhZy5pdGlfX2hre2JhY2tncm91bmQtcG9zaXRpb246LTIxNzFweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19obXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMTkzcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9faG57YmFja2dyb3VuZC1wb3NpdGlvbjotMjIxNXB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX2hye2JhY2tncm91bmQtcG9zaXRpb246LTIyMzdweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19odHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjU5cHggMDtoZWlnaHQ6MTJweH0uaXRpX19mbGFnLml0aV9faHV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjI4MXB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX2lje2JhY2tncm91bmQtcG9zaXRpb246LTIzMDNweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19pZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMzI1cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9faWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjM0N3B4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX2lse2JhY2tncm91bmQtcG9zaXRpb246LTIzNjlweCAwO2hlaWdodDoxNXB4fS5pdGlfX2ZsYWcuaXRpX19pbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMzkxcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9faW57YmFja2dyb3VuZC1wb3NpdGlvbjotMjQxM3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2lve2JhY2tncm91bmQtcG9zaXRpb246LTI0MzVweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19pcXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDU3cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9faXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQ3OXB4IDA7aGVpZ2h0OjEycHh9Lml0aV9fZmxhZy5pdGlfX2lze2JhY2tncm91bmQtcG9zaXRpb246LTI1MDFweCAwO2hlaWdodDoxNXB4fS5pdGlfX2ZsYWcuaXRpX19pdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNTIzcHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9famV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjU0NXB4IDA7aGVpZ2h0OjEycHh9Lml0aV9fZmxhZy5pdGlfX2pte2JhY2tncm91bmQtcG9zaXRpb246LTI1NjdweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19qb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNTg5cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fanB7YmFja2dyb3VuZC1wb3NpdGlvbjotMjYxMXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2tle2JhY2tncm91bmQtcG9zaXRpb246LTI2MzNweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19rZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNjU1cHggMDtoZWlnaHQ6MTJweH0uaXRpX19mbGFnLml0aV9fa2h7YmFja2dyb3VuZC1wb3NpdGlvbjotMjY3N3B4IDA7aGVpZ2h0OjEzcHh9Lml0aV9fZmxhZy5pdGlfX2tpe2JhY2tncm91bmQtcG9zaXRpb246LTI2OTlweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19rbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNzIxcHggMDtoZWlnaHQ6MTJweH0uaXRpX19mbGFnLml0aV9fa257YmFja2dyb3VuZC1wb3NpdGlvbjotMjc0M3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2twe2JhY2tncm91bmQtcG9zaXRpb246LTI3NjVweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19rcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNzg3cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fa3d7YmFja2dyb3VuZC1wb3NpdGlvbjotMjgwOXB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX2t5e2JhY2tncm91bmQtcG9zaXRpb246LTI4MzFweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19rentiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yODUzcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fbGF7YmFja2dyb3VuZC1wb3NpdGlvbjotMjg3NXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2xie2JhY2tncm91bmQtcG9zaXRpb246LTI4OTdweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19sY3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOTE5cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fbGl7YmFja2dyb3VuZC1wb3NpdGlvbjotMjk0MXB4IDA7aGVpZ2h0OjEycHh9Lml0aV9fZmxhZy5pdGlfX2xre2JhY2tncm91bmQtcG9zaXRpb246LTI5NjNweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19scntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOTg1cHggMDtoZWlnaHQ6MTFweH0uaXRpX19mbGFnLml0aV9fbHN7YmFja2dyb3VuZC1wb3NpdGlvbjotMzAwN3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX2x0e2JhY2tncm91bmQtcG9zaXRpb246LTMwMjlweCAwO2hlaWdodDoxMnB4fS5pdGlfX2ZsYWcuaXRpX19sdXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMDUxcHggMDtoZWlnaHQ6MTJweH0uaXRpX19mbGFnLml0aV9fbHZ7YmFja2dyb3VuZC1wb3NpdGlvbjotMzA3M3B4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX2x5e2JhY2tncm91bmQtcG9zaXRpb246LTMwOTVweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19tYXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMTE3cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fbWN7YmFja2dyb3VuZC1wb3NpdGlvbjotMzEzOXB4IDA7aGVpZ2h0OjE1cHh9Lml0aV9fZmxhZy5pdGlfX21ke2JhY2tncm91bmQtcG9zaXRpb246LTMxNjBweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19tZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMTgycHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fbWZ7YmFja2dyb3VuZC1wb3NpdGlvbjotMzIwNHB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX21ne2JhY2tncm91bmQtcG9zaXRpb246LTMyMjZweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19taHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMjQ4cHggMDtoZWlnaHQ6MTFweH0uaXRpX19mbGFnLml0aV9fbWt7YmFja2dyb3VuZC1wb3NpdGlvbjotMzI3MHB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX21se2JhY2tncm91bmQtcG9zaXRpb246LTMyOTJweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19tbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMzE0cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fbW57YmFja2dyb3VuZC1wb3NpdGlvbjotMzMzNnB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX21ve2JhY2tncm91bmQtcG9zaXRpb246LTMzNThweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19tcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMzgwcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fbXF7YmFja2dyb3VuZC1wb3NpdGlvbjotMzQwMnB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX21ye2JhY2tncm91bmQtcG9zaXRpb246LTM0MjRweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNDQ2cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fbXR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzQ2OHB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX211e2JhY2tncm91bmQtcG9zaXRpb246LTM0OTBweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19tdntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNTEycHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fbXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMzUzNHB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX214e2JhY2tncm91bmQtcG9zaXRpb246LTM1NTZweCAwO2hlaWdodDoxMnB4fS5pdGlfX2ZsYWcuaXRpX19teXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNTc4cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fbXp7YmFja2dyb3VuZC1wb3NpdGlvbjotMzYwMHB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX25he2JhY2tncm91bmQtcG9zaXRpb246LTM2MjJweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19uY3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNjQ0cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fbmV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzY2NnB4IDA7aGVpZ2h0OjE1cHh9Lml0aV9fZmxhZy5pdGlfX25me2JhY2tncm91bmQtcG9zaXRpb246LTM2ODZweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19uZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNzA4cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fbml7YmFja2dyb3VuZC1wb3NpdGlvbjotMzczMHB4IDA7aGVpZ2h0OjEycHh9Lml0aV9fZmxhZy5pdGlfX25se2JhY2tncm91bmQtcG9zaXRpb246LTM3NTJweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19ub3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNzc0cHggMDtoZWlnaHQ6MTVweH0uaXRpX19mbGFnLml0aV9fbnB7YmFja2dyb3VuZC1wb3NpdGlvbjotMzc5NnB4IDA7aGVpZ2h0OjE1cHh9Lml0aV9fZmxhZy5pdGlfX25ye2JhY2tncm91bmQtcG9zaXRpb246LTM4MTFweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19udXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zODMzcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fbnp7YmFja2dyb3VuZC1wb3NpdGlvbjotMzg1NXB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX29te2JhY2tncm91bmQtcG9zaXRpb246LTM4NzdweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19wYXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zODk5cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fcGV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzkyMXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3Bme2JhY2tncm91bmQtcG9zaXRpb246LTM5NDNweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19wZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zOTY1cHggMDtoZWlnaHQ6MTVweH0uaXRpX19mbGFnLml0aV9fcGh7YmFja2dyb3VuZC1wb3NpdGlvbjotMzk4N3B4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX3Bre2JhY2tncm91bmQtcG9zaXRpb246LTQwMDlweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19wbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MDMxcHggMDtoZWlnaHQ6MTNweH0uaXRpX19mbGFnLml0aV9fcG17YmFja2dyb3VuZC1wb3NpdGlvbjotNDA1M3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3Bue2JhY2tncm91bmQtcG9zaXRpb246LTQwNzVweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19wcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MDk3cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fcHN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDExOXB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX3B0e2JhY2tncm91bmQtcG9zaXRpb246LTQxNDFweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19wd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MTYzcHggMDtoZWlnaHQ6MTNweH0uaXRpX19mbGFnLml0aV9fcHl7YmFja2dyb3VuZC1wb3NpdGlvbjotNDE4NXB4IDA7aGVpZ2h0OjExcHh9Lml0aV9fZmxhZy5pdGlfX3Fhe2JhY2tncm91bmQtcG9zaXRpb246LTQyMDdweCAwO2hlaWdodDo4cHh9Lml0aV9fZmxhZy5pdGlfX3Jle2JhY2tncm91bmQtcG9zaXRpb246LTQyMjlweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19yb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MjUxcHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fcnN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDI3M3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3J1e2JhY2tncm91bmQtcG9zaXRpb246LTQyOTVweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19yd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MzE3cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fc2F7YmFja2dyb3VuZC1wb3NpdGlvbjotNDMzOXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3Nie2JhY2tncm91bmQtcG9zaXRpb246LTQzNjFweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19zY3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MzgzcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fc2R7YmFja2dyb3VuZC1wb3NpdGlvbjotNDQwNXB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX3Nle2JhY2tncm91bmQtcG9zaXRpb246LTQ0MjdweCAwO2hlaWdodDoxM3B4fS5pdGlfX2ZsYWcuaXRpX19zZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NDQ5cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fc2h7YmFja2dyb3VuZC1wb3NpdGlvbjotNDQ3MXB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX3Npe2JhY2tncm91bmQtcG9zaXRpb246LTQ0OTNweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19zantiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NTE1cHggMDtoZWlnaHQ6MTVweH0uaXRpX19mbGFnLml0aV9fc2t7YmFja2dyb3VuZC1wb3NpdGlvbjotNDUzN3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3Nse2JhY2tncm91bmQtcG9zaXRpb246LTQ1NTlweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19zbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NTgxcHggMDtoZWlnaHQ6MTVweH0uaXRpX19mbGFnLml0aV9fc257YmFja2dyb3VuZC1wb3NpdGlvbjotNDYwM3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3Nve2JhY2tncm91bmQtcG9zaXRpb246LTQ2MjVweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19zcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NjQ3cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fc3N7YmFja2dyb3VuZC1wb3NpdGlvbjotNDY2OXB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX3N0e2JhY2tncm91bmQtcG9zaXRpb246LTQ2OTFweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX19zdntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NzEzcHggMDtoZWlnaHQ6MTJweH0uaXRpX19mbGFnLml0aV9fc3h7YmFja2dyb3VuZC1wb3NpdGlvbjotNDczNXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3N5e2JhY2tncm91bmQtcG9zaXRpb246LTQ3NTdweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX19zentiYWNrZ3JvdW5kLXBvc2l0aW9uOi00Nzc5cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fdGF7YmFja2dyb3VuZC1wb3NpdGlvbjotNDgwMXB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX3Rje2JhY2tncm91bmQtcG9zaXRpb246LTQ4MjNweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX190ZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00ODQ1cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fdGZ7YmFja2dyb3VuZC1wb3NpdGlvbjotNDg2N3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3Rne2JhY2tncm91bmQtcG9zaXRpb246LTQ4ODlweCAwO2hlaWdodDoxM3B4fS5pdGlfX2ZsYWcuaXRpX190aHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OTExcHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fdGp7YmFja2dyb3VuZC1wb3NpdGlvbjotNDkzM3B4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX3Rre2JhY2tncm91bmQtcG9zaXRpb246LTQ5NTVweCAwO2hlaWdodDoxMHB4fS5pdGlfX2ZsYWcuaXRpX190bHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OTc3cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fdG17YmFja2dyb3VuZC1wb3NpdGlvbjotNDk5OXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3Rue2JhY2tncm91bmQtcG9zaXRpb246LTUwMjFweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX190b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MDQzcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fdHJ7YmFja2dyb3VuZC1wb3NpdGlvbjotNTA2NXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3R0e2JhY2tncm91bmQtcG9zaXRpb246LTUwODdweCAwO2hlaWdodDoxMnB4fS5pdGlfX2ZsYWcuaXRpX190dntiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MTA5cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fdHd7YmFja2dyb3VuZC1wb3NpdGlvbjotNTEzMXB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3R6e2JhY2tncm91bmQtcG9zaXRpb246LTUxNTNweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX191YXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MTc1cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fdWd7YmFja2dyb3VuZC1wb3NpdGlvbjotNTE5N3B4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3Vte2JhY2tncm91bmQtcG9zaXRpb246LTUyMTlweCAwO2hlaWdodDoxMXB4fS5pdGlfX2ZsYWcuaXRpX191bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MjQxcHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fdXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNTI2M3B4IDA7aGVpZ2h0OjExcHh9Lml0aV9fZmxhZy5pdGlfX3V5e2JhY2tncm91bmQtcG9zaXRpb246LTUyODVweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX191entiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MzA3cHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9fdmF7YmFja2dyb3VuZC1wb3NpdGlvbjotNTMyOXB4IDA7aGVpZ2h0OjE1cHh9Lml0aV9fZmxhZy5pdGlfX3Zje2JhY2tncm91bmQtcG9zaXRpb246LTUzNDZweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX192ZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MzY4cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fdmd7YmFja2dyb3VuZC1wb3NpdGlvbjotNTM5MHB4IDA7aGVpZ2h0OjEwcHh9Lml0aV9fZmxhZy5pdGlfX3Zpe2JhY2tncm91bmQtcG9zaXRpb246LTU0MTJweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX192bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi01NDM0cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9fdnV7YmFja2dyb3VuZC1wb3NpdGlvbjotNTQ1NnB4IDA7aGVpZ2h0OjEycHh9Lml0aV9fZmxhZy5pdGlfX3dme2JhY2tncm91bmQtcG9zaXRpb246LTU0NzhweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX193c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi01NTAwcHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFnLml0aV9feGt7YmFja2dyb3VuZC1wb3NpdGlvbjotNTUyMnB4IDA7aGVpZ2h0OjE1cHh9Lml0aV9fZmxhZy5pdGlfX3lle2JhY2tncm91bmQtcG9zaXRpb246LTU1NDRweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX195dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi01NTY2cHggMDtoZWlnaHQ6MTRweH0uaXRpX19mbGFnLml0aV9femF7YmFja2dyb3VuZC1wb3NpdGlvbjotNTU4OHB4IDA7aGVpZ2h0OjE0cHh9Lml0aV9fZmxhZy5pdGlfX3pte2JhY2tncm91bmQtcG9zaXRpb246LTU2MTBweCAwO2hlaWdodDoxNHB4fS5pdGlfX2ZsYWcuaXRpX196d3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi01NjMycHggMDtoZWlnaHQ6MTBweH0uaXRpX19mbGFne2JhY2tncm91bmQtY29sb3I6I2RiZGJkYjtiYWNrZ3JvdW5kLWltYWdlOnVybChsaWIvaW50bC10ZWwtaW5wdXQvZmxhZ3MucG5nKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIwcHggMDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7Ym94LXNoYWRvdzowIDAgMXB4IDAgIzg4ODtoZWlnaHQ6MTVweH1AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzoyKSwobWluLXJlc29sdXRpb246MTkyZHBpKXsuaXRpX19mbGFne2JhY2tncm91bmQtaW1hZ2U6dXJsKGxpYi9pbnRsLXRlbC1pbnB1dC9mbGFncyU0MDJ4LnBuZyl9fS5pdGlfX2ZsYWcuaXRpX19ucHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fQoKLyohIHJ0bDplbmQ6aWdub3JlICovLml0aXt3aWR0aDoxMDAlfS5pdGkubm8tZmxhZyAuaXRpX19mbGFne2Rpc3BsYXk6bm9uZX0uaXRpLm5vLWZsYWcgLml0aV9fc2VsZWN0ZWQtZGlhbC1jb2Rle21hcmdpbi1sZWZ0OjB9Lml0aS5pdGktLWFsbG93LWRyb3Bkb3duIGlucHV0LC5pdGkuaXRpLS1hbGxvdy1kcm9wZG93biBpbnB1dFt0eXBlPXRlbF0sLml0aS5pdGktLWFsbG93LWRyb3Bkb3duIGlucHV0W3R5cGU9dGV4dF0sLml0aS5pdGktLXNlcGFyYXRlLWRpYWwtY29kZSBpbnB1dCwuaXRpLml0aS0tc2VwYXJhdGUtZGlhbC1jb2RlIGlucHV0W3R5cGU9dGVsXSwuaXRpLml0aS0tc2VwYXJhdGUtZGlhbC1jb2RlIGlucHV0W3R5cGU9dGV4dF17cGFkZGluZy1sZWZ0OjUycHghaW1wb3J0YW50fQoKLyohIHJ0bDpiZWdpbjppZ25vcmUgKi8uZmxpcC1jbG9ja3thbGlnbi1pdGVtczpmbGV4LWVuZDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtmb250LWZhbWlseTpIZWx2ZXRpY2EgTmV1ZSxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXNpemU6MXZ3O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt3aWR0aDoxMDAlfS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3Vwe2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZX0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1sYWJlbHtmb250LXNpemU6MWVtO2ZvbnQtd2VpZ2h0OjQwMDtoZWlnaHQ6MmVtO2xlZnQ6MDtsaW5lLWhlaWdodDoyZW07cG9zaXRpb246YWJzb2x1dGU7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTt0b3A6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7d2lkdGg6MTAwJX0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1sYWJlbC5mbGlwLWNsb2NrLW1lcmlkaXVte2ZsZXg6MDtmb250LXNpemU6MS43NWVtO2ZvbnQtd2VpZ2h0OjIwMDtsZWZ0OjEwMCU7bGluZS1oZWlnaHQ6MS43NWVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLjVlbSwtNTAlKTt3aWR0aDphdXRvfS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3R7Ym9yZGVyLXJhZGl1czouNzVyZW07Ym94LXNoYWRvdzowIDEuNXB4IDNweCByZ2JhKDAsMCwwLC4yNCksMCAzcHggOHB4IHJnYmEoMCwwLDAsLjA1KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6NmVtO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjRlbX0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0Om5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLXJpZ2h0Oi4zMzNlbX0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0Om5vdCguZmxpcCkgLmFjdGl2ZSAuZmxpcC1jbG9jay1saXN0LWl0ZW0taW5uZXJ7ei1pbmRleDo0fS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3Q6bm90KC5mbGlwKSAuZmxpcC1jbG9jay1saXN0LWl0ZW0taW5uZXIgLmJvdHRvbTphZnRlciwuZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0Om5vdCguZmxpcCkgLmZsaXAtY2xvY2stbGlzdC1pdGVtLWlubmVyIC50b3A6YWZ0ZXJ7ZGlzcGxheTpub25lfS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3QuZmxpcHstd2Via2l0LWFuaW1hdGlvbi1kZWxheTouNXM7YW5pbWF0aW9uLWRlbGF5Oi41czstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi41c30uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0LmZsaXAgLmZsaXAtY2xvY2stbGlzdC1pdGVtLWlubmVye3BlcnNwZWN0aXZlOjE1ZW19LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdC5mbGlwIC5hY3RpdmUsLmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdC5mbGlwIC5hY3RpdmU+ZGl2LC5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3QuZmxpcCAuYmVmb3JlLC5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3QuZmxpcCAuYmVmb3JlPmRpdiwuZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0LmZsaXAgLmJvdHRvbSwuZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0LmZsaXAgLnRvcHstd2Via2l0LWFuaW1hdGlvbi1kZWxheTppbmhlcml0O2FuaW1hdGlvbi1kZWxheTppbmhlcml0Oy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOmluaGVyaXQ7YW5pbWF0aW9uLWR1cmF0aW9uOmluaGVyaXQ7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3QuZmxpcCAuYWN0aXZlOmFmdGVyLC5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3QuZmxpcCAuYWN0aXZlPmRpdjphZnRlciwuZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0LmZsaXAgLmJlZm9yZTphZnRlciwuZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0LmZsaXAgLmJlZm9yZT5kaXY6YWZ0ZXIsLmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdC5mbGlwIC5ib3R0b206YWZ0ZXIsLmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdC5mbGlwIC50b3A6YWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246aW5oZXJpdDthbmltYXRpb24tZHVyYXRpb246aW5oZXJpdDstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6aW5oZXJpdDthbmltYXRpb24tZmlsbC1tb2RlOmluaGVyaXQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmluaGVyaXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjppbmhlcml0fS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3QuZmxpcCAuYmVmb3Jley13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjBzO2FuaW1hdGlvbi1kZWxheTowc30uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0LmZsaXAgLmJlZm9yZSAudG9wey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmxpcC10b3A7YW5pbWF0aW9uLW5hbWU6ZmxpcC10b3B9LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdC5mbGlwIC5iZWZvcmUgLmJvdHRvbTphZnRlciwuZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0LmZsaXAgLmJlZm9yZSAudG9wOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2hvdy1zaGFkb3c7YW5pbWF0aW9uLW5hbWU6c2hvdy1zaGFkb3d9LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdC5mbGlwIC5hY3RpdmU+ZGl2ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aW5kZXhpbmc7YW5pbWF0aW9uLW5hbWU6aW5kZXhpbmd9LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdC5mbGlwIC5hY3RpdmUgLmJvdHRvbTphZnRlciwuZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0LmZsaXAgLmFjdGl2ZSAudG9wOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Ojc1bXM7YW5pbWF0aW9uLWRlbGF5Ojc1bXM7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpoaWRlLXNoYWRvdzthbmltYXRpb24tbmFtZTpoaWRlLXNoYWRvd30uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0LmZsaXAgLmFjdGl2ZSAuYm90dG9tey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmxpcC1ib3R0b207YW5pbWF0aW9uLW5hbWU6ZmxpcC1ib3R0b219LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdCAuYWN0aXZle3otaW5kZXg6Mn0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5hY3RpdmUgLmJvdHRvbXt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7ei1pbmRleDoyfS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3QgLmJlZm9yZXt6LWluZGV4OjN9LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdCAuYmVmb3JlIC50b3B7dHJhbnNmb3JtLW9yaWdpbjpib3R0b20gY2VudGVyO3otaW5kZXg6Mn0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5iZWZvcmUgLnRvcDphZnRlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuMSkgMCwjMDAwKX0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5iZWZvcmUgLmJvdHRvbTphZnRlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzAwMCAwLHJnYmEoMCwwLDAsLjEpKX0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5mbGlwLWNsb2NrLWxpc3QtaXRlbS1pbm5lcntoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06cm90YXRlWCguMDAwMWRlZyk7d2lkdGg6MTAwJX0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5mbGlwLWNsb2NrLWxpc3QtaXRlbS1pbm5lcjpmaXJzdC1jaGlsZHt6LWluZGV4OjJ9LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdCAuZmxpcC1jbG9jay1saXN0LWl0ZW0taW5uZXI+LmJvdHRvbSwuZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5mbGlwLWNsb2NrLWxpc3QtaXRlbS1pbm5lcj4udG9we2JhY2tncm91bmQ6IzMzMztib3gtc2hhZG93Omluc2V0IDAgMCAuMmVtIHJnYmEoMCwwLDAsLjUpO2ZvbnQtc2l6ZTo0LjVlbTtoZWlnaHQ6NTAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3QgLmZsaXAtY2xvY2stbGlzdC1pdGVtLWlubmVyPi5ib3R0b206YWZ0ZXIsLmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdCAuZmxpcC1jbG9jay1saXN0LWl0ZW0taW5uZXI+LnRvcDphZnRlcntib3R0b206MDtjb250ZW50OiIgIjtkaXNwbGF5OmJsb2NrO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5mbGlwLWNsb2NrLWxpc3QtaXRlbS1pbm5lcj4uYm90dG9tOmJlZm9yZSwuZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5mbGlwLWNsb2NrLWxpc3QtaXRlbS1pbm5lcj4udG9wOmJlZm9yZXtjb250ZW50OiIgIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxcHg7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5mbGlwLWNsb2NrLWxpc3QtaXRlbS1pbm5lciAudG9we2JvcmRlci1yYWRpdXM6Ljc1cmVtIC43NXJlbSAwIDA7bGluZS1oZWlnaHQ6MS4zMzMzMzMzMzMzfS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxpc3QgLmZsaXAtY2xvY2stbGlzdC1pdGVtLWlubmVyIC50b3A6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czouNzVyZW0gLjc1cmVtIDAgMH0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5mbGlwLWNsb2NrLWxpc3QtaXRlbS1pbm5lciAudG9wOmJlZm9yZXtiYWNrZ3JvdW5kOiMzMzM7Ym90dG9tOjA7b3BhY2l0eTouNH0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5mbGlwLWNsb2NrLWxpc3QtaXRlbS1pbm5lciAuYm90dG9te2JvcmRlci1yYWRpdXM6MCAwIC43NXJlbSAuNzVyZW07bGluZS1oZWlnaHQ6MH0uZmxpcC1jbG9jayAuZmxpcC1jbG9jay1ncm91cCAuZmxpcC1jbG9jay1saXN0IC5mbGlwLWNsb2NrLWxpc3QtaXRlbS1pbm5lciAuYm90dG9tOmFmdGVye2JvcmRlci1yYWRpdXM6MCAwIC43NXJlbSAuNzVyZW19LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZ3JvdXAgLmZsaXAtY2xvY2stbGlzdCAuZmxpcC1jbG9jay1saXN0LWl0ZW0taW5uZXIgLmJvdHRvbTpiZWZvcmV7YmFja2dyb3VuZDojZmZmO29wYWNpdHk6LjF9LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZGl2aWRlcntoZWlnaHQ6NmVtO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEuNWVtfS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWRpdmlkZXI6YWZ0ZXIsLmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZGl2aWRlcjpiZWZvcmV7YmFja2dyb3VuZDojMzMzO2JvcmRlci1yYWRpdXM6NTAlO2NvbnRlbnQ6IiAiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0Oi43NWVtO2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6Ljc1ZW19LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZGl2aWRlcjpiZWZvcmV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDc1JSl9LmZsaXAtY2xvY2sgLmZsaXAtY2xvY2stZGl2aWRlcjphZnRlcnt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTE3NSUpfUAtd2Via2l0LWtleWZyYW1lcyBpbmRleGluZ3swJXt6LWluZGV4OjJ9MSV7ei1pbmRleDozfXRve3otaW5kZXg6NH19QGtleWZyYW1lcyBpbmRleGluZ3swJXt6LWluZGV4OjJ9MSV7ei1pbmRleDozfXRve3otaW5kZXg6NH19QC13ZWJraXQta2V5ZnJhbWVzIGZsaXAtYm90dG9tezAle3RyYW5zZm9ybTpyb3RhdGVYKDkwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlWCgwKX19QGtleWZyYW1lcyBmbGlwLWJvdHRvbXswJXt0cmFuc2Zvcm06cm90YXRlWCg5MGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZVgoMCl9fUAtd2Via2l0LWtleWZyYW1lcyBmbGlwLXRvcHswJXt0cmFuc2Zvcm06cm90YXRlWCgwKX10b3t0cmFuc2Zvcm06cm90YXRlWCgtOTBkZWcpfX1Aa2V5ZnJhbWVzIGZsaXAtdG9wezAle3RyYW5zZm9ybTpyb3RhdGVYKDApfXRve3RyYW5zZm9ybTpyb3RhdGVYKC05MGRlZyl9fUAtd2Via2l0LWtleWZyYW1lcyBzaG93LXNoYWRvd3swJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHNob3ctc2hhZG93ezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUAtd2Via2l0LWtleWZyYW1lcyBoaWRlLXNoYWRvd3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGhpZGUtc2hhZG93ezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fQovKiEgcnRsOmVuZDppZ25vcmUgKi8uZmxhdHBpY2tyLWNhbGVuZGFyey13ZWJraXQtYW5pbWF0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czo1cHg7Ym94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTYsLTFweCAwIDAgI2U2ZTZlNiwwIDFweCAwICNlNmU2ZTYsMCAtMXB4IDAgI2U2ZTZlNiwwIDNweCAxM3B4IHJnYmEoMCwwLDAsLjA4KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlyZWN0aW9uOmx0cjtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjRweDtvcGFjaXR5OjA7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MzA3Ljg3NXB4fS5mbGF0cGlja3ItY2FsZW5kYXIuaW5saW5lLC5mbGF0cGlja3ItY2FsZW5kYXIub3BlbnttYXgtaGVpZ2h0OjY0MHB4O29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGV9LmZsYXRwaWNrci1jYWxlbmRhci5vcGVue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3otaW5kZXg6OTk5OTl9LmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlLm9wZW57LXdlYmtpdC1hbmltYXRpb246ZnBGYWRlSW5Eb3duIC4zcyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpO2FuaW1hdGlvbjpmcEZhZGVJbkRvd24gLjNzIGN1YmljLWJlemllciguMjMsMSwuMzIsMSl9LmZsYXRwaWNrci1jYWxlbmRhci5pbmxpbmV7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MnB4fS5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGlje3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDEwMCUgKyAycHgpfS5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGljLm9wZW57ZGlzcGxheTpibG9jazt6LWluZGV4Ojk5OX0uZmxhdHBpY2tyLWNhbGVuZGFyLm11bHRpTW9udGggLmZsYXRwaWNrci1kYXlzIC5kYXlDb250YWluZXI6bnRoLWNoaWxkKG4rMSkgLmZsYXRwaWNrci1kYXkuaW5SYW5nZTpudGgtY2hpbGQoN24rNyl7Ym94LXNoYWRvdzpub25lIWltcG9ydGFudH0uZmxhdHBpY2tyLWNhbGVuZGFyLm11bHRpTW9udGggLmZsYXRwaWNrci1kYXlzIC5kYXlDb250YWluZXI6bnRoLWNoaWxkKG4rMikgLmZsYXRwaWNrci1kYXkuaW5SYW5nZTpudGgtY2hpbGQoN24rMSl7Ym94LXNoYWRvdzotMnB4IDAgMCAjZTZlNmU2LDVweCAwIDAgI2U2ZTZlNn0uZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNUaW1lIC5kYXlDb250YWluZXIsLmZsYXRwaWNrci1jYWxlbmRhciAuaGFzV2Vla3MgLmRheUNvbnRhaW5lcntib3JkZXItYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmZsYXRwaWNrci1jYWxlbmRhciAuaGFzV2Vla3MgLmRheUNvbnRhaW5lcntib3JkZXItbGVmdDowfS5mbGF0cGlja3ItY2FsZW5kYXIuaGFzVGltZSAuZmxhdHBpY2tyLXRpbWV7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U2ZTZlNjtoZWlnaHQ6NDBweH0uZmxhdHBpY2tyLWNhbGVuZGFyLm5vQ2FsZW5kYXIuaGFzVGltZSAuZmxhdHBpY2tyLXRpbWV7aGVpZ2h0OmF1dG99LmZsYXRwaWNrci1jYWxlbmRhcjphZnRlciwuZmxhdHBpY2tyLWNhbGVuZGFyOmJlZm9yZXtib3JkZXI6c29saWQgdHJhbnNwYXJlbnQ7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjB9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1JpZ2h0OmFmdGVyLC5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dSaWdodDpiZWZvcmUsLmZsYXRwaWNrci1jYWxlbmRhci5yaWdodE1vc3Q6YWZ0ZXIsLmZsYXRwaWNrci1jYWxlbmRhci5yaWdodE1vc3Q6YmVmb3Jle2xlZnQ6YXV0bztyaWdodDoyMnB4fS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dDZW50ZXI6YWZ0ZXIsLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0NlbnRlcjpiZWZvcmV7bGVmdDo1MCU7cmlnaHQ6NTAlfS5mbGF0cGlja3ItY2FsZW5kYXI6YmVmb3Jle2JvcmRlci13aWR0aDo1cHg7bWFyZ2luOjAgLTVweH0uZmxhdHBpY2tyLWNhbGVuZGFyOmFmdGVye2JvcmRlci13aWR0aDo0cHg7bWFyZ2luOjAgLTRweH0uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmFmdGVyLC5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YmVmb3Jle2JvdHRvbToxMDAlfS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YmVmb3Jle2JvcmRlci1ib3R0b20tY29sb3I6I2U2ZTZlNn0uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmFmdGVye2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Qm90dG9tOmFmdGVyLC5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YmVmb3Jle3RvcDoxMDAlfS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YmVmb3Jle2JvcmRlci10b3AtY29sb3I6I2U2ZTZlNn0uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Qm90dG9tOmFmdGVye2JvcmRlci10b3AtY29sb3I6I2ZmZn0uZmxhdHBpY2tyLWNhbGVuZGFyOmZvY3Vze291dGxpbmU6MH0uZmxhdHBpY2tyLXdyYXBwZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LmZsYXRwaWNrci1tb250aHN7ZGlzcGxheTpmbGV4fS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbW9udGh7ZmlsbDpyZ2JhKDAsMCwwLC45KTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnJnYmEoMCwwLDAsLjkpO2ZsZXg6MTtoZWlnaHQ6MzRweDtsaW5lLWhlaWdodDoxO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aHtmaWxsOnJnYmEoMCwwLDAsLjkpO2NvbG9yOnJnYmEoMCwwLDAsLjkpO2N1cnNvcjpwb2ludGVyO2hlaWdodDozNHB4O3BhZGRpbmc6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWRlY29yYXRpb246bm9uZTt0b3A6MDt6LWluZGV4OjN9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoLmZsYXRwaWNrci1kaXNhYmxlZCwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGguZmxhdHBpY2tyLWRpc2FibGVke2Rpc3BsYXk6bm9uZX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggaSwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGggaXtwb3NpdGlvbjpyZWxhdGl2ZX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGguZmxhdHBpY2tyLXByZXYtbW9udGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmZsYXRwaWNrci1wcmV2LW1vbnRoe2xlZnQ6MH0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGguZmxhdHBpY2tyLW5leHQtbW9udGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmZsYXRwaWNrci1uZXh0LW1vbnRoe3JpZ2h0OjB9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoOmhvdmVyLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aDpob3Zlcntjb2xvcjojOTU5ZWE5fS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aDpob3ZlciBzdmcsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoOmhvdmVyIHN2Z3tmaWxsOiNmNjQ3NDd9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoIHN2ZywuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGggc3Zne2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoIHN2ZyBwYXRoLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcgcGF0aHtmaWxsOmluaGVyaXQ7dHJhbnNpdGlvbjpmaWxsIC4xc30ubnVtSW5wdXRXcmFwcGVye2hlaWdodDphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlfS5udW1JbnB1dFdyYXBwZXIgaW5wdXQsLm51bUlucHV0V3JhcHBlciBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5udW1JbnB1dFdyYXBwZXIgaW5wdXR7d2lkdGg6MTAwJX0ubnVtSW5wdXRXcmFwcGVyIGlucHV0OjotbXMtY2xlYXJ7ZGlzcGxheTpub25lfS5udW1JbnB1dFdyYXBwZXIgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sLm51bUlucHV0V3JhcHBlciBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MH0ubnVtSW5wdXRXcmFwcGVyIHNwYW57Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDU3LDU3LDU3LC4xNSk7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2hlaWdodDo1MCU7bGluZS1oZWlnaHQ6NTAlO29wYWNpdHk6MDtwYWRkaW5nOjAgNHB4IDAgMnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7d2lkdGg6MTRweH0ubnVtSW5wdXRXcmFwcGVyIHNwYW46aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKX0ubnVtSW5wdXRXcmFwcGVyIHNwYW46YWN0aXZle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMil9Lm51bUlucHV0V3JhcHBlciBzcGFuOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcHtib3JkZXItYm90dG9tOjA7dG9wOjB9Lm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo0cHggc29saWQgcmdiYSg1Nyw1Nyw1NywuNik7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7dG9wOjI2JX0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3due3RvcDo1MCV9Lm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlcntib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjRweCBzb2xpZCByZ2JhKDU3LDU3LDU3LC42KTt0b3A6NDAlfS5udW1JbnB1dFdyYXBwZXIgc3BhbiBzdmd7aGVpZ2h0OmF1dG87d2lkdGg6aW5oZXJpdH0ubnVtSW5wdXRXcmFwcGVyIHNwYW4gc3ZnIHBhdGh7ZmlsbDpyZ2JhKDAsMCwwLC41KX0ubnVtSW5wdXRXcmFwcGVyOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDUpfS5udW1JbnB1dFdyYXBwZXI6aG92ZXIgc3BhbntvcGFjaXR5OjF9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoe2NvbG9yOmluaGVyaXQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEzNSU7Zm9udC13ZWlnaHQ6MzAwO2hlaWdodDozNHB4O2xlZnQ6MTIuNSU7bGluZS1oZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6Ny40OHB4IDAgMDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt3aWR0aDo3NSV9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHNwYW4uY3VyLW1vbnRoe2NvbG9yOmluaGVyaXQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXdlaWdodDo3MDA7bWFyZ2luLWxlZnQ6LjVjaDtwYWRkaW5nOjB9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHNwYW4uY3VyLW1vbnRoOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDUpfS5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZjaDt3aWR0aDo3Y2hcMCB9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVye2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuOSl9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd246YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC45KX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJ7LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDstbW96LWFwcGVhcmFuY2U6dGV4dGZpZWxkO2FwcGVhcmFuY2U6dGV4dGZpZWxkO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjppbmhlcml0O2N1cnNvcjp0ZXh0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6MzAwO2hlaWdodDphdXRvO2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowIDAgMCAuNWNoO3ZlcnRpY2FsLWFsaWduOmluaXRpYWx9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyOmZvY3Vze291dGxpbmU6MH0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJbZGlzYWJsZWRdLC5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF06aG92ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjpyZ2JhKDAsMCwwLC41KTtmb250LXNpemU6MTAwJTtwb2ludGVyLWV2ZW50czpub25lfS5mbGF0cGlja3ItY3VycmVudC1tb250aCAuZmxhdHBpY2tyLW1vbnRoRHJvcGRvd24tbW9udGhze2FwcGVhcmFuY2U6bWVudWxpc3Q7LXdlYmtpdC1hcHBlYXJhbmNlOm1lbnVsaXN0Oy1tb3otYXBwZWFyYW5jZTptZW51bGlzdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjMwMDtoZWlnaHQ6YXV0bztsaW5lLWhlaWdodDppbmhlcml0O21hcmdpbjotMXB4IDAgMDtvdXRsaW5lOm5vbmU7cGFkZGluZzowIDAgMCAuNWNoO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmluaXRpYWw7d2lkdGg6YXV0b30uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRoczphY3RpdmUsLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHM6Zm9jdXN7b3V0bGluZTpub25lfS5mbGF0cGlja3ItY3VycmVudC1tb250aCAuZmxhdHBpY2tyLW1vbnRoRHJvcGRvd24tbW9udGhzOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDUpfS5mbGF0cGlja3ItY3VycmVudC1tb250aCAuZmxhdHBpY2tyLW1vbnRoRHJvcGRvd24tbW9udGhzIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O291dGxpbmU6bm9uZTtwYWRkaW5nOjB9LmZsYXRwaWNrci13ZWVrZGF5c3thbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9LmZsYXRwaWNrci13ZWVrZGF5cyAuZmxhdHBpY2tyLXdlZWtkYXljb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXg6MX1zcGFuLmZsYXRwaWNrci13ZWVrZGF5e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6cmdiYSgwLDAsMCwuNTQpO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6YmxvY2s7ZmxleDoxO2ZvbnQtc2l6ZTo5MCU7Zm9udC13ZWlnaHQ6Ym9sZGVyO2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjA7dGV4dC1hbGlnbjpjZW50ZXJ9LmRheUNvbnRhaW5lciwuZmxhdHBpY2tyLXdlZWtze3BhZGRpbmc6MXB4IDAgMH0uZmxhdHBpY2tyLWRheXN7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjMwNy44NzVweH0uZmxhdHBpY2tyLWRheXM6Zm9jdXN7b3V0bGluZTowfS5kYXlDb250YWluZXJ7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDstbXMtZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZDttYXgtd2lkdGg6MzA3Ljg3NXB4O21pbi13aWR0aDozMDcuODc1cHg7b3BhY2l0eToxO291dGxpbmU6MDtwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3dpZHRoOjMwNy44NzVweH0uZGF5Q29udGFpbmVyKy5kYXlDb250YWluZXJ7Ym94LXNoYWRvdzotMXB4IDAgMCAjZTZlNmU2fS5mbGF0cGlja3ItZGF5e2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MTUwcHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiMzOTM5Mzk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleC1iYXNpczoxNC4yODU3MTQzJTtmb250LXdlaWdodDo0MDA7aGVpZ2h0OjM5cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDozOXB4O21hcmdpbjowO21heC13aWR0aDozOXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjE0LjI4NTcxNDMlfS5mbGF0cGlja3ItZGF5LmluUmFuZ2UsLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5LmluUmFuZ2UsLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5LnRvZGF5LmluUmFuZ2UsLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5OmZvY3VzLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheTpob3ZlciwuZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXkuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXkudG9kYXkuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXk6Zm9jdXMsLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5OmhvdmVyLC5mbGF0cGlja3ItZGF5LnRvZGF5LmluUmFuZ2UsLmZsYXRwaWNrci1kYXk6Zm9jdXMsLmZsYXRwaWNrci1kYXk6aG92ZXJ7YmFja2dyb3VuZDojZTZlNmU2O2JvcmRlci1jb2xvcjojZTZlNmU2O2N1cnNvcjpwb2ludGVyO291dGxpbmU6MH0uZmxhdHBpY2tyLWRheS50b2RheXtib3JkZXItY29sb3I6Izk1OWVhOX0uZmxhdHBpY2tyLWRheS50b2RheTpmb2N1cywuZmxhdHBpY2tyLWRheS50b2RheTpob3ZlcntiYWNrZ3JvdW5kOiM5NTllYTk7Ym9yZGVyLWNvbG9yOiM5NTllYTk7Y29sb3I6I2ZmZn0uZmxhdHBpY2tyLWRheS5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5pblJhbmdlLC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLm5leHRNb250aERheSwuZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5wcmV2TW9udGhEYXksLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2U6Zm9jdXMsLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2U6aG92ZXIsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5uZXh0TW9udGhEYXksLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQucHJldk1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkOmZvY3VzLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkOmhvdmVyLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UsLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5pblJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UucHJldk1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2U6Zm9jdXMsLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZTpob3ZlcntiYWNrZ3JvdW5kOiM1NjlmZjc7Ym9yZGVyLWNvbG9yOiM1NjlmZjc7Ym94LXNoYWRvdzpub25lO2NvbG9yOiNmZmZ9LmZsYXRwaWNrci1kYXkuZW5kUmFuZ2Uuc3RhcnRSYW5nZSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5zdGFydFJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZXtib3JkZXItcmFkaXVzOjUwcHggMCAwIDUwcHh9LmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UuZW5kUmFuZ2UsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuZW5kUmFuZ2UsLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5lbmRSYW5nZXtib3JkZXItcmFkaXVzOjAgNTBweCA1MHB4IDB9LmZsYXRwaWNrci1kYXkuZW5kUmFuZ2Uuc3RhcnRSYW5nZSsuZW5kUmFuZ2U6bm90KDpudGgtY2hpbGQoN24rMSkpLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLnN0YXJ0UmFuZ2UrLmVuZFJhbmdlOm5vdCg6bnRoLWNoaWxkKDduKzEpKSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2UrLmVuZFJhbmdlOm5vdCg6bnRoLWNoaWxkKDduKzEpKXtib3gtc2hhZG93Oi0xMHB4IDAgMCAjNTY5ZmY3fS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2UsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZS5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2V7Ym9yZGVyLXJhZGl1czo1MHB4fS5mbGF0cGlja3ItZGF5LmluUmFuZ2V7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6LTVweCAwIDAgI2U2ZTZlNiw1cHggMCAwICNlNmU2ZTZ9LmZsYXRwaWNrci1kYXkuZmxhdHBpY2tyLWRpc2FibGVkLC5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZDpob3ZlciwuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXksLmZsYXRwaWNrci1kYXkubm90QWxsb3dlZCwuZmxhdHBpY2tyLWRheS5ub3RBbGxvd2VkLm5leHRNb250aERheSwuZmxhdHBpY2tyLWRheS5ub3RBbGxvd2VkLnByZXZNb250aERheSwuZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXl7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6cmdiYSg1Nyw1Nyw1NywuMyk7Y3Vyc29yOmRlZmF1bHR9LmZsYXRwaWNrci1kYXkuZmxhdHBpY2tyLWRpc2FibGVkLC5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZDpob3Zlcntjb2xvcjpyZ2JhKDU3LDU3LDU3LC4xKTtjdXJzb3I6bm90LWFsbG93ZWR9LmZsYXRwaWNrci1kYXkud2Vlay5zZWxlY3RlZHtib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzotNXB4IDAgMCAjNTY5ZmY3LDVweCAwIDAgIzU2OWZmN30uZmxhdHBpY2tyLWRheS5oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LnJhbmdlTW9kZSAuZmxhdHBpY2tyLWRheXttYXJnaW4tdG9wOjFweH0uZmxhdHBpY2tyLXdlZWt3cmFwcGVye2Zsb2F0OmxlZnR9LmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtze2JveC1zaGFkb3c6MXB4IDAgMCAjZTZlNmU2O3BhZGRpbmc6MCAxMnB4fS5mbGF0cGlja3Itd2Vla3dyYXBwZXIgLmZsYXRwaWNrci13ZWVrZGF5e2Zsb2F0Om5vbmU7bGluZS1oZWlnaHQ6MjhweDt3aWR0aDoxMDAlfS5mbGF0cGlja3Itd2Vla3dyYXBwZXIgc3Bhbi5mbGF0cGlja3ItZGF5LC5mbGF0cGlja3Itd2Vla3dyYXBwZXIgc3Bhbi5mbGF0cGlja3ItZGF5OmhvdmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Y29sb3I6cmdiYSg1Nyw1Nyw1NywuMyk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6bm9uZTt3aWR0aDoxMDAlfS5mbGF0cGlja3ItaW5uZXJDb250YWluZXJ7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbn0uZmxhdHBpY2tyLXJDb250YWluZXJ7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MH0uZmxhdHBpY2tyLXRpbWV7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7ZGlzcGxheTpmbGV4O2hlaWdodDowO2xpbmUtaGVpZ2h0OjQwcHg7bWF4LWhlaWdodDo0MHB4O291dGxpbmU6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpjZW50ZXJ9LmZsYXRwaWNrci10aW1lOmFmdGVye2NsZWFyOmJvdGg7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlfS5mbGF0cGlja3ItdGltZSAubnVtSW5wdXRXcmFwcGVye2ZsZXg6MTtmbG9hdDpsZWZ0O2hlaWdodDo0MHB4O3dpZHRoOjQwJX0uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMzkzOTM5fS5mbGF0cGlja3ItdGltZSAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVye2JvcmRlci10b3AtY29sb3I6IzM5MzkzOX0uZmxhdHBpY2tyLXRpbWUuaGFzU2Vjb25kcyAubnVtSW5wdXRXcmFwcGVye3dpZHRoOjI2JX0uZmxhdHBpY2tyLXRpbWUudGltZTI0aHIgLm51bUlucHV0V3JhcHBlcnt3aWR0aDo0OSV9LmZsYXRwaWNrci10aW1lIGlucHV0ey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7LW1vei1hcHBlYXJhbmNlOnRleHRmaWVsZDthcHBlYXJhbmNlOnRleHRmaWVsZDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDtib3gtc2hhZG93Om5vbmU7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiMzOTM5Mzk7Zm9udC1zaXplOjE0cHg7aGVpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXJ9LmZsYXRwaWNrci10aW1lIGlucHV0LmZsYXRwaWNrci1ob3Vye2ZvbnQtd2VpZ2h0OjcwMH0uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLW1pbnV0ZSwuZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLXNlY29uZHtmb250LXdlaWdodDo0MDB9LmZsYXRwaWNrci10aW1lIGlucHV0OmZvY3Vze2JvcmRlcjowO291dGxpbmU6MH0uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbSwuZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci10aW1lLXNlcGFyYXRvcnthbGlnbi1zZWxmOmNlbnRlcjtjb2xvcjojMzkzOTM5O2Zsb2F0OmxlZnQ7Zm9udC13ZWlnaHQ6NzAwO2hlaWdodDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3dpZHRoOjIlfS5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBte2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjQwMDtvdXRsaW5lOjA7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTglfS5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtOmZvY3VzLC5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtOmhvdmVyLC5mbGF0cGlja3ItdGltZSBpbnB1dDpmb2N1cywuZmxhdHBpY2tyLXRpbWUgaW5wdXQ6aG92ZXJ7YmFja2dyb3VuZDojZWVlfS5mbGF0cGlja3ItaW5wdXRbcmVhZG9ubHlde2N1cnNvcjpwb2ludGVyfUAtd2Via2l0LWtleWZyYW1lcyBmcEZhZGVJbkRvd257MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBmcEZhZGVJbkRvd257MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmZsYXRwaWNrci1tb2JpbGV7cG9zaXRpb246cmVsYXRpdmV9LmZsYXRwaWNrci1tb2JpbGU6bm90KDotbW96LXBsYWNlaG9sZGVyLXNob3duKTphZnRlcntjb2xvcjojNmM3NTdkO2NvbnRlbnQ6YXR0cihwbGFjZWhvbGRlcikhaW1wb3J0YW50O2ZvbnQtc2l6ZTouODk1cmVtO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIuMnJlbTt0b3A6LjVyZW19LmZsYXRwaWNrci1tb2JpbGU6bm90KDotbXMtaW5wdXQtcGxhY2Vob2xkZXIpOmFmdGVye2NvbG9yOiM2Yzc1N2Q7Y29udGVudDphdHRyKHBsYWNlaG9sZGVyKSFpbXBvcnRhbnQ7Zm9udC1zaXplOi44OTVyZW07cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6Mi4ycmVtO3RvcDouNXJlbX0uZmxhdHBpY2tyLW1vYmlsZTpub3QoOnBsYWNlaG9sZGVyLXNob3duKTphZnRlcntjb2xvcjojNmM3NTdkO2NvbnRlbnQ6YXR0cihwbGFjZWhvbGRlcikhaW1wb3J0YW50O2ZvbnQtc2l6ZTouODk1cmVtO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIuMnJlbTt0b3A6LjVyZW19LmZsYXRwaWNrci1tb2JpbGU6Zm9jdXM6YWZ0ZXIsLmZsYXRwaWNrci1tb2JpbGU6dmFsaWQ6YWZ0ZXJ7ZGlzcGxheTpub25lfQoKLyohIHJ0bDpiZWdpbjppZ25vcmUgKi8ubm9VaS10YXJnZXQsLm5vVWktdGFyZ2V0ICp7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7Ym94LXNpemluZzpib3JkZXItYm94O3RvdWNoLWFjdGlvbjpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubm9VaS10YXJnZXR7cG9zaXRpb246cmVsYXRpdmV9Lm5vVWktYmFzZSwubm9VaS1jb25uZWN0c3toZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3otaW5kZXg6MX0ubm9VaS1jb25uZWN0c3tvdmVyZmxvdzpoaWRkZW47ei1pbmRleDowfS5ub1VpLWNvbm5lY3QsLm5vVWktb3JpZ2lue2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7LW1zLXRyYW5zZm9ybS1vcmlnaW46MCAwOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDA7LXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7dHJhbnNmb3JtLXN0eWxlOmZsYXQ7d2lkdGg6MTAwJTt3aWxsLWNoYW5nZTp0cmFuc2Zvcm07ei1pbmRleDoxfS5ub1VpLXR4dC1kaXItcnRsLm5vVWktaG9yaXpvbnRhbCAubm9VaS1vcmlnaW57bGVmdDowO3JpZ2h0OmF1dG99Lm5vVWktdmVydGljYWwgLm5vVWktb3JpZ2lue3RvcDotMTAwJTt3aWR0aDowfS5ub1VpLWhvcml6b250YWwgLm5vVWktb3JpZ2lue2hlaWdodDowfS5ub1VpLWhhbmRsZXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlfS5ub1VpLXRvdWNoLWFyZWF7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ubm9VaS1zdGF0ZS10YXAgLm5vVWktY29ubmVjdCwubm9VaS1zdGF0ZS10YXAgLm5vVWktb3JpZ2lue3RyYW5zaXRpb246dHJhbnNmb3JtIC4zc30ubm9VaS1zdGF0ZS1kcmFnICp7Y3Vyc29yOmluaGVyaXQhaW1wb3J0YW50fS5ub1VpLWhvcml6b250YWx7aGVpZ2h0OjE4cHh9Lm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGV7aGVpZ2h0OjI4cHg7cmlnaHQ6LTE3cHg7dG9wOi02cHg7d2lkdGg6MzRweH0ubm9VaS12ZXJ0aWNhbHt3aWR0aDoxOHB4fS5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZXtib3R0b206LTE3cHg7aGVpZ2h0OjM0cHg7cmlnaHQ6LTZweDt3aWR0aDoyOHB4fS5ub1VpLXR4dC1kaXItcnRsLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGV7bGVmdDotMTdweDtyaWdodDphdXRvfS5ub1VpLXRhcmdldHtiYWNrZ3JvdW5kOiNmYWZhZmE7Ym9yZGVyOjFweCBzb2xpZCAjZDNkM2QzO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4ICNmMGYwZjAsMCAzcHggNnB4IC01cHggI2JiYn0ubm9VaS1jb25uZWN0c3tib3JkZXItcmFkaXVzOjNweH0ubm9VaS1jb25uZWN0e2JhY2tncm91bmQ6IzNmYjhhZn0ubm9VaS1kcmFnZ2FibGV7Y3Vyc29yOmV3LXJlc2l6ZX0ubm9VaS12ZXJ0aWNhbCAubm9VaS1kcmFnZ2FibGV7Y3Vyc29yOm5zLXJlc2l6ZX0ubm9VaS1oYW5kbGV7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2Q5ZDlkOTtib3JkZXItcmFkaXVzOjNweDtib3gtc2hhZG93Omluc2V0IDAgMCAxcHggI2ZmZixpbnNldCAwIDFweCA3cHggI2ViZWJlYiwwIDNweCA2cHggLTNweCAjYmJiO2N1cnNvcjpkZWZhdWx0fS5ub1VpLWFjdGl2ZXtib3gtc2hhZG93Omluc2V0IDAgMCAxcHggI2ZmZixpbnNldCAwIDFweCA3cHggI2RkZCwwIDNweCA2cHggLTNweCAjYmJifS5ub1VpLWhhbmRsZTphZnRlciwubm9VaS1oYW5kbGU6YmVmb3Jle2JhY2tncm91bmQ6I2U4ZTdlNjtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE0cHg7bGVmdDoxNHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7d2lkdGg6MXB4fS5ub1VpLWhhbmRsZTphZnRlcntsZWZ0OjE3cHh9Lm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlOmFmdGVyLC5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZTpiZWZvcmV7aGVpZ2h0OjFweDtsZWZ0OjZweDt0b3A6MTRweDt3aWR0aDoxNHB4fS5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZTphZnRlcnt0b3A6MTdweH1bZGlzYWJsZWRdIC5ub1VpLWNvbm5lY3R7YmFja2dyb3VuZDojYjhiOGI4fVtkaXNhYmxlZF0ubm9VaS1oYW5kbGUsW2Rpc2FibGVkXSAubm9VaS1oYW5kbGUsW2Rpc2FibGVkXS5ub1VpLXRhcmdldHtjdXJzb3I6bm90LWFsbG93ZWR9Lm5vVWktcGlwcywubm9VaS1waXBzICp7Ym94LXNpemluZzpib3JkZXItYm94fS5ub1VpLXBpcHN7Y29sb3I6Izk5OTtwb3NpdGlvbjphYnNvbHV0ZX0ubm9VaS12YWx1ZXtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9Lm5vVWktdmFsdWUtc3Vie2NvbG9yOiNjY2M7Zm9udC1zaXplOjEwcHh9Lm5vVWktbWFya2Vye2JhY2tncm91bmQ6I2NjYztwb3NpdGlvbjphYnNvbHV0ZX0ubm9VaS1tYXJrZXItbGFyZ2UsLm5vVWktbWFya2VyLXN1YntiYWNrZ3JvdW5kOiNhYWF9Lm5vVWktcGlwcy1ob3Jpem9udGFse2hlaWdodDo4MHB4O2xlZnQ6MDtwYWRkaW5nOjEwcHggMDt0b3A6MTAwJTt3aWR0aDoxMDAlfS5ub1VpLXZhbHVlLWhvcml6b250YWx7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDUwJSl9Lm5vVWktcnRsIC5ub1VpLXZhbHVlLWhvcml6b250YWx7dHJhbnNmb3JtOnRyYW5zbGF0ZSg1MCUsNTAlKX0ubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlcntoZWlnaHQ6NXB4O21hcmdpbi1sZWZ0Oi0xcHg7d2lkdGg6MnB4fS5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyLXN1YntoZWlnaHQ6MTBweH0ubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlci1sYXJnZXtoZWlnaHQ6MTVweH0ubm9VaS1waXBzLXZlcnRpY2Fse2hlaWdodDoxMDAlO2xlZnQ6MTAwJTtwYWRkaW5nOjAgMTBweDt0b3A6MH0ubm9VaS12YWx1ZS12ZXJ0aWNhbHtwYWRkaW5nLWxlZnQ6MjVweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubm9VaS1ydGwgLm5vVWktdmFsdWUtdmVydGljYWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTAlKX0ubm9VaS1tYXJrZXItdmVydGljYWwubm9VaS1tYXJrZXJ7aGVpZ2h0OjJweDttYXJnaW4tdG9wOi0xcHg7d2lkdGg6NXB4fS5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlci1zdWJ7d2lkdGg6MTBweH0ubm9VaS1tYXJrZXItdmVydGljYWwubm9VaS1tYXJrZXItbGFyZ2V7d2lkdGg6MTVweH0ubm9VaS10b29sdGlwe2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkOWQ5ZDk7Ym9yZGVyLXJhZGl1czozcHg7Y29sb3I6IzAwMDtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6NXB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ubm9VaS1ob3Jpem9udGFsIC5ub1VpLXRvb2x0aXB7Ym90dG9tOjEyMCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKX0ubm9VaS12ZXJ0aWNhbCAubm9VaS10b29sdGlwe3JpZ2h0OjEyMCU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubm9VaS1ob3Jpem9udGFsIC5ub1VpLW9yaWdpbj4ubm9VaS10b29sdGlwe2JvdHRvbToxMHB4O2xlZnQ6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlKDUwJSl9Lm5vVWktdmVydGljYWwgLm5vVWktb3JpZ2luPi5ub1VpLXRvb2x0aXB7cmlnaHQ6MjhweDt0b3A6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMThweCl9CgovKiEgcnRsOmVuZDppZ25vcmUgKi8ubm9VaS1iYXNle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTTg5UjhBQXBrQnkxN1hyWm9BQUFBQVNVVk9SSzVDWUlJPSksdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmM4UjhBQWxVQnFVRjZSbUlBQUFBQVNVVk9SSzVDWUlJPSksdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTnMrUThBQWcwQmhhVDVTZ2dBQUFBQVNVVk9SSzVDWUlJPSksdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBWUFBQUFmRmNTSkFBQUFEVWxFUVZSNDJtTTA2TGozSHdBRkhRS1hGSHdRYVFBQUFBQkpSVTVFcmtKZ2dnPT0pLHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVlBQUFBZkZjU0pBQUFBRFVsRVFWUjQybU5VeVY3L0h3QUVPQUkvZUhZb3pBQUFBQUJKUlU1RXJrSmdnZz09KSx1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FZQUFBQWZGY1NKQUFBQURVbEVRVlI0Mm1PVUN1MzZEd0FEaEFINkdhUy9xUUFBQUFCSlJVNUVya0pnZ2c9PSksdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBWUFBQUFmRmNTSkFBQUFEVWxFUVZSNDJtUGtzNGorRHdBQ253R2lxaEUwQ1FBQUFBQkpSVTVFcmtKZ2dnPT0pO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOjI3LjAyNyUgMTAwJSwzNy44MzclIDEwMCUsNTEuMzUlIDEwMCUsNjIuMTYyJSAxMDAlLDc1LjY3NSUgMTAwJSw4Ni40ODYlIDEwMCUsMTAwJSAxMDAlfS5ub1VpLWNvbm5lY3R7YmFja2dyb3VuZC1jb2xvcjojYzAwfS5ub1VpLXZhbHVlLWxhcmdle2ZvbnQtc2l6ZTouODc1cmVtO3BhZGRpbmctdG9wOi4yNXJlbX1nW2FyaWEtbGFiZWxsZWRieT1pZC02MS10aXRsZV0sZ1thcmlhLWxhYmVsbGVkYnk9aWQtNzUtdGl0bGVde3Zpc2liaWxpdHk6aGlkZGVufS52Z3QtdGFibGUuc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpe2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw2OCwxMDksLjAzKX0udmd0LXJpZ2h0LWFsaWdue3RleHQtYWxpZ246cmlnaHR9LnZndC1sZWZ0LWFsaWdue3RleHQtYWxpZ246bGVmdH0udmd0LWNlbnRlci1hbGlnbnt0ZXh0LWFsaWduOmNlbnRlcn0udmd0LXB1bGwtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0udmd0LXB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS52Z3QtY2xlYXJmaXg6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2t9LnZndC1yZXNwb25zaXZle292ZXJmbG93LXg6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS52Z3QtdGV4dC1kaXNhYmxlZHtjb2xvcjojOTA5Mzk5fS5zci1vbmx5e2NsaXA6cmVjdCgwIDAgMCAwKTstd2Via2l0LWNsaXAtcGF0aDppbnNldCg1MCUpO2NsaXAtcGF0aDppbnNldCg1MCUpO2hlaWdodDoxcHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxcHh9LnZndC13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlfS52Z3QtZml4ZWQtaGVhZGVye292ZXJmbG93LXg6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwfXRhYmxlLnZndC10YWJsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtmb250LXNpemU6MTZweDttYXgtd2lkdGg6MTAwJTt0YWJsZS1sYXlvdXQ6YXV0bzt3aWR0aDoxMDAlfXRhYmxlLnZndC10YWJsZSB0ZHtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2O2NvbG9yOiM2MDYyNjY7cGFkZGluZzouNzVlbTt2ZXJ0aWNhbC1hbGlnbjp0b3B9dGFibGUudmd0LXRhYmxlIHRyLmNsaWNrYWJsZXtjdXJzb3I6cG9pbnRlcn10YWJsZS52Z3QtdGFibGUgdHIuY2xpY2thYmxlOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2YxZjVmZH0udmd0LXRhYmxlIHRoe3BhZGRpbmc6Ljc1ZW0gMS41ZW0gLjc1ZW0gLjc1ZW07cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS52Z3QtdGFibGUgdGguc29ydGFibGUgYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS52Z3QtdGFibGUgdGguc29ydGFibGUgYnV0dG9uOmZvY3Vze291dGxpbmU6bm9uZX0udmd0LXRhYmxlIHRoLnNvcnRhYmxlIGJ1dHRvbjphZnRlcntib3JkZXItYm90dG9tOjVweCBzb2xpZCAjNjA2MjY2O21hcmdpbi10b3A6LTdweH0udmd0LXRhYmxlIHRoLnNvcnRhYmxlIGJ1dHRvbjphZnRlciwudmd0LXRhYmxlIHRoLnNvcnRhYmxlIGJ1dHRvbjpiZWZvcmV7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Y29udGVudDoiIjtoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDo2cHg7dG9wOjUwJTt3aWR0aDowfS52Z3QtdGFibGUgdGguc29ydGFibGUgYnV0dG9uOmJlZm9yZXtib3JkZXItdG9wOjVweCBzb2xpZCAjNjA2MjY2O21hcmdpbi1ib3R0b206LTdweH0udmd0LXRhYmxlIHRoLmxpbmUtbnVtYmVycywudmd0LXRhYmxlIHRoLnZndC1jaGVja2JveC1jb2x7d29yZC13cmFwOmJyZWFrLXdvcmQ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoI2Y0ZjVmOCwjZjFmM2Y2KTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkZWUyZTY7Y29sb3I6IzYwNjI2NjtwYWRkaW5nOjAgLjc1ZW07dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MjVweH0udmd0LXRhYmxlIHRoLmZpbHRlci10aHtwYWRkaW5nOi43NWVtfS52Z3QtdGFibGUgdGgudmd0LXJvdy1oZWFkZXJ7YmFja2dyb3VuZC1jb2xvcjojZmJmY2ZjO2JvcmRlci1ib3R0b206MnB4IHNvbGlkICNkZWUyZTY7Ym9yZGVyLXRvcDoycHggc29saWQgI2RlZTJlNn0udmd0LXRhYmxlIHRoLnZndC1yb3ctaGVhZGVyIC50cmlhbmdsZXtib3JkZXItcmFkaXVzOjE1JTtoZWlnaHQ6MjRweDttYXJnaW46MCA4cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH0udmd0LXRhYmxlIHRoLnZndC1yb3ctaGVhZGVyIC50cmlhbmdsZTphZnRlcntib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDo2cHggc29saWQgIzYwNjI2Njtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTNweDttYXJnaW4tdG9wOi02cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZX0udmd0LXRhYmxlIHRoLnZndC1yb3ctaGVhZGVyIC50cmlhbmdsZS5leHBhbmQ6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LnZndC10YWJsZSB0aGVhZCB0aHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjZjRmNWY4LCNmMWYzZjYpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZWUyZTY7Y29sb3I6IzYwNjI2NjtwYWRkaW5nLXJpZ2h0OjEuNWVtO3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0udmd0LXRhYmxlIHRoZWFkIHRoLnZndC1jaGVja2JveC1jb2x7dmVydGljYWwtYWxpZ246bWlkZGxlfS52Z3QtdGFibGUgdGhlYWQgdGguc29ydGluZy1hc2MgYnV0dG9uOmFmdGVye2JvcmRlci1ib3R0b206NXB4IHNvbGlkICM0MDllZmZ9LnZndC10YWJsZSB0aGVhZCB0aC5zb3J0aW5nLWRlc2MgYnV0dG9uOmJlZm9yZXtib3JkZXItdG9wOjVweCBzb2xpZCAjNDA5ZWZmfS52Z3QtaW5wdXQsLnZndC1zZWxlY3R7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiM2MDYyNjY7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7aGVpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MTtwYWRkaW5nOjZweCAxMnB4O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjY0NSwuMDQ1LC4zNTUsMSk7d2lkdGg6MTAwJX0udmd0LWlucHV0OjotbW96LXBsYWNlaG9sZGVyLC52Z3Qtc2VsZWN0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYyNjY7b3BhY2l0eTouM30udmd0LWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwudmd0LXNlbGVjdDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjI2NjtvcGFjaXR5Oi4zfS52Z3QtaW5wdXQ6OnBsYWNlaG9sZGVyLC52Z3Qtc2VsZWN0OjpwbGFjZWhvbGRlcntjb2xvcjojNjA2MjY2O29wYWNpdHk6LjN9LnZndC1pbnB1dDpmb2N1cywudmd0LXNlbGVjdDpmb2N1c3tib3JkZXItY29sb3I6IzQwOWVmZjtvdXRsaW5lOm5vbmV9LnZndC1sb2FkaW5ne21hcmdpbi10b3A6MTE3cHg7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjEwfS52Z3QtbG9hZGluZ19fY29udGVudHtiYWNrZ3JvdW5kLWNvbG9yOiNjMGRmZmY7Ym9yZGVyLXJhZGl1czozcHg7Y29sb3I6IzQwOWVmZjtwYWRkaW5nOjdweCAzMHB4fS52Z3QtaW5uZXItd3JhcC5pcy1sb2FkaW5ne29wYWNpdHk6LjU7cG9pbnRlci1ldmVudHM6bm9uZX0udmd0LXRhYmxlLmJvcmRlcmVkIHRkLC52Z3QtdGFibGUuYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2fS52Z3QtdGFibGUuYm9yZGVyZWQgdGgudmd0LXJvdy1oZWFkZXJ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgI2RlZTJlNn0udmd0LXdyYXAucnRse2RpcmVjdGlvbjpydGx9LnZndC13cmFwLnJ0bCAudmd0LXRhYmxlLmNvbmRlbnNlZCB0aGVhZCB0aCwudmd0LXdyYXAucnRsIC52Z3QtdGFibGUgdGhlYWQgdGh7cGFkZGluZy1sZWZ0OjEuNWVtO3BhZGRpbmctcmlnaHQ6Ljc1ZW19LnZndC13cmFwLnJ0bCAudmd0LXRhYmxlIHRoLnNvcnRpbmctYXNjOmFmdGVyLC52Z3Qtd3JhcC5ydGwgLnZndC10YWJsZSB0aC5zb3J0aW5nOmFmdGVye21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjVweH0udmd0LXdyYXAucnRsIC52Z3QtdGFibGUgdGguc29ydGFibGU6YWZ0ZXIsLnZndC13cmFwLnJ0bCAudmd0LXRhYmxlIHRoLnNvcnRhYmxlOmJlZm9yZXtsZWZ0OjZweDtyaWdodDppbmhlcml0fS52Z3QtdGFibGUuY29uZGVuc2VkIHRkLC52Z3QtdGFibGUuY29uZGVuc2VkIHRoLnZndC1yb3ctaGVhZGVye3BhZGRpbmc6LjRlbX1AbWVkaWEgKG1heC13aWR0aDo1NzZweCl7LnZndC1jb21wYWN0ICp7Ym94LXNpemluZzpib3JkZXItYm94fS52Z3QtY29tcGFjdCB0Ym9keSwudmd0LWNvbXBhY3QgdGQsLnZndC1jb21wYWN0IHRye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJX0udmd0LWNvbXBhY3QgdGhlYWR7ZGlzcGxheTpub25lfS52Z3QtY29tcGFjdCB0cnttYXJnaW4tYm90dG9tOjE1cHh9LnZndC1jb21wYWN0IHRke3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246cmlnaHR9LnZndC1jb21wYWN0IHRkOmJlZm9yZXtjb250ZW50OmF0dHIoZGF0YS1sYWJlbCk7ZmxvYXQ6bGVmdDtmb250LXdlaWdodDo3MDA7bGVmdDowO3BhZGRpbmctbGVmdDoxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt3aWR0aDo0MCV9LnZndC1jb21wYWN0IHRoLmxpbmUtbnVtYmVyc3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjNlbSAxZW0haW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50fX0udmd0LWdsb2JhbC1zZWFyY2h7YWxpZ24taXRlbXM6c3RyZXRjaDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjZjRmNWY4LCNmMWYzZjYpO2JvcmRlcjoxcHggc29saWQgI2RlZTJlNjtib3JkZXItYm90dG9tOjA7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7cGFkZGluZzo1cHggMH0udmd0LWdsb2JhbC1zZWFyY2ggZm9ybXtkaXNwbGF5OmZsZXh9LnZndC1nbG9iYWwtc2VhcmNoIGZvcm0gbGFiZWx7bWFyZ2luLXRvcDozcHh9LnZndC1nbG9iYWwtc2VhcmNoX19pbnB1dHtmbGV4LWdyb3c6MTtwYWRkaW5nLWxlZnQ6NDBweDtwb3NpdGlvbjpyZWxhdGl2ZX0udmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC5pbnB1dF9faWNvbntsZWZ0OjA7bWF4LXdpZHRoOjMycHg7cG9zaXRpb246YWJzb2x1dGV9LnZndC1nbG9iYWwtc2VhcmNoX19pbnB1dCAuaW5wdXRfX2ljb24gLm1hZ25pZnlpbmctZ2xhc3N7Ym9yZGVyOjJweCBzb2xpZCAjNDk0OTQ5O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE2cHg7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi10b3A6M3B4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE2cHh9LnZndC1nbG9iYWwtc2VhcmNoX19pbnB1dCAuaW5wdXRfX2ljb24gLm1hZ25pZnlpbmctZ2xhc3M6YmVmb3Jle2JhY2tncm91bmQ6IzQ5NDk0OTtib3JkZXItcmFkaXVzOjJweDtib3R0b206LTVweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjRweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotN3B4O3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7LW8tdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7d2lkdGg6OHB4fS52Z3QtZ2xvYmFsLXNlYXJjaF9fYWN0aW9uc3ttYXJnaW4tbGVmdDoxMHB4fS52Z3Qtc2VsZWN0aW9uLWluZm8tcm93e2JhY2tncm91bmQ6I2ZkZjllODtib3JkZXItbGVmdDoxcHggc29saWQgI2RlZTJlNjtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkZWUyZTY7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RlZTJlNjtjb2xvcjojZDNhYTNiO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjcwMDtwYWRkaW5nOjVweCAxNnB4fS52Z3Qtc2VsZWN0aW9uLWluZm8tcm93IGF7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1sZWZ0OjEwcHh9LnZndC13cmFwX19hY3Rpb25zLWZvb3Rlciwudmd0LXdyYXBfX2Zvb3Rlcntib3JkZXI6MXB4IHNvbGlkICNkZWUyZTZ9LnZndC13cmFwX19mb290ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoI2Y0ZjVmOCwjZjFmM2Y2KTtjb2xvcjojNjA2MjY2O2ZvbnQtc2l6ZToxLjFyZW07cGFkZGluZzoxZW19LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50e3BhZGRpbmctcmlnaHQ6M3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX3Jvdy1jb3VudF9fbGFiZWwsLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50X19zZWxlY3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX3Jvdy1jb3VudF9fbGFiZWx7Zm9udC1zaXplOjEuMXJlbX0udmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19yb3ctY291bnRfX3NlbGVjdHstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjA7Y29sb3I6IzYwNjI2Njtmb250LXNpemU6MS4xcmVtO2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6YXV0bzttYXJnaW4tbGVmdDo4cHg7cGFkZGluZzowIDE1cHggMCA1cHg7d2lkdGg6YXV0b30udmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19yb3ctY291bnRfX3NlbGVjdDo6LW1zLWV4cGFuZHtkaXNwbGF5Om5vbmV9LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50X19zZWxlY3Q6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM0MDllZmY7b3V0bGluZTpub25lfS52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX3Jvdy1jb3VudDphZnRlcntib3JkZXI6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItdG9wLWNvbG9yOiM2MDYyNjY7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO21hcmdpbi10b3A6LTFweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjZweDt0b3A6NTAlO3dpZHRoOjB9LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbntmb250LXNpemU6MS4xcmVtfS52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb24+YnV0dG9uOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXJpZ2h0OjE2cHh9LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9faW5mbywudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0biwudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWluZm97Y29sb3I6IzkwOTM5OTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1idG57LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Y29sb3I6IzYwNjI2Njtmb250LXdlaWdodDo3MDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcH0udmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0bjpob3ZlcntjdXJzb3I6cG9pbnRlcn0udmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0bi5kaXNhYmxlZCwudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0bi5kaXNhYmxlZDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNX0udmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0bi5kaXNhYmxlZCAuY2hldnJvbi5sZWZ0OmFmdGVyLC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRuLmRpc2FibGVkOmhvdmVyIC5jaGV2cm9uLmxlZnQ6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LWNvbG9yOiM2MDYyNjZ9LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1idG4uZGlzYWJsZWQgLmNoZXZyb24ucmlnaHQ6YWZ0ZXIsLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1idG4uZGlzYWJsZWQ6aG92ZXIgLmNoZXZyb24ucmlnaHQ6YWZ0ZXJ7Ym9yZGVyLWxlZnQtY29sb3I6IzYwNjI2Nn0udmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0biBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxLjFyZW07dmVydGljYWwtYWxpZ246bWlkZGxlfS52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRuIC5jaGV2cm9ue2JvcmRlci1yYWRpdXM6MTUlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyNHB4O21hcmdpbjowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyNHB4fS52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRuIC5jaGV2cm9uOmFmdGVye2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztsZWZ0OjUwJTttYXJnaW4tdG9wOi02cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJX0udmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0biAuY2hldnJvbi5sZWZ0OmFmdGVye2JvcmRlci1yaWdodDo2cHggc29saWQgIzQwOWVmZjttYXJnaW4tbGVmdDotM3B4fS52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRuIC5jaGV2cm9uLnJpZ2h0OmFmdGVye2JvcmRlci1sZWZ0OjZweCBzb2xpZCAjNDA5ZWZmO21hcmdpbi1sZWZ0Oi0zcHh9LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9faW5mbywudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWluZm97ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjAgMTZweH0udmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWluZm8gc3BhbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1pbmZvX19jdXJyZW50LWVudHJ5e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW46MCAxMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDozMHB4fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NTBweCl7LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9faW5mb3tkaXNwbGF5Om5vbmV9LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1idG57bWFyZ2luLWxlZnQ6MTZweH19LnZndC10YWJsZS5ub2N0dXJuYWx7YmFja2dyb3VuZC1jb2xvcjojMzI0MDU3O2JvcmRlcjoxcHggc29saWQgIzQzNTE2OX0udmd0LXRhYmxlLm5vY3R1cm5hbCB0ci5jbGlja2FibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNDQ1MTY4fS52Z3QtdGFibGUubm9jdHVybmFsIHRke2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM0MzUxNjk7Y29sb3I6I2M3Y2VkOH0udmd0LXRhYmxlLm5vY3R1cm5hbCB0aC5saW5lLW51bWJlcnMsLnZndC10YWJsZS5ub2N0dXJuYWwgdGgudmd0LWNoZWNrYm94LWNvbHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjMmMzOTRmLCMyYzM5NGYpO2JvcmRlci1yaWdodDoxcHggc29saWQgIzQzNTE2OTtjb2xvcjojYzdjZWQ4fS52Z3QtdGFibGUubm9jdHVybmFsIHRoZWFkIHRoe2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KCMyYzM5NGYsIzJjMzk0Zik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQzNTE2OTtjb2xvcjojYzdjZWQ4fS52Z3QtdGFibGUubm9jdHVybmFsIHRoZWFkIHRoLnNvcnRhYmxlOmJlZm9yZXtib3JkZXItdG9wLWNvbG9yOiMzZTUxNzB9LnZndC10YWJsZS5ub2N0dXJuYWwgdGhlYWQgdGguc29ydGFibGU6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojM2U1MTcwfS52Z3QtdGFibGUubm9jdHVybmFsIHRoZWFkIHRoLnNvcnRhYmxlLnNvcnRpbmctYXNje2NvbG9yOiNmZmZ9LnZndC10YWJsZS5ub2N0dXJuYWwgdGhlYWQgdGguc29ydGFibGUuc29ydGluZy1hc2M6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojNDA5ZWZmfS52Z3QtdGFibGUubm9jdHVybmFsIHRoZWFkIHRoLnNvcnRhYmxlLnNvcnRpbmctZGVzY3tjb2xvcjojZmZmfS52Z3QtdGFibGUubm9jdHVybmFsIHRoZWFkIHRoLnNvcnRhYmxlLnNvcnRpbmctZGVzYzpiZWZvcmV7Ym9yZGVyLXRvcC1jb2xvcjojNDA5ZWZmfS52Z3QtdGFibGUubm9jdHVybmFsLmJvcmRlcmVkIHRkLC52Z3QtdGFibGUubm9jdHVybmFsLmJvcmRlcmVkIHRoe2JvcmRlcjoxcHggc29saWQgIzQzNTE2OX0udmd0LXRhYmxlLm5vY3R1cm5hbCAudmd0LWlucHV0LC52Z3QtdGFibGUubm9jdHVybmFsIC52Z3Qtc2VsZWN0e2JhY2tncm91bmQtY29sb3I6IzIzMmQzZjtib3JkZXI6MXB4IHNvbGlkICM0MzUxNjk7Y29sb3I6I2M3Y2VkOH0udmd0LXRhYmxlLm5vY3R1cm5hbCAudmd0LWlucHV0OjotbW96LXBsYWNlaG9sZGVyLC52Z3QtdGFibGUubm9jdHVybmFsIC52Z3Qtc2VsZWN0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiNjN2NlZDg7b3BhY2l0eTouM30udmd0LXRhYmxlLm5vY3R1cm5hbCAudmd0LWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwudmd0LXRhYmxlLm5vY3R1cm5hbCAudmd0LXNlbGVjdDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6I2M3Y2VkODtvcGFjaXR5Oi4zfS52Z3QtdGFibGUubm9jdHVybmFsIC52Z3QtaW5wdXQ6OnBsYWNlaG9sZGVyLC52Z3QtdGFibGUubm9jdHVybmFsIC52Z3Qtc2VsZWN0OjpwbGFjZWhvbGRlcntjb2xvcjojYzdjZWQ4O29wYWNpdHk6LjN9LnZndC13cmFwLm5vY3R1cm5hbCAudmd0LXdyYXBfX2Zvb3RlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjMmMzOTRmLCMyYzM5NGYpO2JvcmRlcjoxcHggc29saWQgIzQzNTE2OTtjb2xvcjojYzdjZWQ4fS52Z3Qtd3JhcC5ub2N0dXJuYWwgLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50e3Bvc2l0aW9uOnJlbGF0aXZlfS52Z3Qtd3JhcC5ub2N0dXJuYWwgLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50X19sYWJlbHtjb2xvcjojODI5MGE3fS52Z3Qtd3JhcC5ub2N0dXJuYWwgLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50X19zZWxlY3R7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6IzIzMmQzZjtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjNweDtjb2xvcjojYzdjZWQ4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTVweDt0ZXh0LWFsaWduOmNlbnRlcn0udmd0LXdyYXAubm9jdHVybmFsIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX3Jvdy1jb3VudF9fc2VsZWN0OmZvY3Vze2JvcmRlci1jb2xvcjojNDA5ZWZmfS52Z3Qtd3JhcC5ub2N0dXJuYWwgLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50OmFmdGVye2JvcmRlcjo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci10b3AtY29sb3I6I2M3Y2VkODtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7bWFyZ2luLXRvcDotMXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6NnB4O3RvcDo1MCU7d2lkdGg6MH0udmd0LXdyYXAubm9jdHVybmFsIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRue2NvbG9yOiNjN2NlZDh9LnZndC13cmFwLm5vY3R1cm5hbCAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0bi5kaXNhYmxlZCAuY2hldnJvbi5sZWZ0OmFmdGVyLC52Z3Qtd3JhcC5ub2N0dXJuYWwgLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1idG4uZGlzYWJsZWQ6aG92ZXIgLmNoZXZyb24ubGVmdDphZnRlcntib3JkZXItcmlnaHQtY29sb3I6I2M3Y2VkOH0udmd0LXdyYXAubm9jdHVybmFsIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRuLmRpc2FibGVkIC5jaGV2cm9uLnJpZ2h0OmFmdGVyLC52Z3Qtd3JhcC5ub2N0dXJuYWwgLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1idG4uZGlzYWJsZWQ6aG92ZXIgLmNoZXZyb24ucmlnaHQ6YWZ0ZXJ7Ym9yZGVyLWxlZnQtY29sb3I6I2M3Y2VkOH0udmd0LXdyYXAubm9jdHVybmFsIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX2luZm8sLnZndC13cmFwLm5vY3R1cm5hbCAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWluZm97Y29sb3I6IzgyOTBhN30udmd0LXdyYXAubm9jdHVybmFsIC52Z3QtZ2xvYmFsLXNlYXJjaHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjMmMzOTRmLCMyYzM5NGYpO2JvcmRlcjoxcHggc29saWQgIzQzNTE2OX0udmd0LXdyYXAubm9jdHVybmFsIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLmlucHV0X19pY29uIC5tYWduaWZ5aW5nLWdsYXNze2JvcmRlcjoycHggc29saWQgIzNmNGM2M30udmd0LXdyYXAubm9jdHVybmFsIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLmlucHV0X19pY29uIC5tYWduaWZ5aW5nLWdsYXNzOmJlZm9yZXtiYWNrZ3JvdW5kOiMzZjRjNjN9LnZndC13cmFwLm5vY3R1cm5hbCAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC52Z3QtaW5wdXQsLnZndC13cmFwLm5vY3R1cm5hbCAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC52Z3Qtc2VsZWN0e2JhY2tncm91bmQtY29sb3I6IzIzMmQzZjtib3JkZXI6MXB4IHNvbGlkICM0MzUxNjk7Y29sb3I6I2M3Y2VkOH0udmd0LXdyYXAubm9jdHVybmFsIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLnZndC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwudmd0LXdyYXAubm9jdHVybmFsIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLnZndC1zZWxlY3Q6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6I2M3Y2VkODtvcGFjaXR5Oi4zfS52Z3Qtd3JhcC5ub2N0dXJuYWwgLnZndC1nbG9iYWwtc2VhcmNoX19pbnB1dCAudmd0LWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwudmd0LXdyYXAubm9jdHVybmFsIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLnZndC1zZWxlY3Q6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNjN2NlZDg7b3BhY2l0eTouM30udmd0LXdyYXAubm9jdHVybmFsIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLnZndC1pbnB1dDo6cGxhY2Vob2xkZXIsLnZndC13cmFwLm5vY3R1cm5hbCAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC52Z3Qtc2VsZWN0OjpwbGFjZWhvbGRlcntjb2xvcjojYzdjZWQ4O29wYWNpdHk6LjN9LnZndC10YWJsZS5ibGFjay1yaGlub3tiYWNrZ3JvdW5kLWNvbG9yOiNkZmU1ZWU7Ym9yZGVyOjFweCBzb2xpZCAjNDM1MTY5fS52Z3QtdGFibGUuYmxhY2stcmhpbm8gdHIuY2xpY2thYmxlOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZn0udmd0LXRhYmxlLmJsYWNrLXJoaW5vIHRke2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNiYmM1ZDY7Y29sb3I6IzQ5NTE1ZX0udmd0LXRhYmxlLmJsYWNrLXJoaW5vIHRoLmxpbmUtbnVtYmVycywudmd0LXRhYmxlLmJsYWNrLXJoaW5vIHRoLnZndC1jaGVja2JveC1jb2x7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoIzRjNWM3OSwjNGU1ZDdjKTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICM0MzUxNjk7Y29sb3I6I2RhZTJmMH0udmd0LXRhYmxlLmJsYWNrLXJoaW5vIHRoZWFkIHRoe2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KCM0YzVjNzksIzRlNWQ3Yyk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQzNTE2OTtjb2xvcjojZGFlMmYwO3RleHQtc2hhZG93OjFweCAxcHggIzNlNTE3MH0udmd0LXRhYmxlLmJsYWNrLXJoaW5vIHRoZWFkIHRoLnNvcnRhYmxlOmJlZm9yZXtib3JkZXItdG9wLWNvbG9yOiM2MDc0OTh9LnZndC10YWJsZS5ibGFjay1yaGlubyB0aGVhZCB0aC5zb3J0YWJsZTphZnRlcntib3JkZXItYm90dG9tLWNvbG9yOiM2MDc0OTh9LnZndC10YWJsZS5ibGFjay1yaGlubyB0aGVhZCB0aC5zb3J0YWJsZS5zb3J0aW5nLWFzY3tjb2xvcjojZmZmfS52Z3QtdGFibGUuYmxhY2stcmhpbm8gdGhlYWQgdGguc29ydGFibGUuc29ydGluZy1hc2M6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojNDA5ZWZmfS52Z3QtdGFibGUuYmxhY2stcmhpbm8gdGhlYWQgdGguc29ydGFibGUuc29ydGluZy1kZXNjOmJlZm9yZXtib3JkZXItdG9wLWNvbG9yOiM0MDllZmZ9LnZndC10YWJsZS5ibGFjay1yaGluby5ib3JkZXJlZCB0ZHtib3JkZXI6MXB4IHNvbGlkICNiYmM1ZDZ9LnZndC10YWJsZS5ibGFjay1yaGluby5ib3JkZXJlZCB0aHtib3JkZXI6MXB4IHNvbGlkICM0MzUxNjl9LnZndC10YWJsZS5ibGFjay1yaGlubyAudmd0LWlucHV0LC52Z3QtdGFibGUuYmxhY2stcmhpbm8gLnZndC1zZWxlY3R7YmFja2dyb3VuZC1jb2xvcjojMzQ0NDVmO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Y29sb3I6I2RhZTJmMH0udmd0LXRhYmxlLmJsYWNrLXJoaW5vIC52Z3QtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsLnZndC10YWJsZS5ibGFjay1yaGlubyAudmd0LXNlbGVjdDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojZGFlMmYwO29wYWNpdHk6LjN9LnZndC10YWJsZS5ibGFjay1yaGlubyAudmd0LWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwudmd0LXRhYmxlLmJsYWNrLXJoaW5vIC52Z3Qtc2VsZWN0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojZGFlMmYwO29wYWNpdHk6LjN9LnZndC10YWJsZS5ibGFjay1yaGlubyAudmd0LWlucHV0OjpwbGFjZWhvbGRlciwudmd0LXRhYmxlLmJsYWNrLXJoaW5vIC52Z3Qtc2VsZWN0OjpwbGFjZWhvbGRlcntjb2xvcjojZGFlMmYwO29wYWNpdHk6LjN9LnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3Qtd3JhcF9fZm9vdGVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KCM0YzVjNzksIzRlNWQ3Yyk7Ym9yZGVyOjFweCBzb2xpZCAjNDM1MTY5O2NvbG9yOiNkYWUyZjB9LnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX3Jvdy1jb3VudHtwYWRkaW5nLXJpZ2h0OjNweDtwb3NpdGlvbjpyZWxhdGl2ZX0udmd0LXdyYXAuYmxhY2stcmhpbm8gLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50X19sYWJlbHtjb2xvcjojOThhNWI5fS52Z3Qtd3JhcC5ibGFjay1yaGlubyAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19yb3ctY291bnRfX3NlbGVjdHstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDojMzQ0NDVmO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6M3B4O2NvbG9yOiM0OTUxNWU7cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjE1cHh9LnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX3Jvdy1jb3VudF9fc2VsZWN0OjotbXMtZXhwYW5ke2Rpc3BsYXk6bm9uZX0udmd0LXdyYXAuYmxhY2stcmhpbm8gLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50X19zZWxlY3Q6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM0MDllZmZ9LnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX3Jvdy1jb3VudDphZnRlcntib3JkZXI6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItdG9wLWNvbG9yOiM0OTUxNWU7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO21hcmdpbi10b3A6LTFweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjZweDt0b3A6NTAlO3dpZHRoOjB9LnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRue2NvbG9yOiNkYWUyZjB9LnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRuLmRpc2FibGVkIC5jaGV2cm9uLmxlZnQ6YWZ0ZXIsLnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRuLmRpc2FibGVkOmhvdmVyIC5jaGV2cm9uLmxlZnQ6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNkYWUyZjB9LnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRuLmRpc2FibGVkIC5jaGV2cm9uLnJpZ2h0OmFmdGVyLC52Z3Qtd3JhcC5ibGFjay1yaGlubyAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0bi5kaXNhYmxlZDpob3ZlciAuY2hldnJvbi5yaWdodDphZnRlcntib3JkZXItbGVmdC1jb2xvcjojZGFlMmYwfS52Z3Qtd3JhcC5ibGFjay1yaGlubyAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19pbmZvLC52Z3Qtd3JhcC5ibGFjay1yaGlubyAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWluZm97Y29sb3I6I2RhZTJmMH0udmd0LXdyYXAuYmxhY2stcmhpbm8gLnZndC1nbG9iYWwtc2VhcmNoe2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KCM0YzVjNzksIzRlNWQ3Yyk7Ym9yZGVyOjFweCBzb2xpZCAjNDM1MTY5fS52Z3Qtd3JhcC5ibGFjay1yaGlubyAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC5pbnB1dF9faWNvbiAubWFnbmlmeWluZy1nbGFzc3tib3JkZXI6MnB4IHNvbGlkICMzZjRjNjN9LnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLmlucHV0X19pY29uIC5tYWduaWZ5aW5nLWdsYXNzOmJlZm9yZXtiYWNrZ3JvdW5kOiMzZjRjNjN9LnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLnZndC1pbnB1dCwudmd0LXdyYXAuYmxhY2stcmhpbm8gLnZndC1nbG9iYWwtc2VhcmNoX19pbnB1dCAudmd0LXNlbGVjdHtiYWNrZ3JvdW5kLWNvbG9yOiM0NDUxNmM7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjb2xvcjojZGFlMmYwfS52Z3Qtd3JhcC5ibGFjay1yaGlubyAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC52Z3QtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsLnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLnZndC1zZWxlY3Q6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6I2RhZTJmMDtvcGFjaXR5Oi4zfS52Z3Qtd3JhcC5ibGFjay1yaGlubyAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC52Z3QtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLC52Z3Qtd3JhcC5ibGFjay1yaGlubyAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC52Z3Qtc2VsZWN0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojZGFlMmYwO29wYWNpdHk6LjN9LnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLnZndC1pbnB1dDo6cGxhY2Vob2xkZXIsLnZndC13cmFwLmJsYWNrLXJoaW5vIC52Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgLnZndC1zZWxlY3Q6OnBsYWNlaG9sZGVye2NvbG9yOiNkYWUyZjA7b3BhY2l0eTouM30udmd0LWlubmVyLXdyYXB7Ym9yZGVyLXJhZGl1czouMjVyZW07Ym94LXNoYWRvdzowIDFweCAzcHggMCByZ2JhKDUwLDUwLDkzLC4xKSwwIDFweCAycHggMCByZ2JhKDUwLDUwLDkzLC4wNil9LnZndC10YWJsZS5wb2xhci1iZWFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlM2U4ZWU7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1jb2xsYXBzZTpzZXBhcmF0ZTtib3JkZXItcmFkaXVzOi4yNXJlbTtib3JkZXItc3BhY2luZzowO2ZvbnQtc2l6ZToxcmVtfS52Z3QtdGFibGUucG9sYXItYmVhciB0ZHtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTRlYmYzO2NvbG9yOiM1MjVmN2Y7cGFkZGluZzoxZW0gLjc1ZW19LnZndC10YWJsZS5wb2xhci1iZWFyIHRkLnZndC1yaWdodC1hbGlnbnt0ZXh0LWFsaWduOnJpZ2h0fS52Z3QtdGFibGUucG9sYXItYmVhciB0aC5saW5lLW51bWJlcnMsLnZndC10YWJsZS5wb2xhci1iZWFyIHRoLnZndC1jaGVja2JveC1jb2x7YmFja2dyb3VuZDojZjdmYWZjO2JvcmRlci1yaWdodDoxcHggc29saWQgI2UzZThlZTtjb2xvcjojMzk0NTY3fS52Z3QtdGFibGUucG9sYXItYmVhciB0aGVhZCB0aHtiYWNrZ3JvdW5kOiNmN2ZhZmM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2UzZThlZTtjb2xvcjojNjY3Yjk0O2ZvbnQtd2VpZ2h0OjYwMH0udmd0LXRhYmxlLnBvbGFyLWJlYXIgdGhlYWQgdGguc29ydGluZy1hc2MsLnZndC10YWJsZS5wb2xhci1iZWFyIHRoZWFkIHRoLnNvcnRpbmctZGVzY3tjb2xvcjojNWU3MmU0fS52Z3QtdGFibGUucG9sYXItYmVhciB0aGVhZCB0aC5zb3J0aW5nLWRlc2M6YmVmb3Jle2JvcmRlci10b3A6NXB4IHNvbGlkICM3NDg1ZTh9LnZndC10YWJsZS5wb2xhci1iZWFyIHRoZWFkIHRoLnNvcnRpbmctYXNjOmFmdGVye2JvcmRlci1ib3R0b206NXB4IHNvbGlkICM3NDg1ZTh9LnZndC10YWJsZS5wb2xhci1iZWFyIHRoZWFkIHRoIC52Z3QtaW5wdXQsLnZndC10YWJsZS5wb2xhci1iZWFyIHRoZWFkIHRoIC52Z3Qtc2VsZWN0e2JvcmRlcjoxcHggc29saWQgI2U0ZWJmMztib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoMCwwLDAsLjA1KTtoZWlnaHQ6Mi43NWVtfS52Z3QtdGFibGUucG9sYXItYmVhciB0aGVhZCB0aCAudmd0LWlucHV0OmZvY3VzLC52Z3QtdGFibGUucG9sYXItYmVhciB0aGVhZCB0aCAudmd0LXNlbGVjdDpmb2N1c3tib3JkZXItY29sb3I6I2NhZTBmZTtvdXRsaW5lOjB9LnZndC10YWJsZS5wb2xhci1iZWFyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtfS52Z3QtdGFibGUucG9sYXItYmVhciB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbX0udmd0LXRhYmxlLnBvbGFyLWJlYXIuYm9yZGVyZWQgdGR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2UzZThlZX0udmd0LXRhYmxlLnBvbGFyLWJlYXIuYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZTNlOGVlfS52Z3Qtd3JhcC5wb2xhci1iZWFyIC52Z3Qtd3JhcF9fZm9vdGVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KCNmN2ZhZmMsI2Y3ZmFmYyk7Ym9yZGVyOjFweCBzb2xpZCAjZTNlOGVlO2JvcmRlci1ib3R0b206MDtib3JkZXItdG9wOjA7Y29sb3I6IzM5NDU2N30udmd0LXdyYXAucG9sYXItYmVhciAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19yb3ctY291bnR7cGFkZGluZy1yaWdodDozcHg7cG9zaXRpb246cmVsYXRpdmV9LnZndC13cmFwLnBvbGFyLWJlYXIgLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50X19sYWJlbHtjb2xvcjojOThhNWI5fS52Z3Qtd3JhcC5wb2xhci1iZWFyIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX3Jvdy1jb3VudF9fc2VsZWN0ey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTRlYmYzO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSgwLDAsMCwuMDUpO2NvbG9yOiM1MjVmN2Y7cGFkZGluZzo1cHggMzBweCA1cHggNXB4O3RleHQtYWxpZ246Y2VudGVyfS52Z3Qtd3JhcC5wb2xhci1iZWFyIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX3Jvdy1jb3VudF9fc2VsZWN0OjotbXMtZXhwYW5ke2Rpc3BsYXk6bm9uZX0udmd0LXdyYXAucG9sYXItYmVhciAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19yb3ctY291bnRfX3NlbGVjdDpmb2N1c3tib3JkZXItY29sb3I6IzVlNzJlNH0udmd0LXdyYXAucG9sYXItYmVhciAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19yb3ctY291bnQ6YWZ0ZXJ7Ym9yZGVyOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLXRvcC1jb2xvcjojNTI1ZjdmO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDttYXJnaW4tdG9wOi0zcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNXB4O3RvcDo1MCU7d2lkdGg6MH0udmd0LXdyYXAucG9sYXItYmVhciAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0bntjb2xvcjojMzk0NTY3fS52Z3Qtd3JhcC5wb2xhci1iZWFyIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRuLmRpc2FibGVkIC5jaGV2cm9uLmxlZnQ6YWZ0ZXIsLnZndC13cmFwLnBvbGFyLWJlYXIgLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1idG4uZGlzYWJsZWQ6aG92ZXIgLmNoZXZyb24ubGVmdDphZnRlcntib3JkZXItcmlnaHQtY29sb3I6IzM5NDU2N30udmd0LXdyYXAucG9sYXItYmVhciAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0bi5kaXNhYmxlZCAuY2hldnJvbi5yaWdodDphZnRlciwudmd0LXdyYXAucG9sYXItYmVhciAudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0bi5kaXNhYmxlZDpob3ZlciAuY2hldnJvbi5yaWdodDphZnRlcntib3JkZXItbGVmdC1jb2xvcjojMzk0NTY3fS52Z3Qtd3JhcC5wb2xhci1iZWFyIC52Z3Qtd3JhcF9fZm9vdGVyIC5mb290ZXJfX25hdmlnYXRpb25fX2luZm8sLnZndC13cmFwLnBvbGFyLWJlYXIgLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1pbmZve2NvbG9yOiMzOTQ1Njd9LnZndC13cmFwLnBvbGFyLWJlYXIgLnZndC1nbG9iYWwtc2VhcmNoe2JhY2tncm91bmQ6I2Y3ZmFmYztib3JkZXI6MXB4IHNvbGlkICNlM2U4ZWU7Ym9yZGVyLWJvdHRvbTowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweH0udmd0LXdyYXAucG9sYXItYmVhciAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC5pbnB1dF9faWNvbiAubWFnbmlmeWluZy1nbGFzc3tib3JkZXI6MnB4IHNvbGlkICNkZGUzZWF9LnZndC13cmFwLnBvbGFyLWJlYXIgLnZndC1nbG9iYWwtc2VhcmNoX19pbnB1dCAuaW5wdXRfX2ljb24gLm1hZ25pZnlpbmctZ2xhc3M6YmVmb3Jle2JhY2tncm91bmQ6I2RkZTNlYX0udmd0LXdyYXAucG9sYXItYmVhciAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC52Z3QtaW5wdXQsLnZndC13cmFwLnBvbGFyLWJlYXIgLnZndC1nbG9iYWwtc2VhcmNoX19pbnB1dCAudmd0LXNlbGVjdHtib3JkZXI6MXB4IHNvbGlkICNlNGViZjM7Ym94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDAsMCwwLC4wNSk7aGVpZ2h0OjIuNzVlbX0udmd0LXdyYXAucG9sYXItYmVhciAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC52Z3QtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsLnZndC13cmFwLnBvbGFyLWJlYXIgLnZndC1nbG9iYWwtc2VhcmNoX19pbnB1dCAudmd0LXNlbGVjdDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojMzk0NTY3O29wYWNpdHk6LjN9LnZndC13cmFwLnBvbGFyLWJlYXIgLnZndC1nbG9iYWwtc2VhcmNoX19pbnB1dCAudmd0LWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwudmd0LXdyYXAucG9sYXItYmVhciAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC52Z3Qtc2VsZWN0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojMzk0NTY3O29wYWNpdHk6LjN9LnZndC13cmFwLnBvbGFyLWJlYXIgLnZndC1nbG9iYWwtc2VhcmNoX19pbnB1dCAudmd0LWlucHV0OjpwbGFjZWhvbGRlciwudmd0LXdyYXAucG9sYXItYmVhciAudmd0LWdsb2JhbC1zZWFyY2hfX2lucHV0IC52Z3Qtc2VsZWN0OjpwbGFjZWhvbGRlcntjb2xvcjojMzk0NTY3O29wYWNpdHk6LjN9LnZndC10YWJsZSB0aHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yNTtwYWRkaW5nOi42NWVtIDAhaW1wb3J0YW50fS52Z3QtdGFibGUgdGQsLnZndC10YWJsZSB0aHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGUhaW1wb3J0YW50fS52Z3QtdGFibGUgLnZndC1sZWZ0LWFsaWdue3RleHQtYWxpZ246Y2VudGVyfS52Z3QtdGFibGUgLmZpbHRlci10aHtwYWRkaW5nOi42NWVtIWltcG9ydGFudH0udmd0LXRhYmxlLmZvbnQtc2l6ZS0xNCwudmd0LXdyYXBfX2Zvb3Rlcntmb250LXNpemU6MTRweCFpbXBvcnRhbnR9LnZndC13cmFwX19mb290ZXJ7cGFkZGluZzouNjVlbX0udmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19yb3ctY291bnRfX2xhYmVse2ZvbnQtc2l6ZToxNHB4IWltcG9ydGFudDttYXJnaW4tYm90dG9tOjB9LnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fbmF2aWdhdGlvbiwudmd0LXdyYXBfX2Zvb3RlciAuZm9vdGVyX19uYXZpZ2F0aW9uIHNwYW4sLnZndC13cmFwX19mb290ZXIgLmZvb3Rlcl9fcm93LWNvdW50X19zZWxlY3R7Zm9udC1zaXplOjE0cHghaW1wb3J0YW50fS52Z3QtaW5wdXQsLnZndC1zZWxlY3R7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudDtwYWRkaW5nOjAgMnB4IWltcG9ydGFudH0uY2hvaWNlc3tmb250LXNpemU6MTZweDttYXJnaW4tYm90dG9tOjI0cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5jaG9pY2VzOmZvY3Vze291dGxpbmU6bm9uZX0uY2hvaWNlczpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uY2hvaWNlcy5pcy1vcGVue292ZXJmbG93OmluaXRpYWx9LmNob2ljZXMuaXMtZGlzYWJsZWQgLmNob2ljZXNfX2lubmVyLC5jaG9pY2VzLmlzLWRpc2FibGVkIC5jaG9pY2VzX19pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOiNlYWVhZWE7Y3Vyc29yOm5vdC1hbGxvd2VkOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uY2hvaWNlcy5pcy1kaXNhYmxlZCAuY2hvaWNlc19faXRlbXtjdXJzb3I6bm90LWFsbG93ZWR9LmNob2ljZXMgW2hpZGRlbl17ZGlzcGxheTpub25lIWltcG9ydGFudH0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVde2N1cnNvcjpwb2ludGVyfS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV0gLmNob2ljZXNfX2lubmVye3BhZGRpbmctYm90dG9tOjcuNXB4fS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV0gLmNob2ljZXNfX2lucHV0e2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7cGFkZGluZzoxMHB4O3dpZHRoOjEwMCV9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXSAuY2hvaWNlc19fYnV0dG9ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNakVpSUdobGFXZG9kRDBpTWpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK1BHY2dabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJajQ4Y0dGMGFDQmtQU0p0TWk0MU9USXVNRFEwSURFNExqTTJOQ0F4T0M0ek5qUXRNaTQxTkRnZ01pNDFORGhNTGpBME5DQXlMalU1TW5vaUx6NDhjR0YwYUNCa1BTSk5NQ0F4T0M0ek5qUWdNVGd1TXpZMElEQnNNaTQxTkRnZ01pNDFORGhNTWk0MU5EZ2dNakF1T1RFeWVpSXZQand2Wno0OEwzTjJaejQ9Iik7YmFja2dyb3VuZC1zaXplOjhweDtib3JkZXItcmFkaXVzOjEwZW07aGVpZ2h0OjIwcHg7bWFyZ2luLXJpZ2h0OjI1cHg7bWFyZ2luLXRvcDotMTBweDtvcGFjaXR5Oi4yNTtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6NTAlO3dpZHRoOjIwcHh9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXSAuY2hvaWNlc19fYnV0dG9uOmZvY3VzLC5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV0gLmNob2ljZXNfX2J1dHRvbjpob3ZlcntvcGFjaXR5OjF9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXSAuY2hvaWNlc19fYnV0dG9uOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgMnB4ICMwMGJjZDR9LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXSAuY2hvaWNlc19faXRlbVtkYXRhLXZhbHVlPSIiXSAuY2hvaWNlc19fYnV0dG9ue2Rpc3BsYXk6bm9uZX0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVdOmFmdGVye2JvcmRlcjo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC1jb2xvcjojMzMzO2NvbnRlbnQ6IiI7aGVpZ2h0OjA7bWFyZ2luLXRvcDotMi41cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMS41cHg7dG9wOjUwJTt3aWR0aDowfS5jaG9pY2VzW2RhdGEtdHlwZSo9c2VsZWN0LW9uZV0uaXMtb3BlbjphZnRlcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMzMzttYXJnaW4tdG9wOi03LjVweH0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1vbmVdW2Rpcj1ydGxdOmFmdGVye2xlZnQ6MTEuNXB4O3JpZ2h0OmF1dG99LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3Qtb25lXVtkaXI9cnRsXSAuY2hvaWNlc19fYnV0dG9ue2xlZnQ6MDttYXJnaW4tbGVmdDoyNXB4O21hcmdpbi1yaWdodDowO3JpZ2h0OmF1dG99LmNob2ljZXNbZGF0YS10eXBlKj1zZWxlY3QtbXVsdGlwbGVdIC5jaG9pY2VzX19pbm5lciwuY2hvaWNlc1tkYXRhLXR5cGUqPXRleHRdIC5jaG9pY2VzX19pbm5lcntjdXJzb3I6dGV4dH0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1tdWx0aXBsZV0gLmNob2ljZXNfX2J1dHRvbiwuY2hvaWNlc1tkYXRhLXR5cGUqPXRleHRdIC5jaG9pY2VzX19idXR0b257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qRWlJR2hsYVdkb2REMGlNakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEdjZ1ptbHNiRDBpSTBaR1JpSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJajQ4Y0dGMGFDQmtQU0p0TWk0MU9USXVNRFEwSURFNExqTTJOQ0F4T0M0ek5qUXRNaTQxTkRnZ01pNDFORGhNTGpBME5DQXlMalU1TW5vaUx6NDhjR0YwYUNCa1BTSk5NQ0F4T0M0ek5qUWdNVGd1TXpZMElEQnNNaTQxTkRnZ01pNDFORGhNTWk0MU5EZ2dNakF1T1RFeWVpSXZQand2Wno0OEwzTjJaejQ9Iik7YmFja2dyb3VuZC1zaXplOjhweDtib3JkZXItbGVmdDoxcHggc29saWQgIzAwOGZhMTtib3JkZXItcmFkaXVzOjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MTttYXJnaW46MCAtNHB4IDAgOHB4O29wYWNpdHk6Ljc1O3BhZGRpbmctbGVmdDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjhweH0uY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1tdWx0aXBsZV0gLmNob2ljZXNfX2J1dHRvbjpmb2N1cywuY2hvaWNlc1tkYXRhLXR5cGUqPXNlbGVjdC1tdWx0aXBsZV0gLmNob2ljZXNfX2J1dHRvbjpob3ZlciwuY2hvaWNlc1tkYXRhLXR5cGUqPXRleHRdIC5jaG9pY2VzX19idXR0b246Zm9jdXMsLmNob2ljZXNbZGF0YS10eXBlKj10ZXh0XSAuY2hvaWNlc19fYnV0dG9uOmhvdmVye29wYWNpdHk6MX0uY2hvaWNlc19faW5uZXJ7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5O2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjIuNXB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNHB4O21pbi1oZWlnaHQ6NDRweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzo3LjVweCA3LjVweCAzLjc1cHg7dmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjEwMCV9LmlzLWZvY3VzZWQgLmNob2ljZXNfX2lubmVyLC5pcy1vcGVuIC5jaG9pY2VzX19pbm5lcntib3JkZXItY29sb3I6I2I3YjdiN30uaXMtb3BlbiAuY2hvaWNlc19faW5uZXJ7Ym9yZGVyLXJhZGl1czoyLjVweCAyLjVweCAwIDB9LmlzLWZsaXBwZWQuaXMtb3BlbiAuY2hvaWNlc19faW5uZXJ7Ym9yZGVyLXJhZGl1czowIDAgMi41cHggMi41cHh9LmNob2ljZXNfX2xpc3R7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmctbGVmdDowfS5jaG9pY2VzX19saXN0LS1zaW5nbGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo0cHggMTZweCA0cHggNHB4O3dpZHRoOjEwMCV9W2Rpcj1ydGxdIC5jaG9pY2VzX19saXN0LS1zaW5nbGV7cGFkZGluZy1sZWZ0OjE2cHg7cGFkZGluZy1yaWdodDo0cHh9LmNob2ljZXNfX2xpc3QtLXNpbmdsZSAuY2hvaWNlc19faXRlbXt3aWR0aDoxMDAlfS5jaG9pY2VzX19saXN0LS1tdWx0aXBsZXtkaXNwbGF5OmlubGluZX0uY2hvaWNlc19fbGlzdC0tbXVsdGlwbGUgLmNob2ljZXNfX2l0ZW17YmFja2dyb3VuZC1jb2xvcjojMDBiY2Q0O2JvcmRlcjoxcHggc29saWQgIzAwYTViYjtib3JkZXItcmFkaXVzOjIwcHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1ib3R0b206My43NXB4O21hcmdpbi1yaWdodDozLjc1cHg7cGFkZGluZzo0cHggMTBweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d29yZC1icmVhazpicmVhay1hbGx9LmNob2ljZXNfX2xpc3QtLW11bHRpcGxlIC5jaG9pY2VzX19pdGVtW2RhdGEtZGVsZXRhYmxlXXtwYWRkaW5nLXJpZ2h0OjVweH1bZGlyPXJ0bF0gLmNob2ljZXNfX2xpc3QtLW11bHRpcGxlIC5jaG9pY2VzX19pdGVte21hcmdpbi1sZWZ0OjMuNzVweDttYXJnaW4tcmlnaHQ6MH0uY2hvaWNlc19fbGlzdC0tbXVsdGlwbGUgLmNob2ljZXNfX2l0ZW0uaXMtaGlnaGxpZ2h0ZWR7YmFja2dyb3VuZC1jb2xvcjojMDBhNWJiO2JvcmRlcjoxcHggc29saWQgIzAwOGZhMX0uaXMtZGlzYWJsZWQgLmNob2ljZXNfX2xpc3QtLW11bHRpcGxlIC5jaG9pY2VzX19pdGVte2JhY2tncm91bmQtY29sb3I6I2FhYTtib3JkZXI6MXB4IHNvbGlkICM5MTkxOTF9LmNob2ljZXNfX2xpc3QtLWRyb3Bkb3due2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czoyLjVweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoyLjVweDttYXJnaW4tdG9wOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO3Zpc2liaWxpdHk6aGlkZGVuO3dpZHRoOjEwMCU7d2lsbC1jaGFuZ2U6dmlzaWJpbGl0eTt3b3JkLWJyZWFrOmJyZWFrLWFsbDt6LWluZGV4OjF9LmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duLmlzLWFjdGl2ZXt2aXNpYmlsaXR5OnZpc2libGV9LmlzLW9wZW4gLmNob2ljZXNfX2xpc3QtLWRyb3Bkb3due2JvcmRlci1jb2xvcjojYjdiN2I3fS5pcy1mbGlwcGVkIC5jaG9pY2VzX19saXN0LS1kcm9wZG93bntib3JkZXItcmFkaXVzOi4yNXJlbSAuMjVyZW0gMCAwO2JvdHRvbToxMDAlO21hcmdpbi1ib3R0b206LTFweDttYXJnaW4tdG9wOjA7dG9wOmF1dG99LmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIC5jaG9pY2VzX19saXN0ey13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO21heC1oZWlnaHQ6MzAwcHg7b3ZlcmZsb3c6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt3aWxsLWNoYW5nZTpzY3JvbGwtcG9zaXRpb259LmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIC5jaG9pY2VzX19pdGVte2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MTBweDtwb3NpdGlvbjpyZWxhdGl2ZX1bZGlyPXJ0bF0gLmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIC5jaG9pY2VzX19pdGVte3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5jaG9pY2VzX19saXN0LS1kcm9wZG93biAuY2hvaWNlc19faXRlbS0tc2VsZWN0YWJsZXtwYWRkaW5nLXJpZ2h0OjEwMHB4fS5jaG9pY2VzX19saXN0LS1kcm9wZG93biAuY2hvaWNlc19faXRlbS0tc2VsZWN0YWJsZTphZnRlcntjb250ZW50OmF0dHIoZGF0YS1zZWxlY3QtdGV4dCk7Zm9udC1zaXplOjEycHg7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX1bZGlyPXJ0bF0gLmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIC5jaG9pY2VzX19pdGVtLS1zZWxlY3RhYmxle3BhZGRpbmctbGVmdDoxMDBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7dGV4dC1hbGlnbjpyaWdodH1bZGlyPXJ0bF0gLmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIC5jaG9pY2VzX19pdGVtLS1zZWxlY3RhYmxlOmFmdGVye2xlZnQ6MTBweDtyaWdodDphdXRvfX0uY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGUuaXMtaGlnaGxpZ2h0ZWR7YmFja2dyb3VuZC1jb2xvcjojZjJmMmYyfS5jaG9pY2VzX19saXN0LS1kcm9wZG93biAuY2hvaWNlc19faXRlbS0tc2VsZWN0YWJsZS5pcy1oaWdobGlnaHRlZDphZnRlcntvcGFjaXR5Oi41fS5jaG9pY2VzX19pdGVte2N1cnNvcjpkZWZhdWx0fS5jaG9pY2VzX19pdGVtLS1zZWxlY3RhYmxle2N1cnNvcjpwb2ludGVyfS5jaG9pY2VzX19pdGVtLS1kaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmNob2ljZXNfX2hlYWRpbmd7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Y3ZjdmNztjb2xvcjpncmF5O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjEwcHh9LmNob2ljZXNfX2J1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7dGV4dC1pbmRlbnQ6LTk5OTlweH0uY2hvaWNlc19fYnV0dG9uOmZvY3Vze291dGxpbmU6bm9uZX0uY2hvaWNlc19faW5wdXR7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjVweDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjRweCAwIDRweCAycHg7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9LmNob2ljZXNfX2lucHV0OmZvY3Vze291dGxpbmU6MH1bZGlyPXJ0bF0gLmNob2ljZXNfX2lucHV0e3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MnB4fS5jaG9pY2VzX19wbGFjZWhvbGRlcntvcGFjaXR5Oi41fS5jaG9pY2VzX19pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czowfS5jaG9pY2VzX19saXN0LS1kcm9wZG93biwuaXMtZmxpcHBlZC5pcy1vcGVuIC5jaG9pY2VzX19pbm5lciwuaXMtb3BlbiAuY2hvaWNlc19faW5uZXJ7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudH1AZm9udC1mYWNle2ZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtZmFtaWx5OlJvYm90bztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDozMDA7c3JjOmxvY2FsKCJSb2JvdG8gTGlnaHQiKSxsb2NhbCgiUm9ib3RvLUxpZ2h0IiksdXJsKGZvbnRzL3JvYm90by12MjAtbGF0aW4tMzAwLndvZmYyKSBmb3JtYXQoIndvZmYyIiksdXJsKGZvbnRzL3JvYm90by12MjAtbGF0aW4tMzAwLndvZmYpIGZvcm1hdCgid29mZiIpfUBmb250LWZhY2V7Zm9udC1kaXNwbGF5OnN3YXA7Zm9udC1mYW1pbHk6Um9ib3RvO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6bG9jYWwoIlJvYm90byIpLGxvY2FsKCJSb2JvdG8tUmVndWxhciIpLHVybChmb250cy9yb2JvdG8tdjIwLWxhdGluLXJlZ3VsYXIud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoZm9udHMvcm9ib3RvLXYyMC1sYXRpbi1yZWd1bGFyLndvZmYpIGZvcm1hdCgid29mZiIpfUBmb250LWZhY2V7Zm9udC1kaXNwbGF5OnN3YXA7Zm9udC1mYW1pbHk6Um9ib3RvO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6bG9jYWwoIlJvYm90byBJdGFsaWMiKSxsb2NhbCgiUm9ib3RvLUl0YWxpYyIpLHVybChmb250cy9yb2JvdG8tdjIwLWxhdGluLWl0YWxpYy53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpLHVybChmb250cy9yb2JvdG8tdjIwLWxhdGluLWl0YWxpYy53b2ZmKSBmb3JtYXQoIndvZmYiKX1AZm9udC1mYWNle2ZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtZmFtaWx5OlJvYm90bztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7c3JjOmxvY2FsKCJSb2JvdG8gTWVkaXVtIiksbG9jYWwoIlJvYm90by1NZWRpdW0iKSx1cmwoZm9udHMvcm9ib3RvLXYyMC1sYXRpbi01MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoZm9udHMvcm9ib3RvLXYyMC1sYXRpbi01MDAud29mZikgZm9ybWF0KCJ3b2ZmIil9QGZvbnQtZmFjZXtmb250LWRpc3BsYXk6c3dhcDtmb250LWZhbWlseTpSb2JvdG87Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NzAwO3NyYzpsb2NhbCgiUm9ib3RvIEJvbGQiKSxsb2NhbCgiUm9ib3RvLUJvbGQiKSx1cmwoZm9udHMvcm9ib3RvLXYyMC1sYXRpbi03MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoZm9udHMvcm9ib3RvLXYyMC1sYXRpbi03MDAud29mZikgZm9ybWF0KCJ3b2ZmIil9aHRtbC5mb250cy1sb2FkZWQgYm9keXtmb250LWZhbWlseTpSb2JvdG8sc2Fucy1zZXJpZn06Oi1tb3otcGxhY2Vob2xkZXJ7Zm9udC1zaXplOi44NzVyZW19Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntmb250LXNpemU6Ljg3NXJlbX06OnBsYWNlaG9sZGVye2ZvbnQtc2l6ZTouODc1cmVtfS5jaG9pY2VzIC5jaG9pY2VzX19wbGFjZWhvbGRlcntjb2xvcjojNmM3NTdkO29wYWNpdHk6MX0uY2hvaWNlcyAuY2hvaWNlc19fcGxhY2Vob2xkZXIgLmZsYWctaWNvbntkaXNwbGF5Om5vbmV9LmNob2ljZXMgLmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGV7cGFkZGluZy1yaWdodDowfVtuYW1lPXA5NTQ3NTMyMTU4aF0sW25hbWU9dTk1NDc1MzIxNThoXXtoZWlnaHQ6MDtsZWZ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjA7ei1pbmRleDotMX1zZWxlY3Q6aW52YWxpZHtjb2xvcjojNmM3NTdkO2ZvbnQtc2l6ZTouODc1cmVtfS5oZi13YXJuaW5ne2NvbG9yOiNjMDA7Zm9udC1zaXplOi44MjVyZW19LmN1c3RvbS1maWxlLWxhYmVsOmFmdGVye2NvbnRlbnQ6Ii4uLiIhaW1wb3J0YW50fWJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLmRyb3Bkb3duLW1lbnUtZnVsbCxib2R5LmVycm9yIC5uYXZiYXItbWFpbiAuZHJvcGRvd24tbWVudS1mdWxsLGJvZHkubHAgLm5hdmJhci1tYWluIC5kcm9wZG93bi1tZW51LWZ1bGx7bWFyZ2luLWJvdHRvbTouNXJlbTtwYWRkaW5nOjB9Ym9keS5kZWZhdWx0IC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdixib2R5LmVycm9yIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdixib2R5LmxwIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdntwYWRkaW5nOi41cmVtIDAgLjg1cmVtfWJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1pdGVtLGJvZHkuZXJyb3IgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtaXRlbSxib2R5LmxwIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWl0ZW17Zm9udC1zaXplOi44NzVyZW19Ym9keS5kZWZhdWx0IC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWxpbmsgLmljb24tdG9nZ2xlLGJvZHkuZXJyb3IgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtbGluayAuaWNvbi10b2dnbGUsYm9keS5scCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1saW5rIC5pY29uLXRvZ2dsZXtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6Ljc1cmVtO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOi43NXJlbX1ib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtbGluayAuaWNvbi10b2dnbGUgc3Bhbixib2R5LmVycm9yIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWxpbmsgLmljb24tdG9nZ2xlIHNwYW4sYm9keS5scCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1saW5rIC5pY29uLXRvZ2dsZSBzcGFue2JhY2tncm91bmQtY29sb3I6IzJlMzE5Mjtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2l0aW9uOi4yNXMgZWFzZS1pbi1vdXR9Ym9keS5kZWZhdWx0IC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWxpbmsgLmljb24tdG9nZ2xlLmljb24tdG9nZ2xlLXBsdXMtbWludXMgc3Bhbixib2R5LmVycm9yIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWxpbmsgLmljb24tdG9nZ2xlLmljb24tdG9nZ2xlLXBsdXMtbWludXMgc3Bhbixib2R5LmxwIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWxpbmsgLmljb24tdG9nZ2xlLmljb24tdG9nZ2xlLXBsdXMtbWludXMgc3Bhbntib3JkZXItcmFkaXVzOi4yNXJlbTtoZWlnaHQ6MnB4O3RvcDo1MCU7d2lkdGg6ODAlfWJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1saW5rIC5pY29uLXRvZ2dsZS5pY29uLXRvZ2dsZS1wbHVzLW1pbnVzIHNwYW46bnRoLWNoaWxkKDIpLGJvZHkuZXJyb3IgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtbGluayAuaWNvbi10b2dnbGUuaWNvbi10b2dnbGUtcGx1cy1taW51cyBzcGFuOm50aC1jaGlsZCgyKSxib2R5LmxwIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWxpbmsgLmljb24tdG9nZ2xlLmljb24tdG9nZ2xlLXBsdXMtbWludXMgc3BhbjpudGgtY2hpbGQoMil7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9Ym9keS5kZWZhdWx0IC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWxpbmtbYXJpYS1leHBhbmRlZD10cnVlXSAuaWNvbi10b2dnbGUuaWNvbi10b2dnbGUtcGx1cy1taW51cz5zcGFuOmZpcnN0LWNoaWxkLGJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1saW5rW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmljb24tdG9nZ2xlLmljb24tdG9nZ2xlLXBsdXMtbWludXM+c3BhbjpudGgtY2hpbGQoMiksYm9keS5lcnJvciAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1saW5rW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmljb24tdG9nZ2xlLmljb24tdG9nZ2xlLXBsdXMtbWludXM+c3BhbjpmaXJzdC1jaGlsZCxib2R5LmVycm9yIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWxpbmtbYXJpYS1leHBhbmRlZD10cnVlXSAuaWNvbi10b2dnbGUuaWNvbi10b2dnbGUtcGx1cy1taW51cz5zcGFuOm50aC1jaGlsZCgyKSxib2R5LmxwIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWxpbmtbYXJpYS1leHBhbmRlZD10cnVlXSAuaWNvbi10b2dnbGUuaWNvbi10b2dnbGUtcGx1cy1taW51cz5zcGFuOmZpcnN0LWNoaWxkLGJvZHkubHAgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtbGlua1thcmlhLWV4cGFuZGVkPXRydWVdIC5pY29uLXRvZ2dsZS5pY29uLXRvZ2dsZS1wbHVzLW1pbnVzPnNwYW46bnRoLWNoaWxkKDIpe3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX1AbWVkaWEgKG1heC13aWR0aDo3NjcuOThweCl7Ym9keS5kZWZhdWx0IC5uYXZiYXItbWFpbixib2R5LmVycm9yIC5uYXZiYXItbWFpbixib2R5LmxwIC5uYXZiYXItbWFpbnttYXgtaGVpZ2h0OjEwMHZoO292ZXJmbG93LXk6YXV0b319QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXtib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluLGJvZHkuZXJyb3IgLm5hdmJhci1tYWluLGJvZHkubHAgLm5hdmJhci1tYWlue3BhZGRpbmc6MH1ib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluIC5kcm9wZG93bi1tZW51LWZ1bGwsYm9keS5lcnJvciAubmF2YmFyLW1haW4gLmRyb3Bkb3duLW1lbnUtZnVsbCxib2R5LmxwIC5uYXZiYXItbWFpbiAuZHJvcGRvd24tbWVudS1mdWxse2JvcmRlci1ib3R0b206LjM1cmVtIHNvbGlkICMyZTMxOTI7Ym9yZGVyLXRvcDowO21hcmdpbi1sZWZ0OjFyZW07bWFyZ2luLXRvcDowO21heC13aWR0aDoxMTEwcHg7d2lkdGg6MTAwJX1ib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2LGJvZHkuZXJyb3IgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2LGJvZHkubHAgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2e3BhZGRpbmc6MH1ib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtaXRlbSxib2R5LmVycm9yIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWl0ZW0sYm9keS5scCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1pdGVte2JvcmRlci1ib3R0b206LjJyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDouMnJlbSBzb2xpZCB0cmFuc3BhcmVudDtmb250LXNpemU6Ljg3NXJlbTtwYWRkaW5nOjEuNzVyZW0gMH1ib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtaXRlbS5uYXYtbGluazpob3Zlcixib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtaXRlbS5zaG93LGJvZHkuZXJyb3IgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtaXRlbS5uYXYtbGluazpob3Zlcixib2R5LmVycm9yIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWl0ZW0uc2hvdyxib2R5LmxwIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWl0ZW0ubmF2LWxpbms6aG92ZXIsYm9keS5scCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1pdGVtLnNob3d7Ym9yZGVyLWJvdHRvbTouMnJlbSBzb2xpZCAjMmUzMTkyfWJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1pdGVtIC5pY29uLXRvZ2dsZSxib2R5LmVycm9yIC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWl0ZW0gLmljb24tdG9nZ2xlLGJvZHkubHAgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtaXRlbSAuaWNvbi10b2dnbGV7ZGlzcGxheTpub25lfWJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLmJ1dHRvbi1ncm91cCxib2R5LmVycm9yIC5uYXZiYXItbWFpbiAuYnV0dG9uLWdyb3VwLGJvZHkubHAgLm5hdmJhci1tYWluIC5idXR0b24tZ3JvdXB7cGFkZGluZzoxLjc1cmVtIDB9fS5uYXZiYXItdG9nZ2xlcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQhaW1wb3J0YW50fS5uYXZiYXItdG9nZ2xlcjphY3RpdmUsLm5hdmJhci10b2dnbGVyOmZvY3Vze291dGxpbmU6MH0ubmF2YmFyLXRvZ2dsZXJ7Ym9yZGVyLXJhZGl1czouMjVyZW07Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEuMjVyZW07aGVpZ2h0OjNyZW07bGluZS1oZWlnaHQ6MnJlbTtwYWRkaW5nOi41cmVtIC43NXJlbTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDozLjVyZW19Lm5hdmJhci10b2dnbGVyIHNwYW57YmFja2dyb3VuZDojMzAzMDMwO2JvcmRlci1yYWRpdXM6LjI1cmVtO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjNweDtsZWZ0OjI1JTtvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2l0aW9uOi4yNXMgZWFzZS1pbi1vdXQ7d2lkdGg6NTAlfS5uYXZiYXItdG9nZ2xlciBzcGFuOmZpcnN0LWNoaWxke3RvcDozMyV9Lm5hdmJhci10b2dnbGVyIHNwYW46bnRoLWNoaWxkKDIpLC5uYXZiYXItdG9nZ2xlciBzcGFuOm50aC1jaGlsZCgzKXt0b3A6NTAlfS5uYXZiYXItdG9nZ2xlciBzcGFuOm50aC1jaGlsZCg0KXt0b3A6NjclfS5uYXZiYXItdG9nZ2xlcjpub3QoLmNvbGxhcHNlZCkgc3BhbjpmaXJzdC1jaGlsZHtsZWZ0OjUwJTt0b3A6MThweDt3aWR0aDowfS5uYXZiYXItdG9nZ2xlcjpub3QoLmNvbGxhcHNlZCkgc3BhbjpudGgtY2hpbGQoMil7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9Lm5hdmJhci10b2dnbGVyOm5vdCguY29sbGFwc2VkKSBzcGFuOm50aC1jaGlsZCgzKXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9Lm5hdmJhci10b2dnbGVyOm5vdCguY29sbGFwc2VkKSBzcGFuOm50aC1jaGlsZCg0KXtsZWZ0OjUwJTt0b3A6MThweDt3aWR0aDowfS5wb3N0LWNvbnRlbnQgaW1ne2hlaWdodDphdXRvO21heC13aWR0aDoxMDAlfS5wb3N0LWNvbnRlbnQgcHtsaW5lLWhlaWdodDoyMnB4O21hcmdpbjoxNXB4IDB9LnBvc3QtY29udGVudCBlbXtmb250LXdlaWdodDo0MDB9LnBvc3QtY29udGVudCB0YWJsZXtib3JkZXI6MXB4IHNvbGlkICNkOGQ4ZDg7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXJlY3Rpb246bHRyO21pbi13aWR0aDoxMDAlfS5wb3N0LWNvbnRlbnQgdGFibGUgdGR7Ym9yZGVyLWNvbG9yOiNkOGQ4ZDg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowIDFweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDpub3JtYWw7cGFkZGluZzoxMHB4O3RleHQtYWxpZ246Y2VudGVyfS5wb3N0LWNvbnRlbnQgdGFibGUgdGJvZHkgdGR7d29yZC13cmFwOmJyZWFrLXdvcmR9LnBvc3QtY29udGVudCB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoMm4pIHRke2JhY2tncm91bmQ6I2YwZjBmMH0uYXV0by1saW5rcyB1bC5wYWdpbmF0aW9ue2ZsZXgtd3JhcDp3cmFwfS5hdXRvLWxpbmtzIHVsLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OmF1dG99LmF1dG8tbGlua3MgdWwucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxke21hcmdpbi1sZWZ0OmF1dG99LmF1dG8tbGlua3MgdWwucGFnaW5hdGlvbiBsaXtib3JkZXI6MXB4IHNvbGlkICNkZWUyZTY7bWFyZ2luOi4xNXJlbTt0ZXh0LWFsaWduOmNlbnRlcn1AbWVkaWEgKG1heC13aWR0aDo1NzVweCl7LmF1dG8tbGlua3MgdWwucGFnaW5hdGlvbiBsaTpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguYWN0aXZlKXtkaXNwbGF5Om5vbmV9LmF1dG8tbGlua3MgdWwucGFnaW5hdGlvbiBsaS5hY3RpdmV7YmFja2dyb3VuZDp0cmFuc3BhcmVudCFpbXBvcnRhbnR9LmF1dG8tbGlua3MgdWwucGFnaW5hdGlvbiBsaS5hY3RpdmUgc3Bhbntjb2xvcjojNDk1MDU3IWltcG9ydGFudH19LmF1dG8tbGlua3MgdWwucGFnaW5hdGlvbiBsaTpob3Zlcjpub3QoLmRpc2FibGVkKTpub3QoLmFjdGl2ZSl7YmFja2dyb3VuZDojZTllY2VmfS5hdXRvLWxpbmtzIHVsLnBhZ2luYXRpb24gbGk6aG92ZXI6bm90KC5kaXNhYmxlZCk6bm90KC5hY3RpdmUpIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmF1dG8tbGlua3MgdWwucGFnaW5hdGlvbiBsaSBhLC5hdXRvLWxpbmtzIHVsLnBhZ2luYXRpb24gc3Bhbntjb2xvcjojMzAzMDMwO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6Mi4ycmVtO3RleHQtZGVjb3JhdGlvbjpub25lIWltcG9ydGFudDt3aWR0aDoyLjJyZW19LmF1dG8tbGlua3MgdWwucGFnaW5hdGlvbiBsaS5hY3RpdmV7YmFja2dyb3VuZDojMzAzMDMwO2N1cnNvcjpkZWZhdWx0fS5hdXRvLWxpbmtzIHVsLnBhZ2luYXRpb24gbGkuYWN0aXZlIHNwYW57Y29sb3I6I2Y4ZjlmYX0uYXV0by1saW5rcyB1bC5wYWdpbmF0aW9uIGxpLmRpc2FibGVkIHNwYW57Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouM30ucGFnaW5hdGlvbiAucGFnZS1saW5re2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZWUyZTY7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudDtjb2xvcjojMzAzMDMwO3RleHQtZGVjb3JhdGlvbjpub25lIWltcG9ydGFudH0ucGFnaW5hdGlvbiAucGFnZS1saW5rOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItY29sb3I6I2RlZTJlNjtjb2xvcjojMWMxZDU4fS5wYWdpbmF0aW9uIC5wYWdlLWxpbms6Zm9jdXN7Ym94LXNoYWRvdzpub25lO291dGxpbmU6bm9uZX0ucGFnaW5hdGlvbiAucGFnZS1pdGVte2JvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnR9LnBhZ2luYXRpb24gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGlua3tiYWNrZ3JvdW5kLWNvbG9yOiMzMDMwMzA7Ym9yZGVyLWNvbG9yOiMzMDMwMzA7Y29sb3I6I2Y4ZjlmYX0ucGFnaW5hdGlvbiAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rOmhvdmVye2NvbG9yOiNmOGY5ZmEhaW1wb3J0YW50fS5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGlua3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNkZWUyZTY7Y29sb3I6IzZjNzU3ZH0ucG9wb3Zlci1oZWFkZXJ7Zm9udC1zaXplOi45cmVtfS5xdW90ZXMtdGFibGUgdGQsLnF1b3Rlcy10YWJsZSB0aHtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2O3BhZGRpbmc6LjRyZW0gMDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnF1b3Rlcy10YWJsZSB0ZCAuYnRuLC5xdW90ZXMtdGFibGUgdGggLmJ0bnttYXJnaW4tbGVmdDoxcHg7cGFkZGluZzowIC4zNXJlbX0uYm9vdHN0cmFwLXR5cGVhaGVhZCBpbnB1dHtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50fSNmdXR1cmVzQ29tbWlzc2lvbnMgLmRhdGFUYWJsZS1jb250YWluZXJ7aGVpZ2h0OjM0OHB4O292ZXJmbG93OmF1dG99LmN1c3RvbS1zZWxlY3QsLnRhaWwtc2VsZWN0IC5zZWxlY3QtbGFiZWx7YmFja2dyb3VuZDp1cmwoaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9pY29ucy9jaGV2cm9uLWRvd24tcmVndWxhci5zdmcpIG5vLXJlcGVhdCByaWdodCAuNzVyZW0gY2VudGVyLzE0cHggMTRweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5zdGlja3ktc3VwcG9ydC1zaWRlYmFye3JpZ2h0OjMuNXJlbTt0b3A6NC4wNXJlbX0uc3RpY2t5LXN1cHBvcnQtc2lkZWJhciAuc3VwcG9ydHtoZWlnaHQ6My41cmVtO21pbi13aWR0aDozLjVyZW07dG9wOjE5LjhyZW19LnN0aWNreS1mbG9hdGluZy1iYW5uZXJ7bGVmdDowO3RvcDoxNy41cmVtfS5yaXNrLXdhcm5pbmctZml4ZWQuY29sbGFwc2Vke2hlaWdodDoxLjdyZW07b3ZlcmZsb3c6aGlkZGVufS5yaXNrLXdhcm5pbmctZml4ZWQuY29sbGFwc2VkfmRpdj5hPi5mYS1jaGV2cm9uLWRvd24sLnJpc2std2FybmluZy1maXhlZC5jb2xsYXBzZWR+ZGl2PmE+LmZhLWNoZXZyb24tdXB7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuc3dpcGVyLXNsaWRlLWdhbGxlcnkgLnN3aXBlci1zbGlkZTpub3QoLnN3aXBlci1zbGlkZS1uZXh0KXtmaWx0ZXI6YnJpZ2h0bmVzcygzNSUpfX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtiYWNrZ3JvdW5kOiNjMDB9LmNob2ljZXMuaXMtZm9jdXNlZCAuY2hvaWNlc19faW5uZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoNDYsNDksMTQ2LC43KSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQ2LDQ5LDE0NiwuMjUpIWltcG9ydGFudDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dH0uY2hvaWNlcy5pcy1mb2N1c2VkIC5jaG9pY2VzX19saXN0LS1kcm9wZG93bnttYXJnaW4tdG9wOi0ycHh9LmNob2ljZXMgLmNob2ljZXNfX2lubmVye21pbi1oZWlnaHQ6YXV0byFpbXBvcnRhbnQ7cGFkZGluZzouMTc1cmVtIC4zNzVyZW0haW1wb3J0YW50fS5jaG9pY2VzIC5jaG9pY2VzX19saXN0LS1kcm9wZG93bnt6LWluZGV4OjJ9LmZsaXAtY2xvY2t7Zm9udC1zaXplOi40cmVtfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuZmxpcC1jbG9ja3tmb250LXNpemU6LjZyZW19fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZmxpcC1jbG9ja3tmb250LXNpemU6LjhyZW19fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZmxpcC1jbG9ja3tmb250LXNpemU6LjlyZW19fS5mbGlwLWNsb2NrIC5mbGlwLWNsb2NrLWdyb3VwIC5mbGlwLWNsb2NrLWxhYmVse2NvbG9yOiMzOGIyNDk7Zm9udC1mYW1pbHk6Um9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE3cHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjUwMCFpbXBvcnRhbnQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlIWltcG9ydGFudH0K"}},"time_used":1452,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1452,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images/02-hero-futures.jpg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:30.735Z","timestamp":1785137070735,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images/02-hero-futures.jpg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 214158\r\ncontent-type: image/jpeg\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c4b08e\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:30 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":214158,"size_decoded":214457,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 2000x729, components 3","md5":"53a41742147d1fcaf185059183665ace","sha1":"ab751f69f39cc74faf854964d72cc614f2489a79","sha256":"e50e7b672cf77637553a59f89f13e2b14b40fda3760aaeb5fed899d7a0243ec8","sha512":"a088c30cfad9a88bab3b433def6c88e252d195091735e86b3dec5020ea6616594be33ef61b55dadb3bdc8db8298fbb33d6478ee85e8f2667bc3baf779124fc18","ssdeep":"6144:hZ62MtaNEDLocpJSEF7r3ZhIPoNHlGdqij9XgQTCACsu:hxEDLo+7zsQ4fwaLu","tlshash":"772412907963cba3ec3c109e889b92ba1f3424b244a561f7ed72cde381976582c7d853","first_seen":"2025-10-27T18:25:33.054824Z","last_seen":"2026-07-27T07:25:28.83578Z","times_seen":6,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABQAAD/4QOMaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwNiA3OS4xNjQ2NDgsIDIwMjEvMDEvMTItMTU6NTI6MjkgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NGRmZjgzM2UtZjdhNi00ODAwLTljMDktYzNmY2NlYTU2M2E2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUyM0MxM0ZFNzM1MzExRUI5QjJEOTZCRUNCMkM5OEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUyM0MxM0ZENzM1MzExRUI5QjJEOTZCRUNCMkM5OEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMi4xIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDAyMjE1N2YtNjYyYy00NGQzLWE0OTctN2U0ZmM2MDRlY2RmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YmMwZGI4NmYtZjE5Ny0wMDRkLTgwMmMtMWE3ZGQ0M2MzYTJiIi8+IDwvcmRm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"}},"time_used":1997,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1127,"receive":870,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-3c2aa.js?id=7f8750b6c1cb23972095","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.438Z","timestamp":1785137065438,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/vendor_utils-3c2aa.js?id=7f8750b6c1cb23972095 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 09:35:32 GMT\r\naccept-ranges: bytes\r\netag: \"1d8257409e568d3\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":156371,"size_decoded":47077,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (62126)","md5":"43ef234ec13be17da7bf7382abafc41b","sha1":"bcfebe343797277b2a01ba2c76e281c182abcbee","sha256":"23692c08be77fc0d901b09856cb00b6c206087c64cf654bcfb50d436d86a6d75","sha512":"48728c83e3e9ad8e2236c078d60c292e4217fd6c97abb2268fccaa5d4edaa4a1c3261246bd7516f8cfba297d9a47abd92539ce046ee8e2e6ce3e2f9a07c4573a","ssdeep":"1536:6ytNXZKosuTSzbU3cKu8L/SWi+Q2GsY+n4/RWbxocBWYXsngS6BAATb9FT3rtnK3:jayS/U9LlXs0hxFT39wbaEYDWR","tlshash":"6fe3e88d72d5b462439b607a807f450bb23a1c8da80ea018f69dd4dd7d78d89623bf3d","first_seen":"2025-10-27T18:25:33.051384Z","last_seen":"2026-07-27T07:25:28.865548Z","times_seen":6,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rQXZhdHJhZGVycz1zZWxmLndlYnBhY2tDaHVua0F2YXRyYWRlcnN8fFtdKS5wdXNoKFtbMjEzXSx7NDM3MzQ6ZnVuY3Rpb24oZSx0LG4pey8qIQoqIEJvb3RzdHJhcCB2NC42LjAgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pCiogQ29weXJpZ2h0IDIwMTEtMjAyMSBUaGUgQm9vdHN0cmFwIEF1dGhvcnMgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ncmFwaHMvY29udHJpYnV0b3JzKQoqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKQoqLyFmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGUmJiJvYmplY3QiPT10eXBlb2YgZSYmImRlZmF1bHQiaW4gZT9lOntkZWZhdWx0OmV9fXZhciByPWkodCksbz1pKG4pO2Z1bmN0aW9uIGEoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGkua2V5LGkpfX1mdW5jdGlvbiBzKGUsdCxuKXtyZXR1cm4gdCYmYShlLnByb3RvdHlwZSx0KSxuJiZhKGUsbiksZX1mdW5jdGlvbiBsKCl7cmV0dXJuIGw9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgaSBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGkpJiYoZVtpXT1uW2ldKX1yZXR1cm4gZX0sbC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gdShlLHQpe2UucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5fX3Byb3RvX189dH12YXIgYz0idHJhbnNpdGlvbmVuZCIsZj0xZTYsZD0xZTM7ZnVuY3Rpb24gaChlKXtyZXR1cm4gbnVsbD09ZT8iIitlOnt9LnRvU3RyaW5nLmNhbGwoZSkubWF0Y2goL1xzKFthLXpdKykvaSlbMV0udG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBwKCl7cmV0dXJue2JpbmRUeXBlOmMsZGVsZWdhdGVUeXBlOmMsaGFuZGxlOmZ1bmN0aW9uKGUpe2lmKHIuZGVmYXVsdChlLnRhcmdldCkuaXModGhpcykpcmV0dXJuIGUuaGFuZGxlT2JqLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19ZnVuY3Rpb24gZyhlKXt2YXIgdD10aGlzLG49ITE7cmV0dXJuIHIuZGVmYXVsdCh0aGlzKS5vbmUodi5UUkFOU0lUSU9OX0VORCwoZnVuY3Rpb24oKXtuPSEwfSkpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bnx8di50cmlnZ2VyVHJhbnNpdGlvbkVuZCh0KX0pLGUpLHRoaXN9ZnVuY3Rpb24gbSgpe3IuZGVmYXVsdC5mbi5lbXVsYXRlVHJhbnNpdGlvbkVuZD1nLHIuZGVmYXVsdC5ldmVudC5zcGVjaWFsW3YuVFJBTlNJVElPTl9FTkRdPXAoKX12YXIgdj17VFJBTlNJVElPTl9FTkQ6ImJzVHJhbnNpdGlvbkVuZCIsZ2V0VUlEOmZ1bmN0aW9uKGUpe2Rve2UrPX5+KE1hdGgucmFuZG9tKCkqZil9d2hpbGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZSkpO3JldHVybiBlfSxnZXRTZWxlY3RvckZyb21FbGVtZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKCJkYXRhLXRhcmdldCIpO2lmKCF0fHwiIyI9PT10KXt2YXIgbj1lLmdldEF0dHJpYnV0ZSgiaHJlZiIpO3Q9biYmIiMiIT09bj9uLnRyaW0oKToiIn10cnl7cmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCk/dDpudWxsfWNhdGNoKGUpe3JldHVybiBudWxsfX0sZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQ6ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIDA7dmFyIHQ9ci5kZWZhdWx0KGUpLmNzcygidHJhbnNpdGlvbi1kdXJhdGlvbiIpLG49ci5kZWZhdWx0KGUpLmNzcygidHJhbnNpdGlvbi1kZWxheSIpLGk9cGFyc2VGbG9hdCh0KSxvPXBhcnNlRmxvYXQobik7cmV0dXJuIGl8fG8/KHQ9dC5zcGxpdCgiLCIpWzBdLG49bi5zcGxpdCgiLCIpWzBdLChwYXJzZUZsb2F0KHQpK3BhcnNlRmxvYXQobikpKmQpOjB9LHJlZmxvdzpmdW5jdGlvbihlKXtyZXR1cm4gZS5vZmZzZXRIZWlnaHR9LHRyaWdnZXJUcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKGUpe3IuZGVmYXVsdChlKS50cmlnZ2VyKGMpfSxzdXBwb3J0c1RyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gQm9vbGVhbihjKX0saXNFbGVtZW50OmZ1bmN0aW9uKGUpe3JldHVybihlWzBdfHxlKS5ub2RlVHlwZX0sdHlwZUNoZWNrQ29uZmlnOmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIGkgaW4gbilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixpKSl7dmFyIHI9bltpXSxvPXRbaV0sYT1vJiZ2LmlzRWxlbWVudChvKT8iZWxlbWVudCI6aChvKTtpZighbmV3IFJlZ0V4cChyKS50ZXN0KGEpKXRocm93IG5ldyBFcnJvcihlLnRvVXBwZXJDYXNlKCkrJzogT3B0aW9uICInK2krJyIgcHJvdmlkZWQgdHlwZSAiJythKyciIGJ1dCBleHBlY3RlZCB0eXBlICInK3IrJyIuJyl9fSxmaW5kU2hhZG93Um9vdDpmdW5jdGlvbihlKXtpZighZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmF0dGFjaFNoYWRvdylyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5nZXRSb290Tm9kZSl7dmFyIHQ9ZS5nZXRSb290Tm9kZSgpO3JldHVybiB0IGluc3RhbmNlb2YgU2hhZG93Um9vdD90Om51bGx9cmV0dXJuIGUgaW5zdGFuY2VvZiBTaGFkb3dSb290P2U6ZS5wYXJlbnROb2RlP3YuZmluZFNoYWRvd1Jvb3QoZS5wYXJlbnROb2RlKTpudWxsfSxqUXVlcnlEZXRlY3Rpb246ZnVuY3Rpb24oKXtpZih2b2lkIDA9PT1yLmRlZmF1bHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkuIGpRdWVyeSBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZSBCb290c3RyYXAncyBKYXZhU2NyaXB0LiIpO3ZhciBlPXIuZGVmYXVsdC5mbi5qcXVlcnkuc3BsaXQoIiAiKVswXS5zcGxpdCgiLiIpLHQ9MSxuPTIsaT05LG89MSxhPTQ7aWYoZVswXTxuJiZlWzFdPGl8fGVbMF09PT10JiZlWzFdPT09aSYmZVsyXTxvfHxlWzBdPj1hKXRocm93IG5ldyBFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBhdCBsZWFzdCBqUXVlcnkgdjEuOS4xIGJ1dCBsZXNzIHRoYW4gdjQuMC4wIil9fTt2LmpRdWVyeURldGVjdGlvbigpLG0oKTt2YXIgeT0iYWxlcnQiLF89IjQuNi4wIixiPSJicy5hbGVydCIsdz0iLiIrYixFPSIuZGF0YS1hcGkiLFQ9ci5kZWZhdWx0LmZuW3ldLEM9J1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLHg9ImNsb3NlIit3LFM9ImNsb3NlZCIrdyxOPSJjbGljayIrdytFLEQ9ImFsZXJ0IixBPSJmYWRlIixrPSJzaG93IixPPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXt0aGlzLl9lbGVtZW50PWV9dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQuY2xvc2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZWxlbWVudDtlJiYodD10aGlzLl9nZXRSb290RWxlbWVudChlKSksdGhpcy5fdHJpZ2dlckNsb3NlRXZlbnQodCkuaXNEZWZhdWx0UHJldmVudGVkKCl8fHRoaXMuX3JlbW92ZUVsZW1lbnQodCl9LHQuZGlzcG9zZT1mdW5jdGlvbigpe3IuZGVmYXVsdC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsYiksdGhpcy5fZWxlbWVudD1udWxsfSx0Ll9nZXRSb290RWxlbWVudD1mdW5jdGlvbihlKXt2YXIgdD12LmdldFNlbGVjdG9yRnJvbUVsZW1lbnQoZSksbj0hMTtyZXR1cm4gdCYmKG49ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KSksbnx8KG49ci5kZWZhdWx0KGUpLmNsb3Nlc3QoIi4iK0QpWzBdKSxufSx0Ll90cmlnZ2VyQ2xvc2VFdmVudD1mdW5jdGlvbihlKXt2YXIgdD1yLmRlZmF1bHQuRXZlbnQoeCk7cmV0dXJuIHIuZGVmYXVsdChlKS50cmlnZ2VyKHQpLHR9LHQuX3JlbW92ZUVsZW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztpZihyLmRlZmF1bHQoZSkucmVtb3ZlQ2xhc3Moayksci5kZWZhdWx0KGUpLmhhc0NsYXNzKEEpKXt2YXIgbj12LmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KGUpO3IuZGVmYXVsdChlKS5vbmUodi5UUkFOU0lUSU9OX0VORCwoZnVuY3Rpb24obil7cmV0dXJuIHQuX2Rlc3Ryb3lFbGVtZW50KGUsbil9KSkuZW11bGF0ZVRyYW5zaXRpb25FbmQobil9ZWxzZSB0aGlzLl9kZXN0cm95RWxlbWVudChlKX0sdC5fZGVzdHJveUVsZW1lbnQ9ZnVuY3Rpb24oZSl7ci5kZWZhdWx0KGUpLmRldGFjaCgpLnRyaWdnZXIoUykucmVtb3ZlKCl9LGUuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXIuZGVmYXVsdCh0aGlzKSxpPW4uZGF0YShiKTtpfHwoaT1uZXcgZSh0aGlzKSxuLmRhdGEoYixpKSksImNsb3NlIj09PXQmJmlbdF0odGhpcyl9KSl9LGUuX2hhbmRsZURpc21pc3M9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3QmJnQucHJldmVudERlZmF1bHQoKSxlLmNsb3NlKHRoaXMpfX0scyhlLG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiBffX1dKSxlfSgpO3IuZGVmYXVsdChkb2N1bWVudCkub24oTixDLE8uX2hhbmRsZURpc21pc3MobmV3IE8pKSxyLmRlZmF1bHQuZm5beV09Ty5falF1ZXJ5SW50ZXJmYWNlLHIuZGVmYXVsdC5mblt5XS5Db25zdHJ1Y3Rvcj1PLHIuZGVmYXVsdC5mblt5XS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHIuZGVmYXVsdC5mblt5XT1ULE8uX2pRdWVyeUludGVyZmFjZX07dmFyIEk9ImJ1dHRvbiIsTD0iNC42LjAiLGo9ImJzLmJ1dHRvbiIsUD0iLiIraixSPSIuZGF0YS1hcGkiLHE9ci5kZWZhdWx0LmZuW0ldLEg9ImFjdGl2ZSIsRj0iYnRuIixCPSJmb2N1cyIsTT0nW2RhdGEtdG9nZ2xlXj0iYnV0dG9uIl0nLFc9J1tkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdJyxVPSdbZGF0YS10b2dnbGU9ImJ1dHRvbiJdJyxRPSdbZGF0YS10b2dnbGU9ImJ1dHRvbnMiXSAuYnRuJyx6PSdpbnB1dDpub3QoW3R5cGU9ImhpZGRlbiJdKScsVj0iLmFjdGl2ZSIsJD0iLmJ0biIsWD0iY2xpY2siK1ArUixZPSJmb2N1cyIrUCtSKyIgYmx1ciIrUCtSLEs9ImxvYWQiK1ArUixHPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXt0aGlzLl9lbGVtZW50PWUsdGhpcy5zaG91bGRBdm9pZFRyaWdnZXJDaGFuZ2U9ITF9dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIGU9ITAsdD0hMCxuPXIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5jbG9zZXN0KFcpWzBdO2lmKG4pe3ZhciBpPXRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3Rvcih6KTtpZihpKXtpZigicmFkaW8iPT09aS50eXBlKWlmKGkuY2hlY2tlZCYmdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoSCkpZT0hMTtlbHNle3ZhciBvPW4ucXVlcnlTZWxlY3RvcihWKTtvJiZyLmRlZmF1bHQobykucmVtb3ZlQ2xhc3MoSCl9ZSYmKCJjaGVja2JveCIhPT1pLnR5cGUmJiJyYWRpbyIhPT1pLnR5cGV8fChpLmNoZWNrZWQ9IXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKEgpKSx0aGlzLnNob3VsZEF2b2lkVHJpZ2dlckNoYW5nZXx8ci5kZWZhdWx0KGkpLnRyaWdnZXIoImNoYW5nZSIpKSxpLmZvY3VzKCksdD0hMX19dGhpcy5fZWxlbWVudC5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIil8fHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpfHwodCYmdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsIXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKEgpKSxlJiZyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkudG9nZ2xlQ2xhc3MoSCkpfSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtyLmRlZmF1bHQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LGopLHRoaXMuX2VsZW1lbnQ9bnVsbH0sZS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt2YXIgaT1yLmRlZmF1bHQodGhpcyksbz1pLmRhdGEoaik7b3x8KG89bmV3IGUodGhpcyksaS5kYXRhKGosbykpLG8uc2hvdWxkQXZvaWRUcmlnZ2VyQ2hhbmdlPW4sInRvZ2dsZSI9PT10JiZvW3RdKCl9KSl9LHMoZSxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTH19XSksZX0oKTtyLmRlZmF1bHQoZG9jdW1lbnQpLm9uKFgsTSwoZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQsbj10O2lmKHIuZGVmYXVsdCh0KS5oYXNDbGFzcyhGKXx8KHQ9ci5kZWZhdWx0KHQpLmNsb3Nlc3QoJClbMF0pLCF0fHx0Lmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8dC5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIikpZS5wcmV2ZW50RGVmYXVsdCgpO2Vsc2V7dmFyIGk9dC5xdWVyeVNlbGVjdG9yKHopO2lmKGkmJihpLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8aS5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIikpKXJldHVybiB2b2lkIGUucHJldmVudERlZmF1bHQoKTsiSU5QVVQiIT09bi50YWdOYW1lJiYiTEFCRUwiPT09dC50YWdOYW1lfHxHLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChyLmRlZmF1bHQodCksInRvZ2dsZSIsIklOUFVUIj09PW4udGFnTmFtZSl9fSkpLm9uKFksTSwoZnVuY3Rpb24oZSl7dmFyIHQ9ci5kZWZhdWx0KGUudGFyZ2V0KS5jbG9zZXN0KCQpWzBdO3IuZGVmYXVsdCh0KS50b2dnbGVDbGFzcyhCLC9eZm9jdXMoaW4pPyQvLnRlc3QoZS50eXBlKSl9KSksci5kZWZhdWx0KHdpbmRvdykub24oSywoZnVuY3Rpb24oKXtmb3IodmFyIGU9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFEpKSx0PTAsbj1lLmxlbmd0aDt0PG47dCsrKXt2YXIgaT1lW3RdLHI9aS5xdWVyeVNlbGVjdG9yKHopO3IuY2hlY2tlZHx8ci5oYXNBdHRyaWJ1dGUoImNoZWNrZWQiKT9pLmNsYXNzTGlzdC5hZGQoSCk6aS5jbGFzc0xpc3QucmVtb3ZlKEgpfWZvcih2YXIgbz0wLGE9KGU9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFUpKSkubGVuZ3RoO288YTtvKyspe3ZhciBzPWVbb107InRydWUiPT09cy5nZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIpP3MuY2xhc3NMaXN0LmFkZChIKTpzLmNsYXNzTGlzdC5yZW1vdmUoSCl9fSkpLHIuZGVmYXVsdC5mbltJXT1HLl9qUXVlcnlJbnRlcmZhY2Usci5kZWZhdWx0LmZuW0ldLkNvbnN0cnVjdG9yPUcsci5kZWZhdWx0LmZuW0ldLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gci5kZWZhdWx0LmZuW0ldPXEsRy5falF1ZXJ5SW50ZXJmYWNlfTt2YXIgSj0iY2Fyb3VzZWwiLFo9IjQuNi4wIixlZT0iYnMuY2Fyb3VzZWwiLHRlPSIuIitlZSxuZT0iLmRhdGEtYXBpIixpZT1yLmRlZmF1bHQuZm5bSl0scmU9Mzcsb2U9MzksYWU9NTAwLHNlPTQwLGxlPXtpbnRlcnZhbDo1ZTMsa2V5Ym9hcmQ6ITAsc2xpZGU6ITEscGF1c2U6ImhvdmVyIix3cmFwOiEwLHRvdWNoOiEwfSx1ZT17aW50ZXJ2YWw6IihudW1iZXJ8Ym9vbGVhbikiLGtleWJvYXJkOiJib29sZWFuIixzbGlkZToiKGJvb2xlYW58c3RyaW5nKSIscGF1c2U6IihzdHJpbmd8Ym9vbGVhbikiLHdyYXA6ImJvb2xlYW4iLHRvdWNoOiJib29sZWFuIn0sY2U9Im5leHQiLGZlPSJwcmV2IixkZT0ibGVmdCIsaGU9InJpZ2h0IixwZT0ic2xpZGUiK3RlLGdlPSJzbGlkIit0ZSxtZT0ia2V5ZG93biIrdGUsdmU9Im1vdXNlZW50ZXIiK3RlLHllPSJtb3VzZWxlYXZlIit0ZSxfZT0idG91Y2hzdGFydCIrdGUsYmU9InRvdWNobW92ZSIrdGUsd2U9InRvdWNoZW5kIit0ZSxFZT0icG9pbnRlcmRvd24iK3RlLFRlPSJwb2ludGVydXAiK3RlLENlPSJkcmFnc3RhcnQiK3RlLHhlPSJsb2FkIit0ZStuZSxTZT0iY2xpY2siK3RlK25lLE5lPSJjYXJvdXNlbCIsRGU9ImFjdGl2ZSIsQWU9InNsaWRlIixrZT0iY2Fyb3VzZWwtaXRlbS1yaWdodCIsT2U9ImNhcm91c2VsLWl0ZW0tbGVmdCIsSWU9ImNhcm91c2VsLWl0ZW0tbmV4dCIsTGU9ImNhcm91c2VsLWl0ZW0tcHJldiIsamU9InBvaW50ZXItZXZlbnQiLFBlPSIuYWN0aXZlIixSZT0iLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIixxZT0iLmNhcm91c2VsLWl0ZW0iLEhlPSIuY2Fyb3VzZWwtaXRlbSBpbWciLEZlPSIuY2Fyb3VzZWwtaXRlbS1uZXh0LCAuY2Fyb3VzZWwtaXRlbS1wcmV2IixCZT0iLmNhcm91c2VsLWluZGljYXRvcnMiLE1lPSJbZGF0YS1zbGlkZV0sIFtkYXRhLXNsaWRlLXRvXSIsV2U9J1tkYXRhLXJpZGU9ImNhcm91c2VsIl0nLFVlPXtUT1VDSDoidG91Y2giLFBFTjoicGVuIn0sUWU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7dGhpcy5faXRlbXM9bnVsbCx0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX2FjdGl2ZUVsZW1lbnQ9bnVsbCx0aGlzLl9pc1BhdXNlZD0hMSx0aGlzLl9pc1NsaWRpbmc9ITEsdGhpcy50b3VjaFRpbWVvdXQ9bnVsbCx0aGlzLnRvdWNoU3RhcnRYPTAsdGhpcy50b3VjaERlbHRhWD0wLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcodCksdGhpcy5fZWxlbWVudD1lLHRoaXMuX2luZGljYXRvcnNFbGVtZW50PXRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihCZSksdGhpcy5fdG91Y2hTdXBwb3J0ZWQ9Im9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wLHRoaXMuX3BvaW50ZXJFdmVudD1Cb29sZWFuKHdpbmRvdy5Qb2ludGVyRXZlbnR8fHdpbmRvdy5NU1BvaW50ZXJFdmVudCksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX12YXIgdD1lLnByb3RvdHlwZTtyZXR1cm4gdC5uZXh0PWZ1bmN0aW9uKCl7dGhpcy5faXNTbGlkaW5nfHx0aGlzLl9zbGlkZShjZSl9LHQubmV4dFdoZW5WaXNpYmxlPWZ1bmN0aW9uKCl7dmFyIGU9ci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpOyFkb2N1bWVudC5oaWRkZW4mJmUuaXMoIjp2aXNpYmxlIikmJiJoaWRkZW4iIT09ZS5jc3MoInZpc2liaWxpdHkiKSYmdGhpcy5uZXh0KCl9LHQucHJldj1mdW5jdGlvbigpe3RoaXMuX2lzU2xpZGluZ3x8dGhpcy5fc2xpZGUoZmUpfSx0LnBhdXNlPWZ1bmN0aW9uKGUpe2V8fCh0aGlzLl9pc1BhdXNlZD0hMCksdGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKEZlKSYmKHYudHJpZ2dlclRyYW5zaXRpb25FbmQodGhpcy5fZWxlbWVudCksdGhpcy5jeWNsZSghMCkpLGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpLHRoaXMuX2ludGVydmFsPW51bGx9LHQuY3ljbGU9ZnVuY3Rpb24oZSl7ZXx8KHRoaXMuX2lzUGF1c2VkPSExKSx0aGlzLl9pbnRlcnZhbCYmKGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpLHRoaXMuX2ludGVydmFsPW51bGwpLHRoaXMuX2NvbmZpZy5pbnRlcnZhbCYmIXRoaXMuX2lzUGF1c2VkJiYodGhpcy5fdXBkYXRlSW50ZXJ2YWwoKSx0aGlzLl9pbnRlcnZhbD1zZXRJbnRlcnZhbCgoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3RoaXMubmV4dFdoZW5WaXNpYmxlOnRoaXMubmV4dCkuYmluZCh0aGlzKSx0aGlzLl9jb25maWcuaW50ZXJ2YWwpKX0sdC50bz1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3RoaXMuX2FjdGl2ZUVsZW1lbnQ9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKFJlKTt2YXIgbj10aGlzLl9nZXRJdGVtSW5kZXgodGhpcy5fYWN0aXZlRWxlbWVudCk7aWYoIShlPnRoaXMuX2l0ZW1zLmxlbmd0aC0xfHxlPDApKWlmKHRoaXMuX2lzU2xpZGluZylyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub25lKGdlLChmdW5jdGlvbigpe3JldHVybiB0LnRvKGUpfSkpO2Vsc2V7aWYobj09PWUpcmV0dXJuIHRoaXMucGF1c2UoKSx2b2lkIHRoaXMuY3ljbGUoKTt2YXIgaT1lPm4/Y2U6ZmU7dGhpcy5fc2xpZGUoaSx0aGlzLl9pdGVtc1tlXSl9fSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub2ZmKHRlKSxyLmRlZmF1bHQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LGVlKSx0aGlzLl9pdGVtcz1udWxsLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX2lzUGF1c2VkPW51bGwsdGhpcy5faXNTbGlkaW5nPW51bGwsdGhpcy5fYWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2luZGljYXRvcnNFbGVtZW50PW51bGx9LHQuX2dldENvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4gZT1sKHt9LGxlLGUpLHYudHlwZUNoZWNrQ29uZmlnKEosZSx1ZSksZX0sdC5faGFuZGxlU3dpcGU9ZnVuY3Rpb24oKXt2YXIgZT1NYXRoLmFicyh0aGlzLnRvdWNoRGVsdGFYKTtpZighKGU8PXNlKSl7dmFyIHQ9ZS90aGlzLnRvdWNoRGVsdGFYO3RoaXMudG91Y2hEZWx0YVg9MCx0PjAmJnRoaXMucHJldigpLHQ8MCYmdGhpcy5uZXh0KCl9fSx0Ll9hZGRFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fY29uZmlnLmtleWJvYXJkJiZyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub24obWUsKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9rZXlkb3duKHQpfSkpLCJob3ZlciI9PT10aGlzLl9jb25maWcucGF1c2UmJnIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbih2ZSwoZnVuY3Rpb24odCl7cmV0dXJuIGUucGF1c2UodCl9KSkub24oeWUsKGZ1bmN0aW9uKHQpe3JldHVybiBlLmN5Y2xlKHQpfSkpLHRoaXMuX2NvbmZpZy50b3VjaCYmdGhpcy5fYWRkVG91Y2hFdmVudExpc3RlbmVycygpfSx0Ll9hZGRUb3VjaEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZih0aGlzLl90b3VjaFN1cHBvcnRlZCl7dmFyIHQ9ZnVuY3Rpb24odCl7ZS5fcG9pbnRlckV2ZW50JiZVZVt0Lm9yaWdpbmFsRXZlbnQucG9pbnRlclR5cGUudG9VcHBlckNhc2UoKV0/ZS50b3VjaFN0YXJ0WD10Lm9yaWdpbmFsRXZlbnQuY2xpZW50WDplLl9wb2ludGVyRXZlbnR8fChlLnRvdWNoU3RhcnRYPXQub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdLmNsaWVudFgpfSxuPWZ1bmN0aW9uKHQpe3Qub3JpZ2luYWxFdmVudC50b3VjaGVzJiZ0Lm9yaWdpbmFsRXZlbnQudG91Y2hlcy5sZW5ndGg+MT9lLnRvdWNoRGVsdGFYPTA6ZS50b3VjaERlbHRhWD10Lm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5jbGllbnRYLWUudG91Y2hTdGFydFh9LGk9ZnVuY3Rpb24odCl7ZS5fcG9pbnRlckV2ZW50JiZVZVt0Lm9yaWdpbmFsRXZlbnQucG9pbnRlclR5cGUudG9VcHBlckNhc2UoKV0mJihlLnRvdWNoRGVsdGFYPXQub3JpZ2luYWxFdmVudC5jbGllbnRYLWUudG91Y2hTdGFydFgpLGUuX2hhbmRsZVN3aXBlKCksImhvdmVyIj09PWUuX2NvbmZpZy5wYXVzZSYmKGUucGF1c2UoKSxlLnRvdWNoVGltZW91dCYmY2xlYXJUaW1lb3V0KGUudG91Y2hUaW1lb3V0KSxlLnRvdWNoVGltZW91dD1zZXRUaW1lb3V0KChmdW5jdGlvbih0KXtyZXR1cm4gZS5jeWNsZSh0KX0pLGFlK2UuX2NvbmZpZy5pbnRlcnZhbCkpfTtyLmRlZmF1bHQodGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKEhlKSkub24oQ2UsKGZ1bmN0aW9uKGUpe3JldHVybiBlLnByZXZlbnREZWZhdWx0KCl9KSksdGhpcy5fcG9pbnRlckV2ZW50PyhyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub24oRWUsKGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpfSkpLHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbihUZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSl9KSksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKGplKSk6KHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbihfZSwoZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9KSksci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uKGJlLChmdW5jdGlvbihlKXtyZXR1cm4gbihlKX0pKSxyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub24od2UsKGZ1bmN0aW9uKGUpe3JldHVybiBpKGUpfSkpKX19LHQuX2tleWRvd249ZnVuY3Rpb24oZSl7aWYoIS9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QoZS50YXJnZXQudGFnTmFtZSkpc3dpdGNoKGUud2hpY2gpe2Nhc2UgcmU6ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMucHJldigpO2JyZWFrO2Nhc2Ugb2U6ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmV4dCgpfX0sdC5fZ2V0SXRlbUluZGV4PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9pdGVtcz1lJiZlLnBhcmVudE5vZGU/W10uc2xpY2UuY2FsbChlLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbChxZSkpOltdLHRoaXMuX2l0ZW1zLmluZGV4T2YoZSl9LHQuX2dldEl0ZW1CeURpcmVjdGlvbj1mdW5jdGlvbihlLHQpe3ZhciBuPWU9PT1jZSxpPWU9PT1mZSxyPXRoaXMuX2dldEl0ZW1JbmRleCh0KSxvPXRoaXMuX2l0ZW1zLmxlbmd0aC0xO2lmKChpJiYwPT09cnx8biYmcj09PW8pJiYhdGhpcy5fY29uZmlnLndyYXApcmV0dXJuIHQ7dmFyIGE9KHIrKGU9PT1mZT8tMToxKSkldGhpcy5faXRlbXMubGVuZ3RoO3JldHVybi0xPT09YT90aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGgtMV06dGhpcy5faXRlbXNbYV19LHQuX3RyaWdnZXJTbGlkZUV2ZW50PWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5fZ2V0SXRlbUluZGV4KGUpLGk9dGhpcy5fZ2V0SXRlbUluZGV4KHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihSZSkpLG89ci5kZWZhdWx0LkV2ZW50KHBlLHtyZWxhdGVkVGFyZ2V0OmUsZGlyZWN0aW9uOnQsZnJvbTppLHRvOm59KTtyZXR1cm4gci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIobyksb30sdC5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudD1mdW5jdGlvbihlKXtpZih0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCl7dmFyIHQ9W10uc2xpY2UuY2FsbCh0aGlzLl9pbmRpY2F0b3JzRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFBlKSk7ci5kZWZhdWx0KHQpLnJlbW92ZUNsYXNzKERlKTt2YXIgbj10aGlzLl9pbmRpY2F0b3JzRWxlbWVudC5jaGlsZHJlblt0aGlzLl9nZXRJdGVtSW5kZXgoZSldO24mJnIuZGVmYXVsdChuKS5hZGRDbGFzcyhEZSl9fSx0Ll91cGRhdGVJbnRlcnZhbD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2FjdGl2ZUVsZW1lbnR8fHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihSZSk7aWYoZSl7dmFyIHQ9cGFyc2VJbnQoZS5nZXRBdHRyaWJ1dGUoImRhdGEtaW50ZXJ2YWwiKSwxMCk7dD8odGhpcy5fY29uZmlnLmRlZmF1bHRJbnRlcnZhbD10aGlzLl9jb25maWcuZGVmYXVsdEludGVydmFsfHx0aGlzLl9jb25maWcuaW50ZXJ2YWwsdGhpcy5fY29uZmlnLmludGVydmFsPXQpOnRoaXMuX2NvbmZpZy5pbnRlcnZhbD10aGlzLl9jb25maWcuZGVmYXVsdEludGVydmFsfHx0aGlzLl9jb25maWcuaW50ZXJ2YWx9fSx0Ll9zbGlkZT1mdW5jdGlvbihlLHQpe3ZhciBuLGksbyxhPXRoaXMscz10aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoUmUpLGw9dGhpcy5fZ2V0SXRlbUluZGV4KHMpLHU9dHx8cyYmdGhpcy5fZ2V0SXRlbUJ5RGlyZWN0aW9uKGUscyksYz10aGlzLl9nZXRJdGVtSW5kZXgodSksZj1Cb29sZWFuKHRoaXMuX2ludGVydmFsKTtpZihlPT09Y2U/KG49T2UsaT1JZSxvPWRlKToobj1rZSxpPUxlLG89aGUpLHUmJnIuZGVmYXVsdCh1KS5oYXNDbGFzcyhEZSkpdGhpcy5faXNTbGlkaW5nPSExO2Vsc2UgaWYoIXRoaXMuX3RyaWdnZXJTbGlkZUV2ZW50KHUsbykuaXNEZWZhdWx0UHJldmVudGVkKCkmJnMmJnUpe3RoaXMuX2lzU2xpZGluZz0hMCxmJiZ0aGlzLnBhdXNlKCksdGhpcy5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudCh1KSx0aGlzLl9hY3RpdmVFbGVtZW50PXU7dmFyIGQ9ci5kZWZhdWx0LkV2ZW50KGdlLHtyZWxhdGVkVGFyZ2V0OnUsZGlyZWN0aW9uOm8sZnJvbTpsLHRvOmN9KTtpZihyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQWUpKXtyLmRlZmF1bHQodSkuYWRkQ2xhc3MoaSksdi5yZWZsb3codSksci5kZWZhdWx0KHMpLmFkZENsYXNzKG4pLHIuZGVmYXVsdCh1KS5hZGRDbGFzcyhuKTt2YXIgaD12LmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHMpO3IuZGVmYXVsdChzKS5vbmUodi5UUkFOU0lUSU9OX0VORCwoZnVuY3Rpb24oKXtyLmRlZmF1bHQodSkucmVtb3ZlQ2xhc3MobisiICIraSkuYWRkQ2xhc3MoRGUpLHIuZGVmYXVsdChzKS5yZW1vdmVDbGFzcyhEZSsiICIraSsiICIrbiksYS5faXNTbGlkaW5nPSExLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIHIuZGVmYXVsdChhLl9lbGVtZW50KS50cmlnZ2VyKGQpfSksMCl9KSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoaCl9ZWxzZSByLmRlZmF1bHQocykucmVtb3ZlQ2xhc3MoRGUpLHIuZGVmYXVsdCh1KS5hZGRDbGFzcyhEZSksdGhpcy5faXNTbGlkaW5nPSExLHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKGQpO2YmJnRoaXMuY3ljbGUoKX19LGUuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXIuZGVmYXVsdCh0aGlzKS5kYXRhKGVlKSxpPWwoe30sbGUsci5kZWZhdWx0KHRoaXMpLmRhdGEoKSk7Im9iamVjdCI9PXR5cGVvZiB0JiYoaT1sKHt9LGksdCkpO3ZhciBvPSJzdHJpbmciPT10eXBlb2YgdD90Omkuc2xpZGU7aWYobnx8KG49bmV3IGUodGhpcyxpKSxyLmRlZmF1bHQodGhpcykuZGF0YShlZSxuKSksIm51bWJlciI9PXR5cGVvZiB0KW4udG8odCk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIG8pe2lmKHZvaWQgMD09PW5bb10pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK28rJyInKTtuW29dKCl9ZWxzZSBpLmludGVydmFsJiZpLnJpZGUmJihuLnBhdXNlKCksbi5jeWNsZSgpKX0pKX0sZS5fZGF0YUFwaUNsaWNrSGFuZGxlcj1mdW5jdGlvbih0KXt2YXIgbj12LmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcyk7aWYobil7dmFyIGk9ci5kZWZhdWx0KG4pWzBdO2lmKGkmJnIuZGVmYXVsdChpKS5oYXNDbGFzcyhOZSkpe3ZhciBvPWwoe30sci5kZWZhdWx0KGkpLmRhdGEoKSxyLmRlZmF1bHQodGhpcykuZGF0YSgpKSxhPXRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlLXRvIik7YSYmKG8uaW50ZXJ2YWw9ITEpLGUuX2pRdWVyeUludGVyZmFjZS5jYWxsKHIuZGVmYXVsdChpKSxvKSxhJiZyLmRlZmF1bHQoaSkuZGF0YShlZSkudG8oYSksdC5wcmV2ZW50RGVmYXVsdCgpfX19LHMoZSxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBsZX19XSksZX0oKTtyLmRlZmF1bHQoZG9jdW1lbnQpLm9uKFNlLE1lLFFlLl9kYXRhQXBpQ2xpY2tIYW5kbGVyKSxyLmRlZmF1bHQod2luZG93KS5vbih4ZSwoZnVuY3Rpb24oKXtmb3IodmFyIGU9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFdlKSksdD0wLG49ZS5sZW5ndGg7dDxuO3QrKyl7dmFyIGk9ci5kZWZhdWx0KGVbdF0pO1FlLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChpLGkuZGF0YSgpKX19KSksci5kZWZhdWx0LmZuW0pdPVFlLl9qUXVlcnlJbnRlcmZhY2Usci5kZWZhdWx0LmZuW0pdLkNvbnN0cnVjdG9yPVFlLHIuZGVmYXVsdC5mbltKXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHIuZGVmYXVsdC5mbltKXT1pZSxRZS5falF1ZXJ5SW50ZXJmYWNlfTt2YXIgemU9ImNvbGxhcHNlIixWZT0iNC42LjAiLCRlPSJicy5jb2xsYXBzZSIsWGU9Ii4iKyRlLFllPSIuZGF0YS1hcGkiLEtlPXIuZGVmYXVsdC5mblt6ZV0sR2U9e3RvZ2dsZTohMCxwYXJlbnQ6IiJ9LEplPXt0b2dnbGU6ImJvb2xlYW4iLHBhcmVudDoiKHN0cmluZ3xlbGVtZW50KSJ9LFplPSJzaG93IitYZSxldD0ic2hvd24iK1hlLHR0PSJoaWRlIitYZSxudD0iaGlkZGVuIitYZSxpdD0iY2xpY2siK1hlK1llLHJ0PSJzaG93IixvdD0iY29sbGFwc2UiLGF0PSJjb2xsYXBzaW5nIixzdD0iY29sbGFwc2VkIixsdD0id2lkdGgiLHV0PSJoZWlnaHQiLGN0PSIuc2hvdywgLmNvbGxhcHNpbmciLGZ0PSdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl0nLGR0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe3RoaXMuX2lzVHJhbnNpdGlvbmluZz0hMSx0aGlzLl9lbGVtZW50PWUsdGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyh0KSx0aGlzLl90cmlnZ2VyQXJyYXk9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycrZS5pZCsnIl0sW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtdGFyZ2V0PSIjJytlLmlkKyciXScpKTtmb3IodmFyIG49W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGZ0KSksaT0wLHI9bi5sZW5ndGg7aTxyO2krKyl7dmFyIG89bltpXSxhPXYuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChvKSxzPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChhKSkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdD09PWV9KSk7bnVsbCE9PWEmJnMubGVuZ3RoPjAmJih0aGlzLl9zZWxlY3Rvcj1hLHRoaXMuX3RyaWdnZXJBcnJheS5wdXNoKG8pKX10aGlzLl9wYXJlbnQ9dGhpcy5fY29uZmlnLnBhcmVudD90aGlzLl9nZXRQYXJlbnQoKTpudWxsLHRoaXMuX2NvbmZpZy5wYXJlbnR8fHRoaXMuX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyh0aGlzLl9lbGVtZW50LHRoaXMuX3RyaWdnZXJBcnJheSksdGhpcy5fY29uZmlnLnRvZ2dsZSYmdGhpcy50b2dnbGUoKX12YXIgdD1lLnByb3RvdHlwZTtyZXR1cm4gdC50b2dnbGU9ZnVuY3Rpb24oKXtyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MocnQpP3RoaXMuaGlkZSgpOnRoaXMuc2hvdygpfSx0LnNob3c9ZnVuY3Rpb24oKXt2YXIgdCxuLGk9dGhpcztpZighKHRoaXMuX2lzVHJhbnNpdGlvbmluZ3x8ci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKHJ0KXx8KHRoaXMuX3BhcmVudCYmMD09PSh0PVtdLnNsaWNlLmNhbGwodGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY3QpKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgaS5fY29uZmlnLnBhcmVudD9lLmdldEF0dHJpYnV0ZSgiZGF0YS1wYXJlbnQiKT09PWkuX2NvbmZpZy5wYXJlbnQ6ZS5jbGFzc0xpc3QuY29udGFpbnMob3QpfSkpKS5sZW5ndGgmJih0PW51bGwpLHQmJihuPXIuZGVmYXVsdCh0KS5ub3QodGhpcy5fc2VsZWN0b3IpLmRhdGEoJGUpKSYmbi5faXNUcmFuc2l0aW9uaW5nKSkpe3ZhciBvPXIuZGVmYXVsdC5FdmVudChaZSk7aWYoci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIobyksIW8uaXNEZWZhdWx0UHJldmVudGVkKCkpe3QmJihlLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChyLmRlZmF1bHQodCkubm90KHRoaXMuX3NlbGVjdG9yKSwiaGlkZSIpLG58fHIuZGVmYXVsdCh0KS5kYXRhKCRlLG51bGwpKTt2YXIgYT10aGlzLl9nZXREaW1lbnNpb24oKTtyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkucmVtb3ZlQ2xhc3Mob3QpLmFkZENsYXNzKGF0KSx0aGlzLl9lbGVtZW50LnN0eWxlW2FdPTAsdGhpcy5fdHJpZ2dlckFycmF5Lmxlbmd0aCYmci5kZWZhdWx0KHRoaXMuX3RyaWdnZXJBcnJheSkucmVtb3ZlQ2xhc3Moc3QpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSx0aGlzLnNldFRyYW5zaXRpb25pbmcoITApO3ZhciBzPWZ1bmN0aW9uKCl7ci5kZWZhdWx0KGkuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKGF0KS5hZGRDbGFzcyhvdCsiICIrcnQpLGkuX2VsZW1lbnQuc3R5bGVbYV09IiIsaS5zZXRUcmFuc2l0aW9uaW5nKCExKSxyLmRlZmF1bHQoaS5fZWxlbWVudCkudHJpZ2dlcihldCl9LGw9InNjcm9sbCIrKGFbMF0udG9VcHBlckNhc2UoKSthLnNsaWNlKDEpKSx1PXYuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7ci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uZSh2LlRSQU5TSVRJT05fRU5ELHMpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHUpLHRoaXMuX2VsZW1lbnQuc3R5bGVbYV09dGhpcy5fZWxlbWVudFtsXSsicHgifX19LHQuaGlkZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyYmci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKHJ0KSl7dmFyIHQ9ci5kZWZhdWx0LkV2ZW50KHR0KTtpZihyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkudHJpZ2dlcih0KSwhdC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIG49dGhpcy5fZ2V0RGltZW5zaW9uKCk7dGhpcy5fZWxlbWVudC5zdHlsZVtuXT10aGlzLl9lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW25dKyJweCIsdi5yZWZsb3codGhpcy5fZWxlbWVudCksci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKGF0KS5yZW1vdmVDbGFzcyhvdCsiICIrcnQpO3ZhciBpPXRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGg7aWYoaT4wKWZvcih2YXIgbz0wO288aTtvKyspe3ZhciBhPXRoaXMuX3RyaWdnZXJBcnJheVtvXSxzPXYuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChhKTtudWxsIT09cyYmKHIuZGVmYXVsdChbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocykpKS5oYXNDbGFzcyhydCl8fHIuZGVmYXVsdChhKS5hZGRDbGFzcyhzdCkuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpKX10aGlzLnNldFRyYW5zaXRpb25pbmcoITApO3ZhciBsPWZ1bmN0aW9uKCl7ZS5zZXRUcmFuc2l0aW9uaW5nKCExKSxyLmRlZmF1bHQoZS5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoYXQpLmFkZENsYXNzKG90KS50cmlnZ2VyKG50KX07dGhpcy5fZWxlbWVudC5zdHlsZVtuXT0iIjt2YXIgdT12LmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO3IuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbmUodi5UUkFOU0lUSU9OX0VORCxsKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCh1KX19fSx0LnNldFRyYW5zaXRpb25pbmc9ZnVuY3Rpb24oZSl7dGhpcy5faXNUcmFuc2l0aW9uaW5nPWV9LHQuZGlzcG9zZT1mdW5jdGlvbigpe3IuZGVmYXVsdC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsJGUpLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl90cmlnZ2VyQXJyYXk9bnVsbCx0aGlzLl9pc1RyYW5zaXRpb25pbmc9bnVsbH0sdC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKGUpe3JldHVybihlPWwoe30sR2UsZSkpLnRvZ2dsZT1Cb29sZWFuKGUudG9nZ2xlKSx2LnR5cGVDaGVja0NvbmZpZyh6ZSxlLEplKSxlfSx0Ll9nZXREaW1lbnNpb249ZnVuY3Rpb24oKXtyZXR1cm4gci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGx0KT9sdDp1dH0sdC5fZ2V0UGFyZW50PWZ1bmN0aW9uKCl7dmFyIHQsbj10aGlzO3YuaXNFbGVtZW50KHRoaXMuX2NvbmZpZy5wYXJlbnQpPyh0PXRoaXMuX2NvbmZpZy5wYXJlbnQsdm9pZCAwIT09dGhpcy5fY29uZmlnLnBhcmVudC5qcXVlcnkmJih0PXRoaXMuX2NvbmZpZy5wYXJlbnRbMF0pKTp0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5fY29uZmlnLnBhcmVudCk7dmFyIGk9J1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXBhcmVudD0iJyt0aGlzLl9jb25maWcucGFyZW50KyciXScsbz1bXS5zbGljZS5jYWxsKHQucXVlcnlTZWxlY3RvckFsbChpKSk7cmV0dXJuIHIuZGVmYXVsdChvKS5lYWNoKChmdW5jdGlvbih0LGkpe24uX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhlLl9nZXRUYXJnZXRGcm9tRWxlbWVudChpKSxbaV0pfSkpLHR9LHQuX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcz1mdW5jdGlvbihlLHQpe3ZhciBuPXIuZGVmYXVsdChlKS5oYXNDbGFzcyhydCk7dC5sZW5ndGgmJnIuZGVmYXVsdCh0KS50b2dnbGVDbGFzcyhzdCwhbikuYXR0cigiYXJpYS1leHBhbmRlZCIsbil9LGUuX2dldFRhcmdldEZyb21FbGVtZW50PWZ1bmN0aW9uKGUpe3ZhciB0PXYuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChlKTtyZXR1cm4gdD9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpOm51bGx9LGUuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXIuZGVmYXVsdCh0aGlzKSxpPW4uZGF0YSgkZSksbz1sKHt9LEdlLG4uZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgdCYmdD90Ont9KTtpZighaSYmby50b2dnbGUmJiJzdHJpbmciPT10eXBlb2YgdCYmL3Nob3d8aGlkZS8udGVzdCh0KSYmKG8udG9nZ2xlPSExKSxpfHwoaT1uZXcgZSh0aGlzLG8pLG4uZGF0YSgkZSxpKSksInN0cmluZyI9PXR5cGVvZiB0KXtpZih2b2lkIDA9PT1pW3RdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJyt0KyciJyk7aVt0XSgpfX0pKX0scyhlLG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiBWZX19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBHZX19XSksZX0oKTtyLmRlZmF1bHQoZG9jdW1lbnQpLm9uKGl0LGZ0LChmdW5jdGlvbihlKXsiQSI9PT1lLmN1cnJlbnRUYXJnZXQudGFnTmFtZSYmZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB0PXIuZGVmYXVsdCh0aGlzKSxuPXYuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKSxpPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChuKSk7ci5kZWZhdWx0KGkpLmVhY2goKGZ1bmN0aW9uKCl7dmFyIGU9ci5kZWZhdWx0KHRoaXMpLG49ZS5kYXRhKCRlKT8idG9nZ2xlIjp0LmRhdGEoKTtkdC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoZSxuKX0pKX0pKSxyLmRlZmF1bHQuZm5bemVdPWR0Ll9qUXVlcnlJbnRlcmZhY2Usci5kZWZhdWx0LmZuW3plXS5Db25zdHJ1Y3Rvcj1kdCxyLmRlZmF1bHQuZm5bemVdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gci5kZWZhdWx0LmZuW3plXT1LZSxkdC5falF1ZXJ5SW50ZXJmYWNlfTt2YXIgaHQ9ImRyb3Bkb3duIixwdD0iNC42LjAiLGd0PSJicy5kcm9wZG93biIsbXQ9Ii4iK2d0LHZ0PSIuZGF0YS1hcGkiLHl0PXIuZGVmYXVsdC5mbltodF0sX3Q9MjcsYnQ9MzIsd3Q9OSxFdD0zOCxUdD00MCxDdD0zLHh0PW5ldyBSZWdFeHAoRXQrInwiK1R0KyJ8IitfdCksU3Q9ImhpZGUiK210LE50PSJoaWRkZW4iK210LER0PSJzaG93IittdCxBdD0ic2hvd24iK210LGt0PSJjbGljayIrbXQsT3Q9ImNsaWNrIittdCt2dCxJdD0ia2V5ZG93biIrbXQrdnQsTHQ9ImtleXVwIittdCt2dCxqdD0iZGlzYWJsZWQiLFB0PSJzaG93IixSdD0iZHJvcHVwIixxdD0iZHJvcHJpZ2h0IixIdD0iZHJvcGxlZnQiLEZ0PSJkcm9wZG93bi1tZW51LXJpZ2h0IixCdD0icG9zaXRpb24tc3RhdGljIixNdD0nW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJyxXdD0iLmRyb3Bkb3duIGZvcm0iLFV0PSIuZHJvcGRvd24tbWVudSIsUXQ9Ii5uYXZiYXItbmF2Iix6dD0iLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCkiLFZ0PSJ0b3Atc3RhcnQiLCR0PSJ0b3AtZW5kIixYdD0iYm90dG9tLXN0YXJ0IixZdD0iYm90dG9tLWVuZCIsS3Q9InJpZ2h0LXN0YXJ0IixHdD0ibGVmdC1zdGFydCIsSnQ9e29mZnNldDowLGZsaXA6ITAsYm91bmRhcnk6InNjcm9sbFBhcmVudCIscmVmZXJlbmNlOiJ0b2dnbGUiLGRpc3BsYXk6ImR5bmFtaWMiLHBvcHBlckNvbmZpZzpudWxsfSxadD17b2Zmc2V0OiIobnVtYmVyfHN0cmluZ3xmdW5jdGlvbikiLGZsaXA6ImJvb2xlYW4iLGJvdW5kYXJ5OiIoc3RyaW5nfGVsZW1lbnQpIixyZWZlcmVuY2U6IihzdHJpbmd8ZWxlbWVudCkiLGRpc3BsYXk6InN0cmluZyIscG9wcGVyQ29uZmlnOiIobnVsbHxvYmplY3QpIn0sZW49ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7dGhpcy5fZWxlbWVudD1lLHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcodCksdGhpcy5fbWVudT10aGlzLl9nZXRNZW51RWxlbWVudCgpLHRoaXMuX2luTmF2YmFyPXRoaXMuX2RldGVjdE5hdmJhcigpLHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCl9dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQudG9nZ2xlPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2VsZW1lbnQuZGlzYWJsZWQmJiFyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoanQpKXt2YXIgdD1yLmRlZmF1bHQodGhpcy5fbWVudSkuaGFzQ2xhc3MoUHQpO2UuX2NsZWFyTWVudXMoKSx0fHx0aGlzLnNob3coITApfX0sdC5zaG93PWZ1bmN0aW9uKHQpe2lmKHZvaWQgMD09PXQmJih0PSExKSwhKHRoaXMuX2VsZW1lbnQuZGlzYWJsZWR8fHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhqdCl8fHIuZGVmYXVsdCh0aGlzLl9tZW51KS5oYXNDbGFzcyhQdCkpKXt2YXIgbj17cmVsYXRlZFRhcmdldDp0aGlzLl9lbGVtZW50fSxpPXIuZGVmYXVsdC5FdmVudChEdCxuKSxhPWUuX2dldFBhcmVudEZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO2lmKHIuZGVmYXVsdChhKS50cmlnZ2VyKGkpLCFpLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZighdGhpcy5faW5OYXZiYXImJnQpe2lmKHZvaWQgMD09PW8uZGVmYXVsdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJCb290c3RyYXAncyBkcm9wZG93bnMgcmVxdWlyZSBQb3BwZXIgKGh0dHBzOi8vcG9wcGVyLmpzLm9yZykiKTt2YXIgcz10aGlzLl9lbGVtZW50OyJwYXJlbnQiPT09dGhpcy5fY29uZmlnLnJlZmVyZW5jZT9zPWE6di5pc0VsZW1lbnQodGhpcy5fY29uZmlnLnJlZmVyZW5jZSkmJihzPXRoaXMuX2NvbmZpZy5yZWZlcmVuY2Usdm9pZCAwIT09dGhpcy5fY29uZmlnLnJlZmVyZW5jZS5qcXVlcnkmJihzPXRoaXMuX2NvbmZpZy5yZWZlcmVuY2VbMF0pKSwic2Nyb2xsUGFyZW50IiE9PXRoaXMuX2NvbmZpZy5ib3VuZGFyeSYmci5kZWZhdWx0KGEpLmFkZENsYXNzKEJ0KSx0aGlzLl9wb3BwZXI9bmV3IG8uZGVmYXVsdChzLHRoaXMuX21lbnUsdGhpcy5fZ2V0UG9wcGVyQ29uZmlnKCkpfSJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiYwPT09ci5kZWZhdWx0KGEpLmNsb3Nlc3QoUXQpLmxlbmd0aCYmci5kZWZhdWx0KGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub24oIm1vdXNlb3ZlciIsbnVsbCxyLmRlZmF1bHQubm9vcCksdGhpcy5fZWxlbWVudC5mb2N1cygpLHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwhMCksci5kZWZhdWx0KHRoaXMuX21lbnUpLnRvZ2dsZUNsYXNzKFB0KSxyLmRlZmF1bHQoYSkudG9nZ2xlQ2xhc3MoUHQpLnRyaWdnZXIoci5kZWZhdWx0LkV2ZW50KEF0LG4pKX19fSx0LmhpZGU9ZnVuY3Rpb24oKXtpZighdGhpcy5fZWxlbWVudC5kaXNhYmxlZCYmIXIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhqdCkmJnIuZGVmYXVsdCh0aGlzLl9tZW51KS5oYXNDbGFzcyhQdCkpe3ZhciB0PXtyZWxhdGVkVGFyZ2V0OnRoaXMuX2VsZW1lbnR9LG49ci5kZWZhdWx0LkV2ZW50KFN0LHQpLGk9ZS5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7ci5kZWZhdWx0KGkpLnRyaWdnZXIobiksbi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KHRoaXMuX3BvcHBlciYmdGhpcy5fcG9wcGVyLmRlc3Ryb3koKSxyLmRlZmF1bHQodGhpcy5fbWVudSkudG9nZ2xlQ2xhc3MoUHQpLHIuZGVmYXVsdChpKS50b2dnbGVDbGFzcyhQdCkudHJpZ2dlcihyLmRlZmF1bHQuRXZlbnQoTnQsdCkpKX19LHQuZGlzcG9zZT1mdW5jdGlvbigpe3IuZGVmYXVsdC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsZ3QpLHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vZmYobXQpLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9tZW51PW51bGwsbnVsbCE9PXRoaXMuX3BvcHBlciYmKHRoaXMuX3BvcHBlci5kZXN0cm95KCksdGhpcy5fcG9wcGVyPW51bGwpfSx0LnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX2luTmF2YmFyPXRoaXMuX2RldGVjdE5hdmJhcigpLG51bGwhPT10aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpfSx0Ll9hZGRFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uKGt0LChmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSxlLnRvZ2dsZSgpfSkpfSx0Ll9nZXRDb25maWc9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9bCh7fSx0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHQsci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmRhdGEoKSxlKSx2LnR5cGVDaGVja0NvbmZpZyhodCxlLHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpLGV9LHQuX2dldE1lbnVFbGVtZW50PWZ1bmN0aW9uKCl7aWYoIXRoaXMuX21lbnUpe3ZhciB0PWUuX2dldFBhcmVudEZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO3QmJih0aGlzLl9tZW51PXQucXVlcnlTZWxlY3RvcihVdCkpfXJldHVybiB0aGlzLl9tZW51fSx0Ll9nZXRQbGFjZW1lbnQ9ZnVuY3Rpb24oKXt2YXIgZT1yLmRlZmF1bHQodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlKSx0PVh0O3JldHVybiBlLmhhc0NsYXNzKFJ0KT90PXIuZGVmYXVsdCh0aGlzLl9tZW51KS5oYXNDbGFzcyhGdCk/JHQ6VnQ6ZS5oYXNDbGFzcyhxdCk/dD1LdDplLmhhc0NsYXNzKEh0KT90PUd0OnIuZGVmYXVsdCh0aGlzLl9tZW51KS5oYXNDbGFzcyhGdCkmJih0PVl0KSx0fSx0Ll9kZXRlY3ROYXZiYXI9ZnVuY3Rpb24oKXtyZXR1cm4gci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoIi5uYXZiYXIiKS5sZW5ndGg+MH0sdC5fZ2V0T2Zmc2V0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXt9O3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9jb25maWcub2Zmc2V0P3QuZm49ZnVuY3Rpb24odCl7cmV0dXJuIHQub2Zmc2V0cz1sKHt9LHQub2Zmc2V0cyxlLl9jb25maWcub2Zmc2V0KHQub2Zmc2V0cyxlLl9lbGVtZW50KXx8e30pLHR9OnQub2Zmc2V0PXRoaXMuX2NvbmZpZy5vZmZzZXQsdH0sdC5fZ2V0UG9wcGVyQ29uZmlnPWZ1bmN0aW9uKCl7dmFyIGU9e3BsYWNlbWVudDp0aGlzLl9nZXRQbGFjZW1lbnQoKSxtb2RpZmllcnM6e29mZnNldDp0aGlzLl9nZXRPZmZzZXQoKSxmbGlwOntlbmFibGVkOnRoaXMuX2NvbmZpZy5mbGlwfSxwcmV2ZW50T3ZlcmZsb3c6e2JvdW5kYXJpZXNFbGVtZW50OnRoaXMuX2NvbmZpZy5ib3VuZGFyeX19fTtyZXR1cm4ic3RhdGljIj09PXRoaXMuX2NvbmZpZy5kaXNwbGF5JiYoZS5tb2RpZmllcnMuYXBwbHlTdHlsZT17ZW5hYmxlZDohMX0pLGwoe30sZSx0aGlzLl9jb25maWcucG9wcGVyQ29uZmlnKX0sZS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49ci5kZWZhdWx0KHRoaXMpLmRhdGEoZ3QpO2lmKG58fChuPW5ldyBlKHRoaXMsIm9iamVjdCI9PXR5cGVvZiB0P3Q6bnVsbCksci5kZWZhdWx0KHRoaXMpLmRhdGEoZ3QsbikpLCJzdHJpbmciPT10eXBlb2YgdCl7aWYodm9pZCAwPT09blt0XSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrdCsnIicpO25bdF0oKX19KSl9LGUuX2NsZWFyTWVudXM9ZnVuY3Rpb24odCl7aWYoIXR8fHQud2hpY2ghPT1DdCYmKCJrZXl1cCIhPT10LnR5cGV8fHQud2hpY2g9PT13dCkpZm9yKHZhciBuPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChNdCkpLGk9MCxvPW4ubGVuZ3RoO2k8bztpKyspe3ZhciBhPWUuX2dldFBhcmVudEZyb21FbGVtZW50KG5baV0pLHM9ci5kZWZhdWx0KG5baV0pLmRhdGEoZ3QpLGw9e3JlbGF0ZWRUYXJnZXQ6bltpXX07aWYodCYmImNsaWNrIj09PXQudHlwZSYmKGwuY2xpY2tFdmVudD10KSxzKXt2YXIgdT1zLl9tZW51O2lmKHIuZGVmYXVsdChhKS5oYXNDbGFzcyhQdCkmJiEodCYmKCJjbGljayI9PT10LnR5cGUmJi9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QodC50YXJnZXQudGFnTmFtZSl8fCJrZXl1cCI9PT10LnR5cGUmJnQud2hpY2g9PT13dCkmJnIuZGVmYXVsdC5jb250YWlucyhhLHQudGFyZ2V0KSkpe3ZhciBjPXIuZGVmYXVsdC5FdmVudChTdCxsKTtyLmRlZmF1bHQoYSkudHJpZ2dlcihjKSxjLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJnIuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigpLm9mZigibW91c2VvdmVyIixudWxsLHIuZGVmYXVsdC5ub29wKSxuW2ldLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIikscy5fcG9wcGVyJiZzLl9wb3BwZXIuZGVzdHJveSgpLHIuZGVmYXVsdCh1KS5yZW1vdmVDbGFzcyhQdCksci5kZWZhdWx0KGEpLnJlbW92ZUNsYXNzKFB0KS50cmlnZ2VyKHIuZGVmYXVsdC5FdmVudChOdCxsKSkpfX19fSxlLl9nZXRQYXJlbnRGcm9tRWxlbWVudD1mdW5jdGlvbihlKXt2YXIgdCxuPXYuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChlKTtyZXR1cm4gbiYmKHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihuKSksdHx8ZS5wYXJlbnROb2RlfSxlLl9kYXRhQXBpS2V5ZG93bkhhbmRsZXI9ZnVuY3Rpb24odCl7aWYoISgvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KHQudGFyZ2V0LnRhZ05hbWUpP3Qud2hpY2g9PT1idHx8dC53aGljaCE9PV90JiYodC53aGljaCE9PVR0JiZ0LndoaWNoIT09RXR8fHIuZGVmYXVsdCh0LnRhcmdldCkuY2xvc2VzdChVdCkubGVuZ3RoKToheHQudGVzdCh0LndoaWNoKSkmJiF0aGlzLmRpc2FibGVkJiYhci5kZWZhdWx0KHRoaXMpLmhhc0NsYXNzKGp0KSl7dmFyIG49ZS5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcyksaT1yLmRlZmF1bHQobikuaGFzQ2xhc3MoUHQpO2lmKGl8fHQud2hpY2ghPT1fdCl7aWYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksIWl8fHQud2hpY2g9PT1fdHx8dC53aGljaD09PWJ0KXJldHVybiB0LndoaWNoPT09X3QmJnIuZGVmYXVsdChuLnF1ZXJ5U2VsZWN0b3IoTXQpKS50cmlnZ2VyKCJmb2N1cyIpLHZvaWQgci5kZWZhdWx0KHRoaXMpLnRyaWdnZXIoImNsaWNrIik7dmFyIG89W10uc2xpY2UuY2FsbChuLnF1ZXJ5U2VsZWN0b3JBbGwoenQpKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiByLmRlZmF1bHQoZSkuaXMoIjp2aXNpYmxlIil9KSk7aWYoMCE9PW8ubGVuZ3RoKXt2YXIgYT1vLmluZGV4T2YodC50YXJnZXQpO3Qud2hpY2g9PT1FdCYmYT4wJiZhLS0sdC53aGljaD09PVR0JiZhPG8ubGVuZ3RoLTEmJmErKyxhPDAmJihhPTApLG9bYV0uZm9jdXMoKX19fX0scyhlLG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiBwdH19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBKdH19LHtrZXk6IkRlZmF1bHRUeXBlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWnR9fV0pLGV9KCk7ci5kZWZhdWx0KGRvY3VtZW50KS5vbihJdCxNdCxlbi5fZGF0YUFwaUtleWRvd25IYW5kbGVyKS5vbihJdCxVdCxlbi5fZGF0YUFwaUtleWRvd25IYW5kbGVyKS5vbihPdCsiICIrTHQsZW4uX2NsZWFyTWVudXMpLm9uKE90LE10LChmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxlbi5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoci5kZWZhdWx0KHRoaXMpLCJ0b2dnbGUiKX0pKS5vbihPdCxXdCwoZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKX0pKSxyLmRlZmF1bHQuZm5baHRdPWVuLl9qUXVlcnlJbnRlcmZhY2Usci5kZWZhdWx0LmZuW2h0XS5Db25zdHJ1Y3Rvcj1lbixyLmRlZmF1bHQuZm5baHRdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gci5kZWZhdWx0LmZuW2h0XT15dCxlbi5falF1ZXJ5SW50ZXJmYWNlfTt2YXIgdG49Im1vZGFsIixubj0iNC42LjAiLHJuPSJicy5tb2RhbCIsb249Ii4iK3JuLGFuPSIuZGF0YS1hcGkiLHNuPXIuZGVmYXVsdC5mblt0bl0sbG49MjcsdW49e2JhY2tkcm9wOiEwLGtleWJvYXJkOiEwLGZvY3VzOiEwLHNob3c6ITB9LGNuPXtiYWNrZHJvcDoiKGJvb2xlYW58c3RyaW5nKSIsa2V5Ym9hcmQ6ImJvb2xlYW4iLGZvY3VzOiJib29sZWFuIixzaG93OiJib29sZWFuIn0sZm49ImhpZGUiK29uLGRuPSJoaWRlUHJldmVudGVkIitvbixobj0iaGlkZGVuIitvbixwbj0ic2hvdyIrb24sZ249InNob3duIitvbixtbj0iZm9jdXNpbiIrb24sdm49InJlc2l6ZSIrb24seW49ImNsaWNrLmRpc21pc3MiK29uLF9uPSJrZXlkb3duLmRpc21pc3MiK29uLGJuPSJtb3VzZXVwLmRpc21pc3MiK29uLHduPSJtb3VzZWRvd24uZGlzbWlzcyIrb24sRW49ImNsaWNrIitvbithbixUbj0ibW9kYWwtZGlhbG9nLXNjcm9sbGFibGUiLENuPSJtb2RhbC1zY3JvbGxiYXItbWVhc3VyZSIseG49Im1vZGFsLWJhY2tkcm9wIixTbj0ibW9kYWwtb3BlbiIsTm49ImZhZGUiLERuPSJzaG93IixBbj0ibW9kYWwtc3RhdGljIixrbj0iLm1vZGFsLWRpYWxvZyIsT249Ii5tb2RhbC1ib2R5IixJbj0nW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJyxMbj0nW2RhdGEtZGlzbWlzcz0ibW9kYWwiXScsam49Ii5maXhlZC10b3AsIC5maXhlZC1ib3R0b20sIC5pcy1maXhlZCwgLnN0aWNreS10b3AiLFBuPSIuc3RpY2t5LXRvcCIsUm49ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7dGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyh0KSx0aGlzLl9lbGVtZW50PWUsdGhpcy5fZGlhbG9nPWUucXVlcnlTZWxlY3RvcihrbiksdGhpcy5fYmFja2Ryb3A9bnVsbCx0aGlzLl9pc1Nob3duPSExLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nPSExLHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITEsdGhpcy5faXNUcmFuc2l0aW9uaW5nPSExLHRoaXMuX3Njcm9sbGJhcldpZHRoPTB9dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQudG9nZ2xlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9pc1Nob3duP3RoaXMuaGlkZSgpOnRoaXMuc2hvdyhlKX0sdC5zaG93PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7aWYoIXRoaXMuX2lzU2hvd24mJiF0aGlzLl9pc1RyYW5zaXRpb25pbmcpe3IuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhObikmJih0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITApO3ZhciBuPXIuZGVmYXVsdC5FdmVudChwbix7cmVsYXRlZFRhcmdldDplfSk7ci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIobiksdGhpcy5faXNTaG93bnx8bi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KHRoaXMuX2lzU2hvd249ITAsdGhpcy5fY2hlY2tTY3JvbGxiYXIoKSx0aGlzLl9zZXRTY3JvbGxiYXIoKSx0aGlzLl9hZGp1c3REaWFsb2coKSx0aGlzLl9zZXRFc2NhcGVFdmVudCgpLHRoaXMuX3NldFJlc2l6ZUV2ZW50KCksci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uKHluLExuLChmdW5jdGlvbihlKXtyZXR1cm4gdC5oaWRlKGUpfSkpLHIuZGVmYXVsdCh0aGlzLl9kaWFsb2cpLm9uKHduLChmdW5jdGlvbigpe3IuZGVmYXVsdCh0Ll9lbGVtZW50KS5vbmUoYm4sKGZ1bmN0aW9uKGUpe3IuZGVmYXVsdChlLnRhcmdldCkuaXModC5fZWxlbWVudCkmJih0Ll9pZ25vcmVCYWNrZHJvcENsaWNrPSEwKX0pKX0pKSx0aGlzLl9zaG93QmFja2Ryb3AoKGZ1bmN0aW9uKCl7cmV0dXJuIHQuX3Nob3dFbGVtZW50KGUpfSkpKX19LHQuaGlkZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzO2lmKGUmJmUucHJldmVudERlZmF1bHQoKSx0aGlzLl9pc1Nob3duJiYhdGhpcy5faXNUcmFuc2l0aW9uaW5nKXt2YXIgbj1yLmRlZmF1bHQuRXZlbnQoZm4pO2lmKHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKG4pLHRoaXMuX2lzU2hvd24mJiFuLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt0aGlzLl9pc1Nob3duPSExO3ZhciBpPXIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhObik7aWYoaSYmKHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMCksdGhpcy5fc2V0RXNjYXBlRXZlbnQoKSx0aGlzLl9zZXRSZXNpemVFdmVudCgpLHIuZGVmYXVsdChkb2N1bWVudCkub2ZmKG1uKSxyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoRG4pLHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vZmYoeW4pLHIuZGVmYXVsdCh0aGlzLl9kaWFsb2cpLm9mZih3biksaSl7dmFyIG89di5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub25lKHYuVFJBTlNJVElPTl9FTkQsKGZ1bmN0aW9uKGUpe3JldHVybiB0Ll9oaWRlTW9kYWwoZSl9KSkuZW11bGF0ZVRyYW5zaXRpb25FbmQobyl9ZWxzZSB0aGlzLl9oaWRlTW9kYWwoKX19fSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtbd2luZG93LHRoaXMuX2VsZW1lbnQsdGhpcy5fZGlhbG9nXS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gci5kZWZhdWx0KGUpLm9mZihvbil9KSksci5kZWZhdWx0KGRvY3VtZW50KS5vZmYobW4pLHIuZGVmYXVsdC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQscm4pLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9iYWNrZHJvcD1udWxsLHRoaXMuX2lzU2hvd249bnVsbCx0aGlzLl9pc0JvZHlPdmVyZmxvd2luZz1udWxsLHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9bnVsbCx0aGlzLl9pc1RyYW5zaXRpb25pbmc9bnVsbCx0aGlzLl9zY3JvbGxiYXJXaWR0aD1udWxsfSx0LmhhbmRsZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX2FkanVzdERpYWxvZygpfSx0Ll9nZXRDb25maWc9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9bCh7fSx1bixlKSx2LnR5cGVDaGVja0NvbmZpZyh0bixlLGNuKSxlfSx0Ll90cmlnZ2VyQmFja2Ryb3BUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXIuZGVmYXVsdC5FdmVudChkbik7aWYoci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIodCksIXQuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBuPXRoaXMuX2VsZW1lbnQuc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7bnx8KHRoaXMuX2VsZW1lbnQuc3R5bGUub3ZlcmZsb3dZPSJoaWRkZW4iKSx0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQW4pO3ZhciBpPXYuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZGlhbG9nKTtyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub2ZmKHYuVFJBTlNJVElPTl9FTkQpLHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbmUodi5UUkFOU0lUSU9OX0VORCwoZnVuY3Rpb24oKXtlLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQW4pLG58fHIuZGVmYXVsdChlLl9lbGVtZW50KS5vbmUodi5UUkFOU0lUSU9OX0VORCwoZnVuY3Rpb24oKXtlLl9lbGVtZW50LnN0eWxlLm92ZXJmbG93WT0iIn0pKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChlLl9lbGVtZW50LGkpfSkpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGkpLHRoaXMuX2VsZW1lbnQuZm9jdXMoKX19LHQuX3Nob3dFbGVtZW50PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj1yLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoTm4pLGk9dGhpcy5fZGlhbG9nP3RoaXMuX2RpYWxvZy5xdWVyeVNlbGVjdG9yKE9uKTpudWxsO3RoaXMuX2VsZW1lbnQucGFyZW50Tm9kZSYmdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREV8fGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudCksdGhpcy5fZWxlbWVudC5zdHlsZS5kaXNwbGF5PSJibG9jayIsdGhpcy5fZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiksdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbW9kYWwiLCEwKSx0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgicm9sZSIsImRpYWxvZyIpLHIuZGVmYXVsdCh0aGlzLl9kaWFsb2cpLmhhc0NsYXNzKFRuKSYmaT9pLnNjcm9sbFRvcD0wOnRoaXMuX2VsZW1lbnQuc2Nyb2xsVG9wPTAsbiYmdi5yZWZsb3codGhpcy5fZWxlbWVudCksci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKERuKSx0aGlzLl9jb25maWcuZm9jdXMmJnRoaXMuX2VuZm9yY2VGb2N1cygpO3ZhciBvPXIuZGVmYXVsdC5FdmVudChnbix7cmVsYXRlZFRhcmdldDplfSksYT1mdW5jdGlvbigpe3QuX2NvbmZpZy5mb2N1cyYmdC5fZWxlbWVudC5mb2N1cygpLHQuX2lzVHJhbnNpdGlvbmluZz0hMSxyLmRlZmF1bHQodC5fZWxlbWVudCkudHJpZ2dlcihvKX07aWYobil7dmFyIHM9di5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9kaWFsb2cpO3IuZGVmYXVsdCh0aGlzLl9kaWFsb2cpLm9uZSh2LlRSQU5TSVRJT05fRU5ELGEpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHMpfWVsc2UgYSgpfSx0Ll9lbmZvcmNlRm9jdXM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3IuZGVmYXVsdChkb2N1bWVudCkub2ZmKG1uKS5vbihtbiwoZnVuY3Rpb24odCl7ZG9jdW1lbnQhPT10LnRhcmdldCYmZS5fZWxlbWVudCE9PXQudGFyZ2V0JiYwPT09ci5kZWZhdWx0KGUuX2VsZW1lbnQpLmhhcyh0LnRhcmdldCkubGVuZ3RoJiZlLl9lbGVtZW50LmZvY3VzKCl9KSl9LHQuX3NldEVzY2FwZUV2ZW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9pc1Nob3duP3IuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbihfbiwoZnVuY3Rpb24odCl7ZS5fY29uZmlnLmtleWJvYXJkJiZ0LndoaWNoPT09bG4/KHQucHJldmVudERlZmF1bHQoKSxlLmhpZGUoKSk6ZS5fY29uZmlnLmtleWJvYXJkfHx0LndoaWNoIT09bG58fGUuX3RyaWdnZXJCYWNrZHJvcFRyYW5zaXRpb24oKX0pKTp0aGlzLl9pc1Nob3dufHxyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub2ZmKF9uKX0sdC5fc2V0UmVzaXplRXZlbnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2lzU2hvd24/ci5kZWZhdWx0KHdpbmRvdykub24odm4sKGZ1bmN0aW9uKHQpe3JldHVybiBlLmhhbmRsZVVwZGF0ZSh0KX0pKTpyLmRlZmF1bHQod2luZG93KS5vZmYodm4pfSx0Ll9oaWRlTW9kYWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwhMCksdGhpcy5fZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtbW9kYWwiKSx0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgicm9sZSIpLHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMSx0aGlzLl9zaG93QmFja2Ryb3AoKGZ1bmN0aW9uKCl7ci5kZWZhdWx0KGRvY3VtZW50LmJvZHkpLnJlbW92ZUNsYXNzKFNuKSxlLl9yZXNldEFkanVzdG1lbnRzKCksZS5fcmVzZXRTY3JvbGxiYXIoKSxyLmRlZmF1bHQoZS5fZWxlbWVudCkudHJpZ2dlcihobil9KSl9LHQuX3JlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy5fYmFja2Ryb3AmJihyLmRlZmF1bHQodGhpcy5fYmFja2Ryb3ApLnJlbW92ZSgpLHRoaXMuX2JhY2tkcm9wPW51bGwpfSx0Ll9zaG93QmFja2Ryb3A9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhObik/Tm46IiI7aWYodGhpcy5faXNTaG93biYmdGhpcy5fY29uZmlnLmJhY2tkcm9wKXtpZih0aGlzLl9iYWNrZHJvcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9iYWNrZHJvcC5jbGFzc05hbWU9eG4sbiYmdGhpcy5fYmFja2Ryb3AuY2xhc3NMaXN0LmFkZChuKSxyLmRlZmF1bHQodGhpcy5fYmFja2Ryb3ApLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpLHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbih5biwoZnVuY3Rpb24oZSl7dC5faWdub3JlQmFja2Ryb3BDbGljaz90Ll9pZ25vcmVCYWNrZHJvcENsaWNrPSExOmUudGFyZ2V0PT09ZS5jdXJyZW50VGFyZ2V0JiYoInN0YXRpYyI9PT10Ll9jb25maWcuYmFja2Ryb3A/dC5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbigpOnQuaGlkZSgpKX0pKSxuJiZ2LnJlZmxvdyh0aGlzLl9iYWNrZHJvcCksci5kZWZhdWx0KHRoaXMuX2JhY2tkcm9wKS5hZGRDbGFzcyhEbiksIWUpcmV0dXJuO2lmKCFuKXJldHVybiB2b2lkIGUoKTt2YXIgaT12LmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2JhY2tkcm9wKTtyLmRlZmF1bHQodGhpcy5fYmFja2Ryb3ApLm9uZSh2LlRSQU5TSVRJT05fRU5ELGUpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGkpfWVsc2UgaWYoIXRoaXMuX2lzU2hvd24mJnRoaXMuX2JhY2tkcm9wKXtyLmRlZmF1bHQodGhpcy5fYmFja2Ryb3ApLnJlbW92ZUNsYXNzKERuKTt2YXIgbz1mdW5jdGlvbigpe3QuX3JlbW92ZUJhY2tkcm9wKCksZSYmZSgpfTtpZihyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoTm4pKXt2YXIgYT12LmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2JhY2tkcm9wKTtyLmRlZmF1bHQodGhpcy5fYmFja2Ryb3ApLm9uZSh2LlRSQU5TSVRJT05fRU5ELG8pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGEpfWVsc2UgbygpfWVsc2UgZSYmZSgpfSx0Ll9hZGp1c3REaWFsb2c9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9lbGVtZW50LnNjcm9sbEhlaWdodD5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0OyF0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyYmZSYmKHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQ9dGhpcy5fc2Nyb2xsYmFyV2lkdGgrInB4IiksdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcmJiFlJiYodGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQ9dGhpcy5fc2Nyb2xsYmFyV2lkdGgrInB4Iil9LHQuX3Jlc2V0QWRqdXN0bWVudHM9ZnVuY3Rpb24oKXt0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0PSIiLHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0PSIifSx0Ll9jaGVja1Njcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5faXNCb2R5T3ZlcmZsb3dpbmc9TWF0aC5yb3VuZChlLmxlZnQrZS5yaWdodCk8d2luZG93LmlubmVyV2lkdGgsdGhpcy5fc2Nyb2xsYmFyV2lkdGg9dGhpcy5fZ2V0U2Nyb2xsYmFyV2lkdGgoKX0sdC5fc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZih0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyl7dmFyIHQ9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGpuKSksbj1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoUG4pKTtyLmRlZmF1bHQodCkuZWFjaCgoZnVuY3Rpb24odCxuKXt2YXIgaT1uLnN0eWxlLnBhZGRpbmdSaWdodCxvPXIuZGVmYXVsdChuKS5jc3MoInBhZGRpbmctcmlnaHQiKTtyLmRlZmF1bHQobikuZGF0YSgicGFkZGluZy1yaWdodCIsaSkuY3NzKCJwYWRkaW5nLXJpZ2h0IixwYXJzZUZsb2F0KG8pK2UuX3Njcm9sbGJhcldpZHRoKyJweCIpfSkpLHIuZGVmYXVsdChuKS5lYWNoKChmdW5jdGlvbih0LG4pe3ZhciBpPW4uc3R5bGUubWFyZ2luUmlnaHQsbz1yLmRlZmF1bHQobikuY3NzKCJtYXJnaW4tcmlnaHQiKTtyLmRlZmF1bHQobikuZGF0YSgibWFyZ2luLXJpZ2h0IixpKS5jc3MoIm1hcmdpbi1yaWdodCIscGFyc2VGbG9hdChvKS1lLl9zY3JvbGxiYXJXaWR0aCsicHgiKX0pKTt2YXIgaT1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxvPXIuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5jc3MoInBhZGRpbmctcmlnaHQiKTtyLmRlZmF1bHQoZG9jdW1lbnQuYm9keSkuZGF0YSgicGFkZGluZy1yaWdodCIsaSkuY3NzKCJwYWRkaW5nLXJpZ2h0IixwYXJzZUZsb2F0KG8pK3RoaXMuX3Njcm9sbGJhcldpZHRoKyJweCIpfXIuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5hZGRDbGFzcyhTbil9LHQuX3Jlc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGU9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGpuKSk7ci5kZWZhdWx0KGUpLmVhY2goKGZ1bmN0aW9uKGUsdCl7dmFyIG49ci5kZWZhdWx0KHQpLmRhdGEoInBhZGRpbmctcmlnaHQiKTtyLmRlZmF1bHQodCkucmVtb3ZlRGF0YSgicGFkZGluZy1yaWdodCIpLHQuc3R5bGUucGFkZGluZ1JpZ2h0PW58fCIifSkpO3ZhciB0PVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiIitQbikpO3IuZGVmYXVsdCh0KS5lYWNoKChmdW5jdGlvbihlLHQpe3ZhciBuPXIuZGVmYXVsdCh0KS5kYXRhKCJtYXJnaW4tcmlnaHQiKTt2b2lkIDAhPT1uJiZyLmRlZmF1bHQodCkuY3NzKCJtYXJnaW4tcmlnaHQiLG4pLnJlbW92ZURhdGEoIm1hcmdpbi1yaWdodCIpfSkpO3ZhciBuPXIuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5kYXRhKCJwYWRkaW5nLXJpZ2h0Iik7ci5kZWZhdWx0KGRvY3VtZW50LmJvZHkpLnJlbW92ZURhdGEoInBhZGRpbmctcmlnaHQiKSxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1ufHwiIn0sdC5fZ2V0U2Nyb2xsYmFyV2lkdGg9ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLmNsYXNzTmFtZT1Dbixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpO3ZhciB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgtZS5jbGllbnRXaWR0aDtyZXR1cm4gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlKSx0fSxlLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBpPXIuZGVmYXVsdCh0aGlzKS5kYXRhKHJuKSxvPWwoe30sdW4sci5kZWZhdWx0KHRoaXMpLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIHQmJnQ/dDp7fSk7aWYoaXx8KGk9bmV3IGUodGhpcyxvKSxyLmRlZmF1bHQodGhpcykuZGF0YShybixpKSksInN0cmluZyI9PXR5cGVvZiB0KXtpZih2b2lkIDA9PT1pW3RdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJyt0KyciJyk7aVt0XShuKX1lbHNlIG8uc2hvdyYmaS5zaG93KG4pfSkpfSxzKGUsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG5ufX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHVufX1dKSxlfSgpO3IuZGVmYXVsdChkb2N1bWVudCkub24oRW4sSW4sKGZ1bmN0aW9uKGUpe3ZhciB0LG49dGhpcyxpPXYuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKTtpJiYodD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGkpKTt2YXIgbz1yLmRlZmF1bHQodCkuZGF0YShybik/InRvZ2dsZSI6bCh7fSxyLmRlZmF1bHQodCkuZGF0YSgpLHIuZGVmYXVsdCh0aGlzKS5kYXRhKCkpOyJBIiE9PXRoaXMudGFnTmFtZSYmIkFSRUEiIT09dGhpcy50YWdOYW1lfHxlLnByZXZlbnREZWZhdWx0KCk7dmFyIGE9ci5kZWZhdWx0KHQpLm9uZShwbiwoZnVuY3Rpb24oZSl7ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8YS5vbmUoaG4sKGZ1bmN0aW9uKCl7ci5kZWZhdWx0KG4pLmlzKCI6dmlzaWJsZSIpJiZuLmZvY3VzKCl9KSl9KSk7Um4uX2pRdWVyeUludGVyZmFjZS5jYWxsKHIuZGVmYXVsdCh0KSxvLHRoaXMpfSkpLHIuZGVmYXVsdC5mblt0bl09Um4uX2pRdWVyeUludGVyZmFjZSxyLmRlZmF1bHQuZm5bdG5dLkNvbnN0cnVjdG9yPVJuLHIuZGVmYXVsdC5mblt0bl0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiByLmRlZmF1bHQuZm5bdG5dPXNuLFJuLl9qUXVlcnlJbnRlcmZhY2V9O3ZhciBxbj1bImJhY2tncm91bmQiLCJjaXRlIiwiaHJlZiIsIml0ZW10eXBlIiwibG9uZ2Rlc2MiLCJwb3N0ZXIiLCJzcmMiLCJ4bGluazpocmVmIl0sSG49eyIqIjpbImNsYXNzIiwiZGlyIiwiaWQiLCJsYW5nIiwicm9sZSIsL15hcmlhLVtcdy1dKiQvaV0sYTpbInRhcmdldCIsImhyZWYiLCJ0aXRsZSIsInJlbCJdLGFyZWE6W10sYjpbXSxicjpbXSxjb2w6W10sY29kZTpbXSxkaXY6W10sZW06W10saHI6W10saDE6W10saDI6W10saDM6W10saDQ6W10saDU6W10saDY6W10saTpbXSxpbWc6WyJzcmMiLCJzcmNzZXQiLCJhbHQiLCJ0aXRsZSIsIndpZHRoIiwiaGVpZ2h0Il0sbGk6W10sb2w6W10scDpbXSxwcmU6W10sczpbXSxzbWFsbDpbXSxzcGFuOltdLHN1YjpbXSxzdXA6W10sc3Ryb25nOltdLHU6W10sdWw6W119LEZuPS9eKD86KD86aHR0cHM/fG1haWx0b3xmdHB8dGVsfGZpbGUpOnxbXiMmLzo/XSooPzpbIy8/XXwkKSkvZ2ksQm49L15kYXRhOig/OmltYWdlXC8oPzpibXB8Z2lmfGpwZWd8anBnfHBuZ3x0aWZmfHdlYnApfHZpZGVvXC8oPzptcGVnfG1wNHxvZ2d8d2VibSl8YXVkaW9cLyg/Om1wM3xvZ2F8b2dnfG9wdXMpKTtiYXNlNjQsW1xkKy9hLXpdKz0qJC9pO2Z1bmN0aW9uIE1uKGUsdCl7dmFyIG49ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKC0xIT09dC5pbmRleE9mKG4pKXJldHVybi0xPT09cW4uaW5kZXhPZihuKXx8Qm9vbGVhbihlLm5vZGVWYWx1ZS5tYXRjaChGbil8fGUubm9kZVZhbHVlLm1hdGNoKEJuKSk7Zm9yKHZhciBpPXQuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFJlZ0V4cH0pKSxyPTAsbz1pLmxlbmd0aDtyPG87cisrKWlmKG4ubWF0Y2goaVtyXSkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gV24oZSx0LG4pe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gZTtpZihuJiYiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gbihlKTtmb3IodmFyIGk9KG5ldyB3aW5kb3cuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoZSwidGV4dC9odG1sIikscj1PYmplY3Qua2V5cyh0KSxvPVtdLnNsaWNlLmNhbGwoaS5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSksYT1mdW5jdGlvbihlLG4pe3ZhciBpPW9bZV0sYT1pLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoLTE9PT1yLmluZGV4T2YoaS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSlyZXR1cm4gaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpLCJjb250aW51ZSI7dmFyIHM9W10uc2xpY2UuY2FsbChpLmF0dHJpYnV0ZXMpLGw9W10uY29uY2F0KHRbIioiXXx8W10sdFthXXx8W10pO3MuZm9yRWFjaCgoZnVuY3Rpb24oZSl7TW4oZSxsKXx8aS5yZW1vdmVBdHRyaWJ1dGUoZS5ub2RlTmFtZSl9KSl9LHM9MCxsPW8ubGVuZ3RoO3M8bDtzKyspYShzKTtyZXR1cm4gaS5ib2R5LmlubmVySFRNTH12YXIgVW49InRvb2x0aXAiLFFuPSI0LjYuMCIsem49ImJzLnRvb2x0aXAiLFZuPSIuIit6biwkbj1yLmRlZmF1bHQuZm5bVW5dLFhuPSJicy10b29sdGlwIixZbj1uZXcgUmVnRXhwKCIoXnxcXHMpIitYbisiXFxTKyIsImciKSxLbj1bInNhbml0aXplIiwid2hpdGVMaXN0Iiwic2FuaXRpemVGbiJdLEduPXthbmltYXRpb246ImJvb2xlYW4iLHRlbXBsYXRlOiJzdHJpbmciLHRpdGxlOiIoc3RyaW5nfGVsZW1lbnR8ZnVuY3Rpb24pIix0cmlnZ2VyOiJzdHJpbmciLGRlbGF5OiIobnVtYmVyfG9iamVjdCkiLGh0bWw6ImJvb2xlYW4iLHNlbGVjdG9yOiIoc3RyaW5nfGJvb2xlYW4pIixwbGFjZW1lbnQ6IihzdHJpbmd8ZnVuY3Rpb24pIixvZmZzZXQ6IihudW1iZXJ8c3RyaW5nfGZ1bmN0aW9uKSIsY29udGFpbmVyOiIoc3RyaW5nfGVsZW1lbnR8Ym9vbGVhbikiLGZhbGxiYWNrUGxhY2VtZW50OiIoc3RyaW5nfGFycmF5KSIsYm91bmRhcnk6IihzdHJpbmd8ZWxlbWVudCkiLGN1c3RvbUNsYXNzOiIoc3RyaW5nfGZ1bmN0aW9uKSIsc2FuaXRpemU6ImJvb2xlYW4iLHNhbml0aXplRm46IihudWxsfGZ1bmN0aW9uKSIsd2hpdGVMaXN0OiJvYmplY3QiLHBvcHBlckNvbmZpZzoiKG51bGx8b2JqZWN0KSJ9LEpuPXtBVVRPOiJhdXRvIixUT1A6InRvcCIsUklHSFQ6InJpZ2h0IixCT1RUT006ImJvdHRvbSIsTEVGVDoibGVmdCJ9LFpuPXthbmltYXRpb246ITAsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InRvb2x0aXAiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48ZGl2IGNsYXNzPSJ0b29sdGlwLWlubmVyIj48L2Rpdj48L2Rpdj4nLHRyaWdnZXI6ImhvdmVyIGZvY3VzIix0aXRsZToiIixkZWxheTowLGh0bWw6ITEsc2VsZWN0b3I6ITEscGxhY2VtZW50OiJ0b3AiLG9mZnNldDowLGNvbnRhaW5lcjohMSxmYWxsYmFja1BsYWNlbWVudDoiZmxpcCIsYm91bmRhcnk6InNjcm9sbFBhcmVudCIsY3VzdG9tQ2xhc3M6IiIsc2FuaXRpemU6ITAsc2FuaXRpemVGbjpudWxsLHdoaXRlTGlzdDpIbixwb3BwZXJDb25maWc6bnVsbH0sZWk9InNob3ciLHRpPSJvdXQiLG5pPXtISURFOiJoaWRlIitWbixISURERU46ImhpZGRlbiIrVm4sU0hPVzoic2hvdyIrVm4sU0hPV046InNob3duIitWbixJTlNFUlRFRDoiaW5zZXJ0ZWQiK1ZuLENMSUNLOiJjbGljayIrVm4sRk9DVVNJTjoiZm9jdXNpbiIrVm4sRk9DVVNPVVQ6ImZvY3Vzb3V0IitWbixNT1VTRUVOVEVSOiJtb3VzZWVudGVyIitWbixNT1VTRUxFQVZFOiJtb3VzZWxlYXZlIitWbn0saWk9ImZhZGUiLHJpPSJzaG93IixvaT0iLnRvb2x0aXAtaW5uZXIiLGFpPSIuYXJyb3ciLHNpPSJob3ZlciIsbGk9ImZvY3VzIix1aT0iY2xpY2siLGNpPSJtYW51YWwiLGZpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe2lmKHZvaWQgMD09PW8uZGVmYXVsdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJCb290c3RyYXAncyB0b29sdGlwcyByZXF1aXJlIFBvcHBlciAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKSIpO3RoaXMuX2lzRW5hYmxlZD0hMCx0aGlzLl90aW1lb3V0PTAsdGhpcy5faG92ZXJTdGF0ZT0iIix0aGlzLl9hY3RpdmVUcmlnZ2VyPXt9LHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuZWxlbWVudD1lLHRoaXMuY29uZmlnPXRoaXMuX2dldENvbmZpZyh0KSx0aGlzLnRpcD1udWxsLHRoaXMuX3NldExpc3RlbmVycygpfXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuX2lzRW5hYmxlZD0hMH0sdC5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5faXNFbmFibGVkPSExfSx0LnRvZ2dsZUVuYWJsZWQ9ZnVuY3Rpb24oKXt0aGlzLl9pc0VuYWJsZWQ9IXRoaXMuX2lzRW5hYmxlZH0sdC50b2dnbGU9ZnVuY3Rpb24oZSl7aWYodGhpcy5faXNFbmFibGVkKWlmKGUpe3ZhciB0PXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksbj1yLmRlZmF1bHQoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKHQpO258fChuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGUuY3VycmVudFRhcmdldCx0aGlzLl9nZXREZWxlZ2F0ZUNvbmZpZygpKSxyLmRlZmF1bHQoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKHQsbikpLG4uX2FjdGl2ZVRyaWdnZXIuY2xpY2s9IW4uX2FjdGl2ZVRyaWdnZXIuY2xpY2ssbi5faXNXaXRoQWN0aXZlVHJpZ2dlcigpP24uX2VudGVyKG51bGwsbik6bi5fbGVhdmUobnVsbCxuKX1lbHNle2lmKHIuZGVmYXVsdCh0aGlzLmdldFRpcEVsZW1lbnQoKSkuaGFzQ2xhc3MocmkpKXJldHVybiB2b2lkIHRoaXMuX2xlYXZlKG51bGwsdGhpcyk7dGhpcy5fZW50ZXIobnVsbCx0aGlzKX19LHQuZGlzcG9zZT1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSxyLmRlZmF1bHQucmVtb3ZlRGF0YSh0aGlzLmVsZW1lbnQsdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSksci5kZWZhdWx0KHRoaXMuZWxlbWVudCkub2ZmKHRoaXMuY29uc3RydWN0b3IuRVZFTlRfS0VZKSxyLmRlZmF1bHQodGhpcy5lbGVtZW50KS5jbG9zZXN0KCIubW9kYWwiKS5vZmYoImhpZGUuYnMubW9kYWwiLHRoaXMuX2hpZGVNb2RhbEhhbmRsZXIpLHRoaXMudGlwJiZyLmRlZmF1bHQodGhpcy50aXApLnJlbW92ZSgpLHRoaXMuX2lzRW5hYmxlZD1udWxsLHRoaXMuX3RpbWVvdXQ9bnVsbCx0aGlzLl9ob3ZlclN0YXRlPW51bGwsdGhpcy5fYWN0aXZlVHJpZ2dlcj1udWxsLHRoaXMuX3BvcHBlciYmdGhpcy5fcG9wcGVyLmRlc3Ryb3koKSx0aGlzLl9wb3BwZXI9bnVsbCx0aGlzLmVsZW1lbnQ9bnVsbCx0aGlzLmNvbmZpZz1udWxsLHRoaXMudGlwPW51bGx9LHQuc2hvdz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIm5vbmUiPT09ci5kZWZhdWx0KHRoaXMuZWxlbWVudCkuY3NzKCJkaXNwbGF5IikpdGhyb3cgbmV3IEVycm9yKCJQbGVhc2UgdXNlIHNob3cgb24gdmlzaWJsZSBlbGVtZW50cyIpO3ZhciB0PXIuZGVmYXVsdC5FdmVudCh0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LlNIT1cpO2lmKHRoaXMuaXNXaXRoQ29udGVudCgpJiZ0aGlzLl9pc0VuYWJsZWQpe3IuZGVmYXVsdCh0aGlzLmVsZW1lbnQpLnRyaWdnZXIodCk7dmFyIG49di5maW5kU2hhZG93Um9vdCh0aGlzLmVsZW1lbnQpLGk9ci5kZWZhdWx0LmNvbnRhaW5zKG51bGwhPT1uP246dGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuZWxlbWVudCk7aWYodC5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8IWkpcmV0dXJuO3ZhciBhPXRoaXMuZ2V0VGlwRWxlbWVudCgpLHM9di5nZXRVSUQodGhpcy5jb25zdHJ1Y3Rvci5OQU1FKTthLnNldEF0dHJpYnV0ZSgiaWQiLHMpLHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiLHMpLHRoaXMuc2V0Q29udGVudCgpLHRoaXMuY29uZmlnLmFuaW1hdGlvbiYmci5kZWZhdWx0KGEpLmFkZENsYXNzKGlpKTt2YXIgbD0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcucGxhY2VtZW50P3RoaXMuY29uZmlnLnBsYWNlbWVudC5jYWxsKHRoaXMsYSx0aGlzLmVsZW1lbnQpOnRoaXMuY29uZmlnLnBsYWNlbWVudCx1PXRoaXMuX2dldEF0dGFjaG1lbnQobCk7dGhpcy5hZGRBdHRhY2htZW50Q2xhc3ModSk7dmFyIGM9dGhpcy5fZ2V0Q29udGFpbmVyKCk7ci5kZWZhdWx0KGEpLmRhdGEodGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSx0aGlzKSxyLmRlZmF1bHQuY29udGFpbnModGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMudGlwKXx8ci5kZWZhdWx0KGEpLmFwcGVuZFRvKGMpLHIuZGVmYXVsdCh0aGlzLmVsZW1lbnQpLnRyaWdnZXIodGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5JTlNFUlRFRCksdGhpcy5fcG9wcGVyPW5ldyBvLmRlZmF1bHQodGhpcy5lbGVtZW50LGEsdGhpcy5fZ2V0UG9wcGVyQ29uZmlnKHUpKSxyLmRlZmF1bHQoYSkuYWRkQ2xhc3MocmkpLHIuZGVmYXVsdChhKS5hZGRDbGFzcyh0aGlzLmNvbmZpZy5jdXN0b21DbGFzcyksIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJnIuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigpLm9uKCJtb3VzZW92ZXIiLG51bGwsci5kZWZhdWx0Lm5vb3ApO3ZhciBmPWZ1bmN0aW9uKCl7ZS5jb25maWcuYW5pbWF0aW9uJiZlLl9maXhUcmFuc2l0aW9uKCk7dmFyIHQ9ZS5faG92ZXJTdGF0ZTtlLl9ob3ZlclN0YXRlPW51bGwsci5kZWZhdWx0KGUuZWxlbWVudCkudHJpZ2dlcihlLmNvbnN0cnVjdG9yLkV2ZW50LlNIT1dOKSx0PT09dGkmJmUuX2xlYXZlKG51bGwsZSl9O2lmKHIuZGVmYXVsdCh0aGlzLnRpcCkuaGFzQ2xhc3MoaWkpKXt2YXIgZD12LmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMudGlwKTtyLmRlZmF1bHQodGhpcy50aXApLm9uZSh2LlRSQU5TSVRJT05fRU5ELGYpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGQpfWVsc2UgZigpfX0sdC5oaWRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10aGlzLmdldFRpcEVsZW1lbnQoKSxpPXIuZGVmYXVsdC5FdmVudCh0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LkhJREUpLG89ZnVuY3Rpb24oKXt0Ll9ob3ZlclN0YXRlIT09ZWkmJm4ucGFyZW50Tm9kZSYmbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pLHQuX2NsZWFuVGlwQ2xhc3MoKSx0LmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5Iiksci5kZWZhdWx0KHQuZWxlbWVudCkudHJpZ2dlcih0LmNvbnN0cnVjdG9yLkV2ZW50LkhJRERFTiksbnVsbCE9PXQuX3BvcHBlciYmdC5fcG9wcGVyLmRlc3Ryb3koKSxlJiZlKCl9O2lmKHIuZGVmYXVsdCh0aGlzLmVsZW1lbnQpLnRyaWdnZXIoaSksIWkuaXNEZWZhdWx0UHJldmVudGVkKCkpe2lmKHIuZGVmYXVsdChuKS5yZW1vdmVDbGFzcyhyaSksIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJnIuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigpLm9mZigibW91c2VvdmVyIixudWxsLHIuZGVmYXVsdC5ub29wKSx0aGlzLl9hY3RpdmVUcmlnZ2VyW3VpXT0hMSx0aGlzLl9hY3RpdmVUcmlnZ2VyW2xpXT0hMSx0aGlzLl9hY3RpdmVUcmlnZ2VyW3NpXT0hMSxyLmRlZmF1bHQodGhpcy50aXApLmhhc0NsYXNzKGlpKSl7dmFyIGE9di5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChuKTtyLmRlZmF1bHQobikub25lKHYuVFJBTlNJVElPTl9FTkQsbykuZW11bGF0ZVRyYW5zaXRpb25FbmQoYSl9ZWxzZSBvKCk7dGhpcy5faG92ZXJTdGF0ZT0iIn19LHQudXBkYXRlPWZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3BvcHBlciYmdGhpcy5fcG9wcGVyLnNjaGVkdWxlVXBkYXRlKCl9LHQuaXNXaXRoQ29udGVudD1mdW5jdGlvbigpe3JldHVybiBCb29sZWFuKHRoaXMuZ2V0VGl0bGUoKSl9LHQuYWRkQXR0YWNobWVudENsYXNzPWZ1bmN0aW9uKGUpe3IuZGVmYXVsdCh0aGlzLmdldFRpcEVsZW1lbnQoKSkuYWRkQ2xhc3MoWG4rIi0iK2UpfSx0LmdldFRpcEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aXA9dGhpcy50aXB8fHIuZGVmYXVsdCh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF0sdGhpcy50aXB9LHQuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0VGlwRWxlbWVudCgpO3RoaXMuc2V0RWxlbWVudENvbnRlbnQoci5kZWZhdWx0KGUucXVlcnlTZWxlY3RvckFsbChvaSkpLHRoaXMuZ2V0VGl0bGUoKSksci5kZWZhdWx0KGUpLnJlbW92ZUNsYXNzKGlpKyIgIityaSl9LHQuc2V0RWxlbWVudENvbnRlbnQ9ZnVuY3Rpb24oZSx0KXsib2JqZWN0IiE9dHlwZW9mIHR8fCF0Lm5vZGVUeXBlJiYhdC5qcXVlcnk/dGhpcy5jb25maWcuaHRtbD8odGhpcy5jb25maWcuc2FuaXRpemUmJih0PVduKHQsdGhpcy5jb25maWcud2hpdGVMaXN0LHRoaXMuY29uZmlnLnNhbml0aXplRm4pKSxlLmh0bWwodCkpOmUudGV4dCh0KTp0aGlzLmNvbmZpZy5odG1sP3IuZGVmYXVsdCh0KS5wYXJlbnQoKS5pcyhlKXx8ZS5lbXB0eSgpLmFwcGVuZCh0KTplLnRleHQoci5kZWZhdWx0KHQpLnRleHQoKSl9LHQuZ2V0VGl0bGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLW9yaWdpbmFsLXRpdGxlIik7cmV0dXJuIGV8fChlPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmNvbmZpZy50aXRsZT90aGlzLmNvbmZpZy50aXRsZS5jYWxsKHRoaXMuZWxlbWVudCk6dGhpcy5jb25maWcudGl0bGUpLGV9LHQuX2dldFBvcHBlckNvbmZpZz1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiBsKHt9LHtwbGFjZW1lbnQ6ZSxtb2RpZmllcnM6e29mZnNldDp0aGlzLl9nZXRPZmZzZXQoKSxmbGlwOntiZWhhdmlvcjp0aGlzLmNvbmZpZy5mYWxsYmFja1BsYWNlbWVudH0sYXJyb3c6e2VsZW1lbnQ6YWl9LHByZXZlbnRPdmVyZmxvdzp7Ym91bmRhcmllc0VsZW1lbnQ6dGhpcy5jb25maWcuYm91bmRhcnl9fSxvbkNyZWF0ZTpmdW5jdGlvbihlKXtlLm9yaWdpbmFsUGxhY2VtZW50IT09ZS5wbGFjZW1lbnQmJnQuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZShlKX0sb25VcGRhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZShlKX19LHRoaXMuY29uZmlnLnBvcHBlckNvbmZpZyl9LHQuX2dldE9mZnNldD1mdW5jdGlvbigpe3ZhciBlPXRoaXMsdD17fTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcub2Zmc2V0P3QuZm49ZnVuY3Rpb24odCl7cmV0dXJuIHQub2Zmc2V0cz1sKHt9LHQub2Zmc2V0cyxlLmNvbmZpZy5vZmZzZXQodC5vZmZzZXRzLGUuZWxlbWVudCl8fHt9KSx0fTp0Lm9mZnNldD10aGlzLmNvbmZpZy5vZmZzZXQsdH0sdC5fZ2V0Q29udGFpbmVyPWZ1bmN0aW9uKCl7cmV0dXJuITE9PT10aGlzLmNvbmZpZy5jb250YWluZXI/ZG9jdW1lbnQuYm9keTp2LmlzRWxlbWVudCh0aGlzLmNvbmZpZy5jb250YWluZXIpP3IuZGVmYXVsdCh0aGlzLmNvbmZpZy5jb250YWluZXIpOnIuZGVmYXVsdChkb2N1bWVudCkuZmluZCh0aGlzLmNvbmZpZy5jb250YWluZXIpfSx0Ll9nZXRBdHRhY2htZW50PWZ1bmN0aW9uKGUpe3JldHVybiBKbltlLnRvVXBwZXJDYXNlKCldfSx0Ll9zZXRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuY29uZmlnLnRyaWdnZXIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbih0KXtpZigiY2xpY2siPT09dClyLmRlZmF1bHQoZS5lbGVtZW50KS5vbihlLmNvbnN0cnVjdG9yLkV2ZW50LkNMSUNLLGUuY29uZmlnLnNlbGVjdG9yLChmdW5jdGlvbih0KXtyZXR1cm4gZS50b2dnbGUodCl9KSk7ZWxzZSBpZih0IT09Y2kpe3ZhciBuPXQ9PT1zaT9lLmNvbnN0cnVjdG9yLkV2ZW50Lk1PVVNFRU5URVI6ZS5jb25zdHJ1Y3Rvci5FdmVudC5GT0NVU0lOLGk9dD09PXNpP2UuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VMRUFWRTplLmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTT1VUO3IuZGVmYXVsdChlLmVsZW1lbnQpLm9uKG4sZS5jb25maWcuc2VsZWN0b3IsKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9lbnRlcih0KX0pKS5vbihpLGUuY29uZmlnLnNlbGVjdG9yLChmdW5jdGlvbih0KXtyZXR1cm4gZS5fbGVhdmUodCl9KSl9fSkpLHRoaXMuX2hpZGVNb2RhbEhhbmRsZXI9ZnVuY3Rpb24oKXtlLmVsZW1lbnQmJmUuaGlkZSgpfSxyLmRlZmF1bHQodGhpcy5lbGVtZW50KS5jbG9zZXN0KCIubW9kYWwiKS5vbigiaGlkZS5icy5tb2RhbCIsdGhpcy5faGlkZU1vZGFsSGFuZGxlciksdGhpcy5jb25maWcuc2VsZWN0b3I/dGhpcy5jb25maWc9bCh7fSx0aGlzLmNvbmZpZyx7dHJpZ2dlcjoibWFudWFsIixzZWxlY3RvcjoiIn0pOnRoaXMuX2ZpeFRpdGxlKCl9LHQuX2ZpeFRpdGxlPWZ1bmN0aW9uKCl7dmFyIGU9dHlwZW9mIHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiKTsodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgidGl0bGUiKXx8InN0cmluZyIhPT1lKSYmKHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiLHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoInRpdGxlIil8fCIiKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIiIpKX0sdC5fZW50ZXI9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOyh0PXR8fHIuZGVmYXVsdChlLmN1cnJlbnRUYXJnZXQpLmRhdGEobikpfHwodD1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksci5kZWZhdWx0KGUuY3VycmVudFRhcmdldCkuZGF0YShuLHQpKSxlJiYodC5fYWN0aXZlVHJpZ2dlclsiZm9jdXNpbiI9PT1lLnR5cGU/bGk6c2ldPSEwKSxyLmRlZmF1bHQodC5nZXRUaXBFbGVtZW50KCkpLmhhc0NsYXNzKHJpKXx8dC5faG92ZXJTdGF0ZT09PWVpP3QuX2hvdmVyU3RhdGU9ZWk6KGNsZWFyVGltZW91dCh0Ll90aW1lb3V0KSx0Ll9ob3ZlclN0YXRlPWVpLHQuY29uZmlnLmRlbGF5JiZ0LmNvbmZpZy5kZWxheS5zaG93P3QuX3RpbWVvdXQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0Ll9ob3ZlclN0YXRlPT09ZWkmJnQuc2hvdygpfSksdC5jb25maWcuZGVsYXkuc2hvdyk6dC5zaG93KCkpfSx0Ll9sZWF2ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVk7KHQ9dHx8ci5kZWZhdWx0KGUuY3VycmVudFRhcmdldCkuZGF0YShuKSl8fCh0PW5ldyB0aGlzLmNvbnN0cnVjdG9yKGUuY3VycmVudFRhcmdldCx0aGlzLl9nZXREZWxlZ2F0ZUNvbmZpZygpKSxyLmRlZmF1bHQoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKG4sdCkpLGUmJih0Ll9hY3RpdmVUcmlnZ2VyWyJmb2N1c291dCI9PT1lLnR5cGU/bGk6c2ldPSExKSx0Ll9pc1dpdGhBY3RpdmVUcmlnZ2VyKCl8fChjbGVhclRpbWVvdXQodC5fdGltZW91dCksdC5faG92ZXJTdGF0ZT10aSx0LmNvbmZpZy5kZWxheSYmdC5jb25maWcuZGVsYXkuaGlkZT90Ll90aW1lb3V0PXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5faG92ZXJTdGF0ZT09PXRpJiZ0LmhpZGUoKX0pLHQuY29uZmlnLmRlbGF5LmhpZGUpOnQuaGlkZSgpKX0sdC5faXNXaXRoQWN0aXZlVHJpZ2dlcj1mdW5jdGlvbigpe2Zvcih2YXIgZSBpbiB0aGlzLl9hY3RpdmVUcmlnZ2VyKWlmKHRoaXMuX2FjdGl2ZVRyaWdnZXJbZV0pcmV0dXJuITA7cmV0dXJuITF9LHQuX2dldENvbmZpZz1mdW5jdGlvbihlKXt2YXIgdD1yLmRlZmF1bHQodGhpcy5lbGVtZW50KS5kYXRhKCk7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKGUpey0xIT09S24uaW5kZXhPZihlKSYmZGVsZXRlIHRbZV19KSksIm51bWJlciI9PXR5cGVvZihlPWwoe30sdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LHQsIm9iamVjdCI9PXR5cGVvZiBlJiZlP2U6e30pKS5kZWxheSYmKGUuZGVsYXk9e3Nob3c6ZS5kZWxheSxoaWRlOmUuZGVsYXl9KSwibnVtYmVyIj09dHlwZW9mIGUudGl0bGUmJihlLnRpdGxlPWUudGl0bGUudG9TdHJpbmcoKSksIm51bWJlciI9PXR5cGVvZiBlLmNvbnRlbnQmJihlLmNvbnRlbnQ9ZS5jb250ZW50LnRvU3RyaW5nKCkpLHYudHlwZUNoZWNrQ29uZmlnKFVuLGUsdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSksZS5zYW5pdGl6ZSYmKGUudGVtcGxhdGU9V24oZS50ZW1wbGF0ZSxlLndoaXRlTGlzdCxlLnNhbml0aXplRm4pKSxlfSx0Ll9nZXREZWxlZ2F0ZUNvbmZpZz1mdW5jdGlvbigpe3ZhciBlPXt9O2lmKHRoaXMuY29uZmlnKWZvcih2YXIgdCBpbiB0aGlzLmNvbmZpZyl0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRbdF0hPT10aGlzLmNvbmZpZ1t0XSYmKGVbdF09dGhpcy5jb25maWdbdF0pO3JldHVybiBlfSx0Ll9jbGVhblRpcENsYXNzPWZ1bmN0aW9uKCl7dmFyIGU9ci5kZWZhdWx0KHRoaXMuZ2V0VGlwRWxlbWVudCgpKSx0PWUuYXR0cigiY2xhc3MiKS5tYXRjaChZbik7bnVsbCE9PXQmJnQubGVuZ3RoJiZlLnJlbW92ZUNsYXNzKHQuam9pbigiIikpfSx0Ll9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2U9ZnVuY3Rpb24oZSl7dGhpcy50aXA9ZS5pbnN0YW5jZS5wb3BwZXIsdGhpcy5fY2xlYW5UaXBDbGFzcygpLHRoaXMuYWRkQXR0YWNobWVudENsYXNzKHRoaXMuX2dldEF0dGFjaG1lbnQoZS5wbGFjZW1lbnQpKX0sdC5fZml4VHJhbnNpdGlvbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0VGlwRWxlbWVudCgpLHQ9dGhpcy5jb25maWcuYW5pbWF0aW9uO251bGw9PT1lLmdldEF0dHJpYnV0ZSgieC1wbGFjZW1lbnQiKSYmKHIuZGVmYXVsdChlKS5yZW1vdmVDbGFzcyhpaSksdGhpcy5jb25maWcuYW5pbWF0aW9uPSExLHRoaXMuaGlkZSgpLHRoaXMuc2hvdygpLHRoaXMuY29uZmlnLmFuaW1hdGlvbj10KX0sZS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49ci5kZWZhdWx0KHRoaXMpLGk9bi5kYXRhKHpuKSxvPSJvYmplY3QiPT10eXBlb2YgdCYmdDtpZigoaXx8IS9kaXNwb3NlfGhpZGUvLnRlc3QodCkpJiYoaXx8KGk9bmV3IGUodGhpcyxvKSxuLmRhdGEoem4saSkpLCJzdHJpbmciPT10eXBlb2YgdCkpe2lmKHZvaWQgMD09PWlbdF0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK3QrJyInKTtpW3RdKCl9fSkpfSxzKGUsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFFufX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFpufX0se2tleToiTkFNRSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFVufX0se2tleToiREFUQV9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiB6bn19LHtrZXk6IkV2ZW50IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbml9fSx7a2V5OiJFVkVOVF9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiBWbn19LHtrZXk6IkRlZmF1bHRUeXBlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gR259fV0pLGV9KCk7ci5kZWZhdWx0LmZuW1VuXT1maS5falF1ZXJ5SW50ZXJmYWNlLHIuZGVmYXVsdC5mbltVbl0uQ29uc3RydWN0b3I9Zmksci5kZWZhdWx0LmZuW1VuXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHIuZGVmYXVsdC5mbltVbl09JG4sZmkuX2pRdWVyeUludGVyZmFjZX07dmFyIGRpPSJwb3BvdmVyIixoaT0iNC42LjAiLHBpPSJicy5wb3BvdmVyIixnaT0iLiIrcGksbWk9ci5kZWZhdWx0LmZuW2RpXSx2aT0iYnMtcG9wb3ZlciIseWk9bmV3IFJlZ0V4cCgiKF58XFxzKSIrdmkrIlxcUysiLCJnIiksX2k9bCh7fSxmaS5EZWZhdWx0LHtwbGFjZW1lbnQ6InJpZ2h0Iix0cmlnZ2VyOiJjbGljayIsY29udGVudDoiIix0ZW1wbGF0ZTonPGRpdiBjbGFzcz0icG9wb3ZlciIgcm9sZT0idG9vbHRpcCI+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjxoMyBjbGFzcz0icG9wb3Zlci1oZWFkZXIiPjwvaDM+PGRpdiBjbGFzcz0icG9wb3Zlci1ib2R5Ij48L2Rpdj48L2Rpdj4nfSksYmk9bCh7fSxmaS5EZWZhdWx0VHlwZSx7Y29udGVudDoiKHN0cmluZ3xlbGVtZW50fGZ1bmN0aW9uKSJ9KSx3aT0iZmFkZSIsRWk9InNob3ciLFRpPSIucG9wb3Zlci1oZWFkZXIiLENpPSIucG9wb3Zlci1ib2R5Iix4aT17SElERToiaGlkZSIrZ2ksSElEREVOOiJoaWRkZW4iK2dpLFNIT1c6InNob3ciK2dpLFNIT1dOOiJzaG93biIrZ2ksSU5TRVJURUQ6Imluc2VydGVkIitnaSxDTElDSzoiY2xpY2siK2dpLEZPQ1VTSU46ImZvY3VzaW4iK2dpLEZPQ1VTT1VUOiJmb2N1c291dCIrZ2ksTU9VU0VFTlRFUjoibW91c2VlbnRlciIrZ2ksTU9VU0VMRUFWRToibW91c2VsZWF2ZSIrZ2l9LFNpPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9dSh0LGUpO3ZhciBuPXQucHJvdG90eXBlO3JldHVybiBuLmlzV2l0aENvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLl9nZXRDb250ZW50KCl9LG4uYWRkQXR0YWNobWVudENsYXNzPWZ1bmN0aW9uKGUpe3IuZGVmYXVsdCh0aGlzLmdldFRpcEVsZW1lbnQoKSkuYWRkQ2xhc3ModmkrIi0iK2UpfSxuLmdldFRpcEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aXA9dGhpcy50aXB8fHIuZGVmYXVsdCh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF0sdGhpcy50aXB9LG4uc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBlPXIuZGVmYXVsdCh0aGlzLmdldFRpcEVsZW1lbnQoKSk7dGhpcy5zZXRFbGVtZW50Q29udGVudChlLmZpbmQoVGkpLHRoaXMuZ2V0VGl0bGUoKSk7dmFyIHQ9dGhpcy5fZ2V0Q29udGVudCgpOyJmdW5jdGlvbiI9PXR5cGVvZiB0JiYodD10LmNhbGwodGhpcy5lbGVtZW50KSksdGhpcy5zZXRFbGVtZW50Q29udGVudChlLmZpbmQoQ2kpLHQpLGUucmVtb3ZlQ2xhc3Mod2krIiAiK0VpKX0sbi5fZ2V0Q29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbnRlbnQiKXx8dGhpcy5jb25maWcuY29udGVudH0sbi5fY2xlYW5UaXBDbGFzcz1mdW5jdGlvbigpe3ZhciBlPXIuZGVmYXVsdCh0aGlzLmdldFRpcEVsZW1lbnQoKSksdD1lLmF0dHIoImNsYXNzIikubWF0Y2goeWkpO251bGwhPT10JiZ0Lmxlbmd0aD4wJiZlLnJlbW92ZUNsYXNzKHQuam9pbigiIikpfSx0Ll9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt2YXIgbj1yLmRlZmF1bHQodGhpcykuZGF0YShwaSksaT0ib2JqZWN0Ij09dHlwZW9mIGU/ZTpudWxsO2lmKChufHwhL2Rpc3Bvc2V8aGlkZS8udGVzdChlKSkmJihufHwobj1uZXcgdCh0aGlzLGkpLHIuZGVmYXVsdCh0aGlzKS5kYXRhKHBpLG4pKSwic3RyaW5nIj09dHlwZW9mIGUpKXtpZih2b2lkIDA9PT1uW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytlKyciJyk7bltlXSgpfX0pKX0scyh0LG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiBoaX19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBfaX19LHtrZXk6Ik5BTUUiLGdldDpmdW5jdGlvbigpe3JldHVybiBkaX19LHtrZXk6IkRBVEFfS0VZIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcGl9fSx7a2V5OiJFdmVudCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHhpfX0se2tleToiRVZFTlRfS0VZIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZ2l9fSx7a2V5OiJEZWZhdWx0VHlwZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJpfX1dKSx0fShmaSk7ci5kZWZhdWx0LmZuW2RpXT1TaS5falF1ZXJ5SW50ZXJmYWNlLHIuZGVmYXVsdC5mbltkaV0uQ29uc3RydWN0b3I9U2ksci5kZWZhdWx0LmZuW2RpXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHIuZGVmYXVsdC5mbltkaV09bWksU2kuX2pRdWVyeUludGVyZmFjZX07dmFyIE5pPSJzY3JvbGxzcHkiLERpPSI0LjYuMCIsQWk9ImJzLnNjcm9sbHNweSIsa2k9Ii4iK0FpLE9pPSIuZGF0YS1hcGkiLElpPXIuZGVmYXVsdC5mbltOaV0sTGk9e29mZnNldDoxMCxtZXRob2Q6ImF1dG8iLHRhcmdldDoiIn0samk9e29mZnNldDoibnVtYmVyIixtZXRob2Q6InN0cmluZyIsdGFyZ2V0OiIoc3RyaW5nfGVsZW1lbnQpIn0sUGk9ImFjdGl2YXRlIitraSxSaT0ic2Nyb2xsIitraSxxaT0ibG9hZCIra2krT2ksSGk9ImRyb3Bkb3duLWl0ZW0iLEZpPSJhY3RpdmUiLEJpPSdbZGF0YS1zcHk9InNjcm9sbCJdJyxNaT0iLm5hdiwgLmxpc3QtZ3JvdXAiLFdpPSIubmF2LWxpbmsiLFVpPSIubmF2LWl0ZW0iLFFpPSIubGlzdC1ncm91cC1pdGVtIix6aT0iLmRyb3Bkb3duIixWaT0iLmRyb3Bkb3duLWl0ZW0iLCRpPSIuZHJvcGRvd24tdG9nZ2xlIixYaT0ib2Zmc2V0IixZaT0icG9zaXRpb24iLEtpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe3ZhciBuPXRoaXM7dGhpcy5fZWxlbWVudD1lLHRoaXMuX3Njcm9sbEVsZW1lbnQ9IkJPRFkiPT09ZS50YWdOYW1lP3dpbmRvdzplLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcodCksdGhpcy5fc2VsZWN0b3I9dGhpcy5fY29uZmlnLnRhcmdldCsiICIrV2krIiwiK3RoaXMuX2NvbmZpZy50YXJnZXQrIiAiK1FpKyIsIit0aGlzLl9jb25maWcudGFyZ2V0KyIgIitWaSx0aGlzLl9vZmZzZXRzPVtdLHRoaXMuX3RhcmdldHM9W10sdGhpcy5fYWN0aXZlVGFyZ2V0PW51bGwsdGhpcy5fc2Nyb2xsSGVpZ2h0PTAsci5kZWZhdWx0KHRoaXMuX3Njcm9sbEVsZW1lbnQpLm9uKFJpLChmdW5jdGlvbihlKXtyZXR1cm4gbi5fcHJvY2VzcyhlKX0pKSx0aGlzLnJlZnJlc2goKSx0aGlzLl9wcm9jZXNzKCl9dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQucmVmcmVzaD1mdW5jdGlvbigpe3ZhciBlPXRoaXMsdD10aGlzLl9zY3JvbGxFbGVtZW50PT09dGhpcy5fc2Nyb2xsRWxlbWVudC53aW5kb3c/WGk6WWksbj0iYXV0byI9PT10aGlzLl9jb25maWcubWV0aG9kP3Q6dGhpcy5fY29uZmlnLm1ldGhvZCxpPW49PT1ZaT90aGlzLl9nZXRTY3JvbGxUb3AoKTowO3RoaXMuX29mZnNldHM9W10sdGhpcy5fdGFyZ2V0cz1bXSx0aGlzLl9zY3JvbGxIZWlnaHQ9dGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KCksW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMuX3NlbGVjdG9yKSkubWFwKChmdW5jdGlvbihlKXt2YXIgdCxvPXYuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChlKTtpZihvJiYodD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKG8pKSx0KXt2YXIgYT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGEud2lkdGh8fGEuaGVpZ2h0KXJldHVybltyLmRlZmF1bHQodClbbl0oKS50b3AraSxvXX1yZXR1cm4gbnVsbH0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpLnNvcnQoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGVbMF0tdFswXX0pKS5mb3JFYWNoKChmdW5jdGlvbih0KXtlLl9vZmZzZXRzLnB1c2godFswXSksZS5fdGFyZ2V0cy5wdXNoKHRbMV0pfSkpfSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtyLmRlZmF1bHQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LEFpKSxyLmRlZmF1bHQodGhpcy5fc2Nyb2xsRWxlbWVudCkub2ZmKGtpKSx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fc2Nyb2xsRWxlbWVudD1udWxsLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX3NlbGVjdG9yPW51bGwsdGhpcy5fb2Zmc2V0cz1udWxsLHRoaXMuX3RhcmdldHM9bnVsbCx0aGlzLl9hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLl9zY3JvbGxIZWlnaHQ9bnVsbH0sdC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YoZT1sKHt9LExpLCJvYmplY3QiPT10eXBlb2YgZSYmZT9lOnt9KSkudGFyZ2V0JiZ2LmlzRWxlbWVudChlLnRhcmdldCkpe3ZhciB0PXIuZGVmYXVsdChlLnRhcmdldCkuYXR0cigiaWQiKTt0fHwodD12LmdldFVJRChOaSksci5kZWZhdWx0KGUudGFyZ2V0KS5hdHRyKCJpZCIsdCkpLGUudGFyZ2V0PSIjIit0fXJldHVybiB2LnR5cGVDaGVja0NvbmZpZyhOaSxlLGppKSxlfSx0Ll9nZXRTY3JvbGxUb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz90aGlzLl9zY3JvbGxFbGVtZW50LnBhZ2VZT2Zmc2V0OnRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsVG9wfSx0Ll9nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSx0Ll9nZXRPZmZzZXRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz93aW5kb3cuaW5uZXJIZWlnaHQ6dGhpcy5fc2Nyb2xsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9LHQuX3Byb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9nZXRTY3JvbGxUb3AoKSt0aGlzLl9jb25maWcub2Zmc2V0LHQ9dGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KCksbj10aGlzLl9jb25maWcub2Zmc2V0K3QtdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KCk7aWYodGhpcy5fc2Nyb2xsSGVpZ2h0IT09dCYmdGhpcy5yZWZyZXNoKCksZT49bil7dmFyIGk9dGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aC0xXTt0aGlzLl9hY3RpdmVUYXJnZXQhPT1pJiZ0aGlzLl9hY3RpdmF0ZShpKX1lbHNle2lmKHRoaXMuX2FjdGl2ZVRhcmdldCYmZTx0aGlzLl9vZmZzZXRzWzBdJiZ0aGlzLl9vZmZzZXRzWzBdPjApcmV0dXJuIHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHZvaWQgdGhpcy5fY2xlYXIoKTtmb3IodmFyIHI9dGhpcy5fb2Zmc2V0cy5sZW5ndGg7ci0tOyl0aGlzLl9hY3RpdmVUYXJnZXQhPT10aGlzLl90YXJnZXRzW3JdJiZlPj10aGlzLl9vZmZzZXRzW3JdJiYodm9pZCAwPT09dGhpcy5fb2Zmc2V0c1tyKzFdfHxlPHRoaXMuX29mZnNldHNbcisxXSkmJnRoaXMuX2FjdGl2YXRlKHRoaXMuX3RhcmdldHNbcl0pfX0sdC5fYWN0aXZhdGU9ZnVuY3Rpb24oZSl7dGhpcy5fYWN0aXZlVGFyZ2V0PWUsdGhpcy5fY2xlYXIoKTt2YXIgdD10aGlzLl9zZWxlY3Rvci5zcGxpdCgiLCIpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQrJ1tkYXRhLXRhcmdldD0iJytlKyciXSwnK3QrJ1tocmVmPSInK2UrJyJdJ30pKSxuPXIuZGVmYXVsdChbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodC5qb2luKCIsIikpKSk7bi5oYXNDbGFzcyhIaSk/KG4uY2xvc2VzdCh6aSkuZmluZCgkaSkuYWRkQ2xhc3MoRmkpLG4uYWRkQ2xhc3MoRmkpKToobi5hZGRDbGFzcyhGaSksbi5wYXJlbnRzKE1pKS5wcmV2KFdpKyIsICIrUWkpLmFkZENsYXNzKEZpKSxuLnBhcmVudHMoTWkpLnByZXYoVWkpLmNoaWxkcmVuKFdpKS5hZGRDbGFzcyhGaSkpLHIuZGVmYXVsdCh0aGlzLl9zY3JvbGxFbGVtZW50KS50cmlnZ2VyKFBpLHtyZWxhdGVkVGFyZ2V0OmV9KX0sdC5fY2xlYXI9ZnVuY3Rpb24oKXtbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5fc2VsZWN0b3IpKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNsYXNzTGlzdC5jb250YWlucyhGaSl9KSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2xhc3NMaXN0LnJlbW92ZShGaSl9KSl9LGUuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXIuZGVmYXVsdCh0aGlzKS5kYXRhKEFpKTtpZihufHwobj1uZXcgZSh0aGlzLCJvYmplY3QiPT10eXBlb2YgdCYmdCksci5kZWZhdWx0KHRoaXMpLmRhdGEoQWksbikpLCJzdHJpbmciPT10eXBlb2YgdCl7aWYodm9pZCAwPT09blt0XSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrdCsnIicpO25bdF0oKX19KSl9LHMoZSxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRGl9fSx7a2V5OiJEZWZhdWx0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTGl9fV0pLGV9KCk7ci5kZWZhdWx0KHdpbmRvdykub24ocWksKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChCaSkpLHQ9ZS5sZW5ndGg7dC0tOyl7dmFyIG49ci5kZWZhdWx0KGVbdF0pO0tpLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChuLG4uZGF0YSgpKX19KSksci5kZWZhdWx0LmZuW05pXT1LaS5falF1ZXJ5SW50ZXJmYWNlLHIuZGVmYXVsdC5mbltOaV0uQ29uc3RydWN0b3I9S2ksci5kZWZhdWx0LmZuW05pXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHIuZGVmYXVsdC5mbltOaV09SWksS2kuX2pRdWVyeUludGVyZmFjZX07dmFyIEdpPSJ0YWIiLEppPSI0LjYuMCIsWmk9ImJzLnRhYiIsZXI9Ii4iK1ppLHRyPSIuZGF0YS1hcGkiLG5yPXIuZGVmYXVsdC5mbltHaV0saXI9ImhpZGUiK2VyLHJyPSJoaWRkZW4iK2VyLG9yPSJzaG93Iitlcixhcj0ic2hvd24iK2VyLHNyPSJjbGljayIrZXIrdHIsbHI9ImRyb3Bkb3duLW1lbnUiLHVyPSJhY3RpdmUiLGNyPSJkaXNhYmxlZCIsZnI9ImZhZGUiLGRyPSJzaG93Iixocj0iLmRyb3Bkb3duIixwcj0iLm5hdiwgLmxpc3QtZ3JvdXAiLGdyPSIuYWN0aXZlIixtcj0iPiBsaSA+IC5hY3RpdmUiLHZyPSdbZGF0YS10b2dnbGU9InRhYiJdLCBbZGF0YS10b2dnbGU9InBpbGwiXSwgW2RhdGEtdG9nZ2xlPSJsaXN0Il0nLHlyPSIuZHJvcGRvd24tdG9nZ2xlIixfcj0iPiAuZHJvcGRvd24tbWVudSAuYWN0aXZlIixicj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dGhpcy5fZWxlbWVudD1lfXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LnNob3c9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKCEodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiZ0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKHVyKXx8ci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGNyKSkpe3ZhciB0LG4saT1yLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuY2xvc2VzdChwcilbMF0sbz12LmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7aWYoaSl7dmFyIGE9IlVMIj09PWkubm9kZU5hbWV8fCJPTCI9PT1pLm5vZGVOYW1lP21yOmdyO249KG49ci5kZWZhdWx0Lm1ha2VBcnJheShyLmRlZmF1bHQoaSkuZmluZChhKSkpW24ubGVuZ3RoLTFdfXZhciBzPXIuZGVmYXVsdC5FdmVudChpcix7cmVsYXRlZFRhcmdldDp0aGlzLl9lbGVtZW50fSksbD1yLmRlZmF1bHQuRXZlbnQob3Ise3JlbGF0ZWRUYXJnZXQ6bn0pO2lmKG4mJnIuZGVmYXVsdChuKS50cmlnZ2VyKHMpLHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKGwpLCFsLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYhcy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7byYmKHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihvKSksdGhpcy5fYWN0aXZhdGUodGhpcy5fZWxlbWVudCxpKTt2YXIgdT1mdW5jdGlvbigpe3ZhciB0PXIuZGVmYXVsdC5FdmVudChycix7cmVsYXRlZFRhcmdldDplLl9lbGVtZW50fSksaT1yLmRlZmF1bHQuRXZlbnQoYXIse3JlbGF0ZWRUYXJnZXQ6bn0pO3IuZGVmYXVsdChuKS50cmlnZ2VyKHQpLHIuZGVmYXVsdChlLl9lbGVtZW50KS50cmlnZ2VyKGkpfTt0P3RoaXMuX2FjdGl2YXRlKHQsdC5wYXJlbnROb2RlLHUpOnUoKX19fSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtyLmRlZmF1bHQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LFppKSx0aGlzLl9lbGVtZW50PW51bGx9LHQuX2FjdGl2YXRlPWZ1bmN0aW9uKGUsdCxuKXt2YXIgaT10aGlzLG89KCF0fHwiVUwiIT09dC5ub2RlTmFtZSYmIk9MIiE9PXQubm9kZU5hbWU/ci5kZWZhdWx0KHQpLmNoaWxkcmVuKGdyKTpyLmRlZmF1bHQodCkuZmluZChtcikpWzBdLGE9biYmbyYmci5kZWZhdWx0KG8pLmhhc0NsYXNzKGZyKSxzPWZ1bmN0aW9uKCl7cmV0dXJuIGkuX3RyYW5zaXRpb25Db21wbGV0ZShlLG8sbil9O2lmKG8mJmEpe3ZhciBsPXYuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQobyk7ci5kZWZhdWx0KG8pLnJlbW92ZUNsYXNzKGRyKS5vbmUodi5UUkFOU0lUSU9OX0VORCxzKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChsKX1lbHNlIHMoKX0sdC5fdHJhbnNpdGlvbkNvbXBsZXRlPWZ1bmN0aW9uKGUsdCxuKXtpZih0KXtyLmRlZmF1bHQodCkucmVtb3ZlQ2xhc3ModXIpO3ZhciBpPXIuZGVmYXVsdCh0LnBhcmVudE5vZGUpLmZpbmQoX3IpWzBdO2kmJnIuZGVmYXVsdChpKS5yZW1vdmVDbGFzcyh1ciksInRhYiI9PT10LmdldEF0dHJpYnV0ZSgicm9sZSIpJiZ0LnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsITEpfWlmKHIuZGVmYXVsdChlKS5hZGRDbGFzcyh1ciksInRhYiI9PT1lLmdldEF0dHJpYnV0ZSgicm9sZSIpJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsITApLHYucmVmbG93KGUpLGUuY2xhc3NMaXN0LmNvbnRhaW5zKGZyKSYmZS5jbGFzc0xpc3QuYWRkKGRyKSxlLnBhcmVudE5vZGUmJnIuZGVmYXVsdChlLnBhcmVudE5vZGUpLmhhc0NsYXNzKGxyKSl7dmFyIG89ci5kZWZhdWx0KGUpLmNsb3Nlc3QoaHIpWzBdO2lmKG8pe3ZhciBhPVtdLnNsaWNlLmNhbGwoby5xdWVyeVNlbGVjdG9yQWxsKHlyKSk7ci5kZWZhdWx0KGEpLmFkZENsYXNzKHVyKX1lLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsITApfW4mJm4oKX0sZS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49ci5kZWZhdWx0KHRoaXMpLGk9bi5kYXRhKFppKTtpZihpfHwoaT1uZXcgZSh0aGlzKSxuLmRhdGEoWmksaSkpLCJzdHJpbmciPT10eXBlb2YgdCl7aWYodm9pZCAwPT09aVt0XSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrdCsnIicpO2lbdF0oKX19KSl9LHMoZSxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gSml9fV0pLGV9KCk7ci5kZWZhdWx0KGRvY3VtZW50KS5vbihzcix2ciwoZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGJyLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChyLmRlZmF1bHQodGhpcyksInNob3ciKX0pKSxyLmRlZmF1bHQuZm5bR2ldPWJyLl9qUXVlcnlJbnRlcmZhY2Usci5kZWZhdWx0LmZuW0dpXS5Db25zdHJ1Y3Rvcj1icixyLmRlZmF1bHQuZm5bR2ldLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gci5kZWZhdWx0LmZuW0dpXT1ucixici5falF1ZXJ5SW50ZXJmYWNlfTt2YXIgd3I9InRvYXN0IixFcj0iNC42LjAiLFRyPSJicy50b2FzdCIsQ3I9Ii4iK1RyLHhyPXIuZGVmYXVsdC5mblt3cl0sU3I9ImNsaWNrLmRpc21pc3MiK0NyLE5yPSJoaWRlIitDcixEcj0iaGlkZGVuIitDcixBcj0ic2hvdyIrQ3Isa3I9InNob3duIitDcixPcj0iZmFkZSIsSXI9ImhpZGUiLExyPSJzaG93Iixqcj0ic2hvd2luZyIsUHI9e2FuaW1hdGlvbjoiYm9vbGVhbiIsYXV0b2hpZGU6ImJvb2xlYW4iLGRlbGF5OiJudW1iZXIifSxScj17YW5pbWF0aW9uOiEwLGF1dG9oaWRlOiEwLGRlbGF5OjUwMH0scXI9J1tkYXRhLWRpc21pc3M9InRvYXN0Il0nLEhyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe3RoaXMuX2VsZW1lbnQ9ZSx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKHQpLHRoaXMuX3RpbWVvdXQ9bnVsbCx0aGlzLl9zZXRMaXN0ZW5lcnMoKX12YXIgdD1lLnByb3RvdHlwZTtyZXR1cm4gdC5zaG93PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXIuZGVmYXVsdC5FdmVudChBcik7aWYoci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIodCksIXQuaXNEZWZhdWx0UHJldmVudGVkKCkpe3RoaXMuX2NsZWFyVGltZW91dCgpLHRoaXMuX2NvbmZpZy5hbmltYXRpb24mJnRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChPcik7dmFyIG49ZnVuY3Rpb24oKXtlLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoanIpLGUuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChMciksci5kZWZhdWx0KGUuX2VsZW1lbnQpLnRyaWdnZXIoa3IpLGUuX2NvbmZpZy5hdXRvaGlkZSYmKGUuX3RpbWVvdXQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtlLmhpZGUoKX0pLGUuX2NvbmZpZy5kZWxheSkpfTtpZih0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoSXIpLHYucmVmbG93KHRoaXMuX2VsZW1lbnQpLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChqciksdGhpcy5fY29uZmlnLmFuaW1hdGlvbil7dmFyIGk9di5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub25lKHYuVFJBTlNJVElPTl9FTkQsbikuZW11bGF0ZVRyYW5zaXRpb25FbmQoaSl9ZWxzZSBuKCl9fSx0LmhpZGU9ZnVuY3Rpb24oKXtpZih0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhMcikpe3ZhciBlPXIuZGVmYXVsdC5FdmVudChOcik7ci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8dGhpcy5fY2xvc2UoKX19LHQuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX2NsZWFyVGltZW91dCgpLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKExyKSYmdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKExyKSxyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub2ZmKFNyKSxyLmRlZmF1bHQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LFRyKSx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fY29uZmlnPW51bGx9LHQuX2dldENvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4gZT1sKHt9LFJyLHIuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBlJiZlP2U6e30pLHYudHlwZUNoZWNrQ29uZmlnKHdyLGUsdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSksZX0sdC5fc2V0TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub24oU3IscXIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUuaGlkZSgpfSkpfSx0Ll9jbG9zZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1mdW5jdGlvbigpe2UuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChJciksci5kZWZhdWx0KGUuX2VsZW1lbnQpLnRyaWdnZXIoRHIpfTtpZih0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoTHIpLHRoaXMuX2NvbmZpZy5hbmltYXRpb24pe3ZhciBuPXYuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7ci5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uZSh2LlRSQU5TSVRJT05fRU5ELHQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKG4pfWVsc2UgdCgpfSx0Ll9jbGVhclRpbWVvdXQ9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksdGhpcy5fdGltZW91dD1udWxsfSxlLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt2YXIgbj1yLmRlZmF1bHQodGhpcyksaT1uLmRhdGEoVHIpO2lmKGl8fChpPW5ldyBlKHRoaXMsIm9iamVjdCI9PXR5cGVvZiB0JiZ0KSxuLmRhdGEoVHIsaSkpLCJzdHJpbmciPT10eXBlb2YgdCl7aWYodm9pZCAwPT09aVt0XSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrdCsnIicpO2lbdF0odGhpcyl9fSkpfSxzKGUsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEVyfX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiBQcn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBScn19XSksZX0oKTtyLmRlZmF1bHQuZm5bd3JdPUhyLl9qUXVlcnlJbnRlcmZhY2Usci5kZWZhdWx0LmZuW3dyXS5Db25zdHJ1Y3Rvcj1IcixyLmRlZmF1bHQuZm5bd3JdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gci5kZWZhdWx0LmZuW3dyXT14cixIci5falF1ZXJ5SW50ZXJmYWNlfSxlLkFsZXJ0PU8sZS5CdXR0b249RyxlLkNhcm91c2VsPVFlLGUuQ29sbGFwc2U9ZHQsZS5Ecm9wZG93bj1lbixlLk1vZGFsPVJuLGUuUG9wb3Zlcj1TaSxlLlNjcm9sbHNweT1LaSxlLlRhYj1icixlLlRvYXN0PUhyLGUuVG9vbHRpcD1maSxlLlV0aWw9dixPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KHQsbigyNDA3MCksbigyODk4MSkpfSwyNDA3MDpmdW5jdGlvbihlLHQpe3ZhciBuOy8qIQoqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkgdjMuNi4wIC1hamF4LC1hamF4L2pzb25wLC1hamF4L2xvYWQsLWFqYXgvc2NyaXB0LC1hamF4L3Zhci9sb2NhdGlvbiwtYWpheC92YXIvbm9uY2UsLWFqYXgvdmFyL3JxdWVyeSwtYWpheC94aHIsLW1hbmlwdWxhdGlvbi9fZXZhbFVybCwtZGVwcmVjYXRlZC9hamF4LWV2ZW50LWFsaWFzLC1lZmZlY3RzLC1lZmZlY3RzL1R3ZWVuLC1lZmZlY3RzL2FuaW1hdGVkU2VsZWN0b3IKKiBodHRwczovL2pxdWVyeS5jb20vCioKKiBJbmNsdWRlcyBTaXp6bGUuanMKKiBodHRwczovL3NpenpsZWpzLmNvbS8KKgoqIENvcHlyaWdodCBPcGVuSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzCiogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiogaHR0cHM6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKgoqIERhdGU6IDIwMjEtMDMtMDJUMTc6MDhaCiovIWZ1bmN0aW9uKHQsbil7InVzZSBzdHJpY3QiOyJvYmplY3QiPT10eXBlb2YgZS5leHBvcnRzP2UuZXhwb3J0cz10LmRvY3VtZW50P24odCwhMCk6ZnVuY3Rpb24oZSl7aWYoIWUuZG9jdW1lbnQpdGhyb3cgbmV3IEVycm9yKCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50Iik7cmV0dXJuIG4oZSl9Om4odCl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLChmdW5jdGlvbihpLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbz1bXSxhPU9iamVjdC5nZXRQcm90b3R5cGVPZixzPW8uc2xpY2UsbD1vLmZsYXQ/ZnVuY3Rpb24oZSl7cmV0dXJuIG8uZmxhdC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gby5jb25jYXQuYXBwbHkoW10sZSl9LHU9by5wdXNoLGM9by5pbmRleE9mLGY9e30sZD1mLnRvU3RyaW5nLGg9Zi5oYXNPd25Qcm9wZXJ0eSxwPWgudG9TdHJpbmcsZz1wLmNhbGwoT2JqZWN0KSxtPXt9LHY9ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJiJudW1iZXIiIT10eXBlb2YgZS5ub2RlVHlwZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUuaXRlbX0seT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmZT09PWUud2luZG93fSxfPWkuZG9jdW1lbnQsYj17dHlwZTohMCxzcmM6ITAsbm9uY2U6ITAsbm9Nb2R1bGU6ITB9O2Z1bmN0aW9uIHcoZSx0LG4pe3ZhciBpLHIsbz0obj1ufHxfKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpZihvLnRleHQ9ZSx0KWZvcihpIGluIGIpKHI9dFtpXXx8dC5nZXRBdHRyaWJ1dGUmJnQuZ2V0QXR0cmlidXRlKGkpKSYmby5zZXRBdHRyaWJ1dGUoaSxyKTtuLmhlYWQuYXBwZW5kQ2hpbGQobykucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKX1mdW5jdGlvbiBFKGUpe3JldHVybiBudWxsPT1lP2UrIiI6Im9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZT9mW2QuY2FsbChlKV18fCJvYmplY3QiOnR5cGVvZiBlfXZhciBUPSIzLjYuMCAtYWpheCwtYWpheC9qc29ucCwtYWpheC9sb2FkLC1hamF4L3NjcmlwdCwtYWpheC92YXIvbG9jYXRpb24sLWFqYXgvdmFyL25vbmNlLC1hamF4L3Zhci9ycXVlcnksLWFqYXgveGhyLC1tYW5pcHVsYXRpb24vX2V2YWxVcmwsLWRlcHJlY2F0ZWQvYWpheC1ldmVudC1hbGlhcywtZWZmZWN0cywtZWZmZWN0cy9Ud2VlbiwtZWZmZWN0cy9hbmltYXRlZFNlbGVjdG9yIixDPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBDLmZuLmluaXQoZSx0KX07ZnVuY3Rpb24geChlKXt2YXIgdD0hIWUmJiJsZW5ndGgiaW4gZSYmZS5sZW5ndGgsbj1FKGUpO3JldHVybiF2KGUpJiYheShlKSYmKCJhcnJheSI9PT1ufHwwPT09dHx8Im51bWJlciI9PXR5cGVvZiB0JiZ0PjAmJnQtMSBpbiBlKX1DLmZuPUMucHJvdG90eXBlPXtqcXVlcnk6VCxjb25zdHJ1Y3RvcjpDLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gcy5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/cy5jYWxsKHRoaXMpOmU8MD90aGlzW2UrdGhpcy5sZW5ndGhdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGlvbihlKXt2YXIgdD1DLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxlKTtyZXR1cm4gdC5wcmV2T2JqZWN0PXRoaXMsdH0sZWFjaDpmdW5jdGlvbihlKXtyZXR1cm4gQy5lYWNoKHRoaXMsZSl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soQy5tYXAodGhpcywoZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5jYWxsKHQsbix0KX0pKSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHMuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXZlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhDLmdyZXAodGhpcywoZnVuY3Rpb24oZSx0KXtyZXR1cm4odCsxKSUyfSkpKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKEMuZ3JlcCh0aGlzLChmdW5jdGlvbihlLHQpe3JldHVybiB0JTJ9KSkpfSxlcTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmxlbmd0aCxuPStlKyhlPDA/dDowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobj49MCYmbjx0P1t0aGlzW25dXTpbXSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IoKX0scHVzaDp1LHNvcnQ6by5zb3J0LHNwbGljZTpvLnNwbGljZX0sQy5leHRlbmQ9Qy5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG4saSxyLG8sYT1hcmd1bWVudHNbMF18fHt9LHM9MSxsPWFyZ3VtZW50cy5sZW5ndGgsdT0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgYSYmKHU9YSxhPWFyZ3VtZW50c1tzXXx8e30scysrKSwib2JqZWN0Ij09dHlwZW9mIGF8fHYoYSl8fChhPXt9KSxzPT09bCYmKGE9dGhpcyxzLS0pO3M8bDtzKyspaWYobnVsbCE9KGU9YXJndW1lbnRzW3NdKSlmb3IodCBpbiBlKWk9ZVt0XSwiX19wcm90b19fIiE9PXQmJmEhPT1pJiYodSYmaSYmKEMuaXNQbGFpbk9iamVjdChpKXx8KHI9QXJyYXkuaXNBcnJheShpKSkpPyhuPWFbdF0sbz1yJiYhQXJyYXkuaXNBcnJheShuKT9bXTpyfHxDLmlzUGxhaW5PYmplY3Qobik/bjp7fSxyPSExLGFbdF09Qy5leHRlbmQodSxvLGkpKTp2b2lkIDAhPT1pJiYoYVt0XT1pKSk7cmV0dXJuIGF9LEMuZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhUK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKGUpfSxub29wOmZ1bmN0aW9uKCl7fSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciB0LG47cmV0dXJuISghZXx8IltvYmplY3QgT2JqZWN0XSIhPT1kLmNhbGwoZSkpJiYoISh0PWEoZSkpfHwiZnVuY3Rpb24iPT10eXBlb2Yobj1oLmNhbGwodCwiY29uc3RydWN0b3IiKSYmdC5jb25zdHJ1Y3RvcikmJnAuY2FsbChuKT09PWcpfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oZSx0LG4pe3coZSx7bm9uY2U6dCYmdC5ub25jZX0sbil9LGVhY2g6ZnVuY3Rpb24oZSx0KXt2YXIgbixpPTA7aWYoeChlKSlmb3Iobj1lLmxlbmd0aDtpPG4mJiExIT09dC5jYWxsKGVbaV0saSxlW2ldKTtpKyspO2Vsc2UgZm9yKGkgaW4gZSlpZighMT09PXQuY2FsbChlW2ldLGksZVtpXSkpYnJlYWs7cmV0dXJuIGV9LG1ha2VBcnJheTpmdW5jdGlvbihlLHQpe3ZhciBuPXR8fFtdO3JldHVybiBudWxsIT1lJiYoeChPYmplY3QoZSkpP0MubWVyZ2Uobiwic3RyaW5nIj09dHlwZW9mIGU/W2VdOmUpOnUuY2FsbChuLGUpKSxufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbnVsbD09dD8tMTpjLmNhbGwodCxlLG4pfSxtZXJnZTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0rdC5sZW5ndGgsaT0wLHI9ZS5sZW5ndGg7aTxuO2krKyllW3IrK109dFtpXTtyZXR1cm4gZS5sZW5ndGg9cixlfSxncmVwOmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIGk9W10scj0wLG89ZS5sZW5ndGgsYT0hbjtyPG87cisrKSF0KGVbcl0scikhPT1hJiZpLnB1c2goZVtyXSk7cmV0dXJuIGl9LG1hcDpmdW5jdGlvbihlLHQsbil7dmFyIGkscixvPTAsYT1bXTtpZih4KGUpKWZvcihpPWUubGVuZ3RoO288aTtvKyspbnVsbCE9KHI9dChlW29dLG8sbikpJiZhLnB1c2gocik7ZWxzZSBmb3IobyBpbiBlKW51bGwhPShyPXQoZVtvXSxvLG4pKSYmYS5wdXNoKHIpO3JldHVybiBsKGEpfSxndWlkOjEsc3VwcG9ydDptfSksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKEMuZm5bU3ltYm9sLml0ZXJhdG9yXT1vW1N5bWJvbC5pdGVyYXRvcl0pLEMuZWFjaCgiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7ZlsiW29iamVjdCAiK3QrIl0iXT10LnRvTG93ZXJDYXNlKCl9KSk7dmFyIFM9LyohCiogU2l6emxlIENTUyBTZWxlY3RvciBFbmdpbmUgdjIuMy42CiogaHR0cHM6Ly9zaXp6bGVqcy5jb20vCioKKiBDb3B5cmlnaHQgSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzCiogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiogaHR0cHM6Ly9qcy5mb3VuZGF0aW9uLwoqCiogRGF0ZTogMjAyMS0wMi0xNgoqL2Z1bmN0aW9uKGUpe3ZhciB0LG4saSxyLG8sYSxzLGwsdSxjLGYsZCxoLHAsZyxtLHYseSxfLGI9InNpenpsZSIrMSpuZXcgRGF0ZSx3PWUuZG9jdW1lbnQsRT0wLFQ9MCxDPWxlKCkseD1sZSgpLFM9bGUoKSxOPWxlKCksRD1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKGY9ITApLDB9LEE9e30uaGFzT3duUHJvcGVydHksaz1bXSxPPWsucG9wLEk9ay5wdXNoLEw9ay5wdXNoLGo9ay5zbGljZSxQPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTAsaT1lLmxlbmd0aDtuPGk7bisrKWlmKGVbbl09PT10KXJldHVybiBuO3JldHVybi0xfSxSPSJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCIscT0iW1xceDIwXFx0XFxyXFxuXFxmXSIsSD0iKD86XFxcXFtcXGRhLWZBLUZdezEsNn1bXFx4MjBcXHRcXHJcXG5cXGZdP3xcXFxcW15cXHJcXG5cXGZdfFtcXHctXXxbXlwwLVxceDdmXSkrIixGPSJcXFtbXFx4MjBcXHRcXHJcXG5cXGZdKigiK0grIikoPzoiK3ErIiooWypeJHwhfl0/PSkiK3ErIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitIKyIpKXwpIitxKyIqXFxdIixCPSI6KCIrSCsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrRisiKSopfC4qKVxcKXwpIixNPW5ldyBSZWdFeHAocSsiKyIsImciKSxXPW5ldyBSZWdFeHAoIl5bXFx4MjBcXHRcXHJcXG5cXGZdK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopW1xceDIwXFx0XFxyXFxuXFxmXSskIiwiZyIpLFU9bmV3IFJlZ0V4cCgiXltcXHgyMFxcdFxcclxcblxcZl0qLFtcXHgyMFxcdFxcclxcblxcZl0qIiksUT1uZXcgUmVnRXhwKCJeW1xceDIwXFx0XFxyXFxuXFxmXSooWz4rfl18W1xceDIwXFx0XFxyXFxuXFxmXSlbXFx4MjBcXHRcXHJcXG5cXGZdKiIpLHo9bmV3IFJlZ0V4cChxKyJ8PiIpLFY9bmV3IFJlZ0V4cChCKSwkPW5ldyBSZWdFeHAoIl4iK0grIiQiKSxYPXtJRDpuZXcgUmVnRXhwKCJeIygiK0grIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrSCsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrSCsifFsqXSkiKSxBVFRSOm5ldyBSZWdFeHAoIl4iK0YpLFBTRVVETzpuZXcgUmVnRXhwKCJeIitCKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXChbXFx4MjBcXHRcXHJcXG5cXGZdKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KVtcXHgyMFxcdFxcclxcblxcZl0qKD86KFsrLV18KVtcXHgyMFxcdFxcclxcblxcZl0qKFxcZCspfCkpW1xceDIwXFx0XFxyXFxuXFxmXSpcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK1IrIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeW1xceDIwXFx0XFxyXFxuXFxmXSpbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcKFtcXHgyMFxcdFxcclxcblxcZl0qKCg/Oi1cXGQpP1xcZCopW1xceDIwXFx0XFxyXFxuXFxmXSpcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L0hUTUwkL2ksSz0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLEc9L15oXGQkL2ksSj0vXltee10rXHtccypcW25hdGl2ZSBcdy8sWj0vXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLGVlPS9bK35dLyx0ZT1uZXcgUmVnRXhwKCJcXFxcW1xcZGEtZkEtRl17MSw2fVtcXHgyMFxcdFxcclxcblxcZl0/fFxcXFwoW15cXHJcXG5cXGZdKSIsImciKSxuZT1mdW5jdGlvbihlLHQpe3ZhciBuPSIweCIrZS5zbGljZSgxKS02NTUzNjtyZXR1cm4gdHx8KG48MD9TdHJpbmcuZnJvbUNoYXJDb2RlKG4rNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUobj4+MTB8NTUyOTYsMTAyMyZufDU2MzIwKSl9LGllPS8oW1wwLVx4MWZceDdmXXxeLT9cZCl8Xi0kfFteXDAtXHgxZlx4N2YtXHVGRkZGXHctXS9nLHJlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/IlwwIj09PWU/Iu+/vSI6ZS5zbGljZSgwLC0xKSsiXFwiK2UuY2hhckNvZGVBdChlLmxlbmd0aC0xKS50b1N0cmluZygxNikrIiAiOiJcXCIrZX0sb2U9ZnVuY3Rpb24oKXtkKCl9LGFlPWJlKChmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuZGlzYWJsZWQmJiJmaWVsZHNldCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9KSx7ZGlyOiJwYXJlbnROb2RlIixuZXh0OiJsZWdlbmQifSk7dHJ5e0wuYXBwbHkoaz1qLmNhbGwody5jaGlsZE5vZGVzKSx3LmNoaWxkTm9kZXMpLGtbdy5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZSl7TD17YXBwbHk6ay5sZW5ndGg/ZnVuY3Rpb24oZSx0KXtJLmFwcGx5KGUsai5jYWxsKHQpKX06ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49ZS5sZW5ndGgsaT0wO2VbbisrXT10W2krK107KTtlLmxlbmd0aD1uLTF9fX1mdW5jdGlvbiBzZShlLHQsaSxyKXt2YXIgbyxzLHUsYyxmLHAsdix5PXQmJnQub3duZXJEb2N1bWVudCx3PXQ/dC5ub2RlVHlwZTo5O2lmKGk9aXx8W10sInN0cmluZyIhPXR5cGVvZiBlfHwhZXx8MSE9PXcmJjkhPT13JiYxMSE9PXcpcmV0dXJuIGk7aWYoIXImJihkKHQpLHQ9dHx8aCxnKSl7aWYoMTEhPT13JiYoZj1aLmV4ZWMoZSkpKWlmKG89ZlsxXSl7aWYoOT09PXcpe2lmKCEodT10LmdldEVsZW1lbnRCeUlkKG8pKSlyZXR1cm4gaTtpZih1LmlkPT09bylyZXR1cm4gaS5wdXNoKHUpLGl9ZWxzZSBpZih5JiYodT15LmdldEVsZW1lbnRCeUlkKG8pKSYmXyh0LHUpJiZ1LmlkPT09bylyZXR1cm4gaS5wdXNoKHUpLGl9ZWxzZXtpZihmWzJdKXJldHVybiBMLmFwcGx5KGksdC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKSksaTtpZigobz1mWzNdKSYmbi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZ0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEwuYXBwbHkoaSx0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUobykpLGl9aWYobi5xc2EmJiFOW2UrIiAiXSYmKCFtfHwhbS50ZXN0KGUpKSYmKDEhPT13fHwib2JqZWN0IiE9PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkpe2lmKHY9ZSx5PXQsMT09PXcmJih6LnRlc3QoZSl8fFEudGVzdChlKSkpe2ZvcigoeT1lZS50ZXN0KGUpJiZ2ZSh0LnBhcmVudE5vZGUpfHx0KT09PXQmJm4uc2NvcGV8fCgoYz10LmdldEF0dHJpYnV0ZSgiaWQiKSk/Yz1jLnJlcGxhY2UoaWUscmUpOnQuc2V0QXR0cmlidXRlKCJpZCIsYz1iKSkscz0ocD1hKGUpKS5sZW5ndGg7cy0tOylwW3NdPShjPyIjIitjOiI6c2NvcGUiKSsiICIrX2UocFtzXSk7dj1wLmpvaW4oIiwiKX10cnl7cmV0dXJuIEwuYXBwbHkoaSx5LnF1ZXJ5U2VsZWN0b3JBbGwodikpLGl9Y2F0Y2godCl7TihlLCEwKX1maW5hbGx5e2M9PT1iJiZ0LnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBsKGUucmVwbGFjZShXLCIkMSIpLHQsaSxyKX1mdW5jdGlvbiBsZSgpe3ZhciBlPVtdO3JldHVybiBmdW5jdGlvbiB0KG4scil7cmV0dXJuIGUucHVzaChuKyIgIik+aS5jYWNoZUxlbmd0aCYmZGVsZXRlIHRbZS5zaGlmdCgpXSx0W24rIiAiXT1yfX1mdW5jdGlvbiB1ZShlKXtyZXR1cm4gZVtiXT0hMCxlfWZ1bmN0aW9uIGNlKGUpe3ZhciB0PWguY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKTt0cnl7cmV0dXJuISFlKHQpfWNhdGNoKGUpe3JldHVybiExfWZpbmFsbHl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksdD1udWxsfX1mdW5jdGlvbiBmZShlLHQpe2Zvcih2YXIgbj1lLnNwbGl0KCJ8Iikscj1uLmxlbmd0aDtyLS07KWkuYXR0ckhhbmRsZVtuW3JdXT10fWZ1bmN0aW9uIGRlKGUsdCl7dmFyIG49dCYmZSxpPW4mJjE9PT1lLm5vZGVUeXBlJiYxPT09dC5ub2RlVHlwZSYmZS5zb3VyY2VJbmRleC10LnNvdXJjZUluZGV4O2lmKGkpcmV0dXJuIGk7aWYobilmb3IoO249bi5uZXh0U2libGluZzspaWYobj09PXQpcmV0dXJuLTE7cmV0dXJuIGU/MTotMX1mdW5jdGlvbiBoZShlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuImlucHV0Ij09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmdC50eXBlPT09ZX19ZnVuY3Rpb24gcGUoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBuPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PW58fCJidXR0b24iPT09bikmJnQudHlwZT09PWV9fWZ1bmN0aW9uIGdlKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4iZm9ybSJpbiB0P3QucGFyZW50Tm9kZSYmITE9PT10LmRpc2FibGVkPyJsYWJlbCJpbiB0PyJsYWJlbCJpbiB0LnBhcmVudE5vZGU/dC5wYXJlbnROb2RlLmRpc2FibGVkPT09ZTp0LmRpc2FibGVkPT09ZTp0LmlzRGlzYWJsZWQ9PT1lfHx0LmlzRGlzYWJsZWQhPT0hZSYmYWUodCk9PT1lOnQuZGlzYWJsZWQ9PT1lOiJsYWJlbCJpbiB0JiZ0LmRpc2FibGVkPT09ZX19ZnVuY3Rpb24gbWUoZSl7cmV0dXJuIHVlKChmdW5jdGlvbih0KXtyZXR1cm4gdD0rdCx1ZSgoZnVuY3Rpb24obixpKXtmb3IodmFyIHIsbz1lKFtdLG4ubGVuZ3RoLHQpLGE9by5sZW5ndGg7YS0tOyluW3I9b1thXV0mJihuW3JdPSEoaVtyXT1uW3JdKSl9KSl9KSl9ZnVuY3Rpb24gdmUoZSl7cmV0dXJuIGUmJnZvaWQgMCE9PWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJmV9Zm9yKHQgaW4gbj1zZS5zdXBwb3J0PXt9LG89c2UuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5uYW1lc3BhY2VVUkksbj1lJiYoZS5vd25lckRvY3VtZW50fHxlKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIVkudGVzdCh0fHxuJiZuLm5vZGVOYW1lfHwiSFRNTCIpfSxkPXNlLnNldERvY3VtZW50PWZ1bmN0aW9uKGUpe3ZhciB0LHIsYT1lP2Uub3duZXJEb2N1bWVudHx8ZTp3O3JldHVybiBhIT1oJiY5PT09YS5ub2RlVHlwZSYmYS5kb2N1bWVudEVsZW1lbnQ/KHA9KGg9YSkuZG9jdW1lbnRFbGVtZW50LGc9IW8oaCksdyE9aCYmKHI9aC5kZWZhdWx0VmlldykmJnIudG9wIT09ciYmKHIuYWRkRXZlbnRMaXN0ZW5lcj9yLmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsb2UsITEpOnIuYXR0YWNoRXZlbnQmJnIuYXR0YWNoRXZlbnQoIm9udW5sb2FkIixvZSkpLG4uc2NvcGU9Y2UoKGZ1bmN0aW9uKGUpe3JldHVybiBwLmFwcGVuZENoaWxkKGUpLmFwcGVuZENoaWxkKGguY3JlYXRlRWxlbWVudCgiZGl2IikpLHZvaWQgMCE9PWUucXVlcnlTZWxlY3RvckFsbCYmIWUucXVlcnlTZWxlY3RvckFsbCgiOnNjb3BlIGZpZWxkc2V0IGRpdiIpLmxlbmd0aH0pKSxuLmF0dHJpYnV0ZXM9Y2UoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNsYXNzTmFtZT0iaSIsIWUuZ2V0QXR0cmlidXRlKCJjbGFzc05hbWUiKX0pKSxuLmdldEVsZW1lbnRzQnlUYWdOYW1lPWNlKChmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBlbmRDaGlsZChoLmNyZWF0ZUNvbW1lbnQoIiIpKSwhZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pKSxuLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9Si50ZXN0KGguZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksbi5nZXRCeUlkPWNlKChmdW5jdGlvbihlKXtyZXR1cm4gcC5hcHBlbmRDaGlsZChlKS5pZD1iLCFoLmdldEVsZW1lbnRzQnlOYW1lfHwhaC5nZXRFbGVtZW50c0J5TmFtZShiKS5sZW5ndGh9KSksbi5nZXRCeUlkPyhpLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoImlkIik9PT10fX0saS5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50QnlJZCYmZyl7dmFyIG49dC5nZXRFbGVtZW50QnlJZChlKTtyZXR1cm4gbj9bbl06W119fSk6KGkuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh0ZSxuZSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPXZvaWQgMCE9PWUuZ2V0QXR0cmlidXRlTm9kZSYmZS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBuJiZuLnZhbHVlPT09dH19LGkuZmluZC5JRD1mdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudEJ5SWQmJmcpe3ZhciBuLGkscixvPXQuZ2V0RWxlbWVudEJ5SWQoZSk7aWYobyl7aWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpKSYmbi52YWx1ZT09PWUpcmV0dXJuW29dO2ZvcihyPXQuZ2V0RWxlbWVudHNCeU5hbWUoZSksaT0wO289cltpKytdOylpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb119cmV0dXJuW119fSksaS5maW5kLlRBRz1uLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeVRhZ05hbWU/dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTpuLnFzYT90LnF1ZXJ5U2VsZWN0b3JBbGwoZSk6dm9pZCAwfTpmdW5jdGlvbihlLHQpe3ZhciBuLGk9W10scj0wLG89dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTtpZigiKiI9PT1lKXtmb3IoO249b1tyKytdOykxPT09bi5ub2RlVHlwZSYmaS5wdXNoKG4pO3JldHVybiBpfXJldHVybiBvfSxpLmZpbmQuQ0xBU1M9bi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZylyZXR1cm4gdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUpfSx2PVtdLG09W10sKG4ucXNhPUoudGVzdChoLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGNlKChmdW5jdGlvbihlKXt2YXIgdDtwLmFwcGVuZENoaWxkKGUpLmlubmVySFRNTD0iPGEgaWQ9JyIrYisiJz48L2E+PHNlbGVjdCBpZD0nIitiKyItXHJcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD4iLGUucXVlcnlTZWxlY3RvckFsbCgiW21zYWxsb3djYXB0dXJlXj0nJ10iKS5sZW5ndGgmJm0ucHVzaCgiWypeJF09W1xceDIwXFx0XFxyXFxuXFxmXSooPzonJ3xcIlwiKSIpLGUucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8bS5wdXNoKCJcXFtbXFx4MjBcXHRcXHJcXG5cXGZdKig/OnZhbHVlfCIrUisiKSIpLGUucXVlcnlTZWxlY3RvckFsbCgiW2lkfj0iK2IrIi1dIikubGVuZ3RofHxtLnB1c2goIn49IiksKHQ9aC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCIiKSxlLmFwcGVuZENoaWxkKHQpLGUucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9JyddIikubGVuZ3RofHxtLnB1c2goIlxcW1tcXHgyMFxcdFxcclxcblxcZl0qbmFtZVtcXHgyMFxcdFxcclxcblxcZl0qPVtcXHgyMFxcdFxcclxcblxcZl0qKD86Jyd8XCJcIikiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIjpjaGVja2VkIikubGVuZ3RofHxtLnB1c2goIjpjaGVja2VkIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJhIyIrYisiKyoiKS5sZW5ndGh8fG0ucHVzaCgiLiMuK1srfl0iKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIlxcXGYiKSxtLnB1c2goIltcXHJcXG5cXGZdIil9KSksY2UoKGZ1bmN0aW9uKGUpe2UuaW5uZXJIVE1MPSI8YSBocmVmPScnIGRpc2FibGVkPSdkaXNhYmxlZCc+PC9hPjxzZWxlY3QgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uLz48L3NlbGVjdD4iO3ZhciB0PWguY3JlYXRlRWxlbWVudCgiaW5wdXQiKTt0LnNldEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpLGUuYXBwZW5kQ2hpbGQodCkuc2V0QXR0cmlidXRlKCJuYW1lIiwiRCIpLGUucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGgmJm0ucHVzaCgibmFtZVtcXHgyMFxcdFxcclxcblxcZl0qWypeJHwhfl0/PSIpLDIhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RoJiZtLnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIikscC5hcHBlbmRDaGlsZChlKS5kaXNhYmxlZD0hMCwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKCI6ZGlzYWJsZWQiKS5sZW5ndGgmJm0ucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxtLnB1c2goIiwuKjoiKX0pKSksKG4ubWF0Y2hlc1NlbGVjdG9yPUoudGVzdCh5PXAubWF0Y2hlc3x8cC53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fHAubW96TWF0Y2hlc1NlbGVjdG9yfHxwLm9NYXRjaGVzU2VsZWN0b3J8fHAubXNNYXRjaGVzU2VsZWN0b3IpKSYmY2UoKGZ1bmN0aW9uKGUpe24uZGlzY29ubmVjdGVkTWF0Y2g9eS5jYWxsKGUsIioiKSx5LmNhbGwoZSwiW3MhPScnXTp4Iiksdi5wdXNoKCIhPSIsQil9KSksbT1tLmxlbmd0aCYmbmV3IFJlZ0V4cChtLmpvaW4oInwiKSksdj12Lmxlbmd0aCYmbmV3IFJlZ0V4cCh2LmpvaW4oInwiKSksdD1KLnRlc3QocC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiksXz10fHxKLnRlc3QocC5jb250YWlucyk/ZnVuY3Rpb24oZSx0KXt2YXIgbj05PT09ZS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLGk9dCYmdC5wYXJlbnROb2RlO3JldHVybiBlPT09aXx8ISghaXx8MSE9PWkubm9kZVR5cGV8fCEobi5jb250YWlucz9uLmNvbnRhaW5zKGkpOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJjE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oaSkpKX06ZnVuY3Rpb24oZSx0KXtpZih0KWZvcig7dD10LnBhcmVudE5vZGU7KWlmKHQ9PT1lKXJldHVybiEwO3JldHVybiExfSxEPXQ/ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gZj0hMCwwO3ZhciBpPSFlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uLSF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uO3JldHVybiBpfHwoMSYoaT0oZS5vd25lckRvY3VtZW50fHxlKT09KHQub3duZXJEb2N1bWVudHx8dCk/ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KToxKXx8IW4uc29ydERldGFjaGVkJiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpPT09aT9lPT1ofHxlLm93bmVyRG9jdW1lbnQ9PXcmJl8odyxlKT8tMTp0PT1ofHx0Lm93bmVyRG9jdW1lbnQ9PXcmJl8odyx0KT8xOmM/UChjLGUpLVAoYyx0KTowOjQmaT8tMToxKX06ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gZj0hMCwwO3ZhciBuLGk9MCxyPWUucGFyZW50Tm9kZSxvPXQucGFyZW50Tm9kZSxhPVtlXSxzPVt0XTtpZighcnx8IW8pcmV0dXJuIGU9PWg/LTE6dD09aD8xOnI/LTE6bz8xOmM/UChjLGUpLVAoYyx0KTowO2lmKHI9PT1vKXJldHVybiBkZShlLHQpO2ZvcihuPWU7bj1uLnBhcmVudE5vZGU7KWEudW5zaGlmdChuKTtmb3Iobj10O249bi5wYXJlbnROb2RlOylzLnVuc2hpZnQobik7Zm9yKDthW2ldPT09c1tpXTspaSsrO3JldHVybiBpP2RlKGFbaV0sc1tpXSk6YVtpXT09dz8tMTpzW2ldPT13PzE6MH0saCk6aH0sc2UubWF0Y2hlcz1mdW5jdGlvbihlLHQpe3JldHVybiBzZShlLG51bGwsbnVsbCx0KX0sc2UubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7aWYoZChlKSxuLm1hdGNoZXNTZWxlY3RvciYmZyYmIU5bdCsiICJdJiYoIXZ8fCF2LnRlc3QodCkpJiYoIW18fCFtLnRlc3QodCkpKXRyeXt2YXIgaT15LmNhbGwoZSx0KTtpZihpfHxuLmRpc2Nvbm5lY3RlZE1hdGNofHxlLmRvY3VtZW50JiYxMSE9PWUuZG9jdW1lbnQubm9kZVR5cGUpcmV0dXJuIGl9Y2F0Y2goZSl7Tih0LCEwKX1yZXR1cm4gc2UodCxoLG51bGwsW2VdKS5sZW5ndGg+MH0sc2UuY29udGFpbnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZS5vd25lckRvY3VtZW50fHxlKSE9aCYmZChlKSxfKGUsdCl9LHNlLmF0dHI9ZnVuY3Rpb24oZSx0KXsoZS5vd25lckRvY3VtZW50fHxlKSE9aCYmZChlKTt2YXIgcj1pLmF0dHJIYW5kbGVbdC50b0xvd2VyQ2FzZSgpXSxvPXImJkEuY2FsbChpLmF0dHJIYW5kbGUsdC50b0xvd2VyQ2FzZSgpKT9yKGUsdCwhZyk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1vP286bi5hdHRyaWJ1dGVzfHwhZz9lLmdldEF0dHJpYnV0ZSh0KToobz1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZvLnNwZWNpZmllZD9vLnZhbHVlOm51bGx9LHNlLmVzY2FwZT1mdW5jdGlvbihlKXtyZXR1cm4oZSsiIikucmVwbGFjZShpZSxyZSl9LHNlLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX0sc2UudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxpPVtdLHI9MCxvPTA7aWYoZj0hbi5kZXRlY3REdXBsaWNhdGVzLGM9IW4uc29ydFN0YWJsZSYmZS5zbGljZSgwKSxlLnNvcnQoRCksZil7Zm9yKDt0PWVbbysrXTspdD09PWVbb10mJihyPWkucHVzaChvKSk7Zm9yKDtyLS07KWUuc3BsaWNlKGlbcl0sMSl9cmV0dXJuIGM9bnVsbCxlfSxyPXNlLmdldFRleHQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj0iIixpPTAsbz1lLm5vZGVUeXBlO2lmKG8pe2lmKDE9PT1vfHw5PT09b3x8MTE9PT1vKXtpZigic3RyaW5nIj09dHlwZW9mIGUudGV4dENvbnRlbnQpcmV0dXJuIGUudGV4dENvbnRlbnQ7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKW4rPXIoZSl9ZWxzZSBpZigzPT09b3x8ND09PW8pcmV0dXJuIGUubm9kZVZhbHVlfWVsc2UgZm9yKDt0PWVbaSsrXTspbis9cih0KTtyZXR1cm4gbn0saT1zZS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzp1ZSxtYXRjaDpYLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT1lWzFdLnJlcGxhY2UodGUsbmUpLGVbM109KGVbM118fGVbNF18fGVbNV18fCIiKS5yZXBsYWNlKHRlLG5lKSwifj0iPT09ZVsyXSYmKGVbM109IiAiK2VbM10rIiAiKSxlLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWVbMV0uc2xpY2UoMCwzKT8oZVszXXx8c2UuZXJyb3IoZVswXSksZVs0XT0rKGVbNF0/ZVs1XSsoZVs2XXx8MSk6MiooImV2ZW4iPT09ZVszXXx8Im9kZCI9PT1lWzNdKSksZVs1XT0rKGVbN10rZVs4XXx8Im9kZCI9PT1lWzNdKSk6ZVszXSYmc2UuZXJyb3IoZVswXSksZX0sUFNFVURPOmZ1bmN0aW9uKGUpe3ZhciB0LG49IWVbNl0mJmVbMl07cmV0dXJuIFguQ0hJTEQudGVzdChlWzBdKT9udWxsOihlWzNdP2VbMl09ZVs0XXx8ZVs1XXx8IiI6biYmVi50ZXN0KG4pJiYodD1hKG4sITApKSYmKHQ9bi5pbmRleE9mKCIpIixuLmxlbmd0aC10KS1uLmxlbmd0aCkmJihlWzBdPWVbMF0uc2xpY2UoMCx0KSxlWzJdPW4uc2xpY2UoMCx0KSksZS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh0ZSxuZSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1lP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGUpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10fX0sQ0xBU1M6ZnVuY3Rpb24oZSl7dmFyIHQ9Q1tlKyIgIl07cmV0dXJuIHR8fCh0PW5ldyBSZWdFeHAoIihefFtcXHgyMFxcdFxcclxcblxcZl0pIitlKyIoIitxKyJ8JCkiKSkmJkMoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIHQudGVzdCgic3RyaW5nIj09dHlwZW9mIGUuY2xhc3NOYW1lJiZlLmNsYXNzTmFtZXx8dm9pZCAwIT09ZS5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9KSl9LEFUVFI6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcj1zZS5hdHRyKGksZSk7cmV0dXJuIG51bGw9PXI/IiE9Ij09PXQ6IXR8fChyKz0iIiwiPSI9PT10P3I9PT1uOiIhPSI9PT10P3IhPT1uOiJePSI9PT10P24mJjA9PT1yLmluZGV4T2Yobik6Iio9Ij09PXQ/biYmci5pbmRleE9mKG4pPi0xOiIkPSI9PT10P24mJnIuc2xpY2UoLW4ubGVuZ3RoKT09PW46In49Ij09PXQ/KCIgIityLnJlcGxhY2UoTSwiICIpKyIgIikuaW5kZXhPZihuKT4tMToifD0iPT09dCYmKHI9PT1ufHxyLnNsaWNlKDAsbi5sZW5ndGgrMSk9PT1uKyItIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oZSx0LG4saSxyKXt2YXIgbz0ibnRoIiE9PWUuc2xpY2UoMCwzKSxhPSJsYXN0IiE9PWUuc2xpY2UoLTQpLHM9Im9mLXR5cGUiPT09dDtyZXR1cm4gMT09PWkmJjA9PT1yP2Z1bmN0aW9uKGUpe3JldHVybiEhZS5wYXJlbnROb2RlfTpmdW5jdGlvbih0LG4sbCl7dmFyIHUsYyxmLGQsaCxwLGc9byE9PWE/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixtPXQucGFyZW50Tm9kZSx2PXMmJnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSx5PSFsJiYhcyxfPSExO2lmKG0pe2lmKG8pe2Zvcig7Zzspe2ZvcihkPXQ7ZD1kW2ddOylpZihzP2Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXY6MT09PWQubm9kZVR5cGUpcmV0dXJuITE7cD1nPSJvbmx5Ij09PWUmJiFwJiYibmV4dFNpYmxpbmcifXJldHVybiEwfWlmKHA9W2E/bS5maXJzdENoaWxkOm0ubGFzdENoaWxkXSxhJiZ5KXtmb3IoXz0oaD0odT0oYz0oZj0oZD1tKVtiXXx8KGRbYl09e30pKVtkLnVuaXF1ZUlEXXx8KGZbZC51bmlxdWVJRF09e30pKVtlXXx8W10pWzBdPT09RSYmdVsxXSkmJnVbMl0sZD1oJiZtLmNoaWxkTm9kZXNbaF07ZD0rK2gmJmQmJmRbZ118fChfPWg9MCl8fHAucG9wKCk7KWlmKDE9PT1kLm5vZGVUeXBlJiYrK18mJmQ9PT10KXtjW2VdPVtFLGgsX107YnJlYWt9fWVsc2UgaWYoeSYmKF89aD0odT0oYz0oZj0oZD10KVtiXXx8KGRbYl09e30pKVtkLnVuaXF1ZUlEXXx8KGZbZC51bmlxdWVJRF09e30pKVtlXXx8W10pWzBdPT09RSYmdVsxXSksITE9PT1fKWZvcig7KGQ9KytoJiZkJiZkW2ddfHwoXz1oPTApfHxwLnBvcCgpKSYmKChzP2Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PXY6MSE9PWQubm9kZVR5cGUpfHwhKytffHwoeSYmKChjPShmPWRbYl18fChkW2JdPXt9KSlbZC51bmlxdWVJRF18fChmW2QudW5pcXVlSURdPXt9KSlbZV09W0UsX10pLGQhPT10KSk7KTtyZXR1cm4oXy09cik9PT1pfHxfJWk9PTAmJl8vaT49MH19fSxQU0VVRE86ZnVuY3Rpb24oZSx0KXt2YXIgbixyPWkucHNldWRvc1tlXXx8aS5zZXRGaWx0ZXJzW2UudG9Mb3dlckNhc2UoKV18fHNlLmVycm9yKCJ1bnN1cHBvcnRlZCBwc2V1ZG86ICIrZSk7cmV0dXJuIHJbYl0/cih0KTpyLmxlbmd0aD4xPyhuPVtlLGUsIiIsdF0saS5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGUudG9Mb3dlckNhc2UoKSk/dWUoKGZ1bmN0aW9uKGUsbil7Zm9yKHZhciBpLG89cihlLHQpLGE9by5sZW5ndGg7YS0tOyllW2k9UChlLG9bYV0pXT0hKG5baV09b1thXSl9KSk6ZnVuY3Rpb24oZSl7cmV0dXJuIHIoZSwwLG4pfSk6cn19LHBzZXVkb3M6e25vdDp1ZSgoZnVuY3Rpb24oZSl7dmFyIHQ9W10sbj1bXSxpPXMoZS5yZXBsYWNlKFcsIiQxIikpO3JldHVybiBpW2JdP3VlKChmdW5jdGlvbihlLHQsbixyKXtmb3IodmFyIG8sYT1pKGUsbnVsbCxyLFtdKSxzPWUubGVuZ3RoO3MtLTspKG89YVtzXSkmJihlW3NdPSEodFtzXT1vKSl9KSk6ZnVuY3Rpb24oZSxyLG8pe3JldHVybiB0WzBdPWUsaSh0LG51bGwsbyxuKSx0WzBdPW51bGwsIW4ucG9wKCl9fSkpLGhhczp1ZSgoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBzZShlLHQpLmxlbmd0aD4wfX0pKSxjb250YWluczp1ZSgoZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZS5yZXBsYWNlKHRlLG5lKSxmdW5jdGlvbih0KXtyZXR1cm4odC50ZXh0Q29udGVudHx8cih0KSkuaW5kZXhPZihlKT4tMX19KSksbGFuZzp1ZSgoZnVuY3Rpb24oZSl7cmV0dXJuICQudGVzdChlfHwiIil8fHNlLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK2UpLGU9ZS5yZXBsYWNlKHRlLG5lKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKHQpe3ZhciBuO2Rve2lmKG49Zz90Lmxhbmc6dC5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIil8fHQuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuKG49bi50b0xvd2VyQ2FzZSgpKT09PWV8fDA9PT1uLmluZGV4T2YoZSsiLSIpfXdoaWxlKCh0PXQucGFyZW50Tm9kZSkmJjE9PT10Lm5vZGVUeXBlKTtyZXR1cm4hMX19KSksdGFyZ2V0OmZ1bmN0aW9uKHQpe3ZhciBuPWUubG9jYXRpb24mJmUubG9jYXRpb24uaGFzaDtyZXR1cm4gbiYmbi5zbGljZSgxKT09PXQuaWR9LHJvb3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1wfSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PWguYWN0aXZlRWxlbWVudCYmKCFoLmhhc0ZvY3VzfHxoLmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmdlKCExKSxkaXNhYmxlZDpnZSghMCksY2hlY2tlZDpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiEhZS5jaGVja2VkfHwib3B0aW9uIj09PXQmJiEhZS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxlbXB0eTpmdW5jdGlvbihlKXtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpaWYoZS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIWkucHNldWRvcy5lbXB0eShlKX0saGVhZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBHLnRlc3QoZS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBLLnRlc3QoZS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09ZS50eXBlJiYobnVsbD09KHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PXQudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om1lKChmdW5jdGlvbigpe3JldHVyblswXX0pKSxsYXN0Om1lKChmdW5jdGlvbihlLHQpe3JldHVyblt0LTFdfSkpLGVxOm1lKChmdW5jdGlvbihlLHQsbil7cmV0dXJuW248MD9uK3Q6bl19KSksZXZlbjptZSgoZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MDtuPHQ7bis9MillLnB1c2gobik7cmV0dXJuIGV9KSksb2RkOm1lKChmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0xO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pKSxsdDptZSgoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgaT1uPDA/bit0Om4+dD90Om47LS1pPj0wOyllLnB1c2goaSk7cmV0dXJuIGV9KSksZ3Q6bWUoKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIGk9bjwwP24rdDpuOysraTx0OyllLnB1c2goaSk7cmV0dXJuIGV9KSl9fSxpLnBzZXVkb3MubnRoPWkucHNldWRvcy5lcSx7cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0paS5wc2V1ZG9zW3RdPWhlKHQpO2Zvcih0IGlue3N1Ym1pdDohMCxyZXNldDohMH0paS5wc2V1ZG9zW3RdPXBlKHQpO2Z1bmN0aW9uIHllKCl7fWZ1bmN0aW9uIF9lKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgsaT0iIjt0PG47dCsrKWkrPWVbdF0udmFsdWU7cmV0dXJuIGl9ZnVuY3Rpb24gYmUoZSx0LG4pe3ZhciBpPXQuZGlyLHI9dC5uZXh0LG89cnx8aSxhPW4mJiJwYXJlbnROb2RlIj09PW8scz1UKys7cmV0dXJuIHQuZmlyc3Q/ZnVuY3Rpb24odCxuLHIpe2Zvcig7dD10W2ldOylpZigxPT09dC5ub2RlVHlwZXx8YSlyZXR1cm4gZSh0LG4scik7cmV0dXJuITF9OmZ1bmN0aW9uKHQsbixsKXt2YXIgdSxjLGYsZD1bRSxzXTtpZihsKXtmb3IoO3Q9dFtpXTspaWYoKDE9PT10Lm5vZGVUeXBlfHxhKSYmZSh0LG4sbCkpcmV0dXJuITB9ZWxzZSBmb3IoO3Q9dFtpXTspaWYoMT09PXQubm9kZVR5cGV8fGEpaWYoYz0oZj10W2JdfHwodFtiXT17fSkpW3QudW5pcXVlSURdfHwoZlt0LnVuaXF1ZUlEXT17fSksciYmcj09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl0PXRbaV18fHQ7ZWxzZXtpZigodT1jW29dKSYmdVswXT09PUUmJnVbMV09PT1zKXJldHVybiBkWzJdPXVbMl07aWYoY1tvXT1kLGRbMl09ZSh0LG4sbCkpcmV0dXJuITB9cmV0dXJuITF9fWZ1bmN0aW9uIHdlKGUpe3JldHVybiBlLmxlbmd0aD4xP2Z1bmN0aW9uKHQsbixpKXtmb3IodmFyIHI9ZS5sZW5ndGg7ci0tOylpZighZVtyXSh0LG4saSkpcmV0dXJuITE7cmV0dXJuITB9OmVbMF19ZnVuY3Rpb24gRWUoZSx0LG4saSxyKXtmb3IodmFyIG8sYT1bXSxzPTAsbD1lLmxlbmd0aCx1PW51bGwhPXQ7czxsO3MrKykobz1lW3NdKSYmKG4mJiFuKG8saSxyKXx8KGEucHVzaChvKSx1JiZ0LnB1c2gocykpKTtyZXR1cm4gYX1mdW5jdGlvbiBUZShlLHQsbixpLHIsbyl7cmV0dXJuIGkmJiFpW2JdJiYoaT1UZShpKSksciYmIXJbYl0mJihyPVRlKHIsbykpLHVlKChmdW5jdGlvbihvLGEscyxsKXt2YXIgdSxjLGYsZD1bXSxoPVtdLHA9YS5sZW5ndGgsZz1vfHxmdW5jdGlvbihlLHQsbil7Zm9yKHZhciBpPTAscj10Lmxlbmd0aDtpPHI7aSsrKXNlKGUsdFtpXSxuKTtyZXR1cm4gbn0odHx8IioiLHMubm9kZVR5cGU/W3NdOnMsW10pLG09IWV8fCFvJiZ0P2c6RWUoZyxkLGUscyxsKSx2PW4/cnx8KG8/ZTpwfHxpKT9bXTphOm07aWYobiYmbihtLHYscyxsKSxpKWZvcih1PUVlKHYsaCksaSh1LFtdLHMsbCksYz11Lmxlbmd0aDtjLS07KShmPXVbY10pJiYodltoW2NdXT0hKG1baFtjXV09ZikpO2lmKG8pe2lmKHJ8fGUpe2lmKHIpe2Zvcih1PVtdLGM9di5sZW5ndGg7Yy0tOykoZj12W2NdKSYmdS5wdXNoKG1bY109Zik7cihudWxsLHY9W10sdSxsKX1mb3IoYz12Lmxlbmd0aDtjLS07KShmPXZbY10pJiYodT1yP1AobyxmKTpkW2NdKT4tMSYmKG9bdV09IShhW3VdPWYpKX19ZWxzZSB2PUVlKHY9PT1hP3Yuc3BsaWNlKHAsdi5sZW5ndGgpOnYpLHI/cihudWxsLGEsdixsKTpMLmFwcGx5KGEsdil9KSl9ZnVuY3Rpb24gQ2UoZSl7Zm9yKHZhciB0LG4scixvPWUubGVuZ3RoLGE9aS5yZWxhdGl2ZVtlWzBdLnR5cGVdLHM9YXx8aS5yZWxhdGl2ZVsiICJdLGw9YT8xOjAsYz1iZSgoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10fSkscywhMCksZj1iZSgoZnVuY3Rpb24oZSl7cmV0dXJuIFAodCxlKT4tMX0pLHMsITApLGQ9W2Z1bmN0aW9uKGUsbixpKXt2YXIgcj0hYSYmKGl8fG4hPT11KXx8KCh0PW4pLm5vZGVUeXBlP2MoZSxuLGkpOmYoZSxuLGkpKTtyZXR1cm4gdD1udWxsLHJ9XTtsPG87bCsrKWlmKG49aS5yZWxhdGl2ZVtlW2xdLnR5cGVdKWQ9W2JlKHdlKGQpLG4pXTtlbHNle2lmKChuPWkuZmlsdGVyW2VbbF0udHlwZV0uYXBwbHkobnVsbCxlW2xdLm1hdGNoZXMpKVtiXSl7Zm9yKHI9KytsO3I8byYmIWkucmVsYXRpdmVbZVtyXS50eXBlXTtyKyspO3JldHVybiBUZShsPjEmJndlKGQpLGw+MSYmX2UoZS5zbGljZSgwLGwtMSkuY29uY2F0KHt2YWx1ZToiICI9PT1lW2wtMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZShXLCIkMSIpLG4sbDxyJiZDZShlLnNsaWNlKGwscikpLHI8byYmQ2UoZT1lLnNsaWNlKHIpKSxyPG8mJl9lKGUpKX1kLnB1c2gobil9cmV0dXJuIHdlKGQpfXJldHVybiB5ZS5wcm90b3R5cGU9aS5maWx0ZXJzPWkucHNldWRvcyxpLnNldEZpbHRlcnM9bmV3IHllLGE9c2UudG9rZW5pemU9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8sYSxzLGwsdSxjPXhbZSsiICJdO2lmKGMpcmV0dXJuIHQ/MDpjLnNsaWNlKDApO2ZvcihzPWUsbD1bXSx1PWkucHJlRmlsdGVyO3M7KXtmb3IoYSBpbiBuJiYhKHI9VS5leGVjKHMpKXx8KHImJihzPXMuc2xpY2UoclswXS5sZW5ndGgpfHxzKSxsLnB1c2gobz1bXSkpLG49ITEsKHI9US5leGVjKHMpKSYmKG49ci5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6bix0eXBlOnJbMF0ucmVwbGFjZShXLCIgIil9KSxzPXMuc2xpY2Uobi5sZW5ndGgpKSxpLmZpbHRlcikhKHI9WFthXS5leGVjKHMpKXx8dVthXSYmIShyPXVbYV0ocikpfHwobj1yLnNoaWZ0KCksby5wdXNoKHt2YWx1ZTpuLHR5cGU6YSxtYXRjaGVzOnJ9KSxzPXMuc2xpY2Uobi5sZW5ndGgpKTtpZighbilicmVha31yZXR1cm4gdD9zLmxlbmd0aDpzP3NlLmVycm9yKGUpOngoZSxsKS5zbGljZSgwKX0scz1zZS5jb21waWxlPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxvPVtdLHM9U1tlKyIgIl07aWYoIXMpe2Zvcih0fHwodD1hKGUpKSxuPXQubGVuZ3RoO24tLTspKHM9Q2UodFtuXSkpW2JdP3IucHVzaChzKTpvLnB1c2gocyk7cz1TKGUsZnVuY3Rpb24oZSx0KXt2YXIgbj10Lmxlbmd0aD4wLHI9ZS5sZW5ndGg+MCxvPWZ1bmN0aW9uKG8sYSxzLGwsYyl7dmFyIGYscCxtLHY9MCx5PSIwIixfPW8mJltdLGI9W10sdz11LFQ9b3x8ciYmaS5maW5kLlRBRygiKiIsYyksQz1FKz1udWxsPT13PzE6TWF0aC5yYW5kb20oKXx8LjEseD1ULmxlbmd0aDtmb3IoYyYmKHU9YT09aHx8YXx8Yyk7eSE9PXgmJm51bGwhPShmPVRbeV0pO3krKyl7aWYociYmZil7Zm9yKHA9MCxhfHxmLm93bmVyRG9jdW1lbnQ9PWh8fChkKGYpLHM9IWcpO209ZVtwKytdOylpZihtKGYsYXx8aCxzKSl7bC5wdXNoKGYpO2JyZWFrfWMmJihFPUMpfW4mJigoZj0hbSYmZikmJnYtLSxvJiZfLnB1c2goZikpfWlmKHYrPXksbiYmeSE9PXYpe2ZvcihwPTA7bT10W3ArK107KW0oXyxiLGEscyk7aWYobyl7aWYodj4wKWZvcig7eS0tOylfW3ldfHxiW3ldfHwoYlt5XT1PLmNhbGwobCkpO2I9RWUoYil9TC5hcHBseShsLGIpLGMmJiFvJiZiLmxlbmd0aD4wJiZ2K3QubGVuZ3RoPjEmJnNlLnVuaXF1ZVNvcnQobCl9cmV0dXJuIGMmJihFPUMsdT13KSxffTtyZXR1cm4gbj91ZShvKTpvfShvLHIpKSxzLnNlbGVjdG9yPWV9cmV0dXJuIHN9LGw9c2Uuc2VsZWN0PWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvLGwsdSxjLGYsZD0iZnVuY3Rpb24iPT10eXBlb2YgZSYmZSxoPSFyJiZhKGU9ZC5zZWxlY3Rvcnx8ZSk7aWYobj1ufHxbXSwxPT09aC5sZW5ndGgpe2lmKChsPWhbMF09aFswXS5zbGljZSgwKSkubGVuZ3RoPjImJiJJRCI9PT0odT1sWzBdKS50eXBlJiY5PT09dC5ub2RlVHlwZSYmZyYmaS5yZWxhdGl2ZVtsWzFdLnR5cGVdKXtpZighKHQ9KGkuZmluZC5JRCh1Lm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksdCl8fFtdKVswXSkpcmV0dXJuIG47ZCYmKHQ9dC5wYXJlbnROb2RlKSxlPWUuc2xpY2UobC5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9Zm9yKG89WC5uZWVkc0NvbnRleHQudGVzdChlKT8wOmwubGVuZ3RoO28tLSYmKHU9bFtvXSwhaS5yZWxhdGl2ZVtjPXUudHlwZV0pOylpZigoZj1pLmZpbmRbY10pJiYocj1mKHUubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSxlZS50ZXN0KGxbMF0udHlwZSkmJnZlKHQucGFyZW50Tm9kZSl8fHQpKSl7aWYobC5zcGxpY2UobywxKSwhKGU9ci5sZW5ndGgmJl9lKGwpKSlyZXR1cm4gTC5hcHBseShuLHIpLG47YnJlYWt9fXJldHVybihkfHxzKGUsaCkpKHIsdCwhZyxuLCF0fHxlZS50ZXN0KGUpJiZ2ZSh0LnBhcmVudE5vZGUpfHx0KSxufSxuLnNvcnRTdGFibGU9Yi5zcGxpdCgiIikuc29ydChEKS5qb2luKCIiKT09PWIsbi5kZXRlY3REdXBsaWNhdGVzPSEhZixkKCksbi5zb3J0RGV0YWNoZWQ9Y2UoKGZ1bmN0aW9uKGUpe3JldHVybiAxJmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oaC5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpKX0pKSxjZSgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KSl8fGZlKCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoIiwoZnVuY3Rpb24oZSx0LG4pe2lmKCFuKXJldHVybiBlLmdldEF0dHJpYnV0ZSh0LCJ0eXBlIj09PXQudG9Mb3dlckNhc2UoKT8xOjIpfSkpLG4uYXR0cmlidXRlcyYmY2UoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD0iPGlucHV0Lz4iLGUuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIiksIiI9PT1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfSkpfHxmZSgidmFsdWUiLChmdW5jdGlvbihlLHQsbil7aWYoIW4mJiJpbnB1dCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpcmV0dXJuIGUuZGVmYXVsdFZhbHVlfSkpLGNlKChmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIil9KSl8fGZlKFIsKGZ1bmN0aW9uKGUsdCxuKXt2YXIgaTtpZighbilyZXR1cm4hMD09PWVbdF0/dC50b0xvd2VyQ2FzZSgpOihpPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJmkuc3BlY2lmaWVkP2kudmFsdWU6bnVsbH0pKSxzZX0oaSk7Qy5maW5kPVMsQy5leHByPVMuc2VsZWN0b3JzLEMuZXhwclsiOiJdPUMuZXhwci5wc2V1ZG9zLEMudW5pcXVlU29ydD1DLnVuaXF1ZT1TLnVuaXF1ZVNvcnQsQy50ZXh0PVMuZ2V0VGV4dCxDLmlzWE1MRG9jPVMuaXNYTUwsQy5jb250YWlucz1TLmNvbnRhaW5zLEMuZXNjYXBlU2VsZWN0b3I9Uy5lc2NhcGU7dmFyIE49ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgaT1bXSxyPXZvaWQgMCE9PW47KGU9ZVt0XSkmJjkhPT1lLm5vZGVUeXBlOylpZigxPT09ZS5ub2RlVHlwZSl7aWYociYmQyhlKS5pcyhuKSlicmVhaztpLnB1c2goZSl9cmV0dXJuIGl9LEQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpMT09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59LEE9Qy5leHByLm1hdGNoLm5lZWRzQ29udGV4dDtmdW5jdGlvbiBrKGUsdCl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXQudG9Mb3dlckNhc2UoKX12YXIgTz0vXjwoW2Etel1bXlwvXDA+Olx4MjBcdFxyXG5cZl0qKVtceDIwXHRcclxuXGZdKlwvPz4oPzo8XC9cMT58KSQvaTtmdW5jdGlvbiBJKGUsdCxuKXtyZXR1cm4gdih0KT9DLmdyZXAoZSwoZnVuY3Rpb24oZSxpKXtyZXR1cm4hIXQuY2FsbChlLGksZSkhPT1ufSkpOnQubm9kZVR5cGU/Qy5ncmVwKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dCE9PW59KSk6InN0cmluZyIhPXR5cGVvZiB0P0MuZ3JlcChlLChmdW5jdGlvbihlKXtyZXR1cm4gYy5jYWxsKHQsZSk+LTEhPT1ufSkpOkMuZmlsdGVyKHQsZSxuKX1DLmZpbHRlcj1mdW5jdGlvbihlLHQsbil7dmFyIGk9dFswXTtyZXR1cm4gbiYmKGU9Ijpub3QoIitlKyIpIiksMT09PXQubGVuZ3RoJiYxPT09aS5ub2RlVHlwZT9DLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGksZSk/W2ldOltdOkMuZmluZC5tYXRjaGVzKGUsQy5ncmVwKHQsKGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZX0pKSl9LEMuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG4saT10aGlzLmxlbmd0aCxyPXRoaXM7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB0aGlzLnB1c2hTdGFjayhDKGUpLmZpbHRlcigoZnVuY3Rpb24oKXtmb3IodD0wO3Q8aTt0KyspaWYoQy5jb250YWlucyhyW3RdLHRoaXMpKXJldHVybiEwfSkpKTtmb3Iobj10aGlzLnB1c2hTdGFjayhbXSksdD0wO3Q8aTt0KyspQy5maW5kKGUsclt0XSxuKTtyZXR1cm4gaT4xP0MudW5pcXVlU29ydChuKTpufSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKEkodGhpcyxlfHxbXSwhMSkpfSxub3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKEkodGhpcyxlfHxbXSwhMCkpfSxpczpmdW5jdGlvbihlKXtyZXR1cm4hIUkodGhpcywic3RyaW5nIj09dHlwZW9mIGUmJkEudGVzdChlKT9DKGUpOmV8fFtdLCExKS5sZW5ndGh9fSk7dmFyIEwsaj0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSspKSQvOyhDLmZuLmluaXQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLHI7aWYoIWUpcmV0dXJuIHRoaXM7aWYobj1ufHxMLCJzdHJpbmciPT10eXBlb2YgZSl7aWYoIShpPSI8Ij09PWVbMF0mJiI+Ij09PWVbZS5sZW5ndGgtMV0mJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06ai5leGVjKGUpKXx8IWlbMV0mJnQpcmV0dXJuIXR8fHQuanF1ZXJ5Pyh0fHxuKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IodCkuZmluZChlKTtpZihpWzFdKXtpZih0PXQgaW5zdGFuY2VvZiBDP3RbMF06dCxDLm1lcmdlKHRoaXMsQy5wYXJzZUhUTUwoaVsxXSx0JiZ0Lm5vZGVUeXBlP3Qub3duZXJEb2N1bWVudHx8dDpfLCEwKSksTy50ZXN0KGlbMV0pJiZDLmlzUGxhaW5PYmplY3QodCkpZm9yKGkgaW4gdCl2KHRoaXNbaV0pP3RoaXNbaV0odFtpXSk6dGhpcy5hdHRyKGksdFtpXSk7cmV0dXJuIHRoaXN9cmV0dXJuKHI9Xy5nZXRFbGVtZW50QnlJZChpWzJdKSkmJih0aGlzWzBdPXIsdGhpcy5sZW5ndGg9MSksdGhpc31yZXR1cm4gZS5ub2RlVHlwZT8odGhpc1swXT1lLHRoaXMubGVuZ3RoPTEsdGhpcyk6dihlKT92b2lkIDAhPT1uLnJlYWR5P24ucmVhZHkoZSk6ZShDKTpDLm1ha2VBcnJheShlLHRoaXMpfSkucHJvdG90eXBlPUMuZm4sTD1DKF8pO3ZhciBQPS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLFI9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07ZnVuY3Rpb24gcShlLHQpe2Zvcig7KGU9ZVt0XSkmJjEhPT1lLm5vZGVUeXBlOyk7cmV0dXJuIGV9Qy5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihlKXt2YXIgdD1DKGUsdGhpcyksbj10Lmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxuO2UrKylpZihDLmNvbnRhaW5zKHRoaXMsdFtlXSkpcmV0dXJuITB9KSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbixpPTAscj10aGlzLmxlbmd0aCxvPVtdLGE9InN0cmluZyIhPXR5cGVvZiBlJiZDKGUpO2lmKCFBLnRlc3QoZSkpZm9yKDtpPHI7aSsrKWZvcihuPXRoaXNbaV07biYmbiE9PXQ7bj1uLnBhcmVudE5vZGUpaWYobi5ub2RlVHlwZTwxMSYmKGE/YS5pbmRleChuKT4tMToxPT09bi5ub2RlVHlwZSYmQy5maW5kLm1hdGNoZXNTZWxlY3RvcihuLGUpKSl7by5wdXNoKG4pO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhvLmxlbmd0aD4xP0MudW5pcXVlU29ydChvKTpvKX0saW5kZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/InN0cmluZyI9PXR5cGVvZiBlP2MuY2FsbChDKGUpLHRoaXNbMF0pOmMuY2FsbCh0aGlzLGUuanF1ZXJ5P2VbMF06ZSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soQy51bmlxdWVTb3J0KEMubWVyZ2UodGhpcy5nZXQoKSxDKGUsdCkpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWU/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoZSkpfX0pLEMuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmMTEhPT10Lm5vZGVUeXBlP3Q6bnVsbH0scGFyZW50czpmdW5jdGlvbihlKXtyZXR1cm4gTihlLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIE4oZSwicGFyZW50Tm9kZSIsbil9LG5leHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHEoZSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihlKXtyZXR1cm4gcShlLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihlKXtyZXR1cm4gTihlLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBOKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBOKGUsIm5leHRTaWJsaW5nIixuKX0scHJldlVudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gTihlLCJwcmV2aW91c1NpYmxpbmciLG4pfSxzaWJsaW5nczpmdW5jdGlvbihlKXtyZXR1cm4gRCgoZS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlKX0sY2hpbGRyZW46ZnVuY3Rpb24oZSl7cmV0dXJuIEQoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUuY29udGVudERvY3VtZW50JiZhKGUuY29udGVudERvY3VtZW50KT9lLmNvbnRlbnREb2N1bWVudDooayhlLCJ0ZW1wbGF0ZSIpJiYoZT1lLmNvbnRlbnR8fGUpLEMubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9fSwoZnVuY3Rpb24oZSx0KXtDLmZuW2VdPWZ1bmN0aW9uKG4saSl7dmFyIHI9Qy5tYXAodGhpcyx0LG4pO3JldHVybiJVbnRpbCIhPT1lLnNsaWNlKC01KSYmKGk9biksaSYmInN0cmluZyI9PXR5cGVvZiBpJiYocj1DLmZpbHRlcihpLHIpKSx0aGlzLmxlbmd0aD4xJiYoUltlXXx8Qy51bmlxdWVTb3J0KHIpLFAudGVzdChlKSYmci5yZXZlcnNlKCkpLHRoaXMucHVzaFN0YWNrKHIpfX0pKTt2YXIgSD0vW15ceDIwXHRcclxuXGZdKy9nO2Z1bmN0aW9uIEYoZSl7cmV0dXJuIGV9ZnVuY3Rpb24gQihlKXt0aHJvdyBlfWZ1bmN0aW9uIE0oZSx0LG4saSl7dmFyIHI7dHJ5e2UmJnYocj1lLnByb21pc2UpP3IuY2FsbChlKS5kb25lKHQpLmZhaWwobik6ZSYmdihyPWUudGhlbik/ci5jYWxsKGUsdCxuKTp0LmFwcGx5KHZvaWQgMCxbZV0uc2xpY2UoaSkpfWNhdGNoKGUpe24uYXBwbHkodm9pZCAwLFtlXSl9fUMuQ2FsbGJhY2tzPWZ1bmN0aW9uKGUpe2U9InN0cmluZyI9PXR5cGVvZiBlP2Z1bmN0aW9uKGUpe3ZhciB0PXt9O3JldHVybiBDLmVhY2goZS5tYXRjaChIKXx8W10sKGZ1bmN0aW9uKGUsbil7dFtuXT0hMH0pKSx0fShlKTpDLmV4dGVuZCh7fSxlKTt2YXIgdCxuLGkscixvPVtdLGE9W10scz0tMSxsPWZ1bmN0aW9uKCl7Zm9yKHI9cnx8ZS5vbmNlLGk9dD0hMDthLmxlbmd0aDtzPS0xKWZvcihuPWEuc2hpZnQoKTsrK3M8by5sZW5ndGg7KSExPT09b1tzXS5hcHBseShuWzBdLG5bMV0pJiZlLnN0b3BPbkZhbHNlJiYocz1vLmxlbmd0aCxuPSExKTtlLm1lbW9yeXx8KG49ITEpLHQ9ITEsciYmKG89bj9bXToiIil9LHU9e2FkZDpmdW5jdGlvbigpe3JldHVybiBvJiYobiYmIXQmJihzPW8ubGVuZ3RoLTEsYS5wdXNoKG4pKSxmdW5jdGlvbiB0KG4pe0MuZWFjaChuLChmdW5jdGlvbihuLGkpe3YoaSk/ZS51bmlxdWUmJnUuaGFzKGkpfHxvLnB1c2goaSk6aSYmaS5sZW5ndGgmJiJzdHJpbmciIT09RShpKSYmdChpKX0pKX0oYXJndW1lbnRzKSxuJiYhdCYmbCgpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gQy5lYWNoKGFyZ3VtZW50cywoZnVuY3Rpb24oZSx0KXtmb3IodmFyIG47KG49Qy5pbkFycmF5KHQsbyxuKSk+LTE7KW8uc3BsaWNlKG4sMSksbjw9cyYmcy0tfSkpLHRoaXN9LGhhczpmdW5jdGlvbihlKXtyZXR1cm4gZT9DLmluQXJyYXkoZSxvKT4tMTpvLmxlbmd0aD4wfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBvJiYobz1bXSksdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiByPWE9W10sbz1uPSIiLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIW99LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gcj1hPVtdLG58fHR8fChvPW49IiIpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiEhcn0sZmlyZVdpdGg6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gcnx8KG49W2UsKG49bnx8W10pLnNsaWNlP24uc2xpY2UoKTpuXSxhLnB1c2gobiksdHx8bCgpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIHUuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFpfX07cmV0dXJuIHV9LEMuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgdD1bWyJub3RpZnkiLCJwcm9ncmVzcyIsQy5DYWxsYmFja3MoIm1lbW9yeSIpLEMuQ2FsbGJhY2tzKCJtZW1vcnkiKSwyXSxbInJlc29sdmUiLCJkb25lIixDLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxDLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwwLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsQy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksQy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksMSwicmVqZWN0ZWQiXV0sbj0icGVuZGluZyIscj17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gbn0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIG8uZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSxjYXRjaDpmdW5jdGlvbihlKXtyZXR1cm4gci50aGVuKG51bGwsZSl9LHBpcGU6ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHM7cmV0dXJuIEMuRGVmZXJyZWQoKGZ1bmN0aW9uKG4pe0MuZWFjaCh0LChmdW5jdGlvbih0LGkpe3ZhciByPXYoZVtpWzRdXSkmJmVbaVs0XV07b1tpWzFdXSgoZnVuY3Rpb24oKXt2YXIgZT1yJiZyLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlJiZ2KGUucHJvbWlzZSk/ZS5wcm9taXNlKCkucHJvZ3Jlc3Mobi5ub3RpZnkpLmRvbmUobi5yZXNvbHZlKS5mYWlsKG4ucmVqZWN0KTpuW2lbMF0rIldpdGgiXSh0aGlzLHI/W2VdOmFyZ3VtZW50cyl9KSl9KSksZT1udWxsfSkpLnByb21pc2UoKX0sdGhlbjpmdW5jdGlvbihlLG4scil7dmFyIG89MDtmdW5jdGlvbiBhKGUsdCxuLHIpe3JldHVybiBmdW5jdGlvbigpe3ZhciBzPXRoaXMsbD1hcmd1bWVudHMsdT1mdW5jdGlvbigpe3ZhciBpLHU7aWYoIShlPG8pKXtpZigoaT1uLmFwcGx5KHMsbCkpPT09dC5wcm9taXNlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlbmFibGUgc2VsZi1yZXNvbHV0aW9uIik7dT1pJiYoIm9iamVjdCI9PXR5cGVvZiBpfHwiZnVuY3Rpb24iPT10eXBlb2YgaSkmJmkudGhlbix2KHUpP3I/dS5jYWxsKGksYShvLHQsRixyKSxhKG8sdCxCLHIpKToobysrLHUuY2FsbChpLGEobyx0LEYsciksYShvLHQsQixyKSxhKG8sdCxGLHQubm90aWZ5V2l0aCkpKToobiE9PUYmJihzPXZvaWQgMCxsPVtpXSksKHJ8fHQucmVzb2x2ZVdpdGgpKHMsbCkpfX0sYz1yP3U6ZnVuY3Rpb24oKXt0cnl7dSgpfWNhdGNoKGkpe0MuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayYmQy5EZWZlcnJlZC5leGNlcHRpb25Ib29rKGksYy5zdGFja1RyYWNlKSxlKzE+PW8mJihuIT09QiYmKHM9dm9pZCAwLGw9W2ldKSx0LnJlamVjdFdpdGgocyxsKSl9fTtlP2MoKTooQy5EZWZlcnJlZC5nZXRTdGFja0hvb2smJihjLnN0YWNrVHJhY2U9Qy5EZWZlcnJlZC5nZXRTdGFja0hvb2soKSksaS5zZXRUaW1lb3V0KGMpKX19cmV0dXJuIEMuRGVmZXJyZWQoKGZ1bmN0aW9uKGkpe3RbMF1bM10uYWRkKGEoMCxpLHYocik/cjpGLGkubm90aWZ5V2l0aCkpLHRbMV1bM10uYWRkKGEoMCxpLHYoZSk/ZTpGKSksdFsyXVszXS5hZGQoYSgwLGksdihuKT9uOkIpKX0pKS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWU/Qy5leHRlbmQoZSxyKTpyfX0sbz17fTtyZXR1cm4gQy5lYWNoKHQsKGZ1bmN0aW9uKGUsaSl7dmFyIGE9aVsyXSxzPWlbNV07cltpWzFdXT1hLmFkZCxzJiZhLmFkZCgoZnVuY3Rpb24oKXtuPXN9KSx0WzMtZV1bMl0uZGlzYWJsZSx0WzMtZV1bM10uZGlzYWJsZSx0WzBdWzJdLmxvY2ssdFswXVszXS5sb2NrKSxhLmFkZChpWzNdLmZpcmUpLG9baVswXV09ZnVuY3Rpb24oKXtyZXR1cm4gb1tpWzBdKyJXaXRoIl0odGhpcz09PW8/dm9pZCAwOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxvW2lbMF0rIldpdGgiXT1hLmZpcmVXaXRofSkpLHIucHJvbWlzZShvKSxlJiZlLmNhbGwobyxvKSxvfSx3aGVuOmZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj10LGk9QXJyYXkobikscj1zLmNhbGwoYXJndW1lbnRzKSxvPUMuRGVmZXJyZWQoKSxhPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXtpW2VdPXRoaXMscltlXT1hcmd1bWVudHMubGVuZ3RoPjE/cy5jYWxsKGFyZ3VtZW50cyk6biwtLXR8fG8ucmVzb2x2ZVdpdGgoaSxyKX19O2lmKHQ8PTEmJihNKGUsby5kb25lKGEobikpLnJlc29sdmUsby5yZWplY3QsIXQpLCJwZW5kaW5nIj09PW8uc3RhdGUoKXx8dihyW25dJiZyW25dLnRoZW4pKSlyZXR1cm4gby50aGVuKCk7Zm9yKDtuLS07KU0ocltuXSxhKG4pLG8ucmVqZWN0KTtyZXR1cm4gby5wcm9taXNlKCl9fSk7dmFyIFc9L14oRXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJKUVycm9yJC87Qy5EZWZlcnJlZC5leGNlcHRpb25Ib29rPWZ1bmN0aW9uKGUsdCl7aS5jb25zb2xlJiZpLmNvbnNvbGUud2FybiYmZSYmVy50ZXN0KGUubmFtZSkmJmkuY29uc29sZS53YXJuKCJqUXVlcnkuRGVmZXJyZWQgZXhjZXB0aW9uOiAiK2UubWVzc2FnZSxlLnN0YWNrLHQpfSxDLnJlYWR5RXhjZXB0aW9uPWZ1bmN0aW9uKGUpe2kuc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfTt2YXIgVT1DLkRlZmVycmVkKCk7ZnVuY3Rpb24gUSgpe18ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsUSksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixRKSxDLnJlYWR5KCl9Qy5mbi5yZWFkeT1mdW5jdGlvbihlKXtyZXR1cm4gVS50aGVuKGUpLmNhdGNoKChmdW5jdGlvbihlKXtDLnJlYWR5RXhjZXB0aW9uKGUpfSkpLHRoaXN9LEMuZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLHJlYWR5OmZ1bmN0aW9uKGUpeyghMD09PWU/LS1DLnJlYWR5V2FpdDpDLmlzUmVhZHkpfHwoQy5pc1JlYWR5PSEwLCEwIT09ZSYmLS1DLnJlYWR5V2FpdD4wfHxVLnJlc29sdmVXaXRoKF8sW0NdKSl9fSksQy5yZWFkeS50aGVuPVUudGhlbiwiY29tcGxldGUiPT09Xy5yZWFkeVN0YXRlfHwibG9hZGluZyIhPT1fLnJlYWR5U3RhdGUmJiFfLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9pLnNldFRpbWVvdXQoQy5yZWFkeSk6KF8uYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsUSksaS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixRKSk7dmFyIHo9ZnVuY3Rpb24oZSx0LG4saSxyLG8sYSl7dmFyIHM9MCxsPWUubGVuZ3RoLHU9bnVsbD09bjtpZigib2JqZWN0Ij09PUUobikpZm9yKHMgaW4gcj0hMCxuKXooZSx0LHMsbltzXSwhMCxvLGEpO2Vsc2UgaWYodm9pZCAwIT09aSYmKHI9ITAsdihpKXx8KGE9ITApLHUmJihhPyh0LmNhbGwoZSxpKSx0PW51bGwpOih1PXQsdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHUuY2FsbChDKGUpLG4pfSkpLHQpKWZvcig7czxsO3MrKyl0KGVbc10sbixhP2k6aS5jYWxsKGVbc10scyx0KGVbc10sbikpKTtyZXR1cm4gcj9lOnU/dC5jYWxsKGUpOmw/dChlWzBdLG4pOm99LFY9L14tbXMtLywkPS8tKFthLXpdKS9nO2Z1bmN0aW9uIFgoZSx0KXtyZXR1cm4gdC50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIFkoZSl7cmV0dXJuIGUucmVwbGFjZShWLCJtcy0iKS5yZXBsYWNlKCQsWCl9dmFyIEs9ZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfHw5PT09ZS5ub2RlVHlwZXx8IStlLm5vZGVUeXBlfTtmdW5jdGlvbiBHKCl7dGhpcy5leHBhbmRvPUMuZXhwYW5kbytHLnVpZCsrfUcudWlkPTEsRy5wcm90b3R5cGU9e2NhY2hlOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4gdHx8KHQ9e30sSyhlKSYmKGUubm9kZVR5cGU/ZVt0aGlzLmV4cGFuZG9dPXQ6T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdGhpcy5leHBhbmRvLHt2YWx1ZTp0LGNvbmZpZ3VyYWJsZTohMH0pKSksdH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxyPXRoaXMuY2FjaGUoZSk7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJbWSh0KV09bjtlbHNlIGZvcihpIGluIHQpcltZKGkpXT10W2ldO3JldHVybiByfSxnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLmNhY2hlKGUpOmVbdGhpcy5leHBhbmRvXSYmZVt0aGlzLmV4cGFuZG9dW1kodCldfSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB2b2lkIDA9PT10fHx0JiYic3RyaW5nIj09dHlwZW9mIHQmJnZvaWQgMD09PW4/dGhpcy5nZXQoZSx0KToodGhpcy5zZXQoZSx0LG4pLHZvaWQgMCE9PW4/bjp0KX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCl7dmFyIG4saT1lW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09aSl7aWYodm9pZCAwIT09dCl7bj0odD1BcnJheS5pc0FycmF5KHQpP3QubWFwKFkpOih0PVkodCkpaW4gaT9bdF06dC5tYXRjaChIKXx8W10pLmxlbmd0aDtmb3IoO24tLTspZGVsZXRlIGlbdFtuXV19KHZvaWQgMD09PXR8fEMuaXNFbXB0eU9iamVjdChpKSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT12b2lkIDA6ZGVsZXRlIGVbdGhpcy5leHBhbmRvXSl9fSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4gdm9pZCAwIT09dCYmIUMuaXNFbXB0eU9iamVjdCh0KX19O3ZhciBKPW5ldyBHLFo9bmV3IEcsZWU9L14oPzpce1tcd1xXXSpcfXxcW1tcd1xXXSpcXSkkLyx0ZT0vW0EtWl0vZztmdW5jdGlvbiBuZShlLHQsbil7dmFyIGk7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpaWYoaT0iZGF0YS0iK3QucmVwbGFjZSh0ZSwiLSQmIikudG9Mb3dlckNhc2UoKSwic3RyaW5nIj09dHlwZW9mKG49ZS5nZXRBdHRyaWJ1dGUoaSkpKXt0cnl7bj1mdW5jdGlvbihlKXtyZXR1cm4idHJ1ZSI9PT1lfHwiZmFsc2UiIT09ZSYmKCJudWxsIj09PWU/bnVsbDplPT09K2UrIiI/K2U6ZWUudGVzdChlKT9KU09OLnBhcnNlKGUpOmUpfShuKX1jYXRjaChlKXt9Wi5zZXQoZSx0LG4pfWVsc2Ugbj12b2lkIDA7cmV0dXJuIG59Qy5leHRlbmQoe2hhc0RhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIFouaGFzRGF0YShlKXx8Si5oYXNEYXRhKGUpfSxkYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gWi5hY2Nlc3MoZSx0LG4pfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7Wi5yZW1vdmUoZSx0KX0sX2RhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBKLmFjY2VzcyhlLHQsbil9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7Si5yZW1vdmUoZSx0KX19KSxDLmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihlLHQpe3ZhciBuLGkscixvPXRoaXNbMF0sYT1vJiZvLmF0dHJpYnV0ZXM7aWYodm9pZCAwPT09ZSl7aWYodGhpcy5sZW5ndGgmJihyPVouZ2V0KG8pLDE9PT1vLm5vZGVUeXBlJiYhSi5nZXQobywiaGFzRGF0YUF0dHJzIikpKXtmb3Iobj1hLmxlbmd0aDtuLS07KWFbbl0mJjA9PT0oaT1hW25dLm5hbWUpLmluZGV4T2YoImRhdGEtIikmJihpPVkoaS5zbGljZSg1KSksbmUobyxpLHJbaV0pKTtKLnNldChvLCJoYXNEYXRhQXR0cnMiLCEwKX1yZXR1cm4gcn1yZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGU/dGhpcy5lYWNoKChmdW5jdGlvbigpe1ouc2V0KHRoaXMsZSl9KSk6eih0aGlzLChmdW5jdGlvbih0KXt2YXIgbjtpZihvJiZ2b2lkIDA9PT10KXJldHVybiB2b2lkIDAhPT0obj1aLmdldChvLGUpKXx8dm9pZCAwIT09KG49bmUobyxlKSk/bjp2b2lkIDA7dGhpcy5lYWNoKChmdW5jdGlvbigpe1ouc2V0KHRoaXMsZSx0KX0pKX0pLG51bGwsdCxhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXtaLnJlbW92ZSh0aGlzLGUpfSkpfX0pLEMuZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihlLHQsbil7dmFyIGk7aWYoZSlyZXR1cm4gdD0odHx8ImZ4IikrInF1ZXVlIixpPUouZ2V0KGUsdCksbiYmKCFpfHxBcnJheS5pc0FycmF5KG4pP2k9Si5hY2Nlc3MoZSx0LEMubWFrZUFycmF5KG4pKTppLnB1c2gobikpLGl8fFtdfSxkZXF1ZXVlOmZ1bmN0aW9uKGUsdCl7dD10fHwiZngiO3ZhciBuPUMucXVldWUoZSx0KSxpPW4ubGVuZ3RoLHI9bi5zaGlmdCgpLG89Qy5fcXVldWVIb29rcyhlLHQpOyJpbnByb2dyZXNzIj09PXImJihyPW4uc2hpZnQoKSxpLS0pLHImJigiZngiPT09dCYmbi51bnNoaWZ0KCJpbnByb2dyZXNzIiksZGVsZXRlIG8uc3RvcCxyLmNhbGwoZSwoZnVuY3Rpb24oKXtDLmRlcXVldWUoZSx0KX0pLG8pKSwhaSYmbyYmby5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dCsicXVldWVIb29rcyI7cmV0dXJuIEouZ2V0KGUsbil8fEouYWNjZXNzKGUsbix7ZW1wdHk6Qy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKChmdW5jdGlvbigpe0oucmVtb3ZlKGUsW3QrInF1ZXVlIixuXSl9KSl9KX19KSxDLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPSJmeCIsbi0tKSxhcmd1bWVudHMubGVuZ3RoPG4/Qy5xdWV1ZSh0aGlzWzBdLGUpOnZvaWQgMD09PXQ/dGhpczp0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49Qy5xdWV1ZSh0aGlzLGUsdCk7Qy5fcXVldWVIb29rcyh0aGlzLGUpLCJmeCI9PT1lJiYiaW5wcm9ncmVzcyIhPT1uWzBdJiZDLmRlcXVldWUodGhpcyxlKX0pKX0sZGVxdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe0MuZGVxdWV1ZSh0aGlzLGUpfSkpfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnF1ZXVlKGV8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGUsdCl7dmFyIG4saT0xLHI9Qy5EZWZlcnJlZCgpLG89dGhpcyxhPXRoaXMubGVuZ3RoLHM9ZnVuY3Rpb24oKXstLWl8fHIucmVzb2x2ZVdpdGgobyxbb10pfTtmb3IoInN0cmluZyIhPXR5cGVvZiBlJiYodD1lLGU9dm9pZCAwKSxlPWV8fCJmeCI7YS0tOykobj1KLmdldChvW2FdLGUrInF1ZXVlSG9va3MiKSkmJm4uZW1wdHkmJihpKyssbi5lbXB0eS5hZGQocykpO3JldHVybiBzKCksci5wcm9taXNlKHQpfX0pO3ZhciBpZT0vWystXT8oPzpcZCpcLnwpXGQrKD86W2VFXVsrLV0/XGQrfCkvLnNvdXJjZSxyZT1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIraWUrIikoW2EteiVdKikkIiwiaSIpLG9lPVsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sYWU9Xy5kb2N1bWVudEVsZW1lbnQsc2U9ZnVuY3Rpb24oZSl7cmV0dXJuIEMuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfSxsZT17Y29tcG9zZWQ6ITB9O2FlLmdldFJvb3ROb2RlJiYoc2U9ZnVuY3Rpb24oZSl7cmV0dXJuIEMuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfHxlLmdldFJvb3ROb2RlKGxlKT09PWUub3duZXJEb2N1bWVudH0pO3ZhciB1ZT1mdW5jdGlvbihlLHQpe3JldHVybiJub25lIj09PShlPXR8fGUpLnN0eWxlLmRpc3BsYXl8fCIiPT09ZS5zdHlsZS5kaXNwbGF5JiZzZShlKSYmIm5vbmUiPT09Qy5jc3MoZSwiZGlzcGxheSIpfTt2YXIgY2U9e307ZnVuY3Rpb24gZmUoZSl7dmFyIHQsbj1lLm93bmVyRG9jdW1lbnQsaT1lLm5vZGVOYW1lLHI9Y2VbaV07cmV0dXJuIHJ8fCh0PW4uYm9keS5hcHBlbmRDaGlsZChuLmNyZWF0ZUVsZW1lbnQoaSkpLHI9Qy5jc3ModCwiZGlzcGxheSIpLHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSwibm9uZSI9PT1yJiYocj0iYmxvY2siKSxjZVtpXT1yLHIpfWZ1bmN0aW9uIGRlKGUsdCl7Zm9yKHZhciBuLGkscj1bXSxvPTAsYT1lLmxlbmd0aDtvPGE7bysrKShpPWVbb10pLnN0eWxlJiYobj1pLnN0eWxlLmRpc3BsYXksdD8oIm5vbmUiPT09biYmKHJbb109Si5nZXQoaSwiZGlzcGxheSIpfHxudWxsLHJbb118fChpLnN0eWxlLmRpc3BsYXk9IiIpKSwiIj09PWkuc3R5bGUuZGlzcGxheSYmdWUoaSkmJihyW29dPWZlKGkpKSk6Im5vbmUiIT09biYmKHJbb109Im5vbmUiLEouc2V0KGksImRpc3BsYXkiLG4pKSk7Zm9yKG89MDtvPGE7bysrKW51bGwhPXJbb10mJihlW29dLnN0eWxlLmRpc3BsYXk9cltvXSk7cmV0dXJuIGV9Qy5mbi5leHRlbmQoe3Nob3c6ZnVuY3Rpb24oKXtyZXR1cm4gZGUodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gZGUodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihlKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBlP2U/dGhpcy5zaG93KCk6dGhpcy5oaWRlKCk6dGhpcy5lYWNoKChmdW5jdGlvbigpe3VlKHRoaXMpP0ModGhpcykuc2hvdygpOkModGhpcykuaGlkZSgpfSkpfX0pO3ZhciBoZSxwZSxnZT0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSxtZT0vPChbYS16XVteXC9cMD5ceDIwXHRcclxuXGZdKikvaSx2ZT0vXiR8Xm1vZHVsZSR8XC8oPzpqYXZhfGVjbWEpc2NyaXB0L2k7aGU9Xy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkuYXBwZW5kQ2hpbGQoXy5jcmVhdGVFbGVtZW50KCJkaXYiKSksKHBlPV8uY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkuc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxwZS5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIikscGUuc2V0QXR0cmlidXRlKCJuYW1lIiwidCIpLGhlLmFwcGVuZENoaWxkKHBlKSxtLmNoZWNrQ2xvbmU9aGUuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGhlLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIsbS5ub0Nsb25lQ2hlY2tlZD0hIWhlLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZSxoZS5pbm5lckhUTUw9IjxvcHRpb24+PC9vcHRpb24+IixtLm9wdGlvbj0hIWhlLmxhc3RDaGlsZDt2YXIgeWU9e3RoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTtmdW5jdGlvbiBfZShlLHQpe3ZhciBuO3JldHVybiBuPXZvaWQgMCE9PWUuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0fHwiKiIpOnZvaWQgMCE9PWUucXVlcnlTZWxlY3RvckFsbD9lLnF1ZXJ5U2VsZWN0b3JBbGwodHx8IioiKTpbXSx2b2lkIDA9PT10fHx0JiZrKGUsdCk/Qy5tZXJnZShbZV0sbik6bn1mdW5jdGlvbiBiZShlLHQpe2Zvcih2YXIgbj0wLGk9ZS5sZW5ndGg7bjxpO24rKylKLnNldChlW25dLCJnbG9iYWxFdmFsIiwhdHx8Si5nZXQodFtuXSwiZ2xvYmFsRXZhbCIpKX15ZS50Ym9keT15ZS50Zm9vdD15ZS5jb2xncm91cD15ZS5jYXB0aW9uPXllLnRoZWFkLHllLnRoPXllLnRkLG0ub3B0aW9ufHwoeWUub3B0Z3JvdXA9eWUub3B0aW9uPVsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0pO3ZhciB3ZT0vPHwmIz9cdys7LztmdW5jdGlvbiBFZShlLHQsbixpLHIpe2Zvcih2YXIgbyxhLHMsbCx1LGMsZj10LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxkPVtdLGg9MCxwPWUubGVuZ3RoO2g8cDtoKyspaWYoKG89ZVtoXSl8fDA9PT1vKWlmKCJvYmplY3QiPT09RShvKSlDLm1lcmdlKGQsby5ub2RlVHlwZT9bb106byk7ZWxzZSBpZih3ZS50ZXN0KG8pKXtmb3IoYT1hfHxmLmFwcGVuZENoaWxkKHQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHM9KG1lLmV4ZWMobyl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksbD15ZVtzXXx8eWUuX2RlZmF1bHQsYS5pbm5lckhUTUw9bFsxXStDLmh0bWxQcmVmaWx0ZXIobykrbFsyXSxjPWxbMF07Yy0tOylhPWEubGFzdENoaWxkO0MubWVyZ2UoZCxhLmNoaWxkTm9kZXMpLChhPWYuZmlyc3RDaGlsZCkudGV4dENvbnRlbnQ9IiJ9ZWxzZSBkLnB1c2godC5jcmVhdGVUZXh0Tm9kZShvKSk7Zm9yKGYudGV4dENvbnRlbnQ9IiIsaD0wO289ZFtoKytdOylpZihpJiZDLmluQXJyYXkobyxpKT4tMSlyJiZyLnB1c2gobyk7ZWxzZSBpZih1PXNlKG8pLGE9X2UoZi5hcHBlbmRDaGlsZChvKSwic2NyaXB0IiksdSYmYmUoYSksbilmb3IoYz0wO289YVtjKytdOyl2ZS50ZXN0KG8udHlwZXx8IiIpJiZuLnB1c2gobyk7cmV0dXJuIGZ9dmFyIFRlPS9eKFteLl0qKSg/OlwuKC4rKXwpLztmdW5jdGlvbiBDZSgpe3JldHVybiEwfWZ1bmN0aW9uIHhlKCl7cmV0dXJuITF9ZnVuY3Rpb24gU2UoZSx0KXtyZXR1cm4gZT09PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBfLmFjdGl2ZUVsZW1lbnR9Y2F0Y2goZSl7fX0oKT09KCJmb2N1cyI9PT10KX1mdW5jdGlvbiBOZShlLHQsbixpLHIsbyl7dmFyIGEscztpZigib2JqZWN0Ij09dHlwZW9mIHQpe2ZvcihzIGluInN0cmluZyIhPXR5cGVvZiBuJiYoaT1pfHxuLG49dm9pZCAwKSx0KU5lKGUscyxuLGksdFtzXSxvKTtyZXR1cm4gZX1pZihudWxsPT1pJiZudWxsPT1yPyhyPW4saT1uPXZvaWQgMCk6bnVsbD09ciYmKCJzdHJpbmciPT10eXBlb2Ygbj8ocj1pLGk9dm9pZCAwKToocj1pLGk9bixuPXZvaWQgMCkpLCExPT09cilyPXhlO2Vsc2UgaWYoIXIpcmV0dXJuIGU7cmV0dXJuIDE9PT1vJiYoYT1yLHI9ZnVuY3Rpb24oZSl7cmV0dXJuIEMoKS5vZmYoZSksYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHIuZ3VpZD1hLmd1aWR8fChhLmd1aWQ9Qy5ndWlkKyspKSxlLmVhY2goKGZ1bmN0aW9uKCl7Qy5ldmVudC5hZGQodGhpcyx0LHIsaSxuKX0pKX1mdW5jdGlvbiBEZShlLHQsbil7bj8oSi5zZXQoZSx0LCExKSxDLmV2ZW50LmFkZChlLHQse25hbWVzcGFjZTohMSxoYW5kbGVyOmZ1bmN0aW9uKGUpe3ZhciBpLHIsbz1KLmdldCh0aGlzLHQpO2lmKDEmZS5pc1RyaWdnZXImJnRoaXNbdF0pe2lmKG8ubGVuZ3RoKShDLmV2ZW50LnNwZWNpYWxbdF18fHt9KS5kZWxlZ2F0ZVR5cGUmJmUuc3RvcFByb3BhZ2F0aW9uKCk7ZWxzZSBpZihvPXMuY2FsbChhcmd1bWVudHMpLEouc2V0KHRoaXMsdCxvKSxpPW4odGhpcyx0KSx0aGlzW3RdKCksbyE9PShyPUouZ2V0KHRoaXMsdCkpfHxpP0ouc2V0KHRoaXMsdCwhMSk6cj17fSxvIT09cilyZXR1cm4gZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxlLnByZXZlbnREZWZhdWx0KCksciYmci52YWx1ZX1lbHNlIG8ubGVuZ3RoJiYoSi5zZXQodGhpcyx0LHt2YWx1ZTpDLmV2ZW50LnRyaWdnZXIoQy5leHRlbmQob1swXSxDLkV2ZW50LnByb3RvdHlwZSksby5zbGljZSgxKSx0aGlzKX0pLGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX0pKTp2b2lkIDA9PT1KLmdldChlLHQpJiZDLmV2ZW50LmFkZChlLHQsQ2UpfUMuZXZlbnQ9e2dsb2JhbDp7fSxhZGQ6ZnVuY3Rpb24oZSx0LG4saSxyKXt2YXIgbyxhLHMsbCx1LGMsZixkLGgscCxnLG09Si5nZXQoZSk7aWYoSyhlKSlmb3Iobi5oYW5kbGVyJiYobj0obz1uKS5oYW5kbGVyLHI9by5zZWxlY3RvciksciYmQy5maW5kLm1hdGNoZXNTZWxlY3RvcihhZSxyKSxuLmd1aWR8fChuLmd1aWQ9Qy5ndWlkKyspLChsPW0uZXZlbnRzKXx8KGw9bS5ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSksKGE9bS5oYW5kbGUpfHwoYT1tLmhhbmRsZT1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwIT09QyYmQy5ldmVudC50cmlnZ2VyZWQhPT10LnR5cGU/Qy5ldmVudC5kaXNwYXRjaC5hcHBseShlLGFyZ3VtZW50cyk6dm9pZCAwfSksdT0odD0odHx8IiIpLm1hdGNoKEgpfHxbIiJdKS5sZW5ndGg7dS0tOyloPWc9KHM9VGUuZXhlYyh0W3VdKXx8W10pWzFdLHA9KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxoJiYoZj1DLmV2ZW50LnNwZWNpYWxbaF18fHt9LGg9KHI/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGgsZj1DLmV2ZW50LnNwZWNpYWxbaF18fHt9LGM9Qy5leHRlbmQoe3R5cGU6aCxvcmlnVHlwZTpnLGRhdGE6aSxoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6cixuZWVkc0NvbnRleHQ6ciYmQy5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KHIpLG5hbWVzcGFjZTpwLmpvaW4oIi4iKX0sbyksKGQ9bFtoXSl8fCgoZD1sW2hdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZi5zZXR1cCYmITEhPT1mLnNldHVwLmNhbGwoZSxpLHAsYSl8fGUuYWRkRXZlbnRMaXN0ZW5lciYmZS5hZGRFdmVudExpc3RlbmVyKGgsYSkpLGYuYWRkJiYoZi5hZGQuY2FsbChlLGMpLGMuaGFuZGxlci5ndWlkfHwoYy5oYW5kbGVyLmd1aWQ9bi5ndWlkKSkscj9kLnNwbGljZShkLmRlbGVnYXRlQ291bnQrKywwLGMpOmQucHVzaChjKSxDLmV2ZW50Lmdsb2JhbFtoXT0hMCl9LHJlbW92ZTpmdW5jdGlvbihlLHQsbixpLHIpe3ZhciBvLGEscyxsLHUsYyxmLGQsaCxwLGcsbT1KLmhhc0RhdGEoZSkmJkouZ2V0KGUpO2lmKG0mJihsPW0uZXZlbnRzKSl7Zm9yKHU9KHQ9KHR8fCIiKS5tYXRjaChIKXx8WyIiXSkubGVuZ3RoO3UtLTspaWYoaD1nPShzPVRlLmV4ZWModFt1XSl8fFtdKVsxXSxwPShzWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksaCl7Zm9yKGY9Qy5ldmVudC5zcGVjaWFsW2hdfHx7fSxkPWxbaD0oaT9mLmRlbGVnYXRlVHlwZTpmLmJpbmRUeXBlKXx8aF18fFtdLHM9c1syXSYmbmV3IFJlZ0V4cCgiKF58XFwuKSIrcC5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKSxhPW89ZC5sZW5ndGg7by0tOyljPWRbb10sIXImJmchPT1jLm9yaWdUeXBlfHxuJiZuLmd1aWQhPT1jLmd1aWR8fHMmJiFzLnRlc3QoYy5uYW1lc3BhY2UpfHxpJiZpIT09Yy5zZWxlY3RvciYmKCIqKiIhPT1pfHwhYy5zZWxlY3Rvcil8fChkLnNwbGljZShvLDEpLGMuc2VsZWN0b3ImJmQuZGVsZWdhdGVDb3VudC0tLGYucmVtb3ZlJiZmLnJlbW92ZS5jYWxsKGUsYykpO2EmJiFkLmxlbmd0aCYmKGYudGVhcmRvd24mJiExIT09Zi50ZWFyZG93bi5jYWxsKGUscCxtLmhhbmRsZSl8fEMucmVtb3ZlRXZlbnQoZSxoLG0uaGFuZGxlKSxkZWxldGUgbFtoXSl9ZWxzZSBmb3IoaCBpbiBsKUMuZXZlbnQucmVtb3ZlKGUsaCt0W3VdLG4saSwhMCk7Qy5pc0VtcHR5T2JqZWN0KGwpJiZKLnJlbW92ZShlLCJoYW5kbGUgZXZlbnRzIil9fSxkaXNwYXRjaDpmdW5jdGlvbihlKXt2YXIgdCxuLGkscixvLGEscz1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksbD1DLmV2ZW50LmZpeChlKSx1PShKLmdldCh0aGlzLCJldmVudHMiKXx8T2JqZWN0LmNyZWF0ZShudWxsKSlbbC50eXBlXXx8W10sYz1DLmV2ZW50LnNwZWNpYWxbbC50eXBlXXx8e307Zm9yKHNbMF09bCx0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKylzW3RdPWFyZ3VtZW50c1t0XTtpZihsLmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWMucHJlRGlzcGF0Y2h8fCExIT09Yy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsbCkpe2ZvcihhPUMuZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLGwsdSksdD0wOyhyPWFbdCsrXSkmJiFsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KWZvcihsLmN1cnJlbnRUYXJnZXQ9ci5lbGVtLG49MDsobz1yLmhhbmRsZXJzW24rK10pJiYhbC5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpOylsLnJuYW1lc3BhY2UmJiExIT09by5uYW1lc3BhY2UmJiFsLnJuYW1lc3BhY2UudGVzdChvLm5hbWVzcGFjZSl8fChsLmhhbmRsZU9iaj1vLGwuZGF0YT1vLmRhdGEsdm9pZCAwIT09KGk9KChDLmV2ZW50LnNwZWNpYWxbby5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fG8uaGFuZGxlcikuYXBwbHkoci5lbGVtLHMpKSYmITE9PT0obC5yZXN1bHQ9aSkmJihsLnByZXZlbnREZWZhdWx0KCksbC5zdG9wUHJvcGFnYXRpb24oKSkpO3JldHVybiBjLnBvc3REaXNwYXRjaCYmYy5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLGwpLGwucmVzdWx0fX0saGFuZGxlcnM6ZnVuY3Rpb24oZSx0KXt2YXIgbixpLHIsbyxhLHM9W10sbD10LmRlbGVnYXRlQ291bnQsdT1lLnRhcmdldDtpZihsJiZ1Lm5vZGVUeXBlJiYhKCJjbGljayI9PT1lLnR5cGUmJmUuYnV0dG9uPj0xKSlmb3IoO3UhPT10aGlzO3U9dS5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT11Lm5vZGVUeXBlJiYoImNsaWNrIiE9PWUudHlwZXx8ITAhPT11LmRpc2FibGVkKSl7Zm9yKG89W10sYT17fSxuPTA7bjxsO24rKyl2b2lkIDA9PT1hW3I9KGk9dFtuXSkuc2VsZWN0b3IrIiAiXSYmKGFbcl09aS5uZWVkc0NvbnRleHQ/QyhyLHRoaXMpLmluZGV4KHUpPi0xOkMuZmluZChyLHRoaXMsbnVsbCxbdV0pLmxlbmd0aCksYVtyXSYmby5wdXNoKGkpO28ubGVuZ3RoJiZzLnB1c2goe2VsZW06dSxoYW5kbGVyczpvfSl9cmV0dXJuIHU9dGhpcyxsPHQubGVuZ3RoJiZzLnB1c2goe2VsZW06dSxoYW5kbGVyczp0LnNsaWNlKGwpfSksc30sYWRkUHJvcDpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShDLkV2ZW50LnByb3RvdHlwZSxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6dih0KT9mdW5jdGlvbigpe2lmKHRoaXMub3JpZ2luYWxFdmVudClyZXR1cm4gdCh0aGlzLm9yaWdpbmFsRXZlbnQpfTpmdW5jdGlvbigpe2lmKHRoaXMub3JpZ2luYWxFdmVudClyZXR1cm4gdGhpcy5vcmlnaW5hbEV2ZW50W2VdfSxzZXQ6ZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dH0pfX0pfSxmaXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbQy5leHBhbmRvXT9lOm5ldyBDLkV2ZW50KGUpfSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sY2xpY2s6e3NldHVwOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXN8fGU7cmV0dXJuIGdlLnRlc3QodC50eXBlKSYmdC5jbGljayYmayh0LCJpbnB1dCIpJiZEZSh0LCJjbGljayIsQ2UpLCExfSx0cmlnZ2VyOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXN8fGU7cmV0dXJuIGdlLnRlc3QodC50eXBlKSYmdC5jbGljayYmayh0LCJpbnB1dCIpJiZEZSh0LCJjbGljayIpLCEwfSxfZGVmYXVsdDpmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtyZXR1cm4gZ2UudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZrKHQsImlucHV0IikmJkouZ2V0KHQsImNsaWNrIil8fGsodCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oZSl7dm9pZCAwIT09ZS5yZXN1bHQmJmUub3JpZ2luYWxFdmVudCYmKGUub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1lLnJlc3VsdCl9fX19LEMucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oZSx0LG4pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lciYmZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbil9LEMuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBDLkV2ZW50KSlyZXR1cm4gbmV3IEMuRXZlbnQoZSx0KTtlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRoaXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0UHJldmVudGVkfHx2b2lkIDA9PT1lLmRlZmF1bHRQcmV2ZW50ZWQmJiExPT09ZS5yZXR1cm5WYWx1ZT9DZTp4ZSx0aGlzLnRhcmdldD1lLnRhcmdldCYmMz09PWUudGFyZ2V0Lm5vZGVUeXBlP2UudGFyZ2V0LnBhcmVudE5vZGU6ZS50YXJnZXQsdGhpcy5jdXJyZW50VGFyZ2V0PWUuY3VycmVudFRhcmdldCx0aGlzLnJlbGF0ZWRUYXJnZXQ9ZS5yZWxhdGVkVGFyZ2V0KTp0aGlzLnR5cGU9ZSx0JiZDLmV4dGVuZCh0aGlzLHQpLHRoaXMudGltZVN0YW1wPWUmJmUudGltZVN0YW1wfHxEYXRlLm5vdygpLHRoaXNbQy5leHBhbmRvXT0hMH0sQy5FdmVudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOkMuRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOnhlLGlzUHJvcGFnYXRpb25TdG9wcGVkOnhlLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOnhlLGlzU2ltdWxhdGVkOiExLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPUNlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPUNlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1DZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sQy5lYWNoKHthbHRLZXk6ITAsYnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNoYW5nZWRUb3VjaGVzOiEwLGN0cmxLZXk6ITAsZGV0YWlsOiEwLGV2ZW50UGhhc2U6ITAsbWV0YUtleTohMCxwYWdlWDohMCxwYWdlWTohMCxzaGlmdEtleTohMCx2aWV3OiEwLGNoYXI6ITAsY29kZTohMCxjaGFyQ29kZTohMCxrZXk6ITAsa2V5Q29kZTohMCxidXR0b246ITAsYnV0dG9uczohMCxjbGllbnRYOiEwLGNsaWVudFk6ITAsb2Zmc2V0WDohMCxvZmZzZXRZOiEwLHBvaW50ZXJJZDohMCxwb2ludGVyVHlwZTohMCxzY3JlZW5YOiEwLHNjcmVlblk6ITAsdGFyZ2V0VG91Y2hlczohMCx0b0VsZW1lbnQ6ITAsdG91Y2hlczohMCx3aGljaDohMH0sQy5ldmVudC5hZGRQcm9wKSxDLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LChmdW5jdGlvbihlLHQpe0MuZXZlbnQuc3BlY2lhbFtlXT17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4gRGUodGhpcyxlLFNlKSwhMX0sdHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBEZSh0aGlzLGUpLCEwfSxfZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiEwfSxkZWxlZ2F0ZVR5cGU6dH19KSksQy5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQifSwoZnVuY3Rpb24oZSx0KXtDLmV2ZW50LnNwZWNpYWxbZV09e2RlbGVnYXRlVHlwZTp0LGJpbmRUeXBlOnQsaGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciBuLGk9dGhpcyxyPWUucmVsYXRlZFRhcmdldCxvPWUuaGFuZGxlT2JqO3JldHVybiByJiYocj09PWl8fEMuY29udGFpbnMoaSxyKSl8fChlLnR5cGU9by5vcmlnVHlwZSxuPW8uaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksZS50eXBlPXQpLG59fX0pKSxDLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4saSl7cmV0dXJuIE5lKHRoaXMsZSx0LG4saSl9LG9uZTpmdW5jdGlvbihlLHQsbixpKXtyZXR1cm4gTmUodGhpcyxlLHQsbixpLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLHI7aWYoZSYmZS5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIGk9ZS5oYW5kbGVPYmosQyhlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoaS5uYW1lc3BhY2U/aS5vcmlnVHlwZSsiLiIraS5uYW1lc3BhY2U6aS5vcmlnVHlwZSxpLnNlbGVjdG9yLGkuaGFuZGxlciksdGhpcztpZigib2JqZWN0Ij09dHlwZW9mIGUpe2ZvcihyIGluIGUpdGhpcy5vZmYocix0LGVbcl0pO3JldHVybiB0aGlzfXJldHVybiExIT09dCYmImZ1bmN0aW9uIiE9dHlwZW9mIHR8fChuPXQsdD12b2lkIDApLCExPT09biYmKG49eGUpLHRoaXMuZWFjaCgoZnVuY3Rpb24oKXtDLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pKX19KTt2YXIgQWU9LzxzY3JpcHR8PHN0eWxlfDxsaW5rL2ksa2U9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksT2U9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nO2Z1bmN0aW9uIEllKGUsdCl7cmV0dXJuIGsoZSwidGFibGUiKSYmaygxMSE9PXQubm9kZVR5cGU/dDp0LmZpcnN0Q2hpbGQsInRyIikmJkMoZSkuY2hpbGRyZW4oInRib2R5IilbMF18fGV9ZnVuY3Rpb24gTGUoZSl7cmV0dXJuIGUudHlwZT0obnVsbCE9PWUuZ2V0QXR0cmlidXRlKCJ0eXBlIikpKyIvIitlLnR5cGUsZX1mdW5jdGlvbiBqZShlKXtyZXR1cm4idHJ1ZS8iPT09KGUudHlwZXx8IiIpLnNsaWNlKDAsNSk/ZS50eXBlPWUudHlwZS5zbGljZSg1KTplLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLGV9ZnVuY3Rpb24gUGUoZSx0KXt2YXIgbixpLHIsbyxhLHM7aWYoMT09PXQubm9kZVR5cGUpe2lmKEouaGFzRGF0YShlKSYmKHM9Si5nZXQoZSkuZXZlbnRzKSlmb3IociBpbiBKLnJlbW92ZSh0LCJoYW5kbGUgZXZlbnRzIikscylmb3Iobj0wLGk9c1tyXS5sZW5ndGg7bjxpO24rKylDLmV2ZW50LmFkZCh0LHIsc1tyXVtuXSk7Wi5oYXNEYXRhKGUpJiYobz1aLmFjY2VzcyhlKSxhPUMuZXh0ZW5kKHt9LG8pLFouc2V0KHQsYSkpfX1mdW5jdGlvbiBSZShlLHQpe3ZhciBuPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsiaW5wdXQiPT09biYmZ2UudGVzdChlLnR5cGUpP3QuY2hlY2tlZD1lLmNoZWNrZWQ6ImlucHV0IiE9PW4mJiJ0ZXh0YXJlYSIhPT1ufHwodC5kZWZhdWx0VmFsdWU9ZS5kZWZhdWx0VmFsdWUpfWZ1bmN0aW9uIHFlKGUsdCxuLGkpe3Q9bCh0KTt2YXIgcixvLGEscyx1LGMsZj0wLGQ9ZS5sZW5ndGgsaD1kLTEscD10WzBdLGc9dihwKTtpZihnfHxkPjEmJiJzdHJpbmciPT10eXBlb2YgcCYmIW0uY2hlY2tDbG9uZSYma2UudGVzdChwKSlyZXR1cm4gZS5lYWNoKChmdW5jdGlvbihyKXt2YXIgbz1lLmVxKHIpO2cmJih0WzBdPXAuY2FsbCh0aGlzLHIsby5odG1sKCkpKSxxZShvLHQsbixpKX0pKTtpZihkJiYobz0ocj1FZSh0LGVbMF0ub3duZXJEb2N1bWVudCwhMSxlLGkpKS5maXJzdENoaWxkLDE9PT1yLmNoaWxkTm9kZXMubGVuZ3RoJiYocj1vKSxvfHxpKSl7Zm9yKHM9KGE9Qy5tYXAoX2Uociwic2NyaXB0IiksTGUpKS5sZW5ndGg7ZjxkO2YrKyl1PXIsZiE9PWgmJih1PUMuY2xvbmUodSwhMCwhMCkscyYmQy5tZXJnZShhLF9lKHUsInNjcmlwdCIpKSksbi5jYWxsKGVbZl0sdSxmKTtpZihzKWZvcihjPWFbYS5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxDLm1hcChhLGplKSxmPTA7ZjxzO2YrKyl1PWFbZl0sdmUudGVzdCh1LnR5cGV8fCIiKSYmIUouYWNjZXNzKHUsImdsb2JhbEV2YWwiKSYmQy5jb250YWlucyhjLHUpJiYodS5zcmMmJiJtb2R1bGUiIT09KHUudHlwZXx8IiIpLnRvTG93ZXJDYXNlKCk/Qy5fZXZhbFVybCYmIXUubm9Nb2R1bGUmJkMuX2V2YWxVcmwodS5zcmMse25vbmNlOnUubm9uY2V8fHUuZ2V0QXR0cmlidXRlKCJub25jZSIpfSxjKTp3KHUudGV4dENvbnRlbnQucmVwbGFjZShPZSwiIiksdSxjKSl9cmV0dXJuIGV9ZnVuY3Rpb24gSGUoZSx0LG4pe2Zvcih2YXIgaSxyPXQ/Qy5maWx0ZXIodCxlKTplLG89MDtudWxsIT0oaT1yW29dKTtvKyspbnx8MSE9PWkubm9kZVR5cGV8fEMuY2xlYW5EYXRhKF9lKGkpKSxpLnBhcmVudE5vZGUmJihuJiZzZShpKSYmYmUoX2UoaSwic2NyaXB0IikpLGkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpKSk7cmV0dXJuIGV9Qy5leHRlbmQoe2h0bWxQcmVmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LGNsb25lOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxyLG8sYSxzPWUuY2xvbmVOb2RlKCEwKSxsPXNlKGUpO2lmKCEobS5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8Qy5pc1hNTERvYyhlKSkpZm9yKGE9X2UocyksaT0wLHI9KG89X2UoZSkpLmxlbmd0aDtpPHI7aSsrKVJlKG9baV0sYVtpXSk7aWYodClpZihuKWZvcihvPW98fF9lKGUpLGE9YXx8X2UocyksaT0wLHI9by5sZW5ndGg7aTxyO2krKylQZShvW2ldLGFbaV0pO2Vsc2UgUGUoZSxzKTtyZXR1cm4oYT1fZShzLCJzY3JpcHQiKSkubGVuZ3RoPjAmJmJlKGEsIWwmJl9lKGUsInNjcmlwdCIpKSxzfSxjbGVhbkRhdGE6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4saSxyPUMuZXZlbnQuc3BlY2lhbCxvPTA7dm9pZCAwIT09KG49ZVtvXSk7bysrKWlmKEsobikpe2lmKHQ9bltKLmV4cGFuZG9dKXtpZih0LmV2ZW50cylmb3IoaSBpbiB0LmV2ZW50cylyW2ldP0MuZXZlbnQucmVtb3ZlKG4saSk6Qy5yZW1vdmVFdmVudChuLGksdC5oYW5kbGUpO25bSi5leHBhbmRvXT12b2lkIDB9bltaLmV4cGFuZG9dJiYobltaLmV4cGFuZG9dPXZvaWQgMCl9fX0pLEMuZm4uZXh0ZW5kKHtkZXRhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIEhlKHRoaXMsZSwhMCl9LHJlbW92ZTpmdW5jdGlvbihlKXtyZXR1cm4gSGUodGhpcyxlKX0sdGV4dDpmdW5jdGlvbihlKXtyZXR1cm4geih0aGlzLChmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZT9DLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmVhY2goKGZ1bmN0aW9uKCl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fCh0aGlzLnRleHRDb250ZW50PWUpfSkpfSksbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gcWUodGhpcyxhcmd1bWVudHMsKGZ1bmN0aW9uKGUpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHxJZSh0aGlzLGUpLmFwcGVuZENoaWxkKGUpfSkpfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHFlKHRoaXMsYXJndW1lbnRzLChmdW5jdGlvbihlKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIHQ9SWUodGhpcyxlKTt0Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCl9fSkpfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gcWUodGhpcyxhcmd1bWVudHMsKGZ1bmN0aW9uKGUpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMpfSkpfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBxZSh0aGlzLGFyZ3VtZW50cywoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcy5uZXh0U2libGluZyl9KSl9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDtudWxsIT0oZT10aGlzW3RdKTt0KyspMT09PWUubm9kZVR5cGUmJihDLmNsZWFuRGF0YShfZShlLCExKSksZS50ZXh0Q29udGVudD0iIik7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9bnVsbCE9ZSYmZSx0PW51bGw9PXQ/ZTp0LHRoaXMubWFwKChmdW5jdGlvbigpe3JldHVybiBDLmNsb25lKHRoaXMsZSx0KX0pKX0saHRtbDpmdW5jdGlvbihlKXtyZXR1cm4geih0aGlzLChmdW5jdGlvbihlKXt2YXIgdD10aGlzWzBdfHx7fSxuPTAsaT10aGlzLmxlbmd0aDtpZih2b2lkIDA9PT1lJiYxPT09dC5ub2RlVHlwZSlyZXR1cm4gdC5pbm5lckhUTUw7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYhQWUudGVzdChlKSYmIXllWyhtZS5leGVjKGUpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7ZT1DLmh0bWxQcmVmaWx0ZXIoZSk7dHJ5e2Zvcig7bjxpO24rKykxPT09KHQ9dGhpc1tuXXx8e30pLm5vZGVUeXBlJiYoQy5jbGVhbkRhdGEoX2UodCwhMSkpLHQuaW5uZXJIVE1MPWUpO3Q9MH1jYXRjaChlKXt9fXQmJnRoaXMuZW1wdHkoKS5hcHBlbmQoZSl9KSxudWxsLGUsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIHFlKHRoaXMsYXJndW1lbnRzLChmdW5jdGlvbih0KXt2YXIgbj10aGlzLnBhcmVudE5vZGU7Qy5pbkFycmF5KHRoaXMsZSk8MCYmKEMuY2xlYW5EYXRhKF9lKHRoaXMpKSxuJiZuLnJlcGxhY2VDaGlsZCh0LHRoaXMpKX0pLGUpfX0pLEMuZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LChmdW5jdGlvbihlLHQpe0MuZm5bZV09ZnVuY3Rpb24oZSl7Zm9yKHZhciBuLGk9W10scj1DKGUpLG89ci5sZW5ndGgtMSxhPTA7YTw9bzthKyspbj1hPT09bz90aGlzOnRoaXMuY2xvbmUoITApLEMoclthXSlbdF0obiksdS5hcHBseShpLG4uZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhpKX19KSk7dmFyIEZlPW5ldyBSZWdFeHAoIl4oIitpZSsiKSg/IXB4KVthLXolXSskIiwiaSIpLEJlPWZ1bmN0aW9uKGUpe3ZhciB0PWUub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztyZXR1cm4gdCYmdC5vcGVuZXJ8fCh0PWkpLHQuZ2V0Q29tcHV0ZWRTdHlsZShlKX0sTWU9ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLHIsbz17fTtmb3IociBpbiB0KW9bcl09ZS5zdHlsZVtyXSxlLnN0eWxlW3JdPXRbcl07Zm9yKHIgaW4gaT1uLmNhbGwoZSksdCllLnN0eWxlW3JdPW9bcl07cmV0dXJuIGl9LFdlPW5ldyBSZWdFeHAob2Uuam9pbigifCIpLCJpIik7ZnVuY3Rpb24gVWUoZSx0LG4pe3ZhciBpLHIsbyxhLHM9ZS5zdHlsZTtyZXR1cm4obj1ufHxCZShlKSkmJigiIiE9PShhPW4uZ2V0UHJvcGVydHlWYWx1ZSh0KXx8blt0XSl8fHNlKGUpfHwoYT1DLnN0eWxlKGUsdCkpLCFtLnBpeGVsQm94U3R5bGVzKCkmJkZlLnRlc3QoYSkmJldlLnRlc3QodCkmJihpPXMud2lkdGgscj1zLm1pbldpZHRoLG89cy5tYXhXaWR0aCxzLm1pbldpZHRoPXMubWF4V2lkdGg9cy53aWR0aD1hLGE9bi53aWR0aCxzLndpZHRoPWkscy5taW5XaWR0aD1yLHMubWF4V2lkdGg9bykpLHZvaWQgMCE9PWE/YSsiIjphfWZ1bmN0aW9uIFFlKGUsdCl7cmV0dXJue2dldDpmdW5jdGlvbigpe2lmKCFlKCkpcmV0dXJuKHRoaXMuZ2V0PXQpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkZWxldGUgdGhpcy5nZXR9fX0hZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7aWYoYyl7dS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4O3dpZHRoOjYwcHg7bWFyZ2luLXRvcDoxcHg7cGFkZGluZzowO2JvcmRlcjowIixjLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OnNjcm9sbDttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3dpZHRoOjYwJTt0b3A6MSUiLGFlLmFwcGVuZENoaWxkKHUpLmFwcGVuZENoaWxkKGMpO3ZhciBlPWkuZ2V0Q29tcHV0ZWRTdHlsZShjKTtuPSIxJSIhPT1lLnRvcCxsPTEyPT09dChlLm1hcmdpbkxlZnQpLGMuc3R5bGUucmlnaHQ9IjYwJSIsYT0zNj09PXQoZS5yaWdodCkscj0zNj09PXQoZS53aWR0aCksYy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLG89MTI9PT10KGMub2Zmc2V0V2lkdGgvMyksYWUucmVtb3ZlQ2hpbGQodSksYz1udWxsfX1mdW5jdGlvbiB0KGUpe3JldHVybiBNYXRoLnJvdW5kKHBhcnNlRmxvYXQoZSkpfXZhciBuLHIsbyxhLHMsbCx1PV8uY3JlYXRlRWxlbWVudCgiZGl2IiksYz1fLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Muc3R5bGUmJihjLnN0eWxlLmJhY2tncm91bmRDbGlwPSJjb250ZW50LWJveCIsYy5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPSIiLG0uY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9PT1jLnN0eWxlLmJhY2tncm91bmRDbGlwLEMuZXh0ZW5kKG0se2JveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxyfSxwaXhlbEJveFN0eWxlczpmdW5jdGlvbigpe3JldHVybiBlKCksYX0scGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiBlKCksbn0scmVsaWFibGVNYXJnaW5MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxsfSxzY3JvbGxib3hTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxvfSxyZWxpYWJsZVRyRGltZW5zaW9uczpmdW5jdGlvbigpe3ZhciBlLHQsbixyO3JldHVybiBudWxsPT1zJiYoZT1fLmNyZWF0ZUVsZW1lbnQoInRhYmxlIiksdD1fLmNyZWF0ZUVsZW1lbnQoInRyIiksbj1fLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweDtib3JkZXItY29sbGFwc2U6c2VwYXJhdGUiLHQuc3R5bGUuY3NzVGV4dD0iYm9yZGVyOjFweCBzb2xpZCIsdC5zdHlsZS5oZWlnaHQ9IjFweCIsbi5zdHlsZS5oZWlnaHQ9IjlweCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsYWUuYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQodCkuYXBwZW5kQ2hpbGQobikscj1pLmdldENvbXB1dGVkU3R5bGUodCkscz1wYXJzZUludChyLmhlaWdodCwxMCkrcGFyc2VJbnQoci5ib3JkZXJUb3BXaWR0aCwxMCkrcGFyc2VJbnQoci5ib3JkZXJCb3R0b21XaWR0aCwxMCk9PT10Lm9mZnNldEhlaWdodCxhZS5yZW1vdmVDaGlsZChlKSksc319KSl9KCk7dmFyIHplPVsiV2Via2l0IiwiTW96IiwibXMiXSxWZT1fLmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLCRlPXt9O2Z1bmN0aW9uIFhlKGUpe3ZhciB0PUMuY3NzUHJvcHNbZV18fCRlW2VdO3JldHVybiB0fHwoZSBpbiBWZT9lOiRlW2VdPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lWzBdLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSxuPXplLmxlbmd0aDtuLS07KWlmKChlPXplW25dK3QpaW4gVmUpcmV0dXJuIGV9KGUpfHxlKX12YXIgWWU9L14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLEtlPS9eLS0vLEdlPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxKZT17bGV0dGVyU3BhY2luZzoiMCIsZm9udFdlaWdodDoiNDAwIn07ZnVuY3Rpb24gWmUoZSx0LG4pe3ZhciBpPXJlLmV4ZWModCk7cmV0dXJuIGk/TWF0aC5tYXgoMCxpWzJdLShufHwwKSkrKGlbM118fCJweCIpOnR9ZnVuY3Rpb24gZXQoZSx0LG4saSxyLG8pe3ZhciBhPSJ3aWR0aCI9PT10PzE6MCxzPTAsbD0wO2lmKG49PT0oaT8iYm9yZGVyIjoiY29udGVudCIpKXJldHVybiAwO2Zvcig7YTw0O2ErPTIpIm1hcmdpbiI9PT1uJiYobCs9Qy5jc3MoZSxuK29lW2FdLCEwLHIpKSxpPygiY29udGVudCI9PT1uJiYobC09Qy5jc3MoZSwicGFkZGluZyIrb2VbYV0sITAscikpLCJtYXJnaW4iIT09biYmKGwtPUMuY3NzKGUsImJvcmRlciIrb2VbYV0rIldpZHRoIiwhMCxyKSkpOihsKz1DLmNzcyhlLCJwYWRkaW5nIitvZVthXSwhMCxyKSwicGFkZGluZyIhPT1uP2wrPUMuY3NzKGUsImJvcmRlciIrb2VbYV0rIldpZHRoIiwhMCxyKTpzKz1DLmNzcyhlLCJib3JkZXIiK29lW2FdKyJXaWR0aCIsITAscikpO3JldHVybiFpJiZvPj0wJiYobCs9TWF0aC5tYXgoMCxNYXRoLmNlaWwoZVsib2Zmc2V0Iit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKV0tby1sLXMtLjUpKXx8MCksbH1mdW5jdGlvbiB0dChlLHQsbil7dmFyIGk9QmUoZSkscj0oIW0uYm94U2l6aW5nUmVsaWFibGUoKXx8bikmJiJib3JkZXItYm94Ij09PUMuY3NzKGUsImJveFNpemluZyIsITEsaSksbz1yLGE9VWUoZSx0LGkpLHM9Im9mZnNldCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSk7aWYoRmUudGVzdChhKSl7aWYoIW4pcmV0dXJuIGE7YT0iYXV0byJ9cmV0dXJuKCFtLmJveFNpemluZ1JlbGlhYmxlKCkmJnJ8fCFtLnJlbGlhYmxlVHJEaW1lbnNpb25zKCkmJmsoZSwidHIiKXx8ImF1dG8iPT09YXx8IXBhcnNlRmxvYXQoYSkmJiJpbmxpbmUiPT09Qy5jc3MoZSwiZGlzcGxheSIsITEsaSkpJiZlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiYocj0iYm9yZGVyLWJveCI9PT1DLmNzcyhlLCJib3hTaXppbmciLCExLGkpLChvPXMgaW4gZSkmJihhPWVbc10pKSwoYT1wYXJzZUZsb2F0KGEpfHwwKStldChlLHQsbnx8KHI/ImJvcmRlciI6ImNvbnRlbnQiKSxvLGksYSkrInB4In1DLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPVVlKGUsIm9wYWNpdHkiKTtyZXR1cm4iIj09PW4/IjEiOm59fX19LGNzc051bWJlcjp7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsY29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGdyaWRBcmVhOiEwLGdyaWRDb2x1bW46ITAsZ3JpZENvbHVtbkVuZDohMCxncmlkQ29sdW1uU3RhcnQ6ITAsZ3JpZFJvdzohMCxncmlkUm93RW5kOiEwLGdyaWRSb3dTdGFydDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnt9LHN0eWxlOmZ1bmN0aW9uKGUsdCxuLGkpe2lmKGUmJjMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmZS5zdHlsZSl7dmFyIHIsbyxhLHM9WSh0KSxsPUtlLnRlc3QodCksdT1lLnN0eWxlO2lmKGx8fCh0PVhlKHMpKSxhPUMuY3NzSG9va3NbdF18fEMuY3NzSG9va3Nbc10sdm9pZCAwPT09bilyZXR1cm4gYSYmImdldCJpbiBhJiZ2b2lkIDAhPT0ocj1hLmdldChlLCExLGkpKT9yOnVbdF07InN0cmluZyI9PT0obz10eXBlb2YgbikmJihyPXJlLmV4ZWMobikpJiZyWzFdJiYobj1mdW5jdGlvbihlLHQsbixpKXt2YXIgcixvLGE9MjAscz1pP2Z1bmN0aW9uKCl7cmV0dXJuIGkuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIEMuY3NzKGUsdCwiIil9LGw9cygpLHU9biYmblszXXx8KEMuY3NzTnVtYmVyW3RdPyIiOiJweCIpLGM9ZS5ub2RlVHlwZSYmKEMuY3NzTnVtYmVyW3RdfHwicHgiIT09dSYmK2wpJiZyZS5leGVjKEMuY3NzKGUsdCkpO2lmKGMmJmNbM10hPT11KXtmb3IobC89Mix1PXV8fGNbM10sYz0rbHx8MTthLS07KUMuc3R5bGUoZSx0LGMrdSksKDEtbykqKDEtKG89cygpL2x8fC41KSk8PTAmJihhPTApLGMvPW87Yyo9MixDLnN0eWxlKGUsdCxjK3UpLG49bnx8W119cmV0dXJuIG4mJihjPStjfHwrbHx8MCxyPW5bMV0/YysoblsxXSsxKSpuWzJdOituWzJdLGkmJihpLnVuaXQ9dSxpLnN0YXJ0PWMsaS5lbmQ9cikpLHJ9KGUsdCxyKSxvPSJudW1iZXIiKSxudWxsIT1uJiZuPT1uJiYoIm51bWJlciIhPT1vfHxsfHwobis9ciYmclszXXx8KEMuY3NzTnVtYmVyW3NdPyIiOiJweCIpKSxtLmNsZWFyQ2xvbmVTdHlsZXx8IiIhPT1ufHwwIT09dC5pbmRleE9mKCJiYWNrZ3JvdW5kIil8fCh1W3RdPSJpbmhlcml0IiksYSYmInNldCJpbiBhJiZ2b2lkIDA9PT0obj1hLnNldChlLG4saSkpfHwobD91LnNldFByb3BlcnR5KHQsbik6dVt0XT1uKSl9fSxjc3M6ZnVuY3Rpb24oZSx0LG4saSl7dmFyIHIsbyxhLHM9WSh0KTtyZXR1cm4gS2UudGVzdCh0KXx8KHQ9WGUocykpLChhPUMuY3NzSG9va3NbdF18fEMuY3NzSG9va3Nbc10pJiYiZ2V0ImluIGEmJihyPWEuZ2V0KGUsITAsbikpLHZvaWQgMD09PXImJihyPVVlKGUsdCxpKSksIm5vcm1hbCI9PT1yJiZ0IGluIEplJiYocj1KZVt0XSksIiI9PT1ufHxuPyhvPXBhcnNlRmxvYXQociksITA9PT1ufHxpc0Zpbml0ZShvKT9vfHwwOnIpOnJ9fSksQy5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSwoZnVuY3Rpb24oZSx0KXtDLmNzc0hvb2tzW3RdPXtnZXQ6ZnVuY3Rpb24oZSxuLGkpe2lmKG4pcmV0dXJuIVllLnRlc3QoQy5jc3MoZSwiZGlzcGxheSIpKXx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD90dChlLHQsaSk6TWUoZSxHZSwoZnVuY3Rpb24oKXtyZXR1cm4gdHQoZSx0LGkpfSkpfSxzZXQ6ZnVuY3Rpb24oZSxuLGkpe3ZhciByLG89QmUoZSksYT0hbS5zY3JvbGxib3hTaXplKCkmJiJhYnNvbHV0ZSI9PT1vLnBvc2l0aW9uLHM9KGF8fGkpJiYiYm9yZGVyLWJveCI9PT1DLmNzcyhlLCJib3hTaXppbmciLCExLG8pLGw9aT9ldChlLHQsaSxzLG8pOjA7cmV0dXJuIHMmJmEmJihsLT1NYXRoLmNlaWwoZVsib2Zmc2V0Iit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKV0tcGFyc2VGbG9hdChvW3RdKS1ldChlLHQsImJvcmRlciIsITEsbyktLjUpKSxsJiYocj1yZS5leGVjKG4pKSYmInB4IiE9PShyWzNdfHwicHgiKSYmKGUuc3R5bGVbdF09bixuPUMuY3NzKGUsdCkpLFplKDAsbixsKX19fSkpLEMuY3NzSG9va3MubWFyZ2luTGVmdD1RZShtLnJlbGlhYmxlTWFyZ2luTGVmdCwoZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybihwYXJzZUZsb2F0KFVlKGUsIm1hcmdpbkxlZnQiKSl8fGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1NZShlLHttYXJnaW5MZWZ0OjB9LChmdW5jdGlvbigpe3JldHVybiBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnR9KSkpKyJweCJ9KSksQy5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sKGZ1bmN0aW9uKGUsdCl7Qy5jc3NIb29rc1tlK3RdPXtleHBhbmQ6ZnVuY3Rpb24obil7Zm9yKHZhciBpPTAscj17fSxvPSJzdHJpbmciPT10eXBlb2Ygbj9uLnNwbGl0KCIgIik6W25dO2k8NDtpKyspcltlK29lW2ldK3RdPW9baV18fG9baS0yXXx8b1swXTtyZXR1cm4gcn19LCJtYXJnaW4iIT09ZSYmKEMuY3NzSG9va3NbZSt0XS5zZXQ9WmUpfSkpLEMuZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4geih0aGlzLChmdW5jdGlvbihlLHQsbil7dmFyIGkscixvPXt9LGE9MDtpZihBcnJheS5pc0FycmF5KHQpKXtmb3IoaT1CZShlKSxyPXQubGVuZ3RoO2E8cjthKyspb1t0W2FdXT1DLmNzcyhlLHRbYV0sITEsaSk7cmV0dXJuIG99cmV0dXJuIHZvaWQgMCE9PW4/Qy5zdHlsZShlLHQsbik6Qy5jc3MoZSx0KX0pLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfX0pLEMuZm4uZGVsYXk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1DLmZ4JiZDLmZ4LnNwZWVkc1tlXXx8ZSx0PXR8fCJmeCIsdGhpcy5xdWV1ZSh0LChmdW5jdGlvbih0LG4pe3ZhciByPWkuc2V0VGltZW91dCh0LGUpO24uc3RvcD1mdW5jdGlvbigpe2kuY2xlYXJUaW1lb3V0KHIpfX0pKX0sZnVuY3Rpb24oKXt2YXIgZT1fLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksdD1fLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLmFwcGVuZENoaWxkKF8uY3JlYXRlRWxlbWVudCgib3B0aW9uIikpO2UudHlwZT0iY2hlY2tib3giLG0uY2hlY2tPbj0iIiE9PWUudmFsdWUsbS5vcHRTZWxlY3RlZD10LnNlbGVjdGVkLChlPV8uY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkudmFsdWU9InQiLGUudHlwZT0icmFkaW8iLG0ucmFkaW9WYWx1ZT0idCI9PT1lLnZhbHVlfSgpO3ZhciBudCxpdD1DLmV4cHIuYXR0ckhhbmRsZTtDLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiB6KHRoaXMsQy5hdHRyLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7Qy5yZW1vdmVBdHRyKHRoaXMsZSl9KSl9fSksQy5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLHIsbz1lLm5vZGVUeXBlO2lmKDMhPT1vJiY4IT09byYmMiE9PW8pcmV0dXJuIHZvaWQgMD09PWUuZ2V0QXR0cmlidXRlP0MucHJvcChlLHQsbik6KDE9PT1vJiZDLmlzWE1MRG9jKGUpfHwocj1DLmF0dHJIb29rc1t0LnRvTG93ZXJDYXNlKCldfHwoQy5leHByLm1hdGNoLmJvb2wudGVzdCh0KT9udDp2b2lkIDApKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgQy5yZW1vdmVBdHRyKGUsdCk6ciYmInNldCJpbiByJiZ2b2lkIDAhPT0oaT1yLnNldChlLG4sdCkpP2k6KGUuc2V0QXR0cmlidXRlKHQsbisiIiksbik6ciYmImdldCJpbiByJiZudWxsIT09KGk9ci5nZXQoZSx0KSk/aTpudWxsPT0oaT1DLmZpbmQuYXR0cihlLHQpKT92b2lkIDA6aSl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGUsdCl7aWYoIW0ucmFkaW9WYWx1ZSYmInJhZGlvIj09PXQmJmsoZSwiaW5wdXQiKSl7dmFyIG49ZS52YWx1ZTtyZXR1cm4gZS5zZXRBdHRyaWJ1dGUoInR5cGUiLHQpLG4mJihlLnZhbHVlPW4pLHR9fX19LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSx0KXt2YXIgbixpPTAscj10JiZ0Lm1hdGNoKEgpO2lmKHImJjE9PT1lLm5vZGVUeXBlKWZvcig7bj1yW2krK107KWUucmVtb3ZlQXR0cmlidXRlKG4pfX0pLG50PXtzZXQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiExPT09dD9DLnJlbW92ZUF0dHIoZSxuKTplLnNldEF0dHJpYnV0ZShuLG4pLG59fSxDLmVhY2goQy5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cdysvZyksKGZ1bmN0aW9uKGUsdCl7dmFyIG49aXRbdF18fEMuZmluZC5hdHRyO2l0W3RdPWZ1bmN0aW9uKGUsdCxpKXt2YXIgcixvLGE9dC50b0xvd2VyQ2FzZSgpO3JldHVybiBpfHwobz1pdFthXSxpdFthXT1yLHI9bnVsbCE9bihlLHQsaSk/YTpudWxsLGl0W2FdPW8pLHJ9fSkpO3ZhciBydD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLG90PS9eKD86YXxhcmVhKSQvaTtmdW5jdGlvbiBhdChlKXtyZXR1cm4oZS5tYXRjaChIKXx8W10pLmpvaW4oIiAiKX1mdW5jdGlvbiBzdChlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn1mdW5jdGlvbiBsdChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOiJzdHJpbmciPT10eXBlb2YgZSYmZS5tYXRjaChIKXx8W119Qy5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oZSx0KXtyZXR1cm4geih0aGlzLEMucHJvcCxlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2RlbGV0ZSB0aGlzW0MucHJvcEZpeFtlXXx8ZV19KSl9fSksQy5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLHIsbz1lLm5vZGVUeXBlO2lmKDMhPT1vJiY4IT09byYmMiE9PW8pcmV0dXJuIDE9PT1vJiZDLmlzWE1MRG9jKGUpfHwodD1DLnByb3BGaXhbdF18fHQscj1DLnByb3BIb29rc1t0XSksdm9pZCAwIT09bj9yJiYic2V0ImluIHImJnZvaWQgMCE9PShpPXIuc2V0KGUsbix0KSk/aTplW3RdPW46ciYmImdldCJpbiByJiZudWxsIT09KGk9ci5nZXQoZSx0KSk/aTplW3RdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9Qy5maW5kLmF0dHIoZSwidGFiaW5kZXgiKTtyZXR1cm4gdD9wYXJzZUludCh0LDEwKTpydC50ZXN0KGUubm9kZU5hbWUpfHxvdC50ZXN0KGUubm9kZU5hbWUpJiZlLmhyZWY/MDotMX19fSxwcm9wRml4Ontmb3I6Imh0bWxGb3IiLGNsYXNzOiJjbGFzc05hbWUifX0pLG0ub3B0U2VsZWN0ZWR8fChDLnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxudWxsfSxzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3QmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCl9fSksQy5lYWNoKFsidGFiSW5kZXgiLCJyZWFkT25seSIsIm1heExlbmd0aCIsImNlbGxTcGFjaW5nIiwiY2VsbFBhZGRpbmciLCJyb3dTcGFuIiwiY29sU3BhbiIsInVzZU1hcCIsImZyYW1lQm9yZGVyIiwiY29udGVudEVkaXRhYmxlIl0sKGZ1bmN0aW9uKCl7Qy5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pKSxDLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQsbixpLHIsbyxhLHMsbD0wO2lmKHYoZSkpcmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7Qyh0aGlzKS5hZGRDbGFzcyhlLmNhbGwodGhpcyx0LHN0KHRoaXMpKSl9KSk7aWYoKHQ9bHQoZSkpLmxlbmd0aClmb3IoO249dGhpc1tsKytdOylpZihyPXN0KG4pLGk9MT09PW4ubm9kZVR5cGUmJiIgIithdChyKSsiICIpe2ZvcihhPTA7bz10W2ErK107KWkuaW5kZXhPZigiICIrbysiICIpPDAmJihpKz1vKyIgIik7ciE9PShzPWF0KGkpKSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixzKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQsbixpLHIsbyxhLHMsbD0wO2lmKHYoZSkpcmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7Qyh0aGlzKS5yZW1vdmVDbGFzcyhlLmNhbGwodGhpcyx0LHN0KHRoaXMpKSl9KSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLCIiKTtpZigodD1sdChlKSkubGVuZ3RoKWZvcig7bj10aGlzW2wrK107KWlmKHI9c3QobiksaT0xPT09bi5ub2RlVHlwZSYmIiAiK2F0KHIpKyIgIil7Zm9yKGE9MDtvPXRbYSsrXTspZm9yKDtpLmluZGV4T2YoIiAiK28rIiAiKT4tMTspaT1pLnJlcGxhY2UoIiAiK28rIiAiLCIgIik7ciE9PShzPWF0KGkpKSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixzKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oZSx0KXt2YXIgbj10eXBlb2YgZSxpPSJzdHJpbmciPT09bnx8QXJyYXkuaXNBcnJheShlKTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiB0JiZpP3Q/dGhpcy5hZGRDbGFzcyhlKTp0aGlzLnJlbW92ZUNsYXNzKGUpOnYoZSk/dGhpcy5lYWNoKChmdW5jdGlvbihuKXtDKHRoaXMpLnRvZ2dsZUNsYXNzKGUuY2FsbCh0aGlzLG4sc3QodGhpcyksdCksdCl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0LHIsbyxhO2lmKGkpZm9yKHI9MCxvPUModGhpcyksYT1sdChlKTt0PWFbcisrXTspby5oYXNDbGFzcyh0KT9vLnJlbW92ZUNsYXNzKHQpOm8uYWRkQ2xhc3ModCk7ZWxzZSB2b2lkIDAhPT1lJiYiYm9vbGVhbiIhPT1ufHwoKHQ9c3QodGhpcykpJiZKLnNldCh0aGlzLCJfX2NsYXNzTmFtZV9fIix0KSx0aGlzLnNldEF0dHJpYnV0ZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIix0fHwhMT09PWU/IiI6Si5nZXQodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIikpfSkpfSxoYXNDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLGk9MDtmb3IodD0iICIrZSsiICI7bj10aGlzW2krK107KWlmKDE9PT1uLm5vZGVUeXBlJiYoIiAiK2F0KHN0KG4pKSsiICIpLmluZGV4T2YodCk+LTEpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIHV0PS9cci9nO0MuZm4uZXh0ZW5kKHt2YWw6ZnVuY3Rpb24oZSl7dmFyIHQsbixpLHI9dGhpc1swXTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT12KGUpLHRoaXMuZWFjaCgoZnVuY3Rpb24obil7dmFyIHI7MT09PXRoaXMubm9kZVR5cGUmJihudWxsPT0ocj1pP2UuY2FsbCh0aGlzLG4sQyh0aGlzKS52YWwoKSk6ZSk/cj0iIjoibnVtYmVyIj09dHlwZW9mIHI/cis9IiI6QXJyYXkuaXNBcnJheShyKSYmKHI9Qy5tYXAociwoZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/IiI6ZSsiIn0pKSksKHQ9Qy52YWxIb29rc1t0aGlzLnR5cGVdfHxDLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiYic2V0ImluIHQmJnZvaWQgMCE9PXQuc2V0KHRoaXMsciwidmFsdWUiKXx8KHRoaXMudmFsdWU9cikpfSkpKTpyPyh0PUMudmFsSG9va3Nbci50eXBlXXx8Qy52YWxIb29rc1tyLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmImdldCJpbiB0JiZ2b2lkIDAhPT0obj10LmdldChyLCJ2YWx1ZSIpKT9uOiJzdHJpbmciPT10eXBlb2Yobj1yLnZhbHVlKT9uLnJlcGxhY2UodXQsIiIpOm51bGw9PW4/IiI6bjp2b2lkIDB9fSksQy5leHRlbmQoe3ZhbEhvb2tzOntvcHRpb246e2dldDpmdW5jdGlvbihlKXt2YXIgdD1DLmZpbmQuYXR0cihlLCJ2YWx1ZSIpO3JldHVybiBudWxsIT10P3Q6YXQoQy50ZXh0KGUpKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG4saSxyPWUub3B0aW9ucyxvPWUuc2VsZWN0ZWRJbmRleCxhPSJzZWxlY3Qtb25lIj09PWUudHlwZSxzPWE/bnVsbDpbXSxsPWE/bysxOnIubGVuZ3RoO2ZvcihpPW88MD9sOmE/bzowO2k8bDtpKyspaWYoKChuPXJbaV0pLnNlbGVjdGVkfHxpPT09bykmJiFuLmRpc2FibGVkJiYoIW4ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IWsobi5wYXJlbnROb2RlLCJvcHRncm91cCIpKSl7aWYodD1DKG4pLnZhbCgpLGEpcmV0dXJuIHQ7cy5wdXNoKHQpfXJldHVybiBzfSxzZXQ6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4saSxyPWUub3B0aW9ucyxvPUMubWFrZUFycmF5KHQpLGE9ci5sZW5ndGg7YS0tOykoKGk9clthXSkuc2VsZWN0ZWQ9Qy5pbkFycmF5KEMudmFsSG9va3Mub3B0aW9uLmdldChpKSxvKT4tMSkmJihuPSEwKTtyZXR1cm4gbnx8KGUuc2VsZWN0ZWRJbmRleD0tMSksb319fX0pLEMuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSwoZnVuY3Rpb24oKXtDLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBlLmNoZWNrZWQ9Qy5pbkFycmF5KEMoZSkudmFsKCksdCk+LTF9fSxtLmNoZWNrT258fChDLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6ZS52YWx1ZX0pfSkpLG0uZm9jdXNpbj0ib25mb2N1c2luImluIGk7dmFyIGN0PS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxmdD1mdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbigpfTtDLmV4dGVuZChDLmV2ZW50LHt0cmlnZ2VyOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvLGEscyxsLHUsYyxmLGQscD1bbnx8X10sZz1oLmNhbGwoZSwidHlwZSIpP2UudHlwZTplLG09aC5jYWxsKGUsIm5hbWVzcGFjZSIpP2UubmFtZXNwYWNlLnNwbGl0KCIuIik6W107aWYoYT1kPXM9bj1ufHxfLDMhPT1uLm5vZGVUeXBlJiY4IT09bi5ub2RlVHlwZSYmIWN0LnRlc3QoZytDLmV2ZW50LnRyaWdnZXJlZCkmJihnLmluZGV4T2YoIi4iKT4tMSYmKG09Zy5zcGxpdCgiLiIpLGc9bS5zaGlmdCgpLG0uc29ydCgpKSx1PWcuaW5kZXhPZigiOiIpPDAmJiJvbiIrZywoZT1lW0MuZXhwYW5kb10/ZTpuZXcgQy5FdmVudChnLCJvYmplY3QiPT10eXBlb2YgZSYmZSkpLmlzVHJpZ2dlcj1yPzI6MyxlLm5hbWVzcGFjZT1tLmpvaW4oIi4iKSxlLnJuYW1lc3BhY2U9ZS5uYW1lc3BhY2U/bmV3IFJlZ0V4cCgiKF58XFwuKSIrbS5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKTpudWxsLGUucmVzdWx0PXZvaWQgMCxlLnRhcmdldHx8KGUudGFyZ2V0PW4pLHQ9bnVsbD09dD9bZV06Qy5tYWtlQXJyYXkodCxbZV0pLGY9Qy5ldmVudC5zcGVjaWFsW2ddfHx7fSxyfHwhZi50cmlnZ2VyfHwhMSE9PWYudHJpZ2dlci5hcHBseShuLHQpKSl7aWYoIXImJiFmLm5vQnViYmxlJiYheShuKSl7Zm9yKGw9Zi5kZWxlZ2F0ZVR5cGV8fGcsY3QudGVzdChsK2cpfHwoYT1hLnBhcmVudE5vZGUpO2E7YT1hLnBhcmVudE5vZGUpcC5wdXNoKGEpLHM9YTtzPT09KG4ub3duZXJEb2N1bWVudHx8XykmJnAucHVzaChzLmRlZmF1bHRWaWV3fHxzLnBhcmVudFdpbmRvd3x8aSl9Zm9yKG89MDsoYT1wW28rK10pJiYhZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylkPWEsZS50eXBlPW8+MT9sOmYuYmluZFR5cGV8fGcsKGM9KEouZ2V0KGEsImV2ZW50cyIpfHxPYmplY3QuY3JlYXRlKG51bGwpKVtlLnR5cGVdJiZKLmdldChhLCJoYW5kbGUiKSkmJmMuYXBwbHkoYSx0KSwoYz11JiZhW3VdKSYmYy5hcHBseSYmSyhhKSYmKGUucmVzdWx0PWMuYXBwbHkoYSx0KSwhMT09PWUucmVzdWx0JiZlLnByZXZlbnREZWZhdWx0KCkpO3JldHVybiBlLnR5cGU9ZyxyfHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxmLl9kZWZhdWx0JiYhMSE9PWYuX2RlZmF1bHQuYXBwbHkocC5wb3AoKSx0KXx8IUsobil8fHUmJnYobltnXSkmJiF5KG4pJiYoKHM9blt1XSkmJihuW3VdPW51bGwpLEMuZXZlbnQudHJpZ2dlcmVkPWcsZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZkLmFkZEV2ZW50TGlzdGVuZXIoZyxmdCksbltnXSgpLGUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmZC5yZW1vdmVFdmVudExpc3RlbmVyKGcsZnQpLEMuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCxzJiYoblt1XT1zKSksZS5yZXN1bHR9fSxzaW11bGF0ZTpmdW5jdGlvbihlLHQsbil7dmFyIGk9Qy5leHRlbmQobmV3IEMuRXZlbnQsbix7dHlwZTplLGlzU2ltdWxhdGVkOiEwfSk7Qy5ldmVudC50cmlnZ2VyKGksbnVsbCx0KX19KSxDLmZuLmV4dGVuZCh7dHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7Qy5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pKX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzWzBdO2lmKG4pcmV0dXJuIEMuZXZlbnQudHJpZ2dlcihlLHQsbiwhMCl9fSksbS5mb2N1c2lufHxDLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LChmdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe0MuZXZlbnQuc2ltdWxhdGUodCxlLnRhcmdldCxDLmV2ZW50LmZpeChlKSl9O0MuZXZlbnQuc3BlY2lhbFt0XT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMscj1KLmFjY2VzcyhpLHQpO3J8fGkuYWRkRXZlbnRMaXN0ZW5lcihlLG4sITApLEouYWNjZXNzKGksdCwocnx8MCkrMSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLmRvY3VtZW50fHx0aGlzLHI9Si5hY2Nlc3MoaSx0KS0xO3I/Si5hY2Nlc3MoaSx0LHIpOihpLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxuLCEwKSxKLnJlbW92ZShpLHQpKX19fSkpLEMucGFyc2VYTUw9ZnVuY3Rpb24oZSl7dmFyIHQsbjtpZighZXx8InN0cmluZyIhPXR5cGVvZiBlKXJldHVybiBudWxsO3RyeXt0PShuZXcgaS5ET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyhlLCJ0ZXh0L3htbCIpfWNhdGNoKGUpe31yZXR1cm4gbj10JiZ0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpWzBdLHQmJiFufHxDLmVycm9yKCJJbnZhbGlkIFhNTDogIisobj9DLm1hcChuLmNoaWxkTm9kZXMsKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRleHRDb250ZW50fSkpLmpvaW4oIlxuIik6ZSkpLHR9O3ZhciBkdCxodD0vXFtcXSQvLHB0PS9ccj9cbi9nLGd0PS9eKD86c3VibWl0fGJ1dHRvbnxpbWFnZXxyZXNldHxmaWxlKSQvaSxtdD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7ZnVuY3Rpb24gdnQoZSx0LG4saSl7dmFyIHI7aWYoQXJyYXkuaXNBcnJheSh0KSlDLmVhY2godCwoZnVuY3Rpb24odCxyKXtufHxodC50ZXN0KGUpP2koZSxyKTp2dChlKyJbIisoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT1yP3Q6IiIpKyJdIixyLG4saSl9KSk7ZWxzZSBpZihufHwib2JqZWN0IiE9PUUodCkpaShlLHQpO2Vsc2UgZm9yKHIgaW4gdCl2dChlKyJbIityKyJdIix0W3JdLG4saSl9Qy5wYXJhbT1mdW5jdGlvbihlLHQpe3ZhciBuLGk9W10scj1mdW5jdGlvbihlLHQpe3ZhciBuPXYodCk/dCgpOnQ7aVtpLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpKyI9IitlbmNvZGVVUklDb21wb25lbnQobnVsbD09bj8iIjpuKX07aWYobnVsbD09ZSlyZXR1cm4iIjtpZihBcnJheS5pc0FycmF5KGUpfHxlLmpxdWVyeSYmIUMuaXNQbGFpbk9iamVjdChlKSlDLmVhY2goZSwoZnVuY3Rpb24oKXtyKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pKTtlbHNlIGZvcihuIGluIGUpdnQobixlW25dLHQscik7cmV0dXJuIGkuam9pbigiJiIpfSxDLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIEMucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoKGZ1bmN0aW9uKCl7dmFyIGU9Qy5wcm9wKHRoaXMsImVsZW1lbnRzIik7cmV0dXJuIGU/Qy5tYWtlQXJyYXkoZSk6dGhpc30pKS5maWx0ZXIoKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFDKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYmbXQudGVzdCh0aGlzLm5vZGVOYW1lKSYmIWd0LnRlc3QoZSkmJih0aGlzLmNoZWNrZWR8fCFnZS50ZXN0KGUpKX0pKS5tYXAoKGZ1bmN0aW9uKGUsdCl7dmFyIG49Qyh0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09bj9udWxsOkFycmF5LmlzQXJyYXkobik/Qy5tYXAobiwoZnVuY3Rpb24oZSl7cmV0dXJue25hbWU6dC5uYW1lLHZhbHVlOmUucmVwbGFjZShwdCwiXHJcbiIpfX0pKTp7bmFtZTp0Lm5hbWUsdmFsdWU6bi5yZXBsYWNlKHB0LCJcclxuIil9fSkpLmdldCgpfX0pLEMuZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0aGlzWzBdJiYodihlKSYmKGU9ZS5jYWxsKHRoaXNbMF0pKSx0PUMoZSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJnQuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLHQubWFwKChmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzO2UuZmlyc3RFbGVtZW50Q2hpbGQ7KWU9ZS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gZX0pKS5hcHBlbmQodGhpcykpLHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihlKXtyZXR1cm4gdihlKT90aGlzLmVhY2goKGZ1bmN0aW9uKHQpe0ModGhpcykud3JhcElubmVyKGUuY2FsbCh0aGlzLHQpKX0pKTp0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9Qyh0aGlzKSxuPXQuY29udGVudHMoKTtuLmxlbmd0aD9uLndyYXBBbGwoZSk6dC5hcHBlbmQoZSl9KSl9LHdyYXA6ZnVuY3Rpb24oZSl7dmFyIHQ9dihlKTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihuKXtDKHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pKX0sdW53cmFwOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnBhcmVudChlKS5ub3QoImJvZHkiKS5lYWNoKChmdW5jdGlvbigpe0ModGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pKSx0aGlzfX0pLEMuZXhwci5wc2V1ZG9zLmhpZGRlbj1mdW5jdGlvbihlKXtyZXR1cm4hQy5leHByLnBzZXVkb3MudmlzaWJsZShlKX0sQy5leHByLnBzZXVkb3MudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4hIShlLm9mZnNldFdpZHRofHxlLm9mZnNldEhlaWdodHx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl9LG0uY3JlYXRlSFRNTERvY3VtZW50PSgoZHQ9Xy5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZHkpLmlubmVySFRNTD0iPGZvcm0+PC9mb3JtPjxmb3JtPjwvZm9ybT4iLDI9PT1kdC5jaGlsZE5vZGVzLmxlbmd0aCksQy5wYXJzZUhUTUw9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiJzdHJpbmciIT10eXBlb2YgZT9bXTooImJvb2xlYW4iPT10eXBlb2YgdCYmKG49dCx0PSExKSx0fHwobS5jcmVhdGVIVE1MRG9jdW1lbnQ/KChpPSh0PV8uaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKSkuY3JlYXRlRWxlbWVudCgiYmFzZSIpKS5ocmVmPV8ubG9jYXRpb24uaHJlZix0LmhlYWQuYXBwZW5kQ2hpbGQoaSkpOnQ9Xyksbz0hbiYmW10sKHI9Ty5leGVjKGUpKT9bdC5jcmVhdGVFbGVtZW50KHJbMV0pXToocj1FZShbZV0sdCxvKSxvJiZvLmxlbmd0aCYmQyhvKS5yZW1vdmUoKSxDLm1lcmdlKFtdLHIuY2hpbGROb2RlcykpKTt2YXIgaSxyLG99LEMub2Zmc2V0PXtzZXRPZmZzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLHIsbyxhLHMsbCx1PUMuY3NzKGUsInBvc2l0aW9uIiksYz1DKGUpLGY9e307InN0YXRpYyI9PT11JiYoZS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxzPWMub2Zmc2V0KCksbz1DLmNzcyhlLCJ0b3AiKSxsPUMuY3NzKGUsImxlZnQiKSwoImFic29sdXRlIj09PXV8fCJmaXhlZCI9PT11KSYmKG8rbCkuaW5kZXhPZigiYXV0byIpPi0xPyhhPShpPWMucG9zaXRpb24oKSkudG9wLHI9aS5sZWZ0KTooYT1wYXJzZUZsb2F0KG8pfHwwLHI9cGFyc2VGbG9hdChsKXx8MCksdih0KSYmKHQ9dC5jYWxsKGUsbixDLmV4dGVuZCh7fSxzKSkpLG51bGwhPXQudG9wJiYoZi50b3A9dC50b3Atcy50b3ArYSksbnVsbCE9dC5sZWZ0JiYoZi5sZWZ0PXQubGVmdC1zLmxlZnQrciksInVzaW5nImluIHQ/dC51c2luZy5jYWxsKGUsZik6Yy5jc3MoZil9fSxDLmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKGUpe2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PWU/dGhpczp0aGlzLmVhY2goKGZ1bmN0aW9uKHQpe0Mub2Zmc2V0LnNldE9mZnNldCh0aGlzLGUsdCl9KSk7dmFyIHQsbixpPXRoaXNbMF07cmV0dXJuIGk/aS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aD8odD1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49aS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHt0b3A6dC50b3Arbi5wYWdlWU9mZnNldCxsZWZ0OnQubGVmdCtuLnBhZ2VYT2Zmc2V0fSk6e3RvcDowLGxlZnQ6MH06dm9pZCAwfSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBlLHQsbixpPXRoaXNbMF0scj17dG9wOjAsbGVmdDowfTtpZigiZml4ZWQiPT09Qy5jc3MoaSwicG9zaXRpb24iKSl0PWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZWxzZXtmb3IodD10aGlzLm9mZnNldCgpLG49aS5vd25lckRvY3VtZW50LGU9aS5vZmZzZXRQYXJlbnR8fG4uZG9jdW1lbnRFbGVtZW50O2UmJihlPT09bi5ib2R5fHxlPT09bi5kb2N1bWVudEVsZW1lbnQpJiYic3RhdGljIj09PUMuY3NzKGUsInBvc2l0aW9uIik7KWU9ZS5wYXJlbnROb2RlO2UmJmUhPT1pJiYxPT09ZS5ub2RlVHlwZSYmKChyPUMoZSkub2Zmc2V0KCkpLnRvcCs9Qy5jc3MoZSwiYm9yZGVyVG9wV2lkdGgiLCEwKSxyLmxlZnQrPUMuY3NzKGUsImJvcmRlckxlZnRXaWR0aCIsITApKX1yZXR1cm57dG9wOnQudG9wLXIudG9wLUMuY3NzKGksIm1hcmdpblRvcCIsITApLGxlZnQ6dC5sZWZ0LXIubGVmdC1DLmNzcyhpLCJtYXJnaW5MZWZ0IiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKChmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLm9mZnNldFBhcmVudDtlJiYic3RhdGljIj09PUMuY3NzKGUsInBvc2l0aW9uIik7KWU9ZS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGV8fGFlfSkpfX0pLEMuZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSwoZnVuY3Rpb24oZSx0KXt2YXIgbj0icGFnZVlPZmZzZXQiPT09dDtDLmZuW2VdPWZ1bmN0aW9uKGkpe3JldHVybiB6KHRoaXMsKGZ1bmN0aW9uKGUsaSxyKXt2YXIgbztpZih5KGUpP289ZTo5PT09ZS5ub2RlVHlwZSYmKG89ZS5kZWZhdWx0Vmlldyksdm9pZCAwPT09cilyZXR1cm4gbz9vW3RdOmVbaV07bz9vLnNjcm9sbFRvKG4/by5wYWdlWE9mZnNldDpyLG4/cjpvLnBhZ2VZT2Zmc2V0KTplW2ldPXJ9KSxlLGksYXJndW1lbnRzLmxlbmd0aCl9fSkpLEMuZWFjaChbInRvcCIsImxlZnQiXSwoZnVuY3Rpb24oZSx0KXtDLmNzc0hvb2tzW3RdPVFlKG0ucGl4ZWxQb3NpdGlvbiwoZnVuY3Rpb24oZSxuKXtpZihuKXJldHVybiBuPVVlKGUsdCksRmUudGVzdChuKT9DKGUpLnBvc2l0aW9uKClbdF0rInB4IjpufSkpfSkpLEMuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LChmdW5jdGlvbihlLHQpe0MuZWFjaCh7cGFkZGluZzoiaW5uZXIiK2UsY29udGVudDp0LCIiOiJvdXRlciIrZX0sKGZ1bmN0aW9uKG4saSl7Qy5mbltpXT1mdW5jdGlvbihyLG8pe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGgmJihufHwiYm9vbGVhbiIhPXR5cGVvZiByKSxzPW58fCghMD09PXJ8fCEwPT09bz8ibWFyZ2luIjoiYm9yZGVyIik7cmV0dXJuIHoodGhpcywoZnVuY3Rpb24odCxuLHIpe3ZhciBvO3JldHVybiB5KHQpPzA9PT1pLmluZGV4T2YoIm91dGVyIik/dFsiaW5uZXIiK2VdOnQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2VdOjk9PT10Lm5vZGVUeXBlPyhvPXQuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KHQuYm9keVsic2Nyb2xsIitlXSxvWyJzY3JvbGwiK2VdLHQuYm9keVsib2Zmc2V0IitlXSxvWyJvZmZzZXQiK2VdLG9bImNsaWVudCIrZV0pKTp2b2lkIDA9PT1yP0MuY3NzKHQsbixzKTpDLnN0eWxlKHQsbixyLHMpfSksdCxhP3I6dm9pZCAwLGEpfX0pKX0pKSxDLmZuLmV4dGVuZCh7YmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLGkpe3JldHVybiB0aGlzLm9uKHQsZSxuLGkpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoZSwiKioiKTp0aGlzLm9mZih0LGV8fCIqKiIsbil9LGhvdmVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubW91c2VlbnRlcihlKS5tb3VzZWxlYXZlKHR8fGUpfX0pLEMuZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSwoZnVuY3Rpb24oZSx0KXtDLmZuW3RdPWZ1bmN0aW9uKGUsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKHQsbnVsbCxlLG4pOnRoaXMudHJpZ2dlcih0KX19KSk7dmFyIHl0PS9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZztDLnByb3h5PWZ1bmN0aW9uKGUsdCl7dmFyIG4saSxyO2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKG49ZVt0XSx0PWUsZT1uKSx2KGUpKXJldHVybiBpPXMuY2FsbChhcmd1bWVudHMsMikscj1mdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHR8fHRoaXMsaS5jb25jYXQocy5jYWxsKGFyZ3VtZW50cykpKX0sci5ndWlkPWUuZ3VpZD1lLmd1aWR8fEMuZ3VpZCsrLHJ9LEMuaG9sZFJlYWR5PWZ1bmN0aW9uKGUpe2U/Qy5yZWFkeVdhaXQrKzpDLnJlYWR5KCEwKX0sQy5pc0FycmF5PUFycmF5LmlzQXJyYXksQy5wYXJzZUpTT049SlNPTi5wYXJzZSxDLm5vZGVOYW1lPWssQy5pc0Z1bmN0aW9uPXYsQy5pc1dpbmRvdz15LEMuY2FtZWxDYXNlPVksQy50eXBlPUUsQy5ub3c9RGF0ZS5ub3csQy5pc051bWVyaWM9ZnVuY3Rpb24oZSl7dmFyIHQ9Qy50eXBlKGUpO3JldHVybigibnVtYmVyIj09PXR8fCJzdHJpbmciPT09dCkmJiFpc05hTihlLXBhcnNlRmxvYXQoZSkpfSxDLnRyaW09ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/IiI6KGUrIiIpLnJlcGxhY2UoeXQsIiIpfSx2b2lkIDA9PT0obj1mdW5jdGlvbigpe3JldHVybiBDfS5hcHBseSh0LFtdKSl8fChlLmV4cG9ydHM9bik7dmFyIF90PWkualF1ZXJ5LGJ0PWkuJDtyZXR1cm4gQy5ub0NvbmZsaWN0PWZ1bmN0aW9uKGUpe3JldHVybiBpLiQ9PT1DJiYoaS4kPWJ0KSxlJiZpLmpRdWVyeT09PUMmJihpLmpRdWVyeT1fdCksQ30sdm9pZCAwPT09ciYmKGkualF1ZXJ5PWkuJD1DKSxDfSkpfSwyODk4MTpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgaT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmInVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3Iscj1mdW5jdGlvbigpe2Zvcih2YXIgZT1bIkVkZ2UiLCJUcmlkZW50IiwiRmlyZWZveCJdLHQ9MDt0PGUubGVuZ3RoO3QrPTEpaWYoaSYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKGVbdF0pPj0wKXJldHVybiAxO3JldHVybiAwfSgpO3ZhciBvPWkmJndpbmRvdy5Qcm9taXNlP2Z1bmN0aW9uKGUpe3ZhciB0PSExO3JldHVybiBmdW5jdGlvbigpe3R8fCh0PSEwLHdpbmRvdy5Qcm9taXNlLnJlc29sdmUoKS50aGVuKChmdW5jdGlvbigpe3Q9ITEsZSgpfSkpKX19OmZ1bmN0aW9uKGUpe3ZhciB0PSExO3JldHVybiBmdW5jdGlvbigpe3R8fCh0PSEwLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dD0hMSxlKCl9KSxyKSl9fTtmdW5jdGlvbiBhKGUpe3JldHVybiBlJiYiW29iamVjdCBGdW5jdGlvbl0iPT09e30udG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBzKGUsdCl7aWYoMSE9PWUubm9kZVR5cGUpcmV0dXJuW107dmFyIG49ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZSxudWxsKTtyZXR1cm4gdD9uW3RdOm59ZnVuY3Rpb24gbChlKXtyZXR1cm4iSFRNTCI9PT1lLm5vZGVOYW1lP2U6ZS5wYXJlbnROb2RlfHxlLmhvc3R9ZnVuY3Rpb24gdShlKXtpZighZSlyZXR1cm4gZG9jdW1lbnQuYm9keTtzd2l0Y2goZS5ub2RlTmFtZSl7Y2FzZSJIVE1MIjpjYXNlIkJPRFkiOnJldHVybiBlLm93bmVyRG9jdW1lbnQuYm9keTtjYXNlIiNkb2N1bWVudCI6cmV0dXJuIGUuYm9keX12YXIgdD1zKGUpLG49dC5vdmVyZmxvdyxpPXQub3ZlcmZsb3dYLHI9dC5vdmVyZmxvd1k7cmV0dXJuLyhhdXRvfHNjcm9sbHxvdmVybGF5KS8udGVzdChuK3IraSk/ZTp1KGwoZSkpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUmJmUucmVmZXJlbmNlTm9kZT9lLnJlZmVyZW5jZU5vZGU6ZX12YXIgZj1pJiYhKCF3aW5kb3cuTVNJbnB1dE1ldGhvZENvbnRleHR8fCFkb2N1bWVudC5kb2N1bWVudE1vZGUpLGQ9aSYmL01TSUUgMTAvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7ZnVuY3Rpb24gaChlKXtyZXR1cm4gMTE9PT1lP2Y6MTA9PT1lP2Q6Znx8ZH1mdW5jdGlvbiBwKGUpe2lmKCFlKXJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7Zm9yKHZhciB0PWgoMTApP2RvY3VtZW50LmJvZHk6bnVsbCxuPWUub2Zmc2V0UGFyZW50fHxudWxsO249PT10JiZlLm5leHRFbGVtZW50U2libGluZzspbj0oZT1lLm5leHRFbGVtZW50U2libGluZykub2Zmc2V0UGFyZW50O3ZhciBpPW4mJm4ubm9kZU5hbWU7cmV0dXJuIGkmJiJCT0RZIiE9PWkmJiJIVE1MIiE9PWk/LTEhPT1bIlRIIiwiVEQiLCJUQUJMRSJdLmluZGV4T2Yobi5ub2RlTmFtZSkmJiJzdGF0aWMiPT09cyhuLCJwb3NpdGlvbiIpP3Aobik6bjplP2Uub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIG51bGwhPT1lLnBhcmVudE5vZGU/ZyhlLnBhcmVudE5vZGUpOmV9ZnVuY3Rpb24gbShlLHQpe2lmKCEoZSYmZS5ub2RlVHlwZSYmdCYmdC5ub2RlVHlwZSkpcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDt2YXIgbj1lLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HLGk9bj9lOnQscj1uP3Q6ZSxvPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7by5zZXRTdGFydChpLDApLG8uc2V0RW5kKHIsMCk7dmFyIGEscyxsPW8uY29tbW9uQW5jZXN0b3JDb250YWluZXI7aWYoZSE9PWwmJnQhPT1sfHxpLmNvbnRhaW5zKHIpKXJldHVybiJCT0RZIj09PShzPShhPWwpLm5vZGVOYW1lKXx8IkhUTUwiIT09cyYmcChhLmZpcnN0RWxlbWVudENoaWxkKSE9PWE/cChsKTpsO3ZhciB1PWcoZSk7cmV0dXJuIHUuaG9zdD9tKHUuaG9zdCx0KTptKGUsZyh0KS5ob3N0KX1mdW5jdGlvbiB2KGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToidG9wIixuPSJ0b3AiPT09dD8ic2Nyb2xsVG9wIjoic2Nyb2xsTGVmdCIsaT1lLm5vZGVOYW1lO2lmKCJCT0RZIj09PWl8fCJIVE1MIj09PWkpe3ZhciByPWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbz1lLm93bmVyRG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudHx8cjtyZXR1cm4gb1tuXX1yZXR1cm4gZVtuXX1mdW5jdGlvbiB5KGUsdCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXSxpPXYodCwidG9wIikscj12KHQsImxlZnQiKSxvPW4/LTE6MTtyZXR1cm4gZS50b3ArPWkqbyxlLmJvdHRvbSs9aSpvLGUubGVmdCs9cipvLGUucmlnaHQrPXIqbyxlfWZ1bmN0aW9uIF8oZSx0KXt2YXIgbj0ieCI9PT10PyJMZWZ0IjoiVG9wIixpPSJMZWZ0Ij09PW4/IlJpZ2h0IjoiQm90dG9tIjtyZXR1cm4gcGFyc2VGbG9hdChlWyJib3JkZXIiK24rIldpZHRoIl0pK3BhcnNlRmxvYXQoZVsiYm9yZGVyIitpKyJXaWR0aCJdKX1mdW5jdGlvbiBiKGUsdCxuLGkpe3JldHVybiBNYXRoLm1heCh0WyJvZmZzZXQiK2VdLHRbInNjcm9sbCIrZV0sblsiY2xpZW50IitlXSxuWyJvZmZzZXQiK2VdLG5bInNjcm9sbCIrZV0saCgxMCk/cGFyc2VJbnQoblsib2Zmc2V0IitlXSkrcGFyc2VJbnQoaVsibWFyZ2luIisoIkhlaWdodCI9PT1lPyJUb3AiOiJMZWZ0IildKStwYXJzZUludChpWyJtYXJnaW4iKygiSGVpZ2h0Ij09PWU/IkJvdHRvbSI6IlJpZ2h0IildKTowKX1mdW5jdGlvbiB3KGUpe3ZhciB0PWUuYm9keSxuPWUuZG9jdW1lbnRFbGVtZW50LGk9aCgxMCkmJmdldENvbXB1dGVkU3R5bGUobik7cmV0dXJue2hlaWdodDpiKCJIZWlnaHQiLHQsbixpKSx3aWR0aDpiKCJXaWR0aCIsdCxuLGkpfX12YXIgRT1mdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSxUPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgaT10W25dO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsaS5rZXksaSl9fXJldHVybiBmdW5jdGlvbih0LG4saSl7cmV0dXJuIG4mJmUodC5wcm90b3R5cGUsbiksaSYmZSh0LGkpLHR9fSgpLEM9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0IGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09bixlfSx4PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIGkgaW4gbilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixpKSYmKGVbaV09bltpXSl9cmV0dXJuIGV9O2Z1bmN0aW9uIFMoZSl7cmV0dXJuIHgoe30sZSx7cmlnaHQ6ZS5sZWZ0K2Uud2lkdGgsYm90dG9tOmUudG9wK2UuaGVpZ2h0fSl9ZnVuY3Rpb24gTihlKXt2YXIgdD17fTt0cnl7aWYoaCgxMCkpe3Q9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt2YXIgbj12KGUsInRvcCIpLGk9dihlLCJsZWZ0Iik7dC50b3ArPW4sdC5sZWZ0Kz1pLHQuYm90dG9tKz1uLHQucmlnaHQrPWl9ZWxzZSB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZSl7fXZhciByPXtsZWZ0OnQubGVmdCx0b3A6dC50b3Asd2lkdGg6dC5yaWdodC10LmxlZnQsaGVpZ2h0OnQuYm90dG9tLXQudG9wfSxvPSJIVE1MIj09PWUubm9kZU5hbWU/dyhlLm93bmVyRG9jdW1lbnQpOnt9LGE9by53aWR0aHx8ZS5jbGllbnRXaWR0aHx8ci53aWR0aCxsPW8uaGVpZ2h0fHxlLmNsaWVudEhlaWdodHx8ci5oZWlnaHQsdT1lLm9mZnNldFdpZHRoLWEsYz1lLm9mZnNldEhlaWdodC1sO2lmKHV8fGMpe3ZhciBmPXMoZSk7dS09XyhmLCJ4IiksYy09XyhmLCJ5Iiksci53aWR0aC09dSxyLmhlaWdodC09Y31yZXR1cm4gUyhyKX1mdW5jdGlvbiBEKGUsdCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXSxpPWgoMTApLHI9IkhUTUwiPT09dC5ub2RlTmFtZSxvPU4oZSksYT1OKHQpLGw9dShlKSxjPXModCksZj1wYXJzZUZsb2F0KGMuYm9yZGVyVG9wV2lkdGgpLGQ9cGFyc2VGbG9hdChjLmJvcmRlckxlZnRXaWR0aCk7biYmciYmKGEudG9wPU1hdGgubWF4KGEudG9wLDApLGEubGVmdD1NYXRoLm1heChhLmxlZnQsMCkpO3ZhciBwPVMoe3RvcDpvLnRvcC1hLnRvcC1mLGxlZnQ6by5sZWZ0LWEubGVmdC1kLHdpZHRoOm8ud2lkdGgsaGVpZ2h0Om8uaGVpZ2h0fSk7aWYocC5tYXJnaW5Ub3A9MCxwLm1hcmdpbkxlZnQ9MCwhaSYmcil7dmFyIGc9cGFyc2VGbG9hdChjLm1hcmdpblRvcCksbT1wYXJzZUZsb2F0KGMubWFyZ2luTGVmdCk7cC50b3AtPWYtZyxwLmJvdHRvbS09Zi1nLHAubGVmdC09ZC1tLHAucmlnaHQtPWQtbSxwLm1hcmdpblRvcD1nLHAubWFyZ2luTGVmdD1tfXJldHVybihpJiYhbj90LmNvbnRhaW5zKGwpOnQ9PT1sJiYiQk9EWSIhPT1sLm5vZGVOYW1lKSYmKHA9eShwLHQpKSxwfWZ1bmN0aW9uIEEoZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXSxuPWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsaT1EKGUsbikscj1NYXRoLm1heChuLmNsaWVudFdpZHRoLHdpbmRvdy5pbm5lcldpZHRofHwwKSxvPU1hdGgubWF4KG4uY2xpZW50SGVpZ2h0LHdpbmRvdy5pbm5lckhlaWdodHx8MCksYT10PzA6dihuKSxzPXQ/MDp2KG4sImxlZnQiKSxsPXt0b3A6YS1pLnRvcCtpLm1hcmdpblRvcCxsZWZ0OnMtaS5sZWZ0K2kubWFyZ2luTGVmdCx3aWR0aDpyLGhlaWdodDpvfTtyZXR1cm4gUyhsKX1mdW5jdGlvbiBrKGUpe3ZhciB0PWUubm9kZU5hbWU7aWYoIkJPRFkiPT09dHx8IkhUTUwiPT09dClyZXR1cm4hMTtpZigiZml4ZWQiPT09cyhlLCJwb3NpdGlvbiIpKXJldHVybiEwO3ZhciBuPWwoZSk7cmV0dXJuISFuJiZrKG4pfWZ1bmN0aW9uIE8oZSl7aWYoIWV8fCFlLnBhcmVudEVsZW1lbnR8fGgoKSlyZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2Zvcih2YXIgdD1lLnBhcmVudEVsZW1lbnQ7dCYmIm5vbmUiPT09cyh0LCJ0cmFuc2Zvcm0iKTspdD10LnBhcmVudEVsZW1lbnQ7cmV0dXJuIHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudH1mdW5jdGlvbiBJKGUsdCxuLGkpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+NCYmdm9pZCAwIT09YXJndW1lbnRzWzRdJiZhcmd1bWVudHNbNF0sbz17dG9wOjAsbGVmdDowfSxhPXI/TyhlKTptKGUsYyh0KSk7aWYoInZpZXdwb3J0Ij09PWkpbz1BKGEscik7ZWxzZXt2YXIgcz12b2lkIDA7InNjcm9sbFBhcmVudCI9PT1pPyJCT0RZIj09PShzPXUobCh0KSkpLm5vZGVOYW1lJiYocz1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTpzPSJ3aW5kb3ciPT09aT9lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Omk7dmFyIGY9RChzLGEscik7aWYoIkhUTUwiIT09cy5ub2RlTmFtZXx8ayhhKSlvPWY7ZWxzZXt2YXIgZD13KGUub3duZXJEb2N1bWVudCksaD1kLmhlaWdodCxwPWQud2lkdGg7by50b3ArPWYudG9wLWYubWFyZ2luVG9wLG8uYm90dG9tPWgrZi50b3Asby5sZWZ0Kz1mLmxlZnQtZi5tYXJnaW5MZWZ0LG8ucmlnaHQ9cCtmLmxlZnR9fXZhciBnPSJudW1iZXIiPT10eXBlb2Yobj1ufHwwKTtyZXR1cm4gby5sZWZ0Kz1nP246bi5sZWZ0fHwwLG8udG9wKz1nP246bi50b3B8fDAsby5yaWdodC09Zz9uOm4ucmlnaHR8fDAsby5ib3R0b20tPWc/bjpuLmJvdHRvbXx8MCxvfWZ1bmN0aW9uIEwoZSl7cmV0dXJuIGUud2lkdGgqZS5oZWlnaHR9ZnVuY3Rpb24gaihlLHQsbixpLHIpe3ZhciBvPWFyZ3VtZW50cy5sZW5ndGg+NSYmdm9pZCAwIT09YXJndW1lbnRzWzVdP2FyZ3VtZW50c1s1XTowO2lmKC0xPT09ZS5pbmRleE9mKCJhdXRvIikpcmV0dXJuIGU7dmFyIGE9SShuLGksbyxyKSxzPXt0b3A6e3dpZHRoOmEud2lkdGgsaGVpZ2h0OnQudG9wLWEudG9wfSxyaWdodDp7d2lkdGg6YS5yaWdodC10LnJpZ2h0LGhlaWdodDphLmhlaWdodH0sYm90dG9tOnt3aWR0aDphLndpZHRoLGhlaWdodDphLmJvdHRvbS10LmJvdHRvbX0sbGVmdDp7d2lkdGg6dC5sZWZ0LWEubGVmdCxoZWlnaHQ6YS5oZWlnaHR9fSxsPU9iamVjdC5rZXlzKHMpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHgoe2tleTplfSxzW2VdLHthcmVhOkwoc1tlXSl9KX0pKS5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiB0LmFyZWEtZS5hcmVhfSkpLHU9bC5maWx0ZXIoKGZ1bmN0aW9uKGUpe3ZhciB0PWUud2lkdGgsaT1lLmhlaWdodDtyZXR1cm4gdD49bi5jbGllbnRXaWR0aCYmaT49bi5jbGllbnRIZWlnaHR9KSksYz11Lmxlbmd0aD4wP3VbMF0ua2V5OmxbMF0ua2V5LGY9ZS5zcGxpdCgiLSIpWzFdO3JldHVybiBjKyhmPyItIitmOiIiKX1mdW5jdGlvbiBQKGUsdCxuKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbCxyPWk/Tyh0KTptKHQsYyhuKSk7cmV0dXJuIEQobixyLGkpfWZ1bmN0aW9uIFIoZSl7dmFyIHQ9ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZSksbj1wYXJzZUZsb2F0KHQubWFyZ2luVG9wfHwwKStwYXJzZUZsb2F0KHQubWFyZ2luQm90dG9tfHwwKSxpPXBhcnNlRmxvYXQodC5tYXJnaW5MZWZ0fHwwKStwYXJzZUZsb2F0KHQubWFyZ2luUmlnaHR8fDApO3JldHVybnt3aWR0aDplLm9mZnNldFdpZHRoK2ksaGVpZ2h0OmUub2Zmc2V0SGVpZ2h0K259fWZ1bmN0aW9uIHEoZSl7dmFyIHQ9e2xlZnQ6InJpZ2h0IixyaWdodDoibGVmdCIsYm90dG9tOiJ0b3AiLHRvcDoiYm90dG9tIn07cmV0dXJuIGUucmVwbGFjZSgvbGVmdHxyaWdodHxib3R0b218dG9wL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfWZ1bmN0aW9uIEgoZSx0LG4pe249bi5zcGxpdCgiLSIpWzBdO3ZhciBpPVIoZSkscj17d2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9LG89LTEhPT1bInJpZ2h0IiwibGVmdCJdLmluZGV4T2YobiksYT1vPyJ0b3AiOiJsZWZ0IixzPW8/ImxlZnQiOiJ0b3AiLGw9bz8iaGVpZ2h0Ijoid2lkdGgiLHU9bz8id2lkdGgiOiJoZWlnaHQiO3JldHVybiByW2FdPXRbYV0rdFtsXS8yLWlbbF0vMixyW3NdPW49PT1zP3Rbc10taVt1XTp0W3EocyldLHJ9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmluZD9lLmZpbmQodCk6ZS5maWx0ZXIodClbMF19ZnVuY3Rpb24gQihlLHQsbil7cmV0dXJuKHZvaWQgMD09PW4/ZTplLnNsaWNlKDAsZnVuY3Rpb24oZSx0LG4pe2lmKEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgpcmV0dXJuIGUuZmluZEluZGV4KChmdW5jdGlvbihlKXtyZXR1cm4gZVt0XT09PW59KSk7dmFyIGk9RihlLChmdW5jdGlvbihlKXtyZXR1cm4gZVt0XT09PW59KSk7cmV0dXJuIGUuaW5kZXhPZihpKX0oZSwibmFtZSIsbikpKS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmZ1bmN0aW9uJiZjb25zb2xlLndhcm4oImBtb2RpZmllci5mdW5jdGlvbmAgaXMgZGVwcmVjYXRlZCwgdXNlIGBtb2RpZmllci5mbmAhIik7dmFyIG49ZS5mdW5jdGlvbnx8ZS5mbjtlLmVuYWJsZWQmJmEobikmJih0Lm9mZnNldHMucG9wcGVyPVModC5vZmZzZXRzLnBvcHBlciksdC5vZmZzZXRzLnJlZmVyZW5jZT1TKHQub2Zmc2V0cy5yZWZlcmVuY2UpLHQ9bih0LGUpKX0pKSx0fWZ1bmN0aW9uIE0oKXtpZighdGhpcy5zdGF0ZS5pc0Rlc3Ryb3llZCl7dmFyIGU9e2luc3RhbmNlOnRoaXMsc3R5bGVzOnt9LGFycm93U3R5bGVzOnt9LGF0dHJpYnV0ZXM6e30sZmxpcHBlZDohMSxvZmZzZXRzOnt9fTtlLm9mZnNldHMucmVmZXJlbmNlPVAodGhpcy5zdGF0ZSx0aGlzLnBvcHBlcix0aGlzLnJlZmVyZW5jZSx0aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZCksZS5wbGFjZW1lbnQ9aih0aGlzLm9wdGlvbnMucGxhY2VtZW50LGUub2Zmc2V0cy5yZWZlcmVuY2UsdGhpcy5wb3BwZXIsdGhpcy5yZWZlcmVuY2UsdGhpcy5vcHRpb25zLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50LHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5wYWRkaW5nKSxlLm9yaWdpbmFsUGxhY2VtZW50PWUucGxhY2VtZW50LGUucG9zaXRpb25GaXhlZD10aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZCxlLm9mZnNldHMucG9wcGVyPUgodGhpcy5wb3BwZXIsZS5vZmZzZXRzLnJlZmVyZW5jZSxlLnBsYWNlbWVudCksZS5vZmZzZXRzLnBvcHBlci5wb3NpdGlvbj10aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZD8iZml4ZWQiOiJhYnNvbHV0ZSIsZT1CKHRoaXMubW9kaWZpZXJzLGUpLHRoaXMuc3RhdGUuaXNDcmVhdGVkP3RoaXMub3B0aW9ucy5vblVwZGF0ZShlKToodGhpcy5zdGF0ZS5pc0NyZWF0ZWQ9ITAsdGhpcy5vcHRpb25zLm9uQ3JlYXRlKGUpKX19ZnVuY3Rpb24gVyhlLHQpe3JldHVybiBlLnNvbWUoKGZ1bmN0aW9uKGUpe3ZhciBuPWUubmFtZTtyZXR1cm4gZS5lbmFibGVkJiZuPT09dH0pKX1mdW5jdGlvbiBVKGUpe2Zvcih2YXIgdD1bITEsIm1zIiwiV2Via2l0IiwiTW96IiwiTyJdLG49ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIHI9dFtpXSxvPXI/IiIrcituOmU7aWYodm9pZCAwIT09ZG9jdW1lbnQuYm9keS5zdHlsZVtvXSlyZXR1cm4gb31yZXR1cm4gbnVsbH1mdW5jdGlvbiBRKCl7cmV0dXJuIHRoaXMuc3RhdGUuaXNEZXN0cm95ZWQ9ITAsVyh0aGlzLm1vZGlmaWVycywiYXBwbHlTdHlsZSIpJiYodGhpcy5wb3BwZXIucmVtb3ZlQXR0cmlidXRlKCJ4LXBsYWNlbWVudCIpLHRoaXMucG9wcGVyLnN0eWxlLnBvc2l0aW9uPSIiLHRoaXMucG9wcGVyLnN0eWxlLnRvcD0iIix0aGlzLnBvcHBlci5zdHlsZS5sZWZ0PSIiLHRoaXMucG9wcGVyLnN0eWxlLnJpZ2h0PSIiLHRoaXMucG9wcGVyLnN0eWxlLmJvdHRvbT0iIix0aGlzLnBvcHBlci5zdHlsZS53aWxsQ2hhbmdlPSIiLHRoaXMucG9wcGVyLnN0eWxlW1UoInRyYW5zZm9ybSIpXT0iIiksdGhpcy5kaXNhYmxlRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLm9wdGlvbnMucmVtb3ZlT25EZXN0cm95JiZ0aGlzLnBvcHBlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucG9wcGVyKSx0aGlzfWZ1bmN0aW9uIHooZSl7dmFyIHQ9ZS5vd25lckRvY3VtZW50O3JldHVybiB0P3QuZGVmYXVsdFZpZXc6d2luZG93fWZ1bmN0aW9uIFYoZSx0LG4saSl7dmFyIHI9IkJPRFkiPT09ZS5ub2RlTmFtZSxvPXI/ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3OmU7by5hZGRFdmVudExpc3RlbmVyKHQsbix7cGFzc2l2ZTohMH0pLHJ8fFYodShvLnBhcmVudE5vZGUpLHQsbixpKSxpLnB1c2gobyl9ZnVuY3Rpb24gJChlLHQsbixpKXtuLnVwZGF0ZUJvdW5kPWkseihlKS5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLG4udXBkYXRlQm91bmQse3Bhc3NpdmU6ITB9KTt2YXIgcj11KGUpO3JldHVybiBWKHIsInNjcm9sbCIsbi51cGRhdGVCb3VuZCxuLnNjcm9sbFBhcmVudHMpLG4uc2Nyb2xsRWxlbWVudD1yLG4uZXZlbnRzRW5hYmxlZD0hMCxufWZ1bmN0aW9uIFgoKXt0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWR8fCh0aGlzLnN0YXRlPSQodGhpcy5yZWZlcmVuY2UsdGhpcy5vcHRpb25zLHRoaXMuc3RhdGUsdGhpcy5zY2hlZHVsZVVwZGF0ZSkpfWZ1bmN0aW9uIFkoKXt2YXIgZSx0O3RoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZCYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuc2NoZWR1bGVVcGRhdGUpLHRoaXMuc3RhdGU9KGU9dGhpcy5yZWZlcmVuY2UsdD10aGlzLnN0YXRlLHooZSkucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0LnVwZGF0ZUJvdW5kKSx0LnNjcm9sbFBhcmVudHMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHQudXBkYXRlQm91bmQpfSkpLHQudXBkYXRlQm91bmQ9bnVsbCx0LnNjcm9sbFBhcmVudHM9W10sdC5zY3JvbGxFbGVtZW50PW51bGwsdC5ldmVudHNFbmFibGVkPSExLHQpKX1mdW5jdGlvbiBLKGUpe3JldHVybiIiIT09ZSYmIWlzTmFOKHBhcnNlRmxvYXQoZSkpJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBHKGUsdCl7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIGk9IiI7LTEhPT1bIndpZHRoIiwiaGVpZ2h0IiwidG9wIiwicmlnaHQiLCJib3R0b20iLCJsZWZ0Il0uaW5kZXhPZihuKSYmSyh0W25dKSYmKGk9InB4IiksZS5zdHlsZVtuXT10W25dK2l9KSl9dmFyIEo9aSYmL0ZpcmVmb3gvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO2Z1bmN0aW9uIFooZSx0LG4pe3ZhciBpPUYoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUubmFtZT09PXR9KSkscj0hIWkmJmUuc29tZSgoZnVuY3Rpb24oZSl7cmV0dXJuIGUubmFtZT09PW4mJmUuZW5hYmxlZCYmZS5vcmRlcjxpLm9yZGVyfSkpO2lmKCFyKXt2YXIgbz0iYCIrdCsiYCIsYT0iYCIrbisiYCI7Y29uc29sZS53YXJuKGErIiBtb2RpZmllciBpcyByZXF1aXJlZCBieSAiK28rIiBtb2RpZmllciBpbiBvcmRlciB0byB3b3JrLCBiZSBzdXJlIHRvIGluY2x1ZGUgaXQgYmVmb3JlICIrbysiISIpfXJldHVybiByfXZhciBlZT1bImF1dG8tc3RhcnQiLCJhdXRvIiwiYXV0by1lbmQiLCJ0b3Atc3RhcnQiLCJ0b3AiLCJ0b3AtZW5kIiwicmlnaHQtc3RhcnQiLCJyaWdodCIsInJpZ2h0LWVuZCIsImJvdHRvbS1lbmQiLCJib3R0b20iLCJib3R0b20tc3RhcnQiLCJsZWZ0LWVuZCIsImxlZnQiLCJsZWZ0LXN0YXJ0Il0sdGU9ZWUuc2xpY2UoMyk7ZnVuY3Rpb24gbmUoZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXSxuPXRlLmluZGV4T2YoZSksaT10ZS5zbGljZShuKzEpLmNvbmNhdCh0ZS5zbGljZSgwLG4pKTtyZXR1cm4gdD9pLnJldmVyc2UoKTppfXZhciBpZT0iZmxpcCIscmU9ImNsb2Nrd2lzZSIsb2U9ImNvdW50ZXJjbG9ja3dpc2UiO2Z1bmN0aW9uIGFlKGUsdCxuLGkpe3ZhciByPVswLDBdLG89LTEhPT1bInJpZ2h0IiwibGVmdCJdLmluZGV4T2YoaSksYT1lLnNwbGl0KC8oXCt8XC0pLykubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS50cmltKCl9KSkscz1hLmluZGV4T2YoRihhLChmdW5jdGlvbihlKXtyZXR1cm4tMSE9PWUuc2VhcmNoKC8sfFxzLyl9KSkpO2Fbc10mJi0xPT09YVtzXS5pbmRleE9mKCIsIikmJmNvbnNvbGUud2FybigiT2Zmc2V0cyBzZXBhcmF0ZWQgYnkgd2hpdGUgc3BhY2UocykgYXJlIGRlcHJlY2F0ZWQsIHVzZSBhIGNvbW1hICgsKSBpbnN0ZWFkLiIpO3ZhciBsPS9ccyosXHMqfFxzKy8sdT0tMSE9PXM/W2Euc2xpY2UoMCxzKS5jb25jYXQoW2Fbc10uc3BsaXQobClbMF1dKSxbYVtzXS5zcGxpdChsKVsxXV0uY29uY2F0KGEuc2xpY2UocysxKSldOlthXTtyZXR1cm4gdT11Lm1hcCgoZnVuY3Rpb24oZSxpKXt2YXIgcj0oMT09PWk/IW86byk/ImhlaWdodCI6IndpZHRoIixhPSExO3JldHVybiBlLnJlZHVjZSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4iIj09PWVbZS5sZW5ndGgtMV0mJi0xIT09WyIrIiwiLSJdLmluZGV4T2YodCk/KGVbZS5sZW5ndGgtMV09dCxhPSEwLGUpOmE/KGVbZS5sZW5ndGgtMV0rPXQsYT0hMSxlKTplLmNvbmNhdCh0KX0pLFtdKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlLHQsbixpKXt2YXIgcj1lLm1hdGNoKC8oKD86XC18XCspP1xkKlwuP1xkKikoLiopLyksbz0rclsxXSxhPXJbMl07aWYoIW8pcmV0dXJuIGU7aWYoMD09PWEuaW5kZXhPZigiJSIpKXtyZXR1cm4gUygiJXAiPT09YT9uOmkpW3RdLzEwMCpvfWlmKCJ2aCI9PT1hfHwidnciPT09YSlyZXR1cm4oInZoIj09PWE/TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCx3aW5kb3cuaW5uZXJIZWlnaHR8fDApOk1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCx3aW5kb3cuaW5uZXJXaWR0aHx8MCkpLzEwMCpvO3JldHVybiBvfShlLHIsdCxuKX0pKX0pKSx1LmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7ZS5mb3JFYWNoKChmdW5jdGlvbihuLGkpe0sobikmJihyW3RdKz1uKigiLSI9PT1lW2ktMV0/LTE6MSkpfSkpfSkpLHJ9dmFyIHNlPXtzaGlmdDp7b3JkZXI6MTAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wbGFjZW1lbnQsbj10LnNwbGl0KCItIilbMF0saT10LnNwbGl0KCItIilbMV07aWYoaSl7dmFyIHI9ZS5vZmZzZXRzLG89ci5yZWZlcmVuY2UsYT1yLnBvcHBlcixzPS0xIT09WyJib3R0b20iLCJ0b3AiXS5pbmRleE9mKG4pLGw9cz8ibGVmdCI6InRvcCIsdT1zPyJ3aWR0aCI6ImhlaWdodCIsYz17c3RhcnQ6Qyh7fSxsLG9bbF0pLGVuZDpDKHt9LGwsb1tsXStvW3VdLWFbdV0pfTtlLm9mZnNldHMucG9wcGVyPXgoe30sYSxjW2ldKX1yZXR1cm4gZX19LG9mZnNldDp7b3JkZXI6MjAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSx0KXt2YXIgbj10Lm9mZnNldCxpPWUucGxhY2VtZW50LHI9ZS5vZmZzZXRzLG89ci5wb3BwZXIsYT1yLnJlZmVyZW5jZSxzPWkuc3BsaXQoIi0iKVswXSxsPXZvaWQgMDtyZXR1cm4gbD1LKCtuKT9bK24sMF06YWUobixvLGEscyksImxlZnQiPT09cz8oby50b3ArPWxbMF0sby5sZWZ0LT1sWzFdKToicmlnaHQiPT09cz8oby50b3ArPWxbMF0sby5sZWZ0Kz1sWzFdKToidG9wIj09PXM/KG8ubGVmdCs9bFswXSxvLnRvcC09bFsxXSk6ImJvdHRvbSI9PT1zJiYoby5sZWZ0Kz1sWzBdLG8udG9wKz1sWzFdKSxlLnBvcHBlcj1vLGV9LG9mZnNldDowfSxwcmV2ZW50T3ZlcmZsb3c6e29yZGVyOjMwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsdCl7dmFyIG49dC5ib3VuZGFyaWVzRWxlbWVudHx8cChlLmluc3RhbmNlLnBvcHBlcik7ZS5pbnN0YW5jZS5yZWZlcmVuY2U9PT1uJiYobj1wKG4pKTt2YXIgaT1VKCJ0cmFuc2Zvcm0iKSxyPWUuaW5zdGFuY2UucG9wcGVyLnN0eWxlLG89ci50b3AsYT1yLmxlZnQscz1yW2ldO3IudG9wPSIiLHIubGVmdD0iIixyW2ldPSIiO3ZhciBsPUkoZS5pbnN0YW5jZS5wb3BwZXIsZS5pbnN0YW5jZS5yZWZlcmVuY2UsdC5wYWRkaW5nLG4sZS5wb3NpdGlvbkZpeGVkKTtyLnRvcD1vLHIubGVmdD1hLHJbaV09cyx0LmJvdW5kYXJpZXM9bDt2YXIgdT10LnByaW9yaXR5LGM9ZS5vZmZzZXRzLnBvcHBlcixmPXtwcmltYXJ5OmZ1bmN0aW9uKGUpe3ZhciBuPWNbZV07cmV0dXJuIGNbZV08bFtlXSYmIXQuZXNjYXBlV2l0aFJlZmVyZW5jZSYmKG49TWF0aC5tYXgoY1tlXSxsW2VdKSksQyh7fSxlLG4pfSxzZWNvbmRhcnk6ZnVuY3Rpb24oZSl7dmFyIG49InJpZ2h0Ij09PWU/ImxlZnQiOiJ0b3AiLGk9Y1tuXTtyZXR1cm4gY1tlXT5sW2VdJiYhdC5lc2NhcGVXaXRoUmVmZXJlbmNlJiYoaT1NYXRoLm1pbihjW25dLGxbZV0tKCJyaWdodCI9PT1lP2Mud2lkdGg6Yy5oZWlnaHQpKSksQyh7fSxuLGkpfX07cmV0dXJuIHUuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9LTEhPT1bImxlZnQiLCJ0b3AiXS5pbmRleE9mKGUpPyJwcmltYXJ5Ijoic2Vjb25kYXJ5IjtjPXgoe30sYyxmW3RdKGUpKX0pKSxlLm9mZnNldHMucG9wcGVyPWMsZX0scHJpb3JpdHk6WyJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iXSxwYWRkaW5nOjUsYm91bmRhcmllc0VsZW1lbnQ6InNjcm9sbFBhcmVudCJ9LGtlZXBUb2dldGhlcjp7b3JkZXI6NDAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vZmZzZXRzLG49dC5wb3BwZXIsaT10LnJlZmVyZW5jZSxyPWUucGxhY2VtZW50LnNwbGl0KCItIilbMF0sbz1NYXRoLmZsb29yLGE9LTEhPT1bInRvcCIsImJvdHRvbSJdLmluZGV4T2Yocikscz1hPyJyaWdodCI6ImJvdHRvbSIsbD1hPyJsZWZ0IjoidG9wIix1PWE/IndpZHRoIjoiaGVpZ2h0IjtyZXR1cm4gbltzXTxvKGlbbF0pJiYoZS5vZmZzZXRzLnBvcHBlcltsXT1vKGlbbF0pLW5bdV0pLG5bbF0+byhpW3NdKSYmKGUub2Zmc2V0cy5wb3BwZXJbbF09byhpW3NdKSksZX19LGFycm93OntvcmRlcjo1MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlLHQpe3ZhciBuO2lmKCFaKGUuaW5zdGFuY2UubW9kaWZpZXJzLCJhcnJvdyIsImtlZXBUb2dldGhlciIpKXJldHVybiBlO3ZhciBpPXQuZWxlbWVudDtpZigic3RyaW5nIj09dHlwZW9mIGkpe2lmKCEoaT1lLmluc3RhbmNlLnBvcHBlci5xdWVyeVNlbGVjdG9yKGkpKSlyZXR1cm4gZX1lbHNlIGlmKCFlLmluc3RhbmNlLnBvcHBlci5jb250YWlucyhpKSlyZXR1cm4gY29uc29sZS53YXJuKCJXQVJOSU5HOiBgYXJyb3cuZWxlbWVudGAgbXVzdCBiZSBjaGlsZCBvZiBpdHMgcG9wcGVyIGVsZW1lbnQhIiksZTt2YXIgcj1lLnBsYWNlbWVudC5zcGxpdCgiLSIpWzBdLG89ZS5vZmZzZXRzLGE9by5wb3BwZXIsbD1vLnJlZmVyZW5jZSx1PS0xIT09WyJsZWZ0IiwicmlnaHQiXS5pbmRleE9mKHIpLGM9dT8iaGVpZ2h0Ijoid2lkdGgiLGY9dT8iVG9wIjoiTGVmdCIsZD1mLnRvTG93ZXJDYXNlKCksaD11PyJsZWZ0IjoidG9wIixwPXU/ImJvdHRvbSI6InJpZ2h0IixnPVIoaSlbY107bFtwXS1nPGFbZF0mJihlLm9mZnNldHMucG9wcGVyW2RdLT1hW2RdLShsW3BdLWcpKSxsW2RdK2c+YVtwXSYmKGUub2Zmc2V0cy5wb3BwZXJbZF0rPWxbZF0rZy1hW3BdKSxlLm9mZnNldHMucG9wcGVyPVMoZS5vZmZzZXRzLnBvcHBlcik7dmFyIG09bFtkXStsW2NdLzItZy8yLHY9cyhlLmluc3RhbmNlLnBvcHBlcikseT1wYXJzZUZsb2F0KHZbIm1hcmdpbiIrZl0pLF89cGFyc2VGbG9hdCh2WyJib3JkZXIiK2YrIldpZHRoIl0pLGI9bS1lLm9mZnNldHMucG9wcGVyW2RdLXktXztyZXR1cm4gYj1NYXRoLm1heChNYXRoLm1pbihhW2NdLWcsYiksMCksZS5hcnJvd0VsZW1lbnQ9aSxlLm9mZnNldHMuYXJyb3c9KEMobj17fSxkLE1hdGgucm91bmQoYikpLEMobixoLCIiKSxuKSxlfSxlbGVtZW50OiJbeC1hcnJvd10ifSxmbGlwOntvcmRlcjo2MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlLHQpe2lmKFcoZS5pbnN0YW5jZS5tb2RpZmllcnMsImlubmVyIikpcmV0dXJuIGU7aWYoZS5mbGlwcGVkJiZlLnBsYWNlbWVudD09PWUub3JpZ2luYWxQbGFjZW1lbnQpcmV0dXJuIGU7dmFyIG49SShlLmluc3RhbmNlLnBvcHBlcixlLmluc3RhbmNlLnJlZmVyZW5jZSx0LnBhZGRpbmcsdC5ib3VuZGFyaWVzRWxlbWVudCxlLnBvc2l0aW9uRml4ZWQpLGk9ZS5wbGFjZW1lbnQuc3BsaXQoIi0iKVswXSxyPXEoaSksbz1lLnBsYWNlbWVudC5zcGxpdCgiLSIpWzFdfHwiIixhPVtdO3N3aXRjaCh0LmJlaGF2aW9yKXtjYXNlIGllOmE9W2kscl07YnJlYWs7Y2FzZSByZTphPW5lKGkpO2JyZWFrO2Nhc2Ugb2U6YT1uZShpLCEwKTticmVhaztkZWZhdWx0OmE9dC5iZWhhdmlvcn1yZXR1cm4gYS5mb3JFYWNoKChmdW5jdGlvbihzLGwpe2lmKGkhPT1zfHxhLmxlbmd0aD09PWwrMSlyZXR1cm4gZTtpPWUucGxhY2VtZW50LnNwbGl0KCItIilbMF0scj1xKGkpO3ZhciB1PWUub2Zmc2V0cy5wb3BwZXIsYz1lLm9mZnNldHMucmVmZXJlbmNlLGY9TWF0aC5mbG9vcixkPSJsZWZ0Ij09PWkmJmYodS5yaWdodCk+ZihjLmxlZnQpfHwicmlnaHQiPT09aSYmZih1LmxlZnQpPGYoYy5yaWdodCl8fCJ0b3AiPT09aSYmZih1LmJvdHRvbSk+ZihjLnRvcCl8fCJib3R0b20iPT09aSYmZih1LnRvcCk8ZihjLmJvdHRvbSksaD1mKHUubGVmdCk8ZihuLmxlZnQpLHA9Zih1LnJpZ2h0KT5mKG4ucmlnaHQpLGc9Zih1LnRvcCk8ZihuLnRvcCksbT1mKHUuYm90dG9tKT5mKG4uYm90dG9tKSx2PSJsZWZ0Ij09PWkmJmh8fCJyaWdodCI9PT1pJiZwfHwidG9wIj09PWkmJmd8fCJib3R0b20iPT09aSYmbSx5PS0xIT09WyJ0b3AiLCJib3R0b20iXS5pbmRleE9mKGkpLF89ISF0LmZsaXBWYXJpYXRpb25zJiYoeSYmInN0YXJ0Ij09PW8mJmh8fHkmJiJlbmQiPT09byYmcHx8IXkmJiJzdGFydCI9PT1vJiZnfHwheSYmImVuZCI9PT1vJiZtKSxiPSEhdC5mbGlwVmFyaWF0aW9uc0J5Q29udGVudCYmKHkmJiJzdGFydCI9PT1vJiZwfHx5JiYiZW5kIj09PW8mJmh8fCF5JiYic3RhcnQiPT09byYmbXx8IXkmJiJlbmQiPT09byYmZyksdz1ffHxiOyhkfHx2fHx3KSYmKGUuZmxpcHBlZD0hMCwoZHx8dikmJihpPWFbbCsxXSksdyYmKG89ZnVuY3Rpb24oZSl7cmV0dXJuImVuZCI9PT1lPyJzdGFydCI6InN0YXJ0Ij09PWU/ImVuZCI6ZX0obykpLGUucGxhY2VtZW50PWkrKG8/Ii0iK286IiIpLGUub2Zmc2V0cy5wb3BwZXI9eCh7fSxlLm9mZnNldHMucG9wcGVyLEgoZS5pbnN0YW5jZS5wb3BwZXIsZS5vZmZzZXRzLnJlZmVyZW5jZSxlLnBsYWNlbWVudCkpLGU9QihlLmluc3RhbmNlLm1vZGlmaWVycyxlLCJmbGlwIikpfSkpLGV9LGJlaGF2aW9yOiJmbGlwIixwYWRkaW5nOjUsYm91bmRhcmllc0VsZW1lbnQ6InZpZXdwb3J0IixmbGlwVmFyaWF0aW9uczohMSxmbGlwVmFyaWF0aW9uc0J5Q29udGVudDohMX0saW5uZXI6e29yZGVyOjcwMCxlbmFibGVkOiExLGZuOmZ1bmN0aW9uKGUpe3ZhciB0PWUucGxhY2VtZW50LG49dC5zcGxpdCgiLSIpWzBdLGk9ZS5vZmZzZXRzLHI9aS5wb3BwZXIsbz1pLnJlZmVyZW5jZSxhPS0xIT09WyJsZWZ0IiwicmlnaHQiXS5pbmRleE9mKG4pLHM9LTE9PT1bInRvcCIsImxlZnQiXS5pbmRleE9mKG4pO3JldHVybiByW2E/ImxlZnQiOiJ0b3AiXT1vW25dLShzP3JbYT8id2lkdGgiOiJoZWlnaHQiXTowKSxlLnBsYWNlbWVudD1xKHQpLGUub2Zmc2V0cy5wb3BwZXI9UyhyKSxlfX0saGlkZTp7b3JkZXI6ODAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSl7aWYoIVooZS5pbnN0YW5jZS5tb2RpZmllcnMsImhpZGUiLCJwcmV2ZW50T3ZlcmZsb3ciKSlyZXR1cm4gZTt2YXIgdD1lLm9mZnNldHMucmVmZXJlbmNlLG49RihlLmluc3RhbmNlLm1vZGlmaWVycywoZnVuY3Rpb24oZSl7cmV0dXJuInByZXZlbnRPdmVyZmxvdyI9PT1lLm5hbWV9KSkuYm91bmRhcmllcztpZih0LmJvdHRvbTxuLnRvcHx8dC5sZWZ0Pm4ucmlnaHR8fHQudG9wPm4uYm90dG9tfHx0LnJpZ2h0PG4ubGVmdCl7aWYoITA9PT1lLmhpZGUpcmV0dXJuIGU7ZS5oaWRlPSEwLGUuYXR0cmlidXRlc1sieC1vdXQtb2YtYm91bmRhcmllcyJdPSIifWVsc2V7aWYoITE9PT1lLmhpZGUpcmV0dXJuIGU7ZS5oaWRlPSExLGUuYXR0cmlidXRlc1sieC1vdXQtb2YtYm91bmRhcmllcyJdPSExfXJldHVybiBlfX0sY29tcHV0ZVN0eWxlOntvcmRlcjo4NTAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlLHQpe3ZhciBuPXQueCxpPXQueSxyPWUub2Zmc2V0cy5wb3BwZXIsbz1GKGUuaW5zdGFuY2UubW9kaWZpZXJzLChmdW5jdGlvbihlKXtyZXR1cm4iYXBwbHlTdHlsZSI9PT1lLm5hbWV9KSkuZ3B1QWNjZWxlcmF0aW9uO3ZvaWQgMCE9PW8mJmNvbnNvbGUud2FybigiV0FSTklORzogYGdwdUFjY2VsZXJhdGlvbmAgb3B0aW9uIG1vdmVkIHRvIGBjb21wdXRlU3R5bGVgIG1vZGlmaWVyIGFuZCB3aWxsIG5vdCBiZSBzdXBwb3J0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFBvcHBlci5qcyEiKTt2YXIgYT12b2lkIDAhPT1vP286dC5ncHVBY2NlbGVyYXRpb24scz1wKGUuaW5zdGFuY2UucG9wcGVyKSxsPU4ocyksdT17cG9zaXRpb246ci5wb3NpdGlvbn0sYz1mdW5jdGlvbihlLHQpe3ZhciBuPWUub2Zmc2V0cyxpPW4ucG9wcGVyLHI9bi5yZWZlcmVuY2Usbz1NYXRoLnJvdW5kLGE9TWF0aC5mbG9vcixzPWZ1bmN0aW9uKGUpe3JldHVybiBlfSxsPW8oci53aWR0aCksdT1vKGkud2lkdGgpLGM9LTEhPT1bImxlZnQiLCJyaWdodCJdLmluZGV4T2YoZS5wbGFjZW1lbnQpLGY9LTEhPT1lLnBsYWNlbWVudC5pbmRleE9mKCItIiksZD10P2N8fGZ8fGwlMj09dSUyP286YTpzLGg9dD9vOnM7cmV0dXJue2xlZnQ6ZChsJTI9PTEmJnUlMj09MSYmIWYmJnQ/aS5sZWZ0LTE6aS5sZWZ0KSx0b3A6aChpLnRvcCksYm90dG9tOmgoaS5ib3R0b20pLHJpZ2h0OmQoaS5yaWdodCl9fShlLHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPDJ8fCFKKSxmPSJib3R0b20iPT09bj8idG9wIjoiYm90dG9tIixkPSJyaWdodCI9PT1pPyJsZWZ0IjoicmlnaHQiLGg9VSgidHJhbnNmb3JtIiksZz12b2lkIDAsbT12b2lkIDA7aWYobT0iYm90dG9tIj09PWY/IkhUTUwiPT09cy5ub2RlTmFtZT8tcy5jbGllbnRIZWlnaHQrYy5ib3R0b206LWwuaGVpZ2h0K2MuYm90dG9tOmMudG9wLGc9InJpZ2h0Ij09PWQ/IkhUTUwiPT09cy5ub2RlTmFtZT8tcy5jbGllbnRXaWR0aCtjLnJpZ2h0Oi1sLndpZHRoK2MucmlnaHQ6Yy5sZWZ0LGEmJmgpdVtoXT0idHJhbnNsYXRlM2QoIitnKyJweCwgIittKyJweCwgMCkiLHVbZl09MCx1W2RdPTAsdS53aWxsQ2hhbmdlPSJ0cmFuc2Zvcm0iO2Vsc2V7dmFyIHY9ImJvdHRvbSI9PT1mPy0xOjEseT0icmlnaHQiPT09ZD8tMToxO3VbZl09bSp2LHVbZF09Zyp5LHUud2lsbENoYW5nZT1mKyIsICIrZH12YXIgXz17IngtcGxhY2VtZW50IjplLnBsYWNlbWVudH07cmV0dXJuIGUuYXR0cmlidXRlcz14KHt9LF8sZS5hdHRyaWJ1dGVzKSxlLnN0eWxlcz14KHt9LHUsZS5zdHlsZXMpLGUuYXJyb3dTdHlsZXM9eCh7fSxlLm9mZnNldHMuYXJyb3csZS5hcnJvd1N0eWxlcyksZX0sZ3B1QWNjZWxlcmF0aW9uOiEwLHg6ImJvdHRvbSIseToicmlnaHQifSxhcHBseVN0eWxlOntvcmRlcjo5MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlKXt2YXIgdCxuO3JldHVybiBHKGUuaW5zdGFuY2UucG9wcGVyLGUuc3R5bGVzKSx0PWUuaW5zdGFuY2UucG9wcGVyLG49ZS5hdHRyaWJ1dGVzLE9iamVjdC5rZXlzKG4pLmZvckVhY2goKGZ1bmN0aW9uKGUpeyExIT09bltlXT90LnNldEF0dHJpYnV0ZShlLG5bZV0pOnQucmVtb3ZlQXR0cmlidXRlKGUpfSkpLGUuYXJyb3dFbGVtZW50JiZPYmplY3Qua2V5cyhlLmFycm93U3R5bGVzKS5sZW5ndGgmJkcoZS5hcnJvd0VsZW1lbnQsZS5hcnJvd1N0eWxlcyksZX0sb25Mb2FkOmZ1bmN0aW9uKGUsdCxuLGkscil7dmFyIG89UChyLHQsZSxuLnBvc2l0aW9uRml4ZWQpLGE9aihuLnBsYWNlbWVudCxvLHQsZSxuLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50LG4ubW9kaWZpZXJzLmZsaXAucGFkZGluZyk7cmV0dXJuIHQuc2V0QXR0cmlidXRlKCJ4LXBsYWNlbWVudCIsYSksRyh0LHtwb3NpdGlvbjpuLnBvc2l0aW9uRml4ZWQ/ImZpeGVkIjoiYWJzb2x1dGUifSksbn0sZ3B1QWNjZWxlcmF0aW9uOnZvaWQgMH19LGxlPXtwbGFjZW1lbnQ6ImJvdHRvbSIscG9zaXRpb25GaXhlZDohMSxldmVudHNFbmFibGVkOiEwLHJlbW92ZU9uRGVzdHJveTohMSxvbkNyZWF0ZTpmdW5jdGlvbigpe30sb25VcGRhdGU6ZnVuY3Rpb24oKXt9LG1vZGlmaWVyczpzZX0sdWU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbil7dmFyIGk9dGhpcyxyPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTp7fTtFKHRoaXMsZSksdGhpcy5zY2hlZHVsZVVwZGF0ZT1mdW5jdGlvbigpe3JldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaS51cGRhdGUpfSx0aGlzLnVwZGF0ZT1vKHRoaXMudXBkYXRlLmJpbmQodGhpcykpLHRoaXMub3B0aW9ucz14KHt9LGUuRGVmYXVsdHMsciksdGhpcy5zdGF0ZT17aXNEZXN0cm95ZWQ6ITEsaXNDcmVhdGVkOiExLHNjcm9sbFBhcmVudHM6W119LHRoaXMucmVmZXJlbmNlPXQmJnQuanF1ZXJ5P3RbMF06dCx0aGlzLnBvcHBlcj1uJiZuLmpxdWVyeT9uWzBdOm4sdGhpcy5vcHRpb25zLm1vZGlmaWVycz17fSxPYmplY3Qua2V5cyh4KHt9LGUuRGVmYXVsdHMubW9kaWZpZXJzLHIubW9kaWZpZXJzKSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7aS5vcHRpb25zLm1vZGlmaWVyc1t0XT14KHt9LGUuRGVmYXVsdHMubW9kaWZpZXJzW3RdfHx7fSxyLm1vZGlmaWVycz9yLm1vZGlmaWVyc1t0XTp7fSl9KSksdGhpcy5tb2RpZmllcnM9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLm1vZGlmaWVycykubWFwKChmdW5jdGlvbihlKXtyZXR1cm4geCh7bmFtZTplfSxpLm9wdGlvbnMubW9kaWZpZXJzW2VdKX0pKS5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBlLm9yZGVyLXQub3JkZXJ9KSksdGhpcy5tb2RpZmllcnMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5lbmFibGVkJiZhKGUub25Mb2FkKSYmZS5vbkxvYWQoaS5yZWZlcmVuY2UsaS5wb3BwZXIsaS5vcHRpb25zLGUsaS5zdGF0ZSl9KSksdGhpcy51cGRhdGUoKTt2YXIgcz10aGlzLm9wdGlvbnMuZXZlbnRzRW5hYmxlZDtzJiZ0aGlzLmVuYWJsZUV2ZW50TGlzdGVuZXJzKCksdGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkPXN9cmV0dXJuIFQoZSxbe2tleToidXBkYXRlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBNLmNhbGwodGhpcyl9fSx7a2V5OiJkZXN0cm95Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBRLmNhbGwodGhpcyl9fSx7a2V5OiJlbmFibGVFdmVudExpc3RlbmVycyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gWC5jYWxsKHRoaXMpfX0se2tleToiZGlzYWJsZUV2ZW50TGlzdGVuZXJzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBZLmNhbGwodGhpcyl9fV0pLGV9KCk7dWUuVXRpbHM9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzpuLmcpLlBvcHBlclV0aWxzLHVlLnBsYWNlbWVudHM9ZWUsdWUuRGVmYXVsdHM9bGUsdC5kZWZhdWx0PXVlfX1dKTs="}},"time_used":5643,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5643,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/youtubei/v1/log_event?alt=json","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:29.053Z","timestamp":1785137069053,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /youtubei/v1/log_event?alt=json HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Request-Time: 1785137069028\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: CgtVVVVtSnNGcGQ0Yyipj5zTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgC2LfAgrcAjIwLllUPUdoSG9WcVZCcmpITUhrc3U1dVNTZ0x6b2FGeFNsaXBBSmdnNUJyXzZWWHRpcEt0ME0wdEd4Nm1hTk5VTEZTdW9QbWpobjZUclJvZkJBMFBYMTZ3SlA4NGc4MnhsVkhlbEJXbUphZUZONmtMVzNVQk1qNWdSMnllQjJudF9tYzVGdGEzQlNKVTVvOHFJZnpJMmZJdXlXWTE0RHRaXzFEblBwRnB4el9YbEd2cU5mSGRhN21femdMeUhJUS1mYXdKOVpyUDkwTHh3Q092RlR5M3V3U3VCeDNoZ1FaMW51ajhPcWZRdklKUVc1eEpmeHIwMXZSTVdhZUVrNVpFalBZdVl3R0szOGdVZmlNUlh4SXpVZURlZ0NYdnBOOC1CTUFhQS1ZdkdoMEVtbC1HblFteUJNbjJGMThuajZmellwRXpqeHlhYUN6UHFzeHh4WTU0VFBWd1EtUQ%3D%3D\r\nX-Goog-Event-Time: 1785137069028\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785137065824\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C0%2C0%2C0%2C0\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 12993\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=GhHoVqVBrjHMHksu5uSSgLzoaFxSlipAJgg5Br_6VXtipKt0M0tGx6maNNULFSuoPmjhn6TrRofBA0PX16wJP84g82xlVHelBWmJaeFN6kLW3UBMj5gR2yeB2nt_mc5Fta3BSJU5o8qIfzI2fIuyWY14DtZ_1DnPpFpxz_XlGvqNfHda7m_zgLyHIQ-fawJ9ZrP90LxwCOvFTy3uwSuBx3hgQZ1nuj8OqfQvIJQW5xJfxr01vRMWaeEk5ZEjPYuYwGK38gUfiMRXxIzUeDegCXvpN8-BMAaA-YvGh0Eml-GnQmyBMn2F18nj6fzYpEzjxyaaCzPqsxxxY54TPVwQ-Q; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxj3jqflqfKVAw%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":12993,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CKmPnNMGEJ7QsAUQtviAExDw3tEcEMn2gBMQieTRHBD3xIATELjkzhwQ_LLOHBAAELnw0RwQx_yAExCu1s8cEIv3zxwQn8-AExD58tEcEJ2GuCIQhuGAExDp-NEcEIeszhwQwY_QHBC-hNEcEN68zhwQiJDRHBD299EcEL2KsAUQzN-uBRC8pNAcEL2ZsAUQ9quwBRCBzc4cEJmNsQUQjpDRHBCV79EcEIqHuCIQg4e4IhC9tq4FEODq0RwQpKnRHBDxtNAcENr3zhwQyvuAExCJsM4cEOC30RwQ9enRHBDszdAcKnBDQU1TVHhWTS1acS1ETWVVRXBVQ25BNzVGWEtqQnVFV3FOVVB5QU1NM3czY0J1UUc3d1RwdmVrTE1xQ3NCQU9RcmdQN0pyYmtCdVNGRjlETUJzU1NCY3M5eFNmWjFRWGNMT2RHMUs3dkh0c0dIUWM9MAA%3D\"},\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\",\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"platform\":\"DESKTOP\",\"windowWidthPoints\":0,\"windowHeightPoints\":0},\"thirdParty\":{\"embedUrl\":\"https://ifxbrokertrades.co.za/\"}},\"events\":[{\"eventTimeMs\":1785137065835,\"latencyActionTicked\":{\"tickName\":\"mm_is\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065837,\"latencyActionTicked\":{\"tickName\":\"mm_ie\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065841,\"latencyActionTicked\":{\"tickName\":\"ep_init_cus\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065842,\"latencyActionTicked\":{\"tickName\":\"ep_init_eps\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065842,\"latencyActionTicked\":{\"tickName\":\"ep_init_epe\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065842,\"latencyActionTicked\":{\"tickName\":\"ep_init_cue\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137066087,\"latencyActionTicked\":{\"tickName\":\"pe\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137066089,\"latencyActionTicked\":{\"tickName\":\"ep_init_wes\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065552,\"latencyActionTicked\":{\"tickName\":\"srt\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065229,\"latencyActionBaselined\":{\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065466,\"latencyActionTicked\":{\"tickName\":\"nreqs\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065552,\"latencyActionTicked\":{\"tickName\":\"nress\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065565,\"latencyActionTicked\":{\"tickName\":\"nrese\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065432,\"latencyActionTicked\":{\"tickName\":\"ndnss\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065434,\"latencyActionTicked\":{\"tickName\":\"ndnse\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065434,\"latencyActionTicked\":{\"tickName\":\"ntcps\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065466,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065442,\"latencyActionTicked\":{\"tickName\":\"nstcps\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065466,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065705,\"latencyActionTicked\":{\"tickName\":\"wffs\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065792,\"latencyActionTicked\":{\"tickName\":\"wffe\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065688,\"latencyActionTicked\":{\"tickName\":\"rsf_pj\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065742,\"latencyActionTicked\":{\"tickName\":\"rse_pj\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065687,\"latencyActionTicked\":{\"tickName\":\"rsf_pc\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065717,\"latencyActionTicked\":{\"tickName\":\"rse_pc\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065688,\"latencyActionTicked\":{\"tickName\":\"rsf_ecj\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065731,\"latencyActionTicked\":{\"tickName\":\"rse_ecj\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065688,\"latencyActionTicked\":{\"tickName\":\"rsf_ecc\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065704,\"latencyActionTicked\":{\"tickName\":\"rse_ecc\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137066095,\"latencyActionInfo\":{\"isNavigation\":true,\"actionType\":\"LATENCY_ACTION_VIDEO_PREVIEW\",\"httpProtocol\":\"h2\",\"transportProtocol\":\"tcp\",\"isVisible\":true,\"loadType\":\"cold\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137065823,\"latencyActionTicked\":{\"tickName\":\"rses_dpj\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137066101,\"latencyActionTicked\":{\"tickName\":\"ep_init_wee\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137066103,\"latencyActionInfo\":{\"serverTimeMs\":68,\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137066137,\"screenCreated\":{\"csn\":\"xXrLLJpvgslxAwLm\",\"pageVe\":{\"veType\":16623,\"youtubeData\":{\"servletData\":{\"serializedServletEventId\":\"qQdnavOKHYertNcP56K14AQ\"}}}},\"context\":{\"lastActivityMs\":\"15\"}},{\"eventTimeMs\":1785137066138,\"latencyActionInfo\":{\"clientScreenNonce\":\"xXrLLJpvgslxAwLm\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"16\"}},{\"eventTimeMs\":1785137066138,\"screenCreated\":{\"csn\":\"F7NXp90qnlgwgJKQ\",\"pageVe\":{\"veType\":32594},\"implicitGesture\":{\"parentCsn\":\"xXrLLJpvgslxAwLm\",\"gesturedVe\":{\"veType\":16623},\"gestureType\":\"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED\"}},\"context\":{\"lastActivityMs\":\"16\"}},{\"eventTimeMs\":1785137066138,\"visualElementHidden\":{\"csn\":\"xXrLLJpvgslxAwLm\",\"ve\":{\"veType\":16623},\"eventType\":16},\"context\":{\"lastActivityMs\":\"16\"}},{\"eventTimeMs\":1785137066138,\"latencyActionInfo\":{\"clientScreenNonce\":\"F7NXp90qnlgwgJKQ\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785137066139,\"visualElementAttached\":{\"csn\":\"F7NXp90qnlgwgJKQ\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"trackingParams\":\"CAAQru4BIhMIn_-n5anylQMVUaf0Bx1AnAbqygEEYSOjsw==\"}]},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785137066141,\"latencyActionTicked\":{\"tickName\":\"qoes\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"19\"}},{\"eventTimeMs\":1785137066142,\"latencyActionTicked\":{\"tickName\":\"fs\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"20\"}},{\"eventTimeMs\":1785137066169,\"latencyActionInfo\":{\"clientPlaybackNonce\":\"bFlgcOCHO7IL-FPU\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"48\"}},{\"eventTimeMs\":1785137066170,\"latencyActionTicked\":{\"tickName\":\"ep_init_pr\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"49\"}},{\"eventTimeMs\":1785137066278,\"latencyActionTicked\":{\"tickName\":\"ep_init_ijs\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"157\"}},{\"eventTimeMs\":1785137066279,\"latencyActionTicked\":{\"tickName\":\"ep_init_ije\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"158\"}},{\"eventTimeMs\":1785137066281,\"latencyActionTicked\":{\"tickName\":\"ep_init_rs\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"160\"}},{\"eventTimeMs\":1785137066285,\"latencyActionTicked\":{\"tickName\":\"ep_init_re\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"164\"}},{\"eventTimeMs\":1785137066314,\"visualElementAttached\":{\"csn\":\"F7NXp90qnlgwgJKQ\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"192\"}},{\"eventTimeMs\":1785137066314,\"visualElementShown\":{\"csn\":\"F7NXp90qnlgwgJKQ\",\"ve\":{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"192\"}},{\"eventTimeMs\":1785137066362,\"latencyActionTicked\":{\"tickName\":\"ftr\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"240\"}},{\"eventTimeMs\":1785137066602,\"latencyActionTicked\":{\"tickName\":\"pot_ist\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"480\"}},{\"eventTimeMs\":1785137066638,\"visualElementAttached\":{\"csn\":\"F7NXp90qnlgwgJKQ\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"515\"}},{\"eventTimeMs\":1785137066638,\"visualElementShown\":{\"csn\":\"F7NXp90qnlgwgJKQ\",\"ve\":{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"516\"}},{\"eventTimeMs\":1785137066638,\"visualElementAttached\":{\"csn\":\"F7NXp90qnlgwgJKQ\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"516\"}},{\"eventTimeMs\":1785137066638,\"visualElementShown\":{\"csn\":\"F7NXp90qnlgwgJKQ\",\"ve\":{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"516\"}},{\"eventTimeMs\":1785137066638,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"QxrD4lletyeIGVFl\",\"clientScreenNonce\":\"xXrLLJpvgslxAwLm\"},\"context\":{\"lastActivityMs\":\"516\"}},{\"eventTimeMs\":1785137066638,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"QxrD4lletyeIGVFl\",\"clientScreenNonce\":\"F7NXp90qnlgwgJKQ\"},\"context\":{\"lastActivityMs\":\"516\"}},{\"eventTimeMs\":1785137066638,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"516\"}},{\"eventTimeMs\":1785137066638,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"516\"}},{\"eventTimeMs\":1785137066638,\"latencyActionTicked\":{\"tickName\":\"ftl\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"517\"}},{\"eventTimeMs\":1785137066919,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIEA==\"},\"context\":{\"lastActivityMs\":\"797\"}},{\"eventTimeMs\":1785137066920,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACxAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAoQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAQQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAPA/IhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAOkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAkQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAEEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAADAVEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAAhAIhgKAwoBdAoGCgRhR0lmEgkRAAAAAAAAcEA=\"},\"context\":{\"lastActivityMs\":\"798\"}},{\"eventTimeMs\":1785137067025,\"latencyActionTicked\":{\"tickName\":\"pot_if\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"904\"}},{\"eventTimeMs\":1785137067025,\"latencyActionTicked\":{\"tickName\":\"pot_cms\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"904\"}},{\"eventTimeMs\":1785137067026,\"latencyActionTicked\":{\"tickName\":\"pot_cmf\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"906\"}},{\"eventTimeMs\":1785137067920,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAALSbQA==\"},\"context\":{\"lastActivityMs\":\"1799\"}},{\"eventTimeMs\":1785137067921,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFtCgYKBGFHSWYSAggB\"},\"context\":{\"lastActivityMs\":\"1800\"}},{\"eventTimeMs\":1785137067922,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAAAAAADFAIhgKAwoBaQoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgFvCgYKBGFHSWYSCREAAAAAAGB6QCIYCgMKAWMKBgoEYUdJZhIJEQAAAAAAAAAAIhgKAwoBQwoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgF4CgYKBGFHSWYSCREAAAAAAAAAACIYCgMKAW0KBgoEYUdJZhIJEQAAAAAAAPA/\"},\"context\":{\"lastActivityMs\":\"1801\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"qQdnavOKHYertNcP56K14AQ\",\"clientCounter\":\"31876\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 07:24:29 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 31\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":28,"size_decoded":381,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"5e1fa6fd9abd549a576f3f24b1d3c8d4","sha1":"d5335d7f7d33be6a0b663f03b2df4df2521c4a87","sha256":"d7d5e54ad1e33d7ab49c664323ced79cb9723ff15e9764cd0edc3e15208e8336","sha512":"96e6938256b8e5924210f8e8e54a85d783fa2c01d5fbe5d2a8df7655fed9ef8be73c7cd8bf042c3c84302134b7418711397eece32f081eb7e824a519cc06b4e3","ssdeep":"","tlshash":"1c800038a8200b22232000ea202888322ac8c8203200ca28830200280cc0a0000a2282","first_seen":"2023-04-05T04:40:08Z","last_seen":"2026-08-19T17:30:26.290517Z","times_seen":285760,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":31,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/css/all.min5721.css?id=21f9f9f41222c9f2acec","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:30.728Z","timestamp":1785137070728,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/css/all.min5721.css?id=21f9f9f41222c9f2acec HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 08:52:00 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256df505df27\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:30 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":173863,"size_decoded":31664,"mime_type":"text/css","magic":"ASCII text, with very long lines (65397)","md5":"4fc6aa43d2e6eeb1c54274984a443d37","sha1":"19f3eeca342e707921b8e35a5cf660bcd9e848b3","sha256":"1dd35a65be24786296d6344b64f5735735040db6066908f0a2716b443a3458e0","sha512":"e56c3db407d7e165ee559e0e133423864fba1bc7f08e4c31f82c71410dd4a0968d3b220e9308e1fbf592ccd97da0c9b03996bca6a37e0f726006a628e0769e6f","ssdeep":"1536:twv1E8SIZlJ/Zg9ADlnIZ+mqXf5dWGFIibJbiC8IYiy6BFAXq6Y18GMF63kAmhOZ:41E1IZ3/g2ln++1flbqMAXHw","tlshash":"c7046eb4d41e01da7726c60fab01b27a99f6f738d5410e4ae0cb4d1e1de2b9811c9bed","first_seen":"2026-07-27T05:02:02.469803Z","last_seen":"2026-07-27T07:25:28.824499Z","times_seen":3,"resource_available":false,"data":"LyohCiAqIEZvbnQgQXdlc29tZSBQcm8gNS4xNS40IGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tCiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpCiAqLy5mYSwuZmFiLC5mYWQsLmZhbCwuZmFyLC5mYXN7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXJlbmRlcmluZzphdXRvO2xpbmUtaGVpZ2h0OjF9LmZhLWxne2ZvbnQtc2l6ZToxLjMzMzMzZW07bGluZS1oZWlnaHQ6Ljc1ZW07dmVydGljYWwtYWxpZ246LS4wNjY3ZW19LmZhLXhze2ZvbnQtc2l6ZTouNzVlbX0uZmEtc217Zm9udC1zaXplOi44NzVlbX0uZmEtMXh7Zm9udC1zaXplOjFlbX0uZmEtMnh7Zm9udC1zaXplOjJlbX0uZmEtM3h7Zm9udC1zaXplOjNlbX0uZmEtNHh7Zm9udC1zaXplOjRlbX0uZmEtNXh7Zm9udC1zaXplOjVlbX0uZmEtNnh7Zm9udC1zaXplOjZlbX0uZmEtN3h7Zm9udC1zaXplOjdlbX0uZmEtOHh7Zm9udC1zaXplOjhlbX0uZmEtOXh7Zm9udC1zaXplOjllbX0uZmEtMTB4e2ZvbnQtc2l6ZToxMGVtfS5mYS1md3t0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxLjI1ZW19LmZhLXVse2xpc3Qtc3R5bGUtdHlwZTpub25lO21hcmdpbi1sZWZ0OjIuNWVtO3BhZGRpbmctbGVmdDowfS5mYS11bD5saXtwb3NpdGlvbjpyZWxhdGl2ZX0uZmEtbGl7bGVmdDotMmVtO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjJlbTtsaW5lLWhlaWdodDppbmhlcml0fS5mYS1ib3JkZXJ7Ym9yZGVyOi4wOGVtIHNvbGlkICNlZWU7Ym9yZGVyLXJhZGl1czouMWVtO3BhZGRpbmc6LjJlbSAuMjVlbSAuMTVlbX0uZmEtcHVsbC1sZWZ0e2Zsb2F0OmxlZnR9LmZhLXB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LmZhLmZhLXB1bGwtbGVmdCwuZmFiLmZhLXB1bGwtbGVmdCwuZmFsLmZhLXB1bGwtbGVmdCwuZmFyLmZhLXB1bGwtbGVmdCwuZmFzLmZhLXB1bGwtbGVmdHttYXJnaW4tcmlnaHQ6LjNlbX0uZmEuZmEtcHVsbC1yaWdodCwuZmFiLmZhLXB1bGwtcmlnaHQsLmZhbC5mYS1wdWxsLXJpZ2h0LC5mYXIuZmEtcHVsbC1yaWdodCwuZmFzLmZhLXB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6LjNlbX0uZmEtc3Bpbnstd2Via2l0LWFuaW1hdGlvbjpmYS1zcGluIDJzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246ZmEtc3BpbiAycyBsaW5lYXIgaW5maW5pdGV9LmZhLXB1bHNley13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMXMgc3RlcHMoOCkgaW5maW5pdGU7YW5pbWF0aW9uOmZhLXNwaW4gMXMgc3RlcHMoOCkgaW5maW5pdGV9QC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyBmYS1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5mYS1yb3RhdGUtOTB7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX0uZmEtcm90YXRlLTE4MHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmZhLXJvdGF0ZS0yNzB7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfS5mYS1mbGlwLWhvcml6b250YWx7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKC0xKTt0cmFuc2Zvcm06c2NhbGVYKC0xKX0uZmEtZmxpcC12ZXJ0aWNhbHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLTEpO3RyYW5zZm9ybTpzY2FsZVkoLTEpfS5mYS1mbGlwLWJvdGgsLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2Fsey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC0xKTt0cmFuc2Zvcm06c2NhbGUoLTEpfTpyb290IC5mYS1mbGlwLWJvdGgsOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCw6cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCw6cm9vdCAuZmEtcm90YXRlLTE4MCw6cm9vdCAuZmEtcm90YXRlLTI3MCw6cm9vdCAuZmEtcm90YXRlLTkwey13ZWJraXQtZmlsdGVyOm5vbmU7ZmlsdGVyOm5vbmV9LmZhLXN0YWNre2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyZW07bGluZS1oZWlnaHQ6MmVtO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyLjVlbX0uZmEtc3RhY2stMXgsLmZhLXN0YWNrLTJ4e2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS5mYS1zdGFjay0xeHtsaW5lLWhlaWdodDppbmhlcml0fS5mYS1zdGFjay0yeHtmb250LXNpemU6MmVtfS5mYS1pbnZlcnNle2NvbG9yOiNmZmZ9LmZhLTUwMHB4OmJlZm9yZXtjb250ZW50OiJcZjI2ZSJ9LmZhLWFiYWN1czpiZWZvcmV7Y29udGVudDoiXGY2NDAifS5mYS1hY2Nlc3NpYmxlLWljb246YmVmb3Jle2NvbnRlbnQ6IlxmMzY4In0uZmEtYWNjdXNvZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzY5In0uZmEtYWNvcm46YmVmb3Jle2NvbnRlbnQ6IlxmNmFlIn0uZmEtYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDpiZWZvcmV7Y29udGVudDoiXGY2YWYifS5mYS1hZDpiZWZvcmV7Y29udGVudDoiXGY2NDEifS5mYS1hZGRyZXNzLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMmI5In0uZmEtYWRkcmVzcy1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjJiYiJ9LmZhLWFkanVzdDpiZWZvcmV7Y29udGVudDoiXGYwNDIifS5mYS1hZG46YmVmb3Jle2NvbnRlbnQ6IlxmMTcwIn0uZmEtYWR2ZXJzYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMzZhIn0uZmEtYWZmaWxpYXRldGhlbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMzZiIn0uZmEtYWlyLWNvbmRpdGlvbmVyOmJlZm9yZXtjb250ZW50OiJcZjhmNCJ9LmZhLWFpci1mcmVzaGVuZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWQwIn0uZmEtYWlyYm5iOmJlZm9yZXtjb250ZW50OiJcZjgzNCJ9LmZhLWFsYXJtLWNsb2NrOmJlZm9yZXtjb250ZW50OiJcZjM0ZSJ9LmZhLWFsYXJtLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjg0MyJ9LmZhLWFsYXJtLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmODQ0In0uZmEtYWxhcm0tc25vb3plOmJlZm9yZXtjb250ZW50OiJcZjg0NSJ9LmZhLWFsYnVtOmJlZm9yZXtjb250ZW50OiJcZjg5ZiJ9LmZhLWFsYnVtLWNvbGxlY3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxmOGEwIn0uZmEtYWxnb2xpYTpiZWZvcmV7Y29udGVudDoiXGYzNmMifS5mYS1hbGljb3JuOmJlZm9yZXtjb250ZW50OiJcZjZiMCJ9LmZhLWFsaWVuOmJlZm9yZXtjb250ZW50OiJcZjhmNSJ9LmZhLWFsaWVuLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmOGY2In0uZmEtYWxpZ24tY2VudGVyOmJlZm9yZXtjb250ZW50OiJcZjAzNyJ9LmZhLWFsaWduLWp1c3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMDM5In0uZmEtYWxpZ24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwMzYifS5mYS1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzgifS5mYS1hbGlnbi1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY4NDYifS5mYS1hbGlwYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNjQyIn0uZmEtYWxsZXJnaWVzOmJlZm9yZXtjb250ZW50OiJcZjQ2MSJ9LmZhLWFtYXpvbjpiZWZvcmV7Y29udGVudDoiXGYyNzAifS5mYS1hbWF6b24tcGF5OmJlZm9yZXtjb250ZW50OiJcZjQyYyJ9LmZhLWFtYnVsYW5jZTpiZWZvcmV7Y29udGVudDoiXGYwZjkifS5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmV7Y29udGVudDoiXGYyYTMifS5mYS1hbWlsaWE6YmVmb3Jle2NvbnRlbnQ6IlxmMzZkIn0uZmEtYW1wLWd1aXRhcjpiZWZvcmV7Y29udGVudDoiXGY4YTEifS5mYS1hbmFseXRpY3M6YmVmb3Jle2NvbnRlbnQ6IlxmNjQzIn0uZmEtYW5jaG9yOmJlZm9yZXtjb250ZW50OiJcZjEzZCJ9LmZhLWFuZHJvaWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTdiIn0uZmEtYW5nZWw6YmVmb3Jle2NvbnRlbnQ6IlxmNzc5In0uZmEtYW5nZWxsaXN0OmJlZm9yZXtjb250ZW50OiJcZjIwOSJ9LmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjEwMyJ9LmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwMCJ9LmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMDEifS5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTAyIn0uZmEtYW5nbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDcifS5mYS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwNCJ9LmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwNSJ9LmZhLWFuZ2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwNiJ9LmZhLWFuZ3J5OmJlZm9yZXtjb250ZW50OiJcZjU1NiJ9LmZhLWFuZ3J5Y3JlYXRpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzZlIn0uZmEtYW5ndWxhcjpiZWZvcmV7Y29udGVudDoiXGY0MjAifS5mYS1hbmtoOmJlZm9yZXtjb250ZW50OiJcZjY0NCJ9LmZhLWFwcC1zdG9yZTpiZWZvcmV7Y29udGVudDoiXGYzNmYifS5mYS1hcHAtc3RvcmUtaW9zOmJlZm9yZXtjb250ZW50OiJcZjM3MCJ9LmZhLWFwcGVyOmJlZm9yZXtjb250ZW50OiJcZjM3MSJ9LmZhLWFwcGxlOmJlZm9yZXtjb250ZW50OiJcZjE3OSJ9LmZhLWFwcGxlLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1ZDEifS5mYS1hcHBsZS1jcmF0ZTpiZWZvcmV7Y29udGVudDoiXGY2YjEifS5mYS1hcHBsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDE1In0uZmEtYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGYxODcifS5mYS1hcmNod2F5OmJlZm9yZXtjb250ZW50OiJcZjU1NyJ9LmZhLWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYzNTgifS5mYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzU5In0uZmEtYXJyb3ctYWx0LWNpcmNsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYzNWEifS5mYS1hcnJvdy1hbHQtY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjM1YiJ9LmZhLWFycm93LWFsdC1kb3duOmJlZm9yZXtjb250ZW50OiJcZjM1NCJ9LmZhLWFycm93LWFsdC1mcm9tLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGYzNDYifS5mYS1hcnJvdy1hbHQtZnJvbS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjM0NyJ9LmZhLWFycm93LWFsdC1mcm9tLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjM0OCJ9LmZhLWFycm93LWFsdC1mcm9tLXRvcDpiZWZvcmV7Y29udGVudDoiXGYzNDkifS5mYS1hcnJvdy1hbHQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzNTUifS5mYS1hcnJvdy1hbHQtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzU2In0uZmEtYXJyb3ctYWx0LXNxdWFyZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjM1MCJ9LmZhLWFycm93LWFsdC1zcXVhcmUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzNTEifS5mYS1hcnJvdy1hbHQtc3F1YXJlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjM1MiJ9LmZhLWFycm93LWFsdC1zcXVhcmUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMzUzIn0uZmEtYXJyb3ctYWx0LXRvLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGYzNGEifS5mYS1hcnJvdy1hbHQtdG8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzNGIifS5mYS1hcnJvdy1hbHQtdG8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzRjIn0uZmEtYXJyb3ctYWx0LXRvLXRvcDpiZWZvcmV7Y29udGVudDoiXGYzNGQifS5mYS1hcnJvdy1hbHQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMzU3In0uZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGFiIn0uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE4In0uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhOSJ9LmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYwYWEifS5mYS1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA2MyJ9LmZhLWFycm93LWZyb20tYm90dG9tOmJlZm9yZXtjb250ZW50OiJcZjM0MiJ9LmZhLWFycm93LWZyb20tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzNDMifS5mYS1hcnJvdy1mcm9tLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjM0NCJ9LmZhLWFycm93LWZyb20tdG9wOmJlZm9yZXtjb250ZW50OiJcZjM0NSJ9LmZhLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYwIn0uZmEtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYxIn0uZmEtYXJyb3ctc3F1YXJlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMzM5In0uZmEtYXJyb3ctc3F1YXJlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzNhIn0uZmEtYXJyb3ctc3F1YXJlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjMzYiJ9LmZhLWFycm93LXNxdWFyZS11cDpiZWZvcmV7Y29udGVudDoiXGYzM2MifS5mYS1hcnJvdy10by1ib3R0b206YmVmb3Jle2NvbnRlbnQ6IlxmMzNkIn0uZmEtYXJyb3ctdG8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzM2UifS5mYS1hcnJvdy10by1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYzNDAifS5mYS1hcnJvdy10by10b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMzQxIn0uZmEtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDYyIn0uZmEtYXJyb3dzOmJlZm9yZXtjb250ZW50OiJcZjA0NyJ9LmZhLWFycm93cy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGIyIn0uZmEtYXJyb3dzLWFsdC1oOmJlZm9yZXtjb250ZW50OiJcZjMzNyJ9LmZhLWFycm93cy1hbHQtdjpiZWZvcmV7Y29udGVudDoiXGYzMzgifS5mYS1hcnJvd3MtaDpiZWZvcmV7Y29udGVudDoiXGYwN2UifS5mYS1hcnJvd3MtdjpiZWZvcmV7Y29udGVudDoiXGYwN2QifS5mYS1hcnRzdGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjc3YSJ9LmZhLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmV7Y29udGVudDoiXGYyYTIifS5mYS1hc3RlcmlzazpiZWZvcmV7Y29udGVudDoiXGYwNjkifS5mYS1hc3ltbWV0cmlrOmJlZm9yZXtjb250ZW50OiJcZjM3MiJ9LmZhLWF0OmJlZm9yZXtjb250ZW50OiJcZjFmYSJ9LmZhLWF0bGFzOmJlZm9yZXtjb250ZW50OiJcZjU1OCJ9LmZhLWF0bGFzc2lhbjpiZWZvcmV7Y29udGVudDoiXGY3N2IifS5mYS1hdG9tOmJlZm9yZXtjb250ZW50OiJcZjVkMiJ9LmZhLWF0b20tYWx0OmJlZm9yZXtjb250ZW50OiJcZjVkMyJ9LmZhLWF1ZGlibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzczIn0uZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3Jle2NvbnRlbnQ6IlxmMjllIn0uZmEtYXV0b3ByZWZpeGVyOmJlZm9yZXtjb250ZW50OiJcZjQxYyJ9LmZhLWF2aWFuZXg6YmVmb3Jle2NvbnRlbnQ6IlxmMzc0In0uZmEtYXZpYXRvOmJlZm9yZXtjb250ZW50OiJcZjQyMSJ9LmZhLWF3YXJkOmJlZm9yZXtjb250ZW50OiJcZjU1OSJ9LmZhLWF3czpiZWZvcmV7Y29udGVudDoiXGYzNzUifS5mYS1heGU6YmVmb3Jle2NvbnRlbnQ6IlxmNmIyIn0uZmEtYXhlLWJhdHRsZTpiZWZvcmV7Y29udGVudDoiXGY2YjMifS5mYS1iYWJ5OmJlZm9yZXtjb250ZW50OiJcZjc3YyJ9LmZhLWJhYnktY2FycmlhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNzdkIn0uZmEtYmFja3BhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNWQ0In0uZmEtYmFja3NwYWNlOmJlZm9yZXtjb250ZW50OiJcZjU1YSJ9LmZhLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0YSJ9LmZhLWJhY29uOmJlZm9yZXtjb250ZW50OiJcZjdlNSJ9LmZhLWJhY3RlcmlhOmJlZm9yZXtjb250ZW50OiJcZTA1OSJ9LmZhLWJhY3Rlcml1bTpiZWZvcmV7Y29udGVudDoiXGUwNWEifS5mYS1iYWRnZTpiZWZvcmV7Y29udGVudDoiXGYzMzUifS5mYS1iYWRnZS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYzMzYifS5mYS1iYWRnZS1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjQ1In0uZmEtYmFkZ2UtcGVyY2VudDpiZWZvcmV7Y29udGVudDoiXGY2NDYifS5mYS1iYWRnZS1zaGVyaWZmOmJlZm9yZXtjb250ZW50OiJcZjhhMiJ9LmZhLWJhZGdlci1ob25leTpiZWZvcmV7Y29udGVudDoiXGY2YjQifS5mYS1iYWdzLXNob3BwaW5nOmJlZm9yZXtjb250ZW50OiJcZjg0NyJ9LmZhLWJhaGFpOmJlZm9yZXtjb250ZW50OiJcZjY2NiJ9LmZhLWJhbGFuY2Utc2NhbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjRlIn0uZmEtYmFsYW5jZS1zY2FsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjUxNSJ9LmZhLWJhbGFuY2Utc2NhbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTE2In0uZmEtYmFsbC1waWxlOmJlZm9yZXtjb250ZW50OiJcZjc3ZSJ9LmZhLWJhbGxvdDpiZWZvcmV7Y29udGVudDoiXGY3MzIifS5mYS1iYWxsb3QtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNzMzIn0uZmEtYmFuOmJlZm9yZXtjb250ZW50OiJcZjA1ZSJ9LmZhLWJhbmQtYWlkOmJlZm9yZXtjb250ZW50OiJcZjQ2MiJ9LmZhLWJhbmRjYW1wOmJlZm9yZXtjb250ZW50OiJcZjJkNSJ9LmZhLWJhbmpvOmJlZm9yZXtjb250ZW50OiJcZjhhMyJ9LmZhLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDJhIn0uZmEtYmFyY29kZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDYzIn0uZmEtYmFyY29kZS1yZWFkOmJlZm9yZXtjb250ZW50OiJcZjQ2NCJ9LmZhLWJhcmNvZGUtc2NhbjpiZWZvcmV7Y29udGVudDoiXGY0NjUifS5mYS1iYXJzOmJlZm9yZXtjb250ZW50OiJcZjBjOSJ9LmZhLWJhc2ViYWxsOmJlZm9yZXtjb250ZW50OiJcZjQzMiJ9LmZhLWJhc2ViYWxsLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDMzIn0uZmEtYmFza2V0YmFsbC1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjQzNCJ9LmZhLWJhc2tldGJhbGwtaG9vcDpiZWZvcmV7Y29udGVudDoiXGY0MzUifS5mYS1iYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmI1In0uZmEtYmF0aDpiZWZvcmV7Y29udGVudDoiXGYyY2QifS5mYS1iYXR0ZXJ5LWJvbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzc2In0uZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyNDQifS5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmMjQwIn0uZmEtYmF0dGVyeS1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjI0MiJ9LmZhLWJhdHRlcnktcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDMifS5mYS1iYXR0ZXJ5LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjM3NyJ9LmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjQxIn0uZmEtYmF0dGxlLW5ldDpiZWZvcmV7Y29udGVudDoiXGY4MzUifS5mYS1iZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjM2In0uZmEtYmVkLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ZjcifS5mYS1iZWQtYnVuazpiZWZvcmV7Y29udGVudDoiXGY4ZjgifS5mYS1iZWQtZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmOGY5In0uZmEtYmVlcjpiZWZvcmV7Y29udGVudDoiXGYwZmMifS5mYS1iZWhhbmNlOmJlZm9yZXtjb250ZW50OiJcZjFiNCJ9LmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNSJ9LmZhLWJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMGYzIn0uZmEtYmVsbC1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGY4NDgifS5mYS1iZWxsLW9uOmJlZm9yZXtjb250ZW50OiJcZjhmYSJ9LmZhLWJlbGwtcGx1czpiZWZvcmV7Y29udGVudDoiXGY4NDkifS5mYS1iZWxsLXNjaG9vbDpiZWZvcmV7Y29udGVudDoiXGY1ZDUifS5mYS1iZWxsLXNjaG9vbC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY1ZDYifS5mYS1iZWxsLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjFmNiJ9LmZhLWJlbGxzOmJlZm9yZXtjb250ZW50OiJcZjc3ZiJ9LmZhLWJldGFtYXg6YmVmb3Jle2NvbnRlbnQ6IlxmOGE0In0uZmEtYmV6aWVyLWN1cnZlOmJlZm9yZXtjb250ZW50OiJcZjU1YiJ9LmZhLWJpYmxlOmJlZm9yZXtjb250ZW50OiJcZjY0NyJ9LmZhLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjA2In0uZmEtYmlraW5nOmJlZm9yZXtjb250ZW50OiJcZjg0YSJ9LmZhLWJpa2luZy1tb3VudGFpbjpiZWZvcmV7Y29udGVudDoiXGY4NGIifS5mYS1iaW1vYmplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMzc4In0uZmEtYmlub2N1bGFyczpiZWZvcmV7Y29udGVudDoiXGYxZTUifS5mYS1iaW9oYXphcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzgwIn0uZmEtYmlydGhkYXktY2FrZTpiZWZvcmV7Y29udGVudDoiXGYxZmQifS5mYS1iaXRidWNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTcxIn0uZmEtYml0Y29pbjpiZWZvcmV7Y29udGVudDoiXGYzNzkifS5mYS1iaXR5OmJlZm9yZXtjb250ZW50OiJcZjM3YSJ9LmZhLWJsYWNrLXRpZTpiZWZvcmV7Y29udGVudDoiXGYyN2UifS5mYS1ibGFja2JlcnJ5OmJlZm9yZXtjb250ZW50OiJcZjM3YiJ9LmZhLWJsYW5rZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDk4In0uZmEtYmxlbmRlcjpiZWZvcmV7Y29udGVudDoiXGY1MTcifS5mYS1ibGVuZGVyLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjZiNiJ9LmZhLWJsaW5kOmJlZm9yZXtjb250ZW50OiJcZjI5ZCJ9LmZhLWJsaW5kczpiZWZvcmV7Y29udGVudDoiXGY4ZmIifS5mYS1ibGluZHMtb3BlbjpiZWZvcmV7Y29udGVudDoiXGY4ZmMifS5mYS1ibGluZHMtcmFpc2VkOmJlZm9yZXtjb250ZW50OiJcZjhmZCJ9LmZhLWJsb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNzgxIn0uZmEtYmxvZ2dlcjpiZWZvcmV7Y29udGVudDoiXGYzN2MifS5mYS1ibG9nZ2VyLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMzdkIn0uZmEtYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OiJcZjI5MyJ9LmZhLWJsdWV0b290aC1iOmJlZm9yZXtjb250ZW50OiJcZjI5NCJ9LmZhLWJvbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDMyIn0uZmEtYm9sdDpiZWZvcmV7Y29udGVudDoiXGYwZTcifS5mYS1ib21iOmJlZm9yZXtjb250ZW50OiJcZjFlMiJ9LmZhLWJvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNWQ3In0uZmEtYm9uZS1icmVhazpiZWZvcmV7Y29udGVudDoiXGY1ZDgifS5mYS1ib25nOmJlZm9yZXtjb250ZW50OiJcZjU1YyJ9LmZhLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDJkIn0uZmEtYm9vay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWQ5In0uZmEtYm9vay1kZWFkOmJlZm9yZXtjb250ZW50OiJcZjZiNyJ9LmZhLWJvb2staGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDk5In0uZmEtYm9vay1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjdlNiJ9LmZhLWJvb2stb3BlbjpiZWZvcmV7Y29udGVudDoiXGY1MTgifS5mYS1ib29rLXJlYWRlcjpiZWZvcmV7Y29udGVudDoiXGY1ZGEifS5mYS1ib29rLXNwZWxsczpiZWZvcmV7Y29udGVudDoiXGY2YjgifS5mYS1ib29rLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmN2U3In0uZmEtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMDJlIn0uZmEtYm9va3M6YmVmb3Jle2NvbnRlbnQ6IlxmNWRiIn0uZmEtYm9va3MtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY3ZTgifS5mYS1ib29tYm94OmJlZm9yZXtjb250ZW50OiJcZjhhNSJ9LmZhLWJvb3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNzgyIn0uZmEtYm9vdGgtY3VydGFpbjpiZWZvcmV7Y29udGVudDoiXGY3MzQifS5mYS1ib290c3RyYXA6YmVmb3Jle2NvbnRlbnQ6IlxmODM2In0uZmEtYm9yZGVyLWFsbDpiZWZvcmV7Y29udGVudDoiXGY4NGMifS5mYS1ib3JkZXItYm90dG9tOmJlZm9yZXtjb250ZW50OiJcZjg0ZCJ9LmZhLWJvcmRlci1jZW50ZXItaDpiZWZvcmV7Y29udGVudDoiXGY4OWMifS5mYS1ib3JkZXItY2VudGVyLXY6YmVmb3Jle2NvbnRlbnQ6IlxmODlkIn0uZmEtYm9yZGVyLWlubmVyOmJlZm9yZXtjb250ZW50OiJcZjg0ZSJ9LmZhLWJvcmRlci1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjg0ZiJ9LmZhLWJvcmRlci1ub25lOmJlZm9yZXtjb250ZW50OiJcZjg1MCJ9LmZhLWJvcmRlci1vdXRlcjpiZWZvcmV7Y29udGVudDoiXGY4NTEifS5mYS1ib3JkZXItcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODUyIn0uZmEtYm9yZGVyLXN0eWxlOmJlZm9yZXtjb250ZW50OiJcZjg1MyJ9LmZhLWJvcmRlci1zdHlsZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODU0In0uZmEtYm9yZGVyLXRvcDpiZWZvcmV7Y29udGVudDoiXGY4NTUifS5mYS1ib3ctYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxmNmI5In0uZmEtYm93bGluZy1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjQzNiJ9LmZhLWJvd2xpbmctcGluczpiZWZvcmV7Y29udGVudDoiXGY0MzcifS5mYS1ib3g6YmVmb3Jle2NvbnRlbnQ6IlxmNDY2In0uZmEtYm94LWFsdDpiZWZvcmV7Y29udGVudDoiXGY0OWEifS5mYS1ib3gtYmFsbG90OmJlZm9yZXtjb250ZW50OiJcZjczNSJ9LmZhLWJveC1jaGVjazpiZWZvcmV7Y29udGVudDoiXGY0NjcifS5mYS1ib3gtZnJhZ2lsZTpiZWZvcmV7Y29udGVudDoiXGY0OWIifS5mYS1ib3gtZnVsbDpiZWZvcmV7Y29udGVudDoiXGY0OWMifS5mYS1ib3gtaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDlkIn0uZmEtYm94LW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmNDllIn0uZmEtYm94LXRpc3N1ZTpiZWZvcmV7Y29udGVudDoiXGUwNWIifS5mYS1ib3gtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmNDlmIn0uZmEtYm94LXVzZDpiZWZvcmV7Y29udGVudDoiXGY0YTAifS5mYS1ib3hlczpiZWZvcmV7Y29udGVudDoiXGY0NjgifS5mYS1ib3hlcy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGExIn0uZmEtYm94aW5nLWdsb3ZlOmJlZm9yZXtjb250ZW50OiJcZjQzOCJ9LmZhLWJyYWNrZXRzOmJlZm9yZXtjb250ZW50OiJcZjdlOSJ9LmZhLWJyYWNrZXRzLWN1cmx5OmJlZm9yZXtjb250ZW50OiJcZjdlYSJ9LmZhLWJyYWlsbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmExIn0uZmEtYnJhaW46YmVmb3Jle2NvbnRlbnQ6IlxmNWRjIn0uZmEtYnJlYWQtbG9hZjpiZWZvcmV7Y29udGVudDoiXGY3ZWIifS5mYS1icmVhZC1zbGljZTpiZWZvcmV7Y29udGVudDoiXGY3ZWMifS5mYS1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGIxIn0uZmEtYnJpZWZjYXNlLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDY5In0uZmEtYnJpbmctZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGY4NTYifS5mYS1icmluZy1mcm9udDpiZWZvcmV7Y29udGVudDoiXGY4NTcifS5mYS1icm9hZGNhc3QtdG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTE5In0uZmEtYnJvb206YmVmb3Jle2NvbnRlbnQ6IlxmNTFhIn0uZmEtYnJvd3NlcjpiZWZvcmV7Y29udGVudDoiXGYzN2UifS5mYS1icnVzaDpiZWZvcmV7Y29udGVudDoiXGY1NWQifS5mYS1idGM6YmVmb3Jle2NvbnRlbnQ6IlxmMTVhIn0uZmEtYnVmZmVyOmJlZm9yZXtjb250ZW50OiJcZjgzNyJ9LmZhLWJ1ZzpiZWZvcmV7Y29udGVudDoiXGYxODgifS5mYS1idWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGYxYWQifS5mYS1idWxsaG9ybjpiZWZvcmV7Y29udGVudDoiXGYwYTEifS5mYS1idWxsc2V5ZTpiZWZvcmV7Y29udGVudDoiXGYxNDAifS5mYS1idWxsc2V5ZS1hcnJvdzpiZWZvcmV7Y29udGVudDoiXGY2NDgifS5mYS1idWxsc2V5ZS1wb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZjY0OSJ9LmZhLWJ1cmdlci1zb2RhOmJlZm9yZXtjb250ZW50OiJcZjg1OCJ9LmZhLWJ1cm46YmVmb3Jle2NvbnRlbnQ6IlxmNDZhIn0uZmEtYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmV7Y29udGVudDoiXGYzN2YifS5mYS1idXJyaXRvOmJlZm9yZXtjb250ZW50OiJcZjdlZCJ9LmZhLWJ1czpiZWZvcmV7Y29udGVudDoiXGYyMDcifS5mYS1idXMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjU1ZSJ9LmZhLWJ1cy1zY2hvb2w6YmVmb3Jle2NvbnRlbnQ6IlxmNWRkIn0uZmEtYnVzaW5lc3MtdGltZTpiZWZvcmV7Y29udGVudDoiXGY2NGEifS5mYS1idXktbi1sYXJnZTpiZWZvcmV7Y29udGVudDoiXGY4YTYifS5mYS1idXlzZWxsYWRzOmJlZm9yZXtjb250ZW50OiJcZjIwZCJ9LmZhLWNhYmluZXQtZmlsaW5nOmJlZm9yZXtjb250ZW50OiJcZjY0YiJ9LmZhLWNhY3R1czpiZWZvcmV7Y29udGVudDoiXGY4YTcifS5mYS1jYWxjdWxhdG9yOmJlZm9yZXtjb250ZW50OiJcZjFlYyJ9LmZhLWNhbGN1bGF0b3ItYWx0OmJlZm9yZXtjb250ZW50OiJcZjY0YyJ9LmZhLWNhbGVuZGFyOmJlZm9yZXtjb250ZW50OiJcZjEzMyJ9LmZhLWNhbGVuZGFyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYwNzMifS5mYS1jYWxlbmRhci1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYyNzQifS5mYS1jYWxlbmRhci1kYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNzgzIn0uZmEtY2FsZW5kYXItZWRpdDpiZWZvcmV7Y29udGVudDoiXGYzMzMifS5mYS1jYWxlbmRhci1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGYzMzQifS5mYS1jYWxlbmRhci1taW51czpiZWZvcmV7Y29udGVudDoiXGYyNzIifS5mYS1jYWxlbmRhci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjI3MSJ9LmZhLWNhbGVuZGFyLXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzM2In0uZmEtY2FsZW5kYXItdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjczIn0uZmEtY2FsZW5kYXItd2VlazpiZWZvcmV7Y29udGVudDoiXGY3ODQifS5mYS1jYW1jb3JkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmOGE4In0uZmEtY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzMCJ9LmZhLWNhbWVyYS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzMyIn0uZmEtY2FtZXJhLWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmOGZlIn0uZmEtY2FtZXJhLW1vdmllOmJlZm9yZXtjb250ZW50OiJcZjhhOSJ9LmZhLWNhbWVyYS1wb2xhcm9pZDpiZWZvcmV7Y29udGVudDoiXGY4YWEifS5mYS1jYW1lcmEtcmV0cm86YmVmb3Jle2NvbnRlbnQ6IlxmMDgzIn0uZmEtY2FtcGZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNmJhIn0uZmEtY2FtcGdyb3VuZDpiZWZvcmV7Y29udGVudDoiXGY2YmIifS5mYS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjc4NSJ9LmZhLWNhbmRsZS1ob2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNmJjIn0uZmEtY2FuZHktY2FuZTpiZWZvcmV7Y29udGVudDoiXGY3ODYifS5mYS1jYW5keS1jb3JuOmJlZm9yZXtjb250ZW50OiJcZjZiZCJ9LmZhLWNhbm5hYmlzOmJlZm9yZXtjb250ZW50OiJcZjU1ZiJ9LmZhLWNhcHN1bGVzOmJlZm9yZXtjb250ZW50OiJcZjQ2YiJ9LmZhLWNhcjpiZWZvcmV7Y29udGVudDoiXGYxYjkifS5mYS1jYXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjVkZSJ9LmZhLWNhci1iYXR0ZXJ5OmJlZm9yZXtjb250ZW50OiJcZjVkZiJ9LmZhLWNhci1idWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGY4NTkifS5mYS1jYXItYnVtcDpiZWZvcmV7Y29udGVudDoiXGY1ZTAifS5mYS1jYXItYnVzOmJlZm9yZXtjb250ZW50OiJcZjg1YSJ9LmZhLWNhci1jcmFzaDpiZWZvcmV7Y29udGVudDoiXGY1ZTEifS5mYS1jYXItZ2FyYWdlOmJlZm9yZXtjb250ZW50OiJcZjVlMiJ9LmZhLWNhci1tZWNoYW5pYzpiZWZvcmV7Y29udGVudDoiXGY1ZTMifS5mYS1jYXItc2lkZTpiZWZvcmV7Y29udGVudDoiXGY1ZTQifS5mYS1jYXItdGlsdDpiZWZvcmV7Y29udGVudDoiXGY1ZTUifS5mYS1jYXItd2FzaDpiZWZvcmV7Y29udGVudDoiXGY1ZTYifS5mYS1jYXJhdmFuOmJlZm9yZXtjb250ZW50OiJcZjhmZiJ9LmZhLWNhcmF2YW4tYWx0OmJlZm9yZXtjb250ZW50OiJcZTAwMCJ9LmZhLWNhcmV0LWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjMyZCJ9LmZhLWNhcmV0LWNpcmNsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjMyZSJ9LmZhLWNhcmV0LWNpcmNsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYzMzAifS5mYS1jYXJldC1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMzMxIn0uZmEtY2FyZXQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwZDcifS5mYS1jYXJldC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjBkOSJ9LmZhLWNhcmV0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBkYSJ9LmZhLWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE1MCJ9LmZhLWNhcmV0LXNxdWFyZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MSJ9LmZhLWNhcmV0LXNxdWFyZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxNTIifS5mYS1jYXJldC1zcXVhcmUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTUxIn0uZmEtY2FyZXQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ4In0uZmEtY2Fycm90OmJlZm9yZXtjb250ZW50OiJcZjc4NyJ9LmZhLWNhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmODViIn0uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjIxOCJ9LmZhLWNhcnQtcGx1czpiZWZvcmV7Y29udGVudDoiXGYyMTcifS5mYS1jYXNoLXJlZ2lzdGVyOmJlZm9yZXtjb250ZW50OiJcZjc4OCJ9LmZhLWNhc3NldHRlLXRhcGU6YmVmb3Jle2NvbnRlbnQ6IlxmOGFiIn0uZmEtY2F0OmJlZm9yZXtjb250ZW50OiJcZjZiZSJ9LmZhLWNhdC1zcGFjZTpiZWZvcmV7Y29udGVudDoiXGUwMDEifS5mYS1jYXVsZHJvbjpiZWZvcmV7Y29udGVudDoiXGY2YmYifS5mYS1jYy1hbWF6b24tcGF5OmJlZm9yZXtjb250ZW50OiJcZjQyZCJ9LmZhLWNjLWFtZXg6YmVmb3Jle2NvbnRlbnQ6IlxmMWYzIn0uZmEtY2MtYXBwbGUtcGF5OmJlZm9yZXtjb250ZW50OiJcZjQxNiJ9LmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZXtjb250ZW50OiJcZjI0YyJ9LmZhLWNjLWRpc2NvdmVyOmJlZm9yZXtjb250ZW50OiJcZjFmMiJ9LmZhLWNjLWpjYjpiZWZvcmV7Y29udGVudDoiXGYyNGIifS5mYS1jYy1tYXN0ZXJjYXJkOmJlZm9yZXtjb250ZW50OiJcZjFmMSJ9LmZhLWNjLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZjQifS5mYS1jYy1zdHJpcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWY1In0uZmEtY2MtdmlzYTpiZWZvcmV7Y29udGVudDoiXGYxZjAifS5mYS1jY3R2OmJlZm9yZXtjb250ZW50OiJcZjhhYyJ9LmZhLWNlbnRlcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzgwIn0uZmEtY2VudG9zOmJlZm9yZXtjb250ZW50OiJcZjc4OSJ9LmZhLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZjBhMyJ9LmZhLWNoYWlyOmJlZm9yZXtjb250ZW50OiJcZjZjMCJ9LmZhLWNoYWlyLW9mZmljZTpiZWZvcmV7Y29udGVudDoiXGY2YzEifS5mYS1jaGFsa2JvYXJkOmJlZm9yZXtjb250ZW50OiJcZjUxYiJ9LmZhLWNoYWxrYm9hcmQtdGVhY2hlcjpiZWZvcmV7Y29udGVudDoiXGY1MWMifS5mYS1jaGFyZ2luZy1zdGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjVlNyJ9LmZhLWNoYXJ0LWFyZWE6YmVmb3Jle2NvbnRlbnQ6IlxmMWZlIn0uZmEtY2hhcnQtYmFyOmJlZm9yZXtjb250ZW50OiJcZjA4MCJ9LmZhLWNoYXJ0LWxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjAxIn0uZmEtY2hhcnQtbGluZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjY0ZCJ9LmZhLWNoYXJ0LW5ldHdvcms6YmVmb3Jle2NvbnRlbnQ6IlxmNzhhIn0uZmEtY2hhcnQtcGllOmJlZm9yZXtjb250ZW50OiJcZjIwMCJ9LmZhLWNoYXJ0LXBpZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjRlIn0uZmEtY2hhcnQtc2NhdHRlcjpiZWZvcmV7Y29udGVudDoiXGY3ZWUifS5mYS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYwMGMifS5mYS1jaGVjay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU4In0uZmEtY2hlY2stZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjU2MCJ9LmZhLWNoZWNrLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGEifS5mYS1jaGVlc2U6YmVmb3Jle2NvbnRlbnQ6IlxmN2VmIn0uZmEtY2hlZXNlLXN3aXNzOmJlZm9yZXtjb250ZW50OiJcZjdmMCJ9LmZhLWNoZWVzZWJ1cmdlcjpiZWZvcmV7Y29udGVudDoiXGY3ZjEifS5mYS1jaGVzczpiZWZvcmV7Y29udGVudDoiXGY0MzkifS5mYS1jaGVzcy1iaXNob3A6YmVmb3Jle2NvbnRlbnQ6IlxmNDNhIn0uZmEtY2hlc3MtYmlzaG9wLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0M2IifS5mYS1jaGVzcy1ib2FyZDpiZWZvcmV7Y29udGVudDoiXGY0M2MifS5mYS1jaGVzcy1jbG9jazpiZWZvcmV7Y29udGVudDoiXGY0M2QifS5mYS1jaGVzcy1jbG9jay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDNlIn0uZmEtY2hlc3Mta2luZzpiZWZvcmV7Y29udGVudDoiXGY0M2YifS5mYS1jaGVzcy1raW5nLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0NDAifS5mYS1jaGVzcy1rbmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDQxIn0uZmEtY2hlc3Mta25pZ2h0LWFsdDpiZWZvcmV7Y29udGVudDoiXGY0NDIifS5mYS1jaGVzcy1wYXduOmJlZm9yZXtjb250ZW50OiJcZjQ0MyJ9LmZhLWNoZXNzLXBhd24tYWx0OmJlZm9yZXtjb250ZW50OiJcZjQ0NCJ9LmZhLWNoZXNzLXF1ZWVuOmJlZm9yZXtjb250ZW50OiJcZjQ0NSJ9LmZhLWNoZXNzLXF1ZWVuLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0NDYifS5mYS1jaGVzcy1yb29rOmJlZm9yZXtjb250ZW50OiJcZjQ0NyJ9LmZhLWNoZXNzLXJvb2stYWx0OmJlZm9yZXtjb250ZW50OiJcZjQ0OCJ9LmZhLWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTNhIn0uZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMzcifS5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMzgifS5mYS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMzkifS5mYS1jaGV2cm9uLWRvdWJsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjMyMiJ9LmZhLWNoZXZyb24tZG91YmxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzIzIn0uZmEtY2hldnJvbi1kb3VibGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzI0In0uZmEtY2hldnJvbi1kb3VibGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMzI1In0uZmEtY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA3OCJ9LmZhLWNoZXZyb24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwNTMifS5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjA1NCJ9LmZhLWNoZXZyb24tc3F1YXJlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMzI5In0uZmEtY2hldnJvbi1zcXVhcmUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzMmEifS5mYS1jaGV2cm9uLXNxdWFyZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYzMmIifS5mYS1jaGV2cm9uLXNxdWFyZS11cDpiZWZvcmV7Y29udGVudDoiXGYzMmMifS5mYS1jaGV2cm9uLXVwOmJlZm9yZXtjb250ZW50OiJcZjA3NyJ9LmZhLWNoaWxkOmJlZm9yZXtjb250ZW50OiJcZjFhZSJ9LmZhLWNoaW1uZXk6YmVmb3Jle2NvbnRlbnQ6IlxmNzhiIn0uZmEtY2hyb21lOmJlZm9yZXtjb250ZW50OiJcZjI2OCJ9LmZhLWNocm9tZWNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmODM4In0uZmEtY2h1cmNoOmJlZm9yZXtjb250ZW50OiJcZjUxZCJ9LmZhLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYxMTEifS5mYS1jaXJjbGUtbm90Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWNlIn0uZmEtY2l0eTpiZWZvcmV7Y29udGVudDoiXGY2NGYifS5mYS1jbGFyaW5ldDpiZWZvcmV7Y29udGVudDoiXGY4YWQifS5mYS1jbGF3LW1hcmtzOmJlZm9yZXtjb250ZW50OiJcZjZjMiJ9LmZhLWNsaW5pYy1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjdmMiJ9LmZhLWNsaXBib2FyZDpiZWZvcmV7Y29udGVudDoiXGYzMjgifS5mYS1jbGlwYm9hcmQtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNDZjIn0uZmEtY2xpcGJvYXJkLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNDZkIn0uZmEtY2xpcGJvYXJkLWxpc3QtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNzM3In0uZmEtY2xpcGJvYXJkLXByZXNjcmlwdGlvbjpiZWZvcmV7Y29udGVudDoiXGY1ZTgifS5mYS1jbGlwYm9hcmQtdXNlcjpiZWZvcmV7Y29udGVudDoiXGY3ZjMifS5mYS1jbG9jazpiZWZvcmV7Y29udGVudDoiXGYwMTcifS5mYS1jbG9uZTpiZWZvcmV7Y29udGVudDoiXGYyNGQifS5mYS1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmV7Y29udGVudDoiXGYyMGEifS5mYS1jbG91ZDpiZWZvcmV7Y29udGVudDoiXGYwYzIifS5mYS1jbG91ZC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGYwZWQifS5mYS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzgxIn0uZmEtY2xvdWQtZHJpenpsZTpiZWZvcmV7Y29udGVudDoiXGY3MzgifS5mYS1jbG91ZC1oYWlsOmJlZm9yZXtjb250ZW50OiJcZjczOSJ9LmZhLWNsb3VkLWhhaWwtbWl4ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzNhIn0uZmEtY2xvdWQtbWVhdGJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNzNiIn0uZmEtY2xvdWQtbW9vbjpiZWZvcmV7Y29udGVudDoiXGY2YzMifS5mYS1jbG91ZC1tb29uLXJhaW46YmVmb3Jle2NvbnRlbnQ6IlxmNzNjIn0uZmEtY2xvdWQtbXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxmOGFlIn0uZmEtY2xvdWQtcmFpbjpiZWZvcmV7Y29udGVudDoiXGY3M2QifS5mYS1jbG91ZC1yYWluYm93OmJlZm9yZXtjb250ZW50OiJcZjczZSJ9LmZhLWNsb3VkLXNob3dlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmNzNmIn0uZmEtY2xvdWQtc2hvd2Vycy1oZWF2eTpiZWZvcmV7Y29udGVudDoiXGY3NDAifS5mYS1jbG91ZC1zbGVldDpiZWZvcmV7Y29udGVudDoiXGY3NDEifS5mYS1jbG91ZC1zbm93OmJlZm9yZXtjb250ZW50OiJcZjc0MiJ9LmZhLWNsb3VkLXN1bjpiZWZvcmV7Y29udGVudDoiXGY2YzQifS5mYS1jbG91ZC1zdW4tcmFpbjpiZWZvcmV7Y29udGVudDoiXGY3NDMifS5mYS1jbG91ZC11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVlIn0uZmEtY2xvdWQtdXBsb2FkLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzODIifS5mYS1jbG91ZGZsYXJlOmJlZm9yZXtjb250ZW50OiJcZTA3ZCJ9LmZhLWNsb3VkczpiZWZvcmV7Y29udGVudDoiXGY3NDQifS5mYS1jbG91ZHMtbW9vbjpiZWZvcmV7Y29udGVudDoiXGY3NDUifS5mYS1jbG91ZHMtc3VuOmJlZm9yZXtjb250ZW50OiJcZjc0NiJ9LmZhLWNsb3Vkc2NhbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzgzIn0uZmEtY2xvdWRzbWl0aDpiZWZvcmV7Y29udGVudDoiXGYzODQifS5mYS1jbG91ZHZlcnNpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMzg1In0uZmEtY2x1YjpiZWZvcmV7Y29udGVudDoiXGYzMjcifS5mYS1jb2NrdGFpbDpiZWZvcmV7Y29udGVudDoiXGY1NjEifS5mYS1jb2RlOmJlZm9yZXtjb250ZW50OiJcZjEyMSJ9LmZhLWNvZGUtYnJhbmNoOmJlZm9yZXtjb250ZW50OiJcZjEyNiJ9LmZhLWNvZGUtY29tbWl0OmJlZm9yZXtjb250ZW50OiJcZjM4NiJ9LmZhLWNvZGUtbWVyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMzg3In0uZmEtY29kZXBlbjpiZWZvcmV7Y29udGVudDoiXGYxY2IifS5mYS1jb2RpZXBpZTpiZWZvcmV7Y29udGVudDoiXGYyODQifS5mYS1jb2ZmZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMGY0In0uZmEtY29mZmVlLXBvdDpiZWZvcmV7Y29udGVudDoiXGUwMDIifS5mYS1jb2ZmZWUtdG9nbzpiZWZvcmV7Y29udGVudDoiXGY2YzUifS5mYS1jb2ZmaW46YmVmb3Jle2NvbnRlbnQ6IlxmNmM2In0uZmEtY29mZmluLWNyb3NzOmJlZm9yZXtjb250ZW50OiJcZTA1MSJ9LmZhLWNvZzpiZWZvcmV7Y29udGVudDoiXGYwMTMifS5mYS1jb2dzOmJlZm9yZXtjb250ZW50OiJcZjA4NSJ9LmZhLWNvaW46YmVmb3Jle2NvbnRlbnQ6IlxmODVjIn0uZmEtY29pbnM6YmVmb3Jle2NvbnRlbnQ6IlxmNTFlIn0uZmEtY29sdW1uczpiZWZvcmV7Y29udGVudDoiXGYwZGIifS5mYS1jb21ldDpiZWZvcmV7Y29udGVudDoiXGUwMDMifS5mYS1jb21tZW50OmJlZm9yZXtjb250ZW50OiJcZjA3NSJ9LmZhLWNvbW1lbnQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjI3YSJ9LmZhLWNvbW1lbnQtYWx0LWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZjRhMiJ9LmZhLWNvbW1lbnQtYWx0LWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY2NTAifS5mYS1jb21tZW50LWFsdC1kb3RzOmJlZm9yZXtjb250ZW50OiJcZjRhMyJ9LmZhLWNvbW1lbnQtYWx0LWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGE0In0uZmEtY29tbWVudC1hbHQtZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNGE1In0uZmEtY29tbWVudC1hbHQtbGluZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNGE2In0uZmEtY29tbWVudC1hbHQtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY3ZjQifS5mYS1jb21tZW50LWFsdC1taW51czpiZWZvcmV7Y29udGVudDoiXGY0YTcifS5mYS1jb21tZW50LWFsdC1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGY4YWYifS5mYS1jb21tZW50LWFsdC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjRhOCJ9LmZhLWNvbW1lbnQtYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjRhOSJ9LmZhLWNvbW1lbnQtYWx0LXNtaWxlOmJlZm9yZXtjb250ZW50OiJcZjRhYSJ9LmZhLWNvbW1lbnQtYWx0LXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjRhYiJ9LmZhLWNvbW1lbnQtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNGFjIn0uZmEtY29tbWVudC1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjUxIn0uZmEtY29tbWVudC1kb3RzOmJlZm9yZXtjb250ZW50OiJcZjRhZCJ9LmZhLWNvbW1lbnQtZWRpdDpiZWZvcmV7Y29udGVudDoiXGY0YWUifS5mYS1jb21tZW50LWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjRhZiJ9LmZhLWNvbW1lbnQtbGluZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNGIwIn0uZmEtY29tbWVudC1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjdmNSJ9LmZhLWNvbW1lbnQtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmNGIxIn0uZmEtY29tbWVudC1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGY4YjAifS5mYS1jb21tZW50LXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmNGIyIn0uZmEtY29tbWVudC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY0YjMifS5mYS1jb21tZW50LXNtaWxlOmJlZm9yZXtjb250ZW50OiJcZjRiNCJ9LmZhLWNvbW1lbnQtdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNGI1In0uZmEtY29tbWVudHM6YmVmb3Jle2NvbnRlbnQ6IlxmMDg2In0uZmEtY29tbWVudHMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjRiNiJ9LmZhLWNvbW1lbnRzLWFsdC1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjUyIn0uZmEtY29tbWVudHMtZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjY1MyJ9LmZhLWNvbXBhY3QtZGlzYzpiZWZvcmV7Y29udGVudDoiXGY1MWYifS5mYS1jb21wYXNzOmJlZm9yZXtjb250ZW50OiJcZjE0ZSJ9LmZhLWNvbXBhc3Mtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNWU5In0uZmEtY29tcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDY2In0uZmEtY29tcHJlc3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjQyMiJ9LmZhLWNvbXByZXNzLWFycm93cy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzhjIn0uZmEtY29tcHJlc3Mtd2lkZTpiZWZvcmV7Y29udGVudDoiXGYzMjYifS5mYS1jb21wdXRlci1jbGFzc2ljOmJlZm9yZXtjb250ZW50OiJcZjhiMSJ9LmZhLWNvbXB1dGVyLXNwZWFrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmOGIyIn0uZmEtY29uY2llcmdlLWJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNTYyIn0uZmEtY29uZmx1ZW5jZTpiZWZvcmV7Y29udGVudDoiXGY3OGQifS5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmV7Y29udGVudDoiXGYyMGUifS5mYS1jb25zdHJ1Y3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxmODVkIn0uZmEtY29udGFpbmVyLXN0b3JhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNGI3In0uZmEtY29udGFvOmJlZm9yZXtjb250ZW50OiJcZjI2ZCJ9LmZhLWNvbnZleW9yLWJlbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDZlIn0uZmEtY29udmV5b3ItYmVsdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDZmIn0uZmEtY29va2llOmJlZm9yZXtjb250ZW50OiJcZjU2MyJ9LmZhLWNvb2tpZS1iaXRlOmJlZm9yZXtjb250ZW50OiJcZjU2NCJ9LmZhLWNvcHk6YmVmb3Jle2NvbnRlbnQ6IlxmMGM1In0uZmEtY29weXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjFmOSJ9LmZhLWNvcm46YmVmb3Jle2NvbnRlbnQ6IlxmNmM3In0uZmEtY290dG9uLWJ1cmVhdTpiZWZvcmV7Y29udGVudDoiXGY4OWUifS5mYS1jb3VjaDpiZWZvcmV7Y29udGVudDoiXGY0YjgifS5mYS1jb3c6YmVmb3Jle2NvbnRlbnQ6IlxmNmM4In0uZmEtY293YmVsbDpiZWZvcmV7Y29udGVudDoiXGY4YjMifS5mYS1jb3diZWxsLW1vcmU6YmVmb3Jle2NvbnRlbnQ6IlxmOGI0In0uZmEtY3BhbmVsOmJlZm9yZXtjb250ZW50OiJcZjM4OCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjVlIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmV7Y29udGVudDoiXGY0ZTcifS5mYS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZXtjb250ZW50OiJcZjRlOCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3Jle2NvbnRlbnQ6IlxmNGU5In0uZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmV7Y29udGVudDoiXGY0ZWEifS5mYS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZXtjb250ZW50OiJcZjRlYiJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGVjIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGVkIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmV7Y29udGVudDoiXGY0ZWUifS5mYS1jcmVhdGl2ZS1jb21tb25zLXNhOmJlZm9yZXtjb250ZW50OiJcZjRlZiJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGYwIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjRmMSJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGYyIn0uZmEtY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZXtjb250ZW50OiJcZjRmMyJ9LmZhLWNyZWRpdC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjA5ZCJ9LmZhLWNyZWRpdC1jYXJkLWJsYW5rOmJlZm9yZXtjb250ZW50OiJcZjM4OSJ9LmZhLWNyZWRpdC1jYXJkLWZyb250OmJlZm9yZXtjb250ZW50OiJcZjM4YSJ9LmZhLWNyaWNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDQ5In0uZmEtY3JpdGljYWwtcm9sZTpiZWZvcmV7Y29udGVudDoiXGY2YzkifS5mYS1jcm9pc3NhbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2Y2In0uZmEtY3JvcDpiZWZvcmV7Y29udGVudDoiXGYxMjUifS5mYS1jcm9wLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1NjUifS5mYS1jcm9zczpiZWZvcmV7Y29udGVudDoiXGY2NTQifS5mYS1jcm9zc2hhaXJzOmJlZm9yZXtjb250ZW50OiJcZjA1YiJ9LmZhLWNyb3c6YmVmb3Jle2NvbnRlbnQ6IlxmNTIwIn0uZmEtY3Jvd246YmVmb3Jle2NvbnRlbnQ6IlxmNTIxIn0uZmEtY3J1dGNoOmJlZm9yZXtjb250ZW50OiJcZjdmNyJ9LmZhLWNydXRjaGVzOmJlZm9yZXtjb250ZW50OiJcZjdmOCJ9LmZhLWNzczM6YmVmb3Jle2NvbnRlbnQ6IlxmMTNjIn0uZmEtY3NzMy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzhiIn0uZmEtY3ViZTpiZWZvcmV7Y29udGVudDoiXGYxYjIifS5mYS1jdWJlczpiZWZvcmV7Y29udGVudDoiXGYxYjMifS5mYS1jdXJsaW5nOmJlZm9yZXtjb250ZW50OiJcZjQ0YSJ9LmZhLWN1dDpiZWZvcmV7Y29udGVudDoiXGYwYzQifS5mYS1jdXR0bGVmaXNoOmJlZm9yZXtjb250ZW50OiJcZjM4YyJ9LmZhLWQtYW5kLWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzhkIn0uZmEtZC1hbmQtZC1iZXlvbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmNhIn0uZmEtZGFnZ2VyOmJlZm9yZXtjb250ZW50OiJcZjZjYiJ9LmZhLWRhaWx5bW90aW9uOmJlZm9yZXtjb250ZW50OiJcZTA1MiJ9LmZhLWRhc2hjdWJlOmJlZm9yZXtjb250ZW50OiJcZjIxMCJ9LmZhLWRhdGFiYXNlOmJlZm9yZXtjb250ZW50OiJcZjFjMCJ9LmZhLWRlYWY6YmVmb3Jle2NvbnRlbnQ6IlxmMmE0In0uZmEtZGVidWc6YmVmb3Jle2NvbnRlbnQ6IlxmN2Y5In0uZmEtZGVlcjpiZWZvcmV7Y29udGVudDoiXGY3OGUifS5mYS1kZWVyLXJ1ZG9scGg6YmVmb3Jle2NvbnRlbnQ6IlxmNzhmIn0uZmEtZGVlemVyOmJlZm9yZXtjb250ZW50OiJcZTA3NyJ9LmZhLWRlbGljaW91czpiZWZvcmV7Y29udGVudDoiXGYxYTUifS5mYS1kZW1vY3JhdDpiZWZvcmV7Y29udGVudDoiXGY3NDcifS5mYS1kZXBsb3lkb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMzhlIn0uZmEtZGVza3BybzpiZWZvcmV7Y29udGVudDoiXGYzOGYifS5mYS1kZXNrdG9wOmJlZm9yZXtjb250ZW50OiJcZjEwOCJ9LmZhLWRlc2t0b3AtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM5MCJ9LmZhLWRldjpiZWZvcmV7Y29udGVudDoiXGY2Y2MifS5mYS1kZXZpYW50YXJ0OmJlZm9yZXtjb250ZW50OiJcZjFiZCJ9LmZhLWRld3BvaW50OmJlZm9yZXtjb250ZW50OiJcZjc0OCJ9LmZhLWRoYXJtYWNoYWtyYTpiZWZvcmV7Y29udGVudDoiXGY2NTUifS5mYS1kaGw6YmVmb3Jle2NvbnRlbnQ6IlxmNzkwIn0uZmEtZGlhZ25vc2VzOmJlZm9yZXtjb250ZW50OiJcZjQ3MCJ9LmZhLWRpYW1vbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE5In0uZmEtZGlhc3BvcmE6YmVmb3Jle2NvbnRlbnQ6IlxmNzkxIn0uZmEtZGljZTpiZWZvcmV7Y29udGVudDoiXGY1MjIifS5mYS1kaWNlLWQxMDpiZWZvcmV7Y29udGVudDoiXGY2Y2QifS5mYS1kaWNlLWQxMjpiZWZvcmV7Y29udGVudDoiXGY2Y2UifS5mYS1kaWNlLWQyMDpiZWZvcmV7Y29udGVudDoiXGY2Y2YifS5mYS1kaWNlLWQ0OmJlZm9yZXtjb250ZW50OiJcZjZkMCJ9LmZhLWRpY2UtZDY6YmVmb3Jle2NvbnRlbnQ6IlxmNmQxIn0uZmEtZGljZS1kODpiZWZvcmV7Y29udGVudDoiXGY2ZDIifS5mYS1kaWNlLWZpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmNTIzIn0uZmEtZGljZS1mb3VyOmJlZm9yZXtjb250ZW50OiJcZjUyNCJ9LmZhLWRpY2Utb25lOmJlZm9yZXtjb250ZW50OiJcZjUyNSJ9LmZhLWRpY2Utc2l4OmJlZm9yZXtjb250ZW50OiJcZjUyNiJ9LmZhLWRpY2UtdGhyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmNTI3In0uZmEtZGljZS10d286YmVmb3Jle2NvbnRlbnQ6IlxmNTI4In0uZmEtZGlnZzpiZWZvcmV7Y29udGVudDoiXGYxYTYifS5mYS1kaWdnaW5nOmJlZm9yZXtjb250ZW50OiJcZjg1ZSJ9LmZhLWRpZ2l0YWwtb2NlYW46YmVmb3Jle2NvbnRlbnQ6IlxmMzkxIn0uZmEtZGlnaXRhbC10YWNob2dyYXBoOmJlZm9yZXtjb250ZW50OiJcZjU2NiJ9LmZhLWRpcGxvbWE6YmVmb3Jle2NvbnRlbnQ6IlxmNWVhIn0uZmEtZGlyZWN0aW9uczpiZWZvcmV7Y29udGVudDoiXGY1ZWIifS5mYS1kaXNjLWRyaXZlOmJlZm9yZXtjb250ZW50OiJcZjhiNSJ9LmZhLWRpc2NvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzkyIn0uZmEtZGlzY291cnNlOmJlZm9yZXtjb250ZW50OiJcZjM5MyJ9LmZhLWRpc2Vhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmN2ZhIn0uZmEtZGl2aWRlOmJlZm9yZXtjb250ZW50OiJcZjUyOSJ9LmZhLWRpenp5OmJlZm9yZXtjb250ZW50OiJcZjU2NyJ9LmZhLWRuYTpiZWZvcmV7Y29udGVudDoiXGY0NzEifS5mYS1kby1ub3QtZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWVjIn0uZmEtZG9jaHViOmJlZm9yZXtjb250ZW50OiJcZjM5NCJ9LmZhLWRvY2tlcjpiZWZvcmV7Y29udGVudDoiXGYzOTUifS5mYS1kb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNmQzIn0uZmEtZG9nLWxlYXNoZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmQ0In0uZmEtZG9sbGFyLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMTU1In0uZmEtZG9sbHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDcyIn0uZmEtZG9sbHktZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDczIn0uZmEtZG9sbHktZmxhdGJlZDpiZWZvcmV7Y29udGVudDoiXGY0NzQifS5mYS1kb2xseS1mbGF0YmVkLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0NzUifS5mYS1kb2xseS1mbGF0YmVkLWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjQ3NiJ9LmZhLWRvbmF0ZTpiZWZvcmV7Y29udGVudDoiXGY0YjkifS5mYS1kb29yLWNsb3NlZDpiZWZvcmV7Y29udGVudDoiXGY1MmEifS5mYS1kb29yLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmNTJiIn0uZmEtZG90LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYxOTIifS5mYS1kb3ZlOmJlZm9yZXtjb250ZW50OiJcZjRiYSJ9LmZhLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZjAxOSJ9LmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3Jle2NvbnRlbnQ6IlxmMzk2In0uZmEtZHJhZnRpbmctY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGY1NjgifS5mYS1kcmFnb246YmVmb3Jle2NvbnRlbnQ6IlxmNmQ1In0uZmEtZHJhdy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWVkIn0uZmEtZHJhdy1wb2x5Z29uOmJlZm9yZXtjb250ZW50OiJcZjVlZSJ9LmZhLWRyYXctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjVlZiJ9LmZhLWRyZWlkZWw6YmVmb3Jle2NvbnRlbnQ6IlxmNzkyIn0uZmEtZHJpYmJibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTdkIn0uZmEtZHJpYmJibGUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjM5NyJ9LmZhLWRyb25lOmJlZm9yZXtjb250ZW50OiJcZjg1ZiJ9LmZhLWRyb25lLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4NjAifS5mYS1kcm9wYm94OmJlZm9yZXtjb250ZW50OiJcZjE2YiJ9LmZhLWRydW06YmVmb3Jle2NvbnRlbnQ6IlxmNTY5In0uZmEtZHJ1bS1zdGVlbHBhbjpiZWZvcmV7Y29udGVudDoiXGY1NmEifS5mYS1kcnVtc3RpY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNmQ2In0uZmEtZHJ1bXN0aWNrLWJpdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNmQ3In0uZmEtZHJ1cGFsOmJlZm9yZXtjb250ZW50OiJcZjFhOSJ9LmZhLWRyeWVyOmJlZm9yZXtjb250ZW50OiJcZjg2MSJ9LmZhLWRyeWVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4NjIifS5mYS1kdWNrOmJlZm9yZXtjb250ZW50OiJcZjZkOCJ9LmZhLWR1bWJiZWxsOmJlZm9yZXtjb250ZW50OiJcZjQ0YiJ9LmZhLWR1bXBzdGVyOmJlZm9yZXtjb250ZW50OiJcZjc5MyJ9LmZhLWR1bXBzdGVyLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNzk0In0uZmEtZHVuZ2VvbjpiZWZvcmV7Y29udGVudDoiXGY2ZDkifS5mYS1keWFsb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMzk5In0uZmEtZWFyOmJlZm9yZXtjb250ZW50OiJcZjVmMCJ9LmZhLWVhci1tdWZmczpiZWZvcmV7Y29udGVudDoiXGY3OTUifS5mYS1lYXJseWJpcmRzOmJlZm9yZXtjb250ZW50OiJcZjM5YSJ9LmZhLWViYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNGY0In0uZmEtZWNsaXBzZTpiZWZvcmV7Y29udGVudDoiXGY3NDkifS5mYS1lY2xpcHNlLWFsdDpiZWZvcmV7Y29udGVudDoiXGY3NGEifS5mYS1lZGdlOmJlZm9yZXtjb250ZW50OiJcZjI4MiJ9LmZhLWVkZ2UtbGVnYWN5OmJlZm9yZXtjb250ZW50OiJcZTA3OCJ9LmZhLWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ0In0uZmEtZWdnOmJlZm9yZXtjb250ZW50OiJcZjdmYiJ9LmZhLWVnZy1mcmllZDpiZWZvcmV7Y29udGVudDoiXGY3ZmMifS5mYS1lamVjdDpiZWZvcmV7Y29udGVudDoiXGYwNTIifS5mYS1lbGVtZW50b3I6YmVmb3Jle2NvbnRlbnQ6IlxmNDMwIn0uZmEtZWxlcGhhbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmRhIn0uZmEtZWxsaXBzaXMtaDpiZWZvcmV7Y29udGVudDoiXGYxNDEifS5mYS1lbGxpcHNpcy1oLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzOWIifS5mYS1lbGxpcHNpcy12OmJlZm9yZXtjb250ZW50OiJcZjE0MiJ9LmZhLWVsbGlwc2lzLXYtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM5YyJ9LmZhLWVsbG86YmVmb3Jle2NvbnRlbnQ6IlxmNWYxIn0uZmEtZW1iZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDIzIn0uZmEtZW1waXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMSJ9LmZhLWVtcHR5LXNldDpiZWZvcmV7Y29udGVudDoiXGY2NTYifS5mYS1lbmdpbmUtd2FybmluZzpiZWZvcmV7Y29udGVudDoiXGY1ZjIifS5mYS1lbnZlbG9wZTpiZWZvcmV7Y29udGVudDoiXGYwZTAifS5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjJiNiJ9LmZhLWVudmVsb3BlLW9wZW4tZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjY1NyJ9LmZhLWVudmVsb3BlLW9wZW4tdGV4dDpiZWZvcmV7Y29udGVudDoiXGY2NTgifS5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk5In0uZmEtZW52aXJhOmJlZm9yZXtjb250ZW50OiJcZjI5OSJ9LmZhLWVxdWFsczpiZWZvcmV7Y29udGVudDoiXGY1MmMifS5mYS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTJkIn0uZmEtZXJsYW5nOmJlZm9yZXtjb250ZW50OiJcZjM5ZCJ9LmZhLWV0aGVyZXVtOmJlZm9yZXtjb250ZW50OiJcZjQyZSJ9LmZhLWV0aGVybmV0OmJlZm9yZXtjb250ZW50OiJcZjc5NiJ9LmZhLWV0c3k6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ3In0uZmEtZXVyby1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE1MyJ9LmZhLWV2ZXJub3RlOmJlZm9yZXtjb250ZW50OiJcZjgzOSJ9LmZhLWV4Y2hhbmdlOmJlZm9yZXtjb250ZW50OiJcZjBlYyJ9LmZhLWV4Y2hhbmdlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzNjIifS5mYS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGYxMmEifS5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZhIn0uZmEtZXhjbGFtYXRpb24tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjMyMSJ9LmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZXtjb250ZW50OiJcZjA3MSJ9LmZhLWV4cGFuZDpiZWZvcmV7Y29udGVudDoiXGYwNjUifS5mYS1leHBhbmQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjQyNCJ9LmZhLWV4cGFuZC1hcnJvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMzFkIn0uZmEtZXhwYW5kLWFycm93cy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzFlIn0uZmEtZXhwYW5kLXdpZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzIwIn0uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZXtjb250ZW50OiJcZjIzZSJ9LmZhLWV4dGVybmFsLWxpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMDhlIn0uZmEtZXh0ZXJuYWwtbGluay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzVkIn0uZmEtZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRjIn0uZmEtZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM2MCJ9LmZhLWV5ZTpiZWZvcmV7Y29udGVudDoiXGYwNmUifS5mYS1leWUtZHJvcHBlcjpiZWZvcmV7Y29udGVudDoiXGYxZmIifS5mYS1leWUtZXZpbDpiZWZvcmV7Y29udGVudDoiXGY2ZGIifS5mYS1leWUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDcwIn0uZmEtZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDlhIn0uZmEtZmFjZWJvb2stZjpiZWZvcmV7Y29udGVudDoiXGYzOWUifS5mYS1mYWNlYm9vay1tZXNzZW5nZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMzlmIn0uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MiJ9LmZhLWZhbjpiZWZvcmV7Y29udGVudDoiXGY4NjMifS5mYS1mYW4tdGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDA0In0uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNmRjIn0uZmEtZmFybTpiZWZvcmV7Y29udGVudDoiXGY4NjQifS5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OSJ9LmZhLWZhc3QtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTAifS5mYS1mYXVjZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDA1In0uZmEtZmF1Y2V0LWRyaXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDA2In0uZmEtZmF4OmJlZm9yZXtjb250ZW50OiJcZjFhYyJ9LmZhLWZlYXRoZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTJkIn0uZmEtZmVhdGhlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTZiIn0uZmEtZmVkZXg6YmVmb3Jle2NvbnRlbnQ6IlxmNzk3In0uZmEtZmVkb3JhOmJlZm9yZXtjb250ZW50OiJcZjc5OCJ9LmZhLWZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODIifS5mYS1maWVsZC1ob2NrZXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDRjIn0uZmEtZmlnaHRlci1qZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGZiIn0uZmEtZmlnbWE6YmVmb3Jle2NvbnRlbnQ6IlxmNzk5In0uZmEtZmlsZTpiZWZvcmV7Y29udGVudDoiXGYxNWIifS5mYS1maWxlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxNWMifS5mYS1maWxlLWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWM2In0uZmEtZmlsZS1hdWRpbzpiZWZvcmV7Y29udGVudDoiXGYxYzcifS5mYS1maWxlLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZjVmMyJ9LmZhLWZpbGUtY2hhcnQtbGluZTpiZWZvcmV7Y29udGVudDoiXGY2NTkifS5mYS1maWxlLWNoYXJ0LXBpZTpiZWZvcmV7Y29udGVudDoiXGY2NWEifS5mYS1maWxlLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZjMxNiJ9LmZhLWZpbGUtY29kZTpiZWZvcmV7Y29udGVudDoiXGYxYzkifS5mYS1maWxlLWNvbnRyYWN0OmJlZm9yZXtjb250ZW50OiJcZjU2YyJ9LmZhLWZpbGUtY3N2OmJlZm9yZXtjb250ZW50OiJcZjZkZCJ9LmZhLWZpbGUtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTZkIn0uZmEtZmlsZS1lZGl0OmJlZm9yZXtjb250ZW50OiJcZjMxYyJ9LmZhLWZpbGUtZXhjZWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWMzIn0uZmEtZmlsZS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGYzMWEifS5mYS1maWxlLWV4cG9ydDpiZWZvcmV7Y29udGVudDoiXGY1NmUifS5mYS1maWxlLWltYWdlOmJlZm9yZXtjb250ZW50OiJcZjFjNSJ9LmZhLWZpbGUtaW1wb3J0OmJlZm9yZXtjb250ZW50OiJcZjU2ZiJ9LmZhLWZpbGUtaW52b2ljZTpiZWZvcmV7Y29udGVudDoiXGY1NzAifS5mYS1maWxlLWludm9pY2UtZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjU3MSJ9LmZhLWZpbGUtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY0NzcifS5mYS1maWxlLW1lZGljYWwtYWx0OmJlZm9yZXtjb250ZW50OiJcZjQ3OCJ9LmZhLWZpbGUtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmMzE4In0uZmEtZmlsZS1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGY4YjYifS5mYS1maWxlLXBkZjpiZWZvcmV7Y29udGVudDoiXGYxYzEifS5mYS1maWxlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMzE5In0uZmEtZmlsZS1wb3dlcnBvaW50OmJlZm9yZXtjb250ZW50OiJcZjFjNCJ9LmZhLWZpbGUtcHJlc2NyaXB0aW9uOmJlZm9yZXtjb250ZW50OiJcZjU3MiJ9LmZhLWZpbGUtc2VhcmNoOmJlZm9yZXtjb250ZW50OiJcZjg2NSJ9LmZhLWZpbGUtc2lnbmF0dXJlOmJlZm9yZXtjb250ZW50OiJcZjU3MyJ9LmZhLWZpbGUtc3ByZWFkc2hlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjViIn0uZmEtZmlsZS10aW1lczpiZWZvcmV7Y29udGVudDoiXGYzMTcifS5mYS1maWxlLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGY1NzQifS5mYS1maWxlLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjVjIn0uZmEtZmlsZS12aWRlbzpiZWZvcmV7Y29udGVudDoiXGYxYzgifS5mYS1maWxlLXdvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWMyIn0uZmEtZmlsZXMtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY3ZmQifS5mYS1maWxsOmJlZm9yZXtjb250ZW50OiJcZjU3NSJ9LmZhLWZpbGwtZHJpcDpiZWZvcmV7Y29udGVudDoiXGY1NzYifS5mYS1maWxtOmJlZm9yZXtjb250ZW50OiJcZjAwOCJ9LmZhLWZpbG0tYWx0OmJlZm9yZXtjb250ZW50OiJcZjNhMCJ9LmZhLWZpbG0tY2FuaXN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmOGI3In0uZmEtZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZjBiMCJ9LmZhLWZpbmdlcnByaW50OmJlZm9yZXtjb250ZW50OiJcZjU3NyJ9LmZhLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZkIn0uZmEtZmlyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2U0In0uZmEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTM0In0uZmEtZmlyZS1zbW9rZTpiZWZvcmV7Y29udGVudDoiXGY3NGIifS5mYS1maXJlZm94OmJlZm9yZXtjb250ZW50OiJcZjI2OSJ9LmZhLWZpcmVmb3gtYnJvd3NlcjpiZWZvcmV7Y29udGVudDoiXGUwMDcifS5mYS1maXJlcGxhY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNzlhIn0uZmEtZmlyc3QtYWlkOmJlZm9yZXtjb250ZW50OiJcZjQ3OSJ9LmZhLWZpcnN0LW9yZGVyOmJlZm9yZXtjb250ZW50OiJcZjJiMCJ9LmZhLWZpcnN0LW9yZGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1MGEifS5mYS1maXJzdGRyYWZ0OmJlZm9yZXtjb250ZW50OiJcZjNhMSJ9LmZhLWZpc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNTc4In0uZmEtZmlzaC1jb29rZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2ZlIn0uZmEtZmlzdC1yYWlzZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmRlIn0uZmEtZmxhZzpiZWZvcmV7Y29udGVudDoiXGYwMjQifS5mYS1mbGFnLWFsdDpiZWZvcmV7Y29udGVudDoiXGY3NGMifS5mYS1mbGFnLWNoZWNrZXJlZDpiZWZvcmV7Y29udGVudDoiXGYxMWUifS5mYS1mbGFnLXVzYTpiZWZvcmV7Y29udGVudDoiXGY3NGQifS5mYS1mbGFtZTpiZWZvcmV7Y29udGVudDoiXGY2ZGYifS5mYS1mbGFzaGxpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjhiOCJ9LmZhLWZsYXNrOmJlZm9yZXtjb250ZW50OiJcZjBjMyJ9LmZhLWZsYXNrLXBvaXNvbjpiZWZvcmV7Y29udGVudDoiXGY2ZTAifS5mYS1mbGFzay1wb3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxmNmUxIn0uZmEtZmxpY2tyOmJlZm9yZXtjb250ZW50OiJcZjE2ZSJ9LmZhLWZsaXBib2FyZDpiZWZvcmV7Y29udGVudDoiXGY0NGQifS5mYS1mbG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmN2ZmIn0uZmEtZmxvd2VyLWRhZmZvZGlsOmJlZm9yZXtjb250ZW50OiJcZjgwMCJ9LmZhLWZsb3dlci10dWxpcDpiZWZvcmV7Y29udGVudDoiXGY4MDEifS5mYS1mbHVzaGVkOmJlZm9yZXtjb250ZW50OiJcZjU3OSJ9LmZhLWZsdXRlOmJlZm9yZXtjb250ZW50OiJcZjhiOSJ9LmZhLWZsdXgtY2FwYWNpdG9yOmJlZm9yZXtjb250ZW50OiJcZjhiYSJ9LmZhLWZseTpiZWZvcmV7Y29udGVudDoiXGY0MTcifS5mYS1mb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNzRlIn0uZmEtZm9sZGVyOmJlZm9yZXtjb250ZW50OiJcZjA3YiJ9LmZhLWZvbGRlci1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGUwNTMifS5mYS1mb2xkZXItbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmNjVkIn0uZmEtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMDdjIn0uZmEtZm9sZGVyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmNjVlIn0uZmEtZm9sZGVyLXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjY1ZiJ9LmZhLWZvbGRlci10cmVlOmJlZm9yZXtjb250ZW50OiJcZjgwMiJ9LmZhLWZvbGRlci11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDU0In0uZmEtZm9sZGVyczpiZWZvcmV7Y29udGVudDoiXGY2NjAifS5mYS1mb250OmJlZm9yZXtjb250ZW50OiJcZjAzMSJ9LmZhLWZvbnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyYjQifS5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM1YyJ9LmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZXtjb250ZW50OiJcZjQyNSJ9LmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmNGU2In0uZmEtZm9udC1jYXNlOmJlZm9yZXtjb250ZW50OiJcZjg2NiJ9LmZhLWZvbnRpY29uczpiZWZvcmV7Y29udGVudDoiXGYyODAifS5mYS1mb250aWNvbnMtZmk6YmVmb3Jle2NvbnRlbnQ6IlxmM2EyIn0uZmEtZm9vdGJhbGwtYmFsbDpiZWZvcmV7Y29udGVudDoiXGY0NGUifS5mYS1mb290YmFsbC1oZWxtZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDRmIn0uZmEtZm9ya2xpZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDdhIn0uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZXtjb250ZW50OiJcZjI4NiJ9LmZhLWZvcnQtYXdlc29tZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2EzIn0uZmEtZm9ydW1iZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjExIn0uZmEtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNGUifS5mYS1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE4MCJ9LmZhLWZyYWdpbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGJiIn0uZmEtZnJlZS1jb2RlLWNhbXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmM1In0uZmEtZnJlZWJzZDpiZWZvcmV7Y29udGVudDoiXGYzYTQifS5mYS1mcmVuY2gtZnJpZXM6YmVmb3Jle2NvbnRlbnQ6IlxmODAzIn0uZmEtZnJvZzpiZWZvcmV7Y29udGVudDoiXGY1MmUifS5mYS1mcm9zdHktaGVhZDpiZWZvcmV7Y29udGVudDoiXGY3OWIifS5mYS1mcm93bjpiZWZvcmV7Y29udGVudDoiXGYxMTkifS5mYS1mcm93bi1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjU3YSJ9LmZhLWZ1bGNydW06YmVmb3Jle2NvbnRlbnQ6IlxmNTBiIn0uZmEtZnVuY3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxmNjYxIn0uZmEtZnVubmVsLWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY2NjIifS5mYS1mdXRib2w6YmVmb3Jle2NvbnRlbnQ6IlxmMWUzIn0uZmEtZ2FsYWN0aWMtcmVwdWJsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmNTBjIn0uZmEtZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZXtjb250ZW50OiJcZjUwZCJ9LmZhLWdhbGF4eTpiZWZvcmV7Y29udGVudDoiXGUwMDgifS5mYS1nYW1lLWJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjg2NyJ9LmZhLWdhbWUtYm9hcmQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg2OCJ9LmZhLWdhbWUtY29uc29sZS1oYW5kaGVsZDpiZWZvcmV7Y29udGVudDoiXGY4YmIifS5mYS1nYW1lcGFkOmJlZm9yZXtjb250ZW50OiJcZjExYiJ9LmZhLWdhbWVwYWQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjhiYyJ9LmZhLWdhcmFnZTpiZWZvcmV7Y29udGVudDoiXGUwMDkifS5mYS1nYXJhZ2UtY2FyOmJlZm9yZXtjb250ZW50OiJcZTAwYSJ9LmZhLWdhcmFnZS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZTAwYiJ9LmZhLWdhcy1wdW1wOmJlZm9yZXtjb250ZW50OiJcZjUyZiJ9LmZhLWdhcy1wdW1wLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjVmNCJ9LmZhLWdhdmVsOmJlZm9yZXtjb250ZW50OiJcZjBlMyJ9LmZhLWdlbTpiZWZvcmV7Y29udGVudDoiXGYzYTUifS5mYS1nZW5kZXJsZXNzOmJlZm9yZXtjb250ZW50OiJcZjIyZCJ9LmZhLWdldC1wb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjY1In0uZmEtZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMjYwIn0uZmEtZ2ctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI2MSJ9LmZhLWdob3N0OmJlZm9yZXtjb250ZW50OiJcZjZlMiJ9LmZhLWdpZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDZiIn0uZmEtZ2lmdC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjY2MyJ9LmZhLWdpZnRzOmJlZm9yZXtjb250ZW50OiJcZjc5YyJ9LmZhLWdpbmdlcmJyZWFkLW1hbjpiZWZvcmV7Y29udGVudDoiXGY3OWQifS5mYS1naXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWQzIn0uZmEtZ2l0LWFsdDpiZWZvcmV7Y29udGVudDoiXGY4NDEifS5mYS1naXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMiJ9LmZhLWdpdGh1YjpiZWZvcmV7Y29udGVudDoiXGYwOWIifS5mYS1naXRodWItYWx0OmJlZm9yZXtjb250ZW50OiJcZjExMyJ9LmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDkyIn0uZmEtZ2l0a3Jha2VuOmJlZm9yZXtjb250ZW50OiJcZjNhNiJ9LmZhLWdpdGxhYjpiZWZvcmV7Y29udGVudDoiXGYyOTYifS5mYS1naXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDI2In0uZmEtZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmODA0In0uZmEtZ2xhc3MtY2hhbXBhZ25lOmJlZm9yZXtjb250ZW50OiJcZjc5ZSJ9LmZhLWdsYXNzLWNoZWVyczpiZWZvcmV7Y29udGVudDoiXGY3OWYifS5mYS1nbGFzcy1jaXRydXM6YmVmb3Jle2NvbnRlbnQ6IlxmODY5In0uZmEtZ2xhc3MtbWFydGluaTpiZWZvcmV7Y29udGVudDoiXGYwMDAifS5mYS1nbGFzcy1tYXJ0aW5pLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1N2IifS5mYS1nbGFzcy13aGlza2V5OmJlZm9yZXtjb250ZW50OiJcZjdhMCJ9LmZhLWdsYXNzLXdoaXNrZXktcm9ja3M6YmVmb3Jle2NvbnRlbnQ6IlxmN2ExIn0uZmEtZ2xhc3NlczpiZWZvcmV7Y29udGVudDoiXGY1MzAifS5mYS1nbGFzc2VzLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1ZjUifS5mYS1nbGlkZTpiZWZvcmV7Y29udGVudDoiXGYyYTUifS5mYS1nbGlkZS1nOmJlZm9yZXtjb250ZW50OiJcZjJhNiJ9LmZhLWdsb2JlOmJlZm9yZXtjb250ZW50OiJcZjBhYyJ9LmZhLWdsb2JlLWFmcmljYTpiZWZvcmV7Y29udGVudDoiXGY1N2MifS5mYS1nbG9iZS1hbWVyaWNhczpiZWZvcmV7Y29udGVudDoiXGY1N2QifS5mYS1nbG9iZS1hc2lhOmJlZm9yZXtjb250ZW50OiJcZjU3ZSJ9LmZhLWdsb2JlLWV1cm9wZTpiZWZvcmV7Y29udGVudDoiXGY3YTIifS5mYS1nbG9iZS1zbm93OmJlZm9yZXtjb250ZW50OiJcZjdhMyJ9LmZhLWdsb2JlLXN0YW5kOmJlZm9yZXtjb250ZW50OiJcZjVmNiJ9LmZhLWdvZm9yZTpiZWZvcmV7Y29udGVudDoiXGYzYTcifS5mYS1nb2xmLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDUwIn0uZmEtZ29sZi1jbHViOmJlZm9yZXtjb250ZW50OiJcZjQ1MSJ9LmZhLWdvb2RyZWFkczpiZWZvcmV7Y29udGVudDoiXGYzYTgifS5mYS1nb29kcmVhZHMtZzpiZWZvcmV7Y29udGVudDoiXGYzYTkifS5mYS1nb29nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEwIn0uZmEtZ29vZ2xlLWRyaXZlOmJlZm9yZXtjb250ZW50OiJcZjNhYSJ9LmZhLWdvb2dsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxlMDc5In0uZmEtZ29vZ2xlLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmM2FiIn0uZmEtZ29vZ2xlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMmIzIn0uZmEtZ29vZ2xlLXBsdXMtZzpiZWZvcmV7Y29udGVudDoiXGYwZDUifS5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ0In0uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmV7Y29udGVudDoiXGYxZWUifS5mYS1nb3B1cmFtOmJlZm9yZXtjb250ZW50OiJcZjY2NCJ9LmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZXtjb250ZW50OiJcZjE5ZCJ9LmZhLWdyYW1vcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmOGJkIn0uZmEtZ3JhdGlwYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMTg0In0uZmEtZ3JhdjpiZWZvcmV7Y29udGVudDoiXGYyZDYifS5mYS1ncmVhdGVyLXRoYW46YmVmb3Jle2NvbnRlbnQ6IlxmNTMxIn0uZmEtZ3JlYXRlci10aGFuLWVxdWFsOmJlZm9yZXtjb250ZW50OiJcZjUzMiJ9LmZhLWdyaW1hY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNTdmIn0uZmEtZ3JpbjpiZWZvcmV7Y29udGVudDoiXGY1ODAifS5mYS1ncmluLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1ODEifS5mYS1ncmluLWJlYW06YmVmb3Jle2NvbnRlbnQ6IlxmNTgyIn0uZmEtZ3Jpbi1iZWFtLXN3ZWF0OmJlZm9yZXtjb250ZW50OiJcZjU4MyJ9LmZhLWdyaW4taGVhcnRzOmJlZm9yZXtjb250ZW50OiJcZjU4NCJ9LmZhLWdyaW4tc3F1aW50OmJlZm9yZXtjb250ZW50OiJcZjU4NSJ9LmZhLWdyaW4tc3F1aW50LXRlYXJzOmJlZm9yZXtjb250ZW50OiJcZjU4NiJ9LmZhLWdyaW4tc3RhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmNTg3In0uZmEtZ3Jpbi10ZWFyczpiZWZvcmV7Y29udGVudDoiXGY1ODgifS5mYS1ncmluLXRvbmd1ZTpiZWZvcmV7Y29udGVudDoiXGY1ODkifS5mYS1ncmluLXRvbmd1ZS1zcXVpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNThhIn0uZmEtZ3Jpbi10b25ndWUtd2luazpiZWZvcmV7Y29udGVudDoiXGY1OGIifS5mYS1ncmluLXdpbms6YmVmb3Jle2NvbnRlbnQ6IlxmNThjIn0uZmEtZ3JpcC1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZjU4ZCJ9LmZhLWdyaXAtbGluZXM6YmVmb3Jle2NvbnRlbnQ6IlxmN2E0In0uZmEtZ3JpcC1saW5lcy12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGY3YTUifS5mYS1ncmlwLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjU4ZSJ9LmZhLWdyaXBmaXJlOmJlZm9yZXtjb250ZW50OiJcZjNhYyJ9LmZhLWdydW50OmJlZm9yZXtjb250ZW50OiJcZjNhZCJ9LmZhLWd1aWxkZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDdlIn0uZmEtZ3VpdGFyOmJlZm9yZXtjb250ZW50OiJcZjdhNiJ9LmZhLWd1aXRhci1lbGVjdHJpYzpiZWZvcmV7Y29udGVudDoiXGY4YmUifS5mYS1ndWl0YXJzOmJlZm9yZXtjb250ZW50OiJcZjhiZiJ9LmZhLWd1bHA6YmVmb3Jle2NvbnRlbnQ6IlxmM2FlIn0uZmEtaC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZkIn0uZmEtaDE6YmVmb3Jle2NvbnRlbnQ6IlxmMzEzIn0uZmEtaDI6YmVmb3Jle2NvbnRlbnQ6IlxmMzE0In0uZmEtaDM6YmVmb3Jle2NvbnRlbnQ6IlxmMzE1In0uZmEtaDQ6YmVmb3Jle2NvbnRlbnQ6IlxmODZhIn0uZmEtaGFja2VyLW5ld3M6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ0In0uZmEtaGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjNhZiJ9LmZhLWhhY2tlcnJhbms6YmVmb3Jle2NvbnRlbnQ6IlxmNWY3In0uZmEtaGFtYnVyZ2VyOmJlZm9yZXtjb250ZW50OiJcZjgwNSJ9LmZhLWhhbW1lcjpiZWZvcmV7Y29udGVudDoiXGY2ZTMifS5mYS1oYW1tZXItd2FyOmJlZm9yZXtjb250ZW50OiJcZjZlNCJ9LmZhLWhhbXNhOmJlZm9yZXtjb250ZW50OiJcZjY2NSJ9LmZhLWhhbmQtaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGJjIn0uZmEtaGFuZC1ob2xkaW5nOmJlZm9yZXtjb250ZW50OiJcZjRiZCJ9LmZhLWhhbmQtaG9sZGluZy1ib3g6YmVmb3Jle2NvbnRlbnQ6IlxmNDdiIn0uZmEtaGFuZC1ob2xkaW5nLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjRiZSJ9LmZhLWhhbmQtaG9sZGluZy1tYWdpYzpiZWZvcmV7Y29udGVudDoiXGY2ZTUifS5mYS1oYW5kLWhvbGRpbmctbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGUwNWMifS5mYS1oYW5kLWhvbGRpbmctc2VlZGxpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGJmIn0uZmEtaGFuZC1ob2xkaW5nLXVzZDpiZWZvcmV7Y29udGVudDoiXGY0YzAifS5mYS1oYW5kLWhvbGRpbmctd2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNGMxIn0uZmEtaGFuZC1saXphcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjU4In0uZmEtaGFuZC1taWRkbGUtZmluZ2VyOmJlZm9yZXtjb250ZW50OiJcZjgwNiJ9LmZhLWhhbmQtcGFwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjU2In0uZmEtaGFuZC1wZWFjZTpiZWZvcmV7Y29udGVudDoiXGYyNWIifS5mYS1oYW5kLXBvaW50LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGE3In0uZmEtaGFuZC1wb2ludC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjBhNSJ9LmZhLWhhbmQtcG9pbnQtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE0In0uZmEtaGFuZC1wb2ludC11cDpiZWZvcmV7Y29udGVudDoiXGYwYTYifS5mYS1oYW5kLXBvaW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjVhIn0uZmEtaGFuZC1yZWNlaXZpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNDdjIn0uZmEtaGFuZC1yb2NrOmJlZm9yZXtjb250ZW50OiJcZjI1NSJ9LmZhLWhhbmQtc2Npc3NvcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjU3In0uZmEtaGFuZC1zcGFya2xlczpiZWZvcmV7Y29udGVudDoiXGUwNWQifS5mYS1oYW5kLXNwb2NrOmJlZm9yZXtjb250ZW50OiJcZjI1OSJ9LmZhLWhhbmRzOmJlZm9yZXtjb250ZW50OiJcZjRjMiJ9LmZhLWhhbmRzLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjRjMyJ9LmZhLWhhbmRzLWhlbHBpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGM0In0uZmEtaGFuZHMtdXNkOmJlZm9yZXtjb250ZW50OiJcZjRjNSJ9LmZhLWhhbmRzLXdhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDVlIn0uZmEtaGFuZHNoYWtlOmJlZm9yZXtjb250ZW50OiJcZjJiNSJ9LmZhLWhhbmRzaGFrZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGM2In0uZmEtaGFuZHNoYWtlLWFsdC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNWYifS5mYS1oYW5kc2hha2Utc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDYwIn0uZmEtaGFudWtpYWg6YmVmb3Jle2NvbnRlbnQ6IlxmNmU2In0uZmEtaGFyZC1oYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmODA3In0uZmEtaGFzaHRhZzpiZWZvcmV7Y29udGVudDoiXGYyOTIifS5mYS1oYXQtY2hlZjpiZWZvcmV7Y29udGVudDoiXGY4NmIifS5mYS1oYXQtY293Ym95OmJlZm9yZXtjb250ZW50OiJcZjhjMCJ9LmZhLWhhdC1jb3dib3ktc2lkZTpiZWZvcmV7Y29udGVudDoiXGY4YzEifS5mYS1oYXQtc2FudGE6YmVmb3Jle2NvbnRlbnQ6IlxmN2E3In0uZmEtaGF0LXdpbnRlcjpiZWZvcmV7Y29udGVudDoiXGY3YTgifS5mYS1oYXQtd2l0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmNmU3In0uZmEtaGF0LXdpemFyZDpiZWZvcmV7Y29udGVudDoiXGY2ZTgifS5mYS1oZGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGEwIn0uZmEtaGVhZC1zaWRlOmJlZm9yZXtjb250ZW50OiJcZjZlOSJ9LmZhLWhlYWQtc2lkZS1icmFpbjpiZWZvcmV7Y29udGVudDoiXGY4MDgifS5mYS1oZWFkLXNpZGUtY291Z2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDYxIn0uZmEtaGVhZC1zaWRlLWNvdWdoLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA2MiJ9LmZhLWhlYWQtc2lkZS1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZjhjMiJ9LmZhLWhlYWQtc2lkZS1tYXNrOmJlZm9yZXtjb250ZW50OiJcZTA2MyJ9LmZhLWhlYWQtc2lkZS1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjgwOSJ9LmZhLWhlYWQtc2lkZS12aXJ1czpiZWZvcmV7Y29udGVudDoiXGUwNjQifS5mYS1oZWFkLXZyOmJlZm9yZXtjb250ZW50OiJcZjZlYSJ9LmZhLWhlYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMWRjIn0uZmEtaGVhZHBob25lczpiZWZvcmV7Y29udGVudDoiXGYwMjUifS5mYS1oZWFkcGhvbmVzLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1OGYifS5mYS1oZWFkc2V0OmJlZm9yZXtjb250ZW50OiJcZjU5MCJ9LmZhLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjAwNCJ9LmZhLWhlYXJ0LWJyb2tlbjpiZWZvcmV7Y29udGVudDoiXGY3YTkifS5mYS1oZWFydC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGM3In0uZmEtaGVhcnQtcmF0ZTpiZWZvcmV7Y29udGVudDoiXGY1ZjgifS5mYS1oZWFydC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGM4In0uZmEtaGVhcnRiZWF0OmJlZm9yZXtjb250ZW50OiJcZjIxZSJ9LmZhLWhlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDBjIn0uZmEtaGVsaWNvcHRlcjpiZWZvcmV7Y29udGVudDoiXGY1MzMifS5mYS1oZWxtZXQtYmF0dGxlOmJlZm9yZXtjb250ZW50OiJcZjZlYiJ9LmZhLWhleGFnb246YmVmb3Jle2NvbnRlbnQ6IlxmMzEyIn0uZmEtaGlnaGxpZ2h0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTkxIn0uZmEtaGlraW5nOmJlZm9yZXtjb250ZW50OiJcZjZlYyJ9LmZhLWhpcHBvOmJlZm9yZXtjb250ZW50OiJcZjZlZCJ9LmZhLWhpcHM6YmVmb3Jle2NvbnRlbnQ6IlxmNDUyIn0uZmEtaGlyZS1hLWhlbHBlcjpiZWZvcmV7Y29udGVudDoiXGYzYjAifS5mYS1oaXN0b3J5OmJlZm9yZXtjb250ZW50OiJcZjFkYSJ9LmZhLWhpdmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDdmIn0uZmEtaG9ja2V5LW1hc2s6YmVmb3Jle2NvbnRlbnQ6IlxmNmVlIn0uZmEtaG9ja2V5LXB1Y2s6YmVmb3Jle2NvbnRlbnQ6IlxmNDUzIn0uZmEtaG9ja2V5LXN0aWNrczpiZWZvcmV7Y29udGVudDoiXGY0NTQifS5mYS1ob2xseS1iZXJyeTpiZWZvcmV7Y29udGVudDoiXGY3YWEifS5mYS1ob21lOmJlZm9yZXtjb250ZW50OiJcZjAxNSJ9LmZhLWhvbWUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjgwYSJ9LmZhLWhvbWUtaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGM5In0uZmEtaG9tZS1sZzpiZWZvcmV7Y29udGVudDoiXGY4MGIifS5mYS1ob21lLWxnLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4MGMifS5mYS1ob29kLWNsb2FrOmJlZm9yZXtjb250ZW50OiJcZjZlZiJ9LmZhLWhvb2xpOmJlZm9yZXtjb250ZW50OiJcZjQyNyJ9LmZhLWhvcml6b250YWwtcnVsZTpiZWZvcmV7Y29udGVudDoiXGY4NmMifS5mYS1ob3JuYmlsbDpiZWZvcmV7Y29udGVudDoiXGY1OTIifS5mYS1ob3JzZTpiZWZvcmV7Y29udGVudDoiXGY2ZjAifS5mYS1ob3JzZS1oZWFkOmJlZm9yZXtjb250ZW50OiJcZjdhYiJ9LmZhLWhvcnNlLXNhZGRsZTpiZWZvcmV7Y29udGVudDoiXGY4YzMifS5mYS1ob3NwaXRhbDpiZWZvcmV7Y29udGVudDoiXGYwZjgifS5mYS1ob3NwaXRhbC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDdkIn0uZmEtaG9zcGl0YWwtc3ltYm9sOmJlZm9yZXtjb250ZW50OiJcZjQ3ZSJ9LmZhLWhvc3BpdGFsLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODBkIn0uZmEtaG9zcGl0YWxzOmJlZm9yZXtjb250ZW50OiJcZjgwZSJ9LmZhLWhvdC10dWI6YmVmb3Jle2NvbnRlbnQ6IlxmNTkzIn0uZmEtaG90ZG9nOmJlZm9yZXtjb250ZW50OiJcZjgwZiJ9LmZhLWhvdGVsOmJlZm9yZXtjb250ZW50OiJcZjU5NCJ9LmZhLWhvdGphcjpiZWZvcmV7Y29udGVudDoiXGYzYjEifS5mYS1ob3VyZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjU0In0uZmEtaG91cmdsYXNzLWVuZDpiZWZvcmV7Y29udGVudDoiXGYyNTMifS5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyNTIifS5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjUxIn0uZmEtaG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDBkIn0uZmEtaG91c2UtZGFtYWdlOmJlZm9yZXtjb250ZW50OiJcZjZmMSJ9LmZhLWhvdXNlLWRheTpiZWZvcmV7Y29udGVudDoiXGUwMGUifS5mYS1ob3VzZS1mbG9vZDpiZWZvcmV7Y29udGVudDoiXGY3NGYifS5mYS1ob3VzZS1sZWF2ZTpiZWZvcmV7Y29udGVudDoiXGUwMGYifS5mYS1ob3VzZS1uaWdodDpiZWZvcmV7Y29udGVudDoiXGUwMTAifS5mYS1ob3VzZS1yZXR1cm46YmVmb3Jle2NvbnRlbnQ6IlxlMDExIn0uZmEtaG91c2Utc2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZTAxMiJ9LmZhLWhvdXNlLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDY1In0uZmEtaG91eno6YmVmb3Jle2NvbnRlbnQ6IlxmMjdjIn0uZmEtaHJ5dm5pYTpiZWZvcmV7Y29udGVudDoiXGY2ZjIifS5mYS1odG1sNTpiZWZvcmV7Y29udGVudDoiXGYxM2IifS5mYS1odWJzcG90OmJlZm9yZXtjb250ZW50OiJcZjNiMiJ9LmZhLWh1bWlkaXR5OmJlZm9yZXtjb250ZW50OiJcZjc1MCJ9LmZhLWh1cnJpY2FuZTpiZWZvcmV7Y29udGVudDoiXGY3NTEifS5mYS1pLWN1cnNvcjpiZWZvcmV7Y29udGVudDoiXGYyNDYifS5mYS1pY2UtY3JlYW06YmVmb3Jle2NvbnRlbnQ6IlxmODEwIn0uZmEtaWNlLXNrYXRlOmJlZm9yZXtjb250ZW50OiJcZjdhYyJ9LmZhLWljaWNsZXM6YmVmb3Jle2NvbnRlbnQ6IlxmN2FkIn0uZmEtaWNvbnM6YmVmb3Jle2NvbnRlbnQ6IlxmODZkIn0uZmEtaWNvbnMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg2ZSJ9LmZhLWlkLWJhZGdlOmJlZm9yZXtjb250ZW50OiJcZjJjMSJ9LmZhLWlkLWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmMyIn0uZmEtaWQtY2FyZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDdmIn0uZmEtaWRlYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMDEzIn0uZmEtaWdsb286YmVmb3Jle2NvbnRlbnQ6IlxmN2FlIn0uZmEtaW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDNlIn0uZmEtaW1hZ2UtcG9sYXJvaWQ6YmVmb3Jle2NvbnRlbnQ6IlxmOGM0In0uZmEtaW1hZ2VzOmJlZm9yZXtjb250ZW50OiJcZjMwMiJ9LmZhLWltZGI6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ4In0uZmEtaW5ib3g6YmVmb3Jle2NvbnRlbnQ6IlxmMDFjIn0uZmEtaW5ib3gtaW46YmVmb3Jle2NvbnRlbnQ6IlxmMzEwIn0uZmEtaW5ib3gtb3V0OmJlZm9yZXtjb250ZW50OiJcZjMxMSJ9LmZhLWluZGVudDpiZWZvcmV7Y29udGVudDoiXGYwM2MifS5mYS1pbmR1c3RyeTpiZWZvcmV7Y29udGVudDoiXGYyNzUifS5mYS1pbmR1c3RyeS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2IzIn0uZmEtaW5maW5pdHk6YmVmb3Jle2NvbnRlbnQ6IlxmNTM0In0uZmEtaW5mbzpiZWZvcmV7Y29udGVudDoiXGYxMjkifS5mYS1pbmZvLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNWEifS5mYS1pbmZvLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYzMGYifS5mYS1pbmhhbGVyOmJlZm9yZXtjb250ZW50OiJcZjVmOSJ9LmZhLWlubm9zb2Z0OmJlZm9yZXtjb250ZW50OiJcZTA4MCJ9LmZhLWluc3RhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYxNmQifS5mYS1pbnN0YWdyYW0tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZTA1NSJ9LmZhLWluc3RhbG9kOmJlZm9yZXtjb250ZW50OiJcZTA4MSJ9LmZhLWludGVncmFsOmJlZm9yZXtjb250ZW50OiJcZjY2NyJ9LmZhLWludGVyY29tOmJlZm9yZXtjb250ZW50OiJcZjdhZiJ9LmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZXtjb250ZW50OiJcZjI2YiJ9LmZhLWludGVyc2VjdGlvbjpiZWZvcmV7Y29udGVudDoiXGY2NjgifS5mYS1pbnZlbnRvcnk6YmVmb3Jle2NvbnRlbnQ6IlxmNDgwIn0uZmEtaW52aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmN2IwIn0uZmEtaW94aG9zdDpiZWZvcmV7Y29udGVudDoiXGYyMDgifS5mYS1pc2xhbmQtdHJvcGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmODExIn0uZmEtaXRhbGljOmJlZm9yZXtjb250ZW50OiJcZjAzMyJ9LmZhLWl0Y2gtaW86YmVmb3Jle2NvbnRlbnQ6IlxmODNhIn0uZmEtaXR1bmVzOmJlZm9yZXtjb250ZW50OiJcZjNiNCJ9LmZhLWl0dW5lcy1ub3RlOmJlZm9yZXtjb250ZW50OiJcZjNiNSJ9LmZhLWphY2stby1sYW50ZXJuOmJlZm9yZXtjb250ZW50OiJcZjMwZSJ9LmZhLWphdmE6YmVmb3Jle2NvbnRlbnQ6IlxmNGU0In0uZmEtamVkaTpiZWZvcmV7Y29udGVudDoiXGY2NjkifS5mYS1qZWRpLW9yZGVyOmJlZm9yZXtjb250ZW50OiJcZjUwZSJ9LmZhLWplbmtpbnM6YmVmb3Jle2NvbnRlbnQ6IlxmM2I2In0uZmEtamlyYTpiZWZvcmV7Y29udGVudDoiXGY3YjEifS5mYS1qb2dldDpiZWZvcmV7Y29udGVudDoiXGYzYjcifS5mYS1qb2ludDpiZWZvcmV7Y29udGVudDoiXGY1OTUifS5mYS1qb29tbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMWFhIn0uZmEtam91cm5hbC13aGlsbHM6YmVmb3Jle2NvbnRlbnQ6IlxmNjZhIn0uZmEtam95c3RpY2s6YmVmb3Jle2NvbnRlbnQ6IlxmOGM1In0uZmEtanM6YmVmb3Jle2NvbnRlbnQ6IlxmM2I4In0uZmEtanMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjNiOSJ9LmZhLWpzZmlkZGxlOmJlZm9yZXtjb250ZW50OiJcZjFjYyJ9LmZhLWp1ZzpiZWZvcmV7Y29udGVudDoiXGY4YzYifS5mYS1rYWFiYTpiZWZvcmV7Y29udGVudDoiXGY2NmIifS5mYS1rYWdnbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWZhIn0uZmEta2F6b286YmVmb3Jle2NvbnRlbnQ6IlxmOGM3In0uZmEta2VybmluZzpiZWZvcmV7Y29udGVudDoiXGY4NmYifS5mYS1rZXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDg0In0uZmEta2V5LXNrZWxldG9uOmJlZm9yZXtjb250ZW50OiJcZjZmMyJ9LmZhLWtleWJhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNGY1In0uZmEta2V5Ym9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFjIn0uZmEta2V5Y2RuOmJlZm9yZXtjb250ZW50OiJcZjNiYSJ9LmZhLWtleW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNjZjIn0uZmEta2hhbmRhOmJlZm9yZXtjb250ZW50OiJcZjY2ZCJ9LmZhLWtpY2tzdGFydGVyOmJlZm9yZXtjb250ZW50OiJcZjNiYiJ9LmZhLWtpY2tzdGFydGVyLWs6YmVmb3Jle2NvbnRlbnQ6IlxmM2JjIn0uZmEta2lkbmV5czpiZWZvcmV7Y29udGVudDoiXGY1ZmIifS5mYS1raXNzOmJlZm9yZXtjb250ZW50OiJcZjU5NiJ9LmZhLWtpc3MtYmVhbTpiZWZvcmV7Y29udGVudDoiXGY1OTcifS5mYS1raXNzLXdpbmstaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTk4In0uZmEta2l0ZTpiZWZvcmV7Y29udGVudDoiXGY2ZjQifS5mYS1raXdpLWJpcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTM1In0uZmEta25pZmUta2l0Y2hlbjpiZWZvcmV7Y29udGVudDoiXGY2ZjUifS5mYS1rb3J2dWU6YmVmb3Jle2NvbnRlbnQ6IlxmNDJmIn0uZmEtbGFtYmRhOmJlZm9yZXtjb250ZW50OiJcZjY2ZSJ9LmZhLWxhbXA6YmVmb3Jle2NvbnRlbnQ6IlxmNGNhIn0uZmEtbGFtcC1kZXNrOmJlZm9yZXtjb250ZW50OiJcZTAxNCJ9LmZhLWxhbXAtZmxvb3I6YmVmb3Jle2NvbnRlbnQ6IlxlMDE1In0uZmEtbGFuZG1hcms6YmVmb3Jle2NvbnRlbnQ6IlxmNjZmIn0uZmEtbGFuZG1hcmstYWx0OmJlZm9yZXtjb250ZW50OiJcZjc1MiJ9LmZhLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjFhYiJ9LmZhLWxhcHRvcDpiZWZvcmV7Y29udGVudDoiXGYxMDkifS5mYS1sYXB0b3AtY29kZTpiZWZvcmV7Y29udGVudDoiXGY1ZmMifS5mYS1sYXB0b3AtaG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDY2In0uZmEtbGFwdG9wLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmODEyIn0uZmEtbGFyYXZlbDpiZWZvcmV7Y29udGVudDoiXGYzYmQifS5mYS1sYXNzbzpiZWZvcmV7Y29udGVudDoiXGY4YzgifS5mYS1sYXN0Zm06YmVmb3Jle2NvbnRlbnQ6IlxmMjAyIn0uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyMDMifS5mYS1sYXVnaDpiZWZvcmV7Y29udGVudDoiXGY1OTkifS5mYS1sYXVnaC1iZWFtOmJlZm9yZXtjb250ZW50OiJcZjU5YSJ9LmZhLWxhdWdoLXNxdWludDpiZWZvcmV7Y29udGVudDoiXGY1OWIifS5mYS1sYXVnaC13aW5rOmJlZm9yZXtjb250ZW50OiJcZjU5YyJ9LmZhLWxheWVyLWdyb3VwOmJlZm9yZXtjb250ZW50OiJcZjVmZCJ9LmZhLWxheWVyLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjVmZSJ9LmZhLWxheWVyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmNWZmIn0uZmEtbGVhZjpiZWZvcmV7Y29udGVudDoiXGYwNmMifS5mYS1sZWFmLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjRjYiJ9LmZhLWxlYWYtbWFwbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNmY2In0uZmEtbGVhZi1vYWs6YmVmb3Jle2NvbnRlbnQ6IlxmNmY3In0uZmEtbGVhbnB1YjpiZWZvcmV7Y29udGVudDoiXGYyMTIifS5mYS1sZW1vbjpiZWZvcmV7Y29udGVudDoiXGYwOTQifS5mYS1sZXNzOmJlZm9yZXtjb250ZW50OiJcZjQxZCJ9LmZhLWxlc3MtdGhhbjpiZWZvcmV7Y29udGVudDoiXGY1MzYifS5mYS1sZXNzLXRoYW4tZXF1YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTM3In0uZmEtbGV2ZWwtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNDkifS5mYS1sZXZlbC1kb3duLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzYmUifS5mYS1sZXZlbC11cDpiZWZvcmV7Y29udGVudDoiXGYxNDgifS5mYS1sZXZlbC11cC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2JmIn0uZmEtbGlmZS1yaW5nOmJlZm9yZXtjb250ZW50OiJcZjFjZCJ9LmZhLWxpZ2h0LWNlaWxpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlMDE2In0uZmEtbGlnaHQtc3dpdGNoOmJlZm9yZXtjb250ZW50OiJcZTAxNyJ9LmZhLWxpZ2h0LXN3aXRjaC1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlMDE4In0uZmEtbGlnaHQtc3dpdGNoLW9uOmJlZm9yZXtjb250ZW50OiJcZTAxOSJ9LmZhLWxpZ2h0YnVsYjpiZWZvcmV7Y29udGVudDoiXGYwZWIifS5mYS1saWdodGJ1bGItZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjY3MCJ9LmZhLWxpZ2h0YnVsYi1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGY2NzEifS5mYS1saWdodGJ1bGItb246YmVmb3Jle2NvbnRlbnQ6IlxmNjcyIn0uZmEtbGlnaHRidWxiLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjY3MyJ9LmZhLWxpZ2h0cy1ob2xpZGF5OmJlZm9yZXtjb250ZW50OiJcZjdiMiJ9LmZhLWxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2MwIn0uZmEtbGluZS1jb2x1bW5zOmJlZm9yZXtjb250ZW50OiJcZjg3MCJ9LmZhLWxpbmUtaGVpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjg3MSJ9LmZhLWxpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMGMxIn0uZmEtbGlua2VkaW46YmVmb3Jle2NvbnRlbnQ6IlxmMDhjIn0uZmEtbGlua2VkaW4taW46YmVmb3Jle2NvbnRlbnQ6IlxmMGUxIn0uZmEtbGlub2RlOmJlZm9yZXtjb250ZW50OiJcZjJiOCJ9LmZhLWxpbnV4OmJlZm9yZXtjb250ZW50OiJcZjE3YyJ9LmZhLWxpcHM6YmVmb3Jle2NvbnRlbnQ6IlxmNjAwIn0uZmEtbGlyYS1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE5NSJ9LmZhLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDNhIn0uZmEtbGlzdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDIyIn0uZmEtbGlzdC1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGY4YzkifS5mYS1saXN0LW9sOmJlZm9yZXtjb250ZW50OiJcZjBjYiJ9LmZhLWxpc3QtdWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGNhIn0uZmEtbG9jYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNjAxIn0uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTI0In0uZmEtbG9jYXRpb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjYwMiJ9LmZhLWxvY2F0aW9uLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjYwMyJ9LmZhLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDIzIn0uZmEtbG9jay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzBkIn0uZmEtbG9jay1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjNjMSJ9LmZhLWxvY2stb3Blbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2MyIn0uZmEtbG9uZy1hcnJvdy1hbHQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYzMDkifS5mYS1sb25nLWFycm93LWFsdC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjMwYSJ9LmZhLWxvbmctYXJyb3ctYWx0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjMwYiJ9LmZhLWxvbmctYXJyb3ctYWx0LXVwOmJlZm9yZXtjb250ZW50OiJcZjMwYyJ9LmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNzUifS5mYS1sb25nLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTc3In0uZmEtbG9uZy1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxNzgifS5mYS1sb25nLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZjE3NiJ9LmZhLWxvdmVzZWF0OmJlZm9yZXtjb250ZW50OiJcZjRjYyJ9LmZhLWxvdy12aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmMmE4In0uZmEtbHVjaGFkb3I6YmVmb3Jle2NvbnRlbnQ6IlxmNDU1In0uZmEtbHVnZ2FnZS1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjU5ZCJ9LmZhLWx1bmdzOmJlZm9yZXtjb250ZW50OiJcZjYwNCJ9LmZhLWx1bmdzLXZpcnVzOmJlZm9yZXtjb250ZW50OiJcZTA2NyJ9LmZhLWx5ZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2MzIn0uZmEtbWFjZTpiZWZvcmV7Y29udGVudDoiXGY2ZjgifS5mYS1tYWdlbnRvOmJlZm9yZXtjb250ZW50OiJcZjNjNCJ9LmZhLW1hZ2ljOmJlZm9yZXtjb250ZW50OiJcZjBkMCJ9LmZhLW1hZ25ldDpiZWZvcmV7Y29udGVudDoiXGYwNzYifS5mYS1tYWlsLWJ1bGs6YmVmb3Jle2NvbnRlbnQ6IlxmNjc0In0uZmEtbWFpbGJveDpiZWZvcmV7Y29udGVudDoiXGY4MTMifS5mYS1tYWlsY2hpbXA6YmVmb3Jle2NvbnRlbnQ6IlxmNTllIn0uZmEtbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODMifS5mYS1tYW5kYWxvcmlhbjpiZWZvcmV7Y29udGVudDoiXGY1MGYifS5mYS1tYW5kb2xpbjpiZWZvcmV7Y29udGVudDoiXGY2ZjkifS5mYS1tYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjc5In0uZmEtbWFwLW1hcmtlZDpiZWZvcmV7Y29udGVudDoiXGY1OWYifS5mYS1tYXAtbWFya2VkLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1YTAifS5mYS1tYXAtbWFya2VyOmJlZm9yZXtjb250ZW50OiJcZjA0MSJ9LmZhLW1hcC1tYXJrZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjNjNSJ9LmZhLW1hcC1tYXJrZXItYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjYwNSJ9LmZhLW1hcC1tYXJrZXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNjA2In0uZmEtbWFwLW1hcmtlci1lZGl0OmJlZm9yZXtjb250ZW50OiJcZjYwNyJ9LmZhLW1hcC1tYXJrZXItZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNjA4In0uZmEtbWFwLW1hcmtlci1taW51czpiZWZvcmV7Y29udGVudDoiXGY2MDkifS5mYS1tYXAtbWFya2VyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmNjBhIn0uZmEtbWFwLW1hcmtlci1xdWVzdGlvbjpiZWZvcmV7Y29udGVudDoiXGY2MGIifS5mYS1tYXAtbWFya2VyLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjYwYyJ9LmZhLW1hcC1tYXJrZXItc21pbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNjBkIn0uZmEtbWFwLW1hcmtlci10aW1lczpiZWZvcmV7Y29udGVudDoiXGY2MGUifS5mYS1tYXAtcGluOmJlZm9yZXtjb250ZW50OiJcZjI3NiJ9LmZhLW1hcC1zaWduczpiZWZvcmV7Y29udGVudDoiXGYyNzcifS5mYS1tYXJrZG93bjpiZWZvcmV7Y29udGVudDoiXGY2MGYifS5mYS1tYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWExIn0uZmEtbWFyczpiZWZvcmV7Y29udGVudDoiXGYyMjIifS5mYS1tYXJzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjcifS5mYS1tYXJzLXN0cm9rZTpiZWZvcmV7Y29udGVudDoiXGYyMjkifS5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZXtjb250ZW50OiJcZjIyYiJ9LmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMjJhIn0uZmEtbWFzazpiZWZvcmV7Y29udGVudDoiXGY2ZmEifS5mYS1tYXN0b2RvbjpiZWZvcmV7Y29udGVudDoiXGY0ZjYifS5mYS1tYXhjZG46YmVmb3Jle2NvbnRlbnQ6IlxmMTM2In0uZmEtbWRiOmJlZm9yZXtjb250ZW50OiJcZjhjYSJ9LmZhLW1lYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmODE0In0uZmEtbWVkYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNWEyIn0uZmEtbWVkYXBwczpiZWZvcmV7Y29udGVudDoiXGYzYzYifS5mYS1tZWRpdW06YmVmb3Jle2NvbnRlbnQ6IlxmMjNhIn0uZmEtbWVkaXVtLW06YmVmb3Jle2NvbnRlbnQ6IlxmM2M3In0uZmEtbWVka2l0OmJlZm9yZXtjb250ZW50OiJcZjBmYSJ9LmZhLW1lZHJ0OmJlZm9yZXtjb250ZW50OiJcZjNjOCJ9LmZhLW1lZXR1cDpiZWZvcmV7Y29udGVudDoiXGYyZTAifS5mYS1tZWdhcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNjc1In0uZmEtbWVnYXBvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWEzIn0uZmEtbWVoOmJlZm9yZXtjb250ZW50OiJcZjExYSJ9LmZhLW1laC1ibGFuazpiZWZvcmV7Y29udGVudDoiXGY1YTQifS5mYS1tZWgtcm9sbGluZy1leWVzOmJlZm9yZXtjb250ZW50OiJcZjVhNSJ9LmZhLW1lbW9yeTpiZWZvcmV7Y29udGVudDoiXGY1MzgifS5mYS1tZW5kZWxleTpiZWZvcmV7Y29udGVudDoiXGY3YjMifS5mYS1tZW5vcmFoOmJlZm9yZXtjb250ZW50OiJcZjY3NiJ9LmZhLW1lcmN1cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMjIzIn0uZmEtbWV0ZW9yOmJlZm9yZXtjb250ZW50OiJcZjc1MyJ9LmZhLW1pY3JvYmxvZzpiZWZvcmV7Y29udGVudDoiXGUwMWEifS5mYS1taWNyb2NoaXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmRiIn0uZmEtbWljcm9waG9uZTpiZWZvcmV7Y29udGVudDoiXGYxMzAifS5mYS1taWNyb3Bob25lLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzYzkifS5mYS1taWNyb3Bob25lLWFsdC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY1MzkifS5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjEzMSJ9LmZhLW1pY3JvcGhvbmUtc3RhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmOGNiIn0uZmEtbWljcm9zY29wZTpiZWZvcmV7Y29udGVudDoiXGY2MTAifS5mYS1taWNyb3NvZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2NhIn0uZmEtbWljcm93YXZlOmJlZm9yZXtjb250ZW50OiJcZTAxYiJ9LmZhLW1pbmQtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNjc3In0uZmEtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDY4In0uZmEtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NiJ9LmZhLW1pbnVzLWhleGFnb246YmVmb3Jle2NvbnRlbnQ6IlxmMzA3In0uZmEtbWludXMtb2N0YWdvbjpiZWZvcmV7Y29udGVudDoiXGYzMDgifS5mYS1taW51cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ2In0uZmEtbWlzdGxldG9lOmJlZm9yZXtjb250ZW50OiJcZjdiNCJ9LmZhLW1pdHRlbjpiZWZvcmV7Y29udGVudDoiXGY3YjUifS5mYS1taXg6YmVmb3Jle2NvbnRlbnQ6IlxmM2NiIn0uZmEtbWl4Y2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg5In0uZmEtbWl4ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDU2In0uZmEtbWl6dW5pOmJlZm9yZXtjb250ZW50OiJcZjNjYyJ9LmZhLW1vYmlsZTpiZWZvcmV7Y29udGVudDoiXGYxMGIifS5mYS1tb2JpbGUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNjZCJ9LmZhLW1vYmlsZS1hbmRyb2lkOmJlZm9yZXtjb250ZW50OiJcZjNjZSJ9LmZhLW1vYmlsZS1hbmRyb2lkLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzY2YifS5mYS1tb2R4OmJlZm9yZXtjb250ZW50OiJcZjI4NSJ9LmZhLW1vbmVybzpiZWZvcmV7Y29udGVudDoiXGYzZDAifS5mYS1tb25leS1iaWxsOmJlZm9yZXtjb250ZW50OiJcZjBkNiJ9LmZhLW1vbmV5LWJpbGwtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNkMSJ9LmZhLW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmV7Y29udGVudDoiXGY1M2EifS5mYS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjUzYiJ9LmZhLW1vbmV5LWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZjUzYyJ9LmZhLW1vbmV5LWNoZWNrLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1M2QifS5mYS1tb25leS1jaGVjay1lZGl0OmJlZm9yZXtjb250ZW50OiJcZjg3MiJ9LmZhLW1vbmV5LWNoZWNrLWVkaXQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg3MyJ9LmZhLW1vbml0b3ItaGVhcnQtcmF0ZTpiZWZvcmV7Y29udGVudDoiXGY2MTEifS5mYS1tb25rZXk6YmVmb3Jle2NvbnRlbnQ6IlxmNmZiIn0uZmEtbW9udW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWE2In0uZmEtbW9vbjpiZWZvcmV7Y29udGVudDoiXGYxODYifS5mYS1tb29uLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjc1NCJ9LmZhLW1vb24tc3RhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmNzU1In0uZmEtbW9ydGFyLXBlc3RsZTpiZWZvcmV7Y29udGVudDoiXGY1YTcifS5mYS1tb3NxdWU6YmVmb3Jle2NvbnRlbnQ6IlxmNjc4In0uZmEtbW90b3JjeWNsZTpiZWZvcmV7Y29udGVudDoiXGYyMWMifS5mYS1tb3VudGFpbjpiZWZvcmV7Y29udGVudDoiXGY2ZmMifS5mYS1tb3VudGFpbnM6YmVmb3Jle2NvbnRlbnQ6IlxmNmZkIn0uZmEtbW91c2U6YmVmb3Jle2NvbnRlbnQ6IlxmOGNjIn0uZmEtbW91c2UtYWx0OmJlZm9yZXtjb250ZW50OiJcZjhjZCJ9LmZhLW1vdXNlLXBvaW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ1In0uZmEtbXAzLXBsYXllcjpiZWZvcmV7Y29udGVudDoiXGY4Y2UifS5mYS1tdWc6YmVmb3Jle2NvbnRlbnQ6IlxmODc0In0uZmEtbXVnLWhvdDpiZWZvcmV7Y29udGVudDoiXGY3YjYifS5mYS1tdWctbWFyc2htYWxsb3dzOmJlZm9yZXtjb250ZW50OiJcZjdiNyJ9LmZhLW11Zy10ZWE6YmVmb3Jle2NvbnRlbnQ6IlxmODc1In0uZmEtbXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMDAxIn0uZmEtbXVzaWMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjhjZiJ9LmZhLW11c2ljLWFsdC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY4ZDAifS5mYS1tdXNpYy1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY4ZDEifS5mYS1uYXBzdGVyOmJlZm9yZXtjb250ZW50OiJcZjNkMiJ9LmZhLW5hcndoYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNmZlIn0uZmEtbmVvczpiZWZvcmV7Y29udGVudDoiXGY2MTIifS5mYS1uZXR3b3JrLXdpcmVkOmJlZm9yZXtjb250ZW50OiJcZjZmZiJ9LmZhLW5ldXRlcjpiZWZvcmV7Y29udGVudDoiXGYyMmMifS5mYS1uZXdzcGFwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWVhIn0uZmEtbmltYmxyOmJlZm9yZXtjb250ZW50OiJcZjVhOCJ9LmZhLW5vZGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDE5In0uZmEtbm9kZS1qczpiZWZvcmV7Y29udGVudDoiXGYzZDMifS5mYS1ub3QtZXF1YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTNlIn0uZmEtbm90ZXMtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY0ODEifS5mYS1ucG06YmVmb3Jle2NvbnRlbnQ6IlxmM2Q0In0uZmEtbnM4OmJlZm9yZXtjb250ZW50OiJcZjNkNSJ9LmZhLW51dHJpdGlvbml4OmJlZm9yZXtjb250ZW50OiJcZjNkNiJ9LmZhLW9iamVjdC1ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDcifS5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDgifS5mYS1vY3RhZ29uOmJlZm9yZXtjb250ZW50OiJcZjMwNiJ9LmZhLW9jdG9wdXMtZGVwbG95OmJlZm9yZXtjb250ZW50OiJcZTA4MiJ9LmZhLW9kbm9rbGFzc25pa2k6YmVmb3Jle2NvbnRlbnQ6IlxmMjYzIn0uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjY0In0uZmEtb2lsLWNhbjpiZWZvcmV7Y29udGVudDoiXGY2MTMifS5mYS1vaWwtdGVtcDpiZWZvcmV7Y29udGVudDoiXGY2MTQifS5mYS1vbGQtcmVwdWJsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmNTEwIn0uZmEtb206YmVmb3Jle2NvbnRlbnQ6IlxmNjc5In0uZmEtb21lZ2E6YmVmb3Jle2NvbnRlbnQ6IlxmNjdhIn0uZmEtb3BlbmNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjNkIn0uZmEtb3BlbmlkOmJlZm9yZXtjb250ZW50OiJcZjE5YiJ9LmZhLW9wZXJhOmJlZm9yZXtjb250ZW50OiJcZjI2YSJ9LmZhLW9wdGluLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjNjIn0uZmEtb3JjaWQ6YmVmb3Jle2NvbnRlbnQ6IlxmOGQyIn0uZmEtb3JuYW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2I4In0uZmEtb3NpOmJlZm9yZXtjb250ZW50OiJcZjQxYSJ9LmZhLW90dGVyOmJlZm9yZXtjb250ZW50OiJcZjcwMCJ9LmZhLW91dGRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDNiIn0uZmEtb3V0bGV0OmJlZm9yZXtjb250ZW50OiJcZTAxYyJ9LmZhLW92ZW46YmVmb3Jle2NvbnRlbnQ6IlxlMDFkIn0uZmEtb3ZlcmxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmODc2In0uZmEtcGFnZS1icmVhazpiZWZvcmV7Y29udGVudDoiXGY4NzcifS5mYS1wYWdlNDpiZWZvcmV7Y29udGVudDoiXGYzZDcifS5mYS1wYWdlbGluZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMThjIn0uZmEtcGFnZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODE1In0uZmEtcGFpbnQtYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWZjIn0uZmEtcGFpbnQtYnJ1c2gtYWx0OmJlZm9yZXtjb250ZW50OiJcZjVhOSJ9LmZhLXBhaW50LXJvbGxlcjpiZWZvcmV7Y29udGVudDoiXGY1YWEifS5mYS1wYWxldHRlOmJlZm9yZXtjb250ZW50OiJcZjUzZiJ9LmZhLXBhbGZlZDpiZWZvcmV7Y29udGVudDoiXGYzZDgifS5mYS1wYWxsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDgyIn0uZmEtcGFsbGV0LWFsdDpiZWZvcmV7Y29udGVudDoiXGY0ODMifS5mYS1wYXBlci1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGYxZDgifS5mYS1wYXBlcmNsaXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGM2In0uZmEtcGFyYWNodXRlLWJveDpiZWZvcmV7Y29udGVudDoiXGY0Y2QifS5mYS1wYXJhZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxmMWRkIn0uZmEtcGFyYWdyYXBoLXJ0bDpiZWZvcmV7Y29udGVudDoiXGY4NzgifS5mYS1wYXJraW5nOmJlZm9yZXtjb250ZW50OiJcZjU0MCJ9LmZhLXBhcmtpbmctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjYxNSJ9LmZhLXBhcmtpbmctY2lyY2xlLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjYxNiJ9LmZhLXBhcmtpbmctc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNjE3In0uZmEtcGFzc3BvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWFiIn0uZmEtcGFzdGFmYXJpYW5pc206YmVmb3Jle2NvbnRlbnQ6IlxmNjdiIn0uZmEtcGFzdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGVhIn0uZmEtcGF0cmVvbjpiZWZvcmV7Y29udGVudDoiXGYzZDkifS5mYS1wYXVzZTpiZWZvcmV7Y29udGVudDoiXGYwNGMifS5mYS1wYXVzZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjhiIn0uZmEtcGF3OmJlZm9yZXtjb250ZW50OiJcZjFiMCJ9LmZhLXBhdy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzAxIn0uZmEtcGF3LWNsYXdzOmJlZm9yZXtjb250ZW50OiJcZjcwMiJ9LmZhLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZWQifS5mYS1wZWFjZTpiZWZvcmV7Y29udGVudDoiXGY2N2MifS5mYS1wZWdhc3VzOmJlZm9yZXtjb250ZW50OiJcZjcwMyJ9LmZhLXBlbjpiZWZvcmV7Y29udGVudDoiXGYzMDQifS5mYS1wZW4tYWx0OmJlZm9yZXtjb250ZW50OiJcZjMwNSJ9LmZhLXBlbi1mYW5jeTpiZWZvcmV7Y29udGVudDoiXGY1YWMifS5mYS1wZW4tbmliOmJlZm9yZXtjb250ZW50OiJcZjVhZCJ9LmZhLXBlbi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRiIn0uZmEtcGVuY2lsOmJlZm9yZXtjb250ZW50OiJcZjA0MCJ9LmZhLXBlbmNpbC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzAzIn0uZmEtcGVuY2lsLXBhaW50YnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxmNjE4In0uZmEtcGVuY2lsLXJ1bGVyOmJlZm9yZXtjb250ZW50OiJcZjVhZSJ9LmZhLXBlbm5hbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDU2In0uZmEtcGVubnktYXJjYWRlOmJlZm9yZXtjb250ZW50OiJcZjcwNCJ9LmZhLXBlb3BsZS1hcnJvd3M6YmVmb3Jle2NvbnRlbnQ6IlxlMDY4In0uZmEtcGVvcGxlLWNhcnJ5OmJlZm9yZXtjb250ZW50OiJcZjRjZSJ9LmZhLXBlcHBlci1ob3Q6YmVmb3Jle2NvbnRlbnQ6IlxmODE2In0uZmEtcGVyYnl0ZTpiZWZvcmV7Y29udGVudDoiXGUwODMifS5mYS1wZXJjZW50OmJlZm9yZXtjb250ZW50OiJcZjI5NSJ9LmZhLXBlcmNlbnRhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNTQxIn0uZmEtcGVyaXNjb3BlOmJlZm9yZXtjb250ZW50OiJcZjNkYSJ9LmZhLXBlcnNvbi1ib290aDpiZWZvcmV7Y29udGVudDoiXGY3NTYifS5mYS1wZXJzb24tY2Fycnk6YmVmb3Jle2NvbnRlbnQ6IlxmNGNmIn0uZmEtcGVyc29uLWRvbGx5OmJlZm9yZXtjb250ZW50OiJcZjRkMCJ9LmZhLXBlcnNvbi1kb2xseS1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGY0ZDEifS5mYS1wZXJzb24tc2lnbjpiZWZvcmV7Y29udGVudDoiXGY3NTcifS5mYS1waGFicmljYXRvcjpiZWZvcmV7Y29udGVudDoiXGYzZGIifS5mYS1waG9lbml4LWZyYW1ld29yazpiZWZvcmV7Y29udGVudDoiXGYzZGMifS5mYS1waG9lbml4LXNxdWFkcm9uOmJlZm9yZXtjb250ZW50OiJcZjUxMSJ9LmZhLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjA5NSJ9LmZhLXBob25lLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4NzkifS5mYS1waG9uZS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmODdhIn0uZmEtcGhvbmUtb2ZmaWNlOmJlZm9yZXtjb250ZW50OiJcZjY3ZCJ9LmZhLXBob25lLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmNGQyIn0uZmEtcGhvbmUtcm90YXJ5OmJlZm9yZXtjb250ZW50OiJcZjhkMyJ9LmZhLXBob25lLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjNkZCJ9LmZhLXBob25lLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwOTgifS5mYS1waG9uZS1zcXVhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg3YiJ9LmZhLXBob25lLXZvbHVtZTpiZWZvcmV7Y29udGVudDoiXGYyYTAifS5mYS1waG90by12aWRlbzpiZWZvcmV7Y29udGVudDoiXGY4N2MifS5mYS1waHA6YmVmb3Jle2NvbnRlbnQ6IlxmNDU3In0uZmEtcGk6YmVmb3Jle2NvbnRlbnQ6IlxmNjdlIn0uZmEtcGlhbm86YmVmb3Jle2NvbnRlbnQ6IlxmOGQ0In0uZmEtcGlhbm8ta2V5Ym9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmOGQ1In0uZmEtcGllOmJlZm9yZXtjb250ZW50OiJcZjcwNSJ9LmZhLXBpZWQtcGlwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmFlIn0uZmEtcGllZC1waXBlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWE4In0uZmEtcGllZC1waXBlci1oYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGU1In0uZmEtcGllZC1waXBlci1wcDpiZWZvcmV7Y29udGVudDoiXGYxYTcifS5mYS1waWVkLXBpcGVyLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGUwMWUifS5mYS1waWc6YmVmb3Jle2NvbnRlbnQ6IlxmNzA2In0uZmEtcGlnZ3ktYmFuazpiZWZvcmV7Y29udGVudDoiXGY0ZDMifS5mYS1waWxsczpiZWZvcmV7Y29udGVudDoiXGY0ODQifS5mYS1waW50ZXJlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMGQyIn0uZmEtcGludGVyZXN0LXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjMxIn0uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZDMifS5mYS1waXp6YTpiZWZvcmV7Y29udGVudDoiXGY4MTcifS5mYS1waXp6YS1zbGljZTpiZWZvcmV7Y29udGVudDoiXGY4MTgifS5mYS1wbGFjZS1vZi13b3JzaGlwOmJlZm9yZXtjb250ZW50OiJcZjY3ZiJ9LmZhLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjA3MiJ9LmZhLXBsYW5lLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZGUifS5mYS1wbGFuZS1hcnJpdmFsOmJlZm9yZXtjb250ZW50OiJcZjVhZiJ9LmZhLXBsYW5lLWRlcGFydHVyZTpiZWZvcmV7Y29udGVudDoiXGY1YjAifS5mYS1wbGFuZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNjkifS5mYS1wbGFuZXQtbW9vbjpiZWZvcmV7Y29udGVudDoiXGUwMWYifS5mYS1wbGFuZXQtcmluZ2VkOmJlZm9yZXtjb250ZW50OiJcZTAyMCJ9LmZhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDRiIn0uZmEtcGxheS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ0In0uZmEtcGxheXN0YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmM2RmIn0uZmEtcGx1ZzpiZWZvcmV7Y29udGVudDoiXGYxZTYifS5mYS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjA2NyJ9LmZhLXBsdXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NSJ9LmZhLXBsdXMtaGV4YWdvbjpiZWZvcmV7Y29udGVudDoiXGYzMDAifS5mYS1wbHVzLW9jdGFnb246YmVmb3Jle2NvbnRlbnQ6IlxmMzAxIn0uZmEtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZlIn0uZmEtcG9kY2FzdDpiZWZvcmV7Y29udGVudDoiXGYyY2UifS5mYS1wb2RpdW06YmVmb3Jle2NvbnRlbnQ6IlxmNjgwIn0uZmEtcG9kaXVtLXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzU4In0uZmEtcG9saWNlLWJveDpiZWZvcmV7Y29udGVudDoiXGUwMjEifS5mYS1wb2xsOmJlZm9yZXtjb250ZW50OiJcZjY4MSJ9LmZhLXBvbGwtaDpiZWZvcmV7Y29udGVudDoiXGY2ODIifS5mYS1wb2xsLXBlb3BsZTpiZWZvcmV7Y29udGVudDoiXGY3NTkifS5mYS1wb286YmVmb3Jle2NvbnRlbnQ6IlxmMmZlIn0uZmEtcG9vLXN0b3JtOmJlZm9yZXtjb250ZW50OiJcZjc1YSJ9LmZhLXBvb3A6YmVmb3Jle2NvbnRlbnQ6IlxmNjE5In0uZmEtcG9wY29ybjpiZWZvcmV7Y29udGVudDoiXGY4MTkifS5mYS1wb3J0YWwtZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDIyIn0uZmEtcG9ydGFsLWV4aXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDIzIn0uZmEtcG9ydHJhaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2UwIn0uZmEtcG91bmQtc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTQifS5mYS1wb3dlci1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDExIn0uZmEtcHJheTpiZWZvcmV7Y29udGVudDoiXGY2ODMifS5mYS1wcmF5aW5nLWhhbmRzOmJlZm9yZXtjb250ZW50OiJcZjY4NCJ9LmZhLXByZXNjcmlwdGlvbjpiZWZvcmV7Y29udGVudDoiXGY1YjEifS5mYS1wcmVzY3JpcHRpb24tYm90dGxlOmJlZm9yZXtjb250ZW50OiJcZjQ4NSJ9LmZhLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjQ4NiJ9LmZhLXByZXNlbnRhdGlvbjpiZWZvcmV7Y29udGVudDoiXGY2ODUifS5mYS1wcmludDpiZWZvcmV7Y29udGVudDoiXGYwMmYifS5mYS1wcmludC1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmODFhIn0uZmEtcHJpbnQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNjg2In0uZmEtcHJvY2VkdXJlczpiZWZvcmV7Y29udGVudDoiXGY0ODcifS5mYS1wcm9kdWN0LWh1bnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg4In0uZmEtcHJvamVjdC1kaWFncmFtOmJlZm9yZXtjb250ZW50OiJcZjU0MiJ9LmZhLXByb2plY3RvcjpiZWZvcmV7Y29udGVudDoiXGY4ZDYifS5mYS1wdW1wLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMDZhIn0uZmEtcHVtcC1zb2FwOmJlZm9yZXtjb250ZW50OiJcZTA2YiJ9LmZhLXB1bXBraW46YmVmb3Jle2NvbnRlbnQ6IlxmNzA3In0uZmEtcHVzaGVkOmJlZm9yZXtjb250ZW50OiJcZjNlMSJ9LmZhLXB1enpsZS1waWVjZTpiZWZvcmV7Y29udGVudDoiXGYxMmUifS5mYS1weXRob246YmVmb3Jle2NvbnRlbnQ6IlxmM2UyIn0uZmEtcXE6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ2In0uZmEtcXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyOSJ9LmZhLXF1ZXN0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyOCJ9LmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTkifS5mYS1xdWVzdGlvbi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmZkIn0uZmEtcXVpZGRpdGNoOmJlZm9yZXtjb250ZW50OiJcZjQ1OCJ9LmZhLXF1aW5zY2FwZTpiZWZvcmV7Y29udGVudDoiXGY0NTkifS5mYS1xdW9yYTpiZWZvcmV7Y29udGVudDoiXGYyYzQifS5mYS1xdW90ZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwZCJ9LmZhLXF1b3RlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwZSJ9LmZhLXF1cmFuOmJlZm9yZXtjb250ZW50OiJcZjY4NyJ9LmZhLXItcHJvamVjdDpiZWZvcmV7Y29udGVudDoiXGY0ZjcifS5mYS1yYWJiaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzA4In0uZmEtcmFiYml0LWZhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNzA5In0uZmEtcmFjcXVldDpiZWZvcmV7Y29udGVudDoiXGY0NWEifS5mYS1yYWRhcjpiZWZvcmV7Y29udGVudDoiXGUwMjQifS5mYS1yYWRpYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmN2I5In0uZmEtcmFkaWF0aW9uLWFsdDpiZWZvcmV7Y29udGVudDoiXGY3YmEifS5mYS1yYWRpbzpiZWZvcmV7Y29udGVudDoiXGY4ZDcifS5mYS1yYWRpby1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmOGQ4In0uZmEtcmFpbmJvdzpiZWZvcmV7Y29udGVudDoiXGY3NWIifS5mYS1yYWluZHJvcHM6YmVmb3Jle2NvbnRlbnQ6IlxmNzVjIn0uZmEtcmFtOmJlZm9yZXtjb250ZW50OiJcZjcwYSJ9LmZhLXJhbXAtbG9hZGluZzpiZWZvcmV7Y29udGVudDoiXGY0ZDQifS5mYS1yYW5kb206YmVmb3Jle2NvbnRlbnQ6IlxmMDc0In0uZmEtcmFzcGJlcnJ5LXBpOmJlZm9yZXtjb250ZW50OiJcZjdiYiJ9LmZhLXJhdmVscnk6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ5In0uZmEtcmF5Z3VuOmJlZm9yZXtjb250ZW50OiJcZTAyNSJ9LmZhLXJlYWN0OmJlZm9yZXtjb250ZW50OiJcZjQxYiJ9LmZhLXJlYWN0ZXVyb3BlOmJlZm9yZXtjb250ZW50OiJcZjc1ZCJ9LmZhLXJlYWRtZTpiZWZvcmV7Y29udGVudDoiXGY0ZDUifS5mYS1yZWJlbDpiZWZvcmV7Y29udGVudDoiXGYxZDAifS5mYS1yZWNlaXB0OmJlZm9yZXtjb250ZW50OiJcZjU0MyJ9LmZhLXJlY29yZC12aW55bDpiZWZvcmV7Y29udGVudDoiXGY4ZDkifS5mYS1yZWN0YW5nbGUtbGFuZHNjYXBlOmJlZm9yZXtjb250ZW50OiJcZjJmYSJ9LmZhLXJlY3RhbmdsZS1wb3J0cmFpdDpiZWZvcmV7Y29udGVudDoiXGYyZmIifS5mYS1yZWN0YW5nbGUtd2lkZTpiZWZvcmV7Y29udGVudDoiXGYyZmMifS5mYS1yZWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjFiOCJ9LmZhLXJlZC1yaXZlcjpiZWZvcmV7Y29udGVudDoiXGYzZTMifS5mYS1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWExIn0uZmEtcmVkZGl0LWFsaWVuOmJlZm9yZXtjb250ZW50OiJcZjI4MSJ9LmZhLXJlZGRpdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEyIn0uZmEtcmVkaGF0OmJlZm9yZXtjb250ZW50OiJcZjdiYyJ9LmZhLXJlZG86YmVmb3Jle2NvbnRlbnQ6IlxmMDFlIn0uZmEtcmVkby1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmY5In0uZmEtcmVmcmlnZXJhdG9yOmJlZm9yZXtjb250ZW50OiJcZTAyNiJ9LmZhLXJlZ2lzdGVyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjVkIn0uZmEtcmVtb3ZlLWZvcm1hdDpiZWZvcmV7Y29udGVudDoiXGY4N2QifS5mYS1yZW5yZW46YmVmb3Jle2NvbnRlbnQ6IlxmMThiIn0uZmEtcmVwZWF0OmJlZm9yZXtjb250ZW50OiJcZjM2MyJ9LmZhLXJlcGVhdC0xOmJlZm9yZXtjb250ZW50OiJcZjM2NSJ9LmZhLXJlcGVhdC0xLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzNjYifS5mYS1yZXBlYXQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM2NCJ9LmZhLXJlcGx5OmJlZm9yZXtjb250ZW50OiJcZjNlNSJ9LmZhLXJlcGx5LWFsbDpiZWZvcmV7Y29udGVudDoiXGYxMjIifS5mYS1yZXBseWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2U2In0uZmEtcmVwdWJsaWNhbjpiZWZvcmV7Y29udGVudDoiXGY3NWUifS5mYS1yZXNlYXJjaGdhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGY4In0uZmEtcmVzb2x2aW5nOmJlZm9yZXtjb250ZW50OiJcZjNlNyJ9LmZhLXJlc3Ryb29tOmJlZm9yZXtjb250ZW50OiJcZjdiZCJ9LmZhLXJldHdlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc5In0uZmEtcmV0d2VldC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzYxIn0uZmEtcmV2OmJlZm9yZXtjb250ZW50OiJcZjViMiJ9LmZhLXJpYmJvbjpiZWZvcmV7Y29udGVudDoiXGY0ZDYifS5mYS1yaW5nOmJlZm9yZXtjb250ZW50OiJcZjcwYiJ9LmZhLXJpbmdzLXdlZGRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmODFiIn0uZmEtcm9hZDpiZWZvcmV7Y29udGVudDoiXGYwMTgifS5mYS1yb2JvdDpiZWZvcmV7Y29udGVudDoiXGY1NDQifS5mYS1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM1In0uZmEtcm9ja2V0LWxhdW5jaDpiZWZvcmV7Y29udGVudDoiXGUwMjcifS5mYS1yb2NrZXRjaGF0OmJlZm9yZXtjb250ZW50OiJcZjNlOCJ9LmZhLXJvY2tybXM6YmVmb3Jle2NvbnRlbnQ6IlxmM2U5In0uZmEtcm91dGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGQ3In0uZmEtcm91dGUtaGlnaHdheTpiZWZvcmV7Y29udGVudDoiXGY2MWEifS5mYS1yb3V0ZS1pbnRlcnN0YXRlOmJlZm9yZXtjb250ZW50OiJcZjYxYiJ9LmZhLXJvdXRlcjpiZWZvcmV7Y29udGVudDoiXGY4ZGEifS5mYS1yc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDllIn0uZmEtcnNzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNDMifS5mYS1ydWJsZS1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE1OCJ9LmZhLXJ1bGVyOmJlZm9yZXtjb250ZW50OiJcZjU0NSJ9LmZhLXJ1bGVyLWNvbWJpbmVkOmJlZm9yZXtjb250ZW50OiJcZjU0NiJ9LmZhLXJ1bGVyLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTQ3In0uZmEtcnVsZXItdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNjFjIn0uZmEtcnVsZXItdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTQ4In0uZmEtcnVubmluZzpiZWZvcmV7Y29udGVudDoiXGY3MGMifS5mYS1ydXBlZS1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE1NiJ9LmZhLXJ1c3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDdhIn0uZmEtcnY6YmVmb3Jle2NvbnRlbnQ6IlxmN2JlIn0uZmEtc2FjazpiZWZvcmV7Y29udGVudDoiXGY4MWMifS5mYS1zYWNrLWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY4MWQifS5mYS1zYWQtY3J5OmJlZm9yZXtjb250ZW50OiJcZjViMyJ9LmZhLXNhZC10ZWFyOmJlZm9yZXtjb250ZW50OiJcZjViNCJ9LmZhLXNhZmFyaTpiZWZvcmV7Y29udGVudDoiXGYyNjcifS5mYS1zYWxhZDpiZWZvcmV7Y29udGVudDoiXGY4MWUifS5mYS1zYWxlc2ZvcmNlOmJlZm9yZXtjb250ZW50OiJcZjgzYiJ9LmZhLXNhbmR3aWNoOmJlZm9yZXtjb250ZW50OiJcZjgxZiJ9LmZhLXNhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNDFlIn0uZmEtc2F0ZWxsaXRlOmJlZm9yZXtjb250ZW50OiJcZjdiZiJ9LmZhLXNhdGVsbGl0ZS1kaXNoOmJlZm9yZXtjb250ZW50OiJcZjdjMCJ9LmZhLXNhdXNhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmODIwIn0uZmEtc2F2ZTpiZWZvcmV7Y29udGVudDoiXGYwYzcifS5mYS1zYXgtaG90OmJlZm9yZXtjb250ZW50OiJcZjhkYiJ9LmZhLXNheG9waG9uZTpiZWZvcmV7Y29udGVudDoiXGY4ZGMifS5mYS1zY2FscGVsOmJlZm9yZXtjb250ZW50OiJcZjYxZCJ9LmZhLXNjYWxwZWwtcGF0aDpiZWZvcmV7Y29udGVudDoiXGY2MWUifS5mYS1zY2FubmVyOmJlZm9yZXtjb250ZW50OiJcZjQ4OCJ9LmZhLXNjYW5uZXItaW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmOGYzIn0uZmEtc2Nhbm5lci1rZXlib2FyZDpiZWZvcmV7Y29udGVudDoiXGY0ODkifS5mYS1zY2FubmVyLXRvdWNoc2NyZWVuOmJlZm9yZXtjb250ZW50OiJcZjQ4YSJ9LmZhLXNjYXJlY3JvdzpiZWZvcmV7Y29udGVudDoiXGY3MGQifS5mYS1zY2FyZjpiZWZvcmV7Y29udGVudDoiXGY3YzEifS5mYS1zY2hsaXg6YmVmb3Jle2NvbnRlbnQ6IlxmM2VhIn0uZmEtc2Nob29sOmJlZm9yZXtjb250ZW50OiJcZjU0OSJ9LmZhLXNjcmV3ZHJpdmVyOmJlZm9yZXtjb250ZW50OiJcZjU0YSJ9LmZhLXNjcmliZDpiZWZvcmV7Y29udGVudDoiXGYyOGEifS5mYS1zY3JvbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNzBlIn0uZmEtc2Nyb2xsLW9sZDpiZWZvcmV7Y29udGVudDoiXGY3MGYifS5mYS1zY3J1YmJlcjpiZWZvcmV7Y29udGVudDoiXGYyZjgifS5mYS1zY3l0aGU6YmVmb3Jle2NvbnRlbnQ6IlxmNzEwIn0uZmEtc2QtY2FyZDpiZWZvcmV7Y29udGVudDoiXGY3YzIifS5mYS1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDAyIn0uZmEtc2VhcmNoLWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY2ODgifS5mYS1zZWFyY2gtbG9jYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNjg5In0uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjAxMCJ9LmZhLXNlYXJjaC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjAwZSJ9LmZhLXNlYXJjaGVuZ2luOmJlZm9yZXtjb250ZW50OiJcZjNlYiJ9LmZhLXNlZWRsaW5nOmJlZm9yZXtjb250ZW50OiJcZjRkOCJ9LmZhLXNlbGxjYXN0OmJlZm9yZXtjb250ZW50OiJcZjJkYSJ9LmZhLXNlbGxzeTpiZWZvcmV7Y29udGVudDoiXGYyMTMifS5mYS1zZW5kLWJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmODdlIn0uZmEtc2VuZC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGY4N2YifS5mYS1zZW5zb3I6YmVmb3Jle2NvbnRlbnQ6IlxlMDI4In0uZmEtc2Vuc29yLWFsZXJ0OmJlZm9yZXtjb250ZW50OiJcZTAyOSJ9LmZhLXNlbnNvci1maXJlOmJlZm9yZXtjb250ZW50OiJcZTAyYSJ9LmZhLXNlbnNvci1vbjpiZWZvcmV7Y29udGVudDoiXGUwMmIifS5mYS1zZW5zb3Itc21va2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDJjIn0uZmEtc2VydmVyOmJlZm9yZXtjb250ZW50OiJcZjIzMyJ9LmZhLXNlcnZpY2VzdGFjazpiZWZvcmV7Y29udGVudDoiXGYzZWMifS5mYS1zaGFwZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNjFmIn0uZmEtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDY0In0uZmEtc2hhcmUtYWxsOmJlZm9yZXtjb250ZW50OiJcZjM2NyJ9LmZhLXNoYXJlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxZTAifS5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFlMSJ9LmZhLXNoYXJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGQifS5mYS1zaGVlcDpiZWZvcmV7Y29udGVudDoiXGY3MTEifS5mYS1zaGVrZWwtc2lnbjpiZWZvcmV7Y29udGVudDoiXGYyMGIifS5mYS1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTMyIn0uZmEtc2hpZWxkLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZWQifS5mYS1zaGllbGQtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMmY3In0uZmEtc2hpZWxkLWNyb3NzOmJlZm9yZXtjb250ZW50OiJcZjcxMiJ9LmZhLXNoaWVsZC12aXJ1czpiZWZvcmV7Y29udGVudDoiXGUwNmMifS5mYS1zaGlwOmJlZm9yZXtjb250ZW50OiJcZjIxYSJ9LmZhLXNoaXBwaW5nLWZhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNDhiIn0uZmEtc2hpcHBpbmctdGltZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDhjIn0uZmEtc2hpcnRzaW5idWxrOmJlZm9yZXtjb250ZW50OiJcZjIxNCJ9LmZhLXNoaXNoLWtlYmFiOmJlZm9yZXtjb250ZW50OiJcZjgyMSJ9LmZhLXNob2UtcHJpbnRzOmJlZm9yZXtjb250ZW50OiJcZjU0YiJ9LmZhLXNob3BpZnk6YmVmb3Jle2NvbnRlbnQ6IlxlMDU3In0uZmEtc2hvcHBpbmctYmFnOmJlZm9yZXtjb250ZW50OiJcZjI5MCJ9LmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmV7Y29udGVudDoiXGYyOTEifS5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjA3YSJ9LmZhLXNob3B3YXJlOmJlZm9yZXtjb250ZW50OiJcZjViNSJ9LmZhLXNob3ZlbDpiZWZvcmV7Y29udGVudDoiXGY3MTMifS5mYS1zaG92ZWwtc25vdzpiZWZvcmV7Y29udGVudDoiXGY3YzMifS5mYS1zaG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmNjIn0uZmEtc2hyZWRkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjhhIn0uZmEtc2h1dHRsZS12YW46YmVmb3Jle2NvbnRlbnQ6IlxmNWI2In0uZmEtc2h1dHRsZWNvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNDViIn0uZmEtc2lja2xlOmJlZm9yZXtjb250ZW50OiJcZjgyMiJ9LmZhLXNpZ21hOmJlZm9yZXtjb250ZW50OiJcZjY4YiJ9LmZhLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmNGQ5In0uZmEtc2lnbi1pbjpiZWZvcmV7Y29udGVudDoiXGYwOTAifS5mYS1zaWduLWluLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZjYifS5mYS1zaWduLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjJhNyJ9LmZhLXNpZ24tb3V0OmJlZm9yZXtjb250ZW50OiJcZjA4YiJ9LmZhLXNpZ24tb3V0LWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZjUifS5mYS1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMDEyIn0uZmEtc2lnbmFsLTE6YmVmb3Jle2NvbnRlbnQ6IlxmNjhjIn0uZmEtc2lnbmFsLTI6YmVmb3Jle2NvbnRlbnQ6IlxmNjhkIn0uZmEtc2lnbmFsLTM6YmVmb3Jle2NvbnRlbnQ6IlxmNjhlIn0uZmEtc2lnbmFsLTQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjhmIn0uZmEtc2lnbmFsLWFsdDpiZWZvcmV7Y29udGVudDoiXGY2OTAifS5mYS1zaWduYWwtYWx0LTE6YmVmb3Jle2NvbnRlbnQ6IlxmNjkxIn0uZmEtc2lnbmFsLWFsdC0yOmJlZm9yZXtjb250ZW50OiJcZjY5MiJ9LmZhLXNpZ25hbC1hbHQtMzpiZWZvcmV7Y29udGVudDoiXGY2OTMifS5mYS1zaWduYWwtYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjY5NCJ9LmZhLXNpZ25hbC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY2OTUifS5mYS1zaWduYWwtc3RyZWFtOmJlZm9yZXtjb250ZW50OiJcZjhkZCJ9LmZhLXNpZ25hdHVyZTpiZWZvcmV7Y29udGVudDoiXGY1YjcifS5mYS1zaW0tY2FyZDpiZWZvcmV7Y29udGVudDoiXGY3YzQifS5mYS1zaW1wbHlidWlsdDpiZWZvcmV7Y29udGVudDoiXGYyMTUifS5mYS1zaW5rOmJlZm9yZXtjb250ZW50OiJcZTA2ZCJ9LmZhLXNpcmVuOmJlZm9yZXtjb250ZW50OiJcZTAyZCJ9LmZhLXNpcmVuLW9uOmJlZm9yZXtjb250ZW50OiJcZTAyZSJ9LmZhLXNpc3RyaXg6YmVmb3Jle2NvbnRlbnQ6IlxmM2VlIn0uZmEtc2l0ZW1hcDpiZWZvcmV7Y29udGVudDoiXGYwZTgifS5mYS1zaXRoOmJlZm9yZXtjb250ZW50OiJcZjUxMiJ9LmZhLXNrYXRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmN2M1In0uZmEtc2tlbGV0b246YmVmb3Jle2NvbnRlbnQ6IlxmNjIwIn0uZmEtc2tldGNoOmJlZm9yZXtjb250ZW50OiJcZjdjNiJ9LmZhLXNraS1qdW1wOmJlZm9yZXtjb250ZW50OiJcZjdjNyJ9LmZhLXNraS1saWZ0OmJlZm9yZXtjb250ZW50OiJcZjdjOCJ9LmZhLXNraWluZzpiZWZvcmV7Y29udGVudDoiXGY3YzkifS5mYS1za2lpbmctbm9yZGljOmJlZm9yZXtjb250ZW50OiJcZjdjYSJ9LmZhLXNrdWxsOmJlZm9yZXtjb250ZW50OiJcZjU0YyJ9LmZhLXNrdWxsLWNvdzpiZWZvcmV7Y29udGVudDoiXGY4ZGUifS5mYS1za3VsbC1jcm9zc2JvbmVzOmJlZm9yZXtjb250ZW50OiJcZjcxNCJ9LmZhLXNreWF0bGFzOmJlZm9yZXtjb250ZW50OiJcZjIxNiJ9LmZhLXNreXBlOmJlZm9yZXtjb250ZW50OiJcZjE3ZSJ9LmZhLXNsYWNrOmJlZm9yZXtjb250ZW50OiJcZjE5OCJ9LmZhLXNsYWNrLWhhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmM2VmIn0uZmEtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNzE1In0uZmEtc2xlZGRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmN2NiIn0uZmEtc2xlaWdoOmJlZm9yZXtjb250ZW50OiJcZjdjYyJ9LmZhLXNsaWRlcnMtaDpiZWZvcmV7Y29udGVudDoiXGYxZGUifS5mYS1zbGlkZXJzLWgtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjNmMCJ9LmZhLXNsaWRlcnMtdjpiZWZvcmV7Y29udGVudDoiXGYzZjEifS5mYS1zbGlkZXJzLXYtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjNmMiJ9LmZhLXNsaWRlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWU3In0uZmEtc21pbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTE4In0uZmEtc21pbGUtYmVhbTpiZWZvcmV7Y29udGVudDoiXGY1YjgifS5mYS1zbWlsZS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjViOSJ9LmZhLXNtaWxlLXdpbms6YmVmb3Jle2NvbnRlbnQ6IlxmNGRhIn0uZmEtc21vZzpiZWZvcmV7Y29udGVudDoiXGY3NWYifS5mYS1zbW9rZTpiZWZvcmV7Y29udGVudDoiXGY3NjAifS5mYS1zbW9raW5nOmJlZm9yZXtjb250ZW50OiJcZjQ4ZCJ9LmZhLXNtb2tpbmctYmFuOmJlZm9yZXtjb250ZW50OiJcZjU0ZCJ9LmZhLXNtczpiZWZvcmV7Y29udGVudDoiXGY3Y2QifS5mYS1zbmFrZTpiZWZvcmV7Y29udGVudDoiXGY3MTYifS5mYS1zbmFwY2hhdDpiZWZvcmV7Y29udGVudDoiXGYyYWIifS5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmV7Y29udGVudDoiXGYyYWMifS5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmFkIn0uZmEtc25vb3plOmJlZm9yZXtjb250ZW50OiJcZjg4MCJ9LmZhLXNub3ctYmxvd2luZzpiZWZvcmV7Y29udGVudDoiXGY3NjEifS5mYS1zbm93Ym9hcmRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmN2NlIn0uZmEtc25vd2ZsYWtlOmJlZm9yZXtjb250ZW50OiJcZjJkYyJ9LmZhLXNub3dmbGFrZXM6YmVmb3Jle2NvbnRlbnQ6IlxmN2NmIn0uZmEtc25vd21hbjpiZWZvcmV7Y29udGVudDoiXGY3ZDAifS5mYS1zbm93bW9iaWxlOmJlZm9yZXtjb250ZW50OiJcZjdkMSJ9LmZhLXNub3dwbG93OmJlZm9yZXtjb250ZW50OiJcZjdkMiJ9LmZhLXNvYXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDZlIn0uZmEtc29ja3M6YmVmb3Jle2NvbnRlbnQ6IlxmNjk2In0uZmEtc29sYXItcGFuZWw6YmVmb3Jle2NvbnRlbnQ6IlxmNWJhIn0uZmEtc29sYXItc3lzdGVtOmJlZm9yZXtjb250ZW50OiJcZTAyZiJ9LmZhLXNvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGRjIn0uZmEtc29ydC1hbHBoYS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE1ZCJ9LmZhLXNvcnQtYWxwaGEtZG93bi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODgxIn0uZmEtc29ydC1hbHBoYS11cDpiZWZvcmV7Y29udGVudDoiXGYxNWUifS5mYS1zb3J0LWFscGhhLXVwLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ODIifS5mYS1zb3J0LWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ODMifS5mYS1zb3J0LWFtb3VudC1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE2MCJ9LmZhLXNvcnQtYW1vdW50LWRvd24tYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4NCJ9LmZhLXNvcnQtYW1vdW50LXVwOmJlZm9yZXtjb250ZW50OiJcZjE2MSJ9LmZhLXNvcnQtYW1vdW50LXVwLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ODUifS5mYS1zb3J0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGUwMzAifS5mYS1zb3J0LWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZTAzMSJ9LmZhLXNvcnQtY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZTAzMiJ9LmZhLXNvcnQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwZGQifS5mYS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNjIifS5mYS1zb3J0LW51bWVyaWMtZG93bi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODg2In0uZmEtc29ydC1udW1lcmljLXVwOmJlZm9yZXtjb250ZW50OiJcZjE2MyJ9LmZhLXNvcnQtbnVtZXJpYy11cC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODg3In0uZmEtc29ydC1zaGFwZXMtZG93bjpiZWZvcmV7Y29udGVudDoiXGY4ODgifS5mYS1zb3J0LXNoYXBlcy1kb3duLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ODkifS5mYS1zb3J0LXNoYXBlcy11cDpiZWZvcmV7Y29udGVudDoiXGY4OGEifS5mYS1zb3J0LXNoYXBlcy11cC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODhiIn0uZmEtc29ydC1zaXplLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmODhjIn0uZmEtc29ydC1zaXplLWRvd24tYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4ZCJ9LmZhLXNvcnQtc2l6ZS11cDpiZWZvcmV7Y29udGVudDoiXGY4OGUifS5mYS1zb3J0LXNpemUtdXAtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4ZiJ9LmZhLXNvcnQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGRlIn0uZmEtc291bmRjbG91ZDpiZWZvcmV7Y29udGVudDoiXGYxYmUifS5mYS1zb3VwOmJlZm9yZXtjb250ZW50OiJcZjgyMyJ9LmZhLXNvdXJjZXRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmN2QzIn0uZmEtc3BhOmJlZm9yZXtjb250ZW50OiJcZjViYiJ9LmZhLXNwYWNlLXNodXR0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk3In0uZmEtc3BhY2Utc3RhdGlvbi1tb29uOmJlZm9yZXtjb250ZW50OiJcZTAzMyJ9LmZhLXNwYWNlLXN0YXRpb24tbW9vbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDM0In0uZmEtc3BhZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmY0In0uZmEtc3BhcmtsZXM6YmVmb3Jle2NvbnRlbnQ6IlxmODkwIn0uZmEtc3BlYWthcDpiZWZvcmV7Y29udGVudDoiXGYzZjMifS5mYS1zcGVha2VyOmJlZm9yZXtjb250ZW50OiJcZjhkZiJ9LmZhLXNwZWFrZXItZGVjazpiZWZvcmV7Y29udGVudDoiXGY4M2MifS5mYS1zcGVha2VyczpiZWZvcmV7Y29udGVudDoiXGY4ZTAifS5mYS1zcGVsbC1jaGVjazpiZWZvcmV7Y29udGVudDoiXGY4OTEifS5mYS1zcGlkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzE3In0uZmEtc3BpZGVyLWJsYWNrLXdpZG93OmJlZm9yZXtjb250ZW50OiJcZjcxOCJ9LmZhLXNwaWRlci13ZWI6YmVmb3Jle2NvbnRlbnQ6IlxmNzE5In0uZmEtc3Bpbm5lcjpiZWZvcmV7Y29udGVudDoiXGYxMTAifS5mYS1zcGlubmVyLXRoaXJkOmJlZm9yZXtjb250ZW50OiJcZjNmNCJ9LmZhLXNwbG90Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmNWJjIn0uZmEtc3BvdGlmeTpiZWZvcmV7Y29udGVudDoiXGYxYmMifS5mYS1zcHJheS1jYW46YmVmb3Jle2NvbnRlbnQ6IlxmNWJkIn0uZmEtc3ByaW5rbGVyOmJlZm9yZXtjb250ZW50OiJcZTAzNSJ9LmZhLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwYzgifS5mYS1zcXVhcmUtZnVsbDpiZWZvcmV7Y29udGVudDoiXGY0NWMifS5mYS1zcXVhcmUtcm9vdDpiZWZvcmV7Y29udGVudDoiXGY2OTcifS5mYS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjk4In0uZmEtc3F1YXJlc3BhY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNWJlIn0uZmEtc3F1aXJyZWw6YmVmb3Jle2NvbnRlbnQ6IlxmNzFhIn0uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMThkIn0uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTZjIn0uZmEtc3RhY2twYXRoOmJlZm9yZXtjb250ZW50OiJcZjg0MiJ9LmZhLXN0YWZmOmJlZm9yZXtjb250ZW50OiJcZjcxYiJ9LmZhLXN0YW1wOmJlZm9yZXtjb250ZW50OiJcZjViZiJ9LmZhLXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDA1In0uZmEtc3Rhci1hbmQtY3Jlc2NlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjk5In0uZmEtc3Rhci1jaHJpc3RtYXM6YmVmb3Jle2NvbnRlbnQ6IlxmN2Q0In0uZmEtc3Rhci1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGYyZjMifS5mYS1zdGFyLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMDg5In0uZmEtc3Rhci1oYWxmLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1YzAifS5mYS1zdGFyLW9mLWRhdmlkOmJlZm9yZXtjb250ZW50OiJcZjY5YSJ9LmZhLXN0YXItb2YtbGlmZTpiZWZvcmV7Y29udGVudDoiXGY2MjEifS5mYS1zdGFyLXNob290aW5nOmJlZm9yZXtjb250ZW50OiJcZTAzNiJ9LmZhLXN0YXJmaWdodGVyOmJlZm9yZXtjb250ZW50OiJcZTAzNyJ9LmZhLXN0YXJmaWdodGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGUwMzgifS5mYS1zdGFyczpiZWZvcmV7Y29udGVudDoiXGY3NjIifS5mYS1zdGFyc2hpcDpiZWZvcmV7Y29udGVudDoiXGUwMzkifS5mYS1zdGFyc2hpcC1mcmVpZ2h0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDNhIn0uZmEtc3RheWxpbmtlZDpiZWZvcmV7Y29udGVudDoiXGYzZjUifS5mYS1zdGVhazpiZWZvcmV7Y29udGVudDoiXGY4MjQifS5mYS1zdGVhbTpiZWZvcmV7Y29udGVudDoiXGYxYjYifS5mYS1zdGVhbS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWI3In0uZmEtc3RlYW0tc3ltYm9sOmJlZm9yZXtjb250ZW50OiJcZjNmNiJ9LmZhLXN0ZWVyaW5nLXdoZWVsOmJlZm9yZXtjb250ZW50OiJcZjYyMiJ9LmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ4In0uZmEtc3RlcC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA1MSJ9LmZhLXN0ZXRob3Njb3BlOmJlZm9yZXtjb250ZW50OiJcZjBmMSJ9LmZhLXN0aWNrZXItbXVsZTpiZWZvcmV7Y29udGVudDoiXGYzZjcifS5mYS1zdGlja3ktbm90ZTpiZWZvcmV7Y29udGVudDoiXGYyNDkifS5mYS1zdG9ja2luZzpiZWZvcmV7Y29udGVudDoiXGY3ZDUifS5mYS1zdG9tYWNoOmJlZm9yZXtjb250ZW50OiJcZjYyMyJ9LmZhLXN0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMDRkIn0uZmEtc3RvcC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjhkIn0uZmEtc3RvcHdhdGNoOmJlZm9yZXtjb250ZW50OiJcZjJmMiJ9LmZhLXN0b3B3YXRjaC0yMDpiZWZvcmV7Y29udGVudDoiXGUwNmYifS5mYS1zdG9yZTpiZWZvcmV7Y29udGVudDoiXGY1NGUifS5mYS1zdG9yZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTRmIn0uZmEtc3RvcmUtYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA3MCJ9LmZhLXN0b3JlLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA3MSJ9LmZhLXN0cmF2YTpiZWZvcmV7Y29udGVudDoiXGY0MjgifS5mYS1zdHJlYW06YmVmb3Jle2NvbnRlbnQ6IlxmNTUwIn0uZmEtc3RyZWV0LXZpZXc6YmVmb3Jle2NvbnRlbnQ6IlxmMjFkIn0uZmEtc3RyZXRjaGVyOmJlZm9yZXtjb250ZW50OiJcZjgyNSJ9LmZhLXN0cmlrZXRocm91Z2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGNjIn0uZmEtc3RyaXBlOmJlZm9yZXtjb250ZW50OiJcZjQyOSJ9LmZhLXN0cmlwZS1zOmJlZm9yZXtjb250ZW50OiJcZjQyYSJ9LmZhLXN0cm9vcHdhZmVsOmJlZm9yZXtjb250ZW50OiJcZjU1MSJ9LmZhLXN0dWRpb3ZpbmFyaTpiZWZvcmV7Y29udGVudDoiXGYzZjgifS5mYS1zdHVtYmxldXBvbjpiZWZvcmV7Y29udGVudDoiXGYxYTQifS5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEzIn0uZmEtc3Vic2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjEyYyJ9LmZhLXN1YndheTpiZWZvcmV7Y29udGVudDoiXGYyMzkifS5mYS1zdWl0Y2FzZTpiZWZvcmV7Y29udGVudDoiXGYwZjIifS5mYS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZXtjb250ZW50OiJcZjVjMSJ9LmZhLXN1bjpiZWZvcmV7Y29udGVudDoiXGYxODUifS5mYS1zdW4tY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzYzIn0uZmEtc3VuLWR1c3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNzY0In0uZmEtc3VuLWhhemU6YmVmb3Jle2NvbnRlbnQ6IlxmNzY1In0uZmEtc3VuZ2xhc3NlczpiZWZvcmV7Y29udGVudDoiXGY4OTIifS5mYS1zdW5yaXNlOmJlZm9yZXtjb250ZW50OiJcZjc2NiJ9LmZhLXN1bnNldDpiZWZvcmV7Y29udGVudDoiXGY3NjcifS5mYS1zdXBlcnBvd2VyczpiZWZvcmV7Y29udGVudDoiXGYyZGQifS5mYS1zdXBlcnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGYxMmIifS5mYS1zdXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y5In0uZmEtc3VycHJpc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNWMyIn0uZmEtc3VzZTpiZWZvcmV7Y29udGVudDoiXGY3ZDYifS5mYS1zd2F0Y2hib29rOmJlZm9yZXtjb250ZW50OiJcZjVjMyJ9LmZhLXN3aWZ0OmJlZm9yZXtjb250ZW50OiJcZjhlMSJ9LmZhLXN3aW1tZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWM0In0uZmEtc3dpbW1pbmctcG9vbDpiZWZvcmV7Y29udGVudDoiXGY1YzUifS5mYS1zd29yZDpiZWZvcmV7Y29udGVudDoiXGY3MWMifS5mYS1zd29yZC1sYXNlcjpiZWZvcmV7Y29udGVudDoiXGUwM2IifS5mYS1zd29yZC1sYXNlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDNjIn0uZmEtc3dvcmRzOmJlZm9yZXtjb250ZW50OiJcZjcxZCJ9LmZhLXN3b3Jkcy1sYXNlcjpiZWZvcmV7Y29udGVudDoiXGUwM2QifS5mYS1zeW1mb255OmJlZm9yZXtjb250ZW50OiJcZjgzZCJ9LmZhLXN5bmFnb2d1ZTpiZWZvcmV7Y29udGVudDoiXGY2OWIifS5mYS1zeW5jOmJlZm9yZXtjb250ZW50OiJcZjAyMSJ9LmZhLXN5bmMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjJmMSJ9LmZhLXN5cmluZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNDhlIn0uZmEtdGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNlIn0uZmEtdGFibGUtdGVubmlzOmJlZm9yZXtjb250ZW50OiJcZjQ1ZCJ9LmZhLXRhYmxldDpiZWZvcmV7Y29udGVudDoiXGYxMGEifS5mYS10YWJsZXQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNmYSJ9LmZhLXRhYmxldC1hbmRyb2lkOmJlZm9yZXtjb250ZW50OiJcZjNmYiJ9LmZhLXRhYmxldC1hbmRyb2lkLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZmMifS5mYS10YWJsZXQtcnVnZ2VkOmJlZm9yZXtjb250ZW50OiJcZjQ4ZiJ9LmZhLXRhYmxldHM6YmVmb3Jle2NvbnRlbnQ6IlxmNDkwIn0uZmEtdGFjaG9tZXRlcjpiZWZvcmV7Y29udGVudDoiXGYwZTQifS5mYS10YWNob21ldGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZmQifS5mYS10YWNob21ldGVyLWFsdC1hdmVyYWdlOmJlZm9yZXtjb250ZW50OiJcZjYyNCJ9LmZhLXRhY2hvbWV0ZXItYWx0LWZhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNjI1In0uZmEtdGFjaG9tZXRlci1hbHQtZmFzdGVzdDpiZWZvcmV7Y29udGVudDoiXGY2MjYifS5mYS10YWNob21ldGVyLWFsdC1zbG93OmJlZm9yZXtjb250ZW50OiJcZjYyNyJ9LmZhLXRhY2hvbWV0ZXItYWx0LXNsb3dlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNjI4In0uZmEtdGFjaG9tZXRlci1hdmVyYWdlOmJlZm9yZXtjb250ZW50OiJcZjYyOSJ9LmZhLXRhY2hvbWV0ZXItZmFzdDpiZWZvcmV7Y29udGVudDoiXGY2MmEifS5mYS10YWNob21ldGVyLWZhc3Rlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNjJiIn0uZmEtdGFjaG9tZXRlci1zbG93OmJlZm9yZXtjb250ZW50OiJcZjYyYyJ9LmZhLXRhY2hvbWV0ZXItc2xvd2VzdDpiZWZvcmV7Y29udGVudDoiXGY2MmQifS5mYS10YWNvOmJlZm9yZXtjb250ZW50OiJcZjgyNiJ9LmZhLXRhZzpiZWZvcmV7Y29udGVudDoiXGYwMmIifS5mYS10YWdzOmJlZm9yZXtjb250ZW50OiJcZjAyYyJ9LmZhLXRhbGx5OmJlZm9yZXtjb250ZW50OiJcZjY5YyJ9LmZhLXRhbmFraDpiZWZvcmV7Y29udGVudDoiXGY4MjcifS5mYS10YXBlOmJlZm9yZXtjb250ZW50OiJcZjRkYiJ9LmZhLXRhc2tzOmJlZm9yZXtjb250ZW50OiJcZjBhZSJ9LmZhLXRhc2tzLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4MjgifS5mYS10YXhpOmJlZm9yZXtjb250ZW50OiJcZjFiYSJ9LmZhLXRlYW1zcGVhazpiZWZvcmV7Y29udGVudDoiXGY0ZjkifS5mYS10ZWV0aDpiZWZvcmV7Y29udGVudDoiXGY2MmUifS5mYS10ZWV0aC1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjYyZiJ9LmZhLXRlbGVncmFtOmJlZm9yZXtjb250ZW50OiJcZjJjNiJ9LmZhLXRlbGVncmFtLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjNmZSJ9LmZhLXRlbGVzY29wZTpiZWZvcmV7Y29udGVudDoiXGUwM2UifS5mYS10ZW1wZXJhdHVyZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZTAzZiJ9LmZhLXRlbXBlcmF0dXJlLWZyaWdpZDpiZWZvcmV7Y29udGVudDoiXGY3NjgifS5mYS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZXtjb250ZW50OiJcZjc2OSJ9LmZhLXRlbXBlcmF0dXJlLWhvdDpiZWZvcmV7Y29udGVudDoiXGY3NmEifS5mYS10ZW1wZXJhdHVyZS1sb3c6YmVmb3Jle2NvbnRlbnQ6IlxmNzZiIn0uZmEtdGVtcGVyYXR1cmUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDQwIn0uZmEtdGVuY2VudC13ZWlibzpiZWZvcmV7Y29udGVudDoiXGYxZDUifS5mYS10ZW5nZTpiZWZvcmV7Y29udGVudDoiXGY3ZDcifS5mYS10ZW5uaXMtYmFsbDpiZWZvcmV7Y29udGVudDoiXGY0NWUifS5mYS10ZXJtaW5hbDpiZWZvcmV7Y29udGVudDoiXGYxMjAifS5mYS10ZXh0OmJlZm9yZXtjb250ZW50OiJcZjg5MyJ9LmZhLXRleHQtaGVpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjAzNCJ9LmZhLXRleHQtc2l6ZTpiZWZvcmV7Y29udGVudDoiXGY4OTQifS5mYS10ZXh0LXdpZHRoOmJlZm9yZXtjb250ZW50OiJcZjAzNSJ9LmZhLXRoOmJlZm9yZXtjb250ZW50OiJcZjAwYSJ9LmZhLXRoLWxhcmdlOmJlZm9yZXtjb250ZW50OiJcZjAwOSJ9LmZhLXRoLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDBiIn0uZmEtdGhlLXJlZC15ZXRpOmJlZm9yZXtjb250ZW50OiJcZjY5ZCJ9LmZhLXRoZWF0ZXItbWFza3M6YmVmb3Jle2NvbnRlbnQ6IlxmNjMwIn0uZmEtdGhlbWVjbzpiZWZvcmV7Y29udGVudDoiXGY1YzYifS5mYS10aGVtZWlzbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmIyIn0uZmEtdGhlcm1vbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDkxIn0uZmEtdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMmNiIn0uZmEtdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmV7Y29udGVudDoiXGYyYzcifS5mYS10aGVybW9tZXRlci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjJjOSJ9LmZhLXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmNhIn0uZmEtdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMmM4In0uZmEtdGhldGE6YmVmb3Jle2NvbnRlbnQ6IlxmNjllIn0uZmEtdGhpbmstcGVha3M6YmVmb3Jle2NvbnRlbnQ6IlxmNzMxIn0uZmEtdGh1bWJzLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTY1In0uZmEtdGh1bWJzLXVwOmJlZm9yZXtjb250ZW50OiJcZjE2NCJ9LmZhLXRodW1idGFjazpiZWZvcmV7Y29udGVudDoiXGYwOGQifS5mYS10aHVuZGVyc3Rvcm06YmVmb3Jle2NvbnRlbnQ6IlxmNzZjIn0uZmEtdGh1bmRlcnN0b3JtLW1vb246YmVmb3Jle2NvbnRlbnQ6IlxmNzZkIn0uZmEtdGh1bmRlcnN0b3JtLXN1bjpiZWZvcmV7Y29udGVudDoiXGY3NmUifS5mYS10aWNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ1In0uZmEtdGlja2V0LWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZmYifS5mYS10aWt0b2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDdiIn0uZmEtdGlsZGU6YmVmb3Jle2NvbnRlbnQ6IlxmNjlmIn0uZmEtdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDBkIn0uZmEtdGltZXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NyJ9LmZhLXRpbWVzLWhleGFnb246YmVmb3Jle2NvbnRlbnQ6IlxmMmVlIn0uZmEtdGltZXMtb2N0YWdvbjpiZWZvcmV7Y29udGVudDoiXGYyZjAifS5mYS10aW1lcy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmQzIn0uZmEtdGludDpiZWZvcmV7Y29udGVudDoiXGYwNDMifS5mYS10aW50LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjVjNyJ9LmZhLXRpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNjMxIn0uZmEtdGlyZS1mbGF0OmJlZm9yZXtjb250ZW50OiJcZjYzMiJ9LmZhLXRpcmUtcHJlc3N1cmUtd2FybmluZzpiZWZvcmV7Y29udGVudDoiXGY2MzMifS5mYS10aXJlLXJ1Z2dlZDpiZWZvcmV7Y29udGVudDoiXGY2MzQifS5mYS10aXJlZDpiZWZvcmV7Y29udGVudDoiXGY1YzgifS5mYS10b2dnbGUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjIwNCJ9LmZhLXRvZ2dsZS1vbjpiZWZvcmV7Y29udGVudDoiXGYyMDUifS5mYS10b2lsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2Q4In0uZmEtdG9pbGV0LXBhcGVyOmJlZm9yZXtjb250ZW50OiJcZjcxZSJ9LmZhLXRvaWxldC1wYXBlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzFmIn0uZmEtdG9pbGV0LXBhcGVyLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA3MiJ9LmZhLXRvbWJzdG9uZTpiZWZvcmV7Y29udGVudDoiXGY3MjAifS5mYS10b21ic3RvbmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjcyMSJ9LmZhLXRvb2xib3g6YmVmb3Jle2NvbnRlbnQ6IlxmNTUyIn0uZmEtdG9vbHM6YmVmb3Jle2NvbnRlbnQ6IlxmN2Q5In0uZmEtdG9vdGg6YmVmb3Jle2NvbnRlbnQ6IlxmNWM5In0uZmEtdG9vdGhicnVzaDpiZWZvcmV7Y29udGVudDoiXGY2MzUifS5mYS10b3JhaDpiZWZvcmV7Y29udGVudDoiXGY2YTAifS5mYS10b3JpaS1nYXRlOmJlZm9yZXtjb250ZW50OiJcZjZhMSJ9LmZhLXRvcm5hZG86YmVmb3Jle2NvbnRlbnQ6IlxmNzZmIn0uZmEtdHJhY3RvcjpiZWZvcmV7Y29udGVudDoiXGY3MjIifS5mYS10cmFkZS1mZWRlcmF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjUxMyJ9LmZhLXRyYWRlbWFyazpiZWZvcmV7Y29udGVudDoiXGYyNWMifS5mYS10cmFmZmljLWNvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNjM2In0uZmEtdHJhZmZpYy1saWdodDpiZWZvcmV7Y29udGVudDoiXGY2MzcifS5mYS10cmFmZmljLWxpZ2h0LWdvOmJlZm9yZXtjb250ZW50OiJcZjYzOCJ9LmZhLXRyYWZmaWMtbGlnaHQtc2xvdzpiZWZvcmV7Y29udGVudDoiXGY2MzkifS5mYS10cmFmZmljLWxpZ2h0LXN0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmNjNhIn0uZmEtdHJhaWxlcjpiZWZvcmV7Y29udGVudDoiXGUwNDEifS5mYS10cmFpbjpiZWZvcmV7Y29udGVudDoiXGYyMzgifS5mYS10cmFtOmJlZm9yZXtjb250ZW50OiJcZjdkYSJ9LmZhLXRyYW5zZ2VuZGVyOmJlZm9yZXtjb250ZW50OiJcZjIyNCJ9LmZhLXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyMjUifS5mYS10cmFuc3BvcnRlcjpiZWZvcmV7Y29udGVudDoiXGUwNDIifS5mYS10cmFuc3BvcnRlci0xOmJlZm9yZXtjb250ZW50OiJcZTA0MyJ9LmZhLXRyYW5zcG9ydGVyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ0In0uZmEtdHJhbnNwb3J0ZXItMzpiZWZvcmV7Y29udGVudDoiXGUwNDUifS5mYS10cmFuc3BvcnRlci1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGUwNDYifS5mYS10cmFzaDpiZWZvcmV7Y29udGVudDoiXGYxZjgifS5mYS10cmFzaC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmVkIn0uZmEtdHJhc2gtcmVzdG9yZTpiZWZvcmV7Y29udGVudDoiXGY4MjkifS5mYS10cmFzaC1yZXN0b3JlLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4MmEifS5mYS10cmFzaC11bmRvOmJlZm9yZXtjb250ZW50OiJcZjg5NSJ9LmZhLXRyYXNoLXVuZG8tYWx0OmJlZm9yZXtjb250ZW50OiJcZjg5NiJ9LmZhLXRyZWFzdXJlLWNoZXN0OmJlZm9yZXtjb250ZW50OiJcZjcyMyJ9LmZhLXRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMWJiIn0uZmEtdHJlZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDAwIn0uZmEtdHJlZS1jaHJpc3RtYXM6YmVmb3Jle2NvbnRlbnQ6IlxmN2RiIn0uZmEtdHJlZS1kZWNvcmF0ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2RjIn0uZmEtdHJlZS1sYXJnZTpiZWZvcmV7Y29udGVudDoiXGY3ZGQifS5mYS10cmVlLXBhbG06YmVmb3Jle2NvbnRlbnQ6IlxmODJiIn0uZmEtdHJlZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNzI0In0uZmEtdHJlbGxvOmJlZm9yZXtjb250ZW50OiJcZjE4MSJ9LmZhLXRyaWFuZ2xlOmJlZm9yZXtjb250ZW50OiJcZjJlYyJ9LmZhLXRyaWFuZ2xlLW11c2ljOmJlZm9yZXtjb250ZW50OiJcZjhlMiJ9LmZhLXRyb3BoeTpiZWZvcmV7Y29udGVudDoiXGYwOTEifS5mYS10cm9waHktYWx0OmJlZm9yZXtjb250ZW50OiJcZjJlYiJ9LmZhLXRydWNrOmJlZm9yZXtjb250ZW50OiJcZjBkMSJ9LmZhLXRydWNrLWNvbnRhaW5lcjpiZWZvcmV7Y29udGVudDoiXGY0ZGMifS5mYS10cnVjay1jb3VjaDpiZWZvcmV7Y29udGVudDoiXGY0ZGQifS5mYS10cnVjay1sb2FkaW5nOmJlZm9yZXtjb250ZW50OiJcZjRkZSJ9LmZhLXRydWNrLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjNiIn0uZmEtdHJ1Y2stbW92aW5nOmJlZm9yZXtjb250ZW50OiJcZjRkZiJ9LmZhLXRydWNrLXBpY2t1cDpiZWZvcmV7Y29udGVudDoiXGY2M2MifS5mYS10cnVjay1wbG93OmJlZm9yZXtjb250ZW50OiJcZjdkZSJ9LmZhLXRydWNrLXJhbXA6YmVmb3Jle2NvbnRlbnQ6IlxmNGUwIn0uZmEtdHJ1bXBldDpiZWZvcmV7Y29udGVudDoiXGY4ZTMifS5mYS10c2hpcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTUzIn0uZmEtdHR5OmJlZm9yZXtjb250ZW50OiJcZjFlNCJ9LmZhLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGYxNzMifS5mYS10dW1ibHItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3NCJ9LmZhLXR1cmtleTpiZWZvcmV7Y29udGVudDoiXGY3MjUifS5mYS10dXJudGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxmOGU0In0uZmEtdHVydGxlOmJlZm9yZXtjb250ZW50OiJcZjcyNiJ9LmZhLXR2OmJlZm9yZXtjb250ZW50OiJcZjI2YyJ9LmZhLXR2LWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ZTUifS5mYS10di1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGY4ZTYifS5mYS10di1yZXRybzpiZWZvcmV7Y29udGVudDoiXGY0MDEifS5mYS10d2l0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWU4In0uZmEtdHdpdHRlcjpiZWZvcmV7Y29udGVudDoiXGYwOTkifS5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwODEifS5mYS10eXBld3JpdGVyOmJlZm9yZXtjb250ZW50OiJcZjhlNyJ9LmZhLXR5cG8zOmJlZm9yZXtjb250ZW50OiJcZjQyYiJ9LmZhLXViZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDAyIn0uZmEtdWJ1bnR1OmJlZm9yZXtjb250ZW50OiJcZjdkZiJ9LmZhLXVmbzpiZWZvcmV7Y29udGVudDoiXGUwNDcifS5mYS11Zm8tYmVhbTpiZWZvcmV7Y29udGVudDoiXGUwNDgifS5mYS11aWtpdDpiZWZvcmV7Y29udGVudDoiXGY0MDMifS5mYS11bWJyYWNvOmJlZm9yZXtjb250ZW50OiJcZjhlOCJ9LmZhLXVtYnJlbGxhOmJlZm9yZXtjb250ZW50OiJcZjBlOSJ9LmZhLXVtYnJlbGxhLWJlYWNoOmJlZm9yZXtjb250ZW50OiJcZjVjYSJ9LmZhLXVuY2hhcnRlZDpiZWZvcmV7Y29udGVudDoiXGUwODQifS5mYS11bmRlcmxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNkIn0uZmEtdW5kbzpiZWZvcmV7Y29udGVudDoiXGYwZTIifS5mYS11bmRvLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZWEifS5mYS11bmljb3JuOmJlZm9yZXtjb250ZW50OiJcZjcyNyJ9LmZhLXVuaW9uOmJlZm9yZXtjb250ZW50OiJcZjZhMiJ9LmZhLXVuaXJlZ2lzdHJ5OmJlZm9yZXtjb250ZW50OiJcZjQwNCJ9LmZhLXVuaXR5OmJlZm9yZXtjb250ZW50OiJcZTA0OSJ9LmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjlhIn0uZmEtdW5pdmVyc2l0eTpiZWZvcmV7Y29udGVudDoiXGYxOWMifS5mYS11bmxpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMTI3In0uZmEtdW5sb2NrOmJlZm9yZXtjb250ZW50OiJcZjA5YyJ9LmZhLXVubG9jay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTNlIn0uZmEtdW5zcGxhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDdjIn0uZmEtdW50YXBwZDpiZWZvcmV7Y29udGVudDoiXGY0MDUifS5mYS11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDkzIn0uZmEtdXBzOmJlZm9yZXtjb250ZW50OiJcZjdlMCJ9LmZhLXVzYjpiZWZvcmV7Y29udGVudDoiXGYyODcifS5mYS11c2ItZHJpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmOGU5In0uZmEtdXNkLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyZTgifS5mYS11c2Qtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjJlOSJ9LmZhLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDA3In0uZmEtdXNlci1hbGllbjpiZWZvcmV7Y29udGVudDoiXGUwNGEifS5mYS11c2VyLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0MDYifS5mYS11c2VyLWFsdC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY0ZmEifS5mYS11c2VyLWFzdHJvbmF1dDpiZWZvcmV7Y29udGVudDoiXGY0ZmIifS5mYS11c2VyLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZjZhMyJ9LmZhLXVzZXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNGZjIn0uZmEtdXNlci1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmJkIn0uZmEtdXNlci1jbG9jazpiZWZvcmV7Y29udGVudDoiXGY0ZmQifS5mYS11c2VyLWNvZzpiZWZvcmV7Y29udGVudDoiXGY0ZmUifS5mYS11c2VyLWNvd2JveTpiZWZvcmV7Y29udGVudDoiXGY4ZWEifS5mYS11c2VyLWNyb3duOmJlZm9yZXtjb250ZW50OiJcZjZhNCJ9LmZhLXVzZXItZWRpdDpiZWZvcmV7Y29udGVudDoiXGY0ZmYifS5mYS11c2VyLWZyaWVuZHM6YmVmb3Jle2NvbnRlbnQ6IlxmNTAwIn0uZmEtdXNlci1ncmFkdWF0ZTpiZWZvcmV7Y29udGVudDoiXGY1MDEifS5mYS11c2VyLWhhcmQtaGF0OmJlZm9yZXtjb250ZW50OiJcZjgyYyJ9LmZhLXVzZXItaGVhZHNldDpiZWZvcmV7Y29udGVudDoiXGY4MmQifS5mYS11c2VyLWluanVyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzI4In0uZmEtdXNlci1sb2NrOmJlZm9yZXtjb250ZW50OiJcZjUwMiJ9LmZhLXVzZXItbWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGYwIn0uZmEtdXNlci1tZC1jaGF0OmJlZm9yZXtjb250ZW50OiJcZjgyZSJ9LmZhLXVzZXItbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmNTAzIn0uZmEtdXNlci1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGY4ZWIifS5mYS11c2VyLW5pbmphOmJlZm9yZXtjb250ZW50OiJcZjUwNCJ9LmZhLXVzZXItbnVyc2U6YmVmb3Jle2NvbnRlbnQ6IlxmODJmIn0uZmEtdXNlci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIzNCJ9LmZhLXVzZXItcm9ib3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDRiIn0uZmEtdXNlci1zZWNyZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFiIn0uZmEtdXNlci1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTA1In0uZmEtdXNlci1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY1MDYifS5mYS11c2VyLXRhZzpiZWZvcmV7Y29udGVudDoiXGY1MDcifS5mYS11c2VyLXRpZTpiZWZvcmV7Y29udGVudDoiXGY1MDgifS5mYS11c2VyLXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjIzNSJ9LmZhLXVzZXItdW5sb2NrOmJlZm9yZXtjb250ZW50OiJcZTA1OCJ9LmZhLXVzZXItdmlzb3I6YmVmb3Jle2NvbnRlbnQ6IlxlMDRjIn0uZmEtdXNlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGMwIn0uZmEtdXNlcnMtY2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNjNkIn0uZmEtdXNlcnMtY29nOmJlZm9yZXtjb250ZW50OiJcZjUwOSJ9LmZhLXVzZXJzLWNyb3duOmJlZm9yZXtjb250ZW50OiJcZjZhNSJ9LmZhLXVzZXJzLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmODMwIn0uZmEtdXNlcnMtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDczIn0uZmEtdXNwczpiZWZvcmV7Y29udGVudDoiXGY3ZTEifS5mYS11c3N1bm5haDpiZWZvcmV7Y29udGVudDoiXGY0MDcifS5mYS11dGVuc2lsLWZvcms6YmVmb3Jle2NvbnRlbnQ6IlxmMmUzIn0uZmEtdXRlbnNpbC1rbmlmZTpiZWZvcmV7Y29udGVudDoiXGYyZTQifS5mYS11dGVuc2lsLXNwb29uOmJlZm9yZXtjb250ZW50OiJcZjJlNSJ9LmZhLXV0ZW5zaWxzOmJlZm9yZXtjb250ZW50OiJcZjJlNyJ9LmZhLXV0ZW5zaWxzLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZTYifS5mYS12YWFkaW46YmVmb3Jle2NvbnRlbnQ6IlxmNDA4In0uZmEtdmFjdXVtOmJlZm9yZXtjb250ZW50OiJcZTA0ZCJ9LmZhLXZhY3V1bS1yb2JvdDpiZWZvcmV7Y29udGVudDoiXGUwNGUifS5mYS12YWx1ZS1hYnNvbHV0ZTpiZWZvcmV7Y29udGVudDoiXGY2YTYifS5mYS12ZWN0b3Itc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjVjYiJ9LmZhLXZlbnVzOmJlZm9yZXtjb250ZW50OiJcZjIyMSJ9LmZhLXZlbnVzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjYifS5mYS12ZW51cy1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyOCJ9LmZhLXZlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDg1In0uZmEtdmVzdC1wYXRjaGVzOmJlZm9yZXtjb250ZW50OiJcZTA4NiJ9LmZhLXZoczpiZWZvcmV7Y29udGVudDoiXGY4ZWMifS5mYS12aWFjb2luOmJlZm9yZXtjb250ZW50OiJcZjIzNyJ9LmZhLXZpYWRlbzpiZWZvcmV7Y29udGVudDoiXGYyYTkifS5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjJhYSJ9LmZhLXZpYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDkyIn0uZmEtdmlhbHM6YmVmb3Jle2NvbnRlbnQ6IlxmNDkzIn0uZmEtdmliZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDA5In0uZmEtdmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxmMDNkIn0uZmEtdmlkZW8tcGx1czpiZWZvcmV7Y29udGVudDoiXGY0ZTEifS5mYS12aWRlby1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY0ZTIifS5mYS12aWhhcmE6YmVmb3Jle2NvbnRlbnQ6IlxmNmE3In0uZmEtdmltZW86YmVmb3Jle2NvbnRlbnQ6IlxmNDBhIn0uZmEtdmltZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE5NCJ9LmZhLXZpbWVvLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMjdkIn0uZmEtdmluZTpiZWZvcmV7Y29udGVudDoiXGYxY2EifS5mYS12aW9saW46YmVmb3Jle2NvbnRlbnQ6IlxmOGVkIn0uZmEtdmlydXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDc0In0uZmEtdmlydXMtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDc1In0uZmEtdmlydXNlczpiZWZvcmV7Y29udGVudDoiXGUwNzYifS5mYS12azpiZWZvcmV7Y29udGVudDoiXGYxODkifS5mYS12bnY6YmVmb3Jle2NvbnRlbnQ6IlxmNDBiIn0uZmEtdm9pY2VtYWlsOmJlZm9yZXtjb250ZW50OiJcZjg5NyJ9LmZhLXZvbGNhbm86YmVmb3Jle2NvbnRlbnQ6IlxmNzcwIn0uZmEtdm9sbGV5YmFsbC1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjQ1ZiJ9LmZhLXZvbHVtZTpiZWZvcmV7Y29udGVudDoiXGY2YTgifS5mYS12b2x1bWUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMjcifS5mYS12b2x1bWUtbXV0ZTpiZWZvcmV7Y29udGVudDoiXGY2YTkifS5mYS12b2x1bWUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjAyNiJ9LmZhLXZvbHVtZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYyZTIifS5mYS12b2x1bWUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDI4In0uZmEtdm90ZS1uYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNzcxIn0uZmEtdm90ZS15ZWE6YmVmb3Jle2NvbnRlbnQ6IlxmNzcyIn0uZmEtdnItY2FyZGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjcyOSJ9LmZhLXZ1ZWpzOmJlZm9yZXtjb250ZW50OiJcZjQxZiJ9LmZhLXdhZ29uLWNvdmVyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmOGVlIn0uZmEtd2Fsa2VyOmJlZm9yZXtjb250ZW50OiJcZjgzMSJ9LmZhLXdhbGtpZS10YWxraWU6YmVmb3Jle2NvbnRlbnQ6IlxmOGVmIn0uZmEtd2Fsa2luZzpiZWZvcmV7Y29udGVudDoiXGY1NTQifS5mYS13YWxsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTU1In0uZmEtd2FuZDpiZWZvcmV7Y29udGVudDoiXGY3MmEifS5mYS13YW5kLW1hZ2ljOmJlZm9yZXtjb250ZW50OiJcZjcyYiJ9LmZhLXdhcmVob3VzZTpiZWZvcmV7Y29udGVudDoiXGY0OTQifS5mYS13YXJlaG91c2UtYWx0OmJlZm9yZXtjb250ZW50OiJcZjQ5NSJ9LmZhLXdhc2hlcjpiZWZvcmV7Y29udGVudDoiXGY4OTgifS5mYS13YXRjaDpiZWZvcmV7Y29udGVudDoiXGYyZTEifS5mYS13YXRjaC1jYWxjdWxhdG9yOmJlZm9yZXtjb250ZW50OiJcZjhmMCJ9LmZhLXdhdGNoLWZpdG5lc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNjNlIn0uZmEtd2F0Y2htYW4tbW9uaXRvcmluZzpiZWZvcmV7Y29udGVudDoiXGUwODcifS5mYS13YXRlcjpiZWZvcmV7Y29udGVudDoiXGY3NzMifS5mYS13YXRlci1sb3dlcjpiZWZvcmV7Y29udGVudDoiXGY3NzQifS5mYS13YXRlci1yaXNlOmJlZm9yZXtjb250ZW50OiJcZjc3NSJ9LmZhLXdhdmUtc2luZTpiZWZvcmV7Y29udGVudDoiXGY4OTkifS5mYS13YXZlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGY4M2UifS5mYS13YXZlLXRyaWFuZ2xlOmJlZm9yZXtjb250ZW50OiJcZjg5YSJ9LmZhLXdhdmVmb3JtOmJlZm9yZXtjb250ZW50OiJcZjhmMSJ9LmZhLXdhdmVmb3JtLXBhdGg6YmVmb3Jle2NvbnRlbnQ6IlxmOGYyIn0uZmEtd2F6ZTpiZWZvcmV7Y29udGVudDoiXGY4M2YifS5mYS13ZWJjYW06YmVmb3Jle2NvbnRlbnQ6IlxmODMyIn0uZmEtd2ViY2FtLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjgzMyJ9LmZhLXdlZWJseTpiZWZvcmV7Y29udGVudDoiXGY1Y2MifS5mYS13ZWlibzpiZWZvcmV7Y29udGVudDoiXGYxOGEifS5mYS13ZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDk2In0uZmEtd2VpZ2h0LWhhbmdpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNWNkIn0uZmEtd2VpeGluOmJlZm9yZXtjb250ZW50OiJcZjFkNyJ9LmZhLXdoYWxlOmJlZm9yZXtjb250ZW50OiJcZjcyYyJ9LmZhLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OiJcZjIzMiJ9LmZhLXdoYXRzYXBwLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGY0MGMifS5mYS13aGVhdDpiZWZvcmV7Y29udGVudDoiXGY3MmQifS5mYS13aGVlbGNoYWlyOmJlZm9yZXtjb250ZW50OiJcZjE5MyJ9LmZhLXdoaXN0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDYwIn0uZmEtd2htY3M6YmVmb3Jle2NvbnRlbnQ6IlxmNDBkIn0uZmEtd2lmaTpiZWZvcmV7Y29udGVudDoiXGYxZWIifS5mYS13aWZpLTE6YmVmb3Jle2NvbnRlbnQ6IlxmNmFhIn0uZmEtd2lmaS0yOmJlZm9yZXtjb250ZW50OiJcZjZhYiJ9LmZhLXdpZmktc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNmFjIn0uZmEtd2lraXBlZGlhLXc6YmVmb3Jle2NvbnRlbnQ6IlxmMjY2In0uZmEtd2luZDpiZWZvcmV7Y29udGVudDoiXGY3MmUifS5mYS13aW5kLXR1cmJpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmODliIn0uZmEtd2luZC13YXJuaW5nOmJlZm9yZXtjb250ZW50OiJcZjc3NiJ9LmZhLXdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGY0MGUifS5mYS13aW5kb3ctYWx0OmJlZm9yZXtjb250ZW50OiJcZjQwZiJ9LmZhLXdpbmRvdy1jbG9zZTpiZWZvcmV7Y29udGVudDoiXGY0MTAifS5mYS13aW5kb3ctZnJhbWU6YmVmb3Jle2NvbnRlbnQ6IlxlMDRmIn0uZmEtd2luZG93LWZyYW1lLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlMDUwIn0uZmEtd2luZG93LW1heGltaXplOmJlZm9yZXtjb250ZW50OiJcZjJkMCJ9LmZhLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmV7Y29udGVudDoiXGYyZDEifS5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmV7Y29udGVudDoiXGYyZDIifS5mYS13aW5kb3dzOmJlZm9yZXtjb250ZW50OiJcZjE3YSJ9LmZhLXdpbmRzb2NrOmJlZm9yZXtjb250ZW50OiJcZjc3NyJ9LmZhLXdpbmUtYm90dGxlOmJlZm9yZXtjb250ZW50OiJcZjcyZiJ9LmZhLXdpbmUtZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNGUzIn0uZmEtd2luZS1nbGFzcy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWNlIn0uZmEtd2l4OmJlZm9yZXtjb250ZW50OiJcZjVjZiJ9LmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZXtjb250ZW50OiJcZjczMCJ9LmZhLXdvZHU6YmVmb3Jle2NvbnRlbnQ6IlxlMDg4In0uZmEtd29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmV7Y29udGVudDoiXGY1MTQifS5mYS13b24tc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTkifS5mYS13b3JkcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTlhIn0uZmEtd29yZHByZXNzLXNpbXBsZTpiZWZvcmV7Y29udGVudDoiXGY0MTEifS5mYS13cGJlZ2lubmVyOmJlZm9yZXtjb250ZW50OiJcZjI5NyJ9LmZhLXdwZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmRlIn0uZmEtd3Bmb3JtczpiZWZvcmV7Y29udGVudDoiXGYyOTgifS5mYS13cHJlc3NyOmJlZm9yZXtjb250ZW50OiJcZjNlNCJ9LmZhLXdyZWF0aDpiZWZvcmV7Y29udGVudDoiXGY3ZTIifS5mYS13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGFkIn0uZmEteC1yYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDk3In0uZmEteGJveDpiZWZvcmV7Y29udGVudDoiXGY0MTIifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OiJcZjE2OCJ9LmZhLXhpbmctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE2OSJ9LmZhLXktY29tYmluYXRvcjpiZWZvcmV7Y29udGVudDoiXGYyM2IifS5mYS15YWhvbzpiZWZvcmV7Y29udGVudDoiXGYxOWUifS5mYS15YW1tZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODQwIn0uZmEteWFuZGV4OmJlZm9yZXtjb250ZW50OiJcZjQxMyJ9LmZhLXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZXtjb250ZW50OiJcZjQxNCJ9LmZhLXlhcm46YmVmb3Jle2NvbnRlbnQ6IlxmN2UzIn0uZmEteWVscDpiZWZvcmV7Y29udGVudDoiXGYxZTkifS5mYS15ZW4tc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTcifS5mYS15aW4teWFuZzpiZWZvcmV7Y29udGVudDoiXGY2YWQifS5mYS15b2FzdDpiZWZvcmV7Y29udGVudDoiXGYyYjEifS5mYS15b3V0dWJlOmJlZm9yZXtjb250ZW50OiJcZjE2NyJ9LmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjQzMSJ9LmZhLXpoaWh1OmJlZm9yZXtjb250ZW50OiJcZjYzZiJ9LnNyLW9ubHl7Ym9yZGVyOjA7Y2xpcDpyZWN0KDAsMCwwLDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHh9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7Y2xpcDphdXRvO2hlaWdodDphdXRvO21hcmdpbjowO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG99QGZvbnQtZmFjZXtmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDUgQnJhbmRzIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5lb3QpO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMGQ0MWQuZW90PyNpZWZpeCkgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLHVybCguLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLndvZmYyKSBmb3JtYXQoIndvZmYyIiksdXJsKC4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZikgZm9ybWF0KCJ3b2ZmIiksdXJsKC4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAudHRmKSBmb3JtYXQoInRydWV0eXBlIiksdXJsKC4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAuc3ZnI2ZvbnRhd2Vzb21lKSBmb3JtYXQoInN2ZyIpfS5mYWJ7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA1IEJyYW5kcyI7Zm9udC13ZWlnaHQ6NDAwfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA1IER1b3RvbmUiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjkwMDtmb250LWRpc3BsYXk6YmxvY2s7c3JjOnVybCguLi93ZWJmb250cy9mYS1kdW90b25lLTkwMC5lb3QpO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtZHVvdG9uZS05MDBkNDFkLmVvdD8jaWVmaXgpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSx1cmwoLi4vd2ViZm9udHMvZmEtZHVvdG9uZS05MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoLi4vd2ViZm9udHMvZmEtZHVvdG9uZS05MDAud29mZikgZm9ybWF0KCJ3b2ZmIiksdXJsKC4uL3dlYmZvbnRzL2ZhLWR1b3RvbmUtOTAwLnR0ZikgZm9ybWF0KCJ0cnVldHlwZSIpLHVybCguLi93ZWJmb250cy9mYS1kdW90b25lLTkwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdCgic3ZnIil9LmZhZHtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDUgRHVvdG9uZSI7Zm9udC13ZWlnaHQ6OTAwfS5mYWQ6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOnZhcigtLWZhLXByaW1hcnktY29sb3IsaW5oZXJpdCk7b3BhY2l0eToxO29wYWNpdHk6dmFyKC0tZmEtcHJpbWFyeS1vcGFjaXR5LDEpfS5mYWQ6YWZ0ZXJ7Y29sb3I6dmFyKC0tZmEtc2Vjb25kYXJ5LWNvbG9yLGluaGVyaXQpfS5mYS1zd2FwLW9wYWNpdHkgLmZhZDpiZWZvcmUsLmZhZC5mYS1zd2FwLW9wYWNpdHk6YmVmb3JlLC5mYWQ6YWZ0ZXJ7b3BhY2l0eTouNDtvcGFjaXR5OnZhcigtLWZhLXNlY29uZGFyeS1vcGFjaXR5LC40KX0uZmEtc3dhcC1vcGFjaXR5IC5mYWQ6YWZ0ZXIsLmZhZC5mYS1zd2FwLW9wYWNpdHk6YWZ0ZXJ7b3BhY2l0eToxO29wYWNpdHk6dmFyKC0tZmEtcHJpbWFyeS1vcGFjaXR5LDEpfS5mYWQuZmEtaW52ZXJzZXtjb2xvcjojZmZmfS5mYWQuZmEtc3RhY2stMXgsLmZhZC5mYS1zdGFjay0yeHtwb3NpdGlvbjphYnNvbHV0ZX0uZmFkLmZhLWZ3OmJlZm9yZSwuZmFkLmZhLXN0YWNrLTF4OmJlZm9yZSwuZmFkLmZhLXN0YWNrLTJ4OmJlZm9yZXtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfS5mYWQuZmEtYWJhY3VzOmFmdGVye2NvbnRlbnQ6IlwxMGY2NDAifS5mYWQuZmEtYWNvcm46YWZ0ZXJ7Y29udGVudDoiXDEwZjZhZSJ9LmZhZC5mYS1hZDphZnRlcntjb250ZW50OiJcMTBmNjQxIn0uZmFkLmZhLWFkZHJlc3MtYm9vazphZnRlcntjb250ZW50OiJcMTBmMmI5In0uZmFkLmZhLWFkZHJlc3MtY2FyZDphZnRlcntjb250ZW50OiJcMTBmMmJiIn0uZmFkLmZhLWFkanVzdDphZnRlcntjb250ZW50OiJcMTBmMDQyIn0uZmFkLmZhLWFpci1jb25kaXRpb25lcjphZnRlcntjb250ZW50OiJcMTBmOGY0In0uZmFkLmZhLWFpci1mcmVzaGVuZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjVkMCJ9LmZhZC5mYS1hbGFybS1jbG9jazphZnRlcntjb250ZW50OiJcMTBmMzRlIn0uZmFkLmZhLWFsYXJtLWV4Y2xhbWF0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGY4NDMifS5mYWQuZmEtYWxhcm0tcGx1czphZnRlcntjb250ZW50OiJcMTBmODQ0In0uZmFkLmZhLWFsYXJtLXNub296ZTphZnRlcntjb250ZW50OiJcMTBmODQ1In0uZmFkLmZhLWFsYnVtOmFmdGVye2NvbnRlbnQ6IlwxMGY4OWYifS5mYWQuZmEtYWxidW0tY29sbGVjdGlvbjphZnRlcntjb250ZW50OiJcMTBmOGEwIn0uZmFkLmZhLWFsaWNvcm46YWZ0ZXJ7Y29udGVudDoiXDEwZjZiMCJ9LmZhZC5mYS1hbGllbjphZnRlcntjb250ZW50OiJcMTBmOGY1In0uZmFkLmZhLWFsaWVuLW1vbnN0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjhmNiJ9LmZhZC5mYS1hbGlnbi1jZW50ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjAzNyJ9LmZhZC5mYS1hbGlnbi1qdXN0aWZ5OmFmdGVye2NvbnRlbnQ6IlwxMGYwMzkifS5mYWQuZmEtYWxpZ24tbGVmdDphZnRlcntjb250ZW50OiJcMTBmMDM2In0uZmFkLmZhLWFsaWduLXJpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGYwMzgifS5mYWQuZmEtYWxpZ24tc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjg0NiJ9LmZhZC5mYS1hbGxlcmdpZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ2MSJ9LmZhZC5mYS1hbWJ1bGFuY2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjBmOSJ9LmZhZC5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzphZnRlcntjb250ZW50OiJcMTBmMmEzIn0uZmFkLmZhLWFtcC1ndWl0YXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjhhMSJ9LmZhZC5mYS1hbmFseXRpY3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjY0MyJ9LmZhZC5mYS1hbmNob3I6YWZ0ZXJ7Y29udGVudDoiXDEwZjEzZCJ9LmZhZC5mYS1hbmdlbDphZnRlcntjb250ZW50OiJcMTBmNzc5In0uZmFkLmZhLWFuZ2xlLWRvdWJsZS1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYxMDMifS5mYWQuZmEtYW5nbGUtZG91YmxlLWxlZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjEwMCJ9LmZhZC5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjEwMSJ9LmZhZC5mYS1hbmdsZS1kb3VibGUtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjEwMiJ9LmZhZC5mYS1hbmdsZS1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYxMDcifS5mYWQuZmEtYW5nbGUtbGVmdDphZnRlcntjb250ZW50OiJcMTBmMTA0In0uZmFkLmZhLWFuZ2xlLXJpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGYxMDUifS5mYWQuZmEtYW5nbGUtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjEwNiJ9LmZhZC5mYS1hbmdyeTphZnRlcntjb250ZW50OiJcMTBmNTU2In0uZmFkLmZhLWFua2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjY0NCJ9LmZhZC5mYS1hcHBsZS1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjVkMSJ9LmZhZC5mYS1hcHBsZS1jcmF0ZTphZnRlcntjb250ZW50OiJcMTBmNmIxIn0uZmFkLmZhLWFyY2hpdmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjE4NyJ9LmZhZC5mYS1hcmNod2F5OmFmdGVye2NvbnRlbnQ6IlwxMGY1NTcifS5mYWQuZmEtYXJyb3ctYWx0LWNpcmNsZS1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYzNTgifS5mYWQuZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmFmdGVye2NvbnRlbnQ6IlwxMGYzNTkifS5mYWQuZmEtYXJyb3ctYWx0LWNpcmNsZS1yaWdodDphZnRlcntjb250ZW50OiJcMTBmMzVhIn0uZmFkLmZhLWFycm93LWFsdC1jaXJjbGUtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjM1YiJ9LmZhZC5mYS1hcnJvdy1hbHQtZG93bjphZnRlcntjb250ZW50OiJcMTBmMzU0In0uZmFkLmZhLWFycm93LWFsdC1mcm9tLWJvdHRvbTphZnRlcntjb250ZW50OiJcMTBmMzQ2In0uZmFkLmZhLWFycm93LWFsdC1mcm9tLWxlZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM0NyJ9LmZhZC5mYS1hcnJvdy1hbHQtZnJvbS1yaWdodDphZnRlcntjb250ZW50OiJcMTBmMzQ4In0uZmFkLmZhLWFycm93LWFsdC1mcm9tLXRvcDphZnRlcntjb250ZW50OiJcMTBmMzQ5In0uZmFkLmZhLWFycm93LWFsdC1sZWZ0OmFmdGVye2NvbnRlbnQ6IlwxMGYzNTUifS5mYWQuZmEtYXJyb3ctYWx0LXJpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGYzNTYifS5mYWQuZmEtYXJyb3ctYWx0LXNxdWFyZS1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYzNTAifS5mYWQuZmEtYXJyb3ctYWx0LXNxdWFyZS1sZWZ0OmFmdGVye2NvbnRlbnQ6IlwxMGYzNTEifS5mYWQuZmEtYXJyb3ctYWx0LXNxdWFyZS1yaWdodDphZnRlcntjb250ZW50OiJcMTBmMzUyIn0uZmFkLmZhLWFycm93LWFsdC1zcXVhcmUtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjM1MyJ9LmZhZC5mYS1hcnJvdy1hbHQtdG8tYm90dG9tOmFmdGVye2NvbnRlbnQ6IlwxMGYzNGEifS5mYWQuZmEtYXJyb3ctYWx0LXRvLWxlZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM0YiJ9LmZhZC5mYS1hcnJvdy1hbHQtdG8tcmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM0YyJ9LmZhZC5mYS1hcnJvdy1hbHQtdG8tdG9wOmFmdGVye2NvbnRlbnQ6IlwxMGYzNGQifS5mYWQuZmEtYXJyb3ctYWx0LXVwOmFmdGVye2NvbnRlbnQ6IlwxMGYzNTcifS5mYWQuZmEtYXJyb3ctY2lyY2xlLWRvd246YWZ0ZXJ7Y29udGVudDoiXDEwZjBhYiJ9LmZhZC5mYS1hcnJvdy1jaXJjbGUtbGVmdDphZnRlcntjb250ZW50OiJcMTBmMGE4In0uZmFkLmZhLWFycm93LWNpcmNsZS1yaWdodDphZnRlcntjb250ZW50OiJcMTBmMGE5In0uZmFkLmZhLWFycm93LWNpcmNsZS11cDphZnRlcntjb250ZW50OiJcMTBmMGFhIn0uZmFkLmZhLWFycm93LWRvd246YWZ0ZXJ7Y29udGVudDoiXDEwZjA2MyJ9LmZhZC5mYS1hcnJvdy1mcm9tLWJvdHRvbTphZnRlcntjb250ZW50OiJcMTBmMzQyIn0uZmFkLmZhLWFycm93LWZyb20tbGVmdDphZnRlcntjb250ZW50OiJcMTBmMzQzIn0uZmFkLmZhLWFycm93LWZyb20tcmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM0NCJ9LmZhZC5mYS1hcnJvdy1mcm9tLXRvcDphZnRlcntjb250ZW50OiJcMTBmMzQ1In0uZmFkLmZhLWFycm93LWxlZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjA2MCJ9LmZhZC5mYS1hcnJvdy1yaWdodDphZnRlcntjb250ZW50OiJcMTBmMDYxIn0uZmFkLmZhLWFycm93LXNxdWFyZS1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYzMzkifS5mYWQuZmEtYXJyb3ctc3F1YXJlLWxlZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjMzYSJ9LmZhZC5mYS1hcnJvdy1zcXVhcmUtcmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjMzYiJ9LmZhZC5mYS1hcnJvdy1zcXVhcmUtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjMzYyJ9LmZhZC5mYS1hcnJvdy10by1ib3R0b206YWZ0ZXJ7Y29udGVudDoiXDEwZjMzZCJ9LmZhZC5mYS1hcnJvdy10by1sZWZ0OmFmdGVye2NvbnRlbnQ6IlwxMGYzM2UifS5mYWQuZmEtYXJyb3ctdG8tcmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM0MCJ9LmZhZC5mYS1hcnJvdy10by10b3A6YWZ0ZXJ7Y29udGVudDoiXDEwZjM0MSJ9LmZhZC5mYS1hcnJvdy11cDphZnRlcntjb250ZW50OiJcMTBmMDYyIn0uZmFkLmZhLWFycm93czphZnRlcntjb250ZW50OiJcMTBmMDQ3In0uZmFkLmZhLWFycm93cy1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjBiMiJ9LmZhZC5mYS1hcnJvd3MtYWx0LWg6YWZ0ZXJ7Y29udGVudDoiXDEwZjMzNyJ9LmZhZC5mYS1hcnJvd3MtYWx0LXY6YWZ0ZXJ7Y29udGVudDoiXDEwZjMzOCJ9LmZhZC5mYS1hcnJvd3MtaDphZnRlcntjb250ZW50OiJcMTBmMDdlIn0uZmFkLmZhLWFycm93cy12OmFmdGVye2NvbnRlbnQ6IlwxMGYwN2QifS5mYWQuZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmFmdGVye2NvbnRlbnQ6IlwxMGYyYTIifS5mYWQuZmEtYXN0ZXJpc2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjA2OSJ9LmZhZC5mYS1hdDphZnRlcntjb250ZW50OiJcMTBmMWZhIn0uZmFkLmZhLWF0bGFzOmFmdGVye2NvbnRlbnQ6IlwxMGY1NTgifS5mYWQuZmEtYXRvbTphZnRlcntjb250ZW50OiJcMTBmNWQyIn0uZmFkLmZhLWF0b20tYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY1ZDMifS5mYWQuZmEtYXVkaW8tZGVzY3JpcHRpb246YWZ0ZXJ7Y29udGVudDoiXDEwZjI5ZSJ9LmZhZC5mYS1hd2FyZDphZnRlcntjb250ZW50OiJcMTBmNTU5In0uZmFkLmZhLWF4ZTphZnRlcntjb250ZW50OiJcMTBmNmIyIn0uZmFkLmZhLWF4ZS1iYXR0bGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjZiMyJ9LmZhZC5mYS1iYWJ5OmFmdGVye2NvbnRlbnQ6IlwxMGY3N2MifS5mYWQuZmEtYmFieS1jYXJyaWFnZTphZnRlcntjb250ZW50OiJcMTBmNzdkIn0uZmFkLmZhLWJhY2twYWNrOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZDQifS5mYWQuZmEtYmFja3NwYWNlOmFmdGVye2NvbnRlbnQ6IlwxMGY1NWEifS5mYWQuZmEtYmFja3dhcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjA0YSJ9LmZhZC5mYS1iYWNvbjphZnRlcntjb250ZW50OiJcMTBmN2U1In0uZmFkLmZhLWJhY3RlcmlhOmFmdGVye2NvbnRlbnQ6IlwxMGUwNTkifS5mYWQuZmEtYmFjdGVyaXVtOmFmdGVye2NvbnRlbnQ6IlwxMGUwNWEifS5mYWQuZmEtYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjMzNSJ9LmZhZC5mYS1iYWRnZS1jaGVjazphZnRlcntjb250ZW50OiJcMTBmMzM2In0uZmFkLmZhLWJhZGdlLWRvbGxhcjphZnRlcntjb250ZW50OiJcMTBmNjQ1In0uZmFkLmZhLWJhZGdlLXBlcmNlbnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjY0NiJ9LmZhZC5mYS1iYWRnZS1zaGVyaWZmOmFmdGVye2NvbnRlbnQ6IlwxMGY4YTIifS5mYWQuZmEtYmFkZ2VyLWhvbmV5OmFmdGVye2NvbnRlbnQ6IlwxMGY2YjQifS5mYWQuZmEtYmFncy1zaG9wcGluZzphZnRlcntjb250ZW50OiJcMTBmODQ3In0uZmFkLmZhLWJhaGFpOmFmdGVye2NvbnRlbnQ6IlwxMGY2NjYifS5mYWQuZmEtYmFsYW5jZS1zY2FsZTphZnRlcntjb250ZW50OiJcMTBmMjRlIn0uZmFkLmZhLWJhbGFuY2Utc2NhbGUtbGVmdDphZnRlcntjb250ZW50OiJcMTBmNTE1In0uZmFkLmZhLWJhbGFuY2Utc2NhbGUtcmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjUxNiJ9LmZhZC5mYS1iYWxsLXBpbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjc3ZSJ9LmZhZC5mYS1iYWxsb3Q6YWZ0ZXJ7Y29udGVudDoiXDEwZjczMiJ9LmZhZC5mYS1iYWxsb3QtY2hlY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjczMyJ9LmZhZC5mYS1iYW46YWZ0ZXJ7Y29udGVudDoiXDEwZjA1ZSJ9LmZhZC5mYS1iYW5kLWFpZDphZnRlcntjb250ZW50OiJcMTBmNDYyIn0uZmFkLmZhLWJhbmpvOmFmdGVye2NvbnRlbnQ6IlwxMGY4YTMifS5mYWQuZmEtYmFyY29kZTphZnRlcntjb250ZW50OiJcMTBmMDJhIn0uZmFkLmZhLWJhcmNvZGUtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY0NjMifS5mYWQuZmEtYmFyY29kZS1yZWFkOmFmdGVye2NvbnRlbnQ6IlwxMGY0NjQifS5mYWQuZmEtYmFyY29kZS1zY2FuOmFmdGVye2NvbnRlbnQ6IlwxMGY0NjUifS5mYWQuZmEtYmFyczphZnRlcntjb250ZW50OiJcMTBmMGM5In0uZmFkLmZhLWJhc2ViYWxsOmFmdGVye2NvbnRlbnQ6IlwxMGY0MzIifS5mYWQuZmEtYmFzZWJhbGwtYmFsbDphZnRlcntjb250ZW50OiJcMTBmNDMzIn0uZmFkLmZhLWJhc2tldGJhbGwtYmFsbDphZnRlcntjb250ZW50OiJcMTBmNDM0In0uZmFkLmZhLWJhc2tldGJhbGwtaG9vcDphZnRlcntjb250ZW50OiJcMTBmNDM1In0uZmFkLmZhLWJhdDphZnRlcntjb250ZW50OiJcMTBmNmI1In0uZmFkLmZhLWJhdGg6YWZ0ZXJ7Y29udGVudDoiXDEwZjJjZCJ9LmZhZC5mYS1iYXR0ZXJ5LWJvbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM3NiJ9LmZhZC5mYS1iYXR0ZXJ5LWVtcHR5OmFmdGVye2NvbnRlbnQ6IlwxMGYyNDQifS5mYWQuZmEtYmF0dGVyeS1mdWxsOmFmdGVye2NvbnRlbnQ6IlwxMGYyNDAifS5mYWQuZmEtYmF0dGVyeS1oYWxmOmFmdGVye2NvbnRlbnQ6IlwxMGYyNDIifS5mYWQuZmEtYmF0dGVyeS1xdWFydGVyOmFmdGVye2NvbnRlbnQ6IlwxMGYyNDMifS5mYWQuZmEtYmF0dGVyeS1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmMzc3In0uZmFkLmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YWZ0ZXJ7Y29udGVudDoiXDEwZjI0MSJ9LmZhZC5mYS1iZWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjIzNiJ9LmZhZC5mYS1iZWQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4ZjcifS5mYWQuZmEtYmVkLWJ1bms6YWZ0ZXJ7Y29udGVudDoiXDEwZjhmOCJ9LmZhZC5mYS1iZWQtZW1wdHk6YWZ0ZXJ7Y29udGVudDoiXDEwZjhmOSJ9LmZhZC5mYS1iZWVyOmFmdGVye2NvbnRlbnQ6IlwxMGYwZmMifS5mYWQuZmEtYmVsbDphZnRlcntjb250ZW50OiJcMTBmMGYzIn0uZmFkLmZhLWJlbGwtZXhjbGFtYXRpb246YWZ0ZXJ7Y29udGVudDoiXDEwZjg0OCJ9LmZhZC5mYS1iZWxsLW9uOmFmdGVye2NvbnRlbnQ6IlwxMGY4ZmEifS5mYWQuZmEtYmVsbC1wbHVzOmFmdGVye2NvbnRlbnQ6IlwxMGY4NDkifS5mYWQuZmEtYmVsbC1zY2hvb2w6YWZ0ZXJ7Y29udGVudDoiXDEwZjVkNSJ9LmZhZC5mYS1iZWxsLXNjaG9vbC1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmNWQ2In0uZmFkLmZhLWJlbGwtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjFmNiJ9LmZhZC5mYS1iZWxsczphZnRlcntjb250ZW50OiJcMTBmNzdmIn0uZmFkLmZhLWJldGFtYXg6YWZ0ZXJ7Y29udGVudDoiXDEwZjhhNCJ9LmZhZC5mYS1iZXppZXItY3VydmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjU1YiJ9LmZhZC5mYS1iaWJsZTphZnRlcntjb250ZW50OiJcMTBmNjQ3In0uZmFkLmZhLWJpY3ljbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjIwNiJ9LmZhZC5mYS1iaWtpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjg0YSJ9LmZhZC5mYS1iaWtpbmctbW91bnRhaW46YWZ0ZXJ7Y29udGVudDoiXDEwZjg0YiJ9LmZhZC5mYS1iaW5vY3VsYXJzOmFmdGVye2NvbnRlbnQ6IlwxMGYxZTUifS5mYWQuZmEtYmlvaGF6YXJkOmFmdGVye2NvbnRlbnQ6IlwxMGY3ODAifS5mYWQuZmEtYmlydGhkYXktY2FrZTphZnRlcntjb250ZW50OiJcMTBmMWZkIn0uZmFkLmZhLWJsYW5rZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ5OCJ9LmZhZC5mYS1ibGVuZGVyOmFmdGVye2NvbnRlbnQ6IlwxMGY1MTcifS5mYWQuZmEtYmxlbmRlci1waG9uZTphZnRlcntjb250ZW50OiJcMTBmNmI2In0uZmFkLmZhLWJsaW5kOmFmdGVye2NvbnRlbnQ6IlwxMGYyOWQifS5mYWQuZmEtYmxpbmRzOmFmdGVye2NvbnRlbnQ6IlwxMGY4ZmIifS5mYWQuZmEtYmxpbmRzLW9wZW46YWZ0ZXJ7Y29udGVudDoiXDEwZjhmYyJ9LmZhZC5mYS1ibGluZHMtcmFpc2VkOmFmdGVye2NvbnRlbnQ6IlwxMGY4ZmQifS5mYWQuZmEtYmxvZzphZnRlcntjb250ZW50OiJcMTBmNzgxIn0uZmFkLmZhLWJvbGQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjAzMiJ9LmZhZC5mYS1ib2x0OmFmdGVye2NvbnRlbnQ6IlwxMGYwZTcifS5mYWQuZmEtYm9tYjphZnRlcntjb250ZW50OiJcMTBmMWUyIn0uZmFkLmZhLWJvbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjVkNyJ9LmZhZC5mYS1ib25lLWJyZWFrOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZDgifS5mYWQuZmEtYm9uZzphZnRlcntjb250ZW50OiJcMTBmNTVjIn0uZmFkLmZhLWJvb2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjAyZCJ9LmZhZC5mYS1ib29rLWFsdDphZnRlcntjb250ZW50OiJcMTBmNWQ5In0uZmFkLmZhLWJvb2stZGVhZDphZnRlcntjb250ZW50OiJcMTBmNmI3In0uZmFkLmZhLWJvb2staGVhcnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ5OSJ9LmZhZC5mYS1ib29rLW1lZGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjdlNiJ9LmZhZC5mYS1ib29rLW9wZW46YWZ0ZXJ7Y29udGVudDoiXDEwZjUxOCJ9LmZhZC5mYS1ib29rLXJlYWRlcjphZnRlcntjb250ZW50OiJcMTBmNWRhIn0uZmFkLmZhLWJvb2stc3BlbGxzOmFmdGVye2NvbnRlbnQ6IlwxMGY2YjgifS5mYWQuZmEtYm9vay11c2VyOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZTcifS5mYWQuZmEtYm9va21hcms6YWZ0ZXJ7Y29udGVudDoiXDEwZjAyZSJ9LmZhZC5mYS1ib29rczphZnRlcntjb250ZW50OiJcMTBmNWRiIn0uZmFkLmZhLWJvb2tzLW1lZGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjdlOCJ9LmZhZC5mYS1ib29tYm94OmFmdGVye2NvbnRlbnQ6IlwxMGY4YTUifS5mYWQuZmEtYm9vdDphZnRlcntjb250ZW50OiJcMTBmNzgyIn0uZmFkLmZhLWJvb3RoLWN1cnRhaW46YWZ0ZXJ7Y29udGVudDoiXDEwZjczNCJ9LmZhZC5mYS1ib3JkZXItYWxsOmFmdGVye2NvbnRlbnQ6IlwxMGY4NGMifS5mYWQuZmEtYm9yZGVyLWJvdHRvbTphZnRlcntjb250ZW50OiJcMTBmODRkIn0uZmFkLmZhLWJvcmRlci1jZW50ZXItaDphZnRlcntjb250ZW50OiJcMTBmODljIn0uZmFkLmZhLWJvcmRlci1jZW50ZXItdjphZnRlcntjb250ZW50OiJcMTBmODlkIn0uZmFkLmZhLWJvcmRlci1pbm5lcjphZnRlcntjb250ZW50OiJcMTBmODRlIn0uZmFkLmZhLWJvcmRlci1sZWZ0OmFmdGVye2NvbnRlbnQ6IlwxMGY4NGYifS5mYWQuZmEtYm9yZGVyLW5vbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjg1MCJ9LmZhZC5mYS1ib3JkZXItb3V0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjg1MSJ9LmZhZC5mYS1ib3JkZXItcmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjg1MiJ9LmZhZC5mYS1ib3JkZXItc3R5bGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjg1MyJ9LmZhZC5mYS1ib3JkZXItc3R5bGUtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4NTQifS5mYWQuZmEtYm9yZGVyLXRvcDphZnRlcntjb250ZW50OiJcMTBmODU1In0uZmFkLmZhLWJvdy1hcnJvdzphZnRlcntjb250ZW50OiJcMTBmNmI5In0uZmFkLmZhLWJvd2xpbmctYmFsbDphZnRlcntjb250ZW50OiJcMTBmNDM2In0uZmFkLmZhLWJvd2xpbmctcGluczphZnRlcntjb250ZW50OiJcMTBmNDM3In0uZmFkLmZhLWJveDphZnRlcntjb250ZW50OiJcMTBmNDY2In0uZmFkLmZhLWJveC1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ5YSJ9LmZhZC5mYS1ib3gtYmFsbG90OmFmdGVye2NvbnRlbnQ6IlwxMGY3MzUifS5mYWQuZmEtYm94LWNoZWNrOmFmdGVye2NvbnRlbnQ6IlwxMGY0NjcifS5mYWQuZmEtYm94LWZyYWdpbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ5YiJ9LmZhZC5mYS1ib3gtZnVsbDphZnRlcntjb250ZW50OiJcMTBmNDljIn0uZmFkLmZhLWJveC1oZWFydDphZnRlcntjb250ZW50OiJcMTBmNDlkIn0uZmFkLmZhLWJveC1vcGVuOmFmdGVye2NvbnRlbnQ6IlwxMGY0OWUifS5mYWQuZmEtYm94LXRpc3N1ZTphZnRlcntjb250ZW50OiJcMTBlMDViIn0uZmFkLmZhLWJveC11cDphZnRlcntjb250ZW50OiJcMTBmNDlmIn0uZmFkLmZhLWJveC11c2Q6YWZ0ZXJ7Y29udGVudDoiXDEwZjRhMCJ9LmZhZC5mYS1ib3hlczphZnRlcntjb250ZW50OiJcMTBmNDY4In0uZmFkLmZhLWJveGVzLWFsdDphZnRlcntjb250ZW50OiJcMTBmNGExIn0uZmFkLmZhLWJveGluZy1nbG92ZTphZnRlcntjb250ZW50OiJcMTBmNDM4In0uZmFkLmZhLWJyYWNrZXRzOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZTkifS5mYWQuZmEtYnJhY2tldHMtY3VybHk6YWZ0ZXJ7Y29udGVudDoiXDEwZjdlYSJ9LmZhZC5mYS1icmFpbGxlOmFmdGVye2NvbnRlbnQ6IlwxMGYyYTEifS5mYWQuZmEtYnJhaW46YWZ0ZXJ7Y29udGVudDoiXDEwZjVkYyJ9LmZhZC5mYS1icmVhZC1sb2FmOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZWIifS5mYWQuZmEtYnJlYWQtc2xpY2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjdlYyJ9LmZhZC5mYS1icmllZmNhc2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjBiMSJ9LmZhZC5mYS1icmllZmNhc2UtbWVkaWNhbDphZnRlcntjb250ZW50OiJcMTBmNDY5In0uZmFkLmZhLWJyaW5nLWZvcndhcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjg1NiJ9LmZhZC5mYS1icmluZy1mcm9udDphZnRlcntjb250ZW50OiJcMTBmODU3In0uZmFkLmZhLWJyb2FkY2FzdC10b3dlcjphZnRlcntjb250ZW50OiJcMTBmNTE5In0uZmFkLmZhLWJyb29tOmFmdGVye2NvbnRlbnQ6IlwxMGY1MWEifS5mYWQuZmEtYnJvd3NlcjphZnRlcntjb250ZW50OiJcMTBmMzdlIn0uZmFkLmZhLWJydXNoOmFmdGVye2NvbnRlbnQ6IlwxMGY1NWQifS5mYWQuZmEtYnVnOmFmdGVye2NvbnRlbnQ6IlwxMGYxODgifS5mYWQuZmEtYnVpbGRpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjFhZCJ9LmZhZC5mYS1idWxsaG9ybjphZnRlcntjb250ZW50OiJcMTBmMGExIn0uZmFkLmZhLWJ1bGxzZXllOmFmdGVye2NvbnRlbnQ6IlwxMGYxNDAifS5mYWQuZmEtYnVsbHNleWUtYXJyb3c6YWZ0ZXJ7Y29udGVudDoiXDEwZjY0OCJ9LmZhZC5mYS1idWxsc2V5ZS1wb2ludGVyOmFmdGVye2NvbnRlbnQ6IlwxMGY2NDkifS5mYWQuZmEtYnVyZ2VyLXNvZGE6YWZ0ZXJ7Y29udGVudDoiXDEwZjg1OCJ9LmZhZC5mYS1idXJuOmFmdGVye2NvbnRlbnQ6IlwxMGY0NmEifS5mYWQuZmEtYnVycml0bzphZnRlcntjb250ZW50OiJcMTBmN2VkIn0uZmFkLmZhLWJ1czphZnRlcntjb250ZW50OiJcMTBmMjA3In0uZmFkLmZhLWJ1cy1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjU1ZSJ9LmZhZC5mYS1idXMtc2Nob29sOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZGQifS5mYWQuZmEtYnVzaW5lc3MtdGltZTphZnRlcntjb250ZW50OiJcMTBmNjRhIn0uZmFkLmZhLWNhYmluZXQtZmlsaW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY2NGIifS5mYWQuZmEtY2FjdHVzOmFmdGVye2NvbnRlbnQ6IlwxMGY4YTcifS5mYWQuZmEtY2FsY3VsYXRvcjphZnRlcntjb250ZW50OiJcMTBmMWVjIn0uZmFkLmZhLWNhbGN1bGF0b3ItYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY2NGMifS5mYWQuZmEtY2FsZW5kYXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjEzMyJ9LmZhZC5mYS1jYWxlbmRhci1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjA3MyJ9LmZhZC5mYS1jYWxlbmRhci1jaGVjazphZnRlcntjb250ZW50OiJcMTBmMjc0In0uZmFkLmZhLWNhbGVuZGFyLWRheTphZnRlcntjb250ZW50OiJcMTBmNzgzIn0uZmFkLmZhLWNhbGVuZGFyLWVkaXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjMzMyJ9LmZhZC5mYS1jYWxlbmRhci1leGNsYW1hdGlvbjphZnRlcntjb250ZW50OiJcMTBmMzM0In0uZmFkLmZhLWNhbGVuZGFyLW1pbnVzOmFmdGVye2NvbnRlbnQ6IlwxMGYyNzIifS5mYWQuZmEtY2FsZW5kYXItcGx1czphZnRlcntjb250ZW50OiJcMTBmMjcxIn0uZmFkLmZhLWNhbGVuZGFyLXN0YXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjczNiJ9LmZhZC5mYS1jYWxlbmRhci10aW1lczphZnRlcntjb250ZW50OiJcMTBmMjczIn0uZmFkLmZhLWNhbGVuZGFyLXdlZWs6YWZ0ZXJ7Y29udGVudDoiXDEwZjc4NCJ9LmZhZC5mYS1jYW1jb3JkZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjhhOCJ9LmZhZC5mYS1jYW1lcmE6YWZ0ZXJ7Y29udGVudDoiXDEwZjAzMCJ9LmZhZC5mYS1jYW1lcmEtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzMzIifS5mYWQuZmEtY2FtZXJhLWhvbWU6YWZ0ZXJ7Y29udGVudDoiXDEwZjhmZSJ9LmZhZC5mYS1jYW1lcmEtbW92aWU6YWZ0ZXJ7Y29udGVudDoiXDEwZjhhOSJ9LmZhZC5mYS1jYW1lcmEtcG9sYXJvaWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjhhYSJ9LmZhZC5mYS1jYW1lcmEtcmV0cm86YWZ0ZXJ7Y29udGVudDoiXDEwZjA4MyJ9LmZhZC5mYS1jYW1wZmlyZTphZnRlcntjb250ZW50OiJcMTBmNmJhIn0uZmFkLmZhLWNhbXBncm91bmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjZiYiJ9LmZhZC5mYS1jYW5kbGUtaG9sZGVyOmFmdGVye2NvbnRlbnQ6IlwxMGY2YmMifS5mYWQuZmEtY2FuZHktY2FuZTphZnRlcntjb250ZW50OiJcMTBmNzg2In0uZmFkLmZhLWNhbmR5LWNvcm46YWZ0ZXJ7Y29udGVudDoiXDEwZjZiZCJ9LmZhZC5mYS1jYW5uYWJpczphZnRlcntjb250ZW50OiJcMTBmNTVmIn0uZmFkLmZhLWNhcHN1bGVzOmFmdGVye2NvbnRlbnQ6IlwxMGY0NmIifS5mYWQuZmEtY2FyOmFmdGVye2NvbnRlbnQ6IlwxMGYxYjkifS5mYWQuZmEtY2FyLWFsdDphZnRlcntjb250ZW50OiJcMTBmNWRlIn0uZmFkLmZhLWNhci1iYXR0ZXJ5OmFmdGVye2NvbnRlbnQ6IlwxMGY1ZGYifS5mYWQuZmEtY2FyLWJ1aWxkaW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY4NTkifS5mYWQuZmEtY2FyLWJ1bXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjVlMCJ9LmZhZC5mYS1jYXItYnVzOmFmdGVye2NvbnRlbnQ6IlwxMGY4NWEifS5mYWQuZmEtY2FyLWNyYXNoOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZTEifS5mYWQuZmEtY2FyLWdhcmFnZTphZnRlcntjb250ZW50OiJcMTBmNWUyIn0uZmFkLmZhLWNhci1tZWNoYW5pYzphZnRlcntjb250ZW50OiJcMTBmNWUzIn0uZmFkLmZhLWNhci1zaWRlOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZTQifS5mYWQuZmEtY2FyLXRpbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjVlNSJ9LmZhZC5mYS1jYXItd2FzaDphZnRlcntjb250ZW50OiJcMTBmNWU2In0uZmFkLmZhLWNhcmF2YW46YWZ0ZXJ7Y29udGVudDoiXDEwZjhmZiJ9LmZhZC5mYS1jYXJhdmFuLWFsdDphZnRlcntjb250ZW50OiJcMTBlMDAwIn0uZmFkLmZhLWNhcmV0LWNpcmNsZS1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYzMmQifS5mYWQuZmEtY2FyZXQtY2lyY2xlLWxlZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjMyZSJ9LmZhZC5mYS1jYXJldC1jaXJjbGUtcmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjMzMCJ9LmZhZC5mYS1jYXJldC1jaXJjbGUtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjMzMSJ9LmZhZC5mYS1jYXJldC1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYwZDcifS5mYWQuZmEtY2FyZXQtbGVmdDphZnRlcntjb250ZW50OiJcMTBmMGQ5In0uZmFkLmZhLWNhcmV0LXJpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGYwZGEifS5mYWQuZmEtY2FyZXQtc3F1YXJlLWRvd246YWZ0ZXJ7Y29udGVudDoiXDEwZjE1MCJ9LmZhZC5mYS1jYXJldC1zcXVhcmUtbGVmdDphZnRlcntjb250ZW50OiJcMTBmMTkxIn0uZmFkLmZhLWNhcmV0LXNxdWFyZS1yaWdodDphZnRlcntjb250ZW50OiJcMTBmMTUyIn0uZmFkLmZhLWNhcmV0LXNxdWFyZS11cDphZnRlcntjb250ZW50OiJcMTBmMTUxIn0uZmFkLmZhLWNhcmV0LXVwOmFmdGVye2NvbnRlbnQ6IlwxMGYwZDgifS5mYWQuZmEtY2Fycm90OmFmdGVye2NvbnRlbnQ6IlwxMGY3ODcifS5mYWQuZmEtY2FyczphZnRlcntjb250ZW50OiJcMTBmODViIn0uZmFkLmZhLWNhcnQtYXJyb3ctZG93bjphZnRlcntjb250ZW50OiJcMTBmMjE4In0uZmFkLmZhLWNhcnQtcGx1czphZnRlcntjb250ZW50OiJcMTBmMjE3In0uZmFkLmZhLWNhc2gtcmVnaXN0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjc4OCJ9LmZhZC5mYS1jYXNzZXR0ZS10YXBlOmFmdGVye2NvbnRlbnQ6IlwxMGY4YWIifS5mYWQuZmEtY2F0OmFmdGVye2NvbnRlbnQ6IlwxMGY2YmUifS5mYWQuZmEtY2F0LXNwYWNlOmFmdGVye2NvbnRlbnQ6IlwxMGUwMDEifS5mYWQuZmEtY2F1bGRyb246YWZ0ZXJ7Y29udGVudDoiXDEwZjZiZiJ9LmZhZC5mYS1jY3R2OmFmdGVye2NvbnRlbnQ6IlwxMGY4YWMifS5mYWQuZmEtY2VydGlmaWNhdGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjBhMyJ9LmZhZC5mYS1jaGFpcjphZnRlcntjb250ZW50OiJcMTBmNmMwIn0uZmFkLmZhLWNoYWlyLW9mZmljZTphZnRlcntjb250ZW50OiJcMTBmNmMxIn0uZmFkLmZhLWNoYWxrYm9hcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjUxYiJ9LmZhZC5mYS1jaGFsa2JvYXJkLXRlYWNoZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjUxYyJ9LmZhZC5mYS1jaGFyZ2luZy1zdGF0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZTcifS5mYWQuZmEtY2hhcnQtYXJlYTphZnRlcntjb250ZW50OiJcMTBmMWZlIn0uZmFkLmZhLWNoYXJ0LWJhcjphZnRlcntjb250ZW50OiJcMTBmMDgwIn0uZmFkLmZhLWNoYXJ0LWxpbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjIwMSJ9LmZhZC5mYS1jaGFydC1saW5lLWRvd246YWZ0ZXJ7Y29udGVudDoiXDEwZjY0ZCJ9LmZhZC5mYS1jaGFydC1uZXR3b3JrOmFmdGVye2NvbnRlbnQ6IlwxMGY3OGEifS5mYWQuZmEtY2hhcnQtcGllOmFmdGVye2NvbnRlbnQ6IlwxMGYyMDAifS5mYWQuZmEtY2hhcnQtcGllLWFsdDphZnRlcntjb250ZW50OiJcMTBmNjRlIn0uZmFkLmZhLWNoYXJ0LXNjYXR0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjdlZSJ9LmZhZC5mYS1jaGVjazphZnRlcntjb250ZW50OiJcMTBmMDBjIn0uZmFkLmZhLWNoZWNrLWNpcmNsZTphZnRlcntjb250ZW50OiJcMTBmMDU4In0uZmFkLmZhLWNoZWNrLWRvdWJsZTphZnRlcntjb250ZW50OiJcMTBmNTYwIn0uZmFkLmZhLWNoZWNrLXNxdWFyZTphZnRlcntjb250ZW50OiJcMTBmMTRhIn0uZmFkLmZhLWNoZWVzZTphZnRlcntjb250ZW50OiJcMTBmN2VmIn0uZmFkLmZhLWNoZWVzZS1zd2lzczphZnRlcntjb250ZW50OiJcMTBmN2YwIn0uZmFkLmZhLWNoZWVzZWJ1cmdlcjphZnRlcntjb250ZW50OiJcMTBmN2YxIn0uZmFkLmZhLWNoZXNzOmFmdGVye2NvbnRlbnQ6IlwxMGY0MzkifS5mYWQuZmEtY2hlc3MtYmlzaG9wOmFmdGVye2NvbnRlbnQ6IlwxMGY0M2EifS5mYWQuZmEtY2hlc3MtYmlzaG9wLWFsdDphZnRlcntjb250ZW50OiJcMTBmNDNiIn0uZmFkLmZhLWNoZXNzLWJvYXJkOmFmdGVye2NvbnRlbnQ6IlwxMGY0M2MifS5mYWQuZmEtY2hlc3MtY2xvY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjQzZCJ9LmZhZC5mYS1jaGVzcy1jbG9jay1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQzZSJ9LmZhZC5mYS1jaGVzcy1raW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY0M2YifS5mYWQuZmEtY2hlc3Mta2luZy1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ0MCJ9LmZhZC5mYS1jaGVzcy1rbmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ0MSJ9LmZhZC5mYS1jaGVzcy1rbmlnaHQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY0NDIifS5mYWQuZmEtY2hlc3MtcGF3bjphZnRlcntjb250ZW50OiJcMTBmNDQzIn0uZmFkLmZhLWNoZXNzLXBhd24tYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY0NDQifS5mYWQuZmEtY2hlc3MtcXVlZW46YWZ0ZXJ7Y29udGVudDoiXDEwZjQ0NSJ9LmZhZC5mYS1jaGVzcy1xdWVlbi1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ0NiJ9LmZhZC5mYS1jaGVzcy1yb29rOmFmdGVye2NvbnRlbnQ6IlwxMGY0NDcifS5mYWQuZmEtY2hlc3Mtcm9vay1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ0OCJ9LmZhZC5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYxM2EifS5mYWQuZmEtY2hldnJvbi1jaXJjbGUtbGVmdDphZnRlcntjb250ZW50OiJcMTBmMTM3In0uZmFkLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGYxMzgifS5mYWQuZmEtY2hldnJvbi1jaXJjbGUtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjEzOSJ9LmZhZC5mYS1jaGV2cm9uLWRvdWJsZS1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYzMjIifS5mYWQuZmEtY2hldnJvbi1kb3VibGUtbGVmdDphZnRlcntjb250ZW50OiJcMTBmMzIzIn0uZmFkLmZhLWNoZXZyb24tZG91YmxlLXJpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGYzMjQifS5mYWQuZmEtY2hldnJvbi1kb3VibGUtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjMyNSJ9LmZhZC5mYS1jaGV2cm9uLWRvd246YWZ0ZXJ7Y29udGVudDoiXDEwZjA3OCJ9LmZhZC5mYS1jaGV2cm9uLWxlZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjA1MyJ9LmZhZC5mYS1jaGV2cm9uLXJpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGYwNTQifS5mYWQuZmEtY2hldnJvbi1zcXVhcmUtZG93bjphZnRlcntjb250ZW50OiJcMTBmMzI5In0uZmFkLmZhLWNoZXZyb24tc3F1YXJlLWxlZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjMyYSJ9LmZhZC5mYS1jaGV2cm9uLXNxdWFyZS1yaWdodDphZnRlcntjb250ZW50OiJcMTBmMzJiIn0uZmFkLmZhLWNoZXZyb24tc3F1YXJlLXVwOmFmdGVye2NvbnRlbnQ6IlwxMGYzMmMifS5mYWQuZmEtY2hldnJvbi11cDphZnRlcntjb250ZW50OiJcMTBmMDc3In0uZmFkLmZhLWNoaWxkOmFmdGVye2NvbnRlbnQ6IlwxMGYxYWUifS5mYWQuZmEtY2hpbW5leTphZnRlcntjb250ZW50OiJcMTBmNzhiIn0uZmFkLmZhLWNodXJjaDphZnRlcntjb250ZW50OiJcMTBmNTFkIn0uZmFkLmZhLWNpcmNsZTphZnRlcntjb250ZW50OiJcMTBmMTExIn0uZmFkLmZhLWNpcmNsZS1ub3RjaDphZnRlcntjb250ZW50OiJcMTBmMWNlIn0uZmFkLmZhLWNpdHk6YWZ0ZXJ7Y29udGVudDoiXDEwZjY0ZiJ9LmZhZC5mYS1jbGFyaW5ldDphZnRlcntjb250ZW50OiJcMTBmOGFkIn0uZmFkLmZhLWNsYXctbWFya3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjZjMiJ9LmZhZC5mYS1jbGluaWMtbWVkaWNhbDphZnRlcntjb250ZW50OiJcMTBmN2YyIn0uZmFkLmZhLWNsaXBib2FyZDphZnRlcntjb250ZW50OiJcMTBmMzI4In0uZmFkLmZhLWNsaXBib2FyZC1jaGVjazphZnRlcntjb250ZW50OiJcMTBmNDZjIn0uZmFkLmZhLWNsaXBib2FyZC1saXN0OmFmdGVye2NvbnRlbnQ6IlwxMGY0NmQifS5mYWQuZmEtY2xpcGJvYXJkLWxpc3QtY2hlY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjczNyJ9LmZhZC5mYS1jbGlwYm9hcmQtcHJlc2NyaXB0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZTgifS5mYWQuZmEtY2xpcGJvYXJkLXVzZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjdmMyJ9LmZhZC5mYS1jbG9jazphZnRlcntjb250ZW50OiJcMTBmMDE3In0uZmFkLmZhLWNsb25lOmFmdGVye2NvbnRlbnQ6IlwxMGYyNGQifS5mYWQuZmEtY2xvc2VkLWNhcHRpb25pbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjIwYSJ9LmZhZC5mYS1jbG91ZDphZnRlcntjb250ZW50OiJcMTBmMGMyIn0uZmFkLmZhLWNsb3VkLWRvd25sb2FkOmFmdGVye2NvbnRlbnQ6IlwxMGYwZWQifS5mYWQuZmEtY2xvdWQtZG93bmxvYWQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzODEifS5mYWQuZmEtY2xvdWQtZHJpenpsZTphZnRlcntjb250ZW50OiJcMTBmNzM4In0uZmFkLmZhLWNsb3VkLWhhaWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjczOSJ9LmZhZC5mYS1jbG91ZC1oYWlsLW1peGVkOmFmdGVye2NvbnRlbnQ6IlwxMGY3M2EifS5mYWQuZmEtY2xvdWQtbWVhdGJhbGw6YWZ0ZXJ7Y29udGVudDoiXDEwZjczYiJ9LmZhZC5mYS1jbG91ZC1tb29uOmFmdGVye2NvbnRlbnQ6IlwxMGY2YzMifS5mYWQuZmEtY2xvdWQtbW9vbi1yYWluOmFmdGVye2NvbnRlbnQ6IlwxMGY3M2MifS5mYWQuZmEtY2xvdWQtbXVzaWM6YWZ0ZXJ7Y29udGVudDoiXDEwZjhhZSJ9LmZhZC5mYS1jbG91ZC1yYWluOmFmdGVye2NvbnRlbnQ6IlwxMGY3M2QifS5mYWQuZmEtY2xvdWQtcmFpbmJvdzphZnRlcntjb250ZW50OiJcMTBmNzNlIn0uZmFkLmZhLWNsb3VkLXNob3dlcnM6YWZ0ZXJ7Y29udGVudDoiXDEwZjczZiJ9LmZhZC5mYS1jbG91ZC1zaG93ZXJzLWhlYXZ5OmFmdGVye2NvbnRlbnQ6IlwxMGY3NDAifS5mYWQuZmEtY2xvdWQtc2xlZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjc0MSJ9LmZhZC5mYS1jbG91ZC1zbm93OmFmdGVye2NvbnRlbnQ6IlwxMGY3NDIifS5mYWQuZmEtY2xvdWQtc3VuOmFmdGVye2NvbnRlbnQ6IlwxMGY2YzQifS5mYWQuZmEtY2xvdWQtc3VuLXJhaW46YWZ0ZXJ7Y29udGVudDoiXDEwZjc0MyJ9LmZhZC5mYS1jbG91ZC11cGxvYWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjBlZSJ9LmZhZC5mYS1jbG91ZC11cGxvYWQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzODIifS5mYWQuZmEtY2xvdWRzOmFmdGVye2NvbnRlbnQ6IlwxMGY3NDQifS5mYWQuZmEtY2xvdWRzLW1vb246YWZ0ZXJ7Y29udGVudDoiXDEwZjc0NSJ9LmZhZC5mYS1jbG91ZHMtc3VuOmFmdGVye2NvbnRlbnQ6IlwxMGY3NDYifS5mYWQuZmEtY2x1YjphZnRlcntjb250ZW50OiJcMTBmMzI3In0uZmFkLmZhLWNvY2t0YWlsOmFmdGVye2NvbnRlbnQ6IlwxMGY1NjEifS5mYWQuZmEtY29kZTphZnRlcntjb250ZW50OiJcMTBmMTIxIn0uZmFkLmZhLWNvZGUtYnJhbmNoOmFmdGVye2NvbnRlbnQ6IlwxMGYxMjYifS5mYWQuZmEtY29kZS1jb21taXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM4NiJ9LmZhZC5mYS1jb2RlLW1lcmdlOmFmdGVye2NvbnRlbnQ6IlwxMGYzODcifS5mYWQuZmEtY29mZmVlOmFmdGVye2NvbnRlbnQ6IlwxMGYwZjQifS5mYWQuZmEtY29mZmVlLXBvdDphZnRlcntjb250ZW50OiJcMTBlMDAyIn0uZmFkLmZhLWNvZmZlZS10b2dvOmFmdGVye2NvbnRlbnQ6IlwxMGY2YzUifS5mYWQuZmEtY29mZmluOmFmdGVye2NvbnRlbnQ6IlwxMGY2YzYifS5mYWQuZmEtY29mZmluLWNyb3NzOmFmdGVye2NvbnRlbnQ6IlwxMGUwNTEifS5mYWQuZmEtY29nOmFmdGVye2NvbnRlbnQ6IlwxMGYwMTMifS5mYWQuZmEtY29nczphZnRlcntjb250ZW50OiJcMTBmMDg1In0uZmFkLmZhLWNvaW46YWZ0ZXJ7Y29udGVudDoiXDEwZjg1YyJ9LmZhZC5mYS1jb2luczphZnRlcntjb250ZW50OiJcMTBmNTFlIn0uZmFkLmZhLWNvbHVtbnM6YWZ0ZXJ7Y29udGVudDoiXDEwZjBkYiJ9LmZhZC5mYS1jb21ldDphZnRlcntjb250ZW50OiJcMTBlMDAzIn0uZmFkLmZhLWNvbW1lbnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjA3NSJ9LmZhZC5mYS1jb21tZW50LWFsdDphZnRlcntjb250ZW50OiJcMTBmMjdhIn0uZmFkLmZhLWNvbW1lbnQtYWx0LWNoZWNrOmFmdGVye2NvbnRlbnQ6IlwxMGY0YTIifS5mYWQuZmEtY29tbWVudC1hbHQtZG9sbGFyOmFmdGVye2NvbnRlbnQ6IlwxMGY2NTAifS5mYWQuZmEtY29tbWVudC1hbHQtZG90czphZnRlcntjb250ZW50OiJcMTBmNGEzIn0uZmFkLmZhLWNvbW1lbnQtYWx0LWVkaXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjRhNCJ9LmZhZC5mYS1jb21tZW50LWFsdC1leGNsYW1hdGlvbjphZnRlcntjb250ZW50OiJcMTBmNGE1In0uZmFkLmZhLWNvbW1lbnQtYWx0LWxpbmVzOmFmdGVye2NvbnRlbnQ6IlwxMGY0YTYifS5mYWQuZmEtY29tbWVudC1hbHQtbWVkaWNhbDphZnRlcntjb250ZW50OiJcMTBmN2Y0In0uZmFkLmZhLWNvbW1lbnQtYWx0LW1pbnVzOmFmdGVye2NvbnRlbnQ6IlwxMGY0YTcifS5mYWQuZmEtY29tbWVudC1hbHQtbXVzaWM6YWZ0ZXJ7Y29udGVudDoiXDEwZjhhZiJ9LmZhZC5mYS1jb21tZW50LWFsdC1wbHVzOmFmdGVye2NvbnRlbnQ6IlwxMGY0YTgifS5mYWQuZmEtY29tbWVudC1hbHQtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjRhOSJ9LmZhZC5mYS1jb21tZW50LWFsdC1zbWlsZTphZnRlcntjb250ZW50OiJcMTBmNGFhIn0uZmFkLmZhLWNvbW1lbnQtYWx0LXRpbWVzOmFmdGVye2NvbnRlbnQ6IlwxMGY0YWIifS5mYWQuZmEtY29tbWVudC1jaGVjazphZnRlcntjb250ZW50OiJcMTBmNGFjIn0uZmFkLmZhLWNvbW1lbnQtZG9sbGFyOmFmdGVye2NvbnRlbnQ6IlwxMGY2NTEifS5mYWQuZmEtY29tbWVudC1kb3RzOmFmdGVye2NvbnRlbnQ6IlwxMGY0YWQifS5mYWQuZmEtY29tbWVudC1lZGl0OmFmdGVye2NvbnRlbnQ6IlwxMGY0YWUifS5mYWQuZmEtY29tbWVudC1leGNsYW1hdGlvbjphZnRlcntjb250ZW50OiJcMTBmNGFmIn0uZmFkLmZhLWNvbW1lbnQtbGluZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjRiMCJ9LmZhZC5mYS1jb21tZW50LW1lZGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjdmNSJ9LmZhZC5mYS1jb21tZW50LW1pbnVzOmFmdGVye2NvbnRlbnQ6IlwxMGY0YjEifS5mYWQuZmEtY29tbWVudC1tdXNpYzphZnRlcntjb250ZW50OiJcMTBmOGIwIn0uZmFkLmZhLWNvbW1lbnQtcGx1czphZnRlcntjb250ZW50OiJcMTBmNGIyIn0uZmFkLmZhLWNvbW1lbnQtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjRiMyJ9LmZhZC5mYS1jb21tZW50LXNtaWxlOmFmdGVye2NvbnRlbnQ6IlwxMGY0YjQifS5mYWQuZmEtY29tbWVudC10aW1lczphZnRlcntjb250ZW50OiJcMTBmNGI1In0uZmFkLmZhLWNvbW1lbnRzOmFmdGVye2NvbnRlbnQ6IlwxMGYwODYifS5mYWQuZmEtY29tbWVudHMtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY0YjYifS5mYWQuZmEtY29tbWVudHMtYWx0LWRvbGxhcjphZnRlcntjb250ZW50OiJcMTBmNjUyIn0uZmFkLmZhLWNvbW1lbnRzLWRvbGxhcjphZnRlcntjb250ZW50OiJcMTBmNjUzIn0uZmFkLmZhLWNvbXBhY3QtZGlzYzphZnRlcntjb250ZW50OiJcMTBmNTFmIn0uZmFkLmZhLWNvbXBhc3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjE0ZSJ9LmZhZC5mYS1jb21wYXNzLXNsYXNoOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZTkifS5mYWQuZmEtY29tcHJlc3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjA2NiJ9LmZhZC5mYS1jb21wcmVzcy1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQyMiJ9LmZhZC5mYS1jb21wcmVzcy1hcnJvd3MtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY3OGMifS5mYWQuZmEtY29tcHJlc3Mtd2lkZTphZnRlcntjb250ZW50OiJcMTBmMzI2In0uZmFkLmZhLWNvbXB1dGVyLWNsYXNzaWM6YWZ0ZXJ7Y29udGVudDoiXDEwZjhiMSJ9LmZhZC5mYS1jb21wdXRlci1zcGVha2VyOmFmdGVye2NvbnRlbnQ6IlwxMGY4YjIifS5mYWQuZmEtY29uY2llcmdlLWJlbGw6YWZ0ZXJ7Y29udGVudDoiXDEwZjU2MiJ9LmZhZC5mYS1jb25zdHJ1Y3Rpb246YWZ0ZXJ7Y29udGVudDoiXDEwZjg1ZCJ9LmZhZC5mYS1jb250YWluZXItc3RvcmFnZTphZnRlcntjb250ZW50OiJcMTBmNGI3In0uZmFkLmZhLWNvbnZleW9yLWJlbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ2ZSJ9LmZhZC5mYS1jb252ZXlvci1iZWx0LWFsdDphZnRlcntjb250ZW50OiJcMTBmNDZmIn0uZmFkLmZhLWNvb2tpZTphZnRlcntjb250ZW50OiJcMTBmNTYzIn0uZmFkLmZhLWNvb2tpZS1iaXRlOmFmdGVye2NvbnRlbnQ6IlwxMGY1NjQifS5mYWQuZmEtY29weTphZnRlcntjb250ZW50OiJcMTBmMGM1In0uZmFkLmZhLWNvcHlyaWdodDphZnRlcntjb250ZW50OiJcMTBmMWY5In0uZmFkLmZhLWNvcm46YWZ0ZXJ7Y29udGVudDoiXDEwZjZjNyJ9LmZhZC5mYS1jb3VjaDphZnRlcntjb250ZW50OiJcMTBmNGI4In0uZmFkLmZhLWNvdzphZnRlcntjb250ZW50OiJcMTBmNmM4In0uZmFkLmZhLWNvd2JlbGw6YWZ0ZXJ7Y29udGVudDoiXDEwZjhiMyJ9LmZhZC5mYS1jb3diZWxsLW1vcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjhiNCJ9LmZhZC5mYS1jcmVkaXQtY2FyZDphZnRlcntjb250ZW50OiJcMTBmMDlkIn0uZmFkLmZhLWNyZWRpdC1jYXJkLWJsYW5rOmFmdGVye2NvbnRlbnQ6IlwxMGYzODkifS5mYWQuZmEtY3JlZGl0LWNhcmQtZnJvbnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM4YSJ9LmZhZC5mYS1jcmlja2V0OmFmdGVye2NvbnRlbnQ6IlwxMGY0NDkifS5mYWQuZmEtY3JvaXNzYW50OmFmdGVye2NvbnRlbnQ6IlwxMGY3ZjYifS5mYWQuZmEtY3JvcDphZnRlcntjb250ZW50OiJcMTBmMTI1In0uZmFkLmZhLWNyb3AtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY1NjUifS5mYWQuZmEtY3Jvc3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjY1NCJ9LmZhZC5mYS1jcm9zc2hhaXJzOmFmdGVye2NvbnRlbnQ6IlwxMGYwNWIifS5mYWQuZmEtY3JvdzphZnRlcntjb250ZW50OiJcMTBmNTIwIn0uZmFkLmZhLWNyb3duOmFmdGVye2NvbnRlbnQ6IlwxMGY1MjEifS5mYWQuZmEtY3J1dGNoOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZjcifS5mYWQuZmEtY3J1dGNoZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjdmOCJ9LmZhZC5mYS1jdWJlOmFmdGVye2NvbnRlbnQ6IlwxMGYxYjIifS5mYWQuZmEtY3ViZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjFiMyJ9LmZhZC5mYS1jdXJsaW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY0NGEifS5mYWQuZmEtY3V0OmFmdGVye2NvbnRlbnQ6IlwxMGYwYzQifS5mYWQuZmEtZGFnZ2VyOmFmdGVye2NvbnRlbnQ6IlwxMGY2Y2IifS5mYWQuZmEtZGF0YWJhc2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjFjMCJ9LmZhZC5mYS1kZWFmOmFmdGVye2NvbnRlbnQ6IlwxMGYyYTQifS5mYWQuZmEtZGVidWc6YWZ0ZXJ7Y29udGVudDoiXDEwZjdmOSJ9LmZhZC5mYS1kZWVyOmFmdGVye2NvbnRlbnQ6IlwxMGY3OGUifS5mYWQuZmEtZGVlci1ydWRvbHBoOmFmdGVye2NvbnRlbnQ6IlwxMGY3OGYifS5mYWQuZmEtZGVtb2NyYXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjc0NyJ9LmZhZC5mYS1kZXNrdG9wOmFmdGVye2NvbnRlbnQ6IlwxMGYxMDgifS5mYWQuZmEtZGVza3RvcC1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM5MCJ9LmZhZC5mYS1kZXdwb2ludDphZnRlcntjb250ZW50OiJcMTBmNzQ4In0uZmFkLmZhLWRoYXJtYWNoYWtyYTphZnRlcntjb250ZW50OiJcMTBmNjU1In0uZmFkLmZhLWRpYWdub3NlczphZnRlcntjb250ZW50OiJcMTBmNDcwIn0uZmFkLmZhLWRpYW1vbmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjIxOSJ9LmZhZC5mYS1kaWNlOmFmdGVye2NvbnRlbnQ6IlwxMGY1MjIifS5mYWQuZmEtZGljZS1kMTA6YWZ0ZXJ7Y29udGVudDoiXDEwZjZjZCJ9LmZhZC5mYS1kaWNlLWQxMjphZnRlcntjb250ZW50OiJcMTBmNmNlIn0uZmFkLmZhLWRpY2UtZDIwOmFmdGVye2NvbnRlbnQ6IlwxMGY2Y2YifS5mYWQuZmEtZGljZS1kNDphZnRlcntjb250ZW50OiJcMTBmNmQwIn0uZmFkLmZhLWRpY2UtZDY6YWZ0ZXJ7Y29udGVudDoiXDEwZjZkMSJ9LmZhZC5mYS1kaWNlLWQ4OmFmdGVye2NvbnRlbnQ6IlwxMGY2ZDIifS5mYWQuZmEtZGljZS1maXZlOmFmdGVye2NvbnRlbnQ6IlwxMGY1MjMifS5mYWQuZmEtZGljZS1mb3VyOmFmdGVye2NvbnRlbnQ6IlwxMGY1MjQifS5mYWQuZmEtZGljZS1vbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjUyNSJ9LmZhZC5mYS1kaWNlLXNpeDphZnRlcntjb250ZW50OiJcMTBmNTI2In0uZmFkLmZhLWRpY2UtdGhyZWU6YWZ0ZXJ7Y29udGVudDoiXDEwZjUyNyJ9LmZhZC5mYS1kaWNlLXR3bzphZnRlcntjb250ZW50OiJcMTBmNTI4In0uZmFkLmZhLWRpZ2dpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjg1ZSJ9LmZhZC5mYS1kaWdpdGFsLXRhY2hvZ3JhcGg6YWZ0ZXJ7Y29udGVudDoiXDEwZjU2NiJ9LmZhZC5mYS1kaXBsb21hOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZWEifS5mYWQuZmEtZGlyZWN0aW9uczphZnRlcntjb250ZW50OiJcMTBmNWViIn0uZmFkLmZhLWRpc2MtZHJpdmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjhiNSJ9LmZhZC5mYS1kaXNlYXNlOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZmEifS5mYWQuZmEtZGl2aWRlOmFmdGVye2NvbnRlbnQ6IlwxMGY1MjkifS5mYWQuZmEtZGl6enk6YWZ0ZXJ7Y29udGVudDoiXDEwZjU2NyJ9LmZhZC5mYS1kbmE6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ3MSJ9LmZhZC5mYS1kby1ub3QtZW50ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjVlYyJ9LmZhZC5mYS1kb2c6YWZ0ZXJ7Y29udGVudDoiXDEwZjZkMyJ9LmZhZC5mYS1kb2ctbGVhc2hlZDphZnRlcntjb250ZW50OiJcMTBmNmQ0In0uZmFkLmZhLWRvbGxhci1zaWduOmFmdGVye2NvbnRlbnQ6IlwxMGYxNTUifS5mYWQuZmEtZG9sbHk6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ3MiJ9LmZhZC5mYS1kb2xseS1lbXB0eTphZnRlcntjb250ZW50OiJcMTBmNDczIn0uZmFkLmZhLWRvbGx5LWZsYXRiZWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ3NCJ9LmZhZC5mYS1kb2xseS1mbGF0YmVkLWFsdDphZnRlcntjb250ZW50OiJcMTBmNDc1In0uZmFkLmZhLWRvbGx5LWZsYXRiZWQtZW1wdHk6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ3NiJ9LmZhZC5mYS1kb25hdGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjRiOSJ9LmZhZC5mYS1kb29yLWNsb3NlZDphZnRlcntjb250ZW50OiJcMTBmNTJhIn0uZmFkLmZhLWRvb3Itb3BlbjphZnRlcntjb250ZW50OiJcMTBmNTJiIn0uZmFkLmZhLWRvdC1jaXJjbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjE5MiJ9LmZhZC5mYS1kb3ZlOmFmdGVye2NvbnRlbnQ6IlwxMGY0YmEifS5mYWQuZmEtZG93bmxvYWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjAxOSJ9LmZhZC5mYS1kcmFmdGluZy1jb21wYXNzOmFmdGVye2NvbnRlbnQ6IlwxMGY1NjgifS5mYWQuZmEtZHJhZ29uOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZDUifS5mYWQuZmEtZHJhdy1jaXJjbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjVlZCJ9LmZhZC5mYS1kcmF3LXBvbHlnb246YWZ0ZXJ7Y29udGVudDoiXDEwZjVlZSJ9LmZhZC5mYS1kcmF3LXNxdWFyZTphZnRlcntjb250ZW50OiJcMTBmNWVmIn0uZmFkLmZhLWRyZWlkZWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjc5MiJ9LmZhZC5mYS1kcm9uZTphZnRlcntjb250ZW50OiJcMTBmODVmIn0uZmFkLmZhLWRyb25lLWFsdDphZnRlcntjb250ZW50OiJcMTBmODYwIn0uZmFkLmZhLWRydW06YWZ0ZXJ7Y29udGVudDoiXDEwZjU2OSJ9LmZhZC5mYS1kcnVtLXN0ZWVscGFuOmFmdGVye2NvbnRlbnQ6IlwxMGY1NmEifS5mYWQuZmEtZHJ1bXN0aWNrOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZDYifS5mYWQuZmEtZHJ1bXN0aWNrLWJpdGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjZkNyJ9LmZhZC5mYS1kcnllcjphZnRlcntjb250ZW50OiJcMTBmODYxIn0uZmFkLmZhLWRyeWVyLWFsdDphZnRlcntjb250ZW50OiJcMTBmODYyIn0uZmFkLmZhLWR1Y2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjZkOCJ9LmZhZC5mYS1kdW1iYmVsbDphZnRlcntjb250ZW50OiJcMTBmNDRiIn0uZmFkLmZhLWR1bXBzdGVyOmFmdGVye2NvbnRlbnQ6IlwxMGY3OTMifS5mYWQuZmEtZHVtcHN0ZXItZmlyZTphZnRlcntjb250ZW50OiJcMTBmNzk0In0uZmFkLmZhLWR1bmdlb246YWZ0ZXJ7Y29udGVudDoiXDEwZjZkOSJ9LmZhZC5mYS1lYXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjVmMCJ9LmZhZC5mYS1lYXItbXVmZnM6YWZ0ZXJ7Y29udGVudDoiXDEwZjc5NSJ9LmZhZC5mYS1lY2xpcHNlOmFmdGVye2NvbnRlbnQ6IlwxMGY3NDkifS5mYWQuZmEtZWNsaXBzZS1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjc0YSJ9LmZhZC5mYS1lZGl0OmFmdGVye2NvbnRlbnQ6IlwxMGYwNDQifS5mYWQuZmEtZWdnOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZmIifS5mYWQuZmEtZWdnLWZyaWVkOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZmMifS5mYWQuZmEtZWplY3Q6YWZ0ZXJ7Y29udGVudDoiXDEwZjA1MiJ9LmZhZC5mYS1lbGVwaGFudDphZnRlcntjb250ZW50OiJcMTBmNmRhIn0uZmFkLmZhLWVsbGlwc2lzLWg6YWZ0ZXJ7Y29udGVudDoiXDEwZjE0MSJ9LmZhZC5mYS1lbGxpcHNpcy1oLWFsdDphZnRlcntjb250ZW50OiJcMTBmMzliIn0uZmFkLmZhLWVsbGlwc2lzLXY6YWZ0ZXJ7Y29udGVudDoiXDEwZjE0MiJ9LmZhZC5mYS1lbGxpcHNpcy12LWFsdDphZnRlcntjb250ZW50OiJcMTBmMzljIn0uZmFkLmZhLWVtcHR5LXNldDphZnRlcntjb250ZW50OiJcMTBmNjU2In0uZmFkLmZhLWVuZ2luZS13YXJuaW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZjIifS5mYWQuZmEtZW52ZWxvcGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjBlMCJ9LmZhZC5mYS1lbnZlbG9wZS1vcGVuOmFmdGVye2NvbnRlbnQ6IlwxMGYyYjYifS5mYWQuZmEtZW52ZWxvcGUtb3Blbi1kb2xsYXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjY1NyJ9LmZhZC5mYS1lbnZlbG9wZS1vcGVuLXRleHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjY1OCJ9LmZhZC5mYS1lbnZlbG9wZS1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjE5OSJ9LmZhZC5mYS1lcXVhbHM6YWZ0ZXJ7Y29udGVudDoiXDEwZjUyYyJ9LmZhZC5mYS1lcmFzZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjEyZCJ9LmZhZC5mYS1ldGhlcm5ldDphZnRlcntjb250ZW50OiJcMTBmNzk2In0uZmFkLmZhLWV1cm8tc2lnbjphZnRlcntjb250ZW50OiJcMTBmMTUzIn0uZmFkLmZhLWV4Y2hhbmdlOmFmdGVye2NvbnRlbnQ6IlwxMGYwZWMifS5mYWQuZmEtZXhjaGFuZ2UtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzNjIifS5mYWQuZmEtZXhjbGFtYXRpb246YWZ0ZXJ7Y29udGVudDoiXDEwZjEyYSJ9LmZhZC5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjA2YSJ9LmZhZC5mYS1leGNsYW1hdGlvbi1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjMyMSJ9LmZhZC5mYS1leGNsYW1hdGlvbi10cmlhbmdsZTphZnRlcntjb250ZW50OiJcMTBmMDcxIn0uZmFkLmZhLWV4cGFuZDphZnRlcntjb250ZW50OiJcMTBmMDY1In0uZmFkLmZhLWV4cGFuZC1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQyNCJ9LmZhZC5mYS1leHBhbmQtYXJyb3dzOmFmdGVye2NvbnRlbnQ6IlwxMGYzMWQifS5mYWQuZmEtZXhwYW5kLWFycm93cy1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjMxZSJ9LmZhZC5mYS1leHBhbmQtd2lkZTphZnRlcntjb250ZW50OiJcMTBmMzIwIn0uZmFkLmZhLWV4dGVybmFsLWxpbms6YWZ0ZXJ7Y29udGVudDoiXDEwZjA4ZSJ9LmZhZC5mYS1leHRlcm5hbC1saW5rLWFsdDphZnRlcntjb250ZW50OiJcMTBmMzVkIn0uZmFkLmZhLWV4dGVybmFsLWxpbmstc3F1YXJlOmFmdGVye2NvbnRlbnQ6IlwxMGYxNGMifS5mYWQuZmEtZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzNjAifS5mYWQuZmEtZXllOmFmdGVye2NvbnRlbnQ6IlwxMGYwNmUifS5mYWQuZmEtZXllLWRyb3BwZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjFmYiJ9LmZhZC5mYS1leWUtZXZpbDphZnRlcntjb250ZW50OiJcMTBmNmRiIn0uZmFkLmZhLWV5ZS1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmMDcwIn0uZmFkLmZhLWZhbjphZnRlcntjb250ZW50OiJcMTBmODYzIn0uZmFkLmZhLWZhbi10YWJsZTphZnRlcntjb250ZW50OiJcMTBlMDA0In0uZmFkLmZhLWZhcm06YWZ0ZXJ7Y29udGVudDoiXDEwZjg2NCJ9LmZhZC5mYS1mYXN0LWJhY2t3YXJkOmFmdGVye2NvbnRlbnQ6IlwxMGYwNDkifS5mYWQuZmEtZmFzdC1mb3J3YXJkOmFmdGVye2NvbnRlbnQ6IlwxMGYwNTAifS5mYWQuZmEtZmF1Y2V0OmFmdGVye2NvbnRlbnQ6IlwxMGUwMDUifS5mYWQuZmEtZmF1Y2V0LWRyaXA6YWZ0ZXJ7Y29udGVudDoiXDEwZTAwNiJ9LmZhZC5mYS1mYXg6YWZ0ZXJ7Y29udGVudDoiXDEwZjFhYyJ9LmZhZC5mYS1mZWF0aGVyOmFmdGVye2NvbnRlbnQ6IlwxMGY1MmQifS5mYWQuZmEtZmVhdGhlci1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjU2YiJ9LmZhZC5mYS1mZW1hbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjE4MiJ9LmZhZC5mYS1maWVsZC1ob2NrZXk6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ0YyJ9LmZhZC5mYS1maWdodGVyLWpldDphZnRlcntjb250ZW50OiJcMTBmMGZiIn0uZmFkLmZhLWZpbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjE1YiJ9LmZhZC5mYS1maWxlLWFsdDphZnRlcntjb250ZW50OiJcMTBmMTVjIn0uZmFkLmZhLWZpbGUtYXJjaGl2ZTphZnRlcntjb250ZW50OiJcMTBmMWM2In0uZmFkLmZhLWZpbGUtYXVkaW86YWZ0ZXJ7Y29udGVudDoiXDEwZjFjNyJ9LmZhZC5mYS1maWxlLWNlcnRpZmljYXRlOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZjMifS5mYWQuZmEtZmlsZS1jaGFydC1saW5lOmFmdGVye2NvbnRlbnQ6IlwxMGY2NTkifS5mYWQuZmEtZmlsZS1jaGFydC1waWU6YWZ0ZXJ7Y29udGVudDoiXDEwZjY1YSJ9LmZhZC5mYS1maWxlLWNoZWNrOmFmdGVye2NvbnRlbnQ6IlwxMGYzMTYifS5mYWQuZmEtZmlsZS1jb2RlOmFmdGVye2NvbnRlbnQ6IlwxMGYxYzkifS5mYWQuZmEtZmlsZS1jb250cmFjdDphZnRlcntjb250ZW50OiJcMTBmNTZjIn0uZmFkLmZhLWZpbGUtY3N2OmFmdGVye2NvbnRlbnQ6IlwxMGY2ZGQifS5mYWQuZmEtZmlsZS1kb3dubG9hZDphZnRlcntjb250ZW50OiJcMTBmNTZkIn0uZmFkLmZhLWZpbGUtZWRpdDphZnRlcntjb250ZW50OiJcMTBmMzFjIn0uZmFkLmZhLWZpbGUtZXhjZWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjFjMyJ9LmZhZC5mYS1maWxlLWV4Y2xhbWF0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGYzMWEifS5mYWQuZmEtZmlsZS1leHBvcnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjU2ZSJ9LmZhZC5mYS1maWxlLWltYWdlOmFmdGVye2NvbnRlbnQ6IlwxMGYxYzUifS5mYWQuZmEtZmlsZS1pbXBvcnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjU2ZiJ9LmZhZC5mYS1maWxlLWludm9pY2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjU3MCJ9LmZhZC5mYS1maWxlLWludm9pY2UtZG9sbGFyOmFmdGVye2NvbnRlbnQ6IlwxMGY1NzEifS5mYWQuZmEtZmlsZS1tZWRpY2FsOmFmdGVye2NvbnRlbnQ6IlwxMGY0NzcifS5mYWQuZmEtZmlsZS1tZWRpY2FsLWFsdDphZnRlcntjb250ZW50OiJcMTBmNDc4In0uZmFkLmZhLWZpbGUtbWludXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjMxOCJ9LmZhZC5mYS1maWxlLW11c2ljOmFmdGVye2NvbnRlbnQ6IlwxMGY4YjYifS5mYWQuZmEtZmlsZS1wZGY6YWZ0ZXJ7Y29udGVudDoiXDEwZjFjMSJ9LmZhZC5mYS1maWxlLXBsdXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjMxOSJ9LmZhZC5mYS1maWxlLXBvd2VycG9pbnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjFjNCJ9LmZhZC5mYS1maWxlLXByZXNjcmlwdGlvbjphZnRlcntjb250ZW50OiJcMTBmNTcyIn0uZmFkLmZhLWZpbGUtc2VhcmNoOmFmdGVye2NvbnRlbnQ6IlwxMGY4NjUifS5mYWQuZmEtZmlsZS1zaWduYXR1cmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjU3MyJ9LmZhZC5mYS1maWxlLXNwcmVhZHNoZWV0OmFmdGVye2NvbnRlbnQ6IlwxMGY2NWIifS5mYWQuZmEtZmlsZS10aW1lczphZnRlcntjb250ZW50OiJcMTBmMzE3In0uZmFkLmZhLWZpbGUtdXBsb2FkOmFmdGVye2NvbnRlbnQ6IlwxMGY1NzQifS5mYWQuZmEtZmlsZS11c2VyOmFmdGVye2NvbnRlbnQ6IlwxMGY2NWMifS5mYWQuZmEtZmlsZS12aWRlbzphZnRlcntjb250ZW50OiJcMTBmMWM4In0uZmFkLmZhLWZpbGUtd29yZDphZnRlcntjb250ZW50OiJcMTBmMWMyIn0uZmFkLmZhLWZpbGVzLW1lZGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjdmZCJ9LmZhZC5mYS1maWxsOmFmdGVye2NvbnRlbnQ6IlwxMGY1NzUifS5mYWQuZmEtZmlsbC1kcmlwOmFmdGVye2NvbnRlbnQ6IlwxMGY1NzYifS5mYWQuZmEtZmlsbTphZnRlcntjb250ZW50OiJcMTBmMDA4In0uZmFkLmZhLWZpbG0tYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzYTAifS5mYWQuZmEtZmlsbS1jYW5pc3RlcjphZnRlcntjb250ZW50OiJcMTBmOGI3In0uZmFkLmZhLWZpbHRlcjphZnRlcntjb250ZW50OiJcMTBmMGIwIn0uZmFkLmZhLWZpbmdlcnByaW50OmFmdGVye2NvbnRlbnQ6IlwxMGY1NzcifS5mYWQuZmEtZmlyZTphZnRlcntjb250ZW50OiJcMTBmMDZkIn0uZmFkLmZhLWZpcmUtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY3ZTQifS5mYWQuZmEtZmlyZS1leHRpbmd1aXNoZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjEzNCJ9LmZhZC5mYS1maXJlLXNtb2tlOmFmdGVye2NvbnRlbnQ6IlwxMGY3NGIifS5mYWQuZmEtZmlyZXBsYWNlOmFmdGVye2NvbnRlbnQ6IlwxMGY3OWEifS5mYWQuZmEtZmlyc3QtYWlkOmFmdGVye2NvbnRlbnQ6IlwxMGY0NzkifS5mYWQuZmEtZmlzaDphZnRlcntjb250ZW50OiJcMTBmNTc4In0uZmFkLmZhLWZpc2gtY29va2VkOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZmUifS5mYWQuZmEtZmlzdC1yYWlzZWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjZkZSJ9LmZhZC5mYS1mbGFnOmFmdGVye2NvbnRlbnQ6IlwxMGYwMjQifS5mYWQuZmEtZmxhZy1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjc0YyJ9LmZhZC5mYS1mbGFnLWNoZWNrZXJlZDphZnRlcntjb250ZW50OiJcMTBmMTFlIn0uZmFkLmZhLWZsYWctdXNhOmFmdGVye2NvbnRlbnQ6IlwxMGY3NGQifS5mYWQuZmEtZmxhbWU6YWZ0ZXJ7Y29udGVudDoiXDEwZjZkZiJ9LmZhZC5mYS1mbGFzaGxpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGY4YjgifS5mYWQuZmEtZmxhc2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjBjMyJ9LmZhZC5mYS1mbGFzay1wb2lzb246YWZ0ZXJ7Y29udGVudDoiXDEwZjZlMCJ9LmZhZC5mYS1mbGFzay1wb3Rpb246YWZ0ZXJ7Y29udGVudDoiXDEwZjZlMSJ9LmZhZC5mYS1mbG93ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjdmZiJ9LmZhZC5mYS1mbG93ZXItZGFmZm9kaWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjgwMCJ9LmZhZC5mYS1mbG93ZXItdHVsaXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjgwMSJ9LmZhZC5mYS1mbHVzaGVkOmFmdGVye2NvbnRlbnQ6IlwxMGY1NzkifS5mYWQuZmEtZmx1dGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjhiOSJ9LmZhZC5mYS1mbHV4LWNhcGFjaXRvcjphZnRlcntjb250ZW50OiJcMTBmOGJhIn0uZmFkLmZhLWZvZzphZnRlcntjb250ZW50OiJcMTBmNzRlIn0uZmFkLmZhLWZvbGRlcjphZnRlcntjb250ZW50OiJcMTBmMDdiIn0uZmFkLmZhLWZvbGRlci1kb3dubG9hZDphZnRlcntjb250ZW50OiJcMTBlMDUzIn0uZmFkLmZhLWZvbGRlci1taW51czphZnRlcntjb250ZW50OiJcMTBmNjVkIn0uZmFkLmZhLWZvbGRlci1vcGVuOmFmdGVye2NvbnRlbnQ6IlwxMGYwN2MifS5mYWQuZmEtZm9sZGVyLXBsdXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjY1ZSJ9LmZhZC5mYS1mb2xkZXItdGltZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjY1ZiJ9LmZhZC5mYS1mb2xkZXItdHJlZTphZnRlcntjb250ZW50OiJcMTBmODAyIn0uZmFkLmZhLWZvbGRlci11cGxvYWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZTA1NCJ9LmZhZC5mYS1mb2xkZXJzOmFmdGVye2NvbnRlbnQ6IlwxMGY2NjAifS5mYWQuZmEtZm9udDphZnRlcntjb250ZW50OiJcMTBmMDMxIn0uZmFkLmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YWZ0ZXJ7Y29udGVudDoiXDEwZjRlNiJ9LmZhZC5mYS1mb250LWNhc2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjg2NiJ9LmZhZC5mYS1mb290YmFsbC1iYWxsOmFmdGVye2NvbnRlbnQ6IlwxMGY0NGUifS5mYWQuZmEtZm9vdGJhbGwtaGVsbWV0OmFmdGVye2NvbnRlbnQ6IlwxMGY0NGYifS5mYWQuZmEtZm9ya2xpZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ3YSJ9LmZhZC5mYS1mb3J3YXJkOmFmdGVye2NvbnRlbnQ6IlwxMGYwNGUifS5mYWQuZmEtZnJhZ2lsZTphZnRlcntjb250ZW50OiJcMTBmNGJiIn0uZmFkLmZhLWZyZW5jaC1mcmllczphZnRlcntjb250ZW50OiJcMTBmODAzIn0uZmFkLmZhLWZyb2c6YWZ0ZXJ7Y29udGVudDoiXDEwZjUyZSJ9LmZhZC5mYS1mcm9zdHktaGVhZDphZnRlcntjb250ZW50OiJcMTBmNzliIn0uZmFkLmZhLWZyb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYxMTkifS5mYWQuZmEtZnJvd24tb3BlbjphZnRlcntjb250ZW50OiJcMTBmNTdhIn0uZmFkLmZhLWZ1bmN0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGY2NjEifS5mYWQuZmEtZnVubmVsLWRvbGxhcjphZnRlcntjb250ZW50OiJcMTBmNjYyIn0uZmFkLmZhLWZ1dGJvbDphZnRlcntjb250ZW50OiJcMTBmMWUzIn0uZmFkLmZhLWdhbGF4eTphZnRlcntjb250ZW50OiJcMTBlMDA4In0uZmFkLmZhLWdhbWUtYm9hcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjg2NyJ9LmZhZC5mYS1nYW1lLWJvYXJkLWFsdDphZnRlcntjb250ZW50OiJcMTBmODY4In0uZmFkLmZhLWdhbWUtY29uc29sZS1oYW5kaGVsZDphZnRlcntjb250ZW50OiJcMTBmOGJiIn0uZmFkLmZhLWdhbWVwYWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjExYiJ9LmZhZC5mYS1nYW1lcGFkLWFsdDphZnRlcntjb250ZW50OiJcMTBmOGJjIn0uZmFkLmZhLWdhcmFnZTphZnRlcntjb250ZW50OiJcMTBlMDA5In0uZmFkLmZhLWdhcmFnZS1jYXI6YWZ0ZXJ7Y29udGVudDoiXDEwZTAwYSJ9LmZhZC5mYS1nYXJhZ2Utb3BlbjphZnRlcntjb250ZW50OiJcMTBlMDBiIn0uZmFkLmZhLWdhcy1wdW1wOmFmdGVye2NvbnRlbnQ6IlwxMGY1MmYifS5mYWQuZmEtZ2FzLXB1bXAtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjVmNCJ9LmZhZC5mYS1nYXZlbDphZnRlcntjb250ZW50OiJcMTBmMGUzIn0uZmFkLmZhLWdlbTphZnRlcntjb250ZW50OiJcMTBmM2E1In0uZmFkLmZhLWdlbmRlcmxlc3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjIyZCJ9LmZhZC5mYS1naG9zdDphZnRlcntjb250ZW50OiJcMTBmNmUyIn0uZmFkLmZhLWdpZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjA2YiJ9LmZhZC5mYS1naWZ0LWNhcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjY2MyJ9LmZhZC5mYS1naWZ0czphZnRlcntjb250ZW50OiJcMTBmNzljIn0uZmFkLmZhLWdpbmdlcmJyZWFkLW1hbjphZnRlcntjb250ZW50OiJcMTBmNzlkIn0uZmFkLmZhLWdsYXNzOmFmdGVye2NvbnRlbnQ6IlwxMGY4MDQifS5mYWQuZmEtZ2xhc3MtY2hhbXBhZ25lOmFmdGVye2NvbnRlbnQ6IlwxMGY3OWUifS5mYWQuZmEtZ2xhc3MtY2hlZXJzOmFmdGVye2NvbnRlbnQ6IlwxMGY3OWYifS5mYWQuZmEtZ2xhc3MtY2l0cnVzOmFmdGVye2NvbnRlbnQ6IlwxMGY4NjkifS5mYWQuZmEtZ2xhc3MtbWFydGluaTphZnRlcntjb250ZW50OiJcMTBmMDAwIn0uZmFkLmZhLWdsYXNzLW1hcnRpbmktYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY1N2IifS5mYWQuZmEtZ2xhc3Mtd2hpc2tleTphZnRlcntjb250ZW50OiJcMTBmN2EwIn0uZmFkLmZhLWdsYXNzLXdoaXNrZXktcm9ja3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjdhMSJ9LmZhZC5mYS1nbGFzc2VzOmFmdGVye2NvbnRlbnQ6IlwxMGY1MzAifS5mYWQuZmEtZ2xhc3Nlcy1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjVmNSJ9LmZhZC5mYS1nbG9iZTphZnRlcntjb250ZW50OiJcMTBmMGFjIn0uZmFkLmZhLWdsb2JlLWFmcmljYTphZnRlcntjb250ZW50OiJcMTBmNTdjIn0uZmFkLmZhLWdsb2JlLWFtZXJpY2FzOmFmdGVye2NvbnRlbnQ6IlwxMGY1N2QifS5mYWQuZmEtZ2xvYmUtYXNpYTphZnRlcntjb250ZW50OiJcMTBmNTdlIn0uZmFkLmZhLWdsb2JlLWV1cm9wZTphZnRlcntjb250ZW50OiJcMTBmN2EyIn0uZmFkLmZhLWdsb2JlLXNub3c6YWZ0ZXJ7Y29udGVudDoiXDEwZjdhMyJ9LmZhZC5mYS1nbG9iZS1zdGFuZDphZnRlcntjb250ZW50OiJcMTBmNWY2In0uZmFkLmZhLWdvbGYtYmFsbDphZnRlcntjb250ZW50OiJcMTBmNDUwIn0uZmFkLmZhLWdvbGYtY2x1YjphZnRlcntjb250ZW50OiJcMTBmNDUxIn0uZmFkLmZhLWdvcHVyYW06YWZ0ZXJ7Y29udGVudDoiXDEwZjY2NCJ9LmZhZC5mYS1ncmFkdWF0aW9uLWNhcDphZnRlcntjb250ZW50OiJcMTBmMTlkIn0uZmFkLmZhLWdyYW1vcGhvbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjhiZCJ9LmZhZC5mYS1ncmVhdGVyLXRoYW46YWZ0ZXJ7Y29udGVudDoiXDEwZjUzMSJ9LmZhZC5mYS1ncmVhdGVyLXRoYW4tZXF1YWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjUzMiJ9LmZhZC5mYS1ncmltYWNlOmFmdGVye2NvbnRlbnQ6IlwxMGY1N2YifS5mYWQuZmEtZ3JpbjphZnRlcntjb250ZW50OiJcMTBmNTgwIn0uZmFkLmZhLWdyaW4tYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY1ODEifS5mYWQuZmEtZ3Jpbi1iZWFtOmFmdGVye2NvbnRlbnQ6IlwxMGY1ODIifS5mYWQuZmEtZ3Jpbi1iZWFtLXN3ZWF0OmFmdGVye2NvbnRlbnQ6IlwxMGY1ODMifS5mYWQuZmEtZ3Jpbi1oZWFydHM6YWZ0ZXJ7Y29udGVudDoiXDEwZjU4NCJ9LmZhZC5mYS1ncmluLXNxdWludDphZnRlcntjb250ZW50OiJcMTBmNTg1In0uZmFkLmZhLWdyaW4tc3F1aW50LXRlYXJzOmFmdGVye2NvbnRlbnQ6IlwxMGY1ODYifS5mYWQuZmEtZ3Jpbi1zdGFyczphZnRlcntjb250ZW50OiJcMTBmNTg3In0uZmFkLmZhLWdyaW4tdGVhcnM6YWZ0ZXJ7Y29udGVudDoiXDEwZjU4OCJ9LmZhZC5mYS1ncmluLXRvbmd1ZTphZnRlcntjb250ZW50OiJcMTBmNTg5In0uZmFkLmZhLWdyaW4tdG9uZ3VlLXNxdWludDphZnRlcntjb250ZW50OiJcMTBmNThhIn0uZmFkLmZhLWdyaW4tdG9uZ3VlLXdpbms6YWZ0ZXJ7Y29udGVudDoiXDEwZjU4YiJ9LmZhZC5mYS1ncmluLXdpbms6YWZ0ZXJ7Y29udGVudDoiXDEwZjU4YyJ9LmZhZC5mYS1ncmlwLWhvcml6b250YWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjU4ZCJ9LmZhZC5mYS1ncmlwLWxpbmVzOmFmdGVye2NvbnRlbnQ6IlwxMGY3YTQifS5mYWQuZmEtZ3JpcC1saW5lcy12ZXJ0aWNhbDphZnRlcntjb250ZW50OiJcMTBmN2E1In0uZmFkLmZhLWdyaXAtdmVydGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjU4ZSJ9LmZhZC5mYS1ndWl0YXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjdhNiJ9LmZhZC5mYS1ndWl0YXItZWxlY3RyaWM6YWZ0ZXJ7Y29udGVudDoiXDEwZjhiZSJ9LmZhZC5mYS1ndWl0YXJzOmFmdGVye2NvbnRlbnQ6IlwxMGY4YmYifS5mYWQuZmEtaC1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjBmZCJ9LmZhZC5mYS1oMTphZnRlcntjb250ZW50OiJcMTBmMzEzIn0uZmFkLmZhLWgyOmFmdGVye2NvbnRlbnQ6IlwxMGYzMTQifS5mYWQuZmEtaDM6YWZ0ZXJ7Y29udGVudDoiXDEwZjMxNSJ9LmZhZC5mYS1oNDphZnRlcntjb250ZW50OiJcMTBmODZhIn0uZmFkLmZhLWhhbWJ1cmdlcjphZnRlcntjb250ZW50OiJcMTBmODA1In0uZmFkLmZhLWhhbW1lcjphZnRlcntjb250ZW50OiJcMTBmNmUzIn0uZmFkLmZhLWhhbW1lci13YXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjZlNCJ9LmZhZC5mYS1oYW1zYTphZnRlcntjb250ZW50OiJcMTBmNjY1In0uZmFkLmZhLWhhbmQtaGVhcnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjRiYyJ9LmZhZC5mYS1oYW5kLWhvbGRpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjRiZCJ9LmZhZC5mYS1oYW5kLWhvbGRpbmctYm94OmFmdGVye2NvbnRlbnQ6IlwxMGY0N2IifS5mYWQuZmEtaGFuZC1ob2xkaW5nLWhlYXJ0OmFmdGVye2NvbnRlbnQ6IlwxMGY0YmUifS5mYWQuZmEtaGFuZC1ob2xkaW5nLW1hZ2ljOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZTUifS5mYWQuZmEtaGFuZC1ob2xkaW5nLW1lZGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZTA1YyJ9LmZhZC5mYS1oYW5kLWhvbGRpbmctc2VlZGxpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjRiZiJ9LmZhZC5mYS1oYW5kLWhvbGRpbmctdXNkOmFmdGVye2NvbnRlbnQ6IlwxMGY0YzAifS5mYWQuZmEtaGFuZC1ob2xkaW5nLXdhdGVyOmFmdGVye2NvbnRlbnQ6IlwxMGY0YzEifS5mYWQuZmEtaGFuZC1saXphcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjI1OCJ9LmZhZC5mYS1oYW5kLW1pZGRsZS1maW5nZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjgwNiJ9LmZhZC5mYS1oYW5kLXBhcGVyOmFmdGVye2NvbnRlbnQ6IlwxMGYyNTYifS5mYWQuZmEtaGFuZC1wZWFjZTphZnRlcntjb250ZW50OiJcMTBmMjViIn0uZmFkLmZhLWhhbmQtcG9pbnQtZG93bjphZnRlcntjb250ZW50OiJcMTBmMGE3In0uZmFkLmZhLWhhbmQtcG9pbnQtbGVmdDphZnRlcntjb250ZW50OiJcMTBmMGE1In0uZmFkLmZhLWhhbmQtcG9pbnQtcmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjBhNCJ9LmZhZC5mYS1oYW5kLXBvaW50LXVwOmFmdGVye2NvbnRlbnQ6IlwxMGYwYTYifS5mYWQuZmEtaGFuZC1wb2ludGVyOmFmdGVye2NvbnRlbnQ6IlwxMGYyNWEifS5mYWQuZmEtaGFuZC1yZWNlaXZpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ3YyJ9LmZhZC5mYS1oYW5kLXJvY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjI1NSJ9LmZhZC5mYS1oYW5kLXNjaXNzb3JzOmFmdGVye2NvbnRlbnQ6IlwxMGYyNTcifS5mYWQuZmEtaGFuZC1zcGFya2xlczphZnRlcntjb250ZW50OiJcMTBlMDVkIn0uZmFkLmZhLWhhbmQtc3BvY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjI1OSJ9LmZhZC5mYS1oYW5kczphZnRlcntjb250ZW50OiJcMTBmNGMyIn0uZmFkLmZhLWhhbmRzLWhlYXJ0OmFmdGVye2NvbnRlbnQ6IlwxMGY0YzMifS5mYWQuZmEtaGFuZHMtaGVscGluZzphZnRlcntjb250ZW50OiJcMTBmNGM0In0uZmFkLmZhLWhhbmRzLXVzZDphZnRlcntjb250ZW50OiJcMTBmNGM1In0uZmFkLmZhLWhhbmRzLXdhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZTA1ZSJ9LmZhZC5mYS1oYW5kc2hha2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjJiNSJ9LmZhZC5mYS1oYW5kc2hha2UtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY0YzYifS5mYWQuZmEtaGFuZHNoYWtlLWFsdC1zbGFzaDphZnRlcntjb250ZW50OiJcMTBlMDVmIn0uZmFkLmZhLWhhbmRzaGFrZS1zbGFzaDphZnRlcntjb250ZW50OiJcMTBlMDYwIn0uZmFkLmZhLWhhbnVraWFoOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZTYifS5mYWQuZmEtaGFyZC1oYXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjgwNyJ9LmZhZC5mYS1oYXNodGFnOmFmdGVye2NvbnRlbnQ6IlwxMGYyOTIifS5mYWQuZmEtaGF0LWNoZWY6YWZ0ZXJ7Y29udGVudDoiXDEwZjg2YiJ9LmZhZC5mYS1oYXQtY293Ym95OmFmdGVye2NvbnRlbnQ6IlwxMGY4YzAifS5mYWQuZmEtaGF0LWNvd2JveS1zaWRlOmFmdGVye2NvbnRlbnQ6IlwxMGY4YzEifS5mYWQuZmEtaGF0LXNhbnRhOmFmdGVye2NvbnRlbnQ6IlwxMGY3YTcifS5mYWQuZmEtaGF0LXdpbnRlcjphZnRlcntjb250ZW50OiJcMTBmN2E4In0uZmFkLmZhLWhhdC13aXRjaDphZnRlcntjb250ZW50OiJcMTBmNmU3In0uZmFkLmZhLWhhdC13aXphcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjZlOCJ9LmZhZC5mYS1oZGQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjBhMCJ9LmZhZC5mYS1oZWFkLXNpZGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjZlOSJ9LmZhZC5mYS1oZWFkLXNpZGUtYnJhaW46YWZ0ZXJ7Y29udGVudDoiXDEwZjgwOCJ9LmZhZC5mYS1oZWFkLXNpZGUtY291Z2g6YWZ0ZXJ7Y29udGVudDoiXDEwZTA2MSJ9LmZhZC5mYS1oZWFkLXNpZGUtY291Z2gtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZTA2MiJ9LmZhZC5mYS1oZWFkLXNpZGUtaGVhZHBob25lczphZnRlcntjb250ZW50OiJcMTBmOGMyIn0uZmFkLmZhLWhlYWQtc2lkZS1tYXNrOmFmdGVye2NvbnRlbnQ6IlwxMGUwNjMifS5mYWQuZmEtaGVhZC1zaWRlLW1lZGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjgwOSJ9LmZhZC5mYS1oZWFkLXNpZGUtdmlydXM6YWZ0ZXJ7Y29udGVudDoiXDEwZTA2NCJ9LmZhZC5mYS1oZWFkLXZyOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZWEifS5mYWQuZmEtaGVhZGluZzphZnRlcntjb250ZW50OiJcMTBmMWRjIn0uZmFkLmZhLWhlYWRwaG9uZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjAyNSJ9LmZhZC5mYS1oZWFkcGhvbmVzLWFsdDphZnRlcntjb250ZW50OiJcMTBmNThmIn0uZmFkLmZhLWhlYWRzZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjU5MCJ9LmZhZC5mYS1oZWFydDphZnRlcntjb250ZW50OiJcMTBmMDA0In0uZmFkLmZhLWhlYXJ0LWJyb2tlbjphZnRlcntjb250ZW50OiJcMTBmN2E5In0uZmFkLmZhLWhlYXJ0LWNpcmNsZTphZnRlcntjb250ZW50OiJcMTBmNGM3In0uZmFkLmZhLWhlYXJ0LXJhdGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjVmOCJ9LmZhZC5mYS1oZWFydC1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjRjOCJ9LmZhZC5mYS1oZWFydGJlYXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjIxZSJ9LmZhZC5mYS1oZWF0OmFmdGVye2NvbnRlbnQ6IlwxMGUwMGMifS5mYWQuZmEtaGVsaWNvcHRlcjphZnRlcntjb250ZW50OiJcMTBmNTMzIn0uZmFkLmZhLWhlbG1ldC1iYXR0bGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjZlYiJ9LmZhZC5mYS1oZXhhZ29uOmFmdGVye2NvbnRlbnQ6IlwxMGYzMTIifS5mYWQuZmEtaGlnaGxpZ2h0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjU5MSJ9LmZhZC5mYS1oaWtpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjZlYyJ9LmZhZC5mYS1oaXBwbzphZnRlcntjb250ZW50OiJcMTBmNmVkIn0uZmFkLmZhLWhpc3Rvcnk6YWZ0ZXJ7Y29udGVudDoiXDEwZjFkYSJ9LmZhZC5mYS1ob2NrZXktbWFzazphZnRlcntjb250ZW50OiJcMTBmNmVlIn0uZmFkLmZhLWhvY2tleS1wdWNrOmFmdGVye2NvbnRlbnQ6IlwxMGY0NTMifS5mYWQuZmEtaG9ja2V5LXN0aWNrczphZnRlcntjb250ZW50OiJcMTBmNDU0In0uZmFkLmZhLWhvbGx5LWJlcnJ5OmFmdGVye2NvbnRlbnQ6IlwxMGY3YWEifS5mYWQuZmEtaG9tZTphZnRlcntjb250ZW50OiJcMTBmMDE1In0uZmFkLmZhLWhvbWUtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4MGEifS5mYWQuZmEtaG9tZS1oZWFydDphZnRlcntjb250ZW50OiJcMTBmNGM5In0uZmFkLmZhLWhvbWUtbGc6YWZ0ZXJ7Y29udGVudDoiXDEwZjgwYiJ9LmZhZC5mYS1ob21lLWxnLWFsdDphZnRlcntjb250ZW50OiJcMTBmODBjIn0uZmFkLmZhLWhvb2QtY2xvYWs6YWZ0ZXJ7Y29udGVudDoiXDEwZjZlZiJ9LmZhZC5mYS1ob3Jpem9udGFsLXJ1bGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjg2YyJ9LmZhZC5mYS1ob3JzZTphZnRlcntjb250ZW50OiJcMTBmNmYwIn0uZmFkLmZhLWhvcnNlLWhlYWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjdhYiJ9LmZhZC5mYS1ob3JzZS1zYWRkbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjhjMyJ9LmZhZC5mYS1ob3NwaXRhbDphZnRlcntjb250ZW50OiJcMTBmMGY4In0uZmFkLmZhLWhvc3BpdGFsLWFsdDphZnRlcntjb250ZW50OiJcMTBmNDdkIn0uZmFkLmZhLWhvc3BpdGFsLXN5bWJvbDphZnRlcntjb250ZW50OiJcMTBmNDdlIn0uZmFkLmZhLWhvc3BpdGFsLXVzZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjgwZCJ9LmZhZC5mYS1ob3NwaXRhbHM6YWZ0ZXJ7Y29udGVudDoiXDEwZjgwZSJ9LmZhZC5mYS1ob3QtdHViOmFmdGVye2NvbnRlbnQ6IlwxMGY1OTMifS5mYWQuZmEtaG90ZG9nOmFmdGVye2NvbnRlbnQ6IlwxMGY4MGYifS5mYWQuZmEtaG90ZWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjU5NCJ9LmZhZC5mYS1ob3VyZ2xhc3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjI1NCJ9LmZhZC5mYS1ob3VyZ2xhc3MtZW5kOmFmdGVye2NvbnRlbnQ6IlwxMGYyNTMifS5mYWQuZmEtaG91cmdsYXNzLWhhbGY6YWZ0ZXJ7Y29udGVudDoiXDEwZjI1MiJ9LmZhZC5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjI1MSJ9LmZhZC5mYS1ob3VzZTphZnRlcntjb250ZW50OiJcMTBlMDBkIn0uZmFkLmZhLWhvdXNlLWRhbWFnZTphZnRlcntjb250ZW50OiJcMTBmNmYxIn0uZmFkLmZhLWhvdXNlLWRheTphZnRlcntjb250ZW50OiJcMTBlMDBlIn0uZmFkLmZhLWhvdXNlLWZsb29kOmFmdGVye2NvbnRlbnQ6IlwxMGY3NGYifS5mYWQuZmEtaG91c2UtbGVhdmU6YWZ0ZXJ7Y29udGVudDoiXDEwZTAwZiJ9LmZhZC5mYS1ob3VzZS1uaWdodDphZnRlcntjb250ZW50OiJcMTBlMDEwIn0uZmFkLmZhLWhvdXNlLXJldHVybjphZnRlcntjb250ZW50OiJcMTBlMDExIn0uZmFkLmZhLWhvdXNlLXNpZ25hbDphZnRlcntjb250ZW50OiJcMTBlMDEyIn0uZmFkLmZhLWhvdXNlLXVzZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZTA2NSJ9LmZhZC5mYS1ocnl2bmlhOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZjIifS5mYWQuZmEtaHVtaWRpdHk6YWZ0ZXJ7Y29udGVudDoiXDEwZjc1MCJ9LmZhZC5mYS1odXJyaWNhbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjc1MSJ9LmZhZC5mYS1pLWN1cnNvcjphZnRlcntjb250ZW50OiJcMTBmMjQ2In0uZmFkLmZhLWljZS1jcmVhbTphZnRlcntjb250ZW50OiJcMTBmODEwIn0uZmFkLmZhLWljZS1za2F0ZTphZnRlcntjb250ZW50OiJcMTBmN2FjIn0uZmFkLmZhLWljaWNsZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjdhZCJ9LmZhZC5mYS1pY29uczphZnRlcntjb250ZW50OiJcMTBmODZkIn0uZmFkLmZhLWljb25zLWFsdDphZnRlcntjb250ZW50OiJcMTBmODZlIn0uZmFkLmZhLWlkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IlwxMGYyYzEifS5mYWQuZmEtaWQtY2FyZDphZnRlcntjb250ZW50OiJcMTBmMmMyIn0uZmFkLmZhLWlkLWNhcmQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY0N2YifS5mYWQuZmEtaWdsb286YWZ0ZXJ7Y29udGVudDoiXDEwZjdhZSJ9LmZhZC5mYS1pbWFnZTphZnRlcntjb250ZW50OiJcMTBmMDNlIn0uZmFkLmZhLWltYWdlLXBvbGFyb2lkOmFmdGVye2NvbnRlbnQ6IlwxMGY4YzQifS5mYWQuZmEtaW1hZ2VzOmFmdGVye2NvbnRlbnQ6IlwxMGYzMDIifS5mYWQuZmEtaW5ib3g6YWZ0ZXJ7Y29udGVudDoiXDEwZjAxYyJ9LmZhZC5mYS1pbmJveC1pbjphZnRlcntjb250ZW50OiJcMTBmMzEwIn0uZmFkLmZhLWluYm94LW91dDphZnRlcntjb250ZW50OiJcMTBmMzExIn0uZmFkLmZhLWluZGVudDphZnRlcntjb250ZW50OiJcMTBmMDNjIn0uZmFkLmZhLWluZHVzdHJ5OmFmdGVye2NvbnRlbnQ6IlwxMGYyNzUifS5mYWQuZmEtaW5kdXN0cnktYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzYjMifS5mYWQuZmEtaW5maW5pdHk6YWZ0ZXJ7Y29udGVudDoiXDEwZjUzNCJ9LmZhZC5mYS1pbmZvOmFmdGVye2NvbnRlbnQ6IlwxMGYxMjkifS5mYWQuZmEtaW5mby1jaXJjbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjA1YSJ9LmZhZC5mYS1pbmZvLXNxdWFyZTphZnRlcntjb250ZW50OiJcMTBmMzBmIn0uZmFkLmZhLWluaGFsZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjVmOSJ9LmZhZC5mYS1pbnRlZ3JhbDphZnRlcntjb250ZW50OiJcMTBmNjY3In0uZmFkLmZhLWludGVyc2VjdGlvbjphZnRlcntjb250ZW50OiJcMTBmNjY4In0uZmFkLmZhLWludmVudG9yeTphZnRlcntjb250ZW50OiJcMTBmNDgwIn0uZmFkLmZhLWlzbGFuZC10cm9waWNhbDphZnRlcntjb250ZW50OiJcMTBmODExIn0uZmFkLmZhLWl0YWxpYzphZnRlcntjb250ZW50OiJcMTBmMDMzIn0uZmFkLmZhLWphY2stby1sYW50ZXJuOmFmdGVye2NvbnRlbnQ6IlwxMGYzMGUifS5mYWQuZmEtamVkaTphZnRlcntjb250ZW50OiJcMTBmNjY5In0uZmFkLmZhLWpvaW50OmFmdGVye2NvbnRlbnQ6IlwxMGY1OTUifS5mYWQuZmEtam91cm5hbC13aGlsbHM6YWZ0ZXJ7Y29udGVudDoiXDEwZjY2YSJ9LmZhZC5mYS1qb3lzdGljazphZnRlcntjb250ZW50OiJcMTBmOGM1In0uZmFkLmZhLWp1ZzphZnRlcntjb250ZW50OiJcMTBmOGM2In0uZmFkLmZhLWthYWJhOmFmdGVye2NvbnRlbnQ6IlwxMGY2NmIifS5mYWQuZmEta2F6b286YWZ0ZXJ7Y29udGVudDoiXDEwZjhjNyJ9LmZhZC5mYS1rZXJuaW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY4NmYifS5mYWQuZmEta2V5OmFmdGVye2NvbnRlbnQ6IlwxMGYwODQifS5mYWQuZmEta2V5LXNrZWxldG9uOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZjMifS5mYWQuZmEta2V5Ym9hcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjExYyJ9LmZhZC5mYS1rZXlub3RlOmFmdGVye2NvbnRlbnQ6IlwxMGY2NmMifS5mYWQuZmEta2hhbmRhOmFmdGVye2NvbnRlbnQ6IlwxMGY2NmQifS5mYWQuZmEta2lkbmV5czphZnRlcntjb250ZW50OiJcMTBmNWZiIn0uZmFkLmZhLWtpc3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjU5NiJ9LmZhZC5mYS1raXNzLWJlYW06YWZ0ZXJ7Y29udGVudDoiXDEwZjU5NyJ9LmZhZC5mYS1raXNzLXdpbmstaGVhcnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjU5OCJ9LmZhZC5mYS1raXRlOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZjQifS5mYWQuZmEta2l3aS1iaXJkOmFmdGVye2NvbnRlbnQ6IlwxMGY1MzUifS5mYWQuZmEta25pZmUta2l0Y2hlbjphZnRlcntjb250ZW50OiJcMTBmNmY1In0uZmFkLmZhLWxhbWJkYTphZnRlcntjb250ZW50OiJcMTBmNjZlIn0uZmFkLmZhLWxhbXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjRjYSJ9LmZhZC5mYS1sYW1wLWRlc2s6YWZ0ZXJ7Y29udGVudDoiXDEwZTAxNCJ9LmZhZC5mYS1sYW1wLWZsb29yOmFmdGVye2NvbnRlbnQ6IlwxMGUwMTUifS5mYWQuZmEtbGFuZG1hcms6YWZ0ZXJ7Y29udGVudDoiXDEwZjY2ZiJ9LmZhZC5mYS1sYW5kbWFyay1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjc1MiJ9LmZhZC5mYS1sYW5ndWFnZTphZnRlcntjb250ZW50OiJcMTBmMWFiIn0uZmFkLmZhLWxhcHRvcDphZnRlcntjb250ZW50OiJcMTBmMTA5In0uZmFkLmZhLWxhcHRvcC1jb2RlOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZmMifS5mYWQuZmEtbGFwdG9wLWhvdXNlOmFmdGVye2NvbnRlbnQ6IlwxMGUwNjYifS5mYWQuZmEtbGFwdG9wLW1lZGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjgxMiJ9LmZhZC5mYS1sYXNzbzphZnRlcntjb250ZW50OiJcMTBmOGM4In0uZmFkLmZhLWxhdWdoOmFmdGVye2NvbnRlbnQ6IlwxMGY1OTkifS5mYWQuZmEtbGF1Z2gtYmVhbTphZnRlcntjb250ZW50OiJcMTBmNTlhIn0uZmFkLmZhLWxhdWdoLXNxdWludDphZnRlcntjb250ZW50OiJcMTBmNTliIn0uZmFkLmZhLWxhdWdoLXdpbms6YWZ0ZXJ7Y29udGVudDoiXDEwZjU5YyJ9LmZhZC5mYS1sYXllci1ncm91cDphZnRlcntjb250ZW50OiJcMTBmNWZkIn0uZmFkLmZhLWxheWVyLW1pbnVzOmFmdGVye2NvbnRlbnQ6IlwxMGY1ZmUifS5mYWQuZmEtbGF5ZXItcGx1czphZnRlcntjb250ZW50OiJcMTBmNWZmIn0uZmFkLmZhLWxlYWY6YWZ0ZXJ7Y29udGVudDoiXDEwZjA2YyJ9LmZhZC5mYS1sZWFmLWhlYXJ0OmFmdGVye2NvbnRlbnQ6IlwxMGY0Y2IifS5mYWQuZmEtbGVhZi1tYXBsZTphZnRlcntjb250ZW50OiJcMTBmNmY2In0uZmFkLmZhLWxlYWYtb2FrOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZjcifS5mYWQuZmEtbGVtb246YWZ0ZXJ7Y29udGVudDoiXDEwZjA5NCJ9LmZhZC5mYS1sZXNzLXRoYW46YWZ0ZXJ7Y29udGVudDoiXDEwZjUzNiJ9LmZhZC5mYS1sZXNzLXRoYW4tZXF1YWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjUzNyJ9LmZhZC5mYS1sZXZlbC1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYxNDkifS5mYWQuZmEtbGV2ZWwtZG93bi1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjNiZSJ9LmZhZC5mYS1sZXZlbC11cDphZnRlcntjb250ZW50OiJcMTBmMTQ4In0uZmFkLmZhLWxldmVsLXVwLWFsdDphZnRlcntjb250ZW50OiJcMTBmM2JmIn0uZmFkLmZhLWxpZmUtcmluZzphZnRlcntjb250ZW50OiJcMTBmMWNkIn0uZmFkLmZhLWxpZ2h0LWNlaWxpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZTAxNiJ9LmZhZC5mYS1saWdodC1zd2l0Y2g6YWZ0ZXJ7Y29udGVudDoiXDEwZTAxNyJ9LmZhZC5mYS1saWdodC1zd2l0Y2gtb2ZmOmFmdGVye2NvbnRlbnQ6IlwxMGUwMTgifS5mYWQuZmEtbGlnaHQtc3dpdGNoLW9uOmFmdGVye2NvbnRlbnQ6IlwxMGUwMTkifS5mYWQuZmEtbGlnaHRidWxiOmFmdGVye2NvbnRlbnQ6IlwxMGYwZWIifS5mYWQuZmEtbGlnaHRidWxiLWRvbGxhcjphZnRlcntjb250ZW50OiJcMTBmNjcwIn0uZmFkLmZhLWxpZ2h0YnVsYi1leGNsYW1hdGlvbjphZnRlcntjb250ZW50OiJcMTBmNjcxIn0uZmFkLmZhLWxpZ2h0YnVsYi1vbjphZnRlcntjb250ZW50OiJcMTBmNjcyIn0uZmFkLmZhLWxpZ2h0YnVsYi1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmNjczIn0uZmFkLmZhLWxpZ2h0cy1ob2xpZGF5OmFmdGVye2NvbnRlbnQ6IlwxMGY3YjIifS5mYWQuZmEtbGluZS1jb2x1bW5zOmFmdGVye2NvbnRlbnQ6IlwxMGY4NzAifS5mYWQuZmEtbGluZS1oZWlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjg3MSJ9LmZhZC5mYS1saW5rOmFmdGVye2NvbnRlbnQ6IlwxMGYwYzEifS5mYWQuZmEtbGlwczphZnRlcntjb250ZW50OiJcMTBmNjAwIn0uZmFkLmZhLWxpcmEtc2lnbjphZnRlcntjb250ZW50OiJcMTBmMTk1In0uZmFkLmZhLWxpc3Q6YWZ0ZXJ7Y29udGVudDoiXDEwZjAzYSJ9LmZhZC5mYS1saXN0LWFsdDphZnRlcntjb250ZW50OiJcMTBmMDIyIn0uZmFkLmZhLWxpc3QtbXVzaWM6YWZ0ZXJ7Y29udGVudDoiXDEwZjhjOSJ9LmZhZC5mYS1saXN0LW9sOmFmdGVye2NvbnRlbnQ6IlwxMGYwY2IifS5mYWQuZmEtbGlzdC11bDphZnRlcntjb250ZW50OiJcMTBmMGNhIn0uZmFkLmZhLWxvY2F0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGY2MDEifS5mYWQuZmEtbG9jYXRpb24tYXJyb3c6YWZ0ZXJ7Y29udGVudDoiXDEwZjEyNCJ9LmZhZC5mYS1sb2NhdGlvbi1jaXJjbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjYwMiJ9LmZhZC5mYS1sb2NhdGlvbi1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmNjAzIn0uZmFkLmZhLWxvY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjAyMyJ9LmZhZC5mYS1sb2NrLWFsdDphZnRlcntjb250ZW50OiJcMTBmMzBkIn0uZmFkLmZhLWxvY2stb3BlbjphZnRlcntjb250ZW50OiJcMTBmM2MxIn0uZmFkLmZhLWxvY2stb3Blbi1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjNjMiJ9LmZhZC5mYS1sb25nLWFycm93LWFsdC1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYzMDkifS5mYWQuZmEtbG9uZy1hcnJvdy1hbHQtbGVmdDphZnRlcntjb250ZW50OiJcMTBmMzBhIn0uZmFkLmZhLWxvbmctYXJyb3ctYWx0LXJpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGYzMGIifS5mYWQuZmEtbG9uZy1hcnJvdy1hbHQtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjMwYyJ9LmZhZC5mYS1sb25nLWFycm93LWRvd246YWZ0ZXJ7Y29udGVudDoiXDEwZjE3NSJ9LmZhZC5mYS1sb25nLWFycm93LWxlZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjE3NyJ9LmZhZC5mYS1sb25nLWFycm93LXJpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGYxNzgifS5mYWQuZmEtbG9uZy1hcnJvdy11cDphZnRlcntjb250ZW50OiJcMTBmMTc2In0uZmFkLmZhLWxvdmVzZWF0OmFmdGVye2NvbnRlbnQ6IlwxMGY0Y2MifS5mYWQuZmEtbG93LXZpc2lvbjphZnRlcntjb250ZW50OiJcMTBmMmE4In0uZmFkLmZhLWx1Y2hhZG9yOmFmdGVye2NvbnRlbnQ6IlwxMGY0NTUifS5mYWQuZmEtbHVnZ2FnZS1jYXJ0OmFmdGVye2NvbnRlbnQ6IlwxMGY1OWQifS5mYWQuZmEtbHVuZ3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjYwNCJ9LmZhZC5mYS1sdW5ncy12aXJ1czphZnRlcntjb250ZW50OiJcMTBlMDY3In0uZmFkLmZhLW1hY2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjZmOCJ9LmZhZC5mYS1tYWdpYzphZnRlcntjb250ZW50OiJcMTBmMGQwIn0uZmFkLmZhLW1hZ25ldDphZnRlcntjb250ZW50OiJcMTBmMDc2In0uZmFkLmZhLW1haWwtYnVsazphZnRlcntjb250ZW50OiJcMTBmNjc0In0uZmFkLmZhLW1haWxib3g6YWZ0ZXJ7Y29udGVudDoiXDEwZjgxMyJ9LmZhZC5mYS1tYWxlOmFmdGVye2NvbnRlbnQ6IlwxMGYxODMifS5mYWQuZmEtbWFuZG9saW46YWZ0ZXJ7Y29udGVudDoiXDEwZjZmOSJ9LmZhZC5mYS1tYXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjI3OSJ9LmZhZC5mYS1tYXAtbWFya2VkOmFmdGVye2NvbnRlbnQ6IlwxMGY1OWYifS5mYWQuZmEtbWFwLW1hcmtlZC1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjVhMCJ9LmZhZC5mYS1tYXAtbWFya2VyOmFmdGVye2NvbnRlbnQ6IlwxMGYwNDEifS5mYWQuZmEtbWFwLW1hcmtlci1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjNjNSJ9LmZhZC5mYS1tYXAtbWFya2VyLWFsdC1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmNjA1In0uZmFkLmZhLW1hcC1tYXJrZXItY2hlY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjYwNiJ9LmZhZC5mYS1tYXAtbWFya2VyLWVkaXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjYwNyJ9LmZhZC5mYS1tYXAtbWFya2VyLWV4Y2xhbWF0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGY2MDgifS5mYWQuZmEtbWFwLW1hcmtlci1taW51czphZnRlcntjb250ZW50OiJcMTBmNjA5In0uZmFkLmZhLW1hcC1tYXJrZXItcGx1czphZnRlcntjb250ZW50OiJcMTBmNjBhIn0uZmFkLmZhLW1hcC1tYXJrZXItcXVlc3Rpb246YWZ0ZXJ7Y29udGVudDoiXDEwZjYwYiJ9LmZhZC5mYS1tYXAtbWFya2VyLXNsYXNoOmFmdGVye2NvbnRlbnQ6IlwxMGY2MGMifS5mYWQuZmEtbWFwLW1hcmtlci1zbWlsZTphZnRlcntjb250ZW50OiJcMTBmNjBkIn0uZmFkLmZhLW1hcC1tYXJrZXItdGltZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjYwZSJ9LmZhZC5mYS1tYXAtcGluOmFmdGVye2NvbnRlbnQ6IlwxMGYyNzYifS5mYWQuZmEtbWFwLXNpZ25zOmFmdGVye2NvbnRlbnQ6IlwxMGYyNzcifS5mYWQuZmEtbWFya2VyOmFmdGVye2NvbnRlbnQ6IlwxMGY1YTEifS5mYWQuZmEtbWFyczphZnRlcntjb250ZW50OiJcMTBmMjIyIn0uZmFkLmZhLW1hcnMtZG91YmxlOmFmdGVye2NvbnRlbnQ6IlwxMGYyMjcifS5mYWQuZmEtbWFycy1zdHJva2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjIyOSJ9LmZhZC5mYS1tYXJzLXN0cm9rZS1oOmFmdGVye2NvbnRlbnQ6IlwxMGYyMmIifS5mYWQuZmEtbWFycy1zdHJva2UtdjphZnRlcntjb250ZW50OiJcMTBmMjJhIn0uZmFkLmZhLW1hc2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjZmYSJ9LmZhZC5mYS1tZWF0OmFmdGVye2NvbnRlbnQ6IlwxMGY4MTQifS5mYWQuZmEtbWVkYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjVhMiJ9LmZhZC5mYS1tZWRraXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjBmYSJ9LmZhZC5mYS1tZWdhcGhvbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjY3NSJ9LmZhZC5mYS1tZWg6YWZ0ZXJ7Y29udGVudDoiXDEwZjExYSJ9LmZhZC5mYS1tZWgtYmxhbms6YWZ0ZXJ7Y29udGVudDoiXDEwZjVhNCJ9LmZhZC5mYS1tZWgtcm9sbGluZy1leWVzOmFmdGVye2NvbnRlbnQ6IlwxMGY1YTUifS5mYWQuZmEtbWVtb3J5OmFmdGVye2NvbnRlbnQ6IlwxMGY1MzgifS5mYWQuZmEtbWVub3JhaDphZnRlcntjb250ZW50OiJcMTBmNjc2In0uZmFkLmZhLW1lcmN1cnk6YWZ0ZXJ7Y29udGVudDoiXDEwZjIyMyJ9LmZhZC5mYS1tZXRlb3I6YWZ0ZXJ7Y29udGVudDoiXDEwZjc1MyJ9LmZhZC5mYS1taWNyb2NoaXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjJkYiJ9LmZhZC5mYS1taWNyb3Bob25lOmFmdGVye2NvbnRlbnQ6IlwxMGYxMzAifS5mYWQuZmEtbWljcm9waG9uZS1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjNjOSJ9LmZhZC5mYS1taWNyb3Bob25lLWFsdC1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmNTM5In0uZmFkLmZhLW1pY3JvcGhvbmUtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjEzMSJ9LmZhZC5mYS1taWNyb3Bob25lLXN0YW5kOmFmdGVye2NvbnRlbnQ6IlwxMGY4Y2IifS5mYWQuZmEtbWljcm9zY29wZTphZnRlcntjb250ZW50OiJcMTBmNjEwIn0uZmFkLmZhLW1pY3Jvd2F2ZTphZnRlcntjb250ZW50OiJcMTBlMDFiIn0uZmFkLmZhLW1pbmQtc2hhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjY3NyJ9LmZhZC5mYS1taW51czphZnRlcntjb250ZW50OiJcMTBmMDY4In0uZmFkLmZhLW1pbnVzLWNpcmNsZTphZnRlcntjb250ZW50OiJcMTBmMDU2In0uZmFkLmZhLW1pbnVzLWhleGFnb246YWZ0ZXJ7Y29udGVudDoiXDEwZjMwNyJ9LmZhZC5mYS1taW51cy1vY3RhZ29uOmFmdGVye2NvbnRlbnQ6IlwxMGYzMDgifS5mYWQuZmEtbWludXMtc3F1YXJlOmFmdGVye2NvbnRlbnQ6IlwxMGYxNDYifS5mYWQuZmEtbWlzdGxldG9lOmFmdGVye2NvbnRlbnQ6IlwxMGY3YjQifS5mYWQuZmEtbWl0dGVuOmFmdGVye2NvbnRlbnQ6IlwxMGY3YjUifS5mYWQuZmEtbW9iaWxlOmFmdGVye2NvbnRlbnQ6IlwxMGYxMGIifS5mYWQuZmEtbW9iaWxlLWFsdDphZnRlcntjb250ZW50OiJcMTBmM2NkIn0uZmFkLmZhLW1vYmlsZS1hbmRyb2lkOmFmdGVye2NvbnRlbnQ6IlwxMGYzY2UifS5mYWQuZmEtbW9iaWxlLWFuZHJvaWQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzY2YifS5mYWQuZmEtbW9uZXktYmlsbDphZnRlcntjb250ZW50OiJcMTBmMGQ2In0uZmFkLmZhLW1vbmV5LWJpbGwtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzZDEifS5mYWQuZmEtbW9uZXktYmlsbC13YXZlOmFmdGVye2NvbnRlbnQ6IlwxMGY1M2EifS5mYWQuZmEtbW9uZXktYmlsbC13YXZlLWFsdDphZnRlcntjb250ZW50OiJcMTBmNTNiIn0uZmFkLmZhLW1vbmV5LWNoZWNrOmFmdGVye2NvbnRlbnQ6IlwxMGY1M2MifS5mYWQuZmEtbW9uZXktY2hlY2stYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY1M2QifS5mYWQuZmEtbW9uZXktY2hlY2stZWRpdDphZnRlcntjb250ZW50OiJcMTBmODcyIn0uZmFkLmZhLW1vbmV5LWNoZWNrLWVkaXQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4NzMifS5mYWQuZmEtbW9uaXRvci1oZWFydC1yYXRlOmFmdGVye2NvbnRlbnQ6IlwxMGY2MTEifS5mYWQuZmEtbW9ua2V5OmFmdGVye2NvbnRlbnQ6IlwxMGY2ZmIifS5mYWQuZmEtbW9udW1lbnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjVhNiJ9LmZhZC5mYS1tb29uOmFmdGVye2NvbnRlbnQ6IlwxMGYxODYifS5mYWQuZmEtbW9vbi1jbG91ZDphZnRlcntjb250ZW50OiJcMTBmNzU0In0uZmFkLmZhLW1vb24tc3RhcnM6YWZ0ZXJ7Y29udGVudDoiXDEwZjc1NSJ9LmZhZC5mYS1tb3J0YXItcGVzdGxlOmFmdGVye2NvbnRlbnQ6IlwxMGY1YTcifS5mYWQuZmEtbW9zcXVlOmFmdGVye2NvbnRlbnQ6IlwxMGY2NzgifS5mYWQuZmEtbW90b3JjeWNsZTphZnRlcntjb250ZW50OiJcMTBmMjFjIn0uZmFkLmZhLW1vdW50YWluOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZmMifS5mYWQuZmEtbW91bnRhaW5zOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZmQifS5mYWQuZmEtbW91c2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjhjYyJ9LmZhZC5mYS1tb3VzZS1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjhjZCJ9LmZhZC5mYS1tb3VzZS1wb2ludGVyOmFmdGVye2NvbnRlbnQ6IlwxMGYyNDUifS5mYWQuZmEtbXAzLXBsYXllcjphZnRlcntjb250ZW50OiJcMTBmOGNlIn0uZmFkLmZhLW11ZzphZnRlcntjb250ZW50OiJcMTBmODc0In0uZmFkLmZhLW11Zy1ob3Q6YWZ0ZXJ7Y29udGVudDoiXDEwZjdiNiJ9LmZhZC5mYS1tdWctbWFyc2htYWxsb3dzOmFmdGVye2NvbnRlbnQ6IlwxMGY3YjcifS5mYWQuZmEtbXVnLXRlYTphZnRlcntjb250ZW50OiJcMTBmODc1In0uZmFkLmZhLW11c2ljOmFmdGVye2NvbnRlbnQ6IlwxMGYwMDEifS5mYWQuZmEtbXVzaWMtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4Y2YifS5mYWQuZmEtbXVzaWMtYWx0LXNsYXNoOmFmdGVye2NvbnRlbnQ6IlwxMGY4ZDAifS5mYWQuZmEtbXVzaWMtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjhkMSJ9LmZhZC5mYS1uYXJ3aGFsOmFmdGVye2NvbnRlbnQ6IlwxMGY2ZmUifS5mYWQuZmEtbmV0d29yay13aXJlZDphZnRlcntjb250ZW50OiJcMTBmNmZmIn0uZmFkLmZhLW5ldXRlcjphZnRlcntjb250ZW50OiJcMTBmMjJjIn0uZmFkLmZhLW5ld3NwYXBlcjphZnRlcntjb250ZW50OiJcMTBmMWVhIn0uZmFkLmZhLW5vdC1lcXVhbDphZnRlcntjb250ZW50OiJcMTBmNTNlIn0uZmFkLmZhLW5vdGVzLW1lZGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ4MSJ9LmZhZC5mYS1vYmplY3QtZ3JvdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjI0NyJ9LmZhZC5mYS1vYmplY3QtdW5ncm91cDphZnRlcntjb250ZW50OiJcMTBmMjQ4In0uZmFkLmZhLW9jdGFnb246YWZ0ZXJ7Y29udGVudDoiXDEwZjMwNiJ9LmZhZC5mYS1vaWwtY2FuOmFmdGVye2NvbnRlbnQ6IlwxMGY2MTMifS5mYWQuZmEtb2lsLXRlbXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjYxNCJ9LmZhZC5mYS1vbTphZnRlcntjb250ZW50OiJcMTBmNjc5In0uZmFkLmZhLW9tZWdhOmFmdGVye2NvbnRlbnQ6IlwxMGY2N2EifS5mYWQuZmEtb3JuYW1lbnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjdiOCJ9LmZhZC5mYS1vdHRlcjphZnRlcntjb250ZW50OiJcMTBmNzAwIn0uZmFkLmZhLW91dGRlbnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjAzYiJ9LmZhZC5mYS1vdXRsZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZTAxYyJ9LmZhZC5mYS1vdmVuOmFmdGVye2NvbnRlbnQ6IlwxMGUwMWQifS5mYWQuZmEtb3ZlcmxpbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjg3NiJ9LmZhZC5mYS1wYWdlLWJyZWFrOmFmdGVye2NvbnRlbnQ6IlwxMGY4NzcifS5mYWQuZmEtcGFnZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjgxNSJ9LmZhZC5mYS1wYWludC1icnVzaDphZnRlcntjb250ZW50OiJcMTBmMWZjIn0uZmFkLmZhLXBhaW50LWJydXNoLWFsdDphZnRlcntjb250ZW50OiJcMTBmNWE5In0uZmFkLmZhLXBhaW50LXJvbGxlcjphZnRlcntjb250ZW50OiJcMTBmNWFhIn0uZmFkLmZhLXBhbGV0dGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjUzZiJ9LmZhZC5mYS1wYWxsZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ4MiJ9LmZhZC5mYS1wYWxsZXQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY0ODMifS5mYWQuZmEtcGFwZXItcGxhbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjFkOCJ9LmZhZC5mYS1wYXBlcmNsaXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjBjNiJ9LmZhZC5mYS1wYXJhY2h1dGUtYm94OmFmdGVye2NvbnRlbnQ6IlwxMGY0Y2QifS5mYWQuZmEtcGFyYWdyYXBoOmFmdGVye2NvbnRlbnQ6IlwxMGYxZGQifS5mYWQuZmEtcGFyYWdyYXBoLXJ0bDphZnRlcntjb250ZW50OiJcMTBmODc4In0uZmFkLmZhLXBhcmtpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjU0MCJ9LmZhZC5mYS1wYXJraW5nLWNpcmNsZTphZnRlcntjb250ZW50OiJcMTBmNjE1In0uZmFkLmZhLXBhcmtpbmctY2lyY2xlLXNsYXNoOmFmdGVye2NvbnRlbnQ6IlwxMGY2MTYifS5mYWQuZmEtcGFya2luZy1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmNjE3In0uZmFkLmZhLXBhc3Nwb3J0OmFmdGVye2NvbnRlbnQ6IlwxMGY1YWIifS5mYWQuZmEtcGFzdGFmYXJpYW5pc206YWZ0ZXJ7Y29udGVudDoiXDEwZjY3YiJ9LmZhZC5mYS1wYXN0ZTphZnRlcntjb250ZW50OiJcMTBmMGVhIn0uZmFkLmZhLXBhdXNlOmFmdGVye2NvbnRlbnQ6IlwxMGYwNGMifS5mYWQuZmEtcGF1c2UtY2lyY2xlOmFmdGVye2NvbnRlbnQ6IlwxMGYyOGIifS5mYWQuZmEtcGF3OmFmdGVye2NvbnRlbnQ6IlwxMGYxYjAifS5mYWQuZmEtcGF3LWFsdDphZnRlcntjb250ZW50OiJcMTBmNzAxIn0uZmFkLmZhLXBhdy1jbGF3czphZnRlcntjb250ZW50OiJcMTBmNzAyIn0uZmFkLmZhLXBlYWNlOmFmdGVye2NvbnRlbnQ6IlwxMGY2N2MifS5mYWQuZmEtcGVnYXN1czphZnRlcntjb250ZW50OiJcMTBmNzAzIn0uZmFkLmZhLXBlbjphZnRlcntjb250ZW50OiJcMTBmMzA0In0uZmFkLmZhLXBlbi1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjMwNSJ9LmZhZC5mYS1wZW4tZmFuY3k6YWZ0ZXJ7Y29udGVudDoiXDEwZjVhYyJ9LmZhZC5mYS1wZW4tbmliOmFmdGVye2NvbnRlbnQ6IlwxMGY1YWQifS5mYWQuZmEtcGVuLXNxdWFyZTphZnRlcntjb250ZW50OiJcMTBmMTRiIn0uZmFkLmZhLXBlbmNpbDphZnRlcntjb250ZW50OiJcMTBmMDQwIn0uZmFkLmZhLXBlbmNpbC1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjMwMyJ9LmZhZC5mYS1wZW5jaWwtcGFpbnRicnVzaDphZnRlcntjb250ZW50OiJcMTBmNjE4In0uZmFkLmZhLXBlbmNpbC1ydWxlcjphZnRlcntjb250ZW50OiJcMTBmNWFlIn0uZmFkLmZhLXBlbm5hbnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ1NiJ9LmZhZC5mYS1wZW9wbGUtYXJyb3dzOmFmdGVye2NvbnRlbnQ6IlwxMGUwNjgifS5mYWQuZmEtcGVvcGxlLWNhcnJ5OmFmdGVye2NvbnRlbnQ6IlwxMGY0Y2UifS5mYWQuZmEtcGVwcGVyLWhvdDphZnRlcntjb250ZW50OiJcMTBmODE2In0uZmFkLmZhLXBlcmNlbnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjI5NSJ9LmZhZC5mYS1wZXJjZW50YWdlOmFmdGVye2NvbnRlbnQ6IlwxMGY1NDEifS5mYWQuZmEtcGVyc29uLWJvb3RoOmFmdGVye2NvbnRlbnQ6IlwxMGY3NTYifS5mYWQuZmEtcGVyc29uLWNhcnJ5OmFmdGVye2NvbnRlbnQ6IlwxMGY0Y2YifS5mYWQuZmEtcGVyc29uLWRvbGx5OmFmdGVye2NvbnRlbnQ6IlwxMGY0ZDAifS5mYWQuZmEtcGVyc29uLWRvbGx5LWVtcHR5OmFmdGVye2NvbnRlbnQ6IlwxMGY0ZDEifS5mYWQuZmEtcGVyc29uLXNpZ246YWZ0ZXJ7Y29udGVudDoiXDEwZjc1NyJ9LmZhZC5mYS1waG9uZTphZnRlcntjb250ZW50OiJcMTBmMDk1In0uZmFkLmZhLXBob25lLWFsdDphZnRlcntjb250ZW50OiJcMTBmODc5In0uZmFkLmZhLXBob25lLWxhcHRvcDphZnRlcntjb250ZW50OiJcMTBmODdhIn0uZmFkLmZhLXBob25lLW9mZmljZTphZnRlcntjb250ZW50OiJcMTBmNjdkIn0uZmFkLmZhLXBob25lLXBsdXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjRkMiJ9LmZhZC5mYS1waG9uZS1yb3Rhcnk6YWZ0ZXJ7Y29udGVudDoiXDEwZjhkMyJ9LmZhZC5mYS1waG9uZS1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmM2RkIn0uZmFkLmZhLXBob25lLXNxdWFyZTphZnRlcntjb250ZW50OiJcMTBmMDk4In0uZmFkLmZhLXBob25lLXNxdWFyZS1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjg3YiJ9LmZhZC5mYS1waG9uZS12b2x1bWU6YWZ0ZXJ7Y29udGVudDoiXDEwZjJhMCJ9LmZhZC5mYS1waG90by12aWRlbzphZnRlcntjb250ZW50OiJcMTBmODdjIn0uZmFkLmZhLXBpOmFmdGVye2NvbnRlbnQ6IlwxMGY2N2UifS5mYWQuZmEtcGlhbm86YWZ0ZXJ7Y29udGVudDoiXDEwZjhkNCJ9LmZhZC5mYS1waWFuby1rZXlib2FyZDphZnRlcntjb250ZW50OiJcMTBmOGQ1In0uZmFkLmZhLXBpZTphZnRlcntjb250ZW50OiJcMTBmNzA1In0uZmFkLmZhLXBpZzphZnRlcntjb250ZW50OiJcMTBmNzA2In0uZmFkLmZhLXBpZ2d5LWJhbms6YWZ0ZXJ7Y29udGVudDoiXDEwZjRkMyJ9LmZhZC5mYS1waWxsczphZnRlcntjb250ZW50OiJcMTBmNDg0In0uZmFkLmZhLXBpenphOmFmdGVye2NvbnRlbnQ6IlwxMGY4MTcifS5mYWQuZmEtcGl6emEtc2xpY2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjgxOCJ9LmZhZC5mYS1wbGFjZS1vZi13b3JzaGlwOmFmdGVye2NvbnRlbnQ6IlwxMGY2N2YifS5mYWQuZmEtcGxhbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjA3MiJ9LmZhZC5mYS1wbGFuZS1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjNkZSJ9LmZhZC5mYS1wbGFuZS1hcnJpdmFsOmFmdGVye2NvbnRlbnQ6IlwxMGY1YWYifS5mYWQuZmEtcGxhbmUtZGVwYXJ0dXJlOmFmdGVye2NvbnRlbnQ6IlwxMGY1YjAifS5mYWQuZmEtcGxhbmUtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZTA2OSJ9LmZhZC5mYS1wbGFuZXQtbW9vbjphZnRlcntjb250ZW50OiJcMTBlMDFmIn0uZmFkLmZhLXBsYW5ldC1yaW5nZWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZTAyMCJ9LmZhZC5mYS1wbGF5OmFmdGVye2NvbnRlbnQ6IlwxMGYwNGIifS5mYWQuZmEtcGxheS1jaXJjbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjE0NCJ9LmZhZC5mYS1wbHVnOmFmdGVye2NvbnRlbnQ6IlwxMGYxZTYifS5mYWQuZmEtcGx1czphZnRlcntjb250ZW50OiJcMTBmMDY3In0uZmFkLmZhLXBsdXMtY2lyY2xlOmFmdGVye2NvbnRlbnQ6IlwxMGYwNTUifS5mYWQuZmEtcGx1cy1oZXhhZ29uOmFmdGVye2NvbnRlbnQ6IlwxMGYzMDAifS5mYWQuZmEtcGx1cy1vY3RhZ29uOmFmdGVye2NvbnRlbnQ6IlwxMGYzMDEifS5mYWQuZmEtcGx1cy1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjBmZSJ9LmZhZC5mYS1wb2RjYXN0OmFmdGVye2NvbnRlbnQ6IlwxMGYyY2UifS5mYWQuZmEtcG9kaXVtOmFmdGVye2NvbnRlbnQ6IlwxMGY2ODAifS5mYWQuZmEtcG9kaXVtLXN0YXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjc1OCJ9LmZhZC5mYS1wb2xpY2UtYm94OmFmdGVye2NvbnRlbnQ6IlwxMGUwMjEifS5mYWQuZmEtcG9sbDphZnRlcntjb250ZW50OiJcMTBmNjgxIn0uZmFkLmZhLXBvbGwtaDphZnRlcntjb250ZW50OiJcMTBmNjgyIn0uZmFkLmZhLXBvbGwtcGVvcGxlOmFmdGVye2NvbnRlbnQ6IlwxMGY3NTkifS5mYWQuZmEtcG9vOmFmdGVye2NvbnRlbnQ6IlwxMGYyZmUifS5mYWQuZmEtcG9vLXN0b3JtOmFmdGVye2NvbnRlbnQ6IlwxMGY3NWEifS5mYWQuZmEtcG9vcDphZnRlcntjb250ZW50OiJcMTBmNjE5In0uZmFkLmZhLXBvcGNvcm46YWZ0ZXJ7Y29udGVudDoiXDEwZjgxOSJ9LmZhZC5mYS1wb3J0YWwtZW50ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZTAyMiJ9LmZhZC5mYS1wb3J0YWwtZXhpdDphZnRlcntjb250ZW50OiJcMTBlMDIzIn0uZmFkLmZhLXBvcnRyYWl0OmFmdGVye2NvbnRlbnQ6IlwxMGYzZTAifS5mYWQuZmEtcG91bmQtc2lnbjphZnRlcntjb250ZW50OiJcMTBmMTU0In0uZmFkLmZhLXBvd2VyLW9mZjphZnRlcntjb250ZW50OiJcMTBmMDExIn0uZmFkLmZhLXByYXk6YWZ0ZXJ7Y29udGVudDoiXDEwZjY4MyJ9LmZhZC5mYS1wcmF5aW5nLWhhbmRzOmFmdGVye2NvbnRlbnQ6IlwxMGY2ODQifS5mYWQuZmEtcHJlc2NyaXB0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGY1YjEifS5mYWQuZmEtcHJlc2NyaXB0aW9uLWJvdHRsZTphZnRlcntjb250ZW50OiJcMTBmNDg1In0uZmFkLmZhLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY0ODYifS5mYWQuZmEtcHJlc2VudGF0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGY2ODUifS5mYWQuZmEtcHJpbnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjAyZiJ9LmZhZC5mYS1wcmludC1zZWFyY2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjgxYSJ9LmZhZC5mYS1wcmludC1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmNjg2In0uZmFkLmZhLXByb2NlZHVyZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ4NyJ9LmZhZC5mYS1wcm9qZWN0LWRpYWdyYW06YWZ0ZXJ7Y29udGVudDoiXDEwZjU0MiJ9LmZhZC5mYS1wcm9qZWN0b3I6YWZ0ZXJ7Y29udGVudDoiXDEwZjhkNiJ9LmZhZC5mYS1wdW1wLW1lZGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZTA2YSJ9LmZhZC5mYS1wdW1wLXNvYXA6YWZ0ZXJ7Y29udGVudDoiXDEwZTA2YiJ9LmZhZC5mYS1wdW1wa2luOmFmdGVye2NvbnRlbnQ6IlwxMGY3MDcifS5mYWQuZmEtcHV6emxlLXBpZWNlOmFmdGVye2NvbnRlbnQ6IlwxMGYxMmUifS5mYWQuZmEtcXJjb2RlOmFmdGVye2NvbnRlbnQ6IlwxMGYwMjkifS5mYWQuZmEtcXVlc3Rpb246YWZ0ZXJ7Y29udGVudDoiXDEwZjEyOCJ9LmZhZC5mYS1xdWVzdGlvbi1jaXJjbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjA1OSJ9LmZhZC5mYS1xdWVzdGlvbi1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjJmZCJ9LmZhZC5mYS1xdWlkZGl0Y2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ1OCJ9LmZhZC5mYS1xdW90ZS1sZWZ0OmFmdGVye2NvbnRlbnQ6IlwxMGYxMGQifS5mYWQuZmEtcXVvdGUtcmlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjEwZSJ9LmZhZC5mYS1xdXJhbjphZnRlcntjb250ZW50OiJcMTBmNjg3In0uZmFkLmZhLXJhYmJpdDphZnRlcntjb250ZW50OiJcMTBmNzA4In0uZmFkLmZhLXJhYmJpdC1mYXN0OmFmdGVye2NvbnRlbnQ6IlwxMGY3MDkifS5mYWQuZmEtcmFjcXVldDphZnRlcntjb250ZW50OiJcMTBmNDVhIn0uZmFkLmZhLXJhZGFyOmFmdGVye2NvbnRlbnQ6IlwxMGUwMjQifS5mYWQuZmEtcmFkaWF0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGY3YjkifS5mYWQuZmEtcmFkaWF0aW9uLWFsdDphZnRlcntjb250ZW50OiJcMTBmN2JhIn0uZmFkLmZhLXJhZGlvOmFmdGVye2NvbnRlbnQ6IlwxMGY4ZDcifS5mYWQuZmEtcmFkaW8tYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4ZDgifS5mYWQuZmEtcmFpbmJvdzphZnRlcntjb250ZW50OiJcMTBmNzViIn0uZmFkLmZhLXJhaW5kcm9wczphZnRlcntjb250ZW50OiJcMTBmNzVjIn0uZmFkLmZhLXJhbTphZnRlcntjb250ZW50OiJcMTBmNzBhIn0uZmFkLmZhLXJhbXAtbG9hZGluZzphZnRlcntjb250ZW50OiJcMTBmNGQ0In0uZmFkLmZhLXJhbmRvbTphZnRlcntjb250ZW50OiJcMTBmMDc0In0uZmFkLmZhLXJheWd1bjphZnRlcntjb250ZW50OiJcMTBlMDI1In0uZmFkLmZhLXJlY2VpcHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjU0MyJ9LmZhZC5mYS1yZWNvcmQtdmlueWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjhkOSJ9LmZhZC5mYS1yZWN0YW5nbGUtbGFuZHNjYXBlOmFmdGVye2NvbnRlbnQ6IlwxMGYyZmEifS5mYWQuZmEtcmVjdGFuZ2xlLXBvcnRyYWl0OmFmdGVye2NvbnRlbnQ6IlwxMGYyZmIifS5mYWQuZmEtcmVjdGFuZ2xlLXdpZGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjJmYyJ9LmZhZC5mYS1yZWN5Y2xlOmFmdGVye2NvbnRlbnQ6IlwxMGYxYjgifS5mYWQuZmEtcmVkbzphZnRlcntjb250ZW50OiJcMTBmMDFlIn0uZmFkLmZhLXJlZG8tYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYyZjkifS5mYWQuZmEtcmVmcmlnZXJhdG9yOmFmdGVye2NvbnRlbnQ6IlwxMGUwMjYifS5mYWQuZmEtcmVnaXN0ZXJlZDphZnRlcntjb250ZW50OiJcMTBmMjVkIn0uZmFkLmZhLXJlbW92ZS1mb3JtYXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjg3ZCJ9LmZhZC5mYS1yZXBlYXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM2MyJ9LmZhZC5mYS1yZXBlYXQtMTphZnRlcntjb250ZW50OiJcMTBmMzY1In0uZmFkLmZhLXJlcGVhdC0xLWFsdDphZnRlcntjb250ZW50OiJcMTBmMzY2In0uZmFkLmZhLXJlcGVhdC1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjM2NCJ9LmZhZC5mYS1yZXBseTphZnRlcntjb250ZW50OiJcMTBmM2U1In0uZmFkLmZhLXJlcGx5LWFsbDphZnRlcntjb250ZW50OiJcMTBmMTIyIn0uZmFkLmZhLXJlcHVibGljYW46YWZ0ZXJ7Y29udGVudDoiXDEwZjc1ZSJ9LmZhZC5mYS1yZXN0cm9vbTphZnRlcntjb250ZW50OiJcMTBmN2JkIn0uZmFkLmZhLXJldHdlZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjA3OSJ9LmZhZC5mYS1yZXR3ZWV0LWFsdDphZnRlcntjb250ZW50OiJcMTBmMzYxIn0uZmFkLmZhLXJpYmJvbjphZnRlcntjb250ZW50OiJcMTBmNGQ2In0uZmFkLmZhLXJpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjcwYiJ9LmZhZC5mYS1yaW5ncy13ZWRkaW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY4MWIifS5mYWQuZmEtcm9hZDphZnRlcntjb250ZW50OiJcMTBmMDE4In0uZmFkLmZhLXJvYm90OmFmdGVye2NvbnRlbnQ6IlwxMGY1NDQifS5mYWQuZmEtcm9ja2V0OmFmdGVye2NvbnRlbnQ6IlwxMGYxMzUifS5mYWQuZmEtcm9ja2V0LWxhdW5jaDphZnRlcntjb250ZW50OiJcMTBlMDI3In0uZmFkLmZhLXJvdXRlOmFmdGVye2NvbnRlbnQ6IlwxMGY0ZDcifS5mYWQuZmEtcm91dGUtaGlnaHdheTphZnRlcntjb250ZW50OiJcMTBmNjFhIn0uZmFkLmZhLXJvdXRlLWludGVyc3RhdGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjYxYiJ9LmZhZC5mYS1yb3V0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjhkYSJ9LmZhZC5mYS1yc3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjA5ZSJ9LmZhZC5mYS1yc3Mtc3F1YXJlOmFmdGVye2NvbnRlbnQ6IlwxMGYxNDMifS5mYWQuZmEtcnVibGUtc2lnbjphZnRlcntjb250ZW50OiJcMTBmMTU4In0uZmFkLmZhLXJ1bGVyOmFmdGVye2NvbnRlbnQ6IlwxMGY1NDUifS5mYWQuZmEtcnVsZXItY29tYmluZWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjU0NiJ9LmZhZC5mYS1ydWxlci1ob3Jpem9udGFsOmFmdGVye2NvbnRlbnQ6IlwxMGY1NDcifS5mYWQuZmEtcnVsZXItdHJpYW5nbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjYxYyJ9LmZhZC5mYS1ydWxlci12ZXJ0aWNhbDphZnRlcntjb250ZW50OiJcMTBmNTQ4In0uZmFkLmZhLXJ1bm5pbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjcwYyJ9LmZhZC5mYS1ydXBlZS1zaWduOmFmdGVye2NvbnRlbnQ6IlwxMGYxNTYifS5mYWQuZmEtcnY6YWZ0ZXJ7Y29udGVudDoiXDEwZjdiZSJ9LmZhZC5mYS1zYWNrOmFmdGVye2NvbnRlbnQ6IlwxMGY4MWMifS5mYWQuZmEtc2Fjay1kb2xsYXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjgxZCJ9LmZhZC5mYS1zYWQtY3J5OmFmdGVye2NvbnRlbnQ6IlwxMGY1YjMifS5mYWQuZmEtc2FkLXRlYXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjViNCJ9LmZhZC5mYS1zYWxhZDphZnRlcntjb250ZW50OiJcMTBmODFlIn0uZmFkLmZhLXNhbmR3aWNoOmFmdGVye2NvbnRlbnQ6IlwxMGY4MWYifS5mYWQuZmEtc2F0ZWxsaXRlOmFmdGVye2NvbnRlbnQ6IlwxMGY3YmYifS5mYWQuZmEtc2F0ZWxsaXRlLWRpc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjdjMCJ9LmZhZC5mYS1zYXVzYWdlOmFmdGVye2NvbnRlbnQ6IlwxMGY4MjAifS5mYWQuZmEtc2F2ZTphZnRlcntjb250ZW50OiJcMTBmMGM3In0uZmFkLmZhLXNheC1ob3Q6YWZ0ZXJ7Y29udGVudDoiXDEwZjhkYiJ9LmZhZC5mYS1zYXhvcGhvbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjhkYyJ9LmZhZC5mYS1zY2FscGVsOmFmdGVye2NvbnRlbnQ6IlwxMGY2MWQifS5mYWQuZmEtc2NhbHBlbC1wYXRoOmFmdGVye2NvbnRlbnQ6IlwxMGY2MWUifS5mYWQuZmEtc2Nhbm5lcjphZnRlcntjb250ZW50OiJcMTBmNDg4In0uZmFkLmZhLXNjYW5uZXItaW1hZ2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjhmMyJ9LmZhZC5mYS1zY2FubmVyLWtleWJvYXJkOmFmdGVye2NvbnRlbnQ6IlwxMGY0ODkifS5mYWQuZmEtc2Nhbm5lci10b3VjaHNjcmVlbjphZnRlcntjb250ZW50OiJcMTBmNDhhIn0uZmFkLmZhLXNjYXJlY3JvdzphZnRlcntjb250ZW50OiJcMTBmNzBkIn0uZmFkLmZhLXNjYXJmOmFmdGVye2NvbnRlbnQ6IlwxMGY3YzEifS5mYWQuZmEtc2Nob29sOmFmdGVye2NvbnRlbnQ6IlwxMGY1NDkifS5mYWQuZmEtc2NyZXdkcml2ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjU0YSJ9LmZhZC5mYS1zY3JvbGw6YWZ0ZXJ7Y29udGVudDoiXDEwZjcwZSJ9LmZhZC5mYS1zY3JvbGwtb2xkOmFmdGVye2NvbnRlbnQ6IlwxMGY3MGYifS5mYWQuZmEtc2NydWJiZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjJmOCJ9LmZhZC5mYS1zY3l0aGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjcxMCJ9LmZhZC5mYS1zZC1jYXJkOmFmdGVye2NvbnRlbnQ6IlwxMGY3YzIifS5mYWQuZmEtc2VhcmNoOmFmdGVye2NvbnRlbnQ6IlwxMGYwMDIifS5mYWQuZmEtc2VhcmNoLWRvbGxhcjphZnRlcntjb250ZW50OiJcMTBmNjg4In0uZmFkLmZhLXNlYXJjaC1sb2NhdGlvbjphZnRlcntjb250ZW50OiJcMTBmNjg5In0uZmFkLmZhLXNlYXJjaC1taW51czphZnRlcntjb250ZW50OiJcMTBmMDEwIn0uZmFkLmZhLXNlYXJjaC1wbHVzOmFmdGVye2NvbnRlbnQ6IlwxMGYwMGUifS5mYWQuZmEtc2VlZGxpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjRkOCJ9LmZhZC5mYS1zZW5kLWJhY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjg3ZSJ9LmZhZC5mYS1zZW5kLWJhY2t3YXJkOmFmdGVye2NvbnRlbnQ6IlwxMGY4N2YifS5mYWQuZmEtc2Vuc29yOmFmdGVye2NvbnRlbnQ6IlwxMGUwMjgifS5mYWQuZmEtc2Vuc29yLWFsZXJ0OmFmdGVye2NvbnRlbnQ6IlwxMGUwMjkifS5mYWQuZmEtc2Vuc29yLWZpcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZTAyYSJ9LmZhZC5mYS1zZW5zb3Itb246YWZ0ZXJ7Y29udGVudDoiXDEwZTAyYiJ9LmZhZC5mYS1zZW5zb3Itc21va2U6YWZ0ZXJ7Y29udGVudDoiXDEwZTAyYyJ9LmZhZC5mYS1zZXJ2ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjIzMyJ9LmZhZC5mYS1zaGFwZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjYxZiJ9LmZhZC5mYS1zaGFyZTphZnRlcntjb250ZW50OiJcMTBmMDY0In0uZmFkLmZhLXNoYXJlLWFsbDphZnRlcntjb250ZW50OiJcMTBmMzY3In0uZmFkLmZhLXNoYXJlLWFsdDphZnRlcntjb250ZW50OiJcMTBmMWUwIn0uZmFkLmZhLXNoYXJlLWFsdC1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjFlMSJ9LmZhZC5mYS1zaGFyZS1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjE0ZCJ9LmZhZC5mYS1zaGVlcDphZnRlcntjb250ZW50OiJcMTBmNzExIn0uZmFkLmZhLXNoZWtlbC1zaWduOmFmdGVye2NvbnRlbnQ6IlwxMGYyMGIifS5mYWQuZmEtc2hpZWxkOmFmdGVye2NvbnRlbnQ6IlwxMGYxMzIifS5mYWQuZmEtc2hpZWxkLWFsdDphZnRlcntjb250ZW50OiJcMTBmM2VkIn0uZmFkLmZhLXNoaWVsZC1jaGVjazphZnRlcntjb250ZW50OiJcMTBmMmY3In0uZmFkLmZhLXNoaWVsZC1jcm9zczphZnRlcntjb250ZW50OiJcMTBmNzEyIn0uZmFkLmZhLXNoaWVsZC12aXJ1czphZnRlcntjb250ZW50OiJcMTBlMDZjIn0uZmFkLmZhLXNoaXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjIxYSJ9LmZhZC5mYS1zaGlwcGluZy1mYXN0OmFmdGVye2NvbnRlbnQ6IlwxMGY0OGIifS5mYWQuZmEtc2hpcHBpbmctdGltZWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ4YyJ9LmZhZC5mYS1zaGlzaC1rZWJhYjphZnRlcntjb250ZW50OiJcMTBmODIxIn0uZmFkLmZhLXNob2UtcHJpbnRzOmFmdGVye2NvbnRlbnQ6IlwxMGY1NGIifS5mYWQuZmEtc2hvcHBpbmctYmFnOmFmdGVye2NvbnRlbnQ6IlwxMGYyOTAifS5mYWQuZmEtc2hvcHBpbmctYmFza2V0OmFmdGVye2NvbnRlbnQ6IlwxMGYyOTEifS5mYWQuZmEtc2hvcHBpbmctY2FydDphZnRlcntjb250ZW50OiJcMTBmMDdhIn0uZmFkLmZhLXNob3ZlbDphZnRlcntjb250ZW50OiJcMTBmNzEzIn0uZmFkLmZhLXNob3ZlbC1zbm93OmFmdGVye2NvbnRlbnQ6IlwxMGY3YzMifS5mYWQuZmEtc2hvd2VyOmFmdGVye2NvbnRlbnQ6IlwxMGYyY2MifS5mYWQuZmEtc2hyZWRkZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjY4YSJ9LmZhZC5mYS1zaHV0dGxlLXZhbjphZnRlcntjb250ZW50OiJcMTBmNWI2In0uZmFkLmZhLXNodXR0bGVjb2NrOmFmdGVye2NvbnRlbnQ6IlwxMGY0NWIifS5mYWQuZmEtc2lja2xlOmFmdGVye2NvbnRlbnQ6IlwxMGY4MjIifS5mYWQuZmEtc2lnbWE6YWZ0ZXJ7Y29udGVudDoiXDEwZjY4YiJ9LmZhZC5mYS1zaWduOmFmdGVye2NvbnRlbnQ6IlwxMGY0ZDkifS5mYWQuZmEtc2lnbi1pbjphZnRlcntjb250ZW50OiJcMTBmMDkwIn0uZmFkLmZhLXNpZ24taW4tYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYyZjYifS5mYWQuZmEtc2lnbi1sYW5ndWFnZTphZnRlcntjb250ZW50OiJcMTBmMmE3In0uZmFkLmZhLXNpZ24tb3V0OmFmdGVye2NvbnRlbnQ6IlwxMGYwOGIifS5mYWQuZmEtc2lnbi1vdXQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYyZjUifS5mYWQuZmEtc2lnbmFsOmFmdGVye2NvbnRlbnQ6IlwxMGYwMTIifS5mYWQuZmEtc2lnbmFsLTE6YWZ0ZXJ7Y29udGVudDoiXDEwZjY4YyJ9LmZhZC5mYS1zaWduYWwtMjphZnRlcntjb250ZW50OiJcMTBmNjhkIn0uZmFkLmZhLXNpZ25hbC0zOmFmdGVye2NvbnRlbnQ6IlwxMGY2OGUifS5mYWQuZmEtc2lnbmFsLTQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjY4ZiJ9LmZhZC5mYS1zaWduYWwtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY2OTAifS5mYWQuZmEtc2lnbmFsLWFsdC0xOmFmdGVye2NvbnRlbnQ6IlwxMGY2OTEifS5mYWQuZmEtc2lnbmFsLWFsdC0yOmFmdGVye2NvbnRlbnQ6IlwxMGY2OTIifS5mYWQuZmEtc2lnbmFsLWFsdC0zOmFmdGVye2NvbnRlbnQ6IlwxMGY2OTMifS5mYWQuZmEtc2lnbmFsLWFsdC1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmNjk0In0uZmFkLmZhLXNpZ25hbC1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmNjk1In0uZmFkLmZhLXNpZ25hbC1zdHJlYW06YWZ0ZXJ7Y29udGVudDoiXDEwZjhkZCJ9LmZhZC5mYS1zaWduYXR1cmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjViNyJ9LmZhZC5mYS1zaW0tY2FyZDphZnRlcntjb250ZW50OiJcMTBmN2M0In0uZmFkLmZhLXNpbms6YWZ0ZXJ7Y29udGVudDoiXDEwZTA2ZCJ9LmZhZC5mYS1zaXJlbjphZnRlcntjb250ZW50OiJcMTBlMDJkIn0uZmFkLmZhLXNpcmVuLW9uOmFmdGVye2NvbnRlbnQ6IlwxMGUwMmUifS5mYWQuZmEtc2l0ZW1hcDphZnRlcntjb250ZW50OiJcMTBmMGU4In0uZmFkLmZhLXNrYXRpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjdjNSJ9LmZhZC5mYS1za2VsZXRvbjphZnRlcntjb250ZW50OiJcMTBmNjIwIn0uZmFkLmZhLXNraS1qdW1wOmFmdGVye2NvbnRlbnQ6IlwxMGY3YzcifS5mYWQuZmEtc2tpLWxpZnQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjdjOCJ9LmZhZC5mYS1za2lpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjdjOSJ9LmZhZC5mYS1za2lpbmctbm9yZGljOmFmdGVye2NvbnRlbnQ6IlwxMGY3Y2EifS5mYWQuZmEtc2t1bGw6YWZ0ZXJ7Y29udGVudDoiXDEwZjU0YyJ9LmZhZC5mYS1za3VsbC1jb3c6YWZ0ZXJ7Y29udGVudDoiXDEwZjhkZSJ9LmZhZC5mYS1za3VsbC1jcm9zc2JvbmVzOmFmdGVye2NvbnRlbnQ6IlwxMGY3MTQifS5mYWQuZmEtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjcxNSJ9LmZhZC5mYS1zbGVkZGluZzphZnRlcntjb250ZW50OiJcMTBmN2NiIn0uZmFkLmZhLXNsZWlnaDphZnRlcntjb250ZW50OiJcMTBmN2NjIn0uZmFkLmZhLXNsaWRlcnMtaDphZnRlcntjb250ZW50OiJcMTBmMWRlIn0uZmFkLmZhLXNsaWRlcnMtaC1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjNmMCJ9LmZhZC5mYS1zbGlkZXJzLXY6YWZ0ZXJ7Y29udGVudDoiXDEwZjNmMSJ9LmZhZC5mYS1zbGlkZXJzLXYtc3F1YXJlOmFmdGVye2NvbnRlbnQ6IlwxMGYzZjIifS5mYWQuZmEtc21pbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjExOCJ9LmZhZC5mYS1zbWlsZS1iZWFtOmFmdGVye2NvbnRlbnQ6IlwxMGY1YjgifS5mYWQuZmEtc21pbGUtcGx1czphZnRlcntjb250ZW50OiJcMTBmNWI5In0uZmFkLmZhLXNtaWxlLXdpbms6YWZ0ZXJ7Y29udGVudDoiXDEwZjRkYSJ9LmZhZC5mYS1zbW9nOmFmdGVye2NvbnRlbnQ6IlwxMGY3NWYifS5mYWQuZmEtc21va2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjc2MCJ9LmZhZC5mYS1zbW9raW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY0OGQifS5mYWQuZmEtc21va2luZy1iYW46YWZ0ZXJ7Y29udGVudDoiXDEwZjU0ZCJ9LmZhZC5mYS1zbXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjdjZCJ9LmZhZC5mYS1zbmFrZTphZnRlcntjb250ZW50OiJcMTBmNzE2In0uZmFkLmZhLXNub296ZTphZnRlcntjb250ZW50OiJcMTBmODgwIn0uZmFkLmZhLXNub3ctYmxvd2luZzphZnRlcntjb250ZW50OiJcMTBmNzYxIn0uZmFkLmZhLXNub3dib2FyZGluZzphZnRlcntjb250ZW50OiJcMTBmN2NlIn0uZmFkLmZhLXNub3dmbGFrZTphZnRlcntjb250ZW50OiJcMTBmMmRjIn0uZmFkLmZhLXNub3dmbGFrZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjdjZiJ9LmZhZC5mYS1zbm93bWFuOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZDAifS5mYWQuZmEtc25vd21vYmlsZTphZnRlcntjb250ZW50OiJcMTBmN2QxIn0uZmFkLmZhLXNub3dwbG93OmFmdGVye2NvbnRlbnQ6IlwxMGY3ZDIifS5mYWQuZmEtc29hcDphZnRlcntjb250ZW50OiJcMTBlMDZlIn0uZmFkLmZhLXNvY2tzOmFmdGVye2NvbnRlbnQ6IlwxMGY2OTYifS5mYWQuZmEtc29sYXItcGFuZWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjViYSJ9LmZhZC5mYS1zb2xhci1zeXN0ZW06YWZ0ZXJ7Y29udGVudDoiXDEwZTAyZiJ9LmZhZC5mYS1zb3J0OmFmdGVye2NvbnRlbnQ6IlwxMGYwZGMifS5mYWQuZmEtc29ydC1hbHBoYS1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYxNWQifS5mYWQuZmEtc29ydC1hbHBoYS1kb3duLWFsdDphZnRlcntjb250ZW50OiJcMTBmODgxIn0uZmFkLmZhLXNvcnQtYWxwaGEtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjE1ZSJ9LmZhZC5mYS1zb3J0LWFscGhhLXVwLWFsdDphZnRlcntjb250ZW50OiJcMTBmODgyIn0uZmFkLmZhLXNvcnQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4ODMifS5mYWQuZmEtc29ydC1hbW91bnQtZG93bjphZnRlcntjb250ZW50OiJcMTBmMTYwIn0uZmFkLmZhLXNvcnQtYW1vdW50LWRvd24tYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4ODQifS5mYWQuZmEtc29ydC1hbW91bnQtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjE2MSJ9LmZhZC5mYS1zb3J0LWFtb3VudC11cC1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjg4NSJ9LmZhZC5mYS1zb3J0LWNpcmNsZTphZnRlcntjb250ZW50OiJcMTBlMDMwIn0uZmFkLmZhLXNvcnQtY2lyY2xlLWRvd246YWZ0ZXJ7Y29udGVudDoiXDEwZTAzMSJ9LmZhZC5mYS1zb3J0LWNpcmNsZS11cDphZnRlcntjb250ZW50OiJcMTBlMDMyIn0uZmFkLmZhLXNvcnQtZG93bjphZnRlcntjb250ZW50OiJcMTBmMGRkIn0uZmFkLmZhLXNvcnQtbnVtZXJpYy1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGYxNjIifS5mYWQuZmEtc29ydC1udW1lcmljLWRvd24tYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4ODYifS5mYWQuZmEtc29ydC1udW1lcmljLXVwOmFmdGVye2NvbnRlbnQ6IlwxMGYxNjMifS5mYWQuZmEtc29ydC1udW1lcmljLXVwLWFsdDphZnRlcntjb250ZW50OiJcMTBmODg3In0uZmFkLmZhLXNvcnQtc2hhcGVzLWRvd246YWZ0ZXJ7Y29udGVudDoiXDEwZjg4OCJ9LmZhZC5mYS1zb3J0LXNoYXBlcy1kb3duLWFsdDphZnRlcntjb250ZW50OiJcMTBmODg5In0uZmFkLmZhLXNvcnQtc2hhcGVzLXVwOmFmdGVye2NvbnRlbnQ6IlwxMGY4OGEifS5mYWQuZmEtc29ydC1zaGFwZXMtdXAtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4OGIifS5mYWQuZmEtc29ydC1zaXplLWRvd246YWZ0ZXJ7Y29udGVudDoiXDEwZjg4YyJ9LmZhZC5mYS1zb3J0LXNpemUtZG93bi1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjg4ZCJ9LmZhZC5mYS1zb3J0LXNpemUtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjg4ZSJ9LmZhZC5mYS1zb3J0LXNpemUtdXAtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4OGYifS5mYWQuZmEtc29ydC11cDphZnRlcntjb250ZW50OiJcMTBmMGRlIn0uZmFkLmZhLXNvdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjgyMyJ9LmZhZC5mYS1zcGE6YWZ0ZXJ7Y29udGVudDoiXDEwZjViYiJ9LmZhZC5mYS1zcGFjZS1zaHV0dGxlOmFmdGVye2NvbnRlbnQ6IlwxMGYxOTcifS5mYWQuZmEtc3BhY2Utc3RhdGlvbi1tb29uOmFmdGVye2NvbnRlbnQ6IlwxMGUwMzMifS5mYWQuZmEtc3BhY2Utc3RhdGlvbi1tb29uLWFsdDphZnRlcntjb250ZW50OiJcMTBlMDM0In0uZmFkLmZhLXNwYWRlOmFmdGVye2NvbnRlbnQ6IlwxMGYyZjQifS5mYWQuZmEtc3BhcmtsZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjg5MCJ9LmZhZC5mYS1zcGVha2VyOmFmdGVye2NvbnRlbnQ6IlwxMGY4ZGYifS5mYWQuZmEtc3BlYWtlcnM6YWZ0ZXJ7Y29udGVudDoiXDEwZjhlMCJ9LmZhZC5mYS1zcGVsbC1jaGVjazphZnRlcntjb250ZW50OiJcMTBmODkxIn0uZmFkLmZhLXNwaWRlcjphZnRlcntjb250ZW50OiJcMTBmNzE3In0uZmFkLmZhLXNwaWRlci1ibGFjay13aWRvdzphZnRlcntjb250ZW50OiJcMTBmNzE4In0uZmFkLmZhLXNwaWRlci13ZWI6YWZ0ZXJ7Y29udGVudDoiXDEwZjcxOSJ9LmZhZC5mYS1zcGlubmVyOmFmdGVye2NvbnRlbnQ6IlwxMGYxMTAifS5mYWQuZmEtc3Bpbm5lci10aGlyZDphZnRlcntjb250ZW50OiJcMTBmM2Y0In0uZmFkLmZhLXNwbG90Y2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjViYyJ9LmZhZC5mYS1zcHJheS1jYW46YWZ0ZXJ7Y29udGVudDoiXDEwZjViZCJ9LmZhZC5mYS1zcHJpbmtsZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZTAzNSJ9LmZhZC5mYS1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjBjOCJ9LmZhZC5mYS1zcXVhcmUtZnVsbDphZnRlcntjb250ZW50OiJcMTBmNDVjIn0uZmFkLmZhLXNxdWFyZS1yb290OmFmdGVye2NvbnRlbnQ6IlwxMGY2OTcifS5mYWQuZmEtc3F1YXJlLXJvb3QtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY2OTgifS5mYWQuZmEtc3F1aXJyZWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjcxYSJ9LmZhZC5mYS1zdGFmZjphZnRlcntjb250ZW50OiJcMTBmNzFiIn0uZmFkLmZhLXN0YW1wOmFmdGVye2NvbnRlbnQ6IlwxMGY1YmYifS5mYWQuZmEtc3RhcjphZnRlcntjb250ZW50OiJcMTBmMDA1In0uZmFkLmZhLXN0YXItYW5kLWNyZXNjZW50OmFmdGVye2NvbnRlbnQ6IlwxMGY2OTkifS5mYWQuZmEtc3Rhci1jaHJpc3RtYXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjdkNCJ9LmZhZC5mYS1zdGFyLWV4Y2xhbWF0aW9uOmFmdGVye2NvbnRlbnQ6IlwxMGYyZjMifS5mYWQuZmEtc3Rhci1oYWxmOmFmdGVye2NvbnRlbnQ6IlwxMGYwODkifS5mYWQuZmEtc3Rhci1oYWxmLWFsdDphZnRlcntjb250ZW50OiJcMTBmNWMwIn0uZmFkLmZhLXN0YXItb2YtZGF2aWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjY5YSJ9LmZhZC5mYS1zdGFyLW9mLWxpZmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjYyMSJ9LmZhZC5mYS1zdGFyLXNob290aW5nOmFmdGVye2NvbnRlbnQ6IlwxMGUwMzYifS5mYWQuZmEtc3RhcmZpZ2h0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZTAzNyJ9LmZhZC5mYS1zdGFyZmlnaHRlci1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZTAzOCJ9LmZhZC5mYS1zdGFyczphZnRlcntjb250ZW50OiJcMTBmNzYyIn0uZmFkLmZhLXN0YXJzaGlwOmFmdGVye2NvbnRlbnQ6IlwxMGUwMzkifS5mYWQuZmEtc3RhcnNoaXAtZnJlaWdodGVyOmFmdGVye2NvbnRlbnQ6IlwxMGUwM2EifS5mYWQuZmEtc3RlYWs6YWZ0ZXJ7Y29udGVudDoiXDEwZjgyNCJ9LmZhZC5mYS1zdGVlcmluZy13aGVlbDphZnRlcntjb250ZW50OiJcMTBmNjIyIn0uZmFkLmZhLXN0ZXAtYmFja3dhcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjA0OCJ9LmZhZC5mYS1zdGVwLWZvcndhcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjA1MSJ9LmZhZC5mYS1zdGV0aG9zY29wZTphZnRlcntjb250ZW50OiJcMTBmMGYxIn0uZmFkLmZhLXN0aWNreS1ub3RlOmFmdGVye2NvbnRlbnQ6IlwxMGYyNDkifS5mYWQuZmEtc3RvY2tpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjdkNSJ9LmZhZC5mYS1zdG9tYWNoOmFmdGVye2NvbnRlbnQ6IlwxMGY2MjMifS5mYWQuZmEtc3RvcDphZnRlcntjb250ZW50OiJcMTBmMDRkIn0uZmFkLmZhLXN0b3AtY2lyY2xlOmFmdGVye2NvbnRlbnQ6IlwxMGYyOGQifS5mYWQuZmEtc3RvcHdhdGNoOmFmdGVye2NvbnRlbnQ6IlwxMGYyZjIifS5mYWQuZmEtc3RvcHdhdGNoLTIwOmFmdGVye2NvbnRlbnQ6IlwxMGUwNmYifS5mYWQuZmEtc3RvcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjU0ZSJ9LmZhZC5mYS1zdG9yZS1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjU0ZiJ9LmZhZC5mYS1zdG9yZS1hbHQtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZTA3MCJ9LmZhZC5mYS1zdG9yZS1zbGFzaDphZnRlcntjb250ZW50OiJcMTBlMDcxIn0uZmFkLmZhLXN0cmVhbTphZnRlcntjb250ZW50OiJcMTBmNTUwIn0uZmFkLmZhLXN0cmVldC12aWV3OmFmdGVye2NvbnRlbnQ6IlwxMGYyMWQifS5mYWQuZmEtc3RyZXRjaGVyOmFmdGVye2NvbnRlbnQ6IlwxMGY4MjUifS5mYWQuZmEtc3RyaWtldGhyb3VnaDphZnRlcntjb250ZW50OiJcMTBmMGNjIn0uZmFkLmZhLXN0cm9vcHdhZmVsOmFmdGVye2NvbnRlbnQ6IlwxMGY1NTEifS5mYWQuZmEtc3Vic2NyaXB0OmFmdGVye2NvbnRlbnQ6IlwxMGYxMmMifS5mYWQuZmEtc3Vid2F5OmFmdGVye2NvbnRlbnQ6IlwxMGYyMzkifS5mYWQuZmEtc3VpdGNhc2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjBmMiJ9LmZhZC5mYS1zdWl0Y2FzZS1yb2xsaW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY1YzEifS5mYWQuZmEtc3VuOmFmdGVye2NvbnRlbnQ6IlwxMGYxODUifS5mYWQuZmEtc3VuLWNsb3VkOmFmdGVye2NvbnRlbnQ6IlwxMGY3NjMifS5mYWQuZmEtc3VuLWR1c3Q6YWZ0ZXJ7Y29udGVudDoiXDEwZjc2NCJ9LmZhZC5mYS1zdW4taGF6ZTphZnRlcntjb250ZW50OiJcMTBmNzY1In0uZmFkLmZhLXN1bmdsYXNzZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjg5MiJ9LmZhZC5mYS1zdW5yaXNlOmFmdGVye2NvbnRlbnQ6IlwxMGY3NjYifS5mYWQuZmEtc3Vuc2V0OmFmdGVye2NvbnRlbnQ6IlwxMGY3NjcifS5mYWQuZmEtc3VwZXJzY3JpcHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjEyYiJ9LmZhZC5mYS1zdXJwcmlzZTphZnRlcntjb250ZW50OiJcMTBmNWMyIn0uZmFkLmZhLXN3YXRjaGJvb2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjVjMyJ9LmZhZC5mYS1zd2ltbWVyOmFmdGVye2NvbnRlbnQ6IlwxMGY1YzQifS5mYWQuZmEtc3dpbW1pbmctcG9vbDphZnRlcntjb250ZW50OiJcMTBmNWM1In0uZmFkLmZhLXN3b3JkOmFmdGVye2NvbnRlbnQ6IlwxMGY3MWMifS5mYWQuZmEtc3dvcmQtbGFzZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZTAzYiJ9LmZhZC5mYS1zd29yZC1sYXNlci1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZTAzYyJ9LmZhZC5mYS1zd29yZHM6YWZ0ZXJ7Y29udGVudDoiXDEwZjcxZCJ9LmZhZC5mYS1zd29yZHMtbGFzZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZTAzZCJ9LmZhZC5mYS1zeW5hZ29ndWU6YWZ0ZXJ7Y29udGVudDoiXDEwZjY5YiJ9LmZhZC5mYS1zeW5jOmFmdGVye2NvbnRlbnQ6IlwxMGYwMjEifS5mYWQuZmEtc3luYy1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjJmMSJ9LmZhZC5mYS1zeXJpbmdlOmFmdGVye2NvbnRlbnQ6IlwxMGY0OGUifS5mYWQuZmEtdGFibGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjBjZSJ9LmZhZC5mYS10YWJsZS10ZW5uaXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ1ZCJ9LmZhZC5mYS10YWJsZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjEwYSJ9LmZhZC5mYS10YWJsZXQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzZmEifS5mYWQuZmEtdGFibGV0LWFuZHJvaWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjNmYiJ9LmZhZC5mYS10YWJsZXQtYW5kcm9pZC1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjNmYyJ9LmZhZC5mYS10YWJsZXQtcnVnZ2VkOmFmdGVye2NvbnRlbnQ6IlwxMGY0OGYifS5mYWQuZmEtdGFibGV0czphZnRlcntjb250ZW50OiJcMTBmNDkwIn0uZmFkLmZhLXRhY2hvbWV0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjBlNCJ9LmZhZC5mYS10YWNob21ldGVyLWFsdDphZnRlcntjb250ZW50OiJcMTBmM2ZkIn0uZmFkLmZhLXRhY2hvbWV0ZXItYWx0LWF2ZXJhZ2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjYyNCJ9LmZhZC5mYS10YWNob21ldGVyLWFsdC1mYXN0OmFmdGVye2NvbnRlbnQ6IlwxMGY2MjUifS5mYWQuZmEtdGFjaG9tZXRlci1hbHQtZmFzdGVzdDphZnRlcntjb250ZW50OiJcMTBmNjI2In0uZmFkLmZhLXRhY2hvbWV0ZXItYWx0LXNsb3c6YWZ0ZXJ7Y29udGVudDoiXDEwZjYyNyJ9LmZhZC5mYS10YWNob21ldGVyLWFsdC1zbG93ZXN0OmFmdGVye2NvbnRlbnQ6IlwxMGY2MjgifS5mYWQuZmEtdGFjaG9tZXRlci1hdmVyYWdlOmFmdGVye2NvbnRlbnQ6IlwxMGY2MjkifS5mYWQuZmEtdGFjaG9tZXRlci1mYXN0OmFmdGVye2NvbnRlbnQ6IlwxMGY2MmEifS5mYWQuZmEtdGFjaG9tZXRlci1mYXN0ZXN0OmFmdGVye2NvbnRlbnQ6IlwxMGY2MmIifS5mYWQuZmEtdGFjaG9tZXRlci1zbG93OmFmdGVye2NvbnRlbnQ6IlwxMGY2MmMifS5mYWQuZmEtdGFjaG9tZXRlci1zbG93ZXN0OmFmdGVye2NvbnRlbnQ6IlwxMGY2MmQifS5mYWQuZmEtdGFjbzphZnRlcntjb250ZW50OiJcMTBmODI2In0uZmFkLmZhLXRhZzphZnRlcntjb250ZW50OiJcMTBmMDJiIn0uZmFkLmZhLXRhZ3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjAyYyJ9LmZhZC5mYS10YWxseTphZnRlcntjb250ZW50OiJcMTBmNjljIn0uZmFkLmZhLXRhbmFraDphZnRlcntjb250ZW50OiJcMTBmODI3In0uZmFkLmZhLXRhcGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjRkYiJ9LmZhZC5mYS10YXNrczphZnRlcntjb250ZW50OiJcMTBmMGFlIn0uZmFkLmZhLXRhc2tzLWFsdDphZnRlcntjb250ZW50OiJcMTBmODI4In0uZmFkLmZhLXRheGk6YWZ0ZXJ7Y29udGVudDoiXDEwZjFiYSJ9LmZhZC5mYS10ZWV0aDphZnRlcntjb250ZW50OiJcMTBmNjJlIn0uZmFkLmZhLXRlZXRoLW9wZW46YWZ0ZXJ7Y29udGVudDoiXDEwZjYyZiJ9LmZhZC5mYS10ZWxlc2NvcGU6YWZ0ZXJ7Y29udGVudDoiXDEwZTAzZSJ9LmZhZC5mYS10ZW1wZXJhdHVyZS1kb3duOmFmdGVye2NvbnRlbnQ6IlwxMGUwM2YifS5mYWQuZmEtdGVtcGVyYXR1cmUtZnJpZ2lkOmFmdGVye2NvbnRlbnQ6IlwxMGY3NjgifS5mYWQuZmEtdGVtcGVyYXR1cmUtaGlnaDphZnRlcntjb250ZW50OiJcMTBmNzY5In0uZmFkLmZhLXRlbXBlcmF0dXJlLWhvdDphZnRlcntjb250ZW50OiJcMTBmNzZhIn0uZmFkLmZhLXRlbXBlcmF0dXJlLWxvdzphZnRlcntjb250ZW50OiJcMTBmNzZiIn0uZmFkLmZhLXRlbXBlcmF0dXJlLXVwOmFmdGVye2NvbnRlbnQ6IlwxMGUwNDAifS5mYWQuZmEtdGVuZ2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjdkNyJ9LmZhZC5mYS10ZW5uaXMtYmFsbDphZnRlcntjb250ZW50OiJcMTBmNDVlIn0uZmFkLmZhLXRlcm1pbmFsOmFmdGVye2NvbnRlbnQ6IlwxMGYxMjAifS5mYWQuZmEtdGV4dDphZnRlcntjb250ZW50OiJcMTBmODkzIn0uZmFkLmZhLXRleHQtaGVpZ2h0OmFmdGVye2NvbnRlbnQ6IlwxMGYwMzQifS5mYWQuZmEtdGV4dC1zaXplOmFmdGVye2NvbnRlbnQ6IlwxMGY4OTQifS5mYWQuZmEtdGV4dC13aWR0aDphZnRlcntjb250ZW50OiJcMTBmMDM1In0uZmFkLmZhLXRoOmFmdGVye2NvbnRlbnQ6IlwxMGYwMGEifS5mYWQuZmEtdGgtbGFyZ2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjAwOSJ9LmZhZC5mYS10aC1saXN0OmFmdGVye2NvbnRlbnQ6IlwxMGYwMGIifS5mYWQuZmEtdGhlYXRlci1tYXNrczphZnRlcntjb250ZW50OiJcMTBmNjMwIn0uZmFkLmZhLXRoZXJtb21ldGVyOmFmdGVye2NvbnRlbnQ6IlwxMGY0OTEifS5mYWQuZmEtdGhlcm1vbWV0ZXItZW1wdHk6YWZ0ZXJ7Y29udGVudDoiXDEwZjJjYiJ9LmZhZC5mYS10aGVybW9tZXRlci1mdWxsOmFmdGVye2NvbnRlbnQ6IlwxMGYyYzcifS5mYWQuZmEtdGhlcm1vbWV0ZXItaGFsZjphZnRlcntjb250ZW50OiJcMTBmMmM5In0uZmFkLmZhLXRoZXJtb21ldGVyLXF1YXJ0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjJjYSJ9LmZhZC5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczphZnRlcntjb250ZW50OiJcMTBmMmM4In0uZmFkLmZhLXRoZXRhOmFmdGVye2NvbnRlbnQ6IlwxMGY2OWUifS5mYWQuZmEtdGh1bWJzLWRvd246YWZ0ZXJ7Y29udGVudDoiXDEwZjE2NSJ9LmZhZC5mYS10aHVtYnMtdXA6YWZ0ZXJ7Y29udGVudDoiXDEwZjE2NCJ9LmZhZC5mYS10aHVtYnRhY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjA4ZCJ9LmZhZC5mYS10aHVuZGVyc3Rvcm06YWZ0ZXJ7Y29udGVudDoiXDEwZjc2YyJ9LmZhZC5mYS10aHVuZGVyc3Rvcm0tbW9vbjphZnRlcntjb250ZW50OiJcMTBmNzZkIn0uZmFkLmZhLXRodW5kZXJzdG9ybS1zdW46YWZ0ZXJ7Y29udGVudDoiXDEwZjc2ZSJ9LmZhZC5mYS10aWNrZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjE0NSJ9LmZhZC5mYS10aWNrZXQtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGYzZmYifS5mYWQuZmEtdGlsZGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjY5ZiJ9LmZhZC5mYS10aW1lczphZnRlcntjb250ZW50OiJcMTBmMDBkIn0uZmFkLmZhLXRpbWVzLWNpcmNsZTphZnRlcntjb250ZW50OiJcMTBmMDU3In0uZmFkLmZhLXRpbWVzLWhleGFnb246YWZ0ZXJ7Y29udGVudDoiXDEwZjJlZSJ9LmZhZC5mYS10aW1lcy1vY3RhZ29uOmFmdGVye2NvbnRlbnQ6IlwxMGYyZjAifS5mYWQuZmEtdGltZXMtc3F1YXJlOmFmdGVye2NvbnRlbnQ6IlwxMGYyZDMifS5mYWQuZmEtdGludDphZnRlcntjb250ZW50OiJcMTBmMDQzIn0uZmFkLmZhLXRpbnQtc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjVjNyJ9LmZhZC5mYS10aXJlOmFmdGVye2NvbnRlbnQ6IlwxMGY2MzEifS5mYWQuZmEtdGlyZS1mbGF0OmFmdGVye2NvbnRlbnQ6IlwxMGY2MzIifS5mYWQuZmEtdGlyZS1wcmVzc3VyZS13YXJuaW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY2MzMifS5mYWQuZmEtdGlyZS1ydWdnZWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjYzNCJ9LmZhZC5mYS10aXJlZDphZnRlcntjb250ZW50OiJcMTBmNWM4In0uZmFkLmZhLXRvZ2dsZS1vZmY6YWZ0ZXJ7Y29udGVudDoiXDEwZjIwNCJ9LmZhZC5mYS10b2dnbGUtb246YWZ0ZXJ7Y29udGVudDoiXDEwZjIwNSJ9LmZhZC5mYS10b2lsZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjdkOCJ9LmZhZC5mYS10b2lsZXQtcGFwZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjcxZSJ9LmZhZC5mYS10b2lsZXQtcGFwZXItYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY3MWYifS5mYWQuZmEtdG9pbGV0LXBhcGVyLXNsYXNoOmFmdGVye2NvbnRlbnQ6IlwxMGUwNzIifS5mYWQuZmEtdG9tYnN0b25lOmFmdGVye2NvbnRlbnQ6IlwxMGY3MjAifS5mYWQuZmEtdG9tYnN0b25lLWFsdDphZnRlcntjb250ZW50OiJcMTBmNzIxIn0uZmFkLmZhLXRvb2xib3g6YWZ0ZXJ7Y29udGVudDoiXDEwZjU1MiJ9LmZhZC5mYS10b29sczphZnRlcntjb250ZW50OiJcMTBmN2Q5In0uZmFkLmZhLXRvb3RoOmFmdGVye2NvbnRlbnQ6IlwxMGY1YzkifS5mYWQuZmEtdG9vdGhicnVzaDphZnRlcntjb250ZW50OiJcMTBmNjM1In0uZmFkLmZhLXRvcmFoOmFmdGVye2NvbnRlbnQ6IlwxMGY2YTAifS5mYWQuZmEtdG9yaWktZ2F0ZTphZnRlcntjb250ZW50OiJcMTBmNmExIn0uZmFkLmZhLXRvcm5hZG86YWZ0ZXJ7Y29udGVudDoiXDEwZjc2ZiJ9LmZhZC5mYS10cmFjdG9yOmFmdGVye2NvbnRlbnQ6IlwxMGY3MjIifS5mYWQuZmEtdHJhZGVtYXJrOmFmdGVye2NvbnRlbnQ6IlwxMGYyNWMifS5mYWQuZmEtdHJhZmZpYy1jb25lOmFmdGVye2NvbnRlbnQ6IlwxMGY2MzYifS5mYWQuZmEtdHJhZmZpYy1saWdodDphZnRlcntjb250ZW50OiJcMTBmNjM3In0uZmFkLmZhLXRyYWZmaWMtbGlnaHQtZ286YWZ0ZXJ7Y29udGVudDoiXDEwZjYzOCJ9LmZhZC5mYS10cmFmZmljLWxpZ2h0LXNsb3c6YWZ0ZXJ7Y29udGVudDoiXDEwZjYzOSJ9LmZhZC5mYS10cmFmZmljLWxpZ2h0LXN0b3A6YWZ0ZXJ7Y29udGVudDoiXDEwZjYzYSJ9LmZhZC5mYS10cmFpbGVyOmFmdGVye2NvbnRlbnQ6IlwxMGUwNDEifS5mYWQuZmEtdHJhaW46YWZ0ZXJ7Y29udGVudDoiXDEwZjIzOCJ9LmZhZC5mYS10cmFtOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZGEifS5mYWQuZmEtdHJhbnNnZW5kZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjIyNCJ9LmZhZC5mYS10cmFuc2dlbmRlci1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjIyNSJ9LmZhZC5mYS10cmFuc3BvcnRlcjphZnRlcntjb250ZW50OiJcMTBlMDQyIn0uZmFkLmZhLXRyYW5zcG9ydGVyLTE6YWZ0ZXJ7Y29udGVudDoiXDEwZTA0MyJ9LmZhZC5mYS10cmFuc3BvcnRlci0yOmFmdGVye2NvbnRlbnQ6IlwxMGUwNDQifS5mYWQuZmEtdHJhbnNwb3J0ZXItMzphZnRlcntjb250ZW50OiJcMTBlMDQ1In0uZmFkLmZhLXRyYW5zcG9ydGVyLWVtcHR5OmFmdGVye2NvbnRlbnQ6IlwxMGUwNDYifS5mYWQuZmEtdHJhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjFmOCJ9LmZhZC5mYS10cmFzaC1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjJlZCJ9LmZhZC5mYS10cmFzaC1yZXN0b3JlOmFmdGVye2NvbnRlbnQ6IlwxMGY4MjkifS5mYWQuZmEtdHJhc2gtcmVzdG9yZS1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjgyYSJ9LmZhZC5mYS10cmFzaC11bmRvOmFmdGVye2NvbnRlbnQ6IlwxMGY4OTUifS5mYWQuZmEtdHJhc2gtdW5kby1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjg5NiJ9LmZhZC5mYS10cmVhc3VyZS1jaGVzdDphZnRlcntjb250ZW50OiJcMTBmNzIzIn0uZmFkLmZhLXRyZWU6YWZ0ZXJ7Y29udGVudDoiXDEwZjFiYiJ9LmZhZC5mYS10cmVlLWFsdDphZnRlcntjb250ZW50OiJcMTBmNDAwIn0uZmFkLmZhLXRyZWUtY2hyaXN0bWFzOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZGIifS5mYWQuZmEtdHJlZS1kZWNvcmF0ZWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjdkYyJ9LmZhZC5mYS10cmVlLWxhcmdlOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZGQifS5mYWQuZmEtdHJlZS1wYWxtOmFmdGVye2NvbnRlbnQ6IlwxMGY4MmIifS5mYWQuZmEtdHJlZXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjcyNCJ9LmZhZC5mYS10cmlhbmdsZTphZnRlcntjb250ZW50OiJcMTBmMmVjIn0uZmFkLmZhLXRyaWFuZ2xlLW11c2ljOmFmdGVye2NvbnRlbnQ6IlwxMGY4ZTIifS5mYWQuZmEtdHJvcGh5OmFmdGVye2NvbnRlbnQ6IlwxMGYwOTEifS5mYWQuZmEtdHJvcGh5LWFsdDphZnRlcntjb250ZW50OiJcMTBmMmViIn0uZmFkLmZhLXRydWNrOmFmdGVye2NvbnRlbnQ6IlwxMGYwZDEifS5mYWQuZmEtdHJ1Y2stY29udGFpbmVyOmFmdGVye2NvbnRlbnQ6IlwxMGY0ZGMifS5mYWQuZmEtdHJ1Y2stY291Y2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjRkZCJ9LmZhZC5mYS10cnVjay1sb2FkaW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY0ZGUifS5mYWQuZmEtdHJ1Y2stbW9uc3RlcjphZnRlcntjb250ZW50OiJcMTBmNjNiIn0uZmFkLmZhLXRydWNrLW1vdmluZzphZnRlcntjb250ZW50OiJcMTBmNGRmIn0uZmFkLmZhLXRydWNrLXBpY2t1cDphZnRlcntjb250ZW50OiJcMTBmNjNjIn0uZmFkLmZhLXRydWNrLXBsb3c6YWZ0ZXJ7Y29udGVudDoiXDEwZjdkZSJ9LmZhZC5mYS10cnVjay1yYW1wOmFmdGVye2NvbnRlbnQ6IlwxMGY0ZTAifS5mYWQuZmEtdHJ1bXBldDphZnRlcntjb250ZW50OiJcMTBmOGUzIn0uZmFkLmZhLXRzaGlydDphZnRlcntjb250ZW50OiJcMTBmNTUzIn0uZmFkLmZhLXR0eTphZnRlcntjb250ZW50OiJcMTBmMWU0In0uZmFkLmZhLXR1cmtleTphZnRlcntjb250ZW50OiJcMTBmNzI1In0uZmFkLmZhLXR1cm50YWJsZTphZnRlcntjb250ZW50OiJcMTBmOGU0In0uZmFkLmZhLXR1cnRsZTphZnRlcntjb250ZW50OiJcMTBmNzI2In0uZmFkLmZhLXR2OmFmdGVye2NvbnRlbnQ6IlwxMGYyNmMifS5mYWQuZmEtdHYtYWx0OmFmdGVye2NvbnRlbnQ6IlwxMGY4ZTUifS5mYWQuZmEtdHYtbXVzaWM6YWZ0ZXJ7Y29udGVudDoiXDEwZjhlNiJ9LmZhZC5mYS10di1yZXRybzphZnRlcntjb250ZW50OiJcMTBmNDAxIn0uZmFkLmZhLXR5cGV3cml0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjhlNyJ9LmZhZC5mYS11Zm86YWZ0ZXJ7Y29udGVudDoiXDEwZTA0NyJ9LmZhZC5mYS11Zm8tYmVhbTphZnRlcntjb250ZW50OiJcMTBlMDQ4In0uZmFkLmZhLXVtYnJlbGxhOmFmdGVye2NvbnRlbnQ6IlwxMGYwZTkifS5mYWQuZmEtdW1icmVsbGEtYmVhY2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjVjYSJ9LmZhZC5mYS11bmRlcmxpbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjBjZCJ9LmZhZC5mYS11bmRvOmFmdGVye2NvbnRlbnQ6IlwxMGYwZTIifS5mYWQuZmEtdW5kby1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjJlYSJ9LmZhZC5mYS11bmljb3JuOmFmdGVye2NvbnRlbnQ6IlwxMGY3MjcifS5mYWQuZmEtdW5pb246YWZ0ZXJ7Y29udGVudDoiXDEwZjZhMiJ9LmZhZC5mYS11bml2ZXJzYWwtYWNjZXNzOmFmdGVye2NvbnRlbnQ6IlwxMGYyOWEifS5mYWQuZmEtdW5pdmVyc2l0eTphZnRlcntjb250ZW50OiJcMTBmMTljIn0uZmFkLmZhLXVubGluazphZnRlcntjb250ZW50OiJcMTBmMTI3In0uZmFkLmZhLXVubG9jazphZnRlcntjb250ZW50OiJcMTBmMDljIn0uZmFkLmZhLXVubG9jay1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjEzZSJ9LmZhZC5mYS11cGxvYWQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjA5MyJ9LmZhZC5mYS11c2ItZHJpdmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjhlOSJ9LmZhZC5mYS11c2QtY2lyY2xlOmFmdGVye2NvbnRlbnQ6IlwxMGYyZTgifS5mYWQuZmEtdXNkLXNxdWFyZTphZnRlcntjb250ZW50OiJcMTBmMmU5In0uZmFkLmZhLXVzZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjAwNyJ9LmZhZC5mYS11c2VyLWFsaWVuOmFmdGVye2NvbnRlbnQ6IlwxMGUwNGEifS5mYWQuZmEtdXNlci1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQwNiJ9LmZhZC5mYS11c2VyLWFsdC1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmNGZhIn0uZmFkLmZhLXVzZXItYXN0cm9uYXV0OmFmdGVye2NvbnRlbnQ6IlwxMGY0ZmIifS5mYWQuZmEtdXNlci1jaGFydDphZnRlcntjb250ZW50OiJcMTBmNmEzIn0uZmFkLmZhLXVzZXItY2hlY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjRmYyJ9LmZhZC5mYS11c2VyLWNpcmNsZTphZnRlcntjb250ZW50OiJcMTBmMmJkIn0uZmFkLmZhLXVzZXItY2xvY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjRmZCJ9LmZhZC5mYS11c2VyLWNvZzphZnRlcntjb250ZW50OiJcMTBmNGZlIn0uZmFkLmZhLXVzZXItY293Ym95OmFmdGVye2NvbnRlbnQ6IlwxMGY4ZWEifS5mYWQuZmEtdXNlci1jcm93bjphZnRlcntjb250ZW50OiJcMTBmNmE0In0uZmFkLmZhLXVzZXItZWRpdDphZnRlcntjb250ZW50OiJcMTBmNGZmIn0uZmFkLmZhLXVzZXItZnJpZW5kczphZnRlcntjb250ZW50OiJcMTBmNTAwIn0uZmFkLmZhLXVzZXItZ3JhZHVhdGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjUwMSJ9LmZhZC5mYS11c2VyLWhhcmQtaGF0OmFmdGVye2NvbnRlbnQ6IlwxMGY4MmMifS5mYWQuZmEtdXNlci1oZWFkc2V0OmFmdGVye2NvbnRlbnQ6IlwxMGY4MmQifS5mYWQuZmEtdXNlci1pbmp1cmVkOmFmdGVye2NvbnRlbnQ6IlwxMGY3MjgifS5mYWQuZmEtdXNlci1sb2NrOmFmdGVye2NvbnRlbnQ6IlwxMGY1MDIifS5mYWQuZmEtdXNlci1tZDphZnRlcntjb250ZW50OiJcMTBmMGYwIn0uZmFkLmZhLXVzZXItbWQtY2hhdDphZnRlcntjb250ZW50OiJcMTBmODJlIn0uZmFkLmZhLXVzZXItbWludXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjUwMyJ9LmZhZC5mYS11c2VyLW11c2ljOmFmdGVye2NvbnRlbnQ6IlwxMGY4ZWIifS5mYWQuZmEtdXNlci1uaW5qYTphZnRlcntjb250ZW50OiJcMTBmNTA0In0uZmFkLmZhLXVzZXItbnVyc2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjgyZiJ9LmZhZC5mYS11c2VyLXBsdXM6YWZ0ZXJ7Y29udGVudDoiXDEwZjIzNCJ9LmZhZC5mYS11c2VyLXJvYm90OmFmdGVye2NvbnRlbnQ6IlwxMGUwNGIifS5mYWQuZmEtdXNlci1zZWNyZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjIxYiJ9LmZhZC5mYS11c2VyLXNoaWVsZDphZnRlcntjb250ZW50OiJcMTBmNTA1In0uZmFkLmZhLXVzZXItc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjUwNiJ9LmZhZC5mYS11c2VyLXRhZzphZnRlcntjb250ZW50OiJcMTBmNTA3In0uZmFkLmZhLXVzZXItdGllOmFmdGVye2NvbnRlbnQ6IlwxMGY1MDgifS5mYWQuZmEtdXNlci10aW1lczphZnRlcntjb250ZW50OiJcMTBmMjM1In0uZmFkLmZhLXVzZXItdW5sb2NrOmFmdGVye2NvbnRlbnQ6IlwxMGUwNTgifS5mYWQuZmEtdXNlci12aXNvcjphZnRlcntjb250ZW50OiJcMTBlMDRjIn0uZmFkLmZhLXVzZXJzOmFmdGVye2NvbnRlbnQ6IlwxMGYwYzAifS5mYWQuZmEtdXNlcnMtY2xhc3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjYzZCJ9LmZhZC5mYS11c2Vycy1jb2c6YWZ0ZXJ7Y29udGVudDoiXDEwZjUwOSJ9LmZhZC5mYS11c2Vycy1jcm93bjphZnRlcntjb250ZW50OiJcMTBmNmE1In0uZmFkLmZhLXVzZXJzLW1lZGljYWw6YWZ0ZXJ7Y29udGVudDoiXDEwZjgzMCJ9LmZhZC5mYS11c2Vycy1zbGFzaDphZnRlcntjb250ZW50OiJcMTBlMDczIn0uZmFkLmZhLXV0ZW5zaWwtZm9yazphZnRlcntjb250ZW50OiJcMTBmMmUzIn0uZmFkLmZhLXV0ZW5zaWwta25pZmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjJlNCJ9LmZhZC5mYS11dGVuc2lsLXNwb29uOmFmdGVye2NvbnRlbnQ6IlwxMGYyZTUifS5mYWQuZmEtdXRlbnNpbHM6YWZ0ZXJ7Y29udGVudDoiXDEwZjJlNyJ9LmZhZC5mYS11dGVuc2lscy1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjJlNiJ9LmZhZC5mYS12YWN1dW06YWZ0ZXJ7Y29udGVudDoiXDEwZTA0ZCJ9LmZhZC5mYS12YWN1dW0tcm9ib3Q6YWZ0ZXJ7Y29udGVudDoiXDEwZTA0ZSJ9LmZhZC5mYS12YWx1ZS1hYnNvbHV0ZTphZnRlcntjb250ZW50OiJcMTBmNmE2In0uZmFkLmZhLXZlY3Rvci1zcXVhcmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjVjYiJ9LmZhZC5mYS12ZW51czphZnRlcntjb250ZW50OiJcMTBmMjIxIn0uZmFkLmZhLXZlbnVzLWRvdWJsZTphZnRlcntjb250ZW50OiJcMTBmMjI2In0uZmFkLmZhLXZlbnVzLW1hcnM6YWZ0ZXJ7Y29udGVudDoiXDEwZjIyOCJ9LmZhZC5mYS12ZXN0OmFmdGVye2NvbnRlbnQ6IlwxMGUwODUifS5mYWQuZmEtdmVzdC1wYXRjaGVzOmFmdGVye2NvbnRlbnQ6IlwxMGUwODYifS5mYWQuZmEtdmhzOmFmdGVye2NvbnRlbnQ6IlwxMGY4ZWMifS5mYWQuZmEtdmlhbDphZnRlcntjb250ZW50OiJcMTBmNDkyIn0uZmFkLmZhLXZpYWxzOmFmdGVye2NvbnRlbnQ6IlwxMGY0OTMifS5mYWQuZmEtdmlkZW86YWZ0ZXJ7Y29udGVudDoiXDEwZjAzZCJ9LmZhZC5mYS12aWRlby1wbHVzOmFmdGVye2NvbnRlbnQ6IlwxMGY0ZTEifS5mYWQuZmEtdmlkZW8tc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjRlMiJ9LmZhZC5mYS12aWhhcmE6YWZ0ZXJ7Y29udGVudDoiXDEwZjZhNyJ9LmZhZC5mYS12aW9saW46YWZ0ZXJ7Y29udGVudDoiXDEwZjhlZCJ9LmZhZC5mYS12aXJ1czphZnRlcntjb250ZW50OiJcMTBlMDc0In0uZmFkLmZhLXZpcnVzLXNsYXNoOmFmdGVye2NvbnRlbnQ6IlwxMGUwNzUifS5mYWQuZmEtdmlydXNlczphZnRlcntjb250ZW50OiJcMTBlMDc2In0uZmFkLmZhLXZvaWNlbWFpbDphZnRlcntjb250ZW50OiJcMTBmODk3In0uZmFkLmZhLXZvbGNhbm86YWZ0ZXJ7Y29udGVudDoiXDEwZjc3MCJ9LmZhZC5mYS12b2xsZXliYWxsLWJhbGw6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ1ZiJ9LmZhZC5mYS12b2x1bWU6YWZ0ZXJ7Y29udGVudDoiXDEwZjZhOCJ9LmZhZC5mYS12b2x1bWUtZG93bjphZnRlcntjb250ZW50OiJcMTBmMDI3In0uZmFkLmZhLXZvbHVtZS1tdXRlOmFmdGVye2NvbnRlbnQ6IlwxMGY2YTkifS5mYWQuZmEtdm9sdW1lLW9mZjphZnRlcntjb250ZW50OiJcMTBmMDI2In0uZmFkLmZhLXZvbHVtZS1zbGFzaDphZnRlcntjb250ZW50OiJcMTBmMmUyIn0uZmFkLmZhLXZvbHVtZS11cDphZnRlcntjb250ZW50OiJcMTBmMDI4In0uZmFkLmZhLXZvdGUtbmF5OmFmdGVye2NvbnRlbnQ6IlwxMGY3NzEifS5mYWQuZmEtdm90ZS15ZWE6YWZ0ZXJ7Y29udGVudDoiXDEwZjc3MiJ9LmZhZC5mYS12ci1jYXJkYm9hcmQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjcyOSJ9LmZhZC5mYS13YWdvbi1jb3ZlcmVkOmFmdGVye2NvbnRlbnQ6IlwxMGY4ZWUifS5mYWQuZmEtd2Fsa2VyOmFmdGVye2NvbnRlbnQ6IlwxMGY4MzEifS5mYWQuZmEtd2Fsa2llLXRhbGtpZTphZnRlcntjb250ZW50OiJcMTBmOGVmIn0uZmFkLmZhLXdhbGtpbmc6YWZ0ZXJ7Y29udGVudDoiXDEwZjU1NCJ9LmZhZC5mYS13YWxsZXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjU1NSJ9LmZhZC5mYS13YW5kOmFmdGVye2NvbnRlbnQ6IlwxMGY3MmEifS5mYWQuZmEtd2FuZC1tYWdpYzphZnRlcntjb250ZW50OiJcMTBmNzJiIn0uZmFkLmZhLXdhcmVob3VzZTphZnRlcntjb250ZW50OiJcMTBmNDk0In0uZmFkLmZhLXdhcmVob3VzZS1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ5NSJ9LmZhZC5mYS13YXNoZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjg5OCJ9LmZhZC5mYS13YXRjaDphZnRlcntjb250ZW50OiJcMTBmMmUxIn0uZmFkLmZhLXdhdGNoLWNhbGN1bGF0b3I6YWZ0ZXJ7Y29udGVudDoiXDEwZjhmMCJ9LmZhZC5mYS13YXRjaC1maXRuZXNzOmFmdGVye2NvbnRlbnQ6IlwxMGY2M2UifS5mYWQuZmEtd2F0ZXI6YWZ0ZXJ7Y29udGVudDoiXDEwZjc3MyJ9LmZhZC5mYS13YXRlci1sb3dlcjphZnRlcntjb250ZW50OiJcMTBmNzc0In0uZmFkLmZhLXdhdGVyLXJpc2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjc3NSJ9LmZhZC5mYS13YXZlLXNpbmU6YWZ0ZXJ7Y29udGVudDoiXDEwZjg5OSJ9LmZhZC5mYS13YXZlLXNxdWFyZTphZnRlcntjb250ZW50OiJcMTBmODNlIn0uZmFkLmZhLXdhdmUtdHJpYW5nbGU6YWZ0ZXJ7Y29udGVudDoiXDEwZjg5YSJ9LmZhZC5mYS13YXZlZm9ybTphZnRlcntjb250ZW50OiJcMTBmOGYxIn0uZmFkLmZhLXdhdmVmb3JtLXBhdGg6YWZ0ZXJ7Y29udGVudDoiXDEwZjhmMiJ9LmZhZC5mYS13ZWJjYW06YWZ0ZXJ7Y29udGVudDoiXDEwZjgzMiJ9LmZhZC5mYS13ZWJjYW0tc2xhc2g6YWZ0ZXJ7Y29udGVudDoiXDEwZjgzMyJ9LmZhZC5mYS13ZWlnaHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ5NiJ9LmZhZC5mYS13ZWlnaHQtaGFuZ2luZzphZnRlcntjb250ZW50OiJcMTBmNWNkIn0uZmFkLmZhLXdoYWxlOmFmdGVye2NvbnRlbnQ6IlwxMGY3MmMifS5mYWQuZmEtd2hlYXQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjcyZCJ9LmZhZC5mYS13aGVlbGNoYWlyOmFmdGVye2NvbnRlbnQ6IlwxMGYxOTMifS5mYWQuZmEtd2hpc3RsZTphZnRlcntjb250ZW50OiJcMTBmNDYwIn0uZmFkLmZhLXdpZmk6YWZ0ZXJ7Y29udGVudDoiXDEwZjFlYiJ9LmZhZC5mYS13aWZpLTE6YWZ0ZXJ7Y29udGVudDoiXDEwZjZhYSJ9LmZhZC5mYS13aWZpLTI6YWZ0ZXJ7Y29udGVudDoiXDEwZjZhYiJ9LmZhZC5mYS13aWZpLXNsYXNoOmFmdGVye2NvbnRlbnQ6IlwxMGY2YWMifS5mYWQuZmEtd2luZDphZnRlcntjb250ZW50OiJcMTBmNzJlIn0uZmFkLmZhLXdpbmQtdHVyYmluZTphZnRlcntjb250ZW50OiJcMTBmODliIn0uZmFkLmZhLXdpbmQtd2FybmluZzphZnRlcntjb250ZW50OiJcMTBmNzc2In0uZmFkLmZhLXdpbmRvdzphZnRlcntjb250ZW50OiJcMTBmNDBlIn0uZmFkLmZhLXdpbmRvdy1hbHQ6YWZ0ZXJ7Y29udGVudDoiXDEwZjQwZiJ9LmZhZC5mYS13aW5kb3ctY2xvc2U6YWZ0ZXJ7Y29udGVudDoiXDEwZjQxMCJ9LmZhZC5mYS13aW5kb3ctZnJhbWU6YWZ0ZXJ7Y29udGVudDoiXDEwZTA0ZiJ9LmZhZC5mYS13aW5kb3ctZnJhbWUtb3BlbjphZnRlcntjb250ZW50OiJcMTBlMDUwIn0uZmFkLmZhLXdpbmRvdy1tYXhpbWl6ZTphZnRlcntjb250ZW50OiJcMTBmMmQwIn0uZmFkLmZhLXdpbmRvdy1taW5pbWl6ZTphZnRlcntjb250ZW50OiJcMTBmMmQxIn0uZmFkLmZhLXdpbmRvdy1yZXN0b3JlOmFmdGVye2NvbnRlbnQ6IlwxMGYyZDIifS5mYWQuZmEtd2luZHNvY2s6YWZ0ZXJ7Y29udGVudDoiXDEwZjc3NyJ9LmZhZC5mYS13aW5lLWJvdHRsZTphZnRlcntjb250ZW50OiJcMTBmNzJmIn0uZmFkLmZhLXdpbmUtZ2xhc3M6YWZ0ZXJ7Y29udGVudDoiXDEwZjRlMyJ9LmZhZC5mYS13aW5lLWdsYXNzLWFsdDphZnRlcntjb250ZW50OiJcMTBmNWNlIn0uZmFkLmZhLXdvbi1zaWduOmFmdGVye2NvbnRlbnQ6IlwxMGYxNTkifS5mYWQuZmEtd3JlYXRoOmFmdGVye2NvbnRlbnQ6IlwxMGY3ZTIifS5mYWQuZmEtd3JlbmNoOmFmdGVye2NvbnRlbnQ6IlwxMGYwYWQifS5mYWQuZmEteC1yYXk6YWZ0ZXJ7Y29udGVudDoiXDEwZjQ5NyJ9LmZhZC5mYS15ZW4tc2lnbjphZnRlcntjb250ZW50OiJcMTBmMTU3In0uZmFkLmZhLXlpbi15YW5nOmFmdGVye2NvbnRlbnQ6IlwxMGY2YWQifUBmb250LWZhY2V7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA1IFBybyI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MzAwO2ZvbnQtZGlzcGxheTpibG9jaztzcmM6dXJsKC4uL3dlYmZvbnRzL2ZhLWxpZ2h0LTMwMC5lb3QpO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtbGlnaHQtMzAwZDQxZC5lb3Q/I2llZml4KSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksdXJsKC4uL3dlYmZvbnRzL2ZhLWxpZ2h0LTMwMC53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpLHVybCguLi93ZWJmb250cy9mYS1saWdodC0zMDAud29mZikgZm9ybWF0KCJ3b2ZmIiksdXJsKC4uL3dlYmZvbnRzL2ZhLWxpZ2h0LTMwMC50dGYpIGZvcm1hdCgidHJ1ZXR5cGUiKSx1cmwoLi4vd2ViZm9udHMvZmEtbGlnaHQtMzAwLnN2ZyNmb250YXdlc29tZSkgZm9ybWF0KCJzdmciKX0uZmFse2ZvbnQtd2VpZ2h0OjMwMH1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBQcm8iO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LWRpc3BsYXk6YmxvY2s7c3JjOnVybCguLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC5lb3QpO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDBkNDFkLmVvdD8jaWVmaXgpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSx1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZikgZm9ybWF0KCJ3b2ZmIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLnR0ZikgZm9ybWF0KCJ0cnVldHlwZSIpLHVybCguLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdCgic3ZnIil9LmZhbCwuZmFye2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBQcm8ifS5mYXJ7Zm9udC13ZWlnaHQ6NDAwfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA1IFBybyI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtZGlzcGxheTpibG9jaztzcmM6dXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC5lb3QpO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtc29saWQtOTAwZDQxZC5lb3Q/I2llZml4KSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpLHVybCguLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZikgZm9ybWF0KCJ3b2ZmIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC50dGYpIGZvcm1hdCgidHJ1ZXR5cGUiKSx1cmwoLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLnN2ZyNmb250YXdlc29tZSkgZm9ybWF0KCJzdmciKX0uZmEsLmZhc3tmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDUgUHJvIjtmb250LXdlaWdodDo5MDB9Cg=="}},"time_used":902,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":902,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.curacom.io/api/chat-widget/v1/visitor/identify","fqdn":"api.curacom.io","domain":"curacom.io","tld":"io"},"ip":{"addr":"104.21.67.170","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:30.820Z","timestamp":1785137070820,"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":"curacom.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 02:32:51 GMT","end":"Sun, 27 Sep 2026 03:32:49 GMT"},"fingerprint":{"sha1":"6B:35:E0:A7:E7:8B:11:A2:C4:B4:5D:B7:E7:86:02:F7:B9:F2:49:10","sha256":"7B:EC:1F:D7:F2:46:AD:9D:9B:0B:24:A7:79:15:63:2F:20:B7:E4:A4:91:75:37:4E:AB:15:49:7E:C6:D1:21:8B"}}},"request":{"raw":"OPTIONS /api/chat-widget/v1/visitor/identify HTTP/1.1\r\nHost: api.curacom.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAccess-Control-Request-Method: GET\r\nAccess-Control-Request-Headers: x-curacom-cookie,x-curacom-session,x-curacom-widget,x-requested-with,x-socket-id\r\nReferer: https://ifxbrokertrades.co.za/\r\nOrigin: https://ifxbrokertrades.co.za\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/2 525 \r\ndate: Mon, 27 Jul 2026 07:24:34 GMT\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 7041\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: a219e7b83f3656bb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"525","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":412,"mime_type":"text/html; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.88462Z","times_seen":17976927,"resource_available":true,"data":""}},"time_used":3226,"timings":{"blocked":-1,"dns":1,"connect":1,"send":0,"wait":88,"receive":0,"ssl":3136},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images/bonds.svg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:32.859Z","timestamp":1785137072859,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images/bonds.svg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 3698\r\ncontent-type: image/svg+xml\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c7fa72\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:32 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":3698,"size_decoded":3998,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"c8b5330567d7b548f6485fca6c730827","sha1":"a9ca7b46992a2203d426918bf701b7fb740266a9","sha256":"b68bcea84ca76ddc428c971d5b21aaf9b4c123decde3d6af8691a0e36521939c","sha512":"dd1945e6fef57cfe286a413c368119ddcc188e2156a36fdf3fcf8e84469b7c83256e8a53a700d9ad404678d5e577fd4fc690841a651861ffc1bbdd2c59578fd0","ssdeep":"","tlshash":"cf71e94283847aeedd21075c5b604de972d6ac4bd23090d4eab33d07ea0ccd8d874aaf","first_seen":"2026-03-29T04:39:56.791014Z","last_seen":"2026-07-27T07:25:28.859045Z","times_seen":5,"resource_available":false,"data":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuNiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxNTMuNiAxNTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE1My42IDE1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMzMDMwMzA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMzEsMTUwSDE0LjJDMy43LDE1MCwwLjMsMTM5LjIsMCwxMzMuNVYwaDEzMXYxMzguMmMwLDUuOSwxLjcsNy45LDEuNyw4bDMuMywzLjhIMTMxeiBNNC42LDQuNnYxMjguOAoJCWMwLDAuNCwwLjksMTIsOS42LDEyaDExMy4xYy0wLjUtMS43LTAuOS00LjEtMC45LTcuMlY0LjZINC42eiIvPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEzOS4zLDE1MGMtNi44LDAtMTMtMS42LTEzLTEzVjMyLjFoMjZWMTM3bDAsMGMwLDAsMC42LDUuMy0yLjksOS4xQzE0Ny4yLDE0OC43LDE0My44LDE1MCwxMzkuMywxNTB6CgkJIE0xMzAuOSwzNi43VjEzN2MwLDgsMy4yLDguNCw4LjQsOC40YzMsMCw1LjMtMC44LDYuNy0yLjNjMi4xLTIuMywxLjgtNS44LDEuNy01LjhWMzYuOEwxMzAuOSwzNi43TDEzMC45LDM2Ljd6Ii8+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNzIuNSw2OS42SDEwLjdWMTAuMmg2MS44VjY5LjZ6IE0xNS40LDY1aDUyLjVWMTQuOEgxNS40VjY1eiIvPgoJPGc+CgkJPHJlY3QgeD0iODAiIHk9IjEzLjciIGNsYXNzPSJzdDAiIHdpZHRoPSIzOC4xIiBoZWlnaHQ9IjQuNiIvPgoJCTxyZWN0IHg9IjgwIiB5PSIyMi45IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4KCQk8cmVjdCB4PSI4MCIgeT0iMzIuMiIgY2xhc3M9InN0MCIgd2lkdGg9IjM4LjEiIGhlaWdodD0iNC42Ii8+CgkJPHJlY3QgeD0iODAiIHk9IjQxLjQiIGNsYXNzPSJzdDAiIHdpZHRoPSIzOC4xIiBoZWlnaHQ9IjQuNiIvPgoJCTxyZWN0IHg9IjgwIiB5PSI0MS40IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4KCQk8cmVjdCB4PSI4MCIgeT0iNTAuNyIgY2xhc3M9InN0MCIgd2lkdGg9IjI0LjUiIGhlaWdodD0iNC42Ii8+CgkJPHJlY3QgeD0iMTEyIiB5PSI1MC43IiBjbGFzcz0ic3QwIiB3aWR0aD0iNi4xIiBoZWlnaHQ9IjQuNiIvPgoJPC9nPgoJPGc+CgkJPHJlY3QgeD0iMTIuMyIgeT0iODEuMSIgY2xhc3M9InN0MCIgd2lkdGg9IjM4LjEiIGhlaWdodD0iNC42Ii8+CgkJPHJlY3QgeD0iMTIuMyIgeT0iOTAuNCIgY2xhc3M9InN0MCIgd2lkdGg9IjM4LjEiIGhlaWdodD0iNC42Ii8+CgkJPHJlY3QgeD0iMTIuMyIgeT0iOTkuNiIgY2xhc3M9InN0MCIgd2lkdGg9IjM4LjEiIGhlaWdodD0iNC42Ii8+CgkJPHJlY3QgeD0iMTIuMyIgeT0iMTA4LjkiIGNsYXNzPSJzdDAiIHdpZHRoPSIzOC4xIiBoZWlnaHQ9IjQuNiIvPgoJCTxyZWN0IHg9IjEyLjMiIHk9IjEwOC45IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4KCQk8cmVjdCB4PSIxMi4zIiB5PSIxMTguMSIgY2xhc3M9InN0MCIgd2lkdGg9IjI0LjUiIGhlaWdodD0iNC42Ii8+CgkJPHJlY3QgeD0iNDQuMyIgeT0iMTE4LjEiIGNsYXNzPSJzdDAiIHdpZHRoPSI2LjEiIGhlaWdodD0iNC42Ii8+Cgk8L2c+Cgk8Zz4KCQk8cmVjdCB4PSI1MC41IiB5PSIxMzMuMSIgY2xhc3M9InN0MCIgd2lkdGg9IjcxLjUiIGhlaWdodD0iNC42Ii8+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTcxLjgsMTM3LjdINTcuN1Y5Mi42aDE0LjJMNzEuOCwxMzcuN0w3MS44LDEzNy43eiBNNjIuMywxMzMuMWg0LjlWOTcuMmgtNC45CgkJCUM2Mi4zLDk3LjIsNjIuMywxMzMuMSw2Mi4zLDEzMy4xeiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik05My4zLDEzNy43SDc5LjF2LTM1LjZoMTQuMkM5My4zLDEwMi4xLDkzLjMsMTM3LjcsOTMuMywxMzcuN3ogTTgzLjgsMTMzLjFoNC45di0yNi40aC00LjlWMTMzLjF6Ii8+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTExNC43LDEzNy43aC0xNC4yVjkwLjJoMTQuMlYxMzcuN3ogTTEwNS4yLDEzMy4xaDQuOVY5NC44aC00LjlWMTMzLjF6Ii8+Cgk8L2c+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNjQuOCw4OC40Yy0zLjksMC03LTMuMS03LTdzMy4xLTcsNy03czcsMy4xLDcsN1M2OC42LDg4LjQsNjQuOCw4OC40eiBNNjQuOCw3Ny45Yy0yLDAtMy42LDEuNi0zLjYsMy42CgkJczEuNiwzLjYsMy42LDMuNnMzLjUtMS42LDMuNS0zLjZTNjYuNyw3Ny45LDY0LjgsNzcuOXoiLz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni4yLDk3Yy0zLjksMC03LTMuMS03LTdzMy4xLTcsNy03czcsMy4xLDcsN1M5MC4xLDk3LDg2LjIsOTd6IE04Ni4yLDg2LjVjLTIsMC0zLjYsMS42LTMuNiwzLjUKCQljMCwyLDEuNiwzLjYsMy42LDMuNnMzLjYtMS42LDMuNi0zLjZDODkuOCw4OCw4OC4yLDg2LjUsODYuMiw4Ni41eiIvPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEwNy43LDg1Yy0zLjksMC03LTMuMS03LTdzMy4xLTcsNy03czcsMy4xLDcsN0MxMTQuNyw4MS44LDExMS41LDg1LDEwNy43LDg1eiBNMTA3LjcsNzQuNAoJCWMtMiwwLTMuNSwxLjYtMy41LDMuNWMwLDIsMS42LDMuNiwzLjUsMy42YzIsMCwzLjYtMS42LDMuNi0zLjZDMTExLjIsNzYsMTA5LjYsNzQuNCwxMDcuNyw3NC40eiIvPgoJPHJlY3QgeD0iNzMuOCIgeT0iODAiIHRyYW5zZm9ybT0ibWF0cml4KDAuNDM2OSAtMC44OTk1IDAuODk5NSAwLjQzNjkgLTM0Ljg0MiAxMTYuMzQ1MykiIGNsYXNzPSJzdDAiIHdpZHRoPSIzLjUiIGhlaWdodD0iMTIuMSIvPgoJPHJlY3QgeD0iOTAuNSIgeT0iODMiIHRyYW5zZm9ybT0ibWF0cml4KDAuODk5MSAtMC40Mzc4IDAuNDM3OCAwLjg5OTEgLTI3LjIzOTEgNTEuMjgzOSkiIGNsYXNzPSJzdDAiIHdpZHRoPSIxNC4yIiBoZWlnaHQ9IjMuNSIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTQxLjQsNDIuM2MtOC45LTEtMTAuMy01LjgtMTAuMy04LjVjMC0xLjgsMC43LTMuNywyLjEtNS4xYzItMiw1LjItMy4yLDguNS0zLjJjNiwwLDEwLjYsMy42LDEwLjYsOC4zaC00LjYKCQkJYzAtMS43LTIuNS0zLjctNi0zLjdjLTIuMSwwLTQuMSwwLjctNS4yLDEuOGMtMC40LDAuNC0wLjgsMS0wLjgsMS44czAuMSwzLjMsNi4zLDRMNDEuNCw0Mi4zeiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MS42LDU0LjVjLTYsMC0xMC42LTMuNi0xMC42LTguM2g0LjZjMCwxLjcsMi41LDMuNyw2LDMuN2MyLjIsMCw2LTAuNSw2LTMuN2MwLTEuMi0yLjktMy41LTYuMy0zLjlsMC41LTQuNgoJCQljNSwwLjYsMTAuNCw0LjIsMTAuNCw4LjVDNTIuMiw1MS4zLDQ4LjEsNTQuNSw0MS42LDU0LjV6Ii8+CgkJPHJlY3QgeD0iMzkuMyIgeT0iMjEuNiIgY2xhc3M9InN0MCIgd2lkdGg9IjQuNiIgaGVpZ2h0PSI1LjUiLz4KCQk8cmVjdCB4PSIzOS4zIiB5PSI1Mi44IiBjbGFzcz0ic3QwIiB3aWR0aD0iNC42IiBoZWlnaHQ9IjUuNCIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo="}},"time_used":188,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":188,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.116.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:33.173Z","timestamp":1785137073173,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"OPTIONS /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-type,x-goog-api-key\r\nReferer: https://www.youtube.com/\r\nOrigin: https://www.youtube.com\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=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://www.youtube.com\r\nvary: origin, referer, x-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT\r\naccess-control-allow-headers: content-type,x-goog-api-key\r\naccess-control-max-age: 3600\r\ndate: Mon, 27 Jul 2026 07:24:33 GMT\r\ncontent-type: text/html\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":535,"mime_type":"text/html","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.88462Z","times_seen":17976927,"resource_available":true,"data":""}},"time_used":19,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.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":"stylesheet","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.177Z","timestamp":1785137073177,"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 /_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 411229\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":20284,"size_decoded":4799,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-08-19T16:59:39.33062Z","times_seen":20668,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/webfonts/fa-brands-400.woff2","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.218Z","timestamp":1785137065218,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/webfonts/fa-brands-400.woff2 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 76728\r\ncontent-type: font/woff2\r\nlast-modified: Sat, 19 Feb 2022 08:52:00 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256df50653b8\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":76728,"size_decoded":77026,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 76728, version 331.-31196","md5":"f4120760fb40152d1bdb109103063c13","sha1":"5947214a429024e9dd14bb5c3a1bf007f35ea81d","sha256":"39c658ef377f9ec31442c5343a15bdfc4c4653bcca74bc7d6fe4b3e736a60aa4","sha512":"bfde57a0a863b9ec68119d43f8c16a43ea6d4187effc80609c5f357f9ade3f88845b97d4dc390b9e6281d49cbdfa7881bae30f863051cdac224e036d2f53e5cb","ssdeep":"1536:QlPYSKCwhv0xtI8BwQujyLpf/jYX4S6mWmgQwP/WJKkoP5iRO8hQ:Ql3BuWLp3jVZBr11eOv","tlshash":"b47312d1457fb8d8c5d3c8334f8af1c835f46a8bcb3c65d2b5698192e902eacd5ad422","first_seen":"2023-04-07T09:42:03Z","last_seen":"2026-08-19T12:55:31.729838Z","times_seen":6285,"resource_available":false,"data":"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"}},"time_used":2974,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2197,"receive":777,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:31.988Z","timestamp":1785137071988,"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/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.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://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.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: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 364044\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-19T17:45:05.827193Z","times_seen":969820,"resource_available":false,"data":"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"}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"i.ytimg.com/vi_webp/tp6uF-bPG6E/sddefault.webp","fqdn":"i.ytimg.com","domain":"ytimg.com","tld":"com"},"ip":{"addr":"142.250.178.86","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:32.600Z","timestamp":1785137072600,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"edgestatic.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:24 GMT","end":"Mon, 21 Sep 2026 08:37:23 GMT"},"fingerprint":{"sha1":"99:EB:44:FC:A9:EB:62:72:A5:7C:E5:77:BF:06:63:47:1B:54:C7:D7","sha256":"CD:4A:F6:7A:9F:60:AA:84:9F:37:94:1B:BE:E7:AB:41:46:38:9E:68:4A:4F:36:B3:D0:84:EC:FA:44:D7:A9:DD"}}},"request":{"raw":"GET /vi_webp/tp6uF-bPG6E/sddefault.webp HTTP/1.1\r\nHost: i.ytimg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-type: image/webp\r\nvary: Origin\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 13514\r\ndate: Mon, 27 Jul 2026 07:24:32 GMT\r\nexpires: Mon, 27 Jul 2026 09:24:32 GMT\r\ncache-control: public, max-age=7200\r\netag: \"1668838491\"\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\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":13514,"size_decoded":14114,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image, VP8 encoding, 640x480, Scaling: [none]x[none], YUV color, decoders should clamp","md5":"f25d3ae56150293204582425b5945736","sha1":"1020a3ca7342e0ce22cd01d582f2c40e2c01c40f","sha256":"35fa7324e83389c199e1c466a4b0e236fe61df128bb7322ea27ec086e789f94f","sha512":"e9d570f82eed899e688605d3da2c201c11b36047b7872d39283e856d9b65faa8078233174c41acfac9c81d0b4a7c95eb8685e21081f704169317840957ab4c63","ssdeep":"384:DtetC+98eHstBPt3jB9gY64AFeA2c9ymd1Yy46r9:p+7H8t3jL64AFeA2csy3p","tlshash":"8152c035af4ba8375b46a73cd5d61d51e00c0b264e199ec405ffb4beb8e420d40a73ae","first_seen":"2026-07-27T07:25:17.843599Z","last_seen":"2026-07-27T07:25:28.818698Z","times_seen":2,"resource_available":false,"data":"UklGRsI0AABXRUJQVlA4ILY0AABw+QCdASqAAuABPm02lkikIqUhI5PJyKANiWdu8n6i0LOS2zJgjgI893/Lr8h/ltrn9i/tf6W/uH7D/JL/h9Y3VXl6eL/pv+0/uH7h/3T/////74f371Pfq7/j+4H+pP+7/tX+c/XTuDeYL+gf339mvdT/zX/V/23uZ/rP+Z/53+D/1XyAfzn+1/9D2uvUy/v3/T9gf+X/5b/teup+4Hwnf1n/df+z/Y/Ax+yX/y9gD/6eoB0+/U7+1fkL4Kf37+9/4T/lf3ftbvJPtHzOeuvNH+OfYz87/Zv8d/3P8V9Df5L/VeGvrK9QX8b/mX+K/M7/F/tp7k/9B26E3nqBe0P1D/G/3/8fPgv+P/6voZ9e/+B7gH8p/qH+39dv+L4j32n/gfsb8AP8h/r3/c/yH+o/Y74+v+v/O/6P9yvb7+if4n/v/5b4Cf5d/Yf+l/hfyq+bX//+339wv/f7mP7Jf+cdlCcgti+rijRaQWcSLN9OQWxfVxRotILOJFm+nILYvq4o0WkFnEizfTkFsX1cUaLSCziRZvpyC2L6uKF40aXVXOx7K52PZXOx7K52PZXOx7K52PZXOx7K52PZXOx7K6C0gs4kWb6cgti+rijRaQWcSLN9OQWxfVxRor/erCuhbChzJK4o0WkFnEizfSreFXYypiDfehOobmdnrYMIpEPQwR4Gdbx8m8W0QMOlY1JTxzXROTNvVRGvhe0ry6n5UqNOKcfdfGrPlqdaMxur7mtT8g4P5OeOt12p2jbDabAt1gz/UuNZRk462HAe5yzCvvt/ID1Wd9ZoTawA3vthybr0b82KgxDEPV8E31rJq/bXGfCRG8PBDzD6h3wds8tTSs2I1QTehmOIuyml/8zeD0BwvylZoXA+M8phtzN7ShD1Ma2UCFUoBOnpy8Q6QnjutV7FAYtvkauXN/0jkRhZ1TrGdQzKgruC9jzhvH8rb3duNVjojKpuIyDJ+ZMwWpClOcySy4gcW6k+9wVyDPGzz17Oz1UHa3TjfWqqKLV5wsgGhvekJTYy/t4vIz1obFFRGKnlI/gKpZ1B2ZRSeq7o2OrMSX7ZCCdzQRVSb5elbXJcRojlX/VNKsVSX+oS37t4A2mioxn9gH+R6FRfgXy58ii9tDgUPZFe1zf67aN1xtf/DvYl7p9gYLc+akA7425AnmIvsbKZMnl10LeEyl4Id0aTRm01WCqdL84bObOTcqZXzBU9eHvl/9DjOscY/sO+nQMlps3wBR38XY2rlRD7uHv+TXTudPhnkBlv99ZD0ZnY5qs2ZKzmfaHQO9u6Ior9XFkveOghENDxMjpN+8WCu6Qywvxj6LY7uwtdyXBDq+XJGp0wK78TOrFKay+cFLbNKtUAv+wXEcuPlNrlgpJptqVfftegNBXTJ5FBF98gH7te2R2HBlCkKbn1tagGsMR5o3fmKtzugpD6T9If3vGIh/Dp+AKXJ0rWUY1ruoHzeT0WAk7ug7S4sWngBj2tCuVz9q5LyixwtdGI2LYajgkVZF9W5KqpX3qRotILOQWX04/Kvjism9DkvZrk0AVv6jn1cUaLSCziRZvpx8vd8vGCLqkrdZMvt2HAKvsiANrIwrpucq914mjomSBm8ihGQRtx40J9XFGi0gs4kWb6cfMeydG93GN3mp9as8HJ6UZpc5T/2H7xvm1f0+N0IteYYdnbA/eCCaJJBZxIs305BbF9XFCoxAqtmeF7af5TTbJV8Y4oYMDnkRw/obUbVZyCT/p+J9gLq0QbdFunxpIWTcX0OSCziRZvpyC2L6uKFRiKOoZjsjUr4GhdDKNFTH5TBzVrbXgr7ffiacjJjJRRMia6Eg5ILOJFm+nILYvq4oVGIpRrAhqH3LmsTr08XaFlX3JN2JIGEiKTvvneAN9fMIHhz6uKNFpBZxIs30tZFVvqWN7KS7Sqw5wUZWpszc66gJD/i0KLRofWVRz6uKNFpBZxIs3yDwcfHDvmmSGsVqUJkQVDlTHn/bk8bzPJfMVcUaLSCziRZvpyC0l//Q/lPjbEccnKHzvrNjHu3coMPNEGliXw1s3Cd9d0gDdQT1E0z7l1si0ay+nILYvq4o0WkFm609xWXFmWIqlvxY4VNQ77VqNEBKeM0wwPT5gk54c0w2H3/K1VamQGicgti+rijRaQWcQWMKrQmDhykmTB2ofYy1vGSTvOMMOA7UMsZBVx0cx9EgyhNRhjr4yVmzuXG0q/bChRPXeT0PcWvKShvKGYlz4sAmfJuVA4eJ63duc5RWTi/jtRC+AMoLrZ7DQWb6cgti+rijRaP0iFCqDNs34ROv/RRMEZZwEOCA2F2jPZsgM3FRwlR1vIMQrZhZ5Fj7Nl+kWkU+TIid/d0a2M9w1SOS+aKsXpP7SkdGLaZquib1PQt+JvMJ7ldMu0x004bPJjZ3EuG7WZwBa2hyC2L6uKNFpBZmy9rlDtcIemNUPSL6vsVQV9b3VrYnvuwLLWL0L6cgti+riENASkqhaaCY7VpPHsIfewsKZz9/nLyxE3l9XFGi0gs4kWb6cgti+rijRaQWcSLN9OFYrACeNY7UBrHagNY7UBrHagNY7UBrHagNY7UBrHagNY7UBrHqlCcgti+rijRaQWcSLN9OQWxfVxRotILOJFm+nILYvq4o0WkFnEizfTkFsX1cUaLSCziRZvpyC2L6uKDAAA/v+/nAAAAACS+OAAAAAWPOSI8Fbqvvbm7LoISBeMNOo7Z8mZSBg8NiJa0eZu3ZHe3Zt2KqiH0CalEJQzdvPa45KkQ4Bau74cU2QrQ5IWlOE3JKysW8oITErCXFsPSs2Tgd4A/GikHEsAtr6SAHRL6etENaqKyv3CM7DpIPKJUn8kCtimUVVc4VppMBC032xBMwSKVa0yrnrsE54RtjQB3acYVBQxYM4vr2sTm/35MQKXA+gpFJGnhXkzImySjuC/oulTy50AcH0v/54t9IwmBA8d+rNEORG3xf8fr8IWv1eg09IZnhqM2C6FXbIBCXUdapHtxlWIgaq/9Y4LPVfHuIH0c/YKnSJ8Msqqo/T9JCaqaIngQWQjumXnxnXpQJwJezi6oky11NMuZ+neJikdCS06/xOMhEdjnI3K1aa/+cpOGlsN4YX9JHzXOj7X5AGtTYv2pg0nI4JDqyfJie8Y+NFRrfaMPA8gDSfoBaxyJoYaikzgH3TXuwj3JupTRGApI8Oho8CScQwqSJOJFQ5OA+nPWvUt1xCqj9Fpbwb4nPmbKV8jwZePfdklfm6q+Lx4/tOAAQ7mB4O1ktAd4iVNYgePDRXEzTKrhTZVo2n32UQrfhrfKsF7ntavP1L7A/orvp8y/u6I3VP7V5YCL5mdZHm+q7wdJAmkaU8VK9N1JYsxY5u86tQpntZ+rGoed8nBFksib0xXBbVRNjOYbVCk1HYr3297WzKyi2Fv7KsOKd/ItwHmIEObA+jPbPoyOaolrRe6K8EqFH7PNWOHfM7xotVczA6j7gShFqFf5dS2DHkIMhKifyOqRIrmJpRfvghW2f+dI525kfhRYb2Y2bfORq2+fkkxVQObOa0caGjaM4BPdAkpS9r8ps81C+xDz4zRmm+tZ+jWkPxtIAHfBrNjVh0dpdUFE7KnEf/w5CN5dU8avBaa/QDUXR8liVNFuPQE/gadrDsgMJ4kTaXHj64ITB5CXeTplx4JtNCEBrv+jSsRTeCHw+Fn4W+VsjiB3RwMPQsxjbMRL7M2xSQupVsxHR/bfvzAy4CrXacStU/Aih7rdu9Ep/oBGhjraZrHreRB5XqoyPYfS3R9dVLmAd3fTTPjFynZySVlMnU+Ai5U8bCKvgEaVy4yYrwTnUOLhxHxZzfIcGVpYD3vhu10una6ZKl3WXc4Go93scgWAfzxNkAoXPAF7pqU0Gupi+MpP15NlgaXzEPfdf7GDdmnZvVi5OOvE87sBc+s7/Gqs64v1ObY0NKE5LVgi6PDiN5WRHH7hrz8J27Q/uu+cvJCmGsRV5/8gz46zMFcXby6EPrbdWzBoAP+he2UHTeQYSu/ZJwHF6T1peJz/vvpTmRwWJr5JooCdMgDI1da8MTS0VGoY0qOLhQRXb/gqt9gyCsafkrUDe/7pOuVI6eXrzTi0sq9z7+ptDedKhAI9yc6srfa6TGBej5oedMYHrQTWcNSVBa3F36T4pocII+2o1edoJ17dQQ2Gq47tO9Lns2aD6Unn4nbls5y7AqtTKhiggvvhfjSkuRHeZfE/D3ZvypNCXVN/CnRwbzEM0TWXbJJYu2pa2IzbkOCJ2JlFe3BaGMcs4a49uN/hSPIdkZ/tTo8yxvlmYzN3rOaBuWwRjVtx++iAtcWz/H7jSp1O/4dKopzxcOHjIbs+Zu2ZRPox9wLgt374hhiaAU7O2VuMRim7ZLF/qJeL5r5UWG0CuxxGDCJoYrmDAhNBjMdnukZivczaeO0GeB2b07uXTvNn5Gn9PGEoTHHU1zD/HZCxtHdbPzEv1mw23+5YtgAxl1ISQTLaSQdUC7Ks6MGNmmIWKk0GgslW+BMcL+8q4AgiMCA9DJ92mhaJcTEd1zhnccMaQqjFcg/BsMsNj2+EN9EJ8IZ6/452t9ihjdXo/+/EFK7JET6PL9EHk8VD4LsfC17nVv25I7NMA//diQl/++1J5OGKZ8mSI+aGNvzCcy4PhQjK3xRANf/cXrBp+zHjKCMxugB1ONlGpaS9r9acY8SwipVKi46Glxt0N2eHWIeVbdYJijm80tmly9qGF+CV1BUGuoE32ZJpSnvH8OwXcOsFEQupD3WzDHgtiH8F/329lKgXEMobmYGgyzwDDHYGX/9shqgmASBJHCPecIz9fbf6vwKnEZfgPpW8aPiNPQC3sxxrPPZwzTcaLHdJzM/UedyX6K5efWBkG8XDGwdCUpHSCswhSL9PoCVOKrQe60apvPpjbA4MLEaqgf32S/bA5H3jlMDS6ohxVQDIT8nmqcwGhb68pgQ5YnYc24tOHqGHZhc9klNwXTCdIMZkjOaUU3uApBUVcj9vsWE0KCmrq8/uf6yJ9mnPmPNtc2yKOE/zVZG7nACJ7tf0vbd6/GKcuj0N/i+NZLsKUdEXs9mV+YlBfi8THh+3t2zSkw6TD1klr+yLmB89kwzUSaqDwugHMGHKyQKxahkdg+ewlp65oSiokrPUUbGSsm7zBwrkzjbL+dohkBSIvsKqLnjQpisNk2OE1glT4MM13Mwp8855qqQgGEXsL56lr2HYjMmKYTHgeznzNQ1PSmZDMRknUeJWQiE2ekCZAgbHJluqEJNXyckqqdRQi/qU/SyEzfS3OSw7qFWb8WQPLW0hk++NJelqrKF+7nsUPrdc207cst1KqDRTrPCOZymx1qFRuf95b9vb171DuwqDl71H9oxYylQegYr3N97SR0PTpoVQIj3dyW0111I3C4imAWvuztK4nQZp8jiNqYivRn0xBcrXaXhMjdKkg/sq+YdtA2S+L7y0VRvgJGuGluXjypFg7RPrcxDfr85WD+c35k1uxcFvIuB1/9B6dgVKGM2uACOLhICf0M+UNctRQ5MHWZ1s1zALlGXDN9fxUvqVzICBiXTK2UeIFANeJcL2OauhZxfKNOA54pb3WOUyV42zLTo3nlM08Ctc2bw6pncjqrxHN+YiOl+23lF5kefw2kRxyoKi1bghnhPSfwf9zxzuGcIfRYaVm2euub9AA4QiqwNQEAZlTa2b1vh5Xh8rzSy8AN28Y4QrAqpiJmFjyA/ewzJHfhl56KwgF5Am1E17dMoMq/XLFnUeZvWJinsjDenjevAasamixCB8vBtELFJD1L3fAhpEh2Tyd44Vjf6PfdGHSZcNMYn7P2rD71eL5fLs9AcN9vGf6aoZ+PChKqIzwfGBwOo0V2toPujnEeKVMKNoNo43FeCaLKE3mRGFRXqSkj6jY1w/cyVaA5P23tcuLDvAl4CqGKNjI2ELqCnfZDvPx7UJs2d+DKGliVYkYdz41rQiDv1+CdHsGI1SW9pzxQyN70YuRMFqomPCZgRRF+XU0BjMjOAONLADOk6nbc8sKT+uDqZ8GvDTmB4g/hiiWxmEUCy9zOqvYnbMs0CHhQHOKfVhavqgLoaOufqrP1mNGcl2Xz4xiOAEeeSM0FGRA6qUneiatHj82ZZ3nuCrhsUrtCza29HURuJaJn7AVPA4MErKA84W8GALXiMHe8HcWruFytBUy96SV80pwtPYhFqtZ5XCbXFw1z0VfJkw5pi5uFYv37fcLDmnRsTOvGJ/zeEMtGrU8lwYcPjcYIqQ88pUtt9XtTf6SCVgg8JIUQ9slVIILPesJTMoi27P8v7lysnYw3lD7AOE8tLA9DeqTI41NyRNLaXVG1DmksKmVsU5AJFtc34i3ip386uDvQL4NEzF42PJmvsk6FvALNroD8UaEg7baSHsnLrj1LfhxK9WtRy9l5lC+k/hVwxRHnXYTHbrv0XTd2IwVQKrfeJ8U0+2U1RwNm6En19JLxdLf6iEaqsJ88euv7jKgEfVwI3JKdu4NOPJyRZbPlgUq7Z1ML60H8ku79Q1/ELYwp2bsr6/Efr+YGYK8r1GqMFBpoopsmPI6ssfuKwWQ7X37XqV4aMJLhdjdmFt0pHoAPWGr49/g+lO5XIckStYFsrY8RuRLg1UodnABY4t7pqrCZeOATrPDJO2EErQ82ZtJ0i+/BAU8SKr/wKIKQZ1Pr24qOoZyrOhR2nQTtNITB7YKGPLtu4DqwIs3hOFoIGXLyBOR0TrOugOKp6gwaLdx0GqP2ew3WxO5MJjCls448umMeWFcF2E1/rUYawamQNe7y+i8hjxMm7HOp2i3IPA9oBXlZJfSDmEVGD9YepC6vkujSEODY33c0+PzimXeZ472UsLp9iQBHgbe6eznMgJOr2NjJBqZ6FwmXlLkccN/ldC0OiQTbo2VPG0GaA3w9ohUEyq2QZxTBuqHpJzquoZOFapgFAXXyT73M6FOiQTeRoj/NxwYkVckdUCl6DhxQVAtwt4QMXX6TizD1DlSKZZy08DcKDf8L7T1SLD2AW6f1nErzPi3+8TAieULrSFXA1KxLr4WZ9zNXkDZQBfif13URaTOfFxsu/Rr9+BSqb2Ssz+A/iMdb02ldBEYKIZmJOif2Tw1VTXqygW8i4EJIcGqz59VcAIDYXoM7C9bQq2Fm3i6ADQrmPSbET0+5gxeXElww+vI9bIDpBF/CIQlqwh0tJy13MsEYzja9WE36CZBCIoWmlrWeHPKI4OhG7qVaOWMpkpV4b4trLktxJFXt2VF6uSM/T1jNLrewE3rpUieQ611io0ZWWZLPHryDJ1zWUWiamKS13GcjiSrFNI2kihzKP/n+sfO85HFThGYU+AcW0ItR9qTSZ+uWVxpgBNvqx5SorVliQ2RUDONKTrYF10kmDTlC1aLsQMyz4tWgw9SlpbdzF0dt7Alivt6+e6VM1pKpd//kKoEHWhYgfrSZtud9TEH56fZ+y1eFdGumilXqZn5vKvMfY1j9+O2MoWjmzoYRhWI98TibhuV4f1WEjBPKaPi5bYFWVo73TRHg3SkqMD/a1XQYOMDBnvdK9cdKEXPCcJpAPTaY3uvYk3DLWUqM6jdjuV/6OfBQ8SsU11J5+Q0jyaI98vGGVG0o8+Jw4/PoUu50YvbbEoX/cyh/pxS1cvUCbsV8XH2zkYK/A9X5h7dlThlGrl57cW0S+aRqpz5quY3DVJ1F1EkGcsT48JvnSr0w0Y+rRGiMg0eRlYHM3+CPVRCjxneOEkExDBNvLXL9Rj1/VfpoLn7dEhUI1mCQLQM9IzBc89FeNgKe7WNDJwSrBYBcFLjgv0IDCGbgJdYoNF2t1+TPgmSJnEaiLi07iYwTnbNHCF9m7m8jnqOG61LKv5Kiti8/XV84Eo2q72SuBFoGDz9zI7Ul43NLIc01XILmR6fIhus234vt5q5NKrTsVNHBgL22fxt3OlaxMgQ09ooJcmhkJb5A8PDc0MFIXBHrInNPE5FJi0Ltpwp/yQsWlYDG1qUD2jBXGztjb7ukimfDnmKa8Kk9tQuDx0IGpExyMO6QyL3nzsYnhQ446jbbMZMHXpJ9LZSpZVFqw/133hmOdbQy1Roys3D8FP5xH+eayeBE77ytOW8YI+D4cUf2ucwpvhgcWIGkQ5tVDacQ3qeiHGXh1xbTWsvBcabUoFRZAOLFHS6JhZufGvdmO/zj4c9LP3KSRBBGuhuYFlxegpxUaU993iMVS+ORsOuTyiBU9UC+4xx1HTujkkVBtoostFMPEAUp2svZwpu3XUtvn2LFKCQAbcW3YxYhU7d//NvHO80DAjo5BYhq32z6u4RYSEVhJo5NyH/2X1bJkPbBrOxfTzQ6H3plSO++F1mYIMW+JsnsKP62kAUkXuOGmhpBa5VyJ9cfptUctdsN/5ighbmP97j5t+36kkEYIdNYsIbBlTDIzsLcSFqUMy/hwPoJTzM4/0xYNilp3PRJvlgqD13VZEQbIeswSzxquc/esEy9qhz7IB9sM2992jLqiG12wShJPAOh1RRQ+AT46oZuJD38vl6QchhcUjd+Zb8EojNj9yLSwIHmqk/OdYfGLufbmH/xaXbfztK7CP/HkRR0Dbzg7Y0z/zYbc9DdbjDiIIGnO0C1RAZqdNpDZPSqv93kdDnVynC/mR6ID1CC67IIOliB35XtE9fpskg0rz9lf8AzQTZQynRuFBBUuhR6qJV3lWheZA+CEcMEI2BHkx/p+xSwxixnV6f223aripjMaPJ7Ng47GaWrrprD/DUtXfHxh5GkWTEKA+gvM7Q63h+l/oLI2VpqmAiHoIXyveZZKXQeeMzdRYl8Qzn+QTLEb+OVV6o29a6IKNGIScqI9fzKVlJniZPgFchFGCCTg8nOlQRWHm8eA4pbgtvxDwOwhLz33GUmcRNgiB1f44hyqQrcRpj5mUbiyQ+8/2JMtRDMheq3SvfbAMwpmcJ7kEUpadvifH80ZbuIjpmH1Ho+/mY7UletzQLv9He8cGgNa8vKUUDf4eZzE6Ja1XcPr3u+FGO6/OOpYvh5bF/3hcw/KFEntDSIx7ISTJRgXJQWiMT0W6Ty39qRQFYiF4Njj6vUwIfFUDLzylOScWOkdAop5XKUUzvn8k/sPkaBxZyBaXpIoSHh4tfyM+jK2qAKDOS2g2S/id+9dA5V3XpMuhtoktJzAxuwUuthFUM+A44fMF/+v4hIzH7KIrey1WdLt/RSoDKlE6oegPUbv4h4CDqKcr7yj0uzuwfN3pCkpFZvXY3Cf6Jdlx9cZic/vpwr/h5od1F4HBGY/mCMpxrhMVhumq9bl34oNjbKd5DiUm+OO+0FgHNf8l1l/7TUgFGmuzUFa8ZWriruIUBqlr9Ui0kfeeR4wI/3SI7Z/gMp1RVzGdt1OIDw9cxPOiT/BjGpw8MEpjaD3PuXpeFRQScw6Cz9YzI/mAIKxDIYn97MYbq4SoryN/Q3sJ1gUsYsHTu5gXh/A/U7KkCdKoDm3k767W4zuCcs97j3AOU/78TxmR5BCetIefdQVkr8dSgz1iJjFT7jN2e4DHIO6YH24VcuD0+lRIe4ZKhWVhct8JF5TrA5Qn+pyl67eoq+xcG6GsaI0KRwxtILN1K0V29ojdD5KXX98s6jshXtNUhzgbXeS1j8GYD/grMs9+6mR+k/URx79W+UyDy33y/a93L5/pWPkUc+dyeH1Zf3v9FWCXFFUd5WJFE6co32kXb47HD3USPH/bnMvYT/8pZ+Xgm/0VU6VXSaLyt31n2cIWLXefaXUzM9A86aIEctyy+TEnIJPyFrED6vCsSK1RQP7YUOrw0MWDdAtWy+uY45a3FUpUT04CxWVCdbrvrDFOksNfr+UOH0rm+F576UEVKh0wYhYTgF8w1nCyA4SEFW90e4NXE8d9YSNJNqPZfHQB2P2LpfJKsWNTeJrTUA37DZq9mYozUux65+f1xKwlKdAFFYAFR1q9O6ooiTa/cACrOdVjbnlqupotqJp/Qe/+xtO54hAXVBMyuQ9BjuDJJegTlxicxG8M2P5JzmeSOHKwzSGaMkAOYoqQaXUGNSWnprfLEcni4HV2kw8mqJ+A/m8P1V0bpgUrBnV/A/OW+YqpRuq45FOYYEaQMVvcG5F5CFRwogq6XT3vXVEq6Xu9rZLp/JwZ1dkaJqd0a7IRrc/7Jtw/7xXy3KXcxZi43/X6ufhR88A2Q4Kvr8Wz+GcJX0Jz2vyhs5DSx4SpiO4qbdmpYN+Kr3SSEOT7nLcYCmEbdvsD+Mz2h5a4p8dH3BhCinl/vwtiJaERuQdf34B/x5BJ4EdIRMCOFGlKDskZa3XbrDicsGLHSL9co2XRLgQat34Kbj/efqm2J4omR0S2pYG5Oqc2E4gRg5yG1jQ1cs87llK4qi5O6dW6pTpNLZsy7PWxfQ2lYYzeFKqsPF48JxMC4PSQul0YVK4R1zHb83NSFf04upiFQijZVrJbx3oFRKkyp2TGjLl/D97JbH8kNnzzlf7BVLF5dVNbvmWGINztzfbwjfthSNd4Gsl7hDIH+XwBlX2T12HeQNPRisAna/vyUGsGuMQl2BMx5KUgs3LW1rxiZuwroGglbMeIhDGiResJkZ7KF5xOZZvI9A08Xup5uG/VXC//bDbtQjKZLyzr4vByC+gTjXQRVLzrf23Ec1cdiTePVItp5H8SxncbPAC9iSN/4OqrvpG3sZ7DL0yl2p0vgl5WG1wyxD5ApQELPdEw/4VD/fCvtkoA1ID5CK19XvjjsX6l0kxKi1o+vjw5SlLARc23C5hl+iw5RYALB5xHPxA+7SjDDBVeK6VLiCPEiD+I7E+u4bI2YgKX9NZ1r5nQth+szZ+srkCPN205tGFEBA1U4yQRkcUQHkYG/7apj4JBPC48VLCpkK60tgetFVoM85g4j5qWapbHXkg8H4C4bQOZQJyjX40BI+ia3sx/2ykWcaM3fmrkFsuZhLRY47NYmwhaCKvOorVMgpKYs73qNr39pKRCYlKWq4noNACVgwX0DtwN2MVPxPmAvM7A2uH2I05nJtl8yFf79FTUBDLNHJoKVrgHAX6xlwNn+f+xs6u/Fdl18tmK1l9AJfPHqHJzj4mWxFHk45jUNRbCWG8w5ygVytQ5Vq1INtIVz+u9mFoo5gfEy1uyRiPfwRR6tso4XCK6oeiDBWiTJTquGVTyjxVrHRd41UkgFVOFXPcKRJyqZgGVsCB+ExLNAEMYHJeSy2W3PwopEshyrBv989FqJGQHbguEBfiCU0oq47eT4W7U+EW40q6mI3BidjwV5kg8CP4j8Noio7LE9qC9ttjd0whWwbNq7eRLMhq7t4zExMKOzr0z77ZjOkmAGMFNeHNcutF+g1jztqG8wTydHAyJlKqPxSrOpN97flypusRS7ggcBHlL40XE8fHn6Dw90c8vggoJW+wJri7q5g018LU6BbjQ+lwXtu2KIaRUkjKsyjxkabjMC+yFKIXoIIJRuuHOMFv41LZwkS/hfXRXedgYNg8ZNDs7p9U78xT5iK2NpDd+MBrPlLpuGs8Fi2SHD806WYsfAZzjnw52FBcEoSEujy1T2MOKrHFnLs3zRn8p2ejjRCMP/oSbL9q5bZZVxzpWSrCGn3PsqtJnujgxk2MtRxj7Ijcm84fWqXzFFfGbGin9gnnq9DERNzZhWzDOXywMY7OO9QmE+xIgZ6NiIfO9Kk30PB4LrS/w10nkLDUYGbkMj1+Cqr9jGSive3/y5nOO8q0i/U3Y1Ib1B35U34J4v06pQAABJk2+V8pKZqyojzGke8mqf1wA0p9D/6SJTvyFKYli9oWsbmCfOK+ddt5QCQ4YIYJNmVABiNdT62xy91vRgAE0Jp9j/zuAHtcTxXA3DBt9/cGKz21C4yw1WAAAH0BDKqE5IXasRMND+9mBIrF0nSmsmMsfJ95P/GBKMhqsbHhqEzmqj6trD9YQiAwoxVbSgCZYm0Tr26YEVf3JzYJ1059MSlCRAM6N7CbjGwcUWvaPiwLHJB+56iKacD7+F7jp20Cvu/SAaQ6e6cWfgPUJ1WvBCvKXagWlTS5/n1Z792kd6u1ApaLabikM5UdQ4u7SowxgEJPPm1e8/Xj/sZXf/xxEw3biYtGeFy65QgyX+6vMFObdmFr7fAG16yG/DJZLc0OPUI5zNuo1BUVC6XMGYgM6zBET/VT4/2aYyice2UQ76awxVG+7vqwjZBstSG87HfY9j2DJpsG/a7dfCf/jSFMF19LudosUF3u8rbrA60mWhxNO+gX/WC3zMiMsuFl9vqUeeOZ+ohhposi7B9w++2vPNN9s/Ok4h96hNm7q2M/6Qd5Vs3zYw/B2H1qj35UNUXylremL5gsuY0XA07ZsDOB49j//WQxRxB+H196irl3hkYevPCDNwBvw23uMckdOtFppT6ut1vSSJjBFLJBs21mnqTnumbsvfBk0nrOfGDAr4+q4g/VolY/AZBr/jz8cNHuFc5mbDyHr5Pn9BdO42zk9W4aoAktHBI+D3OEUJIagLC7J63bd9XD5i7cEt90mBDgAm32AAYANUsAe8pIt2CPkQifXzC4peNcTSfTbhPpwFVby0hIZ3tko/27X0kqQVcQbjtcHXhUtb1kFIJP7PojJylurABgBofbINEjg13iq352v8FLEQnWt/+K3s+t0cLlEpzTk3X8VIuQIRw2QeVqsJwlumd4EWJGHtef+AVxV7hTzofgyUdszrKygkm5BDD0kMsP85fsSsILfsLhmFWA3twtZvNFllphmY2GHE42aIsD7/DPVdbRzzcaiLRQkQ241Mi3sYANd8Nq6PkMhOeaJA5jh+pAQXxGkuBIKrc9TFQPeqSLeAAe0WL2DSh/gYFIJwNOvfgKhIsVYmvg8iSs/QPeG455E8+iKYm3PKNj177OBjXPfVhei8F4sx13jzyNOy5oz5Y04VgK4RzuKN7J0X9U1nt6c1ENzaCVR3jymYY+uVNk5v1+iphj85Sj94MlILg0ZcFSBM4uxgULIyJZFE4K+kD1Gi0EA0u0VEibrpEgqqFrWrMTQPLI+3o9f3pRRXovpn2NW6be24AMA/I1yoRI6cQIWK1z9g+aW2zCWR2SOwNIXDOAR4uUl2imP7yUz7dWfRxNA5sXDJQYRA7QgkMKl9y/D6DGm75UC4aBEbpJOobHRb4JJQ8iKrrt+t1M9vFYFUvvqjuxRZNezLg287zTr5oDyv/Ko5QbXqjN7QfDo7c1mcFc79Kzc04CNIreGyBcL8QXAQX+VX2OsJ1xBYCg+HLdxJagLDPM0F+nIO49jVyfYUrqz7WbesLkt9EhftXk5wJdJBKgW3O0rirKgXPXd7zSeadFWqjCVdvDjlJkMxE05Db0LY8MYadBTGLyLetxrTcf4yjIe5W5qd0Hwuwp88lfH1jNI7Rt6ljUM4rPZf0ZtEEKQ3hQzI1gdDwgQNHFHHgvBAA2gCVwwC7uEbev7HkAu7ccU/AcDLz3IrJAG0zhOovfiYN/SnKm+T/+SbY8nlJWCs3JQRsjIbUv+Hb5nvSnSI7ohd1vK51DGz3dJJP/EaHzgvdoU/+Cxj/SMvWUQ9kwJx8mxig51BAUWo+gvAUyWIKbiy3Ngw1FJzrQyNT/Ne9mic/xPreJ2YfmjE8zxG46MNK4LDN45FbH2vbgjjxnSWoad+VSWOUUdhhLi4YL80YgfZF+P5el7ia2YKaPZ+eTwF2lZfuSJit2bLFswQCjx4X4O3A0Y8zStS04L8TPEZaBsAvxc/GEBUnSqQ63HZ5wtJ2E8uHK2a2DziI2AjSd1s3eULro5IUCWax39HNvZeEIcBXOKZSC14pyeDGoDSG6/qwMB0HcWNLY3sisjLmgfV6qz6ceVuUmB3Y+SCJvckKIs1D246LfhXcKL0upMcWv3mysY3Q3GhXG/9D9DD78AxLIz3U4bOs5gI0sGdH5PzE2IY/NY2bUG5G1ivmEpG1STtw0cMCxg5n4uGuD8vc8WVnnRbUOd1BcTJ0gDhUdZmKylWlOj6d+u9DGHaGQxq07ejDI6y74BabFjiPLMIFBPwBMLzSzRwblMt32XI6kJ66dPatP3sn+vzZG3pspaWulxN0v1cVF0ZeHvIcXzmlmPR99g9klCkTcGnGFAShzRk28VH9RZl/tJSXBWz8f6Hs6j9R0N2SARuAM08bZ8MgPkpMLkB3Gb7qjmZ9L0+wR57aU1qB7GEsv7dqRaWaPKR+Gyv7GbtujERc5Q3yAQHjQMJUnf/Ibe+DN2u3Abn+UJFOasCP5Y/zCkyemrmOrAuDcthPRMEb6re5nUcgjErBukiXOusZUdUw49x3yDh9ZKQ3Kv19JABu/Hey8qczhmKogxXl8OCjt77wQR4E9HH3BiqSdcQnwniePT/hTRVq6HXPciTapnhsA3tRJQM175W7PaH+foku8ujhM+B6WS9OwJH2yBM6gBDo9Gbtz9QR4KUzlrUwySFviwZGvuZHgFrZX4zKZpmAfe0zXhm6ChrkEJLCGTLk3mGqIQLgFADj5nyBhwYxTkZ/OKAIQ/JxG5He5lcp3192kSIM2YOrO3xY9kPCdzRmkV+Qs65PsL7rXn7ZIjkf89k/msoGd7eEl4BNz+oJYwzh94UOD713NMoxedxVaAODThXwsEuzE9RVjpT/lgjfmM41v5EuY3rqWt7BIyEeb269eR/S08rbj/Hw3sVlNpFBfrFrxnNEGOttCTdVKSquB0ROwlfOKJiRqfO+vl8+PbPGtUoz5e9VDgs2FvHL2k+p6fRymuBNmLXBwrlqUpaM6Jo6PYUdjqoFYzxa66wb8SBTJyhnZxhYi5xrmcY/Ertt1QZLMv6Y5PUd0ksMeXe/zgsSnirgrIvDEMkNF4VUwCS5LfCmMr1niHfB0zVuFzd8MDMFjlgO85d6O2yk6N6a8oGVqKwvuS3UWr4gaQ59HekYoY/kw1GFcOwyKbzVCW2p4l/1Swp05lJxCafQ9ZVnBB9I+jmeB6yMyx9Urw+8ROWFfq4O/L/ROVhqoeKDcSD30sFHZ7xFI+4bYtDBeqW7gpBfjgRl8cs4v66RebpXhXucg4SwCIUv4GtILNthi/oc7qZAN+elDZ4md91i7A2tTui073rLiuBk/edZccNaAiUsZCpXSNMNawsER8ulEYBZz53SdGTCM10U1vft462RUdfD34jg67SehQTuKMD+seyQCLx2Nzo15e4gdDz0jUbDc3PE+YVbNaq5YsSa9QSpUER4vH+JTVRt4A16AHeaFapkjtPilxirvmLuEgknX4Ej/M1Kfaa/wQAu1mbnNxoUzgwkyENqI3ZpcgautFh7oTvgVrB4r7h2KSNCz+dc368tZd3xQZ03xEoWfRUtuwrMlUPtFVtef1oHjFUdMlJcxDdUB2hnrV/mg7ae0+81hPlBOOoB1AXiA7SCSrI10VxZOTcQX8glkjY4+Cp9mamnSeqJ4xamKHqEZS2Ekd8MWVKpb8UQw/cxcB4aQrmBo1By/DYvAWS12vMmlxdpZkZp97N3rzV36RBV16tQaAeFVoEPlVOBDOFxprxfElLTQCh8HOikoe1yocgt+OBlsKKAg7CM0z+nswlN9S9LmJtX6C0no9d8OfZs0taEiXU/DD/G0Ki7tBTFA53ntS06qizFX1tzsstJJOi2nBl03NdHbZlPM6r+TRGMNVKlISexcfeZACxEL5QKFNiWcKTrU9+wPmRBzh1Ll9XqQtGEZ3URZGSeRb02Xz7vPJ7dZY+1i6TKIX8w4MbdqCsNAOMImhjGPiOQ8+XD5lmiEJPZl0f3vLbAfStjAWoxf9K2OW7Y96+Cs8Jq3+zAUHMg/tZkTCtf/2bHPAodRZA8c/6+XmmgEvnMd1n0hKHbcR8cUSFgbRZ8xl1YlfYJuX3uQ1Pr8tDmNo9V9Vo0BBMUz42dnfLkuYpqsKa4AkJgRsVzmVUBfyuPSSxvlioEhMqStl5f/sXnaV3yxuh9zgyu/B+Yupc3LQ12O7DQvMt44kuDZHodVzYkp9P3z9AhF/iDK/x4SWMlXukcNkj+6Xo6hQK/3UUIYtCN/dEHnvc0+ikROIz4IEcIff4PuhHujzrLAhvgxeISdo+/oiT16E13q6LTnhZFm95gh9tnX0N8ugyLXK8f8Qq9wHf12QdFkWt8z9Fko7/yEFoadQIMWgwfMjwu4ljezU4y6qSUndOfEROJyPGI937+dthpsn/DI0ZNhqIaNzhxoYl4RnVQ9qLXzgFPnsbhu0aRqjeVBRQmVR4lf1k3FBmGRNlrv1mhLTEyWsCPafc9HmmwDYQKOLDOD+ME8/ZiWb1wNG2N0XABzd/IFj4OW/nMkRxTj0qNiSr5JFcBto6aiXoFlJQ4PwIYup3vcgpcDnw96EiF8+aMhjR6/PTABciloJ2gOlxYt40ZFaL/PU9AXrhmrjI+fcLUtHKPe+R94f8CVthKxuF1qOFRz5egvp1r9ntlK1K8EaFdYGGwL+vNX7iKXmr7wIhbnDva3WFamhoAsSj4HkQzlXrkvLCOcYnKIXBm4BZOnTplp0xBb62lpXqiAYzHp4WvRqeNHQvRMlYiUHIvpw4xpS6H5aeSZCsJtdxwmtpuxwT8uVX48mBrZqA/tGFJaW7OCgCV8RhMsA3hwJEHgmv4igiqwaICAcO/sac6tQufyY7o4f7MSRGd3yIuLQfixqVPAFtakVjPaRW1oziNEfRTlMm+YYvCkUDJEQALTzmFQ4GCnhZJQ/KQrDVcy4NN8HvEgQ7A3Z7C48SpL0ynlgW0M6fDdiibcwYo+tujjQfxsJvh6BGeYBhQIEhlbDMSozzwwmVpYNfMU79eHlrNjw/4AARdjTLG0sKnC6i04XltW8Awf/+6c6cjc5z+kxpmwZsicfqbVyTR1UN7JFYLpjKxF4fNlDOaX2lgWmVzEbp2G8c3sP5HP2ckRNXbwiHbYWAmZf3q4sTPnuYHNEYyXPHQ1N5HNoa1y7IZ1Y9Bijr49ZsqGlyrYvfSNJPxITZ5L8KxrDE1Q5OzjjAOchSbAVkFYIn0g5sdfcPDnmPCfE3hAp5M554GHQQS1UfbYkQkiA06T7remOX2sokrL2fsI+/qaSO+JUn6MhE4Z65izzHIHT40WHENfkvYaiAZac8nBqb6dn8mLhk8Qk3WwE6404RwGlusP5EmuMWPa4bgDWAnlIzim85wjxvlg4SeORKIr0ejzHgfAI4y23vILwJ47gcJZONH4qcp6i4+3L90njfd0qgxcu7Mj9RokP46/3bHELZ6du7Zqfb7Y7fKkmYcB2b5Cl3sYxVO6u8yD5aRxYUBzVKK1xbrHDhs8PNJGNSMboJrlTO4WvRBf1dT8lpvviynC5meakwMwHnfn9NZdamz2qpmzeo7bwXm2e87ZK6iyjorNlwgD8nzr+Ya+JBIzzXApln+wKXza/qhTbMUGZsxrzsCfPMA5xrnfZrg/+Twx0Mj9z+LTa0numruZGhENyC6RRwOe6Wl4bVfOKQ1xXp6MRCJjWnQOpGM3jqRN9ghHYKzuYp1Cv0br6PAveQsf6CY/6qw45Wx0ibk/BT6xLo/W22U0QZjxsK/nWVtGsQqOW0L8o9SJb0QP7yF+pjAfEYUPXh9lDkStzPC0EGR0dCrKIKyJ167tnIDMjoul1CvbN8pJxbXO6CoxnRvBHPM1wM+e/vljWJqB1RZVo1yltv7CGdwsyuSuqBIY60+e4itNRfNDSldcNnvrQ5nH2QgKnz9FtT2OAw7NXuhVLYeVo4gen77mMeZAaEaPUg8+/lYhc8o8oBRfLIPnDYm8u454dacq7Ym4jmjUkvW0D5Vh+Z/9tDsFma/7Ocp7qsro3l4dagYKmk0r/Sx15ROFb5W4sZv1sUu7ofjLLAe5iS3ANDnn+xGr8EOBF9kosCEl7P8IxMhAJcsaIsxIHqKDJxXMDkWP5Z86keqbBo2XxR3zPirwmL/mrKQARDfQzkW2GfniuTwIFXohV0F+oIhlQCKGKOrpXiwKEIIQb8Cx53HSBtmJ88ewCZBzyGgDTx5D+Bq28BAI6kP/zA5eq46EHAAEF9h7sKBZ7oAAAAAAAAA="}},"time_used":27,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":27,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/youtubei/v1/log_event?alt=json","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:32.962Z","timestamp":1785137072962,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /youtubei/v1/log_event?alt=json HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Request-Time: 1785137072940\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: CgtVVVVtSnNGcGQ0Yyivj5zTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgC2LfAgrcAjIwLllUPXFJRFdSU01oTFhFd2hSTzR4RVRBVFFQUjNqdlF5Wm81VDRoMVNpRHdKWkZlUUFCc3ZfVDVyWWNNVEx5YWNkZnRRZTFIRnVUUVlqQ3hsZG5WcFpwNzRWWUJNdl9yVVZ3Z09KNUhVd2s3bTNKSXVDZDlaRzUyWUU4aGw3b3NsbFVJYUtSMmxtMlVvZjVhQzY4NFZWNWRsUVMza21aQnY1cVZvVU1UT3pzR3FQZWhNVDFLamtoeUpMeEx0dmlnZTVxSEc4NzJwX3BMR2ttRVJHaDBibWlLQk1QN1paRExRb3RpSjFLTU5UaHh1bGdTLUVERGlhNWo2SHlreGM2d3JfQW83OHJWRzZYR2xzNnBlWGU2aUFBSXl2TU5hVHo4Q3BfOS1HM29rcDZreENJdU5KS21mUHF2NF82azQ1LU5BeEpQcWZCSFJMV3pGQXA0c2RhNi1jY2FBQQ%3D%3D\r\nX-Goog-Event-Time: 1785137071844\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785137072093\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C1280%2C1024%2C920%2C315\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 1269\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=qIDWRSMhLXEwhRO4xETATQPR3jvQyZo5T4h1SiDwJZFeQABsv_T5rYcMTLyacdftQe1HFuTQYjCxldnVpZp74VYBMv_rUVwgOJ5HUwk7m3JIuCd9ZG52YE8hl7osllUIaKR2lm2Uof5aC684VV5dlQS3kmZBv5qVoUMTOzsGqPehMT1KjkhyJLxLtvige5qHG872p_pLGkmERGh0bmiKBMP7ZZDLQotiJ1KMNThxulgS-EDDia5j6Hykxc6wr_Ao78rVG6XGls6peXe6iAAIyvMNaTz8Cp_9-G3okp6kxCIuNJKmfPqv4_6k45-NAxJPqfBHRLWzFAp4sda6-ccaAA; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxjX2KroqfKVAw%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":1269,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CKmPnNMGEJ7QsAUQtviAExDw3tEcEMn2gBMQieTRHBD3xIATELjkzhwQ_LLOHBAAELnw0RwQx_yAExCu1s8cEIv3zxwQn8-AExD58tEcEJ2GuCIQhuGAExDp-NEcEIeszhwQwY_QHBC-hNEcEN68zhwQiJDRHBD299EcEL2KsAUQzN-uBRC8pNAcEL2ZsAUQ9quwBRCBzc4cEJmNsQUQjpDRHBCV79EcEIqHuCIQg4e4IhC9tq4FEODq0RwQpKnRHBDxtNAcENr3zhwQyvuAExCJsM4cEOC30RwQ9enRHBDszdAcKnBDQU1TVHhWTS1acS1ETWVVRXBVQ25BNzVGWEtqQnVFV3FOVVB5QU1NM3czY0J1UUc3d1RwdmVrTE1xQ3NCQU9RcmdQN0pyYmtCdVNGRjlETUJzU1NCY3M5eFNmWjFRWGNMT2RHMUs3dkh0c0dIUWM9MAA%3D\"},\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\",\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"platform\":\"DESKTOP\",\"windowWidthPoints\":300,\"windowHeightPoints\":315},\"thirdParty\":{\"embedUrl\":\"https://ifxbrokertrades.co.za/\"}},\"events\":[{\"eventTimeMs\":1785137071821,\"latencyActionTicked\":{\"tickName\":\"mesv_s\",\"clientActionNonce\":\"KNAcYJbFe2B8iFOA\"},\"context\":{\"lastActivityMs\":\"5699\"}},{\"eventTimeMs\":1785137071842,\"finalPayload\":{\"csn\":\"F7NXp90qnlgwgJKQ\"},\"context\":{\"lastActivityMs\":\"5721\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"qQdnavOKHYertNcP56K14AQ\",\"clientCounter\":\"31877\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 07:24:32 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 31\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":28,"size_decoded":381,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"5e1fa6fd9abd549a576f3f24b1d3c8d4","sha1":"d5335d7f7d33be6a0b663f03b2df4df2521c4a87","sha256":"d7d5e54ad1e33d7ab49c664323ced79cb9723ff15e9764cd0edc3e15208e8336","sha512":"96e6938256b8e5924210f8e8e54a85d783fa2c01d5fbe5d2a8df7655fed9ef8be73c7cd8bf042c3c84302134b7418711397eece32f081eb7e824a519cc06b4e3","ssdeep":"","tlshash":"1c800038a8200b22232000ea202888322ac8c8203200ca28830200280cc0a0000a2282","first_seen":"2023-04-05T04:40:08Z","last_seen":"2026-08-19T17:30:26.290517Z","times_seen":285760,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":19,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_42x16dp.png","fqdn":"www.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":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.014Z","timestamp":1785137073014,"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 /images/branding/googlelogo/1x/googlelogo_color_42x16dp.png HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 910\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: Thu, 02 Nov 2023 22:48:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 411259\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":910,"size_decoded":1583,"mime_type":"image/png","magic":"PNG image data, 42 x 16, 8-bit/color RGBA, non-interlaced","md5":"efa6bb2bfe459bc6f4bdafa3db0383f6","sha1":"52d15ce52fe50643e542c17812de43f4ed1b6ee0","sha256":"6318394f737c66f0e2ccfcd88e3935c6667633a1b95fa29fba2b75431d55eef2","sha512":"e23c04d8997f5c2f92070e09261b7ee50d9df8753f45cf66f604f0874ffa8d99e947c97c528ec02a2c3fbe8e43d840b343a7d0225532980d5da95031216415b7","ssdeep":"","tlshash":"491184a73cd1dc6854a47a87aa91b864ec250f1b91a220981237b42277313444fdc8f7","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-08-19T16:48:02.697589Z","times_seen":57525,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACoAAAAQCAYAAABgIu2QAAADVUlEQVR4AcxUA9AdPRRNbdu2+7K//+4mW9vWqNbYU2z21bZt27Zt+6nK5lUftrkPO7V1Zu7iZnJycoUc2HYC4hZVKROjqCnmEdMaoDJRHv1g4HmNKuCFjVX0OajeO5CWML5eCrSlnaGMr5VCr4X+mdXrhwpd0GgKXtDgAPoUIJIgTDPFE42JalF37952QspE+6rG0zy/hVDdsDSInHy3Qp8Jr6pk99A/s7333ttRdrD3ramDRHbd/STTp4QG6F+5fNUq5kCvg5qWmxr8qWuincTxsWAu1bRKR42avCT4H1TFeXxU2ePTFRvMo7t2AmlI4ObkeWM2J9kTsyWJDSa/d8ZvSRFaU3vzzJohNkFA5Fnx8sz9mmGJt4XeVV2ZvTreFuWXZy29rqrJEYAwMUYKuYccgM+aAKRR0wweayOUwEdc++Tm034dK/e1in96CT7nocoO20YJpLh9MVsSnX65ObHyclviP+X3ORAbvri1kjJ+mxi8EmWiIjHFKeB9W6hXV+Z7iXITuMF8RBHyPDeKkHSDTeqAYO7XU6SavDgYYWKEjEYgoP6RG27pp7iOUwI6bgQ+MShn+XAkkzprMZuTNgLfxlmNC0AUNca7OIEwecP3CZXCglLsCMk7xEtcDyAwcAYC/GfyLHKTRQ2xEBoIvYbave2U0n8exhWkPZKS2o7Qyrgh+F70z1khnO5EzlrMpqQNwbdhVuvC4cwEO0bXNBas9yGhYF6qTPRWUd4ZjRDVJprJ42TktgEJzE/ZXM3k/0kp9CExHheC1Huo67CPuo7fr4JLy2YqC2Ughe6NpP6wTPfxFxuTlH6xJUlZKAOoWeCH0QfjTmVBHM4SP/Zeoboy20OUu16C//GSioW8FM/1UNwavQ4pVKUmP/x6bRJTbAdiFAFslkTHosXuJcqhe6RCPlh7tjlZwZhNiY46zbQpycH4rcnzRUuJGmKPw834ifcJffzffxl8FG8A7ohd9tGKFdEHR0g/q4wzRt5CKLI6LggG36+vQWRB8LONyQrAt8PZ25ta7/+sIBhMFBnd7pAp9AFAP/gJLmb3RgnRz4QUNhm6HsqKuIN1iclvUWZNQ78b/hnoT0MMMVsz+Qtq8JfQuGrvR+nR74omi+xEYOjVBgEYBQDoQD6ep9ySZwAAAABJRU5ErkJggg=="}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate-pa.googleapis.com/v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback","fqdn":"translate-pa.googleapis.com","domain":"translate-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.116.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"moz-nullprincipal:{821ee047-ce09-4453-8108-85f1c81a2b55}?https://ifxbrokertrades.co.za","date":"2026-07-27T07:24:33.102Z","timestamp":1785137073102,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"GET /v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback HTTP/1.1\r\nHost: translate-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncross-origin-resource-policy: cross-origin\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 07:24:33 GMT\r\nserver: ESF\r\ncontent-length: 2635\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: NID=533=oxmcI-gvImd7HCScpz1SCOJmFIIf2N3bCbN0WTg0fKvsQYnupae9vII2JFi4Y4Cjn7e8oDNc1iSv9sQjOKf3d4t5DhcNvi59WkMaX9N88JG_s9Ujs7QjNffHs7Iu5MbFJ0Kzc2f_k3utVwiwhxROZyeWVLlRa7w2aZ1AxNwNHXq3kdLaeSS5ELHZW65Yb2JC-ZaLod2IeqylQXZCMdggzaApBJXiIzLM; expires=Tue, 26-Jan-2027 07:24:33 GMT; path=/; domain=.translate-pa.googleapis.com; HttpOnly\r\nexpires: Mon, 27 Jul 2026 07:24:33 GMT\r\ncache-control: private\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":31482,"size_decoded":3482,"mime_type":"text/javascript; charset=UTF-8","magic":"Unicode text, UTF-8 text","md5":"91115de97ad1a90076e130223cdd90ad","sha1":"f3ad22e4fa892dfbff0d083bc0465fc3a2240317","sha256":"816e9881b1955d8beff3011d93481dad4c4de71bbd80b50ac267e7e45d4c3bad","sha512":"fbca69c3431240ab374b9ccfb06d76074059cdfe2f153743b292020271a8a3a36885189594a97fd74b43249b1f6359af62dfd0731e7b50e024f37faebdccf620","ssdeep":"192:Z6STcB9aqiD0+52DdKXrWryLxizUSTcB9aqdD0+52DdKXrWryLxG:JTcbaU3KXiMxidTcbah3KXiMxG","tlshash":"d0e267bae8b50d9b6a5e65b416fa2a03306041db4edc3c053b1c1e4c6fdec1e6c7169e","first_seen":"2025-09-02T05:12:23.753308Z","last_seen":"2026-08-19T16:59:39.411628Z","times_seen":10522,"resource_available":true,"data":"Ly8gQVBJIGNhbGxiYWNrCmNhbGxiYWNrKHsKICAic291cmNlTGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXV0byIsCiAgICAgICJuYW1lIjogIkdqZW5ramVubiBzcHLDpWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWIiLAogICAgICAibmFtZSI6ICJhYmtoYXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNlIiwKICAgICAgIm5hbWUiOiAiYWNlaG5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2giLAogICAgICAibmFtZSI6ICJhY2hvbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWEiLAogICAgICAibmFtZSI6ICJhZmFyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFmIiwKICAgICAgIm5hbWUiOiAiYWZyaWthYW5zIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNxIiwKICAgICAgIm5hbWUiOiAiYWxiYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbHoiLAogICAgICAibmFtZSI6ICJhbHVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFtIiwKICAgICAgIm5hbWUiOiAiYW1oYXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXIiLAogICAgICAibmFtZSI6ICJhcmFiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh5IiwKICAgICAgIm5hbWUiOiAiYXJtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheiIsCiAgICAgICJuYW1lIjogImFzZXJiYWpkc2phbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFzIiwKICAgICAgIm5hbWUiOiAiYXNzYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhdiIsCiAgICAgICJuYW1lIjogImF2YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXdhIiwKICAgICAgIm5hbWUiOiAiYXdhZGhpIgogICAgfSwKICAgIHsKICAgICAibGFuZ3VhZ2UiOiAiYXkiLAogICAgICAibmFtZSI6ICJheW1hcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFuIiwKICAgICAgIm5hbWUiOiAiYmFsaW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYWwiLAogICAgICAibmFtZSI6ICJiYWx1dHNqaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibSIsCiAgICAgICJuYW1lIjogImJhbWJhcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmNpIiwKICAgICAgIm5hbWUiOiAiYmFvdWzDqSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYSIsCiAgICAgICJuYW1lIjogImJhc2praXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldSIsCiAgICAgICJuYW1lIjogImJhc2tpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnR4IiwKICAgICAgIm5hbWUiOiAiYmF0YWsga2FybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHMiLAogICAgICAibmFtZSI6ICJiYXRhayBzaW1hbHVuZ3VuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJiYyIsCiAgICAgICJuYW1lIjogImJhdGFrIHRvYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVtIiwKICAgICAgIm5hbWUiOiAiYmVtYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm4iLAogICAgICAibmFtZSI6ICJiZW5nYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJldyIsCiAgICAgICJuYW1lIjogImJldGF3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaG8iLAogICAgICAibmFtZSI6ICJiaG9qcHVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaWsiLAogICAgICAibmFtZSI6ICJiaWtvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJicyIsCiAgICAgICJuYW1lIjogImJvc25pc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnIiLAogICAgICAibmFtZSI6ICJicmV0b25zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZyIsCiAgICAgICJuYW1lIjogImJ1bGdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ1YSIsCiAgICAgICJuYW1lIjogImJ1cmphdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJteSIsCiAgICAgICJuYW1lIjogImJ1cm1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZWIiLAogICAgICAibmFtZSI6ICJjZWJ1YW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoIiwKICAgICAgIm5hbWUiOiAiY2hhbW9ycm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnkiLAogICAgICAibmFtZSI6ICJjaGljaGV3YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkYSIsCiAgICAgICJuYW1lIjogImRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhLUFGIiwKICAgICAgIm5hbWUiOiAiZGFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkdiIsCiAgICAgICJuYW1lIjogImRoaXZlaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGluIiwKICAgICAgIm5hbWUiOiAiZGlua2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG9pIiwKICAgICAgIm5hbWUiOiAiZG9ncmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG92IiwKICAgICAgIm5hbWUiOiAiZG9tYmUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHl1IiwKICAgICAgIm5hbWUiOiAiRHl1bGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHoiLAogICAgICAibmFtZSI6ICJkem9uZ2toYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbiIsCiAgICAgICJuYW1lIjogImVuZ2Vsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZW8iLAogICAgICAibmFtZSI6ICJlc3BlcmFudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXQiLAogICAgICAibmFtZSI6ICJlc3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZWUiLAogICAgICAibmFtZSI6ICJld2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEiLAogICAgICAibmFtZSI6ICJmYXJzaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmaiIsCiAgICAgICJuYW1lIjogImZpamlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZpIiwKICAgICAgIm5hbWUiOiAiZmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm9uIiwKICAgICAgIm5hbWUiOiAiZm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyIiwKICAgICAgIm5hbWUiOiAiZnJhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyLUNBIiwKICAgICAgIm5hbWUiOiAiRnJhbnNrIChDYW5hZGEpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ5IiwKICAgICAgIm5hbWUiOiAiZnJpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmdXIiLAogICAgICAibmFtZSI6ICJmcml1bGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmZiIsCiAgICAgICJuYW1lIjogImZ1bGZ1bGRlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvIiwKICAgICAgIm5hbWUiOiAiZsOmcsO4eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdsIiwKICAgICAgIm5hbWUiOiAiZ2FsaXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2EiLAogICAgICAibmFtZSI6ICJnZW9yZ2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbCIsCiAgICAgICJuYW1lIjogImdyZXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImduIiwKICAgICAgIm5hbWUiOiAiZ3VhcmFuw60iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3UiLAogICAgICAibmFtZSI6ICJndWphcmF0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYWEiLAogICAgICAibmFtZSI6ICJnYWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY25oIiwKICAgICAgIm5hbWUiOiAiaGFraGEgY2hpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoYSIsCiAgICAgICJuYW1lIjogImhhdXNhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhdyIsCiAgICAgICJuYW1lIjogImhhd2FpaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml3IiwKICAgICAgIm5hbWUiOiAiaGVicmFpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGlsIiwKICAgICAgIm5hbWUiOiAiaGlsaWdheW5vbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaSIsCiAgICAgICJuYW1lIjogImhpbmRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhtbiIsCiAgICAgICJuYW1lIjogImhtb25nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyeCIsCiAgICAgICJuYW1lIjogImh1bnNyaWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmUiLAogICAgICAibmFtZSI6ICJodml0ZXJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWJhIiwKICAgICAgIm5hbWUiOiAiaWJhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZyIsCiAgICAgICJuYW1lIjogImlnYm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWxvIiwKICAgICAgIm5hbWUiOiAiaWxva2FubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZCIsCiAgICAgICJuYW1lIjogImluZG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUtTGF0biIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUiLAogICAgICAibmFtZSI6ICJJbnVrdGl0dXQgKHN0YXZlbHNlKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYSIsCiAgICAgICJuYW1lIjogImlyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXMiLAogICAgICAibmFtZSI6ICJpc2xhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdCIsCiAgICAgICJuYW1lIjogIml0YWxpZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYWgiLAogICAgICAibmFtZSI6ICJqYWt1dGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYW0iLAogICAgICAibmFtZSI6ICJqYW1haWNhbnNrIHBhdG9pcyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYSIsCiAgICAgICJuYW1lIjogImphcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAianciLAogICAgICAibmFtZSI6ICJqYXZhbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlpIiwKICAgICAgIm5hbWUiOiAiamlkZGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYWMiLAogICAgICAibmFtZSI6ICJqaW5ncG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieW8iLAogICAgICAibmFtZSI6ICJqb3J1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2wiLAogICAgICAibmFtZSI6ICJrYWxhYWxsaXN1dCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbiIsCiAgICAgICJuYW1lIjogImthbm5hZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVlIiwKICAgICAgIm5hbWUiOiAia2FudG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3IiLAogICAgICAibmFtZSI6ICJrYW51cmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFtIiwKICAgICAgIm5hbWUiOiAia2FwYW1wYW5nYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2siLAogICAgICAibmFtZSI6ICJrYXNha2hpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2EiLAogICAgICAibmFtZSI6ICJrYXRhbGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2VrIiwKICAgICAgIm5hbWUiOiAia2VrY2hpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtoYSIsCiAgICAgICJuYW1lIjogImtoYXNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImttIiwKICAgICAgIm5hbWUiOiAia2htZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2dnIiwKICAgICAgIm5hbWUiOiAia2lnYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZyIsCiAgICAgICJuYW1lIjogImtpa29uZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemgtQ04iLAogICAgICAibmFtZSI6ICJraW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydyIsCiAgICAgICJuYW1lIjogImtpbnlhcndhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt5IiwKICAgICAgIm5hbWUiOiAia2lyZ2lzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJuIiwKICAgICAgIm5hbWUiOiAia2lydW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdHUiLAogICAgICAibmFtZSI6ICJraXR1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHJwIiwKICAgICAgIm5hbWUiOiAia29rYm9yb2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3YiLAogICAgICAibmFtZSI6ICJrb21pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdvbSIsCiAgICAgICJuYW1lIjogImtvbmthbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia28iLAogICAgICAibmFtZSI6ICJrb3JlYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbyIsCiAgICAgICJuYW1lIjogImtvcnNpa2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHQiLAogICAgICAibmFtZSI6ICJrcmVvbCAoSGFpdGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNycyIsCiAgICAgICJuYW1lIjogImtyZW9sIChTZXljaGVsbGVuZSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JoIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChreXJpbGxpc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaC1MYXRuIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrcmkiLAogICAgICAibmFtZSI6ICJrcmlvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyIiwKICAgICAgIm5hbWUiOiAia3JvYXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3UiLAogICAgICAibmFtZSI6ICJrdXJkaXNrIChrdXJtYW5qaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2tiIiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoc29yYW5pKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbyIsCiAgICAgICJuYW1lIjogImxhb3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHRnIiwKICAgICAgIm5hbWUiOiAibGF0Z2FsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxhIiwKICAgICAgIm5hbWUiOiAibGF0aW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHYiLAogICAgICAibmFtZSI6ICJsYXR2aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpaiIsCiAgICAgICJuYW1lIjogImxpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpIiwKICAgICAgIm5hbWUiOiAibGltYnVyZ3NrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxuIiwKICAgICAgIm5hbWUiOiAibGluZ2FsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdCIsCiAgICAgICJuYW1lIjogImxpdGF1aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxtbyIsCiAgICAgICJuYW1lIjogImxvbWJhcmRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGciLAogICAgICAibmFtZSI6ICJsdWdhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1byIsCiAgICAgICJuYW1lIjogImx1byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYiIsCiAgICAgICJuYW1lIjogImx1eGVtYm91cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZyIsCiAgICAgICJuYW1lIjogIm1hZGFnYXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hZCIsCiAgICAgICJuYW1lIjogIm1hZHVyZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFpIiwKICAgICAgIm5hbWUiOiAibWFpdGhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFrIiwKICAgICAgIm5hbWUiOiAiTWFrYXNzYXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWsiLAogICAgICAibmFtZSI6ICJtYWtlZG9uc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWwiLAogICAgICAibmFtZSI6ICJtYWxheWFsYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMiLAogICAgICAibmFtZSI6ICJtYWxheWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtcy1BcmFiIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2sgKGphd2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm10IiwKICAgICAgIm5hbWUiOiAibWFsdGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hbSIsCiAgICAgICJuYW1lIjogIm1hbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndiIsCiAgICAgICJuYW1lIjogIm1hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pIiwKICAgICAgIm5hbWUiOiAibWFvcmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXIiLAogICAgICAibmFtZSI6ICJtYXJhdGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1oIiwKICAgICAgIm5hbWUiOiAibWFyc2hhbGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtd3IiLAogICAgICAibmFtZSI6ICJtYXJ3YWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1mZSIsCiAgICAgICJuYW1lIjogIm1hdXJpdGlzayBrcmVvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbmktTXRlaSIsCiAgICAgICJuYW1lIjogIm1laXRlaWxvbiAobWFuaXB1cmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pbiIsCiAgICAgICJuYW1lIjogIm1pbmFuZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdXMiLAogICAgICAibmFtZSI6ICJtaXpvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1uIiwKICAgICAgIm5hbWUiOiAibW9uZ29sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmhlIiwKICAgICAgIm5hbWUiOiAibmFodWF0bCAow7hzdGxpZ2UgSHVhc3RlY2EpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5kYy1aVyIsCiAgICAgICJuYW1lIjogIm5kYXUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnIiLAogICAgICAibmFtZSI6ICJuZGViZWxlIChzw7hyKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubCIsCiAgICAgICJuYW1lIjogIm5lZGVybGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5ldyIsCiAgICAgICJuYW1lIjogIk5lcGFsIGJoYXNhIChuZXdhcmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5lIiwKICAgICAgIm5hbWUiOiAibmVwYWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibS1Oa29vIiwKICAgICAgIm5hbWUiOiAiTktvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5vIiwKICAgICAgIm5hbWUiOiAibm9yc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnVzIiwKICAgICAgIm5hbWUiOiAibnVlciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvYyIsCiAgICAgICJuYW1lIjogIm9rc2l0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvciIsCiAgICAgICJuYW1lIjogIm9yaXlhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9tIiwKICAgICAgIm5hbWUiOiAib3JvbW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3MiLAogICAgICAibmFtZSI6ICJvc3NldGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYWciLAogICAgICAibmFtZSI6ICJwYW5nYXNpbmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhIiwKICAgICAgIm5hbWUiOiAiUGFuamFiaSAoZ3VybXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhLUFyYWIiLAogICAgICAibmFtZSI6ICJwYW5qYWJpIChzaGFobXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhcCIsCiAgICAgICJuYW1lIjogInBhcGlhbWVudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHMiLAogICAgICAibmFtZSI6ICJwYXNodG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGwiLAogICAgICAibmFtZSI6ICJwb2xzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChCcmFzaWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInB0LVBUIiwKICAgICAgIm5hbWUiOiAicG9ydHVnaXNpc2sgKFBvcnR1Z2FsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJxdSIsCiAgICAgICJuYW1lIjogInF1ZWNodWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm9tIiwKICAgICAgIm5hbWUiOiAicm9tYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvIiwKICAgICAgIm5hbWUiOiAicnVtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydSIsCiAgICAgICJuYW1lIjogInJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2UiLAogICAgICAibmFtZSI6ICJzYW1pc2sgKG5vcmQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNtIiwKICAgICAgIm5hbWUiOiAic2Ftb2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2ciLAogICAgICAibmFtZSI6ICJzYW5nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYSIsCiAgICAgICJuYW1lIjogInNhbnNrcml0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdC1MYXRuIiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2F0IiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAob2wgY2hpa2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN6bCIsCiAgICAgICJuYW1lIjogInNjaGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuc28iLAogICAgICAibmFtZSI6ICJzZXBlZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3IiLAogICAgICAibmFtZSI6ICJzZXJiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNobiIsCiAgICAgICJuYW1lIjogInNoYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic24iLAogICAgICAibmFtZSI6ICJzaG9uYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzY24iLAogICAgICAibmFtZSI6ICJzaWNpbGlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNkIiwKICAgICAgIm5hbWUiOiAic2luZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNpIiwKICAgICAgIm5hbWUiOiAic2luZ2FsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2QiLAogICAgICAibmFtZSI6ICJza290c2sgZ8OmbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzayIsCiAgICAgICJuYW1lIjogInNsb3Zha2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbCIsCiAgICAgICJuYW1lIjogInNsb3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNvIiwKICAgICAgIm5hbWUiOiAic29tYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN0IiwKICAgICAgIm5hbWUiOiAic290aG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXMiLAogICAgICAibmFtZSI6ICJzcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3UiLAogICAgICAibmFtZSI6ICJzdW5kYW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdXMiLAogICAgICAibmFtZSI6ICJzdXN1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN2IiwKICAgICAgIm5hbWUiOiAic3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN3IiwKICAgICAgIm5hbWUiOiAic3dhaGlsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcyIsCiAgICAgICJuYW1lIjogInN3YXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRnIiwKICAgICAgIm5hbWUiOiAidGFkc2ppa2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0bCIsCiAgICAgICJuYW1lIjogInRhZ2Fsb2ciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHkiLAogICAgICAibmFtZSI6ICJ0YWhpdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXItTGF0biIsCiAgICAgICJuYW1lIjogInRhbWF6aWdodCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXIiLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQgKHRpZmluYWdoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0YSIsCiAgICAgICJuYW1lIjogInRhbWlsIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR0IiwKICAgICAgIm5hbWUiOiAidGF0YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGUiLAogICAgICAibmFtZSI6ICJ0ZWx1Z3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGV0IiwKICAgICAgIm5hbWUiOiAidGV0dW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGgiLAogICAgICAibmFtZSI6ICJ0aGFpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJvIiwKICAgICAgIm5hbWUiOiAidGliZXRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpIiwKICAgICAgIm5hbWUiOiAidGlncmluamEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGl2IiwKICAgICAgIm5hbWUiOiAidGl2IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRwaSIsCiAgICAgICJuYW1lIjogInRvayBwaXNpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0byIsCiAgICAgICJuYW1lIjogInRvbmdhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1YSIsCiAgICAgICJuYW1lIjogInRzaGlsdWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNzIiwKICAgICAgIm5hbWUiOiAidHNqZWtraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlIiwKICAgICAgIm5hbWUiOiAidHNqZXRzamVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2hrIiwKICAgICAgIm5hbWUiOiAidHNqdWt0c2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3YiLAogICAgICAibmFtZSI6ICJ0c2p1dmFzamlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cyIsCiAgICAgICJuYW1lIjogInRzb25nYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0biIsCiAgICAgICJuYW1lIjogInRzd2FuYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0Y3kiLAogICAgICAibmFtZSI6ICJ0dWx1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR1bSIsCiAgICAgICJuYW1lIjogInR1bWJ1a2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGsiLAogICAgICAibmFtZSI6ICJ0dXJrbWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHl2IiwKICAgICAgIm5hbWUiOiAidHV2aW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhayIsCiAgICAgICJuYW1lIjogInR3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ciIsCiAgICAgICJuYW1lIjogInR5cmtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGUiLAogICAgICAibmFtZSI6ICJ0eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVkbSIsCiAgICAgICJuYW1lIjogInVkbXVydGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZyIsCiAgICAgICJuYW1lIjogInVpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVrIiwKICAgICAgIm5hbWUiOiAidWtyYWluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHUiLAogICAgICAibmFtZSI6ICJ1bmdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVyIiwKICAgICAgIm5hbWUiOiAidXJkdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1eiIsCiAgICAgICJuYW1lIjogInVzYmVraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlIiwKICAgICAgIm5hbWUiOiAidmVuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmVjIiwKICAgICAgIm5hbWUiOiAidmVuZXRpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2aSIsCiAgICAgICJuYW1lIjogInZpZXRuYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjeSIsCiAgICAgICJuYW1lIjogIndhbGlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndhciIsCiAgICAgICJuYW1lIjogIndhcmF5LXdhcmF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndvIiwKICAgICAgIm5hbWUiOiAid29sb2YiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieGgiLAogICAgICAibmFtZSI6ICJ4aG9zYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWEiLAogICAgICAibmFtZSI6ICJ5dWthdGFuc2sgbWF5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6YXAiLAogICAgICAibmFtZSI6ICJ6YXBvdGVjIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInp1IiwKICAgICAgIm5hbWUiOiAienVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaG0iLAogICAgICAibmFtZSI6ICLDuHN0bWFyaXNrIgogICAgfQogIF0sCiAgInRhcmdldExhbmd1YWdlcyI6IFsKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFiIiwKICAgICAgIm5hbWUiOiAiYWJraGFzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFjZSIsCiAgICAgICJuYW1lIjogImFjZWhuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNoIiwKICAgICAgIm5hbWUiOiAiYWNob2xpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFhIiwKICAgICAgIm5hbWUiOiAiYWZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhZiIsCiAgICAgICJuYW1lIjogImFmcmlrYWFucyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcSIsCiAgICAgICJuYW1lIjogImFsYmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWx6IiwKICAgICAgIm5hbWUiOiAiYWx1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbSIsCiAgICAgICJuYW1lIjogImFtaGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFyIiwKICAgICAgIm5hbWUiOiAiYXJhYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoeSIsCiAgICAgICJuYW1lIjogImFybWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXoiLAogICAgICAibmFtZSI6ICJhc2VyYmFqZHNqYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhcyIsCiAgICAgICJuYW1lIjogImFzc2FtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXYiLAogICAgICAibmFtZSI6ICJhdmFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF3YSIsCiAgICAgICJuYW1lIjogImF3YWRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheSIsCiAgICAgICJuYW1lIjogImF5bWFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYW4iLAogICAgICAibmFtZSI6ICJiYWxpbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhbCIsCiAgICAgICJuYW1lIjogImJhbHV0c2ppIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtIiwKICAgICAgIm5hbWUiOiAiYmFtYmFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiY2kiLAogICAgICAibmFtZSI6ICJiYW91bMOpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhIiwKICAgICAgIm5hbWUiOiAiYmFzamtpcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImV1IiwKICAgICAgIm5hbWUiOiAiYmFza2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHgiLAogICAgICAibmFtZSI6ICJiYXRhayBrYXJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ0cyIsCiAgICAgICJuYW1lIjogImJhdGFrIHNpbWFsdW5ndW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmJjIiwKICAgICAgIm5hbWUiOiAiYmF0YWsgdG9iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZW0iLAogICAgICAibmFtZSI6ICJiZW1iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibiIsCiAgICAgICJuYW1lIjogImJlbmdhbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmV3IiwKICAgICAgIm5hbWUiOiAiYmV0YXdpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJobyIsCiAgICAgICJuYW1lIjogImJob2pwdXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJpayIsCiAgICAgICJuYW1lIjogImJpa29sIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJzIiwKICAgICAgIm5hbWUiOiAiYm9zbmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiciIsCiAgICAgICJuYW1lIjogImJyZXRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJnIiwKICAgICAgIm5hbWUiOiAiYnVsZ2Fyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnVhIiwKICAgICAgIm5hbWUiOiAiYnVyamF0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm15IiwKICAgICAgIm5hbWUiOiAiYnVybWVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlYiIsCiAgICAgICJuYW1lIjogImNlYnVhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2giLAogICAgICAibmFtZSI6ICJjaGFtb3JybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJueSIsCiAgICAgICJuYW1lIjogImNoaWNoZXdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRhIiwKICAgICAgIm5hbWUiOiAiZGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEtQUYiLAogICAgICAibmFtZSI6ICJkYXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR2IiwKICAgICAgIm5hbWUiOiAiZGhpdmVoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkaW4iLAogICAgICAibmFtZSI6ICJkaW5rYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb2kiLAogICAgICAibmFtZSI6ICJkb2dyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb3YiLAogICAgICAibmFtZSI6ICJkb21iZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeXUiLAogICAgICAibmFtZSI6ICJEeXVsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeiIsCiAgICAgICJuYW1lIjogImR6b25na2hhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVuIiwKICAgICAgIm5hbWUiOiAiZW5nZWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbyIsCiAgICAgICJuYW1lIjogImVzcGVyYW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldCIsCiAgICAgICJuYW1lIjogImVzdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlZSIsCiAgICAgICJuYW1lIjogImV3ZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmYSIsCiAgICAgICJuYW1lIjogImZhcnNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZqIiwKICAgICAgIm5hbWUiOiAiZmlqaWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmkiLAogICAgICAibmFtZSI6ICJmaW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmb24iLAogICAgICAibmFtZSI6ICJmb24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnIiLAogICAgICAibmFtZSI6ICJmcmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnItQ0EiLAogICAgICAibmFtZSI6ICJGcmFuc2sgKENhbmFkYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnkiLAogICAgICAibmFtZSI6ICJmcmlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ1ciIsCiAgICAgICJuYW1lIjogImZyaXVsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZmIiwKICAgICAgIm5hbWUiOiAiZnVsZnVsZGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm8iLAogICAgICAibmFtZSI6ICJmw6Zyw7h5c2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2wiLAogICAgICAibmFtZSI6ICJnYWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYSIsCiAgICAgICJuYW1lIjogImdlb3JnaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVsIiwKICAgICAgIm5hbWUiOiAiZ3Jlc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ24iLAogICAgICAibmFtZSI6ICJndWFyYW7DrSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndSIsCiAgICAgICJuYW1lIjogImd1amFyYXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhYSIsCiAgICAgICJuYW1lIjogImdhYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbmgiLAogICAgICAibmFtZSI6ICJoYWtoYSBjaGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhIiwKICAgICAgIm5hbWUiOiAiaGF1c2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGF3IiwKICAgICAgIm5hbWUiOiAiaGF3YWlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXciLAogICAgICAibmFtZSI6ICJoZWJyYWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaWwiLAogICAgICAibmFtZSI6ICJoaWxpZ2F5bm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhpIiwKICAgICAgIm5hbWUiOiAiaGluZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaG1uIiwKICAgICAgIm5hbWUiOiAiaG1vbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHJ4IiwKICAgICAgIm5hbWUiOiAiaHVuc3JpayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZSIsCiAgICAgICJuYW1lIjogImh2aXRlcnVzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpYmEiLAogICAgICAibmFtZSI6ICJpYmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlnIiwKICAgICAgIm5hbWUiOiAiaWdibyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpbG8iLAogICAgICAibmFtZSI6ICJpbG9rYW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlkIiwKICAgICAgIm5hbWUiOiAiaW5kb25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdS1MYXRuIiwKICAgICAgIm5hbWUiOiAiSW51a3RpdHV0IChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdSIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAoc3RhdmVsc2UpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhIiwKICAgICAgIm5hbWUiOiAiaXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpcyIsCiAgICAgICJuYW1lIjogImlzbGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml0IiwKICAgICAgIm5hbWUiOiAiaXRhbGllbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhaCIsCiAgICAgICJuYW1lIjogImpha3V0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphbSIsCiAgICAgICJuYW1lIjogImphbWFpY2Fuc2sgcGF0b2lzIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphIiwKICAgICAgIm5hbWUiOiAiamFwYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqdyIsCiAgICAgICJuYW1lIjogImphdmFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieWkiLAogICAgICAibmFtZSI6ICJqaWRkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImthYyIsCiAgICAgICJuYW1lIjogImppbmdwbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5byIsCiAgICAgICJuYW1lIjogImpvcnViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbCIsCiAgICAgICJuYW1lIjogImthbGFhbGxpc3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtuIiwKICAgICAgIm5hbWUiOiAia2FubmFkYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWUiLAogICAgICAibmFtZSI6ICJrYW50b25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrciIsCiAgICAgICJuYW1lIjogImthbnVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYW0iLAogICAgICAibmFtZSI6ICJrYXBhbXBhbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrayIsCiAgICAgICJuYW1lIjogImthc2FraGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjYSIsCiAgICAgICJuYW1lIjogImthdGFsYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZWsiLAogICAgICAibmFtZSI6ICJrZWtjaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2hhIiwKICAgICAgIm5hbWUiOiAia2hhc2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia20iLAogICAgICAibmFtZSI6ICJraG1lciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZ2ciLAogICAgICAibmFtZSI6ICJraWdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtnIiwKICAgICAgIm5hbWUiOiAia2lrb25nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6aC1DTiIsCiAgICAgICJuYW1lIjogImtpbmVzaXNrIChmb3JlbmtsZXQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLVRXIiwKICAgICAgIm5hbWUiOiAia2luZXNpc2sgKHRyYWRpc2pvbmVsbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnciLAogICAgICAibmFtZSI6ICJraW55YXJ3YW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJreSIsCiAgICAgICJuYW1lIjogImtpcmdpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybiIsCiAgICAgICJuYW1lIjogImtpcnVuZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3R1IiwKICAgICAgIm5hbWUiOiAia2l0dWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRycCIsCiAgICAgICJuYW1lIjogImtva2Jvcm9rIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt2IiwKICAgICAgIm5hbWUiOiAia29taSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnb20iLAogICAgICAibmFtZSI6ICJrb25rYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtvIiwKICAgICAgIm5hbWUiOiAia29yZWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY28iLAogICAgICAibmFtZSI6ICJrb3JzaWthbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh0IiwKICAgICAgIm5hbWUiOiAia3Jlb2wgKEhhaXRpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcnMiLAogICAgICAibmFtZSI6ICJrcmVvbCAoU2V5Y2hlbGxlbmUpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaCIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAoa3lyaWxsaXNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgtTGF0biIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3JpIiwKICAgICAgIm5hbWUiOiAia3JpbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJociIsCiAgICAgICJuYW1lIjogImtyb2F0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt1IiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoa3VybWFuamkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNrYiIsCiAgICAgICJuYW1lIjogImt1cmRpc2sgKHNvcmFuaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG8iLAogICAgICAibmFtZSI6ICJsYW90aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0ZyIsCiAgICAgICJuYW1lIjogImxhdGdhbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYSIsCiAgICAgICJuYW1lIjogImxhdGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx2IiwKICAgICAgIm5hbWUiOiAibGF0dmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaWoiLAogICAgICAibmFtZSI6ICJsaWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaSIsCiAgICAgICJuYW1lIjogImxpbWJ1cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbiIsCiAgICAgICJuYW1lIjogImxpbmdhbGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHQiLAogICAgICAibmFtZSI6ICJsaXRhdWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbW8iLAogICAgICAibmFtZSI6ICJsb21iYXJkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxnIiwKICAgICAgIm5hbWUiOiAibHVnYW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdW8iLAogICAgICAibmFtZSI6ICJsdW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGIiLAogICAgICAibmFtZSI6ICJsdXhlbWJvdXJnc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWciLAogICAgICAibmFtZSI6ICJtYWRhZ2Fzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWQiLAogICAgICAibmFtZSI6ICJtYWR1cmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1haSIsCiAgICAgICJuYW1lIjogIm1haXRoaWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hayIsCiAgICAgICJuYW1lIjogIk1ha2Fzc2FyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1rIiwKICAgICAgIm5hbWUiOiAibWFrZWRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1sIiwKICAgICAgIm5hbWUiOiAibWFsYXlhbGFtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMtQXJhYiIsCiAgICAgICJuYW1lIjogIm1hbGF5aXNrIChqYXdpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtdCIsCiAgICAgICJuYW1lIjogIm1hbHRlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYW0iLAogICAgICAibmFtZSI6ICJtYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3YiLAogICAgICAibmFtZSI6ICJtYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaSIsCiAgICAgICJuYW1lIjogIm1hb3JpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1yIiwKICAgICAgIm5hbWUiOiAibWFyYXRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaCIsCiAgICAgICJuYW1lIjogIm1hcnNoYWxsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXdyIiwKICAgICAgIm5hbWUiOiAibWFyd2FkaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZmUiLAogICAgICAibmFtZSI6ICJtYXVyaXRpc2sga3Jlb2wiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibW5pLU10ZWkiLAogICAgICAibmFtZSI6ICJtZWl0ZWlsb24gKG1hbmlwdXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaW4iLAogICAgICAibmFtZSI6ICJtaW5hbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVzIiwKICAgICAgIm5hbWUiOiAibWl6byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbiIsCiAgICAgICJuYW1lIjogIm1vbmdvbHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5oZSIsCiAgICAgICJuYW1lIjogIm5haHVhdGwgKMO4c3RsaWdlIEh1YXN0ZWNhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZGMtWlciLAogICAgICAibmFtZSI6ICJuZGF1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5yIiwKICAgICAgIm5hbWUiOiAibmRlYmVsZSAoc8O4cikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmwiLAogICAgICAibmFtZSI6ICJuZWRlcmxhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZXciLAogICAgICAibmFtZSI6ICJOZXBhbCBiaGFzYSAobmV3YXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZSIsCiAgICAgICJuYW1lIjogIm5lcGFsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm0tTmtvbyIsCiAgICAgICJuYW1lIjogIk5LbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubyIsCiAgICAgICJuYW1lIjogIm5vcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm51cyIsCiAgICAgICJuYW1lIjogIm51ZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib2MiLAogICAgICAibmFtZSI6ICJva3NpdGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3IiLAogICAgICAibmFtZSI6ICJvcml5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvbSIsCiAgICAgICJuYW1lIjogIm9yb21vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9zIiwKICAgICAgIm5hbWUiOiAib3NzZXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFnIiwKICAgICAgIm5hbWUiOiAicGFuZ2FzaW5hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYSIsCiAgICAgICJuYW1lIjogIlBhbmphYmkgKGd1cm11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYS1BcmFiIiwKICAgICAgIm5hbWUiOiAicGFuamFiaSAoc2hhaG11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYXAiLAogICAgICAibmFtZSI6ICJwYXBpYW1lbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBzIiwKICAgICAgIm5hbWUiOiAicGFzaHRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBsIiwKICAgICAgIm5hbWUiOiAicG9sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQiLAogICAgICAibmFtZSI6ICJwb3J0dWdpc2lzayAoQnJhc2lsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdC1QVCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChQb3J0dWdhbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicXUiLAogICAgICAibmFtZSI6ICJxdWVjaHVhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvbSIsCiAgICAgICJuYW1lIjogInJvbWFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybyIsCiAgICAgICJuYW1lIjogInJ1bWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnUiLAogICAgICAibmFtZSI6ICJydXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNlIiwKICAgICAgIm5hbWUiOiAic2FtaXNrIChub3JkKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbSIsCiAgICAgICJuYW1lIjogInNhbW9hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNnIiwKICAgICAgIm5hbWUiOiAic2FuZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2EiLAogICAgICAibmFtZSI6ICJzYW5za3JpdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQtTGF0biIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKGxhdGluc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdCIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKG9sIGNoaWtpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzemwiLAogICAgICAibmFtZSI6ICJzY2hsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnNvIiwKICAgICAgIm5hbWUiOiAic2VwZWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNyIiwKICAgICAgIm5hbWUiOiAic2VyYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaG4iLAogICAgICAibmFtZSI6ICJzaGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNuIiwKICAgICAgIm5hbWUiOiAic2hvbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2NuIiwKICAgICAgIm5hbWUiOiAic2ljaWxpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzZCIsCiAgICAgICJuYW1lIjogInNpbmRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaSIsCiAgICAgICJuYW1lIjogInNpbmdhbGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdkIiwKICAgICAgIm5hbWUiOiAic2tvdHNrIGfDpmxpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2siLAogICAgICAibmFtZSI6ICJzbG92YWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2wiLAogICAgICAibmFtZSI6ICJzbG92ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbyIsCiAgICAgICJuYW1lIjogInNvbWFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdCIsCiAgICAgICJuYW1lIjogInNvdGhvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVzIiwKICAgICAgIm5hbWUiOiAic3BhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1IiwKICAgICAgIm5hbWUiOiAic3VuZGFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3VzIiwKICAgICAgIm5hbWUiOiAic3VzdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdiIsCiAgICAgICJuYW1lIjogInN2ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdyIsCiAgICAgICJuYW1lIjogInN3YWhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3MiLAogICAgICAibmFtZSI6ICJzd2F0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZyIsCiAgICAgICJuYW1lIjogInRhZHNqaWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGwiLAogICAgICAibmFtZSI6ICJ0YWdhbG9nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5IiwKICAgICAgIm5hbWUiOiAidGFoaXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyLUxhdG4iLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyIiwKICAgICAgIm5hbWUiOiAidGFtYXppZ2h0ICh0aWZpbmFnaCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGEiLAogICAgICAibmFtZSI6ICJ0YW1pbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dCIsCiAgICAgICJuYW1lIjogInRhdGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRlIiwKICAgICAgIm5hbWUiOiAidGVsdWd1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRldCIsCiAgICAgICJuYW1lIjogInRldHVtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRoIiwKICAgICAgIm5hbWUiOiAidGhhaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibyIsCiAgICAgICJuYW1lIjogInRpYmV0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aSIsCiAgICAgICJuYW1lIjogInRpZ3JpbmphIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpdiIsCiAgICAgICJuYW1lIjogInRpdiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cGkiLAogICAgICAibmFtZSI6ICJ0b2sgcGlzaW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG8iLAogICAgICAibmFtZSI6ICJ0b25nYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdWEiLAogICAgICAibmFtZSI6ICJ0c2hpbHViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcyIsCiAgICAgICJuYW1lIjogInRzamVra2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZSIsCiAgICAgICJuYW1lIjogInRzamV0c2plbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoayIsCiAgICAgICJuYW1lIjogInRzanVrdHNqaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN2IiwKICAgICAgIm5hbWUiOiAidHNqdXZhc2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHMiLAogICAgICAibmFtZSI6ICJ0c29uZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG4iLAogICAgICAibmFtZSI6ICJ0c3dhbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGN5IiwKICAgICAgIm5hbWUiOiAidHVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dW0iLAogICAgICAibmFtZSI6ICJ0dW1idWthIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRrIiwKICAgICAgIm5hbWUiOiAidHVya21lbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5diIsCiAgICAgICJuYW1lIjogInR1dmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWsiLAogICAgICAibmFtZSI6ICJ0d2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHIiLAogICAgICAibmFtZSI6ICJ0eXJraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRlIiwKICAgICAgIm5hbWUiOiAidHlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZG0iLAogICAgICAibmFtZSI6ICJ1ZG11cnRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWciLAogICAgICAibmFtZSI6ICJ1aWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ayIsCiAgICAgICJuYW1lIjogInVrcmFpbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh1IiwKICAgICAgIm5hbWUiOiAidW5nYXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ciIsCiAgICAgICJuYW1lIjogInVyZHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidXoiLAogICAgICAibmFtZSI6ICJ1c2Jla2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2ZSIsCiAgICAgICJuYW1lIjogInZlbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlYyIsCiAgICAgICJuYW1lIjogInZlbmV0aWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmkiLAogICAgICAibmFtZSI6ICJ2aWV0bmFtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3kiLAogICAgICAibmFtZSI6ICJ3YWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3YXIiLAogICAgICAibmFtZSI6ICJ3YXJheS13YXJheSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3byIsCiAgICAgICJuYW1lIjogIndvbG9mIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInhoIiwKICAgICAgIm5hbWUiOiAieGhvc2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVhIiwKICAgICAgIm5hbWUiOiAieXVrYXRhbnNrIG1heWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemFwIiwKICAgICAgIm5hbWUiOiAiemFwb3RlYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6dSIsCiAgICAgICJuYW1lIjogInp1bHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2htIiwKICAgICAgIm5hbWUiOiAiw7hzdG1hcmlzayIKICAgIH0KICBdCn0KKTs="}},"time_used":32,"timings":{"blocked":0,"dns":2,"connect":8,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.116.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:33.171Z","timestamp":1785137073171,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"POST /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Api-Key: AIzaSyDyT5W0Jh49F30Pqqtyfdf7pDLFKLJoAnw\r\nContent-Type: application/json+protobuf\r\nContent-Length: 1807\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":1807,"data":"[\"O43z0dpjhgX20SCx4KAo\",\"$Eo05jelRAAYuiqQtDores8GWJYopJhqnAEABEArZ1HWsJxG3u_O-nq2khY602Xx4IrMcehWD7nEcM45OaWt3uBliBbIZGmv2gptkdxhyDLWeVCvIScEaFF3_ngAAAQzOAAAAE_QBB-IAUnjxYnfcVXHSEqr7elxRjmmGd5Uh28SKMchcBeyf_nghxRxJqLD0SjPALqw0wguw5fFSaOhDIFrzVEYufbhZyBnHi-k6IY1B6xONMfB3sqCHkvAFBHcJ1CQVpaMNaeJWWLNK0Nkp1iiUSBvSyrg8v1pytit4DZ3JvF0Wy8alpEmPNQJi5dhu4OM10Y6Z9hHNyh0914q3t_1BtwqcLpd-DuytD5YMZ_UKFiwTNrG9oHrXOxFiRGsu3crS2itT4Uq3911rGiG-Fm8JNHPhrGfHOfKu_HIuta4DVY0T9mJc6nmLPzmBq6BHmhfkLQoFdpkzj1ggb5Mw2KOlzkxXoGgsy-MXJwdMvJ3Q2H-zhce9Pa0lS_5c3FWqIsmPoWBnKQOr3TquiWgXmPCQqaVYvEge-ZRx0ZKPtBCYhB7hGteTHrR-QyyrN4NLfBSzWiqGL531HEOKtCKppJ99DT4Tu8SdLrkUoeYmeuJfV_WPNsKpyzjcCYslFVVzeINi6I01lBv9m0U2ikka1GSKZw6AjWE_Pk6c8JALd3A02Gd4PYOD5h6JfHIwLpggCd1J9HKRk7J3wX9NLfeD0vj7NBtxEOsPWLKVYJI6FICQZktScCxsUysqPZqKzQZHeKIfEgNg2CC-9kOmNEWPm3thY39O2iME0rvu4ce7OmhdyMjaLLZ6NGcQ8n4ri_1gX42-X_rpiBmG-DfsVguSKI-YfB0ImW_NNV38d2vdZv3sv2JjAnTVyO9CMNg9Lpu_JkaDv8iq9zCYBoZevREZhPux7PRgtHATszE8OI2dD1QVBNGWnGA_iotmRn4Nz1K35V52teeFLeMxhQ8L21yTeRdYjPRfbWzSDmzoGMc7UDsed4dndsk-OfUunDiBZeOp55bvBRx86y37m_BSvxK5Eop_smFsVcuOcjuwe1lLFdx-FuJd8812F3hoP7kgrUBMpGlsLAKuQjqM3vw2qvjwdXhwToNpJFdpvwu4ApozstymmJxZO36d4DQX8I0BeHCbvFgrm_qn_3VuuPCWIjQ9MxfX6o_VRwBrm80ILlyftSFb_mBKZOCeA1eEfXBptNypCzduF0MOB1rXDLNyRu0GeRZmB3AS5BZWaR888S9MbTOsuKiz2-BAOxDhUcT0cfzRc6d3yqkKk-rPXJy1aGcvDkyx-rKSbi8yhg0NIkACkSHIktI2_9FGcENDc8vomz-52Vp1jG5MwzWhUcP5vBJhgR3wP7xgavGFsItVF5rUItZAJOssJ5KXSn43jFw1Kj8AZG00HU-zGwfb4JUCSz8okHAImJdj6PyQT9Z2o_QGukUOUIQDvHIaMeHYoOc5AfrsxrZiSpGT6p2HCK1fpiK0ecAtyJ75n_BVoZiySZUx3OUHVyARpc7QDVo6JGQIsIGW7mUO34VQzvLMoC2-0XpzfYmIe2d0Q2tubpKOeu78S69Bpjx7c0c8KlsGEXKPOAxLDSCB6onlDU60tmSZ6V__Hno1dU6MQJLDIDwCUNQk7bwkvoZGgwyDUycUQ7wRgGVcvndxyXsnd1aq54AJHLAYt5fMsoN1LLs8bCNgHFQG1Xtc__XNlIAf5ofIjUvih-JwxxJDqRXNC5Wjtkl6iFmGyRj95rlguJd_NBrpdAcBMlqDje4ysAI\"]"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json+protobuf; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 07:24:33 GMT\r\nserver: ESF\r\ncontent-length: 118\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\naccess-control-allow-origin: https://www.youtube.com\r\naccess-control-allow-credentials: true\r\naccess-control-expose-headers: vary,vary,vary,content-encoding,date,server,content-length\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":98,"size_decoded":642,"mime_type":"application/json+protobuf; charset=UTF-8","magic":"JSON text data","md5":"30825c6878d27e58c208583443d61bb2","sha1":"7d9f90d87da932c1ba55baddebdd7de1be30655a","sha256":"48655d5fb688487c916d6ebb5877b26ffa29d79811b53831b1f2e0bf8f19ea3f","sha512":"0867b935cd5abdd781cac214a2f299cb69d126b28b9ba69fc89d127e4f569545835b62b24e34ed9ff58fbcf0e0a798d9fe0c092608a4c69d37eccb03016b0b1b","ssdeep":"","tlshash":"aeb012ec158c92486892674633826a173311890032f44e4a4a47d140f2dd8a15792126","first_seen":"2026-07-27T07:25:17.848461Z","last_seen":"2026-07-27T07:25:17.848461Z","times_seen":1,"resource_available":false,"data":"WyJENEZpcy9lZmFnbG1CUlJsU1p4NW5EbXZiSWQ0Nko0Mjl0Y2cyUThIdEJzSEZhQ2kzZ1VvNGMwU1AvNU80MHg0Tm5zMlNRZ0l6OExqV2JMUlFmbEEiLDQzMjAwLDEwMF0="}},"time_used":22,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T07:24:22.742Z","timestamp":1785137062742,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/html; charset=utf-8\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare Browser Insights","description":"Cloudflare Browser Insights is a tool that measures the performance of websites from the perspective of users.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Analytics","RUM"]},{"name":"YouTube","description":"YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.","website":"https://www.youtube.com","common_platform_enumeration":"","icon":"YouTube.png","categories":["Video players"]},{"name":"Bootstrap:5","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"jQuery:3.4.1","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"name":"Google Tag Manager","description":"Google Tag Manager is a tag management system (TMS) that allows you to quickly and easily update measurement codes and related code fragments collectively known as tags on your website or mobile app.","website":"https://www.google.com/tagmanager","common_platform_enumeration":"","icon":"Google Tag Manager.svg","categories":["Tag managers"]},{"name":"Trustpilot","description":"Trustpilot is a Danish consumer review website which provide embed stand-alone applications in your website to show your most recent reviews, TrustScore, and star ratings.","website":"https://business.trustpilot.com","common_platform_enumeration":"","icon":"Trustpilot.svg","categories":["Reviews"]}],"data":{"size":110843,"size_decoded":14842,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (468), with CRLF line terminators","md5":"4990818d0865c37fcd218c0dfe562d50","sha1":"821c9df9be136c372b8198217ccf1d1f1db96cb3","sha256":"b7a6e79ae103e56f8af991325d4d241f517458c11ba9df6a3462a12362ab5070","sha512":"4369e11ffeb4184cd5eb20418f6b573fd0d06ee302496e411d17c735c286d2331a338e448d6c47c396a710e94182a8e5f926d5710c1bb07a9b6ab37a4db56c1e","ssdeep":"768:krvsNp+8oZZZwI4aIrIAIUIECkJSh2KXjmw36mqYiQK1zF+i6twftTD:oZZZwIPIrIAIUIECkJSAKXjmwKhhB1TD","tlshash":"9ab33d3025d1267704b381e2aa65ab8efe958207cb5b824572fc2bc75ff3c21dd57a24","first_seen":"2026-07-27T05:02:02.481631Z","last_seen":"2026-07-27T07:25:28.841353Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4NCg0KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjE4MHgxODAiIGhyZWY9Ii9sb2dvLW1pbmkucG5nIj4NCiAgICA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3BuZyIgc2l6ZXM9IjMyeDMyIiBocmVmPSIvbG9nby1taW5pLnBuZyI+DQogICAgPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS9wbmciIHNpemVzPSIxNngxNiIgaHJlZj0iL2xvZ28tbWluaS5wbmciPg0KICAgIDxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Ii9zaXRlL3RoZW1lcy9JRlhCcm9rZXJzVHJhZGVzL2ltYWdlcy9zaXRlLmh0bWwiPg0KICAgIDxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUNvbG9yIiBjb250ZW50PSIjMmI1Nzk3Ij4NCiAgICA8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0iI2ZmZmZmZiI+DQogICAgPG1ldGEgbmFtZT0iY3NyZi10b2tlbiIgY29udGVudD0icVFjVU1vMllHQ1cwVVVNeG5TT0pxd21OR2VLZmxqTnZmNWZ2OWp2dSI+DQogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+DQogICAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaW5kZXguaHRtbCIgLz4NCiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJJRlhCcm9rZXJzVHJhZGVzIiAvPg0KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpsb2NhbGUiIGNvbnRlbnQ9ImVuIiAvPg0KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJTdGFydCBmb3JleCB0cmFkaW5nIHdpdGggSUZYQnJva2VycyBUcmFkZXMgYW5kIHRyYWRlIHdpdGggbG93IHNwcmVhZHMgJiBoaWdoIGxldmVyYWdlIG9uIENGRCBjdXJyZW5jaWVzLCBzdG9jaywgY29tbW9kaXRpZXMsIGluZGljZXMsIGJvbmRzLCBvcHRpb25zLCBtZXRhbHMgJiBtb3JlIiAvPg0KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iU3RhcnQgZm9yZXggdHJhZGluZyB3aXRoIElGWEJyb2tlcnMgVHJhZGVzIGFuZCB0cmFkZSB3aXRoIGxvdyBzcHJlYWRzICYgaGlnaCBsZXZlcmFnZSBvbiBDRkQgY3VycmVuY2llcywgc3RvY2ssIGNvbW1vZGl0aWVzLCBpbmRpY2VzLCBib25kcywgb3B0aW9ucywgbWV0YWxzICYgbW9yZSIgLz4NCiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkZvcmV4IEJyb2tlcnMgfCBMb3cgU3ByZWFkIEhpZ2ggTGV2ZXJhZ2UgQ0ZEIFN0b2NrICYgQ29tbW9kaXRpZXMgT25saW5lIEJyb2tlciIgLz4NCiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJGb3JleCBCcm9rZXJzIHwgTG93IFNwcmVhZCBIaWdoIExldmVyYWdlIENGRCBTdG9jayAmIENvbW1vZGl0aWVzIE9ubGluZSBCcm9rZXIiIC8+DQogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iU3RhcnQgZm9yZXggdHJhZGluZyB3aXRoIElGWEJyb2tlcnMgVHJhZGVzIGFuZCB0cmFkZSB3aXRoIGxvdyBzcHJlYWRzICYgaGlnaCBsZXZlcmFnZSBvbiBDRkQgY3VycmVuY2llcywgc3RvY2ssIGNvbW1vZGl0aWVzLCBpbmRpY2VzLCBib25kcywgb3B0aW9ucywgbWV0YWxzICYgbW9yZSIgLz4NCiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9ImltZy9odHRwL2FIUjBjSE02THk5d2NtOWtMWFJwWTJ0dGFXeHNMWGRsWWk1ek15NWxkUzFqWlc1MGNtRnNMVEV1WVcxaGVtOXVZWGR6TG1OdmJTOXBiV0ZuWlhNdmJXVjBZUzFwYldGblpTMWtaV1poZFd4MExuQnVadyUzZCUzZGM2NmEucG5nP3M9YTlmMDJlZDcwY2U3MzMwMzM2NjY1YmY2N2Y2NGNiNDIiIC8+DQogICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOndpZHRoIiBjb250ZW50PSIxMjAwIiAvPg0KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTpoZWlnaHQiIGNvbnRlbnQ9IjYyNyIgLz4NCg0KDQogICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4NCiAgICAgICAgew0KICAgICAgICAiQGNvbnRleHQiOiAiaHR0cDovL3NjaGVtYS5vcmciLA0KICAgICAgICAiQHR5cGUiOiAiV2ViU2l0ZSIsDQogICAgICAgICJuYW1lIjogIklGWEJyb2tlcnNUcmFkZXMiLA0KICAgICAgICAidXJsIjogIi8iDQogICAgICAgICAgICAgIF0sDQogICAgICAgICJwb3RlbnRpYWxBY3Rpb24iOiB7DQogICAgICAgICJAdHlwZSI6ICJTZWFyY2hBY3Rpb24iLA0KICAgICAgICAidGFyZ2V0IjogIi9zZWFyY2g/cT17c2VhcmNoX3Rlcm19IiwNCiAgICAgICAgInF1ZXJ5LWlucHV0IjogInJlcXVpcmVkIG5hbWU9c2VhcmNoX3Rlcm0iDQogICAgICAgIH0NCiAgICAgICAgfQ0KICAgIDwvc2NyaXB0Pg0KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+DQogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJpZT1lZGdlIj4NCiAgICA8dGl0bGU+SUZYQnJva2VycyBUcmFkZXMgLSBJRlhCcm9rZXJzIFRyYWRlcyDigJQgRm9yZXgvQ0ZEcyBUcmFkaW5nIFlvdXIgT25saW5lIEJyb2tlciB8IENCUCBSZWd1bGF0ZWQ8L3RpdGxlPg0KICAgIDxtZXRhIG5hbWU9InRpdGxlIiBjb250ZW50PSJJRlhCcm9rZXJzIFRyYWRlcyDigJQgRm9yZXgvQ0ZEcyBUcmFkaW5nIFlvdXIgT25saW5lIEJyb2tlciI+DQogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IklGWEJyb2tlcnMgVHJhZGVzIC0gaXMgeW91ciB3b3JsZCBsYXJnZXN0IGNyeXB0b2N1cnJlbmN5IG9ubGluZSB0cmFkaW5nIGFuZCBpbnZlc3RtZW50IHBsYXRmb3JtLlRyYWRlIEZvcmV4L0NGRHMgYWxsIG9uIG91ciBhZHZhbmNlZCwgd2ViLWJhc2VkIHRyYWRpbmcgcGxhdGZvcm0uV2UgYXBwbHkgYSAxMDAlIERNQSBTVFAgb3JkZXIgZXhlY3V0aW9uIG1vZGVsIGZvciBhbGwgb3VyIGNsaWVudHMuIj4NCg0KICAgIDwhLS0gT3BlbiBHcmFwaCAvIEZhY2Vib29rIC0tPg0KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIj4NCiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL2lmeGJyb2tlcnRyYWRlcy5jby56YS8iPg0KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iSUZYQnJva2VycyBUcmFkZXMg4oCUIEZvcmV4L0NGRHMgVHJhZGluZyBZb3VyIE9ubGluZSBCcm9rZXIiPg0KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iSUZYQnJva2VycyBUcmFkZXMgLSBpcyB5b3VyIHdvcmxkIGxhcmdlc3QgY3J5cHRvY3VycmVuY3kgb25saW5lIHRyYWRpbmcgYW5kIGludmVzdG1lbnQgcGxhdGZvcm0uVHJhZGUgRm9yZXgvQ0ZEcyBhbGwgb24gb3VyIGFkdmFuY2VkLCB3ZWItYmFzZWQgdHJhZGluZyBwbGF0Zm9ybS5XZSBhcHBseSBhIDEwMCUgRE1BIFNUUCBvcmRlciBleGVjdXRpb24gbW9kZWwgZm9yIGFsbCBvdXIgY2xpZW50cy4iPg0KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9pZnhicm9rZXJ0cmFkZXMuY28uemEvU3RvY2tyeXB0b3MwMS5wbmciPg0KDQogICAgPCEtLSBUd2l0dGVyIC0tPg0KICAgIDxtZXRhIHByb3BlcnR5PSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiPg0KICAgIDxtZXRhIHByb3BlcnR5PSJ0d2l0dGVyOnVybCIgY29udGVudD0iaHR0cHM6Ly9pZnhicm9rZXJ0cmFkZXMuY28uemEvIj4NCiAgICA8bWV0YSBwcm9wZXJ0eT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iSUZYQnJva2VycyBUcmFkZXMg4oCUIEZvcmV4L0NGRHMgVHJhZGluZyBZb3VyIE9ubGluZSBCcm9rZXIiPg0KICAgIDxtZXRhIHByb3BlcnR5PSJ0d2l0dGVyOmRlc2NyaXB0aW9uIiBjb250ZW50PSJJRlhCcm9rZXJzIFRyYWRlcyAtIGlzIHlvdXIgd29ybGQgbGFyZ2VzdCBjcnlwdG9jdXJyZW5jeSBvbmxpbmUgdHJhZGluZyBhbmQgaW52ZXN0bWVudCBwbGF0Zm9ybS5UcmFkZSBGb3JleC9DRkRzIGFsbCBvbiBvdXIgYWR2YW5jZWQsIHdlYi1iYXNlZCB0cmFkaW5nIHBsYXRmb3JtLldlIGFwcGx5IGEgMTAwJSBETUEgU1RQIG9yZGVyIGV4ZWN1dGlvbiBtb2RlbCBmb3IgYWxsIG91ciBjbGllbnRzLiI+DQogICAgPG1ldGEgcHJvcGVydHk9InR3aXR0ZXI6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vaWZ4YnJva2VydHJhZGVzLmNvLnphL1N0b2NrcnlwdG9zMDEucG5nIj4NCg0KDQoNCiAgICA8bGluayByZWw9InByZWxvYWQiIGhyZWY9Ii9zaXRlL3RoZW1lcy9JRlhCcm9rZXJzVHJhZGVzL2Fzc2V0cy9kaXN0L2ZvbnRzL3JvYm90by12MjAtbGF0aW4tMzAwLndvZmYyIiBhcz0iZm9udCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+DQogICAgPGxpbmsgcmVsPSJwcmVsb2FkIiBocmVmPSIvc2l0ZS90aGVtZXMvSUZYQnJva2Vyc1RyYWRlcy9hc3NldHMvZGlzdC9mb250cy9yb2JvdG8tdjIwLWxhdGluLXJlZ3VsYXIud29mZjIiIGFzPSJmb250IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj4NCiAgICA8bGluayByZWw9InByZWxvYWQiIGhyZWY9Ii9zaXRlL3RoZW1lcy9JRlhCcm9rZXJzVHJhZGVzL2Fzc2V0cy9kaXN0L2ZvbnRzL3JvYm90by12MjAtbGF0aW4tNTAwLndvZmYyIiBhcz0iZm9udCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+DQogICAgPGxpbmsgcmVsPSJwcmVsb2FkIiBocmVmPSIvc2l0ZS90aGVtZXMvSUZYQnJva2Vyc1RyYWRlcy9hc3NldHMvZGlzdC9mb250cy9yb2JvdG8tdjIwLWxhdGluLTcwMC53b2ZmMiIgYXM9ImZvbnQiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPg0KICAgIDxsaW5rIHJlbD0icHJlbG9hZCIgaHJlZj0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvZm9udHMvcm9ib3RvLXYyMC1sYXRpbi1pdGFsaWMud29mZjIiIGFzPSJmb250IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj4NCiAgICA8bGluayByZWw9InByZWxvYWQiIGhyZWY9Ii9zaXRlL3RoZW1lcy9JRlhCcm9rZXJzVHJhZGVzL2Fzc2V0cy9kaXN0L2xpYi9mb250LWF3ZXNvbWUvd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmMiIgYXM9ImZvbnQiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPg0KICAgIDxsaW5rIHJlbD0icHJlbG9hZCIgaHJlZj0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvbGliL2ZvbnQtYXdlc29tZS93ZWJmb250cy9mYS1kdW90b25lLTkwMC53b2ZmMiIgYXM9ImZvbnQiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPg0KICAgIDxsaW5rIHJlbD0icHJlbG9hZCIgaHJlZj0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvbGliL2ZvbnQtYXdlc29tZS93ZWJmb250cy9mYS1saWdodC0zMDAud29mZjIiIGFzPSJmb250IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj4NCiAgICA8bGluayByZWw9InByZWxvYWQiIGhyZWY9Ii9zaXRlL3RoZW1lcy9JRlhCcm9rZXJzVHJhZGVzL2Fzc2V0cy9kaXN0L2xpYi9mb250LWF3ZXNvbWUvd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZjIiIGFzPSJmb250IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj4NCiAgICA8bGluayByZWw9InByZWxvYWQiIGhyZWY9Ii9zaXRlL3RoZW1lcy9JRlhCcm9rZXJzVHJhZGVzL2Fzc2V0cy9kaXN0L2xpYi9mb250LWF3ZXNvbWUvd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYyIiBhcz0iZm9udCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+DQogICAgPGxpbmsgaHJlZj0iL3NpdGUvdGhlbWVzL25ldy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zaXRlL3RoZW1lcy9JRlhCcm9rZXJzVHJhZGVzL2Fzc2V0cy9kaXN0L2FwcC5taW44N2IyLmNzcz9pZD1lMjNlZGNmMGZhZTY1N2FlZTBhNCIgbWVkaWE9InByaW50IiBvbmxvYWQ9InRoaXMubWVkaWE9J2FsbCc7IHRoaXMub25sb2FkPW51bGw7Ij4NCiAgICA8bm9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvc2l0ZS90aGVtZXMvSUZYQnJva2Vyc1RyYWRlcy9hc3NldHMvZGlzdC9hcHAubWluODdiMi5jc3M/aWQ9ZTIzZWRjZjBmYWU2NTdhZWUwYTQiPjwvbm9zY3JpcHQ+DQogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvc2l0ZS90aGVtZXMvSUZYQnJva2Vyc1RyYWRlcy9hc3NldHMvZGlzdC9saWIvZm9udC1hd2Vzb21lL2Nzcy9hbGwubWluNTcyMS5jc3M/aWQ9MjFmOWY5ZjQxMjIyYzlmMmFjZWMiIG1lZGlhPSJwcmludCIgb25sb2FkPSJ0aGlzLm1lZGlhPSdhbGwnOyB0aGlzLm9ubG9hZD1udWxsOyI+DQogICAgPG5vc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvbGliL2ZvbnQtYXdlc29tZS9jc3MvYWxsLm1pbjU3MjEuY3NzP2lkPTIxZjlmOWY0MTIyMmM5ZjJhY2VjIj48L25vc2NyaXB0Pg0KDQogICAgPHN0eWxlPg0KICAgICAgICAuZ29vZy10ZS1iYW5uZXItZnJhbWUuc2tpcHRyYW5zbGF0ZSB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAjZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50ID4gZGl2ID4gc3BhbiA+IGEgew0KICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSB7DQogICAgICAgICAgICB0b3A6IDBweCAhaW1wb3J0YW50Ow0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5IGNsYXNzPSJkZWZhdWx0IGJ1Z3NuYWciPg0KICAgIDxkaXYgaWQ9InJlZGlyZWN0LXBhZ2UtZnV0dXJlcy1tb2RhbCIgY2xhc3M9Im1vZGFsIHAtMCIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciPg0KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2cgbW9kYWwtbGcgbWF4LXdpZHRoLTY0MCBtb2RhbC1kaWFsb2ctY2VudGVyZWQiIHJvbGU9ImRvY3VtZW50Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQgcC1zbS0yIHJvdW5kZWQtMCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIGJvcmRlci0wIHBiLTAiPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IiBkYXRhLXNyYz0iL2xvZ28ucG5nIiBjbGFzcz0ibGF6eSIgd2lkdGg9IjE0OCIgYWx0PSJsb2dvIiB0aXRsZT0ibG9nbyI+DQogICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtbGFiZWw9IkNsb3NlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj4mdGltZXM7PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5IHB4LTQiPg0KICAgICAgICAgICAgICAgICAgICBUaGFuayB5b3UgZm9yIHlvdXIgaW50ZXJlc3QgaW4gSUZYQnJva2VycyBUcmFkZXMgVVNBIEx0ZDogd2hpY2ggaXMgYXV0aG9yaXNlZCBhbmQgcmVndWxhdGVkIGJ5IHRoZSBGaW5hbmNpYWwgQ29uZHVjdCBBdXRob3JpdHkgKEZDQSkgYW5kIGZhbGxzIG91dHNpZGUgdGhlIEV1cm9wZWFuIHJlZ3VsYXRvcnkgZnJhbWV3b3JrLjxicj48YnI+SXQgbG9va3MgbGlrZSB5b3UgYXJlIHBoeXNpY2FsbHkgbG9jYXRlZCBpbiB0aGUgRUVBLCB0aGVyZWZvcmUgaWYgeW91IHdvdWxkIGxpa2UgdG8gcHJvY2VlZCB3aXRoIElGWEJyb2tlcnMgVHJhZGVzIFVTQSBMdGQsIHBsZWFzZSBjb25maXJtIHRoaXMgZGVjaXNpb24gaGFzIGJlZW4gbWFkZSBieSB5b3UgaW5kZXBlbmRlbnRseSB3aXRob3V0IGFueSBtYXJrZXRpbmcgb3Igc29saWNpdGF0aW9uIGJ5IElGWEJyb2tlcnMgVHJhZGVzIFVTQSBMdGQuDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIGJvcmRlci0wIj4NCiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSByb3VuZGVkLTAiIGRhdGEtZGlzbWlzcz0ibW9kYWwiPkNhbmNlbDwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iUHJvY2VlZCIgaHJlZj0iIyIgY2xhc3M9ImJ0biBidG4tc3VjY2VzcyByb3VuZGVkLTAiPlByb2NlZWQ8L2E+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQoNCg0KDQogICAgPGRpdiBjbGFzcz0ic3RpY2t5IHotaW5kZXgtMTAgdy0xMDAiPg0KICAgICAgICA8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLW1haW4gbmF2YmFyLWV4cGFuZC14bCBuYXZiYXItbGlnaHQgYmctbGlnaHQgYm9yZGVyLWJvdHRvbSB3LTEwMCBwci0wIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZSBweC1zbS0zIj4NCiAgICAgICAgICAgICAgICA8YSB0aXRsZT0iLyIgY2xhc3M9Im5hdmJhci1icmFuZCIgaHJlZj0iL0hvbWUvSW5kZXgiPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iL2xvZ28ucG5nIiBjbGFzcz0iaW1nLWZsdWlkIiB3aWR0aD0iMTQ4IiBhbHQ9ImxvZ28iIHRpdGxlPSJsb2dvIj4NCiAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2YmFyLXRvZ2dsZXIgbmF2YmFyLXRvZ2dsZXItcmlnaHQgY29sbGFwc2VkIiB0eXBlPSJidXR0b24iIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNjb2xsYXBzaW5nTmF2YmFyIj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSBtci0zIG1yLXhsLTAiIGlkPSJjb2xsYXBzaW5nTmF2YmFyIj4NCg0KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdmJhci1uYXYgbXItYXV0byI+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIGFjdGl2ZSBkcm9wZG93biBkcm9wZG93bi1ob3Zlci14bCBwb3NpdGlvbi1zdGF0aWMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJUcmFkaW5nIiBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9IiNkcm9wZG93bi10cmFkaW5nIiBpZD0ibmF2YmFyRHJvcGRvd24iIHJvbGU9ImJ1dHRvbiIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LXRpdGxlIj5UcmFkaW5nPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXRvZ2dsZSBpY29uLXRvZ2dsZS1wbHVzLW1pbnVzIj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LWZ1bGwgcm91bmRlZC0wIG1iLTAiIGFyaWEtbGFiZWxsZWRieT0ibmF2YmFyRHJvcGRvd24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgdGV4dC0xNCBwLTIgcC1sZy00Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbC1sZy0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9ImZvbnQtd2VpZ2h0LWJvbGQgdGV4dC1kYXJrIG1iLTIiPlRSQURJTkcgSU5TVFJVTUVOVFM8L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJGb3JleCIgY2xhc3M9ImQtYmxvY2sgbGluay1kYXJrIiBocmVmPSIvSG9tZS9Gb3JleCIgdGFiaW5kZXg9Ii0xIiBhcmlhLWRpc2FibGVkPSJ0cnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yZXgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IlN0b2NrIEluZGljZXMgQW5kIE9pbCIgY2xhc3M9ImQtYmxvY2sgbGluay1kYXJrIiBocmVmPSIvSG9tZS9TdG9jayIgdGFiaW5kZXg9Ii0xIiBhcmlhLWRpc2FibGVkPSJ0cnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvY2sgSW5kaWNlcyBhbmQgT2lsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJQcmVjaW91cyBNZXRhbHMiIGNsYXNzPSJkLWJsb2NrIGxpbmstZGFyayIgaHJlZj0iL0hvbWUvTWV0YWxzIiB0YWJpbmRleD0iLTEiIGFyaWEtZGlzYWJsZWQ9InRydWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVjaW91cyBNZXRhbHMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IkJvbmRzIiBjbGFzcz0iZC1ibG9jayBsaW5rLWRhcmsiIGhyZWY9Ii9Ib21lL0JvbmRzIiB0YWJpbmRleD0iLTEiIGFyaWEtZGlzYWJsZWQ9InRydWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb25kcw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iQ3J5cHRvY3VycmVuY2llcyIgY2xhc3M9ImQtYmxvY2sgbGluay1kYXJrIiBocmVmPSIvSG9tZS9DcnlwdG9jdXJyZW5jaWVzIiB0YWJpbmRleD0iLTEiIGFyaWEtZGlzYWJsZWQ9InRydWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcnlwdG9jdXJyZW5jaWVzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJmb250LXdlaWdodC1ib2xkIHRleHQtZGFyayBtdC0zIG10LW1kLTAgbWItMiI+VFJBRElORyBBQ0NPVU5UUzwvaDU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IkFjY291bnRzIE92ZXJ2aWV3IiBjbGFzcz0iZC1ibG9jayBsaW5rLWRhcmsiIGhyZWY9Ii9Ib21lL0FjY291bnQiIHRhYmluZGV4PSItMSIgYXJpYS1kaXNhYmxlZD0idHJ1ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjY291bnRzIE92ZXJ2aWV3DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJQcm8gQWNjb3VudCIgY2xhc3M9ImQtYmxvY2sgbGluay1kYXJrIiBocmVmPSIvSG9tZS9Qcm9tbyIgdGFiaW5kZXg9Ii0xIiBhcmlhLWRpc2FibGVkPSJ0cnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgQWNjb3VudA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iQ2xhc3NpYyBBY2NvdW50IiBjbGFzcz0iZC1ibG9jayBsaW5rLWRhcmsiIGhyZWY9Ii9Ib21lL1NsaXZlciIgdGFiaW5kZXg9Ii0xIiBhcmlhLWRpc2FibGVkPSJ0cnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xpdmVyIEFjY291bnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iVmlwIEFjY291bnQiIGNsYXNzPSJkLWJsb2NrIGxpbmstZGFyayIgaHJlZj0iL0hvbWUvVXBncmFkZSIgdGFiaW5kZXg9Ii0xIiBhcmlhLWRpc2FibGVkPSJ0cnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlbWl1bSBBY2NvdW50DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJJc2xhbWljIEFjY291bnQiIGNsYXNzPSJkLWJsb2NrIGxpbmstZGFyayIgaHJlZj0iL0hvbWUvRGlhbW9uZCIgdGFiaW5kZXg9Ii0xIiBhcmlhLWRpc2FibGVkPSJ0cnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlwIEFjY291bnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLWxnLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIgY29sLWxnLTMgZC1ub25lIGQtbWQtYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ibG9jayBkLWxnLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgYm9yZGVyLWxnLWxlZnQgcHQtbGctMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC00IGNvbC1sZy0xMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iJDIwIFdlbGNvbWUgQWNjb3VudCIgaHJlZj0iIyIgY2xhc3M9ImxpbmstZGFyayB0ZXh0LWRlY29yYXRpb24tbm9uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ibGF6eSBpbWctZmx1aWQgaWNvbi00MCBpY29uLWxnLTQ4IGFsaWduLW1pZGRsZSIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL2JvbnVzLnN2ZyIgYWx0PSIkMjAgV2VsY29tZSBBY2NvdW50IiB0aXRsZT0iJDIwIFdlbGNvbWUgQWNjb3VudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFsaWduLW1pZGRsZSB3aGl0ZXNwYWNlLW5vLXdyYXAgbWwtMiI+JDIwIFdlbGNvbWUgQWNjb3VudDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ub25lIGQtbGctYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQgY29sLWxnLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJXZWJpbmFycyIgaHJlZj0iIyIgY2xhc3M9ImxpbmstZGFyayB0ZXh0LWRlY29yYXRpb24tbm9uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ibGF6eSBpbWctZmx1aWQgaWNvbi00MCBpY29uLWxnLTQ4IGFsaWduLW1pZGRsZSIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL3dlYmluYXJzLnN2ZyIgYWx0PSJXRUJJTkFSUyIgdGl0bGU9IldFQklOQVJTIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWxpZ24tbWlkZGxlIHdoaXRlc3BhY2Utbm8td3JhcCBtbC0yIj5XRUJJTkFSUzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ub25lIGQtbGctYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQgY29sLWxnLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJOZXcgRWJvb2siIGhyZWY9IiMiIGNsYXNzPSJsaW5rLWRhcmsgdGV4dC1kZWNvcmF0aW9uLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImxhenkgaW1nLWZsdWlkIGljb24tNDAgaWNvbi1sZy00OCBhbGlnbi1taWRkbGUiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9pY29ucy9lYm9vay5zdmciIGFsdD0iTkVXIEVCT09LIiB0aXRsZT0iTkVXIEVCT09LIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWxpZ24tbWlkZGxlIHdoaXRlc3BhY2Utbm8td3JhcCBtbC0yIj5ORVcgRUJPT0s8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0gYWN0aXZlIGRyb3Bkb3duIGRyb3Bkb3duLWhvdmVyLXhsIHBvc2l0aW9uLXN0YXRpYyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IlBsYXRmb3JtcyIgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIjZHJvcGRvd24tcGxhdGZvcm1zIiBpZD0ibmF2YmFyRHJvcGRvd24iIHJvbGU9ImJ1dHRvbiIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LXRpdGxlIj5QbGF0Zm9ybXM8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tdG9nZ2xlIGljb24tdG9nZ2xlLXBsdXMtbWludXMiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtZnVsbCByb3VuZGVkLTAgbWItMCIgYXJpYS1sYWJlbGxlZGJ5PSJuYXZiYXJEcm9wZG93biI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyB0ZXh0LTE0IHAtMiBwLWxnLTQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLWxnLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0iZm9udC13ZWlnaHQtYm9sZCB0ZXh0LWRhcmsgbWItMiI+VFJBRElORyBQTEFURk9STVM8L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJNZXRhdHJhZGVyIDUiIGNsYXNzPSJkLWJsb2NrIGxpbmstZGFyayIgaHJlZj0iL0hvbWUvTWV0YVRyYWRlcjUiIHRhYmluZGV4PSItMSIgYXJpYS1kaXNhYmxlZD0idHJ1ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGFUcmFkZXIgNQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iTWV0YXRyYWRlciA0IiBjbGFzcz0iZC1ibG9jayBsaW5rLWRhcmsiIGhyZWY9Ii9Ib21lL01ldGFUcmFkZXI0IiB0YWJpbmRleD0iLTEiIGFyaWEtZGlzYWJsZWQ9InRydWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRhVHJhZGVyIDQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9Ik1ldGF0cmFkZXIgV2VidHJhZGVyIFBsYXRmb3JtIiBjbGFzcz0iZC1ibG9jayBsaW5rLWRhcmsiIGhyZWY9Ii9Ib21lL01ldGFUcmFkZXJXZWIiIHRhYmluZGV4PSItMSIgYXJpYS1kaXNhYmxlZD0idHJ1ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGFUcmFkZXIgV2ViVHJhZGVyIFBsYXRmb3JtDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbC1sZy0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9ImZvbnQtd2VpZ2h0LWJvbGQgdGV4dC1kYXJrIG10LTMgbXQtbWQtMCBtYi0yIj48L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJmb250LXdlaWdodC1ib2xkIHRleHQtZGFyayBtdC0zIG10LW1kLTAgbWItMiBjdXJzb3ItZGVmYXVsdCI+PC9oNT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIGNvbC1sZy0zIGQtbm9uZSBkLW1kLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHIgY2xhc3M9ImQtYmxvY2sgZC1sZy1ub25lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIGJvcmRlci1sZy1sZWZ0IHB0LWxnLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNCBjb2wtbGctMTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IiQyMCBXZWxjb21lIEFjY291bnQiIGhyZWY9IiMiIGNsYXNzPSJsaW5rLWRhcmsgdGV4dC1kZWNvcmF0aW9uLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImxhenkgaW1nLWZsdWlkIGljb24tNDAgaWNvbi1sZy00OCBhbGlnbi1taWRkbGUiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9pY29ucy9ib251cy5zdmciIGFsdD0iJDIwIFdlbGNvbWUgQWNjb3VudCIgdGl0bGU9IiQyMCBXZWxjb21lIEFjY291bnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbGlnbi1taWRkbGUgd2hpdGVzcGFjZS1uby13cmFwIG1sLTIiPiQyMCBXZWxjb21lIEFjY291bnQ8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ub25lIGQtbGctYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQgY29sLWxnLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJXZWJpbmFycyIgaHJlZj0iIyIgY2xhc3M9ImxpbmstZGFyayB0ZXh0LWRlY29yYXRpb24tbm9uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ibGF6eSBpbWctZmx1aWQgaWNvbi00MCBpY29uLWxnLTQ4IGFsaWduLW1pZGRsZSIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL3dlYmluYXJzLnN2ZyIgYWx0PSJXRUJJTkFSUyIgdGl0bGU9IldFQklOQVJTIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWxpZ24tbWlkZGxlIHdoaXRlc3BhY2Utbm8td3JhcCBtbC0yIj5XRUJJTkFSUzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ub25lIGQtbGctYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQgY29sLWxnLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJOZXcgRWJvb2siIGhyZWY9IiMiIGNsYXNzPSJsaW5rLWRhcmsgdGV4dC1kZWNvcmF0aW9uLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImxhenkgaW1nLWZsdWlkIGljb24tNDAgaWNvbi1sZy00OCBhbGlnbi1taWRkbGUiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9pY29ucy9lYm9vay5zdmciIGFsdD0iTkVXIEVCT09LIiB0aXRsZT0iTkVXIEVCT09LIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWxpZ24tbWlkZGxlIHdoaXRlc3BhY2Utbm8td3JhcCBtbC0yIj5ORVcgRUJPT0s8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSBhY3RpdmUgZHJvcGRvd24gZHJvcGRvd24taG92ZXIteGwgcG9zaXRpb24tc3RhdGljIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iUHJvbW90aW9ucyIgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIjZHJvcGRvd24tcHJvbW90aW9ucyIgaWQ9Im5hdmJhckRyb3Bkb3duIiByb2xlPSJidXR0b24iIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS10aXRsZSI+U3VwcG9ydDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi10b2dnbGUgaWNvbi10b2dnbGUtcGx1cy1taW51cyI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1mdWxsIHJvdW5kZWQtMCBtYi0wIiBhcmlhLWxhYmVsbGVkYnk9Im5hdmJhckRyb3Bkb3duIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IHRleHQtMTQgcC0yIHAtbGctNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJmb250LXdlaWdodC1ib2xkIHRleHQtZGFyayBtYi0yIj5IZWxwLUZBUXM8L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJUcmFkZXIgT2YgVGhlIE1vbnRoIiBjbGFzcz0iZC1ibG9jayBsaW5rLWRhcmsiIGhyZWY9Ii9Ib21lL0NvbnRhY3QiIHRhYmluZGV4PSItMSIgYXJpYS1kaXNhYmxlZD0idHJ1ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgVXMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IklGWEJyb2tlcnNUcmFkZXMncyBOZnAgTWFjaGluZSIgY2xhc3M9ImQtYmxvY2sgbGluay1kYXJrIiBocmVmPSIvSG9tZS9GQVFzIiB0YWJpbmRleD0iLTEiIGFyaWEtZGlzYWJsZWQ9InRydWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQVFzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLWxnLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0iZm9udC13ZWlnaHQtYm9sZCB0ZXh0LWRhcmsgbXQtMyBtdC1tZC0wIG1iLTIiPjwvaDU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbC1sZy0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9ImZvbnQtd2VpZ2h0LWJvbGQgdGV4dC1kYXJrIG10LTMgbXQtbWQtMCBtYi0yIGN1cnNvci1kZWZhdWx0Ij48L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIgY29sLWxnLTMgZC1ub25lIGQtbWQtYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ibG9jayBkLWxnLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgYm9yZGVyLWxnLWxlZnQgcHQtbGctMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC00IGNvbC1sZy0xMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iJDIwIFdlbGNvbWUgQWNjb3VudCIgaHJlZj0iIyIgY2xhc3M9ImxpbmstZGFyayB0ZXh0LWRlY29yYXRpb24tbm9uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ibGF6eSBpbWctZmx1aWQgaWNvbi00MCBpY29uLWxnLTQ4IGFsaWduLW1pZGRsZSIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL2JvbnVzLnN2ZyIgYWx0PSIkMjAgV2VsY29tZSBBY2NvdW50IiB0aXRsZT0iJDIwIFdlbGNvbWUgQWNjb3VudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFsaWduLW1pZGRsZSB3aGl0ZXNwYWNlLW5vLXdyYXAgbWwtMiI+JDIwIFdlbGNvbWUgQWNjb3VudDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ub25lIGQtbGctYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQgY29sLWxnLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJXZWJpbmFycyIgaHJlZj0iIyIgY2xhc3M9ImxpbmstZGFyayB0ZXh0LWRlY29yYXRpb24tbm9uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ibGF6eSBpbWctZmx1aWQgaWNvbi00MCBpY29uLWxnLTQ4IGFsaWduLW1pZGRsZSIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL3dlYmluYXJzLnN2ZyIgYWx0PSJXRUJJTkFSUyIgdGl0bGU9IldFQklOQVJTIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWxpZ24tbWlkZGxlIHdoaXRlc3BhY2Utbm8td3JhcCBtbC0yIj5XRUJJTkFSUzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ub25lIGQtbGctYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQgY29sLWxnLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJOZXcgRWJvb2siIGhyZWY9IiMiIGNsYXNzPSJsaW5rLWRhcmsgdGV4dC1kZWNvcmF0aW9uLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImxhenkgaW1nLWZsdWlkIGljb24tNDAgaWNvbi1sZy00OCBhbGlnbi1taWRkbGUiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9pY29ucy9lYm9vay5zdmciIGFsdD0iTkVXIEVCT09LIiB0aXRsZT0iTkVXIEVCT09LIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWxpZ24tbWlkZGxlIHdoaXRlc3BhY2Utbm8td3JhcCBtbC0yIj5ORVcgRUJPT0s8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0gYWN0aXZlIGRyb3Bkb3duIGRyb3Bkb3duLWhvdmVyLXhsIHBvc2l0aW9uLXN0YXRpYyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IlBhcnRuZXJzaGlwcyIgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIjZHJvcGRvd24tcGFydG5lcnNoaXBzIiBpZD0ibmF2YmFyRHJvcGRvd24iIHJvbGU9ImJ1dHRvbiIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LXRpdGxlIj5QYXJ0bmVyc2hpcHM8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tdG9nZ2xlIGljb24tdG9nZ2xlLXBsdXMtbWludXMiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtZnVsbCByb3VuZGVkLTAgbWItMCIgYXJpYS1sYWJlbGxlZGJ5PSJuYXZiYXJEcm9wZG93biI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyB0ZXh0LTE0IHAtMiBwLWxnLTQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLWxnLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0iZm9udC13ZWlnaHQtYm9sZCB0ZXh0LWRhcmsgbWItMiI+UEFSVE5FUlNISVA8L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJJbnRyb2R1Y2luZyBCcm9rZXIiIGNsYXNzPSJkLWJsb2NrIGxpbmstZGFyayIgaHJlZj0iL0hvbWUvQnJva2VyIiB0YWJpbmRleD0iLTEiIGFyaWEtZGlzYWJsZWQ9InRydWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRyb2R1Y2luZyBCcm9rZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9Ik11bHRpIEFjY291bnQgTWFuYWdlciIgY2xhc3M9ImQtYmxvY2sgbGluay1kYXJrIiBocmVmPSIvSG9tZS9NdWx0aV9BY2NvdW50X01hbmFnZXIiIHRhYmluZGV4PSItMSIgYXJpYS1kaXNhYmxlZD0idHJ1ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpIEFjY291bnQgTWFuYWdlcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJmb250LXdlaWdodC1ib2xkIHRleHQtZGFyayBtdC0zIG10LW1kLTAgbWItMiI+PC9oNT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLWxnLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0iZm9udC13ZWlnaHQtYm9sZCB0ZXh0LWRhcmsgbXQtMyBtdC1tZC0wIG1iLTIgY3Vyc29yLWRlZmF1bHQiPjwvaDU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiBjb2wtbGctMyBkLW5vbmUgZC1tZC1ibG9jayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJkLWJsb2NrIGQtbGctbm9uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGFsaWduLWl0ZW1zLWNlbnRlciBib3JkZXItbGctbGVmdCBwdC1sZy0yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQgY29sLWxnLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSIkMjAgV2VsY29tZSBBY2NvdW50IiBocmVmPSIjIiBjbGFzcz0ibGluay1kYXJrIHRleHQtZGVjb3JhdGlvbi1ub25lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJsYXp5IGltZy1mbHVpZCBpY29uLTQwIGljb24tbGctNDggYWxpZ24tbWlkZGxlIiBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIgZGF0YS1zcmM9Imh0dHBzOi8vZDFmeWp0cnNsNzF1aC5jbG91ZGZyb250Lm5ldC9pbWFnZXMvaWNvbnMvYm9udXMuc3ZnIiBhbHQ9IiQyMCBXZWxjb21lIEFjY291bnQiIHRpdGxlPSIkMjAgV2VsY29tZSBBY2NvdW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWxpZ24tbWlkZGxlIHdoaXRlc3BhY2Utbm8td3JhcCBtbC0yIj4kMjAgV2VsY29tZSBBY2NvdW50PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJkLW5vbmUgZC1sZy1ibG9jayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNCBjb2wtbGctMTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IldlYmluYXJzIiBocmVmPSIjIiBjbGFzcz0ibGluay1kYXJrIHRleHQtZGVjb3JhdGlvbi1ub25lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJsYXp5IGltZy1mbHVpZCBpY29uLTQwIGljb24tbGctNDggYWxpZ24tbWlkZGxlIiBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIgZGF0YS1zcmM9Imh0dHBzOi8vZDFmeWp0cnNsNzF1aC5jbG91ZGZyb250Lm5ldC9pbWFnZXMvaWNvbnMvd2ViaW5hcnMuc3ZnIiBhbHQ9IldFQklOQVJTIiB0aXRsZT0iV0VCSU5BUlMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbGlnbi1taWRkbGUgd2hpdGVzcGFjZS1uby13cmFwIG1sLTIiPldFQklOQVJTPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJkLW5vbmUgZC1sZy1ibG9jayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNCBjb2wtbGctMTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9Ik5ldyBFYm9vayIgaHJlZj0iIyIgY2xhc3M9ImxpbmstZGFyayB0ZXh0LWRlY29yYXRpb24tbm9uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ibGF6eSBpbWctZmx1aWQgaWNvbi00MCBpY29uLWxnLTQ4IGFsaWduLW1pZGRsZSIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL2Vib29rLnN2ZyIgYWx0PSJORVcgRUJPT0siIHRpdGxlPSJORVcgRUJPT0siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbGlnbi1taWRkbGUgd2hpdGVzcGFjZS1uby13cmFwIG1sLTIiPk5FVyBFQk9PSzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSBhY3RpdmUgZHJvcGRvd24gZHJvcGRvd24taG92ZXIteGwgcG9zaXRpb24tc3RhdGljIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iQWJvdXQgVXMiIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iI2Ryb3Bkb3duLWFib3V0LXVzIiBpZD0ibmF2YmFyRHJvcGRvd24iIHJvbGU9ImJ1dHRvbiIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LXRpdGxlIj5BYm91dCBVczwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi10b2dnbGUgaWNvbi10b2dnbGUtcGx1cy1taW51cyI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1mdWxsIHJvdW5kZWQtMCBtYi0wIiBhcmlhLWxhYmVsbGVkYnk9Im5hdmJhckRyb3Bkb3duIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IHRleHQtMTQgcC0yIHAtbGctNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJmb250LXdlaWdodC1ib2xkIHRleHQtZGFyayBtYi0yIj5BQk9VVCBJRlhCcm9rZXJzVHJhZGVzPC9oNT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iV2h5IElGWEJyb2tlcnNUcmFkZXM/IiBjbGFzcz0iZC1ibG9jayBsaW5rLWRhcmsiIGhyZWY9Ii9Ib21lL1doeV9JRlhCcm9rZXJzVHJhZGVzIiB0YWJpbmRleD0iLTEiIGFyaWEtZGlzYWJsZWQ9InRydWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaHkgSUZYQnJva2Vyc1RyYWRlcz8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJBd2FyZHMiIGNsYXNzPSJkLWJsb2NrIGxpbmstZGFyayIgaHJlZj0iL0hvbWUvQXdhcmRzIiB0YWJpbmRleD0iLTEiIGFyaWEtZGlzYWJsZWQ9InRydWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBd2FyZHMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbC1sZy0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9ImZvbnQtd2VpZ2h0LWJvbGQgdGV4dC1kYXJrIG10LTMgbXQtbWQtMCBtYi0yIGN1cnNvci1kZWZhdWx0Ij48L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIgY29sLWxnLTMgZC1ub25lIGQtbWQtYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ibG9jayBkLWxnLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgYm9yZGVyLWxnLWxlZnQgcHQtbGctMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC00IGNvbC1sZy0xMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iJDIwIFdlbGNvbWUgQWNjb3VudCIgaHJlZj0iIyIgY2xhc3M9ImxpbmstZGFyayB0ZXh0LWRlY29yYXRpb24tbm9uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ibGF6eSBpbWctZmx1aWQgaWNvbi00MCBpY29uLWxnLTQ4IGFsaWduLW1pZGRsZSIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL2JvbnVzLnN2ZyIgYWx0PSIkMjAgV2VsY29tZSBBY2NvdW50IiB0aXRsZT0iJDIwIFdlbGNvbWUgQWNjb3VudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFsaWduLW1pZGRsZSB3aGl0ZXNwYWNlLW5vLXdyYXAgbWwtMiI+JDIwIFdlbGNvbWUgQWNjb3VudDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ub25lIGQtbGctYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQgY29sLWxnLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJXZWJpbmFycyIgaHJlZj0iIyIgY2xhc3M9ImxpbmstZGFyayB0ZXh0LWRlY29yYXRpb24tbm9uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ibGF6eSBpbWctZmx1aWQgaWNvbi00MCBpY29uLWxnLTQ4IGFsaWduLW1pZGRsZSIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL3dlYmluYXJzLnN2ZyIgYWx0PSJXRUJJTkFSUyIgdGl0bGU9IldFQklOQVJTIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWxpZ24tbWlkZGxlIHdoaXRlc3BhY2Utbm8td3JhcCBtbC0yIj5XRUJJTkFSUzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZC1ub25lIGQtbGctYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQgY29sLWxnLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJOZXcgRWJvb2siIGhyZWY9IiMiIGNsYXNzPSJsaW5rLWRhcmsgdGV4dC1kZWNvcmF0aW9uLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImxhenkgaW1nLWZsdWlkIGljb24tNDAgaWNvbi1sZy00OCBhbGlnbi1taWRkbGUiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9pY29ucy9lYm9vay5zdmciIGFsdD0iTkVXIEVCT09LIiB0aXRsZT0iTkVXIEVCT09LIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWxpZ24tbWlkZGxlIHdoaXRlc3BhY2Utbm8td3JhcCBtbC0yIj5ORVcgRUJPT0s8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0gYWN0aXZlIGRyb3Bkb3cgcG9zaXRpb24tc3RhdGljIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBpZD0iZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50Ij4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCBkLWlubGluZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iTG9naW4gQWNjb3VudCIgaHJlZj0iL0FjY291bnQvTG9naW4iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgc21hbGwtMiByb3VuZGVkLTAgbXItMSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gQWNjb3VudA0KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IkNyZWF0ZSBBY2NvdW50IiBocmVmPSIvQWNjb3VudC9SZWdpc3RlciIgY2xhc3M9ImJ0biBidG4tc3VjY2VzcyBzbWFsbC0yIHJvdW5kZWQtMCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIEFjY291bnQNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L25hdj4NCiAgICA8L2Rpdj4NCiAgICA8bWFpbiBpZD0iYXBwIiBjbGFzcz0iZHJvcGRvd24taG92ZXItaGlkZSI+DQogICAgPHNlY3Rpb24gY2xhc3M9Imhlcm8tc2xpZGVyIHBvc2l0aW9uLXN0aWNreSB0b3AtMCI+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLWhlcm8tc2xpZGVyIHN3aXBlciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItd3JhcHBlciI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXNsaWRlIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tcmVsYXRpdmUgcHktNyBwdC1tZC04IHBiLW1kLTYgYmctY2VudGVyIGgtMTAwIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvLzA1LW10NS1oZXJvLmpwZycpOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1hYnNvbHV0ZSB3LTEwMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRvcC0wIGgtMTAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgdGV4dC13aGl0ZSBtYi0yIG1iLW1kLTUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9InRleHQtbGcgZm9udC13ZWlnaHQtbm9ybWFsIHRleHQtc2hhZG93IGxpbmUtaGVpZ2h0LTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0YVRyYWRlciA1DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYi0yIG1iLW1kLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC0xOSB0ZXh0LW1kLTIzIGZvbnQtd2VpZ2h0LW5vcm1hbCI+VHJhZGUgb24gdGhlIG5leHQgZ2VuZXJhdGlvbiBvZiB0cmFkaW5nIHBsYXRmb3Jtcy48L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiBjb2wtbWQtNSBjb2wtbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IkNyZWF0ZSBBY2NvdW50IiBocmVmPSIvQWNjb3VudC9SZWdpc3RlciIgY2xhc3M9ImJ0biBidG4tc3VjY2VzcyBidG4tbGcgdGV4dC0xNSB0ZXh0LWxnLTE3IHRleHQtd2hpdGUgcm91bmRlZC0wIHctMTAwIG1iLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGUgQWNjb3VudA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1yZWxhdGl2ZSBweS03IHB0LW1kLTggcGItbWQtNiBiZy1jZW50ZXIgaC0xMDAiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy8wMS1oZXJvLWFjdWl0eS5qcGcnKTsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tYWJzb2x1dGUgdy0xMDAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0b3AtMCBoLTEwMCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHRleHQtd2hpdGUgbWItMiBtYi1tZC01Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LWxnIGZvbnQtd2VpZ2h0LW5vcm1hbCB0ZXh0LXNoYWRvdyBsaW5lLWhlaWdodC0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjdWl0eSBUcmFkaW5nIFRvb2wNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IG1iLTIgbWItbWQtMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctOCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LTE5IHRleHQtbWQtMjMgZm9udC13ZWlnaHQtbm9ybWFsIj5VbmxlYXNoIHlvdXIgdHJhZGluZyBwcm93ZXNzIHdpdGggbWFya2V0IHNlbnRpbWVudCBkaXJlY3RseSBmcm9tIHRoZSBEb3cgSm9uZXMgbmV3cyBmZWVkLjwvaDQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYi0yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02IGNvbC1tZC01IGNvbC1sZy0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iQ3JlYXRlIEFjY291bnQiIGhyZWY9Ii9BY2NvdW50L1JlZ2lzdGVyIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIGJ0bi1sZyB0ZXh0LTE1IHRleHQtbGctMTcgdGV4dC13aGl0ZSByb3VuZGVkLTAgdy0xMDAgbWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSBBY2NvdW50DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1zbGlkZSI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBvc2l0aW9uLXJlbGF0aXZlIHB5LTcgcHQtbWQtOCBwYi1tZC02IGJnLWNlbnRlciBoLTEwMCIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzLzAyLWhlcm8tZnV0dXJlcy5qcGcnKTsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tYWJzb2x1dGUgdy0xMDAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0b3AtMCBoLTEwMCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHRleHQtd2hpdGUgbWItMiBtYi1tZC01Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LWxnIGZvbnQtd2VpZ2h0LW5vcm1hbCB0ZXh0LXNoYWRvdyBsaW5lLWhlaWdodC0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZVVFVSRVMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IG1iLTIgbWItbWQtMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctOCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LTE5IHRleHQtbWQtMjMgZm9udC13ZWlnaHQtbm9ybWFsIj5Db25uZWN0IGRpcmVjdGx5IHRvIHRoZSB3b3JsZCBvZiBGdXR1cmVzIHdpdGggbm8gZnJpbGxzIHZpYSByZWd1bGF0ZWQgdHJhZGluZyBleGNoYW5nZXMgaW5jbHVkaW5nIHRoZSB3b3JsZCBsZWFkaW5nIENNRSBHcm91cC48L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iQ3JlYXRlIEFjY291bnQiIGhyZWY9Ii9BY2NvdW50L1JlZ2lzdGVyIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIGJ0bi1sZyB0ZXh0LTE1IHRleHQtbGctMTcgdGV4dC13aGl0ZSByb3VuZGVkLTAgdy0xMDAgbWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIEFjY291bnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXNsaWRlIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tcmVsYXRpdmUgcHktNyBwdC1tZC04IHBiLW1kLTYgYmctY2VudGVyIGgtMTAwIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvMDQtZm9yZXgtY2Zkcy1oZXJvLmpwZycpOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1hYnNvbHV0ZSB3LTEwMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRvcC0wIGgtMTAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgdGV4dC13aGl0ZSBtYi0yIG1iLW1kLTUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9InRleHQtbGcgZm9udC13ZWlnaHQtbm9ybWFsIHRleHQtc2hhZG93IGxpbmUtaGVpZ2h0LTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk9SRVggJiBDRkRzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYi0yIG1iLW1kLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC0xOSB0ZXh0LW1kLTIzIGZvbnQtd2VpZ2h0LW5vcm1hbCI+R2V0IGRpcmVjdCBhY2Nlc3MgdG8gYSByYW5nZSBvZiBDRkQgaW5zdHJ1bWVudHMgd2l0aCBzb21lIG9mIHRoZSBsb3dlc3Qgc3ByZWFkcyBhdmFpbGFibGUgb24gdGhlIG1hcmtldC48L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiBjb2wtbWQtNSBjb2wtbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IkNyZWF0ZSBBY2NvdW50IiBocmVmPSIvQWNjb3VudC9SZWdpc3RlciIgY2xhc3M9ImJ0biBidG4tc3VjY2VzcyBidG4tbGcgdGV4dC0xNSB0ZXh0LWxnLTE3IHRleHQtd2hpdGUgcm91bmRlZC0wIHctMTAwIG1iLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGUgQWNjb3VudA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1yZWxhdGl2ZSBweS03IHB0LW1kLTggcGItbWQtNiBiZy1jZW50ZXIgaC0xMDAiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9tZy5qcGcnKTsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zaXRpb24tYWJzb2x1dGUgdy0xMDAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0b3AtMCBoLTEwMCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHRleHQtd2hpdGUgbWItMiBtYi1tZC01Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LWxnIGZvbnQtd2VpZ2h0LW5vcm1hbCB0ZXh0LXNoYWRvdyBsaW5lLWhlaWdodC0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElGWEJyb2tlcnNUcmFkZXMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IG1iLTIgbWItbWQtMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctOCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LTE5IHRleHQtbWQtMjMgZm9udC13ZWlnaHQtbm9ybWFsIj5Kb2luIGFuIGV2ZXItZ3Jvd2luZyB3b3JsZCBvZiBtYXJrZXQgaW5zaWdodHMgYW5kIG5ld3MgZGVsaXZlcmVkIGJ5IG91ciB0ZWFtIG9mIGV4cGVydCBhbmFseXN0cy48L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiBjb2wtbWQtNSBjb2wtbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IkNyZWF0ZSBBY2NvdW50IiBocmVmPSIvQWNjb3VudC9SZWdpc3RlciIgY2xhc3M9ImJ0biBidG4tc3VjY2VzcyBidG4tbGcgdGV4dC0xNSB0ZXh0LWxnLTE3IHRleHQtd2hpdGUgcm91bmRlZC0wIHctMTAwIG1iLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGUgQWNjb3VudA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXBhZ2luYXRpb24gYmctZGFyayI+PC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1hYnNvbHV0ZSBib3R0b20tMCB3LTEwMCBwYi0zIHBiLW1kLTAiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1sZyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlciBnYWxsZXJ5LXRodW1icyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbm8tZ3V0dGVycyB0ZXh0LWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHN3aXBlci13cmFwcGVyIGN1cnNvci1wb2ludGVyIHRleHQtd2hpdGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1zbGlkZSBjb2wtMSBjb2wtbWQgdy0xMDAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtbWggY2xhc3M9Im5hdi1zbGlkZSBkLW5vbmUgZC1tZC1mbGV4IGgtMTAwIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHB5LTIgcHktbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTIgcC1sZy0xIj5NZXRhVHJhZGVyIDU8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtbWQtbm9uZSI+PGkgY2xhc3M9ImZhcyBmYS1jaXJjbGUgdGV4dC0xMSI+PC9pPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1zbGlkZSBjb2wtMSBjb2wtbWQgdy0xMDAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtbWggY2xhc3M9Im5hdi1zbGlkZSBkLW5vbmUgZC1tZC1mbGV4IGgtMTAwIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHB5LTIgcHktbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTIgcC1sZy0xIj5BY3VpdHk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtbWQtbm9uZSI+PGkgY2xhc3M9ImZhcyBmYS1jaXJjbGUgdGV4dC0xMSI+PC9pPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1zbGlkZSBjb2wtMSBjb2wtbWQgdy0xMDAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtbWggY2xhc3M9Im5hdi1zbGlkZSBkLW5vbmUgZC1tZC1mbGV4IGgtMTAwIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHB5LTIgcHktbGctMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTIgcC1sZy0xIj5GdXR1cmVzPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLW1kLW5vbmUiPjxpIGNsYXNzPSJmYXMgZmEtY2lyY2xlIHRleHQtMTEiPjwvaT48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUgY29sLTEgY29sLW1kIHctMTAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLW1oIGNsYXNzPSJuYXYtc2xpZGUgZC1ub25lIGQtbWQtZmxleCBoLTEwMCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBweS0yIHB5LWxnLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC0yIHAtbGctMSI+Rm9yZXggJiBDRkRzPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLW1kLW5vbmUiPjxpIGNsYXNzPSJmYXMgZmEtY2lyY2xlIHRleHQtMTEiPjwvaT48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUgY29sLTEgY29sLW1kIHctMTAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLW1oIGNsYXNzPSJuYXYtc2xpZGUgZC1ub25lIGQtbWQtZmxleCBoLTEwMCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBweS0yIHB5LWxnLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC0yIHAtbGctMSI+QmxvZzwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1tZC1ub25lIj48aSBjbGFzcz0iZmFzIGZhLWNpcmNsZSB0ZXh0LTExIj48L2k+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9zZWN0aW9uPg0KICAgIDxzZWN0aW9uIGNsYXNzPSJwb3NpdGlvbi1yZWxhdGl2ZSB6LWluZGV4LTEiPg0KICAgICAgICA8c2VjdGlvbiBpZD0ic2VjdGlvbi1pbnN0cnVtZW50cyIgY2xhc3M9ImJnLXdoaXRlIG92ZXJmbG93LWhpZGRlbiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgcHktNSI+DQogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJyZWRhY3Rvci10aXRsZSB0ZXh0LTIwIHRleHQtc20tMjggdGV4dC1tZC0zNiBmb250LXdlaWdodC1ub3JtYWwgdGV4dC1jZW50ZXIgbWItNSI+DQogICAgICAgICAgICAgICAgICAgIEFjY2VzcyBzb21lIG9mIHRoZSBtb3N0PGJyIC8+DQogICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+PHJlZD5QT1BVTEFSIElOU1RSVU1FTlRTPC9yZWQ+PC9zdHJvbmc+PGJyIC8+DQogICAgICAgICAgICAgICAgICAgIG9uIHRoZSBNYXJrZXQ8YnIgLz4NCiAgICAgICAgICAgICAgICA8L2gyPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC01IGNvbC1sZy02IG9yZGVyLTEgb3JkZXItbWQtMCB0ZXh0LWNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJ2ZWwtZGV2aWNlIGlwaG9uZS14IG1iLTMiIHN0eWxlPSJmb250LXNpemU6IDAuNnJlbTsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5vdGNoIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FtZXJhIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYWtlciI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wLWJhciI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2xlZXAiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS1iYXIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZvbHVtZSI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3cgZC1ub25lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZG93IHNoYWRvdy0tdHIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaGFkb3cgc2hhZG93LS10bCI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdyBzaGFkb3ctLWJyIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZG93IHNoYWRvdy0tYmwiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLXNoYWRvdyBkLW5vbmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcmVlbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcm91c2VsLWluc3RydW1lbnRzIiBjbGFzcz0iY2Fyb3VzZWwgc2xpZGUgY2Fyb3VzZWwtZmFkZSIgZGF0YS1pbnRlcnZhbD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtaW5uZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcm91c2VsLWl0ZW0gYWN0aXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIgZGF0YS1zcmM9Ii4uLy4uL2ltYWdlcy9tdDQtc2NyZWVuLWdlbmVyaWMtZml4ZWQuanBnIiBjbGFzcz0iZC1ibG9jayBsYXp5IHctMTAwIiBhbHQ9IkFjY2VzcyBTb21lIG9mIHRoZSBNb3N0IFBvcHVsYXIgSW5zdHJ1bWVudHMgb24gdGhlIE1hcmtldCIgdGl0bGU9IkFjY2VzcyBTb21lIG9mIHRoZSBNb3N0IFBvcHVsYXIgSW5zdHJ1bWVudHMgb24gdGhlIE1hcmtldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtaXRlbSAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9ob21lLWNxZy1wbGF0Zm9ybS1zY3JlZW4ucG5nIiBjbGFzcz0iZC1ibG9jayBsYXp5IHctMTAwIiBhbHQ9IkFjY2VzcyBTb21lIG9mIHRoZSBNb3N0IFBvcHVsYXIgSW5zdHJ1bWVudHMgb24gdGhlIE1hcmtldCIgdGl0bGU9IkFjY2VzcyBTb21lIG9mIHRoZSBNb3N0IFBvcHVsYXIgSW5zdHJ1bWVudHMgb24gdGhlIE1hcmtldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtYWxsLTQiPipUaGUgY2hhcnQgaXMgc2hvd24gZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMgb25seS48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC03IGNvbC1sZy02Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdi1waWxscyBib3JkZXItYm90dG9tLTAganVzdGlmeS1jb250ZW50LWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtbWQtc3RhcnQgbWItNCIgaWQ9InRhYi1pbnN0cnVtZW50cyIgcm9sZT0idGFibGlzdCI+PC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50IG1iLTQiIGlkPSJ0YWItY29udGVudC1pbnN0cnVtZW50cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUgc2hvdyBhY3RpdmUiIGlkPSJ0YWItaW5zdHJ1bWVudHMtMSIgcm9sZT0idGFicGFuZWwiIGFyaWEtbGFiZWxsZWRieT0idGFiLWluc3RydW1lbnRzLTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSBwb3NpdGlvbi1yZWxhdGl2ZSBwdC0yIHB4LTIgYmctaG92ZXItbGlnaHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBkYXRhLXNyYz0iLi4vaW1hZ2VzL2ZvcmV4LnN2ZyIgY2xhc3M9Imljb24tNDggbGF6eSBtci0zIiB3aWR0aD0iNDgiIGFsdD0iRm9yZXgiIHRpdGxlPSJGb3JleCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1ib2R5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9InRleHQtcHJpbWFyeSBtYi0xIj5Gb3JleDwvaDU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1kYXJrIHNtYWxsLTIgbWItMyI+VHJhZGUgNjIgY3VycmVuY3kgcGFpcnMsIGluY2x1ZGluZyB0aGUgbWFqb3JzLCBtaW5vcnMgYW5kIGV4b3RpY3MsIHdpdGggdWx0cmEtbG93IHNwcmVhZHMgYW5kIGZhc3QgZXhlY3V0aW9uLjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9Ib21lL0ZvcmV4IiB0aXRsZT0iRm9yZXgiIGNsYXNzPSJzdHJldGNoZWQtbGluayI+PC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSBwb3NpdGlvbi1yZWxhdGl2ZSBwdC0yIHB4LTIgYmctaG92ZXItbGlnaHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBkYXRhLXNyYz0iLi4vLi4vaW1hZ2VzL2luZGljZXMuc3ZnIiBjbGFzcz0iaWNvbi00OCBsYXp5IG1yLTMiIHdpZHRoPSI0OCIgYWx0PSJTdG9jayBJbmRpY2VzICZhbXA7IE9pbCIgdGl0bGU9IlN0b2NrIEluZGljZXMgJmFtcDsgT2lsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0idGV4dC1wcmltYXJ5IG1iLTEiPlN0b2NrIEluZGljZXMgJiBPaWw8L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtZGFyayBzbWFsbC0yIG1iLTMiPkdldCBhY2Nlc3MgdG8gbWFqb3IgaW50ZXJuYXRpb25hbCBzdG9jayBpbmRpY2VzIGFuZCBPaWwgd2l0aCBubyBjb21taXNzaW9ucyBvciByZXF1b3RlcyBhbmQgbm8gaGlkZGVuIG1hcmstdXBzLjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9Ib21lL1N0b2NrIiB0aXRsZT0iU3RvY2sgSW5kaWNlcyAmIE9pbCIgY2xhc3M9InN0cmV0Y2hlZC1saW5rIj48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhIHBvc2l0aW9uLXJlbGF0aXZlIHB0LTIgcHgtMiBiZy1ob3Zlci1saWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGRhdGEtc3JjPSIuLi8uLi9pbWFnZXMvbWV0YWxzLnN2ZyIgY2xhc3M9Imljb24tNDggbGF6eSBtci0zIiB3aWR0aD0iNDgiIGFsdD0iTWV0YWxzIiB0aXRsZT0iTWV0YWxzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0idGV4dC1wcmltYXJ5IG1iLTEiPk1ldGFsczwvaDU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1kYXJrIHNtYWxsLTIgbWItMyI+U3BlY3VsYXRlIG9uIHRoZSBwcmljZSBtb3ZlbWVudHMgb2YgR29sZCBhbmQgU2lsdmVyIGFnYWluc3QgdGhlIFVTIGRvbGxhciBhbmQgZGl2ZXJzaWZ5IHlvdXIgdHJhZGluZyBwb3J0Zm9saW8uPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL0hvbWUvTWV0YWxzIiB0aXRsZT0iTWV0YWxzIiBjbGFzcz0ic3RyZXRjaGVkLWxpbmsiPjwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEgcG9zaXRpb24tcmVsYXRpdmUgcHQtMiBweC0yIGJnLWhvdmVyLWxpZ2h0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgZGF0YS1zcmM9Ii4uLy4uL2ltYWdlcy9ib25kcy5zdmciIGNsYXNzPSJpY29uLTQ4IGxhenkgbXItMyIgd2lkdGg9IjQ4IiBhbHQ9IkJvbmRzIiB0aXRsZT0iQm9uZHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtYm9keSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJ0ZXh0LXByaW1hcnkgbWItMSI+Qm9uZHM8L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtZGFyayBzbWFsbC0yIG1iLTMiPlRha2UgYWR2YW50YWdlIG9mIHRoZSBpbnZlcnNlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGludGVyZXN0IHJhdGVzIGFuZCBib25kIHByaWNlcyBhbmQgbGV2ZXJhZ2UgdGhlIHN0YWJpbGl0eSBvZiBnb3Zlcm5tZW50IHRyZWFzdXJpZXMuPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL0hvbWUvQm9uZHMiIHRpdGxlPSJCb25kcyIgY2xhc3M9InN0cmV0Y2hlZC1saW5rIj48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhIHBvc2l0aW9uLXJlbGF0aXZlIHB0LTIgcHgtMiBiZy1ob3Zlci1saWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGRhdGEtc3JjPSIuLi8uLi9pbWFnZXMvY3J5cHRvY3VycmVuY2llcy5zdmciIGNsYXNzPSJpY29uLTQ4IGxhenkgbXItMyIgd2lkdGg9IjQ4IiBhbHQ9IkNyeXB0b2N1cnJlbmNpZXMiIHRpdGxlPSJDcnlwdG9jdXJyZW5jaWVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0idGV4dC1wcmltYXJ5IG1iLTEiPkNyeXB0b2N1cnJlbmNpZXM8L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtZGFyayBzbWFsbC0yIG1iLTMiPkdldCBkaXJlY3QgZXhwb3N1cmUgdG8gdGhlIHdvcmxk4oCZcyBsZWFkaW5nIGNyeXB0b2N1cnJlbmNpZXMgaW5jbHVkaW5nIEJpdGNvaW4sIEV0aGVyZXVtIGFuZCBMaXRlY29pbi48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvSG9tZS9DcnlwdG9jdXJyZW5jaWVzIiB0aXRsZT0iQ3J5cHRvY3VycmVuY2llcyIgY2xhc3M9InN0cmV0Y2hlZC1saW5rIj48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIHRleHQtbWQtbGVmdCBwdC0zIHBiLTIgbWItNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iU3RhcnQgVHJhZGluZyIgaHJlZj0iL0FjY291bnQvUmVnaXN0ZXIiIGNsYXNzPSJidG4gYnRuLXN1Y2Nlc3MgbWluLXdpZHRoLTE5MiByb3VuZGVkLTAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IFRyYWRpbmcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDxzZWN0aW9uIGlkPSJzZWN0aW9uLWFjY291bnRzIiBjbGFzcz0iYmctbGlnaHQiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHRleHQtY2VudGVyIHB5LTUiPg0KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0icmVkYWN0b3ItdGl0bGUgZm9udC13ZWlnaHQtbm9ybWFsIHRleHQtMjAgdGV4dC1zbS0yOCB0ZXh0LW1kLTM2IG1iLTMiPg0KICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPjxyZWQ+RVhDRVBUSU9OQUw8L3JlZD48L3N0cm9uZz4gPHN0cm9uZz50cmFkaW5nIGNvbmRpdGlvbnM8L3N0cm9uZz4NCiAgICAgICAgICAgICAgICAgICAgb24gYWxsIGxpdmUgYWNjb3VudHMNCiAgICAgICAgICAgICAgICA8L2gyPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtYWxsLTEgdGV4dC1zZWNvbmRhcnkiPkFjY2VzcyB0aGUgbWFya2V0cyB3aXRoIGFuIGFjY291bnQgc3VpdGFibGUgdG8geW91ciBuZWVkcy48L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXIgc3dpcGVyLWNvdmVyZmxvdyB3LTEwMCBweS01Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXdyYXBwZXIiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUgcHgtMiIgc3R5bGU9IndpZHRoOiAxOC44cmVtOyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1ibG9jayB0ZXh0LXJpZ2h0IG1iLW4xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1pbmxpbmUtYmxvY2sgc21hbGwtNCB0ZXh0LXdoaXRlIGJnLWRhcmsgYm9yZGVyIHJvdW5kZWQtdG9wIHB4LTMgcHktMSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JleCAmIENGRHMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciB0ZXh0LXdoaXRlIHRleHQtbGVmdCBiZy1wcmltYXJ5IHAtMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im1iLTEiPkJBU0lDIEFDQ09VTlQ8L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNtYWxsLTMgbWItMCI+VGFrZSBhZHZhbnRhZ2Ugb2YgdGlnaHQgc3ByZWFkcyBhbmQgY29tcGV0aXRpdmUgY29tbWlzc2lvbnMuPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5IHAtMCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRleHQtbGVmdCBiZy13aGl0ZSBweS0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbWFsbC0xIj5NaW5pbXVtIERlcG9zaXQ8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSBmb250LXdlaWdodC1ib2xkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1sZWZ0IGJnLWdyYXktbGlnaHQgcHktMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSI+QXZhaWxhYmxlIEJhc2UgQ3VycmVuY2llczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbWFsbC0xIGZvbnQtd2VpZ2h0LWJvbGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNEL0VVUi9SU0EvSU5SDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LWxlZnQgYmctd2hpdGUgcHktMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSI+U3ByZWFkcyBGcm9tPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNtYWxsLTEgZm9udC13ZWlnaHQtYm9sZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjAgcGlwcw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJib3R0b20iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IkF0IG1hcmtldCBvcGVuaW5nIGFuZCBjbG9zaW5nIHRpbWVzIGFuZCBwcmlvciB0byBhbm5vdW5jZW1lbnRzLCB0aGUgbWFya2V0IHNwcmVhZCBtYXkgd2lkZW4gc3Vic3RhbnRpYWxseS4gQ29uc2VxdWVudGx5LCB5b3UgbXVzdCBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGZ1bmRzIGluIHlvdXIgYWNjb3VudCB0byBjb3ZlciB0aGlzLiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImN1cnNvci1kZWZhdWx0IHRleHQtd2FybmluZyBmYXMgZmEtcXVlc3Rpb24tY2lyY2xlIj48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LWxlZnQgYmctZ3JheS1saWdodCBweS0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbWFsbC0xIj5NYXggTGV2ZXJhZ2U8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSBmb250LXdlaWdodC1ib2xkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE6NTAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1sZWZ0IHB4LTQgcHktNCBib3JkZXItdG9wIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iQ3JlYXRlIEFjY291bnQiIGhyZWY9Ii9BY2NvdW50L1JlZ2lzdGVyIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIHJvdW5kZWQtMCBidG4tYmxvY2sgcHktMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSBBY2NvdW50DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1zbGlkZSBweC0yIiBzdHlsZT0id2lkdGg6IDE4LjhyZW07Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLWJsb2NrIHRleHQtcmlnaHQgbWItbjEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLWlubGluZS1ibG9jayBzbWFsbC00IHRleHQtd2hpdGUgYmctZGFyayBib3JkZXIgcm91bmRlZC10b3AgcHgtMyBweS0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcmV4ICYgQ0ZEcw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIHRleHQtd2hpdGUgdGV4dC1sZWZ0IGJnLWluZm8gcC0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibWItMSI+U0lMVkVSIEFDQ09VTlQ8L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNtYWxsLTMgbWItMCI+R2V0IGFjY2VzcyB0byBnbG9iYWwgbWFya2V0cyBhbmQgdHJhZGUgY29tbWlzc2lvbi1mcmVlLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSBwLTAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LWxlZnQgYmctd2hpdGUgcHktMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSI+TWluaW11bSBEZXBvc2l0PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNtYWxsLTEgZm9udC13ZWlnaHQtYm9sZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRleHQtbGVmdCBiZy1ncmF5LWxpZ2h0IHB5LTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNtYWxsLTEiPkF2YWlsYWJsZSBCYXNlIEN1cnJlbmNpZXM8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSBmb250LXdlaWdodC1ib2xkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTRC9FVVIvUlNBL0lOUg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1sZWZ0IGJnLXdoaXRlIHB5LTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNtYWxsLTEiPlNwcmVhZHMgRnJvbTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbWFsbC0xIGZvbnQtd2VpZ2h0LWJvbGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS42IHBpcHMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYm90dG9tIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJBdCBtYXJrZXQgb3BlbmluZyBhbmQgY2xvc2luZyB0aW1lcyBhbmQgcHJpb3IgdG8gYW5ub3VuY2VtZW50cywgdGhlIG1hcmtldCBzcHJlYWQgbWF5IHdpZGVuIHN1YnN0YW50aWFsbHkuIENvbnNlcXVlbnRseSwgeW91IG11c3QgZW5zdXJlIHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBmdW5kcyBpbiB5b3VyIGFjY291bnQgdG8gY292ZXIgdGhpcy4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJjdXJzb3ItZGVmYXVsdCB0ZXh0LXdhcm5pbmcgZmFzIGZhLXF1ZXN0aW9uLWNpcmNsZSI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1sZWZ0IGJnLWdyYXktbGlnaHQgcHktMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSI+TWF4IExldmVyYWdlPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNtYWxsLTEgZm9udC13ZWlnaHQtYm9sZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOjUwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbGVmdCBweC00IHB5LTQgYm9yZGVyLXRvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IkNyZWF0ZSBBY2NvdW50IiBocmVmPSIvQWNjb3VudC9SZWdpc3RlciIgY2xhc3M9ImJ0biBidG4tc3VjY2VzcyByb3VuZGVkLTAgYnRuLWJsb2NrIHB5LTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGUgQWNjb3VudA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUgcHgtMiIgc3R5bGU9IndpZHRoOiAxOC44cmVtOyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1ibG9jayB0ZXh0LXJpZ2h0IG1iLW4xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1pbmxpbmUtYmxvY2sgc21hbGwtNCB0ZXh0LXdoaXRlIGJnLWRhcmsgYm9yZGVyIHJvdW5kZWQtdG9wIHB4LTMgcHktMSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JleCAmIENGRHMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciB0ZXh0LXdoaXRlIHRleHQtbGVmdCBiZy1kYW5nZXIgcC0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibWItMSI+UFJFTUlVTSBBQ0NPVU5UPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzbWFsbC0zIG1iLTAiPk1ha2UgdGhlIG1vc3Qgb2YgeW91ciB0cmFkaW5nIHdpdGggdWx0cmEtbG93IHNwcmVhZHMuPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5IHAtMCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRleHQtbGVmdCBiZy13aGl0ZSBweS0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbWFsbC0xIj5NaW5pbXVtIEJhbGFuY2U8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSBmb250LXdlaWdodC1ib2xkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLDAwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1sZWZ0IGJnLWdyYXktbGlnaHQgcHktMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSI+QXZhaWxhYmxlIEJhc2UgQ3VycmVuY2llczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbWFsbC0xIGZvbnQtd2VpZ2h0LWJvbGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNEL0VVUi9SU0EvSU5SDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LWxlZnQgYmctd2hpdGUgcHktMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSI+U3ByZWFkcyBGcm9tPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNtYWxsLTEgZm9udC13ZWlnaHQtYm9sZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjAgcGlwcw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJib3R0b20iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IkF0IG1hcmtldCBvcGVuaW5nIGFuZCBjbG9zaW5nIHRpbWVzIGFuZCBwcmlvciB0byBhbm5vdW5jZW1lbnRzLCB0aGUgbWFya2V0IHNwcmVhZCBtYXkgd2lkZW4gc3Vic3RhbnRpYWxseS4gQ29uc2VxdWVudGx5LCB5b3UgbXVzdCBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGZ1bmRzIGluIHlvdXIgYWNjb3VudCB0byBjb3ZlciB0aGlzLiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImN1cnNvci1kZWZhdWx0IHRleHQtd2FybmluZyBmYXMgZmEtcXVlc3Rpb24tY2lyY2xlIj48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LWxlZnQgYmctZ3JheS1saWdodCBweS0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbWFsbC0xIj5NYXggTGV2ZXJhZ2U8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwtMSBmb250LXdlaWdodC1ib2xkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE6NTAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1sZWZ0IHB4LTQgcHktNCBib3JkZXItdG9wIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iQ3JlYXRlIEFjY291bnQiIGhyZWY9Ii9BY2NvdW50L1JlZ2lzdGVyIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIHJvdW5kZWQtMCBidG4tYmxvY2sgcHktMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSBBY2NvdW50DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItcGFnaW5hdGlvbiI+PC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgbWItNSI+DQogICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJBY2NvdW50cyBPdmVydmlldyIgaHJlZj0iL0hvbWUvQWNjb3VudCIgY2xhc3M9InRleHQtZGFuZ2VyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIEFjY291bnRzIE92ZXJ2aWV3DQogICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8aHIgY2xhc3M9Im1iLTQiPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCiAgICAgICAgPHNlY3Rpb24gaWQ9InNlY3Rpb24tcGxhdGZvcm1zIiBjbGFzcz0iYmctd2hpdGUiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHB5LTUiPg0KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0icmVkYWN0b3ItdGl0bGUgZm9udC13ZWlnaHQtbm9ybWFsIHRleHQtMjAgdGV4dC1zbS0yOCB0ZXh0LW1kLTM2IHRleHQtY2VudGVyIG1iLTMiPg0KICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlRoZSA8cmVkPlVMVElNQVRFPC9yZWQ+IFBsYXRmb3Jtczwvc3Ryb25nPjxiciAvPg0KICAgICAgICAgICAgICAgICAgICBhdCB5b3VyIGRpc3Bvc2FsPGJyIC8+DQogICAgICAgICAgICAgICAgPC9oMj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWRhY3Rvci10aXRsZSBzbWFsbC0yIHRleHQtc2Vjb25kYXJ5IHRleHQtY2VudGVyIG1heC13aWR0aC01NDQgbXgtYXV0byBtYi01Ij4NCiAgICAgICAgICAgICAgICAgICAgT3VyIHRyYWRpbmcgcGxhdGZvcm1zIG9mZmVyIHlvdSBhIHdvcmxkLWNsYXNzIHRyYWRpbmcgZXhwZXJpZW5jZSB3aXRoIG51bWVyb3VzIGZlYXR1cmVzIGFuZCB0b29scyB0aGF0IHN1aXQgeW91ciB0cmFkaW5nIHN0eWxlLg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdi10YWJzLWFycm93IG1iLTQiIGlkPSJ0YWItcGxhdGZvcm1zIiByb2xlPSJ0YWJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSBmbGV4LWZpbGwgdGV4dC0yNCB0ZXh0LXNtLTMyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJNdDUiIGNsYXNzPSJuYXYtbGluayBhY3RpdmUgdGV4dC1jZW50ZXIgIiBpZD0idGFiLXBsYXRmb3Jtcy1hLTEiIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiN0YWItcGxhdGZvcm1zLTEiIHJvbGU9InRhYiIgYXJpYS1jb250cm9scz0idGFiLXBsYXRmb3Jtcy0xIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNVDUNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSBmbGV4LWZpbGwgdGV4dC0yNCB0ZXh0LXNtLTMyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJNdDQiIGNsYXNzPSJuYXYtbGluayAgdGV4dC1jZW50ZXIgIiBpZD0idGFiLXBsYXRmb3Jtcy1hLTIiIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiN0YWItcGxhdGZvcm1zLTIiIHJvbGU9InRhYiIgYXJpYS1jb250cm9scz0idGFiLXBsYXRmb3Jtcy0yIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNVDQNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50IiBpZD0idGFiLWNvbnRlbnQtcGxhdGZvcm1zIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUgc2hvdyBhY3RpdmUiIGlkPSJ0YWItcGxhdGZvcm1zLTEiIHJvbGU9InRhYnBhbmVsIiBhcmlhLWxhYmVsbGVkYnk9InRhYi1wbGF0Zm9ybXMtMSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIHB0LTMgcGItMyBwYi1tZC0wIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyBjb2wtbWQtNyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtaW5saW5lLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZm9udC13ZWlnaHQtbm9ybWFsIHRleHQtbGVmdCB0ZXh0LTIwIHRleHQtc20tMjggbWItNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2V5IEZlYXR1cmVzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LXVuc3R5bGVkIHRleHQtbGVmdCBwYi0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im1iLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWFuZ2xlLXJpZ2h0IHRleHQtZGFuZ2VyIHRleHQtMTggYWxpZ24tbWlkZGxlIG1yLTEiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtMTQgYWxpZ24tbWlkZGxlIj5BZHZhbmNlZCBwZW5kaW5nIG9yZGVyczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYW5nbGUtcmlnaHQgdGV4dC1kYW5nZXIgdGV4dC0xOCBhbGlnbi1taWRkbGUgbXItMSI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC0xNCBhbGlnbi1taWRkbGUiPlN1cGVyaW9yIGFuYWx5c2lzIHRvb2xzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJtYi0yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1hbmdsZS1yaWdodCB0ZXh0LWRhbmdlciB0ZXh0LTE4IGFsaWduLW1pZGRsZSBtci0xIj48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LTE0IGFsaWduLW1pZGRsZSI+RnVsbHkgY3VzdG9taXNhYmxlIGNoYXJ0czwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYW5nbGUtcmlnaHQgdGV4dC1kYW5nZXIgdGV4dC0xOCBhbGlnbi1taWRkbGUgbXItMSI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC0xNCBhbGlnbi1taWRkbGUiPkJ1aWx0LWluIGVjb25vbWljIGNhbGVuZGFyPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTUgY29sLW1kLTUgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJ2ZWwtZGV2aWNlIG5vdGU4IG10LTQgbXQtc20tMCIgc3R5bGU9ImZvbnQtc2l6ZTogMC41cmVtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaGFkb3ciPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVha2VyIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNsZWVwIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZvbHVtZSI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYW1lcmEiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2NyZWVuIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmlkZW8gYXV0b3BsYXkgbXV0ZWQgbG9vcCBjbGFzcz0ibGF6eSBlbWJlZC1yZXNwb25zaXZlIGQtbm9uZSBkLXNtLWJsb2NrIiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9ob21lLW10NC1wbGF0Zm9ybS12aWRlby5tcDQiIHBvc3Rlcj0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9ob21lLW10NC1wbGF0Zm9ybS12aWRlby5tcDQiIHR5cGU9InZpZGVvL21wNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImltZy1mbHVpZCBsYXp5IiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9ob21lLW10NC1wbGF0Zm9ybS1zY3JlZW4ucG5nIiBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIgYWx0PSJUaGUgVWx0aW1hdGUgUGxhdGZvcm1zIGF0IFlvdXIgRGlzcG9zYWwiIHRpdGxlPSJUaGUgVWx0aW1hdGUgUGxhdGZvcm1zIGF0IFlvdXIgRGlzcG9zYWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmlkZW8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLWZsdWlkIGxhenkgZC1zbS1ub25lIiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9ob21lLW10NC1wbGF0Zm9ybS1zY3JlZW4ucG5nIiBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIgYWx0PSJUaGUgVWx0aW1hdGUgUGxhdGZvcm1zIGF0IFlvdXIgRGlzcG9zYWwiIHRpdGxlPSJUaGUgVWx0aW1hdGUgUGxhdGZvcm1zIGF0IFlvdXIgRGlzcG9zYWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSAiIGlkPSJ0YWItcGxhdGZvcm1zLTIiIHJvbGU9InRhYnBhbmVsIiBhcmlhLWxhYmVsbGVkYnk9InRhYi1wbGF0Zm9ybXMtMiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIHB0LTMgcGItMyBwYi1tZC0wIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyBjb2wtbWQtNyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtaW5saW5lLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZm9udC13ZWlnaHQtbm9ybWFsIHRleHQtbGVmdCB0ZXh0LTIwIHRleHQtc20tMjggbWItNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2V5IEZlYXR1cmVzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LXVuc3R5bGVkIHRleHQtbGVmdCBwYi0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im1iLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWFuZ2xlLXJpZ2h0IHRleHQtZGFuZ2VyIHRleHQtMTggYWxpZ24tbWlkZGxlIG1yLTEiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtMTQgYWxpZ24tbWlkZGxlIj5BZHZhbmNlZCBjaGFydGluZyBhbmQgYW5hbHl0aWNhbCB0b29sczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYW5nbGUtcmlnaHQgdGV4dC1kYW5nZXIgdGV4dC0xOCBhbGlnbi1taWRkbGUgbXItMSI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC0xNCBhbGlnbi1taWRkbGUiPlNvcGhpc3RpY2F0ZWQgb3JkZXIgbWFuYWdlbWVudCB0b29sczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYW5nbGUtcmlnaHQgdGV4dC1kYW5nZXIgdGV4dC0xOCBhbGlnbi1taWRkbGUgbXItMSI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC0xNCBhbGlnbi1taWRkbGUiPkV4cGVydCBBZHZpc29ycyBhdmFpbGFibGU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im1iLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWFuZ2xlLXJpZ2h0IHRleHQtZGFuZ2VyIHRleHQtMTggYWxpZ24tbWlkZGxlIG1yLTEiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtMTQgYWxpZ24tbWlkZGxlIj5UcmFkZSBmcm9tIHlvdXIgZGVza3RvcCBvciBtb2JpbGUgZGV2aWNlPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTUgY29sLW1kLTUgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJ2ZWwtZGV2aWNlIG5vdGU4IG10LTQgbXQtc20tMCIgc3R5bGU9ImZvbnQtc2l6ZTogMC41cmVtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaGFkb3ciPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVha2VyIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNsZWVwIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZvbHVtZSI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYW1lcmEiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2NyZWVuIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmlkZW8gYXV0b3BsYXkgbXV0ZWQgbG9vcCBjbGFzcz0ibGF6eSBlbWJlZC1yZXNwb25zaXZlIGQtbm9uZSBkLXNtLWJsb2NrIiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9ob21lLW10NC1wbGF0Zm9ybS12aWRlby5tcDQiIHBvc3Rlcj0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9ob21lLW10NC1wbGF0Zm9ybS12aWRlby5tcDQiIHR5cGU9InZpZGVvL21wNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImltZy1mbHVpZCBsYXp5IiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9ob21lLW10NC1wbGF0Zm9ybS1zY3JlZW4ucG5nIiBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIgYWx0PSJUaGUgVWx0aW1hdGUgUGxhdGZvcm1zIGF0IFlvdXIgRGlzcG9zYWwiIHRpdGxlPSJUaGUgVWx0aW1hdGUgUGxhdGZvcm1zIGF0IFlvdXIgRGlzcG9zYWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmlkZW8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLWZsdWlkIGxhenkgZC1zbS1ub25lIiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9ob21lLW10NC1wbGF0Zm9ybS1zY3JlZW4ucG5nIiBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIgYWx0PSJUaGUgVWx0aW1hdGUgUGxhdGZvcm1zIGF0IFlvdXIgRGlzcG9zYWwiIHRpdGxlPSJUaGUgVWx0aW1hdGUgUGxhdGZvcm1zIGF0IFlvdXIgRGlzcG9zYWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCiAgICAgICAgPHNlY3Rpb24gaWQ9InNlY3Rpb24tc3ByZWFkcyIgY2xhc3M9ImJnLXdoaXRlIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBweS01Ij4NCiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InJlZGFjdG9yLXRpdGxlIGZvbnQtd2VpZ2h0LW5vcm1hbCB0ZXh0LTIwIHRleHQtc20tMjggdGV4dC1tZC0zNiB0ZXh0LWNlbnRlciBtYi0zIj4NCiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5JRlhCcm9rZXJzPHJlZD5UcmFkZXM8L3JlZD48L3N0cm9uZz4NCiAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICA8L2gyPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGFjdG9yLXRpdGxlIHNtYWxsLTIgdGV4dC1zZWNvbmRhcnkgdGV4dC1jZW50ZXIgbWF4LXdpZHRoLTU0NCBteC1hdXRvIG1iLTUiPg0KICAgICAgICAgICAgICAgICAgICBLZWVwIHlvdXIgdHJhZGluZyBjb3N0cyBkb3duIHdpdGggY29tcGV0aXRpdmUgc3ByZWFkcywgY29tbWlzc2lvbnMgYW5kIGxvdyBtYXJnaW5zLiBWaWV3IHNwcmVhZHMgb24gb3VyIG1vc3QgcG9wdWxhciBjYXNoIGluc3RydW1lbnRzIGJlbG93Lg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBvdmVyZmxvdy1oaWRkZW4iPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvZmZzZXQteGwtMSBjb2wteGwtMTAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHF1b3RlcyBpbmxpbmUtdGVtcGxhdGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ByZWFkcy1xdW90ZXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgd2lkdGg9IjEwMCUiIGhlaWdodD0iMzE1IiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3RwNnVGLWJQRzZFP3NpPVdjbkY5aFlwdnlnSW1ub3ciIHRpdGxlPSJZb3VUdWJlIHZpZGVvIHBsYXllciIgZnJhbWVib3JkZXI9IjAiIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlOyB3ZWItc2hhcmUiIHJlZmVycmVycG9saWN5PSJzdHJpY3Qtb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3F1b3Rlcz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IlN0YXJ0IFRyYWRpbmciIGhyZWY9Ii9BY2NvdW50L1JlZ2lzdGVyIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIG1pbi13aWR0aC0xOTIgcm91bmRlZC0wIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IFRyYWRpbmcNCiAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCiAgICAgICAgPHNlY3Rpb24gaWQ9InNlY3Rpb24tbnVtYmVycyIgY2xhc3M9ImJnLWxpZ2h0Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciB0ZXh0LWNlbnRlciBweS01Ij4NCiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InJlZGFjdG9yLXRpdGxlIGZvbnQtd2VpZ2h0LW5vcm1hbCB0ZXh0LTIwIHRleHQtc20tMjggdGV4dC1tZC0zNiB0ZXh0LWNlbnRlciBtYi01Ij4NCiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz48cmVkPlNVUEVSSU9SSVRZPC9yZWQ+PC9zdHJvbmc+PGJyIC8+DQogICAgICAgICAgICAgICAgICAgIHByb3ZlbiBpbiBudW1iZXJzPGJyIC8+DQogICAgICAgICAgICAgICAgPC9oMj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02IGNvbC1tZC0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC0yMiB0ZXh0LXNtLTMwIHRleHQtbWQtMzYgdGV4dC1sZy00NCBtYi0yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY291bnR1cCIgZGF0YS10YXJnZXQ9IjIwMCIgZGF0YS1kZWNpbWFsLXBsYWNlcz0iIiBkYXRhLXN0YXJ0LXZhbHVlPSIwIiBkYXRhLXN1ZmZpeD0iICsiPjIwMCArPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LTEyIHRleHQtc20tMTQiPkNPVU5UUklFUyBTRVJWSUNFRDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02IGNvbC1tZC0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC0yMiB0ZXh0LXNtLTMwIHRleHQtbWQtMzYgdGV4dC1sZy00NCBtYi0yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY291bnR1cCIgZGF0YS10YXJnZXQ9IjAuMjAiIGRhdGEtZGVjaW1hbC1wbGFjZXM9IjIiIGRhdGEtc3RhcnQtdmFsdWU9IjEiIGRhdGEtc3VmZml4PSIgc2VjIj4wLjIwIHNlYzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC0xMiB0ZXh0LXNtLTE0Ij5BVkVSQUdFIEVYRUNVVElPTiBUSU1FPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYgY29sLW1kLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LTIyIHRleHQtc20tMzAgdGV4dC1tZC0zNiB0ZXh0LWxnLTQ0IG1iLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb3VudHVwIiBkYXRhLXRhcmdldD0iMTE1IiBkYXRhLWRlY2ltYWwtcGxhY2VzPSIiIGRhdGEtc3RhcnQtdmFsdWU9IjAiIGRhdGEtc3VmZml4PSIgbSsiPjExNSBtKzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC0xMiB0ZXh0LXNtLTE0Ij5UUkFERVMgRVhFQ1VURUQ8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiBjb2wtbWQtMyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtMjIgdGV4dC1zbS0zMCB0ZXh0LW1kLTM2IHRleHQtbGctNDQgbWItMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50dXAiIGRhdGEtdGFyZ2V0PSIxNDIiIGRhdGEtZGVjaW1hbC1wbGFjZXM9IiIgZGF0YS1zdGFydC12YWx1ZT0iMCIgZGF0YS1zdWZmaXg9IiBibisiPjE0MiBibis8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtMTIgdGV4dC1zbS0xNCI+QVZFUkFHRSBNT05USExZIFRSQURJTkcgVk9MVU1FPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXAgcG9zaXRpb24tcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIHRleHQtY2VudGVyIG14LWF1dG8gbWItNCIgc3R5bGU9Im1heC13aWR0aDogODAwcHg7Ij4NCiAgICAgICAgICAgICAgICAgICAgPGltZyBkYXRhLXNyYz0iLi4vLi4vaW1hZ2VzL2hvbWUtbWFwLnBuZyIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGNsYXNzPSJpbWctZmx1aWQgbGF6eSIgYWx0PSJTdXBlcmlvcml0eSBQcm92ZW4gaW4gTnVtYmVycyIgdGl0bGU9IlN1cGVyaW9yaXR5IFByb3ZlbiBpbiBOdW1iZXJzIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDI0JTsgbGVmdDogNzMlOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDI4JTsgbGVmdDogNTUlOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDUwJTsgbGVmdDogNDUlOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDY4JTsgbGVmdDogNTElOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDQ0JTsgbGVmdDogNzQlOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDc2JTsgbGVmdDogNzclOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDY1JTsgbGVmdDogODMlOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDQ1JTsgbGVmdDogNjAlOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDUxJTsgbGVmdDogMTklOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDYwJTsgbGVmdDogMjclOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0ZSBkb3QgcG9zaXRpb24tYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDc4JTsgbGVmdDogMzAlOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50cmFsZG90Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZTIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtMTIgcGItNCI+JmFzdDsgVGhlIGZpZ3VyZXMgcmVmZXIgdG8gSUZYQnJva2Vyc1RyYWRlcyBHcm91cOKAmXMgYWN0aXZpdHkgaW4gMjAyMCBmb3IgRm9yZXgvQ0ZEcyB0cmFkaW5nLjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iSm9pbiBVcyIgaHJlZj0iL0FjY291bnQvUmVnaXN0ZXIiIGNsYXNzPSJidG4gYnRuLXN1Y2Nlc3MgbWluLXdpZHRoLTE5MiByb3VuZGVkLTAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgSm9pbiBVcw0KICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KICAgICAgICANCiAgICAgICAgPHNlY3Rpb24gaWQ9InNlY3Rpb24tYXdhcmRzIiBjbGFzcz0iYmctd2hpdGUgbXQtbGctbjYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHB0LTUgcGItMyBib3JkZXItdG9wIj4NCiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9InRleHQtcHJpbWFyeSB0ZXh0LTE4IGZvbnQtd2VpZ2h0LXNlbWlib2xkIHRleHQtY2VudGVyIHRleHQtbGctbGVmdCBtYi00Ij4NCiAgICAgICAgICAgICAgICAgICAgSUZYQnJva2Vyc1RyYWRlcyBHcm91cCBBd2FyZHMNCiAgICAgICAgICAgICAgICA8L2g1Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBwYi00IG1iLW4zICI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02IGNvbC1zbS00IGNvbC1tZC00IGNvbC1sZy0yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1iLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL2F3YXJkLnN2ZyIgY2xhc3M9ImxhenkgcGItMyIgYWx0PSJCZXN0IFRyYWRpbmcgQ29uZGl0aW9ucyAyMDIxIDIwMjEiIHRpdGxlPSJCZXN0IFRyYWRpbmcgQ29uZGl0aW9ucyAyMDIxIDIwMjEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0ic21hbGwtNCBmb250LXdlaWdodC1ib2xkIG1iLTAiPkJlc3QgVHJhZGluZyBDb25kaXRpb25zJm5ic3A7MjAyMTwvaDY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic21hbGwtNCBsaW5lLWhlaWdodC0xIj5GeFNjb3V0cyBGb3JleCBBd2FyZHMmbmJzcDsyMDIxPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic21hbGwtNCI+MjAyMTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiBjb2wtc20tNCBjb2wtbWQtNCBjb2wtbGctMiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtYi0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9pY29ucy9hd2FyZC5zdmciIGNsYXNzPSJsYXp5IHBiLTMiIGFsdD0iIzEgQnJva2VyIGZvciBDb21taXNzaW9ucyBhbmQgRmVlcyAyMDIxIiB0aXRsZT0iIzEgQnJva2VyIGZvciBDb21taXNzaW9ucyBhbmQgRmVlcyAyMDIxIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9InNtYWxsLTQgZm9udC13ZWlnaHQtYm9sZCBtYi0wIj4jMSBCcm9rZXIgZm9yIENvbW1pc3Npb25zIGFuZCZuYnNwO0ZlZXM8L2g2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtYWxsLTQgbGluZS1oZWlnaHQtMSI+Rm9yZXhCcm9rZXJzLmNvbSBBbm51YWwgRm9yZXggQnJva2VyJm5ic3A7UmV2aWV3PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic21hbGwtNCI+MjAyMTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiBjb2wtc20tNCBjb2wtbWQtNCBjb2wtbGctMiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtYi0zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IiBkYXRhLXNyYz0iaHR0cHM6Ly9kMWZ5anRyc2w3MXVoLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9pY29ucy9hd2FyZC5zdmciIGNsYXNzPSJsYXp5IHBiLTMiIGFsdD0iQmVzdCBNRU5BIEZvcmV4IEJyb2tlciAyMDIxIiB0aXRsZT0iQmVzdCBNRU5BIEZvcmV4IEJyb2tlciAyMDIxIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9InNtYWxsLTQgZm9udC13ZWlnaHQtYm9sZCBtYi0wIj5CZXN0IE1FTkEgRm9yZXgmbmJzcDtCcm9rZXI8L2g2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtYWxsLTQgbGluZS1oZWlnaHQtMSI+Q2Fpcm8gVmlydHVhbCBFeHBvJm5ic3A7MjAyMTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtYWxsLTQiPjIwMjE8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYgY29sLXNtLTQgY29sLW1kLTQgY29sLWxnLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgbWItMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIgZGF0YS1zcmM9Imh0dHBzOi8vZDFmeWp0cnNsNzF1aC5jbG91ZGZyb250Lm5ldC9pbWFnZXMvaWNvbnMvYXdhcmQuc3ZnIiBjbGFzcz0ibGF6eSBwYi0zIiBhbHQ9IkJlc3QgQ3VzdG9tZXIgU2VydmljZSAyMDIxIiB0aXRsZT0iQmVzdCBDdXN0b21lciBTZXJ2aWNlIDIwMjEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0ic21hbGwtNCBmb250LXdlaWdodC1ib2xkIG1iLTAiPkJlc3QgQ3VzdG9tZXImbmJzcDtTZXJ2aWNlPC9oNj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbWFsbC00IGxpbmUtaGVpZ2h0LTEiPkNhaXJvIFZpcnR1YWwgRXhwbyZuYnNwOzIwMjE8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbWFsbC00Ij4yMDIxPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02IGNvbC1zbS00IGNvbC1tZC00IGNvbC1sZy0yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1iLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL2F3YXJkLnN2ZyIgY2xhc3M9ImxhenkgcGItMyIgYWx0PSJCZXN0IEZvcmV4IEN1c3RvbWVyIFNlcnZpY2UgLSBHbG9iYWwgMjAyMSIgdGl0bGU9IkJlc3QgRm9yZXggQ3VzdG9tZXIgU2VydmljZSAtIEdsb2JhbCAyMDIxIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9InNtYWxsLTQgZm9udC13ZWlnaHQtYm9sZCBtYi0wIj5CZXN0IEZvcmV4IEN1c3RvbWVyIFNlcnZpY2UgLSZuYnNwO0dsb2JhbDwvaDY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic21hbGwtNCBsaW5lLWhlaWdodC0xIj5HbG9iYWwgRm9yZXgmbmJzcDtBd2FyZHM8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbWFsbC00Ij4yMDIxPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02IGNvbC1zbS00IGNvbC1tZC00IGNvbC1sZy0yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1iLTMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciIGRhdGEtc3JjPSJodHRwczovL2QxZnlqdHJzbDcxdWguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ljb25zL2F3YXJkLnN2ZyIgY2xhc3M9ImxhenkgcGItMyIgYWx0PSJCZXN0IEZvcmV4IFRyYWRpbmcgRXhwZXJpZW5jZSAtIEFzaWEgMjAyMSIgdGl0bGU9IkJlc3QgRm9yZXggVHJhZGluZyBFeHBlcmllbmNlIC0gQXNpYSAyMDIxIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9InNtYWxsLTQgZm9udC13ZWlnaHQtYm9sZCBtYi0wIj5CZXN0IEZvcmV4IFRyYWRpbmcgRXhwZXJpZW5jZSAtJm5ic3A7QXNpYTwvaDY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic21hbGwtNCBsaW5lLWhlaWdodC0xIj5HbG9iYWwgRm9yZXgmbmJzcDtBd2FyZHM8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbWFsbC00Ij4yMDIxPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgdGV4dC1sZy1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJWaWV3IEFsbCBBd2FyZHMiIGhyZWY9Ii9Ib21lL0F3YXJkcyIgY2xhc3M9InNtYWxsLTMgdGV4dC1kYW5nZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgVmlldyBBbGwgQXdhcmRzDQogICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xMDAgcHQtNiBtdC0zIGxhenkiIGRhdGEtYmc9Imh0dHBzOi8vZDFmeWp0cnNsNzF1aC5jbG91ZGZyb250Lm5ldC9pbWFnZXMvYmFja2dyb3VuZC1pbWFnZXMvY2FuZGxlc3RpY2tzLnN2ZyIgc3R5bGU9ImJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCiAgICA8L3NlY3Rpb24+DQo8L21haW4+DQoNCg0KICAgIDxhc2lkZSBjbGFzcz0ic3RpY2t5LXN1cHBvcnQtc2lkZWJhciBwb3NpdGlvbi1maXhlZCB6LWluZGV4LTkgZC1ub25lIGQtbWQtYmxvY2siPg0KICAgICAgICA8ZGl2IGNsYXNzPSJzdXBwb3J0IHBvc2l0aW9uLWFic29sdXRlIGJnLXByaW1hcnkgdGV4dC0zMCBiZy1ob3Zlci1kYXJrZW4iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGgtMTAwIj4NCiAgICAgICAgICAgICAgICA8YSB0aXRsZT0iL2Fib3V0L2NvbnRhY3QtdXMiIGNsYXNzPSJ0ZXh0LXdoaXRlIiBocmVmPSIvSG9tZS9Db250YWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhbCBmYS1oZWFkc2V0Ij48L2k+DQogICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvYXNpZGU+DQoNCg0KICAgIDxmb290ZXIgY2xhc3M9ImJnLWdyYXkiIHN0eWxlPSJsaW5lLWhlaWdodDogMXJlbTsiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgcHQtNSI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWdyYXktZGFya2VzdCBzbWFsbC00IHBiLTIiPg0KICAgICAgICAgICAgICAgIElGWEJyb2tlcnMgVHJhZGVzIGlzIHRoZSB0cmFkaW5nIG5hbWUgb2YgSUZYQnJva2Vyc1RyYWRlcyBHcm91cCBvZiBjb21wYW5pZXMuPGJyPjxicj5pZnhicm9rZXJ0cmFkZXMuY28uemEgaXMgb3duZWQgYW5kIG9wZXJhdGVkIHdpdGhpbiB0aGUgSUZYQnJva2VycyBUcmFkZXMgR3JvdXAgb2YgY29tcGFuaWVzLiBJRlhCcm9rZXJzIFRyYWRlcyBHcm91cCBjb25zaXN0cyBvZiBJRlhCcm9rZXJzIFRyYWRlcyBVUyBMdGQsICBGaW5hbmNpYWwgU2VydmljZXMgQ29tcGFueSBhdXRob3Jpc2VkIGFuZCByZWd1bGF0ZWQgYnkgdGhlIEN5cHJ1cyBTZWN1cml0aWVzIEV4Y2hhbmdlIENvbW1pc3Npb24gKEN5U0VDKSwgPGJyPkNsaWVudHMgbXVzdCBiZSBhdCBsZWFzdCAxOCB5ZWFycyBvbGQgdG8gdXNlIHRoZSBzZXJ2aWNlcyBvZiBJRlhCcm9rZXJzVHJhZGVzLjxicj48YnI+DQogICAgICAgICAgICAgICAgPHN0cm9uZz5IaWdoIFJpc2sgV2FybmluZzo8L3N0cm9uZz4gVHJhZGluZyBDb250cmFjdHMgZm9yIERpZmZlcmVuY2UgKENGRHMpIG9uIG1hcmdpbiBjYXJyaWVzIGEgaGlnaCBsZXZlbCBvZiByaXNrIGFuZCBtYXkgbm90IGJlIHN1aXRhYmxlIGZvciBhbGwgaW52ZXN0b3JzLiBCZWZvcmUgZGVjaWRpbmcgdG8gdHJhZGUgQ29udHJhY3RzIGZvciBEaWZmZXJlbmNlIChDRkRzKSwgeW91IHNob3VsZCBjYXJlZnVsbHkgY29uc2lkZXIgeW91ciB0cmFkaW5nIG9iamVjdGl2ZXMsIGxldmVsIG9mIGV4cGVyaWVuY2UgYW5kIHJpc2sgYXBwZXRpdGUuIEl0IGlzIHBvc3NpYmxlIGZvciB5b3UgdG8gc3VzdGFpbiBsb3NzZXMgdGhhdCBleGNlZWQgeW91ciBpbnZlc3RlZCBjYXBpdGFsIGFuZCB0aGVyZWZvcmUgeW91IHNob3VsZCBub3QgZGVwb3NpdCBtb25leSB0aGF0IHlvdSBjYW5ub3QgYWZmb3JkIHRvIGxvc2UuIFBsZWFzZSBlbnN1cmUgeW91IGZ1bGx5IHVuZGVyc3RhbmQgdGhlIHJpc2tzIGFuZCB0YWtlIGFwcHJvcHJpYXRlIGNhcmUgdG8gbWFuYWdlIHlvdXIgcmlzay4NCiAgICAgICAgICAgICAgICA8YnI+PGJyPg0KICAgICAgICAgICAgICAgIFRoZSBzaXRlIGNvbnRhaW5zIGxpbmtzIHRvIHdlYnNpdGVzIGNvbnRyb2xsZWQgb3Igb2ZmZXJlZCBieSB0aGlyZCBwYXJ0aWVzLiBJRlhCcm9rZXJzIFRyYWRlcyBoYXMgbm90IHJldmlld2VkIGFuZCBoZXJlYnkgZGlzY2xhaW1zIHJlc3BvbnNpYmlsaXR5IGZvciBhbnkgaW5mb3JtYXRpb24gb3IgbWF0ZXJpYWxzIHBvc3RlZCBhdCBhbnkgb2YgdGhlIHNpdGVzIGxpbmtlZCB0byB0aGlzIHNpdGUuIEJ5IGNyZWF0aW5nIGEgbGluayB0byBhIHRoaXJkIHBhcnR5IHdlYnNpdGUsIElGWEJyb2tlcnMgVHJhZGVzIGRvZXMgbm90IGVuZG9yc2Ugb3IgcmVjb21tZW5kIGFueSBwcm9kdWN0cyBvciBzZXJ2aWNlcyBvZmZlcmVkIG9uIHRoYXQgd2Vic2l0ZS4gVGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBvbiB0aGlzIHNpdGUgaXMgaW50ZW5kZWQgZm9yIGluZm9ybWF0aW9uIHB1cnBvc2VzIG9ubHkuIFRoZXJlZm9yZSwgaXQgc2hvdWxkIG5vdCBiZSByZWdhcmRlZCBhcyBhbiBvZmZlciBvciBzb2xpY2l0YXRpb24gdG8gYW55IHBlcnNvbiBpbiBhbnkganVyaXNkaWN0aW9uIGluIHdoaWNoIHN1Y2ggYW4gb2ZmZXIgb3Igc29saWNpdGF0aW9uIGlzIG5vdCBhdXRob3Jpc2VkIG9yIHRvIGFueSBwZXJzb24gdG8gd2hvbSBpdCB3b3VsZCBiZSB1bmxhd2Z1bCB0byBtYWtlIHN1Y2ggYW4gb2ZmZXIgb3Igc29saWNpdGF0aW9uLCBub3IgcmVnYXJkZWQgYXMgcmVjb21tZW5kYXRpb24gdG8gYnV5LCBzZWxsIG9yIG90aGVyd2lzZSBkZWFsIHdpdGggYW55IHBhcnRpY3VsYXIgY3VycmVuY3kgb3IgcHJlY2lvdXMgbWV0YWwgdHJhZGUuIElmIHlvdSBhcmUgbm90IHN1cmUgYWJvdXQgeW91ciBsb2NhbCBjdXJyZW5jeSBhbmQgc3BvdCBtZXRhbHMgdHJhZGluZyByZWd1bGF0aW9ucywgdGhlbiB5b3Ugc2hvdWxkIGxlYXZlIHRoaXMgc2l0ZSBpbW1lZGlhdGVseS4NCiAgICAgICAgICAgICAgICA8YnI+PGJyPg0KICAgICAgICAgICAgICAgIFlvdSBhcmUgc3Ryb25nbHkgYWR2aXNlZCB0byBvYnRhaW4gaW5kZXBlbmRlbnQgZmluYW5jaWFsLCBsZWdhbCBhbmQgdGF4IGFkdmljZSBiZWZvcmUgcHJvY2VlZGluZyB3aXRoIGFueSBjdXJyZW5jeSBvciBzcG90IG1ldGFscyB0cmFkZS4gTm90aGluZyBpbiB0aGlzIHNpdGUgc2hvdWxkIGJlIHJlYWQgb3IgY29uc3RydWVkIGFzIGNvbnN0aXR1dGluZyBhZHZpY2Ugb24gdGhlIHBhcnQgb2YgSUZYQnJva2VycyBUcmFkZXMgb3IgYW55IG9mIGl0cyBhZmZpbGlhdGVzLCBkaXJlY3RvcnMsIG9mZmljZXJzIG9yIGVtcGxveWVlcy4gQW1kYXgtQ3J5cHRvTWluaW5nIGlzIGxvY2F0ZWQgaW4gQW1zdGVyZGFtLCBOb29yZC1Ib2xsYW5kLCBUaGUgTmV0aGVybGFuZHMgLg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8aHIgY2xhc3M9ImJnLWdyYXktZGFyayI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYi0zIj4NCiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iL2xvZ28tbWluaS5wbmciIHdpZHRoPSIyNCIgY2xhc3M9Imljb24tMjQiIGFsdD0iSUZYQnJva2VycyBUcmFkZXMgbG9nbyIgdGl0bGU9IklGWEJyb2tlcnMgVHJhZGVzIGxvZ28iPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWdyYXktZGFya2VzdCBzbWFsbC00IHByLTMiPkNvcHlyaWdodCAmY29weTsgMjAxNSAtIDIwMjY8L3NwYW4+DQogICAgICAgICAgICAgICAgPGEgdGl0bGU9IlRlcm1zICYgQ29uZGl0aW9ucyIgY2xhc3M9ImxpbmstZGFyayBzbWFsbC00IiBocmVmPSIvSG9tZS9UZXJtc19Db25kaXRpb24iIHRhYmluZGV4PSItMSIgYXJpYS1kaXNhYmxlZD0idHJ1ZSI+DQogICAgICAgICAgICAgICAgICAgIFRlcm1zICYgQ29uZGl0aW9ucw0KICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHgtMSI+fDwvc3Bhbj4gPGEgdGl0bGU9IkxlZ2FsIERvY3VtZW50cyIgY2xhc3M9ImxpbmstZGFyayBzbWFsbC00IiBocmVmPSIjIiB0YWJpbmRleD0iLTEiIGFyaWEtZGlzYWJsZWQ9InRydWUiPg0KICAgICAgICAgICAgICAgICAgICBQcml2YWN5IFBvbGljeQ0KICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHgtMSI+fDwvc3Bhbj4gPGEgdGl0bGU9IkNvbnRhY3QgVXMiIGNsYXNzPSJsaW5rLWRhcmsgc21hbGwtNCIgaHJlZj0iL0hvbWUvQ29udGFjdCIgdGFiaW5kZXg9Ii0xIiBhcmlhLWRpc2FibGVkPSJ0cnVlIj4NCiAgICAgICAgICAgICAgICAgICAgQ29udGFjdCBVcw0KICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Zvb3Rlcj4NCiAgICA8ZGl2IGNsYXNzPSJzdGlja3ktY29va2llLXBvbGljeSBwb3NpdGlvbi1maXhlZCBib3R0b20tMCB3LTEwMCBtYi01IHotaW5kZXgtMyBkLW5vbmUiIGRhdGEtZWVhPSIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJwb3NpdGlvbi1hYnNvbHV0ZSBwYi0zIHctMTAwIGJvdHRvbS0wIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBweS0zIGJnLWxpZ2h0IHNoYWRvdyI+DQogICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9InNtYWxsIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3cganVzdGlmeS1jb250ZW50LWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXRleHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkNvb2tpZSBQb2xpY3k6PC9zdHJvbmc+PGJyPlRoZSBJRlhCcm9rZXJzIFRyYWRlcyB3ZWJzaXRlIHVzZXMgY29va2llcy4gQnkgY29udGludWluZyBicm93c2luZyB0aGUgcGFnZSB5b3UgYXV0b21hdGljYWxseSBhZ3JlZSB0byBvdXIgdXNlIG9mIGNvb2tpZXMuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIG91ciBjb29raWUgdXNhZ2UsIG9uIGhvdyB0byBjaGFuZ2UgY29va2llcyBhbmQgdGhlaXIgc2V0dGluZ3Mgc2VlIG91ciA8YSB0aXRsZT0iQ29va2llcyBQb2xpY3kiIGhyZWY9IiMiPkNvb2tpZXMgUG9saWN5PC9hPi4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb29raWVDaGVja2JveGVzIiBjbGFzcz0iZC1ub25lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvcm0tY2hlY2staW5wdXQiIHR5cGU9ImNoZWNrYm94IiBpZD0iY29va2llTmVjZXNzYXJ5IiBkaXNhYmxlZCBjaGVja2VkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNoZWNrLWxhYmVsIiBmb3I9ImNvb2tpZU5lY2Vzc2FyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmVjZXNzYXJ5DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvcm0tY2hlY2staW5wdXQiIHR5cGU9ImNoZWNrYm94IiBpZD0iY29va2llU3RhdGlzdGljcyIgdmFsdWU9IjAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNoZWNrLWxhYmVsIiBmb3I9ImNvb2tpZVN0YXRpc3RpY3MiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXRpc3RpY3MNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWNoZWNrIGZvcm0tY2hlY2staW5saW5lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9ybS1jaGVjay1pbnB1dCIgdHlwZT0iY2hlY2tib3giIGlkPSJjb29raWVNYXJrZXRpbmciIHZhbHVlPSIwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1jaGVjay1sYWJlbCIgZm9yPSJjb29raWVNYXJrZXRpbmciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmtldGluZw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0zIGNvbC1sZy0yIHRleHQtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJjb29raWVBY2NlcHQiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGFuZ2VyIHJvdW5kZWQtMCB0ZXh0LTEzIHctMTAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0sNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJjb29raWVQcmVmZXJlbmNlcyIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJnLWdyYXkgYnRuLXNtIHJvdW5kZWQtMCB0ZXh0LTEzIHctMTAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlZmVyZW5jZXMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Zvcm0+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICA8c2NyaXB0IGRlZmVyPg0KICAgICAgICAvKiBPcGVucyB3ZWJzaXRlIGluIEVkZ2UgaWYgSW50ZXJuZXQgRXhwbG9yZXIgaXMgb3BlbmVkIG9uIFdpbmRvd3MgMTAgKi8NCiAgICAgICAgaWYgKGRvY3VtZW50LmRvY3VtZW50TW9kZSA9PT0gMTEgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdXaW5kb3dzIE5UIDEwLjAnKSA+IC0xKSB7DQogICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAnbWljcm9zb2Z0LWVkZ2U6JyArIGRvY3VtZW50LlVSTDsNCiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdodHRwczovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rLz9saW5raWQ9MjEzNTU0Nyc7DQogICAgICAgICAgICB9LCAxKTsNCiAgICAgICAgfQ0KICAgIDwvc2NyaXB0Pg0KICAgIDxzY3JpcHQ+DQogICAgICAgICFmdW5jdGlvbiAoKSB7ICJ1c2Ugc3RyaWN0IjsgdmFyIHQsIGUgPSBbXTsgZnVuY3Rpb24gbigpIHsgZm9yICg7IGUubGVuZ3RoOyllWzBdKCksIGUuc2hpZnQoKSB9IGZ1bmN0aW9uIG8odCkgeyB0aGlzLmEgPSBpLCB0aGlzLmIgPSB2b2lkIDAsIHRoaXMuZiA9IFtdOyB2YXIgZSA9IHRoaXM7IHRyeSB7IHQoKGZ1bmN0aW9uICh0KSB7IGEoZSwgdCkgfSksIChmdW5jdGlvbiAodCkgeyBzKGUsIHQpIH0pKSB9IGNhdGNoICh0KSB7IHMoZSwgdCkgfSB9IHQgPSBmdW5jdGlvbiAoKSB7IHNldFRpbWVvdXQobikgfTsgdmFyIGkgPSAyOyBmdW5jdGlvbiByKHQpIHsgcmV0dXJuIG5ldyBvKChmdW5jdGlvbiAoZSkgeyBlKHQpIH0pKSB9IGZ1bmN0aW9uIGEodCwgZSkgeyBpZiAodC5hID09IGkpIHsgaWYgKGUgPT0gdCkgdGhyb3cgbmV3IFR5cGVFcnJvcjsgdmFyIG4gPSAhMTsgdHJ5IHsgdmFyIG8gPSBlICYmIGUudGhlbjsgaWYgKG51bGwgIT0gZSAmJiAib2JqZWN0IiA9PSB0eXBlb2YgZSAmJiAiZnVuY3Rpb24iID09IHR5cGVvZiBvKSByZXR1cm4gdm9pZCBvLmNhbGwoZSwgKGZ1bmN0aW9uIChlKSB7IG4gfHwgYSh0LCBlKSwgbiA9ICEwIH0pLCAoZnVuY3Rpb24gKGUpIHsgbiB8fCBzKHQsIGUpLCBuID0gITAgfSkpIH0gY2F0Y2ggKGUpIHsgcmV0dXJuIHZvaWQgKG4gfHwgcyh0LCBlKSkgfSB0LmEgPSAwLCB0LmIgPSBlLCBjKHQpIH0gfSBmdW5jdGlvbiBzKHQsIGUpIHsgaWYgKHQuYSA9PSBpKSB7IGlmIChlID09IHQpIHRocm93IG5ldyBUeXBlRXJyb3I7IHQuYSA9IDEsIHQuYiA9IGUsIGModCkgfSB9IGZ1bmN0aW9uIGMobikgeyAhZnVuY3Rpb24gKG4pIHsgZS5wdXNoKG4pLCAxID09IGUubGVuZ3RoICYmIHQoKSB9KChmdW5jdGlvbiAoKSB7IGlmIChuLmEgIT0gaSkgZm9yICg7IG4uZi5sZW5ndGg7KSB7IHZhciB0ID0gKHIgPSBuLmYuc2hpZnQoKSlbMF0sIGUgPSByWzFdLCBvID0gclsyXSwgciA9IHJbM107IHRyeSB7IDAgPT0gbi5hID8gbygiZnVuY3Rpb24iID09IHR5cGVvZiB0ID8gdC5jYWxsKHZvaWQgMCwgbi5iKSA6IG4uYikgOiAxID09IG4uYSAmJiAoImZ1bmN0aW9uIiA9PSB0eXBlb2YgZSA/IG8oZS5jYWxsKHZvaWQgMCwgbi5iKSkgOiByKG4uYikpIH0gY2F0Y2ggKHQpIHsgcih0KSB9IH0gfSkpIH0gby5wcm90b3R5cGUuZyA9IGZ1bmN0aW9uICh0KSB7IHJldHVybiB0aGlzLmModm9pZCAwLCB0KSB9LCBvLnByb3RvdHlwZS5jID0gZnVuY3Rpb24gKHQsIGUpIHsgdmFyIG4gPSB0aGlzOyByZXR1cm4gbmV3IG8oKGZ1bmN0aW9uIChvLCBpKSB7IG4uZi5wdXNoKFt0LCBlLCBvLCBpXSksIGMobikgfSkpIH0sIHdpbmRvdy5Qcm9taXNlIHx8ICh3aW5kb3cuUHJvbWlzZSA9IG8sIHdpbmRvdy5Qcm9taXNlLnJlc29sdmUgPSByLCB3aW5kb3cuUHJvbWlzZS5yZWplY3QgPSBmdW5jdGlvbiAodCkgeyByZXR1cm4gbmV3IG8oKGZ1bmN0aW9uIChlLCBuKSB7IG4odCkgfSkpIH0sIHdpbmRvdy5Qcm9taXNlLnJhY2UgPSBmdW5jdGlvbiAodCkgeyByZXR1cm4gbmV3IG8oKGZ1bmN0aW9uIChlLCBuKSB7IGZvciAodmFyIG8gPSAwOyBvIDwgdC5sZW5ndGg7IG8gKz0gMSlyKHRbb10pLmMoZSwgbikgfSkpIH0sIHdpbmRvdy5Qcm9taXNlLmFsbCA9IGZ1bmN0aW9uICh0KSB7IHJldHVybiBuZXcgbygoZnVuY3Rpb24gKGUsIG4pIHsgZnVuY3Rpb24gbyhuKSB7IHJldHVybiBmdW5jdGlvbiAobykgeyBhW25dID0gbywgKGkgKz0gMSkgPT0gdC5sZW5ndGggJiYgZShhKSB9IH0gdmFyIGkgPSAwLCBhID0gW107IDAgPT0gdC5sZW5ndGggJiYgZShhKTsgZm9yICh2YXIgcyA9IDA7IHMgPCB0Lmxlbmd0aDsgcyArPSAxKXIodFtzXSkuYyhvKHMpLCBuKSB9KSkgfSwgd2luZG93LlByb21pc2UucHJvdG90eXBlLnRoZW4gPSBvLnByb3RvdHlwZS5jLCB3aW5kb3cuUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2ggPSBvLnByb3RvdHlwZS5nKSB9KCksIGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gdCh0LCBlKSB7IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPyB0LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIGUsICExKSA6IHQuYXR0YWNoRXZlbnQoInNjcm9sbCIsIGUpIH0gZnVuY3Rpb24gZSh0KSB7IHRoaXMuYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCB0aGlzLmEuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsICJ0cnVlIiksIHRoaXMuYS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KSksIHRoaXMuYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSwgdGhpcy5jID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLCB0aGlzLmggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksIHRoaXMuZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSwgdGhpcy5nID0gLTEsIHRoaXMuYi5zdHlsZS5jc3NUZXh0ID0gIm1heC13aWR0aDpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6c2Nyb2xsO2ZvbnQtc2l6ZToxNnB4OyIsIHRoaXMuYy5zdHlsZS5jc3NUZXh0ID0gIm1heC13aWR0aDpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6c2Nyb2xsO2ZvbnQtc2l6ZToxNnB4OyIsIHRoaXMuZi5zdHlsZS5jc3NUZXh0ID0gIm1heC13aWR0aDpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6c2Nyb2xsO2ZvbnQtc2l6ZToxNnB4OyIsIHRoaXMuaC5zdHlsZS5jc3NUZXh0ID0gImRpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjIwMCU7aGVpZ2h0OjIwMCU7Zm9udC1zaXplOjE2cHg7bWF4LXdpZHRoOm5vbmU7IiwgdGhpcy5iLmFwcGVuZENoaWxkKHRoaXMuaCksIHRoaXMuYy5hcHBlbmRDaGlsZCh0aGlzLmYpLCB0aGlzLmEuYXBwZW5kQ2hpbGQodGhpcy5iKSwgdGhpcy5hLmFwcGVuZENoaWxkKHRoaXMuYykgfSBmdW5jdGlvbiBuKHQsIGUpIHsgdC5hLnN0eWxlLmNzc1RleHQgPSAibWF4LXdpZHRoOm5vbmU7bWluLXdpZHRoOjIwcHg7bWluLWhlaWdodDoyMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDphdXRvO21hcmdpbjowO3BhZGRpbmc6MDt0b3A6LTk5OXB4O3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXN5bnRoZXNpczpub25lO2ZvbnQ6IiArIGUgKyAiOyIgfSBmdW5jdGlvbiBvKHQpIHsgdmFyIGUgPSB0LmEub2Zmc2V0V2lkdGgsIG4gPSBlICsgMTAwOyByZXR1cm4gdC5mLnN0eWxlLndpZHRoID0gbiArICJweCIsIHQuYy5zY3JvbGxMZWZ0ID0gbiwgdC5iLnNjcm9sbExlZnQgPSB0LmIuc2Nyb2xsV2lkdGggKyAxMDAsIHQuZyAhPT0gZSAmJiAodC5nID0gZSwgITApIH0gZnVuY3Rpb24gaShlLCBuKSB7IGZ1bmN0aW9uIGkoKSB7IHZhciB0ID0gcjsgbyh0KSAmJiB0LmEucGFyZW50Tm9kZSAmJiBuKHQuZykgfSB2YXIgciA9IGU7IHQoZS5iLCBpKSwgdChlLmMsIGkpLCBvKGUpIH0gZnVuY3Rpb24gcih0LCBlKSB7IHZhciBuID0gZSB8fCB7fTsgdGhpcy5mYW1pbHkgPSB0LCB0aGlzLnN0eWxlID0gbi5zdHlsZSB8fCAibm9ybWFsIiwgdGhpcy53ZWlnaHQgPSBuLndlaWdodCB8fCAibm9ybWFsIiwgdGhpcy5zdHJldGNoID0gbi5zdHJldGNoIHx8ICJub3JtYWwiIH0gdmFyIGEgPSBudWxsLCBzID0gbnVsbCwgYyA9IG51bGwsIGQgPSBudWxsOyBmdW5jdGlvbiBmKCkgeyByZXR1cm4gbnVsbCA9PT0gZCAmJiAoZCA9ICEhZG9jdW1lbnQuZm9udHMpLCBkIH0gZnVuY3Rpb24gbCgpIHsgaWYgKG51bGwgPT09IGMpIHsgdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsgdHJ5IHsgdC5zdHlsZS5mb250ID0gImNvbmRlbnNlZCAxMDBweCBzYW5zLXNlcmlmIiB9IGNhdGNoICh0KSB7IH0gYyA9ICIiICE9PSB0LnN0eWxlLmZvbnQgfSByZXR1cm4gYyB9IGZ1bmN0aW9uIHUodCwgZSkgeyByZXR1cm4gW3Quc3R5bGUsIHQud2VpZ2h0LCBsKCkgPyB0LnN0cmV0Y2ggOiAiIiwgIjEwMHB4IiwgZV0uam9pbigiICIpIH0gci5wcm90b3R5cGUubG9hZCA9IGZ1bmN0aW9uICh0LCBvKSB7IHZhciByID0gdGhpcywgYyA9IHQgfHwgIkJFU2Jzd3kiLCBkID0gMCwgbCA9IG8gfHwgM2UzLCBoID0gKG5ldyBEYXRlKS5nZXRUaW1lKCk7IHJldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24gKHQsIG8pIHsgaWYgKGYoKSAmJiAhZnVuY3Rpb24gKCkgeyBpZiAobnVsbCA9PT0gcykgaWYgKGYoKSAmJiAvQXBwbGUvLnRlc3Qod2luZG93Lm5hdmlnYXRvci52ZW5kb3IpKSB7IHZhciB0ID0gL0FwcGxlV2ViS2l0XC8oWzAtOV0rKSg/OlwuKFswLTldKykpKD86XC4oWzAtOV0rKSkvLmV4ZWMod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQpOyBzID0gISF0ICYmIDYwMyA+IHBhcnNlSW50KHRbMV0sIDEwKSB9IGVsc2UgcyA9ICExOyByZXR1cm4gcyB9KCkpIHsgdmFyIHAgPSBuZXcgUHJvbWlzZSgoZnVuY3Rpb24gKHQsIGUpIHsgIWZ1bmN0aW9uIG4oKSB7IChuZXcgRGF0ZSkuZ2V0VGltZSgpIC0gaCA+PSBsID8gZShFcnJvcihsICsgIm1zIHRpbWVvdXQgZXhjZWVkZWQiKSkgOiBkb2N1bWVudC5mb250cy5sb2FkKHUociwgJyInICsgci5mYW1pbHkgKyAnIicpLCBjKS50aGVuKChmdW5jdGlvbiAoZSkgeyAxIDw9IGUubGVuZ3RoID8gdCgpIDogc2V0VGltZW91dChuLCAyNSkgfSksIGUpIH0oKSB9KSksIG0gPSBuZXcgUHJvbWlzZSgoZnVuY3Rpb24gKHQsIGUpIHsgZCA9IHNldFRpbWVvdXQoKGZ1bmN0aW9uICgpIHsgZShFcnJvcihsICsgIm1zIHRpbWVvdXQgZXhjZWVkZWQiKSkgfSksIGwpIH0pKTsgUHJvbWlzZS5yYWNlKFttLCBwXSkudGhlbigoZnVuY3Rpb24gKCkgeyBjbGVhclRpbWVvdXQoZCksIHQocikgfSksIG8pIH0gZWxzZSAhZnVuY3Rpb24gKHQpIHsgZG9jdW1lbnQuYm9keSA/IHQoKSA6IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPyBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgKGZ1bmN0aW9uIGUoKSB7IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBlKSwgdCgpIH0pKSA6IGRvY3VtZW50LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLCAoZnVuY3Rpb24gZSgpIHsgImludGVyYWN0aXZlIiAhPSBkb2N1bWVudC5yZWFkeVN0YXRlICYmICJjb21wbGV0ZSIgIT0gZG9jdW1lbnQucmVhZHlTdGF0ZSB8fCAoZG9jdW1lbnQuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsIGUpLCB0KCkpIH0pKSB9KChmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIHMoKSB7IHZhciBlOyAoZSA9IC0xICE9IHcgJiYgLTEgIT0gdiB8fCAtMSAhPSB3ICYmIC0xICE9IHkgfHwgLTEgIT0gdiAmJiAtMSAhPSB5KSAmJiAoKGUgPSB3ICE9IHYgJiYgdyAhPSB5ICYmIHYgIT0geSkgfHwgKG51bGwgPT09IGEgJiYgKGUgPSAvQXBwbGVXZWJLaXRcLyhbMC05XSspKD86XC4oWzAtOV0rKSkvLmV4ZWMod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQpLCBhID0gISFlICYmICg1MzYgPiBwYXJzZUludChlWzFdLCAxMCkgfHwgNTM2ID09PSBwYXJzZUludChlWzFdLCAxMCkgJiYgMTEgPj0gcGFyc2VJbnQoZVsyXSwgMTApKSksIGUgPSBhICYmICh3ID09IGcgJiYgdiA9PSBnICYmIHkgPT0gZyB8fCB3ID09IGIgJiYgdiA9PSBiICYmIHkgPT0gYiB8fCB3ID09IHggJiYgdiA9PSB4ICYmIHkgPT0geCkpLCBlID0gIWUpLCBlICYmIChFLnBhcmVudE5vZGUgJiYgRS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKEUpLCBjbGVhclRpbWVvdXQoZCksIHQocikpIH0gdmFyIGYgPSBuZXcgZShjKSwgcCA9IG5ldyBlKGMpLCBtID0gbmV3IGUoYyksIHcgPSAtMSwgdiA9IC0xLCB5ID0gLTEsIGcgPSAtMSwgYiA9IC0xLCB4ID0gLTEsIEUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsgRS5kaXIgPSAibHRyIiwgbihmLCB1KHIsICJzYW5zLXNlcmlmIikpLCBuKHAsIHUociwgInNlcmlmIikpLCBuKG0sIHUociwgIm1vbm9zcGFjZSIpKSwgRS5hcHBlbmRDaGlsZChmLmEpLCBFLmFwcGVuZENoaWxkKHAuYSksIEUuYXBwZW5kQ2hpbGQobS5hKSwgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChFKSwgZyA9IGYuYS5vZmZzZXRXaWR0aCwgYiA9IHAuYS5vZmZzZXRXaWR0aCwgeCA9IG0uYS5vZmZzZXRXaWR0aCwgZnVuY3Rpb24gdCgpIHsgaWYgKChuZXcgRGF0ZSkuZ2V0VGltZSgpIC0gaCA+PSBsKSBFLnBhcmVudE5vZGUgJiYgRS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKEUpLCBvKEVycm9yKGwgKyAibXMgdGltZW91dCBleGNlZWRlZCIpKTsgZWxzZSB7IHZhciBlID0gZG9jdW1lbnQuaGlkZGVuOyAhMCAhPT0gZSAmJiB2b2lkIDAgIT09IGUgfHwgKHcgPSBmLmEub2Zmc2V0V2lkdGgsIHYgPSBwLmEub2Zmc2V0V2lkdGgsIHkgPSBtLmEub2Zmc2V0V2lkdGgsIHMoKSksIGQgPSBzZXRUaW1lb3V0KHQsIDUwKSB9IH0oKSwgaShmLCAoZnVuY3Rpb24gKHQpIHsgdyA9IHQsIHMoKSB9KSksIG4oZiwgdShyLCAnIicgKyByLmZhbWlseSArICciLHNhbnMtc2VyaWYnKSksIGkocCwgKGZ1bmN0aW9uICh0KSB7IHYgPSB0LCBzKCkgfSkpLCBuKHAsIHUociwgJyInICsgci5mYW1pbHkgKyAnIixzZXJpZicpKSwgaShtLCAoZnVuY3Rpb24gKHQpIHsgeSA9IHQsIHMoKSB9KSksIG4obSwgdShyLCAnIicgKyByLmZhbWlseSArICciLG1vbm9zcGFjZScpKSB9KSkgfSkpIH0sICJvYmplY3QiID09IHR5cGVvZiBtb2R1bGUgPyBtb2R1bGUuZXhwb3J0cyA9IHIgOiAod2luZG93LkZvbnRGYWNlT2JzZXJ2ZXIgPSByLCB3aW5kb3cuRm9udEZhY2VPYnNlcnZlci5wcm90b3R5cGUubG9hZCA9IHIucHJvdG90eXBlLmxvYWQpIH0oKTsNCiAgICA8L3NjcmlwdD4NCiAgICA8c2NyaXB0PihuZXcgRm9udEZhY2VPYnNlcnZlcignUm9ib3RvJykpLmxvYWQoKS50aGVuKGZ1bmN0aW9uICgpIHsgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTmFtZSArPSAnIGZvbnRzLWxvYWRlZCc7IH0pOzwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgZGVmZXIgc3JjPSIvc2l0ZS90aGVtZXMvSUZYQnJva2Vyc1RyYWRlcy9hc3NldHMvZGlzdC9tYW5pZmVzdGIyNTcuanM/aWQ9NzM3NWNmMGNkZjNkZTgxNjBlYjEiPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgZGVmZXIgc3JjPSIvc2l0ZS90aGVtZXMvSUZYQnJva2Vyc1RyYWRlcy9hc3NldHMvZGlzdC92ZW5kb3I1ZjkzLmpzP2lkPTBmOGQyZTllMTA2NDQyOGQzY2QwIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IGRlZmVyIHNyYz0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvdmVuZG9yX3V0aWxzLTE1MmY0LmpzP2lkPWU1YWQ2NmY0YWRjY2ZmNzIxOGRiIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IGRlZmVyIHNyYz0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvdmVuZG9yX3V0aWxzLTJkZjdjLmpzP2lkPTYyNzk0MjQ3YzBjZjljMWE1ZDVlIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IGRlZmVyIHNyYz0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvdmVuZG9yX3V0aWxzLTNjMmFhLmpzP2lkPTdmODc1MGI2YzFjYjIzOTcyMDk1Ij48L3NjcmlwdD4NCiAgICA8c2NyaXB0IGRlZmVyIHNyYz0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvdmVuZG9yX3V0aWxzLTQ3M2RhLmpzP2lkPWY0Zjg3YmQ3ZGU4OTI1YjZjY2FkIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IGRlZmVyIHNyYz0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvdmVuZG9yX3V0aWxzLTVmZDYxLmpzP2lkPTAxNjlhYmVlMDlhN2RhYWU3NDEyIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IGRlZmVyIHNyYz0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvdmVuZG9yX3V0aWxzLTZlOTcwLmpzP2lkPTdkMzRiY2U0MmZhODcyYzI1NmQwIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IGRlZmVyIHNyYz0iL3NpdGUvdGhlbWVzL0lGWEJyb2tlcnNUcmFkZXMvYXNzZXRzL2Rpc3QvYXBwLm1pbmRkODQuanM/aWQ9NjMzNTNhNjBjOWU4MmQzNjZlMjgiPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgZGVmZXIgc3JjPSIvc2l0ZS90aGVtZXMvSUZYQnJva2Vyc1RyYWRlcy9hc3NldHMvZGlzdC9hcHAuYW5pbWF0aW9ucy5taW40OWUyLmpzP2lkPTYyODU1ZDdmN2Q2M2ZmOWRhMjMyIj48L3NjcmlwdD4NCg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd2lkZ2V0LnRydXN0cGlsb3QuY29tL2Jvb3RzdHJhcC92NS90cC53aWRnZXQuYm9vdHN0cmFwLm1pbi5qcyIgZGVmZXI+PC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93aWRnZXQuY3VyYWNvbS5pby9qcy93aWRnZXQtMS4wLjAuanM/aWQ9ZVI0bzlLTkJ6ZUVxS1VVUWczWkgzRU40MFVsY1RldXYiIGlkPSJjdXJhY29tLTE3NjM3ODM5NDk5Ij48L3NjcmlwdD4NCiAgICA8c2NyaXB0Pg0KICAgICAgICAoZnVuY3Rpb24gKHcsIGQsIHMsIGwsIGkpIHsNCiAgICAgICAgICAgIHdbbF0gPSB3W2xdIHx8IFtdOyB3W2xdLnB1c2goew0KICAgICAgICAgICAgICAgICdndG0uc3RhcnQnOg0KICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSwgZXZlbnQ6ICdndG0uanMnDQogICAgICAgICAgICB9KTsgdmFyIGYgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdLA0KICAgICAgICAgICAgICAgIGogPSBkLmNyZWF0ZUVsZW1lbnQocyksIGRsID0gbCAhPSAnZGF0YUxheWVyJyA/ICcmbD0nICsgbCA6ICcnOyBqLmFzeW5jID0gdHJ1ZTsgai5zcmMgPQ0KICAgICAgICAgICAgICAgICAgICAnLi4vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0bTU0NDUuaHRtbD9pZD0nICsgaSArIGRsOyBmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGosIGYpOw0KICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2RhdGFMYXllcicsICdHVE0tUDk4S1I2RCcpOzwvc2NyaXB0Pg0KDQoNCiAgICA8bm9zY3JpcHQ+DQogICAgICAgIDxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ucy5odG1sP2lkPUdUTS1QOThLUjZEIg0KICAgICAgICAgICAgICAgIGhlaWdodD0iMCIgd2lkdGg9IjAiIHN0eWxlPSJkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW4iPjwvaWZyYW1lPg0KICAgIDwvbm9zY3JpcHQ+DQoNCg0KDQoNCg0KICAgIDxzY3JpcHQgZGVmZXIgc3JjPSJodHRwczovL3N0YXRpYy5jbG91ZGZsYXJlaW5zaWdodHMuY29tL2JlYWNvbi5taW4uanMvdjY1MmVhY2UxNjkyYTQwY2ZhMzc2M2RmNjY5ZDc0MzljMTYzOTA3OTcxNzE5NCIgaW50ZWdyaXR5PSJzaGE1MTItR2k3eHBKUjh0U2tycEY3YW9yZFBaUWxXMkRMdHpVbFpjdW1TOGRNUWp3REhFbnc5STdaTHlpT2ovNnRaU3RSQkd0R2dONmNlTjZjTUg4ejdldFBHbHc9PSIgZGF0YS1jZi1iZWFjb249J3sicmF5SWQiOiI2ZDBiMzdkMTg5OGE2YjMwIiwidG9rZW4iOiI4YWVjNDMyNGMxM2E0YzUxYmYxNzdiNGRhOTVlZDNkYiIsInZlcnNpb24iOiIyMDIxLjEyLjAiLCJzaSI6MTAwfScgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+DQoNCiAgICA8c2NyaXB0IHNyYz0iL2Fzc2V0cy9qcy9qcXVlcnktMy40LjEubWluLmpzIj48L3NjcmlwdD4NCg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgLy8gPCFbQ0RBVEFbDQogICAgICAgIGZ1bmN0aW9uIGdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0KCkgew0KICAgICAgICAgICAgbmV3IGdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudCh7DQogICAgICAgICAgICAgICAgcGFnZUxhbmd1YWdlOiAnZW4nLA0KDQogICAgICAgICAgICAgICAgZGVmYXVsdExhbmd1YWdlOiAnZW4nLA0KICAgICAgICAgICAgICAgIG11bHRpbGFuZ3VhZ2VQYWdlOiB0cnVlDQogICAgICAgICAgICB9LCAnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50Jyk7DQogICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBdXT48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iLy90cmFuc2xhdGUuZ29vZ2xlLmNvbS90cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KDQoNCiAgICANCjwvYm9keT4NCg0KDQo8L2h0bWw+DQo="}},"time_used":2262,"timings":{"blocked":-1,"dns":399,"connect":183,"send":0,"wait":204,"receive":0,"ssl":1475},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/www-player.css","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:25.689Z","timestamp":1785137065689,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/www-player.css HTTP/1.1\r\nHost: www.youtube.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://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=GhHoVqVBrjHMHksu5uSSgLzoaFxSlipAJgg5Br_6VXtipKt0M0tGx6maNNULFSuoPmjhn6TrRofBA0PX16wJP84g82xlVHelBWmJaeFN6kLW3UBMj5gR2yeB2nt_mc5Fta3BSJU5o8qIfzI2fIuyWY14DtZ_1DnPpFpxz_XlGvqNfHda7m_zgLyHIQ-fawJ9ZrP90LxwCOvFTy3uwSuBx3hgQZ1nuj8OqfQvIJQW5xJfxr01vRMWaeEk5ZEjPYuYwGK38gUfiMRXxIzUeDegCXvpN8-BMAaA-YvGh0Eml-GnQmyBMn2F18nj6fzYpEzjxyaaCzPqsxxxY54TPVwQ-Q; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxj3jqflqfKVAw%3D%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 57346\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:28:48 GMT\r\nexpires: Thu, 22 Jul 2027 07:28:48 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/css\r\nvary: Accept-Encoding, Origin\r\nage: 431737\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":525369,"size_decoded":58026,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (65534), with no line terminators","md5":"839a152020ccf30ae48724d0b0c7b838","sha1":"dc9e04d667f3ebd589549aaa4cfc8a8e887505e1","sha256":"921b6856085a224b1ca2e5db139b1788c01d4dd1e70daca7006b6a7b381bdae1","sha512":"efc3700ca9d21022fb13b33c526a2f9f6c73c6c063957504b3b8ed58ef9512fa815c7f915f522af2f3fa73dd7cbfd6634566ad1dc6c86f11f4ed0a4b74f824ce","ssdeep":"6144:s8d5Fe/qoMOg7USBfUIoImM5Kia68Oi4u7:3YxMOg7USiIoIr5Kia6Tg","tlshash":"8eb4d972f0a1233cb2278d59a7d9d54d7339d983e2e12aeff11166dacbc77811326206","first_seen":"2026-07-14T08:36:18.809394Z","last_seen":"2026-07-28T16:17:31.518857Z","times_seen":5127,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsuaHRtbDUtdmlkZW8tcGxheWVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MDtvdXRsaW5lOjA7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtjb2xvcjojZWVlO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lmh0bWw1LXZpZGVvLXBsYXllciwueXRwLWNvbnRleHRtZW51ey1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLC5odG1sNS12aWRlby1wbGF5ZXIudW5zdGFydGVkLW1vZGUsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dGQtdmlkZW8tbWFzdGhlYWQtYWQtcHJpbWFyeS12aWRlby1yZW5kZXJlciAuaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLnl0ZC12aWRlby1tYXN0aGVhZC1hZC1wcmltYXJ5LXZpZGVvLXJlbmRlcmVyIC5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllci51bnN0YXJ0ZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWJpZy1tb2Rle2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGV7Y3Vyc29yOm5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllciBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3V0bGluZTowfS5odG1sNS12aWRlby1wbGF5ZXIgYTpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgYTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0uaHRtbDUtdmlkZW8tcGxheWVyIGgxLC5odG1sNS12aWRlby1wbGF5ZXIgaDJ7bWFyZ2luOjB9Lmh0bWw1LXZpZGVvLXBsYXllciBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE1cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mn0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOGU4ZThlO2JvcmRlcjoxcHggc29saWQgIzQyNDI0Mjtib3JkZXItcmFkaXVzOjVweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt6LWluZGV4OjEwO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtZW1iZWQtZXJyb3IgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lmh0bWw1LW1haW4tdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3V0bGluZTowfS55dHAtZml0LWNvdmVyLXZpZGVvIC5odG1sNS1tYWluLXZpZGVvey1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3Zlcn0uaHRtbDUtbWFpbi12aWRlb1tkYXRhLW5vLWZ1bGxzY3JlZW49dHJ1ZV06Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b257ZGlzcGxheTpub25lfS5odG1sNS1tYWluLXZpZGVvOm5vdChbY29udHJvbHNdKTo6LXdlYmtpdC1tZWRpYS1jb250cm9scywuaHRtbDUtbWFpbi12aWRlbzpub3QoW2NvbnRyb2xzXSk6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZXtkaXNwbGF5OmlubGluZX0udW5zdGFydGVkLW1vZGUgLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMyNXB4KXsuaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy13aXJlbGVzcy1wbGF5YmFjay1waWNrZXItYnV0dG9ue2Rpc3BsYXk6bm9uZX19Lmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZS1yZW1haW5pbmctZGlzcGxheXtkaXNwbGF5Oi13ZWJraXQtZmxleH0ueXRwLXBsYXllci1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDo0OHB4O2JvdHRvbTo2MXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWhhcy1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA5NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpLnl0cC1iaWctbW9kZS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWJpZy1tb2RlLnl0cC1oYXMtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjQ5cHh9Lnl0cC1lbWJlZCAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTo1M3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCl7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50e3RvcDo2OXB4O2JvdHRvbTo3MHB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLnl0cC11cG5leHQpe3RvcDo4OXB4fS55dHAtcGxheWVyLWNvbnRlbnQueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoxMnB4O3JpZ2h0OjEycHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLXBsYXllci1jb250ZW50Lnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e3JpZ2h0OmNhbGMoMjJweCArIHZhcigtLWJyYW5kaW5nLWltYWdlLXdpZHRoKSl9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50Lnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWJpZy1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Lnl0cC1icmFuZGluZy1zaG93bi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudHtyaWdodDpjYWxjKDIycHggKyB2YXIoLS1icmFuZGluZy1pbWFnZS13aWR0aCkpfS55dHAtYXV0b2hpZGUgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLmh0bWw1LWVuZHNjcmVlbiksLnl0cC1hdXRvaGlkZSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCksLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGxheWVyLWNvbnRlbnR7dG9wOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC15cGMtcGxheWVyLWNvbnRlbnQsLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToxMnB4fS55dHAtdGltZWx5LWFjdGlvbnMtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO3otaW5kZXg6MzU7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMzNzO3RyYW5zaXRpb24tZGVsYXk6LjMzc30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0IC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWJvdHRvbS1yaWdodCAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7ZGlzcGxheTpub25lfS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjE1MXB4fS55dHAtc21hbGwtbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjEzOXB4fS55dHAtZW1iZWQueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGU6bm90KC55dHAtYWQtb3ZlcmxheS1vcGVuKSAueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToyNHB4fS55dHAtYmlnLW1vZGUueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNjBweH0ueXRwLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MDtjb2xvcjppbmhlcml0O3RleHQtYWxpZ246aW5oZXJpdDtmb250LXNpemU6MTAwJTtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpkZWZhdWx0O2xpbmUtaGVpZ2h0OmluaGVyaXR9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24ueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo5cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbikgc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo3cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWJ1dHRvbiwueXRwLWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjB9Lnl0cC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSwuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYnV0dG9uW2Rpc2FibGVkXXtvcGFjaXR5Oi41fS55dHAtYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1idXR0b246Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1jaHJvbWUtYm90dG9tLC55dHAtY2hyb21lLXRvcHtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpfS55dHAtZG5pIC55dHAtY2hyb21lLWJvdHRvbXt0ZXh0LXNoYWRvdzpub25lfS55dHAtY2hyb21lLXRvcHtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bGVmdDoxMnB4O3JpZ2h0OjEycHg7dG9wOjA7ei1pbmRleDo1OH0ueXRwLXNob3J0cy1tb2RlIC55dHAtY2hyb21lLXRvcHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cmlnaHQ6MH0ueXRwLWd2biAueXRwLWNocm9tZS10b3AsLnl0cC1ndm4ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcHt0b3A6MjBweH0ueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTt6LWluZGV4OjU5O3BhZGRpbmctdG9wOjNweDt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cn0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtcG9wb3Zlci1zaG93aW5ne3otaW5kZXg6MTAwMH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDozNnB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDo0MHB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1ib3R0b20sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scywueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OjU0cHg7cGFkZGluZy10b3A6NHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO3BhZGRpbmctdG9wOjB9Lnl0cC1jaHJvbWUtdG9wIC55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1yZXBsYXktYnV0dG9ue29wYWNpdHk6Ljk7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MzZweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLC55dHAtcmVwbGF5LWJ1dHRvbntvcGFjaXR5Oi45O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjQ4cHg7cGFkZGluZzowIDJweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1tdXRlLWJ1dHRvbntwYWRkaW5nOjZweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b257cGFkZGluZzowfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbiwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjAgNHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZCAueXRwLXJlcGxheS1idXR0b257d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbXV0ZS1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czoyOHB4O3BhZGRpbmc6MCAxNnB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246ZW5kOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1lbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257b3BhY2l0eTp1bnNldDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW11dGUtYnV0dG9ue292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbiAueXRwLXZvbHVtZS1pY29ue292ZXJmbG93OnZpc2libGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJlcGxheS1idXR0b257b3BhY2l0eTp1bnNldH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxlZnQtY29udHJvbHN7bWluLXdpZHRoOjA7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MCA0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtib3JkZXItcmFkaXVzOjQwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjQ4cHg7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsIDQ4cHgpIC0gOHB4KX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgNHB4IDAgMDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+KikueXRwLXBsYXlsaXN0LXVpe21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2luc2V0OjRweCA0cHggNHB4IDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbjpiZWZvcmV7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gOHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LCA1NnB4KSAtIDI0cHgpLzIpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtbHVtaW5vc2l0eS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmx1bWlub3NpdHk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb247LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAteW91dHViZS1idXR0b24pIHN2ZywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoLnl0cC15b3V0dWJlLWJ1dHRvbikgc3Zne3dpZHRoOjQwcHg7cGFkZGluZy1sZWZ0OjRweH0ueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b257cGFkZGluZy10b3A6NnB4O2hlaWdodDo0MnB4O3ZlcnRpY2FsLWFsaWduOnRvcH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbntwYWRkaW5nLXRvcDo5cHg7aGVpZ2h0OjYzcHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OjEwMCV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbnt3aWR0aDo1NHB4fS55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLXByZXYtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6LTEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlci1yYWRpdXM6MjdweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkvMil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXktYnV0dG9uOmFjdGl2ZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO21hcmdpbi1ib3R0b206Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgMCAwIDRweDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHg7aW5zZXQ6NHB4IDAgNHB4IDRweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXByZXYtYnV0dG9uOm5vdCh5dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbjpub3QoeXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKSBzdmd7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtZXhjbHVzaW9uLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZXhjbHVzaW9uOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLWJpZy1tb2RlIC55dHAtcHJldi1idXR0b246YmVmb3Jle3dpZHRoOjI0cHg7bGVmdDotMjRweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOm5vdChbZGlzYWJsZWRdKTpob3ZlciwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdLC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXSwueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b246aG92ZXIsLnl0cC1yZXBsYXktYnV0dG9uOmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zdmctZmlsbHtmaWxsOiNmZmZ9Lnl0cC1zdmctc2hhZG93e3N0cm9rZTojMDAwO3N0cm9rZS1vcGFjaXR5Oi4xNTtzdHJva2Utd2lkdGg6MnB4O2ZpbGw6bm9uZX0ueXRwLWRuaSAueXRwLXN2Zy1zaGFkb3d7ZGlzcGxheTpub25lfS55dHAtc3ZnLXNoYWRvdy1maWxse2ZpbGw6IzAwMDtmaWxsLW9wYWNpdHk6LjE1O3N0cm9rZTpub25lfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF17cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6M3B4O2JvcmRlci1yYWRpdXM6M3B4O2xlZnQ6MjRweDtib3R0b206OXB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpOy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHdpZHRoIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bGVmdCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjJweDtib3JkZXItcmFkaXVzOjJweDtsZWZ0OjIwcHg7Ym90dG9tOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjNweDtsZWZ0OjI3cHg7Ym90dG9tOjEwcHh9Lnl0cC1kbmkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI0cHg7bGVmdDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlcnt3aWR0aDoxOHB4O2xlZnQ6OXB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjIwcHg7bGVmdDoxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI3cHg7bGVmdDoxNHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV06YWZ0ZXJ7bGVmdDoxNXB4fS55dHAtY29sb3Itd2hpdGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtY2hyb21lLXRvcC1idXR0b25zIC55dHAtYnV0dG9ue3RleHQtc2hhZG93OmluaGVyaXR9W2Rpcj1ydGxdIC55dHAtc2hvcnRzLW1vZGUgLnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0OHB4fS55dHAtY29weWxpbmstYnV0dG9uOm5vdCgueXRwLWNvcHlsaW5rLWJ1dHRvbi12aXNpYmxlKSwueXRwLW92ZXJmbG93LWJ1dHRvbjpub3QoLnl0cC1vdmVyZmxvdy1idXR0b24tdmlzaWJsZSksLnl0cC1zaGFyZS1idXR0b246bm90KC55dHAtc2hhcmUtYnV0dG9uLXZpc2libGUpe2Rpc3BsYXk6bm9uZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpsZWZ0O2RpcmVjdGlvbjpsdHJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCk7bGluZS1oZWlnaHQ6dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO2xpbmUtaGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsOTZweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9sc3toZWlnaHQ6NDBweDtsaW5lLWhlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweH06bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtbGVmdC1jb250cm9sc3tmbG9hdDpsZWZ0fS55dHAtbGVmdC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMueXRwLWxlZnQtY29udHJvbHMtd2l0aC12b2x1bWV7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtbGVmdC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtcmlnaHQtY29udHJvbHN7ZmxvYXQ6cmlnaHR9Lnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MDttaW4td2lkdGg6MDttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHggNnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTttYXJnaW46Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDEycHg7cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdHtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzLWxlZnQ6YWZ0ZXJ7aGVpZ2h0OjI4cHg7bWFyZ2luOjEwcHggMTRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LXhzbWFsbC13aWR0aC1tb2RlLDY0cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uLnl0cC1saXZlLWJhZGdle3dpZHRoOmF1dG99Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbjpub3QoLnl0cC1saXZlLWJhZGdlKTpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW5leHQtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDo0MHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xze2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257ZGlzcGxheTpub25lO21hcmdpbjo0cHggMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdDphZnRlcntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXNldHRpbmdzLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbS55dHAteHNtYWxsLXdpZHRoLXJpZ2h0LWNvbnRyb2xzLWV4cGFuZGVkIC55dHAtbGVmdC1jb250cm9scyAueXRwLXRpbWUtZGlzcGxheXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtdm9sdW1lLWFyZWF7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWF7bWFyZ2luOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAwIHZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbiBzdmd7cGFkZGluZzp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWE6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6MjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtc2xpZGVyLWFjdGl2ZSAueXRwLXZvbHVtZS1hcmVhe3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXZvbHVtZS1hcmVhe21hcmdpbjp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCkgMCAwIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDhweDtoZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC1idXR0b257aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1hcmVhIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O3BhZGRpbmc6MTFweH0ueXRwLWF1dG9oaWRlLWZhZGUtdHJhbnNpdGlvbiwueXRwLWNocm9tZS1ib3R0b206bm90KC55dHAtZnJvc3RlZC1nbGFzcy1vcGFjaXR5LWFuaW1hdGlvbiksLnl0cC1jaHJvbWUtdG9wey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYXV0b2hpZGUtZmFkZS10cmFuc2l0aW9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tOm5vdCgueXRwLWZyb3N0ZWQtZ2xhc3Mtb3BhY2l0eS1hbmltYXRpb24pLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1hdXRvaGlkZSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCwueXRwLWF1dG9oaWRlIC55dHAtdGl0bGUsLnl0cC1hdXRvaGlkZSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLWJvdHRvbVthcmlhLWhpZGRlbj10cnVlXSwueXRwLWNocm9tZS10b3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtb3ZlcmZsb3ctYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpOm5vdCgueXRwLWNhcmRzLXRlYXNlci1zaG93bikgLnl0cC1jYXJkcy1idXR0b257ZGlzcGxheTpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3BhZGRpbmctcmlnaHQ6OHB4fS55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtdG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQURHQ0FZQUFBQVQrT3FGQUFBQWRrbEVRVlFvejQyUVFRN0FJQWdFRi9UL0Qra2JxL1JXQWxuUXl5YXpBNGFvQUI0RnNCU0EvYkZqdUYxRU9MN1ZicklyQnV1c21ydDRaWk9SZmI2ZWhiV2RuUkhFSWlJVGFFVUthNUVKcVVha1JTYUVZQkpTQ1kyZEVzdFFZN0F1eGFod1hGcnZabVdsMnJoNEpaMDd6OWRMdGVzZk5qNXEwRlUzQTVPYmJ3QUFBQUJKUlU1RXJrSmdnZz09KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbSwueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFFbUNBWUFBQUNqeS9xekFBQUFoa2xFUVZRNHk1MlJVUTZBTUF4Q0tkNy9KSjdSNmFlSkFkcjUwN1RqUVpxT0FFNENXQVJ3eDdKRTk0NHJjaC9rNnFPV1M3YnE1Ymg3MnpHRjgrTFRhNmdvSmVSUGdYRFlOeFdGZmtTMFFYQ0luTElOMUd4VFhBMGR0UzBvdFdKbnVYSlIxWTlXWVA5R0YxVUNZUlFZSFJTbFhNQVJiVk80dGgzc2Q3WTNPUDVkWTNCbitTa1BzR0oxK0hHR1Z0Y0FBQUFBU1VWT1JLNUNZSUk9KX0ueXRwLWF1dG9oaWRlIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtYm90dG9tW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtZ3JhZGllbnQtdG9wW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZyk6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSkgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo0OHB4O3BhZGRpbmctYm90dG9tOjUwcHg7dG9wOjA7ei1pbmRleDoyNTtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcH0ueXRwLWVtYmVkLXBmbC55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NzBweDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSksdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLHJnYmEoMCwwLDAsLjc1KSksdG8odHJhbnNwYXJlbnQpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNzUpIDAsdHJhbnNwYXJlbnQpO3BhZGRpbmctYm90dG9tOjB9Lnl0cC1zaG9ydHMtbW9kZS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1ncmFkaWVudC10b3AsLnl0cC1zaG9ydHMtbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmF1dG8gMjAwJTtiYWNrZ3JvdW5kLXNpemU6YXV0byAyMDAlfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo2OXB4O3BhZGRpbmctYm90dG9tOjc3cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6ODlweDtwYWRkaW5nLWJvdHRvbTo1N3B4fS55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo2MXB4O3BhZGRpbmctdG9wOjM3cHg7Ym90dG9tOjA7ei1pbmRleDoyNDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1ncmFkaWVudC1ib3R0b217aGVpZ2h0OjQ5cHg7cGFkZGluZy10b3A6NDlweH0ueXRwLWVtYmVkIC55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo1M3B4O3BhZGRpbmctdG9wOjQ1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbXtoZWlnaHQ6NzBweDtwYWRkaW5nLXRvcDo3NnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDcwJSAtIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDIwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoMjAlICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9we2hlaWdodDowfS55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZSwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWdyYWRpZW50LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLW92ZXJmbG93LWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXNoYXJlLWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXdhdGNoLWxhdGVyLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUueXRwLWZ1bGwtYmxlZWQtcGxheWVyOm5vdCgueXRwLWdyaWQtc2Nyb2xsYWJsZSkgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKSAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6dmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybi55dHAtYXV0b2hpZGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtY2hyb21lLWJvdHRvbSwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWF1dG9oaWRlKSAueXRwLWNocm9tZS1ib3R0b217b3BhY2l0eTpjYWxjKDEgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGModmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLWNocm9tZS1ib3R0b217cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1jaHJvbWUtYm90dG9te2Rpc3BsYXk6bm9uZX0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSl7Lnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1ncmFkaWVudC10b3B7YmFja2dyb3VuZDojMDAwO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yezAle2JhY2tncm91bmQtY29sb3I6I2YwMH0yMCV7YmFja2dyb3VuZC1jb2xvcjojMGYwfTQwJXtiYWNrZ3JvdW5kLWNvbG9yOiMwMGZ9NjAle2JhY2tncm91bmQtY29sb3I6I2YwZn04MCV7YmFja2dyb3VuZC1jb2xvcjojZmYwfXRve2JhY2tncm91bmQtY29sb3I6IzBmZn19QGtleWZyYW1lcyB5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvcnswJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDB9MjAle2JhY2tncm91bmQtY29sb3I6IzBmMH00MCV7YmFja2dyb3VuZC1jb2xvcjojMDBmfTYwJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGZ9ODAle2JhY2tncm91bmQtY29sb3I6I2ZmMH10b3tiYWNrZ3JvdW5kLWNvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktY29sb3J7MCV7Y29sb3I6I2YwMH0yMCV7Y29sb3I6IzBmMH00MCV7Y29sb3I6IzAwZn02MCV7Y29sb3I6I2YwZn04MCV7Y29sb3I6I2ZmMH10b3tjb2xvcjojMGZmfX1Aa2V5ZnJhbWVzIHl0cC1wYXJ0eS1jb2xvcnswJXtjb2xvcjojZjAwfTIwJXtjb2xvcjojMGYwfTQwJXtjb2xvcjojMDBmfTYwJXtjb2xvcjojZjBmfTgwJXtjb2xvcjojZmYwfXRve2NvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktZmlsbHswJXtmaWxsOiNmMDB9MjAle2ZpbGw6IzBmMH00MCV7ZmlsbDojMDBmfTYwJXtmaWxsOiNmMGZ9ODAle2ZpbGw6I2ZmMH10b3tmaWxsOiMwZmZ9fUBrZXlmcmFtZXMgeXRwLXBhcnR5LWZpbGx7MCV7ZmlsbDojZjAwfTIwJXtmaWxsOiMwZjB9NDAle2ZpbGw6IzAwZn02MCV7ZmlsbDojZjBmfTgwJXtmaWxsOiNmZjB9dG97ZmlsbDojMGZmfX0ueXRwLW1lbnUtc2hvd24gLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lnl0cC1hZC1kaXNwbGF5LW92ZXJyaWRlIC52aWRlby1hZHN7ZGlzcGxheTppbmhlcml0fS55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyl9Lnl0cC1kbmkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3Itc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6I2FhYX0ueXRwLWNvbG9yLXBhcnR5IC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3IsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9yLC55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvci1zZWNvbmRhcnl7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTtiYWNrZ3JvdW5kOm5vbmV9Lnl0cC1zd2F0Y2gtY29sb3J7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpfS55dHAtc3dhdGNoLWNvbG9yLXdoaXRle2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSl9Lnl0cC1wcmVtaXVtLWxhYmVse2ZvbnQtc2l6ZTo4My4zMzMzJTtjb2xvcjojY2NjfS55dHAtZG5pIC55dHAtc3dhdGNoLWNvbG9ye2NvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1jb2xvcntjb2xvcjojZGRkfS55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtY29sb3J7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWNvbG9yIC4xNXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIHByaW50ey5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpICp7dmlzaWJpbGl0eTpoaWRkZW59Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcil7Ym9yZGVyOjFweCBzb2xpZCAjMDAwOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY2hyb21lLXRvcCw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtbGFyZ2UtcGxheS1idXR0b257b3BhY2l0eToxIWltcG9ydGFudDtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbiAqLDpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC10aXRsZSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdGl0bGUgKntjb2xvcjojMDAwIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fX0ueXRwLXBsYXllci1pbi1iYXItZGlzYWJsZS11aT46bm90KC5odG1sNS12aWRlby1jb250YWluZXIpe2Rpc3BsYXk6bm9uZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtY29tcG9zaXRlLXZpZGVvLW92ZXJsYXktcmVuZGVyZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7ei1pbmRleDoxMH0ueXRwLWFkLW1vZHVsZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEycHgpO3RvcDowfS52aWRlby1hZC1zdGF0dXMtYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3otaW5kZXg6ODUwO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6Ljc7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjUzcHh9Lnl0cC1iaWctbW9kZSAudmlkZW8tYWQtc3RhdHVzLWJhcntib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LmFkLXNob3dpbmcgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7ZGlzcGxheTpibG9ja30uYWQtc2hvd2luZy55dHAtYXV0b2hpZGUgLnZpZGVvLWFkLXN0YXR1cy1iYXIsLmFkLXNob3dpbmcueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LnZpZGVvLWFkLWxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo1cHh9LmFkLXNob3dpbmcgLmFkLXZpZGVve3Bvc2l0aW9uOmFic29sdXRlfS5hZC1zaG93aW5nIC5hZC12aWRlb3t0b3A6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1jbGljay10cmFja2luZywuaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1zdHJlYW17ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLWNvbnRhaW5lci1zaW5nbGUtbWVkaWEtZWxlbWVudC1hbm5vdGF0aW9uc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1jb250YWluZXItc2luZ2xlLW1lZGlhLWVsZW1lbnQtYW5ub3RhdGlvbnMtd29ya2Fyb3VuZHt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e2JvdHRvbTo1M3B4fS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLmFkLW92ZXJsYXksLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAuYWQtb3ZlcmxheXtib3R0b206NzBweH0ueXRwLWF1dG9oaWRlLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheSAudmlkZW8tY2xpY2stdHJhY2tpbmd7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+Om5vdCguaW1hLWNvbnRhaW5lcil7ei1pbmRleDo4NzB9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheT4uaW1hLWNvbnRhaW5lcnt6LWluZGV4OmF1dG8haW1wb3J0YW50fS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+LmltYS1jb250YWluZXI+Knt6LWluZGV4Ojg3MCFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmV9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpIC5hZC1jb250YWluZXIsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCgueXRwLWFkLW92ZXJsYXktb3BlbikgLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lml2LWVuZGNhcC1iYWNrZ3JvdW5ke3otaW5kZXg6ODIxfS5odG1sNS12aWRlby1wbGF5ZXIgLmF0dHJpYnV0aW9uLWJ1dHRvbnt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLWJ1dHRvbi1pY29uLC55dHAtYWQtYnV0dG9uLXRleHQsLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLC55dHAtYWQtc2tpcC1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXNraXAtYnV0dG9uLXRleHQtY2VudGVyZWR7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSBidXR0b257b3V0bGluZTowfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSAueXRwLWFkLWJ1dHRvbjpmb2N1cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgYnV0dG9uOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtYnV0dG9uLWxpbmt7cGFkZGluZzowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLWFkLWJ1dHRvbi1saW5rOmFjdGl2ZSwueXRwLWFkLWJ1dHRvbi1saW5rOmhvdmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97bGVmdDoyNHB4O2JvdHRvbTo3MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZve2JvdHRvbTo2cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206NjFweDtjdXJzb3I6ZGVmYXVsdDtsZWZ0OjE4cHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KTt6LWluZGV4Ojg1MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1lbWJlZCAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97Ym90dG9tOjUzcHh9Lnl0cC1hZC1jbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1hZC1kaXNjbG9zdXJlLWJhbm5lcntib3JkZXItcmFkaXVzOjA7Ym90dG9tOmF1dG87Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OmF1dG87bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjI0cHg7ei1pbmRleDo4NTB9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWFkLWRpc2Nsb3N1cmUtYmFubmVye2xlZnQ6MjRweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWZseW91dC1jdGF7Ym90dG9tOjg2cHg7bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo4NTB9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3RhLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZW1iZWQgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo3OHB4fS55dHAtZmx5b3V0LWN0YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1mbHlvdXQtY3RhLWxhcmdle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZzo4cHg7bWluLXdpZHRoOjIwMHB4fS55dHAtZmx5b3V0LWN0YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtZmx5b3V0LWN0YS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2JvcmRlci1yYWRpdXM6MnB4O21heC13aWR0aDo0MDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keS1sYXJnZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1mbHlvdXQtY3RhOmhvdmVyIC55dHAtZmx5b3V0LWN0YS1ib2R5e2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWZseW91dC1jdGE6aG92ZXIgLnl0cC1mbHlvdXQtY3RhLWJvZHktbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21heC13aWR0aDoyNTBweDtwYWRkaW5nLWxlZnQ6NThweDtwYWRkaW5nLXJpZ2h0OjIwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtdGV4dC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1yaWdodDoxMHB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaGVhZGxpbmUtY29udGFpbmVye2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi10b3A6MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi10b3A6M3B4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9ue292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6NTZweDttYXgtd2lkdGg6MTUwcHg7cG9zaXRpb246c3RhdGljOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci1sYXJnZXtsaW5lLWhlaWdodDppbmhlcml0O21hcmdpbjo4cHg7bWluLXdpZHRoOjEwMCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9ue2JhY2tncm91bmQ6IzE2N2FjNjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjojMTY3YWM2O2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDoyOHB4O21hcmdpbjowIDhweCAwIDA7bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTBweDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6aW5oZXJpdH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tbGFyZ2V7bWluLXdpZHRoOjEwMCU7Y29sb3I6IzBmMGYwZn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMTI2ZGIzfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24ueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTJweDtib3JkZXI6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7YmFja2dyb3VuZDojMDY1ZmQ0fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLXJvdW5kZWQtbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtZmx5b3V0LWN0YSwueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWJvZHksLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntkaXJlY3Rpb246bHRyO2hlaWdodDphdXRvfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXJ7aGVpZ2h0OjEwMCU7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo0OHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo4cHg7dG9wOi0yNnB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi55dHAtZmx5b3V0LWN0YS1pY29uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0cC1mbHlvdXQtY3RhLnl0cC1mbHlvdXQtY3RhLWluYWN0aXZley13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0ueXRwLWZseW91dC1jdGEueXRwLWZseW91dC1jdGEtaW5hY3RpdmUgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpfS55dHAtZmx5b3V0LWN0YS55dHAtZmx5b3V0LWN0YS1pbmFjdGl2ZSAueXRwLWZseW91dC1jdGEtYm9keXttYXgtd2lkdGg6MDt3aWR0aDowfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo5NXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEsLnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keSwueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjQwcHg7bWF4LXdpZHRoOjE5MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVye2hlaWdodDoxMDAlO3dpZHRoOjQwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21hcmdpbi1sZWZ0OjZweDtwYWRkaW5nOjRweCAyMHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lcntmb250LXNpemU6MTJweDttYXJnaW4tdG9wOjJweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1kZXNjcmlwdGlvbi1jb250YWluZXJ7Zm9udC1zaXplOjExcHg7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29uLWNvbnRhaW5lcntsZWZ0OjA7dG9wOjB9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b24sLnl0cC1hZC1zaW1wbGUtYWQtYmFkZ2UsLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdle21hcmdpbi1sZWZ0OjVweDtvcGFjaXR5Oi43NX0ueXRwLWFkLXNpbXBsZS1hZC1iYWRnZS0tY2xlYW4tcGxheWVye21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdlLS1zdXJ2ZXl7Zm9udC13ZWlnaHQ6NTAwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXNpbXBsZS1hZC1iYWRnZXttYXJnaW4tbGVmdDowfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5ne21hcmdpbi1sZWZ0OjNweDtvcGFjaXR5Oi43NX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KTtsZWZ0OjA7bGluZS1oZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVyOmJlZm9yZXtjb250ZW50OiLigKIiO3BhZGRpbmctaW5saW5lOjRweH0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tbXdlYntmb250LXdlaWdodDo2MDA7bWFyZ2luLWxlZnQ6M3B4fS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLS1td2ViLWlvc3tsZXR0ZXItc3BhY2luZzotLjJweH0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MCA1cHg7bWFyZ2luLXJpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTozMHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMzMzO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MTJweDtsZWZ0Oi0xOXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtvcGFjaXR5Oi45O3BhZGRpbmc6N3B4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LXNob3J0e3doaXRlLXNwYWNlOm5vd3JhcH0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGF7Y29sb3I6IzE2N2FjNn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbjpob3ZlciAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyLC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLWhvdmVyLXRleHQtY2FsbG91dHtib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjVweCBzb2xpZCAjZmZmOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDtsZWZ0OjIwcHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MTAwJTt3aWR0aDowfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b257LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi43NTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt3aWR0aDoxM3B4fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtYnV0dG9uLS1jbGVhbi1wbGF5ZXJ7b3BhY2l0eToxOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCA3cHggcmdiYSgwLDAsMCwuOSkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgN3B4IHJnYmEoMCwwLDAsLjkpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1idXR0b257LXdlYmtpdC1maWx0ZXI6dW5zZXQ7ZmlsdGVyOnVuc2V0fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8taWNvbi1idXR0b246aG92ZXJ7b3BhY2l0eToxfS55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1iYWNrZ3JvdW5kLC55dHAtYWQtaW5mby1kaWFsb2ctYmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO2Rpc3BsYXk6dGFibGU7aGVpZ2h0OjEwMCU7bGVmdDowO21hcmdpbjphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjIyMDF9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1pbmZvLWRpYWxvZy1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteTpzY3JvbGw7b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jbG9zZS1vdmVybGF5LWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jbG9zZS1idXR0b24sLnl0cC1hZC1pbmZvLWRpYWxvZy1jbG9zZS1idXR0b257aGVpZ2h0OjI0cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDt0b3A6MTRweDt3aWR0aDoyNHB4fS55dHAtYWQtY29uZmlybS1kaWFsb2ctY2xvc2Utb3ZlcmxheS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVyLC55dHAtYWQtaW5mby1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb250YWluZXIsLnl0cC1hZC1pbmZvLWRpYWxvZy1jb250YWluZXJ7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLC55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0sLnl0cC1hZC1pbmZvLWRpYWxvZy1mb3Jte2JhY2tncm91bmQ6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCBibGFjaztjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE4MHB4O21heC13aWR0aDo1MCU7cGFkZGluZzoxNHB4O3RleHQtYWxpZ246bGVmdH0ueXRwLWFkLWluZm8tZGlhbG9nLXJlbGF0aXZlLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjcyfS55dHAtYWQtaW5mby1kaWFsb2ctcmVsYXRpdmUtY29udGFpbmVyIC55dHAtYWQtaW5mby1kaWFsb2ctZm9ybXstd2Via2l0LWJveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JvcmRlci1jb2xvcjojZTJlMmUyO21heC13aWR0aDpub25lfS55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0gYSwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1mb3JtIGE6aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYSwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYTpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9ue2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUsLnl0cC1hZC1pbmZvLWRpYWxvZy10aXRsZXtjb2xvcjojMzMzO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUgYSwueXRwLWFkLWluZm8tZGlhbG9nLXRpdGxlIGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX11bC55dHAtYWQtaW5mby1kaWFsb2ctYWQtcmVhc29uc3twYWRkaW5nOjA7bWFyZ2luOjA7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1hZC1yZWFzb25zIGxpe2xpc3Qtc3R5bGU6ZGlzYztsaXN0LXN0eWxlLXBvc2l0aW9uOm91dHNpZGU7bWFyZ2luLWxlZnQ6MjBweH0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2VzLC55dHAtYWQtaW5mby1kaWFsb2ctZmVlZGJhY2stb3B0aW9uc3ttYXJnaW4tbGVmdDo4cHh9bGFiZWwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1yZWFzb24tbGFiZWx7ZGlzcGxheTpibG9jazttYXJnaW46OHB4IDB9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tY29udGFpbmVye21hcmdpbi10b3A6OHB4O3RleHQtYWxpZ246cmlnaHR9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b24sLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9ue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7bWFyZ2luOjRweCAwIDAgMTJweDtwYWRkaW5nOjEwcHg7Y29sb3I6IzE2N2FjNjtjdXJzb3I6cG9pbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uOmhvdmVyLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbjpob3ZlciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9uOmhvdmVye2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtYWQtaW5mby1kaWFsb2ctbXV0ZS1jb250YWluZXJ7bWFyZ2luLXRvcDo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1tdXRlLWJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn0ueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9uIC55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OjE2cHg7bWFyZ2luLXJpZ2h0OjVweDt3aWR0aDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy11bmRvLW11dGUtYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tbGVmdDo1cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1sZWZ0OjVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTJweDtyaWdodDotMnB4O3RvcDotN3B4O2JvdHRvbTotOHB4fS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b24gLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEycHg7bWFyZ2luOi00cHggM3B4IC0ycHggMDtwYWRkaW5nOjVweCAwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b246aG92ZXIgLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2N1cnNvcjpwb2ludGVyOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7aGVpZ2h0OjEwcHg7b3BhY2l0eTouNzU7d2lkdGg6MTBweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmhvdmVyIC55dHAtYWQtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWJpZy1tb2RlIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo5NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjE1NnB4fS55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWVtYmVkLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206MjVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjg2cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0tdXNlci1zZW50aW1lbnQgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjcwcHh9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciwueXRwLXNldHRpbmdzLXNob3duIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntvcGFjaXR5Oi40O3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDo4NTB9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWFkLW1lc3NhZ2Utb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvdHRvbTowO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6ODUwfS55dHAtYWQtbWVzc2FnZS1zbG90LC55dHAtYWQtcHJldmlldy1zbG90LC55dHAtYWQtc2tpcC1hZC1zbG90e3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDo4NTB9Lnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWVtYmVkIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1lbWJlZCAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eToxO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyLC55dHAtYWQtcHJldmlldy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lci1kZXRhY2hlZHttYXJnaW4tcmlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtoZWlnaHQ6MzZweH0ueXRwLWFkLXByZXZpZXctY29udGFpbmVyLWRldGFjaGVkOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouNztwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLWRldGFjaGVke21hcmdpbi1yaWdodDoxMnB4O29wYWNpdHk6MX0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtYWQtcHJldmlldy1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLXByZXZpZXctdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtoZWlnaHQ6MzBweDtsZXR0ZXItc3BhY2luZzouMXB4O21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MTFweCAxMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LjFweDtwYWRkaW5nOjAgOHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLW1lc3NhZ2UtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDtoZWlnaHQ6NTJweDtsaW5lLWhlaWdodDo1MnB4O2xldHRlci1zcGFjaW5nOi4xcHg7bWluLXdpZHRoOjgwcHg7cGFkZGluZzowIDIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtYWQtcHJldmlldy1pbWFnZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1hZC1wcmV2aWV3LWltYWdlPi55dHAtYWQtaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDo5MnB4O2hlaWdodDo1MnB4fS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm4+Lnl0cC1hZC1pbWFnZXtkaXNwbGF5OmJsb2NrO2hlaWdodDozNnB4O3dpZHRoOjY1cHh9LmNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjA7cGFkZGluZzowIDhweH0uY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjQxcHg7d2lkdGg6NzNweH0ubW9kZXJuLWNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDphdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MCA4cHh9Lm1vZGVybi1jb3VudGRvd24tbmV4dC10by10aHVtYm5haWwgLnl0cC1hZC1wcmV2aWV3LXRleHQtbW9kZXJuLXBvc3Ryb2xse3BhZGRpbmc6MCAxNHB4fS5tb2Rlcm4tY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjM2cHg7d2lkdGg6NjVweH0ueXRwLWFkLXNraXAtYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXItcmlnaHQ6MDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjojZmZmO2RpcmVjdGlvbjpsdHI7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi13aWR0aDowO3BhZGRpbmc6MTBweCA2cHggOHB4IDEwcHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXNraXAtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOSk7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yaWdodDowfS55dHAtYWQtc2tpcC1idXR0b24taWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46LTE0cHggLTZweCAtMTJweCAtNHB4fS55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7Y29sb3I6I2ZmZjtkaXJlY3Rpb246bHRyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDpub3JtYWw7bWluLXdpZHRoOjA7cGFkZGluZzowIDZweCAwIDE2cHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjE4cHg7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46aG92ZXJ7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSx0byhyZ2JhKDI1NSwyNTUsMjU1LC4yKSkpLC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiKDE1LDE1LDE1KSksdG8ocmdiKDE1LDE1LDE1KSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLGxpbmVhci1ncmFkaWVudChyZ2IoMTUsMTUsMTUpLHJnYigxNSwxNSwxNSkpfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3Vze2JhY2tncm91bmQ6cmdiKDE1LDE1LDE1KTtvdXRsaW5lOm5vbmU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWljb24tZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW13ZWItZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLWRlbGhpIC55dHAtYWQtc2tpcC1idXR0b24taWNvbi1tb2Rlcm4gc3Zne2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7cGFkZGluZzo0cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46Zm9jdXMtdmlzaWJsZSAueXRwLWFkLXNraXAtYnV0dG9uLWljb24tbW9kZXJuIHN2ZyBwYXRoe2ZpbGw6IzBmMGYwZn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6ODUwfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1vdmVybGF5LXNsb3R7Ym90dG9tOjcwcHh9Lnl0cC1hdXRvaGlkZS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLnl0cC1hZC1vdmVybGF5LXNsb3R7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLWVuaGFuY2VkLW92ZXJsYXksLnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLW92ZXJsYXktaW1hZ2UgaW1nLC55dHAtYWQtb3ZlcmxheS1jb250YWluZXIgLnl0cC1hZC10ZXh0LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1hZC10ZXh0LW92ZXJsYXl7aGVpZ2h0OjYzcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bzttYXgtd2lkdGg6NDQwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtYWQtdGV4dC1vdmVybGF5OmhvdmVye2JvcmRlcjoxcHggc29saWQgcmdiKDU4LDU4LDU4KX0ueXRwLWFkLW92ZXJsYXktdGl0bGV7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO2ZvbnQ6NzAwIDE0cHggYXJpYWwsc2Fucy1zZXJpZjttYXJnaW46N3B4IDIycHggMCAwO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWJvdHRvbTo0cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgLTFweCAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLXRleHQtb3ZlcmxheTpob3ZlciAueXRwLWFkLW92ZXJsYXktdGl0bGV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktZGVzY3tjb2xvcjojZmZmO2ZvbnQ6MTJweCBhcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1ib3R0b206MnB4O21hcmdpbi10b3A6LTNweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbWFnZS1vdmVybGF5e21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLW92ZXJsYXktaW1hZ2V7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRwLWFkLWltYWdlLW92ZXJsYXk6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktbGlua3tjdXJzb3I6cG9pbnRlcjtib3R0b206OXB4O2NvbG9yOiNlYWRlOTA7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246c3RhdGljO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OnJnYigwLDAsMCkgMCAtMXB4IDB9Lnl0cC1hZC1vdmVybGF5LWxpbmsueXRwLWFkLW92ZXJsYXktbGluay1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lcntjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxNXB4O3BhZGRpbmc6NnB4IDFweCAxMHB4IDIwcHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMXB4O3RvcDowO3dpZHRoOjE1cHh9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lciAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDttYXJnaW46MDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtaG92ZXItdGV4dC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6MX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZpbGwtb3BhY2l0eTouODtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi45O3dpZHRoOmluaGVyaXQ7LXdlYmtpdC1maWx0ZXI6bm9uZTtmaWx0ZXI6bm9uZTtsaW5lLWhlaWdodDpub3JtYWw7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7dmVydGljYWwtYWxpZ246dG9wfS55dHAtYWQtb3ZlcmxheS1jbG9zZS1jb250YWluZXJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjE1cHg7bWFyZ2luOjA7cGFkZGluZzo2cHggNnB4IDEwcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MTVweH0ueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDtmaWxsLW9wYWNpdHk6Ljg7ZmxvYXQ6cmlnaHQ7aGVpZ2h0OmluaGVyaXQ7b3BhY2l0eTouOTt3aWR0aDppbmhlcml0fS55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1jbG9zZS1idXR0b24gc3Zne2JhY2tncm91bmQ6IzAwMDtmaWxsOiNmZmZ9Lnl0cC1hZC1pbWFnZS1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHN2Z3tiYWNrZ3JvdW5kOiNmZmY7ZmlsbDojNzU3NTc1fS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDppbmhlcml0fS55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1vdmVybGF5LWNsb3NlLWNvbnRhaW5lcjpob3ZlciAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2ZpbGwtb3BhY2l0eToxfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbntib3R0b206OHB4O2NvbG9yOiM4ODg7Y3Vyc29yOnBvaW50ZXI7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MXB4O3BhZGRpbmc6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbjpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktYXR0cmlidXRpb257Y29sb3I6aW5oZXJpdDt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLW92ZXJsYXktdGV4dC1pbWFnZXtmbG9hdDpsZWZ0fS55dHAtYWQtb3ZlcmxheS10ZXh0LWltYWdlIGltZ3std2Via2l0LWJveC1zaGFkb3c6MCAzcHggNXB4IHJnYmEoMCwwLDAsLjQ5ODAzOSk7Ym94LXNoYWRvdzowIDNweCA1cHggcmdiYSgwLDAsMCwuNDk4MDM5KTtoZWlnaHQ6NTdweDttYXJnaW46MnB4IDEwcHggMCAwO3dpZHRoOmF1dG87bWluLXdpZHRoOjU3cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFse2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6NjR9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWJhY2tncm91bmQtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtkaXNwbGF5OmJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90e3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjY1fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2Rpc3BsYXk6YmxvY2s7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTE0MHB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDo1MCU7d2lkdGg6MjgwcHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJke21hcmdpbi1sZWZ0Oi05MHB4O3dpZHRoOjE4MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWNhcmQtdW5pZmllZHttYXJnaW4tbGVmdDotMjE1cHg7d2lkdGg6NDMwcHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtY2FyZC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLXVuaWZpZWR7bWFyZ2luLWxlZnQ6MDtsZWZ0OjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjI0NXB4O3BhZGRpbmc6MCAwIDAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZS1jb250YWluZXItdW5pZmllZHt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjI4cHggMCAxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci11bmlmaWVke3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXJnaW46MCBhdXRvIDAgMDtwYWRkaW5nOjEwcHggMH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Y29sb3I6IzMzMztkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MjBweDttYXgtaGVpZ2h0OjIuMmVtO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Zm9udC1zaXplOjE2cHg7bWF4LWhlaWdodDoyLjJlbTtwYWRkaW5nLXRvcDo4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lci11bmlmaWVke3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbi1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLXVuaWZpZWR7ZGlzcGxheTpub25lfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbntjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDttYXgtaGVpZ2h0OjEuMWVtO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctYm90dG9tOjhweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci11bmlmaWVke3BhZGRpbmc6NnB4IDB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiMxNjdhYzY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIzcHg7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweDttaW4td2lkdGg6MTY0cHg7cGFkZGluZzowIDIwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9ue2ZvbnQtc2l6ZToxNXB4O2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7bWluLXdpZHRoOjEyMHB4fS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbntoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O21pbi13aWR0aDowfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtib3JkZXItcmFkaXVzOjI4cHg7aGVpZ2h0OjU2cHg7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI4cHg7cGFkZGluZzowIDI0cHg7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE1cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87bWF4LXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1MCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjpub25lO2hlaWdodDoxMjhweDt3aWR0aDoxMjhweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2V7cG9pbnRlci1ldmVudHM6YXV0bzttYXgtd2lkdGg6MTAwJX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLXVuaWZpZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXJ7aGVpZ2h0OjYwcHg7d2lkdGg6NjBweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lcntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLXVuaWZpZWR7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci11bmlmaWVke21hcmdpbi1sZWZ0Oi02cHg7cGFkZGluZzo2cHg7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXItdW5pZmllZHtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci11bmlmaWVkey13ZWJraXQtZmlsdGVyOmJsdXIoNzBweCk7ZmlsdGVyOmJsdXIoNzBweCl9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLXNsb3QueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC1kYXJrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUwLDUwLDUwLC44KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90LXVuaWZpZWR7aW5zZXQ6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtbGlnaHR7Y29sb3I6I2ZmZn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyOHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDozNHB4O21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy10b3A6MDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6bm9uZTtwYWRkaW5nLXRvcDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtmb250LXNpemU6MTZweDtwYWRkaW5nLXRvcDoxMnB4O3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWxpZ2h0e2NvbG9yOiNmZmZ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLXVuaWZpZWR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNjIsMTY2LDI1NSk7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjIwcHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1tb25vLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2NvbG9yOnJnYigxNSwxNSwxNSk7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToyMHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tbW9iaWxlLWNvbXBhbmlvbi1zaXple21pbi13aWR0aDowO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MCAxNnB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tdW5pZmllZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYig2MiwxNjYsMjU1KTtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MThweDttaW4td2lkdGg6MDttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQgLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2JhY2tncm91bmQtY29sb3I6cmdiKDYyLDE2NiwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2hlaWdodDoyMnB4O2xpbmUtaGVpZ2h0OjEycHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoyMDBweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQtbW9ubzpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDotNnB4IDA7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm8gLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97aGVpZ2h0OjIycHg7bGluZS1oZWlnaHQ6MTJweH0ueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTo0cHg7ZGlzcGxheTpibG9jaztsZWZ0OjZweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjY1fS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1jb250YWluZXIueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVyLXVwcGVyLXJpZ2h0e2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweH1zdmcueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd257YmFja2dyb3VuZDpub25lO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoyMHB4O29wYWNpdHk6LjQ7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7d2lkdGg6MjBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tYmFja2dyb3VuZHtmaWxsOm5vbmU7c3Ryb2tlOm5vbmV9Y2lyY2xlLnl0cC1hZC10aW1lZC1waWUtY291bnRkb3duLWlubmVye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MTBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS13aWR0aDoxfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nOjAgMzJweDttYXJnaW46MDtsaW5lLWhlaWdodDpub3JtYWw7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHAtYWQtc3VydmV5LnJlbGF0aXZlLXBvc2l0aW9uaW5nLXN1cnZleXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojg1MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbnN7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1mbGV4LWdyb3c6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCBhdXRvO2hlaWdodDoxMDAlfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3BhZGRpbmctdG9wOjA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWZ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcG9zaXRpb246NTAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjF9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tZm9yZWdyb3VuZHt6LWluZGV4OjJ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtjb2xvcjojMTMxMzEzO2ZvbnQtc2l6ZToyMHB4O3RleHQtYWxpZ246bGVmdDt3aWR0aDozMDJweDttYXJnaW4tcmlnaHQ6NDhweDtsaW5lLWhlaWdodDoyOHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7cmlnaHQ6MDt0b3A6MzVweDt3aWR0aDozMDhweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zley13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmV7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDtwYWRkaW5nLXRvcDo0JX0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle3BhZGRpbmctdG9wOjA7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC10b2dnbGUtYnV0dG9uLWlucHV0e2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyOHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbjpob3ZlciwueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbjpob3Zlcntmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbnttYXJnaW4tbGVmdDoyNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlciAueXRwLWFkLXRvZ2dsZS1idXR0b24tdG9nZ2xlZHtmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDojNjA2MDYwfS55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b2dnbGVkLWljb24gc3ZnIHBhdGg6bGFzdC1vZi10eXBle2ZpbGw6IzA0NWVkZH0ueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czphdXRvO2N1cnNvcjpwb2ludGVyfS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTJweDtyaWdodDowO2hlaWdodDo1MnB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntiYWNrZ3JvdW5kOiMxYjdmY2M7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDttYXJnaW4tcmlnaHQ6NnB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6NTZweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9uLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQ6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDozNnB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXBsYXllci1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1za2lwLW9yLXByZXZpZXcsLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktc2tpcC1vci1wcmV2aWV3e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cmlnaHQ6MH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWx7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjUwMDA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1jb250ZW50c3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbCAueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtY29udGVudHN7aGVpZ2h0OmF1dG99Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tdG9wOjI1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiMxMzEzMTM7d2lkdGg6MjcycHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ297YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTstbW96LWJhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2hlaWdodDoyNXB4O21hcmdpbi1sZWZ0OjMycHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTA1cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28taW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE2MXB4O3BhZGRpbmc6MTBweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi10b3A6MjVweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyOjB9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQtY29sb3I6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7aGVpZ2h0OjM2cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjU2cHgpey55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1sb2dve21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXRvcDoxNXB4fS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC10ZXh0e2ZvbnQtc2l6ZToyMHB4O21hcmdpbi1sZWZ0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257Zm9udC1zaXplOjE4cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleXtwYWRkaW5nOjAgMzJweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXRleHR7Zm9udC1zaXplOjIwcHg7bWFyZ2luLXJpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MjhweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjI0cHg7d2lkdGg6YXV0b30ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6MjJweDtmb250LXNpemU6MTBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NDhweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjB9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6NDBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS11c2VyLXNlbnRpbWVudHtkaXNwbGF5Om5vbmV9W2Rpcj1ydGxdIC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVye2JvdHRvbTo0MHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyOTRweCkgYW5kIChtaW4taGVpZ2h0OjYzMHB4KXsueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbiwueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtbG9nbywueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtdGV4dHttYXJnaW4tbGVmdDo2NHB4fS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87cGFkZGluZzowIDYwcHh9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1yaWdodDo0OHB4O3dpZHRoOjM1NHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjM4cHg7d2lkdGg6MzkwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vye2hlaWdodDo2MHB4fS55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3ZlLC55dHAtYWQtc3VydmV5LXN1Ym1pdC1idXR0b257aGVpZ2h0OjQ0cHg7Zm9udC1zaXplOjE4LjJweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweDstd2Via2l0LWZsZXg6MCAwIDMycHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDMycHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NjBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjI1cHh9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6NzBweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNzIwcHgpIGFuZCAobWluLWhlaWdodDo5ODBweCl7Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6OTZweH0ueXRwLWFkLXN1cnZleXt3aWR0aDoxMDAlO3BhZGRpbmc6MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjQzcHg7bWFyZ2luLXJpZ2h0OjgwcHg7d2lkdGg6NDUwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vyc3t0b3A6NTdweDt3aWR0aDo1MDBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0Ojc2cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6NjdweDtmb250LXNpemU6MjcuNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlci1idXR0b24sLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b257Zm9udC1zaXplOjMycHg7bGluZS1oZWlnaHQ6NDNweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4Oy13ZWJraXQtZmxleDowIDAgMzJweDstd2Via2l0LWJveC1mbGV4OjA7ZmxleDowIDAgMzJweDttYXJnaW4tcmlnaHQ6MjBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle2hlaWdodDo3NnB4fS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtib3R0b206NDVweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9ue21hcmdpbi1yaWdodDoxMnB4O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MTEwcHh9fS55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXRvZ2dsZS1idXR0b246aG92ZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvb2x0aXB7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjcpO2JvdHRvbToxNDdweDtkaXNwbGF5OmlubGluZS1ibG9jaztwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDo4NTB9Lnl0cC1lbWJlZCAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lcntib3R0b206MTM5cHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LXNlbGVjdGVkey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtiYWNrZ3JvdW5kOiM0NzgwZWV9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiwueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjJweDtvcGFjaXR5Oi44O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyMnB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtwYWRkaW5nOjEycHggMTBweCAxMnB4IDIwcHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cGFkZGluZzoxMnB4IDIwcHggMTJweCAxMHB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbjpob3ZlciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntvcGFjaXR5OjF9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvZ2dsZWQgLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JhY2tncm91bmQ6cmdiYSgzMSwzMSwzMSwuNSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjE4cHg7bGV0dGVyLXNwYWNpbmc6MDttYXJnaW46OXB4IDA7cGFkZGluZzo4cHggMTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uOmhvdmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JvdHRvbTo0NnB4O3JpZ2h0OjIwcHh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyLWdyYWRpZW50c3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNDAlLHJnYmEoMCwwLDAsLjc1KSksY29sb3Itc3RvcCg5OSUscmdiYSgwLDAsMCwwKSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXItYm90dG9tOm5vbmU7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwJTtvcGFjaXR5Oi44O3RvcDowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbjpiZWZvcmV7Y29udGVudDpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbnttYXJnaW46YXV0byAxMXB4IGF1dG8gYXV0bztwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luOmF1dG8gMDtwYWRkaW5nOjAgNHB4IDVweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXBsYXllci1vdmVybGF5LXRvcC1iYXItZ3JhZGllbnRzIC55dHAtdmlkZW8tYWQtdG9wLWJhci10aXRsZXstd2Via2l0LWZsZXg6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTt0ZXh0LWRlY29yYXRpb246bm9uZTtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweDttYXgtd2lkdGg6NTAlO2hlaWdodDoxNnB4O2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW46MTBweCA1cHggNXB4IDEwcHg7ei1pbmRleDo4NTA7b3BhY2l0eTouOX0ueXRwLWFkLWNsaWNrYWJsZS1lbGVtZW50OmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtYWQtdW5kZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEzMXB4O2xlZnQ6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gMjYycHgpO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjgwcHgpO3RvcDoxNDBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjIycHgpO3RvcDoxMTFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMTUwcHgpO3RvcDo3NXB4fS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXVuZGVybGF5e2hlaWdodDpjYWxjKDEwMCUgLSAxMjJweCk7dG9wOjYxcHh9Lnl0cC1hZC11bmRlcmxheS1jb21wYW5pb257aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRwLWFkLXVuZGVybGF5LXNpZGUtY29udGFpbmVye2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOjEyNXB4O3BhZGRpbmctYm90dG9tOjEyNXB4fS55dHAtYWQtdW5kZXJsYXktbGVmdC1jb250YWluZXJ7bWFyZ2luLWxlZnQ6MiU7cGFkZGluZy1yaWdodDoyJX0ueXRwLWFkLXVuZGVybGF5LXJpZ2h0LWNvbnRhaW5lcnttYXJnaW4tbGVmdDo1Mi41JX0ueXRwLWFkLXVuZGVybGF5LWltYWdlLWNvbnRhaW5lcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDo3MnB4O21pbi13aWR0aDo3MnB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTQ0cHg7bWF4LWhlaWdodDoxNDRweDstd2Via2l0LWZsZXgtc2hyaW5rOjI7ZmxleC1zaHJpbms6MjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXVuZGVybGF5LWltYWdle3BvaW50ZXItZXZlbnRzOmF1dG87bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmUtY29udGFpbmVye3dpZHRoOjEwMCU7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToyLjV2dztmb250LXdlaWdodDo3MDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtd3JhcDpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KXsueXRwLWFkLXVuZGVybGF5LWhlYWRsaW5le2ZvbnQtc2l6ZTo0MHB4fX0ueXRwLWFkLXVuZGVybGF5LWRlc2NyaXB0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BhZGRpbmctYm90dG9tOjQwcHh9Lnl0cC1hZC11bmRlcmxheS1kZXNjcmlwdGlvbi1jb250YWluZXJ7LXdlYmtpdC1mbGV4LXNocmluazoxO2ZsZXgtc2hyaW5rOjF9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXVuZGVybGF5LWNsaWNrYWJsZXt6LWluZGV4Ojg1MH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxOHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDtoZWlnaHQ6MzZweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tbWVkaXVte2JvcmRlci1yYWRpdXM6MjRweDtmb250LXNpemU6MThweDtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWxhcmdle2JvcmRlci1yYWRpdXM6MzJweDtmb250LXNpemU6MjJweDtwYWRkaW5nLWxlZnQ6MjRweDtwYWRkaW5nLXJpZ2h0OjI0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U5ZTllOX0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6IzAzMDMwMztib3JkZXItcmFkaXVzOjJweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NmI4ZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b246Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoycHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjM2VhNmZmO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzNlYTZmZn0uaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmd7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIDEuNXMsaGVpZ2h0IDEuNXMsbGVmdCAxLjVzLHRvcCAxLjVzO3RyYW5zaXRpb246d2lkdGggMS41cyxoZWlnaHQgMS41cyxsZWZ0IDEuNXMsdG9wIDEuNXN9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLXRyYW5zaXRpb257ei1pbmRleDotMX0uY29sb3ItY29udHJhc3QtZml4Lnl0cC1hZC1zdXJ2ZXl7YmFja2dyb3VuZC1jb2xvcjpibGFja30uY29sb3ItY29udHJhc3QtZml4IC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLWJhY2tncm91bmR7b3BhY2l0eTo2MCV9LmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24sLmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2NvbG9yOndoaXRlfS5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDp3aGl0ZX0ueXRwLWFkLWJhZGdle2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IsK3IjtwYWRkaW5nLWlubGluZTo0cHh9Lnl0cC1hZC1iYWRnZV9fcG9kLWluZGV4OmJlZm9yZXtjb250ZW50OiLCtyI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLWJhZGdlLS1zdGFya3tjb2xvcjojZmZmO29wYWNpdHk6Ljc1O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1iYWRnZS0tc3RhcmsgLnl0cC1hZC1iYWRnZV9fdGV4dHtmb250LXdlaWdodDo3MDB9Lnl0cC1hZC1iYWRnZS0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXJ7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjhweDt0ZXh0LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjUpO2xldHRlci1zcGFjaW5nOi4zNXB4fS55dHAtYWQtYmFkZ2UtLXN0YXJrLWNsZWFuLXBsYXllciAueXRwLWFkLWJhZGdlX190ZXh0LS1jbGVhbi1wbGF5ZXJ7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXItaW9ze2xldHRlci1zcGFjaW5nOi4xcHh9Lnl0cC1hZC1ncmlkLWNhcmQtY29sbGVjdGlvbntkaXNwbGF5OmdyaWQ7Z2FwOjhweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dHttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1hbGlnbi1zZWxmOnN0cmV0Y2g7YWxpZ24tc2VsZjpzdHJldGNoOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fYnV0dG9ue21hcmdpbjoxMnB4IDE2cHggMTJweCAxMnB4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MTttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHg7bWluLXdpZHRoOjB9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2hlYWRsaW5le2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxLjhyZW07LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbiA6Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjFweDt3aWR0aDotd2Via2l0LW1heC1jb250ZW50O3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9uIDpub3QoOmZpcnN0LWNoaWxkKXstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxfS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbl9fbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ueXRwLWFkLXBvZC1pbmRleHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDtsZWZ0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1wb2QtaW5kZXg6YmVmb3Jle2NvbnRlbnQ6IuKAoiI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLXBvZC1pbmRleC0tc3Rhcmt7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjI4cHg7dGV4dC1zaGFkb3c6MCAwIDE2cHggcmdiYSgwLDAsMCwuNSk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWFkLXBvZC1pbmRleC0tbXdlYntmb250LXdlaWdodDo2MDB9Lnl0cC1hZC1wb2QtaW5kZXgtLW13ZWItaW9ze2xldHRlci1zcGFjaW5nOi0uMnB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wb2QtaW5kZXgtLWF1dG9oaWRle2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Zm9udC13ZWlnaHQ6NTAwO2JvcmRlcjpub25lOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYWQtYnV0dG9uLXZtX190ZXh0e3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWFkLWJ1dHRvbi12bV9faWNvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0e2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MCAxMnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWNvbXBhY3QgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS10cmFpbGluZ3std2Via2l0LW1hcmdpbi1zdGFydDo0cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7LXdlYmtpdC1tYXJnaW4tZW5kOi00cHg7bWFyZ2luLWlubGluZS1lbmQ6LTRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS1sZWFkaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0Oi00cHg7bWFyZ2luLWlubGluZS1zdGFydDotNHB4Oy13ZWJraXQtbWFyZ2luLWVuZDo0cHg7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHR7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1zaXplOjE0cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtZGVmYXVsdCAueXRwLWFkLWJ1dHRvbi12bV9faWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLXRyYWlsaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjZweDstd2Via2l0LW1hcmdpbi1lbmQ6LTZweDttYXJnaW4taW5saW5lLWVuZDotNnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LTZweDttYXJnaW4taW5saW5lLXN0YXJ0Oi02cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjZweDttYXJnaW4taW5saW5lLWVuZDo2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2V7aGVpZ2h0OjQ4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHg7Zm9udC1zaXplOjE4cHg7cGFkZGluZzowIDI0cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1sYXJnZSAueXRwLWFkLWJ1dHRvbi12bV9faWNvbi0tdHJhaWxpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6OHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6OHB4Oy13ZWJraXQtbWFyZ2luLWVuZDotOHB4O21hcmdpbi1pbmxpbmUtZW5kOi04cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LThweDttYXJnaW4taW5saW5lLXN0YXJ0Oi04cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLXRyYW5zcGFyZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtdHJhbnNwYXJlbnQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yKX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDU1NmJmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtd2hpdGV7Y29sb3I6IzBmMGYwZjtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjF9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOWQ5ZDl9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZDlkOWQ5fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6cmdiKDE1LDE1LDE1KX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVkLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNjViOGZmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZHtjb2xvcjojZjFmMWYxO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtbW9uby1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHl7cGFkZGluZzowfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHkgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtwYWRkaW5nOjAgNnB4fS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjZmJjMDJkO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXRwLWFkLWRpc2Nsb3N1cmUtYmFubmVyX190ZXh0e2JhY2tncm91bmQ6bm9uZTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxZW07cGFkZGluZzo4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJfX2NoZXZyb257LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC40KTtib3R0b206ODZweDtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDo1MnB4O2xpbmUtaGVpZ2h0OjUycHg7bWluLXdpZHRoOjgwcHg7b3BhY2l0eToxO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3otaW5kZXg6NDV9Lnl0cC1lbWJlZCAueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7Ym90dG9tOjc4cHh9Lnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLWJpZy1tb2RlIC55dHAtYWQtbm90aWZpY2F0aW9uLWNvbnRhaW5lcntib3R0b206OTVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVye2JvdHRvbToyNXB4fS55dHAtcHJldmlldy1hZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtjdXJzb3I6ZGVmYXVsdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtcHJldmlldy1hZFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJldmlldy1hZF9fdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouMXB4O3BhZGRpbmc6MCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtcHJldmlldy1hZF9fdGV4dC0tZm9udC0tc21hbGx7Zm9udC1zaXplOjEycHg7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjB9Lnl0cC1wcmV2aWV3LWFkX190ZXh0LS1wYWRkaW5nLS13aWRle3BhZGRpbmc6MCAxNHB4fS55dHAtcHJldmlldy1hZF9faW1hZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjY1cHg7aGVpZ2h0OjM2cHg7LW8tb2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtZml0OmNvdmVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXByZXZpZXctYWR7cmlnaHQ6MTJweDtib3R0b206NzVweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9Lnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcHJldmlldy1hZHtib3R0b206MjVweH0ueXRwLWF1dG9oaWRlIC55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLWF1dG9oaWRle2Rpc3BsYXk6bm9uZX0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRze2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJ7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZy1sZWZ0OjY0cHg7cGFkZGluZy1yaWdodDo2NHB4O21hcmdpbi1sZWZ0OmNhbGMoNjAlICsgMTZweCl9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2hlYWRlcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19hZF9hdmF0YXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tcmlnaHQ6MTZweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19oZWFkbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2J1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjI0cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2dyaWRfY2FyZF9jb2xsZWN0aW9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O292ZXJmbG93OmhpZGRlbiBhdXRvfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHNfX2NvbnRlbnRfY29udGFpbmVyX19hZF9idXR0b24+YnV0dG9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHMgLnl0cC1hZC1hdmF0YXItLXNpemUtcmVzcG9uc2l2ZXt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dHAtaW1hZ2UtYmFja2dyb3VuZC0tZ3JhZGllbnQtdmVydGljYWx7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjEycHg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjk1KTtjdXJzb3I6cG9pbnRlcjttYXgtd2lkdGg6NDAwcHg7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0tbGFyZ2V7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7bWluLXdpZHRoOjIwMHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7d2lkdGg6MDttYXgtd2lkdGg6MH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fYXZhdGFyX2FuZF90ZXh0X2NvbnRhaW5lci0tbGFyZ2V7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1zZWxmOnN0YXJ0O2FsaWduLXNlbGY6c3RhcnR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2FkX2F2YXRhci0tbGFyZ2V7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fdGV4dF9jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MCAyMHB4IDAgOHB4O21heC13aWR0aDoxOTJweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7Y29sb3I6IzBmMGYwZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZS0tbGFyZ2V7Y29sb3I6I2RkZH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWxhcmdle2NvbG9yOiNkZGR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17bWF4LXdpZHRoOjE0MHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdle21hcmdpbi10b3A6OHB4O21pbi13aWR0aDoxMDAlOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiMwZjBmMGY7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzY1YjhmZn0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJke29wYWNpdHk6Ljg2O3BhZGRpbmc6OHB4O21pbi1oZWlnaHQ6NDBweDttYXgtd2lkdGg6MTkwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQtLWxhcmdle21pbi13aWR0aDphdXRvfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0taW5hY3RpdmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXt3aWR0aDowO21heC13aWR0aDowfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZCAueXRwLWFkLWJ1dHRvbi12bSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9faGVhZGxpbmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbntmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWhpZGRlbi0taW4tLXNtYWxsLS1wbGF5ZXIsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbi0taGlkZGVuLS1pbi0tc21hbGwtLXBsYXllcntkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX190ZXh0X2NvbnRhaW5lciwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX3RleHRfY29udGFpbmVye3BhZGRpbmc6MCA0cHggMCA2cHg7bWF4LXdpZHRoOjE0NnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2Rlc2NyaXB0aW9ue2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0zcHg7d2lkdGg6MTAwJTtoZWlnaHQ6M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMik7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1wcm9ncmVzcy1iYXIgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXIsLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBlcnNpc3RlbnQtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntvcGFjaXR5OjE7Ym90dG9tOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6IzIyMjtoZWlnaHQ6NHB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVyLS1jbGVhbi1wbGF5ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjIyO2hlaWdodDozcHh9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmMwfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7bGVmdDoxMnB4O2JvdHRvbToxMnB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTo2NXB4O2N1cnNvcjpkZWZhdWx0O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3otaW5kZXg6ODUwOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1kdXJhdGlvbi1yZW1haW5pbmd7bWFyZ2luLWxlZnQ6MH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo5NXB4O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3NraXAtb3ItcHJldmlldy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2N1cnNvcjpkZWZhdWx0O2hlaWdodDphdXRvO2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MnB4O3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0IC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7ei1pbmRleDoyN30ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206NzRweDtsZWZ0OjQwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6NDBweDtib3R0b206MTA0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtZGlzY2xvc3VyZS1iYW5uZXItY29udGFpbmVye2xlZnQ6NDBweDt0b3A6NjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTJweDtib3R0b206NDVweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3BsYXllci1jYXJkLWNvbnRhaW5lcntsZWZ0OjEycHg7Ym90dG9tOjc1cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7bGVmdDoxMnB4O3RvcDoxMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXBvZC1pbmRleCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1wb2QtaW5kZXgsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNTBweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206OXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206MzlweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWRpc2Nsb3N1cmUtYmFubmVyLWNvbnRhaW5lcntsZWZ0OjE2cHg7dG9wOjE2cHh9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbToxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo0NXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjNweHZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpMjRweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc21hbGwtbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1zbWFsbC1tb2RlLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOjdweH0ueXRwLXNtYWxsLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjM3cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHhze3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHN7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS1ze3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1hZC1hdmF0YXItLXNpemUtbXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtYWQtYXZhdGFyLS1zaXplLWx7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS14bHt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtYWQtYXZhdGFyLS1jaXJjdWxhcntib3JkZXItcmFkaXVzOjUwJX0ueXRwLWFkLWF2YXRhci0tcm91bmRlZC1jb3JuZXJ7Ym9yZGVyLXJhZGl1czoyMCV9Lnl0cC1hZC1kZXRhaWxzLWxpbmV7ZGlzcGxheTpibG9ja30ueXRwLWFkLWRldGFpbHMtbGluZV9fdGV4dC0tc3R5bGUtc3RhbmRhcmR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXR7ei1pbmRleDo2NDtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2JhY2tncm91bmQtaW1hZ2UtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1pbWFnZS1iYWNrZ3JvdW5kLWltYWdle2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2t9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50e3otaW5kZXg6NjU7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jaztsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMTVweDt3aWR0aDo0MzBweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWF2YXRhci1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2hlYWRsaW5le3BhZGRpbmc6MjhweCAwIDEwcHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjhweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2RldGFpbHMtbGluZS1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo2cHggMDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2luc3RyZWFtLWluZm8tY29udGFpbmVye2JvdHRvbTo2cHg7Y3Vyc29yOmRlZmF1bHQ7bGVmdDoxOHB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSk7ei1pbmRleDo4NTA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWJhZGdlOmFmdGVye3BhZGRpbmctcmlnaHQ6dW5zZXR9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYmFkZ2V7bWFyZ2luLWxlZnQ6NXB4fS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWRldGFpbHMtbGluZXtwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYnV0dG9uLXZtOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX3RpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NjV9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6NjRweDtoZWlnaHQ6NjRweH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1hZC1kZXRhaWxzLWxpbmVfX3RleHQtLXN0eWxlLXJlc3BvbnNpdmV7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jazt0b3A6NTAlO3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi1sZWZ0OjA7bGVmdDowO3RleHQtYWxpZ246bGVmdDt3aWR0aDoyNDVweDtwYWRkaW5nOjAgMCAwIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19hZC1hdmF0YXItY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOjAgYXV0byAwIC02cHg7cGFkZGluZzo2cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6LXdlYmtpdC1tYXgtY29udGVudDt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50fS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG8gMCAwfS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmV7cGFkZGluZzoxMHB4IDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19kZXRhaWxzLWxpbmUtY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNraXAtYWR7ei1pbmRleDo4NTB9Lnl0cC1za2lwLWFkLWJ1dHRvbntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztib3JkZXI6bm9uZTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2NvbG9yOiNmZmY7ZGlyZWN0aW9uOmx0cjttaW4td2lkdGg6MDtwYWRkaW5nOjAgNnB4IDAgMTZweDt3aWR0aDphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXNraXAtYWQtYnV0dG9uW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgyNTUsMjU1LDI1NSwuMikpLHRvKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSksLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoMTUsMTUsMTUpKSx0byhyZ2IoMTUsMTUsMTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiKDE1LDE1LDE1KSxyZ2IoMTUsMTUsMTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1c3tiYWNrZ3JvdW5kOnJnYigxNSwxNSwxNSk7b3V0bGluZTpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLXNraXAtYWQtYnV0dG9uOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC55dHAtc2tpcC1hZC1idXR0b25fX2ljb24gc3ZnIHBhdGh7ZmlsbDojMGYwZjBmfS55dHAtc2tpcC1hZC1idXR0b25fX3RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0Om5vcm1hbDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1za2lwLWFkLWJ1dHRvbl9faWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2tpcC1hZC1idXR0b246YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1za2lwLWFkLWJ1dHRvbntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1za2lwLWFkLWJ1dHRvbiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KXZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1za2lwLWFkLWJ1dHRvbntyaWdodDoxMnB4O2JvdHRvbTo3NXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9c3ZnLnl0cC10aW1lZC1waWUtY291bnRkb3due2JhY2tncm91bmQ6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6MjBweDtvcGFjaXR5Oi40Oy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3dpZHRoOjIwcHh9Y2lyY2xlLnl0cC10aW1lZC1waWUtY291bnRkb3duX19iYWNrZ3JvdW5ke3N0cm9rZTpub25lO2ZpbGw6bm9uZX1jaXJjbGUueXRwLXRpbWVkLXBpZS1jb3VudGRvd25fX2lubmVye2ZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTBweDtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtdGltZWQtcGllLWNvdW50ZG93bl9fb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZTpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmt7Y29sb3I6I2ZmZjtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4tbGVmdDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lOy13ZWJraXQtYWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24taXRlbXM6YmFzZWxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbms6YmVmb3Jle2NvbnRlbnQ6IiI7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LThweH0ueXRwLXZpc2l0LWFkdmVydGlzZXItbGluazpob3ZlciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eToxO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OjAgMCAxNnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtaXYtdmlkZW8tY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWl2LXZpZGVvLWNvbnRlbnQgLnZpZGVvLWFubm90YXRpb25ze2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDt3aWR0aDoxMDAlfS5hbm5vdGF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiMwMDA7cGFkZGluZzo1cHg7dGV4dC1hbGlnbjpsZWZ0O3dvcmQtd3JhcDpicmVhay13b3JkO3otaW5kZXg6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnZpZGVvLWxlZ2FjeS1hbm5vdGF0aW9ucyAuYW5ub3RhdGlvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MTZweDtsZWZ0OjA7b3BhY2l0eTouODU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTZweH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b246aG92ZXJ7b3BhY2l0eToxfS5hbm5vdGF0aW9uLWxpbmstaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtc2l6ZTpjb250YWluO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uLXR5cGUtY3VzdG9te3BhZGRpbmc6MDtjdXJzb3I6ZGVmYXVsdH0uYW5ub3RhdGlvbi10eXBlLWN1c3RvbT5kaXZ7ZmxvYXQ6bGVmdDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5pdi1jbGljay10YXJnZXR7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLml2LWJyYW5kaW5nLC55dHAtYWQtb3ZlcmxheS1vcGVuIC5pdi1wcm9tb3tkaXNwbGF5Om5vbmV9Lml2LWJyYW5kaW5ne2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDozMDtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4zM3M7dHJhbnNpdGlvbi1kZWxheTouMzNzfS55dHAtaXYtZHJhd2VyLW9wZW4gLml2LWJyYW5kaW5ne29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1vdXRlcntib3R0b206MDtmbG9hdDpsZWZ0O3BhZGRpbmctcmlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtYnJhbmRpbmcgLmJyYW5kaW5nLWNvbnRleHQtY29udGFpbmVyLWlubmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym90dG9tOjA7Y29sb3I6I2VlZTttYXgtd2lkdGg6MjQ2cHg7b3BhY2l0eTowO3JpZ2h0OjA7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci1yYWRpdXM6OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtYnJhbmRpbmctYWN0aXZlIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1pbm5lcntvcGFjaXR5OjE7Ym9yZGVyLXJhZGl1czo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVyIGltZ3tkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc7cG9zaXRpb246cmVsYXRpdmV9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVye2Zsb2F0OnJpZ2h0fS5pdi1icmFuZGluZyBpbWcuaXYtY2xpY2stdGFyZ2V0OmhvdmVye29wYWNpdHk6MX0uaXYtYnJhbmRpbmcgLml2LWJyYW5kaW5nLWNvbnRleHQtbmFtZXttYXgtd2lkdGg6MjE1cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDEwcHggNXB4fS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmV7cGFkZGluZzowIDEwcHggMTBweDtmb250LXNpemU6MTFweDtjb2xvcjojYWFhfS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmUtY2FyZXR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHQgLml2LWJyYW5kaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lml2LXByb21vLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucywuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmRpdiwuaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHh9Lml2LXByb21ve2JvdHRvbTo2MXB4O2xlZnQ6MDt6LWluZGV4OjMxO21heC13aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2NjYztmb250LXNpemU6MTFweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLml2LXByb21ve2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLml2LXByb21ve2JvdHRvbTo3MHB4fS5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjg2cHh9Lnl0cC1lbWJlZC5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjc4cHh9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYmlnLW1vZGUuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjk1cHh9Lml2LXByb21vOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cz5hLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+ZGl2LC5pdi1wcm9tbz5kaXZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmF7Y29sb3I6I2NjY30uaXYtcHJvbW8uaXYtcHJvbW8taW5hY3RpdmV7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1ne2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7ei1pbmRleDoxO3dpZHRoOjQwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHAsLml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZywuaXYtcHJvbW8gLml2LXByb21vLWltZyAuaXYtcHJvbW8tcGxheWxpc3QtbGVuZ3RoLC5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby1iYWRnZS1saXZle21hcmdpbjo0cHggOHB4IDA7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JhY2tncm91bmQtY29sb3I6I2U2MjExNztjb2xvcjojZmZmfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGgsLml2LXByb21vIC5pdi1wcm9tby1pbWcgLml2LXByb21vLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGh7dG9wOjA7cmlnaHQ6MDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMjUpO3dpZHRoOjMwcHg7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDo0MHB4fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntib3R0b206MnB4O3JpZ2h0OjJweDtwYWRkaW5nOjNweCAycHg7bWF4LXdpZHRoOjMycHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLXJpZ2h0OjMxcHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6MzExcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1heC13aWR0aCAuMnMgZWFzZS1vdXQscGFkZGluZy1yaWdodCAuMnMgZWFzZS1vdXQ7dHJhbnNpdGlvbjptYXgtd2lkdGggLjJzIGVhc2Utb3V0LHBhZGRpbmctcmlnaHQgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLWxlZnQ6NDBweDttYXgtd2lkdGg6MzUxcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tYnV0dG9uLWNvbnRhaW5lciwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7ZGlyZWN0aW9uOmx0cjttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgcHttYXJnaW46M3B4IDhweCAtNHB4O2xpbmUtaGVpZ2h0OjE4cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZ3tjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMnB4fS5pdi1wcm9tby10eHQgcCBzcGFuLC5pdi1wcm9tby10eHQgcCBzdHJvbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjI2NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1wcm9tby13aXRoLWJ1dHRvbiAuaXYtcHJvbW8tdHh0IHAgc3BhbiwuaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLXR4dCBwIHN0cm9uZ3ttYXgtd2lkdGg6MTg0cHh9Lml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHNwYW4sLml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHN0cm9uZ3ttYXJnaW4tYm90dG9tOi02cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MjBweDttYXgtd2lkdGg6MjQ0cHg7Y29sb3I6I2ZmZDEwMH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDowO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQ6aG92ZXIgLml2LXByb21vLWxpbms6YWZ0ZXJ7b3BhY2l0eToxfS5pdi1wcm9tby1idXR0b24tY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjMxcHh9Lml2LWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjhweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6MCAxMHB4O291dGxpbmU6MDtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxMXB4O3RleHQtZGVjb3JhdGlvbjpub25lO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXI7Km92ZXJmbG93OnZpc2libGU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4wNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5pdi1idXR0b246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWJ1dHRvbjpmb2N1cywuaXYtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KTtib3gtc2hhZG93OjAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjQpfS5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzLC5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uaXYtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0uaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7b3BhY2l0eTouNTtjdXJzb3I6YXV0bzstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lml2LWJ1dHRvbiwuaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOiMxNjdhYzY7YmFja2dyb3VuZDojMTY3YWM2O2NvbG9yOiNmZmZ9Lml2LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiMxMjZkYjN9Lml2LWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0uaXYtYnV0dG9uIC5pdi1idXR0b24tY29udGVudHtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc31hLml2LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTAwJX0uaXYtcHJvbW8tYnV0dG9ue3dpZHRoOjY0cHg7bWFyZ2luOjZweCA4cHh9Lml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2UsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmR7dG9wOjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnN7d2lkdGg6MzFweH0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tZXhwYW5ke2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXIsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmQ6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2V7b3BhY2l0eToxfS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXJ7bWFyZ2luOjE2cHggMTBweCAxNXB4IDEycHg7b3BhY2l0eTouNX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZDphZnRlcnttYXJnaW46MTZweCAxMnB4IDE1cHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcsLml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcgaW1ne3dpZHRoOjcxcHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctbGVmdDo3MXB4O21heC13aWR0aDozODJweH0uaXYtcHJvbW8uaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZy1yaWdodDo4MHB4fS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZCwuaXYtcHJvbW8uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1jb250ZW50c3std2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjVzO3RyYW5zaXRpb24tZGVsYXk6LjVzfS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MjhweDttYXgtd2lkdGg6MCFpbXBvcnRhbnR9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aXtsZWZ0OjE2cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHtwYWRkaW5nLWxlZnQ6NjBweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2xpbmUtaGVpZ2h0OjY0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSwueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cz5hLC55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NjRweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b257bWluLXdpZHRoOjExMHB4O2hlaWdodDozNnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZ3t0b3A6NnB4O2xlZnQ6NnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1pbWcgaW1ne2hlaWdodDo1MnB4O3dpZHRoOjUycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7Zm9udC1zaXplOjE2cHg7cGFkZGluZy10b3A6NHB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbntmb250LXNpemU6MTVweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjEycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttaW4td2lkdGg6MjIwcHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjM4cHg7bGVmdDo0MnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbnttYXJnaW46MCAxMnB4IDAgMH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbnt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtsZWZ0OjEycHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3ttYXgtd2lkdGg6NDAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjVzLG1heC13aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRzey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNXM7dHJhbnNpdGlvbi1kZWxheTouNXN9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXIgLml2LXByb21vLWNvbnRlbnRze2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttYXgtd2lkdGg6MjUwcHg7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWxlZnQ6NTJweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBwe2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOjE1MHB4O2xpbmUtaGVpZ2h0OjU2cHg7cG9zaXRpb246c3RhdGljfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b257bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjowIDhweCAwIDB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWFjdGlvbnMsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7ZGlzcGxheTpub25lfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduLC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cywuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+ZGl2e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjU2cHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZ3toZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3RvcDo0cHg7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLXJvdW5kLWV4cGFuZC1pY29ue29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nLWxlZnQ6MDt6LWluZGV4Ojg1MDtoZWlnaHQ6MThweDt3aWR0aDoxOHB4O2JvcmRlci1yYWRpdXM6NTAlO3RvcDozNHB4O2xlZnQ6MzhweDtiYWNrZ3JvdW5kLWNvbG9yOiM0Njg4ZjE7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAycHggMCByZ2JhKDAsMCwwLC4xMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMjQpO2JveC1zaGFkb3c6MCAwIDJweCAwIHJnYmEoMCwwLDAsLjEyKSwwIDJweCAycHggMCByZ2JhKDAsMCwwLC4yNCk7b3BhY2l0eTowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbjphZnRlcntkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiJ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgc3Ryb25ne2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjJweDtjb2xvcjojMzMzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3BhZGRpbmc6OHB4IDIwcHggMCAwO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiM3Njc2NzZ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWNvbnRlbnRze3dpZHRoOjB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWltZ3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1pbmFjdGl2ZSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzLC55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZywueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZzo0cHggNHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7cGFkZGluZy10b3A6MDtmb250LXNpemU6MTJweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbmt7cGFkZGluZy10b3A6NHB4O2ZvbnQtc2l6ZToxMXB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjI2cHg7bGVmdDozMHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1ne3RvcDowO2xlZnQ6MH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWd7b3BhY2l0eTouODstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzfS5pdi1kcmF3ZXIsLml2LWRyYXdlci1jb250ZW50LC5pdi1kcmF3ZXItaGVhZGVye3Bvc2l0aW9uOmFic29sdXRlfS5pdi1kcmF3ZXJ7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDt6LWluZGV4OjMzO3dpZHRoOjE3N3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMik7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtZHJhd2VyLXNtYWxsLml2LWRyYXdlcnt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZy5pdi1kcmF3ZXJ7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MjRweDt3aWR0aDoyOTVweH1bZGlyPWx0cl0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTc3cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KX1bZGlyPXJ0bF0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE3N3B4KX0ueXRwLWF1dG9oaWRlLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye2Rpc3BsYXk6bm9uZX0uaXYtZHJhd2VyLWNvbnRlbnQgKnt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1pdi1kcmF3ZXItb3BlbiAuaXYtZHJhd2Vyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0uaXYtZHJhd2VyLWhlYWRlcnt0b3A6MDtwYWRkaW5nOjE2cHggMzJweCAwIDE2cHg7d2lkdGg6MTc3cHg7aGVpZ2h0OjQxcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjlweCAyNHB4IDAgMTJweDtoZWlnaHQ6MjhweDt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjIwcHggNDhweCAwIDMycHg7aGVpZ2h0OjY0cHg7d2lkdGg6Mjk1cHh9Lml2LWRyYXdlci1oZWFkZXItdGV4dHtmb250LXdlaWdodDo1MDA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaHRtbDUtdmlkZW8tcGxheWVyIC5pdi1kcmF3ZXItaGVhZGVyey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtZHJhd2VyLWNvbnRlbnR7dG9wOjQxcHg7Ym90dG9tOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzowIDE2cHg7d2lkdGg6MTQ1cHg7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2RpcmVjdGlvbjpsdHI7dGV4dC1hbGlnbjpsZWZ0fS5pdi1kcmF3ZXItc21hbGwgLml2LWRyYXdlci1jb250ZW50e3BhZGRpbmc6MCAxMnB4O3RvcDoyOHB4O3dpZHRoOjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1kcmF3ZXItY29udGVudHtwYWRkaW5nOjAgMzJweDt0b3A6NjRweDt3aWR0aDoyMzFweH0uaXYtZHJhd2VyLXNjcm9sbGVkIC5pdi1kcmF3ZXItY29udGVudHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNCl9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAyLDEwMiwxMDIsLjUpfS5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWF1dG9oaWRlIC5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtZHJhd2VyLWNvbnRlbnQ6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzY2NiFpbXBvcnRhbnR9Lml2LWRyYXdlci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtwYWRkaW5nOjE2cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXJ9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjhweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjI0cHh9Lml2LWRyYXdlci1jbG9zZS1idXR0b246YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1kcmF3ZXItY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0uaXYtY2FyZCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpmb2N1cywuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpob3ZlcntkaXNwbGF5OmJsb2NrO2NvbG9yOiM3Njc2NzY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWNhcmR7bWFyZ2luLWJvdHRvbToxNnB4O3dpZHRoOjE0NXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7d29yZC13cmFwOmJyZWFrLXdvcmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czo4cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZHt3aWR0aDoxMDlweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZHt3aWR0aDoyMzFweH0uaXYtY2FyZDpob3ZlciAuaXYtY2FyZC1wcmltYXJ5LWxpbmt7Y29sb3I6IzE2N2FjNiFpbXBvcnRhbnR9Lml2LWNhcmQgaDIsLml2LWNhcmQtYWN0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53ZWJraXQgLml2LWNhcmQgaDI6YWZ0ZXIsLndlYmtpdCAuaXYtY2FyZC1hY3Rpb246YWZ0ZXJ7Y29udGVudDoi4oCMIjtwb3NpdGlvbjpzdGF0aWM7dmlzaWJpbGl0eTpoaWRkZW59Lml2LWNhcmQgaDJ7bWFyZ2luOjAgMCA4cHg7LXdlYmtpdC1saW5lLWNsYW1wOjY7bWF4LWhlaWdodDo5MHB4O2NvbG9yOiMzMzM7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZCBoMntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NzJweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZCBoMntmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6MTQ0cHh9Lml2LWNhcmQgLml2LWNhcmQtYWN0aW9uLC5pdi1jYXJkIC5pdi1jYXJkLW1ldGEtaW5mbywuaXYtY2FyZCBwe21hcmdpbjotNnB4IDAgMnB4fS5pdi1jYXJkLW1ldGEtaW5mb3tsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowfS5pdi1jYXJkLWltYWdle3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlMmUyZTI7d2lkdGg6MTQ1cHg7aGVpZ2h0OjE0NXB4O2JhY2tncm91bmQ6I2YxZjFmMSBuby1yZXBlYXQgNTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtjb2xvcjojZmZmfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2V7d2lkdGg6MTA5cHg7aGVpZ2h0OjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWltYWdle3dpZHRoOjIzMXB4O2hlaWdodDoyMzFweH0uaXYtY2FyZC1pbWFnZS10ZXh0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3BhZGRpbmc6MjBweCAxMHB4IDhweDt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsLjYpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCx0cmFuc3BhcmVudCksdG8ocmdiYSgwLDAsMCwuNikpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCxyZ2JhKDAsMCwwLC42KSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2UtdGV4dHtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1pbWFnZS10ZXh0e2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIwcHg7cGFkZGluZzoxMnB4IDE2cHh9Lml2LWNhcmQtaW1hZ2UtdGV4dCAueXQtYmFkZ2V7bWFyZ2luLXJpZ2h0OjVweH0uaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6OHB4IDEwcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6MTJweCAxNnB4fS5pdi1jYXJkLWNvbnRlbnQ+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uaXYtY2FyZC1jb250ZW50PjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaXYtY2FyZC1hY3Rpb24sLml2LWNhcmQtbWVzc2FnZXtmb250LXdlaWdodDo1MDB9Lml2LWNhcmQtbWVzc2FnZXttYXJnaW4tYm90dG9tOjhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTJlMmUyO3BhZGRpbmctYm90dG9tOjhweH0uaXYtY2FyZC1hY3Rpb257LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDo1MnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWFjdGlvbntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1hY3Rpb257Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0OjgwcHh9Lml2LWNhcmQtYWN0aW9uIHNwYW57d2hpdGUtc3BhY2U6bm9ybWFsfS5pdi1jYXJkLWFjdGlvbi1pY29ue3BhZGRpbmc6MCAwIDAgMzBweDttaW4taGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyNHB4IGF1dG87YmFja2dyb3VuZC1zaXplOjI0cHggYXV0b30uaXYtY2FyZC1saW5rLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2t9Lml2LWNhcmQtZXBpc29kZSBoMiwuaXYtY2FyZC1tb3ZpZSBoMiwuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtY2FyZC12aWRlbyBoMnstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0OjQ1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtbW92aWUgaDIsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6MzZweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLW1vdmllIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6NzJweH0uaXYtY2FyZC1jaGFubmVsIGgyey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6MzBweH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDoyNHB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDo0OHB4fS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjgycHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC12aWRlbyAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6NjFweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIC5pdi1jYXJkLWltYWdle2hlaWdodDoxMjlweH0uaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MjA5cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MTU3cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjMzNXB4fS5pdi1jYXJkLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1cHg7cmlnaHQ6NXB4O3BhZGRpbmc6MnB4IDRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2Utb3ZlcmxheXtkaXNwbGF5OnRhYmxlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NjNweDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2NvbG9yOiNjZmNmY2Y7Zm9udC1zaXplOjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xpbmUtaGVpZ2h0OjIxcHh9Lml2LWNhcmQtcGxheWxpc3QtdmlkZW8tY291bnR7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaXYtY2FyZC1wbGF5bGlzdC12aWRlby1jb3VudDphZnRlcntkaXNwbGF5OmJsb2NrO21hcmdpbjphdXRvO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtY2FyZC1wb2xse3Bvc2l0aW9uOnJlbGF0aXZlfS5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjEyNXB4O2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wb2xsIHVse21heC13aWR0aDo4OXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjIxMXB4fS5pdi1jYXJkLXBvbGwgZmllbGRzZXR7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowfS5pdi1jYXJkLXBvbGwgbGFiZWx7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtwYWRkaW5nLWJvdHRvbTo1cHg7bWluLWhlaWdodDoxNHB4O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAwIHRvcCA1cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNDFOQ0lnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OEwzTjJaejQ9KTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAuaXYtY2FyZC1wb2xsIGxhYmVsLml2LWNhcmQtcG9sbC1jaG9pY2UtZm9jdXNlZHstd2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuNCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KX0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC12b3RlZCBsYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lml2LWNhcmQtcG9sbC5pdi1jYXJkLXBvbGwtdm90ZWQgbGFiZWwuaXYtY2FyZC1wb2xsLWNob2ljZS1jaGVja2Vke2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpFMk4yRmpOaUlnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OFkybHlZMnhsSUdONFBTSTRMalVpSUdONVBTSTRMalVpSUhJOUlqUXVNak1pSUdacGJHdzlJaU14TmpkaFl6WWlMejQ4TDNOMlp6ND0pO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0uaXYtY2FyZC1wb2xsIGlucHV0W3R5cGU9Y2hlY2tib3hde29wYWNpdHk6MDt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O21hcmdpbjo1cHggMCAwO2Zsb2F0OmxlZnR9Lml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6MjVweDtwYWRkaW5nLXRvcDo4cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e3BhZGRpbmctdG9wOjJweH0uaXYtY2FyZC1wb2xsIGxpK2xpe21hcmdpbi10b3A6OHB4fS5pdi1jYXJkLXBvbGwgLml2LWNhcmQtcG9sbC1yZXN1bHR7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6I2RmZGZkZjt2aXNpYmlsaXR5OmhpZGRlbn0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtcmVzdWx0IC5pdi1jYXJkLXBvbGwtcmVzdWx0LWJhcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzE2N2FjNjstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW1zLXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5pdi1jYXJkLXBvbGwuaXYtY2FyZC1wb2xsLWV4cGFuZGVkIC5pdi1jYXJkLXBvbGwtcmVzdWx0e3Zpc2liaWxpdHk6dmlzaWJsZX0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtY2hvaWNlLXBlcmNlbnR7ZGlzcGxheTpub25lO2Zsb2F0OnJpZ2h0O21hcmdpbi1sZWZ0OjVweH0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC1leHBhbmRlZCAuaXYtY2FyZC1wb2xsLWNob2ljZS1wZXJjZW50e2Rpc3BsYXk6YmxvY2t9Lml2LWNhcmQtc2lnbi1pbnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cGFkZGluZzo4cHggMTBweH0uaXYtY2FyZC1zaWduLWluIHB7bWFyZ2luOjAgMCA4cHh9Lml2LWNhcmQtc2lnbi1pbiBhe2NvbG9yOiNmZmZ9Lml2LWNhcmQtdW5hdmFpbGFibGU6aG92ZXIgLml2LWNhcmQtY29udGVudCwuaXYtY2FyZC11bmF2YWlsYWJsZTpob3ZlciAuaXYtY2xpY2stdGFyZ2V0e3Zpc2liaWxpdHk6aGlkZGVufS5pdi1jYXJkLXVuYXZhaWxhYmxlOmhvdmVyIC5pdi1jYXJkLXNpZ24taW57dmlzaWJpbGl0eTp2aXNpYmxlfS5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyLC5pdi1jYXJkLXNwb25zb3JlZHtwb3NpdGlvbjpyZWxhdGl2ZX0uaXYtY2FyZC1zcG9uc29yZWR7bWFyZ2luOjAgMCA4cHg7Y29sb3I6Izk5OX0uaXYtYWQtaW5mby1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NnB4fS5pdi1hZC1pbmZvLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweH0uaXYtYWQtaW5mb3tib3R0b206MjFweDtsZWZ0OjA7cmlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkICMwMDA7cGFkZGluZzo3cHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEycHh9Lml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGEsLml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNn0uaXYtYWQtaW5mby1jb250YWluZXIgLml2LWFkLWluZm8gYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7bGVmdDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3dpZHRoOjA7aGVpZ2h0OjB9Lml2LWFkLWluZm8tY2FsbG91dHtib3R0b206MTZweDtib3JkZXItdG9wLWNvbG9yOiMwMDB9Lml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7Y29udGVudDoiIjtib3R0b206MTdweDtib3JkZXItdG9wLWNvbG9yOiNmZmZ9Lml2LWFkLWluZm8sLml2LWFkLWluZm8tY2FsbG91dCwuaXYtYWQtaW5mby1pY29uLWNvbnRhaW5lcjphZnRlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyAuMXM7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIC4xc30uaXYtYWQtaW5mby1jb250YWluZXI6aG92ZXIgLml2LWFkLWluZm8sLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30uaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDo0NXB4O2NvbG9yOiM2NjZ9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7bWF4LWhlaWdodDozNnB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXByb2R1Y3QtbGlzdGluZyBoMnttYXgtaGVpZ2h0OjcycHh9Lml2LWNhcmQtb2ZmZXItcHJpY2V7bWFyZ2luLWJvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHg7Y29sb3I6IzMzM30uaXYtY2FyZC1vZmZlci1tZXJjaGFudHtjb2xvcjojMDk3YTQxfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNjBweDtoZWlnaHQ6Y2FsYygxMDAlIC0gMzlweCk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjAgYXV0bzt6LWluZGV4OjM3fS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e3dpZHRoOjEwMCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXstLXcydy1zdGFydC1iYWNrZ3JvdW5kLWNvbG9yOiMwMDA7LS13MnctZW5kLWJhY2tncm91bmQtY29sb3I6IzAwMDtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6MTBweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjI0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNvdW50ZG93bi1udW1iZXJ7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXItb25seSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LW5vLWFsdGVybmF0aXZlLWhlYWRlciAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgIzRjNGM0Yzstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjM2MHB4O2hlaWdodDoyMDJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsOmhvdmVyLC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGw6aG92ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtib3R0b206NHB4O3JpZ2h0OjRweDtwYWRkaW5nOjAgNHB4O2JvcmRlci1yYWRpdXM6MnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtjb2xvcjojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xldHRlci1zcGFjaW5nOi41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtbGlzdC1vdmVybGF5e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbG9hdDpyaWdodDt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtbWl4LXRleHR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDtmb250LXdlaWdodDo1MDA7bWFyZ2luLXRvcDozMCV9Lnl0cC1hdXRvbmF2LW1peC1pY29ue3dpZHRoOjQyJTtoZWlnaHQ6MzAlO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCMmFXVjNRbTk0UFNJd0lEQWdNellnTXpZaVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzbDBjQzF6ZG1jdGJXbDRJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxdmNHRmphWFI1UFNJdU1UVWlJSE4wY205clpTMTNhV1IwYUQwaU1pSXZQanh3WVhSb0lHbGtQU0o1ZEhBdGMzWm5MVzFwZUNJZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRJMUxqWTFJREU0WXkwdU1ESWdNaTR6TVMwdU9EY2dOQzQwTVMweUxqSTFJRFl1TURac0xqa3VPVFJqTVM0Mk9TMHhMamdnTWk0M0xUUXVNamNnTWk0M0xUZHpMVEV1TURFdE5TNHlNUzB5TGpjdE4yd3RMamt1T1ROQk9TNDFOQ0E1TGpVMElEQWdNQ0F4SURJMUxqWTFJREU0YlMweE5TNHpJREJqTGpBeExUSXVNekl1T0RZdE5DNDBNaUF5TGpJMUxUWXVNRGRzTFM0NUxTNDVNME14TUNBeE1pNDNPU0E1SURFMUxqSTNJRGtnTVRoek1TQTFMaklnTWk0M0lEZHNMamt0TGprMFl5MHhMak01TFRFdU5qVXRNaTR5TkMwekxqYzFMVEl1TWpVdE5pNHdObTB5TGpjZ01HTXRMakEwTFRFdU56TXVORGt0TXk0d09TQXhMak0xTFRRdU1td3RMamt0TGprMFl5MHhMakV6SURFdU1qWXRNUzQ0SURJdU9Ua3RNUzQ0SURVdU1UUWdNQ0F4TGpZM0xqWTNJRE11TkNBeExqZ2dOQzQyTm13dU9TMHVPVE5qTFM0NE5pMHhMakV5TFRFdU16a3RNaTQwTnkweExqTTFMVE11TnpOdE9TMDFMakUwTFM0NUxqazBZeTQ0TlNBeExqRXhJREV1TXpnZ01pNDBOeUF4TGpNMUlEUXVNaTR3TXlBeExqSTJMUzQxSURJdU5qRXRNUzR6TlNBekxqY3piQzQ1TGprell6RXVNVEl0TVM0eU5pQXhMamd0TWk0NU9TQXhMamd0TkM0Mk5pQXdMVEl1TVRVdExqWTRMVE11T0RndE1TNDRMVFV1TVRSdExUVXVOVFVnTWk0NElETXVOaUF4TGpnM0xUTXVOaUF5TGpNemVpSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjttYXJnaW46MCBhdXRvfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mb3ttYXJnaW4tdG9wOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206NnB4O21hcmdpbi1sZWZ0Oi0ycHg7d2lkdGg6NzRweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTNNQ0lnYUdWcFoyaDBQU0l4TmlJZ1ptbHNiRDBpYm05dVpTSStQSEpsWTNRZ2QybGtkR2c5SWpjd0lpQm9aV2xuYUhROUlqRTJJaUJtYVd4c1BTSWpabVptSWlCdmNHRmphWFI1UFNJdU1TSWdjbmc5SWpJaUx6NDhjR0YwYUNCbWFXeHNQU0lqWVdGaElpQmtQU0pOTWpBdU16VWdPQzQ0TTFZeE1tZ3RNUzQwT0ZZekxqUTNhRE11TWpaakxqazFJREFnTVM0M01TNHlOU0F5TGpJM0xqYzBMalUyTGpVdU9EUWdNUzR4Tmk0NE5DQXhMamszSURBZ0xqZzBMUzR5TnlBeExqUTVMUzQ0TWlBeExqazFMUzQxTlM0ME55MHhMak15TGpjdE1pNHpMamQ2YlRBdE1TNHhPV2d4TGpjNFl5NDFNeUF3SUM0NU15MHVNVElnTVM0eUxTNHpOeTR5T1MwdU1qVXVOREl0TGpZdU5ESXRNUzR3T0NBd0xTNDBOaTB1TVRRdExqZ3lMUzQwTWkweExqRmhNUzQyTWlBeExqWXlJREFnTUNBd0xURXVNVFl0TGpRemFDMHhMamd5ZW0wNUxqTTNMUzQyT0dFekxqVWdNeTQxSURBZ01DQXdMUzQxT0MwdU1EVmpMUzQyTlNBd0xURXVNRGt1TWpVdE1TNHpNUzQzTlZZeE1rZ3lOaTQwVmpVdU5qWm9NUzR6Tm13dU1EUXVOMkV4TGpZZ01TNDJJREFnTUNBeElERXVORE10TGpneVl5NHlJREFnTGpNM0xqQXpMalV1TURoMk1TNHpOSHB0TXk0MU9DQTFMakUyWXkwdU9TQXdMVEV1TmpRdExqSTVMVEl1TWkwdU9EVmhNeTR4SURNdU1TQXdJREFnTVMwdU9EUXRNaTR5T0hZdExqRTNZekF0TGpZekxqRXlMVEV1TWk0ek55MHhMamRoTWk0M01pQXlMamN5SURBZ01DQXhJREl1TlMweExqVTRZeTQ0TnlBd0lERXVOVE11TWpnZ01pQXVPRE11TkRndU5UVXVOekVnTVM0ek15NDNNU0F5TGpNMGRpNDFOMGd6TVM0M1l5NHdOQzQxTWk0eU1pNDVOQzQxTWlBeExqSTBjeTQzTGpRMklERXVNVFl1TkRaakxqWTFJREFnTVM0eE9DMHVNallnTVM0MkxTNDNPV3d1TnpZdU56TmpMUzR5TlM0ek9DMHVOaTQyT0MweExqQXlMamc1TFM0ME1pNHlMUzQ1TGpNdE1TNDBNaTR6ZW0wdExqRTNMVFV1TkROakxTNDBJREF0TGpjdU1UTXRMamsxTGpRdExqSTBMakk0TFM0MExqWTJMUzQwTmlBeExqRTFhREl1TnpKMkxTNHhZVEV1TnpJZ01TNDNNaUF3SURBZ01DMHVNemt0TVM0d09TQXhMaklnTVM0eUlEQWdNQ0F3TFM0NU1pMHVNelp0TlM0eE5pMHhMakF6TGpBMExqWTJZVEl1TWpnZ01pNHlPQ0F3SURBZ01TQXhMamd6TFM0M09HTXVPRFVnTUNBeExqUXpMak16SURFdU56UXVPVGd1TkRZdExqWTFJREV1TVRFdExqazRJREV1T1RVdExqazRMamNnTUNBeExqSXhMaklnTVM0MU5TNDFPQzR6TlM0ek9TNDFNaTQ1Tmk0MU15QXhMamN4VmpFeWFDMHhMalF5VmpjdU9EZGpNQzB1TkMwdU1Ea3RMamN0TGpJM0xTNDRPQzB1TVRjdExqRTVMUzQwTmkwdU1qZ3RMamczTFM0eU9DMHVNeklnTUMwdU5Ua3VNRGt0TGpndU1qWXRMakl1TVRjdExqTTBMalF0TGpReUxqWTRWakV5YUMweExqUXlWamN1T0ROakxTNHdNaTB1TnpVdExqUXRNUzR4TWkweExqRTBMVEV1TVRJdExqVTNJREF0TGprNExqSXpMVEV1TWpJdU4xWXhNbWd0TVM0ME1sWTFMalkyZWswME9DNDVNU0F4TW1ndE1TNDBNMVkxTGpZMmFERXVORE42VFRRM0xqUWdOQzR3TVdNd0xTNHlNaTR3TmkwdU5DNHlMUzQxTkM0eE5DMHVNVFV1TXpRdExqSXlMall0TGpJeWN5NDBOaTR3Tnk0MkxqSXlZeTR4TkM0eE5DNHlMak15TGpJdU5UUnpMUzR3Tmk0MExTNHlMalUwTFM0ek5DNHlNUzB1Tmk0eU1TMHVORFl0TGpBM0xTNDJMUzR5WVM0M05TNDNOU0F3SURBZ01TMHVNaTB1TlRWdE5pNDVJRGN1TXpkaE1pNHlJREl1TWlBd0lEQWdNUzB4TGpjNExqYzBjUzB4TGpBeUlEQXRNUzQxTmkwdU5tTXRMak0xTFM0MExTNDFNeTB4TFM0MU15MHhMamMxVmpVdU5qWm9NUzQwTTNZMExqQTVZekFnTGpndU16TWdNUzR5SURFZ01TNHlMalk1SURBZ01TNHhOaTB1TWpRZ01TNDBMUzQzTkZZMUxqWTJhREV1TkRKV01USm9MVEV1TXpSNmJUUXVNVGN0TlM0M01pNHdOQzQyTm1FeUxqSTRJREl1TWpnZ01DQXdJREVnTVM0NE15MHVOemhqTGpnMUlEQWdNUzQwTXk0ek15QXhMamMwTGprNExqUTJMUzQyTlNBeExqRXhMUzQ1T0NBeExqazFMUzQ1T0M0M0lEQWdNUzR5TVM0eUlERXVOVFV1TlRndU16VXVNemt1TlRJdU9UWXVOVE1nTVM0M01WWXhNa2cyTkM0M1ZqY3VPRGRqTUMwdU5DMHVNRGt0TGpjdExqSTNMUzQ0T0MwdU1UY3RMakU1TFM0ME5pMHVNamd0TGpnM0xTNHlPQzB1TXpJZ01DMHVOVGt1TURrdExqZ3VNall0TGpJdU1UY3RMak0wTGpRdExqUXlMalk0VmpFeWFDMHhMalF5VmpjdU9ETmpMUzR3TWkwdU56VXRMalF0TVM0eE1pMHhMakUwTFRFdU1USXRMalUzSURBdExqazRMakl6TFRFdU1qSXVOMVl4TW1ndE1TNDBNbFkxTGpZMmFERXVNelI2SWk4K1BIQmhkR2dnWm1sc2JEMGljbVZrSWlCa1BTSk5NU0F5WVRFZ01TQXdJREFnTVNBeExURm9NVE4yTVRSSU1tRXhJREVnTUNBd0lERXRNUzB4ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAyTGpVeUlEbDJNMGcwTGpjMlZqTXVORGRJT0M0eFl5NDJOQ0F3SURFdU1pNHhNaUF4TGpZNUxqTTFjeTQ0Tmk0MU55QXhMakV5SURFZ0xqUXVPVEl1TkNBeExqUTNZekFnTGpnMExTNHpJREV1TlMwdU9EY2dNUzQ1T0hFdExqZzFOUzQzTWkweUxqTTNMamN5U0RZdU5USjZiVEF0TVM0ME0yZ3hMalUzWXk0ME5pQXdJQzQ0TWkwdU1TQXhMakEyTFM0ek15NHlOUzB1TWpJdU16Y3RMalV6TGpNM0xTNDVOSE10TGpFeUxTNDNOUzB1TXpjdE1XTXRMakkxTFM0eU55MHVOVGt0TGpRdE1TNHdNaTB1TkVnMkxqVXllaUl2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXJ9LmF1dG9uYXYtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC5hdXRvbmF2LWVuZHNjcmVlbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtc3VnZ2VzdGlvbnMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxle2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MThweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjRweDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfS55dHAtYXV0b25hdi1hdXRob3ItYW5kLXZpZXcsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYXV0aG9yLC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NHB4O2NvbG9yOiNhYWE7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoxMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7d2lkdGg6MTc2cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjB9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNhbmNlbC1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtmbG9hdDpsZWZ0fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7ZmxvYXQ6cmlnaHR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyOm5vdCgueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWlzLXByZW1pdW0pIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tcHJlbWl1bS1iYWRnZXtkaXNwbGF5Om5vbmV9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtbWluaXBsYXllci1yZXBsYXktYnV0dG9uLC5jb3VudGRvd24tcnVubmluZyAueXRwLXByZXZpZXd7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7bWFyZ2luOjQwcHggYXV0byBhdXRvIDIwcHg7d2lkdGg6MzYwcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luOjQwcHggMjBweCBhdXRvIGF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7bWFyZ2luLXRvcDowfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJke3dpZHRoOjM2MHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtbWl4LXRleHR7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNzRweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjE4M3B4O2hlaWdodDoxMDRweDtib3JkZXItcmFkaXVzOjhweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxlLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4O2ZvbnQtd2VpZ2h0OjUwMH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mbywueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDowO3dpZHRoOjE4M3B4fS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVyLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHh9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b24sLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9ue3dpZHRoOjE4M3B4O2hlaWdodDozNHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA1OC41cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDozNnB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYWx0ZXJuYXRpdmUtaGVhZGVye2ZvbnQtc2l6ZToxOS41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MjIuNXB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6NTQwcHg7aGVpZ2h0OjMwM3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206OXB4O21hcmdpbi1sZWZ0Oi0zcHg7d2lkdGg6MTExcHg7aGVpZ2h0OjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDoxOHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGl0bGV7Zm9udC1zaXplOjI3cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWF1dGhvciwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjMxLjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b257Zm9udC1zaXplOjIxcHg7d2lkdGg6MjY0cHg7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTJweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbi5tb2Rlcm4tYnV0dG9uc3tib3JkZXItcmFkaXVzOjI3cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10aW1lc3RhbXAsLnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDo1NDBweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e21hcmdpbjphdXRvO21hcmdpbi1yaWdodDozMHB4O2hlaWdodDo0NDRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjMwcHg7d2lkdGg6NDMycHg7aGVpZ2h0OjQ0NHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtc3VnZ2VzdGlvbi1jYXJkLXdpdGgtbWFyZ2lue21hcmdpbi1sZWZ0OjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHttYXJnaW4tdG9wOjA7d2lkdGg6MjEwcHg7aGVpZ2h0OjExOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmR7bWFyZ2luLXRvcDoxMHB4O3dpZHRoOjIxMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDoyMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi10aXRsZS1jYXJke21hcmdpbi10b3A6MTBweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmR7bWFyZ2luLXRvcDo0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1tb3JlLXZpZGVvc3t2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1zdWdnZXN0aW9ucy1jb250YWluZXIgLnl0cC1zdWdnZXN0aW9uLXNldDpub3QoOmZpcnN0LWNoaWxkKXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVsLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtc3VnZ2VzdGlvbi1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5ey13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDpjYWxjKDEwMCUgLSAzOXB4KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5LC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXttYXJnaW4tdG9wOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtc3VnZ2VzdGlvbi1wYW5lbCwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye3dpZHRoOjM3NHB4O2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLXBsYXllci1taW5pbWl6ZWQuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcnttYXJnaW4tdG9wOjE2cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlcntkaXNwbGF5Oi13ZWJraXQtYm94fS55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7bWFyZ2luLXRvcDo1cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6OHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle2Rpc3BsYXk6LXdlYmtpdC1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye21hcmdpbjphdXRvO21hcmdpbi1yaWdodDo0NXB4O3dpZHRoOjU0MHB4O2hlaWdodDo2NjZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjQ1cHg7d2lkdGg6NjQ4cHg7aGVpZ2h0OjY2NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tY2FyZC13aXRoLW1hcmdpbnttYXJnaW4tbGVmdDoxOHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGh1bWJuYWlsLXNtYWxse3dpZHRoOjMxNXB4O2hlaWdodDoxNzdweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZHttYXJnaW4tdG9wOjE1cHg7d2lkdGg6MzE1cHh9Lnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDozMHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjE1cHg7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJke21hcmdpbi10b3A6NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmQsLnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjE5LjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LW1peC10ZXh0e2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWF1dG9uYXYtYXV0aG9yLWFuZC12aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZS55dHAtcGxheWVyLWNvbnRlbnQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206MH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LW92ZXJsYXl7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xfS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpc3Q9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtbGl2ZT10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmRbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojYzAwfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCl9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZDpub3QoW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0pIC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyW2RhdGEtaXMtbGlzdD10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcltkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtYXV0b25hdi1saXZlLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2MwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLXVwY29taW5nPXRydWVdKSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLW1peD10cnVlXSkgLnl0cC1hdXRvbmF2LWxpc3Qtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlLmVuZGVkLW1vZGV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dHAtYWQtb3ZlcmxheS1vcGVuLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7b3BhY2l0eTouM30ueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSAxNDNweCl9Lnl0cC1iaWctbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcntoZWlnaHQ6Y2FsYygxMDAlIC0gMTYwcHgpfS55dHAtYXV0b25hdi1vdmVybGF5LWNhbmNlbGxlZC1zdGF0ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXItY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRFNUlEWXVOREVnTVRjdU5Ua2dOU0F4TWlBeE1DNDFPU0EyTGpReElEVWdOU0EyTGpReElERXdMalU1SURFeUlEVWdNVGN1TlRrZ05pNDBNU0F4T1NBeE1pQXhNeTQwTVNBeE55NDFPU0F4T1NBeE9TQXhOeTQxT1NBeE15NDBNU0F4TW5vaUx6NDhMM04yWno0PSk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JhY2tncm91bmQtc2l6ZToyNHB4O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtcGxheWVyLWNvbnRlbnR7cG9zaXRpb246dW5zZXR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXJ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdG9wYmFyLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmJsb2NrfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXJ7bWFyZ2luLXRvcDowOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi12aWRlby1pbmZve21hcmdpbi10b3A6MTJweDt3aWR0aDoxMDAlfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsey13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXAsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6MTBweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzp1bnNldDtwYWRkaW5nOjAgOHB4fS55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxNC40cHg7d2lkdGg6MzZweDtib3JkZXItcmFkaXVzOjE0LjRweDt0b3A6NTAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWlCdmNHRmphWFI1UFNJdU5TSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1pwYkd3dGIzQmhZMmwwZVQwaUxqTWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUY3VNeUF4UXpRdU16VWdNU0F5SURNdU1qRWdNaUEyY3pJdU16VWdOU0ExTGpNZ05XZ3hOUzQwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5T0NBMmJDMHVNRE10TGpVMFFUVXVNVFlnTlM0eE5pQXdJREFnTUNBeU1pNDNJREY2YlRFMUxqUWdNVEZqTXk0ME5TQXdJRFl1TXkweUxqWWdOaTR6TFRaekxUSXVPRFV0TmkwMkxqTXROa2czTGpORE15NDROU0F3SURFZ01pNDJJREVnTm5NeUxqZzFJRFlnTmk0eklEWjZJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUc5d1lXTnBkSGs5SWk0MUlpOCtQQzl6ZG1jKyk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1pbWFnZTp1bnNldDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6OXB4O21hcmdpbjowIDlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD1mYWxzZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSl9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257bWFyZ2luOjAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gMzBweCkvMil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEzLjVweDt3aWR0aDoyMi41cHg7Ym9yZGVyLXJhZGl1czo2Ljc1cHg7bWFyZ2luOjAgNXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbiwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxMC44cHg7d2lkdGg6MjdweDtib3JkZXItcmFkaXVzOjEwLjhweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjQ1cHg7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtZW1iZWQgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MzBweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlbTB0TWk0M0xTNDNOWFl0T0M0MWJEWXVOeUEwTGpJMmVpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJ2Y0dGamFYUjVQU0l1TlNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpNaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRjdU15QXhRelF1TXpVZ01TQXlJRE11TWpFZ01pQTJjekl1TXpVZ05TQTFMak1nTldneE5TNDBRVFV1TVRZZ05TNHhOaUF3SURBZ01DQXlPQ0EyYkMwdU1ETXRMalUwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5TWk0M0lERjZiVEUxTGpRZ01URmpNeTQwTlNBd0lEWXVNeTB5TGpZZ05pNHpMVFp6TFRJdU9EVXROaTAyTGpNdE5rZzNMak5ETXk0NE5TQXdJREVnTWk0MklERWdObk15TGpnMUlEWWdOaTR6SURaNklpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJRzl3WVdOcGRIazlJaTQxSWk4K1BDOXpkbWMrKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjIwLjRweDt3aWR0aDoyMC40cHg7Ym9yZGVyLXJhZGl1czoyMC40cHg7bWFyZ2luLXRvcDotM3B4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6Y3hOekUzTVNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOT0M0MUlERTJZVGN1TlNBM0xqVWdNQ0F4SURBZ01DMHhOU0EzTGpVZ055NDFJREFnTUNBd0lEQWdNVFVpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpFMUlpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweE55QTRMalZoT0M0MUlEZ3VOU0F3SURFZ01TMHhOeUF3SURndU5TQTRMalVnTUNBd0lERWdNVGNnTUcwdE1TQXdZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREFpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAxTGpVZ01USm9NbFkxYUMweWVtMDBMVGQyTjJneVZqVjZJaTgrUEM5emRtYyspOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1pY29ucyAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O2JvcmRlci1yYWRpdXM6N3B4O21hcmdpbjoycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaWJtOXVaU0lnZG1sbGQwSnZlRDBpTUNBd0lETTJJRE0ySWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NVEl1TnpVZ05DNDFhQzB6WXkwdU5pQXdMVEV1TVRjdU1qTXRNUzQyTGpZMUxTNDBNaTQwTXkwdU5qVWdNUzB1TmpVZ01TNDJkakl5TGpWak1DQXVOVGt1TWpNZ01TNHhOaTQyTlNBeExqVTVMalF6TGpReUlERWdMalkySURFdU5pNDJObWd6WXk0MU9TQXdJREV1TVRZdExqSTBJREV1TlRrdExqWTJMalF5TFM0ME15NDJOaTB4SUM0Mk5pMHhMalU1VmpZdU56VmpNQzB1TmkwdU1qUXRNUzR4TnkwdU5qWXRNUzQyTFM0ME15MHVOREl0TVMwdU5qVXRNUzQxT1MwdU5qVnRNVE11TlNBd2FDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpVaUx6NDhMM04yWno0PSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKTk1USXVOelVnTkM0MWFDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpWdE1UTXVOU0F3YUMwell5MHVOaUF3TFRFdU1UY3VNak10TVM0MkxqWTFMUzQwTWk0ME15MHVOalVnTVMwdU5qVWdNUzQyZGpJeUxqVmpNQ0F1TlRrdU1qTWdNUzR4Tmk0Mk5TQXhMalU1TGpRekxqUXlJREVnTGpZMklERXVOaTQyTm1nell5NDFPU0F3SURFdU1UWXRMakkwSURFdU5Ua3RMalkyTGpReUxTNDBNeTQyTmkweElDNDJOaTB4TGpVNVZqWXVOelZqTUMwdU5pMHVNalF0TVM0eE55MHVOall0TVM0MkxTNDBNeTB1TkRJdE1TMHVOalV0TVM0MU9TMHVOalVpTHo0OEwzTjJaejQ9KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7aGVpZ2h0OjEwLjVweDt3aWR0aDoxMC41cHg7Ym9yZGVyLXJhZGl1czo1LjI1cHg7bWFyZ2luOjFweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7bGVmdDotMnB4O2hlaWdodDoxNS4zcHg7d2lkdGg6MTUuM3B4O2JvcmRlci1yYWRpdXM6MTUuM3B4O21hcmdpbi10b3A6LTIuMjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uOmFmdGVye2xlZnQ6MDtoZWlnaHQ6MjUuNXB4O3dpZHRoOjI1LjVweDtib3JkZXItcmFkaXVzOjI1LjVweDttYXJnaW4tdG9wOi0zLjc1cHh9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntsZWZ0OjA7aGVpZ2h0OjE3cHg7d2lkdGg6MTdweDtib3JkZXItcmFkaXVzOjE3cHg7bWFyZ2luLXRvcDotMi41cHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVdOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6QXdNQ0lnWm1sc2JDMXZjR0ZqYVhSNVBTSXVNVFVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEUzSURndU5XRTRMalVnT0M0MUlEQWdNU0F4TFRFM0lEQWdPQzQxSURndU5TQXdJREFnTVNBeE55QXdiUzAxSURCTU5pNDFJRFYyTjNwdExURXVPRFlnTUV3M0xqVWdOaTQ0TW5ZekxqTTJlazA0TGpVZ01UWmhOeTQxSURjdU5TQXdJREVnTUNBd0xURTFJRGN1TlNBM0xqVWdNQ0F3SURBZ01DQXhOU0lnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTVRZZ09DNDFZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREJ0TFRRZ01FdzJMalVnTVRKV05Yb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp3dmMzWm5QZz09KTtsZWZ0OjFweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTUuNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtc29saWQsIzBmMGYwZil9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEuN3B4KX0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTkuNXB4KX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWRlbGhpLW1vZGVybiAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCl9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCl9Lnl0cC1iZXplbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjUycHg7aGVpZ2h0OjUycHg7ei1pbmRleDoxOTttYXJnaW4tbGVmdDotMjZweDttYXJnaW4tdG9wOi0yNnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLXJhZGl1czoyNnB4Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVse2xlZnQ6NTAlO3RvcDo1MCU7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0IDFzIGN1YmljLWJlemllciguMDUsMCwwLDEpIDEgbm9ybWFsIGZvcndhcmRzfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYmV6ZWwtaWNvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtYmV6ZWx7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1iZXplbHt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbi1sZWZ0Oi0zMnB4O21hcmdpbi10b3A6LTMycHg7Ym9yZGVyLXJhZGl1czozMnB4fS55dHAtYmV6ZWwtaWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21hcmdpbjo2cHh9Lnl0cC1wbGF5ZXItY29udGVudCAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1iZXplbC1pY29uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYmV6ZWwtaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4O21hcmdpbjoxMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46OHB4fS55dHAtYmV6ZWwtdGV4dC13cmFwcGVye3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDoxMCU7ei1pbmRleDoxOX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHQtd3JhcHBlcnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZGVsaGktbW9kZXJuLWJlemVsLXRleHQtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXQgMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9Lnl0cC1iZXplbC10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MTBweCAyMHB4O2ZvbnQtc2l6ZToxNzUlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjNweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHR7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWJlemVsLXRleHQtaGlkZSAueXRwLWJlemVsLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QGtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjB9MjUlLDc1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zMyk7dHJhbnNmb3JtOnNjYWxlKDEuMzMpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMzKTt0cmFuc2Zvcm06c2NhbGUoMS4zMyl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtdGV4dC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXR7MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjYyfS55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLWNhcmRzLWJ1dHRvbi1pY29ue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKTtib3JkZXItcmFkaXVzOjE4cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9ue21heC13aWR0aDo4MHB4O3dpZHRoOjM2cHh9Lnl0cC1zaG93LWNhcmRzLXRpdGxlIC55dHAtY2FyZHMtYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5OmJsb2NrfS55dHAtY2FyZHMtYnV0dG9uLWljb24tc2hvcHBpbmcsLnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUgLnl0cC1jYXJkcy1idXR0b24taWNvbi1zaG9wcGluZ3tkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZSAueXRwLWNhcmRzLWJ1dHRvbi1pY29uLWRlZmF1bHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS55dHAtY2FyZHMtYnV0dG9uLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtYnV0dG9uLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jYXJkcy1idXR0b24tdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLXNoYWRvd3std2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpzdHJva2Utb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3d7c3Ryb2tlLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1czt0cmFuc2l0aW9uOnN0cm9rZS1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXN9Lnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93LWZpbGx7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246ZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXM7dHJhbnNpdGlvbjpmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1c30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMjc5M2U2fS55dHAtY2FyZHMtc2hvcHBpbmctYWN0aXZlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93e3N0cm9rZTojZmZmO3N0cm9rZS1vcGFjaXR5OjF9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjguNXB4O3JpZ2h0OjA7bWF4LXdpZHRoOjkwJTtvcGFjaXR5Oi43NTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjYxOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2Vye3RvcDoxM3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLXRlYXNlcnt0b3A6MTZweH0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmc6bm90KC52aWRlb0FkVWlSZWRlc2lnbikgLnl0cC1jYXJkcy10ZWFzZXJ7dG9wOjQwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXIsLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcntvcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTouOX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcjpob3ZlcntvcGFjaXR5OjF9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtdGVhc2VyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3M7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3N9Lnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWNhcmRzLXRlYXNlcnstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3gsLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtoZWlnaHQ6MzFweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveCwueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7aGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItYm94e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czoycHg7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMCkgdHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDA7LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgMDt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDB9Lnl0cC1iaWctbW9kZSAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7cmlnaHQ6MjdweH0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpOy1tcy10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgyN3B4KTt0cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCl9W2Rpcj1ydGxdIC55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xOHB4KX1bZGlyPXJ0bF0gLnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0yN3B4KX0ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAzNnB4IDAgMTBweDttYXgtd2lkdGg6MDtvcGFjaXR5OjA7Y29sb3I6IzAwMDtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjEwOS4wOTA5MDklO2xpbmUtaGVpZ2h0OjMxcHg7dGV4dC1zaGFkb3c6bm9uZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1czt0cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1c30ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7cGFkZGluZzowIDY2cHggMCAxMnB4O2xpbmUtaGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHttYXgtd2lkdGg6NDE1cHg7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXN9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7bWF4LXdpZHRoOjYzNXB4fS55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye2Rpc3BsYXk6bm9uZX0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3dpZHRoOjMwcHg7bGVmdDpjYWxjKDEwMCUgLSAzMHB4KTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MThweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2hhbm5lbC1hdmF0YXJ7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDttYXJnaW46NHB4O2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO2Zsb2F0OmxlZnR9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye21hcmdpbjoxMnB4fS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHt3aWR0aDoxMDAlO2xlZnQ6MDstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnMsbGVmdCAuMzNzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4yczt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjJzLGxlZnQgLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnN9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItaW5mby1pY29ue2hlaWdodDozMHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6bGVmdH0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1jbG9zZS1idXR0b257aGVpZ2h0OjMwcHg7d2lkdGg6MjBweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MCA1cHg7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6cmlnaHR9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDojNzE3MTcxfS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MzBweDttYXgtd2lkdGg6MzUwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItYm94e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1pbmZvLWljb257aGVpZ2h0OjQ1cHg7d2lkdGg6NDVweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9ue2hlaWdodDo0NXB4O3dpZHRoOjMwcHg7bWFyZ2luOjAgNy41cHh9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2xpbmUtaGVpZ2h0OjQ1cHg7bWF4LXdpZHRoOjUyNXB4fS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3BhZGRpbmc6MH0ueXRwLWVtYmVkLnl0cC1jYXJkcy10ZWFzZXItc2hvd24ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNocm9tZS10b3AtYnV0dG9ucz46bm90KC55dHAtY2FyZHMtdGVhc2VyKXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZXttaW4taGVpZ2h0OjUycHh9Lnl0cC1iaWctbW9kZS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxle21pbi1oZWlnaHQ6NzVweH0ueXRwLXNob3J0cy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGV7bWluLWhlaWdodDo0MnB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZS10ZXh0e3BhZGRpbmctbGVmdDo1MHB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLWxlZnQ6NzVweH0ueXRwLXRpdGxlLWxpbmt7ZGlzcGxheTpibG9jazt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowO21hcmdpbjo1cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtiYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtmbG9hdDpsZWZ0O2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6NjBweDtoZWlnaHQ6NjBweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0OHB4O2hlaWdodDo0OHB4O21hcmdpbjowfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjEwJX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbnswJXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O21heC13aWR0aDoxMCV9MjUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSl9NzUle21heC13aWR0aDoxMDAlfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXR7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MHB4fX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtb3V0ezAle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTAwcHh9NzUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTBweH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4tYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDttYXgtd2lkdGg6MTUlfTI1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpfTc1JXttYXgtd2lkdGg6MTAwJX19QGtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjE1JX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLW91dC1iaWctbW9kZXswJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjUwMHB4fTc1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjcwcHh9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXQtYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo3MHB4fX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluezAle29wYWNpdHk6MH0yNSV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLW91dHswJXtvcGFjaXR5OjF9MjUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtb3V0ezAle29wYWNpdHk6MX0yNSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC10aXRsZS1jaGFubmVse2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyNXB4O2Rpc3BsYXk6bm9uZTtoZWlnaHQ6NTBweDttYXJnaW4tbGVmdDotNXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6N3B4O2xlZnQ6MDt3aWR0aDo1MHB4fS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3dpZHRoOjcwcHg7aGVpZ2h0OjcwcHg7bWFyZ2luLXRvcDoxMHB4fS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxlLWNoYW5uZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1zaG93LWV4cGFuZGVkey13ZWJraXQtYW5pbWF0aW9uOnl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZHstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO2JvcmRlci1yYWRpdXM6MjVweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjE7d2lkdGg6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtZXhwYW5kZWR7Ym9yZGVyLXJhZGl1czozNXB4fS55dHAtdGl0bGUtZXhwYW5kZWQtb3ZlcmxheXtkaXNwbGF5OmNvbnRlbnRzO21heC13aWR0aDoxMDAlO29wYWNpdHk6MDtwYWRkaW5nLXJpZ2h0OjhweDt3aWR0aDphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e21heC13aWR0aDoxMDAlfS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MX0ueXRwLXRpdGxlLXNob3ctZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbiAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZCAueXRwLXRpdGxlLWV4cGFuZGVkLW92ZXJsYXl7LXdlYmtpdC1hbmltYXRpb246eXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW4tYmlnLW1vZGUgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjo1cHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC10aXRsZS1leHBhbmRlZC10aXRsZXtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bWFyZ2luOjB9Lnl0cC1iaWctbW9kZSAueXRwLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToyMnB4fS55dHAtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtZXhwYW5kZWQtc3VidGl0bGV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1zdWJ0aXRsZXtmb250LXNpemU6MTZweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2J7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW46NXB4O2hlaWdodDphdXRvO3dpZHRoOmF1dG87cGFkZGluZzowO3BhZGRpbmctbGVmdDoxNnB4O3RleHQtc2hhZG93Om5vbmU7bWFyZ2luLXJpZ2h0OjdweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLGEueXRwLXNiLXN1YnNjcmliZXttYXJnaW4tbGVmdDo2NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCAueXRwLXNiLXN1YnNjcmliZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6N3B4fS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1iZWFjb24sLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXN1YnRleHQsLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtYmVhY29uLXB1bHNlezAle2JhY2tncm91bmQ6YmxhY2s7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtsZWZ0OjVweDt0b3A6NXB4fTUwJXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7bGVmdDowO3RvcDowfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1iZWFjb24tcHVsc2V7MCV7YmFja2dyb3VuZDpibGFjazt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2xlZnQ6NXB4O3RvcDo1cHh9NTAle2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtsZWZ0OjA7dG9wOjB9fS55dHAtdGl0bGUtYmVhY29ue2JvcmRlci1yYWRpdXM6MjVweDtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtYmVhY29uLXB1bHNlIDJzIDU7YW5pbWF0aW9uOnl0cC10aXRsZS1iZWFjb24tcHVsc2UgMnMgNX0udW5zdGFydGVkLW1vZGUgLnl0cC10aXRsZS1iZWFjb257ZGlzcGxheTpibG9ja30ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCwueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbi55dHAtY2hhcHRlci1jb250YWluZXItZGlzYWJsZWR7b3BhY2l0eTouOX0ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXgtd2lkdGg6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbnstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbiwueXRwLWVtYmVkIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uLC55dHAtcHJvZmlsZS1wYWdlIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9ue2Rpc3BsYXk6bm9uZX0ueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCAyMHB4O2ZsZXg6MCAwIDIwcHg7d2lkdGg6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3R0b206MXB4fS55dHAtY2hhcHRlci10aXRsZS1jb250ZW50ey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIGF1dG87ZmxleDowIDEgYXV0bzt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7bGluZS1oZWlnaHQ6MjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1iaWctbW9kZSAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnt3aWR0aDoyOHB4fS55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jaGFwdGVyLXRpdGxlLXByZWZpeHtwYWRkaW5nLXJpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUtcHJlZml4LC55dHAtbGl2ZSAueXRwLWNoYXB0ZXItdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lciAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hhcHRlci1jb250YWluZXIgLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHQ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItY29udGFpbmVyIC55dHAtcHJvZmlsZS1wYWdlLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHR9Lnl0cC1leHAtYm90dG9tLWNvbnRyb2wtZmxleGJveCAueXRwLWNoYXB0ZXItY29udGFpbmVyey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIDEwMCU7ZmxleDowIDEgMTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZmxvYXQ6bGVmdH0ueXRwLWNoYXB0ZXItY29udGFpbmVye2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxMDklO3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW46MCA1cHggMCAwO3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDo0N3B4fS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDozOXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDo1M3B4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDEwMCBhdXRvO2ZsZXg6MCAxMDAgYXV0b30ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntwYWRkaW5nLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNoYXB0ZXItY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIzMDA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wb3B1cC55dHAtZGVsaGktbW9kZXJuLWNvbnRleHRtZW51e2JvcmRlci1yYWRpdXM6MTJweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtY29udGV4dG1lbnUgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLWNvbnRleHRtZW51IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtZG5pLnl0cC1jb250ZXh0bWVudXt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUueXRwLWNvbnRleHRtZW51e2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGUueXRwLWVtYmVkLW92ZXJsYXlzLWF1dG9oaWRlLnl0cC1jb250ZXh0bWVudXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUueXRwLWNvbnRleHRtZW51e2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51IGEsLnl0cC1jb250ZXh0bWVudSBhOmZvY3VzLC55dHAtY29udGV4dG1lbnUgYTpob3Zlcntjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtY29weXRleHR7bWFyZ2luOjAgMTBweDttYXgtd2lkdGg6MjAwcHg7b3V0bGluZTpub25lO3RleHQtc2hhZG93Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0Oy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH0ueXRwLWNvcHl0ZXh0OjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2NvbG9yOmJsYWNrfS55dHAtaHRtbDUtY2xpcGJvYXJke3RvcDowO2xlZnQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTstbW96LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS55dHAtc2hvdy1jb3B5bGluay10aXRsZS55dHAtY29weWxpbmstYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXNob3ctY29weWxpbmstdGl0bGUueXRwLWNvcHlsaW5rLWJ1dHRvbnttYXJnaW4tbGVmdDoyMHB4O21hcmdpbi1yaWdodDoyMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnttaW4td2lkdGg6NDhweDttYXgtd2lkdGg6ODBweH0ueXRwLWNvcHlsaW5rLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1jb3B5bGluay1pY29ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS55dHAtY29weWxpbmstdGl0bGV7Zm9udC13ZWlnaHQ6NTAwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstdGl0bGUsLnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLWNvcHlsaW5rLXRpdGxle2ZvbnQtc2l6ZToyMHB4fS55dHAtc2hvdy1jb3B5bGluay10aXRsZSAueXRwLWNvcHlsaW5rLXRpdGxle2Rpc3BsYXk6YmxvY2t9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstdGl0bGV7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW59Lnl0cC1jb3VudGRvd24tdGltZXJ7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzk7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuNik7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLWNvdW50ZG93bi10aW1lcntib3R0b206NTJweH0ueXRwLWNvdW50ZG93bi10aW1lci10aW1le2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiNGRkY7bGluZS1oZWlnaHQ6MzZweDt3aWR0aDozNnB4O2ZvbnQtd2VpZ2h0OjUwMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2IoMCwwLDApfS55dHAtZnJlZS1wcmV2aWV3LWNvdW50ZG93bi10aW1lcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NXB4O2xlZnQ6MjBweDtoZWlnaHQ6MjRweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO3dpZHRoOmF1dG87ei1pbmRleDo4Mjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1mcmVlLXByZXZpZXctY291bnRkb3duLXRpbWVyLXNlcGFyYXRvcntwYWRkaW5nOjAgM3B4fS55dC11aS1lbGxpcHNpc3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9Lnl0LXVpLWVsbGlwc2lzLW5vd3JhcC1zaW5nbGUtbGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDoxLjNlbX0ueXQtdWktZWxsaXBzaXM6YWZ0ZXIsLnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGV9Lnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtjb250ZW50OiLigKYiO3JpZ2h0OjB9Lnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IiI7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXQtdWktZWxsaXBzaXMtMjpiZWZvcmV7dG9wOjEuM2VtfS55dC11aS1lbGxpcHNpcy0zOmJlZm9yZXt0b3A6Mi42ZW19Lnl0LXVpLWVsbGlwc2lzLTQ6YmVmb3Jle3RvcDozLjllbX0ueXQtdWktZWxsaXBzaXMtNjpiZWZvcmV7dG9wOjYuNWVtfS55dC11aS1lbGxpcHNpcy0xMDpiZWZvcmV7dG9wOjExLjdlbX0ueXQtdWktZWxsaXBzaXMtMnttYXgtaGVpZ2h0OjIuNmVtfS55dC11aS1lbGxpcHNpcy0ze21heC1oZWlnaHQ6My45ZW19Lnl0LXVpLWVsbGlwc2lzLTR7bWF4LWhlaWdodDo1LjJlbX0ueXQtdWktZWxsaXBzaXMtNnttYXgtaGVpZ2h0OjcuOGVtfS55dC11aS1lbGxpcHNpcy0xMHttYXgtaGVpZ2h0OjEzZW19LndlYmtpdCAueXQtdWktZWxsaXBzaXN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtMnstd2Via2l0LWxpbmUtY2xhbXA6Mn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0zey13ZWJraXQtbGluZS1jbGFtcDozfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzLTR7LXdlYmtpdC1saW5lLWNsYW1wOjR9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtNnstd2Via2l0LWxpbmUtY2xhbXA6Nn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0xMHstd2Via2l0LWxpbmUtY2xhbXA6MTB9LndlYmtpdCAueXQtdWktZWxsaXBzaXM6YmVmb3Jle2NvbnRlbnQ6bm9ybWFsfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IuKAjCI7cG9zaXRpb246c3RhdGljO3Zpc2liaWxpdHk6aGlkZGVufS55dC11aS1lbGxpcHNpc1tkaXI9cnRsXTpiZWZvcmV7bGVmdDowO3JpZ2h0OmF1dG99YS55dHAtY2UtbGlua3tkaXNwbGF5OmJsb2NrfWEueXRwLWNlLWxpbmssYS55dHAtY2UtbGluazpob3ZlcixhLnl0cC1jZS1saW5rOnZpc2l0ZWR7Y29sb3I6IzE2N2FjNn1hLnl0cC1jZS1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1jZS1zaGFkb3d7b3BhY2l0eTowO291dGxpbmU6c29saWQgIzAwMDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDoxMn0ueXRwLWNlLXNoYWRvdzpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1lbGVtZW50e2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNCk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNSk7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjUpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4zZW07bWFyZ2luOi0xcHg7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC1mb250LXNtb290aGluZzphdXRvO3otaW5kZXg6MTI7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEycHg7cmlnaHQ6MTJweDt6LWluZGV4OjEzO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3Zpc2liaWxpdHk6aGlkZGVufS55dHAtY2UtaGlkZS1idXR0b24tY29udGFpbmVyLnl0cC1jZS1oaWRlLWJ1dHRvbi1sb3dlcnttYXJnaW4tdG9wOjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjcycHh9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2UtZWxlbWVudCwuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtY2UtZWxlbWVudC55dHAtY2UtcGxhY2Vob2xkZXIgYS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtjdXJzb3I6ZGVmYXVsdH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtc2hvdywueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lci55dHAtY2UtZWxlbWVudC1zaG93e29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5ke2JvcmRlcjoxcHggc29saWQgI2ZmZjtvdXRsaW5lOm5vbmU7ei1pbmRleDoxMztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIDBzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dmlzaWJpbGl0eTp2aXNpYmxlfS55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmZvY3VzLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmhvdmVye291dGxpbmU6bm9uZX0ueXRwLWNlLWVsZW1lbnQtc2hhZG93e2JhY2tncm91bmQtY29sb3I6IzAwMDtib3R0b206LTFweDtsZWZ0Oi0xcHg7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi0xcHg7dG9wOi0xcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6MTJ9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtc2hhZG93LXNob3cgLnl0cC1jZS1lbGVtZW50LXNoYWRvd3tvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1jb3ZlcmluZy1pbWFnZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JvdHRvbTotMnB4O2xlZnQ6LTFweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMXB4O3RvcDotMXB4fS55dHAtY2UtY292ZXJpbmctc2hhZG93LXRvcHtoZWlnaHQ6MzMlO29wYWNpdHk6Ljg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjMDAwLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjMDAwKSx0byh0cmFuc3BhcmVudCkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDAwIDAsdHJhbnNwYXJlbnQpfS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3otaW5kZXg6MTJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2Utc2hhZG93e2Rpc3BsYXk6bm9uZX0ueXRwLWNlLXBsYXlsaXN0LC55dHAtY2UtdmlkZW97b3ZlcmZsb3c6aGlkZGVufS55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS12aWRlby10aXRsZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luOjZweCA4cHg7bWF4LWhlaWdodDoyOHB4O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuNCl9Lnl0cC1jZS1wbGF5bGlzdC10aXRsZS55dHAtd2Via2l0LWVsbGlwc2lzLC55dHAtY2UtdmlkZW8tdGl0bGUueXRwLXdlYmtpdC1lbGxpcHNpc3tkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNlLXZpZGVvLWR1cmF0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7bWFyZ2luOjAgNHB4IDRweCAwO3BhZGRpbmc6NHB4IDZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfS55dHAtY2UtbGl2ZS12aWRlby1kdXJhdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMCwwKTtib3JkZXItcmFkaXVzOjJweDtib3R0b206MDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44KTttYXJnaW46MCA0cHggNHB4IDA7cGFkZGluZzo0cHggNnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9Lnl0cC1jZS1wbGF5bGlzdC1jb3VudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweH0ueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4tbGVmdDozMnB4fS55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1jb250ZW50e2Rpc3BsYXk6dGFibGV9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5e2Rpc3BsYXk6dGFibGUtY2VsbDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXksLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1mb3JjZS1leHBhbmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXt6LWluZGV4OjEzO29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLWltYWdlLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5kIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle3otaW5kZXg6MTN9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDRweCAjMDAwO2JveC1zaGFkb3c6MCAwIDRweCAjMDAwO2hlaWdodDoxMDAlO2xlZnQ6MDttYXJnaW46LThweDtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWljb257YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyMHB4IDIwcHg7YmFja2dyb3VuZC1zaXplOjIwcHggMjBweDtib3JkZXItcmFkaXVzOjJweDtib3R0b206MnB4O2hlaWdodDoyNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjJweDt3aWR0aDoyNHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtaG92ZXIgLnl0cC1jZS1leHBhbmRpbmctaWNvbiwueXRwLWNlLWVsZW1lbnQueXRwLWNlLWZvcmNlLWV4cGFuZCAueXRwLWNlLWV4cGFuZGluZy1pY29ue29wYWNpdHk6MH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXtsZWZ0OjA7cGFkZGluZy1sZWZ0OjEwMCU7dG9wOjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e3BhZGRpbmctcmlnaHQ6MTAwJTtyaWdodDowO3RvcDowfS55dHAtY2UtZWxlbWVudC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nLWxlZnQ6MTAwJX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7Ym90dG9tOjA7cGFkZGluZy1yaWdodDoxMDAlO3JpZ2h0OjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtaG92ZXIsLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWZvcmNlLWV4cGFuZCwueXRwLWNlLWVsZW1lbnQueXRwLWNlLW1lcmNoYW5kaXNlLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1tZXJjaGFuZGlzZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtbWVyY2hhbmRpc2UueXRwLWNlLWVsZW1lbnQtc2hvdy55dHAtY2UtZm9yY2UtZXhwYW5kLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93LC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1mb3JjZS1leHBhbmR7Ym9yZGVyOjA7bWFyZ2luOjB9Lnl0cC1jZS1jaGFubmVsLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJle2NvbG9yOiM3Njc2NzY7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDo0cHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tcy10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnR9Lnl0cC1jZS1jaGFubmVsLXN1YnNjcmliZXJzLXRleHR7Y29sb3I6Izc2NzY3NjtkaXNwbGF5Om5vbmU7bWFyZ2luLWJvdHRvbToyNHB4O21hcmdpbi10b3A6NnB4fS55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtjb2xvcjojNzY3Njc2fS55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6bm9uZX0ueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDttYXgtaGVpZ2h0OjQycHh9Lnl0cC1jZS1jaGFubmVsLC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWVsZW1lbnQtc2hhZG93LC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWV4cGFuZGluZy1pbWFnZXtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utd2Vic2l0ZS10aXRsZXtjb2xvcjojMzMzO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tYm90dG9tOjJweH0ueXRwLWNlLW1lcmNoYW5kaXNlLW1ldGFkYXRhLC55dHAtY2UtbWVyY2hhbmRpc2UtcHJpY2UtY29udGFpbmVyLC55dHAtY2Utd2Vic2l0ZS1tZXRhZGF0YXtjb2xvcjojNzY3Njc2O21hcmdpbi10b3A6NHB4fS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1jZS13ZWJzaXRlLWdvdG97ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi10b3A6NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2UsLnl0cC1jZS13ZWJzaXRlIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM2NDY0NjQ7Zm9udC13ZWlnaHQ6ODAwO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tcmlnaHQ6NnB4fS55dHAtY2UtbWVyY2hhbmRpc2UtYWRkaXRpb25hbC1mZWVze2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM3Njc2NzY7bWFyZ2luLXRvcDoycHg7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlcjoxcHggIzAwMDtvcGFjaXR5Oi44O3BhZGRpbmc6MTBweCAwO3dpZHRoOjEwMCU7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YXtjb2xvcjojZmZmO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWNlLXNpemUtMzQ2IC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lcntwYWRkaW5nOjJweCAwfS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lciwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7cGFkZGluZzo1cHggMH0ueXRwLWNlLWxhcmdlLXJvdW5kIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZCwueXRwLWNlLXBsYXlsaXN0Lnl0cC1jZS1sYXJnZS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1sYXJnZS1yb3VuZHtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1jZS1tZWRpdW0tcm91bmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5kLC55dHAtY2UtcGxheWxpc3QueXRwLWNlLW1lZGl1bS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1tZWRpdW0tcm91bmR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1jZS1wbGF5bGlzdC55dHAtY2Utc21hbGwtcm91bmQsLnl0cC1jZS1zbWFsbC1yb3VuZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmQsLnl0cC1jZS12aWRlby55dHAtY2Utc21hbGwtcm91bmR7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0cC1jZS1tZXJjaGFuZGlzZS1nb3Rve2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0ueXRwLWNlLXNpemUtMzQ2e2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1jb3ZlcmluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTM0Ni55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAwIDAgOHB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDhweCAwIDB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmR7bWFyZ2luOi04cHg7cGFkZGluZzo4cHh9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbToycHg7cmlnaHQ6MnB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7bWFyZ2luLXRvcDowfS55dHAtY2Utc2l6ZS00MjZ7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWNvdmVyaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDI2Lnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQyNi55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXttYXJnaW4tdG9wOjB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLXBsYXlsaXN0LXRpdGxlLC55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS12aWRlby10aXRsZSwueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLXZpZGVvLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWF4LXdpZHRoOjg1JX0ueXRwLWNlLXNpemUtNDcwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtNDcwIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDcwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDcwIC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTUwNntmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtY2hhbm5lbC10aXRsZSwueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtZ290bywueXRwLWNlLXNpemUtNTA2IC55dHAtY2Utd2Vic2l0ZS1nb3Rve2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTUwNi55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA0cHggMCAxMnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01MDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDEycHggMCA0cHh9Lnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS01NzB7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01NzAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNHB4IDAgMTJweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNTcwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxMnB4IDAgNHB4fS55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRwLWNlLXNpemUtNjQwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTVweDttYXgtaGVpZ2h0OjMwcHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS02NDAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgOHB4IDAgMTZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNjQwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgOHB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206OHB4O3JpZ2h0OjhweH0ueXRwLWNlLXNpemUtODUze2ZvbnQtc2l6ZToxNHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDttYXJnaW46MTBweCAxMnB4O21heC1oZWlnaHQ6MzZweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgNnB4IDZweCAwfS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTg1My55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmctdG9wOjhweDttYXgtaGVpZ2h0OjQycHg7ZGlzcGxheTpibG9ja30ueXRwLWNlLXNpemUtODUzLnl0cC1jZS1jaGFubmVsLXRoYXQgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDo1NHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTg1My55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA4cHggMCAxNnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS04NTMueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDE2cHggMCA4cHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLWV4cGFuZGluZy1pY29uey13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI0cHggMjRweDtiYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JvdHRvbTo4cHg7aGVpZ2h0OjMycHg7cmlnaHQ6OHB4O3dpZHRoOjMycHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7dG9wOjRweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtcGxheWxpc3QtY291bnQtdGV4dHtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1sZWZ0OjQwcHh9Lnl0cC1jZS1zaXplLTEyODB7Zm9udC1zaXplOjE4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXZpZGVvLXRpdGxle2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjE4cHggMjBweDttYXgtaGVpZ2h0OjQ4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS12aWRlby1kdXJhdGlvbnttYXJnaW46MCAxMnB4IDEycHggMH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS1tZXRhZGF0YSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNlLWNvbnRhaW5lciwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtZ290bywueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtbWV0YWRhdGF7Zm9udC1zaXplOjE4cHg7bWFyZ2luLXRvcDo4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIxcHg7bWF4LWhlaWdodDo2M3B4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjMycHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9Lnl0cC1jZS1zaXplLTEyODAueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJlcnMtdGV4dHtkaXNwbGF5OmJsb2NrfS55dHAtY2Utc2l6ZS0xMjgwLnl0cC1jZS1jaGFubmVsLXRoaXMgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe21hcmdpbi10b3A6MTJweDtwYWRkaW5nLXRvcDoxMnB4O2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjI2NHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoyNjRweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgMzJweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTEyODAueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDMycHggMCAxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZHttYXJnaW46LTE2cHg7cGFkZGluZzoxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLWljb257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O2JhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7Ym90dG9tOjEwcHg7aGVpZ2h0OjQwcHg7cmlnaHQ6MTBweDt3aWR0aDo0MHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtcGxheWxpc3QtaWNvbntsZWZ0OjEwcHg7dG9wOjhweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweDttYXJnaW4tbGVmdDo0NnB4fS55dHAtY2Utc2l6ZS0xOTIwe2ZvbnQtc2l6ZToyOHB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS12aWRlby10aXRsZXtmb250LXNpemU6MzJweDtsaW5lLWhlaWdodDozOHB4O21hcmdpbjoxOHB4IDIwcHg7bWF4LWhlaWdodDo3NnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgMjBweCAyMHB4IDB9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjM4cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtbWV0YWRhdGEsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1wcmljZS1jb250YWluZXIsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLWdvdG8sLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLW1ldGFkYXRhe2ZvbnQtc2l6ZToyOHB4O21hcmdpbi10b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0OjEwMnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjgwcHg7bWFyZ2luLXRvcDotMTZweDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1tcy10cmFuc2Zvcm06c2NhbGUoMi41KTt0cmFuc2Zvcm06c2NhbGUoMi41KX0ueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmVycy10ZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTE5MjAueXRwLWNlLWNoYW5uZWwtdGhpcyAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjE4cHg7cGFkZGluZy10b3A6MThweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MzkycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjM5MnB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDI0cHggMCA0OHB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNDhweCAwIDI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke21hcmdpbjotMjRweDtwYWRkaW5nOjI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo1NnB4IDU2cHg7YmFja2dyb3VuZC1zaXplOjU2cHggNTZweDtib3R0b206MjBweDtoZWlnaHQ6NjJweDtyaWdodDoyMHB4O3dpZHRoOjYycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1wbGF5bGlzdC1pY29ue2xlZnQ6MTJweDt0b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjU2cHg7bGluZS1oZWlnaHQ6NTZweDttYXJnaW4tbGVmdDo1NnB4fS55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmUueXRwLWNlLXN1YnNjcmliZS1idXR0b257aGVpZ2h0OmF1dG87bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTM0NiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQyNiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQ3MCAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS01MDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTUwNiAueXRwLXNiLXVuc3Vic2NyaWJle2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6OHB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlse2JhY2tncm91bmQtc2l6ZTpjb250YWluOy1tb3otYmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0ueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Lnl0cC1leHAtZnJhbWUwIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXt6LWluZGV4OjEwfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlsIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjstbW96LWJhY2tncm91bmQtc2l6ZTpjb250YWluOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW59LmVuZGVkLW1vZGUgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pLC51bnN0YXJ0ZWQtbW9kZTpub3QoLnBsYXlpbmctbW9kZSkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtY2hhcHRlci1zZWVrLXRleHR7ZGlzcGxheTpub25lO3dpZHRoOjgwJTttYXJnaW4tbGVmdDoxMCU7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNoYXB0ZXItc2VlayAueXRwLWNoYXB0ZXItc2Vlay10ZXh0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9ja31ALXdlYmtpdC1rZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtMXswJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6Ljl9MzMle29wYWNpdHk6LjZ9NTAle29wYWNpdHk6LjN9Njcle29wYWNpdHk6LjN9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTF7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi45fTMzJXtvcGFjaXR5Oi42fTUwJXtvcGFjaXR5Oi4zfTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTJ7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi4zfTMzJXtvcGFjaXR5Oi45fTUwJXtvcGFjaXR5Oi42fTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QGtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0yezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouOX01MCV7b3BhY2l0eTouNn02NyV7b3BhY2l0eTouM304MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0zezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouM301MCV7b3BhY2l0eTouOX02NyV7b3BhY2l0eTouNn04MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtM3swJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6LjN9MzMle29wYWNpdHk6LjN9NTAle29wYWNpdHk6Ljl9Njcle29wYWNpdHk6LjZ9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3l7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNkZGQ7ei1pbmRleDoxOX0ueXRwLWRvdWJsZXRhcC1mYXN0LWZvcndhcmQtdmUsLnl0cC1kb3VibGV0YXAtcmV3aW5kLXZle29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi4yO3otaW5kZXg6LTF9Lnl0cC1kb3VibGV0YXAtc3RhdGljLWNpcmNsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtZG91YmxldGFwLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjIxLDIyMSwyMjEsLjE1KTstd2Via2l0LWFuaW1hdGlvbjpncm93LWNpcmNsZSAuOXMgMTthbmltYXRpb246Z3Jvdy1jaXJjbGUgLjlzIDE7dmVydGljYWwtYWxpZ246bWlkZGxlfUAtd2Via2l0LWtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19QGtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19Lnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeS55dHAtdGltZS1zZWVraW5nIC55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtkaXNwbGF5Om5vbmV9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5Lnl0cC1jaGFwdGVyLXNlZWsgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcnt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWJhY2tdOm5vdCgueXRwLWNoYXB0ZXItc2VlaykgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntsZWZ0OjEwJTt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1mb3J3YXJkXTpub3QoLnl0cC1jaGFwdGVyLXNlZWspIC55dHAtZG91YmxldGFwLXNlZWstaW5mby1jb250YWluZXJ7bGVmdDo4MCU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtZG91YmxldGFwLXRvb2x0aXB7cGFkZGluZy10b3A6OHB4O2NvbG9yOiNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC10b29sdGlwe21hcmdpbi1sZWZ0OjhweH0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLXRvb2x0aXB7bWFyZ2luLWxlZnQ6LTVweH0ueXRwLWRvdWJsZXRhcC10b29sdGlwLWxhYmVse3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zZWVrLWljb24tdGV4dC1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWxlZnQ6MTAlO3dpZHRoOjgwJX0ueXRwLXNlZWstaWNvbnttYXJnaW4tcmlnaHQ6NXB4fS55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MThweDtmb250LXdlaWdodDo3MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtY2hhcHRlci1zZWVrIC55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6YmxvY2t9Lnl0cC1kb3VibGV0YXAtYXJyb3dzLWNvbnRhaW5lcnt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlcjoxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206N3B4IHNvbGlkIHRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxLjJzO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjJzOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9Zm9yd2FyZF0gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3tib3JkZXItbGVmdDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93e2JvcmRlci1yaWdodDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgzKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6Zmlyc3QtY2hpbGR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0xO2FuaW1hdGlvbi1uYW1lOmFycm93LWZhZGUtb3V0LTF9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgyKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDIpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMjthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0yfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9YmFja10gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvdzpmaXJzdC1jaGlsZCwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDMpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMzthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0zfS55dHAtc2Vlay1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtc2Vlay1vdmVybGF5e2Rpc3BsYXk6bm9uZX0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24tYmFja3tsZWZ0OjQ4cHh9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmR7cmlnaHQ6NDhweH0ueXRwLXNlZWstb3ZlcmxheS1kdXJhdGlvbntjb2xvcjp3aGl0ZTtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDoyNHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsLjgpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1iYWNrIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1yaWdodDoyMHB4fS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1mb3J3YXJkIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3ZnIHBhdGh7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIC41cHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctcGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zbGF0ZTowIC01MCV9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWJhY2sgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtsZWZ0OjB9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmQgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtyaWdodDowfS55dHAtc2Vlay1vdmVybGF5LW1lc3NhZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDE4MHB4KX0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLWljb246bm90KDplbXB0eSl7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLXRleHR7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3RleHQtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwuOCk7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtbW9yZS12aWRlb3Mtdmlld3tvdmVyZmxvdzpoaWRkZW59Lnl0cC1tb3JlLXZpZGVvcy12aWV3IGEueXRwLXN1Z2dlc3Rpb24tbGluazpmb2N1czphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1tb3JlLXZpZGVvcy12aWV3Lnl0cC1zY3JvbGwtbWF4IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXN7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTo3MHB4O21hcmdpbjoyNHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MTJweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWJvdHRvbToyNHB4O2ZvbnQtc2l6ZToyOHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3W2FyaWEtaGlkZGVuPXRydWVdIGEueXRwLXN1Z2dlc3Rpb24tbGlua3tvcGFjaXR5OjB9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3cteDphdXRvfS55dHAtdG91Y2gtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7aGVpZ2h0OjE4MHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24taW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6MTA4cHg7d2lkdGg6MTkycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3tiYWNrZ3JvdW5kOiMzMzM7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtoZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTAlKTt3aWR0aDozMnB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQ6aG92ZXIsLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXM6aG92ZXJ7LXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1iaWctbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3toZWlnaHQ6NjRweDt3aWR0aDo2NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHR7cmlnaHQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXByZXZpb3Vze2xlZnQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtib3R0b206MDtmb250LXNpemU6MTJweDtsZWZ0OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjA7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgxMiwxMiwxMiwuOCksdHJhbnNwYXJlbnQgMTAwcHgpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDEyLDEyLDEyLC44KSAwLHRyYW5zcGFyZW50IDEwMHB4KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtmb250LXNpemU6MjBweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbms6aG92ZXIgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7b3BhY2l0eToxfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257YmFja2dyb3VuZDojMDAwO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbTo0cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouNzU7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257Zm9udC1zaXplOjE3cHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbltkYXRhLWlzLWxpdmU9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb246ZW1wdHksLnl0cC1zaG9ydHMtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxlLC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21heC1oZWlnaHQ6MzBweH0ueXRwLWltcHJlc3Npb24tbGlua3tiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjgpO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjJweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoycHg7Ym90dG9tOjVweDtoZWlnaHQ6NDdweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWltcHJlc3Npb24tbGluay10ZXh0e2NvbG9yOndoaXRlO2Zsb2F0OmxlZnQ7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tdG9wOjE2cHh9Lnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3tmbG9hdDpyaWdodDtoZWlnaHQ6MTZweDttYXJnaW4tbGVmdDo5cHg7bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLXRvcDoxNnB4O3dpZHRoOjcycHh9Lnl0cC1tdXNpYy1pbXByZXNzaW9uLWxpbmsgLnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3ttYXJnaW4tdG9wOjE0cHg7bWFyZ2luLWxlZnQ6MDtoZWlnaHQ6MTlweH0ueXRwLW1vYmlsZS1hMTF5LWhpZGRlbi1zZWVrLWJ1dHRvbi1mb3J3YXJkLC55dHAtbW9iaWxlLWExMXktaGlkZGVuLXNlZWstYnV0dG9uLXJld2luZHt3aWR0aDoxcHg7aGVpZ2h0OjFweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5LC55dHAtbXV0ZWQtYXV0b3BsYXktb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwMDE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25ze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjExcHg7Ym90dG9tOjB9Lnl0cC1tdXRlZC1hdXRvcGxheS1ib3R0b20tYnV0dG9ucyAueXRwLWJ1dHRvbiwueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OnVuc2V0O21hcmdpbjowIDRweH0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre3JpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya3tvcGFjaXR5OjF9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXktZXF1YWxpemVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Ym90dG9tOjhweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplcntib3R0b206MTBweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplci1pY29ue21hcmdpbjphdXRvO3RvcDozcHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lcXVhbGl6ZXItaWNvbnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kLXBhbmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOjAgMTAlO2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LXNob3ctZW5kLXBhbmVsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpfS55dHAtbXV0ZWQtYXV0b3BsYXktc2hvdy1lbmQtcGFuZWwgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtcGFuZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7bWFyZ2luLXRvcDo0MHB4fS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHttYXJnaW4tdG9wOjkwcHh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX1Aa2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRwLWVxdWFsaXplci1iYXItbGVmdCwueXRwLWVxdWFsaXplci1iYXItbWlkZGxlLC55dHAtZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDstbXMtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uO2FuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZXF1YWxpemVyLWJhci1sZWZ0ey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi41czthbmltYXRpb24tZHVyYXRpb246LjVzfS55dHAtZXF1YWxpemVyLWJhci1taWRkbGV7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MS4zczthbmltYXRpb24tZHVyYXRpb246MS4zc30ueXRwLWVxdWFsaXplci1iYXItcmlnaHR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjdzO2FuaW1hdGlvbi1kdXJhdGlvbjouN3N9Lnl0cC1wYXVzZS1vdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4O2JvdHRvbTo0OXB4O2RpcmVjdGlvbjpsdHI7bGVmdDowO21hcmdpbjoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NDI7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wYXVzZS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1wYXVzZS1vdmVybGF5LWNvbnRyb2xzLWhpZGRlbiAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOjB9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAuYWQtb3ZlcmxheSwueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC5jYXB0aW9uLXdpbmRvd3tkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC55dHAtcGF1c2Utb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cmlnaHQ6MH0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOmF1dG99Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcGF1c2Utb3ZlcmxheXtvcGFjaXR5Oi4yfS55dHAtY2Utc2hvd24gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtbWVudS1zaG93biAueXRwLXBhdXNlLW92ZXJsYXksLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLXBhdXNlLW92ZXJsYXl7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWNvbGxhcHNlLC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLW5leHQsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcHJldmlvdXMsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZSwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5KSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tkaXNwbGF5Om5vbmV9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5e3BhZGRpbmc6MjRweCAzMnB4IDMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2V7aGVpZ2h0OjIwcHg7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4O3RvcDoxMnB4O3dpZHRoOjIwcHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6NDhweDtyaWdodDowO3RvcDowO3dpZHRoOjQ4cHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZS1pY29ue21hcmdpbjphdXRvO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MzJweDtyaWdodDozNnB4O3RvcDoyNHB4O3dpZHRoOjMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjMycHg7cGFkZGluZzowIDEwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9iaWxlLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2hlaWdodDo0OHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToyNHB4O3BhZGRpbmc6MTBweCAxNXB4fS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZCBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7bWFyZ2luLWJvdHRvbToycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1leHBhbmQgc3Zne3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3B7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjI0Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheXtib3JkZXItcmFkaXVzOjJweDtib3R0b206OHB4O2xlZnQ6OHB4O3JpZ2h0OjhweDttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwYWRkaW5nOjE2cHggMjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXl7cGFkZGluZzoxMnB4IDI0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5e2JvdHRvbTozMnB4O2xlZnQ6MjhweDtyaWdodDoyOHB4fS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91cywueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS55dHAtc2Nyb2xsLW1heCAueXRwLW5leHQsLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtdG91Y2gtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2Rpc3BsYXk6bm9uZX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1yZWxhdGVkLXRpdGxle21hcmdpbi1sZWZ0OjhweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjI0cHg7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzJweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb25ze2RpcmVjdGlvbjpsdHI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tdG9wOjhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3ttYXJnaW4tdG9wOjZweH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tvdmVyZmxvdy14OmF1dG99Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWltYWdle2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwOHB4O3dpZHRoOjE5MnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2JhY2tncm91bmQ6IzMzMztib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2hlaWdodDozMnB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7Ym90dG9tOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLW5leHR7cmlnaHQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0e3JpZ2h0OjMycHh9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2xlZnQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91c3tsZWZ0OmFkZCgyNHB4LDhweCl9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5e2JvdHRvbTowO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtvcGFjaXR5OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDEyLDEyLDEyLC44KSx0cmFuc3BhcmVudCAxMDBweCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7Zm9udC1zaXplOjIwcHh9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IGEueXRwLXN1Z2dlc3Rpb24tbGluazpob3ZlciAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjF9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjJweDtib3R0b206NHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxO29wYWNpdHk6Ljk7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbntmb250LXNpemU6MTdweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb25bZGF0YS1pcy1saXZlPXRydWVde2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1lcnJvci1pbmRpY2F0b3IsI2UxMDAyZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWF1dGhvciwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjhweDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxOHB4O21heC1oZWlnaHQ6MzBweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye29wYWNpdHk6Ljc7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtc21hbGwtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTJweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjExMHB4O2hlaWdodDoyNnB4O2JvdHRvbTozOHB4O3otaW5kZXg6Mjg7b3BhY2l0eTouOTtwYWRkaW5nLXRvcDoxMXB4O3BhZGRpbmctYm90dG9tOjExcHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyazpub3QoLnl0cC1tdXRlZC1hdXRvcGxheS13YXRlcm1hcmspe3JpZ2h0OjE2cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyay55dHAtd2F0ZXJtYXJrLXNtYWxse3dpZHRoOjg1cHg7aGVpZ2h0OjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre2JvdHRvbTo1OXB4fS55dHAtaGlkZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjVweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW5hdGl2ZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjUwcHg7bGVmdDoxNnB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbm8taG92ZXIpOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayk6aG92ZXJ7b3BhY2l0eToxfTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5IC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOnJlbGF0aXZlO2JvdHRvbTowfS55dHAtYXV0b2hpZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJrOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayl7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrKXtkaXNwbGF5Om5vbmV9Om5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVue2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjM2fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tdGFrZW92ZXIuaHRtbDUtZW5kc2NyZWVue2Rpc3BsYXk6bm9uZX0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ286bm90KC55dHAtbXdlYi1wbGF5ZXIpIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvOm5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVuOm5vdCgueXRwLXNob3J0cy1icmFuZGVkLXVpKXttYXJnaW4tdG9wOjMycHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCV9Lnl0cC1lbmRzY3JlZW4tdGFrZW92ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLWNvbnRlbnR7ZGlzcGxheTpub25lfTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6MzJweDtvdmVyZmxvdzp2aXNpYmxlO3JpZ2h0OjMycHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6NDhweDtyaWdodDo0OHB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tbmV4dHtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMzJweDt3aWR0aDozMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0e3JpZ2h0Oi00OHB4O3dpZHRoOjQ4cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wYWdpbmF0ZSAueXRwLWVuZHNjcmVlbi1uZXh0e2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0OmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91c3tkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7bGVmdDotMzJweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2xlZnQ6LTQ4cHg7d2lkdGg6NDhweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXBhZ2luYXRlIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXdlYi1wbGF5ZXIuaHRtbDUtZW5kc2NyZWVue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y3Vyc29yOmRlZmF1bHQ7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MzZ9Lmh0bWw1LWVuZHNjcmVlbi5tb2Rlcm4tdmlkZW93YWxsLWVuZHNjcmVlbntjdXJzb3I6ZGVmYXVsdDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDozNjstd2Via2l0LWFsaWduLWNvbnRlbnQ6Y2VudGVyO2FsaWduLWNvbnRlbnQ6Y2VudGVyfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2ZvbnQtc2l6ZToxMXB4fS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDoxMDAlfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle21hcmdpbi1yaWdodDoxMnB4fS55dHAtZW5kc2NyZWVuLXRha2VvdmVyIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50LC55dHAtZW5kc2NyZWVuLXRha2VvdmVyLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDMxMHB4LDFmcikpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maWxsLG1pbm1heChjbGFtcCgyNTBweCwyNyUsNDUwcHgpLDFmcikpO2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dyaWQtYXV0by1yb3dzOjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtY29sdW1uLWdhcDoxNnB4Oy1tb3otY29sdW1uLWdhcDoxNnB4O2NvbHVtbi1nYXA6MTZweDt3aWR0aDoxMDAlOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7cGFkZGluZzozMnB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXgtaGVpZ2h0OjEwMCV9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLXJvdy0wIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tbGltaXQtcm93cy0xIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1saW1pdC1yb3dzLTIgLnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWNvbnRlbnR7Z3JpZC10ZW1wbGF0ZS1yb3dzOnJlcGVhdCgyLDFmcil9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWxpbWl0LXJvd3MtMyAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDMsMWZyKX0ueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50e29wYWNpdHk6MTtzY3JvbGxiYXItd2lkdGg6bm9uZTtvdmVyZmxvdzpzY3JvbGx9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3RvcDowfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDpjYWxjKDMwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKTtib3R0b206MH0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtZXhwYW5kLWJ1dHRvbiwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1idXR0b25zLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0b3A6MDttYXJnaW4tdG9wOmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpLzIqLTEgKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0KS8yKi0xKTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWJ1dHRvbnMtY29udGFpbmVye21hcmdpbi10b3A6Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCkvMiotMSArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQpLzIqLTEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b257b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpO2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OnZpc2libGU7c2Nyb2xsYmFyLXdpZHRoOm5vbmU7ei1pbmRleDo3Mjtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zne3BhZGRpbmc6Y2FsYygodmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktaWNvbi1zaXplLCAyNHB4KSkvMik7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwyNHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1pY29uLXNpemUsMjRweCl9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KSAtIHZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwgMjRweCkpLzIpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOmNhbGMoMTAwJSAtIDhweCk7aGVpZ2h0OmNhbGMoMTAwJSAtIDhweCk7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOmFsbH06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246aG92ZXI6YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aG92ZXIgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6YWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6aGlkZGVuO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSAtIDZweCAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSA2cHggLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaGVhZGVye2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWR7ZGlzcGxheTpibG9jaztvdmVyZmxvdzp2aXNpYmxlO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZ3JpZC1zY3JvbGxhYmxlLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsYWJsZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7b3BhY2l0eTouNX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtvcGFjaXR5OjF9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5e2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDoxMnB4O2JvcmRlci1yYWRpdXM6MTZweDt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmU6bm90KC5lbmRlZC1tb2RlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7bWFyZ2luLXRvcDoxMnB4fS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5LC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXl7ZGlzcGxheTpub25lfTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5OmhhcygueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmhvdmVyKSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5KX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aGFzKC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3Zlcil9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlOm5vdCguZW5kZWQtbW9kZSkgLnl0cC1mdWxsc2NyZWVuLWdyaWQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpfS55dHAtZ3JpZC1yZXBsYXktYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxOHB4O21hcmdpbi1yaWdodDoxNnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsLWJsZWVkLXBsYXllciAueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JvcmRlci1yYWRpdXM6MzBweH0ueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6Z3JpZDtwYWRkaW5nOjAgMjRweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxNnB4Oy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXIsLnl0cC1ncmlkLXNjcm9sbGluZy55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0b30ueXRwLWZ1bGxzY3JlZW4tZ3JpZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MTAwJTt3aWR0aDoxMDAlO3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZTttYXgtaGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6MDt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZnVsbHNjcmVlbi1ncmlke2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWR7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3BhY2l0eTowfS55dHAtbW9yZS12aWRlb3MtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4Oy13ZWJraXQtY29sdW1uLWdhcDo4cHg7LW1vei1jb2x1bW4tZ2FwOjhweDtjb2x1bW4tZ2FwOjhweDtib3JkZXItcmFkaXVzOjI4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7bGVmdDo0cHg7d2lkdGg6Y2FsYygxMDAlIC0gOHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gOHB4KTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGh1bWJuYWlse3dpZHRoOjQwcHg7YXNwZWN0LXJhdGlvOjE2Lzk7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGl0bGV7Y29sb3I6dmFyKC0tT3ZlcmxheS1PdmVybGF5LVRleHQtUHJpbWFyeSwjZmZmKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDA7Zm9udC1mYW1pbHk6dmFyKC0tVHlwb2dyYXBoeS1Gb250LUZhbWlseSxSb2JvdG8pO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O2xldHRlci1zcGFjaW5nOi4xNnB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDowO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDcycHgpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye3dpZHRoOjEwMCU7cGFkZGluZzowIDI0cHh9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZTpub3QoLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYpIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpudGgtY2hpbGQobis0KXtkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGU6bm90KC55dHAtZW5hYmxlLWhvcml6b250YWwtZW5kc2NyZWVuLXNoZWxmKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6bnRoLWNoaWxkKDQpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93LXg6YXV0bzstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50ey13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWluLXdpZHRoOjMxJX0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b24ueXRwLWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtZ3JpZC1zY3JvbGxpbmcgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0LC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtbW9yZS12aWRlb3MtYnV0dG9uLnl0cC1idXR0b24sLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbi55dHAtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9ye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjQ0O2xpbmUtaGVpZ2h0OjIyMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNDAsNDAsNDApfS55dHAtZW1iZWQtZXJyb3IgLnl0cC1lcnJvcntkaXNwbGF5OmJsb2NrfS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGV7bGluZS1oZWlnaHQ6MTYwJX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZXtsaW5lLWhlaWdodDoyMjAlfS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6ODUlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXh9Lnl0cC1lbWJlZC1lcnJvciAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHttYXJnaW46MCBhdXRvfS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21pbi13aWR0aDo2NHB4O21pbi1oZWlnaHQ6NjRweDtmbG9hdDpsZWZ0fS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lciBzdmd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5OmlubGluZTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O29wYWNpdHk6Ljd9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0Lm5vLWxpbmt7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9yLnJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS12aXNpYmxlIC55dHAtc21hbGwtcmVkaXJlY3QsLnl0cC1mdWxsc2NyZWVuIC55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5Om5vbmV9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0IGF7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcHttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvO21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjEwMCV9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6OTZweDt3aWR0aDo5NnB4O21pbi13aWR0aDo5NnB4O21pbi1oZWlnaHQ6OTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDo2MHB4O3dpZHRoOjYwcHh9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXJlYXNvbntmb250LXNpemU6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZSAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDoycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtsaW5lLWhlaWdodDoxNTAlfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWljb24tY29udGFpbmVye2hlaWdodDozMnB4O3dpZHRoOjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3ItaWNvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcC1yZWFzb257Zm9udC1zaXplOjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC10aW55LW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToxMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWZ1bGxlcnNjcmVlbi1lZHUtYnV0dG9uLnl0cC1idXR0b257d2lkdGg6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1idXR0b24ueXRwLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI0cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbjpub3QoLnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUpIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2hlaWdodDo1MCV9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7aGVpZ2h0OjUwJTttYXJnaW4tdG9wOi04cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUgLnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcnt3aWR0aDoyNHB4fS55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAsLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMSwueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpfX1Aa2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCl9fUBrZXlmcmFtZXMgeXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbns1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KX19Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTB7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0wLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1idXR0b246bm90KFthcmlhLWRpc2FibGVkPXRydWVdKTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0xey13ZWJraXQtYW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWZ1bGxzY3JlZW4tYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXIgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4NnB4O3JpZ2h0OjI0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7bWF4LXdpZHRoOjMzJTt0b3A6MjRweDtsZWZ0OjI0cHg7ei1pbmRleDo1OX0ueXRwLW92ZXJsYXktdG9wLWxlZnQgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe21heC13aWR0aDo2MCV9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbSAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7dG9wOnVuc2V0O2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLXNob3BwaW5nLXBpbGwtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDg2cHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1zaG9wcGluZy1waWxsLXNob3duIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YXtib3R0b206Y2FsYyg4NnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWNocm9tZS10b3AtYnV0dG9uc3t3aWR0aDoxMDAlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6ZW5kOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MDt6LWluZGV4OjU5Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtY2hyb21lLXRvcC1idXR0b25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjA7ei1pbmRleDo1OH0qIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwqIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntvcGFjaXR5Om1heCgxIC0gMyAqIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSwwKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze29wYWNpdHk6MH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3toZWlnaHQ6MDttYXJnaW46MH0uYWQtc2hvd2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLmFkLXNob3dpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnNlZWtpbmctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLW1lbnUtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtbWVudS1zaG93biAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLXNldHRpbmdzLXNob3duIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7ZGlzcGxheTpub25lfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5e3otaW5kZXg6ODI7b3ZlcmZsb3c6aGlkZGVufS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmR7YmFja2dyb3VuZDpuby1yZXBlYXQgNTAlL2NvdmVyO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjgyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjMpO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3otaW5kZXg6ODJ9Lnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktbWluaXBsYXllci1jbG9zZS1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjhweDt6LWluZGV4OjgyfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1taW5pcGxheWVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1iYXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgNnB4O2xlZnQ6MjBweDtoZWlnaHQ6NTZweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjt3aWR0aDozODBweDt6LWluZGV4OjgyfS55dHAtYmlnLW1vZGUgLnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktYmFye3BhZGRpbmc6MCA5cHg7aGVpZ2h0Ojg0cHg7Ym90dG9tOjMwcHg7bGVmdDozMHB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6ODBweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgOHB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym9yZGVyLXJhZGl1czoyNHB4O2JvcmRlci13aWR0aDowO2N1cnNvcjpwb2ludGVyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbi10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjAgOHB4O2xpbmUtaGVpZ2h0OjMycHg7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmZ9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b25ze21hcmdpbjoxOHB4IDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6MTIwcHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDEycHg7Ym9yZGVyLXJhZGl1czozcHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b24tdGl0bGV7bWFyZ2luOjAgMTJweDtsaW5lLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxMzAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnttaW4td2lkdGg6MjcwcHg7bWFyZ2luOjAgOXB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXN1YnRpdGxlLC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1zdWJ0aXRsZXtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1oZWF0LW1hcC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXIsLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2hlaWdodDo0MHB4O2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWhlYXQtbWFwLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MH0ueXRwLWRlbGhpLW1vZGVybi55dHAtaGVhdC1tYXAueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZTpub3QoLmFkLXNob3dpbmcpIC55dHAtaGVhdC1tYXAtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4xcyxtYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXMsbWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjFzO21hcmdpbi1ib3R0b206OHB4fS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3Zlcjpub3QoLmFkLXNob3dpbmcpIC55dHAtdGltZWQtbWFya2Vycy1lbmFibGVkIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2JvdHRvbTo3cHh9Lnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY2hhcHRlciBzdmd7aGVpZ2h0OjQwcHh9Lnl0cC1iaWctbW9kZS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLWhlYXQtbWFwLWNoYXB0ZXIgc3Zne2hlaWdodDo2MHB4fS55dHAtaGVhdC1tYXAtY29udGFpbmVye29wYWNpdHk6MDtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowO2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWhlYXQtbWFwLnl0cC1iaWctbW9kZS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2hlaWdodDo2MHB4O2JvdHRvbTo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtaGVhdC1tYXAtY2hhcHRlci55dHAtaGVhdG1hcC1ob3Zlcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjNweH0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIgLnl0cC1oZWF0LW1hcC1ob3ZlcntoZWlnaHQ6MTAwJTtmaWxsOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtaGVhdC1tYXAtaG92ZXIsLnl0cC1oZWF0LW1hcC1wbGF5e2hlaWdodDowfS55dHAtaGVhdC1tYXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWNvbnRhaW5lcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDowfS55dHAtZmluZS1zY3J1YmJpbmctdGh1bWJuYWlse2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MSAwIGF1dG87ZmxleDoxIDAgYXV0b30ueXRwLWZpbmUtc2NydWJiaW5nLWRyYWdnYWJsZSwueXRwLWZpbmUtc2NydWJiaW5nLXRodW1ibmFpbHN7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO21pbi13aWR0aDoxNjBweDtoZWlnaHQ6MTAwJX0ueXRwLWZpbmUtc2NydWJiaW5nLWN1cnNvcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtoZWlnaHQ6MTAwJTt3aWR0aDozcHg7YmFja2dyb3VuZDojZWVlfS55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLWZpbmUtc2NydWJiaW5nLWRpc21pc3MsLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5LC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLXBsYXl7ZGlzcGxheTpub25lO2hlaWdodDozNXB4O3dpZHRoOjM1cHg7Ym90dG9tOjExMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5e2JvdHRvbToxMjAlfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtZmluZS1zY3J1YmJpbmctcGxheSBzdmd7cGFkZGluZzo4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1kaXNtaXNze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTUlO3JpZ2h0OjEwcHg7aGVpZ2h0OjI1cHg7d2lkdGg6MjVweDtkaXNwbGF5Om5vbmV9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dvcmQtd3JhcDpicmVhay13b3JkOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7cGFkZGluZzoxNXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtZmluZS1zY3J1YmJpbmctY2hhcHRlci10aXRsZXt3aWR0aDoyNDBweDtoZWlnaHQ6MTM1cHh9Lnl0cC1maW5lLXNjcnViYmluZy1lZHV7ZGlzcGxheTpub25lfS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTA3cHh9Lnl0cC1iaWctbW9kZS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTUxcHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVte2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjE2cHggMCAwIDE2cHg7d2lkdGg6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC1iaWctbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjI0cHggMCAwIDI0cHg7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjhweCAxMnB4IDAgMCAwIDhweCAxMnB4IDA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1kaXNjbGFpbWVye2N1cnNvcjpub25lO2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmF1dG87bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1idXR0b257d2lkdGg6MTAwJTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjcycHg7aGVpZ2h0OjU0cHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVse21hcmdpbi1sZWZ0OjEycHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtvdmVyZmxvdzphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVsLC55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW0tbGFiZWx7bWFyZ2luLWxlZnQ6MTJweDtmb250LXNpemU6MTRweDtvdmVyZmxvdzphdXRvfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtc2tyaW17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zKTt6LWluZGV4OjcxfS55dHAtaW5mby1wYW5lbC1kZXRhaWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDphdXRvO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7d2lkdGg6NjAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7b3ZlcmZsb3c6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbCwueXRwLXNtYWxsLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbHt3aWR0aDo2MCV9W2Rpcj1sdHJdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9cnRsXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjE2cHg7bGluZS1oZWlnaHQ6MjRweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjI0cHh9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC10aXRsZXttYXJnaW4tcmlnaHQ6MTRweDstd2Via2l0LWZsZXgtZ3JvdzoyOy13ZWJraXQtYm94LWZsZXg6MjtmbGV4LWdyb3c6Mn0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3Nle3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2V7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1ib2R5e2xpbmUtaGVpZ2h0OjI0cHg7bWluLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO21hcmdpbjowIDE2cHg7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtYm9keXttYXJnaW46MCAyNHB4fS55dHAtaW5mby1wYW5lbC1kZXRhaWwtaXRlbXN7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDE2cHggMTZweCAwfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1za3JpbXt6LWluZGV4OjEwMDJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWluZm8tcGFuZWwtcHJldmlld3toZWlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjEycHg7cmlnaHQ6YXV0bztvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtjdXJzb3I6cG9pbnRlcjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MjY7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlcjppbmhlcml0O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MDtmb250OmluaGVyaXQ7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDI3MnB4KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlld1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjYwcHh9Lnl0cC1lbWJlZC55dHAtc2hvcnRzLW1vZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjEyMnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtYXV0b2hpZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6MTJweH0ueXRwLW11dGVkLWF1dG9wbGF5IC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3otaW5kZXg6MTAwMjt0b3A6MTJweH0ueXRwLWxhcmdlci10YXAtYnV0dG9ucyAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6ODFweH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3RvcDo4MXB4O2JvdHRvbTphdXRvO2xlZnQ6MjRweDtoZWlnaHQ6YXV0bztsaW5lLWhlaWdodDphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtcHJldmlld3ttaW4td2lkdGg6MTMwcHg7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDIwOHB4KX0ueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZTstd2Via2l0LXRyYW5zaXRpb246ZGlzcGxheSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmRpc3BsYXkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjBweDtwb2ludGVyLWV2ZW50czpub25lO2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbjplbXB0eSwueXRwLWluZm8tcGFuZWwtcHJldmlldy1pY29uOmVtcHR5e2hlaWdodDowO3dpZHRoOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctdGV4dHtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46OHB4O2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7b3BhY2l0eToxO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3doaXRlLXNwYWNlOm5vcm1hbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlldy10ZXh0W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9I2lubGluZS1wcmV2aWV3LXBsYXllciAuY2FwdGlvbi13aW5kb3csI2lubGluZS1wcmV2aWV3LXBsYXllciAueXRwLWNhcHRpb24td2luZG93LWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtbW9kZXJuLWNhcHRpb24ueXRwLW13ZWItcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVye3dpZHRoOmNhbGMoMTAwJSAtIDQ4cHgpfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC5jYXB0aW9uLXdpbmRvdywueXRwLW1vZGVybi1jYXB0aW9uLnl0cC1td2ViLXBsYXllciAuY2FwdGlvbi13aW5kb3d7Ym9yZGVyOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1tb2Rlcm4tY2FwdGlvbiNpbmxpbmUtcHJldmlldy1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tb2Rlcm4tY2FwdGlvbi55dHAtbXdlYi1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1pbnB1dC1zbGlkZXJ7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtd3JpdGluZy1tb2RlOmhvcml6b250YWwtdGI7LW1zLXdyaXRpbmctbW9kZTpsci10Yjt3cml0aW5nLW1vZGU6aG9yaXpvbnRhbC10YjtkaXJlY3Rpb246bHRyfS55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwuMikgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tdG9wOi02cHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtaW5wdXQtc2xpZGVyOjotbXMtdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmFyaXNwZWVkLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbSgjZmZmKSxjb2xvci1zdG9wKCNmZmYpLGNvbG9yLXN0b3AoIzkwOTA5MCksdG8oIzkwOTA5MCkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyey13ZWJraXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsOy1tcy13cml0aW5nLW1vZGU6YnQtcmw7d3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsO2RpcmVjdGlvbjpydGw7aGVpZ2h0OmluaGVyaXQ7d2lkdGg6MjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO3dpZHRoOjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsLjIpIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSAxMDAlKTt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0cC12ZXJ0aWNhbC1zbGlkZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie21hcmdpbi1yaWdodDotNnB4fS55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRodW1ie21hcmdpbi1yaWdodDowfX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3dpZHRoOjQ2cHg7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3BhZGRpbmc6OXB4O2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVke2Rpc3BsYXk6YmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3BhZGRpbmctdG9wOjEycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b257cGFkZGluZy10b3A6N3B4fS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVkLC55dHAtdGlueS1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b24ueXRwLWp1bXAtYnV0dG9uLWVuYWJsZWR7ZGlzcGxheTpub25lfS55dHAtanVtcC1idXR0b24tdGV4dHtmaWxsOiNmZmY7Zm9udC1zaXplOjlweDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Zm9udC13ZWlnaHQ6OTAwfS55dHAtanVtcC1zcGluIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3BpbjthbmltYXRpb24tbmFtZTp5dHAtanVtcC1zcGluOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9Lnl0cC1qdW1wLXNwaW4uYmFja3dhcmRzIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtanVtcC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtanVtcC1zcGluLWJhY2t3YXJkc3swJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW4tYmFja3dhcmRzezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fS55dHAtbGFyZ2UtcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTt3aWR0aDo2OHB4O2hlaWdodDo0OHB4O21hcmdpbi1sZWZ0Oi0zNHB4O21hcmdpbi10b3A6LTI0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo2M30ueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC1zaG9ydHMtbW9kZXt3aWR0aDo2OHB4O2hlaWdodDo5MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtc2hvcnRzLW1vZGV7d2lkdGg6MTAycHg7aGVpZ2h0OjEzNXB4fS55dHAtZG5pIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLXNtYWxsLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbnt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O21hcmdpbi1sZWZ0Oi0zNy41cHg7bWFyZ2luLXRvcDotMzcuNXB4fS5ob3VzZS1icmFuZCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXRvcDotMzBweH0ueXRwLWxhcmdlLXBsYXktYnV0dG9uIHN2Z3toZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ueXRwLWRuaSAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXkgLnl0cC1kbmktbGFyZ2UtcGxheS1idXR0b24tYmd7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ZmlsbC1vcGFjaXR5Oi44fS55dHAtZG5pIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWRuaS1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmaWxsLW9wYWNpdHk6MX0ueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6MTAycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWxlZnQ6LTUxcHg7bWFyZ2luLXRvcDotMzZweH0uaG91c2UtYnJhbmQueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6OTBweDtoZWlnaHQ6OTBweDttYXJnaW4tbGVmdDotNDVweDttYXJnaW4tdG9wOi00NXB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheVthcmlhLWhpZGRlbj10cnVlXSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLC55dHAtbWVudS1zaG93biAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZC1wYW5lbCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtmaWxsOiMyMTIxMjE7ZmlsbC1vcGFjaXR5Oi44fS55dHAtbGFyZ2UtcGxheS1idXR0b24tcmVkLWJnIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyk7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtdG91Y2gtZGV2aWNlIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJney13ZWJraXQtdHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2ZpbGw6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpO2ZpbGwtb3BhY2l0eToxfS55dHAtY29sb3ItcGFydHkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1jb2xvci1wYXJ0eSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC10b3VjaC1kZXZpY2UgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZywueXRwLWNvbG9yLXBhcnR5IC55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXk6aG92ZXIgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktZmlsbCAuMTVzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWZpbGwgLjE1cyBsaW5lYXIgaW5maW5pdGV9LmhvdXNlLWJyYW5kIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJnLC5ob3VzZS1icmFuZCAueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDojMDAwfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NzI7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6cmdiYSgxNywxNywxNywuOCk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtkaXNwbGF5OmJsb2NrO3dpZHRoOjQwMHB4O292ZXJmbG93LXk6YXV0b31odG1sW2RhcmtdIC55dHAtbGlua2VkLWFjY291bnQtcG9wdXB7YmFja2dyb3VuZDpyZ2JhKDMzLDMzLDMzLC45NSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLWJ1dHRvbnN7cGFkZGluZzo4cHggOHB4IDhweCAyNHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYigyMzgsMjM4LDIzOCk7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtYnV0dG9ue2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMDA3cHg7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MTBweCAxNnB4fWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC1idXR0b257Y29sb3I6IzNlYTZmZn0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLXRpdGxle2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI4cHg7bWFyZ2luOjE2cHggMjRweDtjb2xvcjpyZ2IoMywzLDMpfWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC10aXRsZXtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtZGVzY3JpcHRpb257cGFkZGluZzowIDI0cHg7bWFyZ2luOjRweCAwIDI0cHh9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jb25maXJte2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzY2Njt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jYW5jZWx7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbjoxMnB4IDA7cGFkZGluZzoxMHB4IDIwcHg7Ym9yZGVyLXJhZGl1czoycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbWR4LXBvcHVwLWRpYWxvZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1tZHgtcG9wdXAtZGlhbG9nLWlubmVyLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW4tdG9wOi03MHB4O2xlZnQ6MDtyaWdodDowO3BhZGRpbmc6MCAyMCV9Lnl0cC1tZHgtcG9wdXAtdGl0bGV7Zm9udC1zaXplOjIwcHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1keC1wb3B1cC1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLW1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDoyMHB4O2hlaWdodDo0NHB4fS55dHAtYmlnLW1vZGUgLm1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDozMHB4O2hlaWdodDo2N3B4fS5odG1sNS12aWRlby1wbGF5ZXIueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5lbmRlZC1tb2RlKTpub3QoLmN1ZWQtbW9kZSk6bm90KC51bnN0YXJ0ZWQtbW9kZSl7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC15cGMtcGxheWVyLWNvbnRlbnR7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci11aXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXt6LWluZGV4OjY4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KX0ueXRwLW1pbmlwbGF5ZXItc2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtdHJhbnNpdGlvbjouMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgLjFzO3RyYW5zaXRpb246LjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpIC4xcztvcGFjaXR5OjA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1taW5pcGxheWVyLXNjcmltOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtcGxheWVyLW1pbmltaXplZC51bnN0YXJ0ZWQtbW9kZSAueXRwLW1pbmlwbGF5ZXItc2NyaW17b3BhY2l0eToxfS55dHAtbWluaXBsYXllci1zY3JpbTpob3ZlcntvcGFjaXR5OjF9Lnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5lbmRlZC1tb2RlIC55dHAtbWluaXBsYXllci1idXR0b25ze2Rpc3BsYXk6YmxvY2t9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24tYm90dG9tLXJpZ2h0e2JvdHRvbTo0cHg7cmlnaHQ6MH0ueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbi10b3AtbGVmdHt0b3A6MDtsZWZ0OjB9Lnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo4cHg7Ym90dG9tOjhweDt3aWR0aDozMnB4O2hlaWdodDozMnB4O3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jb250cm9sc3tkaXJlY3Rpb246bHRyO2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjI2NHB4Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcnttaW4td2lkdGg6NjRweH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjY0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtbmV4dC1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcHJldi1idXR0b257d2lkdGg6MzJweDtoZWlnaHQ6MzJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXJ7bWluLXdpZHRoOjMycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcGxheS1idXR0b257d2lkdGg6NDJweDtoZWlnaHQ6NDJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWNvbnRyb2xzIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjdweDtib3R0b206MH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkueXRwLWxpdmUgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aXtkaXNwbGF5OmJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRpdGxle3dpZHRoOjIwMCU7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NDhweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC1leHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdHtib3R0b206MXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjQpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuNCk7dHJhbnNmb3JtOnNjYWxlWSgxLjQpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0xcHg7ei1pbmRleDo2OH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC10aW1lLWRpc3BsYXl7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXJ7Ym90dG9tOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC52aWRlby1hZHMsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC52aWRlby1hZHN7ZGlzcGxheTpibG9ja30ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheXtvdmVyZmxvdzpoaWRkZW59Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktZmx5b3V0LWN0YSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJ7Ym90dG9tOjMycHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206M3B4O2xlZnQ6NnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsIC55dHAtdG9vbHRpcC10aXRsZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO2ZvbnQtc2l6ZToxMnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3e21heC13aWR0aDpjYWxjKDEwMCUgLSAyNHB4KTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtcGxheWVyLW1pbmltaXplZCAuaHRtbDUtbWFpbi12aWRlbywueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1taW5pcGxheWVyLXNjcmlte2JvcmRlci1yYWRpdXM6MTJweCAxMnB4IDAgMH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLmh0bWw1LW1haW4tdmlkZW97Ym9yZGVyLXJhZGl1czowfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUgLmh0bWw1LW1haW4tdmlkZW8sLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1wbGF5ZXItZG9jdW1lbnQtcGljdHVyZS1pbi1waWN0dXJlIC55dHAtbWluaXBsYXllci1zY3JpbSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUuaHRtbDUtdmlkZW8tcGxheWVye2JvcmRlci1yYWRpdXM6MH0ueXRwLXRpdGxlLW5vdGlmaWNhdGlvbnN7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4tcmlnaHQ6NXB4O3RleHQtYWxpZ246Y2VudGVyfWJ1dHRvbi55dHAtYnV0dG9uLnl0cC10aXRsZS1ub3RpZmljYXRpb25ze21hcmdpbi1sZWZ0OjhweDt3aWR0aDo0OHB4fS55dHAtdGl0bGUtbm90aWZpY2F0aW9uczpub3QoLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQpIC55dHAtdGl0bGUtbm90aWZpY2F0aW9ucy1vbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1ub3RpZmljYXRpb25zLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQgLnl0cC10aXRsZS1ub3RpZmljYXRpb25zLW9mZntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRle3otaW5kZXg6MjE7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bm8tcmVwZWF0IDUwJS9jb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIyfS55dHAtb2ZmbGluZS1zbGF0ZS55dHAtb2ZmbGluZS1zbGF0ZS1oaWRlLWJhY2tncm91bmQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhY2tncm91bmR7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUueXRwLW9mZmxpbmUtc2xhdGUtaGlkZS1iYWNrZ3JvdW5kIC55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlOm5vdCgueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlcikgLnl0cC1vZmZsaW5lLXNsYXRlLWJhci1mYWRlLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MCA2cHg7bGVmdDoxMnB4O2hlaWdodDo1NnB4O2JvdHRvbTo2MHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2ZmZjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo0Njtib3JkZXItcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwuNik7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1iYXIueXRwLW9mZmxpbmUtc2xhdGUtYmFyLWhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0cC1lbWJlZCAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo1MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nOjAgOXB4O2hlaWdodDo4NHB4O2JvdHRvbTo5MHB4O2xlZnQ6MThweH0ueXRwLWVtYmVkLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo5MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntib3R0b206MTJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1iYXJ7Ym90dG9tOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWljb257bWFyZ2luOjAgMTRweDt3aWR0aDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue3dpZHRoOjM2cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257bWluLXdpZHRoOjgwcHg7aGVpZ2h0OjMycHg7cGFkZGluZzowIDhweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjI1KTtib3JkZXItcmFkaXVzOjJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6IzI4MjgyOH0ueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbiBzdmd7ZmlsbDojMjgyODI4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MCA4cHg7bGluZS1oZWlnaHQ6MzJweDtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo1MDB9Lnl0cC1yZW1pbmRlci1tZW51e2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjU1cHg7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLXJlbWluZGVyLW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbWluZGVyLW1lbnUtY29udGVudHN7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNlZWU7ZGlzcGxheTp0YWJsZTtwYWRkaW5nOjhweCAwO3dpZHRoOjEwMCV9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW17Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTp0YWJsZS1yb3c7aGVpZ2h0OjQwcHg7b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW17aGVpZ2h0OjQ5cHh9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLXJlbWluZGVyLW1lbnUtaXRlbTpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW0taWNvbiwueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1sYWJlbHtkaXNwbGF5OnRhYmxlLWNlbGw7cGFkZGluZzowIDE1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWxhYmVse2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW0tbGFiZWx7cGFkZGluZzowIDE1cHggMCAwfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb257cGFkZGluZzowIDEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uc3ttYXJnaW46MThweCA5cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue21pbi13aWR0aDoxMjBweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjNweH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHttYXJnaW46MCAxMnB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtb2ZmbGluZS1zbGF0ZS1tZXNzYWdlc3std2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtbWVzc2FnZXN7bWluLXdpZHRoOjI3MHB4O21hcmdpbjowIDlweH0ueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0LC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtb2ZmbGluZS1zbGF0ZS1tYWluLXRleHR7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NDAwfS55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e2ZvbnQtc2l6ZToxMTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dG9wOjA7Ym90dG9tOjA7bGVmdDphdXRvO3JpZ2h0OjA7cGFkZGluZzoyNXB4O3BhZGRpbmctdG9wOjQ4cHg7bWluLXdpZHRoOmF1dG87d2lkdGg6MzAwcHg7aGVpZ2h0OmF1dG87Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtdHJhbnNpdGlvbjpyaWdodCAuMjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246cmlnaHQgLjI1cyBlYXNlLWluLW91dDt6LWluZGV4OjIzfS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nLXRvcDo2OXB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntyaWdodDotMTAwJX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtaWNvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWNsb3NlLWJ1dHRvbiwueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b257cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDt0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotMjVweDt6LWluZGV4OjIzfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1jbG9zZS1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b246YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4O2xlZnQ6MTVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDoyMHB4fS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyLnl0cC1vZmZsaW5lLXNsYXRlLWNvbGxhcHNlZCAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1lc3NhZ2Vzey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6bm9uZTtmbGV4Om5vbmU7bWFyZ2luOjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1haW4tdGV4dHtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0e21hcmdpbi10b3A6MH0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtc3VidGl0bGUtdGV4dHtjb2xvcjojYWFhO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuM2VtO21hcmdpbjo1cHggMCAyMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e21hcmdpbi1sZWZ0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWRlc2NyaXB0aW9ue2Rpc3BsYXk6YmxvY2s7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXNpemU6MTNweDttYXJnaW46MjBweCAwO21heC1oZWlnaHQ6MzAwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b25ze21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnMgLnl0cC1yZW1pbmRlci1tZW51e2JvdHRvbTphdXRvfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDphdXRvO3BhZGRpbmc6NHB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbiBzdmd7ZmlsbDojZmZmfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHtmb250LXNpemU6MTEwJTtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowIDhweH0ueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttaW4td2lkdGg6NDhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1vdmVyZmxvdy1idXR0b257cGFkZGluZy10b3A6MTZweH0ueXRwLW92ZXJmbG93LWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1vdmVyZmxvdy1wYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc0O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1vdmVyZmxvdy1wYW5lbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1vdmVyZmxvdy1wYW5lbC1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luLXRvcDotNDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6MTJweDtwYWRkaW5nOjA7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLW1vYmlsZS55dHAtZW1iZWQtbW9iaWxlIC55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2V7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1vdmVyZmxvdy1wYW5lbC1hY3Rpb24tYnV0dG9uc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo4cHggMTJweCA3MnB4O3otaW5kZXg6NTk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnQ+Kntwb2ludGVyLWV2ZW50czphdXRvO21hcmdpbi1ib3R0b206MTJweH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6YXV0b30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25ze21hcmdpbi1ib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25zPip7bWFyZ2luLWJvdHRvbToxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2JvdHRvbTowfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdD4qe3BvaW50ZXItZXZlbnRzOmF1dG87bWFyZ2luLXRvcDoxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktaW5saW5lLWNvbnRhaW5lcnt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Z2FwOjEycHh9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXI+Kntwb2ludGVyLWV2ZW50czphdXRvfS55dHAtb3ZlcmxheXMtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzO3RyYW5zaXRpb246Ym90dG9tIC4xczstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIDBzO3RyYW5zaXRpb246Ym90dG9tIDBzfS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7aW5zZXQ6OHB4IDI0cHggNzhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1kZWxoaS1tb2Rlcm4pIC55dHAtb3ZlcmxheXMtY29udGFpbmVye3RvcDo2OXB4O2JvdHRvbTo3OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAyNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOjI0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTozNnB4fS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257ZGlzcGxheTpub25lfS55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjUzcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwOS4wOTA5MDkwOTA5JTtoZWlnaHQ6MzBweDtsZWZ0OjI1cHg7bGluZS1oZWlnaHQ6MzBweDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6Mjd9Lnl0cC1iaWctbW9kZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2ZvbnQtd2VpZ2h0OjQwMDtoZWlnaHQ6YXV0bztwb2ludGVyLWV2ZW50czphdXRvO3RvcDoxNnB4O2xlZnQ6MTZweDtyaWdodDphdXRvfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHggMCA4cHggOHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rW2hyZWY9IiMiXXtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZDpub25lOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6OHB4fS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1jaGV2cm9ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWNoZXZyb246ZW1wdHksLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWljb246ZW1wdHl7aGVpZ2h0OjA7d2lkdGg6MH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTphdXRvO2hlaWdodDphdXRvO2xlZnQ6MTZweDtsaW5lLWhlaWdodDppbmhlcml0fS55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXt0b3A6NjRweH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtaGlkZS1pbmZvLWJhciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7dG9wOjE2cHh9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5Om5vbmV9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXktbGlua3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO3BhZGRpbmc6NXB4O2JvcmRlci1sZWZ0OnVuc2V0fS55dHAtZGVsaGktbW9kZXJuLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5OmJsb2NrO3dpZHRoOjRweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7bWFyZ2luOjAgOHB4fS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206NDVweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MzJweDtvcGFjaXR5OjE7cGFkZGluZzowIDE0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTo2MnB4O2hlaWdodDo0MnB4O2xlZnQ6NDRweDtsaW5lLWhlaWdodDo0MnB4fS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym90dG9tOjZweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1iaWctbW9kZS55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206MTJweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHRbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW1lbnVpdGVte2Rpc3BsYXk6dGFibGUtcm93O2N1cnNvcjpkZWZhdWx0O291dGxpbmU6bm9uZX0ueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW06bm90KC55dHAtbWVudWl0ZW0td2l0aC1mb290ZXIpe2hlaWdodDo0OXB4fS55dHAtbWVudWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLW1lbnVpdGVtOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1tZW51aXRlbS1pY29uLC55dHAtbWVudWl0ZW0tbGFiZWwsLnl0cC1tZW51aXRlbS1zZWNvbmRhcnktaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjB9Lnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0taWNvbiBzdmd7ZGlzcGxheTpibG9jazt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dHAtbWVudWl0ZW0tc2Vjb25kYXJ5LWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLWRlbGhpLW1vZGVybikgLnl0cC1tZW51aXRlbS1pY29uIHN2Z3t3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6dW5zZXR9Lnl0cC1tZW51aXRlbS1sYWJlbC13cmFwcGVye2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1tZW51aXRlbS1rZXlib2FyZC1zaG9ydGN1dHtmb250LXNpemU6MTE1JTtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOiNjY2N9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1tZW51aXRlbXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1wYW5lbC1tZW51e21hcmdpbi1yaWdodDoxMHB4fS55dHAtcXVhbGl0eS1tZW51IC55dHAtbWVudWl0ZW0tbGFiZWwgc3Vwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjB9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWxhYmVse3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1jb250ZW50e2Rpc3BsYXk6bm9uZX0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1sYWJlbHtwYWRkaW5nLWxlZnQ6MzVweDtwYWRkaW5nLXJpZ2h0OjIwcHg7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVtyb2xlPW1lbnVpdGVtcmFkaW9dIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjUycHg7cGFkZGluZy1yaWdodDozNXB4fS55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS1sYWJlbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUa2dNVFl1TWlBMExqZ2dNVEpzTFRFdU5DQXhMalJNT1NBeE9TQXlNU0EzYkMweExqUXRNUzQwZWlJdlBqd3ZjM1puUGc9PSk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAxMHB4IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjE4cHggMThweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToxOHB4IDE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tbGFiZWx7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IDE1cHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToyN3B4IDI3cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MjdweCAyN3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI3cHggMjdweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1pY29uey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbDpmaXJzdC1jaGlsZHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDJweCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1lbnVpdGVtOmZvY3VzIC55dHAtbWVudWl0ZW0tY29udGVudHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXTpmb2N1cyAueXRwLW1lbnVpdGVtLWxhYmVsey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW1lbnVpdGVtLWNvbnRlbnR7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpyaWdodH0ueXRwLW1lbnVpdGVtLXN1YmxhYmVse2Zsb2F0OmxlZnR9Lnl0cC1tZW51LWxhYmVsLXNlY29uZGFyeSwueXRwLW1lbnVpdGVtLXN1YmxhYmVse2ZvbnQtc2l6ZTo5MSU7Y29sb3I6I2NjY30ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDlweCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjMycHggMzJweDstbW96LWJhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O3BhZGRpbmctcmlnaHQ6MzhweH0ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfVtkaXI9cnRsXSAueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFNUxqUXhJREl3TGpBNUxUUXVOVGd0TkM0MU9TQTBMalU0TFRRdU5UbE1NVGdnT1M0MWJDMDJJRFlnTmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEzcHggY2VudGVyO2JhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDtwYWRkaW5nLXJpZ2h0OjU3cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS1jb250ZW50e2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEycHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToxOHB4IDE4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjE4cHggMThweDtwYWRkaW5nLXJpZ2h0OjMycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKdE9TNDBJREU0TGpRdExqY3RMamNnTlM0MkxUVXVOaTAxTGpjdE5TNDNMamN0TGpjZ05pNDBJRFl1TkhvaUx6NDhMM04yWno0PSl9Lnl0cC1kZWxoaS1tb2Rlcm4gW2Rpcj1ydGxdIC55dHAtbWVudWl0ZW1bYXJpYS1oYXNwb3B1cD10cnVlXSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKTk1UUXVPVFlnTVRndU9UWWdPQ0F4TW13MkxqazJMVFl1T1RZdU56RXVOekZNT1M0ME1TQXhNbXcyTGpJMUlEWXVNalY2SWk4K1BDOXpkbWMrKX0ueXRwLW1lbnVpdGVtIHN1cHtsaW5lLWhlaWdodDowO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW1lbnVpdGVtLWxhYmVsLWNvdW50e2NvbG9yOiNjY2N9Lnl0cC1tZW51aXRlbXRpdGxle3BhZGRpbmc6MCAxNXB4O21heC13aWR0aDoyMDBweDt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW10aXRsZXtwYWRkaW5nOjAgMjJweDttYXgtd2lkdGg6MzAwcHh9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNle21hcmdpbi1sZWZ0Oi44ZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlIHN2Z3toZWlnaHQ6MjBweDt3aWR0aDoyMHB4O21hcmdpbi1ib3R0b206LTRweH0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdWdnZXN0ZWQtYWN0aW9uKX0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodC10cmFuc2l0aW9uLWVuYWJsZWQueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVkKXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzcyBsaW5lYXIgMXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDNzIGxpbmVhciAxc30ueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXRvcDoxNXB4fS55dHAtbWVudWl0ZW0tZm9vdGVye3BhZGRpbmctdG9wOjVweH0ueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7Y29sb3I6I2VlZTtwYWRkaW5nOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZzowfS55dHAtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1wYW5lbHttaW4td2lkdGg6MjUwcHh9Lnl0cC1wYW5lbC1oZWFkZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yKTtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToxMDklO2NvbG9yOiNlZWU7cGFkZGluZzo4cHggMDtoZWlnaHQ6NDBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7bGluZS1oZWlnaHQ6aW5oZXJpdDtmb250LXNpemU6MTE4JTtmb250LXdlaWdodDo1MDA7Y29sb3I6I2VlZTtwYWRkaW5nOjE2cHggMDttaW4taGVpZ2h0OjQwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI1MHB4fS55dHAtcGFuZWwtZm9vdGVyLWNvbnRlbnR7bWFyZ2luOjAgMTBweH0ueXRwLXBhbmVsLWZvb3Rlci55dHAtcGFuZWwtaGlkZS1mb290ZXJ7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1wYW5lbC1mb290ZXItY29udGVudC1saW5re2NvbG9yOiMxNjdhYzZ9Lnl0cC10b3VjaC1tb2RlIC55dHAtcGFuZWwtaGVhZGVye2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC1oZWFkZXJ7aGVpZ2h0OjQ5cHh9Lnl0cC1wYW5lbC1iYWNrLWJ1dHRvbi1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDhweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo0OHB4fS55dHAtcGFuZWwtYmFjay1idXR0b257YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXpNaUF6TWlJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGliVEU1TGpReElESXdMakE1TFRRdU5UZ3ROQzQxT1NBMExqVTRMVFF1TlRsTU1UZ2dPUzQxYkMwMklEWWdOaUEyZWlJdlBqd3ZjM1puUGc9PSk7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLXBhbmVsLXRpdGxlOmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtcGFuZWwtb3B0aW9uc3ttYXJnaW4tbGVmdDphdXRvfS55dHAtcGFuZWwtdGl0bGV7Zm9udC13ZWlnaHQ6NTAwfVtkaXI9cnRsXSAueXRwLXBhbmVsLXRpdGxle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC10aXRsZXtiYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7cGFkZGluZzowIDE1cHggMCA1MnB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXBhbmVsLXRpdGxle3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLXBhbmVsLW9wdGlvbnN7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEwcHg7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWJpZy1tb2RlIC55dHAtcGFuZWwtb3B0aW9uc3twYWRkaW5nOjAgMTVweH0ueXRwLXBhbmVsLW1lbnV7cGFkZGluZzo4cHggMDtkaXNwbGF5OnRhYmxlO3dpZHRoOjEwMCU7Y29sb3I6I2VlZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NDZweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDo4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3BhZGRpbmc6MTBweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7cGFkZGluZzoxOHB4fS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1iaWctbW9kZS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NTJweDtoZWlnaHQ6NTJweDttYXJnaW4tdG9wOjZweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjE0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEycHggMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7cGFkZGluZzo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo2OXB4fS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NjBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uLXBsYXlsaXN0e21hcmdpbi10b3A6MTJweDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcHJldi1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1uZXh0LWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXByZXYtYnV0dG9uLC55dHAtZW1iZWQueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLW5leHQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheS1idXR0b24sLnl0cC1wcmV2LWJ1dHRvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG99Lnl0cC1wbGF5bGlzdC1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtib3R0b206MDt3aWR0aDo0MDBweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjczO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51e2xlZnQ6YXV0bztyaWdodDowfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51e3dpZHRoOjYwMHB4fVtkaXI9bHRyXSAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtcGxheWxpc3QtbWVudVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX1bZGlyPXJ0bF0gLnl0cC1wbGF5bGlzdC1tZW51W2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX1bZGlyPXJ0bF0gLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1wbGF5bGlzdC1tZW51LWhlYWRlcntwYWRkaW5nOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQ0NH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1oZWFkZXJ7cGFkZGluZzoyM3B4fS55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmctcmlnaHQ6MTVweDtmb250LXNpemU6MTM2JTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3BhZGRpbmctcmlnaHQ6MjNweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXBsYXlsaXN0LW1lbnUtc3VidGl0bGV7Y29sb3I6I2I4YjhiODtsaW5lLWhlaWdodDoxN3B4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LXN1YnRpdGxle2xpbmUtaGVpZ2h0OjI2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1jbG9zZXt0b3A6MjNweDtyaWdodDoyM3B4O3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtcGxheWxpc3QtbWVudS1jbG9zZTpob3ZlciBwYXRoe2ZpbGw6I2ZmZn0ueXRwLXBsYXlsaXN0LW1lbnUtaXRlbXN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjY4cHg7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1pdGVtc3t0b3A6MTAzcHh9Lnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24sLnl0cC1lbWJlZC1wbGF5bGlzdC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue21hcmdpbjphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmctcmlnaHQ6NnB4O2xpbmUtaGVpZ2h0OjM2cHg7b3BhY2l0eToxfS55dHAtZW1iZWQtcGxheWxpc3Q6bm90KC55dHAtc21hbGwtbW9kZSkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbnttYXJnaW4tbGVmdDoxMHB4O21hcmdpbi1yaWdodDoxMHB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmc6MDtsaW5lLWhlaWdodDppbmhlcml0O29wYWNpdHk6MTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHh9Lnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb24sLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7ZGlzcGxheTpibG9ja30ueXRwLWVtYmVkLXBsYXlsaXN0Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRpbnkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e2Rpc3BsYXk6Tm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDo1NHB4fS55dHAtZW1iZWQtcGxheWxpc3QueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToyMHB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbiwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWluLXdpZHRoOjQ4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWFyZ2luLXRvcDo5cHg7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzttaW4td2lkdGg6MzZweDttaW4taGVpZ2h0OjM2cHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjlweDtib3JkZXItcmFkaXVzOjI3cHg7bWF4LXdpZHRoOjQwMHB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb257LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDpub25lO2ZsZXg6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDp1bnNldDt6LWluZGV4OjU4fS55dHAtaGlkZS1pbmZvLWJhciAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXNjcnViYmVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDtsZWZ0Oi02LjVweDt6LWluZGV4OjQzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItY29udGFpbmVye3RvcDotM3B4O2xlZnQ6LTZweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi05LjVweDtsZWZ0Oi0xMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lcnt0b3A6LTlweDtsZWZ0Oi0xMnB4fS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi02cHg7bGVmdDotMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi04cHg7bGVmdDotMTBweH0ueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6MTNweDt3aWR0aDoxM3B4O2JvcmRlci1yYWRpdXM6Ni41cHg7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9ue2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0qIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLWhpZGUtc2NydWJiZXItYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTstbXMtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS41NCk7dHJhbnNmb3JtOnNjYWxlKDEuNTQpfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1idXR0b257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7Ym90dG9tOjIwcHg7bGVmdDoxMHB4fS55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntkaXNwbGF5Om5vbmU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9ue2Rpc3BsYXk6YmxvY2t9LnlwYy1sb2FkZWQgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IzI3OTNlNn0uYWQtaW50ZXJydXB0aW5nIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmYzB9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLXByb2dyZXNzLWJhcjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS42Nyk7dHJhbnNmb3JtOnNjYWxlKDEuNjcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRyYWcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zY3J1YmJlci1idXR0b24taG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7dHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1kcmFnIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjE2NjY2NjY2NjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTt0cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQyO2JvdHRvbToxNi45cHg7bGVmdDo2LjVweDstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ueXRwLXNjcnViYmVyLXB1bGwtaW5kaWNhdG9yOmFmdGVyLC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO3dpZHRoOjYuNXB4O2hlaWdodDo2LjVweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweCAwIDAgMnB4O2JvcmRlci1jb2xvcjojZWFlYWVhfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlcnstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xczt0cmFuc2l0aW9uOmFsbCAuMXN9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjpiZWZvcmV7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbjphbGwgLjJzfS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXIsLnl0cC1jaGFwdGVycy1jb250YWluZXJ7ei1pbmRleDozMjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7aGVpZ2h0OjEwMCV9Lnl0cC1jaGFwdGVycy1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItaG92ZXItY29udGFpbmVye2Zsb2F0OmxlZnR9Lnl0cC1wcm9ncmVzcy1saXN0e3otaW5kZXg6Mzk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKTtoZWlnaHQ6MTAwJTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1saXN0e292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsLjYpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6bHVtaW5vc2l0eX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWV4Y2x1c2lvbi55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtbGlzdHtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb259Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uNXB4KSBzY2FsZVkoLjYyNSl9Lnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1wcm9ncmVzcy1saXN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtdG91Y2gtbW9kZSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtZHJhZyAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdCwueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkueXRwLXRpbWVkLW1hcmtlcnMtZW5hYmxlZCAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSB1bnNldDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB1bnNldCwtd2Via2l0LXRyYW5zZm9ybSB1bnNldH0ueXRwLXJlcGVhdGluZy1jaGFwdGVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpfS55dHAtYm91bmQtdGltZS1sZWZ0LC55dHAtYm91bmQtdGltZS1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Om5vbmU7dG9wOi0yOXB4O3otaW5kZXg6Mjk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZTNlM2UzO3BhZGRpbmc6NXB4IDlweDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGVhc2UtaW47dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBlYXNlLWlufS55dHAtYmlnLW1vZGUgLnl0cC1ib3VuZC10aW1lLWxlZnQsLnl0cC1iaWctbW9kZSAueXRwLWJvdW5kLXRpbWUtcmlnaHR7dG9wOi0zNnB4fS55dHAtYm91bmQtdGltZS1sZWZ0e2xlZnQ6MH0ueXRwLWJvdW5kLXRpbWUtcmlnaHR7cmlnaHQ6MH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlciwueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtib3R0b206LTVweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1zdHlsZTpzb2xpZH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlcntsZWZ0OjA7Ym9yZGVyLXdpZHRoOjVweCA1cHggMCAwO2JvcmRlci1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cmlnaHQ6MDtib3JkZXItd2lkdGg6MCA1cHggNXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHJnYmEoMjgsMjgsMjgsLjkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3MsLnl0cC1hZC1wcm9ncmVzcywueXRwLWNsaXAtZW5kLWV4Y2x1ZGUsLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGUsLnl0cC1ob3Zlci1wcm9ncmVzcywueXRwLWxvYWQtcHJvZ3Jlc3MsLnl0cC1wbGF5LXByb2dyZXNzLC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVyLC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMDstbXMtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDB9Lnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTt0b3A6MXB4O3otaW5kZXg6NDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMS44KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjgpO3RyYW5zZm9ybTpzY2FsZVkoMS44KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dG9wOi0ycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtdGltZWQtbWFya2VyLnl0cC10aW1lZC1tYXJrZXItaG92ZXJ7d2lkdGg6OXB4O2hlaWdodDozcHg7Ym90dG9tOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXIueXRwLXRpbWVkLW1hcmtlci1ob3ZlciwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVye3dpZHRoOjEycHg7aGVpZ2h0OjQuOHB4O2JvdHRvbTouNnB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlcnt3aWR0aDo1cHg7aGVpZ2h0OjEuNjdweDtib3R0b206MS41cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vye3dpZHRoOjZweDtoZWlnaHQ6Mi40cHg7Ym90dG9tOjJweH0ueXRwLXByb2dyZXNzLWJhci1zdGFydHtib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4fS55dHAtcHJvZ3Jlc3MtYmFyLWVuZHtib3JkZXItcmFkaXVzOjAgM3B4IDNweCAwfS55dHAtcHJvZ3Jlc3MtYmFyLXN0YXJ0Lnl0cC1wcm9ncmVzcy1iYXItZW5ke2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdGltZWQtbWFya2Vye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO3dpZHRoOjNweDtoZWlnaHQ6M3B4O2JvdHRvbToxcHg7Ym9yZGVyLXJhZGl1czo1MCU7b3BhY2l0eToxfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZWQtbWFya2Vye2JvdHRvbToycHh9Lnl0cC1jbGlwLWVuZC1leGNsdWRlLC55dHAtY2xpcC1zdGFydC1leGNsdWRle2Rpc3BsYXk6bm9uZTt6LWluZGV4OjM3O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jbGlwLWVuZC1lbmFibGVkIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtc3RhcnQtZW5hYmxlZCAueXRwLWNsaXAtc3RhcnQtZXhjbHVkZXtkaXNwbGF5OmJsb2NrfS55dHAtbG9vcC1yYW5nZS1lbmFibGVkIC55dHAtY2xpcC1lbmQsLnl0cC1sb29wLXJhbmdlLWVuYWJsZWQgLnl0cC1jbGlwLXN0YXJ0e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1jbGlwLWhvdmVyIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtaG92ZXIgLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1saW5lYXItbGl2ZS1idWZmZXJ7ei1pbmRleDo0NTtiYWNrZ3JvdW5kOiNjMDA7b3BhY2l0eTowfS55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVye29wYWNpdHk6LjZ9Lnl0cC1hZC1wcm9ncmVzc3t6LWluZGV4OjM2O2JhY2tncm91bmQ6I2ZjMH0ueXRwLWxvYWQtcHJvZ3Jlc3N7ei1pbmRleDozMztiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS55dHAtbG9hZC1wcm9ncmVzcy55dHAtZmFzdC1sb2Fke2JhY2tncm91bmQ6IzAwODM4Zn0ueXRwLXBsYXktcHJvZ3Jlc3N7ei1pbmRleDozNDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxjb2xvci1zdG9wKDgwJSwjZjAzKSx0bygjZmYyNzkxKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmMDMgODAlLCNmZjI3OTEpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55cGMtbG9hZGVkIC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZDojMjc5M2U2fS5hZC1pbnRlcnJ1cHRpbmcgLnl0cC1wbGF5LXByb2dyZXNzLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kOiNmYzB9Lnl0cC1ob3Zlci1wcm9ncmVzc3t6LWluZGV4OjM1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTI1KTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1ob3Zlci1wcm9ncmVzc3tvcGFjaXR5OjF9Lnl0cC1kZWxoaS1tb2Rlcm4uYWQtaW50ZXJydXB0aW5nIC55dHAtbG9hZC1wcm9ncmVzcywueXRwLWVuYWJsZS1saXZlLWJ1ZmZlciAueXRwLWhvdmVyLXByb2dyZXNzLC55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtbG9hZC1wcm9ncmVzc3tvcGFjaXR5OjB9Lnl0cC1ob3Zlci1wcm9ncmVzcy1saWdodHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3N7d2lkdGg6MXB4O2JhY2tncm91bmQ6IzAwMDt6LWluZGV4OjM2fS55dHAtMW0tcHJvZ3Jlc3N7aGVpZ2h0OjMwJX0ueXRwLTE1bS1wcm9ncmVzc3toZWlnaHQ6NTAlfS55dHAtMzBtLXByb2dyZXNze2hlaWdodDo1NSV9Lnl0cC02MG0tcHJvZ3Jlc3N7aGVpZ2h0OjYwJX0ueXRwLWNsaXAtZW5kLC55dHAtY2xpcC1zdGFydHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtib3R0b206LTQuNXB4O21hcmdpbi1sZWZ0Oi03cHg7ei1pbmRleDo0NDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjIxNDI4NTcxNDMpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTt0cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWNsaXAtZW5kLC55dHAtYmlnLW1vZGUgLnl0cC1jbGlwLXN0YXJ0e3dpZHRoOjIxcHg7aGVpZ2h0OjIxcHg7Ym90dG9tOi02LjVweDttYXJnaW4tbGVmdDotMTAuNXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTstbXMtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTt0cmFuc2Zvcm06c2NhbGVZKC4yMzgwOTUyMzgpfS55dHAtZHJhZyAueXRwLWNsaXAtZW5kLC55dHAtZHJhZyAueXRwLWNsaXAtc3RhcnQsLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1jbGlwLWVuZCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWNsaXAtc3RhcnQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1lbmQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1zdGFydHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1jbGlwLWVuZCBzdmcsLnl0cC1jbGlwLXN0YXJ0IHN2Z3tkaXNwbGF5OmJsb2NrfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7Ym90dG9tOjQ3cHg7aGVpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7ei1pbmRleDo2MDtib3R0b206dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KTtoZWlnaHQ6NnB4fS55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206MzZweDtoZWlnaHQ6NXB4fS55dHAtZW1iZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTozOXB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTo1Mi41cHg7aGVpZ2h0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCw5NnB4KX0ueXRwLXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjMxO291dGxpbmU6bm9uZX0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIueXRwLWhlYXQtbWFwLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXJ7b3BhY2l0eTowfS55dHAtbW9iaWxlIC55dHAtcHJvZ3Jlc3MtYmFye3BhZGRpbmctYm90dG9tOjEwcHh9Lnl0cC1wcm9ncmVzcy1iYXItcGFkZGluZ3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxNnB4O2JvdHRvbTowO3otaW5kZXg6Mjh9Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyNHB4fS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyMnB4O2JvdHRvbTotNnB4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtdG91Y2gtbW9kZSkgLnl0cC1jaGFwdGVyLWhvdmVyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtYmFyLXBhZGRpbmd7aGVpZ2h0OjMzcHg7Ym90dG9tOi05cHh9Lnl0cC10b3VjaC1tb2RlIC55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDo0MHB4O2JvdHRvbTotMTFweH1AcHJvcGVydHkgLS1zZWVrLXNjcnViYmVyLXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1zY3J1YmJlci1jb250YWluZXIteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tcHJvZ3Jlc3Mtd2lkdGh7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXByb2dyZXNzLWxlZnQtYnVmZmVye3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1wcm9ncmVzcy1yaWdodC1idWZmZXJ7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXVuaWZpZWQtc2Vlay1vZmZzZXQteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxle3N5bnRheDoiPG51bWJlcj4iO2luaXRpYWwtdmFsdWU6MTtpbmhlcml0czpmYWxzZX0ueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey0tcHJvZ3Jlc3Mtd2lkdGg6MHB4Oy0tcHJvZ3Jlc3MtbGVmdC1idWZmZXI6MHB4Oy0tcHJvZ3Jlc3MtcmlnaHQtYnVmZmVyOjBweDstLXNlZWstc2NydWJiZXItd2lkdGg6MHB4Oy0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlOjE7LS1zY3J1YmJlci1jb250YWluZXIteDowcHg7LS1oYWxmLXdpZHRoOmNhbGModmFyKC0tc2Vlay1zY3J1YmJlci13aWR0aCwgMHB4KSowLjUpOy0taGFsZi1oZWlnaHQ6bWluKHZhcigtLWhhbGYtd2lkdGgpLDIwcHgpOy0tdW5pZmllZC1zZWVrLW9mZnNldC14OmNhbGMobWF4KDBweCwKICAgICAgICAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSAtIHZhcigKICAgICAgICAgICAgLS1zY3J1YmJlci1jb250YWluZXIteAogICAgICAgICAgKSAtIHZhcigtLXByb2dyZXNzLWxlZnQtYnVmZmVyKSkgKyBtaW4oMHB4LAogICAgICAgIHZhcigtLXByb2dyZXNzLXdpZHRoKSArIHZhcigtLXByb2dyZXNzLXJpZ2h0LWJ1ZmZlcikgLSB2YXIoLS1zY3J1YmJlci1jb250YWluZXIteCkgLSAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSkpfS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uLC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbiwueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX19Lnl0cC11bmlmaWVkLXNlZWstY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MCAxNnB4O2hlaWdodDoxMDAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9fS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQ2O21hcmdpbjowO3dpZHRoOi13ZWJraXQtbWF4LWNvbnRlbnQ7d2lkdGg6LW1vei1tYXgtY29udGVudDt3aWR0aDptYXgtY29udGVudDtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC1jbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTtjbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKC01MCUgKyB2YXIoLS11bmlmaWVkLXNlZWstb2Zmc2V0LXgpKSwtNTAlKSBzY2FsZSh2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKTtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI2cHg7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsY29sb3Itc3RvcCg4MCUsI2YwMyksdG8oI2ZmMjc5MSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZjAzIDgwJSwjZmYyNzkxKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjpub3QoOmVtcHR5KT4ueXRwLXVuaWZpZWQtc2Vlay1pY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6bm90KDplbXB0eSk+Lnl0cC11bmlmaWVkLXNlZWstaWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0cC11bmlmaWVkLXNlZWstYWN0aXZlIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXIgLnl0cC11bmlmaWVkLXNlZWstaWNvbi1yaWdodC13cmFwcGVyOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjplbXB0eSwueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0cC11bmlmaWVkLXNlZWstc2hyaW5raW5nIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfX0ueXRwLXVuaWZpZWQtc2Vlay1zaHJpbmtpbmcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntvcGFjaXR5OjF9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2Upey55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX19Lnl0cC1wcm9tb3Rvb2x0aXAtd3JhcHBlcnttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDozMDBweDtoZWlnaHQ6MTQwcHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzfS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC13cmFwcGVye3dpZHRoOjQ1MHB4O2hlaWdodDoyMTBweH0ueXRwLXByb21vdG9vbHRpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2NvbG9yOiNmZmY7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC10cmFuc2Zvcm06bm9uZTtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wcm9tb3Rvb2x0aXAtY29udGVudHtwYWRkaW5nOjE2cHggMTZweCA0cHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWNvbnRlbnR7cGFkZGluZzoyNHB4IDI0cHggNnB4fS55dHAtcHJvbW90b29sdGlwLXRpdGxle21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4fS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC10aXRsZXttYXJnaW4tYm90dG9tOjEycHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLXByb21vdG9vbHRpcC1idXR0b25ze3BhZGRpbmc6OHB4IDRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWJ1dHRvbnN7cGFkZGluZzoxMnB4IDZweH0ueXRwLXByb21vdG9vbHRpcC1hY2NlcHQtYnV0dG9uLC55dHAtcHJvbW90b29sdGlwLWRpc21pc3MtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjEwcHggMTZweDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtYWNjZXB0LWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGlzbWlzcy1idXR0b257cGFkZGluZzoxNXB4IDI0cHh9Lnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1zdHlsZTpzb2xpZDt0b3A6MTAwJTtib3JkZXItd2lkdGg6MTJweDtib3JkZXItY29sb3I6IzA2NWZkNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntib3JkZXItd2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb257d2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb24gc3Zne2hlaWdodDoyMnB4O3dpZHRoOjIycHg7bWFyZ2luOi03cHggLTVweH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGV0YWlscy1pY29ue3dpZHRoOjIycHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWRldGFpbHMtaWNvbiBzdmd7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweDttYXJnaW46LTlweCAtN3B4fS55dHAtcmVtb3Rle2xlZnQ6MDtib3R0b206NjFweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWVtYmVkIC55dHAtcmVtb3Rle2JvdHRvbTo1M3B4fS55dHAtcmVtb3RlW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZXtib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1yZW1vdGV7Ym90dG9tOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze3otaW5kZXg6MTU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMnB4O2JvdHRvbTo2MXB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZy1yaWdodDo1cHg7Ym9yZGVyLXJhZGl1czo1cHg7b3BhY2l0eTouODV9Lnl0cC1lbWJlZCAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1c3tib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze2JvdHRvbTo3MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLWljb257ZmxvYXQ6bGVmdDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLXRleHR7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTtwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctbGVmdDo1cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtdGV4dHtwYWRkaW5nLXRvcDoxNXB4O2xlZnQ6MTA1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1cy10ZXh0e3RvcDozMHB4fS55dHAtcmVwbGF5LWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtib3R0b206MDttYXJnaW4tbGVmdDotMjRweDt6LWluZGV4OjU5fS55dHAtZW1iZWQgLnl0cC1yZXBsYXktYnV0dG9ue2JvdHRvbTo0cHg7bWFyZ2luLWxlZnQ6LTIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjcuNXB4O21hcmdpbi1sZWZ0Oi0yN3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjEwcHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjI0LjVweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXBsYXktYnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbi55dHAtYXV0b25hdi10b2dnbGV7cGFkZGluZy1sZWZ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC12b2x1bWUtYXJlYXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdm9sdW1lLWFyZWE6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtd3JhcHBlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246aG92ZXI6YmVmb3Jle2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b217cGFkZGluZzowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7aGVpZ2h0OjhweDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNTAlLHJnYmEoMCwwLDAsMCkpLHRvKHJnYigxOSwxOSwxOSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2IoMTksMTksMTkpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwwKSA1MCUscmdiKDE5LDE5LDE5KSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1wcm9ncmVzcy1saXN0e2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoNjgsNjgsNjgpKSx0byhyZ2IoOTUsOTUsOTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXBsYXktcHJvZ3Jlc3N7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6OHB4O3dpZHRoOjhweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxMzcsMTM3LDEzNykpLHRvKHJnYigxODYsMTg2LDE4NikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTM3LDEzNywxMzcpLHJnYigxODYsMTg2LDE4NikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDEzNywxMzcsMTM3KSxyZ2IoMTg2LDE4NiwxODYpKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uOm5vdCgueXRwLWNoYXB0ZXItdGl0bGUpe2JvcmRlci1yaWdodDoxcHggc29saWQgYmxhY2s7LXdlYmtpdC1ib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpO2JveC1zaGFkb3c6MXB4IDAgcmdiYSgyMjcsMjI3LDIyNywuMik7b3BhY2l0eTouOX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b24ueXRwLWF1dG9uYXYtdG9nZ2xle2JvcmRlci1sZWZ0OjFweCBzb2xpZCBibGFjaztwYWRkaW5nLWxlZnQ6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKSxpbnNldCAxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpLGluc2V0IDFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtZGlzcGxheXtwYWRkaW5nLWxlZnQ6MTBweH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b246YWN0aXZlOmZvY3VzLC55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtc3VidGl0bGVzLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV17YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtdm9sdW1lLXBhbmVsLnl0cC12b2x1bWUtY29udHJvbC1ob3ZlcnttYXJnaW4tbGVmdDo4cHh9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKTttYXJnaW4tbGVmdDotNnB4fS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtYmV6ZWx7Ym9yZGVyLXJhZGl1czp1bnNldDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgYm90dG9tLGxlZnQgdG9wLGZyb20ocmdiKDE5LDE5LDE5KSksdG8ocmdiKDUyLDUyLDUyKSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYigxOSwxOSwxOSkscmdiKDUyLDUyLDUyKSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpOy13ZWJraXQtYW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXRvb2x0aXAtYmcsLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtib3JkZXItcmFkaXVzOjB9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMXB4IDFweCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93Omluc2V0IDFweCAxcHggcmdiYSgyMjcsMjI3LDIyNywuMik7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXNldHRpbmdzLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbiBzdmd7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2V0dGluZ3MtYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3Zney13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzBkZWcpfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHg7aGVpZ2h0OjlweDt3aWR0aDoxM3B4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpO2JvcmRlci1yYWRpdXM6MXB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NjZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTRrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUVWdOMmd4ZGpGSU5YcHROUzAwZGpGSU9GWXplazB6SURaV05XZ3lkakY2VFRJZ04yZ3hkakZJTW5wdE5TQXdhRE4yTVVnM2VtMHpMVEZvTVhZeGFDMHhlaUl2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVFVnTjFZMVNETjJNa2d5VmpKb01YWXlhREpXTW1neGRqVjZiVFl0TVdndE1YWXhTRGRXTW1nemRqRm9NWHB0TFRFdE1sWXpTRGgyTTJneWVpSXZQand2YzNablBnPT0pfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZHItcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE5DQTJJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1E5SWsweklEVm9NWFl4U0RONmJUVXROSFl4U0RaV01YcE5NU0EwVmpOb01uWXhlazB3SURWb01YWXhTREI2YlRVZ01HZ3pkakZJTlhwdE15MHhhREYyTVVnNGVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWsweklEVldNMGd4ZGpKSU1GWXdhREYyTW1neVZqQm9NWFkxZW0wMkxURklPSFl4U0RWV01HZ3pkakZvTVhwTk9DQXlWakZJTm5ZemFESjZJaTgrUEhCaGRHZ2dabWxzYkMxdmNHRmphWFI1UFNJdU5qUTNJaUJrUFNKTk1UTWdNbWd4ZGpGb0xURjZiVEFnTTJneGRqRm9MVEY2YlMweUxUSm9Nbll4YUMweWVtMHRNU0F5YURGMk1XZ3RNWHB0TVMwMGFESjJNV2d0TW5vaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTVRRZ00zWXlhQzB4VmpONmJTMHpMVE5vTW5ZeGFDMHlkakZvTW5ZeGFDMHlkakpvTFRGV01IcHRNaUF3YURGMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KTtoZWlnaHQ6NnB4O3dpZHRoOjE0cHg7cmlnaHQ6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2UxMDAyZDtib3JkZXItd2lkdGg6MXB4fS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMDBJRGRvTVhZeFNEUjZUVElnTm1neWRqRklNbnB0TVMweWFERjJNVWd6ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFeElEVjJNbWd0TVZZMWVtMHRNU0F3U0RoMk1rZzNWakpvTVhZeWFESjZUVFFnTkVnemRqRm9NWHB0TUNBelZqWklNbFkwYURGV00yZ3hWakpvTVhZemFERjJNVWcxZGpGNmJUWXROV2d4ZGpKb0xURjZJaTgrUEM5emRtYyspfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMHlJRGRvTTNZeFNESjZiVEF0TW1nemRqRklNbm9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB5SURab00zWXhTREp0TXkweWFERjJNVWcxYlRBdE1rZ3pWak5vTTFZeVNESjJNMmd6ZWlJdlBqd3ZjM1puUGc9PSl9Lnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLThrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xXOXdZV05wZEhrOUlpNDJORGNpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEV3SURSb01YWXhhQzB4ZW0wd0lETm9NWFl4YUMweGVrMDRJRFZvTW5ZeFNEaDZUVGNnTjJneGRqRklOM3BOTlNBMmFERjJNVWcxZWsweklEVm9Nbll4U0RONmJUQXRNbWd5ZGpGSU0zcHRNaUF4YURGMk1VZzFlazB5SURSb01YWXhTREo2YlRBZ01tZ3hkakZJTW5wdE1TQXhhREoyTVVnemVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRURXhJRFYyTW1ndE1WWTFlbTB0TVNBd1NEaDJNa2czVmpKb01YWXlhREo2YlRBdE0yZ3hkakpvTFRGNlRUTWdObWd5ZGpGSU0yMHdMVFZvTW5ZeFNETjZiVElnTTJneGRqRklOWHBOTXlBMGFESjJNVWd6ZW0weUxURm9NWFl4U0RWNlRUSWdOV2d4ZGpGSU1ucHRNQzB5YURGMk1VZ3llaUl2UGp3dmMzWm5QZz09KX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NaUF5YURSMk5VZ3lWalpvTTFZMVNESldOR2d6VmpOSU1ucHROU0F3YUROMk1VZzRkak5vTW5ZeFNEZDZiVE1nTVdneGRqTm9MVEY2SWk4K1BIQmhkR2dnWm1sc2JDMXZjR0ZqYVhSNVBTSXVOalEzSWlCa1BTSk5NaUF6YUROMk1VZ3llbTAySURCb01uWXhTRGg2VFRJZ05XZ3pkakZJTW5wdE9DQXhhREYyTVdndE1YcE5NaUEzYURSMk1VZ3llbTAxSURCb00zWXhTRGQ2SWk4K1BDOXpkbWMrKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazAxSURkV05VZ3pkakpJTWxZeWFERjJNbWd5VmpKb01YWTFlbTAyTFRGb0xURjJNVWczVmpKb00zWXhhREY2YlMweExUSldNMGc0ZGpOb01ub2lMejQ4TDNOMlp6ND0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TkNBMUlqNDhjR0YwYUNCa1BTSk5NeUExVmpOSU1YWXlTREJXTUdneGRqSm9NbFl3YURGMk5YcHROaTB4U0RoMk1VZzFWakJvTTNZeGFERjZUVGdnTWxZeFNEWjJNMmd5ZWsweE5DQXpkakpvTFRGV00zcHRMVEVnTUdndE1uWXlhQzB4VmpCb01YWXlhREo2YlRBdE1tZ3RNMVl3YURSMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVrMDBJRFJJTTNZeGFERjZiVEFnTTFZMlNESldOR2d4VmpOb01WWXlhREYyTTJneGRqRklOWFl4ZW0wMkxUVm9NWFl5YUMweGVpSXZQand2YzNablBnPT0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhNU0ExZGpKb0xURldOWHB0TFRFZ01FZzRkakpJTjFZeWFERjJNbWd5ZW0wd0xUTm9NWFl5YUMweGVrMHlJRFpvTTNZeFNESnRNeTB5YURGMk1VZzFiVEF0TWtnelZqTm9NMVl5U0RKMk0yZ3plaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB6SURab01uWXhTRE50TUMwMWFESjJNVWd6ZW0weUlETm9NWFl4U0RWNlRUTWdOR2d5ZGpGSU0zcHRNaTB4YURGMk1VZzFlazB5SURWb01YWXhTREo2YlRBdE1tZ3hkakZJTW5vaUx6NDhMM04yWno0PSl9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQmtQU0pOTWlBeWFEUjJOVWd5Vmpab00xWTFTREpXTkdnelZqTklNbnB0TlNBd2FETjJNVWc0ZGpOb01uWXhTRGQ2YlRNZ01XZ3hkak5vTFRGNklpOCtQQzl6ZG1jKyl9Lnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDoxNXB4O3JpZ2h0OjZweDtwYWRkaW5nOjJweDtmb250LWZhbWlseTpWZXJkYW5hLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAycHggMCByZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLXJhZGl1czoxLjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDo0cHg7cmlnaHQ6NHB4fS55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29sb3I6IzAwMDt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiSEQifS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IkhEUiI7Zm9udC1zaXplOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjRLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjVLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjhLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IjNEIn0ueXRwLWdlbmVyaWMtcG9wdXB7dG9wOjA7bGVmdDowO3BhZGRpbmc6NXB4IDlweDttYXgtd2lkdGg6MTQ0cHg7ei1pbmRleDo3Mn0ueXRwLWJpZy1tb2RlIC55dHAtZ2VuZXJpYy1wb3B1cHttYXgtd2lkdGg6MjE2cHh9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWdlbmVyaWMtcG9wdXAgYXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBvcHVwey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kbmkgLnl0cC1wb3B1cHt0ZXh0LXNoYWRvdzpub25lfS55dHAtcG9wdXBbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXBvcHVwLWFuaW1hdGluZ3std2Via2l0LXRyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtcG9wdXAtYW5pbWF0aW5nIC55dHAtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1wYW5lbC1hbmltYXRlLWJhY2ssLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7b3BhY2l0eTowfVtkaXI9bHRyXSAueXRwLXBhbmVsLWFuaW1hdGUtYmFja3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX1bZGlyPWx0cl0gLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtcGFuZWwtYW5pbWF0ZS1iYWNrey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfVtkaXI9cnRsXSAueXRwLXBhbmVsLWFuaW1hdGUtZm9yd2FyZHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0ueXRwLXNldHRpbmdzLW1lbnV7cmlnaHQ6MTJweDtib3R0b206NjFweDt6LWluZGV4OjcwO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpO2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZW1iZWQgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e3JpZ2h0OjI0cHg7Ym90dG9tOjcwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtbWVudXtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCl9Lnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e3otaW5kZXg6MjMwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1wYW5lbC1tZW51e3BhZGRpbmc6OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbT46Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo4cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0+Omxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6OHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7cGFkZGluZy1yaWdodDo4cHh9Lnl0cC1zcGVlZHNsaWRlci1jb21wb25lbnR7aGVpZ2h0Ojk1cHg7b3V0bGluZTpub25lfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVye2hlaWdodDo0MHB4fS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50e3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNwZWVkc2xpZGVyLWNvbXBvbmVudCAueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2hlaWdodDo1cHh9Lnl0cC1zcGVlZHNsaWRlci10ZXh0e2ZvbnQtc2l6ZToxNTAlO3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXJpZ2h0OjhweDtyaWdodDoxMDAlfS55dHAtbWVudWl0ZW0tcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHAtbWVudWl0ZW0tY29udGFpbmVyLXdpdGgtYmFkZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXNwZWVkLXNsaWRlci1tZW51LWZvb3RlcntwYWRkaW5nOjE2cHh9Lnl0cC1zaG93LXNoYXJlLXRpdGxlLnl0cC1zaGFyZS1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy1zaGFyZS10aXRsZS55dHAtc2hhcmUtYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLDpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNoYXJlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmctdG9wOjRweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b257bWluLXdpZHRoOjQ4cHg7bWF4LXdpZHRoOjgwcHh9Lnl0cC1zaGFyZS1pY29ue21hcmdpbjphdXRvO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hhcmUtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLXNoYXJlLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXRpdGxlLC55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1zaGFyZS10aXRsZXtmb250LXNpemU6MjBweH0ueXRwLXNob3ctc2hhcmUtdGl0bGUgLnl0cC1zaGFyZS10aXRsZXtkaXNwbGF5OmJsb2NrfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLXNoYXJlLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtc2hhcmUtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo3NTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc2hhcmUtcGFuZWxbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTY1cHg7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDEwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHttYXJnaW4tdG9wOi05OHB4fS55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6bm9uZTttYXJnaW46MjBweCBhdXRvIDA7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye21hcmdpbi10b3A6MzBweH0ueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6YmxvY2t9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3JpZ2h0OjEycHg7cGFkZGluZzo2cHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtY2xvc2V7dG9wOjlweDtyaWdodDoyNHB4O3BhZGRpbmc6OXB4O3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZSBwYXRoe2ZpbGw6I2FhYX0ueXRwLXNoYXJlLXBhbmVsLWNsb3NlOmhvdmVyIHBhdGh7ZmlsbDojZmZmfS55dHAtc2hhcmUtcGFuZWwtdGl0bGV7Zm9udC1zaXplOjE1NSU7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtdGl0bGV7bGluZS1oZWlnaHQ6MzBweH0ueXRwLXNoYXJlLXBhbmVsLWxpbmt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDttYXJnaW4tdG9wOjE4cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MjE4JTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1saW5re2hlaWdodDo0MnB4O21hcmdpbi10b3A6MjdweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7ZGlzcGxheTpub25lO2xpbmUtaGVpZ2h0OjE1cHg7bWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxMTglO2NvbG9yOiM5OTl9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7bGluZS1oZWlnaHQ6MjIuNXB4O21hcmdpbi10b3A6MThweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3QgaW5wdXRbdHlwZT1jaGVja2JveF17bWFyZ2luOjAgOHB4IDAgMH0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjIwcHg7aGVpZ2h0OjQ0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjMwcHg7aGVpZ2h0OjY3cHh9Lnl0cC1zaGFyZS1wYW5lbC55dHAtc2hhcmUtcGFuZWwtZmFpbCAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ucywueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtc2VydmljZS1idXR0b25ze2Rpc3BsYXk6bm9uZX0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6M3B4O3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6NXB4O3dpZHRoOjU3cHg7aGVpZ2h0OjU3cHh9Lnl0cC1zaGFyZS1wYW5lbC1lcnJvcntkaXNwbGF5Om5vbmU7bWFyZ2luLXRvcDoyMHB4O2ZvbnQtc2l6ZToxMDklfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1lcnJvcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1zaGFyZS1wYW5lbC1mYWlsIC55dHAtc2hhcmUtcGFuZWwtZXJyb3J7ZGlzcGxheTpibG9ja30ueXRwLXNob3BwaW5nLXByb2R1Y3QtbWVudXt6LWluZGV4OjcyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxLjM7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDt3aWxsLWNoYW5nZTp3aWR0aCxoZWlnaHQ7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtc2hvcHBpbmctcHJvZHVjdC1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbC1sb2dve3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjVweDstd2Via2l0LWJhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2JhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2Zsb2F0OmxlZnQ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo1MHB4O2hlaWdodDo1MHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW46MH0ueXRwLXNob3J0cy10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjozcHg7LXdlYmtpdC1ib3gtZmxleDppbml0aWFsOy13ZWJraXQtZmxleDppbml0aWFsO2ZsZXg6aW5pdGlhbDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjIycHh9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle3dvcmQtYnJlYWs6YnJlYWstd29yZDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToxOHB4fS55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjA7ZGlzcGxheTpub25lO2hlaWdodDphdXRvO21hcmdpbi1sZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnN0YXRpYzt0b3A6N3B4O2xlZnQ6OHB4O3dpZHRoOmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVse21hcmdpbi10b3A6MTBweH0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNocm9tZS10b3AgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCAueXRwLXNiey13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luOjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO3BhZGRpbmc6MDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXNoYWRvdzpub25lOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowfS55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJle21hcmdpbi1sZWZ0OjB9Lnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7bWFyZ2luLWxlZnQ6MH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7bWFyZ2luLXRvcDo3cHh9Lnl0cC1za2lwLWludHJvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkwMTk2MDc4NDMpO2JvdHRvbTo1OHB4O2hlaWdodDo0OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDtyaWdodDoxMHB4O3otaW5kZXg6MTB9Lnl0cC1lbWJlZCAueXRwLXNraXAtaW50cm8tYnV0dG9ue2JvdHRvbTo1MHB4O2hlaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMDAwfS55dHAtYmlnLW1vZGUgLnl0cC1za2lwLWludHJvLWJ1dHRvbntib3R0b206NzlweDtyaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bWF4LXdpZHRoOjIwMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTUwcHg7aGVpZ2h0OjEwMCU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTowfS55dHAtc2xpZGVye2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLXRvcDotMTBweDtiYWNrZ3JvdW5kOiNmZmY7b3V0bGluZTowfS55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6NTAlO2xlZnQ6MDtoZWlnaHQ6M3B4O21hcmdpbi10b3A6LTJweDt3aWR0aDoxNzBweDtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxlOmJlZm9yZXtsZWZ0Oi0xNjBweDtiYWNrZ3JvdW5kOiNmZmZ9Lnl0cC1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6MTBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1zbGlkZXItc2VjdGlvbjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW92ZXJsYXl7ei1pbmRleDoxMDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MH0ueXRwLXNwZWVkbWFzdGVyLW92ZXJsYXl7dGV4dC1hbGlnbjpjZW50ZXI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXNwZWVkbWFzdGVyLXVzZXItZWR1ey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOjE4cHg7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDoyMHB4O3BhZGRpbmc6NnB4IDE2cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zcGVlZG1hc3Rlci11c2VyLWVkdXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtc3BlZWRtYXN0ZXItdXNlci1lZHUueXRwLXNwZWVkbWFzdGVyLWhhcy1pY29uey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1zcGVlZG1hc3Rlci1pY29uLC55dHAtc3BlZWRtYXN0ZXItbGFiZWx7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0cC1zcGVlZG1hc3Rlci1pY29ue21hcmdpbi1sZWZ0OjRweH0ueXRwLXNwZWVkbWFzdGVyLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O2xlZnQ6MTJweDtvcGFjaXR5Oi42O2N1cnNvcjpwb2ludGVyO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6NDM7b3V0bGluZTpub25lfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3RvcDo2MHB4fS55dHAtYmlnLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjlweDt3aWR0aDo3NXB4O2hlaWdodDo3NXB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjBweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sLnl0cC1kcmFnZ2luZywueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sOmhvdmVye29wYWNpdHk6MX0ueXRwLWF1dG9oaWRlIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2wsLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2x7dG9wOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC13ZWJnbC1zcGhlcmljYWw6bm90KC55dHAtbWVudS1zaG93bikgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFifS55dHAtd2ViZ2wtc3BoZXJpY2FsLnl0cC1kcmFnZ2luZzpub3QoLnl0cC1tZW51LXNob3duKSAuaHRtbDUtdmlkZW8tY29udGFpbmVye2N1cnNvcjptb3ZlO2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2w6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9LmVuZGVkLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbCwueXRwLW1lbnUtc2hvd24gLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTtpbnNldDowfS55dHAtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6LTMycHg7ei1pbmRleDoxODtwb2ludGVyLWV2ZW50czpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zcGlubmVye3dpZHRoOjEyOHB4O21hcmdpbi1sZWZ0Oi02NHB4fS55dHAtc3Bpbm5lci1tZXNzYWdle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi10b3A6NTAlO3dpZHRoOjMwMHB4O2ZvbnQtc2l6ZToxMjclO2xpbmUtaGVpZ2h0OjE4MiU7bWFyZ2luLWxlZnQ6LTE1MHB4O2Rpc3BsYXk6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO29wYWNpdHk6LjV9Lnl0cC1zcGlubmVyLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTAwJTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi10b3A6LTUwJTttYXJnaW4tbGVmdDotNTAlO2FuaW1hdGlvbjp5dHAtc3Bpbm5lci1saW5zcGluIDEuNTY4MjM1Mjk0MTE3NnMgbGluZWFyIGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxpbnNwaW4gMS41NjgyMzUyOTQxMTc2cyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1zcGlubmVyLXJvdGF0b3J7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstd2Via2l0LWFuaW1hdGlvbjp5dHAtc3Bpbm5lci1lYXNlc3BpbiA1MzMybXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItZWFzZXNwaW4gNTMzMm1zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9Lnl0cC1zcGlubmVyLWxlZnQsLnl0cC1zcGlubmVyLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ueXRwLXNwaW5uZXItbGVmdHtyaWdodDo0OSV9Lnl0cC1zcGlubmVyLXJpZ2h0e2xlZnQ6NDklfS55dHAtc3Bpbm5lci1jaXJjbGV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjIwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojZGRkICNkZGQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXdpZHRoOjZweH0ueXRwLWJpZy1tb2RlIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjEycHh9Lnl0cC1zcGlubmVyLWxlZnQgLnl0cC1zcGlubmVyLWNpcmNsZXtsZWZ0OjA7cmlnaHQ6LTEwMCU7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSBpbmZpbml0ZSBib3RofS55dHAtc3Bpbm5lci1yaWdodCAueXRwLXNwaW5uZXItY2lyY2xle2xlZnQ6LTEwMCU7cmlnaHQ6MDtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFuaW1hdGlvbjp5dHAtcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxpbnNwaW57dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtc3Bpbm5lci1saW5zcGlue3Rvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtc3Bpbm5lci1lYXNlc3BpbnsxMi41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQwNWRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpfTc1JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoODEwZGVnKX04Ny41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWVhc2VzcGluezEyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfTM3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0MDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDA1ZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDU0MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNjc1ZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDgxMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg4MTBkZWcpfTg3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5NDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pO3RyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXNwaW5uZXItbGVmdC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTVkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxlZnQtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEzMGRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXJpZ2h0LXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1yaWdodC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX19Lnl0cC1zZm57YmFja2dyb3VuZDpyZ2JhKDI4LDI4LDI4LC44KTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2xlZnQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt6LWluZGV4OjY0O21pbi13aWR0aDoyNmVtfS55dHAtc2ZuLWNsb3Nle2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjVweDt0b3A6NXB4O3BhZGRpbmc6NXB4fS55dHAtc2ZuLWNvbnRlbnR7cGFkZGluZzo1cHh9Lnl0cC1zZm4tY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC1zZm4tY3Bue2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbyxtb25vc3BhY2U7Zm9udC1zaXplOjEycHh9Lnl0cC1ob3Jpem9uY2hhcnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0cC1ob3Jpem9uY2hhcnQ+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjE2O2JhY2tncm91bmQ6IzAwMDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlld3tjdXJzb3I6cG9pbnRlcn0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eTouNH0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I2RkZDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMpO2JvcmRlci1yYWRpdXM6MThweDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtib3R0b206MzZweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo0cHggMTBweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eToxfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5OmluaXRpYWx9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtc3Rvcnlib2FyZC1mcmFtZXByZXZpZXctaW1ne29wYWNpdHk6MX0ueXRwLWlubGluZS1wcmV2aWV3LW1vZGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy10aW1lc3RhbXB7ZGlzcGxheTppbml0aWFsfS55dHAtc2J7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZX0ueXRwLXNiIC55dHAtc2ItdW5zdWJzY3JpYmUsLnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXN1YnNjcmliZXtkaXNwbGF5Om5vbmV9Lnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXVuc3Vic2NyaWJle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtc2Itc3Vic2NyaWJlLC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoxOHB4O2JvcmRlcjpub25lO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4wMDdweDtsaW5lLWhlaWdodDoxNnB4O3BhZGRpbmc6MTBweCAxNnB4O3doaXRlLXNwYWNlOm5vd3JhcDstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6M3B4IDZweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zYi1zdWJzY3JpYmUsYS55dHAtc2Itc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMDMwMzAzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCl9Lnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpO2NvbG9yOiNmZmZ9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2NjYzt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtc2Itc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZCwueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMsMTQ0LDEzOSk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1zYi1zdWJzY3JpYmU6Zm9jdXMsLnl0cC1zYi11bnN1YnNjcmliZTpmb2N1c3tvdXRsaW5lOm5vbmV9Lnl0cC1zYi55dHAtc2ItY2xhc3NpY3tiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbjo0cHggMH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUueXRwLXNiLWRpc2FibGVkLC55dHAtc2ItY2xhc3NpYyAueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpkZWZhdWx0fS55dHAtc2ItdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXNiLWNvdW50e21hcmdpbi1sZWZ0OjRweH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoycHg7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOm5vbmV9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJle2JvcmRlcjoxcHggc29saWQgI2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXI6MXB4IHNvbGlkICNjY2N9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnQsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdGV4dHtwYWRkaW5nOjNweCA2cHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnR7bWFyZ2luOi0xcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjJweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Ym9yZGVyLWxlZnQ6MH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTAsMjUwLDI1MCl9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItdGV4dHtjb2xvcjojZmVmZWZlO2JhY2tncm91bmQtY29sb3I6I2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLXRleHR7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOiM3MzczNzN9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItaWNvbntoZWlnaHQ6MTJweDttYXJnaW4tcmlnaHQ6NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHg7d2lkdGg6MTZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItaWNvbntiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQU1DQVlBQUFCcjV6MkJBQUFBblVsRVFWUTRUMlA4Ly8rL0p3TUR3MXdHQmdaSkJ0TEFjd1lHaG1URy8vLy9QeU5ETTh5cTV5QUQvcE5tTWFwcW5BWThrNUpnRUZteGxJSE56aG12K1RnTmVNckp5Y0Fvd01rZ05ITTZBNGRmT0U1RGNCcnduSk9UNGYvdkh3eU1iQXdNWEduSkRQd1Q1bUExaEVnRGtoajRKNEFpQ2hNUTlzS01hUXdjL2hHa2U0SGlRQ1EyYWlsTlNDOUFCbmhCazdJRXNiWkMxVDFsWUdCSUF3QlMxVXhCRTkvMmlBQUFBQUJKUlU1RXJrSmdnZz09KX0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFNQ0FZQUFBQnI1ejJCQUFBQS9VbEVRVlE0VDZXU01Vb0VRUkJGNjA4aWFMcVo0QW5FMERPSVlHWXVHTmpkTTRqUmlMa1lqU0lzTEYwdGdwa2dFM2dBY2NEVUc1aDZBQ01OcDc1TW9NeXV5bzVzcDlYMWZ0WC9CVm53WWNGKytSY2dwYlJHY2lJaVkrLzlReWMrR0JCajNNeXk3RnBFUm1ZMkNTR2NEUWFvNmk2QTgwNlE1TEgzL3U1cjlha0pxcXBhS2N2eW8rY0xWUFVFd0tHSXZKblpmZ2podWUvYk4wQlZqMFRrd016eVBNK2ZVa3JMSk1jQXRrbStBTmh6enIzT210NEg3QUM0RkpFbEVia2d1UVZnZytSajI3YWhLSXIzM3hLYldpSEd1QTdnQnNCcTk5bk1ycHFtT2EzcnV2MHI3aDhwcEpSR0pDT0FlK2ZjN2J3N0dSemo0QW5tS2M3V1B3RldSRjBOYzlSUXh3QUFBQUJKUlU1RXJrSmdnZz09KX0uY2FwdGlvbi13aW5kb3d7cG9zaXRpb246YWJzb2x1dGU7bGluZS1oZWlnaHQ6bm9ybWFsO3otaW5kZXg6NDE7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFiOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvd3t6LWluZGV4OjIxNDc0ODM2NDd9LmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDo0OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxtYXJnaW4tdG9wIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjY5cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjg5cHh9Lnl0cC1hdXRvaGlkZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlLWFjdGl2ZSAuY2FwdGlvbi13aW5kb3d7cG9pbnRlci1ldmVudHM6bm9uZX15dGQtcmVlbC12aWRlby1yZW5kZXJlciAuc2hvcnQtdmlkZW8tY29udGFpbmVyIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctdG9we21hcmdpbi10b3A6NjlweH0uY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjYxcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksbWFyZ2luLXRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjExMHB4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToyMDBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTVweH0ueXRwLWVtYmVkIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NzBweH0ueXRwLWF1dG9oaWRlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5IC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWF1dG9oaWRlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1hdXRvaGlkZS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scy55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWhpZGUtY29udHJvbHMueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tdXRlZC1hdXRvcGxheS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTowfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NDVweDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTFweH0ueXRwLWVtYmVkLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNjBweH0ueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217ZGlzcGxheTpub25lO29wYWNpdHk6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtYWQtb3ZlcmxheS1vcGVuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtZGVsaGktbW9kZXJuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmU7Y3Vyc29yOm1vdmU7Y3Vyc29yOi13ZWJraXQtZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZXtvdmVyZmxvdzpoaWRkZW59LmNhcHRpb24td2luZG93IC55dHAtaWNvbiwuY2FwdGlvbi13aW5kb3cgc3Zne3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7dmVydGljYWwtYWxpZ246Ym90dG9tO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxZW07bWF4LWhlaWdodDoxZW19Lnl0cC1lbWJlZCAuY2FwdGlvbi13aW5kb3cgLnl0cC1pY29uLC55dHAtZW1iZWQgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZSAuY2FwdGlvbnMtdGV4dHstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjQzM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNDMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC40MzNzIGN1YmljLWJlemllcigwLDAsLjIsMSl9LmNhcHRpb24tZWRpdHtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO2JhY2tncm91bmQ6cmdiYSg4LDgsOCwuNzUpO2JvcmRlcjpub25lO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcn0uY2FwdGlvbi1lZGl0IHN2Z3ttYXgtaGVpZ2h0OjYwJTttYXgtd2lkdGg6NjAlfS5jYXB0aW9uLWVkaXQ6Zm9jdXMsLmNhcHRpb24td2luZG93OmZvY3VzIC5jYXB0aW9uLWVkaXQsLnl0cC1jYXB0aW9uLXdpbmRvdy1yb2xsdXAgLmNhcHRpb24tZWRpdDpob3ZlciwueXRwLWNhcHRpb24td2luZG93LXJvbGx1cDpob3ZlciAuY2FwdGlvbi1lZGl0e29wYWNpdHk6MX0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXZpc3VhbC1saW5lIC55dHAtY2FwdGlvbi1zZWdtZW50OmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDouMjVlbTtwYWRkaW5nLXRvcDowfS5odG1sNS12aWRlby1wbGF5ZXIgLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0Oi4yNWVtO3BhZGRpbmctYm90dG9tOjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6Zmlyc3QtY2hpbGR7cGFkZGluZy10b3A6LjI1ZW07cGFkZGluZy1sZWZ0OjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTouMjVlbTtwYWRkaW5nLXJpZ2h0OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otanVzdGlmeS1jb250ZW50OmxlZnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6bGVmdDstd2Via2l0LWJveC1wYWNrOmxlZnQ7anVzdGlmeS1jb250ZW50OmxlZnR9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo2MHB4O2xlZnQ6NjBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo5MHB4O2xlZnQ6OTBweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ei1pbmRleDo2MDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTZweDtsZWZ0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6MzRweDtoZWlnaHQ6MzRweDt3aWR0aDozNHB4O3BhZGRpbmc6N3B4O2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTp1bnNldH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfXl0ZC13YXRjaC1mbGV4eVt0aGVhdGVyXSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6dW5zZXR9eXRkLXdhdGNoLWZsZXh5W3RoZWF0ZXJdIC5hZC1zaG93aW5nIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7Ym90dG9tOjA7bGVmdDowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO2JvcmRlcjpub25lO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czo0MHB4O3BhZGRpbmc6MTJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6bm90KC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCl7cGFkZGluZzowIDhweH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ZGlzcGxheTpub25lfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtvcGFjaXR5OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlOmhvdmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JhY2tncm91bmQtY29sb3I6cmdiYSgzMywzMywzMywuOTUpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTlweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygodmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA2cHgpKi0xKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4KSotMSkpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtODBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQpe3dpZHRoOmF1dG99Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaUkyWm1aaUlnZG1sbGQwSnZlRDBpTUNBd0lESTBJREkwSWo0OGNHRjBhQ0JtYVd4c1BTSnViMjVsSWlCa1BTSk5NQ0F3YURJMGRqSTBTREI2SWk4K1BIQmhkR2dnWkQwaVRURTRJRFpvTFRKak1DMHlMakl4TFRFdU56a3ROQzAwTFRSVE9DQXpMamM1SURnZ05rZzJZeTB4TGpFZ01DMHlJQzQ1TFRJZ01uWXhNbU13SURFdU1TNDVJRElnTWlBeWFERXlZekV1TVNBd0lESXRMamtnTWkweVZqaGpNQzB4TGpFdExqa3RNaTB5TFRKdExUWXRNbU14TGpFZ01DQXlJQzQ1SURJZ01tZ3ROR013TFRFdU1TNDVMVElnTWkweWJUWWdNVFpJTmxZNGFESjJNbU13SUM0MU5TNDBOU0F4SURFZ01YTXhMUzQwTlNBeExURldPR2cwZGpKak1DQXVOVFV1TkRVZ01TQXhJREZ6TVMwdU5EVWdNUzB4Vmpob01ub2lMejQ4TDNOMlp6ND0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi1jdXN0b20taWNvbiwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29uLWN1c3RvbS1pY29ue2JhY2tncm91bmQtaW1hZ2U6bm9uZTt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmO21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6NnB4O2N1cnNvcjpwb2ludGVyfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS10aXRsZXtmb250LXdlaWdodDo1MDB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtib3JkZXItcmFkaXVzOjhweDt3aWR0aDoyOThweDtoZWlnaHQ6NjRweDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI5MHB4O3BhZGRpbmc6NHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tZGV0YWlscyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWRldGFpbHMgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLXN1YnRpdGxle292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NDAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxzIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1tZXRhZGF0YS10ZXh0e29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NTAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWd7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDojZmZmO2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWc+aW1ne3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbn06aXMoOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCksLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCkgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb257ZGlzcGxheTpub25lfTppcygueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1jb2xsYXBzZWQsLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWNvbnRlbnQtZm9yd2FyZC1jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3dpZHRoOjA7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4taW5saW5lLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC1tYXJnaW4tc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbHtoZWlnaHQ6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MTt3aWR0aDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWV4cGFuZGVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDowO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7d2lkdGg6MjRweH06aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctY29sbGFwc2VkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHg7b3BhY2l0eToxO3dpZHRoOjE4cHg7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4gOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtY29udGVudC1mb3J3YXJkLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkKSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWw6Zmlyc3QtY2hpbGR7d2lkdGg6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTJweDt3aWR0aDoycHg7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zMjstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLW1vcmUtcHJvZHVjdHMtaWNvbntoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6dW5zZXR9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ1ptbHNiRDBpSTJabVppSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQmtQU0pOTVRZdU1qUWdPUzR4TnlBeE15NDBNU0F4TW13eUxqZ3pJREl1T0RNdE1TNDBNU0F4TGpReFRERXlJREV6TGpReGJDMHlMamd6SURJdU9ETXRNUzQwTVMweExqUXhUREV3TGpVNUlERXlJRGN1TnpZZ09TNHhOMnd4TGpReExURXVOREZNTVRJZ01UQXVOVGxzTWk0NE15MHlMamd6ZWswMExqa3pJRFF1T1ROakxUTXVPVEVnTXk0NU1TMHpMamt4SURFd0xqSTBJREFnTVRRdU1UUWdNeTQ1TVNBekxqa3hJREV3TGpJMElETXVPVEVnTVRRdU1UUWdNQ0F6TGpreExUTXVPVEVnTXk0NU1TMHhNQzR5TkNBd0xURTBMakUwTFRNdU9TMHpMamt4TFRFd0xqSTBMVE11T1RFdE1UUXVNVFFnTUcweE15NDBNeTQzTVdNekxqVXhJRE11TlRFZ015NDFNU0E1TGpJeUlEQWdNVEl1TnpOekxUa3VNaklnTXk0MU1TMHhNaTQzTXlBd0xUTXVOVEV0T1M0eU1pQXdMVEV5TGpjell6TXVOVEl0TXk0MU1TQTVMakl5TFRNdU5URWdNVEl1TnpNZ01DSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47b3BhY2l0eTouNjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRURTVJRFl1TkRFZ01UY3VOVGtnTlNBeE1pQXhNQzQxT1NBMkxqUXhJRFVnTlNBMkxqUXhJREV3TGpVNUlERXlJRFVnTVRjdU5Ua2dOaTQwTVNBeE9TQXhNaUF4TXk0ME1TQXhOeTQxT1NBeE9TQXhPU0F4Tnk0MU9TQXhNeTQwTVNBeE1ub2lMejQ4TDNOMlp6ND0pO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZGlzbWlzcy1idXR0b24taWNvbjpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1vZmZsaW5lLXNsYXRle2JvdHRvbTozMnB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjI4MHB4O2hlaWdodDo2NHB4O3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtZmVhdHVyZWQtcHJvZHVjdD4ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI3MnB4O3BhZGRpbmc6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEU1SURZdU5ERWdNVGN1TlRrZ05TQXhNaUF4TUM0MU9TQTJMalF4SURVZ05TQTJMalF4SURFd0xqVTVJREV5SURVZ01UY3VOVGtnTmk0ME1TQXhPU0F4TWlBeE15NDBNU0F4Tnk0MU9TQXhPU0F4T1NBeE55NDFPU0F4TXk0ME1TQXhNbm9pTHo0OEwzTjJaejQ9KTtvcGFjaXR5Oi44O2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbHtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbD5pbWd7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDstby1vYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LWZpdDpjb250YWlufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vcGVuLWluLW5ld3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NHB4O3JpZ2h0OjRweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWswek9DQXpPRWd4TUZZeE1HZ3hORlkyU0RFd1l5MHlMakl4SURBdE5DQXhMamM1TFRRZ05IWXlPR013SURJdU1qRWdNUzQzT1NBMElEUWdOR2d5T0dNeUxqSXhJREFnTkMweExqYzVJRFF0TkZZeU5HZ3ROSHBOTWpnZ05uWTBhRGN1TVRkTU1UVXVOVEVnTWprdU5qWnNNaTQ0TXlBeUxqZ3pURE00SURFeUxqZ3pWakl3YURSV05ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LWNvdW50ZG93bntmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtYWZmaWxpYXRlLWRpc2NsYWltZXJ7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWR7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1yaWdodDo0cHg7b3BhY2l0eTouN30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtaW5mby1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWsweU1pQXpOR2cwVmpJeWFDMDBlbTB5TFRNd1F6RXlMamsxSURRZ05DQXhNaTQ1TlNBMElESTBjemd1T1RVZ01qQWdNakFnTWpBZ01qQXRPQzQ1TlNBeU1DMHlNRk16TlM0d05TQTBJREkwSURSdE1DQXpObU10T0M0NE1pQXdMVEUyTFRjdU1UZ3RNVFl0TVRaVE1UVXVNVGdnT0NBeU5DQTRjekUySURjdU1UZ2dNVFlnTVRZdE55NHhPQ0F4TmkweE5pQXhObTB0TWkweU1tZzBkaTAwYUMwMGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7bWFyZ2luLXJpZ2h0OjhweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vdmVyZmxvdy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlpMDFJQzAxSURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKTk1USWdPR014TGpFZ01DQXlMUzQ1SURJdE1uTXRMamt0TWkweUxUSXRNaUF1T1MweUlESWdMamtnTWlBeUlESnRNQ0F5WXkweExqRWdNQzB5SUM0NUxUSWdNbk11T1NBeUlESWdNaUF5TFM0NUlESXRNaTB1T1MweUxUSXRNbTB3SURaakxURXVNU0F3TFRJZ0xqa3RNaUF5Y3k0NUlESWdNaUF5SURJdExqa2dNaTB5TFM0NUxUSXRNaTB5SWk4K1BDOXpkbWMrKTtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4O29wYWNpdHk6Ljg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXZlbmRvcntvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdmVuZG9yLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVke2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5ne292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVkIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy10ZXh0e29wYWNpdHk6Ljc7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5nPi55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdMVGsyTUNBNU5qQWdPVFl3SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSnRNVEl6TFRJME1DMDBNeTAwTXlBeU9USXRNamt4SURFMk55QXhOamNnTWpReExUSTBNVWcyTlROMkxUWXdhREl5TjNZeU1qZG9MVFU1ZGkweE1qTk1OVE00TFRNeU1TQXpOekV0TkRnNGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxMnB4O3dpZHRoOjEycHg7bWFyZ2luLXRvcDoycHg7bWFyZ2luLXJpZ2h0OjRweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZ3tkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByaWNlLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVyIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcm9tb3Rpb24tdGV4dHtmb250LXdlaWdodDo1MDA7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZXt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO21hcmdpbi1sZWZ0OjRweH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2V7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByb21vdGlvbi10ZXh0OmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2U6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQ6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtY29udGFpbmVyLC55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWV4Y2x1c2l2ZS1iYWRnZXtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20oIzdmMGU3ZiksY29sb3Itc3RvcCgjZGIxZGRiKSx0bygjZWQ1NThmKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCM3ZjBlN2YsI2RiMWRkYiwjZWQ1NThmKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmLCNkYjFkZGIsI2VkNTU4Zik7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtdGV4dHtsaW5lLWhlaWdodDoxMDAlO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtZXhjbHVzaXZlLWNvdW50ZG93bnttYXJnaW4tbGVmdDo0cHg7bGluZS1oZWlnaHQ6MTAwJX0ueXRwLXRpbWUtZGlzcGxheXtmb250LXNpemU6MTA5JTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzowIDVweDt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6NDdweH0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC10aW1lLWRpc3BsYXksLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUxcHh9Lnl0cC1lbWJlZCAueXRwLXRpbWUtZGlzcGxheSwueXRwLXNtYWxsLW1vZGUgLnl0cC10aW1lLWRpc3BsYXl7bGluZS1oZWlnaHQ6MzlweH0ueXRwLWJpZy1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUzcHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWRpc3BsYXk6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtmb250LXNpemU6MTRweDttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSA4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtZGlzcGxheXtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtmb250LXNpemU6MTZweDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtdG9wLWhlaWdodCwyMHB4KSAxMnB4fS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC10aW1lLWRpc3BsYXktYWxsb3ctYXV0b2hpZGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7bWluLXdpZHRoOjA7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtd3JhcHBlcntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jdXJyZW50LC55dHAtdGltZS1kdXJhdGlvbiwueXRwLXRpbWUtc2VwYXJhdG9ye2NvbG9yOiNkZGR9Lnl0cC10aW1lLXdyYXBwZXItZGVsaGl7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWN1cnJlbnR7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtcHJpbWFyeSwjZmZmKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtZHVyYXRpb24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXNlcGFyYXRvcntjb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpO2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWxpdmUgLnl0cC10aW1lLWNvbnRlbnRze2Rpc3BsYXk6bm9uZX0qIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdlLC55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxpdmUtYmFkZ2V7dGV4dC10cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2UsLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlIC55dHAtbGl2ZS1iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZweDtoZWlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOjQlO21hcmdpbi1yaWdodDo1cHg7YmFja2dyb3VuZDojNzU3NTc1O2NvbnRlbnQ6IiI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle3dpZHRoOjlweDtoZWlnaHQ6OXB4O2JvcmRlci1yYWRpdXM6OXB4fS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1saXZlLWJhZGdlW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWxpdmUtYmFkZ2VbZGlzYWJsZWRde29wYWNpdHk6MX0ueXRwLWxpdmViYWRnZS1jb2xvciAueXRwLWxpdmUtYmFkZ2UueXRwLWxpdmUtYmFkZ2UtaXMtbGl2ZWhlYWQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpfS55dHAtdGltZS1kaXNwbGF5Lnl0cC1jbGlwe292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24sLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvciwueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9yLC55dHAtY2xpcCAueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6aW5saW5lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOjEycHg7bWFyZ2luLWxlZnQ6OHB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NXB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MH0ueXRwLXRpbWUtY2xpcC1pY29uIHN2Z3t3aWR0aDoxNnB4O2hlaWdodDoxNnB4O21hcmdpbi1ib3R0b206LTNweDtmaWxsOiNkZGR9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvcnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjhweDtmb250LXdlaWdodDo3MDB9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2V7d2lkdGg6YXV0b30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtY29udGVudHN7b3ZlcmZsb3c6aGlkZGVufS55dHAtbm8tbGluayxzcGFuLnl0cC10aXRsZS1jaGFubmVsLW5hbWV7Y3Vyc29yOmRlZmF1bHQ7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXRpdGxle292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC10aXRsZSAueXRwLXRpdGxlLXRleHQsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLXRvcCAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dCwueXRwLWhpZGUtZnVsbHNjcmVlbi10aXRsZSAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dHtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS10ZXh0e3ZlcnRpY2FsLWFsaWduOnRvcDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxMnB4O2ZvbnQtc2l6ZToxOHB4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1sZWZ0OjRweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxOHB4O2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmctbGVmdDo2cHh9Lnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoyMXB4fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS10ZXh0e2ZvbnQtc2l6ZToxNnB4O3doaXRlLXNwYWNlOm5vcm1hbDtwYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctcmlnaHQ6NTNweH0ueXRwLWJpZy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDozNnB4fS55dHAtYmlnLW1vZGUueXRwLXNob3J0cy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxN3B4O2ZvbnQtc2l6ZToyM3B4O3BhZGRpbmctcmlnaHQ6NjRweH0ueXRwLXRpdGxlLXRleHQtbGFyZ2VyLWxpbmUtaGVpZ2h0IC55dHAtdGl0bGUtdGV4dHtsaW5lLWhlaWdodDoxLjM1fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS1saW5re292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC10aXRsZS1zdWJ0ZXh0e2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtY2hhbm5lbC1uYW1le21hcmdpbi10b3A6LjI1cmVtO2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5KX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc3VidGV4dHtmb250LXNpemU6MjBweH0ueXRwLXRpdGxlLXN1YnRleHQgYTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1mdWxsZXJzY3JlZW4tbGlua3tjdXJzb3I6ZGVmYXVsdH0ueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtoZWlnaHQ6MTRweDt3aWR0aDozNnB4O2Zsb2F0OnJpZ2h0O3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyMXB4O3dpZHRoOjU0cHg7Ym9yZGVyLXJhZGl1czoyMXB4fS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtvcGFjaXR5Oi4zfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjojOTA5MDkwfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSBwYXRoe2ZpbGw6IzkwOTA5MH0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JvcmRlci1yYWRpdXM6MDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtY29udGV4dG1lbnUueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1jb250ZXh0bWVudSAueXRwLW1lbnVpdGVtIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRrZ01UWXVNaUEwTGpnZ01USnNMVEV1TkNBeExqUk1PU0F4T1NBeU1TQTNiQzB4TGpRdE1TNDBlaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29udGV4dG1lbnUgLnl0cC1tZW51aXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfS55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O21hcmdpbi10b3A6LTNweDtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjYpO2JveC1zaGFkb3c6MCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuNik7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7bGVmdDowO2hlaWdodDozMHB4O3dpZHRoOjMwcHg7Ym9yZGVyLXJhZGl1czozMHB4O21hcmdpbi10b3A6ZGl2aWRlKHN1YigyMXB4LDMwcHgpLDIpfS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjRweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyNHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveCwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tcHJpbWFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWRpc2FibGVkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4uYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXRvcDoycHg7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlciwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzO2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7b3BhY2l0eTowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwe2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3e3BhZGRpbmc6MnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3tib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3Lnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbjpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5OjF9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGl0bGV7cGFkZGluZzowIDlweDt0ZXh0LWFsaWduOnN0YXJ0O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6NXB4IDlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1iZ3ttYXJnaW46NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLXRpdGxlIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHttYXJnaW4tbGVmdDo4cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGV4dHtwYWRkaW5nOjAgOXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXA6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JvcmRlci1yYWRpdXM6NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1wcmV2aWV3KSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC10b29sdGlwLWJnLC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtwYWRkaW5nOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo4cHggMTZweDtib3JkZXItcmFkaXVzOjE4cHg7dG9wOjQ1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGUgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxle21hcmdpbi1sZWZ0OjhweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHt0b3A6LTE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6MTBweDt0b3A6dW5zZXQ7bWF4LXdpZHRoOnVuc2V0O2hlaWdodDotd2Via2l0LWZpdC1jb250ZW50O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntib3R0b206OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KFthcmlhLWhpZGRlbj10cnVlXSkgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxse2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7dG9wOjY3cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxMnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MTJweH0ueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVye2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtd3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NXB4O2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MX0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjRweCAwO292ZXJmbG93OmhpZGRlbjttYXgtaGVpZ2h0OjQ2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjZweCAwO21heC1oZWlnaHQ6NjlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9uIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKTpub3QoW2FyaWEtaGlkZGVuPXRydWVdKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjVweCA5cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdG9vbHRpcC1vcGFxdWUgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQtY29sb3I6cmdiKDI4LDI4LDI4KX0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6aW5saW5lO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6MzRweH0ueXRwLWJpZy1tb2RlIC55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6NDVweH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MH0ueXRwLXRvb2x0aXAtYmd7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKS55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb246aXMoW2FyaWEtaGlkZGVuPXRydWVdKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtcHJvZ3Jlc3MtYmFyLXNuYXAgLnl0cC10b29sdGlwLWJne291dGxpbmU6MXB4IHNvbGlkICNmZmY7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJne2Rpc3BsYXk6YmxvY2t9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7ZmxvYXQ6bGVmdH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAtYmcueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pIC55dHAtdG9vbHRpcC1iZy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eToxfS55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtaGFzLWR1cmF0aW9uIC55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDtib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7cGFkZGluZzoycHggNHB4O2JvcmRlci1yYWRpdXM6MnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcueXRwLWhhcy1kdXJhdGlvbiAueXRwLXRvb2x0aXAtZHVyYXRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOiNmZmZ9Lnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXAtdGl0bGUgc3Zne2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2ZvbnQtc2l6ZToxOHB4fS55dHAtYmlnLW1vZGUueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3Zne2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAzJTtoZWlnaHQ6YXV0bztmb250LXNpemU6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3ZnLC55dHAtcHJvZ3Jlc3MtYmFyLWRlY29yYXRpb24gLnl0cC10b29sdGlwLXRpdGxlIHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbi1yaWdodDozcHg7ZmlsbDp3aGl0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjgwcHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7aGVpZ2h0OjE2cHg7Ym9yZGVyOjA7dG9wOjQ1cHg7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjEyMHB4O3RvcDo2MXB4O2hlaWdodDoyNHB4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQ6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NDVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWJpZy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e3RvcDo2NXB4fS55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWtleWJvYXJkLXNob3J0Y3V0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zMDE5NjA3ODQzKTttaW4td2lkdGg6MTFweDtib3JkZXItcmFkaXVzOjRweDttYXJnaW4tbGVmdDo0cHg7Y29sb3I6I2ZmZjtwYWRkaW5nOjAgMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dDplbXB0eXtkaXNwbGF5Om5vbmU7d2lkdGg6MH0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDozM3B4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUueXRwLW1vZGVybi10b29sdGlwLXRleHR7dG9wOjI1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDo0MXB4fS55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwgLnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2FhYTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC10b29sdGlwLWltYWdle3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTt0b3A6MnB4O2xlZnQ6N3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAtaW1hZ2V7d2lkdGg6MjVweDtoZWlnaHQ6MjVweDtib3JkZXItcmFkaXVzOjEyLjVweDt0b3A6M3B4O2xlZnQ6MTBweH0ueXRwLXRvb2x0aXAtaW1hZ2UtZW5hYmxlZCAueXRwLXRvb2x0aXAtaW1hZ2V7ZGlzcGxheTppbmhlcml0fS55dHAtaW5saW5lLXByZXZpZXctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGV7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWVkdSwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLXVubXV0ZS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOnN1Yig0OHB4LDEycHgpO2xlZnQ6MDt6LWluZGV4OjEwMDE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEyNyU7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjEycHh9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS55dHAtcG9wdXB7dG9wOnN1Yig0OHB4LDE4cHgpO3BhZGRpbmc6MThweH0ueXRwLWF1dG9oaWRlIC55dHAtdW5tdXRlLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLXVubXV0ZXt0b3A6MH0ueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6M3B4O3BhZGRpbmctcmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTt0ZXh0LXNoYWRvdzpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6NXB4O3BhZGRpbmctcmlnaHQ6MThweH0ueXRwLXVubXV0ZS1pY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLWVtYmVkIC55dHAtdW5tdXRlLWljb257d2lkdGg6NDBweDtoZWlnaHQ6NDBweH0ueXRwLXVubXV0ZS1pY29uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMDAwfS55dHAtdW5tdXRlLXRleHR7bWF4LXdpZHRoOjIwMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC11bm11dGUueXRwLXBvcHVwLnl0cC11bm11dGUtYW5pbWF0ZWQgLnl0cC11bm11dGUtaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOm5vbmU7cGFkZGluZzowfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWljb257cGFkZGluZy1sZWZ0OjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtib3JkZXItcmFkaXVzOjJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjFmMWYxfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWJveHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMX0ueXRwLXVubXV0ZS1hbmltYXRlZCAueXRwLXVubXV0ZS10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTA7cGFkZGluZy10b3A6MXB4O3BhZGRpbmctcmlnaHQ6MTBweH0ueXRwLXVubXV0ZS1leHBhbmQgLnl0cC11bm11dGUtYm94e3dpZHRoOjA7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuNXMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtd2lkdGgtYW5pbSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAzLjVzIGZvcndhcmRzfS55dHAtdW5tdXRlLWV4cGFuZCAueXRwLXVubXV0ZS10ZXh0e29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbjp5dHAtdW5tdXRlLWFscGhhLWFuaW0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuOHMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgMy44cyBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtYm94e3dpZHRoOjEwMCU7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkczthbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtdGV4dHtvcGFjaXR5OjE7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS1hbHBoYS1hbmltIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSA1LjRzIHJldmVyc2UgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSkgNS40cyByZXZlcnNlIGZvcndhcmRzfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLXdpZHRoLWFuaW17MCV7d2lkdGg6MH10b3t3aWR0aDoxMDAlfX1Aa2V5ZnJhbWVzIHl0cC11bm11dGUtd2lkdGgtYW5pbXswJXt3aWR0aDowfXRve3dpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0cC11cG5leHR7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7b3BhY2l0eToxO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ei1pbmRleDozOX0ueXRwLXVwbmV4dC10b3B7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2JvdHRvbTo1MCU7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10b3B7bWFyZ2luLWJvdHRvbToyNnB4fS55dHAtc21hbGwtbW9kZS55dHAtZW1iZWQgLnl0cC11cG5leHQtbW9iaWxlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjB9Lnl0cC11cG5leHQtYm90dG9te3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0b3A6NTAlO21hcmdpbi10b3A6NDhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYm90dG9te21hcmdpbi10b3A6MjZweH0ueXRwLXNtYWxsLW1vZGUueXRwLWVtYmVkIC55dHAtdXBuZXh0LW1vYmlsZSAueXRwLXVwbmV4dC1ib3R0b217bWFyZ2luLXRvcDo0OHB4fS55dHAtdXBuZXh0LXRpdGxle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowIDEwcHggMnB4O21hcmdpbi1sZWZ0OjMycHg7bWFyZ2luLXJpZ2h0OjMycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjIwMCU7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTUwJX0ueXRwLXVwbmV4dC1hdXRob3J7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDEwcHggMTBweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMzAlfS55dHAtdXBuZXh0LWhlYWRlcntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNDAlO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctYm90dG9tOjhweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtaGVhZGVye3BhZGRpbmctYm90dG9tOjB9Lnl0cC11cG5leHQtY2FuY2Vse2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0Om5vbmU7cGFkZGluZzoxMHB4IDIwcHg7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpO2JvcmRlci1yYWRpdXM6MnB4fS55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbjotMzJweCAwIDAgLTMycHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O21hcmdpbjotMjVweCAwIDAgLTI1cHh9Lnl0cC1zbWFsbC1tb2RlLnl0cC1lbWJlZCAueXRwLXVwbmV4dC1tb2JpbGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnttYXJnaW4tdG9wOjB9Lnl0cC1lbWJlZCAueXRwLWVuZHNjcmVlbi10YWtlb3Zlcn4ueXRwLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtdXBuZXh0LXBhdXNlZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtc3R5bGU6aXRhbGljO29wYWNpdHk6MH0ueXRwLXVwbmV4dC1hdXRvcGxheS1wYXVzZWQgLnl0cC11cG5leHQtcGF1c2Vke29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtdXBuZXh0IC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtvcGFjaXR5Oi40fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXktaW1hZ2V7b3BhY2l0eTouNjR9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRvcHt0b3A6MDttYXJnaW46MTJweCAwIDAgMTJweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRpdGxle3RleHQtYWxpZ246bGVmdDttYXJnaW4tYm90dG9tOjRweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO3BhZGRpbmc6MH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtdGl0bGV7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmY7cGFkZGluZzowIDc1cHggMCAwfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjYycHg7aGVpZ2h0OjYycHg7bWFyZ2luOi0zMXB4IDAgMCAtMzFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbiwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtcGF1c2Vke2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbntwYWRkaW5nOjhweDttYXJnaW4tdG9wOjhweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjE0NnB4O2hlaWdodDoxNDZweDttYXJnaW46LTczcHggMCAwIC03M3B4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjc2cHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC11cG5leHQtdG9we21hcmdpbi1ib3R0b206NzZweH0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjA7Ym90dG9tOjUwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257dG9wOjYwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjA7dG9wOjcwJX0ueXRwLXVzZXItaW5mby1wYW5lbHtiYWNrZ3JvdW5kOnJnYmEoMjgsMjgsMjgsLjgpO2NvbG9yOiNmZmY7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyOTJweDtoZWlnaHQ6NzRweDtib3R0b206MDt6LWluZGV4OjgwO21pbi13aWR0aDoyNmVtO2Rpc3BsYXk6dGFibGV9Lnl0cC11c2VyLWluZm8tcGFuZWwgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLXVzZXItaW5mby1wYW5lbCAueXRwLWNvbGxhcHNlOmhvdmVye29wYWNpdHk6MX0ueXRwLXVzZXItaW5mby1wYW5lbC1jb250ZW50e2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZzoxNHB4IDA7Zm9udC1zaXplOjE2cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC11c2VyLWluZm8tcGFuZWwtaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHg7cGFkZGluZzowIDE0cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtbG9naW57Y29sb3I6IzNlYTZmZjtjdXJzb3I6cG9pbnRlcn0ueXRwLXVzZXItaW5mby1wYW5lbC1pbmZve21heC13aWR0aDoyMDBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC12aWRlby1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztoZWlnaHQ6NDRweDtwYWRkaW5nOjEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXZpZGVvLW1lbnUtaXRlbXtoZWlnaHQ6NjZweDtwYWRkaW5nOjE1cHh9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC12aWRlby1tZW51LWl0ZW06aG92ZXIsLnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpfS55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne3BhZGRpbmctcmlnaHQ6OXB4O21pbi13aWR0aDoxMHB4O2hlaWdodDo0NHB4O2xpbmUtaGVpZ2h0OjQ0cHg7ZmxvYXQ6bGVmdH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7cGFkZGluZy1yaWdodDoxM3B4O2hlaWdodDo2NnB4O2xpbmUtaGVpZ2h0OjY2cHh9Lnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTpub25lO2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne2NvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLXZpZGVvLW1lbnUtaXRlbS1ub3ctcGxheWluZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1jb2xvciAuMTVzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTppbmxpbmV9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4e2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvLW1lbnUtaXRlbS10aXRsZXtwYWRkaW5nLWxlZnQ6OXB4O2ZvbnQtc2l6ZToxMjAlO21heC1oZWlnaHQ6Mi42ZW07b3ZlcmZsb3c6aGlkZGVufS55dHAtdmlkZW8tbWVudS1pdGVtLWF1dGhvcntwYWRkaW5nLWxlZnQ6OXB4O2NvbG9yOiNiOGI4Yjg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse2Zsb2F0OmxlZnQ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDttYXJnaW46NHB4O2JvcmRlcjowIHNvbGlkIHZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTZweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo2NHB4IDQ4cHg7YmFja2dyb3VuZC1zaXplOjY0cHggNDhweH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHtib3JkZXItY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHstd2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlfS55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse3dpZHRoOjk2cHg7aGVpZ2h0OjU0cHg7bWFyZ2luOjZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTlweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5NnB4IDcycHg7YmFja2dyb3VuZC1zaXplOjk2cHggNzJweH0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse21hcmdpbjoycHg7Ym9yZGVyLXdpZHRoOjJweH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLXZpZGVvLW1lbnUtaXRlbS10aHVtYm5haWx7bWFyZ2luOjRweH0ueXRwLXZpZGVvd2FsbC1zdGlsbHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKTt0cmFuc2Zvcm06c2NhbGUoLjEpfS55dHAtc2hvdy10aWxlcyAueXRwLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3IsLnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWR1cmF0aW9uLC55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpub25lO2hlaWdodDoyLjE1ZW07cGFkZGluZy1yaWdodDoxMHB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peCwueXRwLXZpZGVvd2FsbC1zdGlsbC1taW5pIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFye2ZvbnQtc2l6ZToxMDAlfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RjR3hoZVd4cGMzUWlJSE4wY205clpUMGlJekF3TUNJZ2MzUnliMnRsTFc5d1lXTnBkSGs5SWk0eE5TSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlpOCtQSEJoZEdnZ2FXUTlJbmwwY0MxemRtY3RjR3hoZVd4cGMzUWlJR1pwYkd3OUlpTm1abVlpSUdROUlrMHlNaTQxTXlBeU1TNDBNblkyTGpnMWJEVXVOall0TXk0ME1pMDFMalkyTFRNdU5ESjZiUzB4TVM0ek15QXdhRGt1TURaMk1pNHlPRWd4TVM0eWVtMHdMVGt1TVRSb01UTXVObll5TGpJNFNERXhMako2YlRBZ05DNDFOMmd4TXk0MmRqSXVNamhJTVRFdU1ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjIuMTVlbTtoZWlnaHQ6Mi4xNWVtfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0YldsNElpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzF2Y0dGamFYUjVQU0l1TVRVaUlITjBjbTlyWlMxM2FXUjBhRDBpTWlJdlBqeHdZWFJvSUdsa1BTSjVkSEF0YzNabkxXMXBlQ0lnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEkxTGpZMUlERTRZeTB1TURJZ01pNHpNUzB1T0RjZ05DNDBNUzB5TGpJMUlEWXVNRFpzTGprdU9UUmpNUzQyT1MweExqZ2dNaTQzTFRRdU1qY2dNaTQzTFRkekxURXVNREV0TlM0eU1TMHlMamN0TjJ3dExqa3VPVE5CT1M0MU5DQTVMalUwSURBZ01DQXhJREkxTGpZMUlERTRiUzB4TlM0eklEQmpMakF4TFRJdU16SXVPRFl0TkM0ME1pQXlMakkxTFRZdU1EZHNMUzQ1TFM0NU0wTXhNQ0F4TWk0M09TQTVJREUxTGpJM0lEa2dNVGh6TVNBMUxqSWdNaTQzSURkc0xqa3RMamswWXkweExqTTVMVEV1TmpVdE1pNHlOQzB6TGpjMUxUSXVNalV0Tmk0d05tMHlMamNnTUdNdExqQTBMVEV1TnpNdU5Ea3RNeTR3T1NBeExqTTFMVFF1TW13dExqa3RMamswWXkweExqRXpJREV1TWpZdE1TNDRJREl1T1RrdE1TNDRJRFV1TVRRZ01DQXhMalkzTGpZM0lETXVOQ0F4TGpnZ05DNDJObXd1T1MwdU9UTmpMUzQ0TmkweExqRXlMVEV1TXprdE1pNDBOeTB4TGpNMUxUTXVOek50T1MwMUxqRTBMUzQ1TGprMFl5NDROU0F4TGpFeElERXVNemdnTWk0ME55QXhMak0xSURRdU1pNHdNeUF4TGpJMkxTNDFJREl1TmpFdE1TNHpOU0F6TGpjemJDNDVMamt6WXpFdU1USXRNUzR5TmlBeExqZ3RNaTQ1T1NBeExqZ3ROQzQyTmlBd0xUSXVNVFV0TGpZNExUTXVPRGd0TVM0NExUVXVNVFJ0TFRVdU5UVWdNaTQ0SURNdU5pQXhMamczTFRNdU5pQXlMak16ZWlJdlBqd3ZjM1puUGc9PSk7d2lkdGg6Mi4xNWVtO2hlaWdodDoyLjE1ZW19Lnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbGVuZ3Roe2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtdmlkZW93YWxsLXN0aWxsOmZvY3VzIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFyLC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbWl4PXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC1yb3VuZC1sYXJnZSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtcm91bmQtbWVkaXVtIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLXJvdW5kLWxhcmdlIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tYXV0aG9ye2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgxMiwxMiwxMiwuOCkgMCx0cmFuc3BhcmVudCAxMDBweCk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO2JvdHRvbTowO2NvbG9yOiNmZmY7bGVmdDowO29wYWNpdHk6MDtwYWRkaW5nOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC55dHAtdmlkZW93YWxsLXNob3ctdGV4dCAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnQsLnl0cC12aWRlb3dhbGwtc3RpbGw6Zm9jdXMgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50LC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tY29udGVudHtvcGFjaXR5OjF9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjJweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouOTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7ZGlzcGxheTpub25lO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuMjttYXgtaGVpZ2h0OjMwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXtmb250LXdlaWdodDo0MDA7bWF4LWhlaWdodDo0OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjg2KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVse2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuODYpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1ib3R0b206MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmb250LXNpemU6MTFweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1zaG93LXRpbGVzIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb257ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjIuMTVlbTtwYWRkaW5nLXJpZ2h0OjEwcHg7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNHhOU0lnYzNSeWIydGxMWGRwWkhSb1BTSXlJaTgrUEhCaGRHZ2dhV1E5SW5sMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUdacGJHdzlJaU5tWm1ZaUlHUTlJazB5TWk0MU15QXlNUzQwTW5ZMkxqZzFiRFV1TmpZdE15NDBNaTAxTGpZMkxUTXVOREo2YlMweE1TNHpNeUF3YURrdU1EWjJNaTR5T0VneE1TNHllbTB3TFRrdU1UUm9NVE11Tm5ZeUxqSTRTREV4TGpKNmJUQWdOQzQxTjJneE15NDJkakl1TWpoSU1URXVNbm9pTHo0OEwzTjJaejQ9KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RiV2w0SWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMXZjR0ZqYVhSNVBTSXVNVFVpSUhOMGNtOXJaUzEzYVdSMGFEMGlNaUl2UGp4d1lYUm9JR2xrUFNKNWRIQXRjM1puTFcxcGVDSWdabWxzYkQwaUkyWm1aaUlnWkQwaVRUSTFMalkxSURFNFl5MHVNRElnTWk0ek1TMHVPRGNnTkM0ME1TMHlMakkxSURZdU1EWnNMamt1T1RSak1TNDJPUzB4TGpnZ01pNDNMVFF1TWpjZ01pNDNMVGR6TFRFdU1ERXROUzR5TVMweUxqY3ROMnd0TGprdU9UTkJPUzQxTkNBNUxqVTBJREFnTUNBeElESTFMalkxSURFNGJTMHhOUzR6SURCakxqQXhMVEl1TXpJdU9EWXROQzQwTWlBeUxqSTFMVFl1TURkc0xTNDVMUzQ1TTBNeE1DQXhNaTQzT1NBNUlERTFMakkzSURrZ01UaHpNU0ExTGpJZ01pNDNJRGRzTGprdExqazBZeTB4TGpNNUxURXVOalV0TWk0eU5DMHpMamMxTFRJdU1qVXROaTR3Tm0weUxqY2dNR010TGpBMExURXVOek11TkRrdE15NHdPU0F4TGpNMUxUUXVNbXd0TGprdExqazBZeTB4TGpFeklERXVNall0TVM0NElESXVPVGt0TVM0NElEVXVNVFFnTUNBeExqWTNMalkzSURNdU5DQXhMamdnTkM0Mk5td3VPUzB1T1ROakxTNDROaTB4TGpFeUxURXVNemt0TWk0ME55MHhMak0xTFRNdU56TnRPUzAxTGpFMExTNDVMamswWXk0NE5TQXhMakV4SURFdU16Z2dNaTQwTnlBeExqTTFJRFF1TWk0d015QXhMakkyTFM0MUlESXVOakV0TVM0ek5TQXpMamN6YkM0NUxqa3pZekV1TVRJdE1TNHlOaUF4TGpndE1pNDVPU0F4TGpndE5DNDJOaUF3TFRJdU1UVXRMalk0TFRNdU9EZ3RNUzQ0TFRVdU1UUnRMVFV1TlRVZ01pNDRJRE11TmlBeExqZzNMVE11TmlBeUxqTXplaUl2UGp3dmMzWm5QZz09KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7Ym94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkpO2JvcmRlci1yYWRpdXM6OHB4fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyKTtib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpO2JvcmRlci1yYWRpdXM6OHB4fUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjEvMSl7Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle2FzcGVjdC1yYXRpbzoxNi85fX1Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86MS8xKXsueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7aGVpZ2h0OjA7cGFkZGluZy1ib3R0b206NTYuMjUlfX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3ttYXJnaW4tdG9wOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3I6bm90KDplbXB0eSl7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjEzMCU7bWF4LWhlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtdmlldy1jb3VudC1hbmQtZGF0ZS1pbmZvOm5vdCg6ZW1wdHkpe2ZvbnQtc2l6ZToxMzAlO21heC1oZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvciwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvcnttYXgtaGVpZ2h0OnVuc2V0fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnR7Y29sb3I6I2ZmZjt3aWR0aDoxMDAlO29wYWNpdHk6MTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb24sLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtib3JkZXItcmFkaXVzOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206OHB4O3JpZ2h0OjhweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtmb250LXNpemU6MTIwJX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6Ljc1fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWxpdmV7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7b3BhY2l0eTouOTtkaXNwbGF5Om5vbmU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpub3QoW2RhdGEtaXMtbGl2ZT10cnVlXSkgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5Om5vbmV9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb246ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxlOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tdGl0bGUsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXttYXgtaGVpZ2h0OnVuc2V0fS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4IDE2cHggMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1zcGVlZC1kaXNwbGF5LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1kaXNwbGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6OTAwO2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXNsaWRlci1jb250YWluZXIgLnl0cC1pbnB1dC1zbGlkZXJ7d2lkdGg6MTAwJX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWNoaXBze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtjb2xvcjojZmZmO2hlaWdodDozMnB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY2hpcHMgLnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Zm9udC1zaXplOjEycHg7d2lkdGg6NTNweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVyIC55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O3dpZHRoOjMycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLXdyYXBwZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLWxhYmVsLXRleHR7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXByZW1pdW0tdXBzZWxsLWljb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMDAlO21hcmdpbi1yaWdodDo4cHg7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MjRweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGxpbmVhcix2aXNpYmlsaXR5IDBzIGxpbmVhciAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBsaW5lYXIsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjFzfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZS12aXNpYmxle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjBzO3RyYW5zaXRpb24tZGVsYXk6MHN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3Zlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzoxMnB4IDEwcHg7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXItc2VjdGlvbi55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVye2hlaWdodDo5NnB4fX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyIC55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7bWFyZ2luLXJpZ2h0Oi01cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3ZlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tcy10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre3dpZHRoOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpO2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7d2lkdGg6MnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIueXRwLXZvbHVtZS1wb3BvdmVyLWhvdmVyaW5ne3Zpc2liaWxpdHk6dmlzaWJsZTttYXJnaW4tYm90dG9tOjhweDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0Oi00cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuOm5vdCguc2Vla2luZy1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0OjRweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtdm9sdW1lLXBhbmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjB9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXBhbmVsey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7d2lkdGg6NTJweDttYXJnaW4tcmlnaHQ6M3B4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246bWFyZ2luIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItYWN0aXZlIC55dHAtdm9sdW1lLXBhbmVse3dpZHRoOjc4cHg7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtdm9sdW1lLXBhbmVsOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVye21pbi1oZWlnaHQ6NTRweH0ueXRwLXZvbHVtZS1zbGlkZXJ7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjZweDttYXJnaW4tdG9wOi02cHg7YmFja2dyb3VuZDojZmZmfS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZXstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo5cHg7bWFyZ2luLXRvcDotOXB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW4tdG9wOi02cHg7Ym9yZGVyLXJhZGl1czo2cHg7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3RvcDo1MCU7bGVmdDowO2hlaWdodDozcHg7bWFyZ2luLXRvcDotMnB4O3dpZHRoOjY0cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZSwueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6MnB4O21hcmdpbi10b3A6LTFweH0ueXRwLWJpZy1tb2RlIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6NHB4O21hcmdpbi10b3A6LTJweDt3aWR0aDo5NnB4fS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YmVmb3Jle2xlZnQ6LTU4cHg7YmFja2dyb3VuZDojZmZmfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7bGVmdDotODdweH0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6NnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6OXB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MWVtfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b257Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC40cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtY29udGludWUtd2F0Y2hpbmctYnV0dG9uLnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1jb250aW51ZS13YXRjaGluZy1idXR0b24ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTtjb2xvcjojMGYwZjBmfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZX0ueXRwLWNvbnRpbnVlLXdhdGNoaW5nLWJ1dHRvbi55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmFjdGl2ZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjk0KTt0cmFuc2Zvcm06c2NhbGUoLjk0KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9LndhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS53YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lcnt3aWR0aDoxMDAlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbi1tb3JlLXZpZGVvcy1jb250YWluZXIgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTp1bnNldH0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lciAueXRwLW1vcmUtdmlkZW9zLXZpZXd7Ym9yZGVyLXJhZGl1czoycHg7ZGlyZWN0aW9uOmx0cjttYXJnaW46MTJweDtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlLnl0cC13YXRjaC1sYXRlci1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy13YXRjaC1sYXRlci10aXRsZS55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21pbi13aWR0aDo0OHB4O21heC13aWR0aDo4MHB4fS55dHAtd2F0Y2gtbGF0ZXItaWNvbnttYXJnaW46YXV0bzt3aWR0aDozNnB4O2hlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXdhdGNoLWxhdGVyLWljb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDttYXJnaW4tYm90dG9tOjEwcHh9Lnl0cC13YXRjaC1sYXRlci10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci10aXRsZSwueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7Zm9udC1zaXplOjIwcHh9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7ZGlzcGxheTpibG9ja30uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci10aXRsZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNvbnRhaW5lcnt3aWR0aDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7bWFyZ2luLXRvcDotMTBweDttYXJnaW4tbGVmdDotMTBweH0ueXRwLWJpZy1tb2RlIC55dHAtd2F0Y2gtbGF0ZXItaWNvbiAueXRwLXNwaW5uZXItY29udGFpbmVye3dpZHRoOjM1cHg7cGFkZGluZy1ib3R0b206MzVweDttYXJnaW4tdG9wOi0xNy41cHg7bWFyZ2luLWxlZnQ6LTE3LjVweH0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNpcmNsZXtib3JkZXItd2lkdGg6M3B4fS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29uIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjVweH0ud2ViZ2x7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjExO3dpZHRoOjEwMCV9LmVuZGVkLW1vZGUgLndlYmdse2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9ue3dpZHRoOjY3cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue3dpZHRoOjEyMHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLnl0cC15b3V0dWJlLW11c2ljLWJ1dHRvbiBzdmd7bWFyZ2luLWxlZnQ6LTI1cHg7aGVpZ2h0OjI0cHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLm5vLWxpbmssLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbi5uby1saW5re2N1cnNvcjpkZWZhdWx0O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbnt3aWR0aDoxMDBweH0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue2hlaWdodDoyNXB4O21hcmdpbi1ib3R0b206N3B4fS55dHAtZHJhd2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6MzUwcHg7dGV4dC1hbGlnbjpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6NDc7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2Vye3dpZHRoOjQyNXB4fS55dHAtZHJhd2VyLWNsb3NlZHt3aWR0aDoyNXB4fS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2Vke3dpZHRoOjM4cHh9Lnl0cC1kcmF3ZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MzUwcHg7aGVpZ2h0OjEwMCU7cGFkZGluZzo0OHB4IDI1cHggMjVweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLWNvbnRlbnR7d2lkdGg6NDI1cHg7cGFkZGluZzo3MHB4IDE1cHggMTVweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItY29udGVudHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjVweDtmaWxsOndoaXRlfS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7cGFkZGluZzo3cHh9Lnl0cC1kcmF3ZXItY2xvc2VkIC55dHAtZHJhd2VyLWNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3dpZHRoOjE1cHg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDotMTZweDtwYWRkaW5nOjEwcHggNXB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyl9Lnl0cC1iaWctbW9kZSAueXRwLWRyYXdlci1vcGVuLWJ1dHRvbnt3aWR0aDoyM3B4O2hlaWdodDo0OHB4O21hcmdpbi10b3A6LTI0cHg7cGFkZGluZzoxNXB4IDhweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLWRyYXdlci1vcGVuLWJ1dHRvbjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjojYWFhO2JvcmRlci1sZWZ0Om5vbmU7Y29udGVudDoiIn0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLW9wZW4tYnV0dG9uOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6OHB4O2JvcmRlci1yaWdodC13aWR0aDo4cHg7Ym9yZGVyLXRvcC13aWR0aDo4cHh9Lmh0bWw1LXlwYy1tb2R1bGV7bGluZS1oZWlnaHQ6MS4yO3RleHQtYWxpZ246bGVmdH0uaHRtbDUteXBjLWFjdGlvbi1oZWFkaW5ne21hcmdpbi1ib3R0b206NXB4O2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiM5OTl9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtYWN0aW9uLWhlYWRpbmd7ZGlzcGxheTpub25lfS5odG1sNS15cGMtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXlwYy10aHVtYm5haWx7ZmxvYXQ6bGVmdH0uaHRtbDUteXBjLXRodW1ibmFpbCBpbWd7d2lkdGg6MTAwcHg7bWFyZ2luOjAgMTBweCAxMHB4IDB9Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmF2YXRhcntib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmxhbmRzY2FwZXt3aWR0aDoxNjBweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy10aHVtYm5haWwgaW1ne3dpZHRoOjUwcHh9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6ODBweH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZ3t3aWR0aDoxNTBweDttYXJnaW46MCAxNXB4IDE4cHggMH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6MjQwcHh9Lmh0bWw1LXlwYy1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy1kZXNjcmlwdGlvbnttYXJnaW4tdG9wOjEwcHh9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLWRlc2NyaXB0aW9ue21hcmdpbi10b3A6MzhweH0uaHRtbDUteXBjLXB1cmNoYXNle2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzI3OTNlNn0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtcHVyY2hhc2V7bWFyZ2luOjE4cHggMDtwYWRkaW5nOjE1cHggMjBweDtib3JkZXItcmFkaXVzOjNweH0uaHRtbDUteXBjLXB1cmNoYXNlOmhvdmVye2JhY2tncm91bmQ6IzEyNmRiM30uaHRtbDUteXBjLXB1cmNoYXNlLmh0bWw1LXlwYy1yb3VuZGVke2JvcmRlci1yYWRpdXM6MThweH0uaHRtbDUteXBjLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2Njtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLW92ZXJsYXl7cGFkZGluZzo4cHg7bWFyZ2luLWxlZnQ6MjRweH0uaHRtbDUteXBjLWVuZHNjcmVlbntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7cGFkZGluZzo1MXB4IDIxcHggMjFweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTt6LWluZGV4OjM2fS55dHAtc21hbGwtbW9kZSAuaHRtbDUteXBjLWVuZHNjcmVlbntwYWRkaW5nLXRvcDoyMXB4fS55dHAteXBjLWNsaWNrd3JhcC1vdmVybGF5e3BhZGRpbmc6MjVweCAyMHB4IDA7ei1pbmRleDo2OX0ueXRwLXlwYy1jbGlja3dyYXAtaGVhZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM4ODg7cGFkZGluZzowIDAgMTVweCA1cHg7Zm9udC1zaXplOjE4MiU7Zm9udC13ZWlnaHQ6NDAwfS55dHAteXBjLWNsaWNrd3JhcC1kZXNjcmlwdGlvbnttYXJnaW46MTVweCAwIDAgNXB4O2ZvbnQtc2l6ZToxMjclfS55dHAteXBjLWNsaWNrd3JhcC1jb25maXJte21hcmdpbjoyMHB4IDAgMCA1cHg7cGFkZGluZzo3cHggMTBweDtiYWNrZ3JvdW5kLWNvbG9yOiMzN2Q7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC15cGMtY2xpY2t3cmFwLWNvbmZpcm06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjZjfS55dHAteXRvLXByZXJvbGwtbWVzc2FnZXtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2NTtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC15dG8tcHJlcm9sbCAueXRwLXl0by1wcmVyb2xsLW1lc3NhZ2V7ZGlzcGxheTpibG9ja31zZW50aW5lbHt9"}},"time_used":27,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":11,"receive":16,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/-kKZYXbYL1zKddVWiRpKQAs-FFrmXi_6UkcmhFlYLos.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.156.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:32.825Z","timestamp":1785137072825,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /js/th/-kKZYXbYL1zKddVWiRpKQAs-FFrmXi_6UkcmhFlYLos.js HTTP/1.1\r\nHost: www.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/botguard-scs\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"botguard-scs\"\r\nreport-to: {\"group\":\"botguard-scs\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/botguard-scs\"}]}\r\ncontent-length: 23710\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Tue, 21 Jul 2026 17:03:41 GMT\r\nexpires: Wed, 21 Jul 2027 17:03:41 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 08:00:00 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding\r\nage: 483651\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":62145,"size_decoded":24521,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (60918)","md5":"175c5223286c359a85dc124e70b631cc","sha1":"9783da70cc4ec9e1ee0345dcbad47674d41c5ed7","sha256":"fa42996176d82f5cca75d556891a4a400b3e145ae65e2ffa5247268459582e8b","sha512":"cfa0f26623d1cb13939c7b675013156701c25016a2eb9c8fe728cb97c652643368bb57914488e6f2ad40d97606a7cb39396905dad46897148f68f353b80b2d82","ssdeep":"768:jcaBTPMErdYHnCuKN9dPS5oPX3zp76JSAZg+hCU7aeTEPecnjfJG9CwaebQHr6na:jcainjK1pHh6i+9aeQmKSLQLOEEK","tlshash":"cc532aeff2d273710de665e2045b820d92be75525c40189eba05e7f86eb0c47e02bf29","first_seen":"2026-07-22T04:26:21.664288Z","last_seen":"2026-07-28T07:04:56.300909Z","times_seen":362,"resource_available":true,"data":"Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgYz1mdW5jdGlvbihmLEwsWSxGLFMseSxyLEcsSSxwKXtmb3IoST05NjtJIT04NzspaWYoST09MzcpST1ZPDwxJjM/NTQ6ZjtlbHNlIGlmKEk9PWYpcD1GLEk9NTQ7ZWxzZXtpZihJPT1MKXJldHVybiBwO2lmKEk9PTU0KUk9KFkmNTMpPT1ZPzI2Okw7ZWxzZSBpZihJPT05NilJPTM3O2Vsc2UgaWYoST09MjYpe2E6e2lmKHI9KEc9Rix1KS50cnVzdGVkVHlwZXMsIXJ8fCFyLmNyZWF0ZVBvbGljeSl7cD1HO2JyZWFrIGF9dHJ5e0c9ci5jcmVhdGVQb2xpY3koUyx7Y3JlYXRlSFRNTDpYLGNyZWF0ZVNjcmlwdDpYLGNyZWF0ZVNjcmlwdFVSTDpYfSl9Y2F0Y2goQSl7aWYodS5jb25zb2xlKXUuY29uc29sZVt5XShBLm1lc3NhZ2UpfXA9R31JPUx9fX0sWD1mdW5jdGlvbihmKXtyZXR1cm4gYy5jYWxsKHRoaXMsMjgsNzksNixmKX0sdT10aGlzfHxzZWxmOygwLGV2YWwpKGZ1bmN0aW9uKGYsTCl7cmV0dXJuKEw9YygyOCw3OSw1LG51bGwsImFkIiwiZXJyb3IiKSkmJmYuZXZhbChMLmNyZWF0ZVNjcmlwdCgiMSIpKT09PTE/ZnVuY3Rpb24oWSl7cmV0dXJuIEwuY3JlYXRlU2NyaXB0KFkpfTpmdW5jdGlvbihZKXtyZXR1cm4iIitZfX0odSkoQXJyYXkoTWF0aC5yYW5kb20oKSo3ODI0fDApLmpvaW4oIlxuIikrWycvLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09JywKJyhmdW5jdGlvbigpey8qJywKJycsCicgQ29weXJpZ2h0IEdvb2dsZSBMTEMnLAonIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wJywKJyovJywKJ3ZhciByUD1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7Zm9yKHk9OTY7eSE9STspaWYoeT09OTcpcD1YP3R5cGVvZiBYLmVvPT09ImZ1bmN0aW9uIj9YLmVvKCk6bmV3IFg6bnVsbCx5PTQwO2Vsc2UgaWYoeT09NDApdGhpcy5HPXAseT03OTtlbHNlIGlmKHk9PTc5KXk9TCs5Pj4xPEwmJihMKzdeMjUpPj1MPzkwOjI4O2Vsc2UgaWYoeT09MjYpdGhpcy5VPVkseT01NDtlbHNlIGlmKHk9PTcyKXk9KFg9SWFbdV0pPzkzOjQ5O2Vsc2UgaWYoeT09NjgpeT0xMjtlbHNlIGlmKHk9PTM1KUxFLmNhbGwodGhpcyxyKSx5PTE0O2Vsc2UgaWYoeT09NDkpUz0oYz1PYmplY3QuZ2V0UHJvdG90eXBlT2YoUy5wcm90b3R5cGUpKSYmYy5jb25zdHJ1Y3Rvcix5PTU7ZWxzZSBpZih5PT0zNyl5PShMXjUxKT4+ND49MyYmTC00PDIxPzI2OjU0O2Vsc2V7aWYoeT09MjgpcmV0dXJuIEY7eT09NT95PTEyOnk9PTQyPyh1PWlCKDMsUykseT03Mik6eT09MTI/eT1TPzQyOjk3Onk9PTkwPyh0aGlzLnR5cGU9WSx0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9Zix0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5GbT1mYWxzZSx5PTI4KTp5PT05Mz95PTk3Onk9PTYwPyhTPXRoaXMuY29uc3RydWN0b3IseT02OCk6eT09NTQ/eT0oTHw4KT09TD8zNTo3OTp5PT05Nj95PTM3Onk9PTE0JiYoeT0ocD1mKT80MDo2MCl9fSxxPWZ1bmN0aW9uKEksTCxZLGYscixwLHUpeygoSXw1KT4+Mz49MCYmSTw8MTwxNiYmKGY9JEsoWSksZiYxMjgmJihmPS0yKn4oZiZMKS0xK34oZnxMKSsoZl5MKXwkSyhZKTw8NyksdT1mKSxJKzU+PTIwKSYmKEleMTcpPDM4JiYoZj1wRVtMLkJdKEwuR3gpLGZbTC5CXT1mdW5jdGlvbigpe3JldHVybiBZfSxmLmNvbmNhdD1mdW5jdGlvbihYKXtZPVh9LHU9Zik7d2hpbGUoSS00PDMxJiYoKEl8NykmMTUpPj0xMil7Zm9yKHA9KHI9TihZLDIxKSwwKTtmPjA7Zi0tKXA9cDw8THwkSyhZKTtpZihKKFkscixwKSx7fSlicmVha31pZigoSXwyNCk9PUkpaWYocj1qMCgiYXJyYXkiLGYsIm51bWJlciIpPT09ImFycmF5Ij9mOltmXSx0aGlzLlcpTCh0aGlzLlcpO2Vsc2UgdHJ5e3A9IXRoaXMuVC5sZW5ndGgmJiF0aGlzLk4sZShbdUIsW10scixMLFldLDkyLHRoaXMpLFkmJiFwfHxYZih0cnVlLDMsMCx0aGlzLFksdHJ1ZSl9Y2F0Y2goWCl7Syg2NCx0aGlzLFgsMCksTCh0aGlzLlcpfXJldHVybiB1fSxOPWZ1bmN0aW9uKEksTCxZLGYscil7Zm9yKGZhbHNlOyEoTDw8MiY3KTshIVtdKXthOntpZihJLk8pe3I9VGwoSS5aLEkpO2JyZWFrIGF9cj0oKGY9a0sodHJ1ZSxJLDgpLChmfDEyOCktfihmJjEyOCkrfihmfDEyOCkpJiYoZj0tMTMwLX4oZnwxMjgpLShmfC0xMjkpLFk9a0sodHJ1ZSxJLDIpLGY9KGY8PDIpKyhZfDApKSxmKX1pZigiVyIpYnJlYWt9aWYoKEwmOTMpPT1MKWE6e3doaWxlKEkuTyl7d2hpbGUodHJ1ZSlpZihyPVRsKEkuWixJKSx0cnVlKWJyZWFrO2JyZWFrIGE7aWYoW10pYnJlYWt9KChZPWtLKHRydWUsSSw4KSxZKXwxMjgpLX4oWSYxMjgpK34oWXwxMjgpJiYoWT0tMTMwLX4oWXwxMjgpLShZfC0xMjkpLGY9a0sodHJ1ZSxJLDIpLFk9KFk8PDIpKyhmfDApKSxyPVl9cmV0dXJuIHJ9LFQ9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpeygoTHwxKSYxNCk9PTImJihGPShYPShyPShjPWZbWV08PDI0LHA9ZlstMi1+WS0gLTJdPDwxNiwoY3xJKSsocHxJKS0oYyZwKSksdT1mWzIqKFl8MiktMip+KFkmMikrflkrLTNdPDw4LCh1fEkpK34ociZ1KS1+ciksUz1mWzIqKFl8MyktfihZJjMpK34oWXwzKV0sKFN8SSkrfihYJlMpLX5YKSk7Zm9yKFtdIT0oZmFsc2UhPW51bGwpOyEoKExeMTgpPj40KTt0cnVlLnRydWUpe2E6e2lmKEkuTyl7Rj1UbChJLlosSSk7YnJlYWsgYX0oWT1rSyh0cnVlLEksOCksWXwxMjgpLX4oWSYxMjgpK34oWXwxMjgpJiYoWT0tMTMwLX4oWXwxMjgpLShZfC0xMjkpLGY9a0sodHJ1ZSxJLDIpLFk9KFk8PDIpKyhmfDApKSxGPVl9aWYodHJ1ZSE9W10pYnJlYWt9KCgoTCY1NCk9PUwmJihGPXk9ZnVuY3Rpb24oKXt7dmFyIEc9ODA7d2hpbGUoRyE9OClpZihHPT0wKUc9Zj09WT85ODo0ODtlbHNlIGlmKEc9PTQ0KXt2YXIgQT1YZih0cnVlLDUsKGUoRCw5NCxwKSwwKSxwLGZhbHNlLGZhbHNlKTtHPTI0fWVsc2UgaWYoRz09OTgpe3ZhciBRPSFwLlQubGVuZ3RoJiYhcC5OO0c9KChlKEQsODYscCksUSkmJlhmKHRydWUsNiwwLHAsZmFsc2UsZmFsc2UpLDI0KX1lbHNlIGlmKEc9PTgwKUc9cC5VPT1wPzI5Ojg7ZWxzZSBpZihHPT0xMil2YXIgRD1bKEc9NCxNZiksdSxyLHZvaWQgMCxYLGMsYXJndW1lbnRzXTtlbHNlIGlmKEc9PTQ4KUE9QlMoMSwyOTcscCxEKSxHPTI0O2Vsc2UgaWYoRz09MjkpRz1wLlM/MTI6NTtlbHNlIGlmKEc9PTUpWCYmYyYmWC5yZW1vdmVFdmVudExpc3RlbmVyKGMseSxIUyksRz04O2Vsc2UgaWYoRz09NClHPWY9PUk/NDQ6MDtlbHNlIGlmKEc9PTI0KXJldHVybiBBfX0pLEwpJjI5KT09TCYmKFM9VmMscj1bLTY5LDQsOTcsMjIsLTEwLDgyLHIsODgsLTczLC02Ml0sdT0ocHw3KS1+KHAmNykrLTgtKHAmLTgpLGM9cEVbWS5CXShZLnhJKSxjW1kuQl09ZnVuY3Rpb24oRyl7WD1HLHUrPTYrNypwLHUmPTd9LGMuY29uY2F0PWZ1bmN0aW9uKEcsQSxRLEQsVyxiKXtyZXR1cm4oKFg9KFE9MTgyMCpYLShEPWYlMTYrMSxJKmYpKmYqWCtyW2I9dSs2NywoYnwwKSsofmJeNyktKGJ8LTgpXSpmKkQrKFMoKXwwKSpEKzUqZipmKkQtMjA4KmYqWC1EKlgrNTIqWCpYK3Usdm9pZCAwKSxXPXJbUV0scilbQT11KzI5JjcsRz1wJjIsLTEtMip+KEF8RykrKH5BXkcpXT1XLHIpW3UrKC1+KHB8MiktKHAmLTMpKyhwfC0zKSldPTQsV30sRj1jKTt3aGlsZSh0cnVlKXtyZXR1cm4gRjtpZighIiI9PSFmYWxzZSlicmVha319LGdQPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7e0c9NzQ7d2hpbGUoRyE9NylpZihHPT0yMSlBKFMpLEc9OTU7ZWxzZSBpZihHPT02MilHPShMLTN8NzUpPEwmJihMKzleNik+PUw/NTU6NTM7ZWxzZXtpZihHPT04NylyZXR1cm4gRjtpZihHPT02OSlHPSFteigwLCJvYmplY3QiLHIsMyxmLFMpfHxTMChTLEksMzMpJiZTLm5vZGVUeXBlPlk/MjE6NTA7ZWxzZSBpZihHPT02MClHPTc4O2Vsc2UgaWYoRz09NzQpRz02MjtlbHNlIGlmKEc9PTc4KUc9eTxwLmxlbmd0aD82NDo1MztlbHNlIGlmKEc9PTYzKUc9KExeNzYpJjEzPzEyOjI3O2Vsc2UgaWYoRz09NjQpUz1wW3ldLEc9Njk7ZWxzZSBpZihHPT01NylGPVFjKEksMjAsSSksRz04NztlbHNlIGlmKEc9PTU1KUE9ZnVuY3Rpb24oUSl7USYmdS5hcHBlbmRDaGlsZCh0eXBlb2YgUT09PSJzdHJpbmciP1guY3JlYXRlVGV4dE5vZGUoUSk6USl9LHk9MSxHPTYwO2Vsc2UgaWYoRz09NjEpRz02NjtlbHNlIGlmKEc9PTk1KXkrKyxHPTc4O2Vsc2UgaWYoRz09NTMpRz0oTC04fDQyKTxMJiZMLTk8PDE+PUw/MzY6NjM7ZWxzZSBpZihHPT04OClYPXIubGVuZ3RoLHA9dHlwZW9mIHI9PT0ic3RyaW5nIj9yLnNwbGl0KFkpOnIsdT1JLEc9NjE7ZWxzZSBpZihHPT0yNyl7Zm9yKHAgaW4gcj1JLGYuSil7Zm9yKHU9KFg9Zi5KW3BdLEkpO3U8WC5sZW5ndGg7dSsrKSsrcixaKDc0LFksWFt1XSk7ZGVsZXRlIGYuSltmLmc1LS0scF19Rz0xMn1lbHNlIGlmKEc9PTY2KUc9dTxYPzkxOjE1O2Vsc2UgaWYoRz09MzYpWS5JOShmdW5jdGlvbihRKXtyPVF9LEksZiksRj1yLEc9NjM7ZWxzZSBpZihHPT05MSl1IGluIHAmJmYuY2FsbCh2b2lkIDAscFt1XSx1LHIpLEc9ODQ7ZWxzZSBpZihHPT04NCl1KyssRz02NjtlbHNlIGlmKEc9PTEyKUc9KEx8NTYpPT1MPzg4OjE1O2Vsc2UgaWYoRz09MTUpRz0oTC04XjkpPEwmJihMKzgmMjUpPj1MPzU3Ojg3O2Vsc2UgaWYoRz09NTApe2E6e2lmKFMmJnR5cGVvZiBTLmxlbmd0aD09Zil7aWYoUzAoUyxJLDM0KSl7Yz10eXBlb2YgUy5pdGVtPT0iZnVuY3Rpb24ifHx0eXBlb2YgUy5pdGVtPT0ic3RyaW5nIjticmVhayBhfWlmKHR5cGVvZiBTPT09ImZ1bmN0aW9uIil7Yz10eXBlb2YgUy5pdGVtPT0iZnVuY3Rpb24iO2JyZWFrIGF9fWM9ZmFsc2V9Z1AoWSw1NiwiIixBLGM/eEsoMywxMSxTLFkpOlMpLEc9OTV9fX19LGlCPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCl7e3U9Nzc7d2hpbGUodSE9ODYpaWYodT09NzcpdT0xO2Vsc2UgaWYodT09MzgpcC5jbGFzc0xpc3Q/cC5jbGFzc0xpc3QucmVtb3ZlKHIpOksoMTEsWSxwLGYscikmJlJhKDQ1LDI0LGYsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGFhKDQ0LGYscCksZnVuY3Rpb24oYyl7cmV0dXJuIGMhPXJ9KS5qb2luKEwpLHApLHU9MjA7ZWxzZXtpZih1PT01OClyZXR1cm4gWDt1PT03Mj91PUkrOT4+Mz09Mz83ODoyMTp1PT0yMT91PUkrNj4+ND8zMjo0MTp1PT0yMD91PShJLTZ8NDApPj1JJiYoSS02fDUyKTxJPzY5OjU4OnU9PTY5PyhMLnZxPXZvaWQgMCxMLmVvPWZ1bmN0aW9uKCl7cmV0dXJuIEwudnE/TC52cTpMLnZxPW5ldyBMfSx1PTU4KTp1PT0yMj8oWD13UCgwLDksODE5MixudWxsLGZhbHNlLEwpLHU9NzIpOnU9PTc4PyhYPUFDKDM5LDUsMixZLGYpJiZaKDMzLDAsWSxmKSE9ciYmKCEocD1mLkxpLChwfFkpLX5wK35ZLTIqKHAmflkpKXx8Zi5kaXNwYXRjaEV2ZW50KGUoNjQsMzQsMSwzMixMLHIsWSkpKSYmIWYuWSx1PTIxKTp1PT0xP3U9KChJXjM3KSYxMyk9PTE/MjI6NzI6dT09MzI/dT1JLTg+PjQ9PTQ/Mzg6MjA6dT09NDEmJihYPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChMLE5mKSYmTFtOZl18fChMW05mXT0rK3ZTKSx1PTMyKX19fSxWPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcpe3tHPTI4O3doaWxlKEchPTM4KWlmKEc9PTUpcisrLEc9NDA7ZWxzZSBpZihHPT0zOSl7YTp7aWYoKCgoZi5pKz0oYz0oUz0ocnx8Zi5aYysrLGYuT0E+MCkmJmYuTiYmZi5BbCYmZi5ocjw9MSYmIWYuTyYmIWYuSyYmKCFyfHxmLldpLXA+MSkmJmRvY3VtZW50LmhpZGRlbj09MCwoeT1mLlpjPT00KXx8Uz9mLnUoKTpmLnhhKSx1PWMtZi54YSx1Pj4xNCk+MCxmLkMpJiYoZi5DXj0oZi5pKzE+PjIpKih1PDwyKSksZikuVT1mLmkrMT4+MiE9MHx8Zi5VLHkpfHxTKWYueGE9YyxmLlpjPTA7aWYoIVMpe0Y9ZmFsc2U7YnJlYWsgYX1pZihjLShmLk9BPmYuRGMmJihmLkRjPWYuT0EpLGYpLmQ1PGYuT0EtKFk/MjU1OnI/NToyKSl7Rj1mYWxzZTticmVhayBhfUY9KChNKChYPWsoZiwoZi5XaT1wLHI/MjcyOjUwOSkpLEwpLGYsZi5QKSxmLlQpLnB1c2goW1V3LFgscj9wKzE6cCxmLm8sZi5JXSksZi5LPUNFLHRydWUpfUc9NTB9ZWxzZSBpZihHPT02MClHPTgwO2Vsc2UgaWYoRz09MjIpRz0oSSs1JjE1KT09MT80NzoyMztlbHNlIGlmKEc9PTMpRj11LEc9MjI7ZWxzZSBpZihHPT05NylHPTU0O2Vsc2V7aWYoRz09NTApcmV0dXJuIEY7Rz09NTQ/Rz1JKzYmMTU/NTA6Mzk6Rz09ODc/KGYrPVkscD1wPDxZfExbcl0sRz02MCk6Rz09NzI/Rz1JKzEmNz8yMjo0NDpHPT02MT9HPTQwOkc9PTQwP0c9cjxMLmxlbmd0aD84NzozOkc9PTIzP0c9KChJXjc0KSY3KT09Mj85Nzo1NDpHPT0xNj9HPTgwOkc9PTQ0PyhyPWY9MCx1PVtdLEc9NjEpOkc9PTk4PyhmLT04LHUucHVzaChwPj5mJjI1NSksRz0xNik6Rz09ODA/Rz1mPjc/OTg6NTpHPT0yOD9HPTcyOkc9PTQ3JiYoTShmLFksTCksTFtkUF09Mjc5NixHPTIzKX19fSxtej1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTKXt7Yz05Nzt3aGlsZShjIT02MylpZihjPT0xMCljPShmPDwyJjcpPj0xJiZmLTk+PjU8MT81MTozNjtlbHNle2lmKGM9PTkyKXJldHVybiBTO2M9PTUxPyhYPXR5cGVvZiBwLHU9WCE9TD9YOnA/QXJyYXkuaXNBcnJheShwKT8iYXJyYXkiOlg6Im51bGwiLFM9dT09WXx8dT09TCYmdHlwZW9mIHAubGVuZ3RoPT1yLGM9MzYpOmM9PTIzP2M9KGYtOF4zKTxmJiYoZi00XjEwKT49Zj8xNTo5MjpjPT0zNj9jPWYtOT4+NDwzJiYoZj4+MSY3KT49ND81ODoyMzpjPT0xNT8oTC5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChZLGZ1bmN0aW9uKHkpe2lCKDcyLCIgIixJLCJzdHJpbmciLHksTCl9KTpSYSg0NSwyNywic3RyaW5nIixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYWEoNDIsInN0cmluZyIsTCksZnVuY3Rpb24oeSl7cmV0dXJuIShTMChZLEksMjQseSk+PUkpfSkuam9pbigiICIpLEwpLGM9OTIpOmM9PTU4PyhyPVksdEM9PT12b2lkIDAmJih0Qz1MKSx1PShwPXRDKT9wLmNyZWF0ZVNjcmlwdFVSTChyKTpyLFM9bmV3IFo0KHUpLGM9MjMpOmM9PTk3JiYoYz0xMCl9fX0seEs9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe3tGPTMzO3doaWxlKEYhPTI1KWlmKEY9PTU3KUY9MTU7ZWxzZSBpZihGPT04MilGPShMLTFeMjkpPj1MJiYoTC1JXjEyKTxMPzE4OjE0O2Vsc2UgaWYoRj09MTUpRj1TPHAubGVuZ3RoPzY3OjY7ZWxzZSBpZihGPT0yNilvYSgxLDUsZixZLHUsWCxwLHIsYyksRj02O2Vsc2UgaWYoRj09MzMpRj04MjtlbHNlIGlmKEY9PTY3KXhLKDMsNSxudWxsLHRydWUscixwW1NdLHUsWCxjKSxGPTc4O2Vsc2UgaWYoRj09ODQpUz0wLEY9NTc7ZWxzZSBpZihGPT0xOCl7YTp7aWYoKHU9WS5sZW5ndGgsdSk+Zil7Zm9yKHA9KHI9QXJyYXkodSksZik7cDx1O3ArKylyW3BdPVlbcF07eT1yO2JyZWFrIGF9eT1bXX1GPTE0fWVsc2UgaWYoRj09MTApRj1YJiZYLm9uY2U/MjY6NDU7ZWxzZSBpZihGPT00MSljPXljKDk5LDMzLGMpLHImJnJbYkJdP3IuZy5hZGQoU3RyaW5nKHApLGMsZmFsc2UsUzAoWCxZLDM2KT8hIVguY2FwdHVyZTohIVgsdSk6ZShudWxsLDUsZmFsc2UsYyxyLFgscCx1LGZhbHNlKSxGPTY7ZWxzZXtpZihGPT02KXJldHVybiB5O0Y9PTQ1P0Y9QXJyYXkuaXNBcnJheShwKT84NDo0MTpGPT03OD8oUysrLEY9MTUpOkY9PTE0JiYoRj1MPj4yJjY/NjoxMCl9fX0sWGY9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe2Zvcih5PTI3O3khPTc7KWlmKHk9PTI3KXk9ODk7ZWxzZSBpZih5PT0zOClGPU1hdGguZmxvb3IodGhpcy51KCkpLHk9NjY7ZWxzZSBpZih5PT04OSl5PUwrOD4+Mz09MT80Mzo0OTtlbHNle2lmKHk9PTY2KXJldHVybiBGO2lmKHk9PTQ5KXk9KExeMzEpPj40PzY2OjM4O2Vsc2UgaWYoeT09NDMpe2E6aWYoZi5ULmxlbmd0aCl7Zi5OPShmLk4mJiI6VFFSOlRRUjoiKCksSSksZi5BbD1yO3RyeXtTPWYudSgpLGYuRGM9WSxmLnhhPVMsZi5kNT1TLGYuWmM9WSxjPVFjKEksMjUsbnVsbCwwLDI5NyxmLHIpLFg9cD8wOjEwLHU9Zi51KCktZi5kNSxmLnNBKz11LGYubTcmJmYubTcodS1mLmwsZi5vLGYuSSxmLkRjKSxmLm89ZmFsc2UsZi5sPVksZi5JPWZhbHNlLHU8WHx8Zi5ZYS0tPD1ZfHwodT1NYXRoLmZsb29yKHUpLGYuVmUucHVzaCh1PD0yNTQ/dToyNTQpKX1maW5hbGx5e2YuTj1mYWxzZX1GPWM7YnJlYWsgYX15PTQ5fX19LEFDPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSl7e1M9MjY7d2hpbGUoUyE9NTIpaWYoUz09ODcpWD1yLnByb3h5LHA9ci50eXBlLHUucmVtb3ZlRXZlbnRMaXN0ZW5lcj91LnJlbW92ZUV2ZW50TGlzdGVuZXIocCxYLHIuY2FwdHVyZSk6dS5kZXRhY2hFdmVudD91LmRldGFjaEV2ZW50KFMwKHAsIm9uIiwzKSxYKTp1LmFkZExpc3RlbmVyJiZ1LnJlbW92ZUxpc3RlbmVyJiZ1LnJlbW92ZUxpc3RlbmVyKFgpLGhDLS0sYz1RYyh1LDgpLFM9STtlbHNlIGlmKFM9PTU1KVM9dSYmdVtiQl0/ODU6ODc7ZWxzZSBpZihTPT0xNil1PXIuc3JjLFM9NTU7ZWxzZSBpZihTPT0yNilTPTg2O2Vsc2UgaWYoUz09NjYpUz1jLmc1PT0wPzg0OjIxO2Vsc2UgaWYoUz09SSlTPWM/NjI6NDg7ZWxzZXtpZihTPT0yMSlyZXR1cm4geTtTPT04NT8oSyg2MCxyLHUuZyxZKSxTPTIxKTpTPT00OD8oWig1OCxZLHIpLFM9MjEpOlM9PTYzP1M9KChMXjUwKSYxMik+PTEmJihMLTgmMTIpPDg/Mjg6OTU6Uz09NjI/KEsoNTYscixjLFkpLFM9NjYpOlM9PTk1P1M9KEwtOHwzNCk8TCYmTC04PDwxPj1MPzU2OjIxOlM9PTg0PyhjLnNyYz1mLHVbRXddPWYsUz0yMSk6Uz09ODY/Uz0oTHw4KT4+ND82MzoyOlM9PTU2P1M9dHlwZW9mIHIhPT0ibnVtYmVyIiYmciYmIXIudWQ/MTY6MjE6Uz09Mj8oeT0hIShwPXIuUmwsLX4ocHxmKS0ofnBeZiktWSoofnAmZikrWSoofnB8ZikpLFM9NjMpOlM9PTI4JiYocj1ZLHk9ZnVuY3Rpb24oKXtyZXR1cm4gcjxmLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpmW3IrK119Ontkb25lOnRydWV9fSxTPTk1KX19fSxRYz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRixHLEEpe0Y9Nzk7e0c9NzM7d2hpbGUoe30pdHJ5e2lmKEY9PTk5KWJyZWFrO2Vsc2UgaWYoRj09MjUpWT1JW0V3XSxBPVkgaW5zdGFuY2VvZiBLRT9ZOm51bGwsRj05NjtlbHNle2lmKEY9PTQ0KXJldHVybiBBO0Y9PTQ5PyhHPTczLEsoNDgscCx5LGYpLEY9NjkpOkY9PTU2PyhBPVgsRj0yOSk6Rj09MD9GPXAuVC5sZW5ndGg/OTU6NTY6Rj09ND9GPTA6Rj09OTU/KHAuSz1ZLGM9cC5ULnBvcCgpLEY9NSk6Rj09ODU/KFM9cC5LLFMoZnVuY3Rpb24oKXtYZih0cnVlLDYsZixwLEksSSl9KSxGPTU2KTpGPT02OT8oRz03MyxGPTQwKTpGPT0yMj9GPTA6Rj09NTE/KEkucmF3PVksT2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoSSksT2JqZWN0LmZyZWV6ZShZKSksQT1JLEY9NDQpOkY9PTI5P0Y9KEwtOCYxMSk+PTgmJihMfDIpPDI3PzUxOjQ0OkY9PTQwP0Y9dSYmcC5LPzg1OjQ6Rj09NDE/Rj1MLTQ+PjQ/OTY6MjU6Rj09NT8oRz00MSxYPUJTKDEscixwLGMpLEY9NjkpOkY9PTc5P0Y9NDE6Rj09OTYmJihGPShMKzEmNDMpPEwmJihMKzcmNDUpPj1MPzIyOjI5KX19Y2F0Y2goUSl7aWYoRz09NzMpdGhyb3cgUTtHPT00MSYmKHk9USxGPTQ5KX19fSxmTz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7e0Y9NTU7d2hpbGUoRiE9ODcpaWYoRj09MjcpcC5zZXRBdHRyaWJ1dGUoUyx1KSxGPTM3O2Vsc2UgaWYoRj09NTUpRj0zNjtlbHNlIGlmKEY9PTI0KUY9dT09PSIifHx1PT12b2lkIDA/NDA6Mjc7ZWxzZSBpZihGPT0zNilGPShMKzZeMTYpPEwmJihMLTh8MjMpPj1MPzY2OjM3O2Vsc2UgaWYoRj09NDApRj1MTz8zMDo0NztlbHNlIGlmKEY9PTQ3KVg9e30sTE89KFguYXRvbWljPWYsWC5hdXRvY29tcGxldGU9Im5vbmUiLFguZHJvcGVmZmVjdD0ibm9uZSIsWC5oYXNwb3B1cD1mLFgubGl2ZT0ib2ZmIixYLm11bHRpbGluZT1mLFgubXVsdGlzZWxlY3RhYmxlPWYsWC5vcmllbnRhdGlvbj0idmVydGljYWwiLFgucmVhZG9ubHk9ZixYLnJlbGV2YW50PSJhZGRpdGlvbnMgdGV4dCIsWC5yZXF1aXJlZD1mLFguc29ydD0ibm9uZSIsWC5idXN5PWYsWC5kaXNhYmxlZD1mLFhbWV09ZixYLmludmFsaWQ9ImZhbHNlIixYKSxGPTMwO2Vsc2UgaWYoRj09OTMpRj0oTDw8MSYxNSk9PTI/NTg6MTQ7ZWxzZSBpZihGPT02MilGPTkzO2Vsc2UgaWYoRj09MzApYz1MTyxyIGluIGM/cC5zZXRBdHRyaWJ1dGUoUyxjW3JdKTpwLnJlbW92ZUF0dHJpYnV0ZShTKSxGPTM3O2Vsc2UgaWYoRj09NjYpQXJyYXkuaXNBcnJheSh1KSYmKHU9dS5qb2luKCIgIikpLFM9ImFyaWEtIityLEY9MjQ7ZWxzZXtpZihGPT0xNClyZXR1cm4geTtpZihGPT01OCl7YTp7aWYoIShyPShmPW51bGwsVS50cnVzdGVkVHlwZXMpLHIpfHwhci5jcmVhdGVQb2xpY3kpe3k9ZjticmVhayBhfXRyeXtmPXIuY3JlYXRlUG9saWN5KEkse2NyZWF0ZUhUTUw6WVYsY3JlYXRlU2NyaXB0OllWLGNyZWF0ZVNjcmlwdFVSTDpZVn0pfWNhdGNoKEcpe2lmKFUuY29uc29sZSlVLmNvbnNvbGVbWV0oRy5tZXNzYWdlKX15PWZ9Rj0xNH1lbHNlIEY9PTM3JiYoRj0oTC03XjEzKTxMJiYoTC0yfDE0KT49TD82Mjo5Myl9fX0sWj1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyl7e2M9NjM7d2hpbGUoYyE9MjIpaWYoYz09OTgpYz0oSSY4MSk9PUk/MjM6ODM7ZWxzZSBpZihjPT0yOSl1PXdQKDAsNDEsODE5MixudWxsLHRydWUsTCksYz0zMztlbHNlIGlmKGM9PTMzKWM9KEktOCYxNSk9PTI/ODY6MDtlbHNlIGlmKGM9PTApYz0oSXw5KTwxNiYmKEk8PDImMTMpPj02PzI0OjQxO2Vsc2UgaWYoYz09ODYpWS51ZD1MLFkubGlzdGVuZXI9bnVsbCxZLnByb3h5PW51bGwsWS5zcmM9bnVsbCxZLkN6PW51bGwsYz0wO2Vsc2UgaWYoYz09ODMpYz0oST4+MSYyMyk9PTI/Mjk6MzM7ZWxzZSBpZihjPT0yMylYPWZ1bmN0aW9uKFMpe3JldHVybiBMLmNhbGwoWC5zcmMsWC5saXN0ZW5lcixTKX0sTD0kVix1PVgsYz04MztlbHNlIGlmKGM9PTYzKWM9OTg7ZWxzZSBpZihjPT00MSljPShJLTZeOCk8SSYmKEkrNyY0Nik+PUk/NTI6Nzk7ZWxzZSBpZihjPT0yNClwPVMwKGYsTCwyNSxZKSwocj1wPj1MKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGYscCwxKSx1PXIsYz00MTtlbHNlIGlmKGM9PTUyKXU9ISEocj1mLldxLChZfEwpLX5yK34ocnxZKSksYz03OTtlbHNlIGlmKGM9PTc5KXJldHVybiB1fX0seWM9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMpe2ZvcihYPTY2O1ghPTkyOylpZihYPT04NSl0aGlzW3RoaXMrIiJdPXRoaXMsWD04MTtlbHNlIGlmKFg9PTIpYz1ZLFg9ODI7ZWxzZXtpZihYPT0yOClyZXR1cm4gYztpZihYPT03OCl0aGlzLmxpc3RlbmVyPXUsdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPVksdGhpcy50eXBlPXIsdGhpcy5jYXB0dXJlPSEhcCx0aGlzLkN6PWYsdGhpcy5rZXk9Kytpbyx0aGlzLnllPXRoaXMudWQ9ZmFsc2UsWD0yODtlbHNlIGlmKFg9PTM2KVg9KEwrMyYxNSk+PTgmJkwtNzwxOT8yOjgyO2Vsc2UgaWYoWD09ODIpWD1MPj4yJjk/MzM6ODtlbHNlIGlmKFg9PTgxKVg9KEwmMTAxKT09TD81NjozNjtlbHNlIGlmKFg9PTY2KVg9NTg7ZWxzZSBpZihYPT01Nil7YTp7aWYodHlwZW9mIFk9PT0iZnVuY3Rpb24iKXtjPVk7YnJlYWsgYX1jPVlbWVtyQ118fChZW3JDXT1mdW5jdGlvbihTKXtyZXR1cm4gWS5oYW5kbGVFdmVudChTKX0pLHJDXX1YPTM2fWVsc2UgaWYoWD09MzIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChmLGZ1bmN0aW9uKFMseSxGKXtmb3IoRj0xO0YhPTQzOylGPT0xP0Y9WS5jbGFzc0xpc3Q/OTpJOkY9PTk/KFkuY2xhc3NMaXN0LmFkZChTKSxGPTQzKTpGPT0zMD8oeT1hYSgzLCJzdHJpbmciLCIiLFkpLFJhKDQ1LDI2LCJzdHJpbmciLHkrKHkubGVuZ3RoPjA/IiAiK1M6UyksWSksRj00Myk6Rj09SSYmKEY9SygxOSwwLFksInN0cmluZyIsUyk/NDM6MzApfSksWD0zMztlbHNlIGlmKFg9PTU4KVg9TC0zPDQwJiZMLTc+PTI5Pzg1OjgxO2Vsc2UgaWYoWD09OClYPVkuY2xhc3NMaXN0PzMyOjk3O2Vsc2UgaWYoWD09OTcpe2ZvcihyIGluIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoKHA9e30sYWEoNDAsInN0cmluZyIsWSkpLGZ1bmN0aW9uKFMpe3BbU109dHJ1ZX0pLEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZixmdW5jdGlvbihTKXtwW1NdPXRydWV9KSx1PSIiLHApdSs9dS5sZW5ndGg+MD8iICIrcjpyO1g9KFJhKDQ1LDI1LCJzdHJpbmciLHUsWSksMzMpfWVsc2UgWD09MzMmJihYPShMXjU1KT4+ND8yODo3OCl9fSxLPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7Zm9yKEE9NDc7QSE9NTA7KWlmKEE9PTQpWT10cnVlLEE9NDE7ZWxzZSBpZihBPT0zKUE9KChJXjgwKSY3KT09Mz8zMDo2MTtlbHNlIGlmKEE9PTMwKUE9WS5jbGFzc0xpc3Q/MTQ6OTg7ZWxzZSBpZihBPT02MSlBPShJLTcmMTUpPT0yPzg4OjM0O2Vsc2UgaWYoQT09NDEpRz1ZLEE9MzQ7ZWxzZSBpZihBPT0zOClBPVkuSltyXS5sZW5ndGg9PTA/NDI6NjY7ZWxzZSBpZihBPT0xNSlBPShJJjM5KT09ST81NDozO2Vsc2UgaWYoQT09ODgpQT1mLnVkPzQ6NTg7ZWxzZXtpZihBPT0zNClyZXR1cm4gRztpZihBPT0xNClwPVkuY2xhc3NMaXN0LmNvbnRhaW5zKHIpLEE9NzU7ZWxzZSBpZihBPT03NSlHPXAsQT02MTtlbHNlIGlmKEE9PTU0KXthOntpZihYPXIuZy5KW1N0cmluZyhMKV0sIVgpe0c9ZjticmVhayBhfWZvcihTPShYPVguY29uY2F0KCksdT0wLGYpO3U8WC5sZW5ndGg7Kyt1KShGPVhbdV0pJiYhRi51ZCYmRi5jYXB0dXJlPT1wJiYoYz1GLmxpc3RlbmVyLHk9Ri5Denx8Ri5zcmMsRi55ZSYmSyg1OCxGLHIuZyxmKSxTPWMuY2FsbCh5LFkpIT09ZmFsc2UmJlMpO0c9UyYmIVkuZGVmYXVsdFByZXZlbnRlZH1BPTN9ZWxzZSBBPT01OD8ocD1uZXcgT3coTCx0aGlzKSx1PWYubGlzdGVuZXIscj1mLkN6fHxmLnNyYyxmLnllJiZBQygzOSw0OSx0cnVlLG51bGwsZiksWT11LmNhbGwocixwKSxBPTQxKTpBPT00Nj8oWig0MixmLEwpLEE9MzgpOkE9PTgyP0E9ciBpbiBZLkomJlooNiwwLEwsWS5KW3JdKT80Njo2NjpBPT05OD8odT1hYSg0MyxmLFkpLHA9UzAodSxMLDI2LHIpPj1MLEE9NzUpOkE9PTQyPyhkZWxldGUgWS5KW3JdLFkuZzUtLSxBPTY2KTpBPT04Nz8oTC5XPSgoTC5XP0wuVysifiI6IkU6IikrWS5tZXNzYWdlKyI6IitZLnN0YWNrKS5zbGljZShmLDIwNDgpLEE9MTUpOkE9PTY2P0E9KEkmMTE2KT09ST84NzoxNTpBPT00Nz9BPTg1OkE9PTg1P0E9KEktOHw0Myk+PUkmJihJLTd8NTIpPEk/NTk6NjY6QT09NTkmJihyPUwudHlwZSxBPTgyKX19LEZmPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7e0c9ODI7d2hpbGUoRyE9NSlpZihHPT05OClHPShyJjEyMSk9PXI/MTY6Mzc7ZWxzZSBpZihHPT0yKUZmKDAsTCxZW3ldLGYsMjYsbnVsbCx1LFgpLEc9MTQ7ZWxzZSBpZihHPT04MClGPVMwKFgscCwzMik/ISFYLmNhcHR1cmU6ISFYLEw9eWMoOTksMzIsTCksRz0xNTtlbHNlIGlmKEc9PTE5KUc9NDk7ZWxzZSBpZihHPT0zMSljKz1JLmNoYXJDb2RlQXQoTCksYys9Yzw8MTAsY149Yz4+NixHPTMyO2Vsc2V7aWYoRz09MzcpcmV0dXJuIEE7Rz09NDk/Rz15PFkubGVuZ3RoPzI6OTg6Rz09MTQ/KHkrKyxHPTQ5KTpHPT01OT8oKGM9Uy5sZChGLFksdSxMKSkmJkFDKDM5LDQ4LHRydWUsbnVsbCxjKSxHPTk4KTpHPT0zMj8oTCsrLEc9NzcpOkc9PTg3Pyh5PUksRz0xOSk6Rz09NDA/KFM9UWMoZiw5KSxHPTIyKTpHPT0xNT9HPWYmJmZbYkJdPzk0OjY5Okc9PTMzPyhjKz1jPDwzLGNePWM+PjExLGY9YysoYzw8MTUpPj4+MCx1PW5ldyBOdW1iZXIoKFg9KDE8PHApLTEsLTEtfmYtKGZeWCkrKH5mJlgpKSksdVswXT0oZj4+PnApJVksQT11LEc9MzcpOkc9PTE2PyhMPWM9MCxHPTQxKTpHPT03Nz9HPUw8SS5sZW5ndGg/MzE6MzM6Rz09ODI/Rz03ODpHPT02OT9HPWY/NDA6OTg6Rz09OTQ/KGYuZy5yZW1vdmUoU3RyaW5nKFkpLEwsRix1KSxHPTk4KTpHPT03OD9HPShyKzZeMTkpPj1yJiYoci00XjMwKTxyPzI0Ojk4Okc9PTI0P0c9QXJyYXkuaXNBcnJheShZKT84Nzo4MDpHPT0yMj9HPVM/NTk6OTg6Rz09NDEmJihHPTc3KX19fSx3UD1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7e0Y9NTA7d2hpbGUoRiE9MzgpaWYoRj09MzApeT1NYXRoLmZsb29yKHRoaXMuc0ErKHRoaXMudSgpLXRoaXMuZDUpKSxGPTU0O2Vsc2V7aWYoRj09NzYpcmV0dXJuIHk7aWYoRj09NDgpe2E6aWYoYz13aW5kb3cuYnRvYSl7Zm9yKHU9SSxYPSIiO3U8cC5sZW5ndGg7dSs9WSlYKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KGYscC5zbGljZSh1LHUrWSkpO3k9KFM9YyhYKSxyJiYoUz1TLnJlcGxhY2UoL1xcKy9nLCItIikucmVwbGFjZSgvXFwvL2csIl8iKS5yZXBsYWNlKC89L2csIiIpKSxTKTticmVhayBhfUY9NzJ9ZWxzZSBGPT00Mj8odGhpc1t0aGlzKyIiXT10aGlzLHk9UHJvbWlzZS5yZXNvbHZlKCksRj0yNyk6Rj09NDk/KHRoaXMuc3JjPVksdGhpcy5KPXt9LHRoaXMuZzU9SSxGPTM3KTpGPT01OD9GPShMJjEwNSk9PUw/NDg6NzI6Rj09NzI/Rj0oTCYxMjIpPT1MPzMwOjU0OkY9PTUwP0Y9NTg6Rj09NTk/KHk9cEVbWV0ocEUucHJvdG90eXBlLHtwYXJlbnQ6ZixjYWxsOmYsbGVuZ3RoOmYscHJvcGVydHlJc0VudW1lcmFibGU6ZixyZXBsYWNlOmYsY29uc29sZTpmLHN0YWNrOmYsZG9jdW1lbnQ6ZixzcGxpY2U6Zixwcm90b3R5cGU6ZixmbG9vcjpmLHBvcDpmfSksRj03Nik6Rj09NTQ/Rj0oTCY5Mik9PUw/NDk6Mzc6Rj09Mzc/Rj1MLTM+PTI1JiZMLTM8Mzc/NDI6Mjc6Rj09MjcmJihGPShMXjMzKT4+Mz09Mz81OTo3Nil9fX0sUzA9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSl7Zm9yKHA9NTM7cCE9MjspaWYocD09MTIpcD1ZPj4yJjE1PzM1Ojc4O2Vsc2UgaWYocD09OTYpcD0oWV44MCk+PS03OSYmKFktNiYxNik8Mj85NzoxMjtlbHNlIGlmKHA9PTk3KXRoaXMubisrLEk9TC10aGlzLlIsdGhpcy5SKz1JL3RoaXMubix0aGlzLnc1Kz1JKihMLXRoaXMuUikscD0xMjtlbHNlIGlmKHA9PTEpZj10eXBlb2YgSSx1PWY9PSJvYmplY3QiJiZJIT1MfHxmPT0iZnVuY3Rpb24iLHA9NTtlbHNlIGlmKHA9PTcyKXA9KFleMzgpPj4zPzU6MTtlbHNlIGlmKHA9PTUzKXA9NzI7ZWxzZXtpZihwPT0zNSlyZXR1cm4gdTtpZihwPT01KXA9WSs1Pj4xPFkmJihZLTheMTUpPj1ZPzc3Ojk2O2Vsc2UgaWYocD09NzgpdT1JIGluIEkxP0kxW0ldOkkxW0ldPUwrSSxwPTM1O2Vsc2UgaWYocD09Nzcpe2E6e2lmKHR5cGVvZiBJPT09InN0cmluZyIpe3U9dHlwZW9mIGYhPT0ic3RyaW5nInx8Zi5sZW5ndGghPTE/LTE6SS5pbmRleE9mKGYsTCk7YnJlYWsgYX1mb3Iocj1MO3I8SS5sZW5ndGg7cisrKWlmKHIgaW4gSSYmSVtyXT09PWYpe3U9cjticmVhayBhfXU9LTF9cD05Nn19fSxQUz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHkpe3t5PTQwO3doaWxlKHkhPTQ4KWlmKHk9PTQwKXk9NzU7ZWxzZSBpZih5PT00Myl7YTp7Zm9yKGM9WTtjPHUubGVuZ3RoOysrYylpZihYPXVbY10sIVgudWQmJlgubGlzdGVuZXI9PXImJlguY2FwdHVyZT09ISFmJiZYLkN6PT1wKXtTPWM7YnJlYWsgYX1TPS0xfXk9MjF9ZWxzZSBpZih5PT04Myl5PShMKzYmNjIpPj1MJiZMLTg8PDI8TD84Njo5NDtlbHNlIGlmKHk9PTg2KXk9WT8yOTo1MjtlbHNlIGlmKHk9PTk0KXk9KEwtMSYxMSk9PTI/OTY6Njk7ZWxzZXtpZih5PT00Nil0aHJvdyBFcnJvcigiSW52YWxpZCBkZWNvcmF0b3IgZnVuY3Rpb24gIitmKTtpZih5PT05Nil0aGlzLlk9dGhpcy5ZLHRoaXMuTmg9dGhpcy5OaCx5PTY5O2Vsc2UgaWYoeT09NzUpeT0oTD4+MiYxNSk9PTM/MTA6ODM7ZWxzZSBpZih5PT0yOSl5PXR5cGVvZiBmIT09ImZ1bmN0aW9uIj80Njo5NDtlbHNle2lmKHk9PTIxKXJldHVybiBTO2lmKHk9PTY5KXk9KEx8SSk9PUw/NDM6MjE7ZWxzZXtpZih5PT01Mil0aHJvdyBFcnJvcigiSW52YWxpZCBjbGFzcyBuYW1lICIrWSk7eT09MTAmJih0aGlzLkFyPVUuZG9jdW1lbnR8fGRvY3VtZW50LHk9ODMpfX19fX0sUmE9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSl7e3A9ODE7d2hpbGUocCE9SSlpZihwPT02MilwPShMfDI0KT09TD82Njo5MjtlbHNlIGlmKHA9PTYpSkMuY2FsbCh0aGlzKSx0aGlzLmc9bmV3IEtFKHRoaXMpLHRoaXMuQmk9dGhpcyx0aGlzLmE5PW51bGwscD02MjtlbHNlIGlmKHA9PTgxKXA9NDM7ZWxzZXtpZihwPT05MilyZXR1cm4gdTtwPT00Mz9wPUwtMT4+ND82Mjo2OnA9PTY2JiYodHlwZW9mIHIuY2xhc3NOYW1lPT1ZP3IuY2xhc3NOYW1lPWY6ci5zZXRBdHRyaWJ1dGUmJnIuc2V0QXR0cmlidXRlKCJjbGFzcyIsZikscD05Mil9fX0sYWE9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYKXt7dT0wO3doaWxlKHUhPTM4KXtpZih1PT0zNylyZXR1cm4gWDtpZih1PT0wKXU9MjQ7ZWxzZSBpZih1PT00NClYPUwmJkwucGFyZW50Tm9kZT9MLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoTCk6bnVsbCx1PTU2O2Vsc2UgaWYodT09NDcpdT1JKzY+PjM9PTI/NDQ6NTY7ZWxzZSBpZih1PT04OClYPXRoaXMubj09PTA/MDpNYXRoLnNxcnQodGhpcy53NS90aGlzLm4pLHU9NTtlbHNlIGlmKHU9PTcpWD1ZLmNsYXNzTGlzdD9ZLmNsYXNzTGlzdDphYSg1LEwsIiIsWSkubWF0Y2goL1xcUysvZyl8fFtdLHU9NDc7ZWxzZSBpZih1PT01Nil1PUktMSY3PzM3OjY4O2Vsc2UgaWYodT09MTIpdT0oSS0zJjE2KTwxMSYmST4+Mj49MTk/ODg6NTtlbHNlIGlmKHU9PTY4KXthOntmb3IocCBpbiBmKWlmKHIuY2FsbCh2b2lkIDAsZltwXSxwLGYpKXtYPVk7YnJlYWsgYX1YPUx9dT0zN31lbHNlIHU9PTU0PyhYPXR5cGVvZiBmLmNsYXNzTmFtZT09TD9mLmNsYXNzTmFtZTpmLmdldEF0dHJpYnV0ZSYmZi5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fFksdT0xMik6dT09NT91PShJfDQwKT09ST83OjQ3OnU9PTI0JiYodT0oSS03XjI3KTxJJiYoSS0yfDI1KT49ST81NDoxMil9fX0sb2E9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe2ZvcihGPTUyO0YhPTk0Oyl7aWYoRj09MzkpcmV0dXJuIHk7Rj09ND9GPUFycmF5LmlzQXJyYXkodSk/NTc6NzE6Rj09NTI/Rj05MTpGPT04Mj9GPVM8dS5sZW5ndGg/NDM6ODQ6Rj09NTc/KFM9MCxGPTU1KTpGPT05NT8oeT1xZihuRSxZKSxGPTM5KTpGPT01NT9GPTgyOkY9PTcxPyhjPXljKDk5LDY4LGMpLFgmJlhbYkJdP1guZy5hZGQoU3RyaW5nKHUpLGMsWSxTMChwLGYsMzUpPyEhcC5jYXB0dXJlOiEhcCxyKTplKG51bGwsNixmYWxzZSxjLFgscCx1LHIsWSksRj04NCk6Rj09ODQ/Rj0oTF41KT4+NDwyJiZMLTc+PjQ+PTA/OTU6Mzk6Rj09NDM/KG9hKDEsNix0cnVlLG51bGwscixwLHVbU10sWCxjKSxGPTc5KTpGPT05MT9GPSgoTF4zNSkmNyk+PTUmJigoTF4xNykmOCk8ST80Ojg0OkY9PTc5JiYoUysrLEY9ODIpfX0sZT1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRixHLEEsUSl7Zm9yKFE9NDQ7USE9ODY7KXtpZihRPT04NSlyZXR1cm4gQTtpZihRPT02OSlRPXIuYWRkTGlzdGVuZXImJnIucmVtb3ZlTGlzdGVuZXI/MTk6MTtlbHNlIGlmKFE9PTQxKXIuYXR0YWNoRXZlbnQoUzAodS50b1N0cmluZygpLCJvbiIsNjQpLEcpLFE9NzU7ZWxzZSBpZihRPT00NClRPTgwO2Vsc2UgaWYoUT09MzMpUT0oTC03XjE0KT49TCYmTCs4Pj4yPEw/Njc6ODU7ZWxzZSBpZihRPT0zOSlTPVMwKHAsSSwzNyk/ISFwLmNhcHR1cmU6ISFwLCh5PVFjKHIsMTApKXx8KHJbRXddPXk9bmV3IEtFKHIpKSxGPXkuYWRkKHUsZixjLFMsWCksUT0yMDtlbHNlIGlmKFE9PTIzKXRoaXMuWC5wdXNoKEkpLFE9MzM7ZWxzZSBpZihRPT03NSloQysrLFE9MTA7ZWxzZXtpZihRPT02Mil0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoUT09MClRPXU/Mzk6NjI7ZWxzZSBpZihRPT05NSlRPShMPj4xJjE1KT09MT8xMjo3ODtlbHNlIGlmKFE9PTkxKVkuVC5zcGxpY2UoMCwwLEkpLFE9OTU7ZWxzZSBpZihRPT0xNil0aGlzLm4rKyxRPTkyO2Vsc2UgaWYoUT09NjcpQT0hIShwPWYuajUsWSoocnxJKSt+ci0ocF5yKS0ofnB8cikpJiZBQygzOSwzLFkscixmKSxRPTg1O2Vsc2UgaWYoUT09NzYpR2N8fChwPVMpLHA9PT12b2lkIDAmJihwPVkpLHIuYWRkRXZlbnRMaXN0ZW5lcih1LnRvU3RyaW5nKCksRyxwKSxRPTc1O2Vsc2UgaWYoUT09NzgpUT0oTHw5KT4+ND8xMDowO2Vsc2UgaWYoUT09ODApUT0oTHw4MCk9PUw/OTE6OTU7ZWxzZSBpZihRPT00NilRPXIuYXR0YWNoRXZlbnQ/NDE6Njk7ZWxzZSBpZihRPT0xNClZPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLFk8NTAmJih0aGlzLlhbWV09SSksUT0zMztlbHNlIGlmKFE9PTEyKXthOntzd2l0Y2godSl7Y2FzZSBZOkE9cD8iZGlzYWJsZSI6ImVuYWJsZSI7YnJlYWsgYTtjYXNlIDI6QT1wPyJoaWdobGlnaHQiOiJ1bmhpZ2hsaWdodCI7YnJlYWsgYTtjYXNlIDQ6QT1wPyJhY3RpdmF0ZSI6ImRlYWN0aXZhdGUiO2JyZWFrIGE7Y2FzZSByOkE9cD8ic2VsZWN0IjoidW5zZWxlY3QiO2JyZWFrIGE7Y2FzZSAxNjpBPXA/ImNoZWNrIjoidW5jaGVjayI7YnJlYWsgYTtjYXNlIGY6QT1wPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSBJOkE9cD8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31RPTc4fWVsc2UgaWYoUT09MjApUT1GLnByb3h5PzEwOjk5O2Vsc2UgaWYoUT09MTApUT0oKExeODEpJjcpPT0xPzE2OjMzO2Vsc2UgaWYoUT09NjUpUT1yLmFkZEV2ZW50TGlzdGVuZXI/NzY6NDY7ZWxzZSBpZihRPT05MilRPXRoaXMuWC5sZW5ndGg8NTA/MjM6MTQ7ZWxzZXtpZihRPT0xKXRocm93IEVycm9yKCJhZGRFdmVudExpc3RlbmVyIGFuZCBhdHRhY2hFdmVudCBhcmUgdW5hdmFpbGFibGUuIik7UT09MTk/KHIuYWRkTGlzdGVuZXIoRyksUT03NSk6UT09OTkmJihHPVooMTYpLEYucHJveHk9RyxHLnNyYz1yLEcubGlzdGVuZXI9RixRPTY1KX19fX0sUjE9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMpe3tYPTgzO3doaWxlKFghPTM4KWlmKFg9PTg3KVg9KFk8PDEmOCk8MyYmWTw8MT49LTM3PzEwOjE1O2Vsc2UgaWYoWD09MjQpWD0oWXwzKTwzMyYmWSszPj0xNT80Nzo4NztlbHNlIGlmKFg9PTE1KVg9KFk+PjImNyk9PTE/MzA6MTtlbHNlIGlmKFg9PTc0KVg9MTI7ZWxzZSBpZihYPT0xMilYPXA8ci5sZW5ndGg/NTY6ODI7ZWxzZSBpZihYPT0xMClMLnJlbW92ZUF0dHJpYnV0ZSgic3JjZG9jIiksWD03MjtlbHNle2lmKFg9PTEpcmV0dXJuIHU7aWYoWD09ODkpdGhyb3cgbmV3IERxKHR5cGVvZiBJLDEpO2lmKFg9PTU2KUwuc2FuZGJveC5zdXBwb3J0cyYmIUwuc2FuZGJveC5zdXBwb3J0cyhyW3BdKXx8TC5zYW5kYm94LmFkZChyW3BdKSxYPTM0O2Vsc2UgaWYoWD09ODEpcj0iYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctc2NyaXB0cyBhbGxvdy1mb3JtcyBhbGxvdy1wb3B1cHMgYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IGFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiIuc3BsaXQoIiAiKSxMLnNldEF0dHJpYnV0ZSgic2FuZGJveCIsIiIpLHA9MCxYPTc0O2Vsc2UgaWYoWD09NDcpYm8uY2FsbCh0aGlzLEw/TC50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5Tbz1udWxsLEwmJnRoaXMuaW5pdChMLEkpLFg9ODc7ZWxzZSBpZihYPT04Mil7aWYoSSBpbnN0YW5jZW9mIFo0KWY9SS5IaTtlbHNlIHRocm93IEVycm9yKCIiKTtYPShMLnNyYz1mLnRvU3RyaW5nKCksMTUpfWVsc2UgWD09MzA/KGM9ZnVuY3Rpb24oKXt9LGMucHJvdG90eXBlPWYucHJvdG90eXBlLEkuRj1mLnByb3RvdHlwZSxJLnByb3RvdHlwZT1uZXcgYyxJLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1JLEkueWk9ZnVuY3Rpb24oUyx5LEYpe2Zvcih2YXIgRz02MTtHIT03OTspaWYoRz09NjkpRz1RPGFyZ3VtZW50cy5sZW5ndGg/NDA6MTM7ZWxzZSBpZihHPT05OSlRKyssRz02OTtlbHNlIGlmKEc9PTQwKUFbUS1MXT1hcmd1bWVudHNbUV0sRz05OTtlbHNle2lmKEc9PTEzKXJldHVybiBmLnByb3RvdHlwZVt5XS5hcHBseShTLEEpO2lmKEc9PTYxKXZhciBBPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtKEc9NDksTCkpLFE9TDtlbHNlIEc9PTQ5JiYoRz02OSl9fSxYPTEpOlg9PTcyP1g9SSBpbnN0YW5jZW9mIFo0PzgxOjg5Olg9PTM0PyhwKyssWD0xMik6WD09ODMmJihYPTI0KX19fSxXaz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHkpe2ZvcihjPTM5O2MhPTg0OylpZihjPT05MilZLkhxJiZZLkhxLmZvckVhY2goZix2b2lkIDApLGM9MjtlbHNle2lmKGM9PTg5KXJldHVybiBTO2lmKGM9PTE3KXk9ZnVuY3Rpb24oKXt9LHI9dm9pZCAwLHA9UVMoWSxmdW5jdGlvbihGLEcpe2ZvcihHPTU2O0chPTkwOylHPT0xNj8oZiYmQ0UoZikscj1GLHkoKSx5PXZvaWQgMCxHPTkwKTpHPT01NiYmKEc9eT8xNjo5MCl9LCEhZiksdT1wWzFdLFg9cFswXSxTPXtob3Q6ZnVuY3Rpb24oRixHLEEsUSxELFcsYil7Zm9yKFc9MTM7VyE9MTU7KWlmKFc9PTIyKWIoKSxXPTE1O2Vsc2UgaWYoVz09OTIpVz1HPzEwOjcwO2Vsc2UgaWYoVz09MTApVz1yPzIyOjE2O2Vsc2V7aWYoVz09NzApcmV0dXJuIEQ9WChBKSxGJiZGKEQpLEQ7Vz09MTM/KGI9ZnVuY3Rpb24oKXtyKGZ1bmN0aW9uKGEpe0NFKGZ1bmN0aW9uKCl7RihhKX0pfSxBKX0sVz05Mik6Vz09MTYmJihRPXkseT1mdW5jdGlvbigpeyhRKCksQ0UpKGIpfSxXPTE1KX19LHBlOmZ1bmN0aW9uKEYpe3UmJnUoRil9fSxjPTg5O2Vsc2UgaWYoYz09SSl7YTp7aWYodGhpcy5uPT09MCl7Uz1bMCwwXTticmVhayBhfVM9Wyh0aGlzLlguc29ydChmdW5jdGlvbihGLEcpe3JldHVybiBGLUd9KSx0aGlzKS5uLHRoaXMuWFt0aGlzLlgubGVuZ3RoPj4xXV19Yz03Mn1lbHNlIGM9PTcyP2M9TC05Pj4zPzI6OTI6Yz09Mj9jPShMPDwxJjcpPj02JiZMLTQ+PjU8NT8xNzo4OTpjPT0zOT9jPTk0OmM9PTk0JiYoYz0oTCs2XjEzKTxMJiYoTCsyJjI1KT49TD9JOjcyKX19LGhLPWZ1bmN0aW9uKCl7cmV0dXJuIHdDLmNhbGwodGhpcyw3Mil9LEFLPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSl7Zm9yKFM9Nzk7UyE9ODQ7KWlmKFM9PTc5KVM9ODg7ZWxzZSBpZihTPT1JKVM9cDxyLmxlbmd0aD83NTo0MTtlbHNlIGlmKFM9PTY4KXRoaXMuSGk9WSxTPTgzO2Vsc2V7aWYoUz09NTkpcmV0dXJuIHk7Uz09Njk/Uz1JOlM9PTE0P1M9KEw+PjEmMTEpPT0xPzYyOjU5OlM9PTQ0P1M9dT5mPzg1OjM5OlM9PTgxPyhYPVksYz1bXSxwPVksUz02OSk6Uz09ODM/Uz0oTCYzNyk9PUw/ODE6MTQ6Uz09ODg/Uz0oTHw5KT4+ND49MyYmKEw8PDEmMTYpPEk/Njg6ODM6Uz09ODU/KGNbWCsrXT1mLX4odSZmKSstMjU2LHU+Pj04LFM9MzkpOlM9PTY1PyhwKyssUz1JKTpTPT03NT8odT1yLmNoYXJDb2RlQXQocCksUz00NCk6Uz09Mzk/KGNbWCsrXT11LFM9NjUpOlM9PTQxPyh5PWMsUz0xNCk6Uz09NjImJihTPTU5KX19LGVTPWZ1bmN0aW9uKEksTCxZLGYpe2Y9TihMLChZPVQoTCwzMCksNikpLEpLKGYsTCxkKEksQyhMLFkpKSl9LHZrPWZ1bmN0aW9uKEksTCxZLGYscil7cmV0dXJuIFIxLmNhbGwodGhpcyxMLEksMyxZLGYscil9LEU4PWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCl7Zm9yKFg9TFt1PUxbM118cixwPXIsMl18cjtwPDE2O3ArKylmPWY+Pj5JfGY8PDI0LGYrPVl8cix1PXU+Pj5JfHU8PDI0LFk9WTw8M3xZPj4+MjksZl49WCs2NTksdSs9WHxyLFg9WDw8M3xYPj4+MjksdV49cCs2NTksWF49dSxZXj1mO3JldHVybltZPj4+MjQmMjU1LFk+Pj4xNiYyNTUsWT4+PkkmMjU1LFk+Pj5yJjI1NSxmPj4+MjQmMjU1LGY+Pj4xNiYyNTUsZj4+PkkmMjU1LGY+Pj5yJjI1NV19LERxPWZ1bmN0aW9uKEksTCxZKXt0aGlzLnR5cGU9KCJzdGFjayJpbihZPUVycm9yLmNhbGwodGhpcyxJKyIgY2Fubm90IGJlIHVzZWQgd2l0aCBpbnRlbnQgIitOQltMXSksdGhpcy5tZXNzYWdlPVkubWVzc2FnZSxZKSYmKHRoaXMuc3RhY2s9WS5zdGFjayksSSk7d2hpbGUoW10paWYodGhpcy5uYW1lPSJUeXBlQ2Fubm90QmVVc2VkV2l0aElmcmFtZUludGVudEVycm9yIix0cnVlKWJyZWFrfSx5Uz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgpe2ZvcihYPUw7WCE9ODA7KWlmKFg9PTIpdW8uY2FsbCh0aGlzLGYscnx8WHQuZW8oKSxwKSxYPTc5O2Vsc2UgaWYoWD09MjkpRnQuY2FsbCh0aGlzKSxmfHxja3x8KGNrPW5ldyBTUyksdGhpcy5Kcj12b2lkIDAsdGhpcy5MPXRoaXMuSHE9dGhpcy5UMT1udWxsLHRoaXMud289dGhpcy5Mej1mYWxzZSx0aGlzLnVSPXRoaXMuTWg9bnVsbCxYPTE5O2Vsc2UgaWYoWD09MTkpWD0oWSYxMjMpPT1ZPzI6Nzk7ZWxzZXtpZihYPT03OSlyZXR1cm4gdTtYPT1MP1g9ODg6WD09ODgmJihYPShZKzYmSSk8WSYmKFkrNV42KT49WT8yOToxOSl9fSxLTz1mdW5jdGlvbihJLEwpe3JldHVybiBtei5jYWxsKHRoaXMsMCxJLEwsNil9LFRjPWZ1bmN0aW9uKEksTCxZLGYscixwLHUpe211KCgoWT1DKChwPU4oKHU9Tigocj00LShMJi00KS0ofkxeMykrMiooTHwtNCksZj0oTHw0KS1+KEwmNCkrfihMfDQpLEkpLDE3KSxJKSwyMiksSSksdSksZikmJihZPVpxKCIiK1ksMTAyMykpLHImJkpLKHAsSSxkKDIsWS5sZW5ndGgpKSxwKSxJLFkpfSxnPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjKXtjPXRoaXM7dHJ5e01CKHUscixZLFgsdGhpcyxmLEksTCxwKX1jYXRjaChTKXtLKDE2LHRoaXMsUywwKSxYKGZ1bmN0aW9uKHkpe3koYy5XKX0pfX0sd0M9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYsRyl7e0c9OTM7d2hpbGUoRyE9NjgpaWYoRz09ODMpRz0oSXw3Mik9PUk/MzA6NjM7ZWxzZXtpZihHPT03NilyZXR1cm4gRjtHPT00Nj8oRj0oeT1hMVtMLnN1YnN0cmluZygwLDMpKyJfIl0pP3koTC5zdWJzdHJpbmcoMyksWSxmLHIscCx1LFgsYyxTKTp3QygxNixZLEwpLEc9MzIpOkc9PTMyP0c9ST4+MiYxMT83Njo3ODpHPT02Mz9HPShJPDwxJjE2KTw5JiYoSTw8MSYxNSk+PTU/NDY6MzI6Rz09Nzg/KEwoZnVuY3Rpb24oQSl7QShZKX0pLEY9W2Z1bmN0aW9uKCl7cmV0dXJuIFl9LGZ1bmN0aW9uKCl7fV0sRz03Nik6Rz09NTE/KHI9WSxyXj1yPDwxMyxyXj1yPj4xNyxyPShwPXI8PDUsKHJ8MCkrfihyfHApLSh+cl5wKSsofnImcCkpLChyPS1+Zi0ociZ+ZiktKH5yXmYpKzIqKHJ8fmYpKXx8KHI9MSksRj0tKEx8MCkrKEx8cikrKEwmfnIpLEc9ODMpOkc9PTI3P0c9KEk8PDEmMTUpPj0xMiYmKEkrMyY4KTw2PzUxOjgzOkc9PTMwP0c9NjM6Rz09OTMmJihHPTI3KX19fSx0Sz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyl7aWYoIUwuVyl7TC5ocisrO3RyeXtyPShjPXZvaWQgMCwwKTt7cD1MLlA7d2hpbGUoLS1ZKXRyeXtpZihYPXZvaWQgMCxMLk8pYz1UbChMLk8sTCk7ZWxzZXtpZihyPUMoTCxmKSxyPj1wKWJyZWFrO2M9KFg9KEooTCxJLHIpLE4oTCwxMCkpLEMoTCxYKSl9Vig1OCwoYyYmKHU9Y1txQl0sMjA0OC1+dSstMjA0OS0odSYtMjA0OSkpP2MoTCxZKTpuTyhbbzEsMjEsWF0sMCwzNTcsTCksZiksZmFsc2UsTCxmYWxzZSxZKX1jYXRjaChTKXtsKEwsMzgpP25PKFMsMjIsMzU3LEwpOkooTCwzOCxTKX19aWYoIVkpe2ZvcigwPT0oTnVtYmVyKCkhPSFbXSk7TC5aejswKXt0SygyNzIsTCwoTC5oci0tLDE0MDQyMzU1MzYyOTEpLDUwOSk7cmV0dXJuO2lmKCFbXT09TnVtYmVyKCkpYnJlYWt9bk8oW28xLDMzXSwwLDM1NyxMKX19Y2F0Y2goUyl7dHJ5e25PKFMsMjIsMzU3LEwpfWNhdGNoKHkpe0soMjAsTCx5LDApfX1MLmhyLS19fSxYdD1mdW5jdGlvbigpe3JldHVybiBmTy5jYWxsKHRoaXMsImFkIiwzKX0sbk89ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYsRyl7c3dpdGNoKCEoIWYuYmQmJihTPXZvaWQgMCxJJiZJWzBdPT09bzEmJihTPUlbMl0sTD1JWzFdLEk9dm9pZCAwKSxjPWwoZixZKSxjLmxlbmd0aD09MCYmKFg9bChmLDI3Mik+PjMsYy5wdXNoKEwsWD4+OCYyNTUsMiooWHwyNTUpLSAtMSt+KFh8MjU1KS0oWF4yNTUpKSxTIT12b2lkIDAmJmMucHVzaCgtMS1+KFN8MjU1KS0oU14yNTUpKSkseT0iIixJJiYoSS5tZXNzYWdlJiYoeSs9SS5tZXNzYWdlKSxJLnN0YWNrJiYoeSs9IjoiK0kuc3RhY2spKSx1PWsoZiw0NjQpLHVbMF0+MykpKXtjYXNlIHRydWU6IVtdPT0oZmFsc2U9PTApO2JyZWFrO2Nhc2UgZmFsc2U6KHA9KHVbMF0tPSh5PXkuc2xpY2UoMCwodVswXXwwKS0zKSxGPXkubGVuZ3RoLDIqKEYmMyktMS0ofkZeMykpLHk9WnEoeSwxMDIzKSxmLlUpLGYpLlU9Zjt0cnl7Zi5rYT8ocj0ocj1DKGYsMzUwKSkmJnJbci5sZW5ndGgtMV18fDk1LChHPWwoZiw0MjEpKSYmR1tHLmxlbmd0aC0xXT09cnx8SksoNDIxLGYsW3ImMjU1XSkpOm11KDM1MCxmLFs5NV0pLG11KDE5NSxmLGQoMix5Lmxlbmd0aCkuY29uY2F0KHkpLDE0NCl9ZmluYWxseXtmLlU9cH1icmVha319LExFPWZ1bmN0aW9uKEkpe3JldHVybiB5Uy5jYWxsKHRoaXMsNDAsNywxMixJKX0sU1M9ZnVuY3Rpb24oKXtyZXR1cm4gUFMuY2FsbCh0aGlzLDU2LDEyKX0sT3c9ZnVuY3Rpb24oSSxMKXtyZXR1cm4gUjEuY2FsbCh0aGlzLEwsSSwxMil9LGtWPWZ1bmN0aW9uKEksTCl7ZnVuY3Rpb24gWSgpe3RoaXMuUj10aGlzLnc1PXRoaXMubj0wfXdoaWxlKDEyKWlmKFkucHJvdG90eXBlLnB6PWZ1bmN0aW9uKGYscil7cmV0dXJuIFMwLmNhbGwodGhpcyxyLGYsNil9LHRydWUpYnJlYWs7WS5wcm90b3R5cGUuRks9ZnVuY3Rpb24oKXtyZXR1cm4gYWEuY2FsbCh0aGlzLDc2KX07d2hpbGUoW10paWYoST1uZXcgWSx0cnVlKWJyZWFrO3JldHVybltmdW5jdGlvbihmKXtJLnB6KGYpLEwucHooZil9LChMPW5ldyBZLGZ1bmN0aW9uKGYscil7cmV0dXJuKChyPVtJLkZLKCksTC5GSygpLEkuUixMLlJdLGY9PT12b2lkIDApfHxmKSYmKEw9bmV3IFkpLHJ9KV19LHM4PWZ1bmN0aW9uKEksTCxZLGYscil7cmV0dXJuIHljLmNhbGwodGhpcyw5OSw0OCxZLHIsZixJLEwpfSxKSz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyl7c3dpdGNoKCEoTC5VPT1MKSl7Y2FzZSAtMD09PU51bWJlcigpOk5hTjticmVhaztjYXNlIFtdPT0obnVsbCE9ZmFsc2UpOmZvcih1PUMoTCxJKSxJPT0xOTV8fEk9PTQ4OHx8ST09MTI/KGM9ZnVuY3Rpb24oUyx5LEYsRyxBLFEsRCxXLGIsYSl7Zm9yKFc9KGI9NjYsMTQpOzspdHJ5e2lmKGI9PTQwKWJyZWFrO2Vsc2UgaWYoYj09NDEpYj11LkVBIT15PzMyOjM1O2Vsc2UgaWYoYj09MjgpVz0zMyx1LnI1PUU4KDgsRyxUKDAsMyxBLHUpLFQoMCwzNSwtKEEmNCktMS0zKn4oQXw0KSsyKih+QV40KSx1KSwwKSxiPTM1O2Vsc2UgaWYoYj09MzUpdS5wdXNoKChGPXUucjVbLX4oRCY3KS0gLTErMiooRF43KSsyKih+RF43KV0sLTErKH5GJlMpLSh+RnxTKSkpLGI9NDA7ZWxzZXtpZihiPT0wKXRocm93IFc9MTQsYTtiPT0zMj8odS5FQT15LEE9KFE9eTw8MywtfihRJjQpK34oUXw0KSsyKihRJi01KSksRz1bMCwwLHBbMV0scFsyXV0sYj0yOCk6Yj09NjYmJihEPXUubGVuZ3RoLHk9KER8MCktND4+MyxiPTQxKX19Y2F0Y2godyl7aWYoVz09MTQpdGhyb3cgdztXPT0zMyYmKGE9dyxiPTApfX0scD1DKEwsMzgwKSk6Yz1mdW5jdGlvbihTKXt1LnB1c2goUyl9LGYmJmMoZiYyNTUpLFg9MCxyPVkubGVuZ3RoO1g8cjtYKyspYyhZW1hdKTticmVha319LHoseD1mdW5jdGlvbihJLEwsWSl7c3dpdGNoKCEoST09NTA5fHxJPT0yNzIpKXtjYXNlIFtdIT10cnVlOmlmKEwuYmQmJkkhPTQ4KXJldHVybjtJPT0yNjJ8fEk9PTE5NXx8ST09MjM2fHxJPT0xMnx8ST09MzU3fHxJPT0zNTB8fEk9PTQyMXx8ST09MzgwfHxJPT00ODh8fEk9PTQ2ND9MLlNbSV18fChMLlNbSV09VCgyNjAsMTIsTCxJLFksNTQpKTpMLlNbSV09VCgyNjAsOCxMLEksWSw4OSk7YnJlYWs7Y2FzZSBbXT09dHJ1ZTpMLlNbSV0/TC5TW0ldLmNvbmNhdChZKTpMLlNbSV09cSgyMCxMLFkpO2JyZWFrfUk9PTQ4JiYoTC5DPWtLKGZhbHNlLEwsMzIpLEwuQT12b2lkIDApfSxDTz1mdW5jdGlvbigpe2Zvcih2YXIgST04MztJIT0zMzspe2lmKEk9PTIxKXJldHVybiBZO2lmKEk9PTgzKXZhciBMPShJPTksTnVtYmVyKHRoaXMpKSxZPVtdLGY9TDtlbHNlIEk9PTk0PyhmKyssST02OCk6ST09NDc/KFlbZi1MXT1hcmd1bWVudHNbZl0sST05NCk6ST09OT9JPTY4Okk9PTY4JiYoST1mPGFyZ3VtZW50cy5sZW5ndGg/NDc6MjEpfX0sa0s9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYsRyxBLFEsRCxXKXtpZihEPWsoTCw1MDkpLEQ+PUwuUCl0aHJvd1tvMSwzMV07Zm9yKEE9KFM9MCxRPVkscD1ELEwucWUubGVuZ3RoKTtRPjA7KWY9cD4+MyxXPUwudHJbZl0sYz1wJTgsRz04LShjfDApLFg9RzxRP0c6USxJJiYoRj1wLHk9TCx5LkEhPUY+PjYmJih5LkE9Rj4+Nix1PWwoeSw0OCkseS5VZj1FOCg4LFswLDAsdVsxXSx1WzJdXSx5LkMseS5BLDApKSxXXj1MLlVmW2YmQV0pLFN8PShXPj44LShjfDApLShYfDApJigxPDxYKS0xKTw8KFF8MCktKFh8MCkscCs9WCxRLT1YO3JldHVybiBNKDUwOSxMLChyPVMsKER8MCkrKFl8MCkpKSxyfSxIaz1mdW5jdGlvbihJLEwsWSxmLHIscCl7cmV0dXJuIGwoZiwoeChJLCh0SygyNzIsZixyLCgocD1rKGYsSSksZi50ciYmcDxmLlApPyhNKEksZixmLlApLEJrKDM1NywwLGYsSSxZLDEwNCkpOk0oSSxmLFkpLEkpKSxmKSxwKSxMKSl9LFU4PWZ1bmN0aW9uKEksTCl7Zm9yKHZhciBZPTEzO1khPTU5OylpZihZPT0xMyl2YXIgZj0oWT0zOCwxKTtlbHNlIGlmKFk9PTU0KXt2YXIgcj1hcmd1bWVudHNbZl07Zm9yKHUgaW4gcilJW3VdPXJbdV07dmFyIHA9KFk9MjcsMCl9ZWxzZSBpZihZPT0zOClZPTEyO2Vsc2UgaWYoWT09MjcpWT01MTtlbHNlIGlmKFk9PTEyKVk9Zjxhcmd1bWVudHMubGVuZ3RoPzU0OjU5O2Vsc2UgaWYoWT09MjUpe3ZhciB1PVZTW3BdO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLHUpJiYoSVt1XT1yW3VdKSxZPTM5fWVsc2UgWT09NTE/WT1wPFZTLmxlbmd0aD8yNTo2NDpZPT0zOT8ocCsrLFk9NTEpOlk9PTY0JiYoZisrLFk9MTIpfSwkSz1mdW5jdGlvbihJKXtyZXR1cm4gSS5PP1RsKEkuWixJKTprSyh0cnVlLEksOCl9LGQ9ZnVuY3Rpb24oSSxMLFksZixyKXtmPVtdO3tyPShJfDApLTE7d2hpbGUocj49MClmWy0oSXwxKSsoSSYxKSsyKihJJi0yKS0ocnwwKV09KFk9TD4+cio4LDI1NisyKihZJi0yNTYpLShZXjI1NSkrKH5ZfDI1NSkpLHItLX1yZXR1cm4gZn0sTT1mdW5jdGlvbihJLEwsWSl7aWYoST09NTA5fHxJPT0yNzIpTC5TW0ldP0wuU1tJXS5jb25jYXQoWSk6TC5TW0ldPXEoMTgsTCxZKTtlbHNle2lmKEwuYmQmJkkhPTQ4KXJldHVybjtJPT0yNjJ8fEk9PTE5NXx8ST09MjM2fHxJPT0xMnx8ST09MzU3fHxJPT0zNTB8fEk9PTQyMXx8ST09MzgwfHxJPT00ODh8fEk9PTQ2ND9MLlNbSV18fChMLlNbSV09VCgyNjAsOSxMLEksWSw1NCkpOkwuU1tJXT1UKDI2MCwxMyxMLEksWSw4OSl9ST09NDgmJihMLkM9a0soZmFsc2UsTCwzMiksTC5BPXZvaWQgMCl9LFhqPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oSSl7ZnVuY3Rpb24gTCgpe31MLnByb3RvdHlwZT1JO3doaWxlKFtdKXtyZXR1cm4gbmV3IEw7aWYoIWZhbHNlPT0hIiIpYnJlYWt9fSxGaj1mdW5jdGlvbihJLEwsWSxmLHIpe2lmKEkubGVuZ3RoPT0zKXt7WT0wO3doaWxlKFk8MylMW1ldKz1JW1ldLFkrK31mb3IoZj1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdLHI9MDtyPDk7cisrKUxbM10oTCxyJTMsZltyXSl9fSxKPWZ1bmN0aW9uKEksTCxZKXtzd2l0Y2goIShMPT01MDl8fEw9PTI3Mikpe2Nhc2UgTnVtYmVyKHVuZGVmaW5lZCkhPT1OdW1iZXIodW5kZWZpbmVkKTppZihJLmJkJiZMIT00OClyZXR1cm47TD09MjYyfHxMPT0xOTV8fEw9PTIzNnx8TD09MTJ8fEw9PTM1N3x8TD09MzUwfHxMPT00MjF8fEw9PTM4MHx8TD09NDg4fHxMPT00NjQ/SS5TW0xdfHwoSS5TW0xdPVQoMjYwLDUsSSxMLFksNTQpKTpJLlNbTF09VCgyNjAsNSxJLEwsWSw4OSk7YnJlYWs7Y2FzZSAwIT0hWyIiXTpJLlNbTF0/SS5TW0xdLmNvbmNhdChZKTpJLlNbTF09cSgxNyxJLFkpO2JyZWFrfUw9PTQ4JiYoSS5DPWtLKGZhbHNlLEksMzIpLEkuQT12b2lkIDApfSxsbz1mdW5jdGlvbihJLEwsWSl7cmV0dXJuIHlTLmNhbGwodGhpcyw0MCw3LDMsSSxMLFkpfSxNQj1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7Zm9yKFM9KHk9KHIuR3g9KHIueEk9d1AoMCw1NyxyLkIsKHIucWU9KHIuU2I9eFYsci5VaT16YyxyW1BrXSkse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbmNhdCgpfX0pKSxwRVtyLkJdKHIueEkse3ZhbHVlOnt2YWx1ZTp7fX19KSksW10pLDApO1M8MzIzO1MrKyl5W1NdPVN0cmluZy5mcm9tQ2hhckNvZGUoUyk7aWYoKChyLmw9MCwoci5zQT0wLHIpLlZlPShyLlc9KChyLkk9KHIuSWw9TCxmYWxzZSkscikuSz0oci50cj0oKHIuT0E9MCxyKS5XaT0zMDAwMSxyLmJkPWZhbHNlLHIuZDU9MCxbXSksKHIuTmU9W10sci5DPXZvaWQgMCxyLlVmPXZvaWQgMCxyKS5VPXIsci5obD0wLHIuQT12b2lkIDAsci5CcT1bXSxyLkRjPTAsci5ZYT0oci5QPShyLm85PXZvaWQgMCwwKSxyLm03PWMsMjUpLG51bGwpLHZvaWQgMCksRj0oci5TPVtdLHdpbmRvdy5wZXJmb3JtYW5jZSl8fHt9LHIuVD1bXSwoci5hbD1bXSxyLmNxPShyLkt6PShyLmhyPTAsci5RVz1mdW5jdGlvbihHKXtyZXR1cm4gclAuY2FsbCh0aGlzLDg3LDMsRyl9LFtdKSxbXSksci5BbD1mYWxzZSxyKS5vPWZhbHNlLHIua2E9KHIuSjU9KHIueGE9MCxyLk89dm9pZCAwLDApLHIuWmM9dm9pZCAwLCEoci5pPShyLlo9dm9pZCAwLDEpLDEpKSxbXSksci5OPWZhbHNlLHIpLlBpPShyLmd5PUksRi50aW1lT3JpZ2lufHwoRi50aW1pbmd8fHt9KS5uYXZpZ2F0aW9uU3RhcnR8fDApLHApJiZwLmxlbmd0aD09MiYmKHIuYWw9cFsxXSxyLk5lPXBbMF0pLFkpdHJ5e3Iubzk9SlNPTi5wYXJzZShZKX1jYXRjaChHKXtyLm85PXt9fVYoNzYsKHgoMzgsKEoociwxMiwoVig3NixmdW5jdGlvbihHKXtUYyhHLDQpfSwoKE0oMzUwLHIsKFYoMjgsZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSx3LHYsRSl7Zm9yKEU9OTU7RSE9NzA7KUU9PTk/KFc9ZkgoMjMsNSwwLDEsRy5VKSxhPVcueVcsYj1XLk9mLFE9Vy5KbCx2PVcuVix3PXYubGVuZ3RoLEQ9dz09MD9uZXcgYltRXTp3PT0xP25ldyBiW1FdKHZbMF0pOnc9PTI/bmV3IGJbUV0odlswXSx2WzFdKTp3PT0zP25ldyBiW1FdKHZbMF0sdlsxXSx2WzJdKTp3PT00P25ldyBiW1FdKHZbMF0sdlsxXSx2WzJdLHZbM10pOjIoKSxKKEcsYSxEKSxFPTcwKTpFPT05NSYmKEU9Vig0Miw1MDksZmFsc2UsRyx0cnVlLEEpPzcwOjkpfSxyLChKKHIsMjM2LChKKHIsKFYoKChuZXcgKFYoMTIsZnVuY3Rpb24oRyl7ZVMoMSxHKX0sKFYoNjAsZnVuY3Rpb24oRyxBLFEsRCxXLGIpe3doaWxlKHt9KWlmKChRPU4oRywzNCksMCk9PSFbdW5kZWZpbmVkXSlicmVhazsoRD1sKEcsKEE9QyhHLChXPShiPVQoRywzMSksVChHLDMwKSksUSkpLGIpKSxNKShXLEcsQSBpbiBEfDApfSwoVig2MCwoTSgoKFYoMjgsZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSx3LHYpe2Zvcih2PTYyO3YhPTk5Oyl2PT05PyhBKyssdj0zOSk6dj09Njg/dj0zOTp2PT04MT8oTShiLEcsYSBpbiBEfDApLHY9OTkpOnY9PTUxPyhhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFFbQV1eMTIxKSx2PTkpOnY9PTM5P3Y9QTxRLmxlbmd0aD81MTo4MTp2PT02MiYmKFc9TihHLDEzKSx3PVQoRywzMSksYj1UKEcsMjcpLFE9ayhHLFcpLEQ9ayhHLHcpLGE9IiIsQT0wLHY9NjgpfSxyLChWKDI4LChWKDc2LGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyl7Zm9yKHc9Mjc7dyE9MTA7KXc9PTgyP3c9MTI6dz09Mjc/KEE9TihHLDYpLGI9cSg1LDEyNyxHKSxEPVtdLGE9ayhHLDc0KSxRPTAsVz1hLmxlbmd0aCx3PTgyKTp3PT0yOD8oUT0oKFF8MCkrKHEoMywxMjcsRyl8MCkpJVcsRC5wdXNoKGFbUV0pLHc9OTQpOnc9PTk0P3c9MTI6dz09MTI/dz1iLS0/Mjg6NDY6dz09NDYmJih4KEEsRyxEKSx3PTEwKX0sciwyNTIpLGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyx2LEUpe3tFPTkyO3doaWxlKEUhPTkxKUU9PTkyPyh3PU4oRywyOSksUT1OKEcsMzgpLEQ9VChHLDIzKSxhPWwoRyx3KSxiPUMoRyxRKSxBPTAsVz0iIixFPTQyKTpFPT05Mz9FPUE8Yi5sZW5ndGg/OTA6NzY6RT09NDI/RT05MzpFPT0yND8oQSsrLEU9OTMpOkU9PTc2PyhKKEcsRCxhW1ddKSxFPTkxKTpFPT05MCYmKFcrPVN0cmluZy5mcm9tQ2hhckNvZGUoKHY9YltBXSwtMS0ofnZeMTIxKSkpLEU9MjQpfX0pLHIsMzAyKSwyMzcpKSx4KSg1MDksciwwKSwyNzIpLHIsMCksZnVuY3Rpb24oRyxBLFEsRCl7eCgoRD0oQT0oUT1UKEcsMjYpLCRLKEcpKSxUKEcsMjYpKSxEKSxHLGsoRyxRKT4+PkEpfSksciw0NTEpLHIpLDU5KSxyKSw1MCksbG8pKCJTdWJtaXQiKSkuZGlzcG9zZSgpLDYwKSxmdW5jdGlvbihHLEEsUSxELFcsYixhLHcpe2Zvcih3PTMxO3chPTE4Oyl3PT0zMD93PUcuVT09Rz84NToxODp3PT01Mz8oRy5BPXZvaWQgMCx3PTI0KTp3PT0yMj93PWE9PTQ4PzUzOjE4Onc9PTk5PyhHLkM9a0soZmFsc2UsRywzMiksRy5BPXZvaWQgMCx3PTE4KTp3PT0zMT8oYT1OKEcsMzQpLGI9TihHLDM2KSxXPVQoRywyMyksdz0zMCk6dz09MjQ/dz1BPT0yPzk5OjE4Onc9PTg1JiYoUT1sKEcsYSksRD1DKEcsVyksQT1sKEcsYiksUVtBXT1ELHc9MjIpfSxyLDE0NCksNDg4KSxZOCg0KSksW10pKSw0NjYpKSxbXSkpLHIpLnQ1PTAsciksNjkpLFk4KDQpKSksciksNTQ3KSxmdW5jdGlvbigpe30pLHIsMjgwKTt3aGlsZShbXSlpZihWKDYwLGZ1bmN0aW9uKEcsQSxRLEQsVyl7eCgoQT1qMCgiYXJyYXkiLChEPWwoKFc9TigoUT1UKEcsMjMpLEcpLDEwKSxHKSxRKSxEKSwibnVtYmVyIiksVyksRyxBKX0sciwzNDApLFtdKWJyZWFrO2lmKFYoNzYsZnVuY3Rpb24oRyxBLFEsRCxXLGIpeyhiPWwoRywoVz1sKEcsKEQ9TigoUT1UKEcsMjYpLEE9TihHLDMwKSxHKSwxOCksQSkpLFEpKT09Vyx4KShELEcsK2IpfSxyLChKKHIsMTYxLChKKHIsKEoociwoVig0NCxmdW5jdGlvbihHKXtxKDksOCxHLDQpfSxyLChWKDEyLCh4KDI2MixyLFs1NywwLCh4KDM1MywoVigyOCwoVig2MCxmdW5jdGlvbihHLEEsUSxELFcpe3tXPTM4O3doaWxlKFchPTYpVz09OTQ/KEQtLSxXPTYzKTpXPT0zND9XPTYzOlc9PTQxP1c9QT82NTo0MjpXPT00Mj8oeCg1MDksRyxHLlApLFc9Nik6Vz09Mzk/KFE9VChHLDMxKSxBW1FdPUcuU1tRXSxXPTk0KTpXPT02Mz9XPUQ+MD8zOTo4Olc9PTg/KEFbMzU3XT1HLlNbMzU3XSxBWzQ2NF09Ry5TWzQ2NF0sRy5TPUEsVz02KTpXPT0zOD8oQT1HLkt6LnBvcCgpLFc9NDEpOlc9PTY1JiYoRD0kSyhHKSxXPTM0KX19LChNKDE5NSwoVigxMiwoVig3NixmdW5jdGlvbihHLEEsUSxELFcsYixhLHcsdixFLG0sWUssR2wsY1MsbixzdyxsQixoLFdTKXt7aD0wO3doaWxlKGghPTY1KWg9PTYzP2g9bTxZSz84OTozOmg9PTc2PyhjUz1XUygxKSxELnB1c2goY1MpLFcrPWNTPzA6MSxoPTI3KTpoPT03Mz9oPTMwOmg9PTQ/KHN3PSgoV3wwKS0xKS50b1N0cmluZygyKS5sZW5ndGgsRT0wLHY9W10saD03KTpoPT0yNz8oYisrLGg9MzIpOmg9PTIzPyhWKDEyLGZ1bmN0aW9uKEgsZkUsUCxENCxlMCx0KXtmb3IodD0xMjt0IT0yODspdD09NDc/dD1mRT49RDQubGVuZ3RoPzYyOjg4OnQ9PTYyPyhENC5wdXNoKFQoSCwzMSkpLHQ9NCk6dD09NjQ/KFArKyx0PTE1KTp0PT04NT90PURbUF0/NTQ6OTA6dD09MTU/dD1QPFlLPzU5OjY3OnQ9PTg4PyhmRT1ENFtmRV0sdD01NCk6dD09NTk/KGZFPXZbUF0sdD04NSk6dD09MTI/KEQ0PVtdLGUwPVtdLFA9MCx0PTcwKTp0PT00P3Q9NDc6dD09NTQ/KGUwLnB1c2goZkUpLHQ9NjQpOnQ9PTY3PyhILk89cSgxOSxILG4uc2xpY2UoKSksSC5aPXEoMTYsSCxlMCksdD0yOCk6dD09NzA/dD0xNTp0PT05MCYmKHQ9NDcpfSxHLGxCKSxoPTY1KTpoPT0zMD9oPUdsLS0/OTE6MjM6aD09OTE/KG4ucHVzaChDKEcsTihHLDUpKSksaD03Myk6aD09Nz9oPTg6aD09ODk/KERbbV0mJih2W21dPU4oRywxOCkpLGg9NzkpOmg9PTA/KFdTPWZ1bmN0aW9uKEgsZkUpe2Zvcig7YTxIOylRfD0kSyhHKTw8YSxhKz04O3JldHVybiBhLT1ILFE+Pj0oZkU9USYoMTw8SCktMSxIKSxmRX0sbEI9VChHLDMxKSxhPVE9MCx3PShBPVdTKDMpLH5BLTMqfihBfDEpKyhBJi0yKSsyKih+QV4xKSksWUs9V1MoNSksVz1iPTAsRD1bXSxoPTkyKTpoPT03OT8obSsrLGg9NjMpOmg9PTkyP2g9MzI6aD09MzI/aD1iPFlLPzc2OjQ6aD09MzE/KG09MCxoPTc3KTpoPT00MT8oRSsrLGg9OCk6aD09Nzc/aD02MzpoPT04Nz9oPTMwOmg9PTg/aD1FPFlLPzE0OjMxOmg9PTM/KG49W10sR2w9dyxoPTg3KTpoPT0xNCYmKERbRV18fCh2W0VdPVdTKHN3KSksaD00MSl9fSxyLChWKDI4LGZ1bmN0aW9uKEcsQSxRLEQsVyl7Zm9yKFc9Nzg7VyE9MTI7KVc9PTc4P1c9Vig3NCw1MDksZmFsc2UsRyx0cnVlLEEpPzEyOjI3Olc9PTI3JiYoRD1OKEcsMTMpLFE9TihHLDEzKSxKKEcsUSxmdW5jdGlvbihiKXtyZXR1cm4gZXZhbChiKX0oTzgobChHLlUsRCkpKSksVz0xMil9LHIsKFYoMjgsZnVuY3Rpb24oRyxBLFEsRCxXLGIpe2ZvcihiPTY5O2IhPTczOyliPT00ND8oQSsrLGI9ODApOmI9PTc0P2I9ODA6Yj09MzY/KEooRyxXLEQpLGI9NzMpOmI9PTgwP2I9QTxRPzg0OjM2OmI9PTg0PyhELnB1c2goJEsoRykpLGI9NDQpOmI9PTY5JiYoVz1OKEcsMjYpLFE9cSg3LDEyNyxHKSxBPTAsRD1bXSxiPTc0KX0sKFYoNDQsZnVuY3Rpb24oRyxBLFEpeyhBPWsoKFE9TihHLDE0KSxHLlUpLFEpLEEpWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoQVsxXSxBWzJdLEhTKX0sKFYoNDQsZnVuY3Rpb24oRyl7ZVMoNCxHKX0sKEoociwoTSg0NjQscixbKEoociw0NjEsKFYoNjAsZnVuY3Rpb24oRyxBLFEsRCl7RD1rKEcsKEE9TihHLChRPU4oRywxNyksMjEpKSxBKSksbChHLFEpIT0wJiZNKDUwOSxHLEQpfSxyLChWKDI4LGZ1bmN0aW9uKEcsQSxRLEQsVyxiKXt4KChEPWwoKFc9bCgoYj0oUT0oQT1UKEcsMjYpLFQoRywyNykpLE4oRyw1KSksRyksQSksRyksUSksYiksRyxXW0RdKX0sciwoTSgzNTcsKFYoMTIsZnVuY3Rpb24oRyxBKXtCaygzNTcsKEE9bChHLE4oRyw2KSksMCksRy5VLDUwOSxBLDEwNCl9LChyLkY4PShWKDEyLGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyx2LEUsbSl7Zm9yKG09MjI7bSE9MzA7KW09PTQ3PyhEPVQoMiwzMiwxLDEsdixHLFcsQSxRKSxBLmFkZEV2ZW50TGlzdGVuZXIoUSxELEhTKSxrKEcsMTYxKS5wdXNoKGZ1bmN0aW9uKCl7QS5yZW1vdmVFdmVudExpc3RlbmVyKFEsRCxIUyl9KSx4KDM1NSxHLFtBLFEsRF0pLG09MzApOm09PTI0P209QSE9PTA/NDc6MzA6bT09MjImJihhPVQoRywyNyksRT1OKEcsOSksdz1OKEcsMjIpLGI9TihHLDM2KSxXPUMoRyx3KSxRPUMoRyxFKSxBPWwoRy5VLGEpLHY9bChHLGIpLG09MjQpfSxyLDYzKSwwKSxyKSw0MzUpLHIpLFtdKSw0NDgpKSwxMTEpKSxVKSksMjA0OCldKSwyOTcpLHt9KSxyKSwzNzkpLHIpLDQ2MiksciksMSksMTE4KSksMzA2KSksZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSl7Zm9yKGE9Mjg7YSE9OTE7KWlmKGE9PTM0KWE9RC5maT81MzozOTtlbHNlIGlmKGE9PTM5KVUuY2xlYXJUaW1lb3V0KEQuZTUpLGUoRC5Eeiw4MyxHKSxlKEQuTWUsOTMsRyksYT01MztlbHNlIGlmKGE9PTUzKUErKyxhPTk0O2Vsc2UgaWYoYT09NTIpRD1HLkJxW0FdLGE9MzQ7ZWxzZSBpZihhPT03NilhPTk0O2Vsc2UgaWYoYT09MzApRy5CcS5sZW5ndGg9MCxhPTkxO2Vsc2UgaWYoYT09Mjgpe2ZvcihXIGluIGI9ayhHLChRPSRLKEcpLDM4MSkpLGRlbGV0ZSBiW1FdLGIpaWYoVyE9PSJ0IiYmT2JqZWN0Lmhhc093bihiLFcpKXJldHVybjtBPShhPTc2LDApfWVsc2UgYT09OTQmJihhPUE8Ry5CcS5sZW5ndGg/NTI6MzApfSksciwzMzQpLHIpLFk4KDQpKSxyKSwzMjMpLGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyx2LEUsbSxZSyxHbCxjUyxuKXtmb3Iobj0yO24hPTk0OylpZihuPT0yNSluPTE5O2Vsc2UgaWYobj09NjgpY1M9YS5sZW5ndGgsdj12PjA/djoxLG09MCxuPTI1O2Vsc2UgaWYobj09Njcpbj1qMCgiYXJyYXkiLGEsIm51bWJlciIpPT0ib2JqZWN0Ij8wOjUzO2Vsc2UgaWYobj09NTMpbj1HLlU9PUc/Njg6OTQ7ZWxzZSBpZihuPT00NSltKz12LG49MTk7ZWxzZSBpZihuPT0wKXtmb3IoRSBpbiBXPVtdLGEpVy5wdXNoKEUpO2E9VyxuPTUzfWVsc2Ugbj09Mj9uPVYoMTAsNTA5LHRydWUsRyx0cnVlLEEpPzk0OjI5Om49PTE5P249bTxjUz83NDo5NDpuPT0yOT8oR2w9VChHLDMwKSx3PVQoRywyNiksRD1OKEcsMTcpLGI9TihHLDI2KSxRPUMoRyx3KSx2PWsoRyxEKSxZSz1sKEcsYiksYT1DKEcsR2wpLG49NjcpOm49PTc0JiYoUShhLnNsaWNlKG0sKG18MCkrKHZ8MCkpLFlLKSxuPTQ1KX0pLHIsNDM3KSxyKSwwKSxyLllJPTAsMCldKSxmdW5jdGlvbihHLEEsUSxELFcsYixhLHcpe2Zvcih3PTIyO3chPTU5Oyl3PT05P3c9US0tPzkyOjU3Onc9PTIyPyhXPU4oRywxNCksUT1xKDYsMTI3LEcpLGE9IiIsRD1rKEcsNzQpLGI9RC5sZW5ndGgsQT0wLHc9NjMpOnc9PTEwP3c9OTp3PT02Mz93PTk6dz09NTc/KEooRyxXLGEpLHc9NTkpOnc9PTkyJiYoQT0oKEF8MCkrKHEoMywxMjcsRyl8MCkpJWIsYSs9eVtEW0FdXSx3PTEwKX0pLHIsNDExKSwzKSksMzgwKSxbMCwwLDBdKSw0OTEpLHIpLFtdKSksMTAzKSksOClWKDQ0LGZ1bmN0aW9uKEcsQSxRLEQpe0ooRywoRD1OKEcsKEE9TihHLChRPU4oRywzMCksMzgpKSwxMCkpLEQpLEMoRyxRKXx8QyhHLEEpKX0sciwxODcpO1hmKHRydWUsKGUoKCgoSihyLDM4MSwoVig0NCxmdW5jdGlvbihHLEEsUSxELFcsYil7e2I9Nzg7d2hpbGUoYiE9OTcpYj09Mj9iPUcuVT09R3x8RD09Ry5RVyYmUT09Rz8zOTo5NzpiPT02OT8oVz1mSCgyMyw1LDAsMSxHKSxRPVcuT2YsRD1XLkpsLGI9Mik6Yj09Nzg/Yj1WKDI2LDUwOSxmYWxzZSxHLHRydWUsQSk/OTc6Njk6Yj09MzkmJihNKFcueVcsRyxELmFwcGx5KFEsVy5WKSksRy54YT1HLnUoKSxiPTk3KX19LChKKHIsKChWKDEyLGZ1bmN0aW9uKEcsQSxRLEQsVyl7SihHLChXPShEPShBPU4oRywoUT1OKEcsMzIpLDI1KSksQyhHLFEpKSxDKEcsQSkpLEEpLFcrRCl9LHIsKFYoNDQsZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSx3KXtNKChRPUMoKGI9KEE9bCgoVz1OKEcsKEQ9KGE9VChHLCh3PVQoRywyNyksMjMpKSxOKEcsMjkpKSwyNSkpLEcpLFcpLEMoRyxEKSksRyksYSksdyksRyxUKDIsNiwxLEEsYixHLFEpKX0sciwoSihyLChWKDc2LGZ1bmN0aW9uKEcsQSxRKXsoQT1UKChRPVQoRywyNyksRyksMzApLHgpKEEsRywiIitsKEcsUSkpfSxyLDMxNCksNDIxKSxbXSksNDUyKSksODgpKSxWKSg0NCxmdW5jdGlvbihHKXtUYyhHLDMpfSxyLDEzMCksMzU1KSwwKSxyKSwxNSkse30pKSxYKXx8ZShbZFBdLDg1LHIpLGUpKFtpeCx1XSw5MSxyKSxbcmEsZl0pLDgyLHIpLDcpLDAscix0cnVlLHRydWUpfSxCUz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRixHKXtpZihwPWZbMF0scD09dUIpISh5PVkuaihmKSl8fCh5LmU1PVUuc2V0VGltZW91dChmdW5jdGlvbihBKXt3aGlsZSh0cnVlKWlmKEE9IVkuVC5sZW5ndGgmJiFZLk4sMTUpYnJlYWs7ZSh5LkR6LDk1LCh5LmZpPXRydWUsWSkpO3doaWxlKCEhW10paWYoZSh5Lk1lLDgxLFkpLFtdKWJyZWFrO0EmJlhmKHRydWUsMywwLFksdHJ1ZSx0cnVlKX0seS50aW1lb3V0KSxZLkJxLnB1c2goeSkpO2Vsc2UgaWYocD09JDgpWS5JPXRydWUsWS5ZYT0yNSxZLmhsPVkuRzEoKS1mWzJdLFkuaihmKTtlbHNlIGlmKHA9PVBrKXtGPWZbSV1bM107dHJ5e1g9WS5XfHxZLmooZil9Y2F0Y2goQSl7Syg1MixZLEEsMCksWD1ZLld9aWYoYz1ZLnUoKSxbXSlGKFgpO1kubCs9WS51KCktY31lbHNlIGlmKHA9PVV3KWZbM10mJihZLm89dHJ1ZSksZls0XSYmKFkuST10cnVlKSxZLmooZik7ZWxzZSBzd2l0Y2goIShwPT1peCkpe2Nhc2UgdHJ1ZTpzd2l0Y2goIShwPT1yYSkpe2Nhc2UgMD09IVtdOndoaWxlKHA9PU1mKXtyZXR1cm4gdT1mWzJdLHgoMjE3LFksZls2XSksTShMLFksdSksWS5qKGYpO2lmKE51bWJlcigpPT09LTApYnJlYWt9cD09cUI/KFkuaihmKSxZLnRyPVtdLFkuUz1udWxsLFkuVmU9W10pOnA9PWRQJiZVLmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihZLks9ZnVuY3Rpb24oQSxRKXtmdW5jdGlvbiBEKFcpe2ZvcihXPTE2O1chPTEyOylXPT02Mj8oUT10cnVlLFUuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsRCxIUyksVS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixELEhTKSxBKCksVz0xMik6Vz09MTYmJihXPVE/MTI6NjIpfVUuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKFE9ZmFsc2UsRCksSFMpLFUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsRCxIUyl9KTticmVhaztjYXNlIGZhbHNlOnRyeXt7Rz0wO3doaWxlKEc8WS5jcS5sZW5ndGgpe3RyeXtTPVkuY3FbR10sU1swXVtTW0ldXShTWzJdKX1jYXRjaChBKXt9RysrfX19Y2F0Y2goQSl7fSgwLGZbSV0pKGZ1bmN0aW9uKEEsUSl7WS5JOShBLHRydWUsUSl9LChyPShZLmNxPVtdLFkpLnUoKSxmdW5jdGlvbihBKXsoZShbcUJdLChBPSFZLlQubGVuZ3RoJiYhWS5OLDg0KSxZKSxBKSYmWGYodHJ1ZSw1LDAsWSx0cnVlLGZhbHNlKX0pLGZ1bmN0aW9uKEEpe3JldHVybiBZLnoxKEEpfSxmdW5jdGlvbihBLFEsRCl7cmV0dXJuIFkuQ2koQSxRLEQpfSksWS5sKz1ZLnUoKS1yO2JyZWFrfWJyZWFrO2Nhc2UgISFudWxsOlkubz10cnVlLFkuaihmKTticmVha319LGowPWZ1bmN0aW9uKEksTCxZLGYscil7aWYoKGY9dHlwZW9mIEwsZik9PSJvYmplY3QiKWlmKEwpe2lmKEwgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gSTt3aGlsZShMIGluc3RhbmNlb2YgT2JqZWN0KXtyZXR1cm4gZjtpZihbXSlicmVha31pZigocj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoTCkscik9PSJbb2JqZWN0IFdpbmRvd10iKXJldHVybiJvYmplY3QiO3doaWxlKHI9PSJbb2JqZWN0IEFycmF5XSJ8fHR5cGVvZiBMLmxlbmd0aD09WSYmdHlwZW9mIEwuc3BsaWNlIT0idW5kZWZpbmVkIiYmdHlwZW9mIEwucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhTC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgic3BsaWNlIikpe3JldHVybiBJO2lmKE5hTiE9PU5hTilicmVha31pZihyPT0iW29iamVjdCBGdW5jdGlvbl0ifHx0eXBlb2YgTC5jYWxsIT0idW5kZWZpbmVkIiYmdHlwZW9mIEwucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhTC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgiY2FsbCIpKXJldHVybiJmdW5jdGlvbiJ9ZWxzZSByZXR1cm4ibnVsbCI7ZWxzZSBmb3IoMTtmPT0iZnVuY3Rpb24iJiZ0eXBlb2YgTC5jYWxsPT0idW5kZWZpbmVkIjsxKXtyZXR1cm4ib2JqZWN0IjtpZihudWxsIT0oTmFOPT09TmFOKSlicmVha31yZXR1cm4gZn0scEg9ZnVuY3Rpb24oKXt3aGlsZSh0cnVlKXtyZXR1cm4gQUsuY2FsbCh0aGlzLDcsMyk7aWYoe30pYnJlYWt9fSx1eD1mdW5jdGlvbihJLEwpe2Z1bmN0aW9uIFkoKXt0aGlzLm49KHRoaXMuWD1bXSwwKX1yZXR1cm4gTD0oST0oKFkucHJvdG90eXBlLnRsPWZ1bmN0aW9uKCl7cmV0dXJuIFdrLmNhbGwodGhpcyw3MSw2KX0sWSkucHJvdG90eXBlLm56PWZ1bmN0aW9uKGYscil7cmV0dXJuIGUuY2FsbCh0aGlzLGYsMTYscil9LG5ldyBZKSxuZXcgWSksW2Z1bmN0aW9uKGYpe0kubnooZiksTC5ueihmKX0sZnVuY3Rpb24oZixyKXtyZXR1cm4oZj1mPT09dm9pZCAwP3RydWU6ZixyPUkudGwoKS5jb25jYXQoTC50bCgpKSxmKSYmKEw9bmV3IFkpLHJ9XX0sSkM9ZnVuY3Rpb24oKXtyZXR1cm4gUFMuY2FsbCh0aGlzLDU2LDE5KX0sbD1mdW5jdGlvbihJLEwsWSl7WT1JLlNbTF07d2hpbGUoWT09PXZvaWQgMCl7dGhyb3dbbzEsMzAsTF07aWYodHJ1ZSlicmVha31pZihZLnZhbHVlKXJldHVybiBZLmNyZWF0ZSgpO3JldHVybiBZLmNyZWF0ZShMKjUqTCs0KkwrLTM1KSxZLnByb3RvdHlwZX0sQms9ZnVuY3Rpb24oSSxMLFksZixyLHApe1kuS3oubGVuZ3RoPnA/bk8oW28xLDM2XSxMLEksWSk6KFkuS3oucHVzaChZLlMuc2xpY2UoKSksWS5TW2ZdPXZvaWQgMCx4KGYsWSxyKSl9LEtFPWZ1bmN0aW9uKEkpe3JldHVybiB3UC5jYWxsKHRoaXMsMCwxMixJKX0sQz1mdW5jdGlvbihJLEwsWSl7WT1JLlNbTF07d2hpbGUoWT09PXZvaWQgMCl7dGhyb3dbbzEsMzAsTF07aWYoMSlicmVha31zd2l0Y2goIVkudmFsdWUpe2Nhc2UgdHJ1ZTp0cnVlLnRydWU7YnJlYWs7Y2FzZSAwIT0hWyIiXTpyZXR1cm4gWS5jcmVhdGUoKTticmVha31yZXR1cm4oWS5jcmVhdGUoTCo1KkwrNCpMKy0zNSksWSkucHJvdG90eXBlfSxHeT1mdW5jdGlvbihJLEwsWSxmLHIscCl7cmV0dXJuIFdrLmNhbGwodGhpcyw3MSwzLEksTCxZLGYscixwKX0sZEM9ZnVuY3Rpb24oKXtyZXR1cm4gVi5jYWxsKHRoaXMsOCl9LFpxPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7Zm9yKGM9KHU9KFk9SS5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksMCkscj1bXSwwKTt1PFkubGVuZ3RoO3UrKylmPVkuY2hhckNvZGVBdCh1KSxmPDEyOD9yW2MrK109ZjooZjwyMDQ4P3JbYysrXT0oRz1mPj42LC0xLX4oR3wxOTIpKTooKGZ8MCkrfihmJjY0NTEyKS0gLTY0NTEzLShmXjY0NTEyKT09NTUyOTYmJnUrMTxZLmxlbmd0aCYmKFM9WS5jaGFyQ29kZUF0KHUrMSksLShTfDY0NTEyKS0yKn4oU3w2NDUxMikrKFNeNjQ1MTIpKzIqKH5TXjY0NTEyKSk9PTU2MzIwPyhmPTY1NTM2KygyKihmfDApLX4oZiZMKS0gLTErMip+Zjw8MTApKyhZLmNoYXJDb2RlQXQoKyt1KSZMKSxyW2MrK109KHk9Zj4+MTgsLTEtfnkrKH55JjI0MCkpLHJbYysrXT0oQT1mPj4xMiY2MywtfihBJjEyOCkrMiooQV4xMjgpKyh+QV4xMjgpKSk6cltjKytdPShwPWY+PjEyLDIqfihwJjIyNCktMip+cC0gLTIyNSsofnB8MjI0KSkscltjKytdPShYPWY+PjYmNjMsLX5YKyhYXjEyOCkrKH5YfDEyOCkpKSxyW2MrK109KEY9ZiY2MywoRiYxMjgpLTEtKH5GXjEyOCkpKTtyZXR1cm4gcn0sRnQ9ZnVuY3Rpb24oKXtyZXR1cm4gUmEuY2FsbCh0aGlzLDQ1LDMpfSxqYT1mdW5jdGlvbihJKXtyZXR1cm4gb2EuY2FsbCh0aGlzLDEsNyxJKX0sZ0M9ZnVuY3Rpb24oSSxMLFksZil7dHJ5e2Y9SVsoKEx8MiktfihMfDIpKyh+TF4yKSklM10sSVtMXT0oSVtMXXwwKS0oSVsoKEx8MCkrMSklM118MCktKGZ8MCleKEw9PTE/Zjw8WTpmPj4+WSl9Y2F0Y2gocil7dGhyb3cgcjt9fSxZVj1mdW5jdGlvbihJKXtyZXR1cm4geWMuY2FsbCh0aGlzLDk5LDYsSSl9LGs9ZnVuY3Rpb24oSSxMLFkpe2lmKChZPUkuU1tMXSxZKT09PXZvaWQgMCl0aHJvd1tvMSwzMCxMXTtpZihZLnZhbHVlKXJldHVybiBZLmNyZWF0ZSgpO3JldHVybiBZLmNyZWF0ZShMKjUqTCs0KkwrLTM1KSxZLnByb3RvdHlwZX0sU2E9ZnVuY3Rpb24oSSl7cmV0dXJuIGFhLmNhbGwodGhpcywxMCxJKX0sbXU9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMpe3doaWxlKEwuVT09TCl7Zm9yKHU9QyhMLEkpLEk9PTE5NXx8ST09NDg4fHxJPT0xMj8ocD1mdW5jdGlvbihTLHksRixHLEEsUSxELFcsYixhKXtmb3IoYj0oYT02Myw2Nyk7Oyl0cnl7aWYoYT09NzQpYnJlYWs7ZWxzZSBpZihhPT02MylEPXUubGVuZ3RoLEE9KER8MCktND4+MyxhPTM3O2Vsc2UgaWYoYT09MTkpYj00Myx1LnI1PUU4KDgsRixUKDAsNjYseSx1KSxUKDAsNTEsLSh5JjQpLTEtMyp+KHl8NCkrMioofnleNCksdSksMCksYT02NjtlbHNlIGlmKGE9PTY2KXUucHVzaCgoUT11LnI1Wy1+KEQmNyktIC0xKzIqKEReNykrMioofkReNyldLC0xKyh+USZTKS0oflF8UykpKSxhPTc0O2Vsc2UgaWYoYT09NTApdS5FQT1BLHk9KEc9QTw8MywtfihHJjQpK34oR3w0KSsyKihHJi01KSksRj1bMCwwLGNbMV0sY1syXV0sYT0xOTtlbHNlIGlmKGE9PTM3KWE9dS5FQSE9QT81MDo2NjtlbHNlIGlmKGE9PTk1KXRocm93IGI9NjcsVzt9Y2F0Y2godyl7aWYoYj09NjcpdGhyb3cgdztiPT00MyYmKFc9dyxhPTk1KX19LGM9QyhMLDM4MCkpOnA9ZnVuY3Rpb24oUyl7dS5wdXNoKFMpfSxmJiZwKGYmMjU1KSxYPTAscj1ZLmxlbmd0aDtYPHI7WCsrKXAoWVtYXSk7aWYodHJ1ZSE9IVtdKWJyZWFrfX0sdW89ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYKXtyZXR1cm4gclAuY2FsbCh0aGlzLDg3LDI0LEksTCxZLGYscixwLHUsWCl9LGZIPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMpe3U9KFg9KCgocD1OKHIsKGM9cltBcF18fHt9LEwpKSxjKS55Vz1UKHIsSSksYykuVj1bXSxyLlUpPT1yPygkSyhyKXxZKS1mOjEsTikociw5KTt7Uz1ZO3doaWxlKFM8WCljLlYucHVzaChUKHIsMzApKSxTKyt9Zm9yKChjLk9mPWsocix1KSxjKS5KbD1sKHIscCk7WC0tOyljLlZbWF09QyhyLGMuVltYXSk7cmV0dXJuIGN9LFE4LFk4PWZ1bmN0aW9uKEksTCxZKXtmb3IoWT01NTtZIT04MjspaWYoWT09NTIpWT0zOTtlbHNlIGlmKFk9PTM5KVk9SS0tPzY4Ojc3O2Vsc2UgaWYoWT09OTIpWT0zOTtlbHNlIGlmKFk9PTY4KUwucHVzaChNYXRoLnJhbmRvbSgpKjI1NXwwKSxZPTUyO2Vsc2V7aWYoWT09NzcpcmV0dXJuIEw7WT09NTUmJihMPVtdLFk9OTIpfX0sYm89ZnVuY3Rpb24oSSxMKXtyZXR1cm4gclAuY2FsbCh0aGlzLDg3LDMyLEksTCl9LFFTPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMpe3JldHVybiB3Qy5jYWxsKHRoaXMsNSxJLEwsWSxmLHIscCx1LFgsYyxTKX0seTg9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpeyhMLnB1c2goKHA9SVswXTw8MjQscj1JWzFdPDwxNiwocCZyKS0xLSh+cF5yKSl8SVsyXTw8OHxJWzNdKSxMLnB1c2goKHk9KFg9SVs0XTw8MjQsRj1JWzVdPDwxNiwtfihYJkYpKy0zLShYfH5GKS0oflh8RikpfElbNl08PDgsZj1JWzddLChmfDApK34oeSZmKS1+eSkpLEwpLnB1c2goKFk9KHU9SVs4XTw8MjQsUz1JWzldPDwxNiwoU3wwKSsodV5TKS0ofnUmUykpfElbMTBdPDw4LGM9SVsxMV0sKFkmYyktMSsoWSZ+YyktKFl8fmMpKSl9LFRsPWZ1bmN0aW9uKEksTCxZKXtyZXR1cm4oWT1JLmNyZWF0ZSgpLnNoaWZ0KCksTCkuTy5jcmVhdGUoKS5sZW5ndGh8fEwuWi5jcmVhdGUoKS5sZW5ndGh8fChMLk89dm9pZCAwLEwuWj12b2lkIDApLFl9LCRWPWZ1bmN0aW9uKEksTCxZLGYscixwKXtyZXR1cm4gSy5jYWxsKHRoaXMsOSxMLFksSSxmLHIscCl9LGN2PWZ1bmN0aW9uKEksTCxZLGYscil7cmV0dXJuIHljLmNhbGwodGhpcyw5OSwzLEksTCxZLGYscil9LHFmPWZ1bmN0aW9uKEkpe3t2YXIgTD00Nzt3aGlsZShMIT0xOSlpZihMPT00Nyl2YXIgWT1DTy5hcHBseSgoTD00LDEpLGFyZ3VtZW50cyk7ZWxzZSBpZihMPT05MylMPTY4O2Vsc2UgaWYoTD09MzgpcisrLEw9Njg7ZWxzZSBpZihMPT0yKXZhciBmPShMPTkzLEkpWzBdLHI9MDtlbHNlIGlmKEw9PTY4KUw9cjxZLmxlbmd0aD81OToxMTtlbHNle2lmKEw9PTI5KXJldHVybiBteigwLG51bGwsSVswXSwxNCk7aWYoTD09NClMPVkubGVuZ3RoPT09MD8yOToyO2Vsc2UgaWYoTD09NTkpZis9ZW5jb2RlVVJJQ29tcG9uZW50KFlbcl0pK0lbcisxXSxMPTM4O2Vsc2UgaWYoTD09MTEpcmV0dXJuIG16KDAsbnVsbCxmLDEyKX19fSxaND1mdW5jdGlvbihJKXtyZXR1cm4gQUsuY2FsbCh0aGlzLDcsNDgsSSl9O3N3aXRjaCghKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpKXtjYXNlIGZhbHNlPT0wOnZhciBXdjthOnt2YXIgRGM9e2E6dHJ1ZX0sYng9e307dHJ5e1d2PShieC5fX3Byb3RvX189RGMsYngpLmE7YnJlYWsgYX1jYXRjaChJKXt9V3Y9ZmFsc2V9UTg9V3Y/ZnVuY3Rpb24oSSxMLFkpe2ZvcihZPTU4O1khPTMxOylpZihZPT01OClJLl9fcHJvdG9fXz1MLFk9MjA7ZWxzZSBpZihZPT0yMClZPUkuX19wcm90b19fIT09TD84NDo0NDtlbHNle2lmKFk9PTQ0KXJldHVybiBJO2lmKFk9PTg0KXRocm93IG5ldyBUeXBlRXJyb3IoSSsiIGlzIG5vdCBleHRlbnNpYmxlIik7fX06bnVsbDticmVhaztjYXNlIGZhbHNlOlE4PU9iamVjdC5zZXRQcm90b3R5cGVPZjticmVha312YXIgVT10aGlzfHxzZWxmLFJfPVE4LE5mPSJjbG9zdXJlX3VpZF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApLGNrLHZTPTAsR2M9ZnVuY3Rpb24oSSxMLFksZixyLHApe2lmKCJzIilwPTg3O2ZvcihmPTI1OzspdHJ5e2lmKHA9PTgwKWJyZWFrO2Vsc2UgaWYocD09MTMpZj0yNSxwPTY5O2Vsc2UgaWYocD09NDIpST1mYWxzZSxMPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe0k9dHJ1ZX19KSxwPTEwO2Vsc2V7aWYocD09MTUpcmV0dXJuIGZhbHNlO2lmKHA9PTY5KXJldHVybiBmPTI1LEk7cD09MTA/KGY9NjcsWT1mdW5jdGlvbigpe30sVS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixZLEwpLFUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsWSxMKSxwPTY5KTpwPT04NyYmKHA9VS5hZGRFdmVudExpc3RlbmVyJiZPYmplY3QuZGVmaW5lUHJvcGVydHk/NDI6MTUpfX1jYXRjaCh1KXtpZihmPT0yNSl0aHJvdyB1O2Y9PTY3JiYocj11LHA9MTMpfX0oKSxiQj0oKFIxKE93LDIsMzYsKCgoYm8ucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuRm09dHJ1ZX0sSkMucHJvdG90eXBlKS5IPWZ1bmN0aW9uKEkpe3tJPTE1O3doaWxlKEkhPTcwKUk9PTE0P0k9dGhpcy5OaC5sZW5ndGg/MTM6NzA6ST09MjI/ST0xNDpJPT0xNT9JPXRoaXMuTmg/Njc6NzA6ST09Njc/ST0xNDpJPT0xMyYmKHRoaXMuTmguc2hpZnQoKSgpLEk9MjIpfX0sSkMucHJvdG90eXBlKVsoYm8ucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRydWV9LEpDLnByb3RvdHlwZS5ZPWZhbHNlLEpDLnByb3RvdHlwZSkuZGlzcG9zZT1mdW5jdGlvbihJKXt7ST0yNzt3aGlsZShJIT0yMSlJPT0yNz9JPXRoaXMuWT8yMTo4NzpJPT04NyYmKHRoaXMuWT10cnVlLHRoaXMuSCgpLEk9MjEpfX0sU3ltYm9sLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCl9LGJvKSksT3cucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oSSxMLFksZixyLHApe2ZvcihwPTE1O3AhPTIwOylwPT03OT8odGhpcy5vZmZzZXRYPUkub2Zmc2V0WCx0aGlzLm9mZnNldFk9SS5vZmZzZXRZLHRoaXMuY2xpZW50WD1JLmNsaWVudFghPT12b2lkIDA/SS5jbGllbnRYOkkucGFnZVgsdGhpcy5jbGllbnRZPUkuY2xpZW50WSE9PXZvaWQgMD9JLmNsaWVudFk6SS5wYWdlWSx0aGlzLnNjcmVlblg9SS5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1JLnNjcmVlbll8fDAscD0zNSk6cD09Njk/cD1yPzI6Nzk6cD09NDM/cD1mPzk2OjU2OnA9PTM1Pyh0aGlzLmJ1dHRvbj1JLmJ1dHRvbix0aGlzLmtleUNvZGU9SS5rZXlDb2RlfHwwLHRoaXMua2V5PUkua2V5fHwiIix0aGlzLmNoYXJDb2RlPUkuY2hhckNvZGV8fChZPT0ia2V5cHJlc3MiP0kua2V5Q29kZTowKSx0aGlzLmN0cmxLZXk9SS5jdHJsS2V5LHRoaXMuYWx0S2V5PUkuYWx0S2V5LHRoaXMuc2hpZnRLZXk9SS5zaGlmdEtleSx0aGlzLm1ldGFLZXk9SS5tZXRhS2V5LHRoaXMucG9pbnRlcklkPUkucG9pbnRlcklkfHwwLHRoaXMucG9pbnRlclR5cGU9SS5wb2ludGVyVHlwZSx0aGlzLnN0YXRlPUkuc3RhdGUsdGhpcy50aW1lU3RhbXA9SS50aW1lU3RhbXAsdGhpcy5Tbz1JLEkuZGVmYXVsdFByZXZlbnRlZCYmT3cuRi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpLHA9MjApOnA9PTY3PyhmPUkuZnJvbUVsZW1lbnQscD05Nik6cD09MTU/KFk9dGhpcy50eXBlPUkudHlwZSxyPUkuY2hhbmdlZFRvdWNoZXMmJkkuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP0kuY2hhbmdlZFRvdWNoZXNbMF06bnVsbCx0aGlzLnRhcmdldD1JLnRhcmdldHx8SS5zcmNFbGVtZW50LHRoaXMuY3VycmVudFRhcmdldD1MLGY9SS5yZWxhdGVkVGFyZ2V0LHA9NDMpOnA9PTU2P3A9WT09Im1vdXNlb3ZlciI/Njc6Mzg6cD09ODI/KGY9SS50b0VsZW1lbnQscD05Nik6cD09OTY/KHRoaXMucmVsYXRlZFRhcmdldD1mLHA9NjkpOnA9PTI/KHRoaXMuY2xpZW50WD1yLmNsaWVudFghPT12b2lkIDA/ci5jbGllbnRYOnIucGFnZVgsdGhpcy5jbGllbnRZPXIuY2xpZW50WSE9PXZvaWQgMD9yLmNsaWVudFk6ci5wYWdlWSx0aGlzLnNjcmVlblg9ci5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1yLnNjcmVlbll8fDAscD0zNSk6cD09MzgmJihwPVk9PSJtb3VzZW91dCI/ODI6OTYpfSxPdy5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7KE93LkYuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyksdGhpcy5Tbykuc3RvcFByb3BhZ2F0aW9uP3RoaXMuU28uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5Tby5jYW5jZWxCdWJibGU9dHJ1ZX0sT3cpLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbihJKXt3aGlsZSh0cnVlIT0hW10paWYoZmFsc2UhPShPdy5GLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksbnVsbCkpYnJlYWs7KEk9dGhpcy5TbyxJLnByZXZlbnREZWZhdWx0KT9JLnByZXZlbnREZWZhdWx0KCk6SS5yZXR1cm5WYWx1ZT1mYWxzZX0sImNsb3N1cmVfbGlzdGVuYWJsZV8iKSsoTWF0aC5yYW5kb20oKSoxRTZ8MCksaW89MCxWUz0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEV3PSJjbG9zdXJlX2xtXyIrKCgoKEtFLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyl7Zm9yKFM9OTk7UyE9MTk7KWlmKFM9PTgzKVM9Yz4tMT8zNTo4NDtlbHNlIGlmKFM9PTM1KVg9cFtjXSxTPTM0O2Vsc2UgaWYoUz09NzEpUz1wPzQzOjkwO2Vsc2V7aWYoUz09NTkpcmV0dXJuIFg7Uz09MzQ/Uz1ZPzU5OjQ0OlM9PTQ0PyhYLnllPWZhbHNlLFM9NTkpOlM9PTg0PyhYPW5ldyBzOCghIWYsTCx0aGlzLnNyYyx1LHIpLFgueWU9WSxwLnB1c2goWCksUz01OSk6Uz09NDM/KGM9UFMoNTYsNTYsMCxmLEwscixwKSxTPTgzKTpTPT05OT8odT1JLnRvU3RyaW5nKCkscD10aGlzLkpbdV0sUz03MSk6Uz09OTAmJihwPXRoaXMuSlt1XT1bXSx0aGlzLmc1KyssUz00Myl9fSxLRSkucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgpe3tYPTI5O3doaWxlKFghPTQ1KWlmKFg9PTM4KVooMjYsdHJ1ZSxyW3VdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwocix1LDEpLFg9NTY7ZWxzZXtpZihYPT05NilyZXR1cm4gZmFsc2U7aWYoWD09NzcpWD1wIGluIHRoaXMuSj82Nzo4ODtlbHNlIGlmKFg9PTg5KVg9dT4tMT8zODo5NjtlbHNlIGlmKFg9PTU2KVg9ci5sZW5ndGg9PTA/NTA6NjU7ZWxzZXtpZihYPT04OClyZXR1cm4gZmFsc2U7aWYoWD09Njcpcj10aGlzLkpbcF0sdT1QUyg1Niw1OCwwLFksTCxmLHIpLFg9ODk7ZWxzZSBpZihYPT0yOSlwPUkudG9TdHJpbmcoKSxYPTc3O2Vsc2UgaWYoWD09NTApZGVsZXRlIHRoaXMuSltwXSx0aGlzLmc1LS0sWD02NTtlbHNlIGlmKFg9PTY1KXJldHVybiB0cnVlfX19fSxLRS5wcm90b3R5cGUpLmxkPShLRS5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oSSxMLFksZixyKXtyZXR1cm4gYWEoOSwoZj0ocj1JIT09KFk9TCE9PXZvaWQgMCx2b2lkIDApKT9JLnRvU3RyaW5nKCk6IiIsZmFsc2UpLHRydWUsdGhpcy5KLGZ1bmN0aW9uKHAsdSxYKXtmb3IoWD01MTtYIT03OTspaWYoWD09NjgpWD1yJiZwW3VdLnR5cGUhPWZ8fFkmJnBbdV0uY2FwdHVyZSE9TD81OToxO2Vsc2UgaWYoWD09OTUpWD11PHAubGVuZ3RoPzY4OjQ5O2Vsc2UgaWYoWD09NTkpKyt1LFg9OTU7ZWxzZSBpZihYPT04NylYPTk1O2Vsc2V7aWYoWD09MSlyZXR1cm4gdHJ1ZTtpZihYPT00OSlyZXR1cm4gZmFsc2U7WD09NTEmJih1PTAsWD04Nyl9fSl9LGZ1bmN0aW9uKEksTCxZLGYscixwKXtyZXR1cm4ocj0ocD0tMSx0aGlzLkopW0wudG9TdHJpbmcoKV0scikmJihwPVBTKDU2LDU3LDAsSSxmLFkscikpLHA+LTE/cltwXTpudWxsfSksTWF0aCkucmFuZG9tKCkqMUU2fDApLEkxPXt9LGhDPTAsckM9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt6PSgoUjEoRnQsMiw3LEpDKSxGdC5wcm90b3R5cGUpW2JCXT10cnVlLEZ0LnByb3RvdHlwZSk7d2hpbGUodHJ1ZSlpZih0cnVlIT0hKHoucWg9ZnVuY3Rpb24oSSl7dGhpcy5hOT1JfSxbXSkpYnJlYWs7KHouYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihJLEwsWSxmKXt4SygzLDMsbnVsbCx0cnVlLHRoaXMsSSxmLFksTCl9LHopLnJlbW92ZUV2ZW50TGlzdGVuZXI9KHouZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7e0Y9OTU7d2hpbGUoRiE9OTMpaWYoRj09MTApRj0hcC5GbSYmeTxTLmxlbmd0aD81MDo4NDtlbHNlIGlmKEY9PTQyKUY9NDc7ZWxzZSBpZihGPT02KUY9NzA7ZWxzZSBpZihGPT04OSlYPXAscD1uZXcgYm8ocixZKSxVOChwLFgpLEY9ODg7ZWxzZSBpZihGPT05NClGPVM/NjA6ODQ7ZWxzZSBpZihGPT01MCl1PXAuY3VycmVudFRhcmdldD1TW3ldLGY9SygzMyxyLHAsdHJ1ZSx1LGZhbHNlKSYmZixGPTIzO2Vsc2UgaWYoRj09ODcpRj1wIGluc3RhbmNlb2YgYm8/NzY6ODk7ZWxzZSBpZihGPT0zNyljPWMuYTksRj03MDtlbHNlIGlmKEY9PTM4KUwucHVzaChjKSxGPTM3O2Vsc2UgaWYoRj09NjApeT0wLEY9MzQ7ZWxzZSBpZihGPT03NilwLnRhcmdldD1wLnRhcmdldHx8WSxGPTg4O2Vsc2UgaWYoRj09ODgpZj10cnVlLEY9NTY7ZWxzZSBpZihGPT0yMClMPVtdLEY9NjtlbHNlIGlmKEY9PTQ3KUY9IXAuRm0mJnk+PTA/NDoxODtlbHNlIGlmKEY9PTgzKXA9bmV3IGJvKHAsWSksRj04ODtlbHNlIGlmKEY9PTM5KUY9dHlwZW9mIHA9PT0ic3RyaW5nIj84Mzo4NztlbHNle2lmKEY9PTg0KXJldHVybiBmO0Y9PTIzPyh5KyssRj0xMCk6Rj09MzQ/Rj0xMDpGPT01ND8odT1wLmN1cnJlbnRUYXJnZXQ9WSxmPUsoNixyLHAsdHJ1ZSx1LHRydWUpJiZmLHAuRm18fChmPUsoNSxyLHAsdHJ1ZSx1LGZhbHNlKSYmZiksRj05NCk6Rj09NTY/Rj1TPzM6MTg6Rj09Mz8oeT1TLmxlbmd0aC0xLEY9NDIpOkY9PTQ/KHU9cC5jdXJyZW50VGFyZ2V0PVNbeV0sZj1LKDcscixwLHRydWUsdSx0cnVlKSYmZixGPTE1KTpGPT0xOD9GPXAuRm0/OTQ6NTQ6Rj09Nzg/KFM9TCxwPUkscj1wLnR5cGV8fHAsWT10aGlzLkJpLEY9MzkpOkY9PTE1Pyh5LS0sRj00Nyk6Rj09OTU/KGM9dGhpcy5hOSxGPTQzKTpGPT00Mz9GPWM/MjA6Nzg6Rj09NzAmJihGPWM/Mzg6NzgpfX19LGZ1bmN0aW9uKEksTCxZLGYpe0ZmKDAsTCxJLHRoaXMsMyxudWxsLGYsWSl9KTt3aGlsZShOdW1iZXIodW5kZWZpbmVkKSE9PU5hTilpZighKHoubGQ9ZnVuY3Rpb24oSSxMLFksZil7cmV0dXJuIHRoaXMuZy5sZChJLFN0cmluZyhMKSxZLGYpfSwiIik9PSFmYWxzZSlicmVhazt6Lmhhc0xpc3RlbmVyPSh6Lkg9ZnVuY3Rpb24oKXt0aGlzLmE5PShGdC5GLkguY2FsbCh0aGlzKSx0aGlzLmcmJmdQKDAsMTIsdHJ1ZSx0aGlzLmcpLG51bGwpfSxmdW5jdGlvbihJLEwpe3JldHVybiB0aGlzLmcuaGFzTGlzdGVuZXIoSSE9PXZvaWQgMD9TdHJpbmcoSSk6dm9pZCAwLEwpfSk7dmFyIExPLHRDLE5CPXtYSzowLGNpOjEsc2Y6KFo0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkhpKyIifSwyKSwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifSxhXz1FcnJvcjtpZigoRHEucHJvdG90eXBlPVhqKGFfLnByb3RvdHlwZSksRHEpLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1EcSxSXylSXyhEcSxhXyk7ZWxzZSBmb3IodmFyIHdhIGluIGFfKWlmKHdhIT0icHJvdG90eXBlIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIE5fPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYV8sd2EpO05fJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoRHEsd2EsTl8pfWVsc2UgRHFbd2FdPWFfW3dhXTsoKChSMShMRSwyLDYsKChpQig1NSwoKCh6PShEcS5GPWFfLnByb3RvdHlwZSwiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLFNTKS5wcm90b3R5cGUsei52PWZ1bmN0aW9uKEksTCl7cmV0dXJuIHR5cGVvZiBJPT09KEw9dGhpcy5Bciwic3RyaW5nIik/TC5nZXRFbGVtZW50QnlJZChJKTpJfSx6KS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihJLEwpe3JldHVybihMfHx0aGlzLkFyKS5nZXRFbGVtZW50c0J5VGFnTmFtZShTdHJpbmcoSSkpfSx6LmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oSSxMLFkpe3JldHVybigoTD0oWT1TdHJpbmcoSSksdGhpcy5BciksTCkuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKFk9WS50b0xvd2VyQ2FzZSgpKSxMKS5jcmVhdGVFbGVtZW50KFkpfSx6KS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihJKXtyZXR1cm4gdGhpcy5Bci5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoSSkpfSx6LmFwcGVuZENoaWxkPWZ1bmN0aW9uKEksTCl7aWYodHJ1ZSlJLmFwcGVuZENoaWxkKEwpfSx6LmFwcGVuZD1mdW5jdGlvbihJLEwpe2dQKG51bGwsNzcsMCwibnVtYmVyIiwiYXJyYXkiLGFyZ3VtZW50cyxJLEkubm9kZVR5cGU9PTk/STpJLm93bmVyRG9jdW1lbnR8fEkuZG9jdW1lbnQpfSx6LmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihJLEwpe2ZvcihMPTYwO0whPTcwOylpZihMPT02MClMPUkubm9kZVR5cGUhPTE/Mzc6OTE7ZWxzZXtpZihMPT05MSl7c3dpdGNoKEkudGFnTmFtZSl7Y2FzZSAiQVBQTEVUIjpjYXNlICJBUkVBIjpjYXNlICJCQVNFIjpjYXNlICJCUiI6Y2FzZSAiQ09MIjpjYXNlICJDT01NQU5EIjpjYXNlICJFTUJFRCI6Y2FzZSAiRlJBTUUiOmNhc2UgIkhSIjpjYXNlICJJTUciOmNhc2UgIklOUFVUIjpjYXNlICJJRlJBTUUiOmNhc2UgIklTSU5ERVgiOmNhc2UgIktFWUdFTiI6Y2FzZSAiTElOSyI6Y2FzZSAiTk9GUkFNRVMiOmNhc2UgIk5PU0NSSVBUIjpjYXNlICJNRVRBIjpjYXNlICJPQkpFQ1QiOmNhc2UgIlBBUkFNIjpjYXNlICJTQ1JJUFQiOmNhc2UgIlNPVVJDRSI6Y2FzZSAiU1RZTEUiOmNhc2UgIlRSQUNLIjpjYXNlICJXQlIiOnJldHVybiBmYWxzZX1yZXR1cm4gdHJ1ZX1pZihMPT0zNylyZXR1cm4gZmFsc2V9fSx6LnJlbW92ZU5vZGU9U2Esei5jb250YWlucz1mdW5jdGlvbihJLEwsWSxmKXt7Zj03ODt3aGlsZShmIT0zKWlmKGY9PTkyKWY9dHlwZW9mIEkuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzg1OjcwO2Vsc2V7aWYoZj09NjgpcmV0dXJuIEk9PUx8fEkuY29udGFpbnMoTCk7aWYoZj09ODUpcmV0dXJuIEk9PUx8fCEhKFk9SS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihMKSwoWXwxNiktIC0xKyh+WV4xNikpO2lmKGY9PTY0KUw9TC5wYXJlbnROb2RlLGY9NjE7ZWxzZSBpZihmPT01KWY9SS5jb250YWlucyYmTC5ub2RlVHlwZT09MT82ODo5MjtlbHNle2lmKGY9PTUyKXJldHVybiBmYWxzZTtpZihmPT05NylmPUwmJkkhPUw/NjQ6NztlbHNlIGlmKGY9PTYxKWY9OTc7ZWxzZSBpZihmPT03MClmPTk3O2Vsc2UgaWYoZj09NzgpZj1JJiZMPzU6NTI7ZWxzZSBpZihmPT03KXJldHVybiBMPT1JfX19fSxwSCkpLHBILnByb3RvdHlwZS5sUj0wLHBIKS5wcm90b3R5cGUuRWY9IiIsRnQpKSx6PUxFLnByb3RvdHlwZSx6LnJvPXBILmVvKCkseikudj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkx9LHouZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVDF9LHoucWg9ZnVuY3Rpb24oSSxMKXtmb3IoTD00MDtMIT04Oyl7aWYoTD09MjIpdGhyb3cgRXJyb3IoIk1ldGhvZCBub3Qgc3VwcG9ydGVkIik7TD09NDA/TD10aGlzLlQxJiZ0aGlzLlQxIT1JPzIyOjQ6TD09NCYmKExFLkYucWguY2FsbCh0aGlzLEkpLEw9OCl9fSx6KS5VQT1mdW5jdGlvbigpe3RoaXMuTHo9IShXayg3MSwxMix0aGlzLGZ1bmN0aW9uKEkpe0kuTHomJkkuVUEoKX0pLHRoaXMuSnImJmdQKDAsMTQsdHJ1ZSx0aGlzLkpyKSwxKX0seikuSD1mdW5jdGlvbihJKXt7ST0xMjt3aGlsZShJIT03NylJPT01PyhXayg3MSwxMCx0aGlzLGZ1bmN0aW9uKEwpe0wuZGlzcG9zZSgpfSksIXRoaXMud28mJnRoaXMuTCYmU2EodGhpcy5MKSx0aGlzLlQxPXRoaXMuTWg9dGhpcy5MPXRoaXMuSHE9bnVsbCxMRS5GLkguY2FsbCh0aGlzKSxJPTc3KTpJPT0xMj8odGhpcy5MeiYmdGhpcy5VQSgpLEk9MzMpOkk9PTMzP0k9dGhpcy5Kcj83Mzo1Okk9PTczJiYodGhpcy5Kci5kaXNwb3NlKCksZGVsZXRlIHRoaXMuSnIsST01KX19LHoucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe3tGPTEzO3doaWxlKEYhPTMzKWlmKEY9PTY1KUY9TD85OjU7ZWxzZSBpZihGPT0yMylGPUk/NDY6ODQ7ZWxzZSBpZihGPT0xMClGPXkmJkk/ODY6MjM7ZWxzZSBpZihGPT00MSlZLlQxPW51bGwsTEUuRi5xaC5jYWxsKFksbnVsbCksRj0yMztlbHNlIGlmKEY9PTgyKUY9dHlwZW9mIEk9PT0ic3RyaW5nIj80NDo2NDtlbHNlIGlmKEY9PTI5KXI9ZixGPTY5O2Vsc2UgaWYoRj09NTkpdT10aGlzLk1oLFM9KHUhPT1udWxsJiZ5IGluIHU/dVt5XTp2b2lkIDApfHxudWxsLEY9MTU7ZWxzZXtpZihGPT04NCl0aHJvdyBFcnJvcigiQ2hpbGQgaXMgbm90IGluIHBhcmVudCBjb21wb25lbnQiKTtpZihGPT00MClGPXRoaXMuTWgmJnk/NTk6NDI7ZWxzZSBpZihGPT02NClGPShmPUkudVIpPzI5OjU2O2Vsc2UgaWYoRj09OSlJLlVBKCksSS5MJiZTYShJLkwpLEY9NTtlbHNle2lmKEY9PTYxKXRocm93IEVycm9yKCJVbmFibGUgdG8gc2V0IHBhcmVudCBjb21wb25lbnQiKTtpZihGPT03MylGPVk9PW51bGw/NjE6NDE7ZWxzZSBpZihGPT00MilTPW51bGwsRj0xNTtlbHNlIGlmKEY9PTg2KWM9dGhpcy5NaCx5IGluIGMmJmRlbGV0ZSBjW3ldLFooNywwLEksdGhpcy5IcSksRj02NTtlbHNlIGlmKEY9PTE1KUk9UyxGPTEwO2Vsc2UgaWYoRj09NSlZPUksRj03MztlbHNle2lmKEY9PTQ2KXJldHVybiBJO0Y9PTY5Pyh5PXIsRj00MCk6Rj09NDQ/KHI9SSxGPTY5KTpGPT0xMz9GPUk/ODI6MjM6Rj09NTYmJihwPUkucm8sWD1wLkVmKyI6IisocC5sUisrKS50b1N0cmluZygzNiksZj1JLnVSPVgsRj0yOSl9fX19fTt2YXIgdnYsaHA9e2J1dHRvbjoicHJlc3NlZCIsY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtOiJzZWxlY3RlZCIsbWVudWl0ZW1jaGVja2JveDooej0oaUIoNTgsaEspLGhLKS5wcm90b3R5cGUsImNoZWNrZWQiKSxtZW51aXRlbXJhZGlvOiJjaGVja2VkIixyYWRpbzoiY2hlY2tlZCIsdGFiOiJzZWxlY3RlZCIsdHJlZWl0ZW06InNlbGVjdGVkIn0sSWE9KGlCKDU3LChSMShkQywyLCgoei5QcT0oei5UeD1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifSxmdW5jdGlvbihJKXtyZXR1cm4gSS52KCl9KSx6LlI5PWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjKXtjPTEwO3tYPTgzO3doaWxlKHRydWUpdHJ5e2lmKGM9PTMzKWJyZWFrO2Vsc2UgYz09Nzc/KFg9MyxyLmJsdXIoKSxjPTgyKTpjPT00Mj9jPVkhPUw/Mzg6MzM6Yz09Njk/KHAudGFiSW5kZXg9LTEscC5yZW1vdmVBdHRyaWJ1dGUoInRhYkluZGV4IiksYz0zMyk6Yz09Mzg/KHA9cixjPTg2KTpjPT04Nj9jPUw/NjQ6Njk6Yz09NzI/KGY9ci50YWJJbmRleCxZPXR5cGVvZiBmPT09Im51bWJlciImJmY+PTAmJmY8MzI3NjgsYz00Mik6Yz09ODI/KFg9ODMsYz0yOSk6Yz09NzE/KFg9ODMsYz04Mik6Yz09NjQ/KHAudGFiSW5kZXg9MCxjPTMzKTpjPT01Mj9jPSFMJiZaKDMxLDAsMzIsSSk/Nzc6NjA6Yz09MTY/KGUoMCwyNSwyLEksNCkmJkkuc2V0QWN0aXZlKGZhbHNlKSxlKDAsMjMsMixJLDMyKSYmaUIoMTcsOCwzMixJLGZhbHNlKSYmSS5oKDMyLGZhbHNlKSxjPTYwKTpjPT0yOT9jPVooMzAsMCwzMixJKT8xNjo2MDpjPT0xMD9jPUFDKDM5LDYsMiwzMixJKSYmKHI9SS5QcSgpKT81MjozMzpjPT02MCYmKGM9KFk9ci5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzcyOjQyKX1jYXRjaChTKXtpZihYPT04Myl0aHJvdyBTO1g9PTMmJih1PVMsYz03MSl9fX0sei5qbz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgpe3doaWxlKDA9PSFbXSlpZih2dnx8KHZ2PXsxOiJkaXNhYmxlZCIsODoic2VsZWN0ZWQiLDE2OiJjaGVja2VkIiw2NDoiZXhwYW5kZWQifSksW10pYnJlYWs7KHA9KFg9dnZbTF0sKHI9SS5nZXRBdHRyaWJ1dGUoInJvbGUiKXx8bnVsbCk/KHU9aHBbcl18fFgsZj1YPT0iY2hlY2tlZCJ8fFg9PSJzZWxlY3RlZCI/dTpYKTpmPVgsZikpJiZmTygiYWQiLDE2LCJoaWRkZW4iLGZhbHNlLHAsSSxZKX0seikuZno9ZnVuY3Rpb24oSSxMLFksZil7KGY9TC52P0wudigpOkwpJiYoWT9jdjpLTykoZixbSV0pfSx6Lmg9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSl7Zm9yKHU9ODI7dSE9NDspdT09MjA/KChwPXRoaXMuUzVbTF0pJiZ0aGlzLmZ6KHAsSSxZKSx0aGlzLmpvKGYsTCxZKSx1PTQpOnU9PTk4PyhyPXRoaXMuVHgoKSxyLnJlcGxhY2UoL1xceGEwfFxccy9nLCIgIiksdGhpcy5TNT17MTpyKyItZGlzYWJsZWQiLDI6cisiLWhvdmVyIiw0OnIrIi1hY3RpdmUiLDg6cisiLXNlbGVjdGVkIiwxNjpyKyItY2hlY2tlZCIsMzI6cisiLWZvY3VzZWQiLDY0OnIrIi1vcGVuIn0sdT0yMCk6dT09ODg/dT1mPzY1OjQ6dT09ODI/KGY9SS52KCksdT04OCk6dT09NjUmJih1PXRoaXMuUzU/MjA6OTgpfSwzNyksaEspLGRDKSkse30pO1IxKHVvLDIsKChkQy5wcm90b3R5cGUuVHg9ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1idXR0b24ifSxkQy5wcm90b3R5cGUpLmpvPWZ1bmN0aW9uKEksTCxZKXtzd2l0Y2goTCl7Y2FzZSA4OmNhc2UgMTY6Zk8oImFkIiwxMCwiaGlkZGVuIixmYWxzZSwicHJlc3NlZCIsSSxZKTticmVhaztkZWZhdWx0OmNhc2UgNjQ6Y2FzZSAxOmRDLkYuam8uY2FsbCh0aGlzLEksTCxZKX19LDM4KSxMRSk7d2hpbGUoImciKWlmKCFbIiJdPT0oej11by5wcm90b3R5cGUsMCkpYnJlYWs7aWYodHlwZW9mIHVvIT09KHouaXNWaXNpYmxlPSgoKHouS2k9dHJ1ZSx6KS5QcT0oei5mej1mdW5jdGlvbihJLEwsWSl7e1k9NDt3aGlsZShZIT01MSlZPT02MT9ZPUwmJnRoaXMuRCYmWigxMSwwLEwsdGhpcy5EKT8zNjo1MTpZPT03Mz8odGhpcy5EP1MwKHRoaXMuRCwwLDI3LEwpPj0wfHx0aGlzLkQucHVzaChMKTp0aGlzLkQ9W0xdLHRoaXMuRy5meihMLHRoaXMsdHJ1ZSksWT01MSk6WT09OTA/KHRoaXMuRD1udWxsLFk9MTMpOlk9PTQ/WT1JPzg6NjE6WT09MTM/KHRoaXMuRy5meihMLHRoaXMsZmFsc2UpLFk9NTEpOlk9PTM2P1k9dGhpcy5ELmxlbmd0aD09MD85MDoxMzpZPT04JiYoWT1MPzczOjUxKX19LHouZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5XcX0sei5MaT0wLHouaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIVooMzUsMCwxLHRoaXMpfSx6LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIFooMzIsMCw0LHRoaXMpfSx6Lkg9ZnVuY3Rpb24oSSl7e0k9Nzg7d2hpbGUoSSE9NjkpST09Nzg/KHVvLkYuSC5jYWxsKHRoaXMpLEk9MjYpOkk9PTM4PyhkZWxldGUgdGhpcy5HLHRoaXMuRD1udWxsLEk9NjkpOkk9PTkyPyh0aGlzLlFlLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy5RZSxJPTM4KTpJPT0yNiYmKEk9dGhpcy5RZT85MjozOCl9fSx6LlJsPSh6Lmo1PTI1NSwzOSksKHouRD1udWxsLHouaD1mdW5jdGlvbihJLEwsWSxmLHIscCl7Zm9yKHA9NTQ7cCE9NDA7KXA9PTkwP3A9QUMoMzksNywyLEksdGhpcykmJkwhPVooMzQsMCxJLHRoaXMpPzY5OjQwOnA9PTY5Pyh0aGlzLkcuaCh0aGlzLEksTCksdGhpcy5XcT1MP3RoaXMuV3F8STp0aGlzLldxJn5JLHA9NDApOnA9PTc2P3A9ZiYmdHlwZW9mIGYuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhZi5pc0VuYWJsZWQoKXx8IWlCKDE1LDgsMSx0aGlzLCFyKT80MDoyNjpwPT0yOT8ocj0hTCxmPXRoaXMuZ2V0UGFyZW50KCkscD03Nik6cD09OTI/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxpQigxNiw4LDIsdGhpcyxmYWxzZSkmJnRoaXMuaCgyLGZhbHNlKSxwPTYpOnA9PTY/KHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuRy5SOSh0aGlzLHIpLHRoaXMuaCgxLCFyLHRydWUpLHA9NDApOnA9PTI2P3A9cj82OjkyOnA9PTU0JiYocD1ZfHxJIT0xPzkwOjI5KX0seikuV3E9KHouc2V0QWN0aXZlPWZ1bmN0aW9uKEkpe2lCKDE4LDgsNCx0aGlzLEkpJiZ0aGlzLmgoNCxJKX0sMCksZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5HLlBxKHRoaXMpfSkseikuVUE9ZnVuY3Rpb24oKXt1by5GLlVBLmNhbGwodGhpcyk7d2hpbGUoe30paWYodGhpcy5RZSYmdGhpcy5RZS5kZXRhY2goKSx0cnVlKWJyZWFrO3RoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkmJnRoaXMuRy5SOSh0aGlzLGZhbHNlKX0sZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LaX0pLCJmdW5jdGlvbiIpKXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBjbGFzcyAiK3VvKTt3aGlsZSh0eXBlb2YgaEshPT0iZnVuY3Rpb24iKXt0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK2hLKTtpZihbXSlicmVha312YXIgRVE9aUIoNSx1byksQ0U9KFBTKCgoUjEobG8sKCgoaUIoNTYsKFIxKFh0LDIsKFBTKDU2LDYsImdvb2ctY29udHJvbCIsKElhW0VRXT1oSyxmdW5jdGlvbigpe3JldHVybiBuZXcgdW8obnVsbCl9KSksNSksZEMpLFh0KSksWHQpLnByb3RvdHlwZS5oPWZ1bmN0aW9uKEksTCxZLGYscil7Zm9yKHI9MztyIT0zMzspcj09Mz8oWHQuRi5oLmNhbGwodGhpcyxJLEwsWSksZj1JLnYoKSxyPTUpOnI9PTk/KGYuZGlzYWJsZWQ9WSxyPTMzKTpyPT01JiYocj1mJiZMPT0xPzk6MzMpfSxYdCkucHJvdG90eXBlLmpvPWZ1bmN0aW9uKCl7fSxYdC5wcm90b3R5cGUuUjk9ZnVuY3Rpb24oKXt9LDIpLDM5LHVvKSxsby5wcm90b3R5cGUpLkg9ZnVuY3Rpb24oKXtkZWxldGUgKGxvLkYuSC5jYWxsKHRoaXMpLHRoaXMpLkhLLGRlbGV0ZSB0aGlzLk1pfSw1NiksNSwiZ29vZy1idXR0b24iLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBsbyhudWxsKX0pLFUpLnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24oSSl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe0koKX0se3RpbWVvdXQ6NH0pfTpVLnNldEltbWVkaWF0ZT9mdW5jdGlvbihJKXtzZXRJbW1lZGlhdGUoSSl9OmZ1bmN0aW9uKEkpe3NldFRpbWVvdXQoSSwwKX0sYTEsSFM9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LG5FPWdQKFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qcy9iZy8iLCIiXSwzKSxBcD1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNSwxMTAsMTE2LDEwMSwxMDMsNjcsMTA0LDEwMSw5OSwxMDcsNjYsMTIxLDExMiw5NywxMTUsMTE1KSxvMT17fSxVdz1bXSxQaz1bXSwkOD1bXSxyYT1bXSxkUD0oZy5wcm90b3R5cGUuV0s9dm9pZCAwLChnLnByb3RvdHlwZS5aej0hKGcucHJvdG90eXBlLlhtPSJ0b1N0cmluZyIsMSksZy5wcm90b3R5cGUpLnVnPXZvaWQgMCxbXSkscUI9W10sTWY9W10saXg9W10sdUI9W10sTzg9ZnVuY3Rpb24oSSxMKXtyZXR1cm4oTD1mTygiYWQiLDksImVycm9yIikpJiZJLmV2YWwoTC5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKFkpe3JldHVybiBMLmNyZWF0ZVNjcmlwdChZKX06ZnVuY3Rpb24oWSl7cmV0dXJuIiIrWX19KFUpLEpwPWZ1bmN0aW9uKEkpe3JldHVybihJPWZPKCJhZCIsMzMsImVycm9yIikpP2Z1bmN0aW9uKEwpe3JldHVybiBJLmNyZWF0ZVNjcmlwdFVSTChMKX06ZnVuY3Rpb24oTCl7cmV0dXJuIEx9fSgpLGVhPWZ1bmN0aW9uKEkpe3JldHVybihJPWZPKCJhZCIsMjUsImVycm9yIikpP2Z1bmN0aW9uKEwpe3JldHVybiBJLmNyZWF0ZUhUTUwoTCl9OmZ1bmN0aW9uKEwpe3JldHVybiBMfX0oKSxwRT0oKHo9KCgoKHk4LGZ1bmN0aW9uKCl7fSkoWTgpLGdDLEZqLHV4LGtWLGZ1bmN0aW9uKCl7fSkodmspLGphLEpwLGZ1bmN0aW9uKCl7fSkoZWEpLGcpLnByb3RvdHlwZSx6LlRYPWZ1bmN0aW9uKEksTCxZLGYscixwKXtyZXR1cm4gVi5jYWxsKHRoaXMsNyxJLEwsWSxmLHIscCl9LHoucGk9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYKXtyZXR1cm4gRmYuY2FsbCh0aGlzLEksZixZLHIsOCxMLHUscCxYKX0seikubUQ9MCxvMSkuY29uc3RydWN0b3IsVmM9KCh6LkcxPWZ1bmN0aW9uKCl7cmV0dXJuIFhmLmNhbGwodGhpcyx0cnVlLDE2KX0sZy5wcm90b3R5cGUuQj0oei51PSh3aW5kb3cucGVyZm9ybWFuY2V8fHt9KS5ub3c/ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5QaSt3aW5kb3cucGVyZm9ybWFuY2Uubm93KCl9OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSx6Lm5pPWZ1bmN0aW9uKCl7cmV0dXJuIHdQLmNhbGwodGhpcywwLDEwKX0sImNyZWF0ZSIpLGcpLnByb3RvdHlwZS56eD0wLHouVlc9KHouSTk9ZnVuY3Rpb24oSSxMLFksZixyKXtpZih0cnVlKXJldHVybiBxLmNhbGwodGhpcyw1NixJLEwsWSxmLHIpfSxmdW5jdGlvbihJLEwsWSxmLHIpe3JldHVybiB3Qy5jYWxsKHRoaXMsMTQsSSxMLFksZixyKX0pLHZvaWQgMCksemM9KCgoKHo9Zy5wcm90b3R5cGUsei5qPWZ1bmN0aW9uKEksTCl7cmV0dXJuIFZjPWZ1bmN0aW9uKCl7cmV0dXJuIEw9PUk/LTM1Oi0xN30sST17fSxMPXt9LGZ1bmN0aW9uKFksZixyLHAsdSxYLGMsUyx5LEYsRyxBLFEsRCxXLGIsYSx3LHYsRSxtLFlLLEdsLGNTLG4sc3csbEIsaCxXUyxILGZFLFAsRDQsZTAsdCxwTyxPLHFfLFIsbkgsSV8semwsQixMSCl7Qj0oUj0zMywzMSksTz11bmRlZmluZWQ7e25IPWZhbHNlO3doaWxlKHRydWUhPSFbXSl0cnl7aWYoUj09NDApYnJlYWs7ZWxzZSBpZihSPT00NylCPTIyLHRLKDI3Mix0aGlzLDMwMDAxLDUwOSksUj03MjtlbHNlIGlmKFI9PTEzKU8hPT11bmRlZmluZWQ/KFI9TyxPPXVuZGVmaW5lZCk6Uj00MDtlbHNlIGlmKFI9PTk5KVI9UD09dUI/NDI6OTA7ZWxzZSBpZihSPT00NSlSPVA9PWl4PzUxOjk5O2Vsc2UgaWYoUj09NTQpemw9SGsoNTA5LDI5NyxZWzFdLHRoaXMsMzAwMDEpLE89NjQsUj03MjtlbHNlIGlmKFI9PTI0KUI9MjIsUD1ZWzBdLFI9NDU7ZWxzZSBpZihSPT0yNilSPW4/MjozMTtlbHNlIGlmKFI9PTg3KUI9OSx2PWwodGhpcywzODEpfHx7fSxEPXYudHwwLFI9ODM7ZWxzZXtpZihSPT02NClyZXR1cm4gemw7aWYoUj09OTApUj1QPT0kOD83MDozODtlbHNlIGlmKFI9PTIyKVI9Yi5sZW5ndGg+MUU2PzQ5Ojg5O2Vsc2UgaWYoUj09MzkpUj1ZWzRdPzc3OjMyO2Vsc2UgaWYoUj09NilSPU8hPT11bmRlZmluZWQ/NzI6MjU7ZWxzZSBpZihSPT03NClRKyssUj0yODtlbHNlIGlmKFI9PTE1KUI9MTMsdT1sKHRoaXMsMzU3KSx1Lmxlbmd0aD4wJiZKSygyNjIsdGhpcyxkKDIsdS5sZW5ndGgpLmNvbmNhdCh1KSwxNDcpLEpLKDI2Mix0aGlzLGQoMSx0aGlzLmkrMT4+MSksMjQ0KSxtdSgyNjIsdGhpcyxkKDEsdGhpc1tQa10ubGVuZ3RoKSkscE89dGhpcy5rYT9rKHRoaXMsNDIxKTpsKHRoaXMsMzUwKSxwTy5sZW5ndGg+MCYmbXUoMTIsdGhpcyxkKDIscE8ubGVuZ3RoKS5jb25jYXQocE8pLDIyNykscD1sKHRoaXMsMTIpLHAubGVuZ3RoPjQmJkpLKDI2Mix0aGlzLGQoMixwLmxlbmd0aCkuY29uY2F0KHApLDIyNiksSD0wLEgtPShrKHRoaXMsMjYyKS5sZW5ndGh8MCkrNSxiPWsodGhpcywxOTUpLEgrPShlMD1sKHRoaXMsMzUzKSwoZTB8MjA0NyktIC0xKyh+ZTBeMjA0NykpLGIubGVuZ3RoPjQmJihILT0oYi5sZW5ndGh8MCkrMyksSD4wJiZtdSgyNjIsdGhpcyxkKDIsSCkuY29uY2F0KFk4KEgpKSwxNTApLFI9OTY7ZWxzZSBpZihSPT00MilEPTAsdj17fSxSPTg3O2Vsc2UgaWYoUj09MzApQj0yMixuTyhMSCwxNywzNTcsdGhpcyksTz00MCxSPTcyO2Vsc2UgaWYoUj09NzkpUj1QPT1xQj8zNjo3MjtlbHNlIGlmKFI9PTUxKXc9WVsxXSxSPTIzO2Vsc2UgaWYoUj09MzEpbj0iIixRPTAsUj04MjtlbHNle2lmKFI9PTg1fHxSPT01NSlyZXR1cm4gemw7aWYoUj09OTUpSGsoNTA5LDI5NyxZWzFdLHRoaXMsWVsyXSksUj03MjtlbHNlIGlmKFI9PTMzKWxCPUwsTD1JLFI9MjQ7ZWxzZSBpZihSPT04MylCPTIyLEdsPVskOCxZLHRoaXMuRzEoKV0sbT1bUGssWV0sUj0zOTtlbHNlIGlmKFI9PTIpbj0iJCIrbixSPTQ0O2Vsc2UgaWYoUj09NylSPVA9PVV3Pzk1OjI5O2Vsc2UgaWYoUj09NjcpZj1XW1FdW3RoaXMuWG1dKDE2KSxmLmxlbmd0aD09MSYmKGY9IjAiK2YpLG4rPWYsUj03NDtlbHNlIGlmKFI9PTcyKUI9MzEsTD1sQixSPTEzO2Vsc2UgaWYoUj09MTgpemw9e0R6OkdsLE1lOm0sdGltZW91dDpELGZpOmZhbHNlLGU1OjB9LE89NTUsUj03MjtlbHNlIGlmKFI9PTk2KVI9Yi5sZW5ndGg+ND8yMjo5ODtlbHNlIGlmKFI9PTM4KVI9UD09UGs/OTQ6NztlbHNlIGlmKFI9PTQ0KUE9bixsKHRoaXMsMjYyKS5sZW5ndGg9ci5zaGlmdCgpLGwodGhpcyw0ODgpLmxlbmd0aD1yLnNoaWZ0KCksQyh0aGlzLDE5NSkubGVuZ3RoPXIuc2hpZnQoKSxrKHRoaXMsMTIpLmxlbmd0aD1yLnNoaWZ0KCksbCh0aGlzLDIzNikubGVuZ3RoPXIuc2hpZnQoKSxrKHRoaXMsMzUwKS5sZW5ndGg9ci5zaGlmdCgpLGwodGhpcyw0NjQpWzBdPXIuc2hpZnQoKSxDKHRoaXMsNDIxKS5sZW5ndGg9ci5zaGlmdCgpLHpsPUEsTz04NSxSPTcyO2Vsc2UgaWYoUj09ODgpUj04NjtlbHNlIGlmKFI9PTI4KVI9UTxXLmxlbmd0aD82Nzo0NDtlbHNlIGlmKFI9PTIzKUI9MjQsdGhpcy50cj1BSyg3LDUsMCwyNTUsYXRvYih3KSksdGhpcy5QPXRoaXMudHIubGVuZ3RoPDwzLHgoNDgsdGhpcyxbMCwwLDBdKSxSPTQ3O2Vsc2UgaWYoUj09MjEpQj03MyxjUygpLFI9NTM7ZWxzZSBpZihSPT00OSliPWIuc2xpY2UoMCwxRTYpLEpLKDI2Mix0aGlzLFtdLDEwMiksSksoMjYyLHRoaXMsW10sMTM1KSxSPTg5O2Vsc2UgaWYoUj09MylFLmxlbmd0aD0wLFI9NzI7ZWxzZSBpZihSPT02NSl0aGlzLlQucHVzaChtKSx0aGlzLlQucHVzaChHbCksTz00MCxSPTcyO2Vsc2UgaWYoUj09ODkpbXUoMjYyLHRoaXMsZCgyLGIubGVuZ3RoKS5jb25jYXQoYiksNSksUj05ODtlbHNlIGlmKFI9PTU3KWNTPXkudmFsdWUsUj0yMTtlbHNlIGlmKFI9PTI1KUI9MjIsVz1ZOCgyKS5jb25jYXQobCh0aGlzLDI2MikpLFdbMV09KGE9V1swXSwxNTktKGEmMTU5KSt+KGEmMTU5KS1+YSksV1szXT0oZkU9V1sxXSxEND1zd1swXSwtKGZFfDApKyhENHwwKSsyKihmRSZ+RDQpKSxXWzRdPShHPVdbMV0sYz1zd1sxXSwoR3wwKS0oY3wwKSstMi0yKihHfH5jKSksbj10aGlzLmJSKFcpLFI9MjY7ZWxzZSBpZihSPT0zNil7aWYoRT1sKHRoaXMsMTYxKSxYPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJkVbU3ltYm9sLml0ZXJhdG9yXSl0PVguY2FsbChFKTtlbHNlIGlmKHR5cGVvZiBFLmxlbmd0aD09Im51bWJlciIpdD17bmV4dDpBQygzOSwyNCwwLEUpfTtlbHNlIHRocm93IEVycm9yKFN0cmluZyhFKSsiIGlzIG5vdCBhbiBpdGVyYWJsZSBvciBBcnJheUxpa2UiKTtZSz10LHk9WUsubmV4dCgpLFI9ODh9ZWxzZSBpZihSPT05NClyPVlbMV1bMV0sc3c9ZCgyLChDKHRoaXMsMjYyKS5sZW5ndGh8MCkrMiksV1M9dGhpcy5VLHRoaXMuVT10aGlzLFI9MTU7ZWxzZSBpZihSPT02OClSPUY/MTg6NjU7ZWxzZSBpZihSPT05OClCPTIyLHRoaXMuVT1XUyxSPTY7ZWxzZSBpZihSPT04NilSPXkuZG9uZT8zOjU3O2Vsc2UgaWYoUj09ODIpUj0yODtlbHNlIGlmKFI9PTMyKXRoaXMuVC5wdXNoKG0pLHRoaXMuVC5wdXNoKEdsKSxPPTQwLFI9NzI7ZWxzZSBpZihSPT03Nyl7Zm9yKGggaW4gRj1mYWxzZSx2KWlmKGghPT0idCImJk9iamVjdC5oYXNPd24odixoKSl7Rj10cnVlO2JyZWFrfVI9Njh9ZWxzZSBpZihSPT0xMClCPTIyLFI9NTM7ZWxzZSBpZihSPT03MClTPVlbMV0sU1sxXS5wdXNoKGsodGhpcywyNjIpLmxlbmd0aCxsKHRoaXMsNDg4KS5sZW5ndGgsayh0aGlzLDE5NSkubGVuZ3RoLGwodGhpcywxMikubGVuZ3RoLEModGhpcywyMzYpLmxlbmd0aCxrKHRoaXMsMzUwKS5sZW5ndGgsayh0aGlzLDQ2NClbMF0sbCh0aGlzLDQyMSkubGVuZ3RoKSxNKDI5Nyx0aGlzLFNbMl0pLHRoaXMuU1s0MTRdJiZIayg1MDksMjk3LGwodGhpcyw0MTQpLHRoaXMsMzAwMDEpLFI9NzI7ZWxzZSBpZihSPT0yOSlSPVA9PU1mPzU0Ojc5O2Vsc2UgaWYoUj09NTMpeT1ZSy5uZXh0KCksUj04NjtlbHNlIGlmKFI9PTU4KXRocm93IElfO319fWNhdGNoKGpTKXtpZihCPT0oSV89alMsMzEpKXRocm93IGpTO0I9PTk/KE89NTgsUj04Myk6Qj09NzM/KHFfPWpTLFI9MTApOkI9PTI0PyhMSD1qUyxSPTMwKTpCPT0xMz8oTz01OCxSPTk4KTpCPT0yMiYmKE89NTgsUj03Mil9fX19KCkseikua0k9ZnVuY3Rpb24oSSl7cmV0dXJuIGlCLmNhbGwodGhpcywzNixJKX0sei5iUj1mdW5jdGlvbihJKXtyZXR1cm4gWi5jYWxsKHRoaXMsMjAsSSl9LHouQ2k9ZnVuY3Rpb24oKXtyZXR1cm4gd1AuY2FsbCh0aGlzLDAsMjkpfSx6KS5vbD0wLHopLk9pPTAsLy4vKTt6LnoxPWZ1bmN0aW9uKCl7cmV0dXJuIHljLmNhbGwodGhpcyw5OSwzOCl9O3ZhciB4VixLSD0oZy5wcm90b3R5cGVbcmFdPVswLDAsMSwxLDAsMSwxXSxpeCkucG9wLmJpbmQoZy5wcm90b3R5cGVbJDhdKTsoYTE9KHhWPXdQKDAsKHpjW2cucHJvdG90eXBlLlhtXT1LSCw1OSksZy5wcm90b3R5cGUuQix7Z2V0OktIfSksZy5wcm90b3R5cGUuaVI9dm9pZCAwLFUudHJheXJpZGV8fChVLnRyYXlyaWRlPXt9KSksYTEpLm0+NDB8fChhMS5tPTQxLGExLmFkPUd5LGExLmE9UVMpLGExLmxydl89ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyl7cmV0dXJuW2Z1bmN0aW9uKHkpe3JldHVybiBnUChmYWxzZSw0OCxTLHkpfSwoUz1uZXcgZyhJLFgsdSxwLGMscixmLEwpLGZ1bmN0aW9uKHkpe1MuejEoeSl9KV19O30pLmNhbGwodGhpcyk7J10uam9pbignXG4nKSkpO30pLmNhbGwodGhpcyk7"}},"time_used":13,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":10,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/images/cleardot.gif","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.156.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.190Z","timestamp":1785137073190,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /images/cleardot.gif HTTP/1.1\r\nHost: www.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-type: image/gif\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 43\r\ndate: Mon, 27 Jul 2026 07:24:33 GMT\r\npragma: no-cache\r\nexpires: Fri, 01 Jan 1990 00:00:00 GMT\r\ncache-control: no-cache, no-store, must-revalidate\r\nlast-modified: Tue, 22 Oct 2019 18:30:00 GMT\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\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":43,"size_decoded":717,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 1","md5":"fc94fb0c3ed8a8f909dbc7630a0987ff","sha1":"56d45f8a17f5078a20af9962c992ca4678450765","sha256":"2dfe28cbdb83f01c940de6a88ab86200154fd772d568035ac568664e52068363","sha512":"c87bf81fd70cf6434ca3a6c05ad6e9bd3f1d96f77dddad8d45ee043b126b2cb07a5cf23b4137b9d8462cd8a9adf2b463ab6de2b38c93db72d2d511ca60e3b57e","ssdeep":"","tlshash":"cb900003cac8c022c2a2c0300a0c03002bbaa8300228030ec0bc30fcec2a3a38c02000","first_seen":"2023-04-05T02:54:04Z","last_seen":"2026-08-19T17:43:00.613727Z","times_seen":83698,"resource_available":true,"data":"R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="}},"time_used":20,"timings":{"blocked":1,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/te_bk.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.374Z","timestamp":1785137073374,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/te_bk.gif HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 848\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:11:17 GMT\r\nexpires: Fri, 23 Jul 2027 10:11:17 GMT\r\ncache-control: public, max-age=31536000\r\nage: 335596\r\nlast-modified: Sun, 25 Jun 2023 02:58:00 GMT\r\ncontent-type: image/gif\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":848,"size_decoded":1507,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 59","md5":"daf9b48977041ac85a62dc9b7c16b38d","sha1":"049dcb061470572d06fd83b287ebd1d96e6bb870","sha256":"cb1fd0e051209c32622e91cdeda967e50d80a184b185ac6a656a807986e8eb75","sha512":"99f5f27990b6b5559c751a92c04037f5d42e848a966893484af66d3f66828c29a2dddc8788d7dd4cd835e8ab6d834e74fb3eaa4e2cd72d55b2813d7aab990af2","ssdeep":"","tlshash":"1c018c0cc8700a19e3422fb0ca5b6e0429675b465d88b20fb6aa22c27d04ba48049b1c","first_seen":"2023-04-05T23:29:53Z","last_seen":"2026-08-19T17:30:33.42702Z","times_seen":11944,"resource_available":false,"data":"R0lGODlhAQA7APcAANfX19/f3+Hh4eLi4uTk5Obm5ujo6Orq6uvr6+3t7e7u7uTv++bw++fw/Ojx/Ory/O30/O71/fHx8fP4/fT5/fb6/vj7/vr8/vz9//7+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAQA7AAAINQAzCBxIUCCGCwgtVFhIYcKECA8jQHgw8UEDBg4aLGCwIIOEjyAlKEiA4ICBAgQGCAgQAEBAADs="}},"time_used":15,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:43.014Z","timestamp":1785137083014,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"OPTIONS /element/log?format=json\u0026hasfast=true\u0026authuser=0 HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-encoding,content-type,x-goog-authuser\r\nReferer: https://ifxbrokertrades.co.za/\r\nOrigin: https://ifxbrokertrades.co.za\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=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://ifxbrokertrades.co.za\r\naccess-control-allow-methods: GET, POST, OPTIONS\r\naccess-control-max-age: 86400\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web,authorization,content-encoding,content-type,x-goog-authuser,origin\r\ncontent-type: text/plain; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 07:24:43 GMT\r\nserver: Playlog\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\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":0,"size_decoded":529,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.88462Z","times_seen":17976927,"resource_available":true,"data":""}},"time_used":29,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/api/stats/atr?ns=yt\u0026el=embedded\u0026cpn=bFlgcOCHO7IL-FPU\u0026ver=2\u0026cmt=0\u0026fs=0\u0026rt=5.682\u0026euri=https%3A%2F%2Fifxbrokertrades.co.za%2F\u0026lact=5701\u0026cl=951779104\u0026mos=0\u0026volume=100\u0026cbr=Firefox\u0026cbrver=134.0\u0026c=WEB_EMBEDDED_PLAYER\u0026cver=2.20260724.01.00\u0026cplayer=UNIPLAYER\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\u0026epm=1\u0026hl=en_US\u0026cr=NO\u0026len=354\u0026fexp=v1%2C24004644%2C27058999%2C34656%2C124674%2C117689%2C9252%2C3479%2C13030%2C23206%2C100702%2C2877%2C12228%2C25059%2C4174%2C30447%2C18705%2C21437%2C4571%2C13016%2C13110%2C2977%2C9404%2C23826%2C9500%2C1840%2C24118%2C21597%2C7917%2C5243%2C453%2C9688%2C25821%2C20589%2C4200%2C458%2C29655%2C9181%2C15416%2C82%2C17379%2C12581%2C7525%2C366%2C5666%2C1168%2C372%2C7758%2C16453%2C172%2C8868%2C3475%2C5353%2C9867%2C1595%2C927%2C2249%2C115%2C71%2C87%2C8117%2C3692%2C11592%2C1459%2C753%2C4362%2C12864%2C9717%2C1415%2C2198%2C3895%2C2457%2C845%2C884%2C1977%2C619%2C285%2C653%2C2%2C7891%2C1295%2C6288%2C3291%2C629%2C537%2C4%2C2%2C744%2C8069%2C7175%2C457%2C1455%2C8371%2C1961%2C783%2C16161%2C5821\u0026muted=0\u0026docid=tp6uF-bPG6E","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:31.845Z","timestamp":1785137071845,"http_version":"","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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /api/stats/atr?ns=yt\u0026el=embedded\u0026cpn=bFlgcOCHO7IL-FPU\u0026ver=2\u0026cmt=0\u0026fs=0\u0026rt=5.682\u0026euri=https%3A%2F%2Fifxbrokertrades.co.za%2F\u0026lact=5701\u0026cl=951779104\u0026mos=0\u0026volume=100\u0026cbr=Firefox\u0026cbrver=134.0\u0026c=WEB_EMBEDDED_PLAYER\u0026cver=2.20260724.01.00\u0026cplayer=UNIPLAYER\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\u0026epm=1\u0026hl=en_US\u0026cr=NO\u0026len=354\u0026fexp=v1%2C24004644%2C27058999%2C34656%2C124674%2C117689%2C9252%2C3479%2C13030%2C23206%2C100702%2C2877%2C12228%2C25059%2C4174%2C30447%2C18705%2C21437%2C4571%2C13016%2C13110%2C2977%2C9404%2C23826%2C9500%2C1840%2C24118%2C21597%2C7917%2C5243%2C453%2C9688%2C25821%2C20589%2C4200%2C458%2C29655%2C9181%2C15416%2C82%2C17379%2C12581%2C7525%2C366%2C5666%2C1168%2C372%2C7758%2C16453%2C172%2C8868%2C3475%2C5353%2C9867%2C1595%2C927%2C2249%2C115%2C71%2C87%2C8117%2C3692%2C11592%2C1459%2C753%2C4362%2C12864%2C9717%2C1415%2C2198%2C3895%2C2457%2C845%2C884%2C1977%2C619%2C285%2C653%2C2%2C7891%2C1295%2C6288%2C3291%2C629%2C537%2C4%2C2%2C744%2C8069%2C7175%2C457%2C1455%2C8371%2C1961%2C783%2C16161%2C5821\u0026muted=0\u0026docid=tp6uF-bPG6E HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Visitor-Id: CgtVVVVtSnNGcGQ0Yyipj5zTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgC2LfAgrcAjIwLllUPUdoSG9WcVZCcmpITUhrc3U1dVNTZ0x6b2FGeFNsaXBBSmdnNUJyXzZWWHRpcEt0ME0wdEd4Nm1hTk5VTEZTdW9QbWpobjZUclJvZkJBMFBYMTZ3SlA4NGc4MnhsVkhlbEJXbUphZUZONmtMVzNVQk1qNWdSMnllQjJudF9tYzVGdGEzQlNKVTVvOHFJZnpJMmZJdXlXWTE0RHRaXzFEblBwRnB4el9YbEd2cU5mSGRhN21femdMeUhJUS1mYXdKOVpyUDkwTHh3Q092RlR5M3V3U3VCeDNoZ1FaMW51ajhPcWZRdklKUVc1eEpmeHIwMXZSTVdhZUVrNVpFalBZdVl3R0szOGdVZmlNUlh4SXpVZURlZ0NYdnBOOC1CTUFhQS1ZdkdoMEVtbC1HblFteUJNbjJGMThuajZmellwRXpqeHlhYUN6UHFzeHh4WTU0VFBWd1EtUQ%3D%3D\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785137066057\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C1280%2C1024%2C300%2C315\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 2176\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=GhHoVqVBrjHMHksu5uSSgLzoaFxSlipAJgg5Br_6VXtipKt0M0tGx6maNNULFSuoPmjhn6TrRofBA0PX16wJP84g82xlVHelBWmJaeFN6kLW3UBMj5gR2yeB2nt_mc5Fta3BSJU5o8qIfzI2fIuyWY14DtZ_1DnPpFpxz_XlGvqNfHda7m_zgLyHIQ-fawJ9ZrP90LxwCOvFTy3uwSuBx3hgQZ1nuj8OqfQvIJQW5xJfxr01vRMWaeEk5ZEjPYuYwGK38gUfiMRXxIzUeDegCXvpN8-BMAaA-YvGh0Eml-GnQmyBMn2F18nj6fzYpEzjxyaaCzPqsxxxY54TPVwQ-Q; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxj3jqflqfKVAw%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":2176,"data":"atr=a%3D6%26a2%3D10%26c%3D1785137065%26d%3D56%26t%3D21600%26c1a%3D1%26c6a%3D1%26c6b%3D1%26hh%3Dqv-U9rjo0-EMSLbLHehTJ2iHodeHgE0uMuiAWhurayI%26r1a%3D%24E4w5jOhRAAYuiqQtDoretL4VnB_PJ3enAEABEArZ1EoS5wE7Xtk97WcGpPmKlYTZlOJJ--P4c4OmRKTXdaH8gx2VRosuEjKhFX4eUzRmpzjbXOMUkOmHUHzHngAAAOvOAAAAD_QBB-IAUi_Sd-6LKfkONycRLRc6ZfoEwpN2YvESkgZ8alH2SX5pfq8AaGFqKK1S1gUzjXf8ObamjBhorP1NQp6pL_4CPuEQNSG8POddFzcvnN16uECbNPMFBIYTKKt1sRLQDeKc9oOXVCjeD2BYpJMWxRfRFd9wt8Q4WDHKw0fD7nHnuMnYqpTXsS5K7V8TdObjejBj-scqxL8FfvznX3ozoWsMPW5VyBk_X6DFWF40hY9Xkfa8T9Iq0Iru4PTnirR7kHsEfGI-lI7bwfRf2HuZY5lZ-rhqZNvmdcvrA3KptqJX3qNLZhFi97ozhS40UV_RZdCTywfBPsOifAKNIdhXZnXN-FCIg52W2E_8p_c5NdA_NiNcKLcOyIKGF1R2oU8yOsNs_VPz1zcric5SHKtxAVQ2n7v7jSt1PyWLCnNiyZK_LrBpEh_YJOkAhervcBgjeMuo6YYBhjQ9qr43HT7Hu0Xlhyz5QgOlwOmQCqtHo_HfuLL2ihfEO5Zn2Sw-MwHEzV47if1mNJjsmpcd_9vGb3GrkPEyuYnDuZGflpXl_WqhNGYRgYwsFNd803tYAVPCRg-fxXvA54lrIYVaJG6SLPWGxnXorzYaSHs0TZhy71Y2_mTq-sL1bjrCM3Bp4EKEjzcis-Tec1Is-Dmh2ZIoIt2qtKFiB8SbQt9HnWKPguvyJ55mXcWXwrHuEoXWe88EEt6gIohtUVRxPzkO2VoYYWkCbYNY_xaGI7vYjdvldbnk3s3_JnInRiqCP3ZLNdCf_FnVnY6kq3A_vHgf0vdx6udAMZtb1L-ikddkPtu6ryEYKsqE_anfSlZidNKX0OqEcFFxlSlN4saKudbJe-eLGa4P05WHUFHr33WziboaguvppmJUpNatbVgAlG_nQ0xtuDXmWzaJp-RU0gz3Tbr80OOLPmkzehfPyCNoC4BAqYSZ9mNkkjVLzboaCHcpuxKy5njp-oni_Bny-E3zoFraSBbZODOY7AwL779yRNS_z0sfj5jxc61wEMew4UMkeRXkPWnaca8BTBHMcZgkK_3ccVDC0PiVYtqr13aaj1CVEgsXJIF5DJLIQhtwyse6ZQmiYp84HejcEarGx2KkfCyhRm0-K3qIyUmxE358q7uelO-bp_v0ZYcs8jyhfRakZCeo3I9R6ZQU-Eyc4705u7IrDKUwKnJZmG1O4yeS9y8bYDJ0_TgzSoqR-CIW5iJrvjQiHM-WHCUMMCq8h8qowGdm5qI9l51oDUON9D1RNuMieyADsiQfXpFKvg4AwRrr903iabembjxWHaroH18c2aXSpbXtfscAZOzekXQe31DXndTIcqte6xa736qNdy53Tl08zUDtJ8IwofWol9QCsjCAPeCaKgLPLUgi-OHKmR9lJOkNr16b-b2D_KOUb1DrSwOykE8SuEi-Z-dl9DYIPCX0HJ5g7c0YsqTykNTjWj7XfxbwtXaYazXXjrntkRSwbeu529sv58RJtRtiNqoXisls4M2UEcmvEKDr5yU6fzFgokhiAH5OprkRUikmEnA4JXXzbSAB30Uw58sPb5ZHmEjEnPXPLcqQCIxoVDYOCEtLyVJzRUR5z5fGn5AF9COTIkvkEcCdMgFYz2HQVl_nb6RiT4VVUL1u0KGgNDpS9fNhLuptiZtt9daK0HZ-fhVMCPA%26r6a%3D1785137065%26r6b%3D1785137065\u0026session_token=QUM4Zm9rUUZUS1VhVmZkX191NTM0TFl4bTEtZXxBR3JiS2FsNWpOTWJVT1R5VFRxN2l1UHJsQng1SUljdlpUMnpHYnpkYXllUk5YSE9hZWJXT0d6QzFUTTItdXUtaW1GdmtSR1dEY2dyaDRSQ3dRWkVWdkhpa21xS2JRbnZoVG8%3D"}},"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-19T17:45:01.88462Z","times_seen":17976927,"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":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:31.976Z","timestamp":1785137071976,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=qIDWRSMhLXEwhRO4xETATQPR3jvQyZo5T4h1SiDwJZFeQABsv_T5rYcMTLyacdftQe1HFuTQYjCxldnVpZp74VYBMv_rUVwgOJ5HUwk7m3JIuCd9ZG52YE8hl7osllUIaKR2lm2Uof5aC684VV5dlQS3kmZBv5qVoUMTOzsGqPehMT1KjkhyJLxLtvige5qHG872p_pLGkmERGh0bmiKBMP7ZZDLQotiJ1KMNThxulgS-EDDia5j6Hykxc6wr_Ao78rVG6XGls6peXe6iAAIyvMNaTz8Cp_9-G3okp6kxCIuNJKmfPqv4_6k45-NAxJPqfBHRLWzFAp4sda6-ccaAA; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxjX2KroqfKVAw%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 475313\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:32:16 GMT\r\nexpires: Thu, 22 Jul 2027 07:32:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 431535\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":1597230,"size_decoded":476001,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (787)","md5":"ef473a4d0528fc7651d726fa43900068","sha1":"3b0d807a63c3244fc3fedeac020c2e81106185e1","sha256":"360a9b05bfc89caf69f220ef2473c20d1657318e21c4e0ffdab81e238b42dc61","sha512":"590afd923ebf8ce8da8def22bdf6149595740d96360cbf541954f52366a31fd5e3d3e6d8dd973044383f2cbad84c18f9f67ff69bf04c3dc6891b35b3eb29bb90","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4kf:fdhuuYnFCL4MVJBJO5DtKV2hdf","tlshash":"7e255b9977f2b46343a3f0e0286f018ab17f591454ccd46cb9a9e5f42da090e917bfac","first_seen":"2026-07-22T15:37:53.752532Z","last_seen":"2026-07-27T16:06:30.195204Z","times_seen":1773,"resource_available":false,"data":"dmFyIF95dF9wbGF5ZXI9e307KGZ1bmN0aW9uKGcpe3ZhciB3aW5kb3c9dGhpczsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIENvcHlyaWdodCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwovKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBJPSd0b1N0cmluZztOO2Ntbz10ZDtzcGxpY2U7MTk3MC0wMS0wMVQxMTo0NTo0MS4wMDArMTE6NDU7bGVuZ3RoO21hdGNoOy87Y2xvbmU7WDtjYWxsO3Rocm93O2Ntbztqb2luO2Fzc2lnbjsvdmlkZW9wbGF5YmFjaztodHRwOi8vbG9jYWw7SjtpbmRleE9mO3d3dy55b3V0dWJlLmNvbTtzcDs7cHVzaDtzbGljZTtHRztyZXZlcnNlO3NjaGVtZTtcXC5nb29nbGV2aWRlb1xcLmNvbSQ7cGF0aDt1cmw7L2luaXRwbGF5YmFjaztuO3BsYXllcmZhbGxiYWNrO2dldDtzZXQ7c3RhcnRzV2l0aDtzcGxpdDs9O2ZhbGxiYWNrX2NvdW50O1c7MTtWO3k3O3Vuc2hpZnQ7cnI7dW5kZWZpbmVkO3BvcDssO2luZGV4Lm0zdTg7Jjtmcm9tQ2hhckNvZGU7V3NsWmtDWm96bFlyNkVCME43LV93OF87cnI/WzEtOV0uKlxcLmNcXC55b3V0dWJlXFwuY29tJDsxOTcwLTAxLTAxVDAyOjMwOjMxLjAwMCswMjozMDslM0Q7RWw7XFwuYTFcXC5nb29nbGV2aWRlb1xcLmNvbSQ7bGV0O0VJO3M7Zm9yRWFjaDt5SXkxUGEyOzE5NjktMTItMzFUMTc6MDA6MzcuMDAwLTA3OjAwO2xvY2FsO2Zvcjt5b3V0dWJlLnBsYXllci53ZWJfMjAyNjA3MjFfMDhfUkMwMDsvZmlsZS9pbmRleC5tM3U4OywiIns7Oi8vO1VudHJ1c3RlZCBVUkw7ZnZpcDthMS5nb29nbGV2aWRlby5jb207V0Q7aHR0cHM6Ly9sb2NhbDttbjsvLztmaWxlO3NpZ25hdHVyZUNpcGhlcjsvYXBpL21hbmlmZXN0O2Ntbz1wZjtyO3JlcGxhY2U7cmVkaXJlY3Rvci5nb29nbGV2aWRlby5jb207LCx9L1wnO3hpJy5zcGxpdCgiOyIpLApXWixuMncsaGksazIsdjJDLGVVLE5pLHB0LEFpLGhNaSxFdyx1eCxkcix4aU0semIsbHgsTFMxLFZqLGVNcixENCxrMyx4MyxneixxVSxKRixTaixtYyxLYixPTSxxd3QsR2JpLFYyLERlLGFNLHRVaCx2NCxucCwkaXgsaEEscmliLHhsLGUxLFhNLHFoLEc1LHNULHBwLEkxaSxTd2gsSkEsUzEsQUEsbVcsS3AsUDQsWmUseUcsVDUsS1MxLFJQLE90aSxadFosbjAsVWl3LFcyLERYLGJwLGtLLGg0LHlpdCx4SyxMMCwkSyxzQSxOeCxwMCxZSyxTdSx1aGgsemgsbHAsbzIsVUEsek0yLEMwLE14LFFsLFZsLFIyLGMyLG41LFc5LHY5LGtVLGhfLEw1LFhELHEzLE4zLHA1LEg5LGY1LFlVLEkwLFNYLG0wLEs1LE9fLFpCLFVfLEVfLHU0LEM1LEI5LG8wLHo5LEZELGpDaCxDeE0sYTAsbkcsRlMyLFdILGJXLGh2LHh2LGVXLGdnLHdaQyxHeix0dixWVVMscmcsTkUsWXYscEcsbjMyLFNXLEp2LFdjcixiYlosT0ssbV8sUEgsWlIsVUsseWcsS0csaVcsRUssb3osdVcsQ0csZGcsbFcsRkYsTUUsUnosClFnLGNILEQyLGJhLHZXLGF6LFdXLG5uLGhTLHg5LGVFLGdlLHFILFhfLFZHLHRTLCQ5LHJlLHNWLGpXLE5ILGFQLHBuLFk5LEhXLEpTLElZLEFTLEtuLFBXLHkxLHVhLG9ZLGs0MixaMixpYSx6JCxsYSxDbixqRSxGXyx3ZSxNSCxRMSxhWSxEOSxiRyxrbSx4bSxMaCx4VWosWHQsWW0sSHksSjMsSXgsU0MsQTMsbTQsS2gsT3MseW0sRXMsaUcsUHksdUcsb3gsZEcsVFMsQ2gsd0csTWYsUngsakMsVm0sYXgsbjgsWE1pLGczVSxiNixrbixoOSxMOCxxTU0sZTYsWGYsc2YsTlkscDgsSjksSV8sSzgsdGpVLHU2LG9fLHNNMixkUSxOenIsenYsbDYsVHYsajYsQzgsQk8sd1EsUl8sY08sV3gsdngsa3ksaEsscWMsWFp4LEFLLG9oLHVrLE1jLHdtLGZULHBNeCxZTXgsbkssdkwsREQsSGJTLEpGWixMSyxJNFMsZWcsZ0QsQUZaLG1VdyxTTVMsS2NoLFBfaSxaYmgsVVViLHJGdCxQTywkVU0sRzcseUZaLGVYLFhULEUzdCxpYlUsJEUsckQsTjUsbzNiLEhMLGZLLEpILElXLEFILEtLLGRVcixTZywKeTcsRTIsWkQsekJ0LE8yLG1oLGRELGw0aixUenIsak1oLHE4LCRHLHBxLFlHLFNPLGdwLEJ6aSxKJCxISixmcSxLcSxDXzEsRXUsdWUsbzUsRmNiLGRwLHozLHdNUyxsZSxUMyxqTyxSQmIsQkosRjEsd3AsUU1VLFY4LFI1LG5WLFE4LGE1LFczLERvLFZqdCx2MyxubDEsV1dyLGJwTSxibixMVix2bHIsZyQsazVaLHRxLFg2LGhIUyx4aGIsTFcyLGVIaCxnbGgsc2wsSDMsRzVoLHJBYixzUDIsTlR0LHA0aSwkaGgsdDFVLEpxLG1JLElpLFlUVSxPbCxQMyxabyx5aSxFbCxmZWIsSkF3LElldyxtaHcsU1RyLG9pLGQkLGxuLHpILEtXVSxCMyxQZjIsam0sT3BpLE12LHckLHlBMSxFbGksaXByLHVNWixSaSxuVyx6SGksVFRyLHZZLGtxLHhxLFhtLHF0LHQxLE50LHNqLENmMSxGV1osdzRyLFlxLEoxLElzLEhZLGZXLFYxVSxBMSxTUyxtRyxLVyxPaixaYSxQWSxjQVUsYWVoLG5LaSx5TixFaixpcix1cixscixvcyx6TixiMHgsZGgsVE4sQ1csalMsV3hoLHZLYixCWSxGbSx3aCxNdCxScyxRTiwKVk4sY1ksYXMsbl8sV0ssaEN4LERpLGJILHZLLGt0LHh4aixMeGksZUNVLGdLdCxYZCxZWSxoYSx4dCxMXyxxdyxzMncsclgsTldoLFl0LEhLLElGLFNBLEFhLG1hLHlLLHAyaix1SCxZQTEsbEgsVEssSDBpLGpBLENfLEJLLEo0cix3WCxNdyxSRixRSyxWSyxJWDEsY0ssYUYsbmUsV1MsRFEsYkMsa2oseGosTGUsZXYsdGsscjcscyQsTjYscGUsWWosSFMsZmUsSmssSVMsU3YsVSQsRSQsaUMsdUMsQTR4LG9TLGQ3LGxDLFRCLGp2LHc3LE02LFJTLFF0LGFTLG53LFdWLG14aixLeFUsREUsTzBpLFBwMSx2VixYJCxxTixVeGoseTQyLCRmLE5OLHB3LGZ3LFlmLEpyLG15LGkwYixQVixPdCxaRSx5Rix1dyxkMixDdyxVdCxUVzIsYUUsY1YsVzAsRHIsdjAsa1QsYmIsaHkseFQsQ3BNLGc4LEJXaixYbixxWCx3MjIsdHksTXVDLFJDVSxRMmksajJaLGFYQyxuVXcsSUssQXksSyQsZ1osWnIsVXoseUgsRXosaWIsb0sselEsbGIsVFEsQyQsQjAsRm4sUkssVkgsYzAsbnksV0IsREksYk8sdkIsCmtSLEx5LGhPLGI1dCxnSixlXyxHMSx0TywkUixOMCx2VTEsc1AscHksazlpLEFPLG1ZLEt5LFVQLHl4LGlPLGhxaCxkSix6MSxUMSxqXyxCQix3SixSOSxNMCxhOSxiUSxrdSxMRixlRixnMCxYcSwkdSxlcTEsZ1VyLHBGLFl1LE5MLEhOLFg5VSxKYyxJZyxTRixBYyxPUixaeSxVUixLRix5YyxFUix1USx0WFUsJDN4LHMwcixkMCxyX2osRzl3LHpuLE5aaSxpUSxvZyxINXgsbFEsVG4sakYsQ0YsRnEsdzAsZkJVLEpfMixJQmksY04sYWcsV3osRG0sU19aLEFfcixtM3csSzByLGI5LHZ6LFA0TSxrTyxoNyx4TyxMUCxlOSxnMyxVM3QscUIsaTVoLHVEeCwkTyxyMyx0Nyx5X3Isc0osTkIscFAsWU8sR28sRVVTLEh6LGZQLEo3LEk3LEE3LG1ULEtQLE9KLFB6LFRaaixabSxvNyxkMyxsOSxqMHgsRjBNLEJaaCx6byxGMyxWZCxNWFMsdzMsY3osbm0sYTcsRDUsYk0sV1UsUnEyLFEwUyxWWDIsY19aLGtRLGFCUyxudjIsV19DLERFeCxiR0MsdnZpLGt6aSxoSSx4USx4RXcsTF9pLGd2dyxldywKTG0sJFEscUt3LHNjLHBtLFlRLHRXdywkRXQsZm0sT2MsUFUsWjUseUosRWMsU3csVWMsaU0scnZoLHN6Uyx1TSx6VCxqdyxUVCxCVSxsTSxDbSxNYixhSSxuWCxOZ3csY1UsVkosZ0UsZVosdHAsJG8sckUsWUtqLGZSMixTS0MsSnZaLHM5LElSMSxOaixISSxwWCxJYixBcCxLWCxaQSxQSSxPOSxVOSxpeSx1eSxkRSxLXzIsT0d4LFBXMSxRUixNaixjSSxDWCxuVSxxMSxiUix2cyxrQSxUcCxzeSxwVSxpR2osS1UsRXZDLGpaLG1yLER2LGc0LE4xLGFiLEY0LEJJLHdFLFZSLHI0LHVSLG92LEV5LFRVLGp5LENVLENXaSxCcyxGUix3NCxNMSxCZ3Isd0hDLE1XdyxRNCxjcyxuNCxhdixXYSxRejEsVld4LGhQLGtCLG45dyx4QixnSyxMNCxlaSxXTlUsREh0LGhUUyxLNCxPYSxnOWksdWcsaWcsWFdqLFRxLHFWWixqaSxHJGosenEsQzR3LG9VLGxnLGRLLFBhLEZqLHRFeCwkSHQsd0ssTWcsUTUsTmUyLGFVLG5CLGtWLGhtLHBXTSxMQixnYixYQSxxUSxHdyx0bSwkVixZVlMscmIsZUwsc0gsCnBCLEhiLGZCLFlWLElMLEhucixmMmosT0gsWk0sRUgseXYsaSQsSlNyLHp3LGRiLEkyWix1JCxTVjEsakwsQ0IsQVN4LG1IMSxLTnQsQmIsRkEsb0wsVHcsUGF4LGNiLFdQLFZ2LGtELHhELGVrLHlTaCxFOWIsaW53LGRIaix1X3QsR1cscGwsSFAsZmwsSmUselRqLElqLEFlLG1FLFNrLEtsLFRlYixPbyxQUCxqWTEsWlksRk54LEJlUyxDYVUsTUV3LFVvLFZFMixsMmoseXEsRW8sY1MyLHFyLHRlLER3LHZHLGtNLGhSLHhNLExSLGU1LGdkLFhhLHFELEc2LHRSLCRNLHJkLHN4LGEyMixwUixKUixJdyxtayxLUixPeCxQRyxadyxVeCx5QSxFeCxpaCx1aCxvdyxkZCxUNixqNSxDUixCRyx3ZCxNRCxRQSxjRyxuZixXZSxERyxiQixubWgsVzRVLERmUyxrJCxYOCx0RSxiaDEsJCQsc2UsTmEscGYsa1NqLHhmUyxIZSxMNFosZWFVLGdtMixKRSxJOCxxc1UsQUUsR1N3LCRmaSxLZixyM1osT2UsbUwsc3hyLHRDaCxTWSxQZSxaRyxweXQsWXNNLEhodyxVZSxJOTIseVcsRWUsdUIsU3NaLGROLApuYyxXUSx5M3IsYjAsRW14LHg1LExjLGV0LG9tTSx0aixYeSxkZjIsRzAsJDUsemFpLGw5aSxUR2gscWUsdXQyLHJhLHNoLEhRLEJHTSxGNGIsZmMsSmosUmFTLGE5cixxNCxubjEsdFgsck0scGksWXosZmksSWYsbVUsUzIsaGp0LEFYLHhZYixLaSxPMyxlancsWnEsZ25aLFAkLExEWixpWixYT2IscWZTLHQ2QyxyOVMsR3ZVLHNfMixOUWksajIsQiQsSDhyLFFyLEo5YixmOEMsTTQsVnIsUmYsYyQsSThqLEE5UyxTZmosRkcsbVl3LFA2Uyx3TSx1Zk0sb25yLGRZTSxpOFUsRW4yLHk5dCx6ajEsYWYscE9pLGw4dCxZZmksVFFNLGpfVSxuNyxGRGIsQzZVLFduLEJRdyx3T1osUmpVLFFfMSxNNlUsbnl3LFdCaixhODIsa0Z3LGhzdyxWNnIsYzlNLExCVSx4Y2Isa2QsZXNqLGhzLGd5MSxHRkMsWHh0LHRwYixxMGIsJGN4LHhkLEw3LGVJLHJLcixzaFosZ1AsTm10LFhOLHB4aSxZMFUscUcsR0UsSFRaLGZsaixKS2osSWxqLHRzLFMwdyxBS3IsbWNyLEtCTSxPVGIsUGtDLFpUVSxVY2kseUtDLApFeTIsaVR4LHVMMixveWgsZGN0LHpzMSxsbHIsVG1yLGpoTSxDa3gsQm1qLHd4WixNcEMsclAsc24scDcsWWQsUnN4LEhuLGY3LFFodyxKcyxWcEMsSU8sQXMsbTUsSzcsWlUsVW4seXcsaUosYWx4LG9PLHpFLFRFLGdYLEM3LGhBaSxCbixlQSxGTixlQVosTUcsUk8sVncsZ0V3LERjLHZBLGtKLFhMUyx4SixlSixnRixYcCxxZCxOZCxJRGgsUzJiLFlKLEhLaSwkNXIsSlQsc1diLElyLHJGLCRKLHRnaCxHN1UscTJDLHRULGZnLHNELEhBLFBBLFpjLFVELHlMLEVELGkzLHUzLG9yLGRGLHpfLFRfLGpKLENnLEJBLEZwLHdGLFFMLFd3LFZMLGNBLHZ3LGt4LGFyLEtoMixMcyxnQSxHaixQSUMsWktaLFl4LHBzLFU1WiwkeCxyQSxzWSxOayxIdyxmcyxKWSxJQixTUCxtdCxBWSx5SHIsS3MsUHcsRUVaLE9ZLFpfLGlLVSxVWSx5ZixvRWksemosbEwsalAsVGosQncsRjUsd0EsTWssUWYsY3csbnosV18sREosZDV3LGJULHZfLGtOLHpBMixoSix4TixMeixleCxnayxYeCxsRHgsVEQxLEdQLHRKLAokTixPdixQXyxaSixVdix5cyxkayx6UCx3TFUsbFQsVFAsangsQ3osTWdNLFJBUyxRV00sVmdpLGNIaixhRFUsRngsTUksbkdTLERPLHZSLGhNLHhYLExNLGVHLFhaLHEkLEdpLHRNLCRYLHJ5LHNOLE4kLFlYLGZNLEpNLElkLFNHLFFQLE9OLG1GLEtnLE0zLFpPLFVOLHZHVSx5VCxrM3IsaTgsdTgsZHksaGdTLHppLGw4LFRpLGpHLHJrLENNLEJSLHg4aixGWixNJCxSZCxRVCxWVCxjUixhZCxuNixXRix2RixMS1UsTDYsZWcxLGU0LFhKaSxxeixxdWosRzNDLHRPWix0WixzNVUsTnBqLHBKYixJbyxZdWgsSHFoLGZ0WixHXyxmRHcsJGcsUzQsSzYsT2ssUEYsSiRVLEl0aSxaSCx5QyxBWixFayxBJGksaUEsdUEsb28sbTh0LHp4LFR4LGo0LEM2LEJGLEtLdCxGdixwNixWQyxPcXgsVThaLERLLHJIaSxKSHIsdlgsaHoseGgsTE4sZVQsZzEsRUdDLCRoLG9HdyxkOGksaXF0LHR6LHUxcixsdGIsTlYsemcyLHBOLFRwYixIWCxORFMsWTJTLE9ELFNKLENlVSxmTixKeix3SngsajVpLFNULG1WLApLTixBeixPZCxQWCxSZ1UsRWQsVk9yLGF0dCxpbyxuWUMsb24sekwsWHYsVEwsalQsQlgsRlYsUU0sY1gsbG8sYzksV0UsYmksdkUsaHUsTEUsdHUsWnFTLHZZaixmRSxKdSxTTSxBdSxWUCxLRSxMSUMsZUVpLE9tLFBFLGdZWix0bU0sWmYsWDNTLEdIdCxxbGgscnFaLHNpcixpaSx1aSxvQSxUbCxDRSx3YyxGQyxNRixSQSxZbHcsUW4sSFZ4LGZvaSxKcVosQXExLG12aixhQSxuTCxQbjEsWlZpLHlxMSxFWTEsaVYyLHU2UyxvWU0sekViLGxvaixrTCx4TCxMTCxlJCxnNix0eCxCJHgsdzNpLEdmLFJFaSwkTCxyNixRaTIsVm10LHNVLFZuLFdqLEhqLGZMLG1mLEVVLGlqLHVqLGQ2LHpmLG9RLGdxWixsaixYWWgscWpoLEdOaCxDTCxCaixGZSxKeCx3NixQMCxNcyxBSixSUSxReixOSSxWeixVdE0sY2oseTFoLEk0LGFRLG5BLGJGLFRmLGokLFN4LGhELEVxaCx4cCxLeixpV1MsdW10LG9xMSx6a1UsTEEsZTcsZ2wsWDIsZHQxLEdlLHRELCRwLHJsLEF4LE51LFlwLElULEFELGlULHB6LEtBLApPUyxQVCxUaGksY3F4LHBMLFpQLFVTLHlVLEVTLGlGLHVGLGxGLHplLGo3LGRsLE1TTSxDQSxCVCxGMix3bCxNdSxhVCxjVCxRc1MsbjIsVzcsVlNoLGtGLGhmLGMxQyx4RixMMixlQixiX0MsZ3YsWHoscXAsdGYsdnRDLGh4dyxmMixKZixJeSx4dzIsU0IsQWYsbVAsWiQsVUYseUUsRUYsaTUsenUsVHUsakIsQzIsQjcsTGF4LEZ6LHd2LE1wLFJ5LFFFLFZFLGM3LGF5LG52LGJZLFd1LERiLEdLdCxxSXcsdEFDLCR3aixyYVUsc0ZNLHZ1LGtzLE5YaCxlbixnVixZSTEsSF9VLHFXLFhyLHRCLGZpeCxyVixzYixOVyxwdixmdixZcyxKQixJNixKYWksSHUsWmIsVWIsRWIsbzYsU0laLHVZLEFhMixURCxsWSxtd3Isam4sQ3YsRnIsd1YsTVcsUWssVmssY3UsQ25pLEZJMSxhNixXcCxEeCxidSx2cCxrWixoVSx4WixMMyxlVixnQyxVd2IseWFqLGlfYixYdSx6eFMsakZNLFNWLENIaCxGYU0sd0tqLE1BTSxSeGosUUZ3LFZBUyxjYXQsYWlNLG5qMSxtZSxXJGosRDZ4LEszLE9HLGJlcixQcCwKdmp3LGg3Mix4NncsVUcsWngsTCQyLHlCLGl1LGU3YixnajEsWFNoLG9xLEdCYixya2osekkscSQyLCQ2aCxsdSxqVixzU3csTjdTLHBTUyxGdSxIZVUsd0MsUnEsSVExLFMkaCxtNncsSyRqLFZCLGNwLFBDMixhcSxaZXcsTXEsVTZDLGZRaCxPZWksQWtNLFc2LHlrcixFalosaWVpLHU5VSxvancsRGQsVDdiLGQ2cix6N1UsalNaLGJTLENDTSxsUWgsdjYseEMsTHIsZXEsa0MsQjdiLHdTVSxndSxGJHgsTXZTLFI3VSxWdnQsY2tqLFgwLGFRUyxuZngsRE4xLGJ3QyxxMixHWix0MCwkQyxRRXcsVkh4LGNyaCxEWDIsdmZ0LGtkVSxuVHcsV2paLGFFdyx2VFosSDYsSjQsZnIseWssbWksS3YsUHUsaVksS3IsSSQsaFpyLE80LHhYQyxMalUsUDYsQTAsbWQsWmQsZ1RDLFU0LEowLGc3LHlvLEU0LGlTLFNxLGtRdyxlWnQsdVMsWDB0LHF6aCxHUWIsdGRqLCRYMSxyeUMsTjhaLGR1LEprQyx6WixsUyxSNixLYTIscDBiLGpxLFZvLElyYixZemksZnJDLENyLEYwLG1YYixLamksTyRpLFokaSxQYlUsClVYWixhJCx5eXgsbkQsV2wsaSRTLEVUaixvVGosRGssdW5VLHZsLHpaaixscjIsVDhoLENidCxCOGksdzBiLGhnLGt3LEZqaixSWmgsTEQsVmR0LGVSLFFLeCx4dyxnaixYQixXWWgsblJ0LCR3LHFQLFl3LHZSdyxlU2osaFMxLExZMix4MEMsZkQsWEJ3LHFQaSxHMVMsdF9oLCQwYixyT2gsczlDLE5KaSxJayxwQngsWVBNLEh5VSxKT3csZkl0LElJYixKZyxBT00sU1IsY3laLFBsLFp5UyxpeWksdWtoLG9SdCxQT3QsRXEsdTEseXUsZDBiLFVxLGxJYixvayxaayxVMFosaTEseU9aLG0wTSxtdixqOUMsT3laLENPaixCSnQsVEpiLEZZQyx3QngsemMsTV93LFE5YixWXzIsUlNDLGNPdyxhSVosV1hoLERMYixrbnIsYkZqLHZ1TSxUYyxoUXgseEx0LExYcixndUMsalIsQ0QsWE5pLEJsLHFScixHbncsdEZ4LCRMQyxyYzIsc2d3LE4wUyxwTnQsWVJ3LEhGWixmeVUsSmNiLEl5dyxTUnQsQWNaLG1MMixLWFosT0ZDLFBRcixaRnQsVUwyLHljMixFdXQsaUZVLHVxdCxvdTIsZExpLHpRUyxseTIsClQwVSxqZ2gsQ1FDLEIwaixGWDIsTUZ4LFJRVSxWRlMsTVAsUXUsVnUsY2wsbk9NLG5DLFdUaCxEQmksYlBTLGFrLHZPMixheVosYm0saEQxLHhCaCxMVGIsdnIsa29yLE9iLGRWLFlDLFN6TSxjNixIJGgsUW8sQjYsd3UsUiQsZGoselMyLEVSUyxYemgscUoyLHQ5aCxrYywkQmkscjdoLGgyLGVEYixYYixIUGIsZm14LEo3aSxJbWkscW0sZ09DLEE3eCxzN3IsTjNDLHhjLExDLHB6aCxaUGosS1RpLE9QMixyUyxOMiwkYyxTSloseTdpLEVPaCxpUFMsbUJiLHUzeCxvT3gsZEJoLFQzaCxqN2osQzl4LHBDLEIzeCx3enIsRlR0LFJEaixRNzIsYzdyLFdnMixoOE0seGJqLEhyLG5RdyxKMixmQyxMZ3csZTh3LGJtaCxWOWksTTliLGdRdyxYVVMscWNVLEdUUyx0d00sckkxLFMwLCRiWixOb0Msc0lNLFljMSxwVWosbW4sQTIsSG1TLGY1eCxKSWIsSTUyLEtDLEFJTSxtYk0sS2d4LE9YLE9tMixQTWosUHIsWm1oLHlJcixpbXIsWlYsVVgseTMsaW0sdW0sRVgsRVFNLHVpaixvUTIsZGJTLHo4MiwKbDVVLGJBLG91LFRvaSxqSWosQ014LEJvdCxkUyxGZ2IselgsTXdoLGwxLFRYLGowLENDLEJyLEZiLHdTLFFJUyxWd00sY0lqLGE1cixSdSxXM1osRGoyLGJYdCxrcGksaHlpLGJKLHZ5TSx4amosTDN4LGV5aixYSVosYXUsV2QscTkxLG51LEQ3LGJWLHRaTSwkalosdmQscnB0LGNjWixNbSxWMyxoQyxIWDIsZkF0LEpwVSxJQWgsUzliLEFwaixtanQsSzNVLE9YMixlaCxncyxYSixQeUMscTksUjhDLFVqdyx0QyxHWSwkMCxFb2ksaVhTLHJzLHNCLHlwYixwdSx1NGIsWTAsb294LGZ1LFRFMixqYjIsSkMsRjNiLFNoLG1vLGRqcixNWjEsSGQsUnlpLFFidyxsQXQsVlppLHp5MSxhQXcsbkF4LGNwdCxQZCxaNyxMcjEsdkFqLHlhLGVwWixrVWksRDF0LGdBaSxXcmgsR1UxLFhzaSxVQix0eTIsYlVVLHI2dyx4MVUscHNyLEVCLEhVaSxmdmksWXlpLEl2aCxTeXIsU1BNLEdYLG9jLFA5VSxtMVUsSWMsbFYselksamgsQmQsRkosS3JiLHdzLFUxaSx5NlosRUFDLE05LFBSYixSYyxpVXQsQ3UsCmNkLG9BdCxRYSxWYSx1VixUWSx3c2ksTXl4LE9VaCxkcyxScFUsYnYsQTZqLGQxMixhdlosbkJDLFcxaSxiNHQsRGdDLHZCMixCNFUsUXZpLGhMWixMMWIseGdaLGVMaCxnQnIsWGFTLGtQLGg1LHFhVSxHcU0senBpLHRpUywkZ0MsTGEsclBoLHNVUyxlbCx4UCxwYU0sZzksWFksSDR0LGZwaSxKUE0sSXBDLFNhTSxZYVUsQVAyLG1naCxPNEMscVQsSzFVLEdHLFBneCxaNHgseVBqLEVCQyxVZzIsb0JyLGRndyxpNFUsdWp4LHpMWixscDIsalVVLFRLdyxSTHQsUVVaLENndCxCS0MsRjF3LHdhUyxNaWksVmliLHI5LHNyLCRQLE5ULGFweCxuVnIsV3F4LEpKLHBhLGJCeCx2VjIsa3d3LFlQLGZhLEg4LHhRdyxoYmosZ1ZoLEo1LFIwLFhiaCxJRyxxSDEsR3dVLHRMeCwkUXgscm1NLHNMYixOYmIsSEJ3LFlIaSxBNSxtQSxKbXgsS2EsU2wsZk0xLE9yLEtxcixQJEMsWkJqLFVRaSx5bWksRVZiLGlCUyxaVCxpdix1QXQsdXYsemJyLG9WMixEJCxURyxqbCxDYSxHdSxCOCxGWSxqTGosQyR3LAp3OSxSRyxRWSxGcU0sTVQsQmJoLFJieCxjbWIsVlksYU1VLG5EaixhRyxEclosVkxNLFdjLGJsWixuTyx2RDEsa1cxLGJzLHZjLHhydCxrSSxlMEMsZ0R4LExFcixYUGkscW8yLGhoLEdXYix0azEsTE8sZXMsZ2YsJHJNLHJlUyxzalMsTl9oLFlvQyx0aCxIbEMsJEksQWV0LHJmLG1yaixLRWgsUGRaLE9sTSxOSyxwTyxabGksRURqLEhjLFlJLHU3dCxkck0samp4LENkaixKaCxJZSxCX0Msc0YsZk8sRkVaLFNzLHdQMSxNa00sbVIsY2ViLHlSMSxHRCwkcyxlMCx6RCx5UyxCdSxFZyxpcyxUWixVZyxpUlosdXMsdWFVLG9NaCxkRGIselVoLHR2aSxNMixqd2osRncsQ2gxLE1LLGlwLGpzLEZraixjYyxDTyxuSixjUmIsVjVoLGx3WixXZixkZixUZGosbHMsbiRNLFdMcixEYXIsTTVpLHYkaCxodnIsZXZ0LGckUyxrcix2ZixYZWosYmwsREwseHIsTEwyLHFlaSwkYXIsdVJyLHJFUyxzOHIsWWVpLFhTLHBlVSx0YixOTncscTcsZkdTLEpFYixJR3csU2UxLEFFaSxyNSxaZncsc1osT2Z0LHlFMiwKRSRNLGlmQyxLTFosdThiLFlyLG8kVSx2NyxmSixKYixBYixQZixWUyx6djIsVVosbEd3LGo4MixDQlMseVosaWwsVWFoLHdlVSxNWU0sUnZaLFE4eCxWWXgsYUcxLFcydyxEZWIsb1gsY0VyLFZaLGswaix6QSxFWixoZDEsbngsTDJNLHhlcixXcSxERixiVSx2cSxlZFMsYVgsT1osQ0osbGwsVEEsQmYsbjVqLEZTLEtKLHVsLGRhdCxYUXgsRzBqLFNhLFFaLHR0dywkZVUseGkscmpqLHNhaSxoVixOYWIsa2ksZW8sWWhpLEhjdCxmNmg7V1o9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG50W25dLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OwpnLkQxPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG50W25dPVd9OwpuMnc9ZnVuY3Rpb24obixXKXtpZihXKWZvcih2YXIgRD0wO0Q8dloubGVuZ3RoO0QrKylrMih2WltEXSsiQXJyYXkucHJvdG90eXBlLiIrbixXKX07CmhpPWZ1bmN0aW9uKG4sVyl7VyYmazIobixXKX07CmsyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9eDI7bj1uLnNwbGl0KCIuIik7Zm9yKHZhciBiPTA7YjxuLmxlbmd0aC0xO2IrKyl7dmFyIHY9bltiXTtpZighKHYgaW4gRCkpcmV0dXJuO0Q9RFt2XX1uPW5bbi5sZW5ndGgtMV07Yj1EW25dO1c9VyhiKTtXIT1iJiZXIT1udWxsJiZXU0MoRCxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6V30pfTsKdjJDPWZ1bmN0aW9uKG4sVyl7bi5wcm90b3R5cGU9RGl4KFcucHJvdG90eXBlKTtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO2J0UyhuLFcpO24uVEI9Vy5wcm90b3R5cGV9OwplVT1mdW5jdGlvbihuKXtuPU1hdGgudHJ1bmMobil8fDA7bjwwJiYobis9dGhpcy5sZW5ndGgpO2lmKCEobjwwfHxuPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbbl19OwpnLkdiPWZ1bmN0aW9uKG4sVyxEKXtuPW4uc3BsaXQoIi4iKTtEPUR8fGcucWk7Zm9yKHZhciBiO24ubGVuZ3RoJiYoYj1uLnNoaWZ0KCkpOyluLmxlbmd0aHx8Vz09PXZvaWQgMD9EW2JdJiZEW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXT9EPURbYl06RD1EW2JdPXt9OkRbYl09V307Ck5pPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigiQ0xPU1VSRV9GTEFHUyIpO249RCYmRFtuXTtyZXR1cm4gbiE9bnVsbD9uOld9OwpnLnJyPWZ1bmN0aW9uKG4sVyl7bj1uLnNwbGl0KCIuIik7Vz1XfHxnLnFpO2Zvcih2YXIgRD0wO0Q8bi5sZW5ndGg7RCsrKWlmKFc9V1tuW0RdXSxXPT1udWxsKXJldHVybiBudWxsO3JldHVybiBXfTsKcHQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFchPSJvYmplY3QiP1c6bj9BcnJheS5pc0FycmF5KG4pPyJhcnJheSI6VzoibnVsbCJ9OwpnLlkyPWZ1bmN0aW9uKG4pe3ZhciBXPXB0KG4pO3JldHVybiBXPT0iYXJyYXkifHxXPT0ib2JqZWN0IiYmdHlwZW9mIG4ubGVuZ3RoPT0ibnVtYmVyIn07CmcuZnQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFc9PSJvYmplY3QiJiZuIT1udWxsfHxXPT0iZnVuY3Rpb24ifTsKQWk9ZnVuY3Rpb24obil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLFNVKSYmbltTVV18fChuW1NVXT0rK2tidCl9OwpoTWk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLmNhbGwuYXBwbHkobi5iaW5kLGFyZ3VtZW50cyl9OwpnLkt0PWZ1bmN0aW9uKG4sVyxEKXtnLkt0PWhNaTtyZXR1cm4gZy5LdC5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpnLlBaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBiPUQuc2xpY2UoKTtiLnB1c2guYXBwbHkoYixhcmd1bWVudHMpO3JldHVybiBuLmFwcGx5KHRoaXMsYil9fTsKZy5Vdz1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTsKZy55aj1mdW5jdGlvbihuKXtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXJSdW4iLG4pfTsKRXc9ZnVuY3Rpb24obil7cmV0dXJuIG59OwpnLml4PWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRCgpe30KRC5wcm90b3R5cGU9Vy5wcm90b3R5cGU7bi5UQj1XLnByb3RvdHlwZTtuLnByb3RvdHlwZT1uZXcgRDtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO24uQU89ZnVuY3Rpb24oYix2LGspe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLHg9Mjt4PGFyZ3VtZW50cy5sZW5ndGg7eCsrKWhbeC0yXT1hcmd1bWVudHNbeF07cmV0dXJuIFcucHJvdG90eXBlW3ZdLmFwcGx5KGIsaCl9fTsKdXg9ZnVuY3Rpb24obiwuLi5XKXtXPVcuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighVylyZXR1cm4gbjt2YXIgRD1uLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIEQ/bi5zbGljZSgwLEQuaW5kZXgrMSkrVysiJiIrbi5zbGljZShELmluZGV4KzEpOm4rKG4uaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrV307CmRyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/IiYiK24rIj0iK2VuY29kZVVSSUNvbXBvbmVudChXKToiIn07CnhpTT1mdW5jdGlvbihuKXtuPW4uWDtpZighbilyZXR1cm4iIjt2YXIgVz1kcigidWFwIixuLnBsYXRmb3JtKStkcigidWFwdiIsbi5wbGF0Zm9ybVZlcnNpb24pK2RyKCJ1YWZ2IixuLnVhRnVsbFZlcnNpb24pK2RyKCJ1YWEiLG4uYXJjaGl0ZWN0dXJlKStkcigidWFtIixuLm1vZGVsKStkcigidWFiIixuLmJpdG5lc3MpO24uZnVsbFZlcnNpb25MaXN0JiYoVys9IiZ1YWZ2bD0iK2VuY29kZVVSSUNvbXBvbmVudChuLmZ1bGxWZXJzaW9uTGlzdC5tYXAoRD0+ZW5jb2RlVVJJQ29tcG9uZW50KEQuYnJhbmQpKyI7IitlbmNvZGVVUklDb21wb25lbnQoRC52ZXJzaW9uKSkuam9pbigifCIpKSk7Cm4ud293NjQhPW51bGwmJihXKz0iJnVhdz0iK051bWJlcihuLndvdzY0KSk7cmV0dXJuIFcuc2xpY2UoMSl9Owp6Yj1mdW5jdGlvbihuLFcpe2lmKFchPT1udWxsJiZXIT09dm9pZCAwKXtpZih0eXBlb2YgVyE9PSJvYmplY3QiJiZ0eXBlb2YgVyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkLiIpO2lmKEQ9PT12b2lkIDApe2lmKCFTeW1ib2wuZGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTt2YXIgRD1XW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgRCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IG5vdCBkaXNwb3NhYmxlLiIpO24uc3RhY2sucHVzaCh7dmFsdWU6VyxkaXNwb3NlOkQsYXN5bmM6ITF9KX1yZXR1cm4gV307Cmx4PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoayl7bi5lcnJvcj1uLmhhc0Vycm9yP25ldyBTdXBwcmVzc2VkRXJyb3IoayxuLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6aztuLmhhc0Vycm9yPSEwfQpmdW5jdGlvbiBEKCl7Zm9yKDtiPW4uc3RhY2sucG9wKCk7KXRyeXtpZighYi5hc3luYyYmdj09PTEpcmV0dXJuIHY9MCxuLnN0YWNrLnB1c2goYiksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihEKTtpZihiLmRpc3Bvc2Upe3ZhciBrPWIuZGlzcG9zZS5jYWxsKGIudmFsdWUpO2lmKGIuYXN5bmMpcmV0dXJuIHZ8PTIsUHJvbWlzZS5yZXNvbHZlKGspLnRoZW4oRCxmdW5jdGlvbihoKXtXKGgpO3JldHVybiBEKCl9KX1lbHNlIHZ8PTF9Y2F0Y2goaCl7VyhoKX1pZih2PT09MSlyZXR1cm4gbi5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChuLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTsKaWYobi5oYXNFcnJvcil0aHJvdyBuLmVycm9yO30KdmFyIGIsdj0wO0QoKX07CmcuVGI9ZnVuY3Rpb24obixXKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLGcuVGIpO2Vsc2V7bGV0IEQ9RXJyb3IoKS5zdGFjaztEJiYodGhpcy5zdGFjaz1EKX1uJiYodGhpcy5tZXNzYWdlPVN0cmluZyhuKSk7VyE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Vyl9OwpMUzE9ZnVuY3Rpb24oKXt9OwpnLmpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ubGFzdEluZGV4T2YoVywwKT09MH07CmcuQlo9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmxlbmd0aC1XLmxlbmd0aDtyZXR1cm4gRD49MCYmbi5pbmRleE9mKFcsRCk9PUR9OwpnLkZoPWZ1bmN0aW9uKG4pe3JldHVybi9eW1xzXHhhMF0qJC8udGVzdChuKX07Cmcud3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoVy50b0xvd2VyQ2FzZSgpKSE9LTF9OwpnLmNaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtuPVN0cmluZyhuKS50cmltKCkuc3BsaXQoIi4iKTtXPVN0cmluZyhXKS50cmltKCkuc3BsaXQoIi4iKTt2YXIgYj1NYXRoLm1heChuLmxlbmd0aCxXLmxlbmd0aCk7Zm9yKGxldCBoPTA7RD09MCYmaDxiO2grKyl7dmFyIHY9bltoXXx8IiIsaz1XW2hdfHwiIjtkb3t2PS8oXGQqKShcRCopKC4qKS8uZXhlYyh2KXx8WyIiLCIiLCIiLCIiXTtrPS8oXGQqKShcRCopKC4qKS8uZXhlYyhrKXx8WyIiLCIiLCIiLCIiXTtpZih2WzBdLmxlbmd0aD09MCYma1swXS5sZW5ndGg9PTApYnJlYWs7RD1Waih2WzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KHZbMV0sMTApLGtbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoa1sxXSwxMCkpfHxWaih2WzJdLmxlbmd0aD09MCxrWzJdLmxlbmd0aD09MCl8fFZqKHZbMl0sa1syXSk7dj12WzNdO2s9a1szXX13aGlsZShEPT0wKX1yZXR1cm4gRH07ClZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG48Vz8tMTpuPlc/MTowfTsKZU1yPWZ1bmN0aW9uKCl7dmFyIG49bnVsbDtpZighbmIpcmV0dXJuIG47dHJ5e2xldCBXPUQ9PkQ7Cm49bmIuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOlcsY3JlYXRlU2NyaXB0OlcsY3JlYXRlU2NyaXB0VVJMOld9KX1jYXRjaChXKXt9cmV0dXJuIG59OwpEND1mdW5jdGlvbigpe1dNPT09dm9pZCAwJiYoV009ZU1yKCkpO3JldHVybiBXTX07CmszPWZ1bmN0aW9uKG4pe3ZhciBXPUQ0KCk7bj1XP1cuY3JlYXRlU2NyaXB0VVJMKG4pOm47cmV0dXJuIG5ldyBiXyhuKX07CngzPWZ1bmN0aW9uKG4pe2lmKG4gaW5zdGFuY2VvZiBiXylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9Owpnej1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5lailyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpxVT1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFhJKFc9Plcuc3Vic3RyKDAsbi5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PW4rIjoiKX07CmcudEY9ZnVuY3Rpb24obixXPWcuRzQpe2lmKG4gaW5zdGFuY2VvZiBnLmVqKXJldHVybiBuO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7KytEKXtsZXQgYj1XW0RdO2lmKGIgaW5zdGFuY2VvZiBYSSYmYi5PVihuKSlyZXR1cm4gbmV3IGcuZWoobil9fTsKZy5yej1mdW5jdGlvbihuKXtpZihnMmoudGVzdChuKSlyZXR1cm4gbn07Cmcuc009ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLmVqP2d6KG4pOmcucnoobil9OwpnLk5VPWZ1bmN0aW9uKG4sVyl7Vz1nLnNNKFcpO1chPT12b2lkIDAmJihuLmhyZWY9Vyl9OwpnLnBiPWZ1bmN0aW9uKG4sVz1gdW5leHBlY3RlZCB2YWx1ZSAke259IWApe3Rocm93IEVycm9yKFcpO307CmcuSE09ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVIVE1MKG4pOm47cmV0dXJuIG5ldyBnLlkzKG4pfTsKZy5mYj1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5ZMylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpKRj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9d2luZG93O249Zy5zTShuKTtyZXR1cm4gbiE9PXZvaWQgMD9iLm9wZW4obixXLEQpOm51bGx9OwpTaj1mdW5jdGlvbihuPWRvY3VtZW50KXtuPW4ucXVlcnlTZWxlY3Rvcj8uKCJzY3JpcHRbbm9uY2VdIik7cmV0dXJuIG49PW51bGw/IiI6bi5ub25jZXx8bi5nZXRBdHRyaWJ1dGUoIm5vbmNlIil8fCIifTsKbWM9ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVTY3JpcHQobik6bjtyZXR1cm4gbmV3IEFGKG4pfTsKS2I9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIEFGKXJldHVybiBuLk47dGhyb3cgRXJyb3IoIiIpO307Ck9NPWZ1bmN0aW9uKG4pe3ZhciBXPVNqKG4ub3duZXJEb2N1bWVudCk7VyYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixXKX07CmcuUE09ZnVuY3Rpb24obixXKXtuLnNyYz14MyhXKTtPTShuKX07CnF3dD1mdW5jdGlvbihuKXt2YXIgVz0idHJ1ZSIudG9TdHJpbmcoKSxEPVtYWnhgZGF0YS1gXTtpZihELmxlbmd0aD09PTApdGhyb3cgRXJyb3IoIiIpO2lmKEQubWFwKGI9PntpZihiIGluc3RhbmNlb2YgWjQpYj1iLk47ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGJ9KS5ldmVyeShiPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoYikhPT0wKSl0aHJvdyBFcnJvcignQXR0cmlidXRlICJkYXRhLWxvYWRlZCIgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBhbGxvd2VkIHByZWZpeGVzLicpOwpuLnNldEF0dHJpYnV0ZSgiZGF0YS1sb2FkZWQiLFcpfTsKZy5VTT1mdW5jdGlvbihuKXtyZXR1cm4gbltuLmxlbmd0aC0xXX07CmcueTI9ZnVuY3Rpb24obixXKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG4sVyx2b2lkIDApfTsKZy5FTT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChuLFcsRCl9OwpnLmlfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChuLFcsdm9pZCAwKX07CmcudV89ZnVuY3Rpb24obixXLEQpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobixXLEQpfTsKZy5vTT1mdW5jdGlvbihuLFcpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG4sVyx2b2lkIDApfTsKZy5kej1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG4sVyxEKX07CmcubF89ZnVuY3Rpb24obixXKXtXPWcuejQobixXKTtyZXR1cm4gVzwwP251bGw6dHlwZW9mIG49PT0ic3RyaW5nIj9uLmNoYXJBdChXKTpuW1ddfTsKZy56ND1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5sZW5ndGgsdj10eXBlb2Ygbj09PSJzdHJpbmciP24uc3BsaXQoIiIpOm47Zm9yKGxldCBrPTA7azxiO2srKylpZihrIGluIHYmJlcuY2FsbChELHZba10sayxuKSlyZXR1cm4gaztyZXR1cm4tMX07CmcuVDQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubGVuZ3RoLHY9dHlwZW9mIG49PT0ic3RyaW5nIj9uLnNwbGl0KCIiKTpuO2ZvcigtLWI7Yj49MDtiLS0paWYoYiBpbiB2JiZXLmNhbGwoRCx2W2JdLGIsbikpcmV0dXJuIGI7cmV0dXJuLTF9OwpnLmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobixXLHZvaWQgMCk+PTB9OwpnLkNiPWZ1bmN0aW9uKG4pe2lmKCFBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKWRlbGV0ZSBuW1ddO24ubGVuZ3RoPTB9OwpnLkZJPWZ1bmN0aW9uKG4sVyl7Vz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG4sVyx2b2lkIDApO3ZhciBEOyhEPVc+PTApJiZnLkJNKG4sVyk7cmV0dXJuIER9OwpnLkJNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChuLFcsMSkubGVuZ3RoPT0xfTsKR2JpPWZ1bmN0aW9uKG4sVyl7Vz1nLno0KG4sVyk7Vz49MCYmZy5CTShuLFcpfTsKZy53ej1mdW5jdGlvbihuKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1bWVudHMpfTsKZy5STT1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aDtpZihXPjApe2xldCBEPUFycmF5KFcpO2ZvcihsZXQgYj0wO2I8VztiKyspRFtiXT1uW2JdO3JldHVybiBEfXJldHVybltdfTsKZy5RMj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0xO0Q8YXJndW1lbnRzLmxlbmd0aDtEKyspe2xldCBiPWFyZ3VtZW50c1tEXTtpZihnLlkyKGIpKXtsZXQgdj1uLmxlbmd0aHx8MCxrPWIubGVuZ3RofHwwO24ubGVuZ3RoPXYraztmb3IobGV0IGg9MDtoPGs7aCsrKW5bditoXT1iW2hdfWVsc2Ugbi5wdXNoKGIpfX07CmcuY009ZnVuY3Rpb24obixXLEQsYil7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShuLFYyKGFyZ3VtZW50cywxKSl9OwpWMj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobixXKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLFcsRCl9OwpnLlc0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gYU0obixEfHxucCwhMSxXKX07CkRlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGFNKG4sVywhMCl9OwphTT1mdW5jdGlvbihuLFcsRCxiKXtmb3IodmFyIHY9MCxrPW4ubGVuZ3RoLGg7djxrOyl7bGV0IHg9disoay12Pj4+MSksTDtEP0w9Vy5jYWxsKHZvaWQgMCxuW3hdLHgsbik6TD1XKGIsblt4XSk7TD4wP3Y9eCsxOihrPXgsaD0hTCl9cmV0dXJuIGg/djotdi0xfTsKZy5iZj1mdW5jdGlvbihuLFcpe24uc29ydChXfHxucCl9Owp0VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1ucDtnLmJmKG4sZnVuY3Rpb24oYix2KXtyZXR1cm4gRChXKGIpLFcodikpfSl9Owp2ND1mdW5jdGlvbihuLFcsRCl7aWYoIWcuWTIobil8fCFnLlkyKFcpfHxuLmxlbmd0aCE9Vy5sZW5ndGgpcmV0dXJuITE7dmFyIGI9bi5sZW5ndGg7RD1EfHwkaXg7Zm9yKGxldCB2PTA7djxiO3YrKylpZighRChuW3ZdLFdbdl0pKXJldHVybiExO3JldHVybiEwfTsKbnA9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj5XPzE6bjxXPy0xOjB9OwokaXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PVd9OwpnLmtsPWZ1bmN0aW9uKG4sVyxEKXtEPWcuVzQobixXLEQpO0Q8MCYmZy5jTShuLC0oRCsxKSwwLFcpfTsKaEE9ZnVuY3Rpb24obixXKXtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KG4uX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mi5zZXZlcml0eT1XfTsKcmliPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7bj09bnVsbCYmKG49J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTpuLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOlcsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgRD0hMTt0cnl7dmFyIGI9bi5saW5lTnVtYmVyfHxuLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChrKXtiPSJOb3QgYXZhaWxhYmxlIixEPSEwfXRyeXt2YXIgdj1uLmZpbGVOYW1lfHxuLmZpbGVuYW1lfHxuLnNvdXJjZVVSTHx8Zy5xaS4kZ29vZ0RlYnVnRm5hbWV8fFd9Y2F0Y2goayl7dj0iTm90IGF2YWlsYWJsZSIsRD0hMH1XPXhsKG4pO2lmKCEoIUQmJm4ubGluZU51bWJlciYmbi5maWxlTmFtZSYmbi5zdGFjayYmbi5tZXNzYWdlJiZuLm5hbWUpKXtEPW4ubWVzc2FnZTsKaWYoRD09bnVsbCl7aWYobi5jb25zdHJ1Y3RvciYmbi5jb25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uKXtpZihuLmNvbnN0cnVjdG9yLm5hbWUpRD1uLmNvbnN0cnVjdG9yLm5hbWU7ZWxzZSBpZihEPW4uY29uc3RydWN0b3IsTHBbRF0pRD1McFtEXTtlbHNle0Q9U3RyaW5nKEQpO2lmKCFMcFtEXSl7bGV0IGs9L2Z1bmN0aW9uXHMrKFteXChdKykvbS5leGVjKEQpO0xwW0RdPWs/a1sxXToiW0Fub255bW91c10ifUQ9THBbRF19RD0nVW5rbm93biBFcnJvciBvZiB0eXBlICInK0QrJyInfWVsc2UgRD0iVW5rbm93biBFcnJvciBvZiB1bmtub3duIHR5cGUiO3R5cGVvZiBuLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyE9PW4udG9TdHJpbmcmJihEKz0iOiAiK24udG9TdHJpbmcoKSl9cmV0dXJue21lc3NhZ2U6RCxuYW1lOm4ubmFtZXx8IlVua25vd25FcnJvciIsbGluZU51bWJlcjpiLGZpbGVOYW1lOnYsc3RhY2s6V3x8Ik5vdCBhdmFpbGFibGUifX1yZXR1cm57bWVzc2FnZTpuLm1lc3NhZ2UsCm5hbWU6bi5uYW1lLGxpbmVOdW1iZXI6bi5saW5lTnVtYmVyLGZpbGVOYW1lOm4uZmlsZU5hbWUsc3RhY2s6V319Owp4bD1mdW5jdGlvbihuLFcpe1d8fChXPXt9KTtXW2UxKG4pXT0hMDt2YXIgRD1uLnN0YWNrfHwiIixiPW4uY2F1c2U7YiYmIVdbZTEoYildJiYoRCs9IlxuQ2F1c2VkIGJ5OiAiLGIuc3RhY2smJmIuc3RhY2suaW5kZXhPZihiLnRvU3RyaW5nKCkpPT0wfHwoRCs9dHlwZW9mIGI9PT0ic3RyaW5nIj9iOmIubWVzc2FnZSsiXG4iKSxEKz14bChiLFcpKTtuPW4uZXJyb3JzO2lmKEFycmF5LmlzQXJyYXkobikpe2I9MTtsZXQgdjtmb3Iodj0wO3Y8bi5sZW5ndGgmJiEoYj40KTt2KyspV1tlMShuW3ZdKV18fChEKz0iXG5Jbm5lciBlcnJvciAiK2IrKyArIjogIixuW3ZdLnN0YWNrJiZuW3ZdLnN0YWNrLmluZGV4T2Yoblt2XS50b1N0cmluZygpKT09MHx8KEQrPXR5cGVvZiBuW3ZdPT09InN0cmluZyI/blt2XTpuW3ZdLm1lc3NhZ2UrIlxuIiksRCs9eGwoblt2XSxXKSk7djxuLmxlbmd0aCYmKEQrPSJcbi4uLiAiKyhuLmxlbmd0aC12KSsiIG1vcmUgaW5uZXIgZXJyb3JzIil9cmV0dXJuIER9OwplMT1mdW5jdGlvbihuKXt2YXIgVz0iIjt0eXBlb2Ygbi50b1N0cmluZz09PSJmdW5jdGlvbiImJihXPSIiK24pO3JldHVybiBXK24uc3RhY2t9OwpnLmdUPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wYXJzZUZyb21TdHJpbmcoZy5mYihXKSxEKX07ClhNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBXb3JrZXIoeDMobiksVyl9OwpxaD1mdW5jdGlvbihuKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhuKSl9OwpHNT1mdW5jdGlvbihuKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KG4ucmVwbGFjZSgvXCsvZywiICIpKX07CmcudEE9ZnVuY3Rpb24obil7c0NoLnRlc3QobikmJihuLmluZGV4T2YoIiYiKSE9LTEmJihuPW4ucmVwbGFjZShOcmgsIiZhbXA7IikpLG4uaW5kZXhPZigiPCIpIT0tMSYmKG49bi5yZXBsYWNlKHBadywiJmx0OyIpKSxuLmluZGV4T2YoIj4iKSE9LTEmJihuPW4ucmVwbGFjZShZd2ksIiZndDsiKSksbi5pbmRleE9mKCciJykhPS0xJiYobj1uLnJlcGxhY2UoSHRVLCImcXVvdDsiKSksbi5pbmRleE9mKCInIikhPS0xJiYobj1uLnJlcGxhY2UoZjFTLCImIzM5OyIpKSxuLmluZGV4T2YoIlx4MDAiKSE9LTEmJihuPW4ucmVwbGFjZShKaVosIiYjMDsiKSkpO3JldHVybiBufTsKZy5yVD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD8iIjpTdHJpbmcobil9OwpzVD1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKVc9MzEqVytuLmNoYXJDb2RlQXQoRCk+Pj4wO3JldHVybiBXfTsKZy5OaD1mdW5jdGlvbihuKXt2YXIgVz1OdW1iZXIobik7cmV0dXJuIFc9PTAmJmcuRmgobik/TmFOOld9OwpwcD1mdW5jdGlvbihuKXtyZXR1cm4gU3RyaW5nKG4pLnJlcGxhY2UoL1wtKFthLXpdKS9nLGZ1bmN0aW9uKFcsRCl7cmV0dXJuIEQudG9VcHBlckNhc2UoKX0pfTsKSTFpPWZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoUmVnRXhwKCIoXnxbXFxzXSspKFthLXpdKSIsImciKSxmdW5jdGlvbihXLEQsYil7cmV0dXJuIEQrYi50b1VwcGVyQ2FzZSgpfSl9OwpTd2g9ZnVuY3Rpb24obil7dmFyIFc9MTtuPW4uc3BsaXQoIjoiKTtmb3IodmFyIEQ9W107Vz4wJiZuLmxlbmd0aDspRC5wdXNoKG4uc2hpZnQoKSksVy0tO24ubGVuZ3RoJiZELnB1c2gobi5qb2luKCI6IikpO3JldHVybiBEfTsKZy5IND1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD0iIjtuJiYoeCs9bisiOiIpO0QmJih4Kz0iLy8iLFcmJih4Kz1XKyJAIikseCs9RCxiJiYoeCs9IjoiK2IpKTt2JiYoeCs9dik7ayYmKHgrPSI/IitrKTtoJiYoeCs9IiMiK2gpO3JldHVybiB4fTsKZy5mcD1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXRjaChBaXIpfTsKSkE9ZnVuY3Rpb24obil7cmV0dXJuIG4/ZGVjb2RlVVJJKG4pOm59OwpnLklQPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzNdfHxudWxsKX07ClMxPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzVdfHxudWxsKX07CkFBPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChuWzFdLG5bMl0sblszXSxuWzRdKX07Cm1XPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChudWxsLG51bGwsbnVsbCxudWxsLG5bNV0sbls2XSxuWzddKX07CktwPWZ1bmN0aW9uKG4pe3ZhciBXPW4uaW5kZXhPZigiIyIpO3JldHVybiBXPDA/bjpuLnNsaWNlKDAsVyl9OwpnLk9UPWZ1bmN0aW9uKG4sVyl7aWYobil7bj1uLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe2xldCBiPW5bRF0uaW5kZXhPZigiPSIpLHYsaz1udWxsO2I+PTA/KHY9bltEXS5zdWJzdHJpbmcoMCxiKSxrPW5bRF0uc3Vic3RyaW5nKGIrMSkpOnY9bltEXTtXKHYsaz9HNShrKToiIil9fX07ClA0PWZ1bmN0aW9uKG4sVyl7aWYoIVcpcmV0dXJuIG47dmFyIEQ9bi5pbmRleE9mKCIjIik7RDwwJiYoRD1uLmxlbmd0aCk7dmFyIGI9bi5pbmRleE9mKCI/Iik7aWYoYjwwfHxiPkQpe2I9RDt2YXIgdj0iIn1lbHNlIHY9bi5zdWJzdHJpbmcoYisxLEQpO249W24uc2xpY2UoMCxiKSx2LG4uc2xpY2UoRCldO0Q9blsxXTtuWzFdPVc/RD9EKyImIitXOlc6RDtyZXR1cm4gblswXSsoblsxXT8iPyIrblsxXToiIikrblsyXX07ClplPWZ1bmN0aW9uKG4sVyxEKXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKVplKG4sU3RyaW5nKFdbYl0pLEQpO2Vsc2UgVyE9bnVsbCYmRC5wdXNoKG4rKFc9PT0iIj8iIjoiPSIrcWgoVykpKX07CnlHPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKVplKEQsbltEXSxXKTtyZXR1cm4gVy5qb2luKCImIil9OwpnLkVUPWZ1bmN0aW9uKG4sVyl7Vz15RyhXKTtyZXR1cm4gUDQobixXKX07CmcudWY9ZnVuY3Rpb24obixXLEQpe0Q9RCE9bnVsbD8iPSIrcWgoRCk6IiI7cmV0dXJuIFA0KG4sVytEKX07CmcuZFQ9ZnVuY3Rpb24obixXLEQsYil7Zm9yKHZhciB2PUQubGVuZ3RoOyhXPW4uaW5kZXhPZihELFcpKT49MCYmVzxiOyl7dmFyIGs9bi5jaGFyQ29kZUF0KFctMSk7aWYoaz09Mzh8fGs9PTYzKWlmKGs9bi5jaGFyQ29kZUF0KFcrdiksIWt8fGs9PTYxfHxrPT0zOHx8az09MzUpcmV0dXJuIFc7Vys9disxfXJldHVybi0xfTsKZy5sZj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VhcmNoKGcuejUpLGI9Zy5kVChuLDAsVyxEKTtpZihiPDApcmV0dXJuIG51bGw7dmFyIHY9bi5pbmRleE9mKCImIixiKTtpZih2PDB8fHY+RCl2PUQ7Yis9Vy5sZW5ndGgrMTtyZXR1cm4gRzUobi5zbGljZShiLHYhPT0tMT92OjApKX07ClQ1PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPW4uc2VhcmNoKGcuejUpLGI9MCx2LGs9W107KHY9Zy5kVChuLGIsVyxEKSk+PTA7KWsucHVzaChuLnN1YnN0cmluZyhiLHYpKSxiPU1hdGgubWluKG4uaW5kZXhPZigiJiIsdikrMXx8RCxEKTtrLnB1c2gobi5zbGljZShiKSk7cmV0dXJuIGsuam9pbigiIikucmVwbGFjZShtaTEsIiQxIil9OwpLUzE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLnVmKFQ1KG4sVyksVyxEKX07CmcuQ3A9ZnVuY3Rpb24obil7biYmdHlwZW9mIG4uZGlzcG9zZT09ImZ1bmN0aW9uIiYmbi5kaXNwb3NlKCl9OwpnLkI0PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wLEQ9YXJndW1lbnRzLmxlbmd0aDtXPEQ7KytXKXtsZXQgYj1hcmd1bWVudHNbV107Zy5ZMihiKT9nLkI0LmFwcGx5KG51bGwsYik6Zy5DcChiKX19OwpnLkZNPWZ1bmN0aW9uKCl7dGhpcy5IRD10aGlzLkhEO3RoaXMuQlY9dGhpcy5CVn07CmcudT1mdW5jdGlvbihuLFcpe24uYWRkT25EaXNwb3NlQ2FsbGJhY2soZy5QWihnLkNwLFcpKX07CmcuTWg9ZnVuY3Rpb24obj0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoVz0+e2lmKHdpbmRvdz09PXdpbmRvdy50b3ApdmFyIEQ9d2luZG93O2Vsc2V7dHJ5e0Q9ISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2godil7RD0hMH1EPUQ/d2luZG93OndpbmRvdy50b3B9dmFyIGI9RFtuXTtiPy5iZXZhc3JzP1cobmV3IHdUKGIuYmV2YXNycykpOihifHwoYj17bnFmYmVsOltdfSxEW25dPWIpLGIubnFmYmVsLnB1c2godj0+e1cobmV3IHdUKHYpKX0pKX0pfTsKUlA9ZnVuY3Rpb24obil7dmFyIFc9e2M6bi53XyxlOm4ueEMsbWM6bi5HcixtZTpuLkVSfTtuLmhHJiYoVy5jbz17YzpuLmhHLmFtLGE6bi5oRy5BQixzOm4uaEcucjN9KTtyZXR1cm4gV307Ck90aT1mdW5jdGlvbihuKXtuLkohPT12b2lkIDAmJihuLlcuZm9yRWFjaChXPT57bi5KPy5yZW1vdmVFdmVudExpc3RlbmVyKFcsbi5YKX0pLG4uSj12b2lkIDApfTsKWnRaPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLk8xLndwYyl0aHJvdyBuZXcgUUcoMzAsIk5XQSIpO2lmKG4uTilyZXR1cm4gbi5OO3ZhciBXPWF3YWl0IG4uTzEud3BjKCk7bi5OPW5ldyBQeFMoVyk7cmV0dXJuIG4uTn07Cm4wPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO1ZHKG4sYzQsNikuZm9yRWFjaChEPT57YVAoRCwyKTw9NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClVpdz1mdW5jdGlvbihuKXt2YXIgVz1bXTtWRyhuLGM0LDYpLmZvckVhY2goRD0+e2FQKEQsMik+NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClcyPWZ1bmN0aW9uKG4pe24udGhlbigoKT0+e30sKCk9Pnt9KX07CkRYPWZ1bmN0aW9uKG4pe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6bn19OwpicD1mdW5jdGlvbihuKXtyZXR1cm57ZmllbGRUeXBlOjMsZmllbGROYW1lOm59fTsKa0s9ZnVuY3Rpb24obil7cmV0dXJuKHYyfHwodjI9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKG4pfTsKaDQ9ZnVuY3Rpb24obil7Zy5xaS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgbjt9LDApfTsKeWl0PWZ1bmN0aW9uKG4pe3JldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwobixmdW5jdGlvbihXKXtXPVcudG9TdHJpbmcoMTYpO3JldHVybiBXLmxlbmd0aD4xP1c6IjAiK1d9KS5qb2luKCIiKX07CnhLPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCs9MilXLnB1c2gocGFyc2VJbnQobi5zdWJzdHJpbmcoRCxEKzIpLDE2KSk7cmV0dXJuIFd9OwpMMD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT01NTI5NiYmYisxPG4ubGVuZ3RoJiYobi5jaGFyQ29kZUF0KGIrMSkmNjQ1MTIpPT01NjMyMD8odj02NTUzNisoKHYmMTAyMyk8PDEwKSsobi5jaGFyQ29kZUF0KCsrYikmMTAyMyksV1tEKytdPXY+PjE4fDI0MCxXW0QrK109dj4+MTImNjN8MTI4KTpXW0QrK109dj4+MTJ8MjI0LFdbRCsrXT12Pj42JjYzfDEyOCksV1tEKytdPXYmNjN8MTI4KX1yZXR1cm4gV307CmcuWFE9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbiYmKG49bi51c2VyQWdlbnQpP246IiJ9OwokSz1mdW5jdGlvbihuKXtpZighZy5xeCYmIWcuR2h8fCFnLnQ0KXJldHVybiExO2ZvcihsZXQgVz0wO1c8Zy50NC5icmFuZHMubGVuZ3RoO1crKyl7bGV0IHticmFuZDpEfT1nLnQ0LmJyYW5kc1tXXTtpZihEJiZELmluZGV4T2YobikhPS0xKXJldHVybiEwfXJldHVybiExfTsKZy5yVz1mdW5jdGlvbihuKXtyZXR1cm4gZy5YUSgpLmluZGV4T2YobikhPS0xfTsKc0E9ZnVuY3Rpb24oKXtyZXR1cm4gZy5xeHx8Zy5HaD8hIWcudDQmJmcudDQuYnJhbmRzLmxlbmd0aD4wOiExfTsKTng9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8hMTpnLnJXKCJPcGVyYSIpfTsKcDA9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiRmlyZWZveCIpfHxnLnJXKCJGeGlPUyIpfTsKZy5IMj1mdW5jdGlvbigpe3JldHVybiBnLnJXKCJTYWZhcmkiKSYmIShZSygpfHwoc0EoKT8wOmcuclcoIkNvYXN0IikpfHxOeCgpfHwoc0EoKT8wOmcuclcoIkVkZ2UiKSl8fChzQSgpPyRLKCJNaWNyb3NvZnQgRWRnZSIpOmcuclcoIkVkZy8iKSl8fChzQSgpPyRLKCJPcGVyYSIpOmcuclcoIk9QUiIpKXx8cDAoKXx8Zy5yVygiU2lsayIpfHxnLnJXKCJBbmRyb2lkIikpfTsKWUs9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8kSygiQ2hyb21pdW0iKTooZy5yVygiQ2hyb21lIil8fGcuclcoIkNyaU9TIikpJiYhKHNBKCk/MDpnLnJXKCJFZGdlIikpfHxnLnJXKCJTaWxrIil9OwpnLmYwPWZ1bmN0aW9uKCl7cmV0dXJuIGcucXh8fGcuR2g/ISFnLnQ0JiYhIWcudDQucGxhdGZvcm06ITF9Owp2YXIgRTJVPWZ1bmN0aW9uKG4sVyxELGIsdil7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDI1LDE4NjYsbixXLEQsYix2KX07CmcuSTI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mMCgpP2cudDQucGxhdGZvcm09PT0iQW5kcm9pZCI6Zy5yVygiQW5kcm9pZCIpfTsKU3U9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiaVBob25lIikmJiFnLnJXKCJpUG9kIikmJiFnLnJXKCJpUGFkIil9OwpnLkE0PWZ1bmN0aW9uKCl7cmV0dXJuIFN1KCl8fGcuclcoImlQYWQiKXx8Zy5yVygiaVBvZCIpfTsKZy5teD1mdW5jdGlvbigpe3JldHVybiBnLmYwKCk/Zy50NC5wbGF0Zm9ybT09PSJtYWNPUyI6Zy5yVygiTWFjaW50b3NoIil9OwpnLkswPWZ1bmN0aW9uKCl7cmV0dXJuIGcuZjAoKT9nLnQ0LnBsYXRmb3JtPT09IldpbmRvd3MiOmcuclcoIldpbmRvd3MiKX07CmcuT0E9ZnVuY3Rpb24obil7Zy5PQVsiICJdKG4pO3JldHVybiBufTsKdWhoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9aXR4O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxuKT9EW25dOkRbbl09VyhuKX07CmcuWlg9ZnVuY3Rpb24obil7cmV0dXJuIHVoaChuLGZ1bmN0aW9uKCl7cmV0dXJuIGcuY1ooUDIsbik+PTB9KX07CmcuRUE9ZnVuY3Rpb24obixXKXtXPT09dm9pZCAwJiYoVz0wKTtVQSgpO1c9eWxbV107Zm9yKHZhciBEPUFycmF5KE1hdGguZmxvb3Iobi5sZW5ndGgvMykpLGI9V1s2NF18fCIiLHY9MCxrPTA7djxuLmxlbmd0aC0yO3YrPTMpe3ZhciBoPW5bdl0seD1uW3YrMV0sTD1uW3YrMl0sZT1XW2g+PjJdO2g9V1soaCYzKTw8NHx4Pj40XTt4PVdbKHgmMTUpPDwyfEw+PjZdO0w9V1tMJjYzXTtEW2srK109IiIrZStoK3grTH1lPTA7TD1iO3N3aXRjaChuLmxlbmd0aC12KXtjYXNlIDI6ZT1uW3YrMV0sTD1XWyhlJjE1KTw8Ml18fGI7Y2FzZSAxOm49blt2XSxEW2tdPSIiK1dbbj4+Ml0rV1sobiYzKTw8NHxlPj40XStMK2J9cmV0dXJuIEQuam9pbigiIil9Owp2YXIgbzJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlwW0lbMTBdXSh0aGlzLDEsMTcwOCxuLFcpfTsKZy51cD1mdW5jdGlvbihuLFcsRCl7aWYoVyl7bGV0IGI9W10sdj0wO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKXtsZXQgaD1uLmNoYXJDb2RlQXQoayk7aWYoaD4yNTUpe2xldCB4PUVycm9yKCJnby91bmljb2RlLXRvLWJ5dGUtZXJyb3IiKTtpZihEKXRocm93IHg7Ylt2KytdPWgmMjU1O2g+Pj04fWJbdisrXT1ofW49Zy5FQShiLFcpfWVsc2Ugbj1nLnFpLmJ0b2Eobik7cmV0dXJuIG59Owp6aD1mdW5jdGlvbihuKXt2YXIgVz1bXTtvMihuLGZ1bmN0aW9uKEQpe1cucHVzaChEKX0pOwpyZXR1cm4gV307CmxwPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubGVuZ3RoLEQ9VyozLzQ7RCUzP0Q9TWF0aC5mbG9vcihEKToiPS4iLmluZGV4T2YobltXLTFdKSE9LTEmJihEPSI9LiIuaW5kZXhPZihuW1ctMl0pIT0tMT9ELTI6RC0xKTt2YXIgYj1uZXcgVWludDhBcnJheShEKSx2PTA7bzIobixmdW5jdGlvbihrKXtiW3YrK109a30pOwpyZXR1cm4gdiE9PUQ/Yi5zdWJhcnJheSgwLHYpOmJ9OwpvMj1mdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQodil7Zm9yKDtiPG4ubGVuZ3RoOyl7bGV0IGs9bi5jaGFyQXQoYisrKSxoPVRoW2tdO2lmKGghPW51bGwpcmV0dXJuIGg7aWYoIWcuRmgoaykpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrayk7fXJldHVybiB2fQpVQSgpO2Zvcih2YXIgYj0wOzspe2xldCB2PUQoLTEpLGs9RCgwKSxoPUQoNjQpLHg9RCg2NCk7aWYoeD09PTY0JiZ2PT09LTEpYnJlYWs7Vyh2PDwyfGs+PjQpO2ghPTY0JiYoVyhrPDw0JjI0MHxoPj4yKSx4IT02NCYmVyhoPDw2JjE5Mnx4KSl9fTsKVUE9ZnVuY3Rpb24oKXtpZighVGgpe1RoPXt9O3ZhciBuPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLFc9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl07Zm9yKGxldCBEPTA7RDw1O0QrKyl7bGV0IGI9bi5jb25jYXQoV1tEXS5zcGxpdCgiIikpO3lsW0RdPWI7Zm9yKGxldCB2PTA7djxiLmxlbmd0aDt2Kyspe2xldCBrPWJbdl07VGhba109PT12b2lkIDAmJihUaFtrXT12KX19fX07CnpNMj1mdW5jdGlvbihuKXtyZXR1cm4gZGlVW25dfHwiIn07CkMwPWZ1bmN0aW9uKG4pe249anUudGVzdChuKT9uLnJlcGxhY2UoanUsek0yKTpuO249YXRvYihuKTt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpNeD1mdW5jdGlvbigpe3JldHVybiBCMnx8KEIyPW5ldyBGUShudWxsLHdXKSl9OwpRbD1mdW5jdGlvbihuKXtSMih3Vyk7dmFyIFc9bi5OO1c9Vz09bnVsbHx8VyE9bnVsbCYmVyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Vzp0eXBlb2YgVz09PSJzdHJpbmciP0MwKFcpOm51bGw7cmV0dXJuIFc9PW51bGw/VzpuLk49V307ClZsPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVWludDhBcnJheShRbChuKXx8MCl9OwpSMj1mdW5jdGlvbihuKXtpZihuIT09d1cpdGhyb3cgRXJyb3IoImlsbGVnYWwgZXh0ZXJuYWwgY2FsbGVyIik7fTsKYzI9ZnVuY3Rpb24obil7bj1FcnJvcihuKTtoQShuLCJ3YXJuaW5nIik7cmV0dXJuIG59OwpuNT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpe3ZhciBEPWEyPz8oYTI9e30pO3ZhciBiPURbbl18fDA7Yj49V3x8KERbbl09YisxLG49RXJyb3IoKSxoQShuLCJpbmNpZGVudCIpLGg0KG4pKX19OwpXOT1mdW5jdGlvbihuLFc9ITEpe3JldHVybiBXJiZTeW1ib2wuZm9yJiZuP1N5bWJvbC5mb3Iobik6biE9bnVsbD9TeW1ib2wobik6U3ltYm9sKCl9Owp2OT1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwP24uTiE9PURCJiYhISgyJihuLmw5W2I0XXwwKSk6ISEoMiZXKSYmbi5OIT09REJ9OwprVT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpaWYodHlwZW9mIG49PT0ic3RyaW5nIiluPW4/bmV3IEZRKG4sd1cpOk14KCk7ZWxzZSBpZihuLmNvbnN0cnVjdG9yIT09RlEpaWYobiE9bnVsbCYmbiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpbj1uLmxlbmd0aD9uZXcgRlEobmV3IFVpbnQ4QXJyYXkobiksd1cpOk14KCk7ZWxzZXtpZighVyl0aHJvdyBFcnJvcigpO249dm9pZCAwfXJldHVybiBufTsKaF89ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcmMTI4PzA6LTEsdj1uLmxlbmd0aCxrO2lmKGs9ISF2KWs9blt2LTFdLGs9ayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdDt2YXIgaD12KyhrPy0xOjApO2ZvcihXPVcmMTI4PzE6MDtXPGg7VysrKUQoVy1iLG5bV10pO2lmKGspe249blt2LTFdO2ZvcihsZXQgeCBpbiBuKSFpc05hTih4KSYmRCgreCxuW3hdKX19OwpMNT1mdW5jdGlvbihuKXtyZXR1cm4gbiYxMjg/eFU6dm9pZCAwfTsKWEQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVdebjtpZihuLTY+PjM9PTIpeyhEW2JeNTE4XT49LShiXjU1MSl8fCgoMCxEW2JeNTE1XSkoRFtiXjUyMV0sRFtiXjYwOV0pLDApKSYmKDAsRFtiXjU2M10pKERbYl42MDldKTsoMCxEWzZdKSgpOygoMCxEW2JeNTMzXSkoRFtiXjU3NF0sRFtiXjU3Ml0pLERbYl41MzNdKShEW2JeNTM4XSxEW2JeNTcyXSk7dmFyIHY9W119aWYoKG4mMTIwKT09bil0aHJvdyBEO2lmKG4tNzw8MjxuJiYobi00fDMxKT49bil7Zm9yKHZhciBrPWJeMzE1NCxoPVtdOysray1oW0lbNV1dLShiXjMxMjIpOylzd2l0Y2goayl7Y2FzZSBiXjMxMzI6az1iXjMxNDk7ZGVmYXVsdDpoW0lbYl4zMDc2XV0oU3RyaW5nW0lbYl4zMTA0XV0oaykpO2Nhc2UgYl4zMTQ4OmNhc2UgYl4zMTQ5OmNhc2UgYl4zMTg2OmJyZWFrO2Nhc2UgYl4zMTc3OmstPWJeMzE2NjtjYXNlIGJeMzE1MDpjYXNlIGJeMzE1MTpjb250aW51ZTtjYXNlIGJeMzExMjprPWJeMzEzNDtjYXNlIGJeMzE0NTp9dj0KaH0obnw1Nik9PW4mJihlWChiXjQ1MDksYl4zNTE4LEQpLChrPURbSVsxXV1bSVtiXjQ0OTRdXXx8bnVsbCkmJihrPWdaKDIsYl4yMjE3LGssRCkpLHY9W10pO3JldHVybiB2fTsKcTM9ZnVuY3Rpb24obil7bi5URj0hMDtyZXR1cm4gbn07CmcuJFU9ZnVuY3Rpb24obil7aWYoKDAsZy5HOSkobikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChuKSl0aHJvdyBFcnJvcihTdHJpbmcobikpO31lbHNlIGlmKCgwLGcudF8pKG4pJiYhTnVtYmVyLmlzU2FmZUludGVnZXIobikpdGhyb3cgRXJyb3IoU3RyaW5nKG4pKTtyZXR1cm4gQmlnSW50KG4pfTsKTjM9ZnVuY3Rpb24obil7dmFyIFc9bj4+PjA7clo9VztzXz0obi1XKS80Mjk0OTY3Mjk2Pj4+MH07CnA1PWZ1bmN0aW9uKG4pe2lmKG48MCl7TjMoMC1uKTtuPXJaO3ZhciBXPXNfO1c9flc7bj9uPX5uKzE6Vys9MTtsZXQgW0QsYl09W24sV107clo9RD4+PjA7c189Yj4+PjB9ZWxzZSBOMyhuKX07Ckg5PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vyo0Mjk0OTY3Mjk2KyhuPj4+MCk7cmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKEQpP0Q6WVUobixXKX07CmY1PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuJFUoQmlnSW50LmFzVWludE4oNjQsKEJpZ0ludChXPj4+MCk8PEJpZ0ludCgzMikpK0JpZ0ludChuPj4+MCkpKX07CmcuSl89ZnVuY3Rpb24obixXKXtyZXR1cm4gZy4kVShCaWdJbnQuYXNJbnROKDY0LChCaWdJbnQuYXNVaW50TigzMixCaWdJbnQoVykpPDxCaWdJbnQoMzIpKStCaWdJbnQuYXNVaW50TigzMixCaWdJbnQobikpKSl9OwpZVT1mdW5jdGlvbihuLFcpe1c+Pj49MDtuPj4+PTA7dmFyIEQ7Vzw9MjA5NzE1MT9EPSIiKyg0Mjk0OTY3Mjk2Klcrbik6RD0iIisoQmlnSW50KFcpPDxCaWdJbnQoMzIpfEJpZ0ludChuKSk7cmV0dXJuIER9OwpJMD1mdW5jdGlvbigpe3ZhciBuPXJaLFc9c18sRDtXJjIxNDc0ODM2NDg/RD0iIisoQmlnSW50KFd8MCk8PEJpZ0ludCgzMil8QmlnSW50KG4+Pj4wKSk6RD1ZVShuLFcpO3JldHVybiBEfTsKU1g9ZnVuY3Rpb24obil7bi5sZW5ndGg8MTY/cDUoTnVtYmVyKG4pKToobj1CaWdJbnQobiksclo9TnVtYmVyKG4mQmlnSW50KDQyOTQ5NjcyOTUpKT4+PjAsc189TnVtYmVyKG4+PkJpZ0ludCgzMikmQmlnSW50KDQyOTQ5NjcyOTUpKSl9OwpnLkFfPWZ1bmN0aW9uKG4pe2lmKG4hPW51bGwmJnR5cGVvZiBuIT09Im51bWJlciIpdGhyb3cgRXJyb3IoYFZhbHVlIG9mIGZsb2F0L2RvdWJsZSBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyLCBmb3VuZCAke3R5cGVvZiBufTogJHtufWApO3JldHVybiBufTsKbTA9ZnVuY3Rpb24obil7aWYobj09bnVsbHx8dHlwZW9mIG49PT0ibnVtYmVyIilyZXR1cm4gbjtpZihuPT09Ik5hTiJ8fG49PT0iSW5maW5pdHkifHxuPT09Ii1JbmZpbml0eSIpcmV0dXJuIE51bWJlcihuKX07Cks1PWZ1bmN0aW9uKG4pe3JldHVybiBuLmRpc3BsYXlOYW1lfHxuLm5hbWV8fCJ1bmtub3duIHR5cGUgbmFtZSJ9OwpPXz1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJib29sZWFuIil0aHJvdyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiBidXQgZ290ICR7cHQobil9OiAke259YCk7cmV0dXJuIG59OwpaQj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4gUDkobik7Y2FzZSAic3RyaW5nIjpyZXR1cm4gbDEyLnRlc3Qobik7ZGVmYXVsdDpyZXR1cm4hMX19OwpVXz1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJudW1iZXIiKXRocm93IGMyKCJpbnQzMiIpO2lmKCFQOShuKSl0aHJvdyBjMigiaW50MzIiKTtyZXR1cm4gbnwwfTsKZy55UD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD9uOlVfKG4pfTsKRV89ZnVuY3Rpb24obil7aWYobj09bnVsbClyZXR1cm4gbjtpZih0eXBlb2Ygbj09PSJzdHJpbmciJiZuKW49K247ZWxzZSBpZih0eXBlb2YgbiE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gUDkobik/bnwwOnZvaWQgMH07CnU0PWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47aWYodHlwZW9mIG49PT0ic3RyaW5nIiYmbiluPStuO2Vsc2UgaWYodHlwZW9mIG4hPT0ibnVtYmVyIilyZXR1cm47cmV0dXJuIFA5KG4pP24+Pj4wOnZvaWQgMH07CmcubDQ9ZnVuY3Rpb24obil7aWYobiE9bnVsbClhOntpZighWkIobikpdGhyb3cgYzIoImludDY0Iik7c3dpdGNoKHR5cGVvZiBuKXtjYXNlICJzdHJpbmciOm49bzAobik7YnJlYWsgYTtjYXNlICJiaWdpbnQiOm49Zy4kVShkWig2NCxuKSk7YnJlYWsgYTtkZWZhdWx0Om49ejkobil9fXJldHVybiBufTsKQzU9ZnVuY3Rpb24obil7WkIobik7bj1UOShuKTtpZighalgobikpe3A1KG4pO3ZhciBXPXJaLEQ9c187aWYobj1EJjIxNDc0ODM2NDgpVz1+VysxPj4+MCxEPX5EPj4+MCxXPT0wJiYoRD1EKzE+Pj4wKTtXPUg5KFcsRCk7bj10eXBlb2YgVz09PSJudW1iZXIiP24/LVc6VzpuPyItIitXOld9cmV0dXJuIG59OwpCOT1mdW5jdGlvbihuKXtaQihuKTt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBTdHJpbmcoVyk7Vz1uLmluZGV4T2YoIi4iKTtXIT09LTEmJihuPW4uc3Vic3RyaW5nKDAsVykpO1c9bi5sZW5ndGg7KG5bMF09PT0iLSI/VzwyMHx8Vz09PTIwJiZuPD0iLTkyMjMzNzIwMzY4NTQ3NzU4MDgiOlc8MTl8fFc9PT0xOSYmbjw9IjkyMjMzNzIwMzY4NTQ3NzU4MDciKXx8KFNYKG4pLG49STAoKSk7cmV0dXJuIG59OwpvMD1mdW5jdGlvbihuKXt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBnLiRVKFcpO1c9bi5pbmRleE9mKCIuIik7VyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKTtyZXR1cm4gZy4kVShkWig2NCxCaWdJbnQobikpKX07Cno5PWZ1bmN0aW9uKG4pe2pYKG4pP249Zy4kVShDNShuKSk6KFpCKG4pLG49VDkobiksalgobik/bj1TdHJpbmcobik6KHA1KG4pLG49STAoKSksbj1nLiRVKG4pKTtyZXR1cm4gbn07CkZEPWZ1bmN0aW9uKG4pe3ZhciBXPXR5cGVvZiBuO2lmKG49PW51bGwpcmV0dXJuIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBnLiRVKGRaKDY0LG4pKTtpZihaQihuKSlyZXR1cm4gVz09PSJzdHJpbmciP28wKG4pOno5KG4pfTsKakNoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgeCBvZiBEKXtpZigheC51cmwpY29udGludWU7RD1uZXcgZy53Wih4LnVybCwhMCk7aWYoeC5zKXt2YXIgaz1ELGg9eC5zcDtsZXQgTD1lWCg4Myw2NTU4LE0zKDE3LDQyNjMseC5zKSk7a1tJWzM0XV0oaCxSMCgyOSw4NzMyLEwpKX1mb3IobGV0IEwgb2YgT2JqZWN0LmtleXMoYikpRC5zZXQoTCxiW0xdKTtrPVFQKHgudHlwZSx4LnF1YWxpdHkseC5pdGFnLHgud2lkdGgseC5oZWlnaHQpO3YucHVzaChuZXcgVHJ3KGssRCkpfXJldHVybiBWUChuLlcsdixjOShuLFcpLCExKX07CkN4TT1mdW5jdGlvbihuKXtpZihuPT1udWxsKXJldHVybiBuO3ZhciBXPXR5cGVvZiBuO2lmKFc9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKGRaKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBCOShuKTtpZihXPT09Im51bWJlciIpcmV0dXJuIEM1KG4pfX07CmEwPWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47dmFyIFc9dHlwZW9mIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoQnJoKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBaQihuKSxXPVQ5KE51bWJlcihuKSksalgoVykmJlc+PTA/bj1TdHJpbmcoVyk6KFc9bi5pbmRleE9mKCIuIiksVyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKSxuWzBdPT09Ii0iP1c9ITE6KFc9bi5sZW5ndGgsVz1XPDIwPyEwOlc9PT0yMCYmbjw9IjE4NDQ2NzQ0MDczNzA5NTUxNjE1IiksV3x8KFNYKG4pLG49WVUoclosc18pKSksbjtpZihXPT09Im51bWJlciIpcmV0dXJuIFpCKG4pLG49VDkobiksbj49MCYmalgobil8fChwNShuKSxuPUg5KHJaLHNfKSksbn19OwpuRz1mdW5jdGlvbihuKXtpZihuPT1udWxsfHx0eXBlb2Ygbj09InN0cmluZyJ8fG4gaW5zdGFuY2VvZiBGUSlyZXR1cm4gbn07CkZTMj1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpXSD1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpnLkRSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT1udWxsfHx0eXBlb2Ygbj09PSJzdHJpbmciP246dm9pZCAwfTsKYlc9ZnVuY3Rpb24obixXKXtpZighKG4gaW5zdGFuY2VvZiBXKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWQgaW5zdGFuY2VvZiAke0s1KFcpfSBidXQgZ290ICR7biYmSzUobi5jb25zdHJ1Y3Rvcil9YCk7cmV0dXJuIG59Owpodj1mdW5jdGlvbihuLFcsRCl7aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gbjtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgYj1uW2I0XXwwO0Q9YnxEJjMyfEQmMjtEIT09YiYmKG5bYjRdPUQpO3JldHVybiBuZXcgVyhuKX19Owp4dj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CmVXPWZ1bmN0aW9uKG4pe3ZhciBXPUV3KExHKTtyZXR1cm4gVz9uW1ddOnZvaWQgMH07CmdnPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4pIWlzTmFOKEQpJiZXKG4sK0QsbltEXSl9Owp3WkM9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFhGO2dnKG4sKEQsYix2KT0+e1dbYl09Wy4uLnZdfSk7Clcuajc9bi5qNztyZXR1cm4gV307Ckd6PWZ1bmN0aW9uKG4sVyl7aWYoRXcocUUpJiZFdyhMRykmJnZvaWQgMD09PXFFKXtuPW4ubDk7dmFyIEQ9bltMR107aWYoRCYmKEQ9RC5qNykpdHJ5e0QobixXLE1VaSl9Y2F0Y2goYil7aDQoYil9fX07CnR2PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RXcoTEcpO0QmJm5bRF0/LltXXSE9bnVsbCYmbjUoUk1iLDMpfTsKVlVTPWZ1bmN0aW9uKG4sVyl7VzwxMDB8fG41KFFDaSwxKX07CnJnPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWIhPT12b2lkIDA7Yj0hIWI7dmFyIGs9RXcoTEcpLGg7IXYmJmsmJihoPW5ba10pJiZnZyhoLFZVUyk7az1bXTt2YXIgeD1uLmxlbmd0aDtoPTQyOTQ5NjcyOTU7dmFyIEw9ITEsZT0hIShXJjY0KSxHPWU/VyYxMjg/MDotMTp2b2lkIDA7aWYoIShXJjEpKXt2YXIgcj14JiZuW3gtMV07ciE9bnVsbCYmdHlwZW9mIHI9PT0ib2JqZWN0IiYmci5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oeC0tLGg9eCk6cj12b2lkIDA7IWV8fFcmMTI4fHx2fHwoTD0hMCxoPSgkdj8/eHYpKGgtRyxHLG4scix2b2lkIDApK0cpfVc9dm9pZCAwO2Zvcih2YXIgTj0wO048eDtOKyspe2xldCBIPW5bTl07aWYoSCE9bnVsbCYmKEg9RChILGIpKSE9bnVsbClpZihlJiZOPj1oKXtsZXQgQT1OLUc7KFc/PyhXPXt9KSlbQV09SH1lbHNlIGtbTl09SH1pZihyKWZvcihsZXQgSCBpbiByKXt4PXJbSF07aWYoeD09bnVsbHx8KHg9RCh4LGIpKT09bnVsbCljb250aW51ZTtOPQorSDtsZXQgQTtlJiYhTnVtYmVyLmlzTmFOKE4pJiYoQT1OK0cpPGg/a1tBXT14OihXPz8oVz17fSkpW0hdPXh9VyYmKEw/ay5wdXNoKFcpOmtbaF09Vyk7diYmRXcoTEcpJiYobj1lVyhuKSkmJm4gaW5zdGFuY2VvZiBYRiYmKGtbTEddPXdaQyhuKSk7cmV0dXJuIGt9OwpORT1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShuKT9uOiIiK247Y2FzZSAiYmlnaW50IjpyZXR1cm4gc0sobik/TnVtYmVyKG4pOiIiK247Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIG4/MTowO2Nhc2UgIm9iamVjdCI6aWYoQXJyYXkuaXNBcnJheShuKSl7dmFyIFc9bltiNF18MDtyZXR1cm4gbi5sZW5ndGg9PT0wJiZXJjE/dm9pZCAwOnJnKG4sVyxORSl9aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gcEcobik7aWYobiBpbnN0YW5jZW9mIEZRKXtXPW4uTjtpZihXPT1udWxsKW49IiI7ZWxzZSBpZih0eXBlb2YgVz09PSJzdHJpbmciKW49VztlbHNle2xldCBEPSIiLGI9MCx2PVcubGVuZ3RoLTEwMjQwO2Zvcig7Yjx2OylEKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsVy5zdWJhcnJheShiLGIrPTEwMjQwKSk7RCs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGI/Vy5zdWJhcnJheShiKToKVyk7Vz1idG9hKEQpO249bi5OPVd9cmV0dXJuIG59cmV0dXJufXJldHVybiBufTsKWXY9ZnVuY3Rpb24obixXKXtpZihXKXskdj1XPT1udWxsfHxXPT09eHZ8fFdbY2lVXSE9PWExVT94djpXO3RyeXtyZXR1cm4gcEcobil9ZmluYWxseXskdj12b2lkIDB9fXJldHVybiBwRyhuKX07CnBHPWZ1bmN0aW9uKG4pe249bi5sOTtyZXR1cm4gcmcobixuW2I0XXwwLE5FKX07Cm4zMj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJvb2xlYW4iOnJldHVybiBISHx8KEhIPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIG4+MD92b2lkIDA6bj09PTA/Zkd8fChmRz1bMCx2b2lkIDBdKTpbLW4sdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLG5dO2Nhc2UgIm9iamVjdCI6cmV0dXJuIG59fTsKU1c9ZnVuY3Rpb24obixXKXtyZXR1cm4gSnYobixXWzBdLFdbMV0pfTsKSnY9ZnVuY3Rpb24obixXLEQsYj0wKXtpZihuPT1udWxsKXt2YXIgdj0zMjtEPyhuPVtEXSx2fD0xMjgpOm49W107VyYmKHY9diYtMTY3NjA4MzN8KFcmMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IEVycm9yKCJuYXJyIik7dj1uW2I0XXwwO2lmKEF2JiYxJnYpdGhyb3cgRXJyb3IoInJmYXJyIik7MjA0OCZ2JiYhKDImdikmJldjcigpO2lmKHYmMjU2KXRocm93IEVycm9yKCJmYXJyIik7aWYodiY2NClyZXR1cm4odnxiKSE9PXYmJihuW2I0XT12fGIpLG47aWYoRCYmKHZ8PTEyOCxEIT09blswXSkpdGhyb3cgRXJyb3IoIm1pZCIpO2E6e0Q9bjt2fD02NDt2YXIgaz1ELmxlbmd0aDtpZihrKXt2YXIgaD1rLTE7bGV0IEw9RFtoXTtpZihMIT1udWxsJiZ0eXBlb2YgTD09PSJvYmplY3QiJiZMLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtXPXYmMTI4PzA6LTE7aC09VztpZihoPj0xMDI0KXRocm93IEVycm9yKCJwdnRsbXQiKTtmb3IodmFyIHggaW4gTClpZihrPQoreCxrPGgpRFtrK1ddPUxbeF0sZGVsZXRlIExbeF07ZWxzZSBicmVhazt2PXYmLTE2NzYwODMzfChoJjEwMjMpPDwxNDticmVhayBhfX1pZihXKXt4PU1hdGgubWF4KFcsay0odiYxMjg/MDotMSkpO2lmKHg+MTAyNCl0aHJvdyBFcnJvcigic3B2dCIpO3Y9diYtMTY3NjA4MzN8KHgmMTAyMyk8PDE0fX19bltiNF09dnw2NHxiO3JldHVybiBufTsKV2NyPWZ1bmN0aW9uKCl7aWYoQXYpdGhyb3cgRXJyb3IoImNhcnIiKTtuNShEVWksNSl9OwpiYlo9ZnVuY3Rpb24obixXKXtpZih0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKEFycmF5LmlzQXJyYXkobikpe3ZhciBEPW5bYjRdfDA7bi5sZW5ndGg9PT0wJiZEJjE/bj12b2lkIDA6RCYyfHwoIVd8fDQwOTYmRHx8MTYmRD9uPW1fKG4sRCwhMSxXJiYhKEQmMTYpKToobltiNF18PTM0LEQmNCYmT2JqZWN0LmZyZWV6ZShuKSkpO3JldHVybiBufWlmKG4hPW51bGwmJm5bdkhdPT09a3YpcmV0dXJuIFc9bi5sOSxEPVdbYjRdfDAsdjkobixEKT9uOktHKG4sVyxEKT9PSyhuLFcpOm1fKFcsRCk7aWYobiBpbnN0YW5jZW9mIEZRKXJldHVybiBufTsKT0s9ZnVuY3Rpb24obixXLEQpe249bmV3IG4uY29uc3RydWN0b3IoVyk7RCYmKG4uTj1EQik7bi5YPURCO3JldHVybiBufTsKbV89ZnVuY3Rpb24obixXLEQsYil7Yj8/KGI9ISEoMzQmVykpO249cmcobixXLGJiWixiKTtiPTMyO0QmJihifD0yKTtXPVcmMTY3NjkyMTd8YjtuW2I0XT1XO3JldHVybiBufTsKUEg9ZnVuY3Rpb24obil7dmFyIFc9bi5sOSxEPVdbYjRdfDA7cmV0dXJuIHY5KG4sRCk/S0cobixXLEQpP09LKG4sVywhMCk6bmV3IG4uY29uc3RydWN0b3IobV8oVyxELCExKSk6bn07ClpSPWZ1bmN0aW9uKG4pe2lmKG4uTiE9PURCKXJldHVybiExO3ZhciBXPW4ubDk7Vz1tXyhXLFdbYjRdfDApO1dbYjRdfD0yMDQ4O24ubDk9VztuLk49dm9pZCAwO24uWD12b2lkIDA7cmV0dXJuITB9OwpVSz1mdW5jdGlvbihuKXtpZighWlIobikmJnY5KG4sbi5sOVtiNF18MCkpdGhyb3cgRXJyb3IoKTt9Owp5Zz1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDAmJihXPW5bYjRdfDApO1cmMzImJiEoVyY0MDk2KSYmKG5bYjRdPVd8NDA5Nil9OwpLRz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQmMj8hMDpEJjMyJiYhKEQmNDA5Nik/KFdbYjRdPUR8MixuLk49REIsITApOiExfTsKaVc9ZnVuY3Rpb24obixXLEQsYix2KXtPYmplY3QuaXNFeHRlbnNpYmxlKG4pO1c9RUsobi5sOSxXLEQsdik7aWYoVyE9PW51bGx8fGImJm4uWCE9PURCKXJldHVybiBXfTsKRUs9ZnVuY3Rpb24obixXLEQsYil7aWYoVz09PS0xKXJldHVybiBudWxsO3ZhciB2PVcrKEQ/MDotMSksaz1uLmxlbmd0aC0xO2lmKCEoazwxKyhEPzA6LTEpKSl7aWYodj49ayl7dmFyIGg9bltrXTtpZihoIT1udWxsJiZ0eXBlb2YgaD09PSJvYmplY3QiJiZoLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtEPWhbV107dmFyIHg9ITB9ZWxzZSBpZih2PT09aylEPWg7ZWxzZSByZXR1cm59ZWxzZSBEPW5bdl07aWYoYiYmRCE9bnVsbCl7Yj1iKEQpO2lmKGI9PW51bGwpcmV0dXJuIGI7aWYoIU9iamVjdC5pcyhiLEQpKXJldHVybiB4P2hbV109YjpuW3ZdPWIsYn1yZXR1cm4gRH19Owpvej1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5O3VXKHYsdltiNF18MCxXLEQsYik7cmV0dXJuIG59Owp1Vz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPUQrKHY/MDotMSksaD1uLmxlbmd0aC0xO2lmKGg+PTErKHY/MDotMSkmJms+PWgpe2xldCB4PW5baF07aWYoeCE9bnVsbCYmdHlwZW9mIHg9PT0ib2JqZWN0IiYmeC5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4geFtEXT1iLFd9aWYoazw9aClyZXR1cm4gbltrXT1iLFc7YiE9PXZvaWQgMCYmKGg9KFc/PyhXPW5bYjRdfDApKT4+MTQmMTAyM3x8NTM2ODcwOTEyLEQ+PWg/YiE9bnVsbCYmKG5baCsodj8wOi0xKV09e1tEXTpifSk6bltrXT1iKTtyZXR1cm4gV307CmcuQkg9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLmw5LGg9a1tiNF18MDtiPXY5KG4saCk/MTpiO3Y9ISF2fHxiPT09MztiPT09MiYmWlIobikmJihrPW4ubDksaD1rW2I0XXwwKTtuPWRnKGssVyk7dmFyIHg9bj09PXp6Pzc6bltiNF18MCxMPWxXKHgsaCk7dmFyIGU9NCZMPyExOiEwO2lmKGUpezQmTCYmKG49Wy4uLm5dLHg9MCxMPWpXKEwsaCksaD11VyhrLGgsVyxuKSk7bGV0IEc9MCxyPTA7Zm9yKDtHPG4ubGVuZ3RoO0crKyl7bGV0IE49RChuW0ddKTtOIT1udWxsJiYobltyKytdPU4pfXI8RyYmKG4ubGVuZ3RoPXIpO0Q9KEx8NCkmLTUxMztMPUQmPS0xMDI1O0wmPS00MDk3fUwhPT14JiYobltiNF09TCwyJkwmJk9iamVjdC5mcmVlemUobikpO3JldHVybiBuPUNHKG4sTCxrLGgsVyx2b2lkIDAsYixlLHYpfTsKQ0c9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPVc7aD09PTF8fChoIT09ND8wOjImV3x8ISgxNiZXKSYmMzImYik/RkYoVyl8fChXfD0hbi5sZW5ndGh8fHgmJiEoNDA5NiZXKXx8MzImYiYmISg0MDk2Jld8fDE2JlcpPzI6MjU2LFchPT1lJiYobltiNF09VyksT2JqZWN0LmZyZWV6ZShuKSk6KGg9PT0yJiZGRihXKSYmKG49Wy4uLm5dLGU9MCxXPWpXKFcsYiksYj11VyhELGIsdixuLGspKSxGRihXKXx8KEx8fChXfD0xNiksVyE9PWUmJihuW2I0XT1XKSkpOzImV3x8ISg0MDk2Jld8fDE2JlcpfHx5ZyhELGIpO3JldHVybiBufTsKZGc9ZnVuY3Rpb24obixXLEQpe249RUsobixXLEQpO3JldHVybiBBcnJheS5pc0FycmF5KG4pP246enp9OwpsVz1mdW5jdGlvbihuLFcpezImVyYmKG58PTIpO3JldHVybiBufDF9OwpGRj1mdW5jdGlvbihuKXtyZXR1cm4hISgyJm4pJiYhISg0Jm4pfHwhISgyNTYmbil9OwpNRT1mdW5jdGlvbihuKXtyZXR1cm4ga1UobiwhMCl9OwpSej1mdW5jdGlvbihuLFcpe249aVcobixXLHZvaWQgMCx2b2lkIDAsTUUpO3JldHVybiBuPT1udWxsP014KCk6bn07ClFnPWZ1bmN0aW9uKG4sVyxEKXtVSyhuKTt2YXIgYj1uLmw5LHY9YltiNF18MDtpZihXPT1udWxsKXJldHVybiB1VyhiLHYsMyksbjtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBjMigpO3ZhciBrPVc9PT16ej83OldbYjRdfDAsaD1rLHg9RkYoayksTD14fHxPYmplY3QuaXNGcm96ZW4oVyk7eHx8KGs9MCk7THx8KFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSk7a3w9NTt4PSg0Jms/NTEyJms/NTEyOjEwMjQmaz8xMDI0OjA6dm9pZCAwKT8/MTAyNDtrfD14O2ZvcihsZXQgZT0wO2U8Vy5sZW5ndGg7ZSsrKXtsZXQgRz1XW2VdLHI9RChHLHgpO09iamVjdC5pcyhHLHIpfHwoTCYmKFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSksV1tlXT1yKX1rIT09aCYmKEwmJihXPVsuLi5XXSxrPWpXKGssdikpLFdbYjRdPWspO3VXKGIsdiwzLFcpO3JldHVybiBufTsKZy5WZz1mdW5jdGlvbihuLFcsRCxiLHYpe1VLKG4pO3ZhciBrPW4ubDk7dVcoayxrW2I0XXwwLFcsKGI9PT0iMCI/TnVtYmVyKEQpPT09MDpEPT09Yik/dm9pZCAwOkQsdik7cmV0dXJuIG59OwpjSD1mdW5jdGlvbihuLFcsRCl7aWYoVyYyKXRocm93IEVycm9yKCk7dmFyIGI9TDUoVyksdj1kZyhuLEQsYiksaz12PT09eno/Nzp2W2I0XXwwLGg9bFcoayxXKTtpZigyJmh8fEZGKGgpfHwxNiZoKWg9PT1rfHxGRihoKXx8KHZbYjRdPWgpLHY9Wy4uLnZdLGs9MCxoPWpXKGgsVyksdVcobixXLEQsdixiKTtoJj0tMTM7aCE9PWsmJih2W2I0XT1oKTtyZXR1cm4gdn07CkQyPWZ1bmN0aW9uKG4sVyxELGIpe1VLKG4pO3ZhciB2PW4ubDksaz12W2I0XXwwO2lmKGI9PW51bGwpe2xldCBoPWF6KHYpO2lmKG5uKGgsdixrLEQpPT09VyloLnNldChELDApO2Vsc2UgcmV0dXJuIG59ZWxzZSBrPVdXKHYsayxELFcpO3VXKHYsayxXLGIpO3JldHVybiBufTsKYmE9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bltiNF18MCxrPUw1KHYpO3Y9V1cobix2LEQsVyxrKTt1VyhuLHYsVyxiLGspfTsKdlc9ZnVuY3Rpb24obixXLEQpe249bi5sOTtyZXR1cm4gbm4oYXoobiksbix2b2lkIDAsVyk9PT1EP0Q6LTF9Owphej1mdW5jdGlvbihuKXtyZXR1cm4gbltrOV0/PyhuW2s5XT1uZXcgTWFwKX07CldXPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj09PTB8fEQuaW5jbHVkZXMoYik7dmFyIGs9YXoobiksaD1ubihrLG4sVyxELHYpO2ghPT1iJiYoaCYmKFc9dVcobixXLGgsdm9pZCAwLHYpKSxrLnNldChELGIpKTtyZXR1cm4gV307Cm5uPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5nZXQoYik7aWYoayE9bnVsbClyZXR1cm4gaztrPTA7Zm9yKGxldCBoPTA7aDxiLmxlbmd0aDtoKyspe2xldCB4PWJbaF07RUsoVyx4LHYpIT1udWxsJiYoayE9PTAmJihEPXVXKFcsRCxrLHZvaWQgMCx2KSksaz14KX1uLnNldChiLGspO3JldHVybiBrfTsKaFM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5bYjRdfDAsdj1MNShiKSxrPUVLKG4sRCx2KTtpZihrIT1udWxsJiZrW3ZIXT09PWt2KXtpZighdjkoaykpcmV0dXJuIFpSKGspLGsubDk7dmFyIGg9ay5sOX1lbHNlIEFycmF5LmlzQXJyYXkoaykmJihoPWspO2lmKGgpe2xldCB4PWhbYjRdfDA7eCYyJiYoaD1tXyhoLHgpKX1oPVNXKGgsVyk7aCE9PWsmJnVXKG4sYixELGgsdik7cmV0dXJuIGh9Owp4OT1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSExO2I9RUsobixiLHYsaD0+e3ZhciB4PWh2KGgsRCxXKTtrPXghPT1oJiZ4IT1udWxsO3JldHVybiB4fSk7CmlmKGIhPW51bGwpcmV0dXJuIGsmJiF2OShiKSYmeWcobixXKSxifTsKZUU9ZnVuY3Rpb24obixXLEQsYil7bj1uLmw5OyhEPXg5KG4sbltiNF18MCxXLEQsYikpfHwoRD1XW0xuXSl8fChiPW5ldyBXLEQ9Yi5sOSxEW2I0XXw9MzQsRD1XW0xuXT1iKTtyZXR1cm4gRH07CmdlPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4ubDksaz12W2I0XXwwO1c9eDkodixrLFcsRCxiKTtpZihXPT1udWxsKXJldHVybiBXO2s9dltiNF18MDtpZighdjkobixrKSl7bGV0IGg9UEgoVyk7aCE9PVcmJihaUihuKSYmKHY9bi5sOSxrPXZbYjRdfDApLFc9aCxrPXVXKHYsayxELFcsYikseWcodixrKSl9cmV0dXJuIFd9OwpxSD1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLmw5O3JldHVybiBYXyhuLHYsdltiNF18MCxXLEQsMSxiKX07ClhfPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCxMKXt2YXIgZT12OShuLEQpO2s9ZT8xOms7eD0hIXh8fGs9PT0zO2U9TCYmIWU7KGs9PT0yfHxlKSYmWlIobikmJihXPW4ubDksRD1XW2I0XXwwKTtuPWRnKFcsdixoKTt2YXIgRz1uPT09eno/NzpuW2I0XXwwLHI9bFcoRyxEKTtpZihMPSEoNCZyKSl7dmFyIE49bixIPUQ7bGV0IEE9ISEoMiZyKTtBJiYoSHw9Mik7bGV0IHk9IUEsVD0hMCx6PTAsQz0wO2Zvcig7ejxOLmxlbmd0aDt6Kyspe2xldCBRPWh2KE5bel0sYixIKTtpZihRIGluc3RhbmNlb2YgYil7aWYoIUEpe2xldCBWPXY5KFEpO3kmJih5PSFWKTtUJiYoVD1WKX1OW0MrK109UX19Qzx6JiYoTi5sZW5ndGg9Qyk7cnw9NDtyPVQ/ciYtNDA5NzpyfDQwOTY7cj15P3J8ODpyJi05fXIhPT1HJiYobltiNF09ciwyJnImJk9iamVjdC5mcmVlemUobikpO2lmKGUmJiEoOCZyfHwhbi5sZW5ndGgmJihrPT09MXx8KGshPT00PzA6MiZyfHwhKDE2JnIpJiYzMiZEKSkpKXtGRihyKSYmKG49ClsuLi5uXSxyPWpXKHIsRCksRD11VyhXLEQsdixuLGgpKTtiPW47ZT1yO2ZvcihHPTA7RzxiLmxlbmd0aDtHKyspTj1iW0ddLHI9UEgoTiksTiE9PXImJihiW0ddPXIpO2V8PTg7cj1lPWIubGVuZ3RoP2V8NDA5NjplJi00MDk3O25bYjRdPXJ9cmV0dXJuIG49Q0cobixyLFcsRCx2LGgsayxMLHgpfTsKVkc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubDk7cmV0dXJuIFhfKG4sYixiW2I0XXwwLFcsRCx2b2lkIDA9PT1HJD8yOjQsdm9pZCAwLCExLCEwKX07CnRTPWZ1bmN0aW9uKG4sVyl7biE9bnVsbD9iVyhuLFcpOm49dm9pZCAwO3JldHVybiBufTsKJDk9ZnVuY3Rpb24obixXLEQsYix2KXtiPXRTKGIsVyk7b3oobixELGIsdik7YiYmIXY5KGIpJiZ5ZyhuLmw5KTtyZXR1cm4gbn07CnJlPWZ1bmN0aW9uKG4sVyxELGIsdil7dj10Uyh2LFcpO0QyKG4sRCxiLHYpO3YmJiF2OSh2KSYmeWcobi5sOSk7cmV0dXJuIG59OwpzVj1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5LGs9dltiNF18MDtpZihiPT1udWxsKXJldHVybiB1Vyh2LGssRCksbjtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBjMigpO3ZhciBoPWI9PT16ej83OmJbYjRdfDAseD1oLEw9RkYoaCksZT1MfHxPYmplY3QuaXNGcm96ZW4oYiksRz0hMCxyPSEwO2ZvcihsZXQgSD0wO0g8Yi5sZW5ndGg7SCsrKXt2YXIgTj1iW0hdO2JXKE4sVyk7THx8KE49djkoTiksRyYmKEc9IU4pLHImJihyPU4pKX1MfHwoaD1HPzEzOjUsaD1yP2gmLTQwOTc6aHw0MDk2KTtlJiZoPT09eHx8KGI9Wy4uLmJdLHg9MCxoPWpXKGgsaykpO2ghPT14JiYoYltiNF09aCk7az11Vyh2LGssRCxiKTsyJmh8fCEoNDA5NiZofHwxNiZoKXx8eWcodixrKTtyZXR1cm4gbn07CmpXPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49KDImVz9ufDI6biYtMykmLTI3M307Ck5IPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWI7VUsobik7Yj1uLmw5O249WF8obixiLGJbYjRdfDAsRCxXLDIsdm9pZCAwLCEwKTt2PXYhPW51bGw/YlcodixEKTpuZXcgRDtuLnB1c2godik7Vz1EPW49PT16ej83Om5bYjRdfDA7KHY9djkodikpPyhEJj0tOSxuLmxlbmd0aD09PTEmJihEJj0tNDA5NykpOkR8PTQwOTY7RCE9PVcmJihuW2I0XT1EKTt2fHx5ZyhiKX07CmFQPWZ1bmN0aW9uKG4sVyxEPTApe3JldHVybiBFXyhpVyhuLFcpKT8/RH07CnBuPWZ1bmN0aW9uKG4sVyxEPXYzaSl7cmV0dXJuIGlXKG4sVyx2b2lkIDAsdm9pZCAwLEZEKT8/RH07Clk5PWZ1bmN0aW9uKG4sVyxEPSIiLGIpe3JldHVybiBnLkRSKGlXKG4sVyxiKSk/P0R9OwpIVz1mdW5jdGlvbihuLFcpe249aVcobixXKTtyZXR1cm4obj09bnVsbD9uOlA5KG4pP258MDp2b2lkIDApPz8wfTsKSlM9ZnVuY3Rpb24obixXKXtyZXR1cm4gZy5EUihpVyhuLFcsdm9pZCAwLGZuKSl9OwpJWT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG96KG4sVyxnLmw0KEQpKX07CmcuU0U9ZnVuY3Rpb24obixXLEQpe3JldHVybiBveihuLFcsV0goRCkpfTsKQVM9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIGcuVmcobixXLFdIKEQpLCIiLGIpfTsKS249ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpe2lmKCFQOShEKSl0aHJvdyBjMigiZW51bSIpO0R8PTB9cmV0dXJuIG96KG4sVyxEKX07ClBXPWZ1bmN0aW9uKG4sVyl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbmV3IE9WKEMwKG4pLFcpO2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIG5ldyBPVihuZXcgVWludDhBcnJheShuKSxXKTtpZihuLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm4gbmV3IE9WKG4sITEpO2lmKG4uY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilyZXR1cm4gbj1uZXcgVWludDhBcnJheShuKSxuZXcgT1YobiwhMSk7aWYobi5jb25zdHJ1Y3Rvcj09PUZRKXJldHVybiBXPVFsKG4pfHxuZXcgVWludDhBcnJheSgwKSxuZXcgT1YoVywhMCxuKTtpZihuIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gbj1uLmNvbnN0cnVjdG9yPT09VWludDhBcnJheT9uOm5ldyBVaW50OEFycmF5KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpLG5ldyBPVihuLCExKTt0aHJvdyBFcnJvcigpO307CmcuVVY9ZnVuY3Rpb24obixXKXt2YXIgRD0wLGI9MCx2PTAsaz1uLkosaD1uLk47ZG97dmFyIHg9a1toKytdO0R8PSh4JjEyNyk8PHY7dis9N313aGlsZSh2PDMyJiZ4JjEyOCk7aWYodj4zMilmb3IoYnw9KHgmMTI3KT4+NCx2PTM7djwzMiYmeCYxMjg7dis9Nyl4PWtbaCsrXSxifD0oeCYxMjcpPDx2O1oyKG4saCk7aWYoISh4JjEyOCkpcmV0dXJuIFcoRD4+PjAsYj4+PjApO3Rocm93IEVycm9yKCk7fTsKeTE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTAsRD1uLk4sYj1EKzEwLHY9bi5KO0Q8Yjspe2xldCBrPXZbRCsrXTtXfD1rO2lmKChrJjEyOCk9PT0wKXJldHVybiBaMihuLEQpLCEhKFcmMTI3KX10aHJvdyBFcnJvcigpO307CmcuRVY9ZnVuY3Rpb24obil7dmFyIFc9bi5KLEQ9bi5OLGI9V1tEKytdLHY9YiYxMjc7aWYoYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDw3LGImMTI4JiYoYj1XW0QrK10sdnw9KGImMTI3KTw8MTQsYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDwyMSxiJjEyOCYmKGI9V1tEKytdLHZ8PWI8PDI4LGImMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4KSkpKSl0aHJvdyBFcnJvcigpO1oyKG4sRCk7cmV0dXJuIHZ9Owp1YT1mdW5jdGlvbihuKXt2YXIgVz1uLkosRD1uLk4sYj1XW0QrMF0sdj1XW0QrMV0saz1XW0QrMl07Vz1XW0QrM107aWEobiw0KTtyZXR1cm4oYjw8MHx2PDw4fGs8PDE2fFc8PDI0KT4+PjB9OwpvWT1mdW5jdGlvbihuKXt2YXIgVz11YShuKTtuPXVhKG4pO3JldHVybiBmNShXLG4pfTsKZy5kZT1mdW5jdGlvbihuKXt2YXIgVz1uLmo7V3x8KFc9bi5KLFc9bi5qPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSk7Vz1XLmdldEZsb2F0NjQobi5OLCEwKTtpYShuLDgpO3JldHVybiBXfTsKazQyPWZ1bmN0aW9uKG4pe3JldHVybiBnLkVWKG4pfTsKWjI9ZnVuY3Rpb24obixXKXtuLk49VztpZihXPm4uVyl0aHJvdyBFcnJvcigpO307CmlhPWZ1bmN0aW9uKG4sVyl7WjIobixuLk4rVyl9Owp6JD1mdW5jdGlvbihuLFcpe2lmKFc8MCl0aHJvdyBFcnJvcigpO3ZhciBEPW4uTjtXPUQrVztpZihXPm4uVyl0aHJvdyBFcnJvcigpO24uTj1XO3JldHVybiBEfTsKbGE9ZnVuY3Rpb24obixXKXtpZihXPT0wKXJldHVybiBNeCgpO3ZhciBEPXokKG4sVyk7bi5uXyYmbi5WP0Q9bi5KLnN1YmFycmF5KEQsRCtXKToobj1uLkosVz1EK1csRD1EPT09Vz9uZXcgVWludDhBcnJheSgwKTpuLnNsaWNlKEQsVykpO3JldHVybiBELmxlbmd0aD09MD9NeCgpOm5ldyBGUShELHdXKX07CkNuPWZ1bmN0aW9uKG4sVyxELGIpe2lmKFQkLmxlbmd0aCl7bGV0IHY9VCQucG9wKCk7akUodixiKTt2Lk4uaW5pdChuLFcsRCxiKTtyZXR1cm4gdn1yZXR1cm4gbmV3IGhCUyhuLFcsRCxiKX07CmpFPWZ1bmN0aW9uKG4se0diOlc9ITF9PXt9KXtuLkdiPVd9OwpGXz1mdW5jdGlvbihuKXt2YXIgVz1uLk47aWYoVy5OPT1XLlcpcmV0dXJuITE7bi5YPW4uTi5OO3ZhciBEPWcuRVYobi5OKT4+PjA7Vz1EPj4+MztEJj03O2lmKCEoRD49MCYmRDw9NSkpdGhyb3cgRXJyb3IoKTtpZihXPDEpdGhyb3cgRXJyb3IoKTtuLlc9VztuLko9RDtyZXR1cm4hMH07CndlPWZ1bmN0aW9uKG4pe3RyeXtzd2l0Y2gobi5KKXtjYXNlIDA6bi5KIT0wP3dlKG4pOnkxKG4uTik7YnJlYWs7Y2FzZSAxOmlhKG4uTiw4KTticmVhaztjYXNlIDI6aWYobi5KIT0yKXdlKG4pO2Vsc2V7dmFyIFc9Zy5FVihuLk4pPj4+MDtpYShuLk4sVyl9YnJlYWs7Y2FzZSA1OmlhKG4uTiw0KTticmVhaztjYXNlIDM6TUgoKTtsZXQgRD1uLlc7dHJ5e2Rve2lmKCFGXyhuKSl0aHJvdyBFcnJvcigpO2lmKG4uSj09NCl7aWYobi5XIT1EKXRocm93IEVycm9yKCk7YnJlYWt9d2Uobil9d2hpbGUoMSl9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IGI7fWZpbmFsbHl7Ulk+MCYmUlktLX1icmVhaztkZWZhdWx0OnRocm93IEVycm9yKCk7fX1jYXRjaChEKXtpZihEIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgRDt9fTsKTUg9ZnVuY3Rpb24oKXtpZihSWT49MTAwKXRocm93IG5ldyBTeW50YXhFcnJvcjtSWSsrfTsKUTE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5XLHY9Zy5FVihuLk4pPj4+MDt2PW4uTi5OK3Y7dmFyIGs9di1iO2s8PTAmJihuLk4uVz12LEQoVyxuLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxrPXYtbi5OLk4pO2lmKGspdGhyb3cgRXJyb3IoKTtuLk4uTj12O24uTi5XPWJ9OwphWT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wLEQ9bi5OO249eiQoRCxXKTt2YXIgYj1ELko7KEQ9VjEpfHwoRD1WMT1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7ZmF0YWw6ITB9KSk7Vz1uK1c7Yj1uPT09MCYmVz09PWIubGVuZ3RoP2I6Yi5zdWJhcnJheShuLFcpO3RyeXt2YXIgdj1ELmRlY29kZShiKX1jYXRjaChrKXtpZihjVz09PXZvaWQgMCl7dHJ5e0QuZGVjb2RlKG5ldyBVaW50OEFycmF5KFsxMjhdKSl9Y2F0Y2goaCl7fXRyeXtELmRlY29kZShuZXcgVWludDhBcnJheShbOTddKSksY1c9ITB9Y2F0Y2goaCl7Y1c9ITF9fSFjVyYmKFYxPXZvaWQgMCk7dGhyb3cgazt9cmV0dXJuIHZ9OwpEOT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wO3JldHVybiBsYShuLk4sVyl9OwpiRz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5FVihuLk4pPj4+MDtmb3IoYj1uLk4uTitiO24uTi5OPGI7KUQucHVzaChXKG4uTikpfTsKa209ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB2eShuJjQyOTQ5NjcyOTUsTWF0aC5mbG9vcihuLzQyOTQ5NjcyOTYpKX07CnhtPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBoM3x8KGgzPW5ldyB2eSgwLDApKTtpZighL15cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgdnkoclosc18pfTsKTGg9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj09PTA/bmV3IHZ5KDAsMSt+bi5OKTpuZXcgdnkofm4uSisxLH5uLk4pfTsKeFVqPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgZUMobiY0Mjk0OTY3Mjk1LE1hdGguZmxvb3Iobi80Mjk0OTY3Mjk2KSl9OwpYdD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gZ0d8fChnRz1uZXcgZUMoMCwwKSk7aWYoIS9eLT9cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgZUMoclosc18pfTsKWW09ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBCaWdJbnQ2NEFycmF5IT09InVuZGVmaW5lZCIpcmV0dXJuIHFmfHwocWY9bmV3IEJpZ0ludDY0QXJyYXkoMSksR1M9bmV3IFVpbnQzMkFycmF5KHFmLmJ1ZmZlcikscWZbMF09QmlnSW50KDEpLHQzPUdTWzBdPT09MSkscWZbMF09bixuPXQzPzA6MSxuZXcgVyhHU1tuXSxHU1sxLW5dKTskbXx8KHJHPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksTmY9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSxwaD1CaWdJbnQoNDI5NDk2NzI5NSksJG09QmlnSW50KDMyKSk7aWYobj49ckcmJm48PU5mKXJldHVybiBEKE51bWJlcihuKSk7bj1CaWdJbnQuYXNVaW50Tig2NCxuKTtyZXR1cm4gbmV3IFcoTnVtYmVyKG4mcGgpLE51bWJlcihuPj4kbSkpfTsKSHk9ZnVuY3Rpb24obixXLEQpe2Zvcig7RD4wfHxXPjEyNzspbi5OLnB1c2goVyYxMjd8MTI4KSxXPShXPj4+N3xEPDwyNSk+Pj4wLEQ+Pj49NztuLk4ucHVzaChXKX07CkozPWZ1bmN0aW9uKG4sVyl7bi5OLnB1c2goVz4+PjAmMjU1KTtuLk4ucHVzaChXPj4+OCYyNTUpO24uTi5wdXNoKFc+Pj4xNiYyNTUpO24uTi5wdXNoKFc+Pj4yNCYyNTUpfTsKSXg9ZnVuY3Rpb24obixXKXtmb3IoO1c+MTI3OyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj49NztuLk4ucHVzaChXKX07ClNDPWZ1bmN0aW9uKG4sVyl7aWYoVz49MClJeChuLFcpO2Vsc2V7Zm9yKGxldCBEPTA7RDw5O0QrKyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj03O24uTi5wdXNoKDEpfX07CkEzPWZ1bmN0aW9uKG4sVyl7Vy5sZW5ndGghPT0wJiYobi5XLnB1c2goVyksbi5KKz1XLmxlbmd0aCl9OwptND1mdW5jdGlvbihuLFcsRCl7SXgobi5OLFcqOCtEKX07CktoPWZ1bmN0aW9uKG4sVyl7bTQobixXLDIpO1c9bi5OLmVuZCgpO0EzKG4sVyk7Vy5wdXNoKG4uSik7cmV0dXJuIFd9OwpPcz1mdW5jdGlvbihuLFcpe3ZhciBEPVcucG9wKCk7Zm9yKEQ9bi5KK24uTi5sZW5ndGgoKS1EO0Q+MTI3OylXLnB1c2goRCYxMjd8MTI4KSxEPj4+PTcsbi5KKys7Vy5wdXNoKEQpO24uSisrfTsKeW09ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpc3dpdGNoKFB5KEQpLG00KG4sVywxKSx0eXBlb2YgRCl7Y2FzZSAibnVtYmVyIjpuPW4uTjtOMyhEKTtKMyhuLHJaKTtKMyhuLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oRCx2eSxrbSk7bj1uLk47Vz1ELk47SjMobixELkopO0ozKG4sVyk7YnJlYWs7ZGVmYXVsdDpEPXhtKEQpLG49bi5OLFc9RC5OLEozKG4sRC5KKSxKMyhuLFcpfX07CkVzPWZ1bmN0aW9uKG4sVyxEKXtEIT1udWxsJiYoRD1wYXJzZUludChELDEwKSxtNChuLFcsMCksU0Mobi5OLEQpKX07CmlHPWZ1bmN0aW9uKG4sVyxEKXttNChuLFcsMik7SXgobi5OLEQubGVuZ3RoKTtBMyhuLG4uTi5lbmQoKSk7QTMobixEKX07ClB5PWZ1bmN0aW9uKG4pe3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSAic3RyaW5nIjp4bShuKX19Owp1Rz1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgInN0cmluZyI6bi5sZW5ndGgmJm5bMF09PT0iLSI/eG0obi5zdWJzdHJpbmcoMSkpOnhtKG4pfX07Cm94PWZ1bmN0aW9uKCl7dmFyIG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aHJvdyBFcnJvcigpO319O09iamVjdC5zZXRQcm90b3R5cGVPZihuLG4ucHJvdG90eXBlKTtyZXR1cm4gbn07CmRHPWZ1bmN0aW9uKG4sVyl7aWYoVz09bnVsbHx8Vz09IiIpcmV0dXJuIG5ldyBuO1c9SlNPTi5wYXJzZShXKTtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBFcnJvcigiZG5hcnIiKTtXW2I0XXw9MzI7cmV0dXJuIG5ldyBuKFcpfTsKVFM9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHpTKG4sVyxsRyl9OwpDaD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9akMoVyxiKTtXIT1udWxsJiYoRD1LaChuLEQpLHYoVyxuKSxPcyhuLEQpKX07CndHPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWJbbl07aWYodilyZXR1cm4gdjt2PXt9O3Yud2s9Yjt2LlJyPW4zMihiWzBdKTt2YXIgaz1iWzFdLGg9MTtrJiZrLmNvbnN0cnVjdG9yPT09T2JqZWN0JiYodi5leHRlbnNpb25zPWssaz1iWysraF0sdHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYodi5kJD0hMCxCeT8/KEJ5PWspLEZ0Pz8oRnQ9YltoKzFdKSxrPWJbaCs9Ml0pKTtmb3IodmFyIHg9e307ayYmQXJyYXkuaXNBcnJheShrKSYmay5sZW5ndGgmJnR5cGVvZiBrWzBdPT09Im51bWJlciImJmtbMF0+MDspe2Zvcih2YXIgTD0wO0w8ay5sZW5ndGg7TCsrKXhba1tMXV09aztrPWJbKytoXX1mb3IoTD0xO2shPT12b2lkIDA7KXt0eXBlb2Ygaz09PSJudW1iZXIiJiYoTCs9ayxrPWJbKytoXSk7bGV0IHI7dmFyIGU9dm9pZCAwO2sgaW5zdGFuY2VvZiB6Uz9yPWs6KHI9TGN0LGgtLSk7aWYocj8uTil7az1iWysraF07ZT1iO3ZhciBHPWg7dHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYoaz1rKCksCmVbR109ayk7ZT1rfWs9YlsrK2hdO0c9TCsxO3R5cGVvZiBrPT09Im51bWJlciImJms8MCYmKEctPWssaz1iWysraF0pO2Zvcig7TDxHO0wrKyl7bGV0IE49eFtMXTtlP0QodixMLHIsZSxOKTpXKHYsTCxyLE4pfX1yZXR1cm4gYltuXT12fTsKTWY9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/blswXWluc3RhbmNlb2YgelM/bjpbZUJ0LG5dOltuLHZvaWQgMF19OwpSeD1mdW5jdGlvbihuLFc9IiIsRD0iIil7bj1uZXcgZy53WihuLCEwKTtuLnNldCgiYWxyIiwieWVzIik7RCYmKEQ9ZVgoODQsNjU1MyxNMygxOCw0MjYwLEQpKSxuW0lbMzRdXShXLFIwKDEzLDg3MTYsRCkpKTtyZXR1cm4gbn07CmpDPWZ1bmN0aW9uKG4sVyl7aWYobiBpbnN0YW5jZW9mIGcuUW0pcmV0dXJuIG4ubDk7aWYoQXJyYXkuaXNBcnJheShuKSlyZXR1cm4gU1cobixXKX07ClZtPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuY2o7bltXXT1iPyhrLGgseCk9PnYoayxoLHgsYik6dn07CmF4PWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9RC5jaixoLHg7bltXXT0oTCxlLEcpPT5rKEwsZSxHLHh8fCh4PXdHKGN5LFZtLGF4LGIpLlJyKSxofHwoaD1uOChiKSksdil9OwpuOD1mdW5jdGlvbihuKXt2YXIgVz1uW1dPXTtpZihXIT1udWxsKXJldHVybiBXO3ZhciBEPXdHKGN5LFZtLGF4LG4pO1c9RC5kJD8oYix2KT0+QnkoYix2LEQpOihiLHYpPT57YTp7TUgoKTsKdHJ5e2Zvcig7Rl8odikmJnYuSiE9NDspe2xldCBOPXYuVyxIPURbTl07aWYoSD09bnVsbCl7bGV0IEE9RC5leHRlbnNpb25zO2lmKEEpe2xldCB5PUFbTl07aWYoeSl7bGV0IFQ9ZzNVKHkpO1QhPW51bGwmJihIPURbTl09VCl9fX1pZihIPT1udWxsfHwhSCh2LGIsTikpe3ZhciBrPXY7bGV0IEE9ay5YO3dlKGspO2lmKGsuR2IpdmFyIGg9dm9pZCAwO2Vsc2V7bGV0IHk9ay5OLk4tQTtrLk4uTj1BO2g9bGEoay5OLHkpfWs9dm9pZCAwO3ZhciB4PWIsTD1OLGU9aDtlJiYoKGs9eFtMR10/Pyh4W0xHXT1uZXcgWEYpKVtMXT8/KGtbTF09W10pKS5wdXNoKGUpfX1sZXQgcj1lVyhiKTtyJiYoci5qNz1ELndrW0Q4XSk7dmFyIEc9ITA7YnJlYWsgYX1jYXRjaChyKXtpZihyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgcjt9ZmluYWxseXtSWT4wJiZSWS0tfUc9dm9pZCAwfXJldHVybiBHfTsKbltXT109VztuW0Q4XT1YTWkuYmluZChuKTtyZXR1cm4gV307ClhNaT1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj10aGlzW2N5XSxrPXRoaXNbV09dLGg9U1codm9pZCAwLHYuUnIpLHg9ZVcobik7aWYoeCl7dmFyIEw9ITEsZT12LmV4dGVuc2lvbnM7aWYoZSl7dj0oRyxyLE4pPT57aWYoTi5sZW5ndGghPT0wKWlmKGVbcl0pZm9yKGxldCBIIG9mIE4pe0c9Q24oSCk7dHJ5e0w9ITAsayhoLEcpfWZpbmFsbHl7Ry5mcmVlKCl9fWVsc2UgYj8uKG4scixOKX07CmlmKFc9PW51bGwpZ2coeCx2KTtlbHNlIGlmKHghPW51bGwpe2xldCBHPXhbV107RyYmdih4LFcsRyl9aWYoTCl7bGV0IEc9bltiNF18MDtpZihHJjImJkcmMjA0OCYmIUQ/LkpTKXRocm93IEVycm9yKCk7bGV0IHI9TDUoRyksTj0oSCxBKT0+e2lmKEVLKG4sSCxyKSE9bnVsbClzd2l0Y2goRD8uaDQpe2Nhc2UgMTpyZXR1cm47ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31BIT1udWxsJiYoRz11VyhuLEcsSCxBLHIpKTtkZWxldGUgeFtIXX07Clc9PW51bGw/aF8oaCxoW2I0XXwwLChILEEpPT57TihILEEpfSk6TihXLEVLKGgsVyxyKSl9fX19OwpnM1U9ZnVuY3Rpb24obil7bj1NZihuKTt2YXIgVz1uWzBdLmNqO2lmKG49blsxXSl7bGV0IEQ9bjgobiksYj13RyhjeSxWbSxheCxuKS5ScjtyZXR1cm4odixrLGgpPT5XKHYsayxoLGIsRCl9cmV0dXJuIFd9OwpiNj1mdW5jdGlvbihuLFcsRCl7bltXXT1ELlBqfTsKa249ZnVuY3Rpb24obixXLEQsYil7dmFyIHYsayxoPUQuUGo7bltXXT0oeCxMLGUpPT5oKHgsTCxlLGt8fChrPXdHKHZPLGI2LGtuLGIpLlJyKSx2fHwodj1oOShiKSkpfTsKaDk9ZnVuY3Rpb24obil7dmFyIFc9blt4bl07aWYoIVcpe2xldCBEPXdHKHZPLGI2LGtuLG4pO1c9KGIsdik9Pkw4KGIsdixEKTsKblt4bl09V31yZXR1cm4gV307Ckw4PWZ1bmN0aW9uKG4sVyxEKXtoXyhuLG5bYjRdfDAsKGIsdik9PntpZih2IT1udWxsKXt2YXIgaz1xTU0oRCxiKTtrP2soVyx2LGIpOmI8NTAwfHxuNShHNFMsMyl9fSk7CihuPWVXKG4pKSYmZ2cobiwoYix2LGspPT57QTMoVyxXLk4uZW5kKCkpO2ZvcihiPTA7YjxrLmxlbmd0aDtiKyspQTMoVyxRbChrW2JdKXx8bmV3IFVpbnQ4QXJyYXkoMCkpfSl9OwpxTU09ZnVuY3Rpb24obixXKXt2YXIgRD1uW1ddO2lmKEQpcmV0dXJuIEQ7aWYoRD1uLmV4dGVuc2lvbnMpaWYoRD1EW1ddKXtEPU1mKEQpO3ZhciBiPURbMF0uUGo7aWYoRD1EWzFdKXtsZXQgdj1oOShEKSxrPXdHKHZPLGI2LGtuLEQpLlJyO0Q9bi5kJD9GdChrLHYpOihoLHgsTCk9PmIoaCx4LEwsayx2KX1lbHNlIEQ9YjsKcmV0dXJuIG5bV109RH19OwplNj1mdW5jdGlvbihuLFcsRCl7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9V1tiNF18MDtpZihiJjQpcmV0dXJuIFc7Zm9yKHZhciB2PTAsaz0wO3Y8Vy5sZW5ndGg7disrKXtsZXQgaD1uKFdbdl0pO2ghPW51bGwmJihXW2srK109aCl9azx2JiYoVy5sZW5ndGg9ayk7bj1ifDE7RCYmKG49KG58NCkmLTE1MzcpO24hPT1iJiYoV1tiNF09bik7RCYmbiYyJiZPYmplY3QuZnJlZXplKFcpO3JldHVybiBXfX07CmcuZ1E9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKWGY9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKZy5xWT1mdW5jdGlvbihuLFcsRCl7dVcobixuW2I0XXwwLFcsRCxMNShuW2I0XXwwKSl9OwpnLnQ5PWZ1bmN0aW9uKG4sVyxEKXtXPW0wKFcpO1chPW51bGwmJihtNChuLEQsMSksbj1uLk4sRD1Hdnx8KEd2PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxELnNldEZsb2F0NjQoMCwrVywhMCksclo9RC5nZXRVaW50MzIoMCwhMCksc189RC5nZXRVaW50MzIoNCwhMCksSjMobixyWiksSjMobixzXykpfTsKZy4kbj1mdW5jdGlvbihuLFcsRCl7Vz1DeE0oVyk7aWYoVyE9bnVsbCl7c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOlh0KFcpfWlmKFchPW51bGwpc3dpdGNoKG00KG4sRCwwKSx0eXBlb2YgVyl7Y2FzZSAibnVtYmVyIjpuPW4uTjtwNShXKTtIeShuLHJaLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oVyxlQyx4VWopO0h5KG4uTixELkosRC5OKTticmVhaztkZWZhdWx0OkQ9WHQoVyksSHkobi5OLEQuSixELk4pfX19OwpnLnJRPWZ1bmN0aW9uKG4sVyxEKXtXPUVfKFcpO1chPW51bGwmJlchPW51bGwmJihtNChuLEQsMCksU0Mobi5OLFcpKX07CnNmPWZ1bmN0aW9uKG4sVyxEKXtXPVc9PW51bGx8fHR5cGVvZiBXPT09ImJvb2xlYW4iP1c6dHlwZW9mIFc9PT0ibnVtYmVyIj8hIVc6dm9pZCAwO1chPW51bGwmJihtNChuLEQsMCksbi5OLk4ucHVzaChXPzE6MCkpfTsKTlk9ZnVuY3Rpb24obixXLEQpe1c9Zy5EUihXKTtXIT1udWxsJiZpRyhuLEQsa0soVykpfTsKcDg9ZnVuY3Rpb24obixXLEQsYix2KXtXPWpDKFcsYik7VyE9bnVsbCYmKEQ9S2gobixEKSx2KFcsbiksT3MobixEKSl9OwpKOT1mdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxvWShuLk4pKTtyZXR1cm4hMH07CklfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKEQsYik9PnthOntsZXQgaz17aEI6ITB9O2ImJk9iamVjdC5hc3NpZ24oayxiKTtEPUNuKEQsdm9pZCAwLHZvaWQgMCxrKTt0cnl7bGV0IGg9bmV3IG4seD1oLmw5O244KFcpKHgsRCk7dmFyIHY9aDticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBoO31maW5hbGx5e0QuZnJlZSgpfXY9dm9pZCAwfXJldHVybiB2fX07CmcuQTk9ZnVuY3Rpb24obil7cmV0dXJuIFc9PlM2KFcsbil9OwpnLm1EPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBTNih0aGlzLG4pfX07Cks4PWZ1bmN0aW9uKG4pe3JldHVybiBXPT5kRyhuLFcpfTsKdGpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFFnKG4sVyxVXyl9Owp1Nj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZy5PZjtXPWcuU0UoVywxLG4uSik7dmFyIEQ9JFVNKG4pO1c9UWcoVyxELEZTMik7RD1bXTt2YXIgYj1bXTtmb3IodmFyIHYgb2Ygbi5OLmtleXMoKSliLnB1c2godi5zcGxpdCgiLCIpKTtmb3Iodj0wO3Y8Yi5sZW5ndGg7disrKXtsZXQgcj1iW3ZdO3ZhciBrPW4uVyxoPVBPKG4sLi4ucil8fFtdO2xldCBOPVtdO2Zvcih2YXIgeD0wO3g8aC5sZW5ndGg7eCsrKXt2YXIgTD1oW3hdLGU9TCYmTC5OO0w9bmV3IFo4O3N3aXRjaChrKXtjYXNlIDM6ZT1OdW1iZXIoZSk7TnVtYmVyLmlzRmluaXRlKGUpJiZEMihMLDEsVWYsZy5sNChlKSk7YnJlYWs7Y2FzZSAyOkQyKEwsMixVZixnLkFfKE51bWJlcihlKSkpfU4ucHVzaChMKX1mb3Ioaz0wO2s8Ti5sZW5ndGg7aysrKXt4PU5ba107aD1uZXcgeWU7aD0kOShoLFo4LDIseCk7eD1bXTtMPXJGdChuKTtmb3IoZT0wO2U8TC5sZW5ndGg7ZSsrKXt2YXIgRz1MW2VdO2xldCBIPXJbZV0sQT1uZXcgRWY7CnN3aXRjaChHKXtjYXNlIDM6RDIoQSwxLGk2LFdIKFN0cmluZyhIKSkpO2JyZWFrO2Nhc2UgMjpHPU51bWJlcihIKTtOdW1iZXIuaXNGaW5pdGUoRykmJkQyKEEsMixpNixnLnlQKEcpKTticmVhaztjYXNlIDE6RDIoQSwzLGk2LE9fKEg9PT0idHJ1ZSIpKX14LnB1c2goQSl9c1YoaCxFZiwxLHgpO0QucHVzaChoKX19c1YoVyx5ZSw0LEQpO3JldHVybiBXfTsKb189ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChuKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7bi5pbmRleE9mKCJibG9iOiIpPT09MCYmKG49bi5zdWJzdHJpbmcoNSkpO249bi5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07bj1uLnRvTG93ZXJDYXNlKCk7bi5pbmRleE9mKCIvLyIpPT0wJiYobj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrbik7L15bXHdcLV0qOlwvXC8vLnRlc3Qobil8fChuPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgVz1uLnN1YnN0cmluZyhuLmluZGV4T2YoIjovLyIpKzMpLEQ9Vy5pbmRleE9mKCIvIik7RCE9LTEmJihXPVcuc3Vic3RyaW5nKDAsRCkpO0Q9bi5zdWJzdHJpbmcoMCxuLmluZGV4T2YoIjovLyIpKTtpZighRCl0aHJvdyBFcnJvcigiVVJJIGlzIG1pc3NpbmcgcHJvdG9jb2w6ICIrbik7aWYoRCE9PSJodHRwIiYmRCE9PSJodHRwcyImJkQhPT0iY2hyb21lLWV4dGVuc2lvbiImJgpEIT09Im1vei1leHRlbnNpb24iJiZEIT09ImZpbGUiJiZEIT09ImFuZHJvaWQtYXBwIiYmRCE9PSJjaHJvbWUtc2VhcmNoIiYmRCE9PSJjaHJvbWUtdW50cnVzdGVkIiYmRCE9PSJjaHJvbWUiJiZEIT09ImFwcCImJkQhPT0iZGV2dG9vbHMiKXRocm93IEVycm9yKCJJbnZhbGlkIFVSSSBzY2hlbWUgaW4gb3JpZ2luOiAiK0QpO249IiI7dmFyIGI9Vy5pbmRleE9mKCI6Iik7aWYoYiE9LTEpe3ZhciB2PVcuc3Vic3RyaW5nKGIrMSk7Vz1XLnN1YnN0cmluZygwLGIpO2lmKEQ9PT0iaHR0cCImJnYhPT0iODAifHxEPT09Imh0dHBzIiYmdiE9PSI0NDMiKW49IjoiK3Z9cmV0dXJuIEQrIjovLyIrVytufTsKc00yPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZbMF09MTczMjU4NDE5Mzt2WzFdPTQwMjMyMzM0MTc7dlsyXT0yNTYyMzgzMTAyO3ZbM109MjcxNzMzODc4O3ZbNF09MzI4NTM3NzUyMDtHPWU9MH0KZnVuY3Rpb24gVyhyKXtmb3IodmFyIE49aCxIPTA7SDw2NDtIKz00KU5bSC80XT1yW0hdPDwyNHxyW0grMV08PDE2fHJbSCsyXTw8OHxyW0grM107Zm9yKEg9MTY7SDw4MDtIKyspcj1OW0gtM11eTltILThdXk5bSC0xNF1eTltILTE2XSxOW0hdPShyPDwxfHI+Pj4zMSkmNDI5NDk2NzI5NTtyPXZbMF07dmFyIEE9dlsxXSx5PXZbMl0sVD12WzNdLHo9dls0XTtmb3IoSD0wO0g8ODA7SCsrKXtpZihIPDQwKWlmKEg8MjApe3ZhciBDPVReQSYoeV5UKTt2YXIgUT0xNTE4NTAwMjQ5fWVsc2UgQz1BXnleVCxRPTE4NTk3NzUzOTM7ZWxzZSBIPDYwPyhDPUEmeXxUJihBfHkpLFE9MjQwMDk1OTcwOCk6KEM9QV55XlQsUT0zMzk1NDY5NzgyKTtDPSgocjw8NXxyPj4+MjcpJjQyOTQ5NjcyOTUpK0MreitRK05bSF0mNDI5NDk2NzI5NTt6PVQ7VD15O3k9KEE8PDMwfEE+Pj4yKSY0Mjk0OTY3Mjk1O0E9cjtyPUN9dlswXT12WzBdK3ImNDI5NDk2NzI5NTt2WzFdPXZbMV0rQSY0Mjk0OTY3Mjk1O3ZbMl09CnZbMl0reSY0Mjk0OTY3Mjk1O3ZbM109dlszXStUJjQyOTQ5NjcyOTU7dls0XT12WzRdK3omNDI5NDk2NzI5NX0KZnVuY3Rpb24gRChyLE4pe2lmKHR5cGVvZiByPT09InN0cmluZyIpe3I9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHIpKTtmb3IodmFyIEg9W10sQT0wLHk9ci5sZW5ndGg7QTx5OysrQSlILnB1c2goci5jaGFyQ29kZUF0KEEpKTtyPUh9Tnx8KE49ci5sZW5ndGgpO0g9MDtpZihlPT0wKWZvcig7SCs2NDxOOylXKHIuc2xpY2UoSCxIKzY0KSksSCs9NjQsRys9NjQ7Zm9yKDtIPE47KWlmKGtbZSsrXT1yW0grK10sRysrLGU9PTY0KWZvcihlPTAsVyhrKTtIKzY0PE47KVcoci5zbGljZShILEgrNjQpKSxIKz02NCxHKz02NH0KZnVuY3Rpb24gYigpe3ZhciByPVtdLE49Ryo4O2U8NTY/RCh4LDU2LWUpOkQoeCw2NC0oZS01NikpO2Zvcih2YXIgSD02MztIPj01NjtILS0pa1tIXT1OJjI1NSxOPj4+PTg7VyhrKTtmb3IoSD1OPTA7SDw1O0grKylmb3IodmFyIEE9MjQ7QT49MDtBLT04KXJbTisrXT12W0hdPj5BJjI1NTtyZXR1cm4gcn0KZm9yKHZhciB2PVtdLGs9W10saD1bXSx4PVsxMjhdLEw9MTtMPDY0OysrTCl4W0xdPTA7dmFyIGUsRztuKCk7cmV0dXJue3Jlc2V0Om4sdXBkYXRlOkQsZGlnZXN0OmIsSFU6ZnVuY3Rpb24oKXtmb3IodmFyIHI9YigpLE49IiIsSD0wO0g8ci5sZW5ndGg7SCsrKU4rPSIwMTIzNDU2Nzg5QUJDREVGIi5jaGFyQXQoTWF0aC5mbG9vcihyW0hdLzE2KSkrIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChyW0hdJTE2KTtyZXR1cm4gTn19fTsKZFE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVN0cmluZyhnLnFpLmxvY2F0aW9uLmhyZWYpO3JldHVybiBiJiZuJiZXP1tXLE56cihvXyhiKSxuLER8fG51bGwpXS5qb2luKCIgIik6bnVsbH07Ck56cj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1bXTtpZigoQXJyYXkuaXNBcnJheShEKT8yOjEpPT0xKXJldHVybiB2PVtXLG5dLGcueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KSx6dih2LmpvaW4oIiAiKSk7CnZhciBrPVtdLGg9W107Zy55MihELGZ1bmN0aW9uKHgpe2gucHVzaCh4LmtleSk7ay5wdXNoKHgudmFsdWUpfSk7CkQ9TWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWUoKS8xRTMpO3Y9ay5sZW5ndGg9PTA/W0QsVyxuXTpbay5qb2luKCI6IiksRCxXLG5dO2cueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KTsKbj16dih2LmpvaW4oIiAiKSk7bj1bRCxuXTtoLmxlbmd0aD09MHx8bi5wdXNoKGguam9pbigiIikpO3JldHVybiBuLmpvaW4oIl8iKX07Cnp2PWZ1bmN0aW9uKG4pe3ZhciBXPXNNMigpO1cudXBkYXRlKG4pO3JldHVybiBXLkhVKCkudG9Mb3dlckNhc2UoKX07Cmw2PWZ1bmN0aW9uKG4pe3RoaXMuTj1ufHx7Y29va2llOiIifX07ClR2PWZ1bmN0aW9uKG4pe249KG4uTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO3ZhciBXPVtdLEQ9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspe3ZhciBiPW5ba10udHJpbSgpO3ZhciB2PWIuaW5kZXhPZigiPSIpO3Y9PS0xPyhXLnB1c2goIiIpLEQucHVzaChiKSk6KFcucHVzaChiLnN1YnN0cmluZygwLHYpKSxELnB1c2goYi5zdWJzdHJpbmcodisxKSkpfXJldHVybntrZXlzOlcsdmFsdWVzOkR9fTsKajY9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLl9fU0FQSVNJRHx8Zy5xaS5fX0FQSVNJRHx8Zy5xaS5fXzNQU0FQSVNJRHx8Zy5xaS5fXzFQU0FQSVNJRHx8Zy5xaS5fX09WRVJSSURFX1NJRDtpZihuKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYobj1uZXcgbDYoZG9jdW1lbnQpLG49bi5nZXQoIlNBUElTSUQiKXx8bi5nZXQoIkFQSVNJRCIpfHxuLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8bi5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhbn07CkM4PWZ1bmN0aW9uKG4sVyxELGIpeyhuPWcucWlbbl0pfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KG49KG5ldyBsNihkb2N1bWVudCkpLmdldChXKSk7cmV0dXJuIG4/ZFEobixELGIpOm51bGx9OwpCTz1mdW5jdGlvbihuKXt2YXIgVz1vXyhnLnFpPy5sb2NhdGlvbi5ocmVmKSxEPVtdO2lmKGo2KCkpe1c9Vy5pbmRleE9mKCJodHRwczoiKT09MHx8Vy5pbmRleE9mKCJjaHJvbWUtZXh0ZW5zaW9uOiIpPT0wfHxXLmluZGV4T2YoImNocm9tZS11bnRydXN0ZWQ6Ly9uZXctdGFiLXBhZ2UiKT09MHx8Vy5pbmRleE9mKCJtb3otZXh0ZW5zaW9uOiIpPT0wO3ZhciBiLHY9KGI9Vyk/Zy5xaS5fX1NBUElTSUQ6Zy5xaS5fX0FQSVNJRDt2fHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KHY9bmV3IGw2KGRvY3VtZW50KSx2PXYuZ2V0KGI/IlNBUElTSUQiOiJBUElTSUQiKXx8di5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhiPXY/ZFEodixiPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLG4pOm51bGwpJiZELnB1c2goYik7VyYmKChXPUM4KCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsbikpJiZELnB1c2goVyksKG49QzgoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsbikpJiZELnB1c2gobikpfXJldHVybiBELmxlbmd0aD09MD9udWxsOkQuam9pbigiICIpfTsKZy5GZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KG4sVyksRCl9Owp3UT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4rRCooVy1uKX07CmcuTVk9ZnVuY3Rpb24obixXKXt0aGlzLng9biE9PXZvaWQgMD9uOjA7dGhpcy55PVchPT12b2lkIDA/VzowfTsKUl89ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ueD09Vy54JiZuLnk9PVcueTohMX07CmcuUWU9ZnVuY3Rpb24obixXKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9V307CmcuVmU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ud2lkdGg9PVcud2lkdGgmJm4uaGVpZ2h0PT1XLmhlaWdodDohMX07CmNPPWZ1bmN0aW9uKG4pe3JldHVybiBuLndpZHRoKm4uaGVpZ2h0fTsKZy5hXz1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4pVy5jYWxsKEQsbltiXSxiLG4pfTsKZy5uVD1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBpbiBuKVcuY2FsbCh2b2lkIDAsbltiXSxiLG4pJiYoRFtiXT1uW2JdKTtyZXR1cm4gRH07Cld4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCBiIGluIG4pRFtiXT1XLmNhbGwodm9pZCAwLG5bYl0sYixuKTtyZXR1cm4gRH07CmcuRGw9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBuKWlmKFcuY2FsbChELG5bYl0sYixuKSlyZXR1cm4hMDtyZXR1cm4hMX07CmcuYms9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZighVy5jYWxsKHZvaWQgMCxuW0RdLEQsbikpcmV0dXJuITE7cmV0dXJuITB9Owp2eD1mdW5jdGlvbihuKXtmb3IobGV0IFcgaW4gbilyZXR1cm4gV307Cmt5PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKXJldHVybiBuW1ddfTsKaEs9ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO2ZvcihsZXQgYiBpbiBuKVdbRCsrXT1uW2JdO3JldHVybiBXfTsKZy5MVD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiIGluIG4pV1tEKytdPWI7cmV0dXJuIFd9OwpnLmVwPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG59OwpnLmdtPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4paWYobltEXT09VylyZXR1cm4hMDtyZXR1cm4hMX07CmcuWEw9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZihXLmNhbGwodm9pZCAwLG5bRF0sRCxuKSlyZXR1cm4gRH07CnFjPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFc9Zy5YTChuLFcpKSYmbltXXX07CmcuR0Y9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4pcmV0dXJuITE7cmV0dXJuITB9OwpnLnRLPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKWRlbGV0ZSBuW1ddfTsKZy4keT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG4/bltXXTpEfTsKZy5ybT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBuKWlmKCEoRCBpbiBXKXx8bltEXSE9PVdbRF0pcmV0dXJuITE7Zm9yKGxldCBEIGluIFcpaWYoIShEIGluIG4pKXJldHVybiExO3JldHVybiEwfTsKZy5zMD1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQgaW4gbilXW0RdPW5bRF07cmV0dXJuIFd9OwpnLk5jPWZ1bmN0aW9uKG4pe2lmKCFufHx0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKHR5cGVvZiBuLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gbi5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChuKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQobik7aWYobiBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKG4uZ2V0VGltZSgpKTt2YXIgVz1BcnJheS5pc0FycmF5KG4pP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KG4pfHxuIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IG4uY29uc3RydWN0b3Iobi5sZW5ndGgpO2ZvcihsZXQgRCBpbiBuKVdbRF09Zy5OYyhuW0RdKTtyZXR1cm4gV307CmcuWXk9ZnVuY3Rpb24obixXKXtmb3IobGV0IHY9MTt2PGFyZ3VtZW50cy5sZW5ndGg7disrKXt2YXIgRD1hcmd1bWVudHNbdl07Zm9yKGIgaW4gRCluW2JdPURbYl07Zm9yKGxldCBrPTA7azxwVC5sZW5ndGg7aysrKXt2YXIgYj1wVFtrXTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxiKSYmKG5bYl09RFtiXSl9fX07ClhaeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFo0KG5bMF0udG9Mb3dlckNhc2UoKSl9OwpnLkh4PWZ1bmN0aW9uKG4sLi4uVyl7aWYoVy5sZW5ndGg9PT0wKXJldHVybiBrMyhuWzBdKTt2YXIgRD1uWzBdO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKUQrPWVuY29kZVVSSUNvbXBvbmVudChXW2JdKStuW2IrMV07cmV0dXJuIGszKEQpfTsKZy5TcD1mdW5jdGlvbihuKXtyZXR1cm4gbj9uZXcgZlQoZy5KSyhuKSk6SWh8fChJaD1uZXcgZlQpfTsKQUs9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIFc9PT0ic3RyaW5nIj9uLmdldEVsZW1lbnRCeUlkKFcpOld9OwpnLktUPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8ZG9jdW1lbnQ7RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lP249RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pWzBdOihEPWRvY3VtZW50LG49bj8oV3x8RCkucXVlcnlTZWxlY3RvcihuPyIuIituOiIiKTpnLm1CKEQsIioiLG4sVylbMF18fG51bGwpO3JldHVybiBufHxudWxsfTsKZy5tQj1mdW5jdGlvbihuLFcsRCxiKXtuPWJ8fG47cmV0dXJuKFc9VyYmVyE9IioiP1N0cmluZyhXKS50b1VwcGVyQ2FzZSgpOiIiKXx8RD9uLnF1ZXJ5U2VsZWN0b3JBbGwoVysoRD8iLiIrRDoiIikpOm4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKX07CmcuUHg9ZnVuY3Rpb24obixXKXtnLmFfKFcsZnVuY3Rpb24oRCxiKXtiPT0ic3R5bGUiP24uc3R5bGUuY3NzVGV4dD1EOmI9PSJjbGFzcyI/bi5jbGFzc05hbWU9RDpiPT0iZm9yIj9uLmh0bWxGb3I9RDpPMC5oYXNPd25Qcm9wZXJ0eShiKT9uLnNldEF0dHJpYnV0ZShPMFtiXSxEKTpnLmpVKGIsImFyaWEtIil8fGcualUoYiwiZGF0YS0iKT9uLnNldEF0dHJpYnV0ZShiLEQpOm5bYl09RH0pfTsKZy5FMD1mdW5jdGlvbihuKXt2YXIgVz1uLnNjcm9sbGluZ0VsZW1lbnQ/bi5zY3JvbGxpbmdFbGVtZW50OmcuWmx8fG4uY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP24uYm9keXx8bi5kb2N1bWVudEVsZW1lbnQ6bi5kb2N1bWVudEVsZW1lbnQ7bj1uLmRlZmF1bHRWaWV3O3JldHVybiBuZXcgZy5NWShuPy5wYWdlWE9mZnNldHx8Vy5zY3JvbGxMZWZ0LG4/LnBhZ2VZT2Zmc2V0fHxXLnNjcm9sbFRvcCl9OwpnLmlrPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGVmYXVsdFZpZXc6d2luZG93fTsKZy5kbT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9YXJndW1lbnRzLHY9ZG9jdW1lbnQsaz1iWzFdLGg9dWsodixTdHJpbmcoYlswXSkpO2smJih0eXBlb2Ygaz09PSJzdHJpbmciP2guY2xhc3NOYW1lPWs6QXJyYXkuaXNBcnJheShrKT9oLmNsYXNzTmFtZT1rLmpvaW4oIiAiKTpnLlB4KGgsaykpO2IubGVuZ3RoPjImJm9oKHYsaCxiLDIpO3JldHVybiBofTsKb2g9ZnVuY3Rpb24obixXLEQsYil7ZnVuY3Rpb24gdihrKXtrJiZXLmFwcGVuZENoaWxkKHR5cGVvZiBrPT09InN0cmluZyI/bi5jcmVhdGVUZXh0Tm9kZShrKTprKX0KZm9yKDtiPEQubGVuZ3RoO2IrKyl7bGV0IGs9RFtiXTshZy5ZMihrKXx8Zy5mdChrKSYmay5ub2RlVHlwZT4wP3Yoayk6Zy55MihrJiZ0eXBlb2Ygay5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2Ygay5pdGVtPT0iZnVuY3Rpb24iP2cuUk0oayk6ayx2KX19OwpnLnpGPWZ1bmN0aW9uKG4pe3JldHVybiB1ayhkb2N1bWVudCxuKX07CnVrPWZ1bmN0aW9uKG4sVyl7Vz1TdHJpbmcoVyk7bi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoVz1XLnRvTG93ZXJDYXNlKCkpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoVyl9OwpnLmxrPWZ1bmN0aW9uKG4pe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcobikpfTsKZy5URj1mdW5jdGlvbihuKXtmb3IodmFyIFc7Vz1uLmZpcnN0Q2hpbGQ7KW4ucmVtb3ZlQ2hpbGQoVyl9OwpnLmpwPWZ1bmN0aW9uKG4sVyxEKXtuLmluc2VydEJlZm9yZShXLG4uY2hpbGROb2Rlc1tEXXx8bnVsbCl9OwpnLkNUPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnBhcmVudE5vZGU/bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pOm51bGx9OwpnLkJ4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4mJlc/bj09V3x8bi5jb250YWlucyhXKTohMX07CmcuSks9ZnVuY3Rpb24obil7cmV0dXJuIG4ubm9kZVR5cGU9PTk/bjpuLm93bmVyRG9jdW1lbnR8fG4uZG9jdW1lbnR9OwpnLkZMPWZ1bmN0aW9uKG4sVyl7aWYoInRleHRDb250ZW50ImluIG4pbi50ZXh0Q29udGVudD1XO2Vsc2UgaWYobi5ub2RlVHlwZT09MyluLmRhdGE9U3RyaW5nKFcpO2Vsc2UgaWYobi5maXJzdENoaWxkJiZuLmZpcnN0Q2hpbGQubm9kZVR5cGU9PTMpe2Zvcig7bi5sYXN0Q2hpbGQhPW4uZmlyc3RDaGlsZDspbi5yZW1vdmVDaGlsZChuLmxhc3RDaGlsZCk7bi5maXJzdENoaWxkLmRhdGE9U3RyaW5nKFcpfWVsc2UgZy5URihuKSxuLmFwcGVuZENoaWxkKGcuSksobikuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKFcpKSl9OwpNYz1mdW5jdGlvbihuKXtyZXR1cm4gbi50YWdOYW1lPT0iQSImJm4uaGFzQXR0cmlidXRlKCJocmVmIil8fG4udGFnTmFtZT09IklOUFVUInx8bi50YWdOYW1lPT0iVEVYVEFSRUEifHxuLnRhZ05hbWU9PSJTRUxFQ1QifHxuLnRhZ05hbWU9PSJCVVRUT04iPyFuLmRpc2FibGVkJiYoIW4uaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHx3bShuKSk6bi5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJndtKG4pfTsKd209ZnVuY3Rpb24obil7bj1uLnRhYkluZGV4O3JldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiJiZuPj0wJiZuPDMyNzY4fTsKZy5SaD1mdW5jdGlvbihuLFcsRCl7biYmIUQmJihuPW4ucGFyZW50Tm9kZSk7Zm9yKEQ9MDtuOyl7aWYoVyhuKSlyZXR1cm4gbjtuPW4ucGFyZW50Tm9kZTtEKyt9cmV0dXJuIG51bGx9OwpmVD1mdW5jdGlvbihuKXt0aGlzLk49bnx8Zy5xaS5kb2N1bWVudHx8ZG9jdW1lbnR9OwpwTXg9ZnVuY3Rpb24obil7c1YoUVEsVlEsMSxuKX07CllNeD1mdW5jdGlvbihuLFc9Y3gpe2lmKCFhaCl7bj1uLm5hdmlnYXRvcj8udXNlckFnZW50RGF0YTtpZighbnx8dHlwZW9mIG4uZ2V0SGlnaEVudHJvcHlWYWx1ZXMhPT0iZnVuY3Rpb24ifHxuLmJyYW5kcyYmdHlwZW9mIG4uYnJhbmRzLm1hcCE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJVQUNIIHVuYXZhaWxhYmxlIikpO3BNeCgobi5icmFuZHN8fFtdKS5tYXAoYj0+e3ZhciB2PW5ldyBWUTt2PWcuU0UodiwxLGIuYnJhbmQpO3JldHVybiBnLlNFKHYsMixiLnZlcnNpb24pfSkpOwp0eXBlb2Ygbi5tb2JpbGU9PT0iYm9vbGVhbiImJm96KFFRLDIsT18obi5tb2JpbGUpKTthaD1uLmdldEhpZ2hFbnRyb3B5VmFsdWVzKFcpfXZhciBEPW5ldyBTZXQoVyk7cmV0dXJuIGFoLnRoZW4oYj0+e3ZhciB2PVFRLmNsb25lKCk7RC5oYXMoInBsYXRmb3JtIikmJmcuU0UodiwzLGIucGxhdGZvcm0pO0QuaGFzKCJwbGF0Zm9ybVZlcnNpb24iKSYmZy5TRSh2LDQsYi5wbGF0Zm9ybVZlcnNpb24pO0QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmZy5TRSh2LDUsYi5hcmNoaXRlY3R1cmUpO0QuaGFzKCJtb2RlbCIpJiZnLlNFKHYsNixiLm1vZGVsKTtELmhhcygidWFGdWxsVmVyc2lvbiIpJiZnLlNFKHYsNyxiLnVhRnVsbFZlcnNpb24pO3JldHVybiB2LmJZKCl9KS5jYXRjaCgoKT0+UVEuYlkoKSl9OwpuSz1mdW5jdGlvbihuKXtyZXR1cm4gS24obiwxLDEpfTsKdkw9ZnVuY3Rpb24obixXKXskOShuLk4sV0wsMSxXKTtIVyhXLDEpfHxuSyhXKTtuLmdSfHwoVz1ERChuKSxZOShXLDUpfHxnLlNFKFcsNSxuLmxvY2FsZSkpO24udWFjaCYmKFc9REQobiksZ2UoVyxiSSw5KXx8JDkoVyxiSSw5LG4udWFjaCkpfTsKREQ9ZnVuY3Rpb24obil7dmFyIFc9Z2Uobi5OLFdMLDEpO1d8fChXPW5ldyBXTCx2TChuLFcpKTtuPVc7Vz1nZShuLGtFLDExKTtXfHwoVz1uZXcga0UsJDkobixrRSwxMSxXKSk7cmV0dXJuIFd9OwpIYlM9ZnVuY3Rpb24obixXKXtuLko9V307CkpGWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdSP3ZvaWQgMDpnLmlrKCk7Vz9ZTXgoVyxjeCkudGhlbihEPT57bi51YWNoPWY0MihEPz8iW10iKTtEPUREKG4pOyQ5KEQsYkksOSxuLnVhY2gpO3JldHVybiEwfSkuY2F0Y2goKCk9PiExKTpQcm9taXNlLnJlc29sdmUoITEpfTsKZy5oSD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLlg9bjt0aGlzLmo9Vzt0aGlzLk49dGhpcy5XPW47dGhpcy5WPUR8fDA7dGhpcy5LPWJ8fDJ9OwpnLnhFPWZ1bmN0aW9uKG4pe24uTj1NYXRoLm1pbihuLmosbi5OKm4uSyk7bi5XPU1hdGgubWluKG4uaixuLk4rKG4uVj9NYXRoLnJvdW5kKG4uViooTWF0aC5yYW5kb20oKS0uNSkqMipuLk4pOjApKTtuLkorK307CkxLPWZ1bmN0aW9uKCl7cmV0dXJuImh0dHBzOi8vcGxheS5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWUifTsKSTRTPWZ1bmN0aW9uKG4sVyl7aWYoIW4uUyQpcmV0dXJuKCk9Pnt9Owp2YXIgRD0oKT0+e24uZmx1c2goKX07CnJldHVybiBXPygpPT57VygpLnRoZW4oRCl9OkR9OwplZz1mdW5jdGlvbihuKXtuLlcuaXNGaW5hbD0hMDtuLmZsdXNoKCk7bi5XLmlzRmluYWw9ITF9OwpnRD1mdW5jdGlvbihuKXtuLll8fChuLlk9TEsoKSk7dHJ5e3JldHVybihuZXcgVVJMKG4uWSkpLnRvU3RyaW5nKCl9Y2F0Y2goVyl7cmV0dXJuKG5ldyBVUkwobi5ZLGcuaWsoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07CkFGWj1mdW5jdGlvbihuKXtTTVMobiwoVyxEKT0+e1c9bmV3IFVSTChXKTtXLnNlYXJjaFBhcmFtcy5zZXQoImZvcm1hdCIsImpzb24iKTt2YXIgYj0hMTt0cnl7Yj1nLmlrKCkubmF2aWdhdG9yLnNlbmRCZWFjb24oVy50b1N0cmluZygpLEQuYlkoKSl9Y2F0Y2h7fWJ8fChuLkQ9ITEpO3JldHVybiBifSl9OwptVXc9ZnVuY3Rpb24obixXLEQ9bnVsbCxiPW4ud2l0aENyZWRlbnRpYWxzKXt2YXIgdj17fSxrPW5ldyBVUkwoZ0QobikpO0QmJih2LkF1dGhvcml6YXRpb249RCk7bi5zZXNzaW9uSW5kZXgmJih2WyJYLUdvb2ctQXV0aFVzZXIiXT1uLnNlc3Npb25JbmRleCxrLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixuLnNlc3Npb25JbmRleCkpO24ucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHYsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTpuLnBhZ2VJZH0pLGsuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixuLnBhZ2VJZCkpO3JldHVybnt1cmw6ay50b1N0cmluZygpLGJvZHk6VyxvJDoxLFpKOnYscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpiLHRpbWVvdXRNaWxsaXM6bi50aW1lb3V0TWlsbGlzfX07ClNNUz1mdW5jdGlvbihuLFcpe2lmKG4uTi5sZW5ndGghPT0wKXt2YXIgRD1uZXcgVVJMKGdEKG4pKTtELnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBiPW4ubjEoKTtiJiZELnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGIpO0Quc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLG4uc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihiPTA7YjwxMCYmbi5OLmxlbmd0aDsrK2Ipe2xldCB2PW4uTi5zbGljZSgwLDMyKSxrPW4uVy5idWlsZCh2LG4uWCxuLlYsbi5QZyxuLmNKLG4uTyk7aWYoIVcoRC50b1N0cmluZygpLGspKXsrK24uVjticmVha31uLlg9MDtuLlY9MDtuLmNKPTA7bi5PPTA7bi5OPW4uTi5zbGljZSh2Lmxlbmd0aCl9bi5KLmVuYWJsZWQmJm4uSi5zdG9wKCl9fTsKS2NoPWZ1bmN0aW9uKG4sVyl7bi5idWlsZExhYmVsPVc7cmV0dXJuIG59OwpQX2k9ZnVuY3Rpb24obil7bi5uZXR3b3JrPW5ldyBPYjE7cmV0dXJuIG59OwpaYmg9ZnVuY3Rpb24obixXKXtuLk49V307ClVVYj1mdW5jdGlvbihuKXtuLko9ITA7cmV0dXJuIG59OwpyRnQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkVHlwZSl9OwpQTz1mdW5jdGlvbihuLC4uLlcpe1c9WFQoLi4uVyk7cmV0dXJuIG4uTi5oYXMoVyk/bi5OLmdldChXKTp2b2lkIDB9OwokVU09ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkTmFtZSl9OwpHNz1mdW5jdGlvbihuLFcsLi4uRCl7RD1YVCguLi5EKTtuLk4uc2V0KEQsW25ldyBxNShXKV0pfTsKeUZaPWZ1bmN0aW9uKG4sVywuLi5EKXt2YXIgYj1QTyhuLC4uLkQpO2I/Yi5wdXNoKG5ldyBxNShXKSk6RzcobixXLC4uLkQpfTsKZVg9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9V15uO2lmKChuPj4xJjE2KTw1JiYobi0zJjExKT49OSYmRFtJWzE3XV0pdmFyIGs9UjAoOCw3NTQxLEQpO2lmKG4tMj4+ND09NCl7az12XjQ4NTA7Zm9yKHZhciBoPVtdOysray1oW0lbNV1dLSh2XjQ3NTQpOylzd2l0Y2goayl7Y2FzZSB2XjQ3NDQ6az12XjQ4MTg7Y29udGludWU7Y2FzZSB2XjQ4NDE6az12XjQ3NjY7YnJlYWs7Y2FzZSB2XjQ4NTE6az12XjQ3NjU7Y29udGludWU7Y2FzZSB2XjQ3NjQ6az12XjQ2NTE7Y2FzZSB2XjQ4MDk6ay09dl40NzQ0O2RlZmF1bHQ6aFtJW3ZeNDc3Ml1dKFN0cmluZ1tJW3ZeNDczNl1dKGspKX12YXIgeD1ofShuXjcwKT4+Mz09MiYmKGs9RFtJW3ZeNjYzM11dKElbdl42NjE2XSksdEhbSVt2XjY2NDddXShrLHZeNjYyMSksdEhbSVt2XjY2NDddXShrLDIpLHRIW0lbdl42NjEzXV0oayx2XjY2MzEpLHg9a1tJW3ZeNjU5Ml1dKElbdl42NjE2XSkpO248PDImMjd8fChlWCh2XjEzMzYsdl42NDI3LEQpLAprPU0zKHZeMTM4Nix2XjU1OTYsRFtJW3ZeMTM0OF1dKElbdl4xMzI3XSl8fElbdl4xMzkyXSlbSVt2XjEzNDVdXShJW3ZeMTM1NF0pLHg9RFtJW3ZeMTQwMV1dPT09SVt2XjEzODZdJiZrW0lbNV1dPjEmJiEha1sxXSk7KG48PDEmMTUpPT00JiZiW0lbNV1dIT0wJiYoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgwLDEsYltJWzNdXShELDEsYlswXSlbMF0pKTtuLTM+PjM9PTImJih4PUQhPT1udWxsKTtyZXR1cm4geH07ClhUPWZ1bmN0aW9uKC4uLm4pe3JldHVybiBuP24uam9pbigiLCIpOiJrZXkifTsKRTN0PWZ1bmN0aW9uKG4sLi4uVyl7cmV0dXJuKG49UE8obiwuLi5XKSkmJm4ubGVuZ3RoP25bMF06dm9pZCAwfTsKaWJVPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9MCxiPUUzdChuLC4uLlcpO2ImJihEPWIuTik7RzcobixEKzEsLi4uVyl9OwokRT1mdW5jdGlvbihuLFcpe3RoaXMudHlwZT1uO3RoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1XO3RoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLko9ITF9OwpyRD1mdW5jdGlvbihuLFcpeyRFLmNhbGwodGhpcyxuP24udHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy5OPW51bGw7biYmdGhpcy5pbml0KG4sVyl9OwpONT1mdW5jdGlvbihuKXtyZXR1cm4hKCFufHwhbltzMl0pfTsKbzNiPWZ1bmN0aW9uKG4sVyxELGIsdil7dGhpcy5saXN0ZW5lcj1uO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1XO3RoaXMudHlwZT1EO3RoaXMuY2FwdHVyZT0hIWI7dGhpcy5oYW5kbGVyPXY7dGhpcy5rZXk9Kyt1SWg7dGhpcy51Nz10aGlzLnFfPSExfTsKSEw9ZnVuY3Rpb24obil7bi51Nz0hMDtuLmxpc3RlbmVyPW51bGw7bi5wcm94eT1udWxsO24uc3JjPW51bGw7bi5oYW5kbGVyPW51bGx9OwpmSz1mdW5jdGlvbihuKXt0aGlzLnNyYz1uO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuTj0wfTsKSkg9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnR5cGU7RCBpbiBuLmxpc3RlbmVycyYmZy5GSShuLmxpc3RlbmVyc1tEXSxXKSYmKEhMKFcpLG4ubGlzdGVuZXJzW0RdLmxlbmd0aD09MCYmKGRlbGV0ZSBuLmxpc3RlbmVyc1tEXSxuLk4tLSkpfTsKSVc9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoIWsudTcmJmsubGlzdGVuZXI9PVcmJmsuY2FwdHVyZT09ISFEJiZrLmhhbmRsZXI9PWIpcmV0dXJuIHZ9cmV0dXJuLTF9OwpBSD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGImJmIub25jZSlyZXR1cm4gU2cobixXLEQsYix2KTtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylBSChuLFdba10sRCxiLHYpO3JldHVybiBudWxsfUQ9bWgoRCk7cmV0dXJuIE41KG4pP24uU18oVyxELGcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLHYpOktLKG4sVyxELCExLGIsdil9OwpLSz1mdW5jdGlvbihuLFcsRCxiLHYsayl7aWYoIVcpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO3ZhciBoPWcuZnQodik/ISF2LmNhcHR1cmU6ISF2LHg9TzIobik7eHx8KG5bUExdPXg9bmV3IGZLKG4pKTtEPXguYWRkKFcsRCxiLGgsayk7aWYoRC5wcm94eSlyZXR1cm4gRDtiPWRVcigpO0QucHJveHk9YjtiLnNyYz1uO2IubGlzdGVuZXI9RDtpZihuLmFkZEV2ZW50TGlzdGVuZXIpdj09PXZvaWQgMCYmKHY9ITEpLG4uYWRkRXZlbnRMaXN0ZW5lcihXLnRvU3RyaW5nKCksYix2KTtlbHNlIGlmKG4uYXR0YWNoRXZlbnQpbi5hdHRhY2hFdmVudChaRChXLnRvU3RyaW5nKCkpLGIpO2Vsc2UgaWYobi5hZGRMaXN0ZW5lciYmbi5yZW1vdmVMaXN0ZW5lciluLmFkZExpc3RlbmVyKGIpO2Vsc2UgdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtVMisrO3JldHVybiBEfTsKZFVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihEKXtyZXR1cm4gVy5jYWxsKG4uc3JjLG4ubGlzdGVuZXIsRCl9CnZhciBXPXpCdDtyZXR1cm4gbn07ClNnPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSl7Zm9yKGxldCBrPTA7azxXLmxlbmd0aDtrKyspU2cobixXW2tdLEQsYix2KTtyZXR1cm4gbnVsbH1EPW1oKEQpO3JldHVybiBONShuKT9uLmVGKFcsRCxnLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2KTpLSyhuLFcsRCwhMCxiLHYpfTsKeTc9ZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgaz0wO2s8Vy5sZW5ndGg7aysrKXk3KG4sV1trXSxELGIsdik7ZWxzZSBiPWcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLEQ9bWgoRCksTjUobik/bi53SChXLEQsYix2KTpuJiYobj1PMihuKSkmJihXPW4uc2MoVyxELGIsdikpJiZFMihXKX07CkUyPWZ1bmN0aW9uKG4pe2lmKHR5cGVvZiBuIT09Im51bWJlciImJm4mJiFuLnU3KXt2YXIgVz1uLnNyYztpZihONShXKSlKSChXLmRfLG4pO2Vsc2V7dmFyIEQ9bi50eXBlLGI9bi5wcm94eTtXLnJlbW92ZUV2ZW50TGlzdGVuZXI/Vy5yZW1vdmVFdmVudExpc3RlbmVyKEQsYixuLmNhcHR1cmUpOlcuZGV0YWNoRXZlbnQ/Vy5kZXRhY2hFdmVudChaRChEKSxiKTpXLmFkZExpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyKGIpO1UyLS07KEQ9TzIoVykpPyhKSChELG4pLEQuTj09MCYmKEQuc3JjPW51bGwsV1tQTF09bnVsbCkpOkhMKG4pfX19OwpaRD1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbiBpST9pSVtuXTppSVtuXT0ib24iK259Owp6QnQ9ZnVuY3Rpb24obixXKXtpZihuLnU3KW49ITA7ZWxzZXtXPW5ldyByRChXLHRoaXMpO2xldCBEPW4ubGlzdGVuZXIsYj1uLmhhbmRsZXJ8fG4uc3JjO24ucV8mJkUyKG4pO249RC5jYWxsKGIsVyl9cmV0dXJuIG59OwpPMj1mdW5jdGlvbihuKXtuPW5bUExdO3JldHVybiBuIGluc3RhbmNlb2YgZks/bjpudWxsfTsKbWg9ZnVuY3Rpb24obil7aWYodHlwZW9mIG49PT0iZnVuY3Rpb24iKXJldHVybiBuO25bdUldfHwoblt1SV09ZnVuY3Rpb24oVyl7cmV0dXJuIG4uaGFuZGxlRXZlbnQoVyl9KTsKcmV0dXJuIG5bdUldfTsKZy5vVz1mdW5jdGlvbigpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLmRfPW5ldyBmSyh0aGlzKTt0aGlzLkhkPXRoaXM7dGhpcy5sWj1udWxsfTsKZEQ9ZnVuY3Rpb24obixXLEQsYil7Vz1uLmRfLmxpc3RlbmVyc1tTdHJpbmcoVyldO2lmKCFXKXJldHVybiEwO1c9Vy5jb25jYXQoKTt2YXIgdj0hMDtmb3IobGV0IGs9MDtrPFcubGVuZ3RoOysrayl7bGV0IGg9V1trXTtpZihoJiYhaC51NyYmaC5jYXB0dXJlPT1EKXtsZXQgeD1oLmxpc3RlbmVyLEw9aC5oYW5kbGVyfHxoLnNyYztoLnFfJiZKSChuLmRfLGgpO3Y9eC5jYWxsKEwsYikhPT0hMSYmdn19cmV0dXJuIHYmJiFiLmRlZmF1bHRQcmV2ZW50ZWR9OwpnLlQ3PWZ1bmN0aW9uKG4pe249KDAsZy56Nykobik7bEl8fChsST1sNGooKSk7bEkobil9OwpsNGo9ZnVuY3Rpb24oKXtpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWwhPT0idW5kZWZpbmVkIil7bGV0IG49bmV3IE1lc3NhZ2VDaGFubmVsLFc9e30sRD1XO24ucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKCl7aWYoVy5uZXh0IT09dm9pZCAwKXtXPVcubmV4dDtsZXQgYj1XLmtBO1cua0E9bnVsbDtiKCl9fTsKcmV0dXJuIGZ1bmN0aW9uKGIpe0QubmV4dD17a0E6Yn07RD1ELm5leHQ7bi5wb3J0Mi5wb3N0TWVzc2FnZSgwKX19cmV0dXJuIGZ1bmN0aW9uKG4pe2cucWkuc2V0VGltZW91dChuLDApfX07ClR6cj1mdW5jdGlvbigpe2Zvcih2YXIgbjtuPWpnLnJlbW92ZSgpOyl7dHJ5e24uTi5jYWxsKG4uc2NvcGUpfWNhdGNoKFcpe2g0KFcpfUNLLnB1dChuKX1CTD0hMX07CmcuRlQ9ZnVuY3Rpb24oKXt9OwpqTWg9ZnVuY3Rpb24obil7dmFyIFc9V3x8MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwLFcpKX19OwpnLndEPWZ1bmN0aW9uKG4pe3ZhciBXPSExLEQ7cmV0dXJuIGZ1bmN0aW9uKCl7V3x8KEQ9bigpLFc9ITApO3JldHVybiBEfX07CmcuWDE9ZnVuY3Rpb24obixXKXt0aGlzLk49MDt0aGlzLks9dm9pZCAwO3RoaXMuWD10aGlzLko9dGhpcy5XPW51bGw7dGhpcy5qPXRoaXMuVj0hMTtpZihuIT1nLkZUKXRyeXtsZXQgRD10aGlzO24uY2FsbChXLGZ1bmN0aW9uKGIpe2dwKEQsMixiKX0sZnVuY3Rpb24oYil7Z3AoRCwzLGIpfSl9Y2F0Y2goRCl7Z3AodGhpcywzLEQpfX07CnE4PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuY29udGV4dD10aGlzLko9dGhpcy5XPXRoaXMuTj1udWxsO3RoaXMuWD0hMX07CmcudCQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUczLmdldCgpO2IuVz1uO2IuSj1XO2IuY29udGV4dD1EO3JldHVybiBifTsKJEc9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIG47dmFyIFc9bmV3IGcuWDEoZy5GVCk7Z3AoVywyLG4pO3JldHVybiBXfTsKZy5ycD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IGcuWDEoZnVuY3Rpb24oVyxEKXtEKG4pfSl9OwpwcT1mdW5jdGlvbihuLFcsRCxiKXtnLk44KG4sZy50JChXfHxnLkZULER8fG51bGwsYikpfTsKWUc9ZnVuY3Rpb24obixXKXtpZihuLk49PTApaWYobi5XKXt2YXIgRD1uLlc7aWYoRC5KKXt2YXIgYj0wLHY9bnVsbCxrPW51bGw7Zm9yKGxldCBoPUQuSjtoJiYoaC5YfHwoYisrLGguTj09biYmKHY9aCksISh2JiZiPjEpKSk7aD1oLm5leHQpdnx8KGs9aCk7diYmKEQuTj09MCYmYj09MT9ZRyhELFcpOihrPyhiPWssYi5uZXh0PT1ELlgmJihELlg9YiksYi5uZXh0PWIubmV4dC5uZXh0KTpISihEKSxmcShELHYsMyxXKSkpfW4uVz1udWxsfWVsc2UgZ3AobiwzLFcpfTsKZy5OOD1mdW5jdGlvbihuLFcpe24uSnx8bi5OIT0yJiZuLk4hPTN8fEokKG4pO24uWD9uLlgubmV4dD1XOm4uSj1XO24uWD1XfTsKU089ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9Zy50JChudWxsLG51bGwsbnVsbCk7di5OPW5ldyBnLlgxKGZ1bmN0aW9uKGssaCl7di5XPVc/ZnVuY3Rpb24oeCl7dHJ5e2xldCBMPVcuY2FsbChiLHgpO2soTCl9Y2F0Y2goTCl7aChMKX19Oms7CnYuSj1EP2Z1bmN0aW9uKHgpe3RyeXtsZXQgTD1ELmNhbGwoYix4KTtMPT09dm9pZCAwJiZ4IGluc3RhbmNlb2YgZy5JNT9oKHgpOmsoTCl9Y2F0Y2goTCl7aChMKX19Omh9KTsKdi5OLlc9bjtnLk44KG4sdik7cmV0dXJuIHYuTn07CmdwPWZ1bmN0aW9uKG4sVyxEKXtuLk49PTAmJihuPT09RCYmKFc9MyxEPW5ldyBUeXBlRXJyb3IoIlByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpLG4uTj0xLGcuQSQoRCxuLklRLG4uQVMsbil8fChuLks9RCxuLk49VyxuLlc9bnVsbCxKJChuKSxXIT0zfHxEIGluc3RhbmNlb2YgZy5JNXx8Q18xKG4sRCkpKX07CmcuQSQ9ZnVuY3Rpb24obixXLEQsYil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIHBxKG4sVyxELGIpLCEwO2lmKG4pdHJ5e3ZhciB2PSEhbi4kZ29vZ19UaGVuYWJsZX1jYXRjaChrKXt2PSExfWVsc2Ugdj0hMTtpZih2KXJldHVybiBuLnRoZW4oVyxELGIpLCEwO2lmKGcuZnQobikpdHJ5e2xldCBrPW4udGhlbjtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiIpcmV0dXJuIEJ6aShuLGssVyxELGIpLCEwfWNhdGNoKGspe3JldHVybiBELmNhbGwoYixrKSwhMH1yZXR1cm4hMX07CkJ6aT1mdW5jdGlvbihuLFcsRCxiLHYpe2Z1bmN0aW9uIGsoTCl7eHx8KHg9ITAsYi5jYWxsKHYsTCkpfQpmdW5jdGlvbiBoKEwpe3h8fCh4PSEwLEQuY2FsbCh2LEwpKX0KdmFyIHg9ITE7dHJ5e1cuY2FsbChuLGgsayl9Y2F0Y2goTCl7ayhMKX19OwpKJD1mdW5jdGlvbihuKXtuLlZ8fChuLlY9ITAsZy5tSyhuLnlzLG4pKX07CkhKPWZ1bmN0aW9uKG4pe3ZhciBXPW51bGw7bi5KJiYoVz1uLkosbi5KPVcubmV4dCxXLm5leHQ9bnVsbCk7bi5KfHwobi5YPW51bGwpO3JldHVybiBXfTsKZnE9ZnVuY3Rpb24obixXLEQsYil7aWYoRD09MyYmVy5KJiYhVy5YKWZvcig7biYmbi5qO249bi5XKW4uaj0hMTtpZihXLk4pVy5OLlc9bnVsbCxLcShXLEQsYik7ZWxzZSB0cnl7Vy5YP1cuVy5jYWxsKFcuY29udGV4dCk6S3EoVyxELGIpfWNhdGNoKHYpe091LmNhbGwobnVsbCx2KX1HMy5wdXQoVyl9OwpLcT1mdW5jdGlvbihuLFcsRCl7Vz09Mj9uLlcuY2FsbChuLmNvbnRleHQsRCk6bi5KJiZuLkouY2FsbChuLmNvbnRleHQsRCl9OwpDXzE9ZnVuY3Rpb24obixXKXtuLmo9ITA7Zy5tSyhmdW5jdGlvbigpe24uaiYmT3UuY2FsbChudWxsLFcpfSl9OwpnLkk1PWZ1bmN0aW9uKG4pe2cuVGIuY2FsbCh0aGlzLG4pfTsKZy5QSj1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLmd0PW58fDE7dGhpcy5WNz1XfHxnLnFpO3RoaXMuaEU9KDAsZy5LdCkodGhpcy5SUSx0aGlzKTt0aGlzLmpiPWcuVXcoKX07CmcuWnQ9ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBuPT09ImZ1bmN0aW9uIilEJiYobj0oMCxnLkt0KShuLEQpKTtlbHNlIGlmKG4mJnR5cGVvZiBuLmhhbmRsZUV2ZW50PT0iZnVuY3Rpb24iKW49KDAsZy5LdCkobi5oYW5kbGVFdmVudCxuKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIGxpc3RlbmVyIGFyZ3VtZW50Iik7cmV0dXJuIE51bWJlcihXKT4yMTQ3NDgzNjQ3Py0xOmcucWkuc2V0VGltZW91dChuLFd8fDApfTsKZy5VdT1mdW5jdGlvbihuLFcpe3ZhciBEPW51bGw7cmV0dXJuKG5ldyBnLlgxKGZ1bmN0aW9uKGIsdil7RD1nLlp0KGZ1bmN0aW9uKCl7YihXKX0sbik7CkQ9PS0xJiZ2KEVycm9yKCJGYWlsZWQgdG8gc2NoZWR1bGUgdGltZXIuIikpfSkpLnNQKGZ1bmN0aW9uKGIpe2cucWkuY2xlYXJUaW1lb3V0KEQpOwp0aHJvdyBiO30pfTsKRXU9ZnVuY3Rpb24obixXLC4uLkQpe24uVy5oYXMoVyl8fG4uVy5zZXQoVyxuZXcgeTgoVyxEKSl9Owp1ZT1mdW5jdGlvbihuLFcsLi4uRCl7bi5XLmhhcyhXKXx8bi5XLnNldChXLG5ldyBpZShXLEQpKX07Cm81PWZ1bmN0aW9uKG4pe24uSi5lbmFibGVkfHxuLkouc3RhcnQoKTtuLlYrKztuLlY+PW4uWCYmbi5qKCl9OwpGY2I9ZnVuY3Rpb24obil7Zm9yKGxldCBXPTA7VzxuLmxlbmd0aDtXKyspbltXXS5jbGVhcigpfTsKZHA9ZnVuY3Rpb24obixXLC4uLkQpeyhXPW4uTihXKSkmJlcgaW5zdGFuY2VvZiBpZSYmKGliVShXLC4uLkQpLG81KG4pKX07CnozPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19Owp3TVM9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTsKbGU9ZnVuY3Rpb24oKXt9OwpUMz1mdW5jdGlvbihuLFcsRCl7aWYoVz09bnVsbClELnB1c2goIm51bGwiKTtlbHNle2lmKHR5cGVvZiBXPT0ib2JqZWN0Iil7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9VztXPWIubGVuZ3RoO0QucHVzaCgiWyIpO3ZhciB2PSIiO2Zvcih2YXIgaz0wO2s8VztrKyspRC5wdXNoKHYpLFQzKG4sYltrXSxEKSx2PSIsIjtELnB1c2goIl0iKTtyZXR1cm59aWYoVyBpbnN0YW5jZW9mIFN0cmluZ3x8VyBpbnN0YW5jZW9mIE51bWJlcnx8VyBpbnN0YW5jZW9mIEJvb2xlYW4pVz1XLnZhbHVlT2YoKTtlbHNle0QucHVzaCgieyIpO3Y9IiI7Zm9yKGIgaW4gVylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoVyxiKSYmKGs9V1tiXSx0eXBlb2YgayE9ImZ1bmN0aW9uIiYmKEQucHVzaCh2KSxqTyhiLEQpLEQucHVzaCgiOiIpLFQzKG4sayxEKSx2PSIsIikpO0QucHVzaCgifSIpO3JldHVybn19c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOmpPKFcsRCk7YnJlYWs7CmNhc2UgIm51bWJlciI6RC5wdXNoKGlzRmluaXRlKFcpJiYhaXNOYU4oVyk/U3RyaW5nKFcpOiJudWxsIik7YnJlYWs7Y2FzZSAiYm9vbGVhbiI6RC5wdXNoKFN0cmluZyhXKSk7YnJlYWs7Y2FzZSAiZnVuY3Rpb24iOkQucHVzaCgibnVsbCIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZTogIit0eXBlb2YgVyk7fX19OwpqTz1mdW5jdGlvbihuLFcpe1cucHVzaCgnIicsbi5yZXBsYWNlKE1qWixmdW5jdGlvbihEKXt2YXIgYj1DcVtEXTtifHwoYj0iXFx1IisoRC5jaGFyQ29kZUF0KDApfDY1NTM2KS50b1N0cmluZygxNikuc2xpY2UoMSksQ3FbRF09Yik7cmV0dXJuIGJ9KSwnIicpfTsKUkJiPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDA6cmV0dXJuIk5vIEVycm9yIjtjYXNlIDE6cmV0dXJuIkFjY2VzcyBkZW5pZWQgdG8gY29udGVudCBkb2N1bWVudCI7Y2FzZSAyOnJldHVybiJGaWxlIG5vdCBmb3VuZCI7Y2FzZSAzOnJldHVybiJGaXJlZm94IHNpbGVudGx5IGVycm9yZWQiO2Nhc2UgNDpyZXR1cm4iQXBwbGljYXRpb24gY3VzdG9tIGVycm9yIjtjYXNlIDU6cmV0dXJuIkFuIGV4Y2VwdGlvbiBvY2N1cnJlZCI7Y2FzZSA2OnJldHVybiJIdHRwIHJlc3BvbnNlIGF0IDQwMCBvciA1MDAgbGV2ZWwiO2Nhc2UgNzpyZXR1cm4iUmVxdWVzdCB3YXMgYWJvcnRlZCI7Y2FzZSA4OnJldHVybiJSZXF1ZXN0IHRpbWVkIG91dCI7Y2FzZSA5OnJldHVybiJUaGUgcmVzb3VyY2UgaXMgbm90IGF2YWlsYWJsZSBvZmZsaW5lIjtkZWZhdWx0OnJldHVybiJVbnJlY29nbml6ZWQgZXJyb3IgY29kZSJ9fTsKQko9ZnVuY3Rpb24oKXt9OwpGMT1mdW5jdGlvbigpe307CndwPWZ1bmN0aW9uKG4pe2cub1cuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLlRDPW58fG51bGw7dGhpcy5KPSExO3RoaXMuTj1udWxsO3RoaXMuSz0iIjt0aGlzLlc9MDt0aGlzLmo9IiI7dGhpcy5YPXRoaXMudHc9dGhpcy5ZPXRoaXMuY0o9ITE7dGhpcy5EPTA7dGhpcy5WPW51bGw7dGhpcy5iZD0iIjt0aGlzLk89ITF9OwpRTVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9bmV3IHdwO004LnB1c2goeCk7VyYmeC5TXygiY29tcGxldGUiLFcpO3guZUYoInJlYWR5Iix4LldVKTtrJiYoeC5EPU1hdGgubWF4KDAsaykpO2gmJih4Lk89aCk7eC5zZW5kKG4sRCxiLHYpfTsKVjg9ZnVuY3Rpb24obixXKXtuLko9ITE7bi5OJiYobi5YPSEwLG4uTi5hYm9ydCgpLG4uWD0hMSk7bi5qPVc7bi5XPTU7UjUobik7UTgobil9OwpSNT1mdW5jdGlvbihuKXtuLmNKfHwobi5jSj0hMCxuLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksbi5kaXNwYXRjaEV2ZW50KCJlcnJvciIpKX07Cm5WPWZ1bmN0aW9uKG4pe2lmKG4uSiYmdHlwZW9mIGNKIT0idW5kZWZpbmVkIilpZihuLlkmJmE1KG4pPT00KXNldFRpbWVvdXQobi5OOC5iaW5kKG4pLDApO2Vsc2UgaWYobi5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksbi5pc0NvbXBsZXRlKCkpe24uZ2V0U3RhdHVzKCk7bi5KPSExO3RyeXtpZihuLmlzU3VjY2VzcygpKW4uZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxuLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle24uVz02O3RyeXt2YXIgVz1hNShuKT4yP24uTi5zdGF0dXNUZXh0OiIifWNhdGNoKEQpe1c9IiJ9bi5qPVcrIiBbIituLmdldFN0YXR1cygpKyJdIjtSNShuKX19ZmluYWxseXtROChuKX19fTsKUTg9ZnVuY3Rpb24obixXKXtpZihuLk4pe24uViYmKGNsZWFyVGltZW91dChuLlYpLG4uVj1udWxsKTtsZXQgRD1uLk47bi5OPW51bGw7V3x8bi5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RyeXtELm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsfWNhdGNoKGIpe319fTsKYTU9ZnVuY3Rpb24obil7cmV0dXJuIG4uTj9uLk4ucmVhZHlTdGF0ZTowfTsKVzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBuLk4/bi5OLnJlc3BvbnNlVGV4dDoiIn1jYXRjaChXKXtyZXR1cm4iIn19OwpEbz1mdW5jdGlvbihuKXt0cnl7aWYoIW4uTilyZXR1cm4gbnVsbDtpZigicmVzcG9uc2UiaW4gbi5OKXJldHVybiBuLk4ucmVzcG9uc2U7c3dpdGNoKG4uYmQpe2Nhc2UgIiI6Y2FzZSAidGV4dCI6cmV0dXJuIG4uTi5yZXNwb25zZVRleHQ7Y2FzZSAiYXJyYXlidWZmZXIiOmlmKCJtb3pSZXNwb25zZUFycmF5QnVmZmVyImluIG4uTilyZXR1cm4gbi5OLm1velJlc3BvbnNlQXJyYXlCdWZmZXJ9cmV0dXJuIG51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKVmp0PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249KG4uTiYmYTUobik+PTI/bi5OLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHwiIjoiIikuc3BsaXQoIlxyXG4iKTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7aWYoZy5GaChuW2JdKSljb250aW51ZTt2YXIgRD1Td2gobltiXSk7bGV0IHY9RFswXTtEPURbMV07aWYodHlwZW9mIEQhPT0ic3RyaW5nIiljb250aW51ZTtEPUQudHJpbSgpO2xldCBrPVdbdl18fFtdO1dbdl09aztrLnB1c2goRCl9cmV0dXJuIFd4KFcsZnVuY3Rpb24oYil7cmV0dXJuIGIuam9pbigiLCAiKX0pfTsKdjM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPWJuKCk7Vz1XKCk7bi5YKEQsYm4oKS1iKTtyZXR1cm4gV307Cm5sMT1mdW5jdGlvbihuLFcsRCxiKXtuPVVVYihQX2koS2NoKG5ldyBrWSxuKSkpLmtDKCk7Vy5sZW5ndGgmJlpiaChuLHRqVShuZXcgY0ZaLFcpKTtiIT09dm9pZCAwJiYobi5Saj1iKTt2YXIgdj1uZXcgYTRqKG4uYnVpbGQoKSk7Zy51KHYsbik7dmFyIGs9bmV3IGhxKHtmbHVzaChoKXt0cnl7di5mbHVzaChoKX1jYXRjaCh4KXtEKHgpfX19KTtrLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtrLmooKX1maW5hbGx5e3YuZGlzcG9zZSgpfX0pfSk7CmsuWD0xRTU7ay5mbHVzaEludGVydmFsPTNFNDtrLkouc2V0SW50ZXJ2YWwoM0U0KTtyZXR1cm4ga307CldXcj1mdW5jdGlvbihuKXtpZihuLnRpbWVyPT09dm9pZCAwKXtsZXQgVz1NYXRoLm1heCgwLG4uTituLkotYm4oKSk7bi50aW1lcj1zZXRUaW1lb3V0KCgpPT57dHJ5e24uY2FsbGJhY2soKX1maW5hbGx5e24uTj1ibigpLG4udGltZXI9dm9pZCAwfX0sVyl9fTsKYnBNPWZ1bmN0aW9uKG4sVz1bXSl7cmV0dXJuIG5ldyBEaHgobixXKX07CmJuPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9OwpMVj1mdW5jdGlvbihuLFcpe2lmKG4uZGlzYWJsZSlyZXR1cm4gbmV3IHhZO1c9Vz9uMChXKTpbXTtyZXR1cm4gYnBNKHtWajpuLlZqLFJoOm4uSnAsTFQ6bi5SaSxSajpuLlJqLHREOm4udEQscm86bi5yb30sVyl9Owp2bHI9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIG51bGw7bj1KUyhuLDQpO3JldHVybiBuPT09bnVsbHx8bj09PXZvaWQgMD9udWxsOmszKG4pfTsKZyQ9ZnVuY3Rpb24oKXtlbS5pbnN0YW5jZXx8KGVtLmluc3RhbmNlPW5ldyBlbSk7cmV0dXJuIGVtLmluc3RhbmNlfTsKazVaPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFXJiYhRClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIWIpcmV0dXJuIFg2KFcsRCk7dmFyIHY7KHY9bi5KKVtiXXx8KHZbYl09bmV3IFByb21pc2UoKGssaCk9PntYNihXLEQpLnRoZW4oKCk9PntuLk49YjtrKCl9LHg9PntkZWxldGUgbi5KW2JdOwpoKHgpfSl9KSk7CnJldHVybiBuLkpbYl19Owp0cT1mdW5jdGlvbihuLFcpe3JldHVybiBrNVoobixnZShXLHF2LDEseFUpLGdlKFcsR0gsMix4VSksWTkoVywzLHZvaWQgMCx4VSkpfTsKWDY9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz9oSFMoVyk6bj94aGIobik6UHJvbWlzZS5yZXNvbHZlKCl9OwpoSFM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKChXLEQpPT57dmFyIGI9Zy56RigiU0NSSVBUIiksdj12bHIobik7Zy5QTShiLHYpO2Iub25sb2FkPSgpPT57Zy5DVChiKTtXKCl9OwpiLm9uZXJyb3I9KCk9PntnLkNUKGIpO0QoRXJyb3IoIkVXTFMiKSl9OwooZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChiKX0pfTsKeGhiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57dmFyIEQ9Zy56RigiU0NSSVBUIik7aWYobil7dmFyIGI9SlMobiw2KTtiPWI9PT1udWxsfHxiPT09dm9pZCAwP251bGw6bWMoYil9ZWxzZSBiPW51bGw7RC50ZXh0Q29udGVudD1LYihiKTtPTShEKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChEKTtnLkNUKEQpO1coKX0pfTsKTFcyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFTKG4sMSxXKX07CmVIaD1mdW5jdGlvbihuLFcpe3JldHVybiBBUyhuLDIsVyl9OwpnbGg9ZnVuY3Rpb24obixXKXtyZXR1cm4gQVMobiwzLFcpfTsKc2w9YXN5bmMgZnVuY3Rpb24obixXLEQsYix2KXtXPWdsaChlSGgoTFcyKG5ldyAkWSxuLnJlcXVlc3RLZXkpLFcpLEQpO0Q9bi5OKCk7bj1hd2FpdCBiLlYoImMiLG4ucmVxdWVzdEtleSx2LG4uY2xpZW50LmNyZWF0ZShXLEQpKTt2YXIgaz1WbChSeihuLDIpKTtpZihrLmxlbmd0aClyZXR1cm4gdjMoYiwoKT0+e3ZhciBoPW5ldyBVaW50OEFycmF5KGsubGVuZ3RoKTtmb3IodmFyIHg9MDt4PGsubGVuZ3RoO3grKyloW3hdPWtbeF0rOTc7aWYoZy5xaS5UZXh0RGVjb2RlciloPShuZXcgVGV4dERlY29kZXIpLmRlY29kZShoKTtlbHNlIGlmKGgubGVuZ3RoPD04MTkyKWg9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGgpO2Vsc2V7eD0iIjtmb3IobGV0IEw9MDtMPGgubGVuZ3RoO0wrPTgxOTIpe2xldCBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGgsTCxMKzgxOTIpO3grPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKX1oPXh9cmV0dXJuIFg0WihoKX0sCiJVIik7CmI9Z2UobixyJCwxKTtpZighYil0aHJvdyBFcnJvcigiTWlzc2luZyBmaWVsZCIpO3JldHVybiBifTsKSDM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bi5OKCk7dmFyIGs9bmV3IE52O2s9QVMoaywxLG4ucmVxdWVzdEtleSk7dmFyIGg9QVMoaywyLFcpO1c9RC5WO2s9bi5yZXF1ZXN0S2V5O249bi5jbGllbnQ7dj1ZWShuLk4sbi5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixoLHZ8fHt9LHFUUyk7cmV0dXJuIFcuY2FsbChELCJnIixrLGIsdil9OwpHNWg9ZnVuY3Rpb24obixXLEQsYix2KXtyZXR1cm4gbiBpbnN0YW5jZW9mIGZWP3NsKG4sYix2LFcsRCk6c2wobixiLHYsbmV3IHhZLDApfTsKckFiPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGI9ZyQoKSx2PVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGspe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCB4PW51bGw7aWYoaCl7SnEobiw3KTt0cnl7eD1hd2FpdCBJaShoLnNuYXBzaG90KHt9KSxrLmpkLCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKEcpe3g9IkU6VUNFIn19bGV0IEwsZT1uZXcgZy5oSChoP2sudzg6ay5DcSxrLm96LGsuZDgsay5BaSk7CmZvcihsZXQgRz0xO0c8PWsubWF4QXR0ZW1wdHM7RysrKXtpZihHIT09MSl7SnEobiwwKTtuLk49bmV3IFNtKGUuZ2V0VmFsdWUoKSxrLnVtLGsubmIpO2xldCByPWF3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7cj09PTE/KEc9MSxlLnJlc2V0KCkpOmcueEUoZSl9dHJ5e2xldCByO0Q/cj1EOihKcShuLDUpLHI9YXdhaXQgSWkoRzVoKFcsbi5sb2dnZXIsRyxiLk4seCksay5ocCwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoIlJHRjpGZXRjaCB0aW1lZCBvdXQiKSkpKTsKSnEobiwzKTthd2FpdCBJaSh0cShiLHIpLGsuUVgsKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJEVFo6U2NyaXB0IHRpbWVkIG91dCIpKSk7CkpxKG4sOCk7YXdhaXQgdjtsZXQgTj1uZXcgQXEoe2NoYWxsZW5nZTpyLHgzOm4ub3B0aW9ucy54Myx3MzpuLm9wdGlvbnMudzN9KTthd2FpdCBJaShOLk92LGsucUssKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJRRUc6U2V0dXAgdGltZWQgb3V0IikpKTsKTD1OO2JyZWFrfWNhdGNoKHIpe24uaGFuZGxlRXJyb3IociksbUkobil9fWlmKG4ucU4oKSlicmVhaztMJiYoRD12b2lkIDAsdDFVKG4saCksaD1MLCRoaChuLEwpLG1JKG4pKTtKcShuLDIpO24uTj1uZXcgU20oay5GWixrLnVtLGsubmIpO24uaXNQYXVzZWQmJm4uTi5wYXVzZSgpO2F3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7aWYobi5xTigpKWJyZWFrfWg/LmRpc3Bvc2UoKX07CnNQMj1mdW5jdGlvbihuKXtuLks9RXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIik7bi5qLnJlc29sdmUoKTtXMihuLlYucHJvbWlzZSk7bi5WLnJlamVjdChFcnJvcigiQ2FuY2VsbGVkIGJ5IGRpc3Bvc2UiKSk7bi5sb2dnZXIuZGlzcG9zZSgpO1Byb21pc2UuYWxsKG4uWCkudGhlbihhc3luYygpPT57bi5XPy5kaXNwb3NlKCk7bi5XPXZvaWQgMH0pOwpuLlg9W107bi5OPy5KKCk7VzIobi5KLnByb21pc2UpO24uSi5yZWplY3QoRXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIikpfTsKTlR0PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4ucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO24uTj8uSigpO2F3YWl0IG4uSi5wcm9taXNlfTsKcDRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5xSjtuLnFKPSgpPT57RCgpO1coKX19OwokaGg9ZnVuY3Rpb24obixXKXtuLnFOKCl8fChuLlc9VyxuLmxvZ2dlci51cGRhdGUoVy5RRCgpKSxuLmoucmVzb2x2ZSgpLG4uVi5yZXNvbHZlKHZvaWQgMCksbi5xSigpKX07CnQxVT1mdW5jdGlvbihuLFcpe1cmJihQcm9taXNlLmFsbChuLlgpLnRoZW4oKCk9PnZvaWQgVy5kaXNwb3NlKCkpLG4uWD1bXSl9OwpKcT1mdW5jdGlvbihuLFcpe24uWT1XO24ub3B0aW9ucy5mUD8uKFcpfTsKbUk9ZnVuY3Rpb24obil7bi5xTigpfHwobi5KLnJlc29sdmUoKSxuLko9bmV3IGcuS1YpfTsKSWk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO0Q9KG5ldyBQcm9taXNlKHY9PntiPXNldFRpbWVvdXQodixXKX0pKS50aGVuKEQpOwpXMihEKTtyZXR1cm4gUHJvbWlzZS5yYWNlKFtuLmZpbmFsbHkoKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGIpKSwKRF0pfTsKWVRVPWZ1bmN0aW9uKG4sVyl7bi5lbmRUaW1lTXM9RGF0ZS5ub3coKStXO24udGljaygpfTsKT2w9ZnVuY3Rpb24obil7bi5OJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUDM9ZnVuY3Rpb24obixXKXt0cnl7cmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShuLFcpLCEwfWNhdGNoKEQpe3JldHVybiExfX07ClpvPWZ1bmN0aW9uKG4sVz0wLEQ9bi5sZW5ndGgsYil7dmFyIHY9MDtmb3IoYiYmKHY9Wm8oYikpO1c8RDtXKyspdj1IcGkoMzEsdikrKHR5cGVvZiBuPT09InN0cmluZyI/bi5jaGFyQ29kZUF0KFcpOm5bV10pfDA7cmV0dXJuIHZ9Owp5aT1mdW5jdGlvbihuKXt2YXIgW1csRF09W1pvKG4sMCxuLmxlbmd0aD4+MSxVbCksWm8obixuLmxlbmd0aD4+MSldO3JldHVybiBXLnRvU3RyaW5nKDE2KStELnRvU3RyaW5nKDE2KX07CkVsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W1pvKFcsMCxXLmxlbmd0aD4+MSx2b2lkIDApLFpvKFcsVy5sZW5ndGg+PjEpXTtuPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlcik7Vz1uWzBdO3ZhciBbYix2XT1EO2ZvcihEPTE7RDxuLmxlbmd0aDtEKz0yKXt2YXIgaz1XLGg9RCx4PWIsTD12O2ZvcihsZXQgZT0wO2U8MjI7ZSsrKWg9aD4+Pjh8aDw8MjQsaCs9a3wwLGhePXgrMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1oLEw9TD4+Pjh8TDw8MjQsTCs9eHwwLExePWUrMzgyOTMseD14PDwzfHg+Pj4yOSx4Xj1MO2s9W2ssaF07bltEXV49a1swXTtEKzE8bi5sZW5ndGgmJihuW0QrMV1ePWtbMV0pfX07CmZlYj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSg0LShVbC5sZW5ndGgrRC5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2srVWwubGVuZ3RoKzQrRC5sZW5ndGgpLHg9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxMPTA7eC5zZXRVaW50MzIoTCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO0w9TCs0K2s7aC5zZXQoVWwsTCk7TCs9VWwubGVuZ3RoO3guc2V0VWludDMyKEwsdik7aC5zZXQoRCxMKzQpO0VsKGgsYik7cmV0dXJuIG4ucXAoVyxlPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShlKSk/UDMoVyxnLkVBKGgpKT8icyI6InQiOiJpIn07CkpBdz1mdW5jdGlvbihuLFcpe3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShuKTtpZighRClyZXR1cm5bIm0iXTt0cnl7dmFyIGI9bHAoRCk7RWwoYixXKX1jYXRjaCh2KXtyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiYyJdfWZvcihXPTQ7Vzw3JiZiW1ddPT09MDspVysrO2ZvcihEPTA7RDxVbC5sZW5ndGg7RCsrKWlmKGJbVysrXSE9PVVsW0RdKXJldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0obiksWyJkIl07RD0obmV3IERhdGFWaWV3KGIuYnVmZmVyKSkuZ2V0VWludDMyKFcpO3JldHVybiBNYXRoLmZsb29yKERhdGUubm93KCkvMUUzKT49RD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiZSJdKTpbImEiLG5ldyBVaW50OEFycmF5KGIuYnVmZmVyLFcrNCldfTsKSWV3PWZ1bmN0aW9uKG4pe3ZhciBXPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiaVU1cS0hTzlAJCIpO2lmKCFXKXJldHVybiBuZXcgdW4obik7dmFyIEQ9Vy5zcGxpdCgiLCIpO2lmKEQubGVuZ3RoPDIpcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgiaVU1cS0hTzlAJCIpLG5ldyB1bihuKTtXPUQuc2xpY2UoMSk7Vy5sZW5ndGg9PT0xJiZXWzBdPT09IiImJihXPVtdKTtEPU51bWJlcihEWzBdKTtyZXR1cm4gaXNOYU4oRCl8fEQ8MHx8RD5XLmxlbmd0aD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IHVuKG4pKTpuZXcgdW4obixELFcpfTsKbWh3PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoKXtELT1iO0QtPXY7RF49dj4+PjEzO2ItPXY7Yi09RDtiXj1EPDw4O3YtPUQ7di09Yjt2Xj1iPj4+MTM7RC09YjtELT12O0RePXY+Pj4xMjtiLT12O2ItPUQ7Yl49RDw8MTY7di09RDt2LT1iO3ZePWI+Pj41O0QtPWI7RC09djtEXj12Pj4+MztiLT12O2ItPUQ7Yl49RDw8MTA7di09RDt2LT1iO3ZePWI+Pj4xNX0Kbj1TVHIobik7Zm9yKHZhciBEPTI2NTQ0MzU3NjksYj0yNjU0NDM1NzY5LHY9MzE0MTU5MjY1LGs9bi5sZW5ndGgsaD1rLHg9MDtoPj0xMjtoLT0xMix4Kz0xMilEKz1vaShuLHgpLGIrPW9pKG4seCs0KSx2Kz1vaShuLHgrOCksVygpO3YrPWs7c3dpdGNoKGgpe2Nhc2UgMTE6dis9blt4KzEwXTw8MjQ7Y2FzZSAxMDp2Kz1uW3grOV08PDE2O2Nhc2UgOTp2Kz1uW3grOF08PDg7Y2FzZSA4OmIrPW5beCs3XTw8MjQ7Y2FzZSA3OmIrPW5beCs2XTw8MTY7Y2FzZSA2OmIrPW5beCs1XTw8ODtjYXNlIDU6Yis9blt4KzRdO2Nhc2UgNDpEKz1uW3grM108PDI0O2Nhc2UgMzpEKz1uW3grMl08PDE2O2Nhc2UgMjpEKz1uW3grMV08PDg7Y2FzZSAxOkQrPW5beCswXX1XKCk7cmV0dXJuIEFBUy50b1N0cmluZyh2KX07ClNUcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2gobi5jaGFyQ29kZUF0KEQpKTtyZXR1cm4gV307Cm9pPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5bVyswXSsobltXKzFdPDw4KSsobltXKzJdPDwxNikrKG5bVyszXTw8MjQpfTsKZCQ9ZnVuY3Rpb24obixXKXt2YXIgRD1zZXRUaW1lb3V0KCgpPT57bi5YLnJlc29sdmUoKX0sVyk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KEQpKX07CmxuPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9YCR7VyhuLmVycm9yLm1lc3NhZ2UpfToke1cobi5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtXPUQubGVuZ3RoKzE7RD16SChEKTt2YXIgYj1uZXcgVWludDhBcnJheSg0K0QubGVuZ3RoKTtiLnNldChbNDIsVyYxMjd8MTI4LFc+Pjcsbi5lcnJvci5jb2RlXSk7Yi5zZXQoRCw0KTtyZXR1cm4gYn07CnpIPWZ1bmN0aW9uKG4pe3JldHVybiBnbG9iYWxUaGlzLlRleHRFbmNvZGVyPyhuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKTpMMChuKX07CktXVT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4gaW5zdGFuY2VvZiBmVj9IMyhuLEQsVywxKTpuLlpqKEQpfTsKQjM9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9dm9pZCAwO24uaisrO3ZhciBEPW5ldyBnLktWO24uTzEgaW5zdGFuY2VvZiBUSCYmbi5PMS5YLnB1c2goRC5wcm9taXNlKTtpZihuLlhsKXtsZXQgaz1uZXcgZy5LVjtzZXRUaW1lb3V0KCgpPT52b2lkIGsucmVzb2x2ZSgpKTsKYXdhaXQgay5wcm9taXNlfXZhciBiPW4ubG9nZ2VyLnNoYXJlKCk7dHJ5e24uc3RhdGU9NTtsZXQgaz1bXSxoPWF3YWl0IElpKG4uTzEuc25hcHNob3Qoe3dfOnt9LHRMOmt9KSxuLmtkLnJTLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTUsIk1EQTpUaW1lb3V0IikpKTsKam0obiwiTURBOkRpc3Bvc2VkIik7bGV0IHg9a1swXTtuLnN0YXRlPTY7bGV0IEw9YXdhaXQgSWkoS1dVKG4uVWcsYixoKSxuLmtkLlhVLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTAsIkJXQjpUaW1lb3V0IikpKTsKam0obiwiQldCOkRpc3Bvc2VkIik7bi5zdGF0ZT03O1c9djMoYiwoKT0+e3ZhciBlPU9waShuLEwsRCx4KTtlLlgucHJvbWlzZS50aGVuKCgpPT52b2lkIG4uVigpKTsKcmV0dXJuIGV9LCJpIil9Y2F0Y2goayl7Vz8uZGlzcG9zZSgpOwppZighbi5KKXtsZXQgaD1QZjIobixrKTtELnJlc29sdmUoKTt2YXIgdjtpZih2PW4uTzEgaW5zdGFuY2VvZiBUSCYmbi5qPDIpYTppZihrIGluc3RhbmNlb2YgUUcpdj1rLmNvZGUhPT0zMiYmay5jb2RlIT09MjAmJmsuY29kZSE9PTEwO2Vsc2V7aWYoayBpbnN0YW5jZW9mIENWKXN3aXRjaChrLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6dj0hMTticmVhayBhfXY9ITB9aWYodil7bGV0IHg9c2V0VGltZW91dCgoKT0+dm9pZCBuLlYoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKG4uTj82RTQ6MUUzKSk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHgpKTsKcmV0dXJufW4uSj1ofWIuSihuLk4/MTM6MTQpO24uWC5yZWplY3Qobi5KKTtyZXR1cm59ZmluYWxseXtiLmRpc3Bvc2UoKX1uLnN0YXRlPTg7bi5qPTA7bi5OPy5kaXNwb3NlKCk7bi5OPVc7bi5YLnJlc29sdmUoKX07ClBmMj1mdW5jdGlvbihuLFcpe2lmKCEoVyBpbnN0YW5jZW9mIFFHKSlpZihXIGluc3RhbmNlb2YgQ1Ype2xldCBEPUVycm9yKFcudG9TdHJpbmcoKSk7RC5zdGFjaz1XLnN0YWNrO1c9bmV3IFFHKDExLCJFQkg6RXJyb3IiLEQpfWVsc2UgVz1uZXcgUUcoMTIsIkJTTzpVbmtub3duIixXKTtyZXR1cm4gbi5yZXBvcnRFcnJvcihXKX07CmptPWZ1bmN0aW9uKG4sVyl7aWYobi5xTigpKXRocm93IG5ldyBRRyhuLk4/MjA6MzIsVyk7fTsKT3BpPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSh1NChpVyhXLDIpKT8/MCkqMUUzO2lmKHY8PTApdGhyb3cgbmV3IFFHKDMxLCJUVE06SW52YWxpZCIpO2lmKFk5KFcsNCkpcmV0dXJuIG5ldyBacHQobi5sb2dnZXIsWTkoVyw0KSx2KTtpZighKHU0KGlXKFcsMykpPz8wKSlyZXR1cm4gbmV3IFVoaihuLmxvZ2dlcixWbChSeihXLDEpKSx2KTtpZighYil0aHJvdyBuZXcgUUcoNCwiUE1EOlVuZGVmaW5lZCIpO2I9YihWbChSeihXLDEpKSk7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iKXRocm93IG5ldyBRRygxNiwiQVBGOkZhaWxlZCIpO24uSz1NYXRoLmZsb29yKChEYXRlLm5vdygpK3YpLzFFMyk7bj1uZXcgRjYobi5sb2dnZXIsYix1NChpVyhXLDMpKT8/MCx2KTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIEQucmVzb2x2ZSgpKTsKcmV0dXJuIG59OwpNdj1mdW5jdGlvbihuLFcsRCl7dHJ5e2lmKG4ucU4oKSl0aHJvdyBuZXcgUUcoMjEsIkJOVDpkaXNwb3NlZCIpO2lmKCFuLk4mJm4uSil0aHJvdyBuLko7cmV0dXJuIHlBMShuLFcsRCk/P0VsaShuLFcsRCk/P2lwcihuLFcsRCl9Y2F0Y2goYil7aWYoIVcuRVIpdGhyb3cgdyQobixiKTtyZXR1cm4gdU1aKG4sRCxiKX19Owp3JD1mdW5jdGlvbihuLFcpe1c9VyBpbnN0YW5jZW9mIFFHP1c6bmV3IFFHKDUsIlRWRDplcnJvciIsVyk7cmV0dXJuIG4ucmVwb3J0RXJyb3IoVyl9Owp5QTE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLk4/LkZwKCgpPT5SaShuLFcpLEQsYj0+e2lmKG4uTiBpbnN0YW5jZW9mIEY2JiZXLmhHPy5yMyl0cnl7bi5jYWNoZT8uTihSaShuLFcpLGIsVy5oRy5hbSxuLkstMTIwKX1jYXRjaCh2KXtuLnJlcG9ydEVycm9yKG5ldyBRRygyNCwiRUxYOndyaXRlIix2KSl9fSl9OwpFbGk9ZnVuY3Rpb24obixXLEQpe2lmKFcuaEc/LkFCKXRyeXtsZXQgYj1uLmNhY2hlPy5KKFJpKG4sVyksVy5oRy5hbSk7cmV0dXJuIGI/RD92MyhuLmxvZ2dlciwoKT0+Zy5FQShiLDIpLCJhIik6Yjp2b2lkIDB9Y2F0Y2goYil7bi5yZXBvcnRFcnJvcihuZXcgUUcoMjMsIlJYTzpyZWFkIixiKSl9fTsKaXByPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoIVcuR3IpdGhyb3cgbmV3IFFHKDI5LCJTREY6bm90cmVhZHkiKTtyZXR1cm4gemIoYixuZXcgUWkobi5sb2dnZXIsMCxuLnN0YXRlKSkuRnAoKCk9PlJpKG4sVyksRCl9Y2F0Y2godil7Yi5lcnJvcj12LGIuaGFzRXJyb3I9ITB9ZmluYWxseXtseChiKX19Owp1TVo9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgdj13JChuLEQpO3JldHVybiB6YihiLG5ldyBvbHcobi5sb2dnZXIsdikpLkZwKCgpPT5bXSxXKX1jYXRjaCh2KXtiLmVycm9yPXYsYi5oYXNFcnJvcj0hMH1maW5hbGx5e2x4KGIpfX07ClJpPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcueEM/Vy54QzpXLndfP3YzKG4ubG9nZ2VyLCgpPT5XLnhDPXpIKFcud18pLCJjIik6W119OwpuVz1mdW5jdGlvbigpe3ZhciBuPTAsVztyZXR1cm4gRD0+e1d8fChXPW5ldyB4WSk7dmFyIGI9bmV3IFFpKFcsbiwxKSx2PWIuRnAoKCk9PnpIKEQpLCEwKTsKYi5kaXNwb3NlKCk7bisrO3JldHVybiB2fX07CmcuV1k9ZnVuY3Rpb24obixXKXtpZihuKWZvcihsZXQgRCBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLEQpJiZXKG5bRF0sRCxuKX07CnpIaT1mdW5jdGlvbigpe3ZhciBuPVtdO2cuV1koZGhaLFc9PntuLnB1c2goVyl9KTsKcmV0dXJuIG59OwpUVHI9ZnVuY3Rpb24oKXt2YXIgbj1nLkRhKCJJRlJBTUUiKSxXPXt9O2cueTIobGVTKCksRD0+e24uc2FuZGJveCYmbi5zYW5kYm94LnN1cHBvcnRzJiZuLnNhbmRib3guc3VwcG9ydHMoRCkmJihXW0RdPSEwKX0pOwpyZXR1cm4gV307CmcuRGE9ZnVuY3Rpb24obixXPWRvY3VtZW50KXtyZXR1cm4gVy5jcmVhdGVFbGVtZW50KFN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKX07CmcuYnI9ZnVuY3Rpb24obixXLEQsYil7dGhpcy5sZWZ0PW47dGhpcy50b3A9Vzt0aGlzLndpZHRoPUQ7dGhpcy5oZWlnaHQ9Yn07CnZZPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49PVc/ITA6biYmVz9uLmxlZnQ9PVcubGVmdCYmbi53aWR0aD09Vy53aWR0aCYmbi50b3A9PVcudG9wJiZuLmhlaWdodD09Vy5oZWlnaHQ6ITF9OwpnLmgxPWZ1bmN0aW9uKG4sVyxEKXtpZih0eXBlb2YgVz09PSJzdHJpbmciKWtxKG4sRCxXKTtlbHNlIGZvcihsZXQgYiBpbiBXKWtxKG4sV1tiXSxiKX07CmtxPWZ1bmN0aW9uKG4sVyxEKXsoRD14cShuLEQpKSYmKGpQQy50ZXN0KEQpP24uc3R5bGUuc2V0UHJvcGVydHkoRCxXKTpuLnN0eWxlW0RdPVcpfTsKeHE9ZnVuY3Rpb24obixXKXt2YXIgRD1MV1tXXTtpZighRCl7dmFyIGI9cHAoVyk7RD1iO24uc3R5bGVbYl09PT12b2lkIDAmJihiPShnLlpsPyJXZWJraXQiOmcuZVM/Ik1veiI6bnVsbCkrSTFpKGIpLG4uc3R5bGVbYl0hPT12b2lkIDAmJihEPWIpKTtMV1tXXT1EfXJldHVybiBEfTsKZy5naD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc3R5bGVbcHAoVyldO3JldHVybiB0eXBlb2YgRCE9PSJ1bmRlZmluZWQiP0Q6bi5zdHlsZVt4cShuLFcpXXx8IiJ9OwpYbT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuSksobik7cmV0dXJuIEQuZGVmYXVsdFZpZXcmJkQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKG49RC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKG4sbnVsbCkpP25bV118fG4uZ2V0UHJvcGVydHlWYWx1ZShXKXx8IiI6IiJ9OwpxdD1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goVyl7cmV0dXJue2xlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowfX19OwpnLkdOPWZ1bmN0aW9uKG4pe3ZhciBXPWcuSksobiksRD1uZXcgZy5NWSgwLDApO2lmKG49PShXP2cuSksoVyk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudClyZXR1cm4gRDtuPXF0KG4pO1c9Zy5TcChXKTtXPWcuRTAoVy5OKTtELng9bi5sZWZ0K1cueDtELnk9bi50b3ArVy55O3JldHVybiBEfTsKZy4kcT1mdW5jdGlvbihuLFcpe249dDEobik7Vz10MShXKTtyZXR1cm4gbmV3IGcuTVkobi54LVcueCxuLnktVy55KX07Cmcucmg9ZnVuY3Rpb24obil7bj1xdChuKTtyZXR1cm4gbmV3IGcuTVkobi5sZWZ0LG4udG9wKX07CnQxPWZ1bmN0aW9uKG4pe2lmKG4ubm9kZVR5cGU9PTEpcmV0dXJuIGcucmgobik7bj1uLmNoYW5nZWRUb3VjaGVzP24uY2hhbmdlZFRvdWNoZXNbMF06bjtyZXR1cm4gbmV3IGcuTVkobi5jbGllbnRYLG4uY2xpZW50WSl9OwpOdD1mdW5jdGlvbihuLFcpe2lmKFcgaW5zdGFuY2VvZiBnLlFlKXt2YXIgRD1XLmhlaWdodDtXPVcud2lkdGh9ZWxzZSB0aHJvdyBFcnJvcigibWlzc2luZyBoZWlnaHQgYXJndW1lbnQiKTtuLnN0eWxlLndpZHRoPXNqKFcsITApO24uc3R5bGUuaGVpZ2h0PXNqKEQsITApfTsKc2o9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09Im51bWJlciImJihuPShXP01hdGgucm91bmQobik6bikrInB4Iik7cmV0dXJuIG59OwpnLnBXPWZ1bmN0aW9uKG4pe3ZhciBXPUNmMSxEOyhEPVhtKG4sImRpc3BsYXkiKSl8fChEPW4uY3VycmVudFN0eWxlP24uY3VycmVudFN0eWxlLmRpc3BsYXk6bnVsbCk7aWYoKER8fG4uc3R5bGUmJm4uc3R5bGUuZGlzcGxheSkhPSJub25lIilyZXR1cm4gVyhuKTtEPW4uc3R5bGU7dmFyIGI9RC5kaXNwbGF5LHY9RC52aXNpYmlsaXR5LGs9RC5wb3NpdGlvbjtELnZpc2liaWxpdHk9ImhpZGRlbiI7RC5wb3NpdGlvbj0iYWJzb2x1dGUiO0QuZGlzcGxheT0iaW5saW5lIjtuPVcobik7RC5kaXNwbGF5PWI7RC5wb3NpdGlvbj1rO0QudmlzaWJpbGl0eT12O3JldHVybiBufTsKQ2YxPWZ1bmN0aW9uKG4pe3ZhciBXPW4ub2Zmc2V0V2lkdGgsRD1uLm9mZnNldEhlaWdodCxiPWcuWmwmJiFXJiYhRDtyZXR1cm4oVz09PXZvaWQgMHx8YikmJm4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0PyhuPXF0KG4pLG5ldyBnLlFlKG4ucmlnaHQtbi5sZWZ0LG4uYm90dG9tLW4udG9wKSk6bmV3IGcuUWUoVyxEKX07CkZXWj1mdW5jdGlvbihuLFc9e30pe3JldHVybiBuZXcgQlR0KG4sVyl9Owp3NHI9ZnVuY3Rpb24obil7bi5WLnhWKCJkYXRhIixXPT57aWYoIjEiaW4gVyl7dmFyIEQ9V1siMSJdO2xldCBiO3RyeXtiPW4uSyhEKX1jYXRjaCh2KXtZcShuLG5ldyBDVigxMyxgRXJyb3Igd2hlbiBkZXNlcmlhbGl6aW5nIHJlc3BvbnNlIGRhdGE7IGVycm9yOiAke3Z9LCByZXNwb25zZTogJHtEfWApKX1iJiZIWShuLGIpfWlmKCIyImluIFcpZm9yKFc9ZlcobixXWyIyIl0pLEQ9MDtEPG4uai5sZW5ndGg7RCsrKW4ualtEXShXKX0pOwpuLlYueFYoImVuZCIsKCk9PntKMShuLElzKG4pKTtmb3IobGV0IFc9MDtXPG4uVy5sZW5ndGg7VysrKW4uV1tXXSgpfSk7Cm4uVi54VigiZXJyb3IiLCgpPT57aWYobi5OLmxlbmd0aCE9PTApe3ZhciBXPW4ueGhyLlc7VyE9PTB8fG4ueGhyLmlzU3VjY2VzcygpfHwoVz02KTt2YXIgRD0tMTtzd2l0Y2goVyl7Y2FzZSAwOnZhciBiPTI7YnJlYWs7Y2FzZSA3OmI9MTA7YnJlYWs7Y2FzZSA4OmI9NDticmVhaztjYXNlIDY6RD1uLnhoci5nZXRTdGF0dXMoKTtiPXozKEQpO2JyZWFrO2RlZmF1bHQ6Yj0xNH1KMShuLElzKG4pKTtXPVJCYihXKSsiLCBlcnJvcjogIituLnhoci5nZXRMYXN0RXJyb3IoKTtEIT09LTEmJihXKz1gLCBodHRwIHN0YXR1cyBjb2RlOiAke0R9YCk7WXEobixuZXcgQ1YoYixXKSl9fSl9OwpZcT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5OLmxlbmd0aDtEKyspbi5OW0RdKFcpfTsKSjE9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQ9MDtEPG4uWC5sZW5ndGg7RCsrKW4uWFtEXShXKX07CklzPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9Vmp0KG4ueGhyKTtPYmplY3Qua2V5cyhEKS5mb3JFYWNoKGI9PntXW2JdPURbYl19KTsKcmV0dXJuIFd9OwpIWT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5KLmxlbmd0aDtEKyspbi5KW0RdKFcpfTsKZlc9ZnVuY3Rpb24obixXKXt2YXIgRD0yLGI9e307dHJ5e2xldCBrO2s9TTFiKFcpO0Q9YVAoaywxKTt2YXIgdj1rLmdldE1lc3NhZ2UoKTtWRyhrLFJIaSwzKS5sZW5ndGgmJihiWyJncnBjLXdlYi1zdGF0dXMtZGV0YWlscy1iaW4iXT1XKX1jYXRjaChrKXtuLnhociYmbi54aHIuZ2V0U3RhdHVzKCk9PT00MDQ/KEQ9NSx2PSJOb3QgRm91bmQ6ICIrU3RyaW5nKG4ueGhyLkspKTooRD0xNCx2PWBVbmFibGUgdG8gcGFyc2UgUnBjU3RhdHVzOiAke2t9YCl9cmV0dXJue2NvZGU6RCxkZXRhaWxzOnYsbWV0YWRhdGE6Yn19OwpWMVU9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgUVBTO0FIKG4ueGhyLCJjb21wbGV0ZSIsKCk9PntpZihuLnhoci5pc1N1Y2Nlc3MoKSl7dmFyIGI9VzMobi54aHIpO2lmKFcmJm4ueGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKT09PSJ0ZXh0L3BsYWluIil7aWYoIWF0b2IpdGhyb3cgRXJyb3IoIkNhbm5vdCBkZWNvZGUgQmFzZTY0IHJlc3BvbnNlIik7Yj1hdG9iKGIpfXRyeXt2YXIgdj1uLksoYil9Y2F0Y2goaCl7WXEobixTUyhuZXcgQ1YoMTMsYEVycm9yIHdoZW4gZGVzZXJpYWxpemluZyByZXNwb25zZSBkYXRhOyBlcnJvcjogJHtofSwgcmVzcG9uc2U6ICR7Yn1gKSxEKSk7cmV0dXJufWI9ejMobi54aHIuZ2V0U3RhdHVzKCkpO0oxKG4sSXMobikpO2I9PT0wP0hZKG4sdik6WXEobixTUyhuZXcgQ1YoYiwiWGhyIHN1Y2NlZWRlZCBidXQgdGhlIHN0YXR1cyBjb2RlIGlzIG5vdCAyMDAiKSxEKSl9ZWxzZXtiPVczKG4ueGhyKTtsZXQgaDt2PUlzKG4pO2lmKGIpe3ZhciBrPQpmVyhuLGIpO2I9ay5jb2RlO2g9ay5kZXRhaWxzO2s9ay5tZXRhZGF0YX1lbHNlIGI9MixoPWBScGMgZmFpbGVkIGR1ZSB0byB4aHIgZXJyb3IuIHVyaTogJHtTdHJpbmcobi54aHIuSyl9LCBlcnJvciBjb2RlOiAke24ueGhyLld9LCBlcnJvcjogJHtuLnhoci5nZXRMYXN0RXJyb3IoKX1gLGs9djtKMShuLHYpO1lxKG4sU1MobmV3IENWKGIsaCxrKSxEKSl9fSl9OwpBMT1mdW5jdGlvbihuLFcpe1c9bi5pbmRleE9mKFcpO1c+LTEmJm4uc3BsaWNlKFcsMSl9OwpTUz1mdW5jdGlvbihuLFcpe1cuc3RhY2smJihuLnN0YWNrKz0iXG4iK1cuc3RhY2spO3JldHVybiBufTsKbUc9ZnVuY3Rpb24obil7dGhpcy5YPW4uWTZ8fG51bGw7dGhpcy5XPW4uWUJ8fCExO3RoaXMuSj12b2lkIDB9OwpLVz1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLnR3PW47dGhpcy5WPVc7dGhpcy5qPXZvaWQgMDt0aGlzLnN0YXR1cz10aGlzLnJlYWR5U3RhdGU9MDt0aGlzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVGV4dD10aGlzLnJlc3BvbnNlPXRoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLko9bnVsbDt0aGlzLmNKPSJHRVQiO3RoaXMuTz0iIjt0aGlzLk49ITE7dGhpcy5LPXRoaXMuVz10aGlzLlg9bnVsbDt0aGlzLlk9bmV3IEFib3J0Q29udHJvbGxlcn07Ck9qPWZ1bmN0aW9uKG4pe24uVy5yZWFkKCkudGhlbihuLmxFLmJpbmQobikpLmNhdGNoKG4uRFAuYmluZChuKSl9OwpaYT1mdW5jdGlvbihuKXtuLnJlYWR5U3RhdGU9NDtuLlg9bnVsbDtuLlc9bnVsbDtuLks9bnVsbDtQWShuKX07ClBZPWZ1bmN0aW9uKG4pe24ub25yZWFkeXN0YXRlY2hhbmdlJiZuLm9ucmVhZHlzdGF0ZWNoYW5nZS5jYWxsKG4pfTsKY0FVPWZ1bmN0aW9uKG4pe2lmKG4uejcmJnR5cGVvZiBuLno3PT0iZnVuY3Rpb24iKXJldHVybiBuLno3KCk7aWYodHlwZW9mIE1hcCE9PSJ1bmRlZmluZWQiJiZuIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20obi52YWx1ZXMoKSk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbi5zcGxpdCgiIik7aWYoZy5ZMihuKSl7bGV0IFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdKTtyZXR1cm4gV31yZXR1cm4gaEsobil9OwphZWg9ZnVuY3Rpb24obil7aWYobi51QiYmdHlwZW9mIG4udUI9PSJmdW5jdGlvbiIpcmV0dXJuIG4udUIoKTtpZighbi56N3x8dHlwZW9mIG4uejchPSJmdW5jdGlvbiIpe2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gQXJyYXkuZnJvbShuLmtleXMoKSk7aWYoISh0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpKXtpZihnLlkyKG4pfHx0eXBlb2Ygbj09PSJzdHJpbmciKXtsZXQgVz1bXTtuPW4ubGVuZ3RoO2ZvcihsZXQgRD0wO0Q8bjtEKyspVy5wdXNoKEQpO3JldHVybiBXfXJldHVybiBnLkxUKG4pfX19OwpuS2k9ZnVuY3Rpb24obixXLEQpe2lmKG4uZm9yRWFjaCYmdHlwZW9mIG4uZm9yRWFjaD09ImZ1bmN0aW9uIiluLmZvckVhY2goVyxEKTtlbHNlIGlmKGcuWTIobil8fHR5cGVvZiBuPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChuLFcsRCk7ZWxzZXtsZXQgYj1hZWgobiksdj1jQVUobiksaz12Lmxlbmd0aDtmb3IobGV0IGg9MDtoPGs7aCsrKVcuY2FsbChELHZbaF0sYiYmYltoXSxuKX19OwpnLlVqPWZ1bmN0aW9uKG4pe3RoaXMuTj10aGlzLlk9dGhpcy5YPSIiO3RoaXMuVj1udWxsO3RoaXMuaj10aGlzLko9IiI7dGhpcy5LPSExO3ZhciBXO24gaW5zdGFuY2VvZiBnLlVqPyh0aGlzLks9bi5LLHlOKHRoaXMsbi5YKSx0aGlzLlk9bi5ZLEVqKHRoaXMsbi5OKSxpcih0aGlzLG4uViksdGhpcy5KPW4uSix1cih0aGlzLG4uVy5jbG9uZSgpKSx0aGlzLmo9bi5qKTpuJiYoVz1nLmZwKFN0cmluZyhuKSkpPyh0aGlzLks9ITEseU4odGhpcyxXWzFdfHwiIiwhMCksdGhpcy5ZPW9zKFdbMl18fCIiKSxFaih0aGlzLFdbM118fCIiLCEwKSxpcih0aGlzLFdbNF0pLHRoaXMuSj1vcyhXWzVdfHwiIiwhMCksdXIodGhpcyxXWzZdfHwiIiwhMCksdGhpcy5qPW9zKFdbN118fCIiKSk6KHRoaXMuSz0hMSx0aGlzLlc9bmV3IGRoKG51bGwsdGhpcy5LKSl9Owp5Tj1mdW5jdGlvbihuLFcsRCl7bi5YPUQ/b3MoVywhMCk6VztuLlgmJihuLlg9bi5YLnJlcGxhY2UoLzokLywiIikpfTsKRWo9ZnVuY3Rpb24obixXLEQpe24uTj1EP29zKFcsITApOld9Owppcj1mdW5jdGlvbihuLFcpe2lmKFcpe1c9TnVtYmVyKFcpO2lmKGlzTmFOKFcpfHxXPDApdGhyb3cgRXJyb3IoIkJhZCBwb3J0IG51bWJlciAiK1cpO24uVj1XfWVsc2Ugbi5WPW51bGx9Owp1cj1mdW5jdGlvbihuLFcsRCl7VyBpbnN0YW5jZW9mIGRoPyhuLlc9VyxXeGgobi5XLG4uSykpOihEfHwoVz16TihXLER4UykpLG4uVz1uZXcgZGgoVyxuLkspKX07CmxyPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5Vaj9uLmNsb25lKCk6bmV3IGcuVWoobil9Owpvcz1mdW5jdGlvbihuLFcpe3JldHVybiBuP1c/ZGVjb2RlVVJJKG4ucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChuKToiIn07CnpOPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIj8obj1lbmNvZGVVUkkobikucmVwbGFjZShXLGIweCksRCYmKG49bi5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxuKTpudWxsfTsKYjB4PWZ1bmN0aW9uKG4pe249bi5jaGFyQ29kZUF0KDApO3JldHVybiIlIisobj4+NCYxNSkudG9TdHJpbmcoMTYpKyhuJjE1KS50b1N0cmluZygxNil9OwpkaD1mdW5jdGlvbihuLFcpe3RoaXMuSj10aGlzLk49bnVsbDt0aGlzLlc9bnx8bnVsbDt0aGlzLlg9ISFXfTsKVE49ZnVuY3Rpb24obil7bi5OfHwobi5OPW5ldyBNYXAsbi5KPTAsbi5XJiZnLk9UKG4uVyxmdW5jdGlvbihXLEQpe24uYWRkKEc1KFcpLEQpfSkpfTsKQ1c9ZnVuY3Rpb24obixXKXtUTihuKTtXPWpTKG4sVyk7cmV0dXJuIG4uTi5oYXMoVyl9OwpqUz1mdW5jdGlvbihuLFcpe1c9U3RyaW5nKFcpO24uWCYmKFc9Vy50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gV307Cld4aD1mdW5jdGlvbihuLFcpe1cmJiFuLlgmJihUTihuKSxuLlc9bnVsbCxuLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe3ZhciB2PWIudG9Mb3dlckNhc2UoKTtiIT12JiYodGhpcy5yZW1vdmUoYiksdGhpcy5yZW1vdmUodiksRC5sZW5ndGg+MCYmKHRoaXMuVz1udWxsLHRoaXMuTi5zZXQoalModGhpcyx2KSxnLlJNKEQpKSx0aGlzLko9dGhpcy5KK0QubGVuZ3RoKSl9LG4pKTsKbi5YPVd9Owp2S2I9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zy5hXyhuLGZ1bmN0aW9uKEQsYil7Vys9YjtXKz0iOiI7Vys9RDtXKz0iXHJcbiJ9KTsKcmV0dXJuIFd9OwpCWT1mdW5jdGlvbihuKXtnLkZNLmNhbGwodGhpcyk7dGhpcy5KPW47dGhpcy5OPXt9fTsKRm09ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKEFycmF5LmlzQXJyYXkoRCkpZm9yKGxldCBoPTA7aDxELmxlbmd0aDtoKyspRm0obixXLERbaF0sYix2LGspO2Vsc2V7Vz1TZyhXLEQsYnx8bi5oYW5kbGVFdmVudCx2LGt8fG4uSnx8bik7aWYoIVcpcmV0dXJuIG47bi5OW1cua2V5XT1XfXJldHVybiBufTsKd2g9ZnVuY3Rpb24obixXLEQpe24uVz0hMTt0aHJvdyBFcnJvcigiVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVyk7fTsKTXQ9ZnVuY3Rpb24oKXt0aGlzLlY9bnVsbDt0aGlzLks9W107dGhpcy5YPXRoaXMuSj10aGlzLlc9dGhpcy5OPXRoaXMuRD0wO3RoaXMuaj1udWxsO3RoaXMuWT0wfTsKUnM9ZnVuY3Rpb24obixXLEQsYil7bi5OPTM7bi5WPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIituLkQrIi8iK0QrIi4gRXJyb3I6ICIrYisiLiBXaXRoIGlucHV0OlxuIitXO3Rocm93IEVycm9yKG4uVik7fTsKUU49ZnVuY3Rpb24oKXt0aGlzLk49bnVsbDt0aGlzLko9MDt0aGlzLlc9bmV3IGtoUzt0aGlzLlg9bmV3IE10fTsKVk49ZnVuY3Rpb24obixXLEQpe24uTj0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVzt0aHJvdyBFcnJvcihuLk4pO307CmNZPWZ1bmN0aW9uKG4pe3JldHVybiBuPT0iXHIifHxuPT0iXG4ifHxuPT0iICJ8fG49PSJcdCJ9Owphcz1mdW5jdGlvbihuKXt0aGlzLkQ9bnVsbDt0aGlzLlY9W107dGhpcy5YPSIiO3RoaXMuY0o9W107dGhpcy5XPXRoaXMuSj0wO3RoaXMuSz0hMTt0aGlzLlk9MDt0aGlzLnR3PS9bXFwiXS9nO3RoaXMuTj10aGlzLmo9MDt0aGlzLk89ISghbnx8IW4uWkgpfTsKbl89ZnVuY3Rpb24obixXLEQpe24uaj0zO24uRD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5XKyIvIitEKyIuIFdpdGggaW5wdXQ6XG4iK1c7dGhyb3cgRXJyb3Iobi5EKTt9OwpXSz1mdW5jdGlvbigpe3RoaXMuaj10aGlzLlc9bnVsbDt0aGlzLko9dGhpcy5OPTA7dGhpcy5YPVtdO3RoaXMuVj0hMX07CmhDeD1mdW5jdGlvbihuKXt2YXIgVz1uLk4/bi5OLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTpudWxsO2lmKCFXKXJldHVybiBudWxsO1c9Vy50b0xvd2VyQ2FzZSgpO3JldHVybiBXLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24iKT9XLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiKT9uZXcgV0s6bmV3IGFzOlcuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1wcm90b2J1ZiIpPyhuPW4uTj9uLk4uZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmciKTpudWxsKT9uLnRvTG93ZXJDYXNlKCk9PSJiYXNlNjQiP25ldyBRTjpudWxsOm5ldyBNdDpudWxsfTsKRGk9ZnVuY3Rpb24obixXKXtuLmohPVcmJihuLmo9VyxuLksmJm4uSygpKX07CmJIPWZ1bmN0aW9uKG4pe24uWS5UaSgpO2lmKG4uTil7bGV0IFc9bi5OO24uTj1udWxsO1cuYWJvcnQoKTtXLmRpc3Bvc2UoKX19Owp2Sz1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXtsZXQgYj1uW0RdO1cuZm9yRWFjaChmdW5jdGlvbih2KXt0cnl7dihiKX1jYXRjaChrKXt9fSl9fTsKa3Q9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkpbV107RCYmRC5mb3JFYWNoKGZ1bmN0aW9uKGIpe3RyeXtiKCl9Y2F0Y2godil7fX0pOwooRD1uLk5bV10pJiZELmZvckVhY2goZnVuY3Rpb24oYil7YigpfSk7Cm4uTltXXT1bXX07Cnh4aj1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07Ckx4aT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07CmVDVT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5sMCx2PVcuZ2V0TWV0YWRhdGEoKSxrPWhhKG4sITApO249eHQobix2LGssRCtiLmdldE5hbWUoKSk7RD1MXyhrLGIuVywhMSk7VjFVKEQsdlsiWC1Hb29nLUVuY29kZS1SZXNwb25zZS1JZi1FeGVjdXRhYmxlIl09PT0iYmFzZTY0Iik7Vz1iLk4oVy5mdik7ay5zZW5kKG4sIlBPU1QiLFcpO3JldHVybiBEfTsKZ0t0PWZ1bmN0aW9uKG4sVyxELGIsdixrPXt9KXt2YXIgaD1XLnN1YnN0cmluZygwLFcubGVuZ3RoLXYubmFtZS5sZW5ndGgpLHg9az8uc2lnbmFsO3JldHVybiBMeGkoTD0+bmV3IFByb21pc2UoKGUsRyk9PntpZih4Py5hYm9ydGVkKXtsZXQgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX1lbHNle3ZhciByPXt9LE49ZUNVKG4sTCxoKTtOLnhWKCJlcnJvciIsSD0+dm9pZCBHKEgpKTsKTi54VigibWV0YWRhdGEiLEg9PntyPUh9KTsKTi54VigiZGF0YSIsSD0+e2UoRldaKEgscikpfSk7CngmJnguYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57Ti5jYW5jZWwoKTt2YXIgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX0pfX0pLG4uRk4pLmNhbGwobix2LkooRCxiKSkudGhlbihMPT5MLlB6KX07ClhkPWZ1bmN0aW9uKG4sVz0hMSl7ZVgoMjgsNzIzMSxuKTtpZihuW0lbMjhdXSE9PUlbMTVdKXt2YXIgRD1uW0lbOF1dKCk7RFtJWzM0XV0oSVszMl0sSVs0MF0pO3JldHVybiBEfXZhciBiPW5bSVs3Ml1dKCk7RD1uZXcgZy5VaihiKTt2YXIgdj1uW0lbMzNdXShJWzcwXSksaz1NMygxNiw0MjYyLG5bSVszM11dKElbNzRdKXx8SVsyMV0pW0lbMzZdXShJWzQ3XSk7aWYodiYmayYma1tJWzVdXT4xJiZrWzFdKXJldHVybiBiPUQuTixuPWJbSVs4MV1dKC9eW14uXSovLElbMjFdKSxFaihELGAke2JbSVsxOF1dKElbNDRdKT09PTA/SVs0NF06SVs4MF19JHt2fS0tLSR7a1sxXX0ke259YCksRD1uZXcgZy53WihEW0lbMF1dKCkpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO2lmKFcpcmV0dXJuIEQ9bltJWzhdXSgpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO3Y9RC5OW0lbNl1dKElbNTZdKTtELk5bSVs2XV0oSVsyN10pPyhFaihELElbODJdKSxiPURbSVswXV0oKSk6RC5OW0lbNl1dKElbNTJdKT8KKEVqKEQsSVsxOV0pLGI9RFtJWzBdXSgpKTooRD1lQShiKSxnWChEKSYmKGI9RCkpO0Q9bmV3IGcud1ooYik7RFtJWzM0XV0oSVs3OV0sSVs0MF0pO3YmJkRbSVszNF1dKElbMl0sSVs3MV0pO3JldHVybiBEfTsKWVk9ZnVuY3Rpb24obixXLEQsYix2LGs9e30pe3JldHVybiBnS3QobixXLEQsYix2LGspfTsKaGE9ZnVuY3Rpb24obixXKXtXPW4uTiYmIVc7cmV0dXJuIG4uU258fFc/bmV3IHdwKG5ldyBtRyh7WTY6bi5TbixZQjpXfSkpOm5ldyB3cH07Cnh0PWZ1bmN0aW9uKG4sVyxELGIpe1dbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIjtXWyJYLVVzZXItQWdlbnQiXT0iZ3JwYy13ZWItamF2YXNjcmlwdC8wLjEiO3ZhciB2PVcuQXV0aG9yaXphdGlvbjtpZih2JiZYMnIuaGFzKHYuc3BsaXQoIiAiKVswXSl8fG4ud2l0aENyZWRlbnRpYWxzKUQuTz0hMDtpZihuLllPKW49YixnLkdGKFcpP2I9bjooVz12S2IoVyksdHlwZW9mIG49PT0ic3RyaW5nIj9iPWcudWYobixxaCgiJGh0dHBIZWFkZXJzIiksVyk6KG4uVy5zZXQoIiRodHRwSGVhZGVycyIsVyksYj1uKSk7ZWxzZSBmb3IobGV0IGsgb2YgT2JqZWN0LmtleXMoVykpRC5oZWFkZXJzLnNldChrLFdba10pO3JldHVybiBifTsKTF89ZnVuY3Rpb24obixXLEQpe2lmKEQpe24uaXNBY3RpdmUoKTtEPW5ldyBxQXQobik7dmFyIGI9bmV3IEdoaShEKX1yZXR1cm4gbmV3IHR1MSh7eGhyOm4sTUU6Yn0sVyl9Owpxdz1mdW5jdGlvbigpe3RoaXMuTj1uZXcgJHhoO3RoaXMuSj0iaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20iLnJlcGxhY2UoL1wvKyQvLCIiKX07CmcuR0s9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5yZXBsYWNlKHI0MixmdW5jdGlvbihELGIpe3RyeXtsZXQgdj1nLiR5KFcsYik7aWYodj09bnVsbHx8di50b1N0cmluZygpPT1udWxsKXJldHVybiBEO3Y9di50b1N0cmluZygpO2lmKHY9PSIifHwhZy5GaChnLnJUKHYpKSlyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHYpLnJlcGxhY2UoLyUyQy9nLCIsIil9Y2F0Y2godil7fXJldHVybiBEfSl9OwpzMnc9ZnVuY3Rpb24oKXt2YXIgbj10YTskdC5pbnN0YW5jZXx8KCR0Lmluc3RhbmNlPW5ldyAkdChuKSk7cmV0dXJuICR0Lmluc3RhbmNlfTsKclg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5XP24uVzpuLlc9bmV3IFByb21pc2UoYXN5bmMgRD0+e3ZhciBiPXdpbmRvdy5BYm9ydENvbnRyb2xsZXI/bmV3IHdpbmRvdy5BYm9ydENvbnRyb2xsZXI6dm9pZCAwLHY9Yj8uc2lnbmFsLGs9ITE7dHJ5e2ImJihuLk49bi5BJC5MUygoKT0+e2IuYWJvcnQoKX0sV3x8MkU0KSksYXdhaXQgZmV0Y2goIi9nZW5lcmF0ZV8yMDQiLHttZXRob2Q6IkhFQUQiLApzaWduYWw6dn0pLGs9ITB9Y2F0Y2h7az0hMX1maW5hbGx5e24uVz12b2lkIDAsbi5OJiYobi5BJC5zTyhuLk4pLG4uTj0wKSxrIT09bi5pc09ubGluZSYmKG4uaXNPbmxpbmU9ayxuLmlzT25saW5lP24uZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTpuLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxEKGspfX0pfTsKTldoPWZ1bmN0aW9uKG4pe24uTj09PS0xJiYobi5OPW4uZGF0YS5yZWR1Y2UoKFcsRCxiKT0+VysoRD8yKipiOjApLDApKTsKcmV0dXJuIG4uTn07Cmcuc0k9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4mJlchPT1udWxsJiZXIT1XLnRvcCl7aWYoIVcudG9wKXJldHVybiBuZXcgZy5RZSgtMTIyNDU5MzMsLTEyMjQ1OTMzKTtXPVcudG9wfXRyeXtpZihEKXZhciBiPShuZXcgZy5RZShXLmlubmVyV2lkdGgsVy5pbm5lckhlaWdodCkpLnJvdW5kKCk7ZWxzZXtsZXQgdj0oV3x8d2luZG93KS5kb2N1bWVudCxrPXYuY29tcGF0TW9kZT09IkNTUzFDb21wYXQiP3YuZG9jdW1lbnRFbGVtZW50OnYuYm9keTtiPShuZXcgZy5RZShrLmNsaWVudFdpZHRoLGsuY2xpZW50SGVpZ2h0KSkucm91bmQoKX1yZXR1cm4gYn1jYXRjaCh2KXtyZXR1cm4gbmV3IGcuUWUoLTEyMjQ1OTMzLC0xMjI0NTkzMyl9fTsKZy5Odz1mdW5jdGlvbihuKXtyZXR1cm4gbi5wcmVyZW5kZXJpbmc/Mzp7dmlzaWJsZToxLGhpZGRlbjoyLHByZXJlbmRlcjozLHByZXZpZXc6NCx1bmxvYWRlZDo1LCIiOjB9W24udmlzaWJpbGl0eVN0YXRlfHxuLndlYmtpdFZpc2liaWxpdHlTdGF0ZXx8bi5tb3pWaXNpYmlsaXR5U3RhdGV8fCIiXT8/MH07CmcucF89ZnVuY3Rpb24obixXLEQpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLk49bnVsbDt0aGlzLlg9ITE7dGhpcy5WPW47dGhpcy5qPUQ7dGhpcy5KPVd8fHdpbmRvdzt0aGlzLlc9KDAsZy5LdCkodGhpcy5PdCx0aGlzKX07Cll0PWZ1bmN0aW9uKG4pe249bi5KO3JldHVybiBuLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG51bGx9OwpISz1mdW5jdGlvbihuKXtuPW4uSjtyZXR1cm4gbi5jYW5jZWxBbmltYXRpb25GcmFtZXx8bi5jYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ud2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1vekNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi5vQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1zQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxudWxsfTsKZy5mXz1mdW5jdGlvbihuLFcsRCl7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuTj1uO3RoaXMuZ3Q9V3x8MDt0aGlzLko9RDt0aGlzLlc9KDAsZy5LdCkodGhpcy5pJCx0aGlzKX07CmcuSmE9ZnVuY3Rpb24obixXKXtuLmlzQWN0aXZlKCl8fG4uc3RhcnQoVyl9OwpJRj1mdW5jdGlvbihuKXtuLlo2PWcuWnQoKCk9PntuLlo2PW51bGw7bi5OJiYhbi5KJiYobi5OPSExLElGKG4pKX0sbi5ndCk7CnZhciBXPW4uVztuLlc9bnVsbDtuLlguYXBwbHkobnVsbCxXKX07ClNBPWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbi5jbGFzc05hbWU9PSJzdHJpbmciP24uY2xhc3NOYW1lOm4uZ2V0QXR0cmlidXRlJiZuLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9OwpBYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3Q6U0EobikubWF0Y2goL1xTKy9nKXx8W119OwptYT1mdW5jdGlvbihuLFcpe3R5cGVvZiBuLmNsYXNzTmFtZT09InN0cmluZyI/bi5jbGFzc05hbWU9VzpuLnNldEF0dHJpYnV0ZSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixXKX07CmcuS189ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QuY29udGFpbnMoVyk6Zy5qaihBYShuKSxXKX07CmcuVUk9ZnVuY3Rpb24obixXKXtpZihuLmNsYXNzTGlzdCluLmNsYXNzTGlzdC5hZGQoVyk7ZWxzZSBpZighZy5LXyhuLFcpKXtsZXQgRD1TQShuKTttYShuLEQrKEQubGVuZ3RoPjA/IiAiK1c6VykpfX07CnlLPWZ1bmN0aW9uKG4sVyl7aWYobi5jbGFzc0xpc3QpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChXLGZ1bmN0aW9uKGIpe2cuVUkobixiKX0pOwplbHNle3ZhciBEPXt9O0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoQWEobiksZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpXPSIiO2ZvcihsZXQgYiBpbiBEKVcrPVcubGVuZ3RoPjA/IiAiK2I6YjttYShuLFcpfX07CmcuRUk9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5yZW1vdmUoVyk6Zy5LXyhuLFcpJiZtYShuLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChBYShuKSxmdW5jdGlvbihEKXtyZXR1cm4gRCE9V30pLmpvaW4oIiAiKSl9OwpwMmo9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oRCl7Zy5FSShuLEQpfSk6bWEobixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoQWEobiksZnVuY3Rpb24oRCl7cmV0dXJuIWcuamooVyxEKX0pLmpvaW4oIiAiKSl9OwpnLmlIPWZ1bmN0aW9uKG4sVyxEKXtEP2cuVUkobixXKTpnLkVJKG4sVyl9Owp1SD1mdW5jdGlvbigpe307CllBMT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2Ygb0Z8fG4gaW5zdGFuY2VvZiBkWHx8biBpbnN0YW5jZW9mIHpLKXJldHVybiBuO2lmKHR5cGVvZiBuLm5leHQ9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bik7CmlmKHR5cGVvZiBuW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bltTeW1ib2wuaXRlcmF0b3JdKCkpOwppZih0eXBlb2Ygbi5ncT09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IG9GKCgpPT5uLmdxKCkpOwp0aHJvdyBFcnJvcigiTm90IGFuIGl0ZXJhdG9yIG9yIGl0ZXJhYmxlLiIpO307CmxIPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dGhpcy5OPW47dGhpcy5LPVc7dGhpcy5XPUQ7dGhpcy5qPWI7dGhpcy5YPXY7dGhpcy5WPWs7dGhpcy5KPWg7dGhpcy5ZPXh9OwpUSz1mdW5jdGlvbihuLFcpe2lmKFc9PTApcmV0dXJuIG4uTjtpZihXPT0xKXJldHVybiBuLko7dmFyIEQ9d1Eobi5OLG4uVyxXKSxiPXdRKG4uVyxuLlgsVyk7bj13UShuLlgsbi5KLFcpO0Q9d1EoRCxiLFcpO2I9d1EoYixuLFcpO3JldHVybiB3UShELGIsVyl9OwpIMGk9ZnVuY3Rpb24obixXKXt2YXIgRD0oVy1uLk4pLyhuLkotbi5OKTtpZihEPD0wKXJldHVybiAwO2lmKEQ+PTEpcmV0dXJuIDE7dmFyIGI9MCx2PTEsaz0wO2Zvcih2YXIgaD0wO2g8ODtoKyspe2s9VEsobixEKTtsZXQgeD0oVEsobixEKzFFLTYpLWspLzFFLTY7aWYoTWF0aC5hYnMoay1XKTwxRS02KXJldHVybiBEO2lmKE1hdGguYWJzKHgpPDFFLTYpYnJlYWs7ZWxzZSBrPFc/Yj1EOnY9RCxELT0oay1XKS94fWZvcihoPTA7TWF0aC5hYnMoay1XKT4xRS02JiZoPDg7aCsrKWs8Vz8oYj1ELEQ9KEQrdikvMik6KHY9RCxEPShEK2IpLzIpLGs9VEsobixEKTtyZXR1cm4gRH07CmpBPWZ1bmN0aW9uKG4pe3JldHVybihuPW4uZXhlYyhnLlhRKCkpKT9uWzFdOiIifTsKQ189ZnVuY3Rpb24obil7cmV0dXJuIGcuY1ooZlgyLG4pPj0wfTsKQks9ZnVuY3Rpb24obil7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuVj0xO3RoaXMuVz1bXTt0aGlzLlg9MDt0aGlzLk49W107dGhpcy5KPXt9O3RoaXMuSz0hIW59OwpKNHI9ZnVuY3Rpb24obixXLEQpe2cubUsoZnVuY3Rpb24oKXtuLmFwcGx5KFcsRCl9KX07CmcuRmQ9ZnVuY3Rpb24obil7dGhpcy5OPW59Owp3WD1mdW5jdGlvbihuKXt0aGlzLk49bn07Ck13PWZ1bmN0aW9uKG4pe3RoaXMuZGF0YT1ufTsKUkY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT12b2lkIDB8fG4gaW5zdGFuY2VvZiBNdz9uOm5ldyBNdyhuKX07ClFLPWZ1bmN0aW9uKG4pe3RoaXMuTj1ufTsKVks9ZnVuY3Rpb24obil7dGhpcy5OPW59OwpJWDE9ZnVuY3Rpb24oKXt9OwpjSz1mdW5jdGlvbigpe307CmFGPWZ1bmN0aW9uKG4pe3RoaXMuTj1uO3RoaXMuSj1udWxsfTsKbmU9ZnVuY3Rpb24obil7aWYobi5OPT1udWxsKXRocm93IEVycm9yKCJTdG9yYWdlIG1lY2hhbmlzbTogU3RvcmFnZSB1bmF2YWlsYWJsZSIpO24uaXNBdmFpbGFibGUoKXx8aDQoRXJyb3IoIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIHVuYXZhaWxhYmxlIikpfTsKV1M9ZnVuY3Rpb24oKXt2YXIgbj1udWxsO3RyeXtuPWcucWkubG9jYWxTdG9yYWdlfHxudWxsfWNhdGNoKFcpe31hRi5jYWxsKHRoaXMsbil9OwpEUT1mdW5jdGlvbigpe3ZhciBuPW51bGw7dHJ5e249Zy5xaS5zZXNzaW9uU3RvcmFnZXx8bnVsbH1jYXRjaChXKXt9YUYuY2FsbCh0aGlzLG4pfTsKYkM9ZnVuY3Rpb24obixXKXt0aGlzLko9bjt0aGlzLk49VysiOjoifTsKZy52Uz1mdW5jdGlvbihuKXt2YXIgVz1uZXcgV1M7cmV0dXJuIFcuaXNBdmFpbGFibGUoKT9uP25ldyBiQyhXLG4pOlc6bnVsbH07CmtqPWZ1bmN0aW9uKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9Owp4aj1mdW5jdGlvbihuKXt2YXIgVyxELGI9bi5sZW5ndGgsdj0wO2ZvcihXPTA7VzxiO1crKyl7dmFyIGs9bi5jaGFyQ29kZUF0KFcpO2lmKChrJjY0NTEyKT09PTU1Mjk2JiZXKzE8Yil7dmFyIGg9bi5jaGFyQ29kZUF0KFcrMSk7KGgmNjQ1MTIpPT09NTYzMjAmJihrPTY1NTM2KyhrLTU1Mjk2PDwxMCkrKGgtNTYzMjApLFcrKyl9dis9azwxMjg/MTprPDIwNDg/MjprPDY1NTM2PzM6NH12YXIgeD1uZXcgaGsuT20odik7Zm9yKFc9RD0wO0Q8djtXKyspaz1uLmNoYXJDb2RlQXQoVyksKGsmNjQ1MTIpPT09NTUyOTYmJlcrMTxiJiYoaD1uLmNoYXJDb2RlQXQoVysxKSwoaCY2NDUxMik9PT01NjMyMCYmKGs9NjU1MzYrKGstNTUyOTY8PDEwKSsoaC01NjMyMCksVysrKSksazwxMjg/eFtEKytdPWs6KGs8MjA0OD94W0QrK109MTkyfGs+Pj42OihrPDY1NTM2P3hbRCsrXT0yMjR8az4+PjEyOih4W0QrK109MjQwfGs+Pj4xOCx4W0QrK109MTI4fGs+Pj4xMiY2MykseFtEKytdPTEyOHxrPj4+CjYmNjMpLHhbRCsrXT0xMjh8ayY2Myk7cmV0dXJuIHh9OwpMZT1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5sZW5ndGg7LS1XPj0wOyluW1ddPTB9Owpldj1mdW5jdGlvbihuLFcsRCxiLHYpe3RoaXMua089bjt0aGlzLmJFPVc7dGhpcy50cD1EO3RoaXMuYXo9Yjt0aGlzLnVIPXY7dGhpcy5aZD1uJiZuLmxlbmd0aH07CnZhciBTQTE9ZnVuY3Rpb24obil7cmV0dXJuIGc3W0lbMTBdXSh0aGlzLDI1LDYzMjIsbil9Owp0az1mdW5jdGlvbihuLFcpe3RoaXMuTTA9bjt0aGlzLnJPPTA7dGhpcy5BWj1XfTsKcjc9ZnVuY3Rpb24obixXKXtuLkZCW24ucGVuZGluZysrXT1XJjI1NTtuLkZCW24ucGVuZGluZysrXT1XPj4+OCYyNTV9OwpzJD1mdW5jdGlvbihuLFcsRCl7bi5ZSD4xNi1EPyhuLlJKfD1XPDxuLllIJjY1NTM1LHI3KG4sbi5SSiksbi5SSj1XPj4xNi1uLllILG4uWUgrPUQtMTYpOihuLlJKfD1XPDxuLllIJjY1NTM1LG4uWUgrPUQpfTsKTjY9ZnVuY3Rpb24obixXLEQpe3MkKG4sRFtXKjJdLERbVyoyKzFdKX07CnBlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtkbyBEfD1uJjEsbj4+Pj0xLEQ8PD0xO3doaWxlKC0tVz4wKTtyZXR1cm4gRD4+PjF9OwpZaj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9QXJyYXkoMTYpLHY9MCxrO2ZvcihrPTE7azw9MTU7aysrKWJba109dj12K0Rbay0xXTw8MTtmb3IoRD0wO0Q8PVc7RCsrKXY9bltEKjIrMV0sdiE9PTAmJihuW0QqMl09cGUoYlt2XSsrLHYpKX07CkhTPWZ1bmN0aW9uKG4pe3ZhciBXO2ZvcihXPTA7VzwyODY7VysrKW4ua0dbVyoyXT0wO2ZvcihXPTA7VzwzMDtXKyspbi5sZltXKjJdPTA7Zm9yKFc9MDtXPDE5O1crKyluLndoW1cqMl09MDtuLmtHWzUxMl09MTtuLlhSPW4uVHY9MDtuLndYPW4ubWF0Y2hlcz0wfTsKZmU9ZnVuY3Rpb24obil7bi5ZSD44P3I3KG4sbi5SSik6bi5ZSD4wJiYobi5GQltuLnBlbmRpbmcrK109bi5SSik7bi5SSj0wO24uWUg9MH07CkprPWZ1bmN0aW9uKG4sVyxEKXtmZShuKTtyNyhuLEQpO3I3KG4sfkQpO2hrLlA3KG4uRkIsbi53aW5kb3csVyxELG4ucGVuZGluZyk7bi5wZW5kaW5nKz1EfTsKSVM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9VyoyLGs9RCoyO3JldHVybiBuW3ZdPG5ba118fG5bdl09PT1uW2tdJiZiW1ddPD1iW0RdfTsKU3Y9ZnVuY3Rpb24obixXLEQpe2Zvcih2YXIgYj1uLmhlYXBbRF0sdj1EPDwxO3Y8PW4uVW47KXt2PG4uVW4mJklTKFcsbi5oZWFwW3YrMV0sbi5oZWFwW3ZdLG4uZGVwdGgpJiZ2Kys7aWYoSVMoVyxiLG4uaGVhcFt2XSxuLmRlcHRoKSlicmVhaztuLmhlYXBbRF09bi5oZWFwW3ZdO0Q9djt2PDw9MX1uLmhlYXBbRF09Yn07ClUkPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0wO2lmKG4ud1ghPT0wKXtkb3t2YXIgdj1uLkZCW24uQTgrYioyXTw8OHxuLkZCW24uQTgrYioyKzFdO3ZhciBrPW4uRkJbbi50YStiXTtiKys7aWYodj09PTApTjYobixrLFcpO2Vsc2V7dmFyIGg9QWtba107TjYobixoKzI1NisxLFcpO3ZhciB4PW0kW2hdO3ghPT0wJiYoay09S2VbaF0scyQobixrLHgpKTt2LS07aD12PDI1Nj9PJFt2XTpPJFsyNTYrKHY+Pj43KV07TjYobixoLEQpO3g9UFNbaF07eCE9PTAmJih2LT1aUVtoXSxzJChuLHYseCkpfX13aGlsZShiPG4ud1gpfU42KG4sMjU2LFcpfTsKRSQ9ZnVuY3Rpb24obixXKXt2YXIgRD1XLk0wLGI9Vy5BWi5rTyx2PVcuQVouWmQsaz1XLkFaLmF6LGgseD0tMTtuLlVuPTA7bi5PND01NzM7Zm9yKGg9MDtoPGs7aCsrKURbaCoyXSE9PTA/KG4uaGVhcFsrK24uVW5dPXg9aCxuLmRlcHRoW2hdPTApOkRbaCoyKzFdPTA7Zm9yKDtuLlVuPDI7KXt2YXIgTD1uLmhlYXBbKytuLlVuXT14PDI/Kyt4OjA7RFtMKjJdPTE7bi5kZXB0aFtMXT0wO24uWFItLTt2JiYobi5Udi09YltMKjIrMV0pfVcuck89eDtmb3IoaD1uLlVuPj4xO2g+PTE7aC0tKVN2KG4sRCxoKTtMPWs7ZG8gaD1uLmhlYXBbMV0sbi5oZWFwWzFdPW4uaGVhcFtuLlVuLS1dLFN2KG4sRCwxKSxiPW4uaGVhcFsxXSxuLmhlYXBbLS1uLk80XT1oLG4uaGVhcFstLW4uTzRdPWIsRFtMKjJdPURbaCoyXStEW2IqMl0sbi5kZXB0aFtMXT0obi5kZXB0aFtoXT49bi5kZXB0aFtiXT9uLmRlcHRoW2hdOm4uZGVwdGhbYl0pKzEsRFtoKjIrMV09RFtiKjIrMV09TCxuLmhlYXBbMV09TCsrLApTdihuLEQsMSk7d2hpbGUobi5Vbj49Mik7bi5oZWFwWy0tbi5PNF09bi5oZWFwWzFdO2g9Vy5NMDtMPVcuck87Yj1XLkFaLmtPO3Y9Vy5BWi5aZDtrPVcuQVouYkU7dmFyIGU9Vy5BWi50cCxHPVcuQVoudUgscixOPTA7Zm9yKHI9MDtyPD0xNTtyKyspbi5WbltyXT0wO2hbbi5oZWFwW24uTzRdKjIrMV09MDtmb3IoVz1uLk80KzE7Vzw1NzM7VysrKXt2YXIgSD1uLmhlYXBbV107cj1oW2hbSCoyKzFdKjIrMV0rMTtyPkcmJihyPUcsTisrKTtoW0gqMisxXT1yO2lmKCEoSD5MKSl7bi5WbltyXSsrO3ZhciBBPTA7SD49ZSYmKEE9a1tILWVdKTt2YXIgeT1oW0gqMl07bi5YUis9eSoocitBKTt2JiYobi5Udis9eSooYltIKjIrMV0rQSkpfX1pZihOIT09MCl7ZG97Zm9yKHI9Ry0xO24uVm5bcl09PT0wOylyLS07bi5WbltyXS0tO24uVm5bcisxXSs9MjtuLlZuW0ddLS07Ti09Mn13aGlsZShOPjApO2ZvcihyPUc7ciE9PTA7ci0tKWZvcihIPW4uVm5bcl07SCE9PTA7KWI9bi5oZWFwWy0tV10sCmI+THx8KGhbYioyKzFdIT09ciYmKG4uWFIrPShyLWhbYioyKzFdKSpoW2IqMl0saFtiKjIrMV09ciksSC0tKX1ZaihELHgsbi5Wbil9OwppQz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO1dbKEQrMSkqMisxXT02NTUzNTtmb3IoYj0wO2I8PUQ7YisrKXt2YXIgZT1rO2s9V1soYisxKSoyKzFdOysraDx4JiZlPT09a3x8KGg8TD9uLndoW2UqMl0rPWg6ZSE9PTA/KGUhPT12JiZuLndoW2UqMl0rKyxuLndoWzMyXSsrKTpoPD0xMD9uLndoWzM0XSsrOm4ud2hbMzZdKyssaD0wLHY9ZSxrPT09MD8oeD0xMzgsTD0zKTplPT09az8oeD02LEw9Myk6KHg9NyxMPTQpKX19Owp1Qz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO2ZvcihiPTA7Yjw9RDtiKyspe3ZhciBlPWs7az1XWyhiKzEpKjIrMV07aWYoISgrK2g8eCYmZT09PWspKXtpZihoPEwpe2RvIE42KG4sZSxuLndoKTt3aGlsZSgtLWghPT0wKX1lbHNlIGUhPT0wPyhlIT09diYmKE42KG4sZSxuLndoKSxoLS0pLE42KG4sMTYsbi53aCkscyQobixoLTMsMikpOmg8PTEwPyhONihuLDE3LG4ud2gpLHMkKG4saC0zLDMpKTooTjYobiwxOCxuLndoKSxzJChuLGgtMTEsNykpO2g9MDt2PWU7az09PTA/KHg9MTM4LEw9Myk6ZT09PWs/KHg9NixMPTMpOih4PTcsTD00KX19fTsKQTR4PWZ1bmN0aW9uKG4pe3ZhciBXPTQwOTM2MjQ0NDcsRDtmb3IoRD0wO0Q8PTMxO0QrKyxXPj4+PTEpaWYoVyYxJiZuLmtHW0QqMl0hPT0wKXJldHVybiAwO2lmKG4ua0dbMThdIT09MHx8bi5rR1syMF0hPT0wfHxuLmtHWzI2XSE9PTApcmV0dXJuIDE7Zm9yKEQ9MzI7RDwyNTY7RCsrKWlmKG4ua0dbRCoyXSE9PTApcmV0dXJuIDE7cmV0dXJuIDB9OwpvUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47aWYoIShuKzQmNykpe0Q9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO3ZhciBrPWJbMF07YlswXT1iW0RdO2JbRF09azt2YXIgaD1bRF19KG4rOSY1KT09MSYmYltJWzNdXShiW0lbNV1dLDAsRCk7cmV0dXJuIGh9OwpkNz1mdW5jdGlvbihuLFcsRCl7bi5GQltuLkE4K24ud1gqMl09Vz4+PjgmMjU1O24uRkJbbi5BOCtuLndYKjIrMV09VyYyNTU7bi5GQltuLnRhK24ud1hdPUQmMjU1O24ud1grKztXPT09MD9uLmtHW0QqMl0rKzoobi5tYXRjaGVzKyssVy0tLG4ua0dbKEFrW0RdKzI1NisxKSoyXSsrLG4ubGZbKFc8MjU2P08kW1ddOk8kWzI1NisoVz4+PjcpXSkqMl0rKyk7cmV0dXJuIG4ud1g9PT1uLktYLTF9OwpsQz1mdW5jdGlvbihuLFcpe24ubXNnPXpCW1ddO3JldHVybiBXfTsKVEI9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW4ubGVuZ3RoOy0tVz49MDspbltXXT0wfTsKanY9ZnVuY3Rpb24obil7dmFyIFc9bi5zdGF0ZSxEPVcucGVuZGluZztEPm4udVImJihEPW4udVIpO0QhPT0wJiYoaGsuUDcobi5vdXRwdXQsVy5GQixXLmhSLEQsbi51Zyksbi51Zys9RCxXLmhSKz1ELG4udEIrPUQsbi51Ui09RCxXLnBlbmRpbmctPUQsVy5wZW5kaW5nPT09MCYmKFcuaFI9MCkpfTsKdzc9ZnVuY3Rpb24obixXKXt2YXIgRD1uLk9LPj0wP24uT0s6LTEsYj1uLnFzLW4uT0ssdj0wO2lmKG4ubGV2ZWw+MCl7bi5UUi5xUz09PTImJihuLlRSLnFTPUE0eChuKSk7RSQobixuLlFmKTtFJChuLG4uYVMpO2lDKG4sbi5rRyxuLlFmLnJPKTtpQyhuLG4ubGYsbi5hUy5yTyk7RSQobixuLm1NKTtmb3Iodj0xODt2Pj0zJiZuLndoW0NlW3ZdKjIrMV09PT0wO3YtLSk7bi5YUis9MyoodisxKSs1KzUrNDt2YXIgaz1uLlhSKzMrNz4+PjM7dmFyIGg9bi5UdiszKzc+Pj4zO2g8PWsmJihrPWgpfWVsc2Ugaz1oPWIrNTtpZihiKzQ8PWsmJkQhPT0tMSlzJChuLFc/MTowLDMpLEprKG4sRCxiKTtlbHNlIGlmKG4uc3RyYXRlZ3k9PT00fHxoPT09aylzJChuLDIrKFc/MTowKSwzKSxVJChuLEJTLEY5KTtlbHNle3MkKG4sNCsoVz8xOjApLDMpO0Q9bi5RZi5yTysxO2I9bi5hUy5yTysxO3YrPTE7cyQobixELTI1Nyw1KTtzJChuLGItMSw1KTtzJChuLHYtNCw0KTtmb3Ioaz0wO2s8djtrKyspcyQobiwKbi53aFtDZVtrXSoyKzFdLDMpO3VDKG4sbi5rRyxELTEpO3VDKG4sbi5sZixiLTEpO1UkKG4sbi5rRyxuLmxmKX1IUyhuKTtXJiZmZShuKTtuLk9LPW4ucXM7anYobi5UUil9OwpNNj1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVd9OwpSUz1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVc+Pj44JjI1NTtuLkZCW24ucGVuZGluZysrXT1XJjI1NX07ClF0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5lYixiPW4ucXMsdj1uLlRhLGs9bi5PUixoPW4ucXM+bi54ci0yNjI/bi5xcy0obi54ci0yNjIpOjAseD1uLndpbmRvdyxMPW4ueWUsZT1uLlJULEc9bi5xcysyNTgscj14W2Irdi0xXSxOPXhbYit2XTtuLlRhPj1uLnIkJiYoRD4+PTIpO2s+bi5HVyYmKGs9bi5HVyk7ZG97dmFyIEg9VztpZih4W0grdl09PT1OJiZ4W0grdi0xXT09PXImJnhbSF09PT14W2JdJiZ4WysrSF09PT14W2IrMV0pe2IrPTI7Zm9yKEgrKzt4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmYjxHOyk7SD0yNTgtKEctYik7Yj1HLTI1ODtpZihIPnYpe24uUVo9Vzt2PUg7aWYoSD49aylicmVhaztyPXhbYit2LTFdO049eFtiK3ZdfX19d2hpbGUoKFc9ZVtXJkxdKT5oJiYtLUQhPT0KMCk7cmV0dXJuIHY8PW4uR1c/djpuLkdXfTsKYVM9ZnVuY3Rpb24obil7dmFyIFc9bi54cixEO2Rve3ZhciBiPW4uYlgtbi5HVy1uLnFzO2lmKG4ucXM+PVcrKFctMjYyKSl7aGsuUDcobi53aW5kb3csbi53aW5kb3csVyxXLDApO24uUVotPVc7bi5xcy09VztuLk9LLT1XO3ZhciB2PUQ9bi5BeTtkb3t2YXIgaz1uLmhlYWRbLS12XTtuLmhlYWRbdl09az49Vz9rLVc6MH13aGlsZSgtLUQpO3Y9RD1XO2RvIGs9bi5SVFstLXZdLG4uUlRbdl09az49Vz9rLVc6MDt3aGlsZSgtLUQpO2IrPVd9aWYobi5UUi5CQT09PTApYnJlYWs7dj1uLlRSO0Q9bi53aW5kb3c7az1uLnFzK24uR1c7dmFyIGg9di5CQTtoPmImJihoPWIpO2g9PT0wP0Q9MDoodi5CQS09aCxoay5QNyhELHYuaW5wdXQsdi5VWixoLGspLHYuc3RhdGUud3JhcD09PTE/di5nST1WdCh2LmdJLEQsaCxrKTp2LnN0YXRlLndyYXA9PT0yJiYodi5nST1jUyh2LmdJLEQsaCxrKSksdi5VWis9aCx2LkVtKz1oLEQ9aCk7bi5HVys9RDtpZihuLkdXK24ucXA+PTMpZm9yKGI9bi5xcy1uLnFwLApuLnBBPW4ud2luZG93W2JdLG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYisxXSkmbi5sQjtuLnFwJiYhKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYiszLTFdKSZuLmxCLG4uUlRbYiZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPWIsYisrLG4ucXAtLSxuLkdXK24ucXA8Myk7KTt9d2hpbGUobi5HVzwyNjImJm4uVFIuQkEhPT0wKX07Cm53PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO0QhPT0wJiZuLnFzLUQ8PW4ueHItMjYyJiYobi5mQT1RdChuLEQpKTtpZihuLmZBPj0zKWlmKEQ9ZDcobixuLnFzLW4uUVosbi5mQS0zKSxuLkdXLT1uLmZBLG4uZkE8PW4uUmImJm4uR1c+PTMpe24uZkEtLTtkbyBuLnFzKyssbi5wQT0obi5wQTw8bi5IY15uLndpbmRvd1tuLnFzKzMtMV0pJm4ubEIsbi5SVFtuLnFzJm4ueWVdPW4uaGVhZFtuLnBBXSxuLmhlYWRbbi5wQV09bi5xczt3aGlsZSgtLW4uZkEhPT0wKTtuLnFzKyt9ZWxzZSBuLnFzKz1uLmZBLG4uZkE9MCxuLnBBPW4ud2luZG93W24ucXNdLG4ucEE9KG4ucEE8PG4uSGNeCm4ud2luZG93W24ucXMrMV0pJm4ubEI7ZWxzZSBEPWQ3KG4sMCxuLndpbmRvd1tuLnFzXSksbi5HVy0tLG4ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9bi5xczwyP24ucXM6MjtyZXR1cm4gVz09PTQ/KHc3KG4sITApLG4uVFIudVI9PT0wPzM6NCk6bi53WCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKT8xOjJ9OwpXVj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRCxiOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO24uVGE9bi5mQTtuLkx2PW4uUVo7bi5mQT0yO0QhPT0wJiZuLlRhPG4uUmImJm4ucXMtRDw9bi54ci0yNjImJihuLmZBPVF0KG4sRCksbi5mQTw9NSYmKG4uc3RyYXRlZ3k9PT0xfHxuLmZBPT09MyYmbi5xcy1uLlFaPjQwOTYpJiYobi5mQT0yKSk7aWYobi5UYT49MyYmbi5mQTw9bi5UYSl7Yj1uLnFzK24uR1ctMztEPWQ3KG4sbi5xcy0xLW4uTHYsbi5UYS0zKTtuLkdXLT1uLlRhLTE7bi5UYS09Mjtkbysrbi5xczw9YiYmKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbbi5xcyszLTFdKSZuLmxCLG4uUlRbbi5xcyZuLnllXT0Kbi5oZWFkW24ucEFdLG4uaGVhZFtuLnBBXT1uLnFzKTt3aGlsZSgtLW4uVGEhPT0wKTtuLlJGPTA7bi5mQT0yO24ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfWVsc2UgaWYobi5SRil7aWYoKEQ9ZDcobiwwLG4ud2luZG93W24ucXMtMV0pKSYmdzcobiwhMSksbi5xcysrLG4uR1ctLSxuLlRSLnVSPT09MClyZXR1cm4gMX1lbHNlIG4uUkY9MSxuLnFzKyssbi5HVy0tfW4uUkYmJihkNyhuLDAsbi53aW5kb3dbbi5xcy0xXSksbi5SRj0wKTtuLnFwPW4ucXM8Mj9uLnFzOjI7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKbXhqPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBELGIsdixrPW4ud2luZG93Ozspe2lmKG4uR1c8PTI1OCl7YVMobik7aWYobi5HVzw9MjU4JiZXPT09MClyZXR1cm4gMTtpZihuLkdXPT09MClicmVha31uLmZBPTA7aWYobi5HVz49MyYmbi5xcz4wJiYoYj1uLnFzLTEsRD1rW2JdLEQ9PT1rWysrYl0mJkQ9PT1rWysrYl0mJkQ9PT1rWysrYl0pKXtmb3Iodj1uLnFzKzI1ODtEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZiPHY7KTtuLmZBPTI1OC0odi1iKTtuLmZBPm4uR1cmJihuLmZBPW4uR1cpfW4uZkE+PTM/KEQ9ZDcobiwxLG4uZkEtMyksbi5HVy09bi5mQSxuLnFzKz1uLmZBLG4uZkE9MCk6KEQ9ZDcobiwwLG4ud2luZG93W24ucXNdKSxuLkdXLS0sbi5xcysrKTtpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9MDtyZXR1cm4gVz09PQo0Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKS3hVPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c9PT0wJiYoYVMobiksbi5HVz09PTApKXtpZihXPT09MClyZXR1cm4gMTticmVha31uLmZBPTA7RD1kNyhuLDAsbi53aW5kb3dbbi5xc10pO24uR1ctLTtuLnFzKys7aWYoRCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKREU9ZnVuY3Rpb24obixXLEQsYix2KXt0aGlzLm5rPW47dGhpcy5ZOD1XO3RoaXMuRWs9RDt0aGlzLlNSPWI7dGhpcy5mdW5jPXZ9OwpPMGk9ZnVuY3Rpb24oKXt0aGlzLlRSPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLkZCPW51bGw7dGhpcy53cmFwPXRoaXMucGVuZGluZz10aGlzLmhSPXRoaXMueXY9MDt0aGlzLkZRPW51bGw7dGhpcy5HST0wO3RoaXMubWV0aG9kPTg7dGhpcy5obz0tMTt0aGlzLnllPXRoaXMuclo9dGhpcy54cj0wO3RoaXMud2luZG93PW51bGw7dGhpcy5iWD0wO3RoaXMuaGVhZD10aGlzLlJUPW51bGw7dGhpcy5PUj10aGlzLnIkPXRoaXMuc3RyYXRlZ3k9dGhpcy5sZXZlbD10aGlzLlJiPXRoaXMuZWI9dGhpcy5UYT10aGlzLkdXPXRoaXMuUVo9dGhpcy5xcz10aGlzLlJGPXRoaXMuTHY9dGhpcy5mQT10aGlzLk9LPXRoaXMuSGM9dGhpcy5sQj10aGlzLll2PXRoaXMuQXk9dGhpcy5wQT0wO3RoaXMua0c9bmV3IGhrLm1LKDExNDYpO3RoaXMubGY9bmV3IGhrLm1LKDEyMik7dGhpcy53aD1uZXcgaGsubUsoNzgpO1RCKHRoaXMua0cpO1RCKHRoaXMubGYpO1RCKHRoaXMud2gpO3RoaXMubU09dGhpcy5hUz0KdGhpcy5RZj1udWxsO3RoaXMuVm49bmV3IGhrLm1LKDE2KTt0aGlzLmhlYXA9bmV3IGhrLm1LKDU3Myk7VEIodGhpcy5oZWFwKTt0aGlzLk80PXRoaXMuVW49MDt0aGlzLmRlcHRoPW5ldyBoay5tSyg1NzMpO1RCKHRoaXMuZGVwdGgpO3RoaXMuWUg9dGhpcy5SSj10aGlzLnFwPXRoaXMubWF0Y2hlcz10aGlzLlR2PXRoaXMuWFI9dGhpcy5BOD10aGlzLndYPXRoaXMuS1g9dGhpcy50YT0wfTsKUHAxPWZ1bmN0aW9uKG4sVyl7aWYoIW58fCFuLnN0YXRlfHxXPjV8fFc8MClyZXR1cm4gbj9sQyhuLC0yKTotMjt2YXIgRD1uLnN0YXRlO2lmKCFuLm91dHB1dHx8IW4uaW5wdXQmJm4uQkEhPT0wfHxELnN0YXR1cz09PTY2NiYmVyE9PTQpcmV0dXJuIGxDKG4sbi51Uj09PTA/LTU6LTIpO0QuVFI9bjt2YXIgYj1ELmhvO0QuaG89VztpZihELnN0YXR1cz09PTQyKWlmKEQud3JhcD09PTIpbi5nST0wLE02KEQsMzEpLE02KEQsMTM5KSxNNihELDgpLEQuRlE/KE02KEQsKEQuRlEudGV4dD8xOjApKyhELkZRLnZMPzI6MCkrKEQuRlEuZXh0cmE/NDowKSsoRC5GUS5uYW1lPzg6MCkrKEQuRlEuY29tbWVudD8xNjowKSksTTYoRCxELkZRLnRpbWUmMjU1KSxNNihELEQuRlEudGltZT4+OCYyNTUpLE02KEQsRC5GUS50aW1lPj4xNiYyNTUpLE02KEQsRC5GUS50aW1lPj4yNCYyNTUpLE02KEQsRC5sZXZlbD09PTk/MjpELnN0cmF0ZWd5Pj0yfHxELmxldmVsPDI/NDowKSxNNihELEQuRlEub3MmCjI1NSksRC5GUS5leHRyYSYmRC5GUS5leHRyYS5sZW5ndGgmJihNNihELEQuRlEuZXh0cmEubGVuZ3RoJjI1NSksTTYoRCxELkZRLmV4dHJhLmxlbmd0aD4+OCYyNTUpKSxELkZRLnZMJiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLDApKSxELkdJPTAsRC5zdGF0dXM9NjkpOihNNihELDApLE02KEQsMCksTTYoRCwwKSxNNihELDApLE02KEQsMCksTTYoRCxELmxldmVsPT09OT8yOkQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj80OjApLE02KEQsMyksRC5zdGF0dXM9MTEzKTtlbHNle3ZhciB2PTgrKEQuclotODw8NCk8PDg7dnw9KEQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj8wOkQubGV2ZWw8Nj8xOkQubGV2ZWw9PT02PzI6Myk8PDY7RC5xcyE9PTAmJih2fD0zMik7RC5zdGF0dXM9MTEzO1JTKEQsdisoMzEtdiUzMSkpO0QucXMhPT0wJiYoUlMoRCxuLmdJPj4+MTYpLFJTKEQsbi5nSSY2NTUzNSkpO24uZ0k9MX1pZihELnN0YXR1cz09PTY5KWlmKEQuRlEuZXh0cmEpe2Zvcih2PQpELnBlbmRpbmc7RC5HSTwoRC5GUS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoRC5wZW5kaW5nIT09RC55dnx8KEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZyE9PUQueXYpKTspTTYoRCxELkZRLmV4dHJhW0QuR0ldJjI1NSksRC5HSSsrO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO0QuR0k9PT1ELkZRLmV4dHJhLmxlbmd0aCYmKEQuR0k9MCxELnN0YXR1cz03Myl9ZWxzZSBELnN0YXR1cz03MztpZihELnN0YXR1cz09PTczKWlmKEQuRlEubmFtZSl7dj1ELnBlbmRpbmc7ZG97aWYoRC5wZW5kaW5nPT09RC55diYmKEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZz09PUQueXYpKXt2YXIgaz0xO2JyZWFrfWs9RC5HSTxELkZRLm5hbWUubGVuZ3RoPwpELkZRLm5hbWUuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5HST0wLEQuc3RhdHVzPTkxKX1lbHNlIEQuc3RhdHVzPTkxO2lmKEQuc3RhdHVzPT09OTEpaWYoRC5GUS5jb21tZW50KXt2PUQucGVuZGluZztkb3tpZihELnBlbmRpbmc9PT1ELnl2JiYoRC5GUS52TCYmRC5wZW5kaW5nPnYmJihuLmdJPWNTKG4uZ0ksRC5GQixELnBlbmRpbmctdix2KSksanYobiksdj1ELnBlbmRpbmcsRC5wZW5kaW5nPT09RC55dikpe2s9MTticmVha31rPUQuR0k8RC5GUS5jb21tZW50Lmxlbmd0aD9ELkZRLmNvbW1lbnQuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5zdGF0dXM9MTAzKX1lbHNlIEQuc3RhdHVzPQoxMDM7RC5zdGF0dXM9PT0xMDMmJihELkZRLnZMPyhELnBlbmRpbmcrMj5ELnl2JiZqdihuKSxELnBlbmRpbmcrMjw9RC55diYmKE02KEQsbi5nSSYyNTUpLE02KEQsbi5nST4+OCYyNTUpLG4uZ0k9MCxELnN0YXR1cz0xMTMpKTpELnN0YXR1cz0xMTMpO2lmKEQucGVuZGluZyE9PTApe2lmKGp2KG4pLG4udVI9PT0wKXJldHVybiBELmhvPS0xLDB9ZWxzZSBpZihuLkJBPT09MCYmKFc8PDEpLShXPjQ/OTowKTw9KGI8PDEpLShiPjQ/OTowKSYmVyE9PTQpcmV0dXJuIGxDKG4sLTUpO2lmKEQuc3RhdHVzPT09NjY2JiZuLkJBIT09MClyZXR1cm4gbEMobiwtNSk7aWYobi5CQSE9PTB8fEQuR1chPT0wfHxXIT09MCYmRC5zdGF0dXMhPT02NjYpe2I9RC5zdHJhdGVneT09PTI/S3hVKEQsVyk6RC5zdHJhdGVneT09PTM/bXhqKEQsVyk6YndbRC5sZXZlbF0uZnVuYyhELFcpO2lmKGI9PT0zfHxiPT09NClELnN0YXR1cz02NjY7aWYoYj09PTF8fGI9PT0zKXJldHVybiBuLnVSPT09MCYmKEQuaG89Ci0xKSwwO2lmKGI9PT0yJiYoVz09PTE/KHMkKEQsMiwzKSxONihELDI1NixCUyksRC5ZSD09PTE2PyhyNyhELEQuUkopLEQuUko9MCxELllIPTApOkQuWUg+PTgmJihELkZCW0QucGVuZGluZysrXT1ELlJKJjI1NSxELlJKPj49OCxELllILT04KSk6VyE9PTUmJihzJChELDAsMyksSmsoRCwwLDApLFc9PT0zJiYoVEIoRC5oZWFkKSxELkdXPT09MCYmKEQucXM9MCxELk9LPTAsRC5xcD0wKSkpLGp2KG4pLG4udVI9PT0wKSlyZXR1cm4gRC5obz0tMSwwfWlmKFchPT00KXJldHVybiAwO2lmKEQud3JhcDw9MClyZXR1cm4gMTtELndyYXA9PT0yPyhNNihELG4uZ0kmMjU1KSxNNihELG4uZ0k+PjgmMjU1KSxNNihELG4uZ0k+PjE2JjI1NSksTTYoRCxuLmdJPj4yNCYyNTUpLE02KEQsbi5FbSYyNTUpLE02KEQsbi5FbT4+OCYyNTUpLE02KEQsbi5FbT4+MTYmMjU1KSxNNihELG4uRW0+PjI0JjI1NSkpOihSUyhELG4uZ0k+Pj4xNiksUlMoRCxuLmdJJjY1NTM1KSk7anYobik7RC53cmFwPjAmJgooRC53cmFwPS1ELndyYXApO3JldHVybiBELnBlbmRpbmchPT0wPzA6MX07CnZWPWZ1bmN0aW9uKG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIHZWKSlyZXR1cm4gbmV3IHZWKG4pO249dGhpcy5vcHRpb25zPWhrLmFzc2lnbih7bGV2ZWw6LTEsbWV0aG9kOjgsY2h1bmtTaXplOjE2Mzg0LHRnOjE1LEJrOjgsc3RyYXRlZ3k6MCx0bzoiIn0sbnx8e30pO24ucmF3JiZuLnRnPjA/bi50Zz0tbi50ZzpuLkJUJiZuLnRnPjAmJm4udGc8MTYmJihuLnRnKz0xNik7dGhpcy5lcnI9MDt0aGlzLm1zZz0iIjt0aGlzLmVuZGVkPSExO3RoaXMuY2h1bmtzPVtdO3RoaXMuVFI9bmV3IGtmO3RoaXMuVFIudVI9MDt2YXIgVz10aGlzLlRSO3ZhciBEPW4ubGV2ZWwsYj1uLm1ldGhvZCx2PW4udGcsaz1uLkJrLGg9bi5zdHJhdGVneTtpZihXKXt2YXIgeD0xO0Q9PT0tMSYmKEQ9Nik7djwwPyh4PTAsdj0tdik6dj4xNSYmKHg9Mix2LT0xNik7aWYoazwxfHxrPjl8fGIhPT04fHx2PDh8fHY+MTV8fEQ8MHx8RD45fHxoPDB8fGg+NClXPWxDKFcsLTIpO2Vsc2V7dj09PTgmJih2PTkpO3ZhciBMPQpuZXcgTzBpO1cuc3RhdGU9TDtMLlRSPVc7TC53cmFwPXg7TC5GUT1udWxsO0wuclo9djtMLnhyPTE8PEwuclo7TC55ZT1MLnhyLTE7TC5Zdj1rKzc7TC5BeT0xPDxMLll2O0wubEI9TC5BeS0xO0wuSGM9fn4oKEwuWXYrMy0xKS8zKTtMLndpbmRvdz1uZXcgaGsuT20oTC54cioyKTtMLmhlYWQ9bmV3IGhrLm1LKEwuQXkpO0wuUlQ9bmV3IGhrLm1LKEwueHIpO0wuS1g9MTw8ays2O0wueXY9TC5LWCo0O0wuRkI9bmV3IGhrLk9tKEwueXYpO0wuQTg9MSpMLktYO0wudGE9MypMLktYO0wubGV2ZWw9RDtMLnN0cmF0ZWd5PWg7TC5tZXRob2Q9YjtpZihXJiZXLnN0YXRlKXtXLkVtPVcudEI9MDtXLnFTPTI7RD1XLnN0YXRlO0QucGVuZGluZz0wO0QuaFI9MDtELndyYXA8MCYmKEQud3JhcD0tRC53cmFwKTtELnN0YXR1cz1ELndyYXA/NDI6MTEzO1cuZ0k9RC53cmFwPT09Mj8wOjE7RC5obz0wO2lmKCFocil7Yj1BcnJheSgxNik7Zm9yKGs9aD0wO2s8Mjg7aysrKWZvcihLZVtrXT1oLHY9MDt2PAoxPDxtJFtrXTt2KyspQWtbaCsrXT1rO0FrW2gtMV09aztmb3Ioaz1oPTA7azwxNjtrKyspZm9yKFpRW2tdPWgsdj0wO3Y8MTw8UFNba107disrKU8kW2grK109aztmb3IoaD4+PTc7azwzMDtrKyspZm9yKFpRW2tdPWg8PDcsdj0wO3Y8MTw8UFNba10tNzt2KyspTyRbMjU2K2grK109aztmb3Iodj0wO3Y8PTE1O3YrKyliW3ZdPTA7Zm9yKHY9MDt2PD0xNDM7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7Zm9yKDt2PD0yNTU7KUJTW3YqMisxXT05LHYrKyxiWzldKys7Zm9yKDt2PD0yNzk7KUJTW3YqMisxXT03LHYrKyxiWzddKys7Zm9yKDt2PD0yODc7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7WWooQlMsMjg3LGIpO2Zvcih2PTA7djwzMDt2KyspRjlbdioyKzFdPTUsRjlbdioyXT1wZSh2LDUpO3hmPW5ldyBldihCUyxtJCwyNTcsMjg2LDE1KTtMdz1uZXcgZXYoRjksUFMsMCwzMCwxNSk7ZUg9bmV3IGV2KFtdLFowdywwLDE5LDcpO2hyPSEwfUQuUWY9bmV3IHRrKEQua0cseGYpO0QuYVM9Cm5ldyB0ayhELmxmLEx3KTtELm1NPW5ldyB0ayhELndoLGVIKTtELlJKPTA7RC5ZSD0wO0hTKEQpO0Q9MH1lbHNlIEQ9bEMoVywtMik7RD09PTAmJihXPVcuc3RhdGUsVy5iWD0yKlcueHIsVEIoVy5oZWFkKSxXLlJiPWJ3W1cubGV2ZWxdLlk4LFcuciQ9YndbVy5sZXZlbF0ubmssVy5PUj1id1tXLmxldmVsXS5FayxXLmViPWJ3W1cubGV2ZWxdLlNSLFcucXM9MCxXLk9LPTAsVy5HVz0wLFcucXA9MCxXLmZBPVcuVGE9MixXLlJGPTAsVy5wQT0wKTtXPUR9fWVsc2UgVz0tMjtpZihXIT09MCl0aHJvdyBFcnJvcih6QltXXSk7bi5oZWFkZXImJihXPXRoaXMuVFIpJiZXLnN0YXRlJiZXLnN0YXRlLndyYXA9PT0yJiYoVy5zdGF0ZS5GUT1uLmhlYWRlcik7aWYobi5Dbyl7dmFyIGU7dHlwZW9mIG4uQ289PT0ic3RyaW5nIj9lPXhqKG4uQ28pOmcyLmNhbGwobi5Dbyk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2U9bmV3IFVpbnQ4QXJyYXkobi5Dbyk6ZT1uLkNvO249dGhpcy5UUjtrPWU7aD0Kay5sZW5ndGg7aWYobiYmbi5zdGF0ZSlpZihlPW4uc3RhdGUsVz1lLndyYXAsVz09PTJ8fFc9PT0xJiZlLnN0YXR1cyE9PTQyfHxlLkdXKVc9LTI7ZWxzZXtXPT09MSYmKG4uZ0k9VnQobi5nSSxrLGgsMCkpO2Uud3JhcD0wO2g+PWUueHImJihXPT09MCYmKFRCKGUuaGVhZCksZS5xcz0wLGUuT0s9MCxlLnFwPTApLEQ9bmV3IGhrLk9tKGUueHIpLGhrLlA3KEQsayxoLWUueHIsZS54ciwwKSxrPUQsaD1lLnhyKTtEPW4uQkE7Yj1uLlVaO3Y9bi5pbnB1dDtuLkJBPWg7bi5VWj0wO24uaW5wdXQ9aztmb3IoYVMoZSk7ZS5HVz49Mzspe2s9ZS5xcztoPWUuR1ctMjtkbyBlLnBBPShlLnBBPDxlLkhjXmUud2luZG93W2srMy0xXSkmZS5sQixlLlJUW2smZS55ZV09ZS5oZWFkW2UucEFdLGUuaGVhZFtlLnBBXT1rLGsrKzt3aGlsZSgtLWgpO2UucXM9aztlLkdXPTI7YVMoZSl9ZS5xcys9ZS5HVztlLk9LPWUucXM7ZS5xcD1lLkdXO2UuR1c9MDtlLmZBPWUuVGE9MjtlLlJGPTA7bi5VWj1iO24uaW5wdXQ9CnY7bi5CQT1EO2Uud3JhcD1XO1c9MH1lbHNlIFc9LTI7aWYoVyE9PTApdGhyb3cgRXJyb3IoekJbV10pO3RoaXMuWGg9ITB9fTsKWCQ9ZnVuY3Rpb24obil7dmFyIFc9V3x8e307Vy5CVD0hMDtXPW5ldyB2VihXKTtXLnB1c2gobiwhMCk7aWYoVy5lcnIpdGhyb3cgVy5tc2d8fHpCW1cuZXJyXTtyZXR1cm4gVy5yZXN1bHR9OwpxTj1mdW5jdGlvbiguLi5uKXtyZXR1cm4gbi5sZW5ndGg9PT0wP1c9Plc6bi5sZW5ndGg9PT0xP25bMF06bi5yZWR1Y2UoKFcsRCk9PiguLi5iKT0+VyhEKC4uLmIpKSl9OwpVeGo9ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gVz0+KEQsYik9PntEPVcoRCxiKTt2YXIgdj0oKT0+e3Rocm93IEVycm9yKCJEaXNwYXRjaGluZyB3aGlsZSBjb25zdHJ1Y3RpbmcgeW91ciBtaWRkbGV3YXJlIGlzIG5vdCBhbGxvd2VkLiBPdGhlciBtaWRkbGV3YXJlIHdvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIHRoaXMgZGlzcGF0Y2guIik7fSxrPXtnZXRTdGF0ZTpELmdldFN0YXRlLApkaXNwYXRjaDooaCwuLi54KT0+dihoLC4uLngpfTsKYj1uLm1hcChoPT5oKGspKTsKdj1xTiguLi5iKShELmRpc3BhdGNoKTtyZXR1cm57Li4uRCxkaXNwYXRjaDp2fX19Owp5NDI9ZnVuY3Rpb24obil7T2JqZWN0LmtleXMobikuZm9yRWFjaChXPT57dmFyIEQ9bltXXTtpZih0eXBlb2YgRCh2b2lkIDAse3R5cGU6R2R9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKGBUaGUgc2xpY2UgcmVkdWNlciBmb3Iga2V5ICIke1d9IiByZXR1cm5lZCB1bmRlZmluZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBJZiB0aGUgc3RhdGUgcGFzc2VkIHRvIHRoZSByZWR1Y2VyIGlzIHVuZGVmaW5lZCwgeW91IG11c3QgZXhwbGljaXRseSByZXR1cm4gdGhlIGluaXRpYWwgc3RhdGUuIFRoZSBpbml0aWFsIHN0YXRlIG1heSBub3QgYmUgdW5kZWZpbmVkLiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBzZXQgYSB2YWx1ZSBmb3IgdGhpcyByZWR1Y2VyLCB5b3UgY2FuIHVzZSBudWxsIGluc3RlYWQgb2YgdW5kZWZpbmVkLmApO2lmKHR5cGVvZiBEKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7dHIoKX1gfSk9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcihgVGhlIHNsaWNlIHJlZHVjZXIgZm9yIGtleSAiJHtXfSIgcmV0dXJuZWQgdW5kZWZpbmVkIHdoZW4gcHJvYmVkIHdpdGggYSByYW5kb20gdHlwZS4gRG9uJ3QgdHJ5IHRvIGhhbmRsZSAnJHtHZH0nIG9yIG90aGVyIGFjdGlvbnMgaW4gInJlZHV4LyoiIG5hbWVzcGFjZS4gVGhleSBhcmUgY29uc2lkZXJlZCBwcml2YXRlLiBJbnN0ZWFkLCB5b3UgbXVzdCByZXR1cm4gdGhlIGN1cnJlbnQgc3RhdGUgZm9yIGFueSB1bmtub3duIGFjdGlvbnMsIHVubGVzcyBpdCBpcyB1bmRlZmluZWQsIGluIHdoaWNoIGNhc2UgeW91IG11c3QgcmV0dXJuIHRoZSBpbml0aWFsIHN0YXRlLCByZWdhcmRsZXNzIG9mIHRoZSBhY3Rpb24gdHlwZS4gVGhlIGluaXRpYWwgc3RhdGUgbWF5IG5vdCBiZSB1bmRlZmluZWQsIGJ1dCBjYW4gYmUgbnVsbC5gKTsKfSl9OwokZj1mdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuZ2V0U3RhdGUoKSB3aGlsZSB0aGUgcmVkdWNlciBpcyBleGVjdXRpbmcuIFRoZSByZWR1Y2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIHRoZSBzdGF0ZSBhcyBhbiBhcmd1bWVudC4gUGFzcyBpdCBkb3duIGZyb20gdGhlIHRvcCByZWR1Y2VyIGluc3RlYWQgb2YgcmVhZGluZyBpdCBmcm9tIHRoZSBzdG9yZS4iKTtyZXR1cm4geH0KZnVuY3Rpb24gdihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59J2ApO2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuc3Vic2NyaWJlKCkgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBJZiB5b3Ugd291bGQgbGlrZSB0byBiZSBub3RpZmllZCBhZnRlciB0aGUgc3RvcmUgaGFzIGJlZW4gdXBkYXRlZCwgc3Vic2NyaWJlIGZyb20gYSBjb21wb25lbnQgYW5kIGludm9rZSBzdG9yZS5nZXRTdGF0ZSgpIGluIHRoZSBjYWxsYmFjayB0byBhY2Nlc3MgdGhlIGxhdGVzdCBzdGF0ZS4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL2FwaS9zdG9yZSNzdWJzY3JpYmVsaXN0ZW5lciBmb3IgbW9yZSBkZXRhaWxzLiIpO3ZhciBIPSEwO2U9PT1MJiYoZT1MLnNsaWNlKCkpO2UucHVzaChOKTtyZXR1cm4gZnVuY3Rpb24oKXtpZihIKXtpZihHKXRocm93IEVycm9yKCJZb3UgbWF5IG5vdCB1bnN1YnNjcmliZSBmcm9tIGEgc3RvcmUgbGlzdGVuZXIgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBTZWUgaHR0cHM6Ly9yZWR1eC5qcy5vcmcvYXBpL3N0b3JlI3N1YnNjcmliZWxpc3RlbmVyIGZvciBtb3JlIGRldGFpbHMuIik7Ckg9ITE7ZT09PUwmJihlPUwuc2xpY2UoKSk7ZS5zcGxpY2UoZS5pbmRleE9mKE4pLDEpO0w9bnVsbH19fQpmdW5jdGlvbiBrKE4pe2lmKHR5cGVvZiBOIT09Im9iamVjdCJ8fE49PT1udWxsKXZhciBIPSExO2Vsc2V7Zm9yKEg9TjtPYmplY3QuZ2V0UHJvdG90eXBlT2YoSCkhPT1udWxsOylIPU9iamVjdC5nZXRQcm90b3R5cGVPZihIKTtIPU9iamVjdC5nZXRQcm90b3R5cGVPZihOKT09PUh9aWYoIUgpdGhyb3cgRXJyb3IoYEFjdGlvbnMgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBJbnN0ZWFkLCB0aGUgYWN0dWFsIHR5cGUgd2FzOiAnJHt0eXBlb2YgTn0nLiBZb3UgbWF5IG5lZWQgdG8gYWRkIG1pZGRsZXdhcmUgdG8geW91ciBzdG9yZSBzZXR1cCB0byBoYW5kbGUgZGlzcGF0Y2hpbmcgb3RoZXIgdmFsdWVzLCBzdWNoIGFzICdyZWR1eC10aHVuaycgdG8gaGFuZGxlIGRpc3BhdGNoaW5nIGZ1bmN0aW9ucy4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC00LXN0b3JlI21pZGRsZXdhcmUgYW5kIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC02LWFzeW5jLWxvZ2ljI3VzaW5nLXRoZS1yZWR1eC10aHVuay1taWRkbGV3YXJlIGZvciBleGFtcGxlcy5gKTsKaWYodHlwZW9mIE4udHlwZT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCdBY3Rpb25zIG1heSBub3QgaGF2ZSBhbiB1bmRlZmluZWQgInR5cGUiIHByb3BlcnR5LiBZb3UgbWF5IGhhdmUgbWlzc3BlbGxlZCBhbiBhY3Rpb24gdHlwZSBzdHJpbmcgY29uc3RhbnQuJyk7aWYoRyl0aHJvdyBFcnJvcigiUmVkdWNlcnMgbWF5IG5vdCBkaXNwYXRjaCBhY3Rpb25zLiIpO3RyeXtHPSEwLHg9aCh4LE4pfWZpbmFsbHl7Rz0hMX1IPUw9ZTtmb3IobGV0IEE9MDtBPEgubGVuZ3RoO0ErKykoMCxIW0FdKSgpO3JldHVybiBOfQppZih0eXBlb2YgVz09PSJmdW5jdGlvbiImJnR5cGVvZiBEPT09ImZ1bmN0aW9uInx8dHlwZW9mIEQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSXQgbG9va3MgbGlrZSB5b3UgYXJlIHBhc3Npbmcgc2V2ZXJhbCBzdG9yZSBlbmhhbmNlcnMgdG8gY3JlYXRlU3RvcmUoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBJbnN0ZWFkLCBjb21wb3NlIHRoZW0gdG9nZXRoZXIgdG8gYSBzaW5nbGUgZnVuY3Rpb24uIFNlZSBodHRwczovL3JlZHV4LmpzLm9yZy90dXRvcmlhbHMvZnVuZGFtZW50YWxzL3BhcnQtNC1zdG9yZSNjcmVhdGluZy1hLXN0b3JlLXdpdGgtZW5oYW5jZXJzIGZvciBhbiBleGFtcGxlLiIpO3R5cGVvZiBXPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEQ9PT0idW5kZWZpbmVkIiYmKEQ9VyxXPXZvaWQgMCk7aWYodHlwZW9mIEQhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIEQhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgZW5oYW5jZXIgdG8gYmUgYSBmdW5jdGlvbi4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBEfSdgKTsKcmV0dXJuIEQoJGYpKG4sVyl9aWYodHlwZW9mIG4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgcm9vdCByZWR1Y2VyIHRvIGJlIGEgZnVuY3Rpb24uIEluc3RlYWQsIHJlY2VpdmVkOiAnJHt0eXBlb2Ygbn0nYCk7dmFyIGg9bix4PVcsTD1bXSxlPUwsRz0hMTtrKHt0eXBlOkdkfSk7dmFyIHI9e2Rpc3BhdGNoOmssc3Vic2NyaWJlOnYsZ2V0U3RhdGU6YixyZXBsYWNlUmVkdWNlcjpmdW5jdGlvbihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBuZXh0UmVkdWNlciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59YCk7aD1OO2soe3R5cGU6RUtDfSk7cmV0dXJuIHJ9LApbcjJdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShOKXtmdW5jdGlvbiBIKCl7Ti5uZXh0JiZOLm5leHQoYigpKX0KaWYodHlwZW9mIE4hPT0ib2JqZWN0Inx8Tj09PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdGhlIG9ic2VydmVyIHRvIGJlIGFuIG9iamVjdC4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBOfSdgKTtIKCk7cmV0dXJue3Vuc3Vic2NyaWJlOnYoSCl9fSxbcjJdKCl7cmV0dXJuIHRoaXN9fX19OwpyZXR1cm4gcn07Ck5OPWZ1bmN0aW9uKG4pe3JldHVybiBuPyhuPW4ucHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlU2FmZVNjcmlwdFdyYXBwZWRWYWx1ZSk/bWMobik6bnVsbDpudWxsfTsKcHc9ZnVuY3Rpb24obil7cmV0dXJuIG4/KG49bi5wcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUpP2szKG4pOm51bGw6bnVsbH07CmcuSFY9ZnVuY3Rpb24obil7bj1ZZihuKTtyZXR1cm4gZy5ITShuKX07CmZ3PWZ1bmN0aW9uKG4pe249WWYobik7cmV0dXJuIGszKG4pfTsKWWY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1udWxsPyJudWxsIjpuPT09dm9pZCAwPyJ1bmRlZmluZWQiOm59OwpKcj1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIn07CmcuU0g9ZnVuY3Rpb24oLi4ubil7bj1hcmd1bWVudHM7dmFyIFc9SUU7bi5sZW5ndGg+MT9XW25bMF1dPW5bMV06bi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKFcsblswXSl9OwpnLkFyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4gaW4gSUU/SUVbbl06V307Cm15PWZ1bmN0aW9uKG4pe3ZhciBXPUlFLkVYUEVSSU1FTlRfRkxBR1M7cmV0dXJuIFc/V1tuXTp2b2lkIDB9OwppMGI9ZnVuY3Rpb24obil7S3cuZm9yRWFjaChXPT5XKG4pKX07ClBWPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZ3aW5kb3cueXRlcnI/ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKFcpe090KFcpfX06bn07Ck90PWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO1c/VyhuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk6KFc9Zy5BcigiRVJST1JTIixbXSksVy5wdXNoKFtuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMF0pLGcuU0goIkVSUk9SUyIsVykpO2kwYihuKX07ClpFPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9Zy5ycigieXQubG9nZ2luZy5lcnJvcnMubG9nIik7az9rKG4sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2KTooaz1nLkFyKCJFUlJPUlMiLFtdKSxrLnB1c2goW24sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2XSksZy5TSCgiRVJST1JTIixrKSl9Owp5Rj1mdW5jdGlvbihuLFcpe1c9bi5zcGxpdChXKTt2YXIgRD17fTtmb3IobGV0IGs9MCxoPVcubGVuZ3RoO2s8aDtrKyspe2xldCB4PVdba10uc3BsaXQoIj0iKTtpZih4Lmxlbmd0aD09PTEmJnhbMF18fHgubGVuZ3RoPT09Mil0cnl7bGV0IEw9VXQoeFswXXx8IiIpLGU9VXQoeFsxXXx8IiIpO2lmKEwgaW4gRCl7bGV0IEc9RFtMXTtBcnJheS5pc0FycmF5KEcpP2cuUTIoRyxlKTpEW0xdPVtHLGVdfWVsc2UgRFtMXT1lfWNhdGNoKEwpe3ZhciBiPUwsdj14WzBdO2xldCBlPVN0cmluZyh5Rik7Yi5hcmdzPVt7a2V5OnYsdmFsdWU6eFsxXSxxdWVyeTpuLG1ldGhvZDp1UWg9PT1lPyJ1bmNoYW5nZWQiOmV9XTtvS2kuaGFzT3duUHJvcGVydHkodil8fFpFKGIpfX1yZXR1cm4gRH07CmcuRXQ9ZnVuY3Rpb24obil7dmFyIFc9W107Zy5hXyhuLChELGIpPT57dmFyIHY9cWgoYik7Zy55MihBcnJheS5pc0FycmF5KEQpP0Q6W0RdLGs9PntrPT0iIj9XLnB1c2godik6Vy5wdXNoKGAke3Z9PSR7cWgoayl9YCl9KX0pOwpyZXR1cm4gVy5qb2luKCImIil9OwpnLml3PWZ1bmN0aW9uKG4pe24uY2hhckF0KDApPT09Ij8iJiYobj1uLnN1YnN0cmluZygxKSk7cmV0dXJuIHlGKG4sIiYiKX07CnV3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNwbGl0KCIsIikubWFwKFc9PmcuaXcoVykpfTsKZy5vRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCI/IikhPT0tMT8obj0obnx8IiIpLnNwbGl0KCIjIilbMF0sbj1uLnNwbGl0KCI/IiwyKSxnLml3KG4ubGVuZ3RoPjE/blsxXTpuWzBdKSk6e319OwpnLnpkPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGQyKG4sV3x8e30sITApfTsKZy5sdz1mdW5jdGlvbihuLFcpe3JldHVybiBkMihuLFd8fHt9LCExKX07CmQyPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLnNwbGl0KCIjIiwyKTtuPWJbMF07Yj1iLmxlbmd0aD4xPyIjIitiWzFdOiIiO3ZhciB2PW4uc3BsaXQoIj8iLDIpO249dlswXTt2PWcuaXcodlsxXXx8IiIpO2ZvcihsZXQgayBpbiBXKWlmKER8fCFnLmVwKHYsaykpdltrXT1XW2tdO3JldHVybiBnLkVUKG4sdikrYn07CmcuVGQ9ZnVuY3Rpb24obil7aWYoIVcpdmFyIFc9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIEQ9Zy5mcChuKVsxXXx8bnVsbCxiPWcuSVAobik7RCYmYj8obj1nLmZwKG4pLFc9Zy5mcChXKSxuPW5bM109PVdbM10mJm5bMV09PVdbMV0mJm5bNF09PVdbNF0pOm49Yj9nLklQKFcpPT09YiYmKE51bWJlcihnLmZwKFcpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKGcuZnAobilbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gbn07Cmcuakg9ZnVuY3Rpb24obil7bnx8KG49ZG9jdW1lbnQubG9jYXRpb24uaHJlZik7bj1nLmZwKG4pWzFdfHxudWxsO3JldHVybiBuIT09bnVsbCYmbj09PSJodHRwcyJ9OwpnLkJWPWZ1bmN0aW9uKG4pe249Q3cobik7cmV0dXJuIG49PT1udWxsPyExOm5bMF09PT0iY29tIiYmblsxXS5tYXRjaCgvXnlvdXR1YmUoPzpraWRzfC1ub2Nvb2tpZSk/JC8pPyEwOiExfTsKZy5GJD1mdW5jdGlvbihuKXtuPUN3KG4pO3JldHVybiBuPT09bnVsbD8hMTpuWzFdPT09Imdvb2dsZSI/ITA6blsyXT09PSJnb29nbGUiP25bMF09PT0iYXUiJiZuWzFdPT09ImNvbSI/ITA6blswXT09PSJ1ayImJm5bMV09PT0iY28iPyEwOiExOiExfTsKQ3c9ZnVuY3Rpb24obil7bj1nLklQKG4pO3JldHVybiBuIT09bnVsbD9uLnNwbGl0KCIuIikucmV2ZXJzZSgpOm51bGx9OwpVdD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmbi5tYXRjaChkeGkpP246RzUobil9OwpnLk1OPWZ1bmN0aW9uKG4pe2E6e2xldCBEO3RyeXtEPW4uTi50b3AubG9jYXRpb24uaHJlZn1jYXRjaChiKXtuPTI7YnJlYWsgYX1uPUQ/RD09PW4uSi5sb2NhdGlvbi5ocmVmPzA6MToyfW49e2R0OnpDdyxmbGFzaDoiMCIsZnJtOm59O3RyeXtuLnVfdHo9LShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt0cnl7dmFyIFc9Zy53Mi5oaXN0b3J5Lmxlbmd0aH1jYXRjaChEKXtXPTB9bi51X2hpcz1XO24udV9oPWcudzIuc2NyZWVuPy5oZWlnaHQ7bi51X3c9Zy53Mi5zY3JlZW4/LndpZHRoO24udV9haD1nLncyLnNjcmVlbj8uYXZhaWxIZWlnaHQ7bi51X2F3PWcudzIuc2NyZWVuPy5hdmFpbFdpZHRoO24udV9jZD1nLncyLnNjcmVlbj8uY29sb3JEZXB0aH1jYXRjaChEKXt9cmV0dXJuIG59OwpnLlFGPWZ1bmN0aW9uKG49SnIoKSl7dmFyIFc9Zy5SRSxEPU9iamVjdCxiPUQuYXNzaWduLHY9Zy5NTihXKTt2YXIgaz1XLk47dHJ5e3ZhciBoPWsuc2NyZWVuWDt2YXIgeD1rLnNjcmVlbll9Y2F0Y2goVCl7fXRyeXt2YXIgTD1rLm91dGVyV2lkdGg7dmFyIGU9ay5vdXRlckhlaWdodH1jYXRjaChUKXt9dHJ5e3ZhciBHPWsuaW5uZXJXaWR0aDt2YXIgcj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIE49ay5zY3JlZW5MZWZ0O3ZhciBIPWsuc2NyZWVuVG9wfWNhdGNoKFQpe310cnl7Rz1rLmlubmVyV2lkdGgscj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIEE9ay5zY3JlZW4uYXZhaWxXaWR0aDt2YXIgeT1rLnNjcmVlbi5hdmFpbFRvcH1jYXRjaChUKXt9az1bTixILGgseCxBLHksTCxlLEcscl07aD1nLnNJKCExLFcuTi50b3ApO3g9bmV3IGxYcjsiU1ZHRWxlbWVudCJpbiBnLnFpJiYiY3JlYXRlRWxlbWVudE5TImluIGcucWkuZG9jdW1lbnQmJnguc2V0KDApOwpMPVRUcigpO0xbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZ4LnNldCgxKTtMWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmeC5zZXQoMik7Zy5xaS5jcnlwdG8mJmcucWkuY3J5cHRvLnN1YnRsZSYmeC5zZXQoMyk7IlRleHREZWNvZGVyImluIGcucWkmJiJUZXh0RW5jb2RlciJpbiBnLnFpJiZ4LnNldCg0KTtXPXtiYzpOV2goeCksYmloOmguaGVpZ2h0LGJpdzpoLndpZHRoLGJyZGltOmsuam9pbigpLHZpczpnLk53KFcuSiksd2dsOiEhZy53Mi5XZWJHTFJlbmRlcmluZ0NvbnRleHR9O0Q9Yi5jYWxsKEQsdixXKTtELmNhX3R5cGU9ImltYWdlIjtuJiYoRC5iaWQ9bik7cmV0dXJuIER9OwpUVzI9ZnVuY3Rpb24oKXtpZighVkYpcmV0dXJuIG51bGw7dmFyIG49VkYoKTtyZXR1cm4ib3BlbiJpbiBuP246bnVsbH07CmFFPWZ1bmN0aW9uKG4pe3N3aXRjaChjVihuKSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDM6Y2FzZSAyMDQ6Y2FzZSAyMDU6Y2FzZSAyMDY6Y2FzZSAzMDQ6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19OwpjVj1mdW5jdGlvbihuKXtyZXR1cm4gbiYmInN0YXR1cyJpbiBuP24uc3RhdHVzOi0xfTsKZy5uJD1mdW5jdGlvbihuLFcpe3R5cGVvZiBuPT09ImZ1bmN0aW9uIiYmKG49UFYobikpO3JldHVybiB3aW5kb3cuc2V0VGltZW91dChuLFcpfTsKVzA9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09PSJmdW5jdGlvbiImJihuPVBWKG4pKTtyZXR1cm4gd2luZG93LnNldEludGVydmFsKG4sVyl9OwpEcj1mdW5jdGlvbihuKXt3aW5kb3cuY2xlYXJJbnRlcnZhbChuKX07CmcubD1mdW5jdGlvbihuLFcpe249YmIobixXKTtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIiYmbj09PSJmYWxzZSI/ITE6ISFufTsKdjA9ZnVuY3Rpb24obixXKXtyZXR1cm4gTnVtYmVyKGJiKG4sVyl8fDApfTsKa1Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5BcigiRVhQRVJJTUVOVFNfVE9LRU4iLCIiKX07CmJiPWZ1bmN0aW9uKG4sVyl7bj1nLkFyKCJFWFBFUklNRU5UX0ZMQUdTIix7fSlbbl07cmV0dXJuIG4hPT12b2lkIDA/bjpXfTsKaHk9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPWcuQXIoIkVYUEVSSU1FTlRTX0ZPUkNFRF9GTEFHUyIse30pO2Zvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhXKSluLnB1c2goe2tleTpELHZhbHVlOlN0cmluZyhXW0RdKX0pO0Q9Zy5BcigiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhEKSliLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZXW2JdPT09dm9pZCAwJiZuLnB1c2goe2tleTpiLHZhbHVlOlN0cmluZyhEW2JdKX0pO3JldHVybiBufTsKeFQ9ZnVuY3Rpb24obixXLEQ9IkdFVCIsYj0iIix2LGssaCx4PSExLEwpe3ZhciBlPVRXMigpO2lmKCFlKXJldHVybiBudWxsO3ZhciBHPSgpPT57KGUmJiJyZWFkeVN0YXRlImluIGU/ZS5yZWFkeVN0YXRlOjApPT09NCYmVyYmUFYoVykoZSl9Owoib25sb2FkZW5kImluIGU/ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixHLCExKTplLm9ucmVhZHlzdGF0ZWNoYW5nZT1HO2cubCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYobj1qMloobikpO2Uub3BlbihELG4sITApO2smJihlLnJlc3BvbnNlVHlwZT1rKTtoJiYoZS53aXRoQ3JlZGVudGlhbHM9ITApO0Q9RD09PSJQT1NUIiYmKHdpbmRvdy5Gb3JtRGF0YT09PXZvaWQgMHx8IShiIGluc3RhbmNlb2YgRm9ybURhdGEpKTtpZih2PUNwTShuLHYpKWZvcihsZXQgciBpbiB2KWUuc2V0UmVxdWVzdEhlYWRlcihyLHZbcl0pLCJjb250ZW50LXR5cGUiPT09ci50b0xvd2VyQ2FzZSgpJiYoRD0hMSk7RCYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTtMJiYib25wcm9ncmVzcyJpbiBlJiYoZS5vbnByb2dyZXNzPSgpPT57TChlLnJlc3BvbnNlVGV4dCl9KTsKaWYoeCYmInNldEF0dHJpYnV0aW9uUmVwb3J0aW5nImluIFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZSl7bj17ZXZlbnRTb3VyY2VFbGlnaWJsZTohMCx0cmlnZ2VyRWxpZ2libGU6ITF9O3RyeXtlLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKG4pfWNhdGNoKHIpe1pFKHIpfX1lLnNlbmQoYik7cmV0dXJuIGV9OwpDcE09ZnVuY3Rpb24obixXPXt9KXt2YXIgRD1nLlRkKG4pLGI9Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIiksdj1nLmwoIndlYl9hamF4X2lnbm9yZV9nbG9iYWxfaGVhZGVyc19pZl9zZXQiKTtmb3IobGV0IHggaW4gTCQpe2xldCBMPWcuQXIoTCRbeF0pLGU9eD09PSJYLUdvb2ctQXV0aFVzZXIifHx4PT09IlgtR29vZy1QYWdlSWQiO3ghPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxMfHwoTD1nLkFyKCJWSVNJVE9SX0RBVEEiKSk7dmFyIGs7aWYoIShrPSFMKSl7aWYoIShrPUR8fChnLklQKG4pPyExOiEwKSkpe2s9bjt2YXIgaDtpZihoPWcubCgiYWRkX2F1dGhfaGVhZGVyc190b19yZW1hcmtldGluZ19nb29nbGVfZG90X2NvbV9waW5nIikmJng9PT0iQXV0aG9yaXphdGlvbiImJihiPT09IlRWSFRNTDUifHxiPT09IlRWSFRNTDVfVU5QTFVHR0VEInx8Yj09PSJUVkhUTUw1X1NJTVBMWSIpJiZnLkYkKGspKWs9UzEoayl8fCIiLGs9ay5zcGxpdCgiLyIpLGs9Ii8iKyhrLmxlbmd0aD4KMT9rWzFdOiIiKSxoPWs9PT0iL3BhZ2VhZCI7az1oPyEwOiExfWs9IWt9a3x8diYmV1t4XSE9PXZvaWQgMHx8Yj09PSJUVkhUTUw1X1VOUExVR0dFRCImJmV8fChXW3hdPUwpfSJYLUdvb2ctRU9NLVZpc2l0b3ItSWQiaW4gVyYmIlgtR29vZy1WaXNpdG9yLUlkImluIFcmJmRlbGV0ZSBXWyJYLUdvb2ctVmlzaXRvci1JZCJdO2lmKER8fCFnLklQKG4pKVdbIlgtWW91VHViZS1VdGMtT2Zmc2V0Il09U3RyaW5nKC0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO2lmKER8fCFnLklQKG4pKXtsZXQgeDt0cnl7eD0obmV3IEludGwuRGF0ZVRpbWVGb3JtYXQpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lfWNhdGNoe314JiYoV1siWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPXgpfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhRCYmZy5JUChuKXx8KFdbIlgtWW91VHViZS1BZC1TaWduYWxzIl09Zy5FdChnLlFGKCkpKTtyZXR1cm4gV307Cmc4PWZ1bmN0aW9uKG4sVyl7Vy5tZXRob2Q9IlBPU1QiO1cucG9zdFBhcmFtc3x8KFcucG9zdFBhcmFtcz17fSk7cmV0dXJuIGcuZWQobixXKX07CkJXaj1mdW5jdGlvbihuLFcpe2lmKHdpbmRvdy5mZXRjaCYmVy5mb3JtYXQhPT0iWE1MIil7dmFyIEQ9e21ldGhvZDpXLm1ldGhvZHx8IkdFVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn07Vy5oZWFkZXJzJiYoRC5oZWFkZXJzPVcuaGVhZGVycyk7Vy5wcmlvcml0eSYmKEQucHJpb3JpdHk9Vy5wcmlvcml0eSk7bj1YbihuLFcpO3ZhciBiPXFYKG4sVyk7YiYmKEQuYm9keT1iKTtXLndpdGhDcmVkZW50aWFscyYmKEQuY3JlZGVudGlhbHM9ImluY2x1ZGUiKTt2YXIgdj1XLmNvbnRleHR8fGcucWksaz0hMSxoO2ZldGNoKG4sRCkudGhlbih4PT57aWYoIWspe2s9ITA7aCYmd2luZG93LmNsZWFyVGltZW91dChoKTt2YXIgTD14Lm9rLGU9Rz0+e0c9R3x8e307TD9XLm9uU3VjY2VzcyYmVy5vblN1Y2Nlc3MuY2FsbCh2LEcseCk6Vy5vbkVycm9yJiZXLm9uRXJyb3IuY2FsbCh2LEcseCk7Vy5vbkZpbmlzaCYmVy5vbkZpbmlzaC5jYWxsKHYsRyx4KX07CihXLmZvcm1hdHx8IkpTT04iKT09PSJKU09OIiYmKEx8fHguc3RhdHVzPj00MDAmJnguc3RhdHVzPDUwMCk/eC5qc29uKCkudGhlbihlLCgpPT57ZShudWxsKX0pOmUobnVsbCl9fSkuY2F0Y2goKCk9PntXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKHYse30se30pfSk7Cm49Vy50aW1lb3V0fHwwO1cub25GZXRjaFRpbWVvdXQmJm4+MCYmKGg9Zy5uJCgoKT0+e2t8fChrPSEwLHdpbmRvdy5jbGVhclRpbWVvdXQoaCksVy5vbkZldGNoVGltZW91dC5jYWxsKFcuY29udGV4dHx8Zy5xaSkpfSxuKSl9ZWxzZSBnLmVkKG4sVyl9OwpnLmVkPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5mb3JtYXR8fCJKU09OIjtuPVhuKG4sVyk7dmFyIGI9cVgobixXKSx2PSExLGs9RngxKG4seD0+e2lmKCF2KXt2PSEwO2gmJndpbmRvdy5jbGVhclRpbWVvdXQoaCk7dmFyIEw9YUUoeCksZT1udWxsLEc9NDAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NTAwLHI9NTAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NjAwO2lmKEx8fEd8fHIpZT13MjIobixELHgsVy5jb252ZXJ0VG9TYWZlSHRtbCk7TCYmKEw9TXVDKEQseCxlKSk7ZT1lfHx7fTtHPVcuY29udGV4dHx8Zy5xaTtMP1cub25TdWNjZXNzJiZXLm9uU3VjY2Vzcy5jYWxsKEcseCxlKTpXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKEcseCxlKTtXLm9uRmluaXNoJiZXLm9uRmluaXNoLmNhbGwoRyx4LGUpfX0sVy5tZXRob2QsYixXLmhlYWRlcnMsVy5yZXNwb25zZVR5cGUsVy53aXRoQ3JlZGVudGlhbHMsITEsVy5vblByb2dyZXNzKTsKYj1XLnRpbWVvdXR8fDA7aWYoVy5vblRpbWVvdXQmJmI+MCl7bGV0IHg9Vy5vblRpbWVvdXQ7dmFyIGg9Zy5uJCgoKT0+e3Z8fCh2PSEwLGsuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLHguY2FsbChXLmNvbnRleHR8fGcucWksaykpfSxiKX1yZXR1cm4ga307ClhuPWZ1bmN0aW9uKG4sVyl7Vy5pbmNsdWRlRG9tYWluJiYobj1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKyhkb2N1bWVudC5sb2NhdGlvbi5wb3J0PyI6Iitkb2N1bWVudC5sb2NhdGlvbi5wb3J0OiIiKStuKTt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKTtpZihXPVcudXJsUGFyYW1zKVdbRF0mJmRlbGV0ZSBXW0RdLG49Zy56ZChuLFcpO3JldHVybiBufTsKcVg9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKSxiPWcuQXIoIlhTUkZfVE9LRU4iKSx2PVcucG9zdEJvZHl8fCIiLGs9Vy5wb3N0UGFyYW1zLGg9Zy5BcigiWFNSRl9GSUVMRF9OQU1FIikseDtXLmhlYWRlcnMmJih4PVcuaGVhZGVyc1siQ29udGVudC1UeXBlIl0pO1cuZXhjbHVkZVhzcmZ8fGcuSVAobikmJiFXLndpdGhDcmVkZW50aWFscyYmZy5JUChuKSE9PWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfHxXLm1ldGhvZCE9PSJQT1NUInx8eCYmeCE9PSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifHxXLnBvc3RQYXJhbXMmJlcucG9zdFBhcmFtc1toXXx8KGt8fChrPXt9KSxrW0RdPWIpO2smJnR5cGVvZiB2PT09InN0cmluZyImJih2PWcuaXcodiksZy5ZeSh2LGspLHY9Vy5wb3N0Qm9keUZvcm1hdCYmVy5wb3N0Qm9keUZvcm1hdD09PSJKU09OIj9KU09OLnN0cmluZ2lmeSh2KTp5Ryh2KSk7az12fHxrJiYhZy5HRihrKTshR1EmJgprJiZXLm1ldGhvZCE9PSJQT1NUIiYmKEdRPSEwLE90KEVycm9yKCJBSkFYIHJlcXVlc3Qgd2l0aCBwb3N0RGF0YSBzaG91bGQgdXNlIFBPU1QiKSkpO3JldHVybiB2fTsKdzIyPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW51bGw7c3dpdGNoKFcpe2Nhc2UgIkpTT04iOmxldCBrO3RyeXtrPUQucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGI9RXJyb3IoIkVycm9yIHJlYWRpbmcgcmVzcG9uc2VUZXh0IiksYi5wYXJhbXM9bixaRShiKSxoO31uPUQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpfHwiIjtpZihrJiZuLmluZGV4T2YoImpzb24iKT49MCl7ay5zdWJzdHJpbmcoMCw1KT09PSIpXX0nXG4iJiYoaz1rLnN1YnN0cmluZyg1KSk7dHJ5e3Y9SlNPTi5wYXJzZShrKX1jYXRjaChoKXt9fWJyZWFrO2Nhc2UgIlhNTCI6aWYobj0obj1ELnJlc3BvbnNlWE1MKT9SQ1Uobik6bnVsbCl2PXt9LGcueTIobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGg9Pnt2W2gudGFnTmFtZV09UTJpKGgpfSl9YiYmdHkodik7CnJldHVybiB2fTsKdHk9ZnVuY3Rpb24obil7aWYoZy5mdChuKSlmb3IobGV0IFcgaW4gbilXPT09Imh0bWxfY29udGVudCJ8fGcuQlooVywiX2h0bWwiKT9uW1ddPWcuSE0obltXXSk6dHkobltXXSl9OwpNdUM9ZnVuY3Rpb24obixXLEQpe2lmKFcmJlcuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChuKXtjYXNlICJKU09OIjpyZXR1cm4hIUQ7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKEQmJkQucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFEfX07ClJDVT1mdW5jdGlvbihuKXtyZXR1cm4gbj8obj0oInJlc3BvbnNlWE1MImluIG4/bi5yZXNwb25zZVhNTDpuKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicm9vdCIpKSYmbi5sZW5ndGg+MD9uWzBdOm51bGw6bnVsbH07ClEyaT1mdW5jdGlvbihuKXt2YXIgVz0iIjtnLnkyKG4uY2hpbGROb2RlcyxEPT57Vys9RC5ub2RlVmFsdWV9KTsKcmV0dXJuIFd9OwpqMlo9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxEPWcuSVAobik7Zy5sKCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IUQmJmcuVGQobikmJihEPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgYj1TMShuKTtiPShEPUQmJihELmVuZHNXaXRoKCJ5b3V0dWJlLmNvbSIpfHxELmVuZHNXaXRoKCJ5b3V0dWJlLW5vY29va2llLmNvbSIpKSkmJmImJmIuc3RhcnRzV2l0aCgiL2FwaS8iKTtpZighRHx8YilyZXR1cm4gbjt2YXIgdj1nLml3KFcpLGs9e307Zy55MihWdWIsaD0+e3ZbaF0mJihrW2hdPXZbaF0pfSk7CnJldHVybiBnLmx3KG4sayl9OwpnLnI4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5zMChXKSxiO3JldHVybihuZXcgZy5YMSgodixrKT0+e0Qub25TdWNjZXNzPWg9PnthRShoKT92KG5ldyBjNFUoaCkpOmsobmV3IGcuJFQoYFJlcXVlc3QgZmFpbGVkLCBzdGF0dXM9JHtjVihoKX1gLCJuZXQuYmFkc3RhdHVzIixoKSl9OwpELm9uRXJyb3I9aD0+e2sobmV3IGcuJFQoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIixoKSl9OwpELm9uVGltZW91dD1oPT57ayhuZXcgZy4kVCgiUmVxdWVzdCB0aW1lZCBvdXQiLCJuZXQudGltZW91dCIsaCkpfTsKYj1nLmVkKG4sRCl9KSkuc1Aodj0+e3YgaW5zdGFuY2VvZiBnLkk1JiZiPy5hYm9ydCgpOwpyZXR1cm4gZy5ycCh2KX0pfTsKZy5zej1mdW5jdGlvbihuLFcsRCxiLHY9LTEsayl7dmFyIGg9TD0+bmV3IGcuWDEoZT0+e3NldFRpbWVvdXQoZSxMKX0pLHg9KEwsZSxHKT0+TC5zUChyPT57aWYoZTw9MHx8Y1Yoci54aHIpPT09NDAzKXJldHVybiBnLnJwKG5ldyBnLiRUKCJSZXF1ZXN0IHJldHJpZWQgdG9vIG1hbnkgdGltZXMiLCJuZXQucmV0cnlleGhhdXN0ZWQiLHIueGhyKSk7CnZhciBOPU1hdGgucG93KDIsRC1lKzEpKkcsSD12PjA/TWF0aC5taW4odixOKTpOO3JldHVybiBoKEcpLnRoZW4oKCk9PntrJiZrKHIsZS0xKTtyZXR1cm4geChnLnI4KG4sVyksZS0xLEgpfSl9KTsKcmV0dXJuIHgoZy5yOChuLFcpLEQtMSxiKX07CmFYQz1mdW5jdGlvbihuLFc9bnVsbCl7bi5XPTI7bi5KPVd9OwpuVXc9ZnVuY3Rpb24obixXPW51bGwpe24uVz0xO24uSj1XfTsKZy5wJD1mdW5jdGlvbihuPW51bGwpe3ZhciBXPW5ldyBOWDthWEMoVyxuKTtyZXR1cm4gV307CmcuSDA9ZnVuY3Rpb24obj1udWxsKXt2YXIgVz1uZXcgTlg7blV3KFcsbik7cmV0dXJuIFd9OwpJSz1mdW5jdGlvbihuLFcsRCxiPSJ5b3V0dWJlLmNvbSIsdj0hMSl7ZiR8fEp5LnNldCgiIituLFcse256OkQscGF0aDoiLyIsZG9tYWluOmIsc2VjdXJlOnZ9KX07CmcuU2Q9ZnVuY3Rpb24obil7aWYoIWYkKXJldHVybiBKeS5nZXQoIiIrbix2b2lkIDApfTsKQXk9ZnVuY3Rpb24obixXPSIvIixEPSJ5b3V0dWJlLmNvbSIpe2YkfHxKeS5yZW1vdmUoIiIrbixXLEQpfTsKZy5taj1mdW5jdGlvbigpe2lmKCFKeS5pc0VuYWJsZWQoKSlyZXR1cm4hMTtpZighSnkuaXNFbXB0eSgpKXJldHVybiEwO0p5LnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse256OjYwfSk7aWYoSnkuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTtKeS5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKZy53PWZ1bmN0aW9uKG4sVyl7aWYobilyZXR1cm4gbltXLm5hbWVdfTsKSyQ9ZnVuY3Rpb24obil7dmFyIFc9Zy5BcigiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiKTtXJiYobj1TdHJpbmcoVykrU3RyaW5nKG1XKG4pKSk7cmV0dXJuIG59OwpnWj1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47dmFyIGs7KG4tNSYxMyk9PTEmJihrPURbSVsxN11dP0RbSVsxN11dW0lbMzVdXShJWzYzXSk6RFtJWzI2XV09PT1JWzYzXSk7aWYoKG4+PjEmNyk9PTEpe3ZhciBoPVAwKHZeNjQ0MCx2XjEzODcsRCk7YltJW3ZeNjQyNF1dKElbdl42NDM3XSxoKTtrPVtdfShuJjEzKT09biYmYltJWzVdXSE9MCYmKGg9b1MoNCw3NjI0LEQsYiksRD1oWzBdKTtyZXR1cm4ga307ClpyPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2cubCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKFcucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIG49Zy5sdyhuLFcpfTsKVXo9ZnVuY3Rpb24obixXPSJQT1NUIil7bj17bWV0aG9kOlcsbW9kZTpnLlRkKG4pPyJzYW1lLW9yaWdpbiI6ImNvcnMiLGNyZWRlbnRpYWxzOmcuVGQobik/InNhbWUtb3JpZ2luIjoiaW5jbHVkZSJ9O1c9e307dmFyIEQ9e307Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKFcpKVdbYl0mJihEW2JdPVdbYl0pO09iamVjdC5rZXlzKEQpLmxlbmd0aD4wJiYobi5oZWFkZXJzPUQpO3JldHVybiBufTsKeUg9ZnVuY3Rpb24obixXPXt9KXtyZXR1cm5gc2VydmljZToke259LyR7T2JqZWN0LmtleXMoVykuc29ydCgpLm1hcChEPT5EKyI6IitXW0RdKS5qb2luKCIvIil9YH07CkV6PWZ1bmN0aW9uKCl7dmFyIG49L0Nocm9tZVwvKFxkKykvLmV4ZWMoZy5YUSgpKTtyZXR1cm4gbj9wYXJzZUZsb2F0KG5bMV0pOk5hTn07CmliPWZ1bmN0aW9uKCl7dmFyIG49L1xzQ29iYWx0XC8oXFMrKVxzLy5leGVjKGcuWFEoKSk7aWYoIW4pcmV0dXJuIE5hTjt2YXIgVz1bXTtmb3IobGV0IEQgb2YgblsxXS5zcGxpdCgiLiIpKW49cGFyc2VJbnQoRCwxMCksbj49MCYmVy5wdXNoKG4pO3JldHVybiBwYXJzZUZsb2F0KFcuam9pbigiLiIpKX07Cm9LPWZ1bmN0aW9uKCl7cmV0dXJuIGcudWIoImFuZHJvaWQiKSYmZy51YigiY2hyb21lIikmJiEoZy51YigidHJpZGVudC8iKXx8Zy51YigiZWRnZS8iKSkmJiFnLnViKCJjb2JhbHQiKX07CmcuZDg9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiY29iYWx0Iil9Owp6UT1mdW5jdGlvbigpe3JldHVybiBnLnViKCJjb2JhbHQiKSYmZy51YigiYXBwbGV0diIpfTsKbGI9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiKHBzMzsgbGVhbmJhY2sgc2hlbGwpIil8fGcudWIoInBzMyIpJiZnLmQ4KCl9OwpUUT1mdW5jdGlvbigpe3JldHVybiBnLnViKCIocHM0OyBsZWFuYmFjayBzaGVsbCkiKXx8Zy51YigicHM0IikmJmcuZDgoKX07CmcuamQ9ZnVuY3Rpb24oKXtyZXR1cm4gZy5kOCgpJiYoZy51YigicHM0IHZyIil8fGcudWIoInBzNCBwcm8gdnIiKSl9OwpDJD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMCl9OwpCMD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMil9OwpGbj1mdW5jdGlvbigpe3JldHVybiBnLnViKCJpZW1vYmlsZSIpfHxnLnViKCJ3aW5kb3dzIHBob25lIikmJmcudWIoImVkZ2UiKX07ClJLPWZ1bmN0aW9uKCl7cmV0dXJuKHc4fHxNWCkmJmcudWIoImFwcGxld2Via2l0IikmJiFnLnViKCJ2ZXJzaW9uIikmJighZy51Yigic2FmYXJpIil8fGcudWIoImdzYS8iKSl9OwpWSD1mdW5jdGlvbigpe3JldHVybiBnLlFIJiZnLnViKCJ2ZXJzaW9uLyIpfTsKYzA9ZnVuY3Rpb24oKXtyZXR1cm4gZy51Yigic21hcnQtdHYiKSYmZy51Yigic2Ftc3VuZyIpfTsKZy51Yj1mdW5jdGlvbihuKXt2YXIgVz1nLlhRKCk7cmV0dXJuIFc/Vy50b0xvd2VyQ2FzZSgpLmluZGV4T2Yobik+PTA6ITF9OwpnLmFLPWZ1bmN0aW9uKCl7cmV0dXJuIGo2KCl8fFJLKCl8fFZIKCk/ITA6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpPyExOiEwfTsKbnk9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz09PXZvaWQgMHx8Vz09PW51bGw/bjpXPT09IjEifHxXPT09ITB8fFc9PT0xfHxXPT09IlRydWUiPyEwOiExfTsKV0I9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBEKWlmKERbYl09PVcpcmV0dXJuIERbYl07cmV0dXJuIG59OwpEST1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwfHxXPT09bnVsbD9uOk51bWJlcihXKX07CmJPPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc9PT12b2lkIDB8fFc9PT1udWxsP246Vy50b1N0cmluZygpfTsKdkI9ZnVuY3Rpb24obixXKXtpZihXKXtpZihuPT09ImZ1bGx3aWR0aCIpcmV0dXJuIEluZmluaXR5O2lmKG49PT0iZnVsbGhlaWdodCIpcmV0dXJuIDB9cmV0dXJuIG4mJihXPW4ubWF0Y2goVzAxKSkmJihuPU51bWJlcihXWzJdKSxXPU51bWJlcihXWzFdKSwhaXNOYU4obikmJiFpc05hTihXKSYmbj4wKT9XL246TmFOfTsKa1I9ZnVuY3Rpb24obil7dmFyIFc9bi5kb2NpZHx8bi52aWRlb19pZHx8bi52aWRlb0lkfHxuLmlkO2lmKFcpcmV0dXJuIFc7Vz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7V3x8KG49bi5wbGF5ZXJfcmVzcG9uc2UpJiYoVz1KU09OLnBhcnNlKG4pKTtyZXR1cm4gVyYmVy52aWRlb0RldGFpbHMmJlcudmlkZW9EZXRhaWxzLnZpZGVvSWR8fG51bGx9OwpnLnhSPWZ1bmN0aW9uKG4pe3JldHVybiBoTyhuLCExKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwifTsKTHk9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9GSVhFRF9QTEFZQkFDS19MSU1JVCJ8fG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIj8hMDohMX07CmhPPWZ1bmN0aW9uKG4sVz0hMSl7Vz1XPyJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIjoiRU1CRURERURfUExBWUVSX01PREVfVU5LTk9XTiI7d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluY2x1ZGVzKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpJiYoVz0iRU1CRURERURfUExBWUVSX01PREVfUEZMIik7dmFyIEQ9bi5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFEJiYobj1uLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSkpdHJ5e0Q9SlNPTi5wYXJzZShuKX1jYXRjaChiKXtyZXR1cm4gV31yZXR1cm4gRD9XQihXLEQuZW1iZWRkZWRQbGF5ZXJNb2RlLEQzMSk6V307CmI1dD1mdW5jdGlvbihuKXtuJiYobi5kYXRhc2V0P24uZGF0YXNldFtlXygpXT0idHJ1ZSI6cXd0KG4pKX07CmdKPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGF0YXNldD9uLmRhdGFzZXRbZV8oKV06bi5nZXRBdHRyaWJ1dGUoImRhdGEtbG9hZGVkIik6bnVsbH07CmVfPWZ1bmN0aW9uKCl7cmV0dXJuIFhrLmxvYWRlZHx8KFhrLmxvYWRlZD0ibG9hZGVkIi5yZXBsYWNlKC9cLShbYS16XSkvZywobixXKT0+Vy50b1VwcGVyQ2FzZSgpKSl9OwpHMT1mdW5jdGlvbigpe3ZhciBuPWRvY3VtZW50O2lmKCJ2aXNpYmlsaXR5U3RhdGUiaW4gbilyZXR1cm4gbi52aXNpYmlsaXR5U3RhdGU7dmFyIFc9cTArIlZpc2liaWxpdHlTdGF0ZSI7aWYoVyBpbiBuKXJldHVybiBuW1ddfTsKdE89ZnVuY3Rpb24obixXKXt2YXIgRDtnLm9NKG4sYj0+e0Q9V1tiXTtyZXR1cm4hIUR9KTsKcmV0dXJuIER9OwokUj1mdW5jdGlvbihuKXtpZihuLnJlcXVlc3RGdWxsc2NyZWVuKW49bi5yZXF1ZXN0RnVsbHNjcmVlbih2b2lkIDApO2Vsc2UgaWYobi53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiluPW4ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ubW96UmVxdWVzdEZ1bGxTY3JlZW4pbj1uLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihuLm1zUmVxdWVzdEZ1bGxzY3JlZW4pbj1uLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ud2Via2l0RW50ZXJGdWxsc2NyZWVuKW49bi53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiRnVsbHNjcmVlbiBBUEkgdW5hdmFpbGFibGUiKSk7cmV0dXJuIG4gaW5zdGFuY2VvZiBQcm9taXNlP246UHJvbWlzZS5yZXNvbHZlKCl9OwpOMD1mdW5jdGlvbihuKXt2YXIgVztnLnJKKCk/c1AoKT09biYmKFc9ZG9jdW1lbnQpOlc9bjtyZXR1cm4gVyYmKG49dE8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxXKSk/KFc9bi5jYWxsKFcpLFcgaW5zdGFuY2VvZiBQcm9taXNlP1c6UHJvbWlzZS5yZXNvbHZlKCkpOlByb21pc2UucmVzb2x2ZSgpfTsKdlUxPWZ1bmN0aW9uKG4pe3JldHVybiBnLmxfKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sVz0+YG9uJHtXLnRvTG93ZXJDYXNlKCl9YGluIG4pfTsKZy5ySj1mdW5jdGlvbigpe3JldHVybiEhdE8oWyJmdWxsc2NyZWVuRW5hYmxlZCIsIndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIiwibW96RnVsbFNjcmVlbkVuYWJsZWQiLCJtc0Z1bGxzY3JlZW5FbmFibGVkIl0sZG9jdW1lbnQpfTsKc1A9ZnVuY3Rpb24obj0hMSl7dmFyIFc9dE8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO2lmKG4pZm9yKDtXJiZXLnNoYWRvd1Jvb3Q7KVc9Vy5zaGFkb3dSb290LmZ1bGxzY3JlZW5FbGVtZW50O3JldHVybiBXP1c6bnVsbH07CnB5PWZ1bmN0aW9uKG4pe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IFc9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtuLk49bi5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO24uSj1uLmNsaWVudFkrV319OwprOWk9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5hZGRFdmVudExpc3RlbmVyJiYoVyE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P1chPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9XPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoVz0iTW96TW91c2VQaXhlbFNjcm9sbCIpOlc9Im1vdXNlb3V0IjpXPSJtb3VzZW92ZXIiKTtyZXR1cm4gZy5YTChnLllSLHY9Pnt2YXIgaz10eXBlb2Ygdls0XT09PSJib29sZWFuIiYmdls0XT09ISFiLGg9Zy5mdCh2WzRdKSYmZy5mdChiKSYmZy5ybSh2WzRdLGIpO3JldHVybiEhdi5sZW5ndGgmJnZbMF09PW4mJnZbMV09PVcmJnZbMl09PUQmJihrfHxoKX0pfTsKZy5JOT1mdW5jdGlvbihuLFcsRCxiPXt9KXtpZighbnx8IW4uYWRkRXZlbnRMaXN0ZW5lciYmIW4uYXR0YWNoRXZlbnQpcmV0dXJuIiI7dmFyIHY9azlpKG4sVyxELGIpO2lmKHYpcmV0dXJuIHY7dj0rK0hCLmNvdW50KyIiO3ZhciBrPSEoVyE9Im1vdXNlZW50ZXIiJiZXIT0ibW91c2VsZWF2ZSJ8fCFuLmFkZEV2ZW50TGlzdGVuZXJ8fCJvbm1vdXNlZW50ZXIiaW4gZG9jdW1lbnQpO3ZhciBoPWs/eD0+e3g9bmV3IGZ5KHgpO2lmKCFnLlJoKHgucmVsYXRlZFRhcmdldCxMPT5MPT1uLCEwKSlyZXR1cm4geC5jdXJyZW50VGFyZ2V0PW4seC50eXBlPVcsRC5jYWxsKG4seCl9Ong9Pnt4PW5ldyBmeSh4KTsKeC5jdXJyZW50VGFyZ2V0PW47cmV0dXJuIEQuY2FsbChuLHgpfTsKaD1QVihoKTtuLmFkZEV2ZW50TGlzdGVuZXI/KFc9PSJtb3VzZWVudGVyIiYmaz9XPSJtb3VzZW92ZXIiOlc9PSJtb3VzZWxlYXZlIiYmaz9XPSJtb3VzZW91dCI6Vz09Im1vdXNld2hlZWwiJiYiTW96Qm94U2l6aW5nImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmKFc9Ik1vek1vdXNlUGl4ZWxTY3JvbGwiKSxKTygpfHx0eXBlb2YgYj09PSJib29sZWFuIj9uLmFkZEV2ZW50TGlzdGVuZXIoVyxoLGIpOm4uYWRkRXZlbnRMaXN0ZW5lcihXLGgsISFiLmNhcHR1cmUpKTpuLmF0dGFjaEV2ZW50KGBvbiR7V31gLGgpO2cuWVJbdl09W24sVyxELGgsYl07cmV0dXJuIHZ9OwpnLlNfPWZ1bmN0aW9uKG4pe24mJih0eXBlb2Ygbj09InN0cmluZyImJihuPVtuXSksZy55MihuLFc9PntpZihXIGluIGcuWVIpe3ZhciBEPWcuWVJbV107bGV0IGI9RFswXSx2PURbMV0saz1EWzNdO0Q9RFs0XTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Sk8oKXx8dHlwZW9mIEQ9PT0iYm9vbGVhbiI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKHYsayxEKTpiLnJlbW92ZUV2ZW50TGlzdGVuZXIodixrLCEhRC5jYXB0dXJlKTpiLmRldGFjaEV2ZW50JiZiLmRldGFjaEV2ZW50KGBvbiR7dn1gLGspO2RlbGV0ZSBnLllSW1ddfX0pKX07CkFPPWZ1bmN0aW9uKG4pe249bnx8d2luZG93LmV2ZW50O3ZhciBXO24uY29tcG9zZWRQYXRoJiZ0eXBlb2Ygbi5jb21wb3NlZFBhdGg9PT0iZnVuY3Rpb24iP1c9bi5jb21wb3NlZFBhdGgoKTpXPW4ucGF0aDtXJiZXLmxlbmd0aD9uPVdbMF06KG49bnx8d2luZG93LmV2ZW50LG49bi50YXJnZXR8fG4uc3JjRWxlbWVudCxuLm5vZGVUeXBlPT0zJiYobj1uLnBhcmVudE5vZGUpKTtyZXR1cm4gbn07Cm1ZPWZ1bmN0aW9uKG4pe3RoaXMuSz1uO3RoaXMuTj1udWxsO3RoaXMuWD0wO3RoaXMuVj1udWxsO3RoaXMuaj0wO3RoaXMuSj1bXTtmb3Iobj0wO248NDtuKyspdGhpcy5KLnB1c2goMCk7dGhpcy5XPTA7dGhpcy5jSj1nLkk5KHdpbmRvdywibW91c2Vtb3ZlIiwoMCxnLkt0KSh0aGlzLkQsdGhpcykpO3RoaXMuWT1XMCgoMCxnLkt0KSh0aGlzLk8sdGhpcyksMjUpfTsKS3k9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxELmxlbmd0aDt2Kyspbi5OTihXLERbdl0sYil9OwpnLlBCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1EJiZEPjA/RDowO0Q9Yj9EYXRlLm5vdygpK2IqMUUzOjA7aWYoKGI9Yj9PUC5CcCgpOk9QLnFiKCkpJiZ3aW5kb3cuSlNPTil7dHlwZW9mIFchPT0ic3RyaW5nIiYmKFc9SlNPTi5zdHJpbmdpZnkoVyx2b2lkIDApKTt0cnl7Yi5zZXQobixXLEQpfWNhdGNoKHYpe2IucmVtb3ZlKG4pfX19OwpnLlpJPWZ1bmN0aW9uKG4pe3ZhciBXPU9QLnFiKCksRD1PUC5CcCgpO2lmKCFXJiYhRHx8IXdpbmRvdy5KU09OKXJldHVybiBudWxsO3RyeXt2YXIgYj1XLmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIil0cnl7Yj1ELmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIilyZXR1cm4gbnVsbDt0cnl7Yj1KU09OLnBhcnNlKGIsdm9pZCAwKX1jYXRjaCh2KXt9cmV0dXJuIGJ9OwpVUD1mdW5jdGlvbigpe3ZhciBuPU9QLkJwKCk7aWYobiYmKG49bi5NRCgieXQtcGxheWVyLXF1YWxpdHkiKSkpcmV0dXJuIG4uY3JlYXRpb259Owp5eD1mdW5jdGlvbigpe2lmKCFnLnFpLm1hdGNoTWVkaWEpcmV0dXJuIldFQl9ESVNQTEFZX01PREVfVU5LTk9XTiI7dHJ5e3JldHVybiBnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChuKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwppTz1mdW5jdGlvbigpe0VQLmluc3RhbmNlfHwoRVAuaW5zdGFuY2U9bmV3IEVQKTtyZXR1cm4gRVAuaW5zdGFuY2V9OwpocWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFU0tUT1AiOnJldHVybiAxO2Nhc2UgIlVOS05PV05fUExBVEZPUk0iOnJldHVybiAwO2Nhc2UgIlRWIjpyZXR1cm4gMjtjYXNlICJHQU1FX0NPTlNPTEUiOnJldHVybiAzO2Nhc2UgIk1PQklMRSI6cmV0dXJuIDQ7Y2FzZSAiVEFCTEVUIjpyZXR1cm4gNX19OwpnLm85PWZ1bmN0aW9uKCl7dU98fCh1Tz1uZXcgeDNiKTtyZXR1cm4gdU99OwpkSj1mdW5jdGlvbihuKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1hdGNoOiAke259YCk7fTsKejE9ZnVuY3Rpb24obil7aWYoIS9eXHcrJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1pc21hdGNoOiAke259YCk7fTsKVDE9ZnVuY3Rpb24obil7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChuKT9wYXJzZUludChuLDE2KTpudWxsfTsKal89ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbj9uLmNvbm5lY3Rpb246dm9pZCAwfTsKQkI9ZnVuY3Rpb24oKXt2YXIgbj1qXygpO2lmKG4pe3ZhciBXPUN5W24udHlwZXx8InVua25vd24iXXx8IkNPTk5fVU5LTk9XTiI7bj1DeVtuLmVmZmVjdGl2ZVR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO1c9PT0iQ09OTl9DRUxMVUxBUl9VTktOT1dOIiYmbiE9PSJDT05OX1VOS05PV04iJiYoVz1uKTtpZihXIT09IkNPTk5fVU5LTk9XTiIpcmV0dXJuIFc7aWYobiE9PSJDT05OX1VOS05PV04iKXJldHVybiBufX07CndKPWZ1bmN0aW9uKCl7dmFyIG49al8oKTtpZihuPy5lZmZlY3RpdmVUeXBlKXJldHVybiBGay5oYXNPd25Qcm9wZXJ0eShuLmVmZmVjdGl2ZVR5cGUpP0ZrW24uZWZmZWN0aXZlVHlwZV06IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfVU5LTk9XTiJ9OwpSOT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gTTAoKSwhMH1jYXRjaChuKXtyZXR1cm4hMX19OwpNMD1mdW5jdGlvbigpe2lmKGcuQXIoIkRBVEFTWU5DX0lEIikhPT12b2lkIDApcmV0dXJuIGcuQXIoIkRBVEFTWU5DX0lEIik7dGhyb3cgbmV3IGcuUXgoIkRhdGFzeW5jIElEIG5vdCBzZXQiLCJ1bmtub3duIik7fTsKZy5jQj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGcuVngoMCxXLDAsRCl9OwphOT1mdW5jdGlvbihuKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSW1tZWRpYXRlSm9iIik7Vz9XKG4pOm4oKX07CmcuRHk9ZnVuY3Rpb24oKXtXTi5pbnN0YW5jZXx8KFdOLmluc3RhbmNlPW5ldyBXTik7cmV0dXJuIFdOLmluc3RhbmNlfTsKZy5WeD1mdW5jdGlvbihuLFcsRCxiKXtiIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGIpKSYmKGI9dm9pZCAwKTtyZXR1cm4obj1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIikpP24oVyxELGIpOmI9PT12b2lkIDA/KFcoKSxOYU4pOmcubiQoVyxifHwwKX07CmJRPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpO1cmJlcobil9OwprdT1mdW5jdGlvbigpe3JldHVybiB2TigpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTsKTEY9ZnVuY3Rpb24obil7aGN8fCh4dS5wdXNoKHt0eXBlOiJFUlJPUiIscGF5bG9hZDpufSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmVGPWZ1bmN0aW9uKG4sVyl7aGN8fCh4dS5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOm4scGF5bG9hZDpXfSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmcwPWZ1bmN0aW9uKG4pe2lmKG4uaW5kZXhPZigiOiIpPj0wKXRocm93IEVycm9yKCJEYXRhYmFzZSBuYW1lIGNhbm5vdCBjb250YWluICc6JyIpO307ClhxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnN1YnN0cigwLG4uaW5kZXhPZigiOiIpKXx8bn07CiR1PWZ1bmN0aW9uKG4sVyxELGIpe1c9WHEoVyk7dmFyIHY9biBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYFVuZXhwZWN0ZWQgZXJyb3I6ICR7bn1gKTtpZih2IGluc3RhbmNlb2YgcUwpcmV0dXJuIHY7bj17b2JqZWN0U3RvcmVOYW1lczpELGRiTmFtZTpXLGRiVmVyc2lvbjpifTtpZih2Lm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yIilyZXR1cm4gbmV3IHFMKCJRVU9UQV9FWENFRURFRCIsbik7aWYoZy5HbiYmdi5uYW1lPT09IlVua25vd25FcnJvciIpcmV0dXJuIG5ldyBxTCgiUVVPVEFfTUFZQkVfRVhDRUVERUQiLG4pO2lmKHYgaW5zdGFuY2VvZiB0YylyZXR1cm4gbmV3IHFMKCJNSVNTSU5HX0lOREVYIix7Li4ubixvYmplY3RTdG9yZTp2Lm9iamVjdFN0b3JlLGluZGV4OnYuaW5kZXh9KTtpZih2Lm5hbWU9PT0iSW52YWxpZFN0YXRlRXJyb3IiJiZMMGkuc29tZShrPT52Lm1lc3NhZ2UuaW5jbHVkZXMoaykpKXJldHVybiBuZXcgcUwoIkVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCIiwKbik7CmlmKHYubmFtZT09PSJBYm9ydEVycm9yIilyZXR1cm4gbmV3IHFMKCJVTktOT1dOX0FCT1JUIixuLHYubWVzc2FnZSk7di5hcmdzPVt7Li4ubixuYW1lOiJJZGJFcnJvciIsYTc6di5uYW1lfV07di5sZXZlbD0iV0FSTklORyI7cmV0dXJuIHZ9OwpnLnIwPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1rdSgpO3JldHVybiBuZXcgcUwoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOm4scHVibGljTmFtZTpXLHZlcnNpb246RCxoYXNTdWNjZWVkZWRPbmNlOmI/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9OwplcTE9ZnVuY3Rpb24obil7aWYoIW4pdGhyb3cgRXJyb3IoKTt0aHJvdyBuO307CmdVcj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CnBGPWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IkZVTEZJTExFRCIpdGhyb3cgRXJyb3IoImNhbGxpbmcgaGFuZGxlUmVzb2x2ZSBiZWZvcmUgdGhlIHByb21pc2UgaXMgZnVsZmlsbGVkLiIpO2xldCBrPUQobi5zdGF0ZS52YWx1ZSk7ayBpbnN0YW5jZW9mIHNSP05MKG4sVyxrLGIsdik6YihrKX1jYXRjaChrKXt2KGspfX07Cll1PWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IlJFSkVDVEVEIil0aHJvdyBFcnJvcigiY2FsbGluZyBoYW5kbGVSZWplY3QgYmVmb3JlIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLiIpO2xldCBrPUQobi5zdGF0ZS5yZWFzb24pO2sgaW5zdGFuY2VvZiBzUj9OTChuLFcsayxiLHYpOmIoayl9Y2F0Y2goayl7dihrKX19OwpOTD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9PT1EP3YobmV3IFR5cGVFcnJvcigiQ2lyY3VsYXIgcHJvbWlzZSBjaGFpbiBkZXRlY3RlZC4iKSk6RC50aGVuKGs9PntrIGluc3RhbmNlb2Ygc1I/TkwobixXLGssYix2KTpiKGspfSxrPT57dihrKX0pfTsKSE49ZnVuY3Rpb24obixXLEQpe3ZhciBiPSgpPT57dHJ5e24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsdiksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsayl9Y2F0Y2h7fX0sdj0oKT0+e1cobi5yZXN1bHQpOwpiKCl9LGs9KCk9PntEKG4uZXJyb3IpOwpiKCl9OwpuLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLHYpO24uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGspfTsKWDlVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZSgoVyxEKT0+e0hOKG4sVyxEKX0pfTsKSmM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntITihuLFcsRCl9KSl9OwpJZz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgc1IobmV3IGZGKChELGIpPT57dmFyIHY9KCk9Pnt2YXIgaz1uP1cobik6bnVsbDtrP2sudGhlbihoPT57bj1oO3YoKX0sYik6RCgpfTsKdigpfSkpfTsKU0Y9ZnVuY3Rpb24obil7cmV0dXJuIEpjKG4pLnRoZW4oVz0+Vz9uZXcgcV8yKG4sVyk6bnVsbCl9OwpBYz1mdW5jdGlvbigpe3JldHVybiBnLmwoImlkYl9pbW1lZGlhdGVfY29tbWl0Iil9OwpPUj1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj17bW9kZToicmVhZG9ubHkiLEdROiExLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIn07dHlwZW9mIEQ9PT0ic3RyaW5nIj92Lm1vZGU9RDpPYmplY3QuYXNzaWduKHYsRCk7bi50cmFuc2FjdGlvbkNvdW50Kys7RD12LkdRPzM6MTtmb3IodmFyIGs9MCxoOyFoOyl7aysrO2xldCBHPU1hdGgucm91bmQoKDAsZy5SKSgpKTt0cnl7dmFyIHg9bi5OLnRyYW5zYWN0aW9uKFcsdi5tb2RlKSxMPWIsZT0hIXYuY29tbWl0O2xldCByPW5ldyBtWCh4KSxOPWF3YWl0IEc5dyhyLEwsZSksSD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7S0YobixHLEgsayx2b2lkIDAsVy5qb2luKCksdik7cmV0dXJuIE59Y2F0Y2gocil7TD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7bGV0IE49JHUocixuLk4ubmFtZSxXLmpvaW4oKSxuLk4udmVyc2lvbik7aWYoTiBpbnN0YW5jZW9mIHFMJiYhTi5OfHxrPj1EKUtGKG4sRyxMLGssTixXLmpvaW4oKSwKdiksaD1OfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9OwpaeT1mdW5jdGlvbihuLFcsRCl7bj1uLk4uY3JlYXRlT2JqZWN0U3RvcmUoVyxEKTtyZXR1cm4gbmV3IFBOKG4pfTsKVVI9ZnVuY3Rpb24obixXKXtuLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhXKSYmbi5OLmRlbGV0ZU9iamVjdFN0b3JlKFcpfTsKS0Y9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7Vz1ELVc7dj8odiBpbnN0YW5jZW9mIHFMJiYodi50eXBlPT09IlFVT1RBX0VYQ0VFREVEInx8di50eXBlPT09IlFVT1RBX01BWUJFX0VYQ0VFREVEIikmJmVGKCJRVU9UQV9FWENFRURFRCIse2RiTmFtZTpYcShuLk4ubmFtZSksb2JqZWN0U3RvcmVOYW1lczprLHRyYW5zYWN0aW9uQ291bnQ6bi50cmFuc2FjdGlvbkNvdW50LHRyYW5zYWN0aW9uTW9kZTpoLm1vZGV9KSx2IGluc3RhbmNlb2YgcUwmJnYudHlwZT09PSJVTktOT1dOX0FCT1JUIiYmKEQtPW4uVyxEPDAmJkQ+PTIxNDc0ODM2NDgmJihEPTApLGVGKCJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCIse29iamVjdFN0b3JlTmFtZXM6ayx0cmFuc2FjdGlvbkR1cmF0aW9uOlcsdHJhbnNhY3Rpb25Db3VudDpuLnRyYW5zYWN0aW9uQ291bnQsZGJEdXJhdGlvbjpEfSksbi5KPSEwKSx5YyhuLCExLGIsayxXLGgudGFnKSxMRih2KSk6eWMobiwhMCxiLGssVyxoLnRhZyl9Owp5Yz1mdW5jdGlvbihuLFcsRCxiLHYsaz0iSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIil7ZUYoIlRSQU5TQUNUSU9OX0VOREVEIix7b2JqZWN0U3RvcmVOYW1lczpiLGNvbm5lY3Rpb25IYXNVbmtub3duQWJvcnRlZFRyYW5zYWN0aW9uOm4uSixkdXJhdGlvbjp2LGlzU3VjY2Vzc2Z1bDpXLHRyeUNvdW50OkQsdGFnOmt9KX07CkVSPWZ1bmN0aW9uKG4sVyxEKXtuLk4uY3JlYXRlSW5kZXgoVyxELHt1bmlxdWU6ITF9KX07CnVRPWZ1bmN0aW9uKG4sVyxEKXtuPW4uTi5vcGVuQ3Vyc29yKFcucXVlcnksVy5kaXJlY3Rpb24pO3JldHVybiBpUShuKS50aGVuKGI9PklnKGIsRCkpfTsKdFhVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIHVRKG4se3F1ZXJ5Old9LEQ9PkQuZGVsZXRlKCkudGhlbigoKT0+b2coRCkpKS50aGVuKCgpPT57fSl9OwokM3g9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB1UShuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwpzMHI9ZnVuY3Rpb24obil7dmFyIFc9W107cmV0dXJuIHJfaihuLEQ9PntXLnB1c2goRC5jdXJzb3IucHJpbWFyeUtleSk7RC5jdXJzb3IuY29udGludWUodm9pZCAwKTtyZXR1cm4gU0YoRC5yZXF1ZXN0KX0pLnRoZW4oKCk9PlcpfTsKZDA9ZnVuY3Rpb24obil7cmV0dXJuImdldEFsbEtleXMiaW4gSURCT2JqZWN0U3RvcmUucHJvdG90eXBlP0pjKG4uTi5nZXRBbGxLZXlzKHZvaWQgMCx2b2lkIDApKTpzMHIobil9OwpyX2o9ZnVuY3Rpb24obixXKXt2YXIgRD17cXVlcnk6dm9pZCAwfSxiPUQucXVlcnk7RD1ELmRpcmVjdGlvbjtuPSJvcGVuS2V5Q3Vyc29yImluIElEQk9iamVjdFN0b3JlLnByb3RvdHlwZT9uLk4ub3BlbktleUN1cnNvcihiLEQpOm4uTi5vcGVuQ3Vyc29yKGIsRCk7cmV0dXJuIFNGKG4pLnRoZW4odj0+SWcodixXKSl9OwpHOXc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyBQcm9taXNlKCh2LGspPT57dHJ5e2xldCBoPVcobik7RCYmbi5jb21taXQoKTtoLnRoZW4oeD0+e3YoeCl9KS5jYXRjaChrKX1jYXRjaChoKXtrKGgpLG4uYWJvcnQoKX19KTsKcmV0dXJuIFByb21pc2UuYWxsKFtiLG4uZG9uZV0pLnRoZW4oKFt2XSk9PnYpfTsKem49ZnVuY3Rpb24obixXLEQpe3ZhciB7cXVlcnk6Yj1udWxsLGRpcmVjdGlvbjp2PSJuZXh0In09VztuPW4uTi5vcGVuQ3Vyc29yKGIsdik7cmV0dXJuIGlRKG4pLnRoZW4oaz0+SWcoayxEKSl9OwpOWmk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB6bihuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwppUT1mdW5jdGlvbihuKXtyZXR1cm4gSmMobikudGhlbihXPT5XP25ldyBwOXgobixXKTpudWxsKX07Cm9nPWZ1bmN0aW9uKG4pe24uY3Vyc29yLmNvbnRpbnVlKHZvaWQgMCk7cmV0dXJuIGlRKG4ucmVxdWVzdCl9OwpINXg9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgUHJvbWlzZSgoYix2KT0+e3ZhciBrPVchPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihuLFcpOnNlbGYuaW5kZXhlZERCLm9wZW4obik7dmFyIGg9RC5ibG9ja2VkLHg9RC5ibG9ja2luZyxMPUQuQnosZT1ELnVwZ3JhZGUsRz1ELmNsb3NlZCxyLE49KCk9PntyfHwocj1uZXcgWV9yKGsucmVzdWx0LHtjbG9zZWQ6R30pKTtyZXR1cm4gcn07CmsuYWRkRXZlbnRMaXN0ZW5lcigidXBncmFkZW5lZWRlZCIsSD0+e3RyeXtpZihILm5ld1ZlcnNpb249PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IG5ld1ZlcnNpb24gb24gSURiVmVyc2lvbkNoYW5nZUV2ZW50IGlzIG51bGwiKTtpZihrLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigiSW52YXJpYW50OiB0cmFuc2FjdGlvbiBvbiBJRGJPcGVuRGJSZXF1ZXN0IGlzIG51bGwiKTtILmRhdGFMb3NzJiZILmRhdGFMb3NzIT09Im5vbmUiJiZlRigiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOkguZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpYcShuKX0pO2xldCBBPU4oKSx5PW5ldyBtWChrLnRyYW5zYWN0aW9uKTtlJiZlKEEsVD0+SC5vbGRWZXJzaW9uPFQmJkgubmV3VmVyc2lvbj49VCx5KTsKeS5kb25lLmNhdGNoKFQ9Pnt2KFQpfSl9Y2F0Y2goQSl7dihBKX19KTsKay5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIiwoKT0+e3ZhciBIPWsucmVzdWx0O3gmJkguYWRkRXZlbnRMaXN0ZW5lcigidmVyc2lvbmNoYW5nZSIsKCk9Pnt4KE4oKSl9KTsKSC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9PntlRigiSURCX1VORVhQRUNURURMWV9DTE9TRUQiLHtkYk5hbWU6WHEobiksZGJWZXJzaW9uOkgudmVyc2lvbn0pO0wmJkwoKX0pOwpiKE4oKSl9KTsKay5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2KGsuZXJyb3IpfSk7CmgmJmsuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntoKCl9KX0pfTsKbFE9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBINXgobixXLEQpfTsKVG49YXN5bmMgZnVuY3Rpb24obixXPXt9KXt0cnl7bGV0IEQ9c2VsZi5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UobiksYj1XLmJsb2NrZWQ7YiYmRC5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIiwoKT0+e2IoKX0pOwphd2FpdCBYOVUoRCl9Y2F0Y2goRCl7dGhyb3cgJHUoRCxuLCIiLC0xKTt9fTsKakY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHFMKCJJTkNPTVBBVElCTEVfREJfVkVSU0lPTiIse2RiTmFtZTpuLm5hbWUsb2xkVmVyc2lvbjpuLm9wdGlvbnMudmVyc2lvbixuZXdWZXJzaW9uOld9KX07CkNGPWZ1bmN0aW9uKG4sVyl7aWYoIVcpdGhyb3cgZy5yMCgib3BlbldpdGhUb2tlbiIsWHEobi5uYW1lKSk7cmV0dXJuIG4ub3BlbigpfTsKRnE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gT1IoYXdhaXQgQ0YoQk4sVyksWyJkYXRhYmFzZXMiXSx7R1E6ITAsbW9kZToicmVhZHdyaXRlIn0sRD0+e3ZhciBiPUQub2JqZWN0U3RvcmUoImRhdGFiYXNlcyIpO3JldHVybiBiLmdldChuLmFjdHVhbE5hbWUpLnRoZW4odj0+e2lmKHY/bi5hY3R1YWxOYW1lIT09di5hY3R1YWxOYW1lfHxuLnB1YmxpY05hbWUhPT12LnB1YmxpY05hbWV8fG4udXNlcklkZW50aWZpZXIhPT12LnVzZXJJZGVudGlmaWVyOjEpcmV0dXJuIGIucHV0KG4pLnRoZW4oKCk9Pnt9KX0pfSl9Owp3MD1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBuPyhhd2FpdCBDRihCTixXKSkuZGVsZXRlKCJkYXRhYmFzZXMiLG4pOnZvaWQgMH07CmZCVT1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPVtdO1c9YXdhaXQgQ0YoQk4sVyk7YXdhaXQgT1IoVyxbImRhdGFiYXNlcyJdLHtHUTohMCxtb2RlOiJyZWFkb25seSJ9LGI9PntELmxlbmd0aD0wO3JldHVybiB1UShiLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKSx7fSx2PT57bih2LmdldFZhbHVlKCkpJiZELnB1c2godi5nZXRWYWx1ZSgpKTtyZXR1cm4gb2codil9KX0pOwpyZXR1cm4gRH07CkpfMj1mdW5jdGlvbihuLFcpe3JldHVybiBmQlUoRD0+RC5wdWJsaWNOYW1lPT09biYmRC51c2VySWRlbnRpZmllciE9PXZvaWQgMCxXKX07CklCaT1hc3luYyBmdW5jdGlvbigpe2lmKGt1KCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIG47aWYoIShuPWcuTUwmJkMkKCkmJiFCMCgpfHxnLlJnKSl7dHJ5e249c2VsZjt2YXIgVz0hIShuLmluZGV4ZWREQiYmbi5JREJJbmRleCYmbi5JREJLZXlSYW5nZSYmbi5JREJPYmplY3RTdG9yZSl9Y2F0Y2goRCl7Vz0hMX1uPSFXfWlmKG58fCEoIklEQlRyYW5zYWN0aW9uImluIHNlbGYmJiJvYmplY3RTdG9yZU5hbWVzImluIElEQlRyYW5zYWN0aW9uLnByb3RvdHlwZSkpcmV0dXJuITE7dHJ5e3JldHVybiBhd2FpdCBGcSh7YWN0dWFsTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIscHVibGljTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIsdXNlcklkZW50aWZpZXI6dm9pZCAwfSxRYyksYXdhaXQgdzAoInl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLFFjKSwhMH1jYXRjaChEKXtyZXR1cm4hMX19OwpjTj1mdW5jdGlvbigpe2lmKFZjIT09dm9pZCAwKXJldHVybiBWYztoYz0hMDtyZXR1cm4gVmM9SUJpKCkudGhlbihuPT57aGM9ITE7aWYodk4oKT8uSigpKXt2YXIgVz17aGFzU3VjY2VlZGVkT25jZTprdSgpPy5oYXNTdWNjZWVkZWRPbmNlfHxufTt2TigpPy5zZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsVywyNTkyRTMsITApfXJldHVybiBufSl9OwphZz1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dGdsb2JhbC5pZGJUb2tlbl8iKXx8dm9pZCAwfTsKZy5uUD1mdW5jdGlvbigpe3ZhciBuPWFnKCk7cmV0dXJuIG4/UHJvbWlzZS5yZXNvbHZlKG4pOmNOKCkudGhlbihXPT57Vz8oZy5HYigieXRnbG9iYWwuaWRiVG9rZW5fIixRYyksVz1RYyk6Vz12b2lkIDA7cmV0dXJuIFd9KX07Cld6PWZ1bmN0aW9uKG4pe2lmKCFSOSgpKXRocm93IG49bmV3IHFMKCJBVVRIX0lOVkFMSUQiLHtkYk5hbWU6bn0pLExGKG4pLG47dmFyIFc9TTAoKTtyZXR1cm57YWN0dWFsTmFtZTpgJHtufToke1d9YCxwdWJsaWNOYW1lOm4sdXNlcklkZW50aWZpZXI6V319OwpEbT1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1FcnJvcigpLnN0YWNrPz8iIixrPWF3YWl0IGcublAoKTtpZighayl0aHJvdyBXPWcucjAoIm9wZW5EYkltcGwiLG4sVyksZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIil8fChXLnN0YWNrPWAke1cuc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKSxMRihXKSxXO2cwKG4pO3Y9RD97YWN0dWFsTmFtZTpuLHB1YmxpY05hbWU6bix1c2VySWRlbnRpZmllcjp2b2lkIDB9Old6KG4pO3RyeXtyZXR1cm4gYXdhaXQgRnEodixrKSxhd2FpdCBsUSh2LmFjdHVhbE5hbWUsVyxiKX1jYXRjaChoKXt0cnl7YXdhaXQgdzAodi5hY3R1YWxOYW1lLGspfWNhdGNoe310aHJvdyBoO319OwpTX1o9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITEsRCl9OwpBX3I9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITAsRCl9OwptM3c9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLG49V3oobiksYXdhaXQgVG4obi5hY3R1YWxOYW1lLFcpLGF3YWl0IHcwKG4uYWN0dWFsTmFtZSxEKSl9OwpLMHI9ZnVuY3Rpb24obixXLEQpe249bi5tYXAoYXN5bmMgYj0+e2F3YWl0IFRuKGIuYWN0dWFsTmFtZSxXKTthd2FpdCB3MChiLmFjdHVhbE5hbWUsRCl9KTsKcmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oKCk9Pnt9KX07CmI5PWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9YXdhaXQgZy5uUCgpO0QmJihnMChuKSxuPWF3YWl0IEpfMihuLEQpLGF3YWl0IEswcihuLFcsRCkpfTsKdno9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLGF3YWl0IFRuKG4sVyksYXdhaXQgdzAobixEKSl9OwpQNE09ZnVuY3Rpb24obixXKXt2YXIgRDtyZXR1cm4oKT0+e0R8fChEPW5ldyBPNXQobixXKSk7cmV0dXJuIER9fTsKa089ZnVuY3Rpb24obixXKXtyZXR1cm4gUDRNKG4sVyl9OwpoNz1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoWjVDKCksbil9Owp4Tz1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXtuPXtjb25maWc6bixoYXNoRGF0YTpXLHRpbWVzdGFtcDpiIT09dm9pZCAwP2I6KDAsZy5SKSgpfTtEPWF3YWl0IGg3KEQpO2F3YWl0IEQuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IEQucHV0KCJob3RDb25maWdTdG9yZSIsbil9OwpMUD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYpe249e2NvbmZpZzpuLGhhc2hEYXRhOlcsY29uZmlnRGF0YTpELHRpbWVzdGFtcDp2IT09dm9pZCAwP3Y6KDAsZy5SKSgpfTtiPWF3YWl0IGg3KGIpO2F3YWl0IGIuY2xlYXIoImNvbGRDb25maWdTdG9yZSIpO3JldHVybiBhd2FpdCBiLnB1dCgiY29sZENvbmZpZ1N0b3JlIixuKX07CmU5PWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQgaDcobik7dmFyIFc9dm9pZCAwO2F3YWl0IE9SKG4sWyJjb2xkQ29uZmlnU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+em4oRC5vYmplY3RTdG9yZSgiY29sZENvbmZpZ1N0b3JlIikuaW5kZXgoImNvbGRUaW1lc3RhbXBJbmRleCIpLHtkaXJlY3Rpb246InByZXYifSxiPT57Vz1iLmdldFZhbHVlKCl9KSk7CnJldHVybiBXfTsKZzM9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCBoNyhuKTt2YXIgVz12b2lkIDA7YXdhaXQgT1IobixbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnpuKEQub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGI9PntXPWIuZ2V0VmFsdWUoKX0pKTsKcmV0dXJuIFd9OwpVM3Q9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgieXRHY2ZDb25maWciKX07CnFCPWZ1bmN0aW9uKCl7aWYoIWcuWDMuaW5zdGFuY2Upe2xldCBuPW5ldyBnLlgzO2cuWDMuaW5zdGFuY2U9bn1yZXR1cm4gZy5YMy5pbnN0YW5jZX07Cmk1aD1mdW5jdGlvbihuKXtpZighbi5KfHwhbi5OKXtpZighYWcoKSl7bGV0IFc9Zy5yMCgic2NoZWR1bGVHZXRDb25maWdzIik7WkUoVyl9bi5YfHwobi5YPXRhLkxTKGFzeW5jKCk9Pnt0cnl7YXdhaXQgeV9yKG4pfWNhdGNoe310cnl7YXdhaXQgRVVTKG4pfWNhdGNoe31uLlgmJihuLlg9MCl9LDEwMCkpfX07CnVEeD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmwoInN0YXJ0X2NsaWVudF9nY2YiKXx8Zy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpKWcubCgic3RhcnRfY2xpZW50X2djZiIpJiYoYXdhaXQgZy5uUCgpJiZSOSgpJiYhZy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpPyhuLlY9ITAsaTVoKG4pKTooR28obiksdDcobikpKSxnLmwoImRlbGV0ZV9nY2ZfY29uZmlnX2RiIikmJmF3YWl0IFUzdCgpfTsKJE89ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpfTsKdmFyIG9Vaj1mdW5jdGlvbihuLFcpe3JldHVybiBlWFtJWzEwXV0odGhpcywxMCw3MTI2LG4sVyl9OwpyMz1mdW5jdGlvbihuLFcpe24uSj1XO2cuR2IoInl0LmdjZi5jb25maWcuaG90Q29uZmlnR3JvdXAiLG4uSnx8bnVsbCl9Owp0Nz1mdW5jdGlvbihuKXtyMyhuLGcuQXIoIlJBV19IT1RfQ09ORklHX0dST1VQIikpO24uVyhnLkFyKCJTRVJJQUxJWkVEX0hPVF9IQVNIX0RBVEEiKSl9Owp5X3I9YXN5bmMgZnVuY3Rpb24obil7aWYobi5KKXJldHVybiAkTygpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0SG90Q29uZmlnIElEQiBub3QgaW5pdGlhbGl6ZWQiKSxaRShuKSxQcm9taXNlLnJlamVjdChuKTt2YXIgVz1hZygpLEQ9Zy5BcigiVElNRV9DUkVBVEVEX01TIik7aWYoVyl7dmFyIGI9YXdhaXQgZzMoVyk7aWYoYiYmYi50aW1lc3RhbXA+RClyZXR1cm4gcjMobixiLmNvbmZpZyksbi5XKGIuaGFzaERhdGEpLCRPKCl9ZWxzZSBiPWcucjAoImdldEhvdENvbmZpZyB0b2tlbiBlcnJvciIpLFpFKGIpO3Q3KG4pO1cmJm4uSiYmbi5ob3RIYXNoRGF0YSYmYXdhaXQgeE8obi5KLG4uaG90SGFzaERhdGEsVyxEKTtyZXR1cm4gbi5KPyRPKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKc0o9ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiKX07Ck5CPWZ1bmN0aW9uKG4sVyl7bi5OPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiLG4uTnx8bnVsbCl9OwpwUD1mdW5jdGlvbihuLFcpe24uY29uZmlnRGF0YT1XO2cuR2IoInl0LmdjZi5jb25maWcuY29sZENvbmZpZ0RhdGEiLG4uY29uZmlnRGF0YXx8bnVsbCl9OwpZTz1mdW5jdGlvbihuLFcpe24uY29sZEhhc2hEYXRhPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiLG4uY29sZEhhc2hEYXRhfHxudWxsKX07CkdvPWZ1bmN0aW9uKG4pe05CKG4sZy5BcigiUkFXX0NPTERfQ09ORklHX0dST1VQIikpO1lPKG4sZy5BcigiU0VSSUFMSVpFRF9DT0xEX0hBU0hfREFUQSIpKTtwUChuLG4uTj8uY29uZmlnRGF0YSl9OwpFVVM9YXN5bmMgZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBzSigpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0Q29sZENvbmZpZyBJREIgbm90IGluaXRpYWxpemVkIiksWkUobiksUHJvbWlzZS5yZWplY3Qobik7dmFyIFc9YWcoKSxEPWcuQXIoIlRJTUVfQ1JFQVRFRF9NUyIpO2lmKFcpe3ZhciBiPWF3YWl0IGU5KFcpO2lmKGImJmIudGltZXN0YW1wPkQpcmV0dXJuIE5CKG4sYi5jb25maWcpLHBQKG4sYi5jb25maWdEYXRhKSxZTyhuLGIuaGFzaERhdGEpLHNKKCl9ZWxzZSBiPWcucjAoImdldENvbGRDb25maWciKSxaRShiKTtHbyhuKTtXJiZuLk4mJm4uY29sZEhhc2hEYXRhJiZuLmNvbmZpZ0RhdGEmJmF3YWl0IExQKG4uTixuLmNvbGRIYXNoRGF0YSxuLmNvbmZpZ0RhdGEsVyxEKTtyZXR1cm4gbi5OP3NKKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKSHo9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKGcubCgic3RhcnRfY2xpZW50X2djZiIpKXtEJiZyMyhuLEQpO24uVyhXKTtsZXQgYj1hZygpO2ImJihEfHwoRD0oYXdhaXQgZzMoYikpPy5jb25maWcpLGF3YWl0IHhPKEQsVyxiKSk7aWYoRCl7bj1uLks7Zm9yKGxldCB2IG9mIG4uTil2KEQpfX19OwpmUD1hc3luYyBmdW5jdGlvbihuLFcsRCl7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJihZTyhuLFcpLG49YWcoKSkmJihEfHwoRD0oYXdhaXQgZTkobikpPy5jb25maWcpLEQmJmF3YWl0IExQKEQsVyxELmNvbmZpZ0RhdGEsbikpfTsKSjc9ZnVuY3Rpb24oKXt2YXIgbj1xQigpLFc9KDAsZy5SKSgpLW4uajtpZighKG4uaiE9PTAmJlc8djAoInNlbmRfY29uZmlnX2hhc2hfdGltZXIiKSkpe1c9Zy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnRGF0YSIpO3ZhciBEPWcucnIoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiKSxiPWcucnIoInl0LmdjZi5jb25maWcuY29sZEhhc2hEYXRhIik7VyYmRCYmYiYmKG4uaj0oMCxnLlIpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpXLGhvdEhhc2hEYXRhOkQsY29sZEhhc2hEYXRhOmJ9fX07Ckk3PWZ1bmN0aW9uKCl7cmV0dXJuIklOTkVSVFVCRV9BUElfS0VZImluIElFJiYiSU5ORVJUVUJFX0FQSV9WRVJTSU9OImluIElFfTsKZy5TOT1mdW5jdGlvbigpe3JldHVybntpbm5lcnR1YmVBcGlLZXk6Zy5BcigiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9BUElfVkVSU0lPTiIpLGNSOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9DT05GSUdfSU5GTyIpLEcwOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIiksRmQ6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpLGlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiksTWI6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSxFRTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9HTCIpLHY2OmcuQXIoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIil8fCIiLE9zOiEhZy5BcigiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSksT0Q6ISFnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIsCiExKSxhcHBJbnN0YWxsRGF0YTpnLkFyKCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSIpfX07CmcuVUo9ZnVuY3Rpb24obil7dmFyIFc9e2NsaWVudDp7aGw6bi5NYixnbDpuLkVFLGNsaWVudE5hbWU6bi5HMCxjbGllbnRWZXJzaW9uOm4uaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24sY29uZmlnSW5mbzpuLmNSfX07bmF2aWdhdG9yLnVzZXJBZ2VudCYmKFcuY2xpZW50LnVzZXJBZ2VudD1TdHJpbmcobmF2aWdhdG9yLnVzZXJBZ2VudCkpO3ZhciBEPWcucWkuZGV2aWNlUGl4ZWxSYXRpbztEJiZEIT0xJiYoVy5jbGllbnQuc2NyZWVuRGVuc2l0eUZsb2F0PVN0cmluZyhEKSk7RD1rVCgpO0QhPT0iIiYmKFcuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49RCk7RD1oeSgpO0QubGVuZ3RoPjAmJihXLnJlcXVlc3Q9e2ludGVybmFsRXhwZXJpbWVudEZsYWdzOkR9KTtBNyhuLHZvaWQgMCxXKTttVCh2b2lkIDAsVyk7S1Aodm9pZCAwLFcpO09KKG4sdm9pZCAwLFcpO1B6KHZvaWQgMCxXKTtnLmwoInN0YXJ0X2NsaWVudF9nY2YiKSYmWm0odm9pZCAwLFcpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJgohZy5sKCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoVy51c2VyPXtvbkJlaGFsZk9mVXNlcjpnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpfSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoVy51c2VyPXsuLi5XLnVzZXIsc2VyaWFsaXplZERlbGVnYXRpb25Db250ZXh0Om59KTtuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7Zy5sKCJlbmFibGVfcGVyc2lzdGVudF9kZXZpY2VfdG9rZW4iKSYmbj8uY2xpZW50Py5yb2xsb3V0VG9rZW4mJihXLmNsaWVudC5yb2xsb3V0VG9rZW49bj8uY2xpZW50Py5yb2xsb3V0VG9rZW4pO249T2JqZWN0O0Q9bi5hc3NpZ247dmFyIGI9Vy5jbGllbnQsdj1nLkFyKCJERVZJQ0UiLCIiKSxrPXt9O2ZvcihsZXQgW2gseF1vZiBPYmplY3QuZW50cmllcyhnLml3KHYpKSl2PWgsdj09PSJjYnJhbmQiPwprLmRldmljZU1ha2U9eDp2PT09ImNtb2RlbCI/ay5kZXZpY2VNb2RlbD14OnY9PT0iY2JyIj9rLmJyb3dzZXJOYW1lPXg6dj09PSJjYnJ2ZXIiP2suYnJvd3NlclZlcnNpb249eDp2PT09ImNvcyI/ay5vc05hbWU9eDp2PT09ImNvc3ZlciI/ay5vc1ZlcnNpb249eDp2PT09ImNwbGF0Zm9ybSImJihrLnBsYXRmb3JtPXgpO1cuY2xpZW50PUQuY2FsbChuLGIsayk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoVy5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsVy5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIFd9OwpBNz1mdW5jdGlvbihuLFcsRCl7bj1uLkcwO2lmKG49PT0iV0VCInx8bj09PSJNV0VCInx8bj09PTF8fG49PT0yKVc/KEQ9Z2UoVyx5ZCw5Nil8fG5ldyB5ZCxuPXl4KCksbj1PYmplY3Qua2V5cyhkM2opLmluZGV4T2Yobiksbj1uPT09LTE/bnVsbDpuLG4hPT1udWxsJiZLbihELDMsbiksJDkoVyx5ZCw5NixEKSk6RCYmKEQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPUQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPz97fSxELmNsaWVudC5tYWluQXBwV2ViSW5mby53ZWJEaXNwbGF5TW9kZT15eCgpKX07Cm1UPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpO0QmJihuPyhXPWdlKG4sRUosNyl8fG5ldyBFSixnLlNFKFcsNCxEKSwkOShuLEVKLDcsVykpOlcmJihXLnRoaXJkUGFydHk9e2VtYmVkVXJsOkR9KSl9OwpLUD1mdW5jdGlvbihuLFcpe2lmKGcubCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJmcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkpe2xldCBEPWcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnk7bj9veihuLDk1LGcubDQoRCoxRTYpKTpXJiYoVy5jbGllbnQubWVtb3J5VG90YWxLYnl0ZXM9YCR7RCoxRTZ9YCl9fTsKT0o9ZnVuY3Rpb24obixXLEQpe24uYXBwSW5zdGFsbERhdGEmJihXPyhEPWdlKFcsaTksNjIpPz9uZXcgaTksZy5TRShELDYsbi5hcHBJbnN0YWxsRGF0YSksJDkoVyxpOSw2MixEKSk6RCYmKEQuY2xpZW50LmNvbmZpZ0luZm89RC5jbGllbnQuY29uZmlnSW5mb3x8e30sRC5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1uLmFwcEluc3RhbGxEYXRhKSl9OwpQej1mdW5jdGlvbihuLFcpe3ZhciBEPUJCKCk7RCYmKG4/S24obiw2MSx6cXdbRF0pOlcmJihXLmNsaWVudC5jb25uZWN0aW9uVHlwZT1EKSk7Zy5sKCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKEQ9d0ooKSkmJihuP0tuKG4sOTQsbEJyW0RdKTpXJiYoVy5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9RCkpfTsKVFpqPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj17fTtnLkFyKCJFT01fVklTSVRPUl9EQVRBIik/Yj17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpfTpiPXsiWC1Hb29nLVZpc2l0b3ItSWQiOkQudmlzaXRvckRhdGF8fGcuQXIoIlZJU0lUT1JfREFUQSIsIiIpfTtpZihXJiZXLmluY2x1ZGVzKCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iKSlyZXR1cm4gYjtXPUQuUDF8fGcuQXIoIkFVVEhPUklaQVRJT04iKTtXfHwobj9XPWBCZWFyZXIgJHtnLnJyKCJnYXBpLmF1dGguZ2V0VG9rZW4iKSgpLmFjY2Vzc190b2tlbn1gOihuPWlPKCkuYWoodTkpLGcubCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIG5bIlgtR29vZy1QYWdlSWQiXSxiPXsuLi5iLC4uLm59KSk7VyYmKGIuQXV0aG9yaXphdGlvbj1XKTtyZXR1cm4gYn07ClptPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9SjcoKTtpZihEKXt2YXIgYj1ELmNvbGRDb25maWdEYXRhLHY9RC5jb2xkSGFzaERhdGE7RD1ELmhvdEhhc2hEYXRhO24/KFc9Z2UobixpOSw2Mik/P25ldyBpOSxiPWcuU0UoVywxLGIpLGcuU0UoYiwzLHYpLlcoRCksJDkobixpOSw2MixXKSk6VyYmKFcuY2xpZW50LmNvbmZpZ0luZm89Vy5jbGllbnQuY29uZmlnSW5mb3x8e30sYiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YiksdiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPXYpLEQmJihXLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPUQpKX19OwpvNz1mdW5jdGlvbihuKXt0aGlzLnZlcnNpb249MTt0aGlzLmFyZ3M9bn07CmQzPWZ1bmN0aW9uKG4sVyl7dGhpcy50b3BpYz1uO3RoaXMuTj1XfTsKbDk9ZnVuY3Rpb24obixXKXt2YXIgRD16bygpO0QmJkQucHVibGlzaC5jYWxsKEQsbi50b1N0cmluZygpLG4sVyl9OwpqMHg9ZnVuY3Rpb24obil7dmFyIFc9VG8sRD16bygpO2lmKCFEKXJldHVybiAwO3ZhciBiPUQuc3Vic2NyaWJlKFcudG9TdHJpbmcoKSwodixrKT0+e3ZhciBoPWcucnIoInl0UHVic3ViMlB1YnN1YjJTa2lwU3ViS2V5Iik7aCYmaD09Ynx8KGg9KCk9PntpZihqOVtiXSl0cnl7aWYoayYmVyBpbnN0YW5jZW9mIGQzJiZXIT12KXRyeXt7dmFyIHg9Vy5OLEw9aztpZighTC5hcmdzfHwhTC52ZXJzaW9uKXRocm93IEVycm9yKCJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogc2VyaWFsaXplZERhdGEgaXMgaW5jb21wbGV0ZS4iKTtsZXQgZTt0cnl7aWYoIXguQ2Ipe2xldCBHPW5ldyB4O3guQ2I9Ry52ZXJzaW9ufWU9eC5DYn1jYXRjaChHKXt9aWYoIWV8fEwudmVyc2lvbiE9ZSl0aHJvdyBFcnJvcigieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6IHNlcmlhbGl6ZWREYXRhIHZlcnNpb24gaXMgaW5jb21wYXRpYmxlLiIpO3RyeXtrPVJlZmxlY3QuY29uc3RydWN0KHgsZy5STShMLmFyZ3MpKX1jYXRjaChHKXt0aHJvdyBHLm1lc3NhZ2U9CiJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogIitHLm1lc3NhZ2UsRzt9fX1jYXRjaChlKXt0aHJvdyBlLm1lc3NhZ2U9Inl0LnB1YnN1YjIucHVic3ViMiBjcm9zcy1iaW5hcnkgY29udmVyc2lvbiBlcnJvciBmb3IgIitXLnRvU3RyaW5nKCkrIjogIitlLm1lc3NhZ2UsZTt9bi5jYWxsKHdpbmRvdyxrKX1jYXRjaChlKXtPdChlKX19LENQW1cudG9TdHJpbmcoKV0/Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/dGEuTFMoaCk6Zy5uJChoLDApOmgoKSl9KTsKajlbYl09ITA7QnpbVy50b1N0cmluZygpXXx8KEJ6W1cudG9TdHJpbmcoKV09W10pO0J6W1cudG9TdHJpbmcoKV0ucHVzaChiKTtyZXR1cm4gYn07CkYwTT1mdW5jdGlvbigpe3ZhciBuPUM0dyxXPWoweChmdW5jdGlvbihEKXtuLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO0JaaChXKX0pOwpyZXR1cm4gV307CkJaaD1mdW5jdGlvbihuKXt2YXIgVz16bygpO1cmJih0eXBlb2Ygbj09PSJudW1iZXIiJiYobj1bbl0pLGcueTIobixEPT57Vy51bnN1YnNjcmliZUJ5S2V5KEQpO2RlbGV0ZSBqOVtEXX0pKX07CnpvPWZ1bmN0aW9uKCl7cmV0dXJuIGcucnIoInl0UHVic3ViMlB1YnN1YjJJbnN0YW5jZSIpfTsKRjM9ZnVuY3Rpb24obixXLEQ9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixELnNhbXBsZVJhdGUvMTAwKSYmbDkoIm1ldGFfbG9nZ2luZ19jc2lfZXZlbnQiLHt0aW1lck5hbWU6bix0aW1lbGluZURhdGE6V30pfTsKVmQ9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9e3N0YXJ0VGltZTooMCxnLlIpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD13MyhXKTtpZihoPT1udWxsfHwhKGg+TUJ8fGg8UjcpKXt2YXIgaz1YJChRZChXKSk7bGV0IHg9KDAsZy5SKSgpO3YudGlja3MuZ2VsYz14O3c5aisrO2cubCgiZ2VsX2NvbXByZXNzaW9uX2NzaV9raWxsc3dpdGNoIil8fCFnLmwoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeSIpJiYhZy5sKCJsb2dfZ2VsX2NvbXByZXNzaW9uX2xhdGVuY3lfbHIiKXx8RjMoImdlbF9jb21wcmVzc2lvbiIsdix7c2FtcGxlUmF0ZTouMX0pO0QuaGVhZGVyc3x8KEQuaGVhZGVycz17fSk7RC5oZWFkZXJzWyJDb250ZW50LUVuY29kaW5nIl09Imd6aXAiO0QucG9zdEJvZHk9aztELnBvc3RQYXJhbXM9dm9pZCAwfWIobixEKX1jYXRjaChoKXtaRShoKSxiKG4sRCl9fTsKTVhTPWZ1bmN0aW9uKG4peygwLGcuUikoKTtpZighbi5ib2R5KXJldHVybiBuO3RyeXtsZXQgVz10eXBlb2Ygbi5ib2R5PT09InN0cmluZyI/bi5ib2R5OkpTT04uc3RyaW5naWZ5KG4uYm9keSksRD1XO2lmKHR5cGVvZiBXPT09InN0cmluZyIpe2xldCBiPXczKFcpO2lmKGIhPW51bGwmJihiPk1CfHxiPFI3KSlyZXR1cm4gbjtEPVgkKFFkKFcpKTsoMCxnLlIpKCl9bi5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihuLmhlYWRlcnN8fHt9KX07bi5ib2R5PUQ7cmV0dXJuIG59Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG59fTsKdzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybihuZXcgQmxvYihuLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG51bGx9fTsKY3o9ZnVuY3Rpb24obil7cmV0dXJuISFuLllXfHxuLld2fTsKbm09ZnVuY3Rpb24obil7Y3oobikmJiFuLk5oJiYobi5OPSEwLG4uQ3ImJk1hdGgucmFuZG9tKCk8PW4uS3ImJm4uZ0UudGkobi5ZVyksYTcobiksbi55Ry5XRygpJiZuLlcoKSxuLnlHLlNfKG4udVosbi5XLmJpbmQobikpLG4ueUcuU18obi5OQSxuLlguYmluZChuKSkpfTsKYTc9ZnVuY3Rpb24obil7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogcmV0cnlRdWV1ZWRSZXF1ZXN0cyIpO24uZ0UuaTQoIlFVRVVFRCIsbi5ZVykudGhlbihXPT57VyYmIVdVKG4sVyxuLlo0KT9uLkEkLkxTKGFzeW5jKCk9PntXLmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVyk7YTcobil9KTpuLnlHLldHKCkmJm4uVygpfSl9OwpENT1hc3luYyBmdW5jdGlvbihuLFcpe2lmKCFjeihuKSl0aHJvdyBFcnJvcigiSW5kZXhlZERCIGlzIG5vdCBzdXBwb3J0ZWQ6IGltbWVkaWF0ZVNlbmQiKTtXLmlkIT09dm9pZCAwJiYoYXdhaXQgbi5nRS5LNihXLmlkLG4uWVcpfHxuLkYyKEVycm9yKCJUaGUgcmVxdWVzdCBjYW5ub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlLiIpKSk7V1UobixXLG4uR3kpPyhXLnNraXBSZXRyeXx8KFc9UnEyKG4sVykpLFcmJihXLnNraXBSZXRyeSYmVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpLG4uTG0oVy51cmwsVy5vcHRpb25zLCEhVy5za2lwUmV0cnkpKSk6KG4uRjIoRXJyb3IoIk5ldHdvcmtsZXNzIExvZ2dpbmc6IFN0b3JlZCBsb2dzIHJlcXVlc3QgZXhwaXJlZCBhZ2UgbGltaXQiKSksVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpKX07CmJNPWZ1bmN0aW9uKG4sVyl7bi5oTCYmIW4ueUcuV0coKT9uLmhMKFcpOm4uaGFuZGxlRXJyb3IoVyl9OwpXVT1mdW5jdGlvbihuLFcsRCl7Vz1XLnRpbWVzdGFtcDtyZXR1cm4gbi5ub3coKS1XPj1EPyExOiEwfTsKUnEyPWZ1bmN0aW9uKG4sVyl7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogdXBkYXRlUmVxdWVzdEhhbmRsZXJzIik7dmFyIEQ9Vy5vcHRpb25zLm9uRXJyb3I/Vy5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9OwpXLm9wdGlvbnMub25FcnJvcj1hc3luYyh2LGspPT57dmFyIGg9UTBTKGspLHg9VlgyKGspO3gmJm4uRXEmJm4uRXEoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJm4uaGFuZGxlRXJyb3IoRXJyb3IoIlJlcXVlc3QgZmFpbGVkIGR1ZSB0byBjb21wcmVzc2lvbiIpLFcudXJsLGspO2lmKG4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmh8fG4uRXEmJiFuLkVxKCJud2xfY29uc2lkZXJfZXJyb3JfY29kZSIpJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcjw9bi5IRilpZihuLnlHLmhKJiZhd2FpdCBuLnlHLmhKKCksIW4ueUcuV0coKSl7RCh2LGspO24uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJlc/LmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMSk7cmV0dXJufW4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJiFoJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5uLkhGfHwobi5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKywKVz8uaWQhPT12b2lkIDAmJihXLnNlbmRDb3VudDxuLkExPyhhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMCx4PyExOnZvaWQgMCksbi5BJC5MUygoKT0+e24ueUcuV0coKSYmbi5XKCl9LG4uSVApKTphd2FpdCBuLmdFLlRNKFcuaWQsbi5ZVykpLEQodixrKSl9Owp2YXIgYj1XLm9wdGlvbnMub25TdWNjZXNzP1cub3B0aW9ucy5vblN1Y2Nlc3M6KCk9Pnt9OwpXLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKHYsayk9PntXPy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpO24ueUcubGMmJm4uRXEmJm4uRXEoInZzc19uZXR3b3JrX2hpbnQiKSYmbi55Ry5sYyghMCk7Yih2LGspfTsKcmV0dXJuIFd9OwpRMFM9ZnVuY3Rpb24obil7cmV0dXJuKG49bj8uZXJyb3I/LmNvZGUpJiZuPj00MDAmJm48PTU5OT8hMTohMH07ClZYMj1mdW5jdGlvbihuKXtuPW4/LmVycm9yPy5jb2RlO3JldHVybiEobiE9PTQwMCYmbiE9PTQxNSl9OwpjX1o9ZnVuY3Rpb24oKXtpZih2VSlyZXR1cm4gdlUoKTt2VT1rTygiTG9nc0RhdGFiYXNlVjIiLHtLYzp7TG9nc1JlcXVlc3RzU3RvcmU6e3Z4OjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcsRCl7VygyKSYmWnkobiwiTG9nc1JlcXVlc3RzU3RvcmUiLHtrZXlQYXRoOiJpZCIsYXV0b0luY3JlbWVudDohMH0pO1coMyk7Vyg1KSYmKEQ9RC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSxELk4uaW5kZXhOYW1lcy5jb250YWlucygibmV3UmVxdWVzdCIpJiZELk4uZGVsZXRlSW5kZXgoIm5ld1JlcXVlc3QiKSxFUihELCJuZXdSZXF1ZXN0VjIiLFsic3RhdHVzIiwiaW50ZXJmYWNlIiwidGltZXN0YW1wIl0pKTtXKDcpJiZVUihuLCJzYXBpc2lkIik7Vyg5KSYmVVIobiwiU1dIZWFsdGhMb2ciKX0sdmVyc2lvbjo5fSk7cmV0dXJuIHZVKCl9OwprUT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoY19aKCksbil9OwphQlM9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD17c3RhcnRUaW1lOigwLGcuUikoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtXPWF3YWl0IGtRKFcpO249ey4uLm4sb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG4ub3B0aW9ucykpLGludGVyZmFjZTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCl9O249YXdhaXQgVy5wdXQoIkxvZ3NSZXF1ZXN0c1N0b3JlIixuKTtELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4gbn07Cm52Mj1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPXtzdGFydFRpbWU6KDAsZy5SKSgpLGluZm9zOnt0cmFuc2FjdGlvblR5cGU6IllUX0lEQl9UUkFOU0FDVElPTl9UWVBFX1JFQUQifSx0aWNrczp7fX07Vz1hd2FpdCBrUShXKTt2YXIgYj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksdj1bbixiLDBdO2I9W24sYiwoMCxnLlIpKCldO3ZhciBrPUlEQktleVJhbmdlLmJvdW5kKHYsYiksaD0icHJldiI7Zy5sKCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiKSYmKGg9Im5leHQiKTt2YXIgeD12b2lkIDA7dj1uPT09Ik5FVyI/InJlYWR3cml0ZSI6InJlYWRvbmx5IjtnLmwoInVzZV9yZWFkb25seV9mb3JfZ2V0X21vc3RfcmVjZW50X2J5X3N0YXR1c19raWxsc3dpdGNoIikmJih2PSJyZWFkd3JpdGUiKTthd2FpdCBPUihXLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTp2LEdROiEwfSxMPT56bihMLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmssZGlyZWN0aW9uOmh9LGU9PntlLmdldFZhbHVlKCkmJih4PWUuZ2V0VmFsdWUoKSxuPT09Ik5FVyImJih4LnN0YXR1cz0iUVVFVUVEIixlLnVwZGF0ZSh4KSkpfSkpOwpELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4geH07CldfQz1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBPUihhd2FpdCBrUShXKSxbIkxvZ3NSZXF1ZXN0c1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pnt2YXIgYj1ELm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpO3JldHVybiBiLmdldChuKS50aGVuKHY9PntpZih2KXJldHVybiB2LnN0YXR1cz0iUVVFVUVEIixiLnB1dCh2KS50aGVuKCgpPT52KX0pfSl9OwpERXg9YXN5bmMgZnVuY3Rpb24obixXLEQ9ITAsYil7cmV0dXJuIE9SKGF3YWl0IGtRKFcpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sdj0+e3ZhciBrPXYub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGsuZ2V0KG4pLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsRCYmKGguc2VuZENvdW50Kz0xKSxiIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWIpLGsucHV0KGgpLnRoZW4oKCk9PmgpKTpzUi5yZXNvbHZlKHZvaWQgMCkpfSl9OwpiR0M9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4oYXdhaXQga1EoVykpLmRlbGV0ZSgiTG9nc1JlcXVlc3RzU3RvcmUiLG4pfTsKdnZpPWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQga1Eobik7dmFyIFc9KDAsZy5SKSgpLTI1OTJFNjthd2FpdCBPUihuLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+dVEoRC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxiPT57aWYoYi5nZXRWYWx1ZSgpLnRpbWVzdGFtcDw9VylyZXR1cm4gYi5kZWxldGUoKS50aGVuKCgpPT5vZyhiKSl9KSl9Owpremk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgiTG9nc0RhdGFiYXNlVjIiKX07CmhJPWZ1bmN0aW9uKG4pe2cubCgibndsX2NzaV9raWxsc3dpdGNoIil8fEYzKCJuZXR3b3JrbGVzc19wZXJmb3JtYW5jZSIsbix7c2FtcGxlUmF0ZToxfSl9Owp4UT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoaF94KCksbil9Owp4RXc9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCB4UShuKTt2YXIgVz0oMCxnLlIpKCktMjU5MkU2O2F3YWl0IE9SKG4sWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwfSxEPT51UShELm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGI9PntpZihiLmdldFZhbHVlKCkudGltZXN0YW1wPD1XKXJldHVybiBiLmRlbGV0ZSgpLnRoZW4oKCk9Pm9nKGIpKX0pKX07CkxfaT1hc3luYyBmdW5jdGlvbihuKXthd2FpdCAoYXdhaXQgeFEobikpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKZy5nbz1mdW5jdGlvbihuLFcsRCxiLHY9IiIsaz0hMSxoPSExKXtpZihuKWlmKEQmJiFnLmQ4KCkpWkUobmV3IGcuUXgoIkxlZ2FjeSByZWZlcnJlci1zY3J1YmJlZCBwaW5nIGRldGVjdGVkIikpLG4mJkxtKG4sdm9pZCAwLHtzY3J1YlJlZmVycmVyOiEwfSk7ZWxzZSBpZih2KXhUKG4sVywiUE9TVCIsdixiKTtlbHNlIGlmKGcuQXIoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8Ynx8aCl4VChuLFcsIkdFVCIsIiIsYix2b2lkIDAsayxoKTtlbHNle2I6e3RyeXtjOnt2YXIgeD1uZXcgZV93KHt1cmw6bn0pO2lmKHguTi5kc2g9PT0iMSIpdmFyIEw9bnVsbDtlbHNle3ZhciBlPXguTi5hZTtpZihlPT09IjEiKXtsZXQgcj14Lk4uYWR1cmw7aWYocil0cnl7TD17dmVyc2lvbjozLFViOmRlY29kZVVSSUNvbXBvbmVudChyKSxERzp1eCh4LkosImFjdD0xIiwicmk9MSIseGlNKHgpKX07YnJlYWsgY31jYXRjaChOKXt9fUw9ZT09PSIyIj97dmVyc2lvbjo0LFViOnV4KHguSiwKImRjdD0xIiwic3VpZD0iK3guVywicmk9MSIpLERHOnV4KHguSiwiYWN0PTEiLCJyaT0xIiwic3VpZD0iK3guVyl9Om51bGx9fWlmKEwpe2xldCByPVMxKG4pO3ZhciBHPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxnLmxmKG4sInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31HPSExfUc/ZXcobik/KFcmJlcoKSxEPSEwKTpEPSExOkQ9ITE7RHx8TG0obixXKX19Owpndnc9ZnVuY3Rpb24obixXPSIiKXtldyhuLFcpfHxnLmdvKG4sdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyl9Owpldz1mdW5jdGlvbihuLFc9IiIpe3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihuLFcpKXJldHVybiEwfWNhdGNoKEQpe31yZXR1cm4hMX07CkxtPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj1uZXcgSW1hZ2Usdj0iIitYSHcrKztYaVt2XT1iO2Iub25sb2FkPWIub25lcnJvcj0oKT0+e1cmJlhpW3ZdJiZXKCk7ZGVsZXRlIFhpW3ZdfTsKRC5zY3J1YlJlZmVycmVyJiYoYi5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtiLnNyYz1ufTsKZy5xYj1mdW5jdGlvbihuKXtyZXR1cm4gZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP24rIiZuaXM9NiI6bisiJm5pcz01In07CiRRPWZ1bmN0aW9uKCl7R1R8fChHVD1uZXcgdEkoInl0Lm9mZmxpbmUiKSk7cmV0dXJuIEdUfTsKcUt3PWZ1bmN0aW9uKG4pe2lmKGcubCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgVz0kUSgpLmdldCgiZXJyb3JzIiwhMCl8fHt9O1dbbi5tZXNzYWdlXT17bmFtZTpuLm5hbWUsc3RhY2s6bi5zdGFja307bi5sZXZlbCYmKFdbbi5tZXNzYWdlXS5sZXZlbD1uLmxldmVsKTskUSgpLnNldCgiZXJyb3JzIixXLDI1OTJFMywhMCl9fTsKc2M9ZnVuY3Rpb24oKXtpZighcm8uaW5zdGFuY2Upe2xldCBuPWcucnIoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIpfHxuZXcgcm87Zy5HYigieXQubmV0d29ya1JlcXVlc3RNb25pdG9yLmluc3RhbmNlIixuKTtyby5pbnN0YW5jZT1ufXJldHVybiByby5pbnN0YW5jZX07CnBtPWZ1bmN0aW9uKCl7aWYoIU5iLmluc3RhbmNlKXtsZXQgbj1nLnJyKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcgTmI7Zy5HYigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLG4pO05iLmluc3RhbmNlPW59cmV0dXJuIE5iLmluc3RhbmNlfTsKWVE9ZnVuY3Rpb24obixXKXtuLnJhdGVMaW1pdD9uLk4/KHRhLnNPKG4uWCksbi5YPXRhLkxTKCgpPT57bi5XIT09VyYmKG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKX0sbi5yYXRlTGltaXQtKCgwLGcuUikoKS1uLk4pKSk6KG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKTpuLmRpc3BhdGNoRXZlbnQoVyl9OwpnLkhVPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIpO258fChuPW5ldyBHemgsZy5HYigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsbiksZy5sKCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJmcublAoKS50aGVuKFc9PntuLllXPVc7bm0obik7bi5qLnJlc29sdmUoKTtuLkNyJiZNYXRoLnJhbmRvbSgpPD1uLktyJiZuLllXJiZ4RXcobi5ZVyk7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX3N3X2hlYWx0aF9zdG9yZSIpJiZ0V3cobil9KSk7CnJldHVybiBufTsKdFd3PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLllXKXRocm93IGcucjAoImNsZWFyU1dIZWFsdGhMb2dzRGIiKTtMX2kobi5ZVykuY2F0Y2goVz0+e24uaGFuZGxlRXJyb3IoVyl9KX07CiRFdD1mdW5jdGlvbihuLFcsRCl7Vz1nLmwoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sVyk6VztnLmwoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Vy5oZWFkZXJzJiZnLlRkKG4pJiYoVy5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxnLlIpKCkpKSk6Vy5wb3N0UGFyYW1zPy5yZXF1ZXN0VGltZU1zJiYoVy5wb3N0UGFyYW1zLnJlcXVlc3RUaW1lTXM9TWF0aC5yb3VuZCgoMCxnLlIpKCkpKTtEJiZPYmplY3Qua2V5cyhXKS5sZW5ndGg9PT0wP2cuZ28obik6Vy5jb21wcmVzcz9XLnBvc3RCb2R5Pyh0eXBlb2YgVy5wb3N0Qm9keSE9PSJzdHJpbmciJiYoVy5wb3N0Qm9keT1KU09OLnN0cmluZ2lmeShXLnBvc3RCb2R5KSksVmQobixXLnBvc3RCb2R5LFcsZy5lZCkpOlZkKG4sSlNPTi5zdHJpbmdpZnkoVy5wb3N0UGFyYW1zKSxXLGc4KTpnLmVkKG4sVyl9OwpmbT1mdW5jdGlvbihuLFcpe2cubCgidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIikmJmcuVGQobikmJihXLmhlYWRlcnN8fChXLmhlYWRlcnM9e30pLFcuaGVhZGVyc1siWC1Hb29nLUV2ZW50LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gV307CmcuSUk9ZnVuY3Rpb24obixXLEQsYil7IWcuQXIoIlZJU0lUT1JfREFUQSIpJiZXIT09InZpc2l0b3JfaWQiJiZNYXRoLnJhbmRvbSgpPC4wMSYmWkUobmV3IGcuUXgoIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLFcsRCxiKSk7aWYoIW4uaXNSZWFkeSgpKXRocm93IG49bmV3IGcuUXgoImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixXLEQsYiksT3Qobiksbjt2YXIgdj17aGVhZGVyczpiLmhlYWRlcnN8fHt9LG1ldGhvZDoiUE9TVCIscG9zdFBhcmFtczpELHBvc3RCb2R5OmIucG9zdEJvZHkscG9zdEJvZHlGb3JtYXQ6Yi5wb3N0Qm9keUZvcm1hdHx8IkpTT04iLG9uVGltZW91dDooKT0+e2Iub25UaW1lb3V0KCl9LApvbkZldGNoVGltZW91dDpiLm9uVGltZW91dCxvblN1Y2Nlc3M6KGUsRyk9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhHKX0sCm9uRmV0Y2hTdWNjZXNzOmU9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhlKX0sCm9uUHJvZ3Jlc3M6ZT0+e2lmKGIub25Qcm9ncmVzcyliLm9uUHJvZ3Jlc3MoZSl9LApvbkVycm9yOihlLEcpPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihHKX0sCm9uRmV0Y2hFcnJvcjplPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihlKX0sCnRpbWVvdXQ6Yi50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpiLmNvbXByZXNzfTt2LmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwodi5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO0Q9IiI7dmFyIGs9bi5jb25maWdfLnY2O2smJihEPWspO2s9bi5jb25maWdfLk9zfHwhMTt2YXIgaD1UWmooayxELGIpO09iamVjdC5hc3NpZ24odi5oZWFkZXJzLGgpO3YuaGVhZGVycy5BdXRob3JpemF0aW9uJiYhRCYmayYmKHYuaGVhZGVyc1sieC1vcmlnaW4iXT13aW5kb3cubG9jYXRpb24ub3JpZ2luKTt2YXIgeD1nLnpkKGAke0R9JHtgL3lvdXR1YmVpLyR7bi5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7V31gfWAse2FsdDoianNvbiJ9KSxMPShlPSExKT0+e3RyeXtpZihlJiZiLnJldHJ5JiYhYi5uZXR3b3JrbGVzc09wdGlvbnMuYnlwYXNzTmV0d29ya2xlc3Mpdi5tZXRob2Q9IlBPU1QiLGIubmV0d29ya2xlc3NPcHRpb25zLndyaXRlVGhlblNlbmQ/CmcuSFUoKS53cml0ZVRoZW5TZW5kKHgsdik6Zy5IVSgpLnNlbmRBbmRXcml0ZSh4LHYpO2Vsc2UgaWYoYi5jb21wcmVzcylpZih2LnBvc3RCb2R5KXtsZXQgRz12LnBvc3RCb2R5O3R5cGVvZiBHIT09InN0cmluZyImJihHPUpTT04uc3RyaW5naWZ5KHYucG9zdEJvZHkpKTtWZCh4LEcsdixnLmVkKX1lbHNlIFZkKHgsSlNPTi5zdHJpbmdpZnkodi5wb3N0UGFyYW1zKSx2LGc4KTtlbHNlIGc4KHgsdil9Y2F0Y2goRyl7aWYoRy5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpWkUoRXJyb3IoIkFuIGV4dGVuc2lvbiBpcyBibG9ja2luZyBuZXR3b3JrIHJlcXVlc3QuIikpO2Vsc2UgdGhyb3cgRzt9fTsKZy5ycigieXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnMiKSYmSkkuaXNOd2xJbml0aWFsaXplZD9jTigpLnRoZW4oZT0+e0woZSl9KTpMKCExKX07Ck9jPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1TdygpO2lmKGImJlcpe2xldCB2PWIuc3Vic2NyaWJlKG4sZnVuY3Rpb24oKXt2YXIgaz1hcmd1bWVudHMsaD0oKT0+e0FJW3ZdJiZXLmFwcGx5JiZ0eXBlb2YgVy5hcHBseT09ImZ1bmN0aW9uIiYmVy5hcHBseShEfHx3aW5kb3csayl9Owp0cnl7bWdbbl0/aCgpOmcubiQoaCwwKX1jYXRjaCh4KXtPdCh4KX19LEQpOwpBSVt2XT0hMDtLbVtuXXx8KEttW25dPVtdKTtLbVtuXS5wdXNoKHYpO3JldHVybiB2fXJldHVybiAwfTsKUFU9ZnVuY3Rpb24obil7dmFyIFc9U3coKTtXJiYodHlwZW9mIG49PT0ibnVtYmVyIj9uPVtuXTp0eXBlb2Ygbj09PSJzdHJpbmciJiYobj1bcGFyc2VJbnQobiwxMCldKSxnLnkyKG4sRD0+e1cudW5zdWJzY3JpYmVCeUtleShEKTtkZWxldGUgQUlbRF19KSl9OwpaNT1mdW5jdGlvbihuLFcpe3ZhciBEPVN3KCk7cmV0dXJuIEQ/RC5wdWJsaXNoLmFwcGx5KEQsYXJndW1lbnRzKTohMX07CnlKPWZ1bmN0aW9uKG4pe3ZhciBXPVN3KCk7aWYoVylpZihXLmNsZWFyKG4pLG4pVWMobik7ZWxzZSBmb3IobGV0IEQgaW4gS20pVWMoRCl9OwpFYz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPVdebjtpZighKG4tNj4+Mykpe2VYKGteMjk5MCxrXjYwMjksRCk7dmFyIGg9RFtJW2teMjk4Nl1dKyhEW0lba14yOTg2XV0/SVtrXjMwNjBdOklba14zMDY3XSkrRFtJW2teMjk2N11dK0RbSVtrXjI5ODhdXTtpZihQMChrXjMwNDUsa140NjE4LEQpKXtsZXQgTD1bXTtnLmFfKERbSVsxXV0sKEcscik9PntHIT09bnVsbCYmTFtJW2teMjk4Ml1dKGAke3J9PSR7R31gKX0pOwpsZXQgZT1MW0lba14zMDA1XV0oSVtrXjI5NDVdKTtoKz1gPyR7ZX1gfXZhciB4PWh9KG4rMl43KTxuJiYobi01fDIzKT49biYmKGI9PT1JW2teNjU4OV0mJigoaD12W0lba142NTYzXV0oSVtrXjY1NDhdKSk+PTA/KGI9YGNtbz0ke3ZbSVtrXjY1NjZdXSgwLGgpfWAsdj12W0lba142NTY2XV0oaCsxKSk6KGg9dltJW2teNjU2M11dKElba142NTM1XSkpPj0wJiYoYj1gY21vPSR7dltJW2teNjU2Nl1dKDAsaCl9YCx2PXZbSVtrXjY1NjZdXShoKzMpKSksRFtiXT12KTtyZXR1cm4geH07ClN3PWZ1bmN0aW9uKCl7cmV0dXJuIGcucWkueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07ClVjPWZ1bmN0aW9uKG4pe0ttW25dJiYobj1LbVtuXSxnLnkyKG4sVz0+e0FJW1ddJiZkZWxldGUgQUlbV119KSxuLmxlbmd0aD0wKX07CmlNPWZ1bmN0aW9uKG4sVyxEPW51bGwpe3J2aChuLFcsRCl9Owpydmg9ZnVuY3Rpb24obixXLEQ9bnVsbCl7dmFyIGI9dU0odHlwZW9mIG49PT0ic3RyaW5nIj9uOm4udG9TdHJpbmcoKSksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxrPXYmJmdKKHYpLGg9diYmIWs7az9XJiZXKCk6KFcmJihrPU9jKGIsVyksVz1gJHtBaShXKX1gLG9JW1ddPWspLGh8fCh2PXN6UyhuLGIsKCk9PntnSih2KXx8KGI1dCh2KSxaNShiKSxnLm4kKCgpPT57eUooYil9LDApKX0sRCkpKX07CnN6Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwpe3ZhciB2PWcuekYoIlNDUklQVCIpO3YuaWQ9Vzt2Lm9ubG9hZD0oKT0+e0QmJnNldFRpbWVvdXQoRCwwKX07CnYub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57c3dpdGNoKHYucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6di5vbmxvYWQoKX19OwpiJiZ2LnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpO2cuUE0odix0eXBlb2Ygbj09PSJzdHJpbmciP2Z3KG4pOm4pO249ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTtuLmluc2VydEJlZm9yZSh2LG4uZmlyc3RDaGlsZCk7cmV0dXJuIHZ9Owp1TT1mdW5jdGlvbihuKXt2YXIgVz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Zy5OVShXLG4pO249Vy5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIik7cmV0dXJuYGpzLSR7c1Qobil9YH07CnpUPWZ1bmN0aW9uKG4sVyl7aWYobj09PVcpbj0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkobikmJkFycmF5LmlzQXJyYXkoVykpbj12NChuLFcselQpO2Vsc2UgaWYoZy5mdChuKSYmZy5mdChXKSlhOmlmKGcuTFQobikubGVuZ3RoIT1nLkxUKFcpLmxlbmd0aCluPSExO2Vsc2V7Zm9yKGxldCBEIGluIG4paWYoIXpUKG5bRF0sV1tEXSkpe249ITE7YnJlYWsgYX1uPSEwfWVsc2Ugbj0hMTtyZXR1cm4gbn07Cmp3PWZ1bmN0aW9uKG4sLi4uVyl7aWYoIWxNKG4pfHxXLnNvbWUoRD0+IWxNKEQpKSl0aHJvdyBFcnJvcigiT25seSBvYmplY3RzIG1heSBiZSBtZXJnZWQuIik7CmZvcihsZXQgRCBvZiBXKVRUKG4sRCl9OwpUVD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBXKWlmKGxNKFdbRF0pKXtpZihEIGluIG4mJiFsTShuW0RdKSl0aHJvdyBFcnJvcigiQ2Fubm90IG1lcmdlIGFuIG9iamVjdCBpbnRvIGEgbm9uLW9iamVjdC4iKTtEIGluIG58fChuW0RdPXt9KTtUVChuW0RdLFdbRF0pfWVsc2UgaWYoQ20oV1tEXSkpe2lmKEQgaW4gbiYmIUNtKG5bRF0pKXRocm93IEVycm9yKCJDYW5ub3QgbWVyZ2UgYW4gYXJyYXkgaW50byBhIG5vbi1hcnJheS4iKTtEIGluIG58fChuW0RdPVtdKTtCVShuW0RdLFdbRF0pfWVsc2UgbltEXT1XW0RdO3JldHVybiBufTsKQlU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgVylsTShEKT9uLnB1c2goVFQoe30sRCkpOkNtKEQpP24ucHVzaChCVShbXSxEKSk6bi5wdXNoKEQpO3JldHVybiBufTsKbE09ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KG4pfTsKQ209ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJkFycmF5LmlzQXJyYXkobil9OwpnLkZpPWZ1bmN0aW9uKG49ITEpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLlkkPW5ldyBCSyhuKTtnLnUodGhpcyx0aGlzLlkkKX07Ck1iPWZ1bmN0aW9uKG4pe2lmKHdpbmRvdy5jcnlwdG8mJndpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXRyeXt2YXIgVz1BcnJheShuKSxEPW5ldyBVaW50OEFycmF5KG4pO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKEQpO2Zvcih2YXIgYj0wO2I8Vy5sZW5ndGg7YisrKVdbYl09RFtiXTtyZXR1cm4gV31jYXRjaCh2KXt9Vz1BcnJheShuKTtmb3IoRD0wO0Q8bjtEKyspe2I9RGF0ZS5ub3coKTtmb3IobGV0IHY9MDt2PGIlMjM7disrKVdbRF09TWF0aC5yYW5kb20oKTtXW0RdPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTYpfWlmKHdvKWZvcihEPTEsYj0wO2I8d28ubGVuZ3RoO2IrKylXW0Qlbl1ePVdbKEQtMSklbl0vNF53by5jaGFyQ29kZUF0KGIpLEQrKztyZXR1cm4gV307CmcuUkk9ZnVuY3Rpb24obil7bj1NYihuKTt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJBdChuW0RdJjYzKSk7cmV0dXJuIFcuam9pbigiIil9OwpnLlFKPWZ1bmN0aW9uKCl7cmV0dXJuIGcuaV8oTWIoMTYpLG49PihuJjE1KS50b1N0cmluZygxNikpLmpvaW4oIiIpfTsKYUk9ZnVuY3Rpb24oKXsoe0NQOlc9ITEsTTY6bj0hMH09e30pO3ZhciBuLFc7aWYoZy5ycigiX2xhY3QiLHdpbmRvdyk9PW51bGwpe3ZhciBEPXBhcnNlSW50KGcuQXIoIkxBQ1QiKSwxMCk7RD1pc0Zpbml0ZShEKT9EYXRlLm5vdygpLU1hdGgubWF4KEQsMCk6LTE7Zy5HYigiX2xhY3QiLEQsd2luZG93KTtnLkdiKCJfZmFjdCIsRCx3aW5kb3cpO0Q9PS0xJiZWSigpO05ndyhXLG4pO25ldyBtWSgoKT0+e2NVKCJtb3VzZSIsMTAwKX0pfX07Cm5YPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IGcud1ooVyk7KFc9RC5nZXQoInJlcV9pZCIpKSYmbi5zZXQoInJlcV9pZCIsVyk7Zy5hXyhuLk4sKGIsdik9PntEWyJzZXQiXSh2LG51bGwpfSk7CnJldHVybiBEfTsKTmd3PWZ1bmN0aW9uKG49ITEsVz0hMCl7dmFyIEQ9d2luZG93O2cuSTkoRC5kb2N1bWVudCwia2V5ZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwia2V5dXAiLFZKKTtnLkk5KEQuZG9jdW1lbnQsIm1vdXNlZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwibW91c2V1cCIsVkopO24/Zy5JOShELCJ0b3VjaG1vdmUiLCgpPT57Y1UoInRvdWNobW92ZSIsMjAwKX0se3Bhc3NpdmU6ITB9KTooZy5JOShELCJyZXNpemUiLCgpPT57Y1UoInJlc2l6ZSIsMjAwKX0pLFcmJmcuSTkoRCwic2Nyb2xsIiwoKT0+e2NVKCJzY3JvbGwiLDIwMCl9KSk7CmcuSTkoRC5kb2N1bWVudCwidG91Y2hzdGFydCIsVkose3Bhc3NpdmU6ITB9KTtnLkk5KEQuZG9jdW1lbnQsInRvdWNoZW5kIixWSix7cGFzc2l2ZTohMH0pfTsKY1U9ZnVuY3Rpb24obixXKXtieVtuXXx8KGJ5W25dPSEwLHRhLkxTKCgpPT57VkooKTtieVtuXT0hMX0sVykpfTsKVko9ZnVuY3Rpb24oKXtnLnJyKCJfbGFjdCIsd2luZG93KT09bnVsbCYmKGFJKCksZy5ycigiX2xhY3QiLHdpbmRvdykpO3ZhciBuPURhdGUubm93KCk7Zy5HYigiX2xhY3QiLG4sd2luZG93KTtnLnJyKCJfZmFjdCIsd2luZG93KT09LTEmJmcuR2IoIl9mYWN0IixuLHdpbmRvdyk7KG49Zy5ycigieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJm4oKX07Cmcudkk9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJfbGFjdCIsd2luZG93KTtyZXR1cm4gbj09bnVsbD8tMTpNYXRoLm1heChEYXRlLm5vdygpLW4sMCl9OwpnLmhwPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcga28obil9OwpnLnhvPWZ1bmN0aW9uKG4sVyl7bi5KLnNldChXLk5ILFcpO3ZhciBEPW4uVy5nZXQoVy5OSCk7aWYoRCl0cnl7RC5RNChuLnJlc29sdmUoVy5OSCkpfWNhdGNoKGIpe0QuSlkoYil9fTsKZ0U9ZnVuY3Rpb24obixXLEQsYj0hMSl7aWYoRC5pbmRleE9mKFcpPi0xKXRocm93IEVycm9yKGBEZXBzIGN5Y2xlIGZvcjogJHtXfWApO2lmKG4uTi5oYXMoVykpcmV0dXJuIG4uTi5nZXQoVyk7aWYoIW4uSi5oYXMoVykpe2lmKGIpcmV0dXJuO3Rocm93IEVycm9yKGBObyBwcm92aWRlciBmb3I6ICR7V31gKTt9Yj1uLkouZ2V0KFcpO0QucHVzaChXKTtpZihiLlBmIT09dm9pZCAwKXZhciB2PWIuUGY7ZWxzZSBpZihiLlJjKXY9YltnLkxYXT9lWihuLGJbZy5MWF0sRCk6W10sdj1iLlJjKC4uLnYpO2Vsc2UgaWYoYi5ZTCl7dj1iLllMO2xldCBrPXZbZy5MWF0/ZVoobix2W2cuTFhdLEQpOltdO3Y9bmV3IHYoLi4uayl9ZWxzZSB0aHJvdyBFcnJvcihgQ291bGQgbm90IHJlc29sdmUgcHJvdmlkZXJzIGZvcjogJHtXfWApO0QucG9wKCk7Yi5wbnx8bi5OLnNldChXLHYpO3JldHVybiB2fTsKZVo9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXP1cubWFwKGI9PmIgaW5zdGFuY2VvZiBrbz9nRShuLGIua2V5LEQsITApOmdFKG4sYixEKSk6W119OwpnLnFqPWZ1bmN0aW9uKCl7WDR8fChYND1uZXcgcEhyKTtyZXR1cm4gWDR9Owp0cD1mdW5jdGlvbigpe3JldHVybiJoNXZjYyJpbiBHcCYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VCZWdpbiYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VFbmQ/MToicGVyZm9ybWFuY2UiaW4gR3AmJkdwLnBlcmZvcm1hbmNlLm1hcmsmJkdwLnBlcmZvcm1hbmNlLm1lYXN1cmU/MjowfTsKJG89ZnVuY3Rpb24obil7dmFyIFc9dHAoKTtzd2l0Y2goVyl7Y2FzZSAxOkdwLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsbik7YnJlYWs7Y2FzZSAyOkdwLnBlcmZvcm1hbmNlLm1hcmsoYCR7bn0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpnLnBiKFcsInVua25vd24gdHJhY2UgdHlwZSIpfX07CnJFPWZ1bmN0aW9uKG4pe3ZhciBXPXRwKCk7c3dpdGNoKFcpe2Nhc2UgMTpHcC5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixuKTticmVhaztjYXNlIDI6Vz1gJHtufS1zdGFydGA7bGV0IEQ9YCR7bn0tZW5kYDtHcC5wZXJmb3JtYW5jZS5tYXJrKEQpO0dwLnBlcmZvcm1hbmNlLm1lYXN1cmUobixXLEQpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0OmcucGIoVywidW5rbm93biB0cmFjZSB0eXBlIil9fTsKWUtqPWZ1bmN0aW9uKG4pe3ZhciBXPUFycmF5LmZyb20obi5OLmtleXMoKSkuc29ydCgoRCxiKT0+KG4uTltiXS5wcmlvcml0eT8/MCktKG4uTltEXS5wcmlvcml0eT8/MCkpOwpmb3IobGV0IEQgb2YgVylXPW4uTltEXSxXLmpvYklkPT09dm9pZCAwfHxXLk1KfHwobi5zY2hlZHVsZXIuc08oVy5qb2JJZCksZy5WeCgwLFcuSmEsMTApKX07CmZSMj1mdW5jdGlvbihuLFcsRCl7SEd0JiZjb25zb2xlLmdyb3VwQ29sbGFwc2VkJiZjb25zb2xlLmdyb3VwRW5kJiYoY29uc29sZS5ncm91cENvbGxhcHNlZChgWyR7bi5jb25zdHJ1Y3Rvci5uYW1lfV0gJyR7bi5zdGF0ZX0nIHRvICcke1d9J2ApLGNvbnNvbGUubG9nKCJ3aXRoIG1lc3NhZ2U6ICIsRCksY29uc29sZS5ncm91cEVuZCgpKX07ClNLQz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuZmlsdGVyKHY9PihuLko/P3YucHJpb3JpdHk/PzApPT09MTApLGI9Vy5maWx0ZXIodj0+KG4uSj8/di5wcmlvcml0eT8/MCkhPT0xMCk7CnJldHVybiBuLlguS0c/YXN5bmMoLi4udik9Pnthd2FpdCBKdlooRCwuLi52KTtzOShuLGIsLi4udil9OiguLi52KT0+e0lSMShELC4uLnYpOwpzOShuLGIsLi4udil9fTsKSnZaPWFzeW5jIGZ1bmN0aW9uKG4sLi4uVyl7Zy5EeSgpO2ZvcihsZXQgRCBvZiBuKXtsZXQgYjthOSgoKT0+e05qKEQubmFtZSk7dmFyIHY9cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpZbyh2KT9iPWcubCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIik/di50aGVuKCgpPT57SEkoRC5uYW1lKX0pOnYudGhlbigoKT0+e0hJKEQubmFtZSl9LGs9Pnt3aW5kb3cub25lcnJvcj8uKGsubWVzc2FnZSwiIiwwLDAsayk7CkhJKEQubmFtZSl9KTpISShELm5hbWUpfSk7CmImJmF3YWl0IGJ9fTsKczk9ZnVuY3Rpb24obixXLC4uLkQpe1c9Vy5tYXAoYj0+KHtKYTooKT0+e05qKGIubmFtZSk7cFgoKCk9PmIuY2FsbGJhY2soLi4uRCkpOwpISShiLm5hbWUpfSwKcHJpb3JpdHk6bi5KPz9iLnByaW9yaXR5Pz8wfSkpOwpXLmxlbmd0aCYmKG4uVz1uZXcgQXZqKFcpKX07CklSMT1mdW5jdGlvbihuLC4uLlcpe2cuRHkoKTtmb3IobGV0IEQgb2YgbilhOSgoKT0+e05qKEQubmFtZSk7cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpISShELm5hbWUpfSl9OwpOaj1mdW5jdGlvbihuKXtmWCYmbiYmJG8obil9OwpIST1mdW5jdGlvbihuKXtmWCYmbiYmckUobil9OwpwWD1mdW5jdGlvbihuKXtpZihnLmwoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpKXJldHVybiBuKCk7dHJ5e3JldHVybiBuKCl9Y2F0Y2goVyl7d2luZG93Lm9uZXJyb3I/LihXLm1lc3NhZ2UsIiIsMCwwLFcpfX07CkliPWZ1bmN0aW9uKCl7SnB8fChKcD1uZXcgbUV3KTtyZXR1cm4gSnB9OwpBcD1mdW5jdGlvbigpe1NafHwoU1o9cHcoZy5BcigiV09SS0VSX1NFUklBTElaQVRJT05fVVJMIikpKTtyZXR1cm4gU1p8fHZvaWQgMH07CktYPWZ1bmN0aW9uKCl7dmFyIG49QXAoKTttM3x8bj09PXZvaWQgMHx8KG0zPVhNKG4pKTtyZXR1cm4gbTN9OwpaQT1mdW5jdGlvbihuLFcpe3ZhciBEPU85KFcpO2lmKG4uTltEXSlyZXR1cm4gbi5OW0RdO3ZhciBiPU9iamVjdC5rZXlzKG4uc3RvcmUpfHxbXTtpZihiLmxlbmd0aDw9MSYmTzkoVyk9PT1iWzBdKXJldHVybiBiO3ZhciB2PVtdO2ZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXtsZXQgeD1iW2hdLnNwbGl0KCIvIik7aWYoUEkoVy5hdXRoLHhbMF0pKXt2YXIgaz1XLmlzSnNwYjtQSShrPT09dm9pZCAwPyJ1bmRlZmluZWQiOms/InRydWUiOiJmYWxzZSIseFsxXSkmJlBJKFcuY3R0QXV0aEluZm8seFsyXSkmJihrPVcudGllcixrPWs9PT12b2lkIDA/InVuZGVmaW5lZCI6SlNPTi5zdHJpbmdpZnkoayksUEkoayx4WzNdKSYmdi5wdXNoKGJbaF0pKX19cmV0dXJuIG4uTltEXT12fTsKUEk9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PXZvaWQgMHx8bj09PSJ1bmRlZmluZWQiPyEwOm49PT1XfTsKTzk9ZnVuY3Rpb24obil7cmV0dXJuW24uYXV0aD09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmF1dGgsbi5pc0pzcGI9PT12b2lkIDA/InVuZGVmaW5lZCI6bi5pc0pzcGIsbi5jdHRBdXRoSW5mbz09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmN0dEF1dGhJbmZvLG4udGllcj09PXZvaWQgMD8idW5kZWZpbmVkIjpuLnRpZXJdLmpvaW4oIi8iKX07ClU5PWZ1bmN0aW9uKCl7cmV0dXJuIGcubCgiaHRtbDVfc2VuZF9xb2Vfb25fZ2VsIil8fGcubCgid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIil9OwppeT1mdW5jdGlvbihuKXt5Uj1uO1U5KCkmJihnLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1uKTtFOT1uZXcgbn07CnV5PWZ1bmN0aW9uKG4pe3JldHVybiBuP246VTkoKT95Unx8Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRSZWdpc3RlcmVkQ2xpZW50Q3Rvcl98fG51bGw6bnVsbH07CmRFPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubG9nZ2luZy5pbXMiKTtufHwobj1uZXcgb2IsZy5HYigieXQubG9nZ2luZy5pbXMiLG4pKTtyZXR1cm4gbn07CktfMj1mdW5jdGlvbigpe2lmKHR5cGVvZiBXb3JrZXI9PT0iZnVuY3Rpb24iJiZBcCgpJiYhenApe3ZhciBuPUQ9PntEPUQuZGF0YTtpZihELm9wPT09InNlcmlhbGl6ZWRHZWxCYXRjaCIpe3ZhciBiPWx5LmdldChELmtleSk7YiYmKFRwKEQuc2VyaWFsaXplZEJhdGNoLGIuY2xpZW50LGIucmVzb2x2ZSxiLm5ldHdvcmtsZXNzT3B0aW9ucyxiLmlzSXNvbGF0ZWQsYi51c2VWU1NFbmRwb2ludCxiLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24sYi5yZXF1ZXN0c091dHN0YW5kaW5nKSxseS5kZWxldGUoRC5rZXkpKX19LFc9S1goKTsKVyYmKFcuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbiksVy5vbmVycm9yPSgpPT57bHkuY2xlYXIoKX0pOwp6cD0hMH19OwpPR3g9ZnVuY3Rpb24obixXKXtpZihuLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKG4pO3ZhciBEPUNYKG4pLGI9Qkkobi5wYXlsb2FkKXx8IiIsdj1GNChiKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe01qKG4sVyk7cmV0dXJufX1SYltEXT0hMDtEPXtjdHRBdXRoSW5mbzpELGlzSnNwYjohMSx0aWVyOmt9O2RFKCkuc3RvcmVQYXlsb2FkKEQsbi5wYXlsb2FkKTtRUihXLCExLEQsVlIoYikpfX07ClBXMT1mdW5jdGlvbihuLFcsRCl7aWYoVy5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtqWih2b2lkIDAsVyk7dmFyIGI9Q1goVywhMCksdj1GNChuKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe2NJKG4sVyxEKTtyZXR1cm59fVJiW2JdPSEwO2I9e2N0dEF1dGhJbmZvOmIsaXNKc3BiOiEwLHRpZXI6a307ZEUoKS5zdG9yZVBheWxvYWQoYixZdihXLnBheWxvYWQpKTtRUihELCEwLGIsVlIobikpfX07ClFSPWZ1bmN0aW9uKG4sVz0hMSxELGI9ITEpe24mJml5KG4pO249djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2giKXx8djAoIndlYl9sb2dnaW5nX21heF9iYXRjaCIpfHwxMDA7dmFyIHY9KDAsZy5SKSgpLGs9YWIoVyxELnRpZXIpLGg9ay5YO2ImJihrLk49ITApO2I9MDtEJiYoYj1kRSgpLmdldFNlcXVlbmNlQ291bnQoRCkpO2I+PTFFMz9uVSh7d3JpdGVUaGVuU2VuZDohMH0sVyxELnRpZXIpOmI+PW4/V3N8fChXcz1EdigoKT0+e25VKHt3cml0ZVRoZW5TZW5kOiEwfSxXLEQudGllcik7V3M9dm9pZCAwfSwwKSk6di1oPj0xMCYmKGJSKFcsRC50aWVyKSxrLlg9dil9OwpNaj1mdW5jdGlvbihuLFcpe2lmKG4uZW5kcG9pbnQ9PT0ibG9nX2V2ZW50Iil7Zy5sKCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmZEUoKS5zdG9yZVBheWxvYWQoe2lzSnNwYjohMX0sbi5wYXlsb2FkKTtqWihuKTt2YXIgRD1DWChuKSxiPW5ldyBNYXA7Yi5zZXQoRCxbbi5wYXlsb2FkXSk7dmFyIHY9Qkkobi5wYXlsb2FkKXx8IiI7KG49dXkoVykpJiZpeShuKTtyZXR1cm4gbmV3IGcuWDEoKGssaCk9PntFOSYmRTkuaXNSZWFkeSgpP3ZzKGIsRTksayxoLHtieXBhc3NOZXR3b3JrbGVzczohMH0sITAsVlIodikpOmsoKX0pfX07CmNJPWZ1bmN0aW9uKG4sVyxEKXtpZihXLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKHZvaWQgMCxXKTt2YXIgYj1DWChXLCEwKSx2PW5ldyBNYXA7di5zZXQoYixbWXYoVy5wYXlsb2FkKV0pOyhXPXV5KEQpKSYmaXkoVyk7cmV0dXJuIG5ldyBnLlgxKGs9PntFOSYmRTkuaXNSZWFkeSgpP2tBKHYsRTksayx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFZSKG4pKTprKCl9KX19OwpDWD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPSIiO2lmKG4uZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbilEPSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtlbHNlIGlmKG4uY3R0QXV0aEluZm8pe2lmKFcpe1c9bi5jdHRBdXRoSW5mby50b2tlbjtEPW4uY3R0QXV0aEluZm87bGV0IGI9bmV3IGg2O0QudmlkZW9JZD9iLnNldFZpZGVvSWQoRC52aWRlb0lkKTpELnBsYXlsaXN0SWQmJkQyKGIsMix4QSxXSChELnBsYXlsaXN0SWQpKTtMVVtXXT1ifWVsc2UgVz1uLmN0dEF1dGhJbmZvLEQ9e30sVy52aWRlb0lkP0QudmlkZW9JZD1XLnZpZGVvSWQ6Vy5wbGF5bGlzdElkJiYoRC5wbGF5bGlzdElkPVcucGxheWxpc3RJZCksZXlbbi5jdHRBdXRoSW5mby50b2tlbl09RDtEPW4uY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIER9OwpuVT1mdW5jdGlvbihuPXt9LFc9ITEsRCl7bmV3IGcuWDEoKGIsdik9Pnt2YXIgaz1hYihXLEQpLGg9ay5OO2suTj0hMTtpZihnLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpJiZnLmwoIndlYl92c3Nfcm91dGluZ19jaGVja19hbGxfdGllcl9wb2xpY2llcyIpKXtsZXQgeD1hYihXLDMwMCksTD1hYihXLDIwMCk7aD1ofHx4Lk58fEwuTjt4Lk49ITE7TC5OPSExfWc0KGsuVyk7ZzQoay5KKTtrLko9MDtFOSYmRTkuaXNSZWFkeSgpP0Q9PT12b2lkIDAmJmcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/cTEoYix2LG4sVywzMDAsaCk6cTEoYix2LG4sVyxELGgpOihiUihXLEQpLGIoKSl9KX07CnExPWZ1bmN0aW9uKG4sVyxEPXt9LGI9ITEsdj0yMDAsaz0hMSl7dmFyIGg9RTkseD1uZXcgTWFwLEw9bmV3IE1hcCxlPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDAsdGllcjp2fSxHPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDB9O2lmKGIpe2ZvcihsZXQgciBvZiBPYmplY3Qua2V5cyhSYikpVz1nLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2RFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOltlLEddLHNpemVMaW1pdDoxRTN9KTpkRSgpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMCxjdHRBdXRoSW5mbzpyfSksVy5sZW5ndGg+MCYmeC5zZXQocixXKSwoZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSYmRC53cml0ZVRoZW5TZW5kfHwhZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSkmJmRlbGV0ZSBSYltyXTtrQSh4LGgsbixELCExLGspfWVsc2V7Zm9yKGxldCByIG9mIE9iamVjdC5rZXlzKFJiKSl4PWcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/CmRFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOlt7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnIsdGllcjp2fSx7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnJ9XSxzaXplTGltaXQ6MUUzfSk6ZEUoKS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtpc0pzcGI6ITEsY3R0QXV0aEluZm86cn0pLHgubGVuZ3RoPjAmJkwuc2V0KHIseCksKGcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJkQud3JpdGVUaGVuU2VuZHx8IWcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgUmJbcl07dnMoTCxoLG4sVyxELCExLGspfX07CmJSPWZ1bmN0aW9uKG49ITEsVz0yMDApe3ZhciBEPSgpPT57blUoe3dyaXRlVGhlblNlbmQ6ITB9LG4sVyl9LGI9YWIobixXKSx2PWI9PT1HVXx8Yj09PXQ2PzVFMzpaR1o7CmcubCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhYi5KJiYodj1EdigoKT0+e0QoKX0sdiksYi5KPXYpOwpnNChiLlcpO3Y9Zy5BcigiTE9HR0lOR19CQVRDSF9USU1FT1VUIix2MCgid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Zy5sKCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmJEEmJih2PVVFdyk7dj1EdigoKT0+e3YwKCJnZWxfbWluX2JhdGNoX3NpemUiKT4wP2RFKCkuZ2V0U2VxdWVuY2VDb3VudCh7Y3R0QXV0aEluZm86dm9pZCAwLGlzSnNwYjpuLHRpZXI6V30pPj15dlMmJkQoKTpEKCl9LHYpOwpiLlc9dn07CnZzPWZ1bmN0aW9uKG4sVyxELGIsdj17fSxrLGgpe3ZhciB4PU1hdGgucm91bmQoKDAsZy5SKSgpKSxMPW4uc2l6ZSxlPXI0KGgpO2ZvcihsZXQgW0cscl1vZiBuKXtuPUc7aD1yO2xldCBOPWcuTmMoe2NvbnRleHQ6Zy5VSihXLmNvbmZpZ198fGcuUzkoKSl9KTtpZighZy5ZMihoKSYmIWcubCgidGhyb3dfZXJyX3doZW5fbG9nZXZlbnRfbWFsZm9ybWVkX2tpbGxzd2l0Y2giKSl7YigpO2JyZWFrfU4uZXZlbnRzPWg7KGg9ZXlbbl0pJiZFdkMoTixuLGgpO2RlbGV0ZSBleVtuXTtsZXQgSD1uPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO2lHaihOLHgsSCk7c3kodik7bGV0IEE9ej0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoeil9KTsKTC0tO0x8fEQoKX0seT0wLFQ9KCk9Pnt5Kys7CmlmKHYuYnlwYXNzTmV0d29ya2xlc3MmJnk9PT0xKXRyeXtnLklJKFcsZSxOLHBVKHt3cml0ZVRoZW5TZW5kOiEwfSxILEEsVCxrKSksJEE9ITF9Y2F0Y2goeil7T3QoeiksYigpfUwtLTtMfHxEKCl9Owp0cnl7Zy5JSShXLGUsTixwVSh2LEgsQSxULGspKSwkQT0hMX1jYXRjaCh6KXtPdCh6KSxiKCl9fX07CmtBPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrKXt2YXIgaD1NYXRoLnJvdW5kKCgwLGcuUikoKSkseD17dmFsdWU6bi5zaXplfSxMPW5ldyBNYXAoWy4uLm5dKTtmb3IobGV0IFtUXW9mIEwpe3ZhciBlPVQsRz1uLmdldChlKTtMPW5ldyB1RjI7dmFyIHI9Vy5jb25maWdffHxnLlM5KCksTj1uZXcgWUEsSD1uZXcgSHM7Zy5TRShILDEsci5NYik7Zy5TRShILDIsci5FRSk7S24oSCwxNixyLkZkKTtnLlNFKEgsMTcsci5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbik7aWYoci5jUil7dmFyIEE9ci5jUix5PW5ldyBpOTtBLmNvbGRDb25maWdEYXRhJiZnLlNFKHksMSxBLmNvbGRDb25maWdEYXRhKTtBLmFwcEluc3RhbGxEYXRhJiZnLlNFKHksNixBLmFwcEluc3RhbGxEYXRhKTtBLmNvbGRIYXNoRGF0YSYmZy5TRSh5LDMsQS5jb2xkSGFzaERhdGEpO0EuaG90SGFzaERhdGEmJnkuVyhBLmhvdEhhc2hEYXRhKTskOShILGk5LDYyLHkpfShBPWcucWkuZGV2aWNlUGl4ZWxSYXRpbykmJgpBIT0xJiZveihILDY1LGcuQV8oQSkpO0E9a1QoKTtBIT09IiImJmcuU0UoSCw1NCxBKTtBPWh5KCk7aWYoQS5sZW5ndGg+MCl7eT1uZXcgZlU7Zm9yKGxldCB6PTA7ejxBLmxlbmd0aDt6Kyspe2xldCBDPW5ldyBKNjtnLlNFKEMsMSxBW3pdLmtleSk7RDIoQywyLEl2LFdIKEFbel0udmFsdWUpKTtOSCh5LDE1LEo2LEMpfSQ5KE4sZlUsNSx5KX1BNyhyLEgpO21UKE4pO0tQKEgpO09KKHIsSCk7UHooSCk7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJlptKEgpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJiFnLmwoInBhZ2VpZF9hc19oZWFkZXJfd2ViIikmJihyPW5ldyBTeSxnLlNFKHIsMyxnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpKSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihBPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoeT1nZShOLFN5LDMpfHxuZXcgU3ksCnI9TixBPWcuU0UoeSwxOCxBKSwkOShyLFN5LDMsQSkpO3I9SDtBPWcuQXIoIkRFVklDRSIsIiIpO2ZvcihsZXQgW3osQ11vZiBPYmplY3QuZW50cmllcyhnLml3KEEpKSlBPXosQT09PSJjYnJhbmQiP2cuU0UociwxMixDKTpBPT09ImNtb2RlbCI/Zy5TRShyLDEzLEMpOkE9PT0iY2JyIj9nLlNFKHIsODcsQyk6QT09PSJjYnJ2ZXIiP2cuU0Uociw4OCxDKTpBPT09ImNvcyI/Zy5TRShyLDE4LEMpOkE9PT0iY29zdmVyIj9nLlNFKHIsMTksQyk6QT09PSJjcGxhdGZvcm0iJiZLbihyLDQyLGhxaChDKSk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYob3ooSCw1NSxnLnlQKHdpbmRvdy5pbm5lcldpZHRoKSksb3ooSCw1NixnLnlQKHdpbmRvdy5pbm5lckhlaWdodCkpKTtOLlcoSCk7JDkoTCxZQSwxLE4pO2lmKEg9TFVbZV0pYTp7aWYoSC5FMSgpKU49MTtlbHNlIGlmKEguZ2V0UGxheWxpc3RJZCgpKU49MjtlbHNlIGJyZWFrIGE7JDkoTCxoNiw0LEgpO0g9Z2UoTCwKWUEsMSl8fG5ldyBZQTtyPWdlKEgsU3ksMyl8fG5ldyBTeTtBPW5ldyBBNjtBLnNldFRva2VuKGUpO0tuKEEsMSxOKTtOSChyLDEyLEE2LEEpOyQ5KEgsU3ksMyxyKX1kZWxldGUgTFVbZV07ZT1lPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO21yKCl8fElZKEwsMixoKTshZSYmKE49Zy5BcigiRVZFTlRfSUQiKSkmJihIPUtVKCkscj1uZXcgT3ksZy5TRShyLDEsTiksSVkociwyLEgpLCQ5KEwsT3ksNSxyKSk7c3koYik7aWYoZy5sKCJqc3BiX3NlcmlhbGl6ZV93aXRoX3dvcmtlciIpJiYoTj1LWCgpKSYmYi53cml0ZVRoZW5TZW5kKXtseS5zZXQoUHMse2NsaWVudDpXLHJlc29sdmU6RCxuZXR3b3JrbGVzc09wdGlvbnM6Yixpc0lzb2xhdGVkOnYsdXNlVlNTRW5kcG9pbnQ6ayxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOmUscmVxdWVzdHNPdXRzdGFuZGluZzp4fSk7Ti5wb3N0TWVzc2FnZSh7b3A6ImdlbEJhdGNoVG9TZXJpYWxpemUiLGJhdGNoUmVxdWVzdDpZdihMKSxjbGllbnRFdmVudHM6RywKa2V5OlBzfSk7UHMrKzticmVha31pZihHKXtOPVtdO2ZvcihIPTA7SDxHLmxlbmd0aDtIKyspdHJ5e04ucHVzaChuZXcgWnYoR1tIXSkpfWNhdGNoe090KG5ldyBnLlF4KCJUcmFuc3BvcnQgZmFpbGVkIHRvIGRlc2VyaWFsaXplICIrU3RyaW5nKEdbSF0pKSl9Rz1OfWVsc2UgRz1bXTtmb3IobGV0IHogb2YgRylOSChMLDMsWnYseik7Rz17c3RhcnRUaW1lOigwLGcuUikoKSx0aWNrczp7fSxpbmZvczp7fX07TD1MLmJZKCk7Ry50aWNrcy5nZWxqc3BjPSgwLGcuUikoKTtnLmwoImxvZ19qc3BiX3NlcmlhbGl6ZV9sYXRlbmN5IikmJkYzKCJnZWxfanNwYl9zZXJpYWxpemUiLEcse3NhbXBsZVJhdGU6LjF9KTtUcChMLFcsRCxiLHYsayxlLHgpfX07ClRwPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrLGgseD17dmFsdWU6MH0pe2s9cjQoayk7Yj1wVShiLGgsTD0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoTCl9KTsKeC52YWx1ZS0tO3gudmFsdWV8fEQoKX0sKCk9Pnt4LnZhbHVlLS07CngudmFsdWV8fEQoKX0sdik7CmIuaGVhZGVyc1siQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiO2IucG9zdEJvZHlGb3JtYXQ9IkpTUEIiO2IucG9zdEJvZHk9bjtnLklJKFcsaywiIixiKTskQT0hMX07CnN5PWZ1bmN0aW9uKG4pe2cubCgiYWx3YXlzX3NlbmRfYW5kX3dyaXRlIikmJihuLndyaXRlVGhlblNlbmQ9ITEpfTsKcFU9ZnVuY3Rpb24obixXLEQsYix2KXtuPXtyZXRyeTohMCxvblN1Y2Nlc3M6RCxvbkVycm9yOmIsbmV0d29ya2xlc3NPcHRpb25zOm4sZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpXLFRVOiEhdixoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOmcubCgiY29tcHJlc3NfZ2VsIil8fGcubCgiY29tcHJlc3NfZ2VsX2xyIil9O21yKCkmJihuLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gbn07CmlHaj1mdW5jdGlvbihuLFcsRCl7bXIoKXx8KG4ucmVxdWVzdFRpbWVNcz1TdHJpbmcoVykpO2cubCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYobi51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFEJiYoVz1nLkFyKCJFVkVOVF9JRCIpKSYmKEQ9S1UoKSxuLnNlcmlhbGl6ZWRDbGllbnRFdmVudElkPXtzZXJpYWxpemVkRXZlbnRJZDpXLGNsaWVudENvdW50ZXI6U3RyaW5nKEQpfSl9OwpLVT1mdW5jdGlvbigpe3ZhciBuPWcuQXIoIkJBVENIX0NMSUVOVF9DT1VOVEVSIil8fDA7bnx8KG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKTtuKys7bj42NTUzNSYmKG49MSk7Zy5TSCgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLG4pO3JldHVybiBufTsKRXZDPWZ1bmN0aW9uKG4sVyxEKXtpZihELnZpZGVvSWQpdmFyIGI9IlZJREVPIjtlbHNlIGlmKEQucGxheWxpc3RJZCliPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47bi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPUQ7bi5jb250ZXh0PW4uY29udGV4dHx8e307bi5jb250ZXh0LnVzZXI9bi5jb250ZXh0LnVzZXJ8fHt9O24uY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOlcsc2NvcGU6Yn1dfTsKalo9ZnVuY3Rpb24obixXKXt2YXIgRD1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiKSxiPWJiKCJpbF9wYXlsb2FkX3NjcmFwaW5nIik7Yj0oYiE9PXZvaWQgMD9TdHJpbmcoYik6IiIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighRClpZihiKVV5PVtdLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmVuYWJsZVNjcmFwaW5nRm9yVGVzdCIsITApLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLFV5KSxnLkdiKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5wYXlsb2FkVG9TY3JhcGUiLCJ2aXN1YWxFbGVtZW50U2hvd24gdmlzdWFsRWxlbWVudEhpZGRlbiB2aXN1YWxFbGVtZW50QXR0YWNoZWQgc2NyZWVuQ3JlYXRlZCB2aXN1YWxFbGVtZW50R2VzdHVyZWQgdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIuc3BsaXQoIiAiKSksZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZFBheWxvYWRGcm9tQ2xpZW50RXZlbnRzRnVuY3Rpb24iKSwKZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuc2NyYXBlQ2xpZW50RXZlbnQiLCEwKTtlbHNlIHJldHVybjtEPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciKTtiPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnBheWxvYWRUb1NjcmFwZSIpO1cmJihXPVcucGF5bG9hZCwoVz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5nZXRTY3JhcGVkUGF5bG9hZEZyb21DbGllbnRFdmVudHNGdW5jdGlvbiIpLmJpbmQoVykoKSkmJkQucHVzaChXKSk7Vz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGImJmIubGVuZ3RoPj0xKWZvcihsZXQgdj0wO3Y8Yi5sZW5ndGg7disrKW4mJm4ucGF5bG9hZFtiW3ZdXSYmKFc/RC5wdXNoKG4ucGF5bG9hZCk6RC5wdXNoKChuPy5wYXlsb2FkKVtiW3ZdXSkpO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLEQpfTsKbXI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5sKCJ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlciIpfHxnLmwoImxyX3VzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil9OwpEdj1mdW5jdGlvbihuLFcpe3JldHVybiBnLmwoInRyYW5zcG9ydF91c2Vfc2NoZWR1bGVyIik9PT0hMT9nLm4kKG4sVyk6Zy5sKCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIil8fGcubCgibHJfbG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpP2cuY0IoMCwoKT0+e0liKCkuY3VycmVudFN0YXRlPT09Im5vbmUiP24oKTpJYigpLmluc3RhbGwoe25vbmU6e2NhbGxiYWNrOm59fSl9LFcpOmcuY0IoMCxuLFcpfTsKZzQ9ZnVuY3Rpb24obil7Zy5sKCJ0cmFuc3BvcnRfdXNlX3NjaGVkdWxlciIpP3RhLnNPKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9OwpOMT1hc3luYyBmdW5jdGlvbihuKXtuPW4/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIFc9Zy53KG4sb3Z0KSxEPW4/LmhvdEhhc2hEYXRhLGI9Zy53KG4sZEUyKSx2PW4/LmNvbGRIYXNoRGF0YSxrPWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpO2smJihEJiYoVz9hd2FpdCBIeihrLEQsVyk6YXdhaXQgSHooayxEKSksdiYmKGI/YXdhaXQgZlAoayx2LGIpOmF3YWl0IGZQKGssdikpKTtXPW4/LnJhd0ZpbmNoU3RhdGljQ29uZmlnR3JvdXA7KG49bj8uZmluY2hTdGF0aWNIYXNoRGF0YSk/KEQ9Zy5xaigpLnJlc29sdmUoZy5ocCh6X3QpKSk/YXdhaXQgRC5OVSh7Y29uZmlnOld8fHt9LFlVOm58fCIifSk6KFd8fG4pJiZaRShuZXcgZy5ReCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSBpcyBub3QgcHJlc2VudCwgYnV0IEZpbmNoIGNvbmZpZyBkYXRhIGlzIHByZXNlbnQuIikpOlcmJlpFKG5ldyBnLlF4KCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFiPWZ1bmN0aW9uKG4sVz0yMDApe3JldHVybiBuP1c9PT0zMDA/R1U6bFJDOlc9PT0zMDA/dDY6VGdpfTsKRjQ9ZnVuY3Rpb24obil7aWYoZy5sKCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7bj15NFtufHwiIl07dmFyIFc9Zy5xaigpLnJlc29sdmUoZy5ocChnLlgzKSk/LkxYKCk/LmxvZ2dpbmdIb3RDb25maWc/LmV2ZW50TG9nZ2luZ0NvbmZpZz8ucGF5bG9hZFBvbGljaWVzO2lmKFcpZm9yKGxldCBEPTA7RDxXLmxlbmd0aDtEKyspaWYoV1tEXS5wYXlsb2FkTnVtYmVyPT09bilyZXR1cm4gV1tEXX19OwpCST1mdW5jdGlvbihuKXtuPU9iamVjdC5rZXlzKG4pO2ZvcihsZXQgVyBvZiBuKWlmKHk0W1ddKXJldHVybiBXfTsKd0U9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07ClZSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ImdlbERlYnVnZ2luZ0V2ZW50Inx8bj09PSJ3YXRjaFRpbWVTZWdtZW50In07CnI0PWZ1bmN0aW9uKG49ITEpe3JldHVybiBuJiZnLmwoInZzc190aHJvdWdoX2dlbF92aWRlb19zdGF0cyIpPyJ2aWRlb19zdGF0cyI6ImxvZ19ldmVudCJ9Owp1Uj1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj17fSxrPU1hdGgucm91bmQoYi50aW1lc3RhbXB8fCgwLGcuUikoKSk7di5ldmVudFRpbWVNcz1rPE51bWJlci5NQVhfU0FGRV9JTlRFR0VSP2s6MDt2W25dPVc7bj1nLnZJKCk7di5jb250ZXh0PXtsYXN0QWN0aXZpdHlNczpTdHJpbmcoYi50aW1lc3RhbXB8fCFpc0Zpbml0ZShuKT8tMTpuKX07Yi5zZXF1ZW5jZUdyb3VwJiYhZy5sKCJ3ZWJfZ2VsX3NlcXVlbmNlX2luZm9fa2lsbHN3aXRjaCIpJiYobj12LmNvbnRleHQsVz1iLnNlcXVlbmNlR3JvdXAsVz17aW5kZXg6RXkoVyksZ3JvdXBLZXk6V30sbi5zZXF1ZW5jZT1XLGIuZW5kT2ZTZXF1ZW5jZSYmZGVsZXRlIGlSW2Iuc2VxdWVuY2VHcm91cF0pO2cubCgid2ViX3RhZ19hdXRvbWF0ZWRfbG9nX2V2ZW50cyIpJiYodi5jb250ZXh0LmF1dG9tYXRlZExvZ0V2ZW50U291cmNlPWIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpOyhiLnNlbmRJc29sYXRlZFBheWxvYWQ/TWo6T0d4KSh7ZW5kcG9pbnQ6ImxvZ19ldmVudCIsCnBheWxvYWQ6dixjdHRBdXRoSW5mbzpiLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246Yi5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxEKX07Cm92PWZ1bmN0aW9uKG49ITEpe25VKHZvaWQgMCxuKX07CkV5PWZ1bmN0aW9uKG4pe2lSW25dPW4gaW4gaVI/aVJbbl0rMTowO3JldHVybiBpUltuXX07CmcuelU9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPWcuZDQ7Zy5BcigieXRMb2dnaW5nRXZlbnRzRGVmYXVsdERpc2FibGVkIiwhMSkmJmcuZDQ9PT1nLmQ0JiYoYj1udWxsKTt1UihuLFcsYixEKX07ClRVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgbFIoe3RyYWNraW5nUGFyYW1zOm59KX07Cmp5PWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD1qelorKztyZXR1cm4gbmV3IGxSKHt2ZVR5cGU6bix2ZUNvdW50ZXI6aCxlbGVtZW50SW5kZXg6RCxkYXRhRWxlbWVudDpXLHlvdXR1YmVEYXRhOmIsanNwYllvdXR1YmVEYXRhOnYsbG9nZ2luZ0RpcmVjdGl2ZXM6a30pfTsKQ1U9ZnVuY3Rpb24obj0wKXtyZXR1cm4gZy5BcigiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIse30pW25dfTsKQ1dpPWZ1bmN0aW9uKG4sVz0wKXt2YXIgRD1nLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7RHx8KEQ9e30sZy5TSCgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsRCkpO0RbV109bn07CkJzPWZ1bmN0aW9uKG49MCl7cmV0dXJuIG49PT0wPyJST09UX1ZFX1RZUEUiOmBST09UX1ZFX1RZUEUuJHtufWB9OwpGUj1mdW5jdGlvbihuPTApe3JldHVybiBnLkFyKEJzKG4pKX07Cnc0PWZ1bmN0aW9uKG49MCl7cmV0dXJuKG49RlIobikpP25ldyBsUih7dmVUeXBlOm4seW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTsKTTE9ZnVuY3Rpb24oKXt2YXIgbj1nLkFyKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIpO258fChuPXt9LGcuU0goImNzbi10by1jdHQtYXV0aC1pbmZvIixuKSk7cmV0dXJuIG59OwpCZ3I9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhnLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSkpLmZpbHRlcihuPT5uIT09dm9pZCAwKX07CmcuUnY9ZnVuY3Rpb24obj0wKXtuPUNVKG4pO2lmKCFuJiYhZy5BcigiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO258fChuPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIG4/bjpudWxsfTsKd0hDPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBPYmplY3QudmFsdWVzKEZfVSkpaWYoZy5SdihXKT09PW4pcmV0dXJuITA7cmV0dXJuITF9OwpNV3c9ZnVuY3Rpb24obixXLEQpe3ZhciBiPU0xKCk7KEQ9Zy5SdihEKSkmJmRlbGV0ZSBiW0RdO1cmJihiW25dPVcpfTsKUTQ9ZnVuY3Rpb24obil7cmV0dXJuIE0xKClbbl19Owpjcz1mdW5jdGlvbihuLFcsRD0wLGIpe2lmKG4hPT1DVShEKXx8VyE9PWcuQXIoQnMoRCkpKWlmKE1XdyhuLGIsRCksQ1dpKG4sRCksZy5TSChCcyhEKSxXKSxXPSgpPT57c2V0VGltZW91dCgoKT0+e24mJmcuelUoImZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkIix7Y2xpZW50RG9jdW1lbnROb25jZTpWNCxjbGllbnRTY3JlZW5Ob25jZTpufSl9LDApfSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdyl0cnl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShXKX1jYXRjaCh2KXtXKCl9ZWxzZSBXKCl9OwpuND1mdW5jdGlvbihuLFcpe3ZhciBEPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pLGI9Zy5JUCh3aW5kb3cubG9jYXRpb24uaHJlZik7YiYmRC5wdXNoKGIpO2I9Zy5JUChuKTtpZihnLmpqKEQsYil8fCFiJiZnLmpVKG4sIi8iKSlpZihEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxnLk5VKEQsbiksbj1ELmhyZWYpaWYobj1tVyhuKSxuPUtwKG4pKWlmKCFXLmNzbiYmKFcuaXRjdHx8Vy52ZWQpJiYoVz1PYmplY3QuYXNzaWduKHtjc246Zy5SdigpfSxXKSksdil7dmFyIHY9cGFyc2VJbnQodiwxMCk7aXNGaW5pdGUodikmJnY+MCYmYXYobixXLHYpfWVsc2UgYXYobixXKX07CmF2PWZ1bmN0aW9uKG4sVyxEKXtuPVdhKG4pO1c9Vz95RyhXKToiIjtEPUR8fDU7Zy5hSygpJiZJSyhuLFcsRCl9OwpXYT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgUl9NKW49VDUobixXKTtyZXR1cm4iU1QtIitzVChuKS50b1N0cmluZygzNil9OwpnLkRwPWZ1bmN0aW9uKG4pe2lmKG4uc2ltcGxlVGV4dClyZXR1cm4gbi5zaW1wbGVUZXh0O2lmKG4ucnVucyl7bGV0IFc9W107Zm9yKGxldCBEIG9mIG4ucnVucylELnRleHQmJlcucHVzaChELnRleHQpO3JldHVybiBXLmpvaW4oIiIpfXJldHVybiIifTsKZy5iZz1mdW5jdGlvbihuKXtpZihuLnNpbXBsZVRleHQpcmV0dXJuIG49ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobi5zaW1wbGVUZXh0KSxuO3ZhciBXPVtdO2lmKG4ucnVucylmb3IobGV0IHg9MDt4PG4ucnVucy5sZW5ndGg7eCsrKXt2YXIgRD1uLnJ1bnNbeF07aWYoRC50ZXh0KXt2YXIgYj1XLHY9Yi5wdXNoLGs9bnVsbDt2YXIgaD1ELnRleHQ7RC5ib2xkJiYoaz1nLmRtKCJCIixudWxsLGt8fGgpKTtELml0YWxpY3MmJihrPWcuZG0oIkkiLG51bGwsa3x8aCkpO0Quc3RyaWtldGhyb3VnaCYmKGs9Zy5kbSgiU1RSSUtFIixudWxsLGt8fGgpKTtELm5hdmlnYXRpb25FbmRwb2ludCYmRC5uYXZpZ2F0aW9uRW5kcG9pbnQudXJsRW5kcG9pbnQmJihEPUQubmF2aWdhdGlvbkVuZHBvaW50LnVybEVuZHBvaW50LGs9Zy5kbSgiQSIsbnVsbCxrfHxoKSxnLk5VKGssRC51cmwpLEQudGFyZ2V0PT0iVEFSR0VUX05FV19XSU5ET1ciJiYoay50YXJnZXQ9Il9ibGFuayIpKTtoPWt8fGcuZG0oIlNQQU4iLApudWxsLGgpO3YuY2FsbChiLGgpfX1yZXR1cm4gVy5sZW5ndGg9PTE/V1swXTpnLmRtKCJTUEFOIixudWxsLFcpfTsKUXoxPWZ1bmN0aW9uKG4pe2lmKG4ubmFtZT09PSJKYXZhRXhjZXB0aW9uIilyZXR1cm4hMDtuPW4uc3RhY2s7cmV0dXJuIG4uaW5jbHVkZXMoImNocm9tZTovLyIpfHxuLmluY2x1ZGVzKCItZXh0ZW5zaW9uOi8vIil8fG4uaW5jbHVkZXMoIndlYmtpdC1tYXNrZWQtdXJsOi8vIil9OwpWV3g9ZnVuY3Rpb24obil7aWYoIW4uc3RhY2spcmV0dXJuITA7dmFyIFc9IW4uc3RhY2suaW5jbHVkZXMoIlxuIik7cmV0dXJuIFcmJm4uc3RhY2suaW5jbHVkZXMoIkVycm9yVHlwZTogIil8fFcmJm4uc3RhY2suaW5jbHVkZXMoIkFub255bW91cyBmdW5jdGlvbiAoVW5rbm93biBzY3JpcHQiKXx8bi5zdGFjay50b0xvd2VyQ2FzZSgpPT09Im5vdCBhdmFpbGFibGUifHxuLmZpbGVOYW1lPT09InVzZXItc2NyaXB0Inx8bi5maWxlTmFtZS5zdGFydHNXaXRoKCJ1c2VyLXNjcmlwdDoiKT8hMDohMX07CmhQPWZ1bmN0aW9uKCl7aWYoIXZhKXt2YXIgbj12YT1uZXcgY3ZoO24uTjkubGVuZ3RoPTA7bi5rby5sZW5ndGg9MDtrQihuLGFSUyl9cmV0dXJuIHZhfTsKa0I9ZnVuY3Rpb24obixXKXtXLk45JiZuLk45LnVuc2hpZnQuYXBwbHkobi5OOSxXLk45KTtXLmtvJiZuLmtvLnVuc2hpZnQuYXBwbHkobi5rbyxXLmtvKX07Cm45dz1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aCxEPTAsYj0oKT0+bi5jaGFyQ29kZUF0KEQrKyk7CmRve3ZhciB2PXhCKGIpO2lmKHY9PT1JbmZpbml0eSlicmVhaztsZXQgaz12Pj4zO3N3aXRjaCh2Jjcpe2Nhc2UgMDp2PXhCKGIpO2lmKGs9PT0yKXJldHVybiB2O2JyZWFrO2Nhc2UgMTppZihrPT09MilyZXR1cm47RCs9ODticmVhaztjYXNlIDI6dj14QihiKTtpZihrPT09MilyZXR1cm4gbi5zdWJzdHIoRCx2KTtEKz12O2JyZWFrO2Nhc2UgNTppZihrPT09MilyZXR1cm47RCs9NDticmVhaztkZWZhdWx0OnJldHVybn19d2hpbGUoRDxXKX07CnhCPWZ1bmN0aW9uKG4pe3ZhciBXPW4oKSxEPVcmMTI3O2lmKFc8MTI4KXJldHVybiBEO1c9bigpO0R8PShXJjEyNyk8PDc7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7RHw9KFcmMTI3KTw8MTQ7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7cmV0dXJuIFc8MTI4P0R8KFcmMTI3KTw8MjE6SW5maW5pdHl9OwpnSz1mdW5jdGlvbihuLFcsRCxiKXtpZihuKWlmKEFycmF5LmlzQXJyYXkobikpe3ZhciB2PWI7Zm9yKGI9MDtiPG4ubGVuZ3RoJiYhKG5bYl0mJih2Kz1MNChiLG5bYl0sVyxEKSx2PjUwMCkpO2IrKyk7Yj12fWVsc2UgaWYodHlwZW9mIG49PT0ib2JqZWN0Iilmb3IodiBpbiBuKXtpZihuW3ZdKXthOnt2YXIgaz12O3ZhciBoPW5bdl0seD1XLEw9RDtpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxrIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZrIT09InRyYWNraW5nUGFyYW1zIil7az0wO2JyZWFrIGF9az0oaD1uOXcoYXRvYihoLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSkpP0w0KGAke2t9LnZlYCxoLHgsTCk6MH1iKz1rO2IrPUw0KHYsblt2XSxXLEQpO2lmKGI+NTAwKWJyZWFrfX1lbHNlIERbV109ZWkobiksYis9RFtXXS5sZW5ndGg7ZWxzZSBEW1ddPWVpKG4pLGIrPURbV10ubGVuZ3RoO3JldHVybiBifTsKTDQ9ZnVuY3Rpb24obixXLEQsYil7RCs9YC4ke259YDtuPWVpKFcpO2JbRF09bjtyZXR1cm4gRC5sZW5ndGgrbi5sZW5ndGh9OwplaT1mdW5jdGlvbihuKXt0cnl7cmV0dXJuKHR5cGVvZiBuPT09InN0cmluZyI/bjpTdHJpbmcoSlNPTi5zdHJpbmdpZnkobikpKS5zdWJzdHIoMCw1MDApfWNhdGNoKFcpe3JldHVybmB1bmFibGUgdG8gc2VyaWFsaXplICR7dHlwZW9mIG59ICgke1cubWVzc2FnZX0pYH19OwpXTlU9ZnVuY3Rpb24obixXPXt9KXtpZihuPW4uelope2xldCBEPW4uSngsYj1uLmQ2O249W1siY29tcG9uZW50U3RhY2siLG4ubUldLFsid2l6VGFnTmFtZSIsbi50YWdOYW1lXSxbIndpek93bmVyVHJhY2UiLG4uRHU/LmpvaW4oIiA+ICIpXSxbImVycm9yU2V2ZXJpdHkiLEQ/LnRvU3RyaW5nKCldLFsid2l6RmVhdHVyZUZsYWdzIixiP09iamVjdC5lbnRyaWVzKGIpLmpvaW4oIlxuIik6dm9pZCAwXV07Zm9yKGxldCBbdixrXW9mIG4pbj1rLG4hPT12b2lkIDAmJihXW3ZdPW4pfXJldHVybiBXfTsKZy5xZz1mdW5jdGlvbihuKXtnLlhqKG4pfTsKZy5HcT1mdW5jdGlvbihuKXtnLlhqKG4sIldBUk5JTkciKX07CmcuWGo9ZnVuY3Rpb24obixXPSJFUlJPUiIpe3ZhciBEPXt9O0QubmFtZT1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSk7RC52ZXJzaW9uPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7REh0KG4sRCxXKX07CkRIdD1mdW5jdGlvbihuLFcsRD0iRVJST1IiKXtpZihuKXtuLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZuLmxldmVsJiYoRD1uLmxldmVsKTtpZihnLmwoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBiPVc7aWYoIWI/LmNvbXBvbmVudFN0YWNrKXt2YXIgdj1uLnpaPy5tSTt2JiYoYnx8KGI9e30pLGIuY29tcG9uZW50U3RhY2s9dil9Vz1ifHxXfWVsc2UgVz1XTlUobixXKSxiPW4uelo/Lkp4LGIhPT12b2lkIDAmJkQhPT0iSUdOT1JFRCImJihEPWI+PTM/IkVSUk9SIjoiV0FSTklORyIpO2lmKGcubCgiY29uc29sZV9sb2dfanNfZXhjZXB0aW9ucyIpfHxbInRlc3QiLCJkZXYiLCJhdXRvcHVzaCIsInN0YWdpbmciXS5pbmNsdWRlcyhnLkFyKCJTRVJWRVJfVkVSU0lPTiIpKSliPVtdLGIucHVzaChgTmFtZTogJHtuLm5hbWV9YCksYi5wdXNoKGBNZXNzYWdlOiAke24ubWVzc2FnZX1gKSxuLmhhc093blByb3BlcnR5KCJwYXJhbXMiKSYmYi5wdXNoKGBFcnJvciBQYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkobi5wYXJhbXMpfWApLApuLmhhc093blByb3BlcnR5KCJhcmdzIikmJmIucHVzaChgRXJyb3IgYXJnczogJHtKU09OLnN0cmluZ2lmeShuLmFyZ3MpfWApLGIucHVzaChgRmlsZSBuYW1lOiAke24uZmlsZU5hbWV9YCksYi5wdXNoKGBTdGFja3RyYWNlOiAke24uc3RhY2t9YCksYj1iLmpvaW4oIlxuIiksd2luZG93LmNvbnNvbGUubG9nKGIsbik7aWYoISh0UD49NSkpe2I9W107Zm9yKGsgb2YgYm4yKXRyeXtrKCkmJmIucHVzaChrKCkpfWNhdGNoKEEpe312YXIgaz1iO2s9Wy4uLnY5MiwuLi5rXTt2YXIgaD1yaWIobik7Yj1oLm1lc3NhZ2V8fCJVbmtub3duIEVycm9yIjt2PWgubmFtZXx8IlVua25vd25FcnJvciI7dmFyIHg9aC5zdGFja3x8bi5TdHx8Ik5vdCBhdmFpbGFibGUiO2lmKHguc3RhcnRzV2l0aChgJHt2fTogJHtifWApKXt2YXIgTD14LnNwbGl0KCJcbiIpO0wuc2hpZnQoKTt4PUwuam9pbigiXG4iKX1MPWgubGluZU51bWJlcnx8Ik5vdCBhdmFpbGFibGUiO2g9aC5maWxlTmFtZXx8Ik5vdCBhdmFpbGFibGUiOwpsZXQgSD0wO2lmKG4uaGFzT3duUHJvcGVydHkoImFyZ3MiKSYmbi5hcmdzJiZuLmFyZ3MubGVuZ3RoKWZvcih2YXIgZT0wO2U8bi5hcmdzLmxlbmd0aCYmIShIPWdLKG4uYXJnc1tlXSxgcGFyYW1zLiR7ZX1gLFcsSCksSD49NTAwKTtlKyspO2Vsc2UgaWYobi5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJm4ucGFyYW1zKXtsZXQgQT1uLnBhcmFtcztpZih0eXBlb2Ygbi5wYXJhbXM9PT0ib2JqZWN0Iilmb3IoZSBpbiBBKXtpZighQVtlXSljb250aW51ZTtsZXQgeT1gcGFyYW1zLiR7ZX1gLFQ9ZWkoQVtlXSk7V1t5XT1UO0grPXkubGVuZ3RoK1QubGVuZ3RoO2lmKEg+NTAwKWJyZWFrfWVsc2UgVy5wYXJhbXM9ZWkoQSl9aWYoay5sZW5ndGgpZm9yKGU9MDtlPGsubGVuZ3RoJiYhKEg9Z0soa1tlXSxgcGFyYW1zLmNvbnRleHQuJHtlfWAsVyxIKSxIPj01MDApO2UrKyk7bmF2aWdhdG9yLnZlbmRvciYmIVcuaGFzT3duUHJvcGVydHkoInZlbmRvciIpJiYoV1siZGV2aWNlLnZlbmRvciJdPQpuYXZpZ2F0b3IudmVuZG9yKTtlPXttZXNzYWdlOmIsbmFtZTp2LGxpbmVOdW1iZXI6TCxmaWxlTmFtZTpoLHN0YWNrOngscGFyYW1zOlcsc2FtcGxlV2VpZ2h0OjF9O1c9TnVtYmVyKG4uY29sdW1uTnVtYmVyKTtpc05hTihXKXx8KGUubGluZU51bWJlcj1gJHtlLmxpbmVOdW1iZXJ9OiR7V31gKTtpZihuLmxldmVsPT09IklHTk9SRUQiKXZhciBHPTA7ZWxzZSBhOntuPWhQKCk7Zm9yKEcgb2Ygbi5OOSlpZihlLm1lc3NhZ2UmJmUubWVzc2FnZS5tYXRjaChHLktSKSl7Rz1HLndlaWdodDticmVhayBhfWZvcih2YXIgciBvZiBuLmtvKWlmKHIuY2FsbGJhY2soZSkpe0c9ci53ZWlnaHQ7YnJlYWsgYX1HPTF9ZS5zYW1wbGVXZWlnaHQ9RztHPWU7Zm9yKHZhciBOIG9mIGskYil7aWYoIU4uWXpbRy5uYW1lXSljb250aW51ZTtyPU4uWXpbRy5uYW1lXTtmb3IobGV0IEEgb2Ygcil7cj1HLm1lc3NhZ2UubWF0Y2goQS53Yik7aWYoIXIpY29udGludWU7Ry5wYXJhbXNbInBhcmFtcy5lcnJvci5vcmlnaW5hbCJdPQpyWzBdO249QS5ncm91cHM7ZT17fTtmb3IoVz0wO1c8bi5sZW5ndGg7VysrKWVbbltXXV09cltXKzFdLEcucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHtuW1ddfWBdPXJbVysxXTtHLm1lc3NhZ2U9Ti5HMShlKTticmVha319Ry5wYXJhbXN8fChHLnBhcmFtcz17fSk7Tj1oUCgpO0cucGFyYW1zWyJwYXJhbXMuZXJyb3JTZXJ2aWNlU2lnbmF0dXJlIl09YG1zZz0ke04uTjkubGVuZ3RofSZjYj0ke04ua28ubGVuZ3RofWA7Ry5wYXJhbXNbInBhcmFtcy5zZXJ2aWNlV29ya2VyIl09ImZhbHNlIjtnLnFpLmRvY3VtZW50JiZnLnFpLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihHLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3ICRCKHJLLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT0kQiYmKEcucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09InRydWUiKTt3aW5kb3cueXRlcnImJgp0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKEcpO0cuc2FtcGxlV2VpZ2h0PT09MHx8SVUuaGFzKEcubWVzc2FnZSl8fGhUUyhHLEQpfX19OwpoVFM9ZnVuY3Rpb24obixXPSJFUlJPUiIpe2lmKFc9PT0iRVJST1IiKXtTaS5XSigiaGFuZGxlRXJyb3IiLG4pO2lmKGcubCgicmVjb3JkX2FwcF9jcmFzaGVkX3dlYiIpJiZBUD09PTAmJm4uc2FtcGxlV2VpZ2h0PT09MSl7QVArKzt2YXIgRD17YXBwQ3Jhc2hUeXBlOiJBUFBfQ1JBU0hfVFlQRV9CUkVBS1BBRCJ9O2cubCgicmVwb3J0X2NsaWVudF9lcnJvcl93aXRoX2FwcF9jcmFzaF9rcyIpfHwoRC5zeXN0ZW1IZWFsdGg9e2NyYXNoRGF0YTp7Y2xpZW50RXJyb3I6e2xvZ01lc3NhZ2U6e21lc3NhZ2U6bi5tZXNzYWdlfX19fSk7Zy56VSgiYXBwQ3Jhc2hlZCIsRCl9eEhNKyt9ZWxzZSBXPT09IldBUk5JTkciJiZTaS5XSigiaGFuZGxlV2FybmluZyIsbik7aWYoZy5sKCJrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmciKSl7RD17fTtiOntmb3IoYiBvZiBMTkMpaWYoZy51YihiLnRvTG93ZXJDYXNlKCkpKXt2YXIgYj0hMDticmVhayBifWI9ITF9aWYoYilEPXZvaWQgMDtlbHNle3ZhciB2PQp7c3RhY2tUcmFjZTpuLnN0YWNrfTtuLmZpbGVOYW1lJiYodi5maWxlbmFtZT1uLmZpbGVOYW1lKTtiPW4ubGluZU51bWJlciYmbi5saW5lTnVtYmVyLnNwbGl0P24ubGluZU51bWJlci5zcGxpdCgiOiIpOltdO2IubGVuZ3RoIT09MCYmKGIubGVuZ3RoIT09MXx8aXNOYU4oTnVtYmVyKGJbMF0pKT9iLmxlbmd0aCE9PTJ8fGlzTmFOKE51bWJlcihiWzBdKSl8fGlzTmFOKE51bWJlcihiWzFdKSl8fCh2LmxpbmVOdW1iZXI9TnVtYmVyKGJbMF0pLHYuY29sdW1uTnVtYmVyPU51bWJlcihiWzFdKSk6di5saW5lTnVtYmVyPU51bWJlcihiWzBdKSk7Yj17bGV2ZWw6IkVSUk9SX0xFVkVMX1VOS05PV04iLG1lc3NhZ2U6bi5tZXNzYWdlLGVycm9yQ2xhc3NOYW1lOm4ubmFtZSxzYW1wbGVXZWlnaHQ6bi5zYW1wbGVXZWlnaHR9O1c9PT0iRVJST1IiP2IubGV2ZWw9IkVSUk9SX0xFVkVMX0VSUk9SIjpXPT09IldBUk5JTkciJiYoYi5sZXZlbD0iRVJST1JfTEVWRUxfV0FSTk5JTkciKTt2PXtpc09iZnVzY2F0ZWQ6ITAsCmJyb3dzZXJTdGFja0luZm86dn07RC5wYWdlVXJsPXdpbmRvdy5sb2NhdGlvbi5ocmVmO0Qua3ZQYWlycz1bXTtnLkFyKCJGRVhQX0VYUEVSSU1FTlRTIikmJihELmV4cGVyaW1lbnRJZHM9Zy5BcigiRkVYUF9FWFBFUklNRU5UUyIpKTt2YXIgaz1nLkFyKCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighbXkoIndlYl9kaXNhYmxlX2dlbF9zdHBfZWNhdGNoZXJfa2lsbHN3aXRjaCIpJiZrKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhrKSlELmt2UGFpcnMucHVzaCh7a2V5OmgsdmFsdWU6U3RyaW5nKGtbaF0pfSk7aWYoaD1uLnBhcmFtcylmb3IodmFyIHggb2YgT2JqZWN0LmtleXMoaCkpRC5rdlBhaXJzLnB1c2goe2tleTpgY2xpZW50LiR7eH1gLHZhbHVlOlN0cmluZyhoW3hdKX0pO2lmKHg9bi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZClELnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoeCk7eD1nLkFyKCJTRVJWRVJfTkFNRSIpO2g9Zy5BcigiU0VSVkVSX1ZFUlNJT04iKTsKeCYmaCYmKEQua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTp4fSksRC5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KHg9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiZELmt2UGFpcnMucHVzaCh7a2V5OiJjbGllbnQucGxheWVyLnZlcnNpb24iLHZhbHVlOnh9KTtEPXtlcnJvck1ldGFkYXRhOkQsc3RhY2tUcmFjZTp2LGxvZ01lc3NhZ2U6Yn19aWYoRCYmKGcuelUoImNsaWVudEVycm9yIixEKSxXPT09IkVSUk9SInx8Zy5sKCJlcnJvcnNfZmx1c2hfZ2VsX2Fsd2F5c19raWxsc3dpdGNoIikpKWE6e2lmKGcubCgid2ViX2ZwX3ZpYV9qc3BiIikpe0Q9bTE7bTE9W107aWYoRClmb3IodmFyIEwgb2YgRCl1UihMLnBheWxvYWROYW1lLEwucGF5bG9hZCxnLmQ0LEwub3B0aW9ucyk7b3YoITApO2lmKCFnLmwoIndlYl9mcF92aWFfanNwYl9hbmRfanNvbiIpKWJyZWFrIGF9b3YoKX19aWYoIWcubCgic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciKSl7TD0Kbi5wYXJhbXN8fHt9O1c9e3VybFBhcmFtczp7YToibG9nZXJyb3IiLHQ6ImpzZXJyb3IiLHR5cGU6bi5uYW1lLG1zZzpuLm1lc3NhZ2Uuc3Vic3RyKDAsMjUwKSxsaW5lOm4ubGluZU51bWJlcixsZXZlbDpXLCJjbGllbnQubmFtZSI6TC5uYW1lfSxwb3N0UGFyYW1zOnt1cmw6Zy5BcigiUEFHRV9OQU1FIix3aW5kb3cubG9jYXRpb24uaHJlZiksZmlsZTpuLmZpbGVOYW1lfSxtZXRob2Q6IlBPU1QifTtMLnZlcnNpb24mJihXWyJjbGllbnQudmVyc2lvbiJdPUwudmVyc2lvbik7aWYoVy5wb3N0UGFyYW1zKXtuLnN0YWNrJiYoVy5wb3N0UGFyYW1zLnN0YWNrPW4uc3RhY2spO2Zvcih2YXIgZSBvZiBPYmplY3Qua2V5cyhMKSlXLnBvc3RQYXJhbXNbYGNsaWVudC4ke2V9YF09TFtlXTtpZihlPWcuQXIoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgRyBvZiBPYmplY3Qua2V5cyhlKSlXLnBvc3RQYXJhbXNbR109ZVtHXTsoRz1nLkFyKCJMQVZBX1ZFUlNJT04iKSkmJgooVy5wb3N0UGFyYW1zWyJsYXZhLnZlcnNpb24iXT1HKTtHPWcuQXIoIlNFUlZFUl9OQU1FIik7ZT1nLkFyKCJTRVJWRVJfVkVSU0lPTiIpO0cmJmUmJihXLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09RyxXLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09ZSk7KEc9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiYoVy5wb3N0UGFyYW1zWyJjbGllbnQucGxheWVyLnZlcnNpb24iXT1HKX1nLmVkKGAke2cuQXIoIkVDQVRDSEVSX1JFUE9SVF9IT1NUIiwiIil9L2Vycm9yXzIwNGAsVyl9dHJ5e0lVLmFkZChuLm1lc3NhZ2UpfWNhdGNoKHIpe310UCsrfTsKSzQ9ZnVuY3Rpb24obiwuLi5XKXtuLmFyZ3N8fChuLmFyZ3M9W10pO0FycmF5LmlzQXJyYXkobi5hcmdzKSYmbi5hcmdzLnB1c2goLi4uVyl9OwpPYT1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVc9VyozMStuLmNoYXJDb2RlQXQoRCksRDxuLmxlbmd0aC0xJiYoVyU9MHg4MDAwMDAwMDAwMDApO3JldHVybiBXJTFFNX07Cmc5aT1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCl7dmFyIGU9ZVRoKCk7az1uZXcgbFIoe3ZlVHlwZTpXLHlvdXR1YmVEYXRhOmssanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO0w9UGEoe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOkx9LGUpO3YmJihMLmN0dEF1dGhJbmZvPXYpO3Y9e2NzbjplLHBhZ2VWZTprLmdldEFzSnNvbigpfTtnLmwoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmeCYmeC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKHYuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9eC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7RCYmRC52aXN1YWxFbGVtZW50Pyh2LmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOkQuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpELnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJih2LmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6RCYmZy5HcShuZXcgZy5ReCgibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKVykpO2ImJih2LmNsb25lQ3NuPWIpO24/dVIoInNjcmVlbkNyZWF0ZWQiLHYsbixMKTpnLnpVKCJzY3JlZW5DcmVhdGVkIix2LEwpO2w5KFRvLG5ldyBacChlKSk7VWEuY2xlYXIoKTt5NS5jbGVhcigpO0VhLmNsZWFyKCk7cmV0dXJuIGV9Owp1Zz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7aWcobixXLEQsW2JdLHYsayl9OwppZz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7T2JqZWN0LmFzc2lnbihrLFBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwfSxXKSk7Zm9yKGxldCB4IG9mIGIpe3ZhciBoPXguZ2V0QXNKc29uKCk7KGcuR0YoaCl8fCFoLnRyYWNraW5nUGFyYW1zJiYhaC52ZVR5cGUpJiZnLkdxKEVycm9yKCJDaGlsZCBWRSBsb2dnZWQgd2l0aCBubyBkYXRhIikpO2lmKGcubCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7bGV0IEw9b1UoeCxXKTtpZihoLnZlVHlwZSYmIXk1LmhhcyhMKSYmIUVhLmhhcyhMKSYmIXYpe2lmKCFnLmwoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxVYS5zaXplPDFFMyl7VWEuc2V0KEwsW24sVyxELHhdKTtyZXR1cm59Zy5sKCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiKSYmVWEuc2l6ZT4xRTMmJmcuR3EobmV3IGcuUXgoIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPW9VKEQsVyk7VWEuaGFzKGgpP2RLKEQsVyk6RWEuc2V0KGgsCiEwKX19Yj1iLmZpbHRlcih4PT57eC5jc24hPT1XPyh4LmNzbj1XLHg9ITApOng9ITE7cmV0dXJuIHh9KTsKRD17Y3NuOlcscGFyZW50VmU6RC5nZXRBc0pzb24oKSxjaGlsZFZlczpnLmlfKGIseD0+eC5nZXRBc0pzb24oKSl9OwpXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGssRCk6bj91UigidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELG4sayk6Zy56VSgidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELGspfTsKWFdqPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe2xnKEQsVyk7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpofSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZToxfTt2JiYoRC5jbGllbnREYXRhPXYpO1c9PT0iVU5ERUZJTkVEX0NTTiI/enEoInZpc3VhbEVsZW1lbnRTaG93biIsYixEKTpuP3VSKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsYil9OwpUcT1mdW5jdGlvbihuLFcsRCxiPSExKXt2YXIgdj1iPzE2Ojg7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmIsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZTp2fTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRIaWRkZW4iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixELGIpfTsKcVZaPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtqaShuLFcsRCxiLGspfTsKamk9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12b2lkIDA7bGcoRCxXKTtrPWt8fCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIjt2PVBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZ9LFcpO0Q9e2NzbjpXLHZlOkQuZ2V0QXNKc29uKCksZ2VzdHVyZVR5cGU6a307YiYmKEQuY2xpZW50RGF0YT1iKTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50R2VzdHVyZWQiLHYsRCk6bj91UigidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELG4sdik6Zy56VSgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELHYpfTsKRyRqPWZ1bmN0aW9uKCl7dmFyIG49TWIoMTYpO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVcucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KG5bRF0mNjMpKTtyZXR1cm4gVy5qb2luKCIiKX07CnpxPWZ1bmN0aW9uKG4sVyxEKXtDNC5wdXNoKHtwYXlsb2FkTmFtZTpuLHBheWxvYWQ6RCxwUDp2b2lkIDAsb3B0aW9uczpXfSk7QmF8fChCYT1GME0oKSl9OwpDNHc9ZnVuY3Rpb24obil7aWYoQzQpe2ZvcihsZXQgVyBvZiBDNClXLnBheWxvYWQmJihXLnBheWxvYWQuY3NuPW4uY3NuLGcuelUoVy5wYXlsb2FkTmFtZSxXLnBheWxvYWQsVy5vcHRpb25zKSk7QzQubGVuZ3RoPTB9QmE9MH07Cm9VPWZ1bmN0aW9uKG4sVyl7cmV0dXJuYCR7bi5nZXRBc0pzb24oKS52ZVR5cGV9JHtuLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke1d9YH07CmxnPWZ1bmN0aW9uKG4sVyl7aWYoZy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXt2YXIgRD1vVShuLFcpO3k1LnNldChELCEwKTtkSyhuLFcpfX07CmRLPWZ1bmN0aW9uKG4sVyl7bj1vVShuLFcpO1VhLmhhcyhuKSYmKFc9VWEuZ2V0KG4pfHxbXSx1ZyhXWzBdLFdbMV0sV1syXSxXWzNdLCEwKSxVYS5kZWxldGUobikpfTsKUGE9ZnVuY3Rpb24obixXKXtnLmwoImxvZ19zZXF1ZW5jZV9pbmZvX29uX2dlbF93ZWIiKSYmKG4uc2VxdWVuY2VHcm91cD1XKTtyZXR1cm4gbn07CkZqPWZ1bmN0aW9uKG4sVyxELGIpe1BWKFhXaikodm9pZCAwLG4sVyxELGIsdm9pZCAwKX07CnRFeD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntsZyhELG4pO3ZhciBiPVBhKHtjdHRBdXRoSW5mbzpRNChuKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZvaWQgMH0sbik7RD17Y3NuOm4sdmU6RC5nZXRBc0pzb24oKSxldmVudFR5cGU6NH07bj09PSJVTkRFRklORURfQ1NOIj96cSgidmlzdWFsRWxlbWVudFNob3duIixiLEQpOmcuelUoInZpc3VhbEVsZW1lbnRTaG93biIsRCxiKX0pfSkoKX07CiRIdD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntUcSh2b2lkIDAsbixEKX0pfSkoKX07CndLPWZ1bmN0aW9uKCl7dmFyIG49ITE7dHJ5e249ISF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKX1jYXRjaHtuPSEwfXJldHVybihnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiIpJiZufTsKTWc9ZnVuY3Rpb24oKXt0cnl7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInN0aWNraW5lc3NfcmVsb2FkIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInNlc3Npb25fbG9naW5pbmZvIik7Zy5TSCgiTE9HSU5fSU5GTyIsIiIpO3dpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJmcm9tX3N3aXRjaF9hY2NvdW50IiwiMSIpO3ZhciBuO2xldCBEPXJTaDtEfHwoRD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGVyc2lzdF9pZGVudGl0eSIpKTtpZihuPUQpe3ZhciBXPW4uc3JjPyhuZXcgVVJMKG4uc3JjKSkub3JpZ2luOiIqIjtuLmNvbnRlbnRXaW5kb3c/LnBvc3RNZXNzYWdlKHthY3Rpb246ImNsZWFyIn0sVyl9fWNhdGNoe319OwpnLlJVPWZ1bmN0aW9uKG4pe24mJihuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9BZGRTZXNzaW9uIik/TWcoKTpuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKT9NZygpOm4uc3RhcnRzV2l0aCgiaHR0cHM6Ly9teWFjY291bnQuZ29vZ2xlLmNvbSIpJiZscihuKS5KLmVuZHNXaXRoKCIveW91dHViZW9wdGlvbnMiKSYmTWcoKSk7aWYoZy5BcigiTE9HR0VEX0lOIiwhMCkmJndLKCkpe3ZhciBXPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBEPWcuSVAod2luZG93LmxvY2F0aW9uLmhyZWYpO0QmJlcucHVzaChEKTtEPWcuSVAobik7Zy5qaihXLEQpfHwhRCYmZy5qVShuLCIvIik/KFc9bVcobiksKFc9S3AoVykpPyhXPVdhKFcpLFc9KFc9Zy5TZChXKXx8bnVsbCk/Zy5pdyhXKTp7fSk6Vz1udWxsKTpXPW51bGw7Vz09bnVsbCYmKFc9e30pO0Q9Vzt2YXIgYj12b2lkIDA7CndLKCk/KGJ8fChiPWcuQXIoIkxPR0lOX0lORk8iKSksYj8oRC5zZXNzaW9uX2xvZ2luaW5mbz1iLEQ9ITApOkQ9ITEpOkQ9ITE7RCYmbjQobixXKX19OwpRNT1mdW5jdGlvbihuLFc9e30pe3ZhciBEPWcuQXIoIkVWRU5UX0lEIik7RCYmKFcuZWl8fChXLmVpPUQpKTtXJiZuNChuLFcpfTsKZy5jYT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe0QmJm40KG4sRCk7RD1nLnRGKG4sZy5HNCl8fGcuVjU7dmFyIGs9Z3ooRCk7biE9ayYmWkUoRXJyb3IoYFVuc2FmZSB3aW5kb3cub3BlbiBVUkw6ICR7bn1gKSk7bj1rO1c9V3x8c1QobikudG9TdHJpbmcoMzYpO3RyeXtpZih2KXJldHVybiB2PW4sdj1nLnFiKHYpLGcuUlUodiksSkYodixXLCJhdHRyaWJ1dGlvbnNyYyIpfWNhdGNoKGgpe090KGgpfWcuUlUobik7cmV0dXJuIEpGKEQsVyxiKX07Ck5lMj1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5ocmVmO2lmKGcubCgia2V2bGFyX2Rpc2FibGVfdGhlbWVfcGFyYW0iKSlyZXR1cm4gbnVsbDtTMShuKTt0cnl7bGV0IFc9Zy5vRShuKS50aGVtZTtyZXR1cm4gc1lVLmdldChXKXx8bnVsbH1jYXRjaChXKXt9cmV0dXJuIG51bGx9OwphVT1mdW5jdGlvbihuLFcpe2lmKFcuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPVcsdHlwZW9mIFcuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBEPU51bWJlcihXLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxEKjFFMyk7Cm4uSiYmSUsoIkNPTlNJU1RFTkNZIixXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHMsRCx2b2lkIDAsITApfX07Cm5CPWZ1bmN0aW9uKG4pe3JldHVybiBuLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgdEkoInl0LWNsaWVudC1sb2NhdGlvbiIpOm4ubG9jYWxTdG9yYWdlfTsKZy52Yj1mdW5jdGlvbihuLFc9ITEsRD0hMSxiLHYpe3ZhciBrPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7aWYoIWspcmV0dXJuIGcuWGooRXJyb3IoIkVycm9yOiBObyBJbm5lclR1YmVDb250ZXh0IHNoZWxsIHByb3ZpZGVkIGluIHl0Y29uZmlnLiIpKSx7fTtrPWcuTmMoayk7Zy5sKCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGsuY2xpY2tUcmFja2luZztrLmNsaWVudHx8KGsuY2xpZW50PXt9KTt2YXIgaD1rLmNsaWVudDtoLmNsaWVudE5hbWU9PT0iTVdFQiImJmguY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGguY2xpZW50Rm9ybUZhY3Rvcj1nLkFyKCJJU19UQUJMRVQiKT8iTEFSR0VfRk9STV9GQUNUT1IiOiJTTUFMTF9GT1JNX0ZBQ1RPUiIpO2guc2NyZWVuV2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGg7aC5zY3JlZW5IZWlnaHRQb2ludHM9d2luZG93LmlubmVySGVpZ2h0O2guc2NyZWVuUGl4ZWxEZW5zaXR5PQpNYXRoLnJvdW5kKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKTtoLnNjcmVlbkRlbnNpdHlGbG9hdD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtoLnV0Y09mZnNldE1pbnV0ZXM9LU1hdGguZmxvb3IoKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgeD1nLm85KCk7dmFyIEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjt4LlFRKDE2NSk/TD0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6eC5RUSgxNzQpP0w9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjohZy5sKCJrZXZsYXJfbGVnYWN5X2Jyb3dzZXJzIikmJndpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lKSIpLm1hdGNoZXMmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyYmKEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiKTt4PU5lMigpfHxMO2gudXNlckludGVyZmFjZVRoZW1lPQp4O2cubCgid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIikmJmcucWkuZG9jdW1lbnQmJihoLmFwcGxpY2F0aW9uU3RhdGU9Zy5xaS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFXKXtpZih4PUJCKCkpaC5jb25uZWN0aW9uVHlwZT14O2cubCgid2ViX2xvZ19lZmZlY3RpdmVfY29ubmVjdGlvbl90eXBlIikmJih4PXdKKCkpJiYoay5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9eCl9Zy5sKCJ3ZWJfbG9nX21lbW9yeV90b3RhbF9rYnl0ZXMiKSYmZy5xaS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGsuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke2cucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkqMUU2fWApO1cmJmImJiFnLmwoIndlYl9pdF9jb250ZXh0X3NldF9vcmlnaW5hbF91cmxfa3MiKSYmKHg9YixMPWcucWkubG9jYXRpb24uaHJlZixMIGluc3RhbmNlb2YKZy5Vanx8KEw9bHIoTCkpLHggaW5zdGFuY2VvZiBnLlVqfHwoeD1scih4KSkseD1MLnJlc29sdmUoeCksaC5vcmlnaW5hbFVybD14LnRvU3RyaW5nKCkpO2lmKGcubCgid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIikpe3ZhciBlPUo3KCk7ZSYmKHg9ZS5jb2xkQ29uZmlnRGF0YSxMPWUuY29sZEhhc2hEYXRhLGU9ZS5ob3RIYXNoRGF0YSxrLmNsaWVudC5jb25maWdJbmZvPWsuY2xpZW50LmNvbmZpZ0luZm98fHt9LHgmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRDb25maWdEYXRhPXgpLEwmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRIYXNoRGF0YT1MKSxlJiYoay5jbGllbnQuY29uZmlnSW5mby5ob3RIYXNoRGF0YT1lKSl9eD1nLm9FKGcucWkubG9jYXRpb24uaHJlZik7IWcubCgid2ViX3BvcHVsYXRlX2ludGVybmFsX2dlb19raWxsc3dpdGNoIikmJnguaW50ZXJuYWxjb3VudHJ5Y29kZSYmKGguaW50ZXJuYWxHZW89eC5pbnRlcm5hbGNvdW50cnljb2RlKTshZy5sKCJ3ZWJfcG9wdWxhdGVfY2xpZW50X3NjcmVlbl9raWxsc3dpdGNoIikmJgp2JiYoaC5jbGllbnRTY3JlZW49dik7aC5jbGllbnROYW1lPT09Ik1XRUIifHxoLmNsaWVudE5hbWU9PT0iV0VCIj8oaC5tYWluQXBwV2ViSW5mb3x8KGgubWFpbkFwcFdlYkluZm89e30pLGgubWFpbkFwcFdlYkluZm8uZ3JhZnRVcmw9Ynx8Zy5xaS5sb2NhdGlvbi5ocmVmLGcubCgia2V2bGFyX3dvZmZsZSIpJiZXYi5pbnN0YW5jZSYmKGI9V2IuaW5zdGFuY2UsaC5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hYi5OJiZiLko/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfVU5LTk9XTiIpLGgubWFpbkFwcFdlYkluZm8ud2ViRGlzcGxheU1vZGU9eXgoKSxoLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmguY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFnLmwoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJgooYj1nLkFyKCJMSVZJTkdfUk9PTV9BUFBfUVVBTElUWSIpKSYmKGgudHZBcHBJbmZvPU9iamVjdC5hc3NpZ24oaC50dkFwcEluZm98fHt9LHthcHBRdWFsaXR5OmJ9KSksYj1nLkFyKCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoaC50dkFwcEluZm89T2JqZWN0LmFzc2lnbihoLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpifSkpO2lmKCFnLmwoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIEc9KG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTticmVhayBhfWNhdGNoe31HPXZvaWQgMH1HJiYoaC50aW1lWm9uZT1HKX0oRz1rVCgpKT9oLmV4cGVyaW1lbnRzVG9rZW49RzpkZWxldGUgaC5leHBlcmltZW50c1Rva2VuO2g9aHkoKTtETS5pbnN0YW5jZXx8KERNLmluc3RhbmNlPW5ldyBETSk7Rz1oSyhETS5pbnN0YW5jZS5OKTsKay5yZXF1ZXN0PXsuLi5rLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6aCxjb25zaXN0ZW5jeVRva2VuSmFyczpHfTshZy5sKCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihoPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1BSRVFVRVNUX0NPTlRFWFQiKSkmJihrLnJlcXVlc3QuZXh0ZXJuYWxQcmVxdWVzdENvbnRleHQ9aCk7Rz1nLm85KCk7aD1HLlFRKDU4KTtHPUcuZ2V0KCJnc21sIiwiIik7ay51c2VyPXsuLi5rLnVzZXJ9O2gmJihrLnVzZXIuZW5hYmxlU2FmZXR5TW9kZT1oKTtHJiYoay51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO2cubCgid2FybV9vcF9jc25fY2xlYW51cCIpP0QmJihXPWcuUnYoKSkmJihrLmNsaWVudFNjcmVlbk5vbmNlPVcpOiFXJiYoVz1nLlJ2KCkpJiYoay5jbGllbnRTY3JlZW5Ob25jZT1XKTtuJiYoay5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOm59KTtpZihuPWcucnIoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWsucmVtb3RlQ2xpZW50PQpuO2IkLmdldEluc3RhbmNlKCkuc2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQoayk7dHJ5e3ZhciByPWcuUUYoKSxOPXIuYmlkO2RlbGV0ZSByLmJpZDtrLmFkU2lnbmFsc0luZm89e3BhcmFtczpbXSxiaWQ6Tn07Zm9yKGxldCBbSCxBXW9mIE9iamVjdC5lbnRyaWVzKHIpKXI9SCxOPUEsay5hZFNpZ25hbHNJbmZvLnBhcmFtcz8ucHVzaCh7a2V5OnIsdmFsdWU6YCR7Tn1gfSk7aWYoay5jbGllbnQ/LmNsaWVudE5hbWU9PT0iVFZIVE1MNSJ8fGsuY2xpZW50Py5jbGllbnROYW1lPT09IlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IEg9Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFQiKTtILmFkU2lnbmFsc0luZm8mJihrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZD1ILmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZCxrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZFNpZ25hbFR5cGU9IkRFVklDRV9JRF9UWVBFX0NPTk5FQ1RFRF9UVl9JRkEiLGsuYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmc9CkguYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmcsSC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cyE9PXZvaWQgMCYmKGsuYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXM9SC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cykpfX1jYXRjaChIKXtnLlhqKEgpfXJldHVybiBrfTsKa1Y9ZnVuY3Rpb24obil7dmFyIFc9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP1dbIlgtR29vZy1FT00tVmlzaXRvci1JZCJdPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKTpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKFdbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO1dbIlgtWW91dHViZS1Cb290c3RyYXAtTG9nZ2VkLUluIl09Zy5BcigiTE9HR0VEX0lOIiwhMSk7Zy5BcigiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKFdbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1nLkFyKCJERUJVR19TRVRUSU5HU19NRVRBREFUQSIpKTtuIT09ImNvcnMiJiYoKG49Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSkmJihXWyJYLVlvdXR1YmUtQ2xpZW50LU5hbWUiXT1uKSwobj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKFdbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQpuKSwobj1nLkFyKCJDSFJPTUVfQ09OTkVDVEVEX0hFQURFUiIpKSYmKFdbIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIl09biksKG49Zy5BcigiRE9NQUlOX0FETUlOX1NUQVRFIikpJiYoV1siWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSJdPW4pLChuPWIkLmdldEluc3RhbmNlKCkuZ2V0WEdlb0hlYWRlcj8uKCkpJiYoV1siWC1HZW8iXT1uKSk7KG49Zy5BcigiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoV1siWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1uKTtyZXR1cm4gV307CmhtPWZ1bmN0aW9uKG4pe3JldHVybigpPT5uZXcgbn07CnBXTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTEpcmV0dXJuIG5bMF07dmFyIFc9eFYuVU5LTk9XTl9JTlRFUkZBQ0U7aWYoVyl7Vz1uZXcgUmVnRXhwKFcpO2Zvcih2YXIgRCBvZiBuKWlmKFcuZXhlYyhEKSlyZXR1cm4gRH12YXIgYj1bXTtPYmplY3QuZW50cmllcyh4VikuZm9yRWFjaCgoW3Ysa10pPT57IlVOS05PV05fSU5URVJGQUNFIiE9PXYmJmIucHVzaChrKX0pOwpEPW5ldyBSZWdFeHAoYi5qb2luKCJ8IikpO24uc29ydCgodixrKT0+di5sZW5ndGgtay5sZW5ndGgpOwpmb3IobGV0IHYgb2YgbilpZighRC5leGVjKHYpKXJldHVybiB2O3JldHVybiBuWzBdfTsKTEI9ZnVuY3Rpb24obil7cmV0dXJuYC95b3V0dWJlaS92MS8ke3BXTShuKX1gfTsKZ2I9ZnVuY3Rpb24obil7cmV0dXJuIGcucnIoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iKXx8ZUwobil9OwpYQT1mdW5jdGlvbigpe3ZhciBuPWdiKCk7bi5pbmZvfHwobi5pbmZvPXt9KTtyZXR1cm4gbi5pbmZvfTsKcVE9ZnVuY3Rpb24obil7bj1nYihuKTtuLm1ldGFkYXRhfHwobi5tZXRhZGF0YT17fSk7cmV0dXJuIG4ubWV0YWRhdGF9OwpHdz1mdW5jdGlvbihuKXtuPWdiKG4pO24udGlja3x8KG4udGljaz17fSk7cmV0dXJuIG4udGlja307CnRtPWZ1bmN0aW9uKG4pe249Z2Iobik7aWYobi5nZWwpe2xldCBXPW4uZ2VsO1cuZ2VsSW5mb3N8fChXLmdlbEluZm9zPXt9KTtXLmdlbFRpY2tzfHwoVy5nZWxUaWNrcz17fSl9ZWxzZSBuLmdlbD17Z2VsVGlja3M6e30sZ2VsSW5mb3M6e319O3JldHVybiBuLmdlbH07CiRWPWZ1bmN0aW9uKG4pe249dG0obik7bi5nZWxJbmZvc3x8KG4uZ2VsSW5mb3M9e30pO3JldHVybiBuLmdlbEluZm9zfTsKWVZTPWZ1bmN0aW9uKCl7dmFyIG49dG0oKTtuLnByZUxvZ2dlZEdlbEluZm9zfHwobi5wcmVMb2dnZWRHZWxJbmZvcz1bXSk7cmV0dXJuIG4ucHJlTG9nZ2VkR2VsSW5mb3N9OwpyYj1mdW5jdGlvbihuKXt2YXIgVz1nYihuKS5ub25jZTtXfHwoVz1nLlJJKDE2KSxnYihuKS5ub25jZT1XKTtyZXR1cm4gV307CmVMPWZ1bmN0aW9uKG4pe3ZhciBXPXt0aWNrOnt9LGluZm86e319O2cuR2IoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iLFcpO3JldHVybiBXfTsKc0g9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5kZWJ1ZyIpO258fChuPVtdLGcuR2IoInl0Y3NpLmRlYnVnIixuKSxnLkdiKCJ5dGNzaS5yZWZlcmVuY2UiLHt9KSk7cmV0dXJuIG59OwpwQj1mdW5jdGlvbihuKXt2YXIgVz1zSCgpO1cucHVzaChuKTtnLmwoImxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemUiKSYmVy5sZW5ndGg+TlEmJlcuc3BsaWNlKDAsVy5sZW5ndGgtTlEpfTsKSGI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO2lmKFdbbl0pcmV0dXJuIFdbbl07dmFyIEQ9e3RpbWVyTmFtZTpuLGluZm86e30sdGljazp7fSxzcGFuOnt9LGpzcGJJbmZvOltdfTtwQihEKTtyZXR1cm4gV1tuXT1EfTsKZkI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO1dbbl0mJmRlbGV0ZSBXW25dO3ZhciBEPXt0aW1lck5hbWU6bixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07cEIoRCk7V1tuXT1EfTsKWVY9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5yZWZlcmVuY2UiKTtpZihuKXJldHVybiBuO3NIKCk7cmV0dXJuIGcucnIoInl0Y3NpLnJlZmVyZW5jZSIpfTsKSUw9ZnVuY3Rpb24obil7cmV0dXJuIEptW25dfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9OwpIbnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPU1hdGgucm91bmQoRC50aW1lc3RhbXB8fCgwLGcuUikoKSk7SVkobiwxLGI8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/YjowKTtiPW5ldyBTTDtpZihELmxhY3QpSVkoYiwxLGlzRmluaXRlKEQubGFjdCk/RC5sYWN0Oi0xKTtlbHNlIGlmKEQudGltZXN0YW1wKUlZKGIsMSwtMSk7ZWxzZXt2YXIgdj1nLnZJKCk7SVkoYiwxLGlzRmluaXRlKHYpP3Y6LTEpfWlmKEQuc2VxdWVuY2VHcm91cCYmIWcubCgid2ViX2dlbF9zZXF1ZW5jZV9pbmZvX2tpbGxzd2l0Y2giKSl7dj1ELnNlcXVlbmNlR3JvdXA7bGV0IGs9RXkodiksaD1uZXcgQW07SVkoaCwyLGspO2cuU0UoaCwxLHYpOyQ5KGIsQW0sMyxoKTtELmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBtcVtELnNlcXVlbmNlR3JvdXBdfSQ5KG4sU0wsMzMsYik7KEQuc2VuZElzb2xhdGVkUGF5bG9hZD9jSTpQVzEpKCJsYXRlbmN5QWN0aW9uSW5mbyIse2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6biwKY3R0QXV0aEluZm86RC5jdHRBdXRoSW5mbyxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOkQuZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbn0sVyl9OwpmMmo9ZnVuY3Rpb24obixXPXt9KXt2YXIgRD0hMTtnLkFyKCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmKEQ9ITApO0hucihuLEQ/bnVsbDpnLmQ0LFcpfTsKT0g9ZnVuY3Rpb24oKXtLQi5pbnN0YW5jZXx8KEtCLmluc3RhbmNlPW5ldyBLQik7cmV0dXJuIEtCLmluc3RhbmNlfTsKWk09ZnVuY3Rpb24obixXKXtQYltXXT1QYltXXXx8e2NvdW50OjB9O3ZhciBEPVBiW1ddO0QuY291bnQrKztELnRpbWU9KDAsZy5SKSgpO24uTnx8KG4uTj1nLmNCKDAsKCk9Pnt2YXIgYj0oMCxnLlIpKCk7Zm9yKGxldCB2IGluIFBiKVBiW3ZdJiZiLVBiW3ZdLnRpbWU+NkU0JiZkZWxldGUgUGJbdl07biYmKG4uTj0wKX0sNUUzKSk7CnJldHVybiBELmNvdW50PjU/KEQuY291bnQ9PT02JiZNYXRoLnJhbmRvbSgpKjFFNTwxJiYoRD1uZXcgZy5ReCgiQ1NJIGRhdGEgZXhjZWVkZWQgbG9nZ2luZyBsaW1pdCB3aXRoIGtleSIsVy5zcGxpdCgiXyIpKSxXLmluZGV4T2YoInBsZXYiKT49MHx8Zy5HcShEKSksITApOiExfTsKRUg9ZnVuY3Rpb24oKXt2YXIgbjtnLmwoImNzaV91c2VfcGVyZm9ybWFuY2VfbmF2aWdhdGlvbl90aW1pbmciKT8obj1VSD8uZ2V0RW50cmllc0J5VHlwZT8uKCJuYXZpZ2F0aW9uIik/LlswXT8udG9KU09OPy4oKSk/KG4ucmVxdWVzdFN0YXJ0PXl2KG4ucmVxdWVzdFN0YXJ0KSxuLnJlc3BvbnNlRW5kPXl2KG4ucmVzcG9uc2VFbmQpLG4ucmVkaXJlY3RTdGFydD15dihuLnJlZGlyZWN0U3RhcnQpLG4ucmVkaXJlY3RFbmQ9eXYobi5yZWRpcmVjdEVuZCksbi5kb21haW5Mb29rdXBFbmQ9eXYobi5kb21haW5Mb29rdXBFbmQpLG4uY29ubmVjdFN0YXJ0PXl2KG4uY29ubmVjdFN0YXJ0KSxuLmNvbm5lY3RFbmQ9eXYobi5jb25uZWN0RW5kKSxuLnJlc3BvbnNlU3RhcnQ9eXYobi5yZXNwb25zZVN0YXJ0KSxuLnNlY3VyZUNvbm5lY3Rpb25TdGFydD15dihuLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksbi5kb21haW5Mb29rdXBTdGFydD15dihuLmRvbWFpbkxvb2t1cFN0YXJ0KSxuLmlzUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nPQohMCk6bj1VSC50aW1pbmc6bj1nLmwoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShVSC50aW1pbmcpKTpVSC50aW1pbmc7cmV0dXJuIG59Owp5dj1mdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5yb3VuZChpJCgpK24pfTsKaSQ9ZnVuY3Rpb24oKXtyZXR1cm4oZy5sKCJjc2lfdXNlX3RpbWVfb3JpZ2luIil8fGcubCgiY3NpX3VzZV90aW1lX29yaWdpbl90dmh0bWw1IikpJiZVSC50aW1lT3JpZ2luP01hdGguZmxvb3IoVUgudGltZU9yaWdpbik6VUgudGltaW5nLm5hdmlnYXRpb25TdGFydH07CkpTcj1mdW5jdGlvbigpe3ZhciBuPVlWUygpLFc9JFYoKSxEPXZvaWQgMDtmb3IodmFyIGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHg9bltiXTtpZih4LmxvYWRUeXBlKXtEPXgubG9hZFR5cGU7YnJlYWt9fWlmKHFRKCkubG9hZFR5cGU9PT0iY29sZCImJihXLmxvYWRUeXBlPT09ImNvbGQifHxEPT09ImNvbGQiKSl7RD1HdygpO2I9dG0oKTtiPWIuZ2VsVGlja3M/Yi5nZWxUaWNrczpiLmdlbFRpY2tzPXt9O2Zvcih2YXIgdiBpbiBEKXYgaW4gYnx8dHlwZW9mIERbdl09PT0ibnVtYmVyIiYmdSQodixvTCh2KSk7dmFyIGs9e30saD0hMTt2PXg9PntqdyhXLHgpO2p3KGsseCk7aD0hMH07CmZvcihsZXQgeCBvZiBuKXYoeCk7aCYmZGIoayl9fTsKenc9ZnVuY3Rpb24obixXKXt1JCgiX3N0YXJ0IixuLFcpfTsKZGI9ZnVuY3Rpb24obixXKXtpZighZy5sKCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFnYihXKS5hY3Rpb25EaXNhYmxlZCl7dmFyIEQ9SGIoV3x8IiIpO2p3KEQuaW5mbyxuKTtuLmxvYWRUeXBlJiYoRD1uLmxvYWRUeXBlLHFRKFcpLmxvYWRUeXBlPUQpO2p3KCRWKFcpLG4pO0Q9cmIoVyk7Vz1nYihXKS5jdHRBdXRoSW5mbztPSCgpLmluZm8obixELFcpfX07CkkyWj1mdW5jdGlvbigpe3JldHVybihnLnFqKCkucmVzb2x2ZShnLmhwKGcuWDMpKT8uTFgoKT8ubG9nZ2luZ0hvdENvbmZpZz8uY3NpQ29uZmlnPy5kZWJ1Z1RpY2tzPz9bXSkubWFwKG49Pk9iamVjdC52YWx1ZXMobilbMF0pfTsKdSQ9ZnVuY3Rpb24obixXLEQpe2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8IWdiKEQpLmFjdGlvbkRpc2FibGVkKXt2YXIgYj1yYihEKSx2O2lmKHY9Zy5sKCJ3ZWJfY3NpX2RlYnVnX3NhbXBsZV9lbmFibGVkIikmJmIpe2cucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpJiYhbCQmJihsJD0hMCx1JCgiZ2NmbCIsKDAsZy5SKSgpLEQpKTt2PWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnU2FtcGxlV2VpZ2h0fHwwO3ZhciBrO2lmKGs9diE9PTApYjp7az1JMlooKTtpZihrLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8ay5sZW5ndGg7aCsrKWlmKG49PT1rW2hdKXtrPSEwO2JyZWFrIGJ9az0hMX1rPyh2PU9hKGIpJXYhPT0wLGdiKEQpLmRlYnVnVGlja3NFeGNsdWRlZExvZ2dlZHx8KGs9e30say5kZWJ1Z1RpY2tzRXhjbHVkZWQ9dixkYihrLEQpKSxnYihEKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTp2PSExfWlmKCF2KXtpZihuWzBdIT09Il8iJiYodj1uLFVILm1hcmspKXt2LnN0YXJ0c1dpdGgoIm1hcmtfIil8fCh2PSJtYXJrXyIrdik7RCYmKHYrPWAgKCR7RH0pYCk7az12O2g9e307aWYoVyE9PXZvaWQgMCYmIWcubCgid2ViX2NzaV9kaXNhYmxlX2FsdF90aW1lX3BlcmZvcm1hbmNlX21hcmsiKSl7bGV0IEw9VztMPWcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP0wtVUgudGltZU9yaWdpbjpMLShVSC50aW1lT3JpZ2lufHxVSC50aW1pbmcubmF2aWdhdGlvblN0YXJ0KTtoLnN0YXJ0VGltZT1MfWcubCgiY3NpX2VuYWJsZV9jaHJvbWVfZGV2dG9vbHNfcGVyZm9ybWFuY2VfdGltZWxpbmVfaW50ZWdyYXRpb24iKSYmKGguZGV0YWlsPXtHVTp7ZGF0YVR5cGU6Im1hcmtlciIsY29sb3I6InByaW1hcnkiLHRvb2x0aXBUZXh0Omt9fSk7az1PYmplY3Qua2V5cyhoKS5sZW5ndGg+MD9oOnZvaWQgMDt0cnl7VUgubWFyayh2LGspfWNhdGNoKEwpe1VILm1hcmsodil9fXY9CkhiKER8fCIiKTt2LnRpY2tbbl09V3x8KDAsZy5SKSgpO2lmKHYuY2FsbGJhY2smJnYuY2FsbGJhY2tbbl0pZm9yKHZhciB4IG9mIHYuY2FsbGJhY2tbbl0peCgpO3g9dG0oRCk7eC5nZWxUaWNrcyYmKHguZ2VsVGlja3Nbbl09ITApO3Y9R3coRCk7eD1XfHwoMCxnLlIpKCk7dltuXT14O3Y9Z2IoRCkuY3R0QXV0aEluZm87bj09PSJfc3RhcnQiPyhuPU9IKCksWk0obixgYmFzZWxpbmVfJHtifWApfHxnLnpVKCJsYXRlbmN5QWN0aW9uQmFzZWxpbmVkIix7Y2xpZW50QWN0aW9uTm9uY2U6Yn0se3RpbWVzdGFtcDpXLGN0dEF1dGhJbmZvOnZ9KSk6T0goKS50aWNrKG4sYixXLHYpO1R3KEQpO3JldHVybiB4fX19OwpTVjE9ZnVuY3Rpb24oKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlPy4oIm1hcmsiKTtuJiZuLmZvckVhY2goVz0+e1cubmFtZS5zdGFydHNXaXRoKCJtYXJrXyIpJiZVSC5jbGVhck1hcmtzPy4oVy5uYW1lKX0pfTsKakw9ZnVuY3Rpb24oKXtzd2l0Y2goRzEoKSl7Y2FzZSAiaGlkZGVuIjpyZXR1cm4gMDtjYXNlICJ2aXNpYmxlIjpyZXR1cm4gMTtjYXNlICJwcmVyZW5kZXIiOnJldHVybiAyO2Nhc2UgInVubG9hZGVkIjpyZXR1cm4gMztkZWZhdWx0OnJldHVybi0xfX07CkNCPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9KGIsdixrKT0+e3Y9di5tYXRjaCgiX3JpZCIpP3Yuc3BsaXQoIl9yaWQiKVswXTp2O3R5cGVvZiBrPT09Im51bWJlciImJihrPUpTT04uc3RyaW5naWZ5KGspKTtiLnJlcXVlc3RJZHM/Yi5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OnYsaWQ6a30pOmIucmVxdWVzdElkcz1be2VuZHBvaW50OnYsaWQ6a31dfTsKZm9yKGxldCBbYix2XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtuPWI7bGV0IGs9djtzd2l0Y2gobil7Y2FzZSAiR2V0QnJvd3NlX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0R3VpZGVfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRIb21lX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0UGxheWVyX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2VhcmNoX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2V0dGluZ3NfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRUcmVuZGluZ19yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgInl0X3JlZCI6Vy5pc1JlZFN1YnNjcmliZXI9ISFrO2JyZWFrO2Nhc2UgInl0X2FkIjpXLmlzTW9uZXRpemVkPSEha319cmV0dXJuIFd9OwpBU3g9ZnVuY3Rpb24obixXKXtuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iobik7aWYoIW4pcmV0dXJuITE7dmFyIEQ9IiIsYj1uLm5vZGVOYW1lO2I9PT0iU0NSSVBUIj8oRD1uLnNyYyxEfHwoRD1uLmdldEF0dHJpYnV0ZSgiZGF0YS10aW1pbmctaHJlZiIpKSYmKEQ9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK0QpKTpiPT09IkxJTksiJiYoRD1uLmhyZWYpO1NqKGRvY3VtZW50KSYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixTaihkb2N1bWVudCkpO3JldHVybiBEPyhuPVVILmdldEVudHJpZXNCeU5hbWUoRCkpJiZuWzBdJiYobj1uWzBdLEQ9aSQoKSx1JCgicnNmXyIrVyxEK01hdGgucm91bmQobi5mZXRjaFN0YXJ0KSksdSQoInJzZV8iK1csRCtNYXRoLnJvdW5kKG4ucmVzcG9uc2VFbmQpKSxuLnRyYW5zZmVyU2l6ZSE9PXZvaWQgMCYmbi50cmFuc2ZlclNpemU9PT0wKT8hMDohMTohMX07Cm1IMT1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxXPVVILmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Vz1nLkVNKFcsRD0+RC5uYW1lLmluZGV4T2YoYCR7bn0vL2ZvbnRzLmdzdGF0aWMuY29tL3MvYCk9PT0wKTsKKFc9Zy51XyhXLChELGIpPT5iLmR1cmF0aW9uPkQuZHVyYXRpb24/YjpELHtkdXJhdGlvbjowfSkpJiZXLnN0YXJ0VGltZT4wJiZXLnJlc3BvbnNlRW5kPjAmJih1JCgid2ZmcyIseXYoVy5zdGFydFRpbWUpKSx1JCgid2ZmZSIseXYoVy5yZXNwb25zZUVuZCkpKX07CktOdD1mdW5jdGlvbihuLFcsRCl7VUgmJlVILm1lYXN1cmUmJihuLnN0YXJ0c1dpdGgoIm1lYXN1cmVfIil8fChuPSJtZWFzdXJlXyIrbiksRD9VSC5tZWFzdXJlKG4sVyxEKTpXP1VILm1lYXN1cmUobixXKTpVSC5tZWFzdXJlKG4pKX07CkJiPWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJhZnQiLG4pO2lmKFcpcmV0dXJuIFc7Vz1nLkFyKChufHwiIikrIlRJTUlOR19BRlRfS0VZUyIsWyJvbCJdKTt2YXIgRD1XLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKXtsZXQgdj1vTChXW2JdLG4pO2lmKHYpcmV0dXJuIHZ9cmV0dXJuIE5hTn07CkZBPWZ1bmN0aW9uKG4sVyl7Zy5HYigieXRnbG9iYWwudGltaW5nIisoV3x8IiIpKyJyZWFkeV8iLG4pfTsKb0w9ZnVuY3Rpb24obixXKXtpZihuPUd3KFcpW25dKXJldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiP246bltuLmxlbmd0aC0xXX07ClR3PWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJfc3RhcnQiLG4pLEQ9QmIobiksYj0hd2I7VyYmRCYmYiYmKGw5KE9udCxuZXcgTVEoTWF0aC5yb3VuZChELVcpLG4pKSx3Yj0hMCl9OwpQYXg9ZnVuY3Rpb24oKXtpZihVSC5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpO2lmKG49Zy5sXyhuLEQ9PkQubmFtZT09PSJmaXJzdC1wYWludCIpKXJldHVybiB5dihuLnN0YXJ0VGltZSl9dmFyIFc7CmcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP1c9VUguZ2V0RW50cmllc0J5VHlwZSgiZmlyc3QtcGFpbnQiKVswXS5zdGFydFRpbWU6Vz1VSC50aW1pbmcubDI7cmV0dXJuIFc/TWF0aC5tYXgoMCxXKTowfTsKZy5STD1mdW5jdGlvbihuKXtlTChuKTtabmkoKTtTVjEoKTtufHwoZy5BcigiVElNSU5HX0FDVElPTiIpJiZnLlNIKCJQUkVWSU9VU19BQ1RJT04iLGcuQXIoIlRJTUlOR19BQ1RJT04iKSksZy5TSCgiVElNSU5HX0FDVElPTiIsIiIpKX07CmNiPWZ1bmN0aW9uKG4sVyl7UFYoKCk9PntIYigiIikuaW5mby5hY3Rpb25UeXBlPW47VyYmZy5TSCgiVElNSU5HX0FGVF9LRVlTIixXKTtnLlNIKCJUSU1JTkdfQUNUSU9OIixuKTt2YXIgRD1DQihnLkFyKCJUSU1JTkdfSU5GTyIse30pKTtPYmplY3Qua2V5cyhEKS5sZW5ndGg+MCYmZGIoRCk7RD17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKX07dmFyIGI9Zy5BcigiUFJFVklPVVNfQUNUSU9OIik7YiYmKEQucHJldmlvdXNBY3Rpb249SUwoYikpO2lmKGI9Zy5BcigiQ0xJRU5UX1BST1RPQ09MIikpRC5odHRwUHJvdG9jb2w9YjtpZihiPWcuQXIoIkNMSUVOVF9UUkFOU1BPUlQiKSlELnRyYW5zcG9ydFByb3RvY29sPWI7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Yj1qTCgpO2lmKGI9PT0xfHxiPT09LTEpRC5pc1Zpc2libGU9ITA7Yj1xUSgpLmxvYWRUeXBlPT09ImNvbGQiOwp2YXIgdj1YQSgpO2J8fChiPXYueXRfbHQ9PT0iY29sZCIpO2lmKGIpe0QubG9hZFR5cGU9ImNvbGQiO2I9WEEoKTt2PUVIKCk7bGV0IHg9aSQoKSxMPWcuQXIoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtMPjAmJiFnLmwoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJih4PUwpO3gmJih1JCgic3J0Iix2LnJlc3BvbnNlU3RhcnQpLGIucHJlcmVuZGVyIT09MSYmencoeCkpO2I9UGF4KCk7Yj4wJiZ1JCgiZnB0IixiKTtiPUVIKCk7Yi5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmZGIoe3BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzohMH0sdm9pZCAwKTt1JCgibnJlcXMiLGIucmVxdWVzdFN0YXJ0LHZvaWQgMCk7dSQoIm5yZXNzIixiLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTt1JCgibnJlc2UiLGIucmVzcG9uc2VFbmQsdm9pZCAwKTtiLnJlZGlyZWN0RW5kLWIucmVkaXJlY3RTdGFydD4wJiYodSQoIm5ycyIsYi5yZWRpcmVjdFN0YXJ0LAp2b2lkIDApLHUkKCJucmUiLGIucmVkaXJlY3RFbmQsdm9pZCAwKSk7Yi5kb21haW5Mb29rdXBFbmQtYi5kb21haW5Mb29rdXBTdGFydD4wJiYodSQoIm5kbnNzIixiLmRvbWFpbkxvb2t1cFN0YXJ0LHZvaWQgMCksdSQoIm5kbnNlIixiLmRvbWFpbkxvb2t1cEVuZCx2b2lkIDApKTtiLmNvbm5lY3RFbmQtYi5jb25uZWN0U3RhcnQ+MCYmKHUkKCJudGNwcyIsYi5jb25uZWN0U3RhcnQsdm9pZCAwKSx1JCgibnRjcGUiLGIuY29ubmVjdEVuZCx2b2lkIDApKTtiLnNlY3VyZUNvbm5lY3Rpb25TdGFydD49aSQoKSYmYi5jb25uZWN0RW5kLWIuc2VjdXJlQ29ubmVjdGlvblN0YXJ0PjAmJih1JCgibnN0Y3BzIixiLnNlY3VyZUNvbm5lY3Rpb25TdGFydCx2b2lkIDApLHUkKCJudGNwZSIsYi5jb25uZWN0RW5kLHZvaWQgMCkpO1VIJiYiZ2V0RW50cmllc0J5VHlwZSJpbiBVSCYmbUgxKCk7Yj1bXTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZVSCYmVUguZ2V0RW50cmllc0J5TmFtZSlmb3IoayBpbiBRdilRdi5oYXNPd25Qcm9wZXJ0eShrKSYmCih2PVF2W2tdLEFTeChrLHYpJiZiLnB1c2godikpO3ZhciBrPWI7aWYoay5sZW5ndGg+MCl7RC5yZXNvdXJjZUluZm89W107Zm9yKHZhciBoIG9mIGspRC5yZXNvdXJjZUluZm8ucHVzaCh7cmVzb3VyY2VDYWNoZTpofSl9fWRiKEQpO0pTcigpO0ZBKCEwKTtoPWcuQXIoIlRJTUlOR19BQ1RJT04iKTtnLnJyKCJ5dGdsb2JhbC50aW1pbmdyZWFkeV8iKSYmaCYmVnYoKSYmQmIoKSYmVHcoKX0pKCl9OwpXUD1mdW5jdGlvbigpe3ZhciBuPXt9O1BWKCgpPT57VnYoKSYmZy5hTCgiYWEiLHZvaWQgMCx2b2lkIDApO2ZCKCk7Zy5STCgpO0ZBKCExKTtuLmN0dEF1dGhJbmZvJiYoZ2IoKS5jdHRBdXRoSW5mbz1uLmN0dEF1dGhJbmZvKTtnLlNIKCJUSU1JTkdfQUZUX0tFWVMiLFtdKTtuLnJQP2cubmwoe2xvYWRUeXBlOiJob3QifSk6Zy5ubCh7bG9hZFR5cGU6Indhcm0ifSk7Zy5TSCgiVElNSU5HX0FDVElPTiIsIiIpO2RlbGV0ZSBnLkFyKCJUSU1JTkdfSU5GTyIse30pLnl0X2x0O1BWKHp3KShuLnN0YXJ0VGltZSx2b2lkIDApfSkoKX07CmcuYmQ9ZnVuY3Rpb24obixXPXt9KXtQVigoKT0+e2cuRFkobik7dmFyIEQ9Vy5zYW1wbGVSYXRlO2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8RD09PXZvaWQgMHx8RDw9MSlEPSExO2Vsc2V7dmFyIGI9cmIobik7RD1PYShiKSVEIT09MH1EJiYoZ2IobikuYWN0aW9uRGlzYWJsZWQ9ITApO0hiKG58fCIiKS5pbmZvLmFjdGlvblR5cGU9bjtXLmN0dEF1dGhJbmZvJiYoZ2IobikuY3R0QXV0aEluZm89Vy5jdHRBdXRoSW5mbyk7Zy5TSChuKyJUSU1JTkdfQUNUSU9OIixuKTtQVih6dykoVy5zdGFydFRpbWUsbik7RD17YWN0aW9uVHlwZTpJTChuKX07Vy5leiYmKEQucHJldmlvdXNBY3Rpb249SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKSk7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Zy5ubChELG4pO0ZBKCEwLG4pfSkoKX07CmcuRFk9ZnVuY3Rpb24obil7UFYoKCk9PntWdihuKSYmZy5hTCgiYWEiLHZvaWQgMCxuKTtmQihuKTtnLlJMKG4pfSkoKX07ClZ2PWZ1bmN0aW9uKG4pe3JldHVybiBQVigoKT0+Zy52UCgiX3N0YXJ0IixuKSkoKX07Cmcubmw9ZnVuY3Rpb24obixXLEQ9ITEpe1BWKGRiKShuLFcsRCl9OwpnLmFMPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYodSQpKG4sVyxEKX07CmtEPWZ1bmN0aW9uKG4pe1BWKEtOdCkoImFjdGlvbl9maW5pc2hlZCIsbix2b2lkIDApfTsKZy52UD1mdW5jdGlvbihuLFcpe3JldHVybiBQVigoKT0+e3ZhciBEPUd3KFcpO3JldHVybiBuIGluIER9KSgpfTsKeEQ9ZnVuY3Rpb24obil7aWYoIWcubCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuIiI7bj1TMShuKXx8IiI7dmFyIFc9T2JqZWN0LmtleXMoaGUpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtsZXQgYj1XW0RdO2lmKG4uaW5jbHVkZXMoYikpcmV0dXJuIGJ9cmV0dXJuIiJ9Owplaz1mdW5jdGlvbihuKXtpZighZy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4oKT0+e307CnZhciBXPWhlW25dO3JldHVybiBXPyhnLkxsKFcpLCgpPT57dmFyIEQ9Zy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oRD1VSE1bbl0pP2cuTGwoRCk6ITE6ITE7cmV0dXJuIER9KTooKT0+e319OwpnLkxsPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYoKCk9PntpZihnLnZQKG4sRCkpcmV0dXJuITE7Zy5hTChuLFcsRCk7cmV0dXJuITB9KSgpfTsKZy5nXz1mdW5jdGlvbihuLFcsRCl7UFYoKCk9PntpZighVnYoRCl8fGcudlAobixEKSlyZXR1cm4hMTtnLmFMKG4sVyxEKTtyZXR1cm4hMH0pKCl9Owp5U2g9ZnVuY3Rpb24oKXtQVigoKT0+e3ZhciBuPXJiKCk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57c2V0VGltZW91dCgoKT0+e249PT1yYigpJiZnLmFMKCJmdGwiLHZvaWQgMCx2b2lkIDApfSwwKX0pfSkoKX07CkU5Yj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFg3Lmluc3RhbmNlIT09dm9pZCAwKXtpZihiPVg3Lmluc3RhbmNlLG49W24hPT1iLmosVyE9PWIueUcsRCE9PWIuVyx2IT09Yi5KLCExLCExLCExXSxuLnNvbWUoaz0+aykpdGhyb3cgbmV3IGcuUXgoIklubmVyVHViZVRyYW5zcG9ydFNlcnZpY2UgaXMgYWxyZWFkeSBpbml0aWFsaXplZCIsbik7Cn1lbHNlIFg3Lmluc3RhbmNlPW5ldyBYNyhuLFcsRCxiLHYpfTsKaW53PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtuPWF3YWl0ICRHKG4uVy5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsuLi5rVihEKSwuLi5ufSl9OwpkSGo9YXN5bmMgZnVuY3Rpb24obixXLEQsYj0oKT0+e30pe3ZhciB2PVcuY29uZmlnPy5Ibj8uUkw7CmlmKHYmJm4uSiYmbi5KLmhhcyh2KSYmIVcuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz1hd2FpdCBuLkouZ2V0KHYpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGsuaXNQcm9jZXNzZWQoKXx8KEdXKG4sYixXKSxhd2FpdCB0ZShuLkosdikpLFByb21pc2UucmVzb2x2ZShiKX1hd2FpdCB1X3QoVyk7KHY9Vy5jb25maWc/LnJlcXVlc3RLZXkpJiZuLk4uaGFzKHYpP0Q9bi5OLmdldCh2KTooaz1KU09OLnN0cmluZ2lmeShXLmlubmVyVHViZVJlcXVlc3QpLFcuUGk9ey4uLlcuUGksaGVhZGVyczp7Li4uKFcuUGk/LmhlYWRlcnM/P3t9KSwuLi5EfX0sRD17Li4uVy5QaX0sVy5QaS5tZXRob2Q9PT0iUE9TVCImJihEPXsuLi5ELGJvZHk6a30pLFcuY29uZmlnPy5MYSYmZy5hTChXLmNvbmZpZy5MYSksRD1uLnlHLmZldGNoKFcuaW5wdXQsRCxXLmNvbmZpZyksdiYmbi5OLnNldCh2LEQpKTtpZigoRD1hd2FpdCBEKSYmImVycm9yImluIEQmJkQ/LmVycm9yPy5kZXRhaWxzKXtrPQpELmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGspKGs9aFsiQHR5cGUiXSkmJm85ai5pbmRleE9mKGspPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sRD1oKX12JiZuLk4uaGFzKHYpJiZuLk4uZGVsZXRlKHYpO1cuY29uZmlnPy5SViYmZy5hTChXLmNvbmZpZy5SVik7R1cobixELFcpO1cuY29uZmlnPy5HdCYmZy5hTChXLmNvbmZpZy5HdCk7YigpO3JldHVybiBEfHx2b2lkIDB9OwpnLnJfPWZ1bmN0aW9uKG4sVyxELGIsdj17Qkc6e2lkZW50aXR5OnU5fX0pe3ZhciBrPWcucWooKS5yZXNvbHZlKGcuaHAoJEQpKT8uKCk7aWYoKGcubCgibWF3X25ldHdvcmtfbWFjaGluZV9yYXdfcmVxdWVzdCIpfHxnLmwoImFsbF93ZWJfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0IikpJiZrKXJldHVybiB6VGoobDJqKGsse2lubmVyVHViZVJlcXVlc3Q6VyxhcGlQYXRoOkQsY2xpY2tUcmFja2luZ1BhcmFtczpiLGNvbmZpZzp2LGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbih4PT54LCgpPT57fSk7CnZhciBoPSgpPT57fTsKaD1layh4RChEKSk7Vy5jb250ZXh0fHwoVy5jb250ZXh0PWcudmIoYiwhMCkpO3JldHVybiBuZXcgZy5YMShhc3luYyB4PT57dmFyIEw9SyQoRCk7TD1nLlRkKEwpPyJzYW1lLW9yaWdpbiI6ImNvcnMiO2lmKG4uVy5zQil7dmFyIGU9bi5XLmFqKHY/LkJHPy5pZGVudGl0eXx8dTkse3Nlc3Npb25JbmRleDp2Py5CRz8uc2Vzc2lvbkluZGV4fSk7TD17Li4ua1YoTCksLi4uZX19ZWxzZSBMPWF3YWl0IGludyhuLHYsTCk7ZT1acihLJChEKSk7ZT17aW5wdXQ6ZSxQaTpVeihlKSxpbm5lclR1YmVSZXF1ZXN0OlcsY29uZmlnOnZ9O3goZEhqKG4sZSxMLGgpKX0pfTsKdV90PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe249bi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBXIG9mW10pYXdhaXQgVy5CcyhuKX19OwpHVz1mdW5jdGlvbihuLFcsRCl7aWYoVyYmIVc/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZuLlgpZm9yKGxldCBiIG9mIHNvKW4uWFtiXSYmbi5YW2JdLmhhbmRsZVJlc3BvbnNlKFcsRCl9OwpwbD1mdW5jdGlvbigpe3ZhciBuLFc7cmV0dXJue3JGOm5ldyBOcigoRCxiKT0+e249RDtXPWJ9KSwKcmVzb2x2ZTpuLHJlamVjdDpXfX07CkhQPWZ1bmN0aW9uKG4pe3JldHVybiBZRChuKT9uOllvKG4pP25ldyBOcigoVyxEKT0+e24udGhlbihXLEQpfSk6bmV3IE5yKFc9PntXKG4pfSl9OwpmbD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IE5yKChXLEQpPT57RChuKX0pfTsKSmU9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBIUChuKCkpfWNhdGNoKFcpe3JldHVybiBmbChXKX19Owp6VGo9ZnVuY3Rpb24obil7cmV0dXJuIElqKG4sZy5YMSl9OwpJaj1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgVygoRCxiKT0+e1NrKG4sRCxiKX0pfTsKQWU9YXN5bmMgZnVuY3Rpb24obil7cmV0dXJuIElqKG4sUHJvbWlzZSl9OwptRT1mdW5jdGlvbihuKXtpZihuLk49PT0iZnVsZmlsbGVkIil7dmFyIFc9bi5KO24uSj1bXTtuLlc9W107Zm9yKHZhciBEIG9mIFcpRChuLnJlc3VsdCl9ZWxzZSBpZihuLk49PT0icmVqZWN0ZWQiKXtEPW4uVztuLko9W107bi5XPVtdO2ZvcihXIG9mIEQpVyhuLmVycm9yKX19OwpTaz1mdW5jdGlvbihuLFcsRCl7dmFyIHtyRjpiLHJlc29sdmU6dixyZWplY3Q6a309cGwoKTtuLkoucHVzaChoPT57aWYoVyl0cnl7bGV0IHg9VyhoKTt2KHgpfWNhdGNoKHgpe2soeCl9ZWxzZSB2KGgpfSk7Cm4uVy5wdXNoKGg9PntpZihEKXRyeXtsZXQgeD1EKGgpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIGsoaCl9KTsKbUUobik7cmV0dXJuIGJ9OwpLbD1mdW5jdGlvbihuLFcpe3JldHVybiBTayhuLHZvaWQgMCxXKX07ClRlYj1mdW5jdGlvbihuLFcpe1NrKG4sRD0+U2soSFAoVygpKSwoKT0+RCksRD0+U2soSFAoVygpKSwoKT0+ZmwoRCkpKX07Ck9vPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGpZMShXLmNhbGwobikpfTsKUFA9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKigpe3JldHVybiB5aWVsZHtyRjpIUChuKX19KCl9OwpqWTE9ZnVuY3Rpb24obil7cmV0dXJuIEplKCgpPT5aWShuLG4ubmV4dCgpKSl9OwpaWT1mdW5jdGlvbihuLFcpe3JldHVybiBXLmRvbmU/SFAoVy52YWx1ZSk6S2woU2soVy52YWx1ZS5yRixEPT5aWShuLG4ubmV4dChEKSkpLEQ9PlpZKG4sbi50aHJvdyhEKSkpfTsKRk54PWZ1bmN0aW9uKG4pe3ZhciBXPUNhVShuKTtyZXR1cm4gU2soQmVTKFcpLCgpPT5XLm1hcChEPT5ELnN0YXRlKCkpKX07CkJlUz1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIEhQKE5hTik7dmFyIHtyRjpXLHJlc29sdmU6RH09cGwoKSxiPW4ubGVuZ3RoO2ZvcihsZXQgdj0wO3Y8bi5sZW5ndGg7disrKVRlYihuW3ZdLCgpPT57Vy5OPT09InBlbmRpbmciJiYod1dqKHZvaWQgMCkmJih2b2lkIDApKHYpJiZXLk49PT0icGVuZGluZyI/RCh2KTooLS1iLGI9PT0wJiZEKE5hTikpKX0pOwpyZXR1cm4gV307CkNhVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+SFAoVykpfTsKTUV3PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciB2PSRHKGIuTi5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTt2PXlpZWxkKlBQKEhQKHYpKTtyZXR1cm57Li4ua1YoRCksLi4udn19KCl9KX07ClVvPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09MXx8bj09PTJ9OwpWRTI9ZnVuY3Rpb24obixXLEQ9ITEpe3ZhciBiLHY9Zy53KFcsUlRoKT8ucmVxdWVzdDt2JiZuLk4uaVQmJihiPW4uTi5pVFt2XSk7Ynx8RHx8KHY9Zy53KFcsUVlNKT8uc2lnbmFsKSYmbi5OLndkJiYoYj1uLk4ud2Rbdl0pO2lmKCFiJiYobj1EP24uTi51STpuLk4uemcpKWZvcihsZXQgayBpbiBXKWlmKG5ba10pe2I9bltrXTticmVha31pZighYil7aWYoRCl0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHN0cmVhbWluZyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQgZm9yIGNvbW1hbmQiKTt0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZC4iKTt9Vz1iKCk7cmV0dXJuIEhQKFcpfTsKbDJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ucnVuKCJSRVFVRVNUX0lOSVQiLFcpfTsKeXE9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5ydW4oIlBST0NFU1NfUkVTUE9OU0UiLFcsIlJlc3BvbnNlTWFjaGluZSAoQ2FjaGUpIil9OwpFbz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4ucnVuKCJJTklUIixXLEQhPT12b2lkIDA/YFJlc3BvbnNlTWFjaGluZSAoQ2h1bmsgJHtEfSlgOiJSZXNwb25zZU1hY2hpbmUiKX07CmNTMj1mdW5jdGlvbigpe3ZhciBuPWcucWooKTtnLnhvKG4se05IOmlkLFJjOigpPT5uZXcgTWFwfSk7CmcueG8obix7Tkg6dWQsWUw6dWQscG46ITB9KTtnLnhvKG4se05IOm9qLFlMOm9qLHBuOiEwfSk7Zy54byhuLHtOSDpkXyxZTDpkXyxwbjohMH0pO2cueG8obix7Tkg6elcsWUw6elcscG46ITB9KTtnLnhvKG4se05IOmxkLFlMOmxkLHBuOiEwfSk7Zy54byhuLHtOSDpUVyxZTDpUVyxwbjohMH0pO2cueG8obix7Tkg6amssWUw6amsscG46ITB9KTtnLnhvKG4se05IOkNsLFlMOkNsLHBuOiEwfSk7Zy54byhuLHtOSDpCUCxZTDpCUCxwbjohMH0pO2cueG8obix7Tkg6RjcsWUw6RjcscG46ITB9KTtnLnhvKG4se05IOndfLFJjOihXLEQsYix2LGssaCx4LEwsZSxHKT0+KHtDT01NQU5EX0lOSVQ6TCxSRVFVRVNUX0lOSVQ6ZSxDQUNIRTpELExPQ0FMX1JPVVRFUjp4LENPTlRFWFQ6YixBVVRIOlcsREVEVVBFOnYsRkVUQ0g6aCxSRVRSWTpHLEZBTExCQUNLOmt9KSwKW2cuTFhdOlt1ZCxvaixkXyx6VyxsZCxUVyxqayxDbCxCUCxGN10scG46ITB9KTtnLnhvKG4se05IOiRELFJjOlc9PigpPT5uZXcgZy5NcihXKSwKW2cuTFhdOlt3X10scG46ITB9KTtnLnhvKG4se05IOlJqLFlMOlJqLHBuOiEwfSk7Zy54byhuLHtOSDpRcSxZTDpRcSxwbjohMH0pO2cueG8obix7Tkg6VnEsWUw6VnEscG46ITB9KTtnLnhvKG4se05IOmNQLFlMOmNQLHBuOiEwfSk7Zy54byhuLHtOSDphaixSYzooVyxELGIsdik9Pih7SU5JVDp2LEVSUk9SX1VOUEFDS0VSOkQsUFJPQ0VTU19SRVNQT05TRTpiLENBTExCQUNLX0RJU1BBVENIRVI6V30pLApbZy5MWF06W1JqLFFxLFZxLGNQXSxwbjohMH0pO2cueG8obix7Tkg6blIsUmM6Vz0+KCk9Pm5ldyBXRyhXKSwKW2cuTFhdOlthal0scG46ITB9KX07CnFyPWZ1bmN0aW9uKG4pe3JldHVybnsuLi5uLmRhdGEuaW5uZXJ0dWJlUmVzcG9uc2UsY2FjaGVNZXRhZGF0YTp7aXNDYWNoZUhpdDohMH19fTsKdGU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihELmVudHJ5RGF0YS5pc1Byb2Nlc3NlZD0hMCxhd2FpdCBEdyhuLFcsRC5lbnRyeURhdGEpKX07CkR3PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLko7aWYoRC5leHBpcmVUaW1lc3RhbXBNcyl7Yj1OdW1iZXIoRC5leHBpcmVUaW1lc3RhbXBNcyktTWF0aC5yb3VuZCgoMCxnLlIpKCkpO2xldCB2PXYwKCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiKTt2PjAmJnY8YiYmKGI9dil9Yj1zZXRUaW1lb3V0KCgpPT57bi5yZW1vdmUoVyl9LGIpOwpuLk4uc2V0KFcse2VudHJ5RGF0YTpELHRpbWVyOmJ9KX07CnZHPWZ1bmN0aW9uKG4sVyl7aWYobj1uLk4uZ2V0KFcpKXJldHVybiBuZXcgYmgobi5lbnRyeURhdGEpfTsKa009ZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihjbGVhclRpbWVvdXQoRC50aW1lciksbi5OLmRlbGV0ZShXKSl9OwpoUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9ey4uLm59O2ZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhXKSl7bGV0IGs9blt2XSxoPVdbdl07aWYoaD09PXZvaWQgMClkZWxldGUgYlt2XTtlbHNlIGlmKGs9PT12b2lkIDApYlt2XT1oO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShoKSYmQXJyYXkuaXNBcnJheShrKSliW3ZdPUQ/Wy4uLmssLi4uaF06aDtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGgpJiZnLmZ0KGgpJiYhQXJyYXkuaXNBcnJheShrKSYmZy5mdChrKSliW3ZdPWhSKGssaCxEKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGspYlt2XT1oO2Vsc2UgcmV0dXJuIFc9bmV3IGcuUXgoIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6dixGVzprLHVwZGF0ZVZhbHVlOmh9KSxnLlhqKFcpLG59cmV0dXJuIGJ9Owp4TT1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ubGVuZ3RoPT09MD8hMToobj1uLk5bbi5OLmxlbmd0aC0xXSkmJm4uYnVmZmVyPT09Vy5idWZmZXImJm4uYnl0ZU9mZnNldCtuLmxlbmd0aD09PVcuYnl0ZU9mZnNldH07CkxSPWZ1bmN0aW9uKG4pe24uWD12b2lkIDA7bi5KPTA7bi5XPTB9OwplNT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXLk4pbi5hcHBlbmQoRCl9OwpnZD1mdW5jdGlvbihuLFcsRCl7dmFyIHtDczpiLFk5OnZ9PW4uc3BsaXQoVyk7KHtDczpifT12LnNwbGl0KEQpKTtyZXR1cm4gYn07ClhhPWZ1bmN0aW9uKG4sVyxEKXtuLmlzRm9jdXNlZChXKTtyZXR1cm4gVy1uLlcrRDw9bi5OW24uSl0ubGVuZ3RofTsKcUQ9ZnVuY3Rpb24obil7aWYoIW4uWCl7bGV0IFc9bi5OW24uSl07bi5YPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5sZW5ndGgpfXJldHVybiBuLlh9OwpHNj1mdW5jdGlvbihuLFc9MCxEPS0xKXtpZighbi50b3RhbExlbmd0aHx8IUQpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO0Q8MCYmKEQ9bi50b3RhbExlbmd0aC1XKTtuLmZvY3VzKFcpO2lmKCFYYShuLFcsRCkpe3ZhciBiPW4uSix2PW4uVztuLmZvY3VzKFcrRC0xKTt2PW5ldyBVaW50OEFycmF5KG4uVytuLk5bbi5KXS5sZW5ndGgtdik7bGV0IGs9MDtmb3IobGV0IGg9YjtoPD1uLko7aCsrKXYuc2V0KG4uTltoXSxrKSxrKz1uLk5baF0ubGVuZ3RoO24uTi5zcGxpY2UoYixuLkotYisxLHYpO0xSKG4pO24uZm9jdXMoVyl9Yj1uLk5bbi5KXTtyZXR1cm4gbmV3IERhdGFWaWV3KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCtXLW4uVyxEKX07CnRSPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249RzYobixXLEQpO3JldHVybiBuZXcgVWludDhBcnJheShuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoKX07CiRNPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249dFIobixXLEQpO1c9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO3RyeXtXLnNldChuKX1jYXRjaChiKXtmb3IoRD0wO0Q8bi5sZW5ndGg7RCsrKVdbRF09bltEXX1yZXR1cm4gV307CnJkPWZ1bmN0aW9uKG4sVyl7bi5mb2N1cyhXKTtyZXR1cm4gbi5OW24uSl1bVy1uLlddfTsKc3g9ZnVuY3Rpb24obixXKXtuLmZvY3VzKFcpO3JldHVybiBYYShuLFcsNCk/cUQobikuZ2V0VWludDMyKFctbi5XKToyNTYqKDI1NiooMjU2KnJkKG4sVykrcmQobixXKzEpKStyZChuLFcrMikpK3JkKG4sVyszKX07CmEyMj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpwUj1mdW5jdGlvbihuKXtyZXR1cm4gbi5sZW5ndGg/TkQ/TkQuZGVjb2RlKG4pOlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKToiIn07CmcuSEc9ZnVuY3Rpb24obil7aWYoIW4ubGVuZ3RoKXJldHVybiIiO3RyeXtpZihORClyZXR1cm4gTkQuZGVjb2RlKG4pO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgobil9Y2F0Y2h7fWZvcih2YXIgVz0wLEQ9W10sYj1uLmxlbmd0aDtXPGI7KXtsZXQgaz0wO2Zvcig7azwxMDI0JiZXPGI7KXt2YXIgdj1uW1crK107aWYodjwxMjgpe1lNW2srK109djtjb250aW51ZX1pZih2PDIyNCl2PSh2JjMxKTw8NnxuW1crK10mNjM7ZWxzZSBpZih2PDI0MCl2PSh2JjE1KTw8MTJ8KG5bVysrXSY2Myk8PDZ8bltXKytdJjYzO2Vsc2V7aWYoaysxPT09MTAyNCl7LS1XO2JyZWFrfXY9KHYmNyk8PDE4fChuW1crK10mNjMpPDwxMnwobltXKytdJjYzKTw8NnxuW1crK10mNjM7di09NjU1MzY7WU1baysrXT01NTI5Nnx2Pj4xMDt2PTU2MzIwfHYmMTAyM31ZTVtrKytdPXZ9dj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKWU0pO2s8MTAyNCYmKHY9di5zdWJzdHJpbmcoMCxrKSk7RC5wdXNoKHYpfXJldHVybiBELmpvaW4oIiIpfTsKSlI9ZnVuY3Rpb24obixXKXtpZihmUj8uZW5jb2RlSW50byl7bGV0IHtyZWFkOmIsd3JpdHRlbjp2fT1mUi5lbmNvZGVJbnRvKG4sVyk7cmV0dXJuIGI8bi5sZW5ndGg/bi5sZW5ndGgqNDp2fXZhciBEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT09NTUyOTYmJmIrMTxuLmxlbmd0aCYmKG4uY2hhckNvZGVBdChiKzEpJjY0NTEyKT09PTU2MzIwPyh2PTY1NTM2KygodiYxMDIzKTw8MTApKyhuLmNoYXJDb2RlQXQoKytiKSYxMDIzKSxXW0QrK109dj4+MTh8MjQwLFdbRCsrXT12Pj4xMiY2M3wxMjgpOldbRCsrXT12Pj4xMnwyMjQsV1tEKytdPXY+PjYmNjN8MTI4KSxXW0QrK109diY2M3wxMjgpfXJldHVybiBEfTsKSXc9ZnVuY3Rpb24obil7aWYoZlIpcmV0dXJuIGZSLmVuY29kZShuKTt2YXIgVz1uZXcgVWludDhBcnJheShNYXRoLmNlaWwobi5sZW5ndGgqMS4yKSksRD1KUihuLFcpO1cubGVuZ3RoPEQmJihXPW5ldyBVaW50OEFycmF5KEQpLEQ9SlIobixXKSk7Vy5sZW5ndGg+RCYmKFc9Vy5zdWJhcnJheSgwLEQpKTtyZXR1cm4gV307Cm1rPWZ1bmN0aW9uKG4sVyl7bj1uIGluc3RhbmNlb2YgVWludDhBcnJheT9uZXcgUzUoW25dKTpuO3JldHVybiBXKG5ldyBBUihuKSl9OwpLUj1mdW5jdGlvbihuKXt2YXIgVz1yZChuLk4sbi5wb3MpOysrbi5wb3M7aWYoVzwxMjgpcmV0dXJuIFc7Zm9yKHZhciBEPVcmMTI3LGI9MTtXPj0xMjg7KVc9cmQobi5OLG4ucG9zKSwrK24ucG9zLGIqPTEyOCxEKz0oVyYxMjcpKmI7cmV0dXJuIER9OwpPeD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uSjtmb3Iobi5KPS0xO24ucG9zKzE8PW4uTi50b3RhbExlbmd0aDspe0Q8MCYmKEQ9S1IobikpO3ZhciBiPUQ+PjM7bGV0IHY9RCY3O2lmKGI9PT1XKXJldHVybiEwO2lmKGI+Vyl7bi5KPUQ7YnJlYWt9RD0tMTtzd2l0Y2godil7Y2FzZSAwOktSKG4pO2JyZWFrO2Nhc2UgMTpuLnBvcys9ODticmVhaztjYXNlIDI6Yj1LUihuKTtuLnBvcys9YjticmVhaztjYXNlIDU6bi5wb3MrPTR9fXJldHVybiExfTsKUEc9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXJldHVybiBLUihuKX07Clp3PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4gVz10UihuLk4sbi5wb3MsOCksbi5wb3MrPTgsKG5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSkuZ2V0RmxvYXQ2NCgwLCEwKX07ClV4PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4hIUtSKG4pfTsKeUE9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXtXPUtSKG4pO3ZhciBEPXRSKG4uTixuLnBvcyxXKTtuLnBvcys9VztyZXR1cm4gRH19OwpFeD1mdW5jdGlvbihuLFcpe2lmKG49eUEobixXKSlyZXR1cm4gZy5IRyhuKX07CmloPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXlBKG4sVykpcmV0dXJuIEQobmV3IEFSKG5ldyBTNShbbl0pKSl9Owp1aD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1bXTtPeChuLFcpOylELnB1c2goS1IobikpO3JldHVybiBELmxlbmd0aD9EOnZvaWQgMH07Cm93PWZ1bmN0aW9uKG4sVyxEKXtmb3IodmFyIGI9W10sdjt2PXlBKG4sVyk7KWIucHVzaChEKG5ldyBBUihuZXcgUzUoW3ZdKSkpKTtyZXR1cm4gYi5sZW5ndGg/Yjp2b2lkIDB9OwpkZD1mdW5jdGlvbihuLFcsRCl7aWYoVyYmRCYmRC5idWZmZXI9PT1XLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcil7bGV0IGI9Vy5tZW1vcnkucmVhbGxvYyhELmJ5dGVPZmZzZXQsbik7aWYoYilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsYixuKX1uPVc/bmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsVy5tZW1vcnkubWFsbG9jKG4pLG4pOm5ldyBVaW50OEFycmF5KG4pO0QmJm4uc2V0KEQpO3JldHVybiBufTsKZy5saD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyB6Nig0MDk2KTtXKEQsbik7cmV0dXJuIG5ldyBVaW50OEFycmF5KEQuTi5idWZmZXIsRC5OLmJ5dGVPZmZzZXQsRC5wb3MpfTsKVDY9ZnVuY3Rpb24obixXKXtXPW4ucG9zK1c7aWYoIShuLk4ubGVuZ3RoPj1XKSl7Zm9yKHZhciBEPW4uTi5sZW5ndGgqMjtEPFc7KUQqPTI7bi5OPWRkKEQsbi5XVixuLk4uc3ViYXJyYXkoMCxuLnBvcykpO24udmlldz1uZXcgRGF0YVZpZXcobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCxuLk4uYnl0ZUxlbmd0aCl9fTsKajU9ZnVuY3Rpb24obixXKXtpZihXPjI2ODQzNTQ1NSl7VDYobiw0KTtsZXQgRD1XJjEwNzM3NDE4MjM7Zm9yKGxldCBiPTA7Yjw0O2IrKyluLnZpZXcuc2V0VWludDgobi5wb3MsRCYxMjd8MTI4KSxEPj4+PTcsbi5wb3MrPTE7Vz1NYXRoLmZsb29yKFcvMjY4NDM1NDU2KX1mb3IoVDYobiw0KTtXPjEyNzspbi52aWV3LnNldFVpbnQ4KG4ucG9zLFcmMTI3fDEyOCksVz4+Pj03LG4ucG9zKz0xO24udmlldy5zZXRVaW50OChuLnBvcyxXKTtuLnBvcys9MX07CkNSPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgpLGo1KG4sRCkpfTsKQkc9ZnVuY3Rpb24obixXLEQpe0QhPT12b2lkIDAmJkNSKG4sVyxEPzE6MCl9OwpnLkZhPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgrMiksVz1ELmxlbmd0aCxqNShuLFcpLFQ2KG4sVyksbi5OLnNldChELG4ucG9zKSxuLnBvcys9Vyl9Owp3ZD1mdW5jdGlvbihuLFcsRD0yKXtqNShuLFcqOCsyKTtuLkoucHVzaChuLnBvcyk7bi5KLnB1c2goRCk7bi5wb3MrPUR9OwpNRD1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5KLnBvcCgpLEQ9bi5KLnBvcCgpLGI9bi5wb3MtRC1XO1ctLTspe2xldCB2PVc/MTI4OjA7bi52aWV3LnNldFVpbnQ4KEQrKyxiJjEyN3x2KTtiPj49N319OwpnLlJ3PWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYod2QobixXLE1hdGguY2VpbChNYXRoLmxvZzIoRC5sZW5ndGgqNCsyKS83KSksVDYobixELmxlbmd0aCoxLjIpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSxuLnBvcytXPm4uTi5sZW5ndGgmJihUNihuLFcpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSksbi5wb3MrPVcsTUQobikpfTsKUUE9ZnVuY3Rpb24obixXLEQsYix2PTMpe0QmJih3ZChuLFcsdiksYihuLEQpLE1EKG4pKX07CmNHPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBBUihuZXcgUzUoW2xwKGRlY29kZVVSSUNvbXBvbmVudChuKSldKSk7bj1FeChXLDIpO1c9UEcoVyw0KTt2YXIgRD1WQVtXXTtpZih0eXBlb2YgRD09PSJ1bmRlZmluZWQiKXRocm93IG49bmV3IGcuUXgoIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGZpZWxkTnVtYmVyOld9KSxnLlhqKG4pLG47cmV0dXJue0RYOlcsZW50aXR5VHlwZTpELGVudGl0eUlkOm59fTsKbmY9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgejY7Zy5GYShELDIsSXcobikpO249YXdbV107aWYodHlwZW9mIG49PT0idW5kZWZpbmVkIil0aHJvdyBXPW5ldyBnLlF4KCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6V30pLGcuWGooVyksVztDUihELDQsbik7Q1IoRCw1LDEpO1c9bmV3IFVpbnQ4QXJyYXkoRC5OLmJ1ZmZlcixELk4uYnl0ZU9mZnNldCxELnBvcyk7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChnLkVBKFcsMCkpfTsKV2U9ZnVuY3Rpb24obil7bj1uLmtleXx8bi5pZDtpZighbil0aHJvdyBFcnJvcigiRW50aXR5IGtleSBpcyBtaXNzaW5nIik7cmV0dXJuIG59OwpERz1mdW5jdGlvbihuLFcsRCxiKXtpZihiPT09dm9pZCAwKXtsZXQge1tEXTp2LC4uLmt9PW5bV118fHt9O3JldHVybnsuLi5uLFtXXTprfX1yZXR1cm57Li4ubixbV106ey4uLm5bV10sW0RdOmJ9fX07CmJCPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bltXXXx8e30saD1rW0RdO2lmKCFoJiYhZy5sKCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIG47Yj1oUihofHx7fSxiLHY9PT0iUkVQRUFURURfRklFTERTX01FUkdFX09QVElPTl9BUFBFTkQiKTtyZXR1cm57Li4ubixbV106ey4uLmssW0RdOmJ9fX07Cm5taD1mdW5jdGlvbihuPXt9LFcpe3N3aXRjaChXLnR5cGUpe2Nhc2UgIkVOVElUWV9MT0FERUQiOnJldHVybiBXLnBheWxvYWQucmVkdWNlKChELGIpPT57dmFyIHY9Yi5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtpZih2JiZ2IT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fVU5LTk9XTiImJnYhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9JTk1FTU9SWV9BTkRfUEVSU0lTVCIpcmV0dXJuIEQ7aWYoIWIuZW50aXR5S2V5KXJldHVybiBnLlhqKEVycm9yKCJNaXNzaW5nIGVudGl0eSBrZXkiKSksRDtpZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFiLnBheWxvYWQpcmV0dXJuIGI9bmV3IGcuUXgoIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmIuZW50aXR5S2V5fSksZy5YaihiKSxEO3ZhciBrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIERHKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10pfWlmKGIudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7Yj1iLmVudGl0eUtleTt0cnl7bGV0IGg9Y0coYikuZW50aXR5VHlwZTtrPURHKEQsaCxiKTticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBFcnJvcil7Yj1uZXcgZy5ReCgiRmFpbGVkIHRvIGRlc2VyaWFsaXplIGVudGl0eSBrZXkiLHtlbnRpdHlLZXk6YixvcmlnaW5hbE1lc3NhZ2U6aC5tZXNzYWdlfSk7Zy5YaihiKTtrPUQ7YnJlYWsgYX10aHJvdyBoO31rPXZvaWQgMH1yZXR1cm4ga31pZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIil7aWYoIWIucGF5bG9hZClyZXR1cm4gYj1uZXcgZy5ReCgiVVBEQVRFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpiLmVudGl0eUtleX0pLGcuWGooYiksRDtrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIGJCKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10sYi5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIER9LApuKTsKY2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBERyhuLFcucGF5bG9hZC5lbnRpdHlUeXBlLFcucGF5bG9hZC5rZXksVy5wYXlsb2FkLmc4KTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoVy5wYXlsb2FkKS5yZWR1Y2UoKEQsYik9Pnt2YXIgdj1XLnBheWxvYWRbYl07cmV0dXJuIE9iamVjdC5rZXlzKHYpLnJlZHVjZSgoayxoKT0+REcoayxiLGgsdltoXSksRCl9LG4pOwpjYXNlICJVUERBVEVfRU5USVRZIjpyZXR1cm4gYkIobixXLnBheWxvYWQuZW50aXR5VHlwZSxXLnBheWxvYWQua2V5LFcucGF5bG9hZC5nOCxXLnBheWxvYWQublApO2RlZmF1bHQ6cmV0dXJuIG59fTsKVzRVPWZ1bmN0aW9uKCl7aWYodmUpcmV0dXJuIHZlKCk7dmU9a08oIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7S2M6e0VudGl0eVN0b3JlOnt2eDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOnt2eDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDEpJiZFUihaeShuLCJFbnRpdHlTdG9yZSIse2tleVBhdGg6ImtleSJ9KSwiZW50aXR5VHlwZSIsImVudGl0eVR5cGUiKTtXKDIpJiYobj1aeShuLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxFUihuLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLEVSKG4sImJ5Q2hpbGRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSIpKX0sdmVyc2lvbjozfSk7cmV0dXJuIHZlKCl9OwpEZlM9ZnVuY3Rpb24obil7cmV0dXJuIENGKFc0VSgpLG4pfTsKayQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KG4pOkFycmF5KG4pfTsKWDg9ZnVuY3Rpb24obil7dmFyIFc9bi5rZXksRD1uLmNvdW50ZXJbMF1eV1swXSxiPW4uY291bnRlclsxXV5XWzFdLHY9bi5jb3VudGVyWzJdXldbMl0saz1uLmNvdW50ZXJbM11eV1szXTtmb3IodmFyIGg9MztoPj0wJiYhKG4uY291bnRlcltoXT0tfm4uY291bnRlcltoXSk7aC0tKTtmb3IodmFyIHgsTCxlPTQ7ZTw0MDspaD1oRVtEPj4+MjRdXngkW2I+PjE2JjI1NV1eTGZbdj4+OCYyNTVdXmVZW2smMjU1XV5XW2UrK10seD1oRVtiPj4+MjRdXngkW3Y+PjE2JjI1NV1eTGZbaz4+OCYyNTVdXmVZW0QmMjU1XV5XW2UrK10sTD1oRVt2Pj4+MjRdXngkW2s+PjE2JjI1NV1eTGZbRD4+OCYyNTVdXmVZW2ImMjU1XV5XW2UrK10saz1oRVtrPj4+MjRdXngkW0Q+PjE2JjI1NV1eTGZbYj4+OCYyNTVdXmVZW3YmMjU1XV5XW2UrK10sRD1oLGI9eCx2PUw7bj1uLko7aD1XWzQwXTtuWzBdPWdOW0Q+Pj4yNF1eaD4+PjI0O25bMV09Z05bYj4+MTYmMjU1XV5oPj4xNiYyNTU7blsyXT1nTlt2Pj44JgoyNTVdXmg+PjgmMjU1O25bM109Z05bayYyNTVdXmgmMjU1O2g9V1s0MV07bls0XT1nTltiPj4+MjRdXmg+Pj4yNDtuWzVdPWdOW3Y+PjE2JjI1NV1eaD4+MTYmMjU1O25bNl09Z05baz4+OCYyNTVdXmg+PjgmMjU1O25bN109Z05bRCYyNTVdXmgmMjU1O2g9V1s0Ml07bls4XT1nTlt2Pj4+MjRdXmg+Pj4yNDtuWzldPWdOW2s+PjE2JjI1NV1eaD4+MTYmMjU1O25bMTBdPWdOW0Q+PjgmMjU1XV5oPj44JjI1NTtuWzExXT1nTltiJjI1NV1eaCYyNTU7aD1XWzQzXTtuWzEyXT1nTltrPj4+MjRdXmg+Pj4yNDtuWzEzXT1nTltEPj4xNiYyNTVdXmg+PjE2JjI1NTtuWzE0XT1nTltiPj44JjI1NV1eaD4+OCYyNTU7blsxNV09Z05bdiYyNTVdXmgmMjU1fTsKdEU9ZnVuY3Rpb24oKXtpZighcWEmJiFnLlJnKXtpZihHcilyZXR1cm4gR3I7R3I9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKEdyPy5pbXBvcnRLZXkmJkdyPy5zaWduJiZHcj8uZW5jcnlwdClyZXR1cm4gR3I7R3I9dm9pZCAwfX07CmJoMT1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJBRVMtQ1RSIn0sITEsWyJlbmNyeXB0Il0pKTtuPWF3YWl0IG4uSi5lbmNyeXB0KHtuYW1lOiJBRVMtQ1RSIixjb3VudGVyOkQsbGVuZ3RoOjEyOH0sbi5OLFcpO3JldHVybiBuZXcgVWludDhBcnJheShuKX07CiQkPWZ1bmN0aW9uKG4pe24uTj1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdO24uSz1bXTtuLksubGVuZ3RoPTY0O24uWD0wO24uSj0wfTsKc2U9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSyx2PW4uTlswXSxrPW4uTlsxXSxoPW4uTlsyXSx4PW4uTlszXSxMPW4uTls0XSxlPW4uTls1XSxHPW4uTls2XSxyPW4uTls3XSxOO2ZvcihsZXQgeT0wO3k8NjQ7KXtpZih5PDE2KWJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NDtlbHNle3ZhciBIPWJbeS0yXTt2YXIgQT1iW3ktMTVdO049Ylt5LTddK2JbeS0xNl0rKChIPj4+MTd8SDw8MTUpXihIPj4+MTl8SDw8MTMpXkg+Pj4xMCkrKChBPj4+N3xBPDwyNSleKEE+Pj4xOHxBPDwxNCleQT4+PjMpO2JbeV09Tn1IPXIrck5beV0rTisoKEw+Pj42fEw8PDI2KV4oTD4+PjExfEw8PDIxKV4oTD4+PjI1fEw8PDcpKSsoTCZlXn5MJkcpO0E9KCh2Pj4+Mnx2PDwzMCleKHY+Pj4xM3x2PDwxOSleKHY+Pj4yMnx2PDwxMCkpKyh2JmtediZoXmsmaCk7cj1IK0E7eCs9SDt5Kys7eTwxNj8oYlt5XT1OPVdbRF08PDI0fFdbRCsxXTw8MTZ8V1tEKzJdPDw4fFdbRCsKM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9RytyTlt5XStOKygoeD4+PjZ8eDw8MjYpXih4Pj4+MTF8eDw8MjEpXih4Pj4+MjV8eDw8NykpKyh4JkxefngmZSk7QT0oKHI+Pj4yfHI8PDMwKV4ocj4+PjEzfHI8PDE5KV4ocj4+PjIyfHI8PDEwKSkrKHImdl5yJmtediZrKTtHPUgrQTtoKz1IO3krKzt5PDE2PyhiW3ldPU49V1tEXTw8MjR8V1tEKzFdPDwxNnxXW0QrMl08PDh8V1tEKzNdLEQrPTQpOihIPWJbeS0yXSxBPWJbeS0xNV0sTj1iW3ktN10rYlt5LTE2XSsoKEg+Pj4xN3xIPDwxNSleKEg+Pj4xOXxIPDwxMyleSD4+PjEwKSsoKEE+Pj43fEE8PDI1KV4oQT4+PjE4fEE8PDE0KV5BPj4+MyksYlt5XT1OKTtIPWUrck5beV0rTisoKGg+Pj42fGg8PDI2KV4oaD4+PjExfGg8PDIxKV4oaD4+PjI1fApoPDw3KSkrKGgmeF5+aCZMKTtBPSgoRz4+PjJ8Rzw8MzApXihHPj4+MTN8Rzw8MTkpXihHPj4+MjJ8Rzw8MTApKSsoRyZyXkcmdl5yJnYpO2U9SCtBO2srPUg7eSsrO3k8MTY/KGJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9TCtyTlt5XStOKygoaz4+PjZ8azw8MjYpXihrPj4+MTF8azw8MjEpXihrPj4+MjV8azw8NykpKyhrJmhefmsmeCk7QT0oKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKSkrKGUmR15lJnJeRyZyKTtOPXI7cj14O3g9TjtOPUc7Rz1oO2g9TjtOPWU7ZT1rO2s9TjtMPXYrSDt2PUgrQTt5Kyt9bi5OWzBdPXYrbi5OWzBdfDA7bi5OWzFdPWsrbi5OWzFdfDA7bi5OWzJdPWgrbi5OWzJdfAowO24uTlszXT14K24uTlszXXwwO24uTls0XT1MK24uTls0XXwwO24uTls1XT1lK24uTls1XXwwO24uTls2XT1HK24uTls2XXwwO24uTls3XT1yK24uTls3XXwwfTsKTmE9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMzIpLEQ9NjQtbi5KO24uSj41NSYmKEQrPTY0KTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiWzBdPTEyODt2YXIgdj1uLlgqODtmb3IobGV0IGs9MTtrPDk7aysrKXtsZXQgaD12JTI1NjtiW0Qta109aDt2PSh2LWgpLzI1Nn1uLnVwZGF0ZShiKTtmb3IoRD0wO0Q8ODtEKyspV1tEKjRdPW4uTltEXT4+PjI0LFdbRCo0KzFdPW4uTltEXT4+PjE2JjI1NSxXW0QqNCsyXT1uLk5bRF0+Pj44JjI1NSxXW0QqNCszXT1uLk5bRF0mMjU1OyQkKG4pO3JldHVybiBXfTsKcGY9ZnVuY3Rpb24obixXLEQpe249bmV3IHZtaShuLk4pO24udXBkYXRlKFcpO24udXBkYXRlKEQpO1c9TmEobik7bi51cGRhdGUobi5qKTtuLnVwZGF0ZShXKTtXPU5hKG4pO24ucmVzZXQoKTtyZXR1cm4gV307CmtTaj1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJITUFDIixoYXNoOiJTSEEtMjU2In0sITEsWyJzaWduIl0pKTt2YXIgYj1uZXcgVWludDhBcnJheShXLmxlbmd0aCtELmxlbmd0aCk7Yi5zZXQoVyk7Yi5zZXQoRCxXLmxlbmd0aCk7bj1hd2FpdCBuLkouc2lnbih7bmFtZToiSE1BQyIsaGFzaDoiU0hBLTI1NiJ9LG4uTixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9Owp4ZlM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7bi5KfHwobi5KPW5ldyBoYXcobi5OLGIpKTtyZXR1cm4ga1NqKG4uSixXLEQpfTsKSGU9ZnVuY3Rpb24obixXLEQpe24uV3x8KG4uVz1uZXcgWSQobi5OKSk7cmV0dXJuIHBmKG4uVyxXLEQpfTsKTDRaPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10RSgpO2lmKGIpdHJ5e3JldHVybiBhd2FpdCB4ZlMobixXLEQsYil9Y2F0Y2godil7cmV0dXJuIGcuR3EodikscWE9ITAsSGUobixXLEQpfWVsc2UgcmV0dXJuIEhlKG4sVyxEKX07CmVhVT1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIEVycm9yP25ldyBmZigiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6bi5tZXNzYWdlfSk6bmV3IGZmKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTsKZ20yPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgRXJyb3I/bmV3IGZmKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTpuLm1lc3NhZ2V9KTpuZXcgZmYoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpKRT1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIGZmP246VyhuKTtnLlhqKG4pO3Rocm93IG47fTsKSTg9ZnVuY3Rpb24obil7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUobikuc3ViYXJyYXkoMCwxNik7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMTYpO1cuc2V0KG4pO3JldHVybiBXfTsKcXNVPWZ1bmN0aW9uKCl7dmFyIG49WHlVLnZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTtpZihuKXJldHVybiBuO2cuR3EobmV3IGcuUXgoIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5In0pKX07CkFFPWZ1bmN0aW9uKG4sVyl7YTp7bj1TWShuLlcsVy52ZXJzaW9uKTt0cnl7dmFyIEQ9bi5KKFcuZGF0YSxXLmtleSk7YnJlYWsgYX1jYXRjaChiKXtKRShiLGdtMil9RD12b2lkIDB9cmV0dXJuIER9OwpHU3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmluZGV4KCJlbnRpdHlUeXBlIikuZ2V0QWxsKElEQktleVJhbmdlLm9ubHkoVykpLnRoZW4oRD0+RC5tYXAoYj0+QUUobixiKSkpfTsKJGZpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V2UoVyk7cmV0dXJuIG1MKG4sRCkudGhlbigoKT0+dENoKG4sVykpfTsKS2Y9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSltEXTtifHwoYj1uZXcgU2V0LG4uSltEXT1iKTtiLmFkZChXKX07CnIzWj1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9U1kobi5XLDEpLHY9ey4uLld9O3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZ2V0KEQpLnRoZW4oaz0+e2lmKGspe2lmKGsuZW50aXR5VHlwZSE9PSJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKXRocm93IEVycm9yKCJJbmNvcnJlY3QgZW50aXR5IHR5cGUiKTt2LmVudGl0eU1ldGFkYXRhfHwoaz1BRShuLGspLHYuZW50aXR5TWV0YWRhdGE9ay5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e2E6e3RyeXt2YXIgaz1iLlcodixEKTsKYnJlYWsgYX1jYXRjaChoKXtKRShoLGVhVSl9az12b2lkIDB9az17a2V5OkQsZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IixkYXRhOmssdmVyc2lvbjoxfTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikucHV0KGspLCRmaShuLHYpXSl9KS50aGVuKCgpPT57S2YobixELCJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKTsKcmV0dXJuIER9KX07Ck9lPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Y0coVykuZW50aXR5VHlwZTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZGVsZXRlKFcpLG1MKG4sVyldKS50aGVuKCgpPT57S2YobixXLEQpfSl9OwptTD1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShXKSl9OwpzeHI9ZnVuY3Rpb24obixXKXtXPVcubWFwKEQ9Pk9lKG4sRCkpOwpyZXR1cm4gc1IuYWxsKFcpLnRoZW4oKCk9Pnt9KX07CnRDaD1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9cXNVKCk7aWYoIWIpcmV0dXJuIHNSLnJlc29sdmUoW10pO1c9bmV3IGIoVyk7bj1uLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtiPVtdO2ZvcihsZXQgdiBvZiBXLkooKSliLnB1c2gobi5wdXQoe3BhcmVudEVudGl0eUtleTpELGNoaWxkRW50aXR5S2V5OnZ9KSk7cmV0dXJuIHNSLmFsbChiKS50aGVuKHY9PnYubWFwKGs9PmtbMV0pKX07ClNZPWZ1bmN0aW9uKG4sVz0wKXtuPW4uTltXXTtpZighbil0aHJvdyBXPW5ldyBmZigiSU5WQUxJRF9FTkNPREVSX1ZFUlNJT04iLHtPQTpXfSksZy5YaihXKSxXO3JldHVybiBufTsKUGU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5vYnNlcnZlcnMpRChXKX07ClpHPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1hd2FpdCBEZlMobi50b2tlbiksdjtXPWF3YWl0IE9SKGIsWyJFbnRpdHlTdG9yZSIsIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiXSxXLGs9Pnt2PW5ldyBOR3coayxuLk4pO3JldHVybiBEKHYpfSk7CnYmJihiPXYuSixPYmplY3Qua2V5cyhiKS5sZW5ndGg+MCYmKG4uY2hhbm5lbC5wb3N0TWVzc2FnZShiKSxQZShuLGIpKSk7cmV0dXJuIFd9OwpweXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gWkcobix7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+cjNaKEQsVykpfTsKWXNNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pk9lKEQsVykpfTsKSGh3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnN4cihELFcpKX07ClVlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWRvbmx5IixHUTohMH0sRD0+R1N3KEQsVykpfTsKSTkyPWFzeW5jIGZ1bmN0aW9uKCl7dHJ5e2xldCBXPWF3YWl0IGcublAoKTtpZihXJiZSOSgpJiZ0eXBlb2YgZy5xaS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBuPW5ldyBmOWk7cmV0dXJuIG5ldyBKM2koVyxuKX19Y2F0Y2goVyl7VyBpbnN0YW5jZW9mIEVycm9yJiZnLlhqKFcpfX07CnlXPWZ1bmN0aW9uKCl7dmFyIG49WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLmZldGNoO3JldHVybiEhbiYmbi5sZW5ndGg9PT0zfTsKRWU9ZnVuY3Rpb24obixXKXtXPU51bWJlcihXKSoxRTM7dmFyIEQ9TWF0aC5yb3VuZCgoMCxnLlIpKCkpLGI9RC50b1N0cmluZygpO249e2lubmVydHViZVJlc3BvbnNlOm4sc2VydmVyRGF0ZVRpbWVzdGFtcE1zOmIsbGFzdE1vZGlmaWVkVGltZXN0YW1wTXM6YixleHBpcmVUaW1lc3RhbXBNczooRCtXKS50b1N0cmluZygpLGlzUHJvY2Vzc2VkOiEwfTtpZihXPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpbi5jbGllbnROYW1lPVc7cmV0dXJuIG59Owp1Qj1mdW5jdGlvbihuLFcsRCl7aWYoIWcubCgic3RhdGVfdGFnc19raWxsc3dpdGNoIikpe3ZhciBiPW5ldyBpQihXKTtpZigoYi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W10pLmxlbmd0aD4wKXt2YXIgdj1uLk4udUIoKTtmb3IobGV0IGggb2Ygdil7dmFyIGs9dkcobi5OLGgpO2lmKGspe2E6e3Y9Yi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W107az0obmV3IGlCKHFyKGspKSkuTj8ucmVsZXZhbnRTdGF0ZVRhZ3N8fFtdO2ZvcihsZXQgeCBvZiBrKWlmKHguc3RhdGVUYWchPW51bGwmJnYuaW5jbHVkZXMoeC5zdGF0ZVRhZykmJngub25TdGF0ZVRhZ01vZGlmaWVkPT09IlNUQVRFX1RBR19DQUNIRV9JTlNUUlVDVElPTl9FVklDVF9SRVNQT05TRSIpe3Y9ITA7YnJlYWsgYX12PSExfXYmJmtNKG4uTixoKX19fX1iPVcucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzO0QmJmImJk51bWJlcihiKT4wJiYoVz1FZShXLGIpLG4uTi5wdXQoRCxuZXcgYmgoVykpKX07ClNzWj1mdW5jdGlvbihuLFcsRCl7aWYobi5OKXtsZXQgYj1TMShUNShXLCJrZXkiKSl8fCIvVU5LTk9XTl9QQVRIIjtuLk4uc3RhcnQoYil9bj1EO2cubCgid3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0IikmJihuPU1YUyhEKSk7cmV0dXJuIG5ldyB3aW5kb3cuUmVxdWVzdChXLG4pfTsKZE49YXN5bmMgZnVuY3Rpb24obixXLEQsYix2LGspe2lmKGs/LmFib3J0ZWQpcmV0dXJuIFcuY2FuY2VsKCksYjt2YXIge3ZhbHVlOmgsZG9uZTp4fT1hd2FpdCBXLnJlYWQoKTtpZih4KXJldHVybiBuLk4/LnN1Y2Nlc3MoKSxiO3RyeXt2YXIgTD1ELnBhcnNlKGgpfWNhdGNoKGUpe3Rocm93IG5ldyBvOCgiRmFpbGVkIHRvIHBhcnNlIHN0cmVhbWluZyByZXNwb25zZSIsaCk7fWlmKEwhPW51bGwpZm9yKGxldCBlIG9mIEwpYi5wdXNoKGUpLHY/LihlKTtyZXR1cm4gZE4obixXLEQsYix2LGspfTsKbmM9ZnVuY3Rpb24obixXLEQpe2lmKCF6cil7bGV0IGs9Zy5xaigpO2cueG8oayx7Tkg6bEIsWUw6VHJ9KTtpZihEPy5vUyl7Zy54byhrLHtOSDpqWSxQZjpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsRC5jbGllbnRJbnRlcmZhY2UpfSk7Zy54byhrLHtOSDpDZixQZjo1MTg0RTZ9KTtnLnhvKGsse05IOkJlLFlMOkEzaixbZy5MWF06W2pZLENmXX0pO2cueG8oayx7Tkg6RjgsWUw6d059KTt2YXIgYj1rLnJlc29sdmUoRjgpO2xldCBoPXdpbmRvdztpZihoLnl0SW5pdGlhbFZpZGVvSWQpe3ZhciB2PWgueXRJbml0aWFsVmlkZW9JZDtoLnl0SW5pdGlhbFBsYXllclJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsUGxheWVyUmVzcG9uc2UseUgoInBsYXllciIse3ZpZGVvSWQ6dn0pKTtoLnl0SW5pdGlhbFdhdGNoTmV4dFJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsV2F0Y2hOZXh0UmVzcG9uc2UseUgoIm5leHQiLHt2aWRlb0lkOnZ9KSk7aC55dEluaXRpYWxSZWVsSXRlbVdhdGNoUmVzcG9uc2UmJgp1QihiLGgueXRJbml0aWFsUmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHlIKCJyZWVsX2l0ZW1fd2F0Y2giLHt2aWRlb0lkOnZ9KSl9fWcueG8oayx7Tkg6TWEsUGY6e3pnOntmZWVkYmFja0VuZHBvaW50OmhtKG1mUyksbW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludDpobShLNGkpLHBsYXlsaXN0RWRpdEVuZHBvaW50OmhtKE9ociksc2hhcmVFbnRpdHlFbmRwb2ludDpobShSOCksc3Vic2NyaWJlRW5kcG9pbnQ6aG0oUEd4KSx1bnN1YnNjcmliZUVuZHBvaW50OmhtKFpodCksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6aG0oVWZaKX19fSk7dj1iJC5nZXRJbnN0YW5jZSgpO2I9e307diYmKGIuY2xpZW50X2xvY2F0aW9uPXYpO0Q/Lm9TJiYodj1rLnJlc29sdmUoRjgpLGIuc3RvcmU9dixiLnJlc29sdmVfdXJsX3ByZWZldGNoPWsucmVzb2x2ZShRVykpO2cueG8oayx7Tkg6VlcsUGY6Yn0pO2cueG8oayx7Tkg6Y2UsUGY6biE9PXZvaWQgMD8KbjppTygpfSk7Vz09PXZvaWQgMCYmKFc9ay5yZXNvbHZlKGxCKSk7Zy5sKCJhbGxfd2ViX2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmY1MyKCk7RTliKGsucmVzb2x2ZShNYSksVyxrLnJlc29sdmUoY2UpLGsucmVzb2x2ZShWVyksRD8ub1M/ay5yZXNvbHZlKEJlKTp2b2lkIDApO2cueG8oayx7Tkg6YTgsUGY6WDcuaW5zdGFuY2V9KTt6cj1rLnJlc29sdmUoYTgpfXJldHVybiB6cn07CldRPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249bi5zcGxpdCgiJiIpO2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09MiYmKFdbblswXV09blsxXSk7cmV0dXJuIFd9Owp5M3I9YXN5bmMgZnVuY3Rpb24oKXt2YXIgbj13aW5kb3c7YXdhaXQgZy5NaChnLkQ2KCkpO3ZhciBXPW4uYmdldm1jO2lmKCFXKXRocm93IEVycm9yKCJCR0UgQ29udHJvbHMgbm90IGV4cG9zZWQiKTtyZXR1cm57cGF1c2U6KCk9PntXLnAoKX0sCnJlc3VtZTooKT0+e1cucigpfSwKY2hlY2tGb3JSZWZyZXNoOigpPT5XLmNyKCl9fTsKZy5ENj1mdW5jdGlvbigpe3JldHVybiBnLmwoImJnX3N0X2hyIik/ImhhdnVva21oaHMtMCI6YGhhdnVva21oaHMtJHtNYXRoLmZsb29yKGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/LnRpbWVPcmlnaW58fDApfWB9OwpiMD1mdW5jdGlvbihuKXt3aW5kb3cuYmdlbnM9bn07CkVteD1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShuPT57dmFyIFc9d2luZG93O1cubnRwZXZhc3JzIT09dm9pZCAwP24obmV3IHZRKFcubnRwZXZhc3JzKSk6KFcubnRwcWZiZWw9PT12b2lkIDAmJihXLm50cHFmYmVsPVtdKSxXLm50cHFmYmVsLnB1c2goRD0+e24obmV3IHZRKEQpKX0pKX0pfTsKeDU9ZnVuY3Rpb24oKXtpZihnLmFLKCkpe3ZhciBuPWcuQXIoIlBMQVlFUl9WQVJTIix7fSk7aWYoZy4keShuLCJwcml2ZW1iZWQiLCExKSE9IjEiJiYhZy54UihuKSl7dmFyIFc9KCk9PntrNT0hMDsiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3c/Zy5TSCgiRENMS1NUQVQiLDEpOmcuU0goIkRDTEtTVEFUIiwyKX07CnRyeXtsZXQgRD1Taihkb2N1bWVudCk7aU0oaGosVyxEKX1jYXRjaChEKXt9aWhDLnB1c2godGEuTFMoKCk9PntpZighKGs1fHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7aWYoaGoudG9TdHJpbmcoKSYmVyl7dmFyIEQ9YCR7QWkoVyl9YCxiPW9JW0RdO2ImJlBVKGIpfX1jYXRjaCh2KXt9azU9ITA7Zy5TSCgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07CkxjPWZ1bmN0aW9uKCl7dmFyIG49TnVtYmVyKGcuQXIoIkRDTEtTVEFUIiwwKSk7cmV0dXJuIGlzTmFOKG4pPzA6bn07CmV0PWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpvbU09YXN5bmMgZnVuY3Rpb24obil7aWYoZy5xaS55dEF0UCYmIWcubCgieXRhdHBfa3MiKSl7dmFyIFc9YXdhaXQgZy5xaS55dEF0UDtkZWxldGUgZy5xaS55dEF0UDt2YXIgRD1XPy5SO3ZhciBiPVc/LlQ7Vz11dDIoRCk7bGV0IGs9ISFiO24uSi5KKEQ/Vz9rPzc6MTA6az8xOjg6az8yOjksbi5XKyspO2lmKCFEfHxXKUQ9YXdhaXQgWHkobixxZShiLG51bGwpKSxEPUpTT04uc3RyaW5naWZ5KEQpO2cucWkueXRBdFJDP2cucWkueXRBdFJDKEQpOmcuR3EoRXJyb3IoInl0QXRSQyBub3QgZGVmaW5lZCBmb3IgeXRBdFAuIikpfWVsc2UgZy5xaS55dEF0UkM/Zy5WeCgwLGFzeW5jKCk9PntiPWcucWkueXRBdFQ7ZGVsZXRlIGcucWkueXRBdFQ7aWYoZy5xaS55dEF0UkMpe24uSi5KKDIsbi5XKyspO3ZhciBrPWF3YWl0IFh5KG4scWUoYixudWxsKSk7Zy5xaS55dEF0UkMmJmcucWkueXRBdFJDKEpTT04uc3RyaW5naWZ5KGspKX1lbHNlIG4uSi5KKDYsbi5XKyspfSwyLHYwKCJhdHRfaW5pdF9kZWxheSIsCjApKTooYj1nLnFpLnl0QXRULGRlbGV0ZSBnLnFpLnl0QXRULG4uSi5KKDEsbi5XKyspKTsKRD1hd2FpdCBFbXgoKTtELmJpbmRJbm5lcnR1YmVDaGFsbGVuZ2VGZXRjaGVyKGs9PntuLkouSigzLG4uVysrKTtyZXR1cm4gWHkobixxZShiLGspKX0pOwpELnJlZ2lzdGVyQ2hhbGxlbmdlRmV0Y2hlZENhbGxiYWNrKGs9PntrPWsuY2hhbGxlbmdlO2lmKCFrKXRocm93IEVycm9yKCJCR0VfTUFDUiIpO2s9e2NoYWxsZW5nZTprLFJSOldRKGspLE8xOnYsYmdDaGFsbGVuZ2U6bmV3IHIkfTtrPVByb21pc2UucmVzb2x2ZShrKTtuLk49a30pOwp2YXIgdj1hd2FpdCBnLk1oKGcuRDYoKSk7RD1ELmdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCkuY2hhbGxlbmdlO2lmKCFEKXRocm93IEVycm9yKCJCR0VfTUFDSUwiKTtyZXR1cm57Y2hhbGxlbmdlOkQsUlI6V1EoRCksTzE6dixiZ0NoYWxsZW5nZTpuZXcgciR9fTsKdGo9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9cWUodm9pZCAwLGckKCkuTik7dHJ5e3ZhciBEPWF3YWl0IGRmMihuLFcpfWNhdGNoKHgpe3JldHVybiBnLkdxKEVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYXR0ZXN0YXRpb24gY2hhbGxlbmdlIGFmdGVyIDUgYXR0ZW1wdHM7IG5vdCByZXRyeWluZyBmb3IgMjRoLiIpKSxHMChuLDg2NEU1KSx7Y2hhbGxlbmdlOiIiLFJSOnt9LE8xOnZvaWQgMCxiZ0NoYWxsZW5nZTp2b2lkIDB9fVc9RC5RRjt2YXIgYj1ELlR0O0cwKG4sKE51bWJlcihiLnQpfHw3MjAwKSoxRTMpO249dm9pZCAwO2lmKCJjMWEiaW4gYiYmRC5iZ0NoYWxsZW5nZSl7RD1ELmJnQ2hhbGxlbmdlO3ZhciB2PW5ldyByJDtpZihELmludGVycHJldGVySmF2YXNjcmlwdCl7dmFyIGs9Tk4oRC5pbnRlcnByZXRlckphdmFzY3JpcHQpO2s9S2IoaykudG9TdHJpbmcoKTt2YXIgaD1uZXcgcXY7Zy5TRShoLDYsayk7JDkodixxdiwxLGgseFUpfWVsc2UgRC5pbnRlcnByZXRlclVybCYmCihrPXB3KEQuaW50ZXJwcmV0ZXJVcmwpLGs9eDMoaykudG9TdHJpbmcoKSxoPW5ldyBHSCxnLlNFKGgsNCxrKSwkOSh2LEdILDIsaCx4VSkpO0QuaW50ZXJwcmV0ZXJIYXNoJiZBUyh2LDMsRC5pbnRlcnByZXRlckhhc2gseFUpO0QucHJvZ3JhbSYmQVModiw0LEQucHJvZ3JhbSx4VSk7RC5nbG9iYWxOYW1lJiZBUyh2LDUsRC5nbG9iYWxOYW1lLHhVKTtELmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iJiZBUyh2LDcsRC5jbGllbnRFeHBlcmltZW50c1N0YXRlQmxvYix4VSk7dHJ5e2F3YWl0IHRxKGckKCksdil9Y2F0Y2goeCl7cmV0dXJuIGcuR3EoeCkse2NoYWxsZW5nZTpXLFJSOmIsTzE6bixiZ0NoYWxsZW5nZTp2fX10cnl7bj1uZXcgQXEoe2NoYWxsZW5nZTp2LHgzOntWajoiYUdJZiJ9fSksYXdhaXQgbi5Pdn1jYXRjaCh4KXtnLkdxKHgpLG49dm9pZCAwfX1yZXR1cm57Y2hhbGxlbmdlOlcsUlI6YixPMTpuLGJnQ2hhbGxlbmdlOnZ9fTsKWHk9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLlg7aWYoIUR8fEQuV0coKSlyZXR1cm4gJDUobixXKTtnLmdfKCJhdHRfcG5hIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBuZXcgUHJvbWlzZShiPT57RC5lRigicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PnskNShuLFcpLnRoZW4oYil9KX0pfTsKZGYyPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPXZvaWQgMCxiPTA7Yjw1Oyl7aWYoYj4wKXtsZXQgdj0xRTMqTWF0aC5wb3coMixiLTEpK01hdGgucmFuZG9tKCkqMUUzO2F3YWl0IG5ldyBQcm9taXNlKGs9PntnLmNCKDAsKCk9PntrKHZvaWQgMCl9LHYpfSl9dHJ5e24uSi5KKDQsbi5XKyspOwpsZXQgdj1hd2FpdCBYeShuLFcpO3JldHVybiB6YWkodil9Y2F0Y2godil7RD12LHYgaW5zdGFuY2VvZiBFcnJvciYmZy5HcSh2KX1iKyt9dGhyb3cgRDt9OwpHMD1mdW5jdGlvbihuLFcpe3ZhciBEPURhdGUubm93KCkrVyxiPWFzeW5jKCk9Pnt2YXIgdj1ELURhdGUubm93KCk7djwxRTM/YXdhaXQgbDlpKG4pOmcuY0IoMCxiLE1hdGgubWluKHYsNkU0KSl9OwpiKCl9OwokNT1hc3luYyBmdW5jdGlvbihuLFcpe2IwKDIpO3RyeXtsZXQgRD1hd2FpdCBYeShuLm5ldHdvcmssVyk7RD9ELmNoYWxsZW5nZSYmIUQuYmdDaGFsbGVuZ2U/YjAoMSk6YjAoNCk6YjAoMyk7cmV0dXJuIER9Y2F0Y2goRCl7YjAoMyl9fTsKemFpPWZ1bmN0aW9uKG4pe2lmKCFuKXRocm93IEVycm9yKCJGZXRjaGluZyBBdHRlc3RhdGlvbiBjaGFsbGVuZ2UgcmV0dXJuZWQgZmFsc3kiKTtpZighbi5jaGFsbGVuZ2UpdGhyb3cgRXJyb3IoIk1pc3NpbmcgQXR0ZXN0YXRpb24gY2hhbGxlbmdlIik7dmFyIFc9bi5jaGFsbGVuZ2UsRD1XUShXKTtpZigiYzFhImluIEQmJighbi5iZ0NoYWxsZW5nZXx8IW4uYmdDaGFsbGVuZ2UucHJvZ3JhbSkpdGhyb3cgRXJyb3IoIkV4cGVjdGVkIGJnIGNoYWxsZW5nZSBidXQgbWlzc2luZy4iKTtyZXR1cm57Li4ubixRRjpXLFR0OkR9fTsKbDlpPWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPWF3YWl0IFByb21pc2UucmFjZShbbi5OLG51bGxdKSxEPXRqKG4pO24uTj1EO1c/Lk8xPy5kaXNwb3NlKCl9OwpUR2g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IFByb21pc2UoRD0+e2cuY0IoMCwoKT0+e0QoVygpKX0sbil9KX07CnFlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e2VuZ2FnZW1lbnRUeXBlOiJFTkdBR0VNRU5UX1RZUEVfVU5CT1VORCJ9O24mJihELmVhY3JUb2tlbj1uKTtXJiYoRC5pbnRlcnByZXRlckhhc2g9Vyk7cmV0dXJuIER9Owp1dDI9ZnVuY3Rpb24obil7aWYoIW58fCFnLmwoInJvc2NhcyIpKXJldHVybiExO3RyeXt2YXIgVz1KU09OLnBhcnNlKG4pfWNhdGNoKEQpe3JldHVybiExfW49Vy5jaGFsbGVuZ2U7aWYoIW4pcmV0dXJuITE7Vz1XUShuKTtuPU51bWJlcihXLmMpfHx2b2lkIDA7Vz1OdW1iZXIoVy50KXx8NzIwMDtyZXR1cm4hIW4mJkRhdGUubm93KCk+KG4rVykqMUUzfTsKcmE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2Uobj0+e3ZhciBXPXdpbmRvdztXLmF0dG1wIT09dm9pZCAwP24oVy5hdHRtcCk6KFcuYXR0bXE9PT12b2lkIDAmJihXLmF0dG1xPVtdKSxXLmF0dG1xLnB1c2goRD0+e24oRCl9KSl9KX07CmcucGM9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKHNoKCkpe3ZhciBiPXdpbmRvdztyZXR1cm4gYi5hdHRtcCE9PXZvaWQgMD9iLmF0dG1wLnMobixXLEQpOihhd2FpdCByYSgpKS5zKG4sVyxEKX1yZXR1cm4oYj0oYj1nLnJyKCJ5dC5hYmEuYXR0IikpP2I6TmUuaW5zdGFuY2UhPT12b2lkIDA/TmUuaW5zdGFuY2UuZFEuYmluZChOZS5pbnN0YW5jZSk6bnVsbCk/YihuLFcsRCk6UHJvbWlzZS5yZXNvbHZlKHtlcnJvcjoiQVRURVNUQVRJT05fRVJST1JfQVBJX05PVF9SRUFEWSJ9KX07CmcuWTU9YXN5bmMgZnVuY3Rpb24oKXtpZihzaCgpKXJldHVybiB3aW5kb3cuYXR0bXA9PT12b2lkIDA/ITE6KGF3YWl0IHJhKCkpLmlyKCk7dmFyIG47cmV0dXJuKG49KG49Zy5ycigieXQuYWJhLmF0dDIiKSk/bjpOZS5pbnN0YW5jZSE9PXZvaWQgMD9OZS5pbnN0YW5jZS55Zi5iaW5kKE5lLmluc3RhbmNlKTpudWxsKT9uKCk6UHJvbWlzZS5yZXNvbHZlKCExKX07CnNoPWZ1bmN0aW9uKCl7cmV0dXJuKGcubCgiYXR0bXVzaSIpfHxnLmwoImF0dG11c2l3IikpJiZnLmwoImF0dG11c2lfdWUiKX07CkhRPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIik7RHx8KEQ9e30sZy5HYigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIixEKSk7aWYoZy5sKCJ3ZWJfZGRfaXUiKXx8anhTLmluY2x1ZGVzKG4pKURbbl09V307CkJHTT1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17Y29udGV4dDpnLnZiKCksc2V0dGluZ0l0ZW1JZDpXLG5ld1ZhbHVlOkR9O0Q9TEIoQ0diKTtuPWF3YWl0IGcucl8obixXLEQpO2lmKCFufHxuLmVycm9yTWV0YWRhdGEpbj9uLmVycm9yTWV0YWRhdGEmJmcuR3EobmV3IGcuUXgoYFNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAke24uZXJyb3JNZXRhZGF0YS5zdGF0dXN9YCkpOmcuR3EobmV3IGcuUXgoIlNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIGVtcHR5IHJlc3BvbnNlIikpfTsKRjRiPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtEPyhuLnZWKDIpLGlNKGZ3KEQpLCgpPT57aWYod2luZG93LnRyYXlyaWRlKWZjKG4sYix2KTtlbHNle24udlYoMyk7bGV0IGg9dU0oRCkseD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChoKTt4JiYoeUooaCkseC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHgpKTtnLkdxKG5ldyBnLlF4KCJCTDpVTEIiLGAke0R9YCkpfX0saykpOlc/KGs9Zy56RigiU0NSSVBUIiksVyBpbnN0YW5jZW9mIEFGPyhrLnRleHRDb250ZW50PUtiKFcpLE9NKGspKTprLnRleHRDb250ZW50PVcsay5ub25jZT1Taihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChrKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGspLHdpbmRvdy50cmF5cmlkZT9mYyhuLGIsdik6KG4udlYoNCksZy5HcShuZXcgZy5ReCgiQkw6VUxCSiIpKSkpOmcuR3EobmV3IGcuUXgoIkJMOlVMViIpKX07CmZjPWZ1bmN0aW9uKG4sVyxEKXtuLnZWKDUpO3ZhciBiPSEhbi5EYSYmd3loLmluY2x1ZGVzKGcuSVAobi5EYSl8fCIiKTt0cnl7bGV0IHY9bmV3IEFxKHtwcm9ncmFtOlcsZ2xvYmFsTmFtZToidHJheXJpZGUiLHgzOntkaXNhYmxlOiFnLmwoImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiKXx8IWcubCgiYXR0X3NraXBfbWV0cmljc19mb3JfY29va2llbGVzc19kb21haW5zX2tzIikmJmIsVmo6ImFHSWYifX0pO3YuT3YudGhlbigoKT0+e24udlYoNik7RCYmRChXKX0pOwpuLk4odil9Y2F0Y2godil7bi52Vig3KSx2IGluc3RhbmNlb2YgRXJyb3ImJmcuR3Eodil9fTsKdmFyIE1DYj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDEsODEzOCxuLFcsRCl9OwpKaj1mdW5jdGlvbigpe3ZhciBuPWcucnIoInl0LmFidXNlLnBsYXllckF0dExvYWRlciIpO3JldHVybiBuJiZbImJndm1hIiwiYmd2bWIiLCJiZ3ZtYyJdLmV2ZXJ5KFc9PlcgaW4gbik/bjpudWxsfTsKUmFTPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDI6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiAyO2Nhc2UgMDpyZXR1cm4gMztjYXNlIDQ6Y2FzZSAzOnJldHVybiAxO2RlZmF1bHQ6Zy5wYihuLCJ1bmtub3duIHJlc3VsdCB0eXBlIil9fTsKZy5JYT1mdW5jdGlvbihuKXtyZXR1cm4gbj8ubGF5b3V0SWQhPW51bGwmJm4/LmxheW91dFR5cGUhPW51bGx9OwpnLlo2PWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuU3QpfHxnLncobixnLkFqKXx8Zy53KG4sZy5tMil8fGcudyhuLGcuS2MpfHxnLncobixnLk9oKXx8Zy53KG4sZy5QUSk/ITA6ITF9OwpnLnUwPWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuVWgpfHxnLncobixnLnlWKXx8Zy53KG4sUXhNKXx8Zy53KG4sZy5FaCl8fGcudyhuLGcuaTApPyEwOiExfTsKZy56MD1mdW5jdGlvbihuKXtyZXR1cm4gZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpP2cudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5vYSl8fGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5kYSk/ITA6ITE6ITF9OwpnLmwwPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclZhcnMhPT12b2lkIDAmJm4ucGluZ3MhPT12b2lkIDAmJm4uZXh0ZXJuYWxWaWRlb0lkIT09dm9pZCAwfTsKZy5NZT1mdW5jdGlvbihuKXtpZighZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpKXJldHVybiExO249bi5yZW5kZXJpbmdDb250ZW50O3ZhciBXPWcudyhuLGcuVDApO3JldHVybiBXP2cuanQoVyk6KFc9Zy53KG4sZy5DYykpP2cubDAoVyk6KFc9Zy53KG4sZy5CUSkpP1cucGxheWVyVmFycyE9PXZvaWQgMDooVz1nLncobixnLlVoKSk/Vy5kdXJhdGlvbk1pbGxpc2Vjb25kcyE9PXZvaWQgMDpnLncobixnLkZ5KXx8Zy53KG4sZy53YSk/ITA6ITF9OwpnLmp0PWZ1bmN0aW9uKG4pe249KG4uc2VxdWVudGlhbExheW91dHN8fFtdKS5tYXAoVz0+Zy53KFcsZy5SYSkpOwpyZXR1cm4gbi5sZW5ndGg+MCYmbi5ldmVyeShnLk1lKX07CmcuVlY9ZnVuY3Rpb24obil7cmV0dXJuIGcuSWEobi5hZExheW91dE1ldGFkYXRhKT8obj1nLncobi5yZW5kZXJpbmdDb250ZW50LGcuUVYpKSYmbi5waW5ncz8hMDohMTohMX07CmcuRHE9ZnVuY3Rpb24obil7aWYoIWcuSWEobi5hZExheW91dE1ldGFkYXRhKSlyZXR1cm4hMTtpZihnLncobi5yZW5kZXJpbmdDb250ZW50LGcuY1EpfHxnLncobi5yZW5kZXJpbmdDb250ZW50LGcub2EpKXJldHVybiEwO3ZhciBXPWcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5hYSk7cmV0dXJuIGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5uaSl8fGcudyhXPy5zaWRlUGFuZWwsVkMyKXx8Zy53KFc/LnNpZGVQYW5lbCxnLlckKXx8Zy53KFc/LnNpZGVQYW5lbCxjM2gpPyEwOiExfTsKZy5nTT1mdW5jdGlvbihuKXt2YXIgVzsoVz0hbil8fChXPW4uYWRTbG90TWV0YWRhdGEsVz0hKFc/LnNsb3RJZCE9PXZvaWQgMCYmVz8uc2xvdFR5cGUhPT12b2lkIDApKTtpZihXfHwhKGcuYloobil8fG4uc2xvdEVudHJ5VHJpZ2dlciYmbi5zbG90RnVsZmlsbG1lbnRUcmlnZ2VycyYmbi5zbG90RXhwaXJhdGlvblRyaWdnZXJzKSlyZXR1cm4hMTtuPW4uZnVsZmlsbG1lbnRDb250ZW50Py5mdWxmaWxsZWRMYXlvdXQ7cmV0dXJuKFc9Zy53KG4sZy5SYSkpP2cuTWUoVyk6KFc9Zy53KG4sZy52JCkpP2cuRHEoVyk6KFc9Zy53KG4sZy5reikpP2cudTAoVyk6KFc9Zy53KG4sZy5oWCkpP2cuWjYoVyk6KFc9Zy53KG4sZy54eikpP2cuSWEoVy5hZExheW91dE1ldGFkYXRhKT9nLncoVy5yZW5kZXJpbmdDb250ZW50LGcuU3QpPyEwOiExOiExOihXPWcudyhuLGcuTGkpKT9nLlZWKFcpOihuPWcudyhuLGcuZTIpKT9nLnowKG4pOiExfTsKZy5iWj1mdW5jdGlvbihuKXtyZXR1cm4obj1nLncobi5mdWxmaWxsbWVudENvbnRlbnQ/LmZ1bGZpbGxlZExheW91dCxnLnYkKSkmJm4uYWRMYXlvdXRNZXRhZGF0YT8ubGF5b3V0VHlwZT09PSJMQVlPVVRfVFlQRV9QQU5FTF9RUl9DT0RFIiYmbi5sYXlvdXRFeGl0Tm9ybWFsVHJpZ2dlcnM9PT12b2lkIDB9OwphOXI9ZnVuY3Rpb24obil7Zm9yKGxldCBXIG9mIG58fFtdKXtuPWcudyhXLGcuWEcpO2lmKG49PT12b2lkIDB8fCFnLmdNKG4pKWJyZWFrO2lmKChuPWcudyhuLmZ1bGZpbGxtZW50Q29udGVudD8uZnVsZmlsbGVkTGF5b3V0LGcuTGkpKSYmZy5WVihuKSlyZXR1cm4hMH1yZXR1cm4hMX07CnE0PWZ1bmN0aW9uKG4pe2lmKCFufHwhbi5hZFBsYWNlbWVudHMmJiFuLmFkU2xvdHMpcmV0dXJuITE7Zm9yKGxldCBXIG9mIG4uYWRQbGFjZW1lbnRzfHxbXSl7aWYoIVcpY29udGludWU7bGV0IEQ9Vy5hZFBsYWNlbWVudFJlbmRlcmVyO2lmKEQhPW51bGwmJihELmNvbmZpZyYmRC5jb25maWcuYWRQbGFjZW1lbnRDb25maWcmJkQuY29uZmlnLmFkUGxhY2VtZW50Q29uZmlnLmtpbmQpPT09IkFEX1BMQUNFTUVOVF9LSU5EX1NUQVJUIilyZXR1cm4hMH1mb3IobGV0IFcgb2Ygbi5hZFNsb3RzfHxbXSlpZihnLncoVyxnLlhHKT8uYWRTbG90TWV0YWRhdGE/LnRyaWdnZXJFdmVudD09PSJTTE9UX1RSSUdHRVJfRVZFTlRfQkVGT1JFX0NPTlRFTlQiKXJldHVybiEwO3JldHVybiExfTsKbm4xPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Vz9XLmlzVHJ1c3RlZD09PSEwP0QucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRCIpOlcuaXNUcnVzdGVkPT09ITE/RC5wdXNoKCJCSVNDT1RUSV9CQVNFRF9ERVRFQ1RJT05fU1RBVEVfQVNfU0VFS19FVkVOVF9OT1RfVFJVU1RFRCIpOkQucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRF9QUk9QRVJUWV9VTkRFRklORUQiKTpELnB1c2goIkJJU0NPVFRJX0JBU0VEX0RFVEVDVElPTl9TVEFURV9BU19TRUVLX0VWRU5UX1VOREVGSU5FRCIpO2cuR0MoMCwiYS5zXyIse21ldGFkYXRhOm4sc3RhdGVzOkR9KTtnLlNIKCJBU0RTVEFUIiwwKX07CmcuR0M9ZnVuY3Rpb24obixXLEQpe1c9V0RDW1ddO3ZhciBiPXtkZXRlY3RlZDpuPT09MCxzb3VyY2U6YCR7Vy5KfSR7RC50cmlnZ2VyQ29udGV4dD8/IiJ9JHtELk0zPz8iIn1gLGRldGVjdGlvblN0YXRlczpELnN0YXRlcyxkdXJhdGlvbk1zOkQuRXd9O0QubWV0YWRhdGEmJihiLmNvbnRlbnRDcG49RC5tZXRhZGF0YS5jb250ZW50Q3BuLGIuYWRDcG49RC5tZXRhZGF0YS5hZENwbik7Zy56VSgiYmlzY290dGlCYXNlZERldGVjdGlvbiIsYik7Vy5OIT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpLFcuTiE9PXZvaWQgMD8oVz1XLk4sbj1SYVMobiksbj1EJn4oMzw8Vyl8bjw8Vyk6bj1ELGcuU0goIkNBVFNUQVQiLG4pKX07CnRYPWZ1bmN0aW9uKG4sVyl7bj1uLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKWlmKG5bRF0uc2NvcGU9PT1XKXJldHVybiBuW0RdLnRva2VufHx2b2lkIDB9OwpnLk40PWZ1bmN0aW9uKG4pe3ZhciBXPWcudyhuLCR6KTtpZihXKXJldHVybiBXO2lmKChXPWcudyhuLERZcikpJiZXLmNvbW1hbmRzKXJldHVybiByTShXLmNvbW1hbmRzKTtpZigoVz1nLncobixiOGIpKSYmVy5jb21tYW5kcylyZXR1cm4gck0oVy5jb21tYW5kcyk7aWYoKG49Zy53KG4sdm5NKSkmJm4uaWRlbnRpZmllciYmbi5jb21tYW5kJiYoczN8fChzMz1bXSksIXMzLmluY2x1ZGVzKG4uaWRlbnRpZmllcikpKXJldHVybiBzMy5wdXNoKG4uaWRlbnRpZmllciksZy53KG4uY29tbWFuZCwkeil9OwpyTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aCE9PTApe3ZhciBXPVtdO2ZvcihsZXQgRCBvZiBuKShuPWcuTjQoRCkpJiZXLnB1c2gobik7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOld9fX19OwpwaT1mdW5jdGlvbihuKXtpZihuJiZuLnNpbXBsZVRleHQpcmV0dXJuIG4uc2ltcGxlVGV4dDt2YXIgVz0iIjtpZihuJiZuLnJ1bnMpZm9yKGxldCBEPTA7RDxuLnJ1bnMubGVuZ3RoO0QrKyluLnJ1bnNbRF0udGV4dCYmKFcrPW4ucnVuc1tEXS50ZXh0KTtyZXR1cm4gV307Cll6PWZ1bmN0aW9uKG4pe3JldHVybiBuP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChXKXtnLlhqKFcpfX06bn07CmZpPWZ1bmN0aW9uKCl7SCQuaW5zdGFuY2V8fChIJC5pbnN0YW5jZT1uZXcgSCQpO3JldHVybiBIJC5pbnN0YW5jZX07CklmPWZ1bmN0aW9uKCl7SlguaW5zdGFuY2V8fChKWC5pbnN0YW5jZT1uZXcgSlgpO3JldHVybiBKWC5pbnN0YW5jZX07Cm1VPWZ1bmN0aW9uKG4sVyxELGI9e30pe1BWKCgpPT57a3ZNLmluY2x1ZGVzKFcpfHwoZy5HcShuZXcgZy5ReCgiY3JlYXRlQ2xpZW50U2NyZWVuKCkgY2FsbGVkIHdpdGggYSBub24tcGFnZSBWRSIsVykpLFc9ODM3NjkpO2lmKCFiLmlzSGlzdG9yeU5hdmlnYXRpb24pe2xldCB2PWIubGF5ZXJ8fDA7bi5UQy5zZXQodixbXSk7UzIobix2KS5wdXNoKHtyb290VmU6VyxrZXk6Yi5rZXl8fCIifSl9bi5EPVtdO24uTz1bXTtiLlVBP2hqdChuLFcsRCxiKTpBWChuLFcsRCxiKX0pKCl9OwpTMj1mdW5jdGlvbihuLFcpe24uSy5oYXMoVyl8fG4uSy5zZXQoVyxbXSk7cmV0dXJuIG4uSy5nZXQoVyl9OwpoanQ9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5OLmFkZChiLmxheWVyfHwwKTtuLmo9KCk9PntBWChuLFcsRCxiKTt2YXIgdj13NChiLmxheWVyKTtpZih2KXtsZXQgaz1nLlJ2KGIubGF5ZXIpO2ZvcihsZXQgaCBvZiBuLkQpe2xldCB4PWhbMF0sTD1oWzFdfHx2O2s/S2kobix4LEwsYi5sYXllcixrKTpPMyhuLHgsTCxiLmxheWVyKX1mb3IobGV0IGggb2Ygbi5PKVAkKG4saFswXSxoWzFdKX19OwpEfHxnLlJ2KGIubGF5ZXIpfHxuLmooKTtpZihiLlVBKWZvcihsZXQgdiBvZiBiLlVBKXhZYihuLHYsYi5sYXllcik7ZWxzZSBnLlhqKEVycm9yKCJEZWxheWVkIHNjcmVlbiBuZWVkcyBhIGRhdGEgcHJvbWlzZS4iKSl9OwpBWD1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj12b2lkIDA7Yi5sYXllcnx8KGIubGF5ZXI9MCk7dj1iLnBhcmVudExheWVyIT09dm9pZCAwP2IucGFyZW50TGF5ZXI6Yi5sYXllcjt2YXIgaz1nLlJ2KHYpO3Y9dzQodik7dmFyIGg9RHx8dix4O2gmJihiLnBhcmVudENzbiE9PXZvaWQgMD94PXtjbGllbnRTY3JlZW5Ob25jZTpiLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmsmJmshPT0iVU5ERUZJTkVEX0NTTiImJih4PXtjbGllbnRTY3JlZW5Ob25jZTprLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgTCxlPWcuQXIoIkVWRU5UX0lEIik7az09PSJVTkRFRklORURfQ1NOIiYmZSYmKEw9e3NlcnZsZXREYXRhOntzZXJpYWxpemVkU2VydmxldEV2ZW50SWQ6ZX19KTtnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikmJmsmJlpxKG4sayk7Zy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZrJiZkSyhoLGspO3RyeXt2YXIgRz1nOWkobi5jbGllbnQsVyx4LGIuTDgsCmIuY3R0QXV0aEluZm8sTCxiLmltcGxpY2l0R2VzdHVyZVR5cGUsYi5sb2dnaW5nRXhwZWN0YXRpb25zLGIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKE4pe0s0KE4se2w3Olcscm9vdFZlOnYsSTc6RCxsQTprLGdQOngsTDg6Yi5MOH0pO2cuWGooTik7cmV0dXJufWNzKEcsVyxiLmxheWVyLGIuY3R0QXV0aEluZm8pO2smJmshPT0iVU5ERUZJTkVEX0NTTiImJnYmJiF3SEMoaykmJihUcShuLmNsaWVudCxrLHYsITApLG4uSi5kZWxldGUoaykpO1c9UzIobixiLmxheWVyfHwwKTtXLmxlbmd0aD4wJiYhV1tXLmxlbmd0aC0xXS5jc24mJihXW1cubGVuZ3RoLTFdLmNzbj1HfHwiIik7Zy5ubCh7Y2xpZW50U2NyZWVuTm9uY2U6R30pO1UzLmluc3RhbmNlfHwoVTMuaW5zdGFuY2U9bmV3IFUzKTtQVihmaSgpLk4pLmJpbmQoZmkoKSkoKTt2YXIgcj13NChiLmxheWVyKTtrJiZrIT09IlVOREVGSU5FRF9DU04iJiZyJiZnLmwoIm11c2ljX3dlYl9tYXJrX3Jvb3RfdmlzaWJsZSIpJiYKRmooRyxyKTtuLk4uZGVsZXRlKGIubGF5ZXJ8fDApO24uaj12b2lkIDA7bi5TJC5nZXQoYi5sYXllcik/LmZvckVhY2goKE4sSCk9PntOP08zKG4sSCxOLGIubGF5ZXIpOnImJk8zKG4sSCxyLGIubGF5ZXIpfSk7CkxEWihuKX07CnhZYj1mdW5jdGlvbihuLFcsRD0wKXtQVigoKT0+e1cudGhlbihiPT57bi5OLmhhcyhEKSYmbi5qJiZuLmooKTt2YXIgdj1nLlJ2KEQpLGs9dzQoRCk7aWYodiYmayl7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2I/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpO2I/LnBsYXllclJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07CktpPWZ1bmN0aW9uKG4sVyxELGI9MCx2KXtuLkouaGFzKHYpfHxuLkouc2V0KHYsbmV3IFNldCk7dmFyIGs9RHx8dzQoYik7az1gJHtXLnRvU3RyaW5nKCl9fCR7az9rLnRvU3RyaW5nKCk6IiJ9YDtuLkouZ2V0KHYpLmhhcyhrKXx8KE8zKG4sVyxELGIpLG4uSi5nZXQodikuYWRkKGspKX07Ck8zPWZ1bmN0aW9uKG4sVyxELGI9MCl7cmV0dXJuIFBWKCgpPT57aWYobi5OLmhhcyhiKSlyZXR1cm4gbi5ELnB1c2goW1csRF0pLCEwO3ZhciB2PWcuUnYoYiksaz1EfHx3NChiKTtpZih2JiZrKXtpZihnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikpe2xldCBoPW4uWC5nZXQoay50b1N0cmluZygpKTtoP2gucHVzaChXKToobi5ZLnNldChrLnRvU3RyaW5nKCksayksbi5YLnNldChrLnRvU3RyaW5nKCksW1ddKSk7bi50d3x8KG4udHc9Zy5jQigwLCgpPT57WnEobix2KX0sMTIwMCkpfWVsc2UgdWcobi5jbGllbnQsdixrLFcpOwpyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpnLnlyPWZ1bmN0aW9uKG4pe3ZhciBXPUlmKCk7UFYoKCk9Pnt2YXIgRD1UVShuKSxiPWcuUnYoMCk7YiYmIVcuTi5oYXMoMCk/S2koVyxELHZvaWQgMCwwLGIpOk8zKFcsRCx2b2lkIDAsMCk7cmV0dXJuIER9KSgpfTsKZWp3PWZ1bmN0aW9uKG4pe3ZhciBXPXt2ZVR5cGU6MjUzMjQ2fTtyZXR1cm4gUFYoKCk9PntpZighVy52ZVR5cGUpcmV0dXJuIGcucWcobmV3IGcuUXgoIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihXLnZpc2liaWxpdHlUeXBlcyl7dmFyIEQ9Vy52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChiLHYpPT5ifHYpOwpEPXt2aXNpYmlsaXR5Ont0eXBlczpTdHJpbmcoRCl9fX1EPWp5KFcudmVUeXBlLFcudmlzdWFsRWxlbWVudCxXLmVsZW1lbnRJbmRleCxXLmNsaWVudFlvdVR1YmVEYXRhLHZvaWQgMCxEKTtyZXR1cm4gTzMobixEKT9EOm51bGx9KSgpfTsKWnE9ZnVuY3Rpb24obixXKXtpZihXPT09dm9pZCAwKXtsZXQgRD1CZ3IoKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKylEW2JdIT09dm9pZCAwJiZacShuLERbYl0pfWVsc2Ugbi5YLmZvckVhY2goKEQsYik9PnsoYj1uLlkuZ2V0KGIpKSYmaWcobi5jbGllbnQsVyxiLEQpfSksbi5YLmNsZWFyKCksbi5ZLmNsZWFyKCksbi50dz12b2lkIDB9Owpnblo9ZnVuY3Rpb24obixXLEQsYj0wKXtpZighVylyZXR1cm4hMTtiPWcuUnYoYik7aWYoIWIpcmV0dXJuITE7amkobi5jbGllbnQsYixUVShXKSxEKTtyZXR1cm4hMH07ClAkPWZ1bmN0aW9uKG4sVyxELGI9MCl7dmFyIHY9Zy5SdihiKTtXPVd8fHc0KGIpO3YmJlcmJihuPW4uY2xpZW50LGI9UGEoe2N0dEF1dGhJbmZvOlE0KHYpfHx2b2lkIDB9LHYpLEQ9e2Nzbjp2LHZlOlcuZ2V0QXNKc29uKCksY2xpZW50RGF0YTpEfSx2PT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixELGIpKX07CkxEWj1mdW5jdGlvbihuKXtmb3IodmFyIFc9MDtXPG4uVi5sZW5ndGg7VysrKXt2YXIgRD1uLlZbV107dHJ5e0QoKX1jYXRjaChiKXtnLlhqKGIpfX1uLlYubGVuZ3RoPTA7Zm9yKFc9MDtXPG4uY0oubGVuZ3RoO1crKyl7RD1uLmNKW1ddO3RyeXtEKCl9Y2F0Y2goYil7Zy5YaihiKX19fTsKaVo9ZnVuY3Rpb24oKXtFMy5pbnN0YW5jZXx8KEUzLmluc3RhbmNlPW5ldyBFMyk7cmV0dXJuIEUzLmluc3RhbmNlfTsKWE9iPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgWE1MSHR0cFJlcXVlc3Q7RD8ubGcmJihiLm9ucmVhZHlzdGF0ZWNoYW5nZT12PT57RC5sZyhiLHYpfSk7CmIub3BlbihXLm1ldGhvZD8/IkdFVCIsbiwhMCk7Yi5yZXNwb25zZVR5cGU9InRleHQiO2Iud2l0aENyZWRlbnRpYWxzPSEwO2lmKFcuaGVhZGVycylmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMoVy5oZWFkZXJzKSliLnNldFJlcXVlc3RIZWFkZXIodixrKTtyZXR1cm4gYn07CnFmUz1mdW5jdGlvbigpe3ZhciBuPW5hdmlnYXRvcjtyZXR1cm4gbmV3IFByb21pc2UoKFcsRCk9PntuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YT9uLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2UucXVlcnlVc2FnZUFuZFF1b3RhKChiLHYpPT57Vyh7dXNhZ2U6YixxdW90YTp2fSl9LGI9PntEKGIpfSk6RChFcnJvcigid2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkLiIpKX0pfTsKdDZDPWZ1bmN0aW9uKG4sVyl7R3ZVKG4ucHJvZ3JhbSxXLkQzKSYmKGcuZ18oImJnX2kiLHZvaWQgMCwicGxheWVyX2F0dCIpLGcudVouaW5pdGlhbGl6ZShuLCgpPT57Zy5nXygiYmdfbCIsdm9pZCAwLCJwbGF5ZXJfYXR0Iik7b2Y9KDAsZy5SKSgpfSxXLmNzcE5vbmNlLFcuRGEpKX07CnZhciAkWWo9ZnVuY3Rpb24oKXtyZXR1cm4gSjRbSVsxMF1dKHRoaXMsMTYsNDYyNil9OwpyOVM9ZnVuY3Rpb24obj17fSl7cmV0dXJuIGcudVouaW52b2tlKG4pfTsKR3ZVPWZ1bmN0aW9uKG4sVyl7aWYobil7dmFyIEQ7Zy51Wi5pc0xvYWRpbmcoKT9EPSExOkQ9IW9mfHwoMCxnLlIpKCktb2Y+VztuPUR9ZWxzZSBuPSExO3JldHVybiBufTsKc18yPWZ1bmN0aW9uKG4sVyl7aWYoVy5wYXJ0bmVySWQ9PT0zOCYmbi5wbGF5ZXJTdHlsZT09PSJib29rcyIpe3ZhciBEPVcudmlkZW9JZC5pbmRleE9mKCI6Iik7bj1XLnZpZGVvSWQuc2xpY2UoMCxEKTtEPVcudmlkZW9JZC5zbGljZShEKzEpO3JldHVybiBnLkVUKGAvL3BsYXkuZ29vZ2xlLmNvbS9ib29rcy92b2x1bWVzLyR7bn0vY29udGVudC9tZWRpYWAse2FpZDpELHNpZzpXLnlkfSl9aWYoVy5wYXJ0bmVySWQ9PT0zMCYmbi5wbGF5ZXJTdHlsZT09PSJkb2NzIilyZXR1cm4gZy5FVCgiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZ2V0X3ZpZGVvX2luZm8iLHtkb2NpZDpXLnZpZGVvSWQsYXV0aHVzZXI6Vy5rcCxhdXRoa2V5OlcudkYsZXVybDpuLlFyfSk7aWYoVy5wYXJ0bmVySWQ9PT0zMyYmbi5wbGF5ZXJTdHlsZT09PSJnb29nbGUtbGl2ZSIpcmV0dXJuIGcuRVQoIi8vZ29vZ2xlLWxpdmVwbGF5ZXIuYXBwc3BvdC5jb20vZ2V0X3ZpZGVvX2luZm8iLHtrZXk6Vy52aWRlb0lkfSk7CnRocm93IEVycm9yKCJnZXRWaWRlb0luZm9VcmwgZm9yIGludmFsaWQgbmFtZXNwYWNlOiAiK24uVik7fTsKTlFpPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O24uY0wmJihXLnl0cmV4dD1uLmNMKTtyZXR1cm4gZy5HRihXKT92b2lkIDA6V307CmcuekM9ZnVuY3Rpb24obixXKXt0NkMobix7RDM6Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIiksY3NwTm9uY2U6Vy5jc3BOb25jZSxEYTpXLkRhfHwiIn0pfTsKZy5sWj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YSYmbi52aWRlb0RhdGEucEspe2xldCBXPVtuLnZpZGVvRGF0YS5wS107Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uTikpaWYobi5SUltEXSYmbi5OW0RdKXtsZXQgYj1uLk5bRF0obi5SUik7YiYmVy5wdXNoKGIpfXJldHVybiBXLmpvaW4oIiYiKX1yZXR1cm4gbnVsbH07CmcuVEM9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobilmb3IobGV0IFtiLHZdb2YgT2JqZWN0LmVudHJpZXMobikpe249Yjt2YXIgRD12O2lmKEQ9PT12b2lkIDApY29udGludWU7RD10eXBlb2YgRD09PSJib29sZWFuIj9gJHsrRH1gOmAke0R9YC5yZXBsYWNlKC9bOiw9XS9nLCJfIik7Vy5wdXNoKGAke259LiR7RH1gKX1yZXR1cm4gVy5qb2luKCI7Iil9OwpqMj1mdW5jdGlvbihuKXtyZXR1cm4gbj09PTF8fG49PT0yfTsKQiQ9ZnVuY3Rpb24obixXPTApe2lmKG4gaW5zdGFuY2VvZiBnLkNpKXJldHVybiBuO249biYmbiBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYCR7bn1gKTtqMihXKT9nLlhqKG4pOmcuR3Eobik7cmV0dXJuIG5ldyBnLkNpKFc9PT0xPyJwbGF5ZXIuZmF0YWxleGNlcHRpb24iOiJwbGF5ZXIuZXhjZXB0aW9uIix7bmFtZTpgJHtuLm5hbWV9YCxtZXNzYWdlOmAke24ubWVzc2FnZX1gfSxXKX07Ckg4cj1mdW5jdGlvbihuLFcpe1FBKG4sMixXLkNuLEZHLDMpO1FBKG4sMyxXLmlubmVydHViZVJlcXVlc3QscE9pLDMpO2cuRmEobiw0LFcub25lc2llVXN0cmVhbWVyQ29uZmlnKTtnLkZhKG4sOSxXLkJ4KTtRQShuLDEwLFcubUgsd00sMyk7UUEobiwxNSxXLnJlbG9hZFBsYXliYWNrUGFyYW1zLFlmaSwzKTtnLlJ3KG4sMTgsVy5Vayl9OwpRcj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLmZvcm1hdElkLE00LDMpO0NSKG4sMixXLnN0YXJ0VGltZU1zKTtDUihuLDMsVy5kdXJhdGlvbk1zKTtDUihuLDQsVy5BQyk7Q1Iobiw1LFcuaTkpO1FBKG4sOSxXLmo2LGY4QywzKTtRQShuLDExLFcuQUYsUmYsMSk7UUEobiwxMixXLkVqLFJmLDEpfTsKSjliPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy52aWRlb0lkKTtDUihuLDIsVy5sbXQpfTsKZjhDPWZ1bmN0aW9uKG4sVyl7aWYoVy5Geilmb3IobGV0IEQ9MDtEPFcuRnoubGVuZ3RoO0QrKylRQShuLDEsVy5GeltEXSxKOWIsMyl9OwpNND1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLml0YWcpO0NSKG4sMixXLmxtdCk7Zy5SdyhuLDMsVy54dGFncyl9OwpWcj1mdW5jdGlvbihuKXtyZXR1cm57aXRhZzpQRyhuLDEpLGxtdDpQRyhuLDIpLHh0YWdzOkV4KG4sMyl9fTsKUmY9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5zdGFydFRpY2tzKTtDUihuLDIsVy5sOCk7Q1IobiwzLFcudGltZXNjYWxlKX07CmMkPWZ1bmN0aW9uKG4pe3JldHVybntzdGFydFRpY2tzOlBHKG4sMSksbDg6UEcobiwyKSx0aW1lc2NhbGU6UEcobiwzKX19OwpJOGo9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5kZWZhdWx0UG9saWN5KTtDUihuLDIsVy5zbW9vdGgpO0NSKG4sMyxXLnZpc2liaWxpdHkpO0NSKG4sNCxXLk9iKTtDUihuLDUsVy5wZXJmb3JtYW5jZSk7Q1Iobiw2LFcuc3BlZWQpfTsKQTlTPWZ1bmN0aW9uKG4sVyl7aWYoVy5hdXRob3JpemVkRm9ybWF0cylmb3IobGV0IEQ9MDtEPFcuYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoO0QrKylRQShuLDEsVy5hdXRob3JpemVkRm9ybWF0c1tEXSxTZmosMSk7Zy5GYShuLDIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpfTsKU2ZqPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudHJhY2tUeXBlKTtCRyhuLDIsVy5pc0hkcil9OwpGRz1mdW5jdGlvbihuLFcpe0NSKG4sMTMsVy50aW1lU2luY2VMYXN0TWFudWFsRm9ybWF0U2VsZWN0aW9uTXMpO3ZhciBEPVcubGFzdE1hbnVhbERpcmVjdGlvbjtEIT09dm9pZCAwJiYoajUobiwxMTIpLGo1KG4sRDw8MV5EPj4zMSkpO0NSKG4sMTYsVy5pSCk7Q1IobiwxNyxXLmRldGFpbGVkTmV0d29ya1R5cGUpO0NSKG4sMTgsVy5zQSk7Q1IobiwxOSxXLllBKTtDUihuLDIxLFcuVE4pO0NSKG4sMjMsVy5JJCk7Q1IobiwyOCxXLm5SKTtDUihuLDI5LFcubHEpO0NSKG4sMzQsVy52aXNpYmlsaXR5KTtEPVcucGxheWJhY2tSYXRlO2lmKEQhPT12b2lkIDApe3ZhciBiPW5ldyBBcnJheUJ1ZmZlcig0KTsobmV3IEZsb2F0MzJBcnJheShiKSlbMF09RDtEPShuZXcgVWludDMyQXJyYXkoYikpWzBdO2lmKEQhPT12b2lkIDApZm9yKGo1KG4sMjg1KSxUNihuLDQpLGI9MDtiPDQ7KW4udmlldy5zZXRVaW50OChuLnBvcyxEJjI1NSksRD4+PTgsbi5wb3MrPTEsYis9MX1DUihuLDM2LFcuZnEpOwpRQShuLDM4LFcubWVkaWFDYXBhYmlsaXRpZXMsbVl3LDMpO0NSKG4sMzksVy5aSSk7Q1Iobiw0MCxXLllmKTtDUihuLDQ0LFcucGxheWVyU3RhdGUpO0JHKG4sNDYsVy5FYik7Q1Iobiw0OCxXLmo0KTtDUihuLDUwLFcua0UpO0NSKG4sNTEsVy5VbSk7Q1Iobiw1NCxXLkc3KTtpZihXLnlLKWZvcihEPTA7RDxXLnlLLmxlbmd0aDtEKyspQ1Iobiw1NSxXLnlLW0RdKTtCRyhuLDU2LFcuWkMpO0NSKG4sNTcsVy5YRCk7Qkcobiw1OCxXLmJ2KTtDUihuLDU5LFcublMpO0NSKG4sNjAsVy5HRik7Qkcobiw2MSxXLmlzUHJlZmV0Y2gpO0NSKG4sNjIsVy5TZik7Zy5GYShuLDYzLFcuc2FickxpY2Vuc2VDb25zdHJhaW50KTtDUihuLDY0LFcuazgpO0NSKG4sNjYsVy5WWCk7Q1Iobiw2NyxXLkJaKTtDUihuLDY4LFcucDYpO2cuUncobiw2OSxXLmF1ZGlvVHJhY2tJZCk7Qkcobiw3MSxXLnIwKTtRQShuLDcyLFcuTk8sSThqLDEpO0NSKG4sNzMsVy5pQik7Q1Iobiw3NCxXLllzKTtDUihuLDc1LFcuZXEpOwpDUihuLDc2LFcucU0pO1FBKG4sNzksVy5rYyxBOVMsMyk7Q1Iobiw4MCxXLkokKTtCRyhuLDg1LFcudXEpfTsKbVl3PWZ1bmN0aW9uKG4sVyl7aWYoVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllcylmb3IodmFyIEQ9MDtEPFcudmlkZW9Gb3JtYXRDYXBhYmlsaXRpZXMubGVuZ3RoO0QrKylRQShuLDEsVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllc1tEXSxLRDEsMSk7aWYoVy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcylmb3IoRD0wO0Q8Vy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcy5sZW5ndGg7RCsrKVFBKG4sMixXLmF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzW0RdLE84TSwxKTtRQShuLDQsVy5wZXJQbGF5YmFja0F0dHJpYnV0ZXMsUDZTLDMpO0NSKG4sNSxXLmhkck1vZGVCaXRtYXNrKX07CnZhciBaODE9ZnVuY3Rpb24oKXtyZXR1cm4gZzdbSVsxMF1dKHRoaXMsNDEsODk3NSl9Owp2YXIgS0QxPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudmlkZW9Db2RlYyk7QkcobiwyLFcuZWZmaWNpZW50KTtDUihuLDMsVy5tYXhIZWlnaHQpO0NSKG4sNCxXLm1heFdpZHRoKTtDUihuLDExLFcubWF4RnJhbWVyYXRlKTtDUihuLDEyLFcubWF4Qml0cmF0ZUJwcyk7QkcobiwxNSxXLmlzMTBCaXRTdXBwb3J0ZWQpfSxPOE09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5hdWRpb0NvZGVjKTsKQ1IobiwyLFcubnVtQ2hhbm5lbHMpO0NSKG4sMyxXLm1heEJpdHJhdGVCcHMpO0NSKG4sNixXLnNwYXRpYWxDYXBhYmlsaXR5Qml0bWFzayl9Owp2YXIgVVloPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDUxLDIyNDksbixXKX07ClA2Uz1mdW5jdGlvbihuLFcpe2lmKFcuaXRhZ0RlbnlsaXN0KWZvcihsZXQgRD0wO0Q8Vy5pdGFnRGVueWxpc3QubGVuZ3RoO0QrKylDUihuLDEsVy5pdGFnRGVueWxpc3RbRF0pfTsKd009ZnVuY3Rpb24obixXKXtRQShuLDEsVy5jbGllbnRJbmZvLHk5dCwzKTtnLkZhKG4sMixXLmROKTtnLkZhKG4sMyxXLnBsYXliYWNrQ29va2llKTtnLkZhKG4sNCxXLkJ4KTtpZihXLnJxKWZvcih2YXIgRD0wO0Q8Vy5ycS5sZW5ndGg7RCsrKVFBKG4sNSxXLnJxW0RdLEVuMiwzKTtpZihXLnV0KWZvcihEPTA7RDxXLnV0Lmxlbmd0aDtEKyspQ1Iobiw2LFcudXRbRF0pO2cuUncobiw3LFcucEcpO1FBKG4sOCxXLnEkLGk4VSwzKX07CnVmTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLlN6KTtDUihuLDIsVy5SNyl9OwpvbnI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmNvZGU7RCE9PXZvaWQgMCYmKGo1KG4sOCksajUobixEPDwxXkQ+PjMxKSk7Zy5SdyhuLDIsVy5tZXNzYWdlKX07CmRZTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmNsaWVudFN0YXRlKTtRQShuLDIsVy5adSx1Zk0sMSl9OwppOFU9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLll0KTtRQShuLDIsVy5TaixvbnIsMyk7UUEobiwzLFcuY29sZFN0YXJ0SW5mbyxkWU0sMyl9OwpFbjI9ZnVuY3Rpb24obixXKXtDUihuLDEsVy50eXBlKTtnLkZhKG4sMixXLnZhbHVlKX07Cnk5dD1mdW5jdGlvbihuLFcpe2cuUncobiwxLFcuaGwpO2cuUncobiwxMixXLmRldmljZU1ha2UpO2cuUncobiwxMyxXLmRldmljZU1vZGVsKTtDUihuLDE2LFcuY2xpZW50TmFtZSk7Zy5SdyhuLDE3LFcuY2xpZW50VmVyc2lvbik7Zy5SdyhuLDE4LFcub3NOYW1lKTtnLlJ3KG4sMTksVy5vc1ZlcnNpb24pfTsKemoxPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5uYW1lKTtnLlJ3KG4sMixXLnZhbHVlKX07CmFmPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy51cmwpO2lmKFcuZTMpZm9yKGxldCBEPTA7RDxXLmUzLmxlbmd0aDtEKyspUUEobiwyLFcuZTNbRF0semoxLDMpO2cuRmEobiwzLFcucG9zdEJvZHkpO0JHKG4sNCxXLkVhKTtCRyhuLDYsVy5lOCl9OwpwT2k9ZnVuY3Rpb24obixXKXtnLkZhKG4sMixXLnZVKTtnLkZhKG4sNSxXLmVuY3J5cHRlZENsaWVudEtleSk7Zy5GYShuLDYsVy5pdik7Zy5GYShuLDcsVy5kZik7QkcobiwxMCxXLm13KTtCRyhuLDEzLFcuRkQpO0JHKG4sMTQsVy5EWSk7Zy5GYShuLDE2LFcud1MpO0JHKG4sMTcsVy55Sil9OwpsOHQ9ZnVuY3Rpb24obil7cmV0dXJue1dzOlBHKG4sMSksaHR0cFN0YXR1czpQRyhuLDIpLGJvZHk6eUEobiw0KX19OwpZZmk9ZnVuY3Rpb24obixXKXtnLlJ3KG4sMSxXLnRva2VuKX07ClRRTT1mdW5jdGlvbihuKXtyZXR1cm57dG9rZW46RXgobiwxKX19OwpqX1U9ZnVuY3Rpb24obil7Zm9yKHZhciBXPVtdLEQ7RD1FeChuLDEpOylXLnB1c2goRCk7cmV0dXJue3VybDpXLmxlbmd0aD9XOnZvaWQgMH19OwpuNz1mdW5jdGlvbihuKXtyZXR1cm57QWg6UEcobiwxKSx2eTpQRyhuLDIpfX07CkZEYj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2lmKFcuY0UpZm9yKHZhciBEPTA7RDxXLmNFLmxlbmd0aDtEKyspUUEobiwyLFcuY0VbRF0sTTQsMyk7aWYoVy5lVylmb3IoRD0wO0Q8Vy5lVy5sZW5ndGg7RCsrKVFBKG4sMyxXLmVXW0RdLFFyLDMpO2cuRmEobiw1LFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7aWYoVy5CaSlmb3IoRD0wO0Q8Vy5CaS5sZW5ndGg7RCsrKVFBKG4sNixXLkJpW0RdLEM2VSwzKTtpZihXLkdoKWZvcihEPTA7RDxXLkdoLmxlbmd0aDtEKyspUUEobiwxNixXLkdoW0RdLE00LDMpO2lmKFcuTSQpZm9yKEQ9MDtEPFcuTSQubGVuZ3RoO0QrKylRQShuLDE3LFcuTSRbRF0sTTQsMyk7aWYoVy5Fdilmb3IoRD0wO0Q8Vy5Fdi5sZW5ndGg7RCsrKVFBKG4sMTgsVy5FdltEXSxNNCwzKTtRQShuLDE5LFcubUgsd00sMyk7UUEobiwyMSxXLk15LFduLDMpO0NSKG4sMjIsVy51TSk7Q1IobiwyMyxXLnJHKTtpZihXLmJLKWZvcihEPTA7RDxXLmJLLmxlbmd0aDtEKyspUUEobiwKMjQsVy5iS1tEXSxXbiwzKTtnLkZhKG4sMjUsVy5kUyk7aWYoVy5qcilmb3IoRD0wO0Q8Vy5qci5sZW5ndGg7RCsrKVFBKG4sMUUzLFcuanJbRF0sQlF3LDMpfTsKQzZVPWZ1bmN0aW9uKG4sVyl7UUEobiwxLFcuZm9ybWF0SWQsTTQsMyk7Q1IobiwyLFcudkQpO0NSKG4sMyxXLnNlcXVlbmNlTnVtYmVyKTtRQShuLDQsVy5oeCxSZiwxKTtDUihuLDUsVy5TMCk7Q1Iobiw2LFcudTMpfTsKV249ZnVuY3Rpb24obixXKXtpZihXLmFEKWZvcihsZXQgRD0wO0Q8Vy5hRC5sZW5ndGg7RCsrKWcuUncobiwxLFcuYURbRF0pO2cuRmEobiwyLFcuYWRzQ29uZmlnKTtnLlJ3KG4sMyxXLkJmKTtDUihuLDQsVy5ESik7Q1Iobiw1LFcub3YpO2cuUncobiw2LFcuZDMpO2cuUncobiw3LFcuY3VlcG9pbnRJZCk7Q1Iobiw4LFcuczEpO2cuUncobiw5LFcudGlsZUNvbnRleHQpO0NSKG4sMTAsVy5zdGFydFRpbWVNcyk7Q1IobiwxMSxXLmR1cmF0aW9uTXMpfTsKQlF3PWZ1bmN0aW9uKG4sVyl7aWYoVy5jRSlmb3IodmFyIEQ9MDtEPFcuY0UubGVuZ3RoO0QrKylRQShuLDEsVy5jRVtEXSxNNCwzKTtpZihXLmVXKWZvcihEPTA7RDxXLmVXLmxlbmd0aDtEKyspUUEobiwyLFcuZVdbRF0sUXIsMyk7Zy5SdyhuLDMsVy5jbGlwSWQpfTsKZy5EVT1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2cuRmEobiwzLFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7UUEobiw1LFcubUgsd00sMyk7UUEobiw2LFcuTXksV24sMyl9Owp3T1o9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKX19OwpSalU9ZnVuY3Rpb24obixXKXtpZihXLk8zKWZvcihsZXQgRD0wO0Q8Vy5PMy5sZW5ndGg7RCsrKVFBKG4sMSxXLk8zW0RdLE02VSwzKX07ClFfMT1mdW5jdGlvbihuLFcpe1FBKG4sMTA0NyxXLmJMLFJqVSwzKX07Ck02VT1mdW5jdGlvbihuLFcpe2lmKFcualYpZm9yKHZhciBEPTA7RDxXLmpWLmxlbmd0aDtEKyspZy5GYShuLDEsVy5qVltEXSk7aWYoVy5yWClmb3IoRD0wO0Q8Vy5yWC5sZW5ndGg7RCsrKWcuRmEobiwyLFcuclhbRF0pfTsKbnl3PWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5jcG4pO0NSKG4sMixXLnNlcXVlbmNlTnVtYmVyKTtnLlJ3KG4sMyxXLnNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQpO2lmKFcuZGVjb2RlckluZm8pZm9yKHZhciBEPTA7RDxXLmRlY29kZXJJbmZvLmxlbmd0aDtEKyspUUEobiw2LFcuZGVjb2RlckluZm9bRF0sVjZyLDMpO2cuUncobiw5LFcucGxheWVyUmVzcG9uc2VDcG4pO0NSKG4sMTAsVy50cmFuc2l0aW9uU3RpdGNoVHlwZSk7Zy5SdyhuLDExLFcucW9lUGluZ1VybCk7Q1IobiwxMixXLnRpbWVzdGFtcE9mZnNldE1zZWNzKTtDUihuLDE1LFcucmVtb3RlQ29udHJvbE1vZGUpO2lmKFcucmVtb3RlQ29ubmVjdGVkRGV2aWNlcylmb3IoRD0wO0Q8Vy5yZW1vdGVDb25uZWN0ZWREZXZpY2VzLmxlbmd0aDtEKyspUUEobiwxNixXLnJlbW90ZUNvbm5lY3RlZERldmljZXNbRF0sYzlNLDMpO2cuRmEobiwxNyxXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0KTsKaWYoVy5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLmxlbmd0aDtEKyspZy5GYShuLDE5LFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhW0RdKTtpZihXLmRhaUN1ZVBvaW50RXZlbnRzKWZvcihEPTA7RDxXLmRhaUN1ZVBvaW50RXZlbnRzLmxlbmd0aDtEKyspUUEobiwyMCxXLmRhaUN1ZVBvaW50RXZlbnRzW0RdLGE4MiwzKTtpZihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YS5sZW5ndGg7RCsrKWcuRmEobiwyMSxXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGFbRF0pfTsKV0JqPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5pZGVudGlmaWVyKTtnLlJ3KG4sMixXLnRpbGVDb250ZXh0KX07Cmcudm49ZnVuY3Rpb24obil7dmFyIFc9e25zOm4uUmEsZWw6bi5ldmVudExhYmVsLGNwbjpuLmNsaWVudFBsYXliYWNrTm9uY2UsdmVyOjIsY210Om4uSihuLk4pLGZtdDpuLnZpZGVvRm9ybWF0LGZzOm4ualc/IjEiOiIwIixydDpuLkoobi53YSksYWRmb3JtYXQ6bi5hZEZvcm1hdCxjb250ZW50X3Y6bi5jb250ZW50VmlkZW9JZCxldXJpOm4uTWQsbGFjdDpuLk5kLGxpdmU6bi5UUSxjbDooOTUxNzc5MTA0KS50b1N0cmluZygpLG1vczpuLlJ0LHN0YXRlOm4ucGxheWVyU3RhdGUsdm9sdW1lOm4uZ1R9O24uc3Vic2NyaWJlZCYmKFcuc3Vic2NyaWJlZD0iMSIpO09iamVjdC5hc3NpZ24oVyxuLlkkKTtuLkQ9PT0iYWxsIj9PYmplY3QuYXNzaWduKFcsbi55RSk6bi5EPT09Im9uY2UiJiZuLlcmJk9iamVjdC5hc3NpZ24oVyxuLnlFKTtuLmF1dG9wbGF5JiYoVy5hdXRvcGxheT0iMSIpO24uTEImJihXLnNhdXRvcGxheT0iMSIpO24uQ3UmJihXLmRuaT0iMSIpOyFuLlgmJm4uSEomJihXLmVwbT0KRGMxW24uSEpdKTtuLmlzRmluYWwmJihXWyJmaW5hbCJdPSIxIik7bi5udSYmKFcuc3BsYXk9IjEiKTtuLm9EJiYoVy5kZWxheT1uLm9EKTtuLkR0JiYoVy5obD1uLkR0KTtuLnJlZ2lvbiYmKFcuY3I9bi5yZWdpb24pO24udXNlckdlbmRlckFnZSYmKFcudWdhPW4udXNlckdlbmRlckFnZSk7bi51c2VyQWdlIT09dm9pZCAwJiZuLkdDJiYoVy51Z2E9bi5HQytuLnVzZXJBZ2UpO24uZSQhPT12b2lkIDAmJihXLmxlbj1uLkoobi5lJCkpOyghbi5YfHxuLkJWKSYmbi5leHBlcmltZW50SWRzLmxlbmd0aD4wJiYoVy5mZXhwPW4uZXhwZXJpbWVudElkcy50b1N0cmluZygpKTtuLkshPT1udWxsJiYoVy5ydG49bi5KKG4uSykpO24uUzkmJihXLmZlYXR1cmU9bi5TOSk7bi5pNSYmKFcuY3RybD1uLmk1KTtuLlVLJiYoVy55dHI9bi5VSyk7bi52SiYmKFcuYWZtdD1uLnZKKTtuLm9mZmxpbmVEb3dubG9hZFVzZXJDaG9pY2UmJihXLk9EVUM9bi5vZmZsaW5lRG93bmxvYWRVc2VyQ2hvaWNlKTtuLlkmJgooVy5saW89bi5KKG4uWSkpO24uWD8oVy5pZHBqPW4uRTUsVy5sZHBqPW4uUXIsbi5kZWxheVRocmVzaG9sZE1ldCYmKFcuZHRtPSIxIiksbi5PIT1udWxsJiYoVy5ydGk9bi5KKG4uTykpLG4uRkwmJihXLmFsZD1uLkZMKSxuLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbiYmKFcuY2xpbz1uLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbikpOm4uYWRUeXBlIT09dm9pZCAwJiYoVy5hdD1uLmFkVHlwZSk7bi5mQiYmKG4uV3x8bi5YKSYmKFcuc2l6ZT1uLmZCKTtuLlcmJm4uVi5sZW5ndGgmJihXLnBic3R5bGU9bi5WLmpvaW4oIiwiKSk7bi5IRCE9bnVsbCYmKG4uV3x8bi5YKSYmKFcuaW52aWV3PW4uSihuLkhEKSk7bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4mJihXLmhiX2RhdGE9bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4pO24uWCYmKFcudm9sdW1lPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQudm9sdW1lKSksVy5zdD1iSihuLGcuaV8obi5zZWdtZW50cywKRD0+RC5zdGFydFRpbWUpKSxXLmV0PWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQuZW5kVGltZSkpLGcub00obi5zZWdtZW50cyxEPT5ELnBsYXliYWNrUmF0ZSE9PTEpJiYoVy5yYXRlPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQucGxheWJhY2tSYXRlKSkpLGcub00obi5zZWdtZW50cyxEPT5ELk4hPT0iLSIpJiYoVy5hbHM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuTikuam9pbigiLCIpKSxnLm9NKG4uc2VnbWVudHMsRD0+RC5wcmV2aW91c2x5RW5kZWQpJiYoVy5wZT1nLmlfKG4uc2VnbWVudHMsRD0+YCR7K0QucHJldmlvdXNseUVuZGVkfWApLmpvaW4oIiwiKSkpOwpXLm11dGVkPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQubXV0ZWQ/MTowKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELnZpc2liaWxpdHlTdGF0ZSE9PTApJiYoVy52aXM9YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC52aXNpYmlsaXR5U3RhdGUpKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELmNvbm5lY3Rpb25UeXBlIT09MCkmJihXLmNvbm49YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5jb25uZWN0aW9uVHlwZSkpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuVyE9PTApJiYoVy5ibG89YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5XKSkpOwpnLm9NKG4uc2VnbWVudHMsRD0+ISFELmopJiYoVy5ibG89Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuaikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW4pJiYoVy5jYnM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuY29tcG9zaXRlTGl2ZVN0YXR1c1Rva2VuKS5qb2luKCIsIikpOwpnLm9NKG4uc2VnbWVudHMsRD0+RC5KIT09Ii0iKSYmKFcuY2M9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuSikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuY2xpcElkIT09Ii0iKSYmKFcuY2xpcGlkPWcuaV8obi5zZWdtZW50cyxEPT5ELmNsaXBJZCkuam9pbigiLCIpKTsKaWYoZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5hdWRpb0lkKSl7bGV0IEQ9ImF1IjsKbi5XJiYoRD0iYXVfZCIpO1dbRF09Zy5pXyhuLnNlZ21lbnRzLGI9PmIuYXVkaW9JZCkuam9pbigiLCIpfWcuakgoKSYmbi50dyYmKFcuY3R0PW4udHcsVy5jdHR5cGU9bi5QWCxXLm1keF9lbnZpcm9ubWVudD1uLm1keEVudmlyb25tZW50KTsKbi55dyYmKFcuZXR5cGU9bi5iZCE9PXZvaWQgMD9uLmJkOjApO24uRkYmJihXLnVvbz1uLkZGKTtuLmxpdmluZ1Jvb21BcHBNb2RlJiZuLmxpdmluZ1Jvb21BcHBNb2RlIT09IkxJVklOR19ST09NX0FQUF9NT0RFX1VOU1BFQ0lGSUVEIiYmKFcuY2xyYW09YlR3W24ubGl2aW5nUm9vbUFwcE1vZGVdfHxuLmxpdmluZ1Jvb21BcHBNb2RlKTtuLmo/dnlNKG4sVyk6KFcuZG9jaWQ9bi52aWRlb0lkLFcucmVmZXJyZXI9bi5yZWZlcnJlcixXLmVpPW4uZXZlbnRJZCxXLm9mPW4uUkgsVy5vc2lkPW4ub3NpZCxXLnZtPW4udmlkZW9NZXRhZGF0YSxuLmFkUXVlcnlJZCYmKFcuYXFpPW4uYWRRdWVyeUlkKSxuLmF1dG9uYXYmJihXLmF1dG9uYXY9IjEiKSxuLnBsYXlsaXN0SWQmJihXLmxpc3Q9bi5wbGF5bGlzdElkKSxuLkFSJiYoVy5zc3J0PSIxIiksbi5IcSYmKFcudXB0PW4uSHEpKTtuLlcmJihuLmVtYmVkc1JjdCYmKFcucmN0PW4uZW1iZWRzUmN0KSxuLmVtYmVkc1JjdG4mJihXLnJjdG49Cm4uZW1iZWRzUmN0biksbi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4mJihXLmNsaW89bi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4pKTtuLmhvc3RDcG4mJihXLmhvc3RfY3BuPW4uaG9zdENwbik7cmV0dXJuIFd9OwphODI9ZnVuY3Rpb24obixXKXtRQShuLDEsVy5pZGVudGlmaWVyLFdCaiwzKTtpZihXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMpZm9yKHZhciBEPTA7RDxXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMubGVuZ3RoO0QrKylRQShuLDIsVy5yZWNlaXZlZEN1ZVBvaW50RXZlbnRzW0RdLGtGdywxKTtpZihXLnJlY2VpdmVkQWRFdmVudHMpZm9yKEQ9MDtEPFcucmVjZWl2ZWRBZEV2ZW50cy5sZW5ndGg7RCsrKVFBKG4sMyxXLnJlY2VpdmVkQWRFdmVudHNbRF0saHN3LDMpfTsKa0Z3PWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Q1IobiwyLFcuc2VnbWVudFN0YXJ0VGltZU1zKTtDUihuLDMsVy5jdWVwb2ludEV2ZW50KTtDUihuLDQsVy5hZEJyZWFrRnVsZmlsbG1lbnRTdGF0ZSk7Q1Iobiw1LFcudHJhY2tUeXBlKTtDUihuLDYsVy5zZWdtZW50TnVtYmVyKTtDUihuLDcsVy5ub0Fkc1N0aXRjaGVkUmVhc29uKX07Cmhzdz1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmVsYXBzZWRUaW1lTXMpO2cuUncobiwyLFcuYWRDcG4pO0NSKG4sMyxXLmFkQWRkZWRMYXRlbmN5VGltZU1zKTtnLlJ3KG4sNCxXLmFkVmlkZW9JZCk7Q1Iobiw1LFcuYWRTdGFydFRpbWVNcyk7Q1Iobiw2LFcuYWREdXJhdGlvbk1zKTtDUihuLDcsVy5hZFJlamVjdGlvblJlYXNvbik7Q1Iobiw4LFcudGltZUVsYXBzZWRTaW5jZUN1ZXBvaW50TXMpfTsKVjZyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Zy5SdyhuLDMsVy52aWRlb0RlY29kZXJOYW1lKX07CmM5TT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmRldmljZUludGVyZmFjZSk7Zy5SdyhuLDIsVy5kZXZpY2VWZXJzaW9uKTtCRyhuLDMsVy5pc1NsZWVwaW5nKX07CkxCVT1mdW5jdGlvbihuKXtyZXR1cm57ZmY6aWgobiwxLHhjYiksdHJhY2tUeXBlOlBHKG4sMiksUFA6UEcobiwzKSx0aW1lUmFuZ2U6aWgobiw0LGMkKSx0aWxlQ29udGV4dDpFeChuLDUpLGJ4OlBHKG4sNiksRzM6UEcobiw3KSxvcHBvcnR1bml0eUlkOkV4KG4sOCksc2VyaWFsaXplZFByZWZldGNoQ29udGV4dDp5QShuLDkpfX07CnhjYj1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLGV2ZW50OlBHKG4sMiksTUs6WncobiwzKSxUeTpadyhuLDQpLHVUOkV4KG4sNSksaWRlbnRpZmllcjpFeChuLDYpLEFDOlBHKG4sOSl9fTsKa2Q9ZnVuY3Rpb24obil7cmV0dXJue2ZpcnN0OlBHKG4sMSksSjc6UEcobiwyKX19Owplc2o9ZnVuY3Rpb24obil7cmV0dXJue2JpdHJhdGU6UEcobiw2KSx3aWR0aDpQRyhuLDcpLGhlaWdodDpQRyhuLDgpLGZwczpQRyhuLDI1KSxhdmVyYWdlQml0cmF0ZTpQRyhuLDMxKSxhdWRpb1NhbXBsZVJhdGU6UEcobiw0NSksYXVkaW9DaGFubmVsczpQRyhuLDQ2KSxxdWFsaXR5T3JkaW5hbDpQRyhuLDU2KX19Owpocz1mdW5jdGlvbihuKXtyZXR1cm57aXRhZ0RlbnlsaXN0OnVoKG4sMSl9fTsKZ3kxPWZ1bmN0aW9uKG4pe3JldHVybntZazpVeChuLDEpLFhXOlBHKG4sMiksc1E6VXgobiwzKSxOVDpadyhuLDQpLGNyeXB0b1BlcmlvZEluZGV4OlBHKG4sNSksWlg6UEcobiw2KSxMRzpQRyhuLDcpfX07CkdGQz1mdW5jdGlvbihuKXtyZXR1cm57SzU6UEcobiwxKSxpdGFnOkV4KG4sMyksUXQ6aWgobiw0LFh4dCksbG10OlBHKG4sNSksQ2U6UEcobiw3KSx4dGFnczpFeChuLDE1KSxuNjppaChuLDIzLHEwYiksWHQ6aWgobiwzNCxocyl9fTsKWHh0PWZ1bmN0aW9uKG4pe3JldHVybntpdjp5QShuLDUpLE5FOlV4KG4sNyl9fTsKdHBiPWZ1bmN0aW9uKG4pe3JldHVybntnazp1aChuLDIpLHZpZGVvSWQ6RXgobiwzKSxRbzpQRyhuLDQpfX07CnEwYj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDIpfX07CiRjeD1mdW5jdGlvbihuKXtyZXR1cm57d2Y6UEcobiwzKSx2NzpQRyhuLDQpLEtOOlBHKG4sNSksWjM6VXgobiw4KSxXWjpQRyhuLDEwKSxITzpQRyhuLDEyKSxVUjpQRyhuLDEzKSxzUjpQRyhuLDE0KSx1MDpQRyhuLDE1KSxMejpQRyhuLDE2KX19Owp4ZD1mdW5jdGlvbihuKXtyZXR1cm57dGFyZ2V0QXVkaW9SZWFkYWhlYWRNczpQRyhuLDEpLHRhcmdldFZpZGVvUmVhZGFoZWFkTXM6UEcobiwyKSxiYWNrb2ZmVGltZU1zOlBHKG4sNCkscGxheWJhY2tDb29raWU6eUEobiw3KSx2aWRlb0lkOkV4KG4sOCl9fTsKTDc9ZnVuY3Rpb24obil7cmV0dXJue21pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjOlBHKG4sMSksbWluUmVhZGFoZWFkTXM6UEcobiwyKX19OwplST1mdW5jdGlvbihuKXtyZXR1cm57c3RhcnRNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwxLEw3KSxyZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwyLEw3KX19OwpyS3I9ZnVuY3Rpb24obil7cmV0dXJue2xhYmVsOkV4KG4sMSksdGV4dDpFeChuLDIpfX07CnNoWj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDEpLGZvcm1hdElkOmloKG4sMixWciksZGVidWdJbmZvOm93KG4sMyxyS3IpfX07CmdQPWZ1bmN0aW9uKG4pe3JldHVybntKMDpvdyhuLDEsc2haKX19OwpObXQ9ZnVuY3Rpb24obil7cmV0dXJue0ZrOlBHKG4sMSksZno6UEcobiwyKSxtaW5SZWFkYWhlYWRNczpQRyhuLDMpfX07ClhOPWZ1bmN0aW9uKG4pe3JldHVybntwdjpQRyhuLDEpLGl0ZW1zOm93KG4sMixObXQpLFBuOlBHKG4sMyl9fTsKcHhpPWZ1bmN0aW9uKG4pe3JldHVybnt0b2tlbjpFeChuLDEpLHZpZGVvSWQ6RXgobiwyKX19OwpZMFU9ZnVuY3Rpb24obil7cmV0dXJue2V3OlBHKG4sMSl9fTsKcUc9ZnVuY3Rpb24obil7cmV0dXJue1FxOkV4KG4sMSksYWN0aW9uOlBHKG4sMiksQ3Y6aWgobiwzLFkwVSl9fTsKR0U9ZnVuY3Rpb24obil7cmV0dXJue0pKOlBHKG4sMSksUUI6UEcobiwyKSxzZWVrU291cmNlOlBHKG4sMyl9fTsKSFRaPWZ1bmN0aW9uKG4pe3JldHVybnt6SDpQRyhuLDEpLHg6UEcobiwyKSx5OlBHKG4sMyksd2lkdGg6UEcobiw0KSxoZWlnaHQ6UEcobiw1KX19OwpmbGo9ZnVuY3Rpb24obil7cmV0dXJue3JlZ2lvbjppaChuLDEsSFRaKSx1MTppaChuLDIsYyQpLGNwbjpFeChuLDUpLGxvZ2dpbmdNZXRhZGF0YTp5QShuLDYpLGJUOmloKG4sNyxjJCksTlI6UEcobiw4KSxxUjpVeChuLDkpfX07CkpLaj1mdW5jdGlvbihuKXtyZXR1cm57UjE6b3cobiwxLGZsail9fTsKSWxqPWZ1bmN0aW9uKG4pe3JldHVybnttZXRhZGF0YTpvdyhuLDEsSktqKSx0cmFja1R5cGU6UEcobiwyKX19Owp0cz1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLHNjb3BlOlBHKG4sMiksdmFsdWU6eUEobiwzKSxzZW5kQnlEZWZhdWx0OlV4KG4sNCksd3JpdGVQb2xpY3k6UEcobiw1KX19OwpTMHc9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Zy5SdyhuLDIsVy51cmwpfTsKQUtyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuaWQpO2cuUncobiwyLFcubmFtZSk7Q1IobiwzLFcucmVzb3VyY2VJZCk7Q1Iobiw0LFcubGluZSk7Q1Iobiw1LFcuY29sdW1uKX07Cm1jcj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmlkKTtDUihuLDIsVy50aW1lc3RhbXBNcyk7Q1IobiwzLFcuc3RhY2tJZCl9OwpLQk09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Q1IobiwyLFcuZnJhbWVJZCk7Q1IobiwzLFcucGFyZW50SWQpfTsKT1RiPWZ1bmN0aW9uKG4sVyl7aWYoVy5yZXNvdXJjZXMpZm9yKHZhciBEPTA7RDxXLnJlc291cmNlcy5sZW5ndGg7RCsrKVFBKG4sMSxXLnJlc291cmNlc1tEXSxTMHcsMyk7aWYoVy5mcmFtZXMpZm9yKEQ9MDtEPFcuZnJhbWVzLmxlbmd0aDtEKyspUUEobiwyLFcuZnJhbWVzW0RdLEFLciwzKTtpZihXLnNhbXBsZXMpZm9yKEQ9MDtEPFcuc2FtcGxlcy5sZW5ndGg7RCsrKVFBKG4sMyxXLnNhbXBsZXNbRF0sbWNyLDEpO2lmKFcuc3RhY2tzKWZvcihEPTA7RDxXLnN0YWNrcy5sZW5ndGg7RCsrKVFBKG4sNCxXLnN0YWNrc1tEXSxLQk0sMSl9OwpQa0M9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpfTsKWlRVPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKVWNpPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuTXcpfTsKeUtDPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKRXkyPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5CQil9OwppVHg9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpO0NSKG4sMixXLlM3KX07CnVMMj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLnR5cGUpO3ZhciBEPVcucUw7aWYoRCE9PXZvaWQgMCl7dmFyIGI9bmV3IEFycmF5QnVmZmVyKDgpOyhuZXcgRmxvYXQ2NEFycmF5KGIpKVswXT1EO0Q9bmV3IFVpbnQzMkFycmF5KGIpO2I9RFswXTtEPURbMV07aWYoYiE9PXZvaWQgMCYmRCE9PXZvaWQgMCl7ajUobiwxNyk7VDYobiw4KTtmb3IobGV0IHY9MDt2PDQ7disrKW4udmlldy5zZXRVaW50OChuLnBvcyxiJjI1NSksYj4+Pj04LG4ucG9zKz0xO2I9RDtmb3IoRD0wO0Q8NDtEKyspbi52aWV3LnNldFVpbnQ4KG4ucG9zLGImMjU1KSxiPj4+PTgsbi5wb3MrPTF9fVFBKG4sMyxXLmE5LFBrQywzKTtRQShuLDQsVy5seCxaVFUsMSk7UUEobiw1LFcucTAsVWNpLDEpO1FBKG4sNixXLmlzVHlwZVN1cHBvcnRlZCx5S0MsMSk7UUEobiw3LFcueTgsRXkyLDMpO1FBKG4sOCxXLkpMLGlUeCwzKX07Cm95aD1mdW5jdGlvbihuKXtyZXR1cm57ZGF0YTp5QShuLDEpfX07CmRjdD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19Owp6czE9ZnVuY3Rpb24obil7cmV0dXJue0hTOlp3KG4sMSl9fTsKbGxyPWZ1bmN0aW9uKG4pe3JldHVybntwbGFjZWhvbGRlcjpVeChuLDEpfX07ClRtcj1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpqaE09ZnVuY3Rpb24obil7cmV0dXJue2RhdGE6eUEobiwxKSxrazpQRyhuLDIpfX07CkNreD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpCbWo9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKSxxTDpadyhuLDIpLFFKOlp3KG4sMyksVG86Wncobiw0KSxpbml0OmloKG4sNSxDa3gpLGE5OmloKG4sNixveWgpLGx4OmloKG4sNyxkY3QpLHEwOmloKG4sOCx6czEpLGlzVHlwZVN1cHBvcnRlZDppaChuLDksbGxyKSx5ODppaChuLDEwLFRtciksSkw6aWgobiwxMSxqaE0pfX07Cnd4Wj1mdW5jdGlvbihuKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhGQlUpLmluY2x1ZGVzKG4pfTsKTXBDPWZ1bmN0aW9uKG4peyRkPTI1OTJFMyoobnx8MSl9OwpyUD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci12b2x1bWUiKXx8e30sVz1uLnZvbHVtZTtyZXR1cm57dm9sdW1lOmlzTmFOKFcpPzEwMDpnLkZmKE1hdGguZmxvb3IoVyksMCwxMDApLG11dGVkOiEhbi5tdXRlZH19Owpzbj1mdW5jdGlvbihuKXtnLlBCKCJ5dC1wbGF5ZXItYmFuZHdpZHRoIixuLDI1OTJFMyl9OwpwNz1mdW5jdGlvbihuPSRkKXtpZihuPjAmJiEoVVAoKT4oMCxnLlIpKCktbioxRTMpKXJldHVybiAwO249Zy5aSSgieXQtcGxheWVyLXF1YWxpdHkiKTtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXtpZihuPU5HW25dLG4+MClyZXR1cm4gbn1lbHNlIGlmKG4gaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIG4ucXVhbGl0eTtyZXR1cm4gMH07CllkPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLXByb3hpbWEtcHJlZiIpO3JldHVybiBuPT1udWxsP251bGw6bn07ClJzeD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci1xdWFsaXR5Iik7aWYobiBpbnN0YW5jZW9mIE9iamVjdCYmbi5xdWFsaXR5JiZuLnByZXZpb3VzUXVhbGl0eSl7aWYobi5xdWFsaXR5Pm4ucHJldmlvdXNRdWFsaXR5KXJldHVybiAxO2lmKG4ucXVhbGl0eTxuLnByZXZpb3VzUXVhbGl0eSlyZXR1cm4tMX1yZXR1cm4gMH07CkhuPWZ1bmN0aW9uKCl7dmFyIG49e3ZhbHVlczp7fSxGWTp7fX07dHJ5e2xldCBXPUpTT04ucGFyc2UoSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlWyJ5dC1wbGF5ZXItbWVtb3J5Il0pLmRhdGEpO24udmFsdWVzPVcudmFsdWVzO24uaGFsZkxpdmVzPVcuaGFsZkxpdmVzfWNhdGNoe31yZXR1cm4gbn07CmY3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiKXx8e319OwpRaHc9ZnVuY3Rpb24obj0hMSl7aWYobil7bj1mNygpO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSlXLmluZGV4T2YoIjEiKSE9PTAmJmRlbGV0ZSBuW1ddO2cuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLG4sMjU5MkUzKX1lbHNlIHRyeXtsZXQgVz1PUC5xYigpLEQ9T1AuQnAoKTtXJiZXLnJlbW92ZSgieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcCIpO0QmJkQucmVtb3ZlKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwIil9Y2F0Y2goVyl7fX07CkpzPWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAtYWN0aXZlLXNldCIpPz9bXX07ClZwQz1mdW5jdGlvbihuPSExKXtuPyhuPUpzKCkuZmlsdGVyKFc9Plcuc3RhcnRzV2l0aCgiMSIpKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLG4sMjU5MkUzKSk6Zy5QQigieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcC1hY3RpdmUtc2V0IixbXSwyNTkyRTMpfTsKSU89ZnVuY3Rpb24oKXtyZXR1cm4hIWcuWkkoInl0LXBsYXllci1oZWFkZXJzLXJlYWRhYmxlIil9OwpnLlNJPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLWNhcHRpb24tbGFuZ3VhZ2UtcHJlZmVyZW5jZXMiKTtyZXR1cm4gbj9uOltdfTsKQXM9ZnVuY3Rpb24oKXt2YXIgbj1nLlpJKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIpLFc9bmV3IE1hcDtpZihuKWZvcihsZXQgW0QsYl1vZiBPYmplY3QuZW50cmllcyhuKSlXLnNldChELGIpO3JldHVybiBXfTsKbTU9ZnVuY3Rpb24oKXtyZXR1cm4gZy5aSSgieXQtcGxheWVyLXZvaWNlLWJvb3N0Iik/P3ZvaWQgMH07Cks3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1hdWRpby1xdWFsaXR5LXNldHRpbmciKT8/Mn07ClpVPWZ1bmN0aW9uKCl7dHJ5e2xldCBuPXdpbmRvdy5uYXZpZ2F0b3I7aWYobi5nZXRBdXRvcGxheVBvbGljeSYmdHlwZW9mIG4uZ2V0QXV0b3BsYXlQb2xpY3k9PT0iZnVuY3Rpb24iKXtsZXQgVz1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGcuT24uV0MpLEQ7RD1XLmxlbmd0aD4wJiZXWzBdP24uZ2V0QXV0b3BsYXlQb2xpY3koV1swXSk6bi5nZXRBdXRvcGxheVBvbGljeSgibWVkaWFlbGVtZW50Iik7aWYoUG5bRF0pcmV0dXJuIFBuW0RdfX1jYXRjaChuKXt9cmV0dXJuIkFVVE9QTEFZX0JST1dTRVJfUE9MSUNZX1VOU1BFQ0lGSUVEIn07ClVuPWZ1bmN0aW9uKG4pe3JldHVybiBuLlBYfHxuLkd1fHxuLm11dGVkQXV0b3BsYXl9Owp5dz1mdW5jdGlvbihuLFcpe3JldHVybiBVbihuKT9XIT09MSYmVyE9PTImJlchPT0wPyJBVVRPUExBWV9TVEFUVVNfVU5BVkFJTEFCTEUiOm4uc1o/IkFVVE9QTEFZX1NUQVRVU19CTE9DS0VEIjoiQVVUT1BMQVlfU1RBVFVTX09DQ1VSUkVEIjoiQVVUT1BMQVlfU1RBVFVTX05PVF9BVFRFTVBURUQifTsKZy5Fbj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5HKCk7bi50aGlyZFBhcnR5fHwobi50aGlyZFBhcnR5PXt9KTtuLnRoaXJkUGFydHk9ey4uLm4udGhpcmRQYXJ0eSxlbWJlZFVybDpiLmxvYWRlclVybH07Yi5hbmNlc3Rvck9yaWdpbnMmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGFuY2VzdG9yT3JpZ2luczpiLmFuY2VzdG9yT3JpZ2luc30pO2IuZUshPW51bGwmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LHZpc2liaWxpdHlGcmFjdGlvbjpOdW1iZXIoYi5lSyl9KTtiLkxLJiYobi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dD17Li4ubi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dCx2aXNpYmlsaXR5RnJhY3Rpb25Tb3VyY2U6Yi5MS30pO24udGhpcmRQYXJ0eS5lbWJlZGRlZFBsYXllckNvbnRleHQ9CnsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGF1dG9wbGF5QnJvd3NlclBvbGljeTpaVSgpLGF1dG9wbGF5SW50ZW5kZWQ6VW4oVyksYXV0b3BsYXlTdGF0dXM6eXcoVyxEKX19OwppSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5zcGxpdCgiLCIpKXtpZighRCljb250aW51ZTsobj1ELnN0YXJ0c1dpdGgoIiEiKSkmJihEPUQuc3Vic3RyaW5nKDEpKTtsZXQgYj1ELnNwbGl0KCItIik7Yi5sZW5ndGg8M3x8Vy5wdXNoKHtoajpiWzBdLHBsYXRmb3JtOmJbMV0sZGV2aWNlVmVyc2lvbjpiWzJdLEVzOm59KX1yZXR1cm4gV307CmFseD1mdW5jdGlvbihuKXtyZXR1cm4gaUoobikubWFwKCh7aGo6VyxkZXZpY2VWZXJzaW9uOkQsRXM6Yn0pPT4oe2RldmljZUludGVyZmFjZTpjS01bdUpbV11dfHwwLGRldmljZVZlcnNpb246RHx8IiIsaXNTbGVlcGluZzpifSkpfTsKb089ZnVuY3Rpb24obixXLEQ9ITEsYj0iIil7IW4mJkQmJmcuR3EoRXJyb3IoYFBsYXllciBVUkwgdmFsaWRhdG9yIGRldGVjdHMgaW52YWxpZCB1cmwuICR7Yn06ICR7V31gKSk7cmV0dXJuIG59Owp6RT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcmJlcudGVzdChuKXx8ZFAmJkQmJkQudGVzdChuKT8hMDohMX07ClRFPWZ1bmN0aW9uKG4pe3JldHVybihuPWxKJiZsSi5leGVjKG4pKT9uWzBdOiIifTsKZ1g9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sbkV3LFdoWiksbiwhMSwiVHJ1c3RlZCBTdHJlYW0gVVJMIil9OwpnLmpJPWZ1bmN0aW9uKG4pe3JldHVybiBvTyh6RShuLEQ1VSxiS1opLG4sITEsIlRydXN0ZWQgSW1hZ2UgVVJMIil9OwpDNz1mdW5jdGlvbihuKXtyZXR1cm4gb08oekUobix2RWgsbnVsbCksbiwhMSwiVHJ1c3RlZCBQcm9tb3RlZCBWaWRlbyBEb21haW4gVVJMIil9OwpoQWk9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sazdyLG51bGwpLG4sITEsIkRybSBMaWNlbnNvciBVUkwiKX07CkJuPWZ1bmN0aW9uKG4sVz0hMSl7cmV0dXJuIG9PKHpFKG4seDVyLExodCksbixXLCJDYXB0aW9ucyBVUkwiKX07CmVBPWZ1bmN0aW9uKG4pe249bmV3IGcuVWoobik7eU4obixkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk7RWoobixkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSk7ZG9jdW1lbnQubG9jYXRpb24ucG9ydCYmaXIobixkb2N1bWVudC5sb2NhdGlvbi5wb3J0KTtyZXR1cm4gbi50b1N0cmluZygpfTsKRk49ZnVuY3Rpb24obil7bj1uZXcgZy5VaihuKTt5TihuLGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKTtyZXR1cm4gbi50b1N0cmluZygpfTsKZUFaPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5uYW1lLFsyXTpuLmlkLFszXTpuLmlzRGVmYXVsdCxbNF06bi5pc0F1dG9EdWJiZWR9fTsKTUc9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB3UChuWzFdLG5bMl0sblszXSxuWzRdKX07ClJPPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5sYW5ndWFnZUNvZGUsWzJdOm4ubGFuZ3VhZ2VOYW1lLFszXTpuLmtpbmQsWzRdOm4ubmFtZSxbNV06bi5kaXNwbGF5TmFtZSxbNl06bi5pZCxbN106bi54dGFncyxbOF06bi5OLFs5XTpuLmlzVHJhbnNsYXRlYWJsZSxbMTBdOm4udXJsLFsxMV06bi52c3NJZCxbMTJdOm4uaXNEZWZhdWx0LFsxM106bi50cmFuc2xhdGlvbkxhbmd1YWdlLFsxNF06bi5jYXB0aW9uSWR9fTsKVnc9ZnVuY3Rpb24obil7dmFyIFc9bmV3IGcuUXcoe2xhbmd1YWdlQ29kZTpuWzFdLGxhbmd1YWdlTmFtZTpuWzJdLGtpbmQ6blszXSxuYW1lOm5bNF0saWQ6bls2XSxpc19zZXJ2YWJsZTpuWzhdLGlzX3RyYW5zbGF0ZWFibGU6bls5XSx1cmw6blsxMF0sdnNzX2lkOm5bMTFdLGlzX2RlZmF1bHQ6blsxMl0seHRhZ3M6bls3XSxjYXB0aW9uSWQ6blsxNF19KTtXLmRpc3BsYXlOYW1lPW5bNV07Vy50cmFuc2xhdGlvbkxhbmd1YWdlPW5bMTNdO3JldHVybiBXfTsKZy5jbj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRpc3BsYXlOYW1lKVcucHVzaChuLmRpc3BsYXlOYW1lKTtlbHNle2xldCBEPW4ubGFuZ3VhZ2VOYW1lfHwiIjtXLnB1c2goRCk7bi5raW5kPT09ImFzciImJkQuaW5kZXhPZigiKCIpPT09LTEmJlcucHVzaCgiIChBdXRvbWF0aWMgQ2FwdGlvbnMpIik7bi5uYW1lJiZXLnB1c2goYCAtICR7bi5uYW1lfWApfW4udHJhbnNsYXRpb25MYW5ndWFnZSYmVy5wdXNoKGAgPj4gJHtuLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VOYW1lfWApO3JldHVybiBXLmpvaW4oIiIpfTsKZy5hTz1mdW5jdGlvbihuKXtyZXR1cm4gbi50cmFuc2xhdGlvbkxhbmd1YWdlP24udHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGU6bi5sYW5ndWFnZUNvZGV9OwpnLm5nPWZ1bmN0aW9uKG4pe3ZhciBXPW4udnNzSWQ7bi50cmFuc2xhdGlvbkxhbmd1YWdlJiZXJiYoVz1gdCR7V30uJHtnLmFPKG4pfWApO3JldHVybiBXfTsKZ0V3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uVyxEPW4uTixiPW4uWDtyZXR1cm57WzFdOm4uY2FwdGlvbnNJbml0aWFsU3RhdGUsWzJdOm4uSixbM106bi5jYXB0aW9uVHJhY2tzLm1hcCh2PT5STyh2KSksCls0XTpXP1JPKFcpOm51bGwsWzVdOkQ/Uk8oRCk6bnVsbCxbNl06bi5pZCxbN106bi5qLFs4XTpuLlYsWzldOmVBWihuLmtaKSxbMTBdOmI/Uk8oYik6bnVsbCxbMTFdOm4ueHRhZ3N9fTsKRGM9ZnVuY3Rpb24obil7dmFyIFc9bls0XSxEPW5bNV0sYj1uWzEwXSx2PW5ldyBXQShuWzZdLE1HKG5bOV0pKTt2LmNhcHRpb25zSW5pdGlhbFN0YXRlPW5bMV07di5jYXB0aW9uVHJhY2tzPW5bM10ubWFwKGs9PlZ3KGspKTsKdi5KPW5bMl07di5XPVc/VncoVyk6bnVsbDt2Lk49RD9WdyhEKTpudWxsO3Yuaj1uWzddO3YuVj1uWzhdO3YuWD1iP1Z3KGIpOm51bGw7di54dGFncz1uWzExXTtyZXR1cm4gdn07CnZBPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBuZXcgYjMoTkdbbl18fDAsTkdbV118fDAsRCxiKX07CmtKPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5KLFsyXTpuLk4sWzNdOm4uVyxbNF06bi5yZWFzb24sWzVdOm4uTnN9fTsKWExTPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgYjMoblsxXSxuWzJdLG5bM10sbls0XSxuWzVdKX07CnhKPWZ1bmN0aW9uKG4pe2lmKGhUJiZuLk5zKXJldHVybiExO3ZhciBXPU5HLmF1dG87cmV0dXJuIG4uSj09PVcmJm4uTj09PVd9OwplSj1mdW5jdGlvbihuKXtyZXR1cm4gTGdbbi5OfHxuLkpdfHwiYXV0byJ9OwpnRj1mdW5jdGlvbihuLFcpe1c9TkdbV107cmV0dXJuIG4uSjw9VyYmKCFuLk58fG4uTj49Vyl9OwpYcD1mdW5jdGlvbihuKXtyZXR1cm4hIW5bIjEiXT8ubGVuZ3RofHwhIW5bIjFoIl0/Lmxlbmd0aHx8ISFuWyIxZSJdPy5sZW5ndGh9OwpxZD1mdW5jdGlvbihuKXtyZXR1cm4gbj09PSIxInx8bj09PSIxaCJ8fG49PT0iMWUifTsKTmQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9ITE7aWYobi5KKXJldHVybiBuLko7dmFyIEw9e30sZT1uZXcgU2V0LEc9e307aWYoR18oYikpe2Zvcih2YXIgciBpbiBiLk4pe2lmKCFiLk4uaGFzT3duUHJvcGVydHkocikpY29udGludWU7bj1iLk5bcl07R1tuLmluZm8uSUJdPVtuLmluZm9dfXJldHVybiBHfXI9dFQoVyxiLEwpO2lmKFcuSil7KHg9WHAocikpfHwoVy5OLm5vQXYxUmVhc29uPSJub0Zvcm1hdCIpO3ZhciBOPUQuWT8iZGlzYWJsZUF2MUZvclNlc3Npb24iOiIiO04mJihXLk4ubm9BdjFSZWFzb249Tik7dih7bm9BdjFSZWFzb246Vy5OLm5vQXYxUmVhc29ufSl9ayYmdih7YWZ0c3J0OiRKKHIpfSk7Tj17fTt2YXIgSD0iIjtmb3IobGV0IEEgb2YgT2JqZWN0LmtleXMocikpe2xldCB5PUE7Zm9yKGxldCBUIG9mIHJbeV0pe2xldCB6PVQuaXRhZyxDPXJGKHksVCxXKTtpZihOLmhhc093blByb3BlcnR5KEMpKXtOW0NdPT09ITA/R1t5XS5wdXNoKFQpOkxbel09Ck5bQ107Y29udGludWV9bGV0IFE9c0QoVyxULEQsYi5pc0xpdmUsZSk7USE9PSEwPyhoLmFkZCh5KSxMW3pdPVEsVy5KJiZULk1XKCkmJihIKz1gOyR7en07JHtRfWApLFE9PT0iZGlzYWJsZXZwOWhmciImJihOW0NdPSJkaXNhYmxldnA5aGZyIikpOihHW3ldPUdbeV18fFtdLEdbeV0ucHVzaChUKSxOW0NdPSEwKX19Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj1ILHYoe25vQXYxUmVhc29uOlcuTi5ub0F2MVJlYXNvbn0pKTtrJiZ2KHtiZmZsdDokSihHKX0pO2ZvcihsZXQgQSBpbiBHKXtpZighRy5oYXNPd25Qcm9wZXJ0eShBKSljb250aW51ZTtiPUE7R1tiXSYmR1tiXVswXS5mWSgpJiYoaD1HW2JdLmxlbmd0aCxHW2JdPUdbYl0sVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9MCYmKGg9R1tiXS5sZW5ndGgsdih7bm9BdjFGbXQ6ImZpbHRlclZwOVVsdGxvdyIsY29kZWM6Yn0pKSxHW2JdPXEyQyhXLEdbYl0sTCksVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9CjAmJihoPUdbYl0ubGVuZ3RoLHYoe25vQXYxRm10OiJmaWx0ZXJRdWFsaXRpZXMiLGNvZGVjOmJ9KSksR1tiXT1HN1UoR1tiXSxMKSxXLkomJnFkKGIpJiZoPjAmJkdbYl0ubGVuZ3RoPD0wJiZ2KHtub0F2MUZtdDoiZmlsdGVySGZyIixjb2RlYzpifSkpfWsmJk9iamVjdC5rZXlzKEwpLmxlbmd0aD4wJiZ2KHtyanI6Zy5UQyhMKX0pO2ZvcihsZXQgQSBvZiBlLnZhbHVlcygpKShMPUQuVy5nZXQoQSkpJiYtLUwuZzE7ayYmdih7YWZ0Zmx0OiRKKEcpfSk7Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj0iZmlsdGVyIix2KHtub0F2MVJlYXNvbjpXLk4ubm9BdjFSZWFzb259KSk7bi5KPWcublQoRyxBPT4hIUEubGVuZ3RoKTsKcmV0dXJuIG4uSn07CklEaD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1XLld8fCEhdixMPXgmJlcuTEI/azp2b2lkIDAsZT1uZXcgU2V0LEc9TmQobixXLEQsYixrLHgsZSk7Yi5YKCkmJihHPXRnaChELEcsdix4LGssVykseCYmayh7ZW5mbHQ6JEooRyl9KSk7Vy55RT0kNXIoRyxXKTt2PUx0PT4hIUdbTHRdOwp2YXIgcj1ySGkoVyk7RD1bXTtmb3IodmFyIE4gb2YgT2JqZWN0LnZhbHVlcyhHKSlOPy5sZW5ndGgmJk5bMF0uZVMoKSYmRC5wdXNoKC4uLk4pO2lmKEdfKGIpKXJldHVybiBrPWcubF8oT2JqZWN0LnZhbHVlcyhHKSxMdD0+ISFMdC5sZW5ndGgmJiEhTHRbMF0uYXVkaW8pLHg9Zy5sXyhPYmplY3QudmFsdWVzKEcpLEx0PT4hIUx0Lmxlbmd0aCYmISFMdFswXS52aWRlbyksayYmeHx8Zy5wJCgpLGcuSDAobmV3IHBnKHgsayxMLEQpKTsKTj1HLmE7dmFyIEg9ITE7Vy5IaSYmclswXSE9PSJhIiYmc1diKE4pJiYoci51bnNoaWZ0KCJhIiksSD0hMCk7eCYmKGsoe2F1ZGlvUHJlZk9yZGVyOnIuam9pbigiXyIpfSksayh7cHJlZmVySGlnaFF1YWxpdHlBdWRpbzpXLkhpfSksayh7Zm9yY2VkQWFjRm9ySHFhOkh9KSk7Tj1bXTtpZihXLnZYKXtyPWcuRU0ocix2KTtIPW5ldyBTZXQ7Zm9yKHZhciBBIG9mIHIpe3ZhciB5PUdbQV07bGV0IEx0PW5ldyBTZXQ7Zm9yKHZhciBUIG9mIHkpaWYoeT1ULmtaPy5pZClILmhhcyh5KT9MdC5oYXMoeSkmJk4ucHVzaChUKTooTHQuYWRkKHkpLEguYWRkKHkpLE4ucHVzaChUKSl9aWYoTi5sZW5ndGg9PT0wKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbclswXV19fWVsc2V7Tj1nLmxfKHIsdik7aWYoIU4pcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbTl19R1siOSJdJiZHLmgmJmIuelcmJiFXLkZGJiYoeCYmayh7ZGx0dnA5OjF9KSwKZGVsZXRlIEdbIjkiXSk7aWYoaCl7eCYmayh7YmZzZmx0OiRKKEcpLGJmc2ZsdGE6WUoobil9KTtXLkR0P24uTj1ORFMoZSxuLk4pOm4uTi5jbGVhcigpO3gmJmsoe2Jmc2ZsdGI6WUoobil9KTtmb3IodmFyIHogaW4gRyl7aWYoIUcuaGFzT3duUHJvcGVydHkoeikpY29udGludWU7aD16O2lmKCEoaD09PSJmInx8Vy54ZD09PTAmJnBMai5oYXMoaCkpKWZvcih2YXIgQyBvZiBHW2hdKVcuRHQ/WTJTKGgsQyxuLk4pOkhLaShuLGgsQyl9eCYmayh7YWZ0c2ZsdDpZSihuKX0pfXo9R1siMWgiXT8iMWgiOiIxIjtuPUdbIjloIl0/IjloIjoiOSI7aD1HW3pdO2U9R1siMiJdO0E9R1tuXTtoJiZoLmxlbmd0aCYmKFcuTi5oaWdoZXN0QXYxUmVzb2x1dGlvbj1oW2gubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtBJiZBLmxlbmd0aCYmKFcuTi5oaWdoZXN0VnA5UmVzb2x1dGlvbj1BW0EubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtDPVtdO1Q9W107aWYoVy55dyYmZSlDPQplLFQ9WyIyIl07ZWxzZSBpZihXLk1kJiZoKUM9aCxUPVt6XSxrKHtmb3JjZUF2MTp6fSk7ZWxzZSBpZihXLkQmJiFXLmJ2KXtUPWZEdyhiKT9HWyIxaCJdfHxHWyI5aCJdP1siMWgiLCI5aCJdOlsiOSIsImgiXTpbIjEiLCI5IiwiaCJdO3gmJmsoe25ld2h5YnByZWY6VC5qb2luKCIuIil9KTtmb3IodmFyIFEgb2YgVClDPUMuY29uY2F0KEdbUV0pLmZpbHRlcihMdD0+THQpfWVsc2UgVy5uUz4wJiZBJiZoJiYoVD1beiwKbl0sQz1oLmNvbmNhdChBKS5maWx0ZXIoTHQ9Pkx0KSk7CmlmKEMubGVuZ3RoJiYhVy5idil7SEEoQyxUKTtpZih4KXt4PVtdO2Zvcih2YXIgViBvZiBDKXgucHVzaChWLml0YWcpO2soe2hiZGZtdDp4LmpvaW4oIi4iKX0pfXJldHVybiBnLkgwKG5ldyBwZyhDLE4sTCxEKSl9Vj1KSHIoVyk7Vj1nLmxfKFYsdik7aWYoIVYpe2lmKEdbel0pcmV0dXJuIGs9R1t6XSxIQShrKSxnLkgwKG5ldyBwZyhrLE4sTCxEKSk7eCYmayh7bm92aWRlbzoxfSk7cmV0dXJuIGcucCQoKX1WIT09IjEiJiZWIT09IjFoInx8IUdbbl18fChRPWZnKEdbVl0pLHY9ZmcoR1tuXSksdj5RP1Y9bjooUT12PT09USx2PUpUKEdbbl0pLHo9SlQoR1tWXSksIVF8fCF2fHxXLllaJiZ6fHwoVj1uKSkpO1Y9PT0iOSImJkcuaCYmZmcoRy5oKT5mZyhHWyI5Il0pJiYoVj0iaCIpO1cuQlYmJmIuaXNMaXZlJiZWPT09IigiJiZHLkgmJmZnKEdbIigiXSk8MTQ0MCYmKFY9IkgiKTt4JiZrKHt2Zm1seTpJcihWKX0pO1c9R1tWXTtpZighVy5sZW5ndGgpcmV0dXJuIHgmJmsoe25vdmZtbHk6SXIoVil9KSwKZy5wJCgpO0hBKFcpO3JldHVybiBnLkgwKG5ldyBwZyhXLE4sTCxEKSl9OwpTMmI9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4PSExKXtpZihXLkU1JiZoJiZoLmxlbmd0aD4xJiYhKFcublM+MHx8Vy5EKSl7bGV0IHI9Vy5XfHwhIXYsTj1yJiZXLkxCP2s6dm9pZCAwLEg9dFQoVyxiKSxBPVtdLHk9W10sVD17fTtmb3IobGV0IHo9MDt6PGgubGVuZ3RoO3orKyl7dmFyIEw9aFt6XSxlPWIuSi5nZXQoTCk7aWYoZSYmZS5pbmZvKXt2YXIgRz1lLmluZm87ZT1HLklCO2lmKHNEKFcsRyxELGIuaXNMaXZlKSl7TD1HLmZZKCk/QTp5O0c9SFtlXTtmb3IobGV0IEMgb2YgRylHPXJGKGUsQyxXKSxULmhhc093blByb3BlcnR5KEcpP1RbR109PT0hMCYmTC5wdXNoKEMpOnNEKFcsQyxELGIuaXNMaXZlKSYmKEwucHVzaChDKSxUW0ddPSEwKX1lbHNlIHImJmsoe29wZnU6TH0pfX1pZihBLmxlbmd0aCYmeS5sZW5ndGgpcmV0dXJuIHImJmsoe29wZm06QVswXS5pdGFnKyIsIit5WzBdLml0YWd9KSxnLkgwKG5ldyBwZyhBLHksTikpfXJldHVybiBJRGgobixXLEQsYix2LGsseCl9OwpZSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5OLmtleXMoKSl7bGV0IGI9bi5OLmdldChEKTtXLnB1c2goYCR7RH1fJHtiLm1heFdpZHRofV8ke2IubWF4SGVpZ2h0fWApfXJldHVybiBXLmpvaW4oIi4iKX07CkhLaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9RC52aWRlbz8uZnBzfHwwLHY9YCR7V31fJHtifWAsaz0hIUQuYXVkaW8saD1uLk4uZ2V0KHYpLHg9bi5OLmdldCh2KSxMPSEhRC5hdWRpbzt4JiYoTHx8IUwmJkQudmlkZW8/LmhlaWdodCYmeC5tYXhIZWlnaHQmJngubWF4SGVpZ2h0Pj1ELnZpZGVvPy5oZWlnaHQpfHwoeD1ELml0YWcsVz1oP2g6e2l0YWc6eCxJQjpXLGVTOmt9LGs/Vy5udW1DaGFubmVscz1ELmF1ZGlvLm51bUNoYW5uZWxzOihrPUQudmlkZW8sVy5tYXhXaWR0aD1rPy53aWR0aCxXLm1heEhlaWdodD1rPy5oZWlnaHQsVy5tYXhGcmFtZXJhdGU9YixXLm1heEJpdHJhdGVCcHM9RC5Ocyo4LFcuejk9az8uaXNIZHIoKSksbi5OLnNldCh2LFcpKX07CiQ1cj1mdW5jdGlvbihuLFcpe3ZhciBEPSEoIW4ubSYmIW4uTSksYj0hKCFuLm1hYzMmJiFuLk1BQzMpLHY9ISghbi5tZWFjMyYmIW4uTUVBQzMpO249ISghbi5pJiYhbi5JKTtXLlFyPW47cmV0dXJuIER8fGJ8fHZ8fG59OwpKVD1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLml0YWcmJkFIUy5oYXMoVy5pdGFnKSlyZXR1cm4hMDtyZXR1cm4hMX07CnNXYj1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLmF1ZGlvLmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giKXJldHVybiEwO3JldHVybiExfTsKSXI9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIioiOnJldHVybiJ2OGUiO2Nhc2UgIigiOnJldHVybiJ2OWUiO2Nhc2UgIihoIjpyZXR1cm4idjloZSI7ZGVmYXVsdDpyZXR1cm4gbn19OwpyRj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQuVEM/YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59XyR7ISFXLnZpZGVvPy5YfWA6YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59YH07CiRKPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKXtpZighbi5oYXNPd25Qcm9wZXJ0eShEKSljb250aW51ZTtsZXQgYj1EO1cucHVzaChJcihiKSk7Zm9yKGxldCB2IG9mIG5bYl0pVy5wdXNoKHYuaXRhZyl9cmV0dXJuIFcuam9pbigiLiIpfTsKdGdoPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17fSx4PXt9O2cuYV8oVywoTCxlKT0+e0w9TC5maWx0ZXIoRz0+e3ZhciByPUcuaXRhZztpZighRy5jb250ZW50UHJvdGVjdGlvbilyZXR1cm4geFtyXT0ibm9lbmMiLCExO2lmKGsuSEQmJkcuSUI9PT0iKGgiJiZrLmJkKXJldHVybiB4W3JdPSJsaWNoZHIiLCExO2lmKCFuLlgmJkcuSUI9PT0iMWUiKXJldHVybiB4W3JdPSJub2F2MWVuYyIsITE7aWYoRy5JQj09PSIoInx8Ry5JQj09PSIoaCIpe2lmKG4uSiYmRCYmRC5mbGF2b3I9PT0id2lkZXZpbmUiKXt2YXIgTj1HLm1pbWVUeXBlKyI7IGV4cGVyaW1lbnRhbD1hbGxvd2VkIjsoTj0hIUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiYhIUQuSltOXSl8fCh4W3JdPUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdPyJ1bnNwdCI6Im5vZmx2Iik7cmV0dXJuIE59aWYoIVNKKG4sQVQuQ1JZUFRPQkxPQ0tGT1JNQVQpJiYhbi5UQ3x8bi50dylyZXR1cm4geFtyXT1uLnR3PwoiZGlzdnAiOiJ2cHN1YiIsITF9cmV0dXJuIEQmJkcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiZELkpbRy5taW1lVHlwZV0/ITA6KHhbcl09RD9HLmNvbnRlbnRQcm90ZWN0aW9uW0QuZmxhdm9yXT8idW5zcHQiOiJub2ZsdiI6Im5vc3lzIiwhMSl9KTsKTC5sZW5ndGgmJihoW2VdPUwpfSk7CmImJk9iamVjdC5lbnRyaWVzKHgpLmxlbmd0aCYmdih7cmpyOmcuVEMoeCl9KTtpZihrLkopZm9yKGxldCBMIG9mIE9iamVjdC52YWx1ZXMoVykpaWYoTClmb3IobGV0IGUgb2YgTClXPXhbZS5pdGFnXSxlLk1XKCkmJlchPT12b2lkIDAmJihrLk5bZS5pdGFnXT1XKTtyZXR1cm4gaH07Ckc3VT1mdW5jdGlvbihuLFcpe3ZhciBEPWcudV8obiwoYix2KT0+di52aWRlby5KKCk/TWF0aC5taW4oYix2LnZpZGVvLndpZHRoKTpiLEluZmluaXR5KTsKRDxJbmZpbml0eSYmKG49bi5maWx0ZXIoYj0+e2lmKGIudmlkZW8uSigpfHxiLnZpZGVvLndpZHRoPEQpcmV0dXJuITA7V1tiLml0YWddPSJoZnJmaXJzdCI7cmV0dXJuITF9KSk7CmxiKCkmJihuPW4uZmlsdGVyKGI9PntpZihiLml0YWchPT0iMjk5IilyZXR1cm4hMDtXW2IuaXRhZ109InBzM2hmcjEwODAiO3JldHVybiExfSkpOwpyZXR1cm4gbn07CnEyQz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFc9Vy5maWx0ZXIoYj0+e2lmKGIudmlkZW8ucXVhbGl0eU9yZGluYWw8PW4ud2EpcmV0dXJuITA7RFtiLml0YWddPSJtYXhxdWFsaXR5IjtyZXR1cm4hMX0pfTsKdFQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2ZvcihsZXQgdiBpbiBXLk4pe2lmKCFXLk4uaGFzT3duUHJvcGVydHkodikpY29udGludWU7bGV0IGs9Vy5OW3ZdLmluZm87aWYobi5ZJiZrLnZpZGVvJiZrLnZpZGVvLnF1YWxpdHlPcmRpbmFsPG4uWSl7RCYmKERbay5pdGFnXT1gbWluJHtuLll9YCk7Y29udGludWV9bGV0IGg9ay5JQjtiW2hdPWJbaF18fFtdO2JbaF0ucHVzaChrKX1mb3IobGV0IHYgb2YgT2JqZWN0LmtleXMoYikpSEEoYlt2XSk7cmV0dXJuIGJ9OwpmZz1mdW5jdGlvbihuKXtyZXR1cm4gZy51XyhuLChXLEQpPT5NYXRoLm1heChXLEQudmlkZW8ucXVhbGl0eU9yZGluYWwpLDApfTsKc0Q9ZnVuY3Rpb24obixXLEQsYj0hMSx2PW5ldyBTZXQpe2lmKFcuSUI9PT0iIilyZXR1cm4idW5rbiI7aWYoKFcuaXRhZz09PSIzMDQifHxXLml0YWc9PT0iMjY2IikmJm4udHcpcmV0dXJuImJsazJraGZyIjtpZihuLksmJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5LKXJldHVybmBtYXgke24uS31gO2lmKG4uQ3UmJlcuSUI9PT0iaCImJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MClyZXR1cm4iYmxraGlnaDI2NCI7aWYoVy5JQj09PSIoaCImJiFELkspcmV0dXJuImVuY2hkciI7aWYoYiYmbUYoVykmJiFuLm51KXJldHVybiJibGs1MWxpdmUiO2lmKChXLklCPT09Ik1BQzMifHxXLklCPT09Im1hYzMiKSYmIW4uailyZXR1cm4iYmxrYWMzIjtpZigoVy5JQj09PSJNRUFDMyJ8fFcuSUI9PT0ibWVhYzMiKSYmIW4uVilyZXR1cm4iYmxrZWFjMyI7aWYoVy5JQj09PSJNInx8Vy5JQj09PSJtIilyZXR1cm4iYmxrYWFjNTEiO2lmKChXLklCPT09InNvInx8ClcuSUI9PT0ic2EiKSYmIW4uY0opcmV0dXJuImJsa2FtYiI7aWYoIW4uSEQmJktnKFcpJiYoIUQuWHx8Vy5JQiE9PSIxZSIpKXJldHVybiJjYmMiO2lmKCFELlgmJktnKFcpJiZXLklCPT09IjFlIilyZXR1cm4iY2JjYXYxIjtpZigoVy5JQj09PSJpInx8Vy5JQj09PSJJIikmJiFuLlZRKXJldHVybiJibGtpYW1mIjtpZihuLlJhJiZXLmF1ZGlvPy5OPT09ITApcmV0dXJuImJsa3ZiY2FiciI7aWYobi5UQyYmVy52aWRlbz8uWD09PSExKXJldHVybiJibGttdHZjYWJyIjtpZihuLnZKJiYoVy5JQj09PSIxInx8Vy5JQj09PSIxaCJ8fEQuWCYmVy5JQj09PSIxZSIpJiZXLnZpZGVvPy5xdWFsaXR5T3JkaW5hbCYmVy52aWRlbz8ucXVhbGl0eU9yZGluYWw+bi52SilyZXR1cm4iYXYxY2FwIjtiPUQuVy5nZXQoVy5JQik7aWYoIW4ualcmJmImJmIuZzE+MClyZXR1cm4gdi5hZGQoVy5JQiksImJ5ZXJyIjtpZihXLnZpZGVvPy5KKCkpe2lmKCFELmJkJiYhU0ooRCxBVC5GUkFNRVJBVEUpKXJldHVybiJjYXBIZnIiOwppZihuLlBYJiZXLnZpZGVvLnF1YWxpdHlPcmRpbmFsPj00MzIwKXJldHVybiJibGs4a2hmciI7aWYoVy5YKCkmJm4uVTUmJlcuY29udGVudFByb3RlY3Rpb24mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+PTE0NDApcmV0dXJuImRpc2FibGV2cDloZnIifWlmKG4uTnMmJlcuTnM+bi5OcylyZXR1cm4icmF0ZWNhcCI7aWYobi5TJD4wJiZXLmZZKCkmJlcudmlkZW8uaGVpZ2h0Pm4uUyQpcmV0dXJuIm12aGNhcCI7bj1PRChELFcpO3JldHVybiBuIT09ITA/bjohMH07CkhBPWZ1bmN0aW9uKG4sVz1bXSl7Zy5iZihuLChELGIpPT57dmFyIHY9Yi5Ocy1ELk5zO2lmKCFELmZZKCl8fCFiLmZZKCkpcmV0dXJuIHY7dmFyIGs9Yi52aWRlby5oZWlnaHQqYi52aWRlby53aWR0aC1ELnZpZGVvLmhlaWdodCpELnZpZGVvLndpZHRoOyFrJiZXJiZXLmxlbmd0aD4wJiYoRD1XLmluZGV4T2YoRC5JQikrMSxiPVcuaW5kZXhPZihiLklCKSsxLGs9RD09PTB8fGI9PT0wP2J8fC0xOkQtYik7a3x8KGs9dik7cmV0dXJuIGt9KX07ClBBPWZ1bmN0aW9uKG4sVyl7aWYoVz5uLngkKCkpbi5zZWdtZW50cz1bXTtlbHNle3ZhciBEPWcuejQobi5zZWdtZW50cyxiPT5iLmokPj1XLG4pOwpEPjAmJm4uc2VnbWVudHMuc3BsaWNlKDAsRCl9fTsKWmM9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K24uTik7bi5OKz0xO3JldHVybiBXfTsKVUQ9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQxNihuLm9mZnNldCtuLk4pO24uTis9MjtyZXR1cm4gV307CnlMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRJbnQzMihuLm9mZnNldCtuLk4pO24uTis9NDtyZXR1cm4gV307CkVEPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50MzIobi5vZmZzZXQrbi5OKTtuLk4rPTQ7cmV0dXJuIFd9OwppMz1mdW5jdGlvbihuKXt2YXIgVz1uLmRhdGE7dmFyIEQ9bi5vZmZzZXQrbi5OO1c9Vy5nZXRVaW50MzIoRCkqNDI5NDk2NzI5NitXLmdldFVpbnQzMihEKzQpO24uTis9ODtyZXR1cm4gV307CnUzPWZ1bmN0aW9uKG4sVz1OYU4pe2lmKGlzTmFOKFcpKXZhciBEPW4uc2l6ZTtlbHNlIGZvcihEPW4uTjtEPG4uc2l6ZSYmbi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K0QpIT09VzspKytEO1c9bmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLk4rbi5kYXRhLmJ5dGVPZmZzZXQsRC1uLk4pO24uTj1NYXRoLm1pbihEKzEsbi5zaXplKTtyZXR1cm4gcFIoVyl9Owpvcj1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLmRhdGEuYnl0ZU9mZnNldCxuLnNpemUpfTsKZEY9ZnVuY3Rpb24obixXLEQsYil7KG5ldyBVaW50OEFycmF5KG4uZGF0YS5idWZmZXIsbi5vZmZzZXQsYikpLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixEK1cuYnl0ZU9mZnNldCxiKSk7bi5vZmZzZXQrPWJ9Owp6Xz1mdW5jdGlvbihuLFcpe3JldHVybiBOdW1iZXIobi5kYXRhW1ddKXx8MH07ClRfPWZ1bmN0aW9uKG4pe3JldHVybiBuLmRhdGFbIkN1ZXBvaW50LVR5cGUiXT9uZXcgZy5sMygtKE51bWJlcihuLmRhdGFbIkN1ZXBvaW50LVBsYXloZWFkLVRpbWUtU2VjIl0pfHwwKSxOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1Ub3RhbC1EdXJhdGlvbi1TZWMiXSl8fDAsbi5kYXRhWyJDdWVwb2ludC1Db250ZXh0Il0sbi5kYXRhWyJDdWVwb2ludC1JZGVudGlmaWVyIl18fCIiLG01altuLmRhdGFbIkN1ZXBvaW50LUV2ZW50Il18fCIiXXx8InVua25vd24iLChOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1QbGF5aGVhZC1UaW1lLVNlYyJdKXx8MCkqMUUzKTpudWxsfTsKako9ZnVuY3Rpb24obil7cmV0dXJuIE51bWJlcihuLmRhdGFbIlN0YXJ0LU1lZGlhLVRpbWUtVXMiXSkvMUU2fHwwfTsKQ2c9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tSWQiXT9uLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKTpbXX07CkJBPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXSlmb3IobGV0IEQgb2Ygbi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1EdXJhdGlvbi1VcyJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSkpVy5wdXNoKChOdW1iZXIoRCl8fDApLzFFNik7cmV0dXJuIFd9OwpGcD1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LUZyYW1lLUluZGV4Il0pZm9yKGxldCBEIG9mIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tU3RhcnQtRnJhbWUtSW5kZXgiXS5zcGxpdCgiLCIpLnNsaWNlKDAsLTEpKVcucHVzaChOdW1iZXIoRCl8fDApO3JldHVybiBXfTsKd0Y9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1UaW1lLVdpdGhpbi1BZC1VcyJdKWZvcihsZXQgRCBvZiBuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LVRpbWUtV2l0aGluLUFkLVVzIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKSlXLnB1c2goKE51bWJlcihEKXx8MCkvMUU2KTtyZXR1cm4gV307CmcuTWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdP24uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdOiIifTsKZy5Scj1mdW5jdGlvbihuKXtzd2l0Y2gobi5kYXRhWyJJcy1BZC1CcmVhay1GaW5pc2hlZCJdKXtjYXNlICJ0cnVlIjpyZXR1cm4gMTtjYXNlICJmYWxzZSI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19OwpRTD1mdW5jdGlvbihuKXt2YXIgVz17fTtuPW4uc3BsaXQoIlxyXG4iKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKyl7aWYobltEXS5sZW5ndGg9PT0wKXJldHVybiBXO2xldCBiPW5bRF0ubWF0Y2goLyhbXjpdKyk6XHMrKFtcU1xzXSspLyk7YiE9bnVsbCYmKFdbYlsxXV09YlsyXSl9cmV0dXJuIG51bGx9OwpnLm5zPWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vz1hcihiLnR5cGUpP1crODpXK2Iuc2l6ZX1yZXR1cm4gbnVsbH07Cld3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTk1Mjg2ODQ1Mik7bj1nLm5zKG4sMCwxOTUzNjU4MjIyKTtpZihEJiZuKXtELnNraXAoMSk7dmFyIGI9WmMoRCk8PDE2fFVEKEQpO0Quc2tpcCg0KTtiJjEmJkQuc2tpcCg4KTtiJjImJkQuc2tpcCg0KTtpZihiJjgpe2I9RC5OO3ZhciB2PUVEKEQpO0QuZGF0YS5zZXRVaW50MzIoRC5vZmZzZXQrYixXPjE/TWF0aC5jZWlsKHYqVyk6TWF0aC5mbG9vcih2KlcpKX1uLnNraXAoMSk7RD1aYyhuKTw8MTZ8VUQobik7aWYoRCYyNTYpe2I9RCYxO3Y9RCY0O3ZhciBrPUQmNTEyLGg9RCYxMDI0LHg9RCYyMDQ4O0Q9RUQobik7YiYmbi5za2lwKDQpO3YmJm4uc2tpcCg0KTtiPShrPzQ6MCkrKGg/NDowKSsoeD80OjApO2Zvcih2PTA7djxEO3YrKylrPW4uTixoPUVEKG4pLG4uZGF0YS5zZXRVaW50MzIobi5vZmZzZXQrayxXPjE/TWF0aC5jZWlsKGgqVyk6TWF0aC5mbG9vcihoKlcpKSxuLnNraXAoYil9fX07ClZMPWZ1bmN0aW9uKG4sVyl7aWYobi5ieXRlTGVuZ3RoLVc8OClyZXR1cm4hMTt2YXIgRD1uLmdldFVpbnQzMihXKTtpZihEPDh8fG4uYnl0ZUxlbmd0aC1XPEQpcmV0dXJuITE7Zm9yKEQ9NDtEPDg7RCsrKXtsZXQgYj1uLmdldEludDgoVytEKTtpZihiPDQ4fHxiPjEyMilyZXR1cm4hMX1yZXR1cm4hMH07CmNBPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRVaW50MzIoVyksYj1uLmdldFVpbnQzMihXKzQpO3JldHVybiBuZXcgRF8obixXLEQsYil9OwpnLmJMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50OChuLmRhdGFPZmZzZXQpPzIwOjEyO3JldHVybiBuLmRhdGEuZ2V0VWludDMyKG4uZGF0YU9mZnNldCtXKX07CnZ3PWZ1bmN0aW9uKG4pe249bmV3IERhdGFWaWV3KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpO3JldHVybihuPWcubnMobiwwLDE4MzY0NzY1MTYpKT9nLmJMKG4pOk5hTn07Cmt4PWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vys9Yi5zaXplfXJldHVybiBudWxsfTsKYXI9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0xNzAxMDgyMjI3fHxuPT09MTgzNjAxOTU1OHx8bj09PTE4MzYwMTk1NzR8fG49PT0xODM1Mjk3MTIxfHxuPT09MTgzNTYyNjA4Nnx8bj09PTE5MzcwMDcyMTJ8fG49PT0xOTUzNjUzMDk0fHxuPT09MTk1MzY1MzA5OXx8bj09PTE4MzY0NzU3Njh9OwpLaDI9ZnVuY3Rpb24obil7dmFyIFc9Zy5ucyhuLDAsMTkzNzAxMTU1Nik7aWYoIVcpcmV0dXJuIG51bGw7Vz1reChuLFcuZGF0YU9mZnNldCs4LDE2MzUxNDg1OTMpfHxreChuLFcuZGF0YU9mZnNldCs4LDE2MzUxMzU1MzcpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPWt4KG4sVy5kYXRhT2Zmc2V0Kzc4LDE5MzY5OTUxNzIpLGI9a3gobixXLmRhdGFPZmZzZXQrNzgsMTkzNzEyNjI0NCk7aWYoIWIpcmV0dXJuIG51bGw7Vz1udWxsO2lmKEQpc3dpdGNoKEQuc2tpcCg0KSxaYyhEKSl7ZGVmYXVsdDpXPTA7YnJlYWs7Y2FzZSAxOlc9MjticmVhaztjYXNlIDI6Vz0xO2JyZWFrO2Nhc2UgMzpXPTI1NX12YXIgdj1EPW51bGwsaz1udWxsO2lmKGI9a3gobixiLmRhdGFPZmZzZXQsMTg4NjU0NzgxOCkpe2xldCBoPWt4KG4sYi5kYXRhT2Zmc2V0LDE4ODY1NDYwMjApLHg9a3gobixiLmRhdGFPZmZzZXQsMjAzNzY3MzMyOCk7aWYoIXgmJih4PWt4KG4sYi5kYXRhT2Zmc2V0LDE4MzYyNzk5MjApLAoheCkpcmV0dXJuIG51bGw7aCYmKGguc2tpcCg0KSxEPXlMKGgpLzY1NTM2LGs9eUwoaCkvNjU1MzYsdj15TChoKS82NTUzNik7bj1vcih4KTtuPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQrOCxuLmJ5dGVMZW5ndGgtOCk7cmV0dXJuIG5ldyBoWShXLEQsayx2LG4pfXJldHVybiBudWxsfTsKZy54eD1mdW5jdGlvbihuKXtpZihuLmRhdGEuZ2V0VWludDgobi5kYXRhT2Zmc2V0KSl7dmFyIFc9bi5kYXRhO249bi5kYXRhT2Zmc2V0KzQ7Vz1XLmdldFVpbnQzMihuKSo0Mjk0OTY3Mjk2K1cuZ2V0VWludDMyKG4rNCl9ZWxzZSBXPW4uZGF0YS5nZXRVaW50MzIobi5kYXRhT2Zmc2V0KzQpO3JldHVybiBXfTsKTHM9ZnVuY3Rpb24obil7bj1uZXcgRF8obi5kYXRhLG4ub2Zmc2V0LG4uc2l6ZSxuLnR5cGUsbi5KKTt2YXIgVz1aYyhuKTtuLnNraXAoNyk7dmFyIEQ9RUQobik7aWYoVz09PTApe1c9RUQobik7dmFyIGI9RUQobil9ZWxzZSBXPWkzKG4pLGI9aTMobik7bi5za2lwKDIpO3ZhciB2PVVEKG4pLGs9W10saD1bXTtmb3IobGV0IHg9MDt4PHY7eCsrKXtsZXQgTD1FRChuKTtrLnB1c2goTCk7aC5wdXNoKEVEKG4pKTtuLnNraXAoNCl9cmV0dXJue3RpbWVzY2FsZTpELGY4OlcsTm86YixIczprLHFnOmh9fTsKZy5lUD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wLGI9W107VkwobixEKTspe2xldCB2PWNBKG4sRCk7di50eXBlPT09VyYmYi5wdXNoKHYpO0Q9YXIodi50eXBlKT9EKzg6RCt2LnNpemV9cmV0dXJuIGJ9OwpnQT1mdW5jdGlvbihuKXtuLnNraXAoNCk7cmV0dXJue1d6OnUzKG4sMCksdmFsdWU6dTMobiwwKSx0aW1lc2NhbGU6RUQobiksbzc6RUQobiksZXZlbnREdXJhdGlvbjpFRChuKSxpZDpFRChuKSxadzp1MyhuKSxvZmZzZXQ6bi5vZmZzZXR9fTsKZy5xaz1mdW5jdGlvbihuKXt2YXIgVz1reChuLDAsMTcwMTY3MTc4Myk7aWYoIVcpcmV0dXJuIG51bGw7dmFyIEQ9Z0EoVyksYj1ELld6O0Q9UUwoRC5adyk7aWYobj1reChuLFcub2Zmc2V0K1cuc2l6ZSwxNzAxNjcxNzgzKSlpZihuPWdBKG4pLG49UUwobi5adyksRCYmbilmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobikpRFt2XT1uW3ZdO3JldHVybiBEP25ldyBYNShELGIpOm51bGx9OwpHaj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1reChuLDAsVyk7RDspe3ZhciBiPUQ7Yi50eXBlPTE5MzY0MTkxODQ7Yi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpO0Q9a3gobixELm9mZnNldCtELnNpemUsVyl9fTsKUElDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTkzNzAxMTU1NiksYj1nLm5zKG4sMCwxOTUzNjU0MTM2KTtpZighRHx8IWJ8fG4uZ2V0VWludDMyKEQub2Zmc2V0KzEyKT49MilyZXR1cm4gbnVsbDt2YXIgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoKSxrPWcubnModiwwLDE5MzcwMTE1NTYpO2lmKCFrKXJldHVybiBudWxsO1c9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzgpO2I9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzEyKTtpZihiIT09MTcwMTczMzIxNyYmYiE9PTE3MDE3MzMyMzgpcmV0dXJuIG51bGw7Yj1uZXcgT0t0KG4uYnl0ZUxlbmd0aCtXKTtkRihiLG4sMCxELm9mZnNldCsxMik7Yi5kYXRhLnNldEludDMyKGIub2Zmc2V0LDIpO2Iub2Zmc2V0Kz00O2RGKGIsbixELm9mZnNldCsxNixELnNpemUtMTYpO2RGKGIsdix2LmJ5dGVPZmZzZXQray5kYXRhT2Zmc2V0KzgsVyk7ZEYoYixuLEQub2Zmc2V0K0Quc2l6ZSxuLmJ5dGVMZW5ndGgtCihELm9mZnNldCtELnNpemUpKTtEPVsxODM2MDE5NTc0LDE5NTM2NTMwOTksMTgzNTI5NzEyMSwxODM1NjI2MDg2LDE5MzcwMDcyMTIsMTkzNzAxMTU1Nl07Zm9yKGxldCBoIG9mIEQpRD1nLm5zKG4sMCxoKSxiLmRhdGEuc2V0VWludDMyKEQub2Zmc2V0LEQuc2l6ZStXKTtuPWcubnMoYi5kYXRhLDAsMTk1MzY1NDEzNik7Yi5kYXRhLnNldFVpbnQzMihuLm9mZnNldCsxNiwyKTtyZXR1cm4gYi5kYXRhfTsKWktaPWZ1bmN0aW9uKG4pe3ZhciBXPWcubnMobiwwLDE5MzcwMTE1NTYpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPW4uZ2V0VWludDMyKFcuZGF0YU9mZnNldCsxMik7aWYoRCE9PTE3MDE3MzMyMTcmJkQhPT0xNzAxNzMzMjM4KXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCsyNCsoRD09PTE3MDE3MzMyMTc/Mjg6NzgpLDE5MzYyODkzODIpO2lmKCFXKXJldHVybiBudWxsO0Q9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzcpO2lmKCFEfHxuLmdldFVpbnQzMihELm9mZnNldCsxMikhPT0xNjY3MzkyMzcxKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzMpO2lmKCFXKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5NTI4MDQ0NTEpO2lmKCFXKXJldHVybiBudWxsO0Q9bmV3IFVpbnQ4QXJyYXkoMTYpO2ZvcihsZXQgYj0wO2I8MTY7YisrKURbYl09bi5nZXRJbnQ4KFcub2Zmc2V0KzE2K2IpO3JldHVybiBEfTsKWXg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyB0WShEKTtpZighJHgoYixuKSlyZXR1cm4hMTtiPXJBKGIpO2lmKCFzWShiLFcpKXJldHVybiExO2ZvcihuPTA7VzspVz4+Pj04LG4rKztXPWIuc3RhcnQrYi5wb3M7dmFyIHY9TmsoYiwhMCk7Yj1uKyhiLnN0YXJ0K2IucG9zLVcpK3Y7Yj1iPjk/cHMoYi05LDgpOnBzKGItMiwxKTtuPVctbjtELnNldFVpbnQ4KG4rKywyMzYpO2ZvcihXPTA7VzxiLmxlbmd0aDtXKyspRC5zZXRVaW50OChuKyssYltXXSk7cmV0dXJuITB9Owpwcz1mdW5jdGlvbihuLFcpe1d8fChXPU1hdGguY2VpbChNYXRoLmxvZyhuKzIpL01hdGgubG9nKDIpLzcpKTtmb3IodmFyIEQ9MTw8OC1XLGI9W107Yi5sZW5ndGg8Vy0xOyliLnVuc2hpZnQobiUyNTYpLG49TWF0aC5mbG9vcihuLzI1Nik7Yi51bnNoaWZ0KG58RCk7cmV0dXJuIGJ9OwpVNVo9ZnVuY3Rpb24obil7dmFyIFc9bmV3IHRZKG4pO1cuT0ooKTtpZigkeChXLFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdKSlXPXJBKFcpO2Vsc2UgcmV0dXJuIG51bGw7Zm9yKHZhciBEPW49bnVsbDshSHcoVyk7KXt2YXIgYj1OayhXLCExKTtpZihiPT09MjE0MzIpc3dpdGNoKGZzKFcpKXtkZWZhdWx0Om49MDticmVhaztjYXNlIDE6bj0xO2JyZWFrO2Nhc2UgMzpuPTI7YnJlYWs7Y2FzZSAxNTpuPTI1NX1lbHNlIGI9PT0zMDMyMD9EPXJBKFcpOkpZKFcpfWlmKCFEKXJldHVybiBudWxsO2Zvcih2YXIgdixrPWI9Vz1udWxsOyFIdyhEKTspc3dpdGNoKE5rKEQsITEpKXtjYXNlIDMwMzIxOmlmKGZzKEQpIT09MylyZXR1cm4gbnVsbDticmVhaztjYXNlIDMwMzI0Olc9SUIoRCk7YnJlYWs7Y2FzZSAzMDMyMzprPUlCKEQpO2JyZWFrO2Nhc2UgMzAzMjU6Yj1JQihEKTticmVhaztjYXNlIDMwMzIyOnY9TmsoRCwhMCk7dj1TUChELHYpO3Y9bmV3IERhdGFWaWV3KHYuYnVmZmVyLAp2LmJ5dGVPZmZzZXQsdi5ieXRlTGVuZ3RoKTticmVhaztkZWZhdWx0OkpZKEQpfXJldHVybiB2P25ldyBoWShuLFcsayxiLHYpOm51bGx9OwokeD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtpZighc1kobixXW0RdKSlyZXR1cm4hMTtEIT09Vy5sZW5ndGgtMSYmTmsobiwhMCl9cmV0dXJuITB9OwpyQT1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPW4uTi5ieXRlT2Zmc2V0K24ucG9zO0Q9bmV3IERhdGFWaWV3KG4uTi5idWZmZXIsRCxNYXRoLm1pbihXLG4uTi5idWZmZXIuYnl0ZUxlbmd0aC1EKSk7RD1uZXcgdFkoRCxuLnN0YXJ0K24ucG9zKTtuLnBvcys9VztyZXR1cm4gRH07CnNZPWZ1bmN0aW9uKG4sVyxEPSExKXtpZihIdyhuKSlyZXR1cm4hMTtmb3IodmFyIGI9bi5wb3M7TmsobiwhMSkhPT1XOylpZihKWShuKSxiPW4ucG9zLEh3KG4pKXJldHVybiExO0QmJihuLnBvcz1iKTtyZXR1cm4hMH07Ck5rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QVkobik7aWYoRD09PTEpe0Q9MDtmb3IoVz0wO1c8NztXKyspRD1EKjI1NitBWShuKTtyZXR1cm4gRH12YXIgYj0xMjg7Zm9yKGxldCB2PTA7djw2JiZiPkQ7disrKUQ9RCoyNTYrQVkobiksYio9MTI4O3JldHVybiBXP0QtYjpEfTsKSHc9ZnVuY3Rpb24obil7cmV0dXJuIG4ucG9zPj1uLk4uYnl0ZUxlbmd0aH07CmZzPWZ1bmN0aW9uKG4pe3ZhciBXPU5rKG4sITApLEQ9QVkobik7Zm9yKGxldCBiPTE7YjxXO2IrKylEPUQqMjU2K0FZKG4pO3JldHVybiBEfTsKSlk9ZnVuY3Rpb24obil7dmFyIFc9TmsobiwhMCk7bi5wb3MrPVd9OwpJQj1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPTA7Vz09PTQ/RD1uLk4uZ2V0RmxvYXQzMihuLnBvcyk6Vz09PTgmJihEPW4uTi5nZXRGbG9hdDY0KG4ucG9zKSk7bi5wb3MrPVc7cmV0dXJuIER9OwpTUD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrbi5wb3MsVyk7bi5wb3MrPVc7cmV0dXJuIER9OwptdD1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKTtyZXR1cm4gcFIoU1AobixXKSl9OwpBWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmdldFVpbnQ4KG4ucG9zKyspfTsKeUhyPWZ1bmN0aW9uKG4pe2lmKCFzWShuLDQ0MDc4Njg1MSwhMCkpcmV0dXJuIG51bGw7dmFyIFc9bi5wb3M7TmsobiwhMSk7dmFyIEQ9TmsobiwhMCkrbi5wb3MtVztuLnBvcz1XK0Q7aWYoIXNZKG4sNDA4MTI1NTQzLCExKSlyZXR1cm4gbnVsbDtOayhuLCEwKTtpZighc1kobiwzNTcxNDkwMzAsITApKXJldHVybiBudWxsO3ZhciBiPW4ucG9zO05rKG4sITEpO3ZhciB2PU5rKG4sITApK24ucG9zLWI7bi5wb3M9Yit2O2lmKCFzWShuLDM3NDY0ODQyNywhMCkpcmV0dXJuIG51bGw7dmFyIGs9bi5wb3M7TmsobiwhMSk7dmFyIGg9TmsobiwhMCkrbi5wb3Mtayx4PW5ldyBVaW50OEFycmF5KEQrMTIrditoKSxMPW5ldyBEYXRhVmlldyh4LmJ1ZmZlcik7eC5zZXQobmV3IFVpbnQ4QXJyYXkobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCtXLEQpKTtMLnNldFVpbnQzMihELDQwODEyNTU0Myk7TC5zZXRVaW50MzIoRCs0LDMzNTU0NDMxKTtMLnNldFVpbnQzMihEKzgsNDI5NDk2NzI5NSk7Cnguc2V0KG5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrYix2KSxEKzEyKTt4LnNldChuZXcgVWludDhBcnJheShuLk4uYnVmZmVyLG4uTi5ieXRlT2Zmc2V0K2ssaCksRCsxMit2KTtyZXR1cm4geH07CktzPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9zO24ucG9zPTA7dmFyIEQ9MUU2OyR4KG4sWzQwODEyNTU0MywzNTcxNDkwMzAsMjgwNzcyOV0pJiYoRD1mcyhuKSk7bi5wb3M9VztyZXR1cm4gRH07ClB3PWZ1bmN0aW9uKG4pe2lmKCFPWShuKXx8IXNZKG4sNTI0NTMxMzE3KSlyZXR1cm4hMTtOayhuLCEwKTtyZXR1cm4hMH07CkVFWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucG9zO24ucG9zPTA7aWYobi5OLmdldFVpbnQ4KG4ucG9zKSE9PTE2MCYmIVB3KG4pfHwhc1kobiwxNjApKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTt2YXIgYj1uLnBvcztpZighc1kobiwxNjEpKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTtBWShuKTt2YXIgdj1BWShuKTw8OHxBWShuKTtuLnBvcz1iO2lmKCFzWShuLDE1NSkpcmV0dXJuIG4ucG9zPUQsTmFOO2I9ZnMobik7bi5wb3M9RDtyZXR1cm4oditiKSpXLzFFOX07Ck9ZPWZ1bmN0aW9uKG4pe2lmKG4uT0ooKSl7aWYoIXNZKG4sNDA4MTI1NTQzKSlyZXR1cm4hMTtOayhuLCEwKX1yZXR1cm4hMH07ClpfPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5pbmRleE9mKCI/Iik7aWYoRD4wKXtsZXQgYj1nNygxLDUwLFcuc3Vic3RyaW5nKEQrMSkpO2cuYV8oYixmdW5jdGlvbih2LGspe3RoaXMuc2V0KGssdil9LG4pOwpXPVcuc3Vic3RyaW5nKDAsRCl9Vz1pcCgxNSw4MjUsVyk7Zy5hXyhXLGZ1bmN0aW9uKGIsdil7dGhpcy5zZXQodixiKX0sbil9OwppS1U9ZnVuY3Rpb24obil7dmFyIFc9bi5BTy5XRCgpLEQ9W107Zy5hXyhuLk4sKHYsayk9PntELnB1c2goYCR7a309JHt2fWApfSk7CmlmKCFELmxlbmd0aClyZXR1cm4gVzt2YXIgYj1ELmpvaW4oIiYiKTtuPVAwKDgzLDY1ODgsbi5BTyk/IiYiOiI/IjtyZXR1cm4gVytuK2J9OwpVWT1mdW5jdGlvbihuLFcpe25bV118fChuW1ddPW5ldyB1VGkpO3JldHVybiBuW1ddfTsKeWY9ZnVuY3Rpb24obixXPSExKXtXJiYobi5KKz0xKTtuLk4rPTF9OwpvRWk9ZnVuY3Rpb24obixXPSExKXtuLnRpbWVkT3V0Kz0xO1cmJnlmKG4sITApfTsKemo9ZnVuY3Rpb24obixXPSExKXtXJiYobi5YPSgwLGcuUikoKSxuLko9MCk7bi5WPSgwLGcuUikoKTtuLnN0YXJ0ZWQ9MDtuLnRpbWVkT3V0PTA7bi5OPTB9OwpsTD1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRClyZXR1cm4gMTw8TWF0aC5taW4obi5KLDUpO0Q9bi5zdGFydGVkK24uTio0O1cmJihEKz1uLlcpO0Q9TWF0aC5tYXgoMCxELTMpO3JldHVybiAxLjYqKkR9OwpqUD1mdW5jdGlvbihuLFcsRCl7aWYoZ1ooMzgsMTIwMixuLk4pKXJldHVybiExO3ZhciBiPVVZKEQsUjAoMzUsMzUwNyxuLk4pKTtpZihiLnRpbWVkT3V0PDEmJmIuTjwxKXJldHVybiExO2I9Yi50aW1lZE91dCtiLk47bj1UaihuLFcpO0Q9VVkoRCxSMCgzMiwzNTA0LG4pKTtyZXR1cm4gRC50aW1lZE91dCtELk4rMDxifTsKVGo9ZnVuY3Rpb24obixXKXtXPVc/Vy5vTTohMTtuLlh8fChuLlg9WGQobi5XLFcpKTtyZXR1cm4gbi5YfTsKQnc9ZnVuY3Rpb24obixXLEQpe249Vz9UaihuLEQpOm4uTjtyZXR1cm4gbmV3IENzKG4pfTsKRjU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBSMCgzNSwzNTA3LFc/VGoobixEKTpuLk4pfTsKd0E9ZnVuY3Rpb24obixXLEQsYix2KXsrK24uSjtXJiYrK24uVjtSMCgzMiwzNTA0LEQuQU8pLnN0YXJ0c1dpdGgoInJlZGlyZWN0b3IuIikmJihuLk49bi5XLmNsb25lKCksZGVsZXRlIG4uWCxiLnBFJiZkZWxldGUgdltSMCg2NywzNTM5LG4uTildKX07Ck1rPWZ1bmN0aW9uKG4pe3JldHVybiBuP2Ake24uaXRhZ3x8IiJ9OyR7bi5sbXR8fDB9OyR7bi54dGFnc3x8IiJ9YDoiIn07ClFmPWZ1bmN0aW9uKG4sVyl7bi5pbmZvJiZuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIiYmIW4uTyYmKGcuUkIobi5pbmZvKT9uLk89S2gyKFcpOm4uaW5mby5xSCgpJiYobi5PPVU1WihXKSkpfTsKY3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWsoZy5WZihuLmluZm8sVykpfTsKbno9ZnVuY3Rpb24obil7bj1uLnNwbGl0KCItIik7dmFyIFc9TnVtYmVyKG5bMF0pLEQ9TnVtYmVyKG5bMV0pO2lmKCFpc05hTihXKSYmIWlzTmFOKEQpJiZuLmxlbmd0aD09PTImJihuPW5ldyBhQihXLEQpLCFpc05hTihuLnN0YXJ0KSYmIWlzTmFOKG4uZW5kKSYmIWlzTmFOKG4ubGVuZ3RoKSYmbi5sZW5ndGg+MCkpcmV0dXJuIG59OwpXXz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgYUIobixuK1ctMSl9OwpESj1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gbmV3IGFCKDAsMCk7dmFyIFc9TnVtYmVyKG4uc3RhcnQpO249TnVtYmVyKG4uZW5kKTtpZighaXNOYU4oVykmJiFpc05hTihuKSYmKFc9bmV3IGFCKFcsbiksVy5sZW5ndGg+MCkpcmV0dXJuIFd9OwpkNXc9ZnVuY3Rpb24obil7bi5sZW5ndGg9PT0xfHxnLmR6KG4sRD0+ISFELnJhbmdlKTsKZm9yKHZhciBXPTE7VzxuLmxlbmd0aDtXKyspO1c9bltuLmxlbmd0aC0xXTtyZXR1cm4gbmV3IGFCKG5bMF0ucmFuZ2Uuc3RhcnQrblswXS5OLFcucmFuZ2Uuc3RhcnQrVy5OK1cuSi0xKX07CmJUPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUEo9PT1XLlBKP24ucmFuZ2UmJlcucmFuZ2U/bi5yYW5nZS5zdGFydCtuLk4rbi5KPT09Vy5yYW5nZS5zdGFydCtXLk46bi5qJD09PVcuaiQ/bi5OK24uSj09PVcuTjpuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaOiExfTsKdl89ZnVuY3Rpb24obil7bi5YPW4uc2VnbWVudFN0YXJ0VGltZTtuLks9bi5XO24uaj1uLlgrbi5LfTsKa049ZnVuY3Rpb24obil7cmV0dXJuIG4ucmFuZ2U/bi5qOk1hdGgubWluKG4uc2VnbWVudFN0YXJ0VGltZStNYXRoLm1pbihuLk4vbi5QSi5pbmZvLk5zLG4uVykrKG4ucmFuZ2U/bi5LOk1hdGgubWluKG4uVyxuLkovbi5QSi5pbmZvLk5zKSksbi5zZWdtZW50U3RhcnRUaW1lK24uVyl9Owp6QTI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPSEoIVd8fFcuUEohPT1uLlBKfHxXLnR5cGUhPT1uLnR5cGV8fFcuaiQhPT1uLmokKTtyZXR1cm4gRD9iJiYhIVcmJihuLnJhbmdlJiZXLnJhbmdlP1cucmFuZ2UuZW5kPT09bi5yYW5nZS5lbmQ6Vy5yYW5nZT09PW4ucmFuZ2UpJiZXLk4rVy5KPT09bi5OK24uSjpifTsKaEo9ZnVuY3Rpb24obil7cmV0dXJuIG4udHlwZT09PTF8fG4udHlwZT09PTJ9Owp4Tj1mdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09M3x8bi50eXBlPT09Nn07Ckx6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGJUKG4sVyl8fE1hdGguYWJzKG4uai1XLlgpPD0xRS02fHxuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaPyEwOiExfTsKZXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5qJCE9PVcuaiQmJlcuaiQhPT1uLmokKzF8fG4udHlwZSE9PVcudHlwZT8hMTpiVChuLFcpPyEwOk1hdGguYWJzKG4uWC1XLlgpPD0xRS02JiZuLmokPT09Vy5qJD8hMTpMeihuLFcpfTsKZ2s9ZnVuY3Rpb24obil7cmV0dXJuIG4uaiQrKG4uYVo/MTowKX07Clh4PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O1cuaXRhZz1uLlBKLmluZm8uaXRhZztXLnR5cGU9YCR7bi50eXBlfWA7Vy5zcmM9YCR7bi5zb3VyY2V9YDtXLnNlZ3NyYz1uLlk7Vy5zZWc9U3RyaW5nKG4uaiQpO24ucmFuZ2UmJihXLnJhbmdlPWAke24ucmFuZ2Uuc3RhcnQrbi5OfS0ke24ucmFuZ2Uuc3RhcnQrbi5OK24uSi0xfWApO1cudGltZT1gJHtuLlgudG9GaXhlZCgxKX0tJHsobi5YK24uSykudG9GaXhlZCgxKX1gO1cub2ZmPVN0cmluZyhuLk4pO1cubGVuPVN0cmluZyhuLkopO24uYVomJihXLmVuZD0iMSIpO24uVigpJiYoVy5lb3M9IjEiKTtuLmNsaXBJZCYmKFcuY2lkPW4uY2xpcElkKTtyZXR1cm4gV307CmxEeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IHFJKG4udHlwZSxuLlBKLG4ucmFuZ2UsImdldEVtcHR5U3R1YkJlZm9yZSIrbi5ZLG4uaiQsbi5zZWdtZW50U3RhcnRUaW1lLDAsbi5OLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKVEQxPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgcUkobi50eXBlLG4uUEosbi5yYW5nZSwiZ2V0RW1wdHlTdHViQWZ0ZXIiK24uWSxuLmokLG4uc2VnbWVudFN0YXJ0VGltZStuLlcsMCxuLk4rbi5KLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKR1A9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIG5ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJyZXNsaWNlIituLlksbi5qJCxuLnNlZ21lbnRTdGFydFRpbWUsbi5XLFcsRCxiLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKdEo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5yYW5nZSYmVy5yYW5nZT9uLnJhbmdlLnN0YXJ0K24uTj49Vy5yYW5nZS5zdGFydCtXLk4mJm4ucmFuZ2Uuc3RhcnQrbi5OK24uSjw9Vy5yYW5nZS5zdGFydCtXLk4rVy5KOm4uaiQ9PT1XLmokJiZuLk4+PVcuTiYmKG4uTituLko8PVcuTitXLkp8fFcuYVopfTsKJE49ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5jSigpJiZXLnR5cGU9PT0zJiZuLlBKLk4oKT8obj1uLlBKLlZRKG4pLGcub00obixEPT4kTihELFcpKSk6bi5qJD09PVcuaiQmJiEhVy5KJiZXLk4rVy5KPm4uTiYmVy5OK1cuSjw9bi5OK24uSn07Ck92PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCksRD1uLmg1KCksYj1ELmVfKCksdj1uLkcoKSxrPW4uZDAoKSxoPWsuVDEqOC8xMDI0LHg9ay54WS8xMDI0LEw9ay5LVCxlPWsuU1UsRz1rLk1BLHI9RC5nZXRDdXJyZW50VGltZSgpLnRvRml4ZWQoMiksTj1yayhELkooKSwiLCIsMyk7dmFyIEg9IiI7aWYoVy5pc0RhaUVuYWJsZWQoKSl7SD1OSShXKT9IKyJNViI6Vy5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaT9IKyJTUyI6SCsiQ1MiO0g9Vy5ERigpP0grIkxJRkEsICI6SCsiREFJLCAiO1cuYlYmJihIKz0iREFJRkIsICIpO3ZhciBBPWsuZEM7QSYmKEgrPUEpfWVsc2UgVy5LZj9IKz0iQ1NEQUksICI6Vy5KbD9IKz0iRFNEQUksICI6Vy5qRiYmKEgrPSJVU0RBSSwgIik7cHooVykmJiFXLkRGKCkmJihIKz0iTElGQUUsICIpO2cuWU4oVykmJihIKz0iU0FCUiwgIik7aWYoVy5mZXRjaFR5cGUpe3N3aXRjaChXLmZldGNoVHlwZSl7Y2FzZSAib25lc2llIjpBPSJvIjticmVhazsKY2FzZSAiZ3AiOkE9ImdwIjticmVhaztkZWZhdWx0OkE9Imd2aSJ9SCs9YHZkOiR7QX0sIGB9KEE9di5qXygpKSYmKEg9QS5pc0FzbWpzP0grIndhLCAiOkgrIncsICIpO0grPWBzOiR7R30gdDoke3J9IGI6JHtOfSBgO0QuaXNTZWVraW5nKCkmJihIKz0iUyIpO0QuaXNQYXVzZWQoKSYmKEgrPSJQIik7RC5pc0VuZGVkKCkmJihIKz0iRSIpO24uaXNPcmNoZXN0cmF0aW9uTGVhZGVyKCkmJihIKz0iIEwiKTsoRD1rLmVJKSYmKEgrPWAgbDoke0QudG9GaXhlZCgpfWApO0Q9ay5jdXJyZW50VGltZTtHPVcueW47RCYmRD5HLnN0YXJ0JiZEPEcuZW5kJiYoSCs9IiBhcyIpO0Q9UFYob0wpKCJfc3RhcnQiLHZvaWQgMCk7Rz1bXTtmb3IoeSBvZlsicGxfaSIsInZpciIsIm9yX3AiLCJvcmZiIiwicGJzIl0pKHI9UFYob0wpKHksdm9pZCAwKSkmJkQmJihyLT1ELEcucHVzaChgJHt5fToke01hdGgucm91bmQocil9YCkpO3ZhciB5PUcuam9pbigiICIpO0Q9Zy5IXygpO0c9Zy5meihuKS52VDtyPQpXLlcmJiFXLlcuTigpPyJkaXNwbGF5Om5vbmUiOiIiO2lmKChOPVcuY2xpZW50UGxheWJhY2tOb25jZSkmJk4ubGVuZ3RoPT0xNil7Tis9IkFBQUEiO0E9MDt2YXIgVD0iIjtmb3IobGV0IEM9MDtDPDIwO0MrKylpZihBPShBPDw2KSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuaW5kZXhPZihOLmNoYXJBdChDKSksQyU1PT00KXtsZXQgUT0iIjtmb3IobGV0IFY9MDtWPDY7VisrKVE9IjAxMjM0NTY3ODlBQkNERUZHSEpLTU5QUVJTVFZXWFlaIi5jaGFyQXQoQSYzMSkrUSxBPj49NTtUKz1RfU49YCR7VC5zdWJzdHIoMCw0KX0gJHtULnN1YnN0cig0LDQpfSAke1Quc3Vic3RyKDgsNCl9ICR7VC5zdWJzdHIoMTIsNCl9ICR7VC5zdWJzdHIoMTYsNCl9YH1lbHNlIE49IiI7aD17dmlkZW9faWRfYW5kX2NwbjpTdHJpbmcoVy52aWRlb0lkKSsiIC8gIitOLGNvZGVjczoiIixkaW1zX2FuZF9mcmFtZXM6IiIsYmFuZHdpZHRoX2ticHM6YCR7aC50b0ZpeGVkKDApfSBLYnBzYCwKYnVmZmVyX2hlYWx0aF9zZWNvbmRzOmAke0wudG9GaXhlZCgyKX0gc2AsZGF0ZTpgJHsobmV3IERhdGUpLnRvU3RyaW5nKCl9YCxkcm1fc3R5bGU6ZT8iIjoiZGlzcGxheTpub25lIixkcm06ZSxkZWJ1Z19pbmZvOkgsZXh0cmFfZGVidWdfaW5mbzoiIixiYW5kd2lkdGhfc3R5bGU6cixuZXR3b3JrX2FjdGl2aXR5X3N0eWxlOnIsbmV0d29ya19hY3Rpdml0eV9ieXRlczpgJHt4LnRvRml4ZWQoMCl9IEtCYCxzaGFkZXJfaW5mbzpHLHNoYWRlcl9pbmZvX3N0eWxlOkc/IiI6ImRpc3BsYXk6bm9uZSIscGxheWJhY2tfY2F0ZWdvcmllczoiIn07eD1gJHtiLmNsaWVudFdpZHRofXgke2IuY2xpZW50SGVpZ2h0fWArKEQ+MT9gKiR7RC50b0ZpeGVkKDIpfWA6IiIpO0w9Ii0iO2sudG90YWxWaWRlb0ZyYW1lcyYmKEw9YCR7ay5kcm9wcGVkVmlkZW9GcmFtZXN8fDB9IGRyb3BwZWQgb2YgJHtrLnRvdGFsVmlkZW9GcmFtZXN9YCk7aC5kaW1zX2FuZF9mcmFtZXM9YCR7eH0gLyAke0x9YDtlPW4uZ2V0Vm9sdW1lKCk7Cm49Vy5oZzt4PW4uTjtMPU1hdGgucm91bmQoZSk7ZT1NYXRoLnJvdW5kKGUqKHg/LlpyPz8xKSk7SD0iIjtXLlg/LmF1ZGlvLk4/SD0iIFZCIjpXLlg/LmF1ZGlvLlcmJihIPSIgRFJDIik7RD0iIjt4Py5mZCE9bnVsbD9EKz1gY29udC4ke3guZmQudG9GaXhlZCgxKX1kQmA6bi5RTyE9bnVsbCYmKEQrPWBsaXZlLiR7bi5RTy50b0ZpeGVkKDEpfWRCYCk7eD8ucHkhPW51bGwmJihEKz1gIHRndC4ke3gucHkudG9GaXhlZCgxKX1kQmApO0QmJihEPWAgKCR7RH0pYCk7aC52b2x1bWU9YCR7TH0lLyR7ZX0lJHtIfSR7RH1gO2gucmVzb2x1dGlvbj1gJHtiLnZpZGVvV2lkdGh9eCR7Yi52aWRlb0hlaWdodH1gO2lmKGI9Vy5KKXtpZihuPWIudmlkZW8peD1uLmZwcyx4PjEmJihoLnJlc29sdXRpb24rPWBAJHt4fWApLCh4PWsuTHQpJiZ4LnZpZGVvJiYoaC5yZXNvbHV0aW9uKz1gIC8gJHt4LnZpZGVvLndpZHRofXgke3gudmlkZW8uaGVpZ2h0fWAseC52aWRlby5mcHM+MSYmKGgucmVzb2x1dGlvbis9CmBAJHt4LnZpZGVvLmZwc31gKSksaC5jb2RlY3M9SkooYiksIVcuWHx8Yi5hdWRpbyYmYi52aWRlbz9iLkFhJiYoaC5jb2RlY3MrPWAgLyAke2IuQWF9QWApOmguY29kZWNzKz1gIC8gJHtKSihXLlgpfWAsbi5OfHxuLnByaW1hcmllcz8oeD1uLk58fCJ1bmtub3duIix4PT09InNtcHRlMjA4NCI/eD1gJHt4fSAoUFEpYDp4PT09ImFyaWItc3RkLWI2NyImJih4PWAke3h9IChITEcpYCksaC5jb2xvcj1gJHt4fSAvICR7bi5wcmltYXJpZXN8fCJ1bmtub3duIn1gLGguY29sb3Jfc3R5bGU9IiIpOmguY29sb3Jfc3R5bGU9ImRpc3BsYXk6bm9uZSI7aWYoYi5kZWJ1Z0luZm8pe2guZm10X2RlYnVnX2luZm89IiI7Zm9yKHZhciB6IG9mIGIuZGVidWdJbmZvKWguZm10X2RlYnVnX2luZm8rPWAke3oubGFiZWx9OiR7ei50ZXh0fSBgfWguZm10X2RlYnVnX2luZm9fc3R5bGU9aC5mbXRfZGVidWdfaW5mbyYmaC5mbXRfZGVidWdfaW5mby5sZW5ndGg+MD8iIjoiZGlzcGxheTpub25lIn16PVcuaXNMaXZlUGxheWJhY2s7CmI9Vy5YZztoLmxpdmVfbW9kZV9zdHlsZT16fHxiPyIiOiJkaXNwbGF5Om5vbmUiO2gubGl2ZV9sYXRlbmN5X3N0eWxlPXo/IiI6ImRpc3BsYXk6bm9uZSI7aWYoYiloLmxpdmVfbW9kZT0iUG9zdC1MaXZlIisoSTQoVyk/IiBNYW5pZmVzdGxlc3MiOiIiKTtlbHNlIGlmKHope2I9ay5wVDtoLmxpdmVfbGF0ZW5jeV9zZWNzPWAke2IudG9GaXhlZCgyKX1zYDt6PUk0KFcpPyJNYW5pZmVzdGxlc3MsICI6IiI7Vy5SSSYmKHorPSJXaW5kb3dlZCwgIik7bj0iVW5jZXJ0YWluIjtpZihiPj0wJiZiPDEyMClpZihXLmxhdGVuY3lDbGFzcyYmVy5sYXRlbmN5Q2xhc3MhPT0iVU5LTk9XTiIpc3dpdGNoKFcubGF0ZW5jeUNsYXNzKXtjYXNlICJOT1JNQUwiOm49Ik9wdGltaXplZCBmb3IgTm9ybWFsIExhdGVuY3kiO2JyZWFrO2Nhc2UgIkxPVyI6bj0iT3B0aW1pemVkIGZvciBMb3cgTGF0ZW5jeSI7YnJlYWs7Y2FzZSAiVUxUUkFMT1ciOm49Ik9wdGltaXplZCBmb3IgVWx0cmEgTG93IExhdGVuY3kiOwpicmVhaztkZWZhdWx0Om49IlVua25vd24gTGF0ZW5jeSBTZXR0aW5nIn1lbHNlIG49U3goVyk/Ik9wdGltaXplZCBmb3IgTG93IExhdGVuY3kiOiJPcHRpbWl6ZWQgZm9yIFNtb290aCBTdHJlYW1pbmciO3orPW47KGI9ay5GSSkmJih6Kz1gLCBzZXEgJHtiLnNlcXVlbmNlfWApO2gubGl2ZV9tb2RlPXp9di5leHBlcmltZW50cy5adCgpLk4uUVEoaldTKT9rLmlzR2FwbGVzcyYmIWsuZFQmJihoLnBsYXliYWNrX2NhdGVnb3JpZXM9ay5Ibz9oLnBsYXliYWNrX2NhdGVnb3JpZXMrIkdhcGxlc3MgIjpoLnBsYXliYWNrX2NhdGVnb3JpZXMrIlF1ZXVlZCAiKTohay5pc0dhcGxlc3N8fEFKKFcpJiZrLmRUfHwoaC5wbGF5YmFja19jYXRlZ29yaWVzKz0iR2FwbGVzcyAiKTtoLnBsYXliYWNrX2NhdGVnb3JpZXNfc3R5bGU9aC5wbGF5YmFja19jYXRlZ29yaWVzPyIiOiJkaXNwbGF5Om5vbmUiO2guYmFuZHdpZHRoX3NhbXBsZXM9ay5VJDtoLm5ldHdvcmtfYWN0aXZpdHlfc2FtcGxlcz1rLmRjOwpoLmxpdmVfbGF0ZW5jeV9zYW1wbGVzPWsuc0k7aC5idWZmZXJfaGVhbHRoX3NhbXBsZXM9ay5qeDt2PWcubU0oVyk7aWYoVy5jb3RufHx2KWguY290bl9hbmRfbG9jYWxfbWVkaWE9YCR7Vy5jb3RuP1cuY290bjoibnVsbCJ9IC8gJHt2fWA7aC5jb3RuX2FuZF9sb2NhbF9tZWRpYV9zdHlsZT1oLmNvdG5fYW5kX2xvY2FsX21lZGlhPyIiOiJkaXNwbGF5Om5vbmUiO0t6KFcsIndlYl9wbGF5ZXJfcmVsZWFzZV9kZWJ1ZyIpPyhoLnJlbGVhc2VfbmFtZT1JWzY1XSxoLnJlbGVhc2Vfc3R5bGU9IiIpOmgucmVsZWFzZV9zdHlsZT0iZGlzcGxheTpub25lIjtoLmRlYnVnX2luZm8mJnkubGVuZ3RoPjAmJmguZGVidWdfaW5mby5sZW5ndGgreS5sZW5ndGg8PTYwP2guZGVidWdfaW5mbys9IiAiK3k6aC5leHRyYV9kZWJ1Z19pbmZvPXk7aC5leHRyYV9kZWJ1Z19pbmZvX3N0eWxlPWguZXh0cmFfZGVidWdfaW5mbyYmaC5leHRyYV9kZWJ1Z19pbmZvLmxlbmd0aD4wPyIiOiJkaXNwbGF5Om5vbmUiOwpyZXR1cm4gaH07ClBfPWZ1bmN0aW9uKG4sVyxEKXtuLkorPVcuSjtuLnJhbmdlJiYobi5LKz1XLkspO24uaj1XLmo7bi5hWj1XLmFaO0QmJlcuYVomJihuLlc9Vy5XLG4uc2VnbWVudFN0YXJ0VGltZT1XLnNlZ21lbnRTdGFydFRpbWUsbi5YPW4uc2VnbWVudFN0YXJ0VGltZSxuLnJhbmdlfHwobi5LPW4uVykpfTsKWko9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmokO24uWT0idXBkYXRlV2l0aFNlZ21lbnRJbmZvIjtuLmokPUQ7aWYobi5zZWdtZW50U3RhcnRUaW1lIT09Vy5zdGFydFRpbWV8fG4uVyE9PVcuZHVyYXRpb24pbi5zZWdtZW50U3RhcnRUaW1lPVcuc3RhcnRUaW1lLG4uVz1XLmR1cmF0aW9uLHZfKG4pfTsKVXY9ZnVuY3Rpb24obil7cmV0dXJuIWhKKG4uQXdbbi5Bdy5sZW5ndGgtMV0pfTsKeXM9ZnVuY3Rpb24obil7cmV0dXJuIG4uQXdbbi5Bdy5sZW5ndGgtMV0uY0ooKX07CmcuRXY9ZnVuY3Rpb24obixXLEQpe0Q9bi5wUz09PW51bGw/bi5YYi5wUyhXLEQsbi5Bd1swXS50eXBlKTpuLnBTO2lmKG4uTil7Vz1EP1hkKG4uTixXLm9NKTpuLk47dmFyIGI9bmV3IENzKFcpO2IuZ2V0KCJhbHIiKXx8Yi5zZXQoImFsciIsInllcyIpO24uSiYmWl8oYixuLkopfWVsc2UvaHR0cFtzXT86XC9cLy8udGVzdChuLkopP2I9bmV3IENzKG5ldyBnLndaKG4uSikpOihiPUJ3KG4uWGIsRCxXKSxuLkomJlpfKGIsbi5KKSk7KFc9bi5yYW5nZSk/Yi5zZXQoInJhbmdlIixXLnRvU3RyaW5nKCkpOm4uQXdbMF0uUEouRCgpJiZuLkF3Lmxlbmd0aD09PTEmJm4uQXdbMF0uTiYmYi5zZXQoInJhbmdlIixgJHtuLkF3WzBdLk59LWApO24ucmVxdWVzdElkJiZiLnNldCgicmVxX2lkIixuLnJlcXVlc3RJZCk7aXNOYU4obi5aQSl8fGIuc2V0KCJoZWFkbSIsbi5aQS50b1N0cmluZygpKTtpc05hTihuLmopfHxiLnNldCgibWZmYSIsYCR7bi5qfW1zYCk7bi51cmxQYXJhbXMmJmcuYV8obi51cmxQYXJhbXMsCih2LGspPT57Yi5zZXQoayx2KX0pOwpyZXR1cm4gYn07CmRrPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkcoKSx2PXtodG1sNVByZWZlcmVuY2U6IkhUTUw1X1BSRUZfV0FOVFMiLGxhY3RNaWxsaXNlY29uZHM6U3RyaW5nKGcudkkoKSkscmVmZXJlcjpkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpLHNpZ25hdHVyZVRpbWVzdGFtcDoyMDY1NX0saz1nLm85KCk7bi5pc0F1dG9uYXYmJih2LmF1dG9uYXY9ITApO2suUVEoMTQxKSYmKHYuYXV0b25hdlN0YXRlPWsuUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTt2LmF1dG9DYXB0aW9uc0RlZmF1bHRPbj1rLlFRKDY2KTtpVChuKSYmKHYuYXV0b3BsYXk9ITApO2IuSyYmbi5jeWNUb2tlbiYmKHYuY3ljVG9rZW49bi5jeWNUb2tlbik7Yi5lbmFibGVQcml2YWN5RmlsdGVyJiYodi5lbmFibGVQcml2YWN5RmlsdGVyPSEwKTtuLmlzRmxpbmcmJih2LmZsaW5nPSEwKTt2YXIgaD1uLmZvcmNlQWRzVXJsO2lmKGgpe2s9e307dmFyIHg9W107aD1oLnNwbGl0KCIsIik7Zm9yKHZhciBMIG9mIGgpe3ZhciBlPQpMLnNwbGl0KCJ8Iik7ZS5sZW5ndGghPT0zfHxMLmluY2x1ZGVzKCI9Iil8fChlWzBdPWBicmVha3R5cGU9JHtlWzBdfWAsZVsxXT1gb2Zmc2V0PSR7ZVsxXX1gLGVbMl09YHVybD0ke2VbMl19YCk7aD17YWR0eXBlOiJ2aWRlb19hZCJ9O2Zvcih2YXIgRyBvZiBlKXtsZXQgW3osLi4uQ109Ry5zcGxpdCgiPSIpO2hbel09Qy5qb2luKCI9Iil9ZT1oLnVybDtsZXQgSD1oLnByZXNldGFkLEE9aC52aXJhbHJlc3BvbnNldXJsLHk9TnVtYmVyKGguY2FtcGFpZ25pZCksVD1oLmJpYmxpb3RlY2FhZGlkO2lmKGguYWR0eXBlPT09ImluX2Rpc3BsYXlfYWQiKWUmJihrLnVybD1lKSxIJiYoay5wcmVzZXRBZD1IKSxBJiYoay52aXJhbEFkUmVzcG9uc2VVcmw9QSkseSYmKGsudmlyYWxDYW1wYWlnbklkPVN0cmluZyh5KSksVCYmKGsuYmlibGlvdGVjYUFkSWQ9VCk7ZWxzZSBpZihoLmFkdHlwZT09PSJ2aWRlb19hZCIpe2xldCB6PXtvZmZzZXQ6e2tpbmQ6Ik9GRlNFVF9NSUxMSVNFQ09ORFMiLHZhbHVlOlN0cmluZyhOdW1iZXIoaC5vZmZzZXQpfHwKMCl9fTtpZihoPUNJWltoLmJyZWFrdHlwZV0pei5icmVha1R5cGU9aDtlJiYoei51cmw9ZSk7SCYmKHoucHJlc2V0QWQ9SCk7QSYmKHoudmlyYWxBZFJlc3BvbnNlVXJsPUEpO3kmJih6LnZpcmFsQ2FtcGFpZ25JZD1TdHJpbmcoeSkpO1QmJih6LmJpYmxpb3RlY2FBZElkPVQpO3gucHVzaCh6KX19T2JqZWN0LmtleXMoaykubGVuZ3RoPjA/di5mb3JjZUFkUGFyYW1ldGVycz17dmlkZW9BZHM6eCxpbkRpc3BsYXlBZDprfTp2LmZvcmNlQWRQYXJhbWV0ZXJzPXt2aWRlb0Fkczp4fX1uLmlzSW5saW5lUGxheWJhY2tOb0FkJiYodi5pc0lubGluZVBsYXliYWNrTm9BZD0hMCk7bi5pc0xpdmluZ1Jvb21EZWVwbGluayYmKHYuaXNMaXZpbmdSb29tRGVlcGxpbms9ITApO0w9bi5zUztpZihMIT1udWxsKXtMPXtzdGFydFdhbGx0aW1lOlN0cmluZyhMKX07aWYoRz1uLnptKUwubWFuaWZlc3REdXJhdGlvbj1TdHJpbmcoR3x8MTQ0MDApO3YubGl2ZUNvbnRleHQ9TH1uLm11dGVkQXV0b3BsYXkmJgoodi5tdXRlZEF1dG9wbGF5PSEwLEw9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCksTD8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd011dGVkQXV0b3BsYXlEdXJhdGlvbk1vZGUmJkw/LmVtYmVkc0hvc3RGbGFncz8uYWxsb3dNdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlLmluY2x1ZGVzKHVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pJiYodi5tdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlPXVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pKTtpZihuLmZCPzA6bi5QWCl2LnNwbGF5PSEwO0w9bi52bmQ7TD09PTUmJih2LnZuZD1MKTtMPXt9O2lmKEc9bi5pc01keFBsYXliYWNrKUwudHJpZ2dlcmVkQnlNZHg9RztpZihHPW4uRmYpTC5za2lwcGFibGVBZHNTdXBwb3J0ZWQ9Ry5zcGxpdCgiLCIpLmluY2x1ZGVzKCJza2EiKTtpZih4PW4uVUspe0c9bi5jTDtrPVtdO2Zvcih2YXIgciBvZiBpSih4KSl7eD1yLnBsYXRmb3JtO3g9e2FwcGxpY2F0aW9uU3RhdGU6ci5Fcz8KIklOQUNUSVZFIjoiQUNUSVZFIixjbGllbnRGb3JtRmFjdG9yOkJEalt4XXx8IlVOS05PV05fRk9STV9GQUNUT1IiLGNsaWVudE5hbWU6dUpbci5oal18fCJVTktOT1dOX0lOVEVSRkFDRSIsY2xpZW50VmVyc2lvbjpyLmRldmljZVZlcnNpb258fCIiLHBsYXRmb3JtOkZoaVt4XXx8IlVOS05PV05fUExBVEZPUk0ifTtoPXt9O2lmKEcpe3ZhciBOPXZvaWQgMDt0cnl7Tj1KU09OLnBhcnNlKEcpfWNhdGNoKEgpe2cuR3EoSCl9TiYmKGg9e3BhcmFtczpbe2tleToibXMiLHZhbHVlOk4ubXN9XX0sTi5hZHZlcnRpc2luZ19pZCYmKGguYWR2ZXJ0aXNpbmdJZD1OLmFkdmVydGlzaW5nX2lkKSxOLmxpbWl0X2FkX3RyYWNraW5nIT09dm9pZCAwJiZOLmxpbWl0X2FkX3RyYWNraW5nIT09bnVsbCYmKGgubGltaXRBZFRyYWNraW5nPU4ubGltaXRfYWRfdHJhY2tpbmcpLHgub3NOYW1lPU4ub3NfbmFtZSx4LnVzZXJBZ2VudD1OLnVzZXJfYWdlbnQseC53aW5kb3dIZWlnaHRQb2ludHM9Ti53aW5kb3dfaGVpZ2h0X3BvaW50cywKeC53aW5kb3dXaWR0aFBvaW50cz1OLndpbmRvd193aWR0aF9wb2ludHMpfWsucHVzaCh7YWRTaWduYWxzSW5mbzpoLHJlbW90ZUNsaWVudDp4fSl9TC5yZW1vdGVDb250ZXh0cz1rfXI9bi5zb3VyY2VDb250YWluZXJQbGF5bGlzdElkO049bi5zZXJpYWxpemVkTWR4TWV0YWRhdGE7aWYocnx8TilHPXt9LHImJihHLm1keFBsYXliYWNrQ29udGFpbmVySW5mbz17c291cmNlQ29udGFpbmVyUGxheWxpc3RJZDpyfSksTiYmKEcuc2VyaWFsaXplZE1keE1ldGFkYXRhPU4pLEwubWR4UGxheWJhY2tTb3VyY2VDb250ZXh0PUc7di5tZHhDb250ZXh0PUw7cj1XLndpZHRoO3I+MCYmKHYucGxheWVyV2lkdGhQaXhlbHM9TWF0aC5yb3VuZChyKSk7aWYoVz1XLmhlaWdodCl2LnBsYXllckhlaWdodFBpeGVscz1NYXRoLnJvdW5kKFcpO0QhPT0wJiYodi52aXM9RCk7aWYoRD1iLndpZGdldFJlZmVycmVyKXYud2lkZ2V0UmVmZXJyZXI9RC5zdWJzdHJpbmcoMCwxMjgpO2cubzQoYikmJnYmJih2LmFuY2VzdG9yT3JpZ2lucz0KYi5hbmNlc3Rvck9yaWdpbnMpO24uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQmJih2LmNvbXBvc2l0ZVZpZGVvQ29udGV4dD17ZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ6bi5kZWZhdWx0QWN0aXZlU291cmNlVmlkZW9JZH0pO2lmKG49Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCkpdi5lbmNyeXB0ZWRIb3N0RmxhZ3M9bi5lbmNyeXB0ZWRIb3N0RmxhZ3M7cmV0dXJuIHZ9Owp6UD1mdW5jdGlvbihuKXtpZihuLnJhbmdlKXJldHVybiBuLlc7bj1uLkF3WzBdO3JldHVybiBNYXRoLnJvdW5kKG4uSypuLlBKLmluZm8uTnMpfTsKd0xVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE1hdGgubWF4KDAsbi5Bd1swXS5YLVcpfTsKbFQ9ZnVuY3Rpb24obixXLEQpe2Zvcig7bjtuPW4ucGFyZW50Tm9kZSl7aWYoIW4uYXR0cmlidXRlc3x8RCYmbi5ub2RlTmFtZSE9PUQpY29udGludWU7bGV0IGI9bi5nZXRBdHRyaWJ1dGUoVyk7aWYoYilyZXR1cm4gYn1yZXR1cm4iIn07ClRQPWZ1bmN0aW9uKG4sVyl7Zm9yKDtuO249bi5wYXJlbnROb2RlKXtsZXQgRD1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKFcpO2lmKEQubGVuZ3RoPjApcmV0dXJuIERbMF19cmV0dXJuIG51bGx9OwpqeD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gMDt2YXIgVz1uLm1hdGNoKC9QVCgoWzAtOV0qKUgpPygoWzAtOV0qKU0pPygoWzAtOS5dKilTKT8vKTtyZXR1cm4gVz8oTnVtYmVyKFdbMl0pfDApKjM2MDArKE51bWJlcihXWzRdKXwwKSo2MCsoTnVtYmVyKFdbNl0pfDApOk51bWJlcihuKXwwfTsKQ3o9ZnVuY3Rpb24obil7cmV0dXJuIG4ubWF0Y2goL14oXGR7NH0pLShcZHsyfSktKFxkezJ9KVQoXGR7Mn0pOihcZHsyfSk6KFxkezJ9KVwuKFxkezN9KSQvKT9gJHtufVpgOm59OwpNZ009ZnVuY3Rpb24obil7dmFyIFc9bi5XO24uVz1bXTtyZXR1cm4gV307ClJBUz1mdW5jdGlvbihuKXtuLk58fChuLk49bmV3IEJfKTtyZXR1cm4gbi5OfTsKUVdNPWZ1bmN0aW9uKG4sVyl7bi5KW1ddfHwobi5KW1ddPW5ldyBCXyk7cmV0dXJuIG4uSltXXX07ClZnaT1mdW5jdGlvbihuLFcpe24uV1tXXXx8KG4uV1tXXT1uZXcgQl8pO3JldHVybiBuLldbV119OwpjSGo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtXPUFycmF5LmZyb20oVy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikpO2ZvcihsZXQgYiBvZiBXKXtXPWIucGFyZW50Tm9kZS5wYXJlbnROb2RlO2xldCB2PW51bGw7Vy5ub2RlTmFtZT09PSJQZXJpb2QiP3Y9UkFTKG4pOlcubm9kZU5hbWU9PT0iQWRhcHRhdGlvblNldCI/KFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fFcuZ2V0QXR0cmlidXRlKCJtaW1ldHlwZSIpfHwiIix2PVFXTShuLFcpKTpXLm5vZGVOYW1lPT09IlJlcHJlc2VudGF0aW9uIiYmKFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fCIiLHY9VmdpKG4sVykpO2lmKHY9PW51bGwpcmV0dXJuO3YudXBkYXRlKGIpO2cuUTIoRCxNZ00odikpfWcuUTIobi5YLEQpO3RVaChuLlgsYj0+Yi5zdGFydFNlY3MqMUUzK2IuTil9OwphRFU9ZnVuY3Rpb24obil7bi5OJiYobi5OLk49W10pO2cuYV8obi5KLFc9PntXLk49W119KTsKZy5hXyhuLlcsVz0+e1cuTj1bXX0pfTsKRng9ZnVuY3Rpb24obixXKXtyZXR1cm4gRGUobi5zZWdtZW50cyxEPT5XLUQuaiQpfTsKTUk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uaW5kZXguVihXKSx2PW4uaW5kZXguZ2V0U3RhcnRUaW1lKFcpLGs9bi5pbmRleC5nZXREdXJhdGlvbihXKTtEP2s9RD0wOkQ9bi5pbmZvLk5zKms7cmV0dXJuIG5ldyB3ayhbbmV3IHFJKDMsbix2b2lkIDAsIm90ZkNyZWF0ZVJlcXVlc3RJbmZvRm9yU2VnbWVudCIsVyx2LGssMCxEKV0sYil9OwpuR1M9ZnVuY3Rpb24obixXKXtpZighbi5pbmRleC5pc0xvYWRlZCgpKXt2YXIgRD1bXSxiPVcuajtXPVcuSy5zcGxpdCgiLCIpLmZpbHRlcihlPT5lLmxlbmd0aD4wKTsKdmFyIHY9MCxrPTAsaD0wLHg9L14oXGQrKS8sTD0vcj0oXGQrKS87Zm9yKGxldCBlPTA7ZTxiO2UrKyl7aWYoaDw9MClpZihoPVcuc2hpZnQoKSxrPShrPXguZXhlYyhoKSk/K2tbMV0vMUUzOjApaD0oaD1MLmV4ZWMoaCkpPytoWzFdOjAsaCs9MTtlbHNlIHJldHVybjtELnB1c2gobmV3IFI0KGUsdixrLE5hTiwic3EvIisoZSsxKSkpO3YrPWs7aC0tfW4uaW5kZXguYXBwZW5kKEQpfX07CmcuY189ZnVuY3Rpb24obixXLC4uLkQpe2cuUXMoNSxuIGluc3RhbmNlb2YgZy5Wcz9uLnRhZzpuLFcsLi4uRCl9OwpnLlFzPWZ1bmN0aW9uKG4sVyxELC4uLmIpe3ZhciB2PW49PT02PyJFUlJPUiI6IldBUk5JTkciO0Q9YGIke0R9YDtnLlhqKG5ldyBnLlF4KEQsLi4uYiksdik7Yi51bnNoaWZ0KEQpO2I9Yi5qb2luKCIsICIpO3Y9YTQuZ2V0KFcpO2lmKCF2KXt2PWB5dHBsb2cuJHtXfWA7RD01O3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5sb2NhbFN0b3JhZ2Vbdl0pJiYoRD0rd2luZG93LmxvY2FsU3RvcmFnZVt2XSksd2luZG93LnNlc3Npb25TdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5zZXNzaW9uU3RvcmFnZVt2XSkmJihEPSt3aW5kb3cuc2Vzc2lvblN0b3JhZ2Vbdl0pfWNhdGNoe31hNC5zZXQoVyxEKTt2PUR9bjx2fHwobj1XS3csdj1uLk4uZ2V0KFcpLHZ8fCh2PW5ldyBEODIsbi5OLnNldChXLHYpKSxuPXYsdj1EYXRlLm5vdygpLEQ9TWF0aC5mbG9vcigodi1uLkopKi4wMSksRD4wJiYobi5OPU1hdGgubWluKG4uTitELDEwKSxuLko9diksbi5OPjA/KG4uTi0tLG49CiEwKTpuPSExLG4/KHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmKGI9YigpKSxjb25zb2xlLmxvZyhgcGx5ci4ke1d9YCxiKSk6KGI9KG5NLmdldChXKT8/MCkrMSxuTS5zZXQoVyxiKSxiJTEwMD09PTEmJmNvbnNvbGUud2FybigicGx5ciIsYHBseXIuJHtXfSBpcyBjaGF0dHksIGRyb3BwaW5nIGxvZ3MuYCkpKX07CkRPPWZ1bmN0aW9uKG4pe2lmKCFuLkspe2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPWt4KFcsMCwxODM2MDE5NTc0KTtpZihEKXtEPUQub2Zmc2V0K0Quc2l6ZTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsRCkpO1c9Yn1lbHNlIFc9bnVsbH1lbHNlIFc9eUhyKG5ldyB0WShnLldSKG4pKSk7VyYmKG4uaW5mby5QSi5KPVcsbi5LPSEwKX19OwpnLldSPWZ1bmN0aW9uKG4pe3JldHVybiBHNihuLkopfTsKdlI9ZnVuY3Rpb24obixXKXtXPU1hdGgubWluKFcsbi5pbmZvLkopO3ZhciB7Q3M6RCxZOTpifT1uLkouc3BsaXQoVyksdj1uZXcgYjgobmV3IHFJKG4uaW5mby50eXBlLG4uaW5mby5QSixuLmluZm8ucmFuZ2Usbi5pbmZvLlksbi5pbmZvLmokLG4uaW5mby5zZWdtZW50U3RhcnRUaW1lLG4uaW5mby5XLG4uaW5mby5OLFcsITEsbi5pbmZvLnZELG4uaW5mby5jbGlwSWQsbi5pbmZvLkQpLEQpO3YuWD1uLlg7di5XPW4uVztXPW5ldyBiOChuZXcgcUkobi5pbmZvLnR5cGUsbi5pbmZvLlBKLG4uaW5mby5yYW5nZSxuLmluZm8uWSxuLmluZm8uaiQsbi5pbmZvLnNlZ21lbnRTdGFydFRpbWUsbi5pbmZvLlcsbi5pbmZvLk4rVyxuLmluZm8uSi1XLG4uaW5mby5hWixuLmluZm8udkQsbi5pbmZvLmNsaXBJZCxuLmluZm8uRCksYik7Vy5YPW4uWDtXLlc9bi5XO3JldHVyblt2LFddfTsKZy5rWD1mdW5jdGlvbihuKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtpZihuLlchPT0tMSlyZXR1cm4gbi5XO2lmKG4uTiYmakoobi5OKSlyZXR1cm4gbi5XPWpKKG4uTiksbi5XO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPW4uaW5mby5QSi5KLGI9TmFOO2xldCB2PU5hTixrPTA7Zm9yKDtWTChXLGspOyl7bGV0IGg9Y0EoVyxrKTtoLnR5cGU9PT0xOTM2Mjg2ODQwP3Y9aC5kYXRhLmdldFVpbnQzMihoLmRhdGFPZmZzZXQrOCk6aC50eXBlPT09MTgzNjQ3NjUxNj92PWcuYkwoaCk6aC50eXBlPT09MTk1Mjg2NzQ0NCYmaXNOYU4oYikmJihiPWcueHgoaCkpO2s9YXIoaC50eXBlKT9rKzg6aytoLnNpemV9IXYmJkQmJih2PXZ3KEQpKTtXPWIvdn1lbHNlIFc9bmV3IHRZKGcuV1IobikpLEQ9bi5WP1c6bmV3IHRZKG5ldyBEYXRhVmlldyhuLmluZm8uUEouSi5idWZmZXIpKSxiPUtzKEQpLEQ9Vy5wb3MsVy5wb3M9MCxQdyhXKT8Kc1koVywyMzEpPyhiPWZzKFcpKmIvMUU5LFcucG9zPUQsVz1iKTooVy5wb3M9RCxXPU5hTik6KFcucG9zPUQsVz1OYU4pO24uVz1XfHxuLmluZm8uWDtyZXR1cm4gbi5XfTsKaE09ZnVuY3Rpb24obixXKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtuLlc9VztpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIEQ9Zy5XUihuKTtuPW4uaW5mby5QSi5KO3ZhciBiPU5hTix2PU5hTjtsZXQgTD0wO2Zvcig7VkwoRCxMKTspe2xldCBlPWNBKEQsTCk7aXNOYU4oYikmJihlLnR5cGU9PT0xOTM2Mjg2ODQwP2I9ZS5kYXRhLmdldFVpbnQzMihlLmRhdGFPZmZzZXQrOCk6ZS50eXBlPT09MTgzNjQ3NjUxNiYmKGI9Zy5iTChlKSkpO2lmKGUudHlwZT09PTE5NTI4Njc0NDQpeyFiJiZuJiYoYj12dyhuKSk7dmFyIGs9Zy54eChlKTtpc05hTih2KSYmKHY9TWF0aC5yb3VuZChXKmIpLWspO3ZhciBoPWU7ays9djtpZihoLmRhdGEuZ2V0VWludDgoaC5kYXRhT2Zmc2V0KSl7dmFyIHg9aC5kYXRhO2g9aC5kYXRhT2Zmc2V0KzQ7eC5zZXRVaW50MzIoaCxNYXRoLmZsb29yKGsvNDI5NDk2NzI5NikpO3guc2V0VWludDMyKGgrNCxrJjQyOTQ5NjcyOTUpfWVsc2UgaC5kYXRhLnNldFVpbnQzMihoLmRhdGFPZmZzZXQrCjQsayl9TD1hcihlLnR5cGUpP0wrODpMK2Uuc2l6ZX1yZXR1cm4hMH1EPW5ldyB0WShnLldSKG4pKTtuPW4uVj9EOm5ldyB0WShuZXcgRGF0YVZpZXcobi5pbmZvLlBKLkouYnVmZmVyKSk7Yj1LcyhuKTtuPUQucG9zO0QucG9zPTA7aWYoUHcoRCkmJnNZKEQsMjMxKSlpZih2PU5rKEQsITApLFc9TWF0aC5mbG9vcihXKjFFOS9iKSxNYXRoLmNlaWwoTWF0aC5sb2coVykvTWF0aC5sb2coMikvOCk+dilXPSExO2Vsc2V7Zm9yKGI9di0xO2I+PTA7Yi0tKUQuTi5zZXRVaW50OChELnBvcytiLFcmMjU1KSxXPj4+PTg7RC5wb3M9bjtXPSEwfWVsc2UgVz0hMTtyZXR1cm4gV307CnhYPWZ1bmN0aW9uKG4sVyl7bi50aW1lc3RhbXBPZmZzZXQ+MCYmKFctPW4udGltZXN0YW1wT2Zmc2V0KTt2YXIgRD1nLmtYKG4pK1c7aE0obixEKTtuLnRpbWVzdGFtcE9mZnNldD1XfTsKTE09ZnVuY3Rpb24obil7Zy5SQihuLmluZm8uUEouaW5mbyl8fG4uaW5mby5QSi5pbmZvLnFIKCk7aWYobi5OJiZuLmluZm8udHlwZT09PTYpcmV0dXJuIG4uTi5yYjtpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIFc9Zy5XUihuKTt2YXIgRD0wO1c9Zy5lUChXLDE5MzYyODY4NDApO2Zvcih2YXIgYiBvZiBXKVc9THMoYiksRCs9Vy5xZ1swXS9XLnRpbWVzY2FsZTtEPUR8fE5hTjtpZighKEQ+PTApKWE6e0Q9Zy5XUihuKTtiPW4uaW5mby5QSi5KO2xldCByPVc9MDtmb3IodmFyIHY9MDtWTChELFcpOyl7bGV0IE49Y0EoRCxXKTtpZihOLnR5cGU9PT0xODM2NDc2NTE2KXI9Zy5iTChOKTtlbHNlIGlmKE4udHlwZT09PTE4MzYwMTk1NTgpeyFyJiZiJiYocj12dyhiKSk7aWYoIXIpe0Q9TmFOO2JyZWFrIGF9dmFyIGs9a3goTi5kYXRhLE4uZGF0YU9mZnNldCwxOTUzNjUzMDk0KSxoPWs7az1yO3ZhciB4PWt4KGguZGF0YSxoLmRhdGFPZmZzZXQsMTk1Mjg2ODQ1Mik7aD1reChoLmRhdGEsCmguZGF0YU9mZnNldCwxOTUzNjU4MjIyKTt2YXIgTD15TCh4KTt5TCh4KTtMJjImJnlMKHgpO3g9TCY4P3lMKHgpOjA7dmFyIGU9eUwoaCksRz1lJjE7TD1lJjQ7bGV0IEg9ZSYyNTYsQT1lJjUxMix5PWUmMTAyNDtlJj0yMDQ4O2xldCBUPUVEKGgpO0cmJnlMKGgpO0wmJnlMKGgpO0c9MDtmb3IobGV0IHo9MDt6PFQ7eisrKXtsZXQgQz1IP3lMKGgpOng7QSYmeUwoaCk7TCYmej09PTB8fCF5fHx5TChoKTtlJiZ5TChoKTtHKz1DfXYrPUcva31XPWFyKE4udHlwZSk/Vys4OlcrTi5zaXplfUQ9dnx8TmFOfUR8fGcuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcGFyc2luZyBibWZmIixuLmluZm8uZ2EoKSkpfWVsc2UgRD1uZXcgdFkoZy5XUihuKSksbj1uLlY/RDpuZXcgdFkobmV3IERhdGFWaWV3KG4uaW5mby5QSi5KLmJ1ZmZlcikpLEQ9RUVaKEQsS3MobikpO3JldHVybiBEfTsKZUc9ZnVuY3Rpb24obixXPSExKXt2YXIgRD1MTShuKTtuPVc/MDpuLmluZm8uSztyZXR1cm4gRHx8bn07CmcuZ3k9ZnVuY3Rpb24obil7aWYobi5pbmZvLlBKLlcoKSlyZXR1cm4gbi5pbmZvLlc7bi5YPT09LTEmJihuLlg9TE0obikpO3JldHVybiBuLlh8fG4uaW5mby5XfTsKWFo9ZnVuY3Rpb24obil7dmFyIFc9Zy5XUihuKSxEPWcubnMoVywwLDE5MzYyODY4NDApO0Q9RD9ELmRhdGEuZ2V0VWludDMyKEQuZGF0YU9mZnNldCs4KTpOYU47aXNOYU4oRCkmJihuPW4uaW5mby5QSi5KLEQ9KFc9Zy5ucyhXLDAsMTgzNjQ3NjUxNikpP2cuYkwoVyk6bj92dyhuKTpOYU4pO3JldHVybiBEfTsKcSQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uaW5mby5QSi5pbmZvLnFIKCkmJnJkKG4uSiwwKT09PTE2MH07CkdpPWZ1bmN0aW9uKG4pe2lmKCFuLk4pe2cuUkIobi5pbmZvLlBKLmluZm8pfHxuLmluZm8uUEouaW5mby5xSCgpO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXZhciBXPWcucWsoZy5XUihuKSk7ZWxzZXtXPW5ldyB0WShnLldSKG4pKTtsZXQgYj1XLnBvcztXLnBvcz0wO2xldCB2PW51bGwsaz1udWxsO2lmKCR4KFcsWzQwODEyNTU0MywzMDc1NDQ5MzVdKSl7bGV0IGg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxoOyl7aWYoTmsoVywhMSkhPT0yOTU1NSl7SlkoVyk7Y29udGludWV9bGV0IHg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczx4Oyl7aWYoTmsoVywhMSkhPT0yNjU2OCl7SlkoVyk7Y29udGludWV9bGV0IEw9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxMOyl7dmFyIEQ9TmsoVywhMSk7aWYoRD09PTE3NTQzKXtpZihEPW10KFcpLEQ9UUwoRCkpaWYoaylmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoRCkpa1tlXT1EW2VdO2Vsc2Ugaz1EfWVsc2UgRD09PTE3ODI3PyhEPQptdChXKSx2fHwodj1EKSk6SlkoVyl9fX19Vy5wb3M9YjtXPWs/bmV3IFg1KGssdik6bnVsbH1uLk49V319Owp0TT1mdW5jdGlvbihuLFcpe3JldHVybiBXKzE8bi5jb3VudHx8bi5XP24ub2Zmc2V0c1tXKzFdLW4ub2Zmc2V0c1tXXTotMX07CiRYPWZ1bmN0aW9uKG4pe24ub2Zmc2V0cy5sZW5ndGg8bi5jb3VudCsxJiZuLnJlc2l6ZShuLm9mZnNldHMubGVuZ3RoKjIpfTsKcnk9ZnVuY3Rpb24obixXLEQpe24uY291bnQrKzskWChuKTtuLm9mZnNldHNbbi5jb3VudF09bi5vZmZzZXRzW24uY291bnQtMV0rVztuLnN0YXJ0VGlja3Nbbi5jb3VudF09bi5zdGFydFRpY2tzW24uY291bnQtMV0rRH07CnNOPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgaz1XO2s8PW4uaW5kZXgueCQoKTtrKyspe2xldCBoPVdfKG4uaW5kZXguTihrKSx0TShuLmluZGV4LGspKSx4PW4uaW5kZXguZ2V0U3RhcnRUaW1lKGspLEw9bi5pbmRleC5nZXREdXJhdGlvbihrKSxlPU1hdGgubWF4KDAsRC1oLnN0YXJ0KSxHPU1hdGgubWluKGguZW5kKzEsRCtiKS0oaC5zdGFydCtlKTt2LnB1c2gobmV3IHFJKDMsbixoLCJnZXRSZXF1ZXN0SW5mb0ZvclJhbmdlIixrLHgsTCxlLEcpKTtpZihoLnN0YXJ0K2UrRz49RCtiKWJyZWFrfXYubGVuZ3RofHwobj1uZXcgZy5ReCgiYjE4OTYxOTU5MyIsYCR7V31gLGAke0R9YCxgJHtifWApLGcuWGoobikpO3JldHVybiBuZXcgd2sodil9OwpOJD1mdW5jdGlvbihuKXtpZihuPW4uY29sb3JJbmZvKWlmKG49bi50cmFuc2ZlckNoYXJhY3RlcmlzdGljcylyZXR1cm4gYnFVW25dO3JldHVybiBudWxsfTsKWVg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1heChuLFcpO249TWF0aC5taW4obixXKTtXPXBNWzBdO2ZvcihsZXQgYj0wO2I8cE0ubGVuZ3RoO2IrKyl7bGV0IHY9cE1bYl0saz1OR1t2XTtpZihEPj1NYXRoLmZsb29yKGsqMTYvOSkqMS4zfHxuPj1rKjEuMylyZXR1cm4gVztXPXZ9cmV0dXJuInRpbnkifTsKZk09ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBIUihuWzFdLG5bMl0sblszXSxuWzRdLG5bNV0sbls2XSxuWzddLG5bOF0sbls5XSxuWzEwXSl9OwpKTT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCIvbXA0Iik+PTA/MTpuLmluZGV4T2YoIi93ZWJtIik+PTA/MjpuLmluZGV4T2YoIi94LWZsdiIpPj0wPzM6bi5pbmRleE9mKCIvdnR0Iik+PTA/NDowfTsKSWQ9ZnVuY3Rpb24obil7cmV0dXJuLyhvcHVzfG1wNGF8ZHRzZXxhYy0zfGVjLTN8aWFtZikvLnRlc3Qobil9OwpTRz1mdW5jdGlvbihuKXtyZXR1cm4vKHZwOXx2cDA5fHZwOHxhdmMxfGF2MDF8YXYwMikvLnRlc3Qobil9OwpRUD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1uZXcgQU07VyBpbiBOR3x8KFc9InNtYWxsIik7Vz09PSJsaWdodCImJihXPSJ0aW55Iik7YiYmdj8odj1OdW1iZXIodiksYj1OdW1iZXIoYikpOih2PU5HW1ddLGI9TWF0aC5yb3VuZCh2KjE2LzkpKTtrPW5ldyBIUihiLHYsMCxudWxsLHZvaWQgMCxXLGssaCk7bj11bmVzY2FwZShuLnJlcGxhY2UoLyZxdW90Oy9nLCciJykpO3JldHVybiBuZXcgbXUoRCxuLHthdWRpbzp4LHZpZGVvOmt9KX07Ck9OPWZ1bmN0aW9uKG4pe3ZhciBXPW5bN10sRD1uWzExXSxiPW5bOV0sdj1uWzhdO3JldHVybiBuZXcgbXUoblsxXSxuWzJdLHtYbjpuWzNdLE5zOm5bNF0sbGFzdE1vZGlmaWVkOm5bNV0sY29udGVudExlbmd0aDpuWzZdLGF1ZGlvOlc/bmV3IEFNKFdbMV0sV1syXSxXWzNdLFdbNF0sV1s1XSxXWzZdLFdbN10sV1s4XSk6dm9pZCAwLHZpZGVvOnY/Zk0odik6dm9pZCAwLGtaOmI/TUcoYik6dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOm5bMTBdLGNhcHRpb25UcmFjazpEP25ldyBLTShEWzFdLERbMl0sRFszXSxEWzRdLERbNV0sRFs2XSk6dm9pZCAwLHN0cmVhbVR5cGU6blsxMl0sQWE6blsxM10sYXBwcm94RHVyYXRpb25NczpuWzE0XX0pfTsKbUY9ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iTUFDMyJ8fG4uSUI9PT0iTUVBQzMifHxuLklCPT09Ik0ifHxuLklCPT09IkkifTsKS2c9ZnVuY3Rpb24obil7cmV0dXJuISFuLmNvbnRlbnRQcm90ZWN0aW9uJiYhIW4uY29udGVudFByb3RlY3Rpb24uZmFpcnBsYXkmJihuLklCPT09IigifHxuLklCPT09IihoInx8bi5JQj09PSJBInx8bi5JQj09PSJNRUFDMyIpfHxQUiYmISFuLmNvbnRlbnRQcm90ZWN0aW9uJiZuLklCPT09IjFlIn07CmcuUkI9ZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbmVyVHlwZT09PTF9OwpNMz1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlLEcscil7dmFyIE49V15uO3ZhciBIOyhuJjc2KT09biYmKEg9YihoLHgsTCxlLEcscikpOyhuPj4xJjE1KT09MSYmKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dLGJbSVszXV0oRCwxKSk7bis5Pj4zPT0zJiYoSD1kZWNvZGVVUklDb21wb25lbnQoRCkpO24tOTwyMyYmKG4+PjEmMTUpPj0xMyYmKERbTl41MjY0XTwoTl41MzQzKSYmKERbTl41MjcwXTw9LTEmJigoKDAsRFtOXjUzMjhdKShEW25ldyBEYXRlKElbTl41MzQ2XSkvKE5eNTk1MSldLERbTl41MjY4XSksRFtOXjUzNDVdKShEW05eNTM2MV0sRFtOXjUyNjhdKSwxKXx8KDAsRFtOXjUzNTFdKSgoMCxEW05eNTM0NF0pKERbTl41MzY2XSxEW05eNTMxOV0pLERbMV0sRFtOXjUzMjBdLERbTl41MzQ4XSkpLERbTl41MjY4XT49LTImJigoMCxEW05eNTM1MV0pKCgwLERbM10pKERbTl41MzcyXSwoMCxEW25ldyBEYXRlKElbNF0pLyhOXjU5NTEpXSkoKSxEW05eNTMxNV0pLApEW05eNTM1Nl0sRFtOXjUyNzFdLERbTl41MzY1XSksRFtOXjUzMjZdKShEW05eNTMyMV0sRFtOXjUzNTZdKSxEWzVdPD0tMiYmKERbTl41Mjc2XTwoTl41MzQxKXx8KCgoKDAsRFtOXjUzMjZdKShEW05eNTMxOV0sRFtOXjUzNzNdKSxEW05eNTI2OV0pKCgwLERbTl41MjY4XSkoRFtOXjUzNTNdLERbTl41MzQ3XSksRFtOXjUzMzZdLCgwLERbNF0pKCgwLERbTl41MzYyXSkoRFtOXjUzNDldLCgwLERbTl41Mjc2XSkoKSxEW05eNTM3NV0pLERbTl41MjY2XSxEW05eNTM1NV0sRFtOXjUzMjhdKSxEW05eNTM2MV0sRFswXSksRFtOXjUzMThdKShEW05eNTM3M10sRFtOXjUzNDBdKSxJW05eNTMxNF0pKSYmKCgwLERbTl41MzI2XSkoKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbbmV3IERhdGUoSVtOXjUzNTNdKS8oTl41OTUxKV0pKCksRFtOXjUzNzBdKSxEW05eNTMyN10pKERbTl41MzQyXSksRFtOXjUzMTNdLCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzI4XSkoKSwKRFtOXjUyNzBdKSxEW05eNTI3NF0sRFtOXjUzNDJdKSxEW05eNTMzNl0pKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzYyXSkoKSxEW05eNTM0OF0pLERbTl41MzI1XSxEW05eNTI2Nl0sRFtOXjUzNTldKSxIPVtdKTtyZXR1cm4gSH07CmcuVmY9ZnVuY3Rpb24obixXKXtyZXR1cm57aXRhZzorbi5pdGFnLGxtdDpXPzA6bi5sYXN0TW9kaWZpZWQseHRhZ3M6bi5KfHwiIn19OwpaTz1mdW5jdGlvbihuKXtyZXR1cm4gbi5JQj09PSI5aCJ8fG4uSUI9PT0iKGgifTsKVU49ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iKCJ8fG4uSUI9PT0iKGgifHxuLklCPT09IkgifHxQUiYmbi5JQj09PSIxZSJ9Owp2R1U9ZnVuY3Rpb24obixXPTEpe3ZhciBEPXt9O24udmlkZW8mJihuLnZpZGVvLndpZHRoJiYoRFtBVC5XSURUSC5uYW1lXT1uLnZpZGVvLndpZHRoKSxuLnZpZGVvLmhlaWdodCYmKERbQVQuSEVJR0hULm5hbWVdPW4udmlkZW8uaGVpZ2h0KSxuLnZpZGVvLmZwcyYmKERbQVQuRlJBTUVSQVRFLm5hbWVdPW4udmlkZW8uZnBzKlcpLG4udmlkZW8uTiYmKERbQVQuRU9URi5uYW1lXT1uLnZpZGVvLk4pLG4uTnMmJihEW0FULkJJVFJBVEUubmFtZV09bi5Ocyo4KlcpLG4uSUI9PT0iKCImJihEW0FULkNSWVBUT0JMT0NLRk9STUFULm5hbWVdPSJzdWJzYW1wbGUiKSxuLnZpZGVvLnByb2plY3Rpb25UeXBlPT09IkVRVUlSRUNUQU5HVUxBUiJ8fG4udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSX1RIUkVFRF9UT1BfQk9UVE9NInx8bi52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIikmJihEW0FULkRFQ09ERVRPVEVYVFVSRS5uYW1lXT0idHJ1ZSIpO24uYXVkaW8/Lm51bUNoYW5uZWxzJiYKbi5JQiE9PSJpIiYmbi5JQiE9PSJJIiYmKERbQVQuQ0hBTk5FTFMubmFtZV09bi5hdWRpby5udW1DaGFubmVscyk7cmV0dXJuIER9Owp5VD1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIEVycm9yP24ubWVzc2FnZTpTdHJpbmcobik7dmFyIEQ9IiI7dHJ5e0Q9SlNPTi5zdHJpbmdpZnkoVyl9Y2F0Y2goYil7RD0iZmFpbGVkIHRvIHN0cmluZ2lmeSBjb25maWcifWcuY18oImRhc2giLDUxOTE5NjY0OSxuLEQpfTsKazNyPWZ1bmN0aW9uKG4pe3ZhciBXPW5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcztpZighVz8uZGVjb2RpbmdJbmZvfHxuLklCPT09ImYiKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgRD17dHlwZTpuLmF1ZGlvJiZuLnZpZGVvPyJmaWxlIjoibWVkaWEtc291cmNlIn07bi52aWRlbyYmKEQudmlkZW89e2NvbnRlbnRUeXBlOm4ubWltZVR5cGUsd2lkdGg6bi52aWRlby53aWR0aHx8NjQwLGhlaWdodDpuLnZpZGVvLmhlaWdodHx8MzYwLGJpdHJhdGU6bi5Ocyo4fHwxRTYsZnJhbWVyYXRlOm4udmlkZW8uZnBzfHwzMH0pO24uYXVkaW8mJihELmF1ZGlvPXtjb250ZW50VHlwZTpuLm1pbWVUeXBlLGNoYW5uZWxzOmAke24uYXVkaW8ubnVtQ2hhbm5lbHN8fDJ9YCxiaXRyYXRlOm4uTnMqOHx8MTI4RTMsc2FtcGxlcmF0ZTpuLmF1ZGlvLnNhbXBsZVJhdGV8fDQ0MTAwfSk7aWYoRU4pdHJ5e3JldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pLmNhdGNoKGI9Pgp7eVQoYixEKX0pfWNhdGNoKGIpe3JldHVybiB5VChiLEQpLFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pfTsKaTg9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dC5wbGF5ZXIudXRpbHMudmlkZW9FbGVtZW50XyIpO258fChuPWcuekYoIlZJREVPIiksZy5HYigieXQucGxheWVyLnV0aWxzLnZpZGVvRWxlbWVudF8iLG4pKTtyZXR1cm4gbn07CnU4PWZ1bmN0aW9uKG4pe3ZhciBXPWk4KCk7cmV0dXJuISEoVyYmVy5jYW5QbGF5VHlwZSYmVy5jYW5QbGF5VHlwZShuKSl9OwpkeT1mdW5jdGlvbihuKXtpZigvb3B1cy8udGVzdChuKSYmZy5vZCYmIUNfKCIzOCIpJiYhZy5kOCgpKXJldHVybiExO2lmKHNlbGYuTWVkaWFTb3VyY2UmJnNlbGYuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZChuKTtpZihzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZSYmc2VsZi5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobik7aWYoL3dlYm0vLnRlc3QobikmJiFUUSgpKXJldHVybiExO249PT0nYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInJiYobj0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNGQ0MDFmIicpO3JldHVybiEhdTgobil9OwpoZ1M9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWR5KCd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MjAwMUUiJyl8fGR5KCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInKTtyZXR1cm4oZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fGR5KCdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJykpJiYoV3x8IW4pfHx1OCgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFLCBtcDRhLjQwLjIiJyk/bnVsbDoiZm10Lm5vbmVhdmFpbGFibGUifWNhdGNoe3JldHVybiJodG1sNS5taXNzaW5nYXBpIn19Owp6aT1mdW5jdGlvbigpe3ZhciBuPWk4KCk7cmV0dXJuISghbi53ZWJraXRTdXBwb3J0c1ByZXNlbnRhdGlvbk1vZGV8fHR5cGVvZiBuLndlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUhPT0iZnVuY3Rpb24iKX07Cmw4PWZ1bmN0aW9uKCl7dmFyIG49aTgoKTt0cnl7bGV0IFc9bi5tdXRlZDtuLm11dGVkPSFXO3JldHVybiBuLm11dGVkIT09V31jYXRjaHt9cmV0dXJuITF9OwpUaT1mdW5jdGlvbihuLFcpe3JldHVybntzdGFydChEKXtyZXR1cm4gbltEXX0sZW5kKEQpe3JldHVybiBXW0RdfSxsZW5ndGg6bi5sZW5ndGh9fTsKakc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdLHY9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspYi5wdXNoKG4uc3RhcnQoaykpLHYucHVzaChuLmVuZChrKSk7Yi5wdXNoKFcpO3YucHVzaChEKTtiLnNvcnQoKGssaCk9PmstaCk7CnYuc29ydCgoayxoKT0+ay1oKTsKcmV0dXJuIFRpKGIsdil9Owpyaz1mdW5jdGlvbihuLFc9IiwiLEQ9bj9uLmxlbmd0aDowKXt2YXIgYj1bXTtpZihuKWZvcihEPU1hdGgubWF4KG4ubGVuZ3RoLUQsMCk7RDxuLmxlbmd0aDtEKyspYi5wdXNoKGAke24uc3RhcnQoRCkudG9GaXhlZCgzKX0tJHtuLmVuZChEKS50b0ZpeGVkKDMpfWApO3JldHVybiBiLmpvaW4oVyl9OwpDTT1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybi0xO3RyeXtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylpZihuLnN0YXJ0KEQpPD1XJiZuLmVuZChEKT49VylyZXR1cm4gRH1jYXRjaChEKXt9cmV0dXJuLTF9OwpCUj1mdW5jdGlvbihuLFcpe3JldHVybiBDTShuLFcpPj0wfTsKeDhqPWZ1bmN0aW9uKG4sVyl7aWYoIW4pcmV0dXJuIE5hTjtXPUNNKG4sVyk7cmV0dXJuIFc+PTA/bi5zdGFydChXKTpOYU59OwpGWj1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBOYU47Vz1DTShuLFcpO3JldHVybiBXPj0wP24uZW5kKFcpOk5hTn07Cmcud3k9ZnVuY3Rpb24obil7cmV0dXJuIG4mJm4ubGVuZ3RoP24uZW5kKG4ubGVuZ3RoLTEpOk5hTn07Ck0kPWZ1bmN0aW9uKG4pe3JldHVybiBnLnd5KG4pPjB9OwpSZD1mdW5jdGlvbihuLFcpe249RloobixXKTtyZXR1cm4gbj49MD9uLVc6MH07ClFUPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVtdO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKW4uZW5kKGspPFd8fG4uc3RhcnQoayk+RHx8KGIucHVzaChNYXRoLm1heChXLG4uc3RhcnQoaykpLVcpLHYucHVzaChNYXRoLm1pbihELG4uZW5kKGspKS1XKSk7cmV0dXJuIFRpKGIsdil9OwpWVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuU291cmNlQnVmZmVyPyEhU291cmNlQnVmZmVyLnByb3RvdHlwZS5jaGFuZ2VUeXBlOiExfTsKY1I9ZnVuY3Rpb24oKXtyZXR1cm4hISh3aW5kb3cuTWVkaWFTb3VyY2V8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V8fHdpbmRvdy5XZWJLaXRNZWRpYVNvdXJjZXx8d2luZG93LkhUTUxNZWRpYUVsZW1lbnQmJkhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLndlYmtpdFNvdXJjZUFkZElkKX07CmFkPWZ1bmN0aW9uKCl7cmV0dXJuISghd2luZG93Lk1lZGlhU291cmNlfHwhd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCl8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V9OwpuNj1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uVygpPT09Im9wZW4ifWNhdGNoKFcpe3JldHVybiExfX07CldGPWZ1bmN0aW9uKG4sVyl7bjYobik/Zy5tSygoKT0+e1cobil9KTpuLmNhbGxiYWNrPVd9Owp2Rj1mdW5jdGlvbihuLFcsRCl7REgmJihiQShuLm1lZGlhRWxlbWVudCx7bDoibXN3c3NiIixzcjpuLm1lZGlhRWxlbWVudC5ZYT8ucGcoKX0sITEpLFcuaCQobi5MTCxuKSxELmgkKG4uTEwsbikpO24uTj1XO24uSj1EO2cudShuLFcpO2cudShuLEQpfTsKTEtVPWZ1bmN0aW9uKG4sVyxELGI9IiIpe2I9Vy5taW1lVHlwZStiO3ZhciB2PUQubWltZVR5cGU7Vz1XLklCO0Q9RC5JQjtuLlZRPW4ubWVkaWFTb3VyY2U/LmFkZFNvdXJjZUJ1ZmZlcih2KTtuLmUkPWIuc3BsaXQoIjsiKVswXT09PSJmYWtlc2IiP3ZvaWQgMDpuLm1lZGlhU291cmNlPy5hZGRTb3VyY2VCdWZmZXIoYik7bi5FViYmKG4uRVYud2Via2l0U291cmNlQWRkSWQoIjAiLHYpLG4uRVYud2Via2l0U291cmNlQWRkSWQoIjEiLGIpKTtEPW5ldyBrZyhuLlZRLG4uRVYsIjAiLEpNKHYpLEQsITEpO2I9bmV3IGtnKG4uZSQsbi5FViwiMSIsSk0oYiksVywhMCk7dkYobixELGIpfTsKTDY9ZnVuY3Rpb24obixXLEQsYil7aWYoIW4uTnx8IW4uSilyZXR1cm4gbnVsbDt2YXIgdj1uLk4uaXNWaWV3KCk/bi5OLmskOm4uTixrPW4uSi5pc1ZpZXcoKT9uLkouayQ6bi5KLGg9bmV3IGhaKG4ubWVkaWFFbGVtZW50LG4ubWVkaWFTb3VyY2UsITApO2guaj1uLmo7dkYoaCxuZXcgeGcodixXLEQsYiksbmV3IHhnKGssVyxELGIpKTtuNihuKXx8bi5OLnlPKG4uTi5TVygpKTtyZXR1cm4gaH07CmVnMT1mdW5jdGlvbihuKXtyZXR1cm4gZTQoKFcsRCk9Pmcuc3ooVyxELDQsMUUzKSxuLHtmb3JtYXQ6IlJBVyIsCm1ldGhvZDoiR0VUIix3aXRoQ3JlZGVudGlhbHM6ITB9KX07CmcuZ3Q9ZnVuY3Rpb24obil7dmFyIFc7bi5yZXNwb25zZVR5cGUmJm4ucmVzcG9uc2VUeXBlIT09InRleHQiP24ucmVzcG9uc2VUeXBlPT09ImFycmF5YnVmZmVyIiYmKFc9cFIobmV3IFVpbnQ4QXJyYXkobi5yZXNwb25zZSkpKTpXPW4ucmVzcG9uc2VUZXh0O3JldHVybiFXfHxXLmxlbmd0aD4yMDQ4PyIiOlcuaW5kZXhPZigiaHR0cHM6Ly8iKT09PTA/VzoiIn07CmU0PWZ1bmN0aW9uKG4sVyxEKXtXLm1hdGNoKGdHcik7cmV0dXJuIG4oVyxEKS50aGVuKGI9Pnt2YXIgdj1nLmd0KGIueGhyKTtyZXR1cm4gdj9lNChuLHYsRCk6Yi54aHJ9KX07ClhKaT1mdW5jdGlvbihuLFcsRCl7aWYoIW4/LldjKCkpcmV0dXJuITE7dmFyIGI9Vy5zb21lKGg9PmgucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSInx8aC5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iKSx2PVcuc29tZShoPT5oLnByb2plY3Rpb25UeXBlPT09Ik1FU0giKSxrPVcuc29tZShoPT5oLnN0ZXJlb0xheW91dD09PTEpOwpXPVcuc29tZShoPT5oLmlzSGRyKCkpOwpuPSFEJiYhVyYmbi5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBifHx2fHxrfHxufTsKcXo9ZnVuY3Rpb24obixXLEQsYil7aWYoWEppKG4sVyxEKSlyZXR1cm4hMDtpZighbj8udE0oKXx8IVh2KG4sYikpcmV0dXJuITE7bj1XLnNvbWUodj0+di5pc0hkcigpKTsKcmV0dXJuIER8fG4/ITE6ITB9OwpxdWo9ZnVuY3Rpb24obil7cmV0dXJuIGcub00obixXPT4iRk9STUFUX1NUUkVBTV9UWVBFX09URiI9PT1XLnR5cGUpPyJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIjoiRk9STUFUX1NUUkVBTV9UWVBFX1VOS05PV04ifTsKRzNDPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uZXcgZy5HeCgiIixiLmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4pe249dFooaCxXLGsuZHVyYXRpb24sYix2KTtsZXQge0VsOngsczpMLHk3OmV9PVAwKDE1LDcwMCxoKTsoRD1SeCh4fHxoLnVybHx8IiIsZSxMKSkmJihuLnN0cmVhbVR5cGU9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/JGcoayxuZXcgcnQoRCxuKSk6JGcoayxuZXcgc2soRCxuLERKKGguaW5pdFJhbmdlKSxESihoLmluZGV4UmFuZ2UpKSkpfWsuaXNPdGY9ITA7cmV0dXJuIGt9Owp0T1o9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGIuZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj10WihoLFcsay5kdXJhdGlvbixiLHYpO0Q9REooaC5pbml0UmFuZ2UpO2xldCB4PURKKGguaW5kZXhSYW5nZSkse0VsOkwsczplLHk3Okd9PVAwKDEzLDcwMixoKSxyPVJ4KEx8fGgudXJsfHwiIixHLGUpO3ImJiRnKGssbmV3IHNrKHIsbixELHgpKX1yZXR1cm4ga307CnRaPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uLm1pbWVUeXBlfHwiIixoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO2g9aD9oLnRvU3RyaW5nKCk6IiI7eCYmKGgrPWA7JHt4fWApO3g9aDtpZihTRyhrKSl7dmFyIEw9bi53aWR0aHx8NjQwO2g9bi5oZWlnaHR8fDM2MDtsZXQgeT1uLmZwcyxUPW4ucXVhbGl0eUxhYmVsLHo9bi5xdWFsaXR5T3JkaW5hbCxDPW4uY29sb3JJbmZvLFE9bi5wcm9qZWN0aW9uVHlwZTt2YXIgZTtuLnN0ZXJlb0xheW91dCYmKGU9JDh4W24uc3RlcmVvTGF5b3V0XSk7bGV0IFY9TiQobil8fHZvaWQgMDt2YXIgRztDPy5wcmltYXJpZXMmJihHPXIkeFtDLnByaW1hcmllc118fHZvaWQgMCk7TD1uZXcgSFIoTCxoLHksUSxlLHZvaWQgMCxULHomJk56W3pdLFYsRywobi52aWRlb1RyYWNrPy5hc3NvY2lhdGVkQXVkaW9UcmFja0lkPy5sZW5ndGg/PzApPT09MCk7az1wNihrLEwsWWdbbi5pdGFnfHwiIl0pO0hGJiYoays9IjsgZW5hYmxlZmx1c2hkdXJpbmdzZWVrPXRydWUiKTsKZjYmJihrKz0iOyBlbmFibGVyZXNldGF1ZGlvZGVjb2Rlcj10cnVlIik7cXooYixbTF0sVyx2KSYmKGsrPSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUiKX12YXIgcjtpZihJZChrKSl7dmFyIE49bi5hdWRpb1NhbXBsZVJhdGU7Yj1uLmF1ZGlvVHJhY2s7Tj1uZXcgQU0oTj8rTjp2b2lkIDAsbi5hdWRpb0NoYW5uZWxzLG4uc3BhdGlhbEF1ZGlvVHlwZSxuLmlzRHJjLG4ubG91ZG5lc3NEYixuLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMsbi5hdWRpb1F1YWxpdHl8fCJBVURJT19RVUFMSVRZX1VOS05PV04iLG4uaXNWYik7YiYmKHY9Yi5kaXNwbGF5TmFtZSxlPWIuaWQsRz1iLmF1ZGlvSXNEZWZhdWx0LGI9Yi5pc0F1dG9EdWJiZWQsdiYmKHI9bmV3IHdQKHYsZXx8IiIsISFHLCEhYikpKX12YXIgSDtuLmNhcHRpb25UcmFjayYmKGI9bi5jYXB0aW9uVHJhY2suZGlzcGxheU5hbWUsdj1uLmNhcHRpb25UcmFjay52c3NJZCxlPW4uY2FwdGlvblRyYWNrLmxhbmd1YWdlQ29kZSxHPW4uY2FwdGlvblRyYWNrLmtpbmQsCmg9bi5jYXB0aW9uVHJhY2suaWQsYiYmdiYmZSYmKEg9bmV3IEtNKGIsdixlLEcsbi54dGFncyxoKSkpO2I9TnVtYmVyKG4uYml0cmF0ZSkvODt2PU51bWJlcihuLmNvbnRlbnRMZW5ndGgpO2U9TnVtYmVyKG4ubGFzdE1vZGlmaWVkKTtoPW4uZHJtRmFtaWxpZXM7Rz1uLnR5cGU7bj1OdW1iZXIobi5hcHByb3hEdXJhdGlvbk1zKTtpZihXJiZoKXt2YXIgQT17fTtmb3IobGV0IHkgb2YgaCkoaD1KWlt5XSkmJihBW2hdPVdbaF0pfXJldHVybiBuZXcgbXUoeCxrLHthdWRpbzpOLHZpZGVvOkwsa1o6cixjb250ZW50UHJvdGVjdGlvbjpBLE5zOmIsWG46RCYmdj92L0Q6MCxjb250ZW50TGVuZ3RoOnYsbGFzdE1vZGlmaWVkOmUsY2FwdGlvblRyYWNrOkgsc3RyZWFtVHlwZTpHLGFwcHJveER1cmF0aW9uTXM6bn0pfTsKczVVPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4sVz0+IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiPT09Vy5zdHJlYW1fdHlwZSk/IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiOiJGT1JNQVRfU1RSRUFNX1RZUEVfVU5LTk9XTiJ9OwpOcGo9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGI/LmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4paWYobj1JbyhoLFcsay5kdXJhdGlvbixiLHYpLEQ9UngoaC51cmwsaC5zcCxoLnMpKWlmKG4uc3RyZWFtVHlwZT09PSJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIikkZyhrLG5ldyBydChELG4pKTtlbHNle2xldCB4PW56KGguaW5pdCksTD1ueihoLmluZGV4KTskZyhrLG5ldyBzayhELG4seCxMKSl9ay5pc090Zj0hMDtyZXR1cm4ga307CnBKYj1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bmV3IGcuR3goIiIsYj8uZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj1JbyhoLFcsay5kdXJhdGlvbixiLHYpO0Q9bnooaC5pbml0KTtsZXQgeD1ueihoLmluZGV4KSxMPVJ4KGgudXJsLGguc3AsaC5zKTtMJiYkZyhrLG5ldyBzayhMLG4sRCx4KSl9cmV0dXJuIGt9OwpJbz1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bi50eXBlO3ZhciBoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO3gmJihoPW4uaXRhZysiOyIreCk7aWYoU0coaykpe3ZhciBMPShuLnNpemV8fCI2NDB4MzYwIikuc3BsaXQoIngiKTtMPW5ldyBIUigrTFswXSwrTFsxXSwrbi5mcHMsbi5wcm9qZWN0aW9uX3R5cGUsK24uc3RlcmVvX2xheW91dCx2b2lkIDAsbi5xdWFsaXR5X2xhYmVsLCtuLnF1YWxpdHlfb3JkaW5hbCxuLmVvdGYsbi5wcmltYXJpZXMsIW4udmlkZW9fdHJhY2tfYXNzb2NpYXRlZF9hdWRpb190cmFja19pZCk7az1wNihrLEwsWWdbbi5pdGFnXSk7SEYmJihrKz0iOyBlbmFibGVmbHVzaGR1cmluZ3NlZWs9dHJ1ZSIpO2Y2JiYoays9IjsgZW5hYmxlcmVzZXRhdWRpb2RlY29kZXI9dHJ1ZSIpO3F6KGIsW0xdLFcsdikmJihrKz0iOyBkZWNvZGUtdG8tdGV4dHVyZT10cnVlIil9dmFyIGU7aWYoSWQoaykpe3ZhciBHPW5ldyBBTSgrbi5hdWRpb19zYW1wbGVfcmF0ZXx8dm9pZCAwLAorbi5hdWRpb19jaGFubmVsc3x8MCxuLnNwYXRpYWxfYXVkaW9fdHlwZSwhIW4uZHJjKTtuLm5hbWUmJihlPW5ldyB3UChuLm5hbWUsbi5hdWRpb190cmFja19pZCxuLmlzRGVmYXVsdD09PSIxIixuLmlzQXV0b0R1YmJlZD09PSIxIikpfXZhciByO24uY2FwdGlvbl9kaXNwbGF5X25hbWUmJm4uY2FwdGlvbl92c3NfaWQmJm4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlJiYocj1uZXcgS00obi5jYXB0aW9uX2Rpc3BsYXlfbmFtZSxuLmNhcHRpb25fdnNzX2lkLG4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlLG4uY2FwdGlvbl9raW5kLG4ueHRhZ3Msbi5jYXB0aW9uX2lkKSk7Yj1OdW1iZXIobi5iaXRyYXRlKS84O3Y9TnVtYmVyKG4uY2xlbik7eD1OdW1iZXIobi5sbXQpO0Q9RCYmdj92L0Q6MDtpZihXJiZuLmRybV9mYW1pbGllcyl7dmFyIE49e307Zm9yKGxldCBIIG9mIG4uZHJtX2ZhbWlsaWVzLnNwbGl0KCIsIikpTltIXT1XW0hdfXJldHVybiBuZXcgbXUoaCxrLHthdWRpbzpHLHZpZGVvOkwsCmtaOmUsY29udGVudFByb3RlY3Rpb246TixOczpiLFhuOkQsY29udGVudExlbmd0aDp2LGxhc3RNb2RpZmllZDp4LGNhcHRpb25UcmFjazpyLHN0cmVhbVR5cGU6bi5zdHJlYW1fdHlwZSxhcHByb3hEdXJhdGlvbk1zOk51bWJlcihuLmFwcHJveF9kdXJhdGlvbl9tcyl9KX07Cll1aD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAiZXF1aXJlY3Rhbmd1bGFyIjpyZXR1cm4iRVFVSVJFQ1RBTkdVTEFSIjtjYXNlICJlcXVpcmVjdGFuZ3VsYXJfdGhyZWVkX3RvcF9ib3R0b20iOnJldHVybiJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iO2Nhc2UgIm1lc2giOnJldHVybiJNRVNIIjtjYXNlICJyZWN0YW5ndWxhciI6cmV0dXJuIlJFQ1RBTkdVTEFSIjtkZWZhdWx0OnJldHVybiJVTktOT1dOIn19OwpIcWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9hbWJpc29uaWNzXzVfMSI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTXzVfMSI7Y2FzZSAic3BhdGlhbF9hdWRpb190eXBlX2FtYmlzb25pY3NfcXVhZCI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTX1FVQUQiO2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9mb2Ffd2l0aF9ub25fZGllZ2V0aWMiOnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfRk9BX1dJVEhfTk9OX0RJRUdFVElDIjtkZWZhdWx0OnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSJ9fTsKZnRaPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUzQobmV3IGcuR3gobixXLEQpLG4pfTsKR189ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PmdaKDI0LDExNjQsVy5YYi5OKSl9OwpmRHc9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PiEhVy5pbmZvLnZpZGVvJiZXLmluZm8udmlkZW8uaXNIZHIoKSl9OwokZz1mdW5jdGlvbihuLFcpe24uTltXLmluZm8uaWRdPVc7bi5KLnNldChjdyhXLG4uelcpLFcpfTsKUzQ9ZnVuY3Rpb24obixXPSIiKXtuLnN0YXRlPTE7bi5TJD0oMCxnLlIpKCk7cmV0dXJuIGVnMShXfHxuLnNvdXJjZVVybCkudGhlbihEPT57aWYoIW4ucU4oKSl7bi5sTj1ELnN0YXR1cztEPUQucmVzcG9uc2VUZXh0O2xldCB2PW5ldyBET01QYXJzZXI7RD1nLmdUKHYsZy5IVihEKSwidGV4dC94bWwiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiTVBEIilbMF07bi5jSj1qeChsVChELCJtaW5pbXVtVXBkYXRlUGVyaW9kIikpKjFFM3x8SW5maW5pdHk7Yjp7aWYoRC5hdHRyaWJ1dGVzKWZvcihiIG9mIEQuYXR0cmlidXRlcylpZihiLnZhbHVlPT09Imh0dHA6Ly95b3V0dWJlLmNvbS95dC8yMDEyLzEwLzEwIil7dmFyIGI9Yi5uYW1lLnNwbGl0KCI6IilbMV07YnJlYWsgYn1iPSIifW4uaj1iO24uaXNMaXZlPW4uY0o8SW5maW5pdHkmJm4uaXNMaXZlUGxheWJhY2s7bi5ISj1OdW1iZXIobFQoRCxuLmorIjplYXJsaWVzdE1lZGlhU2VxdWVuY2UiKSl8fDA7aWYoYj1EYXRlLnBhcnNlKEN6KGxUKEQsCm4uaisiOm1wZFJlc3BvbnNlVGltZSIpKSkpbi5lJD0oKDAsZy5SKSgpLWIpLzFFMztuLmlzTGl2ZSYmRC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikubGVuZ3RoPD0wfHxnLmR6KEQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlBlcmlvZCIpLG4ueUUsbik7bi5zdGF0ZT0yO24uV0ooImxvYWRlZCIpO0FaKG4pfXJldHVybiBufSkuc1AoRD0+e2lmKEQgaW5zdGFuY2VvZiBnLiRUKXt2YXIgYj1ELnhocjsKbi5sTj1iLnN0YXR1c31uLnN0YXRlPTM7bi5XSigibG9hZGVycm9yIik7cmV0dXJuIGcucnAoYil9KX07CmcubUg9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby5OKCkpfTsKSzY9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby52aWRlbz9XLmluZm8udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSIjohMSl9OwpPaz1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOiExKX07ClBGPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRsKG4uTixXPT5XLmluZm8udmlkZW8/Vy5pbmZvLnZpZGVvLnByb2plY3Rpb25UeXBlPT09Ik1FU0giOiExKX07CkokVT1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5zdGVyZW9MYXlvdXQ9PT0xOiExKX07Ckl0aT1mdW5jdGlvbihuKXtyZXR1cm4gZy5iayhuLk4sVz0+Vy5pbmZvLnZpZGVvP1cubnUoKTohMCl9OwpaSD1mdW5jdGlvbihuLFcsRCl7Vz1nLlZmKFcuaW5mbyxuLnpXKTtpZihEKXtsZXQgYj1Nayh7aXRhZzpXLml0YWcsbG10Om4uelc/MDpXLmxtdHx8MCx4dGFnczpXLnh0YWdzfSk7aWYobi52SltiXSlyZXR1cm47bi52SltiXT1EfW4uR0MucHVzaChXKX07CnlDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bFQoVywiaWQiKTtEPUQucmVwbGFjZSgiOiIsIjsiKTt2YXIgYj1sVChXLCJtaW1lVHlwZSIpLHY9bFQoVywiY29kZWNzIik7Yj12P2Ake2J9OyBjb2RlY3M9IiR7dn0iYDpiO3Y9TnVtYmVyKGxUKFcsImJhbmR3aWR0aCIpKS84O3ZhciBrPU51bWJlcihUUChXLCJCYXNlVVJMIikuZ2V0QXR0cmlidXRlKG4uaisiOmNvbnRlbnRMZW5ndGgiKSksaD1uLmR1cmF0aW9uJiZrP2svbi5kdXJhdGlvbjowO2lmKFNHKGIpKXt2YXIgeD1OdW1iZXIobFQoVywid2lkdGgiKSksTD1OdW1iZXIobFQoVywiaGVpZ2h0IikpLGU9TnVtYmVyKGxUKFcsImZyYW1lUmF0ZSIpKTtsZXQgQT1ZdWgobFQoVyxuLmorIjpwcm9qZWN0aW9uVHlwZSIpKTthOnN3aXRjaChsVChXLG4uaisiOnN0ZXJlb0xheW91dCIpKXtjYXNlICJsYXlvdXRfbGVmdF9yaWdodCI6dmFyIEc9MTticmVhayBhO2Nhc2UgImxheW91dF90b3BfYm90dG9tIjpHPTI7YnJlYWsgYTtkZWZhdWx0Okc9CjB9Rz1uZXcgSFIoeCxMLGUsQSxHKX1pZihJZChiKSl7dmFyIHI9TnVtYmVyKGxUKFcsImF1ZGlvU2FtcGxpbmdSYXRlIikpO3ZhciBOPU51bWJlcihsVChXLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJBdWRpb0NoYW5uZWxDb25maWd1cmF0aW9uIilbMF0sInZhbHVlIikpO3g9SHFoKGxUKFcsbi5qKyI6c3BhdGlhbEF1ZGlvVHlwZSIpKTtyPW5ldyBBTShyLE4seCk7YTp7TD1sVChXLCJsYW5nIil8fCJ1bmQiO2lmKE49VFAoVywiUm9sZSIpKWlmKGU9bFQoTiwidmFsdWUiKXx8IiIsZy5lcChVayxlKSl7Tj1gJHtMfS4ke1VrW2VdfWA7eD1lPT09Im1haW4iO249bFQoVyxuLmorIjpsYW5nTmFtZSIpfHxgJHtMfSAtICR7ZX1gO049bmV3IHdQKG4sTix4KTticmVhayBhfU49dm9pZCAwfX1pZihXPVRQKFcsIkNvbnRlbnRQcm90ZWN0aW9uIikpaWYoVy5nZXRBdHRyaWJ1dGUoInNjaGVtZUlkVXJpIik9PT0iaHR0cDovL3lvdXR1YmUuY29tL2RybS8yMDEyLzEwLzEwIil7dmFyIEg9e307Zm9yKFc9ClcuZmlyc3RDaGlsZDtXIT1udWxsO1c9Vy5uZXh0U2libGluZyl7aWYoIShXIGluc3RhbmNlb2YgRWxlbWVudCkpY29udGludWU7aWYoIS9TeXN0ZW1VUkwvLnRlc3QoVy5ub2RlTmFtZSkpY29udGludWU7bj1XLmdldEF0dHJpYnV0ZSgidHlwZSIpO3g9Vy50ZXh0Q29udGVudDtuJiZ4JiYoSFtuXT14LnRyaW0oKSl9fWVsc2UgSD12b2lkIDA7cmV0dXJuIG5ldyBtdShELGIse2F1ZGlvOnIsdmlkZW86RyxrWjpOLGNvbnRlbnRQcm90ZWN0aW9uOkgsTnM6dixYbjpoLGNvbnRlbnRMZW5ndGg6a30pfTsKQVo9ZnVuY3Rpb24obil7dmFyIFc9bi5jSjtpc0Zpbml0ZShXKSYmKEVrKG4pP24ucmVmcmVzaCgpOihXPU1hdGgubWF4KDAsbi5TJCtXLSgwLGcuUikoKSksbi5LfHwobi5LPW5ldyBnLmZfKG4ucmVmcmVzaCxXLG4pLGcudShuLG4uSykpLG4uSy5zdGFydChXKSkpfTsKdmFyIFN1eD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsNCwxNjk5LG4sVyxELGIsdixrLGgseCxMLGUpfTsKRWs9ZnVuY3Rpb24obil7cmV0dXJuIG4uaXNMaXZlJiYoMCxnLlIpKCktbi5TJD49bi5jSn07CkEkaT1mdW5jdGlvbihuKXtuPW4uTjtmb3IobGV0IFcgaW4gbil7bGV0IEQ9bltXXS5pbmRleDtpZihELmlzTG9hZGVkKCkpcmV0dXJuIEQueCQoKSsxfXJldHVybiAwfTsKaUE9ZnVuY3Rpb24obil7cmV0dXJuIG4ub1I/bi5vUi0obi5EfHxuLnRpbWVzdGFtcE9mZnNldCk6MH07CnVBPWZ1bmN0aW9uKG4pe3JldHVybiBuLkpVP24uSlUtKG4uRHx8bi50aW1lc3RhbXBPZmZzZXQpOjB9Owpvbz1mdW5jdGlvbihuKXtpZighaXNOYU4obi5UQykpcmV0dXJuIG4uVEM7dmFyIFc9bi5OO2Zvcih2YXIgRCBpbiBXKXt2YXIgYj1XW0RdLmluZGV4O2lmKGIuaXNMb2FkZWQoKSYmIVdbRF0uaW5mby5OKCkpe1c9MDtmb3IoRD1iLlpPKCk7RDw9Yi54JCgpO0QrKylXKz1iLmdldER1cmF0aW9uKEQpO1cvPWIuSDcoKTtXPU1hdGgucm91bmQoVy8uNSkqLjU7Yi5INygpPjEwJiYobi5UQz1XKTtyZXR1cm4gV31pZihuLmlzTGl2ZSYmKGI9V1tEXSxiLnJiKSlyZXR1cm4gYi5yYn1yZXR1cm4gTmFOfTsKbTh0PWZ1bmN0aW9uKG4sVyl7bj1xYyhuLk4sYj0+Yi5pbmRleC5pc0xvYWRlZCgpKTsKaWYoIW4pcmV0dXJuIE5hTjtuPW4uaW5kZXg7dmFyIEQ9bi5SMyhXKTtyZXR1cm4gbi5nZXRTdGFydFRpbWUoRCk9PT1XP1c6RDxuLngkKCk/bi5nZXRTdGFydFRpbWUoRCsxKTpOYU59Owp6eD1mdW5jdGlvbihuLFcpe2lmKCFuLk5bIjAiXSl7dmFyIEQ9bmV3IG11KCIwIiwiZmFrZXNiIix7dmlkZW86bmV3IEhSKDAsMCwwLHZvaWQgMCx2b2lkIDAsImF1dG8iKX0pO24uTlsiMCJdPVc/bmV3IGR0KG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELCJmYWtlIik6bmV3IHNrKG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELG5ldyBhQigwLDApLG5ldyBhQigwLDApKX19OwpnLmxBPWZ1bmN0aW9uKG4pe2lmKG4uaXNNYW5pZmVzdGxlc3MpZm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5kZXguc2VnbWVudHM9W119OwpUeD1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4uTil7bGV0IHY9bi5OW2JdLmluZm8uTigpfHxuLk5bYl0uaW5mby5mWSgpO0Q9PT12JiZuLk5bYl0uaW5kZXg/Lk8oVyl9fTsKajQ9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5mby5OKCl8fFBBKG4uTltXXS5pbmRleCxJbmZpbml0eSl9OwpDNj1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBoIGluIG4uTil7dmFyIGI9bi5OW2hdLmluZGV4LHY9VyxrPUQ7Yi5PVCYmKHYmJihiLnFxPU1hdGgubWF4KGIucXEsdikpLGsmJihiLkRuPU1hdGgubWF4KGIuRG58fDAsaykpKX1EJiYobi50dz1ELzFFMyl9OwpCRj1mdW5jdGlvbihuLFcsRCxiPSExKXtiJiZEPT09bi5QWHx8KG4uYmQucHVzaChXKSxuLlBYPUQsbi5XSigiY3VlcG9pbnRzYWRkZWQiLEQpKX07CktLdD1mdW5jdGlvbihuKXtuLkpVPTA7bi5vUj0wO24uSVQ9MH07CkZ2PWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRJiZuLmlzTWFuaWZlc3RsZXNzP24uaXNMaXZlSGVhZFBsYXlhYmxlOm4uaXNMaXZlfTsKcDY9ZnVuY3Rpb24obixXLEQpe3d0PT09bnVsbCYmKHd0PXdpbmRvdy5NZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMi41MS4xMC4wMS4wOS4xNi4wOS4wMCInKSYmIU1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAyLjUxLjEwLjAxLjA5Ljk5Ljk5LjAwIicpKTtpZihNeiYmd2luZG93Lk1lZGlhU291cmNlJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQhPT12b2lkIDApcmV0dXJuIHd0fHxEIT09IjkiJiZEIT09IigiP3d0fHxEIT09IjloIiYmRCE9PSIoaCJ8fChuPSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicpOm49J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicsbjtpZighd3QmJiFSb3x8biE9PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInJiZuIT09J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5LjIiJylyZXR1cm4gbjsKRD0iMDAiO3ZhciBiPSIwOCIsdj0iMDEiLGs9IjAxIixoPSIwMSI7bj09PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicmJihEPSIwMiIsYj0iMTAiLFcucHJpbWFyaWVzPT09ImJ0MjAyMCImJihoPXY9IjA5IiksVy5OPT09InNtcHRlMjA4NCImJihrPSIxNiIpLFcuTj09PSJhcmliLXN0ZC1iNjciJiYoaz0iMTgiKSk7cmV0dXJuYHZpZGVvL3dlYm07IGNvZGVjcz0iJHtbInZwMDkiLEQsIjUxIixiLCIwMSIsdixrLGgsIjAwIl0uam9pbigiLiIpfSJgfTsKVkM9ZnVuY3Rpb24obixXLEQpe249YCR7bn0ke1c+NDk/InA2MCI6Vz4zMj8icDQ4IjoiIn1gO1c9ZjcoKVtuXTtpZihXIT1udWxsJiZXPjApcmV0dXJuIFc7Vz1RQy5nZXQobik7aWYoVyE9bnVsbCYmVz4wKXJldHVybiBXO0Q9RD8uZ2V0KG4pO3JldHVybiBEIT1udWxsJiZEPjA/RDo4MTkyfTsKT3F4PWZ1bmN0aW9uKG4sVz0hMSl7UWh3KFcpO1ZwQyhXKTtpZihXKXtmb3IobGV0IEQgb2YgUUMua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxRQy5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIGNGLnZhbHVlcygpKUQuc3RhcnRzV2l0aCgiMSIpfHxjRi5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIG4ua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxuLmRlbGV0ZShEKX1lbHNlIFFDLmNsZWFyKCksY0YuY2xlYXIoKSxuLmNsZWFyKCl9OwpVOFo9ZnVuY3Rpb24obix7aXNPdGY6VyxtVjpELHlYOmIsSVI6dixPdzprLEhpOmgsbFU6eCxvTDpMLHhkOmUsZGlzYWJsZUF2MTpHLGRCOnJ9KXt2YXIgTj1uZXcgUGVNKG4pO2lmKG4uV1goKXx8bi5TKCJodG1sNV9sb2dnaW5nX2Zvcm1hdF9zZWxlY3Rpb24iKSlOLlc9ITA7Ti5HQz1rO04uSGk9aCYmbi5LO04ueGQ9ZTtnLnViKCJ3aW5kb3dzIG50IDUuMSIpJiYhZy5hbyYmKE4uYnY9ITApO2lmKGs9RClrPWcubk4obik/WnFTKG4pOiExO2smJihOLmNKPSEwKTt4JiYoTi5idj0hMCxOLk5kPSEwKTtXJiYhbi5TKCJodG1sNV9vdGZfcHJlZmVyX3ZwOSIpJiYoTi5idj0hMCk7bi5wbGF5ZXJTdHlsZT09PSJwaWNhc2F3ZWIiJiYoVyYmKE4uYnY9ITEpLE4udHc9ITEpO3YmJihOLmJ2PSEwKTtTSihuLlcsQVQuQ0hBTk5FTFMpJiYobi5TKCJodG1sNV9lbmFibGVfYWMzIikmJihOLmo9ITApLG4uUygiaHRtbDVfZW5hYmxlX2VhYzMiKSYmKE4uVj0hMCksbi5TKCJodG1sNV9lbmFibGVfYWMzX2dhcGxlc3MiKSYmCihOLkhKPSEwKSk7bi5TKCJodG1sNV9ibG9ja184a19oZnIiKSYmKE4uUFg9ITApO04uSz1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO04uWT1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO2cuV1gmJihOLndhPTQ4MCk7aWYoYnx8RClOLnR3PSExO04uQ3U9ITE7Ti5kaXNhYmxlQXYxPUc7Ti5KPW4uUygiaHRtbDVfbG9nX25vX2F2MV9yZWFzb24iKTtXPURLKG4sTi5OLHZvaWQgMCxOLmRpc2FibGVBdjEpO1c+MCYmVzwyMTYwJiYoVlQoKXx8bi5TKCJodG1sNV9mb3JtYXRfaHlicmlkaXphdGlvbiIpKSYmKE4uTi5zdXBwb3J0c0NoYW5nZVR5cGU9K1ZUKCksTi5uUz1XKTtXPj0yMTYwJiYoTi5lJD0hMCk7Ti5vTD1MO04uRkY9Zy5SZ3x8YzAoKSYmIUw/ITE6ITA7Ti5EPW4uUygiaHRtbDVfZm9ybWF0X2h5YnJpZGl6YXRpb24iKTtOLkJWPW4uUygiaHRtbDVfZGlzYWJsZV9lbmNyeXB0ZWRfdnA5X2xpdmVfbm9uXzJrXzRrIik7Ck4ualc9cjtyZXR1cm4gTn07CkRLPWZ1bmN0aW9uKG4sVz17fSxELGI9ITEpe2lmKGIpcmV0dXJuIFcuZGlzYWJsZWQ9MSwwO2lmKFNKKG4uVyxBVC5BVjFfQ09ERUNTKSYmU0oobi5XLEFULkhFSUdIVCkmJlNKKG4uVyxBVC5CSVRSQVRFKSlyZXR1cm4gVy5pc0NhcGFiaWxpdHlVc2FibGU9MSw4MTkyO2I9MTA4MDt2YXIgdj1uYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeTt2PD0yJiYoYj00ODApO1cuY29yZUNvdW50PXY7aWYodj1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZCIpKWI9V1siZGVmYXVsdCJdPXY7aWYodj1uLlcuY0opVy5tY2FwPXYsYj1NYXRoLm1heChiLHYpO2lmKEQpe2lmKHY9RC52aWRlb0luZm9zLmZpbmQoaD0+aC5NVygpKT8uaj8ucG93ZXJFZmZpY2llbnQpYj04MTkyLFcuaXNFZmZpY2llbnQ9MTsKRD1ELnZpZGVvSW5mb3NbMF0udmlkZW87bGV0IGs9TWF0aC5taW4oVkMoIjEiLEQuZnBzKSxWQygiMSIsMzApKTtXLnBlcmZDYXA9aztiPU1hdGgubWluKGIsayk7IUQuaXNIZHIoKXx8dnx8bi5adCgpLk4uUVEoeSRqKXx8KFcuaGRyPTEsYio9Ljc1KX1lbHNlIG49VkMoIjEiLDMwKSxXLnBlcmZDYXAzMD1uLGI9TWF0aC5taW4oYixuKSxuPVZDKCIxIiw2MCksVy5wZXJmQ2FwNjA9bixiPU1hdGgubWluKGIsbik7cmV0dXJuIFcuYXYxVGhyZXNob2xkPWJ9OwpySGk9ZnVuY3Rpb24obil7dmFyIFc9WyJvIiwiYSIsIkEiXTtpZihuLnhkPT09MSYmKG4uaiYmKFc9WyJtYWMzIiwiTUFDMyJdLmNvbmNhdChXKSksbi5WJiYoVz1bIm1lYWMzIiwiTUVBQzMiXS5jb25jYXQoVykpLG4uVlF8fG4uZkIpKXtsZXQgRD1bXTtuLlZRJiZELnB1c2goImkiKTtuLmZCJiZELnB1c2goIkkiKTtXPUQuY29uY2F0KFcpfW4uY0omJihXPVsic28iLCJzYSJdLmNvbmNhdChXKSk7IW4uTmR8fG4uSEp8fG4uWHx8bi5zNXx8Vy51bnNoaWZ0KCJhIik7bi5YJiYoVz0oYm9bbi5YXXx8W24uWF0pLmNvbmNhdChXKSk7cmV0dXJuIFd9OwpKSHI9ZnVuY3Rpb24obil7aWYobi5HQylyZXR1cm5bImYiXTtpZihnLnViKCJhcHBsZXR2NSIpKXJldHVybiJoIDloIDkgOCBIIChoICggKiIuc3BsaXQoIiAiKTt2YXIgVz1bIjloIiwiOSIsImgiLCI4Il07bi5ZJCYmVy5wdXNoKCIxZSIpO1c9Vy5jb25jYXQoWyIoaCIsIigiLCJIIiwiKiJdKTtuLmUkJiYoVy51bnNoaWZ0KCIxIiksVy51bnNoaWZ0KCIxaCIpKTtuLmJ2JiZXLnVuc2hpZnQoImgiKTtuLk8mJihXPShib1tuLk9dfHxbbi5PXSkuY29uY2F0KFcpKTtyZXR1cm4gV307CnZYPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93LFc9bi5NU01lZGlhS2V5cztDJCgpJiYhVyYmKFc9bi5XZWJLaXRNZWRpYUtleXMpO3JldHVybiBXJiZXLmlzVHlwZVN1cHBvcnRlZD9XOm51bGx9Owpoej1mdW5jdGlvbihuKXtyZXR1cm4gbmF2aWdhdG9yLnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcz9nLm9kJiYhZy5kOCgpP0NfKCI0NSIpOmcuUmd8fGcua2g/bi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTpnLmFvP0NfKCI0NyIpOmcuR24mJm4uRXEoImh0bWw1X2VuYWJsZV9zYWZhcmlfZmFpcnBsYXkiKT8hMTohMDohMX07CnhoPWZ1bmN0aW9uKG4pe3JldHVybiBuLlg/ITE6IW4ua2V5U3lzdGVtQWNjZXNzJiYhIXZYKCkmJm4ua2V5U3lzdGVtPT09ImNvbS5taWNyb3NvZnQucGxheXJlYWR5In07CkxOPWZ1bmN0aW9uKG4pe3JldHVybiBuLmtleVN5c3RlbT09PSJjb20ubWljcm9zb2Z0LnBsYXlyZWFkeSJ9OwplVD1mdW5jdGlvbihuKXtyZXR1cm4hbi5rZXlTeXN0ZW1BY2Nlc3MmJiEhdlgoKSYmbi5rZXlTeXN0ZW09PT0iY29tLmFwcGxlLmZwcy4xXzAifTsKZzE9ZnVuY3Rpb24obil7cmV0dXJuIG4ua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5In07CmcuWFY9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmxhdm9yPT09ImZhaXJwbGF5In07CkVHQz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj16USgpLGs9KEQ9dnx8RCYmQyQoKSk/WyJjb20ueW91dHViZS5mYWlycGxheSJdOlsiY29tLndpZGV2aW5lLmFscGhhIl07VyYmay51bnNoaWZ0KCJjb20ueW91dHViZS53aWRldmluZS5sMyIpO3YmJmImJmsudW5zaGlmdCgiY29tLnlvdXR1YmUuZmFpcnBsYXkuc2JkbCIpO3JldHVybiBEP2s6bj9bLi4uaywuLi5xVi5wbGF5cmVhZHldOlsuLi5xVi5wbGF5cmVhZHksLi4ua119OwokaD1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uSi5sZW5ndGg9PT0wKW4uY2FsbGJhY2sobi5YKTtlbHNle3ZhciBXPW4uSlswXSxEPW4uV1tXXSxiPWlxdChuLEQpO0dMJiZHTC5rZXlTeXN0ZW09PT1XJiZHTC5JMT09PUpTT04uc3RyaW5naWZ5KGIpPyhuLlUoInJlbWtzYSIse3JlOiEwfSksdHoobixELEdMLmtleVN5c3RlbUFjY2VzcykpOihuLlUoInJlbWtzYSIse3JlOiExLG9rOkdMPy5rZXlTeXN0ZW0/PyIifSksR0w9dm9pZCAwLG5hdmlnYXRvci5yZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoVyxiKS50aGVuKFl6KHY9Pnt0eihuLEQsdixiKX0pLFl6KCgpPT57bi5qPSFuLmomJm4uV1tuLkpbMF1dLmZsYXZvcj09PSJ3aWRldmluZSI7Cm4uanx8bi5KLnNoaWZ0KCk7JGgobil9KSkpfX07Cm9Hdz1mdW5jdGlvbihuKXtpZih2WCgpJiYoZy5Hbnx8dzgpKW4uWC5wdXNoKG5ldyByMSgiZmFpcnBsYXkiLCJjb20uYXBwbGUuZnBzLjFfMCIsIiIsbi55US5leHBlcmltZW50cykpO2Vsc2V7dmFyIFc9dTFyKCksRD1nLmxfKG4uSixiPT57dmFyIHY9bi5XW2JdLGs9ITEsaD0hMTtmb3IobGV0IHggaW4gbi5OW3YuZmxhdm9yXSlXKHgsYikmJih2LkpbeF09ITAsaz1rfHx4LmluZGV4T2YoImF1ZGlvLyIpPT09MCxoPWh8fHguaW5kZXhPZigidmlkZW8vIik9PT0wKTtyZXR1cm4gayYmaH0pOwpEJiZuLlgucHVzaChuLldbRF0pO24uSj1bXX1uLmNhbGxiYWNrKG4uWCl9OwpkOGk9ZnVuY3Rpb24obixXKXtuLmNhbGxiYWNrPVc7bi5YPVtdO2h6KG4ueVEuZXhwZXJpbWVudHMpPyRoKG4pOm9HdyhuKX07CmlxdD1mdW5jdGlvbihuLFcpe3ZhciBEPXtpbml0RGF0YVR5cGVzOlsiY2VuYyIsIndlYm0iXSxhdWRpb0NhcGFiaWxpdGllczpbXSx2aWRlb0NhcGFiaWxpdGllczpbXX07aWYobi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikmJmcxKFcpKXJldHVybiBELmF1ZGlvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC41Iid9KSxELnZpZGVvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOid2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40ZDQwMGIiJ30pLFtEXTtMTihXKSYmKEQuaW5pdERhdGFUeXBlcz1bImtleWlkcyIsImNlbmMiXSk7Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKXt2YXIgYj12LmluZGV4T2YoImF1ZGlvLyIpPT09MDtsZXQgaz1iP0QuYXVkaW9DYXBhYmlsaXRpZXM6RC52aWRlb0NhcGFiaWxpdGllcztXLmZsYXZvciE9PSJ3aWRldmluZSJ8fG4uaj9rLnB1c2goe2NvbnRlbnRUeXBlOnZ9KToKYj9rLnB1c2goe2NvbnRlbnRUeXBlOnYscm9idXN0bmVzczoiU1dfU0VDVVJFX0NSWVBUTyJ9KTooZy5vZCYmZy51Yigid2luZG93cyBudCIpJiYhbi5TKCJodG1sNV9kcm1fZW5hYmxlX21vaG8iKXx8ay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IkhXX1NFQ1VSRV9BTEwifSksYj12LG4ueVEuVy5KJiZ2LmluY2x1ZGVzKCJ2cDA5IikmJihiPXYrIjsgZXhwZXJpbWVudGFsPWFsbG93ZWQiKSxrLnB1c2goe2NvbnRlbnRUeXBlOmIscm9idXN0bmVzczoiU1dfU0VDVVJFX0RFQ09ERSJ9KSxnLnNkKG4ueVEpJiYoVkgoKXx8b0soKSkmJihuLlUoInN3Y3J5cHRvIix7fSksay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IlNXX1NFQ1VSRV9DUllQVE8ifSkpKX1yZXR1cm5bRF19Owp0ej1mdW5jdGlvbihuLFcsRCxiKXtpZighbi5xTigpKXtiJiYoR0w9e2tleVN5c3RlbTpXLmtleVN5c3RlbSxrZXlTeXN0ZW1BY2Nlc3M6RCxJMTpKU09OLnN0cmluZ2lmeShiKX0pO1cua2V5U3lzdGVtQWNjZXNzPUQ7aWYoTE4oVykpe3ZhciB2PWk4KCk7Zm9yKHZhciBrIG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKVcuSltrXT0hIXYuY2FuUGxheVR5cGUoayl9ZWxzZXtrPVcua2V5U3lzdGVtQWNjZXNzLmdldENvbmZpZ3VyYXRpb24oKTtpZihrLmF1ZGlvQ2FwYWJpbGl0aWVzKWZvcih2IG9mIGsuYXVkaW9DYXBhYmlsaXRpZXMpVy5KW3YuY29udGVudFR5cGVdPSEwO2lmKGsudmlkZW9DYXBhYmlsaXRpZXMpZm9yKGxldCBoIG9mIGsudmlkZW9DYXBhYmlsaXRpZXMpVy5KW2guY29udGVudFR5cGVdPSEwfW4uWC5wdXNoKFcpO24udXNlQ29iYWx0V2lkZXZpbmV8fG4uUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZXLk4oKT8obi5KLnNoaWZ0KCksJGgobikpOm4uY2FsbGJhY2sobi5YKX19Owp1MXI9ZnVuY3Rpb24oKXt2YXIgbj12WCgpO2lmKG4pe2xldCBEPW4uaXNUeXBlU3VwcG9ydGVkO3JldHVybihiLHYpPT5EKHYsYil9dmFyIFc9aTgoKTsKcmV0dXJuIFcmJihXLmFkZEtleXx8Vy53ZWJraXRBZGRLZXkpPyhELGIpPT4hIVcuY2FuUGxheVR5cGUoRCxiKTooKT0+ITF9OwpsdGI9ZnVuY3Rpb24obixXKXtzd2l0Y2goVy5VMCl7Y2FzZSAiYm9vbCI6cmV0dXJuIG4uRXEoVy5ueCk7Y2FzZSAiaW50IjpyZXR1cm4gbj1OVihuLFcubngpLGcuJFUobik7Y2FzZSAiZG91YmxlIjpyZXR1cm4gTlYobixXLm54KTtjYXNlICJzdHJpbmciOnJldHVybiB6ZzIobixXLm54KTtjYXNlICJpbnQzMl9saXN0IjpyZXR1cm4gcE4obixXLm54KTtjYXNlICJpbnQ2NF9saXN0IjpyZXR1cm4gcE4obixXLm54KS5tYXAoRD0+Zy4kVShEKSk7CmNhc2UgInN0cmluZ19saXN0Ijp0aHJvdyBFcnJvcigiU3RyaW5nIGxpc3QgZmxhZ3MgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gV1BDQyIpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gZmxhZyB0eXBlIik7fX07Ck5WPWZ1bmN0aW9uKG4sVyl7bj1uLmZsYWdzLmdldChgJHtXfWApO3JldHVybiBOdW1iZXIobil8fDB9Owp6ZzI9ZnVuY3Rpb24obixXKXtyZXR1cm4obj1uLmZsYWdzLmdldChgJHtXfWApKT9uLnRvU3RyaW5nKCk6IiJ9OwpwTj1mdW5jdGlvbihuLFcpe2lmKG49bi5mbGFncy5nZXQoYCR7V31gKSlpZihuPW4ucmVwbGFjZSgvXFsgKiguKj8pICpcXS8sIiQxIikpcmV0dXJuIG4uc3BsaXQoIiwiKS5tYXAoTnVtYmVyKTtyZXR1cm5bXX07CmcuZE09ZnVuY3Rpb24obixXLEQ9MCl7bj1uLlFRKFcpO0pTT04uc3RyaW5naWZ5KG4pO3JldHVybiBuPT09dm9pZCAwP0Q6TnVtYmVyKG4pfTsKZy5ZaD1mdW5jdGlvbihuLFcpe3JldHVybihuPW4uUVEoVykpP24udG9TdHJpbmcoKToiIn07ClRwYj1mdW5jdGlvbihuKXtpZihuPW4uUVEoImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpKWlmKG49bi5yZXBsYWNlKC9cWyAqKC4qPykgKlxdLywiJDEiKSlyZXR1cm4gbi5zcGxpdCgiLCIpLm1hcChOdW1iZXIpO3JldHVybltdfTsKSFg9ZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBuLk47aWYobi5leHBlcmltZW50SWRzLmxlbmd0aDw9MSlyZXR1cm4gbi5OPW4uZXhwZXJpbWVudElkcyxuLk47dmFyIFc9Wy4uLm4uZXhwZXJpbWVudElkc10ubWFwKEQ9Pk51bWJlcihEKSk7Clcuc29ydCgpO2ZvcihsZXQgRD1XLmxlbmd0aC0xO0Q+MDstLUQpV1tEXS09V1tELTFdO24uTj1XLm1hcChEPT5ELnRvU3RyaW5nKCkpOwpuLk4udW5zaGlmdCgidjEiKTtyZXR1cm4gbi5OfTsKTkRTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE1hcDtmb3IobGV0IGIgb2YgVy5rZXlzKCkpe2xldCB2PWIuc3BsaXQoIl8iKVswXTtuLmhhcyh2KXx8RC5zZXQoYixXLmdldChiKSl9cmV0dXJuIER9OwpZMlM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW8/LmZwc3x8MCx2PWAke259XyR7Yn1gLGs9ISFXLmF1ZGlvLGg9e2l0YWc6Vy5pdGFnLElCOm4sZVM6a307aWYoayloLm51bUNoYW5uZWxzPVcuYXVkaW8ubnVtQ2hhbm5lbHM7ZWxzZXt2YXIgeD1XLnZpZGVvO2gubWF4V2lkdGg9eD8ud2lkdGg7aC5tYXhIZWlnaHQ9eD8uaGVpZ2h0O2gubWF4RnJhbWVyYXRlPWI7aC5tYXhCaXRyYXRlQnBzPVcuTnMqODtoLno5PXg/LmlzSGRyKCl9eD1ELmdldCh2KTt4P2t8fChXPU1hdGgubWF4KHgubWF4V2lkdGh8fDAseC5tYXhIZWlnaHR8fDApPk1hdGgubWF4KGgubWF4V2lkdGh8fDAsaC5tYXhIZWlnaHR8fDApP3g6aCxuPXtpdGFnOlcuaXRhZyxJQjpuLGVTOmssbWF4V2lkdGg6TWF0aC5tYXgoeC5tYXhXaWR0aHx8MCxoLm1heFdpZHRofHwwKSxtYXhIZWlnaHQ6TWF0aC5tYXgoeC5tYXhIZWlnaHR8fDAsaC5tYXhIZWlnaHR8fDApLG1heEZyYW1lcmF0ZTpiLHo5Olcuejl9LG4ubWF4Qml0cmF0ZUJwcz0KVy5tYXhCaXRyYXRlQnBzLEQuc2V0KHYsbikpOkQuc2V0KHYsaCl9OwpPRD1mdW5jdGlvbihuLFcsRD0xKXt2YXIgYj1XLml0YWc7aWYoYj09PSIwIilyZXR1cm4hMDt2YXIgdj1XLm1pbWVUeXBlO2lmKFcuSUI9PT0iMWUiJiYhbi5YKXJldHVybiJkYXYxZW5jIjtpZihXLk1XKCkmJm4uWSlyZXR1cm4iZGF2MSI7aWYoVy52aWRlbyYmKFcudmlkZW8uaXNIZHIoKXx8Vy52aWRlby5wcmltYXJpZXM9PT0iYnQyMDIwIikmJiEoU0oobixBVC5FT1RGKXx8d2luZG93Lm1hdGNoTWVkaWEmJih3aW5kb3cubWF0Y2hNZWRpYSgiKGR5bmFtaWMtcmFuZ2U6IGhpZ2gpLCAodmlkZW8tZHluYW1pYy1yYW5nZTogaGlnaCkiKS5tYXRjaGVzfHx3aW5kb3cuc2NyZWVuLnBpeGVsRGVwdGg+MjQmJndpbmRvdy5tYXRjaE1lZGlhKCIoY29sb3ItZ2FtdXQ6IHAzKSIpLm1hdGNoZXMpKSlyZXR1cm4iZGhkciI7aWYoYj09PSIzMzgiJiYhKGcub2Q/Q18oNTMpOmcuYW8mJkNfKDY0KSkpcmV0dXJuImRvcHVzIjtEPXZHVShXLEQpO24uSiYmVy5YKCkmJihEW0FULkVYUEVSSU1FTlRBTC5uYW1lXT0KImFsbG93ZWQiKTtmb3IobGV0IHggb2YgT2JqZWN0LmtleXMoQVQpKXtsZXQgTD1BVFt4XTt2YXIgaztpZihrPURbTC5uYW1lXSlpZihrPSEoTD09PUFULkVPVEYmJlcubWltZVR5cGUuaW5kZXhPZigidnAwOS4wMiIpPjApKXtrPUw7dmFyIGg9VztrPSEobi5leHBlcmltZW50cy5FcSgiaHRtbDVfaWdub3JlX2gyNjRfZnJhbWVyYXRlX2NhcCIpJiZrPT09QVQuRlJBTUVSQVRFJiYoaC5JQj09PSJIInx8aC5JQj09PSJoIikpfWlmKGspaWYoU0oobixMKSlpZihuLmope2lmKG4ualtMLm5hbWVdPERbTC5uYW1lXSlyZXR1cm4gTC5uYW1lfWVsc2Ugdj1gJHt2fTsgJHtMLm5hbWV9PSR7RFtMLm5hbWVdfWA7ZWxzZSBpZihaTyhXKSYmTD09PUFULkVPVEYpcmV0dXJuImR2cDkyIn1uLk8mJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmVy5jb250ZW50UHJvdGVjdGlvbiYmKHYrPSI7IGhkY3A9Mi4yIik7cmV0dXJuIGI9PT0iMjI3Ij8iaHFjZW5jIjpiPT09IjU4NSJ8fApiPT09IjU4OCJ8fGI9PT0iNTgzInx8Yj09PSI1ODYifHxiPT09IjU4NCJ8fGI9PT0iNTg3Inx8Yj09PSI1OTEifHxiPT09IjU5MiI/Im5ld2h2YyI6elEoKSYmaWIoKT49MjEmJmcudWIoImFwcGxldHY1IikmJihiPT09IjQxMCJ8fGI9PT0iODQ1Iik/ITA6bi5pc1R5cGVTdXBwb3J0ZWQodik/ITA6InRwdXMifTsKU0o9ZnVuY3Rpb24obixXKXtXLm5hbWUgaW4gbi5EfHwobi5EW1cubmFtZV09ajVpKG4sVykpO3JldHVybiBuLkRbVy5uYW1lXX07CkNlVT1mdW5jdGlvbihuKXtuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyYmbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7dHlwZToibWVkaWEtc291cmNlIix2aWRlbzp7Y29udGVudFR5cGU6J3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTJNLjA4Iicsd2lkdGg6Mzg0MCxoZWlnaHQ6MjE2MCxiaXRyYXRlOjMyRTYsZnJhbWVyYXRlOjYwfX0pLnRoZW4oVz0+e1cuc21vb3RoJiZXLnBvd2VyRWZmaWNpZW50JiYobi5jSj0yMTYwKX0pfTsKZk49ZnVuY3Rpb24oKXt2YXIgbj1vSygpJiYhQ18oMjkpLFc9Zy51YigiZ29vZ2xlIHR2IikmJmcudWIoImNocm9tZSIpJiYhQ18oMzApO3JldHVybiBufHxXPyExOmNSKCl9OwpKej1mdW5jdGlvbihuLFcsRCl7dmFyIGI9NDgwLHY9MTA4MCxrO2lmKGs9bi5leHBlcmltZW50cy5adCgpLk4uUVEoQnB0KSluLlY9PT1udWxsJiYobi5WPSExLFNKKG4sQVQuV0lEVEgpJiZTSihuLEFULkhFSUdIVCkmJihuLlY9ZHkoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTdNLjA4Ijsgd2lkdGg9NzY4MDsgaGVpZ2h0PTQzMjAnKSkpLGs9bi5WO2smJih2PTIxNjApO2ZvcihsZXQgaCBvZiBXKVc9aC52aWRlby5xdWFsaXR5T3JkaW5hbCxXPD12JiZXPmImJk9EKG4saCxEKT09PSEwJiYoYj1XKTtyZXR1cm4gYn07CmcuSW49ZnVuY3Rpb24obixXPSExKXtyZXR1cm4gZk4oKSYmbi5pc1R5cGVTdXBwb3J0ZWQoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fCFXJiZuLmNhblBsYXlUeXBlKGk4KCksImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIpPyEwOiExfTsKd0p4PWZ1bmN0aW9uKG4pe0ZLQygoKT0+e2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhBVCkpU0oobixBVFtXXSl9KX07Cmo1aT1mdW5jdGlvbihuLFcpe2lmKG4uailyZXR1cm4hIW4ualtXLm5hbWVdO2lmKFc9PT1BVC5CSVRSQVRFJiZuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwJykmJiFuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwMCcpKXJldHVybiExO2lmKFc9PT1BVC5BVjFfQ09ERUNTKXJldHVybiBuLmlzVHlwZVN1cHBvcnRlZChgdmlkZW8vbXA0OyBjb2RlY3M9JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYHZpZGVvL21wNDsgY29kZWNzPSR7Vy52R31gKTtpZihXLnZpZGVvKXt2YXIgRD0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiJztuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjRkNDAxZSInKX1lbHNlIEQ9J2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLApuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyk7cmV0dXJuIG4uaXNUeXBlU3VwcG9ydGVkKGAke0R9OyAke1cubmFtZX09JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYCR7RH07ICR7Vy5uYW1lfT0ke1cudkd9YCl9OwpTVD1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bi5XLmhhcyhXKSYmKEQ9bi5XLmdldChXKS56RSk7bi5XLnNldChXLHt6RTpEKzEsZzE6MioqKEQrMSl9KTtuLk49ITB9OwptVj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFcmJnR5cGVvZiBXPT09Im9iamVjdCIpe2xldCBrPWg9PkF6KG4saCxELGIsdik7CmlmKFlvKFcpKXJldHVybiBXLnRoZW4oayk7aWYoWUQoVykpcmV0dXJuIFNrKFcsayl9cmV0dXJuIEF6KG4sVyxELGIsdil9OwpLTj1mdW5jdGlvbihuLFcsRCxiPTEpe0Q+PTAmJihXIGluIG4uTnx8KG4uTltXXT1uZXcgTU9pKSxuLk5bV10uZEUoRCxiKSl9OwpBej1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSgwLGcuUikoKTt2PXY/dihXKTp2b2lkIDA7dmFyIGg9dj8uVF8/PzE7aCE9PTAmJktOKG4sdj8ucHJvZmlsZT8/RCxrLWIsaCk7cmV0dXJuIFd9OwpPZD1mdW5jdGlvbihuKXt2YXIgVz13aW5kb3c7Vy55d2N8fChXLnl3Yz17fSk7dmFyIEQ9Vy55d2Nbbl07aWYoRClyZXR1cm4gRDtEPXt9O3JldHVybiBXLnl3Y1tuXT1EfTsKUFg9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93O1cueXdjJiZkZWxldGUgVy55d2Nbbl19OwpSZ1U9ZnVuY3Rpb24obil7dmFyIFc9T2Qobik7aWYoVy5iaW5QKXJldHVybiBXLmJpblA7Vy5iaW5QPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmZldGNoKG4pKS50aGVuKEQ9PntpZighRC5vayl0aHJvdyBFcnJvcihgSFRUUCR7RC5zdGF0dXNUZXh0fWApOwpyZXR1cm4gRC5hcnJheUJ1ZmZlcigpfSk7ClcuYmluUC50aGVuKEQ9PntXLmJpbj1EfSwoKT0+e1BYKG4pfSk7CnJldHVybiBXLmJpblB9OwpFZD1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1aSy50WCgpLHY9biYmVWQ7aWYoIXYmJiFXKXJldHVybiBEPy4oIndhc21ucyIse3A6bj8iMSI6IjAiLGE6Vz8iMSI6IjAiLHM6VWQ/IjEiOiIwIn0pLGZsKEVycm9yKCJ3YXNtLndtLm5zIikpO3ZhciBrPW5ldyBRNXI7aWYodil0cnl7bGV0IGg9eWllbGQqUFAoVk9yKGssbikpLHg9bmV3IHlNKGgsaywhMSk7WksuZVUoIndpbml0IixiKTtEPy4oIndhc21zdyIse30pO3JldHVybiB4fWNhdGNoKGgpe2lmKEQ/Ligid2FzbWVycnciLHtlOmAke2h9YH0pLCFXKXRocm93IEVycm9yKCJ3YXNtLndtLml3Iix7Y2F1c2U6aH0pO31pZighVyl0aHJvdyBFcnJvcigid2FzbS53bS54eCIpO3RyeXtsZXQgaD15aWVsZCpQUChXKGspKSx4PW5ldyB5TSh7ZXhwb3J0czpofSxrLCEwKTtaSy5lVSgid2luaXRqcyIsYik7RD8uKCJ3YXNtc2EiLHt9KTtyZXR1cm4geH1jYXRjaChoKXt0aHJvdyBEPy4oIndhc21lcnJhIiwKe2U6YCR7aH1gfSksRXJyb3IoYHdhc20ud20uaWE6ICR7aH1gKTt9fSgpfSl9OwpWT3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28oYyR0LGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7aWYoIUQuTil0aHJvdyJ3YXNtLnBzLm5zIjt2YXIgYj15aWVsZCpQUChhdHQoRCxXKSk7aWYoIWIpdGhyb3cid2FzbS5wcy51bSI7cmV0dXJuIHlpZWxkKlBQKFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGIsbikpfSgpfSl9OwphdHQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBEPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPVtdLHY9KCk9PiJ3YXNtLnBzLmM6IFsiK2IubWFwKHg9PmAiJHt4fSJgKS5qb2luKCIsICIpKyJdIixrPU9kKFcpOwppZihrLm1vZClyZXR1cm4gay5tb2Q7aWYoay5tb2RQKXRyeXtyZXR1cm4geWllbGQqUFAoay5tb2RQKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBjbSIpfXZhciBoPWsuYmluO2lmKCFoJiZrLmJpblApdHJ5e2g9eWllbGQqUFAoay5iaW5QKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBmYiIpfWlmKCFoKXRyeXtoPXlpZWxkKlBQKFJnVShXKSl9Y2F0Y2goeCl7dGhyb3cgRC5OPSExLGIudW5zaGlmdChgZmI6ICR7eH1gKSx2KCk7fXRyeXtyZXR1cm4geWllbGQqUFAoV2ViQXNzZW1ibHkuY29tcGlsZShoKSl9Y2F0Y2goeCl7UFgoVyksYi51bnNoaWZ0KGBjYTogJHt4fWApfXRocm93IHYoKTt9KCl9KX07CmlvPWZ1bmN0aW9uKG4sVyxELGIpe0Q9bi5XVi5tZW1vcnkuY29weUluKEQpO3ZhciB2PW4uTjt2LldWLmV4cG9ydHMuQUVTMTI4Q1RSQ2lwaGVyX3NldENvdW50ZXIodi5jaXBoZXIsRC5ieXRlT2Zmc2V0KTtXPW4uV1YubWVtb3J5LmNvcHlJbihXKTtuLk4uZW5jcnlwdChXKTt2PXZvaWQgMDtpZihiKXtiPW4uV1Y7dj1uLko7bGV0IGs9Yi5tZW1vcnkuYnVmZmVyKGIubWVtb3J5Lm1hbGxvYygzMiksMzIpO2IuZXhwb3J0cy5TaGEyNTZIbWFjKHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgsRC5ieXRlT2Zmc2V0LEQuYnl0ZUxlbmd0aCxXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoLGsuYnl0ZU9mZnNldCk7dj1uLldWLm1lbW9yeS5tb3ZlT3V0KGspfW4uV1YubWVtb3J5LmZyZWUoRC5ieXRlT2Zmc2V0KTtyZXR1cm57RzQ6bi5XVi5tZW1vcnkubW92ZU91dChXKSxzaWduYXR1cmU6dn19OwpuWUM9ZnVuY3Rpb24obil7bi5FaC5leHBvcnRzLlRyYWNrZWRQb2ludGVyX3JlbGVhc2Uobi5pZCl9Owpvbj1mdW5jdGlvbihuKXtuLlh8fChuLlg9bmV3IHVvKG4uSikpO3JldHVybiBuLlh9OwpnLmQxPWZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gbHAobil9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKekw9ZnVuY3Rpb24obil7dmFyIFc9SG4oKTtpZihXLnZhbHVlcyl7Vz1XLnZhbHVlcztsZXQgaD17fTtmb3IodmFyIEQgb2YgT2JqZWN0LmtleXMobi52YWx1ZXMpKXtXW0RdJiZuLkpbRF0mJihuLnZhbHVlc1tEXSs9V1tEXS1uLkpbRF0pO3ZhciBiPW4sdj1iO2lmKCF2LnZhbHVlc1tEXSl7dmFyIGs9SG4oKTt2LnZhbHVlcz1rLnZhbHVlc3x8e307di5GWT1rLmhhbGZMaXZlc3x8e307di5KPWsudmFsdWVzP09iamVjdC5hc3NpZ24oe30say52YWx1ZXMpOnt9fWhbRF09Yi52YWx1ZXNbRF0mJmIuRllbRF0/Yi52YWx1ZXNbRF0vMioqKGIuTi9iLkZZW0RdKTowfW4uSj1ofUQ9bi5GWTtXPXt9O1cudmFsdWVzPW4uSjtXLmhhbGZMaXZlcz1EO2cuUEIoInl0LXBsYXllci1tZW1vcnkiLFcsMjU5MkUzKX07Clh2PWZ1bmN0aW9uKG4sVyl7cmV0dXJuISFXJiYhIW4uWnQoKS5OLlFRKFdJTSkmJihXLnN0YXJ0c1dpdGgoImciKXx8Vy5zdGFydHNXaXRoKCJsIikpfTsKZy5zZD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iTVdFQiJ9OwpUTD1mdW5jdGlvbihuKXtuLmdUPT09bnVsbCYmKG4uZ1Q9d2luZG93Lk1lZGlhU291cmNlJiZ3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkP3dpbmRvdy5NZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUnKTohMSk7cmV0dXJuIG4uZ1R9OwpqVD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9TSU1QTFlfRU1CRURERURfUExBWUVSIn07CmcubzQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uSiYmZy5DTihuKSYmIUJYKG4pJiYhbi5YfTsKQlg9ZnVuY3Rpb24obil7cmV0dXJuIG4uWT09PSJhZHVuaXQifHxuLnBsYXllclN0eWxlPT09Imd2biJ9OwpGVj1mdW5jdGlvbihuKXtyZXR1cm4gbi5ZPT09ImRldGFpbHBhZ2UifTsKZy53MT1mdW5jdGlvbihuKXtyZXR1cm4gdzgmJiFuLnhofHxnLnViKCJuaW50ZW5kbyB3aWl1Iik/ITA6ITF9OwpnLkNOPWZ1bmN0aW9uKG4pe3JldHVybiBuLlk9PT0iZW1iZWRkZWQifTsKZy5NVj1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX1JFTUlYIn07ClFNPWZ1bmN0aW9uKG4pe2lmKCFuLndlYlBsYXllckNvbnRleHRDb25maWc/LmVtYmVkc0hvc3RGbGFncz8uZW5hYmxlTGl0ZVV4fHxuLnZKfHxuLlh8fG4uRHx8bi5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiKXJldHVybiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX05PTkUiO249Zy5kTShuLmV4cGVyaW1lbnRzLCJlbWJlZHNfd2ViX2xpdGVfbW9kZSIpO3JldHVybiBuPT09dm9pZCAwPyJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04iOm4+PTAmJm48Um4ubGVuZ3RoP1JuW25dOiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04ifTsKY1g9ZnVuY3Rpb24obixXLEQ9ITEpe24uUyQ9Yk8obi5TJCxXLnZpZGVvX2lkKTtuLmZCPWJPKG4uZkIsVy5ldmVudGlkKTtuLmZCJiYod289bi5mQik7dmFyIGI9W107Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKFZNKSl7bGV0IGs9Vk1bdl0saD1XW2tdO2ghPW51bGwmJihoIT09bi5OW2tdJiZiLnB1c2goayksbi5OW2tdPWgpfSFEJiZiLmxlbmd0aD4wJiZuLm9NJiYoYi5zb3J0KCksZy5HcShuZXcgZy5ReCgiUGxheWVyIGNsaWVudCBwYXJhbWV0ZXJzIGNoYW5nZWQgYWZ0ZXIgc3RhcnR1cCIsYikpKTtuLnVzZXJBZ2U9REkobi51c2VyQWdlLFcudXNlcl9hZ2UpO24udXNlckRpc3BsYXlJbWFnZT1iTyhuLnVzZXJEaXNwbGF5SW1hZ2UsVy51c2VyX2Rpc3BsYXlfaW1hZ2UpO2cuakkobi51c2VyRGlzcGxheUltYWdlKXx8KG4udXNlckRpc3BsYXlJbWFnZT0iIik7bi51c2VyRGlzcGxheU5hbWU9Yk8obi51c2VyRGlzcGxheU5hbWUsVy51c2VyX2Rpc3BsYXlfbmFtZSk7bi55dz1iTyhuLnl3LApXLnVzZXJfZ2VuZGVyKTtuLmNzaVBhZ2VUeXBlPWJPKG4uY3NpUGFnZVR5cGUsVy5jc2lfcGFnZV90eXBlKTtuLmNzaVNlcnZpY2VOYW1lPWJPKG4uY3NpU2VydmljZU5hbWUsVy5jc2lfc2VydmljZV9uYW1lKTtuLmVWPW55KG4uZVYsVy5lbmFibGVjc2kpO24ucGFnZUlkPWJPKG4ucGFnZUlkLFcucGFnZWlkKTtpZihEPVcuZW5hYmxlZF9lbmdhZ2VfdHlwZXMpbi5lbmFibGVkRW5nYWdlVHlwZXM9bmV3IFNldChELnNwbGl0KCIsIikpO1cubGl2aW5nX3Jvb21fc2Vzc2lvbl9wb190b2tlbiYmKG4ualc9Vy5saXZpbmdfcm9vbV9zZXNzaW9uX3BvX3Rva2VuLnRvU3RyaW5nKCkpfTsKZy5hbj1mdW5jdGlvbihuKXtyZXR1cm4vd2ViL2kudGVzdChsbyhuKSl9Owpsbz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmN9OwpjOT1mdW5jdGlvbihuLFcpe3JldHVybiFuLlgmJm9LKCkmJkNfKDU1KSYmbi5jb250cm9sc1R5cGU9PT0iMyImJiFXfTsKV0U9ZnVuY3Rpb24obil7bj1nLm5FKG4uRGEpO3JldHVybiBuPT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSI/Ind3dy55b3V0dWJlLmNvbSI6bn07CmcuRGY9ZnVuY3Rpb24obil7cmV0dXJuIGxvKG4pPT09IldFQl9VTlBMVUdHRUQifTsKYmk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLnByb3RvY29sKyI6Ly9pMS55dGltZy5jb20vdmkvIitXKyIvIisoRHx8ImhxZGVmYXVsdC5qcGciKX07CnZFPWZ1bmN0aW9uKG4pe3JldHVybiBGVihuKSYmIWcuRGYobil9OwpnLms2PWZ1bmN0aW9uKG4pe3JldHVybi9eVFZIVE1MNS8udGVzdChsbyhuKSl9OwpodT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9DQVNUInx8bG8obik9PT0iVFZIVE1MNSImJihuLk4uY3Zlci5zdGFydHNXaXRoKCI2LjIwMTMwNzI1Iil8fG4uTi5jdmVyLnN0YXJ0c1dpdGgoIjYuMjAxMzA3MjYiKSl9OwpnLng2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1In07CkxFPWZ1bmN0aW9uKG4pe3JldHVybiBuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QgVUxUUkEvU1RFQUsifHxuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QvU1RFQUsifTsKZy5IXz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjF9OwpnLmVNPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKS50b1VwcGVyQ2FzZSgpPT09IldFQiJ9OwpnLlhDPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfS0lEUyJ9OwpnLnFGPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1X1VOUExVR0dFRCJ9OwpnLkdsPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRmKG4pfHxsbyhuKT09PSJUVl9VTlBMVUdHRURfQ0FTVCJ8fGcucUYobil9Owp0dT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX01VU0lDX0lOVEVHUkFUSU9OUyJ9OwpnLiQ2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfRU1CRURERURfUExBWUVSIn07Cmcubk49ZnVuY3Rpb24obil7cmV0dXJuKG4uZGV2aWNlSXNBdWRpb09ubHl8fCFnLm9kfHxnLk1MfHxuLmNvbnRyb2xzVHlwZT09PSIzIj8hMTpnLlFIP24uSiYmZy5aWCg1MSk6ITApfHwobi5kZXZpY2VJc0F1ZGlvT25seXx8IWcuYW98fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDQ4KTpnLlpYKDM4KSl8fChuLmRldmljZUlzQXVkaW9Pbmx5fHwhcmN8fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDM3KTpnLlpYKDI3KSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLnNtJiYhRm4oKSYmZy5aWCgxMSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLkduJiZnLlpYKCI2MDQuNCIpfHxuLldjKCl9OwpacVM9ZnVuY3Rpb24obil7aWYoZy5DTihuKSYmTkYpcmV0dXJuITE7aWYoZy5hbyl7aWYoIWcuWlgoNDcpfHwhZy5aWCg1MikmJmcuWlgoNTEpKXJldHVybiExfWVsc2UgaWYoZy5HbilyZXR1cm4hMTtyZXR1cm4gd2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dD8hMDohMX07CmcucEU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5lbmFibGVkRW5nYWdlVHlwZXMuaGFzKFcudG9TdHJpbmcoKSl8fER2aS5pbmNsdWRlcyhXKX07CnZZaj1mdW5jdGlvbihuKXt2YXIgVz1XRShuKTtiVmkuaW5jbHVkZXMoVykmJihXPSJ3d3cueW91dHViZS5jb20iKTtyZXR1cm4gbi5wcm90b2NvbCsiOi8vIitXfTsKZy5IRT1mdW5jdGlvbihuLFc9IiIpe2lmKG4uSFkpe2xldCBEPW5ldyBZNixiLHY9bi5IWSgpO3Yuc2lnbmVkT3V0P2I9IiI6di50b2tlbj9iPXYudG9rZW46di5wZW5kaW5nUmVzdWx0LnRoZW4oaz0+e3Yuc2lnbmVkT3V0P0QucmVzb2x2ZSgiIik6RC5yZXNvbHZlKGsudG9rZW4pfSxrPT57Zy5HcShuZXcgZy5ReCgiYjE4OTM0ODMyOF9vYXV0aF9jYWxsYmFja19mYWlsZWQiLHtlcnJvcjprfSkpOwpELnJlc29sdmUoVyl9KTsKcmV0dXJuIGIhPT12b2lkIDA/Zy5IMChiKTpuZXcgTlgoRCl9cmV0dXJuIGcuSDAoVyl9OwpmRT1mdW5jdGlvbihuLFc9IiIpe3JldHVybiBuLllyP0hQKCEwKTpLbChTayhIUChnLkhFKG4sVykpLEQ9PkhQKCEhRCkpLCgpPT5IUCghMSkpfTsKSnU9ZnVuY3Rpb24obixXKXtpZihuLldWPVcpbi5QWD8uTj8uVihXKSxXLmlzQXNtanM/bi5reS5wdXNoKCJhc21qcyIpOm4ua3kucHVzaCgid2FzbSIpfTsKZy5uRT1mdW5jdGlvbihuKXt2YXIgVz1nLklQKG4pO3JldHVybihuPU51bWJlcihnLmZwKG4pWzRdfHxudWxsKXx8bnVsbCk/YCR7V306JHtufWA6V307ClNNPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9WWdbbl0sYj1JQVtEXSx2PWtIcltuXTtpZighdnx8IWIpcmV0dXJuIG51bGw7Vz1uZXcgSFIoVz92LmhlaWdodDp2LndpZHRoLFc/di53aWR0aDp2LmhlaWdodCx2LmZwcyk7Yj1wNihiLFcsRCk7cmV0dXJuIG5ldyBtdShuLGIse3ZpZGVvOlcsTnM6di5iaXRyYXRlLzh9KX07CkF1PWZ1bmN0aW9uKG4pe3ZhciBXPUlBW1lnW25dXSxEPWhFU1tuXTtyZXR1cm4gRCYmVz9uZXcgbXUobixXLHthdWRpbzpuZXcgQU0oRC5hdWRpb1NhbXBsZVJhdGUsRC5udW1DaGFubmVscyl9KTpudWxsfTsKVlA9ZnVuY3Rpb24obixXLEQsYil7aWYoRClyZXR1cm4gZy5wJCgpO0Q9e307dmFyIHY9aTgoKTtmb3IobGV0IGsgb2YgVylpZihuLmNhblBsYXlUeXBlKHYsay5rTCgpLm1pbWVUeXBlKXx8YilpZihXPWsuTi52aWRlby5xdWFsaXR5LCFEW1ddfHxEW1ddLmtMKCkucUgoKSlEW1ddPWs7bj1bXTtELmF1dG8mJm4ucHVzaChELmF1dG8pO2ZvcihsZXQgayBvZiBwTSkoYj1EW2tdKSYmbi5wdXNoKGIpO3JldHVybiBuLmxlbmd0aD9nLkgwKG4pOmcucCQoKX07CktFPWZ1bmN0aW9uKG4sVz0hMSxEPSEwLGI9e30pe3ZhciB2PXt9O2ZvcihsZXQgaCBvZiBuKXtpZihXJiZNZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiYobj1oLnR5cGUsaC5hdWRpb19jaGFubmVscyYmKG49bisiOyBjaGFubmVscz0iK2guYXVkaW9fY2hhbm5lbHMpLCFNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobikpKXtiW2guaXRhZ109InRwdXMiO2NvbnRpbnVlfWlmKCFEJiZoLmRybV9mYW1pbGllcyYmKGguZW90Zj09PSJzbXB0ZTIwODQifHxoLmVvdGY9PT0iYXJpYi1zdGQtYjY3Iikpe2JbaC5pdGFnXT0iZW5jaGRyIjtjb250aW51ZX1uPXZvaWQgMDtsZXQgeD17YnQ3MDk6IlNEUiIsYnQyMDIwOiJTRFIiLHNtcHRlMjA4NDoiUFEiLCJhcmliLXN0ZC1iNjciOiJITEcifTt2YXIgaz1oLnR5cGUubWF0Y2goL2NvZGVjcz0iKFteIl0qKSIvKTtrPWs/a1sxXToiIjtoLmF1ZGlvX3RyYWNrX2lkJiYobj1uZXcgd1AoaC5uYW1lLGguYXVkaW9fdHJhY2tfaWQsCiEhaC5pc19kZWZhdWx0KSk7bGV0IEw9aC5lb3RmO249bmV3IG04KHtpdGFnOmguaXRhZyx1cmw6aC51cmwsY29kZWNzOmssd2lkdGg6TnVtYmVyKGgud2lkdGgpLGhlaWdodDpOdW1iZXIoaC5oZWlnaHQpLGZwczpOdW1iZXIoaC5mcHMpLGJpdHJhdGU6TnVtYmVyKGguYml0cmF0ZSksYXVkaW9JdGFnOmguYXVkaW9faXRhZyxVaDpMP3hbTF06dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOmguZHJtX2ZhbWlsaWVzLGtaOm4sYXVkaW9DaGFubmVsczpOdW1iZXIoaC5hdWRpb19jaGFubmVscyl9KTt2W24uaXRhZ109dltuLml0YWddfHxbXTt2W24uaXRhZ10ucHVzaChuKX1yZXR1cm4gdn07CnZhciB4dlU9ZnVuY3Rpb24obixXKXtyZXR1cm4gZ1pbSVsxMF1dKHRoaXMsMSw3ODUyLG4sVyl9OwpMSUM9ZnVuY3Rpb24obixXKXtuLlcuc29tZShEPT5ELmtaPy5nZXRJZCgpPT09Vyk7Cm4uTj1XfTsKZUVpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9W107Zm9yKGxldCBiIG9mIG4uSiliLmJpdHJhdGU8PW4uWD9XLnB1c2goYik6RC5wdXNoKGIpO1cuc29ydCgoYix2KT0+di5iaXRyYXRlLWIuYml0cmF0ZSk7CkQuc29ydCgoYix2KT0+Yi5iaXRyYXRlLXYuYml0cmF0ZSk7Cm4uSj1XLmNvbmNhdChEKX07Ck9tPWZ1bmN0aW9uKG4sVyxEKXtuLmNwbiYmKFc9Zy5FVChXLHtjcG46bi5jcG59KSk7RCYmKFc9Zy5FVChXLHt2WjpEfSkpO3JldHVybiBXfTsKUEU9ZnVuY3Rpb24obixXKXtuPW4uaXRhZy50b1N0cmluZygpO1chPT1udWxsJiYobis9Vy5pdGFnLnRvU3RyaW5nKCkpO3JldHVybiBufTsKZ1laPWZ1bmN0aW9uKG4sVyl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gbnVsbDtuPUtFKFcsbi5TKCJodG1sNV9maWx0ZXJfZm1wNF9pbl9obHMiKSk7aWYoIW4pcmV0dXJuIG51bGw7Vz1bXTt2YXIgRD17fTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobikpZm9yKGxldCB2IG9mIG5bYl0paWYodi5rWil7bGV0IGs9di5rWi5nZXRJZCgpO2lmKCFEW2tdKXtsZXQgaD1uZXcgV0Eoayx2LmtaKTtEW2tdPWg7Vy5wdXNoKGgpfX1yZXR1cm4gVy5sZW5ndGg+MD9XOm51bGx9Owp0bU09ZnVuY3Rpb24obixXLEQsYix2LGssaCl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gZy5wJCgpO3ZhciB4PXt9LEw9WDNTKEQpLGU9S0UoRCxuLlMoImh0bWw1X2ZpbHRlcl9mbXA0X2luX2hscyIpLG4uVy5LLHgpO2lmKCFlKXJldHVybiBoKHtub3Bsc3Q6MX0pLGcucCQoKTtxbGgoZSk7dmFyIEc9e2ZhaXJwbGF5OiJodHRwczovL3lvdXR1YmUuY29tL2FwaS9kcm0vZnBzP2VrPXVuaW5pdGlhbGl6ZWQifSxyO0Q9W107dmFyIE49W10sSD1bXSxBPW51bGwseT0iIjtiPWImJmIubWF0Y2goL2hsc190aW1lZHRleHRfcGxheWxpc3QvKT9uZXcgbTgoe2l0YWc6IjAiLHVybDpiLGNvZGVjczoidnR0Iix3aWR0aDowLGhlaWdodDowLGZwczowLGJpdHJhdGU6MCxrWjpuZXcgd1AoIkVuZ2xpc2giLCJlbiIsITEpfSk6bnVsbDtmb3IobGV0IFEgb2YgT2JqZWN0LmtleXMoZSkpaWYoIW4uUygiaHRtbDVfZGlzYWJsZV9kcm1faGZyXzEwODAiKXx8USE9PSIzODMiJiZRIT09IjM3MyIpZm9yKGxldCBWIG9mIGVbUV0paWYoVi53aWR0aCl7Zm9yKGxldCBIWiBvZiBWLkopaWYoZVtIWl0pe1YuTj0KSFo7YnJlYWt9Vi5OfHwoVi5OPUdIdChlLFYpKTtsZXQgTHQ9ZVtWLk5dO2lmKCFMdCljb250aW51ZTtELnB1c2goVik7Vi5jb250ZW50UHJvdGVjdGlvbj09PSJmYWlycGxheSImJihyPUcpO2xldCB0aT0iIjtWLlVoPT09IlBRIj90aT0ic21wdGUyMDg0IjpWLlVoPT09IkhMRyImJih0aT0iYXJpYi1zdGQtYjY3Iik7dGkmJih5PXRpKTtILnB1c2goWmYoTHQsW1ZdLGIsayxWLml0YWcsVi53aWR0aCxWLmhlaWdodCxWLmZwcyxMLHZvaWQgMCx2b2lkIDAscix0aSkpO2lmKCFBfHxWLndpZHRoKlYuaGVpZ2h0KlYuZnBzPkEud2lkdGgqQS5oZWlnaHQqQS5mcHMpQT1WfWVsc2UgTi5wdXNoKFYpO2Vsc2UgeFtRXT0iZGlzZHJtaGZyIjtILnJlZHVjZSgoUSxWKT0+Vi5rTCgpLmlzRW5jcnlwdGVkKCkmJlEsITApJiYocj1HKTsKdj1NYXRoLm1heCh2LDApO3ZhciB7ZnBzOlQ9MCx3aWR0aDp6PTAsaGVpZ2h0OkM9MH09QXx8e307QT1uLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKTtILnB1c2goWmYoTixELGIsaywiOTMiLHosQyxULEwsImF1dG8iLHYscix5LEEpKTtPYmplY3QuZW50cmllcyh4KS5sZW5ndGgmJmgoeCk7cmV0dXJuIFZQKG4uVyxILGM5KG4sVyksITEpfTsKWmY9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSxHLHIsTixIKXt2YXIgQT0wLHk9IiI7Zm9yKGxldCBUIG9mIG4peXx8KHk9VC5pdGFnKSxULmF1ZGlvQ2hhbm5lbHMmJlQuYXVkaW9DaGFubmVscz5BJiYoQT1ULmF1ZGlvQ2hhbm5lbHMseT1ULml0YWcpO3Y9bmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2F1ZGlvOm5ldyBBTSgwLEEpLHZpZGVvOm5ldyBIUihrLGgseCxudWxsLHZvaWQgMCxlLHZvaWQgMCx2b2lkIDAsTiksY29udGVudFByb3RlY3Rpb246cixBYTp5fSk7bj1uZXcgJHYxKG4sVyxEP1tEXTpbXSxiLCEhSCk7bi5YPUc/RzoxMzY5ODQzO3JldHVybiBuZXcgVW0odixuLEwpfTsKWDNTPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuKWlmKFcudXJsJiYobj1XLnVybC5zcGxpdCgiZXhwaXJlLyIpLCEobi5sZW5ndGg8PTEpKSlyZXR1cm4rblsxXS5zcGxpdCgiLyIpWzBdO3JldHVybiBOYU59OwpHSHQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgT2JqZWN0LmtleXMobikpe2xldCBiPW5bRF1bMF07aWYoIWIud2lkdGgmJmIuY29udGVudFByb3RlY3Rpb249PT1XLmNvbnRlbnRQcm90ZWN0aW9uJiYhYi5hdWRpb0NoYW5uZWxzKXJldHVybiBEfXJldHVybiIifTsKcWxoPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBTZXQ7Zm9yKHZhciBEIG9mIE9iamVjdC52YWx1ZXMobikpaWYoRC5sZW5ndGgpe3ZhciBiPURbMF07Yi5oZWlnaHQmJmIuY29kZWNzLnN0YXJ0c1dpdGgoInZwMDkiKSYmVy5hZGQoYi5oZWlnaHQpfUQ9W107aWYoVy5zaXplKWZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhuKSluW3ZdLmxlbmd0aCYmKGI9blt2XVswXSxiLmhlaWdodCYmVy5oYXMoYi5oZWlnaHQpJiYhYi5jb2RlY3Muc3RhcnRzV2l0aCgidnAwOSIpJiZELnB1c2godikpO2ZvcihsZXQgdiBvZiBEKWRlbGV0ZSBuW3ZdfTsKcnFaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHYgb2YgRCl7aWYoIXZ8fCF2LnVybCljb250aW51ZTtEPVFQKHYudHlwZSwibWVkaXVtIiwiMCIpO2IucHVzaChuZXcgeW4oRCx2LnVybCkpfXJldHVybiBWUChuLlcsYixjOShuLFcpLCExKX07CnNpcj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdLGI9UVAoVy50eXBlLCJhdXRvIixXLml0YWcpO0QucHVzaChuZXcgeW4oYixXLnVybCkpO3JldHVybiBWUChuLlcsRCwhMSwhMCl9OwppaT1mdW5jdGlvbihuKXtyZXR1cm4gbiYmRW1bbl0/RW1bbl06bnVsbH07CnVpPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJtdWx0aXZpZXcudXN0cmVhbWVyX2Rpc2FibGVkIjpjYXNlICJzYWJyLmludmFsaWRfaW5wdXRfc3RyZWFtIjpjYXNlICJzYWJyLmxpdmVfbm9fbWF4X3NxIjpjYXNlICJzYWJyLmxpdmVfdW5hdXRob3JpemVkX3JlcXVlc3QiOmNhc2UgInNhYnIubWFsZm9ybWVkX2NvbmZpZyI6Y2FzZSAic2Fici5tZWRpYV9zZXJ2aW5nX2VuZm9yY2VtZW50X2lkX2Vycm9yIjpjYXNlICJzYWJyLm1ldGFkYXRhX2ZldGNoZXJfZXJyb3IiOmNhc2UgInNhYnIubm9fYXVkaW9fc2VsZWN0ZWQiOmNhc2UgInNhYnIubm9fYXZhaWxhYmxlX2Zvcm1hdHMiOmNhc2UgInNhYnIubm9fcmVkaXJlY3RfdXJsIjpjYXNlICJzYWJyLm5vX3ZpZGVvX3NlbGVjdGVkIjpjYXNlICJzYWJyLm90Zl9ub3Rfc3VwcG9ydGVkIjpjYXNlICJzYWJyLnRvb19tYW55X2NodW5rX3JlYWRlcl9lcnJvcl9yZXRyaWVzIjpyZXR1cm4gbjtkZWZhdWx0OnJldHVybiJzYWJyLmNvbmZpZyJ9fTsKb0E9ZnVuY3Rpb24obixXKXtpZihXPVc/LndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRPbmVzaWVDb25maWc/Lmh0bWw1UGxheWJhY2tPbmVzaWVDb25maWcpbi5RYT1uZXcgTiR3KFcpfTsKVGw9ZnVuY3Rpb24obixXLEQsYil7bnx8KG49VyYmZGMuaGFzT3duUHJvcGVydHkoVykmJnpsLmhhc093blByb3BlcnR5KFcpP3psW1ddKyJfIitkY1tXXTp2b2lkIDApO1c9bjtpZighVylyZXR1cm4gbnVsbDtuPVcubWF0Y2gobGkpO2lmKCFufHxuLmxlbmd0aCE9PTUpcmV0dXJuIG51bGw7e2xldCBrPVcubWF0Y2gobGkpO2lmKGspe249TnVtYmVyKGtbM10pO3ZhciB2PVs3LDgsMTAsNSw2XTtuPSEoTnVtYmVyKGtbMV0pPT09MSYmbj09PTgpJiZ2LmluZGV4T2Yobik+PTB9ZWxzZSBuPSExfXJldHVybiBEfHxifHxuP1c6bnVsbH07CkNFPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKGpNKSl7dmFyIGI9Vz9XK3Y6djtiPW5bYisiX3dlYnAiXXx8bltiXTtnLmpJKGIpJiYoRFtqTVt2XV09Yil9cmV0dXJuIER9Owp3Yz1mdW5jdGlvbihuKXt2YXIgVz17fTtpZighbnx8IW4udGh1bWJuYWlscylyZXR1cm4gVztuPW4udGh1bWJuYWlscy5maWx0ZXIodj0+ISF2LnVybCk7Cm4uc29ydCgodixrKT0+di53aWR0aC1rLndpZHRofHx2LmhlaWdodC1rLmhlaWdodCk7CmZvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhCRSkpe3ZhciBiPU51bWJlcihEKTtsZXQgdj1CRVtiXTtmb3IobGV0IGsgb2YgbilpZihrLndpZHRoPj1iKXtiPUZDKGsudXJsKTtnLmpJKGIpJiYoV1t2XT1iKTticmVha319KEQ9bi5wb3AoKSkmJkQud2lkdGg+PTEyODAmJihEPUZDKEQudXJsKSxnLmpJKEQpJiYoV1sibWF4cmVzZGVmYXVsdC5qcGciXT1EKSk7cmV0dXJuIFd9OwpGQz1mdW5jdGlvbihuKXtyZXR1cm4gbi5zdGFydHNXaXRoKCIvLyIpPyJodHRwczoiK246bn07Ck1GPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLmJhc2VVcmx8fCIifTsKUkE9ZnVuY3Rpb24obil7bj1nLm9FKG4pO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSl7bGV0IEQ9bltXXTtuW1ddPUFycmF5LmlzQXJyYXkoRCk/RFswXTpEfXJldHVybiBufTsKWWx3PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEIG9mIFcpaWYoVz1ELnBsYXllckFubm90YXRpb25zVXJsc1JlbmRlcmVyKXtXLmFkc09ubHkmJihuLlJtPSEwKTtpZihEPVcubG9hZFBvbGljeSluLmFubm90YXRpb25zTG9hZFBvbGljeT1wM01bRF07aWYoRD1XLmludmlkZW9Vcmwpbi5lYT1GTihEKTtuLnk1PSEwO2JyZWFrfX07ClFuPWZ1bmN0aW9uKG4sVyl7bi5ib3RndWFyZERhdGE9Vy5wbGF5ZXJBdHRlc3RhdGlvblJlbmRlcmVyLmJvdGd1YXJkRGF0YTtXPVcucGxheWVyQXR0ZXN0YXRpb25SZW5kZXJlci5jaGFsbGVuZ2U7VyE9bnVsbCYmKG4ucEs9Vyl9OwpIVng9ZnVuY3Rpb24obixXKXtuLmNhcHRpb25UcmFja3M9W107aWYoVy5jYXB0aW9uVHJhY2tzKWZvcih2YXIgRCBvZiBXLmNhcHRpb25UcmFja3Mpe3ZhciBiPVZuKEQuYmFzZVVybCk7aWYoIWIpcmV0dXJuO2I9e2lzX3RyYW5zbGF0ZWFibGU6ISFELmlzVHJhbnNsYXRhYmxlLGxhbmd1YWdlQ29kZTpELmxhbmd1YWdlQ29kZSxsYW5ndWFnZU5hbWU6RC5uYW1lJiZnLkRwKEQubmFtZSksdXJsOmIsdnNzX2lkOkQudnNzSWQsa2luZDpELmtpbmR9O2IubmFtZT1ELnRyYWNrTmFtZTtiLmRpc3BsYXlOYW1lPUQubmFtZSYmZy5EcChELm5hbWUpO24uY2FwdGlvblRyYWNrcy5wdXNoKG5ldyBnLlF3KGIpKX1uLlR3PVcuYXVkaW9UcmFja3N8fFtdO24uTyQ9Vy5kZWZhdWx0QXVkaW9UcmFja0luZGV4fHwwO24ucnA9W107aWYoVy50cmFuc2xhdGlvbkxhbmd1YWdlcylmb3IobGV0IHYgb2YgVy50cmFuc2xhdGlvbkxhbmd1YWdlcyl7RD17fTtELmxhbmd1YWdlQ29kZT12Lmxhbmd1YWdlQ29kZTsKRC5sYW5ndWFnZU5hbWU9Zy5EcCh2Lmxhbmd1YWdlTmFtZSk7aWYodi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyl7RC50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcz1bXTtmb3IobGV0IGsgb2Ygdi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcylELnRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzLnB1c2goayl9aWYodi5leGNsdWRlQXVkaW9UcmFja0luZGljZXMpe0QuZXhjbHVkZUF1ZGlvVHJhY2tJbmRpY2VzPVtdO2ZvcihsZXQgayBvZiB2LmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcylELmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcy5wdXNoKGspfW4ucnAucHVzaChEKX1uLmc1PVtdO2lmKFcuZGVmYXVsdFRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzKWZvcihsZXQgdiBvZiBXLmRlZmF1bHRUcmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyluLmc1LnB1c2godil9Owpmb2k9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcuZXJyb3JTY3JlZW47aWYoIShiJiYoYi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcnx8Yi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyfHxiLnlwY1RyYWlsZXJSZW5kZXJlcil8fEQmJkQuaXNVcGNvbWluZ3x8WyJPSyIsIkxJVkVfU1RSRUFNX09GRkxJTkUiLCJGVUxMU0NSRUVOX09OTFkiXS5pbmNsdWRlcyhXLnN0YXR1cykpKXtuLmVycm9yQ29kZT1paShXLmVycm9yQ29kZSl8fCJhdXRoIjtpZihEPWImJmIucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIpe24ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI9RDtsZXQgdj1ELnJlYXNvbjt2JiYobi5lcnJvclJlYXNvbj1nLkRwKHYpKTtpZihEPUQuc3VicmVhc29uKW4ud2k9Zy5EcChEKSxuLlRZPUR9ZWxzZSBuLmVycm9yUmVhc29uPVcucmVhc29ufHxudWxsO0Q9Vy5zdGF0dXM7RD09PSJMT0dJTl9SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0KIjEiOkQ9PT0iQ09OVEVOVF9DSEVDS19SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0iMiI6RD09PSJBR0VfQ0hFQ0tfUkVRVUlSRUQiPyhXPShXPVcuZXJyb3JTY3JlZW4pJiZXLnBsYXllckthdlJlbmRlcmVyLG4uZXJyb3JEZXRhaWw9VyYmVy5rYXZVcmw/IjQiOiIzIik6KGI9Yj8ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI/LnByb2NlZWRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5jb21tYW5kLG4uZXJyb3JEZXRhaWw9Vy5pc0Jsb2NrZWRJblJlc3RyaWN0ZWRNb2RlPyI1IjpnLncoYixnLmNFKT8uc2lnbmFsPT09IlJFTE9BRF9QQUdFIj8iNyI6IjAiKX19OwpKcVo9ZnVuY3Rpb24obixXKXtuLllpPSEwO3ZhciBEPVcuaGVhcnRiZWF0VG9rZW47bi5kcm1TZXNzaW9uSWQ9Vy5kcm1TZXNzaW9uSWR8fCIiO24uaGVhcnRiZWF0VG9rZW49RHx8IiI7bi5zRT1OdW1iZXIoVy5pbnRlcnZhbE1pbGxpc2Vjb25kcyk7bi5sND1OdW1iZXIoVy5tYXhSZXRyaWVzKTtuLkg2PSEhVy5zb2Z0RmFpbE9uRXJyb3I7bi5EZD0hIVcudXNlSW5uZXJ0dWJlSGVhcnRiZWF0c0ZvckRybTtuLmhlYXJ0YmVhdFNlcnZlckRhdGE9Vy5oZWFydGJlYXRTZXJ2ZXJEYXRhO24uUE09ISFXLmhlYXJ0YmVhdEF0dGVzdGF0aW9uQ29uZmlnPy5yZXF1aXJlc0F0dGVzdGF0aW9ufTsKQXExPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9RC5pbnRlcnN0aXRpYWxzLm1hcChiPT57dmFyIHY9Zy53KGIsSW9iKTtpZih2KXJldHVybntpc195dG9faW50ZXJzdGl0aWFsOiEwLHJhd19wbGF5ZXJfcmVzcG9uc2U6dn07aWYoYj1nLncoYixTbE0pKXJldHVybiBPYmplY3QuYXNzaWduKHtpc195dG9faW50ZXJzdGl0aWFsOiEwfSxnLml3KGIpKX0pOwpmb3IobGV0IGIgb2YgVylzd2l0Y2goRC5wb2RDb25maWcucGxheWJhY2tQbGFjZW1lbnQpe2Nhc2UgIklOVEVSU1RJVElBTF9QTEFZQkFDS19QTEFDRU1FTlRfUFJFIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZTowLHBsYXllclZhcnM6YixrcTo1fSk7YnJlYWs7Y2FzZSAiSU5URVJTVElUSUFMX1BMQVlCQUNLX1BMQUNFTUVOVF9QT1NUIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZToweDdmZmZmZmZmZmZmZmYscGxheWVyVmFyczpiLGtxOjZ9KTticmVhaztjYXNlICJJTlRFUlNUSVRJQUxfUExBWUJBQ0tfUExBQ0VNRU5UX0lOU0VSVF9BVF9WSURFT19USU1FIjpXPU51bWJlcihELnBvZENvbmZpZy50aW1lVG9JbnNlcnRBdE1pbGxpcyksbi5pbnRlcnN0aXRpYWxzPW4uaW50ZXJzdGl0aWFscy5jb25jYXQoe3RpbWU6VyxwbGF5ZXJWYXJzOmIsa3E6Vz09PTA/NTo3fSl9fX07Cm12aj1mdW5jdGlvbihuLFcpe2lmKFc9Vy5maW5kKEQ9PiEoIUR8fCFELnRvb2x0aXBSZW5kZXJlcikpKW4udG9vbHRpcFJlbmRlcmVyPVcudG9vbHRpcFJlbmRlcmVyfTsKYUE9ZnVuY3Rpb24obixXKXtXLnN1YnNjcmliZUNvbW1hbmQmJihuLnN1YnNjcmliZUNvbW1hbmQ9Vy5zdWJzY3JpYmVDb21tYW5kKTtXLnVuc3Vic2NyaWJlQ29tbWFuZCYmKG4udW5zdWJzY3JpYmVDb21tYW5kPVcudW5zdWJzY3JpYmVDb21tYW5kKTtXLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQmJihuLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQ9Vy5hZGRUb1dhdGNoTGF0ZXJDb21tYW5kKTtXLnJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZCYmKG4ucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kPVcucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kKTtXLmdldFNoYXJlUGFuZWxDb21tYW5kJiYobi5nZXRTaGFyZVBhbmVsQ29tbWFuZD1XLmdldFNoYXJlUGFuZWxDb21tYW5kKX07Cm5MPWZ1bmN0aW9uKG4sVyl7VyE9bnVsbD8obi5yUj1XLG4uaU49ITApOihuLnJSPSIiLG4uaU49ITEpfTsKUG4xPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKW5MKG4sVy5jb250cm9sQmdIdG1sKSxXLm11dGVkQXV0b3BsYXk/KFc9Zy53KFcubXV0ZWRBdXRvcGxheSxLSTEpKSYmVy5lbmRTY3JlZW4mJihXPWcudyhXLmVuZFNjcmVlbixPVngpKSYmVy50ZXh0JiYobi5NVj1nLkRwKFcudGV4dCkpOm4ubXV0ZWRBdXRvcGxheT0hMX07ClpWaT1mdW5jdGlvbihuLFcpe3ZhciBEPVcuYmFja2dyb3VuZGFiaWxpdHk7RCYmRC5iYWNrZ3JvdW5kYWJpbGl0eVJlbmRlcmVyLmJhY2tncm91bmRhYmxlJiYobi5iYWNrZ3JvdW5kYWJsZT0hMCk7Vy5vZmZsaW5lYWJpbGl0eT8ub2ZmbGluZWFiaWxpdHlSZW5kZXJlcj8ub2ZmbGluZWFibGUmJihuLm9mZmxpbmVhYmxlPSEwKTtpZihEPVcuY29udGV4dFBhcmFtcyluLmNvbnRleHRQYXJhbXM9RDsoRD1XLnBpY3R1cmVJblBpY3R1cmUpJiZELnBpY3R1cmVJblBpY3R1cmVSZW5kZXJlci5wbGF5YWJsZUluUGlwJiYobi5waXBhYmxlPSEwKTtXLnBsYXlhYmxlSW5FbWJlZCYmKG4uYWxsb3dFbWJlZD0hMCk7aWYoRD1XLnlwY0NsaWNrd3JhcClXPUQucGxheWVyTGVnYWN5RGVza3RvcFlwY0NsaWNrd3JhcFJlbmRlcmVyLEQ9RC55cGNSZW50YWxBY3RpdmF0aW9uUmVuZGVyZXIsVz8obi5Jaz1XLmR1cmF0aW9uTWVzc2FnZXx8IiIsbi5EbD0hMCk6RCYmKFc9RC5kdXJhdGlvbk1lc3NhZ2UsCm4uSWs9Vz9nLkRwKFcpOiIiLG4uRGw9ITApfTsKeXExPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1NRihXLmdvb2dsZVJlbWFya2V0aW5nVXJsKTtiJiYobi5nb29nbGVSZW1hcmtldGluZ1VybD1iKTtpZihiPU1GKFcueW91dHViZVJlbWFya2V0aW5nVXJsKSluLnlvdXR1YmVSZW1hcmtldGluZ1VybD1iO2lmKGI9Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW4pbi5oZWFydGJlYXRMb2dnaW5nVG9rZW49YjtiPXt9O3ZhciB2PU1GKFcucHRyYWNraW5nVXJsKTtpZih2KXt2PVJBKHYpO3ZhciBrPXYub2lkO2smJihuLlhvPWspO2lmKGs9di5wbHR5cGUpbi5xOD1rO2lmKGs9di5wdGNobiluLmgxPWs7aWYoaz12LnB0ayluLnh6PWVuY29kZVVSSUNvbXBvbmVudChrKTtpZih2PXYubSluLnk5PXZ9aWYodj1NRihXLnFvZVVybCkpe3Y9Zy5vRSh2KTtmb3IoaCBvZiBPYmplY3Qua2V5cyh2KSlrPXZbaF0sdltoXT1BcnJheS5pc0FycmF5KGspP2suam9pbigiLCIpOms7dmFyIGg9djtuLnpiPWg7aWYodj1oLmNhdCluLlMoImh0bWw1X2VuYWJsZV9xb2VfY2F0X2xpc3QiKT8Kbi5rSz1uLmtLLmNvbmNhdCh2LnNwbGl0KCIsIikpOm4ua3k9djtpZih2PWgubGl2ZSluLnVoPXY7aWYoaD1oLmRybV9wcm9kdWN0KW4uZHJtUHJvZHVjdD1ofWlmKGg9TUYoVy52aWRlb3N0YXRzUGxheWJhY2tVcmwpKXtoPVJBKGgpO2lmKHY9aC5hZGZvcm1hdClpZihELmFkZm9ybWF0PXYsaz1uLkcoKSxrPVRsKHYsbi5GdyxrLkosay5LKSluLmFkRm9ybWF0PWs7aWYoaz1oLmFxaSlELmFkX3F1ZXJ5X2lkPWs7aWYoRD1oLmF1dG9wbGF5KW4uR3U9RD09IjEiLG4uVlQ9RD09IjEiO2lmKEQ9aC5hdXRvbmF2KW4uaXNBdXRvbmF2PUQ9PSIxIjtpZihEPWguZGVsYXkpbi5vRD1nLk5oKEQpO2lmKEQ9aC5laSluLmV2ZW50SWQ9RDtpZihEPWcuZDEoaC5hZGNvbnRleHQpKXRyeXt2YXIgeD1VdjIoRCk7eCYmKG4uZk49eCl9Y2F0Y2goTCl7Zy5HcShFcnJvcigiTWFsZm9ybWVkIGFkQ29udGV4dCIpKX1pZihEfHx2KW4uR3U9ITA7aWYoeD1oLmZlYXR1cmUpbi5TOT14O2lmKHg9aC5saXN0KW4ucGxheWxpc3RJZD0KeDtpZih4PWgub2Ypbi5SSD14O2lmKHg9aC5vc2lkKW4ub3NpZD14O2lmKHg9aC5yZWZlcnJlciluLnJlZmVycmVyPXg7aWYoeD1oLnNkZXRhaWwpbi53dT14O2lmKHg9aC5zb3VyY2VpZCluLmJJPXg7aWYoeD1oLnNzcnQpbi5BUj14PT0iMSI7aWYoeD1oLnN1YnNjcmliZWQpbi5zdWJzY3JpYmVkPXg9PSIxIjtpZih4PWgudWdhKW4udXNlckdlbmRlckFnZT14O2lmKHg9aC51cHQpbi5IcT14O2lmKHg9aC52bSluLnZpZGVvTWV0YWRhdGE9eDtiLnBsYXliYWNrPWh9aWYoeD1NRihXLnZpZGVvc3RhdHNXYXRjaHRpbWVVcmwpKXt4PVJBKHgpO2lmKEQ9eC5hbGQpbi5GTD1EO2Iud2F0Y2h0aW1lPXh9aWYoeD1NRihXLmF0clVybCkpeD1SQSh4KSxiLmF0cj14O2lmKHg9TUYoVy5lbmdhZ2VVcmwpKXg9UkEoeCksYi5lbmdhZ2U9eDtuLlhUPWI7Vy5wcm9tb3RlZFBsYXliYWNrVHJhY2tpbmcmJihiPVcucHJvbW90ZWRQbGF5YmFja1RyYWNraW5nLGIuc3RhcnRVcmxzJiYobi5Gcj1iLnN0YXJ0VXJscyksCmIuZmlyc3RRdWFydGlsZVVybHMmJihuLndOPWIuZmlyc3RRdWFydGlsZVVybHMpLGIuc2Vjb25kUXVhcnRpbGVVcmxzJiYobi5DdD1iLnNlY29uZFF1YXJ0aWxlVXJscyksYi50aGlyZFF1YXJ0aWxlVXJscyYmKG4ub0g9Yi50aGlyZFF1YXJ0aWxlVXJscyksYi5jb21wbGV0ZVVybHMmJihuLkF0PWIuY29tcGxldGVVcmxzKSxiLmVuZ2FnZWRWaWV3VXJscyYmKGIuZW5nYWdlZFZpZXdVcmxzLmxlbmd0aD4xJiZnLkdxKG5ldyBnLlF4KCJUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBlbmdhZ2VkX3ZpZXdfdXJscy4iKSksbi5EeD1iLmVuZ2FnZWRWaWV3VXJsc1swXSkpO1cuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKG4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1XLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpO1cudnNzM0NvbmZpZz8uc2VyaWFsaXplZFdhdGNoVGltZUNvbnRleHREYXRhJiYobi5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGE9ClcudnNzM0NvbmZpZy5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGEpfTsKRVkxPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVylpZihiJiYoVz1iLnBsYXllckxlZ2FjeURlc2t0b3BXYXRjaEFkc1JlbmRlcmVyKSYmKFc9Vy5wbGF5ZXJBZFBhcmFtcykpe1cuYXV0b3BsYXk9PSIxIiYmKG4uR3U9ITAsbi5WVD0hMCk7bi5Jbz1XLmVuY29kZWRBZFNhZmV0eVJlYXNvbnx8bnVsbDtXLnNob3dDb250ZW50VGh1bWJuYWlsIT09dm9pZCAwJiYobi5xMj0hIVcuc2hvd0NvbnRlbnRUaHVtYm5haWwpO0QuZW5hYmxlZF9lbmdhZ2VfdHlwZXM9Vy5lbmFibGVkRW5nYWdlVHlwZXM7YnJlYWt9fTsKaVYyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5tYW5pZmVzdGxlc3NXaW5kb3dlZExpdmVDb25maWc7aWYoRCl7dmFyIGI9TnVtYmVyKEQubWluRHZyU2VxdWVuY2UpLHY9TnVtYmVyKEQubWF4RHZyU2VxdWVuY2UpLGs9TnVtYmVyKEQubWluRHZyTWVkaWFUaW1lTXMpLGg9TnVtYmVyKEQubWF4RHZyTWVkaWFUaW1lTXMpO0Q9TnVtYmVyKEQuc3RhcnRXYWxsdGltZU1zKTtiJiYobi5JdD1iKTtrJiYobi5KVT1rLzFFMyxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJmcuWU4obikmJihuLkgyPWsvMUUzKSk7diYmKG4uSFA9dik7aCYmKG4ub1I9aC8xRTMsbi5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpJiZnLllOKG4pJiYobi5XTT1oLzFFMykpO0QmJihuLklUPUQvMUUzKTsoYnx8aykmJih2fHxoKSYmKG4uUkk9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCxuLmFsbG93TGl2ZUR2cj0KITAsbi5YZz0hMSl9aWYoYj1XLmRhaUNvbmZpZyl7aWYoYi5lbmFibGVEYWkpe24uTFk9ITA7aWYodj1iLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpKW4uZW5hYmxlU2VydmVyU3RpdGNoZWREYWk9djtpZih2PWIuZW5hYmxlUHJlcm9sbCluLktkPXZ9aWYoYi5kYWlUeXBlPT09IkRBSV9UWVBFX1NTX0RJU0FCTEVEInx8Yi5kZWJ1Z0luZm8/LmlzRGlzYWJsZWRVbnBsdWdnZWRDaGFubmVsKW4uSmw9ITA7IW4uUygiaHRtbDVfdW1wX3N0aXRjaGVkX21ldGFkYXRhX3Vuc3BlY2lmaWVkX2hhbmRsaW5nIil8fGIuZGFpVHlwZSE9PSJEQUlfVFlQRV9VTlNQRUNJRklFRCImJmIuZGFpVHlwZSE9PXZvaWQgMHx8KG4uakY9ITApO2IuZGFpVHlwZT09PSJEQUlfVFlQRV9DTElFTlRfU1RJVENIRUQiJiYobi5DVT0hMCk7Yi5hbGxvd1VzdHJlYW1lclJlcXVlc3RBZGNvbmZpZyYmKG4uUTY9ITApO2Iuc2VuZFNzZGFpTWlzc2luZ0FkQnJlYWtSZWFzb25zJiYobi5LVj0hMCl9aWYoYj1XLmF1ZGlvQ29uZmlnKXt2PQpuLmhnO2IudHJhY2tBYnNvbHV0ZUxvdWRuZXNzTGtmcyE9bnVsbCYmKHYuSj1iLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMpO2IubG91ZG5lc3NUYXJnZXRMa2ZzIT1udWxsJiYodi5sb3VkbmVzc1RhcmdldExrZnM9Yi5sb3VkbmVzc1RhcmdldExrZnMpO2IubG91ZG5lc3NEYiE9bnVsbCYmKHYuVz1iLmxvdWRuZXNzRGIpO2lmKGs9Yi5sb3VkbmVzc05vcm1hbGl6YXRpb25Db25maWcpay5hcHBseVN0YXRlZnVsTm9ybWFsaXphdGlvbiYmKHYuYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb249ITApLGsucHJlc2VydmVTdGF0ZWZ1bExvdWRuZXNzVGFyZ2V0JiYodi5wcmVzZXJ2ZVN0YXRlZnVsTG91ZG5lc3NUYXJnZXQ9ITApLGsubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyE9bnVsbCYmKHYubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcz1rLm1pbmltdW1Mb3VkbmVzc1RhcmdldExrZnMpO3Y9Yi5sb3VkbmVzc0RiO3YhPW51bGwmJihuLllLPXYpO2IuYXVkaW9NdXRlZCYmKG4ueWw9CiEwKTtiLm11dGVPblN0YXJ0JiYobi5OMD0hMCk7Yi5wbGF5QXVkaW9Pbmx5JiYobi5KZz0hMCl9aWYodj1XLnBsYXliYWNrRW5kQ29uZmlnKWI9di5lbmRTZWNvbmRzLHY9di5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcyxuLm11dGVkQXV0b3BsYXkmJihiJiYobi5lbmRTZWNvbmRzPWIpLHYmJihuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPXYpKTtpZihiPVcuZmFpclBsYXlDb25maWcpe2lmKHY9Yi5jZXJ0aWZpY2F0ZSluLkNpPWcuZDEodik7dj1OdW1iZXIoYi5rZXlSb3RhdGlvblBlcmlvZE1zKTt2PjAmJihuLlY5PXYpO2I9TnVtYmVyKGIua2V5UHJlZmV0Y2hNYXJnaW5Ncyk7Yj4wJiYobi5qaT1iKX1pZigoYj1XLnBsYXliYWNrU3RhcnRDb25maWcpJiYhbi5OVil7bi52RT1OdW1iZXIoYi5zdGFydFNlY29uZHMpO2s9Yi5saXZlVXRjU3RhcnRTZWNvbmRzO3Y9ISFuLmxpdmVVdGNTdGFydFNlY29uZHMmJm4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz4wOwprJiYhdiYmKG4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz1OdW1iZXIoaykpO2lmKGs9Yi5zdGFydFBvc2l0aW9uKWlmKChoPWsudXRjVGltZU1pbGxpcykmJiF2JiYobi5saXZlVXRjU3RhcnRTZWNvbmRzPU51bWJlcihoKSouMDAxKSx2PWsuc3RyZWFtVGltZU1pbGxpcyluLlVyPU51bWJlcih2KSouMDAxO24ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPWIucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uO24ucHJvZ3Jlc3NCYXJFbmRQb3NpdGlvbj1iLnByb2dyZXNzQmFyRW5kUG9zaXRpb259ZWxzZSBpZihiPVcuc2tpcHBhYmxlU2VnbWVudHNDb25maWcpe2lmKHY9Yi5pbnRyb1NraXBEdXJhdGlvbk1zKW4uUEU9TnVtYmVyKHYpLzFFMztpZihiPWIub3V0cm9Ta2lwRHVyYXRpb25NcyluLm50PU51bWJlcihiKS8xRTN9aWYodj1XLnNraXBwYWJsZUludHJvQ29uZmlnKWI9TnVtYmVyKHYuc3RhcnRNcyksdj1OdW1iZXIodi5lbmRNcyksaXNOYU4oYil8fGlzTmFOKHYpfHwobi53Qj1iLG4uQXA9CnYpO2lmKGI9Vy5zdHJlYW1TZWxlY3Rpb25Db25maWcpbi5HZj1OdW1iZXIoYi5tYXhCaXRyYXRlKTtpZihiPVcudnJDb25maWcpbi5Kbz1iLnBhcnRpYWxTcGhlcmljYWw9PSIxIjtpZihiPVcud2ViRHJtQ29uZmlnKXtiLnNraXBXaWRldmluZSYmKG4uSmo9ITApO2lmKHY9Yi53aWRldmluZVNlcnZpY2VDZXJ0KW4uRmM9Zy5kMSh2KTtiLnVzZUNvYmFsdFdpZGV2aW5lJiYobi51c2VDb2JhbHRXaWRldmluZT0hMCk7Yi5zdGFydFdpdGhOb1F1YWxpdHlDb25zdHJhaW50JiYobi5aOT0hMCl9aWYoYj1XLm1lZGlhQ29tbW9uQ29uZmlnKXtpZih2PWIuZHluYW1pY1JlYWRhaGVhZENvbmZpZyl7bi5tYXhSZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1heFJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1pblJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5yZWFkQWhlYWRHcm93dGhSYXRlTXM9di5yZWFkQWhlYWRHcm93dGhSYXRlTXN8fE5hTjsKaWYodj1iPy5tZWRpYVVzdHJlYW1lclJlcXVlc3RDb25maWc/LnZpZGVvUGxheWJhY2tVc3RyZWFtZXJDb25maWcpbi5hST1nLmQxKHYpO2lmKCh2PWI/LnNhYnJDb250ZXh0VXBkYXRlcykmJnYubGVuZ3RoPjApZm9yKHZhciB4IG9mIHYpeC50eXBlJiZ4LnZhbHVlJiYodj17dHlwZTp4LnR5cGUsc2NvcGU6eC5zY29wZSx2YWx1ZTpnLmQxKHgudmFsdWUpfHx2b2lkIDAsc2VuZEJ5RGVmYXVsdDp4LnNlbmRCeURlZmF1bHR9LG4uc2FickNvbnRleHRVcGRhdGVzLnNldCh4LnR5cGUsdikpfWlmKHg9Yi5zZXJ2ZXJQbGF5YmFja1N0YXJ0Q29uZmlnKW4uc2VydmVyUGxheWJhY2tTdGFydENvbmZpZz14O2IudXNlU2VydmVyRHJpdmVuQWJyJiYobi5ERT0hMCk7aWYoeD1iLnJlcXVlc3RQaXBlbGluaW5nQ29uZmlnKW4ucmVxdWVzdFBpcGVsaW5pbmdDb25maWc9eH1pZih4PVcuaW5saW5lUGxheWJhY2tDb25maWcpbi52MT0hIXguc2hvd0F1ZGlvQ29udHJvbHM7aWYoeD1XLmVtYmVkZGVkUGxheWVyQ29uZmlnKXtuLmVtYmVkZGVkUGxheWVyQ29uZmlnPQp4O2lmKHY9eC5lbWJlZGRlZFBsYXllck1vZGUpYj1uLkcoKSxiLmNKPXYsYi5EPXY9PT0iRU1CRURERURfUExBWUVSX01PREVfUEZMIjtpZih4PXgucGVybWlzc2lvbnMpbi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hIXguYWxsb3dJbWFNb25ldGl6YXRpb259aWYoeD1XLndlYlBsYXllckNvbmZpZylpZih4LmdhdGV3YXlFeHBlcmltZW50R3JvdXAmJihuLmdhdGV3YXlFeHBlcmltZW50R3JvdXA9eC5nYXRld2F5RXhwZXJpbWVudEdyb3VwKSx4LmlzUHJveGltYUVsaWdpYmxlJiYobi5pc1Byb3hpbWFMYXRlbmN5RWxpZ2libGU9ITApLHg9eC5tdWx0aUFzcGVjdFN0cmVhbWluZ0NvbmZpZyluLldrPSEwLG4ucGxheWVyT3JpZW50YXRpb249eC5wbGF5ZXJPcmllbnRhdGlvbix4LnBsYXllck9yaWVudGF0aW9uPT09IlBMQVlFUl9PUklFTlRBVElPTl9IT1JJWk9OVEFMIj9uLkJqPXgudmVydGljYWxDb21tYW5kfHxudWxsOngucGxheWVyT3JpZW50YXRpb249PT0iUExBWUVSX09SSUVOVEFUSU9OX1ZFUlRJQ0FMIiYmCihuLkJqPXguaG9yaXpvbnRhbENvbW1hbmR8fG51bGwpO1c9Vy5wbGF5ZXJDb250cm9sc0NvbmZpZztXPy5pc1NlZWthYmxlIT09dm9pZCAwJiYobi5pc1NlZWthYmxlPSEhVy5pc1NlZWthYmxlKX07CnU2Uz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5mb3JtYXRzO2lmKGIpe3ZhciB2PVtdO2Zvcih2YXIgayBvZiBiKXYucHVzaChgJHtrLml0YWd9LyR7ay53aWR0aH14JHtrLmhlaWdodH1gKTtuLkdqPXYuam9pbigiLCIpO3Y9W107Zm9yKHZhciBoIG9mIGIpe2I9e2l0YWc6aC5pdGFnLHR5cGU6aC5taW1lVHlwZSxxdWFsaXR5OmgucXVhbGl0eX07KGs9aC51cmwpJiYoYi51cmw9ayk7bGV0IHt4aTpOLEVsOkgseTc6QSxzOnl9PVAwKDcsNjkyLGgpO04mJihiLnVybD1ILGIuc3A9QSxiLnM9eSk7di5wdXNoKHlHKGIpKX1uLmNmPXYuam9pbigiLCIpfWlmKGg9Vy5obHNGb3JtYXRzKXt2PXt9O2lmKEQmJihEPUQuYXVkaW9QYWlyaW5nQ29uZmlnKSYmRC5wYWlycylmb3IodmFyIHggb2YgRC5wYWlycylEPXgudmlkZW9JdGFnLHZbRF18fCh2W0RdPVtdKSx2W0RdLnB1c2goeC5hdWRpb0l0YWcpO3g9e307Zm9yKHZhciBMIG9mIGgpeFtMLml0YWddPUwuYml0cmF0ZTtMPVtdO2ZvcihHIG9mIGgpe0Q9CntpdGFnOkcuaXRhZyx0eXBlOkcubWltZVR5cGUsdXJsOkcudXJsLGJpdHJhdGU6Ry5iaXRyYXRlLHdpZHRoOkcud2lkdGgsaGVpZ2h0OkcuaGVpZ2h0LGZwczpHLmZwc307aWYoaD1HLmF1ZGlvVHJhY2spaWYoYj1oLmRpc3BsYXlOYW1lKUQubmFtZT1iLEQuYXVkaW9fdHJhY2tfaWQ9aC5pZCxoLmF1ZGlvSXNEZWZhdWx0JiYoRC5pc19kZWZhdWx0PSIxIik7aWYoRy5kcm1GYW1pbGllcyl7aD1bXTtmb3IodmFyIGUgb2YgRy5kcm1GYW1pbGllcyloLnB1c2goSlpbZV0pO0QuZHJtX2ZhbWlsaWVzPWguam9pbigiLCIpfShoPXZbRy5pdGFnXSkmJmgubGVuZ3RoJiYoRC5hdWRpb19pdGFnPWguam9pbigiLCIpLChoPXhbaFswXV0pJiYoRC5iaXRyYXRlKz1oKSk7KGg9TiQoRykpJiYoRC5lb3RmPWgpO0cuYXVkaW9DaGFubmVscyYmKEQuYXVkaW9fY2hhbm5lbHM9Ry5hdWRpb0NoYW5uZWxzKTtMLnB1c2goeUcoRCkpfXZhciBHPUwuam9pbigiLCIpO24uaGxzRm9ybWF0cz1HfWlmKChlPQpXLmxpY2Vuc2VJbmZvcykmJmUubGVuZ3RoPjApe0c9e307Zm9yKHZhciByIG9mIGUpZT1yLmRybUZhbWlseSx2PXIudXJsLGUmJnYmJihHW0paW2VdXT12KTtuLmNvbnRlbnRQcm90ZWN0aW9uPUd9aWYocj1XLmRybVBhcmFtcyluLmRybVBhcmFtcz1yO2lmKHI9Vy5kYXNoTWFuaWZlc3RVcmwpbi5UZj1nLkVUKHIse2NwbjpuLmNsaWVudFBsYXliYWNrTm9uY2V9KTtpZihyPVcuaGxzTWFuaWZlc3RVcmwpbi5obHN2cD1yO2lmKHI9Vy5wcm9iZVVybCluLnByb2JlVXJsPUZOKGcuRVQocix7Y3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pKTtpZihXPVcuc2VydmVyQWJyU3RyZWFtaW5nVXJsKW4ubEM9bmV3IGcud1ooVywhMCl9OwpvWU09ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW9JZDtiJiYobi52aWRlb0lkPWIsRC52aWRlb19pZHx8KEQudmlkZW9faWQ9YikpO2lmKGI9Vy50aXRsZSluLnRpdGxlPWIsRC50aXRsZXx8KEQudGl0bGU9Yik7aWYoYj1XLmxlbmd0aFNlY29uZHMpbi5sZW5ndGhTZWNvbmRzPU51bWJlcihiKSxELmxlbmd0aF9zZWNvbmRzfHwoRC5sZW5ndGhfc2Vjb25kcz1iKTtpZihiPVcua2V5d29yZHMpbi5rZXl3b3Jkcz1XaihiKTtpZihiPVcuY2hhbm5lbElkKW4uRjk9YixELnVjaWR8fChELnVjaWQ9Yik7aWYoYj1XLnZpZXdDb3VudCluLnJhd1ZpZXdDb3VudD1OdW1iZXIoYik7aWYoYj1XLmF1dGhvciluLmF1dGhvcj1iLEQuYXV0aG9yfHwoRC5hdXRob3I9Yik7aWYoRD1XLnNob3J0RGVzY3JpcHRpb24pbi5zaG9ydERlc2NyaXB0aW9uPUQ7aWYoRD1XLmlzQ3Jhd2xhYmxlKW4uaXNMaXN0ZWQ9RDtpZihEPVcubXVzaWNWaWRlb1R5cGUpbi5tdXNpY1ZpZGVvVHlwZT1EO0Q9Vy5pc0xpdmU7CkQhPW51bGwmJihuLmlzTGl2ZVBsYXliYWNrPUQpO2lmKER8fFcuaXNVcGNvbWluZyluLmlzUHJlbWllcmU9IVcuaXNMaXZlQ29udGVudDtpZihEPVcudGh1bWJuYWlsKW4udE89d2MoRCk7aWYoRD1XLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3Qpbi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0PUQ7KEQ9Vy5zdGF0aW9uVHlwZSkmJkQhPT0iU1RBVElPTl9UWVBFX1VOS05PV04iJiYobi56Mz0hMCk7RD1XLnZpZXdlckxpdmVzdHJlYW1Kb2luUG9zaXRpb247RD8udXRjVGltZU1pbGxpcyYmKG4uRHo9Zy5OaChELnV0Y1RpbWVNaWxsaXMpKTtuLkcoKS5leHBlcmltZW50cy5FcSgiZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlbyIpJiZXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmlzVHZmaWxtVmlkZW89Vy5pc1R2ZmlsbVZpZGVvKTtXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmNPPVcuaXNUdmZpbG1WaWRlbyYmbi5pc0xpdmVQbGF5YmFjayl9Owp6RWI9ZnVuY3Rpb24obixXKXtpZihXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXIpe3ZhciBEPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlcjtuLk1nPUQudHJhaWxlclZpZGVvSWR8fCIiO3ZhciBiPShiPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlci55cGNUcmFpbGVyKSYmYi55cGNUcmFpbGVyUmVuZGVyZXJ9ZWxzZSBXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNPZmZlclJlbmRlcmVyP0Q9Vy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcjpXLnlwY1RyYWlsZXJSZW5kZXJlciYmKGI9Vy55cGNUcmFpbGVyUmVuZGVyZXIsVz1iLmZ1bGxWaWRlb01lc3NhZ2Usbi5IQj1XP2cuRHAoVyk6IiIsbi5NZz1nLncoYixEeik/LnZpZGVvRGV0YWlscz8udmlkZW9JZHx8IiIpO0QmJihuLlU5PUQuaXRlbVRpdGxlfHwiIixELml0ZW1VcmwmJihuLndWPUQuaXRlbVVybCksRC5pdGVtQnV5VXJsJiYobi5nVj0KRC5pdGVtQnV5VXJsKSxuLkFKPUQuaXRlbVRodW1ibmFpbHx8IiIsbi5kVj1ELm9mZmVySGVhZGxpbmV8fCIiLG4uR249RC5vZmZlckRlc2NyaXB0aW9ufHwiIixuLk9oPUQub2ZmZXJJZHx8IiIsbi5Daj1ELm9mZmVyQnV0dG9uVGV4dHx8IiIsbi51Vz1ELm9mZmVyQnV0dG9uRm9ybWF0dGVkVGV4dHx8bnVsbCxuLkU5PUQub3ZlcmxheUR1cmF0aW9uTXNlY3x8TmFOLG4uSEI9RC5mdWxsVmlkZW9NZXNzYWdlfHwiIixuLnZNPSEwKTtiJiYoKEQ9Zy53KGIsRHopKT9uLkljPXtyYXdfcGxheWVyX3Jlc3BvbnNlOkR9OihEPWcudyhiLGR2aSksbi5JYz1EP2cuaXcoRCk6bnVsbCksbi52TT0hMCl9Owpsb2o9ZnVuY3Rpb24obixXLEQsYil7Vy5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0JiYobi5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0PSEwKTtXLmlzVXBjb21pbmcmJihuLmlzVXBjb21pbmc9ITApO2lmKFcuaXNQb3N0TGl2ZUR2cil7bi5YZz0hMDtpZihiPVcubGF0ZW5jeUNsYXNzKW4ubGF0ZW5jeUNsYXNzPWJqW2JdfHwiVU5LTk9XTiI7Vy5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtJiYobi5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtPSEwKX1lbHNle2xldCB2PSExO24uSVI/KG4uYWxsb3dMaXZlRHZyPWZOKCk/ITA6TVgmJnZqPDU/ITE6ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk6Vy5pc0xpdmU/KGIubGl2ZXN0cmVhbT0iMSIsbi5hbGxvd0xpdmVEdnI9Vy5pc0xpdmVEdnJFbmFibGVkP2ZOKCk/ITA6TVgmJnZqPDU/ITE6ITA6ITEsbi5wYXJ0bmVySWQ9Mjcsdj0hMCk6Vy5pc1VwY29taW5nJiYodj0hMCk7aWYoVy5pc0xpdmV8fG4uSVIpe1cuaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbSYmKG4uaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbT0KITApO2xldCBrPVcubGF0ZW5jeUNsYXNzO2smJihuLmxhdGVuY3lDbGFzcz1ialtrXXx8IlVOS05PV04iKTtpZihXPVcubGl2ZUNodW5rUmVhZGFoZWFkKW4ubGl2ZUNodW5rUmVhZGFoZWFkPVc7aWYoVz1EJiZELmxpdmVQbGF5ZXJDb25maWcpe1cuaGFzU3ViZnJhZ21lbnRlZEZtcDQmJihuLmhhc1N1YmZyYWdtZW50ZWRGbXA0PSEwKTtXLmhhc1N1YmZyYWdtZW50ZWRXZWJtJiYobi5JMj0hMCk7Vy5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzJiYobi5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzPSEwKTtpZihEPVcubGl2ZUV4cGVyaW1lbnRhbENvbnRlbnRJZCluLmxpdmVFeHBlcmltZW50YWxDb250ZW50SWQ9TnVtYmVyKEQpO1c9Vy5pc0xpdmVIZWFkUGxheWFibGU7bi5TKCJodG1sNV9saXZlX2hlYWRfcGxheWFibGUiKSYmVyE9bnVsbCYmKG4uaXNMaXZlSGVhZFBsYXlhYmxlPVcpfX12JiYobi5pc0xpdmVQbGF5YmFjaz0hMCxiLmFkZm9ybWF0JiZiLmFkZm9ybWF0LnNwbGl0KCJfIilbMV0hPT0KIjgifHxuLklKLnB1c2goImhlYXJ0YmVhdCIpKX19OwprTD1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOyhuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0cyl8fChuPVc/LmVuZFNjcmVlbj8uZW5kU2NyZWVuPy5yZXN1bHRzKTtyZXR1cm4gbn07CnhMPWZ1bmN0aW9uKCl7aWYoaHg9PT12b2lkIDApe3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInl0LXBsYXllci1sdiIpfWNhdGNoKFcpe31hOnt0cnl7dmFyIG49ISFzZWxmLmxvY2FsU3RvcmFnZX1jYXRjaHtuPSExfWlmKG4mJihuPWcudlMoYCR7TTAoKX06Onl0LXBsYXllcmApKSl7aHg9bmV3IFQkYihuKTticmVhayBhfWh4PXZvaWQgMH19cmV0dXJuIGh4fTsKTEw9ZnVuY3Rpb24oKXt2YXIgbj14TCgpO2lmKCFuKXJldHVybnt9O3RyeXtsZXQgVz1uLmdldCgieXQtcGxheWVyLWx2Iik7cmV0dXJuIEpTT04ucGFyc2UoV3x8Int9Iil9Y2F0Y2goVyl7cmV0dXJue319fTsKZSQ9ZnVuY3Rpb24obil7cmV0dXJuIExMKClbbl18fDB9OwpnNj1mdW5jdGlvbihuLFcpe3ZhciBEPUxMKCk7VyE9PURbbl0mJihXIT09MD9EW25dPVc6ZGVsZXRlIERbbl0sbj14TCgpKSYmKEQ9SlNPTi5zdHJpbmdpZnkoRCksbi5zZXQoInl0LXBsYXllci1sdiIsRCkpfTsKZy5YZT1hc3luYyBmdW5jdGlvbihuKXtyZXR1cm4gQ0YoamlVKCksbil9Owp0eD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2lmKGUkKG4pPT09NClyZXR1cm4gNDt2YXIgTD1hd2FpdCBnLm5QKCk7aWYoIUwpdGhyb3cgZy5yMCgid2lhYyIpO3gmJmghPT12b2lkIDAmJihoPWF3YWl0IENuaSh4LGgpKTt2YXIgZT1ELmxhc3RNb2RpZmllZHx8IjAiO3g9YXdhaXQgZy5YZShMKTt0cnl7cmV0dXJuIHFzKyssYXdhaXQgT1IoeCxbImluZGV4IiwibWVkaWEiXSx7bW9kZToicmVhZHdyaXRlIix0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfV0lBQyIsR1E6ITB9LEc9PntpZihrIT09dm9pZCAwJiZoIT09dm9pZCAwKXt2YXIgcj1gJHtufXwke1cuaWR9fCR7ZX18JHtTdHJpbmcoaykucGFkU3RhcnQoMTAsIjAiKX1gO3I9Ry5vYmplY3RTdG9yZSgibWVkaWEiKS5wdXQoaCxyKX1lbHNlIHI9c1IucmVzb2x2ZSh2b2lkIDApO3ZhciBOPUdmKG4sVy5mWSgpKSxIPUdmKG4sIVcuZlkoKSksQT17Zm10czpnLkV0KHtkbHQ6Yi5kb3dubG9hZGVkRW5kVGltZS50b1N0cmluZygpLApta2V0OmIubWF4S25vd25FbmRUaW1lLnRvU3RyaW5nKCksYXZicjpiLmF2ZXJhZ2VCeXRlUmF0ZS50b1N0cmluZygpfSksZm9ybWF0OkR8fHt9fTtOPUcub2JqZWN0U3RvcmUoImluZGV4IikucHV0KEEsTik7dmFyIHk9Yi5kb3dubG9hZGVkRW5kVGltZT09PS0xO0E9eT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLmdldChIKTpzUi5yZXNvbHZlKHZvaWQgMCk7dmFyIFQ9e2ZtdHM6Im11c2ljIixmb3JtYXQ6e319O0c9eSYmdiYmIVcuZlkoKT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLnB1dChULEgpOnNSLnJlc29sdmUodm9pZCAwKTtyZXR1cm4gc1IuYWxsKFtHLEEscixOXSkudGhlbigoWyx6XSk9Pntxcy0tO3ZhciBDPWUkKG4pLFE7IShRPUMhPT00JiZ5JiZ2KSYmKFE9eiE9PXZvaWQgMCkmJihRPSh6PXouZm10cyk/ej09PSJtdXNpYyI/ITA6ei5pbmNsdWRlcygiZGx0PS0xIil8fCF6LmluY2x1ZGVzKCJkbHQ9Iik6ITEpO1EmJihDPTEsZzYobixDKSk7cmV0dXJuIEN9KX0pfWNhdGNoKEcpe3FzLS07Cng9ZSQobik7aWYoeD09PTQpcmV0dXJuIHg7ZzYobiw0KTt0aHJvdyBHO319OwpCJHg9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9YXdhaXQgZy5uUCgpO2lmKCFXKXRocm93IGcucjAoInJpIik7cmV0dXJuIE9SKGF3YWl0IGcuWGUoVyksWyJpbmRleCJdLHttb2RlOiJyZWFkb25seSIsdGFnOiJJREJfVFJBTlNBQ1RJT05fVEFHX0xNUkkifSxEPT57dmFyIGI9SURCS2V5UmFuZ2UuYm91bmQobisifCIsbisifiIpO3JldHVybiBELm9iamVjdFN0b3JlKCJpbmRleCIpLmdldEFsbChiKS50aGVuKHY9PnYubWFwKGs9Pms/ay5mb3JtYXQ6e30pKX0pfTsKdzNpPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9YXdhaXQgZy5uUCgpO2lmKCFrKXRocm93IGcucjAoInJjIik7az1PUihhd2FpdCBnLlhlKGspLFsibWVkaWEiXSx7bW9kZToicmVhZG9ubHkiLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19MTVJNIn0saD0+e3ZhciB4PWAke259fCR7V318JHtEfXwke1N0cmluZyhiKS5wYWRTdGFydCgxMCwiMCIpfWA7cmV0dXJuIGgub2JqZWN0U3RvcmUoIm1lZGlhIikuZ2V0KHgpfSk7CnJldHVybiB2P2sudGhlbihoPT57aWYoaD09PXZvaWQgMCl0aHJvdyBFcnJvcigiTm8gZGF0YSBmcm9tIGluZGV4RGIiKTtyZXR1cm4gRkkxKHYsaCl9KS5jYXRjaChoPT57dGhyb3cgbmV3IGcuUXgoYEVycm9yIHdoaWxlIHJlYWRpbmcgY2h1bms6ICR7aC5uYW1lfSwgJHtoLm1lc3NhZ2V9YCk7Cn0pOmt9OwpHZj1mdW5jdGlvbihuLFcpe3JldHVybmAke259fCR7Vz8idiI6ImEifWB9OwpSRWk9ZnVuY3Rpb24obil7dmFyIFc9e30sRD17fTtmb3IobGV0IGsgb2Ygbil7dmFyIGI9ay5zcGxpdCgifCIpO2lmKCFrLm1hdGNoKE1tQykpe0Rba109Ij8iO2NvbnRpbnVlfW49TnVtYmVyKGIucG9wKCkpO2lmKGlzTmFOKG4pKXtEW2tdPSI/Ijtjb250aW51ZX12YXIgdj1iLmpvaW4oInwiKTsoYj1XW3ZdKT8odj1iW2IubGVuZ3RoLTFdLG49PT12LmVuZCsxP3YuZW5kPW46Yi5wdXNoKHtzdGFydDpuLGVuZDpufSkpOldbdl09W3tzdGFydDpuLGVuZDpufV19Zm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKFcpKURba109V1trXS5tYXAoaD0+YCR7aC5zdGFydH0tJHtoLmVuZH1gKS5qb2luKCIsIik7CnJldHVybiBEfTsKJEw9ZnVuY3Rpb24obixXKXt2YXIgRD1uLlYoKSxiPW4uWCgpLHY9MSxrPTAsaD1nLmRNKG4ueVEuZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYWRfZ2FpbiIpO2ghPW51bGwmJkQmJih2PWgpO2lmKGI/LkQoKSl7az1iLmF1ZGlvPy5KPz9uLko7aWYoaz09bnVsbHx8aXNOYU4oaykpaz12b2lkIDA7cmV0dXJue0R5OjAsWnI6MSx3RzoxLGZkOmsscHk6ayxSUzprLGZvcm1hdElkOmIuaWQsYUc6VyxJejpuLnlRLlZRLFFPOm4uUU99fUQ9Yj8uYXVkaW8/Lko/P24uSjtiIT1udWxsJiZiLmF1ZGlvPy5KPT1udWxsJiZuLlUoImFnYyIse25vX2FiOjF9KTtpZihEPT1udWxsfHxpc05hTihEKSlyZXR1cm4gVz1iPy5hdWRpbz8uWCE9bnVsbD9iLmF1ZGlvLlg6bi5XLGlzTmFOKFcpfHwoaz00KSxXPS1XLHtEeTpXLFpyOk1hdGgubWluKDEsMTAqKihXLzIwKSl8fHYsd0c6ayxmb3JtYXRJZDpiPy5pZCxRTzpuLlFPfTtrPTE7aD1uLmxvdWRuZXNzVGFyZ2V0TGtmczt2YXIgeD1uLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uIik7CmlmKG4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24mJngpe2lmKFchPW51bGwpdmFyIEw9VztlbHNlIGlzRmluaXRlKG4ueVEuVlEpJiYoTD1uLnlRLlZRKTtMIT1udWxsJiYoaz0yLGg9Zy5GZihMLG4ubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyxuLmxvdWRuZXNzVGFyZ2V0TGtmcykpfXZhciBlPU1hdGgubWluKGgtRCwwKTt2YXIgRz1EK2U7dj1NYXRoLm1pbigxLDEwKiooZS8yMCkpfHx2O3gmJm4uVSgiYWdjIix7c3Rub3JtOm4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24saHN0OlcsZW52Om4ueVEuVlEsZm1sOkQsc3RndDpMLHRtaW46bi5taW5pbXVtTG91ZG5lc3NUYXJnZXRMa2ZzLHRtYXg6bi5sb3VkbmVzc1RhcmdldExrZnMsbmc6ZX0pO3JldHVybntEeTplLFpyOnYsd0c6ayxmZDpELHB5OmgsUlM6Ryxmb3JtYXRJZDpiPy5pZCxhRzpXLEl6Om4ueVEuVlEsUU86bi5RT319OwpyNj1mdW5jdGlvbihuLFcpe1c9JEwobixXKTtuLk49VztuLnByZXNlcnZlU3RhdGVmdWxMb3VkbmVzc1RhcmdldCYmVy5SUyE9bnVsbCYmKG4ueVEuVlE9Vy5SUyk7cmV0dXJuIFcuWnJ9OwpRaTI9ZnVuY3Rpb24obixXLEQpe1c9e2NwbjpXfTtuLmluZGV4T2YoIi9pYncvIik9PT0tMSYmKFcuaWJ3PUQ/U3RyaW5nKEQpOiIxMzY5ODQzIik7cmV0dXJue3VybDpnLkVUKG4sVyksdHlwZToiYXBwbGljYXRpb24veC1tcGVnVVJMIixxdWFsaXR5OiJhdXRvIixpdGFnOiI5MyJ9fTsKVm10PWZ1bmN0aW9uKG4pe3RyeXtsZXQgVz0obmV3IGcud1oobiwhMCkpLmdldCgibiIpO2lmKFcpe2xldCBEPW4ubWF0Y2goL1wvblwvKFteL10rKS8pO2lmKEQmJkRbMV0mJkRbMV0hPT1XKXJldHVybiBuLnJlcGxhY2UoYC9uLyR7RFsxXX1gLGAvbi8ke1d9YCl9fWNhdGNoKFcpe2cuR3EoVyl9cmV0dXJuIG59OwpzVT1mdW5jdGlvbihuKXtpZihuLmlzQWQoKSYmKG4uVlE/bi52aWRlb0lkIT09bi55US5TJDpuLnZpZGVvSWQhPW4ueVEuUyQpKXJldHVybiBuLnlRLlMkfTsKVm49ZnVuY3Rpb24obil7aWYobil7aWYoQm4obikpcmV0dXJuIG47bj1lQShuKTtpZihCbihuLCEwKSlyZXR1cm4gbn1yZXR1cm4iIn07CmcuWU49ZnVuY3Rpb24obil7aWYoZy4kNihuLnlRKSYmbi55US5WPT09Inl0IiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzIikpcmV0dXJuITE7aWYobi5abylyZXR1cm4gbi5ERSYmbi5VKCJmZHMiLHtmZHM6ITB9LCEwKSwhMTtpZihuLnlRLlYhPT0ieXQiJiYhY3F4KG4pKXJldHVybiBuLkRFJiZuLlUoImRzdm4iLHtuczpuLnlRLlZ9LCEwKSwhMTtpZihuLmNvdG58fCFuLk58fG4uTi5pc090ZiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpfHxuLlcmJiFuLlcuTigpfHxuLkNVJiYhbi5TKCJodG1sNV9lbmFibGVfc2Ficl9jc2RhaSIpKXJldHVybiExO2lmKG4uUygiaHRtbDVfdXNlX3NhYnJfcmVxdWVzdHNfZm9yX2RlYnVnZ2luZyIpKXJldHVybiEwO24uREUmJm4uVSgiZXNmdyIse3VzYmM6bi5ERSxoc3U6ISFuLmxDfSwhMCk7aWYobi5ERSYmbi5sQylyZXR1cm4hMDtpZihuLlMoImh0bWw1X3JlbW92ZV9jbGllbnRfc2Ficl9kZXRlcm1pbmF0aW9uIikpcmV0dXJuITE7CnZhciBXPSFuLk4uelcmJiFuLk1pKCksRD1XJiZOcyYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl92b2Rfc3RyZWFtaW5nX3hociIpO1c9VyYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9ub25fc3RyZWFtaW5nX3hociIpO3ZhciBiPXBMKG4pLHY9bi5TKCJodG1sNV9lbmFibGVfc2Ficl9kcm1fdm9kX3N0cmVhbWluZ194aHIiKSYmTnMmJm4uTWkoKSYmIW4uTi56VyYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCk7KEQ9RHx8V3x8Ynx8dikmJiFuLmxDJiZuLlUoInNhYnIiLHtsb2M6Im0ifSwhMCk7cmV0dXJuIEQmJiEhbi5sQ307CldqPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09Mj9XW25bMF1dPW5bMV06V1tEXT0hMDtyZXR1cm4gV307CkhqPWZ1bmN0aW9uKG4pe2lmKG4uUygiaHRtbDVfb25lc2llIikmJm4uZXJyb3JDb2RlKXJldHVybiExO3ZhciBXPWcuamoobi5JSiwieXBjIik7bi55cGNQcmV2aWV3JiYoVz0hMSk7cmV0dXJuIG4uT1YoKSYmIW4ubG9hZGluZyYmKGcuWUwobil8fGcuamoobi5JSiwiaGVhcnRiZWF0Iil8fFcpfTsKZkw9ZnVuY3Rpb24obil7bi5xTigpfHwobi5sb2FkaW5nPSExLG4uV0ooImRhdGFsb2FkZWQiKSl9OwptZj1mdW5jdGlvbihuLFcpe3ZhciBEPVcucmF3X2VtYmVkZGVkX3BsYXllcl9yZXNwb25zZTtpZighRCl7dmFyIGI9Vy5lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9RCYmKG4uTz1EKTtpZihuLk8pe24uZW1iZWRkZWRQbGF5ZXJDb25maWc9bi5PLmVtYmVkZGVkUGxheWVyQ29uZmlnfHxudWxsO2lmKEQ9bi5PLnZpZGVvRmxhZ3MpRC5wbGF5YWJsZUluRW1iZWQmJihuLmFsbG93RW1iZWQ9ITApLEQuaXNQcml2YXRlJiYobi5pc1ByaXZhdGU9ITApLEQudXNlckRpc3BsYXlOYW1lJiYoVy51c2VyX2Rpc3BsYXlfbmFtZT1ELnVzZXJEaXNwbGF5TmFtZSksRC51c2VyRGlzcGxheUltYWdlJiYoVy51c2VyX2Rpc3BsYXlfaW1hZ2U9RC51c2VyRGlzcGxheUltYWdlKTtpZigoRD1uLk8uZW1iZWRQcmV2aWV3KSYmRC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpe0Q9RC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI7bkwobixELmNvbnRyb2xCZ0h0bWwpO2lmKGI9CkQuZGVmYXVsdFRodW1ibmFpbCluLnRPPXdjKGIpOyhiPWcudyhEPy52aWRlb0RldGFpbHMsYW9VKSkmJkp4KG4sVyxiKTtiPWcudyhEPy52aWRlb0RldGFpbHMsbnFNKTtuLkU1PSEhRC5hZGRUb1dhdGNoTGF0ZXJCdXR0b247bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO2I/Lm11c2ljVmlkZW9UeXBlJiYobi5tdXNpY1ZpZGVvVHlwZT1iLm11c2ljVmlkZW9UeXBlKTtpZihiPWcudyhuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKT8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LnBsYXlCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsZy5JUSkpb0EobixiKSxuLnZpZGVvSWQ9Yi52aWRlb0lkfHxuLnZpZGVvSWQ7RC52aWRlb0R1cmF0aW9uU2Vjb25kcyYmKG4ubGVuZ3RoU2Vjb25kcz1nLk5oKEQudmlkZW9EdXJhdGlvblNlY29uZHMpKTtELndlYlBsYXllckFjdGlvbnNQb3J0aW5nJiZhQShuLEQud2ViUGxheWVyQWN0aW9uc1BvcnRpbmcpOwppZihEPWcudyhEPy5wbGF5bGlzdCxXR2kpKXtuLk1kPSEwO2I9W107dmFyIHY9TnVtYmVyKEQuY3VycmVudEluZGV4KTtpZihELmNvbnRlbnRzKWZvcihsZXQgaz0wLGg9RC5jb250ZW50cy5sZW5ndGg7azxoO2srKyl7bGV0IHg9RC5jb250ZW50c1trXS5wbGF5bGlzdFBhbmVsVmlkZW9SZW5kZXJlcjtpZigheCljb250aW51ZTtsZXQgTD14LnNob3J0QnlsaW5lVGV4dD9nLkRwKHguc2hvcnRCeWxpbmVUZXh0KToiIixlPXgudGl0bGU/Zy5EcCh4LnRpdGxlKToiIjtiLnB1c2goe2F1dGhvcjpMLGVuY3J5cHRlZF9pZDp4LnZpZGVvSWQsdGl0bGU6ZSxjaGFubmVsX3BhdGg6az09PXY/Vy5jaGFubmVsX3BhdGg6IiIscHJvZmlsZV9waWN0dXJlOms9PT12P1cucHJvZmlsZV9waWN0dXJlOiIiLGlzX3ByaXZhdGU6az09PXY/bi5pc1ByaXZhdGU6ITAsaXNfZG5pOms9PT12P24uaU46ITEsZG5pX2NvbG9yOms9PT12P24uclI6IiJ9KX1XPXtpbmRleDpELmN1cnJlbnRJbmRleCxsaXN0OkQucGxheWxpc3RJZCwKcGxheWxpc3RfbGVuZ3RoOkQudG90YWxWaWRlb3MsdmlkZW86Yn07RC50aXRsZVRleHQmJihXLnRpdGxlPWcuRHAoRC50aXRsZVRleHQpKTtELnNob3J0QnlsaW5lVGV4dCYmKFcuYXV0aG9yPWcuRHAoRC5zaG9ydEJ5bGluZVRleHQpKTtuLlE3PVd9aWYoVz1nLncobi5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCk/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKFc/LmR1cmF0aW9uTXMpfHxOYU4sVz8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPVc/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxXPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYobi5Saz1XPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsKX1pZihuLk8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzKXtpZihuLmVCPW4uTy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsVz1uLmVCLCFbIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKFcuc3RhdHVzKSl7bi5lcnJvckNvZGU9CmlpKFcuZXJyb3JDb2RlKTtEPVcuZXJyb3JTY3JlZW47aWYoYj1EPy5wbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcil7bi5mbT1iO2lmKHY9Yi5yZWFzb24pbi5lcnJvclJlYXNvbj1nLkRwKHYpO2lmKGI9Yi5zdWJyZWFzb24pbi53aT1nLkRwKGIpfWVsc2Ugbi5lcnJvclJlYXNvbj1XLnJlYXNvbnx8bnVsbDtzd2l0Y2goVy5zdGF0dXMpe2Nhc2UgIkxPR0lOX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIxIjticmVhaztjYXNlICJDT05URU5UX0NIRUNLX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIyIjticmVhaztjYXNlICJBR0VfQ0hFQ0tfUkVRVUlSRUQiOm4uZXJyb3JEZXRhaWw9RD8ucGxheWVyS2F2UmVuZGVyZXI/LmthdlVybD8iNCI6IjMiO2JyZWFrO2RlZmF1bHQ6bi5lcnJvckRldGFpbD1XLmlzQmxvY2tlZEluUmVzdHJpY3RlZE1vZGU/IjUiOiIwIn19fWVsc2Ugbi5PLnBsYXlhYmlsaXR5U3RhdHVzJiYobi5SdD1uLk8ucGxheWFiaWxpdHlTdGF0dXMsQXgobikmJihuLmVycm9yRGV0YWlsPQoiMCIsbi5SdCYmKChXPW4uUnQuZW1iZWRkZWRQbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcik/bi5mbT1nLncoVyxEdEMpOm4uZXJyb3JSZWFzb249bi5SdC5yZWFzb258fG51bGwpKSk7KFc9bi5PLmF0dGVzdGF0aW9uKSYmUW4obixXKTsoVz1uLk8ucGVybWlzc2lvbnMpJiZXLmFsbG93SW1hTW9uZXRpemF0aW9uJiYobi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hMCl9fTsKRVU9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnJhd193YXRjaF9uZXh0X3Jlc3BvbnNlO2lmKCFEKXt2YXIgYj1XLndhdGNoX25leHRfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9aWYoRCl7bi53YXRjaE5leHRSZXNwb25zZT1EOyhEPW4ud2F0Y2hOZXh0UmVzcG9uc2UucGxheWVyQ3VlUmFuZ2VTZXQpJiZnLktMKG4sRCk7RD1uLndhdGNoTmV4dFJlc3BvbnNlLnBsYXllck92ZXJsYXlzO2lmKEQmJihEPUQucGxheWVyT3ZlcmxheVJlbmRlcmVyKSl7aWYoYj1ELmF1dG9uYXZUb2dnbGUpbi5hdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyPWcudyhiLGJXWiksbi5TKCJ3ZWJfcGxheWVyX2F1dG9uYXZfdXNlX3NlcnZlcl9wcm92aWRlZF9zdGF0ZSIpJiZuLkFWKCkmJihuLmF1dG9uYXZTdGF0ZT1uLmF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIuZW5hYmxlZD8yOjEpO2lmKGI9RC52aWRlb0RldGFpbHMpe3ZhciB2PWIuZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXI7CmlmKGI9Yi5wbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIpYi50aXRsZSYmKFcudGl0bGU9Zy5EcChiLnRpdGxlKSksYi5zdWJ0aXRsZSYmKFcuc3VidGl0bGU9Zy5EcChiLnN1YnRpdGxlKSl9Zy5DTihuLnlRKSYmKG4uRTU9ISFELmFkZFRvTWVudSk7bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO0Quc3RhcnRQb3NpdGlvbiYmRC5lbmRQb3NpdGlvbiYmKG4ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPUQuc3RhcnRQb3NpdGlvbixuLnByb2dyZXNzQmFyRW5kUG9zaXRpb249RC5lbmRQb3NpdGlvbik7aWYoYj1nLncobi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKGI/LmR1cmF0aW9uTXMpfHxOYU4sYj8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPWI/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxiPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYKKG4uUms9Yj8uaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbCk7bi5zaG93U2Vla2luZ0NvbnRyb2xzPSEhRC5zaG93U2Vla2luZ0NvbnRyb2xzfWlmKEQ9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5jb250ZW50cz8udHdvQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cylpZihEPUQuZGVza3RvcE92ZXJsYXkmJmcudyhELmRlc2t0b3BPdmVybGF5LHZxdCkpRC5zdXBwcmVzc1NoYXJlQnV0dG9uJiYobi5zaG93U2hhcmVCdXR0b249ITEpLEQuc3VwcHJlc3NXYXRjaExhdGVyQnV0dG9uJiYobi5FNT0hMSk7diYmSngobixXLHYpO0Q9REkoMCxXLmF1dG9wbGF5X2NvdW50KTt2YXIgaz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk7Yj1rLmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzO3Y9ay5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI7dmFyIGg9a0wobik7aWYoKGs9ay5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cykmJgprLmF1dG9wbGF5Py5hdXRvcGxheSYmIWsucGxheWxpc3Qpe2xldCB5PWsuYXV0b3BsYXkuYXV0b3BsYXkuc2V0cztrPXt9O3ZhciB4PW5ldyBPVShuLkcoKSksTD1udWxsLGU7aWYoeSl7Zm9yKHZhciBHIG9mIHkpaWYoKGU9Ry5hdXRvcGxheVZpZGVvUmVuZGVyZXIpJiZlLmNvbXBhY3RWaWRlb1JlbmRlcmVyKXtMPWUuY29tcGFjdFZpZGVvUmVuZGVyZXI7YnJlYWt9aWYoZT15WzBdLmF1dG9wbGF5VmlkZW8pKEc9ZS5jbGlja1RyYWNraW5nUGFyYW1zKSYmKGsuaXRjdD1HKSxrLmF1dG9uYXY9IjEiLGsucGxheW5leHQ9U3RyaW5nKEQpfWVsc2Ugay5mZWF0dXJlPSJyZWxhdGVkLWF1dG8iO2U9Zy53KGUsZy5JUSk7aWYoTCl7eC52aWRlb0lkPUwudmlkZW9JZDtpZihlPUwuc2hvcnRCeWxpbmVUZXh0KXguYXV0aG9yPWcuRHAoZSk7aWYoZT1MLnRpdGxlKXgudGl0bGU9Zy5EcChlKX1lbHNlIGUhPW51bGwmJmUudmlkZW9JZCYmKHgudmlkZW9JZD1lLnZpZGVvSWQpO3gueXo9aztuLnN1Z2dlc3Rpb25zPQpbXTtuLlU1PXh9aWYoaCl7ZT1bXTtmb3IodmFyIHIgb2YgaCl7aD12b2lkIDA7Rz1udWxsO2lmKHIuZW5kU2NyZWVuVmlkZW9SZW5kZXJlcil7az1yLmVuZFNjcmVlblZpZGVvUmVuZGVyZXI7eD1rLnRpdGxlO0c9bmV3IE9VKG4uRygpKTtHLnZpZGVvSWQ9ay52aWRlb0lkO0cubGVuZ3RoU2Vjb25kcz1rLmxlbmd0aEluU2Vjb25kc3x8MDtpZihMPWsucHVibGlzaGVkVGltZVRleHQpRy5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKEwpO2lmKEw9ay5zaG9ydEJ5bGluZVRleHQpRy5hdXRob3I9Zy5EcChMKTtpZihMPWsuc2hvcnRWaWV3Q291bnRUZXh0KUcuc2hvcnRWaWV3Q291bnQ9Zy5EcChMKTt4JiYoRy50aXRsZT1nLkRwKHgpLCh4PXguYWNjZXNzaWJpbGl0eSkmJih4PXguYWNjZXNzaWJpbGl0eURhdGEpJiZ4LmxhYmVsJiYoRy5hcmlhTGFiZWw9eC5sYWJlbCkpO2lmKEw9ay5uYXZpZ2F0aW9uRW5kcG9pbnQpaD1MLmNsaWNrVHJhY2tpbmdQYXJhbXMseD1nLncoTCxnLklRKSxMPWcudyhMLApnLlBqKSx4P0cuczA9eDpMIT1udWxsJiYoRy53YXRjaFVybD1MLnVybCk7aWYoeD1rLnRodW1ibmFpbE92ZXJsYXlzKWZvcih2YXIgTiBvZiB4KWlmKHg9Ti50aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyKWlmKHguc3R5bGU9PT0iTElWRSIpe0cuaXNMaXZlUGxheWJhY2s9ITA7YnJlYWt9ZWxzZSBpZih4LnN0eWxlPT09IlVQQ09NSU5HIil7Ry5pc1VwY29taW5nPSEwO2JyZWFrfUcudE89d2Moay50aHVtYm5haWwpfWVsc2UgaWYoci5lbmRTY3JlZW5QbGF5bGlzdFJlbmRlcmVyKXtrPXIuZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjtoPWsubmF2aWdhdGlvbkVuZHBvaW50O2lmKCFoKWNvbnRpbnVlO0c9Zy53KGgsZy5JUSk7aWYoIUcpY29udGludWU7eD1HLnZpZGVvSWQ7Rz1uZXcgWnoobi5HKCkpO0cucGxheWxpc3RJZD1rLnBsYXlsaXN0SWQ7Ry5wbGF5bGlzdExlbmd0aD1OdW1iZXIoay52aWRlb0NvdW50KXx8MDtHLk49eHx8bnVsbDtHLnZpZGVvSWQ9eDtpZih4PQprLnRpdGxlKUcudGl0bGU9Zy5EcCh4KTtpZih4PWsuc2hvcnRCeWxpbmVUZXh0KUcuYXV0aG9yPWcuRHAoeCk7aD1oLmNsaWNrVHJhY2tpbmdQYXJhbXM7Ry50Tz13YyhrLnRodW1ibmFpbCl9RyYmKGgmJihHLnNlc3Npb25EYXRhPXtpdGN0Omh9KSxlLnB1c2goRykpfW4uc3VnZ2VzdGlvbnM9ZX1pZih2KXtuLkozPSEhdi5wcmVmZXJJbW1lZGlhdGVSZWRpcmVjdDtuLkcoKS5adCgpLk4uUVEoa05qKSYmKG4uaDM9ISF2LnNob3dQYXVzZWRXaGVuRGlzYWJsZWQpO24uclc9bi5yV3x8ISF2LndlYlNob3dOZXdBdXRvbmF2Q291bnRkb3duO2lmKG4uclcpe049djtiPWJ8fG51bGw7cj1uZXcgT1Uobi5HKCkpO3IudmlkZW9JZD1OLnZpZGVvSWQ7aWYoZT1OLnZpZGVvVGl0bGUpci50aXRsZT1nLkRwKGUpLChlPWUuYWNjZXNzaWJpbGl0eSkmJihlPWUuYWNjZXNzaWJpbGl0eURhdGEpJiZlLmxhYmVsJiYoci5hcmlhTGFiZWw9ZS5sYWJlbCk7aWYoZT1OLmJ5bGluZSlyLmF1dGhvcj1nLkRwKGUpOwppZihlPU4ucHVibGlzaGVkVGltZVRleHQpci5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKGUpO2lmKGU9Ti5zaG9ydFZpZXdDb3VudFRleHQpci5zaG9ydFZpZXdDb3VudD1nLkRwKGUpO2lmKGU9Ti50aHVtYm5haWxPdmVybGF5cylmb3IodmFyIEggb2YgZSlpZihlPUgudGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcilpZihlLnN0eWxlPT09IkxJVkUiKXtyLmlzTGl2ZVBsYXliYWNrPSEwO2JyZWFrfWVsc2UgaWYoZS5zdHlsZT09PSJVUENPTUlORyIpe3IuaXNVcGNvbWluZz0hMDticmVha31lbHNlIGlmKGUuc3R5bGU9PT0iREVGQVVMVCImJmUudGV4dCl7ci5sZW5ndGhUZXh0PWcuRHAoZS50ZXh0KTsoSD1lLnRleHQuYWNjZXNzaWJpbGl0eSkmJihIPUguYWNjZXNzaWJpbGl0eURhdGEpJiZILmxhYmVsJiYoci5pZz1ILmxhYmVsfHwiIik7YnJlYWt9ci50Tz13YyhOLmJhY2tncm91bmQpO2lmKEg9Ti5uZXh0QnV0dG9uKWlmKEg9SC5idXR0b25SZW5kZXJlcilpZihIPUgubmF2aWdhdGlvbkVuZHBvaW50KWlmKEg9CmcudyhILGcuSVEpKXIuczA9SDtOLnRvcEJhZGdlcyYmKEg9Ti50b3BCYWRnZXNbMF0pJiYoSD1nLncoSCxoazIpKSYmSC5zdHlsZT09PSJCQURHRV9TVFlMRV9UWVBFX1BSRU1JVU0iJiYoci5OPSEwKTtpZihIPU4uYWx0ZXJuYXRpdmVUaXRsZSlyLko5PWcuRHAoSCk7SD1yO0Q9e2F1dG9uYXY6IjEiLHBsYXluZXh0OlN0cmluZyhEKX07SC5wbGF5bGlzdElkJiYoRC5hdXRvcGxheT0iMSIpO2lmKGIpe2lmKE49Yi5hdXRvcGxheT8uYXV0b3BsYXk/LnNldHM/LlswXT8uYXV0b3BsYXlWaWRlbylpZigoYj1OLmNsaWNrVHJhY2tpbmdQYXJhbXMpJiYoRC5pdGN0PWIpLE49Zy53KE4sZy5JUSkpSC50RT1OfWVsc2UgTiYmKE49Ti5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zKSYmKEQuaXRjdD1OKTtELml0Y3R8fChELmZlYXR1cmU9InJlbGF0ZWQtYXV0byIpO0gueXo9RDtuLnN1Z2dlc3Rpb25zfHwobi5zdWdnZXN0aW9ucz0KW10pO24uVTU9cn12LmNvdW50RG93blNlY3MhPW51bGwmJihuLk9OPXYuY291bnREb3duU2VjcyoxRTMpO3YuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4hPW51bGwmJihuLnMzPXYuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4+PTA/di5jb3VudERvd25TZWNzRm9yRnVsbHNjcmVlbioxRTM6LTEpfWlmKHY9a0wobikpdj12Py5bMF0/LmVuZFNjcmVlblZpZGVvUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludD8uY2xpY2tUcmFja2luZ1BhcmFtcyxIPW4uVTV8fG4uc3VnZ2VzdGlvbnM/LlswXXx8bnVsbCx2JiZIJiYoSC5zZXNzaW9uRGF0YT17aXRjdDp2fSk7bi53YXRjaE5leHRSZXNwb25zZS5jdXJyZW50VmlkZW9UaHVtYm5haWwmJihuLnRPPXdjKG4ud2F0Y2hOZXh0UmVzcG9uc2UuY3VycmVudFZpZGVvVGh1bWJuYWlsKSk7KHY9bi53YXRjaE5leHRSZXNwb25zZT8uY29udGVudHM/LnR3b0NvbHVtbldhdGNoTmV4dFJlc3VsdHM/LnJlc3VsdHM/LnJlc3VsdHM/LmNvbnRlbnRzKSYmCnZbMF0mJihIPXZbMF0udmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyKSYmSCYmSC5zdWJ0aXRsZSYmKG4uWDQ9Zy5EcChILnN1YnRpdGxlKSk7diYmdlsxXSYmKHY9dlsxXS52aWRlb1NlY29uZGFyeUluZm9SZW5kZXJlcj8ub3duZXI/LnZpZGVvT3duZXJSZW5kZXJlcj8udGh1bWJuYWlsPy50aHVtYm5haWxzKSYmdi5sZW5ndGgmJihuLnByb2ZpbGVQaWN0dXJlPXZbdi5sZW5ndGgtMV0udXJsKTtXPWtSKFcpO2lmKHY9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHMpZm9yKHZhciBBIG9mIHYpZy53KEEsVVUpJiYobi5ScT1nLncoQSxVVSkpLHY9Zy53KEEseHRNKSx2Py5lbnRpdHlLZXlzJiYobi5MTj12LmVudGl0eUtleXN8fFtdLHYudmlzaWJsZU9uTG9hZEtleXMmJihuLnZpc2libGVPbkxvYWRLZXlzPXYudmlzaWJsZU9uTG9hZEtleXMpKTtuLlMoIndlYl9rZXlfbW9tZW50c19tYXJrZXJzIikmJihBPXl6LmdldFN0YXRlKCkuZW50aXRpZXMsCnY9bmYoInZpc2liaWxpdHlfb3ZlcnJpZGUiLCJtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5IiksQT1BLm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk/QS5tYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5W3ZdfHxudWxsOm51bGwsbi5IeD1BPy52aWRlb0lkPT09KG4udmlkZW9JZHx8VykmJkE/LnZpc2liaWxpdHlPdmVycmlkZU1hcmtlcnNLZXk/QS52aXNpYmlsaXR5T3ZlcnJpZGVNYXJrZXJzS2V5Om4udmlzaWJsZU9uTG9hZEtleXMsbi52aXNpYmxlT25Mb2FkS2V5cz1bLi4ubi5IeF0pfX07CmlqPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnJhd19yZWVsX2l0ZW1fd2F0Y2hfcmVzcG9uc2Upbi5yZWVsSXRlbVdhdGNoUmVzcG9uc2U9V307CnVqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5yYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U7RHx8KFc9Vy5yZXNvbHZlX3VybF9yZXNwb25zZSkmJihEPUpTT04ucGFyc2UoVykpO0QmJihuLnBvPUQpfTsKZDY9ZnVuY3Rpb24obixXKXtuLmZmbGFncz1iTyhuLmZmbGFncyxXLmZmbGFncyk7dmFyIEQ9Vy5pdl9pbnZpZGVvX3VybDtEJiYobi5lYT1GTihEKSk7bi5SbT1ueShuLlJtLFcuaXZfYWRzX29ubHkpO2lmKEQ9Vy5jdGFfY29udmVyc2lvbl91cmxzKW4ubE09RDtuLmlzUGhhcm1hPW55KG4uaXNQaGFybWEsVy5pc19waGFybWEpO24uYXV0aG9yPWJPKG4uYXV0aG9yLFcuYXV0aG9yKTtuLndhPVZuKFcudHRzdXJsKXx8bi53YTtuLldjPW55KG4uV2MsVy5jY19hc3IpO2lmKEQ9Vy5wcm9maWxlX3BpY3R1cmUpbi5wcm9maWxlUGljdHVyZT1iTyhuLnByb2ZpbGVQaWN0dXJlLEQpO24udmlkZW9Db3VudFRleHQ9Yk8obi52aWRlb0NvdW50VGV4dCxXLnZpZGVvX2NvdW50X3RleHQpO24uYXV0b25hdlN0YXRlPVdCKG4uYXV0b25hdlN0YXRlLFcuYXV0b25hdl9zdGF0ZSxMRzEpO24uY2xpZW50UGxheWJhY2tOb25jZT1iTyhuLmNsaWVudFBsYXliYWNrTm9uY2UsVy5jcG4pO24uc3Vic2NyaWJlZD0Kbnkobi5zdWJzY3JpYmVkLFcuc3Vic2NyaWJlZCk7bi5yYXdWaWV3Q291bnQ9REkobi5yYXdWaWV3Q291bnQsVy52aWV3X2NvdW50KTtuLnNob3J0Vmlld0NvdW50PWJPKG4uc2hvcnRWaWV3Q291bnQsVy5zaG9ydF92aWV3X2NvdW50X3RleHQpO24ucHVibGlzaGVkVGltZVRleHQ9Yk8obi5wdWJsaXNoZWRUaW1lVGV4dHx8IiIsVy5wdWJsaXNoZWRUaW1lVGV4dCk7bi5sZW5ndGhUZXh0PWJPKG4ubGVuZ3RoVGV4dHx8IiIsVy5sZW5ndGhUZXh0KTtuLmlnPWJPKG4uaWd8fCIiLFcuaWcpO24uSjk9Yk8obi5KOXx8IiIsVy5KOSk7bi50aXRsZT1iTyhuLnRpdGxlLFcudGl0bGUpO24uc3VidGl0bGU9Yk8obi5zdWJ0aXRsZSxXLnN1YnRpdGxlKTtuLmV4cGFuZGVkVGl0bGU9Yk8obi5leHBhbmRlZFRpdGxlLFcuZXhwYW5kZWRfdGl0bGUpO24uZXhwYW5kZWRTdWJ0aXRsZT1iTyhuLmV4cGFuZGVkU3VidGl0bGUsVy5leHBhbmRlZF9zdWJ0aXRsZSk7bi55cGNQcmV2aWV3PWJPKG4ueXBjUHJldmlldywKVy55cGNfcHJldmlldyk7bi5EVD1iTyhuLkRULFcueXBjX29yaWdpbik7bi5MQj1ueShuLkxCLFcueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXIpO24uSWs9Yk8obi5JayxXLnlwY19jbGlja3dyYXBfbWVzc2FnZSk7bi5wYXlnYXRlZD1ueShuLnBheWdhdGVkLFcucGF5Z2F0ZWQpO24uS289bnkobi5LbyxXLnJlcXVpcmVzX3B1cmNoYXNlKTtuLnNob3dTaGFyZUJ1dHRvbj0hbnkoIW4uc2hvd1NoYXJlQnV0dG9uLFcuc3MpO24uRTU9bnkobi5FNSxXLnNob3d3YXRjaGxhdGVyKTtpZihEPVcuZWwpbi5ldmVudExhYmVsPUQ7aWYoRD1XLmtleXdvcmRzKW4ua2V5d29yZHM9V2ooRC5zcGxpdCgiLCIpKTtpZihEPVcucnZzKW4uc3VnZ2VzdGlvbnM9dXcoRCkubWFwKGI9PmIucGxheWxpc3R8fGIubGlzdHx8Yi5hcGk/bmV3IFp6KG4ueVEsYik6bmV3IE9VKG4ueVEsYikpOwpuLmNvbnRlbnRDaGVja09rPW55KG4uY29udGVudENoZWNrT2ssVy5jY28pO24ucmFjeUNoZWNrT2s9bnkobi5yYWN5Q2hlY2tPayxXLnJjbyk7bi5pc0xpdmluZ1Jvb21EZWVwbGluaz1ueShuLmlzTGl2aW5nUm9vbURlZXBsaW5rLFcuaXNfbGl2aW5nX3Jvb21fZGVlcGxpbmspO24ub2F1dGhUb2tlbj1iTyhuLm9hdXRoVG9rZW4sVy5vYXV0aF90b2tlbik7bi5ISj1iTyhuLkhKLFcua3B0KTtuLnZpc2l0b3JEYXRhPWJPKG4udmlzaXRvckRhdGEsVy52aXNpdG9yX2RhdGEpO2lmKEQ9Vy5zZXNzaW9uX2RhdGEpbi5zZXNzaW9uRGF0YT15RihELCImIik7bi5XSz1iTyhuLldLLFcudHJhY2tpbmdfbGlzdCk7bi5EdD1ueShuLkR0LFcucGF1c2VfYXRfc3RhcnQpO29RKG4sVyl9Owp6Zj1mdW5jdGlvbihuLFcsRCxiKXtXJiZXLmNwbiYmZy5HcShuZXcgZy5ReCgiQ1BOIHByb3ZpZGVkIGluIFZpZGVvRGF0YSB1cGRhdGUiLHtIWjpXLmNwbixLWTpuLmNsaWVudFBsYXliYWNrTm9uY2UsdEY6RH0pKTtiJiYobi5lcnJvckNvZGU9bnVsbCxuLmVycm9yRGV0YWlsPSIiLG4uZXJyb3JSZWFzb249bnVsbCxuLndpPW51bGwpO0Q/KGtSKFcpLG4uc2V0RGF0YShXKSxIaihuKSYmZkwobikpOihXPVd8fHt9LG1mKG4sVyksRVUobixXKSxpaihuLFcpLHVqKG4sVyksZDYobixXKSxuLldKKCJkYXRhdXBkYXRlZCIpKX07Cm9RPWZ1bmN0aW9uKG4sVyl7Vy5pbmxpbmVNZXRyaWNFbmFibGVkJiYobi5pbmxpbmVNZXRyaWNFbmFibGVkPSEwKTtXLnBsYXliYWNrX3Byb2dyZXNzXzBzX3VybCYmKG4uVEk9bmV3IGVrdChXKSk7aWYoVz1XLnZpZGVvX21hc3RoZWFkX2FkX3F1YXJ0aWxlX3VybHMpbi5OZj1XLnF1YXJ0aWxlXzBfdXJsLG4uYmU9Vy5xdWFydGlsZV8yNV91cmwsbi56ND1XLnF1YXJ0aWxlXzUwX3VybCxuLm1EPVcucXVhcnRpbGVfNzVfdXJsLG4uV0g9Vy5xdWFydGlsZV8xMDBfdXJsLG4uRnI9Vy5xdWFydGlsZV8wX3VybHMsbi53Tj1XLnF1YXJ0aWxlXzI1X3VybHMsbi5DdD1XLnF1YXJ0aWxlXzUwX3VybHMsbi5vSD1XLnF1YXJ0aWxlXzc1X3VybHMsbi5BdD1XLnF1YXJ0aWxlXzEwMF91cmxzfTsKZy5LTD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXKUQuY3VlUmFuZ2VTZXRJZGVudGlmaWVyJiZuLmJOLnNldChELmN1ZVJhbmdlU2V0SWRlbnRpZmllcixELnBsYXllckN1ZVJhbmdlcz8/W10pfTsKZ3FaPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBudWxsO2ZvcihsZXQgVyBvZiBuKWlmKG49Vy5hZFBsYWNlbWVudFJlbmRlcmVyPy5yZW5kZXJlcj8udmlkZW9BZFRyYWNraW5nUmVuZGVyZXIpcmV0dXJuIG47cmV0dXJuIG51bGx9Owpsaj1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5zb3VyY2VDb25maWdzO249bi5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5jb21wb3NpdGVWaWRlb0NvbmZpZz8uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ7aWYoIVd8fCFXLmxlbmd0aClyZXR1cm4iIjtufHwobj1XWzBdLnZpZGVvSWR8fCIiKTtmb3IobGV0IEQgb2YgVylpZihELnZpZGVvSWQ9PT1uJiZELmF1ZGlvVHJhY2tzKWZvcihsZXQgYiBvZiBELmF1ZGlvVHJhY2tzKWlmKGIuaXNEZWZhdWx0Rm9yU291cmNlKXJldHVybiBiLmlkfHwiIjtyZXR1cm4iIn07ClhZaD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgIkVNQkVEREVEX1BMQVlFUl9MSVRFX01PREVfRklYRURfUExBWUJBQ0tfTElNSVQiOkQ+MzA/bi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0zMDpEPDMwJiZEPjEwJiYobi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0xMCk7YnJlYWs7Y2FzZSAiRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIjpuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPUQqLjJ9fTsKcWpoPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFchPW51bGw/bnkobi5LLFcpOm4uSz9uLks6bi55US5wcmVmZXJHYXBsZXNzJiZuLnlRLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKR05oPWZ1bmN0aW9uKG4pe3JldHVybiEhbiYmaXNGaW5pdGUobikmJm4+MUU5fTsKQ0w9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCkmJlRmKG4pPyExOmokKG4pJiYoZy5HbChuLnlRKT8hbi5pc0xpdmVQbGF5YmFjazpuLmhsc3ZwKXx8IWZOKCl8fG4uVVQ/ITA6ITF9OwpCaj1mdW5jdGlvbihuKXtuPWcub0Uobik7cmV0dXJuIE51bWJlcihuLmV4cGlyZSl8fDB9OwpGZT1mdW5jdGlvbihuKXt2YXIgVz1uLkcoKTtyZXR1cm4gbi55US5WPT09ImhtInx8bi55US5WPT09ImdkInx8Vy5leHBlcmltZW50cy5adCgpLk4uUVEodFMyKSYmbi55US5YJiZuLnlRLlYhPT0iZ2wiPyEwOiExfTsKSng9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUQuY2hhbm5lbFRodW1ibmFpbDtiJiYoYj1iLnRodW1ibmFpbHMpJiYoYj1iWzBdKSYmKFcucHJvZmlsZV9waWN0dXJlPWIudXJsKTtpZihiPWcudyhnLncoRD8uY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LCR0TSk/LnVybEVuZHBvaW50LGcuUGopKVcuY2hhbm5lbF9wYXRoPWIudXJsO2lmKGI9RC5jb2xsYXBzZWRSZW5kZXJlcilpZihiPWcudyhiLHIxcikpe2xldCB2PWIudGl0bGU7diYmKFcudGl0bGU9Zy5EcCh2KSk7aWYoYj1iLnN1YnRpdGxlKVcuc3VidGl0bGU9Zy5EcChiKX1pZihEPUQuZXhwYW5kZWRSZW5kZXJlcilpZihEPWcudyhELHNzQykpe2lmKGI9RC50aXRsZSlXLmV4cGFuZGVkX3RpdGxlPWcuRHAoYik7aWYoYj1ELnN1YnRpdGxlKVcuZXhwYW5kZWRfc3VidGl0bGU9Zy5EcChiKTtpZihEPUQuc3Vic2NyaWJlQnV0dG9uKW4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI9Zy53KEQsTmgxKSxuLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyJiYKKFcudWNpZD1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLmNoYW5uZWxJZCxXLnN1YnNjcmliZWQ9bi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5zdWJzY3JpYmVkLG4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmbi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uLnRvZ2dsZUJ1dHRvblJlbmRlcmVyJiYoVz1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24udG9nZ2xlQnV0dG9uUmVuZGVyZXIsVy5pc1RvZ2dsZWQ/KG4ubGU9Vy50b2dnbGVkU2VydmljZUVuZHBvaW50fHxudWxsLG4uWTA9Vy5kZWZhdWx0U2VydmljZUVuZHBvaW50fHxudWxsKToobi5sZT1XLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnR8fG51bGwsbi5ZMD1XLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnR8fG51bGwpKSl9fTsKdzY9ZnVuY3Rpb24obil7cmV0dXJuISFuLkR4fHwhIW4uTmZ8fCEhbi5Gcnx8ISFuLlRJfHxuLmZafTsKUDA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47aWYoKG4mMTA3KT09bil7dmFyIGg9YltJWzVdXTtEW0lba144MTgzXV0oZnVuY3Rpb24ocixOLEgpe3RoaXNbSVtrXjgxNTddXShIW05dPWJbKGJbSVtrXjgxNTNdXShyKS1iW0lba144MTUzXV0odGhpc1tOXSkrTitoLS0pJWJbSVs1XV1dKX0sdltJW2teODE3NV1dKElba144MTU4XSkpfWlmKChuXjcxKT49NiYmKG4tMiYxNik8MylhOnt2YXIgeD1nLncoRCxwWVopfHxEW0lba143NjZdXSxMPXt4aTohMSwKRWw6SVtrXjY3OF0seTc6SVtrXjY3OF0sczpJW2teNjc4XX07aWYoIXgpe3ZhciBlPUw7YnJlYWsgYX14PWcuaXcoeCk7TFtJW2teNzQzXV09ITA7TFtJW2teNjQ0XV09eFtJW2teNjg2XV07TFtJW2teNjY1XV09eFtJW2teNjc5XV07TFtJW2teNjQ4XV09eFtJW2teNjQ4XV07ZT1MfWlmKChuJjEyNik9PW4pYTp7TD1EW0lba143MjcxXV0oSVtrXjcyNTRdKTt4PVsvWy8sLTQsL11bfSxdXFsnLyxJW2teNzE4NF0sLShrXjE4MTg5Njc3MzgpLC0oa14zMzc1NjY4NzMpLGteOTg5NTU4NzU4LG51bGwsVVloLC0oa144MjEyMzQxMTApLGteODc1MzU2NTIyLC0oa145NDM2MTYyODUpLC0oa144MzYxOTg2MDIpLGteMTU5ODMxMjY5MixaODEsa143MDczMDE3OTAsa14xMTcyOTI1ODk4LG51bGwsa140MTk5NDUxMywtKGteMjc3NDM3NjUyKSxrXjE0MzEzMjI2NzcsRTJVLC0oa14xNDYyMzMwNzMxKSx4dlUsbnVsbCxrXjE2MDQ0MTY1LGteNDg4OTU0MTc0LGteODIyNTEwODUxLFlqWixMLEhXdCwKZmFpLG8yaiwtKGteMjAyOTQ4MDMyNyksa14xMjgxODQ0NjYsa142NjMwMjAxNDQsU0ExLC0oa14xMjYwMTUwODE1KSwtKGteMTM4NTgyODA1NiksLShrXjE2NjI1MTc4MzcpLGteMTQ3ODUyMTA0NCwkWWosa14xODcwOTA2Mjg1LGteODIyNTEwODUxLFN1eCwtKGteMTExOTIxMzExNCksLShrXjg3NDEwNjcxMCksa14yMDc2NDU3OTE4LGteMTc0Njc4MTY5NCxJW2teNzI0MF0sb1VqLGteMTM4NDIyNjkxNSxNQ2IsLShrXjE2MjA0NjE3NTYpLGteMTI3MjM0ODc2MCxJW2teNzI5NF0sLShrXjkxMjQ2MDk4MSksa14xODg3MTM4NTY5LEoxWixJW2teNzE3MV0sTCwtKGteMTg5NjQ1NTA0KSwtKGteMTM1NTU3MzkzMSksLShrXjE0MTE5OTc0MjkpLGteMTk0Mzk0NjQxMyxMLElhMixTalUsa14xODcwOTA2Mjg1LElba143MjkwXSxBMTEsa14xMDM5NzI3ODI1LGteOTQxOTgzMTg4LC0oa14xODUwNDM2ODczKSxJW2teNzE2OF0sa14yMTYzOTkwMjEsbXR4LC0oa140NjQ5MjEzOSldO3hbNV09Cng7eFtrXjcyNDRdPXg7eFtrXjcyNTNdPXg7aWYodHlwZW9mIEtHdD09PUlba143Mjc4XSl7ZT1EO2JyZWFrIGF9dHJ5e3RyeXt4W2teNzI1NV09PT0tMyYmKCgoMCx4W2teNzI1NF0pKHhba143MTczXSx4W2teNzI0NF0pLCgoMCx4W2teNzI4MV0pKHhba143MjU2XSwoMCx4W2teNzI5MV0pKCkseFtrXjcyOTBdKSx4W2teNzI4MV0pKHhba143Mjg5XSwoMCx4W2teNzI0N10pKCkseFtrXjcyOTBdKSx4W2teNzI2M10pKHhba143MjUzXSksMSl8fCgoMCx4W2teNzI1NF0pKHhba143MjUxXSx4W2teNzI1Nl0pLHhba143MjYxXSkoeFtrXjcyNzJdLHhba143MjkyXSk+PigoMCx4W2teNzI2M10pKHhba143MjU2XSl8KDAseFtrXjcxNzVdKSh4W2teNzI1Ml0seFs1XSkpfWNhdGNoKHIpeygwLHhba143MjU1XSkoeFtrXjcyODJdKX1maW5hbGx5e3ZhciBHPU0zKGteNzI1NyxrXjIxOTAseCl9dHJ5e0c9WEQoa143MjUzLGteNzgwMCx4KX1jYXRjaChyKXt4W2teNzE3OV0hPS0zJiYoKCgoMCx4W2teCjcyOTJdKSgoMCx4W2teNzI0N10pKHhba143MTc3XSx4W2teNzE3NF0pLHhba143MjgzXSx4W2teNzE2OF0pLCgwLHhba143MTY5XSkoeFs1XSx4W2teNzI0OV0pLHhba143MTgxXSkoeFtrXjcyNDBdLHhba143MjgyXSkseFszXSkoeFtrXjcyNzBdLHhba143MjY5XSkseFtrXjcyNzhdKSgoMCx4W2teNzI3N10pKHhba143MjYxXSx4W2teNzI1MF0pLHhba143MjQ4XSwoMCx4W2teNzI2NF0pKHhba143Mjg3XSx4W2teNzI0NF0pLHhba143MjgzXSx4W2teNzI3MV0pLHhba143MjYwXSE9PTAmJih4W2teNzE2OF08PS0zPygwLHhba143MjY0XSkoeFtrXjcyNjldLHhba143MTc3XSk6KDAseFtrXjcxNjldKSh4W2teNzI2OF0sKDAseFtrXjcyNThdKSgpLHhbNF0pKX1maW5hbGx5e3hba143MTczXSE9PTQmJih4W2teNzI0N108PS00PygwLHhba143Mjg5XSkoKCgwLHhba143Mjc5XSkoeFtrXjcxODNdLHhba143MjQ0XSkseFtrXjcyNjhdKSh4W2teNzE4M10seFtrXjcyNDVdKSx4W2teNzI0OV0sCigwLHhba143MjQzXSkoKDAseFtrXjcyNDhdKSh4W2teNzI1N10seFtrXjcyODJdKSx4W2teNzI2OF0seFtrXjcyNDJdLHhba143MTcyXSksKCgoKCgoMCx4W2teNzI5NF0pKHhba143MjgxXSx4W2teNzI0MF0pLHhba143Mjc1XSkoeFtrXjcxODddLHhba143MjYzXSkseFtrXjcyNTVdKSh4W2teNzE3N10sKDAseFtrXjcyNDJdKSgpLHhba143MjU2XSkseFtrXjcyNDldKSh4W2teNzI2Nl0seFtrXjcyOTNdKSx4W2teNzE3NV0pKCgwLHhba143MTgwXSkoeFtrXjcyNDhdLHhba143MjkzXSkseFtrXjcxNzNdLHhbMV0seFtrXjcyOTNdKSx4W2teNzI0OV0pKHhba143MTY4XSx4W2teNzI2M10pLCgwLHhba143Mjc1XSkoeFtrXjcyODhdLHhba143MjkzXSk8PSgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143Mjc5XSkoKSx4W2teNzI1MF0pLHhba143MTc2XSwoMCx4W2teNzE3Nl0pKHhba143MjUxXSx4W2teNzI2M10pLHhbMF0seFtrXjcxNzddKTooKCgwLHhba143MTgxXSkoKCgwLHhba14KNzE3Nl0pKHhba143MTY5XSx4W2teNzI2M10pLHhba143Mjc1XSkoeFtrXjcyOTFdLHhba143MjYzXSklKDAseFtrXjcxODJdKSh4W2teNzE3Ml0pLHhba143MjU1XSwoMCx4W2teNzE3Nl0pKHhbNF0seFtrXjcxNzJdKSx4W2teNzI5M10sKDAseFtrXjcyNzBdKSgpLHhba143MjU2XSksKDAseFtrXjcxODJdKSh4W2teNzI4MV0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pPT09KCgoMCx4W2teNzI1NV0pKHhba143MTc3XSwoMCx4W2teNzI1N10pKCkseFtrXjcyNTBdKSx4W2teNzI3NV0pKHhba143MjU5XSx4W2teNzE3MV0pLCgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143Mjc5XSkoKSx4W2teNzI1Nl0pXigwLHhba143Mjc1XSkoeFtrXjcyNzZdLHhba143MTcyXSksKDAseFtrXjcxNzVdKSgoMCx4W2teNzE3M10pKHhba143Mjc0XSx4W2teNzE3Ml0pLAp4W2teNzI1NV0seFtrXjcyOTNdLCgwLHhba143MjcwXSkoKSx4W2teNzI1MF0pLHhba143MTc2XSkoeFtrXjcyOTRdLHhba143MjYzXSkpfX1jYXRjaChyKXtlPUlba143MjgwXStEO2JyZWFrIGF9ZT1MW0lba143MjQ2XV0oSVtrXjcyNTRdKX0obl45MSk8MTYmJm4rMT4+Mz49MiYmKGVYKGteNjY0MixrXjE0ODksRCksZT1nLkRsKERbSVsxXV0sT1d0KSk7bis5Pj40Pj0zJiYobj4+MiYyNCk8MTImJmJbSVsyMl1dKEQpO3JldHVybiBlfTsKTXM9ZnVuY3Rpb24obil7cmV0dXJuISEobi5XJiZuLlcudmlkZW9JbmZvcyYmbi5XLnZpZGVvSW5mb3MubGVuZ3RoKX07CkFKPWZ1bmN0aW9uKG4pe3JldHVybiBuLk5QKCkmJm4uRygpLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKUlE9ZnVuY3Rpb24obil7dmFyIFc9WyJNVVNJQ19WSURFT19UWVBFX0FUViIsIk1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIl0sRD1sbyhuLnlRKT09PSJUVkhUTUw1X1NJTVBMWSImJm4ueVEuTi5jdGhlbWU9PT0iTVVTSUMiOyFuLkpnJiYoZy5NVihuLnlRKXx8dHUobi55USl8fEQpJiYoVy5pbmNsdWRlcyhuLm11c2ljVmlkZW9UeXBlKXx8bi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0KSYmKG4uSmc9ITApO2lmKFc9Zy5kOCgpKVc9L1N0YXJib2FyZFwvKFswLTldKykvLmV4ZWMoZy5YUSgpKSxXPShXP3BhcnNlSW50KFdbMV0sMTApOk5hTik8MTA7RD1odShuLnlRKSYmbi55US5OLmN0aGVtZT09PSJNVVNJQyI7dmFyIGI7aWYoYj0hbi5KZylEfHwoRD1uLnlRLEQ9bG8oRCk9PT0iVFZIVE1MNSImJkQuTi5jdmVyLnN0YXJ0c1dpdGgoIjciKSksYj1EO2ImJiFXJiYoVz1uLm11c2ljVmlkZW9UeXBlPT09Ik1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIiwKRD0obi5TKCJjYXN0X3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKXx8bi5TKCJrYWJ1a2lfcGFuZ2VhX3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKSkmJm4ubXVzaWNWaWRlb1R5cGU9PT0iTVVTSUNfVklERU9fVFlQRV9BVFYiLFd8fER8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCkmJihuLkpnPSEwKTtyZXR1cm4gbi55US5kZXZpY2VJc0F1ZGlvT25seXx8bi5KZyYmbi55US5LfTsKUXo9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuUygiaHRtbDVfZGlzYWJsZV9hdjEiKT8hMDohMX07Ck5JPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5jb21wb3NpdGVCcm9hZGNhc3RUeXBlPT09IkNPTVBPU0lURV9CUk9BRENBU1RfVFlQRV9DT01QUkVTU0VEX0RPTUFJTl9DT01QT1NJVEUifTsKVno9ZnVuY3Rpb24obil7dmFyIFc9bi5LO24uUygiaHRtbDVfZ2FwbGVzc191bmxpbWl0X2Zvcm1hdF9zZWxlY3Rpb24iKSYmQUoobikmJihXPSExKTt2YXIgRD0hIW4uTiYmbi5OLnpXO1c9VThaKG4ueVEse21WOm4ubVYoKSx5WDpELE93OlJRKG4pLEhpOm4uSGksbFU6Vyxpc090ZjpuLmlzT3RmKCksb0w6bi5vTCgpLElSOm4uSVIseGQ6bi5nZXRVc2VyQXVkaW81MVByZWZlcmVuY2UoKSxkaXNhYmxlQXYxOlF6KG4pLGRCOk5JKG4pfSk7Zy5ZTihuKSYmKFcudlg9ITApO3pRKCkmJm4ucGxheWVyUmVzcG9uc2UmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnJiZuLnBsYXllclJlc3BvbnNlLnBsYXllckNvbmZpZy53ZWJQbGF5ZXJDb25maWcmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnLndlYlBsYXllckNvbmZpZy51c2VDb2JhbHRUdm9zRG9nZm9vZEZlYXR1cmVzJiYoVy5qPSEwLFcuVj0hMCk7bi5LJiZuLmlzQWQoKSYmKG4uWXImJihXLk89bi5Zciksbi5TViYmCihXLlg9bi5TVikpO24uTlAoKSYmKFcuUyQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzIikpO1cubnU9bi5pc0xpdmVQbGF5YmFjayYmbi5NaSgpJiZuLnlRLlMoImh0bWw1X2RybV9saXZlX2F1ZGlvXzUxIik7Vy5iZD1uLkVUO24uUygiaHRtbDVfZGlzYWJsZV92cDlfaGRyX2ZhaXJwbGF5IikmJnpRKCkmJihXLmJkPSEwKTtXLlJhPSFnLllOKG4pO1cuVEM9IWcuWU4obikmJm4ueVEuZXhwZXJpbWVudHMuWnQoKS5OLlFRKFByaSk7cmV0dXJuIG4uZSQ9V307ClV0TT1mdW5jdGlvbihuKXtnLmFMKCJkcm1fcGJfcyIsdm9pZCAwLG4uelIpO24uQ2l8fG4uTiYmbi5OLlgoKTt2YXIgVz17fTtuLk4mJihXPU5kKG4ueXcsVnoobiksbi55US5XLG4uTixEPT5uLldKKCJjdG1wIiwiZm10Zmx0IixEKSwhMCxuZXcgU2V0KSk7Clc9bmV3IFpXUyhXLG4ueVEsbi5KaixuLnVzZUNvYmFsdFdpZGV2aW5lP3pRKCk/VGYobik6ITE6ITEsKEQsYik9PntuLlUoRCxiKX0pOwpnLnUobixXKTtuLlEkPSExO24ubG9hZGluZz0hMDtkOGkoVyxEPT57Zy5hTCgiZHJtX3BiX2YiLHZvaWQgMCxuLnpSKTtmb3IodmFyIGIgb2YgRClzd2l0Y2goYi5mbGF2b3Ipe2Nhc2UgImZhaXJwbGF5IjpiLkNpPW4uQ2k7Yi5WOT1uLlY5O2Iuamk9bi5qaTticmVhaztjYXNlICJ3aWRldmluZSI6Yi5GYz1uLkZjfW4uVFE9RDtpZihuLlRRLmxlbmd0aD4wJiYobi5qPW4uVFFbMF0sbi55US5XWCgpKSl7RD17fTtmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMobi5qLkopKXtiPWs7bGV0IGg9InVuayIseD12Lm1hdGNoKC8oLiopY29kZWNzPSIoLiopIi8pO3gmJihoPXhbMl0pO0RbaF09Yn1uLlUoImRybVByb2JlIixEKX1mTChuKX0pfTsKY2o9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz0hIW4uY290bilXPW4udmlkZW9JZCxXPSEhVyYmZSQoVyk9PT0xO3JldHVybiBXJiYhbi5XaX07CnkxaD1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5zdHJlYW1pbmdEYXRhPy5hZGFwdGl2ZUZvcm1hdHN8fFtdLEQ9bnVsbDtpZihXLmxlbmd0aD4wKUQ9YVEobixXKTtlbHNlIGlmKCFuLlMoImh0bWw1X2RlcHJlY2F0ZV9hZGFwdGl2ZV9mb3JtYXRzX3N0cmluZyIpKXtuLlUoInBhZm10c3RyIix7czpuLmFkYXB0aXZlRm9ybWF0cy5zdWJzdHJpbmcoMCw1MCl9KTtpZigoVz1uLmFkYXB0aXZlRm9ybWF0cykmJiFqJChuKSl7bi55US5XLkomJihSbz0hMCk7Vz1uQShXKTtEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9czVVKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaD8uZXhwZXJpbWVudHMsITApO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLlc9IWs7Yi5pc0xpdmU9IWs7Yi5YZz1rO2ZvcihHIG9mIFcpe3Y9SW8oRywKRCwwLGgseCk7TD1SeChHLnVybCxHLnNwLEcucyk7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aD8uZXhwZXJpbWVudHM/LkVxKCJodG1sNV9tYXhfa25vd25fZW5kX3RpbWVfcmViYXNlIik7bGV0IHI9TnVtYmVyKEcudGFyZ2V0X2R1cmF0aW9uX3NlYyl8fDUsTj1OdW1iZXIoRy5tYXhfZHZyX2R1cmF0aW9uX3NlYyl8fDE0NDAwLEg9TnVtYmVyKEwuZ2V0KCJtaW5kc3EiKXx8TC5nZXQoIm1pbl9zcSIpfHwiMCIpLEE9TnVtYmVyKEwuZ2V0KCJtYXhkc3EiKXx8TC5nZXQoIm1heF9zcSIpfHwiMCIpfHxJbmZpbml0eTtiLkl0PWIuSXR8fEg7Yi5IUD1iLkhQfHxBO2xldCB5PSF2Lk4oKTtMJiYkZyhiLG5ldyBXVChMLHYse3JiOnIsT1Q6eSx1YjpOLEl0OkgsSFA6QSx1azozMDAsWGc6ayxFMzplfSkpfXZhciBHPWJ9ZWxzZSBHPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/TnBqKFcsRCxiLGgseCk6cEpiKFcsRCxiLGgseCk7Vy5sZW5ndGg+CjAmJihXPVdbMF0sRmUobikmJlcudXJsJiYobi5SYT1uLlJhfHxCaihXLnVybCkpKTtXPW4uaXNMaXZlUGxheWJhY2smJiFuLlhnJiYhbi5SSSYmIW4uaXNQcmVtaWVyZTtuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiYoIWcuRFAobikmJlcmJm4uVSgibWlzc2luZ0xpdmVIZWFkUGxheWFibGUiLHt9KSxuLnlRLlY9PT0ieXQiJiYoRy5WUT0hMCkpO0Q9R31lbHNlIEQ9bnVsbDtuLlUoInBhZm10cyIse2lzTWFuaWZlc3RGaWxsZWQ6ISFEfSl9aWYoIUQpcmV0dXJuITE7YkYobixEKTtyZXR1cm4hMH07Ckk0PWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uTnx8IW4uTi5pc01hbmlmZXN0bGVzcyl9OwpnLkRQPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiZJNChuKSYmbi55US5WPT09Inl0Ij9uLmlzTGl2ZUhlYWRQbGF5YWJsZTpuLmlzTGl2ZVBsYXliYWNrfTsKYVE9ZnVuY3Rpb24obixXKXtpZihXLmxlbmd0aD09PTB8fGokKG4pKXJldHVybiBudWxsO24ueVEuVy5KJiYoUm89ITApO3ZhciBEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9cXVqKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaC5leHBlcmltZW50cywhMCk7Yi5XPSFrO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLmlzTGl2ZT0haztiLlhnPWs7Zm9yKGxldCBHIG9mIFcpe3Y9dFooRyxELDAsaCx4KTtsZXQge0VsOnIsczpOLHk3Okh9PVAwKDUsNjk0LEcpO0w9Ungocnx8Ry51cmx8fCIiLEgsTik7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aC5leHBlcmltZW50cz8uRXEoImh0bWw1X21heF9rbm93bl9lbmRfdGltZV9yZWJhc2UiKTtsZXQgQT1OdW1iZXIoRy50YXJnZXREdXJhdGlvblNlY3x8CjUpLHk9TnVtYmVyKEcubWF4RHZyRHVyYXRpb25TZWN8fDE0NDAwKSxUPU51bWJlcihMLmdldCgibWluZHNxIil8fEwuZ2V0KCJtaW5fc3EiKXx8IjAiKSx6PU51bWJlcihMLmdldCgibWF4ZHNxIil8fEwuZ2V0KCJtYXhfc3EiKXx8IjAiKXx8SW5maW5pdHk7Yi5JdD1iLkl0fHxUO2IuSFA9Yi5IUHx8ejtsZXQgQz0hdi5OKCk7TCYmJGcoYixuZXcgV1QoTCx2LHtyYjpBLE9UOkMsdWI6eSxJdDpULEhQOnosdWs6MzAwLFhnOmssRTM6ZX0pKX1EPWJ9ZWxzZSBEPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/RzNDKFcsRCxiLGgseCk6dE9aKFcsRCxiLGgseCk7Vy5sZW5ndGg+MCYmKFc9V1swXSxGZShuKSYmVy51cmwmJihuLlJhPW4uUmF8fEJqKFcudXJsKSkpO1c9bi5pc0xpdmVQbGF5YmFjayYmIW4uWGcmJiFuLlJJJiYhbi5pc1ByZW1pZXJlO24uUygiaHRtbDVfbGl2ZV9oZWFkX3BsYXlhYmxlIikmJighZy5EUChuKSYmVyYmbi5VKCJtaXNzaW5nTGl2ZUhlYWRQbGF5YWJsZSIsCnt9KSxuLnlRLlY9PT0ieXQiJiYoRC5WUT0hMCkpO3JldHVybiBEfTsKbkE9ZnVuY3Rpb24obixXKXtuPXV3KG4pO3ZhciBEPXt9O2lmKFcpZm9yKHZhciBiIG9mIFcuc3BsaXQoIiwiKSkoVz1iLm1hdGNoKC9eKFswLTldKylcLyhbMC05XSspeChbMC05XSspKFwvfCQpLykpJiYoRFtXWzFdXT17d2lkdGg6V1syXSxoZWlnaHQ6V1szXX0pO2ZvcihsZXQgdiBvZiBuKWlmKGI9RFt2Lml0YWddKXYud2lkdGg9Yi53aWR0aCx2LmhlaWdodD1iLmhlaWdodDtyZXR1cm4gbn07CmJGPWZ1bmN0aW9uKG4sVyxEPSExKXtuLmVWPXZvaWQgMDtuLk49VztnLnUobixXKTtXLkl0PW4uSXQ7Vy5IUD1uLkhQO1cuSlU9bi5KVTtXLm9SPW4ub1I7Vy5JVD1uLklUO24ubEMmJihXLlk9bmV3IHZUKG4ubEMpKTsobi5tVigpfHxnLmtwKG4pKSYmbi5JSi5wdXNoKCJ3ZWJnbCIpO24uTi5pc0xpdmV8fChuLmlzTGl2ZVBsYXliYWNrPSExKTt2YXIgYj1XLnNvdXJjZVVybC5zcGxpdCgiLyIpO2lmKG4uVlE/Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT09LTE6Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT0tMSluLnptPU51bWJlcihiW2IuaW5kZXhPZigibWFuaWZlc3RfZHVyYXRpb24iKSsxXSk7aWYoVy5XfHxXLmlzTWFuaWZlc3RsZXNzKVcuc3Vic2NyaWJlKCJjbGllbnR0ZW1wIixuLlUsbiksRD9XLnN1YnNjcmliZSgicmVmcmVzaCIsbi5QSCxuKTpXLnN1YnNjcmliZSgiY3VlcG9pbnRzYWRkZWQiLG4uRVosbik7Vy5YKCk/bi5RJD0hMDpHTD12b2lkIDA7Cm4uUkkmJihXLmlzV2luZG93ZWRMaXZlPW4uUkksVy5pc0xpdmU9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk7Vy5pc1ByZW1pZXJlPW4uaXNQcmVtaWVyZTtXLmlzTGl2ZUhlYWRQbGF5YWJsZT1uLmlzTGl2ZUhlYWRQbGF5YWJsZX07ClRmPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X3R2b3Nfc2tpcF9kYXNoX2F1ZGlvX2NoZWNrIil8fE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicpfTsKaiQ9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCk/IVRmKG4pOkMkKCk/bi5DaSYmbi5jTz8hMDohKCFuLkNpfHwhbi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJmZOKCkpOiExfTsKU3g9ZnVuY3Rpb24obil7cmV0dXJuIG4ubGF0ZW5jeUNsYXNzPT09IkxPVyJ8fG4ubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIn07CmhEPWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRP1N4KG4pJiZuLk4hPW51bGwmJm9vKG4uTik+PTU6U3gobikmJm4uTiE9dm9pZCAwJiZvbyhuLk4pPj01fTsKRXFoPWZ1bmN0aW9uKG4pe24ubG9hZGluZz0hMDtuLkN1PSExO2lmKGNqKG4pKUIkeChuLnZpZGVvSWQpLnRoZW4oYj0+e2lmKG4ucGxheWVyUmVzcG9uc2U/LnN0cmVhbWluZ0RhdGEpe3ZhciB2PVtdO2ZvcihsZXQgayBvZiBiKWI9T2JqZWN0LmFzc2lnbih7fSxrKSxiLnNpZ25hdHVyZUNpcGhlcj0iIix2LnB1c2goYik7di5sZW5ndGg8MiYmbi5VKCJvZmZtbGYiLHtsZW46di5sZW5ndGh9KTt2PWFRKG4sdik7UlEobikmJnp4KHYsITEpO2JGKG4sdik7bi5VKCJkbHIiLHt9KX1lbHNlIG4uVSgib2Zmc2RtIix7Y290bjpuLkNtP24uQ20uY290bjoiMCIsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pfSkudGhlbigoKT0+e2ZMKG4pfSk7CmVsc2V7Z1gobi5UZil8fGcuR3EobmV3IGcuUXgoIkRBU0ggTVBEIE9yaWdpbiBpbnZhbGlkOiAiLG4uVGYpKTt2YXIgVz1uLlRmLEQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJkYXNoX21hbmlmZXN0X3ZlcnNpb24iKXx8NDtXPWcuRVQoVyx7bXBkX3ZlcnNpb246RH0pO1N4KG4pJiZuLmxhdGVuY3lDbGFzcyE9PSJOT1JNQUwifHwoVz1nLkVUKFcse3BhY2luZzowfSkpO2Z0WihXLG4ueVEuZXhwZXJpbWVudHMsbi5pc0xpdmVQbGF5YmFjaykudGhlbihiPT57bi5xTigpfHwoYkYobixiLCEwKSxnLmFMKCJtcmMiLHZvaWQgMCxuLnpSKSxmTChuKSl9LGI9PntuLnFOKCl8fChuLmxvYWRpbmc9ITEsbi5XSigiZGF0YWxvYWRlcnJvciIsbmV3IGcuQ2koIm1hbmlmZXN0Lm5ldC5yZXRyeWV4aGF1c3RlZCIse2JhY2tlbmQ6Im1hbmlmZXN0IiwKcmM6Yi5zdGF0dXN9LDEpKSl9KTsKZy5hTCgibXJzIix2b2lkIDAsbi56Uil9fTsKeHA9ZnVuY3Rpb24obil7aWYoIW4uaXNQcm94aW1hTGF0ZW5jeUVsaWdpYmxlKXJldHVybiAwO3ZhciBXPVlkKCk7cmV0dXJuIG4ueVEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmFibGVQcm94aW1hTG93TGF0ZW5jeT8yOlc9PT0xPzE6bi5TKCJodG1sNV9lbmFibGVfcHJveGltYSIpPzI6MH07Ckt6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUyhXKT8hMDoobi5mZmxhZ3N8fCIiKS5pbmNsdWRlcyhXKyI9dHJ1ZSIpfTsKaVdTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8Q0wobil8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdDtpZighbi5OfHxEKXJldHVybiBuLlUoInNraXBEYXNoIix7ZG06ISFuLk4sYWlyOlcsZGQ6bi5VVCxtc3M6Zk4oKSwiM3BwIjpuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3R9KSxnLnAkKCk7UlEobikmJnp4KG4uTixuLmlzTGl2ZVBsYXliYWNrKTtyZXR1cm4gZy5IMCgpLnRoZW4oKCk9PlMyYihuLnl3LFZ6KG4pLG4ueVEuVyxuLk4sbi5qLGI9Pm4uV0ooImN0bXAiLCJmbXRmbHQiLGIpLG4ub00sTEEobikpLnRoZW4oYj0+e2U3KG4sYik7Cm4ueXcuSj1udWxsOy9eYXYvLnRlc3Qobi5jbGllbnRQbGF5YmFja05vbmNlKSYmbi5lJCYmbi5VKCJhdjEiLG4uZSQuTil9KSl9Owp1bXQ9ZnVuY3Rpb24obixXKXtpZihXJiZuLmhsc3ZwKXJldHVybiBnLnAkKCk7aWYobi5obHNGb3JtYXRzKXtpZihXPW5BKG4uaGxzRm9ybWF0cykpe2xldCBiPVtdO2Zvcih2YXIgRCBvZiBXKUQudXJsJiYoRC51cmw9Vm10KEQudXJsKSksbi5lJD8uVyYmYi5wdXNoKEQuaXRhZyk7bi5lJD8uVyYmYi5sZW5ndGg+MCYmbi5VKCJobHNmbXQiLHtpdGFnczpiLmpvaW4oIi4iKX0pfW4ueUU9Z1laKG4ueVEsVyk7bi55RSYmZ2wobixuLnlFKTtEPW4uY2xpZW50UGxheWJhY2tOb25jZTtyZXR1cm4gdG1NKG4ueVEsbi5pc0FkKCksVyxuLnBsYXllclJlc3BvbnNlPy5jYXB0aW9ucz8ucGxheWVyQ2FwdGlvbnNSZW5kZXJlcj8uYmFzZVVybD8/bnVsbCxuLkdmLEQsYj0+bi5XSigiY3RtcCIsImhsc2ZsdCIsYikpLnRoZW4oYj0+e3ZhciB2PTAsaz1bXTsKZm9yKGxldCBoIG9mIGIpay5wdXNoKGgua0woKT8uaXRhZyksaC5rTCgpPy5ZKCk/Lm51bUNoYW5uZWxzPnYmJih2PWgua0woKS5hdWRpby5udW1DaGFubmVscyk7dj4yJiZuLlUoImhsc2NobCIse21uOnZ9KTtuLmUkPy5XJiZuLlUoImhsc2ZtdGFmIix7aXRhZ3M6ay5qb2luKCIuIil9KTtpZihuLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5qPy5OKCkpe24uVSgiZHJtIix7c2JkbGZiazoxfSk7Zm9yKGxldCBoIG9mIG4uVFEpaWYoZzEoaCkpe24uaj1oO2JyZWFrfX1YMihuLGIpfSl9cmV0dXJuIGcucCQoKX07Cm9xMT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QmJm4uY2Ype2xldCBXPW5BKG4uY2YpO2lmKCFXWzBdKXJldHVybiBnLnAkKCk7bi5xdz1XWzBdO3JldHVybiBzaXIobi55USxXWzBdKS50aGVuKEQ9PntYMihuLEQpfSl9cmV0dXJuIG4uUXImJm4ub2M/cnFaKG4ueVEsbi5pc0FkKCksbi5RcikudGhlbihXPT57WDIobixXKX0pOmcucCQoKX07CnprVT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QpcmV0dXJuIGcucCQoKTt2YXIgVz1uQShuLmNmLG4uR2opO2lmKG4uaGxzdnApe2xldCBEPVFpMihuLmhsc3ZwLG4uY2xpZW50UGxheWJhY2tOb25jZSxuLkdmKTtXLnB1c2goRCl9cmV0dXJuIGpDaChuLnlRLG4uaXNBZCgpLFcsZHQxKG4pKS50aGVuKEQ9PntYMihuLEQpfSl9OwpMQT1mdW5jdGlvbihuKXt2YXIgVz1uLlMoImh0bWw1X2VuYWJsZV9zZXJ2ZXJfZm9ybWF0X2ZpbHRlciIpJiYhbi5NaSgpLEQ9bi5TKCJodG1sNV9lbmFibGVfc2VydmVyX2Zvcm1hdF9maWx0ZXJfZm9yX2RybSIpJiZuLk1pKCk7cmV0dXJuIGcuWU4obikmJihXfHxEKX07CmU3PWZ1bmN0aW9uKG4sVyl7bi5XPVc7Z2wobixuLlcuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKSk7aWYobi5XKWZvcih2YXIgRCBvZiBuLlcudmlkZW9JbmZvcylXPUQuY29udGFpbmVyVHlwZSxXIT09MCYmKG4uYkJbV109RC5pZCk7RD1uLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7RD1ELmNvbmNhdChuLnZYKTtmb3IoVz0wO1c8bi5Udy5sZW5ndGg7VysrKXtsZXQgdj1uLlR3W1ddO2ZvcihsZXQgaz0wO2s8RC5sZW5ndGg7aysrKXtsZXQgaD1EW2tdO3ZhciBiPWgua1ouaWQ9PT12LmF1ZGlvVHJhY2tJZDtpZihoLmtaLmlzRGVmYXVsdCYmVz09PW4uTyR8fGIpe2lmKHYuY2FwdGlvblRyYWNrSW5kaWNlcylmb3IoYj0wO2I8di5jYXB0aW9uVHJhY2tJbmRpY2VzLmxlbmd0aDtiKyspaC5jYXB0aW9uVHJhY2tzW2JdPW4uY2FwdGlvblRyYWNrc1t2LmNhcHRpb25UcmFja0luZGljZXNbYl1dO3YuZGVmYXVsdENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5XPW4uY2FwdGlvblRyYWNrc1t2LmRlZmF1bHRDYXB0aW9uVHJhY2tJbmRleF0pOwp2LmZvcmNlZENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5OPW4uY2FwdGlvblRyYWNrc1t2LmZvcmNlZENhcHRpb25UcmFja0luZGV4XSk7aC5KPXYudmlzaWJpbGl0eXx8IlVOS05PV04iO2guY2FwdGlvbnNJbml0aWFsU3RhdGU9di5jYXB0aW9uc0luaXRpYWxTdGF0ZXx8IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiJ9fX1pZihuLmomJm4uVyYmbi5XLnZpZGVvSW5mb3MmJiEobi5XLnZpZGVvSW5mb3MubGVuZ3RoPD0wKSYmKEQ9bi5XLnZpZGVvSW5mb3NbMF0uVygpLG4uai5mbGF2b3I9PT0iZmFpcnBsYXkiIT09RCkpZm9yKGxldCB2IG9mIG4uVFEpaWYoRD09PSh2LmZsYXZvcj09PSJmYWlycGxheSIpKXtuLmo9djticmVha319OwpnbD1mdW5jdGlvbihuLFcpe1cuc29ydCgoRCxiKT0+RC50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYi50b1N0cmluZygpLG4ueVEuaG9zdExhbmd1YWdlKSl9OwpYMj1mdW5jdGlvbihuLFcpe24ubnU9VztlNyhuLG5ldyBwZyhnLmlfKG4ubnUsRD0+RC5rTCgpKSkpfTsKZHQxPWZ1bmN0aW9uKG4pe3ZhciBXPXtjcG46bi5jbGllbnRQbGF5YmFja05vbmNlLGM6bi55US5OLmMsY3ZlcjpuLnlRLk4uY3Zlcn07bi54eiYmKFcucHRrPW4ueHosVy5vaWQ9bi5YbyxXLnB0Y2huPW4uaDEsVy5wbHR5cGU9bi5xOCxuLnk5JiYoVy5tPW4ueTkpKTtyZXR1cm4gV307CmcucXU9ZnVuY3Rpb24obil7cmV0dXJuIGokKG4pJiZuLkNpP3tmYWlycGxheToiaHR0cHM6Ly95b3V0dWJlLmNvbS9hcGkvZHJtL2Zwcz9laz11bmluaXRpYWxpemVkIn06bi5KJiZuLkouY29udGVudFByb3RlY3Rpb258fG51bGx9OwpHZT1mdW5jdGlvbihuKXtyZXR1cm4gbi5wbGF5ZXJSZXNwb25zZSYmbi5wbGF5ZXJSZXNwb25zZS5wYWlkQ29udGVudE92ZXJsYXkmJm4ucGxheWVyUmVzcG9uc2UucGFpZENvbnRlbnRPdmVybGF5LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfHxnLncobi53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8ucGxheWVyRGlzY2xvc3VyZSxsYVMpfHxudWxsfTsKdEQ9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcudGV4dD9nLkRwKFcudGV4dCk6bi5wYWlkQ29udGVudE92ZXJsYXlUZXh0fTsKJHA9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcuZHVyYXRpb25Ncz9nLk5oKFcuZHVyYXRpb25Ncyk6bi5wYWlkQ29udGVudE92ZXJsYXlEdXJhdGlvbk1zfTsKcmw9ZnVuY3Rpb24obil7dmFyIFc9IiI7aWYobi51aClyZXR1cm4gbi51aDtuLmlzTGl2ZVBsYXliYWNrJiYoVz1uLmFsbG93TGl2ZUR2cj8iZHZyIjpuLmlzUHJlbWllcmU/ImxwIjpuLlJJPyJ3aW5kb3ciOiJsaXZlIik7bi5YZyYmKFc9InBvc3QiKTtyZXR1cm4gV307Cmcuc1M9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIG4ua2V5d29yZHNbV10hPT0ic3RyaW5nIj9udWxsOm4ua2V5d29yZHNbV119OwpnLllMPWZ1bmN0aW9uKG4pe3JldHVybiEhKG4uVGZ8fG4uY2Z8fG4uUXJ8fG4uaGxzdnB8fG4uSXAoKSl9OwpBeD1mdW5jdGlvbihuKXtyZXR1cm4obj1uLlJ0KSYmbi5zaG93RXJyb3I/bi5zaG93RXJyb3I6ITF9OwpOdT1mdW5jdGlvbihuKXtuLm11dGVkQXV0b3BsYXk9ITE7bi5lbmRTZWNvbmRzPU5hTjtuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPU5hTjt6ZihuKX07CmcucEE9ZnVuY3Rpb24obil7cmV0dXJuIGcuRFAobikmJiFuLmFsbG93TGl2ZUR2cn07CllwPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRQKG4pJiZuLmFsbG93TGl2ZUR2cn07CmcuSFQ9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJks2KG4uTil9OwpnLmZBPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZPayhuLk4pfTsKZy5rcD1mdW5jdGlvbihuKXtyZXR1cm4hIW4uTiYmSiRVKG4uTil9OwpnLkpEPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZQRihuLk4pfTsKSVQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uYWRGb3JtYXQmJihuLlZRP24uYWRGb3JtYXQhPT0iMV81IjpuLmFkRm9ybWF0IT0iMV81Iik/ImFkdW5pdCI6bi5ldmVudExhYmVsfHxuLnlRLll9OwpnLlM3PWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJzaG9ydHNwYWdlIn07CkFEPWZ1bmN0aW9uKG4pe3JldHVybiBuLkd1fHxJVChuKT09PSJkZXRhaWxwYWdlInx8SVQobik9PT0ic2hvcnRzcGFnZSJ8fG4ubXV0ZWRBdXRvcGxheX07CmlUPWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJhZHVuaXQiP24uVlQ6QUQobik/SVQobik9PT0iZGV0YWlscGFnZSJ8fElUKG4pPT09InNob3J0c3BhZ2UiP24uaXNBdXRvbmF2fHxuLlMkPjA6bi5mQj8hMTpuLnlRLlU1fHxuLnlRLk1kfHwhZy5vNChuLnlRKT8hMDohMToobi5mQj8wOm4uUFgpJiZnLm80KG4ueVEpPyEwOiExfTsKZy5tTz1mdW5jdGlvbihuKXtyZXR1cm4gbi56VygpJiZnLllOKG4pfTsKcHo9ZnVuY3Rpb24obil7cmV0dXJuISFuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/Lm1lZGlhQ29tbW9uQ29uZmlnPy5zcGxpdFNjcmVlbkVsaWdpYmxlfTsKS0E9ZnVuY3Rpb24obil7cmV0dXJuIGlzTmFOKG4pPzA6TWF0aC5tYXgoKERhdGUubm93KCktbikvMUUzLTMwLDApfTsKT1M9ZnVuY3Rpb24obil7cmV0dXJuISghbi5XaXx8IW4ueVEuSykmJm4uSXAoKX07ClBUPWZ1bmN0aW9uKG4pe3JldHVybiBuLktkJiZuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpfTsKVGhpPWZ1bmN0aW9uKG4pe3JldHVybiBuLkRFJiYhbi5sQ307CmNxeD1mdW5jdGlvbihuKXtzd2l0Y2gobi55US5WKXtjYXNlICJnZCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fZHJpdmUiKTtjYXNlICJncCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fcGxheV9zdG9yZSIpO2Nhc2UgImRkIjpyZXR1cm4hMDtjYXNlICJwdyI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpO2RlZmF1bHQ6cmV0dXJuITF9fTsKcEw9ZnVuY3Rpb24obil7dmFyIFc7aWYoIShXPU5zJiZuLnpXKCkmJm4uTWkoKSYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCkmJm4uUygiaHRtbDVfc2Ficl9saXZlX2RybV9zdHJlYW1pbmdfeGhyIikpKXtXPW4uelcoKSYmIW4uTWkoKSYmTnM7dmFyIEQ9bi56VygpJiZuLmxhdGVuY3lDbGFzcyE9PSJVTFRSQUxPVyImJiFTeChuKSYmbi5TKCJodG1sNV9zYWJyX2xpdmVfbm9ybWFsX2xhdGVuY3lfc3RyZWFtaW5nX3hociIpLGI9U3gobikmJm4uUygiaHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtsZXQgdj1uLmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyImJm4uUygiaHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtXPVcmJihEfHxifHx2KX1EPVc7Vz1uLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZEJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3NzZGFpX3N0cmVhbWluZ194aHIiKTtEPSFuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYKRDtiPW4uelcoKSYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX2xpdmVfbm9uX3N0cmVhbWluZ194aHIiKTtuPU5zJiYobi5ERigpfHxweihuKSYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl9mb3JfbGlmYV9lbGlnaWJsZV9zdHJlYW1zIikpO3JldHVybiBXfHxEfHxifHxufTsKZy5tTT1mdW5jdGlvbihuKXtpZighbi5OfHwhbi5KfHwhbi5YKXJldHVybiExO3ZhciBXPW4uTi5OLEQ9ISFXW24uSi5pZF0mJmdaKDU2LDExOTYsV1tuLkouaWRdLlhiLk4pO1c9ISFXW24uWC5pZF0mJmdaKDIyLDExNTQsV1tuLlguaWRdLlhiLk4pO3JldHVybihuLkouaXRhZz09PSIwInx8RCkmJld9OwpaUD1mdW5jdGlvbihuKXtyZXR1cm4gbi5lQj9bIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKG4uZUIuc3RhdHVzKTohMH07ClVTPWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uaXNMaXZlUGxheWJhY2t8fCFuLmhhc1Byb2dyZXNzQmFyQm91bmRhcmllcygpKX07CnlVPWZ1bmN0aW9uKG4pe3JldHVybiBuLnlRLmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqc1opJiZuLk5QKCl8fG4uUygiZW5hYmxlX3BsYXllcl9yZXNwb25zZV9jYWNoZV9mb3JfbGl2ZSIpfTsKRVM9ZnVuY3Rpb24obil7cmV0dXJuISFuLmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckZsYWdzPy5lbmFibGVNdXNpY1V4fTsKaUY9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuSiYmbi5pc1ByaXZhdGV9OwpnLm9UPWZ1bmN0aW9uKG4pe3ZhciBXPW4uRygpLEQ9dUYoVyksYj1XLlFyO2cuQ04oVykmJihiJiYoRC50aGlyZFBhcnR5PXsuLi5ELnRoaXJkUGFydHksZW1iZWRVcmw6Yn0pLGcuRW4oRCxuKSk7KGI9bi50dyk/RC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmJ9OmcuQ04obi5HKCkpJiZnLkFyKCJFVkVOVF9JRCIpJiYoRC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmcuQXIoIkVWRU5UX0lEIil9KTtiPUQuY2xpZW50fHx7fTt2YXIgdj0iRU1CRUQiLGs9SVQobik7az09PSJsZWFuYmFjayI/dj0iV0FUQ0giOlcuUygiZ3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlbiIpJiZrPT09InByb2ZpbGVwYWdlIj92PSJDSEFOTkVMIjpuLklSP3Y9IkxJVkVfTU9OSVRPUiI6az09PSJkZXRhaWxwYWdlIj92PSJXQVRDSF9GVUxMX1NDUkVFTiI6az09PSJhZHVuaXQiP3Y9IkFEVU5JVCI6az09PSJzcG9uc29yc2hpcHNvZmZlciImJih2PSJVTktOT1dOIik7Yi5jbGllbnRTY3JlZW49CnY7aWYodj1uLmtpZHNBcHBJbmZvKWIua2lkc0FwcEluZm89SlNPTi5wYXJzZSh2KTsoaz1uLkFtKSYmIXYmJihiLmtpZHNBcHBJbmZvPXtjb250ZW50U2V0dGluZ3M6e2FnZVVwTW9kZTpDcmJba119fSk7aWYodj1uLnRHKWIudW5wbHVnZ2VkQXBwSW5mbz17ZW5hYmxlRmlsdGVyTW9kZTohMH07KGs9bi51bnBsdWdnZWRGaWx0ZXJNb2RlVHlwZSkmJiF2JiYoYi51bnBsdWdnZWRBcHBJbmZvPXtmaWx0ZXJNb2RlVHlwZTpCaGhba119KTtpZih2PW4uWFkpYi51bnBsdWdnZWRMb2NhdGlvbkluZm89djtELmNsaWVudD1iO2I9RC5yZXF1ZXN0fHx7fTtuLllaJiYoYi5pc1ByZWZldGNoPSEwKTtpZih2PW4ubWR4RW52aXJvbm1lbnQpYi5tZHhFbnZpcm9ubWVudD12O2lmKHY9bi5tZHhDb250cm9sTW9kZSliLm1keENvbnRyb2xNb2RlPUZHeFt2XTtELnJlcXVlc3Q9YjtiPUQudXNlcnx8e307aWYodj1uLkQpYi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnM9W3t0b2tlbjp2LHNjb3BlOiJWSURFTyJ9XTsKaWYodj1uLkhKKWIuZGVsZWdhdGVQdXJjaGFzZXM9e29hdXRoVG9rZW46dn0sYi5raWRzUGFyZW50PXtvYXV0aFRva2VuOnZ9O3Y9Vy5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk/LnVzZXJDb250ZW50UmF0aW5nOyF2JiZXLlMoImVuYWJsZV9icmF6aWxfYWdlX2dhdGluZ193ZWIiKSYmKHY9Zy5vOSgpLmdldCgiYnJfYWdlX3JhdGluZyIpKTt2JiYoYi5zZXJpYWxpemVkVXNlckNvbnRlbnRSYXRpbmc9dik7RC51c2VyPWI7aWYoVz1uLmNvbnRleHRQYXJhbXMpRC5hY3RpdmVQbGF5ZXJzPVt7cGxheWVyQ29udGV4dFBhcmFtczpXfV07aWYobj1uLmNsaWVudFNjcmVlbk5vbmNlKUQuY2xpZW50U2NyZWVuTm9uY2U9bjtyZXR1cm4gRH07CnVGPWZ1bmN0aW9uKG4pe3ZhciBXPWcudmIoKSxEPVcuY2xpZW50fHx7fTtpZihuLmZvcmNlZEV4cGVyaW1lbnRzKXt2YXIgYj1uLmZvcmNlZEV4cGVyaW1lbnRzLnNwbGl0KCIsIik7bGV0IHY9W107Zm9yKGxldCBrIG9mIGIpdi5wdXNoKE51bWJlcihrKSk7RC5leHBlcmltZW50SWRzPXZ9aWYoYj1uLmhvbWVHcm91cEluZm8pRC5ob21lR3JvdXBJbmZvPUpTT04ucGFyc2UoYik7aWYoYj1uLmdldFBsYXllclR5cGUoKSlELnBsYXllclR5cGU9YjtpZihiPW4uTi5jdGhlbWUpRC50aGVtZT1iO2lmKGI9bi5saXZpbmdSb29tQXBwTW9kZSlELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sbGl2aW5nUm9vbUFwcE1vZGU6Yn07Yj1uLmRldmljZVllYXI7bi5TKCJodG1sNV9wcm9wYWdhdGVfZGV2aWNlX3llYXIiKSYmYiYmKEQudHZBcHBJbmZvPXsuLi5ELnR2QXBwSW5mbyxkZXZpY2VZZWFyOmJ9KTtpZihiPW4ubGl2aW5nUm9vbVBvVG9rZW5JZClELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sCmxpdmluZ1Jvb21Qb1Rva2VuSWQ6Yn07Vy5jbGllbnQ9RDtiPVcudXNlcnx8e307bi5lbmFibGVTYWZldHlNb2RlJiYoYj17Li4uYixlbmFibGVTYWZldHlNb2RlOiEwfSk7IUQudHZBcHBJbmZvPy51c2VQYWdlaWRBc0hlYWRlciYmbi5wYWdlSWQmJihiPXsuLi5iLG9uQmVoYWxmT2ZVc2VyOm4ucGFnZUlkfSk7Vy51c2VyPWI7cmV0dXJuIFd9OwpsRj1mdW5jdGlvbihuLFcsRCl7Vz17dmlkZW9JZDpuLnZpZGVvSWQsY29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhuLFcsRCl9fTtuLmdUJiYoVy5wbGF5YmFja0NvbnRleHQucmVsb2FkUGxheWJhY2tDb250ZXh0PXtyZWxvYWRQbGF5YmFja1BhcmFtczpuLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtc30pO24uY29udGVudENoZWNrT2smJihXLmNvbnRlbnRDaGVja09rPSEwKTtpZihEPW4uY2xpZW50UGxheWJhY2tOb25jZSlXLmNwbj1EO2lmKEQ9bi5wbGF5ZXJQYXJhbXMpVy5wYXJhbXM9RDtlbHNlIGlmKEQ9bi5nZXRSZXNvbHZlVXJsUmVzcG9uc2UoKSlpZihEPWRsKEQpKVcucGFyYW1zPUQ7aWYoRD1uLnBsYXlsaXN0SWQpVy5wbGF5bGlzdElkPUQ7bi5yYWN5Q2hlY2tPayYmKFcucmFjeUNoZWNrT2s9ITApO0Q9bi5HKCk7dmFyIGI9RC5lbWJlZENvbmZpZztuLk5kP1cuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz0Kbi5OZDpiJiYoVy5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWIpO1cuY2FwdGlvblBhcmFtcz17fTtiPWcubzkoKS5RUSg2NSk7bi5kZXZpY2VDYXB0aW9uc09uIT1udWxsP1cuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc09uPW4uZGV2aWNlQ2FwdGlvbnNPbjpnLmVNKEQpJiYoVy5jYXB0aW9uUGFyYW1zLmRldmljZUNhcHRpb25zT249YiE9bnVsbD8hYjohMSk7bi5LTCYmKFcuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc0xhbmdQcmVmPW4uS0wpO2I9bi5TKCJ3ZWJfZW5hYmxlX3BsYXllcl9yZXF1ZXN0X2NhcHRpb25zX2xhc3RfbGFuZ3VhZ2Vfb25seSIpO2lmKG4uRmUubGVuZ3RoKVcuY2FwdGlvblBhcmFtcy52aWV3ZXJTZWxlY3RlZENhcHRpb25MYW5ncz1iP1tuLkZlLmF0KC0xKV06bi5GZTtlbHNlIGlmKGcuZU0oRCkpe3ZhciB2PWcuU0koKTt2Py5sZW5ndGgmJihXLmNhcHRpb25QYXJhbXMudmlld2VyU2VsZWN0ZWRDYXB0aW9uTGFuZ3M9Yj9bdi5hdCgtMSldOgp2KX1iPW4uZmV0Y2hUeXBlPT09Im9uZXNpZSImJm4uUygiaHRtbDVfb25lc2llX2F0dGFjaF9wb190b2tlbiIpO3Y9bi5mZXRjaFR5cGUhPT0ib25lc2llIiYmbi5TKCJodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlbiIpO2lmKGJ8fHYpYj1uLkcoKSxiLmpXJiYoVy5zZXJ2aWNlSW50ZWdyaXR5RGltZW5zaW9ucz17fSxXLnNlcnZpY2VJbnRlZ3JpdHlEaW1lbnNpb25zLnBvVG9rZW49Yi5qVyk7RC5TKCJmZXRjaF9hdHRfaW5kZXBlbmRlbnRseSIpJiYoVy5hdHRlc3RhdGlvblJlcXVlc3Q9e29taXRCb3RndWFyZERhdGE6ITB9KTtXLnBsYXliYWNrQ29udGV4dHx8KFcucGxheWJhY2tDb250ZXh0PXt9KTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcz16ZShuKTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcy5zdXBwb3J0c1ZwOUVuY29kaW5nPT09ITEmJm4uVSgibm9WcDkiLHt9KTtyZXR1cm4gV307CnplPWZ1bmN0aW9uKG4pe3ZhciBXPSFuPy5vTCgpJiZuPy56VygpJiZjMCgpO3JldHVybntzdXBwb3J0c1ZwOUVuY29kaW5nOiEoIW4/LllqKCl8fFcpLHN1cHBvcnRYaHI6TnN9fTsKajc9ZnVuY3Rpb24obil7aWYobj1uPy5lbmRwb2ludClyZXR1cm4gZy53KG4sZy5JUSl8fGcudyhuLFRlKX07CmRsPWZ1bmN0aW9uKG4pe3JldHVybiBqNyhuKT8ucGxheWVyUGFyYW1zfTsKTVNNPWFzeW5jIGZ1bmN0aW9uKG4sVyl7bj17Y29udGV4dDp1RihuLkcoKSksZW5nYWdlbWVudFR5cGU6IkVOR0FHRU1FTlRfVFlQRV9QTEFZQkFDSyIsaWRzOlt7cGxheWJhY2tJZDp7dmlkZW9JZDpuLnZpZGVvSWQsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX19XX07dmFyIEQ9TEIod1laKTtyZXR1cm4gYXdhaXQgZy5yXyhXLG4sRCl9OwpDQT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIik7KCFvZnx8KDAsZy5SKSgpLW9mPmIpJiZNU00obixEKS50aGVuKHY9Pnt2JiYodj12LmJvdGd1YXJkRGF0YSkmJmcuekModixXKX0sdj0+e24ucU4oKXx8KHY9QiQodiksbi5VKCJhdHRmIix2LmRldGFpbHMpKX0pfTsKQlQ9ZnVuY3Rpb24obixXLEQpe24uc3RhdGUuTltXXT0oLi4uYik9PkQuYXBwbHkobixiKX07CkYyPWZ1bmN0aW9uKG4sVyxEKXtuLnN0YXRlLk4uaGFzT3duUHJvcGVydHkoVyl8fEJUKG4sVyxEKTtuLnN0YXRlLmpbV109KC4uLmIpPT5ELmFwcGx5KG4sYik7Cm4uc3RhdGUuSy5hZGQoVyl9Owp3bD1mdW5jdGlvbihuLFcsRCl7bi5zdGF0ZS5OLmhhc093blByb3BlcnR5KFcpfHxCVChuLFcsRCk7bi5hcHAuRygpLksmJihuLnN0YXRlLlZbV109KC4uLmIpPT5ELmFwcGx5KG4sYiksbi5zdGF0ZS5LLmFkZChXKSl9OwpNdT1mdW5jdGlvbihuLFcpe24uc3RhdGUuTi5hZGRFbWJlZHNDb252ZXJzaW9uVHJhY2tpbmdQYXJhbXMoLi4uVyl9OwpnLlJUPWZ1bmN0aW9uKG4sVywuLi5EKXtuLnN0YXRlLlcuV0ooVywuLi5EKTtuLnN0YXRlLkouV0ooVywuLi5EKX07CmcuUVU9ZnVuY3Rpb24obixXLC4uLkQpe24uc3RhdGUuVy5XSihXLC4uLkQpO24uc3RhdGUuSi5XSihXLC4uLkQpO24uc3RhdGUuWC5XSihXLC4uLkQpfTsKZy5WVT1mdW5jdGlvbihuLFcsLi4uRCl7bi5zdGF0ZS5XLldKKFcsLi4uRCk7bi5zdGF0ZS5KLldKKFcsLi4uRCk7bi5zdGF0ZS5YLldKKFcsLi4uRCk7bi5zdGF0ZS5ZLldKKFcsLi4uRCl9OwphVD1mdW5jdGlvbihuLFcsRCl7dHlwZW9mIG49PT0ic3RyaW5nIiYmKG49e21lZGlhQ29udGVudFVybDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH0pO2E6e2lmKChXPW4ubWVkaWFDb250ZW50VXJsKSYmKFc9L1wvKFt2ZV18ZW1iZWQpXC8oW14jP10rKS8uZXhlYyhXKSkmJldbMl0pe1c9V1syXTticmVhayBhfVc9bnVsbH1uLnZpZGVvSWQ9VztyZXR1cm4gY1Qobil9OwpjVD1mdW5jdGlvbihuLFcsRCl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57dmlkZW9JZDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH07Vz17fTtmb3IobGV0IGIgb2YgUmtaKW5bYl0mJihXW2JdPW5bYl0pOyhuPW4uZW1iZWRDb25maWd8fG4uZW1iZWRfY29uZmlnKSYmKFcuZW1iZWRfY29uZmlnPW4yKG4pKTtyZXR1cm4gV307ClFzUz1mdW5jdGlvbihuLFcsRCxiKXtpZihnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKSl7Vz0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtEPXt9O2ZvcihiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07blt2XSYmKERbdl09blt2XSl9cmV0dXJuIER9Vz17aW5kZXg6VyxzdGFydFNlY29uZHM6RCxzdWdnZXN0ZWRRdWFsaXR5OmJ9O3R5cGVvZiBuPT09InN0cmluZyImJm4ubGVuZ3RoPT09MTY/Vy5saXN0PSJQTCIrbjpXLnBsYXlsaXN0PW47cmV0dXJuIFd9OwpuMj1mdW5jdGlvbihuKXtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXJldHVybiBuO2lmKGcuZnQobikpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuKX1jYXRjaChXKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLFcpfX07Clc3PWZ1bmN0aW9uKG4sVz0xKXt2YXIgRD17fTtXPW4uYXBwLlZFKHtwbGF5ZXJUeXBlOld9KS5nZXRWaWRlb0RhdGEoKTtpZihpRihXKSlyZXR1cm57fTtELnZpZGVvX2lkPVcudmlkZW9JZDtELmF1dGhvcj1XLmF1dGhvcjtELnRpdGxlPVcudGl0bGU7RC5pc1BsYXlhYmxlPVpQKFcpO0QuZXJyb3JDb2RlPVcuZXJyb3JDb2RlO2lmKFcuSiYmVy5KLnZpZGVvKXtELnZpZGVvX3F1YWxpdHk9Vy5KLnZpZGVvLnF1YWxpdHk7Vz1XLkoudmlkZW87bGV0IGI9W107Vy5KKCkmJmIucHVzaCgiaGZyIik7Vy5pc0hkcigpJiZiLnB1c2goImhkciIpO1cucHJpbWFyaWVzPT09ImJ0MjAyMCImJmIucHVzaCgid2NnIik7RC52aWRlb19xdWFsaXR5X2ZlYXR1cmVzPWJ9aWYobj1uLmdldFBsYXlsaXN0SWQoKSlELmxpc3Q9bjtyZXR1cm4gRH07ClZTaD1mdW5jdGlvbihuKXtGMihuLCJjdWVWaWRlb0J5SWQiLG4uY0opO0YyKG4sImxvYWRWaWRlb0J5SWQiLG4uWSQpO0YyKG4sImN1ZVZpZGVvQnlVcmwiLG4uYmQpO0YyKG4sImxvYWRWaWRlb0J5VXJsIixuLlFyKTtGMihuLCJwbGF5VmlkZW8iLG4ueXcpO0YyKG4sInBhdXNlVmlkZW8iLG4ucGF1c2VWaWRlbyk7RjIobiwic3RvcFZpZGVvIixuLnptKTtGMihuLCJjbGVhclZpZGVvIixuLmNsZWFyVmlkZW8pO0YyKG4sImdldFZpZGVvQnl0ZXNMb2FkZWQiLG4uWVopO0YyKG4sImdldFZpZGVvQnl0ZXNUb3RhbCIsbi5SYSk7RjIobiwiZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbiIsbi5YKTtGMihuLCJnZXRWaWRlb1N0YXJ0Qnl0ZXMiLG4uTEIpO0YyKG4sImN1ZVBsYXlsaXN0IixuLmN1ZVBsYXlsaXN0KTtGMihuLCJsb2FkUGxheWxpc3QiLG4uTmQpO0YyKG4sIm5leHRWaWRlbyIsbi5VNSk7RjIobiwicHJldmlvdXNWaWRlbyIsbi5RJCk7RjIobiwicGxheVZpZGVvQXQiLG4uTWQpOwpGMihuLCJzZXRTaHVmZmxlIixuLnNldFNodWZmbGUpO0YyKG4sInNldExvb3AiLG4uc2V0TG9vcCk7RjIobiwiZ2V0UGxheWxpc3QiLG4ualcpO0YyKG4sImdldFBsYXlsaXN0SW5kZXgiLG4uZ2V0UGxheWxpc3RJbmRleCk7RjIobiwiZ2V0UGxheWxpc3RJZCIsbi5nZXRQbGF5bGlzdElkKTtGMihuLCJsb2FkTW9kdWxlIixuLmopO0YyKG4sInVubG9hZE1vZHVsZSIsbi5WKTtGMihuLCJzZXRPcHRpb24iLG4uSik7RjIobiwiZ2V0T3B0aW9uIixuLnZKKTtGMihuLCJnZXRPcHRpb25zIixuLk4pO0YyKG4sIm11dGUiLG4uczUpO0YyKG4sInVuTXV0ZSIsbi5taCk7RjIobiwiaXNNdXRlZCIsbi5pc011dGVkKTtGMihuLCJzZXRWb2x1bWUiLG4uYlYpO0YyKG4sImdldFZvbHVtZSIsbi5nZXRWb2x1bWUpO0YyKG4sInNlZWtUbyIsbi5TVik7RjIobiwiZ2V0UGxheWVyTW9kZSIsbi5nZXRQbGF5ZXJNb2RlKTtGMihuLCJnZXRQbGF5ZXJTdGF0ZSIsbi55RSk7RjIobiwiZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyIsCm4uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyk7RjIobiwiZ2V0UGxheWJhY2tRdWFsaXR5IiwoKT0+bi5nZXRQbGF5YmFja1F1YWxpdHkoMSkpOwpGMihuLCJzZXRQbGF5YmFja1F1YWxpdHkiLG4uZVYpO0YyKG4sImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiLG4uVlEpO0YyKG4sImdldEN1cnJlbnRUaW1lIixuLkhKKTtGMihuLCJnZXREdXJhdGlvbiIsbi5udSk7RjIobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5PKTtGMihuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLmdUKTtGMihuLCJnZXREZWJ1Z1RleHQiLG4uRHQpO0YyKG4sImdldFZpZGVvRGF0YSIsKCk9Plc3KG4pKTsKRjIobiwiYWRkQ3VlUmFuZ2UiLG4uWSk7RjIobiwicmVtb3ZlQ3VlUmFuZ2UiLG4ucmVtb3ZlQ3VlUmFuZ2UpO0YyKG4sInNldFNpemUiLG4uc2V0U2l6ZSk7RjIobiwiZ2V0QXBpSW50ZXJmYWNlIixuLmdldEFwaUludGVyZmFjZSk7RjIobiwiZGVzdHJveSIsbi5kZXN0cm95KTtGMihuLCJtdXRlZEF1dG9wbGF5IixuLm11dGVkQXV0b3BsYXkpO3ZhciBXPW4uYXBwLkcoKTtGMihuLCJnZXRWaWRlb0VtYmVkQ29kZSIsbi5nZXRWaWRlb0VtYmVkQ29kZSk7RjIobiwiZ2V0VmlkZW9VcmwiLG4ud2EpO0YyKG4sImdldE1lZGlhUmVmZXJlbmNlVGltZSIsbi5HQyk7RjIobiwiZ2V0U2l6ZSIsbi5nZXRTaXplKTtGMihuLCJzZXRGYXV4RnVsbHNjcmVlbiIsbi51NSk7Vy5TKCJlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpYyIpJiZGMihuLCJzZXRDZW50ZXJDcm9wIixuLnNldENlbnRlckNyb3ApO1cuWHx8RjIobiwibG9nSW1hQWRFdmVudCIsbi5sb2dJbWFBZEV2ZW50KTsKRjIobiwicHJlbG9hZFZpZGVvQnlJZCIsbi5SdCk7RjIobiwid2FrZVVwQ29udHJvbHMiLG4ud2FrZVVwQ29udHJvbHMpfTsKZy5iNT1mdW5jdGlvbihuKXtyZXR1cm4obj1EJChuLmFwcC5KNSgpKSk/bi5CNygpOm51bGx9OwprRj1mdW5jdGlvbihuKXt2YXIgVz1RTShuLmFwcC5HKCkpLEQ9bi5hcHAuZ2V0VmlkZW9EYXRhKCk/Lk1kO249djcobi5hcHApO3JldHVybiBMeShXKSYmIUR8fG4/ITE6ITB9OwpoZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIHR5cGVvZiBuPT09Im51bWJlciI/e3BsYXllclR5cGU6bix2bzpXLGNwbjpEfTpufHx7fX07CmMxQz1mdW5jdGlvbihuKXt2YXIgVz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7aWYoIVcpe3ZhciBEPW4ucGxheWVyX3Jlc3BvbnNlO0QmJihXPUpTT04ucGFyc2UoRCkpfWRlbGV0ZSBuLnBsYXllcl9yZXNwb25zZTtkZWxldGUgbi5yYXdfcGxheWVyX3Jlc3BvbnNlO1cmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9e3N0cmVhbWluZ0RhdGE6Vy5zdHJlYW1pbmdEYXRhLHBsYXllckNvbmZpZzpXLnBsYXllckNvbmZpZ30sVy5wbGF5YmFja1RyYWNraW5nPy5xb2VVcmwmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9ey4uLm4ucmF3X3BsYXllcl9yZXNwb25zZSxwbGF5YmFja1RyYWNraW5nOntxb2VVcmw6Vy5wbGF5YmFja1RyYWNraW5nLnFvZVVybH19KSxXLmNhcHRpb25zJiYobi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsY2FwdGlvbnM6Vy5jYXB0aW9uc30pLFcudmlkZW9EZXRhaWxzJiYoVy52aWRlb0RldGFpbHMudmlkZW9JZHx8Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcykmJgooRD17fSxXLnZpZGVvRGV0YWlscy52aWRlb0lkJiYoRC52aWRlb0lkPVcudmlkZW9EZXRhaWxzLnZpZGVvSWQpLFcudmlkZW9EZXRhaWxzLmxlbmd0aFNlY29uZHMmJihELmxlbmd0aFNlY29uZHM9Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcyksbi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsdmlkZW9EZXRhaWxzOkR9KSl9Owp4Rj1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2lmKG4uYXBwLkcoKS5PKXtmb3IobGV0IGIgb2YgYWF4KVcuaGFzT3duUHJvcGVydHkoYikmJihEW2JdPVdbYl0pO2lmKG49RC5xb2VfY2F0KVc9IiIsdHlwZW9mIG49PT0ic3RyaW5nIiYmbi5sZW5ndGg+MCYmKFc9bi5zcGxpdCgiLCIpLmZpbHRlcihiPT5udDIuaW5jbHVkZXMoYikpLmpvaW4oIiwiKSksRC5xb2VfY2F0PVc7CmMxQyhEKX1lbHNlIGZvcihsZXQgYiBvZiBXYXcpVy5oYXNPd25Qcm9wZXJ0eShiKSYmKERbYl09V1tiXSk7cmV0dXJuIER9OwpMMj1mdW5jdGlvbihuKXtyZXR1cm4gbj9Ed1Vbbl18fDU6NX07CmVCPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKFcpKXtsZXQgYj1XW0RdO249bi5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrRCwiZ2kiKSwoKT0+Yil9cmV0dXJuIG59OwpiX0M9ZnVuY3Rpb24obil7QlQobiwiZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UiLG4uZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UpO0JUKG4sImdldFRydXN0ZWRBcGkiLG4uZ2V0VHJ1c3RlZEFwaSk7QlQobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5EKTtCVChuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLlRRKTtCVChuLCJjdWVWaWRlb0J5UGxheWVyVmFycyIsbi50dyk7QlQobiwibG9hZFZpZGVvQnlQbGF5ZXJWYXJzIixuLkU1KTtCVChuLCJwcmVsb2FkVmlkZW9CeVBsYXllclZhcnMiLG4uWmgpO0JUKG4sImdldEFkU3RhdGUiLG4uZ2V0QWRTdGF0ZSk7QlQobiwic2VuZEFiYW5kb25tZW50UGluZyIsbi5zZW5kQWJhbmRvbm1lbnRQaW5nKTtCVChuLCJzZXRMb29wUmFuZ2UiLG4uc2V0TG9vcFJhbmdlKTtCVChuLCJnZXRMb29wUmFuZ2UiLG4uZ2V0TG9vcFJhbmdlKTtCVChuLCJzZXRBdXRvbmF2U3RhdGUiLG4uc2V0QXV0b25hdlN0YXRlKTtCVChuLCJzZWVrVG8iLG4uYk4pO0JUKG4sCiJzZWVrQnkiLG4uc1YpO0JUKG4sInNlZWtUb0xpdmVIZWFkIixuLnNlZWtUb0xpdmVIZWFkKTtCVChuLCJyZXF1ZXN0U2Vla1RvV2FsbFRpbWVTZWNvbmRzIixuLnJlcXVlc3RTZWVrVG9XYWxsVGltZVNlY29uZHMpO0JUKG4sInNlZWtUb1N0cmVhbVRpbWUiLG4uc2Vla1RvU3RyZWFtVGltZSk7QlQobiwic3RhcnRTZWVrQ3NpQWN0aW9uIixuLnN0YXJ0U2Vla0NzaUFjdGlvbik7QlQobiwiZ2V0U3RyZWFtVGltZU9mZnNldCIsbi5nZXRTdHJlYW1UaW1lT2Zmc2V0KTtCVChuLCJnZXRWaWRlb0RhdGEiLG4uZkIpO0JUKG4sImdldEFwcFN0YXRlIixuLmdldEFwcFN0YXRlKTtCVChuLCJ1cGRhdGVMYXN0QWN0aXZlVGltZSIsbi51cGRhdGVMYXN0QWN0aXZlVGltZSk7QlQobiwic2V0VXNlckVuZ2FnZW1lbnQiLG4uc2V0VXNlckVuZ2FnZW1lbnQpO0JUKG4sInVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3MpO0JUKG4sImdldFByZXNlbnRpbmdQbGF5ZXJUeXBlIiwKbi5XKTtCVChuLCJjYW5QbGF5VHlwZSIsbi5jYW5QbGF5VHlwZSk7QlQobiwidXBkYXRlUGxheWxpc3QiLG4udXBkYXRlUGxheWxpc3QpO0JUKG4sInVwZGF0ZVZpZGVvRGF0YSIsbi51cGRhdGVWaWRlb0RhdGEpO0JUKG4sInVwZGF0ZUVudmlyb25tZW50RGF0YSIsbi51cGRhdGVFbnZpcm9ubWVudERhdGEpO0JUKG4sInNlbmRWaWRlb1N0YXRzRW5nYWdlRXZlbnQiLG4uWXIpO0JUKG4sInNldFNhZmV0eU1vZGUiLG4uc2V0U2FmZXR5TW9kZSk7QlQobiwiaXNBdExpdmVIZWFkIixXPT5uLmlzQXRMaXZlSGVhZCh2b2lkIDAsVykpOwpCVChuLCJnZXRWaWRlb0FzcGVjdFJhdGlvIixuLmdldFZpZGVvQXNwZWN0UmF0aW8pO0JUKG4sImdldFByZWZlcnJlZFF1YWxpdHkiLG4uZ2V0UHJlZmVycmVkUXVhbGl0eSk7QlQobiwiZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwiLG4uZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwpO0JUKG4sInNldFBsYXliYWNrUXVhbGl0eVJhbmdlIixuLldpKTtCVChuLCJvbkFkVXhDbGlja2VkIixuLm9uQWRVeENsaWNrZWQpO0JUKG4sImdldEZlZWRiYWNrUHJvZHVjdERhdGEiLG4uZ2V0RmVlZGJhY2tQcm9kdWN0RGF0YSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lIixuLmdldFN0b3J5Ym9hcmRGcmFtZSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgiLG4uZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgpO0JUKG4sImdldFN0b3J5Ym9hcmRMZXZlbCIsbi5nZXRTdG9yeWJvYXJkTGV2ZWwpO0JUKG4sImdldE51bWJlck9mU3Rvcnlib2FyZExldmVscyIsbi5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMpOwpCVChuLCJnZXRDYXB0aW9uV2luZG93Q29udGFpbmVySWQiLG4uZ2V0Q2FwdGlvbldpbmRvd0NvbnRhaW5lcklkKTtCVChuLCJnZXRBdmFpbGFibGVRdWFsaXR5TGFiZWxzIixuLmdldEF2YWlsYWJsZVF1YWxpdHlMYWJlbHMpO0JUKG4sImFkZEN1ZVJhbmdlIixuLmFkZEN1ZVJhbmdlKTtCVChuLCJhZGRVdGNDdWVSYW5nZSIsbi5hZGRVdGNDdWVSYW5nZSk7QlQobiwic2hvd0FpcnBsYXlQaWNrZXIiLG4uc2hvd0FpcnBsYXlQaWNrZXIpO0JUKG4sImRpc3BhdGNoUmVkdXhBY3Rpb24iLG4uZGlzcGF0Y2hSZWR1eEFjdGlvbik7QlQobiwiZ2V0UGxheWVyUmVzcG9uc2UiLG4uUFgpO0JUKG4sImdldFdhdGNoTmV4dFJlc3BvbnNlIixuLnZYKTtCVChuLCJnZXRIZWFydGJlYXRSZXNwb25zZSIsbi5GRik7QlQobiwiZ2V0Q3VycmVudFRpbWUiLG4uZSQpO0JUKG4sImdldER1cmF0aW9uIixuLm1aKTtCVChuLCJnZXRQbGF5ZXJTdGF0ZSIsbi5nZXRQbGF5ZXJTdGF0ZSk7QlQobiwiZ2V0UGxheWVyU3RhdGVPYmplY3QiLApuLkN1KTtCVChuLCJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIixuLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24pO0JUKG4sImdldFByb2dyZXNzU3RhdGUiLG4uZ2V0UHJvZ3Jlc3NTdGF0ZSk7QlQobiwiZ2V0Vm9sdW1lIixuLmdldFZvbHVtZSk7QlQobiwic2V0Vm9sdW1lIixuLmtGKTtCVChuLCJpc011dGVkIixuLmlzTXV0ZWQpO0JUKG4sIm11dGUiLG4uZ0cpO0JUKG4sInVuTXV0ZSIsbi5sbSk7QlQobiwibG9hZE1vZHVsZSIsbi5sb2FkTW9kdWxlKTtCVChuLCJ1bmxvYWRNb2R1bGUiLG4udW5sb2FkTW9kdWxlKTtCVChuLCJnZXRPcHRpb24iLG4uanUpO0JUKG4sImdldE9wdGlvbnMiLG4uZ2V0T3B0aW9ucyk7QlQobiwic2V0T3B0aW9uIixuLnNldE9wdGlvbik7QlQobiwibG9hZFZpZGVvQnlJZCIsbi5ydyk7QlQobiwibG9hZFZpZGVvQnlVcmwiLG4uSzApO0JUKG4sInBsYXlWaWRlbyIsbi5VRyk7QlQobiwic3RvcFZpZGVvIixuLkspO0JUKG4sImxvYWRQbGF5bGlzdCIsbi5sb2FkUGxheWxpc3QpOwpCVChuLCJuZXh0VmlkZW8iLG4ubmV4dFZpZGVvKTtCVChuLCJwcmV2aW91c1ZpZGVvIixuLnByZXZpb3VzVmlkZW8pO0JUKG4sInBsYXlWaWRlb0F0IixuLnBsYXlWaWRlb0F0KTtCVChuLCJnZXREZWJ1Z1RleHQiLG4uZ2V0RGVidWdUZXh0KTtCVChuLCJnZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnIixuLmdldFdlYlBsYXllckNvbnRleHRDb25maWcpO0JUKG4sImdldFZpZGVvQ29udGVudFJlY3QiLG4uZ2V0VmlkZW9Db250ZW50UmVjdCk7QlQobiwidG9nZ2xlU3VidGl0bGVzT24iLG4udG9nZ2xlU3VidGl0bGVzT24pO0JUKG4sImlzU3VidGl0bGVzT24iLG4uaXNTdWJ0aXRsZXNPbik7QlQobiwiZ2V0QXVkaW9UcmFjayIsbi5UQyk7QlQobiwic2V0QXVkaW9UcmFjayIsbi5zeik7QlQobiwiZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MiLG4uUyQpO0JUKG4sImlzT3JjaGVzdHJhdGlvbkxlYWRlciIsbi5pc09yY2hlc3RyYXRpb25MZWFkZXIpO0JUKG4sIm5vdGlmeVNob3J0c0FkU3dpcGVFdmVudCIsCm4ubm90aWZ5U2hvcnRzQWRTd2lwZUV2ZW50KTtCVChuLCJwcmVmZXRjaEtleVBsYXkiLG4ucHJlZmV0Y2hLZXlQbGF5KTtCVChuLCJwcmVmZXRjaEp1bXBBaGVhZCIsbi5wcmVmZXRjaEp1bXBBaGVhZCk7QlQobiwicHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQiLG4ucHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQpO0JUKG4sInNldEJsYWNrb3V0IixuLnNldEJsYWNrb3V0KTtCVChuLCJzZXRJbmxpbmVQcmV2aWV3IixuLnNldElubGluZVByZXZpZXcpO0JUKG4sInNldFNxdWVlemViYWNrIixuLnNldFNxdWVlemViYWNrKTtCVChuLCJyZXBvcnRQbGF5YmFja0lzc3VlIixuLnJlcG9ydFBsYXliYWNrSXNzdWUpO0JUKG4sInNldEF1dG9uYXYiLG4uc2V0QXV0b25hdik7QlQobiwiaXNOb3RTZXJ2YWJsZSIsbi5pc05vdFNlcnZhYmxlKTtCVChuLCJjaGFubmVsU3Vic2NyaWJlZCIsbi5jaGFubmVsU3Vic2NyaWJlZCk7QlQobiwiY2hhbm5lbFVuc3Vic2NyaWJlZCIsCm4uY2hhbm5lbFVuc3Vic2NyaWJlZCk7QlQobiwidG9nZ2xlUGljdHVyZUluUGljdHVyZSIsbi50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTtCVChuLCJzdXBwb3J0c0dhcGxlc3NBdWRpbyIsbi5zdXBwb3J0c0dhcGxlc3NBdWRpbyk7QlQobiwic3VwcG9ydHNHYXBsZXNzU2hvcnRzIixuLnN1cHBvcnRzR2FwbGVzc1Nob3J0cyk7QlQobiwiaXNHYXBsZXNzVHJhbnNpdGlvblJlYWR5IixuLmlzR2FwbGVzc1RyYW5zaXRpb25SZWFkeSk7QlQobiwic2V0U2hvcnRzQXV0b0FkdmFuY2VkRW5hYmxlZCIsbi5zZXRTaG9ydHNBdXRvQWR2YW5jZWRFbmFibGVkKTtCVChuLCJlbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMiLFc9PnZvaWQgbi5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMoVykpOwpCVChuLCJjbGVhclF1ZXVlIixuLmNsZWFyUXVldWUpO0JUKG4sImdldE1heFBsYXliYWNrUXVhbGl0eSIsbi5nZXRNYXhQbGF5YmFja1F1YWxpdHkpO0JUKG4sImdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlIixuLmdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlKTtCVChuLCJnZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3MiLG4uZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKTtCVChuLCJyZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi5yZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyk7QlQobiwic2V0TWluaW1pemVkIixuLnNldE1pbmltaXplZCk7QlQobiwic2V0T3ZlcmxheVZpc2liaWxpdHkiLG4uc2V0T3ZlcmxheVZpc2liaWxpdHkpO0JUKG4sImNvbmZpcm1ZcGNSZW50YWwiLG4uY29uZmlybVlwY1JlbnRhbCk7QlQobiwicXVldWVOZXh0VmlkZW8iLG4ucXVldWVOZXh0VmlkZW8pO0JUKG4sImhhbmRsZUV4dGVybmFsQ2FsbCIsbi5oYW5kbGVFeHRlcm5hbENhbGwpOwpCVChuLCJsb2dBcGlDYWxsIixuLmxvZ0FwaUNhbGwpO0JUKG4sImlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUiLG4uaXNFeHRlcm5hbE1ldGhvZEF2YWlsYWJsZSk7QlQobiwic2V0U2NyZWVuTGF5ZXIiLG4uc2V0U2NyZWVuTGF5ZXIpO0JUKG4sImdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlIixuLmdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlKTtCVChuLCJnZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSIsbi5nZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSk7QlQobiwic2hvdWxkU2VuZFZpc2liaWxpdHlTdGF0ZSIsbi5zaG91bGRTZW5kVmlzaWJpbGl0eVN0YXRlKTtCVChuLCJzeW5jVm9sdW1lIixuLnN5bmNWb2x1bWUpO0JUKG4sImhpZ2hsaWdodFNldHRpbmdzTWVudUl0ZW0iLG4uaGlnaGxpZ2h0U2V0dGluZ3NNZW51SXRlbSk7QlQobiwib3BlblNldHRpbmdzTWVudUl0ZW0iLG4ub3BlblNldHRpbmdzTWVudUl0ZW0pO0JUKG4sImdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UiLApuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UpO0JUKG4sImdldFZpc2liaWxpdHlTdGF0ZSIsbi5nZXRWaXNpYmlsaXR5U3RhdGUpO0JUKG4sImlzTXV0ZWRCeU11dGVkQXV0b3BsYXkiLG4uaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSk7QlQobiwiaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheSIsbi5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KTtCVChuLCJzZXRHbG9iYWxDcm9wIixuLnNldEdsb2JhbENyb3ApO0JUKG4sInNldEludGVybmFsU2l6ZSIsbi5zZXRJbnRlcm5hbFNpemUpO0JUKG4sInNldEZhdXhGdWxsc2NyZWVuIixuLnNldEZhdXhGdWxsc2NyZWVuKTtCVChuLCJzZXRBcHBGdWxsc2NyZWVuIixuLnNldEFwcEZ1bGxzY3JlZW4pO0JUKG4sImlzS2V5Ym9hcmREaXNhYmxlZCIsbi5pc0tleWJvYXJkRGlzYWJsZWQpO0JUKG4sImdldEN1cnJlbnRUaW1lRm9yVXgiLG4uZ2V0Q3VycmVudFRpbWVGb3JVeCk7QlQobiwiZ2V0RHVyYXRpb25Gb3JVeCIsbi5nZXREdXJhdGlvbkZvclV4KX07Cmd2PWZ1bmN0aW9uKG4pe24uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKT09PTM/bi5XSigibWR4YXV0b3BsYXljYW5jZWwiKTpnLlJUKG4sIm9uQXV0b25hdkNhbmNlbGxlZCIsITApfTsKWHo9ZnVuY3Rpb24obil7bj1uLko1KCkuTmkuZ2V0KCJlbmRzY3JlZW4iKTtyZXR1cm4hIW4mJlh6KG4pfTsKcXA9ZnVuY3Rpb24obil7bj1uLko1KCk7dmFyIFc9bi5OaS5nZXQoImVuZHNjcmVlbiIpO3JldHVybiBXJiZXLlhjKCk/ITA6bi5JVigpfTsKdGY9ZnVuY3Rpb24obil7dmFyIFc9R3Uobi5KNSgpKTtyZXR1cm4gbi5hcHAuWlYmJiFuLmlzRnVsbHNjcmVlbigpfHxuLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0zJiZXJiZXLmhhc05leHQoKSYmVy5oYXNQcmV2aW91cygpfHwhIW4uZ2V0UGxheWxpc3QoKX07CmcuZno9ZnVuY3Rpb24obil7cmV0dXJuKG49Zy4kRihuLko1KCkpKT9uLkhwKCk6e319OwpnLnJ2PWZ1bmN0aW9uKG4sVyxEKXtuPW4ubGooKS5lbGVtZW50O3ZhciBiPURlKG4uY2hpbGRyZW4sdj0+e3Y9TnVtYmVyKHYuZ2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIikpO3JldHVybiBELXZ8fDF9KTsKYjwwJiYoYj0tKGIrMSkpO2cuanAobixXLGIpO1cuc2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIixTdHJpbmcoRCkpfTsKdnRDPWZ1bmN0aW9uKG4sVyl7bj1zRihuLmFwcC5Wci5YKTtmb3IobGV0IEQgb2Ygbil7bj1ELmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7bGV0IGI9bnVsbDtmb3IobGV0IHYgb2YgbilpZih2LmdldExhbmd1YWdlSW5mbygpLmdldElkKCk9PT1XKXtiPXY7YnJlYWt9YiYmRC5MeShiLCEwKX19OwpnLnAyPWZ1bmN0aW9uKCl7TnB8fChOcD1uZXcga0t4KTtyZXR1cm4gTnB9OwpnLllGPWZ1bmN0aW9uKG4sVyl7Vz9uLlpKLkF1dGhvcml6YXRpb249YEJlYXJlciAke1d9YDpkZWxldGUgbi5aSi5BdXRob3JpemF0aW9ufTsKaHh3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9KC4uLmIpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKTtXKC4uLmIpfTsKbi5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKX07CmcuSDc9ZnVuY3Rpb24obil7dmFyIFc9TWF0aC5hYnMoTWF0aC5mbG9vcihuKSksRD1NYXRoLmZsb29yKFcvODY0MDApLGI9TWF0aC5mbG9vcihXJTg2NDAwLzM2MDApLHY9TWF0aC5mbG9vcihXJTM2MDAvNjApO1c9TWF0aC5mbG9vcihXJTYwKTt2YXIgaz0iIjtEPjAmJihrKz1gJHtEfTpgLGI8MTAmJihrKz0iMCIpKTtpZihEPjB8fGI+MClrKz1gJHtifTpgLHY8MTAmJihrKz0iMCIpO2srPWAke3Z9OmA7VzwxMCYmKGsrPSIwIik7RD1rK1c7cmV0dXJuIG4+PTA/RDpgLSR7RH1gfTsKZjI9ZnVuY3Rpb24obil7cmV0dXJuKCEoImJ1dHRvbiJpbiBuKXx8dHlwZW9mIG4uYnV0dG9uIT09Im51bWJlciJ8fG4uYnV0dG9uPT09MCkmJiEoInNoaWZ0S2V5ImluIG4mJm4uc2hpZnRLZXkpJiYhKCJhbHRLZXkiaW4gbiYmbi5hbHRLZXkpJiYhKCJtZXRhS2V5ImluIG4mJm4ubWV0YUtleSkmJiEoImN0cmxLZXkiaW4gbiYmbi5jdHJsS2V5KX07CkpmPWZ1bmN0aW9uKG4sVyxELGIpe2lmKGIuc3Vic3RyaW5nKDAsMik9PT0ie3siKW4uWVpbYl09W1csRF07ZWxzZSByZXR1cm4gYn07Ckl5PWZ1bmN0aW9uKG4sVyxELGIpe2lmKEQ9PT0iY2hpbGQiKXtnLlRGKFcpO2xldCBrO2I9PT12b2lkIDA/az12b2lkIDA6az0hQXJyYXkuaXNBcnJheShiKXx8YiYmdHlwZW9mIGIuWj09PSJzdHJpbmciP1tiXTpiO0Q9eHcyKG4sayk7Zm9yKHZhciB2IG9mIEQpVy5hcHBlbmRDaGlsZCh2KX1lbHNlIEQ9PT0ic3R5bGUiP2cuaDEoVywiY3NzVGV4dCIsYj9iOiIiKTpiPT09bnVsbHx8Yj09PXZvaWQgMD9XLnJlbW92ZUF0dHJpYnV0ZShEKToodj1iLnRvU3RyaW5nKCksRD09PSJocmVmIiYmKHY9Z3ooZy50Rih2LGcuRzQpfHxnLlY1KSksVy5zZXRBdHRyaWJ1dGUoRCx2KSl9Owp4dzI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVylyZXR1cm4gRDtmb3IobGV0IGIgb2YgVyl7aWYoYj09bnVsbCljb250aW51ZTtXPWIubm9kZVR5cGU7Vz09PTF8fFc9PT0zP0QucHVzaChiKTpiJiZ0eXBlb2YgYi5aPT09InN0cmluZyI/RC5wdXNoKG4uY3JlYXRlRWxlbWVudChiKSk6Yi5lbGVtZW50P0QucHVzaChiLmVsZW1lbnQpOnR5cGVvZiBiPT09InN0cmluZyImJmIuaW5kZXhPZigiXG4iKSE9PS0xP2Iuc3BsaXQoIlxuIikuZm9yRWFjaCgodixrKT0+e2s+MCYmRC5wdXNoKGcuekYoIkJSIikpO0QucHVzaChnLmxrKHYpKX0pOkQucHVzaChnLmxrKGIpKX1yZXR1cm4gRH07ClNCPWZ1bmN0aW9uKG4sVyl7bj1uLmVsZW1lbnQuZWxlbWVudDtXP24uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTpuLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKX07CkFmPWZ1bmN0aW9uKG4pe3JldHVybiBuLkomJm4uZmFkZS5zdGF0ZSE9PTR9OwptUD1mdW5jdGlvbihuKXtuLnNvdXJjZUVsZW1lbnQmJihkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZnLkJ4KG4uZWxlbWVudCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmbi5zb3VyY2VFbGVtZW50LmZvY3VzKCksbi5zb3VyY2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksbi5zb3VyY2VFbGVtZW50PXZvaWQgMCk7bi5OLkooKTtuLlc9dm9pZCAwfTsKZy5LMj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDMyIDMyIix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik0gMTkuNDEsMjAuMDkgMTQuODMsMTUuNSAxOS40MSwxMC45MSAxOCw5LjUgbCAtNiw2IDYsNiB6IixmaWxsOiIjZmZmIn19XX19OwpnLk9GPWZ1bmN0aW9uKCl7cmV0dXJue1o6InN2ZyIseGE6e2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMzIgMzIiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoibSAxMi41OSwyMC4zNCA0LjU4LC00LjU5IC00LjU4LC00LjU5IDEuNDEsLTEuNDEgNiw2IC02LDYgeiIsZmlsbDoiI2ZmZiJ9fV19fTsKZy5QNz1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjEwMCUifSxYRjpbe1o6InBhdGgiLHhhOntkOiJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIsZmlsbDoiI2ZmZiJ9fV19fTsKWiQ9ZnVuY3Rpb24oKXtyZXR1cm57Wjoic3ZnIix4YTp7aGVpZ2h0OiIxMDAlIix2ZXJzaW9uOiIxLjEiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIixLeTohMCxKdzoieXRwLXN2Zy1maWxsIix4YTp7ZDoiTSAxNi42OCwuOTkgQyAxMy41NSwxLjAzIDcuMDIsMS4xNiA0Ljk5LDEuNjggYyAtMS40OSwuNCAtMi41OSwxLjYgLTIuOTksMyAtMC42OSwyLjcgLTAuNjgsOC4zMSAtMC42OCw4LjMxIDAsMCAtMC4wMSw1LjYxIC42OCw4LjMxIC4zOSwxLjUgMS41OSwyLjYgMi45OSwzIDIuNjksLjcgMTMuNDAsLjY4IDEzLjQwLC42OCAwLDAgMTAuNzAsLjAxIDEzLjQwLC0wLjY4IDEuNSwtMC40IDIuNTksLTEuNiAyLjk5LC0zIC42OSwtMi43IC42OCwtOC4zMSAuNjgsLTguMzEgMCwwIC4xMSwtNS42MSAtMC42OCwtOC4zMSAtMC40LC0xLjUgLTEuNTksLTIuNiAtMi45OSwtMyBDIDI5LjExLC45OCAxOC40MCwuOTkgMTguNDAsLjk5IGMgMCwwIC0wLjY3LC0wLjAxIC0xLjcxLDAgeiBtIDcyLjIxLC45MCAwLDIxLjI4IDIuNzgsMCAuMzEsLTEuMzcgLjA5LDAgYyAuMywuNSAuNzEsLjg4IDEuMjEsMS4xOCAuNSwuMyAxLjA4LC40MCAxLjY4LC40MCAxLjEsMCAxLjk5LC0wLjQ5IDIuNDksLTEuNTkgLjUsLTEuMSAuODEsLTIuNzAgLjgxLC00LjkwIGwgMCwtMi40MCBjIDAsLTEuNiAtMC4xMSwtMi45MCAtMC4zMSwtMy45MCAtMC4yLC0wLjg5IC0wLjUsLTEuNTkgLTEsLTIuMDkgLTAuNSwtMC40IC0xLjEwLC0wLjU5IC0xLjkwLC0wLjU5IC0wLjU5LDAgLTEuMTgsLjE5IC0xLjY4LC40OSAtMC40OSwuMyAtMS4wMSwuODAgLTEuMjEsMS40MCBsIDAsLTcuOTAgLTMuMjgsMCB6IG0gLTQ5Ljk5LC43OCAzLjkwLDEzLjkwIC4xOCw2LjcxIDMuMzEsMCAwLC02LjcxIDMuODcsLTEzLjkwIC0zLjM3LDAgLTEuNDAsNi4zMSBjIC0wLjQsMS44OSAtMC43MSwzLjE5IC0wLjgxLDMuOTkgbCAtMC4wOSwwIGMgLTAuMiwtMS4xIC0wLjUxLC0yLjQgLTAuODEsLTMuOTkgbCAtMS4zNywtNi4zMSAtMy40MCwwIHogbSAyOS41OSwwIDAsMi43MSAzLjQwLDAgMCwxNy45MCAzLjI4LDAgMCwtMTcuOTAgMy40MCwwIGMgMCwwIC4wMCwtMi43MSAtMC4wOSwtMi43MSBsIC05Ljk5LDAgeiBtIC01My40OSw1LjEyIDguOTAsNS4xOCAtOC45MCw1LjA5IDAsLTEwLjI4IHogbSA4OS40MCwuMDkgYyAtMS43LDAgLTIuODksLjU5IC0zLjU5LDEuNTkgLTAuNjksLjk5IC0wLjk5LDIuNjAgLTAuOTksNC45MCBsIDAsMi41OSBjIDAsMi4yIC4zMCwzLjkwIC45OSw0LjkwIC43LDEuMSAxLjgsMS41OSAzLjUsMS41OSAxLjQsMCAyLjM4LC0wLjMgMy4xOCwtMSAuNywtMC43IDEuMDksLTEuNjkgMS4wOSwtMy4wOSBsIDAsLTAuNSAtMi45MCwtMC4yMSBjIDAsMSAtMC4wOCwxLjYgLTAuMjgsMiAtMC4xLC40IC0wLjUsLjYyIC0xLC42MiAtMC4zLDAgLTAuNjEsLTAuMTEgLTAuODEsLTAuMzEgLTAuMiwtMC4zIC0wLjMwLC0wLjU5IC0wLjQwLC0xLjA5IC0wLjEsLTAuNSAtMC4wOSwtMS4yMSAtMC4wOSwtMi4yMSBsIDAsLTAuNzggNS43MSwtMC4wOSAwLC0yLjYyIGMgMCwtMS42IC0wLjEwLC0yLjc4IC0wLjQwLC0zLjY4IC0wLjIsLTAuODkgLTAuNzEsLTEuNTkgLTEuMzEsLTEuOTkgLTAuNywtMC40IC0xLjQ4LC0wLjU5IC0yLjY4LC0wLjU5IHogbSAtNTAuNDksLjA5IGMgLTEuMDksMCAtMi4wMSwuMTggLTIuNzEsLjY4IC0wLjcsLjQgLTEuMiwxLjEyIC0xLjQ5LDIuMTIgLTAuMywxIC0wLjUsMi4yNyAtMC41LDMuODcgbCAwLDIuMjEgYyAwLDEuNSAuMTAsMi43OCAuNDAsMy43OCAuMiwuOSAuNzAsMS42MiAxLjQwLDIuMTIgLjY5LC41IDEuNzEsLjY4IDIuODEsLjc4IDEuMTksMCAyLjA4LC0wLjI4IDIuNzgsLTAuNjggLjY5LC0wLjQgMS4wOSwtMS4wOSAxLjQ5LC0yLjA5IC4zOSwtMSAuNDksLTIuMzAgLjQ5LC0zLjkwIGwgMCwtMi4yMSBjIDAsLTEuNiAtMC4yLC0yLjg3IC0wLjQ5LC0zLjg3IC0wLjMsLTAuODkgLTAuOCwtMS42MiAtMS40OSwtMi4xMiAtMC43LC0wLjUgLTEuNTgsLTAuNjggLTIuNjgsLTAuNjggeiBtIDEyLjE4LC4wOSAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjE4LC0wLjcwIC0wLjE4LC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjE4LDIuMzkgLjY4LDMuMDkgLjQ5LC43IDEuMjEsMSAyLjIxLDEgMS40LDAgMi40OCwtMC42OSAzLjE4LC0yLjA5IGwgLjA5LDAgLjMxLDEuNzggMi41OSwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMTcuMzEsMCAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjIxLC0wLjcwIC0wLjIxLC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjIxLDIuMzkgLjcxLDMuMDkgLjUsLjcgMS4xOCwxIDIuMTgsMSAxLjM5LDAgMi41MSwtMC42OSAzLjIxLC0yLjA5IGwgLjA5LDAgLjI4LDEuNzggMi42MiwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMjAuOTAsMi4wOSBjIC40LDAgLjU4LC4xMSAuNzgsLjMxIC4yLC4zIC4zMCwuNTkgLjQwLDEuMDkgLjEsLjUgLjA5LDEuMjEgLjA5LDIuMjEgbCAwLDEuMDkgLTIuNSwwIDAsLTEuMDkgYyAwLC0xIC0wLjAwLC0xLjcxIC4wOSwtMi4yMSAwLC0wLjQgLjExLC0wLjggLjMxLC0xIC4yLC0wLjMgLjUxLC0wLjQwIC44MSwtMC40MCB6IG0gLTUwLjQ5LC4xMiBjIC41LDAgLjgsLjE4IDEsLjY4IC4xOSwuNSAuMjgsMS4zMCAuMjgsMi40MCBsIDAsNC42OCBjIDAsMS4xIC0wLjA4LDEuOTAgLTAuMjgsMi40MCAtMC4yLC41IC0wLjUsLjY4IC0xLC42OCAtMC41LDAgLTAuNzksLTAuMTggLTAuOTksLTAuNjggLTAuMiwtMC41IC0wLjMxLC0xLjMwIC0wLjMxLC0yLjQwIGwgMCwtNC42OCBjIDAsLTEuMSAuMTEsLTEuOTAgLjMxLC0yLjQwIC4yLC0wLjUgLjQ5LC0wLjY4IC45OSwtMC42OCB6IG0gMzkuNjgsLjA5IGMgLjMsMCAuNjEsLjEwIC44MSwuNDAgLjIsLjMgLjI3LC42NyAuMzcsMS4zNyAuMSwuNiAuMTIsMS41MSAuMTIsMi43MSBsIC4wOSwxLjkwIGMgMCwxLjEgLjAwLDEuOTkgLTAuMDksMi41OSAtMC4xLC42IC0wLjE5LDEuMDggLTAuNDksMS4yOCAtMC4yLC4zIC0wLjUwLC40MCAtMC45MCwuNDAgLTAuMywwIC0wLjUxLC0wLjA4IC0wLjgxLC0wLjE4IC0wLjIsLTAuMSAtMC4zOSwtMC4yOSAtMC41OSwtMC41OSBsIDAsLTguNSBjIC4xLC0wLjQgLjI5LC0wLjcgLjU5LC0xIC4zLC0wLjMgLjYwLC0wLjQwIC45MCwtMC40MCB6In19XX19OwpVRj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntmaWxsOiJub25lIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxNDMgNTEiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoiTTU4LjM3IDQxLjM5SDYyLjc5VjI3LjIzQzYyLjc5IDIzLjAzIDYyLjY5IDE4LjY5IDYyLjQzIDEzLjU5SDYyLjkzTDYzLjY5IDE2Ljg5TDY4LjY3IDQxLjM5SDczLjE3TDc4LjA3IDE2Ljg5TDc4Ljg5IDEzLjU5SDc5LjM3Qzc5LjE1IDE4LjQ1IDc5LjAzIDIyLjg5IDc5LjAzIDI3LjIzVjQxLjM5SDgzLjQ1VjguNzlINzUuOTVMNzMuNDEgMjAuODFDNzIuMzUgMjUuODUgNzEuNTEgMzIuMDEgNzEuMDEgMzUuMTlINzAuNzNDNzAuMzMgMzEuOTUgNjkuNDkgMjUuODEgNjguNDEgMjAuODVMNjUuODEgOC43OUg1OC4zN1Y0MS4zOVoiLGZpbGw6IndoaXRlIn19LHtaOiJwYXRoIix4YTp7ZDoiTTkxLjQ1IDQxLjczQzkzLjkxIDQxLjczIDk1LjgzIDQwLjU5IDk3LjE3IDM4LjEzSDk3LjM1TDk3LjY5IDQxLjM5SDEwMS40M1YxNy43M0g5Ni40N1YzNi42MUM5NS45MSAzNy42NyA5NC44MSAzOC4yOSA5My43MyAzOC4yOUM5Mi4zMyAzOC4yOSA5MS44OSAzNy4xNyA5MS44OSAzNS4xM1YxNy43M0g4Ni45M1YzNS40M0M4Ni45MyAzOS40OSA4OC4xOSA0MS43MyA5MS40NSA0MS43M1oiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMTAuNzkgNDEuODlDMTE1LjE1IDQxLjg5IDExNy43NSAzOS44MyAxMTcuNzUgMzUuNjVDMTE3Ljc1IDMxLjc5IDExNS45MyAzMC4zOSAxMTEuODUgMjcuNDdDMTA5LjY3IDI1LjkxIDEwOC4zOSAyNS4wOSAxMDguMzkgMjIuOTVDMTA4LjM5IDIxLjQ3IDEwOS4yNyAyMC42MSAxMTAuODkgMjAuNjFDMTEyLjY5IDIwLjYxIDExMy4zMyAyMS44MSAxMTMuMzMgMjUuMjlMMTE3LjQ1IDI1LjA3QzExNy43NyAxOS41NyAxMTUuNzEgMTcuMjMgMTEwLjk3IDE3LjIzQzEwNi41NyAxNy4yMyAxMDQuMTcgMTkuMjcgMTA0LjE3IDIzLjQ1QzEwNC4xNyAyNy4yNSAxMDUuOTcgMjguODMgMTA4LjkzIDMxLjAzQzExMS44OSAzMy4yMyAxMTMuNTUgMzQuNTMgMTEzLjU1IDM2LjIzQzExMy41NSAzNy43NSAxMTIuNTEgMzguNjEgMTExLjAxIDM4LjYxQzEwOS4xMyAzOC42MSAxMDguMTEgMzYuOTcgMTA4LjI5IDM0LjQxTDEwNC4yMSAzNC40OUMxMDMuNTEgMzkuMjUgMTA1Ljg5IDQxLjg5IDExMC43OSA0MS44OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMjIuNSAxNC41OUMxMjQuMjIgMTQuNTkgMTI1LjA0IDEzLjk5IDEyNS4wNCAxMS41OUMxMjUuMDQgOS4zMyAxMjQuMTYgOC42NSAxMjIuNSA4LjY1QzEyMC44NCA4LjY1IDExOS45NCA5LjI3IDExOS45NCAxMS41OUMxMTkuOTQgMTMuOTkgMTIwLjgyIDE0LjU5IDEyMi41IDE0LjU5Wk0xMjAuMiA0MS4zOUgxMjVWMTcuNzNIMTIwLjJWNDEuMzlaIixmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMzQuOTUgNDEuNzlDMTM3LjMxIDQxLjc5IDEzOC42MyA0MS40OSAxMzkuNzEgNDAuNDdDMTQxLjMxIDM5LjAxIDE0MS45NyAzNi42MyAxNDEuODUgMzMuMTFMMTM3LjQxIDMyLjg3QzEzNy40MSAzNi44NyAxMzYuODEgMzguNDUgMTM1LjAzIDM4LjQ1QzEzMy4xMyAzOC40NSAxMzIuNzcgMzYuNDUgMTMyLjc3IDMxLjk3VjI3LjIxQzEzMi43NyAyMi40MSAxMzMuMjMgMjAuNTEgMTM1LjA3IDIwLjUxQzEzNi42NyAyMC41MSAxMzcuMjkgMjIuMDEgMTM3LjI5IDI2LjQ3TDE0MS42NSAyNi4xNUMxNDEuOTcgMjIuOTMgMTQxLjU5IDIwLjI5IDE0MC4wOSAxOC44M0MxMzkuMDEgMTcuNzcgMTM3LjM3IDE3LjI5IDEzNS4xNSAxNy4yOUMxMjkuNjUgMTcuMjkgMTI3Ljc1IDIwLjczIDEyNy43NSAyOC4wM1YzMS4xN0MxMjcuNzUgMzguNDcgMTI5LjIzIDQxLjc5IDEzNC45NSA0MS43OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6eyJjbGlwLXJ1bGUiOiJldmVub2RkIixkOiJNMjQuOTkgNDlDMjkuNzQgNDkuMDAgMzQuMzggNDcuNTkgMzguMzIgNDQuOTVDNDIuMjcgNDIuMzIgNDUuMzUgMzguNTcgNDcuMTcgMzQuMThDNDguOTggMjkuODAgNDkuNDYgMjQuOTcgNDguNTMgMjAuMzJDNDcuNjEgMTUuNjYgNDUuMzIgMTEuMzggNDEuOTcgOC4wM0MzOC42MSA0LjY3IDM0LjMzIDIuMzggMjkuNjggMS40NkMyNS4wMiAuNTMgMjAuMjAgMS4wMSAxNS44MSAyLjgyQzExLjQzIDQuNjQgNy42OCA3LjcxIDUuMDQgMTEuNjZDMi40MCAxNS42MSAxIDIwLjI1IDEgMjVDMC45OSAyOC4xNSAxLjYxIDMxLjI3IDIuODIgMzQuMThDNC4wMyAzNy4wOSA1Ljc5IDM5Ljc0IDguMDIgNDEuOTdDMTAuMjUgNDQuMTkgMTIuODkgNDUuOTYgMTUuODEgNDcuMTdDMTguNzIgNDguMzcgMjEuODQgNDkgMjQuOTkgNDlaTTI0Ljk5IDEyLjM2QzI3LjQ5IDEyLjM2IDI5Ljk0IDEzLjEwIDMyLjAyIDE0LjQ4QzM0LjEwIDE1Ljg3IDM1LjcyIDE3Ljg0IDM2LjY4IDIwLjE1QzM3LjY0IDIyLjQ2IDM3Ljg5IDI1LjAxIDM3LjQxIDI3LjQ2QzM2LjkyIDI5LjkxIDM1LjcyIDMyLjE3IDMzLjk1IDMzLjk0QzMyLjE4IDM1LjcwIDI5LjkzIDM2LjkxIDI3LjQ4IDM3LjQwQzI1LjAyIDM3Ljg5IDIyLjQ4IDM3LjY0IDIwLjE3IDM2LjY4QzE3Ljg2IDM1LjcyIDE1Ljg4IDM0LjEwIDE0LjUwIDMyLjAyQzEzLjExIDI5Ljk0IDEyLjM3IDI3LjUwIDEyLjM3IDI1QzEyLjM3IDIxLjY1IDEzLjcwIDE4LjQ0IDE2LjA3IDE2LjA3QzE4LjQzIDEzLjcwIDIxLjY0IDEyLjM3IDI0Ljk5IDEyLjM2Wk0yNC45OSAxMC40M0MyMi4xMSAxMC40MyAxOS4yOSAxMS4yOCAxNi44OSAxMi44OEMxNC41MCAxNC40OCAxMi42MyAxNi43NiAxMS41MyAxOS40MkMxMC40MiAyMi4wOSAxMC4xMyAyNS4wMiAxMC43MCAyNy44NUMxMS4yNiAzMC42NyAxMi42NSAzMy4yNyAxNC42OSAzNS4zMUMxNi43MyAzNy4zNSAxOS4zMiAzOC43MyAyMi4xNSAzOS4zMEMyNC45OCAzOS44NiAyNy45MSAzOS41NyAzMC41NyAzOC40NkMzMy4yMyAzNy4zNiAzNS41MSAzNS40OSAzNy4xMSAzMy4wOUMzOC43MSAzMC43MCAzOS41NyAyNy44OCAzOS41NiAyNUMzOS41NiAyMy4wOCAzOS4xOSAyMS4xOSAzOC40NiAxOS40MkMzNy43MiAxNy42NSAzNi42NSAxNi4wNCAzNS4zMCAxNC42OUMzMy45NCAxMy4zNCAzMi4zNCAxMi4yNyAzMC41NyAxMS41M0MyOC44MCAxMC44MCAyNi45MCAxMC40MyAyNC45OSAxMC40M1pNMzIuNjMgMjQuOTlMMjAuMzYgMzIuMDlWMTcuOTFMMzIuNjMgMjQuOTlaIiwKZmlsbDoid2hpdGUiLCJmaWxsLXJ1bGUiOiJldmVub2RkIn19XX19Owp5RT1mdW5jdGlvbihuPXt9LFc9W10pe1cucHVzaCgieXRwLW1lbnVpdGVtIik7InJvbGUiaW4gbnx8KG4ucm9sZT0ibWVudWl0ZW0iKTsidGFiaW5kZXgiaW4gbnx8KG4udGFiaW5kZXg9IjAiKTtyZXR1cm57WjoiZGl2IixLQjpXLHhhOm4sWEY6W3taOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0taWNvbiIsT3E6Int7aWNvbn19In0se1o6ImRpdiIsSnc6Inl0cC1tZW51aXRlbS1sYWJlbCIsT3E6Int7bGFiZWx9fSJ9LHtaOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0tY29udGVudCIsT3E6Int7Y29udGVudH19In1dfX07CkVGPWZ1bmN0aW9uKG4pe3JldHVybiBuP2cuRHAobik6IiJ9OwppNT1mdW5jdGlvbihuKXtyZXR1cm4gbj09PS0weDgwMDAwMDAwMDAwMDA/IkJFRk9SRV9NRURJQV9TVEFSVCI6bj09PTA/Ik1FRElBX1NUQVJUIjpuPT09MHg3ZmZmZmZmZmZmZmZmPyJNRURJQV9FTkQiOm49PT0weDgwMDAwMDAwMDAwMDA/IkFGVEVSX01FRElBX0VORCI6bi50b1N0cmluZygpfTsKZy51NT1mdW5jdGlvbihuLFcpe3JldHVybiBuLnN0YXJ0LVcuc3RhcnR8fG4ucHJpb3JpdHktVy5wcmlvcml0eXx8bi5KLVcuSn07Cmcub3k9ZnVuY3Rpb24obil7cmV0dXJuYGNybl8ke259YH07CmcuZHY9ZnVuY3Rpb24obil7cmV0dXJuYGNyeF8ke259YH07Cnp1PWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5zdGFydCxbMl06bi5lbmQsWzNdOm4uaWQsWzRdOm4ucHJpb3JpdHksWzVdOm4ubmFtZXNwYWNlLFs2XTpuLnZpc2libGUsWzddOm4uc3R5bGUsWzhdOm4udG9vbHRpcCxbOV06bi5jb2xvcixbMTBdOm4uaWNvbnMsWzExXTpuLmFzc29jaWF0ZWRDbGlwSWQsWzEyXTpuLm1hcmtlclBvc2l0aW9uTXN9fTsKVHU9ZnVuY3Rpb24obixXLEQsYil7VyBpbiBuLk58fChEPW5ldyBnLmw1KEQsYix7aWQ6Vyxwcmlvcml0eToyLG5hbWVzcGFjZToiYXBwYWQifSksbi5hcGkuZ2goW0RdLDEpLG4uTltXXT1EKX07CmpCPWZ1bmN0aW9uKG4sVyl7TGF4KG4sVykudGhlbihEPT57Zy5nbyhXLHZvaWQgMCx2b2lkIDAsRCl9KX07CkMyPWZ1bmN0aW9uKG4sVyl7Vy5mb3JFYWNoKEQ9PntqQihuLEQpfSl9OwpCNz1mdW5jdGlvbihuLFcsRCl7aWYoIShEIGluIFcpKXJldHVybiExO1c9V1tEXTtBcnJheS5pc0FycmF5KFcpfHwoVz1bV10pO2ZvcihsZXQgYiBvZiBXKVc9e0NQTjpuLmFwaS5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlfSxXPWcuR0soYixXKSxnLmdvKFcsdm9pZCAwLG9PKHpFKFcsZXh4LG51bGwpLFcsITEsIkFjdGl2ZSBWaWV3IDNyZCBQYXJ0eSBJbnRlZ3JhdGlvbiBVUkwiKXx8b08oekUoVyxndGosbnVsbCksVywhMSwiR29vZ2xlL1lvdVR1YmUgQnJhbmQgTGlmdCBVUkwiKXx8b08oekUoVyxYSzIsbnVsbCksVywhMSwiTmllbHNlbiBPQ1IgVVJMIikpO3JldHVybiEwfTsKTGF4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5hcGkuRygpKSYmZy5CVihXKSYmZy5qSChXKT9nLkhFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKS5WKCkpLnRoZW4oRD0+e3ZhciBiO0QmJihiPXtBdXRob3JpemF0aW9uOmBCZWFyZXIgJHtEfWB9KTtyZXR1cm4gYn0sdm9pZCAwKTpnLkgwKCl9OwpGej1mdW5jdGlvbihuLFcpe24uY2hlY2tlZD1XO24uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsU3RyaW5nKG4uY2hlY2tlZCkpfTsKd3Y9ZnVuY3Rpb24obixXKXtuLmVuYWJsZWQ9VztuLmVuYWJsZWQ/bi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIpOm4uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIil9OwpNcD1mdW5jdGlvbihuLFcsRD0hMSxiKXt2YXIgdj1uLmN1cnJlbnRUYXJnZXQ7aWYoIUQmJmYyKG4pKXJldHVybiBuLnByZXZlbnREZWZhdWx0KCksITA7Vy5wYXVzZVZpZGVvKCk7bj12LmdldEF0dHJpYnV0ZSgiaHJlZiIpO1E1KG4sYik7cmV0dXJuITF9OwpSeT1mdW5jdGlvbihuLFcsRCl7aWYodkUoVy5HKCkpJiZXLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCkhPT0yKWYyKEQpJiYoVy5pc0Z1bGxzY3JlZW4oKSYmIVcuRygpLmV4dGVybmFsRnVsbHNjcmVlbiYmVy50b2dnbGVGdWxsc2NyZWVuKCksRC5wcmV2ZW50RGVmYXVsdCgpKTtlbHNle2xldCBiPWYyKEQpO2ImJlcucGF1c2VWaWRlbygpO1E1KG4pO2ImJihnLmNhKG4pLEQucHJldmVudERlZmF1bHQoKSl9fTsKUUU9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/LmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giJiYhbi5WKCl9OwpWRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5hdWRpbz8uVz09PSEwfTsKYzc9ZnVuY3Rpb24obil7cmV0dXJuIG4uVigpfTsKYXk9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/Lk49PT0hMH07Cm52PWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg8MilyZXR1cm4hMTt2YXIgRD1XKG5bMF0pO3JldHVybiBuLnNvbWUoYj0+VyhiKSE9PUQpfTsKYlk9ZnVuY3Rpb24obixXKXtuPXFJdyhuLFcubGFuZ3VhZ2VJZCk7bj1XdShuLCEhVy5nTyk7cmV0dXJuIG49RGIobiwhIVcuajkpfTsKV3U9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+YXkoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+VkUoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKR0t0PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcuaWQhPT0idW5kIj9nLkVNKG4sRD0+e3ZhciBiPVcuZ2V0TGFuZ3VhZ2VJbmZvKCk/Lm5hbWU7cmV0dXJuIEQua1o/Lm5hbWU9PT1ifSk6bn07CnFJdz1mdW5jdGlvbihuLFcpe2lmKFcmJlchPT0idW5kIilpZih0eXBlb2YgVz09PSJzdHJpbmciKXt2YXIgRD1nLmxfKG4sdj0+di5pZD09PVcpOwppZihEPy5rWil2YXIgYj1ELmtaLmlkfWVsc2UgYj1XLmtaPy5pZDtpZihiJiYoRD1nLkVNKG4sdj0+di5rWj8uaWQ9PT1iKSxELmxlbmd0aD4wKSlyZXR1cm4gRDsKRD1nLkVNKG4sdj0+ISF2LmtaPy5pc0RlZmF1bHQpOwpyZXR1cm4gRC5sZW5ndGg+MD9EOm59Owp0QUM9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PmM3KEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59Owokd2o9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PlFFKEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59OwpyYVU9ZnVuY3Rpb24obixXKXtuPW5ldyBTZXQobi5tYXAoVykpO24uZGVsZXRlKHZvaWQgMCk7cmV0dXJuIG4uc2l6ZT49Mn07CnNGTT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnByaW9yaXR5LW4ucHJpb3JpdHl9Owp2dT1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRCluLml0ZW1zLnB1c2goVyksbi5tZW51SXRlbXMuZWxlbWVudC5hcHBlbmRDaGlsZChXLmVsZW1lbnQpO2Vsc2V7RD1nLlc0KG4uaXRlbXMsVyxzRk0pO2lmKEQ+PTApcmV0dXJuO0Q9fkQ7Zy5jTShuLml0ZW1zLEQsMCxXKTtnLmpwKG4ubWVudUl0ZW1zLmVsZW1lbnQsVy5lbGVtZW50LEQpfVcuc3Vic2NyaWJlKCJzaXplLWNoYW5nZSIsbi5xQSxuKTtuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKX07CmtzPWZ1bmN0aW9uKG4sVyl7Vy51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLG4ucUEsbik7bi5xTigpfHwoZy5GSShuLml0ZW1zLFcpLG4ubWVudUl0ZW1zLmVsZW1lbnQucmVtb3ZlQ2hpbGQoVy5lbGVtZW50KSxuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKSl9OwpnLmhCPWZ1bmN0aW9uKG4sVyl7aWYobi5XKXt2YXIgRD1uLm9wdGlvbnNbbi5XXTtELmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiKTtELmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCJmYWxzZSIpO24uVz1udWxsfWlmKEQ9bi5vcHRpb25zW1ddKUQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsInRydWUiKSxuLlgobi5qKFcpKSxuLlc9V307Ck5YaD1mdW5jdGlvbihuLFcsRCxiKXtEPW5ldyB4cyh7WjoiZGl2IixLQjpbInl0cC1tZW51aXRlbSIsIiJdLHhhOnt0YWJpbmRleDoiMCIscm9sZToibWVudWl0ZW1yYWRpbyIsImFyaWEtY2hlY2tlZCI6Yj8idHJ1ZSI6ImZhbHNlIn0sWEY6W3taOiJkaXYiLEtCOlsieXRwLW1lbnVpdGVtLWxhYmVsIl0sT3E6Int7bGFiZWx9fSJ9XX0sRCxuLmooVykpO0QuU18oImNsaWNrIiwoKT0+e24uRChXKX0pOwpyZXR1cm4gRH07CmcuTHY9ZnVuY3Rpb24obixXKXt2YXIgRD1uLks7Zm9yKHZhciBiIG9mIEQuaXRlbXMpYi51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLEQucUEsRCk7RC5pdGVtcz1bXTt0cnl7Zy5URihELm1lbnVJdGVtcy5lbGVtZW50KX1jYXRjaCh2KXtnLkdxKG5ldyBnLlF4KCJGYWlsZWQgdG8gcmVtb3ZlIG1lbnUgaXRlbXMgZnJvbSBwYW5lbCBtZW51LiIse2Vycm9yOnYubWVzc2FnZSxvcmlnaW5hbFN0YWNrOnYuc3RhY2ssY2hpbGRUb0JlUmVtb3ZlZDpELm1lbnVJdGVtcy5lbGVtZW50LmZpcnN0Q2hpbGQ/LnRleHRDb250ZW50Pz8iY2hpbGQgZWxlbWVudCBub3QgZm91bmQifSkpfUQubWVudUl0ZW1zLldKKCJzaXplLWNoYW5nZSIpO0Q9e307Yj0hMTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XSxoPW4ub3B0aW9uc1trXSx4PWs9PT1uLlc7eCYmKGI9ITApO2gmJmgucHJpb3JpdHk9PT0tdj8obi5vcHRpb25zW2tdLnVwZGF0ZVZhbHVlKCJsYWJlbCIsbi5qKGspKSwKZGVsZXRlIG4ub3B0aW9uc1trXSk6aD1OWGgobixrLC12LHgpO0Rba109aDt2dShuLkssaCwhMCl9Ynx8KG4uVz1udWxsKTtmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobi5vcHRpb25zKSluLm9wdGlvbnNbdl0uZGlzcG9zZSgpO24ub3B0aW9ucz1EfTsKZW49ZnVuY3Rpb24obil7aWYobi5tZW51SXRlbSl7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk7bi5tZW51SXRlbS5lbmFibGUoISFXJiYhIVcuV2spfX07CmdWPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tQb3NpdGlvbj8udXRjVGltZU1pbGxpcykvMUUzO2xldCBiPWBlbWJhcmdvXyR7V31gO24uYXBpLmFkZFV0Y0N1ZVJhbmdlKGIsVyxXK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSwiZW1iYXJnbyIsITEpO0Qub25FbnRlciYmKG4uTltiXT1ELm9uRW50ZXIuZmlsdGVyKG4uSikpfX07CllJMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRSb290Tm9kZSgpO1c9bi5hcGkuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLmVtYmVkc0VuYWJsZUVtYzNkcz9XLnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnR8fFc6VztuLk49bmV3IHBLcihXLEQ9PntEIT1udWxsJiYobi5hcGkuRygpLmVLPUQsbi5hcGkuRygpLkxLPSJFTUJFRERFRF9QTEFZRVJfVklTSUJJTElUWV9GUkFDVElPTl9TT1VSQ0VfSU5URVJTRUNUSU9OX09CU0VSVkVSIil9KTsKZy51KG4sbi5OKTtuLmV2ZW50cy5OTihuLmFwaSwidmlkZW9TdGF0c1BpbmdDcmVhdGVkIixEPT57dmFyIGI9bi5OO2I9Yi5OPT1udWxsP251bGw6TWF0aC5yb3VuZChiLk4qMTAwKS8xMDA7RC5pbnZpZXc9YiE9bnVsbD9iOnZvaWQgMDtiPW4uYXBpLmdldFBsYXllclNpemUoKTtpZihiLmhlaWdodD4wJiZiLndpZHRoPjApe2I9W01hdGgucm91bmQoYi53aWR0aCksTWF0aC5yb3VuZChiLmhlaWdodCldO2xldCB2PWcuSF8oKTt2PjEmJmIucHVzaCh2KTtiPWIuam9pbigiOiIpfWVsc2UgYj12b2lkIDA7RC5zaXplPWJ9KX07CkhfVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+bmV3IG11KFcuaWQsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2taOlcua1p9KSl9OwpxVz1mdW5jdGlvbihuLFcsRCxiKXtmdW5jdGlvbiB2KGgpe3ZhciB4PSEoaC5zdGF0dXMhPT0yMDQmJmguc3RhdHVzIT09MjAwJiYhaC5yZXNwb25zZSk7aD17c3VjYzpgJHsreH1gLHJjOmguc3RhdHVzLGxiOmgucmVzcG9uc2U/LmJ5dGVMZW5ndGh8fDAscnQ6KCgwLGcuUikoKS1rKS50b0ZpeGVkKCksc2hvc3Q6Zy5JUChuKSx0cmlnZ2VyOld9O1hyKGgsbik7RCYmRChoKTtiJiYheCYmYihuZXcgZy5DaSgicGF0aHByb2JlLm5ldCIsaCkpfQp2YXIgaz0oMCxnLlIpKCk7Zy5lZChuLHtmb3JtYXQ6IlJBVyIscmVzcG9uc2VUeXBlOiJhcnJheWJ1ZmZlciIsdGltZW91dDoxRTQsb25GaW5pc2g6dixvblRpbWVvdXQ6dn0pfTsKWHI9ZnVuY3Rpb24obixXKXt3aW5kb3cucGVyZm9ybWFuY2U/LmdldEVudHJpZXNCeU5hbWUmJihXPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoVykpJiZXLmxlbmd0aCYmKFc9V1swXSxuLnBlZG5zPShXLmRvbWFpbkxvb2t1cEVuZC1XLnN0YXJ0VGltZSkudG9GaXhlZCgpLG4ucGVjb249KFcuY29ubmVjdEVuZC1XLmRvbWFpbkxvb2t1cEVuZCkudG9GaXhlZCgpLG4ucGVycXM9KFcucmVxdWVzdFN0YXJ0LVcuY29ubmVjdEVuZCkudG9GaXhlZCgpKX07CnRCPWZ1bmN0aW9uKG4pe3JldHVybiBHRChuLmlqLCFuLnBvbGljeS5mUixuLnBvbGljeS5RSCl9OwpmaXg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1pbihuLnBvbGljeS5UNiwkcyhuLmlqKSk7bj10QihuKTtyZXR1cm4gVy1EKm59OwpyVj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLm1heChNYXRoLm1heChuLnBvbGljeS5abSxuLnBvbGljeS5UNCpEKSxNYXRoLm1pbihNYXRoLm1pbihuLnBvbGljeS5ISiwzMSpEKSxNYXRoLmNlaWwoVypEKSkpKXx8bi5wb2xpY3kuWm19OwpzYj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe2lmKG4ucG9saWN5LlE3KXJldHVybiBNYXRoLmNlaWwobi5wb2xpY3kuUTcqVyk7bi5wb2xpY3kudm4mJihiPU1hdGguYWJzKGIpKTtiLz1uLnBsYXliYWNrUmF0ZTt2YXIgaz0xL0dEKG4uaWopO0Q9TWF0aC5tYXgoLjkqKGItMyksJHMobi5paikrbi5pai5KLk4qaykvayouOC8oVytEKTtEPU1hdGgubWluKEQsYik7bi5wb2xpY3kuSFk+MCYmdiYmKEQ9TWF0aC5tYXgoRCxuLnBvbGljeS5IWSkpO3JldHVybiByVihuLEQsVyl9OwpOVz1mdW5jdGlvbihuKXtyZXR1cm4gdEIobikvbi5wbGF5YmFja1JhdGV9Owpwdj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5yZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3l8fFtdLHY9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5zdGFydE1pblJlYWRhaGVhZFBvbGljeXx8W107bj1JbmZpbml0eTtXPVcmJmIubGVuZ3RoPjA/Yjp2O2ZvcihsZXQgayBvZiBXKVc9ay5taW5SZWFkYWhlYWRNc3x8MCxEPChrLm1pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjfHwwKXx8bj5XJiYobj1XKTtyZXR1cm4gbjxJbmZpbml0eT9uLzFFMzpufTsKZnY9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5pbmZvLmFaKXJldHVybiBELmxlbmd0aD09PTA/RC5wdXNoKGIpOihuPUQucG9wKCk/LmooYikpP0QucHVzaChuKTpELnB1c2goYiksdjsoRD1ELnBvcCgpPy5qKGIpKXx8KEQ9Yik7aWYoRC5pbmZvLk4pcmV0dXJuIG4ubG9nZ2VyJiZuLmxvZ2dlcih7aW5jb21wbGV0ZVNlZ21lbnQ6RC5pbmZvLmdhKCl9KSx2O3ZhciB7Zm9ybWF0SWQ6ayxqJDpoLHN0YXJ0VGltZU1zOngsY2xpcElkOkwscjk6ZX09bi5LKEQpO2I9e2NsaXBJZDpMLGZvcm1hdElkOmssc3RhcnRUaW1lTXM6eCxkdXJhdGlvbk1zOmUsQUM6aCxpOTpofTt2PVlzKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRztpZihHPUQpe0c9Yjt2YXIgcj12LE49RC5zdGFydFRpbWVNcytELmR1cmF0aW9uTXMsSD1HLnN0YXJ0VGltZU1zK0cuZHVyYXRpb25NcztpZihHLnN0YXJ0VGltZU1zLU4+bi5OKUc9ITE7ZWxzZSBpZihIdShuLEQuZm9ybWF0SWQsRy5mb3JtYXRJZCkpRC5kdXJhdGlvbk1zPQpNYXRoLm1heChOLEgpLUQuc3RhcnRUaW1lTXMsRC5pOT1NYXRoLm1heChELmk5LEcuaTkpLEc9ITA7ZWxzZSBpZihNYXRoLmFicyhELnN0YXJ0VGltZU1zLUcuc3RhcnRUaW1lTXMpPD1uLk4paWYoRC5kdXJhdGlvbk1zPkcuZHVyYXRpb25NcytuLk4pe3I9RC5mb3JtYXRJZDt2YXIgQT1ELkFDLHk9RC5pOTtELmZvcm1hdElkPUcuZm9ybWF0SWQ7RC5kdXJhdGlvbk1zPUcuZHVyYXRpb25NcztELkFDPUcuQUM7RC5pOT1HLmk5O0cuZm9ybWF0SWQ9cjtHLnN0YXJ0VGltZU1zPUg7Ry5kdXJhdGlvbk1zPU4tSDtHLkFDPUE7Ry5pOT15O0c9ITF9ZWxzZSBELmZvcm1hdElkPUcuZm9ybWF0SWQsRz0hMDtlbHNlIE4+Ry5zdGFydFRpbWVNcyYmKE4+SCYmKFcuc3BsaWNlKHIrMSwwLHtmb3JtYXRJZDpELmZvcm1hdElkLHN0YXJ0VGltZU1zOkgsZHVyYXRpb25NczpOLUgsQUM6Ry5pOSsxLGk5OkQuaTl9KSxuLmxvZ2dlciYmbi5sb2dnZXIoe3NwbGl0T2xkU3RhcnQ6RC5zdGFydFRpbWVNcz8udG9GaXhlZCgzKSwKc3BsaXRPbGRFbmQ6Tj8udG9GaXhlZCgzKSxzcGxpdE5ld1N0YXJ0Okcuc3RhcnRUaW1lTXM/LnRvRml4ZWQoMyksc3BsaXROZXdFbmQ6SD8udG9GaXhlZCgzKX0pKSxELmR1cmF0aW9uTXM9Ry5zdGFydFRpbWVNcy1ELnN0YXJ0VGltZU1zLEQuaTk9Ry5BQy0xKSxHPSExfUc/Yj1EOih2Kz0xLFcuc3BsaWNlKHYsMCxiKSk7RD0wO2ZvcihHPXYrMTtHPFcubGVuZ3RoO0crKyl7Tj1uO0g9V1tHXTtyPWI7QT1ILnN0YXJ0VGltZU1zK0guZHVyYXRpb25Nczt5PXIuc3RhcnRUaW1lTXMrci5kdXJhdGlvbk1zO3k+PUErTi5OP049ITA6eStOLk48SC5zdGFydFRpbWVNcz9OPSExOkh1KE4sSC5mb3JtYXRJZCxyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKWXM9ZnVuY3Rpb24obixXKXtuPWcuVzQobix7c3RhcnRUaW1lTXM6V30sKEQsYik9PkQuc3RhcnRUaW1lTXMtYi5zdGFydFRpbWVNcyk7CnJldHVybiBuPj0wP246LW4tMn07CkpCPWZ1bmN0aW9uKG4sVyxEKXtpZihuLmxvZ2dlcil7dmFyIGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl07ay5Faj8uc3RhcnRUaWNrcyYmYi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9wc3N0LiR7ay5Faj8uc3RhcnRUaWNrc31fcHNkLiR7ay5Faj8ubDh9YCk7Yi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9lLiR7ay5zdGFydFRpbWVNcytrLmR1cmF0aW9uTXN9X2QuJHtrLmR1cmF0aW9uTXN9X3NuLiR7ay5BQ31fZW4uJHtrLmk5fWApfW4ubG9nZ2VyKHtwOmAke0R9YCxicjpiLmpvaW4oIjsiKX0pfX07Ckk2PWZ1bmN0aW9uKG4sVyxEPSExKXtpZihuLlFFKXt2YXIgYj1uLlFFLlpGKCk7aWYoYi5sZW5ndGghPT0wKXtpZihuLlcmJlcpe3ZhciB2PW4uVyxrPXYuaW5mby5YOyFCUihiLGspJiZ2LmluZm8uSz4wJiYoMCxnLlIpKCktbi5EPDVFMyYmKG4ubG9nZ2VyJiZuLmxvZ2dlcih7ZGVuZDp2LmluZm8uZ2EoKX0pLGI9akcoYixrLGsrLjAxKSl9dj1bXTtmb3IodmFyIGg9az0wO2s8Yi5sZW5ndGgmJmg8bi5lVy5sZW5ndGg7KXt2YXIgeD1iLnN0YXJ0KGspO2xldCBOPWIuZW5kKGspO3ZhciBMPW4uZVdbaF0uc3RhcnRUaW1lTXMvMUUzO2xldCBIPShuLmVXW2hdLnN0YXJ0VGltZU1zK24uZVdbaF0uZHVyYXRpb25NcykvMUUzO2lmKEw8PU4mJkg+PXgpe2xldCBBPXsuLi5uLmVXW2hdfTt2YXIgZT1uLkt1LkouZ2V0KE1rKG4uZVdbaF0uZm9ybWF0SWQpKSxHPU1hdGgubWF4KEwseCk7eD1lLmluZGV4LlIzKEcrbi5OLzFFMyk7TD1lLmluZGV4LmdldFN0YXJ0VGltZSh4KTt2YXIgcj14KworKE1hdGguYWJzKEwtRyk+bi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uaW5mby5XfHwxMTshRCYmaD09PW4uSiYmTjxIJiZILU48PXgqMS4wMSYmIShuLnBvbGljeS5TdyYmbi5RRSYmbi5RRS55dSgpKSYmKE49SCk7eD1NYXRoLm1pbihILE4pO0w9ZS5pbmRleC5SMyh4LW4uTi8xRTMpO0c9ZS5pbmRleC5qRShMKTtMLT0rKE1hdGguYWJzKEcteCk+bi5OLzFFMyk7eD1MK24uWDtlPWUuaW5kZXguakUoTCkqMUUzO0EuaTk9eDtBLmR1cmF0aW9uTXM9ZS1BLnN0YXJ0VGltZU1zO0EuQUM8PUEuaTkmJnYucHVzaChBKX1IPE4/aCs9MTprKz0xfW4uZVc9dn19fTsKSmFpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9Wy4uLm4uUDNdO24uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5UQy5aUCgpLHY9bi5KO2ZvcihsZXQgayBvZiBiKXY9ZnYobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLFAzOkR9fTsKSHU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXLml0YWchPT1ELml0YWd8fFcueHRhZ3MhPT1ELnh0YWdzPyExOm4uS3Uueld8fFcubG10PT09RC5sbXR9OwpaYj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCFXLlBKLk4oKSl7aWYoISh2PUQ9PT0wfHwhIVcuSi5sZW5ndGgmJlcuSlswXWluc3RhbmNlb2YgU24pKWE6e2lmKFcuSi5sZW5ndGgmJih2PVcuSlswXSx2IGluc3RhbmNlb2YgQUImJnYuSk8mJnYuYUkpKXt2PSEwO2JyZWFrIGF9dj0hMX12fHxuLnBvbGljeS5OfHxtaShXKTtyZXR1cm4gRH12YXIgaz1LdihXLEQpO2lmKCFpc05hTihrKSlyZXR1cm4gaztpZihuLmxvYWRlci5DNyhEKjFFMykpcmV0dXJuIEQ7di5BTT9uLnBvbGljeS5WSCYmKG49T2Iobi5sb2FkZXIsVyksVy5zTShEK24sITApKTooVy56aSgpLG4ubG9hZGVyLlgkKCExLGBzdGFfJHsrVy5QSi5pbmZvLmVTKCl9YCkpO3JldHVybiBiJiYobj1GWihiLlpGKCksRCksIWlzTmFOKG4pKT8oUHUoVyxuK0lpYix2KSxEKTpQdShXLEQsdil9OwpVYj1mdW5jdGlvbihuLFcsRCl7aWYoIW4ucG9saWN5Lmope249Vy5QSi5pbmRleDt2YXIgYj1XLk4uaiQ7bi5NSShiKXx8RCYmRC5qJD09PWI/KFcuUEQ9IW4uTUkoYiksVy5EPSFuLk1JKGIpKTooVy5QRD0hMCxXLkQ9ITApfX07CkViPWZ1bmN0aW9uKG4pe3ZhciBXPU1hdGgubWF4KG4udmlkZW9UcmFjay5TRSgpLG4uYXVkaW9UcmFjay5TRSgpKTt5ayhuLnZpZGVvVHJhY2spO3lrKG4uYXVkaW9UcmFjayk7bi5wb2xpY3kuanx8ajQobi5LdSk7bi5LdS5pc01hbmlmZXN0bGVzcyYmIW4ucG9saWN5LmomJihuLk49ITAsbi5KPTApO3ZhciBEPW4ubG9hZGVyO2lmKCFELnBvbGljeS5sbnx8RC5wb2xpY3kuR0MpRC5jdXJyZW50VGltZT1XO24uc2Vla2luZz0hMDtuLlc9bmV3IFk2O3JldHVybiBuLld9OwpvNj1mdW5jdGlvbihuKXt2YXIgVz1uLnZpZGVvVHJhY2suWCE9PS0xLEQ9bi5hdWRpb1RyYWNrLlghPT0tMTtpZighV3x8IUQpaWYoVz0hVyYmaVkobi52aWRlb1RyYWNrKSxEPSFEJiZpWShuLmF1ZGlvVHJhY2spLFd8fEQpaWYoRD1XP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2ssVz1XP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2ssRC5YPWlZKEQpLmluZm8uaiQsbi5wb2xpY3kuaiYmKFcuWD1pWShXKT8uaW5mby5UQygpfHxXLlgpLFcuWCE9PS0xKXtsZXQgYj1NYXRoLm1heChXLlBKLmluZGV4LmdldFN0YXJ0VGltZShXLlgpLEQuUEouaW5kZXguZ2V0U3RhcnRUaW1lKEQuWCkpO3VBKG4uS3UpJiZNYXRoLmFicyhiLXVBKG4uS3UpKT40MzJFMyYmS0t0KG4uS3UpO24uSiYmKGI9bi5KLG4uSj0wKTtnLm1LKCgpPT57bi5wb2xpY3kuanx8dVkobixiLDEwMil9KTsKbi5sb2FkZXIuVSgiaW5pdE1hbmlmZXN0bGVzc1N5bmMiLHtzdDpiLG9zdDpiK24ubG9hZGVyLlNXKCksYTpuLmF1ZGlvVHJhY2suWCx2Om4udmlkZW9UcmFjay5YfSk7bi5XJiYobi5XLnJlc29sdmUoYisuMSksbi5XPW51bGwpO24ucG9saWN5LmomJnVZKG4sYiwxMDIpfX07ClNJWj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uaXNTZWVraW5nKCkpcmV0dXJuLTE7RD0oRD9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5QSi5pbmRleDt2YXIgYj1ELlIzKG4udGFyZ2V0VGltZSk7cmV0dXJuKEQuTUkobi5LdS5JdCl8fFcuaiQ9PT1uLkt1Lkl0KSYmYjxuLkt1Lkl0P24uS3UuTGYoKTotMX07CnVZPWZ1bmN0aW9uKG4sVyxEKXtuLk4mJm4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEmJihuLk49ITEsbi50YXJnZXRUaW1lPVcsZFYobi5sb2FkZXIsVysuMSx7QTk6ITAscWQ6ImNodW5rU2VsZWN0b3JTeW5jaHJvbml6ZSIscWE6ITAsc2Vla1NvdXJjZTpEfSkpfTsKQWEyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4ucG9saWN5LmopIWJ8fCFuLk4mJm4ucG9saWN5LkJWfHxnLm1LKCgpPT57bzYobil9KTsKZWxzZXtpZihuLmlzU2Vla2luZygpJiZuLnRhcmdldFRpbWUpe2xldCBrPVNJWihuLFcsRCk7aWYoayE9PS0xKXtuLnZpZGVvVHJhY2suUEQ9ITE7bi5hdWRpb1RyYWNrLlBEPSExO24uTj0hMDtuLko9MDtnLm1LKCgpPT57bi5sb2FkZXIuVSgic2Vla3JlYXNvbiIse3JlYXNvbjoiYmVoaW5kTWluU3EiLHRndDprfSk7dVkobixrKX0pOwpyZXR1cm59fUQ/bi52aWRlb1RyYWNrLkQ9ITE6bi5hdWRpb1RyYWNrLkQ9ITE7dmFyIHY9IW4uTjtLdihuLnZpZGVvVHJhY2ssbi50YXJnZXRUaW1lKT49MCYmS3Yobi5hdWRpb1RyYWNrLG4udGFyZ2V0VGltZSk+PTAmJnY/KG4uUEQoKSYmbi5sb2FkZXIuVSgiaXRlcmF0aXZlU2Vla2luZyIse3N0YXR1czoiZG9uZSIsY291bnQ6bi5zZWVrQ291bnR9KSxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExKTpiJiZnLm1LKCgpPT57aWYobi5OfHwhbi5wb2xpY3kuQlYpbzYobik7ZWxzZXt2YXIgaz1XLnN0YXJ0VGltZSxoPVcuZHVyYXRpb247aWYoIW4ucG9saWN5Lmope3ZhciB4PW4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEsTD0hbi52aWRlb1RyYWNrLkQmJiFuLmF1ZGlvVHJhY2suRDsoRD9uLnZpZGVvVHJhY2suUEQ6bi5hdWRpb1RyYWNrLlBEKSYmeCYmTCYmKG4udGFyZ2V0VGltZT49ayYmbi50YXJnZXRUaW1lPGsraCsuMT8oKEQ/bi52aWRlb1RyYWNrOgpuLmF1ZGlvVHJhY2spLlBEPSExLG4uUEQoKXx8KG4ubG9hZGVyLlUoIml0ZXJhdGl2ZVNlZWtpbmciLHtzdGF0dXM6ImRvbmUiLHRhcmdldDprLG9yaWdpbmFsVGltZTprK24ubG9hZGVyLlNXKCksY291bnQ6bi5zZWVrQ291bnR9KSxuLnNlZWtDb3VudD0wKSk6bi5zZWVrQ291bnQ8OD8obi5zZWVrQ291bnQrKyxuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbnByb2dyZXNzIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprLGR1cmF0aW9uOmgsaXNWaWRlbzpEfSksbi5zZWVrKG4udGFyZ2V0VGltZSx7fSkpOihuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbmNvbXBsZXRlIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprfSksbi5zZWVrQ291bnQ9MCxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExLGRWKG4ubG9hZGVyLGsrLjEse0E5OiEwLHFkOiJjaHVua1NlbGVjdG9yU3luY2hyb25pemVNZWRpYSIsCnFhOiEwfSkpKX19fSl9fTsKVEQ9ZnVuY3Rpb24obixXLEQpe3pEKG4uaWosVyk7bi5EdCYmKG4uRHQuYWRkKE1hdGguY2VpbChXKS1NYXRoLmNlaWwobi5LKSksbi5EdC5hZGQoTWF0aC5tYXgoMCxNYXRoLmNlaWwoRC8xMDI0KS1NYXRoLmNlaWwobi5YLzEwMjQpKSkpO3ZhciBiPVctbi5LLHY9RC1uLlg7bi5VNT12O24ualc9TWF0aC5tYXgobi5qVyx2LyhiKy4wMSkqMUUzKTtuLks9VztuLlg9RDtuLkhKJiZEPm4uSEomJmxZKG4pfTsKbFk9ZnVuY3Rpb24obil7bi5udT1NYXRoLm1heChuLm51LG4uWC1uLlJ0KTtuLlZRPU1hdGgubWF4KG4uVlEsbi5LLW4uWmgpO24uSEo9MH07Cm13cj1mdW5jdGlvbihuLFcpe24udXJsPVc7d2luZG93LnBlcmZvcm1hbmNlJiYhcGVyZm9ybWFuY2Uub25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwmJihwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbD0oKT0+e3BlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCl9KX07CmpuPWZ1bmN0aW9uKG4pe24uaXNBY3RpdmUmJihuLmlzQWN0aXZlPSExKX07CkN2PWZ1bmN0aW9uKG4pe24uZSQ9bi5OK24uc25hcHNob3QuZGVsYXkqMUUzO24udlg9ITF9OwpGcj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uZGlzYWJsZVJlY29yZGluZyl7Vz1NYXRoLm1heChXLC4wMSk7dmFyIGI9bi5xWT9NYXRoLm1heChXLEQvbi5xWSk6Vyx2PW4uaWouSi5XO3YmJihiPVcsbi5xWSYmKGI9TWF0aC5tYXgoVyxEL24ucVkqdikpKTtCdShuLmlqLFcsRCxiKX19Owp3Vj1mdW5jdGlvbihuKXt2YXIgVz1uLkZGfHxuLkdDO3JldHVybiBXP24uc25hcHNob3QuZGVsYXkrTWF0aC5taW4obi5POCwobi5jSi1uLnR3KS8xRTMpK1c6bi5zNX07Ck1XPWZ1bmN0aW9uKG4pe3JldHVybihuLlktbi5OKS8xRTN9OwpRaz1mdW5jdGlvbihuLFcpe2lmKG4uaG4mJm4uaiQhPT12b2lkIDAmJm4uWkEhPT12b2lkIDApe3ZhciBEPU1hdGgsYj1ELm1pbix2PW4uVjt2YXIgaz1uLmhuO3ZhciBoPW4uTjtpZihSNihrLG4uaiQpKWs9VztlbHNle3ZhciB4PTA7ay50SSYmKHg9LjIpO2s9aCsoay5POCt4KSoxRTN9bi5WPWIuY2FsbChELHYsayk7RD1NYXRoO2I9RC5taW47dj1uLk87az1uLmhuO2g9bi5OO3g9S2EyKGssbi5qJCxuLlpBKTt4IT09MiYmKFc9eD9XOmgray5POCoxRTMsay50SSYmKFcrPWsuTzgqMUUzKSk7bi5PPWIuY2FsbChELHYsVyk7bi5WPD1uLk4/Q3Yobik6KG4uZSQ9bi5WLG4udlg9ITApfX07ClZrPWZ1bmN0aW9uKG4sVyl7aWYoVysxPD1uLnRvdGFsTGVuZ3RoKXt2YXIgRD1yZChuLFcpO0Q9RDwxMjg/MTpEPDE5Mj8yOkQ8MjI0PzM6RDwyNDA/NDo1fWVsc2UgRD0wO2lmKEQ8MXx8IShXK0Q8PW4udG90YWxMZW5ndGgpKXJldHVyblstMSxXXTtpZihEPT09MSluPXJkKG4sVysrKTtlbHNlIGlmKEQ9PT0yKUQ9cmQobixXKyspLG49cmQobixXKyspLG49KEQmNjMpKzY0Km47ZWxzZSBpZihEPT09Myl7RD1yZChuLFcrKyk7dmFyIGI9cmQobixXKyspO249cmQobixXKyspO249KEQmMzEpKzMyKihiKzI1NipuKX1lbHNlIGlmKEQ9PT00KXtEPXJkKG4sVysrKTtiPXJkKG4sVysrKTtsZXQgdj1yZChuLFcrKyk7bj1yZChuLFcrKyk7bj0oRCYxNSkrMTYqKGIrMjU2Kih2KzI1NipuKSl9ZWxzZSBEPVcrMSxuLmZvY3VzKEQpLFhhKG4sRCw0KT9uPXFEKG4pLmdldFVpbnQzMihELW4uVywhMCk6KGI9cmQobixEKzIpKzI1NipyZChuLEQrMyksbj1yZChuLEQpKzI1NioocmQobixEKzEpKwoyNTYqYikpLFcrPTU7cmV0dXJuW24sV119OwpjdT1mdW5jdGlvbihuKXtyZXR1cm4gZy5keihuLmluZm8uQXcsVz0+Vy50eXBlPT09Myl9OwpDbmk9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz8obmV3IHVvKG4uSikpLmVuY3J5cHQoVyxuLk4pOld9OwpGSTE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz9hd2FpdCAobmV3IHVvKG4uSikpLmRlY3J5cHQoVyxuLk4pOld9OwphNj1mdW5jdGlvbihuKXtuLlcucmVhZCgpLnRoZW4obi5ZLG4ub25FcnJvcikudGhlbih2b2lkIDAsZy5xZyl9OwpXcD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGdaKDYsMTE3MCxuLkFPKSlyZXR1cm4gbmV3IE9fcihuLEQpO249bi5XRCgpO3JldHVybiBiP3lXKCk/bmV3IG4zKG4sVyxELHYpOm5ldyBQSGoobixXLEQsdik6bmV3IFpfQyhuLEQsdil9OwpEeD1mdW5jdGlvbihuLFcsRCl7bi5OJiYoZTUobi5OLFcpLFc9bi5OLG4uTj1udWxsKTt2YXIgYj0wLHY9MDtmb3IobGV0IEwgb2Ygbi5Bdyl7aWYoTC5yYW5nZSYmYitMLko8PW4uSil7Yis9TC5KO2NvbnRpbnVlfWlmKGhKKEwpJiYhRCYmbi5KK1cudG90YWxMZW5ndGgtdjxiK0wuSil7KHtZOTpuLk59PVcuc3BsaXQodikpO2JyZWFrfWE6e3ZhciBrPW47dmFyIGg9TCx4PW4uSi1iO2xldCBlPVcudG90YWxMZW5ndGgtdjtoLnJhbmdlJiYoZT1NYXRoLm1pbihoLkoteCxlKSk7aD1HUChoLGguTit4LGUsaC5yYW5nZT9oLk4reCtlPT09aC5yYW5nZS5sZW5ndGg6ISFEKTt4PWdkKFcsdixlKTtoPW5ldyBiOChoLHgpO2lmKGsualMubGVuZ3RoJiYoeD1rLmpTW2sualMubGVuZ3RoLTFdLmooaCkpKXtrLmpTW2sualMubGVuZ3RoLTFdPXg7az1lO2JyZWFrIGF9ay5qUy5wdXNoKGgpO2s9ZX1uLkorPWs7dis9aztiKz1MLko7aWYodj09PVcudG90YWxMZW5ndGgpYnJlYWt9fTsKYnU9ZnVuY3Rpb24obil7cmV0dXJuIFVZKG4ubm4sUjAoNjQsMzUzNixuLlNPLkFPKSl9Owp2cD1mdW5jdGlvbihuKXtuLlhiLk89KDAsZy5SKSgpO249YnUobik7bi5qPSgwLGcuUikoKTtuLnN0YXJ0ZWQrPTF9OwprWj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe24udGltaW5nLkhEKCgwLGcuUikoKSxXLEQpO1c9bi5YYjtXLko9MDtXLlY9MDtXLkQ9MDt6aihidShuKSx2KTtiJiYoYj1idShuKSxiLlcrPTEpO24uVWo/Lk8obi5TTy5BTyl9OwpoVT1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubGFzdEVycm9yPT09InVtcC5zcHNyZWplY3RmYWlsdXJlIiluLnRpbWluZy5iZHx8d0Eobi5YYiwhMSxuLlNPLG4ucG9saWN5LG4ubm4pO2Vsc2V7aWYobi5sYXN0RXJyb3I9PT0ibmV0LnRpbWVvdXQiKW4udGltaW5nLnlFKCgwLGcuUikoKSk7ZWxzZXt2YXIgRD1uLnRpbWluZztURChELCgwLGcuUikoKSxELlgpfW4ubGFzdEVycm9yPT09Im5ldC5ub2NvbnRlbnQiPysrbi5YYi5EOigoRD1uLmxhc3RFcnJvcj09PSJuZXQudGltZW91dCJ8fG4ubGFzdEVycm9yPT09Im5ldC5jb25uZWN0Inx8bi5sYXN0RXJyb3I9PT0ibmV0LmNsb3NlZCIpJiYhZ1ooNiwxMTcwLG4uU08uQU8pP29FaShidShuKSxXKTp5ZihidShuKSxXKSxuLnRpbWluZy5iZHx8d0Eobi5YYixELG4uU08sbi5wb2xpY3ksbi5ubikpfW4uWWEudlYoNSl9Owp4Wj1mdW5jdGlvbihuLFcsRCxiPSExLHY9ITEsaz0hMSl7cmV0dXJuIFc+PTQwMHx8az8obi5sYXN0RXJyb3I9az8icHJvYmUubmV0LmJhZHN0YXR1cyI6Im5ldC5iYWRzdGF0dXMiLCEwKTp2PyhuLmxhc3RFcnJvcj0idW1wLnNwc3JlamVjdGZhaWx1cmUiLCEwKTpEfHxiPyExOihuLmxhc3RFcnJvcj1XPT09MjA0PyJuZXQubm9jb250ZW50IjoibmV0LmNvbm5lY3QiLCEwKX07CkwzPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuYiQpcmV0dXJuITE7dmFyIEQ9Vy5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIiksYj1XLmlpKCk7bj0hYnx8Yjw9bi5wb2xpY3kub2M7cmV0dXJuKCFXLkdwKCl8fCFEfHxELmluZGV4T2YoInRleHQvcGxhaW4iKSE9PS0xKSYmbn07CmVWPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9IiI7Vz1XLnNOKCk7Vy50b3RhbExlbmd0aDw9bi5wb2xpY3kub2MmJihuPXRSKFcpLG49cFIobiksRD1nWChuKT9uOiIiKTtyZXR1cm4gRH07CmdDPWZ1bmN0aW9uKG4pe3ZhciBXPW4udGltaW5nLkQoKTtXLnNob3N0PVIwKDk2LDM1Njgsbi5TTy5BTyk7bi5wb2xpY3kuQ3UmJm4ucG9saWN5LnZYJiYoVy5jc3JjPTEpO3JldHVybiBXfTsKVXdiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4/Lm1heFdpZHRoPlc/Lm1heFdpZHRofHxuPy5tYXhIZWlnaHQ+Vz8ubWF4SGVpZ2h0fTsKeWFqPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcua2V5cygpKXtsZXQgYj1XLmdldChEKTtpZihiLmxlbmd0aD09PTApY29udGludWU7Zy5iZihiLChoLHgpPT54Lm1heEZyYW1lcmF0ZS1oLm1heEZyYW1lcmF0ZSk7CmxldCB2PVtiWzBdXSxrPTA7Zm9yKGxldCBoPTE7aDxiLmxlbmd0aDtoKyspVXdiKGJbaF0sdltrXSkmJih2LnB1c2goYltoXSksaysrKTtuPW4uY29uY2F0KHYpfXJldHVybiBufTsKaV9iPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpVz1FdGpbYl18fDAsbi5OJiZXPm4uTnx8RC5wdXNoKGIpO3JldHVybiBEfTsKWHU9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXVkWltuXXx8W107RC5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4IikmJihiPW90dFtuXXx8W10pO1cucHVzaCguLi5iKTtELlMoImh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9kcm0iKSYmVy5wdXNoKC4uLihkd3Rbbl18fFtdKSl9Owp6eFM9ZnVuY3Rpb24obixXKXt2YXIgRD1WeihuKSxiPW4uRygpLHY9Yi5XO2I9Yi5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4Iik7dmFyIGs9bi5OUCgpO2lmKGIpe2lmKCF2Lk4pe2lmKGsmJnFxKXJldHVybiBxcTtpZihHSSlyZXR1cm4gR0l9fWVsc2UgaWYoR0kmJiF2Lk4pcmV0dXJuIEdJO3ZhciBoPVtdLHg9W10sTD17fSxlPXRVLmNvbmNhdCgkWik7YiYmKGU9dFUuY29uY2F0KHJDKSk7bi5TKCJodG1sNV9lYXJseV9tZWRpYV9mb3JfZHJtIikmJihlPWUuY29uY2F0KHNHKSxuLlMoImFsbG93X3ZwOV8xMDgwcF9tcV9lbmMiKSYmZS5wdXNoKE5xKSk7dmFyIEc9Wy4uLnAzXTtuLlMoImh0bWw1X2lhbWZfYXVkaW9fb25lc2llX2ZtdCIpJiZHLnB1c2goWyI3NzMiXSk7Zm9yKHZhciByIG9mIGUpe2U9ITE7Zm9yKGxldCBIIG9mIHIpe3ZhciBOPVNNKEgsayYmYik7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2lmKE4uTVcoKSYmIUQuZSQmJk4udmlkZW8ucXVhbGl0eU9yZGluYWw+CkQublMpY29udGludWU7bGV0IEE9Zy5kTShuLkcoKS5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7aWYoQT4wJiZVTihOKSYmTi5Ocz5BKWNvbnRpbnVlO2lmKGUpe2gucHVzaChIKTtYdShILGgsbik7Y29udGludWV9Tj1zRChELE4sdik7Tj09PSEwPyhlPSEwLGgucHVzaChIKSxYdShILGgsbikpOkxbSF09Tn19Zm9yKGxldCBIIG9mIEcpZm9yKGxldCBBIG9mIEgpe3I9QXUoQSk7aWYoIXJ8fCFyLmF1ZGlvfHwhbi5TKCJodG1sNV9vbmVzaWVfNTFfYXVkaW8iKSYmci5WKCkpY29udGludWU7cj1zRChELHIsdik7aWYocj09PSEwKXt4LnB1c2goQSk7WHUoQSx4LG4pO2JyZWFrfWVsc2UgTFtBXT1yfWlmKCFuLlMoImh0bWw1X2VuYWJsZV9hdWRpb19xdWFsaXR5X3NldHRpbmciKSl7bj1bIjE0MSIsIjc3NCJdO2ZvcihsZXQgSCBvZiBuKXguaW5jbHVkZXMoSCkmJihnLkZJKHgsSCksTFtIXT0iYmxraHFhIil9RC5XJiZXKCJvcmZtdHMiLEwpO2lmKGIpcmV0dXJuIHYuTiYmCih2Lk49ITEscXE9R0k9dm9pZCAwKSxrP3FxPXt2aWRlbzpoLGF1ZGlvOnh9OkdJPXt2aWRlbzpoLGF1ZGlvOnh9O0dJPXt2aWRlbzpoLGF1ZGlvOnh9O3YuTj0hMTtyZXR1cm4gR0l9OwpqRk09ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLkwsYj1uLnlRLHY9bi5paixrPUQuZ2V0VmlkZW9EYXRhKCksaD1wNygwKTt2YXIgeD1ELmdldFZpc2liaWxpdHlTdGF0ZSgpO2IuUygiaHRtbDVfZW5hYmxlX2F1ZGlvX3F1YWxpdHlfc2V0dGluZyIpJiYoVy5pQj1iLmlCKTtoJiYoVy5pSD1oLFcubGFzdE1hbnVhbERpcmVjdGlvbj1Sc3goKSxoPVVQKCl8fDAsaD4wJiYoaD0oYi5TKCJodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2UiKT9EYXRlLm5vdygpOigwLGcuUikoKSktaCxiLlMoImh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZSIpP2g+MCYmKFcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpOlcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpKTtpZih2Lk98fGIuUygiaHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lIikmJnc4KWg9CmIuUygiaHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmUiKT8hIW4ub1o/LmZSOiExLFcuSSQ9R0QodiwhaCk7dmFyIEw9TkcubWVkaXVtLGU9TWF0aC5mbG9vcihMKjE2LzkpLEc9ay5OUCgpfHwoay5OJiZrLlcmJmsuVy52aWRlb0luZm9zLmxlbmd0aCE9PTA/ay5XLnZpZGVvSW5mb3NbMF0uaXNWZXJ0aWNhbCgpOiExKTtoPUc/TDplO2U9Rz9lOkw7Rz1ELlNpKCk7TD1HLndpZHRoO0c9Ry5oZWlnaHQ7Vy5zQT1NYXRoLm1heChMLGgpO1cuWUE9TWF0aC5tYXgoRyxlKTtiLlMoImh0bWw1X2VuYWJsZV9jbGllbnRfdmlld3BvcnRfc2l6ZV9sb2dnaW5nIikmJmIuV1goKSYmKGg9RC5NaCgpLEQuVSgiY3Z3Iix7dzpMLGg6Ryxjdnc6Vy5zQSxjdmg6Vy5ZQSxjdnU6aC5OfSkpO1cudmlzaWJpbGl0eT14O1cuWkk9Zy52SSgpO1cuZnE9RC5sNSgpKjFFMzt4PW4uTC52JCgpO1cuTk89e2RlZmF1bHRQb2xpY3k6eD8uRHI/Lk58fDAsc21vb3RoOng/LnpOPy5OfHwKMCx2aXNpYmlsaXR5Ong/LmN3Py5OfHwwLE9iOng/LkFFPy5OfHwwLHBlcmZvcm1hbmNlOng/LmlQPy5OfHwwLHNwZWVkOng/LlhOPy5OfHwwfTtXLlROPXg/LlFZPy5OfHwwO2lmKG4uaHF8fG4uQ3gmJiFuLmdEKWg9Yi5adCgpLk4uUVEobGlaKT8/MCxoPjAmJiFXLlROJiYoTD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLGgsITEsInAiKSksVy5OTy5kZWZhdWx0UG9saWN5PUwuTixELlUoImxzbCIse3FjOmh9KSksay5saXZlUHJlbG9hZCYmay5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIikmJiFrLkcoKS5adCgpLk4uUVEoSHApJiYoeD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLDI0MCwhMSwicCIpKSxXLk5PLmRlZmF1bHRQb2xpY3k9eC5OKTt4PW4uaHF8fGsuWjk/W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9LHt0cmFja1R5cGU6Myxpc0hkcjohMX0se3RyYWNrVHlwZTozLAppc0hkcjohMH0se3RyYWNrVHlwZTo0LGlzSGRyOiExfSx7dHJhY2tUeXBlOjQsaXNIZHI6ITB9LHt0cmFja1R5cGU6NSxpc0hkcjohMX0se3RyYWNrVHlwZTo1LGlzSGRyOiEwfV06W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9XTtXLmtjPW4uYXV0aG9yaXplZEZvcm1hdHMmJm4uYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoPjA/e2F1dGhvcml6ZWRGb3JtYXRzOm4uYXV0aG9yaXplZEZvcm1hdHN9OnthdXRob3JpemVkRm9ybWF0czp4fTtuLnNhYnJMaWNlbnNlQ29uc3RyYWludCYmKFcua2Muc2FickxpY2Vuc2VDb25zdHJhaW50PW4uc2FickxpY2Vuc2VDb25zdHJhaW50KTtpZihiLlMoImh0bWw1X29uZXNpZV9tZWRpYV9jYXBhYmlsaXRpZXMiKXx8TEEoaykpVy5ZZj0zO2lmKGIuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEoayl8fG4ub1o/Lk4mJmxvKGIpPT09IlRWSFRNTDVfQVVESU8iKVcuWWY9CjE7bi5vWj8ueUUmJm4ub0cmJihXLllmPVcuWWY9PT12b2lkIDA/NzpXLllmfDQpO3g9ay5lJD9rLmUkOlZ6KGspO2lmKGIuUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtoPWIuVztMPVtdO2U9W107Rz1iLlMoImh0bWw1X3Nob3J0c19vbmVzaWVfbWlzbWF0Y2hlZF9maXgiKTt2YXIgcj1rLk5QKCksTj10VS5jb25jYXQoJFopO0cmJihOPXRVLmNvbmNhdChyQykpO2IuUygiaHRtbDVfZWFybHlfbWVkaWFfZm9yX2RybSIpJiYoTj1OLmNvbmNhdChzRyksYi5TKCJhbGxvd192cDlfMTA4MHBfbXFfZW5jIikmJk4ucHVzaChOcSkpO3ZhciBIPVsuLi5wM107Yi5TKCJodG1sNV9pYW1mX2F1ZGlvX29uZXNpZV9mbXQiKSYmSC5wdXNoKFsiNzczIl0pO2Zvcih2YXIgQSBvZiBOKWZvcih2YXIgeSBvZiBBKXtOPVNNKHksciYmRyk7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2xldCBRPWcuZE0oYi5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7CmlmKCEoUT4wJiZVTihOKSYmTi5Ocz5RKSYmc0QoeCxOLGgpPT09ITApe0wucHVzaCh7dmlkZW9Db2RlYzpmM1tZZ1t5XV0sbWF4V2lkdGg6Ti52aWRlby53aWR0aCxtYXhIZWlnaHQ6Ti52aWRlby5oZWlnaHQsbWF4RnJhbWVyYXRlOk4udmlkZW8uZnBzfSk7YnJlYWt9fWZvcih2YXIgVCBvZiBIKWZvcih2YXIgeiBvZiBUKWlmKChBPUF1KHopKSYmQS5hdWRpbyYmKGIuUygiaHRtbDVfb25lc2llXzUxX2F1ZGlvIil8fCFBLlYoKSkmJnNEKHgsQSxoKT09PSEwKXtlLnB1c2goe2F1ZGlvQ29kZWM6SlVbWWdbel1dLG51bUNoYW5uZWxzOkEuYXVkaW8ubnVtQ2hhbm5lbHN9KTticmVha31XLm1lZGlhQ2FwYWJpbGl0aWVzPXt2aWRlb0Zvcm1hdENhcGFiaWxpdGllczpMLGF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzOmV9fWlmKG4ub1o/LkR0KCkpe0E9bi5JODt5PW4ubGw7aD1uLm9aPy5OcztUPVtdO3o9W107TD1uZXcgTWFwO2U9KGU9ay5KKT9lLml0YWc6dm9pZCAwO0c9ay5XPy52aWRlb0luZm9zOwpHPUc/Lmxlbmd0aD9HW0cubGVuZ3RoLTFdLml0YWc6dm9pZCAwO2U9IVZUKCkmJmUhPT12b2lkIDAmJkE/LmluY2x1ZGVzKE51bWJlcihHKSk7Rz1rLnl3Lk47Zm9yKHZhciBDIG9mIEcudmFsdWVzKCkpQy5lUz96LnB1c2goe2F1ZGlvQ29kZWM6SlVbQy5JQl0sbnVtQ2hhbm5lbHM6Qy5udW1DaGFubmVscyxzcGF0aWFsQ2FwYWJpbGl0eUJpdG1hc2s6VFhNW0MuSUJdfSk6KEc9ZjNbQy5JQl0scj1DLm1heEJpdHJhdGVCcHN8fDAsSD1oP2gqODowLHI9e3ZpZGVvQ29kZWM6RyxtYXhXaWR0aDp5JiYhZT84NTQ6Qy5tYXhXaWR0aHx8MCxtYXhIZWlnaHQ6eSYmIWU/NDgwOkMubWF4SGVpZ2h0fHwwLG1heEZyYW1lcmF0ZTpDLm1heEZyYW1lcmF0ZXx8MCxpczEwQml0U3VwcG9ydGVkOkMuejl8fCExLG1heEJpdHJhdGVCcHM6SCYmcj9NYXRoLm1pbihILHIpOkh8fHIsZWZmaWNpZW50OiEwfSxHPWAke0d9XyR7Qy56OX1gLEg9TC5nZXQoRyl8fFtdLEgucHVzaChyKSxMLnNldChHLEgpKTsKVD15YWooVCxMKTtDPUEmJiFlP1suLi5BXTpbXTtrLlMoImh0bWw1X3NzZmZfZGVueWxpc3Rfb3B1c19sb3ciKSYmQy5wdXNoKDI0OSwzNTApO1Z6KGspO1cubWVkaWFDYXBhYmlsaXRpZXM9e3ZpZGVvRm9ybWF0Q2FwYWJpbGl0aWVzOlQsYXVkaW9Gb3JtYXRDYXBhYmlsaXRpZXM6eixoZHJNb2RlQml0bWFzazozLHBlclBsYXliYWNrQXR0cmlidXRlczpDLmxlbmd0aD97aXRhZ0RlbnlsaXN0OkN9Ont9fX1XLnVxPVZUKCk7bi5vWj8uTiYmKFcuYnY9eC5idixXLm5TPW4ub1o/Lm5TKTtiLnlFJiYoVy5FYj1iLnlFKTtXLm5SPW4ublI7Vy5Zcz1uLllzO1cuZXE9bi5lcTtXLmo0PW4uajQ7bi5weiYmKFcubHE9KDAsZy5SKSgpLW4ucHopO24uSiQmJihXLkokPW4uSiQpO05zfHwoVy5aQz0hMCk7Qz0kcyh2KSoxRTM7Qz4wJiYoVy5YRD1DKTtEPUQuZ2V0UGxheWJhY2tSYXRlKCk7RCE9PTEmJihXLnBsYXliYWNrUmF0ZT1EKTtuLm9aPy5MQiYmbi5HNyYmKFcua0U9bi5rRSxXLlVtPW4uVW0sClcuRzc9bi5HNyk7WWQoKT09PTEmJihXLms4PTEpO2IuUygiaHRtbDVfc2Ficl9mb3JjZV9wcm94aW1hIikmJihXLlZYPTEpO0Q9Zy5kTShiLmV4cGVyaW1lbnRzLCJodG1sNV9zYWJyX2ZvcmNlX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tcyIpO1cucDY9RD4wP0Q6di5pbnRlcnJ1cHRpb25zWzBdfHwwO24ub1o/LllaJiYoVy5yMD1uLnIwKTtiLkhKJiYoVy5hdWRpb1RyYWNrSWQ9Yi5ISik7ay5aaCgpJiYhVy5hdWRpb1RyYWNrSWQmJihiLlMoImh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWQiKXx8KG49bGooayksVy5hdWRpb1RyYWNrSWQ9biksaz8uVSgibWlzc3Rya2NoZyIseyJkZWZhdWx0IjpXLmF1ZGlvVHJhY2tJZH0pKTtpZihuPW5hdmlnYXRvci5jb25uZWN0aW9uPy50eXBlfHwiIilXLmRldGFpbGVkTmV0d29ya1R5cGU9SXFbbl18fElxLm90aGVyOyFiLlMoImh0bWw1X2VuYWJsZV92b2ljZV9ib29zdCIpfHxrLk5QKCl8fGsuaXNBZCgpfHwKKFcucU09Yi5taCk7cmV0dXJuIFd9OwpTVj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD17fTtXJiYoeC5xJD1XKTtpZighbilyZXR1cm4geDt4LnBsYXliYWNrQ29va2llPUQ/LnBsYXliYWNrQ29va2llO3YmJih4LmROPXYpO3gudXQ9W107eC5ycT1bXTtpZihoPy5zaXplKWZvcihsZXQgTCBvZiBoLnZhbHVlcygpKXgucnEucHVzaChMKTtpZihuLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKGxldCBMIG9mIG4uc2FickNvbnRleHRVcGRhdGVzLnZhbHVlcygpKUNIaCh4LEwsYik7Zy5ZTihuKSYmayYmQ0hoKHgsayxiKTtXPW4uRygpLk47eC5jbGllbnRJbmZvPXtjbGllbnROYW1lOkJYdFtXLmMudG9VcHBlckNhc2UoKV18fDB9O1cuY2JyYW5kJiYoeC5jbGllbnRJbmZvLmRldmljZU1ha2U9Vy5jYnJhbmQpO1cuY21vZGVsJiYoeC5jbGllbnRJbmZvLmRldmljZU1vZGVsPVcuY21vZGVsKTtXLmN2ZXImJih4LmNsaWVudEluZm8uY2xpZW50VmVyc2lvbj1XLmN2ZXIpO1cuY29zJiYoeC5jbGllbnRJbmZvLm9zTmFtZT0KVy5jb3MpO1cuY29zdmVyJiYoeC5jbGllbnRJbmZvLm9zVmVyc2lvbj1XLmNvc3Zlcik7Vz1uLkcoKTtXLlMoImh0bWw1X3NhYnJfZW5hYmxlX3NlcnZlcl94dGFnX3NlbGVjdGlvbiIpJiZXLlJhJiYoeC5jbGllbnRJbmZvLmhsPVcuUmEpO24uQngmJih4LkJ4PW4uQngpO3JldHVybiB4fTsKQ0hoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XLnR5cGV8fDA7RD8uaGFzKGIpP24ucnEucHVzaChXKTpuLnV0LnB1c2goYil9OwpGYU09ZnVuY3Rpb24obil7aWYoISh5cyhuLmluZm8pJiZuLmluZm8uUW4oKSYmbi5wb2xpY3kuc1YmJm4uZTEpfHxuLmluZm8uWGIuSj49Mnx8cDcoKT4wfHwhSU8oKSlyZXR1cm4hMTt2YXIgVz1uLlNPLmdldCgiYWl0YWdzIik7aWYoIVcpcmV0dXJuITE7Vz1HNShXKS5zcGxpdCgiLCIpO3ZhciBEPVtdO2ZvcihsZXQgYiBvZiBuLmUxKWcuamooVyxiKSYmRC5wdXNoKGIpO2lmKCFELmxlbmd0aClyZXR1cm4hMTtuLlNPLnNldCgiYWx0aXRhZ3MiLHFoKEQuam9pbigiLCIpKSk7cmV0dXJuITB9Owp3S2o9ZnVuY3Rpb24obixXLEQ9ITEpe2cuWGooVyk7bi50NS5sYXN0RXJyb3I9InBsYXllci5leGNlcHRpb24iO24uZXJyb3JNZXNzYWdlPWAke1cubmFtZX1fJHtXLm1lc3NhZ2V9YDtEP2cubUsoKCk9PntoVShuLnQ1KX0pOmhVKG4udDUpfTsKTUFNPWZ1bmN0aW9uKG4pe24uZXcmJihuLnhoci5zdGF0dXM9bi5ldyxuLmxOPW4uZXcpfTsKUnhqPWZ1bmN0aW9uKG4sVyl7bi50aW1pbmcuYmQ9ITA7bi54aHIuR3AoKSYmbi50aW1pbmcuVEMoKTtuLnBvbGljeS5OZCYmbi5UMj8uc3RvcCgpO0R4KG4uV28sVywhMSl9OwpRRnc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ucVk/TWF0aC5tYXgoVyxEL24ucVkpOlcsdj1uLmlqLkouVzt2JiYoYj1XLG4ucVkmJihiPU1hdGgubWF4KFcsRC9uLnFZKnYpKSk7QnUobi5paixXLEQsYil9OwpWQVM9ZnVuY3Rpb24obixXLEQsYix2LGspe24uTyYmKG4uTy5hZGQoTWF0aC5yb3VuZChXKSksbi5PLmFkZChNYXRoLnJvdW5kKEQpKSxuLk8uYWRkKE1hdGgucm91bmQoYikpLG4uTy5hZGQoTWF0aC5yb3VuZCh2KSksbi5PLmFkZChNYXRoLnJvdW5kKGspKSxuLk8uYWRkKE1hdGgucm91bmQobi52WCkpKX07CmNhdD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgNjg6bi5aYihEKTticmVhaztjYXNlIDM1Om4uc3koRCk7YnJlYWs7Y2FzZSA0NDpuLklyKEQpO2JyZWFrO2Nhc2UgNDM6bi5yTihEKTticmVhaztjYXNlIDUzOm4ua0ooRCk7YnJlYWs7Y2FzZSA1NjpuLk9lKCk7YnJlYWs7Y2FzZSA1NzpuLnlUKEQpO2JyZWFrO2Nhc2UgNDI6bi5XbChEKTticmVhaztjYXNlIDQ1Om4udVEoRCk7YnJlYWs7Y2FzZSA1OTpuLmdZKEQpO2JyZWFrO2Nhc2UgNTE6bi5DWChEKTticmVhaztjYXNlIDQ5Om4uTiQoRCk7YnJlYWs7Y2FzZSA1MDpuLkZYKEQpO2JyZWFrO2Nhc2UgNDc6bi5BcShEKTticmVhaztjYXNlIDU4Om4uc1coRCk7YnJlYWs7Y2FzZSA2MTpuLkhFKEQpO2JyZWFrO2Nhc2UgNzI6bi5ZYS5UcSgpO2JyZWFrO2Nhc2UgNjY6bi56cChEKTticmVhaztjYXNlIDQ2Om4udnQoRCk7YnJlYWs7Y2FzZSA2NzpuLm9uU25hY2tiYXJNZXNzYWdlKEQpO2JyZWFrO2Nhc2UgNzE6Vz1tayhELApJbGopLG4uWWEuSUYoVyl9fTsKYWlNPWZ1bmN0aW9uKG4pe0FVPW59OwpuajE9ZnVuY3Rpb24obixXLEQpe24udTkuZ2V0KFcpLm9uUHJvZ3Jlc3M9RH07Cm1lPWZ1bmN0aW9uKG4sVyl7bi5nRihXKSYmKEFVP24udTkuZ2V0KFcpLkZtLmNsZWFyKCk6bi51OS5nZXQoVykualM9bmV3IFM1LG4uSihXKSxuLlg9ITApfTsKVyRqPWZ1bmN0aW9uKG4pe2ZvcihsZXQgW1csRF1vZiBuLnU5KXtsZXQgYj1XO0QuRG98fG1lKG4sYil9fTsKRDZ4PWZ1bmN0aW9uKG4sVyl7bj1uLnU5LmdldChXKTtpZighbilyZXR1cm4gMDtXPTA7aWYobi5Bdy5sZW5ndGg+MCl7Zm9yKGxldCBEIG9mIG4uQXcpVys9RC5yYW5nZT8ubGVuZ3RofHwwO3JldHVybiBXfWlmKG4uQnQubGVuZ3RoPjApZm9yKGxldCBEIG9mIG4uQnQpVys9RC5lSHx8MDtyZXR1cm4gVytuLk1vfTsKSzM9ZnVuY3Rpb24obixXKXtpZihBVSl7bGV0IEQ9MDtuPW4udTkuZ2V0KFcpO2lmKCFuPy5GbSlyZXR1cm4gMDtmb3IobGV0IGIgb2Ygbi5GbS52YWx1ZXMoKSlEKz1iLmRhdGEudG90YWxMZW5ndGg7cmV0dXJuIER9cmV0dXJuIG4udTkuZ2V0KFcpPy5qUy5qKCl8fDB9OwpPRz1mdW5jdGlvbihuLFcpe249bi51OS5nZXQoVyk7aWYoQVUpe2lmKCFuPy5EbylyZXR1cm4hMTtXPW4uRm0uc2l6ZT4wO3JldHVybiBuLnBKLmxlbmd0aD4wfHxXfXJldHVybiEhbj8uRG8mJiEhbj8ualMuaigpfTsKYmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi51OS5nZXQoVyksYj1ENngobixXKSx2PSFiJiYhIUQuYnl0ZXNSZWNlaXZlZDtpZihBVSl7aWYobi5LdT8uelcpe2Zvcih2YXIgayBvZiBELkZtLnZhbHVlcygpKWlmKCFrLmtuKXJldHVybiExO3JldHVybiB2fX1lbHNlIGlmKGs9bi5tNihXKSx2JiZuLlcmJmshPT12b2lkIDApcmV0dXJuIGs7cmV0dXJuKHZ8fEQuYnl0ZXNSZWNlaXZlZD09PWIpJiZELmJ5K0szKG4sVyk9PT1ELmJ5dGVzUmVjZWl2ZWR9OwpQcD1mdW5jdGlvbihuLFcsRCxiKXtXPXZqdyhuLFcsRCk7RD1ELmF1O2IuQXcucHVzaCguLi5XKTtpZihBVSliLmNCLmhhcyhEKXx8Yi5jQi5zZXQoRCxbXSksYi5jQi5nZXQoRCkucHVzaCguLi5XKTtlbHNlIGlmKGIuV28pZm9yKGxldCB2IG9mIFcpYi5Xby5Bdy5wdXNoKHYpO2Vsc2UgYi5Xbz1uZXcga0JoKFsuLi5iLkF3XSksbi5vWj8uSHgmJmcudShuLGIuV28pO3JldHVybiBXfTsKdmp3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkt1Py5KLmdldChXKTtpZighYilyZXR1cm5bXTtpZihELk9KKXJldHVybiBiLlkoMCxELmNsaXBJZCk/LkF3fHxbXTtpZihiLlcoKSl7dmFyIHY9RC5zdGFydE1zLGs9RC5kdXJhdGlvbk1zLGg9MUUzO24ub1o/Lk4mJkQudGltZVJhbmdlJiYodj1ELnRpbWVSYW5nZS5zdGFydFRpY2tzPz8tMSxrPUQudGltZVJhbmdlLmw4Pz8tMSxoPUQudGltZVJhbmdlLnRpbWVzY2FsZT8/LTEpO2lmKEQuenY8MHx8RC5QUDwwfHxrPDB8fHY8MHx8RC5lSDwwfHxoPDApcmV0dXJuIG1lKG4sVyksW107bj1XXyhELnp2LEQuZUgpO1c9RC5kR3x8MDtyZXR1cm5bbmV3IHFJKDMsYixuLCJtYWtlU2xpY2VJbmZvc01lZGlhQnl0ZXMiLEQuUFAtMSx2L2gsay9oLFcsbi5sZW5ndGgtVyx2b2lkIDAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV19aWYoRC5QUDwwKXJldHVybiBtZShuLFcpLFtdO2lmKG4uS3U/LnpXKXJldHVybiBrPWIucmIsaD1rKmIuaW5mby5OcywKVz1ELmRHLG4ub1o/Lk4mJm4uVi50ZCgpIT09Ik9ORVNJRSImJkQudGltZVJhbmdlJiYhVyYmKHY9RC50aW1lUmFuZ2Uuc3RhcnRUaWNrcy9ELnRpbWVSYW5nZS50aW1lc2NhbGUpLFtuZXcgcUkoMyxiLHZvaWQgMCwibWFrZVNsaWNlSW5mb3NNZWRpYUJ5dGVzIixELlBQLHYsayxXLGgsITAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV07aWYobi5vWj8uUXImJmIgaW5zdGFuY2VvZiBydCl7aWYoIWIuTigpKXJldHVybiBuLnU5LmdldChXKS5XcS5zZXQoRC5hdSxEKSxbXTtuPUQuUFAtMTt2PWIuaW5kZXguZ2V0U3RhcnRUaW1lKG4pO2s9Yi5pbmRleC5nZXREdXJhdGlvbihuKTtyZXR1cm5bbmV3IHFJKDMsYix2b2lkIDAsIm1ha2VTbGljZUluZm9zTWVkaWFCeXRlcyIsbix2LGssMCxrKmIuaW5mby5Ocyx2b2lkIDAsdm9pZCAwLHZvaWQgMCxELkhmIT09dm9pZCAwKV19cmV0dXJuW119OwpoNzI9ZnVuY3Rpb24obixXLEQpe24uS3U9VztuLm9aPUQ7Zm9yKGxldCBbYix2XW9mIG4udTkpe1c9YjtEPXY7Zm9yKGxldCBrIG9mIEQucDkpUHAobixXLGssRCl9fTsKeDZ3PWZ1bmN0aW9uKG4pe3JldHVybiBuLndEKCkmJiFuLkFkfTsKVUc9ZnVuY3Rpb24obil7aWYobi5VOCE9PXZvaWQgMCl7dmFyIFc9bi5wb2xpY3kual8oKTtpZihXKXt2YXIgRD1XLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRFdmVudHNDb3VudChuLlU4KTtpZihEPjApe3ZhciBiPVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2dldEJhdGNoZWRFdmVudHMobi5VOCk7aWYoYil7Yj1XLm1lbW9yeS5idWZmZXIoYixEKjE2KTtiPW5ldyBVaW50MzJBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsRCo0KTtsZXQgaz0wO2ZvcihsZXQgaD0wO2g8RDtoKyspe3ZhciB2PWJba107bGV0IHg9YltrKzFdLEw9YltrKzJdLGU9YltrKzNdO3Y9PT0wP2UhPT0wJiYodj14JiZMPjA/bmV3IFM1KFtXLm1lbW9yeS5idWZmZXIoeCxMKS5zbGljZSgpXSk6bmV3IFM1KFtuZXcgVWludDhBcnJheSgwKV0pLG4ueUQud20oZSx2KSk6dj09PTEmJm4ueGhyLkdwKCkmJlp4KG4pO2srPTR9fVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NsZWFyRXZlbnRzKG4uVTgpfX19fTsKWng9ZnVuY3Rpb24obil7bi5wb2xpY3kuWTAmJm4uUHEmJiFuLmdVP24uZ1U9ITA6bi5uZi5UQygpfTsKTCQyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9LTEsYj0tMSx2PS0xO2lmKG4udFk/Lml0ZW1zKWZvcihsZXQgayBvZiBuLnRZLml0ZW1zKVc8ay5Ga3x8ay5GazxEfHwoRD1rLkZrLGI9ay5meix2PWsubWluUmVhZGFoZWFkTXMpO3JldHVybntxRTpELGZ6OmIsRFE6dn19Owp5Qj1mdW5jdGlvbihuKXtpZihuLlU4IT09dm9pZCAwKXJldHVybiBuLnBvbGljeS5qXygpLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRNZWRpYUJ5dGVzKG4uVTgpfTsKZy5FRz1mdW5jdGlvbihuLFcsRCl7Zy52UChuLEQpfHxnLmdfKG4sVyxEKTtnLnZQKG4sInZpZGVvX3RvX2FkIil8fGcuZ18obixXLCJ2aWRlb190b19hZCIpO2cudlAobiwiYWRfdG9fdmlkZW8iKXx8Zy5nXyhuLFcsImFkX3RvX3ZpZGVvIik7Zy52UChuLCJhZF90b19hZCIpfHxnLmdfKG4sVywiYWRfdG9fYWQiKX07Cml1PWZ1bmN0aW9uKG4pe24uT3x8KG4uTz0oMCxnLlIpKCksZy5FRygibWJfcyIsbi5PLG4uelIpKX07CmU3Yj1mdW5jdGlvbihuKXtuLnR3fHwobi50dz0oMCxnLlIpKCksZy5FRygib3Zmc19ycCIsbi50dyxuLnpSKSl9OwpnajE9ZnVuY3Rpb24obil7bi5jSnx8KG4uY0o9KDAsZy5SKSgpLGcuRUcoIm9hZnNfcnAiLG4uY0osbi56UikpfTsKWFNoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XIGluc3RhbmNlb2YgdXUmJiFuLlgmJiFuLk4sdj0hbi5YJiZEPy5pbmZvLnZpZGVvO0Q9IW4uTiYmRD8uaW5mby5hdWRpbztXLnN0YXRlPT09Mz8oKHZ8fGIpJiZuLnRpY2soInZyciIpLChEfHxiKSYmbi50aWNrKCJhcnIiKSk6Vy5zdGF0ZT09PTQ/dj8obi5YPVcuV0QoKSxnLkR5KCksYlEoNCkpOkQmJihuLk49Vy5XRCgpKTpXIGluc3RhbmNlb2YgQUImJlcuUXkoKSYmdiYmKGcuRHkoKSxiUSg0KSl9OwpvcT1mdW5jdGlvbihuLFcsRCl7bi5KIT09VyYmKG4uVSgic2RhaSIse3NldHNzdDpXLG9sZDpuLkoscjpEfSksbi5KPVcpfTsKR0JiPWZ1bmN0aW9uKG4sVyxELGI9ITApe2lmKEQmJiFuLlRDLmhhcyhXLmokKSl7dmFyIHY9Vy5zdGFydFRpbWUsaz1bXTtmb3IodmFyIGg9MDtoPEQuTi5sZW5ndGg7aCsrKXt2YXIgeD1ELk5baF0sTD12O3Y9TCtELkpbaF07ay5wdXNoKHtzdGFydFRpbWU6TCxlbmRUaW1lOnYsYWRDcG46eH0pfW4uVEMuc2V0KFcuaiQsayl9bi5wb2xpY3kuZVYmJih2PW4uRCYmVy5qJD09PW4uRC5qJCsxLG4uRD1XLGs9bi5OJiZXLmokPT09bi5OLmokKzEsaz1uLk4mJnYmJmsmJm4uTi5mZi5ldmVudCE9PSJzdG9wIiYmbi5OLmZmLmV2ZW50IT09InByZWRpY3RTdGFydCIsaD1XLmZmfHxudWxsLHg9bi52aWRlb1RyYWNrLlBKLmluZGV4LngkKCkseD1XLmokPj14LEw9bi5LdS5pc01hbmlmZXN0bGVzcyxoPyhuLk4/LmZmLmV2ZW50PT09InByZWRpY3RTdGFydCImJm4uTi5qJDxXLmokJiZoLmV2ZW50PT09InN0b3AiJiZuLmxvYWRlci5oYW5kbGVFcnJvcigic3NkYWkubWlzc2luZ3N0YXJ0Y3VlZXZlbnQiLAp7bGFzdHByZWRpY3Q6bi5OPy5qJHx8MCxjc3E6Vy5qJH0sMCksbi5OPXtmZjpoLGokOlcuaiQsZks6ISFELGZZOmJ9LHg/bi5WaShoLFcuaiQpOkwmJih2P2s/bi5WaShoLFcuaiQpOmguZXZlbnQ9PT0iY29udGludWUifHxoLmV2ZW50PT09InN0b3AiP3EkMihuLFcpOm4uVmkoaCxXLmokKTpuLlZpKGgsVy5qJCkpKTooayYmcSQyKG4sVyksbi5KPT09NCYmb3Eobiw1LCJxZW5kIikpKX07CnJraj1mdW5jdGlvbihuLFcsRCxiLHYpe1chPT1uLk4/LmokfHxuLko9PT0xfHxifHxuLk4uZmYuZXZlbnQ9PT0icHJlZGljdFN0YXJ0Inx8bi5VKCJzZGFpIix7dW5kZWNldnQ6MSxzcTpXLG10OkQsZXZ0Om4uTi5mZi5ldmVudH0sITApO1c+bi5qJiYobi5qPU5hTixuLlY9TmFOKTtpZihuLk4mJm4uTi5qJD09PVcpe2lmKGI9bi5OLCFuLnBvbGljeS5YfHwhbi5wb2xpY3kuVTEpaWYodiYmYil7dmFyIGs9Yi5mZixoPXYuU0Qoayk7ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5jSj1XKTtuLlUoInNkYWkiLHtvbnFldnQ6ay5ldmVudCxzcTpXLG10OkQsZ2FiOmgsY3N0Omsuc3RhcnRTZWNzLGN1ZWlkOm4ucG9saWN5LnlkJiYoaHx8ay5ldmVudD09PSJzdGFydCIpP2suaWRlbnRpZmllcjp2b2lkIDB9LCEwKTtoP2suZXZlbnQhPT0icHJlZGljdFN0YXJ0Ij8oay5ldmVudD09PSJzdGFydCImJm4uY0o9PT1XLTEmJm4uVSgic2RhaSIse2dhYm9uc3RhcnQ6V30pLGIuZks/b3EobiwKNCwiY3VlIik6KG4uaj1XLG4uVj1ELG4uVSgic2RhaSIse2pvaW5hZDpuLkosc2c6bi5qLHN0Om4uVi50b0ZpeGVkKDMpfSksbi5ZPURhdGUubm93KCksb3EobiwyLG4uSj09PTM/InN0YWZ0cHJlZCI6ImpvaW4iKSx0dmkodixiLmZmKSkpOihoPSQ2aChuKSxXKz1NYXRoLm1heChNYXRoLmNlaWwoLWsuTi9oKSwxKSxrPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLnBvbGljeS5VMT9uLlc9azpuLlg9VyxuLlUoInNkYWkiLHtvbnByZWQ6RCxlc3RzcTpXLGVzdG10OmsudG9GaXhlZCgzKX0pLGcuZEMobi5sb2FkZXIsayxrLFcsaCksbi5ZPURhdGUubm93KCksb3EobiwzLCJwcmVkaWN0IiksdHZpKHYsYi5mZikpOm4uSj09PTE/bi5zVT8uR2coRCk/KGcuZEMobi5sb2FkZXIsRCxELFcpLG9xKG4sNCwic2syaGVhZCIpKTpvcShuLDUsIm5vZ2FiIik6ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5wb2xpY3kuVTEmJm4uVz4wPyhEPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLlchPT1EJiYKbi5VKCJzZGFpIix7dXBkYXRlU3Q6RCxvbGQ6bi5XfSksbi5XPUQpOm4uWD4wJiYoRD1XK01hdGgubWF4KE1hdGguY2VpbCgtay5OLyQ2aChuKSksMSksbi5YIT09RCYmKG4uVSgic2RhaSIse3VwZGF0ZVN0OkQsb2xkOm4uWH0pLG4uWD1EKSkpfWVsc2Ugbi5VKCJzZGFpIix7bnVsbGRlYzoxLHNxOlcsbXQ6RC50b0ZpeGVkKDMpLGV2dDpiPy5mZj8uZXZlbnR8fCJub25lIn0pfWVsc2Ugbi5KPT09MSYmb3Eobiw1LCJub2FkIil9Owp6ST1mdW5jdGlvbihuLFcsRCl7cmV0dXJuKEQ8MHx8RD09PW4uaikmJiFpc05hTihuLlYpP24uVjpXfTsKcSQyPWZ1bmN0aW9uKG4sVyl7aWYobi5OKXt2YXIgRD1uLk4uZmYuQ2YtKFcuc3RhcnRUaW1lK24uSy1uLk4uZmYuc3RhcnRTZWNzKTtEPD0wfHwoRD1uZXcgZy5sMyhuLk4uZmYuc3RhcnRTZWNzLShpc05hTihuLkspPzA6bi5LKSxELG4uTi5mZi5jb250ZXh0LG4uTi5mZi5pZGVudGlmaWVyLCJzdG9wIixuLk4uZmYuTitXLmR1cmF0aW9uKjFFMyksbi5VKCJjdWVwb2ludGRpc2NvbnRpbnVpdHkiLHtzZWdOdW06Vy5qJH0pLG4uVmkoRCxXLmokKSl9fTsKJDZoPWZ1bmN0aW9uKG4pe3N3aXRjaChuLnBvbGljeS5sYXRlbmN5Q2xhc3Mpe2Nhc2UgIkxPVyI6cmV0dXJuIDJFMztjYXNlICJVTFRSQUxPVyI6cmV0dXJuIDFFMztkZWZhdWx0OnJldHVybiA1RTN9fTsKbHU9ZnVuY3Rpb24obixXLEQsYj0hMSl7Yj9vcShuLDEsInNlZWsiKTpXPjAmJk1hdGguYWJzKFctRCk+PTUmJm4uSj09PTQmJm9xKG4sNSwic2sydCIpfTsKZy5UST1mdW5jdGlvbihuKXtyZXR1cm4gbi50aWxlQ29udGV4dD9gJHtuLlNTfTske24udGlsZUNvbnRleHR9YDpuLlNTfTsKalY9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuInVua25vd24iO3N3aXRjaChuKXtjYXNlIDU6cmV0dXJuInByZWRpY3RTdGFydCI7Y2FzZSAxOnJldHVybiJzdGFydCI7Y2FzZSAyOnJldHVybiJjb250aW51ZSI7Y2FzZSAzOnJldHVybiJzdG9wIjtjYXNlIDY6cmV0dXJuInByZWZldGNoIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpzU3c9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInByZWRpY3RTdGFydCI6cmV0dXJuIDU7Y2FzZSAic3RhcnQiOnJldHVybiAxO2Nhc2UgImNvbnRpbnVlIjpyZXR1cm4gMjtjYXNlICJzdG9wIjpyZXR1cm4gMztjYXNlICJwcmVmZXRjaCI6cmV0dXJuIDY7ZGVmYXVsdDpyZXR1cm4gMH19OwpON1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDE6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gMH19OwpwU1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgNjpyZXR1cm4gNztjYXNlIDU6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgMTE6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiA0O2Nhc2UgMTpyZXR1cm4gNTtjYXNlIDEyOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9fTsKZy5DMz1mdW5jdGlvbihuKXtyZXR1cm4gbj9uLnRpbGVDb250ZXh0P2Ake24uaWRlbnRpZmllcn07JHtuLnRpbGVDb250ZXh0fWA6bi5pZGVudGlmaWVyOiIifTsKZy5CcD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAwOnJldHVybiJ1bmtub3duIjtjYXNlIDE6cmV0dXJuInRpbWVvdXQiO2Nhc2UgMjpyZXR1cm4icmF0ZWNvbnRyb2wiO2Nhc2UgMTE6cmV0dXJuInJhdGVjb250cm9sX2NsaWVudCI7Y2FzZSAzOnJldHVybiJzdmVyciI7Y2FzZSA0OnJldHVybiJkZWxldGVkIjtjYXNlIDU6cmV0dXJuIndhaXRpbmciO2Nhc2UgNjpyZXR1cm4icmVhZHkiO2Nhc2UgNzpyZXR1cm4ic3NkaXNhYmxlZCI7Y2FzZSA5OnJldHVybiJzc2Rpc2FibGVkX3VzdHJlYW1lciI7Y2FzZSAxMDpyZXR1cm4ic3NkaXNhYmxlZF9ub19jb25maWciO2Nhc2UgMTI6cmV0dXJuIm5vZ2FiY29uZmlnIjtjYXNlIDg6cmV0dXJuImluYWN0aXZlIjtjYXNlIDEzOnJldHVybiJjYWNoZW1pc3MiO2RlZmF1bHQ6cmV0dXJuInVua25vd24ifX07CkZ1PWZ1bmN0aW9uKG4pe3ZhciBXPS0obi5mZj8uVHl8fDApO24udGltZVJhbmdlJiYoVys9KG4udGltZVJhbmdlLnN0YXJ0VGlja3N8fDApLyhuLnRpbWVSYW5nZS50aW1lc2NhbGV8fDEpKTtyZXR1cm4gbmV3IGcubDMoVyxuLmZmPy5NS3x8MCxuLmZmPy51VHx8IiIsbi5mZj8uaWRlbnRpZmllcnx8IiIsalYobi5mZj8uZXZlbnQpLChuLmZmPy5UeXx8MCkqMUUzLG4udGlsZUNvbnRleHQpfTsKZy5ZJEM9ZnVuY3Rpb24obixXKXt2YXIgRD0iIixiPVtdO2ZvcihsZXQgW3Ysa11vZiBuLk4uZW50cmllcygpKXtsZXQgaD12LHg9azt4Py5zdGFydFRpbWVTZWNzPD1XJiZXPD14Py5zdGFydFRpbWVTZWNzK3g/LkNmJiZiLnB1c2goaCk7RCs9YCR7aH06JHt4Py5zdGFydFRpbWVTZWNzLnRvRml4ZWQoMyl9OiR7eD8uQ2YudG9GaXhlZCgzKX07YH1iLmxlbmd0aD09PTAmJihXPXtub19jaWQ6MSxtdDpXLnRvRml4ZWQoMyksYWRDb25maWdNYXA6RC5zdWJzdHJpbmcoMCwxMDI0KX0sbi5wb2xpY3kuRlImJm4uVSgiY2xzZGFpIixXKSk7cmV0dXJuIGJ9OwpIZVU9ZnVuY3Rpb24obixXLEQ9ITEpe0QmJihuLlY9ITApOysrbi5qO0Q9NkU0KjIqKm4uajtEPSgwLGcuUikoKStEO24uVy5zZXQoVy5pbmZvLmlkLEQpfTsKd0M9ZnVuY3Rpb24obil7Zm9yKGxldCBbVyxEXW9mIG4uVy5lbnRyaWVzKCkpe2xldCBiPVc7RDwoMCxnLlIpKCkmJm4uVy5kZWxldGUoYil9cmV0dXJuIG4uV307ClJxPWZ1bmN0aW9uKG4sVyl7bi5OPVc7dmFyIEQ9bi5LLnZpZGVvSW5mb3M7aWYoIW4uTi5pc0xvY2tlZCgpKXtsZXQgaz0oMCxnLlIpKCk7RD1nLkVNKEQsZnVuY3Rpb24oaCl7aWYoaC5Ocz50aGlzLnBvbGljeS5OcylyZXR1cm4hMTt2YXIgeD10aGlzLkt1Lk5baC5pZF07cmV0dXJuIHdDKHRoaXMuaikuZ2V0KGguaWQpPmt8fHguWGIuSj40fHx4LkZGPjQ/ITE6dGhpcy50dy5oYXMoK2guaXRhZyk/ITE6ITB9LG4pOwpuLmoubGwoKSYmKEQ9Zy5FTShELGg9PmgudmlkZW8ud2lkdGg8PTg1NCYmaC52aWRlby5oZWlnaHQ8PTQ4MCkpfUQubGVuZ3RofHwoRD1uLksudmlkZW9JbmZvcyk7CnZhciBiPUQ7bi5wb2xpY3kuUm8mJihiPWZRaChuLGIsVykpO2I9Zy5FTShiLFcuWCxXKTtpZihuLk4uaXNMb2NrZWQoKSYmbi5qLk4pe3ZhciB2PWcubF8oRCxrPT5rLmlkPT09bi5qLk4pOwp2P2I9W3ZdOm4uRGUoIiIpfW4ucG9saWN5LlJvfHwoYj1mUWgobixiLFcpKTtiLmxlbmd0aHx8KGI9W0RbMF1dKTtiLnNvcnQoKGssaCk9Pk1xKG4sayktTXEobixoKSk7CmZvcihXPTE7VzxiLmxlbmd0aDtXKyspRD1iW1ctMV0sdj1iW1ddLEQudmlkZW8ud2lkdGg+di52aWRlby53aWR0aD8oZy5CTShiLFcpLFctLSk6TXEobixEKSpuLnBvbGljeS5LPk1xKG4sdikmJihnLkJNKGIsVy0xKSxXLS0pO1c9YltiLmxlbmd0aC0xXTtuLkR0PSEhbi5XJiYhIW4uVy5pbmZvJiZuLlcuaW5mby5JQiE9PVcuSUI7bi5YPWI7bi5lJC5jbGVhcigpO0Q9ITE7Zm9yKHY9MDt2PGIubGVuZ3RoO3YrKylEP24uZSQuYWRkKGJbdl0uaXRhZyk6Ylt2XS52aWRlby5xdWFsaXR5T3JkaW5hbD49MTA4MCYmKEQ9ITApO0prQyhuLnBvbGljeSxXLG4uS3UuelcpfTsKSVExPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9saWN5LmNKLEQ9Tlcobi5JZykvVy1NcShuLG4uSi5pbmZvKTtXPWcuVDQobi5YLGZ1bmN0aW9uKGIpe3JldHVybiBNcSh0aGlzLGIpPER9LG4pOwpXPDAmJihXPTApO24udmlkZW9JbmRleD1XO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdfTsKUyRoPWZ1bmN0aW9uKG4pe24uUyQ/bi5TJD0hMTpuLlk9KDAsZy5SKSgpO24uRD0hMTtuLlZRPSExO3JldHVybiBuZXcgUUIobi5WLG4uVyxuLk4ucmVhc29uKX07Cm02dz1mdW5jdGlvbihuLFcsRCl7UnEobixXKTt2YXIgYj1uLmo7Vz1iLlguSjtEPWJZKFcse2dPOmIucG9saWN5LmdPLGo5OmIucG9saWN5Lmo5LGxhbmd1YWdlSWQ6RH0pO24uSj1uLkt1Lk5bKEQubGVuZ3RoPjA/RFswXTpXWzBdKS5pZF07VkIobik7bi5WPW4uSjtJUTEobik7bi5UQy5sZW5ndGgmJihuLm5leHRWaWRlbz1Ba00obixuLm5leHRWaWRlbyxuLksudmlkZW9JbmZvcyksbi5KPUFrTShuLG4uSixuLksuSikpO24uVz1uLm5leHRWaWRlbztuLlY9bi5KO3JldHVybiBTJGgobil9OwpLJGo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmVxdWFscyhXKSYmKCFuLmouTnx8IW4uTi5pc0xvY2tlZCgpfHxuLm5leHRWaWRlbz8uaW5mby5pZD09PW4uai5OKX07ClZCPWZ1bmN0aW9uKG4pe2lmKCFuLkp8fCFuLnBvbGljeS5KJiYhbi5KLmluZm8ua1ope3ZhciBXPW4uSy5KO24uSiYmKFc9YlkoVyx7bGFuZ3VhZ2VJZDpuLkouaW5mby5rWj8uaWQsZ086bi5wb2xpY3kuZ08sajk6bi5wb2xpY3kuajl9KSxXLmxlbmd0aHx8KFc9bi5LLkopKTtuLko9bi5LdS5OW1dbMF0uaWRdO2lmKFcubGVuZ3RoPjEmJiFuLnBvbGljeS5IaSl7aWYoIW4ucG9saWN5LnRHKXt2YXIgRD1nLmxfKFcsYj0+Yi5hdWRpby5hdWRpb1F1YWxpdHkhPT0iQVVESU9fUVVBTElUWV9ISUdIIik7CkQmJihuLko9bi5LdS5OW0QuaWRdKX1EPSExO2lmKEQ9bi5wb2xpY3kuWSQ/ITA6bi5OLmlzTG9ja2VkKCk/bi5OLk48MjQwOk9laShuLG4uSikpbi5KPW4uS3UuTltnLlVNKFcpLmlkXX19fTsKY3A9ZnVuY3Rpb24obil7aWYoIW4ubmV4dFZpZGVvfHwhbi5wb2xpY3kuSilpZihuLk4uaXNMb2NrZWQoKSluLm5leHRWaWRlbz1uLk4uTjw9MzYwP24uS3UuTltuLlhbMF0uaWRdOm4uS3UuTltnLlVNKG4uWCkuaWRdO2Vsc2V7Zm9yKHZhciBXPU1hdGgubWluKG4udmlkZW9JbmRleCxuLlgubGVuZ3RoLTEpLEQ9Tlcobi5JZyksYj1NcShuLG4uSi5pbmZvKSx2PUQvbi5wb2xpY3kuY0otYjtXPjAmJiEoTXEobixuLlhbV10pPD12KTtXLS0pO2ZvcihEPUQvbi5wb2xpY3kuSy1iO1c8bi5YLmxlbmd0aC0xJiYhKE1xKG4sbi5YW1crMV0pPj1EKTtXKyspO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdO24udmlkZW9JbmRleD1XfX07ClBDMj1mdW5jdGlvbihuLFcpe2lmKFcuUEouaW5mby52aWRlbyYmVy5hWil7bGV0IEQ9KFcuTitXLkopL1cuVyxiPVcuUEouaW5mby5OcztEJiZiJiYobi5udS5JSSgxLEQvYiksbi5wb2xpY3kuVyYmRC9iPjEuNSYmbi5sb2FkZXIuVSgib3ZlcnNob290Iix7c3E6Vy5qJCxicjpELG1heDpifSkpfX07CmFxPWZ1bmN0aW9uKG4sVyxEPSExKXtIZVUobi5qLFcsRCk7bi5ZPS0xO1JxKG4sbi5OKX07Clpldz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgUUIobi5WLG4uVyxXfHxuLk4ucmVhc29uKX07Ck1xPWZ1bmN0aW9uKG4sVyl7aWYoIW4uYmRbVy5pZF0pe3ZhciBEPW4uS3UuTltXLmlkXS5pbmRleC5YZChuLmNKLDE1KTtEPVcuWG4mJm4uVyYmbi5XLmluZGV4LmlzTG9hZGVkKCk/RHx8Vy5YbjpEfHxXLk5zO24uYmRbVy5pZF09RH1EPW4uYmRbVy5pZF07bi5lJC5oYXMoVy5pdGFnKSYmKEQqPTEuNSk7cmV0dXJuIEQqPU1hdGgubWF4KDEsbi5udS5MZygpfHwwKX07ClU2Qz1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBvZiBXKXtpZighYnx8IWIudmlkZW8pY29udGludWU7Vz1iLnZpZGVvLnF1YWxpdHlPcmRpbmFsO2xldCB2PURbV10saz12JiZ2Lk1XKCkmJnYudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5wb2xpY3kublMsaD1XPD1uLnBvbGljeS5uUz9iLk1XKCk6Yi5YKCk7aWYoIXZ8fGt8fGgpRFtXXT1ifXJldHVybiBEfTsKZlFoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1ELnJlYXNvbj09PSJtInx8RC5yZWFzb249PT0icyI7bi5wb2xpY3kuUnEmJm5yJiZnLkduJiYoIWJ8fEQuTjwxMDgwKSYmKFc9Vy5maWx0ZXIodj0+di52aWRlbyYmKCF2Lmp8fHYuai5wb3dlckVmZmljaWVudCkpKTsKaWYoVy5sZW5ndGg+MClpZihWVCgpKXtsZXQgdj1VNkMobixXKTtXPVcuZmlsdGVyKGs9PiEhayYmISFrLnZpZGVvJiZrLklCPT09dltrLnZpZGVvLnF1YWxpdHlPcmRpbmFsXS5JQil9ZWxzZXtsZXQgdj1XWzBdPy52aWRlbz8ucXVhbGl0eU9yZGluYWw7CmlmKHYpe0Q9Vy5maWx0ZXIoaD0+ISFoJiYhIWgudmlkZW8mJmgudmlkZW8ucXVhbGl0eU9yZGluYWw9PT12KTsKbGV0IGs9VTZDKG4sRClbdl0uSUI7Vz1XLmZpbHRlcihoPT4hIWgmJiEhaC52aWRlbyYmaC5JQj09PWspfX1yZXR1cm4gV307Ck9laT1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wO0QrMTxuLlgubGVuZ3RoJiZuLlhbRF0udmlkZW8ucXVhbGl0eT09PSJ0aW55IjspRCsrO3ZhciBiPU5XKG4uSWcpL24ucG9saWN5Lks7cmV0dXJuIE1xKG4sVy5pbmZvKStNcShuLG4uWFtEXSk+Yn07CkFrTT1mdW5jdGlvbihuLFcsRCl7aWYoVy5pbmZvLklCPT09ImYifHxuLlRDLmluY2x1ZGVzKGN3KFcsbi5LdS56VykpKXJldHVybiBXO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKXtsZXQgdj1uLkt1Lk5bRFtiXS5pZF07aWYoIW4uVEMuaW5jbHVkZXMoY3codixuLkt1LnpXKSkpY29udGludWU7bGV0IGs9Vy5pbmZvLklCLGg9di5pbmZvLklCO2lmKGs9PT1ofHxWVCgpKXtpZihXLmluZm8udmlkZW8/Vy5pbmZvLkohPT12LmluZm8uSjpXLmluZm8ua1o/LmlkIT09di5pbmZvLmtaPy5pZHx8YXkoVy5pbmZvKSE9PWF5KHYuaW5mbyl8fFZFKFcuaW5mbykhPT1WRSh2LmluZm8pKXJldHVybiBXNihuLHttaXNtYXRjaDoieHRhZyIsZjpXLmluZm8uaWQsdDp2LmluZm8uaWR9KSxXO1c2KG4se2Y6Vy5pbmZvLml0YWcsdDp2LmluZm8uaXRhZ30pO24uUyQ9ITA7cmV0dXJuIHZ9VzYobix7bWlzbWF0Y2g6ImVmZmljaWVudCIsZmM6ayx0YzpofSl9VzYobix7bWlzbWF0Y2g6InVuc2VsZWN0YWJsZSIsCmZtdHM6bi5UQy5qb2luKCIuIil9KTtyZXR1cm4gV307Clc2PWZ1bmN0aW9uKG4sVyl7bi5wb2xpY3kuRUQ/bi5sb2FkZXIuaGFuZGxlRXJyb3IoIm9uZXNpZS5mbXQubWlzbWF0Y2giLFcsMCk6bi5sb2FkZXIuVSgib21iaWZhIixXKX07Cnlrcj1mdW5jdGlvbihuLFcpe249cWMobi5LdS5OLEQ9PkQuaW5mby5pdGFnPT09Vyk7CmlmKCFuKXRocm93IEVycm9yKCJJdGFnICIrVysiIGZyb20gc2VydmVyIG5vdCBrbm93bi4iKTtyZXR1cm4gbn07CkVqWj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLk4ucmVhc29uPT09Im0ifHxuLk4ucmVhc29uPT09InMiKXJldHVybiBXO2lmKEl0aShuLkt1KSl7Zm9yKGxldCBEPU1hdGgubWF4KDAsbi52aWRlb0luZGV4LTIpO0Q8bi52aWRlb0luZGV4JiZEPG4uWC5sZW5ndGg7RCsrKVcucHVzaChuLlhbRF0uaXRhZyk7Vy5yZXZlcnNlKCl9cmV0dXJuIFd9OwppZWk9ZnVuY3Rpb24obixXKXtuLkRrKCJpc21wX3AiKTtuLko9V307CnU5VT1mdW5jdGlvbihuKXtuLk4mJihuLk4uZGlzcG9zZSgpLG4uRGsoImlzbXBfZCIpKX07Cm9qdz1mdW5jdGlvbih7dEk6bj0hMSxzSjpXPSExLGU0OkQ9ITF9PXt9KXtyZXR1cm4gbj9EPzM6MjpXPy0xOjF9OwpEZD1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1uLnRyYWNrLlFFO2lmKHYpe3Y9di5aRigpO2Zvcih2YXIgaz0wO2s8di5sZW5ndGg7aysrKWIucHVzaChNYXRoLnJvdW5kKHYuc3RhcnQoaykqMUUzKSksYi5wdXNoKE1hdGgucm91bmQodi5lbmQoaykqMUUzKSl9dj0xO2s9Yi5sZW5ndGg7aWYoaz09PW4uYnVmZmVyZWQubGVuZ3RoKXtmb3IodmFyIGg9MDtoPD1rJiZiW2hdPT09bi5idWZmZXJlZFtoXTtoKyspO2g+az92PTA6YltoXT5uLmJ1ZmZlcmVkW2hdJiYoaD09PWstMT92PTI6aD09PWstMiYmYltoKzFdPm4uYnVmZmVyZWRbaCsxXSYmKHY9MykpfW4uTi5hZGQoVzw8M3woRCYmNCl8dik7Vz1NYXRoLmNlaWwobi50cmFjay5sNSgpKjFFMyk7bi5OLmFkZChXLW4uaik7bi5qPVc7aWYodj09PTEpZm9yKG4uTi5hZGQoayksVz0wLGg9MDtoPGs7aCsrKW4uTi5hZGQoYltoXS1XKSxXPWJbaF07dj09PTMmJm4uTi5hZGQoYltrLTJdLW4uYnVmZmVyZWRbay0yXSk7dj49MiYmbi5OLmFkZChiW2stCjFdLW4uYnVmZmVyZWRbay0xXSk7RCYmbi5OLmFkZChEKTtuLmJ1ZmZlcmVkPWJ9OwpUN2I9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5hWilyZXR1cm4gRC5sZW5ndGg9PT0wP0QucHVzaChiLmNsb25lKCkpOihuPShXPUQucG9wKCkpP2Q2cihuLFcsYik6bnVsbCk/RC5wdXNoKG4pOkQucHVzaChiLmNsb25lKCkpLHY7KEQ9KEQ9RC5wb3AoKSk/ZDZyKG4sRCxiKTpudWxsKXx8KEQ9Yik7aWYoRC5OKXJldHVybiBuLmxvZ2dlciYmbi5sb2dnZXIoe2luY29tcGxldGVTZWdtZW50OkQuZ2EoKX0pLHY7dmFyIHtmb3JtYXRJZDprLGokOmgsc3RhcnRUaW1lTXM6eCxjbGlwSWQ6TCxyOTplfT17Zm9ybWF0SWQ6Zy5WZihELlBKLmluZm8sbi5LdS56VyksaiQ6RC5qJCtuLlgsc3RhcnRUaW1lTXM6RC5zZWdtZW50U3RhcnRUaW1lKjFFMyxjbGlwSWQ6RC5jbGlwSWQscjk6RC5XKjFFM307Yj17Y2xpcElkOkwsZm9ybWF0SWQ6ayxzdGFydFRpbWVNczp4LGR1cmF0aW9uTXM6ZSxBQzpoLGk5Omh9O3Y9ejdVKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRzsKaWYoRz1EKXtHPWI7dmFyIHI9dixOPUQuc3RhcnRUaW1lTXMrRC5kdXJhdGlvbk1zLEg9Ry5zdGFydFRpbWVNcytHLmR1cmF0aW9uTXM7aWYoRy5zdGFydFRpbWVNcy1OPm4uTilHPSExO2Vsc2UgaWYobFFoKG4sRC5mb3JtYXRJZCxHLmZvcm1hdElkKSlELmR1cmF0aW9uTXM9TWF0aC5tYXgoTixIKS1ELnN0YXJ0VGltZU1zLEQuaTk9TWF0aC5tYXgoRC5pOSxHLmk5KSxHPSEwO2Vsc2UgaWYoTWF0aC5hYnMoRC5zdGFydFRpbWVNcy1HLnN0YXJ0VGltZU1zKTw9bi5OKWlmKEQuZHVyYXRpb25Ncz5HLmR1cmF0aW9uTXMrbi5OKXtyPUQuZm9ybWF0SWQ7dmFyIEE9RC5BQyx5PUQuaTk7RC5mb3JtYXRJZD1HLmZvcm1hdElkO0QuZHVyYXRpb25Ncz1HLmR1cmF0aW9uTXM7RC5BQz1HLkFDO0QuaTk9Ry5pOTtHLmZvcm1hdElkPXI7Ry5zdGFydFRpbWVNcz1IO0cuZHVyYXRpb25Ncz1OLUg7Ry5BQz1BO0cuaTk9eTtHPSExfWVsc2UgRC5mb3JtYXRJZD1HLmZvcm1hdElkLEc9ITA7ZWxzZSBOPgpHLnN0YXJ0VGltZU1zJiYoTj5IJiYoVy5zcGxpY2UocisxLDAse2Zvcm1hdElkOkQuZm9ybWF0SWQsc3RhcnRUaW1lTXM6SCxkdXJhdGlvbk1zOk4tSCxBQzpHLmk5KzEsaTk6RC5pOX0pLG4ubG9nZ2VyJiZuLmxvZ2dlcih7c3BsaXRPbGRTdGFydDpELnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0T2xkRW5kOk4/LnRvRml4ZWQoMyksc3BsaXROZXdTdGFydDpHLnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0TmV3RW5kOkg/LnRvRml4ZWQoMyl9KSksRC5kdXJhdGlvbk1zPUcuc3RhcnRUaW1lTXMtRC5zdGFydFRpbWVNcyxELmk5PUcuQUMtMSksRz0hMX1HP2I9RDoodis9MSxXLnNwbGljZSh2LDAsYikpO0Q9MDtmb3IoRz12KzE7RzxXLmxlbmd0aDtHKyspe049bjtIPVdbR107cj1iO0E9SC5zdGFydFRpbWVNcytILmR1cmF0aW9uTXM7eT1yLnN0YXJ0VGltZU1zK3IuZHVyYXRpb25Nczt5Pj1BK04uTj9OPSEwOnkrTi5OPEguc3RhcnRUaW1lTXM/Tj0hMTpsUWgoTixILmZvcm1hdElkLApyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKZDZyPWZ1bmN0aW9uKG4sVyxEKXtpZighYlQoVyxEKXx8Vy5hWilyZXR1cm4gbnVsbDtQXyhXLEQsbi5wb2xpY3kuZUspO3JldHVybiBXfTsKejdVPWZ1bmN0aW9uKG4sVyl7bj1nLlc0KG4se3N0YXJ0VGltZU1zOld9LChELGIpPT5ELnN0YXJ0VGltZU1zLWIuc3RhcnRUaW1lTXMpOwpyZXR1cm4gbj49MD9uOi1uLTJ9OwpqU1o9ZnVuY3Rpb24obixXLEQpe2lmKG4ubG9nZ2VyKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XTtrLkVqPy5zdGFydFRpY2tzJiZiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X3Bzc3QuJHtrLkVqPy5zdGFydFRpY2tzfV9wc2QuJHtrLkVqPy5sOH1gKTtiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9bi5sb2dnZXIoe3A6YCR7RH1gLGJyOmIuam9pbigiOyIpfSl9fTsKYlM9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4uUUUpe3ZhciBiPW4uUUUuWkYoKTtpZihiLmxlbmd0aCE9PTApe2lmKG4uVyYmVyl7dmFyIHY9bi5XLGs9di5YOyFCUihiLGspJiZ2Lks+MCYmKDAsZy5SKSgpLW4uSzw1RTMmJihuLmxvZ2dlciYmbi5sb2dnZXIoe2RlbmQ6di5nYSgpfSksYj1qRyhiLGssaysuMDEpKX12PVtdO2Zvcih2YXIgaD1rPTA7azxiLmxlbmd0aCYmaDxuLmVXLmxlbmd0aDspe3ZhciB4PWIuc3RhcnQoayk7bGV0IE49Yi5lbmQoayk7dmFyIEw9bi5lV1toXS5zdGFydFRpbWVNcy8xRTM7bGV0IEg9KG4uZVdbaF0uc3RhcnRUaW1lTXMrbi5lV1toXS5kdXJhdGlvbk1zKS8xRTM7aWYoTDw9TiYmSD49eCl7bGV0IEE9ey4uLm4uZVdbaF19O3ZhciBlPW4uS3UuSi5nZXQoTWsobi5lV1toXS5mb3JtYXRJZCkpLEc9TWF0aC5tYXgoTCx4KTt4PWUuaW5kZXguUjMoRytuLk4vMUUzKTtMPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHgpO3ZhciByPXgrICsoTWF0aC5hYnMoTC1HKT4Kbi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uV3x8MTE7IUQmJmg9PT1uLkomJk48SCYmSC1OPD14KjEuMDEmJiEobi5wb2xpY3kuU3cmJm4uUUUmJm4uUUUueXUoKSkmJihOPUgpO3g9TWF0aC5taW4oSCxOKTtMPWUuaW5kZXguUjMoeC1uLk4vMUUzKTtHPWUuaW5kZXguakUoTCk7TC09KyhNYXRoLmFicyhHLXgpPm4uTi8xRTMpO3g9TCtuLlg7ZT1lLmluZGV4LmpFKEwpKjFFMztBLmk5PXg7QS5kdXJhdGlvbk1zPWUtQS5zdGFydFRpbWVNcztBLkFDPD1BLmk5JiZ2LnB1c2goQSl9SDxOP2grPTE6ays9MX1uLmVXPXZ9fX07CkNDTT1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPW4uTTcubWFwKGs9PmsuY2xvbmUoKSk7Cm4uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5ELmYzKCksdj1uLko7Zm9yKGxldCBrIG9mIGIpdj1UN2IobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLE03OkR9fTsKbFFoPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gVy5pdGFnIT09RC5pdGFnfHxXLnh0YWdzIT09RC54dGFncz8hMTpuLkt1LnpXfHxXLmxtdD09PUQubG10fTsKdjY9ZnVuY3Rpb24obil7cmV0dXJue2Rvd25sb2FkZWRFbmRUaW1lOk1hdGgucm91bmQobi5kSD9uLmRILmo6MCksbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19Owp4Qz1mdW5jdGlvbihuLFc9ITEpeyFXfHxuLmluZGV4UmFuZ2UmJm4uaW5pdFJhbmdlJiZuLmRIfHxrQyhuLG5ldyBoMCgiV29mZmxlOiBFeHBlY3QgaXNGaW5hbCB0byBhbHdheXMgaGF2ZSBpbmRleFJhbmdlIGFuZCBpbml0UmFuZ2UgYW5kIGxhc3RTbGljZSIpKTtXPXtsbXQ6bi5OLmluZm8ubGFzdE1vZGlmaWVkLGRvY2lkOm4ucG9saWN5LkosZm10aWQ6bi5OLmluZm8uaWQsdHlwZTpuLk4uaW5mby5taW1lVHlwZS5zcGxpdCgiOyIpWzBdLGNzejpuLmNodW5rU2l6ZSxjbGVuOm4uVypuLmNodW5rU2l6ZStuLkp9O24uY3J5cHRvJiYoVy5jaz1uLlksVy5jaXY9bi5LKTtXPSJsb2NhbDovL2xvY2FsaG9zdC92aWRlb3BsYXliYWNrPyIrZy5FdChXKTtXPXtpdGFnOituLk4uaW5mby5pdGFnLG1pbWVUeXBlOm4uTi5pbmZvLm1pbWVUeXBlLGJpdHJhdGU6bi5OLmluZm8uTnMqOCxsYXN0TW9kaWZpZWQ6U3RyaW5nKG4uTi5pbmZvLmxhc3RNb2RpZmllZCksaW5pdFJhbmdlOm4uaW5pdFJhbmdlPy5OKCksCmluZGV4UmFuZ2U6bi5pbmRleFJhbmdlPy5OKCksdXJsOld9O3ZhciBEPW4uTi5pbmZvLko7RCYmKFcueHRhZ3M9RCk7aWYoRD1uLk4uaW5mby52aWRlbylpZihXLnF1YWxpdHk9RC5xdWFsaXR5LFcucXVhbGl0eUxhYmVsPUQucXVhbGl0eUxhYmVsLFcud2lkdGg9RC53aWR0aCxXLmhlaWdodD1ELmhlaWdodCxEPUQuZnBzKVcuZnBzPUQ7aWYobj1uLk4uaW5mby5hdWRpbyl7aWYoRD1uLnNhbXBsZVJhdGUpVy5hdWRpb1NhbXBsZVJhdGU9U3RyaW5nKEQpO2lmKG49bi5udW1DaGFubmVscylXLmF1ZGlvQ2hhbm5lbHM9bn1yZXR1cm4gV307CkxyPWZ1bmN0aW9uKG4sVyxEPSExKXtXLnRoZW4oYj0+e24uTy5kZWxldGUoVyk7KER8fGI9PT00KSYmbi5WLnJlc29sdmUoYil9LGI9PntuLlYucmVqZWN0KGIpfSl9OwplcT1mdW5jdGlvbihuKXtyZXR1cm4hIW4uZEgmJm4uZEguVigpfTsKa0M9ZnVuY3Rpb24obixXKXtlJChuLnBvbGljeS5KKSE9PTQmJihnNihuLnBvbGljeS5KLDQpLGcuR3EoVyksbi5WLnJlamVjdChuZXcgaDAoVy5tZXNzYWdlKSkpfTsKQjdiPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPXRSKFcuSik7aWYobi5XPG4uWCl7RD1uLlgqbi5jaHVua1NpemUtKChXLmluZm8ucmFuZ2U/LnN0YXJ0fHwwKStXLmluZm8uTik7aWYoRD49Yi5sZW5ndGgpcmV0dXJuO2lmKEQ8MCl0aHJvdyBFcnJvcigiTWlzc2luZyBkYXRhIik7bi5XPW4uWDtuLko9MH1mb3IoO0Q8Yi5sZW5ndGg7KXt2YXIgdj1NYXRoLm1pbihiLmxlbmd0aC1ELG4uai5ieXRlTGVuZ3RoLW4uSik7bGV0IGs9bmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0K0Qsdik7bi5qLnNldChrLG4uSik7bi5KKz12O0QrPXY7aWYobi5KPT09bi5qLmxlbmd0aCl7aWYoVy5pbmZvPT09bi5kSCYmZXEobikmJkQ9PT1iLmxlbmd0aClicmVhazt2PXY2KG4pO3Y9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSx2LG4ucG9saWN5LmJkLG4uVyxuLmosbi5jcnlwdG8pO24uTy5hZGQodik7THIobix2KTtuLnFOKCl8fCh2PXY2KG4pLG4uYmQoeEMobiksdiE9PXZvaWQgMD8KKHYuZG93bmxvYWRlZEVuZFRpbWV8fDApKnYuYXZlcmFnZUJ5dGVSYXRlOnYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlLHYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlKSk7bi5qPW5ldyBVaW50OEFycmF5KG4uY2h1bmtTaXplKTtuLko9MDtuLlcrPTF9fX07CndTVT1mdW5jdGlvbihuKXtpZihlcShuKSlpZihuLmRIJiZuLmluZGV4UmFuZ2UpaWYobi5KKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmouYnVmZmVyLDAsbi5KKSxEPUYkeChuKSxiPW4ucG9saWN5Lko7UHJvbWlzZS5hbGwobi5PKS50aGVuKCgpPT57dmFyIHY9dHgoYixuLmRILlBKLmluZm8seEMobiwhMCksRCxuLnBvbGljeS5iZCxuLlcsVyxuLmNyeXB0byk7THIobix2LCEwKX0pfWVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGFsd2F5cyByZS1tYXJrIGN1cnJlbnRDaHVua09mZnNldCBhdCBFT1MiKSk7CmVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGF0IEVPUyB0byBhbHdheXMgaGF2ZSBsYXN0U2xpY2Ugb3IgaW5kZXhSYW5nZSIpKX07Cmd1PWZ1bmN0aW9uKG4sVyl7aWYoIWVxKG4pJiYhbi5xTigpKXtpZighKG4udHd8fChuLnR3PSEwLG4uWD4wKSkpe3ZhciBEPXY2KG4pO0Q9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSxELG4ucG9saWN5LmJkKTtMcihuLEQpfWlmKFcuaW5mby50eXBlPT09MSl7aWYobi5kSCl7a0MobixFcnJvcigiV29mZmxlOiBFeHBlY3QgSU5JVCBzbGljZXMgdG8gYWx3YXlzIHN0YXJ0IHVzIG9mZiIpKTtyZXR1cm59bi5pbml0UmFuZ2U9V18oMCxXLkoudG90YWxMZW5ndGgpfWVsc2UgaWYoVy5pbmZvLnR5cGU9PT0yKW4uZEgmJm4uZEgudHlwZT09PTF8fGtDKG4sRXJyb3IoIldvZmZsZTogSW5kZXggYmVmb3JlIGluaXQiKSksbi5pbmRleFJhbmdlPVdfKG4uaW5pdFJhbmdlLmVuZCsxLFcuSi50b3RhbExlbmd0aCk7ZWxzZSBpZihXLmluZm8udHlwZT09PTMpe2lmKCFuLmRIKXtrQyhuLEVycm9yKCJXb2ZmbGU6IEV4cGVjdCBNRURJQSBzbGljZXMgdG8gYWx3YXlzIGhhdmUgbGFzdFNsaWNlIikpOwpyZXR1cm59aWYobi5kSC50eXBlPT09MyYmIWJUKG4uZEgsVy5pbmZvKSYmKG4uRD1bXSxXLmluZm8uaiQhPT1nayhuLmRIKXx8Vy5pbmZvLk4hPT0wKSlyZXR1cm47aWYoVy5pbmZvLmFaKXtmb3IobGV0IGIgb2Ygbi5EKUI3YihuLGIpO24uRD1bXX1lbHNle24uRC5wdXNoKFcpO24uZEg9Vy5pbmZvO3JldHVybn19ZWxzZXtrQyhuLEVycm9yKCJXb2ZmbGU6IFVuZXhwZWN0ZWQgc2xpY2UgdHlwZSIpKTtyZXR1cm59bi5kSD1XLmluZm87QjdiKG4sVyk7d1NVKG4pfX07CkYkeD1mdW5jdGlvbihuKXtyZXR1cm57ZG93bmxvYWRlZEVuZFRpbWU6LTEsbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19OwpNdlM9ZnVuY3Rpb24obil7bj1nLmVQKG4sMTg4NjYxNDM3Nik7Zm9yKGxldCBXIG9mIG4pO3JldHVybiBnLmlfKG4sVz0+b3IoVykpfTsKUjdVPWZ1bmN0aW9uKG4pe3ZhciBXPWcudV8obiwoYix2KT0+Yit2Lmxlbmd0aCwwKTsKVz1uZXcgVWludDhBcnJheShXKTt2YXIgRD0wO2ZvcihsZXQgYiBvZiBuKVcuc2V0KGIsRCksRCs9Yi5sZW5ndGg7cmV0dXJuIFd9OwpWdnQ9ZnVuY3Rpb24obil7YTp7dmFyIFc9bi5pbml0RGF0YTt0cnl7dmFyIEQ9MDtsZXQgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIpO2Zvcig7RDx2LmJ5dGVMZW5ndGgtODspe2xldCBrPXYuZ2V0VWludDMyKEQpO2lmKGs8PTEpYnJlYWs7aWYodi5nZXRVaW50MzIoRCs0KSE9PTE4ODY2MTQzNzYpe0QrPWs7Y29udGludWV9bGV0IGg9MzI7aWYodi5nZXRVaW50OChEKzgpPjApe2xldCBMPXYuZ2V0VWludDMyKEQrMjgpO2grPUwqMTYrNH1sZXQgeD12LmdldFVpbnQzMihEK2gtNCk7dHJ5e2xldCBMPVFTeChXLnN1YmFycmF5KEQraCxEK2greCkpO2lmKEwhPT1udWxsKXt2YXIgYj1MO2JyZWFrIGF9fWNhdGNoKEwpe31EKz1rfWI9bnVsbDticmVhayBhfWNhdGNoKHYpe2I9bnVsbDticmVhayBhfWI9dm9pZCAwfWlmKGIhPW51bGwpe1c9dTQoaVcoYiw3LHZvaWQgMCxmbikpO1c9PW51bGx8fG4ucUh8fChuLmNyeXB0b1BlcmlvZEluZGV4PVcpO1c9dTQoaVcoYiwxMCx2b2lkIDAsZm4pKTsKVyE9bnVsbCYmVz4wJiYhbi5xSCYmKG4uTj1XKTtmb3IobGV0IHYgb2YgZy5CSChiLDIsTUUsdm9pZCAwPT09RyQ/Mjo0KSliPW4uSixXPWIucHVzaCxEPVZsKHYpLEQ9Zy5FQShELDQpLFcuY2FsbChiLEQpfX07CmNraj1mdW5jdGlvbihuKXtyZXR1cm4gaXNOYU4obi5jcnlwdG9QZXJpb2RJbmRleCk/Zy5FQShuLmluaXREYXRhKTpgJHtuLmNyeXB0b1BlcmlvZEluZGV4fWB9OwpYMD1mdW5jdGlvbihuKXtpZihuLm9mZnNldD49bi5KLnRvdGFsTGVuZ3RoKXRocm93IEVycm9yKCk7cmV0dXJuIHJkKG4uSixuLm9mZnNldCsrKX07CmFRUz1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPVgwKG4pO2lmKEQ9PT0xKXtXPS0xO2ZvcihEPTA7RDw3O0QrKyl7dmFyIGI9WDAobik7Vz09PS0xJiZiIT09MjU1JiYoVz0wKTtXPi0xJiYoVz1XKjI1NitiKX1yZXR1cm4gV31iPTEyODtmb3IobGV0IHY9MDt2PDYmJmI+RDt2KyspRD1EKjI1NitYMChuKSxiKj0xMjg7cmV0dXJuIFc/RDpELWJ9OwpuZng9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWFRUyhuLCEwKSxEPWFRUyhuLCExKTtyZXR1cm57aWQ6VyxzaXplOkR9fWNhdGNoKFcpe3JldHVybntpZDotMSxzaXplOi0xfX19OwpETjE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW5ldyBXeWoobiksRD0tMSxiPTAsdj0wOyFifHwhdjspe2xldCB7aWQ6ayxzaXplOmh9PW5meChXKTtpZihrPDApcmV0dXJuO2lmKGs9PT0xNzYpe2lmKGghPT0yKXJldHVybjtiPVcuTigpfWVsc2UgaWYoaz09PTE4Nil7aWYoaCE9PTIpcmV0dXJuO3Y9Vy5OKCl9az09PTM3NDY0ODQyNz9EPVcuTigpK2g6ayE9PTQwODEyNTU0MyYmayE9PTE3NCYmayE9PTIyNCYmVy5za2lwKGgpfVc9JE0obiwwLEQpO0Q9bmV3IERhdGFWaWV3KFcuYnVmZmVyKTtELnNldFVpbnQxNihiLDM4NDApO0Quc2V0VWludDE2KHYsMjE2MCk7Yj1uZXcgUzUoW1ddKTtlNShiLG4pO3JldHVybiBifTsKYndDPWZ1bmN0aW9uKCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTY0RTQpO2ZvcihsZXQgVz0wO1c8bi5sZW5ndGg7Vys9NjU1MzYpY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuLnN1YmFycmF5KFcsTWF0aC5taW4oVys2NTUzNixuLmxlbmd0aCkpKTtuZXcgUzUoW25dKX07CnEyPWZ1bmN0aW9uKG4pe24uYm4/LmRpc3Bvc2UoKTtuLmJuPW51bGx9OwpHWj1mdW5jdGlvbihuLFcpe1c9e3JzdDRkaXNjOlcsY2Q6bi5UOC50b0ZpeGVkKDMpLHNxOm4ubTE/bi5tMS5qJDotMX07bi5acT1OYU47bi5UOD0wO24uc0w9LTE7bi5tMT1udWxsO24uaWg9TmFOO24uWXA9TmFOO24uU0Y9bnVsbDtuLmxvYWRlci5VKCJtZHN0bSIsVyl9Owp0MD1mdW5jdGlvbihuKXtuLmJSPW51bGw7bi5FZz0tMTtuLlZwPTA7bi5qaz1udWxsO24uTDE9TmFOO24uWUU9MDtuLkwyPW51bGx9OwokQz1mdW5jdGlvbihuLFcpe2lmKFcuaW5mby5hWil7bi5JOT1XLmluZm87aWYobi5qayl7dmFyIEQ9bi5qayxiPXZmdChuLCExKTtEPWtkVShEKTtuLmxvYWRlci5SMChuLlBKLGIsRCk7bi5wb2xpY3kuZUsmJlpKKFcuaW5mbyxiKTtuLkwyfHxuLnBvbGljeS5lVnx8bi5WaSgpO24uTDI9bnVsbH10MChuKX1uLmJuJiZndShuLmJuLFcpO2lmKGI9bi5XeCgpKWlmKGI9Yi5qKFcsbi5wb2xpY3kuQW0sbi5wb2xpY3kuZkIpKXtuLlZ3LnBvcCgpO24uVncucHVzaChiKTtyZXR1cm59bi5Wdy5wdXNoKFcpfTsKUUV3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5XUihXKTtpZihaTyhXLmluZm8uUEouaW5mbykmJlcuaW5mby5QSi5pbmZvLnZpZGVvLnByaW1hcmllcz09PSJidDIwMjAiKXt2YXIgYj1uZXcgdFkoRCk7JHgoYixbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0LDIxOTM2LDIxOTM3XSkmJihiPWIuc3RhcnQrYi5wb3MsRC5nZXRVaW50OChiKT09PTEyOSYmRC5nZXRVaW50OChiKzEpPT09MSYmRC5zZXRVaW50OChiKzEsOSkpfWI9Vy5pbmZvLlBKLmluZm87Yi5YKCkmJiFaTyhiKSYmKGI9Zy5XUihXKSwobmV3IHRZKGIpKS5PSigpLFl4KFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdLDIxOTM2LGIpKTtXLmluZm8uUEouaW5mby5mWSgpJiZRZihXLmluZm8uUEosRCk7Vy5pbmZvLlBKLmluZm8ucUgoKSYmVy5pbmZvLmZZKCkmJihEPWcuV1IoVyksKG5ldyB0WShEKSkuT0ooKSxZeChbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0XSwzMDMyMCxEKSYmWXgoWzQwODEyNTU0MywzNzQ2NDg0MjcsCjE3NCwyMjRdLDIxNDMyLEQpKTtpZihuLnBvbGljeS54MCYmVy5pbmZvLlBKLmluZm8ucUgoKSl7Yj1nLldSKFcpO3ZhciB2PW5ldyB0WShiKTtpZigkeCh2LFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyOTYzN10pKXtEPU5rKHYsITApO3Y9di5zdGFydCt2LnBvcztmb3IodmFyIGs9MDtrPEQtMTtrKyspYi5zZXRVaW50OCh2K2ssMCk7Yi5zZXRVaW50OCh2K0QtMSwxKX19aWYobi5lUygpJiZnLlJCKFcuaW5mby5QSi5pbmZvKSl7RD1nLldSKFcpO2I9Zy5ucyhELDAsMTcwMTYwNjI2MCk7RD1nLm5zKEQsMCwxODM2NDc2NTE2KTtpZihiJiZEKXtiLnNraXAoMik7dmFyIGg9VUQoYik7az1FRChiKTtsZXQgeD1bXTt2PVtdO2xldCBMPVtdLGU9W107aWYoaClmb3IoaD0wO2g8azsrK2gpeC5wdXNoKGkzKGIpKSx2LnB1c2goaTMoYikpLEwucHVzaChVRChiKSksZS5wdXNoKFVEKGIpKTtlbHNlIGZvcihoPTA7aDxrOysraCl4LnB1c2goeUwoYikpLHYucHVzaCh5TChiKSksTC5wdXNoKFVEKGIpKSwKZS5wdXNoKFVEKGIpKTtiPXg7RD1nLmJMKEQpO0Q9bmV3IFJlaCh2WzBdL0QsYlswXS9EKX1lbHNlIEQ9bnVsbDtpZih2PUQpe2lmKGcuUkIoVy5pbmZvLlBKLmluZm8pKWZvcihEPWcuV1IoVyksaz1nLm5zKEQsMCwxNzAxMDgyMjI3KTtrOyliPWssYi50eXBlPTE5MzY0MTkxODQsYi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpLGs9Zy5ucyhELGsub2Zmc2V0K2suc2l6ZSwxNzAxMDgyMjI3KTtuLmYwPSEwO1cuaW5mby5QSi5WPXZ9fVcuaW5mby5QSi5XKCl8fFcuaW5mby5QSi5KfHxXLmluZm8uUEouaW5kZXhSYW5nZXx8RE8oVyl9OwpWSHg9ZnVuY3Rpb24obixXKXtpZihuLmlzRHJtKCkpe2lmKFcuaW5mby5QSi5pbmZvLnFIKCkpe3ZhciBEPW5ldyB0WShnLldSKFcpKTtpZigkeChELFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyODAzMiwyNTE1MiwyMDUzMywxODQwMl0pKXt2YXIgYj1OayhELCEwKTtEPWIhPT0xNj9udWxsOlNQKEQsYil9ZWxzZSBEPW51bGw7Yj0id2VibSJ9ZWxzZSBXLmluZm8uTz1NdlMoZy5XUihXKSksRD1SN1UoVy5pbmZvLk8pLGI9ImNlbmMiO0QmJkQubGVuZ3RoJiYoRD1uZXcgcnUoRCxiKSxuLnBvbGljeS5QSCYmZy5SQihXLmluZm8uUEouaW5mbykmJihiPVpLWihnLldSKFcpKSkmJihELlVXPWIpLEQucUg9Vy5pbmZvLlBKLmluZm8ucUgoKSxXLk4mJlcuTi5jcnlwdG9QZXJpb2RJbmRleCYmKEQuY3J5cHRvUGVyaW9kSW5kZXg9Vy5OLmNyeXB0b1BlcmlvZEluZGV4KSxXLk4mJlcuTi5YJiYoRC5OPVcuTi5YKSxuLmxvYWRlci5XbihEKSl9fTsKY3JoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5iUjtXPU1hdGgubWluKFcsRC5KLnRvdGFsTGVuZ3RoKTtpZihXPT09RC5KLnRvdGFsTGVuZ3RoKXJldHVybiBuLmJSPW51bGwsRDtEPXZSKEQsVyk7bi5iUj1EWzFdO3JldHVybiBEWzBdfTsKRFgyPWZ1bmN0aW9uKG4sVyxEKXtpZihELmluZm8uUEouVygpKXtpZihuLmYwJiZhRXcoRCkpe1c9Zy5XUihEKTt2YXIgYj1nLm5zKFcsMCwxOTUzNjU4MjIyKTtpZihiKXtiLnNraXAoMSk7dmFyIHY9WmMoYik8PDE2fFVEKGIpLGs9diYxLGg9diY0O2lmKHYmMjU2KXtXPXYmNTEyO3ZhciB4PXYmMTAyNDt2Jj0yMDQ4O3ZhciBMPUVEKGIpO0w8Mnx8KGsmJmIuc2tpcCg0KSxoJiZiLnNraXAoNCksaz1FRChiKSxiLnNraXAoKEwtMSkqKDQrKFc/NDowKSsoeD80OjApKyh2PzQ6MCkpLTQpLGIuZGF0YS5zZXRVaW50MzIoYi5vZmZzZXQrYi5OLGspKX19fWlmKFc9bi5xOSYmbi5xOS5PNygpKWlmKFc9RC5pbmZvLmZZKCkpVz1YWihEKSx4PW4ucTksczQ/KGI9MS9XLFc9bi5WeihXKT49eC5WeigpK2IpOlc9bi5nZXREdXJhdGlvbigpPj14LmdldER1cmF0aW9uKCksVz0hVztXJiZhRXcoRCkmJihXPW4ucTksczQ/KGI9WFooRCkseD0xL2IsYj1uLlZ6KGIpLFc9Vy5WeigpK3gtYik6Vz1XLmdldER1cmF0aW9uKCktCm4uZ2V0RHVyYXRpb24oKSxXPTErVy9ELmluZm8uVyxXdyhnLldSKEQpLFcpKX1lbHNle2I9ITE7bi5qa3x8KEdpKEQpLEQuTiYmKG4uams9RC5OLGI9ITAsaz1ELmluZm8saD1ELk4uc2VnbWVudE51bWJlcixrLlk9InVwZGF0ZVdpdGhFbXNnIixrLmokPWgsaz1ELk4say5WJiZuLlBKLnR3KCFrLlYsImVtc2ciKSxrPUQuaW5mby5QSi5pbmZvLGg9Zy5XUihEKSxnLlJCKGspP0dqKGgsMTcwMTY3MTc4Myk6ay5xSCgpJiZZeChbNDA4MTI1NTQzXSwzMDc1NDQ5MzUsaCkpKTthOmlmKChrPWVHKEQsbi5wb2xpY3kuUFgpKSYmcSQoRCkpaD1uVHcobixEKSxuLlQ4Kz1oLGstPWgsbi5ZRSs9ayxuLlpxPW4ucG9saWN5LlNWP24uWnErazpOYU47ZWxzZXtpZihuLnBvbGljeS5Zcil7aWYoaD1MPW4ubG9hZGVyLnFhKGcua1goRCksMSksbi5acT49MCYmRC5pbmZvLnR5cGUhPT02KXtpZihuLnBvbGljeS5TViYmaXNOYU4obi5ZcCkpe2cuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcHJvY2Vzc2luZyBwcmV2aW91cyBjaHVuayIsCkQuaW5mby5nYSgpKSk7bi5sb2FkZXIuaXNPZmZsaW5lKCkmJiFuLnBvbGljeS5UUXx8V2paKG4sRCxoKTtHWihuLCJtIik7YnJlYWsgYX12PUwtbi5acTt2YXIgZT12LW4uVDg7bGV0IEc9RC5pbmZvLmokLHI9bi5tMT9uLm0xLmokOi0xLE49bi5paCxIPW4uWXAsQT1uLnBvbGljeS5RJCYmdj5uLnBvbGljeS5RJCx5PU1hdGguYWJzKGUpPjEwLFQ9TWF0aC5hYnMobi5acS1oKTwxRS03O2lmKE1hdGguYWJzKGUpPjFFLTQpe24uSVMrPTE7bGV0IHo9bi5qaz8uSigpO2U9e2F1ZGlvOmAkeytuLmVTKCl9YCxzcTpHLnRvRml4ZWQoKSxzbGljZVN0YXJ0OkwsbGFzdFNxOnIudG9GaXhlZCgpLGxhc3RTbGljZVN0YXJ0Ok4sbGFzdFNsaWNlRHVyYXRpb246SCx0b3RhbERyaWZ0Oih2KjFFMykudG9GaXhlZCgpLHNlZ0RyaWZ0OihlKjFFMykudG9GaXhlZCgpLHNraXBSZXdyaXRlOmAkeysoQXx8eSl9YH07ej8ubGVuZ3RoJiYoZS5hZENwbj16WzBdKTtuLmxvYWRlci5oYW5kbGVFcnJvcigicW9lLmF2c3luYyIsCmUpO24uc0w9R31BfHx5fHxUfHwoaD1uLlpxKTtMPW5UdyhuLEQsTCk7ay09TDtuLlQ4PXYrTH19ZWxzZSBoPWlzTmFOKG4uWnEpP0QuaW5mby5zZWdtZW50U3RhcnRUaW1lOm4uWnE7V2paKG4sRCxoKSYmKG4uWUUrPWssbi5acT1oK2ssbi5wb2xpY3kuWmgmJm4uSVM+PW4ucG9saWN5LlpoJiYobi5JUz0wLG4ubG9hZGVyLkdtKHtyZXNldEZvclJld3JpdGVzOiJjb3VudCJ9KSkpfW4ubTE9RC5pbmZvO24uWXA9TE0oRCk7RC5XPj0wJiYobi5paD1ELlcpO2lmKGImJm4uamspe2I9dmZ0KG4sITApO1pKKEQuaW5mbyxiKTtuLmJSJiZaSihuLmJSLmluZm8sYik7Zm9yKHggb2YgVyluLnBvbGljeS5qJiZ4LmokIT09bi5qaz8uc2VnbWVudE51bWJlcnx8WkooeCxiKTsoRC5pbmZvLmFafHxuLmJSJiZuLmJSLmluZm8uYVopJiZELmluZm8udHlwZSE9PTZ8fChuLkwyPWIsbi5wb2xpY3kuVTE/KFc9a2RVKG4uamspLG4ubG9hZGVyLlIwKG4uUEosYixXKSk6KFc9bi5sb2FkZXIsVy5LdS5pc01hbmlmZXN0bGVzcyYmCk4yKFcsYixudWxsLCEhbi5QSi5pbmZvLnZpZGVvKSksbi5wb2xpY3kuZVZ8fG4uVmkoKSl9fVZIeChuLEQpO24udGltZXN0YW1wT2Zmc2V0JiZ4WChELG4udGltZXN0YW1wT2Zmc2V0KX07CnZmdD1mdW5jdGlvbihuLFcpe3ZhciBELGI9bi5qaztpZihEPVRfKGIpKUQuc3RhcnRTZWNzKz1uLkwxO3ZhciB2PW4uTDEsaz0wO24uUEogaW5zdGFuY2VvZiBkdCYmKGs9bi5QSi5yYik7cmV0dXJuIG5ldyBSNChiLnNlZ21lbnROdW1iZXIsdixXP2s6bi5ZRSxiLmluZ2VzdGlvblRpbWUsYHNxLyR7Yi5zZWdtZW50TnVtYmVyfWAsdm9pZCAwLHZvaWQgMCxXLEQsbi5wb2xpY3kueUg/Yi5OOm51bGwpfTsKa2RVPWZ1bmN0aW9uKG4pe3JldHVybiBuLmZLKCk/bmV3IHByKENnKG4pLG4uSigpLEJBKG4pLEZwKG4pLHdGKG4pLGcuTWQobiksZy5ScihuKSk6bnVsbH07Cm5Udz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtpZihXLmluZm8uUEouaW5mby5xSCgpJiYhcSQoVykpcmV0dXJuIDA7aWYobi5xOSYmIW4uZVMoKSl7bGV0IGU9MDtEJiZnLlJCKFcuaW5mby5QSi5pbmZvKT9lPUQtbi5acTpXLmluZm8uUEouaW5mby5xSCgpJiYoZT1uLlQ4KTt2YXIgdj1XLmluZm8uaiQ7RD1lRyhXLG4ucG9saWN5LlBYKTtsZXQge1Y1OkcsVGo6cn09bi5xOS5iNCgpO3Y9dj09PUd8fHY+RyYmdj5uLnNMO3ZhciBrPU1hdGguYWJzKHItZSk+LjAyO2lmKG4ucG9saWN5LlJ0KXt2YXIgaD1NYXRoLmFicyhyLWUpO2lmKHYmJmg+bi5wb2xpY3kuUnQmJmg8MTApcmV0dXJuIG4ubG9hZGVyLkdtKHthdkRlc3luYzoiY291bnQifSksMH1pZihXLmluZm8uUEouaW5mby5xSCgpJiZuLnBvbGljeS5WZilyZXR1cm4gMDtpZih2JiZrKXtiPU1hdGgubWF4KC45NSxNYXRoLm1pbigxLjA1LChELShyLWUpKS9EKSk7aWYoZy5SQihXLmluZm8uUEouaW5mbykpV3coZy5XUihXKSxiKTsKZWxzZSBpZihXLmluZm8uUEouaW5mby5xSCgpJiYoaz1lLXIsIWcuUkIoVy5pbmZvLlBKLmluZm8pJiYoVy5pbmZvLlBKLmluZm8ucUgoKSxiPW5ldyB0WShnLldSKFcpKSx2PVcuVj9iOm5ldyB0WShuZXcgRGF0YVZpZXcoVy5pbmZvLlBKLkouYnVmZmVyKSksZUcoVywhMCkpKSl7dmFyIHg9ayoxRTMsTD1Lcyh2KTt2PWIucG9zO2IucG9zPTA7aWYoYi5OLmdldFVpbnQ4KGIucG9zKT09PTE2MHx8UHcoYikpaWYoc1koYiwxNjApKWlmKE5rKGIsITApLHNZKGIsMTU1KSl7aWYoaz1iLnBvcyxoPU5rKGIsITApLGIucG9zPWsseD14KjFFOS9MLEw9ZnMoYikseD1MK01hdGgubWF4KC1MKi43LE1hdGgubWluKEwseCkpLHg9TWF0aC5zaWduKHgpKk1hdGguZmxvb3IoTWF0aC5hYnMoeCkpLCEoTWF0aC5jZWlsKE1hdGgubG9nKHgpL01hdGgubG9nKDIpLzgpPmgpKXtiLnBvcz1rKzE7Zm9yKGs9aC0xO2s+PTA7ay0tKWIuTi5zZXRVaW50OChiLnBvcytrLHgmMjU1KSx4Pj4+PTg7Yi5wb3M9CnZ9fWVsc2UgYi5wb3M9djtlbHNlIGIucG9zPXY7ZWxzZSBiLnBvcz12fWI9ZUcoVyxuLnBvbGljeS5QWCk7Yj1ELWJ9YiYmVy5pbmZvLlBKLmluZm8ucUgoKSYmbi5sb2FkZXIuVSgid2VibUR1cmF0aW9uQWRqdXN0bWVudCIse2R1cmF0aW9uQWRqdXN0bWVudDpiLHZpZGVvRHJpZnQ6ZStiLGF1ZGlvRHJpZnQ6cn0pfXJldHVybiBifTsKV2paPWZ1bmN0aW9uKG4sVyxEKXtpZighaE0oVyxEKSlyZXR1cm4gVz1YeChXLmluZm8pLFcuc21zdD0iMSIsWUMobi5sb2FkZXIsV3x8e30pLCExO2lzTmFOKG4uTDEpJiYobi5MMT1EKTtyZXR1cm4hMH07CmFFdz1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmZvLlBKLlcoKSYmbi5pbmZvLmokPT09bi5pbmZvLlBKLmluZGV4LngkKCl9Owp2VFo9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSl7dmFyIEc9Vy5leHBvcnRzLk1lZGlhU3RyZWFtX2dldEJhdGNoZWRTdHJlYW1FdmVudHMoRCk7aWYoRyl0cnl7dmFyIHI9Vy5tZW1vcnkuYnVmZmVyKEcsYio4OCk7bGV0IHk9bmV3IERhdGFWaWV3KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxiKjg4KSxUPVcubWVtb3J5LmhlYXAoKTtHPVtdO2ZvcihyPTA7cjxiO3IrKyl7bGV0IHo9bmV3IGIkQyh5LHIqODgsVyxUKTtHLnB1c2goe09mOnouT2YsYjM6ei5iMyxLOTp6Lks5LGx3OnoubHcsU2g6ei5TaCxnQzp6LmdDLHZXOnoudlcsR0s6ei5HSyxVVzp6LlVXLFckOnouVyQsZm9ybWF0SWQ6ei5mb3JtYXRJZCxyQzp6LnJDfSl9Yj12O2ZvcihsZXQgeiBvZiBHKXt6LmZvcm1hdElkJiZlJiYoYj1lKHouZm9ybWF0SWQpKTtsZXQgQz16Lk9mLFE9ei5iMyxWPXouSzksTHQ9ei5sdyx0aT16LlNoLEhaPXouZ0MsWjE9ei52VyxRaj16LkdLLE1pPXouVVcsTVU9ei5XJCxJQz16LmZvcm1hdElkLApJTT16LnJDO3N3aXRjaChIWil7Y2FzZSAxOmxldCBZbDt0cnl7bGV0IFVUPUpTT04ucGFyc2UoWjEpO1VUJiZ0eXBlb2YgVVQ9PT0ib2JqZWN0Ij9ZbD1VVDpZbD17cmVhc29uOlN0cmluZyhaMSl9fWNhdGNoKFVUKXtZbD17cmVhc29uOloxfX1ZQyhuLmxvYWRlcixZbCk7cmV0dXJuO2Nhc2UgMjpsZXQgajE7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCI/ajE9VVQ6ajE9e3JlYXNvbjpTdHJpbmcoWjEpfX1jYXRjaChVVCl7ajE9e3JlYXNvbjpaMX19ajEuYXZEZXN5bmMhPT12b2lkIDA/bi5sb2FkZXIuR20oajEpOm4ubG9hZGVyLmhhbmRsZUVycm9yKCJxb2UuYXZzeW5jIixqMSk7YnJlYWs7Y2FzZSAzOmxldCBUej1uZXcgcnUoUWosWjEpO01pLmxlbmd0aD4wJiYoVHouVVc9TWkpO01VIT09NDI5NDk2NzI5NSYmKFR6LmNyeXB0b1BlcmlvZEluZGV4PU1VKTtRPj0wJiYoVHouTj1RKTtUei5xSD1iLmluZm8/LnFIKCk/PyExO24ubG9hZGVyLlduKFR6KTsKYnJlYWs7Y2FzZSA0OmxldCBmaD1wUihRaiksT0k9UUwoZmgpO2lmKE9JKXtsZXQgVVQ9bmV3IFg1KE9JLFoxKTtuLk49VVQ7VVQuViYmYi50dz8uKCFVVC5WLCJlbXNnIik7bGV0IFBLPVRfKFVUKTtQSyYmKFBLLnN0YXJ0U2Vjcys9QyxuLmxvYWRlci5NZShiLFBLLFVULnNlZ21lbnROdW1iZXIsVVQuZksoKSkpfWJyZWFrO2Nhc2UgNzpsZXQgcEs7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCImJihwSz1VVCl9Y2F0Y2goVVQpe31pZihwSyYmcEsucmVzZXRGb3JSZXdyaXRlcyE9PXZvaWQgMCl7bi5sb2FkZXIuR20ocEspO2JyZWFrfWlmKFoxLnN0YXJ0c1dpdGgoImRpc2NvbnRpbnVpdHlfIikpe24ubG9hZGVyLlUoIm1kc3RtIix7cnN0NGRpc2M6WjEuc3Vic3RyaW5nKDE0KSxjZDpDLnRvRml4ZWQoMyksc3E6U3RyaW5nKElNKX0pO2JyZWFrfWxldCBPej1aMS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIik7bi5sb2FkZXIuVSgic2xpY2Vfbm90X2Z1bGx5X3Byb2Nlc3NlZCIsCnttc2c6T3p9KTticmVhaztjYXNlIDg6bGV0IEJXO3RyeXtCVz1KU09OLnBhcnNlKFoxKX1jYXRjaChVVCl7bi5sb2FkZXIuVSgid2FzbV9qc29uX3BhcnNlX2Vycm9yIix7ZXY6SFoudG9TdHJpbmcoKX0pO2NvbnRpbnVlfXgoQlcpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLG4uVyk7YnJlYWs7Y2FzZSA5OmxldCBZRTt0cnl7WUU9SlNPTi5wYXJzZShaMSl9Y2F0Y2goVVQpe24ubG9hZGVyLlUoIndhc21fanNvbl9wYXJzZV9lcnJvciIse2V2OkhaLnRvU3RyaW5nKCl9KTtjb250aW51ZX1MKFlFKTtiLk4oKSYmayYmWkgobi5sb2FkZXIuS3UsYixuLlcpO2JyZWFrO2Nhc2UgMTA6dj1aMTtuLlc9djtJQyYmZSYmKGI9ZShJQykpO2IuSj1RajtoPy5KKFFqLHYpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLHYpO2JyZWFrO2Nhc2UgMTE6Yi5WPW5ldyBSZWgodGksVik7YnJlYWs7Y2FzZSAxNDpsZXQgWmk9bmV3IFI0KElNLEMsVixMdCxgc3EvJHtJTX1gLHZvaWQgMCx2b2lkIDAsCiExLG4uSixuLk4/Lk4pO3Y9bnVsbDtuLk4mJm4uTi5mSygpJiYodj1uZXcgcHIoQ2cobi5OKSxuLk4uSigpLEJBKG4uTiksRnAobi5OKSx3RihuLk4pLGcuTWQobi5OKSxnLlJyKG4uTikpKTtuLmxvYWRlci5SMChiLFppLHYpO2JyZWFrO2Nhc2UgMTU6bGV0IFdJPU51bWJlcihaMSk7aXNOYU4oV0kpfHxuLmxvYWRlci5wWj8uKFdJKTticmVhaztjYXNlIDY6bGV0IERBPW5ldyBSNChJTSxDLFYsTHQsYHNxLyR7SU19YCx2b2lkIDAsdm9pZCAwLCEwLG4uSixuLk4/Lk4pO2lmKG4ucG9saWN5Py5VMT8/ITApdj1udWxsLG4uTiYmbi5OLmZLKCkmJih2PW5ldyBwcihDZyhuLk4pLG4uTi5KKCksQkEobi5OKSxGcChuLk4pLHdGKG4uTiksZy5NZChuLk4pLGcuUnIobi5OKSkpLG4ubG9hZGVyLlIwKGIsREEsdik7ZWxzZXt2YXIgTj1uLmxvYWRlcjtOLkt1LmlzTWFuaWZlc3RsZXNzJiZOMihOLERBLG51bGwsISFiLmluZm8udmlkZW8pfWJyZWFrO2Nhc2UgMTI6dmFyIEg9bi5sb2FkZXI7dj0KYjt2YXIgQT1uZXcgUjQoSU0sQyxWLEx0LGBzcS8ke0lNfWAsdm9pZCAwLHZvaWQgMCwhMCxuLkosbi5OPy5OKTtILkt1LmlzTWFuaWZlc3RsZXNzJiZUeChILkt1LEEuaiQsISF2LmluZm8udmlkZW8pO2JyZWFrO2Nhc2UgNTpsZXQgcFY7dHJ5e3BWPUpTT04ucGFyc2UoWjEpfWNhdGNoKFVUKXtuLmxvYWRlci5VKCJ3YXNtX2pzb25fcGFyc2VfZXJyb3IiLHtldjpIWi50b1N0cmluZygpfSk7Y29udGludWV9cFYuc3RhcnRTZWNzKz1DO24uSj1wVjtuLmxvYWRlci5NZShiLHBWLElNLG4uTj8uZksoKT8/ITEpO2JyZWFrO2Nhc2UgMTM6UWYoYixuZXcgRGF0YVZpZXcoUWouYnVmZmVyLFFqLmJ5dGVPZmZzZXQsUWouYnl0ZUxlbmd0aCkpO2JyZWFrO2RlZmF1bHQ6bi5sb2FkZXIuVSgid2FzbV91bmtub3duX2V2Iix7ZXY6SFoudG9TdHJpbmcoKX0pfX19ZmluYWxseXtXLmV4cG9ydHMuTWVkaWFTdHJlYW1fY2xlYXJQZW5kaW5nRXZlbnRzKEQpfWVsc2UgVy5leHBvcnRzLk1lZGlhU3RyZWFtX2NsZWFyUGVuZGluZ0V2ZW50cyhEKX07Ckg2PWZ1bmN0aW9uKG4pe24uVWwmJihuLlVsLmRpc3Bvc2UoKSxuLlVsPW51bGwpO24uU0s9dm9pZCAwO24uWFY9dm9pZCAwfTsKSjQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9V15uO3ZhciBMOyhufDIpPj0yNyYmbisyPDMzJiYoTD1iKHYsayxoKSk7aWYoISgobnw0KT4+NCkpZm9yKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO0QtLTspYltJW3heNDM4NF1dKGJbSVt4XjQzODldXSgpKTtpZigobi0yfDU4KT49biYmKG4tOHwxNSk8bil7Zm9yKHZhciBlPXheNDY3NCxHPVtdOysrZS1HW0lbNV1dLSh4XjQ2NDIpOyl7c3dpdGNoKGUpe2Nhc2UgeF40Njk3OmU9eF40NjU0O2NvbnRpbnVlO2Nhc2UgeF40NzI5OmU9eF40Njc1O2JyZWFrO2Nhc2UgeF40Njc1OmUtPXheNDYyNDtjb250aW51ZTtjYXNlIHheNDY2NDplPXheNDcwNjtjb250aW51ZTtjYXNlIHheNDY1MjplPXheNDcwMX1HW0lbeF40NjI4XV0oU3RyaW5nW0lbeF40NjU2XV0oZSkpfUw9R31yZXR1cm4gTH07CmZyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qXygpLGI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0VHlwZShXKSx2PUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFNlZ051bShXKSxrPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFN0YXJ0VGltZShXKSxoPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldER1cmF0aW9uKFcpLHg9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNFbmRPZlNlZ21lbnQoVykhPT0wLEw9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0U2xpY2VPZmZzZXQoVyksZT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TG10KFcpLEc9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNGYXN0U2Vla2FibGUoVykhPT0wLHI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkKFcpLE49RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkTGVuZ3RoKFcpLEg9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Rm9ybWF0SWQoVyksQT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRGb3JtYXRJZExlbmd0aChXKSwKeT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TWVkaWFTb3VyY2UoVyksVD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW4oVyksej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW5MZW5ndGgoVyksQz1ELm1lbW9yeS5oZWFwKCksUT0iIjtyJiZOPjAmJihRPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxyLE4pKS5yZXBsYWNlKC9cMC9nLCIiKSk7cj0iIjtIJiZBPjAmJihyPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxILEEpKS5yZXBsYWNlKC9cMC9nLCIiKSk7SD0iIjtUJiZ6PjAmJihIPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxULHopKS5yZXBsYWNlKC9cMC9nLCIiKSk7VD1yJiZuLkVlP24uRWUocik6bi5QSjtDPUQubWVtb3J5LmhlYXAoKTtBPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldERhdGEoVyk7ej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRMZW5ndGgoVyk7Qz1uZXcgUzUoWyhuZXcgVWludDhBcnJheShDLEEseikpLnNsaWNlKCldKTtBPQpELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50Qnl0ZVJhbmdlU3RhcnQoVyk7RD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TGVuZ3RoQnl0ZXMoVyk7Vz12b2lkIDA7RD4wJiZULlcoKSYmKFc9V18oQSxEKSk7aHx8dHlwZW9mIFQucmIhPT0ibnVtYmVyInx8KGg9VC5yYik7Yj1uZXcgcUkoYixULFcsIndhc20iLHYsayxoLEwseix4LGUsUSxHLHksSCk7eD1uZXcgYjgoYixDKTtpZihuLnBvbGljeS5Zcnx8bi5wb2xpY3kuUyQpYj0hIWIuTiYmdj09PW4ueHAseC5XPWI/bi5tOTprLHguWD1iP24uenI6aCxifHwobi54cD12LG4ubTk9eC5XLG4uenI9eC5YKTtyZXR1cm4geH07CnlrPWZ1bmN0aW9uKG4pe24uaj0hMDtuLlBEPSEwO24uWD0tMTtQdShuLEluZmluaXR5KX07Cm1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLkopSjAobixXKTtuLko9W107bi5OPW51bGx9OwpLdj1mdW5jdGlvbihuLFcsRD0hMSl7aWYobi5RRSl7bGV0IGI9bi5RRS5aRigpLHY9RlooYixXKSxrPU5hTixoPUkkKG4pO2gmJihrPUZaKGIsaC5QSi5pbmRleC5nZXRTdGFydFRpbWUoaC5qJCkpKTtpZih2PT09ayYmbi5OJiZuLk4uSiYma1F3KFNxKG4pLDApKXJldHVybiBXfW49QTAobixXLEQpO3JldHVybiBuPj0wP246TmFOfTsKUHU9ZnVuY3Rpb24obixXLEQpe24uUEouTigpO3ZhciBiPUEwKG4sVyk7aWYoYj49MClyZXR1cm4gYjtuLlY/LmNKKFcsRCk7Vz1NYXRoLm1pbihXLG4uVy5McygpKTtuLk49bi5wb2xpY3kudHc/bnVsbDpuLlBKLksoVykuQXdbMF07bWQobikmJihuLnBvbGljeS5YWSYmRD8uc2Vla1NvdXJjZT09PTYwfHxuLlFFJiZuLlFFLmFib3J0KCksbi5wb2xpY3kucG8mJm4uVj8uWSgpKTtuLlMkPTA7cmV0dXJuIG4uTj9uLk4uc2VnbWVudFN0YXJ0VGltZTpXfTsKaVk9ZnVuY3Rpb24obil7cmV0dXJuIG4uVy5XMigpfTsKS3I9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSl7VyYmczQmJm4uVy5CVyhXLml3KCkpO0R8fG4uVj8uVigpO24uUUU9VztuLlY/LnR3KG4uUUUsYil9OwpJJD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wb2xpY3kuZkM/bi5WPy5iZCgpfHxudWxsOm4uUUUmJm4uUUUuWmcoKX07Cmhacj1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQ9MDtEPG4uTy5sZW5ndGg7RCsrKVdbYHIke0R9YF09bi5PW0RdO3JldHVybiBXfTsKTzQ9ZnVuY3Rpb24obixXKXtpc05hTihuLlkpfHxuLlUoImFzd3IiLHtzcTpXLmluZm8uQXdbMF0uaiQsaWQ6Vy5pbmZvLkF3WzBdLlBKLmluZm8uaXRhZyx4dGFnOlcuaW5mby5Bd1swXS5QSi5pbmZvLkosZXA6RGF0ZS5ub3coKS1uLll9KTtuLkoucHVzaChXKTtuLk49Zy5VTShXLmluZm8uQXcpO24uTy5wdXNoKFcuZ2EoKSk7bi5PLmxlbmd0aD40JiZuLk8uc2hpZnQoKX07CnhYQz1mdW5jdGlvbihuLFcpe2lmKFcuUUEoKSl7bGV0IEQ9Vy54OSgpO2ZvcihsZXQgYiBvZiBEKW4ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBTbiYmbi5VKCJvbWJsc3MiLHtzOmIuaW5mby5nYSgpfSksbi5XZyhXLmluZm8uQXcsYixXLlh2KCkpfX07CkxqVT1mdW5jdGlvbihuKXtuLkoubGVuZ3RoP24uTj1nLlVNKGcuVU0obi5KKS5pbmZvLkF3KTpuLlcuUkMoKT9uLk49bi5XLld4KCkuaW5mbzpuLk49SSQobil9OwpQNj1mdW5jdGlvbihuLFcpe3ZhciBEPXtlVzpbXSxCaTpbXX07cmV0dXJuIG4uVj8uTyhXKT8/RH07CkEwPWZ1bmN0aW9uKG4sVyxEPSExKXtpZighbi5OfHwhbi5OLkopcmV0dXJuIE5hTjtuPVNxKG4pO1c9ZVp0KG4sVysuMDIsRCk7cmV0dXJuIFc8MD9OYU46a1F3KG4sRD9XOjApP25bV10uc2VnbWVudFN0YXJ0VGltZTpOYU59OwptZD1mdW5jdGlvbihuKXtpZihuLlBKLmluZm8uSUI9PT0iZiJ8fG4ucG9saWN5LkomJm4uVy5vQygpKXJldHVybiEwO3ZhciBXPUkkKG4pO2lmKCFXKXJldHVybiExO3ZhciBEPVpkKFcpJiZXLmFaO3JldHVybiBuLmlzTWFuaWZlc3RsZXNzJiZuLnR3PjA/RHx8Vy5qJD49bi50dzpEfTsKWmQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/bi5WKCk6ITF9OwpnVEM9ZnVuY3Rpb24obil7dmFyIFc9SSQobik7cmV0dXJuIFc/Vy5qLW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk6MH07ClU0PWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFuLlBKLmluZGV4Lk1JKFcsITApKXJldHVybiExO3RyeXttaShuKTtuLlcuSzgoVyk7aWYobi5wb2xpY3kuTilyZXR1cm4gbi5OPW51bGwsITA7Yj5EP1B1KG4sYik6bi5OPW4uUEouaihXLTEsITEpLkF3WzBdfWNhdGNoKHYpe3JldHVybiBXPUIkKHYpLFcuZGV0YWlscy5yZWFzb249InJvbGxia2VyciIsbi5sb2FkZXIuaGFuZGxlRXJyb3IoVy5lcnJvckNvZGUsVy5kZXRhaWxzLFcuc2V2ZXJpdHkpLCExfXJldHVybiEwfTsKSjA9ZnVuY3Rpb24obixXLEQ9ITEpe24uY3EoVyxEKTtXLmRpc3Bvc2UoKX07Cmc3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XXm47aWYoISgobnw3KT4+NCkpe3ZhciB2PURbSVtiXjIzXV0oSVtiXjJdKSxrPXt9O2ZvcihsZXQgTD0wO0w8dltJWzVdXTtMKyspdmFyIGg9UjAoNixiXjczMjUsdixMLGspO3ZhciB4PWt9aWYoKG4tOV4yMSk8biYmbi03PDwxPj1uKWZvcih2PURbSVs1XV07djspRFtJW2JeNjMzM11dKERbSVszXV0oLS12LDEpWzBdKTtpZigobnw0MCk9PW4pe3Y9Yl45MDYyO2ZvcihrPVtdOysrdi1rW0lbNV1dLShiXjg5NjYpOyl7c3dpdGNoKHYpe2Nhc2UgYl44OTg4OnYtPWJeOUUzO2Nhc2UgYl45MDg1OmNhc2UgYl45MDgyOmNhc2UgYl45MDgzOmNvbnRpbnVlO2Nhc2UgYl45MDUzOnY9Yl44OTY5O2Nhc2UgYl45MDgwOmNhc2UgYl45MDgxOmNhc2UgYl45MDMwOmNvbnRpbnVlO2Nhc2UgYl44OTY4OnY9Yl45MDgxfWtbSVtiXjkwMDhdXShTdHJpbmdbSVtiXjg5ODBdXSh2KSl9eD1rfXJldHVybiB4fTsKeW89ZnVuY3Rpb24obil7dmFyIFc9bi5XLld4KCk7cmV0dXJuIFc/Vy5pbmZvOkkkKG4pfTsKRTQ9ZnVuY3Rpb24obixXKXt2YXIgRDtmb3IoRD0wO0Q8bi5KLmxlbmd0aCYmVyE9PW4uSltEXTtEKyspO2lmKEQ9PT1uLkoubGVuZ3RoKUowKG4sVyk7ZWxzZXtmb3IoO0Q8bi5KLmxlbmd0aDspSjAobixuLkoucG9wKCkpO3ZhciBiPXlvKG4pO2ImJmIuUEouRCgpJiZnLm9NKFcuaW5mby5Bdyx2PT4kTih2LGIpKT8obi5OPWIsbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6ImxzcCIsCmxzcDpiLmdhKCl9KSk6KHhOKFcuaW5mby5Bd1swXSk/KG4uTj1XLldvJiZXLldvLlc/VEQxKFcuV28uVyk6bER4KFcuaW5mby5Bd1swXSksbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6bi5OLmdhKCksbHNwOmI/LmdhKCl9KSk6KG4uTj1udWxsLG4ucG9saWN5LlcmJm4uVSgiY2VyIix7bHNyOiJudWxsIixsc3A6Yj8uZ2EoKX0pKSxuLmxvYWRlci5pc09mZmxpbmUoKSYmIW4ucG9saWN5LlRRfHxKMChuLFcsITApKX19OwppUz1mdW5jdGlvbihuKXtyZXR1cm4gbWQobil8fFpkKG4uVy5XeCgpPy5pbmZvKX07ClNxPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9SSQobik7RCYmVy5wdXNoKEQpO1c9Zy53eihXLG4uVy5mMygpKTtmb3IobGV0IGIgb2Ygbi5KKWZvcihsZXQgdiBvZiBiLmluZm8uQXcpYi5TMyYmKFc9Zy5FTShXLGs9PiF0SihrLHYpKSksKHhOKHYpfHx2LmNKKCkpJiZXLnB1c2godik7Cm4uTiYmIXpBMihuLk4sZy5VTShXKSxuLk4uUEouVygpKSYmVy5wdXNoKG4uTik7cmV0dXJuIFd9OwprUXc9ZnVuY3Rpb24obixXKXtpZighbi5sZW5ndGgpcmV0dXJuITE7Zm9yKFcrPTE7VzxuLmxlbmd0aDtXKyspaWYoIUx6KG5bVy0xXSxuW1ddKSlyZXR1cm4hMTtyZXR1cm4hMH07CmVadD1mdW5jdGlvbihuLFcsRD0hMSl7dmFyIGI9LTE7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoay5YPD1XKWlmKEQpYj12O2Vsc2UgaWYoay5zZWdtZW50U3RhcnRUaW1lK2suVz49VylyZXR1cm4gdn1yZXR1cm4gYn07CnZhciBZalo9ZnVuY3Rpb24obixXKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsMiw0OTA2LG4sVyl9Owp1Uz1mdW5jdGlvbihuKXtyZXR1cm4hKCFuLk58fG4uTi5QSj09PW4uUEopfTsKWDB0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wb2xpY3kuTj9uLnpzKCEwKTxEOihuPXlvKG4pKSYmIVpkKG4pP24uaj5XJiZuLmo8VytEOiExfTsKZy5vJD1mdW5jdGlvbihuKXtuLlY/LlYoKTtuLmtJKCl9Owpxemg9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJm4uTi5qJCE9PS0xJiZuLk4uaiQ8bi5QSi5pbmRleC5aTygpfTsKR1FiPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTjtXJiZXLmokPT09LTEmJihuPW4uVy5XeCgpKSYmeE4obi5pbmZvKSYmKG49bi5pbmZvLmokLFcuWT0idXBkYXRlTGFzdFNsaWNlUmVxdWVzdGVkIixXLmokPW4pfTsKdGRqPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4uSixXPT5XLmZKKX07CiRYMT1mdW5jdGlvbihuLFcpe3ZhciBEPWlZKG4pO3JldHVybiBEJiZELmluZm8udHlwZSE9PTY/IVcuTyhuLEQuaW5mby5qJCk6ITF9OwpyeUM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5jSilpZihELnNlZ21lbnROdW1iZXI9PT1XKXJldHVybiBELnBWPzI6MTtyZXR1cm4gMH07Ck44Wj1mdW5jdGlvbih7aGFzU3ViZnJhZ21lbnRlZEZtcDQ6bj0hMSxJMjpXPSExfT17fSl7dmFyIEQ9bmV3IHNLaTtELnRJPW58fFc7cmV0dXJuIER9OwpkdT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OJiZuLkZlJiZuLnBsYXliYWNrU3RhcnRQb2xpY3l9OwpKa0M9ZnVuY3Rpb24obixXLEQ9ITEpe1cudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmIW4uV0gmJihuLmUkPTM2NzAwMTYwLG4udko9NTI0Mjg4MCxuLkhKPU1hdGgubWF4KDQxOTQzMDQsbi5ISiksbi5XSD0hMCk7Vy52aWRlby5xdWFsaXR5T3JkaW5hbD4yMTYwJiYhbi5iZSYmKG4uZSQ9MTA0ODU3NjAwLG4uTnM9MTMxMDcyMDAsbi5iZT0hMCk7Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSE9PTA/Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoInNhbXN1bmciKSYmKGcudWIoImthbnQiKXx8Zy51YigibXVzZSIpKSYmKG4uTnM9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSk6Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoImthbnQiKSYmKG4uTnM9MTMxMDcyMCk7bi55UCE9PTAmJlcuaXNFbmNyeXB0ZWQoKSYmKG4uTnM9bi55UCk7bi5KRyE9PQowJiZXLmlzRW5jcnlwdGVkKCkmJkQmJihuLk5zPW4uSkcpO1cuTnMmJihuLlFIPU1hdGgubWF4KG4uWm0sTWF0aC5taW4obi5ISiw1KlcuTnMpKSl9Owp6Wj1mdW5jdGlvbihuLFcsRD0wKXtyZXR1cm4gZy5kTShuLnlRLmV4cGVyaW1lbnRzLFcpfHxEfTsKbFM9ZnVuY3Rpb24obixXLEQsYil7bi5GZSYmKG4ucGxheWJhY2tTdGFydFBvbGljeT1XLG4uTTU9RCxuLkRDPWIpfTsKUjY9ZnVuY3Rpb24obixXKXtpZihXPDApcmV0dXJuITA7dmFyIEQ9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYhbi5zSnx8Vz09PUQmJihuPW4uT2coKSkmJlc9PT1uLmokPyEwOiExfTsKS2EyPWZ1bmN0aW9uKG4sVyxEKXtpZighUjYobixXKSlyZXR1cm4gMDtpZighbi50SXx8IWlzTmFOKEQpJiZEPjApcmV0dXJuIDI7aWYoVzwwKXJldHVybiAxO0Q9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYobj1uLk9nKCkpJiZXPT09bi5qJCYmIW4ucGVuZGluZz8yOjF9OwpwMGI9ZnVuY3Rpb24obixXLEQpe2lmKCEoVy5YZiYmbi5pc0NvbXBsZXRlKCkmJm4uY2FuUmV0cnkoKSYmbi5pbmZvLlhiLnBTKFcsRCkpKXJldHVybiAwO3ZhciBiPW4uaW5mby5YYi5qO2lmKGImJiFXLmVuYWJsZVNhYnJQcm9iZU9uU2VydmVySW5pdGlhdGVkSG9zdEZhbGxiYWNrKXJldHVybiAwO249VVkoRCxGNShuLmluZm8uWGIsITEsVykpO3JldHVybiBiJiYoRD0oMCxnLlIpKCktbi5YLG4uWD4wJiZEPFcuc2FiclN1Y2Nlc3NmdWxQcm9iZVRpbWVvdXRNcyk/MDpuLmorVy5YZipsTChuLCEwLGIpPigwLGcuUikoKT8wOjF9OwpqcT1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kuem0pcmV0dXJuITE7dmFyIGI9bi5KQzt2YXIgdj1XLk4/LlRDKCl8fC0xO2IuSj09PTMmJnYrMT49Yi5YPyhiLlUoInNkYWkiLHtoYWx0cnE6disxLGVzdDpiLlh9KSxiPSExKTpiPWIuSiE9PTI7aWYoIWJ8fCEoVy5OP1cuTi5QSi5YYjpXLlBKLlhiKS5ZKG4ucG9saWN5LG4ubm4sbi5sb2FkZXIuSXcpfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmKCFUWihuLnNjaGVkdWxlKXx8bi5sb2FkZXIuT00pKXJldHVybiExO2lmKG4ucG9saWN5LkomJnFzPj01KXJldHVybiBnLkphKG4ubG9hZGVyLmoyKSwhMTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzKXtpZihXLkoubGVuZ3RoPjAmJlcuTiYmVy5OLmokPT09LTF8fFcuSi5sZW5ndGg+PW4ucG9saWN5LndvfHwhbi5wb2xpY3kuWE0mJlcuSi5sZW5ndGg+MCYmIW4ucG9saWN5LlYudEkpcmV0dXJuITE7aWYoVy5qKXJldHVybiFuLkt1LmlzTGl2ZXx8IWlzTmFOKG4uWkEpfWlmKHRkaihXKSlyZXR1cm4hMTsKaWYoIVcuTil7aWYoIVcuUEouTigpKXJldHVybiExO1B1KFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSl9aWYoaVkoVykmJihXLld4KCkhPT1pWShXKXx8bi5sb2FkZXIuaXNTdXNwZW5kZWQpKXJldHVybiExO3Y9KGI9bi5wb2xpY3kuc1MpJiYhVy5KLmxlbmd0aCYmVy56cyghMCk8TWF0aC5taW4oYixELnpzKCkpO2I9Vy5KLmxlbmd0aCtELkoubGVuZ3RoO3ZhciBrPShXLkoubGVuZ3RoP1cuSlswXS5ReSgpOiExKXx8KEQuSi5sZW5ndGg/RC5KWzBdLlF5KCk6ITEpfHxuLkt1LmlzTGl2ZTsodnx8aykmJi0tYjtpZihiKzE+PW4ucG9saWN5LkN5KXJldHVybiExO2I9Vy5OO2lmKCFiKXJldHVybiEwO2IuY0ooKSYmYi5QSi5OKCkmJihXLk49Zy5VTShiLlBKLlZRKGIpKSxiPVcuTik7aWYoIWIuVigpJiYhYi5QSi5YKGIpKXJldHVybiExO2s9bi5LdS5YZ3x8bi5LdS5pc1dpbmRvd2VkTGl2ZTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzJiZrKXtrPVcuUEouaW5kZXgueCQoKTt2YXIgaD0KRC5QSi5pbmRleC54JCgpO2s9TWF0aC5taW4oayxoKTtpZihXLlBKLmluZGV4LlRYKCk+MCYmaz4wJiZiLmokPj1rKXJldHVybiBXLnR3PWssRC50dz1rLCExfWlmKGIuUEouaW5mby5hdWRpbyYmYi5jSigpfHxiLlYoKSlyZXR1cm4hMTtrPSFXLlBEJiYhRC5QRDtpZih2PSF2KXY9Yi5qLHY9ISEoRC5OJiYhWmQoRC5OKSYmRC5OLmo8dik7aD1XPT09bi52aWRlb1RyYWNrJiZuLnBvbGljeS5UQztyZXR1cm4gdiYmKCFuLkt1LmlzTWFuaWZlc3RsZXNzfHxELk4mJkQuTi5qJiZiLmopJiZrJiYhaHx8bi5wb2xpY3kuQlYmJiFXLlBEJiZELlBEPyExOnhOKGIpJiZiLmo+WXppKG4sVyk/KFl6aShuLFcpLCExKToobj1XLlFFKSYmbi5pc0xvY2tlZCgpPyExOiEwfTsKVm89ZnVuY3Rpb24obixXKXtIJGgobi5sb2FkZXIsVyk7dmFyIEQ9elAoVyksYj1uLmxvYWRlci5sdSgpO0Q9e2lqOm4uc2NoZWR1bGUsczQ6RCxCbDpmaXgobi5JZyxEKSxRbjpoSihXLkF3WzBdKSxkaXNhYmxlUmVjb3JkaW5nOmdaKDQwLDEyMTIsVy5YYi5OKSxORDpuLnBvbGljeS5XLEJlOih2LGspPT57bi5sb2FkZXIuS2EodixrKX19OwpuLnNjaGVkdWxlLkouViYmKEQucVk9KG4udmlkZW9UcmFjay5QSj8uaW5mby5Oc3x8MCkrKG4uYXVkaW9UcmFjay5QSj8uaW5mby5Oc3x8MCkpO24uaG4mJihELmokPVcuQXdbMF0uaiQsRC5aQT1XLlpBLEQuaG49bi5obik7Yj17Vzc6d0xVKFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSksZTE6bi5wb2xpY3kuc1YmJnlzKFcpJiZXLkF3WzBdLlBKLmluZm8udmlkZW8/RWpaKG4uY1YpOnZvaWQgMCxTTjpuLnBvbGljeS5UQyxwb1Rva2VuOm4ubG9hZGVyLk1ZKCksVWo6bi5sb2FkZXIuVTQoKSxKTzppc05hTihuLkpPKT9udWxsOm4uSk8sYUk6bi5hSSxQbjpuLlBuLHEkOmJ9O3JldHVybiBuZXcgQUIobi5wb2xpY3ksVyxELG4ubm4sKHYsayk9Pnt0cnl7YTp7bGV0IE1pPXYuaW5mby5Bd1swXS5QSixNVT1NaS5pbmZvLnZpZGVvP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2s7aWYoISh2LnN0YXRlPj0yKXx8di5pc0NvbXBsZXRlKCl8fHYuQWcoKXx8ISghbi5sb2FkZXIubWVkaWFTb3VyY2V8fApuLmxvYWRlci5pc1N1c3BlbmRlZHx8TVUuenMoKT4zKSl7e3ZhciBoPW4ucG9saWN5LHg9bi5ubjtsZXQgSUM9di5BZygpO2lmKHYuaXNDb21wbGV0ZSgpfHwhSUN8fHYuaW5mby5YYi5wUyhoLHgpKXZhciBMPTA7ZWxzZXt2YXIgZT1oLnpmO2lmKCFlfHxJQzxlKUw9MDtlbHNle3ZhciBHPVVZKHgsRjUodi5pbmZvLlhiLCEwLGgpKTtMPUcuTnx8Ry50aW1lZE91dHx8Ry5zdGFydGVkPzA6Mn19fUw9PT0xJiYobi5WPSEwKTtmckMobix2LEwpO2lmKHYuaXNDb21wbGV0ZSgpfHx2LnFOKCkmJms8Myl7aWYobi5wb2xpY3kuVyl7bGV0IElDPXYudGltaW5nLkQoKTtJQy5yc3Q9di5zdGF0ZTtJQy5zdHJtPXYueGhyLkdwKCk7SUMuY25jbD12LnhociYmdi50NS5YPzE6MDtuLmxvYWRlci5VKCJycXMiLElDKX12Lm9QJiZuLmxvYWRlci5VKCJzYndlMyIse30sITApfWlmKCFuLnFOKCkmJnYuc3RhdGU+PTIpe1hTaChuLnRpbWluZyx2LE1pKTt2YXIgcj1uLmxvYWRlcjtuLkpPJiZ2Lnp3JiYKciYmKG4uSk89TmFOLG4ubG9hZGVyLm45KHYuencpLG4ubG9hZGVyLk1qKCksbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWsiLHttZWRpYVRpbWVTZWNvbmRzOnYuend9KSk7di50ViYmbi5KTyYmdi50ViYmIXYudFYuYWN0aW9uJiYobi5sb2FkZXIud1Iobi5KTyksbi5KTz1OYU4sbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWtGYWxsYmFjayIse3RhcmdldFV0Y1RpbWVTZWNvbmRzOm4uSk99KSk7di5BaCYmbi5sb2FkZXIuc1codi5BaCk7bi5wb2xpY3kuTmQmJihuLlBuPXYuUG4pO2lmKHYuc3RhdGU9PT0zKXtFNChNVSx2KTt5cyh2LmluZm8pJiZDcihuLE1VLE1pLCEwKTtpZihuLnNVKXtsZXQgSUM9di5pbmZvLllsKCk7SUMmJm4uc1UuWjUodi5pbmZvLkF3WzBdLmokLE1pLmluZm8uaWQsSUMpfW4ubG9hZGVyLkJZKCl9ZWxzZSBpZih2LmlzQ29tcGxldGUoKSYmdi5pbmZvLkF3WzBdLnR5cGU9PT01KXtpZih2LnN0YXRlIT09NCl2LnRuKCkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKHYuVkcoKSwKdi55MCgpKTtlbHNle3ZhciBOPSh2LmluZm8uQXdbMF0uUEouaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5KWzBdfHxudWxsO04mJk4gaW5zdGFuY2VvZiBBQiYmTi5BZygpJiZOLk1CKCl9di5kaXNwb3NlKCl9ZWxzZXtpZighdi50bigpJiZ2LmZKJiZ2LnN0YXRlPj0yJiZ2LnN0YXRlIT09Myl7dmFyIEg9di54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIlgtUmVzcG9uc2UtSXRhZyIpO2lmKEgpe3ZhciBBPXlrcihuLmNWLEgpLHk9di5pbmZvLlc7aWYoeSl7dmFyIFQ9eS1BLkhKKCk7QS5jSj0hMDt2LmluZm8uQXdbMF0uUEouY0o9ITE7dmFyIHo9QS5ZKFQpO3YuaW5mbz16O2lmKHYuV28pe3ZhciBDPXYuV28sUT16LkF3OyhRLmxlbmd0aCE9PUMuQXcubGVuZ3RofHxRLmxlbmd0aDxDLmpTLmxlbmd0aCkmJmcuY18oImRhc2gvcmVxdWVzdCIsMjYwNTExMTE5LGAke1EubGVuZ3RofWAsYCR7Qy5Bdy5sZW5ndGh9YCxgJHtDLmpTLmxlbmd0aH1gKTtDLkF3PVE7bGV0IElDPQpRWzBdLnJhbmdlLElNPW5ldyBTNTtmb3Ioaz0wO2s8Qy5qUy5sZW5ndGg7aysrKWU1KElNLEMualNba10uSik7Zm9yKGs9MDtrPEMualMubGVuZ3RoO2srKyl7Qy5qU1trXS5pbmZvPVFba107bGV0IFlsPVFba10ucmFuZ2U7Qy5qU1trXS5KPWdkKElNLFlsLnN0YXJ0LUlDLnN0YXJ0LFlsLmxlbmd0aCl9fXYuZko9ITE7QjYobi5sb2FkZXIsbi52aWRlb1RyYWNrLEEpO3ZhciBWPW4udmlkZW9UcmFjaztWLk4mJihWLk4uUEo9QSk7bi5sb2FkZXIuWUooQS5pbmZvLnZpZGVvLnF1YWxpdHkpO3ZhciBMdD12Llh2KCk7THQmJkEuaW5mby5sYXN0TW9kaWZpZWQmJkEuaW5mby5sYXN0TW9kaWZpZWQhPT0rTHQmJkU0KG4udmlkZW9UcmFjayx2KX19ZWxzZSB2LmZKPSExfXYuWHQ/Lml0YWdEZW55bGlzdCYmbi5sb2FkZXIuV0Yodi5YdC5pdGFnRGVueWxpc3QpO2lmKHYuc3RhdGU9PT00KUYwKG4sdiksbi5KQyYmbi5KQy5TJCh2LmluZm8sbi5zVSk7ZWxzZSBpZihuLnBvbGljeS5lNCYmdi5RQSgpJiYKIXYuaXNDb21wbGV0ZSgpJiYhRjAobix2KSYmIXYudG4oKSlicmVhayBhO2lmKHYudG4oKSl7bGV0IElDPXYuaW5mby5Bd1swXS5QSixJTT12LlZHKCk7aWYoZ1ooMjQsMTE2NCxJQy5YYi5OKSl7bGV0IFR6PWcudXAodi5zOCgpLDMpO24ubG9hZGVyLlUoImRsZGJyZXJyIix7ZW06VHp8fCJub25lIn0pfWxldCBZbD12LmluZm8uQXdbMF0uaiQsajE9ekkobi5KQyx2LmluZm8uQXdbMF0uWCxZbCk7SU09PT0ibmV0LmJhZHN0YXR1cyImJihuLk4rPTEpO2lmKHYuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpKXtpZighKHYuaW5mby5YYi5KPj1uLnBvbGljeS5sTSYmbi5zVSYmdi5pbmZvLmlzRGVjb3JhdGVkKCkmJklNPT09Im5ldC5iYWRzdGF0dXMiJiZNMihuLnNVLGoxLFlsKSkpe3ZhciB0aT0oSUMuaW5mby52aWRlbyYmSUMuWGIuSj4xfHx2LmxOPT09NDEwfHx2LmxOPT09NTAwfHx2LmxOPT09NTAzKSYmISh3QyhuLmNWLmopLnNpemU+MCkmJiFnWig1NCwxMTg2LElDLlhiLk4pLEhaPQp2LnkwKCksWjE9SUMuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3RpJiYoSFouc3R1bj0iMSIpO24ubG9hZGVyLmhhbmRsZUVycm9yKElNLEhaKTtuLnFOKCl8fCh0aSYmYXEobi5jVixJQyksRTQoWjEsdiksbi5sb2FkZXIuQlkoKSl9fWVsc2UgQT0xLG4uc1UmJnYuaW5mby5pc0RlY29yYXRlZCgpJiZJTT09PSJuZXQuYmFkc3RhdHVzIiYmTTIobi5zVSxqMSxZbCkmJihBPTApLG4uS3UuaXNMaXZlJiZ2LlZHKCk9PT0ibmV0LmJhZHN0YXR1cyImJm4uTjw9bi5wb2xpY3kueGgqMj8oajQobi5LdSksbi5LdS5YZ3x8bi5LdS5pc1ByZW1pZXJlP2RWKG4ubG9hZGVyLDAse3FkOiJiYWRTdGF0dXNXb3JrYXJvdW5kIn0pOm4uS3UuaXNXaW5kb3dlZExpdmU/ZFYobi5sb2FkZXIsbi5LdS5KVSx7cWQ6ImJhZFN0YXR1c1dvcmthcm91bmQiLHFhOiEwfSk6UiQobi5sb2FkZXIpKTpuLmxvYWRlci5oYW5kbGVFcnJvcihJTSx2LnkwKCksQSk7aXNOYU4obi5KTyl8fChuLmxvYWRlci53UihuLkpPKSwKbi5KTz1OYU4pfW4ucG9saWN5LkhEJiYhdi5pc0NvbXBsZXRlKCk/UW8obi5sb2FkZXIpOm4ubG9hZGVyLkJZKCk7dmFyIFFqPXAwYih2LG4ucG9saWN5LG4ubm4pO2ZyQyhuLHYsUWopfX19fX1jYXRjaChNaSl7UWo9bi5qPzE6MCxuLmo9ITAsdj1qMihRaiksUWo9QiQoTWksUWopLG4ubG9hZGVyLmhhbmRsZUVycm9yKFFqLmVycm9yQ29kZSxRai5kZXRhaWxzLFFqLnNldmVyaXR5KSx2fHxuLmxvYWRlci56aSgpfX0sYil9OwpJcmI9ZnVuY3Rpb24obixXLEQpe2lmKGpxKG4sVyxEKSl7RD1uLkooVyxEKTtpZihuLnNVKXt2YXIgYj1ELkF3WzBdLlBKLmluZm8uaWQ7dmFyIHY9bi5KQzt2YXIgaz1ELkF3WzBdLmokO3Y9azwwJiYhaXNOYU4odi5qKT92Lmo6aztrPXpJKG4uSkMsRC5Bd1swXS5YLHYpO2xldCBMPVc9PT1uLmF1ZGlvVHJhY2s/MToyLGU9RC5Bd1swXS5QSi5pbmZvLklCLEc9Yi5zcGxpdCgiOyIpWzBdO2E6e3ZhciBoPW4uSkM7aWYoaC5OKXt2YXIgeD1oLk4uZmYuZXZlbnQ7aWYoaC5OLmokPT09dil7aD14PT09InByZWRpY3RTdGFydCI/dm9pZCAwOmguTi5mZi5ldmVudDticmVhayBhfWlmKGguTi5qJD09PXYtMSl7aD14PT09InN0YXJ0Inx8eD09PSJjb250aW51ZSI/eDp2b2lkIDA7YnJlYWsgYX19aD12b2lkIDB9aWYobi5wb2xpY3kuVlEmJm4uSkMuSiE9PTApYj1nLkp5aShuLnNVLGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYiYmKG4ubG9hZGVyLlUoInNkYWkiLAp7c3NkYWlpbmZvOiIxIixkczpiLk15Py5CZnx8IiIsc2tpcHNxOmIuTXk/LkRKfHwtMSxpdGFnOkcsZjplLHNnOnYsc3Q6ay50b0ZpeGVkKDMpfSksRC5YPWIpO2Vsc2UgaWYoYj1uLnNVLllsKGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYil7az17ZGVjX3NxOnYsaXRhZzpHLHN0OmsudG9GaXhlZCgzKX07aWYobi5wb2xpY3kubiQmJlcuaXNSZXF1ZXN0UGVuZGluZyh2LTEpKXtuLmxvYWRlci5VKCJzZGFpIix7d3RfZGFpc3RhdGVfb25fc2c6di0xfSk7cmV0dXJufW4ubG9hZGVyLlUoInNkYWkiLGspO2ImJihELk49bmV3IGcud1ooYikpO24ucG9saWN5LlcmJih2PUQuWGIuVy5nZXQoImlkIil8fCIiLGI9RC5OPy5nZXQoImlkIil8fCIiLHYhPT1iJiZuLmxvYWRlci5VKCJzdG1pZG1pc21hdGNoIix7Y2lkOnYsYWlkOmJ9KSl9ZWxzZSBuLkpDLkohPT01JiZuLmxvYWRlci5VKCJzZGFpIix7bm9kZWNfc3E6dixpdGFnOkcsc3Q6ay50b0ZpeGVkKDMpfSl9bi5wb2xpY3kuQ20mJgpELkF3WzBdLmokIT09LTEmJkQuQXdbMF0uaiQ8bi5LdS5JdCYmKEQ9Vy5QSi5qKG4uS3UuSXQsITEpKTtPNChXLFZvKG4sRCkpO2l1KG4udGltaW5nKTtuLlc/Lk4oRC5YYil9fTsKWXppPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5KQztEPUQuTj9ELk4uZmY6bnVsbDtpZihuLnBvbGljeS5UQyYmRClyZXR1cm4gRC5zdGFydFNlY3MrRC5DZisxNTtXPU9iKG4ubG9hZGVyLFcpO24ucG9saWN5LmpXPjAmJihEPSgoMCxnLlIpKCktbi5sb2FkZXIucUcpLzFFMyxXPU1hdGgubWluKFcsbi5wb2xpY3kualcrbi5wb2xpY3kuTEsqRCkpO1c9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKStXO3JldHVybiBuLnBvbGljeS56NCYmKEQ9U3pNKG4ubG9hZGVyKStuLnBvbGljeS56NCxEPFcpPyhuLmxvYWRlci5VKCJtcmwiLHtvcmk6Vyxtb2Q6RH0sITApLG4ucG9saWN5LmxXJiZjNihuLmxvYWRlciksRCk6V307CmZyQz1mdW5jdGlvbihuLFcsRCl7aWYoRCE9PTApe2E6aWYoVz1XLmluZm8sRD1EPT09MixXLk4pVz1udWxsO2Vsc2V7dmFyIGI9Vy5Bd1swXTtpZihXLnJhbmdlKXZhciB2PVdfKFcucmFuZ2Uuc3RhcnQsTWF0aC5taW4oNDA5NixXLlcpKTtlbHNle2lmKFcuSiYmVy5KLmluZGV4T2YoIi9yYW5nZS8iKT49MHx8Vy5YYi5XLmdldCgiZGVmcmFnIik9PT0iMSJ8fFcuWGIuVy5nZXQoIm90ZiIpPT09IjEiKXtXPW51bGw7YnJlYWsgYX12PVdfKDAsNDA5Nil9dj1uZXcgd2soW25ldyBxSSg1LGIuUEosdiwiY3JlYXRlUHJvYmVSZXF1ZXN0SW5mbyIrYi5ZLGIuaiQpXSxXLkopO3YucFM9RDt2Lk49Vy5OO1c9dn1XJiZWbyhuLFcpfX07CkNyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCEoRC5OKCl8fEQuUyQoKXx8RC5jSnx8IUQuWGIuWShuLnBvbGljeSxuLm5uLG4ubG9hZGVyLkl3KXx8RC5pbmZvLklCPT09ImYifHxuLnBvbGljeS5OKSl7aWYoYil7Yj1uLklnO3ZhciB2PUQuaW5mbztiPXJWKGIsdi52aWRlbz9iLnBvbGljeS5SazpiLnBvbGljeS5JTSx2Lk5zKX1lbHNlIGI9MDtiPUQuWShiKTtuPVZvKG4sYik7VXYoYikmJk80KFcsbik7RC5jSj0hMH19OwpGMD1mdW5jdGlvbihuLFcpe2lmKFcucU4oKSlyZXR1cm4hMTt0cnl7dmFyIEQ9Vy5pbmZvLkF3WzBdLlBKO2xldCBoPUQuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3ZhciBiPWg7aWYobi5LdS5pc01hbmlmZXN0bGVzcyYmYil7bi5OPTA7Yi5qJiYoVy5xTigpLFcuaXNDb21wbGV0ZSgpfHxXLlFBKCksYi5qPSExKTtXLkloKCkmJm4ubG9hZGVyLkxyLklJKDEsVy5JaCgpKTt2YXIgdj1XLlRYKCksaz1XLmgwKCk7QzYobi5LdSx2LGspfWlmKFcuaW5mby5RbigpJiYhVXYoVy5pbmZvKSlmb3IobGV0IEwgb2YgVy54OSgpKWgudksoTCk7Yj1oO2ZvcihuLmxvYWRlci5nZXRDdXJyZW50VGltZSgpO2IuSi5sZW5ndGgmJmIuSlswXS5zdGF0ZT09PTQ7KXtsZXQgTD1iLkouc2hpZnQoKTt4WEMoYixMKTtiLlZRPUwuekQoKX1iLkoubGVuZ3RoJiZ4WEMoYixiLkpbMF0pO2xldCB4PSEhaVkoaCk7eCYmVyBpbnN0YW5jZW9mIFNuJiYoRC5pbmZvLmVTKCk/Z2oxKG4udGltaW5nKToKZTdiKG4udGltaW5nKSk7cmV0dXJuIHh9Y2F0Y2goaCl7Vz1XLnkwKCk7Vy5vcmlnaW49ImhyaHMiO2E6e249bi5sb2FkZXI7RD1oO2lmKEQgaW5zdGFuY2VvZiBFcnJvcil7Vy5tc2d8fChXLm1zZz1gJHtELm1lc3NhZ2V9YCk7Vy5uYW1lfHwoVy5uYW1lPWAke0QubmFtZX1gKTtpZihEIGluc3RhbmNlb2YgZy5ReCYmRC5hcmdzKWZvcihsZXQgW3gsTF1vZiBPYmplY3QuZW50cmllcyhELmFyZ3MpKVdbYGFyZyR7eH1gXT1gJHtMfWA7Zy5HcShEKTtpZihELmxldmVsPT09IldBUk5JTkciKXtuLkwuR20oVyk7YnJlYWsgYX19bi5oYW5kbGVFcnJvcigiZm10LnVucGxheWFibGUiLFcsMSl9cmV0dXJuITF9fTsKbVhiPWZ1bmN0aW9uKG4pe3ZhciBXPW4udmlkZW9UcmFjay5QSi5pbmRleDtuLmhuPW5ldyBBeVooe3NKOm4ucG9saWN5LnNKLHRJOm4ucG9saWN5LlYudEksTzg6Vy5VYygpLHgkOigpPT5XLngkKCksCk9nOigpPT5XLk9nKCl9KX07CktqaT1mdW5jdGlvbihuKXtpZihuLko/LmlzTG9ja2VkKCkpcmV0dXJuIG4udmlkZW9JbmZvczt2YXIgVz13QyhuLk4pLEQ9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi5Ocz5uLm9aLk5zPyExOiFXLmhhcyhiLmlkKSk7Cm4uTi5sbCgpJiYoRD1nLkVNKEQsYj0+Yi52aWRlby53aWR0aDw9ODU0JiZiLnZpZGVvLmhlaWdodDw9NDgwKSk7CnJldHVybiBEfTsKTyRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpRC5wdXNoKGcuVmYoYixuLkt1LnpXKSk7cmV0dXJuIER9OwpaJGk9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj8ucmVhc29uPT09Im0iPyJtIjpuLko/LnJlYXNvbj09PSJzIj8icyI6bi5KJiZQYlUobixuLkopP24uSi5yZWFzb246ImEifTsKUGJVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ub1ouSHcmJlcucmVhc29uPT09ImwifHxuLm9aLnFqPyExOm4ub1ouWWo/ITA6Vy5yZWFzb249PT0ibCJ8fFcucmVhc29uPT09ImIifHxXLnJlYXNvbj09PSJvIn07ClVYWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTi5OO2lmKEQpe24udmlkZW9JbmZvcz1uLlY7dmFyIGI9Zy5sXyhuLnZpZGVvSW5mb3Msdj0+di5pZD09PUQpOwpiJiZiLnZpZGVvLnF1YWxpdHlPcmRpbmFsPT09Vz9uLnZpZGVvSW5mb3M9W2JdOihiPW4udmlkZW9JbmZvcy5tYXAodj0+di5pZCksbi5sb2FkZXIuVSgic2FicnBmIix7cGZpZDpgJHtEfWAsCnZmaWRzOmAke2Iuam9pbigiLiIpfWB9KSxhJChuLFcsVyksbi5OLkRlKCIiKSl9ZWxzZSBhJChuLFcsVyl9OwphJD1mdW5jdGlvbihuLFcsRCl7bi52aWRlb0luZm9zPW4uVjtuLnZpZGVvSW5mb3M9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi52aWRlby5xdWFsaXR5T3JkaW5hbD49VyYmYi52aWRlby5xdWFsaXR5T3JkaW5hbDw9RCl9Owp5eXg9ZnVuY3Rpb24obixXKXtpZihuLlkpe3ZhciBEPWcuRU0obi5XLGI9PmIuaWQ9PT1uLlkpOwpyZXR1cm4gbkQobixEKS5pbmNsdWRlcyhXKX1EPWcuRU0obi5XLGI9PiEhYi5rWj8uaXNEZWZhdWx0KTsKcmV0dXJuIEQubGVuZ3RoPjA/bkQobixEKS5pbmNsdWRlcyhXKTpuRChuLG4uVykuaW5jbHVkZXMoVyl9OwpuRD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uS3Uuelc7cmV0dXJuIFcubWFwKGI9Pk1rKGcuVmYoYixEKSkpfTsKV2w9ZnVuY3Rpb24obixXLEQ9ITEpe0hlVShuLk4sVyxEKX07CmkkUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLkt1LGs9bi5MLmdldFZpZGVvRGF0YSgpLGg9bi5Fdix4PWpGTSh7aWo6bi5paix5UTprLkcoKSxMOm4uTCxuUjpuLm5SLG9aOm4ub1oscHo6bi5weixrRTpuLmtFLFVtOm4uVW0sRzc6bi5HNyxKJDpuLkokLFNmOm4uU2Ysc2FickxpY2Vuc2VDb25zdHJhaW50Omsuc2FickxpY2Vuc2VDb25zdHJhaW50LGo0Om4uajQscjA6bi5yMCxZczpuLllzLGVxOm4uZXEsb0c6ISFoLGF1dGhvcml6ZWRGb3JtYXRzOmsuYXV0aG9yaXplZEZvcm1hdHMsSTg6bi5JOCxsbDpuLmxsLEN4Om4uQ3gsZ0Q6bi5nRH0pLEw9U1YoayxuLnEkLG4ubmV4dFJlcXVlc3RQb2xpY3ksbi5SQSxuLmROLG4uYkosbi5yOCk7RCYmVyYmKEQ9TC5ycT9MLnJxLm1hcChyPT5yLnR5cGUpOltdLFcoInNhYnIiLHtzdG1jdHh0OkQuam9pbigiXyIpLAp1bnNudGN0eHQ6TC51dD9MLnV0LmpvaW4oIl8iKToiIn0pKTtXPW4uR2g7RD1uLk0kO0Q9PT12b2lkIDAmJlc9PT12b2lkIDAmJihEPUVUaih2LnpXLG4uZGs/LnZpZGVvKSxXPUVUaih2LnpXLG4uZGs/LmF1ZGlvKSk7aWYoay5hSSl2YXIgZT1rLmFJO3ZhciBHOyhrPW4ub1o/LlNhKSYmaz4wJiYobi5DeHx8bi5IZSkmJihHPW5ldyBVaW50OEFycmF5KGspKTtoPXtDbjp4LEJpOm4uQmksR2g6VyxNJDpELEV2OmgsdmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZzplLG1IOkwsZFM6R307YiYmbi5iSz9uLmJLLmxlbmd0aD4wJiYoaC5iSz1uLmJLKTpuLk15JiYoaC5NeT1uLk15KTtuLm9aPy5EdCgpJiYhVlQoKSYmKG4udU0mJihoLnVNPW4udU0pLG4uckcmJihoLnJHPW4uckcpKTtoLmVXPW4uZVc7aC5jRT12LkdDO3JldHVybiBofTsKRVRqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/W2cuVmYoVy5pbmZvLG4pXTpbXX07Cm9Uaj1mdW5jdGlvbihuLFcsRCl7Vz1CdyhuLlhiLHVuVShuLFcsRCksVyk7bi5ENSgpJiZXLnNldCgicHJvYmUiLCIxIik7bi5raCgpJiZXLnNldCgic2Jwcm9iZSIsIjEiKTtyZXR1cm4gV307CkRrPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9W10sYj1bXTtpZighbi5kYXRhKXJldHVybiBXO2Zvcih2YXIgdj0wO3Y8bi5kYXRhLmVXLmxlbmd0aDt2Kyspe3ZhciBrPW4uZGF0YS5lV1t2XTtELnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9Zm9yKHY9MDt2PG4uZGF0YS5CaS5sZW5ndGg7disrKWs9bi5kYXRhLkJpW3ZdLGIucHVzaChgaS4ke2suZm9ybWF0SWQ/Lml0YWd9X3NuLiR7ay5zZXF1ZW5jZU51bWJlcn1fc2wuJHtrLnZEfHxOYU59X2xiLiR7ay5TMH1fdHIuc18ke2suaHg/LnN0YXJ0VGlja3N9X2RfJHtrLmh4Py5sOH1fdF8ke2suaHg/LnRpbWVzY2FsZX1fZWRfJHtrLnUzfWApO1cucHRpbWU9bi5OPy5Dbj8ublJ8fDA7Vy5ydHlwZT1uLnJlcXVlc3RUeXBlO1cuYnJsPUQuam9pbigiOyIpO1cucHM9Yi5qb2luKCI7Iik7CnJldHVybiBXfTsKdW5VPWZ1bmN0aW9uKG4sVyxEKXtuLnBTPT09dm9pZCAwJiYobi5wUz1uLlhiLnBTKFcsRCkpO3JldHVybiBuLnBTfTsKdmw9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5OPy5lbmNyeXB0KFcsRCk7cmV0dXJuIGI/YjoobmV3IGIxKG4uTi5KKSkuZW5jcnlwdChXLEQpfTsKelpqPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt7dmFyIGI9bi5OO2xldCB2PXRFKCk7Yj12P25ldyBkWE0oYi5KLHYpOnZvaWQgMH1pZihiKXRyeXtyZXR1cm4gYXdhaXQgYi5lbmNyeXB0KFcsRCl9Y2F0Y2godil7fXJldHVybiB2bChuLFcsRCl9OwpscjI9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OP3paaihuLFcsbi5pdik6b24obi5OKS5lbmNyeXB0KFcsbi5pdil9OwpUOGg9ZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OPy5KKFcsbi5pdil9OwpDYnQ9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7dmFyIEQ9bi5OO0Quanx8KEQuaj1uZXcgaksxKEQuVykpO3JldHVybiBMNFooRC5qLFcsbi5pdil9OwpCOGk9YXN5bmMgZnVuY3Rpb24obixXLEQpeygwLGcuUikoKTtyZXR1cm4gbi5OLk4/elpqKG4sVyxEKTpvbihuLk4pLmRlY3J5cHQoVyxEKX07CncwYj1mdW5jdGlvbihuLFcpe3ZhciBEPVc/LnByaW1hcnk7a3cobiwwLEQpO0Q9RD9GamooRCk6dm9pZCAwO2t3KG4sMixEKTtrdyhuLDEsVz8uc2Vjb25kYXJ5KX07CmhnPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gbmV3IGcud1ooYCR7RD8iaHR0cCI6Imh0dHBzIn06Ly8ke1d9JHtuLkIuUFguYmFzZVVybH1gKX07Cmt3PWZ1bmN0aW9uKG4sVyxEKXtEPyhEPUQgaW5zdGFuY2VvZiBnLndaP0Q6aGcobixEKSxuLk4uZ2V0KFcpPy5OKCkhPT1SMCg5OCwzNTcwLEQpJiZuLk4uc2V0KFcsbmV3IE1kaihELFcpKSk6bi5OLmRlbGV0ZShXKX07CkZqaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC8oXGQrKS0tLS9nLChXLEQpPT57Vz1OdW1iZXIoRCk7cmV0dXJuYCR7Vz09PTE/MjpXLTF9LS0tYH0pfTsKUlpoPWZ1bmN0aW9uKG4sVz0hMSxEKXt2YXIgYj1nLlloKG4uQi5leHBlcmltZW50cywiZGVidWdfYmFuZGFpZF9ob3N0bmFtZSIpO3JldHVybiBiPyhXPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJkZWJ1Z19iYW5kYWlkX3BvcnQiKSxiPVc+MD9gJHtifToke1d9YDpiLFc9bi5CLmV4cGVyaW1lbnRzLkVxKCJkZWJ1Z19iYW5kYWlkX2luc2VjdXJlX3NjaGVtZSIpLGhnKG4sYixXKSk6VyYmRD8udXJsJiYhbi5KPyhiPVIwKDY3LDM1MzksbmV3IGcud1ooRC51cmwpKSxoZyhuLGIpKTpuLk4uZ2V0KDApPy5sb2NhdGlvbi5jbG9uZSgpfTsKTEQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1oZyhuLCJyZWRpcmVjdG9yLmdvb2dsZXZpZGVvLmNvbSIpO0Quc2V0KCJhbHIiLCJ5ZXMiKTtELnNldCgiaWQiLGAke01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTUpfWApO2lmKFc9PT0xfHxXPT09MilELnNldCgiY21vPXNlbnNpdGl2ZV9jb250ZW50IiwieWVzIiksRC5zZXQoInNjIiwieWVzIik7Vz09PTImJkQuc2V0KCJjbW89dGQiLCJjLnlvdXR1YmUuY29tIik7dmFyIGI9YXdhaXQgZy5yOChELldEKCkse2Zvcm1hdDoiUkFXIix0aW1lb3V0OjVFM30pO2lmKGIueGhyLnN0YXR1cyE9PTIwMHx8IWIueGhyLnJlc3BvbnNlVGV4dClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfbm9faG9zdCIsRC5XRCgpLGIueGhyLnN0YXR1cykpO3ZhciB2PW5ldyBnLndaKGIueGhyLnJlc3BvbnNlVGV4dCk7RD1SMCgzNCwzNTA2LHYpO2I9di5nZXQoIm1zIik7bj1oZyhuLEQpO3Y9di5nZXQoIm1tIik7bi5zZXQoIm1zIiwKYik7bi5zZXQoIm1tIix2KTtyZXR1cm4gRCYmUUt4KEQpP1chPT0yfHx4dyhEKT9uOlByb21pc2UucmVqZWN0KG5ldyBnLlF4KCJiMjA0MjU4MzcxX3VudHJ1c3RlZCIsRCxiKSk6UHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfaW52YWxpZCIsRCxiKSl9Owp2YXIgSFd0PWZ1bmN0aW9uKG4pe3JldHVybiBSMFtJWzEwXV0odGhpcyw0MSw1ODQ5LG4pfTsKVmR0PWZ1bmN0aW9uKG4sVyl7bj1gaHR0cHM6Ly8ke1cuTigpfS9pbml0cGxheWJhY2s/Yz0ke2xvKG4uQil9Jm93Yz0xYDtxVyhuLCJwdyIsRD0+e0QuaHQ9Vy5KfSl9OwplUj1mdW5jdGlvbihuLFcsRCxiKXtxVyhgaHR0cHM6Ly8ke1d9L3ZpZGVvcGxheWJhY2s/cHJvYmU9MWAsRCx2PT57IWIuUygiaHRtbDVfb25lc2llX2hvc3RfcmFjaW5nIil8fGIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHxiLlMoImh0bWw1X29uZXNpZV9wcm9iZV9lY19ob3N0cyIpfHxiLldSfHxjeVooYik7bi5XLnB1c2godil9LHY9PntuLlcucHVzaCh2LmRldGFpbHMpfSl9OwpRS3g9ZnVuY3Rpb24obil7cmV0dXJuLy4qKFwuY1wueW91dHViZVwuY29tfC4qXC5nb29nbGV2aWRlb1wuY29tKS8udGVzdChuKX07Cnh3PWZ1bmN0aW9uKG4pe3ZhciBXPS9zbi1bXi5dKi0vO3JldHVybi8uKlwuY1wueW91dHViZVwuY29tLy50ZXN0KG4pJiYhVy50ZXN0KG4pfTsKZ2o9ZnVuY3Rpb24obil7Zm9yKDtuLk4ubGVuZ3RoJiYhbi5OWzBdLmlzRW5jcnlwdGVkOyl7bGV0IHt2aWRlb0lkOkQsYXU6Yixmb3JtYXRJZDp2LGJ1ZmZlcjprLGlFOmh9PW4uTi5zaGlmdCgpO2lmKGspbi5OSS5ZYS5uQT8uZ2V0KEQpPy5OKGIsdixrKTtlbHNlIGlmKGgpbi5OSS5ZYS5ZaChELGIsdik7ZWxzZXt2YXIgVz1uLk5JO1cuTlt2XS5TdT0hMDtXPVcuWWEubkE/LmdldChEKTtXPy5nRih2KSYmVz8uSih2KX19fTsKZy5EMHI9ZnVuY3Rpb24obil7Zm9yKDshbi5YJiYhbi5lcnJvcjspe3ZhciBXPW47Vy5YPSEhWEIoVywxKTtzd2l0Y2goWEIoVywyKSl7Y2FzZSAyOnZhciBEPXZvaWQgMCxiPVtdLHY9W107di5sZW5ndGg9MTk7di5maWxsKDApO3ZhciBrPVhCKFcsNSkrMjU3O0Q9WEIoVyw1KSsxO3ZhciBoPVhCKFcsNCkrNDtmb3IodmFyIHg9MDt4PGg7eCsrKXZbYXJ4W3hdXT1YQihXLDMpO3Y9cVAodik7Zm9yKGg9aytEO2IubGVuZ3RoPGg7KXt4PW5SdChXLHYpO2xldCBMO3N3aXRjaCh4KXtjYXNlIDE2Ong9YltiLmxlbmd0aC0xXTtMPVhCKFcsMikrMzticmVhaztjYXNlIDE3Ong9MDtMPVhCKFcsMykrMzticmVhaztjYXNlIDE4Ong9MDtMPVhCKFcsNykrMTE7YnJlYWs7ZGVmYXVsdDpMPTF9Zm9yKDtMPjA7TC0tKWIucHVzaCh4KX1iLmxlbmd0aCE9PWg/Vy5lcnJvcj0hMDooRD1iLnNsaWNlKC1EKSxiLmxlbmd0aD1rLFdZaChXLGIsRCkpO2JyZWFrO2Nhc2UgMTpXWWgoVyxHYyx0Zyk7YnJlYWs7CmNhc2UgMDokdyhXLFcuTiY3KTtiPVhCKFcsMTYpO2s9WEIoVywxNik7KGJeaykhPT02NTUzNSYmKFcuZXJyb3I9ITApO2s9Vy5kYXRhLnN1YmFycmF5KFcuSixXLkorYik7Vy5vdXRwdXQuc2V0KGssVy5XKTtXLkorPWI7Vy5XKz1iO2JyZWFrO2RlZmF1bHQ6Vy5lcnJvcj0hMH1uLlc+bi5vdXRwdXQubGVuZ3RoJiYobi5vdXRwdXQ9bmV3IFVpbnQ4QXJyYXkobi5XKjIpLG4uVz0wLG4uSj0wLG4uWD0hMSxuLk49MCxuLnJlZ2lzdGVyPTApfW4ub3V0cHV0Lmxlbmd0aCE9PW4uVyYmKG4ub3V0cHV0PW4ub3V0cHV0LnN1YmFycmF5KDAsbi5XKSk7cmV0dXJuIG4uZXJyb3I/bmV3IFVpbnQ4QXJyYXkoMCk6bi5vdXRwdXR9OwpYQj1mdW5jdGlvbihuLFcpe2Zvcig7bi5OPFc7KXtpZihuLko+PW4uZGF0YS5sZW5ndGgpcmV0dXJuIG4uZXJyb3I9ITAsMDtuLnJlZ2lzdGVyfD1uLmRhdGFbbi5KKytdPDxuLk47bi5OKz04fXZhciBEPW4ucmVnaXN0ZXImKDE8PFcpLTE7bi5yZWdpc3Rlcj4+PVc7bi5OLT1XO3JldHVybiBEfTsKV1loPWZ1bmN0aW9uKG4sVyxEKXtXPXFQKFcpO0Q9cVAoRCk7Zm9yKHZhciBiPW4uZGF0YSx2PW4ub3V0cHV0LGs9bi5XLGg9bi5yZWdpc3Rlcix4PW4uTixMPW4uSjs7KXtpZih4PDE1KXtpZihMPmIubGVuZ3RoKzEpe24uZXJyb3I9ITA7YnJlYWt9aHw9KGJbTCsxXTw8OCkrYltMXTw8eDtMKz0yO3grPTE2fXZhciBlPVdbaCYxMjddO2lmKGU8MClmb3IoaD4+PTc7ZTwwOyllPVdbKGgmMSktZV0saD4+PTE7ZWxzZSBoPj49ZSYxNTt4LT1lJjE1O2U+Pj00O2lmKGU8MjU2KXZbaysrXT1lO2Vsc2UgaWYobi5yZWdpc3Rlcj1oLG4uTj14LG4uSj1MLGU+MjU2KXtoPXJqW2VdO2grPVhCKG4sc3FbZV0pO0w9blJ0KG4sRCk7eD1OUFtMXTt4Kz1YQihuLHBEW0xdKTtpZihieVomJmg8eCl4PWsteCx2LmNvcHlXaXRoaW4oayx4LHgraCk7ZWxzZSBmb3IoTD1rK2gsZT1rO2U8TDtlKz00KXZbZV09dltlLXhdLHZbZSsxXT12W2UteCsxXSx2W2UrMl09dltlLXgrMl0sdltlKzNdPXZbZS14KzNdOwprKz1oO2g9bi5yZWdpc3Rlcjt4PW4uTjtMPW4uSn1lbHNlIGJyZWFrfW4uVz1rfTsKblJ0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPDcpe3ZhciBEPW4uZGF0YTtsZXQgYj1uLko7Yj5ELmxlbmd0aCYmKG4uZXJyb3I9ITApO24ucmVnaXN0ZXJ8PShEW2IrMV08PDgpK0RbYl08PG4uTjtuLkorPTI7bi5OKz0xNn1EPVdbbi5yZWdpc3RlciYxMjddO2lmKEQ+PTApcmV0dXJuICR3KG4sRCYxNSksRD4+NDtmb3IoJHcobiw3KTtEPDA7KUQ9V1tYQihuLDEpLURdO3JldHVybiBEPj40fTsKJHc9ZnVuY3Rpb24obixXKXtuLk4tPVc7bi5yZWdpc3Rlcj4+PVd9OwpxUD1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IodmFyIEQgb2YgbilXW0RdfHwoV1tEXT0wKSxXW0RdKys7dmFyIGI9V1swXT0wO0Q9W107dmFyIHY9MCxrPTA7Zm9yKHZhciBoPTE7aDxXLmxlbmd0aDtoKyspV1toXT9rPWg6V1toXT0wLGI9YitXW2gtMV08PDEsRFtoXT1iLGg+NyYmKHYrPVdbaF0pO2ZvcihiPTE7Yjx2OyliPDw9MTtXPTEyODtrPW5ldyBJbnQxNkFycmF5KDEyOCsoYitrKSoyKTtmb3Iodj0wO3Y8bi5sZW5ndGg7disrKXtoPW5bdl07aWYoIWgpY29udGludWU7dmFyIHg9RFtoXSsrO2I9MDtmb3IodmFyIEw9MDtMPGg7TCsrKWI9Yjw8MXx4Pj5MJjE7eD12PDw0fGg7aWYoaDw9Nylmb3IoTD0xPDw3LWg7TC0tOylrW0w8PGh8Yl09eDtlbHNle0w9YiYxMjc7aC09Nztmb3IoYj4+PTc7aC0tOyl7a1tMXXx8KGtbTF09LVcsVys9Mik7bGV0IGU9YiYxO2I+Pj0xO0w9ZS1rW0xdfWtbTF09eH19cmV0dXJuIGt9OwpZdz1mdW5jdGlvbihuLFcpe24uVyhgZGNtcHJzXyR7bi5jb250ZXh0fV8ke24uTn1fZ3pfJHtXfWApfTsKdlJ3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE9vKG4sZnVuY3Rpb24oKXt2YXIgRD10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1EYXRlLm5vdygpO3RyeXtZdyhELCJzIik7dmFyIHY9eWllbGQqUFAoVygpKTtpZighdil0aHJvdyBFcnJvcigibm8gcmVzdWx0Iik7WXcoRCwiZSIpO3JldHVybiB2fWNhdGNoKGgpe1l3KEQsImYiKTt2YXIgaz1oO0QuSihrLCJneiIpO3Rocm93IGg7fWZpbmFsbHl7dj1EYXRlLm5vdygpLEQuYmooImd6Iix2LWIsayl9fSgpfSl9OwplU2o9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgdj0oayxoKT0+dlJ3KG5ldyBrMWkoayxELGIpLCgpPT5IUChoKG4pKSk7CmlmKEhsKXRyeXtyZXR1cm4geWllbGQqUFAodigibiIsaFMxKSl9Y2F0Y2goayl7fWlmKFcpdHJ5e3JldHVybiB5aWVsZCpQUCh2KFcuaXNBc21qcz8iYSI6InciLGs9PngwQyhrLFcpKSl9Y2F0Y2goayl7fXJldHVybiB5aWVsZCpQUCh2KCJwIixMWTIpKX0oKX0pfTsKaFMxPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFIbCl0aHJvdyBFcnJvcigiRGVjb21wcmVzc2lvblN0cmVhbSBpcyBub3Qgc3VwcG9ydGVkIik7dmFyIFc9WksudFgoKSxEPW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYj1ELndyaXRhYmxlLmdldFdyaXRlcigpO2Iud3JpdGUobik7Yi5jbG9zZSgpO249RC5yZWFkYWJsZS5nZXRSZWFkZXIoKTtmb3IoRD1uZXcgUzUoW10pOzspe2xldCB7dmFsdWU6dixkb25lOmt9PWF3YWl0IG4ucmVhZCgpO2lmKGspYnJlYWs7RC5hcHBlbmQodil9bj10UihEKTtaSy5lVSgiZ3puYiIsVyxNYXRoLmNlaWwobi5ieXRlTGVuZ3RoLzE2KSk7cmV0dXJuIG59OwpMWTI9ZnVuY3Rpb24obil7dmFyIFc9WksudFgoKTtuPWcuRDByKG5ldyBnLmdSYihuKSk7WksuZVUoImd6amIiLFcsTWF0aC5jZWlsKG4uYnl0ZUxlbmd0aC8xNikpO3JldHVybiBufTsKeDBDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9WksudFgoKTtuPVcubWVtb3J5LmNvcHlJbihuKTt0cnl7bGV0IHY9bi5ieXRlT2Zmc2V0LGs9bi5ieXRlTGVuZ3RoLGg9Vy5leHBvcnRzLmdldEluZmxhdGVkU2l6ZSh2LGspO2lmKGg9PT0wKXRocm93IEVycm9yKCJ3YXNtX2d6OiBiYWQgaW5wdXQiKTtsZXQgeD1XLm1lbW9yeS5tYWxsb2MoaCksTD1XLmV4cG9ydHMuaW5mbGF0ZUd6aXAodixrLHgpO2lmKEwpdGhyb3cgVy5tZW1vcnkuZnJlZSh4KSxFcnJvcihgd2FzbV9nejogZmFpbCR7TH1gKTt2YXIgYj1XLm1lbW9yeS5idWZmZXIoeCxoKX1maW5hbGx5e1cubWVtb3J5LmZyZWUobi5ieXRlT2Zmc2V0KX1XPVcubWVtb3J5Lm1vdmVPdXQoYik7WksuZVUoImd6d2IiLEQsTWF0aC5jZWlsKFcuYnl0ZUxlbmd0aC8xNikpO3JldHVybiBXfTsKZkQ9ZnVuY3Rpb24obil7dmFyIFc9bi5xdWV1ZTtXLk4ubGVuZ3RoJiZXLk5bMF0uaXNFbmNyeXB0ZWQmJiFXLkomJihXLk4ubGVuZ3RoPTApO2ZvcihsZXQgRCBvZiBPYmplY3Qua2V5cyhuLk4pKXtsZXQgYj1uLk5bRF07Yi5TdXx8KFc9bi5xdWV1ZSxXLk4ucHVzaCh7dmlkZW9JZDpiLnZpZGVvSWQsZm9ybWF0SWQ6RCxpc0VuY3J5cHRlZDohMX0pLFcuSnx8Z2ooVykpfX07ClhCdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcudG90YWxMZW5ndGgsYj0hMTtzd2l0Y2gobi5XKXtjYXNlIDA6bi5qcChXLG4uWCkudGhlbih2PT57dmFyIGs9bi5ZYTtrLkRrKCJvcHJyIik7ay5wbGF5ZXJSZXNwb25zZT12O2suVUl8fChrLkIyPSExKTtKZyhrKX0sdj0+e24uWWEuZmFpbCh2KX0pOwpicmVhaztjYXNlIDI6bi5Eaygib3JtayIpO1c9dFIoVyk7bi5xdWV1ZS5kZWNyeXB0KFcpO2JyZWFrO2RlZmF1bHQ6Yj0hMH1uLllhLnhHJiZuLllhLlUoIm9tYnVwIixgaWQuMTE7cHQuJHtuLld9O2xlbi4ke0R9JHtiPyI7aWdub3JlZC4xIjoiIn1gKTtuLlc9bnVsbH07CnFQaT1mdW5jdGlvbihuLFcpe24uWWEuRGsoIm9wcmd6Ml9zIik7Vz1lU2ooVyxuLllhLkcoKS5qXygpLG4uWWEueEc/bi5ZYS5VLmJpbmQobi5ZYSk6KCk9Pnt9LEQ9PntuLllhLkRrKEQpfSk7ClNrKFcsKCk9PntuLllhLkRrKCJvcHJnejJfZSIpfSwoKT0+e24uWWEuRGsoIm9wcmd6Ml9mIil9KTsKcmV0dXJuIFd9OwpHMVM9YXN5bmMgZnVuY3Rpb24obixXKXtuLllhLkRrKCJvcHJnel9zIik7aWYoSGwpdHJ5e3ZhciBEPWF3YWl0IGhTMShXKTtuLllhLkRrKCJvcHJnel9uIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJuIn0pO3JldHVybiBEfWNhdGNoKGIpe24uWWEuVSgiZ3plcnIiLHtpbXBsOiJuYXRpdmUiLGVycjpgJHtifWB9KX1pZihEPW4uWWEuRygpLmpfKCkpdHJ5e2xldCBiPXgwQyhXLEQpO24uWWEuRGsoIm9wcmd6X3ciKTtuLllhLlUoIm9wcnNneiIse2k6IncifSk7cmV0dXJuIGJ9Y2F0Y2goYil7bi5ZYS5VKCJnemVyciIse2ltcGw6Indhc20iLGVycjpgJHtifWB9KX1XPUxZMihXKTtuLllhLkRrKCJvcHJnel9wIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJqIn0pO3JldHVybiBXfTsKdF9oPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57c2V0VGltZW91dChXLG4pfSl9OwokMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkcoKTtEPW4uWVomJkQuUygiaHRtbDVfb25lc2llX3ByZWxvYWRfdXNlX2NvbnRlbnRfb3duZXIiKTtpZigoVz1SWmgoVyxELG4uUWEpKSYmbi52aWRlb0lkKXtuPWcuZDEobi52aWRlb0lkKTtEPVtdO2lmKG4pZm9yKGIgb2YgbilELnB1c2goYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKTt2YXIgYj1ELmpvaW4oIiIpO1cuc2V0KCJpZCIsYik7cmV0dXJuIFd9fTsKck9oPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPTApe3ZhciBiPVtdO2IucHVzaChXLmxvYWQoKSk7RD4wJiZiLnB1c2godF9oKEQpKTthd2FpdCBQcm9taXNlLnJhY2UoYik7cmV0dXJuICQwYihuLFcpfTsKczlDPWZ1bmN0aW9uKG4sVyxELGI9ITEpe24uc2V0KCJjcG4iLFcuY2xpZW50UGxheWJhY2tOb25jZSk7bi5zZXQoIm9wciIsIjEiKTt2YXIgdj1XLkcoKTtuLnNldCgicG9yIiwiMSIpO3RFKCl8fG4uc2V0KCJvbmVtIiwiMSIpO1cuc3RhcnRTZWNvbmRzPjAmJm4uc2V0KCJvc3RzIixgJHtXLnN0YXJ0U2Vjb25kc31gKTtifHwodi5TKCJodG1sNV9vbmVzaWVfZGlzYWJsZV9wYXJ0aWFsX3NlZ21lbnRzIikmJm4uc2V0KCJvc2VzIiwiMSIpLFc9di5TKCJodG1sNV9nYXBsZXNzX29uZXNpZV9ub19tZWRpYV9ieXRlcyIpJiZBSihXKSYmVy5ZWixEJiYhVz8oVz1ELmF1ZGlvLG4uc2V0KCJwdmkiLEQudmlkZW8uam9pbigiLCIpKSxuLnNldCgicGFpIixXLmpvaW4oIiwiKSksTnN8fG4uc2V0KCJvc2giLCIxIikpOihuLnNldCgib2FkIiwiMCIpLG4uc2V0KCJvdmQiLCIwIiksbi5zZXQoIm9hYWQiLCIwIiksbi5zZXQoIm9hdmQiLCIwIikpKX07Ck5KaT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe3ZhciBrPWBodHRwczovL3lvdXR1YmVpLmdvb2dsZWFwaXMuY29tL3lvdXR1YmVpLyR7Vy5TVi5pbm5lcnR1YmVBcGlWZXJzaW9ufS9wbGF5ZXJgLGg9W3tuYW1lOiJDb250ZW50LVR5cGUiLHZhbHVlOiJhcHBsaWNhdGlvbi9qc29uIn1dO2ImJmgucHVzaCh7bmFtZToiQXV0aG9yaXphdGlvbiIsdmFsdWU6YEJlYXJlciAke2J9YH0pO2gucHVzaCh7bmFtZToiVXNlci1BZ2VudCIsdmFsdWU6Zy5YUSgpfSk7Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP2gucHVzaCh7bmFtZToiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIix2YWx1ZTpnLkFyKCJFT01fVklTSVRPUl9EQVRBIil9KTooRD1ELnZpc2l0b3JEYXRhfHxnLkFyKCJWSVNJVE9SX0RBVEEiKSkmJmgucHVzaCh7bmFtZToiWC1Hb29nLVZpc2l0b3ItSWQiLHZhbHVlOkR9KTsoRD1nLkFyKCJTRVJJQUxJWkVEX0xBVkFfREVWSUNFX0NPTlRFWFQiKSkmJmgucHVzaCh7bmFtZToiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiLAp2YWx1ZTpEfSk7KFc9Zy5ZaChXLmV4cGVyaW1lbnRzLCJkZWJ1Z19zaGVybG9nX3VzZXJuYW1lIikpJiZoLnB1c2goe25hbWU6IlgtWW91dHViZS1TaGVybG9nLVVzZXJuYW1lIix2YWx1ZTpXfSk7bj1JdyhKU09OLnN0cmluZ2lmeShuKSk7cmV0dXJue3VybDprLGUzOmgscG9zdEJvZHk6bixFYTp2LGU4OnZ9fTsKSWs9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPW4uWUMsRz1uLmRmO249bi5DVjt2YXIgcj1lIT09dm9pZCAwJiZHIT09dm9pZCAwLE49Yi5nZXRWaWRlb0RhdGEoKSxIPVcuTi5lbmNyeXB0ZWRDbGllbnRLZXk7Vz1yP1cuaXY6dm9pZCAwO3I9R0QoaywhMCk7dj12fHwhIXRFKCkmJnI+MTU3Mjg2NDtyZXR1cm57aW5uZXJ0dWJlUmVxdWVzdDp7d1M6bix2VTplLGRmOkcsZW5jcnlwdGVkQ2xpZW50S2V5OkgsaXY6VyxtdzohMCxGRDohMCxEWToiRGVjb21wcmVzc2lvblN0cmVhbSJpbiB3aW5kb3d8fCF2LHlKOiEwfSxDbjpqRk0oe2lqOmsseVE6RCxMOmIsblI6Ti5zdGFydFNlY29uZHMqMUUzLGhxOiEwfSksb25lc2llVXN0cmVhbWVyQ29uZmlnOmgsQng6eCxtSDpTVihOKSxyZWxvYWRQbGF5YmFja1BhcmFtczpOLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtcyxVazpMfX07CnBCeD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPWcubGgobixhZiksZTtpZighbi5lOClpZihlPVQ4aChXLEwpKXt2YXIgRz1lLkc0O2U9ZS5zaWduYXR1cmV9ZWxzZSBlPUc9Vy5lbmNyeXB0KEwpLCgwLGcuUikoKSxlPXBmKG5ldyBZJChXLk4uVyksZSxXLml2KTtyZXR1cm4gSWsoRyYmZT97WUM6RyxkZjplfTp7Q1Y6TH0sVyxELGIsISFuLmU4LHYsayxoLHgpfTsKWVBNPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dmFyIEw9Zy5saChuLGFmKTtMPWF3YWl0IGxyMihXLEwpO3ZhciBlPWF3YWl0IENidChXLEwpO3JldHVybiBJayh7WUM6TCxkZjplfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpIeVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4KXt2YXIgTD1nLmxoKG4sYWYpO2lmKEw9VDhoKFcsTCkpcmV0dXJuIElrKHtZQzpMLkc0LGRmOkwuc2lnbmF0dXJlfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpKT3c9YXN5bmMgZnVuY3Rpb24obixXLEQpe24uRGsoIm9wcmRfcyIpO1c9Zkl0KG4pP2F3YWl0IEI4aShuLnlxLFcsRCk6bi55cS5kZWNyeXB0KFcsRCk7bi5Eaygib3ByZF9jIik7cmV0dXJuIFd9OwpmSXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5TKCJodG1sNV9vbmVzaWVfc3luY19yZXF1ZXN0X2VuY3J5cHRpb24iKXx8Vz8uZTg/ITE6ISF0RSgpfTsKSUliPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X29uZXNpZV9ob3N0X3Byb2JpbmciKXx8bi54Rz9OczohMX07CkpnPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclJlc3BvbnNlKXJldHVybiExO2lmKG4uYmspcmV0dXJuITA7dmFyIFc9bi52aWRlb0RhdGEuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEobi52aWRlb0RhdGEpO2lmKG4ubkEmJm4uQjIpe2lmKCFuLm5BLmhhcyhuLkxjKSlyZXR1cm4hMTtsZXQgYj1uLm5BLmdldChuLkxjKTt2YXIgRDtpZihEPWIpe0Q9ITE7Zm9yKGxldCB2IG9mIGIudTkua2V5cygpKXtsZXQgaz1iLnU5LmdldCh2KTtpZihrKWZvcihsZXQgaCBvZiBrLkJ0KWguZUg+MCYmKGsuZVM/RD0hMDpXPSEwKX1EPSEoVyYmRCl9aWYoRClyZXR1cm4hMX1uLkRrKCJvZnIiKTtuLkNSLnJlc29sdmUobi5wbGF5ZXJSZXNwb25zZSk7cmV0dXJuIG4uYms9ITB9OwpBT009ZnVuY3Rpb24obil7aWYobi5uQSYmIW4uUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtuLkRrKCJvZ3NmX3MiKTt2YXIgVz16eFMobi5MLmdldFZpZGVvRGF0YSgpLChiLHYpPT57bi5VKGIsdil9KSxEPVNQTShuLkwpOwpXLnZpZGVvPWlfYihELFcudmlkZW8pO24uRGsoIm9nc2ZfYyIpO2lmKFcudmlkZW8ubGVuZ3RoKXJldHVybiBXO24uVSgib21ic3BmIixgbC4ke0QuSn07dS4ke0QuTn07by4ke0QuV307ci4ke0QucmVhc29ufWApfX07ClNSPWZ1bmN0aW9uKG4pe2lmKCFuLm5mKXJldHVybnt9O3ZhciBXPW4ubmYuRCgpO1cuZD1uLm5mLkR0Py5iWSgpO1cuc2hvc3Q9bi56YztXLnR5PSJvIjtyZXR1cm4gV307CmN5Wj1mdW5jdGlvbihuKXtuLkIyPSExO2lmKCFKZyhuKSl7dmFyIFc9U1Iobik7Vy50aW1lb3V0PSIxIjtuLmZhaWwobmV3IGcuQ2koIm9uZXNpZS5yZXF1ZXN0IixXKSl9fTsKUGw9ZnVuY3Rpb24obixXKXtpZihXLnFOKCl8fG4ucU4oKSluLnBvbGljeS5QTHx8KG4ucG9saWN5Lmo/Zy5BZyhuLmxvYWRlcik6bi5sb2FkZXIuQlkoKSk7ZWxzZXtpZihuLnBvbGljeS5XJiZXLmlzQ29tcGxldGUoKSYmVyBpbnN0YW5jZW9mIHV1KXt2YXIgRD1uLmxvYWRlcixiPUQuVTt2YXIgdj1PYmplY3QuYXNzaWduKFcubmYuRCgpLHtyc3Q6Vy5zdGF0ZSxzdHJtOlcueGhyLkdwKCksZDpXLm5mLkR0Py5iWSgpLGNuY2w6Vy54aHImJlcudDUuWD8xOjAscnFiOlcuRUYsY3d0OlcudDUuVyxzd3Q6Vy5QcT8uS059KTt2PU9iamVjdC5hc3NpZ24oRGsoVy5pbmZvKSx2KTtiLmNhbGwoRCwicnFzIix2KX1pZihXLmlzQ29tcGxldGUoKSYmVy5ENSgpJiZXIGluc3RhbmNlb2YgdXUpVy5kaXNwb3NlKCksbi5sb2FkZXIuQlkoKTtlbHNle2lmKFcucVEoKSluLkhlPSEwLFcgaW5zdGFuY2VvZiB1dSYmWFNoKG4udGltaW5nLFcpLG0wTShuKSxtdihuKTtlbHNlIGlmKFcudG4oKSlEPW4uTC5lSigpLApXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJkQmJihuLkIuWnQoKS5OLlFRKEtZeCl8fG4ubG9hZGVyLndSKEQpKSxXIGluc3RhbmNlb2YgdXUmJlcua2goKT8oVy5WRygpJiZuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLDApLFcuZGlzcG9zZSgpKTpXIGluc3RhbmNlb2YgdXUmJng2dyhXKT9uLmxvYWRlci5ETz8uVygpOlcgaW5zdGFuY2VvZiBLRD9uLk4ucG9wKCk6KEQ9MSxXLmNhblJldHJ5KCkmJnd1KG4ubG9hZGVyKSYmKE95WihuLFcpLEQ9MCksYj1uLkwuZUooKSxXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJmImJm4uQi5adCgpLk4uUVEoS1l4KSYmKFcuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpP24ubG9hZGVyLlUoInV0Y1NlZWtpbmdSZXRyeSIse3RhcmdldFV0Y1RpbWVTZWM6Yn0pOm4ubG9hZGVyLndSKGIpKSxuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLEQpKTtlbHNle2lmKG4ubG9hZGVyLmlzU3VzcGVuZGVkJiYKIVcuaXNDb21wbGV0ZSgpKXJldHVybjttdihuKX1XLnFOKCl8fFcgaW5zdGFuY2VvZiBLRHx8KEQ9MCxXLmlzQ29tcGxldGUoKSYmKEQ9cDBiKFcsbi5wb2xpY3ksbi5ubikpLEQhPT0wJiYoVy5pbmZvLlhiLmo/KEQ9Vy5pbmZvLEQ9bmV3IE9xKDIsRC5YYixELllhKSxELnBTPSExKTooYj1uZXcgT3EoMSxXLmluZm8uWGIpLGIucFM9RD09PTIsRD1iKSxQT3QobixEKSkpO2lmKFcuaXNDb21wbGV0ZSgpKXtpZihuLnBvbGljeS5RciYmbi52aWRlb0RhdGEuaXNPdGYoKSYmbi5CLlY9PT0icHciJiYhbi5PJiYhVy5xUSgpJiYhVy50bigpJiYhUlEobi52aWRlb0RhdGEpJiYhbi52aWRlb1RyYWNrLlRDKXtuLkN4PSExO24uTz0hMDtuLmxvYWRlci5ncCh7cmVhc29uOiJzYWJyLm5vX3ZpZGVvX3JlY2VpdmVkX29uX3N0YXJ0IixhY3Rpb246MH0pO3JldHVybn1uLkN4PSExO1cucVEoKXx8KG4uTz0hMCxuLkhlPSExKTtuLkIuUygiaHRtbDVfdXNlX21lZGlhX2ZldGNoX2NvbnRyb2xsZXIiKSYmCm4ubG9hZGVyLkwuV0ooInJlcXVlc3Rjb21wbGV0ZWQiKX1uLnBvbGljeS5IRCYmIVcuaXNDb21wbGV0ZSgpP1FvKG4ubG9hZGVyKTpuLmxvYWRlci5CWSgpfX19OwpaeVM9ZnVuY3Rpb24obil7bi5wb2xpY3kuTEImJihuLlZRPXZvaWQgMCxuLkc3PTApfTsKaXlpPWZ1bmN0aW9uKG4pe2lmKG4ubG9hZGVyLkFiKXJldHVybiBaayhuLCJwcmVwYXJpbmduZXh0bG9vcCIpLCExO2lmKCFVMFoobixuLlMkKSlyZXR1cm4gWmsobiwicmF0ZWxpbWl0ZWQiKSwhMTtpZihpUyhuLmF1ZGlvVHJhY2spJiZpUyhuLnZpZGVvVHJhY2spKXJldHVybiBaayhuLCJlbmRvZnN0cmVhbSIpLCExO2lmKG4ucG9saWN5LlUxKWlmKG4ucG9saWN5Llgpe2lmKG4uVk8/LmNKKCkpcmV0dXJuIFprKG4sInNzZGFpYmxvY2tlZCIpLCExfWVsc2V7dmFyIFc9ITE7aWYobi5KQy5KPT09MilXPSEwO2Vsc2UgaWYobi5KQy5KPT09Myl7VXEobik7bi5sb2FkZXIuU1coKTt2YXIgRD1QNihuLmF1ZGlvVHJhY2ssbi5sb2FkZXIuaXNTZWVraW5nKCkpLmVXO3ZhciBiPVA2KG4udmlkZW9UcmFjayxuLmxvYWRlci5pc1NlZWtpbmcoKSkuZVc7dmFyIHY9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKXx8MDtEPXl1KG4sRCx2KTtiPXl1KG4sYix2KTtiPU1hdGgubWluKEQsYik7dj1uLkpDOwpiPj12Llc/KHYuVSgic2RhaSIse2hhbHRycTpiLGVzdDp2Lld9KSxiPSEwKTpiPSExO2ImJihXPSEwKX1pZihXKXJldHVybiBaayhuLCJ3YWl0aW5nZm9yYWRzIiksITF9bi5wb2xpY3kudTUmJihuLnR3PUVxKG4sbi5hdWRpb1RyYWNrKSxuLmJkPUVxKG4sbi52aWRlb1RyYWNrKSk7aWYoIW4uSilyZXR1cm4gaTEobix7bm9wb2xpY3k6MX0pLCEwO2lmKG4uTC5lSigpKXJldHVybiBpMShuLHt1dGM6MX0pLCEwO2lmKG4uazYuSylyZXR1cm4gaTEobix7YXVkaW86MX0pLCEwO2lmKG4ucG9saWN5LnNaJiZuLms2LkQpcmV0dXJuIGkxKG4se2NvbnN0cmFpbnQ6MX0pLCEwO2lmKCFuLkoudGFyZ2V0QXVkaW9SZWFkYWhlYWRNc3x8IW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zKXJldHVybiBpMShuLHtub3JlYWRhaGVhZDoxfSksITA7aWYobi5wb2xpY3kuaiYmbi5sb2FkZXIuWFgoKSlyZXR1cm4gaTEobix7c2Vla1RvSGVhZDoxfSksITA7Vz1NYXRoLm1pbihPYihuLmxvYWRlcixuLmF1ZGlvVHJhY2spKgoxRTMsbi5KLnRhcmdldEF1ZGlvUmVhZGFoZWFkTXMpO2I9TWF0aC5taW4oT2Iobi5sb2FkZXIsbi52aWRlb1RyYWNrKSoxRTMsbi5KLnRhcmdldFZpZGVvUmVhZGFoZWFkTXMpO3Y9TWF0aC5taW4oVyxiKTt2YXIgaz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTMse0IxOmgsbDE6eCxjdjpMLGFrOmV9PXlPWihuLGspO0Q9aDx2O3ZhciBHPXg8djtpZih1MShuKSl7az1vayhuLlcsayk7dmFyIHI9azx2O24uTC5XWCgpJiZyJiYhRCYmIUcmJm4ubG9hZGVyLlUoInNhYnJjcm5tIix7Y3JhOmssbXByYTp2LGNicmw6bi5XLmxlbmd0aH0pfWlmKCEoRHx8R3x8dTEobikmJnIpKXJldHVybiBuLnBvbGljeS51NSYmbi5MLldYKCkmJihMPHZ8fGU8dikmJm4ubG9hZGVyLlUoInNhYnJuY3JxIix7Y2FyOmgsdmFjOngsYWJoOkwsdmJoOmUsbWFyOlcsbXZyOmJ9KSxaayhuLCJyZWFkYWhlYWRtZXQiKSwhMTtpZihuLnBvbGljeS5SVyYmRVJTKG4ubG9hZGVyKSYmbi52aWRlb0RhdGEuTlAoKSlyZXR1cm4gWmsobiwKInNob3J0c2J1ZmZlcmVkdG9lbmQiKSwhMTtpZihuLnBvbGljeS5XZCYmRVJTKG4ubG9hZGVyKSlyZXR1cm4gWmsobiwidm9kYnVmZmVyZWR0b2VuZCIpLCExO3I9bi5sb2FkZXIueXIoKTtyLmNhcj1oO3IudmFjPXg7ci5tYXI9VztyLm12cj1iO3IudGFyPW4uSi50YXJnZXRBdWRpb1JlYWRhaGVhZE1zO3IudHZyPW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zO3IucGNsPW4uSi5wbGF5YmFja0Nvb2tpZT8ubGVuZ3RofHwwO3IudmJ1PXJrKG4uTC5oNSgpPy5KKCl8fG51bGwpO3IuYWJoPUw7ci52Ymg9ZTtpMShuLHIpO3JldHVybiEwfTsKdWtoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE9xKDAsbi5LdS5ZLG4pO24uazYuRD0hMTtuLnBvbGljeS52WCYmbi5sb2FkZXIuVSgic2FicmNzYyIse3RvOm4ucG9saWN5LlRJLHJsOm4ucG9saWN5LnN6LHNidDpuLnBvbGljeS5DdT8xOjB9LCEwKTtuPVBPdChuLEQsVyk7bi5wb2xpY3kuRkYmJihuLlU4PW4ucG9saWN5LmpfKCkuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NyZWF0ZSgpKTtyZXR1cm4gbn07Cm9SdD1mdW5jdGlvbihuLFcpe2l5aShuKSYmKFc9dWtoKG4sVyksbi5OLnB1c2goVyksbi5ZPy5OKG4uS3UuWSksbi5WPjAmJm4uUyQuRXkrKyl9OwpQT3Q9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtpajpuLmlqLEJlOihrLGgpPT57bi5MLkthKGssaCl9LApORDpuLnBvbGljeS5XLEtwOm4ucG9saWN5LktwfTtuLmlqLkouViYmKGIucVk9KG4udmlkZW9UcmFjay5QSi5pbmZvLk5zfHwwKSsobi5hdWRpb1RyYWNrLlBKLmluZm8uTnN8fDApKTtuLnBvbGljeS5VVCYmKGIuTzg9bi5hdWRpb1RyYWNrLlBKLmluZGV4LlVjKCksYi5Rbj0hMSk7dmFyIHY9dW5VKFcsbi5wb2xpY3ksbi5ubik/MjoxO3YhPT1uLm51JiYobi5udT12LG0wTShuKSk7RD1kMGIobixEKTtpZihuLnBvbGljeS5ZJiZuLnBvbGljeS5XJiZELlJBKXtsZXQgaz12PSIiO2ZvcihsZXQgaCBvZiBELlJBKW4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5oYXMoaCl8fG4ucG9saWN5LlkmJkQuYkomJkQuYkoudHlwZT09PWg/dis9YF8ke2h9YDprKz1gXyR7aH1gO24ubG9hZGVyLlUoInNhYnJibGRycXMiLHtjdHh0czp2LG1pc2N0eHRzOmt9KX0hVy5zZXREYXRhKEQsbi5wb2xpY3ksbi5ubikmJm4ucG9saWN5LlkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKCJwbGF5ZXIuZXhjZXB0aW9uIiwKe3JlYXNvbjoiYnVpbGRzYWJycmVxdWVzdGRhdGFmYWlsZWQifSwxKTtiPW5ldyB1dShuLnBvbGljeSxXLG4uS3Usbi5ubixuLGIsbi5sb2FkZXIuVTQoKSk7aXUobi50aW1pbmcpO24ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyY3JxaW5mbyIse3JuOmIuY0EoKSxwcm9iZTpXLkQ1KCl9KTtyZXR1cm4gbi5GRj1ifTsKRXE9ZnVuY3Rpb24obixXKXtVcShuKTtuLmxvYWRlci5TVygpO3JldHVybiBQNihXLG4ubG9hZGVyLmlzU2Vla2luZygpKX07CnUxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBvbGljeS55RSYmISFuLlh9Owp5dT1mdW5jdGlvbihuLFcsRCl7bj1uLmxvYWRlci5TVygpfHwwO3JldHVybiBvayhXLChEK24pKjFFMykvMUUzK0R9OwpkMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1kaihuLmxvYWRlcikmJlcmJlcuU3MhPT12b2lkIDAmJiFXLmJNP01hdGguY2VpbCgoVy5Tcysobi5sb2FkZXIuU1coKXx8MCkpKjFFMyk6VXEobik7aWYobi5wb2xpY3kudTUpe3ZhciBiPW4udHc7dmFyIHY9bi5iZH1lbHNlIGI9RXEobixuLmF1ZGlvVHJhY2spLHY9RXEobixuLnZpZGVvVHJhY2spO3ZhciBrPVsuLi5iLmVXLC4uLnYuZVddO3UxKG4pJiZrLnB1c2goLi4ubi5XKTt2YXIgaD1bLi4uYi5CaSwuLi52LkJpXSx4PVtdO2Zvcih2YXIgTCBvZiBoKUwudkQhPT12b2lkIDAmJkwudkQ+TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/bi5sb2FkZXIuVSgic2FicnBzZWdsbXQiLHtsbXQ6TC52RCxpdGFnOkwuZm9ybWF0SWQ/Lml0YWcsc3E6TC5zZXF1ZW5jZU51bWJlcn0pOngucHVzaChMKTtoPW4ubG9hZGVyLmx1KCk7bi5wb2xpY3kuWW4mJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEw9bi52aWRlb0RhdGEubGVuZ3RoU2Vjb25kcyoKMUUzLEQ+PUwmJm4ubG9hZGVyLlUoImludmFsaWRTYWJyQ210Iix7Y210OkQsdmQ6TH0pKTtMPW4uaWo7dmFyIGU9bi5MLEc9bi5LdSxyPW4uSixOPW4udmlkZW9EYXRhLmJkLEg9bi5wb2xpY3ksQT1uLmxvYWRlci5xRyx5PW4uVlE/LmtFLFQ9bi5WUT8uVW0sej1uLkc3LEM9TnVtYmVyKG4uazYuWD8uaW5mby5pdGFnKXx8MCxRPU51bWJlcihuLms2Lmo/LmluZm8uaXRhZyl8fDAsVj1uLkwudzkoKTt2YXIgTHQ9Vz8uSiQ/Vy5KJDpuLmxvYWRlci5pc1N1c3BlbmRlZD80OnZvaWQgMDtEPXtpajpMLEw6ZSxLdTpHLGVXOmssQmk6eCxuUjpELG5leHRSZXF1ZXN0UG9saWN5OnIsUkE6TixvWjpILHB6OkEsa0U6eSxVbTpULEc3OnosdU06QyxyRzpRLHEkOmgscjg6VixKJDpMdCxDeDpuLkN4LGdEOm4uUFgsSGU6bi5IZX07az1uLmxvYWRlci5NWSgpO3g9Zy5kMShrKTtrJiYoRC5kTj14KTtpZihXPWRqKG4ubG9hZGVyKSYmVz8uYk0/Vy5TczpuLkwuZUooKSlELmo0PVcqMUUzO1c9bi5rNjsKaz1XLnR3O2lmKFcub1o/LkR0KCkmJiFrKWZvcih0aSBvZiBXLlcpaWYodGkua1ope2s9ITA7YnJlYWt9dmFyIHRpPVcub1ouRHQoKSYmIWs/W106TyRpKFcsVy5XKTtELkdoPXRpO3RpPW4uazY7dGkub1ouRHQoKSYmIXRpLmJkP3RpPVtdOihXPUtqaSh0aSksVy5sZW5ndGg9PT0wJiYoVz10aS5WKSx0aT1PJGkodGksVykpO0QuTSQ9dGk7RC5Fdj11MShuKT9bbi5YXTp2b2lkIDA7RC5JOD1BcnJheS5mcm9tKHdDKG4uazYuTikua2V5cygpLE51bWJlcik7RC5sbD1uLms2LmxsKCk7bi5wb2xpY3kuS0UmJihELllzPXpTMihuLmxvYWRlcixuLmF1ZGlvVHJhY2spLEQuZXE9elMyKG4ubG9hZGVyLG4udmlkZW9UcmFjaykpO3RpPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk7Yj15dShuLGIuZVcsdGkpO3Y9eXUobix2LmVXLHRpKTt2PU1hdGgubWluKGIsdik7bi5UQz12O24ucG9saWN5LlUxJiYodTEobikmJihiPXl1KG4sbi5XLHRpKSxuLkwuV1goKSYmYjx2JiZuLmxvYWRlci5VKCJzYWJyY2ZiIiwKe21ldDp2LGNldDpiLGNicmw6bi5XLmxlbmd0aH0pLHY9TWF0aC5taW4odixiKSksIW4ucG9saWN5LlgmJihiPW4uc1U/LlNQKHYpKSkmJihELk15PWIsbi5sb2FkZXIuVSgic2RhaSIse3NzaW5mbzpiLmN1ZXBvaW50SWR9KSk7bi5wb2xpY3kuWCYmKGI9bi52aWRlb0RhdGEuYkJbbi52aWRlb0RhdGEuSj8uY29udGFpbmVyVHlwZXx8MF0sdis9bi5sb2FkZXIuU1coKSxELmJLPW4uVk8/LlkodixiKSxELmJLJiZuLmxvYWRlci5VKCJjbHNkYWkiLHtzc2luZm9zOkQuYksubGVuZ3RofSksbi5WTz8uTygpKTtuLnBvbGljeS5ZJiZuLk4ubGVuZ3RoPjAmJm4uTlswXS5ETCgpJiYoRC5iSj1uLk5bMF0ubWYoKSk7cmV0dXJuIER9OwpVcT1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5qJiZuLmxvYWRlcj8uWFgoKSxEPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCl8fDA7RD1sSWIobixEKTthOmlmKG4ucG9saWN5LmZtJiZuLmxvYWRlci5pc1NlZWtpbmcoKSl7dmFyIGI9QTAobi52aWRlb1RyYWNrLEQpO24ubG9hZGVyLlUoImFzbXRmbmN0diIse2I6RCxhOmJ9KTtpZighaXNOYU4oYikpe0Q9YjticmVhayBhfX1iPW4ubG9hZGVyLlNXKCl8fDA7RCs9YjtiPVlwKG4udmlkZW9EYXRhKXx8Zy5wQShuLnZpZGVvRGF0YSk7dmFyIHY9MDtXPyhiJiYodj1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUiksbi52aWRlb0RhdGEuUkkmJih2PU1hdGguY2VpbChuLnZpZGVvRGF0YS5KVSoxRTMpKSk6dj1NYXRoLmNlaWwoRCoxRTMpO3JldHVybiBNYXRoLm1pbihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUix2KX07CmxJYj1mdW5jdGlvbihuLFcpe2lmKG4ubG9hZGVyLmlzU2Vla2luZygpKXJldHVybiBXO3ZhciBEPW4uTC5oNSgpO2lmKCFEKXJldHVybiBXO0Q9RC5KKCk7aWYoRC5sZW5ndGg9PT0wfHxCUihELFcpKXJldHVybiBXO2lmKCFuLnZpZGVvVHJhY2suZnAoVykmJiFuLmF1ZGlvVHJhY2suZnAoVykpcmV0dXJuIG4ubG9hZGVyLlUoInN1bmRybiIse2I6MCxsdDpXfSksVzt2YXIgYj1XLHY9SW5maW5pdHk7Zm9yKGxldCBrPTA7azxELmxlbmd0aDtrKyspe2lmKEQuc3RhcnQoayk+Vyljb250aW51ZTtsZXQgaD1XLUQuZW5kKGspO2g8diYmKHY9aCxiPUQuZW5kKGspKX1yZXR1cm4gYiE9PVcmJihuLmxvYWRlci5VKCJzdW5kcm4iLHticmU6YixsdDpXfSksdj49MjApPyhuLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIse3JlYXNvbjoiYnVmZmVydW5kZXJydW5leGNlZWRzbGltaXQifSksVyk6Yn07Cm9rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPS0xO2ZvcihsZXQgdiBvZiBuKWlmKCEodi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXM8Vykpe2lmKGI8MCYmdi5zdGFydFRpbWVNcz5XfHxiPj0wJiZ2LkFDPmIrMSlicmVhaztEPU1hdGgubWF4KEQsdi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXMpO2I9TWF0aC5tYXgoYix2Lmk5KX1yZXR1cm4gTWF0aC5tYXgoMCxELVcpfTsKWms9ZnVuY3Rpb24obixXKXtuLkdDPVc7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcmIiLHtyZWFzb246V30pfTsKVTBaPWZ1bmN0aW9uKG4sVyl7YTp7aWYobi5WPjApe3ZhciBEPU1hdGguZmxvb3IoKDAsZy5SKSgpLzFFNCk7aWYoRD09PVcuWGope2lmKFcuRXk+PW4uVil7aWYoVy5FeT09PW4uVil7RD17cmVhc29uOiJ0b29tYW55cmVxdWVzdHMifTtELmxpbWl0PVcuRXk7aWYobi5GRil7bGV0IGI9RGsobi5GRi5pbmZvKTtELmxyX3B0aW1lPWIucHRpbWU7RC5scl9ydHlwZT1iLnJ0eXBlO0QubHJfYnJsPWIuYnJsO0QubHJfcHM9Yi5wc31uLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIsRCk7Vy5FeSs9MX1XPSExO2JyZWFrIGF9fWVsc2UgVy5Yaj1ELFcuRXk9MH1XPSEwfXJldHVybiFXfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmbi5sb2FkZXIuT00/ITE6bi5qJiYoMCxnLlIpKCk8bi5qPyhnLkphKG4ubG9hZGVyLmoyKSwhMSk6bi5OLmxlbmd0aD4wJiYoIW4ucG9saWN5Lll8fG4uTi5sZW5ndGghPT0xfHwhbi5OWzBdLkRMKCkpfHwhbi5LdS5ZPy5ZKG4ucG9saWN5LG4ubm4sCm4ubG9hZGVyLkl3KXx8bi5EdD8hMTohMH07CmkxPWZ1bmN0aW9uKG4sVyl7bi5HQz12b2lkIDA7bi5ZWj0oMCxnLlIpKCk7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcnEiLFcpfTsKeU9aPWZ1bmN0aW9uKG4sVyl7dmFyIHtjdjpELGFrOmJ9PVRKYihuKTtpZihuLnBvbGljeS51NSl7dmFyIHY9b2sobi50dy5lVyxXKTtuPW9rKG4uYmQuZVcsVyl9ZWxzZSB2PUQsbj1iO3JldHVybntCMTp2LGwxOm4sY3Y6RCxhazpifX07Cm0wTT1mdW5jdGlvbihuKXtuLnZpZGVvRGF0YS5iZC5jbGVhcigpO2lmKG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKHZhciBXIG9mIG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5rZXlzKCkpbi52aWRlb0RhdGEuc2FickNvbnRleHRVcGRhdGVzLmdldChXKT8uc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcpO2lmKG4ucG9saWN5LlkmJm4uTi5sZW5ndGgpZm9yKGxldCBEIG9mIG4uTikoVz1ELm1mKCkpJiZXLnR5cGUmJlcuc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcudHlwZSl9Owptdj1mdW5jdGlvbihuKXtmb3IoO24uTi5sZW5ndGgmJm4uTlswXS5CNihuLkUxKCkpOyl7bGV0IFc9bi5OLnNoaWZ0KCk7ajlDKG4sVyl9bi5OLmxlbmd0aCYmajlDKG4sbi5OWzBdKX07Cmo5Qz1mdW5jdGlvbihuLFcpe1cgaW5zdGFuY2VvZiB1dSYmKG4uZSQ9Vyk7dmFyIEQ9bmV3IFNldChXLlNKKG4uRTEoKSkpO2ZvcihsZXQgaCBvZiBEKXtpZihEPVcgaW5zdGFuY2VvZiBLRCl7RD1uLms2O3ZhciBiPXl5eChELGgpLHY9bkQoRCxELnZpZGVvSW5mb3MpLmluY2x1ZGVzKGgpOyFELm9aLlRQfHxifHx2fHxELmxvYWRlci5VKCJzYWJyY3BmIix7ZmlkOmAke2h9YCx2ZmlkczpgJHtuRChELEQudmlkZW9JbmZvcykuam9pbigiLiIpfWAsc2FpZDpELll8fCIifSk7RD0hKGJ8fHYpfWlmKEQpY29udGludWU7RD1XIGluc3RhbmNlb2YgdXU/eUIoVyk6dm9pZCAwO2lmKEQhPT12b2lkIDApe2lmKCFXLlFBKGgsbi5FMSgpKSljb250aW51ZTtiPW4uS3UuSi5nZXQoaCk7aWYoIWIpY29udGludWU7bi5wb2xpY3kueUUmJmIuaW5mby5OKCl8fChiLmluZm8uZVMoKT9uLmF1ZGlvVHJhY2s6bi52aWRlb1RyYWNrKS5aYyhELGgpO2NvbnRpbnVlfUQ9Vy5mMyhoLG4uRTEoKSk7Yj1uLnBvbGljeS55RSYmCkQubGVuZ3RoPjAmJkRbMF0uUEouaW5mby5OKCk7aWYoIVcuUUEoaCxuLkUxKCkpKWNvbnRpbnVlO3Y9Vy54OShoLG4uRTEoKSk7Zm9yKGxldCB4IG9mIHYpe24ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBLRCYmbi5sb2FkZXIuVSgib21ibHNzIix7czp4LmluZm8uZ2EoKX0pO2lmKGIpe3Y9bi50aW1pbmc7di5EfHwodi5EPSgwLGcuUikoKSxnLkVHKCJmY2JfciIsdi5ELHYuelIpKTtpZihuLnBvbGljeS5rdSl7dj1nLlZmKHguaW5mby5QSi5pbmZvLG4uS3UuelcpO3ZhciBrPXguaW5mby5qJDtpZihuLksmJk1rKG4uSyk9PT1Nayh2KSYmazw9bi5jSiljb250aW51ZTt4LmluZm8uYVomJihuLks9dixuLmNKPWspfXY9bjt2LnZpZGVvRGF0YS56VygpJiZ2LlgmJk1rKHYuWCk9PT1NayhnLlZmKHguaW5mby5QSi5pbmZvLHYuS3UuelcpKSYmdi5MLldKKCJzYWJyQ2FwdGlvbnNEYXRhTG9hZGVkIix4LHYueUUuYmluZCh2KSk7Y29udGludWV9dj14LmluZm8uUEouaW5mby5lUygpO2s9eC5pbmZvLlBKOwpsZXQgTD1XIGluc3RhbmNlb2YgS0Q/MToyO2lmKHYpe2lmKG4uazYuWHIoayxMLFcuSmQobi5FMSgpKT8udG9rZW4pKWNvbnRpbnVlfWVsc2Ugbi5rNi5EUihrLEwsVy5KZChuLkUxKCkpPy50b2tlbik7az12P24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7VyBpbnN0YW5jZW9mIEtEJiYoay5qPSExLFcgaW5zdGFuY2VvZiBLRCYmKHY/Z2oxKG4udGltaW5nKTplN2Iobi50aW1pbmcpKSk7dHJ5e2suV2coRCx4KX1jYXRjaChlKXt2PUIkKGUpLG4ubG9hZGVyLmhhbmRsZUVycm9yKHYuZXJyb3JDb2RlLHYuZGV0YWlscyx2LnNldmVyaXR5KSxrLnppKCksbi5YJCghMSwicHVzaFNsaWNlIiksZy5BZyhuLmxvYWRlcil9fX19OwpPeVo9ZnVuY3Rpb24obixXKXtuLnBvbGljeS5ZP24uTi5zcGxpY2Uobi5OLmluZGV4T2YoVykpLmZvckVhY2goRD0+e0QuZGlzcG9zZSgpfSk6KG4uTi5wb3AoKSxXPy5kaXNwb3NlKCkpfTsKQ09qPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PG4uTi5sZW5ndGg7disrKVcmJm4uTlt2XWluc3RhbmNlb2YgS0Q/Yi5wdXNoKG4uTlt2XSk6KG4ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyZGlzIix7ZDpuLk5bdl0uY0EoKSxzcmM6RH0pLG4uTlt2XS5kaXNwb3NlKCkpO24uTj1ifTsKQkp0PWZ1bmN0aW9uKG4sVyl7aWYoVy50bigpfHxXLnFOKCkpe3ZhciBEPW4ubG9hZGVyLGI9RC5VLHY9Vy5zdGF0ZTtuPW4uRTEoKTtXPVcubkE/LmdldChuKT8uWSgpPz8tMTtiLmNhbGwoRCwic2Ficm9tYiIse3M6dix0Ynl0ZXM6V30pfWVsc2V7RD1XLlNKKG4uRTEoKSk7Yj0hMTtmb3IobGV0IGsgb2YgRClpZih2PW4uazYsbkQodix2LnZpZGVvSW5mb3MpLmluY2x1ZGVzKGspKXtiPSEwO2JyZWFrfWlmKEQubGVuZ3RoPT09MHx8YiluLlBYPSEwO24uTi5wdXNoKFcpO1cuWEwucHVzaChuKTtpdShuLnRpbWluZyk7bi5wb2xpY3kuclcmJlcuYlAmJm4udVEoVy5iUCxXLmNBKCkpfX07ClRKYj1mdW5jdGlvbihuKXt2YXIgVz1uLmF1ZGlvVHJhY2suenMoITApKjFFMztuPW4udmlkZW9UcmFjay56cyghMCkqMUUzO3JldHVybntjdjpXLGFrOm59fTsKRllDPWZ1bmN0aW9uKG4se1NzOlcsYk06RH0pe2lmKFc9PT12b2lkIDApcmV0dXJuITE7Vz1EP24uTC5sSyhXKTpXO2lmKFc9IW4ubG9hZGVyLmZwKFcpJiZVMFoobixuLkN1KSl7Vz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTM7bGV0IHtCMTpiLGwxOnZ9PXlPWihuLFcpO1c9Yj49N0UzJiZ2Pj03RTN9cmV0dXJuIFd9Owp3Qng9ZnVuY3Rpb24obixXKXtuLmRlbGF5Py5kaXNwb3NlKCk7bi5kZWxheT1udWxsO3ZhciBEPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KChiLHYpPT5iLm1lZGlhVGltZS12Lm1lZGlhVGltZSk7CkQubGVuZ3RoIT09MCYmKFc9KERbMF0ubWVkaWFUaW1lLVcpKjFFMy9uLkwuZ2V0UGxheWJhY2tSYXRlKCksbi5kZWxheT1uZXcgZy5mXygoKT0+e3pjKG4pfSxXPjUwMD9XLTUwMDpXKSxuLmRlbGF5LnN0YXJ0KCkpfTsKemM9ZnVuY3Rpb24obixXKXtpZihsMShuLkwuZ2V0UGxheWVyU3RhdGUoKSkmJm4uTi5zaXplIT09MCl7Vz1XPz9BcnJheS5mcm9tKG4uTi52YWx1ZXMoKSkuc29ydCgodixrKT0+di5tZWRpYVRpbWUtay5tZWRpYVRpbWUpOwp2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj0oV1swXS5tZWRpYVRpbWUtRCkqMUUzL24uTC5nZXRQbGF5YmFja1JhdGUoKTtpZihiPDUwMCl7RD1iPjA/bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpOkQ7Zm9yKGxldCB2IG9mIFcpaWYoRD49di5tZWRpYVRpbWUpdi5yZXNvbHZlKFt2Lm1lZGlhVGltZSx2LmlkXSksbi5OLmRlbGV0ZSh2LmlkKTtlbHNlIGJyZWFrfXdCeChuLEQpfX07Ck1fdz1mdW5jdGlvbihuLFcsRCl7bi5OLmRlbGV0ZShEKTtyZXR1cm4gbmV3IFByb21pc2UoYj0+e24uTi5zZXQoRCx7aWQ6RCxtZWRpYVRpbWU6VyxyZXNvbHZlOmJ9KTtiPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KCh2LGspPT52Lm1lZGlhVGltZS1rLm1lZGlhVGltZSk7CkQ9PT1iWzBdLmlkJiZ6YyhuLGIpfSl9OwpROWI9ZnVuY3Rpb24obil7dmFyIFc9bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpLEQ9bi5YLlIzKFcpO1JTQyhuLEQsVyk7bi5pc1NlZWtpbmc9ITE7dmFyIGI9QXJyYXkuZnJvbShuLk4ua2V5cygpKS5maWx0ZXIodj0+dj49RCkuc29ydCgodixrKT0+di1rKTsKZm9yKGxldCB2IG9mIGIpYj12PT09RD9XLW4uWC5nZXRTdGFydFRpbWUoRCk6MCxuLksodixuLk4uZ2V0KHYpLGIpfTsKVl8yPWZ1bmN0aW9uKG4sVyxELGI9ITEpe1chPT1uLktZJiYobi5LWT1XLG4uTC5XSigicGxheWJhY2tzdGFydGVkIixXLEQrbi5MLlNXKCksYikpfTsKUlNDPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLk4uZ2V0KFcpLHY9bi5YLmdldFN0YXJ0VGltZShXKSxrPW4uWC5nZXREdXJhdGlvbihXKSxoPXY7KGI/Lk4/P1tuLmNwbl0pLmZvckVhY2goKHgsTCk9Pnt2YXIgZT1iPy5KW0xdPz9rO0Q+PWgmJkQ8aCtlJiYoTD14IT09bi5jcG4/aC0oYj8uWFtMXT8/MCk6aCxuLko9eCxWXzIobix4LEwsITApKTtoKz1lfSl9OwpjT3c9ZnVuY3Rpb24obixXKXsobi5XLmdldChXKT8/W10pLmZvckVhY2goRD0+e24uai5OLmRlbGV0ZShEKX0pOwpuLlcuZGVsZXRlKFcpfTsKYUlaPWZ1bmN0aW9uKG4sVyxELGIpe24uSj1EO0Q9YCR7V30uJHtEfWA7bi5XLmhhcyhXKT9uLlcuZ2V0KFcpLnB1c2goRCk6bi5XLnNldChXLFtEXSk7TV93KG4uaixiLEQpLnRoZW4oKFt2LGtdKT0+e3ZhciBbaCx4XT1rLnNwbGl0KCIuIik7WyxrXT1bTnVtYmVyKGgpLHhdO1ZfMihuLGssdil9KX07CldYaD1mdW5jdGlvbihuLFcsRCxiLHYsayl7cmV0dXJuIFcuVDcmJlcuRTUmJkQ9PT0zP25ldyBudTEobixXLGIsdixrKTpudWxsfTsKRExiPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuRDIpe3ZhciBEPVcuaW5mby5OcyxiPUdEKG4uc2NoZWR1bGUpO1c9Vy5pbmRleC5VYygpO0Q9TWF0aC5tYXgoMSxiL0QpO24uWT1NYXRoLnJvdW5kKE1hdGgubWF4KCgoRC0xKSpXK24ucG9saWN5LndhKS9ELFctbi5wb2xpY3kuTWwpKjFFMyl9fTsKa25yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RGF0ZS5ub3coKS8xRTMsYj1ELW4uc3RhcnRUaW1lU2Vjcyx2PUQtbi5WLGs9dj49bi5wb2xpY3kuT04saD0hMTtpZihrKXtsZXQgeD0wOyFpc05hTihXKSYmVz5uLmomJih4PVctbi5qLG4uaj1XKTt4L3Y8bi5wb2xpY3kuSVcmJihoPSEwKTtuLlY9RH1EPWI+PW4ucG9saWN5Lk1sJiYhbi5XO2lmKCFrJiYhRCYmYkZqKG4sVykpcmV0dXJuIE5hTjtEJiYobi5XPSEwKTthOntiPWg7RD0oMCxnLlIpKCkvMUUzLShuLnF6LkxnKCl8fDApLW4uSy5XLW4ucG9saWN5LndhO2s9bi5KLnNlZ21lbnRTdGFydFRpbWU7RD1rK0Q7aWYoYil7aWYoaXNOYU4oVykpe1RjKG4sTmFOLCJuIixXKTtrPU5hTjticmVhayBhfWI9Vy1uLnBvbGljeS5FVDtiPEQmJihEPWIpfWVsc2Ugbi5XJiYoYj1EK24ucG9saWN5LndhLW4uTytuLnBvbGljeS5BTCxpc05hTihXKXx8KGI9TWF0aC5tYXgoYixNYXRoLm1pbihELFctbi5wb2xpY3kuRVQpKSksRD1iKTtrPUQ9TWF0aC5tYXgoRCwKayl9bi5OPWs7aWYoaXNOYU4obi5OKSlyZXR1cm4gbi5jbGVhcigpLE5hTjtpZighaCYmYkZqKG4sVykpcmV0dXJuIHZ1TShuLFcpLE5hTjtpZihuLk48PW4uSi5zZWdtZW50U3RhcnRUaW1lKXJldHVybiBUYyhuLE5hTiwieSIsVyksbi5jbGVhcigpLE5hTjtpZighbi5EKG4uTiwhMSkpcmV0dXJuIXZ1TShuLFcpJiZoJiYoVGMobixOYU4sInQiLFcpLG4uY2xlYXIoKSksTmFOO2g9bi5OO1RjKG4saCwicyIsVyk7bi5jbGVhcigpO3JldHVybiBofTsKYkZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlzTmFOKFcpPyEwOmlzTmFOKG4uTik/ITE6VzxuLk4rKG4uVz9uLnBvbGljeS5FVDpuLnBvbGljeS5neCl9Owp2dU09ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5EKG4uTiwhMCk/ITE6KFRjKG4sTmFOLCJucyIsVyksbi5jbGVhcigpLCEwKX07ClRjPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4uWC55MCgpO3Yuc3NyX3NrPShXKjFFMykudG9GaXhlZCgwKTt2LnNzcl90PShuLk4qMUUzKS50b0ZpeGVkKDApO3Yuc3NyX3I9RDt2LnNzcl9zdD0obi5zdGFydFRpbWVTZWNzKjFFMykudG9GaXhlZCgwKTt2LnNzcl9uPSgwLGcuUikoKS50b0ZpeGVkKDApO3Yuc3NyX2Y9KG4uSy5XKjFFMykudG9GaXhlZCgwKTt2LnNzcl9mYT1uLlc/IjEiOiIwIjt2LnNzcl9vPShuLnF6LkxnKCkqMUUzfHwwKS50b0ZpeGVkKDApO3Yuc3NyX3Y9KGIqMUUzKS50b0ZpeGVkKDApO1c9bi5KLlBKLmluZGV4O1cuTUkobi5KLmokLCEwKSYmKHYuc3NyX2lzdD0oVy5nZXRTdGFydFRpbWUobi5KLmokKSoxRTMpLnRvRml4ZWQoMCksdi5zc3JfaWQ9KFcuZ2V0RHVyYXRpb24obi5KLmokKSoxRTMpLnRvRml4ZWQoMCkpO24ubG9hZGVyLlUoInNzciIsdil9OwpoUXg9ZnVuY3Rpb24oKXt2YXIgbj17fSxXPXdpbmRvdy5wZXJmb3JtYW5jZTtpZihXKXtsZXQgRD1XLm1lbW9yeTtEJiYobi5qc1RvdGFsPUQudG90YWxKU0hlYXBTaXplLG4uanNVc2VkPUQudXNlZEpTSGVhcFNpemUsbi5qc0xpbWl0PUQuanNIZWFwU2l6ZUxpbWl0LG4ubXNUb3RhbD1ELmdldE1lZGlhU291cmNlVG90YWxBbGxvY2F0ZWRNZW1vcnk/LigpPz9ELnRvdGFsTWVkaWFTb3VyY2VTaXplLG4ubXNMaW1pdD1ELmdldE1lZGlhU291cmNlTWF4aW11bU1lbW9yeUNhcGFjaXR5Py4oKT8/RC5tZWRpYVNvdXJjZVNpemVMaW1pdCxuLm1zVXNlZD1ELmdldE1lZGlhU291cmNlQ3VycmVudE1lbW9yeUNhcGFjaXR5Py4oKT8/RC51c2VkTWVkaWFTb3VyY2VNZW1vcnlTaXplKTtXLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkmJihuLmNiRnJlZT1XLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkoKSk7Vy5tZWFzdXJlVXNlZENwdU1lbW9yeSYmKG4uY2JVc2VkPVcubWVhc3VyZVVzZWRDcHVNZW1vcnkoKSl9d2luZG93Lmg1dmNjPy5jVmFsJiYKKG4uY2JGcmVlPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuQ1BVLkZyZWUiKSxuLmNiVXNlZD13aW5kb3cuaDV2Y2MuY1ZhbC5nZXRWYWx1ZSgiTWVtb3J5LkNQVS5Vc2VkIiksbi5jYkpzPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuSlMiKSk7cmV0dXJuIG59Owp4THQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5QcmVzc3VyZU9ic2VydmVyJiZuZXcgd2luZG93LlByZXNzdXJlT2JzZXJ2ZXIobil9OwpMWHI9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2F3YWl0IG4uan1jYXRjaHt9bi5XPy5kaXNjb25uZWN0KCl9OwpndUM9ZnVuY3Rpb24obixXKXtXP2VRai50ZXN0KG4pOihuPWcub0UobiksT2JqZWN0LmtleXMobikuaW5jbHVkZXMoImNwbiIpKX07CmpSPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17Zm9ybWF0OiJSQVcifSx4PXt9O2lmKGcuVGQobikmJmcuakgoKSl7bGV0IEw9Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpO0w/eFsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09TDpiP3hbIlgtR29vZy1WaXNpdG9yLUlkIl09YjpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKHhbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO0QmJih4WyJYLUdvb2ctUGFnZUlkIl09RCk7KGI9Vy5UQykmJiFnLnFGKFcpJiYoeFsiWC1Hb29nLUF1dGhVc2VyIl09Yik7diYmKHguQXV0aG9yaXphdGlvbj1gQmVhcmVyICR7dn1gKTtXLlMoImVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5ncyIpJiZXLllyJiZXLmRhdGFzeW5jSWQmJih4WyJYLVlvdVR1YmUtRGF0YVN5bmMtSWQiXT1XLmRhdGFzeW5jSWQpO2lmKFcuUygiZW5hYmxlX3JvbGxvdXRfdG9rZW5faGVhZGVyIikpe2xldCBlPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik/LmNsaWVudD8ucm9sbG91dFRva2VuOwplJiYoeFsiWC1Zb3VUdWJlLVJvbGxvdXQtVG9rZW4iXT1lKX1MfHx4WyJYLUdvb2ctVmlzaXRvci1JZCJdfHx2fHxEfHxiP2gud2l0aENyZWRlbnRpYWxzPSEwOlcuUygiaHRtbDVfc2VuZF9jcG5fd2l0aF9vcHRpb25zIikmJmVRai50ZXN0KG4pJiYoaC53aXRoQ3JlZGVudGlhbHM9ITApfU9iamVjdC5rZXlzKHgpLmxlbmd0aD4wJiYoaC5oZWFkZXJzPXgpO2smJihoLm9uRmluaXNoPWspO3JldHVybiBPYmplY3Qua2V5cyhoKS5sZW5ndGg+MT9oOm51bGx9OwpDRD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2cuakgoKSYmRC50b2tlbiYmKG49Zy56ZChuLHtjdHQ6RC50b2tlbixjdHR5cGU6RC55byxtZHhfZW52aXJvbm1lbnQ6RC5tZHhFbnZpcm9ubWVudH0pKTtiLlMoIm5ldF9waW5nc19sb3dfcHJpb3JpdHkiKSYmKFd8fChXPXt9KSxXLnByaW9yaXR5PSJsb3ciKTtrfHx4JiZiLlMoIm53bF9za2lwX3JldHJ5Iik/KFc9PW51bGw/Vz17fTpndUMobixiLlMoImh0bWw1X2Fzc2VydF9jcG5fd2l0aF9yZWdleCIpKSxoP2cuSFUoKS5zZW5kQW5kV3JpdGUobixXKTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShuLFcseCkpOlc/KGd1QyhuLGIuUygiaHRtbDVfYXNzZXJ0X2Nwbl93aXRoX3JlZ2V4IikpLEJXaihuLFcpKTpnLmdvKG4sdil9OwpYTmk9ZnVuY3Rpb24obil7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuO0QrKyl7bGV0IGI9e30sdj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOSoxRTgpKzFFOCxrPSIiO2ZvcihsZXQgaD0wO2g8OTtoKyspays9ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MildO2IudmlkZW9EZWNvZGVyTmFtZT1rO2IuZWxhcHNlZFRpbWVNcz12O1cucHVzaChiKX1yZXR1cm4gV307CkJsPWZ1bmN0aW9uKG4sVyl7bj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5zZXQobixXKTtyZXR1cm4gWW8obik/U2soSFAobiksKCk9PiEwLCgpPT4hMSk6SFAoISFuKX07CnFScj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VCdWZmZXJlZFJhbmdlIixuPzE6MCl9OwpHbnc9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJIVFRQMyIsbj8xOjApfTsKdEZ4PWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUF0dGFjaG1lbnRNZXRob2RzIixuPzE6MCl9OwokTEM9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJRVUlDIixuPzE6MCl9OwpyYzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BdWRpb1dyaXRlRHVyYXRpb25Mb2NhbCIsbil9OwpzZ3c9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsbj8xOjApfTsKTjBTPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsbil9OwpwTnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb1JlbmRlcmVyTWluSW5wdXRCdWZmZXJzIixuKX07CllSdz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvUmVuZGVyZXJNaW5EZWNvZGVkRnJhbWVzIixuKX07CkhGWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLG4/MTowKX07CmZ5VT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVJlc2V0QXVkaW9EZWNvZGVyIixuPzE6MCl9OwpKY2I9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVGbHVzaER1cmluZ1NlZWsiLG4/MTowKX07Ckl5dz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsbil9OwpTUnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLG4/MTowKX07CkFjWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLG4/MTowKX07Cm1MMj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbj8xOjApfTsKS1haPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuRXhwZXJpbWVudGFsTWF4UGVuZGluZ0J5dGVzUGVyUGFyc2UiLG4pfTsKdmFyIE9XdD1mdW5jdGlvbihuKXtyZXR1cm4gZVhbSVsxMF1dKHRoaXMsMTksNzA4NyxuKX07Ck9GQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsbil9OwpQUXI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5NZWRpYUNvZGVjUmVzZXREZWxheU1zIixuKX07ClpGdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRpc2FibGVMb3dQZXJmb3JtYW5jZVNvZnR3YXJlRGVjb2RlIixuPzE6MCl9OwpVTDI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVBdjFTdGFydHVwT3B0aW1pemF0aW9uIixuPzE6MCl9Owp5YzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Vc2VEdWFsVGhyZWFkc0ZvclZpZGVvIixuPzE6MCl9OwpFdXQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CmlGVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CnVxdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIixuPzE6MCl9OwpvdTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG4/MTowKX07CmRMaT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLG4/MTowKX07CnpRUz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIixuPzE6MCl9OwpseTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLG4/MTowKX07ClQwVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixuPzE6MCl9OwpqZ2g9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Ta2lwVmlkZW9GcmFtZXNPdmVyNjBGcHMiLG4/MTowKX07CkNRQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZsdXNoQXVkaW9UcmFja0R1cmluZ1NlZWsiLG4/MTowKX07CkIwaj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkJ5cGFzc01vam9Gb3JNZWRpYSIsbj8xOjApfTsKRlgyPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuSWdub3JlTWVkaWFDb2RlY0NhbGxiYWNrc0R1cmluZ0ZsdXNoaW5nIixuPzE6MCl9OwpNRng9ZnVuY3Rpb24oKXt2YXIgbj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5nZXRQZXJzaXN0ZW50U2V0dGluZ0FzU3RyaW5nPy4oImNwdV91c2FnZV90cmFja2VyX2ludGVydmFscyIpO2lmKG4hPW51bGwpe249SlNPTi5wYXJzZShuKT8/W107dmFyIFc9bi5maWx0ZXIoRD0+RC50eXBlPT09InRvdGFsIikubWFwKEQ9PkQuc2Vjb25kcyk7CmZvcihsZXQgRCBvZiB3TjIpVy5pbmRleE9mKEQpPT09LTEmJm4ucHVzaCh7dHlwZToidG90YWwiLHNlY29uZHM6RH0pO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzX2VuYWJsZWQiLDEpO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzIixKU09OLnN0cmluZ2lmeShuKSl9fTsKUlFVPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93Lkg1dmNjUGxhdGZvcm1TZXJ2aWNlLFc9IiI7aWYobiYmbi5oYXMoImRldi5jb2JhbHQuY29hdC5jbGllbnRsb2dpbmZvIikmJihuPW4ub3BlbigiZGV2LmNvYmFsdC5jb2F0LmNsaWVudGxvZ2luZm8iLCgpPT57fSkpKXtsZXQgRD1uLnNlbmQobmV3IEFycmF5QnVmZmVyKDApKTsKRCYmKFc9U3RyaW5nLmZyb21DaGFyQ29kZSguLi4obmV3IFVpbnQ4QXJyYXkoRCkpKSk7bi5jbG9zZSgpfXJldHVybiBXfTsKVkZTPWZ1bmN0aW9uKG4pe3ZhciBXPXdpbmRvdy5INXZjY1BsYXRmb3JtU2VydmljZTtpZihXKXt2YXIgRD1RZ2kuZmluZChiPT5XLmhhcyhiKSk7CkQmJihEPVcub3BlbihELCgpPT57fSkpJiYoRC5zZW5kKEl3KGBjcG46ICR7bn1gKS5idWZmZXIpLEQuY2xvc2UoKSl9fTsKZy53aj1mdW5jdGlvbihuLFcsRCxiKXtnLkZCKG4sRCxgJHtXLnRvRml4ZWQoMyl9OiR7Yi5qb2luKCI6Iil9YCl9OwpNUD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtnLndqKG4sVywiY210IixbRC50b0ZpeGVkKDMpXSk7dmFyIGI9RD1uLnByb3ZpZGVyLm90KCk7aWYoKCFuLmp8fEFKKG4ucHJvdmlkZXIudmlkZW9EYXRhKT8wOmIqMUUzPm4uai52TysxMDApJiZuLmope2I9bi5qLmlzQWQ7RD1EKjFFMy1uLmoudk87bi5lST1XKjFFMy1uLmoudFMtRC1uLmouT2E7dmFyIHY9KDAsZy5SKSgpLUQ7Vz1uLmVJO0Q9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIGs9RC5pc0FkKCk7aWYoYnx8ayl7az1gJHtiPyJhZCI6InZpZGVvIn1fdG9fJHtrPyJhZCI6InZpZGVvIn1gO3ZhciBoPXt9O0Qua1cmJihoLmN0dEF1dGhJbmZvPXt0b2tlbjpELmtXLHZpZGVvSWQ6RC52aWRlb0lkfSk7aC5zdGFydFRpbWU9di1XO2cuYmQoayxoKTtnLm5sKHt0YXJnZXRWaWRlb0lkOkQudmlkZW9JZCx0YXJnZXRDcG46RC5jbGllbnRQbGF5YmFja05vbmNlfSxrKTtnLmFMKCJwYnMiLHYsCmspfWVsc2Ugdj1uLnByb3ZpZGVyLkwuZUcoKSx2LlYhPT1ELmNsaWVudFBsYXliYWNrTm9uY2U/KHYuaj1ELmNsaWVudFBsYXliYWNrTm9uY2Usdi5KPVcpOkQuTlAoKXx8Zy5HcShuZXcgZy5ReCgiQ1NJIHRpbWluZyBsb2dnZWQgYmVmb3JlIGdsbGF0Iix7Y3BuOkQuY2xpZW50UGxheWJhY2tOb25jZX0pKTtuLlUoImdsbGF0Iix7bDpuLmVJLnRvRml4ZWQoKSxwcmV2X2FkOitifSk7ZGVsZXRlIG4uan19OwpnLkZCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkouZ2V0KFcpO2I/Yi5wdXNoKEQpOm4uSi5zZXQoVyxbRF0pfTsKUXU9ZnVuY3Rpb24obixXKXtuLmlzT2ZmbGluZT1XO2cud2oobixnLlJrKG4ucHJvdmlkZXIpLCJpc19vZmZsaW5lIixbbi5pc09mZmxpbmU/IjEiOiIwIl0pfTsKVnU9ZnVuY3Rpb24obixXLEQpe2lmKCFpc05hTihELlc3KSl7bGV0IGI9RC5XNztELko8YiYmKGI9RC5KKTtnLndqKG4sVywiYmgiLFtiLnRvRml4ZWQoMyldKX19OwpjbD1mdW5jdGlvbihuLFc9TmFOKXtXPVc+PTA/VzpnLlJrKG4ucHJvdmlkZXIpO3ZhciBEPW4ucHJvdmlkZXIuTC5ISygpLGI9RC5Fci0obi52Snx8MCk7Yj4wJiZnLndqKG4sVywiYndtIixbYiwoRC5vdy0obi5FNXx8MCkpLnRvRml4ZWQoMyldKTtpc05hTihuLnZKKSYmRC5FciYmbi5pc09mZmxpbmUmJlF1KG4sITEpO24udko9RC5FcjtuLkU1PUQub3c7aXNOYU4oRC5iYW5kd2lkdGhFc3RpbWF0ZSl8fGcud2oobixXLCJid2UiLFtELmJhbmR3aWR0aEVzdGltYXRlLnRvRml4ZWQoMCldKTtuLnByb3ZpZGVyLkIuV1goKSYmT2JqZWN0LmtleXMoRC5OKS5sZW5ndGghPT0wJiZuLlUoImJ3aW5mbyIsRC5OKTtpZihuLnByb3ZpZGVyLkIuV1goKXx8bi5wcm92aWRlci5CLlMoImh0bWw1X2xvZ19tZW1pbmZvIikpYj1oUXgoKSxPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9PXZvaWQgMCkmJm4uVSgibWVtaW5mbyIsYik7Cm4ucHJvdmlkZXIuQi5XWCgpJiYoYj1uLnlFPy5YKCkpJiZPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9bnVsbCkmJm4uVSgiY3B1aW5mbyIsYik7Cm4uVEMmJmcud2oobixXLCJiYXQiLFtuLlRDLmxldmVsLG4uVEMuY2hhcmdpbmc/IjEiOiIwIl0pO2I9bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO24uVTUhPT1iJiYoZy53aihuLFcsInZpcyIsW2JdKSxuLlU1PWIpO01QKG4sVyk7KGI9Y2NaKG4ucHJvdmlkZXIpKSYmYiE9PW4uWSQmJihnLndqKG4sVywiY29ubiIsW2JdKSxuLlkkPWIpO1Z1KG4sVyxEKX07Cm5PTT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5SayhuLnByb3ZpZGVyKTtheVoobixiLFcsMCxEKTtjbChuLGIpO2FrKG4pfTsKbkM9ZnVuY3Rpb24obixXKXtnLkZCKG4sImNhdCIsVyl9OwpXVGg9ZnVuY3Rpb24obixXKXtXPXtjcG46bi5wcm92aWRlci52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxzZXF1ZW5jZU51bWJlcjpXLHNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQ6bi5wcm92aWRlci52aWRlb0RhdGEubTB9O24uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQmJihXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0PWxwKG4uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQpfHx2b2lkIDApO24ucHJvdmlkZXIudmlkZW9EYXRhLnBsYXllclJlc3BvbnNlQ3BuJiYoVy5wbGF5ZXJSZXNwb25zZUNwbj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5wbGF5ZXJSZXNwb25zZUNwbik7V3IubGVuZ3RoJiYoVy5kZWNvZGVySW5mbz1Xcik7bi5yZW1vdGVDb250cm9sTW9kZSYmKFcucmVtb3RlQ29udHJvbE1vZGU9bi5yZW1vdGVDb250cm9sTW9kZSk7Cm4ucmVtb3RlQ29ubmVjdGVkRGV2aWNlcy5sZW5ndGgmJihXLnJlbW90ZUNvbm5lY3RlZERldmljZXM9bi5yZW1vdGVDb25uZWN0ZWREZXZpY2VzKTtpZihuLlBYPy5sZW5ndGgpe1cuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhPVtdO2Zvcih2YXIgRCBvZiBuLlBYKXtsZXQgYj1nLmQxKEQpO2ImJlcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLnB1c2goYil9fSFuLmpXJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhJiYoVy5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhPVtdLEQ9Zy5kMShuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhKSkmJihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEucHVzaChEKSxuLmpXPSEwKTtuLlkuc2l6ZSYmKFcuZGFpQ3VlUG9pbnRFdmVudHM9QXJyYXkuZnJvbShuLlkudmFsdWVzKCkpKTtuLlkuY2xlYXIoKTtyZXR1cm4gV307CkRCaT1mdW5jdGlvbihuKXt2YXIgVz17Li4ubn07bi5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEmJihXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YS5tYXAoRD0+RCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Zy5FQShEKTpEKSk7Cm4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEubWFwKEQ9PkQgaW5zdGFuY2VvZiBVaW50OEFycmF5P2cuRUEoRCk6RCkpOwpuLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0JiYobj1uLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0LG4gaW5zdGFuY2VvZiBVaW50OEFycmF5JiYoVy5zZXJpYWxpemVkSG91c2VCcmFuZFBsYXllclNlcnZpY2VMb2dnaW5nQ29udGV4dD1nLkVBKG4pKSk7cmV0dXJuIFd9OwpiUFM9ZnVuY3Rpb24obixXLEQpe2cuSEUobi5wcm92aWRlci5CLG4ucHJvdmlkZXIudmlkZW9EYXRhLlYoKSkudGhlbihiPT57dmFyIHY9ITE7Vy5pbmNsdWRlcygiJmR0PSIpfHxXLmluY2x1ZGVzKCImY290bj0iKT92PSEwOm4ucHJvdmlkZXIuQi5TKCJxb2Vfd2l0aF9uZXR3b3JrbGVzcyIpJiYodj0hMCk7dmFyIGs9bi5wcm92aWRlci5CLlMoInFvZV9zZW5kX2FuZF93cml0ZSIpLGg9bi5wcm92aWRlci5CO2I9alIoVyxoLG4ucHJvdmlkZXIuQi5wYWdlSWQsbi5wcm92aWRlci5CLnNlbmRWaXNpdG9ySWRIZWFkZXI/bi5wcm92aWRlci52aWRlb0RhdGEudmlzaXRvckRhdGE6dm9pZCAwLGIpO2guUygiaHRtbDVfc2ltcGxpZnlfcGluZ3MiKSYmKGI9Ynx8e30pO2I/KGIubWV0aG9kPSJQT1NUIixiLnBvc3RCb2R5PUQsQ0QoVyxiLHt0b2tlbjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5rVyx5bzpuLnByb3ZpZGVyLnZpZGVvRGF0YS5RdixtZHhFbnZpcm9ubWVudDpuLnByb3ZpZGVyLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudH0sCmgsdm9pZCAwLHYsayYmbi5TJCkpOnY/KHY9bi5wcm92aWRlci5CLlMoIm5ldHdvcmtsZXNzX2FqYXgiKSxoPXttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9LGsmJm4uUyQ/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLGgpOnY/Zy5lZChXLHttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9KTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShXLGgpKTpndncoVyxEKX0pfTsKYWs9ZnVuY3Rpb24obil7aWYoIW4ucHJvdmlkZXIuQi5TKCJodG1sNV9xb2Vfbm9fbGVuX2NoZWNrIikpe3ZhciBXPTA7Zm9yKGxldCBbRCxiXW9mIG4uSi5lbnRyaWVzKCkpVys9RC5sZW5ndGgrTnVtYmVyKGcudV8oYiwodixrKT0+ditrLmxlbmd0aCwwKSk7Clc+OTZFMyYmKG5ldyBnLmZfKG4ucmVwb3J0U3RhdHMsMCxuKSkuc3RhcnQoKX19Owp2TzI9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuWVomJm5DKG4sInByZWZldGNoIik7bi5wcm92aWRlci52aWRlb0RhdGEuUyQmJm4uVSgicmVsb2FkIix7cjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5yZWxvYWRSZWFzb24sY3Q6bi5wcm92aWRlci52aWRlb0RhdGEuUyR9KTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5JUiYmbkMobiwibW9uaXRvciIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuQyhuLCJsaXZlIik7TnMmJm5DKG4sInN0cmVhbWluZyIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmk1JiZuLlUoImN0cmwiLHttb2RlOm4ucHJvdmlkZXIudmlkZW9EYXRhLmk1fSwhMCk7aWYobi5wcm92aWRlci52aWRlb0RhdGEuVUspe3ZhciBXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlVLLnJlcGxhY2UoLywvZywiXyIpO24uVSgieXRwIix7dHlwZTpXfSwhMCl9bi5wcm92aWRlci52aWRlb0RhdGEuVDQmJihXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlQ0LnJlcGxhY2UoLywvZywKIi4iKSxuLlUoInl0cmV4cCIse2lkczpXfSwhMCkpO24ucHJvdmlkZXIuQi5XWCgpJiZuLlUoIm5vdyIse3d0OigwLGcuUikoKX0pO1c9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIEQ9bi5wcm92aWRlci5CLlMoImVuYWJsZV93aGl0ZV9ub2lzZSIpfHxuLnByb3ZpZGVyLkIuUygiZW5hYmxlX3dlYmdsX25vb3AiKSxiPWcua3AoVyl8fGcuSFQoVyl8fGcuZkEoVyl8fGcuSkQoVyk7KER8fGIpJiYoRD0oMCxnLkRWKSgpKSYmbi5KLnNldCgiZ3B1IixbRF0pO09TKG4ucHJvdmlkZXIudmlkZW9EYXRhKSYmZy53aihuLGcuUmsobi5wcm92aWRlciksImR0IixbIjEiXSk7Vy5jb3RuJiYhT1MoVykmJlF1KG4sITApO24ucHJvdmlkZXIuQi5XWCgpJiYoVz0oMCxnLlIpKCktbi5wcm92aWRlci5CLkN1LG4uVSgicGxheWVyYWdlIix7c2VjczooMS42KipNYXRoLnJvdW5kKE1hdGgubG9nKFcvMUUzKS9NYXRoLmxvZygxLjYpKSkudG9GaXhlZCgpfSkpO24uVj0hMDtuLks9VzAoKCk9PntuLnJlcG9ydFN0YXRzKCl9LAoxRTQpfTsKYXlaPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5wcm92aWRlci5CLk4uY2JydmVyO24ucHJvdmlkZXIuQi5OLmNicj09PSJDaHJvbWUiJiYvXjk2Wy5dLy50ZXN0KGspJiZEPT09Im5ldC5iYWRzdGF0dXMiJiYvcmNcLjUwMC8udGVzdCh2KSYmYm0obiwzKTsvYjI0ODE4MDI3OC8udGVzdCh2KSYmYm0obiw0KTtrPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtiPWI9PT0xPyJmYXRhbCI6IiI7RD1bRCxiLGsudG9GaXhlZCgzKV07YiYmKHYrPWA7YTZzLiR7TGMoKX1gKTt2JiZELnB1c2goa29yKHYpKTtnLndqKG4sVywiZXJyb3IiLEQpO24uVj0hMH07CmJtPWZ1bmN0aW9uKG4sVyl7bi5ZWnx8KGcuRkIobiwiZmNueiIsYCR7V31gKSxuLllaPSEwKX07CmhEMT1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKEQhPT1uLk4pe24uZSR8fFc8bi5XfHwobi5OPT09IlBMIj9uLnBsYXlUaW1lU2Vjcys9Vy1uLlc6bi5OPT09IkIiJiZuLmlzQnVmZmVyaW5nJiYobi5pc0J1ZmZlcmluZz0hMSxuLnJlYnVmZmVyVGltZVNlY3MrPVctbi5WUSwhbi5SYSYmbi5yZWJ1ZmZlclRpbWVTZWNzPj0xMCYmbi5wbGF5VGltZVNlY3M8PTE4MCYmKG4uSi5zZXQoInFvZWFsZXJ0IixbIjEiXSksbi5SYT0hMCkpLEQhPT0iQiJ8fG4uTiE9PSJQTCImJm4uTiE9PSJQQiJ8fChuLmlzQnVmZmVyaW5nPSEwKSxuLlc9Vyk7bi5OPT09IlBMIiYmKEQ9PT0iQiJ8fEQ9PT0iUyIpfHxuLnByb3ZpZGVyLkIuV1goKT9jbChuLFcpOihuLmZCfHxEIT09IlBMInx8KG4uZkI9ITAsVnUobixXLG4ucHJvdmlkZXIuTC5ISygpKSksTVAobixXKSk7RD09PSJQTCImJmcuSmEobi5NZCk7dmFyIGs9W0RdO0Q9PT0iUyImJmImJmsucHVzaChgc3MuJHtifWApO0Q9PT0iUEEiJiZ2JiZrLnB1c2goYHNyLiR7dn1gKTsKZy53aihuLFcsInZwcyIsayk7bi5OPUQ7bi5WUT1XO24uVz1XO24uVj0hMH19Owp4Qmg9ZnVuY3Rpb24obil7aWYoIShuLlg+PTApKWlmKG4ucHJvdmlkZXIuQi5OZHx8bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpIT09Myl7dmFyIFc9bi5wcm92aWRlci5MLnpzKCExKSxEPW4ucHJvdmlkZXIuTC56cyghMCk7bi5VKCJ1c2VyX2ludGVudF9iaCIse2JoOlcudG9GaXhlZCgzKSx0aDpELnRvRml4ZWQoMyl9KTtuLlg9Zy5SayhuLnByb3ZpZGVyKX1lbHNlIG4uQ3U9ITB9OwpMVGI9ZnVuY3Rpb24obixXKXtpZihnLm1NKG4ucHJvdmlkZXIudmlkZW9EYXRhKSl7bj00O3ZhciBEPTF9ZWxzZSBuPVcuc291cmNlPz8wO249YHNtcy4ke259YDtEIT09dm9pZCAwJiYobis9YF8ke0R9YCk7cmV0dXJuIG59Owp2YXIgQTExPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDEsNDM2MixuLFcpfTsKdnI9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9Zy5SayhuLnByb3ZpZGVyKTtEIT09MSYmRCE9PTMmJkQhPT01fHxnLndqKG4seCwidnBzIixbbi5OXSk7Zy5GQihuLCJ4dnQiLGB0LiR7eC50b0ZpeGVkKDMpfTttLiR7aC50b0ZpeGVkKDMpfTtnLiR7V307dHQuJHtEfTtucC4ke2J9O2MuJHt2fTtkLiR7a31gKX07Cmtvcj1mdW5jdGlvbihuKXsvW15hLXpBLVowLTk7LiFfLV0vLnRlc3QobikmJihuPW4ucmVwbGFjZSgvWytdL2csIi0iKS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIikpO3JldHVybiBufTsKT2I9ZnVuY3Rpb24obixXKXtpZihuLlpEJiYhbi5PbilyZXR1cm4gMztpZihuLmlzU3VzcGVuZGVkKXJldHVybiAxO2lmKG4ubWVkaWFTb3VyY2U/LmJkKCkpcmV0dXJuIDQ7dmFyIEQ9KFcuUEouaW5mby5hdWRpbz9uLnBvbGljeS52SjpuLnBvbGljeS5lJCkvKFcuTnMqbi5wb2xpY3kud3kpO2lmKG4ucG9saWN5LmNIPjAmJm4ubWVkaWFTb3VyY2UmJm42KG4ubWVkaWFTb3VyY2UpJiYoVz1XLlBKLmluZm8udmlkZW8/bi5tZWRpYVNvdXJjZS5KOm4ubWVkaWFTb3VyY2UuTikmJiFXLnl1KCkpe1c9Vy5aRigpO2xldCBiPUNNKFcsbi5nZXRDdXJyZW50VGltZSgpKTtiPj0wJiYoVz1uLmdldEN1cnJlbnRUaW1lKCktVy5zdGFydChiKSxEKz1NYXRoLm1heCgwLE1hdGgubWluKFctbi5wb2xpY3kuY0gsbi5wb2xpY3kuQmQpKSl9bi5wb2xpY3kuTz4wJiYoRD1NYXRoLm1pbihELG4ucG9saWN5Lk8pKTtyZXR1cm4gRH07CmRWPWZ1bmN0aW9uKG4sVyxEKXtlRGIobixELnFkfHwidW5rbm93biIpO24uTC5zZWVrVG8oVyxEKX07CmcuZEM9ZnVuY3Rpb24obixXLEQsYix2KXtuLkwuZ2V0VmlkZW9EYXRhKCkuREYoKT92JiZuLnhXLlRDK3YvMUUzPkQmJihuLlUoInNkYWkiLHtzZWc6YixyYnQ6RC50b0ZpeGVkKDMpLGVuZDpuLnhXLlRDLnRvRml4ZWQoMyksc2Q6di50b0ZpeGVkKDMpfSksbi5YJCghMSwicm9sbGJhY2siKSk6bi5wb2xpY3kuVTEmJm4uWCQoITEsInJvbGxiYWNrIik7aWYobi5LdS5pc01hbmlmZXN0bGVzcyl7dj1VNChuLmF1ZGlvVHJhY2ssYixELFcpO3ZhciBrPVU0KG4udmlkZW9UcmFjayxiLEQsVyk7bi5wb2xpY3kuczV8fChrJiZUeChuLkt1LGIsITApLHYmJlR4KG4uS3UsYiwhMSkpO2smJm4udmlkZW9UcmFjay5rSSgpO3YmJm4uYXVkaW9UcmFjay5rSSgpO24uVSgic2RhaSIse3JvbGxiazJfc2VnOmIscmJ0OkQudG9GaXhlZCgzKSxsdDpXLnRvRml4ZWQoMyksYTp2LHY6a30pOyh2fHxrKSYmbi5wb2xpY3kuVTEmJmcuQWcobil9fTsKWUM9ZnVuY3Rpb24obixXKXtuLmhhbmRsZUVycm9yKCJmbXQudW5wYXJzZWFibGUiLFcsMSl9OwpnLkFnPWZ1bmN0aW9uKG4pe2cuSmEobi5uTil9OwpTek09ZnVuY3Rpb24obil7dmFyIFc9bi5qbCgpLmZpbHRlcihEPT5ELm5hbWVzcGFjZT09PSJhZCIpOwpmb3IobGV0IEQgb2YgVylpZihELnN0YXJ0LzFFMz5uLmdldEN1cnJlbnRUaW1lKCkpcmV0dXJuIEQuc3RhcnQvMUUzO3JldHVybiBJbmZpbml0eX07CmM2PWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLnFHPVd9OwpIJGg9ZnVuY3Rpb24obixXKXtpZih4TihXLkF3W1cuQXcubGVuZ3RoLTFdKSl7YTp7dmFyIEQ9bi5jVjtXPVcuQXdbMF0uUEo7aWYoVy5pbmZvLnZpZGVvKXtpZihELlchPT1XKXtELlc9VztEPVMkaChEKTticmVhayBhfX1lbHNlIEQuSEo9RC5WIT09VyxELlY9VztEPW51bGx9Z09DKG4sRCl9fTsKUW89ZnVuY3Rpb24obil7bi5wb2xpY3kuSEQmJm4ucG9saWN5LmU0JiZNYXRoLm1pbihnVEMobi52aWRlb1RyYWNrKSxnVEMobi5hdWRpb1RyYWNrKSkqMUUzPm4ucG9saWN5Lm0kP2cuSmEobi5aSyk6bi5oVCgpfTsKQjY9ZnVuY3Rpb24obixXLEQsYj0hMSl7YiYmIVcuVEMmJihWVCgpfHwoYj1XLlFFKSYmIWIudFooRC5pbmZvKSYmbi5MLkJvKCksVy5UQz0hMCk7Vy5QSiE9PUQmJihXLlBKPUQpfTsKd3U9ZnVuY3Rpb24obil7cmV0dXJuIG4uSXc8bi5peH07ClIkPWZ1bmN0aW9uKG4pe24uemkoKTtuLlhhLmlzU2Vla2luZygpO24uUXUmJkRMYihuLlF1LG4udmlkZW9UcmFjay5QSik7Zy5BZyhuKTtyZXR1cm4gRWIobi5YYSl9Owpkaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFZpZGVvRGF0YSgpLnpXKCl8fG4ucG9saWN5Lm1EfTsKelMyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKE9iKG4sVykrbi5wb2xpY3kualIpKlcuTnN9OwpFUlM9ZnVuY3Rpb24obil7aWYobi5MLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXJldHVybiExO3ZhciBXPW4uTC5oNSgpO2lmKCFXKXJldHVybiExO1c9Vy5nZXREdXJhdGlvbigpO2lmKG4ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KKXt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj1uLm1lZGlhU291cmNlLk4uWkYoKTtuPW4ubWVkaWFTb3VyY2UuSi5aRigpO2I9Yj9GWihiLEQpOkQ7RD1uP0ZaKG4sRCk6RDtEPU1hdGgubWluKGIsRCk7Vz1pc05hTihEKT8hMTpEPj1XLS4wMX1lbHNlIFc9ITE7cmV0dXJuIFd9OwpYemg9ZnVuY3Rpb24obixXLEQpe2lmKCEobi52aWRlb1RyYWNrLlBKLk4oKSYmbi5hdWRpb1RyYWNrLlBKLk4oKSYmbi5tZWRpYVNvdXJjZSYmbi5tZWRpYVNvdXJjZS5KJiZuLm1lZGlhU291cmNlLk4pKXJldHVybiExO2lmKEQmJm4uS3UuaXNNYW5pZmVzdGxlc3MmJihuLnZpZGVvVHJhY2suWD09PS0xfHxuLmF1ZGlvVHJhY2suWD09PS0xKSlyZXR1cm4hMDt2YXIgYj1LdihuLnZpZGVvVHJhY2ssVyxEKTtpZihpc05hTihiKSlyZXR1cm4hMTtuPUt2KG4uYXVkaW9UcmFjayxuLnBvbGljeS5FNT9XOmIsRCk7cmV0dXJuIGlzTmFOKG4pPyExOiEwfTsKcUoyPWZ1bmN0aW9uKG4pe24uUWo/Llh0Py5pdGFnRGVueWxpc3QmJm4uV0Yobi5Raj8uWHQuaXRhZ0RlbnlsaXN0KTtuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5JiZsUyhuLnBvbGljeSxuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5LDMsbi5Raj8uY0EoKSk7aWYobi5wb2xpY3kuY0wpe3ZhciBXPW4uRTEoKTsoVz1XP24uUWo/LkR3LmdldChXKTp2b2lkIDApJiZuLnhXLnN5KFcsLTEpfW4uS3UuT3x8bi5wb2xpY3kuV2l8fChXPW4uUWo/LlFXLFc/LndmJiZXPy52NyYmbi5LdS56VyYmQzYobi5LdSxXLndmLFcudjcpKTtpZihuLlFqPy5NUyl7Vz1uLlFqLk1TLmdldChuLkUxKCl8fCIiKTtpZighVylyZXR1cm47aWYobi5LdSYmVy5mb3JtYXRJZCl7bGV0IEQ9bi5LdS5KLmdldChNayhXLmZvcm1hdElkKSk7RCYmKEQuaW5mby5kZWJ1Z0luZm89Vy5kZWJ1Z0luZm8pfX1uLnBvbGljeS5EJiYobi5Raj8uckIoKS5mb3JFYWNoKEQ9PntuLmk4KEQpfSksbi5Raj8uRm8oKSl9Owp0OWg9ZnVuY3Rpb24obil7aWYoIW4uS3UuelcpcmV0dXJuITA7dmFyIFc9bi5MLmdldFZpZGVvRGF0YSgpO2lmKG4uTC5PUCgpKXJldHVybiBuLlUoIm9tYnBhIix7fSksITE7aWYoISFuLlFqPy5RVz8uWjMhPT1uLkt1LlhnKXJldHVybiBuLlUoIm9tYnBsbW0iLHt9KSwhMTt2YXIgRD1XLlRDfHxXLmxpdmVVdGNTdGFydFNlY29uZHN8fFcuVXI7aWYobi5LdS5YZyYmRClyZXR1cm4gbi5VKCJvbWJwbHN0Iix7fSksITE7aWYobi5LdS5PfHxuLnBvbGljeS5XaSlyZXR1cm4gbi5VKCJvbWJhYiIse30pLCExO0Q9RGF0ZS5ub3coKTtpZighVy5saXZlUHJlbG9hZCYmRnYobi5LdSkmJiFpc05hTihuLkNIKSYmRC1uLkNIPm4ucG9saWN5LkZVKjFFMylyZXR1cm4gbi5VKCJvbWJ0dGwiLHt9KSwhMTtpZih4cChXKSE9PTAmJiFuLnBvbGljeS5OfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9tb3NhaWMiKSYmVy5aaCgpfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9saWZhX2VsaWdpYmxlIikmJgpweihXKSlyZXR1cm4hMTtpZihuLkwuRygpLlp0KCkuTi5RUShHb00pJiYoVz1uLlFqPy5waygpPz8wLFc+PTAmJm4uS3UuaXNXaW5kb3dlZExpdmUmJihXPG4uS3UuSlUqMUUzfHxXPm4uS3Uub1IqMUUzKSkpcmV0dXJuIG4uVSgib21id25kIix7c3Q6VyxtaW46bi5LdS5KVSoxRTMsbWF4Om4uS3Uub1IqMUUzfSksITE7aWYobi5LdS5JdCYmbi5LdS5pc1dpbmRvd2VkTGl2ZSlpZihuLkwuRygpLlMoImh0bWw1X3VzZV9vbmVzaWVfd2luZG93ZWRfbGl2ZV9tZWRpYSIpKW4uVSgib21hbWluc3EiLHt9KTtlbHNlIHJldHVybiBuLlUoIm9tYm1pbnNxIix7fSksITE7cmV0dXJuITB9OwprYz1mdW5jdGlvbihuLFcpe3ZhciBEPWN3KFcuUEosbi5LdS56VyksYj1uLmhtPy5mMyhEKXx8W107aWYoYi5sZW5ndGg9PT0wKXJldHVybiBuLlUoIm9tYm1zaSIse30pLCExO2I9bmV3IHdrKGIpO2lmKCghbi5wb2xpY3kudHd8fGlzRmluaXRlKG4uZ2V0Q3VycmVudFRpbWUoKSl8fG4uTC5lSigpKSYmIWIua2Yobi5nZXRDdXJyZW50VGltZSgpKSYmIW4uTC5nZXRWaWRlb0RhdGEoKS5saXZlUHJlbG9hZClyZXR1cm4gbi5VKCJvc3RtZiIse2N0Om4uZ2V0Q3VycmVudFRpbWUoKSxhOlcuUEouaW5mby5lUygpfSksITE7bi5obT8uRVMoRCk7cmV0dXJuITB9OwokQmk9ZnVuY3Rpb24obixXKXt2YXIgRD1XLlBKLGI9bi5LdS56VztpZih0OWgobikpaWYobi5obSYmbi5obS5nRihjdyhELGIpKSl7aWYoYj1jdyhELGIpLGtjKG4sVykpe3ZhciB2PW5ldyB3ayhuLmhtLmYzKGIpKSxrPWg9Pnt0cnl7aC50bigpPyhuLmhhbmRsZUVycm9yKGguVkcoKSxoLnkwKCkpLEU0KFcsaCkseXMoaC5pbmZvKSYmQ3Iobi5OeSxXLEQsITApLG4uaFQoKSk6RjAobi5OeSxoKSYmKG4uSkM/LlMkKGguaW5mbyxuLnNVKSxuLmhUKCkpfWNhdGNoKHgpe2g9QiQoeCksbi5oYW5kbGVFcnJvcihoLmVycm9yQ29kZSxoLmRldGFpbHMsaC5zZXZlcml0eSksbi56aSgpfX07CkQuY0o9ITA7VXYodikmJihPNChXLG5ldyBTbihuLnBvbGljeSxiLHYsbi5obSxrKSksaXUobi50aW1pbmcpKX19ZWxzZSBuLlUoIm9tYmZtdCIse30pfTsKcjdoPWZ1bmN0aW9uKG4pe24ucG9saWN5LlgmJm4uUWomJihuLlFqLkd3LmZvckVhY2goVz0+e24uSm0oVywtMSl9KSxuLlFqLkd3PVtdKX07CmgyPWZ1bmN0aW9uKG4sVyl7Vz1XfHxuLnZpZGVvVHJhY2smJm4udmlkZW9UcmFjay5OJiZuLnZpZGVvVHJhY2suTi5zZWdtZW50U3RhcnRUaW1lfHxuLmdldEN1cnJlbnRUaW1lKCk7dmFyIEQ9QjYsYj1uLnZpZGVvVHJhY2ssdj1uLmNWO1c9di5uZXh0VmlkZW8mJnYubmV4dFZpZGVvLmluZGV4LlIzKFcpfHwwO3YuY0ohPT1XJiYodi5iZD17fSx2LmNKPVcsUnEodix2Lk4pKTtXPSF2Lk4uaXNMb2NrZWQoKSYmdi5ZPi0xJiYoMCxnLlIpKCktdi5ZPHYucG9saWN5LkFrKjFFMzt2YXIgaz12Lm5leHRWaWRlbyYmTXEodix2Lm5leHRWaWRlby5pbmZvKSozPE5XKHYuSWcpO2lmKCFXfHxrKVZCKHYpLGNwKHYpLHYuTz12Lk98fHYubmV4dFZpZGVvIT09di5XO3YubmV4dFZpZGVvJiYhdi5uZXh0VmlkZW8uaW5kZXguaXNMb2FkZWQoKSYmKHYuY0o9LTEpO0QobixiLHYubmV4dFZpZGVvKTtCNihuLG4uYXVkaW9UcmFjayxuLmNWLkopfTsKZURiPWZ1bmN0aW9uKG4sVyl7aWYoIWlzTmFOKG4uajApKXtsZXQgRD1EYXRlLm5vdygpLW4uajA7RDwxRTQmJm4uVSgiYmZhc3d0Y2giLHtlcDpELHNrOlchPT12b2lkIDA/IjEiOiIwIixzcjpXfHwiIn0pfX07ClhiPWZ1bmN0aW9uKG4pe2E6e2lmKG4uSGcoKSYmbWQobi52aWRlb1RyYWNrKSYmbWQobi5hdWRpb1RyYWNrKSYmbi5MLkhvKCkmJiFuLkwuVjAoKSYmIW4ubWVkaWFTb3VyY2U/Lk4/LmlRKCkmJiFuLm1lZGlhU291cmNlPy5KPy5pUSgpJiYhbi5BYil7dmFyIFc9bi5MLlhTPy5YKCk7aWYoIVcpYnJlYWsgYTtuLmF1ZGlvVHJhY2suSlgoKTtuLnZpZGVvVHJhY2suSlgoKTtuLkFiPVd9aWYoVz1uLkhnKCkmJm4uTC5IbygpJiYhbi5MLlYwKCkpaWYobi5BYiYmbi5BYi5KJiZuLkFiLk4mJm4udmlkZW9UcmFjay5EZygpJiZuLmF1ZGlvVHJhY2suRGcoKSl7dmFyIEQ9bi52aWRlb1RyYWNrLlcuYjcoKTtXPW4uYXVkaW9UcmFjay5XLmI3KCk7dmFyIGI9bi5BYj8uSi5aRigpLHY9bi5BYj8uTi5aRigpO0QmJlc/KEQ9QlIoYixrTihELmluZm8pLS4xKSxXPUJSKHYsa04oVy5pbmZvKS0uMSksVz1EJiZXKTpXPSExfWVsc2UgVz0hMTtXJiZuLkwuWFM/LlcoKX1pZihuLm1lZGlhU291cmNlKWlmKFc9Cm4uQWJ8fG4ubWVkaWFTb3VyY2Usdj1XLk4sRD1XLkosczdyKG4sbi5hdWRpb1RyYWNrKSxzN3IobixuLnZpZGVvVHJhY2spLGI9TjNDKG4pKXtpZihuLnBvbGljeS5lNCl7aWYoIXYuRDkoKSYmKFc9aVkobi5hdWRpb1RyYWNrKSkpe2lmKCF4YyhuLG4uYXVkaW9UcmFjayx2LFcuaW5mbykpcmV0dXJuO0xDKG4sbi5hdWRpb1RyYWNrLHYsVyl9aWYoIUQuRDkoKSYmKFc9aVkobi52aWRlb1RyYWNrKSkpe2lmKCF4YyhuLG4udmlkZW9UcmFjayxELFcuaW5mbykpcmV0dXJuO0xDKG4sbi52aWRlb1RyYWNrLEQsVyl9fW4ubXh8fChuLm14PSgwLGcuUikoKSxuLnBvbGljeS5XJiZuLlUoImFwZHBzIix7cjpifSkpfWVsc2V7aWYobi5teCl7Yj1uLm14O3ZhciBrPSgwLGcuUikoKS1iO2xldCBoPW4uYXVkaW9UcmFjay56cyghMCkqMUUzLHg9bi52aWRlb1RyYWNrLnpzKCEwKSoxRTM7bi5wb2xpY3kuVyYmKG4uVSgiYXBkcGUiLHtkdXI6ay50b0ZpeGVkKCksYWJ1ZjpoLnRvRml4ZWQoKSx2YnVmOngudG9GaXhlZCgpfSksCmR1KG4ucG9saWN5KSYmKGs9Tlcobi5JZyksbi5VKCJzZHBzIix7Y3Q6YixhaDpoLnRvRml4ZWQoKSx2aDp4LnRvRml4ZWQoKSxtcjpwdihuLklnLG4uT24sayksYnc6ay50b0ZpeGVkKCksanM6bi5pc1NlZWtpbmcoKSxyZTorbi5Pbixwczoobi5wb2xpY3kuTTV8fCIiKS50b1N0cmluZygpLHJuOihuLnBvbGljeS5EQ3x8IiIpLnRvU3RyaW5nKCl9KSkpO24ubXg9MH1uLlF1JiYoYj1uLlF1LmhUKG4uYXVkaW9UcmFjayxnLnd5KG4ubWVkaWFTb3VyY2UuSi5aRigpKSkpJiZuLkwuc2Vla1RvKGIse0E5OiEwLHFkOiJwb2xsU3Vic2VnbWVudFJlYWRhaGVhZCIscWE6ITB9KTtiPSExO3B6aChuLG4udmlkZW9UcmFjayxEKSYmKGI9ITAsRD1uLnRpbWluZyxELld8fChELlc9KDAsZy5SKSgpLGcuRUcoInZkYSIsRC5XLEQuelIpLEQuSiYmKGcuRHkoKSxiUSg0KSkpLEQ9bi50aW1pbmcsRC5WUXx8KEQuVlE9KDAsZy5SKSgpLGcuRUcoInZyYl9mIixELlZRLEQuelIpKSk7VyYmIVcuUEEoKSYmCihwemgobixuLmF1ZGlvVHJhY2ssdikmJihiPSEwLHY9bi50aW1pbmcsdi5KfHwodi5KPSgwLGcuUikoKSxnLkVHKCJhZGEiLHYuSix2LnpSKSx2LlcmJihnLkR5KCksYlEoNCkpKSx2PW4udGltaW5nLHYuWXx8KHYuWT0oMCxnLlIpKCksZy5FRygiYXJiX2YiLHYuWSx2LnpSKSkpLCFuLnFOKCkmJm4ubWVkaWFTb3VyY2UmJighbi5wb2xpY3kuVjYmJm1kKG4udmlkZW9UcmFjaykmJm1kKG4uYXVkaW9UcmFjaykmJm42KFcpJiYhVy55dSgpJiYodj1JJChuLmF1ZGlvVHJhY2spLlBKLHY9PT1uLkt1Lk5bdi5pbmZvLmlkXSYmKG4uTC5HKCkuV1goKSYmbi5MLlUoInNlcyIse2VvczoxfSksbjYoVykmJihXLm1lZGlhU291cmNlP1cubWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTpXLkVWLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKFcuRVYuRU9TX05PX0VSUk9SKSksdj1uLnNjaGVkdWxlLHNuKGUwKHYpKSx2LmNKPSgwLGcuUikoKSx2Lk89ITAsdj0odj1uLnZpZGVvVHJhY2suUEopJiZ2LmluZGV4IGluc3RhbmNlb2YKZ1M/di5pbmRleC5LOnZvaWQgMCxuLkwuRygpLlp0KCkuTi5RUShZSmIpP3Y9PT0iZW1zZyImJm4ucG0oImUiKTpuLnBtKCJlIikpKSxiJiYoVy5OPyFXLk4uc3VwcG9ydHMoMCk6IWFkKCkpJiZnLkFnKG4pKSl9fTsKSFBiPWZ1bmN0aW9uKG4pe24ucG9saWN5LlY2PSExO3RyeXtYYihuKX1jYXRjaChXKXtnLlhqKFcpfX07CmZteD1mdW5jdGlvbihuLFc9ITEpe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KJiYobi5tZWRpYVNvdXJjZS5OLk05KG4uTEwsbiksbi5tZWRpYVNvdXJjZS5KLk05KG4uTEwsbikpO0tyKG4uYXVkaW9UcmFjayxudWxsLFcpO0tyKG4udmlkZW9UcmFjayxudWxsLFcpO24ubWVkaWFTb3VyY2UmJihuLm1lZGlhU291cmNlLlY9ITEpO24ubWVkaWFTb3VyY2U9bnVsbDtuLkFiPW51bGw7bi5MLlhTPy5yZXNldCgpfTsKSjdpPWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdj0hMSl7S3Iobi52aWRlb1RyYWNrLFcuSnx8bnVsbCxiLHYpO0tyKG4uYXVkaW9UcmFjayxXLk58fG51bGwsYix2KTtuLm1lZGlhU291cmNlPVc7bi5tZWRpYVNvdXJjZS5WPSEwO0R8fG4ucmVzdW1lKCk7Vy5OLmgkKG4uTEwsbik7Vy5KLmgkKG4uTEwsbil9OwpJbWk9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSx2PSExKXtuLnBvbGljeS5UQyYmKG4ucG9saWN5LlZRJiZuLlUoImxvYWRlciIse3NldHNtYjowfSksbi56aSgpLG4ucG9saWN5LlRDPSExKTtmbXgobixiKTtpZighVy5YKCkpe3ZhciBrPWlZKG4udmlkZW9UcmFjayk7az1rP2suaW5mby5QSjpuLnZpZGVvVHJhY2suUEo7bGV0IGg9aVkobi5hdWRpb1RyYWNrKTtMS1UoVyxrLmluZm8sKGg/aC5pbmZvLlBKOm4uYXVkaW9UcmFjay5QSikuaW5mbyxuLnBvbGljeS5wUil9SjdpKG4sVyxELGIsdik7dHJ5e24uaFQoKX1jYXRjaChoKXtnLlhqKGgpfX07CnFtPWZ1bmN0aW9uKG4pe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuUEEoKSYmbi5LMSgpfTsKZ09DPWZ1bmN0aW9uKG4sVyl7VyYmR1gobi5MLG5ldyB0MihXLnZpZGVvLFcucmVhc29uKSk7bi5jVi5ISiYmKFc9WmV3KG4uY1YsImEiKSxuLkwuZ20obmV3IHQyKFcuYXVkaW8sVy5yZWFzb24pKSl9OwpBN3g9ZnVuY3Rpb24obil7bi5CdiYmIW4uaXNTdXNwZW5kZWQmJlRaKG4uc2NoZWR1bGUpJiYoU0paKG4sbi5Cdiksbi5Cdj0iIil9OwpzN3I9ZnVuY3Rpb24obixXKXtpWShXKT8uaXNMb2NrZWQmJm1CYihXKSYmKG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bXVubG9jazppWShXKT8uaW5mby5nYSgpfSksJGMobixXPT09bi5hdWRpb1RyYWNrKSl9OwpOM0M9ZnVuY3Rpb24obil7aWYodGRqKG4udmlkZW9UcmFjaykpcmV0dXJuInNzZiI7aWYobi5wb2xpY3kubnUmJmlZKG4udmlkZW9UcmFjayk/LmlzTG9ja2VkJiZpWShuLmF1ZGlvVHJhY2spPy5pc0xvY2tlZClyZXR1cm4idXBkYXRlRW5kIjtpZihpUyhuLmF1ZGlvVHJhY2spfHxpUyhuLnZpZGVvVHJhY2spJiZuLnZpZGVvVHJhY2suUEouaW5mby5JQiE9PSJmIilyZXR1cm4iIjtpZihuLlhhLmlzU2Vla2luZygpKXt2YXIgVz1uLklnO3ZhciBEPW4udmlkZW9UcmFjazt2YXIgYj1uLmF1ZGlvVHJhY2s7aWYoVy5wb2xpY3kuTil7dmFyIHY9Vy5wb2xpY3kuV2M7ZHUoVy5wb2xpY3kpJiYodj1wdihXLCExLE5XKFcpKSk7Vz12O0Q9Yi56cyghMCk+PVcmJkQuenMoITApPj1XfWVsc2UgRC5KLmxlbmd0aHx8Yi5KLmxlbmd0aD8odj1ELlBKLmluZm8uTnMrYi5QSi5pbmZvLk5zLHY9MTAqKDEtTlcoVykvdiksVz1NYXRoLm1heCh2LFcucG9saWN5LldjKSxEPWIuenMoITApPj1XJiZELnpzKCEwKT49ClcpOkQ9ITA7aWYoIUQpcmV0dXJuImFiciI7RD1uLnZpZGVvVHJhY2s7aWYoRC5KLmxlbmd0aD4wJiZELlcua2koKT09PTEmJkQuVy5XMigpLmluZm8uSzxELlZRKXJldHVybiJzZWVrIn1pZihuLnBvbGljeS5VMSYmJFgxKG4udmlkZW9UcmFjayxuLkpDKSYmJFgxKG4uYXVkaW9UcmFjayxuLkpDKSlyZXR1cm4ic3NkYWkiO0Q9IW4ucG9saWN5LnRNfHxuLmdldEN1cnJlbnRUaW1lKCk8MTA7bi5wb2xpY3kuTnx8KEQ9RHx8bi52aWRlb1RyYWNrLlBKLmluZm8udmlkZW8ucXVhbGl0eU9yZGluYWw+MzYwKTtpZighbi5Pbnx8RClyZXR1cm4iIjtEPW4ucG9saWN5LnRNO2R1KG4ucG9saWN5KSYmKEQ9cHYobi5JZyxuLk9uLE5XKG4uSWcpKSk7RD1YMHQobi52aWRlb1RyYWNrLG4uZ2V0Q3VycmVudFRpbWUoKSxEKXx8WDB0KG4uYXVkaW9UcmFjayxuLmdldEN1cnJlbnRUaW1lKCksRCk7cmV0dXJuIGR1KG4ucG9saWN5KT9EPyJtYm5tIjoiIjoobi52aWRlb1RyYWNrLkoubGVuZ3RoPjB8fApuLmF1ZGlvVHJhY2suSi5sZW5ndGg+MHx8anEobi5OeSxuLnZpZGVvVHJhY2ssbi5hdWRpb1RyYWNrKXx8anEobi5OeSxuLmF1ZGlvVHJhY2ssbi52aWRlb1RyYWNrKSkmJkQ/Im5vcmQiOiIifTsKeGM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9SSQoVyk7IXZ8fHYuYVp8fGJUKHYsYil8fChELmFib3J0KCksbi5wb2xpY3kuZkMmJlcuVj8uWSgpLFcuSz8uVigpKTtpZighRC5LcygpfHxWVCgpKXRyeXtuLnBvbGljeS5Kaz9ELm5hKGIuUEouaW5mby5jb250YWluZXJUeXBlLGIuUEouaW5mby5JQikmJkQuVm8oYi5QSi5pbmZvLmNvbnRhaW5lclR5cGUsYi5QSi5pbmZvLklCLGIuUEouaW5mby5taW1lVHlwZSk6RC5qbihiLlBKLmluZm8uY29udGFpbmVyVHlwZSxiLlBKLmluZm8ubWltZVR5cGUpfWNhdGNoKGspe3JldHVybiBnLkdxKGspLG4uVSgiY3RleHAiLHtuYW1lOmsubmFtZSxtc2c6ay5tZXNzYWdlfSksITF9ZWxzZSBiLlBKLmluZm8uY29udGFpbmVyVHlwZSE9PUQuS3MoKSYmbi5VKCJjdHUiLHtjdDpWVCgpLHByZXZfYzpELktzKCksY3Vycl9jOmIuUEouaW5mby5jb250YWluZXJUeXBlfSk7Yj1iLlBKLlY7bi5wb2xpY3kuRFQmJmImJihXPTArYi5kdXJhdGlvbixiPS1iLk4sCjA9PT1ELk1yKCkmJlc9PT1ELktGKCl8fEQuZTcoMCxXKSxiIT09RC5TVygpJiYoRC55TyhiKSxzNCYmbi5hdWRpb1RyYWNrLlcuQlcoRC5pdygpKSkpO3JldHVybiEwfTsKTEM9ZnVuY3Rpb24obixXLEQsYil7Yi5pbmZvLlBKLk4oKTt2YXIgdj1iLmluZm8uUEouSjtpZighdnx8IUQuam8oKXx8RC5EOSgpPT09dilyZXR1cm4hMTt2YXIgaz12LGg9RC5MRigpO2lmKG4ucG9saWN5LktvJiZoJiZELmlzVmlldygpJiZnLlJCKGIuaW5mby5QSi5pbmZvKSl7bGV0IEw9bmV3IERhdGFWaWV3KHYuYnVmZmVyLHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgpOyhoPVBJQyhMLGgpKT9rPW5ldyBVaW50OEFycmF5KGguYnVmZmVyLGguYnl0ZU9mZnNldCxoLmJ5dGVMZW5ndGgpOm4uVSgiZmVuYyIse30pfW4ucG9saWN5LmtwJiYoaD1LVGkobixiLG5ldyBTNShba10pKSkmJihrPXRSKGgpKTt2YXIgeDsoaD1iLmluZm8uUEouWSgwLGIuaW5mby5jbGlwSWQpKSYmKHg9aC5Bd1swXSk7aWYoYj09PW4uaDcpe2lmKG4uQzErPTEsbi5MLmdldFZpZGVvRGF0YSgpLlMoImh0bWw1X3Nob3J0c19nYXBsZXNzX3Jlc3RhcnRfb25faW5pdF9zZWdfcmV0cmllcyIpJiZuLkMxPjUpcmV0dXJuIG4uQzE9CjAsbi5MLkdtKHtpbml0U2VnU3R1Y2s6MSxhczpiLmluZm8uZ2EoKX0pLCEwfWVsc2Ugbi5DMT0wLG4uaDc9YjtuLnBvbGljeS54aiYmKEQuYWJvcnQoKSxXLks/LlYoKSk7bi5BYiYmRC5pUSgpJiYoRC5hYm9ydCgpLFcuSz8uVigpKTt2PU9QMihuLEQsayx4LHYpO1cuSz8uRCh2LHgpO2lmKHYhPT0wKXJldHVybiBuLnBvbGljeS5aTiYmQUoobi5MLmdldFZpZGVvRGF0YSgpKT8obi5MLm9BKCl8fHJTKG4sInNlcEluaXQiLHYsYi5pbmZvKSxQOVUobi5MLCJzaWUiKSk6clMobiwic2VwSW5pdCIsdixiLmluZm8pLCEwO2IuaW5mby5mWSgpPyhXPW4udGltaW5nLFcuVEN8fChXLlRDPSgwLGcuUikoKSxnLkVHKCJ2aXNfYSIsVy5UQyxXLnpSKSkpOihXPW4udGltaW5nLFcuVnx8KFcuVj0oMCxnLlIpKCksZy5FRygiYWlzX2EiLFcuVixXLnpSKSkpOyhiPWIuaW5mby5QSi5TVSkmJm4uTC5XbihuZXcgcnUoYi5rZXksYi50eXBlKSk7cmV0dXJuIEQueXUoKX07CnB6aD1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kubnUmJmlZKFcpPy5pc0xvY2tlZClyZXR1cm4hMTtpZihELkRjKCkpcmV0dXJuITA7aWYoIUQuam8oKSlyZXR1cm4hMTt2YXIgYj1pWShXKTtpZighYnx8Yi5pbmZvLnR5cGU9PT02KXJldHVybiExO2lmKG4ucG9saWN5LmllfHxuLkpDPy5PKFcsYi5pbmZvLmokKSluLkxvPTA7ZWxzZSByZXR1cm4gbi5YYS5pc1NlZWtpbmcoKSYmZy5BZyhuKSxuLkxvPW4uTG98fCgwLGcuUikoKSwhMTtpZigheGMobixXLEQsYi5pbmZvKSlyZXR1cm4hMTtpZihuLkt1LlcmJmIuaW5mby5OPT09MCl7dmFyIHY7aWYoRC5EOSgpPT1udWxsKXt2YXIgaz1JJChXKTtpZighKHY9IWt8fGsuUEohPT1iLmluZm8uUEopKXtiOmlmKHY9ay5PLGs9Yi5pbmZvLk8sdi5sZW5ndGghPT1rLmxlbmd0aCl2PSExO2Vsc2V7Zm9yKGxldCBoPTA7aDx2Lmxlbmd0aDtoKyspaWYoIXY0KHZbaF0sa1toXSkpe3Y9ITE7YnJlYWsgYn12PSEwfXY9IXZ9fWVsc2Ugdj1ELkQ5KCksCmIuaW5mby5QSi5TJCgpJiZETyhiKSxrPWIuaW5mby5QSi5KLHY9diE9PWsmJiF2NCh2LGspO3YmJihrPUkkKFcpLG4uVSgiaW5pdGNoZyIse2l0OmIuaW5mby5QSi5pbmZvLmlkLHNyOiEhayYmay5QSj09PWIuaW5mby5QSix0eTpiLmluZm8udHlwZSxzZWc6Yi5pbmZvLmokfSkpO2s9Zy5SQihiLmluZm8uUEouaW5mbyk7bi5wb2xpY3kubWgmJmsmJiF2JiYoZy5SQihiLmluZm8uUEouaW5mbyk/KEdqKGcuV1IoYiksMTgzNjAxOTU3NCksR2ooZy5XUihiKSwxNzE4OTA5Mjk2KSk6KHY9bmV3IHRZKGcuV1IoYikpLE9ZKHYpLHNZKHYsNTI0NTMxMzE3LCEwKSxiLko9Yi5KLnNwbGl0KHYuc3RhcnQrdi5wb3MpLlk5KSxiLlY9ITEpfWs9bi5RdSYmISFuLlF1LlgmJlcuUEouaW5mby5hdWRpbzt2PW4uS3UuaXNNYW5pZmVzdGxlc3N8fGIuVjtpZighKG4uS3UuVyYmYi5pbmZvLk4hPT0wfHx2JiYhaykmJkxDKG4sVyxELGIpKXJldHVybiEwO2lmKGspcmV0dXJuITE7az1PYihuLFcpO2s9bi5nZXRDdXJyZW50VGltZSgpKwprO2lmKGIuaW5mby5YPmspcmV0dXJuIG4ucG9saWN5Lk4mJihXPT09bi52aWRlb1RyYWNrP24uYzc9bi5jN3x8KDAsZy5SKSgpOm4uTno9bi5Oenx8KDAsZy5SKSgpKSwhMTtXPT09bi52aWRlb1RyYWNrP24uYzc9MDpuLk56PTA7bi5wb2xpY3kuVTUmJkQ9PT1uLm1lZGlhU291cmNlPy5OJiZuLk9MJiYoRC5mRigpPT09MD8obi5PTD0hMSxuLnBvbGljeS5VNT0hMSk6bi5HSj1ELmZGKCkpO2lmKCFaUGoobixELGIsVykpcmV0dXJuITE7bi5wb2xpY3kubnUmJmIuaW5mby5WKCk/KG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bHM6Yi5pbmZvLmdhKCl9KSxiLmlzTG9ja2VkPSEwKTooVy5aJChiKSxQQzIobi5jVixiLmluZm8pKTt2JiYoVz1iLmluZm8uUEouU1UpJiZuLkwuV24obmV3IHJ1KFcua2V5LFcudHlwZSkpO3JldHVybiEwfTsKWlBqPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uTC5HKCkuWnQoKS5OLlFRKFVCYikmJkQuaW5mby5OJiYhVy5pUSgpKXJldHVybiBuLlUoImRyb3BfY2h1bmsiLHtzcTpELmluZm8uaiQsc3Q6RC5pbmZvLlh9KSwhMDt2YXIgdj1uLnBvbGljeS5SYT8oMCxnLlIpKCk6MCxrPUQuViYmRC5pbmZvLlBKLkp8fHZvaWQgMCxoPUQuSjtELlYmJihoPUtUaShuLEQsaCl8fGgpO3ZhciB4PXRSKGgpO2g9bi5wb2xpY3kuUmE/KDAsZy5SKSgpOjA7Vz1PUDIobixXLHgsRC5pbmZvLGspO2IuSz8uWShELmluZm8sVyxoLXYsKDAsZy5SKSgpLWgpO24uQzE9MDtpZihXPT09MClyZXR1cm4gbi5aRCYmKG4uWkQ9ITEsbi5xTz0hMSksbi5hQT0wLCEwO2lmKFc9PT0yfHxXPT09NSlyZXR1cm4gclMobiwiY2hlY2tlZCIsVyxELmluZm8pLCExO2lmKFc9PT0xKXtpZighbi5aRClyZXR1cm4gbi5aRD0hMCwhMTtpZighbi5xTylyZXR1cm4gbi5xTz0hMCxuLkwuc2Vla1RvKG4uZ2V0Q3VycmVudFRpbWUoKSx7cWQ6InF1b3RhRXhjZWVkZWQiLApxYTohMH0pLCExO0QuaW5mby5mWSgpPyhiPW4ucG9saWN5LGIuZSQ9TWF0aC5mbG9vcihiLmUkKi44KSxiLk89TWF0aC5mbG9vcihiLk8qLjgpKTooYj1uLnBvbGljeSxiLnZKPU1hdGguZmxvb3IoYi52SiouOCksYi5PPU1hdGguZmxvb3IoYi5PKi44KSk7bi5wb2xpY3kuTj9XbChuLms2LEQuaW5mby5QSik6YXEobi5jVixELmluZm8uUEopfW4uTC5HbSh7cmVhdHRhY2hPbkFwcGVuZDpXfSk7cmV0dXJuITF9OwpLVGk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO2lmKGI9bi5wb2xpY3kua3AmJm4ubWVkaWFTb3VyY2UmJiFuLm1lZGlhU291cmNlLk8mJiFuLkwuUHAoKSlXPVcuaW5mby5QSi5pbmZvLGI9Vy5xSCgpJiZXLlgoKSYmVy52aWRlbyYmVy52aWRlby53aWR0aDwzODQwJiZXLnZpZGVvLndpZHRoPlcudmlkZW8uaGVpZ2h0O2lmKGImJihuLm1lZGlhU291cmNlLk89ITAsZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MC4wOC4wMS4wMS4wMS4wMS4wMCI7IHdpZHRoPTM4NDA7IGhlaWdodD0yMTYwJykpKXJldHVybiBEPUROMShEKSxuLnBvbGljeS5XJiZuLlUoInNwNGsiLHtzOiEhRH0pLER9OwpPUDI9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkFifHxuLm1lZGlhU291cmNlO3RyeXtsZXQgaD1XPT09ay5OP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7aWYobi5wb2xpY3kubnUmJmI/LlYoKSl7aWYoYj8udHc+MSlyZXR1cm4gNjtoLmJkPW5ldyBnLmZfKCgpPT57dmFyIHg9aVkoaCk7bi5xTigpfHwheD8uaXNMb2NrZWQ/bi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHtkZWxheUE6eD8uaW5mby5nYSgpfSk6bUJiKGgpPyhuLkwuRygpLldYKCkmJm4uVSgiZW9zbCIse2R1bmxvY2s6eD8uaW5mby5nYSgpfSksJGMobixoPT09bi5hdWRpb1RyYWNrKSk6KG4uVSgibnVlIix7bHM6eC5pbmZvLmdhKCl9KSx4LmluZm8udHcrPTEsbi5tZWRpYVNvdXJjZSYmWGIobikpfSwxRTQsbik7Cm4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7ZGVsYXlTOmIuZ2EoKX0pO2guYmQuc3RhcnQoKX1uLnBvbGljeS5zMyYmYj8uUEogaW5zdGFuY2VvZiBkdCYmYi5WKCkmJm4uVSgicG9zZW9zIix7aXRhZzpiLlBKLmluZm8uaXRhZyxzZWc6Yi5qJCxsc2VnOmIuUEouaW5kZXgueCQoKSxlczpiLlBKLmluZGV4Lkt9KTtXLmFwcGVuZEJ1ZmZlcihELGIsdil9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbil7aWYoaC5uYW1lPT09IkludmFsaWRTdGF0ZUVycm9yInx8aC5jb2RlPT09MTEpcmV0dXJuIG4uTC5HKCkuV1goKSYmbi5VKCJhZWlzIix7bXNnOmcudXAoaC5tZXNzYWdlLDMpfSksMjtpZihoLm5hbWU9PT0iU3ludGF4RXJyb3IifHxoLmNvZGU9PT0xMilyZXR1cm4gNTtpZihoLm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yInx8aC5jb2RlPT09MjJ8fGgubWVzc2FnZS5pbmRleE9mKCJOb3QgZW5vdWdoIHN0b3JhZ2UiKT09PTApcmV0dXJuIFc9T2JqZWN0LmFzc2lnbih7bmFtZToiUXVvdGFFeGNlZWRlZEVycm9yIiwKYnVmZmVyZWQ6cmsoVy5aRigpKS5yZXBsYWNlKC8sL2csIl8iKSx2aGVhcDpuLnZpZGVvVHJhY2suUnUoKSxhaGVhcDpuLmF1ZGlvVHJhY2suUnUoKSxtZXNzYWdlOmcudXAoaC5tZXNzYWdlLDMpLHRyYWNrOms/Vz09PWsuSj8idiI6ImEiOiJ1In0saFF4KCkpLG4uaGFuZGxlRXJyb3IoInBsYXllci5leGNlcHRpb24iLFcpLDE7Zy5YaihoKX1yZXR1cm4gNH1yZXR1cm4gay5QQSgpPzM6MH07CnJTPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSJmbXQudW5wbGF5YWJsZSIsaz0xO0Q9PT01fHxEPT09Mz8odj0iZm10LnVucGFyc2VhYmxlIixuLnBvbGljeS5OPyFiLlBKLmluZm8udmlkZW98fHdDKG4uazYuTikuc2l6ZT4wfHxXbChuLms2LGIuUEopOiFiLlBKLmluZm8udmlkZW98fHdDKG4uY1Yuaikuc2l6ZT4wfHxhcShuLmNWLGIuUEopKTpEPT09MiYmKG4uYUE8MTU/KG4uYUErKyx2PSJodG1sNS5pbnZhbGlkc3RhdGUiLGs9MCk6dj0iZm10LnVucGxheWFibGUiKTtiPVh4KGIpO2IubXJzPW4ubWVkaWFTb3VyY2U/LlcoKTtiLm9yaWdpbj1XO2IucmVhc29uPUQ7Yi50cmc9ImFwcGVuZGVyciI7bi5oYW5kbGVFcnJvcih2LGIsayl9OwpOMj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uS3U7dmFyIGg9bi5wb2xpY3kuTix4PSExLEw9LTE7Zm9yKGxldCByIGluIGsuTil7dmFyIGU9ay5OW3JdLmluZm8uTigpfHxrLk5bcl0uaW5mby5mWSgpO2lmKGI9PT1lKWlmKGU9ay5OW3JdLmluZGV4LGUuTUkoVy5qJCkpe3t4PWU7dmFyIEc9VztsZXQgTj14LlcoRy5qJCk7TiYmTi5zdGFydFRpbWUhPT1HLnN0YXJ0VGltZT8oeC5zZWdtZW50cz1bXSx4LmooRykseD0hMCk6eD0hMX14P0w9Vy5qJDohVy5wZW5kaW5nJiZoJiYoRz1lLmdldER1cmF0aW9uKFcuaiQpLEchPT1XLmR1cmF0aW9uJiYoay5XSigiY2xpZW50dGVtcCIsIm1mbGR1clVwZGF0ZSIse2l0YWc6ay5OW3JdLmluZm8uaXRhZyxzZWc6Vy5qJCxvZDpHLG5kOlcuZHVyYXRpb259LCExKSxlLmooVykseD0hMCkpfWVsc2UgZS5qKFcpLHg9ITB9TD49MCYmay5XSigiY2xpZW50dGVtcCIsInJlc2V0TWZsSW5kZXgiLHtbYj8idiI6ImEiXTpMfSwhMSk7az14O0FhMihuLlhhLApXLGIsayk7bi5wb2xpY3kuRHx8bi5KQy5SMChXLEQsYix2KTtXLmokPT09bi5LdS5JdCYmayYmdUEobi5LdSkmJlcuc3RhcnRUaW1lPnVBKG4uS3UpJiYobi5LdS5KVT1XLnN0YXJ0VGltZSsoaXNOYU4obi50aW1lc3RhbXBPZmZzZXQpPzA6bi50aW1lc3RhbXBPZmZzZXQpLG4uWGEuaXNTZWVraW5nKCkmJm4uWGEudGFyZ2V0VGltZTxuLkt1LkxmKCkmJm4uWGEuc2VlayhuLkt1LkxmKCkse30pKX07CiRjPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kubnUmJm4ubWVkaWFTb3VyY2Upe3ZhciBEPVc/bi5tZWRpYVNvdXJjZT8uTjpuLm1lZGlhU291cmNlPy5KO2xldCBiPVc/bi5hdWRpb1RyYWNrOm4udmlkZW9UcmFjaztXPWlZKGIpO1c/LmlzTG9ja2VkJiYobi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHt1bmxvY2s6Vy5pbmZvLmdhKCl9KSxiLmJkPy5zdG9wKCksVy5pc0xvY2tlZD0hMSxiLlokKFcpLFBDMihuLmNWLFcuaW5mbyksRD1EPy5aZygpLEQ/LmdhKCkhPT1XLmluZm8uZ2EoKSYmbi5VKCJvdWUiLHtibHM6RD8uZ2EoKSx0bHM6Vy5pbmZvLmdhKCl9KSl9fTsKU0paPWZ1bmN0aW9uKG4sVyl7cVcoVywiY21zIixEPT57bi5wb2xpY3kuVyYmbi5VKCJwYXRocHJvYmUiLEQpfSxEPT57bi5MLmhhbmRsZUVycm9yKEQpfSl9Owp5N2k9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiZuLm1lZGlhU291cmNlLkomJihXLT1pc05hTihuLnRpbWVzdGFtcE9mZnNldCk/MDpuLnRpbWVzdGFtcE9mZnNldCxpc05hTihuLlE1KXx8bi5RNT09PVd8fG4ucmVzdW1lKCksbi5RNT1XKX07CkVPaD1mdW5jdGlvbihuLFcsRCxiKXtkaihuKSYmbi5ETyYmYiYmYj09PTk2JiYoYj1EP24uTC5sSyhXKTpXLG4uZnAoYil8fG4uRE8uTnx8bi5VKCJwcmVidWZmZXIiLHttaXNzOjEsdDpXLnRvRml4ZWQoMyksaXNVdGM6RH0pKX07CmlQUz1mdW5jdGlvbihuLFcpe3ZhciBEPVNxKG4udmlkZW9UcmFjaykuZmluZChiPT5iLnNlZ21lbnRTdGFydFRpbWU+PVcmJlh6aChuLGIuc2VnbWVudFN0YXJ0VGltZSwhMSkpOwpyZXR1cm4gRCYmRC5zZWdtZW50U3RhcnRUaW1lPFcrRC5XKjEuNT9ELnNlZ21lbnRTdGFydFRpbWUrLjE6MH07Cm1CYj1mdW5jdGlvbihuKXt2YXIgVz1pWShuKT8uaW5mbztyZXR1cm4hV3x8bi5mcChNYXRoLm1pbihXLlgrc1gsVy5qKSl9Owp1M3g9ZnVuY3Rpb24obil7aWYoIShuLmxlbmd0aDw9MjgpKWZvcih2YXIgVz0oMCxnLk5tKShbNjAsMCw3NSwwLDczLDAsNjgsMCw2MiwwXSksRD0yODtEPG4ubGVuZ3RoOyl7YTppZihuLmxlbmd0aC1EPFcubGVuZ3RoKXZhciBiPSExO2Vsc2V7Zm9yKGI9MDtiPFcubGVuZ3RoOysrYilpZihuW0QrYl0hPT1XW2JdKXtiPSExO2JyZWFrIGF9Yj0hMH1pZihiKXtEKz1XLmxlbmd0aDtpZihuLmxlbmd0aDw9RCs0OClicmVhaztXPW5ldyBVaW50OEFycmF5KDI0KTtmb3IoYj0wO2I8MjQ7KytiKVdbYl09bltEK2IqMl07bj1wUihXKTtuPWxwKG4pO2lmKCFuKWJyZWFrO0Q9blswXTtuWzBdPW5bM107blszXT1EO0Q9blsxXTtuWzFdPW5bMl07blsyXT1EO0Q9bls0XTtuWzRdPW5bNV07bls1XT1EO0Q9bls2XTtuWzZdPW5bN107bls3XT1EO3JldHVybiBufUQrK319OwpvT3g9ZnVuY3Rpb24obixXKXthOnt2YXIgRD1XLmNyeXB0b1BlcmlvZEluZGV4O2lmKGlzTmFOKEQpJiZuLlcuc2l6ZT4wKUQ9ITA7ZWxzZXtmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKWlmKGIuY3J5cHRvUGVyaW9kSW5kZXg9PT1EKXtEPSEwO2JyZWFrIGF9RD0hMX19bi5XSigibG9nX3FvZSIse3d2YWd0OiJyZXFuZXdzIixjYW5za2lwOkR9KTtEfHxuLldKKCJyb3RhdGVkX25lZWRfa2V5X2luZm9fcmVhZHkiLFcpfTsKZEJoPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJEUk1fVFJBQ0tfVFlQRV9BVURJTyI6cmV0dXJuIDE7Y2FzZSAiRFJNX1RSQUNLX1RZUEVfU0QiOnJldHVybiAyO2Nhc2UgIkRSTV9UUkFDS19UWVBFX0hEIjpyZXR1cm4gMztjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQxIjpyZXR1cm4gNDtjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQyIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfX07ClQzaD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPW4uc3RhdHVzPT09IkxJQ0VOU0VfU1RBVFVTX09LIj8wOjk5OTksYj1udWxsO2lmKG4ubGljZW5zZSl0cnl7Yj1scChuLmxpY2Vuc2UpfWNhdGNoKHYpe2cuWGoodil9aWYoRD09PTAmJiFiKXJldHVybiBudWxsO2I9bmV3IHpEWihELGIpO0QhPT0wJiZuLnJlYXNvbiYmKGIuZXJyb3JNZXNzYWdlPW4ucmVhc29uKTtpZihuLmF1dGhvcml6ZWRGb3JtYXRzKXtEPXt9O2xldCB2PVtdLGs9e307Zm9yKGxldCBoIG9mIG4uYXV0aG9yaXplZEZvcm1hdHMpe2lmKCFoLnRyYWNrVHlwZXx8IWgua2V5SWQpY29udGludWU7VyYmYi5KLnB1c2goe3RyYWNrVHlwZTpkQmgoaC50cmFja1R5cGUpLGlzSGRyOiEhaC5pc0hkcn0pO2xldCB4PWxtVVtoLnRyYWNrVHlwZV07aWYoeCl7eD09PSJIRCImJm4uaXNIZDcyMCYmKHg9IkhENzIwIik7aC5pc0hkciYmKHgrPSJIRFIiKTtEW3hdfHwodi5wdXNoKHgpLERbeF09ITApO2xldCBMPW51bGw7dHJ5e0w9bHAoaC5rZXlJZCl9Y2F0Y2goZSl7Zy5YaihlKX1MJiYKKGtbZy5FQShMLDQpXT14KX19Yi5XPXY7Yi5OPWt9bi5uZXh0RmFpcnBsYXlLZXlJZCYmKGIubmV4dEZhaXJwbGF5S2V5SWQ9bi5uZXh0RmFpcnBsYXlLZXlJZCk7bi5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJihiLnNhYnJMaWNlbnNlQ29uc3RyYWludD1scChuLnNhYnJMaWNlbnNlQ29uc3RyYWludCkpO3JldHVybiBifTsKajdqPWZ1bmN0aW9uKG4sVyxEKXtuLm9uU3VjY2Vzcz1XO24ub25FcnJvcj1EfTsKQzl4PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXt0aW1lb3V0OjNFNCxvblN1Y2Nlc3M6az0+e2lmKCFuLnFOKCkpaWYoZy5hTCgiZHJtX25ldF9yIix2b2lkIDAsbi50aW1lciksaz1UM2goayxuLkopKW4ub25TdWNjZXNzKGssbi5yZXF1ZXN0TnVtYmVyKTtlbHNlIG4ub25FcnJvcihuLCJkcm0ubmV0IiwidC5wO3AuaSIpfSwKb25FcnJvcjprPT57aWYoIW4ucU4oKSlpZihrJiZrLmVycm9yKWs9ay5lcnJvcixuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLGB0LnI7cC5pO2MuJHtrLmNvZGV9O3MuJHtrLnN0YXR1c31gLGsuY29kZSk7ZWxzZSBuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLCJ0LnI7cC5pO2MubiIpfSwKb25UaW1lb3V0OigpPT57bi5vbkVycm9yKG4sImRybS5uZXQiLGBydC5yZXEuJHtuLnJlcXVlc3ROdW1iZXJ9YCl9fTsKYiYmKHYuUDE9YEJlYXJlciAke2J9YCk7Zy5JSShELCJwbGF5ZXIvZ2V0X2RybV9saWNlbnNlIixXLHYpfTsKcEM9ZnVuY3Rpb24obixXLEQ9ITEpe2cuVEMoVyk7KER8fG4uQi5XWCgpKSYmbi5XSigiY3RtcCIsImRybWxvZyIsVyl9OwpCM3g9ZnVuY3Rpb24obil7dmFyIFc9bi5iYXNlVXJsO2hBaShXKXx8bi5lcnJvcigiZHJtLm5ldCIsMiwidC54Iik7aWYoIWcubGYoVywiZmV4cCIpKXtsZXQgRD1bIjIzODk4MzA3IiwiMjM5MTQwNjIiLCIyMzkxNjEwNiIsIjIzODgzMDk4Il0uZmlsdGVyKGI9Pm4uQi5leHBlcmltZW50cy5leHBlcmltZW50c1tiXSk7CkQubGVuZ3RoPjAmJihuLmouZmV4cD1ELmpvaW4oKSl9Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uaikpVz1LUzEoVyxELG4ualtEXSk7cmV0dXJuIFd9Owp3enI9ZnVuY3Rpb24obixXKXt2YXIgRD1udWxsO3RyeXtEPVcuY3JlYXRlU2Vzc2lvbihuLlksYj0+e3BDKG4se206Yn0pfSksRlR0KG4sRCl9Y2F0Y2goYil7Vz0idC5nIixiIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtjLiR7Yi5jb2RlfWApLG4uV0ooImxpY2Vuc2VlcnJvciIsImRybS51bmF2YWlsYWJsZSIsMSxXLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIpfXJldHVybiBEfTsKRlR0PWZ1bmN0aW9uKG4sVyl7TTliKFcsKEQsYik9PntSRGoobixELGIpfSwoRCxiLHYpPT57bi5xTigpfHwoYj12b2lkIDAsZy5YVihuLkopJiZnLkRmKG4uQikmJm4uQi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJnY9PT0xMjEyNDMzMjMyJiYoYj0iRVJST1JfSERDUCIpLG4uZXJyb3IoImRybS5rZXllcnJvciIsMSxELGIpKX0sKCk9PntuLnFOKCl8fChwQyhuLHtvbmt5YWRkOjF9KSxuLmNKfHwobi5XSigic2Vzc2lvbnJlYWR5Iiksbi5jSj0hMCkpfSxEPT57bi5ZVihEKX0pfTsKUkRqPWZ1bmN0aW9uKG4sVyxEKXtpZighbi5xTigpKWlmKFcpe3BDKG4se29ua210eXA6RH0pO24uc3RhdHVzPSJrbSI7c3dpdGNoKEQpe2Nhc2UgImxpY2Vuc2UtcmVuZXdhbCI6Y2FzZSAibGljZW5zZS1yZXF1ZXN0IjpjYXNlICJsaWNlbnNlLXJlbGVhc2UiOmJyZWFrO2Nhc2UgImluZGl2aWR1YWxpemF0aW9uLXJlcXVlc3QiOlE3MihuLFcpO3JldHVybjtkZWZhdWx0Om4uV0ooImN0bXAiLCJtZXNzYWdlX3R5cGUiLHt0OkQsbDpXLmJ5dGVMZW5ndGh9KX1uLnR3fHwoZy5hTCgiZHJtX2drX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uiksbi50dz0hMCxuLldKKCJuZXdzZXNzaW9uIixuKSk7aWYoTE4obi5KKSYmKFc9VjlpKFcpLCFXKSlyZXR1cm47dmFyIGI9ITE7aWYobi5CLlp0KCkuTi5RUShZYykpdHJ5e2I9bWsoVyx3T1opLnR5cGU9PT00fWNhdGNoKHYpe3BDKG4se2NlcnRfY2hlY2tfZmFpbGVkOjF9LCEwKX1pZihiJiZuLmRoPy5jZXJ0aWZpY2F0ZSl7cEMobix7Y2VydF9jYWNoZV9oaXQ6MX0sCiEwKTsrK24ucmVxdWVzdE51bWJlcjtsZXQgdj1uLmRoLmNlcnRpZmljYXRlO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntjN3IobixuZXcgekRaKDAsdiksYil9KX1lbHNlIFc9bmV3IGFtcihXLCsrbi5yZXF1ZXN0TnVtYmVyLG4udmlkZW9EYXRhLnpSLG4uQi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikpLGo3aihXLHY9PntjN3Iobix2LGIpfSwodixrLGgpPT57aWYoIW4ucU4oKSl7dmFyIHg9MDsKdi5OLko+PTMmJih4PTEsaz0iZHJtLm5ldC5yZXRyeWV4aGF1c3RlZCIpO3BDKG4se29ubGNzcnFlcnI6ayxpbmZvOmh9KTtuLmVycm9yKGsseCxoKTtuLnNob3VsZFJldHJ5KGoyKHgpLHYpJiZuUXcobix2KX19KSxnLnUobixXKSxXZzIobixXKX1lbHNlIG4uZXJyb3IoImRybS51bmF2YWlsYWJsZSIsMSwia20uZW1wdHkiKX07ClE3Mj1mdW5jdGlvbihuLFcpe3BDKG4se3NkcHZycToxfSk7bi5WPXBlcmZvcm1hbmNlLm5vdygpO2lmKG4uSi5mbGF2b3IhPT0id2lkZXZpbmUiKW4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuZmxhdm9yO2YuJHtuLkouZmxhdm9yfTtsLiR7Vy5ieXRlTGVuZ3RofWApO2Vsc2V7dmFyIEQ9e2NwbjpuLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlfTtPYmplY3QuYXNzaWduKEQsbi5CLk4pO0Q9Zy5FVCgiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY2VydGlmaWNhdGVwcm92aXNpb25pbmcvdjEvZGV2aWNlY2VydGlmaWNhdGVzL2NyZWF0ZT9rZXk9QUl6YVN5Qi01T0xLVHgyaVU1bWtvMThEZmR3SzU2MTFKSWpiVWhFIixEKTtXPXtmb3JtYXQ6IlJBVyIsaGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkpTT04uc3RyaW5naWZ5KHtzaWduZWRSZXF1ZXN0OlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwKVyl9KSxyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn07Zy5zeihELFcsMyw1MDApLnRoZW4oWXooYj0+e2I9Yi54aHI7aWYoIW4ucU4oKSl7Yj1uZXcgVWludDhBcnJheShiLnJlc3BvbnNlKTt2YXIgdj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7dHJ5e3ZhciBrPUpTT04ucGFyc2Uodil9Y2F0Y2goaCl7fWsmJmsuc2lnbmVkUmVzcG9uc2U/KG4uV0ooImN0bXAiLCJkcm1pbmZvIix7cHJvdmlzaW9uaW5nOjF9KSxrPShwZXJmb3JtYW5jZS5ub3coKS1uLlYpLzFFMyxuLlY9TmFOLG4uV0ooImN0bXAiLCJwcm92cyIse2V0OmsudG9GaXhlZCgzKX0pLG4uWCYmbi5YLnVwZGF0ZShiKSk6KGs9ayYmay5lcnJvciYmay5lcnJvci5tZXNzYWdlLGI9ImUucGFyc2UiLGsmJihiKz1gO20uJHtrfWApLG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYikpfX0pLFl6KGI9PntuLnFOKCl8fG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuJHtiLmVycm9yQ29kZX07Yy4ke2IueGhyJiYKYi54aHIuc3RhdHVzfWApfSkpfX07CmM3cj1mdW5jdGlvbihuLFcsRCl7bi5xTigpfHwoKHBDKG4se29ubGNzcnNwOjF9KSxuLnN0YXR1cz0icnIiLFcuc3RhdHVzQ29kZSE9PTApP24uZXJyb3IoImRybS5hdXRoIiwxLGB0LmY7Yy4ke1cuc3RhdHVzQ29kZX1gLFcuZXJyb3JNZXNzYWdlfHx2b2lkIDApOihEJiZuLmRoJiZuLkIuWnQoKS5OLlFRKFljKSYmKG4uZGguY2VydGlmaWNhdGU9Vy5tZXNzYWdlKSxnLmFMKCJkcm1fa3JfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKSxXLmhlYXJ0YmVhdFBhcmFtcyYmVy5oZWFydGJlYXRQYXJhbXMudXJsJiZuLnZpZGVvRGF0YS5TKCJvdXRlcnR1YmVfc3RyZWFtaW5nX2RhdGFfYWx3YXlzX3VzZV9zdGFnaW5nX2xpY2Vuc2Vfc2VydmljZSIpJiYoRD1uLkouVy5tYXRjaCgvKC4qKXlvdXR1YmUuY29tL2cpKSYmKFcuaGVhcnRiZWF0UGFyYW1zLnVybD1EWzBdK1cuaGVhcnRiZWF0UGFyYW1zLnVybCksVy5oZWFydGJlYXRQYXJhbXMmJm4uV0ooIm5ld2xpY2Vuc2UiLFcuaGVhcnRiZWF0UGFyYW1zKSwKVy5XJiYobi5XPVcuVyxuLnZpZGVvRGF0YS5hTXx8bi5XSigibmV3bGljZW5zZSIsbmV3IERiaiksbi52aWRlb0RhdGEuYU09ITAsbi5LPWcub00obi5XLGI9PmIuaW5jbHVkZXMoIkhEUiIpKSksVy5KJiYobi5EPVcuSiksVy5OJiYobi5CLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5KLk4oKT8oRD1nLkVBKHhLKG4uZmFpcnBsYXlLZXlJZCksNCksbi5OW0RdPXt0eXBlOlcuTltEXSwKc3RhdHVzOiJ1bmtub3duIn0pOm4uTj1XeChXLk4sYj0+KHt0eXBlOmIsc3RhdHVzOiJ1bmtub3duIn0pKSksZzEobi5KKSYmKFcubWVzc2FnZT1hMjIoZy5FQShXLm1lc3NhZ2UpKSksbi5YJiYocEMobix7dXBkdGtzOjF9KSxuLnN0YXR1cz0ia3UiLG4uWC51cGRhdGUoVy5tZXNzYWdlKS50aGVuKCgpPT57Zy5hTCgiZHJtX2tyX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uik7CkhyKG4pfHwocEMobix7a3NBcGlVbnN1cDoxfSksbi5XSigia2V5c3RhdHVzZXNjaGFuZ2UiLG4pKX0sYj0+e2I9YG1zdWYucmVxLiR7bi5yZXF1ZXN0TnVtYmVyfTttc2cuJHtnLnVwKGIubWVzc2FnZSwzKX1gOwpuLmVycm9yKCJkcm0ua2V5ZXJyb3IiLDEsYil9KSksZy5YVihuLkopJiZuLldKKCJmYWlycGxheV9uZXh0X25lZWRfa2V5X2luZm8iLG4uYmFzZVVybCxXLm5leHRGYWlycGxheUtleUlkKSxuLkIuUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZuLkouTigpJiZuLldKKCJxdWFsaXR5Y2hhbmdlIixibWgobi5XKSksVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJm4uV0ooInNhYnJsaWNlbnNlY29uc3RyYWludCIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpKSl9OwpXZzI9ZnVuY3Rpb24obixXKXtuLnN0YXR1cz0ia20iO2cuYUwoImRybV9uZXRfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKTt2YXIgRD1uZXcgZy5kNChuLkIuU1YpLGI9e2NvbnRleHQ6Zy5VSihELmNvbmZpZ198fGcuUzkoKSl9O2IuZHJtU3lzdGVtPXZRQ1tuLkouZmxhdm9yXTtiLnZpZGVvSWQ9bi52aWRlb0RhdGEudmlkZW9JZDtiLmNwbj1uLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlO2Iuc2Vzc2lvbklkPW4uc2Vzc2lvbklkO2IubGljZW5zZVJlcXVlc3Q9Zy5FQShXLm1lc3NhZ2UpO2IuZHJtUGFyYW1zPW4udmlkZW9EYXRhLmRybVBhcmFtcztpc05hTihuLmNyeXB0b1BlcmlvZEluZGV4KXx8KGIuaXNLZXlSb3RhdGVkPSEwLGIuY3J5cHRvUGVyaW9kSW5kZXg9bi5jcnlwdG9QZXJpb2RJbmRleCk7dmFyIHY9ISFuLnZpZGVvRGF0YS5KPy5LKCk/LmlzSGRyKCk7Yi5kcm1WaWRlb0ZlYXR1cmU9dj8iRFJNX1ZJREVPX0ZFQVRVUkVfUFJFRkVSX0hEUiI6IkRSTV9WSURFT19GRUFUVVJFX1NEUiI7Cm4uQi5leHBlcmltZW50cy5adCgpLk4uUVEoa1RiKSYmKGIuY29udGV4dD1nLm9UKG4udmlkZW9EYXRhKSk7aWYoYi5jb250ZXh0JiZiLmNvbnRleHQuY2xpZW50KXtpZih2PW4uQi5OKWIuY29udGV4dC5jbGllbnQuZGV2aWNlTWFrZT12LmNicmFuZCxiLmNvbnRleHQuY2xpZW50LmRldmljZU1vZGVsPXYuY21vZGVsLGIuY29udGV4dC5jbGllbnQuYnJvd3Nlck5hbWU9di5jYnIsYi5jb250ZXh0LmNsaWVudC5icm93c2VyVmVyc2lvbj12LmNicnZlcixiLmNvbnRleHQuY2xpZW50Lm9zTmFtZT12LmNvcyxiLmNvbnRleHQuY2xpZW50Lm9zVmVyc2lvbj12LmNvc3ZlcjtuLkIuZXhwZXJpbWVudHMuWnQoKS5OLlFRKGtUYil8fChiLmNvbnRleHQudXNlcj1iLmNvbnRleHQudXNlcnx8e30sbi52aWRlb0RhdGEuRCYmKGIuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOm4udmlkZW9EYXRhLkQsc2NvcGU6IlZJREVPIn1dKSxuLnZpZGVvRGF0YS5ISiYmKGIuY29udGV4dC51c2VyLmtpZHNQYXJlbnQ9CntvYXV0aFRva2VuOm4udmlkZW9EYXRhLkhKfSkpO2IuY29udGV4dC5yZXF1ZXN0PWIuY29udGV4dC5yZXF1ZXN0fHx7fTtiLmNvbnRleHQucmVxdWVzdC5tZHhFbnZpcm9ubWVudD1uLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudHx8Yi5jb250ZXh0LnJlcXVlc3QubWR4RW52aXJvbm1lbnQ7Zy5YVihuLkopJiYoYi5mYWlycGxheUtleUlkPWcuRUEoeEsobi5mYWlycGxheUtleUlkKSkpO2cuSEUobi5CLG4udmlkZW9EYXRhLlYoKSkudGhlbihrPT57Qzl4KFcsYixELGspO24uc3RhdHVzPSJycyJ9KX1lbHNlIG4uZXJyb3IoImRybS5uZXQiLDIsInQucjtpYy4wIil9OwpoOE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2IuaXNIZHI9Vy5pbmNsdWRlcygiSERSIik7c3dpdGNoKFcucmVwbGFjZSgiSERSIiwiIikucmVwbGFjZSgiNzIwIiwiIikpe2Nhc2UgIkFVRElPIjpiLnRyYWNrVHlwZT0xO2JyZWFrO2Nhc2UgIlNEIjpiLnRyYWNrVHlwZT0yO2JyZWFrO2Nhc2UgIkhEIjpiLnRyYWNrVHlwZT0zO2JyZWFrO2Nhc2UgIlVIRDEiOmIudHJhY2tUeXBlPTQ7YnJlYWs7Y2FzZSAiVUhEMiI6Yi50cmFja1R5cGU9NTticmVhaztkZWZhdWx0OmIudHJhY2tUeXBlPTB9IWIudHJhY2tUeXBlfHxEW1ddfHxIcihuKSYmIWZDKG4sVyl8fChuLmF1dGhvcml6ZWRGb3JtYXRzLnB1c2goYiksRFtXXT0hMCl9Owp4Ymo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobi5OKSlELnB1c2goYCR7Yn1fJHtuLk5bYl0udHlwZX1fJHtuLk5bYl0uc3RhdHVzfWApO3JldHVybiBELmpvaW4oVyl9OwpIcj1mdW5jdGlvbihuKXt2YXIgVztpZihXPW4uTyYmbi5YIT1udWxsKW49bi5YLFc9ISghbi5OfHwhbi5OLmtleVN0YXR1c2VzKTtyZXR1cm4gV307Cm5Rdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuTi5nZXRWYWx1ZSgpO0Q9bmV3IGcuZl8oKCk9PntXZzIobixXKX0sRCk7CmcudShuLEQpO0Quc3RhcnQoKTtnLnhFKFcuTik7cEMobix7cnR5cnE6MX0pfTsKSjI9ZnVuY3Rpb24obil7dmFyIFc9e307V1tuLnN0YXR1c109SHIobik/eGJqKG4sIi4iKTpuLlcuam9pbigiLiIpO3JldHVybiBXfTsKZkM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbi5OKWlmKG4uTltEXS5zdGF0dXM9PT0idXNhYmxlIiYmbi5OW0RdLnR5cGU9PT1XKXJldHVybiEwO3JldHVybiExfTsKTGd3PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4uTilpZihuLk5bRF0udHlwZT09PVcpcmV0dXJuIG4uTltEXS5zdGF0dXN9OwplOHc9ZnVuY3Rpb24obil7dmFyIFc9blswXTtuWzBdPW5bM107blszXT1XO1c9blsxXTtuWzFdPW5bMl07blsyXT1XO1c9bls0XTtuWzRdPW5bNV07bls1XT1XO1c9bls2XTtuWzZdPW5bN107bls3XT1XfTsKYm1oPWZ1bmN0aW9uKG4pe3JldHVybiBnLmpqKG4sIlVIRDIiKXx8Zy5qaihuLCJVSEQySERSIik/ImhpZ2hyZXMiOmcuamoobiwiVUhEMSIpfHxnLmpqKG4sIlVIRDFIRFIiKT8iaGQyMTYwIjpnLmpqKG4sIkhEIil8fGcuamoobiwiSERIRFIiKT8iaGQxMDgwIjpnLmpqKG4sIkhENzIwIil8fGcuamoobiwiSEQ3MjBIRFIiKT8iaGQ3MjAiOiJsYXJnZSJ9OwpWOWk9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0yKVcrPVN0cmluZy5mcm9tQ2hhckNvZGUobltEXSk7bj1nLmdUKG5ldyBET01QYXJzZXIsZy5ITShXKSwidGV4dC94bWwiKTtpZighbilyZXR1cm4gbnVsbDsoVz1uLnF1ZXJ5U2VsZWN0b3IoIkNoYWxsZW5nZSIpKSYmVy5jaGlsZE5vZGVzJiZXLmNoaWxkTm9kZXMubGVuZ3RoIT09MD8obj1VaW50OEFycmF5LFc9emgoVy5jaGlsZE5vZGVzWzBdLm5vZGVWYWx1ZSksVz0oMCxnLk5tKShXKS5idWZmZXIsbj1uZXcgbihXKSk6bj1udWxsO3JldHVybiBufTsKTTliPWZ1bmN0aW9uKG4sVyxELGIsdil7bi5qPVc7bi5XPUQ7bi5WPWI7bi5LPXZ9OwpnUXc9ZnVuY3Rpb24obil7bi5OPyhuLlguTk4obi5OLCJtZXNzYWdlIixuLmJkKSxuLlguTk4obi5OLCJrZXlzdGF0dXNlc2NoYW5nZSIsbi5ZViksbi5OLmNsb3NlZCYmbi5OLmNsb3NlZC50aGVuKFl6KCgpPT57bi5xTigpfHxnLnViKCJ4Ym94b25lIikmJm4uVyYmbi5XKCJjbG9zZWRTaG91bGROb3RSZXRyeSIpfSksbnVsbCkpOm4uSiYmKEt5KG4uWCxuLkosWyJtc2tleW1lc3NhZ2UiLAoid2Via2l0a2V5bWVzc2FnZSJdLG4uY0opLEt5KG4uWCxuLkosWyJtc2tleWVycm9yIiwid2Via2l0a2V5ZXJyb3IiXSxuLk8pLEt5KG4uWCxuLkosWyJtc2tleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLkQpKX07ClhVUz1mdW5jdGlvbihuLFcsRCl7Zy5YaihEKTtuLlcmJihEIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtuLiR7RC5uYW1lfTttLiR7RC5tZXNzYWdlfWApLG4uVyhXKSl9OwpxY1U9ZnVuY3Rpb24obil7S3kobi5YLG4uZWxlbWVudCxbImtleW1lc3NhZ2UiLCJ3ZWJraXRrZXltZXNzYWdlIl0sbi5PKTtLeShuLlgsbi5lbGVtZW50LFsia2V5ZXJyb3IiLCJ3ZWJraXRrZXllcnJvciJdLG4uRCk7S3kobi5YLG4uZWxlbWVudCxbImtleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLlkpfTsKR1RTPWZ1bmN0aW9uKG4sVz1udWxsKXtpZihuLk4ua2V5U3lzdGVtQWNjZXNzKXJldHVybiBuLks9bi5LLnRoZW4oKCk9Pm4ubWVkaWFLZXlzP1Byb21pc2UucmVzb2x2ZSgpOlc/Lm1lZGlhS2V5cyYmVy5ZYT8ucGcoKT8obi5tZWRpYUtleXM9Vz8ubWVkaWFLZXlzLFByb21pc2UucmVzb2x2ZSgpKTpuLk4ua2V5U3lzdGVtQWNjZXNzLmNyZWF0ZU1lZGlhS2V5cygpLnRoZW4oRD0+e24ucU4oKXx8KG4ubWVkaWFLZXlzPUQsVz8uWWE/LnBnKCkmJihXLm1lZGlhS2V5cz1EKSl9KSkudGhlbigoKT0+e3ZhciBEPVc/LmVfKCk7CnJldHVybiBuLmVsZW1lbnQmJm4uZWxlbWVudCE9PUQmJm4uZWxlbWVudC5tZWRpYUtleXM/bi5lbGVtZW50LnNldE1lZGlhS2V5cyhudWxsKTpQcm9taXNlLnJlc29sdmUoKX0pLnRoZW4oKCk9PntuLmVsZW1lbnQ9Vz8uZV8oKTsKcmV0dXJuIG4uZWxlbWVudCYmbi5lbGVtZW50Lm1lZGlhS2V5cyE9PW4ubWVkaWFLZXlzP24uZWxlbWVudC5zZXRNZWRpYUtleXMobi5tZWRpYUtleXMpOlByb21pc2UucmVzb2x2ZSgpfSksbi5LOwp4aChuLk4pP24uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pOmVUKG4uTik/KG4uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pLG4uZWxlbWVudD8ud2Via2l0U2V0TWVkaWFLZXlzKG4uSikpOnFjVShuKTtyZXR1cm4gbnVsbH07CnR3TT1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KDI3MCk7Zm9yKGxldCBiPTA7YjwxMzU7YisrKURbYioyXT0nPFBsYXlSZWFkeUNETURhdGEgdHlwZT0iTGljZW5zZUFjcXVpc2l0aW9uIj48TGljZW5zZUFjcXVpc2l0aW9uIHZlcnNpb249IjEuMCIgUHJvYWN0aXZlPSJ0cnVlIj48L0xpY2Vuc2VBY3F1aXNpdGlvbj48L1BsYXlSZWFkeUNETURhdGE+Jy5jaGFyQ29kZUF0KGIpO249bi5KLmNyZWF0ZVNlc3Npb24oInZpZGVvL21wNCIsVyxEKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsbil9OwpySTE9ZnVuY3Rpb24obixXKXtXPSRiWihXLG4uTi5DaSk7Vz1uLkouY3JlYXRlU2Vzc2lvbigidmlkZW8vbXA0IixXKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsVyxuLlYpfTsKUzA9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmpbVy5zZXNzaW9uSWRdOyFEJiZuLlcmJihEPW4uVyxuLlc9bnVsbCxELnNlc3Npb25JZD1XLnNlc3Npb25JZCxuLmpbVy5zZXNzaW9uSWRdPUQpO3JldHVybiBEfTsKJGJaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5zdWJhcnJheSg0KTtEPW5ldyBVaW50MTZBcnJheShELmJ1ZmZlcixELmJ5dGVPZmZzZXQsRC5ieXRlTGVuZ3RoLzIpO0Q9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEQpLm1hdGNoKC9laz0oWzAtOWEtZl0rKS8pWzFdO3ZhciBiPSIiO2Zvcih2YXIgdj0wO3Y8RC5sZW5ndGg7dis9MiliKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KEQuc3Vic3RyaW5nKHYsdisyKSwxNikpO0Q9YjtiPW5ldyBBcnJheUJ1ZmZlcihELmxlbmd0aCoyKTt2PW5ldyBVaW50MTZBcnJheShiKTtmb3IodmFyIGs9MDtrPEQubGVuZ3RoO2srKyl2W2tdPUQuY2hhckNvZGVBdChrKTtEPW5ldyBVaW50OEFycmF5KGIpO2I9MDtrPW5ldyBBcnJheUJ1ZmZlcihuLmJ5dGVMZW5ndGgrNCtELmJ5dGVMZW5ndGgrNCtXLmJ5dGVMZW5ndGgpO3Y9bmV3IFVpbnQ4QXJyYXkoayk7az1uZXcgRGF0YVZpZXcoayk7di5zZXQobik7Yis9bi5ieXRlTGVuZ3RoOwprLnNldFVpbnQzMihiLEQubGVuZ3RoLCEwKTtiKz00O3Yuc2V0KEQsYik7Yis9RC5sZW5ndGg7ay5zZXRVaW50MzIoYixXLmJ5dGVMZW5ndGgsITApO3Yuc2V0KFcsYis0KTtyZXR1cm4gdn07Ck5vQz1mdW5jdGlvbihuKXt2YXIgVz1HVFMobi5tZWRpYUtleXMsbi5tZWRpYUVsZW1lbnQpO1c/Vy50aGVuKFl6KCgpPT57c0lNKG4pfSksWXooRD0+e2lmKCFuLnFOKCkpe2cuWGooRCk7CnZhciBiPSJ0LmEiO0QgaW5zdGFuY2VvZiBET01FeGNlcHRpb24mJihiKz0iO24uIitELm5hbWUrIjttLiIrRC5tZXNzYWdlKTtuLldKKCJsaWNlbnNlZXJyb3IiLCJkcm0udW5hdmFpbGFibGUiLDEsYiwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siKX19KSk6KG4uSih7bWRrcmR5OjF9KSxuLkQ9ITApOwpuLk8mJihXPUdUUyhuLk8sbi5tZWRpYUVsZW1lbnQpKX07CnNJTT1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uQi5TKCJodG1sNV9kcm1fc2V0X3NlcnZlcl9jZXJ0Iil8fG4uTi5OKCkpe2xldCBXPW4ubWVkaWFLZXlzLnNldFNlcnZlckNlcnRpZmljYXRlKCk7Vz9XLnRoZW4oWXooRD0+e24uQi5XWCgpJiZuLldKKCJjdG1wIiwic3NjIix7c3VjY2VzczpEfSl9KSxZeihEPT57bi5XSigiY3RtcCIsInNzY2UiLHtuOkQubmFtZSwKbTpELm1lc3NhZ2V9KX0pKS50aGVuKFl6KCgpPT57QTIobil9KSk6QTIobil9ZWxzZSBBMihuKX07ClljMT1mdW5jdGlvbihuLFcsRCl7bi5QWD0hMDtEPW5ldyBydShXLEQpO24uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmKG4uVi5nZXQoVyl8fG4uVi5zZXQoVyxEKSk7cFVqKG4sRCl9OwpwVWo9ZnVuY3Rpb24obixXKXtpZighbi5xTigpKXtuLkooe29uSW5pdERhdGE6MX0pO2lmKG4uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBEPW4uSy5nZXQoVy5pbml0RGF0YSk7Vz1uLlYuZ2V0KFcuaW5pdERhdGEpO2lmKCFEfHwhVylyZXR1cm47Vz1EO0Q9Vy5pbml0RGF0YTtuLlYucmVtb3ZlKEQpO24uSy5yZW1vdmUoRCl9bi5KKHtpbml0ZDpXLmluaXREYXRhLmxlbmd0aCxjdDpXLmNvbnRlbnRUeXBlfSk7aWYobi5OLmZsYXZvcj09PSJ3aWRldmluZSIpaWYobi5WUSYmIW4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrKW1uKG4pO2Vsc2V7aWYoIShuLkIuUygidnA5X2RybV9saXZlIikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZXLnFIKSl7bi5WUT0hMDtEPVcuY3J5cHRvUGVyaW9kSW5kZXg7dmFyIGI9Vy5OO1Z2dChXKTtXLnFIfHwoYiYmVy5OIT09Yj9uLldKKCJjdG1wIiwiY3BzbW0iLHtlbXNnOmIsCnBzc2g6Vy5OfSk6RCYmVy5jcnlwdG9QZXJpb2RJbmRleCE9PUQmJm4uV0ooImN0bXAiLCJjcGltbSIse2Vtc2c6RCxwc3NoOlcuY3J5cHRvUGVyaW9kSW5kZXh9KSk7bi5XSigid2lkZXZpbmVfc2V0X25lZWRfa2V5X2luZm8iLFcpfX1lbHNlIG4uUyQoVyl9fTsKbW49ZnVuY3Rpb24obil7aWYobi5QWCYmbi5EJiYhbi5iZCl7Zm9yKDtuLlgubGVuZ3RoOyl7bGV0IFc9bi5YWzBdLEQ9SG1TKG4pP2NraihXKTpnLkVBKFcuaW5pdERhdGEpO2lmKG4uTi5OKCkmJiFXLlVXKW4uWC5zaGlmdCgpO2Vsc2V7aWYobi5XLmdldChEKSlpZihuLk4uZmxhdm9yIT09ImZhaXJwbGF5Inx8bi5OLk4oKSl7bi5YLnNoaWZ0KCk7Y29udGludWV9ZWxzZSBuLlcuZGVsZXRlKEQpO1Z2dChXKTticmVha319bi5YLmxlbmd0aCYmbi5jcmVhdGVTZXNzaW9uKG4uWFswXSl9fTsKQTI9ZnVuY3Rpb24obil7bi5xTigpfHwobi5EPSEwLG4uSih7b25tZGtyZHk6MX0pLG1uKG4pKX07CkhtUz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmZsYXZvcj09PSJ3aWRldmluZSImJm4udmlkZW9EYXRhLlMoImh0bWw1X2RybV9jcGlfbGljZW5zZV9rZXkiKX07CmY1eD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmQ4KCkmJm4ubWVkaWFLZXlzLm1lZGlhS2V5cz8uZ2V0TWV0cmljcyl7dmFyIFc9YXdhaXQgbi5tZWRpYUtleXMuZ2V0TWV0cmljcygpO1cmJigoMCxnLkc5KShXKXx8KFc9Zy5IRyhXKSksL15bQS1aYS16MC05Xy1dKz17MCwzfSQvLnRlc3QoVyl8fChXPWcudXAoVyx2b2lkIDAsITApKSxuLldKKCJjdG1wIiwiZHJtIix7bWV0cmljczpXfSkpfX07CkpJYj1mdW5jdGlvbihuLFcpe2lmKG4udmlkZW9EYXRhLlkpcmV0dXJuITE7bi55US5udSs9MTtpZihuLnlRLm51PD0xMClyZXR1cm4hMTtXLmV4aWxlZD1gJHtuLnlRLm51fWA7bi5HcygicW9lLnN0YXJ0MTVzIixXKTtuLkwuV0ooInBsYXliYWNrc3RhbGxlZGF0c3RhcnQiKTtyZXR1cm4hMH07Ckk1Mj1mdW5jdGlvbihuKXtpZighbi5KKXtuLko9ITA7dmFyIFc9bi5MLmdldFBsYXllclN0YXRlKCk7Vz1XLmlzUGF1c2VkKCl8fFcuaXNTdXNwZW5kZWQoKTtuLkwub0ooKTtXJiYhT1Mobi52aWRlb0RhdGEpfHxuLkwuV0ooInNpZ25hdHVyZWV4cGlyZWQiKX19OwpLQz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi52aWRlb0RhdGEuSix2PW4udmlkZW9EYXRhLlgsaz1uLnlRLlMoImh0bWw1X2Rpc2FibGVfY29kZWNfZmFsbGJhY2tfZm9yX2RybSIpJiZuLnZpZGVvRGF0YS5NaSgpO0FKKG4uTC5nZXRWaWRlb0RhdGEoKSkmJlA5VShuLkwsInBlIik7bi55US5adCgpLk4uUVEoU2N0KSYmKEQuYmtnPW4uTC5YTygpLmlzQmFja2dyb3VuZCgpPyIxIjoiMCIpO2lmKChXPT09InByb2dyZXNzaXZlLm5ldC5yZXRyeWV4aGF1c3RlZCJ8fFc9PT0iZm10LnVucGxheWFibGUifHxXPT09ImZtdC5kZWNvZGUiKSYmIW4uTC5oVS5qJiZiJiZiLml0YWc9PT0iMjIiKXJldHVybiBuLkwuaFUuaj0hMCxuLkdzKCJxb2UucmVzdGFydCIse3JlYXNvbjoiZm10LnVucGxheWFibGUuMjIifSksbi5MLlZ2KCksITA7dmFyIGg9ITE7aWYobi52aWRlb0RhdGEuaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCl7aWYoaD1uLnZpZGVvRGF0YS5xdylELm1pbWVUeXBlPWgudHlwZSwKbi5VKCIzcHAiLHt1cmw6aC51cmx9KTtELm5zPSIzcHAiO24uTC5QVihXLDEsIlZJREVPX1VOQVZBSUxBQkxFIixnLlRDKChuZXcgZy5DaShXLEQsMSkpLmRldGFpbHMpKTtyZXR1cm4hMH12YXIgeD1uLmtzKzNFNDwoMCxnLlIpKCl8fG4uTi5pc0FjdGl2ZSgpO2lmKG4ueVEuUygiaHRtbDVfZW1wdHlfc3JjIikmJm4udmlkZW9EYXRhLmlzQWQoKSYmVz09PSJmbXQudW5wbGF5YWJsZSImJi9FbXB0eSBzcmMvLnRlc3QoYCR7RC5tc2d9YCkpcmV0dXJuIEQub3JpZ2luPSJlbXB0eXNyYyIsbi5HcygiYXV0aCIsRCksITA7dmFyIEw7aWYoTD0heClMPW4uTC5YTygpLEw9ISEoTC5CUCgpfHxMLmlzSW5saW5lKCl8fEwuaXNCYWNrZ3JvdW5kKCl8fEwuQW4oKXx8TC5qSSgpfHxMLlNJKCl8fEwuUTAoKSk7TCYmKEQubm9uZmc9InBhdXNlZCIseD0hMCxuLkwucGF1c2VWaWRlbygpKTtXIT09ImZtdC5kZWNvZGUiJiZXIT09ImZtdC51bnBsYXlhYmxlInx8IXY/LlYoKXx8KFNUKG4ueVEuVyx2LklCKSwKRC5hY2ZhbGxleHA9di5JQixoPXg9ITApOyF4JiZuLlc+MCYmKG4uTi5zdGFydCgpLHg9ITAsRC5kZWxheWVkPSIxIiwtLW4uVyk7dj1uLkwubG9hZGVyO3h8fCFiPy5NVygpJiYhYj8uWCgpfHxrfHwoU1Qobi55US5XLGIuSUIpLGg9eD0hMCxELmNmYWxsZXhwPWIuSUIpO2lmKCF4KXJldHVybiBKSWIobixEKTtrPSExO24uaj9uLmtzPSgwLGcuUikoKTprPW4uaj0hMDt4PW4udmlkZW9EYXRhO3guY0o/KHg9eC5jSi5qKCksTD1EYXRlLm5vdygpLzFFMysxODAwLHg9eDxMKTp4PSExO0QuZT1XO3gmJihELnN0YWxlcHJvZz0iMSIpO24uR3MoInFvZS5yZXN0YXJ0IixEKTtpZih4JiZuLlExKCkpcmV0dXJuIEk1MihuKSwhMDtpZighKCFnLnViKCJwaGlsaXBzIil8fFc9PT0iZm10LnVucGxheWFibGUiJiZ2JiZ2LkNIfHxuLnlRLk4uY3BsYXRmb3JtPT09IkdBTUVfQ09OU09MRSIpKXRyeXt3aW5kb3cuY2xvc2UoKX1jYXRjaHt9YiYmYi5NVygpJiYhbi55US5TKCJodG1sNV9hbGxvd19hdjFfcmV0cnlfaW5fc2Vzc2lvbiIpPwooaD1uLnlRLlcsaC5ZPSEwLGg9aC5OPSEwKTp2PyhXPW4ueVEuUygiaHRtbDVfZGlzYWJsZV9zdHVubmluZ19mb3Jfc2QiKSxEPW4udmlkZW9EYXRhLlcsRD1EPy52aWRlb0luZm9zPy5sZW5ndGg/RC52aWRlb0luZm9zW0QudmlkZW9JbmZvcy5sZW5ndGgtMV06bnVsbCxiPWImJkQmJmIudmlkZW8mJkQudmlkZW8mJmIudmlkZW8ucXVhbGl0eU9yZGluYWw9PT1ELnZpZGVvLnF1YWxpdHlPcmRpbmFsLGt8fFcmJmJ8fChiPShiPUkkKHYudmlkZW9UcmFjayl8fHYudmlkZW9UcmFjay5OKT9iLlBKOnYudmlkZW9UcmFjay5QSixiLkZGKz0xLHYucG9saWN5Lk4/V2wodi5rNixiLCEwKTphcSh2LmNWLGIsITApKSk6bi52aWRlb0RhdGEuY0omJm4udmlkZW9EYXRhLmNKLlgoKTtuLk4uaXNBY3RpdmUoKXx8bi5MLkJvKGgpO3JldHVybiEwfTsKQUlNPWZ1bmN0aW9uKG4sVyl7aWYoKG49bi5MLmg1KCkpJiYoVy5lcnJvckNvZGU9PT0iZm10LnVucGxheWFibGUifHxXLmVycm9yQ29kZT09PSJodG1sNS5pbnZhbGlkc3RhdGUiKSl7bGV0IEQ9bi5WRygpO1cuZGV0YWlscy5tZXJyPUQ/RC50b1N0cmluZygpOiIwIjtXLmRldGFpbHMubW1zZz1uLnM4KCl9fTsKbWJNPWZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yQ29kZT09PSJuZXQuYmFkc3RhdHVzIiYmKG4uc2V2ZXJpdHk9PT0xfHwhIW4uZGV0YWlscy5mbXRfdW5hdil9OwpLZ3g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi55US5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIikmJlcuZGV0YWlscy5yYz09PTQwM3x8Vy5kZXRhaWxzLnJjPT09IjQwMyI/KG49Vy5lcnJvckNvZGUsbj09PSJuZXQuYmFkc3RhdHVzInx8bj09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiKTohMX07Ck9YPWZ1bmN0aW9uKG4sVyxEKXt0cnl7Vz17ZGV0YWlsOmBwci4ke1d9YH0sZy54NihuLnlRKXx8bG8obi55USk9PT0iVFZIVE1MNV9GT1JfS0lEUyI/bi5MLlBWKCJxb2UucmVzdGFydCIsRD8xOjIsdm9pZCAwLGcuVEMoVyksIjciKToobi5HcygicW9lLnJlc3RhcnQiLFcpLHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSl9Y2F0Y2h7fX07Ck9tMj1mdW5jdGlvbihuLFcpe2lmKCFLZ3gobixXKSYmIW4uSilyZXR1cm4hMTtXLmRldGFpbHMuc3RzPSIyMDY1NSI7aWYobi5RMSgpKXJldHVybiBqMihXLnNldmVyaXR5KSYmKFc9T2JqZWN0LmFzc2lnbih7ZTpXLmVycm9yQ29kZX0sVy5kZXRhaWxzKSxXPW5ldyBnLkNpKCJxb2UucmVzdGFydCIsVykpLG4uR3MoVy5lcnJvckNvZGUsVy5kZXRhaWxzKSxJNTIobiksITA7KDAsZy5SKSgpLW4ueVEuQ3U+NjA0OEU1JiZPWChuLCJzaWduYXR1cmUiLCEwKTtyZXR1cm4hMX07ClBNaj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YS5lcnJvckRldGFpbD09PSI3IiYmZy5rNihuLnlRKSl7bGV0IFc9IW4udmlkZW9EYXRhLmlzSW5saW5lUGxheWJhY2tOb0FkO1cmJm4ueVEuVFErKztPWChuLCJpbm5lcnR1YmVfcGxheWVyX3JlbG9hZF9yZXF1aXJlZCIsVyYmbi55US5UUT4xKTtyZXR1cm4hMH1yZXR1cm4hMX07ClByPWZ1bmN0aW9uKG4sVz0iZm10Lm5vbmVhdmFpbGFibGUiKXt2YXIgRD1uLnlRLlc7RC5LPSExO0QuTj0hMDtuLkdzKCJxb2UucmVzdGFydCIse2U6VyxkZXRhaWw6ImhkciJ9KTtuLkwuQm8oITApfTsKWm1oPWZ1bmN0aW9uKG4pe2lmKG4uTC5YTygpLmlzSW5saW5lKCkpcmV0dXJuIFlaO249TGdbcDcoKV07cmV0dXJuIHZBKCJhdXRvIixuLCExLCJzIil9Owp5SXI9ZnVuY3Rpb24obixXKXt2YXIgRDthOmlmKChEPVcuTikmJkQudmlkZW9JbmZvcy5sZW5ndGgpe2Zvcih2YXIgYiBvZiBELnZpZGVvSW5mb3MpaWYoYi5qPy5zbW9vdGgpe0Q9Yi52aWRlby5xdWFsaXR5T3JkaW5hbDticmVhayBhfUQ9RC52aWRlb0luZm9zWzBdLnZpZGVvLnF1YWxpdHlPcmRpbmFsfWVsc2UgRD0wO2I9ITA7bi5CLlMoIndlYl9yZWxheF9hcm1fY2FwIikmJm5hdmlnYXRvci5KRiYmKGI9ITEpO2ImJihnLnViKCJhcm12NyIpfHxnLnViKCJhYXJjaDY0Iil8fGcudWIoImFuZHJvaWQiKSkmJiFnLms2KG4uQikmJlcuTi52aWRlb0luZm9zWzBdLlgoKSYmKEQ9TWF0aC5taW4oRCxORy5sYXJnZSkpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2NoaXBzZXRfc29mdF9jYXAiKTtiPjAmJihEPU1hdGgubWluKEQsYikpO2I9bi5CLncwKCkuTi5RUShVYlMpO2I+MCYmKEQ9TWF0aC5taW4oRCxiKSk7aWYoYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb24iKSl7bGV0IGg9CjQzMjA7Zm9yKHZhciB2PTA7djxXLk4udmlkZW9JbmZvcy5sZW5ndGg7disrKXt2YXIgaz1XLk4udmlkZW9JbmZvc1t2XTtrLnZpZGVvLmhlaWdodD5iJiYoaD1NYXRoLm1pbihoLGsudmlkZW8ucXVhbGl0eU9yZGluYWwpKX1pZihoPDQzMjApe3Y9MDtmb3Ioaz0wO2s8Vy5OLnZpZGVvSW5mb3MubGVuZ3RoO2srKyl7bGV0IHg9Vy5OLnZpZGVvSW5mb3Nba10udmlkZW8ucXVhbGl0eU9yZGluYWw7eDxoJiYodj1NYXRoLm1heCh2LHgpKX12JiYoRD1NYXRoLm1pbih2LEQpKX1uLkwuVSgibXZyIix7aDpiLGNwOkR9KX1yZXR1cm4gbmV3IGIzKDAsRCwhMSwibyIpfTsKaW1yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9NDMyMDshbi5CLmp8fGcuQ04obi5CKXx8bi5CLlMoImhsc19mb3Jfdm9kIil8fG4uQi5TKCJtd2ViX3JlbW92ZV8zNjBwX2NhcCIpfHwoRD1ORy5tZWRpdW0pO3ZhciBiPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwIik7YiYmVy5OLk4oKSYmKG4uQi5TKCJodG1sNV9hbHdheXNfYXBwbHlfZGVmYXVsdF9xdWFsaXR5X2NhcCIpfHwhVy52aWRlb0RhdGEuaTUmJiFXLnZpZGVvRGF0YS5jb250ZW50UHJvdGVjdGlvbikmJihEPU1hdGgubWluKEQsYikpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXAiKTt2YXIgdj0vW2EtaF0kLztiJiZ2LnRlc3QoVy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSkmJihEPU1hdGgubWluKEQsYikpO2lmKHY9Yj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfaGZyX3F1YWxpdHlfY2FwIikpYTp7dj1XLk47aWYodi5OKCkpZm9yKHZhciBrIG9mIHYudmlkZW9JbmZvcylpZihrLnZpZGVvLkooKSl7dj0KITA7YnJlYWsgYX12PSExfXYmJihEPU1hdGgubWluKEQsYikpOyhrPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9saXZlX3F1YWxpdHlfY2FwIikpJiZXLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEQ9TWF0aC5taW4oRCxrKSk7RD1FUU0obixXLEQpO249Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIik7cmV0dXJuIG5ldyBiMygwLEQ9PT00MzIwPzA6RCwhMSwiZCIsbil9OwpaVj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTC5YTygpO3JldHVybiBELmlzSW5saW5lKCkmJiFXLnVuY2FwSW5saW5lUXVhbGl0eT9uZXcgYjMoMCw0ODAsITEsInYiKTpnLllOKFcpP1laOkQuaXNCYWNrZ3JvdW5kKCkmJmcudkkoKS8xRTM+NjAmJiFnLms2KG4uQik/bmV3IGIzKDAsMzYwLCExLCJ2Iik6WVp9OwpVWD1mdW5jdGlvbihuLFcsRCl7aWYobi5CLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIikmJlcuaHEoKXx8Zy5rNihuLkIpJiYocDcoLTEpPj0xMDgwfHxXLm9zaWQpKXJldHVybiBZWjt2YXIgYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcCIpLHY9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2VjcyIpO3JldHVybiBiJiZXLmlzQXV0b25hdiYmZy52SSgpLzFFMz52PyhEJiYoYj1FUU0obixELGIpKSxuZXcgYjMoMCxiLCExLCJlIikpOllafTsKeTM9ZnVuY3Rpb24obixXKXtpZighVy5OLk4oKSlyZXR1cm4gbi5qP25ldyBiMygwLDM2MCwhMSwiYiIpOllaO3ZhciBEPSExLGI9ITE7Zm9yKHZhciB2IG9mIFcuTi52aWRlb0luZm9zKXYuTVcoKT9EPSEwOmI9ITA7RD1EJiZiO2I9MDt2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3IiKTt2PW4uQi5qPzI0MDp2O2ZvcihsZXQgayBvZiBXLk4udmlkZW9JbmZvcyl7aWYoRCYmay5NVygpKWNvbnRpbnVlO1c9VkMoay5JQixrLnZpZGVvLmZwcyxuLlcpO2xldCBoPWsudmlkZW8ucXVhbGl0eU9yZGluYWw7aWYoTWF0aC5tYXgoVyx2KT49aCl7Yj1oO2JyZWFrfX1yZXR1cm4gbmV3IGIzKDAsYiwhMSwiYiIpfTsKaW09ZnVuY3Rpb24obixXKXt2YXIgRD1FWChuLFcuTj8udmlkZW9JbmZvcyksYj1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7cmV0dXJuIGI+MSYmRD8obj1KeihuLkIuVyxXLk4udmlkZW9JbmZvcyxiKSxuZXcgYjMoMCxuLCEwLCJvIikpOm5ldyBiMygwLDAsITEsIm8iKX07CnVtPWZ1bmN0aW9uKG4sVyxEKXtnLms2KG4uQikmJihEPUQuY29tcG9zZShuLk1oKFcpKSk7cmV0dXJuIER9OwpFWD1mdW5jdGlvbihuLFcpe3JldHVybiBXJiZnLms2KG4uQik/Vy5zb21lKEQ9PkQudmlkZW8uSigpKTohMX07CkVRTT1mdW5jdGlvbihuLFcsRCl7aWYobi5TKCJodG1sNV9vcHRpbWFsaXR5X2RlZmF1bHRzX2Nob29zZXNfbmV4dF9oaWdoZXIiKSYmRClmb3Iobj1XLk4udmlkZW9JbmZvcyxXPTE7VzxuLmxlbmd0aDtXKyspaWYobltXXS52aWRlby5xdWFsaXR5T3JkaW5hbDxEKXJldHVybiBuW1ctMV0udmlkZW8ucXVhbGl0eU9yZGluYWw7cmV0dXJuIER9Owp1aWo9YXN5bmMgZnVuY3Rpb24obil7aWYoIW4uTi5OKCl8fHR5cGVvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2F3YWl0IFByb21pc2UucmVzb2x2ZSgpO2ZvcihsZXQgVyBvZiBuLk4udmlkZW9JbmZvcylhd2FpdCBrM3IoVyl9OwpvUTI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLklCLGI9Vy52aWRlby5mcHMsdj1XLnZpZGVvLnF1YWxpdHlPcmRpbmFsLTEsaz1uLlc7Vz1gJHtEfSR7Yj40OT8icDYwIjpiPjMyPyJwNDgiOiIifWA7RD1WQyhELGIsayk7dj4wJiYoRD1NYXRoLm1pbihELHYpKTshY0YuaGFzKFcpJiZKcygpLmluY2x1ZGVzKFcpPyhiPWY3KCksK2JbV10+MCYmKEQ9TWF0aC5taW4oK2JbV10sRCkpLGJbV10hPT1EJiYoYltXXT1ELGcuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLGIsMjU5MkUzKSkpOmNGLmhhcyhXKXx8az09bnVsbD8oYj1KcygpLnNsaWNlKCksYi5pbmNsdWRlcyhXKXx8KGIucHVzaChXKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLGIsMjU5MkUzKSksUUMuc2V0KFcsRCkpOihjRi5hZGQoVyksaz8uc2V0KFcsRCkpO24uTC5zVCgpfTsKZGJTPWZ1bmN0aW9uKCl7cmV0dXJuIFd4KGY3KCksbj0+YCR7bn1gKX07Cno4Mj1mdW5jdGlvbihuLFcsRCxiKXtpZighV3x8IUR8fCFXLnZpZGVvRGF0YS5KKXJldHVybiExO3ZhciB2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoIiksaz1uLlMoImh0bWw1X2xvZ19tZWRpYV9wZXJmX2luZm8iKTtpZighKCgwLGcuUikoKS1uLlg8NUUzPzA6a3x8dj4wKSlyZXR1cm4hMTt2YXIgaD0oKDAsZy5SKSgpLW4uWCkvMUUzO24uWD0oMCxnLlIpKCk7RD1ELmdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7aWYoIUQpcmV0dXJuITE7dmFyIHg9RC5kcm9wcGVkVmlkZW9GcmFtZXMtbi5WLEw9RC50b3RhbFZpZGVvRnJhbWVzLW4udG90YWxGcmFtZXM7bi5WPUQuZHJvcHBlZFZpZGVvRnJhbWVzO24udG90YWxGcmFtZXM9RC50b3RhbFZpZGVvRnJhbWVzO3ZhciBlPUQuZGlzcGxheUNvbXBvc2l0ZWRWaWRlb0ZyYW1lcz09PTA/MDpELmRpc3BsYXlDb21wb3NpdGVkVmlkZW9GcmFtZXN8fC0xO2smJm4uQi5XWCgpJiZuLkwuVSgiZGRmIiwKe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lcyxjb21wOmV9KTtpZihiKXJldHVybiBuLk49MCwhMTtpZigoTC14KS9oPm4uWXx8IXZ8fGcuazYobi5CKSlyZXR1cm4hMTtuLk49KEw+NjA/eC9MOjApPnY/bi5OKzE6MDtpZihuLk4hPT0zKXJldHVybiExO29RMihuLFcudmlkZW9EYXRhLkopO24uTC5VKCJkZmQiLE9iamVjdC5hc3NpZ24oe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lc30sZGJTKCkpKTtyZXR1cm4hMH07Cmw1VT1mdW5jdGlvbihuLFcpe24uUygiaHRtbDVfbG9nX21lZGlhX3BlcmZfaW5mbyIpJiYobi5MLlUoInBlcmZkYiIsZGJTKCkpLG4uTC5VKCJzZXNzaW9ucGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMoUUMuZW50cmllcygpKSksbi5MLlUoInBsYXliYWNrcGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMobi5XLmVudHJpZXMoKSkpLG4uTC5VKCJod2MiLHtuY2g6bmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3l9LCEwKSxXJiZuLkwuVSgibWNkYiIse2l0YWdzOlcuTi52aWRlb0luZm9zLmZpbHRlcihEPT5ELmo/LnNtb290aD09PSExKS5tYXAoRD0+RC5pdGFnKS5qb2luKCItIil9KSl9OwpiQT1mdW5jdGlvbihuLFcsRD0hMSl7bi5ZYT8uV1goKSYmbi5ZYS5VKCJybXMiLFcsRCl9OwpvdT1mdW5jdGlvbihuKXtuPW4uTygpO3JldHVybiBuLmxlbmd0aDwxP05hTjpuLmVuZChuLmxlbmd0aC0xKX07ClRvaT1mdW5jdGlvbihuLFcpe24uWGImJm4uWGIuZXF1YWxzKFcpfHwobi5YYiYmbi5YYi5kaXNwb3NlKCksbi5YYj1XKX07CmpJaj1mdW5jdGlvbihuKXshbi5XJiZjUigpJiYobi5qP24uai50aGVuKCgpPT5qSWoobikpOm4uWF8oKXx8KG4uVz1uLlV6KCkpKX07CkNNeD1mdW5jdGlvbihuLFcsRCl7bi5pc1BhdXNlZCgpfHxuLmdldEN1cnJlbnRUaW1lKCk+V3x8RD4xMHx8KG4ucGxheSgpLGcubiQoKCk9PntDTXgobixuLmdldEN1cnJlbnRUaW1lKCksRCsxKX0sNTAwKSl9OwpCb3Q9ZnVuY3Rpb24obixXKXtpZihuLlgoKT09PTB8fG4uaGFzRXJyb3IoKSlyZXR1cm4hMTt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gVz49MCYmKG49bi5PKCksbi5sZW5ndGh8fCFEKT9CUihuLFcpOkR9OwpkUz1mdW5jdGlvbihuKXtpZihuLlhfKCl8fG4uVEMoKSluLllhJiZuLllhLkNjKCJyc19zIiksZy5NTCYmbi5nZXRDdXJyZW50VGltZSgpPjAmJm4uc2Vla1RvKDApLG4uVlEoKSxuLmUkKCksbi5sb2FkKCksVG9pKG4sbnVsbCk7ZGVsZXRlIG4uan07CkZnYj1mdW5jdGlvbihuKXt2YXIgVz1uLkooKTtyZXR1cm4gTSQoVykmJm4uZ2V0RHVyYXRpb24oKT9XLmVuZChXLmxlbmd0aC0xKTowfTsKelg9ZnVuY3Rpb24obil7c3dpdGNoKG4uVkcoKSl7Y2FzZSAyOnJldHVybiJwcm9ncmVzc2l2ZS5uZXQucmV0cnlleGhhdXN0ZWQiO2Nhc2UgMzpyZXR1cm4gbj1uLnM4KCksbj8uaW5jbHVkZXMoIk1FRElBX0VSUl9DQVBBQklMSVRZX0NIQU5HRUQiKXx8d1VNJiZuPy5pbmNsdWRlcygiYXVkaW9fb3V0cHV0X2NoYW5nZSIpPyJjYXBhYmlsaXR5LmNoYW5nZWQiOiJmbXQuZGVjb2RlIjtjYXNlIDQ6cmV0dXJuImZtdC51bnBsYXlhYmxlIjtjYXNlIDU6cmV0dXJuImRybS51bmF2YWlsYWJsZSI7Y2FzZSAxRTM6cmV0dXJuImNhcGFiaWxpdHkuY2hhbmdlZCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19OwpNd2g9ZnVuY3Rpb24obil7dmFyIFc9bnVsbDtuWzRdJiYoVz1uWzRdLFc9e2Vycm9yQ29kZTpXWzVdLGVycm9yRGV0YWlsOldbNl0sZXJyb3JNZXNzYWdlOldbN10saHk6V1s4XSxUaDpXWzldLHdpOldbMTBdLEp4OldbMTFdLGNwbjpXWzEyXX0pO3JldHVybiBuZXcgZy5sbShuWzFdLFcsblsyXSxuWzNdKX07CmwxPWZ1bmN0aW9uKG4pe3JldHVybiBuLmlzUGxheWluZygpJiYhbi5OKDE2KSYmIW4uTigzMil9OwpUWD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OKDEyOCk/LTE6bi5OKDIpPzA6bi5OKDIwNDgpPzM6bi5OKDY0KT8tMTpuLk4oMSkmJiFuLk4oMzIpPzM6bi5OKDgpPzE6bi5OKDQpPzI6LTF9OwpqMD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCEoVz09PW4uc3RhdGUmJkQ9PT1uLmhPJiZiPT09bi5zZWVrU291cmNlJiZ2PT09bi5zdG9wcGFnZVJlYXNvbnx8VyE9PXZvaWQgMCYmKFcmMTI4JiYhRHx8VyYyJiZXJjE2KSkpe3ZhciBrO2lmKGs9VylrPVd8fG4uc3RhdGUsaz0hIShrJjE2fHxrJjMyKTtuPW5ldyBnLmxtKFcsRCxrP2I/YjpuLnNlZWtTb3VyY2U6bnVsbCx2KX1yZXR1cm4gbn07CkNDPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gUjhDKG4sVy5nZXRDdXJyZW50VGltZSgpLCgwLGcuUikoKSxXLnpzKCksRCl9OwpCcj1mdW5jdGlvbihuLFcsRD1udWxsLGI9bnVsbCl7cmV0dXJuIGowKG4sbi5zdGF0ZXxXLG51bGwsRCxiKX07CkZiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGowKG4sbi5zdGF0ZSZ+VyxudWxsLG51bGwsbnVsbCl9Owp3Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwsdj1udWxsKXtyZXR1cm4gajAobiwobi5zdGF0ZXxXKSZ+RCxudWxsLGIsdil9OwpRSVM9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zdGF0ZT09PW4uc3RhdGUmJlcuaE89PT1uLmhPfTsKVndNPWZ1bmN0aW9uKG4pe3N3aXRjaChuLkIucGxheWVyQ2FuYXJ5U3RhZ2U/LnRvTG93ZXJDYXNlKCkpe2Nhc2UgInhzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWFNNQUxMIjtjYXNlICJzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfU01BTEwiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTUVESVVNIjtjYXNlICJsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTEFSR0UiO2Nhc2UgInhsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWExBUkdFIjtkZWZhdWx0OnJldHVybiJIVE1MNV9QTEFZRVJfQ0FOQVJZX1NUQUdFX1VOU1BFQ0lGSUVEIn19OwpjSWo9ZnVuY3Rpb24obil7bi5OPj0wfHwobi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09Mz9uLlY9ITA6KG4uTj1nLlJrKG4ucHJvdmlkZXIpLG4uZGVsYXkuc3RhcnQoKSkpfTsKYTVyPWZ1bmN0aW9uKG4pe2lmKCEobi5KPDApKXt2YXIgVz1nLlJrKG4ucHJvdmlkZXIpLEQ9Vy1uLmo7bi5qPVc7bi5wbGF5ZXJTdGF0ZS5KKCk/bi5wbGF5VGltZVNlY3MrPUQ6bi5wbGF5ZXJTdGF0ZS5pc0J1ZmZlcmluZygpJiYhbi5wbGF5ZXJTdGF0ZS5OKDE2KSYmKG4ucmVidWZmZXJUaW1lU2Vjcys9RCl9fTsKUnU9ZnVuY3Rpb24obixXPSExKXtuLk4uWD1XO24uTi5zdGFydFRpbWU9bi5XO24uTi5lbmRUaW1lPW4uSjtuLmpWPy5sZW5ndGgmJihuLk4ualY9bi5qVik7bi5yWD8ubGVuZ3RoJiYobi5OLnJYPW4uclgpO1c9ITE7dmFyIEQ9Zy5VTShuLnNlZ21lbnRzKTtuLnNlZ21lbnRzLmxlbmd0aCYmIUQ/LlgmJkQ/LmlzRW1wdHkoKT8obi5zZWdtZW50c1tuLnNlZ21lbnRzLmxlbmd0aC0xXS5wcmV2aW91c2x5RW5kZWQmJihuLk4ucHJldmlvdXNseUVuZGVkPSEwKSxuLnNlZ21lbnRzW24uc2VnbWVudHMubGVuZ3RoLTFdPW4uTixXPSEwKTpuLnNlZ21lbnRzLmxlbmd0aCYmbi5OLmlzRW1wdHkoKSYmIW4uTi5YfHwobi5zZWdtZW50cy5wdXNoKG4uTiksVz0hMCk7Vz8obi5OLmVuZFRpbWU9PT0wJiYobi5wcmV2aW91c2x5RW5kZWQ9ITEpLG4uTi5yWD8ubGVuZ3RoJiZuLnByb3ZpZGVyLkwuVSgic2RhaSIse2F0dGFjaF9tZXRhOjEsc3Q6bi5OLnN0YXJ0VGltZSxldDpuLk4uZW5kVGltZSxzZWdfaWR4Om4uc2VnbWVudHMubGVuZ3RoLQoxfSkpOm4uTi5wcmV2aW91c2x5RW5kZWQmJihuLnByZXZpb3VzbHlFbmRlZD0hMCk7bi5WKz1uLkotbi5XO24uTj1NbShuLnByb3ZpZGVyKTtuLk4ucHJldmlvdXNseUVuZGVkPW4ucHJldmlvdXNseUVuZGVkO24ucHJvdmlkZXIuQi5adCgpLk4uUVEobm9yKSYmKG4uais9SlNPTi5zdHJpbmdpZnkobi5OKS5sZW5ndGgpO24ucHJldmlvdXNseUVuZGVkPSExO24uVz1uLko7cmV0dXJuIFc/Zy5VTShuLnNlZ21lbnRzKTp2b2lkIDB9OwpXM1o9ZnVuY3Rpb24obil7RHIobi5LKTtuLks9TmFOfTsKRGoyPWZ1bmN0aW9uKG4pe1czWihuKTtuLks9VzAoKCk9PntuLnVwZGF0ZSgpfSwxMDApOwpuLnJ6PWcuUmsobi5wcm92aWRlcik7bi5OPU1tKG4ucHJvdmlkZXIpfTsKYlh0PWZ1bmN0aW9uKG4sVyxEKXtELT1uLnJ6O3JldHVybiBXPT09bi5KJiZEPi41fTsKZy5RMz1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnZpc2l0b3JEYXRhOnZvaWQgMDtyZXR1cm4gZy5IRShuLkIsbi5hY2Nlc3NUb2tlbikudGhlbihiPT5qUihuLnVyaSxuLkIsbi5wYWdlSWQsRCxiLFcpKX07Cmcudm9qPWZ1bmN0aW9uKG4pe24uaW5kZXhPZigid2F0Y2h0aW1lIikhPT0tMSYmZy56VSgiZ2VsRGVidWdnaW5nRXZlbnQiLHt2c3MzZGVidWdnaW5nRXZlbnQ6e3ZzczJQaW5nOm59fSl9OwprcGk9ZnVuY3Rpb24obixXKXtuLmF0dGVzdGF0aW9uUmVzcG9uc2UmJmcuUTMobikudGhlbihEPT57RD1EfHx7fTtELm1ldGhvZD0iUE9TVCI7RC5wb3N0UGFyYW1zPXthdHI6bi5hdHRlc3RhdGlvblJlc3BvbnNlfTtuLlMkP24uVlE/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLEQpOmcuSFUoKS5zZW5kVGhlbldyaXRlKFcsRCk6Zy5lZChXLEQpfSl9OwpoeWk9ZnVuY3Rpb24obil7dmFyIFc9e08zOltdfTtpZihnLm9NKG4uc2VnbWVudHMsRD0+ISFELmpWfHwhIUQuclgpKXtmb3IobGV0IEQgb2Ygbi5zZWdtZW50cylXLk8zLnB1c2goe2pWOkQualZ8fFtdLApyWDpELnJYfHxbXX0pO249Zy5saCh7Ykw6V30sUV8xKTtyZXR1cm4gZy5FQShuLDQpfX07CmJKPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuaV8oVyxuLkopLmpvaW4oIiwiKX07CnZ5TT1mdW5jdGlvbihuLFcpe2lmKFcmJm4uail7dmFyIEQ9bmV3IFNldChbInEiLCJmZWF0dXJlIiwibW9zIl0pLGI9bmV3IFNldCgiYXV0b3BsYXkgY2wgbGVuIGZleHAgZGVsYXkgZWwgbnMgYWRmb3JtYXQiLnNwbGl0KCIgIikpLHY9bmV3IFNldChbImFxaSIsImF1dG9uYXYiLCJsaXN0Iiwic3NydCIsInVwdCJdKTtuLmoubnM9PT0iM3BwIiYmKFcubnM9IjNwcCIpO2ZvcihsZXQgayBvZiBPYmplY3Qua2V5cyhuLmopKWIuaGFzKGspfHxELmhhcyhrKXx8di5oYXMoaykmJiFuLmpba118fChXW2tdPW4ualtrXSl9fTsKeGpqPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJwbGF5aW5nIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX1BMQVlJTkciO2Nhc2UgInBhdXNlZCI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9QQVVTRUQiO2Nhc2UgImJ1ZmZlcmluZyI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9CVUZGRVJJTkciO2Nhc2UgInNlZWtpbmciOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU0VFS0lORyI7Y2FzZSAiZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfRU5ERUQiO2Nhc2UgImVycm9yIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX0VSUk9SIjtjYXNlICJzdXNwZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU1VTUEVOREVEIjtjYXNlICJ1bnN0YXJ0ZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5TVEFSVEVEIjtkZWZhdWx0OnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5LTk9XTiJ9fTsKTDN4PWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDE6cmV0dXJuIlZJU19NSU5JTUlaRUQiO2Nhc2UgMjpyZXR1cm4iVklTX0ZVTExTQ1JFRU4iO2Nhc2UgMzpyZXR1cm4iVklTX0JBQ0tHUk9VTkQiO2Nhc2UgNDpyZXR1cm4iVklTX0FJUlBMQVkiO2Nhc2UgNTpyZXR1cm4iVklTX0lOTElORSI7Y2FzZSA2OnJldHVybiJWSVNfVlIiO2Nhc2UgNzpyZXR1cm4iVklTX1BJQ1RVUkVfSU5fUElDVFVSRSI7Y2FzZSA4OnJldHVybiJWSVNfSU1NRVJTSVZFX1BSRVZJRVciO2Nhc2UgOTpyZXR1cm4iVklTX1NRVUVFWkVCQUNLIjtjYXNlIDEwOnJldHVybiJWSVNfVEhFQVRFUiI7Y2FzZSAzMTpyZXR1cm4iVklTX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIlZJU19ERUZBVUxUIn19OwpleWo9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4iQ09OTl9VTktOT1dOIjtjYXNlIDI6cmV0dXJuIkNPTk5fTk9ORSI7Y2FzZSAzOnJldHVybiJDT05OX1dJRkkiO2Nhc2UgNDpyZXR1cm4iQ09OTl9DRUxMVUxBUl8yRyI7Y2FzZSA1OnJldHVybiJDT05OX0NFTExVTEFSXzNHIjtjYXNlIDY6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNEciO2Nhc2UgNzpyZXR1cm4iQ09OTl9DRUxMVUxBUl9VTktOT1dOIjtjYXNlIDg6cmV0dXJuIkNPTk5fRElTQ08iO2Nhc2UgOTpyZXR1cm4iQ09OTl9DRUxMVUxBUl81RyI7Y2FzZSAxMDpyZXR1cm4iQ09OTl9XSUZJX01FVEVSRUQiO2Nhc2UgMTE6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfU0EiO2Nhc2UgMTI6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfTlNBIjtjYXNlIDMwOnJldHVybiJDT05OX1dJUkVEIjtjYXNlIDMxOnJldHVybiJDT05OX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIkNPTk5fREVGQVVMVCJ9fTsKZy5jcj1mdW5jdGlvbihuLFcpe3ZhciBEPVYzKG4ucHJvdmlkZXIpO09iamVjdC5hc3NpZ24oRCx7c3RhdGU6bi5YfSk7Vz1uZXcgZ29oKG4ucHJvdmlkZXIudmlkZW9EYXRhLG4ucHJvdmlkZXIuQixXLEQpO1cuTj1uLnByb3ZpZGVyLkwub3QoKTtEPW4ucHJvdmlkZXIudmlkZW9EYXRhLmNsaWVudFBsYXliYWNrTm9uY2U7Vy5OPW4ucHJvdmlkZXIuTC5vaChEKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFcuZSQ9bi5wcm92aWRlci5MLmdldER1cmF0aW9uKEQpKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5OJiYoRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKFcuTikpJiYoVy5ZPUQtVy5OKTtEPW4ucHJvdmlkZXIuTC5TVygpO1cuTis9RDtXLlkhPW51bGwmJihXLlktPUQpO1cud2E9Zy5SayhuLnByb3ZpZGVyKTtXLnNlZ21lbnRzPVtNbShuLnByb3ZpZGVyKV07cmV0dXJuIFd9OwpYSVo9ZnVuY3Rpb24obil7dmFyIFc9bi5wcm92aWRlci52aWRlb0RhdGEubFEsRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5IWSxiPVsxMCtXLDEwLDEwLDQwK0QtVyw0MF0sdj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nLGs9dj8udmlkZW9zdGF0c1NjaGVkdWxlZEZsdXNoV2FsbHRpbWVTZWNvbmRzO3Y9dj8udmlkZW9zdGF0c0RlZmF1bHRGbHVzaEludGVydmFsU2Vjb25kcztpZighKGsmJmsubGVuZ3RoPjAmJnYpKXJldHVybiBiO1c9W2tbMF0rVywuLi5rLnNsaWNlKDEpLm1hcCgoaCx4KT0+aC1rW3hdKSwKditELVcsdl07cmV0dXJuIFcuc29tZShoPT5oPDApPyhnLmNfKG4ubG9nZ2VyLDM0NzExMTg1NSxgTmVnIHZzcyBzY2hlZHVsZWQgcGluZ3MgJHtrfSAke3Z9YCksYik6V307CmF1PWZ1bmN0aW9uKG4sVz1OYU4pe3ZhciBEPWcuUmsobi5wcm92aWRlcik7Vz1pc05hTihXKT9EOlc7Vz1NYXRoLmNlaWwoVyk7dmFyIGI9bi5lJFtuLnR3XTtuLnR3KzE8bi5lJC5sZW5ndGgmJm4udHcrKzt2YXIgdj1XK2I7bi5ZPWcubiQoKCk9PntpZighbi5xTigpKXtuLlk9TmFOO3ZhciBrPW4uUyQoKSxoPXE5MShuLGspO2guTz12O3ZhciB4PW4ubnU+MUUzOyEoay5sZW5ndGg+MSkmJmtbMF0uaXNFbXB0eSgpfHx4fHwoaC5LPWF1KG4sdikpO2lmKG4uY0ope2s9a1trLmxlbmd0aC0xXTtpZih4PW4uVEMpe3g9azt2YXIgTD1uLlRDO3g9eC5zdGFydFRpbWU9PT1MLnN0YXJ0VGltZSYmeC5lbmRUaW1lPT09TC5lbmRUaW1lfXh8fG51KG4sW2tdKX1oLnNlbmQoKTtuLm51Kyt9fSwodi1EKSoxRTMpOwpyZXR1cm4gbi5KPXZ9OwpXZD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuQjtnLkhFKG4ucHJvdmlkZXIuQixuLnByb3ZpZGVyLnZpZGVvRGF0YS5WKCkpLnRoZW4oYj0+e3ZhciB2PW4ucHJvdmlkZXIuQi5wYWdlSWQsaz1uLnByb3ZpZGVyLkIuc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnByb3ZpZGVyLnZpZGVvRGF0YS52aXNpdG9yRGF0YTp2b2lkIDAsaD1uLnByb3ZpZGVyLkIuUygidnNzX3BpbmdzX3VzaW5nX25ldHdvcmtsZXNzIil8fG4ucHJvdmlkZXIuQi5TKCJrZXZsYXJfd29mZmxlIikseD1uLnByb3ZpZGVyLkIuUygiYWxsb3dfc2tpcF9uZXR3b3JrbGVzcyIpO2I9alIoVyxELHYsayxiKTtDRChXLGIse3Rva2VuOm4ucHJvdmlkZXIudmlkZW9EYXRhLmtXLHlvOm4ucHJvdmlkZXIudmlkZW9EYXRhLlF2LG1keEVudmlyb25tZW50Om4ucHJvdmlkZXIudmlkZW9EYXRhLm1keEVudmlyb25tZW50fSxELHZvaWQgMCxoJiYheCwhMSwhMCl9KX07CnE5MT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuY3Iobiwid2F0Y2h0aW1lIik7RDcobikmJihELmRlbGF5VGhyZXNob2xkTWV0PSEwLG4uRHQ9ITApO2lmKG4uaj4wKXtsZXQgYj1uLnByb3ZpZGVyLkwuU1coKTtmb3IobGV0IHYgb2YgVyl2LnN0YXJ0VGltZS09bi5qK2Isdi5lbmRUaW1lLT1uLmorYjtELk4tPW4uaitifWVsc2UgRC5OPW4uTi5KO0Quc2VnbWVudHM9VztyZXR1cm4gRH07Cm51PWZ1bmN0aW9uKG4sVyxEPSExKXtmb3IobGV0IFt4LExdb2YgVy5lbnRyaWVzKCkpe2xldCBlPXgsRz1MO3ZhciBiPW4sdj1WMyhiLnByb3ZpZGVyKTtPYmplY3QuYXNzaWduKHYse3N0YXRlOmIuWH0pO09iamVjdC5hc3NpZ24odix7c2VxdWVuY2VJZDpiLnNlcXVlbmNlSWR9KTtiLnByb3ZpZGVyLkIuUygid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIikmJk9iamVjdC5hc3NpZ24odix7c2VuZElzb2xhdGVkUGF5bG9hZDohMH0pO3ZhciBrPWIsaD1rLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nPy52c3MzQ29uZmlnPy52c3MzU2NoZWR1bGluZ0NvbmZpZztoJiYoaD1oLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3MmJihEYXRlLm5vdygpLWsuR0MpLzFFMzxoLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3M/aC5lYXJseVNlZ21lbnRNYXhpbXVtTGVuZ3RoU2VjczpoLmRlZmF1bHRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3MsCkcuc2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWsuVEM/Lm5leHRTY2hlZHVsZWRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3M/P2gsRy5uZXh0U2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWgpO2s9bmV3IEdwYihHLGIucHJvdmlkZXIudmlkZW9EYXRhLHYpO2IuSEomJihrLmlzRG91YmxlTG9nZ2VkPSExKTt2PWs7Yi5wcm92aWRlci52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2t8fCh2Lm1lZGlhTGVuZ3RoU2VjPWIucHJvdmlkZXIuTC5nZXREdXJhdGlvbihiLnByb3ZpZGVyLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlKSk7aWYoYi5wcm92aWRlci52aWRlb0RhdGEuTil7aD1iLnByb3ZpZGVyLkwub3QoKTtsZXQgcj1iLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKGgpO3ImJih2LmxpdmVJbmdlc3Rpb25PZmZzZXRVc2VjPShyLWgpKjFFNil9RDcoYikmJih2LmRlbGF5VGhyZXNob2xkTWV0PSEwLGIuRHQ9ITApO0QmJmU9PT1XLmxlbmd0aC0xJiYoay5pc0ZpbmFsPQohMCxuLkZGPSEwKTtrLnNlbmQoKTtuLnNlcXVlbmNlSWQrKztuLlRDPUd9fTsKRDc9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz1uLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xvYWRlZCgpJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5vRCYmbi5XJiYhbi5EdClXPW4uTixXPVcuVitXLm90KCktVy5XPj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5vRDtyZXR1cm4hIVd9OwpiVj1mdW5jdGlvbihuLFcsRD0hMSl7RD1uLksoIWlzTmFOKG4uSiksITEsRCk7VyYmKG4uSj1OYU4pO3JldHVybiBEfTsKdFpNPWZ1bmN0aW9uKG4pe24ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCYmIW4uQ3UmJihXZChuLG4ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCksbi5DdT0hMCl9Owokalo9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuZ29vZ2xlUmVtYXJrZXRpbmdVcmwmJiFuLlBYJiYoV2QobixuLnByb3ZpZGVyLnZpZGVvRGF0YS5nb29nbGVSZW1hcmtldGluZ1VybCksbi5QWD0hMCl9Owp2ZD1mdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlcpe24uWD0icGF1c2VkIjt2YXIgVz1iVihuLCExLCEwKTtXLmlzRmluYWw9ITA7Vy5zZW5kKCk7bi5kaXNwb3NlKCl9fTsKcnB0PWZ1bmN0aW9uKG4sVyxEKXtpZighbi52Sil7RHx8KEQ9Zy5jcihuLCJhdHIiKSk7RC5hdHRlc3RhdGlvblJlc3BvbnNlPVc7dHJ5e0Quc2VuZCgpfWNhdGNoKGIpe2lmKGIubWVzc2FnZSE9PSJVbmtub3duIEVycm9yIil0aHJvdyBiO31uLnZKPSEwfX07CmcuUms9ZnVuY3Rpb24obil7cmV0dXJuIGcuc2JyKG4pKCl9OwpjY1o9ZnVuY3Rpb24obil7dmFyIFc9bmF2aWdhdG9yLmNvbm5lY3Rpb24/LnR5cGV8fCIiO2lmKFcpcmV0dXJuIE5FcltXXXx8TkVyLm90aGVyO2lmKGcuazYobi5CKSl7bj1uYXZpZ2F0b3IudXNlckFnZW50O2lmKC9bV3ddaXJlbGVzc1spXS8udGVzdChuKSlyZXR1cm4gMztpZigvW1d3XWlyZWRbKV0vLnRlc3QobikpcmV0dXJuIDMwfXJldHVybiAwfTsKTW09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHBJMjtXLko9VjMobikuY2M/LnRvU3RyaW5nKCl8fCItIjtXLnBsYXliYWNrUmF0ZT1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7dmFyIEQ9bi5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO0QhPT0wJiYoVy52aXNpYmlsaXR5U3RhdGU9RCk7bi5CLkR0JiYoVy5XPTEpO1cuaj1uLnZpZGVvRGF0YS5wUjtXLmNvbXBvc2l0ZUxpdmVTdGF0dXNUb2tlbj1uLnZpZGVvRGF0YS5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW47Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW49bi52aWRlb0RhdGEuaGVhcnRiZWF0TG9nZ2luZ1Rva2VuO0Q9bi5MLmdldEF1ZGlvVHJhY2soKTtELmtaJiZELmtaLmlkJiZELmtaLmlkIT09InVuZCImJihXLmF1ZGlvSWQ9RC5rWi5pZCk7Vy5jb25uZWN0aW9uVHlwZT1jY1oobik7Vy52b2x1bWU9bi5MLmdldFZvbHVtZSgpO1cubXV0ZWQ9bi5MLmlzTXV0ZWQoKTtXLmNsaXBJZD1uLkwuRm4oKXx8Ii0iO1cuTj1uLnZpZGVvRGF0YS5WZnx8CiItIjtyZXR1cm4gV307ClYzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTC5oaCgpfHx7fTtXLmZzPW4uTC52MygpO1cudm9sdW1lPW4uTC5nZXRWb2x1bWUoKTtXLm11dGVkPW4uTC5pc011dGVkKCk/MTowO1cubW9zPVcubXV0ZWQ7Vy5jbGlwaWQ9bi5MLkZuKCk7Vy5wbGF5ZXJoZWlnaHQ9bi5MLmdldFBsYXllclNpemUoKT8uaGVpZ2h0fHwwO1cucGxheWVyd2lkdGg9bi5MLmdldFBsYXllclNpemUoKT8ud2lkdGh8fDA7bj1uLnZpZGVvRGF0YTt2YXIgRD17fTtuLkomJihELmZtdD1uLkouaXRhZyxuLlgmJihuLlZRP24uWC5pdGFnIT09bi5KLml0YWc6bi5YLml0YWchPW4uSi5pdGFnKSYmKEQuYWZtdD1uLlguaXRhZykpO0QuZWk9bi5ldmVudElkO0QubGlzdD1uLnBsYXlsaXN0SWQ7RC5jcG49bi5jbGllbnRQbGF5YmFja05vbmNlO24udmlkZW9JZCYmKEQudj1uLnZpZGVvSWQpO24ueWwmJihELmluZnJpbmdlPTEpOyhuLmZCPzA6bi5QWCkmJihELnNwbGF5PTEpO3ZhciBiPXJsKG4pO2ImJihELmxpdmU9Yik7bi5WVCYmCihELnNhdXRvcGxheT0xKTtuLkd1JiYoRC5hdXRvcGxheT0xKTtuLnd1JiYoRC5zZGV0YWlsPW4ud3UpO24ucGFydG5lcklkJiYoRC5wYXJ0bmVyaWQ9bi5wYXJ0bmVySWQpO24ub3NpZCYmKEQub3NpZD1uLm9zaWQpO24uWm0mJihELmNjPWcubmcobi5abSkpO3JldHVybiBPYmplY3QuYXNzaWduKFcsRCl9OwpnLnNicj1mdW5jdGlvbihuKXtpZighbi5OKXtsZXQgVz0oMCxnLlIpKCk7bi5OPSgpPT5NYXRoLnJvdW5kKCgwLGcuUikoKS1XKS8xRTM7Cm4uTC5RYigpfXJldHVybiBuLk59OwpnLmswPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uc3RhdGUuTihXKSYmIW4ub2xkU3RhdGUuTihXKT8xOiFuLnN0YXRlLk4oVykmJm4ub2xkU3RhdGUuTihXKT8tMTowfTsKaEM9ZnVuY3Rpb24obil7bi5KJiZjSWoobi5KKTtuLnFvZSYmeEJoKG4ucW9lKX07CkhYMj1mdW5jdGlvbihuLFcsRCxiKXtELmFkRm9ybWF0PUQuRkY7dmFyIHY9Vy5MO1c9bmV3IGcueDAobmV3IFk5UyhELFcuQix7Z2V0RHVyYXRpb246KCk9PkQubGVuZ3RoU2Vjb25kcywKZ2V0Q3VycmVudFRpbWU6KCk9PnYuZ2V0Q3VycmVudFRpbWUoKSwKb3Q6KCk9PnYub3QoKSwKb2g6KCk9PnYub2goKSwKSEs6KCk9PnYuSEsoKSwKZ2V0UGxheWVyU2l6ZTooKT0+di5nZXRQbGF5ZXJTaXplKCksCmdldEF1ZGlvVHJhY2s6KCk9PkQuZ2V0QXVkaW9UcmFjaygpLApnZXRQbGF5YmFja1JhdGU6KCk9PnYuZ2V0UGxheWJhY2tSYXRlKCksCkVjOigpPT52LkVjKCksCmdldFZpc2liaWxpdHlTdGF0ZTooKT0+di5nZXRWaXNpYmlsaXR5U3RhdGUoKSwKZUc6KCk9PnYuZUcoKSwKaGg6KCk9PnYuaGgoKSwKZ2V0Vm9sdW1lOigpPT52LmdldFZvbHVtZSgpLAppc011dGVkOigpPT52LmlzTXV0ZWQoKSwKdjM6KCk9PnYudjMoKSwKRm46KCk9PnYuRm4oKSwKZ2V0UHJveGltYUxhdGVuY3lQcmVmZXJlbmNlOigpPT52LmdldFByb3hpbWFMYXRlbmN5UHJlZmVyZW5jZSgpLApRYigpe3YuUWIoKX0sVShrLGgpe3YuVShrLGgpfSxPMDooKT0+di5PMCgpLApTVzooKT0+di5TVygpLAp6czprPT52LnpzKGspfSkpOwpXLmo9YjtnLnUobixXKTtyZXR1cm4gV307CmZBdD1mdW5jdGlvbihuKXtuLkomJm4uSi5zZW5kKCk7aWYobi5xb2Upe3ZhciBXPW4ucW9lO2lmKFcuVil7Vy5OPT09IlBMIiYmKFcuTj0iTiIpO3ZhciBEPWcuUmsoVy5wcm92aWRlcik7Zy53aihXLEQsInZwcyIsW1cuTl0pO1cuRHx8KFcuWD49MCYmVy5KLnNldCgidXNlcl9pbnRlbnQiLFtXLlgudG9TdHJpbmcoKV0pLFcuRD0hMCk7Vy5wcm92aWRlci5CLldYKCkmJlcuVSgiZmluYWxpemVkIix7fSk7Vy5TJD0hMDtXLnJlcG9ydFN0YXRzKEQpfX1pZihuLnByb3ZpZGVyLnZpZGVvRGF0YS5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaSlmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKXZkKGIpO2Vsc2Ugbi5OJiZ2ZChuLk4pO24uZGlzcG9zZSgpfTsKSnBVPWZ1bmN0aW9uKG4pe2lmKCFuLk4pcmV0dXJuIG51bGw7dmFyIFc9Zy5jcihuLk4sImF0ciIpO3JldHVybiBEPT57bi5OJiZycHQobi5OLEQsVyl9fTsKSUFoPWZ1bmN0aW9uKG4sVyl7bj1EZShuLmFycmF5LEQ9PlctRC5zdGFydHx8MSk7CnJldHVybiBuPDA/LShuKzEpOm59OwpTOWI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO2ZvcihXPUlBaChuLFcpO1c8bi5hcnJheS5sZW5ndGg7KytXKXtsZXQgdj1uLmFycmF5W1ddOyh2LmVuZDw9RHx8di5jb250YWlucyhEKSkmJmIucHVzaCh2KTtpZih2LnN0YXJ0PkQpYnJlYWt9cmV0dXJuIGJ9OwpnLkx1PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIG4uYXJyYXkpaWYoYi5jb250YWlucyhXKSYmRC5wdXNoKGIpLGIuc3RhcnQ+VylicmVhaztyZXR1cm4gRH07CkFwaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5hcnJheS5zbGljZShJQWgobiwweDdmZmZmZmZmZmZmZmYpLG4uYXJyYXkubGVuZ3RoKX07Cm1qdD1mdW5jdGlvbihuLFcpe3ZhciBEPU5hTjtmb3IobGV0IGIgb2Ygbi5hcnJheSlpZihiLmNvbnRhaW5zKFcpJiYoaXNOYU4oRCl8fGIuZW5kPEQpJiYoRD1iLmVuZCksYi5zdGFydD5XJiYoaXNOYU4oRCl8fGIuc3RhcnQ8RCkpe0Q9Yi5zdGFydDticmVha31yZXR1cm4gRH07CkszVT1mdW5jdGlvbihuLFcpe24uYXJyYXk9bi5hcnJheS5maWx0ZXIoRD0+IVcuaGFzKEQpKX07Ck9YMj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFBsYXllclN0YXRlKCkuTigyKT8weDgwMDAwMDAwMDAwMDA6bi5MLmdldEN1cnJlbnRUaW1lKCkqMUUzfTsKZWg9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVy5sZW5ndGgpcmV0dXJuIEQ7Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07di5hY3RpdmUmJm4uVy5pbmRleE9mKHYpPT09LTEmJihuLlcucHVzaCh2KSxELnB1c2goWzEsdl0pKX1yZXR1cm4gRH07CmdzPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpVz1EWzFdLERbMF09PT0xP24uTC5DSihnLm95KFcubmFtZXNwYWNlKSxXKTpuLkwuQ0ooZy5kdihXLm5hbWVzcGFjZSksVyl9OwpYSj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdO2lmKCFXLmxlbmd0aClyZXR1cm4gRDtXLnNvcnQoZy51NSk7Zm9yKGxldCBiIG9mIFcpbi5XLnNwbGljZShuLlcuaW5kZXhPZihiKSwxKSxELnB1c2goWzIsYl0pO3JldHVybiBEfTsKUHlDPWZ1bmN0aW9uKG4pe2lmKG4uc3RhcnRlZCYmIW4ucU4oKSl7bi5qLnN0b3AoKTt2YXIgVz1uLkwuZ2V0UGxheWVyU3RhdGUoKTtXLk4oMzIpJiZuLlkuc3RhcnQoKTt2YXIgRD1PWDIobiksYj1uLmlzRW5kZWQoVyxEKSx2PVtdLGs9W107Zm9yKHZhciBoIG9mIG4uVyloLmFjdGl2ZSYmKGI/aC5lbmQ8MHg4MDAwMDAwMDAwMDAwOiFoLmNvbnRhaW5zKEQpKSYmay5wdXNoKGgpO3Y9di5jb25jYXQoWEoobixrKSk7aD1rPW51bGw7Yj8oVz1nLkx1KG4uTiwweDdmZmZmZmZmZmZmZmYpLGs9Vy5maWx0ZXIoeD0+eC5lbmQ8MHg4MDAwMDAwMDAwMDAwKSxoPUFwaihuLk4pKTpXPW4uWDw9RCYmbDEoVyk/UzliKG4uTixuLlgsRCk6Zy5MdShuLk4sRCk7CnY9di5jb25jYXQoZWgobixXKSk7ayYmKHY9di5jb25jYXQoWEoobixrKSkpO2gmJih2PXYuY29uY2F0KGVoKG4saCkpKTtuLlg9RDtncyhuLHYpfX07CnE5PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+bi5tZWRpYVRpbWUrbi5YJiZXPG4ubWVkaWFUaW1lKzV9OwpSOEM9ZnVuY3Rpb24obixXLEQsYix2PSExKXtpZihuLmxuJiYhaXNGaW5pdGUoVykpcmV0dXJuITE7aWYoYj1iPjEpbi5XPSEwO2lmKHZ8fGlzTmFOKG4uTikpbi5OPVc7aWYobi5zZWVraW5nKVchPT1uLm1lZGlhVGltZSYmKG4uc2Vla2luZz0hMSk7ZWxzZSBpZihXPjAmJm4ubWVkaWFUaW1lPT09Vyl7dj0xNTAwO2lmKG4uQi5TKCJodG1sNV9idWZmZXJfdW5kZXJydW5fdHJhbnNpdGlvbl9maXgiKSl7dj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzIik7bGV0IGs9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zIik7dj12PjAmJms+MCYmTWF0aC5hYnMoVy1uLk4pPHY/azoxNTAwfXJldHVybiBELW4uSj4oYnx8IW4uVz92OjQwMCl9bi5tZWRpYVRpbWU9VztuLko9RDtyZXR1cm4hMX07ClVqdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcudEEoRCkudGhlbigoKT0+Zy5IMChuZXcgWlhoKFcsVy5XKSksYj0+e2IgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShiKTsKdmFyIHY9dTgoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSwgbXA0YS40MC4yIicpLGs9ZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyksaD12fHxrLHg9Vy5pc0xpdmVQbGF5YmFjayYmIWcuSW4obi5XLCEwKTtiPSJmbXQubm9uZWF2YWlsYWJsZSI7eD9iPSJodG1sNS51bnN1cHBvcnRlZGxpdmUiOmh8fChiPSJodG1sNS5taXNzaW5nYXBpIik7aD14fHwhaD8yOjE7dj17YnVpbGRSZWo6IjEiLGE6Vy5JcCgpLGQ6ISFXLlRmLGRybTpXLk1pKCksZjE4OlcuY2YuaW5kZXhPZigiaXRhZz0xOCIpPj0wLGMxODp2fTtXLk4mJihXLk1pKCk/KHYuZjE0Mj0hIVcuTi5OWyIxNDIiXSx2LmYxNDk9ISFXLk4uTlsiMTQ5Il0sdi5mMjc5PSEhVy5OLk5bIjI3OSJdKToodi5mMTMzPSEhVy5OLk5bIjEzMyJdLHYuZjE0MD0hIVcuTi5OWyIxNDAiXSx2LmYyNDI9ISFXLk4uTlsiMjQyIl0pLHYuY0FBQz1rLHYuY0FWQz1keSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFIicpLAp2LmNWUDk9ZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicpKTtXLmomJih2LmRybXN5cz1XLmoua2V5U3lzdGVtLGs9MCxXLmouSiYmKGs9T2JqZWN0LmtleXMoVy5qLkopLmxlbmd0aCksdi5kcm1zdD1rKTtyZXR1cm4gbmV3IGcuQ2koYix2LGgpfSl9Owp0Qz1mdW5jdGlvbihuLFcpe1c9TWF0aC5tYXgoTWF0aC5tYXgoMSxNYXRoLmNlaWwobi5wb2xpY3kuWC9HWShuKSkpLFcpO3JldHVybiBNYXRoLm1pbihNYXRoLm1pbig4LE1hdGguZmxvb3Iobi5wb2xpY3kuRC9HWShuKSkpLFcpfTsKR1k9ZnVuY3Rpb24obil7cmV0dXJuIG4udmlkZW9EYXRhLk4/b28obi52aWRlb0RhdGEuTil8fDU6NX07CiQwPWZ1bmN0aW9uKG4pe3JldHVybiBHWShuKSpuLk59OwpFb2k9ZnVuY3Rpb24obixXKXtpZihXKXJldHVybiBXPW4udmlkZW9EYXRhLFc9eXBiKG4saXNOYU4oVy5saXZlQ2h1bmtSZWFkYWhlYWQpPzM6Vy5saXZlQ2h1bmtSZWFkYWhlYWQsVyksdEMobixXKTtpZihuLkoubGVuZ3RoKXtpZihNYXRoLm1pbi5hcHBseShudWxsLG4uSik+MSlyZXR1cm4gdEMobixuLk4tMSk7aWYobi5wb2xpY3kuWSlyZXR1cm4gdEMobixuLk4rMSl9cmV0dXJuIG4uTn07CmlYUz1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLkoubGVuZ3RoKXJldHVybiExO3ZhciBEPW4uTjtuLk49RW9pKG4sVyk7aWYoVz1EIT09bi5OKW4uSj1bXSxuLmp4PTA7cmV0dXJuIFd9Owpycz1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5OO24uWHx8KFc9TWF0aC5tYXgoVy0xLDApKTtyZXR1cm4gVypHWShuKX07CnNCPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+PW4uTlcoKS1ycyhuKX07CnlwYj1mdW5jdGlvbihuLFcsRCl7RC5JUiYmVy0tO2hEKEQpJiYoVz0xKTt4cChEKSE9PTAmJihuPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfbGl2ZV9jaHVua19yZWFkYWhlYWRfcHJveGltYV9vdmVycmlkZSIpKSYmKFc9bixELk4/Lm51KCkmJlcrKyk7cmV0dXJuIFd9OwpwdT1mdW5jdGlvbihuLFcsRD1udWxsKXtyZXR1cm4gbmV3IE45KGcuZE0obi5CLmV4cGVyaW1lbnRzLFcpfHwwLEQ/bi5CLlMoRCk6ITEpfTsKdTRiPWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpZMD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe1c/Vy50ZXN0KEQpPyhuLkdzKHYsVyxoKSxXLlZ8fGsoKSk6KCFXLkp8fFcuWD9EPSExOihEPSgwLGcuUikoKSxiP1cuTnx8KFcuTj1EKTpXLk49MCxrPSFiJiZELVcuSj4zRTQsRD1XLk4mJkQtVy5OPjFFM3x8az9XLlg9ITA6ITEpLEQmJih4PXsuLi5uLnlyKFcpLC4uLnh9LHgud249aCx4LndlPXYseC53c3VjPWIsbi5MLlUoIndvcmthcm91bmRSZXBvcnQiLHgpLGImJihXLnJlc2V0KCksbi5YW3ZdPSExKSkpOm4uTC5QVigiYXV0aCIsMiwiQlJPV1NFUl9PUl9FWFRFTlNJT05fRVJST1IiLGcuVEMoe3NvdXJjZToid2F0Y2hkb2ciLG5hbWU6aH0pKX07Cm9veD1mdW5jdGlvbihuLFcpe2lmKG4uTil7dmFyIEQ9bi5OO3ZhciBiPW4uZ2V0Q3VycmVudFRpbWUoKSx2PUQuTlcoKTt2YXIgaz1ELnBvbGljeS5KO0QuWHx8KGs9TWF0aC5tYXgoay0xLDApKTtrKj1HWShEKTtiPj12LWt8fCFELmpYKCk/RD1iPEQudmlkZW9EYXRhLkxmKCk/TWF0aC5taW4oRC52aWRlb0RhdGEuTGYoKSsxMCxELk5XKCkpOk5hTjooRC5wb2xpY3kuaiYmKEQucG9saWN5Lk8/KEQucG9saWN5Lko9TWF0aC5taW4oRC5wb2xpY3kuSitELnBvbGljeS5LLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5taW4oRC5wb2xpY3kuTisxLDEwKSk6KEQucG9saWN5Lko9TWF0aC5tYXgoRC5wb2xpY3kuSisxLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5tYXgoRC5wb2xpY3kuTisxLDEwKSkpLEQ9SW5maW5pdHkpO2lmKCFpc05hTihEKSl7aWYobi5sb2FkZXImJlcmJihXPW4uUyQuaXNBY3RpdmUoKSxiPW4uTi5OVygpLChiPWlQUyhuLmxvYWRlcixiLW4uU1coKSkpJiYKIVcpKXtuLlMkLnN0YXJ0KCk7bi5MLlUoImluQnVmZmVyUHRsIix7Y210Om4uZ2V0Q3VycmVudFRpbWUoKSxzZWVrVG86YituLlNXKCl9KTtuLnNlZWtUbyhiK24uU1coKSx7cWQ6InNlZWt0aW1lbGluZV9pbkJ1ZmZlclNlZWsiLHNlZWtTb3VyY2U6MzR9KTtyZXR1cm59bi5zZWVrVG8oRCx7cWQ6InNlZWt0aW1lbGluZV9wZWdUb0xpdmUiLHNlZWtTb3VyY2U6MzR9KX19fTsKZnU9ZnVuY3Rpb24obixXKXtpZihuLlgpe24udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuLnZpZGVvRGF0YS5XJiYhbi52aWRlb0RhdGEuVy5OKCkmJm4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5YKCk+MCYmb3Uobi5tZWRpYUVsZW1lbnQpPjAmJihuLko9SGQobixuLkosITEpKTt2YXIgRD1uLlMoImh0bWw1X3BzZXVkb2dhcGxlc3Nfc2hvcnRzX3NlZWtfdG9fbmV4dF9zdGFydCIpJiZXPy5zZWVrU291cmNlPT09NjA7aWYoIW4ubWVkaWFFbGVtZW50fHwhZGpyKG4sRCkpbi5SYS5zdGFydCg3NTApO2Vsc2UgaWYoIWlzTmFOKG4uSikmJmlzRmluaXRlKG4uSikmJihEPW4uSEotKG4uSi1uLnRpbWVzdGFtcE9mZnNldCksIShEPT09MHx8TWF0aC5hYnMoRCk8LjAwNSkpKWlmKEQ9bi5tZWRpYUVsZW1lbnQuZ2V0Q3VycmVudFRpbWUoKS1uLkosTWF0aC5hYnMoRCk8PW4uRHR8fE1hdGguYWJzKEQpPC4wMDUpenkxKG4pO2Vsc2V7aWYobi52aWRlb0RhdGEuTWwpbi52aWRlb0RhdGEuTWw9CiExO2Vsc2UgaWYoIWcuRFAobi52aWRlb0RhdGEpJiZuLko+PW4uckkoKS0uMSYmKG4uckkoKSE9PTB8fFc/LnFkIT09InNlZWt0aW1lbGluZV9zZXR1cE1lZGlhRWxlbWVudCIpKXtuLko9bi5ySSgpO24uWC5yZXNvbHZlKG4uckkoKSk7bi5CLldYKCkmJm4uTC5VKCJzZXRFbmRlZEluU2VlayIse3RndDpgJHtuLkp9YCxtYXhzdDpgJHtuLnJJKCl9YH0pO24uTC5rTigpO3JldHVybn10cnl7bGV0IGI9bi5KLW4udGltZXN0YW1wT2Zmc2V0O24ubWVkaWFFbGVtZW50LnNlZWtUbyhiKTtuLk8uTj1iO24uSEo9YjtuLlc9bi5KO24uY0o9ITF9Y2F0Y2goYil7fX19fTsKVEUyPWZ1bmN0aW9uKG4sVyl7bi5UQz0hMDtuLmxuKCkmJihuLko9bi5WLG4uVz1uLkosbi5WPU5hTik7bEF0KG4sVyl9OwpqYjI9ZnVuY3Rpb24obil7dmFyIFc9MCxEPU5hTixiPSIiO2lmKCFuLkQpcmV0dXJue3N0YXJ0U2Vjb25kczpXLE12OkQsc291cmNlOmJ9O24udmlkZW9EYXRhLlJJP1c9bi52aWRlb0RhdGEuSlU6Zy5EUChuLnZpZGVvRGF0YSkmJihXPUluZmluaXR5KTtpZihnLnBBKG4udmlkZW9EYXRhKSlyZXR1cm57c3RhcnRTZWNvbmRzOlcsTXY6RCxzb3VyY2U6Yn07bi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzPyhiPSJzcyIsVz1uLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpOm4udmlkZW9EYXRhLlVyJiYoYj0ic3RzcyIsVz1uLnZpZGVvRGF0YS5Vcik7bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyYmKEQ9bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyk7aWYoaXNGaW5pdGUoVykmJihXPm4uckkoKXx8VzxuLkxmKCkpKXtsZXQgdj17fTt2Lm1pblNlZWthYmxlVGltZT1uLkxmKCk7di5tYXhTZWVrYWJsZVRpbWU9bi5ySSgpO3YuY210PW4uZ2V0Q3VycmVudFRpbWUoKTt2LnNzPQpXO3YudXRjPUQ7di5zcmM9YjtuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLHYpO24udmlkZW9EYXRhLnpXKCkmJihXPUhkKG4sVywhMSkpfXJldHVybntzdGFydFNlY29uZHM6VyxNdjpELHNvdXJjZTpifX07CkpDPWZ1bmN0aW9uKG4pe3JldHVybiEhbi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzJiZpc0Zpbml0ZShuLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpJiZuLnZpZGVvRGF0YS5zdGFydFNlY29uZHM+MUU5fTsKRjNiPWZ1bmN0aW9uKG4sVyl7bi5wbGF5YmFja0RhdGE9VztuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKG4uWT1uZXcgQ3laKCgpPT57YTp7aWYobi5wbGF5YmFja0RhdGEmJm4ucGxheWJhY2tEYXRhLk4uTigpKXtpZihJNChuLnZpZGVvRGF0YSkmJm4ubG9hZGVyKXt2YXIgRD1uLmxvYWRlci5xaCgpO2JyZWFrIGF9aWYobi52aWRlb0RhdGEuTil7RD1uLnZpZGVvRGF0YS5OLnFoKCk7YnJlYWsgYX19RD0wfXJldHVybiBEfSksbi5OPW5ldyBCRWIobi52aWRlb0RhdGEsbi5CLmV4cGVyaW1lbnRzLCgpPT5uLnJJKCEwKSkpOwpJYyhuLkwpPyhuLnZpZGVvRGF0YS5nVD8uQWp8fChXPWpiMihuKSxXLk12PyhnLllOKG4udmlkZW9EYXRhKSYmbi5odShXLk12LFcuc3RhcnRTZWNvbmRzKSxuLlc9Vy5zdGFydFNlY29uZHMpOlcuc3RhcnRTZWNvbmRzPjAmJm4uc2Vla1RvKFcuc3RhcnRTZWNvbmRzLHtxZDoic2Vla3RpbWVsaW5lX3N0YXJ0UGxheWJhY2siLHNlZWtTb3VyY2U6MTUsQU06ITB9KSksbi5EPSExKTpKQyhuKXx8KG4uVz1uLld8fG4udmlkZW9EYXRhLnN0YXJ0U2Vjb25kc3x8MCxuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFc9bi5MLnZpZGVvRGF0YS5ySSgpLG4uVz5XJiYobi5TKCJodG1sNV9zYWJyX2xvZ19pbnZhbGlkX3NhYnJfY3VycmVudF90aW1lIikmJm4uTC5VKCJpbnZhbGlkU2FickNtdFN0YXJ0Iix7cnQ6bi5XLG1zdDpXfSksbi5TKCJodG1sNV9zYWJyX3ZvZF9pbnZhbGlkX3N0YXJ0X3RpbWVfZmFsbGJhY2siKSYmKG4uVz0wKSkpKX07ClNoPWZ1bmN0aW9uKG4sVyl7aWYobi5OJiZuLmxvYWRlcil7dmFyIEQ9ITE7Vz9EPSEwOlN4KG4udmlkZW9EYXRhKT9EPWlYUyhuLk4pOm4uQ3UmJihuLkN1PSExLEQ9aVhTKG4uTiwhMCkpO0QmJihEPW4uTC5CWCxXPSQwKG4uTiksRC5xb2UmJihEPUQucW9lLGcud2ooRCxnLlJrKEQucHJvdmlkZXIpLCJscmEiLFtXXSksRC5VKCJsaXZlLXJlYWRhaGVhZC1zZWNvbmRzIix7djpXfSkpKTtXPW4ubG9hZGVyO0Q9bi5OLk47bj1uLk47bj0obi5OLTErbi5wb2xpY3kuTikqR1kobik7dmFyIGI9TmFOO3ZhciB2PVcuVHI7dj09PTJ8fHY9PT0tMT8odj1ELGhEKFcuTC5nZXRWaWRlb0RhdGEoKSkmJihiPVcucG9saWN5LnpQKSk6dj1ELTE7dj1NYXRoLm1heCh2LDApO0Q9Vy5OeTtELlpBPXY7RC5YPWI7Vy5RdSYmKFcuUXUuTz1uKX19Owptbz1mdW5jdGlvbihuLFcpeyhuLmxvYWRlcj1XKT9TaChuLCEwKTpnLkFDKG4pfTsKZGpyPWZ1bmN0aW9uKG4sVz0hMSl7aWYoIW4ubWVkaWFFbGVtZW50fHxuLm1lZGlhRWxlbWVudC5YKCk9PT0wfHxuLm1lZGlhRWxlbWVudC5oYXNFcnJvcigpKXJldHVybiExO3ZhciBEPW4ubWVkaWFFbGVtZW50LmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCl8fG4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHwhbi52aWRlb0RhdGEuTWkoKT9uLko+PTAmJiFXJiYoVz1uLm1lZGlhRWxlbWVudC5PKCksVy5sZW5ndGh8fCFEKT9CUihXLG4uSi1uLnRpbWVzdGFtcE9mZnNldCk6RDpEfTsKTVoxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRDdXJyZW50VGltZSgpLGI9bi5pc0F0TGl2ZUhlYWQoRCk7aWYobi5ZJiZiKXt2YXIgdj1uLlk7aWYodi5OJiYhKEQ+PXYuSiYmRDx2LlgpKXt2YXIgaz12Lk4uUjMoRCk7ayE9PS0xJiYodi5KPXYuTi5nZXRTdGFydFRpbWUoayksdi5YPXYuSit2Lk4uZ2V0RHVyYXRpb24oayksaz0oMCxnLlIpKCkvMUUzLXYuTi5oQyhrKSxrLT12LmooKSx2LlcuYWRkKGspKX19bi5OJiYoYiYmKHY9bi5OLGs9bi56cygpLHYuangrKyx2Lmp4PDN8fERhdGUubm93KCktdi5WPDNFM3x8KHYuVj1EYXRlLm5vdygpLHYuSi5wdXNoKGspLHYuSi5sZW5ndGg+NTAmJnYuSi5zaGlmdCgpKSksbi5OLlUzKEQsVyksVyYmb294KG4sITApKTtiIT09bi5QWCYmKG4uQi5adCgpLk4uUVEod0kxKSYmbi52aWRlb0RhdGEuUkk/bi5QWD1iOihXPShuLkIuWnQoKS5OLlFRKHdJMSk/KG4uZ2V0Q3VycmVudFRpbWUoKS1uLkdDKSoxRTM6bi5nZXRDdXJyZW50VGltZSgpLQpuLkdDKTw9NTAwLEQ9bi5ZWj49MUUzLFd8fER8fChXPW4uTC5CWCxXLnFvZSYmKFc9Vy5xb2UsRD1nLlJrKFcucHJvdmlkZXIpLGcud2ooVyxELCJsaCIsW2I/IjEiOiIwIl0pKSxuLlBYPWIsbi5ZWisrLG4uR0M9bi5nZXRDdXJyZW50VGltZSgpKSkpfTsKZy5LdT1mdW5jdGlvbihuLFcpe3ZhciBEPW4uWDtEfHwobi5YPW5ldyBZNixEPW4uWCxmdShuLFcpKTtyZXR1cm4gRH07CkhkPWZ1bmN0aW9uKG4sVyxEKXtpZihpc05hTihXKSlyZXR1cm4gTmFOO3ZhciBiPW4uTGYoKTtEPW4uckkoRCk7cmV0dXJuIG4uUygiaHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lIikmJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmVz5EKzEmJlc8SW5maW5pdHk/KG4uQi5XWCgpJiZuLkwuVSgiY2xhbXBJbnZhbGlkU2VlayIse3RndDpgJHtXfWAsbWF4c3Q6YCR7RH1gfSksYik6Zy5GZihXLGIsRCl9OwpSeWk9ZnVuY3Rpb24obixXKXtuLlc9V307ClFidz1mdW5jdGlvbihuLFc9ITEpe24uanx8IShuLlc+MCl8fG4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpPjB8fChXPXtxZDoic2Vla3RpbWVsaW5lX3Jlc3VtZVRpbWUiLEFNOld9LG4udmlkZW9EYXRhLll8fChXLnNlZWtTb3VyY2U9MTUpLG4uc2Vla1RvKG4uVyxXKSl9OwpsQXQ9ZnVuY3Rpb24obixXKXtWWmkobixXKS50aGVuKHZvaWQgMCwoKT0+e2cuQUMobil9KTsKZy5LdShuLFcpLnRoZW4oRD0+e2cuT0IobixEKX0sKCk9PntnLkFDKG4pfSk7Cm4uTC53WShXKTtuLkIuV1goKSYmKFc9bi55cigpLFdbIm5hdGl2ZSJdPWAkeytuLmNKfWAsVy50Z3Q9YCR7bi5KfWAsVy5vdGd0PWAke24uSituLnRpbWVzdGFtcE9mZnNldH1gLFcubWF4c3Q9YCR7bi5ySSgpfWAsbi5OJiZuLlMoImh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZyIpJiYoVy50aHQ9YCR7bi5OLmooKX1gLFcuaHQ9YCR7bi5OLk5XKCl9YCxXLmFkZnQ9YCR7cnMobi5OKX1gKSxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJm4udmlkZW9EYXRhLk4mJmcuWU4obi52aWRlb0RhdGEpJiYoVy5taW5zdD1gJHtuLnZpZGVvRGF0YS5OLkgyfWAsVy5jbWluc3Q9YCR7bi52aWRlb0RhdGEuTi5MZigpK24udGltZXN0YW1wT2Zmc2V0fWAsVy5tYXhzdD1gJHtuLnZpZGVvRGF0YS5OLldNfWAsVy5odHM9YCR7bi52aWRlb0RhdGEuTi50d31gLFcuY21heHN0PWAke24udmlkZW9EYXRhLk4uckkoKStuLnRpbWVzdGFtcE9mZnNldH1gKSwKbi5MLlUoInN0YXJ0U2VlayIsVykpfTsKVlppPWZ1bmN0aW9uKG4sVyl7bi50d3x8KG4ubG9hZGVyP2lzRmluaXRlKG4uSik/bi50dz1uLmxvYWRlci5zZWVrKG4uSi1uLnRpbWVzdGFtcE9mZnNldCxXKTooZy5EUChuLnZpZGVvRGF0YSksbi5MLmhhPTAsbi50dz1SJChuLmxvYWRlcikscEwobi52aWRlb0RhdGEpfHwobi5KPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCkrbi50aW1lc3RhbXBPZmZzZXQpKTpuLnR3PSRHKG4uSi1uLnRpbWVzdGFtcE9mZnNldCkpO3JldHVybiBuLnR3fTsKZy5PQj1mdW5jdGlvbihuLFcpe24uaiYmKG4uai5yZXNvbHZlKFcpLG4uTC5LdCgpLG4uQi5XWCgpJiYoVz1uLnlyKCksV1sibmF0aXZlIl09YCR7K24uY0p9YCxXLm90Z3Q9YCR7bi5KK24udGltZXN0YW1wT2Zmc2V0fWAsbi5MLlUoInNlZWtFbmQiLFcpKSk7Zy5BQyhuKX07Cnp5MT1mdW5jdGlvbihuKXtuLlgmJihuLlgucmVzb2x2ZShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpKSxuLk8uSj1udWxsKX07CmcuQUM9ZnVuY3Rpb24obil7bi5KPU5hTjtuLlY9TmFOO24uSEo9TmFOO24uWD1udWxsO24udHc9bnVsbDtuLmo9bnVsbDtuLlRDPSExO24uY0o9ITE7bi5EdD0wO24uUyQuc3RvcCgpO24ubnUuc3RvcCgpfTsKYUF3PWZ1bmN0aW9uKG4pe2lmKG4uRClpZihuLnZpZGVvRGF0YS5nVD8uQWopbi5EPSExO2Vsc2UgaWYoZy5wQShuLnZpZGVvRGF0YSkpbi5EPSExO2Vsc2V7dmFyIFc9InNzIixEPTA7bi52aWRlb0RhdGEuTj8uaXNNYW5pZmVzdGxlc3MmJm4udmlkZW9EYXRhLlRDJiYhSkMobikmJihXPSJtc3MiLEQ9bi52aWRlb0RhdGEuVEMpOyhuLnZpZGVvRGF0YS5SST9uLlMoImh0bWw1X3ByaW9yaXRpemVfd2luZG93ZWRfc3Rfc3RhcnRfc2Vjb25kcyIpOm4uUygiaHRtbDVfcHJpb3JpdGl6ZV9zdF9zdGFydF9zZWNvbmRzIikpJiYhRCYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTshRCYmY3B0KG4pJiYoRD1uLnZpZGVvRGF0YS5saXZlVXRjU3RhcnRTZWNvbmRzfHxuLnZpZGVvRGF0YS5UQyxXPSJ1dGMiLEQ9bi5ySSgpLW4uaEMobi5ySSgpKStEKTshRCYmbi52aWRlb0RhdGEuelcoKSYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTsKdmFyIGI9e307aWYoRCl7aWYoRD5uLnJJKCl8fEQ8bi5MZigpKWIubWluU2Vla2FibGVUaW1lPW4uTGYoKSxiLm1heFNlZWthYmxlVGltZT1uLnJJKCksYi5jbXQ9bi5nZXRDdXJyZW50VGltZSgpLGIuaXQ9bi5oQyhuLmdldEN1cnJlbnRUaW1lKCkpLGIuc3M9RCxiLnV0Yz1jcHQobik/bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kc3x8bi52aWRlb0RhdGEuVEM6MCxuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLGIpLG4udmlkZW9EYXRhLnpXKCkmJihEPUhkKG4sRCwhMSkpO24uc2Vla1RvKEQse3FkOiJzZWVrdGltZWxpbmVfc3RhcnRTZWNvbmRzIn0pO2JbV109RDtuLkwuVSgic3RhcnRTZWNvbmRzIixiKTtuLkQ9ITF9ZWxzZSBuLnZpZGVvRGF0YS5UQyYmKGJbV109bi52aWRlb0RhdGEuVEMrbi5TVygpLG4uTC5VKCJzdGFydFNlY29uZHMiLGIpKX19OwpuQXg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLm1lZGlhRWxlbWVudCxiPVcudHlwZTtzd2l0Y2goYil7Y2FzZSAic2Vla2luZyI6bGV0IHY9RC5nZXRDdXJyZW50VGltZSgpK24udGltZXN0YW1wT2Zmc2V0O2lmKCFuLlh8fG4uY0omJnYhPT1uLkopbi5YPW5ldyBZNixuLlgudGhlbihrPT57Zy5PQihuLGspfSwoKT0+e2cuQUMobil9KSxuLnZpZGVvRGF0YS5pc0FkKCkmJm5uMSh7YWRDcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSwKY29udGVudENwbjpuLnZpZGVvRGF0YS5ob3N0Q3BuPz8iIn0sVy5OKSxuLkhKPXYsdTRiKG4uTyxELmdldEN1cnJlbnRUaW1lKCkpLG4uc2Vla1RvKHYse3NlZWtTb3VyY2U6MTA0LHFkOiJzZWVrdGltZWxpbmVfbWVkaWFFbGVtZW50RXZlbnQifSksbi5jSj0hMDticmVhaztjYXNlICJzZWVrZWQiOnp5MShuKTticmVhaztjYXNlICJsb2FkZWRtZXRhZGF0YSI6SWMobi5MKXx8YUF3KG4pO2Z1KG4pO2JyZWFrO2Nhc2UgInByb2dyZXNzIjpmdShuKTticmVhaztjYXNlICJwYXVzZSI6bi5LPW4uZ2V0Q3VycmVudFRpbWUoKX1uLksmJigoYj09PSJwbGF5Inx8Yj09PSJwbGF5aW5nInx8Yj09PSJ0aW1ldXBkYXRlInx8Yj09PSJwcm9ncmVzcyIpJiZuLmdldEN1cnJlbnRUaW1lKCktbi5LPjEwJiYobi5TKCJodG1sNV9za3lfc2tpcF9wYXVzZV9qdW1wIik/bi5MLlUoInNraXBQYXVzZUp1bXAiLHtldnQ6YixjbXQ6bi5nZXRDdXJyZW50VGltZSgpLGxwdDpuLkt9KTpuLnNlZWtUbyhuLkssCntxZDoicGF1c2VKdW1wIn0pKSxiIT09InBhdXNlIiYmYiE9PSJwbGF5IiYmYiE9PSJwbGF5aW5nIiYmYiE9PSJwcm9ncmVzcyImJihuLks9MCkpfTsKY3B0PWZ1bmN0aW9uKG4pe3JldHVybihZcChuLnZpZGVvRGF0YSl8fCEhbi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcykmJighIW4udmlkZW9EYXRhLmxpdmVVdGNTdGFydFNlY29uZHN8fEpDKG4pKSYmISFuLnZpZGVvRGF0YS5OfTsKUGQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmdldChXKT8uYnVmZmVyLlcoKXx8W119OwpaNz1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4uZ2V0KFcpPy5idWZmZXIuWCgpfHwwfTsKTHIxPWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRChrKXtyZXR1cm4gYi5WIT09Inl0IiYmKHYucGFydG5lcklkPT09MzgmJmIucGxheWVyU3R5bGU9PT0iYm9va3MifHx2LnBhcnRuZXJJZD09PTMwJiZiLnBsYXllclN0eWxlPT09ImRvY3MifHx2LnBhcnRuZXJJZD09PTMzJiZiLnBsYXllclN0eWxlPT09Imdvb2dsZS1saXZlIik/V3JoKG4sdixrKTpEMXQobix2KS50aGVuKCgpPT57Yi5TKCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpJiZuLkcoKS5UNyYmdi5pc0VtYmVkc1Nob3J0c01vZGUobmV3IGcuUWUoMCwwKSwhIXYucGxheWxpc3RJZCk/YlVVKG4sdik6VUIobix2KX0saD0+e1VCKG4sdiwhMCk7CnRocm93IGg7fSl9CnZhciBiPW4uRygpLHY9bi5nZXRWaWRlb0RhdGEoKTt2LnFOKCk7di5sb2FkaW5nPSEwO3JldHVybiB2QWoobik/a1VpKG4sdixXKS50aGVuKCgpPT57VUIobix2KX0saz0+e2s9QiQoayk7CmlmKGoyKGsuc2V2ZXJpdHkpKXJldHVybiBVQihuLHYsITApLFByb21pc2UucmVqZWN0KGspO2suZXJyb3JDb2RlPT09Im9uZXNpZS5yZXNwb25zZS5iYWRwcm94eXN0YXR1cyImJmAke2suZGV0YWlscy5zdH1gPT09IjMiJiYoaHBTPSEwKTtuLmhhbmRsZUVycm9yKGspO3JldHVybiBEKCJvbmVzaWUiKX0pOmIuUygiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmYi5UNz94MVUobix2KS50aGVuKCgpPT5EKCJndmkiKSk6RCgiZ3ZpIil9Owp2QWo9ZnVuY3Rpb24obil7dmFyIFc9bi5HKCk7aWYoVy5TKCJodG1sNV9kaXNhYmxlX29uZXNpZSIpfHwhVy5TKCJodG1sNV9vbmVzaWUiKXx8IVcuUygiaHRtbDVfb25lc2llX2lubGluZSIpJiZuLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09NXx8Vy5WIT09Inl0IilyZXR1cm4hMTt2YXIgRD1XLlBYO2lmKCFEfHwhRC5OKXJldHVybiBuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJvbmVzaWUudW5hdmFpbGFibGUuaG90Y29uZmlnIix7a2V5OiIwIn0pKSwhMTtpZihELk4uSzwoMCxnLlIpKCkmJihuLlUoIm9rZXhwIiwiMSIpLChEPW4uVTQoKSkmJlcuUygiaHRtbDVfcHJlZmVyX3RydXN0ZWRfaG9zdF9vbl9rZXlfZXhwaXJhdGlvbiIpKSl7RC5KPSEwO2xldCBiPUQuTi5nZXQoMCk/Lk4oKTtiJiYheHcoYikmJkQuTi5kZWxldGUoMCl9aWYoaHBTKXJldHVybiBuLlUoIm9zdDMiLCIxIiksITE7RD17fTtyZXR1cm4gT2JqZWN0LmtleXMoRCkubGVuZ3RoPjA/KEQub25lc2llPSIwIixuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJodG1sNS5taXNzaW5nYXBpIiwKRCkpLCExKTpuLmdldFZpZGVvRGF0YSgpLmxpdmVQcmVsb2FkJiZXLlp0KCkuTi5RUShIcCk/ITE6ITB9Owp5YT1mdW5jdGlvbihuLFcpe3ZhciBEPWcucDIoKTtnLllGKEQsVyk7cmV0dXJuIG5jKEQsaVooKSx7b1M6bi5KLGNsaWVudEludGVyZmFjZTpsbyhuKX0pfTsKZXBaPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5HKCkpJiZXLnZKKCk/YCR7bi5nZXRQbGF5ZXJUeXBlKCl9XyR7Vy52aWRlb0lkfV8ke1cuS2Z9YDpgJHtuLmdldFBsYXllclR5cGUoKX1fJHtXLnZpZGVvSWR9XyR7Vy5LZn1fJHsrVy5pc0F1dG9uYXZ9JHsrVy5WVH1gfTsKa1VpPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtXLmZldGNoVHlwZT0ib25lc2llIjt2YXIgYj12b2lkIDA7aWYoeVUoVykpaWYoYj1uLmk3KXt2YXIgdj1lcFoobixXKTtiPWIuZ2V0KHYpfWVsc2UgYj12b2lkIDA7dj1uLnRiLlFwO2lmKGIpe2lmKFcubG9hZGluZz0hMSxXLk5WPSEwLHpmKFcse3BsYXllcl9yZXNwb25zZTpifSwhMCksVy5sb2FkaW5nfHxIaihXKSlyZXR1cm4gbi5VKCJwcnIiLCIxIiksUHJvbWlzZS5yZXNvbHZlKCl9ZWxzZXtiPWxGKFcsbi5nZXRQbGF5ZXJTaXplKCksbi5nZXRWaXNpYmlsaXR5U3RhdGUoKSk7RD1uZXcgS0QobixiLEQpO2I9YXdhaXQgRC5mZXRjaCgpO2xldCBoPXtwbGF5ZXJfcmVzcG9uc2U6Yn07Vy5sb2FkaW5nPSExO2lmKEQubkEpe2ZvcihsZXQgW3gsTF1vZiBELm5BLmVudHJpZXMoKSl7dmFyIGs9eDtsZXQgZT1MO3YuTi5zZXQoayxlLDE4MCk7az09PVcudmlkZW9JZCYmKGs9ZS5TSigpLFcub009ayl9di5VZz1EfWZvcihsZXQgW3gsTF1vZiBELnQwLmVudHJpZXMoKSl2Lkouc2V0KHgsCkwsMTgwKTt6ZihXLGgsITApO2lmKFcubG9hZGluZ3x8SGooVykpcmV0dXJuIHlVKFcpJiYodj1lcFoobixXKSxXPVcuZ2V0UGxheWVyUmVzcG9uc2UoKSkmJihXPVcucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9XLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLG4uaTc/LnB1dCh2LGIsVykpLFByb21pc2UucmVzb2x2ZSgpfXYuTi5UaSgpO3YuSi5UaSgpO1cub009W107bj17fTt2PSJvbmVzaWUucmVzcG9uc2UiO0Q9MDtXLmVycm9yQ29kZT8odj0iYXV0aCIsbi5lYz1XLmVycm9yQ29kZSxuLmVkPVcuZXJyb3JEZXRhaWwsbi5lcz1XLndpfHwiIixEPTIpOihuLnN1Y2Nlc3NCdXRVbnBsYXlhYmxlPSIxIixuLmRpc3Bvc2VkPWAkeytXLnFOKCl9YCxuLmFmbXRzPWAkeysvYWRhcHRpdmVGb3JtYXRzLy50ZXN0KGIpfWAsbi5jcG49Vy5jbGllbnRQbGF5YmFja05vbmNlKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kodiwKbixEKSl9OwpEMXQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1XLmlzQWQoKSxiPSFELHY9RD8xOjM7Zm9yKGxldCBoPTA7aDx2O2grKyl7aWYoaD4wKXthd2FpdCBnLlV1KDVFMyk7dmFyIGs9bmV3IGcuUXgoIlJldHJ5aW5nIE9uZVBsYXRmb3JtIHJlcXVlc3QiLHthdHRlbXB0Omh9KTtnLkdxKGspfXRyeXthd2FpdCBnQWkobixXKTtyZXR1cm59Y2F0Y2goeCl7bGV0IEw9QiQoeCk7az1MLmVycm9yQ29kZTtsZXQgZT1uLkcoKS5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/NDAxOiI0MDEiO2ImJms9PT0ibWFuaWZlc3QubmV0LmJhZHN0YXR1cyImJkwuZGV0YWlscy5yYz09PWUmJihiPSExLGg9PT12LTEmJih2Kz0xKSk7aWYoaD09PXYtMSlyZXR1cm4gbj1Yc2koRCxMLmRldGFpbHMpLG4uZGV0YWlscy5iYWNrZW5kPSJvcCIsbi5kZXRhaWxzLm9yaWdpbmVjPWssUHJvbWlzZS5yZWplY3Qobik7aWYoaz09PSJhdXRoInx8az09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQifHwKZy5DTihuLkcoKSkpcmV0dXJuIFByb21pc2UucmVqZWN0KEwpO24uaGFuZGxlRXJyb3IoTCk7aWYoajIoTC5zZXZlcml0eSkpYnJlYWt9fXJldHVybiBQcm9taXNlLnJlamVjdChYc2koRCx7YmFja2VuZDoib3AifSkpfTsKZ0FpPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Vy5mZXRjaFR5cGU9ImdwIjt2YXIgRD1uLkcoKSxiPWcuSEUoRCxXLlYoKSk7Yj1iLk4/YXdhaXQgYi5OOmIuZ2V0VmFsdWUoKTt2YXIgdj15YShELGIpLGs9bEYoVyxuLmdldFBsYXllclNpemUoKSxuLmdldFZpc2liaWxpdHlTdGF0ZSgpKSxoPUxCKHF5aikseD1XLlYoKSxMPSgwLGcuUikoKSxlPSExLEc9ImVtcHR5IjtiPTA7bi5EaygicHNucyIpO3ZhciByPXtsZzpmdW5jdGlvbihOKXtOLnJlYWR5U3RhdGU9PT0yJiZuLkRrKCJwc19jIil9fTsKaWYoRC5KKXtsZXQgTj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX0sSD1kbChXLmdldFJlc29sdmVVcmxSZXNwb25zZSgpKTtIJiYoTi5wYXJhbXM9SCk7Vy5wbGF5bGlzdElkJiYoTi5wbGF5bGlzdElkPVN0cmluZyhXLnBsYXlsaXN0SWQpKTtyLkhuPXtSTDp5SCgicGxheWVyIixOKX19dj1hd2FpdCBnLnJfKHYsayxoLHZvaWQgMCxyKTtuLkRrKCJwc25yIik7aWYoIVcucU4oKSl7dj8iZXJyb3IiaW4gdiYmdi5lcnJvcj8oZT0hMCxHPWBlc2Y6JHt2LmVycm9yLm1lc3NhZ2V9YCxiPXYuZXJyb3IuY29kZSk6di5lcnJvck1ldGFkYXRhJiYoZT0hMCxHPSJpdHMiLGI9di5lcnJvck1ldGFkYXRhLnN0YXR1cyk6ZT0hMDtpZihlKXJldHVybiBlPTAsdj0oKDAsZy5SKSgpLUwpLnRvRml4ZWQoKSxMPXt9LEw9RC5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/e2JhY2tlbmQ6Im9wIixyYzpiLHJ0OnYscmVhc29uOkcsaGFzX2twdDpXLkhKPyIxIjoiMCIsaGFzX21keF9lbnY6Vy5tZHhFbnZpcm9ubWVudD8KIjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8iMSI6IjAiLG1keF9jdHJsOlcuaTV8fCIiLHRva2VuX2VxOng9PT1XLlYoKT8iMSI6IjAifTp7YmFja2VuZDoib3AiLHJjOmAke2J9YCxydDp2LHJlYXNvbjpHLGhhc19rcHQ6Vy5ISj8iMSI6IjAiLGhhc19tZHhfZW52OlcubWR4RW52aXJvbm1lbnQ/IjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8KIjEiOiIwIixtZHhfY3RybDpXLmk1fHwiIix0b2tlbl9lcTp4PT09Vy5WKCk/IjEiOiIwIn0sVz0ibWFuaWZlc3QubmV0LmNvbm5lY3QiLGI9PT00Mjk/KFc9ImF1dGgiLGU9Mik6Yj4yMDAmJihXPSJtYW5pZmVzdC5uZXQuYmFkc3RhdHVzIixiPT09NDAwJiYoZT0yKSksUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koVyxMLGUpKTtXLmxvYWRpbmc9ITE7emYoVyx7cmF3X3BsYXllcl9yZXNwb25zZTp2fSwhMCk7Zy5DTihXLkcoKSkmJnYmJnYudHJhY2tpbmdQYXJhbXMmJmcueXIodi50cmFja2luZ1BhcmFtcyk7aWYoVy5lcnJvckNvZGUpcmV0dXJuIEQ9e2VjOlcuZXJyb3JDb2RlLGVkOlcuZXJyb3JEZXRhaWwsZXM6Vy53aXx8IiJ9LGI9ImF1dGgiLGcuQ04oVy5HKCkpJiZXLmVycm9yQ29kZSYmKGI9Vy5lcnJvckNvZGUpLFByb21pc2UucmVqZWN0KG5ldyBnLkNpKGIsRCwyKSk7aWYoIVcubG9hZGluZyYmIUhqKFcpKXJldHVybiBEPVcuaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIiwKUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koRCx7c3VjY2Vzc0J1dFVucGxheWFibGU6IjEiLGhhc01lZGlhOmcuWUwoVyk/IjEiOiIwIn0sMikpfX07CldyaD1hc3luYyBmdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe3JldHVybiEwfQpmdW5jdGlvbiB2KGUpe2U9QiQoZSk7aWYoajIoZS5zZXZlcml0eSkpcmV0dXJuIFByb21pc2UucmVqZWN0KGUpO24uaGFuZGxlRXJyb3IoZSk7cmV0dXJuITF9CnZhciBrPXNfMihuLkcoKSxXLG4uZ2V0UGxheWVyU2l6ZSgpLG4uZ2V0VmlzaWJpbGl0eVN0YXRlKCksbi5pc0Z1bGxzY3JlZW4oKSksaD1XLmlzQWQoKSx4PWg/MTozO2ZvcihsZXQgZT0wO2U8eDtlKyspe3ZhciBMPWs7ZT4wJiYoYXdhaXQgZy5VdSg1RTMpLEw9e3BsYXllcnJldHJ5OmUscGxheWVycmV0cnlzcmM6RH0saHx8KEwucmVjb3Zlcj0iZW1iZWRkZWQiKSxMPWcubHcoayxMKSk7aWYoYXdhaXQgR1UxKFcsTCkudGhlbihiLHYpKXJldHVybn1XPWg/ImF1dGgiOiJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiO0Q9aD8yOjE7aWYoIWgmJk1hdGgucmFuZG9tKCk8MUUtNCl0cnl7Zy5HcShuZXcgZy5ReCgiYi8xNTIxMzE1NzEiLGJ0b2EoaykpKX1jYXRjaHt9cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBnLkNpKFcse2JhY2tlbmQ6Imd2aSJ9LEQpKX07CkdVMT1hc3luYyBmdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQoTCl7aWYoIW4ucU4oKSl7TD1MP0wuc3RhdHVzOi0xO3ZhciBlPTAsRz0oKDAsZy5SKSgpLXgpLnRvRml4ZWQoKTtHPWIuUygiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpP3tiYWNrZW5kOiJndmkiLHJjOkwscnQ6R306e2JhY2tlbmQ6Imd2aSIscmM6YCR7TH1gLHJ0Okd9O3ZhciByPSJtYW5pZmVzdC5uZXQuY29ubmVjdCI7TD09PTQyOT8ocj0iYXV0aCIsZT0yKTpMPjIwMCYmKHI9Im1hbmlmZXN0Lm5ldC5iYWRzdGF0dXMiLEw9PT00MDAmJihlPTIpKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kocixHLGUpKX19Cm4uZmV0Y2hUeXBlPSJndmkiO3ZhciBiPW4uRygpLHY7KHY9TlFpKG4pKT8odj17Zm9ybWF0OiJSQVciLG1ldGhvZDoiUE9TVCIsd2l0aENyZWRlbnRpYWxzOiEwLHRpbWVvdXQ6M0U0LHBvc3RQYXJhbXM6dn0sVz1nLmx3KFcse2FjdGlvbl9kaXNwbGF5X3Bvc3Q6MX0pKTp2PXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHdpdGhDcmVkZW50aWFsczohMCx0aW1lb3V0OjNFNH07dmFyIGs9e307Yi5zZW5kVmlzaXRvcklkSGVhZGVyJiZuLnZpc2l0b3JEYXRhJiYoa1siWC1Hb29nLVZpc2l0b3ItSWQiXT1uLnZpc2l0b3JEYXRhKTt2YXIgaD1nLlloKGIuZXhwZXJpbWVudHMsImRlYnVnX3NoZXJsb2dfdXNlcm5hbWUiKTtoJiYoa1siWC1Zb3V0dWJlLVNoZXJsb2ctVXNlcm5hbWUiXT1oKTtPYmplY3Qua2V5cyhrKS5sZW5ndGg+MCYmKHYuaGVhZGVycz1rKTt2YXIgeD0oMCxnLlIpKCk7dj1hd2FpdCBlNChnLnI4LFcsdikudGhlbih2b2lkIDAsZnVuY3Rpb24oTCl7cmV0dXJuIEQoTC54aHIpfSk7CmlmKCF2fHwhdi5yZXNwb25zZVRleHQpcmV0dXJuIEQodik7bi5sb2FkaW5nPSExO3Y9Zy5pdyh2LnJlc3BvbnNlVGV4dCk7emYobix2LCEwKTtpZihuLmVycm9yQ29kZSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koImF1dGgiLHtlYzpuLmVycm9yQ29kZSxlZDpuLmVycm9yRGV0YWlsLGVzOm4ud2l8fCIifSwyKSk7aWYoIW4ubG9hZGluZyYmIUhqKG4pKXJldHVybiB2PW4uaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixQcm9taXNlLnJlamVjdChuZXcgZy5DaSh2LHtzdWNjZXNzQnV0VW5wbGF5YWJsZToiMSJ9LDIpKX07ClhzaT1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgZy5DaShuPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixXLG4/MjoxKX07ClVCPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPSExKXt2YXIgYj1uLkcoKTtEJiYoIWcuJDYoYil8fElUKFcpIT09ImVtYmVkZGVkIil8fFcuZkN8fElUKFcpIT09ImFkdW5pdCImJihnLms2KGIpfHxnLlhDKGIpfHxnLk1WKGIpfHx0dShiKXx8Zy5EZihiKXx8bG8oYik9PT0iV0VCX0NSRUFUT1IiKXx8KEQ9Zy5IRShiLFcuVigpKSxEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpLHR5MihuLFcsRCkpfTsKdHkyPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt0cnl7bGV0IGs9bi5HKCksaD15YShrLEQpO3ZhciBiPVcuRygpO2xldCB4PWcubzkoKSxMPXtjb250ZXh0Omcub1QoVyksdmlkZW9JZDpXLnZpZGVvSWQscmFjeUNoZWNrT2s6Vy5yYWN5Q2hlY2tPayxjb250ZW50Q2hlY2tPazpXLmNvbnRlbnRDaGVja09rLGF1dG9uYXZTdGF0ZToiU1RBVEVfTk9ORSJ9O0lUKFcpPT09ImFkdW5pdCImJihMLmlzQWRQbGF5YmFjaz0hMCk7Yi5lbWJlZENvbmZpZyYmKEwuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iLmVtYmVkQ29uZmlnKTtiLlluJiYoTC5zaG93Q29udGVudE93bmVyT25seT0hMCk7Vy5TYSYmKEwuc2hvd1Nob3J0c09ubHk9ITApO3guUVEoMTQxKSYmKEwuYXV0b25hdlN0YXRlPXguUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTtpZihnLmVNKGIpKXtsZXQgTj14LlFRKDY1KTtEPU4hPW51bGw/IU46ITE7bGV0IEg9ISFnLlpJKCJ5dC1wbGF5ZXItc3RpY2t5LWNhcHRpb24iKTsKTC5jYXB0aW9uc1JlcXVlc3RlZD1EJiZIfWxldCBlPWIuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmNyeXB0ZWRIb3N0RmxhZ3M7ZSYmKEwucGxheWJhY2tDb250ZXh0PXtlbmNyeXB0ZWRIb3N0RmxhZ3M6ZX0pO3ZhciB2PUw7bGV0IEc9TEIoJDFDKTtuLkRrKCJ3bl9zIik7Yj17fTtrLkomJihiLkhuPXtSTDp5SCgibmV4dCIse3ZpZGVvSWQ6U3RyaW5nKFcudmlkZW9JZCl9KX0pO2xldCByPWF3YWl0IGcucl8oaCx2LEcsdm9pZCAwLGIpO24uRGsoInduX3IiKTshcnx8ImVycm9yImluIHImJnIuZXJyb3J8fChnLkNOKFcuRygpKSYmci50cmFja2luZ1BhcmFtcyYmZy55cihyLnRyYWNraW5nUGFyYW1zKSx6ZihXLHtyYXdfd2F0Y2hfbmV4dF9yZXNwb25zZTpyfSwhMSkpfWNhdGNoKGspe319OwpiVVU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1nLkhFKG4uRygpLFcuVigpKTtEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpO3I2dyhuLFcsRCl9OwpyNnc9YXN5bmMgZnVuY3Rpb24obixXLEQpe249bi5HKCk7dHJ5e2xldCBoPXlhKG4sRCk7bGV0IHg9e2NvbnRleHQ6Zy5vVChXKSxwbGF5ZXJSZXF1ZXN0Ont2aWRlb0lkOlcudmlkZW9JZH0sZGlzYWJsZVBsYXllclJlc3BvbnNlOiEwfSxMPVcuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7aWYoTCl7bGV0IHI9ZGwoTCk7ciYmKHgucGxheWVyUmVxdWVzdC5wYXJhbXM9cik7bGV0IE49ajcoTCk/LnBhcmFtcztOJiYoeC5wYXJhbXM9Til9dmFyIGI9eDtsZXQgZT1MQihzdjIpO0Q9e307aWYobi5KKXtsZXQgcj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX07dmFyIHYsaz1XLmdldFJlc29sdmVVcmxSZXNwb25zZSgpOyh2PWo3KGspPy5wYXJhbXMpJiYoci5wYXJhbXM9dik7RC5Ibj17Ukw6eUgoInJlZWxfaXRlbV93YXRjaCIscil9fWxldCBHPWF3YWl0IGcucl8oaCxiLGUsdm9pZCAwLEQpOyFHfHwiZXJyb3IiaW4gRyYmRy5lcnJvcnx8emYoVyx7cmF3X3JlZWxfaXRlbV93YXRjaF9yZXNwb25zZTpHfSl9Y2F0Y2goaCl7fX07CngxVT1hc3luYyBmdW5jdGlvbihuLFcpe3RyeXtsZXQgaz1uLkcoKSxoPWcuSEUoayxXLlYoKSkseD1oLk4/YXdhaXQgaC5OOmguZ2V0VmFsdWUoKSxMPXlhKGsseCk7dmFyIEQ9bi5nZXRQbGF5ZXJTaXplKCksYj1uLmdldFZpc2liaWxpdHlTdGF0ZSgpO3ZhciB2PXtjb250ZXh0Omcub1QoVyksdXJsOmBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke1cudmlkZW9JZH1gLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhXLEQsYil9fTtsZXQgZT1MQihONGgpLEc9YXdhaXQgZy5yXyhMLHYsZSk7Vy5xTigpfHxHJiZ6ZihXLHtyYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U6R30sITApfWNhdGNoKGspe319Owpwc3I9ZnVuY3Rpb24obixXKXtuLkRrKCJ2aXIiKTtuLkRrKCJwc19zIik7Zy5nXygidmlyIix2b2lkIDAsInZpZGVvX3RvX2FkIik7Vz1McjEobixXKTtXLnRoZW4oZnVuY3Rpb24oKXtuLkRrKCJ2aXJjIik7Zy5nXygidmlyYyIsdm9pZCAwLCJ2aWRlb190b19hZCIpO24uRGsoInBzX3IiKTtnLmdfKCJwc19yIix2b2lkIDAsInZpZGVvX3RvX2FkIil9LGZ1bmN0aW9uKCl7bi5EaygidmlyYyIpOwpnLmdfKCJ2aXJjIix2b2lkIDAsInZpZGVvX3RvX2FkIil9KTsKcmV0dXJuIFd9OwpFQj1mdW5jdGlvbigpe3ZhciBuPUcxKCk7cmV0dXJuISghbnx8bj09PSJ2aXNpYmxlIil9OwpIVWk9ZnVuY3Rpb24obil7dmFyIFc9WXlpKCk7VyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihXLG4sITEpfTsKZnZpPWZ1bmN0aW9uKG4pe3ZhciBXPVl5aSgpO1cmJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVyxuLCExKX07Cll5aT1mdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSl2YXIgbj0idmlzaWJpbGl0eWNoYW5nZSI7ZWxzZXtpZighZG9jdW1lbnRbcTArIlZpc2liaWxpdHlTdGF0ZSJdKXJldHVybiIiO249cTArInZpc2liaWxpdHljaGFuZ2UifXJldHVybiBufTsKSXZoPWZ1bmN0aW9uKG4pe0o2cj1ufTsKU3lyPWZ1bmN0aW9uKG4pe2lWPW59OwpTUE09ZnVuY3Rpb24obil7dmFyIFc9bi5oVTtuPW4udmlkZW9EYXRhO3ZhciBEPVpWKFcsbik7Vy5TKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIil8fEQuY29tcG9zZShVWChXLG4pKTtyZXR1cm4gRH07CkdYPWZ1bmN0aW9uKG4sVyl7dVYobixXLnJlYXNvbixXLk4uaW5mbyxXLnNvdXJjZSxXLnRva2VuKX07Cm9jPWZ1bmN0aW9uKG4sVyl7bi5XSigibG9jYWxtZWRpYWNoYW5nZSIsVyl9OwpQOVU9ZnVuY3Rpb24obixXKXtuLnRiLmRUKCl8fChuLlUoInNnYXAiLHtmOld9KSxuLnRiLmNsZWFyUXVldWUoITEsVz09PSJwZSIpKX07Cm0xVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmKG4ubWVkaWFTb3VyY2U/KGRzKG4pLG4ubXkoKSxBNmoobiwhMSkpOihuLnZpZGVvRGF0YS5jSiYmbi52aWRlb0RhdGEuY0ouWCgpLG4ubWVkaWFFbGVtZW50LnN0b3BWaWRlbygpKSxuLnBsYXlWaWRlbygpKX07CkljPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2Rpc2FibGVfdmlkZW9fcGxheWVyX2luaXRpYXRlZF9zZWVrcyIpJiZnLllOKG4udmlkZW9EYXRhKX07CmxWPWZ1bmN0aW9uKG4sVyl7bi54byYmelkobik7bi54bz1uZXcgZy5sNShXKjFFMywweDdmZmZmZmZmZmZmZmYpO24ueG8ubmFtZXNwYWNlPSJlbmRjciI7bi5hZGRDdWVSYW5nZShuLnhvKX07CnpZPWZ1bmN0aW9uKG4pe24ucmVtb3ZlQ3VlUmFuZ2Uobi54byk7bi54bz1udWxsfTsKamg9ZnVuY3Rpb24obil7aWYobi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBXPVRZKG4pO24ubG9hZGVyJiZuLmxvYWRlci5tbyhXKX19OwpCZD1mdW5jdGlvbihuLFc9ITApe24uQi5BbSYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlJiZuLm1lZGlhRWxlbWVudCYmIW4uRTgoKSYmKG4uaXNCYWNrZ3JvdW5kKCkmJm4ubWVkaWFFbGVtZW50LkdDKCk/KG4uVSgiYmdtb2JpbGUiLHtzdXNwZW5kOjF9KSxuLm9KKCEwLCEwKSk6IW4uaXNCYWNrZ3JvdW5kKCkmJlcmJkN1KG4pJiZuLlUoImJnbW9iaWxlIix7cmVzdW1lOjF9KSl9OwpGSj1mdW5jdGlvbihuKXtpZighZy5EUChuLnZpZGVvRGF0YSkpcmV0dXJuIE5hTjt2YXIgVz0wO24ubG9hZGVyJiZuLnZpZGVvRGF0YS5OJiYoVz1JNChuLnZpZGVvRGF0YSk/bi5sb2FkZXIucWgoKTpuLnZpZGVvRGF0YS5OLnFoKCkpO3JldHVybigwLGcuUikoKS8xRTMtbi5oQygpLVd9OwpLcmI9ZnVuY3Rpb24obixXKXtpZihuLnBsYXllclR5cGU9PT0yfHxuLkIuQ20pVy5vYz0hMDt2YXIgRD1UbChXLkZGLFcuRncsbi5CLkosbi5CLkspO0QmJihXLmFkRm9ybWF0PUQpO24ucGxheWVyVHlwZT09PTImJihXLkd1PSEwKTtpZihuLmlzRnVsbHNjcmVlbigpfHxuLkIuSilEPWcuWkkoInl0LXBsYXllci1hdXRvbmF2c3RhdGUiKSxXLmF1dG9uYXZTdGF0ZT1EfHwobi5CLko/MjpuLnZpZGVvRGF0YS5hdXRvbmF2U3RhdGUpO1cuZW5kU2Vjb25kcyYmVy5lbmRTZWNvbmRzPlcuc3RhcnRTZWNvbmRzJiZsVihuLFcuZW5kU2Vjb25kcyl9Owp3cz1mdW5jdGlvbihuKXtuLmxvYWRlciYmKG4ubG9hZGVyLmRpc3Bvc2UoKSxuLmxvYWRlcj1udWxsLG1vKG4uZGEsbnVsbCkpO24ucGcoKT9PVWgobik6bi5teSgpfTsKVTFpPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclN0YXRlLk4oMTI4KSlpZihuLnZpZGVvRGF0YS5pc0xvYWRlZCgpLG4uaWw9Zy5STShuLnZpZGVvRGF0YS5JSiksZy5ZTChuLnZpZGVvRGF0YSkpe24ubVEudGljaygiYnBkX3MiKTtNOShuKS50aGVuKCgpPT57bi5tUS50aWNrKCJicGRfYyIpO2lmKCFuLnFOKCkpe24uTkwmJihuLkJOKEJyKEJyKG4ucGxheWVyU3RhdGUsNTEyKSwxKSksQ3UobikpO3ZhciBEPW4udmlkZW9EYXRhO0QuZW5kU2Vjb25kcyYmRC5lbmRTZWNvbmRzPkQuc3RhcnRTZWNvbmRzJiZsVihuLEQuZW5kU2Vjb25kcyk7bi5MUi5maW5pc2hlZD0hMDtSYyhuLCJkYXRhbG9hZGVkIik7bi5qSC5zdGFydGVkJiZRYShuKTtsNVUobi5oVSxuLkRoKX19KTsKbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgibG91ZG5lc3MiLHt2Om4udmlkZW9EYXRhLllLLnRvRml4ZWQoMyl9LCEwKTt2YXIgVz1uLm1lZGlhRWxlbWVudD8uZV8oKTtpZihXJiYiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiaW4gVyYmbi5CLkh4KXRyeXtXLmRpc2FibGVQaWN0dXJlSW5QaWN0dXJlPW4uQi5MQiYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlfWNhdGNoKEQpe2cuR3EoRCl9UFJiKG4pO24uQkg9bmV3IFpVcihuLnZpZGVvRGF0YSl9ZWxzZSBSYyhuLCJkYXRhbG9hZGVkIil9Owp5Nlo9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGE7cHNyKG4sbi5paikudGhlbih2b2lkIDAsRD0+e24udmlkZW9EYXRhIT09V3x8Vy5xTigpfHwoRD1CJChEKSxELmVycm9yQ29kZT09PSJhdXRoIiYmbi52aWRlb0RhdGEuZXJyb3JEZXRhaWwmJm4udmlkZW9EYXRhLmVycm9yRGV0YWlsIT09IjciP24uUFYoRC5lcnJvckNvZGUsMix1bmVzY2FwZShuLnZpZGVvRGF0YS5lcnJvclJlYXNvbiksZy5UQyhELmRldGFpbHMpLG4udmlkZW9EYXRhLmVycm9yRGV0YWlsLG4udmlkZW9EYXRhLndpfHx2b2lkIDApOm4uaGFuZGxlRXJyb3IoRCkpfSl9OwpFQUM9ZnVuY3Rpb24obil7cmV0dXJuIGcuazYobi5CKSYmbi52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2smJighbi5CLlMoImh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWQiKXx8IW4udmlkZW9EYXRhLmxpdmVQcmVsb2FkKX07Ck05PWZ1bmN0aW9uKG4pe3dzKG4pO24uRGg9bnVsbDt2YXIgVz1Vancobi5CLG4udmlkZW9EYXRhLG4uRTgoKSk7bi50Uj1XO24udFIudGhlbihEPT57aVV0KG4sRCl9LEQ9PntuLnFOKCl8fChEPUIkKEQpLG4udmlzaWJpbGl0eS5pc0JhY2tncm91bmQoKT8oVmEobiwidnBfbm9uZV9hdmFpbCIpLG4udFI9bnVsbCxuLkxSLnJlc2V0KCkpOihuLkxSLmZpbmlzaGVkPSEwLG4uUFYoRC5lcnJvckNvZGUsRC5zZXZlcml0eSwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siLGcuVEMoRC5kZXRhaWxzKSkpKX0pOwpyZXR1cm4gV307ClBSYj1mdW5jdGlvbihuKXtpZihLeihuLnZpZGVvRGF0YSwiaHRtbDVfc2V0X2RlYnVnZ2luZ19vcHRfaW4iKSl7bGV0IFc9Zy5vOSgpO2lmKCFXLlFRKDE4Mykpe249YGYke01hdGguZmxvb3IoMTgzLzMxKSsxfWA7bGV0IEQ9VDEobil8fDA7RHw9MjY4NDM1NDU2O0Q9PT0wP2RlbGV0ZSBsT1tuXTpsT1tuXT1ELnRvU3RyaW5nKDE2KS50b1N0cmluZygpO1cuc2F2ZSgpfX19OwpSYz1mdW5jdGlvbihuLFc9ImRhdGF1cGRhdGVkIil7bi5XSigiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiLFcsbi52aWRlb0RhdGEpfTsKaVV0PWZ1bmN0aW9uKG4sVyl7aWYoIW4ucU4oKSYmIVcudmlkZW9EYXRhLnFOKCkpe24uRGg9VztGM2Iobi5kYSxuLkRoKTtpZihuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayl7dmFyIEQ9dVJyKG4udGIuUXAsbi52aWRlb0RhdGEudmlkZW9JZCl8fG4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpO0Q9bi5TKCJodG1sNV9vbmVzaWVfbGl2ZSIpJiZEO0ljKG4pfHxuLnZpZGVvRGF0YS5UQz4wJiYhSTQobi52aWRlb0RhdGEpfHxEfHxuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9wbGF5YmFja0RhdGEiLHNlZWtTb3VyY2U6MTh9KX1pZihuLnZpZGVvRGF0YS5XLk4oKSl7aWYoVGhpKG4udmlkZW9EYXRhKSl7bi5QVigiZm10Lm1pc3NpbmciLDIsIkJST1dTRVJfT1JfRVhURU5TSU9OX0VSUk9SIixnLlRDKHttaXNzYWJydXJsOjF9KSk7cmV0dXJufWlmKG4ubG9hZGVyKWcuR3EoRXJyb3IoIkR1cGxpY2F0ZWQgTG9hZGVyIikpO2Vsc2V7RD1nLmRNKG4uQi5leHBlcmltZW50cywKImh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tcyIpO2xldCBiPSgpPT57Y2QobiwoKT0+e24ucU4oKXx8bi5sb2FkZXJ8fG9BdChuKX0pfTsKRCYmbi5PUCgpJiZ1UnIobi50Yi5RcCxuLnZpZGVvRGF0YS5Xaik/Zy5uJChiLEQpOmIoKX19ZWxzZSFuLnZpZGVvRGF0YS5XLk4oKSYmT1Mobi52aWRlb0RhdGEpJiZvYyhuLG5ldyBhYyhuLnZpZGVvRGF0YS52aWRlb0lkfHwiIiw0KSk7bi51digpO3VpaihXKS50aGVuKCgpPT57dmFyIGI9e307bi5zVChiKTtuLkIuV1goKSYmbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgiYXYxSW5mbyIsYik7amgobil9KX19OwpDdT1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLm1lZGlhRWxlbWVudHx8IW4udmlkZW9EYXRhLlcpcmV0dXJuITE7dmFyIEQ9ZDEyKG4sVyksYj1uLm1lZGlhRWxlbWVudC5HQygpLHY9ITE7YiYmYi5lcXVhbHMoRCl8fCh6cGkobixEKSx2PSEwKTtuLnBsYXllclN0YXRlLk4oMil8fFFidyhuLmRhLFcpO2E6e1c9djtpZihnLllOKG4udmlkZW9EYXRhKSl7aWYoIW4udmlkZW9EYXRhLk1pKCkpYnJlYWsgYX1lbHNlIGlmKCFnLnF1KG4udmlkZW9EYXRhKSlicmVhayBhO2lmKG4ubWVkaWFFbGVtZW50KWlmKChEPW4udmlkZW9EYXRhLmopJiZuLm1lZGlhRWxlbWVudC5LKCkpe2I9bi5tZWRpYUVsZW1lbnQuZV8oKTtpZihuLkxBKWlmKGIhPT1uLkxBLmVsZW1lbnQpZHMobik7ZWxzZSBpZihXJiZELmZsYXZvcj09PSJmYWlycGxheSImJiF6USgpKWRzKG4pO2Vsc2UgYnJlYWsgYTtpZihuLlMoImh0bWw1X3JlcG9ydF9lcnJvcl9mb3JfdW5zdXBwb3J0ZWRfdHZvc193aWRldmluZSIpJiZ6USgpJiYKRC5mbGF2b3I9PT0id2lkZXZpbmUiKW4uUFYoImZtdC51bnBsYXlhYmxlIiwxLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInRyZy51bnNwdHR2b3N3aWRldmluZSIpO2Vsc2V7bi5MQT1uZXcgbHZ3KGIsbi52aWRlb0RhdGEsbi5CLG4ubWVkaWFFbGVtZW50LG4uZGgpO24uTEEuc3Vic2NyaWJlKCJsaWNlbnNlZXJyb3IiLG4uYm8sbik7bi5MQS5zdWJzY3JpYmUoInF1YWxpdHljaGFuZ2UiLG4uVzQsbik7bi5MQS5zdWJzY3JpYmUoImhlYXJ0YmVhdHBhcmFtcyIsbi5iWixuKTtuLkxBLnN1YnNjcmliZSgia2V5c3RhdHVzZXNjaGFuZ2UiLG4uWVYsbik7bi5MQS5zdWJzY3JpYmUoImN0bXAiLG4uVSxuKTtmb3IobGV0IGsgb2Ygbi5EYi5rZXlzKVc9bi5EYi5nZXQoayksbi5MQS5XbihXKTtuLlMoImh0bWw1X2VtZV9sb2FkZXJfc3luYyIpfHxuLkRiLlRpKCl9fWVsc2Ugbi5QVigiZm10LnVucGxheWFibGUiLDEsIkhUTUw1X05PX0FWQUlMQUJMRV9GT1JNQVRTX0ZBTExCQUNLIiwKInRyZy51cGRhdGVkcm0iKX1yZXR1cm4gdn07CmNkPWZ1bmN0aW9uKG4sVyl7bi5CLmVCJiZuLkIuWnQoKS5OLlFRKG5hKT9TayhuLkIuZUIsVywoKT0+e0p1KG4uQik7bi5CLmVCPXZvaWQgMDtXKCl9KTpXKCl9OwpvQXQ9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGEuTixEPXtjcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxjOm4uQi5OLmMsY3ZlcjpuLkIuTi5jdmVyfTtmb3IobGV0IFtoLHhdb2YgT2JqZWN0LmVudHJpZXMoRCkpe0Q9aDt2YXIgYj14O2Zvcih2YXIgdiBvZiBPYmplY3QudmFsdWVzKFcuTikpdi5YYi5jSihELGIpO1cuWT8uY0ooRCxiKX12PW4uQjtEPW4udmlkZW9EYXRhO2I9bi5pajtXPW5ldyBnLlQ0Mih2KTt2YXIgaz1OOFooe2hhc1N1YmZyYWdtZW50ZWRGbXA0OkQuaGFzU3ViZnJhZ21lbnRlZEZtcDQsSTI6RC5JMn0pO1cuVj1rO1cuTz1ELm1heFJlYWRBaGVhZE1lZGlhVGltZU1zLzFFM3x8Vy5PO2IuWC5MZygpPT09Yi5wb2xpY3kuTj9XLmpXPTEwOlcualc9RC5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcy8xRTN8fFcualc7Vy5MSz1ELnJlYWRBaGVhZEdyb3d0aFJhdGVNcy8xRTN8fFcuTEs7RC5RNiYmKFcuWD0hMCk7Vy5OZj0hYWQoKTtnLms2KHYpfHwKIWFkKCk/KFcuZSQ9ODM4ODYwOCxXLnZKPTUyNDI4OCxXLklNPTUsVy5ISj0xMDQ4NTc2LFcuVDQ9MS41LFcuTnM9NDU4NzUyMCxsYigpJiYoVy5Ocz03ODY0MzIpLFcuSyo9MS4xLFcuY0oqPTEuMSxXLm1oPSEwKTp2LmomJihXLksqPTEuMyxXLmNKKj0xLjMpO2cub2QmJmcudWIoImNya2V5IikmJihrPXYuTi5jbW9kZWw9PT0iQ0hST01FQ0FTVC9BTkNIT1ZZIixXLmUkPTIwOTcxNTIwLFcudko9MTU3Mjg2NCxrJiYoVy5Ocz04MTI1MDAsVy5iTj0xRTMsVy5Saz01LFcuSEo9MjA5NzE1MikpO2cuYW8mJihXLm1oPSEwKTt2LnN1cHBvcnRzR2FwbGVzc0F1ZGlvKCl8fChXLkRUPSExKTtnLldYJiYoVy5ZJD0hMCk7Vy5zVj12LlMoImh0bWw1X3BlYWtfc2hhdmUiKTtELmhxKCkmJnYuUygiaHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWUiKSYmKFcuc1Y9ITEpO2s9RC5OPy5YKCk7aWYoSTQoRCkpe1cuZVY9ITA7Vy5VVHx8KFcuZlI9ITApO1cuUFg9ITA7Vy5TVj0hMDtXLllyPQohMDtpZihELmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyJ8fEQubGF0ZW5jeUNsYXNzPT09IkxPVyImJiF2LlMoImh0bWw1X2Rpc2FibGVfbG93X3BpcGVsaW5lIikpVy53bz0yLFcuQ3k9NDtXLnNKPUQuZGVmcmFnZ2VkRnJvbVN1YmZyYWdtZW50cztnLnBBKEQpJiYoVy5CVj0hMSk7Vy5DbT1nLkdsKHYpfUQuaXNBZCgpJiYoVy50TT0wLFcuSFk9MCk7Vy5UNz12LlMoImh0bWw1X3VsdHJhX2xvd19sYXRlbmN5X3N1YnNlZ21lbnRfcmVhZGFoZWFkIikmJkQubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIjtXLlc9di5XWCgpO2IuSi5YPUk0KEQpPy41OjA7RC5pc0xpdmVQbGF5YmFjayYmKFcuV2M9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzIil8fC4yNSxXLm51PSExKTtELk1pKCkmJihXLm51PSExKTtXLnFqPSF2LlMoImh0bWw1X3NhYnJfa2VlcF9hbGxfcXVhbGl0eV9jb25zdHJhaW50cyIpO1cuQjM9CkxBKEQpO2hEKEQpJiYoVy5UNz0hMCxELmxhdGVuY3lDbGFzcz09PSJMT1ciP1cud2E9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0Iik6RC5sYXRlbmN5Q2xhc3M9PT0iVUxUUkFMT1ciJiYoVy53YT1nLmRNKHYuZXhwZXJpbWVudHMsImh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQiKSksVy5iQj0hMCk7RC56VygpJiYoVy53eT0xLjMpO1cuWSQ9Vy5ZJHx8RC5mUjtXLkhpPShXLkhpfHxELkhpKSYmdi5LO1cuVjY9RC5LO3YuV1goKSYmKFcuUmE9ITApO0QuSyYmIWsmJihXLktvPSEwKTtELksmJkQuaXNBZCgpJiYoVy5LKj0xLjYsVy5jSio9MS42KTtPUyhEKSYmKFcuSj1ELnZpZGVvSWQsVy52bj0hMCxXLnN6PTEwMCxELnhoJiZELnhoLmxlbmd0aD4wJiYoVy5iVj1ELnhoKSk7Vy5lQj1ELlo5O1cublM9REsodix7fSxELld8fHZvaWQgMCxReihEKSk7Vy5iZD1SUShEKSYmKGcuTVYodil8fAp0dSh2KSk7Zy5ZTihEKSYmKFcuaj0hMCxXLkU1PWcuazYodikmJiFnLmQ4KCk/ITE6ITAsIVcuZTQmJnYuUygiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9jbGllbnRfcmVxdWVzdF9jYW5jZWxsYXRpb24iKSYmKFcudlg9ITAsVy5DdT0hMCxXLlRJPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9yZXF1ZXN0X2NhbmNlbGxhdGlvbl90aW1lb3V0X21zIil8fDhFMyxXLnN6PWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0Iil8fDMpLHYuUygiaHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvbiIpJiYoVy5SRD0hMCksVy5OPSEwLFcudkY9di5TKCJodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29yayIpLFcuSjg9di5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpLApXLmNMPXYuUygiaHRtbDVfY29uc3VtZV9vbmVzaWVfbmV4dF9yZXF1ZXN0X3BvbGljeV9mb3Jfc2FiciIpLFcuQVY9di5TKCJodG1sNV9sb2dfaGlnaF9yZXNfYnVmZmVyX3RpbWVsaW5lIikmJnYuV1goKSxXLmZDPXYuUygiaHRtbDVfZ2FwbGVzc19zYWJyX2J0bF9sYXN0X3NsaWNlIikmJkFKKEQpLFcucG89di5TKCJodG1sNV9yZXNldF9sYXN0X2FwcGVuZGVkX3NsaWNlX29uX3NlZWsiKSYmQUooRCksSTQoRCkmJihXLlZIPSEwLFcuUyQ9ITAsdi5TKCJodG1sNV9zaW1wbGlmaWVkX2JhY2t1cF90aW1lb3V0X3NhYnJfbGl2ZSIpJiYoVy5DdT0hMCxXLmJOPVcuZlopKSxXLmg4PXYuUygiaHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2FiciIpLFcuczU9di5TKCJodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXQiKSxXLlk9Zy5ZTihEKSxXLm9UPXYuUygiaHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkIiksCnYuUygiaHRtbDVfaW5jbHVkZV9wYXJ0aWFsX3NlZ21lbnRfZm9yX2p1bWJvX2xsIikmJmhEKEQpJiYoVy5vVD0hMSksVy5zMz12LlMoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIiksVy5sbj12LlMoImh0bWw1X2NlbnRyYWxpemVkX3BsYXllcl90aW1lX2xpdmUiKSYmZy5ZTihEKSYmRC5pc0xpdmVQbGF5YmFja3x8di5TKCJodG1sNV91c2VfY2VudHJhbGl6ZWRfcGxheWVyX3RpbWUiKSYmZy5ZTihEKSxXLkdDPXYuUygiaHRtbDVfbG9nX2NlbnRyYWxpemVkX3BsYXllcl90aW1lIiksVy5BeD12LlMoImh0bWw1X3VzZV9jZW50cmFsaXplZF9wbGF5ZXJfdGltZV9maXhlcyIpJiZnLllOKEQpLFcuclc9di5TKCJodG1sNV9jb25zdW1lX29uZXNpZV9zYWJyX3NlZWsiKSxXLnR3PXYuUygiaHRtbDVfZW5hYmxlX3NhYnJfc2Vla19sb2FkZXJfcmVmYWN0b3IiKSxELmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYoVy5VMT0hMCxXLldLPXYuUygiaHRtbDVfcmVzZXRfc2VydmVyX3N0aXRjaF9zdGF0ZV9mb3Jfbm9uX3NhYnJfc2VlayIpLApXLmllPXYuUygiaHRtbDVfcmVtb3ZlX3NzZGFpX2FwcGVuZF9wYXVzZSIpJiYhRC5ERigpLFcueXc9di5TKCJodG1sNV9zc2RhaV9sb2dfc3NldnRfaW5fbG9hZGVyX3RpbWVycyIpKSxXLkVaPXYuV1goKSxXLmxhdGVuY3lDbGFzcz1ELmxhdGVuY3lDbGFzcyxXLm1EPSFELnpXKCkmJnYuUygiaHRtbDVfcHJlYnVmZmVyX2luc3RyZWFtX21lZGlhX3ZvZCIpKTtXLnlFPWcubU8oRCk7Vy5Rcj12LlMoImh0bWw1X2VuYWJsZV9zYWJyX290Zl9pbl9jbGllbnQiKTtpZihELk5QKCl8fEQuaXNBZCgpKVcuZ089ITE7RC56VygpJiZ2LmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqdk0pJiYoYj1ELmxDPy5nZXQoImlkIikpJiZiLmluY2x1ZGVzKCIlN0UiKSYmKFcuV2k9ITApO1NKKHYuVyxBVC5CSVRSQVRFKSYmKFcuTnM9TmFOKTtpZihiPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfcmVxdWVzdF9zaXplX21heF9rYiIpKVcuSEo9YioxMDI0O2lmKHYuVy5KKVcucFI9IjsgIitBVC5FWFBFUklNRU5UQUwubmFtZSsKIj1hbGxvd2VkIjtlbHNlIGlmKHYuZXhwZXJpbWVudHMudzAoKS5OLlFRKENSaSkmJmcuZDgoKSl7bGV0IHtuYW1lOmgsdmFsaWQ6eH09QVQuVFVOTkVMTU9ERTtXLnBSPWA7ICR7aH09JHt4fWB9dj1ELnNlcnZlclBsYXliYWNrU3RhcnRDb25maWc7dj8uZW5hYmxlJiZ2Py5wbGF5YmFja1N0YXJ0UG9saWN5JiYoVy5GZT0hMCxsUyhXLHYucGxheWJhY2tTdGFydFBvbGljeSwyKSk7dj1CNFUobik7bi5EYi5UaSgpO2E6e0Q9bi50Yi5RcDtpZihiPW4udmlkZW9EYXRhLnZpZGVvSWQpaWYoaz1ELk4uZ2V0KGIpKXtELk4ucmVtb3ZlKGIpO0Q9azticmVhayBhfUQ9dm9pZCAwfW4ubG9hZGVyPW5ldyBnLlc4KG4sbi5paixXLG4udmlkZW9EYXRhLk4sbi52aWRlb0RhdGEuVyxUWShuKSx2LG4udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpLEQsbi52aWRlb0RhdGEuelIpO2lmKG4udmlkZW9EYXRhLlMoImh0bWw1X2Rpc2FibGVfcHJlbG9hZF9mb3Jfc3NkYWlfd2l0aF9wcmVyb2xsIikmJgpuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmbi5PUCgpKVc9ITA7ZWxzZSBpZihXPW4uTkwpVz1nLms2KG4uQikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiYoIW4uQi5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIil8fCFuLnZpZGVvRGF0YS5saXZlUHJlbG9hZHx8bi5CLlp0KCkuTi5RUShIcCkpO24ubG9hZGVyLmluaXRpYWxpemUobi5nZXRDdXJyZW50VGltZSgpLFRZKG4pLFcpO24udmlkZW9EYXRhLnByb2JlVXJsJiYobi5sb2FkZXIuQnY9bi52aWRlb0RhdGEucHJvYmVVcmwpO2lmKG4uaWwubGVuZ3RofHxuLk5MKW4udmlkZW9EYXRhLmNvdG58fG4ucEMoITEpO21vKG4uZGEsbi5sb2FkZXIpO24uc1UmJihuLmxvYWRlci5FVyhuLnNVKSxuLlUoInNkYWkiLHtzZGw6MX0pKTtnLm1NKG4udmlkZW9EYXRhKSYmKG49bi5sb2FkZXIsbi5wb2xpY3kueGg9bi5wb2xpY3kuVnMpfTsKUWE9ZnVuY3Rpb24obil7bi5xTigpO2lmKCFuLmpILmZpbmlzaGVkJiZuLkxSLmZpbmlzaGVkJiYhbi5wbGF5ZXJTdGF0ZS5OKDEyOCkmJiFuLmlsLmxlbmd0aCl7aWYoIW4ud0kuc3RhcnRlZCl7dmFyIFc9bi53STtXLnN0YXJ0ZWQ9ITA7Vy5KKCl9aWYoIW4uSm4oKSl7bi5sb2FkZXImJihuLm5VPW4ubG9hZGVyLnpzKCEwKT4wKTtuLmpILmZpbmlzaGVkfHwobi5qSC5maW5pc2hlZD0hMCk7Vz1uLlMoImh0bWw1X29uZXNpZV9saXZlIikmJm4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpOyFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8bi52aWRlb0RhdGEuVEM+MCYmIUk0KG4udmlkZW9EYXRhKXx8V3x8SWMobil8fChuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9yZWFkeWluZyIsc2Vla1NvdXJjZToxOH0pLG4uaXNCYWNrZ3JvdW5kKCkmJihuLlRsPSEwKSk7Vz1uLkJYO2lmKFcucW9lKXtXPVcucW9lO2xldCBiPVcucHJvdmlkZXIudmlkZW9EYXRhLHY9Vy5wcm92aWRlci5COwpmb3IodmFyIEQgb2Ygdi5reSluQyhXLEQpO2lmKFcucHJvdmlkZXIuUygiaHRtbDVfZW5hYmxlX3FvZV9jYXRfbGlzdCIpKWZvcihsZXQgayBvZiBiLmtLKW5DKFcsayk7ZWxzZSBiLmt5JiZuQyhXLFcucHJvdmlkZXIudmlkZW9EYXRhLmt5KTtiLnpXKCkmJihEPWIuTixJNChiKSYmbkMoVywibWFuaWZlc3RsZXNzIiksRCYmb28oRCkmJm5DKFcsYGxpdmUtc2VnbWVudC0ke29vKEQpLnRvRml4ZWQoMSl9YCkpO2cuWU4oYik/bkMoVywic2FiciIpOlcueiQoeHAoYikpO2lmKHB6KGIpfHxiLkRGKCkpYi5ERigpJiZuQyhXLCJzc2EiKSxuQyhXLCJsaWZhIik7TkkoYikmJm5DKFcsImNkbSIpO2IuZ2F0ZXdheUV4cGVyaW1lbnRHcm91cCYmKEQ9Yi5nYXRld2F5RXhwZXJpbWVudEdyb3VwLEQ9PT0iRVhQRVJJTUVOVF9HUk9VUF9TUElLWV9BRF9CUkVBS19FWFBFUklNRU5UIj9EPSJzcGthZHRydCI6RD09PSJFWFBFUklNRU5UX0dST1VQX1NQSUtZX0FEX0JSRUFLX0NPTlRST0wiJiYoRD0KInNwa2FkY3RybCIpLG5DKFcsRCkpO3YuViE9PSJ5dCImJlcuSi5zZXQoImxlbiIsW2IubGVuZ3RoU2Vjb25kcy50b0ZpeGVkKDIpXSk7Yi5jb3RuJiYhT1MoYikmJlF1KFcsITApO3YuV1goKSYmKEQ9UlFVKCkpJiZXLlUoImNibHQiLHttOkR9KTt2LlMoImh0bWw1X2xvZ19zY3JlZW5fZGlhZ29uYWwiKSYmVy5VKCJjYmx0ZGlhZyIse3Y6d2luZG93Lkg1dmNjU2NyZWVuPy5HZXREaWFnb25hbD93aW5kb3cuSDV2Y2NTY3JlZW4uR2V0RGlhZ29uYWwoKTowfSl9bi5XSigicGxheWJhY2tyZWFkeSIpO2cudlAoInBsX2MiLG4ubVEudGltZXJOYW1lKXx8KG4ubVEudGljaygicGxfYyIpLGcuZ18oInBsX2MiLHZvaWQgMCwidmlkZW9fdG9fYWQiKSk7Zy52UCgicGJyIixuLm1RLnRpbWVyTmFtZSl8fChuLm1RLnRpY2soInBiciIpLGcuZ18oInBiciIsdm9pZCAwLCJ2aWRlb190b19hZCIpKX19fTsKVmE9ZnVuY3Rpb24obixXKXtuLnBsYXllclN0YXRlLk4oMTI4KXx8KG4uQk4od1Mobi5wbGF5ZXJTdGF0ZSwxMDI4LDkpKSxuLlUoImRvbXBhdXNlZCIse3I6V30pLG4uV0ooIm9uQXV0b3BsYXlCbG9ja2VkIikpfTsKZy5EVD1mdW5jdGlvbihuKXt2YXIgVz1UWShuKTtyZXR1cm4geEooVyl8fCFuLkRoP251bGw6Zy5sXyhuLkRoLk4udmlkZW9JbmZvcyxEPT5XLlgoRCkpfTsKdVY9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aC5KPUQ7dmFyIHg9Zy5EVChuKTtEPW5ldyBGck0oRCxXLHg/eC5pdGFnOiIiLGIsdik7aWYoay5xb2Upe2s9ay5xb2U7Yj12PWcuUmsoay5wcm92aWRlcik7eD1bRC5OLmlkLEQuSixrLnM1LEQucmVhc29uXTtrLkR0fHx4LnB1c2goTFRiKGssRCkpO0QudG9rZW4mJngucHVzaChELnRva2VuKTtnLndqKGssYiwidmZzIix4KTtrLnM1PUQuTi5pZDt4PWsucHJvdmlkZXIuTC5nZXRQbGF5ZXJTaXplKCk7aWYoeC53aWR0aD4wJiZ4LmhlaWdodD4wKXt4PVtNYXRoLnJvdW5kKHgud2lkdGgpLE1hdGgucm91bmQoeC5oZWlnaHQpXTtsZXQgTD1nLkhfKCk7TD4xJiZ4LnB1c2goTCk7Zy53aihrLGIsInZpZXciLHgpfWsuRHR8fChrLnByb3ZpZGVyLkIuV1goKSYmKG5DKGssInJxcyIpLG5DKGssInJxczIiKSksay5wcm92aWRlci52aWRlb0RhdGEuTiYmR18oay5wcm92aWRlci52aWRlb0RhdGEuTikmJmsuSi5zZXQoInByZWxvYWQiLApbIjEiXSkpO2suRHQ9ITA7ay5WPSEwO0QucmVhc29uPT09Im0iJiYrK2suc1Y9PT0xMDAmJmJtKGssMik7Zy53aihrLHYsInZwcyIsW2suTl0pO2suZSR8fGsucmVwb3J0U3RhdHModil9RD1uLmhVO0QuSj0wO0QuTj0wO24uV0ooImludGVybmFsdmlkZW9mb3JtYXRjaGFuZ2UiLGgsVz09PSJtIil9OwpUWT1mdW5jdGlvbihuKXtpZihuLkRoKXt2YXIgVz1uLmhVO3ZhciBEPW4uRGg7bj1uLmcwKCk7dmFyIGI9Wm1oKFcpO2lmKHhKKGIpKXtpZihiPVcuTWgoRCkuY29tcG9zZSh5SXIoVyxEKSkuY29tcG9zZShpbXIoVyxEKSkuY29tcG9zZShaVihXLEQudmlkZW9EYXRhKSkuY29tcG9zZShVWChXLEQudmlkZW9EYXRhLEQpKS5jb21wb3NlKHkzKFcsRCkpLmNvbXBvc2UoaW0oVyxEKSkseEoobil8fFcuUygiaHRtbDVfYXBwbHlfcGJyX2NhcF9mb3JfZHJtIikpe3ZhciB2PWIuY29tcG9zZTtpZihXLlMoImh0bWw1X2Rpc2FibGVfdXN0cmVhbWVyX2NvbnN0cmFpbnRfZm9yX3NhYnIiKSYmZy5ZTihELnZpZGVvRGF0YSkpdmFyIGs9WVo7ZWxzZSBrPVcuTC51dSgpLFcuUygiaHRtbDVfdXNlX3ZpZGVvX3F1YWxpdHlfY2FwX2Zvcl91c3RyZWFtZXJfY29uc3RyYWludCIpJiZrJiZrLlFvPjAmJnhKKEQudmlkZW9EYXRhLkIzKSYmKGs9ay5RbyxELnZpZGVvRGF0YS5CMz1uZXcgYjMoMCxrLCExLAoidSIpKSxrPUQudmlkZW9EYXRhLkIzO2I9di5jYWxsKGIsayl9fWVsc2UgVy5TKCJodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3kiKSYmKGI9Yi5jb21wb3NlKHkzKFcsRCkpKTtiPWIuY29tcG9zZShpbShXLEQpKTtXPUQudmlkZW9EYXRhLkxLLmNvbXBvc2UoYikuY29tcG9zZShELnZpZGVvRGF0YS5MSCkuY29tcG9zZShuKX1lbHNlIFc9WVo7cmV0dXJuIFd9Owp3c2k9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aWYoRCE9PWguWCl7dmFyIHg9IWguWDtoLlg9RDt2YXIgTD1XPT09Im0ifHxXPT09InQiO0x8fChXPXg/ImkiOiJhIik7Vz1uZXcgRnJNKEQsVywiIixiLHYpO2lmKGsucW9lKXtrPWsucW9lO0Q9Zy5SayhrLnByb3ZpZGVyKTtsZXQgRz1bXTtpZihXLk4uaWQhPT1rLkZGKXtiPVtXLk4uaWQsay5GRixXLnJlYXNvbl07dj1HO3ZhciBlPXYucHVzaDtsZXQgcj1bXSxOPWsucHJvdmlkZXIudmlkZW9EYXRhLmhnLk4sSD1XLk4uYXVkaW8/Lko/P04/LlFPO0g9PW51bGx8fGlzTmFOKEgpfHxyLnB1c2goYGZsLiR7SH1gKTtOJiYoTi5mb3JtYXRJZCYmTi5mb3JtYXRJZCE9PVcuTi5pZCYmay5VKCJhZ2MiLHtxb2VtaXNtYXRjaDoiMSIsYWdjX2ZtdDpOLmZvcm1hdElkLGFmbXQ6Vy5OLmlkfSksTi5weT09bnVsbHx8aXNOYU4oTi5weSl8fHIucHVzaChgdGwuJHtOLnB5fWApLE4uRHk9PW51bGx8fGlzTmFOKE4uRHkpfHwKci5wdXNoKGB2Zy4ke04uRHl9YCksTi53RyE9PTAmJnIucHVzaChgbm0uJHtOLndHfWApKTtlLmNhbGwodiwuLi5yKTtXLnJlYXNvbj09PSJpIiYmRy5wdXNoKExUYihrLFcpKTtHLmxlbmd0aD4wJiZiLnB1c2goRy5qb2luKCI7IikpO1cudG9rZW4mJmIucHVzaChXLnRva2VuKTtnLndqKGssRCwiYWZzIixiKTtrLkZGPVcuTi5pZH19bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsaCwheCYmTCl9fTsKTXl4PWZ1bmN0aW9uKG4pe3ZhciBXPSJsb2Fkc3RhcnQgbG9hZGVkbWV0YWRhdGEgcGxheSBwbGF5aW5nIHByb2dyZXNzIHBhdXNlIGVuZGVkIHN1c3BlbmQgc2Vla2luZyBzZWVrZWQgdGltZXVwZGF0ZSBkdXJhdGlvbmNoYW5nZSByYXRlY2hhbmdlIGVycm9yIHdhaXRpbmcgcmVzaXplIi5zcGxpdCgiICIpO2ZvcihsZXQgRCBvZiBXKW4uczkuTk4obi5tZWRpYUVsZW1lbnQsRCxuLmlVLG4pO24uQi5EVCYmbi5tZWRpYUVsZW1lbnQuSygpJiYobi5zOS5OTihuLm1lZGlhRWxlbWVudCwid2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkIixuLnZrLG4pLG4uczkuTk4obi5tZWRpYUVsZW1lbnQsIndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkIixuLk9rLG4pKX07Ck9VaD1mdW5jdGlvbihuKXtpZihuLm1lZGlhU291cmNlKWlmKG4uSzEoKSxuLm1lZGlhU291cmNlLkspdHJ5e24uQi5XWCgpJiZuLlUoInJtcyIse2w6InZwcm1zIixzcjpuLnBnKCkscnM6bi5tZWRpYVNvdXJjZS5XKCl9KSxuLm1lZGlhU291cmNlLmNsZWFyKCksbi5tZWRpYUVsZW1lbnQ/LkhKKG4ubWVkaWFTb3VyY2UpLG4ubWVkaWFTb3VyY2U9bnVsbH1jYXRjaChEKXt2YXIgVz1uZXcgZy5ReChgRXJyb3Igd2hpbGUgY2xlYXJpbmcgTWVkaWEgU291cmNlIGluIFZpZGVvUGxheWVyOiAke0QubmFtZX0sICR7RC5tZXNzYWdlfWApO1c9QiQoVyk7bi5oYW5kbGVFcnJvcihXKTtuLm15KCl9ZWxzZSBuLm15KCl9Owpkcz1mdW5jdGlvbihuKXtuLkxBJiYobi5MQS5kaXNwb3NlKCksbi5MQT1udWxsKX07ClJwVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmbi5tZWRpYUVsZW1lbnQuRTgoKSYmKG4uVFY9KDAsZy5SKSgpKTtuLkIudEc/Zy5uJCgoKT0+e2J2KG4pfSwwKTpidihuKX07CmJ2PWZ1bmN0aW9uKG4pe2lmKCFuLm1lZGlhU291cmNlPy5nWCgpKXtpZihuLm1lZGlhRWxlbWVudCl0cnl7bi5Mdz1uLm1lZGlhRWxlbWVudC5wbGF5VmlkZW8oKX1jYXRjaChXKXtWYShuLGBlcnIuJHtXfWApfWlmKG4uTHcpe2xldCBXPW4uTHc7Vy50aGVuKHZvaWQgMCxEPT57aWYoIShuLnBsYXllclN0YXRlLk4oNCl8fG4ucGxheWVyU3RhdGUuTigyNTYpfHxuLkx3IT09V3x8RCYmRC5uYW1lPT09IkFib3J0RXJyb3IiJiZELm1lc3NhZ2UmJkQubWVzc2FnZS5pbmNsdWRlcygibG9hZCIpKSl7bGV0IGI9InByb21pc2UiO0QmJkQubmFtZSYmKGIrPWA7bS4ke0QubmFtZX1gKTtWYShuLGIpO24uVzE9ITA7bi52aWRlb0RhdGEuZkI9ITB9fSl9fX07CkE2aj1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubWVkaWFTb3VyY2UpcmV0dXJuIG4ubWVkaWFTb3VyY2UuajtRdmkobixXKTtyZXR1cm4gbi5VeigpPy50dygpfHxudWxsfTsKZDEyPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9bnVsbDtuLnZpZGVvRGF0YS5XPy5OKCk/KEQ9QTZqKG4sVyksbi5sb2FkZXI/LnJlc3VtZSgpKTood3Mobiksbi52aWRlb0RhdGEuY0omJihEPW4udmlkZW9EYXRhLmNKLkooKSkpO3JldHVybiBEfTsKYXZaPWZ1bmN0aW9uKG4sVyl7aWYoVy5OLnZpZGVvLnF1YWxpdHk9PT0iYXV0byImJlcua0woKS5XKCkpaWYobi5TKCJodG1sNV9obHNfcmVwb3J0X3BzZXVkb19pdGFnIikmJm4udmlkZW9EYXRhLmhsc3ZwKXt2YXIgRD1uLlVKKCk7aWYoRCYmRC52aWRlb0hlaWdodD4wJiZELnZpZGVvV2lkdGg+MCl7dmFyIGI9RC52aWRlb0hlaWdodDtEPUQudmlkZW9XaWR0aDthOntuPW4uTEE/Lk4uZmxhdm9yPT09ImZhaXJwbGF5Ij9WeVU6YzZaO2Zvcih2IG9mIG4paWYoYj49di5taW5IZWlnaHQpe3ZhciB2PXYuaXRhZzticmVhayBhfXY9IiJ9aWYodilyZXR1cm4gbmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse3ZpZGVvOm5ldyBIUihELGIpfSl9fWVsc2UgaWYobi52aWRlb0RhdGEubnUpZm9yKGIgb2Ygbi52aWRlb0RhdGEubnUpaWYoYi5nZXRIZWlnaHQoKT09PW4uejEmJmIuTi52aWRlby5xdWFsaXR5IT09ImF1dG8iKXJldHVybiBiLmtMKCk7cmV0dXJuIFcua0woKX07Cm5CQz1mdW5jdGlvbihuKXtyZXR1cm4hIShuLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKSYmZy5HbiYmbi52aWRlb0RhdGEuSj8uVygpKX07ClcxaT1mdW5jdGlvbihuKXtpZighbkJDKG4pKXJldHVybiExO249bi5tZWRpYUVsZW1lbnQ/LmF1ZGlvVHJhY2tzKCk7cmV0dXJuISEobiYmbi5sZW5ndGg+MSl9OwpiNHQ9ZnVuY3Rpb24obil7dmFyIFc9RGdDKG4pO2lmKFcpe3ZhciBEPXY4W1ddfHxXO3JldHVybiBuLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLmZpbmQoYj0+Yi5rWi5nZXROYW1lKCk9PT1EKX19OwpEZ0M9ZnVuY3Rpb24obil7aWYobj1uLm1lZGlhRWxlbWVudD8uYXVkaW9UcmFja3MoKSlmb3IobGV0IFc9MDtXPG4ubGVuZ3RoOysrVyl7bGV0IEQ9bltXXTtpZihELmVuYWJsZWQpcmV0dXJuIEQubGFiZWx9fTsKdkIyPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpO2lmKFcpe3ZhciBEPVtdO2ZvcihsZXQgdj0wO3Y8Vy5sZW5ndGg7Kyt2KXt2YXIgYj1XW3ZdO2I9bmV3IFdBKGIubGFiZWwsbmV3IHdQKHY4W2IubGFiZWxdfHxiLmxhYmVsLGIubGFiZWwsITEpKTtELnB1c2goYil9bi52aWRlb0RhdGEudm49RH19OwpCNFU9ZnVuY3Rpb24obil7dmFyIFcsRD1uLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLGI9bi5CLkhKO2ImJihXPUQuZmluZCh2PT52LmdldExhbmd1YWdlSW5mbygpLmlkPT09YikpOwppZihuLkIuZXhwZXJpbWVudHMuRXEoImVuYWJsZV9hdWRpb19kZXNjcmlwdGlvbl9zZXR0aW5nIikmJmcubzkoKS5RUSgxOTgpKWZvcihsZXQgdiBvZiBEKWlmKHYuail7Vz12O2JyZWFrfW4uWnQoKS5OLlFRKGtxTSkmJm4udmlkZW9EYXRhLmNvdG4mJihXPUQuZmluZCh2PT4hIXYuVikpOwpXfHwobj1uLmdldEF1ZGlvVHJhY2soKSxXPW4ua1ouaXNEZWZhdWx0P3ZvaWQgMDpuKTtyZXR1cm4gV307ClF2aT1mdW5jdGlvbihuLFc9ITEpe3RyeXtnLmQ4KCkmJm4udmlkZW9EYXRhLm1WKCkmJm4ubWVkaWFFbGVtZW50LlBYKCk7bGV0IGI9bi5veSgpLHY9bi5DZCgpO2lmKG4ubWVkaWFFbGVtZW50LmlzVmlldygpJiZuLm1lZGlhRWxlbWVudC5NZCYmKCFuLkZTKCl8fCFuLm1lZGlhRWxlbWVudC5ZJChiLHYpKSl7bi5CLldYKCkmJm4uVSgidXNtIix7ZmFsbGJhY2s6ITAscmVhc29uOm4uRlMoKT8iY29kZWMiOiJwb2xpY3kifSk7bGV0IGs9bi5tZWRpYUVsZW1lbnQubWVkaWFFbGVtZW50O2s/LlBYKCk7az8uc3RvcFZpZGVvKCk7bi5kYS5zZXRNZWRpYUVsZW1lbnQobnVsbCk7bi5zZXRNZWRpYUVsZW1lbnQoaywhMCl9dmFyIEQ9bi5tZWRpYUVsZW1lbnQuVXooYix2KX1jYXRjaChiKXtpZihLQyhuLkFJLCJodG1sNS5taXNzaW5nYXBpIix7dXBkYXRlTXM6IjEifSkpcmV0dXJuO2NvbnNvbGUuZXJyb3IoIndpbmRvdy5VUkwgb2JqZWN0IG92ZXJ3cml0dGVuIGJ5IGV4dGVybmFsIGNvZGUiLApiKTtuLlBWKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInVwZGF0ZU1zLjEiKTtyZXR1cm59bi5ubShELCExLCExLFcpfTsKaExaPWZ1bmN0aW9uKG4sVz0hMSl7aWYobi5sb2FkZXIpe24udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZuLmxvYWRlci5rSSgpO2xldCBEPW4uZ2V0Q3VycmVudFRpbWUoKS1uLlNXKCk7bi5sb2FkZXIuc2VlayhELHtBTTpXfSkuc1AoKCk9Pnt9KX1lbHNlIGNkKG4sKCk9PntuLnFOKCl8fG4ubG9hZGVyfHxvQXQobil9KX07CkwxYj1mdW5jdGlvbihuLFcsRD0hMSxiPSExLHY9ITEpeyFuLm1lZGlhU291cmNlfHxXJiZuLm1lZGlhU291cmNlIT09V3x8KFc9bi5nZXREdXJhdGlvbigpLCFXJiZJNChuLnZpZGVvRGF0YSkmJihXPTI1MjAwLG4ubG4oKSYmKFc9NDY4MDApKSxuLm1lZGlhU291cmNlLmlzVmlldz9XPm4ubWVkaWFTb3VyY2UuZ2V0RHVyYXRpb24oKSYmeGdaKG4sVyk6eGdaKG4sVyksVz0oKT0+e24ucU4oKXx8KEltaShuLmxvYWRlcixuLm1lZGlhU291cmNlLEQsYix2KSxuLldKKCJtZWRpYXNvdXJjZWF0dGFjaGVkIikpfSxuLmxvYWRlcj9XKCk6Y2QobixXKSl9Owp4Z1o9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiYobi5tZWRpYVNvdXJjZS5hVChXKSxuLmxvYWRlcj8uaFcoVykpfTsKZUxoPWZ1bmN0aW9uKG4sVyl7aWYobi5CLldYKCkmJm4ubWVkaWFFbGVtZW50KXtsZXQgRD1uLm1lZGlhRWxlbWVudC55cigpO0Qub210PShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpK24uU1coKSkudG9GaXhlZCgzKTtELnBzPW4ucGxheWVyU3RhdGUuc3RhdGUudG9TdHJpbmcoMTYpO0QucnQ9KGcuUmsobi5CWC5wcm92aWRlcikqMUUzKS50b0ZpeGVkKCk7RC5lPVc7bi5CRltuLmtRKyslNV09RH19OwpnQnI9ZnVuY3Rpb24obil7aWYoZy51YigiY29iYWx0IikmJmcudWIoIm5pbnRlbmRvIHN3aXRjaCIpKXt2YXIgVz0hd2luZG93Lm1hdGNoTWVkaWEoInNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcyMHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyMDBkcGkpIikubWF0Y2hlcztuLlUoIm54ZG9jayIse2Q6V30pfX07ClhhUz1mdW5jdGlvbihuKXtEcihuLm53KTtrUChuKXx8KG4ubnc9VzAoKCk9PmtQKG4pLDEwMCkpfTsKa1A9ZnVuY3Rpb24obil7dmFyIFc9bi5tZWRpYUVsZW1lbnQ7VyYmbi5BbCYmIW4udmlkZW9EYXRhLlkmJiFnLnZQKCJ2ZnAiLG4ubVEudGltZXJOYW1lKSYmVy5YKCk+PTImJiFXLmlzRW5kZWQoKSYmTSQoVy5KKCkpJiZuLm1RLnRpY2soInZmcCIpO3JldHVybihXPW4ubWVkaWFFbGVtZW50KSYmIW4udmlkZW9EYXRhLlkmJlcuZ2V0RHVyYXRpb24oKT4wJiYoVy5pc1BhdXNlZCgpJiZXLlgoKT49MiYmTSQoVy5KKCkpJiYoZy52UCgicGJwIixuLm1RLnRpbWVyTmFtZSl8fG4ubVEudGljaygicGJwIiksIW4udmlkZW9EYXRhLkR0fHxuLlZ0fHxXLmlzU2Vla2luZygpfHwobi5WdD0hMCxuLldKKCJvblBsYXliYWNrUGF1c2VBdFN0YXJ0IikpKSxXPVcuZ2V0Q3VycmVudFRpbWUoKSxxOShuLlZlLFcpJiYoIW4udmlkZW9EYXRhLlJvfHwhbi5wbGF5ZXJTdGF0ZS5OKDE2KSkpPyhuLmUyKCksITApOiExfTsKaDU9ZnVuY3Rpb24obixXKXtuLkIuUygiaHRtbDVfbG9nX3JlYnVmZmVyX3JlYXNvbiIpJiYoVz17cjpXLGxhY3Q6Zy52SSgpfSxuLm1lZGlhRWxlbWVudCYmKFcuYmg9bi5tZWRpYUVsZW1lbnQuenMoKSksbi5VKCJidWZyZWFzb24iLFcpKX07CnFhVT1mdW5jdGlvbihuKXtuLkJYLm9uUHJvZ3Jlc3MoKTtpZihnLkRQKG4udmlkZW9EYXRhKSYmRGF0ZS5ub3coKT5uLmhhKzYyODMpe2lmKG4udmlkZW9EYXRhLk4mJiFFayhuLnZpZGVvRGF0YS5OKSl7dmFyIFc9bi5CWDtpZihXLnFvZSl7Vz1XLnFvZTt2YXIgRD1XLnByb3ZpZGVyLkwuSEsoKSxiPWcuUmsoVy5wcm92aWRlcik7VnUoVyxiLEQpO2xldCB2PUQuVztEPUQuWDtpc05hTih2KXx8KCFpc05hTihEKSYmRD9nLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKSxELnRvRml4ZWQoMyldKTpnLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKV0pKX19Vz1nLkdsKG4uQik7Yj1uLlMoImh0bWw1X2Fsd2F5c19sb2dfcmF3bGF0Iik7KFd8fGIpJiZuLlUoInJhd2xhdCIse2w6Wjcobi5GNSwicmF3bGl2ZWxhdGVuY3kiKS50b0ZpeGVkKDMpfSk7bi5oYT1EYXRlLm5vdygpfW4udmlkZW9EYXRhLkomJm4udmlkZW9EYXRhLkouVygpJiYoVz1uLlVKKCkpJiZXLnZpZGVvSGVpZ2h0IT09Cm4uejEmJihuLnoxPVcudmlkZW9IZWlnaHQsdVYobiwiYSIsYXZaKG4sbi52aWRlb0RhdGEuY0opKSl9OwpHcU09ZnVuY3Rpb24obil7aWYobi5CLldYKCkpe24uQkYuc29ydCgoVyxEKT0+K1cucnQtK0QucnQpOwpmb3IobGV0IFcgb2Ygbi5CRiluLlUoInZwZSIsT2JqZWN0LmFzc2lnbih7dDpXLnJ0fSxXKSk7bi5CRj1bXTtuLmtRPTB9fTsKenBpPWZ1bmN0aW9uKG4sVyl7bi5tUS50aWNrKCJ2dGEiKTtnLmdfKCJ2dGEiLHZvaWQgMCwidmlkZW9fdG9fYWQiKTtuLmdldEN1cnJlbnRUaW1lKCk+MCYmUnlpKG4uZGEsbi5nZXRDdXJyZW50VGltZSgpKTtuLm1lZGlhRWxlbWVudC5EKFcpO24ubWVkaWFTb3VyY2UmJmJRKDQpOyFuLnZpZGVvRGF0YS5ZJiZuLnBsYXllclN0YXRlLmlzT3JXaWxsQmVQbGF5aW5nKCkmJm4uQl8uc3RhcnQoKTtuQkMobikmJihXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpKSYmKFcub25hZGR0cmFjaz0oKT0+e3ZCMihuKX0sVy5vbnJlbW92ZXRyYWNrPSgpPT57dkIyKG4pfSxXLm9uY2hhbmdlPSgpPT57bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsbi52aWRlb0RhdGEsITApfSl9Owp0aVM9ZnVuY3Rpb24obil7bj1uLmFwaS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO249bi5pc0N1ZWQoKXx8bi5pc0Vycm9yKCk/Im5vbmUiOm4uaXNPcldpbGxCZVBsYXlpbmcoKT8icGxheWluZyI6InBhdXNlZCI7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlPW59OwokZ0M9ZnVuY3Rpb24obil7aWYobi5OKWlmKG4uYXBpLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXRyeXt4UCh7ZHVyYXRpb246SW5maW5pdHl9KX1jYXRjaChXKXt4UCgpfWVsc2V7aWYobi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnpLKCkpe2xldCBXPW4uYXBpLmdldFByb2dyZXNzU3RhdGUoKS5zZWVrYWJsZUVuZCxEPU1hdGgubWluKG4uYXBpLmdldEN1cnJlbnRUaW1lKCksVyk7aWYoVyYmTnVtYmVyLmlzRmluaXRlKEQpKXt4UCh7ZHVyYXRpb246VyxwbGF5YmFja1JhdGU6bi5hcGkuZ2V0UGxheWJhY2tSYXRlKCkscG9zaXRpb246RH0pO3JldHVybn19eFAoKX19OwpMYT1mdW5jdGlvbihuLFcpe3RyeXtuYXZpZ2F0b3IubWVkaWFTZXNzaW9uLnNldEFjdGlvbkhhbmRsZXIobixXKX1jYXRjaChEKXt9fTsKclBoPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKCFufHwhbi50aHVtYm5haWxzKXJldHVybiBXO2ZvcihsZXQgRCBvZiBuLnRodW1ibmFpbHMpRC51cmwmJighRC53aWR0aHx8RC53aWR0aDw9MHx8IUQuaGVpZ2h0fHxELmhlaWdodDw9MHx8Zy5qSShELnVybCkmJlcucHVzaCh7c3JjOkQudXJsfHwiIixzaXplczpgJHtELndpZHRofXgke0QuaGVpZ2h0fWAsdHlwZToiaW1hZ2UvanBlZyJ9KSk7cmV0dXJuIFd9OwpzVVM9ZnVuY3Rpb24obil7TGEoInBsYXkiLCgpPT57bi5hcGkucGxheVZpZGVvKCk7ZWwobil9KTsKTGEoInBhdXNlIiwoKT0+e24uYXBpLnBhdXNlVmlkZW8oKTtlbChuKX0pOwpMYSgic2Vla2JhY2t3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSgtNSpuLmFwaS5nZXRQbGF5YmFja1JhdGUoKSk7ZWwobil9KTsKTGEoInNlZWtmb3J3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSg1Km4uYXBpLmdldFBsYXliYWNrUmF0ZSgpKTtlbChuKX0pOwpMYSgic2Vla3RvIixXPT57Vz1XLnNlZWtUaW1lO1chPW51bGwmJm4uYXBpLnNlZWtUbyhXKTtlbChuKX0pfTsKZWw9ZnVuY3Rpb24obil7bi5hcGkuUygid2ViX3Jlc2V0X2xhY3Rfb25fbWVkaWFfYWN0aW9ucyIpJiZuLmFwaS51cGRhdGVMYXN0QWN0aXZlVGltZSgpfTsKeFA9ZnVuY3Rpb24obil7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5zZXRQb3NpdGlvblN0YXRlKG4pfTsKcGFNPWZ1bmN0aW9uKG4pe2lmKG49bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LmdldFBsYXllclJlc3BvbnNlKCk/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKWlmKG49Zy53KG4uY29tcG9zaXRlVmlkZW9PdmVybGF5LE5LeCksbj8uc291cmNlcz8ubGVuZ3RoKWZvcihsZXQgVyBvZiBuPy5zb3VyY2VzKWlmKFcuaXNBY3RpdmUpcmV0dXJuIFd9OwpnOT1mdW5jdGlvbihuKXtuLk49dm9pZCAwO24uVy5jbGVhcigpO24uYXBpLk5wKCJjb21wb3NpdGVlbWJhcmdvIiwxKX07ClhZPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tSZWxhdGl2ZVBvc2l0aW9uPy51dGNUaW1lTXMpLzFFMztsZXQgYj1XK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSx2PWBjb21wb3NpdGVfZW1iYXJnb18ke1d9YDtpZihELm9uRW50ZXIpe2xldCBrPUQub25FbnRlci5maWx0ZXIobi5WKTtrLmxlbmd0aCYmKG4uVy5zZXQodixrKSxuLmFwaS5hZGRVdGNDdWVSYW5nZSh2LFcsYiwiY29tcG9zaXRlZW1iYXJnbyIsITEpKX19fTsKSDR0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPy5pZCE9PVcuaWQmJihuLmFwaS5xVyghMCksbi5XLmhhcyhXLmlkKSkpe3ZhciBEPW4uVy5nZXQoVy5pZCksYj1uLmFwaS5nZXRWaWRlb0RhdGEoKTtmb3IobGV0IHYgb2YgRClEPXYuY29tcG9zaXRlRW1iYXJnbz8uZW1iYXJnb1N0YXR1c1Rva2VuLGIucFIhPT1EJiYoYi5wUj1ELG4uYXBpLm5DKCkpLFlhVShuLFcpfX07CmZwaT1mdW5jdGlvbihuLFcpe2lmKG4uTj8uaWQ9PT1XLmlkJiYobi5hcGkucVcoITEpLG4uVy5oYXMoVy5pZCkpKXtpZihXPW4uYXBpLmdldFZpZGVvRGF0YSgpKVcucFI9dm9pZCAwO24uYXBpLm5DKCk7WWFVKG4pfX07CkpQTT1mdW5jdGlvbihuLFcpe24uY29tcG9zaXRlVmlkZW9TdGF0ZSE9PW51bGwmJihXLnBsYXliYWNrU3RhdGV8fChXLnBsYXliYWNrU3RhdGU9e30pLFcucGxheWJhY2tTdGF0ZS5jb21wb3NpdGVWaWRlb1N0YXRlPW4uY29tcG9zaXRlVmlkZW9TdGF0ZSl9OwpJcEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uYXBpLmdldFZpZGVvRGF0YSh7dm86ITF9KTtiPy5VKCJhdHJrY2hnIix7aWQ6VyxtOkR9KTtpZihiJiYhYi5JTSgpKXtEPW4uYXBpLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7Zm9yKGxldCB2IG9mIEQpaWYodi5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Vyl7bi5hcGkuRygpLkhKPVc7YnJlYWt9fX07ClNhTT1mdW5jdGlvbihuLFcpe1chPT1uLksmJihuLks9VyxuLkouSigpLFcmJihuLkouTk4obi5hcGksIm1vZHVsZWNyZWF0ZWQiLEQ9Pnt2YXIgYj1wYU0obik7RD09PSJjYXB0aW9ucyImJmI/LnRvcExlZnRDb3JuZXJYIT09dm9pZCAwJiZiPy50b3BMZWZ0Q29ybmVyWSE9PXZvaWQgMCYmYj8ud2lkdGghPT12b2lkIDAmJmI/LmhlaWdodCE9PXZvaWQgMCYmbi5hcGkuVG4oe3RvcDpiLnRvcExlZnRDb3JuZXJZLHJpZ2h0OjEtYi50b3BMZWZ0Q29ybmVyWC1iLndpZHRoLGJvdHRvbToxLWIudG9wTGVmdENvcm5lclktYi5oZWlnaHQsbGVmdDpiLnRvcExlZnRDb3JuZXJYfSl9KSxuLkouTk4obi5hcGksZy5veSgiY29tcG9zaXRlZW1iYXJnbyIpLEQ9PntINHQobixEKX0pLG4uSi5OTihuLmFwaSxnLmR2KCJjb21wb3NpdGVlbWJhcmdvIiksRD0+e2ZwaShuLEQpfSksbi5KLk5OKG4uYXBpLCJoZWFydGJlYXRSZXF1ZXN0IixEPT57SlBNKG4sRCl9KSxuLkouTk4obi5hcGksImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiLAooRCxiKT0+e0lwQyhuLEQsYil9KSxuLkouTk4obi5hcGksIm9uUGxheWJhY2tBdWRpb0NoYW5nZSIsKCk9PntuLmFwaS5uQygpfSkpKX07CllhVT1mdW5jdGlvbihuLFcpe24uTj8uaWQhPT1XPy5pZCYmKG4uTiYmKG4uVy5kZWxldGUobi5OLmlkKSxuLmFwaS5VTyhbbi5OXSwxKSksbi5OPVcpfTsKQVAyPWZ1bmN0aW9uKG4pe249bj8ucXVhbGl0eURldGFpbHN8fFtdO3JldHVybiBnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKT9uOm4ucmVkdWNlKChXLHtrZXk6RCx2YWx1ZTpifSk9PntEJiZiJiYoV1tEXT1iKTtyZXR1cm4gV30se30pfTsKbWdoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVc/MTU2NTk1OjE1MTg3NDtmb3IobGV0IGggb2Ygbil7dmFyIGs9aC52aWRlbztuPXtmb3JtYXRJZDpoLmlkLHF1YWxpdHlMYWJlbDprLnF1YWxpdHlMYWJlbCxxdWFsaXR5OmsucXVhbGl0eSxpc1BsYXlhYmxlOld9O2lmKGs9RFtrLnF1YWxpdHlMYWJlbF0pbi5wYXlnYXRlZFF1YWxpdHlEZXRhaWxzPXtwYXlnYXRlZEluZGljYXRvclRleHQ6ay5wYXlnYXRlZEluZGljYXRvclRleHQsZW5kcG9pbnQ6ay5lbmRwb2ludCx2ZVR5cGU6dix0cmFja2luZ1BhcmFtczprLnRyYWNraW5nUGFyYW1zfTtiLnB1c2gobil9cmV0dXJuIGJ9OwpPNEM9ZnVuY3Rpb24obil7cVQoKSYmKG4ubVE9bi5hcGkuZUcoKSxuLk49bmV3IFk2LG4uVz0yLG4ubVEuU2woInB0X3Bpc2giKSx3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz93aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+e0sxVShuKX0pOksxVShuKSl9OwpxVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuYW5kcm9pZCYmd2luZG93LmFuZHJvaWQud2VidmlldyYmd2luZG93LmFuZHJvaWQud2Vidmlldy5nZXRFeHBlcmltZW50YWxNZWRpYUludGVncml0eVRva2VuUHJvdmlkZXJ9OwpLMVU9ZnVuY3Rpb24obil7aWYocVQoKSl7bi5tUT1uLmFwaS5lRygpO24ubVEuU2woInB0X3BpcyIpO3RyeXt3aW5kb3cuYW5kcm9pZC53ZWJ2aWV3LmdldEV4cGVyaW1lbnRhbE1lZGlhSW50ZWdyaXR5VG9rZW5Qcm92aWRlcih7Y2xvdWRQcm9qZWN0TnVtYmVyOjg2ODYxODY3Njk1Mn0pLnRoZW4oVz0+e24uSj1XO24uTj8ucmVzb2x2ZSgpO24ubVEuU2woInB0X3BpZiIpfSkuY2F0Y2goVz0+e0dHKFcsInBsYXllcl9zdGFydCIpOwpuLm1RLlNsKCJwdF9waWUiKTtuLk4/LnJlamVjdChXKX0pfWNhdGNoKFcpe0dHKFcsInBsYXllcl9zdGFydF9jYXRjaCIpLG4uYXBpLlUoInBmZXMiLHt9KSxuLk4/LnJlamVjdChXKX19fTsKR0c9ZnVuY3Rpb24obixXKXtuLm1lc3NhZ2UmJmcuR3EoRXJyb3IoYCR7V31fJHtuLm1lc3NhZ2V9YCkpfTsKUGd4PWZ1bmN0aW9uKG4sVyl7aWYobi5KKXt2YXIgRD1XLnZpZGVvSWQ7bi5XPTM7bi5tUS5TbCgicHRfbXMiKTt0cnl7bi5KLnJlcXVlc3RUb2tlbihEKS50aGVuKGI9PntuLm1RLlNsKCJwdF9tZiIpO2lmKGI9Zy5kMShiKSlXLnpmPXtZdDpifX0pLmNhdGNoKGI9PntuLm1RLlNsKCJwdF9tZSIpOwpHRyhiLCJwbGF5ZXJfZ2VuZXJhdGUiKTtuLmhhbmRsZUVycm9yKGIsVyl9KX1jYXRjaChiKXtHRyhiLCJwbGF5ZXJfZ2VuZXJhdGVfY2F0Y2giKSxuLmhhbmRsZUVycm9yKGIsVyl9fX07Clo0eD1mdW5jdGlvbihuLFcpe2cueDYobi5hcGkuRygpKSYmKFc/bi5qLnNob3coKTpuLmouaGlkZSgpKX07CnlQaj1mdW5jdGlvbihuKXtuLlg8bi5KLmxlbmd0aD9VZzIobik6KG4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KDEpLk4oMikmJihuLlY9ITApLG4uTj0hMCxuLlg9MCxuLkoubGVuZ3RoPTAsbi5hcGkuWDkoKSxuLk49ITEpfTsKRUJDPWZ1bmN0aW9uKG4pe3ZhciB7aW50ZXJzdGl0aWFsczpXfT1uLmFwaS5nZXRWaWRlb0RhdGEoKSxEPVtdO2ZvcihsZXQgTCBvZiBXKXtXPUQ7dmFyIGI9Vy5wdXNoLHY9bixrPUwucGxheWVyVmFycyxoPUwua3EseD1MLnRpbWU7bGV0IGU9YHl0by0ke3YuWSsrfWA7eD1uZXcgZy5sNSh4LHgse2lkOmUscHJpb3JpdHk6NyxuYW1lc3BhY2U6Inl0byJ9KTt2LktbZV09e3BsYXllclZhcnM6ayxwbGF5ZXJUeXBlOmh9O2IuY2FsbChXLHgpO1c9bi5hcGkuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KTtXPU9iamVjdC5hc3NpZ24oe29hdXRoX3Rva2VuOlcub2F1dGhUb2tlbn0sTC5wbGF5ZXJWYXJzKTtuLmFwaS5wcmVsb2FkVmlkZW9CeVBsYXllclZhcnMoVyxMLmtxKX1uLmFwaS5naChELDEpfTsKVWcyPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSltuLlhdO2lmKFcpe3ZhciB7cGxheWVyVmFyczpELHBsYXllclR5cGU6Yn09bi5LW1ddO24uTj0hMDtuLlgrKztXPW4uYXBpLmdldFZpZGVvRGF0YSh7cGxheWVyVHlwZToxfSk7Vz1PYmplY3QuYXNzaWduKHtvYXV0aF90b2tlbjpXLm9hdXRoVG9rZW59LEQpO24uYXBpLmxvYWRWaWRlb0J5UGxheWVyVmFycyhXLCEwLGIsITApO24uTj0hMX19OwpvQnI9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7aWYoYXdhaXQgaTRVKG4pKXRyeXtsZXQgdj17a2V5Om5mKFcsInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSIpLHZpZGVvSWQ6VyxsYXN0UGxheWJhY2tQb3NpdGlvblNlY29uZHM6RC50b1N0cmluZygpLGxhc3RVcGRhdGVkQ2xpZW50VGltZXN0YW1wTXM6Yi50b1N0cmluZygpfTthd2FpdCBweXQobi5OLHYpO24uSiE9PVcmJihhd2FpdCB1angobiksbi5KPVcpfWNhdGNoKHYpe24uaGFuZGxlRXJyb3IoIkZhaWxlZCB0byBhZGQgb3IgdXBkYXRlIHBsYXliYWNrIHBvc2l0aW9uIix2KX1lbHNlIG4uYXBpLlUoInZwcGUiLHtwdToiYXUifSl9OwpkZ3c9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvSWQ7aWYoVyl7dmFyIEQ9bi5hcGkuZ2V0Q3VycmVudFRpbWUoKSxiPURhdGUubm93KCk7b0JyKG4sVyxELGIpfX07Cmk0VT1hc3luYyBmdW5jdGlvbihuKXtpZighbi5OKXt0NXx8KHQ1PUk5MigpKTtsZXQgVz1hd2FpdCB0NTtpZighVylyZXR1cm4hMTtuLk49V31yZXR1cm4hMH07CnVqeD1hc3luYyBmdW5jdGlvbihuKXtpZihuLk4pdHJ5e3ZhciBXPWF3YWl0IFVlKG4uTiwidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IiksRD1hd2FpdCBVZShuLk4sIm1haW5WaWRlb0VudGl0eSIpO2xldCBiPW5ldyBTZXQoRC5tYXAoaD0+aC52aWRlb0lkKSksdj1XLmZpbHRlcihoPT4hYi5oYXMoaC52aWRlb0lkKSk7CnYuc29ydCgoaCx4KT0+TnVtYmVyKHgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcyktTnVtYmVyKGgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcykpOwpsZXQgaz1EYXRlLm5vdygpLTg2NEU1O1c9W107Zm9yKEQ9MDtEPHYubGVuZ3RoO0QrKyl7bGV0IGg9dltEXTsoRD49bi5XfHxOdW1iZXIoaC5sYXN0VXBkYXRlZENsaWVudFRpbWVzdGFtcE1zKTxrKSYmaC5rZXkmJlcucHVzaChoLmtleSl9Vy5sZW5ndGg+MCYmKG4uYXBpLlUoInZwcGUiLHtleHA6Vy5sZW5ndGh9KSxhd2FpdCBIaHcobi5OLFcpKX1jYXRjaChiKXtuLmhhbmRsZUVycm9yKCJGYWlsZWQgdG8gZXhwaXJlIHBsYXliYWNrIHBvc2l0aW9uIixiKX19Owp6TFo9ZnVuY3Rpb24obil7L1teYS16QS1aMC05Oy4hXy1dLy50ZXN0KG4pJiYobj1uLnJlcGxhY2UoL1srXS9nLCItIikucmVwbGFjZSgvW15hLXpBLVowLTk7LiFfLV0vZywiXyIpKTtyZXR1cm4gbn07CmxwMj1mdW5jdGlvbihuKXtyZXR1cm4gd2luZG93LlByb2ZpbGVyJiZuZXcgd2luZG93LlByb2ZpbGVyKG4pfTsKalVVPWZ1bmN0aW9uKG4pe3ZhciBXPW4uc2FtcGxlSW50ZXJ2YWwsRD1uLm1heEJ1ZmZlclNpemU7aWYoIW4ucU4oKSYmVz4wJiZEPjAmJiFuLk4mJm4uVzwxRTcpdHJ5e24uWD1scDIoe3NhbXBsZUludGVydmFsOlcsbWF4QnVmZmVyU2l6ZTpEfSksbi5YPy5hZGRFdmVudExpc3RlbmVyKCJzYW1wbGVidWZmZXJmdWxsIixhc3luYygpPT57YXdhaXQgVEt3KG4pO2pVVShuKX0pfWNhdGNoKGIpe24uTj16TFooYi5tZXNzYWdlKSxuLkooKX19OwpUS3c9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2xldCBXPWF3YWl0IG4uWD8uc3RvcCgpO1cmJm4ubG9nVHJhY2UoVyl9Y2F0Y2goVyl7bi5OPXpMWihXLm1lc3NhZ2UpLG4uSigpfX07ClJMdD1mdW5jdGlvbihuLFcsRCl7aWYoRCl7dmFyIGI9IiI7Q2d0KG4sVykmJihiPVcsbi5hcGkuRygpLkhKPVcpO2ImJkJLQyhuLGIpJiYodnRDKG4uYXBpLGIpLFNrKGZFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKT8uVigpKSx2PT57dmFyIGs9YjtGMXcodikhPT1rJiZ3YVMobixNaWkodikse3N0cmluZ1ZhbHVlOmt9KX0pKX19OwpRVVo9ZnVuY3Rpb24obil7QXMoKT8uc2l6ZSYmU2soZkUobi5hcGkuRygpLG4uYXBpLmdldFZpZGVvRGF0YSgpPy5WKCkpLFc9PnsoVz1GMXcoVykpJiZCS0MobixXKSYmKG4uYXBpLkcoKS5ISj1XKX0pfTsKQ2d0PWZ1bmN0aW9uKG4sVyl7bj1uLmFwaS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2ZvcihsZXQgRCBvZiBuKWlmKEQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PVcpcmV0dXJuIEQ7cmV0dXJuIG51bGx9OwpCS0M9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zcGxpdCgiLiIpWzBdIT09IiImJm4uYXBpLmdldFZpZGVvRGF0YSgpPy5JTSgpfTsKRjF3PWZ1bmN0aW9uKG4pe3tuPU1paShuKTtsZXQgVz1BcygpO249Vz9XLmdldChuKTp2b2lkIDB9cmV0dXJuIG4mJm4uc3RyaW5nVmFsdWU/bi5zdHJpbmdWYWx1ZToiIn07CndhUz1mdW5jdGlvbihuLFcsRCl7VmliKFt7c2V0dGluZ0l0ZW1JZDpXLHNldHRpbmdPcHRpb25WYWx1ZTpEfV0pO1NrKG4uWW8oKSxiPT57QkdNKGIsVyxEKX0pfTsKTWlpPWZ1bmN0aW9uKG4pe3ZhciBXPSg0ODQpLnRvU3RyaW5nKCk7biYmKFc9KDQ4MykudG9TdHJpbmcoKSk7cmV0dXJuIFd9OwpWaWI9ZnVuY3Rpb24obil7dmFyIFc9QXMoKTtXfHwoVz1uZXcgTWFwKTtmb3IobGV0IEQgb2YgbilXLnNldChELnNldHRpbmdJdGVtSWQsRC5zZXR0aW5nT3B0aW9uVmFsdWUpO249SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKFcpKTtnLlBCKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIsbiwyNTkyRTMpfTsKcjk9ZnVuY3Rpb24obil7bi5qPW51bGw7bi5LPW51bGw7bi5OTigkUCgib3ZlciIpLG4uWjEpO24uTk4oInRvdWNoc3RhcnQiLG4uWSk7bi5OJiZuLk5OKCRQKCJkb3duIiksbi5WUSl9Owpzcj1mdW5jdGlvbihuKXtuLlguSighbi5OKX07CiRQPWZ1bmN0aW9uKG4pe3JldHVybiB3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQ/YE1TUG9pbnRlciR7bi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke24uc3Vic3RyaW5nKDEpfWA6YG1vdXNlJHtufWB9OwpOVD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmY1BiP2cuSksobil8fGRvY3VtZW50OmRvY3VtZW50fTsKYXB4PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEPTA7RDxXLmNoYW5nZWRUb3VjaGVzLmxlbmd0aDtEKyspe2xldCBiPVcuY2hhbmdlZFRvdWNoZXNbRF07aWYoYi5pZGVudGlmaWVyPT09bi5LKXJldHVybiBifXJldHVybiBudWxsfTsKblZyPWZ1bmN0aW9uKG4pe2NQYj1ufTsKV3F4PWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVyl7Vz1OdW1iZXIoYi5wbGF5YmFja1JlbGF0aXZlUG9zaXRpb24/LnV0Y1RpbWVNcykvMUUzO2xldCB2PVcrTnVtYmVyKGIuZHVyYXRpb24/LnNlY29uZHMpLGs9YHN0YXRpb25zOiR7RH06JHtXfWA7bi5KLmhhcyhrKXx8KG4uSi5hZGQoayksYi5vbkVudGVyJiYobi5OW2tdPWIub25FbnRlciksbi5hcGkuYWRkVXRjQ3VlUmFuZ2UoayxXLHYsRCwhMSkpfX07CkpKPWZ1bmN0aW9uKG4pe3ZhciBXPS9jb2RlY3M9IihbXiJdKikiLy5leGVjKG4ubWltZVR5cGUpO3JldHVybiBXJiZXWzFdP1dbMV0rIiAoIituLml0YWcrIikiOm4uaXRhZ307CnBhPWZ1bmN0aW9uKG4sVyl7aWYobi5oZWlnaHRQeD09PS0xKXt2YXIgRD1udWxsO3RyeXtEPWcuekYoIkNBTlZBUyIpLG4uVz1ELmdldENvbnRleHQoIjJkIil9Y2F0Y2goaCl7fWlmKG4uVyl7dmFyIGI9bi5OKm4uc2FtcGxlQ291bnQ7bi5qPUQ7bi5qLndpZHRoPWI7bi5qLnN0eWxlLndpZHRoPWAke2J9cHhgO24uZWxlbWVudC5hcHBlbmRDaGlsZChuLmopfWVsc2UgZm9yKG4uc2FtcGxlQ291bnQ9TWF0aC5mbG9vcihuLnNhbXBsZUNvdW50LzQpLG4uTio9NCxEPTA7RDxuLnNhbXBsZUNvdW50O0QrKyliPWcuekYoIlNQQU4iKSxiLnN0eWxlLndpZHRoPWAke24uTn1weGAsYi5zdHlsZS5sZWZ0PWAke24uTipEfXB4YCxuLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYil9RD1uLmVsZW1lbnQuY2xpZW50SGVpZ2h0fHwyNDtEIT09bi5oZWlnaHRQeCYmKG4uaGVpZ2h0UHg9RCxuLlcmJihEPSh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk+MT8yOjEsbi5qLmhlaWdodD1uLmhlaWdodFB4KgpELG4uai5zdHlsZS5oZWlnaHQ9YCR7bi5oZWlnaHRQeH1weGAsbi5XLnNjYWxlKDEsRCkpKTtmb3IodmFyIHYgb2YgVyl7Vz1uO3ZhciBrPW4uaW5kZXg7Zm9yKEQ9MDtEKzI8Vy5WLmxlbmd0aCYmVy5WW0QrMV08djspRCsrO2I9TWF0aC5taW4oMSwodi1XLlZbRF0pLyhXLlZbRCsxXS1XLlZbRF0pKTtpZihXLlcpVy5XLmZpbGxTdHlsZT1XLktbRF0sVy5XLmZpbGxSZWN0KGsqVy5OLDAsVy5OLFcuaGVpZ2h0UHgpLFcuVy5maWxsU3R5bGU9Vy5LW0QrMV0sVy5XLmZpbGxSZWN0KGsqVy5OLFcuaGVpZ2h0UHgqKDEtYiksVy5OLFcuaGVpZ2h0UHgpO2Vsc2V7az1XLmVsZW1lbnQuY2hpbGRyZW5ba107bGV0IGg9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7Yj1NYXRoLm1pbihXLmhlaWdodFB4LE1hdGgucm91bmQoVy5oZWlnaHRQeCpiKmgpL2gpfHwwO2suc3R5bGUuaGVpZ2h0PWAke2J9cHhgO2suc3R5bGUuYmFja2dyb3VuZENvbG9yPVcuS1tEKzFdO2suc3R5bGUuYm9yZGVyVG9wPQpgc29saWQgJHtXLmhlaWdodFB4LWJ9cHggJHtXLktbRF19YH1uLmluZGV4PShuLmluZGV4KzEpJW4uc2FtcGxlQ291bnR9dj1uLmluZGV4O24uVz9uLlcuY2xlYXJSZWN0KHYqbi5OLDAsbi5OLG4uaGVpZ2h0UHgpOihuPW4uZWxlbWVudC5jaGlsZHJlblt2XSxuLnN0eWxlLmhlaWdodD0iMHB4IixuLnN0eWxlLmJvcmRlclRvcD0iIil9OwpiQng9ZnVuY3Rpb24obixXKXt2YXIgRD0hIW4uTj8uRTUoKTtuLk58fChuLk49bmV3IERRTShuLmFwaSksZy51KG4sbi5OKSxnLnJ2KG4uYXBpLG4uTi5lbGVtZW50LDQpKTtuLk4uTUwoVyk7dmFyIGI9R3Uobi5hcGkuSjUoKSk7YiYmYi5sb2FkZWQmJkQhPT1XJiZiLm5HKCk7VyYmbi5hcGkuVSgic2ZuIix7fSwhMCl9Owp2VjI9ZnVuY3Rpb24obixXKXtpZihuLlc9PT12b2lkIDApcmV0dXJuITE7aWYoVy5zZWVrRGlyZWN0aW9uPT09IlRJTUVMWV9BQ1RJT05fVFJJR0dFUl9ESVJFQ1RJT05fRk9SV0FSRCImJk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzKXtpZihXPW4uVz09PTcyKW4uWD0iVElNRUxZX0FDVElPTl9UUklHR0VSX1NPVVJDRV9LRVlCT0FSRF9GT1JXQVJEX1NFRUtfRklWRV9TRUNPTkRTIjtyZXR1cm4gV31pZihXLnNlZWtEaXJlY3Rpb249PT0iVElNRUxZX0FDVElPTl9UUklHR0VSX0RJUkVDVElPTl9GT1JXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQpe2lmKFc9bi5XPT09NzQpbi5YPSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfU09VUkNFX0tFWUJPQVJEX0ZPUldBUkRfU0VFS19URU5fU0VDT05EUyI7cmV0dXJuIFd9cmV0dXJuIFcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmCk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzP24uVz09PTcxOlcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQ/bi5XPT09NzM6ITF9Owprd3c9ZnVuY3Rpb24obil7bi50aW1lbHlBY3Rpb25zJiYobi5qPW4udGltZWx5QWN0aW9ucy5yZWR1Y2UoKFcsRCk9PntpZihELmN1ZVJhbmdlSWQ9PT12b2lkIDApcmV0dXJuIFc7V1tELmN1ZVJhbmdlSWRdPTA7cmV0dXJuIFd9LHt9KSl9OwpZUD1mdW5jdGlvbihuKXtuLmNKJiZjbGVhclRpbWVvdXQobi5jSik7bi5jSj12b2lkIDA7bi5PPSExfTsKZmE9ZnVuY3Rpb24obil7aWYobi5OIT09dm9pZCAwKXt2YXIgVz0oVz1IOChuLG4uTikpJiZXLm9uQ3VlUmFuZ2VFbnRlcj9nLk40KFcub25DdWVSYW5nZUVudGVyKTp2b2lkIDA7dmFyIEQ9SDgobixuLk4pO2E6aWYoRCYmRC5hZGRpdGlvbmFsVHJpZ2dlcil7Zm9yKGIgb2YgRC5hZGRpdGlvbmFsVHJpZ2dlcilpZihiLnR5cGUmJigwLG4uYmRbYi50eXBlXSk/LihiLmFyZ3M/P3t9KSl7dmFyIGI9ITA7YnJlYWsgYX1iPSExfWVsc2UgYj0hMDtXJiZiJiYoZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsVyksaGJqKG4sRCksbi5qW24uTl0hPT12b2lkIDAmJm4ualtuLk5dKyssbi5PPSEwKX19OwpIOD1mdW5jdGlvbihuLFcpe2lmKG4udGltZWx5QWN0aW9ucylmb3IobGV0IEQgb2Ygbi50aW1lbHlBY3Rpb25zKWlmKEQuY3VlUmFuZ2VJZD09PVcpcmV0dXJuIER9Owp4UXc9ZnVuY3Rpb24obixXKXtpZigobj1IOChuLFcpKSYmbi5vbkN1ZVJhbmdlRXhpdClyZXR1cm4gZy5ONChuLm9uQ3VlUmFuZ2VFeGl0KX07Cmhiaj1mdW5jdGlvbihuLFcpe3ZhciBEPU51bWJlcihXPy5tYXhWaXNpYmxlRHVyYXRpb25NaWxsaXNlY29uZHMpO0QmJihZUChuKSxuLmNKPXNldFRpbWVvdXQoKCk9PntpZihuLk4hPT12b2lkIDAmJlc/LmN1ZVJhbmdlSWQ9PT1uLk4pe24uTz0hMTtuLlg9dm9pZCAwO3ZhciBiPXhRdyhuLG4uTik7YiYmZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsYil9fSxEKSl9Owp2YXIgZmFpPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtyZXR1cm4gaXBbSVsxMF1dKHRoaXMsNCw1ODg5LG4sVyxELGIsdixrKX07CmdWaD1mdW5jdGlvbihuKXtpZihuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSlpZihuPWcudyhuLnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnRpbWVseUFjdGlvbnNPdmVybGF5Vmlld01vZGVsLExxQyksbj8udGltZWx5QWN0aW9ucylyZXR1cm4gbj8udGltZWx5QWN0aW9ucy5tYXAoVz0+Zy53KFcsZWJyKSkuZmlsdGVyKFc9PiEhVyl9OwpKNT1mdW5jdGlvbihuKXtuLk4hPT1udWxsJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUjA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47KG48PDEmMTUpPT0yJiZEW0lbMjVdXSgpO2lmKChuLTh8MTcpPG4mJihuLTZeMjIpPj1uKXt2YXIgaD1EW2JdLHg9aFtJW2teNzM1NF1dKElba143MzA5XSk7eD4wP0VjKGteNzM1NSxrXjEyOTAsdixoW0lba143MzU5XV0oMCx4KSxoW0lba143MzU5XV0oeCsxKSk6aCYmKHZbaF09SVtrXjczNTddKTt2YXIgTD1bXX1pZigobiYyNyk9PW4pe2lmKCEoZ1goRFtJW2teNzUzMl1dKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0OTBdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0NzZdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc1MzNdKSkpdGhyb3cgbmV3IGcuUXgoSVtrXjc0ODBdLERbSVtrXjc1MzJdXSk7aD1scihEW0lba143NTMyXV0pO0RbSVtrXjc1MjddXT1oW0lba143NTQwXV07RFtJW2teNzUxNF1dPWhbSVsxXV0rKGhbSVtrXjc1MDhdXSE9bnVsbD9gOiR7aFtJW2teNzUwOF1dfWA6Cklba143NTI4XSk7eD1oW0lba143NTMyXV07eFtJW2teNzUxOF1dKElba143NTM4XSk/KERbSVtrXjc1MjFdXT1JW2teNzUzOF0seD14W0lba143NTMwXV0oa143NTM5KSk6eFtJW2teNzUxOF1dKElba143NTIzXSk/KERbSVtrXjc1MjFdXT1JW2teNzUyM10seD14W0lba143NTMwXV0oa143NTM2KSk6eFtJW2teNzUxOF1dKElba143NDc1XSk/KHg9aXAoa143NTI5LGteODgwLHgsRCkseD14WzBdKTooRFtJW2teNzUyMV1dPXgseD1JW2teNzUyOF0pO3ZhciBlPURbSVsxXV07RFtJWzFdXT1pcChrXjc1MzMsa143NzcxLHgpO09iamVjdFtJW2teNzUzOV1dKERbSVsxXV0sZzcoMixrXjc1MDAsaFtJW2teNzUxNF1dW0lbMF1dKCkpKTtPYmplY3RbSVtrXjc1MzldXShEW0lbMV1dLGUpO0RbSVsxXV1bSVtrXjc0NzNdXT09PUlba143NTAxXSYmKGRlbGV0ZSBEW0lbMV1dW0lba143NDczXV0sRFtJW2teNzUyMV1dKz1JW2teNzQ4N10pO0RbSVtrXjc1MzJdXT1JW2teNzUyOF07RFtJW2teNzUyMF1dPQpJW2teNzUyOF07RFtJW2teNzU0MF1dJiYoaD1YRChrXjc0OTIsa14zMjg1LEQpKTtMPVtdfShuJjk5KT09biYmKGVYKGteMzQ4NSxrXjQ1NDIsRCksTD1EW0lba14zNTExXV0pO24rMyYxNXx8KEw9ZW5jb2RlVVJJQ29tcG9uZW50KEQpKTtyZXR1cm4gTH07ClhiaD1mdW5jdGlvbihuKXtKNShuKTtuLk49c2V0VGltZW91dCgoKT0+e24uaGlkZSgpfSwzRTMpfTsKSUc9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuVUooKTtpZihXKXtsZXQgRD1uLmFwaS5nZXRQbGF5ZXJTaXplKCk7Vy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke24uTipELndpZHRoKigxLW4uc2NhbGUpfXB4LCAke24uSipELmhlaWdodCooMS1uLnNjYWxlKX1weCkgc2NhbGUoJHtuLnNjYWxlfSlgO1cuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSIwIDAiO1c9bi5pbmRpY2F0b3I7Vy5XLnRleHRDb250ZW50PWAke051bWJlcihuLnNjYWxlLnRvRml4ZWQoMSkpfXhgO1cuTj09PW51bGwmJlhiaChXKTtuLnNjYWxlPjE/bi5pbmRpY2F0b3Iuc2hvdygpOm4uaW5kaWNhdG9yLmhpZGUoKTtXPW4uc2NhbGU+MT8iWk9PTV9TVEFURV9GUkVFIjoiWk9PTV9TVEFURV9PUklHSU5BTCI7VyE9PW4uem9vbVN0YXRlJiYobi56b29tU3RhdGU9VyxnLnpVKCJ3YXRjaFpvb21TdGF0ZUNoYW5nZSIse3pvb21TdGF0ZTpuLnpvb21TdGF0ZX0pKX19OwpxSDE9ZnVuY3Rpb24obil7bj1uLldEKCk7aWYoIW4pcmV0dXJuITE7bj1nLm9FKG4pLmV4cHx8IiI7cmV0dXJuIG4uaW5jbHVkZXMoInhwdiIpfHxuLmluY2x1ZGVzKCJ4cGUiKX07Ckd3VT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2Ygbi5OKCEwKSlpZihxSDEoVykpcmV0dXJuITA7cmV0dXJuITF9Owp0THg9ZnVuY3Rpb24obixXKXtmb3IobGV0IGIgb2Ygbi5OKCEwKSlpZihxSDEoYikpe249Yjt2YXIgRD17cG90YzoiMSIscG90Old9O24udXJsJiYobi51cmw9Zy56ZChuLnVybCxEKSl9fTsKJFF4PWFzeW5jIGZ1bmN0aW9uKG4pe3RyeXthd2FpdCBufWNhdGNoKFcpe319OwpybU09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHF3LEQ9e1siWC1Hb29nLUFwaS1LZXkiXToiQUl6YVN5RHlUNVcwSmg0OUYzMFBxcXR5ZmRmN3BETEZLTEpvQW53In07cmV0dXJuIG5ldyBmVihXLG4sKCk9PkQpfTsKc0xiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVEgobil9OwpOYmI9ZnVuY3Rpb24obil7bi5KJiYobi5YPW5ldyBZNixuLmoucHJvbWlzZS50aGVuKCgpPT57bi5tUS5TbCgicG90X2lmIik7U2wobil9KSl9OwpIQnc9ZnVuY3Rpb24obil7dmFyIFc9KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpfHxuLlMoImh0bWw1X2dlbmVyYXRlX2NvbnRlbnRfcG9fdG9rZW4iKSkmJiFuLnVzZUxpdmluZ1Jvb21Qb1Rva2VuO3RyeXtpZihuLlMoImh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlIil8fG4uYXBpLkcoKS5adCgpLk4uUVEocGJNKSlZSGkobik7ZWxzZSBpZihXKXtuLm1RLlNsKCJwb3RfaXNjIik7bGV0IEQ9Zy5kTShuLmFwaS5HKCkuZXhwZXJpbWVudHMsImh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXMiKTtEPyhBNShuKSxnLm4kKCgpPT57bUEobil9LEQpKTpuLlMoImh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iIik/KEE1KG4pLGcuY0IoZy5EeSgpLCgpPT57bUEobil9KSk6bUEobil9fWNhdGNoKEQpe0QgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShEKX19OwpZSGk9YXN5bmMgZnVuY3Rpb24obil7S2Eobiwic3dwb19pIik7QTUobik7U2wobik7dmFyIFc9YXdhaXQgZy5NaChnLkQ2KCkpO0thKG4sInN3cG9fY28iKTtXPWF3YWl0IFp0WihXKTtuLlMoImh0bWw1X3dlYl9wb190b2tlbl9kaXNhYmxlX2NhY2hpbmciKXx8Vy55aCgxNTApO24uSj1XO0thKG4sInN3cG9fY2MiKTskUXgoVy5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCk7S2Eobiwic3dwb19yZSIpfSk7CmcubiQoKCk9PnttQShuKTtLYShuLCJzd3BvX3NpIil9LDApfTsKQTU9ZnVuY3Rpb24obil7bi5XfHwobi5XPW5XKCkpfTsKbUE9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuRygpO24ubVEuU2woInBvdF9pc3QiKTtuLkp8fGZNMShuKTtuLlMoImh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW4iKXx8KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpJiYoU2wobiksTmJiKG4pKSxXPWcuZE0oVy5leHBlcmltZW50cywiaHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zIil8fDAsVz4wJiYobi5ZPVcwKCgpPT57U2wobil9LFcpKSxuLks9ITApfTsKSm14PWZ1bmN0aW9uKG4pe3ZhciBXPWcuWWgobi5leHBlcmltZW50cywiaHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5Iik7cmV0dXJuIFc/VzpnLms2KG4pPyJaMWVsTmtBS0xwU1Izb1BPVU1TTiI6Ik80M3owZHBqaGdYMjBTQ3g0S0FvIn07CkthPWZ1bmN0aW9uKG4sVyl7bi5TKCJodG1sNV93ZWJwb19iZ2VfY3RtcCIpJiZuLmFwaS5VKFcse2h3cG86ISFuLkosaHdwb3I6bi5OfSl9OwpTbD1hc3luYyBmdW5jdGlvbihuKXtpZihuLlMoImh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW4iKSYmIW4udXNlTGl2aW5nUm9vbVBvVG9rZW4pe3ZhciBXPW4uYXBpLkcoKSxEPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKXx8Zy5BcigiVklTSVRPUl9EQVRBIik7RD1XLllyP1cuZGF0YXN5bmNJZDpEO0Q9Zy5ZaChXLmV4cGVyaW1lbnRzLCJodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlbiIpfHxXLmxpdmluZ1Jvb21Qb1Rva2VuSWR8fEQ7Vy5qVz1PcihuLEQpfX07CmZNMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5HKCksRD1KbXgoVyk7RD1ybU0oRCk7dmFyIGI9RC5aai5iaW5kKEQpO0QuWmo9YXN5bmMgaz0+e2s9YXdhaXQgYihrKTtuLmFwaS5VKCJpdHIiLHt9KTtyZXR1cm4ga307CnRyeXt2YXIgdj1zTGIoe1VnOkQsa2Q6e21heEF0dGVtcHRzOjV9LHgzOntWajoiQ0xFbiIsZGlzYWJsZTpXLmV4cGVyaW1lbnRzLkVxKCJodG1sNV93ZWJfcG9fZGlzYWJsZV9yZW1vdGVfbG9nZ2luZyIpLEpwOlRwYihXLmV4cGVyaW1lbnRzKSxybzpoPT57dmFyIHg9SU0yLmdldChoKTt4fHwoeD1uZXcgU0hpKGgpLHg9bmV3IGhxKHgpLElNMi5zZXQoaCx4KSk7cmV0dXJuIHh9LApSaTpuLlMoIndwb19kaXNfbGZkbXMiKT8wOjFFM30sdDY6Zy5HcX0pO2xldCBrPW5ldyBBbXQoe08xOnYsVWc6RCxvbkVycm9yOmcuR3F9KTskUXgoay5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCl9KTsKbi5TKCJodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nIil8fGsueWgoMTUwKTtnLnUobix2KTtnLnUobixrKTtuLko9a31jYXRjaChrKXtnLkdxKGspLHY/LmRpc3Bvc2UoKX19OwpPcj1mdW5jdGlvbihuLFcpe2lmKCFuLkope2lmKG4uVyl0cnl7cmV0dXJuIG4uVyhXKX1jYXRjaChEKXtnLkdxKEQpfXJldHVybiIifXRyeXtuLm1RLlNsKG4uTj8icG90X2NtcyI6InBvdF9jc21zIik7bGV0IEQ9e0dyOiEwLEVSOiEwLHdfOld9O24uUygiaHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZyIpfHwoRC5oRz17YW06VyxBQjohMCxyMzohMH0pO2xldCBiPW4uSi5aUihEKTtuLm1RLlNsKG4uTj8icG90X2NtZiI6InBvdF9jc21mIik7bi5OJiYobi5YPy5yZXNvbHZlKCksbi5YPW51bGwsbi5WJiYobi5WPSExLG4uYXBpLmFwcC5NTigpLmpEKCExKSkpO3JldHVybiBifWNhdGNoKEQpe3JldHVybiBnLkdxKEQpLCIifX07Cktxcj1mdW5jdGlvbihuKXt2YXIgVz1nLnFqKCk7bi5KJiZnLnhvKFcse05IOlFXLFlMOm1RU30pfTsKZy5QOD1mdW5jdGlvbihuLFcsRCl7Zy5hTCgicGJzIixXPz8oMCxnLlIpKCksRD8/bi50aW1lck5hbWUpfTsKZy5PQk09ZnVuY3Rpb24obixXLEQpe3ZhciBiPWcuQ04oVy55USkmJiFXLnlRLlg7aWYoVy55US5lViYmKEZWKFcueVEpfHxXLnlRLlk9PT0ic2hvcnRzcGFnZSJ8fFcueVEuWT09PSJsZWFuYmFjayJ8fGIpJiYhbi5XKXtuLlc9ITA7bi5WPVcuY2xpZW50UGxheWJhY2tOb25jZTtnLkFyKCJUSU1JTkdfQUNUSU9OIil8fGcuU0goIlRJTUlOR19BQ1RJT04iLG4uQi5jc2lQYWdlVHlwZSk7bi5CLmNzaVNlcnZpY2VOYW1lJiZnLlNIKCJDU0lfU0VSVklDRV9OQU1FIixuLkIuY3NpU2VydmljZU5hbWUpO2lmKG4uTil7Yj1uLk4uZUcoKTtmb3IodmFyIHYgb2YgT2JqZWN0LmtleXMoYikpZy5hTCh2LGJbdl0sbi50aW1lck5hbWUpO3Y9UFYoQ0IpKG4uTi5Idik7Zy5ubCh2LG4udGltZXJOYW1lKTt2PW4uTjt2Lko9e307di5Idj17fX1nLm5sKHtwbGF5ZXJJbmZvOnt2aXNpYmlsaXR5U3RhdGU6UFYoakwpKCl9LHBsYXllclR5cGU6IkxBVEVOQ1lfUExBWUVSX0hUTUw1In0sbi50aW1lck5hbWUpOwpuLmohPT1XLmNsaWVudFBsYXliYWNrTm9uY2V8fE51bWJlci5pc05hTihuLkopfHwoZy52UCgiX3N0YXJ0IixuLnRpbWVyTmFtZSk/RD1QVihvTCkoIl9zdGFydCIsbi50aW1lck5hbWUpK24uSjpnLkdxKG5ldyBnLlF4KCJhdHRlbXB0ZWQgdG8gbG9nIGdhcGxlc3MgcGJzIGJlZm9yZSBDU0kgdGltZWxpbmUgc3RhcnRlZCIse2NwbjpXLmNsaWVudFBsYXliYWNrTm9uY2V9KSkpOyFEfHxnLnZQKCJwYnMiLG4udGltZXJOYW1lKXx8Vy5HU3x8Zy5QOChuLEQpfX07ClAkQz1mdW5jdGlvbihuKXtXUCgpO2NiKCJ3YXRjaCIsWyJwYnMiLCJwYnUiXSk7bi50aW1lck5hbWU9IiJ9OwpaQmo9ZnVuY3Rpb24obil7aWYobi5OKXt2YXIgVz1uLk47Vy5KPXt9O1cuSHY9e319bi5XPSExO24uaj12b2lkIDA7bi5KPU5hTn07ClVRaT1mdW5jdGlvbihuLFcpe3ZhciBEPSExLGI9bi5xdWV1ZS5maW5kSW5kZXgodj0+di5ncz09PVcpOwpiPj0wJiYobi5xdWV1ZS5zcGxpY2UoYiwxKSxEPSEwLFcucU4oKXx8Vy51bnN1YnNjcmliZSgicmVxdWVzdGNvbXBsZXRlZCIsbi5XLG4pLG4uVShXLCJkZXFfcXVldWUiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO2I9bi5KLmZpbmRJbmRleCh2PT52LmdzPT09Vyk7CmI+PTAmJihuLkouc3BsaWNlKGIsMSksRD0hMCxXLnFOKCl8fFcudW5zdWJzY3JpYmUoInJlcXVlc3Rjb21wbGV0ZWQiLG4uVyxuKSxuLlUoVywiZGVxX3dhaXQiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO3JldHVybiBEfTsKeW1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLnF1ZXVlKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtmb3IobGV0IFcgb2Ygbi5KKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtuLnF1ZXVlPVtdO24uSj1bXX07CkVWYj1mdW5jdGlvbihuLFcpe24uVShXLCJyZXFfbG9hZCIse3RjcG46Vy5XTigpfHwibm9uZSIsdHlwZToicHJlIn0pO2lmKCFuLnF1ZXVlLnNvbWUoYj0+Yi5ncz09PVcpJiYhbi5KLnNvbWUoYj0+Yi5ncz09PVcpKXt2YXIgRD17Z3M6VywKc3RhcnRlZDohMX07bi5xdWV1ZS5sZW5ndGg8bi5wb2xpY3kuTj9uLnF1ZXVlLnB1c2goRCk6KG4uSi5wdXNoKEQpLG4uVShXLCJ3YWl0Iix7dGNwbjpXLldOKCl8fCJub25lIn0pKTtuLlcoKX19OwppQlM9ZnVuY3Rpb24obil7dmFyIFc9bi5OP24uTi5XTigpfHwibm9uZSI6Im5vbmUiLEQ9bi5xdWV1ZS5tYXAoYj0+Yi5ncy5XTigpfHwibm9uZSIpLmpvaW4oIiwiKTsKcmV0dXJue3BjcG46Vyx3czpuLkoubGVuZ3RoLGNwbnM6RH19OwpaVD1mdW5jdGlvbihuKXtyZXR1cm4hIShuLnBsYXlsaXN0fHxuLmxpc3R8fG4uYXBpKX07Cml2PWZ1bmN0aW9uKG4sVyxELGIpe1c9VyE9PXZvaWQgMD9XOm4uaW5kZXg7Vz1uLml0ZW1zJiZXIGluIG4uaXRlbXM/bi5pdGVtc1tuLm9yZGVyW1ddXTpudWxsO3ZhciB2PW51bGw7VyYmKEQmJihXLmF1dG9wbGF5PSIxIiksYiYmKFcuYXV0b25hdj0iMSIpLHY9bmV3IGcuVXIobi55USxXKSxnLnUobix2KSx2Lk1kPSEwLHYuc3RhcnRTZWNvbmRzPW4uc3RhcnRTZWNvbmRzfHx2LmNsaXBTdGFydHx8MCxuLmxpc3RJZCYmKHYucGxheWxpc3RJZD1uLmxpc3RJZC50b1N0cmluZygpKSk7cmV0dXJuIHZ9Owp1QXQ9ZnVuY3Rpb24obixXKXtpZihXLnZpZGVvJiZXLnZpZGVvLmxlbmd0aCl7bi50aXRsZT1XLnRpdGxlfHwiIjtuLmRlc2NyaXB0aW9uPVcuZGVzY3JpcHRpb247bi52aWV3cz1XLnZpZXdzO24ubGlrZXM9Vy5saWtlcztuLmRpc2xpa2VzPVcuZGlzbGlrZXM7bi5hdXRob3I9Vy5hdXRob3J8fCIiO3ZhciBEPVcubG9vcDtEJiYobi5sb29wPUQpO0Q9aXYobik7bi5pdGVtcz1bXTtmb3IobGV0IGIgb2YgVy52aWRlbyliJiYoYi52aWRlb19pZD1iLmVuY3J5cHRlZF9pZCxuLml0ZW1zLnB1c2goYikpO24ubGVuZ3RoPW4uaXRlbXMubGVuZ3RoOyhXPVcuaW5kZXgpP24uaW5kZXg9VzpuLmZpbmRJbmRleChEKTtuLnNldFNodWZmbGUoITEpO24ubG9hZGVkPSEwO24uTiYmbi5OKCl9fTsKdXY9ZnVuY3Rpb24obixXKXtuLmluZGV4PWcuRmYoVywwLG4ubGVuZ3RoLTEpO24uc3RhcnRTZWNvbmRzPTB9Owp6YnI9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uYygpLGI9bi5HKCksdj17Y29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDp7YW5jZXN0b3JPcmlnaW5zOmIuYW5jZXN0b3JPcmlnaW5zfX19LGs9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7az8uZW5jcnlwdGVkSG9zdEZsYWdzJiYodi5wbGF5YmFja0NvbnRleHQuY29udGVudFBsYXliYWNrQ29udGV4dC5lbmNyeXB0ZWRIb3N0RmxhZ3M9ay5lbmNyeXB0ZWRIb3N0RmxhZ3MpO2s/LmhpZGVJbmZvJiYodi5wbGF5ZXJQYXJhbXM9e3Nob3dpbmZvOiExfSk7Yj1iLmVtYmVkQ29uZmlnO2s9bi5OZDt2YXIgaD1XLmRvY2lkfHxXLnZpZGVvX2lkfHxXLnZpZGVvSWR8fFcuaWQ7aWYoIWgpe2g9Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFoKXt2YXIgeD1XLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZTt4JiYoaD1KU09OLnBhcnNlKHgpKX1oPWg/Zy53KGg/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5wbGF5QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LApnLklRKT8udmlkZW9JZHx8bnVsbDpudWxsfWg9aD9oOnZvaWQgMDt4PW4ucGxheWxpc3RJZD9uLnBsYXlsaXN0SWQ6Vy5saXN0O3ZhciBMPVcubGlzdFR5cGU7aWYoeCl7dmFyIGU7TD09PSJ1c2VyX3VwbG9hZHMiP2U9e3VzZXJuYW1lOnh9OmU9e3BsYXlsaXN0SWQ6eH07b1YyKGIsayxoLFcsZSk7di5wbGF5bGlzdFJlcXVlc3Q9ZX1lbHNlIFcucGxheWxpc3Q/KGU9e3RlbXBsaXN0VmlkZW9JZHM6Vy5wbGF5bGlzdC50b1N0cmluZygpLnNwbGl0KCIsIil9LG9WMihiLGssaCxXLGUpLHYucGxheWxpc3RSZXF1ZXN0PWUpOmgmJihlPXt2aWRlb0lkOmh9LGs/ZS5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWs6YiYmKGUuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iKSx2LnNpbmdsZVZpZGVvUmVxdWVzdD1lKTtiPUxCKGRRWik7dHJ5e2xldCBHPWF3YWl0IGcucl8oRCx2LGIpLHI9bi5HKCk7Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlPUc7ci5jSj0KaE8oVyxnLm80KHIpKTtyLkQ9ci5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiO0cmJkcudHJhY2tpbmdQYXJhbXMmJmcueXIoRy50cmFja2luZ1BhcmFtcyk7cmV0dXJuIG5ldyBnLlVyKHIsVyl9Y2F0Y2goRyl7cmV0dXJuIEcgaW5zdGFuY2VvZiBFcnJvcnx8KEc9RXJyb3IoImIyNTk4MDI3NDgiKSksZy5YaihHKSxufX07Cm9WMj1mdW5jdGlvbihuLFcsRCxiLHYpe2IuaW5kZXgmJih2LnBsYXlsaXN0SW5kZXg9U3RyaW5nKE51bWJlcihiLmluZGV4KSsxKSk7di52aWRlb0lkPUQ/RDoiIjtXP3Yuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1XOm4mJih2LnNlcmlhbGl6ZWRUaGlyZFBhcnR5RW1iZWRDb25maWc9bil9OwpnLmQ5PWZ1bmN0aW9uKG4sVyl7b0cuZ2V0KG4pO29HLnNldChuLFcpfTsKZy5sTVU9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5HKCkuUygiaHRtbDVfdXNlX2hsc19uYXRpdmVfY2FwdGlvbnMiKSYmZy5HbiYmbi56VygpJiYhIW4uSj8uVygpfTsKZy56Rz1mdW5jdGlvbihuLFcpe3JldHVybiBuLkcoKS5TKCJzYWZhcmlfbGl2ZV9kcm1fY2FwdGlvbnNfZml4IikmJm4uZ2V0VmlkZW9EYXRhKCk/Lk1pKCk/ITE6Zy5HbChuLkcoKSkmJiFXLmlzTWFuaWZlc3RsZXNzfTsKZy5sdj1mdW5jdGlvbihuLFcpe3JldHVybiBuLmluZm8uTigpP1c/bi5pbmZvLml0YWc9PT1XOiEwOiExfTsKZy5UYmk9ZnVuY3Rpb24obixXKXtpZihuLk4hPW51bGwmJmcuekcoVyxuLk4pJiZuLk4uTi5yYXdjYyE9bnVsbClyZXR1cm4hMDtpZighbi56VygpKXJldHVybiExO1c9ISFuLk4mJm4uTi5pc01hbmlmZXN0bGVzcyYmT2JqZWN0LnZhbHVlcyhuLk4uTikuc29tZShEPT5nLmx2KEQsIjM4NiIpKTsKbj0hIW4uTiYmIW4uTi5pc01hbmlmZXN0bGVzcyYmZy5tSChuLk4pO3JldHVybiBXfHxufTsKRCQ9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5lJClyZXR1cm4gbi5OaS5nZXQoInV4Iil9OwpURz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFkIil9OwpqbD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImNhcHRpb25zIil9OwpDYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFubm90YXRpb25zX21vZHVsZSIpfTsKR3U9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5GZSlyZXR1cm4gbi5OaS5nZXQoInJlbW90ZSIpfTsKQjg9ZnVuY3Rpb24obil7cmV0dXJuIG4uTmkuZ2V0KCJjcmVhdG9yZW5kc2NyZWVuIil9OwpGWT1mdW5jdGlvbihuKXtpZihnLlhDKG4uQS5HKCkpKXJldHVybiBuLk5pLmdldCgia2lkcyIpfTsKZy4kRj1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoIndlYmdsIil9OwpqTGo9ZnVuY3Rpb24obixXKXtuLlc9V307CkMkdz1mdW5jdGlvbihuKXt2YXIgVz1uLkEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGcubE1VKFcsbi5BKXx8ISFXLndhfHwhIVcuY2FwdGlvblRyYWNrcy5sZW5ndGh8fGcuVGJpKFcsbi5BKX07Cnc5PWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdil7dmFyIGssaD1uLk5pLmdldChXKTtpZighaHx8YilpZih2fHwodj0oKT0+e3c5KG4sVyxELGIpfSksa3x8KGs9KCk9PntNVChuLFcpfSksaD1ofHxCYmgobixXLEZxTShuLFcpLHYsaykpbi5OaS5zZXQoVyxoKSxoLmNyZWF0ZSgpLG4uQS5XSigibW9kdWxlY3JlYXRlZCIsVyksRCYmZy5WVShuLkEsIm9uQXBpQ2hhbmdlIil9OwpSRz1mdW5jdGlvbihuKXtpZihuLkEuRygpLkQpcmV0dXJuITE7aWYobj1uLkEuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KS5nZXRQbGF5ZXJSZXNwb25zZSgpKXtsZXQgVz1uLmFkUGxhY2VtZW50cztpZihXKWZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKWlmKFdbRF0uYWRQbGFjZW1lbnRSZW5kZXJlcilyZXR1cm4hMDtpZihuLmFkU2xvdHMpcmV0dXJuITB9cmV0dXJuITF9OwpRWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5BLkcoKS5TKCJodG1sNV9hbGxvd19hc21qcyIpfHxuLkEuRygpLlp0KCkuTi5RUSh3YlMpfTsKRnFNPWZ1bmN0aW9uKG4sVyl7c3dpdGNoKFcpe2Nhc2UgImFkIjpyZXR1cm4gUkcobik7Y2FzZSAiYW5ub3RhdGlvbnNfbW9kdWxlIjpyZXR1cm4hMTtjYXNlICJhc21qcyI6cmV0dXJuIFFZKG4pO2Nhc2UgImNyZWF0b3JlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImVtYmVkIjpyZXR1cm4gZy5vNChuLkEuRygpKTtjYXNlICJlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImhlYXJ0YmVhdCI6cmV0dXJuIG4ueVAoKTtjYXNlICJraWRzIjpyZXR1cm4gZy5YQyhuLkEuRygpKTtjYXNlICJyZW1vdGUiOnJldHVybiBuLkEuRygpLkZlO2Nhc2UgIm1pbmlwbGF5ZXIiOnJldHVybiBuLkEuRygpLnNob3dNaW5pcGxheWVyVWlXaGVuTWluaW1pemVkO2Nhc2UgIm9mZmxpbmUiOnJldHVybiBuLkEuRygpLlpoO2Nhc2UgImNhcHRpb25zIjpyZXR1cm4gQyR3KG4pO2Nhc2UgInVucGx1Z2dlZCI6cmV0dXJuIGcuRGYobi5BLkcoKSk7Y2FzZSAidXgiOnJldHVybiBuLkEuRygpLmUkO2Nhc2UgIndlYmdsIjpXPQpuLkEuZ2V0VmlkZW9EYXRhKCk7dmFyIEQ9bi5BLkcoKTtuPWcuamQoKTtsZXQgYj1nLm5OKEQpLHY9Vy5KPy52aWRlbz8uaXNIZHIoKTtEPSFnLnF1KFcpJiYhdiYmRC5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBnLkpEKFcpfHxnLkhUKFcpfHxnLmZBKFcpP258fGI6Zy5rcChXKT9iOkQ/YjohMTtjYXNlICJ5cGMiOnJldHVybiBuLklWKCk7ZGVmYXVsdDpyZXR1cm4gZy5YaihFcnJvcihgTW9kdWxlIGRlc2NyaXB0b3IgJHtXfSBkb2VzIG5vdCBtYXRjaGApKSwhMX19OwpNVD1mdW5jdGlvbihuLFcpe1c9TUxiW1ddO2ZvcihsZXQgRCBvZiBXKW4uQS5HaShEKX07CkJiaD1mdW5jdGlvbihuLFcsRCxiLHYpe3RyeXtpZihEKXtsZXQgaz1vRy5nZXQoVyk7aWYoaylyZXR1cm4gbmV3IGsobi5BKTtSYngobixXLGIsdil9ZWxzZSBNVChuLFcpfWNhdGNoKGspe01UKG4sVyksZy5YaihrKX1yZXR1cm4gbnVsbH07ClJieD1mdW5jdGlvbihuLFcsRCxiKXtpZihuLkQpe3ZhciB2PVFMaVtXXTtXPW4uRCt2O24uSyYmKFcrPWA/Y2I9JHtuLkt9YCk7VkxNKG4sVywoKT0+e24uai5hZGQodik7RC5jYWxsKG4pfSxiKX19OwpjbWI9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi5OaS5nZXQoImFzbWpzIik7aWYoVylyZXR1cm4gVztXPW9HLmdldCgiYXNtanMiKT8/YXdhaXQgbmV3IFByb21pc2UoKEQsYik9PntSYngobiwiYXNtanMiLCgpPT57dmFyIHY9b0cuZ2V0KCJhc21qcyIpO3Y/RCh2KTpiKCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKX0sYil9KTsKaWYoIVcpcmV0dXJuIFByb21pc2UucmVqZWN0KCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKTtXPW5ldyBXKG4uQSk7bi5OaS5zZXQoImFzbWpzIixXKTtXLmNyZWF0ZSgpO3JldHVybiBXfTsKVlk9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpO2lmKG49Vy5TKCJ3ZWJfcGxheWVyX2RlZmVyX2FkIikpe2lmKGcuamooVy5JSiwiYWQiKXx8dzYoVyl8fFcuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkpdmFyIEQ9ITE7ZWxzZXtuPVcuc3RhcnRTZWNvbmRzO3ZhciBiPVcucGxheWVyUmVzcG9uc2U/LmFkUGxhY2VtZW50cztpZihXPWIpe1c9TnVtYmVyLk1BWF9WQUxVRTtmb3IoRCBvZiBiKWlmKGI9RC5hZFBsYWNlbWVudFJlbmRlcmVyKXtsZXQgdj1iLmNvbmZpZz8uYWRQbGFjZW1lbnRDb25maWc7dj8ua2luZD09PSJBRF9QTEFDRU1FTlRfS0lORF9NSUxMSVNFQ09ORFMiJiYoYj0oTnVtYmVyKHY/LmFkVGltZU9mZnNldD8ub2Zmc2V0U3RhcnRNaWxsaXNlY29uZHMpfHwwKS1OdW1iZXIoYi5yZW5kZXJlcj8uYWRCcmVha1NlcnZpY2VSZW5kZXJlcj8ucHJlZmV0Y2hNaWxsaXNlY29uZHN8fDApLGI8VyYmKFc9YikpfVc9Vy01RTM8PW4qMUUzfUQ9Vz8hMTohMH1uPQpEfXJldHVybiBufTsKYU1VPWFzeW5jIGZ1bmN0aW9uKG4pe3JldHVybiBhd2FpdCBjbWIobil9OwpuRGo9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpLEQ9bi5PJiYhVy5pc0lubGluZVBsYXliYWNrTm9BZDtuLkEuUygiaHRtbDVfZGVmZXJfbW9kdWxlc19vbl9hZHNfb25seSIpJiYhVy5pc0FkKCkmJihEPSExKTtyZXR1cm4gRH07CmcuYzg9ZnVuY3Rpb24obil7VlkobikmJm4uWCgpO25EaihuKSYmKHc5KG4sImNhcHRpb25zIiwhMCksdzkobiwiZW5kc2NyZWVuIiksbi5OKCksdzkobiwiY3JlYXRvcmVuZHNjcmVlbiIsITApKX07CmFHPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgV0VpKXtsZXQgdj1uLk5pLmdldChiKTt2JiYoRHx8di5oVihXKSkmJihnLkNwKHYpLG4uTmkuZGVsZXRlKGIpKX1uLkEuV0ooIm1vZHVsZXNEZXN0cm95ZWQiLFcpfTsKRHJaPWZ1bmN0aW9uKG4pe3JldHVybiBKZSgoKT0+bi5OaS5nZXQoImFzbWpzIik/P2FNVShuKSl9OwpWTE09ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNDUklQVCIpLGs9ITE7Zm9yKGxldCBIPTA7SDx2Lmxlbmd0aDtIKyspe2xldCBBPXZbSF07aWYoQS5zcmM9PT1XfHxBLmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiKT09PVcpdmFyIGg9QX1ofHwoaD1nLnpGKCJTQ1JJUFQiKSxoLnNldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiLFcpLGs9ITApO3ZhciB4PSgpPT57bi5xTigpfHxELmNhbGwobil9LEw9KCk9PntuLnFOKCl8fGIuY2FsbChuKX0sZT1oLm9ubG9hZDsKaC5vbmxvYWQ9SD0+e2cuVDcoeCk7ZSYmZS5hcHBseSh3aW5kb3csW0hdKX07CnZhciBHPWgub25lcnJvcjtoLm9uZXJyb3I9SD0+e2lmKE1hdGgucmFuZG9tKCk8LjAxKXtsZXQgQT1uZXcgZy5ReCgiVW5hYmxlIHRvIGxvYWQgcGxheWVyIG1vZHVsZSIsVyxkb2N1bWVudC5sb2NhdGlvbiYmZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luKTtnLlhqKEEpfWcuVDcoTCk7RyYmRyhIKX07CnZhciByPWgsTj1yLm9ucmVhZHlzdGF0ZWNoYW5nZTtyLm9ucmVhZHlzdGF0ZWNoYW5nZT1IPT57c3dpdGNoKHIucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6Zy5UNyh4KX1OJiZOKEgpfTsKayYmKCh2PW4uQS5HKCkuY3NwTm9uY2UpJiZoLnNldEF0dHJpYnV0ZSgibm9uY2UiLHYpLGcuUE0oaCxmdyhXKSksdj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5ib2R5LHYuaW5zZXJ0QmVmb3JlKGgsdi5maXJzdENoaWxkKSxuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57aC5wYXJlbnROb2RlJiZoLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCl9KSl9OwpXYz1mdW5jdGlvbihuLFcsRCl7bi5xTigpO3ZhciBiPW5PKG4pO0Q/KG4uSnw9VyxXJjEmJm4uRC5zdGFydCgpLFcmMiYmbi5PLnN0YXJ0KCksVyYyMDQ4JiZuLmNKLnN0YXJ0KCkpOihuLkomPX5XLFcmMSYmbi5ELnN0b3AoKSxXJjImJm4uTy5zdG9wKCksVyYyMDQ4JiZuLmNKLnN0b3AoKSxXJjUxMiYmbi50dy5zdG9wKCkpO24uSiY1MTImJiEobi5KJjEyOCkmJmcuSmEobi50dyxuLlZRKTtXPW5PKG4pO2IhPT1XJiZuLldKKCJhdXRvaGlkZXVwZGF0ZSIsVyl9OwpibFo9ZnVuY3Rpb24obil7V2Mobiw0LCExKTtuLksmJihuLk4ud0gobi5LKSxuLks9bnVsbCxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKTtuLlcmJihuLk4ud0gobi5XKSxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKX07Cm5PPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSjtuLmFwaS5HKCkuZlImJihXJj0tMTI5KTtuLmFwaS5TKCJ3ZWJfcGxheWVyX2RlZmF1bHRfYXV0b2hpZGUiKSYmKFcmPS01MTMpO3JldHVybiFXfTsKdkQxPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9bi5hcGkuRygpO2ZvcihsZXQgayBvZiBXKXtpZigha3x8ayBpbnN0YW5jZW9mIGcuVXImJiFrLnZpZGVvSWQpY29udGludWU7dmFyIGI9bi5hcGkubGooKS5nZXRQbGF5ZXJTaXplKCk7dmFyIHY9Zy5IXygpO1c9Yi53aWR0aCp2O3YqPWIuaGVpZ2h0O2lmKFc+MTI4MHx8dj43MjApaWYoYj1rLkdCKCJtYXhyZXNkZWZhdWx0LmpwZyIpKWJyZWFrO2lmKFc+NjQwfHx2PjQ4MClpZihiPWsuR0IoIm1heHJlc2RlZmF1bHQuanBnIikpYnJlYWs7aWYoVz4zMjB8fHY+MTgwKWlmKGI9ay5HQigic2RkZWZhdWx0LmpwZyIpfHxrLkdCKCJocWRlZmF1bHQuanBnIil8fGsuR0IoIm1xZGVmYXVsdC5qcGciKSlicmVhaztpZihiPWsuR0IoImRlZmF1bHQuanBnIikpYnJlYWt9Zy4kNihEKSYmKEQ9bmV3IEltYWdlLEQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt5U2goKX0pLEQuc3JjPWI/YjoiIixuLmFwaS5lRygpLnRpY2soImZ0ciIpKTsKbi5ZLnN0eWxlLmJhY2tncm91bmRJbWFnZT1iP2B1cmwoJHtifSlgOiIifTsKa1cxPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8bi5rZXlzLmxlbmd0aDtXKyspbi53SChuLmtleXNbV10pO24ua2V5cz1bXX07CmJzPWZ1bmN0aW9uKG4sVyxELGI9ITEsdj0hMSxrLGg9ITApe3Z8fCh2PW4uYXBpLkcoKS5KKTt2YXIgeD1uLmFwaS5nZXRWaWRlb0RhdGEoKTtXPWVCKGcuRHVbV118fCIiLGI/e0NQTjp4LmNsaWVudFBsYXliYWNrTm9uY2V9Ont9KS5zcGxpdCgvXCQoQkVHSU58RU5EKV9MSU5LLyk7Yj1bXTtrJiZiLnB1c2goe1o6ImgyIixPcTprfSk7Yi5wdXNoKFdbMF0pO2gmJmIucHVzaCh7WjoiYnIifSk7Yi5wdXNoKHtaOiJhIix4YTp7aHJlZjpELHRhcmdldDp2PyJfYmxhbmsiOm51bGx9LEp3OiJ5dHAtZXJyb3ItbGluayIsT3E6V1syXX0pO24uaj0hMDtiLnB1c2goV1s0XSk7cmV0dXJue1o6InNwYW4iLFhGOmJ9fTsKdmM9ZnVuY3Rpb24obil7bj1uLnNwbGl0KGgwWik7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0zKXtsZXQgYj1uW0QrK10uc3BsaXQoIlxuIik7Vy5wdXNoKGJbMF0pO2ZvcihsZXQgdj0xO3Y8Yi5sZW5ndGg7disrKVcucHVzaCh7WjoiYnIifSksVy5wdXNoKGJbdl0pO0Q8bi5sZW5ndGgmJlcucHVzaCh7WjoiYSIseGE6e2hyZWY6bltEXSx0YXJnZXQ6bltEKzFdfSxPcTpuW0QrMl19KX1yZXR1cm57Wjoic3BhbiIsWEY6V319Owp4cnQ9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKyl7bGV0IHY9bi5OTihEW2JdLCJjbGljayIsVyk7bi5rZXlzLnB1c2godil9fTsKa0k9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9TnVtYmVyKFcuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJsYXktb3JkZXIiKSl8fDAsaz0wLGg9bnVsbDtmb3IobGV0IHggb2YgRC5jaGlsZHJlbil7aWYoYiYmeC5jbGFzc0xpc3QuY29udGFpbnMoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSl7aD14O2JyZWFrfWlmKHY8KE51bWJlcih4LmdldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIikpfHwwKSlicmVhaztrKyt9aD9rSShuLFcsaCwhMSk6Yj8obj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuLmNsYXNzTGlzdC5hZGQoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIixgJHt2fWApLGg9bixoLmFwcGVuZENoaWxkKFcpLGcuanAoRCxoLGspKTpnLmpwKEQsVyxrKX07CmUwQz1mdW5jdGlvbihuLFcpe3ZhciBEPXREKFcpLGI9JHAoVyk7Vy5EbCYmbi5BLkpuKCl8fChuLk58fG4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iik/Vy52aWRlb0lkJiZXLnZpZGVvSWQhPT1uLnZpZGVvSWQmJihuLk4/LmplKCksIW4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iil8fEQmJmI/KG4udmlkZW9JZD1XLnZpZGVvSWQsbi5LPSEhYixuLksmJkQmJkxFcihuLGIsRCxXKSk6bi5LPSExKTpEJiZiJiYhbi5BLlMoImVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXgiKSYmTEVyKG4sYixELFcpKX07CmdEeD1mdW5jdGlvbihuLFcpe24uTiYmKFcuTig4KSYmbi5LPyhuLks9ITEsbi5XP24uVy5zdGFydCgpOm4uaigpKTooVy5OKDIpfHxXLk4oNjQpKSYmbi52aWRlb0lkJiYobi52aWRlb0lkPW51bGwsbi5XJiZuLlcuc3RvcCgpKSl9OwpMRXI9ZnVuY3Rpb24obixXLEQsYil7bi5OJiZuLk4uZGlzcG9zZSgpO24uTj1uZXcgZy5mXyhuLnV5LFcsbik7Zy51KG4sbi5OKTtiPUdlKGIpO1c9Yj8ubmF2aWdhdGlvbkVuZHBvaW50O2I9Yj8uaWNvbj8uaWNvblR5cGU7dmFyIHY9Zy53KFcsZy5Qaik/LnVybDtuLkEuc2V0VHJhY2tpbmdQYXJhbXMobi5lbGVtZW50LFc/LmNsaWNrVHJhY2tpbmdQYXJhbXN8fG51bGwpO1cmJiF2PyhuLmlubmVydHViZUNvbW1hbmQ9Vyx2PSIjISIpOm4uaW5uZXJ0dWJlQ29tbWFuZD1udWxsO24uVi51cGRhdGUoe2hyZWY6dj8/IiMiLHRleHQ6RCxpY29uOmI9PT0iTU9ORVlfSEFORCI/e1o6InN2ZyIseGE6e2ZpbGw6Im5vbmUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik02IDlINVY1VjRINkgxOVY1SDZWOVpNMjEuNzIgMTYuMDRDMjEuNTYgMTYuOCAyMS4xNSAxNy41IDIwLjU1IDE4LjA1QzIwLjQ3IDE4LjEzIDE4LjQyIDIwLjAxIDE0LjAzIDIwLjAxQzEzLjg1IDIwLjAxIDEzLjY3IDIwLjAxIDEzLjQ4IDIwQzExLjMgMTkuOTIgOC41MSAxOS4yMyA1LjQgMThIMlYxMEg1SDZIN1Y2SDIxVjEzSDE2LjcyQzE2LjM3IDEzLjU5IDE1Ljc0IDE0IDE1IDE0SDEyLjdDMTMuMDEgMTQuNDYgMTMuNTYgMTUgMTQuNSAxNUgxNS4wMkMxNi4wNyAxNSAxNy4xIDE0LjY0IDE3LjkyIDEzLjk4QzE4LjgyIDEzLjI2IDIwLjAzIDEzLjIyIDIwLjkxIDEzLjg0QzIxLjU4IDE0LjMyIDIxLjkgMTUuMTkgMjEuNzIgMTYuMDRaTTE1IDEwQzE1IDkuNDUgMTQuNTUgOSAxNCA5QzEzLjQ1IDkgMTMgOS40NSAxMyAxMEgxNVpNMjAgMTFDMTkuNDUgMTEgMTkgMTEuNDUgMTkgMTJIMjBWMTFaTTE5IDdDMTkgNy41NSAxOS40NSA4IDIwIDhWN0gxOVpNOCA4QzguNTUgOCA5IDcuNTUgOSA3SDhWOFpNOCAxMEgxMkMxMiA4LjkgMTIuOSA4IDE0IDhDMTUuMSA4IDE2IDguOSAxNiAxMFYxMC4yOEMxNi41OSAxMC42MyAxNyAxMS4yNiAxNyAxMkgxOEMxOCAxMC45IDE4LjkgMTAgMjAgMTBWOUMxOC45IDkgMTggOC4xIDE4IDdIMTBDMTAgOC4xIDkuMSA5IDggOVYxMFpNNSAxMy41VjExSDNWMTdINVYxMy41Wk0yMC4zMyAxNC42NkMxOS44MSAxNC4yOSAxOS4xIDE0LjMxIDE4LjYgMTQuNzFDMTcuNTUgMTUuNTYgMTYuMjkgMTYgMTUuMDIgMTZIMTQuNUMxMi42MiAxNiAxMS42NyAxNC40NiAxMS40MyAxMy42NEwxMS4yNCAxM0gxNUMxNS41NSAxMyAxNiAxMi41NSAxNiAxMkMxNiAxMS40NSAxNS41NSAxMSAxNSAxMUg2VjEzLjVWMTcuMTZDOC45IDE4LjI5IDExLjUgMTguOTMgMTMuNTIgMTlDMTcuODUgMTkuMTUgMTkuODUgMTcuMzQgMTkuODcgMTcuMzJDMjAuMzMgMTYuOSAyMC42MiAxNi40IDIwLjc0IDE1Ljg0QzIwLjg0IDE1LjM3IDIwLjY4IDE0LjkxIDIwLjMzIDE0LjY2WiIsCmZpbGw6IndoaXRlIn19XX06bnVsbCxjaGV2cm9uOnZ8fG4uaW5uZXJ0dWJlQ29tbWFuZD9nLk9GKCk6bnVsbH0pfTsKWFBpPWZ1bmN0aW9uKG4pe24uVnx8KG4uVj0hMCxuLmFwaS5sb2dWaXNpYmlsaXR5KG4uZWxlbWVudCwhMCkpfTsKcW8yPWZ1bmN0aW9uKG4pe3ZhciBXPW9LKCkmJkV6KCk+PTY3JiYhbi5hcGkuRygpLnR3O249bi5hcGkuRygpLmRpc2FibGVPcmdhbmljVWk7cmV0dXJuIWcudWIoInRpemVuIikmJiFnLldYJiYhVyYmIW59OwpoaD1mdW5jdGlvbihuKXt2YXIgVz0hIW4uVjImJiFYeihuLmFwaSkmJiFuLmt0O3ZhciBEPW4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yLGI9bi5hcGkuRygpO0Q/KGI9VEcobi5hcGkuSjUoKSksVz1XJiZiLmpRKCkpOihEPWIuUygid2ViX3BsYXllcl9pbWF4X3RoZWF0ZXJfbW9kZSIpJiZuLmFwaS5RMCgpJiYhbi5hcGkuaXNJbmxpbmUoKSxXPVcmJihiLnNafHxEfHxuLmFwaS5pc0Z1bGxzY3JlZW4oKXx8Yi5neSkpO24uQTAhPT1XJiYobi5BMD1XLGcuaUgobi5hcGkuZ2V0Um9vdE5vZGUoKSwieXRwLWhpZGUtaW5mby1iYXIiLCFXKSl9OwpHV2I9ZnVuY3Rpb24obixXKXtpZighVylyZXR1cm4hMTt2YXIgRD1uLmFwaS5oNSgpO2lmKEQuSygpJiYoRD1ELmVfKCkpJiZnLkJ4KEQsVykpcmV0dXJuIEQuY29udHJvbHM7Zm9yKEQ9MDtEPG4uSW4ubGVuZ3RoO0QrKylpZihnLkJ4KG4uSW5bRF0sVykpcmV0dXJuITE7Zm9yKGxldCBiIG9mIG4ua1gpaWYoZy5LXyhXLGIpKXJldHVybiExO3JldHVybiBXPT09bi5hcGkuZ2V0Um9vdE5vZGUoKT8hMTohMH07CnRrMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpPT09MiYmKG4uYXBpLmxqKCkud0Z8fG4uYXBpLkcoKS5kaXNhYmxlT3JnYW5pY1VpKSYmbi5hcGkuRygpLmomJnhJJiZ2aj49MTE7bj1uLmFwaS5HKCkudHcmJnhJO3JldHVybiEoIVcmJiFuKX07CkxPPWZ1bmN0aW9uKG4sVyl7bi5qSi5MaigpO2lmKG4uYlcmJm4uUCQpbi5QJD0hMTtlbHNlIGlmKCFuLmFwaS5HKCkuc1YmJiFuLmVoKCkpe2xldCBEPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCk7RC5OKDIpJiZxcChuLmFwaSl8fG4uc2hvd1BsYXliYWNrSWNvbihEKTtXJiYkck0obixXKT9yZVMobik6IW4uYXBpLkcoKS5SdHx8RC5pc0N1ZWQoKXx8RC5OKDEwMjQpP24uUGIoKTpuLmVOLmlzQWN0aXZlKCk/bi5lTi5zdG9wKCk6bi5lTi5zdGFydCgpfX07CmVzPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIW4uYXBpLmlzSW5saW5lKCkmJiFHV2IobixBTyhXKSkmJmYyKFcpfTsKZ2Y9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5hcGkuZ2V0VmlkZW9EYXRhKCk/Lm11dGVkQXV0b3BsYXkmJlcudGFyZ2V0Py5jbGFzc05hbWU/LmluY2x1ZGVzKCJ5dHAtaW5mby1wYW5lbCIpPyExOmYyKFcpJiZuLmFwaS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCk/KG4uYXBpLnVuTXV0ZSgpLG4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yJiZuLmFwaS5wbGF5VmlkZW8oKSxXPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCksIVcuTig0KXx8Vy5OKDgpfHxXLk4oMil8fG4uUGIoKSwhMCk6ITF9Owokck09ZnVuY3Rpb24obixXKXtpZighbi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uIikpcmV0dXJuITE7dmFyIEQ9bi5hcGkuZ2V0Um9vdE5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihXLnRhcmdldFRvdWNoZXMmJlcudGFyZ2V0VG91Y2hlcy5sZW5ndGgpe3ZhciBiPVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRYO3ZhciB2PVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZfWVsc2UgVy5jbGllbnRYIT09dm9pZCAwJiYoYj1XLmNsaWVudFgsdj1XLmNsaWVudFkpO3JldHVybiBiIT09dm9pZCAwJiZ2IT09dm9pZCAwJiYoVz1iLUQubGVmdCxEPXYtRC50b3Asbj1uLmFwaS5nZXRQbGF5ZXJTaXplKCksRD49bi5oZWlnaHQtNDAmJlc+PW4ud2lkdGgtNDApPyEwOiExfTsKcmVTPWZ1bmN0aW9uKG4pe2lmKG4uYXBpLkcoKS5SdCYmbi5hcGkuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSE9PTMpdHJ5e24uYXBpLnRvZ2dsZUZ1bGxzY3JlZW4oKS5jYXRjaChXPT57c2pTKFcpfSksbi5hcGkuUygid2ViX3BsYXllcl9mdWxsc2NyZWVuX2RvdWJsZV9jbGlja192ZSIpJiZuLmFwaS5sb2dDbGljayhuLmFwaS5saigpLmVsZW1lbnQpfWNhdGNoKFcpe3NqUyhXKX19OwpzalM9ZnVuY3Rpb24obil7U3RyaW5nKG4pLmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIik/Zy5HcShuKTpnLlhqKG4pfTsKTl9oPWZ1bmN0aW9uKG4sVyxEKXtuLmFwaS5pc0Z1bGxzY3JlZW4oKT9EPDEtVyYmbi5hcGkudG9nZ2xlRnVsbHNjcmVlbigpOkQ+MStXJiZuLmFwaS50b2dnbGVGdWxsc2NyZWVuKCl9OwpZb0M9ZnVuY3Rpb24oKXtwUGp8fCh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihYdz8idG91Y2hzdGFydCI6ImNsaWNrIiwoKT0+e2ZvcihsZXQgbj1xSy5sZW5ndGg7bjw0O24rKyl7bGV0IFc9Zy56RigiVklERU8iKTtXLmxvYWQoKTtxSy5wdXNoKG5ldyBnLkdWKFcpKX19LHtjYXB0dXJlOiEwLApwYXNzaXZlOiEwfSkscFBqPSEwKX07CnRoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuZ2V0VmlkZW9EYXRhKCksaz1XLmdldFZpZGVvRGF0YSgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5pc0Vycm9yKCkpcmV0dXJue21zZzoicGxheWVyLWVycm9yIn07dmFyIGg9ay5XO2lmKFcub3QoKT5iLzFFMysxKXJldHVybnttc2c6ImluLXRoZS1wYXN0In07aWYoay5pc0xpdmVQbGF5YmFjayYmIWlzRmluaXRlKGIpKXJldHVybnttc2c6ImxpdmUtaW5maW5pdGUifTtiPVcuaDUoKTt2YXIgeD1udWxsO2ImJih4PWIuaXNWaWV3KCk/Yi5tZWRpYUVsZW1lbnQuVigpOmIuVigpKTtpZih4JiZ4Lmxlbmd0aD4xMiYmZy5xdSh2KSlyZXR1cm57bXNnOiJwbGF5ZWQtcmFuZ2VzIn07aWYoIXYuVylyZXR1cm4gbnVsbDtpZighaClyZXR1cm57bXNnOiJuby1wdmQtZm9ybWF0cyJ9O2lmKCF2LlcuTigpfHwhaC5OKCkpcmV0dXJue21zZzoibm9uLWRhc2gifTtiPWgudmlkZW9JbmZvc1swXTt4PXYuVy52aWRlb0luZm9zWzBdO24uVEMmJkFKKGspJiYKKGI9Vy5veSgpLHg9RC5veSgpKTtpZighYnx8IXgpcmV0dXJue21zZzoibm8tdmlkZW8taW5mbyJ9O2lmKG4uTyYmKGIuTVcoKXx8eC5NVygpKSlyZXR1cm57bXNnOiJhdjEifTtXPW4uWSYmay5OUCgpJiZWVCgpO2lmKHguY29udGFpbmVyVHlwZSE9PWIuY29udGFpbmVyVHlwZSlpZihXKWsuVSgic2dhcCIse2llcnI6ImNvbnRhaW5lciJ9KTtlbHNlIHJldHVybnttc2c6ImNvbnRhaW5lciJ9O2lmKG4uRCYmIVcmJih4LklCIT09Yi5JQnx8eC5JQj09PSIifHxiLklCPT09IiIpKXJldHVybnttc2c6ImNvZGVjIn07aWYobi5jSiYmeC52aWRlbyYmYi52aWRlbyYmTWF0aC5hYnMoeC52aWRlby53aWR0aC94LnZpZGVvLmhlaWdodC1iLnZpZGVvLndpZHRoL2IudmlkZW8uaGVpZ2h0KT4uMDEpcmV0dXJue21zZzoicmF0aW8ifTtpZihnLnF1KGspJiZnLnF1KHYpKXJldHVybnttc2c6ImNvbnRlbnQtcHJvdGVjdGlvbiJ9O2g9aC5KWzBdO3Y9di5XLkpbMF07RD1oLmF1ZGlvO3ZhciBMPXYuYXVkaW87CmlmKEQuc2FtcGxlUmF0ZSE9PUwuc2FtcGxlUmF0ZSYmIWcub2QpaWYoVylrLlUoInNnYXAiLHtpZXJyOiJzcmF0ZSJ9KTtlbHNlIHJldHVybnttc2c6InNhbXBsZS1yYXRlIixjaTpoLml0YWcsY3I6RC5zYW1wbGVSYXRlLG5pOnYuaXRhZyxucjpMLnNhbXBsZVJhdGV9O3JldHVybihELm51bUNoYW5uZWxzfHwyKSE9PShMLm51bUNoYW5uZWxzfHwyKT97bXNnOiJjaGFubmVsLWNvdW50In06bi50dyYmay5OUCgpJiZiLnZpZGVvLmZwcyE9PXgudmlkZW8uZnBzP3ttc2c6ImZwcyJ9Om51bGx9OwpIbEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uZ2V0VmlkZW9EYXRhKCksdj1XLmdldFZpZGVvRGF0YSgpO2lmKCFiLkcoKS5zdXBwb3J0c0dhcGxlc3NTaG9ydHMoKSlyZXR1cm57bnE6ImVudiJ9O2lmKCEoRC5iZCYmIShiLkd1JiYhYi5pc0FkKCl8fHYuR3UmJiF2LmlzQWQoKSl8fEQuViYmKCFiLkd1fHxiLmlzQWQoKSkmJiF2Lkd1fHxELksmJighdi5HdXx8di5pc0FkKCkpJiYhYi5HdXx8Yi52SigpJiZ2LnZKKCkmJiFiLmlzQWQoKXx8IWIuR3UmJiF2Lkd1KSlyZXR1cm57bnE6ImF1dG9wbGF5In07aWYoYi5lbmRTZWNvbmRzPjApcmV0dXJue25xOiJlbmRjciJ9O2lmKCFiLkspcmV0dXJue25xOiJjbGllbnQifTtpZighbi5kVCgpKXJldHVybntucToibm8tZW1wdHkifTtuPXRoKEQsbixXLEluZmluaXR5KTtyZXR1cm4gbiE9bnVsbD97bnE6bi5tc2d9Om51bGx9OwokST1mdW5jdGlvbihuKXtuLkomJm4uTiYmKG4uSi51bnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsbi5YLG4pLG4uTi51bnN1YnNjcmliZSgiZGF0YWxvYWRlZCIsbi5YLG4pKX07CkFldD1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZlloO1cuWT1uLlMoImg1X2dhcGxlc3Nfc3VwcG9ydF90eXBlc19kaWZmIik7Vy50dz0hMTtXLlRDPW4uUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4Iik7Vy5PPW4uUygiaHRtbDVfZ2FwbGVzc19kaXNhYmxlX29uX2F2MSIpJiYhbi5TKCJodG1sNV9nYXBsZXNzX2VuYWJsZV9vbl9hdjEiKTtXLkQ9bi5TKCJodG1sNV9nYXBsZXNzX2NoZWNrX2NvZGVjX2RpZmZfc3RyaWN0bHkiKTtXLmJkPW4uUygiaHRtbDVfZ2FwbGVzc19vbl9hZF9hdXRvcGxheSIpO1cuY0o9bi5TKCJodG1sNV9nYXBsZXNzX2Rpc2FibGVfZGlmZl9hc3BlY3RfcmFkaW8iKTtXLlY9bi5TKCJodG1sNV9nYXBsZXNzX2FkX2F1dG9wbGF5X29uX2FkX3RvX3ZpZGVvX29ubHkiKSYmIW4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIik7Vy5XPW4uUygiaHRtbDVfcHNldWRvZ2FwbGVzc19zaG9ydHNfc2Vla190b19uZXh0X3N0YXJ0Iik7Clcuaj1uLlp0KCkuTi5RUShKZTEpO1cuSz1uLlMoImh0bWw1X2dhcGxlc3NfYWRfYXV0b3BsYXlfb25fdmlkZW9fdG9fYWRfb25seSIpO1cuTj1OdW1iZXIobi5adCgpLk4uUVEoSVlpKSk7Vy5KPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfc2hvcnRzX2dhcGxlc3NfbmV4dF9idWZmZXJfaW5fc2Vjb25kcyIpPz9XLko7Vy5YPU51bWJlcihuLlp0KCkuTi5RUShTb1MpPz9XLlgpO3JldHVybiBXfTsKcmY9ZnVuY3Rpb24obixXKXtXPD1uLnN0YXR1cy5zdGF0dXN8fChuLnN0YXR1cz17c3RhdHVzOlcsZXJyb3I6bnVsbH0sVz09PTUmJm4uQ1IucmVzb2x2ZSgpKX07Cm1yaj1mdW5jdGlvbihuLFcsRCxiKXtuPW4uaXNWaWV3KCk/bi5tZWRpYUVsZW1lbnQ6bjtyZXR1cm4gbmV3IGcuc2cobixXLEQsYil9OwpLRWg9YXN5bmMgZnVuY3Rpb24obil7aWYobi5xTigpKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8ImRpc3Bvc2VkIikpO24udGltZW91dC5zdGFydCgpO2F3YWl0IG4uQ1I7dmFyIFc9bi5OLmg1KCk7aWYoVy5pc0VuZGVkKCkpcmV0dXJuIG4uS2coImVuZGVkX2luX2ZpbmlzaFRyYW5zaXRpb24iKSxQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8IiIpKTtpZighbi5BYnx8IW42KG4uQWIpKXJldHVybiBuLlYmJm4uTi5VKCJubWMiLHtubXM6ISFuLkFiLG5tcnM6bi5BYj8uVygpfSksbi5LZygibmV4dF9tc2VfY2xvc2VkIiksUHJvbWlzZS5yZWplY3QoRXJyb3Iobi5zdGF0dXMuZXJyb3J8fCIiKSk7aWYobi5KLlV6KCkhPT1uLkFiKXJldHVybiBuLktnKCJuZXh0X21zZV9taXNtYXRjaCIpLFByb21pc2UucmVqZWN0KEVycm9yKG4uc3RhdHVzLmVycm9yfHwiIikpO3ZhciB7SF86RCxSOTpiLEYzOnZ9PW4uSygpO24uTi5jUCghMSwKITApO2lmKG4uVil7dmFyIGs9bi5BYi5OLGg9bi5BYi5KO2suVnUoITApO2guVnUoITApO2lmKGsuaVEoKSl7dmFyIHg9ay5aZygpO2xldCBMPWsuayQuTXIoKTt4JiZ4LnNlZ21lbnRTdGFydFRpbWUrTDxEJiZrLmFib3J0KCl9aC5pUSgpJiYoaz1oLlpnKCkseD1oLmskLk1yKCksayYmay5zZWdtZW50U3RhcnRUaW1lK3g8RCYmaC5hYm9ydCgpKX1uLnBvbGljeS5OPjAmJihuLlZ1KG4uQWIsITApLG4uSi51bCgpKTtoPW1yaihXLEQsdiwhbi5KLmdldFZpZGVvRGF0YSgpLmlzQWQoKSk7bi5KLnNldE1lZGlhRWxlbWVudChoKTsoaz1uLk4uTHAoKSkmJm4uSi5CbihrLkFvLGsud08pO24udHcmJihuLnBvbGljeS5XfHxuLkouc2Vla1RvKG4uSi5nZXRDdXJyZW50VGltZSgpKy4wMDEse0E5OiEwLFpVOjMscWQ6ImdhcGxlc3NfcHNldWRvIn0pLGgucGxheSgpKTtXPVcueXIoKTtXLmNwbj1uLk4uZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZTtXLnN0PWAke0R9YDtXLmV0PQpgJHt2fWA7bi5KLlUoImdhcGxlc3MiLFcpO24uTi5VKCJnYXBsZXNzVG8iLHtjcG46bi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2V9KTtXPW4uTi5nZXRQbGF5ZXJUeXBlKCk9PT1uLkouZ2V0UGxheWVyVHlwZSgpO24uTi5OMihiLCEwLCExLFcsbi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2Usbi5KLmdldFZpZGVvRGF0YSgpLnZpZGVvSWQpO24uSi5OMihuLkouZ2V0Q3VycmVudFRpbWUoKSwhMCwhMCxXLG4uTi5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlLG4uTi5nZXRWaWRlb0RhdGEoKS52aWRlb0lkKTtuLkouUDIoKTtnLm1LKCgpPT57IW4uSi5nZXRWaWRlb0RhdGEoKS5ZJiZuLkouZ2V0UGxheWVyU3RhdGUoKS5pc09yV2lsbEJlUGxheWluZygpJiZuLkouZTIoKX0pOwpyZihuLDYpO24uZGlzcG9zZSgpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07ClBkWj1mdW5jdGlvbihuKXtpZihuLkouZ2V0VmlkZW9EYXRhKCkuVyl7dmFyIFc9bi50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc19zdXNwZW5kX25leHRfbG9hZGVyIikmJm4uaj09PTE7bi5KLm5tKG4uQWIsVyxuLmo9PT0xJiZnLllOKG4uTi5nZXRWaWRlb0RhdGEoKSkpO3JmKG4sMyk7T2xNKG4pO3ZhciB7Z2Q6RCxUYzpifT1OSyhuKTtELnN1YnNjcmliZSgidXBkYXRlZW5kIixuLmVYLG4pO2Iuc3Vic2NyaWJlKCJ1cGRhdGVlbmQiLG4uZVgsbik7bi5lWChEKTtuLmVYKGIpfX07Ck9sTT1mdW5jdGlvbihuKXtuLk4udW5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixuLlgsbik7bi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsbi5YLG4pO24udGIuRygpLlMoImh0bWw1X2dhcGxlc3NfdXNlX2Zvcm1hdF9pbmZvX2ZpeCIpJiYobi5OLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbiksbi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbikpO24uTi51bnN1YnNjcmliZSgibWVkaWFzb3VyY2VhdHRhY2hlZCIsbi5YLG4pO24uSi51bnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLG4uVEMsbil9OwpOSz1mdW5jdGlvbihuKXtyZXR1cm57Z2Q6bi5XLk4uayQsVGM6bi5XLkouayR9fTsKcE89ZnVuY3Rpb24obixXKXtpZighbilyZXR1cm4hMTt2YXIgRD1uLko7cmV0dXJuIEJSKG4uTj8uWkYoKSxXKSYmQlIoRD8uWkYoKSxXKX07ClpsaT1mdW5jdGlvbihuKXtpZighbilyZXR1cm4hMTt2YXIgVz1uLko7cmV0dXJuIG4uTj8uaVEoKXx8Vz8uaVEoKX07CkVEaj1hc3luYyBmdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlgmJm4uTil7bi5PJiZuLmFwcC5NTigpLmtOKCEwLCExKTt2YXIgVz1udWxsO2lmKG4uVyl0cnl7YXdhaXQgS0VoKG4uVyl9Y2F0Y2goYil7Vz1ifWlmKG4uTiYmKFVydy5jVygidnFzcCIsKCk9PntuLmFwcC5RVChuLk4pfSksbi5OKSl7dmFyIEQ9bi5OLmg1KCk7Cm4uYXBwLkcoKS5TKCJodG1sNV9nYXBsZXNzX3NlZWtfb25fbmVnYXRpdmVfdGltZSIpJiZEJiZELmdldEN1cnJlbnRUaW1lKCk8LS4wMSYmbi5OLnNlZWtUbygwKTtVcncuY1coInZxcHYiLCgpPT57bi5hcHAucGxheVZpZGVvKCl9KTsKVyYmKG4uTj8oVz1XP1cubWVzc2FnZToiZm9yY2VkIixuLko/LlUoImdhcGZ1bGZiayIse3I6V30pLG4uYXBwLkcoKS5adCgpLk4uUVEoeWVpKSYmKG4uTi5nZXRWaWRlb0RhdGEoKS5HUz0hMSksbi5OLk9jKFcpKTpuLko/LlUoImdhcHNwIix7fSkpO1c9bi5YO1lJKG4pO1cmJlcucmVzb2x2ZSgpO1Byb21pc2UucmVzb2x2ZSgpfX19OwpIYz1mdW5jdGlvbihuKXtuLkQmJm4uaiYmbi5ELnJlbW92ZUV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLG4uaik7bi5qPW51bGw7bi5EPW51bGx9OwpZST1mdW5jdGlvbihuLFc9ITEpe2lmKG4uSil7aWYobi5WKXt2YXIgRD1uLko7bi5hcHAuUkIucmVtb3ZlRXZlbnRMaXN0ZW5lcihnLm95KCJ2cXVldWVkIiksbi5ZKTtELnJlbW92ZUN1ZVJhbmdlKG4uVil9bi5KPW51bGw7bi5WPW51bGx9bi5XJiYobi5XLnN0YXR1cy5zdGF0dXMhPT02JiYoRD1uLlcsRC5zdGF0dXMuc3RhdHVzIT09SW5maW5pdHkmJkQuaiE9PTEmJkQuS2coIkNhbmNlbGVkIikpLG4uVz1udWxsKTtuLlg9bnVsbDtuLk4mJiFXJiZuLk4hPT1uLmFwcC5jWCgpJiZuLk4hPT1uLmFwcC5NTigpJiZuLk4uZGlzcG9zZSgpO24uTiYmVyYmbi5OLm15KCk7bi5OPW51bGw7bi5PPSExfTsKdTd0PWZ1bmN0aW9uKG4sVyxEPSEwKXt2YXIgYj1uLmFwcC5NTigpLHY9Yi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjaz9JbmZpbml0eTpiLlBHKCEwKSoxRTM7Vz52JiYoVz12LTIwMCwhbi5hcHAuRygpLlp0KCkuTi5RUShpbGkpfHxEKSYmKG4uTz0hMCk7RCYmYi5nZXRDdXJyZW50VGltZSgpPj1XLzFFMz9uLlkoKToobi5KPWIsRCYmKEQ9VyxXPW4uSixuLmFwcC5SQi5hZGRFdmVudExpc3RlbmVyKGcub3koInZxdWV1ZWQiKSxuLlkpLEQ9aXNGaW5pdGUoRCl8fEQvMUUzPlcuZ2V0RHVyYXRpb24oKT9EOjB4ODAwMDAwMDAwMDAwMCxuLlY9bmV3IGcubDUoRCwweDgwMDAwMDAwMDAwMDAse25hbWVzcGFjZToidnF1ZXVlZCJ9KSxXLmFkZEN1ZVJhbmdlKG4uVikpKX07CmRyTT1mdW5jdGlvbihuLFcsRCxiPTAsdj0wKXtuLmRUKCl8fChIYyhuKSxZSShuKSk7bi5YPW5ldyBZNjtuLk49Vzt1N3QobixELHY9PT0wKTt2YXIgaz1iLz0xRTMsaD1XLmdldFZpZGVvRGF0YSgpLk47aWYoYiYmaCYmbi5KKXtsZXQgeD1iLEw9MDtXLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrJiYoaz1NYXRoLm1pbihELzFFMyxuLkouUEcoITApKSxMPU1hdGgubWF4KDAsay1uLkouZ2V0Q3VycmVudFRpbWUoKSkseD1NYXRoLm1pbihiLFcuUEcoKStMKSk7az1tOHQoaCx4KXx8YjtrIT09YiYmbi5OLlUoInF2YWxuIix7c3Q6YixhdDprLHJtOkwsY3Q6eH0pfVc9aztiPW4uTjtiLmdldFZpZGVvRGF0YSgpLllaPSEwO2IuZ2V0VmlkZW9EYXRhKCkuSz0hMDtiLmd6KCEwKTtoPXt9O24uSiYmKGg9bi5KLmw1KCksaz1uLkouZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZSxoPXtjcnQ6KGgqMUUzKS50b0ZpeGVkKCksY3BuOmt9KTtiLlUoInF1ZXVlZCIsaCk7VyE9PQowJiZiLnNlZWtUbyhXKy4wMSx7QTk6ITAsWlU6MyxxZDoidmlkZW9xdWV1ZXJfcXVldWVkIn0pO24uVz1uZXcgb0RiKG4uSyxuLmFwcC5NTigpLG4uTixELG4uYXBwLHYpO0Q9bi5XO0Quc3RhdHVzLnN0YXR1cyE9PUluZmluaXR5JiYocmYoRCwxKSxELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsRC5YLEQpLEQuSi5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixELlgsRCksRC50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4IikmJihELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixELlgsRCksRC5KLnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsRC5YLEQpKSxELk4uc3Vic2NyaWJlKCJtZWRpYXNvdXJjZWF0dGFjaGVkIixELlgsRCksRC5KLnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLEQuVEMsRCksRC5OLnN1YnNjcmliZSgibmV3ZWxlbWVudHJlcXVpcmVkIixELlZRLApEKSxELlgoKSk7cmV0dXJuIG4uWH07CmpqeD1mdW5jdGlvbihuLFcpe2lmKG4uYXBwLkcoKS5adCgpLk4uUVEoejBpKSl7dmFyIEQ9bi5hcHAuRygpLlp0KCkuTi5RUShsWWgpO2lmKCEoRDw9MCkpe0hjKG4pO3ZhciBiPW4uYXBwLk1OKCk/Lmg1KCk7YiYmbi5OJiYobi5hcHAuRygpLlp0KCkuTi5RUShUX0MpP24uTi5nZXRWaWRlb0RhdGEoKS5Sbz0hMDpuLk4uZ2V0VmlkZW9EYXRhKCkuR1M9ITAsbi5qPSgpPT57dmFyIHY9Yi5nZXRDdXJyZW50VGltZSgpO3Y+PVcrRC8xRTMmJih2PURhdGUubm93KCktKHYtVykqMUUzLG4uYXBwLmVHKCkudGljaygicGJzIix2KSxIYyhuKSl9LG4uRD1iLGIuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsbi5qKSl9fX07CkNkaj1mdW5jdGlvbihuLFcsRCl7aWYobi5kVCgpKXJldHVybiJxaWUiO2lmKG4uTj09bnVsbHx8bi5OLnFOKCl8fG4uTi5nZXRWaWRlb0RhdGEoKT09bnVsbClyZXR1cm4icXBkIjtpZihXLnZpZGVvSWQhPT1uLk4uRTEoKSlyZXR1cm4idmlubSI7aWYoKG4uVz8uYmQoKXx8LTEpPD0wKXJldHVybiJpdmQiO2lmKEQhPT0xKXJldHVybiJ1cHQiO249bi5XPy5lJCgpO3JldHVybiBuIT1udWxsP246bnVsbH07CkpoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLmRhdGEuZm9yRWFjaChEPT57RC5leHBpcmU8VyYmZk8obixELCEwKX0pOwpuLmRhdGE9Zy5FTShuLmRhdGEsRD0+IShELmV4cGlyZTxXKSl9OwpJZT1mdW5jdGlvbihuKXtuLk4uc3RvcCgpO3ZhciBXPUluZmluaXR5O2ZvcihsZXQgRCBvZiBuLmRhdGEpRC5leHBpcmU8VyYmKFc9RC5leHBpcmUpO1cmJmlzRmluaXRlKFcpJiYoVz1NYXRoLm1heChXLURhdGUubm93KCksMTAwKSxuLk4uc3RhcnQoVykpfTsKQl9DPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLmRhdGEuZmluZCh2PT52LmtleT09PVcpOwpiJiYoRCo9MUUzLGIuZXhwaXJlPSgwLGcuUikoKStELEllKG4pKX07CnNGPWZ1bmN0aW9uKG4pe0poKG4pO3JldHVybiBuLmRhdGEubWFwKFc9PlcudmFsdWUpfTsKZk89ZnVuY3Rpb24obixXLEQpe0QmJm4uSiYmbi5KKFcudmFsdWUpfTsKRkVaPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTj9bbi5OXTpbXTtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLmopKUQuZGlzcG9zZSgpLG4uS3x8ZGVsZXRlIG4uVltELldOKCldO24uaj17fTtuLk49bnVsbDtuLlk9bnVsbDtuLkQuY2xlYXIoKTtTcyhuLFtdLFcpfTsKU3M9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtuLkpdO24uTiYmYi5wdXNoKG4uTik7bi5hcGkuV0ooInBsYXliYWNrQ2hhbmdlIix7YWN0aXZlOmIuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKSwKc3RhcnRlZDpXLmZpbHRlcih2PT52LmdldFBsYXllclR5cGUoKSE9PTApLm1hcCh2PT4oe2Nwbjp2LldOKCl9KSksCmVuZGVkOkQuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKX0pfTsKd1AxPWZ1bmN0aW9uKG4sVyl7aWYobi5LKXtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLlcpKWlmKEQuV04oKT09PVcpcmV0dXJuIEQ7aWYobi5PPy5XTigpPT09VylyZXR1cm4gbi5PO2lmKHZvaWQgMD09PVcpcmV0dXJuIG51bGw7aWYobi5qW1ddKXJldHVybiBuLmpbV107Zm9yKGxldCBEIG9mIHNGKG4uWCkpaWYoRC5XTigpPT09VylyZXR1cm4gRDtyZXR1cm4gbnVsbH1pZihuLmFwaS5HKCkuWnQoKS5OLlFRKGcuQWgpKXJldHVybiBuLlZbV118fG51bGw7Zm9yKGxldCBEIG9mIE9iamVjdC52YWx1ZXMobi5XKSlpZihELldOKCk9PT1XKXJldHVybiBEO3JldHVybiBuLmpbV118fG51bGx9OwpNa009ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9RC5nZXRWaWRlb0RhdGEoKTtpZighdi5saXZlUHJlbG9hZCl7dmFyIGs9KCk9PntpZihuLlguZ2V0KFcpPT09RCl7dmFyIGg9di5nZXRQbGF5ZXJSZXNwb25zZSgpO2gmJihoPWgucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9oLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLGghPT12b2lkIDAmJihoPGImJkQuVSgidHRsZCIse3ByZXY6Yi50b1N0cmluZygpLCJuZXciOmgudG9TdHJpbmcoKX0pLGg9PT0wP24uWC5yZW1vdmUoVywhMCk6Ql9DKG4uWCxXLGgpKSl9fTsKaWYodi5pc0xvYWRlZCgpKWsoKTtlbHNle2xldCBoPSgpPT57aygpO3YudW5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfTsKdi5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfX19OwptUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W1ddLHY9bi5OP1tuLk5dOltdO24ualtXLldOKCldPVc7bi5LfHwobi5WW1cuV04oKV09Vyk7bi5OPVc7RCYmKG4uWT1XKTtuLkQuc2V0KCIiLFcpO1NzKG4sYix2KX07CmNlYj1mdW5jdGlvbihuKXt2YXIgVz1uLmV4cGVyaW1lbnRzLEQ9Vy5FcS5iaW5kKFcpO0tPPUQoImh0bWw1X3VzZV9hc3luY19zdG9wVmlkZW8iKTtSMGk9RCgiaHRtbDVfcGF1c2VfZm9yX2FzeW5jX3N0b3BWaWRlbyIpO09nPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO0QoImh0bWw1X2xpc3Rlbl9mb3JfYXVkaW9fb3V0cHV0X2NoYW5nZWQiKSYmKHdVTT0hMCk7REg9RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZSIpfHxEKCJodG1sNV9ub3RfcmVzZXRfbWVkaWFfc291cmNlX25vbl9kcm1fdm9kIik7UWpaPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO1BjPUQoImh0bWw1X3JldGFpbl9zb3VyY2VfYnVmZmVyX2FwcGVuZHNfZm9yX2RlYnVnZ2luZyIpO25WcihEKCJ3ZWJfd2F0Y2hfcGlwIil8fApEKCJ3ZWJfc2hvcnRzX3BpcCIpKTtJdmgoRCgibG9nX2ZvcmVncm91bmRfbm90X2ZvY3VzZWRfYXNfYmFja2dyb3VuZCIpKTtTeXIoRCgid2ViX3BsYXllcl9waXBfbG9nZ2luZ19maXgiKSk7RCgiaHRtbDVfbWVkaWFzdHJlYW1fYXBwbGllc190aW1lc3RhbXBfb2Zmc2V0IikmJihzND0hMCk7bi5XWCgpJiZNRngoKTtFcnJvci5zdGFja1RyYWNlTGltaXQ9NTA7dmFyIGI9Zy5kTShXLCJodG1sNV9pZGxlX3JhdGVfbGltaXRfbXMiKTtiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJyZXF1ZXN0SWRsZUNhbGxiYWNrIix7dmFsdWU6dj0+d2luZG93LnNldFRpbWVvdXQodixiKX0pOwp3Sngobi5XKTthaU0oRCgiaHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlciIpKTtEKCJodG1sNV9kaXNhYmxlX3N0cmVhbWluZ194aHIiKSYmKE5zPSExKTtEKCJodG1sNV9ieXRlcmF0ZV9jb25zdHJhaW50cyIpJiYoaFQ9ITApO0QoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIikmJihadT0hMCk7RCgiaHRtbDVfZW5hYmxlX2VuY3J5cHRlZF9hdjEiKSYmKFBSPSEwKTtXLlp0KCkuTi5RUShWa3cpJiYoRU49ITApO01wQyhnLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3MiKSl9Owp5UjE9ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLmV4cGVyaW1lbnRzLncwKCksYj1bXTtuPShrLGgseCk9PntiLnB1c2goU2soaCh4KSxMPT57V1trXT1MfSkpfTsKdmFyIHY9RC5OLlFRKGFZeCk7diYmbigiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUJ1ZmZlcmVkUmFuZ2UiLHFScix2PT09MSk7KHY9RC5OLlFRKG5NdykpJiZuKCJIVFRQMyIsR253LHY9PT0xKTsodj1ELk4uUVEoV2t0KSkmJm4oIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VBdHRhY2htZW50TWV0aG9kcyIsdEZ4LHY9PT0xKTsodj1ELk4uUVEoRERaKSkmJm4oIlFVSUMiLCRMQyx2PT09MSk7KHY9RC5OLlFRKGJSdykpJiZuKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsc2d3LHY9PT0xKTsodj1ELk4uUVEodk1TKSkmJm4oIk1lZGlhLkF1ZGlvV3JpdGVEdXJhdGlvbkxvY2FsIixyYzIsTnVtYmVyKHYpKTsodj1ELk4uUVEoazZ3KSkmJm4oIk1lZGlhLkV4cGVyaW1lbnRhbE1heFBlbmRpbmdCeXRlc1BlclBhcnNlIixLWFosTnVtYmVyKHYpKTsodj1ELk4uUVEoaFVpKSkmJm4oIk1lZGlhLkVuYWJsZUZsdXNoRHVyaW5nU2VlayIsCkpjYixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoeERaKSkmJm4oIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsSXl3LE51bWJlcih2KSk7KHY9RC5OLlFRKExrQykpJiZuKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLFNSdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZVVVKSkmJm4oIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLEFjWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZ014KSkmJm4oIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbUwyLE51bWJlcih2KT09PTEpOyh2PUQuTi5RUShYR1UpKSYmbigiTWVkaWEuRW5hYmxlUmVzZXRBdWRpb0RlY29kZXIiLGZ5VSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocXhoKSkmJm4oIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLEhGWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoRzYyKSkmJm4oIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsCk9GQyxOdW1iZXIodikpOyh2PUQuTi5RUSh0NWkpKSYmbigiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsTjBTLHYpOyh2PUQuTi5RUSgkRDEpKSYmbigiTWVkaWEuTWVkaWFDb2RlY1Jlc2V0RGVsYXlNcyIsUFFyLHYpOyh2PUQuTi5RUShyUmkpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbklucHV0QnVmZmVycyIscE50LHYpOyh2PUQuTi5RUShzd2kpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbkRlY29kZWRGcmFtZXMiLFlSdyx2KTsodj1ELk4uUVEoTmRTKSkmJm4oIk1lZGlhLlVzZUR1YWxUaHJlYWRzRm9yVmlkZW8iLHljMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocEcxKSkmJm4oIk1lZGlhLlZpZGVvQnVmZmVyU2l6ZUNsYW1wTWIiLEV1dCx2KTsodj1ELk4uUVEoWXhyKSkmJm4oIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixpRlUsdik7KHY9RC5OLlFRKEhScikpJiZuKCJNZWRpYS5EaXNhYmxlTG93UGVyZm9ybWFuY2VTb2Z0d2FyZURlY29kZSIsClpGdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZndqKSkmJm4oIk1lZGlhLkVuYWJsZUF2MVN0YXJ0dXBPcHRpbWl6YXRpb24iLFVMMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSlIxKSkmJm4oIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLGRMaSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSXd4KSkmJm4oIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIix1cXQsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFN4aSkpJiZuKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG91MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoQVJNKSkmJm4oIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIix6UVMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKG1EaCkpJiZuKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLGx5MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoS2tpKSkmJm4oIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixUMFUsTnVtYmVyKHYpPT09CjEpOyh2PUQuTi5RUShPUlUpKSYmbigiTWVkaWEuU2tpcFZpZGVvRnJhbWVzT3ZlcjYwRnBzIixqZ2gsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFBoaikpJiZuKCJNZWRpYS5GbHVzaEF1ZGlvVHJhY2tEdXJpbmdTZWVrIixDUUMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFpSeCkpJiZuKCJNZWRpYS5CeXBhc3NNb2pvRm9yTWVkaWEiLEIwaixOdW1iZXIodik9PT0xKTsoRD1ELk4uUVEoVUQyKSkmJm4oIk1lZGlhLklnbm9yZU1lZGlhQ29kZWNDYWxsYmFja3NEdXJpbmdGbHVzaGluZyIsRlgyLE51bWJlcihEKT09PTEpO3JldHVybiBTayhGTngoYiksKCk9PlcpfTsKR0Q9ZnVuY3Rpb24obixXPSExLEQ9MTA0ODU3Nil7dmFyIGI9VWcobik7Yj0xLygobi5LLkxnKCl8fDApKm4ucG9saWN5LkQrMS9iKTt2YXIgdj1uLlMkLkxnKCk7dj12PjA/djoxO3ZhciBrPU1hdGgubWF4KGIsdik7bi5wb2xpY3kuWD4wJiZ2PGImJihrPU1hdGgubWluKG4ucG9saWN5LlgsMSksaz0oMS1rKSpiK2sqdik7aWYoIVcpcmV0dXJuIGs7Vz0xRS05KyRzKG4pO0Q9aypNYXRoLm1pbigxLEQvKGsqVykpO24ucG9saWN5Lkp8fChuPSgobi5ELnBlcmNlbnRpbGUoLjk4KXx8MCktMSkvMixuPU1hdGgubWF4KDAsTWF0aC5taW4oMSxuKSksRCo9MS0uNSpuKTtyZXR1cm4gRH07CiRzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uWS5MZygpK24uVEMuTGcoKXx8MDtXPWlzTmFOKFcpPy41Olc7bi5wb2xpY3kuVDY+PTAmJihXPU1hdGgubWluKFcsbi5wb2xpY3kuVDYpKTtyZXR1cm4gV307CmUwPWZ1bmN0aW9uKG4pe3ZhciBXPXtkZWxheTokcyhuKSxzdGFsbDpuLksuTGcoKXx8MCxieXRlcmF0ZTpVZyhuKSxpbml0Om4uVlF9LEQ9bi5XWzBdO0Quc3RhbXA9TWF0aC5yb3VuZChuLlYvMzZFNSkqMzZFNTtELm5ldD1NYXRoLmNlaWwobi5iZCk7RC5tYXg9bi5pbnRlcnJ1cHRpb25zWzBdfHwwO1cuaW50ZXJydXB0aW9ucz1uLlc7cmV0dXJuIFd9Owp6RD1mdW5jdGlvbihuLFcpe2lmKG4uail7bGV0IEQ9Vy1uLmo7aWYoRDw2RTQpe2lmKEQ+MUUzKXtsZXQgYj1uLmludGVycnVwdGlvbnM7Yi5wdXNoKE1hdGguY2VpbChEKSk7Yi5zb3J0KCh2LGspPT5rLXYpOwpiLmxlbmd0aD4xNiYmYi5wb3AoKX1uLmJkKz1EfX1uLmo9V307CnlTPWZ1bmN0aW9uKG4sVyxEKXtpc05hTihEKXx8KG4udHcrPUQpO2lzTmFOKFcpfHwobi5EdCs9Vyl9OwpCdT1mdW5jdGlvbihuLFcsRCxiPVcpe24uWC5JSShiLEQvVyk7bi5WPSgwLGcuUikoKX07CkVnPWZ1bmN0aW9uKG4sVyxEKXtXPU1hdGgubWF4KFcsbi5KLk4pO24uSy5JSSgxLEQvVyl9Owppcz1mdW5jdGlvbihuLFcsRCxiLHYsaz0hMSl7bi5TJC5JSShXLEQvVyk7bi5WPSgwLGcuUikoKTt2fHxuLkQuSUkoMSxXLWIpO2t8fChuLmo9MCk7bi5jSj4tMSYmKDAsZy5SKSgpLW4uY0o+M0U0JiYoc24oZTAobikpLG4uY0o9KDAsZy5SKSgpLG4uTz0hMCl9OwpUWj1mdW5jdGlvbihuKXtyZXR1cm4oMCxnLlIpKCktbi5WPj00RTN9OwpVZz1mdW5jdGlvbihuKXtuPW4uWC5MZygpO3JldHVybiBuPjA/bjoxfTsKaVJaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgRU1NKEQpO24mJihiLlc9ITAsYi5qPS4xKTtELkVxKCJodG1sNV9tZWRpYV90aW1lX3dlaWdodCIpJiYoYi5XPSExKTtXJiYoYi5OPVcvOCk7Yi5KPXA3KCk+PTQ4MDtyZXR1cm4gYn07CnVzPWZ1bmN0aW9uKG4pe24uTi5jbGVhcigpO24uVy5jbGVhcigpO24uSi5jbGVhcigpfTsKdWFVPWZ1bmN0aW9uKG4sVyxEKXtuPW4uSjt2YXIgYj1nLlc0KG4se29hOld9LCh2LGspPT52Lm9hLWsub2EpOwpiPWI8MD8oYisyKSotMTpiO2lmKGI+PTApZm9yKGxldCB2PWI7djw9YisxJiZ2PG4ubGVuZ3RoO3YrKyl7bGV0IGs9blt2XTtpZihXPj1rLm9hLUQmJlc8PWsuZEkrRClyZXR1cm4ga319OwpvTWg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5nZXQoVyk7Yj8oYi5wdXNoKEQpLGcuYmYoYiwodixrKT0+di5vYS1rLm9hKSk6bi5OLnNldChXLFtEXSl9OwpkRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2Ygbi5KKVcoYil8fEQucHVzaChiKTtpZihuLkIuUygiaHRtbDVfc3N0bV9maXhlcyIpKWZvcihsZXQgYiBvZiBuLkopVyhiKSYmbi5XLmRlbGV0ZShiLmNwbik7bi5KPUR9Owp6VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkouaW5kZXhPZihXKTtEPj0wJiZuLkouc3BsaWNlKEQsMSk7bi5XLmRlbGV0ZShXLmNwbil9Owp0dmk9ZnVuY3Rpb24obixXKXtpZihuLnVLfHxXLmlkZW50aWZpZXImJm4ueXcuaGFzKFcuaWRlbnRpZmllcikpbi5iaih7c3RhcnRub2FkOlcuaWRlbnRpZmllcn0pLGcub2Uobik7ZWxzZSBpZihnLm9NKG4uY0osRD0+RC5pZGVudGlmaWVyPT09Vy5pZGVudGlmaWVyKSluLmJqKHt0aW1lZG91dGNwOjF9KSxuLlkuc3RhcnQoMCk7CmVsc2UgaWYoZy5vTShuLkR0LEQ9PkQuaWRlbnRpZmllcj09PVcuaWRlbnRpZmllcikpbi5iaih7ZmV0Y2hlZGNwOjF9KSxnLm9lKG4pOwplbHNlIGlmKG4uWS5pc0FjdGl2ZSgpKW4uYmooe3JhY2luZ2NwOmAke24uVj8uaWRlbnRpZmllcn1fJHtXLmlkZW50aWZpZXJ9YH0pO2Vsc2V7bi5DdT0obmV3IERhdGUpLmdldFRpbWUoKS8xRTM7bi5iaih7YWRmOjF9KTtsZXQgRD01RTM7RCYmVy5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYoRC09Vy5OKTtuLnZKPU1hdGgubWF4KEQsMTVFMyk7bi5EPSExO24uWS5zdGFydChuLnZKKTtuLlY9Vzt1cyhuLlRDKTtuLkZGPVtdfX07CmcuSnlpPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe3ZhciB4PXY9PT0zLEw9bHdaKG4sVyxELHYsYixoKTtpZighTClyZXR1cm4gZGYobixELHgpLEw9Zy56VihuLEQpPyJ1bmRlYyI6Im5jcCIsbi5iaih7Z3ZwcnA6TCxtdDpXLHNlZzpELHR0OnYsaXRhZzpiLGNlOmh9KSxudWxsO3h8fG4uWXEuc2V0KEQsTCk7aD1MLnZQO3Y9bi5HTShELTEsdixrKT8uQmZ8fCIiO3Y9PT0iIiYmbi5iaih7ZWRzOjF9KTtrPVRkaihuLEwuc3NkYWlBZHNDb25maWcpO3g9bi5ncy5nZXRWaWRlb0RhdGEoKTt4PXguYkJbeC5KPy5jb250YWluZXJUeXBlfHwwXTtMPUwubUYmJkQ+PUwubUY/TC5tRjp2b2lkIDA7dj17YUQ6aD9scyhuLGgpOltdLGFkc0NvbmZpZzprLEJmOnYsREo6TCxvdjpnLk5oKHguc3BsaXQoIjsiKVswXSksZDM6eC5zcGxpdCgiOyIpWzFdfHwiIn07TD17TXk6dn07bi5HQyYmKFc9e2d2cHJwcm86InYiLHNxOkQsbXQ6Vy50b0ZpeGVkKDMpLGl0YWc6YixhY3Buczp2LmFEPy5qb2luKCJfIil8fAoibm9uZSIsYWJpZDpofSxuLmJqKFcpKTtyZXR1cm4gTH07Ck0yPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj1ifHx7cmVhc29uOiJkaXNhYmxlc3NkYWkifTtpZihXJiZEKXtpZighZy5UVihuLFcsRCkpcmV0dXJuITE7Yi5zcT1EfWlmKG4udUspcmV0dXJuITE7bi51Sz0hMDtuLnVmPjAmJihuLnVmPTAsbi51Tj0iIixqcyhuLG4uZ3MuV04oKSwwKSxuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpKTtuLmdzLmRuKGIsdik7cmV0dXJuITB9Owpqd2o9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uald8fG4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKTtDTyhuLCEwKTtuLmdzLnNlZWtUbyhXLEQpO249bi5hcHAuTU4oKTtXPW4uZ2V0UGxheWVyU3RhdGUoKTtiLmlzT3JXaWxsQmVQbGF5aW5nKCkmJiFXLmlzT3JXaWxsQmVQbGF5aW5nKCk/bi5wbGF5VmlkZW8oKTpiLmlzUGF1c2VkKCkmJiFXLmlzUGF1c2VkKCkmJm4ucGF1c2VWaWRlbygpfTsKZy5CYz1mdW5jdGlvbihuKXtuLkdDJiZuLmJqKHthZGY6YDBfJHsobmV3IERhdGUpLmdldFRpbWUoKS8xRTMtbi5DdX1faXNUaW1lb3V0XyR7bi5EfWB9KX07Cmcub2U9ZnVuY3Rpb24obil7bi5EPSExO24uWS5pc0FjdGl2ZSgpJiZnLkJjKG4pO24uWS5zdG9wKCk7bi5SZighMSl9OwpGdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJue3NzdmM6VyxjcG46RD8uY3BufHwiIix2aWQ6RD8udmlkZW9EYXRhLnZpZGVvSWR8fCIiLGN0OihuLmdzLmdldEN1cnJlbnRUaW1lKCl8fDApLnRvRml4ZWQoMyksY210OihuLmdzLm90KCl8fDApLnRvRml4ZWQoMyl9fTsKQ2gxPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbmV3IGcubDUobixXLHtpZDpELG5hbWVzcGFjZToic2VydmVyc3RpdGNoZWRjdWVyYW5nZSIscHJpb3JpdHk6OX0pfTsKZy53Zj1mdW5jdGlvbihuKXtyZXR1cm57Y3BuOm4uZ3MuV04oKSxkdXJhdGlvbk1zOjAsb2E6MCxwbGF5ZXJUeXBlOjEsZEk6MCx2aWRlb0RhdGE6bi5ncy5nZXRWaWRlb0RhdGEoKSxlcnJvckNvdW50OjAsdlA6IiJ9fTsKTUs9ZnVuY3Rpb24obixXLEQsYil7bi5CLlMoImh0bWw1X3NzZGFpX2xvZ19zc2V2dF9pbl9sb2FkZXJfdGltZXJzIikmJihiPW4uYmQ/MDpNYXRoLnJvdW5kKChiLUQpKjFFMyksbi5ncy5VKCJzc2V2dCIse3RhZzoic3N0bWUiLGFkOlchPT1uLmdzLldOKCksY3BuOlcsc3Q6RC1uLmdzLkgzKCksbGF0ZTpifSkpfTsKZy5RUz1mdW5jdGlvbihuLFcpe24uanx8bi5iZHx8Zy5SZShuLG4udU4pO3ZhciBEPVcucUQsYj1XLnpZO2lmKGIuY3BuPT09bi51TiluLmJqKHtpZ3RyYW5zc2FtZToxLGVudGVyOmIuY3BuLGV4aXQ6RC5jcG59KTtlbHNle3ZhciB2PW4uYmQsaz0hIW4uajtuLmo9IiI7dmFyIGg9Vy5tNyx4PUQucGxheWVyVHlwZT09PTI/RC5vYS8xRTMrRC52aWRlb0RhdGEuR0M6Zy53ZihuKS52aWRlb0RhdGEuR0M7bi5hcGkuUygiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiKSYmKGt8fHZ8fEQucGxheWVyVHlwZSE9PTI/KHZ8fGspJiZuLmJqKHttZWNyOjAsc2Vlazp2LHNraXA6a30pOm4uYXBpLk5hKEQuY3BuKSk7aWYoRC5wbGF5ZXJUeXBlPT09MiYmYi5wbGF5ZXJUeXBlPT09MilrP24uYmooe2lndHJhbnNza2lwOjEsZW50ZXI6Yi5jcG4sZXhpdDpELmNwbixzZWVrOnYsc2tpcDpuLmp9KTpnLkJkdChuLEQsYix4LGgsdixrKTtlbHNle24udU49Yi5jcG47anMobixiLmNwbiwKYi5zdGFydFRpbWVTZWNzfHxoKTtXPVcuUXg7aWYoRC5wbGF5ZXJUeXBlPT09MSYmYi5wbGF5ZXJUeXBlPT09Mil7bi5TJD0wO0ZraihuLGIpO3ZhciBMPUZ3KG4sImMyYSIsYik7bi5iaihMKTtuLnVmKyt9ZWxzZSBpZihELnBsYXllclR5cGU9PT0yJiZiLnBsYXllclR5cGU9PT0xKXtuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpO0w9RncobiwiYTJjIik7bi5iaihMKTtuLnVmPTA7bi5TJD14O0w9RC5jcG47dmFyIGU9bi5TJDtpZihMIT09bi5ncy5XTigpKXtsZXQgRz1uLnR3LmdldChMKTtHP0cuTj1lOm4uYmooe25vcF9lOkx9KX1nLndHMShuLEQudlApfUw9TTVpKG4pO24uZ3MuY00oRCxiLHgsaCx2LGssVyxMKX1nLlJVaShuKX19OwppcD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPVdebjtpZigobi0xXjI3KT49biYmKG4rMV4yNCk8bil7dmFyIGU9RFtJW0xeNzg2XV0oSVtMXjgxN10pLEc9MDtlWzBdfHxHKys7bGV0IE49e307Zm9yKDtHPGVbSVs1XV07Rys9MillW0ddJiZFYyg1LExeNjc4NixOLGVbR10sZVtHKzFdKTt2YXIgcj1OfShuXjEzKTwyNiYmbi0yPj0xOCYmKGU9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxMXjc3MDEpLEc9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxlKzEpLGU+MCYmRz4wPyhiW0lbTF43Njg1XV09RFtJW0xeNzY5NF1dKDAsRyksRD1EW0lbTF43Njk0XV0oRysxKSk6KGJbSVtMXjc2ODVdXT1ELEQ9SVtMXjc2OTJdKSxyPVtEXSk7bi0zPj4zfHwocj1iKGssaCx4KSk7bj4+MiY3fHwoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgtRClbSVtMXjE3MTZdXSgpW0lbTF4xNjgxXV0oZnVuY3Rpb24oTil7YltJW0xeMTY3MF1dKE4pfSkpOwpyZXR1cm4gcn07CmpzPWZ1bmN0aW9uKG4sVyxEKXtpZihXPT09bi5ncy5XTigpKW1SKG4uYXBwLlZyLG4uZ3MsITEpO2Vsc2V7bGV0IGI9bi50dy5nZXQoVyk7Yj8oVz1iLFcuTj0wLFcuc3RhcnRUaW1lU2Vjcz1ELG1SKG4uYXBwLlZyLGIsITApKTpuLmJqKHtub3BfczpXfSl9fTsKRmtqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcHA7UFQoVlMoRCkpJiZELlZyLldbMl0mJmcuY18obi5sb2dnZXIsMzYwNzE3ODA2LCJTU1RNIGxpbmdlcmluZyBwbGF5YmFjayIpO24uYXBpLlNvKCk7bi5hcGkuV0ooInNlcnZlcnN0aXRjaGVkdmlkZW9jaGFuZ2UiLFcuY3BuLFcuTDMpfTsKY2M9ZnVuY3Rpb24obixXLEQ9MCl7cmV0dXJue0lEOnVhVShuLk4sVyoxRTMsRCoxRTMpLEJFOld9fTsKZy5SZT1mdW5jdGlvbihuLFcpe3ZhciBEPVd8fG4udU4sYj1uLk4uVkUoRCk7Yj8oVz1iLnZpZGVvRGF0YSxEPWIuTDN8fChuLlcuZ2V0KEQpPy5zdGFydD8/MCkvMUUzLG49bi5ncy5nZXRDdXJyZW50VGltZSgpLUQsVy5HQz1uPjA/bjowKTpnLndmKG4pLnZpZGVvRGF0YS5HQz1uLmdzLmdldEN1cnJlbnRUaW1lKCl9OwpnLlF3aT1mdW5jdGlvbihuLFcsRCl7bi5ncy5CbygpO24uZ3Muc2Vla1RvKFcsRCk7bi5ncy5wbGF5VmlkZW8oKX07CkNPPWZ1bmN0aW9uKG4sVyl7bi5MQj1OYU47bi5mQj1udWxsO24uUmEuc3RvcCgpO24uZSQmJlcmJm4uZSQuR18oKTtuLmpXPW51bGw7bi5lJD1udWxsfTsKbko9ZnVuY3Rpb24obil7VjVoKG4pO2Zvcih2YXIgVyBvZiBuLlcudmFsdWVzKCkpVy5zdGFydD49LTEmJlcuZW5kPD1JbmZpbml0eSYmKG4uZ3MucmVtb3ZlQ3VlUmFuZ2UoVyksbi5XLmRlbGV0ZShXLmdldElkKCkpLG4uYmooe3JtQWRDUjoxfSkpO3ZhciB7SUQ6RCxCRTpifT1jYyhuLC0uMDAxKTtEJiYoVz1iKjFFMy1ELm9hLGcuYWUobixELFcsRC5vYStXKSxXPW4uVy5nZXQoRC5jcG4pKSYmKFcuc3RhcnQ9RC5vYSxXLmVuZD1ELm9hK0QuZHVyYXRpb25Ncyk7KHtJRDpXfT1jYyhuLEluZmluaXR5KSk7VyYmbi5KKGBJbnZhbGlkX2NsZWFyRW5kVGltZU1zXyR7SW5maW5pdHl9X3RoYXRfZmFsbHNfZHVyaW5nXyR7YHBsYXliYWNrX2Nwbl8ke1cuY3BufV92aWRlb19pZF8ke1cudmlkZW9EYXRhPy52aWRlb0lkfV9kdXJhdGlvbk1zXyR7Vy5kdXJhdGlvbk1zfV9lbnRlclRpbWVNc18ke1cub2F9X3BhcmVudFJldHVyblRpbWVNc18ke1cuZEl9YH0uX0NoaWxkX3BsYXliYWNrc19jYW5fb25seV9oYXZlX2R1cmF0aW9uX3VwZGF0ZWRfbm90X3RoZWlyX3N0YXJ0LmApfTsKY1JiPWZ1bmN0aW9uKG4pe3VzKG4uVEMpO24uVy5jbGVhcigpO24uTi5jbGVhcigpO24uWXEuY2xlYXIoKTtuLkZGPVtdO24uVj1udWxsO24ueXcuY2xlYXIoKTtuLm51LmNsZWFyKCk7bi5jSj1bXTtuLkR0PVtdO24uczU9W107bi5FNT1bXTtuLlFyLmNsZWFyKCk7bi5NZC5jbGVhcigpO24uVTUuY2xlYXIoKTtuLnlFLmNsZWFyKCk7bi5EPSExO24uUyQ9MDtuLmJkPSExO24uWVo9ITE7bi51Zj0wO24uQ3U9MDtuLlkkPSExO24udUs9ITE7bi5qPSIiO0ZFWihuLmFwcC5Wcik7bVIobi5hcHAuVnIsbi5ncywhMSk7aWYobi5CLlp0KCk/LkooKSlmb3IobGV0IFcgb2Ygbi50dy52YWx1ZXMoKSlXLmRpc3Bvc2UoKTtuLnR3LmNsZWFyKCk7bi5ZLmlzQWN0aXZlKCkmJmcub2Uobil9OwpWNWg9ZnVuY3Rpb24obil7ZERiKG4uTixXPT5XLm9hPj0tMSYmVy5kSTw9SW5maW5pdHkpfTsKZy5hZT1mdW5jdGlvbihuLFcsRCxiKXtXLmR1cmF0aW9uTXM9RDtXLmRJPWI7KGI9bi50dy5nZXQoVy5jcG4pKT9iLmFUKEQvMUUzKTpuLmJqKHtub3BfZDpXLmNwbn0pfTsKZy56Vj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBuLkZGKWlmKFc+PUQuc3RhcnQmJlc8PUQuZW5kKXJldHVybiEwO3JldHVybiExfTsKZy5UVj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uWXEuZ2V0KEQpO2lmKCFrKXtpZihrPVdmKG4sVykpcmV0dXJuIGs7Vz1uLkdNKEQtMSxiPz8yKTtpZih2KXJldHVybiBuLmJqKHttaXNzY3VlOnYsc3E6RCx0eXBlOmIscHJldnNzdGF0ZTpXPy5zbCxwcmV2cmVjb3JkOm4uWXEuaGFzKEQtMSl9KSxuLllxLmdldChELTEpO2lmKFc/LnNsPT09MilyZXR1cm4gbi5iaih7YWRuZjoxLHNxOkQsdHlwZTpiLHByZXZyZWNvcmQ6bi5ZcS5oYXMoRC0xKX0pLG4uWXEuZ2V0KEQtMSl9cmV0dXJuIGt9Owpsd1o9ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKCFuLnVLKWlmKGcuelYobixEKSluLmJqKHtnZHU6InVuZGVjIixzZWc6RCxpdGFnOnZ9KTtlbHNlIGlmKFc9Zy5UVihuLFcsRCxiLGspLCFuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCl8fCFXPy5QTylyZXR1cm4gV307CldmPWZ1bmN0aW9uKG4sVyl7Vys9bi5IMygpO2lmKG4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSl7YTp7dmFyIEQ9bi5OO249VyoxRTM7Zm9yKGIgb2YgRC5KKWlmKEQ9Yi5MMz9iLkwzKjFFMzpiLm9hLG4+PWIub2EtMUUzJiZuPD1EK2IuZHVyYXRpb25NcysxRTMpYnJlYWsgYTt2YXIgYj12b2lkIDB9Yj17SUQ6YixCRTpXfX1lbHNlIGI9Y2MobixXKSxiPy5JRHx8KGI9Y2MobixXLDEpKTtyZXR1cm4gYj8uSUR9OwpkZj1mdW5jdGlvbihuLFcsRD0hMSl7aWYoIUQpe2ZvcihsZXQgYiBvZiBuLkZGKXtpZihXPj1iLnN0YXJ0JiZXPD1iLmVuZClyZXR1cm47aWYoVz09PWIuZW5kKzEpe2IuZW5kKz0xO3JldHVybn19bi5GRi5wdXNoKG5ldyBhd1MoVykpfX07ClRkaj1mdW5jdGlvbihuLFc9IiIpe3ZhciBEPWcuZDEoVyl8fHZvaWQgMDtXJiZEfHxuLmJqKHthZGNmZzpXPy5sZW5ndGgsZGNmZzpEPy5sZW5ndGh9KTtyZXR1cm4gRH07CmxzPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuW107Zm9yKGxldCBiIG9mIG4pYi5jcG4mJkQucHVzaChiLmNwbik7cmV0dXJuIER9OwpuJE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPSExO2lmKEQ9bi5OLk4uZ2V0KEQpKWZvcihsZXQgdiBvZiBEKXYuZHVyYXRpb25NcyE9PTAmJnYuZEkhPT12Lm9hJiYoRD12LmNwbixXPT09RCYmKGI9ITApLGImJiFuLk1kLmhhcyhEKSYmKG4uYmooe2RlY29yYXRlZEFkOkR9KSxuLk1kLmFkZChEKSkpfTsKdmFyIElhMj1mdW5jdGlvbihuLFcpe3JldHVybiBvU1tJWzEwXV0odGhpcywyLDQ0MzksbixXKX07CldMcj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtuPW4uTi5OLmdldChEKTtpZighbilyZXR1cm4tMTtmb3IobGV0IHYgb2Ygbil7aWYodi5jcG49PT1XKXJldHVybiBiO2IrK31yZXR1cm4tMX07CkRhcj1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuIDA7Zm9yKGxldCBiIG9mIG4pYi5kdXJhdGlvbk1zIT09MCYmYi5kSSE9PWIub2EmJkQrKztyZXR1cm4gRH07CmcuYmZ4PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLlcudmFsdWVzKCkpbi5ncy5yZW1vdmVDdWVSYW5nZShXKTtuLlcuY2xlYXIoKTt1cyhuLlRDKX07Ck01aT1mdW5jdGlvbihuKXt2YXIgVz1BcnJheS5mcm9tKG4uYXBwLlZyLkQudmFsdWVzKCkpLEQ9W10sYj1bXSx2PVtdLGs9W10saD1bXSx4PVtdO2Zvcih2YXIgTCBvZiBXKWlmKFc9bi5OLlZFKEwuV04oKSkpbi5iaih7YXR0YWNoX3RyYW5zX21ldGE6Vy5jcG4saGFzX3ZfbWV0YTpXLnNmPzE6MCxoYXNfYV9tZXRhOlcuWU0/MTowLGhhc19jdHhfbWV0YTpXLmpWPzE6MH0pLFcualYmJkQucHVzaChXLmpWKSxXLnNmJiZiLnB1c2goVy5zZiksVy5ZTSYmYi5wdXNoKFcuWU0pLGsucHVzaChXLmNwbiksaC5wdXNoKFcudmlkZW9EYXRhLnZpZGVvSWR8fCIiKSx4LnB1c2goVy52aWRlb0RhdGEuYWRGb3JtYXR8fFcudmlkZW9EYXRhLkZGKSxXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YSE9bnVsbCYmdi5wdXNoKFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhKTtMPXZvaWQgMDtuLnZYJiYobi5iaih7aGFzX2N0eF9saXN0OkQubGVuZ3RoPzE6MCxoYXNfY2xpcF9saXN0OmIubGVuZ3RoPwoxOjB9KSxMPXtqVjpELHJYOmJ9KTtyZXR1cm57UHc6TCxSUDp7YUQ6ayxhcTpoLGFkRm9ybWF0czp4LHNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YTp2fX19OwpnLkJkdD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtpZihXJiZEKXtuLnVOPUQuY3BuO2pzKG4sRC5jcG4sRC5zdGFydFRpbWVTZWNzfHx2KTtGa2oobixEKTt2YXIgeD1GdyhuLCJhMmEiLEQpO24uYmooeCk7bi51ZisrO3g9TTVpKG4pO24uZ3MuY00oVyxELGJ8fDAsdnx8MCwhIWssISFoLHZvaWQgMCx4KX1lbHNlIG4uYmooe21pc3NwYmtvbmFkdHJhbnM6MSxlbnRlcjpEPy5jcG58fCIiLGV4aXQ6Vz8uY3BufHwiIixzZWVrOmssc2tpcDpofSl9OwpnLlJVaT1mdW5jdGlvbihuKXtuLnlFLmFkZChuLmopO24uaj0iIjtuLmJkPSExfTsKdiRoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYjtpZihiPW4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSliPShiPW4uTi5WRShXKSkmJmIudlA/KG49bi5OLk4uZ2V0KGI/LnZQKSkmJm4uc2xpY2UoLTEpWzBdLmNwbj09PVc6ITE7cmV0dXJuIGImJkQ9PT0yPzFFMzowfTsKZy53RzE9ZnVuY3Rpb24obixXKXtpZihuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCkpe3ZhciBEPW4uTi5OLmdldChXKTtpZihEKXtmb3IodmFyIGIgb2YgRCl7bi5iaih7cmVtX21ldGE6Yi5jcG59KTtEPW47bGV0IHY9RC5XLmdldChiLmNwbik7RC5XLmRlbGV0ZShiLmNwbik7diYmRC5ncy5yZW1vdmVDdWVSYW5nZSh2KTt6VWgoRC5OLGIpfW4uWXEuY2xlYXIoKTtiPW4uTjtEPWIuTi5nZXQoVyk/P1tdO2ZvcihsZXQgdiBvZiBEKXpVaChiLHYpO2IuTi5kZWxldGUoVyk7KFc9bi5aaC5nZXQoVykpJiZuLlJ0JiZuLmdzLll5KFcpfX19OwpodnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPW4uVnx8bi5hcHAuTU4oKS5nZXRQbGF5ZXJTdGF0ZSgpO0RMKG4sITApO1c9aXNGaW5pdGUoVyk/VzpuLk4uTlcoKTt2YXIge0lEOnYsQkU6a309YmwobixXKTtXPXYmJiF2ZihuLHYpfHwhdiYmbi5OIT09bi5hcHAuTU4oKTt2YXIgaD1rKjFFMztoPW4uVyYmbi5XLnN0YXJ0PD1oJiZoPD1uLlcuZW5kOyFXJiZofHxrcihuKTt2P2cua3JaKG4sdixrLEQsYik6eHIobixrLEQsYiwiX2V4ZWN1dGUiKX07CmcuTEo9ZnVuY3Rpb24obixXLEQsYil7bi5OLlUoInRpbWVsaW5lZXJyb3IiLHtlOlcsY3BuOkQ/RDp2b2lkIDAsdmlkZW9JZDpiP2I6dm9pZCAwfSl9OwpnLmVhPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBnLmw1KE1hdGgubWF4KDAsbi01RTMpLFc/MHg4MDAwMDAwMDAwMDAwOm4tMSx7bmFtZXNwYWNlOiJjaGlsZHBsYXliYWNrIixwcmlvcml0eTo5fSl9OwpnLnhhaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5MeDtXLkx4PUQ7dmYobixXKSYmKEQ9bi5hcHAuTU4oKSxiLm9JPT09bi5XJiZrcihuKSxELnJlbW92ZUN1ZVJhbmdlKGIub0kpLEQuYWRkQ3VlUmFuZ2UoVy5MeC5vSSkpfTsKZy5rclo9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12ZihuLFcpO2lmKCFrKXtXLnBsYXllclZhcnMucHJlZmVyX2dhcGxlc3M9ITA7dmFyIGg9bmV3IGcuVXIobi5CLFcucGxheWVyVmFycyk7aC5LZj1XLktmO24uYXBpLnoyKGgsVy5wbGF5ZXJUeXBlKX1oPW4uYXBwLk1OKCk7a3x8aC5hZGRDdWVSYW5nZShXLkx4Lm9JKTtoLnNlZWtUbyhELHtxZDoiYXBwbGljYXRpb25fdGltZWxpbmVtYW5hZ2VyIiwuLi5ifSk7TEwyKG4sdil9OwpldnQ9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7Yj1XLktmO3ZhciB2PVcucGxheWVyVmFycyxrPVcucGxheWVyVHlwZTtuLks9Vzt2JiZuLmFwaS5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnModixrLEQsYil9OwpnJFM9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7bi5hcGkuV3Aobi5OLEQsVyl9Owprcj1mdW5jdGlvbihuKXtuLks9bnVsbDtuLlc9bnVsbDtuLmFwaS5kVCgpfHxuLmFwaS5jbGVhclF1ZXVlKCl9Owp2Zj1mdW5jdGlvbihuLFcpe249bi5hcHAuTU4oKTtyZXR1cm4hIW4mJm4uZ2V0VmlkZW9EYXRhKCkuS2Y9PT1XLktmfTsKWGVqPWZ1bmN0aW9uKG4sVyl7dmYobixXKXx8Zy5MSihuLCJjaGlsZFBsYXliYWNrSXNOb3RQcmVzZW50aW5nIik7cmV0dXJuIFcuZEk9PT1XLm9hK1cuZHVyYXRpb25Ncz9XLm9hK24uYXBwLk1OKCkuZ2V0Q3VycmVudFRpbWUoKSoxRTM6Vy5kSX07CmJsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtmb3IobGV0IGIgb2Ygbi5KKXtuPWIub2EvMUUzK0Q7bGV0IHY9bitiLmR1cmF0aW9uTXMvMUUzO2lmKG4+VylicmVhaztpZih2PlcpcmV0dXJue0lEOmIsQkU6Vy1ufTtEPXYtYi5kSS8xRTN9cmV0dXJue0lEOm51bGwsQkU6Vy1EfX07CkRMPWZ1bmN0aW9uKG4sVyl7bi5PPU5hTjtuLkQ9bnVsbDtuLlkuc3RvcCgpO24uWCYmVyYmbi5YLkdfKCk7bi5WPW51bGw7bi5YPW51bGx9Owp4cj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uTjtrIT09bi5hcHAuTU4oKSYmbi5hcHAuWDkoKTtuLkIuUygiaHRtbDVfc2Ficl9jc2RhaV9zZWVrX2xvZyIpfHwodj0iIik7ay5zZWVrVG8oVyx7cWQ6ImFwcGxpY2F0aW9uX3RpbWVsaW5lbWFuYWdlciIrKHY/PyIiKSwuLi5EfSk7TEwyKG4sYil9OwpMTDI9ZnVuY3Rpb24obixXKXtuPW4uYXBwLk1OKCk7dmFyIEQ9bi5nZXRQbGF5ZXJTdGF0ZSgpO1cuaXNPcldpbGxCZVBsYXlpbmcoKSYmIUQuaXNPcldpbGxCZVBsYXlpbmcoKT9uLnBsYXlWaWRlbygpOlcuaXNQYXVzZWQoKSYmIUQuaXNQYXVzZWQoKSYmbi5wYXVzZVZpZGVvKCl9OwpxZWk9ZnVuY3Rpb24obil7dmFyIFc9bi5KLmZpbmQoRD0+dmYobixEKSk7CmlmKFcpe2xldCBEPW4uYXBwLk1OKCk7a3Iobik7bGV0IGI9bmV3IGcubG0oOCk7Vz1YZWoobixXKS8xRTM7eHIobixXLHt9LGIsIl9mb3JjZSIpO0QuVSgiZm9yY2VQYXJlbnRUcmFuc2l0aW9uIix7Y2hpbGRQbGF5YmFjazoxfSk7bi5OLlUoImZvcmNlUGFyZW50VHJhbnNpdGlvbiIse3BhcmVudFBsYXliYWNrOjF9KX19OwpnLmc1PWZ1bmN0aW9uKG4sVz0tMSxEPUluZmluaXR5KXtmb3IobGV0IFt4LExdb2Ygbi5qKXt2YXIgYj14LHY9TDt2LnFJPj1XJiZ2LnRhcmdldCYmdi50YXJnZXQuZEk8PUQmJihuLk4ucmVtb3ZlQ3VlUmFuZ2UoYiksbi5qLmRlbGV0ZShiKSl9Yj1bXTtmb3IobGV0IHggb2Ygbi5KKXgub2E+PVcmJnguZEk8PUQ/KHY9bix2Lks9PT14JiZrcih2KSx2Zih2LHgpJiZ2LmFwcC5YOSgpKTpiLnB1c2goeCk7bi5KPWI7dmFyIHtJRDprLEJFOmh9PWJsKG4sVy8xRTMpO2smJihXPWgqMUUzLGcuR3IxKG4sayxXLGsuZEk9PT1rLm9hK2suZHVyYXRpb25Ncz9rLm9hK1c6ay5kSSkpOyh7SUQ6V309YmwobixELzFFMykpO1cmJmcuTEoobixgSW52YWxpZCBjbGVhckVuZFRpbWVNcz0ke0R9IHRoYXQgZmFsbHMgZHVyaW5nICR7YHBsYXliYWNrPXt0aW1lbGluZVBsYXliYWNrSWQ9JHtXLktmfSB2aWRlb19pZD0ke1cucGxheWVyVmFycy52aWRlb19pZH0gZHVyYXRpb25Ncz0ke1cuZHVyYXRpb25Nc30gZW50ZXJUaW1lTXM9JHtXLm9hfSBwYXJlbnRSZXR1cm5UaW1lTXM9JHtXLmRJfX1gfS5DaGlsZCBwbGF5YmFja3MgY2FuIG9ubHkgaGF2ZSBkdXJhdGlvbiB1cGRhdGVkIG5vdCB0aGVpciBzdGFydC5gKX07CmcuR3IxPWZ1bmN0aW9uKG4sVyxELGIpe1cuZHVyYXRpb25Ncz1EO1cuZEk9YjtiPXtvSTpnLmVhKEQsITApLHFJOkQsdGFyZ2V0Om51bGx9O2cueGFpKG4sVyxiKTt2ZihuLFcpJiZuLmFwcC5NTigpLmdldEN1cnJlbnRUaW1lKCkqMUUzPkQmJihXPVhlaihuLFcpLzFFMyxEPW4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKSx4cihuLFcse30sRCwiX3VwZGF0ZSIpKX07CiRhcj1mdW5jdGlvbihuKXtuJiZuIT09IndlYiImJnRZaS5pbmNsdWRlcyhuKX07CnVScj1mdW5jdGlvbihuLFcpe3JldHVybiBXPyEhbi5OLmdldChXKTohMX07CnJFUz1mdW5jdGlvbihuLFcpe24uZGF0YXNldC52ZXJzaW9uPVd9OwpzOHI9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuUkIsRD0oKT0+e24uRU49bmV3IGcuYnIoMCwwLDAsMCk7bi5JMD1uZXcgZy5icigwLDAsMCwwKX0sYj1oPT57aC5nZXRWaWRlb0RhdGEoKSYmbi51cGRhdGVWaWRlb0RhdGEoaC5nZXRWaWRlb0RhdGEoKSl9LHY9KGgseCk9PntuLmYxKGgseCl9LGs9aD0+e24ubkImJlhTKG4pOwpxNyhuKSE9PW4uUDAmJm4ucmVzaXplKCk7bi5hcHAuRygpLlMoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZuLm04JiYoaC5zdGF0ZS5pc1BhdXNlZCgpP24ubTgucGF1c2UoKTpoLlhRKDgpJiZuLm04LnBsYXlTdGF0ZT09PSJwYXVzZWQiJiZuLm04LnBsYXkoKSl9OwpXLmFkZEV2ZW50TGlzdGVuZXIoImluaXRpYWxpemluZ21vZGUiLEQpO1cuYWRkRXZlbnRMaXN0ZW5lcigidmlkZW9wbGF5ZXJyZXNldCIsYik7Vy5hZGRFdmVudExpc3RlbmVyKCJ2aWRlb2RhdGFjaGFuZ2UiLHYpO1cuYWRkRXZlbnRMaXN0ZW5lcigicHJlc2VudGluZ3BsYXllcnN0YXRlY2hhbmdlIixrKTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57Vy5yZW1vdmVFdmVudExpc3RlbmVyKCJpbml0aWFsaXppbmdtb2RlIixEKTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpZGVvcGxheWVycmVzZXQiLGIpO1cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlkZW9kYXRhY2hhbmdlIix2KTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInByZXNlbnRpbmdwbGF5ZXJzdGF0ZWNoYW5nZSIsayl9KX07ClllaT1mdW5jdGlvbihuKXt2YXIgVz1uLkV6KCksRD0xLGI9ITEsdj1OTncobixXLG4uZ2V0VmlkZW9Bc3BlY3RSYXRpbygpKSxrPW4uYXBwLkcoKSxoPWsuUygiZW5hYmxlX2Rlc2t0b3BfcGxheWVyX3VuZGVybGF5IikseD1GbigpLEw9Zy5kTShrLmV4cGVyaW1lbnRzLCJwbGF5ZXJfdW5kZXJsYXlfbWluX3BsYXllcl93aWR0aCIpO0w9aCYmbi5hSCYmbi5nZXRQbGF5ZXJTaXplKCkud2lkdGg+TDtpZihxNyhuKSl7dmFyIGU9cGVVKG4pO3ZhciBHPWlzTmFOKGUpfHxnLlJnfHxuciYmZy5Hbnx8TDtnLk1MJiYhZy5aWCg2MDEpP2U9di5hc3BlY3RSYXRpbzpHPUd8fGsuY29udHJvbHNUeXBlPT09IjMiO0c/TD8oRz1rLlMoInBsYWNlX3NocnVua2VuX3ZpZGVvX29uX2xlZnRfb2ZfcGxheWVyIik/MTY6bi5nZXRQbGF5ZXJTaXplKCkud2lkdGgtVy53aWR0aC0xNixlPU1hdGgubWF4KChuLmdldFBsYXllclNpemUoKS5oZWlnaHQtVy5oZWlnaHQpLzIsMCksRz1uZXcgZy5icihHLGUsVy53aWR0aCwKVy5oZWlnaHQpLG4ubkIuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRlci1yYWRpdXMiLCIxMnB4IikpOkc9bmV3IGcuYnIoMCwwLFcud2lkdGgsVy5oZWlnaHQpOihEPXYuYXNwZWN0UmF0aW8vZSxHPW5ldyBnLmJyKChXLndpZHRoLXYud2lkdGgvRCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aC9ELHYuaGVpZ2h0KSxEPT09MSYmZy5HbiYmKGU9Ry53aWR0aC1XLmhlaWdodCplLGU+MCYmKEcud2lkdGgrPWUsRy5oZWlnaHQrPWUpKSk7Zy5pSChuLmVsZW1lbnQsInl0cC1maXQtY292ZXItdmlkZW8iLE1hdGgubWF4KEcud2lkdGgtdi53aWR0aCxHLmhlaWdodC12LmhlaWdodCk8MSk7aWYoeHx8bi5jSSluLm5CLnN0eWxlLmRpc3BsYXk9IiI7bi5QMD0hMH1lbHNle0c9LVcuaGVpZ2h0O2cuTUw/Ryo9d2luZG93LmRldmljZVBpeGVsUmF0aW86Zy5zbSYmKEctPXdpbmRvdy5zY3JlZW4uaGVpZ2h0KTtHPW5ldyBnLmJyKDAsRyxXLndpZHRoLFcuaGVpZ2h0KTtpZih4fHxuLmNJKW4ubkIuc3R5bGUuZGlzcGxheT0KIm5vbmUiO24uUDA9ITF9dlkobi5FTixHKXx8KG4uRU49RyxnLkRmKGspPyhuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJ3aWR0aCIsRy53aWR0aCsicHgiLCJpbXBvcnRhbnQiKSxuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLEcuaGVpZ2h0KyJweCIsImltcG9ydGFudCIpKTpOdChuLm5CLEcuZ2V0U2l6ZSgpKSxHPW5ldyBnLk1ZKEcubGVmdCxHLnRvcCksYj1uLm5CLHg9TWF0aC5yb3VuZChHLngpLHggaW5zdGFuY2VvZiBnLk1ZPyhrPXgueCx4PXgueSk6KGs9eCx4PU1hdGgucm91bmQoRy55KSksYi5zdHlsZS5sZWZ0PXNqKGssITEpLGIuc3R5bGUudG9wPXNqKHgsITEpLGI9ITApO1c9bmV3IGcuYnIoKFcud2lkdGgtdi53aWR0aCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aCx2LmhlaWdodCk7dlkobi5JMCxXKXx8KG4uSTA9VyxiPSEwKTtnLmgxKG4ubkIsInRyYW5zZm9ybSIsRD09PTE/IiI6YHNjYWxlWCgke0R9KWApO2gmJkwhPT1uLlp4JiYoTCYmKG4ubkIuYWRkRXZlbnRMaXN0ZW5lcihHQSwKbi5reiksbi5uQi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uY2FuY2VsIixuLmt6KSxuLm5CLmNsYXNzTGlzdC5hZGQoZy5Pbi5WSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORykpLG4uWng9TCxuLmFwcC5SQi5XSigicGxheWVyVW5kZXJsYXlWaXNpYmlsaXR5Q2hhbmdlIixuLlp4PyJ0cmFuc2l0aW9uaW5nIjoiaGlkZGVuIikpO3JldHVybiBifTsKWFM9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuRygpLmNvbnRyb2xzVHlwZT09PSIzIiYmIW4ud0YmJnE3KG4pJiYhbi5hcHAuc2p8fCExO24ubkIuY29udHJvbHM9VztuLm5CLnRhYkluZGV4PVc/MDotMTtuLmFwcC5HKCkuSiYmKG4ubkIuYXJpYUhpZGRlbj0idHJ1ZSIpO1c/bi5uQi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCk6bi5uQi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCl9OwpwZVU9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuTU4oKTtpZihXPVc/Vy5nZXRWaWRlb0RhdGEoKTpudWxsKXtpZihnLkhUKFcpfHxnLmZBKFcpfHxnLkpEKFcpKXJldHVybiAxNi85O2lmKE1zKFcpJiZXLlcuTigpKXJldHVybiBuPVcuVy52aWRlb0luZm9zWzBdLnZpZGVvLHRiKG4ud2lkdGgsbi5oZWlnaHQpfXJldHVybihuPW4ubkIpP3RiKG4udmlkZW9XaWR0aCxuLnZpZGVvSGVpZ2h0KToxNi85fTsKdGI9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWF0aC5hYnMoJHIqVy1uKTwxfHxNYXRoLmFicygkci9uLVcpPDE/JHI6bi9XfTsKTk53PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQsaz10YihXLndpZHRoLFcuaGVpZ2h0KTtuLnJVP3Y9RDxrP0luZmluaXR5OjA6aXNOYU4obi5WUik/aXNOYU4obi5mVCl8fCh2PW4uZlQpOnY9bi5WUjtpc0Zpbml0ZSh2KT92PT09MCYmbi5hcHAuRygpLlp0KCkuTi5RUShIZngpJiYodj1NYXRoLm1pbihELGspKTp2PU1hdGgubWF4KEQsayk7bj12Pms/e3dpZHRoOlcud2lkdGgsaGVpZ2h0Olcud2lkdGgvdixhc3BlY3RSYXRpbzp2fTp2PGs/e3dpZHRoOlcuaGVpZ2h0KnYsaGVpZ2h0OlcuaGVpZ2h0LGFzcGVjdFJhdGlvOnZ9Ont3aWR0aDpXLndpZHRoLGhlaWdodDpXLmhlaWdodCxhc3BlY3RSYXRpbzprfTtifHxpc05hTihEKXx8KEQ+dj9uLndpZHRoPW4uaGVpZ2h0KkQ6RDx2JiYobi5oZWlnaHQ9bi53aWR0aC9EKSxuLmFzcGVjdFJhdGlvPUQpO3JldHVybiBufTsKcTc9ZnVuY3Rpb24obil7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTEpcmV0dXJuITE7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTYpcmV0dXJuITA7dmFyIFc9bi5hcHAuTU4oKTtpZighV3x8Vy5KbigpKXJldHVybiExO249bi5hcHAuUkIuZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtXPSFuLk4oMil8fFcmJlcuZ2V0VmlkZW9EYXRhKCkuSzt2YXIgRD1uLk4oMTAyNCk7cmV0dXJuIG4mJlcmJiFEJiYhbi5pc0N1ZWQoKX07CmZHUz1mdW5jdGlvbihuKXtpZihuLmNzbiE9PWcuUnYoKSlpZihuLmNzbj09PSJVTkRFRklORURfQ1NOIiluLmNzbj1nLlJ2KCk7ZWxzZXt2YXIgVz1nLlJ2KCksRD13NCgpO2lmKFcmJkQpe24uY3NuPVc7Zm9yKGxldCBiIG9mIG4uZWxlbWVudHMpe2xldCB2PWIudmlzdWFsRWxlbWVudDt2JiZ2LmlzQ2xpZW50VmUoKSYmVyYmRCYmKGcubCgiY29tYmluZV92ZV9ncmFmdHMiKT9PMyhJZigpLHYsRCk6UFYodWcpKHZvaWQgMCxXLEQsdikpfX1pZihXKWZvcihsZXQgYiBvZiBuLk4pKG49Yi52aXN1YWxFbGVtZW50KSYmbi5pc0NsaWVudFZlKCkmJkZqKFcsbil9fTsKSkViPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLlk2KXtuLlk2PW4uRChuLlkpO3RyeXtsZXQgRD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt2YXIgVz1zZXRUaW1lb3V0KCgpPT57RC5yZWplY3QoInRpbWVvdXQiKX0sMUU0KTsKbi5ZNi5vbmVycm9yPSgpPT57RC5yZWplY3QoImVycm9yIil9OwpuLlk2Lm9ubWVzc2FnZT0oKT0+e0QucmVzb2x2ZSgpO2NsZWFyVGltZW91dChXKX07CmF3YWl0IEQucHJvbWlzZTtuLlk2Lm9ubWVzc2FnZT1udWxsO24uWTYub25lcnJvcj1udWxsO24uWTYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+dm9pZCBuLnJlY2VpdmUoYikpOwpuLlUoIndvcmtlckN0b3IiLHt9KX1jYXRjaChEKXtjbGVhclRpbWVvdXQoVyksbi5ZNj8udGVybWluYXRlKCksbi5ZNi5vbm1lc3NhZ2U9bnVsbCxuLlk2Lm9uZXJyb3I9bnVsbCxuLlk2PXZvaWQgMCxuLlUoIndvcmtlckVyciIse2U6YCR7RH1gfSl9fX07CklHdz1mdW5jdGlvbihuLFcpe2lmKG4uTiYmbi5OLmJ5dGVMZW5ndGg9PT1XKXJldHVybiBuLk47Zm9yKHZhciBEPW5ldyBVaW50OEFycmF5KFcpLGI9MDtXPjA7KXtsZXQgdj1uZXcgVWludDhBcnJheShNYXRoLm1pbihXLDY1NTM2KSk7Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyh2KTtELnNldCh2LGIpO1ctPXYubGVuZ3RoO2IrPXYubGVuZ3RofXJldHVybiBuLk49RH07ClNlMT1mdW5jdGlvbihuLFcpe24uWTYmJihXPUlHdyhuLFcpLFcubGVuZ3RoPjAmJldbMF0rKyxXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjEsYTk6e2RhdGE6V319LG4ucmVxdWVzdChXKSl9OwpBRWk9YXN5bmMgZnVuY3Rpb24obil7bi5KIT09dm9pZCAwfHxuLld8fChuLlc9ITAsYXdhaXQgSkViKG4pLG4uVz0hMSxuLlk2JiYoU2UxKG4sbi5LKSxuLko9c2V0SW50ZXJ2YWwoKCk9Pnt2YXIgVz1bMSwyLDMsNF07bi5CQiYmKFcucHVzaCg1KSxuLlgmJlcucHVzaCg2KSk7c3dpdGNoKFdbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKlcubGVuZ3RoKV0pe2Nhc2UgMTpTZTEobixuLmopO2JyZWFrO2Nhc2UgMjpuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZToyLGx4OntwbGFjZWhvbGRlcjohMH19LG4ucmVxdWVzdChXKSk7YnJlYWs7Y2FzZSAzOlc9bi5NdztuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZTozLHEwOntNdzpXfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDQ6bi5ZNiYmKFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NCxpc1R5cGVTdXBwb3J0ZWQ6e3BsYWNlaG9sZGVyOiEwfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDU6bi5CQiYmCihXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjUseTg6e0JCOm4uQkJ9fSxuLnJlcXVlc3QoVykpO2JyZWFrO2Nhc2UgNjp2YXIgRD1uLmo7Vz1uLlM3O24uWTYmJihEPUlHdyhuLEQpLFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NixKTDp7ZGF0YTpELFM3Old9fSxuLnJlcXVlc3QoVykpfX0sbi5pbnRlcnZhbE1zKSkpfTsKcjU9ZnVuY3Rpb24obixXLEQpe24uc2VuZE1lc3NhZ2Uoe1sxNjFdOjIsWzExNl06VyxbMTM5XTpEfSl9OwpaZnc9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi50Yi5HKCksRD1XLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKS50cnVzdGVkUGxheWJhY2tXb3JrZXJVcmw7aWYoRD1wdyhEfHxudWxsKSluLlk2PVhNKEQpLG4uTj1uZXcgbWFVKG4uWTYpLG4uWTYuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntnLlhqKGIuZXJyb3IpfSksbi5ZNi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixiPT57dmFyIHY9Yi5kYXRhOwpiPXZbMTE4XTt2YXIgaz12WzE4MF07aWYoaylmb3IodmFyIGggb2Yga1sxMjJdKShrPW4uVy5nZXQoaFsxMTldKSkmJktMWihrLGhbMTUxXSk7c3dpdGNoKGJbMTYxXSl7Y2FzZSAxOmxldCB7WzEwM106ZSxbM106R309YlsxN107c3dpdGNoKGUpe2Nhc2UgMTpsZXQgW3IsTl09RztuLnRiLmNsZWFyUXVldWUocixOKTticmVhaztjYXNlIDI6W2JdPUc7bi50Yi5vblBsYXllclJlcXVlc3RTZW50KGIpO2JyZWFrO2Nhc2UgMzpsZXQgW0gsQSx5XT1HO2lmKGI9eT9uLkouZ2V0KHkpOm51bGwpYj1iLmdldFZpZGVvRGF0YSgpLG4udGIuVmEoSCxBLGIpO2JyZWFrO2Nhc2UgNDpsZXQgW1QseixDXT1HO2I9bi5YLmdldCh6KTtpZighYil0aHJvdyBFcnJvcihgVW5rbm93biBtaXJyb3JlZCBDdWVSYW5nZTogJHt6fWApO24udGIuQ0ooVCxiLEMpO2JyZWFrO2Nhc2UgNTpbYl09RzsoYj1uLkouZ2V0KGIpKSYmbi50Yi5ueShiLmdldFZpZGVvRGF0YSgpKTticmVhaztjYXNlIDY6W2JdPUc7KGI9Cm4uSi5nZXQoYikpJiZuLnRiLmZMKGIuZ2V0VmlkZW9EYXRhKCkpO2JyZWFrO2Nhc2UgNzpuLnRiLkdjKCk7YnJlYWs7ZGVmYXVsdDpnLnBiKGUsdm9pZCAwKX1icmVhaztjYXNlIDI6dj1uLk47aD1iWzExNl07Yj1iWzEzOV07az12Lk4uZ2V0KGgpO3RyeXtrJiZrLnJlamVjdChiKX1maW5hbGx5e3YuTi5kZWxldGUoaCl9YnJlYWs7Y2FzZSAzOnY9bi5OO2g9YlsxMTZdO2I9YlsxMzldO2s9di5OLmdldChoKTt0cnl7ayYmay5yZXNvbHZlKGIpfWZpbmFsbHl7di5OLmRlbGV0ZShoKX1icmVhaztjYXNlIDQ6T2Z0KG4sdik7YnJlYWs7Y2FzZSA1OmJyZWFrO2Nhc2UgNjpiPXZbMTE4XTtoPW4uSy5nZXQoYls5OF0pO3Y9dlsxMzhdO2lmKGgpe2xldCB7WzEwM106cixbM106Tn09YlsxN107c3dpdGNoKHIpe2Nhc2UgImxvYWQiOmgubG9hZCguLi5OKTt2JiZyNShuLk4sdik7YnJlYWs7Y2FzZSAicGxheSI6Yj1oLnBsYXkoLi4uTik7diYmc1oobix2LGJ8fHZvaWQgMCk7YnJlYWs7Y2FzZSAicGF1c2UiOmgucGF1c2UoLi4uTiksCnYmJnI1KG4uTix2KX19YnJlYWs7Y2FzZSA3OmlmKHY9bi5LLmdldChiWzk4XSkpe3ZhciB7WzEzNV06eCxbMTY1XTpMfT1iWzE0NF07Yj12LmVfKCk7c3dpdGNoKHgpe2Nhc2UgImN1cnJlbnRUaW1lIjpiLmN1cnJlbnRUaW1lPUw7YnJlYWs7Y2FzZSAiZGVmYXVsdFBsYXliYWNrUmF0ZSI6Yi5kZWZhdWx0UGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAibG9vcCI6Yi5sb29wPUw7YnJlYWs7Y2FzZSAibXV0ZWQiOmIubXV0ZWQ9TDticmVhaztjYXNlICJwbGF5YmFja1JhdGUiOmIucGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAic3JjIjpMPyhiPW4uRC5nZXQoTCkpJiZ2LnM1KGIpOih2LlZRKCksdi5lJCgpKTticmVhaztkZWZhdWx0OmcucGIoeCx2b2lkIDApfX1icmVhaztjYXNlIDg6aWYodj1uLlcuZ2V0KGJbMTE5XSkpe2xldCB7dHlwZTpyLGFyZ3M6TixsVDpIfT17dHlwZTpiWzQ3XVsxNjFdLGFyZ3M6Yls0N11bM10sbFQ6Wy4uLmJbNDddWzNdXX07c3dpdGNoKHIpe2Nhc2UgImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiOmI9Ck5bMF1bNV07di52aWRlb0RhdGEuWD1iP09OKGIpOm51bGw7SFswXT12LnZpZGVvRGF0YTticmVhaztjYXNlICJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIjpiPU5bMF1bNDhdO3YudmlkZW9EYXRhLko9Yj9PTihiKTpudWxsO0hbMF09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiOmI9TlsxXTtoPSEhdi52aWRlb0RhdGEuZ2V0UGxheWVyUmVzcG9uc2UoKTt6Zih2LnZpZGVvRGF0YSx7cmF3X3BsYXllcl9yZXNwb25zZTpiWzEyNV18fHZvaWQgMH0sIWgsITEpO0hbMV09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaGVhcnRiZWF0cGFyYW1zIjpiPU5bMF07SFswXT17dXJsOmJbMTYyXSxpbnRlcnZhbDpiWzU2XSxyZXRyaWVzOmJbMTQwXX07YnJlYWs7Y2FzZSAibm9uZmF0YWxlcnJvciI6Yj1OWzBdO0hbMF09bmV3IGcuQ2koYls0NV0sYlszOF0sYlsxNDVdKTticmVhaztjYXNlICJzdGF0ZWNoYW5nZSI6Yj1OWzBdO2g9TXdoKGJbMTUxXSk7SFswXT0KbmV3IGcuTjcoaCxNd2goYlsxMTNdKSk7di5wbGF5ZXJTdGF0ZT1oO2JyZWFrO2Nhc2UgInZpZGVvZWxlbWVudGV2ZW50IjpIWzBdPW5ldyBQQlModi5tZWRpYUVsZW1lbnQsTlswXVsxNjFdKX12LmV2ZW50cy5XSihyLC4uLkgpfWJyZWFrO2Nhc2UgOTpuLkQuc2V0KGJbMTAxXSxiWzEwMF0pO2JyZWFrO2RlZmF1bHQ6Zy5wYihiLHZvaWQgMCl9fSksbi5ZNi5wb3N0TWVzc2FnZSh7dHlwZToiQk9PVFNUUkFQIiwKZGF0YTp7aG9zdG5hbWU6d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLGhyZWY6d2luZG93LmxvY2F0aW9uLmhyZWYscHJvdG9jb2w6d2luZG93LmxvY2F0aW9uLnByb3RvY29sLHNlYXJjaDp3aW5kb3cubG9jYXRpb24uc2VhcmNoLHl0Q29uZmlnOntJTk5FUlRVQkVfSE9TVF9PVkVSUklERTp3aW5kb3cubG9jYXRpb24ub3JpZ2luLC4uLmcucWkueXQuY29uZmlnX319fSksbi5zZW5kTWVzc2FnZSh7WzE2MV06MyxbMTc1XTpXLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKX0pfTsKc1o9ZnVuY3Rpb24obixXLEQpe0Q/RC50aGVuKGI9PntyNShuLk4sVyxiKX0sYj0+e24uTi5zZW5kTWVzc2FnZSh7WzE2MV06MSwKWzExNl06VyxbMTM5XTpifSl9KTpyNShuLk4sVyxudWxsKX07Ck9mdD1mdW5jdGlvbihuLFcpe3ZhciBEPVdbMTE4XTtzd2l0Y2goRFsxMDNdKXtjYXNlIDE6bGV0IFtiLHYsa109RFszXTtEPW4udGIuZFEoYix2LGspOyhXPVdbMTM4XSkmJnNaKG4sVyxEKTticmVhaztjYXNlIDI6bGV0IFtoLHhdPURbM107RD1VYWgoeCxoKTsoVz1XWzEzOF0pJiZzWihuLFcsQWUoU2soRCxMPT4oe1sxNl06Zy5sWihMKSxbMTQ2XToiYzFhImluIEwuUlI/IWcudVouaXNJbml0aWFsaXplZCgpOiExfSkpKSk7CmJyZWFrO2Nhc2UgMzpEPW4udGIueWYoKTsoVz1XWzEzOF0pJiZzWihuLFcsRCk7YnJlYWs7ZGVmYXVsdDpnLnBiKERbMTAzXSx2b2lkIDApfX07CnlFMj1mdW5jdGlvbihuKXt2YXIgVz1uLnRiLkcoKSxEPW4udGIubGooKSxiPW4udGIuaGgoKSx2PUQuZ2V0UGxheWVyU2l6ZSgpO0Q9RC5FeigpO1c9e1syM106bi50Yi5GbigpLFs0NF06e1sxXTpXLlMkLFsxMjRdOlcuQ3UsWzEzMV06Vy55RSxbMTQzXTpXLmpXLFsxNTVdOlcuRVp9LFs1OV06bi50Yi5FOCgpLFs2MV06bi50Yi52MygpLFs2Nl06bi50Yi5pc0Z1bGxzY3JlZW4oKSxbNjddOiExLFs3MF06bi50Yi5qSSgpLFs3MV06bi50Yi5pc0lubGluZSgpLFs3Ml06bi50Yi5CUCgpLFs3M106bi50Yi5pc011dGVkKCksWzc1XTpuLnRiLmlzT3JjaGVzdHJhdGlvbkxlYWRlcigpLFs3N106bi50Yi5BbigpLFs4MF06ITEsWzgyXTohMSxbODNdOm4udGIuU0koKSxbODRdOm4udGIuUTAoKSxbMTA2XTpuLnRiLmlzTXV0ZWQoKSxbMTI2XTp7WzE3OV06di53aWR0aCxbNTNdOnYuaGVpZ2h0fSxbMTMzXTpuLnRiLk1OKCkuSEwoKSxbMTM0XTpuLnRiLk1OKCkuVXUoKSxbMTY2XTp7WzE3OV06RC53aWR0aCwKWzUzXTpELmhlaWdodH0sWzE3MV06YixbMTc0XTpuLnRiLmdldFZvbHVtZSgpfTtiPVtdO2ZvcihsZXQgW2ssaF1vZiBuLlcuZW50cmllcygpKXY9ayxEPWguZ2V0VmlkZW9EYXRhKCksYi5wdXNoKHtbMTE5XTp2LFsxNTFdOntbMTY3XTp7WzI1XTpELlJEfX19KTtuLlkmJk9iamVjdC5hc3NpZ24oVyx7WzY3XTpuLnRiLkhvKCksWzgwXTpuLnRiLmdXKCksWzgyXTpuLnRiLmRUKCl9KTtyZXR1cm57WzJdOlcsWzEyMl06Yn19OwpFJE09ZnVuY3Rpb24obixXKXt2YXIgRD1gbWFpbi5jdWVSYW5nZToke24uTysrfWA7aWYobi5YLmdldChEKSlyZXR1cm4gRDtuLlguc2V0KEQsVyk7bi5qLnNldChXLEQpO3JldHVybiBEfTsKaWZDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qLmdldChXKTtpZihEKXJldHVybiBuLmouZGVsZXRlKFcpLG4uWC5kZWxldGUoRCksRH07CktMWj1mdW5jdGlvbihuLFcpe1cmJihPYmplY3QuYXNzaWduKG4uTixXKSxuLmF1ZGlvVHJhY2s9RGMoV1s3XSksbi5YPVhMUyhXWzE0N10pLFc9V1sxNjddKSYmKG4udmlkZW9EYXRhLlR3PVdbMThdLG4udmlkZW9EYXRhLmNhcHRpb25UcmFja3M9V1syMF0ubWFwKEQ9PlZ3KEQpKSxuLnZpZGVvRGF0YS53YT1XWzIxXSxuLnZpZGVvRGF0YS5PJD1XWzE5XSxuLnZpZGVvRGF0YS5HQz1XWzMwXSxuLnZpZGVvRGF0YS52WD1EYyhXWzM1XSksbi52aWRlb0RhdGEuU3c9V1sxNzZdKX07CnU4Yj1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtyZXR1cm4gbi5mYSh7WzE2MV06OSxbMTddOlcsWzExOV06RH0pfTsKZy5wSj1mdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtuLnNlbmRNZXNzYWdlKHtbMTYxXTo5LFsxN106VyxbMTE5XTpEfSl9OwpZcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goe1sxNTBdOm4uc3RhcnQoRCksWzQyXTpuLmVuZChEKX0pO3JldHVybiBXfTsKbyRVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJlc9PT0yPyhuLkIuWnQoKS5OLlFRKEhmKT9uLlZyLk4/LmlzQWQoKT8/ITE6bi5Rdz8uTmQobi5nZXRDdXJyZW50VGltZSgpKSk/bi5pdTotMTpXIT09Mnx8bi5MWSgpP24uaXU6bi5CJH07CnY3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNqJiZuLmdldFZpZGVvRGF0YSgpLm11dGVkQXV0b3BsYXl9Owp2YXIgbXR4PWZ1bmN0aW9uKG4pe3JldHVybiBYRFtJWzEwXV0odGhpcywxNiw0MDI5LG4pfTsKZko9ZnVuY3Rpb24obixXLEQpe1cmJihXPW4uVkUoe3BsYXllclR5cGU6RH0pLFc9PT1uLmNYKCkmJihXLmdldFZpZGVvRGF0YSgpLlBYPSEwKSl9OwpKYj1mdW5jdGlvbihuLFcsRD0hMCxiLHYsayl7dmFyIGg9bi5WRSh7cGxheWVyVHlwZTp2fSkseD1oLmdldFZpZGVvRGF0YSgpO2guZ2V0UGxheWVyVHlwZSgpPT09MiYmIW4uTFkoaCkmJiF4LmlzU2Vla2FibGV8fGcucEEoeCl8fChoJiZoPT09bi5jWCgpJiZuLkhOJiYhZGF0KG4sVykmJm4uc2V0TG9vcFJhbmdlKG51bGwpLG4uc2Vla1RvKFcsRCxiLHYsaywiX3JlcXVlc3QiKSl9OwpBYj1mdW5jdGlvbihuLFcpe1c9bi5WRSh7cGxheWVyVHlwZTpXfSk7Vz1nLklYKG4sVyk7cmV0dXJuIFNhKG4sVy5QRygpLFcpfTsKUGY9ZnVuY3Rpb24obixXLEQpe24uQi5iTiYmKG4uRl89VyxXLm11dGVkfHxLSihuLCExKSxEJiZuLkIuc3RvcmVVc2VyVm9sdW1lJiYhbi5CLnM1JiYoRD17dm9sdW1lOk1hdGguZmxvb3IoVy52b2x1bWUpLG11dGVkOlcubXV0ZWR9LEQudW5zdG9yYWJsZXx8KGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQpLGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQsMjU5MkUzKSkpLE9aKG4pLEQ9Zy5vZCYmbi5tZWRpYUVsZW1lbnQmJiFuLm1lZGlhRWxlbWVudC5YXygpJiYhbi5tZWRpYUVsZW1lbnQuVEMoKSxuLkIuczUmJiFEfHxnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIix7bXV0ZWQ6Vy5tdXRlZCx2b2x1bWU6Vy52b2x1bWUsdW5zdG9yYWJsZTohbi5CLnN0b3JlVXNlclZvbHVtZX0pKX07ClZTPWZ1bmN0aW9uKG4pe3JldHVybiBuLmNYKCkuZ2V0VmlkZW9EYXRhKCl9Owp6djI9ZnVuY3Rpb24obixXPSExKXt2YXIgRD0hMTtuLkIuR0MmJihuLlJCLldKKCJwYWdlVHJhbnNpdGlvbiIpLEQ9ITApO24uc3RvcFZpZGVvKEQsVyl9OwpVWj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtXPXtpZDpXLG5hbWVzcGFjZTpoPz8iYXBwYXBpIn07az09PSJjaGFwdGVyIj8oVy5zdHlsZT1aTC5DSEFQVEVSX01BUktFUixXLnZpc2libGU9ITApOmlzTmFOKHYpfHwoaz09PSJhZCI/Vy5zdHlsZT1aTC5BRF9NQVJLRVI6KFcuc3R5bGU9WkwuVElNRV9NQVJLRVIsVy5jb2xvcj12KSxXLnZpc2libGU9ITApO24uWEgoW25ldyBnLmw1KEQqMUUzLGIqMUUzLFcpXSwxKTtyZXR1cm4hMH07CmxHdz1mdW5jdGlvbihuLFcsRD0hMCxiLHYpe3ZhciBrPW4uVkUoe3BsYXllclR5cGU6MX0pLGg9MDtrLmdldFN0cmVhbVRpbWVPZmZzZXQoKSYmIWsuU1coKSYmKGg9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO0piKG4sVy1oLEQsYiwxLHYpfTsKajgyPWZ1bmN0aW9uKG4pe2lmKG4uQi5zdG9yZVVzZXJWb2x1bWUpcmV0dXJuIHJQKCk7dmFyIFc9bi5pc0lubGluZSgpfHxuLndlYlBsYXllckNvbnRleHRDb25maWcuY29udGV4dElkPT09IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0lOTElORV9QUkVWSUVXIjtyZXR1cm4gbi5adCgpLk4uUVEoVE5DKSYmVz97dm9sdW1lOnJQKCkudm9sdW1lLG11dGVkOm4uQi5tdXRlfTp7dm9sdW1lOjEwMCxtdXRlZDpuLkIubXV0ZX19OwpDQlM9ZnVuY3Rpb24obixXLEQsYix2LGs9ITApe3ZhciBoPW4uaEMoKTtpZighaClyZXR1cm4gayYmbi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjayYmbi5KVi5wdXNoKHtpZDpXLFd1OkQsdHY6Yn0pLCExO2s9aC1uLmdldEN1cnJlbnRUaW1lKCk7cmV0dXJuIFVaKG4sVyxELWssYi1rLHZvaWQgMCx2b2lkIDAsdil9Owp5Wj1mdW5jdGlvbihuLFcpe24ucGxheWxpc3QmJihnLkNwKG4ucGxheWxpc3QpLG4ucGxheWxpc3Q9bnVsbCk7VyYmKG4uWlYmJihXLmZldGNoPTApLG4ucGxheWxpc3Q9bmV3IEJOYihuLkIsVykpfTsKaWw9ZnVuY3Rpb24obixXLEQpe1c9bi5WRSh7cGxheWVyVHlwZTpEfSkuTnAoVyk7RCYmbi5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpIT09RHx8RVoobiwiY3VlcmFuZ2VzcmVtb3ZlZCIsVyl9OwpVYWg9ZnVuY3Rpb24obixXKXtyZXR1cm4gSFAobmV3IGcuRkxVKHtwSzpXLGNsaWVudFBsYXliYWNrTm9uY2U6bn0pKX07CndlVT1mdW5jdGlvbihuLFcsRCxiPUluZmluaXR5LHY9MCl7dmFyIGs9bi5NTigpO0Q9RHx8ay5nZXRQbGF5ZXJUeXBlKCk7KGs9dWwobixELFcsITApKXx8KGs9b1gobixELFcsITApKTtXPW4uY1goKTtEPT09MiYmVyYmKEQ9ay5nZXRWaWRlb0RhdGEoKSxXLlV5KEQuY2xpZW50UGxheWJhY2tOb25jZSxELkZGfHwiIixELmJyZWFrVHlwZXx8MCxELllLLEQudmlkZW9JZHx8IiIpKTtuLldwKGssYiwwLHYpfTsKTVlNPWZ1bmN0aW9uKG4pe3ZhciBXPW4ud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmw7cmV0dXJuIFc/cHcoVykudG9TdHJpbmcoKTpuLndlYlBsYXllckNvbnRleHRDb25maWcuanNVcmx9OwpSdlo9ZnVuY3Rpb24obil7dmFyIFc9IiIsRD0iIixiPU1ZTShuKSx2PWcubGYoYiwiY2IiKTt2JiYvXltcdy1dKyQvLnRlc3QodikmJihEPXYpO2IuaW5kZXhPZigiLy8iKT09PTAmJihiPW4uQi5wcm90b2NvbCsiOiIrYik7dj1iLmxhc3RJbmRleE9mKCIvYmFzZS5qcyIpO3YhPT0tMSYmKFc9Yi5zdWJzdHJpbmcoMCx2KzEpKTtpZihiPUVycm9yKCkuc3RhY2spaWYoYj1iLm1hdGNoKC9cKCguKj9cLyhkZWJ1Zy0pP3BsYXllci0uKj8pOlxkKzpcZCtcKS8pKWI9YlsxXSxiLmluY2x1ZGVzKFcpfHxnLkdxKEVycm9yKGBQbGF5ZXIgbW9kdWxlIFVSTCBtaXNtYXRjaDogJHtifSB2cyAke1d9LmApKTtXPW5ldyBnLmQ1KG4uUkIsVyxEKTtqTGooVyx7ZGVzdHJveWVkOigpPT57bi5vbkFwaUNoYW5nZSgpfX0pOwpyZXR1cm4gV307ClE4eD1mdW5jdGlvbihuKXtpZihuLkIuWnQoKS5OLlFRKG5hKSl7bi5tUS50aWNrKCJ3YXNtX3MiKTtsZXQgVz1FZChuLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCx2b2lkIDAsbi5JbC5iaW5kKG4pKTtuLkIuZUI9U2soVyxEPT57bi5tUS50aWNrKEQuaXNBc21qcz8id2FzbV9mYSI6Indhc21fZnciKTtKdShuLkIsRCk7cmV0dXJuIER9LEQ9PntuLm1RLnRpY2soIndhc21fZmVyciIpOwp0aHJvdyBEO30pfWVsc2UgT28obixmdW5jdGlvbigpe3ZhciBXPXRoaXM7CnJldHVybiBmdW5jdGlvbiooKXtXLm1RLnRpY2soIndhc21fcyIpO3ZhciBEPVFZKFcueDYpP2I9PlNrKERyWihXLng2KSx2PT52LmdCKGIpKTp2b2lkIDA7CnRyeXtsZXQgYj1FZChXLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCxELFcuSWwuYmluZChXKSksdj15aWVsZCpQUChiKTtXLm1RLnRpY2sodi5pc0FzbWpzPyJ3YXNtX2ZhIjoid2FzbV9mdyIpO0p1KFcuQix2KX1jYXRjaChiKXtXLm1RLnRpY2soIndhc21fZmVyciIpfX0oKX0pfTsKVll4PWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBnLlVyKG4uQixuLk5RKTtuLlJCLldKKCJpbml0aWFsdmlkZW9kYXRhY3JlYXRlZCIsVyk7cmV0dXJuIG9YKG4sMSxXLCExKX07CmFHMT1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7Vy5zZXRQbGF5YmFja1JhdGUobi5CLko/MTpjRXIobixOdW1iZXIoZy5aSSgieXQtcGxheWVyLXBsYXliYWNrLXJhdGUiKSl8fDEpKTtXLmgkKG4uWkwsbik7Vy5zbSgpfTsKVzJ3PWZ1bmN0aW9uKG4pe24uamgoKTt2YXIgVz1uLk5RO3pBKG4pO24uZXZlbnRzLk5OKHdpbmRvdywicmVzaXplIixuLkE2KTt2YXIgRD1WUyhuKTtnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIixuLkZfKTtpZihXJiZaVChXKSl7bGV0IGI9dkUobi5CKTtiJiYhbi5aViYmKFcuZmV0Y2g9MCk7bGV0IHY9Zy5vNChuLkIpO3YmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9wcl9zIik7aWYoIWJ8fG4uWlYpaWYodiYmIW4uWlYpbGwobik7ZWxzZSBpZighRC5PVigpKW4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSl9bi5RVChuLmNYKCksITEsITApOwpuLmNYKCkuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCl8fChXPWhnUyghbi5CLmRldmljZUlzQXVkaW9Pbmx5KSxXPT09ImZtdC5ub25lYXZhaWxhYmxlIj9uLktnKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsIm5vY29kZWNzLjEiKTpXPT09Imh0bWw1Lm1pc3NpbmdhcGkiP24uS2coVywyLCJVTlNVUFBPUlRFRF9ERVZJQ0UiLCJub2NhbnBsYXltZWRpYS4xIik6RCYmRC5PVigpJiZDSihuKSYmKG4uQi5VNXx8bi5CLk1kKT9CZihuKTpELkpHP24uUkIubXV0ZWRBdXRvcGxheSh7ZHVyYXRpb25Nb2RlOkQubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZX0pOmcuWkkoInl0LXBsYXllci1wbGF5YmFjay1vbi1yZWxvYWQiKT8oZy56VSgiZW1iZWRzSXRwUGxheWVkT25SZWxvYWQiLHtwbGF5ZWRPblJlbG9hZDohMCxpc0xvZ2dlZEluOiEhbi5CLlRDfSksZy5QQigieXQtcGxheWVyLXBsYXliYWNrLW9uLXJlbG9hZCIsITEpLEJmKG4pKToKbi5CLlk9PT0ibGVhbmJhY2sifHxuNWoobiksZy5lTShuLkIpfHxnLnNkKG4uQik/KGcuY0IoZy5EeSgpLCgpPT57RlMobil9KSxnLmNCKGcuRHkoKSwoKT0+e3g1KCl9KSk6KEZTKG4pLHg1KCkpKX07CkRlYj1mdW5jdGlvbihuKXt2YXIgVz1EPT57RC5zdGFjayYmRC5zdGFjay5pbmRleE9mKCJwbGF5ZXIiKSE9PS0xJiZuLk1OKCkuVWUoRCl9OwpTaS5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTtLdy5wdXNoKFcpO3JldHVybigpPT57U2kudW5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTt2YXIgRD1Ldy5pbmRleE9mKFcpO0QhPT0tMSYmS3cuc3BsaWNlKEQsMSl9fTsKb1g9ZnVuY3Rpb24obixXLEQsYix2KXtpZihuLmZnJiZELk9WKCkpbj1uZXcgZy53NShuLkIsbi5mZyxXLEQpO2Vsc2V7bGV0IGs9bi5tUTtXPT09MiYmKGs9bmV3IGJjUyhuLkIpKTtXPW5ldyBnLk03KG4sbi5CLFcsayxuLnRlbXBsYXRlLG4udmlzaWJpbGl0eSxuLmlqLEQsdixuLmRoLG4uaTcpO24uQi5adCgpLk4uUVEodjVpKSYmbi5uVChELmNsaWVudFBsYXliYWNrTm9uY2UpO249bmV3IGcuUlgoVyl9YiYmbi5zbSgpO3JldHVybiBufTsKY0VyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5SQi5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7Vz1OdW1iZXIoVy50b0ZpeGVkKDIpKTtuPURbMF07RD1EW0QubGVuZ3RoLTFdO1c8PW4/Vz1uOlc+PUQ/Vz1EOihuPU1hdGguZmxvb3IoVyoxMDArLjAwMSklNSxuIT09MCYmKFctPW4qLjAxLFc9TWF0aC5mbG9vcihXKjEwMCsuMDAxKS8xMDApKTtyZXR1cm4gV307ClZaPWZ1bmN0aW9uKG4pe1FaKG4pO24uc2V0TG9vcFZpZGVvKCExKTtuLnNldExvb3BSYW5nZShudWxsKTtuLlJCLldKKCJsZWdhY3lhZHRyYWNraW5ncGluZ3Jlc2V0Iik7bi5hbD17fTtuLkpWPVtdO1pCaihuLm1RKTtpZihuLlF3KXt2YXIgVz1uLlF3LEQ9bi5jWCgpO0QuZ2V0UGxheWVyVHlwZSgpO0NPKFcsITEpO25KKFcpO2NSYihXKTtXLmdzPUR9Vz1uLnNVO249bi5jWCgpO24uZ2V0UGxheWVyVHlwZSgpIT09MSYmZy5MSihXLCJpbnZhbGlkUGFyZW50VmlkZW9QbGF5ZXJUeXBlIik7REwoVywhMSk7Zy5nNShXKTtXLk49bn07Cmswaj1mdW5jdGlvbihuKXt2YXIgVz1uLm1lZGlhRWxlbWVudDt6aSgpP24ua1YuTk4oVywid2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQiLG4udFcpOndpbmRvdy5kb2N1bWVudC5waWN0dXJlSW5QaWN0dXJlRW5hYmxlZCYmKG4ua1YuTk4oVywiZW50ZXJwaWN0dXJlaW5waWN0dXJlIiwoKT0+e24ucEwoITApfSksbi5rVi5OTihXLCJsZWF2ZXBpY3R1cmVpbnBpY3R1cmUiLCgpPT57bi5wTCghMSl9KSk7Cnc4JiYobi5rVi5OTihXLCJ3ZWJraXRiZWdpbmZ1bGxzY3JlZW4iLCgpPT57bi5GTygzKX0pLG4ua1YuTk4oVywid2Via2l0ZW5kZnVsbHNjcmVlbiIsKCk9PntuLkZPKDApfSkpfTsKekE9ZnVuY3Rpb24obil7bi5tZWRpYUVsZW1lbnQ9bi5CLmRldmljZUlzQXVkaW9Pbmx5P25ldyBnLkdWKGcuekYoIkFVRElPIikpOnFLLnBvcCgpfHxuZXcgZy5HVihnLnpGKCJWSURFTyIpKTtuLkIuWnQoKS5OLlFRKGNmKXx8Zy51KG4sbi5tZWRpYUVsZW1lbnQpO24uTU4oKS5zZXRNZWRpYUVsZW1lbnQobi5tZWRpYUVsZW1lbnQpO3RyeXtuLkIuczU/KG4uR3YmJm4uZXZlbnRzLndIKG4uR3YpLG4uR3Y9bi5ldmVudHMuTk4obi5tZWRpYUVsZW1lbnQsInZvbHVtZWNoYW5nZSIsbi56ZCkpOihuLm1lZGlhRWxlbWVudC5jSihuLkZfLm11dGVkKSxuLm1lZGlhRWxlbWVudC5zZXRWb2x1bWUobi5GXy52b2x1bWUvMTAwKSl9Y2F0Y2godil7bi5LZygiaHRtbDUubWlzc2luZ2FwaSIsMiwiVU5TVVBQT1JURURfREVWSUNFIixgc2V0dm9sdW1lLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09Im9iamVjdCImJiJtZXNzYWdlImluIHYmJnR5cGVvZiB2Lm1lc3NhZ2U9PT0ic3RyaW5nIiYmdi5tZXNzYWdlLnJlcGxhY2UoL1s7OixdL2csCiJfIil9YCk7cmV0dXJufW4ua1YuSigpO2swaihuKTt2YXIgVz1uLnRlbXBsYXRlLEQ9bi5tZWRpYUVsZW1lbnQuZV8oKTtXLm5CPUQ7Vy53Rj0hMTtXLm5CLnBhcmVudE5vZGV8fGcuanAoVy5WUCxXLm5CLDApO1cuRU49bmV3IGcuYnIoMCwwLDAsMCk7WWVpKFcpO1hTKFcpO0Q9Vy5uQjtnLlVJKEQsInZpZGVvLXN0cmVhbSIpO2cuVUkoRCxnLk9uLk1BSU5fVklERU8pO3ZhciBiPVcuYXBwLkcoKTtiLmxRJiZELnNldEF0dHJpYnV0ZSgiZGF0YS1uby1mdWxsc2NyZWVuIiwidHJ1ZSIpO2IueGgmJihELnNldEF0dHJpYnV0ZSgid2Via2l0LXBsYXlzaW5saW5lIiwiIiksRC5zZXRBdHRyaWJ1dGUoInBsYXlzaW5saW5lIiwiIikpO2IuSkcmJlcubkImJlcuTk4oRCwiY2xpY2siLEQucGxheSxEKTt0cnl7bi5tZWRpYUVsZW1lbnQuRCgpfWNhdGNoKHYpe24uS2coImh0bWw1Lm1pc3NpbmdhcGkiLDIsIlVOU1VQUE9SVEVEX0RFVklDRSIsYGFjdGl2YXRlLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09CiJvYmplY3QiJiYibWVzc2FnZSJpbiB2JiZ0eXBlb2Ygdi5tZXNzYWdlPT09InN0cmluZyImJnYubWVzc2FnZS5yZXBsYWNlKC9bOzosXS9nLCJfIil9YCl9fTsKRVo9ZnVuY3Rpb24obixXLEQpe24uUkIuV0ooVyxEKTt2YXIgYj1nLms2KG4uQil8fGcuRGYobi5CKXx8Zy5NVihuLkIpO2lmKEQmJmIpe2xldCB2O3N3aXRjaChXKXtjYXNlICJjdWVyYW5nZW1hcmtlcnN1cGRhdGVkIjp2PSJvbkN1ZVJhbmdlTWFya2Vyc1VwZGF0ZWQiO2JyZWFrO2Nhc2UgImN1ZXJhbmdlc2FkZGVkIjp2PSJvbkN1ZVJhbmdlc0FkZGVkIjticmVhaztjYXNlICJjdWVyYW5nZXNyZW1vdmVkIjp2PSJvbkN1ZVJhbmdlc1JlbW92ZWQifXYmJmcuUlQobi5SQix2LEQubWFwKGs9Pih7Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH0sZW5kOmsuZW5kLGlkOmsuZ2V0SWQoKSxuYW1lc3BhY2U6ay5uYW1lc3BhY2U9PT0iYWQiPyJhZCI6IiIsc3RhcnQ6ay5zdGFydCxzdHlsZTprLnN0eWxlLHZpc2libGU6ay52aXNpYmxlLG1hcmtlclBvc2l0aW9uTXM6ay5tYXJrZXJQb3NpdGlvbk1zfSkpKX19OwpoZDE9ZnVuY3Rpb24obixXPSEwKXt2YXIgRDtpZihEPW4uckgpe0Q9bi5ySDt2YXIgYj1uLm1lZGlhRWxlbWVudDtEPSEhYiYmYj09PUQubWVkaWFFbGVtZW50fUQmJihuLmNQKCksekEobikpO0Q9bi5NTigpO0QuY1AoIVcpO0QuTTkobi5zRixuKTtELmdldFBsYXllclR5cGUoKSE9PTEmJkQuZGlzcG9zZSgpO249bi5WcjtXPVtuLkpdO24uSj1uLmNKO1NzKG4sW10sVyl9OwpueD1mdW5jdGlvbihuLFcsRCxiKXtEJiYobi5jUCgpLHpBKG4pKTtEPW4uTU4oKTtELnhLKFcpO3ZhciB2PW4uZ2V0VmlkZW9EYXRhKCksaz17fTtrLnZpZGVvX2lkPXYudmlkZW9JZDtrLmFkZm9ybWF0PXYuYWRGb3JtYXQ7di5pc0xpdmVQbGF5YmFja3x8KGsuc3RhcnQ9RC5nZXRDdXJyZW50VGltZSgpLGsucmVzdW1lPSIxIik7di5pc0xpdmVQbGF5YmFjayYmSTQodikmJmcuR2wobi5CKSYmKGsubGl2ZV91dGNfc3RhcnQ9RC5oQygpLGsucmVzdW1lPSIxIik7di5EJiYoay52dnQ9di5EKTt2LmtXJiYoay52c3NfY3JlZGVudGlhbHNfdG9rZW49di5rVyxrLnZzc19jcmVkZW50aWFsc190b2tlbl90eXBlPXYuUXYpO3Yub2F1dGhUb2tlbiYmKGsub2F1dGhfdG9rZW49di5vYXV0aFRva2VuKTtrLmF1dG9wbGF5PTE7ay5yZWxvYWRfY291bnQ9di5TJCsxO2sucmVsb2FkX3JlYXNvbj1XO3Yub1QmJihrLnVucGx1Z2dlZF9wYXJ0bmVyX29wdF9vdXQ9di5vVCk7di5MQiYmKGsueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXI9CnYuTEIpO3YucGxheWVyUGFyYW1zJiYoay5wbGF5ZXJfcGFyYW1zPXYucGxheWVyUGFyYW1zKTt2LnR3JiYoay5pdGN0PXYudHcpO24ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGssdm9pZCAwLCEwLHZvaWQgMCx2b2lkIDAsYik7Vz09PSJzaWduYXR1cmUiJiZuLlF3JiZhWChuKX07CkwyTT1mdW5jdGlvbihuKXtpZigheGVyKG4pKXt2YXIgVz1uLmNYKCkuaDUoKTtXJiYoVz1XLmJkKCksVyBpbnN0YW5jZW9mIFByb21pc2UmJlcuY2F0Y2goKCk9Pnt9KSk7CldxKG4sVFgobi5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSl9fTsKeGVyPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXlsaXN0JiYoZy5DTihuLkIpfHxuLkIuWT09PSJiYWNrZ3JvdW5kX2F1ZGlvX3BsYXliYWNrIikmJm4ueGwoKT8obi5uZXh0VmlkZW8oITEsITApLCEwKTohMX07CldxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpLGI9RC5nZXRQbGF5ZXJUeXBlKCk7aWYoYiE9PTJ8fG4uTFkoKSl7aWYoYj09PTImJm4uTFkoKXx8Yj09PTV8fGI9PT02fHxiPT09NylpZihXPT09LTF8fFc9PT0wfHxXPT09NSlyZXR1cm47aWYoVz09PTApe2lmKG4uSE4pcmV0dXJuO2lmKEQuY0coKSYmZy5rNihuLkIpKXtuLnBsYXlWaWRlbygpO3JldHVybn19bi5pdSE9PVcmJihuLml1PVcsZy5WVShuLlJCLCJvblN0YXRlQ2hhbmdlIixXKSl9ZWxzZSBuLkIkIT09VyYmKG4uQiQ9VyxnLlZVKG4uUkIsIm9uQWRTdGF0ZUNoYW5nZSIsVykpfTsKREY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5Wci5WRShXKX07CmcuSVg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5MWShXKT9uLmNYKCk6V307CmJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpO3JldHVybiBXPT09bi5jWCgpJiZuLkxZKFcpJiZuLkxZKEQpP0Q6V307CnZxPWZ1bmN0aW9uKG4pe249R3Uobi54Nik7cmV0dXJuISFuJiZuLmxvYWRlZH07CmVkUz1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpLEQ9bi54NjtWWShEKXx8RC5YKCk7IVVkJiZRWShEKSYmYU1VKEQpO3c5KEQsImVtYmVkIik7dzkoRCwia2lkcyIpO3c5KEQsInJlbW90ZSIpO3c5KEQsIm1pbmlwbGF5ZXIiKTt3OShELCJvZmZsaW5lIik7dzkoRCwidW5wbHVnZ2VkIik7dzkoRCwieXBjIiwhMSwhMCk7dzkoRCwid2ViZ2wiLCExLCEwKTtuRGooRCl8fCh3OShELCJjYXB0aW9ucyIsITApLHc5KEQsImVuZHNjcmVlbiIpLEQuTigpLHc5KEQsImNyZWF0b3JlbmRzY3JlZW4iLCEwKSk7RC5ZKCk7RC5BLldKKCJtb2R1bGVzQ3JlYXRlZCIpO24uUkIuV0ooInZpZGVvcmVhZHkiLFcpfTsKYVg9ZnVuY3Rpb24obil7aWYoIXZxKG4pKXtsZXQgVz1URyhuLng2KTtXJiYhVy5jcmVhdGVkJiZSRyhuLng2KSYmVy5jcmVhdGUoKX19OwpPWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpO2lmKCFXLnlsKXt2YXIgRDtuLkIuZXhwZXJpbWVudHMuRXEoImh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb24iKSYmVy5ob3N0Q3BuJiYoRD1raShuLFcuaG9zdENwbik/LmdldFZpZGVvRGF0YSgpLmhnLmooKSk7Vz1uLkIuczU/MTpyNihXLmhnLEQpO0Q9bi5tZWRpYUVsZW1lbnQ7RC5jSihuLkZfLm11dGVkKTt0cnl7RC5zZXRWb2x1bWUobi5GXy52b2x1bWUqVy8xMDApfWNhdGNoe2cuR3EobmV3IGcuUXgoImIxODM3NDIzMDciLGBtdWx0aXBsaWVyOiAke1d9LCB2b2x1bWU6ICR7bi5GXy52b2x1bWV9YCkpfX19Owp2YXIgSjFaPWZ1bmN0aW9uKCl7cmV0dXJuIGVYW0lbMTBdXSh0aGlzLDY3LDQ4NDkpfTsKQ0o9ZnVuY3Rpb24obil7bj1WUyhuKTtuLk9WKCk7cmV0dXJuIEFEKG4pfTsKbGw9ZnVuY3Rpb24obixXKXt2YXIgRD0oVz9XOlZTKG4pKS5RNztuLm1RLnRpY2soImVwX3ByX3IiKTtpZihEIT1udWxsJiYodUF0KG4ucGxheWxpc3QsRCksbi5sSikpbi5wbGF5bGlzdC5vblJlYWR5KCgpPT57VEEobixXKX0pfTsKVEE9ZnVuY3Rpb24obixXKXt2YXIgRD1nLm80KG4uQikmJiFuLkIuTyxiPUQmJlc/VzppdihuLnBsYXlsaXN0KTtXPUQmJlc/VzpuLmdldFZpZGVvRGF0YSgpO2ImJihXLkd1JiYobi5CLlU1fHxuLkIuTWQpfHwhbi5LSD8oVz1XLlBYLGI9bi56MihiLDEpLFcmJmZKKG4sYikpOmhWKG4sYiwxKSk7Zy5vNChuLkIpJiZuLm1RLnRpY2soImVwX3BfbCIpO24ubEo9ITE7Zy5RVShuLlJCLCJvblBsYXlsaXN0VXBkYXRlIil9OwpCZj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoVy5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4hMTtXPVcuZ2V0VmlkZW9EYXRhKCk7Q0oobikmJm4uQi5NZCYmKHFLLmxlbmd0aCYmbi5zaj8oUGYobix7bXV0ZWQ6ITEsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMSkpOnFLLmxlbmd0aHx8bi5GXy5tdXRlZHx8KFBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpLEtKKG4sITApKSk7Q0oobikmJmcubzQobi5CKSYmVy5tdXRlZEF1dG9wbGF5JiYoUGYobix7bXV0ZWQ6ITAsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMCkpO1cuTjAmJlBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpO3VsKG4sMSxXLCExKTt2YXIgRD1uLmNYKCk7bi5SQi5XSigiaW5pdGlhbGl6aW5nbW9kZSIpO24uUVQoRCk7bi5HMigzKTt2YXIgYjtpZighKGI9IW4uQi5HUykpe2lmKGI9bi5ySCl7Yj1uLnJIO3ZhciB2PW4ubWVkaWFFbGVtZW50OwpiPSEhdiYmdj09PWIubWVkaWFFbGVtZW50fWI9YiYmbi5hQ31iJiYobi5jUCgpLHpBKG4pLEQuc2V0TWVkaWFFbGVtZW50KG4ubWVkaWFFbGVtZW50KSk7RC5uTCgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCkpcmV0dXJuITE7Vy5EdHx8V3EobiwzKTtyZXR1cm4gbi5hQz0hMH07Cm41aj1mdW5jdGlvbihuKXtuLlJCLldKKCJpbml0aWFsaXppbmdtb2RlIik7bi5HMigyKTt3OShuLng2LCJyZW1vdGUiKTt3OShuLng2LCJtaW5pcGxheWVyIil9OwpGUz1mdW5jdGlvbihuKXtpZighbi5TKCJ1c2VfcnRhX2Zvcl9wbGF5ZXIiKSlpZihuLlMoImZldGNoX2F0dF9pbmRlcGVuZGVudGx5IikpZy5KYShuLkNOKTtlbHNle3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkuYm90Z3VhcmREYXRhO1cmJmcuekMoVyxuLkIsbi5nZXRWaWRlb0RhdGEoKS5wS3x8IiIpfX07CktKPWZ1bmN0aW9uKG4sVyl7VyE9PW4uc2omJihuLnNqPVcsZy5RVShuLlJCLCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLFcpKX07CnVsPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXhpKG4sVyxEKSxrPW4uVnIuWC5nZXQodil8fG51bGw7aWYoIWspcmV0dXJuIG51bGw7bi5Wci5YLnJlbW92ZSh2KTtpZihrLnFOKCkpcmV0dXJuIG51bGw7aWYoay5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4gay5kaXNwb3NlKCksbnVsbDtpZihrPT09REYobix7cGxheWVyVHlwZTpXfSkpcmV0dXJuIG4ubVEuaW5mb0dlbCh7aXNDYWNoZUhpdDohMH0pLGs7aWYoKGsuZ2V0VmlkZW9EYXRhKCkub2F1dGhUb2tlbnx8RC5vYXV0aFRva2VuKSYmay5nZXRWaWRlb0RhdGEoKS5vYXV0aFRva2VuIT09RC5vYXV0aFRva2VuKXJldHVybiBudWxsO1c9PT0xJiYoVz1uLk1OKCkuZ2V0VmlkZW9EYXRhKCksQUooVykmJlcuaXNBZCgpJiZifHxRWihuKSk7Ynx8bi5RVChrLCEwKTtuLm1RLmluZm9HZWwoe2lzQ2FjaGVIaXQ6ITB9KTtyZXR1cm4ga307CmcuZzVoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKSxEPW4uZ2V0Q3VycmVudFRpbWUoKTtuPW4uZ2V0VmlkZW9EYXRhKCk7RD0xRTMqKEQtbi5zdGFydFNlY29uZHMpO24uaXNMaXZlUGxheWJhY2smJihEPTApO3JldHVybiBXLU1hdGgubWF4KEQsMCl9OwpkYXQ9ZnVuY3Rpb24obixXKXtpZighbi5ITilyZXR1cm4hMTt2YXIgRD1uLkhOLnN0YXJ0VGltZU1zKi4wMDEtMSxiPW4uSE4uZW5kVGltZU1zKi4wMDE7bi5ITi50eXBlPT09InJlcGVhdENoYXB0ZXIiJiZiLS07cmV0dXJuIE1hdGguYWJzKFctRCk8PTFFLTZ8fE1hdGguYWJzKFctYik8PTFFLTZ8fFc+PUQmJlc8PWJ9OwpYUXg9ZnVuY3Rpb24obil7dmFyIFc9bi5NTigpO2lmKG4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIikmJlcuZ2V0VmlkZW9EYXRhKCkuaXNBZCgpPzA6QUooVy5nZXRWaWRlb0RhdGEoKSkmJiFXLklLKCkpVz1BYihuKSoxRTMtbi5nZXRWaWRlb0RhdGEoKS5QTCxuPW4uVGUsaWwobi5hcHAsImdhcGxlc3NzaG9ydHNsb29wcmFuZ2UiKSxXPW5ldyBnLmw1KDAsVyx7aWQ6ImdhcGxlc3Nsb29wcmFuZ2UiLG5hbWVzcGFjZToiZ2FwbGVzc3Nob3J0c2xvb3ByYW5nZSJ9KSwobj1uLmFwcC5NTigpKSYmbi5hZGRDdWVSYW5nZShXKX07Ckcwaj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoIShXLmdldFBsYXllclN0YXRlKCkuTig2NCkmJlZTKG4pLmlzTGl2ZVBsYXliYWNrJiZuLkhOLnN0YXJ0VGltZU1zPDVFMykpe2lmKG4uSE4udHlwZT09PSJyZXBlYXRDaGFwdGVyIil7dmFyIEQ9RCQobi5KNSgpKT8uQjcoKTtsZXQgYj1uLmdldFZpZGVvRGF0YSgpPy5iJDtpZihEIGluc3RhbmNlb2YgcWhTJiZiKXtsZXQgdj0wO2ZvcihsZXQgayBvZiBiKXtpZihrLnN0YXJ0VGltZT5uLkhOLnN0YXJ0VGltZU1zKWJyZWFrO3YrK31ELnJlbmRlckNoYXB0ZXJTZWVraW5nQW5pbWF0aW9uKDAsYlt2PT09MD92OnYtMV0udGl0bGUpfWlzTmFOKE51bWJlcihuLkhOLmxvb3BDb3VudCkpP24uSE4ubG9vcENvdW50PTA6bi5ITi5sb29wQ291bnQrKztuLkhOLmxvb3BDb3VudD09PTEmJmcuUlQobi5SQiwiaW5uZXJ0dWJlQ29tbWFuZCIsbi5nZXRWaWRlb0RhdGEoKS5aTil9RD17cWQ6ImFwcGxpY2F0aW9uX2xvb3BSYW5nZVN0YXJ0In07CmlmKG4uSE4udHlwZT09PSJjbGlwcyJ8fG4uSE4udHlwZT09PSJzaG9ydHNMb29wIilELnNlZWtTb3VyY2U9NTg7Vy5zZWVrVG8obi5ITi5zdGFydFRpbWVNcyouMDAxLEQpfX07ClNhPWZ1bmN0aW9uKG4sVyxEKXtpZihuLkxZKEQpJiYoRD1ELmdldFZpZGVvRGF0YSgpLCFnLkx4KG4pKSl7bj1uLnNVO2Zvcih2YXIgYiBvZiBuLkopaWYoRC5LZj09PWIuS2Ype1crPWIub2EvMUUzO2JyZWFrfWI9Vztmb3IobGV0IHYgb2Ygbi5KKXtpZihELktmPT09di5LZilicmVhaztuPXYub2EvMUUzO2lmKG48VyliKz12LmR1cmF0aW9uTXMvMUUzK24tdi5kSS8xRTM7ZWxzZSBicmVha31yZXR1cm4gYn1yZXR1cm4gV307CmcuTHg9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJiEhbi5Rd307ClFaPWZ1bmN0aW9uKG4peyhuPVRHKG4uSjUoKSkpJiZuLmNyZWF0ZWQmJm4uZGVzdHJveSgpfTsKdHR3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkueWwsRD1uLkIuRHQsYj1uLmlzSW5saW5lKCkmJiFuLmdldFZpZGVvRGF0YSgpLnYxLHY9bi5tZWRpYUVsZW1lbnQ7V3x8RHx8Yj92LmZCKCk6KHYuTEIoKSxQZihuLG4uRl8pKX07CiRlVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5TKCJ3ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5lTShuLkIpfHxuLlMoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5zZChuLkIpfTsKeGk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLms2KG4uQikmJkQudkooKT9gJHtXfV8ke0QudmlkZW9JZH1fJHtELktmfWA6YCR7V31fJHtELnZpZGVvSWR9XyR7RC5LZn1fJHsrRC5pc0F1dG9uYXZ9JHsrRC5WVH1gfTsKcmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcmJm4uQi5MQiYmIW4uZ2V0VmlkZW9EYXRhKCk/LmJhY2tncm91bmRhYmxlPyhuLkZqP24uRmouc3RhcnQoKTpuLlZLKCksITApOiExfTsKc2FpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtpZihXKXRyeXtsZXQgaz1kZWNvZGVVUklDb21wb25lbnQoVyksaD1scChrKTt2YXIgYj1uZXcgQVIobmV3IFM1KFtoXSkpO3ZhciB2PVBHKGIsMzIpO0Q9TnVtYmVyKHZ8fDApfWNhdGNoKGspe24uY1goKS5VKCJnZXRfbHVzdHNfZXJyIix7fSl9cmV0dXJuIER9OwpoVj1mdW5jdGlvbihuLFcsRD0xKXtpZihXLk9WKCkpe3ZhciBiPW9YKG4sRCxXLCExKTtuLmNhbmNlbFBsYXliYWNrKDQsRCk7bi5RVChiKTtiLnNtKCk7RD09PTEmJihuLkcyKDEpLGcubzQobi5CKSYmIVpQKFcpPyhXLmRpc3Bvc2UoKSxuLmNYKCkuZGlzcG9zZSgpKTpuNWoobikpfWVsc2UgVy5kaXNwb3NlKCksKFc9REYobix7cGxheWVyVHlwZTpEfSkpJiZXLmRpc3Bvc2UoKSxQVChWUyhuKSkmJkQ9PT0yJiZuLlNvKCl9OwpOYWI9ZnVuY3Rpb24obixXLEQsYix2KXtXPVFzUyhXLEQsYix2KTsoRD1nLm80KG4uQikmJiFuLkIuTykmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3MiKTtpZihEJiYhbi5aVilEPVZTKG4pLHpicihELFcpLnRoZW4oaz0+e24ubEo9ITA7bGwobixrKX0pOwplbHNlIG4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSk7CmcubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3IiKX07CmtpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9REYobix7cGxheWVyVHlwZToxfSk7aWYoRCl7aWYoRC5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlPT09VylyZXR1cm4gRDtpZigobj1uLlNHLk4pJiZuLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2U9PT1XKXJldHVybiBufXJldHVybiBudWxsfTsKZW89ZnVuY3Rpb24obil7dmFyIFc9c1AoITApO3JldHVybiBXJiYoVz09PW4udGVtcGxhdGUuZWxlbWVudHx8bi5tZWRpYUVsZW1lbnQmJlc9PT1uLm1lZGlhRWxlbWVudC5lXygpKT9XOm51bGx9OwpZaGk9ZnVuY3Rpb24obixXKXt2YXIgRD13aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbjtpZihuLkIudHcmJkQmJkQubG9jayYmKCFnLm9kfHwhcFFqKSlpZihXKXtXPUQudHlwZS5pbmRleE9mKCJwb3J0cmFpdCIpPT09MDtsZXQgYj1uLnRlbXBsYXRlLmdldFZpZGVvQXNwZWN0UmF0aW8oKSx2PVc7YjwxP3Y9ITA6Yj4xJiYodj0hMSk7bi5KUiYmdj09PVd8fChEPUQubG9jayh2PyJwb3J0cmFpdCI6ImxhbmRzY2FwZSIpLEQhPW51bGwmJkQuY2F0Y2goKCk9Pnt9KSxuLkpSPSEwKX1lbHNlIG4uSlImJihuLkpSPSExLEQudW5sb2NrKCkpfTsKSGN0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5VeigpLGI9Vy5oNSgpO2lmKEQmJmImJm42KEQpKXt2YXIgdj1iLmlzVmlldygpP2IubWVkaWFFbGVtZW50OmI7bGV0IGg9Yi5pc1ZpZXcoKT9iLnN0YXJ0OjA7Yj1GZ2IoYikraDt2YXIgaz1MNihELGgsYiwhMCk7bGV0IHg9bmV3IGcuc2codixoLGIsITApO1cubm0oaywhMSwhMCwhMSk7Vy5zZXRNZWRpYUVsZW1lbnQoeCk7az1iKzEwO0Q9TDYoRCxrLEluZmluaXR5LCEwKTt2PW5ldyBnLnNnKHYsayxJbmZpbml0eSwhMSwhMCk7di5ISihEKTtuLlZxPXY7bi5CLldYKCkmJlcuVSgidXNtIix7cG1lOiEwLGNzOmgsY2U6YixuczprfSk7cmV0dXJuITB9cmV0dXJuITF9OwpmNmg9ZnVuY3Rpb24obixXKXtXLmJvdW5kcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBEPVsiZGlzcGxheSIsIm9wYWNpdHkiLCJ2aXNpYmlsaXR5IiwiekluZGV4Il07Zm9yKGxldCBiIG9mIEQpV1tiXT1YbShuLGIpO1cuaGlkZGVuPSEhbi5oaWRkZW59Owp2YXIgU2pVPWZ1bmN0aW9uKCl7cmV0dXJuIFhEW0lbMTBdXSh0aGlzLDQsMzA5NCl9Owp2YXIgSmoyPWZ1bmN0aW9uKG4pe3JldHVybiBuLm5hbWU9PT0iVHlwZUVycm9yIiYmbi5zdGFjay5pbmNsdWRlcygiL3MvcGxheWVyLyIpJiZFeigpPD0xMDV9LGdxPWZ1bmN0aW9uKG4sVyl7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBEPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uaituLlcpKTsKbGV0IGI9TWF0aC5taW4oRCtuLmNvbHVtbnMsbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgpLTE7Zm9yKDtEPD1iO0QrKyluLmFwaS5sb2dWaXNpYmlsaXR5KG4uTltEXS5lbGVtZW50LFcpfX0sWFA9ZnVuY3Rpb24obil7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke24uS31weGA7Cm4ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7bi5LfXB4YDt2YXIgVz1uLnNjcm9sbFBvc2l0aW9uLEQ9bi5jb250YWluZXJXaWR0aC1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aCoobi5qK24uVyk7Zy5pSChuLmVsZW1lbnQsInl0cC1zY3JvbGwtbWluIixXPj0wKTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1tYXgiLFc8PUQpfSxJNlo9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTA7VzxuLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDtXKyspe3ZhciBEPW4uc3VnZ2VzdGlvbkRhdGFbV107CmxldCBrPW4uTltXXTt2YXIgYj1ELnNob3J0Vmlld0NvdW50P0Quc2hvcnRWaWV3Q291bnQ6RC5hdXRob3I7bGV0IGg9RC5NZigpLHg9bi5hcGkuRygpO2lmKGcubzQoeCkmJiF4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciB2PXt9O011KG4uYXBpLFt2XSk7aD1nLkVUKGgsdil9ay5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi10aXRsZSIpO3FsLnRlc3QuY2FsbChxbCxELnRpdGxlKT92LmRpcj0icnRsIjpHZy50ZXN0LmNhbGwoR2csRC50aXRsZSkmJih2LmRpcj0ibHRyIik7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi1hdXRob3IiKTtxbC50ZXN0LmNhbGwocWwsYik/di5kaXI9InJ0bCI6R2cudGVzdC5jYWxsKEdnLGIpJiYodi5kaXI9Imx0ciIpO2sudXBkYXRlKHt2aWV3c19vcl9hdXRob3I6YixkdXJhdGlvbjpELmlzTGl2ZVBsYXliYWNrPyJMaXZlIjpELmxlbmd0aFNlY29uZHM/CmcuSDcoRC5sZW5ndGhTZWNvbmRzKToiIixsaW5rOmgsaG92ZXJfdGl0bGU6RC50aXRsZSx0aXRsZTpELnRpdGxlLGFyaWFfbGFiZWw6RC5hcmlhTGFiZWx8fG51bGwsaXNfbGl2ZTpELmlzTGl2ZVBsYXliYWNrfSk7Yj1ELkdCKCk7ay5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9Yj9gdXJsKCR7Yn0pYDoiIjt4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikmJihuLmFwaS5jcmVhdGVTZXJ2ZXJWZShrLmVsZW1lbnQsayksKEQ9KEQ9RC5zZXNzaW9uRGF0YSkmJkQuaXRjdCkmJm4uYXBpLnNldFRyYWNraW5nUGFyYW1zKGsuZWxlbWVudCxEKSl9Zm9yKDtXPG4uTi5sZW5ndGg7VysrKW4uTltXXS5lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiO1hQKG4pfSxTaFU9ZnVuY3Rpb24obixXLEQpe1cucHJldmVudERlZmF1bHQoKTsKbi5hcGkubG9nQ2xpY2soRCk7Vz1ELmdldEF0dHJpYnV0ZSgiaHJlZiIpO0Q9e307TXUobi5hcGksW0RdKTtXPWcuR0YoRCk/VzpnLkVUKFcsRCk7SkYoVyl9LEFqTT1mdW5jdGlvbihuLFcpe24uQkooInl0cC1lcnJvci1jb250ZW50Iikuc3R5bGUucGFkZGluZ1RvcD0iMHB4IjsKdmFyIEQ9bi5CSigieXRwLWVycm9yLWNvbnRlbnQiKSxiPUQuY2xpZW50SGVpZ2h0O24uTiYmbi5OLnJlc2l6ZShXLFcuaGVpZ2h0LWIpO0Quc3R5bGUucGFkZGluZ1RvcD1gJHsoVy5oZWlnaHQtKG4uTj9uLk4uZWxlbWVudC5jbGllbnRIZWlnaHQ6MCkpLzItYi8yfXB4YH0sSzJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcGkuRygpLGI7ClcucmVhc29uJiYodFYoVy5yZWFzb24pP2I9Zy5iZyhXLnJlYXNvbik6Yj12YyhnLkRwKFcucmVhc29uKSksbi5YKGIsImNvbnRlbnQiKSk7dmFyIHY7Vy5zdWJyZWFzb24mJih0VihXLnN1YnJlYXNvbik/dj1nLmJnKFcuc3VicmVhc29uKTp2PXZjKGcuRHAoVy5zdWJyZWFzb24pKSxuLlgodiwic3VicmVhc29uIikpO2lmKFcucHJvY2VlZEJ1dHRvbiYmVy5wcm9jZWVkQnV0dG9uLmJ1dHRvblJlbmRlcmVyKXtiPW4uQkooInl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uIik7Vz1XLnByb2NlZWRCdXR0b24uYnV0dG9uUmVuZGVyZXI7bGV0IGs9Zy56RigiQSIpO1cudGV4dCYmVy50ZXh0LnNpbXBsZVRleHQmJih2PVcudGV4dC5zaW1wbGVUZXh0LGsudGV4dENvbnRlbnQ9dixtZVUoYix2KXx8RC5EJiYhRC5lbWJlZHNFcnJvckxpbmtzfHwoRD1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy51cmwsVz1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy50YXJnZXQsCkQmJihrLnNldEF0dHJpYnV0ZSgiaHJlZiIsRCksbi5hcGkuY3JlYXRlQ2xpZW50VmUoayxuLDE3ODQyNCksbi5OTihrLCJjbGljayIsaD0+e1NoVShuLGgsayl9KSksVyYmay5zZXRBdHRyaWJ1dGUoInRhcmdldCIsVyksRD1nLnpGKCJESVYiKSxELmFwcGVuZENoaWxkKGspLGIuYXBwZW5kQ2hpbGQoRCkpKX19LHRWPWZ1bmN0aW9uKG4pe2lmKG4ucnVucylmb3IobGV0IFc9MDtXPG4ucnVucy5sZW5ndGg7VysrKWlmKG4ucnVuc1tXXS5uYXZpZ2F0aW9uRW5kcG9pbnQpcmV0dXJuITA7CnJldHVybiExfSxtZVU9ZnVuY3Rpb24obixXKXtuPShufHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkEiKTsKZm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspaWYobltEXS50ZXh0Q29udGVudD09PVcpcmV0dXJuITA7cmV0dXJuITF9LE9jYj1mdW5jdGlvbihuKXt2YXIgVz17fTsKTXUobi5hcGksW1ddKTtuPW4uYXBpLmdldFZpZGVvVXJsKCk7cmV0dXJuIG49Zy5FVChuLFcpfSxQMHQ9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCksRD1uLmFwaS5HKCkuYlYmJiFuLnN0YXRlLk4oMikmJiFuLmFwaS5nZXRWaWRlb0RhdGEoe3BsYXllclR5cGU6MX0pLmlOOwpXLm11dGVkQXV0b3BsYXl8fG4uTUwoRCk7bi5hcGkubG9nVmlzaWJpbGl0eShuLmVsZW1lbnQsRCl9LFVlaj1mdW5jdGlvbihuKXtuLndhdGVybWFya3x8KG4ud2F0ZXJtYXJrPW5ldyBaY3Iobi5hcGkpLGcudShuLG4ud2F0ZXJtYXJrKSxuLndhdGVybWFyay5MdShuLmJvdHRvbUJ1dHRvbnMsMCksZy5pSChuLndhdGVybWFyay5lbGVtZW50LCJ5dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrIiwhMCksbi5OPW5ldyBnLiRpKG4ud2F0ZXJtYXJrLDAsITAsMTAwKSxnLnUobixuLk4pKX0seWpqPWZ1bmN0aW9uKG4pe24uSiYmbi5OJiYobi5OLnNob3coKSxuLlYuc3RhcnQoKSl9LEU1VT1mdW5jdGlvbihuKXtmb3IobGV0IFc9MDtXPDE2OysrVyl7bGV0IEQ9bmV3IGcucnEoe1o6ImEiLApKdzoieXRwLXN1Z2dlc3Rpb24tbGluayIseGE6e2hyZWY6Int7bGlua319Iix0YXJnZXQ6bi5hcGkuRygpLllaLCJhcmlhLWxhYmVsIjoie3thcmlhX2xhYmVsfX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWltYWdlIn0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLW92ZXJsYXkiLHhhOntzdHlsZToie3tibGlua19yZW5kZXJpbmdfaGFja319IiwiYXJpYS1oaWRkZW4iOiJ7e2FyaWFfaGlkZGVufX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLXRpdGxlIixPcToie3t0aXRsZX19In0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWF1dGhvciIsT3E6Int7YXV0aG9yX2FuZF92aWV3c319In0se1o6ImRpdiIseGE6eyJkYXRhLWlzLWxpdmUiOiJ7e2lzX2xpdmV9fSJ9LEp3OiJ5dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbiIsT3E6Int7ZHVyYXRpb259fSJ9XX1dfSk7Zy51KG4sRCk7bGV0IGI9RC5CSigieXRwLXN1Z2dlc3Rpb24tbGluayIpO2cuaDEoYiwKInRyYW5zaXRpb25EZWxheSIsYCR7Vy8yMH1zYCk7bi5qLk5OKGIsImNsaWNrIix2PT57dmFyIGs9VztpZihuLlcpe3ZhciBoPW4uc3VnZ2VzdGlvbkRhdGFba10seD1oLnNlc3Npb25EYXRhO24uSyYmbi5hcGkuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKT8obi5hcGkubG9nQ2xpY2sobi5OW2tdLmVsZW1lbnQpLGs9aC5NZigpLGg9e30sTXUobi5hcGksW2hdKSxrPWcuRVQoayxoKSxSeShrLG4uYXBpLHYpKTpNcCh2LG4uYXBpLG4uSyx4fHx2b2lkIDApJiZuLmFwaS5NMihoLnZpZGVvSWQseCxoLnBsYXlsaXN0SWQpfWVsc2Ugdi5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpfSk7CkQuTHUobi5zdWdnZXN0aW9ucy5lbGVtZW50KTtuLk4ucHVzaChEKTtuLmFwaS5jcmVhdGVTZXJ2ZXJWZShELmVsZW1lbnQsRCl9fSxpY3I9ZnVuY3Rpb24obil7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBXPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uVis4KSk7CmxldCBEPU1hdGgubWluKFcrbi5jb2x1bW5zLG4uc3VnZ2VzdGlvbkRhdGEubGVuZ3RoKS0xO2Zvcig7Vzw9RDtXKyspbi5hcGkubG9nVmlzaWJpbGl0eShuLk5bV10uZWxlbWVudCwhMCl9fSxzNj1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS55WigpPzMyOjE2OwpXPW4uRC8yK1c7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke1d9cHhgO24ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7V31weGA7Vz1uLnNjcm9sbFBvc2l0aW9uO3ZhciBEPW4uY29udGFpbmVyV2lkdGgtbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgqKG4uVis4KTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1taW4iLFc+PTApO2cuaUgobi5lbGVtZW50LCJ5dHAtc2Nyb2xsLW1heCIsVzw9RCl9LG81dz1mdW5jdGlvbihuKXt2YXIgVz1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDsKZm9yKGxldCBrPTA7azxXOysrayl7dmFyIEQ9dm9pZCAwLGI9dm9pZCAwO2xldCBoPXZvaWQgMDtEPW47dmFyIHY9RC5hcGkuRygpO2xldCB4PUQuc3VnZ2VzdGlvbkRhdGFba10sTD1ELk5ba107aD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LnNob3J0Vmlld0NvdW50fHwiIjp4LnNob3J0Vmlld0NvdW50P2Ake3guYXV0aG9yfSBcdTIwMjIgJHt4LnNob3J0Vmlld0NvdW50fWA6eC5hdXRob3I7TC5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7Zy5oMShMLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJpbmxpbmUtYmxvY2siKTt1eWkudGVzdCh4LnRpdGxlKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLXRpdGxlIikuZGlyPSJydGwiKTt1eWkudGVzdChoKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLWF1dGhvciIpLmRpcj0icnRsIik7Yj14LmlzTGl2ZVBsYXliYWNrPyJMaXZlIjp4Lmxlbmd0aFNlY29uZHM/Zy5INyh4Lmxlbmd0aFNlY29uZHMpOiIiO2xldCBlPQp4Lk1mKEQuYXBpLmlzRW1iZWRzU2hvcnRzTW9kZSgpKTtpZihnLm80KHYpJiYhdi5TKCJ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtcyIpKXtsZXQgRz17fTtNdShELmFwaSxbR10pO2U9Zy5FVChlLEcpfXYuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKSYmKHY9KHY9eC5zZXNzaW9uRGF0YSkmJnYuaXRjdCkmJkQuYXBpLnNldFRyYWNraW5nUGFyYW1zKEwuZWxlbWVudCx2KTtMLnVwZGF0ZSh7YXV0aG9yX2FuZF92aWV3czpoLGR1cmF0aW9uOmIsbGluazplLHRpdGxlOngudGl0bGUsYXJpYV9sYWJlbDp4LmFyaWFMYWJlbHx8eC50aXRsZSxpc19saXZlOnguaXNMaXZlUGxheWJhY2ssYXJpYV9oaWRkZW46ISF4LmFyaWFMYWJlbCxibGlua19yZW5kZXJpbmdfaGFjazpnLm9kfHxyYz8id2lsbC1jaGFuZ2U6IG9wYWNpdHkiOnZvaWQgMH0pO2I9TC5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKTsKRD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LkdCKCJocTIuanBnIik6eC5HQigpO2Iuc3R5bGUuYmFja2dyb3VuZEltYWdlPUQ/YHVybCgke0R9KWA6IiJ9aWYoVzwxNilmb3IoO1c8MTY7KytXKWcuaDEobi5OW1ddLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJub25lIik7czYobil9LE5sPWZ1bmN0aW9uKG4pe2lmKCFuLlcpe3ZhciBXPU1hdGgubWluKCgwLGcuUikoKS1uLlYsbi5qKTsKdmFyIEQ9bi5qLVc7Vz1uLmo9PT0wPzA6TWF0aC5tYXgoRC9uLmosMCk7RD1NYXRoLnJvdW5kKEQvMUUzKTtuLlkuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaG9mZnNldCIsYCR7LTIxMSooVysxKX1gKTtuLnVwZGF0ZVZhbHVlKCJkdXJhdGlvbiIsRCk7Vzw9MCYmbi5OP24uc3RvcFRpbWVyKCk6bi5OJiZuLk4uc3RhcnQoKX19LGRleD1mdW5jdGlvbihuKXtuLk58fChuLmo9NUUzLG4uVj0oMCxnLlIpKCksbi5OPW5ldyBnLnBfKCgpPT57Tmwobil9LG51bGwpLE5sKG4pKX0scHg9ZnVuY3Rpb24obil7dmFyIFc9bi5BOwpuPSEhVy5pc0VtYmVkc1Nob3J0c01vZGUoKTtnLmlIKFcuZ2V0Um9vdE5vZGUoKSwieXRwLXNob3J0cy1tb2RlIixuKTtpZihXPVcuZ2V0VmlkZW9EYXRhKCkpVy5TYT1ufSxUYXg9ZnVuY3Rpb24obil7e3ZhciBXPW4uQTsKbGV0IEQ9Vy5HKCk7RC5XaSYmIUQuRCYmZy5vNChEKT9XLmlzRW1iZWRzU2hvcnRzTW9kZSgpPyhXPVcuRTQoKSxXPU1hdGgubWluKFcud2lkdGgsVy5oZWlnaHQpPj0zMTUpOlc9IVcuejYoKTpXPSExfVchPT1uLkQmJihuLkQ9VyxuLmomJihuLmouZGlzcG9zZSgpLG4uaj1udWxsKSxuLlcmJihuLlcuZGlzcG9zZSgpLG4uVz1udWxsKSxuLlgmJihuLlguZGlzcG9zZSgpLG4uWD1udWxsKSxuLkomJihuLkouc3RvcCgpLG4uSi5kaXNwb3NlKCksbi5KPW51bGwpLFcmJihnLmI1KG4uQSksbi5BLmlzRW1iZWRzU2hvcnRzTW9kZSgpJiYobi5YPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1iYWNrZHJvcCIseGE6e3RhYkluZGV4OiItMSJ9fSksZy51KG4sbi5YKSxnLnJ2KG4uQSxuLlguZWxlbWVudCw0KSxuLko9bmV3IGcuJGkobi5YLDFFMywhMSwxMDApLGcudShuLG4uSiksbi5YLmhpZGUoKSksbi5qPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1jb250YWluZXIiLAp4YTp7dGFiSW5kZXg6Ii0xIn19KSxnLnUobixuLmopLG4uVz1uZXcgemRVKG4uQSksZy51KG4sbi5XKSxuLlcuTHUobi5qLmVsZW1lbnQpLGcucnYobi5BLG4uai5lbGVtZW50LDQpLGw2QyhuLG4uQS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSkpfSxsNkM9ZnVuY3Rpb24obixXKXtuLkomJighVy5OKDQpJiYhVy5OKDIpfHxXLk4oMTAyNCk/bi5KLmhpZGUoKTpuLkouc2hvdygpKX0sWWk9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkEuRygpOwpuPXthZFNvdXJjZToiRU1CRURTX0FEX1NPVVJDRV9ZT1VUVUJFIixicmVha1R5cGU6bi5BLmdldEN1cnJlbnRUaW1lKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QUkVfUk9MTCI6bi5BLmdldFBsYXllclN0YXRlKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QT1NUX1JPTEwiOiJFTUJFRFNfQURfQlJFQUtfVFlQRV9NSURfUk9MTCIsZW1iZWRVcmw6QUEobi5BLkcoKS5sb2FkZXJVcmwpLGV2ZW50VHlwZTpXLHlvdXR1YmVIb3N0OmcuSVAobi5BLkcoKS5EYSl8fCIifTtuLmVtYmVkZGVkUGxheWVyTW9kZT1ELmNKO2cuelUoImVtYmVkc0FkRXZlbnQiLG4pfSxudD1bXSxEaXg9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihuKXtmdW5jdGlvbiBXKCl7fQpXLnByb3RvdHlwZT1uO3JldHVybiBuZXcgV30sV1NDPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24obixXLEQpe2lmKG49PUFycmF5LnByb3RvdHlwZXx8bj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gbjsKbltXXT1ELnZhbHVlO3JldHVybiBufSx4Mj1nbG9iYWxUaGlzLHZaPSJJbnQ4IFVpbnQ4IFVpbnQ4Q2xhbXBlZCBJbnQxNiBVaW50MTYgSW50MzIgVWludDMyIEZsb2F0MzIgRmxvYXQ2NCIuc3BsaXQoIiAiKTsKeDIuQmlnSW50NjRBcnJheSYmKHZaLnB1c2goIkJpZ0ludDY0IiksdloucHVzaCgiQmlnVWludDY0IikpO3ZhciBidFM9T2JqZWN0LnNldFByb3RvdHlwZU9mO2hpKCJTeW1ib2wuZGlzcG9zZSIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjpTeW1ib2woIlN5bWJvbC5kaXNwb3NlIil9KTsKaGkoIlN1cHByZXNzZWRFcnJvciIsZnVuY3Rpb24obil7ZnVuY3Rpb24gVyhELGIsdil7aWYoISh0aGlzIGluc3RhbmNlb2YgVykpcmV0dXJuIG5ldyBXKEQsYix2KTt2PUVycm9yKHYpOyJzdGFjayJpbiB2JiYodGhpcy5zdGFjaz12LnN0YWNrKTt0aGlzLm1lc3NhZ2U9di5tZXNzYWdlO3RoaXMuZXJyb3I9RDt0aGlzLnN1cHByZXNzZWQ9Yn0KaWYobilyZXR1cm4gbjt2MkMoVyxFcnJvcik7Vy5wcm90b3R5cGUubmFtZT0iU3VwcHJlc3NlZEVycm9yIjtyZXR1cm4gV30pOwpoaSgiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmZ1bmN0aW9uKFcsRCl7aWYoVyBpbnN0YW5jZW9mIFJlZ0V4cCYmIVcuZ2xvYmFsKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBjYWxsZWQgd2l0aCBhIG5vbi1nbG9iYWwgUmVnRXhwIGFyZ3VtZW50LiIpO3JldHVybiBXIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShXLEQpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhXKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxEKX19KTsKaGkoIkFycmF5LnByb3RvdHlwZS5hdCIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjplVX0pOwpuMncoImF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJTdHJpbmcucHJvdG90eXBlLmF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJQcm9taXNlLndpdGhSZXNvbHZlcnMiLGZ1bmN0aW9uKG4pe3JldHVybiBuP246ZnVuY3Rpb24oKXt2YXIgVyxEO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGIsdil7Vz1iO0Q9dn0pLApyZXNvbHZlOlcscmVqZWN0OkR9fX0pO3ZhciBjSixTVSxrYnQ7Y0o9Y0p8fHt9O2cucWk9dGhpc3x8c2VsZjtTVT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtrYnQ9MDt2YXIgZV93PWNsYXNze2NvbnN0cnVjdG9yKHt1cmw6bixadjpXfSl7dGhpcy5KPW47dGhpcy5YPVc7dGhpcy5XPShuZXcgRGF0ZSkuZ2V0VGltZSgpLTE3MDQwNjcyRTU7dGhpcy5OPXt9O2Zvcih2YXIgRD0vWz8mXShbXiY9XSspPShbXiZdKikvZztXPUQuZXhlYyhuKTspdGhpcy5OW1dbMV1dPVdbMl19fTtnLml4KGcuVGIsRXJyb3IpO2cuVGIucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjt2YXIgSWg7dmFyIE5yaD0vJi9nLHBadz0vPC9nLFl3aT0vPi9nLEh0VT0vIi9nLGYxUz0vJy9nLEppWj0vXHgwMC9nLHNDaD0vW1x4MDAmPD4iJ10vO3ZhciBuYj1nbG9iYWxUaGlzLnRydXN0ZWRUeXBlcyxXTTt2YXIgYl89Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07Zy5laj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk59fTtnLlY1PW5ldyBnLmVqKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBYSSxnMmo7WEk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5PVj1ufX07Zy5HND1bcVUoImRhdGEiKSxxVSgiaHR0cCIpLHFVKCJodHRwcyIpLHFVKCJtYWlsdG8iKSxxVSgiZnRwIiksbmV3IFhJKG49Pi9eW146XSooWy8/I118JCkvLnRlc3QobikpXTsKZzJqPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7Zy5ZMz1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk4rIiJ9fTt2YXIgQUY9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07dmFyIFo0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19O3ZhciBMcD17fTt2YXIgQWlyLG1pMTtBaXI9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtnLno1PS8jfCQvO21pMT0vWz8mXSgkfCMpLzt2YXIgUUc9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihuLFcsRD1FcnJvcigpKXtzdXBlcigpO3RoaXMuY29kZT1uO1crPSI6IjtEIGluc3RhbmNlb2YgRXJyb3I/KHRoaXMubWVzc2FnZT1XK0QubWVzc2FnZSx0aGlzLnN0YWNrPUQuc3RhY2t8fCIiKToodGhpcy5tZXNzYWdlPVcrU3RyaW5nKEQpLHRoaXMuc3RhY2s9IiIpO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O2cuRk0ucHJvdG90eXBlLkhEPSExO2cuRk0ucHJvdG90eXBlLnFOPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSER9OwpnLkZNLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5IRHx8KHRoaXMuSEQ9ITAsdGhpcy5tQSgpKX07CmcuRk0ucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTsKZy5GTS5wcm90b3R5cGUuYWRkT25EaXNwb3NlQ2FsbGJhY2s9ZnVuY3Rpb24obixXKXt0aGlzLkhEP1chPT12b2lkIDA/bi5jYWxsKFcpOm4oKToodGhpcy5CVnx8KHRoaXMuQlY9W10pLFcmJihuPW4uYmluZChXKSksdGhpcy5CVi5wdXNoKG4pKX07CmcuRk0ucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7aWYodGhpcy5CVilmb3IoO3RoaXMuQlYubGVuZ3RoOyl0aGlzLkJWLnNoaWZ0KCkoKX07dmFyIFB4Uz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLndwYz1ufUgkKCl7cmV0dXJuIHRoaXMud3BjLmYoKX15aChuKXt0aGlzLndwYy5jKG4pfVcobil7cmV0dXJuIHRoaXMud3BjLm0oUlAobikpfVpSKG4pe3JldHVybiB0aGlzLndwYy5td3MoUlAobikpfX0sd1Q9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5PMT1uO3RoaXMuVz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTsKdGhpcy5KPXZvaWQgMDt0aGlzLk92PXRoaXMuTzEucDt0aGlzLlg9dGhpcy5TMS5iaW5kKHRoaXMpO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgT3RpKHRoaXMpKX1zbmFwc2hvdChuKXtyZXR1cm4gdGhpcy5PMS5zKHsuLi4obi53XyYme2M6bi53X30pLAouLi4obi5HbCYme3M6bi5HbH0pLC4uLihuLk1PIT09dm9pZCAwJiZ7cDpuLk1PfSl9KX1TMShuKXt0aGlzLk8xLmUobil9UUQoKXtyZXR1cm4gdGhpcy5PMS5sKCl9fTt2YXIgamExPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5iZD0xfXNoYXJlKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJFOkFEIik7dGhpcy5iZCsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuYmR8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciBDMHg9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsYnAoIm1rIikpfWRFKG4sVyl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvZnJzIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiKX19LEJhaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLko9bjtFdShuLCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIixicCgibW4iKSxEWCgiYWMiKSxEWCgic2MiKSxicCgicmsiKSxicCgibWsiKSl9ZEUobixXLEQsYix2LGspe3RoaXMuSi5kRSgiL2NsaWVudF9zdHJlYW16L2JnL3dybCIsbixXLEQsYix2LGspfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy93cmwiKX19LEYyWj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLGJwKCJlbiIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLApuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lYyIpfX0sd1FyPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuSj1uO0V1KG4sIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYnAoImVuIiksYnAoIm1rIikpfWRFKG4sVyxEKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0sTXQxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLERYKCJlYyIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LFJkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIixEWCgiY3MiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywKIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0sUWF4PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixicCgiYXYiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LFZ0aT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsYnAoInN1IiksYnAoIm1rIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxjang9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwKIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixicCgibWsiKSl9ZEUobixXKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIil9fSxhNnc9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGJwKCJldCIpLGJwKCJtayIpKX1kRShuLFcsRCl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9uIil9fTt2YXIgY1c9ITAsVjEsdjI7dmFyIEhxO0hxPU5pKDEsITApO2cucXg9TmkoNjEwNDAxMzAxLCExKTtOaSg4OTk1ODg0MzcsITEpO05pKDc3MjY1Nzc2OCwhMCk7TmkoNTEzNjU5NTIzLCExKTtOaSg1NjgzMzM5NDUsITApO05pKDEzMzE3NjE0MDMsITApO05pKDY1MTE3NTgyOCwhMSk7TmkoNzIyNzY0NTQyLCExKTtOaSg3NDg0MDIxNDUsITEpO05pKDc0ODQwMjE0NiwhMSk7dmFyIEF2PU5pKDc0ODQwMjE0NywhMCk7TmkoMTYwMjYxMzE4NSwhMSk7TmkoODYxMzc3NzIzLCExKTtOaSg4NjEzNzc3MjQsSHEpO05pKDg2OTMzNjkwMywhMSk7TmkoODgyNjc0NTA3LCExKTtOaSg4NjkzMzY5MDQsSHEpO05pKDg2OTMzNjkwNSxIcSk7TmkoMjgzOTUzMTU1LCExKTtOaSg5MTk0NDQ4MjQsITEpO05pKDkzMTQ2ODA0NywhMSk7TmkoOTI4ODc1Mzk4LCExKTtOaSg2ODM3NDkyMDEsITEpO05pKDIxNDc0ODM2NDQsITEpO05pKDIxNDc0ODM2NDUsITEpO05pKDIxNDc0ODM2NDYsSHEpO05pKDIxNDc0ODM2NDcsITApO2cuR2g9ISFnLnJyKCJ5dC5jb25maWdfLkVYUEVSSU1FTlRTX0ZMQUdTLmh0bWw1X2VuYWJsZV9jbGllbnRfaGludHNfb3ZlcnJpZGUiKTt2YXIgbnpiO256Yj1nLnFpLm5hdmlnYXRvcjtnLnQ0PW56Yj9uemIudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO2cuT0FbIiAiXT1mdW5jdGlvbigpe307dmFyIHJjLG5yLHBRaixXVVosRDRpLGJpVSxYdyxmeDtyYz1OeCgpO2cua2g9c0EoKT8hMTpnLnJXKCJUcmlkZW50Iil8fGcuclcoIk1TSUUiKTtnLlJnPWcuclcoIkVkZ2UiKTtnLnNtPWcuUmd8fGcua2g7Zy5lUz1nLnJXKCJHZWNrbyIpJiYhKGcud3IoZy5YUSgpLCJXZWJLaXQiKSYmIWcuclcoIkVkZ2UiKSkmJiEoZy5yVygiVHJpZGVudCIpfHxnLnJXKCJNU0lFIikpJiYhZy5yVygiRWRnZSIpO2cuWmw9Zy53cihnLlhRKCksIldlYktpdCIpJiYhZy5yVygiRWRnZSIpO25yPWcubXgoKTtwUWo9Zy5LMCgpO2cuUUg9Zy5JMigpO1dVWj1TdSgpO0Q0aT1nLnJXKCJpUGFkIik7YmlVPWcuclcoImlQb2QiKTtYdz1nLkE0KCk7Zy5XWD1nLndyKGcuWFEoKSwiS2FpT1MiKTsKYTp7bGV0IG49IiIsVz1mdW5jdGlvbigpe3ZhciBEPWcuWFEoKTtpZihnLmVTKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoRCk7aWYoZy5SZylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKEQpO2lmKGcua2gpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKEQpO2lmKGcuWmwpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoRCk7aWYocmMpcmV0dXJuLyg/OlZlcnNpb24pWyBcL10/KFxTKykvLmV4ZWMoRCl9KCk7ClcmJihuPVc/V1sxXToiIik7aWYoZy5raCl7dmFyIEpWO2xldCBEPWcucWkuZG9jdW1lbnQ7SlY9RD9ELmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoSlYhPW51bGwmJkpWPnBhcnNlRmxvYXQobikpe2Z4PVN0cmluZyhKVik7YnJlYWsgYX19Zng9bn12YXIgUDI9ZngsaXR4PXt9O3ZhciB3OCxNWDtnLmFvPXAwKCk7dzg9U3UoKXx8Zy5yVygiaVBvZCIpO01YPWcuclcoImlQYWQiKTtnLkltPWcuclcoIkFuZHJvaWQiKSYmIShZSygpfHxwMCgpfHxOeCgpfHxnLnJXKCJTaWxrIikpO2cub2Q9WUsoKTtnLkduPWcuSDIoKSYmIWcuQTQoKTt2YXIgeWw9e30sVGg9bnVsbDt2YXIganU9L1stXy5dL2csZGlVPXsiLSI6IisiLF86Ii8iLCIuIjoiPSJ9LHdXPXt9O3ZhciBGUT1jbGFzc3tpc0VtcHR5KCl7cmV0dXJuIHRoaXMuTj09bnVsbH1zaXplQnl0ZXMoKXt2YXIgbj1RbCh0aGlzKTtyZXR1cm4gbj9uLmxlbmd0aDowfWNvbnN0cnVjdG9yKG4sVyl7UjIoVyk7dGhpcy5OPW47aWYobiE9bnVsbCYmbi5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJCeXRlU3RyaW5nIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vbi1lbXB0eSB2YWx1ZXMiKTt9fSxCMjt2YXIgYTI9dm9pZCAwO3ZhciBiND1XOSgiamFzIiwhMCksTG49VzkoKSxrOT1XOSgpLExHPVc5KCksUk1iPVc5KCksUUNpPVc5KCksRzRTPVc5KCksRFVpPVc5KCksdkg9VzkoIm1fbSIsITApLGNpVT1XOSgpLHFFPVc5KCk7Wy4uLk9iamVjdC52YWx1ZXMoe014OjEsRVk6MixHTDo0LFltOjgsalo6MTYsVFQ6MzIsUFE6NjQsTng6MTI4LGZoOjI1NixhTjo1MTIsYVU6MTAyNCxQbToyMDQ4LHI0OjQwOTYsYU86ODE5Mn0pXTt2YXIgenosdnp4PVtdO3Z6eFtiNF09Nzt6ej1PYmplY3QuZnJlZXplKHZ6eCk7dmFyIGt2PXt9LERCPXt9LEckPU9iamVjdC5mcmVlemUoe30pLFNvPXt9LHhVPXt9O3ZhciBZbyx3V2osa0N4O2cudF89cTMobj0+dHlwZW9mIG49PT0ibnVtYmVyIik7CmcuRzk9cTMobj0+dHlwZW9mIG49PT0ic3RyaW5nIik7CllvPXEzKG49Pm4hPW51bGwmJnR5cGVvZiBuPT09Im9iamVjdCImJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iKTsKd1dqPXEzKG49PnR5cGVvZiBuPT09ImZ1bmN0aW9uIik7CmtDeD1xMyhuPT4hIW4mJih0eXBlb2Ygbj09PSJvYmplY3QifHx0eXBlb2Ygbj09PSJmdW5jdGlvbiIpKTt2YXIgc0s9cTMobj0+bj49aDNqJiZuPD14NGopLGgzaj1CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpLHg0aj1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO3ZhciByWj0wLHNfPTAsR3Y7dmFyIGRaPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwLEJyaD10eXBlb2YgQmlnSW50PT09ImZ1bmN0aW9uIj9CaWdJbnQuYXNVaW50Tjp2b2lkIDAsalg9TnVtYmVyLmlzU2FmZUludGVnZXIsUDk9TnVtYmVyLmlzRmluaXRlLFQ5PU1hdGgudHJ1bmMsbDEyPS9eLT8oWzEtOV1bMC05XSp8MCkoXC5bMC05XSspPyQvO3ZhciBhMVU9e307dmFyIFhGPWNsYXNze30sTVVpPXtKUzohMH07dmFyICR2O3ZhciBISCxmRzt2YXIgdjNpPWcuJFUoMCksZm49e307dmFyIE9WPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmJ1ZmZlcj1uO2lmKEQmJiFXKXRocm93IEVycm9yKCk7dGhpcy5OPVd9fTt2YXIgTFVyPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIpe3RoaXMuSj1udWxsO3RoaXMuVj0hMTt0aGlzLmo9bnVsbDt0aGlzLk49dGhpcy5XPXRoaXMuWD0wO3RoaXMuaW5pdChuLFcsRCxiKX1pbml0KG4sVyxELHtuXzpiPSExLGhCOnY9ITF9PXt9KXt0aGlzLm5fPWI7dGhpcy5oQj12O24mJihuPVBXKG4sdGhpcy5oQiksdGhpcy5KPW4uYnVmZmVyLHRoaXMuVj1uLk4sdGhpcy5qPW51bGwsdGhpcy5YPVd8fDAsdGhpcy5XPUQhPT12b2lkIDA/dGhpcy5YK0Q6dGhpcy5KLmxlbmd0aCx0aGlzLk49dGhpcy5YKX1mcmVlKCl7dGhpcy5jbGVhcigpO0FWLmxlbmd0aDwxMDAmJkFWLnB1c2godGhpcyl9Y2xlYXIoKXt0aGlzLko9bnVsbDt0aGlzLlY9ITE7dGhpcy5qPW51bGw7dGhpcy5OPXRoaXMuVz10aGlzLlg9MDt0aGlzLm5fPSExfXJlc2V0KCl7dGhpcy5OPXRoaXMuWH19LEFWPVtdO3ZhciBSWT0wLGhCUz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiKXtpZihBVi5sZW5ndGgpe2xldCB2PUFWLnBvcCgpO3YuaW5pdChuLFcsRCxiKTtuPXZ9ZWxzZSBuPW5ldyBMVXIobixXLEQsYik7dGhpcy5OPW47dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTE7akUodGhpcyxiKX1mcmVlKCl7dGhpcy5OLmNsZWFyKCk7dGhpcy5KPXRoaXMuVz0tMTtUJC5sZW5ndGg8MTAwJiZUJC5wdXNoKHRoaXMpfXJlc2V0KCl7dGhpcy5OLnJlc2V0KCk7dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTF9fSxUJD1bXTt2YXIgZTNyPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoU28hPT1Tbyl0aHJvdyBFcnJvcigpO319O3ZhciB2eT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxoMyxlQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxnRyxyRyxOZixwaCwkbSx0MyxxZixHUzt2YXIgZ3pNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLk4ubGVuZ3RofWVuZCgpe3ZhciBuPXRoaXMuTjt0aGlzLk49W107cmV0dXJuIG59fTt2YXIgWCQyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPVtdO3RoaXMuSj0wO3RoaXMuTj1uZXcgZ3pNfX07dmFyIGxHLHEzWixtNyxHQzIsdDJoLCQ0aSxyWEMsUHEsc2YyLE5NVSxwJFU7bEc9b3goKTtxM1o9b3goKTttNz1veCgpO2cuS3g9b3goKTtHQzI9b3goKTt0Mmg9b3goKTskNGk9b3goKTtnLk82PW94KCk7clhDPW94KCk7UHE9b3goKTtzZjI9b3goKTtnLlpGPW94KCk7Tk1VPW94KCk7cCRVPW94KCk7Zy5RbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5sOT1KdihuLFcsRCwyMDQ4KX10b0pTT04oKXtyZXR1cm4gWXYodGhpcyl9Ylkobil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFl2KHRoaXMsbikpfWNsb25lKCl7dmFyIG49dGhpcy5sOSxXPW5bYjRdfDA7cmV0dXJuIEtHKHRoaXMsbixXKT9PSyh0aGlzLG4sITApOm5ldyB0aGlzLmNvbnN0cnVjdG9yKG1fKG4sVywhMSkpfX07Zy5RbS5wcm90b3R5cGVbdkhdPWt2O2cuUW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubDkudG9TdHJpbmcoKX07dmFyIHpTPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmNqPW47dGhpcy5Qaj1XO249RXcobEcpO3RoaXMuTj0hIW4mJkQ9PT1ufHwhMX19LExjdD1UUyhmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7UTEobixoUyhXLGIsRCksdik7cmV0dXJuITB9LENoKSxlQnQ9VFMoZnVuY3Rpb24obixXLEQsYix2KXtpZihuLkohPT0yKXJldHVybiExOwpRMShuLGhTKFcsYixEKSx2KTtyZXR1cm4hMH0sQ2gpLHZPPVN5bWJvbCgpLGN5PVN5bWJvbCgpLFdPPVN5bWJvbCgpLHhuPVN5bWJvbCgpLEQ4PVN5bWJvbCgpLEJ5LEZ0O3ZhciBTNixVNix5cCxZM0MsaVUsSGl3LGZxdyx1VSx6ZyxsVSxUZyxqbyxKWFMsSXFqO1M2PShuLFcpPT57dmFyIEQ9bmV3IFgkMjtMOChuLmw5LEQsd0codk8sYjYsa24sVykpO0EzKEQsRC5OLmVuZCgpKTtuPW5ldyBVaW50OEFycmF5KEQuSik7Vz1ELlc7dmFyIGI9Vy5sZW5ndGgsdj0wO2ZvcihsZXQgaz0wO2s8YjtrKyspe2xldCBoPVdba107bi5zZXQoaCx2KTt2Kz1oLmxlbmd0aH1ELlc9W25dO3JldHVybiBufTsKVTY9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxnLmRlKG4uTikpO3JldHVybiEwfSxnLnQ5LGcuWkYpOwp5cD1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO3ZhciBiPXVhKG4uTik7bj0oYj4+MzEpKjIrMTt2YXIgdj1iPj4+MjMmMjU1O2ImPTgzODg2MDc7Zy5xWShXLEQsdj09MjU1P2I/TmFOOm4qSW5maW5pdHk6dj09MD9uKjEuNDAxMjk4NDY0MzI0ODE3RS00NSpiOm4qTWF0aC5wb3coMix2LTE1MCkqKGIrODM4ODYwOCkpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1tMChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixEPUd2fHwoR3Y9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLEQuc2V0RmxvYXQzMigwLCtXLCEwKSxzXz0wLHJaPUQuZ2V0VWludDMyKDAsITApLEozKG4sclopKX0sc2YyKTsKZy5FNj1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtuLkohPT0wP249ITE6KGcucVkoVyxELGcuVVYobi5OLGcuSl8pKSxuPSEwKTtyZXR1cm4gbn0sZy4kbixnLk82KTsKWTNDPWcuZ1EoZnVuY3Rpb24obixXLEQpe24uSiE9PTA/bj0hMTooZy5xWShXLEQsZy5VVihuLk4sZjUpKSxuPSEwKTtyZXR1cm4gbn0sZnVuY3Rpb24obixXLEQpe1c9YTAoVyk7CmlmKFchPW51bGwmJihQeShXKSxXIT1udWxsKSlzd2l0Y2gobTQobixELDApLHR5cGVvZiBXKXtjYXNlICJudW1iZXIiOm49bi5OO3A1KFcpO0h5KG4sclosc18pO2JyZWFrO2Nhc2UgImJpZ2ludCI6RD1ZbShXLHZ5LGttKTtIeShuLk4sRC5KLEQuTik7YnJlYWs7ZGVmYXVsdDpEPXhtKFcpLEh5KG4uTixELkosRC5OKX19LHJYQyk7CmlVPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pKTtyZXR1cm4hMH0sZy5yUSxnLkt4KTsKSGl3PWcuZ1EoZnVuY3Rpb24obixXLEQpe3JldHVybiBKOShuLFcsRCl9LGZ1bmN0aW9uKG4sVyxEKXtXPWEwKFcpOwppZihXIT1udWxsKXN3aXRjaCh1RyhXKSxtNChuLEQsMSksbj1uLk4sdUcoVyksdHlwZW9mIFcpe2Nhc2UgIm51bWJlciI6VzwwPyhXPUxoKGttKC1XKSksRD1XLk4sSjMobixXLkopLEozKG4sRCkpOihOMyhXKSxKMyhuLHJaKSxKMyhuLHNfKSk7YnJlYWs7Y2FzZSAiYmlnaW50IjpXPVc8QmlnSW50KDApP0xoKFltKC1XLHZ5LGttKSk6WW0oVyx2eSxrbSk7RD1XLk47SjMobixXLkopO0ozKG4sRCk7YnJlYWs7ZGVmYXVsdDpXPVcubGVuZ3RoJiZXWzBdPT09Ii0iP0xoKHhtKFcuc3Vic3RyaW5nKDEpKSk6eG0oVyksRD1XLk4sSjMobixXLkopLEozKG4sRCl9fSxQcSk7CmZxdz1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO2cucVkoVyxELHVhKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz11NChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxKMyhuLk4sVykpfSx0MmgpOwp1VT1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wKXJldHVybiExO2cucVkoVyxELHkxKG4uTikpO3JldHVybiEwfSxzZixxM1opOwpnLm9tPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7Zy5xWShXLEQsYVkobikpO3JldHVybiEwfSxOWSxtNyk7CmcuZHE9ZnVuY3Rpb24obixXLEQ9bEcpe3JldHVybiBuZXcgelMobixXLEQpfShmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7CmI9U1codm9pZCAwLGIpO2NIKFcsV1tiNF18MCxEKS5wdXNoKGIpO1ExKG4sYix2KTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylwOChuLFdba10sRCxiLHYpOwpuPVdbYjRdfDA7biYxfHwoV1tiNF09bnwxKX19KTsKemc9VFMoZnVuY3Rpb24obixXLEQsYix2LGspe2lmKG4uSiE9PTIpcmV0dXJuITE7dmFyIGg9V1tiNF18MDtXVyhXLGgsayxELEw1KGgpKTtXPWhTKFcsYixEKTtRMShuLFcsdik7cmV0dXJuITB9LHA4KTsKbFU9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MilyZXR1cm4hMTtnLnFZKFcsRCxEOShuKSk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPW5HKFcpOwpXIT1udWxsJiZpRyhuLEQsUFcoVywhMCkuYnVmZmVyKX0sTk1VKTsKVGc9WGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1EOShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYobkcsVywhMSk7CmlmKFchPW51bGwpZm9yKGxldCBoPTA7aDxXLmxlbmd0aDtoKyspe3ZhciBiPW4sdj1ELGs9V1toXTtrIT1udWxsJiZpRyhiLHYsUFcoaywhMCkuYnVmZmVyKX19LE5NVSk7CmpvPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pPj4+MCk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPXU0KFcpOwpXIT1udWxsJiZXIT1udWxsJiYobTQobixELDApLEl4KG4uTixXKSl9LEdDMik7CmcuQ3g9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MClyZXR1cm4hMTtnLnFZKFcsRCxnLkVWKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7RXMobixELEVfKFcpKX0scCRVKTsKSlhTPVhmKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wJiZuLkohPT0yKXJldHVybiExO1c9Y0goVyxXW2I0XXwwLEQpO24uSj09Mj9iRyhuLGs0MixXKTpXLnB1c2goZy5FVihuLk4pKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoRV8sVywhMCk7CmlmKFchPW51bGwpZm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspRXMobixELFdbYl0pfSxwJFUpOwpJcWo9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09NSlyZXR1cm4hMTtuPW4uTjt2YXIgYj1uLkosdj1uLk4saz1iW3YrMF0saD1iW3YrMV0seD1iW3YrMl07Yj1iW3YrM107aWEobiw0KTtnLnFZKFcsRCxrPDwwfGg8PDh8eDw8MTZ8Yjw8MjQpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1FXyhXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixuLk4ucHVzaChXPj4+MCYyNTUpLG4uTi5wdXNoKFc+Pj44JjI1NSksbi5OLnB1c2goVz4+PjE2JjI1NSksbi5OLnB1c2goVz4+PjI0JjI1NSkpfSwkNGkpO3ZhciBTMzE9bmV3IE1hcCxBWHg9Y2xhc3MgZXh0ZW5kcyBlM3J7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudHlwZU5hbWU9bjt0aGlzLk49VztpZihTbyE9PVNvKXRocm93IEVycm9yKCk7UzMxLnNldChuLHRoaXMpfX07dmFyIG00Wj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5OPW47dGhpcy5KPUQ7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5YPWdlO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLlc9Vy5tZXNzYWdlSWQhPW51bGw/eFU6dm9pZCAwfXJlZ2lzdGVyKCl7Zy5PQSh0aGlzKX19O3ZhciBjRlo9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVmPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGk2PVsxLDIsM107dmFyIFo4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LFVmPVsxLDIsM107dmFyIHllPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBLVUM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIE9peD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxQWmg9WzEsMiwzXTtnLk9mPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O2cuT2YucHJvdG90eXBlLkpoPVdaKDApO2cuT2YucHJvdG90eXBlLko9Zy5tRChbMCxnLm9tLFswLFBaaCx6ZyxbMCxnLm9tLC0xLHVVXSx6ZyxbMCxnLm9tLC0xLGlVLHVVXSx6ZyxbMCxnLm9tXV0sWGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1hWShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoZy5EUixXLCEwKTsKaWYoVyE9bnVsbClmb3IobGV0IGg9MDtoPFcubGVuZ3RoO2grKyl7dmFyIGI9bix2PUQsaz1XW2hdO2shPW51bGwmJmlHKGIsdixrSyhrKSl9fSxtNyksCmcuZHEsWzAsZy5kcSxbMCxpNixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTIpcmV0dXJuITE7YmEoVyxELGIsYVkobikpO3JldHVybiEwfSxOWSxtNyksCmcuZ1EoZnVuY3Rpb24obixXLEQsYil7aWYobi5KIT09MClyZXR1cm4hMTtiYShXLEQsYixnLkVWKG4uTikpO3JldHVybiEwfSxnLnJRLGcuS3gpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTApcmV0dXJuITE7YmEoVyxELGIseTEobi5OKSk7cmV0dXJuITB9LHNmLHEzWildLApbMCxVZixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe24uSiE9PTA/bj0hMTooYmEoVyxELGIsZy5VVihuLk4sZy5KXykpLG49ITApO3JldHVybiBufSxnLiRuLGcuTzYpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTEpcmV0dXJuITE7YmEoVyxELGIsZy5kZShuLk4pKTtyZXR1cm4hMH0sZy50OSxnLlpGKSwKemcsWzAsZy5kcSxbMCxVNixnLkU2XV1dXSxnLmdRKGZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gSjkobixXLEQpfSxmdW5jdGlvbihuLFcsRCl7eW0obixELGEwKFcpKX0sUHEpLApYZihmdW5jdGlvbihuLFcsRCl7bi5KIT09MSYmbi5KIT09Mj9uPSExOihXPWNIKFcsV1tiNF18MCxEKSxuLko9PTI/YkcobixvWSxXKTpXLnB1c2gob1kobi5OKSksbj0hMCk7cmV0dXJuIG59LGZ1bmN0aW9uKG4sVyxEKXtXPWU2KGEwLFcsITEpOwppZihXIT1udWxsKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXltKG4sRCxXW2JdKX0sUHEpXSk7dmFyIFppeD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTtnLkU9bDYucHJvdG90eXBlO2cuRS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtpZighZy5xaS5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuITA7dGhpcy5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtuejo2MH0pO2lmKHRoaXMuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTt0aGlzLnJlbW92ZSgiVEVTVENPT0tJRVNFTkFCTEVEIik7cmV0dXJuITB9OwpnLkUuc2V0PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0hMTtpZih0eXBlb2YgRD09PSJvYmplY3QiKXt2YXIgdj1ELnNhbWVTaXRlO2I9RC5zZWN1cmV8fCExO3ZhciBrPUQuZG9tYWlufHx2b2lkIDA7dmFyIGg9RC5wYXRofHx2b2lkIDA7dmFyIHg9RC5uen1pZigvWzs9XHNdLy50ZXN0KG4pKXRocm93IEVycm9yKCdJbnZhbGlkIGNvb2tpZSBuYW1lICInK24rJyInKTtpZigvWztcclxuXS8udGVzdChXKSl0aHJvdyBFcnJvcignSW52YWxpZCBjb29raWUgdmFsdWUgIicrVysnIicpO3g9PT12b2lkIDAmJih4PS0xKTtEPWs/Ijtkb21haW49IitrOiIiO2g9aD8iO3BhdGg9IitoOiIiO2I9Yj8iO3NlY3VyZSI6IiI7eD14PDA/IiI6eD09MD8iO2V4cGlyZXM9IisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOiI7ZXhwaXJlcz0iKyhuZXcgRGF0ZShEYXRlLm5vdygpK3gqMUUzKSkudG9VVENTdHJpbmcoKTt0aGlzLk4uY29va2llPW4rIj0iK1crRCtoK3grYisodiE9bnVsbD8KIjtzYW1lc2l0ZT0iK3Y6IiIpfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe3ZhciBEPW4rIj0iLGI9KHRoaXMuTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO2ZvcihsZXQgdj0wLGs7djxiLmxlbmd0aDt2Kyspe2s9Ylt2XS50cmltKCk7aWYoay5sYXN0SW5kZXhPZihELDApPT0wKXJldHVybiBrLnNsaWNlKEQubGVuZ3RoKTtpZihrPT1uKXJldHVybiIifXJldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9dGhpcy5nZXQobikhPT12b2lkIDA7dGhpcy5zZXQobiwiIix7bno6MCxwYXRoOlcsZG9tYWluOkR9KTtyZXR1cm4gYn07CmcuRS51Qj1mdW5jdGlvbigpe3JldHVybiBUdih0aGlzKS5rZXlzfTsKZy5FLno3PWZ1bmN0aW9uKCl7cmV0dXJuIFR2KHRoaXMpLnZhbHVlc307CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuTi5jb29raWV9OwpnLkUuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgbj1Udih0aGlzKS5rZXlzO2ZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKXRoaXMucmVtb3ZlKG5bV10pfTsKdmFyIEp5PW5ldyBsNih0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBVNHg9Y2xhc3N7YXN5bmMgY29tcHJlc3Mobil7dmFyIFc9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksRD0obmV3IFJlc3BvbnNlKFcucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO1c9Vy53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBXLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKSk7YXdhaXQgVy5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBEKX1pc1N1cHBvcnRlZChuKXtyZXR1cm4gbjwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIHlYTT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgRXppPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pbnRlcnZhbE1zPW47dGhpcy5jYWxsYmFjaz1XO3RoaXMuZW5hYmxlZD0hMTt0aGlzLk49KCk9PmcuVXcoKTsKdGhpcy5KPXRoaXMuTigpfXNldEludGVydmFsKG4pe3RoaXMuaW50ZXJ2YWxNcz1uO3RoaXMudGltZXImJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnRpbWVyJiZ0aGlzLnN0b3AoKX1zdGFydCgpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcyksdGhpcy5KPXRoaXMuTigpKX1zdG9wKCl7dGhpcy5lbmFibGVkPSExOwp0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKX10aWNrKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1NYXRoLm1heCh0aGlzLk4oKS10aGlzLkosMCk7bjx0aGlzLmludGVydmFsTXMqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcy1uKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5jYWxsYmFjaygpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfWVsc2UgdGhpcy50aW1lcj12b2lkIDB9fTt2YXIgaWl4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciB1R2I9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07Zy5FPWcuTVkucHJvdG90eXBlO2cuRS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5NWSh0aGlzLngsdGhpcy55KX07CmcuRS5lcXVhbHM9ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLk1ZJiZSXyh0aGlzLG4pfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy54Kj1uO3RoaXMueSo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O2cuRT1nLlFlLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuUWUodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpnLkUuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIWNPKHRoaXMpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy53aWR0aCo9bjt0aGlzLmhlaWdodCo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O3ZhciBwVD0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO3ZhciAkQj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uPT09cksmJld8fCIifXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19LHJLPXt9O25ldyAkQihySywiIik7dmFyIE8wPXtjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY29sc3BhbjoiY29sU3BhbiIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixoZWlnaHQ6ImhlaWdodCIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLG5vbmNlOiJub25jZSIscm9sZToicm9sZSIscm93c3Bhbjoicm93U3BhbiIsdHlwZToidHlwZSIsdXNlbWFwOiJ1c2VNYXAiLHZhbGlnbjoidkFsaWduIix3aWR0aDoid2lkdGgifTtnLkU9ZlQucHJvdG90eXBlO2cuRS5lXz1mdW5jdGlvbigpe3JldHVybiBBSyh0aGlzLk4pfTsKZy5FLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFd8fHRoaXMuTikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKG4pKX07CmcuRS5CSj1mdW5jdGlvbihuKXtyZXR1cm4gZy5LVChuLHRoaXMuTil9OwpnLkUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihuKXtyZXR1cm4gdWsodGhpcy5OLG4pfTsKZy5FLmFwcGVuZENoaWxkPWZ1bmN0aW9uKG4sVyl7bi5hcHBlbmRDaGlsZChXKX07CmcuRS5hcHBlbmQ9ZnVuY3Rpb24obixXKXtvaChnLkpLKG4pLG4sYXJndW1lbnRzLDEpfTsKZy5FLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihuKXtpZihuLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChuLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07CmcuRS5yZW1vdmVOb2RlPWcuQ1Q7Zy5FLmNvbnRhaW5zPWcuQng7Zy5FLmlzRm9jdXNhYmxlPU1jO3ZhciBvek09Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfUdZKCl7cmV0dXJuIEhXKHRoaXMsMSl9fTt2YXIgVlE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGJJPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGY0Mj1LOChiSSk7dmFyIGtFPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBjeD1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sUVE9bmV3IGJJLGFoPW51bGw7dmFyIFdMPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBkNGg9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHozdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw0KX19O3ZhciBCcT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiwzNyl9Uygpe3ZhciBuPXRoaXMubDk7cmV0dXJuIHg5KG4sbltiNF18MCxkNGgsNykhPT12b2lkIDB9fTt2YXIgbHF0PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDE5KX1hVihuKXtyZXR1cm4gS24odGhpcywyLG4pfX07dmFyIFRNQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuZ1I9Vzt0aGlzLnVhY2g9dGhpcy5sb2NhbGU9bnVsbDt0aGlzLko9MDt0aGlzLmlzRmluYWw9ITE7dGhpcy5OPW5ldyBscXQ7TnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5OLmFWKG4pO1d8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO3ZMKHRoaXMsbmV3IFdMKX1hVihuKXt0aGlzLk4uYVYobik7cmV0dXJuIHRoaXN9YnVpbGQobixXPTAsRD0wLGI9bnVsbCx2PTAsaz0wKXtpZighdGhpcy5nUil7dmFyIGg9REQodGhpcyk7dmFyIHg9bmV3IG96TTt4PUtuKHgsMSx0aGlzLkopO3g9b3ooeCwyLE9fKHRoaXMuaXNGaW5hbCkpO0Q9b3ooeCwzLGcueVAoRD4wP0Q6dm9pZCAwKSk7dj1veihELDQsZy55UCh2PjA/djp2b2lkIDApKTtrPW96KHYsNSxnLnlQKGs+MD9rOnZvaWQgMCkpO3Y9ay5sOTtEPXZbYjRdfDA7az12OShrLEQpP2s6S0coayx2LEQpP09LKGssCnYpOm5ldyBrLmNvbnN0cnVjdG9yKG1fKHYsRCwhMCkpOyQ5KGgsb3pNLDEwLGspfWg9dGhpcy5OLmNsb25lKCk7az1EYXRlLm5vdygpLnRvU3RyaW5nKCk7aD1veihoLDQsZy5sNChrKSk7bj1uLnNsaWNlKCk7bj1zVihoLEJxLDMsbik7YiYmKGg9bmV3IGlpeCxiPW96KGgsMTMsZy55UChiKSksaD1uZXcgdUdiLGI9JDkoaCxpaXgsMixiKSxoPW5ldyB6M3QsYj0kOShoLHVHYiwxLGIpLGI9S24oYiwyLDkpLCQ5KG4sejN0LDE4LGIpKTtXJiZJWShuLDE0LFcpO3JldHVybiBufX07dmFyIEdBO0dBPWcuWmw/IndlYmtpdFRyYW5zaXRpb25FbmQiOiJ0cmFuc2l0aW9uZW5kIjtnLmhILnByb3RvdHlwZS5KPTA7Zy5oSC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLk49dGhpcy5XPXRoaXMuWDt0aGlzLko9MH07CmcuaEgucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuV307dmFyIGpmdz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw4KX19LENaaD1LOChqZncpO3ZhciBGUDtGUD1uZXcgbTRaKDE3NTIzNzM3NSxqZncsY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX0pO3ZhciBCTVo9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5jb21wb25lbnRJZD0iIjt0aGlzLk49W107dGhpcy5WUT0iIjt0aGlzLnBhZ2VJZD1udWxsO3RoaXMuZSQ9dGhpcy50dz0tMTt0aGlzLks9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5PPXRoaXMuY0o9dGhpcy5WPXRoaXMuWD0wO3RoaXMuSEo9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLmJkPSExO3RoaXMubG9nU291cmNlPW4ubG9nU291cmNlO3RoaXMubjE9bi5uMXx8KCgpPT57fSk7CnRoaXMuVz1uZXcgVE1DKG4ubG9nU291cmNlLG4uZ1IpO3RoaXMubmV0d29yaz1uLm5ldHdvcmt8fG51bGw7dGhpcy5QZz1uLlBnfHxudWxsO3RoaXMuWT1uLmN1fHxudWxsO3RoaXMuc2Vzc2lvbkluZGV4PW4uc2Vzc2lvbkluZGV4fHxudWxsO3RoaXMub3g9bi5veHx8ITE7dGhpcy5sb2dnZXI9bnVsbDt0aGlzLndpdGhDcmVkZW50aWFscz0hbi5rQzt0aGlzLmdSPW4uZ1J8fCExO3RoaXMuRD0hdGhpcy5nUiYmISFnLmlrKCkmJiEhZy5paygpLm5hdmlnYXRvciYmZy5paygpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUyQ9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKExLKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoTEsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIFc9bksobmV3IFdMKTt2TCh0aGlzLlcsVyk7dGhpcy5qPW5ldyBnLmhIKDFFNCwzRTUsLjEpO249STRTKHRoaXMsbi5iMSk7dGhpcy5KPW5ldyBFemkodGhpcy5qLmdldFZhbHVlKCksCm4pO3RoaXMuVEM9bmV3IEV6aSg2RTUsbik7dGhpcy5veHx8dGhpcy5UQy5zdGFydCgpO3RoaXMuZ1J8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iJiZlZyh0aGlzKX0pLGcuaWsoKT8uYWRkRXZlbnRMaXN0ZW5lcj8uKCJwYWdlaGlkZSIsKCk9PntlZyh0aGlzKX0pKX1tQSgpe2VnKHRoaXMpOwp0aGlzLkouc3RvcCgpO3RoaXMuVEMuc3RvcCgpO3N1cGVyLm1BKCl9ZGlzcGF0Y2gobil7aWYobiBpbnN0YW5jZW9mIEJxKXRoaXMubG9nKG4pO2Vsc2UgdHJ5e3ZhciBXPW5ldyBCcSxEPW4uYlkoKTt2YXIgYj1nLlNFKFcsOCxEKTt0aGlzLmxvZyhiKX1jYXRjaHt9fWxvZyhuKXtpZih0aGlzLlMkKXtuPW4uY2xvbmUoKTt2YXIgVz10aGlzLkhKKys7bj1JWShuLDIxLFcpO3RoaXMuY29tcG9uZW50SWQmJmcuU0UobiwyNix0aGlzLmNvbXBvbmVudElkKTtXPW47e3ZhciBEPWlXKFcsMSk7bGV0IGI9dHlwZW9mIEQ7RD1EPT1udWxsP0Q6Yj09PSJiaWdpbnQiP1N0cmluZyhkWig2NCxEKSk6WkIoRCk/Yj09PSJzdHJpbmciP0I5KEQpOkM1KEQpOnZvaWQgMH1EPT1udWxsJiYoRD1EYXRlLm5vdygpLEQ9TnVtYmVyLmlzRmluaXRlKEQpP0QudG9TdHJpbmcoKToiMCIsb3ooVywxLGcubDQoRCkpKTtEPWlXKFcsMTUsdm9pZCAwLHZvaWQgMCxGRCk7RCE9bnVsbCYmKHR5cGVvZiBEPT09ImJpZ2ludCI/CnNLKEQpP0Q9TnVtYmVyKEQpOihEPWRaKDY0LEQpLEQ9c0soRCk/TnVtYmVyKEQpOlN0cmluZyhEKSk6RD1aQihEKT90eXBlb2YgRD09PSJudW1iZXIiP0M1KEQpOkI5KEQpOnZvaWQgMCk7RCE9bnVsbHx8SVkoVywxNSwobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkqNjApO3RoaXMuZXhwZXJpbWVudElkcyYmKEQ9dGhpcy5leHBlcmltZW50SWRzLmNsb25lKCksJDkoVyx5WE0sMTYsRCkpO1c9dGhpcy5OLmxlbmd0aC0xRTMrMTtXPjAmJih0aGlzLk4uc3BsaWNlKDAsVyksdGhpcy5YKz1XKTt0aGlzLk4ucHVzaChuKTt0aGlzLm94fHx0aGlzLkouZW5hYmxlZHx8dGhpcy5KLnN0YXJ0KCl9fWZsdXNoKG4sVyl7aWYodGhpcy5OLmxlbmd0aD09PTApbiYmbigpO2Vsc2UgaWYodGhpcy5iZCYmdGhpcy5EKXRoaXMuVy5KPTMsQUZaKHRoaXMpO2Vsc2V7dmFyIEQ9RGF0ZS5ub3coKTtpZih0aGlzLmUkPkQmJnRoaXMudHc8RClXJiZXKCJ0aHJvdHRsZWQiKTtlbHNle3RoaXMubmV0d29yayYmCih0eXBlb2YgdGhpcy5uZXR3b3JrLkdZPT09ImZ1bmN0aW9uIj9IYlModGhpcy5XLHRoaXMubmV0d29yay5HWSgpKTp0aGlzLlcuSj0wKTt2YXIgYj10aGlzLlcuYnVpbGQodGhpcy5OLHRoaXMuWCx0aGlzLlYsdGhpcy5QZyx0aGlzLmNKLHRoaXMuTyksdj10aGlzLm4xKCk7aWYodiYmdGhpcy5WUT09PXYpVyYmVygic3RhbGUtYXV0aC10b2tlbiIpO2Vsc2V7dGhpcy5OPVtdO3RoaXMuSi5lbmFibGVkJiZ0aGlzLkouc3RvcCgpO3RoaXMuWD0wO0Q9Yi5iWSgpO2xldCBrO3RoaXMuSyYmdGhpcy5LLmlzU3VwcG9ydGVkKEQubGVuZ3RoKSYmKGs9dGhpcy5LLmNvbXByZXNzKEQpKTtsZXQgaD1tVXcodGhpcyxELHYpLHg9Rz0+e3RoaXMuai5yZXNldCgpO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7aWYoRyl7dmFyIHI9bnVsbDt0cnl7bGV0IE49SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShHLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cj1DWmgoTil9Y2F0Y2goTil7fXImJgooRz1OdW1iZXIocG4ociwxLGcuJFUoIi0xIikpKSxHPjAmJih0aGlzLnR3PURhdGUubm93KCksdGhpcy5lJD10aGlzLnR3K0cpLHR2KHIubDksRlAuTiksR3oocixGUC5OKSxyPUZQLko/RlAuWChyLEZQLkosRlAuTixGUC5XKTpGUC5YKHIsRlAuTixudWxsLEZQLlcpLHI9cj09PW51bGw/dm9pZCAwOnIpJiYocj1hUChyLDEsLTEpLHIhPT0tMSYmKHRoaXMuaj1uZXcgZy5oSChyPDE/MTpyLDNFNSwuMSksdGhpcy5KLnNldEludGVydmFsKHRoaXMuai5nZXRWYWx1ZSgpKSkpfW4mJm4oKTt0aGlzLlY9MH0sTD0oRyxyKT0+e3ZhciBOPVZHKGIsQnEsMyk7CnZhciBIPU51bWJlcihwbihiLDE0KSk7Zy54RSh0aGlzLmopO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7Rz09PTQwMSYmdiYmKHRoaXMuVlE9dik7SCYmKHRoaXMuWCs9SCk7cj09PXZvaWQgMCYmKHI9dGhpcy5pc1JldHJ5YWJsZShHKSk7ciYmKHRoaXMuTj1OLmNvbmNhdCh0aGlzLk4pLHRoaXMub3h8fHRoaXMuSi5lbmFibGVkfHx0aGlzLkouc3RhcnQoKSk7VyYmVygibmV0LXNlbmQtZmFpbGVkIixHKTsrK3RoaXMuVn0sZT0oKT0+e3RoaXMubmV0d29yayYmdGhpcy5uZXR3b3JrLnNlbmQoaCx4LEwpfTsKaz9rLnRoZW4oRz0+e2guWkpbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5aSlsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PUc7aC5vJD0yO2UoKX0sKCk9PntlKCl9KTplKCl9fX19aXNSZXRyeWFibGUobil7cmV0dXJuIDUwMDw9biYmbjw2MDB8fG49PT00MDF8fG49PT0wfX07dmFyIEZVaj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuUiQ9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifWFzeW5jIHNlbmQobixXLEQpe3ZhciBiPXRoaXMuUiQ/bmV3IEFib3J0Q29udHJvbGxlcjp2b2lkIDAsdj1iJiZuLnRpbWVvdXRNaWxsaXM+MD9zZXRUaW1lb3V0KCgpPT57Yi5hYm9ydCgpfSxuLnRpbWVvdXRNaWxsaXMpOnZvaWQgMDsKdHJ5e2xldCBrPWF3YWl0IGZldGNoKG4udXJsLHttZXRob2Q6bi5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5uLlpKfSwuLi4obi5ib2R5JiZ7Ym9keTpuLmJvZHl9KSwuLi4obi53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6bi50aW1lb3V0TWlsbGlzJiZiP2Iuc2lnbmFsOm51bGx9KTtrLnN0YXR1cz09PTIwMD9XPy4oYXdhaXQgay50ZXh0KCkpOkQ/LihrLnN0YXR1cyl9Y2F0Y2goayl7c3dpdGNoKGs/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOkQ/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6RD8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KHYpfX1HWSgpe3JldHVybiA0fX07dmFyIGtZPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5Saj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5OPXRoaXMuUGc9bnVsbDt0aGlzLko9ITE7dGhpcy5sb2dnZXI9dGhpcy5wYWdlSWQ9bnVsbH1rQygpe3RoaXMuVz0hMDtyZXR1cm4gdGhpc31idWlsZCgpe3RoaXMubmV0d29ya3x8KHRoaXMubmV0d29yaz1uZXcgRlVqKTt2YXIgbj1uZXcgQk1aKHtsb2dTb3VyY2U6dGhpcy5sb2dTb3VyY2UsbjE6dGhpcy5uMT90aGlzLm4xOkJPLHNlc3Npb25JbmRleDp0aGlzLnNlc3Npb25JbmRleCxjdTp0aGlzLlJqLGdSOiExLG94OiExLGtDOnRoaXMuVyxiMTp0aGlzLmIxLG5ldHdvcms6dGhpcy5uZXR3b3JrfSk7Zy51KHRoaXMsCm4pO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIFc9dGhpcy5idWlsZExhYmVsLEQ9REQobi5XKTtnLlNFKEQsNyxXKX1uLks9bmV3IFU0eDt0aGlzLmNvbXBvbmVudElkJiYobi5jb21wb25lbnRJZD10aGlzLmNvbXBvbmVudElkKTt0aGlzLlBnJiYobi5QZz10aGlzLlBnKTt0aGlzLnBhZ2VJZCYmKG4ucGFnZUlkPXRoaXMucGFnZUlkKTt0aGlzLk4mJigoRD10aGlzLk4pPyhuLmV4cGVyaW1lbnRJZHN8fChuLmV4cGVyaW1lbnRJZHM9bmV3IHlYTSksVz1uLmV4cGVyaW1lbnRJZHMsRD1ELmJZKCksZy5TRShXLDQsRCkpOm4uZXhwZXJpbWVudElkcyYmb3oobi5leHBlcmltZW50SWRzLDQpKTt0aGlzLkomJihuLmJkPW4uRCk7SkZaKG4uVyk7dGhpcy5uZXR3b3JrLmFWJiZ0aGlzLm5ldHdvcmsuYVYodGhpcy5sb2dTb3VyY2UpO3RoaXMubmV0d29yay5oUyYmdGhpcy5uZXR3b3JrLmhTKG4pO3JldHVybiBufX07dmFyIGE0aj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7bnx8KG49bmV3IGtZLG4uY29tcG9uZW50SWQ9IiIsZy51KHRoaXMsbiksbj1uLmJ1aWxkKCkpO3RoaXMuTj1ufWZsdXNoKG4pe249bnx8W107aWYobi5sZW5ndGgpe2xldCBXPW5ldyBaaXgsRD1bXTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHY9bltiXSxrPXU2KHYpO0QucHVzaChrKTt2LmNsZWFyKCl9c1YoVyxnLk9mLDEsRCk7dGhpcy5OLmRpc3BhdGNoKFcpO3RoaXMuTi5mbHVzaCgpfX19O3ZhciBxNT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19O3ZhciB3JGI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuSj1uO3RoaXMuVz1XO3RoaXMuZmllbGRzPUR8fFtdO3RoaXMuTj1uZXcgTWFwfWNsZWFyKCl7dGhpcy5OLmNsZWFyKCl9fTt2YXIgaWU9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDMsVyl9fTt2YXIgeTg9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDIsVyl9ZEUobiwuLi5XKXt5RloodGhpcyxuLC4uLlcpfX07JEUucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuSj0hMH07CiRFLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Zy5peChyRCwkRSk7CnJELnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9dGhpcy50eXBlPW4udHlwZSxiPW4uY2hhbmdlZFRvdWNoZXMmJm4uY2hhbmdlZFRvdWNoZXMubGVuZ3RoP24uY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1uLnRhcmdldHx8bi5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1XO1c9bi5yZWxhdGVkVGFyZ2V0O1d8fChEPT0ibW91c2VvdmVyIj9XPW4uZnJvbUVsZW1lbnQ6RD09Im1vdXNlb3V0IiYmKFc9bi50b0VsZW1lbnQpKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9VztiPyh0aGlzLmNsaWVudFg9Yi5jbGllbnRYIT09dm9pZCAwP2IuY2xpZW50WDpiLnBhZ2VYLHRoaXMuY2xpZW50WT1iLmNsaWVudFkhPT12b2lkIDA/Yi5jbGllbnRZOmIucGFnZVksdGhpcy5zY3JlZW5YPWIuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Yi5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPW4uY2xpZW50WCE9PXZvaWQgMD9uLmNsaWVudFg6bi5wYWdlWCx0aGlzLmNsaWVudFk9Cm4uY2xpZW50WSE9PXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWSx0aGlzLnNjcmVlblg9bi5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1uLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPW4uYnV0dG9uO3RoaXMua2V5Q29kZT1uLmtleUNvZGV8fDA7dGhpcy5rZXk9bi5rZXl8fCIiO3RoaXMuY2hhckNvZGU9bi5jaGFyQ29kZXx8KEQ9PSJrZXlwcmVzcyI/bi5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5hbHRLZXk9bi5hbHRLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5wb2ludGVySWQ9bi5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT1uLnBvaW50ZXJUeXBlO3RoaXMuc3RhdGU9bi5zdGF0ZTt0aGlzLk49bjtuLmRlZmF1bHRQcmV2ZW50ZWQmJnJELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9OwpyRC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7ckQuVEIuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5OLnN0b3BQcm9wYWdhdGlvbj90aGlzLk4uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5OLmNhbmNlbEJ1YmJsZT0hMH07CnJELnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3JELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyk7dmFyIG49dGhpcy5OO24ucHJldmVudERlZmF1bHQ/bi5wcmV2ZW50RGVmYXVsdCgpOm4ucmV0dXJuVmFsdWU9ITF9O3ZhciBzMj0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApO3ZhciB1SWg9MDtnLkU9ZksucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLnRvU3RyaW5nKCk7bj10aGlzLmxpc3RlbmVyc1trXTtufHwobj10aGlzLmxpc3RlbmVyc1trXT1bXSx0aGlzLk4rKyk7dmFyIGg9SVcobixXLGIsdik7aD4tMT8oVz1uW2hdLER8fChXLnFfPSExKSk6KFc9bmV3IG8zYihXLHRoaXMuc3JjLGssISFiLHYpLFcucV89RCxuLnB1c2goVykpO3JldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCxiKXtuPW4udG9TdHJpbmcoKTtpZighKG4gaW4gdGhpcy5saXN0ZW5lcnMpKXJldHVybiExO3ZhciB2PXRoaXMubGlzdGVuZXJzW25dO1c9SVcodixXLEQsYik7cmV0dXJuIFc+LTE/KEhMKHZbV10pLGcuQk0odixXKSx2Lmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1tuXSx0aGlzLk4tLSksITApOiExfTsKZy5FLlRpPWZ1bmN0aW9uKCl7dmFyIG49MDtmb3IobGV0IFcgaW4gdGhpcy5saXN0ZW5lcnMpe2xldCBEPXRoaXMubGlzdGVuZXJzW1ddO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKSsrbixITChEW2JdKTtkZWxldGUgdGhpcy5saXN0ZW5lcnNbV107dGhpcy5OLS19fTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe249dGhpcy5saXN0ZW5lcnNbbi50b1N0cmluZygpXTt2YXIgdj0tMTtuJiYodj1JVyhuLFcsRCxiKSk7cmV0dXJuIHY+LTE/blt2XTpudWxsfTsKZy5FLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9biE9PXZvaWQgMCxiPUQ/bi50b1N0cmluZygpOiIiLHY9VyE9PXZvaWQgMDtyZXR1cm4gZy5EbCh0aGlzLmxpc3RlbmVycyxmdW5jdGlvbihrKXtmb3IobGV0IGg9MDtoPGsubGVuZ3RoOysraClpZighKEQmJmtbaF0udHlwZSE9Ynx8diYma1toXS5jYXB0dXJlIT1XKSlyZXR1cm4hMDtyZXR1cm4hMX0pfTt2YXIgUEw9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksaUk9e30sVTI9MCx1ST0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO2cuaXgoZy5vVyxnLkZNKTtnLm9XLnByb3RvdHlwZVtzMl09ITA7Zy5FPWcub1cucHJvdG90eXBlO2cuRS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKG4sVyxELGIpe0FIKHRoaXMsbixXLEQsYil9OwpnLkUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihuLFcsRCxiKXt5Nyh0aGlzLG4sVyxELGIpfTsKZy5FLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5sWjtpZihXKXt2YXIgRD1bXTtmb3IodmFyIGI9MTtXO1c9Vy5sWilELnB1c2goVyksKytifVc9dGhpcy5IZDtiPW4udHlwZXx8bjtpZih0eXBlb2Ygbj09PSJzdHJpbmciKW49bmV3ICRFKG4sVyk7ZWxzZSBpZihuIGluc3RhbmNlb2YgJEUpbi50YXJnZXQ9bi50YXJnZXR8fFc7ZWxzZXt2YXIgdj1uO249bmV3ICRFKGIsVyk7Zy5ZeShuLHYpfXY9ITA7dmFyIGs7aWYoRClmb3Ioaz1ELmxlbmd0aC0xOyFuLkomJms+PTA7ay0tKXt2YXIgaD1uLmN1cnJlbnRUYXJnZXQ9RFtrXTt2PWREKGgsYiwhMCxuKSYmdn1uLkp8fChoPW4uY3VycmVudFRhcmdldD1XLHY9ZEQoaCxiLCEwLG4pJiZ2LG4uSnx8KHY9ZEQoaCxiLCExLG4pJiZ2KSk7aWYoRClmb3Ioaz0wOyFuLkomJms8RC5sZW5ndGg7aysrKWg9bi5jdXJyZW50VGFyZ2V0PURba10sdj1kRChoLGIsITEsbikmJnY7cmV0dXJuIHZ9OwpnLkUubUE9ZnVuY3Rpb24oKXtnLm9XLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5kXyYmdGhpcy5kXy5UaSgpO3RoaXMubFo9bnVsbH07CmcuRS5TXz1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITEsRCxiKX07CmcuRS5lRj1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITAsRCxiKX07CmcuRS53SD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLmRfLnJlbW92ZShTdHJpbmcobiksVyxELGIpfTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiB0aGlzLmRfLnNjKFN0cmluZyhuKSxXLEQsYil9OwpnLkUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24obixXKXtyZXR1cm4gdGhpcy5kXy5oYXNMaXN0ZW5lcihuIT09dm9pZCAwP1N0cmluZyhuKTp2b2lkIDAsVyl9O2cuejc9dHlwZW9mIEFzeW5jQ29udGV4dCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgQXN5bmNDb250ZXh0LlNuYXBzaG90PT09ImZ1bmN0aW9uIj9uPT5uJiZBc3luY0NvbnRleHQuU25hcHNob3Qud3JhcChuKTpuPT5uO3ZhciBNMlM9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLlg9Vzt0aGlzLko9MDt0aGlzLk49bnVsbH1nZXQoKXtpZih0aGlzLko+MCl7dGhpcy5KLS07dmFyIG49dGhpcy5OO3RoaXMuTj1uLm5leHQ7bi5uZXh0PW51bGx9ZWxzZSBuPXRoaXMuVygpO3JldHVybiBufXB1dChuKXt0aGlzLlgobik7dGhpcy5KPDEwMCYmKHRoaXMuSisrLG4ubmV4dD10aGlzLk4sdGhpcy5OPW4pfX07dmFyIGxJO3ZhciBSM2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5OPW51bGx9YWRkKG4sVyl7dmFyIEQ9Q0suZ2V0KCk7RC5zZXQobixXKTt0aGlzLko/dGhpcy5KLm5leHQ9RDp0aGlzLk49RDt0aGlzLko9RH1yZW1vdmUoKXt2YXIgbj1udWxsO3RoaXMuTiYmKG49dGhpcy5OLHRoaXMuTj10aGlzLk4ubmV4dCx0aGlzLk58fCh0aGlzLko9bnVsbCksbi5uZXh0PW51bGwpO3JldHVybiBufX0sQ0s9bmV3IE0yUygoKT0+bmV3IFFmMSxuPT5uLnJlc2V0KCkpLFFmMT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuTj1udWxsfXNldChuLFcpe3RoaXMuTj1uOwp0aGlzLnNjb3BlPVc7dGhpcy5uZXh0PW51bGx9cmVzZXQoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLk49bnVsbH19O3ZhciB3cSxCTCxqZyxWMng7Qkw9ITE7amc9bmV3IFIzYjtnLm1LPShuLFcpPT57d3F8fFYyeCgpO0JMfHwod3EoKSxCTD0hMCk7amcuYWRkKG4sVyl9OwpWMng9KCk9Pnt2YXIgbj1Qcm9taXNlLnJlc29sdmUodm9pZCAwKTt3cT0oKT0+e24udGhlbihUenIpfX07cTgucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0PXRoaXMuSj10aGlzLlc9dGhpcy5OPW51bGw7dGhpcy5YPSExfTsKdmFyIEczPW5ldyBNMlMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHE4fSxmdW5jdGlvbihuKXtuLnJlc2V0KCl9KTsKZy5YMS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFNPKHRoaXMsKDAsZy56NykodHlwZW9mIG49PT0iZnVuY3Rpb24iP246bnVsbCksKDAsZy56NykodHlwZW9mIFc9PT0iZnVuY3Rpb24iP1c6bnVsbCksRCl9OwpnLlgxLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMDtnLkU9Zy5YMS5wcm90b3R5cGU7Zy5FLmZpbmFsbHk9ZnVuY3Rpb24obil7bj0oMCxnLno3KShuKTtyZXR1cm4gbmV3IGcuWDEoKFcsRCk9PntwcSh0aGlzLGI9PntuKCk7VyhiKX0sYj0+e24oKTsKRChiKX0pfSl9OwpnLkUuc1A9ZnVuY3Rpb24obixXKXtyZXR1cm4gU08odGhpcyxudWxsLCgwLGcuejcpKG4pLFcpfTsKZy5FLmNhdGNoPWcuWDEucHJvdG90eXBlLnNQO2cuRS5jYW5jZWw9ZnVuY3Rpb24obil7aWYodGhpcy5OPT0wKXtsZXQgVz1uZXcgZy5JNShuKTtnLm1LKGZ1bmN0aW9uKCl7WUcodGhpcyxXKX0sdGhpcyl9fTsKZy5FLklRPWZ1bmN0aW9uKG4pe3RoaXMuTj0wO2dwKHRoaXMsMixuKX07CmcuRS5BUz1mdW5jdGlvbihuKXt0aGlzLk49MDtncCh0aGlzLDMsbil9OwpnLkUueXM9ZnVuY3Rpb24oKXtmb3IodmFyIG47bj1ISih0aGlzKTspZnEodGhpcyxuLHRoaXMuTix0aGlzLkspO3RoaXMuVj0hMX07CnZhciBPdT1oNDtnLml4KGcuSTUsZy5UYik7Zy5JNS5wcm90b3R5cGUubmFtZT0iY2FuY2VsIjtnLml4KGcuUEosZy5vVyk7Zy5FPWcuUEoucHJvdG90eXBlO2cuRS5lbmFibGVkPSExO2cuRS5aNj1udWxsO2cuRS5zZXRJbnRlcnZhbD1mdW5jdGlvbihuKXt0aGlzLmd0PW47dGhpcy5aNiYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMuWjYmJnRoaXMuc3RvcCgpfTsKZy5FLlJRPWZ1bmN0aW9uKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1nLlV3KCktdGhpcy5qYjtuPjAmJm48dGhpcy5ndCouOD90aGlzLlo2PXRoaXMuVjcuc2V0VGltZW91dCh0aGlzLmhFLHRoaXMuZ3Qtbik6KHRoaXMuWjYmJih0aGlzLlY3LmNsZWFyVGltZW91dCh0aGlzLlo2KSx0aGlzLlo2PW51bGwpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGljayIpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfX07CmcuRS5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLlo2fHwodGhpcy5aNj10aGlzLlY3LnNldFRpbWVvdXQodGhpcy5oRSx0aGlzLmd0KSx0aGlzLmpiPWcuVXcoKSl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMTt0aGlzLlo2JiYodGhpcy5WNy5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsKX07CmcuRS5tQT1mdW5jdGlvbigpe2cuUEouVEIubUEuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5WN307dmFyIGhxPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuRD1uO3RoaXMuVj0wO3RoaXMuWD0xMDA7dGhpcy5LPSExO3RoaXMuVz1uZXcgTWFwO3RoaXMuWT1uZXcgU2V0O3RoaXMuZmx1c2hJbnRlcnZhbD0zRTQ7dGhpcy5KPW5ldyBnLlBKKHRoaXMuZmx1c2hJbnRlcnZhbCk7dGhpcy5KLlNfKCJ0aWNrIix0aGlzLmosITEsdGhpcyk7Zy51KHRoaXMsdGhpcy5KKX1zZW5kSXNvbGF0ZWRQYXlsb2FkKG4pe3RoaXMuSz1uO3RoaXMuWD0xfWooKXt2YXIgbj1bLi4udGhpcy5XLnZhbHVlcygpXS5maWx0ZXIoVz0+Vy5OLnNpemUpOwpuLmxlbmd0aCYmdGhpcy5ELmZsdXNoKG4sdGhpcy5LKTtGY2Iobik7dGhpcy5WPTA7dGhpcy5KLmVuYWJsZWQmJnRoaXMuSi5zdG9wKCl9TihuKXtyZXR1cm4gdGhpcy5ZLmhhcyhuKT92b2lkIDA6dGhpcy5XLmdldChuKX1kRShuLFcsLi4uRCl7KG49dGhpcy5OKG4pKSYmbiBpbnN0YW5jZW9mIHk4JiYobi5kRShXLC4uLkQpLG81KHRoaXMpKX19O3ZhciBDVj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyxEPXt9KXtzdXBlcihXKTt0aGlzLmNvZGU9bjt0aGlzLm1ldGFkYXRhPUQ7dGhpcy5uYW1lPSJScGNFcnJvciI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfXRvU3RyaW5nKCl7dmFyIG49YFJwY0Vycm9yKCR7d01TKHRoaXMuY29kZSl8fFN0cmluZyh0aGlzLmNvZGUpfSlgO3RoaXMubWVzc2FnZSYmKG4rPSI6ICIrdGhpcy5tZXNzYWdlKTtyZXR1cm4gbn19O2xlLnByb3RvdHlwZS5iWT1mdW5jdGlvbihuKXt2YXIgVz1bXTtUMyh0aGlzLG4sVyk7cmV0dXJuIFcuam9pbigiIil9Owp2YXIgQ3E9eyciJzonXFwiJywiXFwiOiJcXFxcIiwiLyI6IlxcLyIsIlxiIjoiXFxiIiwiXGYiOiJcXGYiLCJcbiI6IlxcbiIsIlxyIjoiXFxyIiwiXHQiOiJcXHQiLCJcdiI6IlxcdTAwMGIifSxNalo9L1x1ZmZmZi8udGVzdCgiXHVmZmZmIik/L1tcXCJceDAwLVx4MWZceDdmLVx1ZmZmZl0vZzovW1xcIlx4MDAtXHgxZlx4N2YtXHhmZl0vZzt2YXIgY1hDO2cuaXgoRjEsQkopO0YxLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07CmNYQz1uZXcgRjE7Zy5peCh3cCxnLm9XKTt2YXIgYXEyPS9eaHR0cHM/JC9pLG5kTT1bIlBPU1QiLCJQVVQiXSxNOD1bXTtnLkU9d3AucHJvdG90eXBlO2cuRS5XVT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpO2cuRkkoTTgsdGhpcyl9OwpnLkUuc2VuZD1mdW5jdGlvbihuLFcsRCxiKXtpZih0aGlzLk4pdGhyb3cgRXJyb3IoIltnb29nLm5ldC5YaHJJb10gT2JqZWN0IGlzIGFjdGl2ZSB3aXRoIGFub3RoZXIgcmVxdWVzdD0iK3RoaXMuSysiOyBuZXdVcmk9IituKTtXPVc/Vy50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuSz1uO3RoaXMuaj0iIjt0aGlzLlc9MDt0aGlzLmNKPSExO3RoaXMuSj0hMDt0aGlzLk49dGhpcy5UQz90aGlzLlRDLk4oKTpjWEMuTigpO3RoaXMuTi5vbnJlYWR5c3RhdGVjaGFuZ2U9KDAsZy56NykoKDAsZy5LdCkodGhpcy5OOCx0aGlzKSk7dHJ5e3RoaXMuZ2V0U3RhdHVzKCksdGhpcy50dz0hMCx0aGlzLk4ub3BlbihXLFN0cmluZyhuKSwhMCksdGhpcy50dz0hMX1jYXRjaChrKXt0aGlzLmdldFN0YXR1cygpO1Y4KHRoaXMsayk7cmV0dXJufW49RHx8IiI7RD1uZXcgTWFwKHRoaXMuaGVhZGVycyk7aWYoYilpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoYik9PT1PYmplY3QucHJvdG90eXBlKWZvcih2YXIgdiBpbiBiKUQuc2V0KHYsCmJbdl0pO2Vsc2UgaWYodHlwZW9mIGIua2V5cz09PSJmdW5jdGlvbiImJnR5cGVvZiBiLmdldD09PSJmdW5jdGlvbiIpZm9yKGxldCBrIG9mIGIua2V5cygpKUQuc2V0KGssYi5nZXQoaykpO2Vsc2UgdGhyb3cgRXJyb3IoIlVua25vd24gaW5wdXQgdHlwZSBmb3Igb3B0X2hlYWRlcnM6ICIrU3RyaW5nKGIpKTtiPUFycmF5LmZyb20oRC5rZXlzKCkpLmZpbmQoaz0+ImNvbnRlbnQtdHlwZSI9PWsudG9Mb3dlckNhc2UoKSk7CnY9Zy5xaS5Gb3JtRGF0YSYmbiBpbnN0YW5jZW9mIGcucWkuRm9ybURhdGE7IWcuamoobmRNLFcpfHxifHx2fHxELnNldCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKTtmb3IobGV0IFtrLGhdb2YgRCl0aGlzLk4uc2V0UmVxdWVzdEhlYWRlcihrLGgpO3RoaXMuYmQmJih0aGlzLk4ucmVzcG9uc2VUeXBlPXRoaXMuYmQpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5OJiZ0aGlzLk4ud2l0aENyZWRlbnRpYWxzIT09dGhpcy5PJiYodGhpcy5OLndpdGhDcmVkZW50aWFscz10aGlzLk8pO3RyeXt0aGlzLlYmJihjbGVhclRpbWVvdXQodGhpcy5WKSx0aGlzLlY9bnVsbCksdGhpcy5EPjAmJih0aGlzLmdldFN0YXR1cygpLHRoaXMuVj1zZXRUaW1lb3V0KHRoaXMuVTIuYmluZCh0aGlzKSx0aGlzLkQpKSx0aGlzLmdldFN0YXR1cygpLHRoaXMuWT0hMCx0aGlzLk4uc2VuZChuKSx0aGlzLlk9ITF9Y2F0Y2goayl7dGhpcy5nZXRTdGF0dXMoKSwKVjgodGhpcyxrKX19OwpnLkUuVTI9ZnVuY3Rpb24oKXt0eXBlb2YgY0ohPSJ1bmRlZmluZWQiJiZ0aGlzLk4mJih0aGlzLmo9IlRpbWVkIG91dCBhZnRlciAiK3RoaXMuRCsibXMsIGFib3J0aW5nIix0aGlzLlc9OCx0aGlzLmdldFN0YXR1cygpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTsKZy5FLmFib3J0PWZ1bmN0aW9uKG4pe3RoaXMuTiYmdGhpcy5KJiYodGhpcy5nZXRTdGF0dXMoKSx0aGlzLko9ITEsdGhpcy5YPSEwLHRoaXMuTi5hYm9ydCgpLHRoaXMuWD0hMSx0aGlzLlc9bnx8Nyx0aGlzLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJhYm9ydCIpLFE4KHRoaXMpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuTiYmKHRoaXMuSiYmKHRoaXMuSj0hMSx0aGlzLlg9ITAsdGhpcy5OLmFib3J0KCksdGhpcy5YPSExKSxROCh0aGlzLCEwKSk7d3AuVEIubUEuY2FsbCh0aGlzKX07CmcuRS5OOD1mdW5jdGlvbigpe3RoaXMucU4oKXx8KHRoaXMudHd8fHRoaXMuWXx8dGhpcy5YP25WKHRoaXMpOnRoaXMuZ0soKSl9OwpnLkUuZ0s9ZnVuY3Rpb24oKXtuVih0aGlzKX07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5OfTsKZy5FLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gYTUodGhpcyk9PTR9OwpnLkUuaXNTdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5nZXRTdGF0dXMoKTthOnN3aXRjaChuKXtjYXNlIDIwMDpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwNDpjYXNlIDIwNjpjYXNlIDMwNDpjYXNlIDEyMjM6dmFyIFc9ITA7YnJlYWsgYTtkZWZhdWx0Olc9ITF9aWYoIVcpe2lmKG49bj09PTApbj1nLmZwKFN0cmluZyh0aGlzLkspKVsxXXx8bnVsbCwhbiYmZy5xaS5zZWxmJiZnLnFpLnNlbGYubG9jYXRpb24mJihuPWcucWkuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSksbj0hYXEyLnRlc3Qobj9uLnRvTG93ZXJDYXNlKCk6IiIpO1c9bn1yZXR1cm4gV307CmcuRS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGE1KHRoaXMpPjI/dGhpcy5OLnN0YXR1czotMX1jYXRjaChuKXtyZXR1cm4tMX19OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7aWYodGhpcy5OJiZ0aGlzLmlzQ29tcGxldGUoKSlyZXR1cm4gbj10aGlzLk4uZ2V0UmVzcG9uc2VIZWFkZXIobiksbj09PW51bGw/dm9pZCAwOm59OwpnLkUuZ2V0TGFzdEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiB0aGlzLmo9PT0ic3RyaW5nIj90aGlzLmo6U3RyaW5nKHRoaXMuail9O3ZhciBPYjE9Y2xhc3N7c2VuZChuLFc9KCk9Pnt9LEQ9KCk9Pnt9KXtRTVUobi51cmwsYj0+e2I9Yi50YXJnZXQ7CmIuaXNTdWNjZXNzKCk/VyhXMyhiKSk6RChiLmdldFN0YXR1cygpKX0sbi5yZXF1ZXN0VHlwZSxuLmJvZHksbi5aSixuLnRpbWVvdXRNaWxsaXMsbi53aXRoQ3JlZGVudGlhbHMpfUdZKCl7cmV0dXJuIDF9fTt2YXIgTWw9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmxvZ2dlcj1uO3RoaXMuZXZlbnQ9Vzt0aGlzLnN0YXJ0VGltZT1ibigpfWRvbmUoKXt0aGlzLmxvZ2dlci5YKHRoaXMuZXZlbnQsYm4oKS10aGlzLnN0YXJ0VGltZSl9fSxSbT1jbGFzcyBleHRlbmRzIGphMXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyl9fSx4WT1jbGFzcyBleHRlbmRzIFJte2ooKXt9Tigpe31YKCl7fUooKXt9RCgpe31ZKCl7fVcoKXt9VihuLFcsRCxiKXtyZXR1cm4gYn1jSigpe31LKCl7fU8oKXt9fSxXNTE9Y2xhc3MgZXh0ZW5kcyBSbXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCB0aGlzLmxvZ2dlci5kaXNwb3NlKCkpfXVwZGF0ZShuKXt0aGlzLmxvZ2dlci5kaXNwb3NlKCk7CnRoaXMubG9nZ2VyPW59TihuKXt0aGlzLmxvZ2dlci5OKG4pfVgobixXKXt0aGlzLmxvZ2dlci5YKG4sVyl9SihuKXt0aGlzLmxvZ2dlci5KKG4pfUQobil7dGhpcy5sb2dnZXIuRChuKX1ZKG4sVyl7dGhpcy5sb2dnZXIuWShuLFcpfVcoKXt0aGlzLmxvZ2dlci5XKCl9VihuLFcsRCxiKXtyZXR1cm4gdGhpcy5sb2dnZXIuVihuLFcsRCxiKX1jSihuKXt0aGlzLmxvZ2dlci5jSihuKX1LKG4pe3RoaXMubG9nZ2VyLksobil9TyhuKXt0aGlzLmxvZ2dlci5PKG4pfWoobil7dGhpcy5sb2dnZXIuaihuKX19LERHUz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9bjt0aGlzLko9Vzt0aGlzLk49LVc7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQodGhpcy50aW1lcikpfX0sYjdpPWNsYXNzIGV4dGVuZHMgUm17Y29uc3RydWN0b3IobixXKXtzdXBlcigpOwp0aGlzLm1ldHJpY3M9bjt0aGlzLlZqPVd9aihuKXt0aGlzLm1ldHJpY3MuVGsuZEUobix0aGlzLlZqKX1OKG4pe3RoaXMubWV0cmljcy5ldmVudENvdW50Lkoobix0aGlzLlZqKX1YKG4sVyl7dGhpcy5tZXRyaWNzLlBULmRFKFcsbix0aGlzLlZqKX1KKG4pe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lkoobix0aGlzLlZqKX1WKG4sVyxELGIpe3ZhciB2PWJuKCksaz1oPT57aWYoIXRoaXMucU4oKSl7dmFyIHg9Ym4oKS12O3RoaXMubWV0cmljcy5pTC5kRSh4LG4sRCxoLFcsdGhpcy5Wail9fTsKYi50aGVuKCgpPT52b2lkIGsoMCksaD0+dm9pZCBrKGggaW5zdGFuY2VvZiBDVj9oLmNvZGU6LTEpKTsKcmV0dXJuIGJ9Y0oobil7dGhpcy5tZXRyaWNzLlZKLkoobix0aGlzLlZqKX1LKG4pe3RoaXMubWV0cmljcy5jVS5KKG4sdGhpcy5Wail9TyhuKXt0aGlzLm1ldHJpY3MuakMuSihuLHRoaXMuVmopfUQobil7dGhpcy5tZXRyaWNzLnBheWxvYWRTaXplLmRFKG4sdGhpcy5Wail9WShuLFcpe3RoaXMubWV0cmljcy5mNi5kRShXLG4sdGhpcy5Wail9fSxEaHg9Y2xhc3MgZXh0ZW5kcyBiN2l7Y29uc3RydWN0b3IobixXPVtdKXt2YXIgRD17Vmo6bi5Wanx8Il8iLFJoOm4uUmh8fFtdLExUOm4uTFR8MCxSajpuLlJqLHREOm4udER8fCgoKT0+e30pLApybzpuLnJvfHwoKHYsayk9Pm5sMSh2LGssRC50RCxELlJqKSl9LGI9RC5ybygiNTMiLEQuUmguY29uY2F0KFcpKTsKc3VwZXIoe1RrOm5ldyBDMHgoYiksZXJyb3JDb3VudDpuZXcgTXQxKGIpLGV2ZW50Q291bnQ6bmV3IEYyWihiKSxQVDpuZXcgd1FyKGIpLGlMOm5ldyBCYWkoYiksVko6bmV3IFJkYihiKSxjVTpuZXcgUWF4KGIpLGpDOm5ldyBWdGkoYikscGF5bG9hZFNpemU6bmV3IGNqeChiKSxmNjpuZXcgYTZ3KGIpfSxELlZqKTt0aGlzLm9wdGlvbnM9RDt0aGlzLnNlcnZpY2U9Yjt0aGlzLlRDPSFuLnJvO3RoaXMudHc9bmV3IERHUygoKT0+dm9pZCB0aGlzLnNlcnZpY2UuaigpLEQuTFQpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy50dy5kaXNwb3NlKCk7dGhpcy5UQyYmdGhpcy5zZXJ2aWNlLmRpc3Bvc2UoKX0pOwpnLmJmKFcuc2xpY2UoKSl9Vygpe1dXcih0aGlzLnR3KX19O3ZhciBxdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgR0g9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHIkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDAsciQubWVzc2FnZUlkKX19LFg0Wj1LOChyJCksdmRiPWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT5XIGluc3RhbmNlb2YgbiYmIXY5KFcpKX0ociQpOwpyJC5tZXNzYWdlSWQ9ImJma2oiO3ZhciBjND1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIga0VpPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGhZWj1LOChrRWkpO2cuS1Y9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKG4sVyk9Pnt0aGlzLnJlc29sdmU9bjt0aGlzLnJlamVjdD1XfSl9fTt2YXIgQXE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5KPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMDApO3RoaXMuTj1uZXcga0VpO2lmKCJjaGFsbGVuZ2UiaW4gbiYmdmRiKG4uY2hhbGxlbmdlKSl7dmFyIFc9WTkobi5jaGFsbGVuZ2UsNCx2b2lkIDAseFUpO3ZhciBEPVk5KG4uY2hhbGxlbmdlLDUsdm9pZCAwLHhVKTtZOShuLmNoYWxsZW5nZSw3LHZvaWQgMCx4VSkmJih0aGlzLk49aFlaKFk5KG4uY2hhbGxlbmdlLDcsdm9pZCAwLHhVKSkpfWVsc2Uoe3Byb2dyYW06VyxnbG9iYWxOYW1lOkR9PW4pO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soYXN5bmMoKT0+e3ZhciB7Vng6R309YXdhaXQgdGhpcy5XO0c/LigpfSk7CnRoaXMubG9nZ2VyPUxWKG4ueDN8fHt9LHRoaXMuTik7Zy51KHRoaXMsdGhpcy5sb2dnZXIpO3ZhciBiPW5ldyBnLktWO3RoaXMuVz1iLnByb21pc2U7dGhpcy5sb2dnZXIuTigidCIpO3ZhciB2PXRoaXMubG9nZ2VyLnNoYXJlKCksaz1uZXcgTWwodiwidCIpLGg9KEcscixOLEgpPT57aWYoIXRoaXMubG9nZ2VyLnFOKCkpe3ZhciBBPSJrIjtyP0E9ImgiOk4mJihBPSJ1Iik7QSE9PSJrIj9IIT09MCYmKHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpKTp0aGlzLko8PTA/KHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpLHRoaXMuSj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKSk6dGhpcy5KLS19fSx4PShHLHIsTixIKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntrLmRvbmUoKTsKdi5XKCk7di5kaXNwb3NlKCk7Yi5yZXNvbHZlKHtGeTpHLFZ4OnIscDU6Tix4VTpIfSl9KX0sTD1bKEcscik9Pnt0aGlzLmxvZ2dlci5YKEcscil9LApHPT57dGhpcy5sb2dnZXIuSihHKX0sCkc9Pnt0aGlzLmxvZ2dlci5EKEcpfSwKKEcscik9Pnt0aGlzLmxvZ2dlci5ZKEcscil9XTsKaWYoIWcucWlbRF0pdGhyb3cgdGhpcy5sb2dnZXIuSigyNSksRXJyb3IoIkVHT1UiKTtpZighZy5xaVtEXS5hKXRocm93IHRoaXMubG9nZ2VyLkooMjYpLEVycm9yKCJFTElVIik7dHJ5e2xldCBHPWcucWlbRF0uYTtEPVtdO2xldCByPVtdO3ZhciBlPW4wKHRoaXMuTik7Zm9yKGxldCBBPTA7QTxlLmxlbmd0aDtBKyspRC5wdXNoKGVbQV0pLHIucHVzaCgxKTtsZXQgTj1VaXcodGhpcy5OKTtmb3IoZT0wO2U8Ti5sZW5ndGg7ZSsrKUQucHVzaChOW2VdKSxyLnB1c2goMik7bGV0IFtIXT1HKFcseCwhMCxuLnczLGgsW0Qscl0sWTkodGhpcy5OLDUpLCExLEwpO3RoaXMuWD1IO3RoaXMuT3Y9Yi5wcm9taXNlLnRoZW4oKCk9Pnt9KX1jYXRjaChHKXt0aHJvdyB0aGlzLmxvZ2dlci5KKDI4KSxHOwp9fXNuYXBzaG90KG4pe2lmKHRoaXMucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO3RoaXMubG9nZ2VyLk4oIm4iKTt2YXIgVz10aGlzLmxvZ2dlci5zaGFyZSgpO3JldHVybiB0aGlzLlcudGhlbigoe0Z5OkR9KT0+bmV3IFByb21pc2UoYj0+e3ZhciB2PW5ldyBNbChXLCJuIik7RChrPT57di5kb25lKCk7Vy5qKGsubGVuZ3RoKTtXLlcoKTtXLmRpc3Bvc2UoKTtiKGspfSxbbi53XywKbi5HbCxuLnRMLG4uTU9dKX0pKX1tNShuKXtpZih0aGlzLnFOKCkpdGhyb3cgRXJyb3IoIkFscmVhZHkgZGlzcG9zZWQiKTsKdGhpcy5sb2dnZXIuTigibiIpO3ZhciBXPXYzKHRoaXMubG9nZ2VyLCgpPT50aGlzLlgoW24ud18sbi5HbCxuLnRMLG4uTU9dKSwibiIpOwp0aGlzLmxvZ2dlci5qKFcubGVuZ3RoKTt0aGlzLmxvZ2dlci5XKCk7cmV0dXJuIFd9UzEobil7dGhpcy5XLnRoZW4oKHtwNTpXfSk9PntXPy4obil9KX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX07dmFyIGVtPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5KPXt9O3RoaXMuTj1udWxsfX07dmFyICRZPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBOdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgZlY9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuY2xpZW50PW47dGhpcy5yZXF1ZXN0S2V5PVc7dGhpcy5OPUR9Wmoobil7cmV0dXJuIEgzKHRoaXMsbixuZXcgeFksMCl9fTt2YXIgVEg9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5vcHRpb25zPW47dGhpcy5WPW5ldyBnLktWO3RoaXMuT3Y9dGhpcy5WLnByb21pc2U7dGhpcy5qPW5ldyBnLktWO3RoaXMuWT0xO3RoaXMuSj1uZXcgZy5LVjt0aGlzLlg9W107dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnFKPW4ucUp8fCgoKT0+e30pOwp0aGlzLmxvZ2dlcj1uZXcgVzUxKExWKG4ueDN8fHt9KSk7ckFiKHRoaXMsbi5VZyxuLnFULG4ucVUsbi5USCx7Li4ueEdqLC4uLihuLmtkfHx7fSl9KTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHNQMih0aGlzKSl9YXN5bmMgc25hcHNob3Qobil7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7CnRoaXMuV3x8dGhpcy5LfHxhd2FpdCB0aGlzLmoucHJvbWlzZTtpZih0aGlzLlcpcmV0dXJuIGF3YWl0IHRoaXMuVy5zbmFwc2hvdChuKTt0aHJvdyB0aGlzLks7fXBhdXNlKCl7dGhpcy5xTigpfHx0aGlzLmlzUGF1c2VkfHwodGhpcy5pc1BhdXNlZD0hMCx0aGlzLk4mJnRoaXMuTi5wYXVzZSgpKX1yZXN1bWUoKXshdGhpcy5xTigpJiZ0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLk4mJnRoaXMuTi5yZXN1bWUoKSl9YXN5bmMgY2hlY2tGb3JSZWZyZXNoKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7aWYodGhpcy5OKXt2YXIgbj10aGlzLk47bi5pc0V4cGlyZWQoKT8oT2wobiksbi5RNCgwKSxuPSEwKTpuPSExO24mJmF3YWl0IHRoaXMuSi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy5KLnByb21pc2V9UzEobil7dGhpcy5XPy5TMT8uKG4pfWhhbmRsZUVycm9yKG4pe3RoaXMucU4oKXx8KHRoaXMuSz1uLHRoaXMuai5yZXNvbHZlKCksCnRoaXMub3B0aW9ucy50Nj8uKG4pKX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX0seEdqPXtGWjo0MzJFNSx1bTozRTUsbmI6MTAsamQ6MUU0LGhwOjNFNCxRWDozRTQscUs6NkU0LENxOjFFMyx3ODo2RTQsb3o6NkU1LGQ4Oi4yNSxBaToyLG1heEF0dGVtcHRzOjEwfSxTbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5lbmRUaW1lTXM9MDt0aGlzLk49bnVsbDt0aGlzLmlzUGF1c2VkPSExO3RoaXMudGljaz0oKT0+e2lmKCF0aGlzLmlzUGF1c2VkKXt2YXIgYj10aGlzLmVuZFRpbWVNcy1EYXRlLm5vdygpO2I8PXRoaXMuVz8odGhpcy5OPW51bGwsdGhpcy5RNCgwKSk6dGhpcy5OPXNldFRpbWVvdXQodGhpcy50aWNrLE1hdGgubWluKGIsdGhpcy51bSkpfX07CnRoaXMudW09Vzt0aGlzLlc9RDt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoYj0+e3RoaXMuUTQ9Yn0pOwpZVFUodGhpcyxuKX1wYXVzZSgpe3RoaXMuaXNQYXVzZWR8fCh0aGlzLmlzUGF1c2VkPSEwLE9sKHRoaXMpKX1yZXN1bWUoKXt0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLnRpY2soKSl9Sigpe09sKHRoaXMpO3RoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlE0KDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIEhwaT1NYXRoLmltdWw/PygobixXKT0+bipXfDApLFVsPVsxOTYsCjIwMCwyMjQsMThdLHVuPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0wLEQ9W10pe3RoaXMubWF4SXRlbXM9bjt0aGlzLk49Vzt0aGlzLko9RH1iWSgpe3JldHVybiBTdHJpbmcodGhpcy5OKSsiLCIrdGhpcy5KLmpvaW4oKX1xcChuLFcpe3ZhciBEPXZvaWQgMDtpZih0aGlzLkpbdGhpcy5OXSE9PW4pe2xldCBiPXRoaXMuSi5pbmRleE9mKG4pO2IhPT0tMT8odGhpcy5KLnNwbGljZShiLDEpLGI8dGhpcy5OJiZ0aGlzLk4tLSx0aGlzLkouc3BsaWNlKHRoaXMuTiwwLG4pKTooRD10aGlzLkpbdGhpcy5OXSx0aGlzLkpbdGhpcy5OXT1uKX10aGlzLk49KHRoaXMuTisxKSV0aGlzLm1heEl0ZW1zO249UDMoImlVNXEtIU85QCQiLHRoaXMuYlkoKSk7RCYmbiYmVyhEKTtyZXR1cm4gbn19LEw1Uz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMubG9nZ2VyPVc7dHJ5e3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UmJiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtfWNhdGNoKGIpe0Q9ITF9RCYmKHRoaXMuaW5kZXg9SWV3KG4pKX1OKG4sVyxELGIpe3ZhciB2PXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PmZlYih0aGlzLmluZGV4LHlpKG4pLFcsRCxiKSwiVyIpOiJ1IjsKdGhpcy5sb2dnZXIuTyh2KX1KKG4sVyl7dmFyIFtELGJdPXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PkpBdyh5aShuKSxXKSwiUiIpOlsidSJdOwp0aGlzLmxvZ2dlci5LKEQpO3JldHVybiBifX07dmFyIEFBUz17dG9TdHJpbmc6ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO24tPS0yMTQ3NDgzNjQ4O1dbRCsrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIuY2hhckF0KG4lNTIpO2ZvcihuPU1hdGguZmxvb3Iobi81Mik7bj4wOylXW0QrK109ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ii5jaGFyQXQobiU2Miksbj1NYXRoLmZsb29yKG4vNjIpO3JldHVybiBXLmpvaW4oIiIpfX07dmFyIFFwPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5YPW5ldyBnLktWfVpSKG4sVyl7dmFyIEQ9dGhpcy5XKG4pO1c/LihEKTtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9PmcuRUEoRCwyKSx0aGlzLkopfUZwKG4sVyxEKXtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9Plc/dGhpcy5aUihuLEQpOnRoaXMuVyhuLEQpLHRoaXMuTil9fSxGNj1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyxELGIpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLks9RDt0aGlzLk49Im0iO3RoaXMuSj0ieCI7dGhpcy5WPTA7ZCQodGhpcyxiKX1XKG4sVyl7dGhpcy5sb2dnZXIuTih0aGlzLk4pOysrdGhpcy5WPj10aGlzLksmJnRoaXMuWC5yZXNvbHZlKCk7dmFyIEQ9bigpO249djModGhpcy5sb2dnZXIsKCk9PnRoaXMuaihEKSwiQyIpOwppZihuPT09dm9pZCAwKXRocm93IG5ldyBRRygxNywiWU5KOlVuZGVmaW5lZCIpO2lmKCEobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IG5ldyBRRygxOCwiT0RNOkludmFsaWQiKTtXPy4obik7cmV0dXJuIG59fSxVaGo9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJmIjt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB0aGlzLmp9fSxacHQ9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJ3Ijt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB2Myh0aGlzLmxvZ2dlciwoKT0+bHAodGhpcy5qKSwiZCIpfVpSKCl7cmV0dXJuIHRoaXMuan19LG9sdz1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIobik7CnRoaXMuZXJyb3I9Vzt0aGlzLk49ImUiO3RoaXMuSj0ieSJ9Vygpe2lmKHRoaXMuailyZXR1cm4gdGhpcy5qO3RoaXMuaj1sbih0aGlzLG49PiJfIittaHcobikpOwpyZXR1cm4gbG4odGhpcyxuPT5uKX19LFFpPWNsYXNzIGV4dGVuZHMgUXB7Y29uc3RydWN0b3IobixXLEQpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLmNsaWVudFN0YXRlPUQ7dGhpcy5OPSJTIjt0aGlzLko9InEifVcoKXt2YXIgbj1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxXPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sRD1XLmNvbmNhdChbdGhpcy5qJjI1NSx0aGlzLmNsaWVudFN0YXRlXSxbbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSxuJjI1NV0pO249bmV3IFVpbnQ4QXJyYXkoMitELmxlbmd0aCk7blswXT0zNDtuWzFdPUQubGVuZ3RoO24uc2V0KEQsMik7RD1uLnN1YmFycmF5KDIpO1c9Vy5sZW5ndGg7Zm9yKGxldCBiPVc7YjxELmxlbmd0aDsrK2IpRFtiXV49RFtiJVddO3RoaXMubG9nZ2VyLmNKKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBufX07dmFyIGVZaT17WFU6M0U0LHJTOjJFNH0sQW10PWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD1uZXcgZy5LVjt0aGlzLmo9MDt0aGlzLko9dm9pZCAwO3RoaXMuc3RhdGU9Mjt0aGlzLk8xPW4uTzE7dGhpcy5VZz1uLlVnO3RoaXMua2Q9ey4uLmVZaSwuLi4obi5rZHx8e30pfTt0aGlzLmxvZ2dlcj1uLk8xLlFEKCk7dGhpcy5vbkVycm9yPW4ub25FcnJvcj8/KCgpPT57fSk7CnRoaXMuWGw9bi5YbHx8ITE7aWYoZ2R0KG4pKXtsZXQgYj10aGlzLk8xO3RoaXMuVj0oKT0+TlR0KGIpLmNhdGNoKHY9Pnt0aGlzLko9dj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRyh0aGlzLk4/MjA6MzIsIlRSRzpEaXNwb3NlZCIsdikpO3RoaXMuTj8uZGlzcG9zZSgpO3RoaXMuTj12b2lkIDA7dGhpcy5YLnJlamVjdCh2KX0pOwpwNGkoYiwoKT0+dm9pZCBCMyh0aGlzKSk7CmIuWT09PTImJkIzKHRoaXMpfWVsc2UgdGhpcy5WPW4uRTYsQjModGhpcyk7dmFyIFc9dGhpcy5sb2dnZXIuc2hhcmUoKTtXLk4oIm8iKTt2YXIgRD1uZXcgTWwoVywibyIpO3RoaXMuWC5wcm9taXNlLnRoZW4oKCk9PntELmRvbmUoKTtXLlcoKTtXLmRpc3Bvc2UoKX0sKCk9PnZvaWQgVy5kaXNwb3NlKCkpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5OPyh0aGlzLk4uZGlzcG9zZSgpLHRoaXMuTj12b2lkIDApOnRoaXMuSj90aGlzLmxvZ2dlci5XKCk6KHRoaXMuSj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRygzMiwiVE5QOkRpc3Bvc2VkIikpLHRoaXMubG9nZ2VyLlcoKSx0aGlzLlgucmVqZWN0KHRoaXMuSikpfSk7CmcudSh0aGlzLHRoaXMubG9nZ2VyKX1IJCgpe3JldHVybiB0aGlzLlgucHJvbWlzZX1XKG4pe3JldHVybiBNdih0aGlzLHsuLi5ufSwhMSl9WlIobil7cmV0dXJuIE12KHRoaXMsey4uLm59LCEwKX15aChuKXtpZighKG4+MTUwKSl0cnl7dGhpcy5jYWNoZT1uZXcgTDVTKG4sdGhpcy5sb2dnZXIpfWNhdGNoKFcpe3RoaXMucmVwb3J0RXJyb3IobmV3IFFHKDIyLCJHQko6aW5pdCIsVykpfX1yZXBvcnRFcnJvcihuKXt0aGlzLmxvZ2dlci5KKG4uY29kZSk7dGhpcy5vbkVycm9yKG4pO3JldHVybiBufX0sZ2R0PWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT57aWYoIWtDeChXKSlyZXR1cm4hMTtmb3IobGV0IFtELGJdb2YgT2JqZWN0LmVudHJpZXMobikpe2xldCB2PUQsaz1iO2lmKCEodiBpbiBXKSl7aWYoay5LUD09PSEwKWNvbnRpbnVlO3JldHVybiExfWlmKCFrKFdbdl0pKXJldHVybiExfXJldHVybiEwfSl9KHtPMTpxMyhuPT5uIGluc3RhbmNlb2YgVEgpfSwiIik7dmFyIHFuaT1jbGFzc3tjb25zdHJ1Y3Rvcigpe2lmKCFWcCl7VnA9bmV3IGhxKG5ldyBYbkMpO3ZhciBuPXYwKCJjbGllbnRfc3RyZWFtel93ZWJfZmx1c2hfY291bnQiLC0xKTtuIT09LTEmJihWcC5YPW4pfXRoaXMuVz1uPVZwO3VlKG4sIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLERYKCJ0eXBlIiksRFgoInNlcXVlbmNlIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L3lvdXR1YmUvYWJhL2dhYyIpfX07Zy5jcT1kb2N1bWVudDtnLncyPXdpbmRvdzt2YXIgZGhaPXtIdToiYWxsb3ctZm9ybXMiLFVpOiJhbGxvdy1tb2RhbHMiLEdvOiJhbGxvdy1vcmllbnRhdGlvbi1sb2NrIixFaToiYWxsb3ctcG9pbnRlci1sb2NrIixNTToiYWxsb3ctcG9wdXBzIixmRToiYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IixGODoiYWxsb3ctcHJlc2VudGF0aW9uIixEczoiYWxsb3ctc2FtZS1vcmlnaW4iLHZ1OiJhbGxvdy1zY3JpcHRzIixPaToiYWxsb3ctdG9wLW5hdmlnYXRpb24iLGdNOiJhbGxvdy10b3AtbmF2aWdhdGlvbi1ieS11c2VyLWFjdGl2YXRpb24ifSxsZVM9Zy53RCgoKT0+ekhpKCkpO2cuRT1nLmJyLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuYnIodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNvbnRhaW5zPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5NWT9uLng+PXRoaXMubGVmdCYmbi54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmbi55Pj10aGlzLnRvcCYmbi55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PW4ubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PW4ubGVmdCtuLndpZHRoJiZ0aGlzLnRvcDw9bi50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1uLnRvcCtuLmhlaWdodH07CmcuRS5nZXRTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBnLlFlKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpnLkUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307CmcuRS5zY2FsZT1mdW5jdGlvbihuLFcpe1c9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47dGhpcy5sZWZ0Kj1uO3RoaXMud2lkdGgqPW47dGhpcy50b3AqPVc7dGhpcy5oZWlnaHQqPVc7cmV0dXJuIHRoaXN9O3ZhciBqUEM9L14tLS4rLyxMVz17fTtnLkdFMj1nLndEKCgpPT57dmFyIG49ITE7dHJ5e2xldCBXPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldCgpe249ITB9fSk7Zy5xaS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLFcpfWNhdGNoKFcpe31yZXR1cm4gbn0pO3ZhciB6Q3c9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIHRJdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgJEcxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmZ2PW47dGhpcy5sMD1XO3RoaXMubWV0YWRhdGE9RH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfX07dmFyIEJUdD1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30pe3RoaXMuUHo9bjt0aGlzLm1ldGFkYXRhPVc7dGhpcy5zdGF0dXM9bnVsbH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfWdldFN0YXR1cygpe3JldHVybiB0aGlzLnN0YXR1c319O3ZhciByc3c9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLm5hbWU9bjt0aGlzLm1ldGhvZFR5cGU9InVuYXJ5Ijt0aGlzLnJlcXVlc3RUeXBlPVc7dGhpcy5yZXNwb25zZVR5cGU9RDt0aGlzLk49Yjt0aGlzLlc9dn1KKG4sVz17fSl7cmV0dXJuIG5ldyAkRzEobix0aGlzLFcpfWdldE5hbWUoKXtyZXR1cm4gdGhpcy5uYW1lfX07dmFyIHNPTT1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvQ3JlYXRlIiwkWSx0SXQsbj0+bi5iWSgpLEs4KHRJdCkpO3ZhciBOUDI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHFUUz1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvR2VuZXJhdGVJVCIsTnYsTlAyLG49Pm4uYlkoKSxLOChOUDIpKTt2YXIgWDJyPW5ldyBTZXQoWyJTQVBJU0lESEFTSCIsIkFQSVNJREhBU0giXSk7dmFyIFJIaT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0VmFsdWUoKXt2YXIgbj1pVyh0aGlzLDIpO2lmKEFycmF5LmlzQXJyYXkobil8fG4gaW5zdGFuY2VvZiBnLlFtKXRocm93IEVycm9yKCJDYW5ub3QgYWNjZXNzIHRoZSBBbnkudmFsdWUgZmllbGQgb24gQW55IHByb3RvcyBlbmNvZGVkIHVzaW5nIHRoZSBqc3BiIGZvcm1hdCwgY2FsbCB1bnBhY2tKc3BiIGluc3RlYWQiKTtyZXR1cm4gUnoodGhpcywyKX19O3ZhciBNMWI9SzgoY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE1lc3NhZ2UoKXtyZXR1cm4gWTkodGhpcywyKX19KTt2YXIgdHUxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPVtdO3RoaXMuWD1bXTt0aGlzLmo9W107dGhpcy5XPVtdO3RoaXMuTj1bXTt0aGlzLlY9bi5NRTt0aGlzLks9Vzt0aGlzLnhocj1uLnhocjt0aGlzLlYmJnc0cih0aGlzKX14VihuLFcpe249PT0iZGF0YSI/dGhpcy5KLnB1c2goVyk6bj09PSJtZXRhZGF0YSI/dGhpcy5YLnB1c2goVyk6bj09PSJzdGF0dXMiP3RoaXMuai5wdXNoKFcpOm49PT0iZW5kIj90aGlzLlcucHVzaChXKTpuPT09ImVycm9yIiYmdGhpcy5OLnB1c2goVyl9cmVtb3ZlTGlzdGVuZXIobixXKXtuPT09ImRhdGEiP0ExKHRoaXMuSixXKTpuPT09Im1ldGFkYXRhIj9BMSh0aGlzLlgsVyk6bj09PSJzdGF0dXMiP0ExKHRoaXMuaixXKTpuPT09ImVuZCI/QTEodGhpcy5XLFcpOm49PT0iZXJyb3IiJiZBMSh0aGlzLk4sVyk7cmV0dXJuIHRoaXN9Y2FuY2VsKCl7dGhpcy54aHIuYWJvcnQoKX19LFFQUz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoKTsKdGhpcy5uYW1lPSJBc3luY1N0YWNrIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTtnLml4KG1HLEJKKTttRy5wcm90b3R5cGUuTj1mdW5jdGlvbigpe3ZhciBuPW5ldyBLVyh0aGlzLlgsdGhpcy5XKTt0aGlzLkomJm4uc2V0Q3JlZGVudGlhbHNNb2RlKHRoaXMuSik7cmV0dXJuIG59OwptRy5wcm90b3R5cGUuc2V0Q3JlZGVudGlhbHNNb2RlPWZ1bmN0aW9uKG4pe3RoaXMuSj1ufTsKZy5peChLVyxnLm9XKTtnLkU9S1cucHJvdG90eXBlO2cuRS5vcGVuPWZ1bmN0aW9uKG4sVyl7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcigiRXJyb3IgcmVvcGVuaW5nIGEgY29ubmVjdGlvbiIpO3RoaXMuY0o9bjt0aGlzLk89Vzt0aGlzLnJlYWR5U3RhdGU9MTtQWSh0aGlzKX07CmcuRS5zZW5kPWZ1bmN0aW9uKG4pe2lmKHRoaXMucmVhZHlTdGF0ZSE9MSl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIm5lZWQgdG8gY2FsbCBvcGVuKCkgZmlyc3QuICIpO2lmKHRoaXMuWS5zaWduYWwuYWJvcnRlZCl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIik7dGhpcy5OPSEwO3ZhciBXPXtoZWFkZXJzOnRoaXMuRCxtZXRob2Q6dGhpcy5jSixjcmVkZW50aWFsczp0aGlzLmosY2FjaGU6dm9pZCAwLHNpZ25hbDp0aGlzLlkuc2lnbmFsfTtuJiYoVy5ib2R5PW4pOyh0aGlzLnR3fHxnLnFpKS5mZXRjaChuZXcgUmVxdWVzdCh0aGlzLk8sVykpLnRoZW4odGhpcy5HRS5iaW5kKHRoaXMpLHRoaXMuRFAuYmluZCh0aGlzKSl9OwpnLkUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLnN0YXR1cz0wO3RoaXMuWS5hYm9ydCgiUmVxdWVzdCB3YXMgYWJvcnRlZC4iKTt0aGlzLlcmJnRoaXMuVy5jYW5jZWwoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIikuY2F0Y2goKCk9Pnt9KTsKdGhpcy5yZWFkeVN0YXRlPj0xJiZ0aGlzLk4mJnRoaXMucmVhZHlTdGF0ZSE9NCYmKHRoaXMuTj0hMSxaYSh0aGlzKSk7dGhpcy5yZWFkeVN0YXRlPTB9OwpnLkUuR0U9ZnVuY3Rpb24obil7aWYodGhpcy5OJiYodGhpcy5YPW4sdGhpcy5KfHwodGhpcy5zdGF0dXM9dGhpcy5YLnN0YXR1cyx0aGlzLnN0YXR1c1RleHQ9dGhpcy5YLnN0YXR1c1RleHQsdGhpcy5KPW4uaGVhZGVycyx0aGlzLnJlYWR5U3RhdGU9MixQWSh0aGlzKSksdGhpcy5OJiYodGhpcy5yZWFkeVN0YXRlPTMsUFkodGhpcyksdGhpcy5OKSkpaWYodGhpcy5yZXNwb25zZVR5cGU9PT0iYXJyYXlidWZmZXIiKW4uYXJyYXlCdWZmZXIoKS50aGVuKHRoaXMuSFQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpO2Vsc2UgaWYodHlwZW9mIGcucWkuUmVhZGFibGVTdHJlYW0hPT0idW5kZWZpbmVkIiYmImJvZHkiaW4gbil7dGhpcy5XPW4uYm9keS5nZXRSZWFkZXIoKTtpZih0aGlzLlYpe2lmKHRoaXMucmVzcG9uc2VUeXBlKXRocm93IEVycm9yKCdyZXNwb25zZVR5cGUgbXVzdCBiZSBlbXB0eSBmb3IgInN0cmVhbUJpbmFyeUNodW5rcyIgbW9kZSByZXNwb25zZXMuJyk7dGhpcy5yZXNwb25zZT0KW119ZWxzZSB0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiLHRoaXMuSz1uZXcgVGV4dERlY29kZXI7T2oodGhpcyl9ZWxzZSBuLnRleHQoKS50aGVuKHRoaXMuVUQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpfTsKZy5FLmxFPWZ1bmN0aW9uKG4pe2lmKHRoaXMuTil7aWYodGhpcy5WJiZuLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChuLnZhbHVlKTtlbHNlIGlmKCF0aGlzLlYpe3ZhciBXPW4udmFsdWU/bi52YWx1ZTpuZXcgVWludDhBcnJheSgwKTtpZihXPXRoaXMuSy5kZWNvZGUoVyx7c3RyZWFtOiFuLmRvbmV9KSl0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0Kz1XfW4uZG9uZT9aYSh0aGlzKTpQWSh0aGlzKTt0aGlzLnJlYWR5U3RhdGU9PTMmJk9qKHRoaXMpfX07CmcuRS5VRD1mdW5jdGlvbihuKXt0aGlzLk4mJih0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PW4sWmEodGhpcykpfTsKZy5FLkhUPWZ1bmN0aW9uKG4pe3RoaXMuTiYmKHRoaXMucmVzcG9uc2U9bixaYSh0aGlzKSl9OwpnLkUuRFA9ZnVuY3Rpb24oKXt0aGlzLk4mJlphKHRoaXMpfTsKZy5FLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24obixXKXt0aGlzLkQuYXBwZW5kKG4sVyl9OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuSj90aGlzLkouZ2V0KG4udG9Mb3dlckNhc2UoKSl8fCIiOiIifTsKZy5FLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe2lmKCF0aGlzLkopcmV0dXJuIiI7Zm9yKHZhciBuPVtdLFc9dGhpcy5KLmVudHJpZXMoKSxEPVcubmV4dCgpOyFELmRvbmU7KUQ9RC52YWx1ZSxuLnB1c2goRFswXSsiOiAiK0RbMV0pLEQ9Vy5uZXh0KCk7cmV0dXJuIG4uam9pbigiXHJcbiIpfTsKZy5FLnNldENyZWRlbnRpYWxzTW9kZT1mdW5jdGlvbihuKXt0aGlzLmo9bn07Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShLVy5wcm90b3R5cGUsIndpdGhDcmVkZW50aWFscyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0iaW5jbHVkZSJ9LApzZXQ6ZnVuY3Rpb24obil7dGhpcy5zZXRDcmVkZW50aWFsc01vZGUobj8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIil9fSk7Zy5Vai5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPXRoaXMuWDtXJiZuLnB1c2goek4oVyxwbngsITApLCI6Iik7dmFyIEQ9dGhpcy5OO2lmKER8fFc9PSJmaWxlIiluLnB1c2goIi8vIiksKFc9dGhpcy5ZKSYmbi5wdXNoKHpOKFcscG54LCEwKSwiQCIpLG4ucHVzaChxaChEKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxEPXRoaXMuVixEIT1udWxsJiZuLnB1c2goIjoiLFN0cmluZyhEKSk7aWYoRD10aGlzLkopdGhpcy5OJiZELmNoYXJBdCgwKSE9Ii8iJiZuLnB1c2goIi8iKSxuLnB1c2goek4oRCxELmNoYXJBdCgwKT09Ii8iP1luTTpIN2osITApKTsoRD10aGlzLlcudG9TdHJpbmcoKSkmJm4ucHVzaCgiPyIsRCk7KEQ9dGhpcy5qKSYmbi5wdXNoKCIjIix6TihELGZVYikpO3JldHVybiBuLmpvaW4oIiIpfTsKZy5Vai5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihuKXt2YXIgVz10aGlzLmNsb25lKCksRD0hIW4uWDtEP3lOKFcsbi5YKTpEPSEhbi5ZO0Q/Vy5ZPW4uWTpEPSEhbi5OO0Q/RWooVyxuLk4pOkQ9bi5WIT1udWxsO3ZhciBiPW4uSjtpZihEKWlyKFcsbi5WKTtlbHNlIGlmKEQ9ISFuLkope2lmKGIuY2hhckF0KDApIT0iLyIpaWYodGhpcy5OJiYhdGhpcy5KKWI9Ii8iK2I7ZWxzZXt2YXIgdj1XLkoubGFzdEluZGV4T2YoIi8iKTt2IT0tMSYmKGI9Vy5KLnNsaWNlKDAsdisxKStiKX12PWI7aWYodj09Ii4uInx8dj09Ii4iKWI9IiI7ZWxzZSBpZih2LmluZGV4T2YoIi4vIikhPS0xfHx2LmluZGV4T2YoIi8uIikhPS0xKXtiPWcualUodiwiLyIpO3Y9di5zcGxpdCgiLyIpO2xldCBrPVtdO2ZvcihsZXQgaD0wO2g8di5sZW5ndGg7KXtsZXQgeD12W2grK107eD09Ii4iP2ImJmg9PXYubGVuZ3RoJiZrLnB1c2goIiIpOng9PSIuLiI/KChrLmxlbmd0aD4xfHxrLmxlbmd0aD09MSYma1swXSE9CiIiKSYmay5wb3AoKSxiJiZoPT12Lmxlbmd0aCYmay5wdXNoKCIiKSk6KGsucHVzaCh4KSxiPSEwKX1iPWsuam9pbigiLyIpfWVsc2UgYj12fUQ/Vy5KPWI6RD1uLlcudG9TdHJpbmcoKSE9PSIiO0Q/dXIoVyxuLlcuY2xvbmUoKSk6RD0hIW4uajtEJiYoVy5qPW4uaik7cmV0dXJuIFd9OwpnLlVqLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5Vaih0aGlzKX07CnZhciBwbng9L1sjXC9cP0BdL2csSDdqPS9bI1w/Ol0vZyxZbk09L1sjXD9dL2csRHhTPS9bI1w/QF0vZyxmVWI9LyMvZztnLkU9ZGgucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLlc9bnVsbDtuPWpTKHRoaXMsbik7dmFyIEQ9dGhpcy5OLmdldChuKTtEfHx0aGlzLk4uc2V0KG4sRD1bXSk7RC5wdXNoKFcpO3RoaXMuSj10aGlzLkorMTtyZXR1cm4gdGhpc307CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7VE4odGhpcyk7bj1qUyh0aGlzLG4pO3JldHVybiB0aGlzLk4uaGFzKG4pPyh0aGlzLlc9bnVsbCx0aGlzLko9dGhpcy5KLXRoaXMuTi5nZXQobikubGVuZ3RoLHRoaXMuTi5kZWxldGUobikpOiExfTsKZy5FLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5OPXRoaXMuVz1udWxsO3RoaXMuSj0wfTsKZy5FLmlzRW1wdHk9ZnVuY3Rpb24oKXtUTih0aGlzKTtyZXR1cm4gdGhpcy5KPT0wfTsKZy5FLmZvckVhY2g9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe0QuZm9yRWFjaChmdW5jdGlvbih2KXtuLmNhbGwoVyx2LGIsdGhpcyl9LHRoaXMpfSx0aGlzKX07CmcuRS51Qj1mdW5jdGlvbigpe1ROKHRoaXMpO3ZhciBuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKSxXPUFycmF5LmZyb20odGhpcy5OLmtleXMoKSksRD1bXTtmb3IobGV0IGI9MDtiPFcubGVuZ3RoO2IrKyl7bGV0IHY9bltiXTtmb3IobGV0IGs9MDtrPHYubGVuZ3RoO2srKylELnB1c2goV1tiXSl9cmV0dXJuIER9OwpnLkUuejc9ZnVuY3Rpb24obil7VE4odGhpcyk7dmFyIFc9W107aWYodHlwZW9mIG49PT0ic3RyaW5nIilDVyh0aGlzLG4pJiYoVz1XLmNvbmNhdCh0aGlzLk4uZ2V0KGpTKHRoaXMsbikpKSk7ZWxzZXtuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXPVcuY29uY2F0KG5bRF0pfXJldHVybiBXfTsKZy5FLnNldD1mdW5jdGlvbihuLFcpe1ROKHRoaXMpO3RoaXMuVz1udWxsO249alModGhpcyxuKTtDVyh0aGlzLG4pJiYodGhpcy5KPXRoaXMuSi10aGlzLk4uZ2V0KG4pLmxlbmd0aCk7dGhpcy5OLnNldChuLFtXXSk7dGhpcy5KPXRoaXMuSisxO3JldHVybiB0aGlzfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBXO249dGhpcy56NyhuKTtyZXR1cm4gbi5sZW5ndGg+MD9TdHJpbmcoblswXSk6V307CmcuRS50b1N0cmluZz1mdW5jdGlvbigpe2lmKHRoaXMuVylyZXR1cm4gdGhpcy5XO2lmKCF0aGlzLk4pcmV0dXJuIiI7dmFyIG49W10sVz1BcnJheS5mcm9tKHRoaXMuTi5rZXlzKCkpO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXt2YXIgRD1XW2JdO2xldCB2PXFoKEQpO0Q9dGhpcy56NyhEKTtmb3IobGV0IGs9MDtrPEQubGVuZ3RoO2srKyl7bGV0IGg9djtEW2tdIT09IiImJihoKz0iPSIrcWgoRFtrXSkpO24ucHVzaChoKX19cmV0dXJuIHRoaXMuVz1uLmpvaW4oIiYiKX07CmcuRS5jbG9uZT1mdW5jdGlvbigpe3ZhciBuPW5ldyBkaDtuLlc9dGhpcy5XO3RoaXMuTiYmKG4uTj1uZXcgTWFwKHRoaXMuTiksbi5KPXRoaXMuSik7cmV0dXJuIG59OwpnLkUuZXh0ZW5kPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8YXJndW1lbnRzLmxlbmd0aDtXKyspbktpKGFyZ3VtZW50c1tXXSxmdW5jdGlvbihELGIpe3RoaXMuYWRkKGIsRCl9LHRoaXMpfTtnLml4KEJZLGcuRk0pO3ZhciBKc2o9W107Zy5FPUJZLnByb3RvdHlwZTtnLkUuU189ZnVuY3Rpb24obixXLEQsYil7QXJyYXkuaXNBcnJheShXKXx8KFcmJihKc2pbMF09Vy50b1N0cmluZygpKSxXPUpzaik7Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPUFIKG4sV1t2XSxEfHx0aGlzLmhhbmRsZUV2ZW50LGJ8fCExLHRoaXMuSnx8dGhpcyk7aWYoIWspYnJlYWs7dGhpcy5OW2sua2V5XT1rfXJldHVybiB0aGlzfTsKZy5FLmVGPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBGbSh0aGlzLG4sVyxELGIpfTsKZy5FLndIPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSlmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKyl0aGlzLndIKG4sV1trXSxELGIsdik7ZWxzZSBEPUR8fHRoaXMuaGFuZGxlRXZlbnQsYj1nLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2PXZ8fHRoaXMuSnx8dGhpcyxEPW1oKEQpLGI9ISFiLFc9TjUobik/bi5zYyhXLEQsYix2KTpuPyhuPU8yKG4pKT9uLnNjKFcsRCxiLHYpOm51bGw6bnVsbCxXJiYoRTIoVyksZGVsZXRlIHRoaXMuTltXLmtleV0pfTsKZy5FLlRpPWZ1bmN0aW9uKCl7Zy5hXyh0aGlzLk4sZnVuY3Rpb24obixXKXt0aGlzLk4uaGFzT3duUHJvcGVydHkoVykmJkUyKG4pfSx0aGlzKTsKdGhpcy5OPXt9fTsKZy5FLm1BPWZ1bmN0aW9uKCl7QlkuVEIubUEuY2FsbCh0aGlzKTt0aGlzLlRpKCl9OwpnLkUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiRXZlbnRIYW5kbGVyLmhhbmRsZUV2ZW50IG5vdCBpbXBsZW1lbnRlZCIpO307dmFyIGtoUz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuVz0hMDt0aGlzLko9MDt0aGlzLk49IiJ9aXNJbnB1dFZhbGlkKCl7cmV0dXJuIHRoaXMuV319O010LnByb3RvdHlwZS5pc0lucHV0VmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OIT0zfTsKTXQucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVn07Ck10LnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiEwfTsKTXQucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7TCYxMjgmJlJzKGssaCx4LCJpbnZhbGlkIHRhZyIpOyhMJjcpIT0yJiZScyhrLGgseCwiaW52YWxpZCB3aXJlIHR5cGUiKTtrLlc9TD4+PjM7ay5XIT0xJiZrLlchPTImJmsuVyE9MTUmJlJzKGssaCx4LCJ1bmV4cGVjdGVkIHRhZyIpO2suTj0xO2suSj0wO2suWD0wfQpmdW5jdGlvbiBEKEwpe2suWCsrO2suWD09NSYmTCYyNDAmJlJzKGssaCx4LCJtZXNzYWdlIGxlbmd0aCB0b28gbG9uZyIpO2suSnw9KEwmMTI3KTw8KGsuWC0xKSo3O0wmMTI4fHwoay5OPTIsay5ZPTAsdHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIj9rLmo9bmV3IFVpbnQ4QXJyYXkoay5KKTprLmo9QXJyYXkoay5KKSxrLko9PTAmJnYoKSl9CmZ1bmN0aW9uIGIoTCl7ay5qW2suWSsrXT1MO2suWT09ay5KJiZ2KCl9CmZ1bmN0aW9uIHYoKXtpZihrLlc8MTUpe2xldCBMPXt9O0xbay5XXT1rLmo7ay5LLnB1c2goTCl9ay5OPTB9CmZvcih2YXIgaz10aGlzLGg9biBpbnN0YW5jZW9mIEFycmF5P246bmV3IFVpbnQ4QXJyYXkobikseD0wO3g8aC5sZW5ndGg7KXtzd2l0Y2goay5OKXtjYXNlIDM6UnMoayxoLHgsInN0cmVhbSBhbHJlYWR5IGJyb2tlbiIpO2JyZWFrO2Nhc2UgMDpXKGhbeF0pO2JyZWFrO2Nhc2UgMTpEKGhbeF0pO2JyZWFrO2Nhc2UgMjpiKGhbeF0pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoInVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlOiAiK2suTik7fWsuRCsrO3grK31uPWsuSztrLks9W107cmV0dXJuIG4ubGVuZ3RoPjA/bjpudWxsfTtRTi5wcm90b3R5cGUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTj09PW51bGx9OwpRTi5wcm90b3R5cGUuczg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTsKUU4ucHJvdG90eXBlLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpRTi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24obil7dGhpcy5OIT09bnVsbCYmVk4odGhpcyxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTt2YXIgVz1udWxsO3RyeXt7dmFyIEQ9dGhpcy5XO0QuV3x8d2goRCxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTtELk4rPW47bGV0IGs9TWF0aC5mbG9vcihELk4ubGVuZ3RoLzQpO2lmKGs9PTApdmFyIGI9bnVsbDtlbHNle3RyeXt2YXIgdj16aChELk4uc2xpY2UoMCxrKjQpKX1jYXRjaChoKXt3aChELEQuTixoLm1lc3NhZ2UpfUQuSis9ayo0O0QuTj1ELk4uc2xpY2Uoayo0KTtiPXZ9fVc9Yj09PW51bGw/bnVsbDp0aGlzLlgucGFyc2UoYil9Y2F0Y2goayl7Vk4odGhpcyxuLGsubWVzc2FnZSl9dGhpcy5KKz1uLmxlbmd0aDtyZXR1cm4gV307Zy5FPWFzLnByb3RvdHlwZTtnLkUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaiE9M307CmcuRS5zOD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkR9OwpnLkUuZG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0yfTsKZy5FLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpnLkUucGFyc2U9ZnVuY3Rpb24obil7ZnVuY3Rpb24gVygpe2Zvcig7cjxuLmxlbmd0aDspaWYoY1kobltyXSkpcisrLGsuVysrO2Vsc2UgYnJlYWs7cmV0dXJuIHI8TH0KZnVuY3Rpb24gRCgpe2Zvcih2YXIgSDs7KXtIPW5bcisrXTtpZighSClicmVhaztrLlcrKztzd2l0Y2goay5OKXtjYXNlIDA6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00OmNZKEgpfHxuXyhrLG4scik7Y29udGludWU7Y2FzZSA3OmNhc2UgMjppZihjWShIKSljb250aW51ZTtpZihrLk49PT03KWgucHVzaCg4KTtlbHNlIGlmKEg9PT0ifSIpe3YoInt9Iik7ay5OPWIoKTtjb250aW51ZX1lbHNlIGgucHVzaCgzKTtIPT09JyInP2suTj02Om5fKGssbixyKTtjb250aW51ZTtjYXNlIDg6Y2FzZSAzOmlmKGNZKEgpKWNvbnRpbnVlO0g9PT0iOiI/KGsuTj09PTMmJihoLnB1c2goMyksay5KKyspLGsuTj0xKTpIPT09In0iPyhrLkotLSx2KCksay5OPWIoKSk6SD09PSIsIj8oay5OPT09MyYmaC5wdXNoKDMpLGsuTj03KTpuXyhrLG4scik7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZihjWShIKSljb250aW51ZTtpZihrLk49PT00KWlmKGsuSisrLGsuTj0xLEg9PT0iXSIpe2suSi0tO2lmKGsuSj09PQowKXtrLk49NTtyZXR1cm59digiW10iKTtrLk49YigpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDUpO0g9PT0nIic/ay5OPTY6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00Okg9PT0idCI/ay5OPTk6SD09PSJmIj9rLk49MTI6SD09PSJuIj9rLk49MTY6SCE9PSItIiYmKCIwMTIzNDU2Nzg5Ii5pbmRleE9mKEgpIT09LTE/ay5OPTIwOm5fKGssbixyKSk7Y29udGludWU7Y2FzZSA1OmlmKEg9PT0iLCIpaC5wdXNoKDUpLGsuTj0xLGsuSj09PTEmJihHPXIpO2Vsc2UgaWYoSD09PSJdIil7ay5KLS07aWYoay5KPT09MClyZXR1cm47digpO2suTj1iKCl9ZWxzZSBpZihjWShIKSljb250aW51ZTtlbHNlIG5fKGssbixyKTtjb250aW51ZTtjYXNlIDY6bGV0IEE9cjthOmZvcig7Oyl7Zm9yKDtrLlk+MDspaWYoSD1uW3IrK10say5ZPT09ND9rLlk9MDprLlkrKywhSClicmVhayBhO2lmKEg9PT0nIicmJiFrLkspe2suTj1iKCk7YnJlYWt9aWYoSD09PSJcXCImJiFrLksmJihrLks9ITAsSD1uW3IrK10sCiFIKSlicmVhaztpZihrLkspaWYoay5LPSExLEg9PT0idSImJihrLlk9MSksSD1uW3IrK10pY29udGludWU7ZWxzZSBicmVhazt4Lmxhc3RJbmRleD1yO0g9eC5leGVjKG4pO2lmKCFIKXtyPW4ubGVuZ3RoKzE7YnJlYWt9cj1ILmluZGV4KzE7SD1uW0guaW5kZXhdO2lmKCFIKWJyZWFrfWsuVys9ci1BO2NvbnRpbnVlO2Nhc2UgOTppZighSCljb250aW51ZTtIPT09InIiP2suTj0xMDpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMDppZighSCljb250aW51ZTtIPT09InUiP2suTj0xMTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMTppZighSCljb250aW51ZTtIPT09ImUiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTI6aWYoIUgpY29udGludWU7SD09PSJhIj9rLk49MTM6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIUgpY29udGludWU7SD09PSJsIj9rLk49MTQ6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIUgpY29udGludWU7SD09PSJzIj9rLk49MTU6Cm5fKGssbixyKTtjb250aW51ZTtjYXNlIDE1OmlmKCFIKWNvbnRpbnVlO0g9PT0iZSI/ay5OPWIoKTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNjppZighSCljb250aW51ZTtIPT09InUiP2suTj0xNzpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNzppZighSCljb250aW51ZTtIPT09ImwiP2suTj0xODpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxODppZighSCljb250aW51ZTtIPT09ImwiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTk6SD09PSIuIj9rLk49MjA6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMjA6aWYoIjAxMjM0NTY3ODkuZUUrLSIuaW5kZXhPZihIKSE9PS0xKWNvbnRpbnVlO2Vsc2Ugci0tLGsuVy0tLGsuTj1iKCk7Y29udGludWU7ZGVmYXVsdDpuXyhrLG4scil9fX0KZnVuY3Rpb24gYigpe3ZhciBIPWgucG9wKCk7cmV0dXJuIEghPW51bGw/SDoxfQpmdW5jdGlvbiB2KEgpe2suSj4xfHwoSHx8KEg9Rz09PS0xP2suWCtuLnN1YnN0cmluZyhlLHIpOm4uc3Vic3RyaW5nKEcscikpLGsuTz9rLlYucHVzaChIKTprLlYucHVzaChKU09OLnBhcnNlKEgpKSxHPXIpfQpmb3IodmFyIGs9dGhpcyxoPWsuY0oseD1rLnR3LEw9bi5sZW5ndGgsZT0wLEc9LTEscj0wO3I8TDspc3dpdGNoKGsuail7Y2FzZSAzOnJldHVybiBuXyhrLG4sciksbnVsbDtjYXNlIDI6cmV0dXJuIFcoKSYmbl8oayxuLHIpLG51bGw7Y2FzZSAwOmlmKFcoKSl7dmFyIE49bltyKytdO2suVysrO2lmKE49PT0iWyIpe2suaj0xO2U9cjtrLk49NDtjb250aW51ZX1lbHNlIG5fKGssbixyKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIEQoKSxrLko9PT0wJiZrLk49PTU/KGsuaj0yLGsuWD1uLnN1YnN0cmluZyhyKSk6ay5YPUc9PT0tMT9rLlgrbi5zdWJzdHJpbmcoZSk6bi5zdWJzdHJpbmcoRyksay5WLmxlbmd0aD4wPyhOPWsuVixrLlY9W10sTik6bnVsbH1yZXR1cm4gbnVsbH07V0sucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT1udWxsfTsKV0sucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07CldLLnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiExfTsKV0sucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7ay5KPTY7ay5qPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIitrLk4rIi8iK2grIi4gRXJyb3I6ICIrTCsiLiBXaXRoIGlucHV0OlxuIjt0aHJvdyBFcnJvcihrLmopO30KZnVuY3Rpb24gRCgpe2suVz1uZXcgYXMoe1ZMOiEwLFpIOiEwfSl9CmZ1bmN0aW9uIGIoTCl7aWYoTClmb3IobGV0IGU9MDtlPEwubGVuZ3RoO2UrKyl7bGV0IEc9e307R1sxXT1MW2VdO2suWC5wdXNoKEcpfX0KZnVuY3Rpb24gdihMKXtpZihMKXsoay5WfHxMLmxlbmd0aD4xKSYmVygiZXh0cmEgc3RhdHVzOiAiK0wpO2suVj0hMDtsZXQgZT17fTtlWzJdPUxbMF07ay5YLnB1c2goZSl9fQpmb3IodmFyIGs9dGhpcyxoPTA7aDxuLmxlbmd0aDspe3ZhciB4O2lmKHg9ay5KIT09Mil7YTp7Zm9yKDtoPG4ubGVuZ3RoOyl7aWYoIWNZKG5baF0pKXt4PSEwO2JyZWFrIGF9aCsrO2suTisrfXg9ITF9eD0heH1pZih4KXJldHVybiBudWxsO3N3aXRjaChrLkope2Nhc2UgNjpXKCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTticmVhaztjYXNlIDA6bltoXT09PSJbIj8oay5KPTEsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAxOm5baF09PT0iWyI/KGsuSj0yLEQoKSk6bltoXT09PSIsInx8bi5zbGljZShoLGgrNSk9PSJudWxsLCI/ay5KPTM6bltoXT09PSJdIj8oay5KPTUsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAyOng9ay5XLnBhcnNlKG4uc3Vic3RyaW5nKGgpKTtiKHgpO2suVy5kb25lKCk/KGsuSj0zLHg9ay5XLlgsay5OKz1uLmxlbmd0aC1oLXgubGVuZ3RoLG49eCxoPTApOihrLk4rPW4ubGVuZ3RoLQpoLGg9bi5sZW5ndGgpO2JyZWFrO2Nhc2UgMzpuW2hdPT09IiwifHxuLnNsaWNlKGgsaCs1KT09Im51bGwsIj8oay5KPTQsRCgpLGsuVy5wYXJzZSgiWyIpLGgrPW5baF09PT0iLCI/MTo1LGsuTisrKTpuW2hdPT09Il0iJiYoay5KPTUsaCsrLGsuTisrKTticmVhaztjYXNlIDQ6eD1rLlcucGFyc2Uobi5zdWJzdHJpbmcoaCkpO3YoeCk7ay5XLmRvbmUoKT8oay5KPTUseD1rLlcuWCxrLk4rPW4ubGVuZ3RoLWgteC5sZW5ndGgsbj14LGg9MCk6KGsuTis9bi5sZW5ndGgtaCxoPW4ubGVuZ3RoKTticmVhaztjYXNlIDU6VygiZXh0cmEgaW5wdXQgYWZ0ZXIgc3RyZWFtIGVuZCIpfX1yZXR1cm4gay5YLmxlbmd0aD4wPyhuPWsuWCxrLlg9W10sbik6bnVsbH07dmFyIHFBdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bnVsbDt0aGlzLmo9dGhpcy5XPTA7dGhpcy5EPSExO3RoaXMuWD10aGlzLks9dGhpcy5WPW51bGw7dGhpcy5ZPW5ldyBCWSh0aGlzKTt0aGlzLlkuU18odGhpcy5OLCJyZWFkeXN0YXRlY2hhbmdlIix0aGlzLk8pfWdldFN0YXR1cygpe3JldHVybiB0aGlzLmp9TyhuKXtuPW4udGFyZ2V0O3RyeXtpZihuPT10aGlzLk4pYTp7bGV0IGs9YTUodGhpcy5OKTt2YXIgVz10aGlzLk4uVyxEPXRoaXMuTi5nZXRTdGF0dXMoKTtsZXQgaD1XMyh0aGlzLk4pO249W107aWYoRG8odGhpcy5OKWluc3RhbmNlb2YgQXJyYXkpe2xldCB4PURvKHRoaXMuTik7eC5sZW5ndGg+MCYmeFswXWluc3RhbmNlb2YgVWludDhBcnJheSYmKHRoaXMuRD0hMCxuPXgpfWlmKCEoazwzfHxrPT0zJiYhaCYmbi5sZW5ndGg9PTApKWlmKEQ9RD09MjAwfHxEPT0yMDYsaz09NCYmKFc9PTg/RGkodGhpcyw3KTpXPT03P0RpKHRoaXMsOCk6RHx8CkRpKHRoaXMsMykpLHRoaXMuSnx8KHRoaXMuSj1oQ3godGhpcy5OKSx0aGlzLko9PW51bGwmJkRpKHRoaXMsNSkpLHRoaXMuaj4yKWJIKHRoaXMpO2Vsc2V7aWYobi5sZW5ndGg+dGhpcy5XKXtsZXQgeD1uLmxlbmd0aDtXPVtdO3RyeXtpZih0aGlzLkouYW8oKSlmb3IodmFyIGI9MDtiPHg7YisrKXt2YXIgdj10aGlzLkoucGFyc2UoQXJyYXkuZnJvbShuW2JdKSk7diYmKFc9Vy5jb25jYXQodikpfWVsc2V7dj0iIjtpZighdGhpcy5WKXtpZih0eXBlb2YgVGV4dERlY29kZXI9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiVGV4dERlY29kZXIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7dGhpcy5WPW5ldyBUZXh0RGVjb2Rlcn1mb3IoYj0wO2I8eDtiKyspdis9dGhpcy5WLmRlY29kZShuW2JdLHtzdHJlYW06az09NCYmYj09eC0xfSk7Vz10aGlzLkoucGFyc2Uodil9bi5zcGxpY2UoMCx4KTtXJiZ0aGlzLlgoVyl9Y2F0Y2goTCl7RGkodGhpcyw1KTtiSCh0aGlzKTsKYnJlYWsgYX19ZWxzZSBpZihoLmxlbmd0aD50aGlzLlcpe2I9aC5zbGljZSh0aGlzLlcpO3RoaXMuVz1oLmxlbmd0aDt0cnl7bGV0IHg9dGhpcy5KLnBhcnNlKGIpO3ghPW51bGwmJnRoaXMuWCYmdGhpcy5YKHgpfWNhdGNoKHgpe0RpKHRoaXMsNSk7YkgodGhpcyk7YnJlYWsgYX19az09ND8oaC5sZW5ndGghPTB8fHRoaXMuRD9EaSh0aGlzLDIpOkRpKHRoaXMsNCksYkgodGhpcykpOkRpKHRoaXMsMSl9fX1jYXRjaChrKXtEaSh0aGlzLDYpLGJIKHRoaXMpfX19O3ZhciBHaGk9Y2xhc3N7Y29uc3RydWN0b3Iobil7bj10aGlzLlc9bjt2YXIgVz0oMCxnLkt0KSh0aGlzLlgsdGhpcyk7bi5YPVc7bj10aGlzLlc7Vz0oMCxnLkt0KSh0aGlzLmosdGhpcyk7bi5LPVc7dGhpcy5KPXt9O3RoaXMuTj17fX14VihuLFcpe3ZhciBEPXRoaXMuSltuXTtEfHwoRD1bXSx0aGlzLkpbbl09RCk7RC5wdXNoKFcpfWFkZExpc3RlbmVyKG4sVyl7dGhpcy54VihuLFcpO3JldHVybiB0aGlzfXJlbW92ZUxpc3RlbmVyKG4sVyl7dmFyIEQ9dGhpcy5KW25dO0QmJmcuRkkoRCxXKTsobj10aGlzLk5bbl0pJiZnLkZJKG4sVyk7cmV0dXJuIHRoaXN9b25jZShuLFcpe3ZhciBEPXRoaXMuTltuXTtEfHwoRD1bXSx0aGlzLk5bbl09RCk7RC5wdXNoKFcpO3JldHVybiB0aGlzfVgobil7dmFyIFc9dGhpcy5KLmRhdGE7VyYmdksobixXKTsoVz10aGlzLk4uZGF0YSkmJnZLKG4sVyk7dGhpcy5OLmRhdGE9W119aigpe3N3aXRjaCh0aGlzLlcuZ2V0U3RhdHVzKCkpe2Nhc2UgMTprdCh0aGlzLAoicmVhZGFibGUiKTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDc6Y2FzZSAzOmt0KHRoaXMsImVycm9yIik7YnJlYWs7Y2FzZSA4Omt0KHRoaXMsImNsb3NlIik7YnJlYWs7Y2FzZSAyOmt0KHRoaXMsImVuZCIpfX19O3ZhciAkeGg9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj17Zm9ybWF0OiJqc3BiIn07dGhpcy5ZTz1uLllPfHxnLnJyKCJzdXBwcmVzc0NvcnNQcmVmbGlnaHQiLG4pfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz1uLndpdGhDcmVkZW50aWFsc3x8Zy5ycigid2l0aENyZWRlbnRpYWxzIixuKXx8ITE7dGhpcy5LYj1uLktifHxbXTt0aGlzLkZOPW4uRk58fFtdO3RoaXMuU249bi5Tbjt0aGlzLk49bi5sSXx8ITF9c2VydmVyU3RyZWFtaW5nKG4sVyxELGIpe3ZhciB2PW4uc3Vic3RyaW5nKDAsbi5sZW5ndGgtYi5uYW1lLmxlbmd0aCk7cmV0dXJuIHh4aihrPT57dmFyIGg9ay5sMCx4PWsuZ2V0TWV0YWRhdGEoKSxMPWhhKHRoaXMsITEpO3g9eHQodGhpcyx4LEwsditoLmdldE5hbWUoKSk7dmFyIGU9TF8oTCxoLlcsITApO2s9aC5OKGsuZnYpO0wuc2VuZCh4LCJQT1NUIixrKTtyZXR1cm4gZX0sdGhpcy5LYikuY2FsbCh0aGlzLGIuSihXLEQpKX19O3F3LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBZWSh0aGlzLk4sdGhpcy5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9DcmVhdGUiLG4sV3x8e30sc09NLEQpfTt2YXIgYW09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iYm9vbCJ9fSxuaj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZDU9Mzt0aGlzLm54PW47dGhpcy5kZWZhdWx0VmFsdWU9Vzt0aGlzLlUwPSJpbnQifX0sV0M9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iZG91YmxlIn19O3ZhciBTY3QsSVV3LFljLEFzVSxub3IsV0lNLG1HWixLNVUsTzcxLEhwLFo3VSxVR0MsUHJpLHlzeCxFZGksaTdDLHVOYixVQmIsZEd0LHpZaSxsVXIsVFBVLGpPaSxDSmksa3FNLERaLEY1aSxjZix3bjIsSGZ4LFNvUyxJWWksTUl4LHowaSxsWWgsVE5DLEJwdCxSWXcsUU94LFZJaixpbGksa1RiLFZrdyxjc3IsYVVNLGJELG5KaSxXRlMsbmEsRGRTLGJnaSx2NWksdkpDLFRfQyx0UzIsa19pLGhGaix4ZGgsZUZVLGdKMSxYQU0scURTLEdfcix0SlMsJGQyLHJUaixzcjIsanNaLE5GVSxHb00seSRqLHllaSxwQXQsanZNLEtZeCxZRFosSGdaLHZDLEplMSxmY3Qsa05qLEpUeCxJY2ksSGYsaldTLFNEUyxZSmIsQVRaLG1kdyxsaVosS0ZyLE9nMixwYk0sd2JTLFpnTSx5VDIsRUpNLHdJMTtTY3Q9bmV3IGFtKDQ1NzU5NTgwLCExKTtJVXc9bmV3IGFtKDQ1NzY2MjczLCExKTtnLlNuaj1uZXcgYW0oNDU3NTc4NzgsITEpO1ljPW5ldyBhbSg0NTc0OTM5NiwhMSk7CkFzVT1uZXcgYW0oNDU4MDg1MjgsITEpO25vcj1uZXcgYW0oNDU3NDIxMTksITEpO1dJTT1uZXcgYW0oNDU3ODQxNjgsITEpO21HWj1uZXcgYW0oNDU4MDEwNjgsITEpO0s1VT1uZXcgYW0oNDU3Nzg2OTYsITEpO083MT1uZXcgYW0oNDU3NTY0NDYsITEpO2cuUEpNPW5ldyBhbSg0NTgwODE1MCwhMSk7SHA9bmV3IGFtKDQ1ODA3NzY0LCExKTtaN1U9bmV3IGFtKDQ1Nzk3NzIxLCExKTtVR0M9bmV3IGFtKDQ1Nzk4OTMyLCExKTtQcmk9bmV3IGFtKDQ1NzYwMDE4LCExKTt5c3g9bmV3IGFtKDQ1NzM5MTk2LCExKTtFZGk9bmV3IGFtKDQ1Nzk0ODY4LCExKTtpN0M9bmV3IGFtKDQ1NzM5MTk4LCExKTt1TmI9bmV3IGFtKDQ1Nzk0ODY3LCExKTtVQmI9bmV3IGFtKDQ1Nzc3MzU2LCExKTtnLm9kWj1uZXcgbmooNDU3NTA5NDcsZy4kVSgiMCIpKTtkR3Q9bmV3IGFtKDQ1Nzk5OTEyLCExKTt6WWk9bmV3IFdDKDQ1NzQ2OTY2LDApO2xVcj1uZXcgV0MoNDU3NDY5NjcsMCk7ClRQVT1uZXcgV0MoNDU3Mzc0ODgsMCk7ak9pPW5ldyBXQyg0NTczNzQ4OSwwKTtDSmk9bmV3IGFtKDQ1Nzk1NTczLCExKTtnLkJQUz1uZXcgYW0oNDU3NjU2ODAsITEpO2txTT1uZXcgYW0oNDU3MzI3OTEsITApO0RaPW5ldyBhbSg0NTc4MTExMiwhMSk7RjVpPW5ldyBhbSg0NTgwODY1MCwhMSk7Y2Y9bmV3IGFtKDQ1ODExODU3LCExKTt3bjI9bmV3IGFtKDQ1ODA1OTY4LCExKTtIZng9bmV3IGFtKDQ1NzY5MTE5LCEwKTtTb1M9bmV3IG5qKDQ1ODA2NTU1LGcuJFUoIjIiKSk7SVlpPW5ldyBuaig0NTc4NDQzOSxnLiRVKCIwIikpO01JeD1uZXcgYW0oNDU4MTc0MDksITEpO3owaT1uZXcgYW0oNDU3Mzc0ODIsITEpO2xZaD1uZXcgV0MoNDU3NDE3NzMsMCk7VE5DPW5ldyBhbSg0NTgwNTg0OCwhMSk7QnB0PW5ldyBhbSg0NTc3MzY3MywhMSk7Ull3PW5ldyBhbSg0NTgwMDYzMywhMSk7UU94PW5ldyBhbSg0NTc5ODA3OCwhMSk7VklqPW5ldyBhbSg0NTczMTA4MywhMSk7CmlsaT1uZXcgYW0oNDU3OTcyNzksITEpO2tUYj1uZXcgYW0oNDU3Mjg1NTMsITEpO1Zrdz1uZXcgYW0oNDU3OTY3NTAsITEpO2Nzcj1uZXcgYW0oNDU3OTQ2ODAsITEpO2FVTT1uZXcgYW0oNDU4MTMwMjcsITEpO2JEPW5ldyBhbSg0NTczNDE5MSwhMSk7bkppPW5ldyBhbSg0NTc5Njc3NywhMSk7V0ZTPW5ldyBhbSg0NTc5Njc3OCwhMSk7bmE9bmV3IGFtKDQ1ODEwNjYxLCExKTtnLkFoPW5ldyBhbSg0NTc0NTYxMCwhMSk7RGRTPW5ldyBhbSg0NTgxNjU3MSwhMSk7YmdpPW5ldyBhbSg0NTc3MzI3MywhMSk7djVpPW5ldyBhbSg0NTc1NjYxOSwhMSk7dkpDPW5ldyBhbSg0NTc1ODI5MCwhMSk7VF9DPW5ldyBhbSg0NTgxMzgzMSwhMSk7dFMyPW5ldyBhbSg0NTczNTUyMywhMSk7a19pPW5ldyBXQyg0NTc3MTg5MCwwKTtoRmo9bmV3IFdDKDQ1ODA3NzczLDApO3hkaD1uZXcgV0MoNDU3MzU0MjgsNEUzKTtnLkxGaT1uZXcgYW0oNDU3ODkwNzcsITEpO2VGVT1uZXcgYW0oNDU3NDgwMDksITEpOwpnSjE9bmV3IGFtKDQ1NzUyNjA0LCExKTtYQU09bmV3IFdDKDQ1NzY5MjE0LDApO3FEUz1uZXcgYW0oNDU3MzU0NjIsITEpO0dfcj1uZXcgYW0oNDU4MTUwNzMsITEpO3RKUz1uZXcgYW0oNDU3NTE5NDMsITEpOyRkMj1uZXcgYW0oNDU3NTE5NDQsITEpO3JUaj1uZXcgYW0oNDU3NTE5NDUsITEpO3NyMj1uZXcgbmooNDU4MDg3NjIsZy4kVSgiMCIpKTtqc1o9bmV3IGFtKDQ1NzY0NTkyLCExKTtORlU9bmV3IFdDKDQ1NzY0NTkzLDApO0dvTT1uZXcgYW0oNDU3NjY1MTEsITEpO3kkaj1uZXcgYW0oNDU4MDYzODgsITEpO3llaT1uZXcgYW0oNDU4MDYzNjMsITEpO3BBdD1uZXcgYW0oNDU4MTU1OTIsITEpO2p2TT1uZXcgYW0oNDU4MTQ0ODAsITEpO0tZeD1uZXcgYW0oNDU4MTA0NjcsITEpO1lEWj1uZXcgYW0oNDU3OTEzMjYsITEpO0hnWj1uZXcgYW0oNDU3ODc3NzEsITEpO3ZDPW5ldyBhbSg0NTc5MTA4NywhMSk7SmUxPW5ldyBhbSg0NTc3Mjg5MSwhMSk7CmZjdD1uZXcgYW0oNDU3OTU4NDQsITEpO2tOaj1uZXcgYW0oNDU3ODM4NzUsITApO0pUeD1uZXcgYW0oNDU3OTU1NzQsITEpO0ljaT1uZXcgYW0oNDU3NzE4OTEsITEpO0hmPW5ldyBhbSg0NTcyODE4MSwhMSk7aldTPW5ldyBhbSg0NTc1NjU0MywhMSk7U0RTPW5ldyBhbSg0NTc1NjYyMCwhMSk7WUpiPW5ldyBhbSg0NTgwODc1NCwhMSk7QVRaPW5ldyBuaig0NTc2MTc2MCxnLiRVKCIyMDAiKSk7bWR3PW5ldyBhbSg0NTc3NjgzMiwhMSk7bGlaPW5ldyBXQyg0NTc2ODQzMCwwKTtLRnI9bmV3IGFtKDQ1Nzc2NTgwLCExKTtPZzI9bmV3IGFtKDQ1NzU1NzYwLCExKTtwYk09bmV3IGFtKDQ1NzYwMDE3LCExKTt3YlM9bmV3IGFtKDQ1NzMyNzc1LCExKTtnLlAzMT1uZXcgYW0oNDU3ODc5NDgsITEpO1pnTT1uZXcgYW0oNDU3NjU4MTgsITEpO2cuVWRDPW5ldyBhbSg0NTczNDc3NiwhMSk7eVQyPW5ldyBhbSg0NTgxNjgxMSwhMSk7RUpNPW5ldyBhbSg0NTc2MDEyMCwhMSk7Cmcua0g9bmV3IGFtKDQ1NzcwNDc2LCExKTt3STE9bmV3IGFtKDQ1ODA4MDUzLCExKTt2YXIgWXhyPW5ldyBXQyg0NTgwMzc1NCwwKSxtRGg9bmV3IFdDKDQ1NzkxMTE3LDApLHZNUz1uZXcgV0MoNDU3MjU1NDIsMCksWlJ4PW5ldyBXQyg0NTc5NDQ0MSwwKSxlVVU9bmV3IFdDKDQ1ODA3NzcxLDApLEhScj1uZXcgV0MoNDU3NzM2MDMsMCksZndqPW5ldyBXQyg0NTc3MzYwNCwwKSx4RFo9bmV3IFdDKDQ1Nzk3OTYzLDApLGJSdz1uZXcgV0MoNDU3MjU1NDMsMCksUGhqPW5ldyBXQyg0NTc5MzcxMCwwKSxoVWk9bmV3IFdDKDQ1NzU3NDI2LDApLG5Ndz1uZXcgV0MoNDU3MjU1MzksMCksSlIxPW5ldyBXQyg0NTgwNTY5NSwwKSxERFo9bmV3IFdDKDQ1NzI1NTQxLDApLFhHVT1uZXcgV0MoNDU3NTc0MjcsMCksQ1JpPW5ldyBhbSg0NTc5MTIwNiwhMSksV2t0PW5ldyBXQyg0NTcyNTU0MCwwKSxhWXg9bmV3IFdDKDQ1NzI1NTM4LDApLEtraT1uZXcgV0MoNDU3OTExMTgsMCksazZ3PW5ldyBXQyg0NTc2NDUyMywwKSxTeGk9bmV3IFdDKDQ1ODA0NzcxLDApLEl3eD1uZXcgV0MoNDU3ODY0NDMsCjApLFVEMj1uZXcgV0MoNDU4MDIxMjMsMCkscXhoPW5ldyBXQyg0NTc2NDIxNywwKSxHNjI9bmV3IFdDKDQ1NzY0NTI0LDApLCREMT1uZXcgV0MoNDU3NjU2MDIsMCksTGtDPW5ldyBXQyg0NTgwNzQzMiwwKSxBUk09bmV3IFdDKDQ1Nzc2MTkwLDApLE9SVT1uZXcgV0MoNDU3OTExMTksMCksVWJTPW5ldyBXQyg0NTgxNTAxMSwwKSxOZFM9bmV3IFdDKDQ1Nzc4NjcxLDApLHBHMT1uZXcgV0MoNDU3NDEzMzksMCksdDVpPW5ldyBXQyg0NTc2Nzc2MywwKSxnTXg9bmV3IFdDKDQ1ODA3NzcyLDApLHN3aT1uZXcgV0MoNDU3NzAwMDIsMCksclJpPW5ldyBXQyg0NTc3MDAwMSwwKTt2YXIgaWd0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIHVwMj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1KKCl7cmV0dXJuIHRoaXMuTi5RUShHX3IpfX07dmFyIHI0Mj0vKD86XFt8JTVCKShbYS16QS1aMC05X10rKSg/OlxdfCU1RCkvZzt2YXIgb0pVPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fTt2YXIgaEw9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4sNTAwKX19O3ZhciBkZFM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE5hbWUoKXtyZXR1cm4gWTkodGhpcywxKX1nZXRPcHRpb25zKCl7cmV0dXJuIGdlKHRoaXMsaEwsMyl9Y2xlYXJPcHRpb25zKCl7cmV0dXJuIG96KHRoaXMsMyl9fTt2YXIgekZpPWZ1bmN0aW9uKG4pe3JldHVybiBXPT57Vz1KU09OLnBhcnNlKFcpO2lmKCFBcnJheS5pc0FycmF5KFcpKXRocm93IEVycm9yKCJFeHBlY3RlZCBqc3BiIGRhdGEgdG8gYmUgYW4gYXJyYXksIGdvdCAiK3B0KFcpKyI6ICIrVyk7V1tiNF18PTM0O3JldHVybiBuZXcgbihXKX19KGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXROYW1lKCl7cmV0dXJuIFk5KHRoaXMsMSl9Z2V0T3B0aW9ucygpe3JldHVybiBnZSh0aGlzLG9KVSwzKX1jbGVhck9wdGlvbnMoKXtyZXR1cm4gb3oodGhpcywzKX1YTygpe3JldHVybiBIVyh0aGlzLDYpfU1MKG4pe0tuKHRoaXMsNixuKX19KTt2YXIgbGNyPVN5bWJvbCgpO3ZhciBURnI7VEZyPW5ldyBtNFooOTk4LGhMLGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19KTt2YXIgeEg9U3ltYm9sKCk7dmFyICR0PWNsYXNzIGV4dGVuZHMgZy5vV3tjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD10aGlzLk49MDt0aGlzLkEkPW4/P3tMUzooVyxEKT0+c2V0VGltZW91dChXLEQpLApzTzpXPT57Y2xlYXJUaW1lb3V0KFcpfX07CnRoaXMuaXNPbmxpbmU9d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lPz8hMDt0aGlzLko9YXN5bmMoKT0+e2F3YWl0IHJYKHRoaXMpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLlh8fHRoaXMuaFQoKX1kaXNwb3NlKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLkEkLnNPKHRoaXMuWCk7ZGVsZXRlICR0Lmluc3RhbmNlfVdHKCl7cmV0dXJuIHRoaXMuaXNPbmxpbmV9aFQoKXt0aGlzLlg9dGhpcy5BJC5MUyhhc3luYygpPT57dGhpcy5pc09ubGluZT93aW5kb3cubmF2aWdhdG9yPy5vbkxpbmV8fGF3YWl0IHJYKHRoaXMpOmF3YWl0IHJYKHRoaXMpO3RoaXMuaFQoKX0sM0U0KX19O3ZhciBqcjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEMzcj1bMCxJcWosLTFdO3ZhciBMaj1bMCxIaXcsLTFdO3ZhciBCRnQ9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEZGaT1nLkE5KFswLGcuQ3gsLTEsZy5FNixnLm9tLEMzciwtMSx5cCxpVSxnLkN4LExqLGcub20sZy5DeCwtMSxbMCxDM3IsLTFdLGlVLFkzQyxMaix5cCxbMCwxLGlVLC00LFU2LFswLHlwLC0xLGlVXSxnLm9tLHlwLGcuZHEsWzAsZy5DeCxpVV0saVUsLTEsZy5DeCwtMix5cCwtMSxnLkN4LHlwLGcuQ3gsaVUsWzAsMyxpVSwtMSw0LFRnXSxVNixqbyxbMCxnLkN4LC0xLGcub21dLHVVXSxnLm9tLEpYUyxnLmRxLFswLExqLGcuZHEsWzAsZy5vbSxnLkN4XSx5cCxnLkN4LC0xXSwxLGcuZHEsWzAsWTNDLC0xLGpvXSxnLkN4LExqXSk7dmFyIFV2Mj1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Sigpe3JldHVybiBIVyh0aGlzLDUpfX0sWzAsZy5DeCxbMCxnLkU2LGZxdywtMV0saVUsZy5DeCwtMixpVSxnLkU2XSk7dmFyIGxYcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLk49LTF9c2V0KG4sVz0hMCl7MDw9biYmbjw1MiYmTnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5kYXRhW25dIT09VyYmKHRoaXMuZGF0YVtuXT1XLHRoaXMuTj0tMSl9Z2V0KG4pe3JldHVybiEhdGhpcy5kYXRhW25dfX07Zy5peChnLnBfLGcuRk0pO2cuRT1nLnBfLnByb3RvdHlwZTtnLkUuc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLlg9ITE7dmFyIG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT8odGhpcy5OPUFIKHRoaXMuSiwiTW96QmVmb3JlUGFpbnQiLHRoaXMuVyksdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZShudWxsKSx0aGlzLlg9ITApOnRoaXMuTj1uJiZXP24uY2FsbCh0aGlzLkosdGhpcy5XKTp0aGlzLkouc2V0VGltZW91dChqTWgodGhpcy5XKSwyMCl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBY3RpdmUoKSl7bGV0IG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT9FMih0aGlzLk4pOm4mJlc/Vy5jYWxsKHRoaXMuSix0aGlzLk4pOnRoaXMuSi5jbGVhclRpbWVvdXQodGhpcy5OKX10aGlzLk49bnVsbH07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4hPW51bGx9OwpnLkUuT3Q9ZnVuY3Rpb24oKXt0aGlzLlgmJnRoaXMuTiYmRTIodGhpcy5OKTt0aGlzLk49bnVsbDt0aGlzLlYuY2FsbCh0aGlzLmosZy5VdygpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuc3RvcCgpO2cucF8uVEIubUEuY2FsbCh0aGlzKX07Zy5peChnLmZfLGcuRk0pO2cuRT1nLmZfLnByb3RvdHlwZTtnLkUudDg9MDtnLkUubUE9ZnVuY3Rpb24oKXtnLmZfLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMuTjtkZWxldGUgdGhpcy5KfTsKZy5FLnN0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuc3RvcCgpO3RoaXMudDg9Zy5adCh0aGlzLlcsbiE9PXZvaWQgMD9uOnRoaXMuZ3QpfTsKZy5FLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCkmJmcucWkuY2xlYXJUaW1lb3V0KHRoaXMudDgpO3RoaXMudDg9MH07CmcuRS5qZT1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuc3RvcCgpLHRoaXMuaSQoKSl9OwpnLkUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50OCE9MH07CmcuRS5pJD1mdW5jdGlvbigpe3RoaXMudDg9MDt0aGlzLk4mJnRoaXMuTi5jYWxsKHRoaXMuSil9O3ZhciB3QWk9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLlg9VyE9bnVsbD9uLmJpbmQoVyk6bjt0aGlzLmd0PTM1MDt0aGlzLlc9bnVsbDt0aGlzLk49ITE7dGhpcy5KPTA7dGhpcy5aNj1udWxsfWoobil7dGhpcy5XPWFyZ3VtZW50czt0aGlzLlo2fHx0aGlzLko/dGhpcy5OPSEwOklGKHRoaXMpfXN0b3AoKXt0aGlzLlo2JiYoZy5xaS5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsLHRoaXMuTj0hMSx0aGlzLlc9bnVsbCl9cGF1c2UoKXt0aGlzLkorK31yZXN1bWUoKXt0aGlzLkotLTt0aGlzLkp8fCF0aGlzLk58fHRoaXMuWjZ8fCh0aGlzLk49ITEsSUYodGhpcykpfW1BKCl7c3VwZXIubUEoKTt0aGlzLnN0b3AoKX19O3ZhciB1eWksR2cscWw7dXlpPVJlZ0V4cCgiXltcdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdIik7R2c9UmVnRXhwKCJeW15cdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdKltBLVphLXpcdTAwYzAtXHUwMGQ2XHUwMGQ4LVx1MDBmNlx1MDBmOC1cdTAyYjhcdTAzMDAtXHUwNTkwXHUwOTAwLVx1MWZmZlx1MjAwZVx1MmMwMC1cdWQ4MDFcdWQ4MDQtXHVkODM5XHVkODNjLVx1ZGJmZlx1ZjkwMC1cdWZiMWNcdWZlMDAtXHVmZTZmXHVmZWZkLVx1ZmZmZl0iKTtxbD1SZWdFeHAoIl5bXkEtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSpbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpOwpnLk1KaT1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO0ludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuIi5yZXBsYWNlKCJfIiwiLSIpXSk7dUgucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gUkZNfTsKdmFyIFJGTT17ZG9uZTohMCx2YWx1ZTp2b2lkIDB9O3VILnByb3RvdHlwZS5ncT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgb0Y9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59Z3EoKXtyZXR1cm4gbmV3IGRYKHRoaXMuTigpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeksodGhpcy5OKCkpfUooKXtyZXR1cm4gbmV3IHpLKHRoaXMuTigpKX19LGRYPWNsYXNzIGV4dGVuZHMgdUh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1uZXh0KCl7cmV0dXJuIHRoaXMuTi5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHpLKHRoaXMuTil9Sigpe3JldHVybiBuZXcgeksodGhpcy5OKX19LHpLPWNsYXNzIGV4dGVuZHMgb0Z7Y29uc3RydWN0b3Iobil7c3VwZXIoKCk9Pm4pOwp0aGlzLlc9bn1uZXh0KCl7cmV0dXJuIHRoaXMuVy5uZXh0KCl9fTtsSC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxIKHRoaXMuTix0aGlzLkssdGhpcy5XLHRoaXMuaix0aGlzLlgsdGhpcy5WLHRoaXMuSix0aGlzLlkpfTsKbEgucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5OPT1uLk4mJnRoaXMuSz09bi5LJiZ0aGlzLlc9PW4uVyYmdGhpcy5qPT1uLmomJnRoaXMuWD09bi5YJiZ0aGlzLlY9PW4uViYmdGhpcy5KPT1uLkomJnRoaXMuWT09bi5ZfTsoZnVuY3Rpb24oKXtpZihwUWope3ZhciBuPS9XaW5kb3dzIE5UIChbMC05Ll0rKS87cmV0dXJuKG49bi5leGVjKGcuWFEoKSkpP25bMV06IjAifXJldHVybiBucj8obj0vMVswfDFdW18uXVswLTlfLl0rLywobj1uLmV4ZWMoZy5YUSgpKSk/blswXS5yZXBsYWNlKC9fL2csIi4iKToiMTAiKTpnLlFIPyhuPS9BbmRyb2lkXHMrKFteXCk7XSspKFwpfDspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXToiIik6V1VafHxENGl8fGJpVT8obj0vKD86aVBob25lfENQVSlccytPU1xzKyhcUyspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXS5yZXBsYWNlKC9fL2csIi4iKToiIik6IiJ9KSgpO3ZhciBmWDI9ZnVuY3Rpb24oKXtpZihnLmFvKXJldHVybiBqQSgvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoZy5raHx8Zy5SZ3x8cmMpcmV0dXJuIFAyO2lmKGcub2Qpe2lmKGcuQTQoKXx8Zy5teCgpKXt2YXIgbj1qQSgvQ3JpT1NcLyhbMC05Ll0rKS8pO2lmKG4pcmV0dXJuIG59cmV0dXJuIGpBKC9DaHJvbWVcLyhbMC05Ll0rKS8pfWlmKGcuR24mJiFnLkE0KCkpcmV0dXJuIGpBKC9WZXJzaW9uXC8oWzAtOS5dKykvKTtpZih3OHx8TVgpe2lmKG49L1ZlcnNpb25cLyhcUyspLipNb2JpbGVcLyhcUyspLy5leGVjKGcuWFEoKSkpcmV0dXJuIG5bMV0rIi4iK25bMl19ZWxzZSBpZihnLkltKXJldHVybihuPWpBKC9BbmRyb2lkXHMrKFswLTkuXSspLykpP246akEoL1ZlcnNpb25cLyhbMC05Ll0rKS8pO3JldHVybiIifSgpO2cuaXgoQkssZy5GTSk7Zy5FPUJLLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10aGlzLkpbbl07Ynx8KGI9dGhpcy5KW25dPVtdKTt2YXIgdj10aGlzLlY7dGhpcy5OW3ZdPW47dGhpcy5OW3YrMV09Vzt0aGlzLk5bdisyXT1EO3RoaXMuVj12KzM7Yi5wdXNoKHYpO3JldHVybiB2fTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXRoaXMuSltuXSl7bGV0IGI9dGhpcy5OO2lmKG49bi5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiBiW3YrMV09PVcmJmJbdisyXT09RH0pKXJldHVybiB0aGlzLmpLKG4pfXJldHVybiExfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3ZhciBXPXRoaXMuTltuXTtpZihXKXtsZXQgRD10aGlzLkpbV107dGhpcy5YIT0wPyh0aGlzLlcucHVzaChuKSx0aGlzLk5bbisxXT0oKT0+e30pOihEJiZnLkZJKEQsbiksZGVsZXRlIHRoaXMuTltuXSxkZWxldGUgdGhpcy5OW24rMV0sZGVsZXRlIHRoaXMuTltuKzJdKX1yZXR1cm4hIVd9OwpnLkUuV0o9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLkpbbl07aWYoRCl7bGV0IHY9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2xldCBrO2ZvcihrPTE7azxiO2srKyl2W2stMV09YXJndW1lbnRzW2tdO2lmKHRoaXMuSylmb3Ioaz0wO2s8RC5sZW5ndGg7aysrKWI9RFtrXSxKNHIodGhpcy5OW2IrMV0sdGhpcy5OW2IrMl0sdik7ZWxzZXt0aGlzLlgrKzt0cnl7Zm9yKGs9MCxiPUQubGVuZ3RoO2s8YiYmIXRoaXMucU4oKTtrKyspe2xldCBoPURba107dGhpcy5OW2grMV0uYXBwbHkodGhpcy5OW2grMl0sdil9fWZpbmFsbHl7aWYodGhpcy5YLS0sdGhpcy5XLmxlbmd0aD4wJiZ0aGlzLlg9PTApZm9yKDtEPXRoaXMuVy5wb3AoKTspdGhpcy5qSyhEKX19cmV0dXJuIGshPTB9cmV0dXJuITF9OwpnLkUuY2xlYXI9ZnVuY3Rpb24obil7aWYobil7bGV0IFc9dGhpcy5KW25dO1cmJihXLmZvckVhY2godGhpcy5qSyx0aGlzKSxkZWxldGUgdGhpcy5KW25dKX1lbHNlIHRoaXMuTi5sZW5ndGg9MCx0aGlzLko9e319OwpnLkUubUE9ZnVuY3Rpb24oKXtCSy5UQi5tQS5jYWxsKHRoaXMpO3RoaXMuY2xlYXIoKTt0aGlzLlcubGVuZ3RoPTB9O2cuRmQucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDA/dGhpcy5OLnJlbW92ZShuKTp0aGlzLk4uc2V0KG4sKG5ldyBsZSkuYlkoVykpfTsKZy5GZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3RyeXt2YXIgVz10aGlzLk4uZ2V0KG4pfWNhdGNoKEQpe3JldHVybn1pZihXIT09bnVsbCl0cnl7cmV0dXJuIEpTT04ucGFyc2UoVyl9Y2F0Y2goRCl7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO319OwpnLkZkLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5OLnJlbW92ZShuKX07Zy5peCh3WCxnLkZkKTt3WC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyl7d1guVEIuc2V0LmNhbGwodGhpcyxuLFJGKFcpKX07CndYLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXtuPXdYLlRCLmdldC5jYWxsKHRoaXMsbik7aWYobj09PXZvaWQgMHx8biBpbnN0YW5jZW9mIE9iamVjdClyZXR1cm4gbjt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fTsKd1gucHJvdG90eXBlLmdldD1mdW5jdGlvbihuKXtpZihuPXRoaXMuTUQobikpe2lmKG49bi5kYXRhLG49PT12b2lkIDApdGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO31lbHNlIG49dm9pZCAwO3JldHVybiBufTtnLml4KFFLLHdYKTtRSy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyxEKXtpZihXPVJGKFcpKXtpZihEKXtpZihEPGcuVXcoKSl7UUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7cmV0dXJufVcuZXhwaXJhdGlvbj1EfVcuY3JlYXRpb249Zy5VdygpfVFLLlRCLnNldC5jYWxsKHRoaXMsbixXKX07ClFLLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXt2YXIgVz1RSy5UQi5NRC5jYWxsKHRoaXMsbik7aWYoVyl7bGV0IEQ9Vy5jcmVhdGlvbixiPVcuZXhwaXJhdGlvbjtpZihiJiZiPGcuVXcoKXx8RCYmRD5nLlV3KCkpUUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7ZWxzZSByZXR1cm4gV319O2cuaXgoVkssUUspO2cuaXgoY0ssSVgxKTtjSy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBZQTEodGhpcy5ncSghMCkpLkooKX07CmNLLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBuPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBXIG9mIG4pdGhpcy5yZW1vdmUoVyl9O2cuaXgoYUYsY0spO2cuRT1hRi5wcm90b3R5cGU7Zy5FLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5KPT09bnVsbCl7dmFyIG49dGhpcy5OO2lmKG4pdHJ5e24uc2V0SXRlbSgiX19zYWsiLCIxIik7bi5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBXPSEwfWNhdGNoKEQpe1c9RCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKEQubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxELmNvZGU9PT0yMnx8RC5jb2RlPT09MTAxNHx8RC5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJm4mJm4ubGVuZ3RoIT09MH1lbHNlIFc9ITE7dGhpcy5KPVd9cmV0dXJuIHRoaXMuSn07CmcuRS5zZXQ9ZnVuY3Rpb24obixXKXtuZSh0aGlzKTt0cnl7dGhpcy5OLnNldEl0ZW0obixXKX1jYXRjaChEKXtpZih0aGlzLk4ubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319OwpnLkUuZ2V0PWZ1bmN0aW9uKG4pe25lKHRoaXMpO249dGhpcy5OLmdldEl0ZW0obik7aWYodHlwZW9mIG4hPT0ic3RyaW5nIiYmbiE9PW51bGwpdGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkIjtyZXR1cm4gbn07CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7bmUodGhpcyk7dGhpcy5OLnJlbW92ZUl0ZW0obil9OwpnLkUuZ3E9ZnVuY3Rpb24obil7bmUodGhpcyk7dmFyIFc9MCxEPXRoaXMuTixiPW5ldyB1SDtiLm5leHQ9ZnVuY3Rpb24oKXtpZihXPj1ELmxlbmd0aClyZXR1cm4gUkZNO3ZhciB2PUQua2V5KFcrKyk7aWYobilyZXR1cm57dmFsdWU6dixkb25lOiExfTt2PUQuZ2V0SXRlbSh2KTtpZih0eXBlb2YgdiE9PSJzdHJpbmciKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7cmV0dXJue3ZhbHVlOnYsZG9uZTohMX19OwpyZXR1cm4gYn07CmcuRS5jbGVhcj1mdW5jdGlvbigpe25lKHRoaXMpO3RoaXMuTi5jbGVhcigpfTsKZy5FLmtleT1mdW5jdGlvbihuKXtuZSh0aGlzKTtyZXR1cm4gdGhpcy5OLmtleShuKX07Zy5peChXUyxhRik7Zy5peChEUSxhRik7Zy5peChiQyxjSyk7YkMucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe3RoaXMuSi5zZXQodGhpcy5OK24sVyl9OwpiQy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLkouZ2V0KHRoaXMuTituKX07CmJDLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5KLnJlbW92ZSh0aGlzLk4rbil9OwpiQy5wcm90b3R5cGUuZ3E9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5KW1N5bWJvbC5pdGVyYXRvcl0oKSxEPXRoaXMsYj1uZXcgdUg7Yi5uZXh0PWZ1bmN0aW9uKCl7dmFyIHY9Vy5uZXh0KCk7aWYodi5kb25lKXJldHVybiB2O2Zvcih2PXYudmFsdWU7di5zbGljZSgwLEQuTi5sZW5ndGgpIT1ELk47KXt2PVcubmV4dCgpO2lmKHYuZG9uZSlyZXR1cm4gdjt2PXYudmFsdWV9cmV0dXJue3ZhbHVlOm4/di5zbGljZShELk4ubGVuZ3RoKTpELkouZ2V0KHYpLGRvbmU6ITF9fTsKcmV0dXJuIGJ9O2tqLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkp9Owprai5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtqKHRoaXMuTix0aGlzLkopfTt2YXIgZWM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPVtdO2lmKG4pYTp7bGV0IEQ7aWYobiBpbnN0YW5jZW9mIGVjKXtpZihEPW4udUIoKSxuPW4uejcoKSx0aGlzLk4ubGVuZ3RoPD0wKXt2YXIgVz10aGlzLk47Zm9yKGxldCBiPTA7YjxELmxlbmd0aDtiKyspVy5wdXNoKG5ldyBraihEW2JdLG5bYl0pKTticmVhayBhfX1lbHNlIEQ9Zy5MVChuKSxuPWhLKG4pO2ZvcihXPTA7VzxELmxlbmd0aDtXKyspdGhpcy5xcChEW1ddLG5bV10pfX1xcChuLFcpe3ZhciBEPXRoaXMuTjtELnB1c2gobmV3IGtqKG4sVykpO249RC5sZW5ndGgtMTtXPXRoaXMuTjtmb3IoRD1XW25dO24+MDspe2xldCBiPW4tMT4+MTtpZihXW2JdLk4+RC5OKVdbbl09V1tiXSxuPWI7ZWxzZSBicmVha31XW25dPUR9cmVtb3ZlKCl7dmFyIG49dGhpcy5OLFc9bi5sZW5ndGgsRD1uWzBdO2lmKCEoVzw9MCkpe2lmKFc9PTEpbi5sZW5ndGg9MDtlbHNle25bMF09bi5wb3AoKTtuPTA7Vz10aGlzLk47bGV0IHY9Vy5sZW5ndGgsCms9V1tuXTtmb3IoO248dj4+MTspe3ZhciBiPW4qMisxO2xldCBoPW4qMisyO2I9aDx2JiZXW2hdLk48V1tiXS5OP2g6YjtpZihXW2JdLk4+ay5OKWJyZWFrO1dbbl09V1tiXTtuPWJ9V1tuXT1rfXJldHVybiBELmdldFZhbHVlKCl9fXo3KCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLmdldFZhbHVlKCkpO3JldHVybiBXfXVCKCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLk4pO3JldHVybiBXfWNsb25lKCl7cmV0dXJuIG5ldyBlYyh0aGlzKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuTi5sZW5ndGg9PT0wfWNsZWFyKCl7dGhpcy5OLmxlbmd0aD0wfX07dmFyIFFyaD1jbGFzcyBleHRlbmRzIGVje307dmFyIGhrPXt9LFZKaT10eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgVWludDE2QXJyYXkhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEludDMyQXJyYXkhPT0idW5kZWZpbmVkIjtoay5hc3NpZ249ZnVuY3Rpb24obil7Zm9yKHZhciBXPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtXLmxlbmd0aDspe3ZhciBEPVcuc2hpZnQoKTtpZihEKXtpZih0eXBlb2YgRCE9PSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoRCsibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKHZhciBiIGluIEQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsYikmJihuW2JdPURbYl0pfX1yZXR1cm4gbn07CmhrLlVmPWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg9PT1XKXJldHVybiBuO2lmKG4uc3ViYXJyYXkpcmV0dXJuIG4uc3ViYXJyYXkoMCxXKTtuLmxlbmd0aD1XO3JldHVybiBufTsKdmFyIGNUMj17UDc6ZnVuY3Rpb24obixXLEQsYix2KXtpZihXLnN1YmFycmF5JiZuLnN1YmFycmF5KW4uc2V0KFcuc3ViYXJyYXkoRCxEK2IpLHYpO2Vsc2UgZm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7dmFyIFcsRDt2YXIgYj1EPTA7Zm9yKFc9bi5sZW5ndGg7YjxXO2IrKylEKz1uW2JdLmxlbmd0aDt2YXIgdj1uZXcgVWludDhBcnJheShEKTtiPUQ9MDtmb3IoVz1uLmxlbmd0aDtiPFc7YisrKXt2YXIgaz1uW2JdO3Yuc2V0KGssRCk7RCs9ay5sZW5ndGh9cmV0dXJuIHZ9fSxhY0M9e1A3OmZ1bmN0aW9uKG4sVyxELGIsdil7Zm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLG4pfX07CmhrLlhHPWZ1bmN0aW9uKCl7VkppPyhoay5PbT1VaW50OEFycmF5LGhrLm1LPVVpbnQxNkFycmF5LGhrLlN2PUludDMyQXJyYXksaGsuYXNzaWduKGhrLGNUMikpOihoay5PbT1BcnJheSxoay5tSz1BcnJheSxoay5Tdj1BcnJheSxoay5hc3NpZ24oaGssYWNDKSl9Owpoay5YRygpO3ZhciBueGk9ITA7dHJ5e25ldyBVaW50OEFycmF5KDEpfWNhdGNoKG4pe254aT0hMX07dmFyIFZ0PXt9O1Z0PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4mNjU1MzV8MDtuPW4+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgaztEIT09MDspe2s9RD4yRTM/MkUzOkQ7RC09aztkbyB2PXYrV1tiKytdfDAsbj1uK3Z8MDt3aGlsZSgtLWspO3YlPTY1NTIxO24lPTY1NTIxfXJldHVybiB2fG48PDE2fDB9O2Zvcih2YXIgY1M9e30sZ24sV3RyPVtdLFhzPTA7WHM8MjU2O1hzKyspe2duPVhzO2Zvcih2YXIgRGtaPTA7RGtaPDg7RGtaKyspZ249Z24mMT8zOTg4MjkyMzg0XmduPj4+MTpnbj4+PjE7V3RyW1hzXT1nbn1jUz1mdW5jdGlvbihuLFcsRCxiKXtEPWIrRDtmb3Iobl49LTE7YjxEO2IrKyluPW4+Pj44Xld0clsobl5XW2JdKSYyNTVdO3JldHVybiBuXi0xfTt2YXIgekI9e307ekI9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgbSQ9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sUFM9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLFowdz1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDMsN10sQ2U9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLEJTPUFycmF5KDU3Nik7TGUoQlMpO3ZhciBGOT1BcnJheSg2MCk7TGUoRjkpO3ZhciBPJD1BcnJheSg1MTIpO0xlKE8kKTt2YXIgQWs9QXJyYXkoMjU2KTtMZShBayk7dmFyIEtlPUFycmF5KDI5KTtMZShLZSk7dmFyIFpRPUFycmF5KDMwKTtMZShaUSk7dmFyIHhmLEx3LGVILGhyPSExO3ZhciBidztidz1bbmV3IERFKDAsMCwwLDAsZnVuY3Rpb24obixXKXt2YXIgRD02NTUzNTtmb3IoRD5uLnl2LTUmJihEPW4ueXYtNSk7Oyl7aWYobi5HVzw9MSl7YVMobik7aWYobi5HVz09PTAmJlc9PT0wKXJldHVybiAxO2lmKG4uR1c9PT0wKWJyZWFrfW4ucXMrPW4uR1c7bi5HVz0wO3ZhciBiPW4uT0srRDtpZihuLnFzPT09MHx8bi5xcz49YilpZihuLkdXPW4ucXMtYixuLnFzPWIsdzcobiwhMSksbi5UUi51Uj09PTApcmV0dXJuIDE7aWYobi5xcy1uLk9LPj1uLnhyLTI2MiYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7aWYoVz09PTQpcmV0dXJuIHc3KG4sITApLG4uVFIudVI9PT0wPzM6NDtuLnFzPm4uT0smJnc3KG4sITEpO3JldHVybiAxfSksCm5ldyBERSg0LDQsOCw0LG53KSxuZXcgREUoNCw1LDE2LDgsbncpLG5ldyBERSg0LDYsMzIsMzIsbncpLG5ldyBERSg0LDQsMTYsMTYsV1YpLG5ldyBERSg4LDE2LDMyLDMyLFdWKSxuZXcgREUoOCwxNiwxMjgsMTI4LFdWKSxuZXcgREUoOCwzMiwxMjgsMjU2LFdWKSxuZXcgREUoMzIsMTI4LDI1OCwxMDI0LFdWKSxuZXcgREUoMzIsMjU4LDI1OCw0MDk2LFdWKV07dmFyIGtmPXt9O2tmPWZ1bmN0aW9uKCl7dGhpcy5pbnB1dD1udWxsO3RoaXMuRW09dGhpcy5CQT10aGlzLlVaPTA7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLnRCPXRoaXMudVI9dGhpcy51Zz0wO3RoaXMubXNnPSIiO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnFTPTI7dGhpcy5nST0wfTt2YXIgZzI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdlYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLlRSLGI9dGhpcy5vcHRpb25zLmNodW5rU2l6ZTtpZih0aGlzLmVuZGVkKXJldHVybiExO3ZhciB2PVc9PT1+flc/VzpXPT09ITA/NDowO3R5cGVvZiBuPT09InN0cmluZyI/RC5pbnB1dD14aihuKTpnMi5jYWxsKG4pPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9ELmlucHV0PW5ldyBVaW50OEFycmF5KG4pOkQuaW5wdXQ9bjtELlVaPTA7RC5CQT1ELmlucHV0Lmxlbmd0aDtkb3tELnVSPT09MCYmKEQub3V0cHV0PW5ldyBoay5PbShiKSxELnVnPTAsRC51Uj1iKTtuPVBwMShELHYpO2lmKG4hPT0xJiZuIT09MClyZXR1cm4gdGhpcy5IdChuKSx0aGlzLmVuZGVkPSEwLCExO2lmKEQudVI9PT0wfHxELkJBPT09MCYmKHY9PT00fHx2PT09MikpaWYodGhpcy5vcHRpb25zLnRvPT09InN0cmluZyIpe3ZhciBrPWhrLlVmKEQub3V0cHV0LEQudWcpO1c9aztrPWsubGVuZ3RoO2lmKGs8NjU1MzcmJihXLnN1YmFycmF5JiYKbnhpfHwhVy5zdWJhcnJheSkpVz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsaGsuVWYoVyxrKSk7ZWxzZXtmb3IodmFyIGg9IiIseD0wO3g8azt4KyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShXW3hdKTtXPWh9dGhpcy5jaHVua3MucHVzaChXKX1lbHNlIFc9aGsuVWYoRC5vdXRwdXQsRC51ZyksdGhpcy5jaHVua3MucHVzaChXKX13aGlsZSgoRC5CQT4wfHxELnVSPT09MCkmJm4hPT0xKTtpZih2PT09NClyZXR1cm4oRD10aGlzLlRSKSYmRC5zdGF0ZT8oYj1ELnN0YXRlLnN0YXR1cyxiIT09NDImJmIhPT02OSYmYiE9PTczJiZiIT09OTEmJmIhPT0xMDMmJmIhPT0xMTMmJmIhPT02NjY/bj1sQyhELC0yKTooRC5zdGF0ZT1udWxsLG49Yj09PTExMz9sQyhELC0zKTowKSk6bj0tMix0aGlzLkh0KG4pLHRoaXMuZW5kZWQ9ITAsbj09PTA7dj09PTImJih0aGlzLkh0KDApLEQudVI9MCk7cmV0dXJuITB9Owp2Vi5wcm90b3R5cGUuSHQ9ZnVuY3Rpb24obil7bj09PTAmJih0aGlzLnJlc3VsdD10aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLmNodW5rcy5qb2luKCIiKTpoay5QNih0aGlzLmNodW5rcykpO3RoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPW47dGhpcy5tc2c9dGhpcy5UUi5tc2d9O3ZhciB0cj0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIiksR2Q9YEBAcmVkdXgvSU5JVCR7dHIoKX1gLEVLQz1gQEByZWR1eC9SRVBMQUNFJHt0cigpfWA7dmFyIHIyPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7dmFyIFFTeD1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxbMCxnLkN4LFRnLGcub20sbFUsZy5vbSwtMSxqbyxsVSxqbywtMSxnLkN4LGpvLFRnLGcuZHEsWzAsbFUsLTMsam9dLGcub20sLTEsam9dKTt2YXIgS0d0PS0zMDE3MTcyMTc7dmFyIGJzdD1mdW5jdGlvbihuLFcpe3JldHVybigoKT0+e3ZhciBEPW5ldyBBWHgobixXKTtyZXR1cm4oKT0+RH0pKCl9KCJ5b3V0dWJlLmFwaS5pbm5lcnR1YmUuQXR0ZXN0YXRpb25FcnJvciIsJ1tudWxsLFtbIkFUVEVTVEFUSU9OX0VSUk9SX1VOS05PV04iLDBdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fTk9UX0lOSVRJQUxJWkVEIiwxXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PX1JFU1BPTlNFIiwyXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiLDNdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fSU5URVJOQUxfRVJST1IiLDRdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVkFMSUQiLDVdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX05FVFdPUktfRVJST1IiLDZdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX09GRkxJTkUiLDddLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVEVSTkFMX0VSUk9SIiw4XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0FQSV9OT1RfUkVBRFkiLDldLFsiQVRURVNUQVRJT05fRVJST1JfREVWSUNFX09GRkxJTkUiLDEwXSxbIkFUVEVTVEFUSU9OX0VSUk9SX0tFWV9QQUlSX0lOSVRfRkFJTEVEIiwxMl0sWyJBVFRFU1RBVElPTl9FUlJPUl9TSUdOSU5HX0RBVEFfTUlTU0lORyIsMTNdLFsiQVRURVNUQVRJT05fRVJST1JfU0lHTklOR19GQUlMRUQiLDE0XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0NFUlRfQ0hBSU5fUkVUUklFVkFMX0ZBSUxFRCIsMTVdXSxudWxsLFtbMTEsMTFdXV0nKTtnLnFNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMubmFtZT1ufX07Zy5TdD1uZXcgZy5xTSgiYWN0aW9uQ29tcGFuaW9uQWRSZW5kZXJlciIpO2cuVWg9bmV3IGcucU0oImFkQWN0aW9uSW50ZXJzdGl0aWFsUmVuZGVyZXIiKTtnLm0yPW5ldyBnLnFNKCJhZHNFbmdhZ2VtZW50UGFuZWxSZW5kZXJlciIpO2cuVyQ9bmV3IGcucU0oImRpc21pc3NhYmxlUGFuZWxUZXh0UG9ydHJhaXRJbWFnZVJlbmRlcmVyIik7Zy5vYT1uZXcgZy5xTSgiYWRzRW5nYWdlbWVudFBhbmVsU2VjdGlvbkxpc3RWaWV3TW9kZWwiKTtnLkFqPW5ldyBnLnFNKCJpbWFnZUNvbXBhbmlvbkFkUmVuZGVyZXIiKTtnLkVoPW5ldyBnLnFNKCJpbnN0cmVhbUFkUGxheWVyT3ZlcmxheVJlbmRlcmVyIik7Zy5GeT1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFJlbmRlcmVyIik7Zy5HOD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFNpbmdsZVNlbGVjdFF1ZXN0aW9uUmVuZGVyZXIiKTtnLnRMPW5ldyBnLnFNKCJpbnN0cmVhbVN1cnZleUFkTXVsdGlTZWxlY3RRdWVzdGlvblJlbmRlcmVyIik7Zy4kSD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZEFuc3dlclJlbmRlcmVyIik7Zy52eHg9bmV3IGcucU0oImluc3RyZWFtU3VydmV5QWRBbnN3ZXJOb25lT2ZUaGVBYm92ZVJlbmRlcmVyIik7Zy5DYz1uZXcgZy5xTSgiaW5zdHJlYW1WaWRlb0FkUmVuZGVyZXIiKTtnLmkwPW5ldyBnLnFNKCJwbGF5ZXJPdmVybGF5TGF5b3V0UmVuZGVyZXIiKTtnLnlWPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbEJ1dHRvbmVkQ2VudGVyZWRMYXlvdXRSZW5kZXJlciIpO2cuaFg9bmV3IGcucU0oImFib3ZlRmVlZEFkTGF5b3V0UmVuZGVyZXIiKTtnLnh6PW5ldyBnLnFNKCJiZWxvd1BsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmt6PW5ldyBnLnFNKCJpblBsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmUyPW5ldyBnLnFNKCJpblBsYXllck9yZ2FuaWNPdmVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuUmE9bmV3IGcucU0oInBsYXllckJ5dGVzQWRMYXlvdXRSZW5kZXJlciIpO2cuTGk9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVuY2VJdGVtQWRMYXlvdXRSZW5kZXJlciIpO2cudiQ9bmV3IGcucU0oInBsYXllclVuZGVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuQlE9bmV3IGcucU0oImFkSW50cm9SZW5kZXJlciIpO2cuVDA9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVudGlhbExheW91dFJlbmRlcmVyIik7Zy53YT1uZXcgZy5xTSgic3VydmV5VGV4dEludGVyc3RpdGlhbFJlbmRlcmVyIik7Zy5RVj1uZXcgZy5xTSgidmlkZW9BZFRyYWNraW5nUmVuZGVyZXIiKTt2YXIgUXhNPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbENlbnRlcmVkTGF5b3V0Vmlld01vZGVsIik7Zy5kYT1uZXcgZy5xTSgicGxheWVyT3JnYW5pY1RyYW5zaXRpb25PdmVybGF5UmVuZGVyZXIiKTtnLlhHPW5ldyBnLnFNKCJhZFNsb3RSZW5kZXJlciIpO2cuYWE9bmV3IGcucU0oInNxdWVlemViYWNrUGxheWVyU2lkZVBhbmVsUmVuZGVyZXIiKTtnLktjPW5ldyBnLnFNKCJiYW5uZXJJbWFnZUxheW91dFZpZXdNb2RlbCIpO2cuT2g9bmV3IGcucU0oInRvcEJhbm5lckltYWdlVGV4dEljb25CdXR0b25lZExheW91dFZpZXdNb2RlbCIpO2cuUFE9bmV3IGcucU0oImFkc0VuZ2FnZW1lbnRQYW5lbExheW91dFZpZXdNb2RlbCIpO2cubmk9bmV3IGcucU0oImRpc3BsYXlVbmRlcmxheVRleHRHcmlkQ2FyZHNMYXlvdXRWaWV3TW9kZWwiKTt2YXIgcm49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59fSxzQz1jbGFzcyBleHRlbmRzIHJue2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLk4uZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKG4pe3RoaXMuTi5lbnRpdHlNZXRhZGF0YT1ufX07dmFyIGtqTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBoNGo9bmV3IGcucU0oImNvbW1hbmRDb250ZXh0Iik7dmFyIHhrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBMdHc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZEUyPW5ldyBnLnFNKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgb3Z0PW5ldyBnLnFNKCJyYXdIb3RDb25maWdHcm91cCIpO2cuTk09bmV3IGcucU0oImNvbW1hbmRFeGVjdXRvckNvbW1hbmQiKTt2YXIgZTR3PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBneHQ9e1ZDOjAsZVo6MSxFcDozMixPcDo2MSxkNzo2NyxBSzoxMDMsSVg6ODYsR0E6NDIsTVg6NjAsTEk6NjIsRGk6NzMsYVg6NzYsdzc6ODgsQ0k6OTAsTjY6OTksSHI6OTgsb1g6MTAwLEZBOjEwMixjODo0MSxQODo2OSx5TDo3MCxKcjo3MSx5TToyLEs0OjI3LEFORFJPSUQ6MyxBdjo1NCx3TToxNCx6ejo5MSxDRTo1NSxkTToyNCxOdToxMDUsYzk6MjAsUDk6MTgsSkg6MjEsdEg6MTA0LFg2OjMwLGpMOjI5LFYzOjI4LHBJOjEwMSxtQjoxMDcsa0Q6MzQsaEg6MzYseTM6MzgsSU9TOjUsVEw6MTUsblE6OTIscmo6NDAscFE6MjUseDc6MTA2LFNBOjE3LFk3OjE5LHNZOjY0LHVPOjY2LGVBOjI2LFpwOjIyLGxPOjMzLEhtOjY4LFVZOjM1LExROjUzLEJtOjEwOCxSTzozNyxLUTozOSxkMjo3LFByOjU3LHlDOjQzLHRLOjU5LEpLOjkzLGlwOjc0LFdyOjc1LGJGOjg1LHpBOjY1LGhLOjgwLFhBOjgsQ006MTAsaUY6NTgscVg6NjMsbVU6NzIscXU6MjMsYkE6MTEselU6MTMsd0o6MTIsCm9OOjE2LFVwOjU2LGc3OjMxLGttOjc3LEFROjg0LGZJOjg3LENoOjg5LHdMOjk0LHpUOjk1LGxMOjEwOX07dmFyIGk5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1XKG4pe2cuU0UodGhpcyw1LG4pfX07dmFyIHlkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBYd1U9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEhzPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIEhXKHRoaXMsMzYpfXNldEhvbWVHcm91cEluZm8obil7cmV0dXJuICQ5KHRoaXMsWHdVLDgxLG4pfWNsZWFyTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKCl7cmV0dXJuIG96KHRoaXMsODkpfX07dmFyIEo2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRWYWx1ZSgpe3JldHVybiBZOSh0aGlzLHZXKHRoaXMsSXYsMikpfX0sSXY9WzIsMyw0LDUsNl07dmFyIHFZUz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VHJhY2tpbmdQYXJhbXMobil7cmV0dXJuIG96KHRoaXMsMSxrVShuLCExKSl9fTt2YXIgZlU9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVKPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBBNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VG9rZW4obil7cmV0dXJuIGcuU0UodGhpcywyLG4pfX07dmFyIFN5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1zZXRTYWZldHlNb2RlKG4pe3JldHVybiBLbih0aGlzLDUsbil9fTt2YXIgWUE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfVcobil7cmV0dXJuICQ5KHRoaXMsSHMsMSxuKX19O3ZhciBHajE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdFBVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRrYj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBSVGg9bmV3IGcucU0oImNvbnRpbnVhdGlvbkNvbW1hbmQiKTtnLmNFPW5ldyBnLnFNKCJzaWduYWxBY3Rpb24iKTt2YXIgcGo9bmV3IGcucU0oIndlYkNvbW1hbmRNZXRhZGF0YSIpO3ZhciBoazI9bmV3IGcucU0oIm1ldGFkYXRhQmFkZ2VSZW5kZXJlciIpO3ZhciBRWU09bmV3IGcucU0oInNpZ25hbFNlcnZpY2VFbmRwb2ludCIpO3ZhciAkej1uZXcgZy5xTSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBEMzE9e1NUOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIixyTDoiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVCIseHc6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCIsS2g6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCJ9O3ZhciAkdE09bmV3IGcucU0oImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCIpO3ZhciBEdEM9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIiKTt2YXIgYW9VPW5ldyBnLnFNKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlciIpLHIxcj1uZXcgZy5xTSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxzc0M9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgUyQ9bmV3IGcucU0oImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyIHJZcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBzQng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTkEyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHB3Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbCYmbi5wdXNoKHRoaXMuTi5hbHRlcm5hdGVDaGFubmVsKTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QmJm4ucHVzaCguLi50aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QpO3RoaXMuTi5vbmVvZkNoYW5uZWxFbnRpdHkmJm4ucHVzaCh0aGlzLk4ub25lb2ZDaGFubmVsRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBZWXI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmVudHJ5Q29sbGVjdGlvbiYmbi5wdXNoKHRoaXMuTi5lbnRyeUNvbGxlY3Rpb24pO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sZl94PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRQbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wYXJlbnRQbGF5bGlzdCk7aWYodGhpcy5OLmVudHJpZXMpZm9yKGxldCBXIG9mIHRoaXMuTi5lbnRyaWVzKW4ucHVzaCguLi4obmV3IEhzaChXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEhzaD1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIEpZYj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkmJm4ucHVzaCh0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuTi5jcmVhdG9ycyYmbi5wdXNoKC4uLnRoaXMuTi5jcmVhdG9ycyk7dGhpcy5OLnRoZUJpZ2dlc3RGYW4mJm4ucHVzaCh0aGlzLk4udGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxJX3c9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgU1l3PW5ldyBnLnFNKCJmZWVkYmFja0VuZHBvaW50Iik7dmFyIEFZeD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBta2g9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgS3R4PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE9zaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQTHI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgWnNyPW5ldyBnLnFNKCJpbnRlcmFjdGlvbkxvZ2dpbmdDb21tYW5kTWV0YWRhdGEiKTt2YXIgZDNqPXtsRjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIixuSToiV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIixSWDoiV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIixaaToiV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIixCcjoiV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIn07dmFyIFVrcj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0UGxheWVyVHlwZSgpe3JldHVybiBIVyh0aGlzLDcpfUUxKCl7cmV0dXJuIFk5KHRoaXMsMTkpfXNldFZpZGVvSWQobil7cmV0dXJuIGcuU0UodGhpcywxOSxuKX19O3ZhciBBbT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgU0w9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIFp2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fSx5WTE9WzIsMyw1LDYsNywxMSwxMywyMCwyMSwyMiwyMywyNCwyOCwzMiwzNyw0NSw1OSw3Miw3Myw3NCw3Niw3OCw3OSw4MCw4NSw5MSw5NywxMDAsMTAyLDEwNSwxMTEsMTE3LDExOSwxMjYsMTI3LDEzNiwxNDYsMTQ4LDE1MSwxNTYsMTU3LDE1OCwxNTksMTYzLDE2NCwxNjgsMTc2LDE3NywxNzgsMTc5LDE4NCwxODgsMTg5LDE5MCwxOTEsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDgsMjA5LDIxNSwyMTksMjIyLDIyNSwyMjYsMjI3LDIyOSwyMzIsMjMzLDIzNCwyNDAsMjQxLDI0NCwyNDcsMjQ4LDI0OSwyNTEsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjYsMjcwLDI3MiwyNzgsMjg4LDI5MSwyOTMsMzAwLDMwNCwzMDgsMzA5LDMxMCwzMTEsMzEzLDMxNCwzMTksMzIwLDMyMSwzMjMsMzI0LDMyNywzMjgsCjMzMCwzMzEsMzMyLDMzNCwzMzcsMzM4LDM0MCwzNDQsMzQ4LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM2MSwzNjMsMzY0LDM2OCwzNjksMzcwLDM3MywzNzQsMzc1LDM3OCwzODAsMzgxLDM4MywzODgsMzg5LDM5OSw0MDIsNDAzLDQxMCw0MTEsNDEyLDQxMyw0MTQsNDE1LDQxNiw0MTcsNDE4LDQyMyw0MjQsNDI1LDQyNiw0MjcsNDI5LDQzMCw0MzEsNDM5LDQ0MSw0NDQsNDQ4LDQ1OCw0NjksNDcxLDQ3Myw0NzQsNDgwLDQ4MSw0ODIsNDg0LDQ4NSw0ODYsNDkxLDQ5NSw0OTYsNTA2LDUwNyw1MDksNTExLDUxMiw1MTMsNTE0LDUxNSw1MTYsNTE3LDUxOCw1MTksNTIwLDUyMiw1MjMsNTI0LDUyNSw1MjYsNTI3LDUyOCw1MjksNTMwLDUzMSw1MzYsNTM3LDUzOCw1MzksNTQxLDU0NSw1NDcsNTQ4LDU0OSw1NTAsNTUxLDU1Miw1NTMsNTU0LDU1N107Zy5FeGk9bmV3IGcucU0oImxvZ2dpbmdDb250ZXh0Iik7dmFyIE95PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBoNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9RTEoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDEpKX1zZXRWaWRlb0lkKG4pe3JldHVybiBEMih0aGlzLDEseEEsV0gobikpfWdldFBsYXlsaXN0SWQoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDIpKX19LHhBPVsxLDJdO3ZhciB1RjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGlzWj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB1NXQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgb3hoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGRrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZHNMaXN0KTt0aGlzLk4uc21hcnREb3dubG9hZHNMaXN0JiZuLnB1c2godGhpcy5OLnNtYXJ0RG93bmxvYWRzTGlzdCk7dGhpcy5OLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGxfWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtpZih0aGlzLk4uZG93bmxvYWRzKWZvcihsZXQgVyBvZiB0aGlzLk4uZG93bmxvYWRzKW4ucHVzaCguLi4obmV3IHo0dyhXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LHo0dz1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3RoaXMuTi5wbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wbGF5bGlzdCk7dGhpcy5OLnZpZGVvSXRlbSYmbi5wdXNoKHRoaXMuTi52aWRlb0l0ZW0pO3RoaXMuTi5wbGF5bGlzdEl0ZW0mJm4ucHVzaCh0aGlzLk4ucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBUQTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGpCaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgQ0xpPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJBVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZmFrZUNoaWxkcmVuJiZuLnB1c2goLi4udGhpcy5OLmZha2VDaGlsZHJlbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgRnRoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi52aWRlbyYmbi5wdXNoKHRoaXMuTi52aWRlbyk7dGhpcy5OLnBsYXliYWNrRGF0YSYmbi5wdXNoKHRoaXMuTi5wbGF5YmFja0RhdGEpO3RoaXMuTi5vZmZsaW5lVmlkZW9Qb2xpY3kmJm4ucHVzaCh0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciB3d1M9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTVB3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5jaGFubmVsT3duZXImJm4ucHVzaCh0aGlzLk4uY2hhbm5lbE93bmVyKTt0aGlzLk4udmlkZW9zJiZuLnB1c2goLi4udGhpcy5OLnZpZGVvcyk7dGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZuLnB1c2goLi4udGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLk4uZG93bmxvYWRTdGF0ZSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXRlKTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBSNGk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnZpZGVvJiZuLnB1c2godGhpcy5OLnZpZGVvKTt0aGlzLk4uY2hhbm5lbENvbnRyaWJ1dG9yJiZuLnB1c2godGhpcy5OLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgVlBVPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFFCcih0aGlzLk4ucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LFFCcj1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4ubG9jYWxJbWFnZUVudGl0aWVzJiZuLnB1c2goLi4udGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBjWWk9Y2xhc3MgZXh0ZW5kcyBybntKKCl7dmFyIG49W107dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgYV9qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vd25lciYmbi5wdXNoKHRoaXMuTi5vd25lcik7dGhpcy5OLmRvd25sb2FkU3RhdGUmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRTdGF0ZSk7dGhpcy5OLnVzZXJTdGF0ZSYmbi5wdXNoKC4uLihuZXcgY1lpKHRoaXMuTi51c2VyU3RhdGUpKS5KKCkpO3RoaXMuTi5hZGRpdGlvbmFsTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFZQVSh0aGlzLk4uYWRkaXRpb25hbE1ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBuTjI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnVzZXJDaGFubmVsRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyQ2hhbm5lbERldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFdNWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uY2hhbm5lbE93bmVyJiZuLnB1c2godGhpcy5OLmNoYW5uZWxPd25lcik7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi5kb3dubG9hZFN0YXR1cyYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXR1cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgREkxPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJ6dD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB2TnQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIga1ByPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGhPdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB4SVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTE13PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGVPcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBnTnI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgVVU9bmV3IGcucU0oImNoYW5nZUtleWVkTWFya2Vyc1Zpc2liaWxpdHlDb21tYW5kIik7dmFyIHh0TT1uZXcgZy5xTSgibG9hZE1hcmtlcnNDb21tYW5kIik7dmFyIGVicj1uZXcgZy5xTSgidGltZWx5QWN0aW9uVmlld01vZGVsIik7dmFyIExxQz1uZXcgZy5xTSgidGltZWx5QWN0aW9uc092ZXJsYXlWaWV3TW9kZWwiKTt2YXIgWF9TPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHF2Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBHUE09Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdHhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRJTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBySmI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmNvbXBvc2l0ZVNvdXJjZUtleXMmJm4ucHVzaCguLi50aGlzLk4uY29tcG9zaXRlU291cmNlS2V5cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgczR0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIE5rUz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRlZFRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLk4uc21hcnREb3dubG9hZGVkVHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5OLmRvd25sb2FkZWRFcGlzb2RlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJm4ucHVzaCguLi50aGlzLk4uc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLmRvd25sb2FkZWRQbGF5bGlzdHMmJm4ucHVzaCguLi50aGlzLk4uZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmbi5wdXNoKC4uLnRoaXMuTi5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpOwp0aGlzLk4ubWV0YWRhdGFPbmx5VHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgcF9yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFl2dD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgSHppPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4ucHJpbWFyeUFydGlzdHMmJm4ucHVzaCguLi50aGlzLk4ucHJpbWFyeUFydGlzdHMpO3RoaXMuTi5kZXRhaWxzJiZuLnB1c2godGhpcy5OLmRldGFpbHMpO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmRvd25sb2FkTWV0YWRhdGEmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnJlZnJlc2gmJm4ucHVzaCh0aGlzLk4ucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxmSlU9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmCm4ucHVzaCh0aGlzLk4uYWxidW1SZWxlYXNlKTt0aGlzLk4udHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxKSjE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIElKVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sU3ZaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRBcnRpc3QmJm4ucHVzaCh0aGlzLk4ucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEFKaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGFyZW50QXJ0aXN0JiZuLnB1c2godGhpcy5OLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgbUliPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEtNdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQVHg9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLk4uc2lkZWxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3RoaXMuTi5lbnRyeUNvbGxlY3Rpb24mJm4ucHVzaCh0aGlzLk4uZW50cnlDb2xsZWN0aW9uKTt0aGlzLk4uc2hhcmUmJm4ucHVzaCh0aGlzLk4uc2hhcmUpO3RoaXMuTi5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmCm4ucHVzaCguLi4obmV3IE96aSh0aGlzLk4ucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5KKCkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sT3ppPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5jcmVhdG9yRW50aXR5JiZuLnB1c2godGhpcy5OLmNyZWF0b3JFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFp6aT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBVSVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmbi5wdXNoKHRoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuTi5hcnRpc3RzJiZuLnB1c2goLi4udGhpcy5OLmFydGlzdHMpO3RoaXMuTi5hdWRpb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuTi52aWRlb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLmRldGFpbHMmJm4ucHVzaCh0aGlzLk4uZGV0YWlscyk7dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmxpYnJhcnlFZGl0JiZuLnB1c2godGhpcy5OLmxpYnJhcnlFZGl0KTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmCm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmx5cmljcyYmbi5wdXNoKHRoaXMuTi5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0seUpTPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRUcmFjayYmbi5wdXNoKHRoaXMuTi5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxFTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnBhcmVudFRyYWNrJiZuLnB1c2godGhpcy5OLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBucU09bmV3IGcucU0oIm11c2ljRW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKTt2YXIgaXpTPW5ldyBnLnFNKCJzaGFyZUVuZHBvaW50IiksdXhDPW5ldyBnLnFNKCJzaGFyZUVudGl0eUVuZHBvaW50Iiksb05pPW5ldyBnLnFNKCJzaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpLGRJeD1uZXcgZy5xTSgid2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtnLlBqPW5ldyBnLnFNKCJ1cmxFbmRwb2ludCIpO2cuSVE9bmV3IGcucU0oIndhdGNoRW5kcG9pbnQiKTt2YXIgek93PW5ldyBnLnFNKCJ3YXRjaFBsYXlsaXN0RW5kcG9pbnQiKTt2YXIgbEoyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFRrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBqNFo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQ1R3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4udHJhbnNmZXImJm4ucHVzaCh0aGlzLk4udHJhbnNmZXIpO3RoaXMuTi5hZHNQbGF5YmFja0RhdGEmJm4ucHVzaCguLi50aGlzLk4uYWRzUGxheWJhY2tEYXRhKTt0aGlzLk4uZHJtTGljZW5zZSYmbi5wdXNoKHRoaXMuTi5kcm1MaWNlbnNlKTt0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5JiZuLnB1c2godGhpcy5OLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBGTXc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgd19NPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vZmZsaW5lVmlkZW9TdHJlYW1zJiZuLnB1c2goLi4udGhpcy5OLm9mZmxpbmVWaWRlb1N0cmVhbXMpO3RoaXMuTi5jYXB0aW9uVHJhY2smJm4ucHVzaCguLi50aGlzLk4uY2FwdGlvblRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBNeFM9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgUk8xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFE0cj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBWeGI9bmV3IGcucU0oInByZWZldGNoV2F0Y2hDb21tYW5kIik7dmFyIGNKWj1uZXcgZy5xTSgidXBkYXRlUHJvZ3Jlc3NCYXJDb21tYW5kIik7dmFyIE5LeD1uZXcgZy5xTSgiY29tcG9zaXRlVmlkZW9PdmVybGF5UmVuZGVyZXIiKTt2YXIgbGFTPW5ldyBnLnFNKCJwYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlciIpO3ZhciBLSTE9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxPVng9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBJb2I9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksRHo9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksYUp3PW5ldyBnLnFNKCJwbGF5ZXJSZXNwb25zZSIpO3ZhciBuWEM9bmV3IGcucU0oInBsYXlsaXN0RWRpdEVuZHBvaW50Iik7dmFyIFd1Wj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBUZT1uZXcgZy5xTSgicmVlbFdhdGNoRW5kcG9pbnQiKTt2YXIgRCRyPW5ldyBnLnFNKCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiKTtnLllIPW5ldyBnLnFNKCJidXR0b25SZW5kZXJlciIpO2cuSEM9bmV3IGcucU0oInRvZ2dsZUJ1dHRvblJlbmRlcmVyIik7Zy5jUT1uZXcgZy5xTSgiY291bnRlcmZhY3R1YWxSZW5kZXJlciIpO3ZhciBiTXI9bmV3IGcucU0oInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTt2YXIgdlhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGtpdz1uZXcgZy5xTSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO3ZhciBoblU9bmV3IGcucU0oInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgeCRaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE5oMT1uZXcgZy5xTSgic3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIiKTt2YXIgTHUxPW5ldyBnLnFNKCJzdWJzY3JpYmVFbmRwb2ludCIpO3ZhciBlbmk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZ1hVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFhSUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBxTlo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgR2lNPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHRHdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciAkJDI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgck0xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHNkaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBOeTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFJ0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFZDMj1uZXcgZy5xTSgicXJDb2RlUmVuZGVyZXIiKTt2YXIgWU5aPXtkajoiTElWSU5HX1JPT01fQVBQX01PREVfVU5TUEVDSUZJRUQiLHdqOiJMSVZJTkdfUk9PTV9BUFBfTU9ERV9NQUlOIixBXzoiTElWSU5HX1JPT01fQVBQX01PREVfS0lEUyIsQ1E6IkxJVklOR19ST09NX0FQUF9NT0RFX01VU0lDIixvTzoiTElWSU5HX1JPT01fQVBQX01PREVfVU5QTFVHR0VEIixJTzoiTElWSU5HX1JPT01fQVBQX01PREVfR0FNSU5HIn07dmFyIEhNdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBmTzI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgSk0yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJXWj1uZXcgZy5xTSgiYXV0b3BsYXlTd2l0Y2hCdXR0b25SZW5kZXJlciIpO3ZhciB2cXQ9bmV3IGcucU0oImRlc2t0b3BPdmVybGF5Q29uZmlnUmVuZGVyZXIiKTt2YXIgYzNoPW5ldyBnLnFNKCJlbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyIik7dmFyIFdHaT1uZXcgZy5xTSgicGxheWxpc3RQYW5lbFJlbmRlcmVyIik7dmFyIElPdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBTTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQU14PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIG0kUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBLdWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgT01qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFA4dz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBaTWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFlaPW5ldyBnLnFNKCJjaXBoZXIiKTt2YXIgU2xNPW5ldyBnLnFNKCJwbGF5ZXJWYXJzIik7dmFyIGR2aT1uZXcgZy5xTSgicGxheWVyVmFycyIpO3ZhciBVJFU9Zy5xaS53aW5kb3csSUU9VSRVPy55dD8uY29uZmlnX3x8VSRVPy55dGNmZz8uZGF0YV98fHt9O2cuR2IoInl0LmNvbmZpZ18iLElFKTt2YXIgS3c9W107dmFyIGR4aT0vXltcdy5dKiQvLG9LaT17cTohMCxzZWFyY2hfcXVlcnk6ITB9LHVRaD1TdHJpbmcoeUYpO2cuUkU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtnLkdiKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24obil7cmV0dXJuIGcuRXQoZy5RRihuKSl9KTtnLlV3KCk7dmFyIFZGPSJYTUxIdHRwUmVxdWVzdCJpbiBnLnFpPygpPT5uZXcgWE1MSHR0cFJlcXVlc3Q6bnVsbDt2YXIgeU1TPSJhYnNvbHV0ZV9leHBlcmltZW50cyBjbGllbnRfZGV2X2RvbWFpbiBjbGllbnRfZGV2X2V4cGZsYWcgY2xpZW50X2Rldl9yZWdleF9tYXAgY2xpZW50X2Rldl9yb290X3VybCBjbGllbnRfcm9sbG91dF9vdmVycmlkZSBleHBmbGFnIGZvcmNlZENhcGFiaWxpdHkganNmZWF0IGpzbW9kZSBtb2RzIHRoZW1lIi5zcGxpdCgiICIpO1suLi55TVNdO3ZhciBMJD17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxWdWI9WyJhcHAiLCJkZWJ1Z2NzcyIsImRlYnVnanMiLCJleHBmbGFnIiwiZm9yY2VfYWRfcGFyYW1zIiwiZm9yY2VfYWRfZW5jcnlwdGVkIiwiZm9yY2VfdmlyYWxfYWRfcmVzcG9uc2VfcGFyYW1zIiwiZm9yY2VkX2V4cGVyaW1lbnRzIiwiaW5uZXJ0dWJlX3NuYXBzaG90cyIsImlubmVydHViZV9nb2xkZW5zIiwiaW50ZXJuYWxjb3VudHJ5Y29kZSIsImludGVybmFsaXBvdmVycmlkZSIsImFic29sdXRlX2V4cGVyaW1lbnRzIiwiY29uZGl0aW9uYWxfZXhwZXJpbWVudHMiLCJzYmIiLCJzcl9ibnNfYWRkcmVzcyIsLi4ueU1TXSxHUT0hMSxGeDE9eFQ7dmFyIGM0VTtnLiRUPWNsYXNzIGV4dGVuZHMgZy5UYntjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoYCR7bn0sIGVycm9yQ29kZT0ke1d9YCk7dGhpcy5lcnJvckNvZGU9Vzt0aGlzLnhocj1EO3RoaXMubmFtZT0iUHJvbWlzZUFqYXhFcnJvciJ9fTtjNFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy54aHI9bn19O3ZhciBOWD1jbGFzc3tjb25zdHJ1Y3RvcihuPW51bGwpe3RoaXMuTj1uO3RoaXMuVz0wO3RoaXMuSj1udWxsfXRoZW4obixXLEQpe3JldHVybiB0aGlzLk4/dGhpcy5OLnRoZW4obixXLEQpOnRoaXMuVz09PTEmJm4/KG49bi5jYWxsKEQsdGhpcy5KKSkmJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iP246Zy5IMChuKTp0aGlzLlc9PT0yJiZXPyhuPVcuY2FsbChELHRoaXMuSikpJiZ0eXBlb2Ygbi50aGVuPT09ImZ1bmN0aW9uIj9uOmcucCQobik6dGhpc31nZXRWYWx1ZSgpe3JldHVybiB0aGlzLkp9fTtOWC5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIGYkPSExO2cuTUw9dzh8fE1YO3ZhciBXMDE9L14oWzAtOVwuXSspOihbMC05XC5dKykkLzt2YXIgWGs9e307dmFyIEVYaD0wLHEwPWcuWmw/IndlYmtpdCI6Zy5lUz8ibW96IjpnLmtoPyJtcyI6cmM/Im8iOiIiLGlNeD1nLnJyKCJ5dERvbURvbUdldE5leHRJZCIpfHwoKCk9PisrRVhoKTsKZy5HYigieXREb21Eb21HZXROZXh0SWQiLGlNeCk7dmFyIHVaYj17c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOjEsc3RvcFByb3BhZ2F0aW9uOjEscHJldmVudE1vdXNlRXZlbnQ6MSxwcmV2ZW50TWFuaXB1bGF0aW9uOjEscHJldmVudERlZmF1bHQ6MSxsYXllclg6MSxsYXllclk6MSxzY3JlZW5YOjEsc2NyZWVuWToxLHNjYWxlOjEscm90YXRpb246MSx3ZWJraXRNb3ZlbWVudFg6MSx3ZWJraXRNb3ZlbWVudFk6MX0sZnk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50eXBlPSIiO3RoaXMuc3RhdGU9dGhpcy5zb3VyY2U9dGhpcy5kYXRhPXRoaXMuY3VycmVudFRhcmdldD10aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuY3RybEtleT10aGlzLmFsdEtleT0hMTt0aGlzLnJvdGF0aW9uPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9MDt0aGlzLnNjYWxlPTE7dGhpcy5jaGFuZ2VkVG91Y2hlcz10aGlzLnRvdWNoZXM9Cm51bGw7dHJ5e2lmKG49bnx8d2luZG93LmV2ZW50KXt0aGlzLmV2ZW50PW47Zm9yKGxldCBiIGluIG4pYiBpbiB1WmJ8fCh0aGlzW2JdPW5bYl0pO3RoaXMuc2NhbGU9bi5zY2FsZTt0aGlzLnJvdGF0aW9uPW4ucm90YXRpb247dmFyIFc9bi50YXJnZXR8fG4uc3JjRWxlbWVudDtXJiZXLm5vZGVUeXBlPT0zJiYoVz1XLnBhcmVudE5vZGUpO3RoaXMudGFyZ2V0PVc7dmFyIEQ9bi5yZWxhdGVkVGFyZ2V0O2lmKEQpdHJ5e0Q9RC5ub2RlTmFtZT9EOm51bGx9Y2F0Y2goYil7RD1udWxsfWVsc2UgdGhpcy50eXBlPT0ibW91c2VvdmVyIj9EPW4uZnJvbUVsZW1lbnQ6dGhpcy50eXBlPT0ibW91c2VvdXQiJiYoRD1uLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PUQ7dGhpcy5jbGllbnRYPW4uY2xpZW50WCE9dm9pZCAwP24uY2xpZW50WDpuLnBhZ2VYO3RoaXMuY2xpZW50WT1uLmNsaWVudFkhPXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWTt0aGlzLmtleUNvZGU9bi5rZXlDb2RlP24ua2V5Q29kZToKbi53aGljaDt0aGlzLmNoYXJDb2RlPW4uY2hhckNvZGV8fCh0aGlzLnR5cGU9PSJrZXlwcmVzcyI/dGhpcy5rZXlDb2RlOjApO3RoaXMuYWx0S2V5PW4uYWx0S2V5O3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5OPW4ucGFnZVg7dGhpcy5KPW4ucGFnZVl9fWNhdGNoKGIpe319cHJldmVudERlZmF1bHQoKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5yZXR1cm5WYWx1ZT0hMSx0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0JiZ0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0KCkpfXN0b3BQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJih0aGlzLmV2ZW50LmNhbmNlbEJ1YmJsZT0hMCx0aGlzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKSl9c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQuY2FuY2VsQnViYmxlPSEwLAp0aGlzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fTtnLllSPWcucWkueXRFdmVudHNFdmVudHNMaXN0ZW5lcnN8fHt9O2cuR2IoInl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzIixnLllSKTt2YXIgSEI9Zy5xaS55dEV2ZW50c0V2ZW50c0NvdW50ZXJ8fHtjb3VudDowfTtnLkdiKCJ5dEV2ZW50c0V2ZW50c0NvdW50ZXIiLEhCKTt2YXIgb1hoPWcud0QoZnVuY3Rpb24oKXt2YXIgbj0hMTt0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSksSk89Zy53RChmdW5jdGlvbigpe3ZhciBuPSExOwp0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJjYXB0dXJlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSk7dmFyIGZqO2ZqPXdpbmRvdztnLlI9ZmoueXRjc2kmJmZqLnl0Y3NpLm5vdz9mai55dGNzaS5ub3c6ZmoucGVyZm9ybWFuY2UmJmZqLnBlcmZvcm1hbmNlLnRpbWluZyYmZmoucGVyZm9ybWFuY2Uubm93JiZmai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0PygpPT5mai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K2ZqLnBlcmZvcm1hbmNlLm5vdygpOigpPT4obmV3IERhdGUpLmdldFRpbWUoKTtnLml4KG1ZLGcuRk0pO21ZLnByb3RvdHlwZS5EPWZ1bmN0aW9uKG4pe24uTj09PXZvaWQgMCYmcHkobik7dmFyIFc9bi5OO24uSj09PXZvaWQgMCYmcHkobik7dGhpcy5OPW5ldyBnLk1ZKFcsbi5KKX07Cm1ZLnByb3RvdHlwZS5FdT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk58fG5ldyBnLk1ZfTsKbVkucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtpZih0aGlzLk4pe3ZhciBuPSgwLGcuUikoKTtpZih0aGlzLlghPTApe3ZhciBXPXRoaXMuVixEPXRoaXMuTixiPVcueC1ELng7Vz1XLnktRC55O2I9TWF0aC5zcXJ0KGIqYitXKlcpLyhuLXRoaXMuWCk7dGhpcy5KW3RoaXMuV109TWF0aC5hYnMoKGItdGhpcy5qKS90aGlzLmopPi41PzE6MDtXPTA7Zm9yKEQ9MDtEPDQ7RCsrKVcrPXRoaXMuSltEXXx8MDtXPj0zJiZ0aGlzLksoKTt0aGlzLmo9Yn10aGlzLlg9bjt0aGlzLlY9dGhpcy5OO3RoaXMuVz0odGhpcy5XKzEpJTR9fTsKbVkucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7RHIodGhpcy5ZKTtnLlNfKHRoaXMuY0opfTtnLkpMPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuVz1bXTt0aGlzLks9bnx8dGhpc31OTihuLFcsRCxiLHYpe0Q9UFYoKDAsZy5LdCkoRCxifHx0aGlzLkspKTtEPXt0YXJnZXQ6bixuYW1lOlcsY2FsbGJhY2s6RH07dmFyIGs7diYmb1hoKCkmJihrPXtwYXNzaXZlOiEwfSk7bi5hZGRFdmVudExpc3RlbmVyKFcsRC5jYWxsYmFjayxrKTt0aGlzLlcucHVzaChEKTtyZXR1cm4gRH13SChuKXtmb3IobGV0IFc9MDtXPHRoaXMuVy5sZW5ndGg7VysrKWlmKHRoaXMuV1tXXT09bil7dGhpcy5XLnNwbGljZShXLDEpO24udGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIobi5uYW1lLG4uY2FsbGJhY2spO2JyZWFrfX1KKG4pe2Zvcig7dGhpcy5XLmxlbmd0aDspe2xldCBXPXRoaXMuVy5wb3AoKSxEO24mJm9YaCgpJiYoRD17cGFzc2l2ZTohMH0pO1cudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoVy5uYW1lLFcuY2FsbGJhY2ssRCl9fW1BKCl7dGhpcy5KKCk7CnN1cGVyLm1BKCl9fTt2YXIgd1laPVsiYXR0L2dldCJdLGRRWj1bImVtYmVkZGVkX3BsYXllciJdLGQkUz1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLHpudD1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0sbE9NPVsiZmVlZGJhY2siXSxUeXc9WyJub3RpZmljYXRpb24vbW9kaWZ5X2NoYW5uZWxfcHJlZmVyZW5jZSJdLHF5aj1bInBsYXllciJdLGpkeD1bImJyb3dzZS9lZGl0X3BsYXlsaXN0Il0sc3YyPVsicmVlbC9yZWVsX2l0ZW1fd2F0Y2giXSxONGg9WyJuYXZpZ2F0aW9uL3Jlc29sdmVfdXJsIl0sQ0diPVsiYWNjb3VudC9zZXRfc2V0dGluZyJdLEM4Yj1bInN1YnNjcmlwdGlvbi9zdWJzY3JpYmUiXSxCeWk9WyJzdWJzY3JpcHRpb24vdW5zdWJzY3JpYmUiXSwkMUM9WyJuZXh0IiwidW5wbHVnZ2VkL3dhdGNoX25leHQiXTt2YXIgT1A9e0JwOmcud0QoZnVuY3Rpb24oKXt0cnl7bGV0IFc9bmV3IFdTO3ZhciBuPVcuaXNBdmFpbGFibGUoKT9XOm51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9cmV0dXJuIG4/bmV3IFZLKG4pOm51bGx9KSwKcWI6Zy53RChmdW5jdGlvbigpe3ZhciBuPW5ldyBEUTtyZXR1cm4gbi5pc0F2YWlsYWJsZSgpP25ldyBWSyhuKTpudWxsfSl9O2cuSVY9d2luZG93Lnl0JiZ3aW5kb3cueXQubXNnc198fHdpbmRvdy55dGNmZyYmd2luZG93Lnl0Y2ZnLm1zZ3N8fHt9O2cuR2IoInl0Lm1zZ3NfIixnLklWKTt2YXIgV2I9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPXZvaWQgMDt0aGlzLk49ITE7bi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixXPT57Vy5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuSj1XfSk7Cm4uYWRkRXZlbnRMaXN0ZW5lcigiYXBwaW5zdGFsbGVkIiwoKT0+e3RoaXMuTj0hMH0se29uY2U6ITB9KX19O3ZhciBFUD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc0I9ITB9YWoobixXKXtuPXt9O3ZhciBEPVtdOyJVU0VSX1NFU1NJT05fSUQiaW4gSUUmJkQucHVzaCh7a2V5OiJ1Iix2YWx1ZTpnLkFyKCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKEQ9Qk8oRCkpbi5BdXRob3JpemF0aW9uPUQsRD1XPVc/LnNlc3Npb25JbmRleCxEPT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiU0VTU0lPTl9JTkRFWCIsMCkpLEQ9aXNOYU4oRCk/MDpEKSxnLmwoInZvaWNlX3NlYXJjaF9hdXRoX2hlYWRlcl9yZW1vdmFsIil8fChuWyJYLUdvb2ctQXV0aFVzZXIiXT1ELnRvU3RyaW5nKCkpLCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSJpbiBJRXx8KG5bIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksVz09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIElFJiYoblsiWC1Hb29nLVBhZ2VJZCJdPWcuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikpO3JldHVybiBufX07dmFyIHU5PXtpZGVudGl0eVR5cGU6IlVOQVVUSEVOVElDQVRFRF9JREVOVElUWV9UWVBFX1VOS05PV04ifTt2YXIgbE89Zy5ycigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iKXx8e307Zy5HYigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iLGxPKTsKdmFyIHgzYj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1nLkFyKCJBTFRfUFJFRl9DT09LSUVfTkFNRSIsIlBSRUYiKTt0aGlzLko9Zy5BcigiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIG49Zy5TZCh0aGlzLk4pO24mJnRoaXMucGFyc2Uobil9Z2V0KG4sVyl7ejEobik7ZEoobik7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGw/bjpXP1c6IiJ9c2V0KG4sVyl7ejEobik7ZEoobik7aWYoVz09bnVsbCl0aHJvdyBFcnJvcigiRXhwZWN0ZWROb3ROdWxsIik7bE9bbl09Vy50b1N0cmluZygpfVFRKG4pe3JldHVybiEhKChUMShgZiR7TWF0aC5mbG9vcihuLzMxKSsxfWApfHwwKSYxPDxuJTMxKX1yZW1vdmUobil7ejEobik7ZEoobik7ZGVsZXRlIGxPW25dfXNhdmUoKXtJSyh0aGlzLk4sdGhpcy5kdW1wKCksNjMwNzJFMyx0aGlzLkosITApfWNsZWFyKCl7Zy50SyhsTyl9ZHVtcCgpe3ZhciBuPVtdO2ZvcihsZXQgVyBpbiBsTylsTy5oYXNPd25Qcm9wZXJ0eShXKSYmCm4ucHVzaChgJHtXfT1gK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcobE9bV10pKSk7cmV0dXJuIG4uam9pbigiJiIpfXBhcnNlKG4pe249ZGVjb2RlVVJJQ29tcG9uZW50KG4pLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe3ZhciBXPW5bRF0uc3BsaXQoIj0iKTtsZXQgYj1XWzBdOyhXPVdbMV0pJiYobE9bYl09Vy50b1N0cmluZygpKX19fSx1Tzt2YXIgQ3k9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LHpxdz17Q09OTl9ERUZBVUxUOjAsQ09OTl9VTktOT1dOOjEsQ09OTl9OT05FOjIsQ09OTl9XSUZJOjMsQ09OTl9DRUxMVUxBUl8yRzo0LENPTk5fQ0VMTFVMQVJfM0c6NSxDT05OX0NFTExVTEFSXzRHOjYsQ09OTl9DRUxMVUxBUl9VTktOT1dOOjcsQ09OTl9ESVNDTzo4LENPTk5fQ0VMTFVMQVJfNUc6OSxDT05OX1dJRklfTUVURVJFRDoxMCxDT05OX0NFTExVTEFSXzVHX1NBOjExLApDT05OX0NFTExVTEFSXzVHX05TQToxMixDT05OX1dJUkVEOjMwLENPTk5fSU5WQUxJRDozMX0sbEJyPXtFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1VOS05PV046MCxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX09GRkxJTkU6MSxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1NMT1dfMkc6MixFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHOjMsRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRzo0LEVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfNEc6NX0sRms9eyJzbG93LTJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9TTE9XXzJHIiwiMmciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHIiwiM2ciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzNHIiwiNGciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzRHIn07Zy5ReD1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobik7dGhpcy5hcmdzPVsuLi5XXTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgRnVNPWNsYXNze0xTKG4sVyl7cmV0dXJuIGcuVngoMCxuLDEsVyl9fTtnLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UudGltZXJJZE1hcF8iKTt2YXIgV049Y2xhc3MgZXh0ZW5kcyBGdU17c08obil7aWYobj09PXZvaWQgMHx8IU51bWJlci5pc05hTihOdW1iZXIobikpKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIik7Vz9XKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9fXN0YXJ0KCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnN0YXJ0Iik7biYmbigpfXBhdXNlKCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnBhdXNlIik7biYmbigpfX0sdGE9Zy5EeSgpO3ZhciB0ST1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49KG49Zy52UyhuKSk/bmV3IFFLKG4pOm51bGw7dGhpcy5XPWRvY3VtZW50LmRvbWFpbnx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lfUooKXtyZXR1cm4hIXRoaXMuTn1zZXQobixXLEQsYil7RD1EfHwzMTEwNEUzO3RoaXMucmVtb3ZlKG4pO2lmKHRoaXMuSigpKXRyeXt0aGlzLk4uc2V0KG4sVyxEYXRlLm5vdygpK0QqMUUzKTtyZXR1cm59Y2F0Y2goayl7fXZhciB2PSIiO2lmKGIpdHJ5e3Y9ZXNjYXBlKChuZXcgbGUpLmJZKFcpKX1jYXRjaChrKXtyZXR1cm59ZWxzZSB2PWVzY2FwZShXKTtJSyhuLHYsRCx0aGlzLlcpfWdldChuLFcpe3ZhciBEPXZvaWQgMCxiPSF0aGlzLkooKTtpZighYil0cnl7RD10aGlzLk4uZ2V0KG4pfWNhdGNoKHYpe2I9ITB9aWYoYiYmKEQ9Zy5TZChuKSkmJihEPXVuZXNjYXBlKEQpLFcpKXRyeXtEPUpTT04ucGFyc2UoRCl9Y2F0Y2godil7dGhpcy5yZW1vdmUobiksRD12b2lkIDB9cmV0dXJuIER9cmVtb3ZlKG4pe3RoaXMuSigpJiYKdGhpcy5OLnJlbW92ZShuKTtBeShuLCIvIix0aGlzLlcpfX07dmFyIHZOPSgoKT0+e3ZhciBuO3JldHVybigpPT57bnx8KG49bmV3IHRJKCJ5dGlkYiIpKTtyZXR1cm4gbn19KSgpO3ZhciB4dT1bXSxoYz0hMTt2YXIgd1JNPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LE1HUz17QVVUSF9JTlZBTElEOiJFUlJPUiIsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6IldBUk5JTkciLEVYUExJQ0lUX0FCT1JUOiJJR05PUkVEIixJREJfTk9UX1NVUFBPUlRFRDoiRVJST1IiLE1JU1NJTkdfSU5ERVg6IldBUk5JTkciLE1JU1NJTkdfT0JKRUNUX1NUT1JFUzoiRVJST1IiLApEQl9ERUxFVEVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzoiV0FSTklORyIsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixRVU9UQV9FWENFRURFRDoiV0FSTklORyIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IldBUk5JTkciLFVOS05PV05fQUJPUlQ6IldBUk5JTkciLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiJXQVJOSU5HIn0sUm5pPXtBVVRIX0lOVkFMSUQ6ITEsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6ITEsRVhQTElDSVRfQUJPUlQ6ITEsSURCX05PVF9TVVBQT1JURUQ6ITEsTUlTU0lOR19JTkRFWDohMSxNSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLFFVT1RBX0VYQ0VFREVEOiExLFFVT1RBX01BWUJFX0VYQ0VFREVEOiEwLFVOS05PV05fQUJPUlQ6ITAsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046ITF9LApxTD1jbGFzcyBleHRlbmRzIGcuUXh7Y29uc3RydWN0b3IobixXPXt9LEQ9d1JNW25dLGI9TUdTW25dLHY9Um5pW25dKXtzdXBlcihELHtuYW1lOiJZdElkYktub3duRXJyb3IiLGlzU3c6c2VsZi5kb2N1bWVudD09PXZvaWQgMCxpc0lmcmFtZTpzZWxmIT09c2VsZi50b3AsdHlwZTpuLC4uLld9KTt0aGlzLnR5cGU9bjt0aGlzLm1lc3NhZ2U9RDt0aGlzLmxldmVsPWI7dGhpcy5OPXY7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMscUwucHJvdG90eXBlKX19LFFkUz1jbGFzcyBleHRlbmRzIHFMe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOlcsZm91bmRPYmplY3RTdG9yZXM6bn0sd1JNLk1JU1NJTkdfT0JKRUNUX1NUT1JFUyk7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUWRTLnByb3RvdHlwZSl9fSx0Yz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLmluZGV4PQpuO3RoaXMub2JqZWN0U3RvcmU9VztPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyx0Yy5wcm90b3R5cGUpfX0sTDBpPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBmRj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LHNSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuTj1bXTt0aGlzLko9W107bj1uLk47dmFyIFc9Yj0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6Yn07Zm9yKGxldCB2IG9mIHRoaXMuTil2KCl9fSxEPWI9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIsCnJlYXNvbjpifTtmb3IobGV0IHYgb2YgdGhpcy5KKXYoKX19Owp0cnl7bihXLEQpfWNhdGNoKGIpe0QoYil9fXN0YXRpYyBhbGwobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9Pnt2YXIgYj1bXSx2PW4ubGVuZ3RoO3Y9PT0wJiZXKGIpO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7KytrKXNSLnJlc29sdmUobltrXSkudGhlbihoPT57YltrXT1oO3YtLTt2PT09MCYmVyhiKX0pLmNhdGNoKGg9PntEKGgpfSl9KSl9c3RhdGljIHJlc29sdmUobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntuIGluc3RhbmNlb2Ygc1I/bi50aGVuKFcsRCk6VyhuKX0pKX1zdGF0aWMgcmVqZWN0KG4pe3JldHVybiBuZXcgc1IobmV3IGZGKChXLEQpPT57RChuKX0pKX10aGVuKG4sVyl7dmFyIEQ9bj8/Z1VyLGI9Vz8/ZXExOwpyZXR1cm4gbmV3IHNSKG5ldyBmRigodixrKT0+e3RoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciPyh0aGlzLk4ucHVzaCgoKT0+e3BGKHRoaXMsdGhpcyxELHYsayl9KSx0aGlzLkoucHVzaCgoKT0+e1l1KHRoaXMsdGhpcyxiLHYsayl9KSk6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iRlVMRklMTEVEIj9wRih0aGlzLHRoaXMsRCx2LGspOnRoaXMuc3RhdGUuc3RhdHVzPT09IlJFSkVDVEVEIiYmWXUodGhpcyx0aGlzLGIsdixrKX0pKX1jYXRjaChuKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxuKX19O3ZhciBxXzI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnJlcXVlc3Q9bjt0aGlzLmN1cnNvcj1XfX07dmFyIFlfcj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMub3B0aW9ucz1XO3RoaXMudHJhbnNhY3Rpb25Db3VudD0wO3RoaXMuVz1NYXRoLnJvdW5kKCgwLGcuUikoKSk7dGhpcy5KPSExfWFkZChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwLGNvbW1pdDpBYygpfSxiPT5iLm9iamVjdFN0b3JlKG4pLmFkZChXLEQpKX1jbGVhcihuKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWR3cml0ZSIsCkdROiEwfSxXPT5XLm9iamVjdFN0b3JlKG4pLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5OLmNsb3NlKCk7CnRoaXMub3B0aW9ucz8uY2xvc2VkJiZ0aGlzLm9wdGlvbnMuY2xvc2VkKCl9Y291bnQobixXKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IixHUTohMCxjb21taXQ6QWMoKX0sRD0+RC5vYmplY3RTdG9yZShuKS5jb3VudChXKSl9ZGVsZXRlKG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKSYmIShXIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmRlbGV0ZShXKSl9Z2V0KG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkb25seSIsCkdROiEwLGNvbW1pdDpBYygpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmdldChXKSl9Z2V0QWxsKG4sVyxEKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IiwKR1E6ITB9LGI9PmIub2JqZWN0U3RvcmUobikuZ2V0QWxsKFcsRCkpfXB1dChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKX0sYj0+Yi5vYmplY3RTdG9yZShuKS5wdXQoVyxEKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuTi5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfX0sUE49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59YWRkKG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5hZGQobixXKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLk4uYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBKYyh0aGlzLk4uY2xlYXIoKSkudGhlbigoKT0+e30pfWNvdW50KG4pe3JldHVybiBKYyh0aGlzLk4uY291bnQobikpfWRlbGV0ZShuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIElEQktleVJhbmdlP3RYVSh0aGlzLG4pOkpjKHRoaXMuTi5kZWxldGUobikpfWdldChuKXtyZXR1cm4gSmModGhpcy5OLmdldChuKSl9Z2V0QWxsKG4sVyl7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/SmModGhpcy5OLmdldEFsbChuLApXKSk6JDN4KHRoaXMsbixXKX1pbmRleChuKXt0cnl7cmV0dXJuIG5ldyBWR2godGhpcy5OLmluZGV4KG4pKX1jYXRjaChXKXtpZihXIGluc3RhbmNlb2YgRXJyb3ImJlcubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgdGMobix0aGlzLk4ubmFtZSk7CnRocm93IFc7fX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfWtleVBhdGgoKXtyZXR1cm4gdGhpcy5OLmtleVBhdGh9cHV0KG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5wdXQobixXKSl9fSxtWD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bmV3IE1hcDt0aGlzLmFib3J0ZWQ9ITE7dGhpcy5kb25lPW5ldyBQcm9taXNlKChXLEQpPT57dGhpcy5OLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e1coKX0pOwp0aGlzLk4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntiLmN1cnJlbnRUYXJnZXQ9PT1iLnRhcmdldCYmRCh0aGlzLk4uZXJyb3IpfSk7CnRoaXMuTi5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9Pnt2YXIgYj10aGlzLk4uZXJyb3I7aWYoYilEKGIpO2Vsc2UgaWYoIXRoaXMuYWJvcnRlZCl7Yj1xTDt2YXIgdj10aGlzLk4ub2JqZWN0U3RvcmVOYW1lcztsZXQgaz1bXTtmb3IobGV0IGg9MDtoPHYubGVuZ3RoO2grKyl7bGV0IHg9di5pdGVtKGgpO2lmKHg9PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IGl0ZW0gaW4gRE9NU3RyaW5nTGlzdCBpcyBudWxsIik7ay5wdXNoKHgpfWI9bmV3IGIoIlVOS05PV05fQUJPUlQiLHtvYmplY3RTdG9yZU5hbWVzOmsuam9pbigpLGRiTmFtZTp0aGlzLk4uZGIubmFtZSxtb2RlOnRoaXMuTi5tb2RlfSk7RChiKX19KX0pfWFib3J0KCl7dGhpcy5OLmFib3J0KCk7CnRoaXMuYWJvcnRlZD0hMDt0aHJvdyBuZXcgcUwoIkVYUExJQ0lUX0FCT1JUIik7fWNvbW1pdCgpe3RoaXMuYWJvcnRlZHx8dGhpcy5OLmNvbW1pdD8uKCl9b2JqZWN0U3RvcmUobil7bj10aGlzLk4ub2JqZWN0U3RvcmUobik7dmFyIFc9dGhpcy5KLmdldChuKTtXfHwoVz1uZXcgUE4obiksdGhpcy5KLnNldChuLFcpKTtyZXR1cm4gV319LFZHaD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1jb3VudChuKXtyZXR1cm4gSmModGhpcy5OLmNvdW50KG4pKX1kZWxldGUobil7cmV0dXJuIHpuKHRoaXMse3F1ZXJ5Om59LFc9PlcuZGVsZXRlKCkudGhlbigoKT0+b2coVykpKX1nZXQobil7cmV0dXJuIEpjKHRoaXMuTi5nZXQobikpfWdldEFsbChuLFcpe3JldHVybiJnZXRBbGwiaW4gSURCSW5kZXgucHJvdG90eXBlP0pjKHRoaXMuTi5nZXRBbGwobixXKSk6TlppKHRoaXMsbixXKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuTi5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLk4udW5pcXVlfX0sCnA5eD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMucmVxdWVzdD1uOwp0aGlzLmN1cnNvcj1XfWRlbGV0ZSgpe3JldHVybiBKYyh0aGlzLmN1cnNvci5kZWxldGUoKSkudGhlbigoKT0+e30pfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuY3Vyc29yLnZhbHVlfXVwZGF0ZShuKXtyZXR1cm4gSmModGhpcy5jdXJzb3IudXBkYXRlKG4pKX19O3ZhciBjTTE9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLm5hbWU9bjt0aGlzLm9wdGlvbnM9Vzt0aGlzLlc9ITA7dGhpcy5qPXRoaXMuWD0wfUoobixXLEQ9e30pe3JldHVybiBsUShuLFcsRCl9ZGVsZXRlKG49e30pe3JldHVybiBUbih0aGlzLm5hbWUsbil9b3Blbigpe2lmKCF0aGlzLlcpdGhyb3cgakYodGhpcyk7aWYodGhpcy5OKXJldHVybiB0aGlzLk47dmFyIG4sVz0oKT0+e3RoaXMuTj09PW4mJih0aGlzLk49dm9pZCAwKX0sRD17YmxvY2tpbmc6dj0+e3YuY2xvc2UoKX0sCmNsb3NlZDpXLEJ6OlcsdXBncmFkZTp0aGlzLm9wdGlvbnMudXBncmFkZX0sYj1hc3luYygpPT57dmFyIHY9RXJyb3IoKS5zdGFjaz8/IiI7dHJ5e2xldCB4PWF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdGhpcy5vcHRpb25zLnZlcnNpb24sRCk7dmFyIGs9eCxoPXRoaXMub3B0aW9ucztsZXQgTD1bXTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoaC5LYykpe2xldCB7dng6RyxtUjpyPU51bWJlci5NQVhfVkFMVUV9PWguS2NbZV07IShrLk4udmVyc2lvbj49Ryl8fGsuTi52ZXJzaW9uPj1yfHxrLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhlKXx8TC5wdXNoKGUpfWlmKEwubGVuZ3RoIT09MCl7bGV0IGU9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLktjKSxHPXgub2JqZWN0U3RvcmVOYW1lcygpO2lmKHRoaXMuajx2MCgieXRpZGJfcmVvcGVuX2RiX3JldHJpZXMiLDApKXJldHVybiB0aGlzLmorKyx4LmNsb3NlKCksTEYobmV3IHFMKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLAp7ZGJOYW1lOnRoaXMubmFtZSxleHBlY3RlZE9iamVjdFN0b3JlczplLGZvdW5kT2JqZWN0U3RvcmVzOkd9KSksYigpO2lmKHRoaXMuWDx2MCgieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiLDEpKXJldHVybiB0aGlzLlgrKyxhd2FpdCB0aGlzLmRlbGV0ZSgpLExGKG5ldyBxTCgiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOmUsZm91bmRPYmplY3RTdG9yZXM6R30pKSxiKCk7dGhyb3cgbmV3IFFkUyhHLGUpO31yZXR1cm4geH1jYXRjaCh4KXtpZih4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP3gubmFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZ4IGluc3RhbmNlb2YgRE9NRXJyb3I/eC5uYW1lPT09IlZlcnNpb25FcnJvciI6eCBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4geCYmeC5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe3Y9CmF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdm9pZCAwLHsuLi5ELHVwZ3JhZGU6dm9pZCAwfSk7az12Lk4udmVyc2lvbjtpZih0aGlzLm9wdGlvbnMudmVyc2lvbiE9PXZvaWQgMCYmaz50aGlzLm9wdGlvbnMudmVyc2lvbisxKXRocm93IHYuY2xvc2UoKSx0aGlzLlc9ITEsakYodGhpcyxrKTtyZXR1cm4gdn1XKCk7eCBpbnN0YW5jZW9mIEVycm9yJiYhZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIikmJih4LnN0YWNrPWAke3guc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKTt0aHJvdyAkdSh4LHRoaXMubmFtZSwiIix0aGlzLm9wdGlvbnMudmVyc2lvbj8/LTEpO319OwpyZXR1cm4gdGhpcy5OPW49YigpfX07dmFyIEJOPW5ldyBjTTEoIll0SWRiTWV0YSIse0tjOntkYXRhYmFzZXM6e3Z4OjF9fSx1cGdyYWRlKG4sVyl7VygxKSYmWnkobiwiZGF0YWJhc2VzIix7a2V5UGF0aDoiYWN0dWFsTmFtZSJ9KX19KTt2YXIgVmMsUWM9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0obmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0pO25ldyBnLktWO3ZhciBPNXQ9Y2xhc3MgZXh0ZW5kcyBjTTF7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLFcpO3RoaXMub3B0aW9ucz1XO2cwKG4pfUoobixXLEQ9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP0FfcjpTX1opKG4sVyx7Li4uRH0pfWRlbGV0ZShuPXt9KXtyZXR1cm4odGhpcy5vcHRpb25zLnNoYXJlZD92ejptM3cpKHRoaXMubmFtZSxuKX19O3ZhciBaNUM9a08oInl0R2NmQ29uZmlnIix7S2M6e2NvbGRDb25maWdTdG9yZTp7dng6MX0saG90Q29uZmlnU3RvcmU6e3Z4OjF9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcpe1coMSkmJihFUihaeShuLCJob3RDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJob3RUaW1lc3RhbXBJbmRleCIsInRpbWVzdGFtcCIpLEVSKFp5KG4sImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBhTzE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9W107dGhpcy5OPVtdO3ZhciBuPWcucnIoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIik7bj8odGhpcy5KPVsuLi5uXSx0aGlzLk49bik6KHRoaXMuTj1bXSxnLkdiKCJ5dC5nY2YuY29uZmlnLmhvdFVwZGF0ZUNhbGxiYWNrcyIsdGhpcy5OKSl9bUEoKXtmb3IobGV0IFcgb2YgdGhpcy5KKXt2YXIgbj10aGlzLk47bGV0IEQ9bi5pbmRleE9mKFcpO0Q+PTAmJm4uc3BsaWNlKEQsMSl9dGhpcy5KLmxlbmd0aD0wO3N1cGVyLm1BKCl9fTtnLlgzPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5WPSExO3RoaXMuaj10aGlzLlg9MDt0aGlzLks9bmV3IGFPMX1MWCgpe3JldHVybiAkTygpPz9nLkFyKCJSQVdfSE9UX0NPTkZJR19HUk9VUCIpfVcobil7dGhpcy5ob3RIYXNoRGF0YT1uO2cuR2IoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiLHRoaXMuaG90SGFzaERhdGF8fG51bGwpfX07dmFyIG5naD10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6bnVsbCxRZD1uZ2g/bj0+bmdoLmVuY29kZShuKTpuPT57bj1MMChuKTsKdmFyIFc9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKVdbRF09bltEXTtyZXR1cm4gV307dmFyIGhlPXtuZXh0OiJ3bl9zIixicm93c2U6ImJyX3MiLHNlYXJjaDoic3JfcyIscmVlbDoicl93cnMiLHBsYXllcjoicHNfcyJ9LFVITT17bmV4dDoid25fciIsYnJvd3NlOiJicl9yIixzZWFyY2g6InNyX3IiLHJlZWw6InJfd3JyIixwbGF5ZXI6InBzX3IifTtvNy5wcm90b3R5cGUuYlk9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtkMy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b3BpY307dmFyIFdIUz1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKXx8bmV3IEJLO0JLLnByb3RvdHlwZS5zdWJzY3JpYmU9QksucHJvdG90eXBlLnN1YnNjcmliZTtCSy5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1CSy5wcm90b3R5cGUuaks7QksucHJvdG90eXBlLnB1Ymxpc2g9QksucHJvdG90eXBlLldKO0JLLnByb3RvdHlwZS5jbGVhcj1CSy5wcm90b3R5cGUuY2xlYXI7Zy5HYigieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixXSFMpO3ZhciBqOT1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Zy5HYigieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixqOSk7dmFyIEJ6PWcucnIoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtnLkdiKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLEJ6KTt2YXIgQ1A9Zy5ycigieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307CmcuR2IoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixDUCk7Zy5HYigieXRQdWJzdWIyUHVic3ViMlNraXBTdWJLZXkiLG51bGwpO3ZhciBNQj12MCgibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KSxSNz12MCgibWluX2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNTAwKSx3OWo9MDt2YXIgRHoxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuV3Y9dGhpcy5OPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuSj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9Owp0aGlzLkYyPSgpPT57fTsKdGhpcy5ub3c9RGF0ZS5ub3c7dGhpcy5OaD0hMTt0aGlzLnV4PW4udXg/PzEwMDt0aGlzLkExPW4uQTE/PzE7dGhpcy5HeT1uLkd5Pz8yNTkyRTY7dGhpcy5aND1uLlo0Pz8xMkU0O3RoaXMuSVA9bi5JUD8/NUUzO3RoaXMuWVc9bi5ZVz8/dm9pZCAwO3RoaXMuQ3I9ISFuLkNyO3RoaXMuS3I9bi5Lcj8/LjE7dGhpcy5IRj1uLkhGPz8xMDtuLmhhbmRsZUVycm9yJiYodGhpcy5oYW5kbGVFcnJvcj1uLmhhbmRsZUVycm9yKTtuLkYyJiYodGhpcy5GMj1uLkYyKTtuLk5oJiYodGhpcy5OaD1uLk5oKTtuLld2JiYodGhpcy5Xdj1uLld2KTt0aGlzLkVxPW4uRXE7dGhpcy5BJD1uLkEkO3RoaXMuZ0U9bi5nRTt0aGlzLnlHPW4ueUc7dGhpcy5MbT1uLkxtO3RoaXMudVo9bi51Wjt0aGlzLk5BPW4uTkE7Y3oodGhpcykmJighdGhpcy5FcXx8dGhpcy5FcSgibmV0d29ya2xlc3NfbG9nZ2luZyIpKSYmbm0odGhpcyl9d3JpdGVUaGVuU2VuZChuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPQp7dXJsOm4sb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH07dGhpcy5nRS5zZXQoRCx0aGlzLllXKS50aGVuKGI9PntELmlkPWI7dGhpcy55Ry5XRygpJiZENSh0aGlzLEQpfSkuY2F0Y2goYj0+e0Q1KHRoaXMsRCk7CmJNKHRoaXMsYil9KX1lbHNlIHRoaXMuTG0obixXKX1zZW5kVGhlbldyaXRlKG4sVz17fSxEKXtpZihjeih0aGlzKSYmdGhpcy5OKXtsZXQgYj17dXJsOm4sCm9wdGlvbnM6Vyx0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9O3RoaXMuRXEmJnRoaXMuRXEoIm53bF9za2lwX3JldHJ5IikmJihiLnNraXBSZXRyeT1EKTtpZih0aGlzLnlHLldHKCl8fHRoaXMuRXEmJnRoaXMuRXEoIm53bF9hZ2dyZXNzaXZlX3NlbmRfdGhlbl93cml0ZSIpJiYhYi5za2lwUmV0cnkpe2lmKCFiLnNraXBSZXRyeSl7bGV0IHY9Vy5vbkVycm9yP1cub25FcnJvcjooKT0+e307Clcub25FcnJvcj1hc3luYyhrLGgpPT57YXdhaXQgdGhpcy5nRS5zZXQoYix0aGlzLllXKS5jYXRjaCh4PT57Yk0odGhpcyx4KX0pOwp2KGssaCl9fXRoaXMuTG0obixXLGIuc2tpcFJldHJ5KX1lbHNlIHRoaXMuZ0Uuc2V0KGIsdGhpcy5ZVykuY2F0Y2godj0+e3RoaXMuTG0obixXLGIuc2tpcFJldHJ5KTsKYk0odGhpcyx2KX0pfWVsc2UgRD10aGlzLkVxJiZ0aGlzLkVxKCJud2xfc2tpcF9yZXRyeSIpJiZELHRoaXMuTG0obixXLEQpfXNlbmRBbmRXcml0ZShuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPXt1cmw6biwKb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH0sYj0hMSx2PVcub25TdWNjZXNzP1cub25TdWNjZXNzOigpPT57fTsKRC5vcHRpb25zLm9uU3VjY2Vzcz0oayxoKT0+e0QuaWQhPT12b2lkIDA/dGhpcy5nRS5UTShELmlkLHRoaXMuWVcpOmI9ITA7dGhpcy55Ry5sYyYmdGhpcy5FcSYmdGhpcy5FcSgidnNzX25ldHdvcmtfaGludCIpJiZ0aGlzLnlHLmxjKCEwKTt2KGssaCl9Owp0aGlzLkxtKEQudXJsLEQub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuZ0Uuc2V0KEQsdGhpcy5ZVykudGhlbihrPT57RC5pZD1rO2ImJnRoaXMuZ0UuVE0oRC5pZCx0aGlzLllXKX0pLmNhdGNoKGs9PntiTSh0aGlzLGspfSl9ZWxzZSB0aGlzLkxtKG4sVyx2b2lkIDAsITApfVcoKXtpZighY3oodGhpcykpdGhyb3cgRXJyb3IoIkluZGV4ZWREQiBpcyBub3Qgc3VwcG9ydGVkOiB0aHJvdHRsZVNlbmQiKTsKdGhpcy5KfHwodGhpcy5KPXRoaXMuQSQuTFMoYXN5bmMoKT0+e3ZhciBuPWF3YWl0IHRoaXMuZ0UuaTQoIk5FVyIsdGhpcy5ZVyk7bj8oYXdhaXQgRDUodGhpcyxuKSx0aGlzLkomJih0aGlzLko9MCx0aGlzLlcoKSkpOnRoaXMuWCgpfSx0aGlzLnV4KSl9WCgpe3RoaXMuQSQuc08odGhpcy5KKTsKdGhpcy5KPTB9fTt2YXIgdlU7dmFyIHk0PXthY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRJbjoyMyxhY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRPdXQ6MjQsZGVsYXllZEV2ZW50TWV0cmljQ2FwdHVyZWQ6MTEsbGF0ZW5jeUFjdGlvbkJhc2VsaW5lZDo2LGxhdGVuY3lBY3Rpb25JbmZvOjcsbGF0ZW5jeUFjdGlvblRpY2tlZDo1LG9mZmxpbmVUcmFuc2ZlclN0YXR1c0NoYW5nZWQ6MixvZmZsaW5lSW1hZ2VEb3dubG9hZDozMzUscGxheWJhY2tTdGFydFN0YXRlQ2hhbmdlZDo5LHN5c3RlbUhlYWx0aENhcHR1cmVkOjMsbWFuZ29PbmJvYXJkaW5nQ29tcGxldGVkOjEwLG1hbmdvUHVzaE5vdGlmaWNhdGlvblJlY2VpdmVkOjIzMCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uRXJyb3I6MTIxLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdW1tYXJ5OjEyMixtYW5nb1VuZm9ya0RiTWlncmF0aW9uUHJldW5mb3JrRGJWZXJzaW9uTnVtYmVyOjEzMyxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVNZXRhZGF0YToxMzQsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblBob25lU3RvcmFnZToxMzUsCm1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdGVwOjE0MixtYW5nb0FzeW5jQXBpTWlncmF0aW9uRXZlbnQ6MjIzLG1hbmdvRG93bmxvYWRWaWRlb1Jlc3VsdDoyMjQsbWFuZ29Ib21lcGFnZVZpZGVvQ291bnQ6Mjc5LG1hbmdvSG9tZVYzU3RhdGU6Mjk1LG1hbmdvSW1hZ2VDbGllbnRDYWNoZUhpdEV2ZW50OjI3MyxzZENhcmRTdGF0dXNDaGFuZ2VkOjk4LGZyYW1lc0Ryb3BwZWQ6MTIsdGh1bWJuYWlsSG92ZXJlZDoxMyxkZXZpY2VSZXRlbnRpb25JbmZvQ2FwdHVyZWQ6MTQsdGh1bWJuYWlsTG9hZGVkOjE1LGJhY2tUb0FwcEV2ZW50OjMxOCxzdHJlYW1pbmdTdGF0c0NhcHR1cmVkOjE3LG9mZmxpbmVWaWRlb1NoYXJlZDoxOSxhcHBDcmFzaGVkOjIwLHlvdVRoZXJlOjIxLG9mZmxpbmVTdGF0ZVNuYXBzaG90OjIyLG1keFNlc3Npb25TdGFydGVkOjI1LG1keFNlc3Npb25Db25uZWN0ZWQ6MjYsbWR4U2Vzc2lvbkRpc2Nvbm5lY3RlZDoyNyxiZWRyb2NrUmVzb3VyY2VDb25zdW1wdGlvblNuYXBzaG90OjI4LApuZXh0R2VuV2F0Y2hXYXRjaFN3aXBlZDoyOSxraWRzQWNjb3VudHNTbmFwc2hvdDozMCx6ZXJvU3RlcENoYW5uZWxDcmVhdGVkOjMxLHR2aHRtbDVTZWFyY2hDb21wbGV0ZWQ6MzIsb2ZmbGluZVNoYXJlUGFpcmluZzozNCxvZmZsaW5lU2hhcmVVbmxvY2s6MzUsbWR4Um91dGVEaXN0cmlidXRpb25TbmFwc2hvdDozNixiZWRyb2NrUmVwZXRpdGl2ZUFjdGlvblRpbWVkOjM3LHVucGx1Z2dlZERlZ3JhZGF0aW9uSW5mbzoyMjksdXBsb2FkTXA0SGVhZGVyTW92ZWQ6MzgsdXBsb2FkVmlkZW9UcmFuc2NvZGVkOjM5LHVwbG9hZFByb2Nlc3NvclN0YXJ0ZWQ6NDYsdXBsb2FkUHJvY2Vzc29yRW5kZWQ6NDcsdXBsb2FkUHJvY2Vzc29yUmVhZHk6OTQsdXBsb2FkUHJvY2Vzc29yUmVxdWlyZW1lbnRQZW5kaW5nOjk1LHVwbG9hZFByb2Nlc3NvckludGVycnVwdGVkOjk2LHVwbG9hZEZyb250ZW5kRXZlbnQ6MjQxLGFzc2V0UGFja0Rvd25sb2FkU3RhcnRlZDo0MSxhc3NldFBhY2tEb3dubG9hZGVkOjQyLAphc3NldFBhY2tBcHBsaWVkOjQzLGFzc2V0UGFja0RlbGV0ZWQ6NDQsYXBwSW5zdGFsbEF0dHJpYnV0aW9uRXZlbnQ6NDU5LHBsYXliYWNrU2Vzc2lvblN0b3BwZWQ6NDUsYWRCbG9ja2VyTWVzc2FnaW5nU2hvd246NDgsZGlzdHJpYnV0aW9uQ2hhbm5lbENhcHR1cmVkOjQ5LGRhdGFQbGFuQ3BpZFJlcXVlc3RlZDo1MSxkZXRhaWxlZE5ldHdvcmtUeXBlQ2FwdHVyZWQ6NTIsc2VuZFN0YXRlVXBkYXRlZDo1MyxyZWNlaXZlU3RhdGVVcGRhdGVkOjU0LHNlbmREZWJ1Z1N0YXRlVXBkYXRlZDo1NSxyZWNlaXZlRGVidWdTdGF0ZVVwZGF0ZWQ6NTYsa2lkc0Vycm9yZWQ6NTcsbWR4TXNuU2Vzc2lvblN0YXRzRmluaXNoZWQ6NTgsYXBwU2V0dGluZ3NDYXB0dXJlZDo1OSxtZHhXZWJTb2NrZXRTZXJ2ZXJIdHRwRXJyb3I6NjAsbWR4V2ViU29ja2V0U2VydmVyOjYxLHN0YXJ0dXBDcmFzaGVzRGV0ZWN0ZWQ6NjIsY29sZFN0YXJ0SW5mbzo0MzUsb2ZmbGluZVBsYXliYWNrU3RhcnRlZDo2MyxsaXZlQ2hhdE1lc3NhZ2VTZW50OjIyNSwKbGl2ZUNoYXRVc2VyUHJlc2VudDo0MzQsbGl2ZUNoYXRCZWluZ01vZGVyYXRlZDo0NTcsbGl2ZUNoYXRHaWZ0QnV0dG9uSW1wcmVzc2VkOjU1OCxsaXZlQ3JlYXRpb25DYW1lcmFVcGRhdGVkOjY0LGxpdmVDcmVhdGlvbkVuY29kaW5nQ2FwdHVyZWQ6NjUsbGl2ZUNyZWF0aW9uRXJyb3I6NjYsbGl2ZUNyZWF0aW9uSGVhbHRoVXBkYXRlZDo2NyxsaXZlQ3JlYXRpb25WaWRlb0VmZmVjdHNDYXB0dXJlZDo2OCxsaXZlQ3JlYXRpb25TdGFnZU9jY3VyZWQ6NzUsb2ZmbGluZVN5c3RlbUZhaWx1cmU6NTQ2LGxpdmVDcmVhdGlvbkJyb2FkY2FzdFNjaGVkdWxlZDoxMjMsbGl2ZUNyZWF0aW9uQXJjaGl2ZVJlcGxhY2VtZW50OjE0OSxsaXZlQ3JlYXRpb25Db3N0cmVhbWluZ0Nvbm5lY3Rpb246NDIxLGxpdmVDcmVhdGlvblBsYXlhYmxlc01ldHJpY3M6NTMzLGxpdmVDcmVhdGlvblN0cmVhbVdlYnJ0Y1N0YXRzOjI4OCxsaXZlQ3JlYXRpb25XZWJydGNFcnJvcjo1MjYsbWR4U2Vzc2lvblJlY292ZXJ5U3RhcnRlZDo2OSwKbWR4U2Vzc2lvblJlY292ZXJ5Q29tcGxldGVkOjcwLG1keFNlc3Npb25SZWNvdmVyeVN0b3BwZWQ6NzEsdmlzdWFsRWxlbWVudFNob3duOjcyLHZpc3VhbEVsZW1lbnRIaWRkZW46NzMsdmlzdWFsRWxlbWVudEdlc3R1cmVkOjc4LHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQ6MjA4LHNjcmVlbkNyZWF0ZWQ6MTU2LHBsYXliYWNrQXNzb2NpYXRlZDoyMDIsdmlzdWFsRWxlbWVudEF0dGFjaGVkOjIxNSxwbGF5YmFja0NvbnRleHRFdmVudDoyMTQsY2xvdWRDYXN0aW5nUGxheWJhY2tTdGFydGVkOjc0LHdlYlBsYXllckFwaUNhbGxlZDo3Nix0dmh0bWw1QWNjb3VudERpYWxvZ09wZW5lZDo3OSxmb3JlZ3JvdW5kSGVhcnRiZWF0OjgwLGZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkOjExMSxraWRzT2ZmbGluZVNuYXBzaG90OjgxLG1keEVuY3J5cHRpb25TZXNzaW9uU3RhdHNGaW5pc2hlZDo4MixwbGF5ZXJSZXF1ZXN0Q29tcGxldGVkOjgzLGxpdGVTY2hlZHVsZXJTdGF0aXN0aWNzOjg0LAptZHhTaWduSW46ODUsc3BhY2VjYXN0TWV0YWRhdGFMb29rdXBSZXF1ZXN0ZWQ6ODYsc3BhY2VjYXN0QmF0Y2hMb29rdXBSZXF1ZXN0ZWQ6ODcsc3BhY2VjYXN0U3VtbWFyeVJlcXVlc3RlZDo4OCxzcGFjZWNhc3RQbGF5YmFjazo4OSxzcGFjZWNhc3REaXNjb3Zlcnk6OTAsdHZodG1sNUxhdW5jaFVybENvbXBvbmVudENoYW5nZWQ6OTEsbWR4QmFja2dyb3VuZFBsYXliYWNrUmVxdWVzdENvbXBsZXRlZDo5MixtZHhCcm9rZW5BZGRpdGlvbmFsRGF0YURldmljZURldGVjdGVkOjkzLHR2aHRtbDVMb2NhbFN0b3JhZ2U6OTcsdHZodG1sNURldmljZVN0b3JhZ2VTdGF0dXM6MTQ3LGF1dG9DYXB0aW9uc0F2YWlsYWJsZTo5OSxwbGF5YmFja1NjcnViYmluZ0V2ZW50OjMzOSxmbGV4eVN0YXRlOjEwMCxpbnRlcmZhY2VPcmllbnRhdGlvbkNhcHR1cmVkOjEwMSxtYWluQXBwQnJvd3NlRnJhZ21lbnRDYWNoZToxMDIsb2ZmbGluZUNhY2hlVmVyaWZpY2F0aW9uRmFpbHVyZToxMDMsb2ZmbGluZVBsYXliYWNrRXhjZXB0aW9uRGlnZXN0OjIxNywKdnJDb3ByZXNlbmNlU3RhdHM6MTA0LHZyQ29wcmVzZW5jZVN5bmNTdGF0czoxMzAsdnJDb3ByZXNlbmNlQ29tbXNTdGF0czoxMzcsdnJDb3ByZXNlbmNlUGFydHlTdGF0czoxNTMsdnJDb3ByZXNlbmNlRW1vamlTdGF0czoyMTMsdnJDb3ByZXNlbmNlRXZlbnQ6MTQxLHZyQ29wcmVzZW5jZUZsb3dUcmFuc2l0RXZlbnQ6MTYwLHZyQ293YXRjaFBhcnR5RXZlbnQ6NDkyLHZyQ293YXRjaFVzZXJTdGFydE9ySm9pbkV2ZW50OjUwNCx2clBsYXliYWNrRXZlbnQ6MzQ1LGtpZHNBZ2VHYXRlVHJhY2tpbmc6MTA1LG9mZmxpbmVEZWxheUFsbG93ZWRUcmFja2luZzoxMDYsbWFpbkFwcEF1dG9PZmZsaW5lU3RhdGU6MTA3LHZpZGVvQXNUaHVtYm5haWxEb3dubG9hZDoxMDgsdmlkZW9Bc1RodW1ibmFpbFBsYXliYWNrOjEwOSxsaXRlU2hvd01vcmU6MTEwLHJlbmRlcmluZ0Vycm9yOjExOCxraWRzUHJvZmlsZVBpbkdhdGVUcmFja2luZzoxMTksYWJyVHJhamVjdG9yeToxMjQsc2Nyb2xsRXZlbnQ6MTI1LApzdHJlYW16SW5jcmVtZW50ZWQ6MTI2LGtpZHNQcm9maWxlU3dpdGNoZXJUcmFja2luZzoxMjcsa2lkc1Byb2ZpbGVDcmVhdGlvblRyYWNraW5nOjEyOSxidXlGbG93U3RhcnRlZDoxMzYsaW50ZWdyYXRpb25BdHRyaWJ1dGlvbkV2ZW50OjU1NixtYnNDb25uZWN0aW9uSW5pdGlhdGVkOjEzOCxtYnNQbGF5YmFja0luaXRpYXRlZDoxMzksbWJzTG9hZENoaWxkcmVuOjE0MCxsaXRlUHJvZmlsZUZldGNoZXI6MTQ0LG1keFJlbW90ZVRyYW5zYWN0aW9uOjE0NixyZWVsUGxheWJhY2tFcnJvcjoxNDgscmVhY2hhYmlsaXR5RGV0ZWN0aW9uRXZlbnQ6MTUwLG1vYmlsZVBsYXliYWNrRXZlbnQ6MTUxLGNvdXJ0c2lkZVBsYXllclN0YXRlQ2hhbmdlZDoxNTIsbXVzaWNQZXJzaXN0ZW50Q2FjaGVDaGVja2VkOjE1NCxtdXNpY1BlcnNpc3RlbnRDYWNoZUNsZWFyZWQ6MTU1LHBsYXliYWNrSW50ZXJydXB0ZWQ6MTU3LHBsYXliYWNrSW50ZXJydXB0aW9uUmVzb2x2ZWQ6MTU4LGZpeEZvcEZsb3c6MTU5LAphbnJEZXRlY3Rpb246MTYxLGJhY2tzdGFnZVBvc3RDcmVhdGlvbkZsb3dFbmRlZDoxNjIsY2xpZW50RXJyb3I6MTYzLGdhbWluZ0FjY291bnRMaW5rU3RhdHVzQ2hhbmdlZDoxNjQsbGl0ZUhvdXNld2FybWluZzoxNjUsYnV5Rmxvd0V2ZW50OjE2NyxraWRzUGFyZW50YWxHYXRlVHJhY2tpbmc6MTY4LGtpZHNTaWduZWRPdXRTZXR0aW5nc1N0YXR1czo0Mzcsa2lkc1NpZ25lZE91dFBhdXNlSGlzdG9yeUZpeFN0YXR1czo0MzgsdHZodG1sNVdhdGNoZG9nVmlvbGF0aW9uOjQ0NCx5cGNVcGdyYWRlRmxvdzoxNjkseW9uZ2xlU3R1ZHk6MTcwLHlwY1VwZGF0ZUZsb3dTdGFydGVkOjE3MSx5cGNVcGRhdGVGbG93Q2FuY2VsbGVkOjE3Mix5cGNVcGRhdGVGbG93U3VjY2VlZGVkOjE3Myx5cGNVcGRhdGVGbG93RmFpbGVkOjE3NCxsaXRlR3Jvd3Roa2l0UHJvbW86MTc1LHBheW1lbnRGbG93U3RhcnRlZDozNDEsdHJhbnNhY3Rpb25GbG93U2hvd1BheW1lbnREaWFsb2c6NDA1LHRyYW5zYWN0aW9uRmxvd1N0YXJ0ZWQ6MTc2LAp0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdGFydGVkOjIyMix0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTaWduZWRPdXRTdGFydGVkOjM4Myx0cmFuc2FjdGlvbkZsb3dDYW5jZWxsZWQ6MTc3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRDYWxsQmFja1JlY2VpdmVkOjM4Nyx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VibWl0dGVkOjQ2MCx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VjY2VlZGVkOjMyOSx0cmFuc2FjdGlvbkZsb3dTdWNjZWVkZWQ6MTc4LHRyYW5zYWN0aW9uRmxvd0ZhaWxlZDoxNzksdHJhbnNhY3Rpb25GbG93UGxheUJpbGxpbmdDb25uZWN0aW9uU3RhcnRFdmVudDo0MjgsdHJhbnNhY3Rpb25GbG93U2Vjb25kYXJ5RGV2aWNlU3VjY2Vzczo0NTgsdHJhbnNhY3Rpb25GbG93RXJyb3JFdmVudDo0MTEsbGl0ZVZpZGVvUXVhbGl0eUNoYW5nZWQ6MTgwLHdhdGNoQnJlYWtFbmFibGVtZW50U2V0dGluZ0V2ZW50OjE4MSx3YXRjaEJyZWFrRnJlcXVlbmN5U2V0dGluZ0V2ZW50OjE4MiwKdmlkZW9FZmZlY3RzQ2FtZXJhUGVyZm9ybWFuY2VNZXRyaWNzOjE4MyxhZE5vdGlmeToxODQsc3RhcnR1cFRlbGVtZXRyeToxODUscGxheWJhY2tPZmZsaW5lRmFsbGJhY2tVc2VkOjE4NixvdXRPZk1lbW9yeToxODcseXBjUGF1c2VGbG93U3RhcnRlZDoxODgseXBjUGF1c2VGbG93Q2FuY2VsbGVkOjE4OSx5cGNQYXVzZUZsb3dTdWNjZWVkZWQ6MTkwLHlwY1BhdXNlRmxvd0ZhaWxlZDoxOTEsdXBsb2FkRmlsZVNlbGVjdGVkOjE5Mix5cGNSZXN1bWVGbG93U3RhcnRlZDoxOTMseXBjUmVzdW1lRmxvd0NhbmNlbGxlZDoxOTQseXBjUmVzdW1lRmxvd1N1Y2NlZWRlZDoxOTUseXBjUmVzdW1lRmxvd0ZhaWxlZDoxOTYsYWRzQ2xpZW50U3RhdGVDaGFuZ2U6MTk3LHlwY0NhbmNlbEZsb3dTdGFydGVkOjE5OCx5cGNDYW5jZWxGbG93Q2FuY2VsbGVkOjE5OSx5cGNDYW5jZWxGbG93U3VjY2VlZGVkOjIwMCx5cGNDYW5jZWxGbG93RmFpbGVkOjIwMSx5cGNDYW5jZWxGbG93R29Ub1BheW1lbnRQcm9jZXNzb3I6NDAyLAp5cGNEZWFjdGl2YXRlRmxvd1N0YXJ0ZWQ6MzIwLHlwY1JlZGVlbUZsb3dTdGFydGVkOjIwMyx5cGNSZWRlZW1GbG93Q2FuY2VsbGVkOjIwNCx5cGNSZWRlZW1GbG93U3VjY2VlZGVkOjIwNSx5cGNSZWRlZW1GbG93RmFpbGVkOjIwNix5cGNGYW1pbHlDcmVhdGVGbG93U3RhcnRlZDoyNTgseXBjRmFtaWx5Q3JlYXRlRmxvd0NhbmNlbGxlZDoyNTkseXBjRmFtaWx5Q3JlYXRlRmxvd1N1Y2NlZWRlZDoyNjAseXBjRmFtaWx5Q3JlYXRlRmxvd0ZhaWxlZDoyNjEseXBjRmFtaWx5TWFuYWdlRmxvd1N0YXJ0ZWQ6MjYyLHlwY0ZhbWlseU1hbmFnZUZsb3dDYW5jZWxsZWQ6MjYzLHlwY0ZhbWlseU1hbmFnZUZsb3dTdWNjZWVkZWQ6MjY0LHlwY0ZhbWlseU1hbmFnZUZsb3dGYWlsZWQ6MjY1LHJlc3RvcmVDb250ZXh0RXZlbnQ6MjA3LGVtYmVkc0FkRXZlbnQ6MzI3LGF1dG9wbGF5VHJpZ2dlcmVkOjIwOSxjbGllbnREYXRhRXJyb3JFdmVudDoyMTAsZXhwZXJpbWVudGFsVnNzVmFsaWRhdGlvbjoyMTEsCnR2aHRtbDVUcmlnZ2VyZWRFdmVudDoyMTIsdHZodG1sNUZyYW1ld29ya3NGaWVsZFRyaWFsUmVzdWx0OjIxNix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxTdGFydDoyMjAsbXVzaWNPZmZsaW5lUHJlZmVyZW5jZXM6MjE4LHdhdGNoVGltZVNlZ21lbnQ6MjE5LGFwcFdpZHRoTGF5b3V0RXJyb3I6MjIxLGFjY291bnRSZWdpc3RyeUNoYW5nZToyMjYsdXNlck1lbnRpb25BdXRvQ29tcGxldGVCb3hFdmVudDoyMjcsZG93bmxvYWRSZWNvbW1lbmRhdGlvbkVuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MjI4LG11c2ljUGxheWJhY2tDb250ZW50TW9kZUNoYW5nZUV2ZW50OjIzMSxvZmZsaW5lRGJPcGVuQ29tcGxldGVkOjIzMixraWRzRmxvd0V2ZW50OjIzMyxraWRzRmxvd0NvcnB1c1NlbGVjdGVkRXZlbnQ6MjM0LHZpZGVvRWZmZWN0c0V2ZW50OjIzNSx1bnBsdWdnZWRPcHNFb2dBbmFseXRpY3NFdmVudDoyMzYscGxheWJhY2tBdWRpb1JvdXRlRXZlbnQ6MjM3LGludGVyYWN0aW9uTG9nZ2luZ0RlYnVnTW9kZUVycm9yOjIzOCwKb2ZmbGluZVl0YlJlZnJlc2hlZDoyMzksa2lkc0Zsb3dFcnJvcjoyNDAsbXVzaWNBdXRvcGxheU9uTGF1bmNoQXR0ZW1wdGVkOjI0MixkZXZpY2VDb250ZXh0QWN0aXZpdHlFdmVudDoyNDMsZGV2aWNlQ29udGV4dEV2ZW50OjI0NCx0ZW1wbGF0ZVJlc29sdXRpb25FeGNlcHRpb246MjQ1LG11c2ljU2lkZWxvYWRlZFBsYXlsaXN0U2VydmljZUNhbGxlZDoyNDYsZW1iZWRzU3RvcmFnZUFjY2Vzc05vdENoZWNrZWQ6MjQ3LGVtYmVkc0hhc1N0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjQ4LGVtYmVkc0l0cFBsYXllZE9uUmVsb2FkOjI0OSxlbWJlZHNSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTAsZW1iZWRzU2hvdWxkUmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjUxLGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzU3RhdGU6MjU2LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzRmFpbGVkU3RhdGU6MjU3LGVtYmVkc0l0cFdhdGNoTGF0ZXJSZXN1bHQ6MjY2LHNlYXJjaFN1Z2dlc3REZWNvZGluZ1BheWxvYWRGYWlsdXJlOjI1MiwKc2lyaVNob3J0Y3V0QWN0aXZhdGVkOjI1Myx0dmh0bWw1S2V5Ym9hcmRQZXJmb3JtYW5jZToyNTQsbGF0ZW5jeUFjdGlvblNwYW46MjU1LGVsZW1lbnRzTG9nOjI2Nyx5dGJGaWxlT3BlbmVkOjI2OCx0ZmxpdGVNb2RlbEVycm9yOjI2OSxhcGlUZXN0OjI3MCx5b25nbGVVc2JTZXR1cDoyNzEsdG91U3RyaWtlSW50ZXJzdGl0aWFsRXZlbnQ6MjcyLGxpdGVTdHJlYW1Ub1NhdmU6Mjc0LGFwcEJ1bmRsZUNsaWVudEV2ZW50OjI3NSx5dGJGaWxlQ3JlYXRpb25GYWlsZWQ6Mjc2LGFkTm90aWZ5RmFpbHVyZToyNzgseXRiVHJhbnNmZXJGYWlsZWQ6MjgwLGJsb2NraW5nUmVxdWVzdEZhaWxlZDoyODEsbGl0ZUFjY291bnRTZWxlY3RvcjoyODIsbGl0ZUFjY291bnRVaUNhbGxiYWNrczoyODMsZHVtbXlQYXlsb2FkOjI4NCxicm93c2VSZXNwb25zZVZhbGlkYXRpb25FdmVudDoyODUsZW50aXRpZXNFcnJvcjoyODYsbXVzaWNJb3NCYWNrZ3JvdW5kRmV0Y2g6Mjg3LG1keE5vdGlmaWNhdGlvbkV2ZW50OjI4OSwKbGF5ZXJzVmFsaWRhdGlvbkVycm9yOjI5MCxtdXNpY1B3YUluc3RhbGxlZDoyOTEsbGl0ZUFjY291bnRDbGVhbnVwOjI5MixodG1sNVBsYXllckhlYWx0aEV2ZW50OjI5Myx3YXRjaFJlc3RvcmVBdHRlbXB0OjI5NCxsaXRlQWNjb3VudFNpZ25JbjoyOTYsbm90YWlyZUV2ZW50OjI5OCxraWRzVm9pY2VTZWFyY2hFdmVudDoyOTksYWROb3RpZnlGaWxsZWQ6MzAwLGRlbGF5ZWRFdmVudERyb3BwZWQ6MzAxLGFuYWx5dGljc1NlYXJjaEV2ZW50OjMwMixzeXN0ZW1EYXJrVGhlbWVPcHRPdXRFdmVudDozMDMsZmxvd0V2ZW50OjMwNCxuZXR3b3JrQ29ubmVjdGl2aXR5QmFzZWxpbmVFdmVudDozMDUseXRiRmlsZUltcG9ydGVkOjMwNixkb3dubG9hZFN0cmVhbVVybEV4cGlyZWQ6MzA3LGRpcmVjdFNpZ25JbkV2ZW50OjMwOCxseXJpY0ltcHJlc3Npb25FdmVudDozMDksYWNjZXNzaWJpbGl0eVN0YXRlRXZlbnQ6MzEwLHRva2VuUmVmcmVzaEV2ZW50OjMxMSxnZW5lcmljQXR0ZXN0YXRpb25FeGVjdXRpb246MzEyLAp0dmh0bWw1VmlkZW9TZWVrOjMxMyx1bnBsdWdnZWRBdXRvUGF1c2U6MzE0LHNjcnViYmluZ0V2ZW50OjMxNSxiZWR0aW1lUmVtaW5kZXJFdmVudDozMTcsdHZodG1sNVVuZXhwZWN0ZWRSZXN0YXJ0OjMxOSx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXRzOjUzNSx0dmh0bWw1U3RhYmlsaXR5VHJhY2VFdmVudDo0NzgsdHZodG1sNU9wZXJhdGlvbkhlYWx0aDo0NjcsdHZodG1sNVdhdGNoS2V5RXZlbnQ6MzIxLHZvaWNlTGFuZ3VhZ2VDaGFuZ2VkOjMyMix0dmh0bWw1TGl2ZUNoYXRTdGF0dXM6MzIzLHBhcmVudFRvb2xzQ29ycHVzU2VsZWN0ZWRFdmVudDozMjQsb2ZmZXJBZHNFbnJvbGxtZW50SW5pdGlhdGVkOjMyNSxuZXR3b3JrUXVhbGl0eUludGVydmFsRXZlbnQ6MzI2LGRldmljZVN0YXJ0dXBNZXRyaWNzOjMyOCxoZWFydGJlYXRBY3Rpb25QbGF5ZXJUcmFuc2l0aW9uZWQ6MzMwLHR2aHRtbDVMaWZlY3ljbGU6MzMxLGhlYXJ0YmVhdEFjdGlvblBsYXllckhhbHRlZDozMzIsYWRhcHRpdmVJbmxpbmVNdXRlZFNldHRpbmdFdmVudDozMzMsCm1haW5BcHBMaWJyYXJ5TG9hZGluZ1N0YXRlOjMzNCx0aGlyZFBhcnR5TG9nTW9uaXRvcmluZ0V2ZW50OjMzNixhcHBTaGVsbEFzc2V0TG9hZFJlcG9ydDozMzcsdHZodG1sNUFuZHJvaWRBdHRlc3RhdGlvbjozMzgsdHZodG1sNVN0YXJ0dXBTb3VuZEV2ZW50OjM0MCxpb3NCYWNrZ3JvdW5kUmVmcmVzaFRhc2s6MzQyLGlvc0JhY2tncm91bmRQcm9jZXNzaW5nVGFzazozNDMsc2xpRXZlbnRCYXRjaDozNDQscG9zdEltcHJlc3Npb25FdmVudDozNDYsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RFeHBvcnQ6MzQ3LGlkYlVuZXhwZWN0ZWRseUNsb3NlZDozNDgsdm9pY2VTZWFyY2hFdmVudDozNDksbWR4U2Vzc2lvbkNhc3RFdmVudDozNTAsaWRiUXVvdGFFeGNlZWRlZDozNTEsaWRiVHJhbnNhY3Rpb25FbmRlZDozNTIsaWRiVHJhbnNhY3Rpb25BYm9ydGVkOjM1Myx0dmh0bWw1S2V5Ym9hcmRMb2dnaW5nOjM1NCxpZGJJc1N1cHBvcnRlZENvbXBsZXRlZDozNTUsY3JlYXRvclN0dWRpb01vYmlsZUV2ZW50OjM1NiwKaWRiRGF0YUNvcnJ1cHRlZDozNTcscGFyZW50VG9vbHNBcHBDaG9zZW5FdmVudDozNTgsd2ViVmlld0JvdHRvbVNoZWV0UmVzaXplZDozNTksYWN0aXZlU3RhdGVDb250cm9sbGVyU2Nyb2xsUGVyZm9ybWFuY2VTdW1tYXJ5OjM2MCxuYXZpZ2F0b3JWYWxpZGF0aW9uOjM2MSxtZHhTZXNzaW9uSGVhcnRiZWF0OjM2MixjbGllbnRIaW50c1BvbHlmaWxsRGlhZ25vc3RpY3M6MzYzLGNsaWVudEhpbnRzUG9seWZpbGxFdmVudDozNjQscHJvb2ZPZk9yaWdpblRva2VuRXJyb3I6MzY1LGtpZHNBZGRlZEFjY291bnRTdW1tYXJ5OjM2NixtdXNpY1dlYXJhYmxlRGV2aWNlOjM2Nyx5cGNSZWZ1bmRGbG93RXZlbnQ6MzY4LHR2aHRtbDVQbGF5YmFja01lYXN1cmVtZW50RXZlbnQ6MzY5LHR2aHRtbDVXYXRlcm1hcmtNZWFzdXJlbWVudEV2ZW50OjM3MCxjbGllbnRFeHBHY2ZQcm9wYWdhdGlvbkV2ZW50OjM3MSxtYWluQXBwUmVmZXJyZXJJbnRlbnQ6MzcyLGxlYWRlckxvY2tFbmRlZDozNzMsbGVhZGVyTG9ja0FjcXVpcmVkOjM3NCwKZ29vZ2xlSGF0c0V2ZW50OjM3NSxwZXJzaXN0ZW50TGVuc0xhdW5jaEV2ZW50OjM3NixwYXJlbnRUb29sc0NoaWxkV2VsY29tZUNob3NlbkV2ZW50OjM3OCxicm93c2VUaHVtYm5haWxQcmVsb2FkRXZlbnQ6Mzc5LGZpbmFsUGF5bG9hZDozODAsbWR4RGlhbEFkZGl0aW9uYWxEYXRhVXBkYXRlRXZlbnQ6MzgxLHdlYk9yY2hlc3RyYXRpb25UYXNrTGlmZWN5Y2xlUmVjb3JkOjM4MixzdGFydHVwU2lnbmFsRXZlbnQ6Mzg0LGFjY291bnRFcnJvcjozODUsZ21zRGV2aWNlQ2hlY2tFdmVudDozODYsYWNjb3VudFNlbGVjdG9yRXZlbnQ6Mzg4LGFjY291bnRVaUNhbGxiYWNrczozODksbWR4RGlhbEFkZGl0aW9uYWxEYXRhUHJvYmVFdmVudDozOTAsZG93bmxvYWRzU2VhcmNoSWNpbmdBcGlTdGF0czozOTEsZG93bmxvYWRzU2VhcmNoSW5kZXhVcGRhdGVkRXZlbnQ6Mzk3LGRvd25sb2Fkc1NlYXJjaEluZGV4U25hcHNob3Q6Mzk4LGRhdGFQdXNoQ2xpZW50RXZlbnQ6MzkyLGtpZHNDYXRlZ29yeVNlbGVjdGVkRXZlbnQ6MzkzLAptZHhEZXZpY2VNYW5hZ2VtZW50U25hcHNob3RFdmVudDozOTQscHJlZmV0Y2hSZXF1ZXN0ZWQ6Mzk1LHByZWZldGNoYWJsZUNvbW1hbmRFeGVjdXRlZDozOTYsZ2VsRGVidWdnaW5nRXZlbnQ6Mzk5LHdlYkxpbmtUdHNQbGF5RW5kOjQwMCxjbGlwVmlld0ludmFsaWQ6NDAxLHBlcnNpc3RlbnRTdG9yYWdlU3RhdGVDaGVja2VkOjQwMyxjYWNoZVdpcGVvdXRFdmVudDo0MDQscGxheWVyRXZlbnQ6NDEwLHNmdkVmZmVjdFBpcGVsaW5lU3RhcnRlZEV2ZW50OjQxMixzZnZFZmZlY3RQaXBlbGluZVBhdXNlZEV2ZW50OjQyOSxzZnZFZmZlY3RQaXBlbGluZUVuZGVkRXZlbnQ6NDEzLHNmdkVmZmVjdENob3NlbkV2ZW50OjQxNCxzZnZFZmZlY3RMb2FkZWRFdmVudDo0MTUsc2Z2RWZmZWN0VXNlckludGVyYWN0aW9uRXZlbnQ6NDY1LHNmdkVmZmVjdEZpcnN0RnJhbWVQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE2LHNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE3LApzZnZFZmZlY3RBZ2dyZWdhdGVkRnJhbWVzRHJvcHBlZEV2ZW50OjQxOCxzZnZFZmZlY3RQaXBlbGluZUVycm9yRXZlbnQ6NDMwLHNmdkVmZmVjdEdyYXBoRnJvemVuRXZlbnQ6NDE5LHNmdkVmZmVjdEdsVGhyZWFkQmxvY2tlZEV2ZW50OjQyMCxtZGVRb3NFdmVudDo1MTAsbWRlVmlkZW9DaGFuZ2VkRXZlbnQ6NDQyLG1kZVBsYXllclBlcmZvcm1hbmNlTWV0cmljczo0NzIsbWRlRXhwb3J0ZXJFdmVudDo0OTcsZ2VuZXJpY0NsaWVudEV4cGVyaW1lbnRFdmVudDo0MjMsaG9tZVByZWxvYWRUYXNrU2NoZWR1bGVkOjQyNCxob21lUHJlbG9hZFRhc2tFeGVjdXRlZDo0MjUsaG9tZVByZWxvYWRDYWNoZUhpdDo0MjYscG9seW1lclByb3BlcnR5Q2hhbmdlZEluT2JzZXJ2ZXI6NDI3LGFwcGxpY2F0aW9uU3RhcnRlZDo0MzEsbmV0d29ya0Nyb25ldFJ0dEJhdGNoOjQzMixuZXR3b3JrQ3JvbmV0UnR0U3VtbWFyeTo0MzMscmVwZWF0Q2hhcHRlckxvb3BFdmVudDo0MzYsc2Vla0NhbmNlbGxhdGlvbkV2ZW50OjQ2MiwKbG9ja01vZGVUaW1lb3V0RXZlbnQ6NDgzLGV4dGVybmFsVmlkZW9TaGFyZVRvWW91dHViZUF0dGVtcHQ6NTAxLHBhcmVudENvZGVFdmVudDo1MDIsb2ZmbGluZVRyYW5zZmVyU3RhcnRlZDo0LG11c2ljT2ZmbGluZU1peHRhcGVQcmVmZXJlbmNlc0NoYW5nZWQ6MTYsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkF0dGVtcHQ6NDAsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkVycm9yOjc3LGR0d3NQbGF5YmFja1N0YXJ0ZWQ6MTEyLGR0d3NUaWxlRmV0Y2hTdGFydGVkOjExMyxkdHdzVGlsZUZldGNoQ29tcGxldGVkOjExNCxkdHdzVGlsZUZldGNoU3RhdHVzQ2hhbmdlZDoxNDUsZHR3c0tleWZyYW1lRGVjb2RlckJ1ZmZlclNlbnQ6MTE1LGR0d3NUaWxlVW5kZXJmbG93ZWRPbk5vbmtleWZyYW1lOjExNixkdHdzQmFja2ZpbGxGZXRjaFN0YXR1c0NoYW5nZWQ6MTQzLGR0d3NCYWNrZmlsbFVuZGVyZmxvd2VkOjExNyxkdHdzQWRhcHRpdmVMZXZlbENoYW5nZWQ6MTI4LApibG9ja2luZ1Zpc2l0b3JJZFRpbWVvdXQ6Mjc3LGxpdGVTb2NpYWw6MTgsbW9iaWxlSnNJbnZvY2F0aW9uOjI5NyxiaXNjb3R0aUJhc2VkRGV0ZWN0aW9uOjQzOSxjb1dhdGNoU3RhdGVDaGFuZ2U6NDQwLGVtYmVkc1ZpZGVvRGF0YURpZENoYW5nZTo0NDEsc2hvcnRzRmlyc3Q6NDQzLGNydWlzZUNvbnRyb2xFdmVudDo0NDUscW9lQ2xpZW50TG9nZ2luZ0NvbnRleHQ6NDQ2LGF0dlJlY29tbWVuZGF0aW9uSm9iRXhlY3V0ZWQ6NDQ3LHR2aHRtbDVVc2VyRmVlZGJhY2s6NDQ4LHByb2R1Y2VyUHJvamVjdENyZWF0ZWQ6NDQ5LHByb2R1Y2VyUHJvamVjdE9wZW5lZDo0NTAscHJvZHVjZXJQcm9qZWN0RGVsZXRlZDo0NTEscHJvZHVjZXJQcm9qZWN0RWxlbWVudEFkZGVkOjQ1Myxwcm9kdWNlclByb2plY3RFbGVtZW50UmVtb3ZlZDo0NTQscHJvZHVjZXJBcHBTdGF0ZUNoYW5nZTo1MDkscHJvZHVjZXJQcm9qZWN0RGlza0luc3VmZmljaWVudEV4cG9ydEZhaWx1cmU6NTE2LHByb2R1Y2VyTWVkaWFTZXJ2aWNlc1Jlc2V0RGV0YWlsczo1MjIsCnR2aHRtbDVTaG93Q2xvY2tFdmVudDo0NTUsZGV2aWNlQ2FwYWJpbGl0eUNoZWNrTWV0cmljczo0NTYseW91dHViZUNsZWFyY3V0RXZlbnQ6NDYxLG9mZmxpbmVCcm93c2VGYWxsYmFja0V2ZW50OjQ2MyxnZXRDdHZUb2tlbkV2ZW50OjQ2NCxzdGFydHVwRHJvcHBlZEZyYW1lc1N1bW1hcnk6NDY2LHNjcmVlbnNob3RFdmVudDo0NjgsbWluaUFwcFBsYXlFdmVudDo0NjksZWxlbWVudHNEZWJ1Z0NvdW50ZXJzOjQ3MCxmb250TG9hZEV2ZW50OjQ3MSx3ZWJLaWxsc3dpdGNoUmVjZWl2ZWQ6NDczLHdlYktpbGxzd2l0Y2hFeGVjdXRlZDo0NzQsY2FtZXJhT3BlbkV2ZW50OjQ3NSxtYW51YWxTbW9vdGhuZXNzTWVhc3VyZW1lbnQ6NDc2LHR2aHRtbDVBcHBRdWFsaXR5RXZlbnQ6NDc3LHBvbHltZXJQcm9wZXJ0eUFjY2Vzc0V2ZW50OjQ3OSxtaW5pQXBwU2RrVXNhZ2U6NDgwLGNvYmFsdFRlbGVtZXRyeUV2ZW50OjQ4MSxjcm9zc0RldmljZVBsYXliYWNrOjQ4MixjaGFubmVsQ3JlYXRlZFdpdGhPYmFrZUltYWdlOjQ4NCwKY2hhbm5lbEVkaXRlZFdpdGhPYmFrZUltYWdlOjQ4NSxvZmZsaW5lRGVsZXRlRXZlbnQ6NDg2LGNyb3NzRGV2aWNlTm90aWZpY2F0aW9uVHJhbnNmZXI6NDg3LGFuZHJvaWRJbnRlbnRFdmVudDo0ODgsdW5wbHVnZ2VkQW1iaWVudEludGVybHVkZXNDb3VudGVyZmFjdHVhbEV2ZW50OjQ4OSxrZXlQbGF5c1BsYXliYWNrOjQ5MCxzaG9ydHNDcmVhdGlvbkZhbGxiYWNrRXZlbnQ6NDkzLHZzc0RhdGE6NDkxLGNhc3RNYXRjaDo0OTQsbWluaUFwcFBlcmZvcm1hbmNlTWV0cmljczo0OTUsdXNlckZlZWRiYWNrRXZlbnQ6NDk2LGtpZHNHdWVzdFNlc3Npb25NaXNtYXRjaDo0OTgsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RNaWdyYXRpb25FdmVudDo0OTksc2xlZXBUaW1lclNlc3Npb25GaW5pc2hFdmVudDo1MDAsd2F0Y2hFcFByb21vQ29uZmxpY3Q6NTAzLGlubmVydHViZVJlc3BvbnNlQ2FjaGVNZXRyaWNzOjUwNSxtaW5pQXBwQWRFdmVudDo1MDYsZGF0YVBsYW5VcHNlbGxFdmVudDo1MDcsCnByb2R1Y2VyUHJvamVjdFJlbmFtZWQ6NTA4LHByb2R1Y2VyTWVkaWFTZWxlY3Rpb25FdmVudDo1MTEsZW1iZWRzQXV0b3BsYXlTdGF0dXNDaGFuZ2VkOjUxMixyZW1vdGVDb25uZWN0RXZlbnQ6NTEzLGNvbm5lY3RlZFNlc3Npb25NaXNhdHRyaWJ1dGlvbkV2ZW50OjUxNCxwcm9kdWNlclByb2plY3RFbGVtZW50TW9kaWZpZWQ6NTE1LGFkc1NlZW5DbGllbnRMb2dnaW5nOjUxNyxwcm9kdWNlckV2ZW50OjUxOCx0dmh0bWw1Q2xlYW5TdGFydDo1MTksZGV2aWNlQWNjb3VudE1ldHJpY3NFdmVudDo1MjAsZGVycExvZ0V2ZW50OjUyMSxwbGF5YWJsZXNQb3J0YWxFdmVudDo1MjMsaXBWYWxpZGF0aW9uU3RhcnRlZDo1MjQsaXBWYWxpZGF0aW9uUmVjZWl2ZWQ6NTI1LHJlZWxzU2VxdWVuY2VNdXRhdGlvbkV2ZW50OjUyNyx3YXRjaFpvb21TdGF0ZUNoYW5nZTo1MjgsbWV0YWRhdGFFZGl0b3JFdmVudDo1Mjksa2lkc1ByaXNtYURlZXBsaW5rc0V2ZW50OjUzMCxjcmVhdGlvbk9yY2hlc3RyYXRpb25FdmVudDo1MzEsCmNvb3JkaW5hdGVkU2FtcGxpbmdUcmlnZ2VyZWQ6NTMyLHJlY2FwU2NyZWVuc2hvdEV2ZW50OjUzNCxtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVxdWVzdEV2ZW50OjUzNixtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVzcG9uc2VFdmVudDo1Mzcsc2Vzc2lvblJlcGxheUV2ZW50OjUzOCxzZXNzaW9uUmVwbGF5U3RhdHVzRXZlbnQ6NTM5LGxvZ2dpbmdSZWxpYWJpbGl0eVByb2JlOjU0MCxrZXlWYWx1ZVN0b3JlU3RhdHNFdmVudDo1NDEsZGV2aWNlTG9jYXRpb25QZXJtaXNzaW9uRXZlbnQ6NTQyLHJlbW90ZUNvbnRyb2xTdGFydGVkOjU0MyxyZW1vdGVDb250cm9sQ29tcGxldGVkOjU0NCxyZWVsc0Fkc0V2ZW50czo1NDUseXRsckxvYWRlclRlc3RIYXJuZXNzRXZlbnQ6NTQ3LGJpb21ldHJpY0F1dGhlbnRpY2F0aW9uRXZlbnQ6NTQ4LG1haW5BcHBMaWZlY3ljbGVFdmVudDo1NDksbXVzaWNEb3dubG9hZEJhY2tncm91bmRDb250aW51ZWRQcm9jZXNzaW5nVGFzazo1NTAsbXVzaWNNZXRhZGF0YU1pc21hdGNoRXZlbnQ6NTUxLApzY3JvbGxUb0NvbXBvbmVudENvbXBsZXRlZDo1NTIsZW50aXR5U3RvcmVUZWxlbWV0cnk6NTUzLHN0cmVhbWluZ0RhcmtMYXVuY2hFdmVudDo1NTQsY2hpbGRBY2NvdW50c0Rpc3BsYXlFdmVudDo1NTUsdHZmYXNQbGF5YmFja0NvbnRleHQ6NTU3LG1kZUMyUGFFdmVudDo1NTl9O3ZhciBoX3g9a08oIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtLYzp7U1dIZWFsdGhMb2c6e3Z4OjF9fSxzaGFyZWQ6ITAsdXBncmFkZToobixXKT0+e1coMSkmJkVSKFp5KG4sIlNXSGVhbHRoTG9nIix7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KSwic3dIZWFsdGhOZXdSZXF1ZXN0IixbImludGVyZmFjZSIsInRpbWVzdGFtcCJdKX0sCnZlcnNpb246MX0pO3ZhciBYaT17fSxYSHc9MDt2YXIgR1Q7dmFyIHJvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXA7dGhpcy5KPSExfXJlcXVlc3RDb21wbGV0ZShuLFcpe1cmJih0aGlzLko9ITApO249dGhpcy5yZW1vdmVQYXJhbXMobik7dGhpcy5OLmdldChuKXx8dGhpcy5OLnNldChuLFcpfWlzRW5kcG9pbnRDRlIobil7bj10aGlzLnJlbW92ZVBhcmFtcyhuKTtyZXR1cm4obj10aGlzLk4uZ2V0KG4pKT8hMTpuPT09ITEmJnRoaXMuSj8hMDpudWxsfXJlbW92ZVBhcmFtcyhuKXtyZXR1cm4gbi5zcGxpdCgiPyIpWzBdfX07cm8ucHJvdG90eXBlLnJlbW92ZVBhcmFtcz1yby5wcm90b3R5cGUucmVtb3ZlUGFyYW1zO3JvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSPXJvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSO3JvLnByb3RvdHlwZS5yZXF1ZXN0Q29tcGxldGU9cm8ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZTtyby5nZXRJbnN0YW5jZT1zYzt2YXIgTmI9Y2xhc3MgZXh0ZW5kcyBnLm9Xe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9ITE7dGhpcy5OPXMydygpO3RoaXMuTi5TXygibmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57aWYodGhpcy5KJiZnLmwoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIG49JFEoKS5nZXQoImVycm9ycyIsITApO2lmKG4pe2ZvcihsZXQgVyBpbiBuKWlmKG5bV10pe2xldCBEPW5ldyBnLlF4KFcsInNlbnQgdmlhIG9mZmxpbmVfZXJyb3JzIik7RC5uYW1lPW5bV10ubmFtZTtELnN0YWNrPW5bV10uc3RhY2s7RC5sZXZlbD1uW1ddLmxldmVsO090KEQpfSRRKCkuc2V0KCJlcnJvcnMiLHt9LDI1OTJFMywhMCl9fX0pfVdHKCl7cmV0dXJuIHRoaXMuTi5XRygpfWxjKG4pe3RoaXMuTi5pc09ubGluZT1ufUxrKCl7dmFyIG49d2luZG93Lm5hdmlnYXRvci5vbkxpbmU7CnJldHVybiBuPT09dm9pZCAwPyEwOm59REgoKXt0aGlzLko9ITB9U18obixXKXtyZXR1cm4gdGhpcy5OLlNfKG4sVyl9aEoobil7cmV0dXJuIHJYKHRoaXMuTixuKX19O05iLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1OYi5wcm90b3R5cGUuaEo7TmIucHJvdG90eXBlLmxpc3Rlbj1OYi5wcm90b3R5cGUuU187TmIucHJvdG90eXBlLmVuYWJsZUVycm9yRmx1c2hpbmc9TmIucHJvdG90eXBlLkRIO05iLnByb3RvdHlwZS5nZXRXaW5kb3dTdGF0dXM9TmIucHJvdG90eXBlLkxrO05iLnByb3RvdHlwZS5uZXR3b3JrU3RhdHVzSGludD1OYi5wcm90b3R5cGUubGM7TmIucHJvdG90eXBlLmlzTmV0d29ya0F2YWlsYWJsZT1OYi5wcm90b3R5cGUuV0c7TmIuZ2V0SW5zdGFuY2U9cG07dmFyIGI2Wj1jbGFzcyBleHRlbmRzIGcub1d7Y29uc3RydWN0b3IoKXt2YXIgbj17dTI6ITAsRW86ITB9O3N1cGVyKCk7dGhpcy5OPXRoaXMuWD0wO3RoaXMuSj1wbSgpO3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy5KKTtXJiYobi5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PW4ucmF0ZUxpbWl0LFcoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e1lRKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9PntZUSh0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihXKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVdHKCl7dmFyIG49CmcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpOwpyZXR1cm4gbj9uLmJpbmQodGhpcy5KKSgpOiEwfWxjKG4pe3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLm5ldHdvcmtTdGF0dXNIaW50IikuYmluZCh0aGlzLkopO1cmJlcobil9YXN5bmMgaEoobil7dmFyIFc9Zy5ycigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2Uuc2VuZE5ldHdvcmtDaGVja1JlcXVlc3QiKS5iaW5kKHRoaXMuSik7cmV0dXJuIGcubCgic2tpcF9uZXR3b3JrX2NoZWNrX2lmX2NmciIpJiZzYygpLmlzRW5kcG9pbnRDRlIoImdlbmVyYXRlXzIwNCIpP25ldyBQcm9taXNlKEQ9Pnt0aGlzLmxjKHdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZXx8ITApO0QodGhpcy5XRygpKX0pOlc/VyhuKTohMH19O3ZhciBTYyxHemg9Y2xhc3MgZXh0ZW5kcyBEejF7Y29uc3RydWN0b3IoKXtTY3x8KFNjPW5ldyBiNlopO3N1cGVyKHtnRTp7dGk6dnZpLFRNOmJHQyxpNDpudjIsSzY6V19DLGhZOkRFeCxzZXQ6YUJTfSx5RzpTYyxoYW5kbGVFcnJvcjoobixXLEQpPT57dmFyIGI9RD8uZXJyb3I/LmNvZGU7Yj09PTQwMHx8Yj09PTQxNT8obj1uZXcgZy5ReChuLm1lc3NhZ2UsVyxEPy5lcnJvcj8uY29kZSksWkUobix2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOk90KG4pfSwKRjI6WkUsTG06JEV0LG5vdzpnLlIsaEw6cUt3LEEkOmcuRHkoKSx1WjoicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsTkE6InB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIixDcjohMCxLcjouMSxIRjp2MCgicG90ZW50aWFsX2VzZl9lcnJvcl9saW1pdCIsMTApLEVxOmcubCxOaDohKFI5KCkmJmcuSVAoZG9jdW1lbnQubG9jYXRpb24udG9TdHJpbmcoKSkhPT0id3d3LnlvdXR1YmUtbm9jb29raWUuY29tIil9KTt0aGlzLmo9bmV3IGcuS1Y7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiZremkoKTt2eigiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKG4sVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKG4sVyl9c2VuZFRoZW5Xcml0ZShuLFcsRCl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKG4sVyxEKX1zZW5kQW5kV3JpdGUobiwKVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kQW5kV3JpdGUobixXKX1hd2FpdEluaXRpYWxpemF0aW9uKCl7cmV0dXJuIHRoaXMuai5wcm9taXNlfX07dmFyIEpJPWcucWkueXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnN8fHtpc053bEluaXRpYWxpemVkOiExfTtnLkdiKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsSkkpO2cuZDQ9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5jb25maWdfPW51bGw7bj90aGlzLmNvbmZpZ189bjpJNygpJiYodGhpcy5jb25maWdfPWcuUzkoKSl9aXNSZWFkeSgpeyF0aGlzLmNvbmZpZ18mJkk3KCkmJih0aGlzLmNvbmZpZ189Zy5TOSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciB2Z3c9Zy5xaS55dFB1YnN1YlB1YnN1Ykluc3RhbmNlfHxuZXcgQkssQUk9Zy5xaS55dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzfHx7fSxLbT1nLnFpLnl0UHVic3ViUHVic3ViVG9waWNUb0tleXN8fHt9LG1nPWcucWkueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtCSy5wcm90b3R5cGUuc3Vic2NyaWJlPUJLLnByb3RvdHlwZS5zdWJzY3JpYmU7QksucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9QksucHJvdG90eXBlLmpLO0JLLnByb3RvdHlwZS5wdWJsaXNoPUJLLnByb3RvdHlwZS5XSjtCSy5wcm90b3R5cGUuY2xlYXI9QksucHJvdG90eXBlLmNsZWFyO2cuR2IoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLHZndyk7Zy5HYigieXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5cyIsS20pO2cuR2IoInl0UHVic3ViUHVic3ViSXNTeW5jaHJvbm91cyIsbWcpO2cuR2IoInl0UHVic3ViUHVic3ViU3Vic2NyaWJlZEtleXMiLEFJKTt2YXIgb0k9e307Zy5peChnLkZpLGcuRk0pO2cuRT1nLkZpLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPzA6dGhpcy5ZJC5zdWJzY3JpYmUobixXLEQpfTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPyExOnRoaXMuWSQudW5zdWJzY3JpYmUobixXLEQpfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5qSyhuKX07CmcuRS5XSj1mdW5jdGlvbihuLFcpe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5XSi5hcHBseSh0aGlzLlkkLGFyZ3VtZW50cyl9OwpnLkUuaCQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnN1YnNjcmliZShELG5bRF0sVyl9OwpnLkUuTTk9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnVuc3Vic2NyaWJlKEQsbltEXSxXKX07dmFyIHdvPURhdGUubm93KCkudG9TdHJpbmcoKTt2YXIgYnk9e307Zy5MWD1TeW1ib2woImluamVjdGlvbkRlcHMiKTt2YXIga289Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5rZXk9bn19O3ZhciBwSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9bmV3IE1hcDt0aGlzLlc9bmV3IE1hcDt0aGlzLk49bmV3IE1hcH1yZXNvbHZlKG4pe3JldHVybiBuIGluc3RhbmNlb2Yga28/Z0UodGhpcyxuLmtleSxbXSwhMCk6Z0UodGhpcyxuLFtdKX19O2cuQUw9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5uYW1lPW59dG9TdHJpbmcoKXtyZXR1cm5gSW5qZWN0aW9uVG9rZW4oJHt0aGlzLm5hbWV9KWB9fTt2YXIgWDQ7dmFyIEdwPXdpbmRvdzt2YXIgZlg9Zy5sKCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIikmJnRwKCkhPT0wLEhHdD1nLmwoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKTt2YXIgQXZqPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc2NoZWR1bGVyPWcuRHkoKTt0aGlzLko9bmV3IGcuS1Y7dGhpcy5OPW47Zm9yKGxldCBXPTA7Vzx0aGlzLk4ubGVuZ3RoO1crKyl7bGV0IEQ9dGhpcy5OW1ddO249KCk9PntELkphKCk7dGhpcy5OW1ddLk1KPSEwO3RoaXMuTi5ldmVyeSh2PT52Lk1KPT09ITApJiZ0aGlzLkoucmVzb2x2ZSgpfTsKbGV0IGI9Zy5WeCgwLG4sRC5wcmlvcml0eT8/MCk7dGhpcy5OW1ddPXsuLi5ELEphOm4sam9iSWQ6Yn19fWNhbmNlbCgpe2ZvcihsZXQgbiBvZiB0aGlzLk4pbi5qb2JJZD09PXZvaWQgMHx8bi5NSnx8dGhpcy5zY2hlZHVsZXIuc08obi5qb2JJZCksbi5NSj0hMDt0aGlzLkoucmVzb2x2ZSgpfX07dmFyIGt4aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RhdGU9Im5vbmUiO3RoaXMucGx1Z2lucz1bXTt0aGlzLko9dm9pZCAwO3RoaXMuWD17fTtmWCYmJG8odGhpcy5zdGF0ZSl9Z2V0IGN1cnJlbnRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlfWluc3RhbGwobil7dGhpcy5wbHVnaW5zLnB1c2gobik7cmV0dXJuIHRoaXN9dW5pbnN0YWxsKC4uLm4pe24uZm9yRWFjaChXPT57Vz10aGlzLnBsdWdpbnMuaW5kZXhPZihXKTtXPi0xJiZ0aGlzLnBsdWdpbnMuc3BsaWNlKFcsMSl9KX10cmFuc2l0aW9uKG4sVyl7ZlgmJnJFKHRoaXMuc3RhdGUpOwp2YXIgRD10aGlzLnRyYW5zaXRpb25zLmZpbmQoYj0+QXJyYXkuaXNBcnJheShiLmZyb20pP2IuZnJvbS5maW5kKHY9PnY9PT10aGlzLnN0YXRlJiZiLnRvPT09bik6Yi5mcm9tPT09dGhpcy5zdGF0ZSYmYi50bz09PW4pOwppZihEKXt0aGlzLlcmJihZS2oodGhpcy5XKSx0aGlzLlc9dm9pZCAwKTtmUjIodGhpcyxuLFcpO3RoaXMuc3RhdGU9bjtmWCYmJG8odGhpcy5zdGF0ZSk7RD1ELmFjdGlvbi5iaW5kKHRoaXMpO2xldCBiPXRoaXMucGx1Z2lucy5maWx0ZXIodj0+dltuXSkubWFwKHY9PnZbbl0pOwpEKFNLQyh0aGlzLGIpLFcpfWVsc2UgdGhyb3cgRXJyb3IoYG5vIHRyYW5zaXRpb24gc3BlY2lmaWVkIGZyb20gJHt0aGlzLnN0YXRlfSB0byAke259YCk7fX07dmFyIG1Fdz1jbGFzcyBleHRlbmRzIGt4aHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5OPW51bGw7dGhpcy5KPTEwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJub25lIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOnRoaXMuan0se2Zyb206ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLHRvOiJub25lIixhY3Rpb246dGhpcy5WfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLGFjdGlvbjooKT0+e319LAp7ZnJvbToibm9uZSIsdG86Im5vbmUiLGFjdGlvbjooKT0+e319XX1qKG4sVyl7dGhpcy5OPWcuY0IoMCwoKT0+e3RoaXMuY3VycmVudFN0YXRlPT09ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciJiZ0aGlzLnRyYW5zaXRpb24oIm5vbmUiKX0sNUUzKTsKbihXPy5ldmVudCl9VihuLFcpe3RoaXMuTiYmKHRhLnNPKHRoaXMuTiksdGhpcy5OPW51bGwpO24oVz8uZXZlbnQpfX0sSnA7dmFyIFV5PVtdO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRHZWxQYXlsb2FkcyIsZnVuY3Rpb24oKXtyZXR1cm4gVXl9KTt2YXIgbTM9dm9pZCAwLFNaPXZvaWQgMDt2YXIgb2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0b3JlPXt9O3RoaXMuTj17fX1zdG9yZVBheWxvYWQobixXKXtuPU85KG4pO3RoaXMuc3RvcmVbbl0/dGhpcy5zdG9yZVtuXS5wdXNoKFcpOih0aGlzLk49e30sdGhpcy5zdG9yZVtuXT1bV10pO2cubCgibW9yZV9hY2N1cmF0ZV9nZWxfcGFyc2VyIikmJihXPW5ldyBDdXN0b21FdmVudCgiVFJBTlNQT1JUSU5HX05FV19FVkVOVCIpLHdpbmRvdy5kaXNwYXRjaEV2ZW50KFcpKTtyZXR1cm4gbn1zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7aWYoIW4ua2V5cy5sZW5ndGgpcmV0dXJuW107dmFyIFc9WkEodGhpcyxuLmtleXMuc3BsaWNlKDAsMSlbMF0pLEQ9W107Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspdGhpcy5zdG9yZVtXW2JdXSYmbi5zaXplTGltaXQmJih0aGlzLnN0b3JlW1dbYl1dLmxlbmd0aDw9bi5zaXplTGltaXQ/KEQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dKSxkZWxldGUgdGhpcy5zdG9yZVtXW2JdXSk6CkQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dLnNwbGljZSgwLG4uc2l6ZUxpbWl0KSkpO24/LnNpemVMaW1pdCYmRC5sZW5ndGg8bj8uc2l6ZUxpbWl0JiYobi5zaXplTGltaXQtPUQubGVuZ3RoLEQucHVzaCguLi50aGlzLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhuKSkpO3JldHVybiBEfWV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7bj1aQSh0aGlzLG4pO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXRoaXMuc3RvcmVbbltEXV0mJihXLnB1c2goLi4udGhpcy5zdG9yZVtuW0RdXSksZGVsZXRlIHRoaXMuc3RvcmVbbltEXV0pO3JldHVybiBXfWdldFNlcXVlbmNlQ291bnQobil7bj1aQSh0aGlzLG4pO3ZhciBXPTA7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspVys9dGhpcy5zdG9yZVtuW0RdXT8ubGVuZ3RofHwwO3JldHVybiBXfX07b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ9b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ7Cm9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzPW9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzO29iLnByb3RvdHlwZS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXM9b2IucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcztvYi5wcm90b3R5cGUuc3RvcmVQYXlsb2FkPW9iLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ7dmFyIHpfdD1uZXcgZy5BTCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSIpO3ZhciBVRXc9djAoImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiLDJFMyksWkdaPXYwKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCkseXZTPXYwKCJnZWxfbWluX2JhdGNoX3NpemUiLDUpLEU5PXZvaWQgMCx5Uj1udWxsLG1zPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPXRoaXMuSj10aGlzLlc9MDt0aGlzLk49ITF9fSxUZ2k9bmV3IG1zLGxSQz1uZXcgbXMsdDY9bmV3IG1zLEdVPW5ldyBtcyxXcywkQT0hMCxQcz0xLGx5PW5ldyBNYXAsZXk9Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZXkpO3ZhciBMVT1nLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc18iLExVKTt2YXIgUmI9e30senA9ITE7dmFyIGlSPWcucWkueXRMb2dnaW5nR2VsU2VxdWVuY2VJZE9ial98fHt9O2cuR2IoInl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpfIixpUik7dmFyIG0xPVtdO3ZhciBWNCxLaj1nLnFpLnl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfO0tqfHwoS2o9Zy5SSSgxNiksZy5HYigieXRMb2dnaW5nRG9jRG9jdW1lbnROb25jZV8iLEtqKSk7VjQ9S2o7dmFyIEZfVT17Qnc6MCxGNjoxLFdROjIsTjM6MyxxdDo0LFlTOjUsUWM6NixMTTo3LEk2Ojgsc0M6OSxaTToxMCxiUzoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07dmFyIGp6Wj0xLGxSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufWdldEFzSnNvbigpe3ZhciBuPXt9O3RoaXMuTi50cmFja2luZ1BhcmFtcyE9PXZvaWQgMD9uLnRyYWNraW5nUGFyYW1zPXRoaXMuTi50cmFja2luZ1BhcmFtczoobi52ZVR5cGU9dGhpcy5OLnZlVHlwZSx0aGlzLk4udmVDb3VudGVyIT09dm9pZCAwJiYobi52ZUNvdW50ZXI9dGhpcy5OLnZlQ291bnRlciksdGhpcy5OLmVsZW1lbnRJbmRleCE9PXZvaWQgMCYmKG4uZWxlbWVudEluZGV4PXRoaXMuTi5lbGVtZW50SW5kZXgpKTt0aGlzLk4uZGF0YUVsZW1lbnQhPT12b2lkIDAmJihuLmRhdGFFbGVtZW50PXRoaXMuTi5kYXRhRWxlbWVudC5nZXRBc0pzb24oKSk7dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYobi55b3V0dWJlRGF0YT10aGlzLk4ueW91dHViZURhdGEpO3RoaXMuTi5pc0NvdW50ZXJmYWN0dWFsJiYobi5pc0NvdW50ZXJmYWN0dWFsPSEwKTtyZXR1cm4gbn1nZXRBc0pzcGIoKXt2YXIgbj1uZXcgcVlTOwp0aGlzLk4udHJhY2tpbmdQYXJhbXMhPT12b2lkIDA/bi5zZXRUcmFja2luZ1BhcmFtcyh0aGlzLk4udHJhY2tpbmdQYXJhbXMpOih0aGlzLk4udmVUeXBlIT09dm9pZCAwJiZveihuLDIsZy55UCh0aGlzLk4udmVUeXBlKSksdGhpcy5OLnZlQ291bnRlciE9PXZvaWQgMCYmb3oobiw2LGcueVAodGhpcy5OLnZlQ291bnRlcikpLHRoaXMuTi5lbGVtZW50SW5kZXghPT12b2lkIDAmJm96KG4sMyxnLnlQKHRoaXMuTi5lbGVtZW50SW5kZXgpKSx0aGlzLk4uaXNDb3VudGVyZmFjdHVhbCYmb3oobiw1LE9fKCEwKSkpO2lmKHRoaXMuTi5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIFc9dGhpcy5OLmRhdGFFbGVtZW50LmdldEFzSnNwYigpOyQ5KG4scVlTLDcsVyl9dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYkOShuLGU0dyw4LHRoaXMuTi5qc3BiWW91dHViZURhdGEpO3JldHVybiBufXRvU3RyaW5nKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0QXNKc29uKCkpfWlzQ2xpZW50VmUoKXtyZXR1cm4hdGhpcy5OLnRyYWNraW5nUGFyYW1zJiYKISF0aGlzLk4udmVUeXBlfWdldExvZ2dpbmdEaXJlY3RpdmVzKCl7cmV0dXJuIHRoaXMuTi5sb2dnaW5nRGlyZWN0aXZlc319O2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLmdldFJvb3RWZVR5cGUiLEZSKTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdXJyZW50Q3NuIixnLlJ2KTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdHRBdXRoSW5mbyIsUTQpO2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLGNzKTt2YXIgUl9NPSJhYnNvbHV0ZV9leHBlcmltZW50cyBhcHAgY29uZGl0aW9uYWxfZXhwZXJpbWVudHMgZGVidWdjc3MgZGVidWdqcyBleHBmbGFnIGZvcmNlZF9leHBlcmltZW50cyBwYmogcGJqcmVsb2FkIHNiYiBzcGYgc3BmcmVsb2FkIHNyX2Juc19hZGRyZXNzIHN0dGljayIuc3BsaXQoIiAiKTt2YXIgayRiPVt7RzE6bj0+YENhbm5vdCByZWFkIHByb3BlcnR5ICcke24ua2V5fSdgLApZejp7RXJyb3I6W3t3YjovKFBlcm1pc3Npb24gZGVuaWVkKSB0byBhY2Nlc3MgcHJvcGVydHkgIihbXiddKykiLyxncm91cHM6WyJyZWFzb24iLCJrZXkiXX1dLFR5cGVFcnJvcjpbe3diOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3diOi9cdTY1ZTBcdTZjZDVcdTgzYjdcdTUzZDZcdTY3MmFcdTViOWFcdTRlNDlcdTYyMTYgKG51bGx8dW5kZWZpbmVkKSBcdTVmMTVcdTc1MjhcdTc2ODRcdTVjNWVcdTYwMjdcdTIwMWMoW15cdTIwMWRdKylcdTIwMWQvLGdyb3VwczpbInZhbHVlIiwia2V5Il19LHt3YjovXHVjODE1XHVjNzU4XHViNDE4XHVjOWMwIFx1YzU0YVx1Yzc0YyBcdWI2MTBcdWIyOTQgKG51bGx8dW5kZWZpbmVkKSBcdWNjMzhcdWM4NzBcdWM3NzggJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc0NCBcdWFjMDBcdWM4MzhcdWM2MmMgXHVjMjE4IFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7d2I6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHt3YjovVW5hYmxlIHRvIGdldCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKHVuZGVmaW5lZCBvciBudWxsKSByZWZlcmVuY2UvLGdyb3VwczpbImtleSIsInZhbHVlIl19LHt3YjovKG51bGwpIGlzIG5vdCBhbiBvYmplY3QgXChldmFsdWF0aW5nICcoPzooW14uXSspXC4pPyhbXiddKyknXCkvLGdyb3VwczpbInZhbHVlIiwiYmFzZSIsImtleSJdfV19fSx7RzE6bj0+YENhbm5vdCBjYWxsICcke24ua2V5fSdgLApZejp7VHlwZUVycm9yOlt7d2I6Lyg/OihbXiBdKyk/XC4pPyhbXiBdKykgaXMgbm90IGEgZnVuY3Rpb24vLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3diOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7d2I6L09iamVjdCAoLiopIGhhcyBubyBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJiYXNlIiwia2V5Il19LHt3YjovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3diOi9cdTMwYWFcdTMwZDZcdTMwYjhcdTMwYTdcdTMwYWZcdTMwYzhcdTMwNmYgJyhbXiddKyknIFx1MzBkN1x1MzBlZFx1MzBkMVx1MzBjNlx1MzBhM1x1MzA3ZVx1MzA1Zlx1MzA2Zlx1MzBlMVx1MzBiZFx1MzBjM1x1MzBjOVx1MzA5Mlx1MzBiNVx1MzBkZFx1MzBmY1x1MzBjOFx1MzA1N1x1MzA2Nlx1MzA0NFx1MzA3ZVx1MzA1Ylx1MzA5My8sZ3JvdXBzOlsia2V5Il19LAp7d2I6L1x1YWMxY1x1Y2NiNFx1YWMwMCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzc0XHViMDk4IFx1YmE1NFx1YzExY1x1YjRkY1x1Yjk3YyBcdWM5YzBcdWM2ZDBcdWQ1NThcdWM5YzAgXHVjNTRhXHVjMmI1XHViMmM4XHViMmU0Li8sZ3JvdXBzOlsia2V5Il19XX19LHtHMTpuPT5gJHtuLmtleX0gaXMgbm90IGRlZmluZWRgLApZejp7UmVmZXJlbmNlRXJyb3I6W3t3YjovKC4qKSBpcyBub3QgZGVmaW5lZC8sZ3JvdXBzOlsia2V5Il19LHt3YjovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgYVJTPXtOOTpbXSxrbzpbe2NhbGxiYWNrOlF6MSx3ZWlnaHQ6NTAwfSx7Y2FsbGJhY2s6Vld4LHdlaWdodDo1MDB9XX07dmFyIGN2aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMua289W107dGhpcy5OOT1bXX19LHZhO3ZhciBTaT1uZXcgQks7dmFyIElVPW5ldyBTZXQsdFA9MCx4SE09MCxBUD0wLHY5Mj1bXSxibjI9W10sTE5DPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO0RhdGUubm93KCk7dmFyIFpwPWNsYXNzIGV4dGVuZHMgbzd7Y29uc3RydWN0b3Iobil7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1ufX0sVG89bmV3IGQzKCJzY3JlZW4tY3JlYXRlZCIsWnApLEM0PVtdLGVUaD1HJGosQmE9MCxVYT1uZXcgTWFwLHk1PW5ldyBNYXAsRWE9bmV3IE1hcDt2YXIgaHIyPWNsYXNze2ZsdXNoKG49W10sVz0hMSl7aWYoZy5sKCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBEIG9mIG4pbj11NihEKSx0aGlzLk4mJiQ5KG4sT2l4LDIsdGhpcy5OKSxuPXtzZXJpYWxpemVkSW5jcmVtZW50QmF0Y2g6Zy5FQShuLkooKSl9LGcuelUoInN0cmVhbXpJbmNyZW1lbnRlZCIsbix7c2VuZElzb2xhdGVkUGF5bG9hZDpXfSl9fSxYbkM9Y2xhc3MgZXh0ZW5kcyBocjJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0sU0hpPWNsYXNzIGV4dGVuZHMgaHIye2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dmFyIFc9bmV3IE9peDt2YXIgRD1uZXcgS1VDO0Q9Zy5TRShELDEsImJvdGd1YXJkIik7bj1nLlNFKEQsMixuKTt0aGlzLk49cmUoVyxLVUMsMSxQWmgsbil9fTt2YXIgVnAsSU0yPW5ldyBNYXA7dmFyIFQkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bmV3IFFLKG4pfXNldChuLFcsRCl7RD1EIT09dm9pZCAwP0RhdGUubm93KCkrRDp2b2lkIDA7dGhpcy5OLnNldChuLFcsRCl9Z2V0KG4pe3JldHVybiB0aGlzLk4uZ2V0KG4pfXJlbW92ZShuKXt0aGlzLk4ucmVtb3ZlKG4pfX07dmFyIHJTaD1udWxsO3ZhciBzbz0idG9rZW5zIGNvbnNpc3RlbmN5IHNlcnZpY2VfcGFyYW1zIG1zcyBjbGllbnRfbG9jYXRpb24gZW50aXRpZXMgYWRibG9ja19kZXRlY3Rpb24gcmVzcG9uc2VfcmVjZWl2ZWRfY29tbWFuZHMgc3RvcmUgbWFuaWZlc3QgcGxheWVyX3ByZWxvYWQgc2hvcnRzX3ByZWZldGNoIHJlc29sdmVfdXJsX3ByZWZldGNoIi5zcGxpdCgiICIpO3ZhciBzWVU9bmV3IE1hcChbWyJkYXJrIiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyJdLFsibGlnaHQiLCJVU0VSX0lOVEVSRkFDRV9USEVNRV9MSUdIVCJdXSk7dmFyIERNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPXt9O2lmKHRoaXMuSj1nLm1qKCkpe2xldCBuPWcuU2QoIkNPTlNJU1RFTkNZIik7biYmYVUodGhpcyx7ZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50czpufSl9fWhhbmRsZVJlc3BvbnNlKG4sVyl7aWYoIVcpdGhyb3cgRXJyb3IoInJlcXVlc3QgbmVlZHMgdG8gYmUgcGFzc2VkIGludG8gQ29uc2lzdGVuY3lTZXJ2aWNlIik7Vz1XLmlubmVyVHViZVJlcXVlc3QuY29udGV4dD8ucmVxdWVzdD8uY29uc2lzdGVuY3lUb2tlbkphcnN8fFtdOyhuPW4ucmVzcG9uc2VDb250ZXh0Py5jb25zaXN0ZW5jeVRva2VuSmFyKSYmdGhpcy5yZXBsYWNlKFcsbil9cmVwbGFjZShuLFcpe2ZvcihsZXQgRCBvZiBuKWRlbGV0ZSB0aGlzLk5bRC5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzXTthVSh0aGlzLFcpfX07dmFyIHh6cj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKS5zbGljZSgtMikuam9pbigiLiIpLGIkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPS0xO3ZhciBuPWcuQXIoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iVFZIVE1MNSImJih0aGlzLmxvY2FsU3RvcmFnZT1uQih0aGlzKSkmJihuPXRoaXMubG9jYWxTdG9yYWdlLmdldCgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKSk7biYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPW4sdGhpcy5KPXRoaXMuTj12b2lkIDApfXN0YXRpYyBnZXRJbnN0YW5jZSgpe09DPWcucnIoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIpO09DfHwoT0M9bmV3IGIkLGcuR2IoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIsT0MpKTtyZXR1cm4gT0N9c2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQobil7bi5jbGllbnR8fAoobi5jbGllbnQ9e30pO2lmKHRoaXMuTiluLmNsaWVudC5sb2NhdGlvbkluZm98fChuLmNsaWVudC5sb2NhdGlvbkluZm89e30pLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sYXRpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5OLmNvb3Jkcy5sYXRpdHVkZSoxRTcpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sb25naXR1ZGVFNz1NYXRoLmZsb29yKHRoaXMuTi5jb29yZHMubG9uZ2l0dWRlKjFFNyksbi5jbGllbnQubG9jYXRpb25JbmZvLmhvcml6b250YWxBY2N1cmFjeU1ldGVycz1NYXRoLnJvdW5kKHRoaXMuTi5jb29yZHMuYWNjdXJhY3kpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5mb3JjZUxvY2F0aW9uUGxheWFiaWxpdHlUb2tlblJlZnJlc2g9ITA7ZWxzZSBpZih0aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKW4uY2xpZW50LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbj10aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VufWdldFhHZW9IZWFkZXIoKXtpZih0aGlzLkope3ZhciBuPQp0aGlzLko7dmFyIFc9TWF0aC5mbG9vcihuLmNvb3Jkcy5sb25naXR1ZGUqMUU3KTt2YXIgRD1NYXRoLmZsb29yKG4uY29vcmRzLmxhdGl0dWRlKjFFNyk7dmFyIGI9bmV3IGpyMjtEPW96KGIsMSxnLnlQKEQpKTtXPW96KEQsMixnLnlQKFcpKTtEPW5ldyBCRnQ7RD1LbihELDEsMSk7RD1LbihELDIsMTIpO0Q9S24oRCw5LDgpO0Q9SVkoRCwzLG4udGltZXN0YW1wKjFFMyk7bj1veihELDcsZy5BXyhuLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTtuPUtuKG4sMjUsMik7bj0kOShuLGpyMiw1LFcpO249YHcgJHtnLkVBKEZGaShuKSw0KX1gfWVsc2Ugbj1udWxsO3JldHVybiBufWhhbmRsZVJlc3BvbnNlKG4pe249bi5yZXNwb25zZUNvbnRleHQ/LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbjtuIT09dm9pZCAwJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49bix0aGlzLko9dGhpcy5OPXZvaWQgMCxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9Cm5CKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsbiwxNTU1MkUzKTpJSygiWVRfQ0wiLEpTT04uc3RyaW5naWZ5KHtsb2N0b2s6bn0pLDE1NTUyRTMseHpyLCEwKSl9Y2xlYXJMb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4obil7bj09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9bkIodGhpcykpJiZ0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmUoInl0LWxvY2F0aW9uLXBsYXlhYmlsaXR5LXRva2VuIik6QXkoIllUX0NMIik7dGhpcy5YPXZvaWQgMDt0aGlzLlchPT0tMSYmKGNsZWFyVGltZW91dCh0aGlzLlcpLHRoaXMuVz0tMSl9Y2xlYXJDdXJyZW50UG9zaXRpb24oKXt0aGlzLko9dGhpcy5OPXZvaWQgMH1nZXRDdXJyZW50UG9zaXRpb25Gcm9tR2VvbG9jYXRpb24obil7aWYoIShuYXZpZ2F0b3ImJm5hdmlnYXRvci5nZW9sb2NhdGlvbiYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbikpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJHZW9sb2NhdGlvbiB1bnN1cHBvcnRlZCIpKTsKdmFyIFc9ITEsRD0xRTQ7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihXPSEwLEQ9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChiLHYpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihrPT57dGhpcy5KPW4/LmFkZFRvSGVhZGVycz9rOnZvaWQgMDt0aGlzLk49aztiKGspfSxrPT57dihrKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpXLAptYXhpbXVtQWdlOjAsdGltZW91dDpEfSl9KX1jcmVhdGVVbnBsdWdnZWRMb2NhdGlvbkluZm8obil7dmFyIFc9e307Cm49bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtuPy5hY2N1cmFjeSYmKFcubG9jYXRpb25SYWRpdXNNZXRlcnM9TWF0aC5yb3VuZChuLmFjY3VyYWN5KSk7cmV0dXJuIFd9Y3JlYXRlTG9jYXRpb25JbmZvKG4pe3ZhciBXPXt9O249bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtyZXR1cm4gV319LE9DO3ZhciBMSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49e319Y29udGFpbnMobil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLk4sbil9Z2V0KG4pe2lmKHRoaXMuY29udGFpbnMobikpcmV0dXJuIHRoaXMuTltuXX1zZXQobixXKXt0aGlzLk5bbl09V311Qigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLk4pfXJlbW92ZShuKXtkZWxldGUgdGhpcy5OW25dfX07bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXBwaW5ncz1uZXcgTEhyfWdldChuKXthOnt2YXIgVz10aGlzLm1hcHBpbmdzLmdldChuLnRvU3RyaW5nKCkpO3N3aXRjaChXLnR5cGUpe2Nhc2UgIm1hcHBpbmciOm49Vy52YWx1ZTticmVhayBhO2Nhc2UgImZhY3RvcnkiOlc9Vy52YWx1ZSgpO3RoaXMubWFwcGluZ3Muc2V0KG4udG9TdHJpbmcoKSx7dHlwZToibWFwcGluZyIsdmFsdWU6V30pO249VzticmVhayBhO2RlZmF1bHQ6bj1nLnBiKFcsdm9pZCAwKX19cmV0dXJuIG59fTt2YXIgeFY9e1dFQl9VTlBMVUdHRUQ6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09OQk9BUkRJTkc6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09QUzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfUFVCTElDOiJedW5wbHVnZ2VkLyIsV0VCX0NSRUFUT1I6Il5jcmVhdG9yLyIsV0VCX0tJRFM6Il5raWRzLyIsV0VCX0VYUEVSSU1FTlRTOiJeZXhwZXJpbWVudHMvIixXRUJfTVVTSUM6Il5tdXNpYy8iLFdFQl9SRU1JWDoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm1haW5fYXBwL3xec2Z2LyJ9O3ZhciBlcjE9Y2xhc3N7RChuLFc9e30sRD11OSl7dmFyIGI9e2NvbnRleHQ6dGhpcy5PKCk/Zy52YihuLmNsaWNrVHJhY2tpbmdQYXJhbXMsITAsITEsZy53KG4/LmNvbW1hbmRNZXRhZGF0YSxwaik/LnVybCx0aGlzLksoVykpOmcudmIobi5jbGlja1RyYWNraW5nUGFyYW1zLCExLHRoaXMuail9O3ZhciB2PXRoaXMuTihuKTtpZih2KXt0aGlzLkooYix2LFcpO3Y9TEIodGhpcy5XKCkpO3ZhciBrPWcudyhuLmNvbW1hbmRNZXRhZGF0YSxwaik/LmFwaVVybDtrJiYodj1rKTt2PVpyKEskKHYpKTtrPXtjb21tYW5kOm4sLi4udGhpcy5WKG4pfTtiPXtpbnB1dDp2LFBpOlV6KHYpLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6a307Yi5jb25maWcuQkc/Yi5jb25maWcuQkcuaWRlbnRpdHk9RDpiLmNvbmZpZy5CRz17aWRlbnRpdHk6RH07KG49dGhpcy5ZKG4pKSYmIWIuY29uZmlnLnJlcXVlc3RLZXkmJihiLmNvbmZpZy5yZXF1ZXN0S2V5PW4pO1cuYWJvcnRTaWduYWwmJihiLlBpLnNpZ25hbD0KVy5hYm9ydFNpZ25hbCk7cmV0dXJuIGJ9Vz1uZXcgZy5ReCgiRXJyb3I6IEZhaWxlZCB0byBjcmVhdGUgUmVxdWVzdCBmcm9tIENvbW1hbmQuIixuKTtnLlhqKFcpfU8oKXtyZXR1cm4hMX1nZXQgaigpe3JldHVybiExfUsoKXt9WSgpe31WKCl7fX0sUEM9Y2xhc3MgZXh0ZW5kcyBlcjF7WCgpe31ZKG4pe2cubCgid2ViX2VuYWJsZV9yZXF1ZXN0X2tleV9raWxsc3dpdGNoIikmJnRoaXMuWChuKTtyZXR1cm4gZy53KG4uY29tbWFuZE1ldGFkYXRhLHBqKT8ucmVxdWVzdEtleT8/dGhpcy5YKG4pfX07dmFyIGdnMT17R0VUX0RBVEFTWU5DX0lEUzpobShjbGFzcyBleHRlbmRzIFBDe0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50IixQaTpVeigiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX1XKCl7cmV0dXJuW119Tigpe31KKCl7fX0pfTt2YXIgd189bmV3IGcuQUwoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLCREPW5ldyBnLkFMKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLGlkPW5ldyBnLkFMKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBOUT12MCgieXRjc2lfZGVidWdfbWF4X3NpemUiLDEwMCk7dmFyIEptPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9OwpPYmplY3QuYXNzaWduKEptLHsiYW5hbHl0aWNzLmV4cGxvcmUiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FOQUxZVElDU19FWFBMT1JFIiwiYXJ0aXN0LmFuYWx5dGljcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX0FOQUxZVElDUyIsImFydGlzdC5ldmVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FSVElTVF9DT05DRVJUUyIsImFydGlzdC5wcmVzc2tpdCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX1BST0ZJTEUiLCJhc3NldC5jbGFpbWVkX3ZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NMQUlNRURfVklERU9TIiwiYXNzZXQuY29tcG9zaXRpb24iOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9DT01QT1NJVElPTiIsImFzc2V0LmNvbXBvc2l0aW9uX293bmVyc2hpcCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX09XTkVSU0hJUCIsImFzc2V0LmNvbXBvc2l0aW9uX3BvbGljeSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX1BPTElDWSIsCiJhc3NldC5lbWJlZHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9FTUJFRFMiLCJhc3NldC5oaXN0b3J5IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfSElTVE9SWSIsImFzc2V0Lmlzc3VlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0lTU1VFUyIsImFzc2V0LmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfTElDRU5TRVMiLCJhc3NldC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX01FVEFEQVRBIiwiYXNzZXQub3duZXJzaGlwIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfT1dORVJTSElQIiwiYXNzZXQucG90ZW50aWFsX2VtYmVkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX1BPVEVOVElBTF9FTUJFRFMiLCJhc3NldC5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9QT0xJQ1kiLCJhc3NldC5yZWZlcmVuY2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfUkVGRVJFTkNFUyIsCiJhc3NldC5zaGFyZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9TSEFSRVMiLCJhc3NldC5zb3VuZF9yZWNvcmRpbmdzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfU09VTkRfUkVDT1JESU5HUyIsImFzc2V0X2dyb3VwLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0FTU0VUUyIsImFzc2V0X2dyb3VwLmNhbXBhaWducyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0NBTVBBSUdOUyIsImFzc2V0X2dyb3VwLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfR1JPVVBfQ0xBSU1FRF9WSURFT1MiLCJhc3NldF9ncm91cC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX01FVEFEQVRBIiwic29uZy5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1NPTkdfQU5BTFlUSUNTIixjcmVhdG9yX2NoYW5uZWxfZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfREFTSEJPQVJEIiwKImNoYW5uZWwuYW5hbHl0aWNzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0FOQUxZVElDUyIsY2hhbm5lbF9hcHBlYWw6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9BUFBFQUwiLCJjaGFubmVsLmNvbW1lbnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0NPTU1FTlRTIiwiY2hhbm5lbC5jb250ZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DT05URU5UIiwiY2hhbm5lbC5jb250ZW50LnBvc3RzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QT1NUX0xJU1QiLCJjaGFubmVsLmNvbnRlbnQucHJvbW90aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUFJPTU9USU9OX0xJU1QiLCJjaGFubmVsLmNvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9DT1BZUklHSFQiLCJjaGFubmVsLmVkaXRpbmciOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfRURJVElORyIsImNoYW5uZWwubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01PTkVUSVpBVElPTiIsCiJjaGFubmVsLm11c2ljIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDIiwiY2hhbm5lbC5tdXNpY19zdG9yZWZyb250IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDX1NUT1JFRlJPTlQiLCJjaGFubmVsLnBsYXlsaXN0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9QTEFZTElTVFMiLCJjaGFubmVsLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9UUkFOU0xBVElPTlMiLCJjaGFubmVsLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9WSURFT1MiLCJjaGFubmVsLmxpdmVfc3RyZWFtaW5nIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9MSVZFX1NUUkVBTUlORyIsImRpYWxvZy5jb3B5cmlnaHRfc3RyaWtlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX0NPUFlSSUdIVF9TVFJJS0VTIiwiZGlhbG9nLnZpZGVvX2NvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1ZJREVPX0NPUFlSSUdIVCIsCiJkaWFsb2cudXBsb2FkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1VQTE9BRFMiLG93bmVyOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19EQVNIQk9BUkQiLCJvd25lci5hbGxvd2xpc3QiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTExPV0xJU1QiLCJvd25lci5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTkFMWVRJQ1MiLCJvd25lci5hcnRfdHJhY2tzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVJUX1RSQUNLUyIsIm93bmVyLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUUyIsIm93bmVyLmFzc2V0X2dyb3VwcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQUyIsIm93bmVyLmJ1bGsiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19CVUxLX0hJU1RPUlkiLCJvd25lci5jYW1wYWlnbnMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DQU1QQUlHTlMiLAoib3duZXIuY2hhbm5lbF9pbnZpdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0hBTk5FTF9JTlZJVEVTIiwib3duZXIuY2hhbm5lbHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DSEFOTkVMUyIsIm93bmVyLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0xBSU1FRF9WSURFT1MiLCJvd25lci5jbGFpbXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19NQU5VQUxfQ0xBSU1JTkciLCJvd25lci5jbGFpbXMubWFudWFsIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTUFOVUFMX0NMQUlNSU5HIiwib3duZXIuZGVsaXZlcnkiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DT05URU5UX0RFTElWRVJZIiwib3duZXIuZGVsaXZlcnlfdGVtcGxhdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfREVMSVZFUllfVEVNUExBVEVTIiwib3duZXIuaXNzdWVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfSVNTVUVTIiwKIm93bmVyLmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTElDRU5TRVMiLCJvd25lci5waXRjaF9tdXNpYyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1BJVENIX01VU0lDIiwib3duZXIucG9saWNpZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19QT0xJQ0lFUyIsIm93bmVyLnJlbGVhc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVMRUFTRVMiLCJvd25lci5yZXBvcnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVQT1JUUyIsIm93bmVyLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1ZJREVPUyIsInBsYXlsaXN0LnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUExBWUxJU1RfVklERU9fTElTVCIsInBvc3QuY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfQ09NTUVOVFMiLCJwb3N0LmVkaXQiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfRURJVCIsInByb21vdGlvbi5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QUk9NT1RJT05fRURJVCIsCiJ2aWRlby5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0FOQUxZVElDUyIsInZpZGVvLmNsYWltcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fQ0xBSU1TIiwidmlkZW8uY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0NPTU1FTlRTIiwidmlkZW8uY29weXJpZ2h0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19DT1BZUklHSFQiLCJ2aWRlby5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUIiwidmlkZW8uZWRpdG9yIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUT1IiLCJ2aWRlby5lZGl0b3JfYXN5bmMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0VESVRPUl9BU1lOQyIsInZpZGVvLmxpdmVfc2V0dGluZ3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0xJVkVfU0VUVElOR1MiLCJ2aWRlby5saXZlX3N0cmVhbWluZyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fTElWRV9TVFJFQU1JTkciLAoidmlkZW8ubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19NT05FVElaQVRJT04iLCJ2aWRlby5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX1BPTElDWSIsInZpZGVvLnJpZ2h0c19tYW5hZ2VtZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19SSUdIVFNfTUFOQUdFTUVOVCIsInZpZGVvLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fVFJBTlNMQVRJT05TIn0pO3ZhciBNUT1jbGFzcyBleHRlbmRzIG83e2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLk49bjt0aGlzLnRpbWVyPVd9fSxPbnQ9bmV3IGQzKCJhZnQtcmVjb3JkZWQiLE1RKTt2YXIgWEZ0PXthX2JpZF9mOjQ4MixhX2JpZF9zOjQ4MSxhYToyLGFhY2k6NDMzLGFhY3I6NDM0LGFiX3I6MTEsYWJfczoxMCxhYmM6NTc5LGFjOjE5MyxhY2M6NTExLGFjaTo1MTIsYWRfMF9lOjEzLGFkXzBfczoxMixhZF9ibDoxNCxhZF9pOjE1LGFkX21iczoxNixhZF9wcjo1NjIsYWRfdmk6MTcsYWRfdmlyOjE4LGFkYToxOTQsYWRiY19mOjU3NixhZGM6MTk1LGFkZmxfZjoxOSxhZGZsX3M6MjAsYWRsOjE5NixhZG5zOjE5NyxhZHNfZToyMixhZHNfczoyMSxhZmI6NTEzLGFmYzoxOTgsYWZsOjE5OSxhZnQ6MSxhaGI6NTE0LGFpOjIwMCxhaXNfYTo1MDMsYWlzX3I6NTAyLGFpc2Y6MjMsYWlzaToyNCxhaXNyOjI1LGFpc3M6MjYsYW1sOjIwMSxhcGFfYToyMDMsYXBhX2I6MjAyLGFwYnM6MjA0LGFwcF9sOjMsYXBwX3NpOjYxMixhcHBfc2llOjY2MSxhcHBkZWxfaToyNyxhcHBpX2U6NjE2LGFwcGlfczo2MTUsYXByOjIwNSxhcHJlczo0MzYsYXBzdXM6NDM1LGFyOjIwNixhcjQwazoyOCwKYXJiX2Y6NTA0LGFyYzoyMDcsYXJlcToyMDgsYXJmYjoyOSxhcmk6NCxhcnI6MjA5LGFycmg6MzAsYXNjZTo3ODgsYXNjZjo3ODksYXNjczo3ODcsYXNpc2ZiOjMxLGFzaXNyOjMyLGFzaXNyaDozMyxhc2lzczozNCxhc3I6MjEwLGFzeW5jX29yY2hfdF9hY3Q6NzEyLGFzeW5jX29yY2hfdF9ub3RpZnk6NzExLGF0cnI6NTE1LGF0cnM6NTE2LGF0dF9lOjIxMSxhdHRfZjoyMTIsYXR0X2ZjOjc5NyxhdHRfZnJyOjc5NixhdHRfZnM6NzkzLGF0dF9mc3I6Nzk1LGF0dF9wbmE6Nzk0LGF0dF9zOjIxMyxhdHRfd2I6MjE0LGF3ZmxfZjo1NTcsYXdmbF9zOjU1OCxiYXNlX2pzX3I6NDQxLGJjcDoyMTUsYmY6MjE2LGJnX2U6MjE3LGJnX2k6MjE4LGJnX2w6MjIwLGJnX3M6MjIxLGJnX3Y6MjE5LGJwZF9jOjQ4NCxicGRfczo0ODMsYnB0OjIyMyxicl9lOjM3LGJyX2xkOjM4LGJyX2xycHI6MzksYnJfbHJyOjQwLGJyX2x3bTo1NzcsYnJfcjo0MSxicl9zOjQyLGJyZXI6MzUsYnJlczozNixicm5yOjQzLApicm5zOjQ0LGJycGU6NDUsYnJwczo0NixicnJfZTo0NyxicnJfaTo0OCxicnJfaXVzOjQ5LGJzOjIyMixjX2M6NTAsY19jczo1MSxjX2NzZnM6NTIsY19kOjUzLGNfbGFmOjU5LGNfbGFzOjU4LGNfcm5mOjQzOCxjX3Juczo0MzcsY2M6NDY3LGNjX2M6NTQsY2NfY2Y6NTYsY2NfY3NhbGE6NTUsY2NfbGE6NTcsY2ZnOjIyNCxjaGxzOjIyNSxjaHBzOjIyNixjbDo0ODAsY21jOjIyNyxjbWRfaDo2MjksY21obDoyMjksY21pOjIyOCxjbWw6MjMwLGNtcDo3NzksY212OjIzMSxjcHQ6MjMyLGNyOjM2NCxjcl9lcnI6NjY5LGNyX3I6NjcwLGNyX3M6NjY4LGNzbDoyMzMsY3NyX3Q6NjMxLGN0OjUsY3RfbGk6NjAsZF9sOjYxLGRfbGFmOjYyLGRfbGFyOjYzLGRfbGFzOjY0LGRfbGY6NjUsZF9sczo2NixkX2x3OjY3LGRfbHdmOjY4LGRfbHdzOjY5LGRhc19jOjM2NixkYXNfczozNjUsZGNwOjIzNCxkZ19wYl9jOjIzNixkZ19wYl9yOjIzNyxkZ19wYl9zOjIzNSxkaGljOjIzOCxkbDoyMzksZG5zXzoyNDAsCmRybV9na19mOjM4OCxkcm1fZ2tfczozODcsZHJtX2tyX3I6MzkyLGRybV9rcl9zOjM5MSxkcm1fbmV0X3I6MzkwLGRybV9uZXRfczozODksZHJtX3BiX2Y6Mzg2LGRybV9wYl9zOjM4NSxkc19hYzo3MzYsZHNfYXM6NzM1LGRzX2NsYzo3NDAsZHNfY3M6NzM3LGRzX2RjOjczOSxkc19kczo3MzgsZW1wYTo0MzIsZW1wdTo0MzEsZW5wX2Vycjo2ODUsZW5wX2ZpOjY4NCxlbnBfc3Q6NjgzLGVvcHJfcjo2NzMsZXBfYV9wcl9yOjUzMixlcF9hX3ByX3M6NTMxLGVwX2hhdl9lbmQ6NTI2LGVwX2hhdl9zdGFydDo1MjUsZXBfaW5pdF9hcjo2OTksZXBfaW5pdF9jdWU6NjM1LGVwX2luaXRfY3VzOjYzNCxlcF9pbml0X2VwZTo2MzcsZXBfaW5pdF9lcHM6NjM2LGVwX2luaXRfaWplOjYzOSxlcF9pbml0X2lqczo2MzgsZXBfaW5pdF9wcjo1MjcsZXBfaW5pdF9yZTo2NDEsZXBfaW5pdF9yczo2NDAsZXBfaW5pdF93ZWU6NjQzLGVwX2luaXRfd2VzOjY0MixlcF9tYV9yZXByOjU0MyxlcF9tYV9ycjo1MzMsCmVwX21hX3NlcHI6NTQyLGVwX21hX3Nwcjo1MzQsZXBfcF9sOjUzMCxlcF9wcl9yOjUyOSxlcF9wcl9zOjUyOCxlcF9yX3ByZV9yOjU0MSxlcF9yX3JyOjUzNSxlcF9yX3NtYXI6NTM2LGVwX3JlY19lbmQ6NTM4LGVwX3JlY19zdGFydDo1MzcsZXBfcmVwc19lbmQ6NTQwLGVwX3JlcHNfc3RhcnQ6NTM5LGVwZTo2MTgsZXBzOjYxNyxlcl9jbDo2NTMsZXJfbnM6NjUyLGVyX3BlOjY1MCxlcl9wczo2NDksZXJfczo2NDgsZXJfc19ucjo3OTAsZXJfc19uczo3ODQsZXJfdDo2NTEsZmFiX3I6MjQ2LGZjYl9yOjUwNixmaXJlOjcwLGZpcnM6NzEsZm10aDoyNDEsZm9vdF9qczoyNDIsZnB0OjI0Myxmcl9zOjU2MSxmczoyNDQsZnNjOjI0NSxmc3NiMF9hOjc1LGZzc2IwX2ZyOjc0LGZzc2IwX25yOjczLGZzc2IwX25zOjcyLGZ0Xzo0MzksZnRsOjcsZnRyOjQ3NSxmdmJfcjoyNDcsZnZmOjI0OCxmeWRfZ2Y6NzY3LGZ5ZF9nczo3NjYsZ2NjOjI0OSxnY2ZsOjI1MCxnY3NyOjc2LGdlcF9lcnI6ODAwLApnZXBfcmVxOjc5OCxnZXBfcmVzOjc5OSxnZ3NyOjc3LGdpd2FfYTo2MjcsZ2l3YV9kOjYyOCxnbGM6NTkzLGdsZToyNTEsZ2xzOjI1MixncGU6MjUzLGdyYzoyNTQsZ3Jpd19ucjo3ODYsZ3Jpd19uczo3ODUsZ3Nfcjo3MzQsZ3Nfczo3MzMsZ3NtZDo1ODYsZ3Vfcjo2MjAsZ3Y6NDg1LGd3X2FpZXI6NzcxLGd3X2FyZjo3NzIsZ3dfYXJuYWY6Nzc1LGd3X2Fybm5hZjo3NzYsZ3dfYXJuczo3NzcsZ3dfYXJuc3U6Nzc4LGd3X2Fyczo3NzQsZ3dfYXJzdTo3NzMsZ3dfbWFhZjo2MzMsZ3dfbWFhczo2MzIsaGJmZzo2NzcsaGdjcjoyNTUsaHI6MjU2LGhyZTozNjMsaHJzOjM2MixoczozNzMsaHRtbF9mYl9yOjc1NSxodG1sX2ZlOjc0OCxodG1sX2ZzOjc0NyxodG1sX2Z3ZTo3NTIsaHRtbF9md3M6NzUxLGh0bWxfamNlOjc1NCxodG1sX2pjczo3NTMsaHRtbF9sYl9yOjc1NixodG1sX3NlOjc1MCxodG1sX3NzOjc0OSxpX3JwOjQ3NyxpX3JxOjQ3NixpcF9zOjY0NixpcGM6MjU3LGlwczoyNTgsCmlzbXBfYTo4MzYsaXNtcF9jOjgzOCxpc21wX2Q6ODM5LGlzbXBfaTo4MzUsaXNtcF9wOjg0MCxpc21wX3JjOjgzNyxpdF9ncDo3OCxpdl9zOjUwNSxqc3A6MjU5LGpzcjoyNjAsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yQ2FuY2VsbGVkOjgwMSxrWVRMYXRlbmN5TURFUHJvZHVjdFN0aWNrZXJFZGl0b3JGaW5pc2hlZDo4MDIsbDJzOjI2MSxsY19mcnI6NjYwLGxjX3Nfczo2NTksbGNfc191OjY1OCxsY3A6MjYyLGxkX3M6NDQwLGxpbToyNjMsbHBjZjoyNjQsbHBjczoyNjUsbHBzOjI2Nixsc19jOjM2OCxsc19zOjM2Nyxsc3M6MjY3LGx2OjI2OCxtYV9jbDo1NTEsbWFfZmZyOjU1MixtYV9mdWE6NTU0LG1hX2dyOjU1MyxtYV9pbDo1NzMsbWFpbjo3OSxtYWluX2pzX3I6NDQyLG1haW5fanNfcnE6NDQzLG1iX3M6NTA3LG1iYXBfYzozODQsbWJjX2FsYzo3MzIsbWJjX2FzbDo3MzEsbWJjX2M6Mzc1LG1iY19zOjM3NCxtYmdjaGlkX3JyOjc0NCxtYmdjaGlkX3JzOjc0NiwKbWJncl9yZjo2NTcsbWJncl9ycjozNzksbWJncl9yczozNzgsbWJsY19jOjM3NyxtYmxjX3M6Mzc2LG1ibGNoaWRfYzo3NDUsbWJsY2hpZF9zOjc0MyxtYmxjcmlkX2M6NzQyLG1ibGNyaWRfczo3NDEsbWJzX2M6MzgxLG1ic19ycjozODMsbWJzX3JzOjM4MixtYnNfczozODAsbWR4X2NjcDo4MCxtZHhfY2NzOjgxLG1keF9jY3N0OjgyLG1keF9jcjo4MyxtZHhfY3M6ODQsbWR4X2xzOjg1LG1keF9vZmY6ODYsbWR4X3NjOjg3LG1lX2I6NTU1LG1lX2M6Njg3LG1lX2Y6NTU2LG1lX2ZhOjY4OCxtZXN2X3M6NTA5LG1tX2llOjcyMCxtbV9pczo3MTksbXJjOjI2OSxtcnM6MjcwLG1zYToyNzEsbXN0aTo4OCxtc3RyOjg5LG5fY3Q6NzAyLG5fc3I6Njk3LG5fc3c6Njk4LCJuY1swLTldIjoyNzIsbmNsOjI3MyxuY3Q6Mjc0LG5kOjI3NSxuZG5zZToyNzYsbmRuc3M6Mjc3LCJucFswLTldIjoyNzgsbnI6Mjc5LG5yZToyODAsbnJlcXM6MjgxLG5yZXNlOjI4MixucmVzczoyODMsbnJycHM6OTAsCm5yczoyODQsbnN0Y3BzOjI4NSxudGNwZToyODYsbnRjcHM6Mjg3LG53cDoyODgsb2FkMnM6NDI1LG9hZnNfcjo0MDcsb2Fmc19ycDo0MDksb2Fpc3I6NDA1LG9hcjJzOjQxMixvYXJwMnM6NDI3LG9jc2lfejo5MSxvY3RrOjYyMSxvY3RwOjYyMixvZmFycDo0MjMsb2Zkbzo0MDAsb2Zkb3M6Mzk4LG9mcjo0MTcsb2Z2cnA6NDI0LG9nc2ZfYzozOTUsb2dzZl9zOjM5NCxvaHJfcjo3NjUsb2hyX3M6NzY0LG9sOjYsb2xfaTo4LG9sb2NfZTo4MzAsb2xvY19zYTo4Mjksb2xvY19zczo4Mjgsb21kX2M6NDIyLG9tZF9zOjQyMSxvbXBfYzo0MTksb21wX3I6NDE4LG9wZmM6NjgwLG9wcl9yOjQxNCxvcHJkX3M6NDE1LG9wcmd6Ml9lOjg0MixvcHJnejJfZjo4NDMsb3ByZ3oyX3M6ODQxLG9wcmd6X3M6Njg5LG9wcnI6NDE2LG9yMTAwazo0MTEsb3JfZmU6NDI5LG9yX2ZzOjQzMCxvcl9pOjM5Myxvcl9wOjM5NyxvcmNoX3JfZDo2OTQsb3JjaF9yX3M6Njk1LG9yY2hfdF9wbWQ6NzcwLG9yY2hfdF9wbXM6NzY5LApvcmNoX3RfdGNlZDo3MDgsb3JjaF90X3RjZXM6NzA1LG9yY2hfdF90ZDo2OTIsb3JjaF90X3RtZDo4MDQsb3JjaF90X3Rtczo4MDMsb3JjaF90X3VkOjY5MyxvcmNoX3RfdXM6Njk2LG9yZmI6NDA0LG9yaF9yOjQwMyxvcm1rOjQyMCxvcnFwYl9hOjgzMSxvcnFwYl9lOjgzNCxvcnFwYl9zOjgzMixvcnFwYl93OjgzMyxvc2RvOjQwMSxvc2RvZjo0MDIsb3Nkb3M6Mzk5LG9zb3I6Mzk2LG92ZDJzOjQyNixvdmZzX3I6NDA4LG92ZnNfcnA6NDEwLG92aXNyOjQwNixvdnIyczo0MTMsb3ZycDJzOjQyOCxwYWM6Mjg5LHBhcmk6NTE3LHBhdDoyOTAscGIwX3M6NjExLHBiX3JxX2F1dGh6OjQ0NixwYl9ycV9jdHRfY2ZtOjQ0NyxwYmNfZTo2NjMscGJjX3M6NjYyLHBiZl9jOjkyLHBicDo0ODYscGJyZXN1bWU6MjkyLHBiczo0ODcscGJ1OjI5MyxwYzo0ODgscGNjOjU0NixwY2U6NTQ3LHBjcTo1NDQscGNyOjU0NSxwY3VfYXA6ODA5LHBjdV9jZTo1ODEscGN1X2NzOjU4MCxwY3VfcmU6ODA4LHBjdV9yczo4MDcsCnBjdV9zOjgwNSxwY3Vfc2U6ODA2LHBkYToyOTQscGRjOjI5NSxwZHI6Mjk2LHBlOjI5NyxwZW1fcjo0NDQscGVtX3JxOjQ0NSxwZmplOjMwOSxwZnJyOjMwNSxwZnJzOjMwNixwZnM6MzA3LHBmdDozMDgscGZ0X2k6OTMscGxfYzoyOTEscGxfaTo0ODkscGxfaW50OjQ5MCxwbF9yOjQ5MSxwbF9yYzo3MDMscGxfczo0OTIscGxfc3M6NDkzLHBsZXY6MzEwLHBsanNfcjo0NDgscGxqc19ycTo0NDkscGx2czo3MjMscG90X2FmOjk3LHBvdF9hczo5Nixwb3RfY21lOjU2OSxwb3RfY21mOjI5OSxwb3RfY21zOjI5OCxwb3RfY3NtZTo1NzAscG90X2NzbWY6MzAxLHBvdF9jc21zOjMwMCxwb3RfaWY6MzA0LHBvdF9pbml0Zjo5NSxwb3RfaXNjOjMwMixwb3RfaXN0OjMwMyxwb3Rfc2U6NTY1LHBvdF9zZjo1NjQscG90X3NzOjU2Myxwb3RfeGU6NTY4LHBvdF94Zjo1NjcscG90X3hzOjU2Nixwb3RwZTo5NCxwcHU6OTgscHJvY19rOjYxMyxwcm9jX2tfbDo2MTQscHM6MzExLHBzX2JzOjY0Nyxwc19jOjQ5NCwKcHNfZXM6OTkscHNfcGE6NjgxLHBzX3BpaGY6NTk3LHBzX3BpaHM6NTk2LHBzX3I6MzYwLHBzX3M6MzYxLHBzX3NnZjo1OTUscHNfc2dzOjU5NCxwc25yOjQ5NSxwc25zOjQ5Nixwc3BlOjEwMCxwc3BzOjEwMSxwdF9tZTo4MTUscHRfbWY6ODE0LHB0X21zOjgxMyxwdF9waWU6ODEyLHB0X3BpZjo4MTEscHRfcGlzOjgxMCxwdF9waXNoOjYwNixwdnJpOjUxOCxwd2M6MzEyLHFvZXM6MzEzLHJfY19zbGQ6NDUwLHJfY19zcnE6NDUxLHJfY29ubmVjdF9iYWNrZW5kOjQ1MixyX2Nvbm5lY3RfYmFja2VuZF9zdWNjZXNzOjQ1MyxyX2Nvbm5lY3RlZDo0NTQscl9jb25zdHJ1Y3Rpb246NDU1LHJfZGlzY29ubmVjdGVkOjQ1NixyX2ViaTo2NjQscl9lb2Q6NTg1LHJfZjo0NTcscl9vcjo3MTMscl9wbDoxMDUscl9wczoxMDYscl9ycV9wbHk6NDU4LHJfc19wbHlsc3Q6NDU5LHJfc192aWQ6NDYwLHJfc3RhdHVzX3VwZGF0ZTo0NjEscl90cjoxMDcscl92dGM6MTA0LHJfd2lwYmM6NTg0LHJfd25yOjc5MiwKcl93bnM6NzkxLHJfd3JyOjEwMyxyX3dyczoxMDIscl93c3JwOjYwOSxyX3dzcnI6NjA4LHJfd3Nyczo2MDcscmN2XzozMTQscmVtb3ZlX3NwbGFzaDo0NjIscmVxXzozMTUscmZnOjMxNixyZ3JfbnJmOjYwMCxyZ3Jfczo1OTkscnBlOjgxNixycGx5X3JxZDo0NjMscnBzOjgxNyxyc19zOjUwOCxyc2FlX3BjOjMzMixyc2FlX3BlajozMzQscnNhZV9wajozMzMscnNiZV9wYzozMjMscnNiZV9wZWo6MzI1LHJzYmVfcGo6MzI0LHJzZV9wYzozMjAscnNlX3BlajozMjIscnNlX3BqOjMyMSxyc2VmX3BjOjMyOSxyc2VmX3BlajozMzEscnNlZl9wajozMzAscnNlc19wYzozMjYscnNlc19wZWo6MzI4LHJzZXNfcGo6MzI3LHJzZl9wYzozMTcscnNmX3BlajozMTkscnNmX3BqOjMxOCxydGltZV86MzM1LHJ1cmxfZToxMDgscnVybF9yOjEwOSxydXJsX3M6MTEwLHJ1cmxwZToxMTEscnVybHBzOjExMixzM3Rfcjo0NzIsc2FfZjo2MjQsc2FfZm86NjI1LHNhX3M6NjIzLHNhZl9mcDo2NjUsc2FmX3I6NjY2LApzYWZfcmU6NjY3LHNhc19pOjYyNixzY2dhdF9mZnM6NTYwLHNjZ2F0X2ZzOjU1OSxzZGFfZjo2MDUsc2RhX2k6NjA0LHNkYV9yZWNwOjYwMSxzZGFfcnNwcDo2MDMsc2RhX3JzcHI6NjAyLHNkbF9lOjY1NSxzZGxfczo2NTQsc2RsX3Q6NjU2LHNmX2k6MTEzLHNnc2Nfcjo3ODEsc2dzY19zOjc4MCxzaG93X2NhbGxfdG9fY2FzdDo0NjQsc2hyYl9jOjE2NSxzaHJvX2M6MTcwLHNocm9fcjoxNjcsc2hycF9jOjE2OSxzaHJwX2xkOjE2NixzaHJwX3A6MTY4LHNvX3I6MTE5LHNvX3JlOjExOCxzb19ycToxMjAsc3BhOjExNCxzcGQ6MTE1LHNwZjoxMTYsc3Bucl9oOjY3MixzcG5yX3M6NjcxLHNwcjo2Nzgsc3JfZToxMTcsc3JfcDoxMjEsc3JfcGE6MTIyLHNyX3I6MTIzLHNyX3JlOjEyNCxzcl9zOjEyNSxzcl91aToxMjYsc3J0OjMzNixzc19yOjQ2OSxzc19zOjQ2OCxzc19zZl9zOjcyNCxzc19zZl93OjcyNSxzc25yOjEyNyxzc25zOjEyOCxzdGNwXzozMzcsc3RlX2FsZjo1ODksc3RlX2M6NTkyLApzdGVfZWxmOjU5MCxzdGVfZjo1OTEsc3RlX2Z0bDo1ODgsc3RlX2w6NTg3LHN0dHNfYjo1ODIsc3R0c19mOjU4MyxzdHZzX2Y6NjkxLHN0dnNfczo2OTAsc3ZlOjQ2NixzdnM6NDY1LHN3X2ZiOjUxMCxzd19pOjc4Myxzd19yOjQ5Nyxzd19zOjQ5OCxzd3Nucjo4MTksc3dzbnM6ODE4LHN3c3BlOjgyMSxzd3Nwczo4MjAsdGNwXzozMzgsdGVueF9sOjQ3MSx0ZW54X3I6NDcwLHRoMF9oOjYxMCx0aDBfbmM6Njc1LHRoMF9uZTo2NzYsdGgwX25yOjEyOSx0aDBfbnM6Njc0LHRoX2NfMTo3MDksdGhfZF8xOjcxMCx0aF9sXzE6MTMwLHRoX3NfMTo1NzgsdGhzYjBfZnI6MTM0LHRoc2IwX25lOjEzMSx0aHNiMF9ucjoxMzIsdGhzYjBfbnM6MTMzLHR0YzozMzksdHRjcjozNDAsdWlfbDoxMzUsdWliZl9jOjE0MSx1aWJmX3I6MTQzLHVpYmZfczoxNDIsdWlzZl9yOjE0NCx1aXd3YV9iYzo2MTksdWl3d2FfYzoxMzYsdWl3d2FfZToxNDAsdWl3d2FfcHI6MTM5LHVpd3dhX3I6MTM4LHVpd3dhX3M6MTM3LAp1bHJzX2M6MzcwLHVscnNfczozNjksdW5rbm93bjowLHVyOjM0MSx2Yzo2ODIsdmNjOjUxOSx2Y2k6NTIwLHZkYTozNDIsdmRldWM6MzQzLHZkZXVyOjM0NCx2ZGV1czozNDUsdmRuczozNDYsdmZiOjUyMSx2ZnA6MzQ3LHZoYjo1MjIsdmlyOjM0OCx2aXJjOjM0OSx2aXNfYTo1MDAsdmlzX3I6NDk5LHZpc2Y6MTQ1LHZpc2k6MTQ2LHZpc3I6MTQ3LHZpc3M6MTQ4LHZvel9jeDoxNzksdm96X2VvdToxODcsdm96X2VycjoxODQsdm96X2Vycl9tczoxODAsdm96X2Vycl9ubXA6MTgxLHZvel9lcnJfb2ZmOjE4Myx2b3pfZXJyX3VhcjoxODIsdm96X2Z0cjoxODgsdm96X2Z2YzoxODksdm96X2xyX2xzbzoxODUsdm96X2xyX21kOjE4Nix2b3pfbWY6MTcyLHZvel9tczoxNzEsdm96X3JxZjoxNzQsdm96X3JxczoxNzMsdm96X3NmOjE3OCx2b3pfc3M6MTc3LHZvel92cDoxNzUsdm96X3Z0OjE3Nix2cGw6MzUwLHZyOjM1MSx2cjEwMGs6MTQ5LHZyYl9mOjUwMSx2cmM6MzUyLHZyZXE6MzUzLHZyZmI6MTUwLAp2cmk6OSx2cnI6MzU0LHZycl9yOjQ3NCx2cnJfczo0NzMsdnJyaDoxNTEsdnNpc2ZiOjE1Mix2c2lzcjoxNTMsdnNpc3JoOjE1NCx2c2lzczoxNTUsdnRhOjM1NSx2dHJyOjUyMyx2dHJzOjUyNCx3X3N0OjE1Nix3YXNtX2ZhOjgyNix3YXNtX2ZlcnI6ODI3LHdhc21fZnc6ODI1LHdhc21fczo4MjQsd2M6MzcyLHdjcjozNTYsd2ViZmVfZTo3Mjgsd2ViZmVfZ2JtX3I6NzU4LHdlYmZlX2dibV9zOjc1Nyx3ZWJmZV9nbF9yOjc2Mix3ZWJmZV9nbF9zOjc2MSx3ZWJmZV9nc19yOjc2MCx3ZWJmZV9nc19zOjc1OSx3ZWJmZV9ndXNfcjo3MzAsd2ViZmVfZ3VzX3M6NzI5LHdlYmZlX2d2bV9zOjc2Myx3ZWJmZV9zOjcyNyx3ZmZlOjM1Nyx3ZmZzOjM1OCx3Zmc6MzU5LHduX2U6MTYyLHduX2w6MzcxLHduX3I6MTU5LHduX3JwOjQ3OCx3bl9zOjE2MCx3bl9zbDoxNjEsd25sOjE1OCx3bmxfZDo4MjMsd25sX21wOjU3MSx3bmxfcGQ6ODIyLHdubHI6NTcyLHdubHM6MTU3LHducGU6MTYzLHducHM6MTY0LAp3cDo0Nzksd3NfY2U6MTkwLHdzX3NzOjE5MSx3c19zc3I6MTkyLHljZWM6NTQ5LHljZWY6NTQ4LHljZnRyOjY0NSx5Y2lmOjU1MCx5Y21zZjo2NDQseWNyYzo3MTgseWNyZjo3MTcseWNyczo3MTQseWNyc2M6NzE1LHljcnVlYTo3MTZ9O3ZhciBtcT1nLnFpLnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtnLkdiKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsbXEpO3ZhciBQYj1nLnFpLnl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzX3x8e307Zy5HYigieXRMb2dnaW5nTGF0ZW5jeVVzYWdlU3RhdHNfIixQYik7CnZhciBLQj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj0wfXRpY2sobixXLEQsYil7Wk0odGhpcyxgdGlja18ke259XyR7V31gKXx8KEQ9e3RpbWVzdGFtcDpELGN0dEF1dGhJbmZvOmJ9LFc9e3RpY2tOYW1lOm4sY2xpZW50QWN0aW9uTm9uY2U6V30sZy5sKCJ5b3V0dWJlX3dlYl9jc2lfdGlja3NfbWlncmF0aW9uIikmJihuPVhGdFtuXSxuIT09dm9pZCAwJiYoVy50aWNrPW4sZGVsZXRlIFcudGlja05hbWUpKSxnLnpVKCJsYXRlbmN5QWN0aW9uVGlja2VkIixXLEQpKX1pbmZvKG4sVyxEKXt2YXIgYj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtaTSh0aGlzLGBpbmZvXyR7Yn1fJHtXfWApfHwobj1PYmplY3QuYXNzaWduKHt9LG4pLG4uY2xpZW50QWN0aW9uTm9uY2U9VyxnLnpVKCJsYXRlbmN5QWN0aW9uSW5mbyIsbix7Y3R0QXV0aEluZm86RH0pKX1qc3BiSW5mbyhuLFcsRCl7dmFyIGI9IiI7Zm9yKGxldCB2PTA7djxZdihuKS5sZW5ndGg7disrKVl2KG4pW3ZdIT09dm9pZCAwJiYKKGI9dj09PTA/Yi5jb25jYXQoYCR7dn1gKTpiLmNvbmNhdChgXyR7dn1gKSk7Wk0odGhpcyxgaW5mb18ke2J9XyR7V31gKXx8KGcuU0UobiwyLFcpLFc9e2N0dEF1dGhJbmZvOkR9LEQ9Zy5sKCJqc3BiX3NwYXJzZV9lbmNvZGVkX3Bpdm90Iik/bmV3IFp2KFt7fV0pOm5ldyBadixyZShELFVrciw3LHlZMSxuKSxmMmooRCxXKSl9c3BhbihuLFcsRCxiKXt2YXIgdj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtpZihifHwhWk0odGhpcyxgc3Bhbl8ke3Z9XyR7V31gKSluLmNsaWVudEFjdGlvbk5vbmNlPVcsZy56VSgibGF0ZW5jeUFjdGlvblNwYW4iLG4se2N0dEF1dGhJbmZvOkR9KX19O3ZhciBaWj13aW5kb3cscWtyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy50aW1pbmc9e307dGhpcy5jbGVhclJlc291cmNlVGltaW5ncz0oKT0+e307CnRoaXMud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9Owp0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5tc0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5vQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9fX0sVUg9WloucGVyZm9ybWFuY2V8fFpaLm1velBlcmZvcm1hbmNlfHxaWi5tc1BlcmZvcm1hbmNlfHxaWi53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IHFrcjt2YXIgd2I9ITEsbCQ9ITEsUXY9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9InBsYXllci93d3ctcGxheWVyIl0nOiJwYyIsJ3NjcmlwdFtuYW1lPSJkZXNrdG9wX3BvbHltZXIvZGVza3RvcF9wb2x5bWVyIl0nOiJkcGoiLCdsaW5rW3JlbD0iaW1wb3J0Il1bbmFtZT0iZGVza3RvcF9wb2x5bWVyIl0nOiJkcGgiLCdzY3JpcHRbbmFtZT0ibW9iaWxlLWMzIl0nOiJtY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1jMyJdJzoibWNjIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXBob25lL2Jhc2UiXSc6Im1jcHBqIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXRhYmxldC9iYXNlIl0nOiJtY3B0aiIsCidsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX2NzcyJdJzoibWJjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX2luX3VzZXJzX21vZCJdJzoibWJsaXVqIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX291dF91c2Vyc19tb2QiXSc6Im1ibG91aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX25vbmNvcmVfbW9kIl0nOiJtYm5qIiwiI3BsYXllcl9jc3MiOiJtYnBjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfZGVza3RvcHBsYXllcl9tb2QiXSc6Im1icGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZV9ibGF6ZXJfdGFibGV0X2NzcyJdJzoibWJ0YyIsCidzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSxabmk9KDAsZy5LdCkoVUguY2xlYXJSZXNvdXJjZVRpbWluZ3N8fFVILndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzfHxVSC5tb3pDbGVhclJlc291cmNlVGltaW5nc3x8VUgubXNDbGVhclJlc291cmNlVGltaW5nc3x8VUgub0NsZWFyUmVzb3VyY2VUaW1pbmdzfHxnLkZULFVIKTt2YXIgVUM9d2luZG93O1VDLnl0Y3NpJiYoVUMueXRjc2kuaW5mb0dlbD1nLm5sLFVDLnl0Y3NpLnRpY2s9Zy5hTCk7dmFyIG85aj1bInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuQnJvd3NlUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBsYXllclJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QYW5lbFJlc3BvbnNlIl0sWDc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLmo9bjt0aGlzLnlHPVc7dGhpcy5XPUQ7dGhpcy5YPWI7dGhpcy5KPXY7dGhpcy5OPW5ldyBNYXA7bi53ZHx8KG4ud2Q9e30pO24ud2Q9ey4uLmdnMSwuLi5uLndkfX19O3ZhciBhOD1uZXcgZy5BTCgiSU5ORVJUVUJFX1RSQU5TUE9SVF9UT0tFTiIpLFZXPW5ldyBnLkFMKCJSRVNQT05TRV9QUk9DRVNTT1JfTUFQX1RPS0VOIik7dmFyIE1hPW5ldyBnLkFMKCJFTkRQT0lOVF9NQVAiKTt2YXIgeVg9Y2xhc3N7fTt2YXIgTnI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPSJwZW5kaW5nIjt0aGlzLko9W107dGhpcy5XPVtdO3RyeXtuKHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpfWNhdGNoKFcpe3RoaXMucmVqZWN0KFcpfX1zdGF0ZSgpe3JldHVybiB0aGlzLk49PT0iZnVsZmlsbGVkIj97c3RhdGU6ImZ1bGZpbGxlZCIsdmFsdWU6dGhpcy5yZXN1bHR9OnRoaXMuTj09PSJyZWplY3RlZCI/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fVgobil7WW8obil8fFlEKG4pP1NrKEhQKG4pLHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLk49ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9bixtRSh0aGlzKSl9cmVqZWN0KG4pe3RoaXMuTj0icmVqZWN0ZWQiO3RoaXMuZXJyb3I9bjttRSh0aGlzKX19LFlEPXEzKG49PmtDeChuKT9uIGluc3RhbmNlb2YgTnI6ITEpO3ZhciBjZT1uZXcgZy5BTCgiQVVUSF9TRVJWSUNFX1RPS0VOIik7dmFyIHVkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIEQ9bi55dFJlcXVlc3Q7Zy5SVShELmlucHV0KTt2YXIgYj1ELlBpPy5tb2RlPT09ImNvcnMiPyJjb3JzIjp2b2lkIDA7aWYoVy5OLnNCKXt2YXIgdj1ELmNvbmZpZzt2PVcuTi5haih2Py5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6dj8uQkc/LnNlc3Npb25JbmRleH0pO2I9ey4uLmtWKGIpLC4uLnZ9fWVsc2UgYj15aWVsZCpQUChNRXcoVyxELmNvbmZpZyxiKSk7RC5QaT17Li4uRC5QaSxoZWFkZXJzOnsuLi4oRC5QaT8uaGVhZGVycz8/e30pLC4uLmJ9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczpufX0oKX0pfX07CnVkW2cuTFhdPVtjZV07dmFyIGFqPW5ldyBnLkFMKCJSRVNQT05TRV9NQUNISU5FX1JFR0lTVFJZX1RPS0VOIiksblI9bmV3IGcuQUwoIlJFU1BPTlNFX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpO3ZhciBCZT1uZXcgZy5BTCgiRVBIRU1FUkFMX1NUT1JFX1RPS0VOIik7dmFyIG9qPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuTj1uO3RoaXMuSj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5KLEQ9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9Yi5jb25maWc/LkhuPy5STDtpZih2JiZXJiZXLmhhcyh2KSYmIWIuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz15aWVsZCpQUChIUChXLmdldCh2KSkpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGcubCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFrLmlzUHJvY2Vzc2VkKCk/KGs9RCgpLGI9eWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOmIseXRSZXF1ZXN0Om4ueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmJ9KSksCnlpZWxkKlBQKEhQKHRlKFcsdikpKSx7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpifSk6e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Yn19cmV0dXJue25leHRTdGF0ZToiTE9DQUxfUk9VVEVSIixwYXJhbXM6bn19KCl9KX19OwpvaltnLkxYXT1bblIsZy5ocChCZSldO3ZhciBkXz1jbGFzcyBleHRlbmRzIHlYe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLko9bjt0aGlzLk49V31leGVjdXRlKG4pe3ZhciBXPXRoaXMuSixEPXRoaXMuTixiPW4ueXRSZXF1ZXN0LHY9Yj8uaW5uZXJUdWJlUmVxdWVzdD8uY29udGV4dDtpZighdilyZXR1cm4gSFAoe25leHRTdGF0ZToiQVVUSCIscGFyYW1zOm59KTt2YXIgaz1bXTtpZihEJiZELmxlbmd0aD4wKWZvcihsZXQgaCBvZiBEKUQ9aC5CcyhiKSxELk4mJmsucHVzaChELk4pO2ZvcihsZXQgaCBvZiBXfHxbXSloLkJzKHYpO3JldHVybiBrLmxlbmd0aD4wP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7eWllbGQqUFAoSFAoUHJvbWlzZS5hbGwoaykpKTtyZXR1cm57bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6bn19KCl9KTpIUCh7bmV4dFN0YXRlOiJBVVRIIiwKcGFyYW1zOm59KX19O2RfW2cuTFhdPVtnLmhwKG5ldyBnLkFMKCJDT05URVhUX1BST0NFU1NPUl9NQVAiKSksZy5ocChuZXcgZy5BTCgiQVNZTkNfQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpXTt2YXIgelc9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuTj1ufWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBEPW4ueXRSZXF1ZXN0LmNvbmZpZz8ucmVxdWVzdEtleTtyZXR1cm4gRCYmVy5oYXMoRCkmJihEPVcuZ2V0KEQpLEQ9eWllbGQqUFAoSFAoRCkpKT97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpEfTp7bmV4dFN0YXRlOiJGRVRDSCIscGFyYW1zOm59fSgpfSl9fTsKeldbZy5MWF09W2lkXTt2YXIgR3h0PW5ldyBnLkFMKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIGxkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuSj1uO3RoaXMuTj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OLEQ9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9bi5jaHVua0NhbGxiYWNrLGs9e3R5cGU6IlBBR0VfQ09OVFJBQ1QifTtpZihXPy5yNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpe2xldCB4PXlpZWxkKlBQKEhQKFcuWVIoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpKSk7aWYoeCl7bGV0IEw9ITE7dmFyIGg9ZnVuY3Rpb24oZSxHKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHI9RCgpO3lpZWxkKlBQKHlxKHIse3dpcmVSZXNwb25zZTpHLHl0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6dixyZXNwb25zZVBheWxvYWQ6a30pKTtMPSEwfSgpfTsKeC5wbGF5ZXJSZXNwb25zZSYmKHlpZWxkKmgoeC5wbGF5ZXJSZXNwb25zZSx7cGxheWVyUmVzcG9uc2U6eC5wbGF5ZXJSZXNwb25zZX0pKTt4LndhdGNoTmV4dFJlc3BvbnNlJiYoeWllbGQqaCh4LndhdGNoTmV4dFJlc3BvbnNlLHt3YXRjaE5leHRSZXNwb25zZTp4LndhdGNoTmV4dFJlc3BvbnNlfSkpO0x8fChoPUQoKSx5aWVsZCpQUCh5cShoLHt3aXJlUmVzcG9uc2U6eCx5dFJlcXVlc3Q6YixjaHVua0NhbGxiYWNrOnYscmVzcG9uc2VQYXlsb2FkOmt9KSkpO2lmKHYpcmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6a307aD1rLmNvbnRlbnR8fGsucGxheWVyfHxrLnlCO3JldHVybiBrLnR5cGU9PT0iUEFHRV9DT05UUkFDVCImJmg/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aH06e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6eH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkZhbGxiYWNrTm9kZSBmYWlsZWQgdG8gcHJvZHVjZSBhIHZhbGlkIHJlc3BvbnNlIil9fSgpfSl9fTsKbGRbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIEVDPWNsYXNzIGV4dGVuZHMgZy5ReHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoVyx7c3RhdHVzOkQsLi4uW119KTt0aGlzLnR5cGU9bjt0aGlzLnN0YXR1cz1EO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBsQj1uZXcgZy5BTCgiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFRXPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXLEQsYil7c3VwZXIoKTt0aGlzLnlHPW47dGhpcy5OPVc7dGhpcy5XPUQ7dGhpcy5KPWJ9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLnlHLEQ9dGhpcy5OLGI9dGhpcy5XLHY9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBrPW4ueXRSZXF1ZXN0LGg9bi5jaHVua0NhbGxiYWNrLHg9ay5jb25maWc/LnJlcXVlc3RLZXksTD1KU09OLnN0cmluZ2lmeShrLmlubmVyVHViZVJlcXVlc3QpLGU9ey4uLmsuUGksYm9keTprLlBpLm1ldGhvZD09PSJQT1NUIj9MOnZvaWQgMH07ay5jb25maWc/LkxhJiZnLmFMKGsuY29uZmlnLkxhKTt2YXIgRz17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHI9MCxOPXk9PntFbyhiKCkse3dpcmVSZXNwb25zZTp5LHl0UmVxdWVzdDprLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6R30scisrKX07Ckw9KCk9Pmg/Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcsTik6Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcpOwp0cnl7dmFyIEg9dj92LlFOKGssTCk6TCgpfWNhdGNoKHkpe0g9UHJvbWlzZS5yZWplY3QoeSl9eCYmRCYmRC5zZXQoeCxIKTt0cnl7dmFyIEE9eWllbGQqUFAoSFAoSCkpfWNhdGNoKHkpe3JldHVybiBnLmwoIndlYl9lbmFibGVfcmV0cmllcyIpJiYoQT15IGluc3RhbmNlb2YgVHlwZUVycm9yJiZ5Lm1lc3NhZ2U9PT0iRmFpbGVkIHRvIGZldGNoIj8xOjAsVW8oQSkpP3tuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLm4sZXJyb3I6bmV3IEVDKEEseS5tZXNzYWdlKSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTp7bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX19eCYmRCYmRC5kZWxldGUoeCk7ZWsoeEQoay5pbnB1dCkpKCk7ay5jb25maWc/LlJWJiZnLmFMKGsuY29uZmlnLlJWKTtpZighQSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX07aWYoQSYmdHlwZW9mIEE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoQSkmJih4PUEseC5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJgooeD14LmVycm9yTWV0YWRhdGEuc3RhdHVzLEg9eD09PTUwM3x8eD09PTUwNHx8eD09PTQyOT8yOng+PTQwMCYmeDw1MDB8fHg+PTUwMD8zOjAsVW8oSCkmJmcubCgid2ViX2VuYWJsZV9yZXRyaWVzIikpKSlyZXR1cm57bmV4dFN0YXRlOiJSRVRSWSIscGFyYW1zOnsuLi5uLGVycm9yOm5ldyBFQyhILGBIVFRQIFN0YXR1cyAke3h9YCx4KSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTshaCYmQSYmKHg9YigpLHg9eWllbGQqUFAoRW8oeCx7d2lyZVJlc3BvbnNlOkEseXRSZXF1ZXN0OmsscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn19KSksSD14LmNvbnRlbnR8fHgucGxheWVyfHx4LnlCLHgudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmSCYmKEE9SCkpO3g9QTtpZihBcnJheS5pc0FycmF5KEEpKWlmKEE9QS5maWx0ZXIoeT0+ISh5LnBsYXllclJlc3BvbnNlfHx5LndhdGNoTmV4dFJlc3BvbnNlfHx5KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLEEubGVuZ3RoPT09CjEpeD1BWzBdOwplbHNlIGlmKEEubGVuZ3RoPjEpeD1BLmZpbmQoeT0+eS53YXRjaE5leHRSZXNwb25zZSl8fEFbMF07CmVsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmV0Y2hOb2RlIHByb2R1Y2VkIG9ubHkgZnJhbWV3b3JrLW9ubHkgcmVzcG9uc2VzIil9O3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmgmJiFnLmwoIndlYl9ubV9mZXRjaF9jaHVua19jYWxsYmFja19rcyIpP0c6eH19KCl9KX19OwpUV1tnLkxYXT1bbEIsaWQsblIsZy5ocChuZXcgZy5BTCgiUkVRVUVTVF9TRVFVRU5DSU5HIikpXTt2YXIgams9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKCk7dGhpcy5KPW47dGhpcy5OPVd9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLk4sRD10aGlzLkosYj1uLnl0UmVxdWVzdDtyZXR1cm4gVz8uckEoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHY9eWllbGQqUFAoSFAoVy5zNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpKTt2YXIgaz1EKCk7di5wbGF5ZXJSZXNwb25zZSYmdi53YXRjaE5leHRSZXNwb25zZT8oeWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTp2LnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6bi55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazpuLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6di5wbGF5ZXJSZXNwb25zZX0pKSxrPXlpZWxkKlBQKHlxKGssCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOnYud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2LndhdGNoTmV4dFJlc3BvbnNlfSkpKTprPXlpZWxkKlBQKHlxKGsse3dpcmVSZXNwb25zZTp2LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2fSkpO3ZhciBoPWsuY29udGVudHx8ay5wbGF5ZXJ8fGsueUI7ay50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZoJiYodj1oKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTp2fX0oKX0pOkhQKHtuZXh0U3RhdGU6IkNPTlRFWFQiLApwYXJhbXM6bn0pfX07amtbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIENsPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dHJ5e3ZhciBEPXlpZWxkKlBQKFZFMihXLG4uY29tbWFuZCwhIW4uY2h1bmtDYWxsYmFjaykpfWNhdGNoKGIpe3JldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6Yn19cmV0dXJuKEQ9RC5EKG4uY29tbWFuZCxuLmZvcm0sbi5pZGVudGl0eSkpP3tuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDpELGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrfX06e25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmFpbGVkIHRvIGJ1aWxkIHJlcXVlc3QgZm9yIGNvbW1hbmQiKX19KCl9KX19OwpDbFtnLkxYXT1bTWFdO3ZhciBCUD1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OlcsYXBpUGF0aDpELGNsaWNrVHJhY2tpbmdQYXJhbXM6Yixjb25maWc6dj17Qkc6e2lkZW50aXR5OnU5fX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTprPSEwLGNodW5rQ2FsbGJhY2s6aH09bjtXLmNvbnRleHR8fChXLmNvbnRleHQ9Zy52YihiLGspKTt2YXIgeD1acihLJChEKSk7cmV0dXJue25leHRTdGF0ZToiQ0FDSEUiLHBhcmFtczp7eXRSZXF1ZXN0OntpbnB1dDp4LFBpOlV6KHgpLGlubmVyVHViZVJlcXVlc3Q6Vyxjb25maWc6dn0sY2h1bmtDYWxsYmFjazpofX19KCl9KX19O3ZhciB0NE09Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50ZT1ufXJ1bihuLFcpe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBiPW4sdj1XLGs9W107Oyl7ay5wdXNoKFN0cmluZyhiKSk7dj15aWVsZCpQUChELnRlW2JdLmV4ZWN1dGUodikpO2lmKHYubmV4dFN0YXRlPT09IkRPTkUiKXJldHVybiBrLnB1c2goIkRPTkUiKSx2LnZhbHVlO2lmKHYubmV4dFN0YXRlPT09IkZBSUxFRCIpdGhyb3cgay5wdXNoKGBGQUlMRUQoJHt2LmVycm9yLm1lc3NhZ2V8fCJlcnJvciJ9KWApLHYuZXJyb3I7Yj12Lm5leHRTdGF0ZTt2PXYucGFyYW1zfX0oKX0pfX07Zy5Ncj1jbGFzcyBleHRlbmRzIHQ0TXt9O2cuTXIucHJvdG90eXBlLkQ9V1ooMSk7Zy5NcltnLkxYXT1bd19dO3ZhciBGNz1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIFc9bi55dFJlcXVlc3QsRD1uLmVycm9yLGI9bi5hdHRlbXB0LHY9bi5jaHVua0NhbGxiYWNrLGs9Vy5jb25maWc/Llh4O2lmKCEoayYmRCBpbnN0YW5jZW9mIEVDJiZVbyhELnR5cGUpKXx8Yj4oay5tYXhSZXRyaWVzPz8wKSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnt5dFJlcXVlc3Q6VyxjaHVua0NhbGxiYWNrOnZ9fTt2YXIgaD0oRD1rLmtVKT9ELlBaKGIpOi0xO2g9PT0tMSYmKGg9MUUzKTtrLlQ2IT09dm9pZCAwJiYoaD1NYXRoLm1pbihoLGsuVDYpKTt5aWVsZCpQUChIUChuZXcgUHJvbWlzZSh4PT57Zy5WeCgwLHgsNCxoKX0pKSk7CnJldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpXLGNodW5rQ2FsbGJhY2s6dixhdHRlbXB0OmJ9fX0oKX0pfX07dmFyIFJqPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLmNodW5rQ2FsbGJhY2ssRD1uLnJlc3BvbnNlUGF5bG9hZCxiPW4ud2lyZVJlc3BvbnNlO1cmJihXKEQpLCJwbGF5ZXJSZXNwb25zZSJpbiBiJiZiLnBsYXllclJlc3BvbnNlJiYoZy5EeSgpLGJRKDQpKSk7cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6RH19KCl9KX19O3ZhciAkejI9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLFFxPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLm9uZVBsYXRmb3JtRXJyb3I7aWYoVyYmImRldGFpbHMiaW4gVyYmVy5kZXRhaWxzKXtXPVcuZGV0YWlscztmb3IobGV0IEQgb2YgVylpZigoVz1EWyJAdHlwZSJdKSYmJHoyLmluZGV4T2YoVyk+LTEpcmV0dXJuIGRlbGV0ZSBEWyJAdHlwZSJdLHtuZXh0U3RhdGU6IlBST0NFU1NfUkVTUE9OU0UiLApwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkVycm9yIHJlc3BvbnNlIGNvdWxkIG5vdCBiZSB1bnBhY2tlZCIpfX0oKX0pfX07dmFyIFZxPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3ZhciBXPXRoaXMuTjtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgRD1uLmV4dHJhY3RlZFJlc3BvbnNlLGI9bi55dFJlcXVlc3Qsdj1uLnJlc3BvbnNlUGF5bG9hZCxrPW4ud2lyZVJlc3BvbnNlO2lmKEQmJiEoImNvZGUiaW4gRHx8ImVycm9yImluIEQpJiYhRC5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2Ygc28pV1toXSYmV1toXS5oYW5kbGVSZXNwb25zZShELGIpO2sud2F0Y2hOZXh0UmVzcG9uc2V8fGsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2sud2F0Y2hOZXh0UmVzcG9uc2U/di5jb250ZW50PWsud2F0Y2hOZXh0UmVzcG9uc2U6di5jb250ZW50PWsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2U/di5wbGF5ZXI9ay5wbGF5ZXJSZXNwb25zZTprLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CnYueUI9ay5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOnYuY29udGVudD1rO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczpufX0oKX0pfX07ClZxW2cuTFhdPVtWV107dmFyIFdHPWNsYXNzIGV4dGVuZHMgdDRNe307V0dbZy5MWF09W2FqXTt2YXIgY1A9Y2xhc3MgZXh0ZW5kcyB5WHtleGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBXPW4ud2lyZVJlc3BvbnNlLEQ7QXJyYXkuaXNBcnJheShXKT9EPVdbMF06dHlwZW9mIFc9PT0ib2JqZWN0IiYmVyE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gV3x8IndhdGNoTmV4dFJlc3BvbnNlImluIFd8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gV3x8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gVyk/RD1XLnBsYXllclJlc3BvbnNlfHxXLndhdGNoTmV4dFJlc3BvbnNlfHxXLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Vy5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOkQ9VztyZXR1cm4gRCYmImVycm9yImluIEQ/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4ubixvbmVQbGF0Zm9ybUVycm9yOkQuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fSgpfSl9fTt2YXIgUEd4PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBDOGJ9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixMdTEpfHx2b2lkIDB9SihuLFcsRD17fSl7Vy5jaGFubmVsSWRzJiYobi5jaGFubmVsSWRzPVcuY2hhbm5lbElkcyk7Vy5zaWxvTmFtZSYmKG4uc2lsb05hbWU9Vy5zaWxvTmFtZSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7RC5ib3RndWFyZFJlc3BvbnNlJiYobi5ib3RndWFyZFJlc3BvbnNlPUQuYm90Z3VhcmRSZXNwb25zZSk7RC5mZWF0dXJlJiYobi5jbGllbnRGZWF0dXJlPUQuZmVhdHVyZSl9fTt2YXIgWmh0PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBCeWl9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixoblUpfHx2b2lkIDB9SihuLFcpe1cuY2hhbm5lbElkcyYmKG4uY2hhbm5lbElkcz1XLmNoYW5uZWxJZHMpO1cuc2lsb05hbWUmJihuLnNpbG9OYW1lPVcuc2lsb05hbWUpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpfX07dmFyIFI4PWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNKPW59Vygpe3JldHVybiBkJFN9TihuKXtyZXR1cm4gZy53KG4sdXhDKXx8Zy53KG4sb05pKXx8Zy53KG4saXpTKX1KKG4sVyl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO1cuY2xpZW50UGFyYW1JZGVudGlmaWVyJiZ0aGlzLmNKPy5OKFcuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKG4uY2xpZW50UGFyYW1zPXRoaXMuY0ouSihXLmNsaWVudFBhcmFtSWRlbnRpZmllcikpfX07UjhbZy5MWF09W25ldyBnLkFMKCJTSEFSRV9DTElFTlRfUEFSQU1TX1BST1ZJREVSX1RPS0VOIildO3ZhciBtZlM9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGxPTX1nZXQgaigpe3JldHVybiEwfU4obil7cmV0dXJuIGcudyhuLFNZdyl8fHZvaWQgMH1KKG4sVyxEKXtuLmZlZWRiYWNrVG9rZW5zPVtdO1cuZmVlZGJhY2tUb2tlbiYmbi5mZWVkYmFja1Rva2Vucy5wdXNoKFcuZmVlZGJhY2tUb2tlbik7aWYoVz1XLmNwbnx8RC5jcG4pbi5mZWVkYmFja0NvbnRleHQ9e2NwbjpXfTtuLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPSEhRC5pc19mZWVkYmFja190b2tlbl91bmVuY3J5cHRlZDtuLnNob3VsZE1lcmdlPSExO0QuZXh0cmFfZmVlZGJhY2tfdG9rZW5zJiYobi5zaG91bGRNZXJnZT0hMCxuLmZlZWRiYWNrVG9rZW5zPW4uZmVlZGJhY2tUb2tlbnMuY29uY2F0KEQuZXh0cmFfZmVlZGJhY2tfdG9rZW5zKSl9fTt2YXIgSzRpPWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBUeXd9TihuKXtyZXR1cm4gZy53KG4sa2l3KXx8dm9pZCAwfUoobixXKXtXLnBhcmFtcyYmKG4ucGFyYW1zPVcucGFyYW1zKTtXLnNlY29uZGFyeVBhcmFtcyYmKG4uc2Vjb25kYXJ5UGFyYW1zPVcuc2Vjb25kYXJ5UGFyYW1zKX19O3ZhciBPaHI9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGpkeH1OKG4pe3JldHVybiBnLncobixuWEMpfHx2b2lkIDB9SihuLFcpe1cuYWN0aW9ucyYmKG4uYWN0aW9ucz1XLmFjdGlvbnMpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpO1cucGxheWxpc3RJZCYmKG4ucGxheWxpc3RJZD1XLnBsYXlsaXN0SWQpfX07dmFyIFVmWj1jbGFzcyBleHRlbmRzIFBDe1coKXtyZXR1cm4gem50fU4obil7cmV0dXJuIGcudyhuLGRJeCl9SihuLFcsRD17fSl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO0QuaW5jbHVkZUxpc3RJZCYmKG4uaW5jbHVkZUxpc3RJZD0hMCl9fTt2YXIgUVc9bmV3IGcuQUwoIlJFU09MVkVfVVJMX1BSRUZFVENIX1RPS0VOIik7dmFyIGpZPW5ldyBnLkFMKCJDTElFTlRfTkFNRV9UT0tFTiIpO3ZhciBDZj1uZXcgZy5BTCgiREVGQVVMVF9TVE9SRV9FWFBJUkFUSU9OX1RPS0VOIik7dmFyIHJaaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuY2xpZW50TmFtZT1uO3RoaXMuSj1XfWFzeW5jIHB1dChuLFcpe1c9ey4uLlcuZGF0YX07Vy5rZXk9bjtXLmNsaWVudE5hbWU9dGhpcy5jbGllbnROYW1lO1cuZXhwaXJlVGltZXN0YW1wTXM9PT12b2lkIDAmJihXLmV4cGlyZVRpbWVzdGFtcE1zPShNYXRoLnJvdW5kKCgwLGcuUikoKSkrdGhpcy5KKS50b1N0cmluZygpKTtyZXR1cm4gRHcodGhpcyxuLFcpfX07clpoW2cuTFhdPVtqWSxDZl07dmFyIGJoPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuZGF0YT17Li4ubn07ZGVsZXRlIHRoaXMuZGF0YS5pbm5lcnR1YmVSZXNwb25zZT8uZnJhbWV3b3JrVXBkYXRlc31pc0V4cGlyZWQoKXtyZXR1cm4gTnVtYmVyKHRoaXMuZGF0YS5leHBpcmVUaW1lc3RhbXBNc3x8MCk8KDAsZy5SKSgpfWlzUHJvY2Vzc2VkKCl7cmV0dXJuISF0aGlzLmRhdGEuaXNQcm9jZXNzZWR9fTt2YXIgQTNqPWNsYXNzIGV4dGVuZHMgclpoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLk49bmV3IE1hcH1hc3luYyBnZXQobil7cmV0dXJuIHZHKHRoaXMsbil9YXN5bmMgcmVtb3ZlKG4pe2tNKHRoaXMsbil9YXN5bmMgVGkoKXt0aGlzLk4uZm9yRWFjaChuPT57Y2xlYXJUaW1lb3V0KG4udGltZXIpfSk7CnRoaXMuTi5jbGVhcigpfWhhcyhuKXtyZXR1cm4hIXRoaXMuTi5nZXQobil9dUIoKXtyZXR1cm4gdGhpcy5OLmtleXMoKX19O3ZhciBzb2I9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIHN2Mn1OKG4pe3JldHVybiBnLncobixUZSl9SihuLFcpe1cudmlkZW9JZCYmKG4ucGxheWVyUmVxdWVzdD17dmlkZW9JZDpXLnZpZGVvSWR9LFcucGxheWVyUGFyYW1zJiYobi5wbGF5ZXJSZXF1ZXN0LnBhcmFtcz1XLnBsYXllclBhcmFtcyksVy5yYWN5Q2hlY2tPayYmKG4ucGxheWVyUmVxdWVzdC5yYWN5Q2hlY2tPaz0hIVcucmFjeUNoZWNrT2spLFcuY29udGVudENoZWNrT2smJihuLnBsYXllclJlcXVlc3QuY29udGVudENoZWNrT2s9ISFXLmNvbnRlbnRDaGVja09rKSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7Vy5pbnB1dFR5cGUmJihuLmlucHV0VHlwZT1XLmlucHV0VHlwZSk7bi5kaXNhYmxlUGxheWVyUmVzcG9uc2U9ITB9VihuKXt2YXIgVzsobj10aGlzLlgobikpJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3JlZWxzX3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InJfd3JzIixXLlJWPSJyX3dyciIpOwpyZXR1cm4gV31YKG4pe249dGhpcy5OKG4pO2lmKG4/LnZpZGVvSWQpe3ZhciBXPXt2aWRlb0lkOm4udmlkZW9JZH07bi5wYXJhbXMmJihXLnBhcmFtcz1uLnBhcmFtcyk7cmV0dXJuIHlIKCJyZWVsX2l0ZW1fd2F0Y2giLFcpfX19O3ZhciBOdE09bmV3IGcuQUwoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBZa1M9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj1wRmksVz1xTihVeGooKSk7dGhpcy5zdG9yZT0kZihuLHZvaWQgMCxXKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2gobil7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2gobil9c3Vic2NyaWJlKG4pe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShuKX1yZXBsYWNlUmVkdWNlcihuKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihuKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgUzU9Y2xhc3N7Y29uc3RydWN0b3Iobj1bXSl7dGhpcy5OPVtdO3RoaXMuVz10aGlzLko9MDt0aGlzLlg9dm9pZCAwO3RoaXMudG90YWxMZW5ndGg9MDtuLmZvckVhY2goVz0+e3RoaXMuYXBwZW5kKFcpfSl9aigpe3JldHVybiB0aGlzLnRvdGFsTGVuZ3RofWFwcGVuZChuKXtpZih4TSh0aGlzLG4pKXtsZXQgVz10aGlzLk5bdGhpcy5OLmxlbmd0aC0xXTsKdGhpcy5OW3RoaXMuTi5sZW5ndGgtMV09bmV3IFVpbnQ4QXJyYXkoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoK24ubGVuZ3RoKTtMUih0aGlzKX1lbHNlIHRoaXMuTi5wdXNoKG4pO3RoaXMudG90YWxMZW5ndGgrPW4ubGVuZ3RofXNwbGl0KG4pe3ZhciBXPW5ldyBTNSxEPW5ldyBTNTtmb3IobGV0IGIgb2YgdGhpcy5OKW4+PWIubGVuZ3RoPyhXLmFwcGVuZChiKSxuLT1iLmxlbmd0aCk6bj8oVy5hcHBlbmQobmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0LG4pKSxELmFwcGVuZChuZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQrbixiLmxlbmd0aC1uKSksbj0wKTpELmFwcGVuZChiKTtyZXR1cm57Q3M6VyxZOTpEfX1pc0ZvY3VzZWQobil7cmV0dXJuIG4+PXRoaXMuVyYmbjx0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RofWZvY3VzKG4pe2lmKCF0aGlzLmlzRm9jdXNlZChuKSl7Zm9yKG48dGhpcy5XJiZMUih0aGlzKTt0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RoPD0KbiYmdGhpcy5KPHRoaXMuTi5sZW5ndGg7KXRoaXMuVys9dGhpcy5OW3RoaXMuSl0ubGVuZ3RoLHRoaXMuSis9MTt0aGlzLlg9dm9pZCAwfX19O3ZhciBZTSxORCxmUjtnLk5tPSgoKT0+e3ZhciBuPWI9Pm5ldyBVaW50OEFycmF5KGIpLFc9Yj0+e3ZhciB2PW5ldyBVaW50OEFycmF5KGIubGVuZ3RoKTsKZm9yKGxldCBrPTA7azxiLmxlbmd0aDtrKyspdltrXT1iW2tdO3JldHVybiB2fSxEPW5ldyBVaW50OEFycmF5KFsxXSk7CnJldHVybiBELmxlbmd0aD09PTEmJkRbMF09PT0xP246V30pKCk7CllNPUFycmF5KDEwMjQpO05EPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7ZlI9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDt2YXIgQVI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW47dGhpcy5wb3M9MDt0aGlzLko9LTF9fTt2YXIgejY9Y2xhc3N7Y29uc3RydWN0b3Iobj00MDk2KXt0aGlzLldWPXZvaWQgMDt0aGlzLnBvcz0wO3RoaXMuSj1bXTt0aGlzLk49ZGQobik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLk4uYnVmZmVyLHRoaXMuTi5ieXRlT2Zmc2V0LHRoaXMuTi5ieXRlTGVuZ3RoKX19O3ZhciBhdz17YW5pbWF0aW9uRW50aXR5OjMwMixhY2NvdW50TGlua1N0YXR1c0VudGl0eToxMjIsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTo2MzAsYm9vbGVhbkVudGl0eTozMDcsYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTo2MzcsYnV0dG9uRW50aXR5OjM1OCxjYXB0aW9uVHJhY2s6MjI1LGNoYW5uZWxIYW5kbGU6Mjc1LGNoaXBFbnRpdHk6NDk4LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OjI3Nixjb21tZXJjZUNhcnRMaXN0RW50aXR5OjIzNixjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTo1MzIsY29tcG9zaXRlU291cmNlRW50aXR5OjU5NCxjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOjQ4Myxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOjU3Nixjb250aW51YXRpb25Ub2tlbkVudGl0eTo0MDYsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OjIwMixkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OjI5OSwKZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OjI2NCxkb3dubG9hZFN0YXR1c0VudGl0eToxNDEsZGlzbWlzc1N0YXRlOjU0MCxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OjE4NixlbW9qaUZvdW50YWluRGF0YUVudGl0eTozOTMsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OjQ5NixmYWtlQ2hhbm5lbDoyLGZha2VQbGF5bGlzdDoyNzksZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOjI4MCxmYWtlVmlkZW86MTgyLGZha2VWaWRlb0Rlc2NyaXB0aW9uOjI3OCxmZWF0dXJlZFByb2R1Y3RzRW50aXR5OjM5MixzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHk6NTk4LGZsb3dTdGF0ZUVudGl0eToyNTIsaWNvbkJhZGdlRW50aXR5OjIyOSxpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5OjQ0MyxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OjU2NyxsaXZlQ2hhdFBvbGxTdGF0ZUVudGl0eToyMTcsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTo1NjMsCmxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eTo1NjQsbGl2ZVJlYWN0aW9uc0RhdGFFbnRpdHk6NTAzLGxvZ29FbnRpdHk6MjQ1LG1hY3JvTWFya2VyRW50aXR5OjMyOSxtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eToxNTgsbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6MTY0LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6MzczLG1haW5QbGF5bGlzdEVudGl0eTozMDYsbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6MzY4LG1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6MjYyLG1haW5WaWRlb0VudGl0eToyNjEsbWFya2Vyc0VuZ2FnZW1lbnRQYW5lbFN5bmNFbnRpdHk6MTk2LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6MzEyLG11c2ljQWxidW1SZWxlYXNlRGV0YWlsOjE4LG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eToyNTksbXVzaWNBbGJ1bVJlbGVhc2U6MTcsbXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsOjE5LG11c2ljQXJ0aXN0RGV0YWlsOjIxLAptdXNpY0FydGlzdDoyMCxtdXNpY0FydGlzdFVzZXJEZXRhaWw6MjIsbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OjI1NyxtdXNpY0xpYnJhcnlFZGl0OjEyMSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6MzE4LG11c2ljUGxheWxpc3Q6MjQsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjQ4LG11c2ljU2hhcmU6MTAwLG11c2ljVHJhY2tEZXRhaWw6MjksbXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjM0LG11c2ljVHJhY2s6MjgsbXVzaWNUcmFja1VzZXJEZXRhaWw6MzAsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OjE2OSxvZmZsaW5lVmlkZW9Qb2xpY3k6MTMwLG9mZmxpbmVWaWRlb1N0cmVhbXM6MTk4LG9mZmxpbmVhYmlsaXR5RW50aXR5OjI0NixvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6MjQyLHBhZ2VIZWFkZXJFbnRpdHk6NDk1LHBhcnR5R2FtZVBhbmVsRW50aXR5OjYxOCxzbGlkZXJHYW1lUGFuZWxFbnRpdHk6NjMzLApwZHBTdGF0ZUVudGl0eTo1MjQscGlubmVkUHJvZHVjdEVudGl0eToyNzMscGxheWJhY2tEYXRhOjExOSxwbGF5ZXJTdGF0ZUVudGl0eTozMjMscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTo1MzkscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTozNTYscmVmcmVzaDoxNDgsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OjIzMSxzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6NDc5LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTo2MzQsc2V0dGluZ0VudGl0eToyOTcsc3RyaW5nRW50aXR5OjM4MixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTo0ODUsdHJhbnNmZXI6MTIwLHRyZW5kaW5nT2ZmZXJFbnRpdHk6NDY5LHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OjYzNSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTo0NjEsdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTo1NDUsdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5Ojc2LHZvdGluZ0VudGl0eTo1NjEsCnl0TWFpbkNoYW5uZWxFbnRpdHk6MTUyLHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6NTUzLHl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eToxNTUseXRNYWluVmlkZW9FbnRpdHk6MTUxfSxWQT17fTtmb3IobGV0IFtuLFddb2YgT2JqZWN0LmVudHJpZXMoYXcpKXtsZXQgRD1uLGI9VztiJiYoVkFbYl09RCl9O3ZhciB2ZTt2YXIgSDZ0PSExLGdOLGhFLHgkLExmLGVZLGZIYj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNvdW50ZXI9WzAsMCwwLDBdO3RoaXMuSj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5OPTE2O2lmKCFINnQpe3ZhciBXLEQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxiPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIHY9MTtmb3IoVz0wO1c8MjU2O1crKylEW3ZdPVcsYltXXT12LHZePXY8PDFeKHY+PjcmJjI4Myk7Z049bmV3IFVpbnQ4QXJyYXkoMjU2KTtoRT1rJCgyNTYpO3gkPWskKDI1Nik7TGY9ayQoMjU2KTtlWT1rJCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7dj1oP2JbMjU1XkRbaF1dOjA7dl49djw8MV52PDwyXnY8PDNedjw8NDt2PXYmMjU1XnY+Pj44Xjk5O2dOW2hdPXY7Vz12PDwxXih2Pj43JiYyODMpO3ZhciBrPVdedjtoRVtoXT1XPDwyNHx2PDwxNnx2PDw4fGs7eCRbaF09azw8MjR8aEVbaF0+Pj44O0xmW2hdPXY8PDI0fHgkW2hdPj4+Cjg7ZVlbaF09djw8MjR8TGZbaF0+Pj44fUg2dD0hMH12PWskKDQ0KTtmb3IoRD0wO0Q8NDtEKyspdltEXT1uWzQqRF08PDI0fG5bNCpEKzFdPDwxNnxuWzQqRCsyXTw8OHxuWzQqRCszXTtmb3IoYj0xO0Q8NDQ7RCsrKW49dltELTFdLEQlNHx8KG49KGdOW24+PjE2JjI1NV1eYik8PDI0fGdOW24+PjgmMjU1XTw8MTZ8Z05bbiYyNTVdPDw4fGdOW24+Pj4yNF0sYj1iPDwxXihiPj43JiYyODMpKSx2W0RdPXZbRC00XV5uO3RoaXMua2V5PXZ9ZW5jcnlwdChuKXt2YXIgVz1uLmxlbmd0aDtuPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyLnNsaWNlKG4uYnl0ZU9mZnNldCxuLmJ5dGVPZmZzZXQrVykpO2Zvcih2YXIgRD10aGlzLkosYj0wO2I8VyYmdGhpcy5OPDE2OyluW2IrK11ePURbdGhpcy5OKytdO2Zvcih2YXIgdj1XLShXLWIpJTE2O2I8djspWDgodGhpcyksbltiKytdXj1EWzBdLG5bYisrXV49RFsxXSxuW2IrK11ePURbMl0sbltiKytdXj1EWzNdLG5bYisrXV49RFs0XSxuW2IrK11ePQpEWzVdLG5bYisrXV49RFs2XSxuW2IrK11ePURbN10sbltiKytdXj1EWzhdLG5bYisrXV49RFs5XSxuW2IrK11ePURbMTBdLG5bYisrXV49RFsxMV0sbltiKytdXj1EWzEyXSxuW2IrK11ePURbMTNdLG5bYisrXV49RFsxNF0sbltiKytdXj1EWzE1XTtpZihiPFcpZm9yKFg4KHRoaXMpLHRoaXMuTj0wO2I8VzspbltiKytdXj1EW3RoaXMuTisrXTtyZXR1cm4gbn19O3ZhciBxYT0hMTsoKCk9Pnt2YXIgbj1iPT5uZXcgVWludDhBcnJheShiKSxXPWI9Pnt2YXIgdj1uZXcgVWludDhBcnJheShiLmxlbmd0aCk7CmZvcihsZXQgaz0wO2s8Yi5sZW5ndGg7aysrKXZba109YltrXTtyZXR1cm4gdn0sRD1uZXcgVWludDhBcnJheShbMV0pOwpyZXR1cm4gRC5sZW5ndGg9PT0xJiZEWzBdPT09MT9uOld9KSgpOwp2YXIgR3I7dmFyIHVvPWNsYXNze2NvbnN0cnVjdG9yKG4pe3ZhciBXPXRFKCk7VyYmKHRoaXMuTj1uZXcgZFhNKG4sVykpO3RoaXMuSj1uZXcgYjEobil9YXN5bmMgZW5jcnlwdChuLFcpe2lmKHRoaXMuTil0cnl7cmV0dXJuIGF3YWl0IHRoaXMuTi5lbmNyeXB0KG4sVyl9Y2F0Y2goRCl7Zy5HcShEKSxxYT0hMCx0aGlzLk49dm9pZCAwfXJldHVybiB0aGlzLkouZW5jcnlwdChuLFcpfWRlY3J5cHQobixXKXtyZXR1cm4gdGhpcy5lbmNyeXB0KG4sVyl9fSxkWE09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLko9V31hc3luYyBlbmNyeXB0KG4sVyl7dHJ5e3JldHVybiBhd2FpdCBiaDEodGhpcyxuLFcpfWNhdGNoKEQpe3Rocm93IGcuR3EoRCkscWE9ITAsRDt9fX0sYjE9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW59ZW5jcnlwdChuLFcpe3RoaXMuTnx8KHRoaXMuTj1uZXcgZkhiKHRoaXMuSikpO3ZhciBEPXRoaXMuTjtmb3IobGV0IGI9MDtiPDQ7YisrKUQuY291bnRlcltiXT0KV1tiKjRdPDwyNHxXW2IqNCsxXTw8MTZ8V1tiKjQrMl08PDh8V1tiKjQrM107RC5OPTE2O3JldHVybiB0aGlzLk4uZW5jcnlwdChuKX1kZWNyeXB0KG4sVyl7cmV0dXJuIHRoaXMuZW5jcnlwdChuLFcpfX07dmFyIHZtaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLmo9bmV3IFVpbnQ4QXJyYXkoNjQpO3RoaXMuVz1uZXcgVWludDhBcnJheSg2NCk7dGhpcy5YPTA7dGhpcy5WPW5ldyBVaW50OEFycmF5KDY0KTt0aGlzLko9MDt0aGlzLmouc2V0KG4pO3RoaXMuVy5zZXQobik7Zm9yKG49MDtuPDY0O24rKyl0aGlzLmpbbl1ePTkyLHRoaXMuV1tuXV49NTQ7dGhpcy5yZXNldCgpfXJlc2V0KCl7JCQodGhpcyk7dGhpcy51cGRhdGUodGhpcy5XKX11cGRhdGUobil7dmFyIFc9MCxEPW4ubGVuZ3RoO3RoaXMuWCs9RDt0aGlzLkomJnRoaXMuSitEPj02NCYmKHRoaXMuVi5zZXQobi5zdWJhcnJheSgwLDY0LXRoaXMuSiksdGhpcy5KKSxXPTY0LXRoaXMuSix0aGlzLko9MCxzZSh0aGlzLHRoaXMuViwwKSk7Zm9yKDtXKzY0PD1EO1crPTY0KXNlKHRoaXMsbixXKTtXPEQmJihuPW4uc3ViYXJyYXkoVyksdGhpcy5WLnNldChuLHRoaXMuSiksdGhpcy5KKz1uLmxlbmd0aCl9fSxyTj1bMTExNjM1MjQwOCwKMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCwKNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO3ZhciBZJD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LGhhdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuVz1uO3RoaXMuSj1XfX0saksxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIEpacj17SU5WQUxJRF9FTkNPREVSX1ZFUlNJT046IkludmFsaWQgZW5jb2RlciB2ZXJzaW9uIixLRVlfQ1JFQVRJT05fRkFJTEVEOiJGYWlsZWQgdG8gY3JlYXRlIGVuY29kZXIga2V5IixVTktOT1dOX0RFQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGRlY29kZSBQRVMgZGF0YSIsVU5LTk9XTl9FTkNPREVfRVJST1I6IkZhaWxlZCB0byBlbmNvZGUgUEVTIGRhdGEiLFdST05HX0RBVEFfVFlQRToiRW5jb2RlciBjYW5ub3QgcHJvY2VzcyB0aGUgZGF0YSB0eXBlIn0sZmY9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sVz17fSl7c3VwZXIoSlpyW25dLHtuYW1lOiJQRVNFbmNvZGVyRXJyb3IiLHR5cGU6biwuLi5XfSk7dGhpcy50eXBlPW47dGhpcy5sZXZlbD0iV0FSTklORyI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsZmYucHJvdG90eXBlKX19O3ZhciBJSGk9Y2xhc3N7fTt2YXIgU2t0PWNsYXNzIGV4dGVuZHMgSUhpe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5OPW59VyhuLFcpe1c9STgoVyk7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiB0aGlzLk4uZW5jcnlwdChuLFcpfUoobixXKXtpZighKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgZmYoIldST05HX0RBVEFfVFlQRSIse09BOjF9KTt2YXIgRD1uZXcgVGV4dERlY29kZXI7Vz1JOChXKTtuPXRoaXMuTi5kZWNyeXB0KG4sVyk7cmV0dXJuIEpTT04ucGFyc2UoRC5kZWNvZGUobikpfX07dmFyIFh5VT17YW5pbWF0aW9uRW50aXR5OmVuaSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpta2gsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTp0UFUsYm9vbGVhbkVudGl0eTpyWXIsYnV0dG9uRW50aXR5OkhNdCxjYXB0aW9uVHJhY2s6bEoyLGNoYW5uZWxIYW5kbGU6a2pNLGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6SU93LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6R2oxLGNoaXBFbnRpdHk6Z1hVLGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OlNOeCxjb21tZXJjZUNhcnRMaXN0RW50aXR5OkFNeCxjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTptJFMsY29tcG9zaXRlU291cmNlRW50aXR5OiRJTSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OnJKYixjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOnhrdCxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOkx0dyxjb250aW51YXRpb25Ub2tlbkVudGl0eTp3d1MsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmlzWiwKZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpveGgsZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OkRJMSxkb3dubG9hZFN0YXR1c0VudGl0eTp1NXQsZGlzbWlzc1N0YXRlOlhSUyxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5Old1WixlbW9qaUZvdW50YWluRGF0YUVudGl0eTpyTTEsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OiQkMixmYWtlQ2hhbm5lbDpwd0MsZmFrZVBsYXlsaXN0OllZcixmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246Zl94LGZha2VWaWRlbzpKWWIsZmFrZVZpZGVvRGVzY3JpcHRpb246SV93LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6cXZDLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpYX1MsZmxvd1N0YXRlRW50aXR5OkFZeCxpY29uQmFkZ2VFbnRpdHk6S3VqLGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6T3NpLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Ynp0LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OlBMciwKZGF0YUZyZXNobmVzc0VudGl0eTp0R3QsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTpSTzEsbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OlE0cixsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpzZGksbG9nb0VudGl0eTpLdHgsbWFjcm9NYXJrZXJFbnRpdHk6dk50LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmRrdCxtYWluRG93bmxvYWRzTGlzdEVudGl0eTpsX1osbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpUQTEsbWFpblBsYXlsaXN0RW50aXR5Ok1QdyxtYWluUGxheWxpc3RWaWRlb0VudGl0eTpSNGksbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eTpqQmksbWFpblZpZGVvRW50aXR5OmFfaixtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTprUHIsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTpoT3QsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6ZkpVLG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eTpzNHQsCm11c2ljQWxidW1SZWxlYXNlOkh6aSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6SkoxLG11c2ljQXJ0aXN0RGV0YWlsOlN2WixtdXNpY0FydGlzdDpJSlUsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOkFKaSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6TmtTLG11c2ljTGlicmFyeUVkaXQ6bUliLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpLTXcsbXVzaWNQbGF5bGlzdDpQVHgsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6cF9yLG11c2ljU2hhcmU6WnppLG11c2ljVHJhY2tEZXRhaWw6eUpTLG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5Oll2dCxtdXNpY1RyYWNrOlVJWixtdXNpY1RyYWNrVXNlckRldGFpbDpFTngsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OlRrdyxvZmZsaW5lVmlkZW9Qb2xpY3k6ajRaLG9mZmxpbmVWaWRlb1N0cmVhbXM6Q1R3LG9mZmxpbmVhYmlsaXR5RW50aXR5OkNMaSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6QkFVLApwYWdlSGVhZGVyRW50aXR5OnFOWixwYXJ0eUdhbWVQYW5lbEVudGl0eTpwUnQsc2xpZGVyR2FtZVBhbmVsRW50aXR5Ok55MSxwZHBTdGF0ZUVudGl0eTpPTWoscGlubmVkUHJvZHVjdEVudGl0eTpHUE0scGxheWJhY2tEYXRhOkJrdyxwbGF5ZXJTdGF0ZUVudGl0eTp4SVoscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eToka2IscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpQOHcscmVmcmVzaDpGTXcsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OnZYaixzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6TE13LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTpzQngsc2V0dGluZ0VudGl0eTp4JFosc3RyaW5nRW50aXR5Ok5BMixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTplT3IsdHJhbnNmZXI6d19NLHRyZW5kaW5nT2ZmZXJFbnRpdHk6dHhqLHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OmZPMix2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpNeFMsCnZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6Wk1qLHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpKTTIsdm90aW5nRW50aXR5OkdpTSx5dE1haW5DaGFubmVsRW50aXR5Om5OMix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmdOcix5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6RnRoLHl0TWFpblZpZGVvRW50aXR5OldNWn07dmFyIE5Hdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuVz1XO3RoaXMuSj17fX19O3ZhciBBWlo9Y2xhc3MgZXh0ZW5kcyBJSGl7VyhuKXtyZXR1cm4gbn1KKG4pe2lmKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBmZigiV1JPTkdfREFUQV9UWVBFIix7T0E6MH0pO3JldHVybiBufX07dmFyIGY5aT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj17fTt0aGlzLk5bMF09bmV3IEFaWjtpZighZy5sKCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgbj10aGlzLk47dHJ5e2xldCBiPU0wKCk7dmFyIFc9STgoYik7dmFyIEQ9bmV3IFNrdChuZXcgYjEoVyksbmV3IHVvKFcpKX1jYXRjaChiKXt0aHJvdyBuPWIgaW5zdGFuY2VvZiBFcnJvcj9uZXcgZmYoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6Yi5tZXNzYWdlfSk6bmV3IGZmKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksZy5YaihuKSxuO31uWzFdPUR9fX07dmFyIEozaT1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudG9rZW49bjt0aGlzLk49Vzt0aGlzLm9ic2VydmVycz1bXTtuPW5ldyBnLnFpLkJyb2FkY2FzdENoYW5uZWwoYFBFUlNJU1RFTlRfRU5USVRZX1NUT1JFX1NZTkM6JHtNMCgpfWApO24ub25tZXNzYWdlPXRoaXMuSi5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1ufW9ic2VydmUobil7dGhpcy5vYnNlcnZlcnMucHVzaChuKTtyZXR1cm4oKT0+e3ZhciBXPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2Yobik7Vz49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKFcsMSl9fUoobil7UGUodGhpcyxuLmRhdGEpfW1BKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fSx0NTt2YXIgbXpiPWcud0QoKCk9PntpZih3aW5kb3cuTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkPT09ImZ1bmN0aW9uIilyZXR1cm4gd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjUxLjA4LjAxLjAxLjAxLjAxLjAwIicpO2lmKHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWFuYWdlZE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZD09PSJmdW5jdGlvbiIpcmV0dXJuIHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuNTEuMDguMDEuMDEuMDEuMDEuMDAiJyk7dmFyIG49Zy5ycigieXQud2ViLmNvbnRyaWIuaW5uZXJ0dWJlLnJlcXVlc3RzLndhdGNoX3VpLnV0aWxzLnZpZGVvRWxlbWVudF8iKTtufHwobj1nLnpGKCJWSURFTyIpLGcuR2IoInl0LndlYi5jb250cmliLmlubmVydHViZS5yZXF1ZXN0cy53YXRjaF91aS51dGlscy52aWRlb0VsZW1lbnRfIiwKbikpO3JldHVybiEhKG4mJm4uY2FuUGxheVR5cGUmJm4uY2FuUGxheVR5cGUoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MS4wOC4wMS4wMS4wMS4wMS4wMCInKSl9KTt2YXIgTnM9eVcoKT8hMDp0eXBlb2Ygd2luZG93LmZldGNoPT09ImZ1bmN0aW9uIiYmd2luZG93LlJlYWRhYmxlU3RyZWFtJiZ3aW5kb3cuQWJvcnRDb250cm9sbGVyJiYhZy5SZz8hMDohMTt2YXIgS0hTPWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3IoKXtzdXBlcigpfVcoKXtyZXR1cm4gcXlqfU4obil7cmV0dXJuIGcudyhuLGcuSVEpfHxnLncobixUZSl8fGcudyhuLFZ4Yil9Tygpe3JldHVybiEwfVgobil7aWYoKGcubCgia2V2bGFyX2NhY2hlX29uX3R0bF9wbGF5ZXIiKXx8Zy5sKCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaCIpfHxnLmwoIndlYl9zaG9ydHNfcHJlZmV0Y2hfc2VydmljZV9lbmFibGVkIil8fGcubCgiZW1iZWRzX2VuYWJsZV9wcmVmZXRjaF92aWFfcmVzb2x2ZV91cmwiKSkmJihuPXRoaXMuTihuKSkmJm4udmlkZW9JZCl7dmFyIFc9e3ZpZGVvSWQ6bi52aWRlb0lkfTtuLnBsYXlsaXN0SWQmJihXLnBsYXlsaXN0SWQ9bi5wbGF5bGlzdElkKTtuLnBsYXllclBhcmFtcyYmKFcucGFyYW1zPW4ucGxheWVyUGFyYW1zKTtyZXR1cm4geUgoInBsYXllciIsVyl9fUsobil7cmV0dXJuIG4uY29udGVudFBsYXliYWNrQ29udGV4dD8udmlzPT09CjI/IldBVENIX0ZVTExfU0NSRUVOIjoiV0FUQ0gifUoobixXLEQpe2lmKGcubCgiZW5hYmxlX2ludGVyc3RpdGlhbF9lbnRpdHlfY2hlY2siKSYmVy52aWRlb0lkKWZvcih2YXIgYiBvZlsiQ09OVEVOVF9DSEVDS19SRVFVSVJFRCIsIkFHRV9DSEVDS19SRVFVSVJFRCJdKTtXLnZpZGVvSWQmJihuLnZpZGVvSWQ9Vy52aWRlb0lkKTtXLnBsYXlsaXN0SWQmJihuLnBsYXlsaXN0SWQ9Vy5wbGF5bGlzdElkKTtXLmluZGV4IT09dm9pZCAwJiYobi5wbGF5bGlzdEluZGV4PVcuaW5kZXgrMSk7Vy5wbGF5ZXJQYXJhbXMmJihuLnBhcmFtcz1XLnBsYXllclBhcmFtcyk7InN0YXJ0VGltZVNlY29uZHMiaW4gVyYmVy5zdGFydFRpbWVTZWNvbmRzJiYoZy5sKCJlbmFibGVfcGxheWVyX3JlcXVlc3RfYnVpbGRlcl9zdGFydF90aW1lX2Zsb29yIik/bi5zdGFydFRpbWVTZWNzPU1hdGguZmxvb3IoVy5zdGFydFRpbWVTZWNvbmRzKTpuLnN0YXJ0VGltZVNlY3M9Vy5zdGFydFRpbWVTZWNvbmRzKTtELmNvbnRlbnRQbGF5YmFja0NvbnRleHQmJgoobi5wbGF5YmFja0NvbnRleHQ9e2NvbnRlbnRQbGF5YmFja0NvbnRleHQ6RC5jb250ZW50UGxheWJhY2tDb250ZXh0fSk7RC5wcmVmZXRjaFBsYXliYWNrQ29udGV4dCYmKG4ucGxheWJhY2tDb250ZXh0PXsuLi5uLnBsYXliYWNrQ29udGV4dCxwcmVmZXRjaFBsYXliYWNrQ29udGV4dDpELnByZWZldGNoUGxheWJhY2tDb250ZXh0fSxuLmNvbnRleHQucmVxdWVzdHx8KG4uY29udGV4dC5yZXF1ZXN0PXt9KSxuLmNvbnRleHQucmVxdWVzdC5pc1ByZWZldGNoPSEwKTtuLnBsYXliYWNrQ29udGV4dHx8KG4ucGxheWJhY2tDb250ZXh0PXt9KTtiPW16YigpO24ucGxheWJhY2tDb250ZXh0LmRldmljZVBsYXliYWNrQ2FwYWJpbGl0aWVzPXtzdXBwb3J0c1ZwOUVuY29kaW5nOiEhYixzdXBwb3J0WGhyOk5zfTtELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0JiYobi5vdmVycmlkZU11dGVkQXRTdGFydD1ELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0KTtuLnJhY3lDaGVja09rPSEhVy5yYWN5Q2hlY2tPazsKbi5jb250ZW50Q2hlY2tPaz0hIVcuY29udGVudENoZWNrT2s7Zy5sKCJjYXB0aW9uc19wcmVmc19raWxsc3dpdGNoIil8fChEPShEPWcuWkkoInl0LXBsYXllci1jYXB0aW9uLWxhbmd1YWdlLXByZWZlcmVuY2VzIikpP0Q6W10sVz1nLmwoIndlYl9lbmFibGVfcGxheWVyX3JlcXVlc3RfY2FwdGlvbnNfbGFzdF9sYW5ndWFnZV9vbmx5IiksRD8ubGVuZ3RoJiYoRD1XP1tELmF0KC0xKV06RCxuLmNhcHRpb25QYXJhbXM9e3ZpZXdlclNlbGVjdGVkQ2FwdGlvbkxhbmdzOkR9KSl9VihuKXtuPXRoaXMuWChuKTt2YXIgVztuJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3BsYXllcl93YXRjaF9uZXh0X3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InBzX3MiLFcuUlY9InBzX3IiKTtyZXR1cm4gV319O0tIU1tnLkxYXT1bTnRNXTt2YXIgaUI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW4ucmVzcG9uc2VDb250ZXh0Py5zdGF0ZVRhZ3N9fTt2YXIgd049Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZighVyl0aHJvdyBFcnJvcigicmVxdWVzdCBuZWVkcyB0byBiZSBwYXNzZWQgaW50byBTdG9yZVJlc3BvbnNlUHJvY2Vzc29yU2VydmljZSIpO3VCKHRoaXMsbixXLmNvbmZpZz8uSG4/LlJMKX19O3dOW2cuTFhdPVtCZV07dmFyIEY4PW5ldyBnLkFMKCJTVE9SRV9SRVNQT05TRV9QUk9DRVNTT1JfVE9LRU4iKTt2YXIgbzg9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobixXKTt0aGlzLmVycm9yVHlwZT0xO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBUcj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1hc3luYyBmZXRjaChuLFcsRCxiKXtuPVNzWih0aGlzLG4sVyk7dHJ5e2xldCB2PWF3YWl0IGZldGNoKG4pO2lmKGImJnYub2smJnYuYm9keSYmdHlwZW9mIHYuYm9keS5nZXRSZWFkZXI9PT0iZnVuY3Rpb24iKXtsZXQgaz12LmNsb25lKCkuYm9keS5nZXRSZWFkZXIoKSx7dmFsdWU6aH09YXdhaXQgay5yZWFkKCk7ay5jYW5jZWwoKS5jYXRjaCgoKT0+e30pOwppZihoJiZoWzBdPT09OTEpe2xldCB4PXYuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBkTih0aGlzLHgsbmV3IGFzLFtdLGIpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZSh2LEQpfWNhdGNoKHYpe2lmKGcuR3EodiksRD8uTGQmJnYgaW5zdGFuY2VvZiBvOCYmdi5lcnJvclR5cGU9PT0xKXRocm93IHY7fX1oYW5kbGVSZXNwb25zZShuLFcpe3ZhciBEPW4udGV4dCgpLnRoZW4oYj0+e2lmKFc/LmhQJiZuLm9rKXJldHVybiBkRyhXLmhQLGIpO2I9Yi5yZXBsYWNlKCIpXX0nIiwiIik7aWYoVz8uTGQmJmIpdHJ5e3ZhciB2PUpTT04ucGFyc2UoYil9Y2F0Y2goayl7dGhyb3cgbmV3IG84KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiB2Pz9KU09OLnBhcnNlKGIpfSk7Cm4ucmVkaXJlY3RlZHx8bi5vaz90aGlzLk4mJnRoaXMuTi5zdWNjZXNzKCk6KHRoaXMuTiYmdGhpcy5OLm9ZKCksRD1ELnRoZW4oYj0+e2cuR3EobmV3IGcuUXgoIkVycm9yOiBBUEkgZmV0Y2ggZmFpbGVkIixuLnN0YXR1cyxuLnVybCxiKSk7cmV0dXJuey4uLmIsZXJyb3JNZXRhZGF0YTp7c3RhdHVzOm4uc3RhdHVzfX19KSk7CnJldHVybiBEfX07VHJbZy5MWF09W2cuaHAobmV3IGcuQUwoIk5FVFdPUktfU0xJX1RPS0VOIikpXTt2YXIgenI7dmFyIERZcj1uZXcgZy5xTSgicGFyYWxsZWxDb21tYW5kIik7dmFyIHZuTT1uZXcgZy5xTSgicGVyZm9ybU9uY2VDb21tYW5kIik7dmFyIGI4Yj1uZXcgZy5xTSgic2VyaWFsQ29tbWFuZCIpO3ZhciB2UT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihuKXt0aGlzLk4uYmljZihuKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhuKXt0aGlzLk4uYmNyKG4pfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuTi5ibGMoKX19O3ZhciBpaEM9W10saGo9KDAsZy5IeClgaHR0cHM6Ly9zdGF0aWMuZG91YmxlY2xpY2submV0L2luc3RyZWFtL2FkX3N0YXR1cy5qc2AsazU9ITE7dmFyIGlEPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPW47dGhpcy5OPVd9fSxXREM9W25ldyBpRCgiYi5mXyIsMCksbmV3IGlEKCJqLnNfIiwyKSxuZXcgaUQoInIuc18iLDQpLG5ldyBpRCgiZS5oXyIsNiksbmV3IGlEKCJpLnNfIiw4KSxuZXcgaUQoInMudF8iLDEwKSxuZXcgaUQoInAuaF8iLDEyKSxuZXcgaUQoInMuaV8iLDE0KSxuZXcgaUQoImYuaV8iLDE2KSxuZXcgaUQoImEuYl8iLDE4KSxuZXcgaUQoImEub18iKSxuZXcgaUQoImcub18iLDIyKSxuZXcgaUQoInAuaV8iLDI0KSxuZXcgaUQoInAubV8iKSxuZXcgaUQoIm4ua18iLDIwKSxuZXcgaUQoImkuZl8iKSxuZXcgaUQoImEuc18iKSxuZXcgaUQoIm0uY18iKSxuZXcgaUQoIm4uaF8iLDI2KSxuZXcgaUQoIm8ucF8iKSxuZXcgaUQoIm0ucF8iLDI4KSxuZXcgaUQoIm8uYV8iKSxuZXcgaUQoImQucF8iKSxuZXcgaUQoImUuaV8iKV0ucmVkdWNlKChuLFcpPT57bltXLkpdPVc7cmV0dXJuIG59LHt9KTt2YXIgTmU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMubmV0d29yaz1uO3RoaXMub3B0aW9ucz1XO3RoaXMuWD1EO3RoaXMuVz0wO3RoaXMuTj1udWxsO3RoaXMuSj1uZXcgcW5pO1cuUHU/ZXQodGhpcyxvbU0odGhpcykpOlcucHJlbG9hZCYmZXQodGhpcyxuZXcgUHJvbWlzZShiPT57Zy5jQigwLCgpPT57Yih0aih0aGlzKSl9LDApfSkpfWFzeW5jIHlmKCl7cmV0dXJuISFhd2FpdCBQcm9taXNlLnJhY2UoW3RoaXMuTiwKbnVsbF0pfWFzeW5jIGRRKG4sVyxEKXt0aGlzLk49PT1udWxsJiZldCh0aGlzLHRqKHRoaXMpKTt2YXIgYj0hMSx2PXt9O3JldHVybiBQcm9taXNlLnJhY2UoWyhhc3luYygpPT57dGhpcy5vcHRpb25zLkZoJiZ0aGlzLm9wdGlvbnMuUHUmJmF3YWl0IChhd2FpdCB5M3IoKSk/LmNoZWNrRm9yUmVmcmVzaCgpO3ZhciBrPWF3YWl0IHRoaXMuTjt2LmNoYWxsZW5nZT1rLmNoYWxsZW5nZTtpZihrLk8xKXt2YXIgaD17YzprLmNoYWxsZW5nZSxlOm4sLi4uV307dHJ5e2I9ITA7bGV0IHg7KHg9YXdhaXQgay5PMS5zbmFwc2hvdCh7d186aH0pKT92LndlYlJlc3BvbnNlPXg6di5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe3YuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gay5SUiYmKHYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO249PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmCihrPWsuUlIsaD17fSxrLmM2YSYmKGgucmVwb3J0aW5nU3RhdHVzPVN0cmluZyhOdW1iZXIoay5jKV5MYygpKSksay5jNmImJihoLmJyb2FkU3BlY3RydW1EZXRlY3Rpb25SZXN1bHQ9U3RyaW5nKE51bWJlcihrLmMpXk51bWJlcihnLkFyKCJDQVRTVEFUIiwwKSkpKSx2LmFkYmxvY2tSZXBvcnRpbmc9aCk7cmV0dXJuIHZ9KSgpLApUR2goRCwoKT0+e3ZhciBrPU9iamVjdC5hc3NpZ24oe30sdik7YiYmKGsuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTtyZXR1cm4ga30pXSl9fTt2YXIganhTPVsiQVBQX1NUQVRFIiwiUEkiXTt2YXIga3ZNPVszNjExLDI3Njg2LDIyMTA1OCw4NTAxMywyMzQ2MiwyNDExODcsMTU3NTU3LDQyMDE2LDI2OTI2LDUxMjM2LDc5MTQ4LDUwMTYwLDc3NTA0LDMxMDI4MSwxNTM1ODcsODc5MDcsMTg2MzAsMTc3MDE4LDE3NzAyMyw1NDQ0NSwzMjE2NjYsMzI2MzUzLDMyNjM1NCw4MDkzNSwxNTIxNzIsMTg0NTUzLDEwNTY3NSwxNTA3MjMsMzc1MjEsMTQ3Mjg1LDQ3Nzg2LDIzMTI1NSwyMzEyNTQsMjMxMjU4LDIzMTI1OSw5ODM0OSwyMzcyOTksMTY4MjcxLDE2ODk1NCwxNjgyNzcsMTY4MjczLDE2ODI3MCwxMjM2OTUsMjcyMDE4LDMzODQ5NywyMjY5ODcsMjI2OTkwLDIyNjk4OCw2ODI3LDI5NDM0LDI1NTAxMCwxNzEzODgsMjQ0MTg5LDIzNjIwOCw3MjgyLDEyNDQ0OCwyOTk5MDMsMjk5ODk3LDI5OTkwNCwyOTk5MDEsMjk5ODk5LDI5OTkwMiwyOTk5MDAsMjk5ODk4LDE5NjA4OCwyNTA4OTcsMTk4MTA0LDMyMjc2LDE5NTExNSwxOTUxMTQsNzYyNzgsMjAwNjM1LDIzMDU5NCwxNDc4NjgsCjE0Nzg2OSwyNzYyNDMsOTM5MTEsMjc0MTg4LDI3NjY1MSwzMTM2ODAsMTA2NTMxLDI1NzIzNCwyNTI1OTgsMjUyNTk3LDI1MjYwMCwyNTI1OTksMjUyNTk2LDIyNTAzMSwxNzc4NDMsMjcyNTksMjcyNjIsMjcyNjMsMjE3NTksMjgzNjcwLDE2MDg2NiwyMDQyNDksMjIyOTAwLDIwNDI1MCwxODA2MjYsMTc3OTU5LDE3Nzk1NywxODA2MjgsMjA1NzE2LDE5Nzg3OCwyNzM3NjYsMTcxMjQzLDE2MDc4OSwxNzEyNDQsMTcxMjQxLDE3MTI0NSwxNzEyNDIsMjI1NTYwLDE4MDYyNywxNzc5NjAsMjMxNTg5LDE3Nzk1OCwxODA2MjksMjA1NzE3LDE5Nzg3OSwxNzc1NjUsMjEyNTczLDIxMDcwOSw5OTQ0MTIsMjMwNjg0LDIyOTgwMSwyMzA2ODUsMzM0MzEwLDMzNDMxMSwzMzQzMTIsMTk3MzM3LDIwOTAxMCwxOTczMzYsMTk3MzM4LDE5ODYxOCwzMDA4ODQsMTc1NDkyLDE5ODA1MiwxOTgwNTEsMTk3ODUyLDE5Nzk3NiwzMTczNzcsMTc1NDkzLDE3NTQ5NCwxNzU0OTUsMTg5MjU0LDE3NTQ5NiwxNzU0OTcsCjM4NDA4LDE3NTQ5OCwxNzU1MDMsMTc1NTA0LDE3NTUwNSwxNzU1MDYsMTc1NTA3LDE3NTUwOCw4MDYzNyw2ODcyNywyMDY5MzMsMjA3OTQ0LDIwNjkzNCwzMDMxMjMsMjA2OTI5LDIyMTU3NSw2ODcyOCwyMjE1NzYsODAzNTMsODAzNTYsMzA4MDMzLDI0OTEwNywxODA2MzUsNzQ2MTAsNDU3MDcsODM5NjIsODM5NzAsNDY3MTMsMTY2NTkxLDg5NzExLDc0NjEyLDIxMzgwOSwxNzk2MDcsMjQ1MDA2LDE1NTc5Miw5MzI2NSw3NDYxMSwxMzEzODAsMTI4OTc5LDEzOTMxMSwxMjg5NzgsMTMxMzkxLDEwNTM1MCwxMzkzMTIsMzMzNjM3LDEzNDgwMCwxMzEzOTIsMTEzNTMzLDIyOTI5OCw5MzI1Miw5OTM1Nyw5NDUyMSwxMTQyNTIsMTEzNTMyLDk0NTIyLDk0NTgzLDIwMjM3MSw4OEUzLDEzOTU4MCw5MzI1Myw5MzI1NCw5NDM4Nyw5NDM4OCw5MzI1NSw5NzQyNCw3MjUwMiwyMTk4NjgsMjEyOTkxLDExMDExMSw3NjAxOSwxMTcwOTIsMTE3MDkzLDg5NDMxLDE5MTgzMSwxMTA0NjYsMjMxMzQ2LAo3NzI0MCw2MDUwOCwxODYwOTEsMTQ4MTIzLDE0ODEyNCwxMzc0MDEsMTM3NDAyLDEzNzA0Niw3MzM5MywyNDY3NzYsMTEzNTM0LDI3NjIwMCw5MjA5OCwxMzEzODEsODQ1MTcsODM3NTksMzA5NTgwLDIzMDY3NiwyNDkxODMsMjMwNjc5LDIzMDY3OCwyMzA2NzcsMjMwNjgxLDIzMDY4MCwxNjI3MTEsMjM1MjM0LDE2MjcxMiw4MDM1Nyw5OTQ0MTEsMjQzMzE1LDMxMzUwNiwzMjE5NjQsODYxMTMsNzI1OTgsMTY4NDEzLDcyNzMzLDEwNzM0OSwxMjQyNzUsMTE4MjAzLDIwMDQxMCwxMzMyNzUsMTYwMTU3LDE1MjU2OSwxNTY2NTEsMTMzMjc0LDE2MDE1OSwxNjAxNTgsMTMzMjcyLDEzMzI3MywxMzMyNzYsMTQ0NTA3LDE0MzI0NywxNzU5OTQsMTU2NjUyLDE0MzI0OCwxNDMyNDksMTQzMjUwLDE0MzI1MSwxODk4OTIsMTg5ODk0LDE4OTg5MywxNTY2NTMsMjE0MjM2LDE0NDQwMSwxMTc0MzEsMTMzNzk3LDIyNTEzNywyNzM5MDUsMjIyNjEyLDIyMjYxMywxNTM5NjQsMjAxMTMzLDIwMTEzNCwKMjAxMTM1LDIwMTEzNiwyMDExMzcsMTI4NTcyLDIwMDQxMSwyMDA0MTIsMTkwMzM3LDEzMzQwNSwxMTc0MjksMTE3NDMwLDE3Nzk1MCwxNzQ3MzQsMTc3OTUxLDIwMTEzOCwyMDExMzksMjAxMTQwLDIwMTE0MSwyMDExNDIsMTE3NDMyLDE3Mzk5NiwxNzM5OTUsMTc0OTUzLDE3Mzk5NCwxNzM5OTcsMTIwMDgwLDExNzI1OSwxNzg1NDYsMjk3NzUyLDE5Nzg5MSwxNTY2NTUsMTU2NjU0LDEyMTY5MiwyMTE0MTQsMjExNDExLDIxMTQxMiwyMTE0MTMsMjExNDAzLDE4NDg0NiwxODU5OTMsMzM1MDQ4LDE0NTY1NiwxNTY2NTYsMTQ1NjU1LDE0NTY1MywxNDU2NTQsMTQ1NjU3LDEzMjk3MiwxMzMwNTEsMTMzNjU4LDEzMjk3MSwzMzY3MjgsOTc2MTUsMTgxMjYyLDE5MDc2MiwyNTAzNDQsMjU0MDI3LDE0MzM1OSwxNDMzNTYsMTQzMzYxLDE0MzM1OCwxNDMzNjAsMTQzMzU3LDE0MjMwMywxNDMzNTMsMjgyMTU5LDE3Mjg1OSwxNDMzNTQsMTQ0NDc5LDE0MzM1NSwzMTQwMiwxODE1OTAsMTMzNjI0LAoxNDY0NzcsMTMzNjIzLDEzMzYyMiwxMzM2MjEsMTkyNDE4LDg0Nzc0LDMwNDc3NiwxOTc5OTMsMjQxNDYwLDE2MDgwMSwxOTc5OTUsOTUxMTcsMTcyNzIxLDE1MDQ5Nyw5ODkzMCw5ODkzMSw5ODkzMiwzMzg1NzAsMzM4NDc0LDMzODQ3OCwzMzg0NzMsMTUzMzIwLDE1MzMyMSw0MzM0NywzMDUyNjgsMjQ5Mjk1LDIxMDAxNiwyMTAwMTcsMjYyNjg2LDIxMTg1MSwyMTE4NTIsMzA3MjE5LDIxMTg1MywzMjc4MTAsMTI5ODg5LDE5Nzg4OCwxOTc4ODksMTQ5MTIzLDIyMTk1OSwyMjE2MjcsMjIxOTU4LDQ1NDc0LDEwMDM1Miw5ODQ0MywxMTc5ODUsMzMzNzA4LDc0NjEzLDE1NTkxMSw3NDYxNCw2NDUwMiwxMzYwMzIsNzQ2MTUsNzQ2MTYsMTIyMjI0LDc0NjE3LDc3ODIwLDc0NjE4LDI2Mjk4OCwyNjI5ODksMjI2OTgxLDkzMjc4LDkzMjc0LDkzMjc1LDkzMjc2LDIwMDY4OCwyMDA2ODYsMjAwNjg3LDE5OTg0MSwyMjExMCwyOTQzMywxMzM3OTgsMTMyMjk1LDI4MTMzMiwxMjA1NDEsMjIyMTEyLAo4MjA0NywxMTM1NTAsNzU4MzYsNzU4MzcsMzAzODgyLDE5MjQwOSwyMDMyMjEsNDIzNTIsODQ1MTIsNzYwNjUsNzU5ODksMjA1OTExLDIwNTkxMiwyNTI2NDksMjA1OTEzLDI1MjY1MCwyNTI2NTEsNTE4NzksMTY2MjMsMzI1OTQsMjcyNDAsMzM4MTA5LDI5MzMyNCwzMjYzMyw3NDg1OCwzMDQxNTAsMjk3MDQ1LDI3NTE5OCwyNzE4ODQsMjIyOTMyLDI3OTExOSwzMTI1ODEsMjcxODg2LDIxMzkxNSwyNzUxOTksMzEwNzQ4LDIyNTIxNiwyNTEyNDQsMjU4MjUxLDIxODY3NCwyNTEyNjYsMjU4MjUwLDI1MTI2NSwzMDE2NjIsMjUxMjQ1LDI3MTg4NSwzMTU4MTgsMTU2OTk5LDM5NDUsMTY5ODksNDU1MjAsMjU0ODgsMjU0OTIsMjU0OTQsMjMyMTEzLDU1NzYwLDE0MDU3LDE4NDUxLDU3MjA0LDU3MjAzLDE3ODk3LDE4MTk4LDE3ODk4LDE3OTA5LDQzOTgwLDIyMTA1MywxOTU1MjksMTg5NjYwLDMwODA4OCwzMDY0NDgsMzA2NDQ3LDMwODA4NywzMDgwODYsNDYyMjAsMTE3MjEsMTQ3OTk0LDQ5OTU0LAo5NjM2OSwzODU0LDIxNzY0MCwxNTE2MzMsNTYyNTEsMjA1MTkyLDIxNjc5NywxNTkxMDgsMTgxNTY4LDIzNDc4OSwyNTYyNCwxNTIwMzYsMTY5MDYsOTk5OTksNjgxNzIsNDc5NzMsNzI3NzMsMjY5NzAsMjY5NzEsOTY4MDUsMTc3NTIsMjgyMTgxLDI3ODkyNiw3MzIzMywyMDU5MjMsMTA5NTEyLDIyMjU2LDE0MTE1LDIyNjk2LDIzNDQwOSwyMzQ0MDgsODkyNzgsODkyNzcsMTk1NzQ1LDEwOTUxMyw0MzI3OCw0MzQ1OSw0MzQ2NCw4OTI3OSw0MzcxNyw1NTc2NCwyMjI1NSwxNDc5MTIsODkyODEsNDA5NjMsNDMyNzcsNDM0NDIsOTE4MjQsMjgzODk4LDEyMDEzNywxODYzNTAsMTg2MzUxLDI1NjY5MCwyNjQzNDksMjY0MzUxLDI2NDM1MCwyNjQzNTIsMjExMDI2LDI1MDg5Niw5NjM2NywzNjg1MCw3MjY5NCwzNzQxNCwzNjg1MSwxMjQ4NjMsMTIxMzQzLDczNDkxLDU0NDczLDE2Njg2MSw0MzM3NSw0NjY3NCwzMDI2MzEsMzMxNDczLDI0MjUyOCwxNDM4MTUsMTM5MDk1LDE0NDQwMiwxNDk5NjgsCjE0OTk2OSwzMjQ3Myw3MjkwMSw3MjkwNiw1MDYxMiw1MDYxMyw1MDk0Miw4NDkzOCw4NDk0Myw4NDkzOSw4NDk0MSw4NDk0NCw4NDk0MCw4NDk0MiwzNTU4NSw1MTkyNiw3OTk4MywxODkyMSw1Nzg5Myw0MTE4MiwxMzU3MzIsMzM0MjQsMjIyMDcsMzYyMjksMjIyMDYsMjIyMDUsNDQ3NjMsMzM0MjcsNjc3OTMsMjIxODIsMzcwOTEsMzQ2NTAsNTA2MTcsMjIyODcsMjUxNDQsOTc5MTcsMjIwMTIyLDYyMzk3LDE1MDg3MSwxNTA4NzQsMTI1NTk4LDEzNzkzNSwzNjk2MSwxMDgwMzUsMzIzNDkzLDI3NDI2LDI3ODU3LDI3ODQ2LDI3ODU0LDY5NjkyLDYxNDExLDM5Mjk5LDM4Njk2LDYyNTIwLDM2MzgyLDEwODcwMSwxOTI2ODIsMjc5NTMxLDUwNjYzLDM2Mzg3LDE0OTA4LDM3NTMzLDEwNTQ0Myw2MTYzNSw2MjI3NCwxNjE2NzAsMTMzODE4LDE4MjExOSw2NTcwMiw2NTcwMyw2NTcwMSwzMjA0NjQsNzYyNTYsMjk4MTU3LDI2Mzg0MywzMTUyMzQsMTk2MDc1LDE5NDc2OCwyNTIyMDEsMTk0NzY5LAoxOTE4ODUsMjgxNDgwLDIzMzYzNCwyNjU4MTAsMTk0NzcwLDI5NjkzMywxOTUzNTAsMzI3Mzg1LDMyNDU4NiwzMDE2MDcsMTk1MzQ5LDE5NDc3MSwyOTMwNDEsMzAxMTIxLDI5MzA0MiwyOTMwNDMsMzAxMTE2LDE2NjM4MiwzNzY3MSw0OTk1MywyMjA2NjksNjAwMDAxLDYwMDAwMiw2RTUsMzM1MTM0LDI0OTIyOSwyMTM3NzQsMjA0NTcyLDE5MTM4OSwyNzIyNTQsMjcyMjUzLDI1MzgzMCwyNTM4MzEsMjUzODMyLDI3MjI1MiwyNTM4MzMsMjUzODM0LDIwNDU3NCwxOTEzOTAsMTc5NTU2LDIzODU5NiwyMTI2NjEsMTkxMzkyLDE5NzgyNiwxOTEzOTMsMjA0NTczLDM2MjE2LDI4MjM3LDI0MTIxMiwyNzIwNDksMTczNzE4LDM5NTUzLDE5MjU0NywyOTIyMiwzMDQ4NDUsMjYxMDcsMjQxMjExLDM4MDUwLDI2MTA4LDI3NTgxMCwxMjA3NDUsMjYxMDksMjYxMTAsNjY4ODEsMjgyMzYsMTQ1ODYsMjk3NjcyLDE2MDU5OCw1NzkyOSwyMjY3MzYsNzQ3MjMsNDQwOTgsMTczNjg5LDQ0MDk5LDIzNTI4LAo2MTY5OSwxMzQxMDQsMTM0MTAzLDE5ODMxMyw1OTE0OSwxODEwMTMsMjc4MzA2LDI4MjQ3MiwyNzc4NDgsMTczMTkxLDE3MzE5MiwxNzMxOTMsMTAxOTUxLDE3MTUwMiwxOTYwNDMsMTk4MzA1LDk3MzQ2LDExODA1MSw5NTEwMiw2NDg4MiwxMTk1MDUsNjM1OTUsMjk0MTE5LDI1NzI2OCw2MzM0OSwyODExMjcsMjQwNTUzLDk1MTAxLDc1MjQwLDI3MDM5LDY4ODIzLDIxNTM3LDgzNDY0LDc1NzA3LDI1MjkwNCwxNzAyMTUsMjIzMDMzLDgzMTEzLDEwMTk1MiwxMDE5NTMsNzk2MTAsMTI1NzU1LDI0NDAyLDI0NDAwLDMyOTI1LDE5MzQwNiw1NzE3MywxODMzNTEsMTU2NDIxLDEyMjUwMiwxNDUyNjgsMTM4NDgwLDY0NDIzLDY0NDI0LDMzOTg2LDEwMDgyOCwxMjkwODksMjk5NTQxLDIxNDA5LDI4MjIxOCwyOTk1MDYsMzMzOTU2LDI5OTU0MCwyOTk1MDcsMjk5NTA5LDI5OTUzOSwyOTk1MDgsMjk5NTEwLDE4NTYxMiwyMjI4MjUsMzIzMzMxLDI0NTM2NiwxMzUxNTUsMTM1MTU2LDEzNTE1NywKMTM1MTU4LDE1ODIyNSwxMzUxNTksMTM1MTYwLDE2NzY1MSwxMzUxNjEsMTM1MTYyLDEzNTE2MywxNTgyMjYsMTU4MjI3LDEzNTE2NCwxMzUxNjUsMTM1MTY2LDExMDcwLDExMDc0LDE3ODgwLDI3MDU2MCwzMDcwOSwzMDcwNywzMDcxMSwzMDcxMCwzMDcwOCwxODUyMTMsMTg1MjczLDE0NjE0Myw2MzY0OCw2MzY0OSwyMjEwNTYsMjY0NDkwLDIxMTE4OSwxMTEwNTksMjExMTg4LDU3NTQsMjY0NDkxLDIwNDQ1LDIzMzQ3MSwxNTEzMDgsMzEzNzUwLDE1MTE1MiwyMjgwNjcsMTMwOTc1LDEzMDk3NiwyNDcyNDQsMjcxNjIyLDI3MTgxMywyNjEyMTAsMjEwODE1LDI5NTA2OSwyNDYxMjcsMzE2ODU4LDI0NTI1NiwyNDQ5NTAsMTkxOTI1LDE2NzYzNywyMzQ1NDUsMTk3MTk2LDMwMjczNSwyMTQyOTUsMTEwMzg2LDIyMTA1NCwyNzM5NjAsMjgyMTExLDMxMjI5MCwxMTM3NDYsMzI1NTkzLDI2ODg4Niw2NjU1NywxODMyMTUsMTczMTAsMjg2MzEsMjAxOTM1LDIxNTg5LDI0MjAzNiwyMzgzNTEsCjE2NDgxNywxNjgwMTEsMTU0OTQ2LDY4MDEyLDE2MjYxNyw2MDQ4MCwxODQ0MzEsMTM4NjY0LDI5NDA4OSwyNDk4MjcsMTk0RTMsMTQxMTIxLDE2NDUwMiwzMTU3MSwxOTUwMDIsMjA2NzkzLDE0MTk3OCwyMzM5ODUsMjUwODk1LDI1NDA1MiwyNTQwNTMsMjU0MDU0LDI1NDA1MSwyNTQwNTAsMjU0MDU1LDE1MDEwNSwzMDQxNjksMTUwMTA2LDE1MDEwNywxNTAxMDgsNzY5ODAsNDE1NzcsNDU0NjksMzg2NjksMTM3NjgsMTM3NzcsMTQxODQyLDYyOTg1LDIxMzE5MCw0NzI0LDIyMzA1Miw1OTM2OSw0MzkyNyw0MzkyOCwxMjkyNCwxOTc4NTMsMTAwMzU1LDU2MjE5LDI3NjY5LDIwOTkyOCwxMDMzNywyMDM2NDgsMjAzNjQ5LDQ3ODk2LDMyNjkzNywxMjI2MjksMTg2MjA0LDIyMjgyNCwyNzU4NjksMzEyMjk1LDI3MTY3MywyNzQ2MzcsMzE3NDYyLDEzOTcyMywxMzk3MjIsMTIxMjU4LDI1Mzc4OSwyNTM3ODcsMjUzNzg2LDI1Mzc4OCwyNTM3OTAsMTA3NTk4LDEyNzk5MSw5NjYzOSwxMDc1MzYsCjEzMDE2OSwyMTY1MjIsMjk2MzE2LDk2NjYxLDE0NTE4OCwzMjA0MjgsMjEzOTA0LDI2OTM0Miw5NjY1OCwxMTY2NDYsMTU5NDI4LDE2ODYxMSwxNjg2MTIsMTIxMTIyLDIxOTg2Miw5NjY2MCwyODIyMDgsMTI3NzM4LDEyNzA4MywxNTUyODEsMTYyOTU5LDIyMDg4NiwyMjczNTYsMjQ4MDA3LDE2MzU2NiwzMDc2NDYsMTg2NjQxLDE0Nzg0MiwyNzM2NDYsMjczNjQ3LDIxNzkzMiwxMDQ0NDMsOTY2NTksMTQ3NTk1LDEwNjQ0MiwyNDcxNjIsMjMxNDkzLDIxMzQyNywyOTY4MTMsMjQ2NTc1LDE4MjQyMywxNjI3NzYsMjI4OTA4LDEzNDg0MCw2MzY2Nyw2MzY2OCw2MzY2OSwxMzA2ODYsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBtUVM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZihXLmlucHV0Lm1hdGNoKExCKE40aCkpKXt2YXIgRD1uPy5lbmRwb2ludDtXPWcudyhELFRlKT8udW5zZXJpYWxpemVkUHJlZmV0Y2hEYXRhO2lmKEQmJlcpe249dGhpcy5OO3ZhciBiPShuZXcgc29iKS5YKEQpLHY9Zy53KFcsRCRyKTtsZXQgaz12Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMmJk51bWJlcih2Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpPjA/TnVtYmVyKHY/LnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcyk6NjAwO3YmJmImJms+MCYmKHY9RWUodixrKSxuLnB1dChiLG5ldyBiaCh2KSkpO0Q9KG5ldyBLSFMpLlgoRCk7Vz1nLncoVyxhSncpO2I9Vz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzJiZOdW1iZXIoVz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzKT4wP051bWJlcihXPy5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpOgo2MDA7VyYmRCYmYj4wJiYoVz1FZShXLGIpLG4ucHV0KEQsbmV3IGJoKFcpKSl9fX19O21RU1tnLkxYXT1bQmVdO25mKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX01BTlVBTF9ET1dOTE9BRFMiLCJtYWluRG93bmxvYWRzTGlzdEVudGl0eSIpO25mKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtuZigiU01BUlRfRE9XTkxPQURTX0VOQUJMRUQiLCJzZXR0aW5nRW50aXR5Iik7dmFyIHd5aD1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSxPNng9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy5PMT1udWxsO3RoaXMuRGE9dm9pZCAwfWluaXRpYWxpemUobixXLEQsYil7dGhpcy5EYT1iO2lmKG4ucHJvZ3JhbSl7dmFyIHY7Yj1uLmludGVycHJldGVyVXJsPz9udWxsO24uaW50ZXJwcmV0ZXJTYWZlU2NyaXB0P3Y9Tk4obi5pbnRlcnByZXRlclNhZmVTY3JpcHQpOnY9bi5pbnRlcnByZXRlclNjcmlwdD8/bnVsbDtuLmludGVycHJldGVyU2FmZVVybCYmKGI9cHcobi5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO0Y0Yih0aGlzLHYsYixuLnByb2dyYW0sVyxEKX1lbHNlIGcuR3EoRXJyb3IoIkJMOkNJUCIpKX1pc0luaXRpYWxpemVkKCl7cmV0dXJuIHRoaXMuSigpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuc3RhdGV9aXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0KMn1pbnZva2Uobj17fSl7cmV0dXJuIHRoaXMuSigpP3RoaXMuVyh7d186bn0pOm51bGx9ZGlzcG9zZSgpe3RoaXMuTihudWxsKTt0aGlzLnZWKDgpfUooKXtyZXR1cm4hIXRoaXMuTzF9VyhuKXtyZXR1cm4gdGhpcy5PMS5tNShuKX1OKG4pe2cuQ3AodGhpcy5PMSk7dGhpcy5PMT1ufXZWKG4pe3RoaXMuc3RhdGU9bn19O3ZhciBQQU09Y2xhc3MgZXh0ZW5kcyBPNnh7TihuKXtKaigpPy5iZ3ZtYSgpO2lmKG4pe2xldCBXPXtiZ3ZtYTpuLmRpc3Bvc2UuYmluZChuKSxiZ3ZtYjpuLnNuYXBzaG90LmJpbmQobiksYmd2bWM6bi5tNS5iaW5kKG4pfTtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLFcpO2cueWooRD0+bi5zbmFwc2hvdChEKSl9ZWxzZSBnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLGcuR2IoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9Sigpe3JldHVybiEhSmooKX1XKG4pe3JldHVybiBKaigpLmJndm1jKG4pfX07dmFyIFpMPXtBRF9NQVJLRVI6Inl0cC1hZC1wcm9ncmVzcyIsQ0hBUFRFUl9NQVJLRVI6Inl0cC1jaGFwdGVyLW1hcmtlciIsVElNRV9NQVJLRVI6Inl0cC10aW1lLW1hcmtlciJ9O3ZhciBzMz12b2lkIDA7dmFyIEgkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPW5ldyBTZXQ7dGhpcy5KPW5ldyBTZXQ7dGhpcy5qPW5ldyBNYXA7dGhpcy5jbGllbnQ9dm9pZCAwO3RoaXMuY3NuPW51bGx9VyhuKXt0aGlzLmNsaWVudD1ufU4oKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Zy5SdigpfWNsZWFyKCl7dGhpcy5YLmNsZWFyKCk7dGhpcy5KLmNsZWFyKCk7dGhpcy5qLmNsZWFyKCk7dGhpcy5jc249bnVsbH19O3ZhciBVMz1jbGFzc3tXKG4pe1BWKGZpKCkuVykuYmluZChmaSgpKShuKX1jbGVhcigpe1BWKGZpKCkuY2xlYXIpLmJpbmQoZmkoKSkoKX19O3ZhciBKWD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1bXTt0aGlzLk89W107dGhpcy5LPW5ldyBNYXA7dGhpcy5UQz1uZXcgTWFwO3RoaXMuVj1bXTt0aGlzLmNKPVtdO3RoaXMuWD1uZXcgTWFwO3RoaXMuWT1uZXcgTWFwO3RoaXMuSj1uZXcgTWFwO3RoaXMuTj1uZXcgU2V0O3RoaXMuUyQ9bmV3IE1hcH1XKG4pe3RoaXMuY2xpZW50PW59YmQobixXPXt9KXtQVigoKT0+e3ZhciBEPWcudyhuPy5jb21tYW5kTWV0YWRhdGEscGopPy5yb290VmV8fGcudyhuPy5jb21tYW5kTWV0YWRhdGEsWnNyKT8uc2NyZWVuVmlzdWFsRWxlbWVudD8udWlUeXBlO2lmKEQpe3ZhciBiPWcudyhuPy5jb21tYW5kTWV0YWRhdGEsYk1yKTtpZihiPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIHY9VFUoYi5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoYi5wYXJlbnRDc24pdmFyIGs9Yi5wYXJlbnRDc259ZWxzZSBXLmNsaWNrZWRWaXN1YWxFbGVtZW50P3Y9Vy5jbGlja2VkVmlzdWFsRWxlbWVudDpuLmNsaWNrVHJhY2tpbmdQYXJhbXMmJgoodj1UVShuLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntiPWcudyhuLGcuSVEpO3ZhciBoPWcudyhuLHpPdyk7aWYoYil7aWYoaD10WChiLCJWSURFTyIpKXtiPXt0b2tlbjpoLHZpZGVvSWQ6Yi52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGgmJihiPXRYKGgsIlBMQVlMSVNUIikpKXtiPXt0b2tlbjpiLHBsYXlsaXN0SWQ6aC5wbGF5bGlzdElkfTticmVhayBhfWI9dm9pZCAwfVc9e2N0dEF1dGhJbmZvOmIscGFyZW50Q3NuOmssLi4uV307Zy5sKCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihXLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Zy53KG4/LmNvbW1hbmRNZXRhZGF0YSxac3IpPy5sb2dnaW5nRXhwZWN0YXRpb25zfHx2b2lkIDApO21VKHRoaXMsRCx2LFcpfWVsc2UgZy5HcShuZXcgZy5ReCgiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixuKSl9KSgpfWNsaWNrQ29tbWFuZChuLFcsRD0wKXtyZXR1cm4gZ25aKHRoaXMsbi5jbGlja1RyYWNraW5nUGFyYW1zLApXLEQpfXN0YXRlQ2hhbmdlZChuLFcsRD0wKXt0aGlzLnZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQoVFUobiksVyxEKX12aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKG4sVyxEPTApe0Q9PT0wJiZ0aGlzLk4uaGFzKEQpP3RoaXMuTy5wdXNoKFtuLApXXSk6UCQodGhpcyxuLFcsRCl9blQobil7dmFyIFc9bi5jcG4sRD1TMih0aGlzLDApO2lmKEQubGVuZ3RoJiZEW0QubGVuZ3RoLTJdPy5jcG4hPT1XJiYoRD1nLlJ2KCksVyYmRCYmRCE9PSJVTkRFRklORURfQ1NOIikpe3ZhciBiO24uaXRjdCYmKGI9VFUobi5pdGN0fHwiIikpO2xldCB2PXt9O2cubCgid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfbG9nX2N0dCIpJiZuLmtXJiYodi5jdHRBdXRoSW5mbz17dG9rZW46bi5rVyx2aWRlb0lkOm4udmlkZW9JZH0pO249e2NwbjpXLGNzbjpEfTtnLmwoIndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlIikmJmImJihGaihELGIpLG4ucGxheWJhY2tWZT1iLmdldEFzSnNvbigpKTtnLnpVKCJwbGF5YmFja0Fzc29jaWF0ZWQiLG4sdik7Yj1TMih0aGlzLDApO2JbYi5sZW5ndGgtMV0uY3BuPVd9fX07dmFyIEUzPWNsYXNze2ZldGNoKG4sVyxEKXt2YXIgYj1YT2IobixXLEQpO3JldHVybiBuZXcgUHJvbWlzZSgodixrKT0+e3ZhciBoPSgpPT57aWYoRD8uTGQpdHJ5e2xldCB4PXRoaXMuaGFuZGxlUmVzcG9uc2UobixiLnN0YXR1cyxiLnJlc3BvbnNlLEQpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIHYodGhpcy5oYW5kbGVSZXNwb25zZShuLGIuc3RhdHVzLGIucmVzcG9uc2UsRCkpfTsKYi5vbmVycm9yPWg7Yi5vbmxvYWQ9aDtiLnNlbmQoVy5ib2R5Pz9udWxsKX0pfWhhbmRsZVJlc3BvbnNlKG4sVyxELGIpe0Q9KER8fCIiKS5yZXBsYWNlKCIpXX0nIiwiIik7CnRyeXt2YXIgdj1KU09OLnBhcnNlKEQpfWNhdGNoKGspe2cuR3EobmV3IGcuUXgoIkpTT04gcGFyc2luZyBmYWlsZWQgYWZ0ZXIgWEhSIGZldGNoIixuLFcsRCkpO2lmKGI/LkxkJiZEKXRocm93IG5ldyBvOCgiSlNPTiBwYXJzaW5nIGZhaWxlZCBhZnRlciBYSFIgZmV0Y2giKTt2PXt9fVchPT0yMDAmJihnLkdxKG5ldyBnLlF4KCJYSFIgQVBJIGZldGNoIGZhaWxlZCIsbixXLEQpKSx2PXsuLi52LGVycm9yTWV0YWRhdGE6e3N0YXR1czpXfX0pO3JldHVybiB2fX07dmFyIFo2aj1jbGFzc3tzdGF0aWMgZ2V0SW5zdGFuY2UoKXt2YXIgbj1nLnJyKCJ5dGdsb2JhbC5zdG9yYWdlXyIpO258fChuPW5ldyBaNmosZy5HYigieXRnbG9iYWwuc3RvcmFnZV8iLG4pKTtyZXR1cm4gbn1hc3luYyBlc3RpbWF0ZSgpe3ZhciBuPW5hdmlnYXRvcjtpZihuLnN0b3JhZ2U/LmVzdGltYXRlKXJldHVybiBuLnN0b3JhZ2UuZXN0aW1hdGUoKTtpZihuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YSlyZXR1cm4gcWZTKCl9fTtnLkdiKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixaNmopO3ZhciBqaVU9a08oInl0LXBsYXllci1sb2NhbC1tZWRpYSIse0tjOntpbmRleDp7dng6Mn0sbWVkaWE6e3Z4OjJ9LGNhcHRpb25zOnt2eDo1fX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDIpJiYoWnkobiwiaW5kZXgiKSxaeShuLCJtZWRpYSIpKTtXKDUpJiZaeShuLCJjYXB0aW9ucyIpO1coNikmJihVUihuLCJtZXRhZGF0YSIpLFVSKG4sInBsYXllcmRhdGEiKSl9LHZlcnNpb246NX0pO3ZhciBVeng9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHVEO2E6e3ZhciBvVj1nLlhRKCk7b1Y9b1YudG9Mb3dlckNhc2UoKTtpZihvVi5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeVpoPW9WLm1hdGNoKC9hbmRyb2lkXHMqKFxkKyhcLlxkKyk/KVteO3wpXSpbOyldLyk7aWYoeVpoKXtsZXQgbj1wYXJzZUZsb2F0KHlaaFsxXSk7aWYobjwxMDApe3VEPW47YnJlYWsgYX19dmFyIEVnYj1vVi5tYXRjaCgiKCIrT2JqZWN0LmtleXMoVXp4KS5qb2luKCJ8IikrIikiKTt1RD1FZ2I/VXp4W0VnYlswXV06MH1lbHNlIHVEPXZvaWQgMH12YXIgZG49dUQsTkY9ZG4+PTA7dmFyIHo4O3t2YXIgaTZoPWcuWFEoKTtsZXQgbj1pNmgubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighbnx8bi5sZW5ndGg8Mil6OD12b2lkIDA7ZWxzZXt2YXIgbEQ9aTZoLm1hdGNoKC9cKChpUGFkfGlQaG9uZXxpUG9kKSggU2ltdWxhdG9yKT87IChVOyApP0NQVSAoaVBob25lICk/T1MgKFxkK19cZClbXyBdLyk7ejg9bEQmJmxELmxlbmd0aD09PTY/TnVtYmVyKGxEWzVdLnJlcGxhY2UoIl8iLCIuIikpOjB9fXZhciB2aj16OCx4ST12aj49MDt2YXIgb2Y7Zy51Wj1uZXcgUEFNO29mPTA7Zy5GTFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy52aWRlb0RhdGE9bjt0aGlzLk49e2MxYTooKT0+e3ZhciBXPVtdO2lmKGcudVouaXNJbml0aWFsaXplZCgpKXt2YXIgRD0iIjt0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEsmJihEPXRoaXMudmlkZW9EYXRhLnBLK2AmcjFiPSR7dGhpcy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZX1gKTtEPXthdHJfY2hhbGxlbmdlOkR9O2cuZ18oImJnX3YiLHZvaWQgMCwicGxheWVyX2F0dCIpOyhEPXI5UyhEKSk/KGcuZ18oImJnX3MiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaChgcjFhPSR7RH1gKSk6KGcuZ18oImJnX2UiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaCgicjFjPTIiKSl9ZWxzZSBnLmdfKCJiZ19lIix2b2lkIDAsInBsYXllcl9hdHQiKSx3aW5kb3cudHJheXJpZGV8fHdpbmRvdy5ib3RndWFyZD9XLnB1c2goInIxYz0xIik6Vy5wdXNoKCJyMWM9NCIpO1cucHVzaChgcjFkPSR7Zy51Wi5nZXRTdGF0ZSgpfWApOwpyZXR1cm4gVy5qb2luKCImIil9LApjNmE6Vz0+InI2YT0iKyhOdW1iZXIoVy5jKV5MYygpKSwKYzZiOlc9PmByNmI9JHtOdW1iZXIoVy5jKV5OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpfWB9Owp0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEs/dGhpcy5SUj1nLml3KHRoaXMudmlkZW9EYXRhLnBLKTp0aGlzLlJSPXt9fX07Zy5DaT1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30sRD0wKXt0aGlzLmVycm9yQ29kZT1uO3RoaXMuZGV0YWlscz1XO3RoaXMuc2V2ZXJpdHk9RH19O3ZhciB0SD17RUk6ZnVuY3Rpb24obixXKXt2YXIgRD1uWzBdO25bMF09bltXJW5bSVs1XV1dO25bVyVuW0lbNV1dXT1EfSwKT1c6ZnVuY3Rpb24obixXKXtuW0lbM11dKDAsVyl9LApHRzpmdW5jdGlvbihuKXtuW0lbMjVdXSgpfX07dmFyIHV2TT17UmQ6ImFkdW5pdCIsaFE6ImRldGFpbHBhZ2UiLGt3OiJlZGl0cGFnZSIsVE86ImVtYmVkZGVkIixEcDoibGVhbmJhY2siLEY3OiJwcmV2aWV3cGFnZSIsRE06InByb2ZpbGVwYWdlIixrUzoidW5wbHVnZ2VkIixNbjoicGxheWxpc3RvdmVydmlldyIsVUM6InNwb25zb3JzaGlwc29mZmVyIixCYToic2hvcnRzcGFnZSIsZEw6ImhhbmRsZXNjbGFpbWluZyIsaF86ImltbWVyc2l2ZWxpdmVwYWdlIix6TzoiY3JlYXRvcm11c2ljIixYSjoiaW1tZXJzaXZlbGl2ZXByZXZpZXdwYWdlIixZWDoiYWRtaW50b29seXVydCIsbk06InNob3J0c2F1ZGlvcGl2b3QiLHlfOiJjb25zdW1wdGlvbiIsZUw6ImJhY2tncm91bmRfYXVkaW9fcGxheWJhY2siLFVfOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RzX3BhZ2UiLEdPOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RfZGV0YWlsc19wYWdlIn07dmFyIG9nMj1bImgiLCJIIl0sZHppPVsiOSIsIigiXSx6cmg9WyI5aCIsIihoIl0sbEhoPVsiOCIsIioiXSxUdGk9WyJhIiwiQSJdLGpvaT1bIm8iLCJPIl0sQ0FiPVsibSIsIk0iXSxCdGk9WyJtYWMzIiwiTUFDMyJdLEZIdz1bIm1lYWMzIiwiTUVBQzMiXSxibz17aDpvZzIsSDpvZzIsWyI5Il06ZHppLFsiKCJdOmR6aSxbIjloIl06enJoLFsiKGgiXTp6cmgsWyI4Il06bEhoLFsiKiJdOmxIaCxhOlR0aSxBOlR0aSxvOmpvaSxPOmpvaSxtOkNBYixNOkNBYixtYWMzOkJ0aSxNQUMzOkJ0aSxtZWFjMzpGSHcsTUVBQzM6Rkh3fSx3Rlo9bmV3IFNldCgibyBPIGEgYWggQSBtIE0gbWFjMyBNQUMzIG1lYWMzIE1FQUMzIHNvIHNhIi5zcGxpdCgiICIpKSxwTGo9bmV3IFNldCgibSBNIG1hYzMgTUFDMyBtZWFjMyBNRUFDMyIuc3BsaXQoIiAiKSk7dmFyIEZCVT17ak06MCxObToxMjQsZDQ6MTQ0LEp6OjIyMCx5VjoyNDAsYjY6MzQwLFdhOjM2MCx6NTo0ODAsaHo6NTg4LG1wOjYwOCxYczo3MjAscW06NzQwLHc0OjEwODAsQzQ6MTEwMCxvNjoxNDQwLFBhOjIxNjAsaTY6OTk5OSwwOiJRVUFMSVRZX09SRElOQUxfVU5LTk9XTiIsMTI0OiJRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUiIsMTQ0OiJRVUFMSVRZX09SRElOQUxfMTQ0UCIsMjIwOiJRVUFMSVRZX09SRElOQUxfMjQwUF9TQVZFUiIsMjQwOiJRVUFMSVRZX09SRElOQUxfMjQwUCIsMzQwOiJRVUFMSVRZX09SRElOQUxfMzYwUF9TQVZFUiIsMzYwOiJRVUFMSVRZX09SRElOQUxfMzYwUCIsNDgwOiJRVUFMSVRZX09SRElOQUxfNDgwUCIsNTg4OiJRVUFMSVRZX09SRElOQUxfNjA4UF9TQVZFUiIsNjA4OiJRVUFMSVRZX09SRElOQUxfNjA4UCIsNzIwOiJRVUFMSVRZX09SRElOQUxfNzIwUCIsNzQwOiJRVUFMSVRZX09SRElOQUxfNzIwUF9FTkhBTkNFRCIsMTA4MDoiUVVBTElUWV9PUkRJTkFMXzEwODBQIiwKMTEwMDoiUVVBTElUWV9PUkRJTkFMXzEwODBQX0VOSEFOQ0VEIiwxNDQwOiJRVUFMSVRZX09SRElOQUxfMTQ0MFAiLDIxNjA6IlFVQUxJVFlfT1JESU5BTF8yMTYwUCIsOTk5OToiUVVBTElUWV9PUkRJTkFMX0hJR0hSRVMifTt2YXIgTkc9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9LExnPXswOiJhdXRvIiwxNDQ6InRpbnkiLDI0MDoic21hbGwiLDM2MDoibWVkaXVtIiw0ODA6ImxhcmdlIiw3MjA6ImhkNzIwIiwxMDgwOiJoZDEwODAiLDE0NDA6ImhkMTQ0MCIsMjE2MDoiaGQyMTYwIiwyODgwOiJoZDI4ODAiLDQzMjA6ImhpZ2hyZXMifSxOej17UVVBTElUWV9PUkRJTkFMX1VOS05PV046MCxRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUjoxMjQsUVVBTElUWV9PUkRJTkFMXzE0NFA6MTQ0LFFVQUxJVFlfT1JESU5BTF8yNDBQX1NBVkVSOjIyMCxRVUFMSVRZX09SRElOQUxfMjQwUDoyNDAsUVVBTElUWV9PUkRJTkFMXzM2MFBfU0FWRVI6MzQwLFFVQUxJVFlfT1JESU5BTF8zNjBQOjM2MCxRVUFMSVRZX09SRElOQUxfNDgwUDo0ODAsClFVQUxJVFlfT1JESU5BTF82MDhQX1NBVkVSOjU4OCxRVUFMSVRZX09SRElOQUxfNjA4UDo2MDgsUVVBTElUWV9PUkRJTkFMXzcyMFA6NzIwLFFVQUxJVFlfT1JESU5BTF83MjBQX0VOSEFOQ0VEOjc0MCxRVUFMSVRZX09SRElOQUxfMTA4MFA6MTA4MCxRVUFMSVRZX09SRElOQUxfMTA4MFBfRU5IQU5DRUQ6MTEwMCxRVUFMSVRZX09SRElOQUxfMTQ0MFA6MTQ0MCxRVUFMSVRZX09SRElOQUxfMjE2MFA6MjE2MCxRVUFMSVRZX09SRElOQUxfSElHSFJFUzo5OTk5fTt2YXIgJGQ9MjU5MkUzO2cuT249e1NUT1BfRVZFTlRfUFJPUEFHQVRJT046Imh0bWw1LXN0b3AtcHJvcGFnYXRpb24iLElWX0RSQVdFUl9FTkFCTEVEOiJ5dHAtaXYtZHJhd2VyLWVuYWJsZWQiLElWX0RSQVdFUl9PUEVOOiJ5dHAtaXYtZHJhd2VyLW9wZW4iLE1BSU5fVklERU86Imh0bWw1LW1haW4tdmlkZW8iLFZJREVPX0NPTlRBSU5FUjoiaHRtbDUtdmlkZW8tY29udGFpbmVyIixWSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORzoiaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmciLEhPVVNFX0JSQU5EOiJob3VzZS1icmFuZCJ9O3ZhciBQbj17YWxsb3dlZDoiQVVUT1BMQVlfQlJPV1NFUl9QT0xJQ1lfQUxMT1dFRCIsImFsbG93ZWQtbXV0ZWQiOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9BTExPV0VEX01VVEVEIixkaXNhbGxvd2VkOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9ESVNBTExPV0VEIn07dmFyIGNLTT17QU5EUk9JRDozLEFORFJPSURfS0lEUzoxOCxBTkRST0lEX01VU0lDOjIxLEFORFJPSURfVU5QTFVHR0VEOjI5LFdFQjoxLFdFQl9SRU1JWDo2NyxXRUJfVU5QTFVHR0VEOjQxLElPUzo1LElPU19LSURTOjE5LElPU19NVVNJQzoyNixJT1NfVU5QTFVHR0VEOjMzfSx1Sj17YW5kcm9pZDoiQU5EUk9JRCIsImFuZHJvaWQuayI6IkFORFJPSURfS0lEUyIsImFuZHJvaWQubSI6IkFORFJPSURfTVVTSUMiLCJhbmRyb2lkLnVwIjoiQU5EUk9JRF9VTlBMVUdHRUQiLHlvdXR1YmU6IldFQiIsInlvdXR1YmUubSI6IldFQl9SRU1JWCIsInlvdXR1YmUudXAiOiJXRUJfVU5QTFVHR0VEIix5dGlvczoiSU9TIiwieXRpb3MuayI6IklPU19LSURTIiwieXRpb3MubSI6IklPU19NVVNJQyIsInl0aW9zLnVwIjoiSU9TX1VOUExVR0dFRCJ9LE00Uz17Im1keC1wYWlyIjoxLCJtZHgtZGlhbCI6MiwibWR4LWNhc3QiOjMsIm1keC12b2ljZSI6NCwibWR4LWluYXBwZGlhbCI6NX07dmFyIExHMT17aV86MSxZdzoyLFBBVVNFRDozLDE6IkRJU0FCTEVEIiwyOiJFTkFCTEVEIiwzOiJQQVVTRUQifTt2YXIgZXh4PVJlZ0V4cCgiXmh0dHBzPzovLyhbXi5dKlxcLm1vYXRhZHNcXC5jb20vfGVbMC05XStcXC55dFxcLnNyc1xcLmRvdWJsZXZlcmlmeVxcLmNvbXxwYWdlYWQyXFwuZ29vZ2xlc3luZGljYXRpb25cXC5jb20vcGFnZWFkL2dlbl8yMDRcXD9pZD15dDNwJnNyPTEmfHBtXFwuYWRzYWZlcHJvdGVjdGVkXFwuY29tL3lvdXR1YmV8cG1cXC50ZXN0LWFkc2FmZXByb3RlY3RlZFxcLmNvbS95b3V0dWJlfHlvdXR1YmVbMC05XStcXC5tb2F0cGl4ZWxcXC5jb20vKSIpLGxKPVJlZ0V4cCgiXmh0dHBzOi8vKFthLXpdK1xcLik/WzAtOWEtZl17MSw2M31cXC5zc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20vfF5odHRwczovLyhbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbS98Xmh0dHBzPzovLygoWy1cXHddKnd3d1stXFx3XSpcXC58Wy1cXHddKndlYlstXFx3XSpcXC58Wy1cXHddKmNhbmFyeVstXFx3XSpcXC58Wy1cXHddKmRldlstXFx3XSpcXC58Wy1cXHddezEsM31cXC4pKyhjb3JwXFwuKT95b3V0dWJlKC1ub2Nvb2tpZXxraWRzfGVkdWNhdGlvbik/XFwuY29tL3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooeW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuKFthLXpdezN9fGkpXFwuY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPy98KGRvY3N8ZHJpdmUpXFwuZ29vZ2xlXFwuY29tLyhhL1teL1xcXFwlXSsvfCl8KG11c2ljfG11c2ljLWdyZWVuLXFhfG11c2ljLXJlbGVhc2UtcWF8eXQtbXVzaWMtZ3JlZW5cXC5jb3JwKVxcLnlvdXR1YmVcXC5jb20vfCh0dnx0di1ncmVlbi1xYXx0di1ncmVlbi1xYVxcLmNvcnB8dHYtcmVsZWFzZS1xYXx0di1yZWxlYXNlLXFhXFwuY29ycHx0di1pbnRlZ3JhdGlvbi1xYXx0di1pbnRlZ3JhdGlvbi1xYVxcLmNvcnB8eXQtdHYtYXV0b3B1c2hcXC5jb3JwfHl0LXR2LWludGVncmF0aW9uXFwuY29ycHx5dC10di1zdGFnaW5nXFwuY29ycClcXC55b3V0dWJlXFwuY29tL3xbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vKSIpLApndGo9UmVnRXhwKCJeaHR0cHM/Oi8vKHd3d1xcLmdvb2dsZVxcLmNvbS9wYWdlYWQveHN1bHx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9zbGF2KSIpLHg1cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bWFpbFxcLmdvb2dsZVxcLmNvbXx5b3V0dWJlXFwuY29tfHlvdXR1YmVlZHVjYXRpb25cXC5jb218eW91dHViZVxcLW5vY29va2llXFwuY29tfHlvdXR1YmVraWRzXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpKSIpLApMaHQ9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLGs3cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbSlbLl0/KDpbMC05XSspPy98KFtBLVphLXowLTktXXsxLDYzfVxcLikqKHNhbmRib3hcXC5nb29nbGVcXC5jb20pKDpbMC05XSspPygvKD8hdXJsXFxiKXwkKSkiKSwKRDVVPVJlZ0V4cCgiXigoaHR0cChzKT8pOik/XFwvXFwvKCgoKGxoWzMtNl0oLXR0fC1kW2EtZyx6XSk/XFwuKChnZ3BodCl8KGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKXwoc2FuZGJveFxcLmdvb2dsZSkpKXwobGg3XFwtKGV1fHVzfHF3fHJ0fHh4KVxcLigoZ29vZ2xldXNlcmNvbnRlbnQpfChnb29nbGUpKSl8KChwaG90b3N8dGVzdG9ubHl8d29yaylcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfChbXFx3XFwtXStcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfCgoWzEtNF1cXC5icFxcLmJsb2dzcG90KXwoYnBbMC0zXVxcLmJsb2dnZXIpKXwoY2NwLWxoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfCgoKChjcHxjaXxncClbMy02XSl8KGFwWzEtMl0pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpfChnbVsxLTRdXFwuZ2dwaHQpfChwbGF5LSh0aS0pP2xoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChnelswLTFdXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChsaDNcXC1nbVxcLmdvb2dsZSl8KCgoeXRbMy00XSl8KHNwWzEtM10pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpKVxcLmNvbSl8KGRyaXZlXFwuZ29vZ2xlXFwuY29tXFwvZHJpdmVcXC0odXNlcmNvbnRlbnR8dmlld2VyKSl8KGRwWzMtNl1cXC5nb29nbGV1c2VyY29udGVudFxcLmNuKXwoZHA0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20pfCgocGhvdG9zfGRyaXZlfGNvbnRyaWJ1dGlvbilcXC1pbWFnZVxcLShkZXZ8cWEpKC11c3wtZXUpPygtYXV0aHwtY29va2llKT9cXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwocGhvdG9zXFwtaW1hZ2VcXC1kZXZcXC1kbFxcLShhdXRofGV1fHVzKVxcLmNvcnBcXC5nb29nbGVcXC5jb20pfCgoZGV2fGRldjJ8ZGV2M3xxYXxxYTJ8cWEzfHFhLXJlZHxxYS1ibHVlfGNhbmFyeSlbLS5dbGlnaHRob3VzZVxcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC9pbWFnZSl8KGltYWdlXFwtKGRldnxxYSlcXC1saWdodGhvdXNlKC1hdXRoKT9cXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tKFxcL2ltYWdlKT8pfChkcml2ZVxcLXFhXFwuY29ycFxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkb2NzKFxcLShkZXZ8cWEpXFwuY29ycCk/XFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pPyhkb2NzfHNoZWV0c3xzbGlkZXN8ZHJhd2luZ3N8Zm9ybXN8dmlkZW9zfHBpY3R1cmVzKVxcLWltYWdlc1xcLShydHxxdykpfChkb2NzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXMpfChzaXRlc1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXNcXC0ocnR8cXcpKXwoYXRhcmktZ3JlZW4tdGVzdFxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KHNpdGVzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXMpKVxcL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzPzovLygoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY29ycFxcLmdvb2dsZVxcLmNvbXxwcm94eVxcLmdvb2dsZXByb2RcXC5jb218Y1xcLmdvb2dsZXJzXFwuY29tfHByb3h5XFwuZ29vZ2xlcnNcXC5jb218Ym9yZ1xcLmdvb2dsZVxcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfGdvb2dsZXBsZXhcXC5jb218cGxheVxcLmdvb2dsZVxcLmNvbXxwcm9kXFwuZ29vZ2xlXFwuY29tfHZpZGVvXFwuZ29vZ2xlXFwuY29tfHlvdXR1YmVcXC5jb218eXRpbWdcXC5jb218eXRpbWdcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tfGNoYXRcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbQS1aYS16MC05LV17MSw2M31cXC4pKihzYW5kYm94XFwuZ29vZ2xlXFwuY29tKSg6WzAtOV0rKT8oLyg/IXVybFxcYil8JCl8czJcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbS9zMi9mYXZpY29uc1xcP3x5dFszLTRdXFwuZ2dwaHRcXC5jb20vKSIpLApiS1o9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFhLMj1SZWdFeHAoIl5odHRwcz8uKiNvY3IkfF5odHRwcz86Ly8oYWtzZWN1cmVcXC5pbXJ3b3JsZHdpZGVcXC5jb20vfGNkblxcLmltcndvcmxkd2lkZVxcLmNvbS98c2VjdXJlXFwtLi5cXC5pbXJ3b3JsZHdpZGVcXC5jb20vKSIpLHZFaD1SZWdFeHAoIl5odHRwcz86Ly8oZ29vZ2xlYWRzXFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0LyhhY2xrfHBhZ2VhZC9jb252ZXJzaW9uKXx3d3dcXC5nb29nbGVcXC5jb20vKGFjbGt8cGFnZWFkL2NvbnZlcnNpb24pfHd3d1xcLmdvb2dsZWFkc2VydmljZXNcXC5jb20vKGFjbGt8cGFnZWFkLyhhY2xrfGNvbnZlcnNpb24pKXx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9jb252ZXJzaW9uKSIpLG5Fdz1SZWdFeHAoIl4oKGh0dHAocyk/KTopP1xcL1xcLygoKChsaFszLTZdKC10dHwtZFthLWcsel0pP1xcLigoZ2dwaHQpfChnb29nbGV1c2VyY29udGVudCl8KGdvb2dsZSl8KHNhbmRib3hcXC5nb29nbGUpKSl8KGxoN1xcLShldXx1c3xxd3xydHx4eClcXC4oKGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKSkpfCgocGhvdG9zfHRlc3Rvbmx5fHdvcmspXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoW1xcd1xcLV0rXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoKFsxLTRdXFwuYnBcXC5ibG9nc3BvdCl8KGJwWzAtM11cXC5ibG9nZ2VyKSl8KGNjcC1saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoKCgoY3B8Y2l8Z3ApWzMtNl0pfChhcFsxLTJdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKXwoZ21bMS00XVxcLmdncGh0KXwocGxheS0odGktKT9saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoZ3pbMC0xXVxcLmdvb2dsZXVzZXJjb250ZW50KXwobGgzXFwtZ21cXC5nb29nbGUpfCgoKHl0WzMtNF0pfChzcFsxLTNdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKSlcXC5jb20pfChkcml2ZVxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkcFszLTZdXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jbil8KGRwNFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKXwoKHBob3Rvc3xkcml2ZXxjb250cmlidXRpb24pXFwtaW1hZ2VcXC0oZGV2fHFhKSgtdXN8LWV1KT8oLWF1dGh8LWNvb2tpZSk/XFwuY29ycFxcLmdvb2dsZVxcLmNvbSl8KHBob3Rvc1xcLWltYWdlXFwtZGV2XFwtZGxcXC0oYXV0aHxldXx1cylcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwoKGRldnxkZXYyfGRldjN8cWF8cWEyfHFhM3xxYS1yZWR8cWEtYmx1ZXxjYW5hcnkpWy0uXWxpZ2h0aG91c2VcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tXFwvaW1hZ2UpfChpbWFnZVxcLShkZXZ8cWEpXFwtbGlnaHRob3VzZSgtYXV0aCk/XFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbShcXC9pbWFnZSk/KXwoZHJpdmVcXC1xYVxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC9kcml2ZVxcLSh1c2VyY29udGVudHx2aWV3ZXIpKXwoZG9jcyhcXC0oZGV2fHFhKVxcLmNvcnApP1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXNcXC0ocnR8cXcpKXwoZG9jc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/KGRvY3N8c2hlZXRzfHNsaWRlc3xkcmF3aW5nc3xmb3Jtc3x2aWRlb3N8cGljdHVyZXMpXFwtaW1hZ2VzKXwoc2l0ZXNcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KGF0YXJpLWdyZWVuLXRlc3RcXC5jb3JwXFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pP3NpdGVzKHYpP1xcLWltYWdlc1xcLShydHxxdykpfChzaXRlc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzKSlcXC98Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC8oPyF1cmxcXGIpfCQpfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK3NzbHByb3h5XFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVwbGV4XFwuY29tfGdvb2dsZXZpZGVvXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bGgzXFwucGhvdG9zXFwuZ29vZ2xlXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5dFxcLmFrYW1haXplZFxcLm5ldHxjaGF0XFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfChbQS1aYS16MC05LV17MSw2M31cXC4pKmNcXC5saDMoLWRbYS1neXpdfC10ZXN0b25seSk/XFwuKGdvb2dsZXVzZXJjb250ZW50fHBob3Rvc1xcLmdvb2dsZSlcXC5jb20vLiokKSIpLApXaFo9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFJyaT1SZWdFeHAoIl5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGltYXNka1xcLmdvb2dsZWFwaXNcXC5jb218Mm1kblxcLm5ldHxnb29nbGVzeW5kaWNhdGlvblxcLmNvbXxjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfGdvb2dsZWFkc1xcLmdcXC5kb3VibGVjbGlja1xcLm5ldHxwcm9kXFwuZ29vZ2xlXFwuY29tfHN0YXRpY1xcLmRvdWJsZWNsaWNrXFwubmV0fHN0YXRpY1xcLmdvb2dsZWFkc3NlcnZpbmdcXC5jbnxzdHVkaW9hcGlcXC5kb3VibGVjbGlja1xcLm5ldHx5b3V0dWJlXFwuY29tfHlvdXR1YmVcXC5nb29nbGVhcGlzXFwuY29tfHlvdXR1YmVcXC1ub2Nvb2tpZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbXx5dGltZ1xcLmNvbXx5dGltZ1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfGxpZ2h0Ym94LShkZW1vc3xidWlsZGVyKVxcLmFwcHNwb3RcXC5jb20vfHNbMDFdKHFhKT9cXC4ybWRuXFwubmV0L2Fkcy9yaWNobWVkaWEvc3R1ZGlvL211L3RlbXBsYXRlcy90ZXRyaXN8d3d3XFwuZ3N0YXRpY1xcLmNvbS9kb3VibGVjbGljay9zdHVkaW8vaW5ub3ZhdGlvbi9oNS9sYXlvdXRzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL3l0cGxheWVyKSIpLApRb009UmVnRXhwKCJeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY3Jvd2Rzb3VyY2V8ZGF0YWNvbXB1dGUpXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzOi8vKGFkc3xhZHdvcmRzXFwuY29ycClcXC5nb29nbGVcXC5jb20vKGF3Lyhhc3NldGdyb3VwLyhlZGl0fG5ldyl8Y2FtcGFpZ25zLyhuZXcvKHBlcmZvcm1hbmNlbWF4fGRlbWFuZGdlbil8ZWRpdC9kZW1hbmRnZW4pKXwkKXxeaHR0cHM6Ly8oYWR3b3Jkcy0pP2NhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vKGJvb2tzfHBsYXktYm9va3MtKGF1dG9wdXNofGludGVybmFsfHByZXByb2R8c3RhZ2luZykoLXNhbmRib3h8XFwuY29ycCkpXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oL3wkKXxeaHR0cHM6Ly9hZHMoLWV4dGVybmFsKT8tcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vY2FudmFzdGVzdGVyLTNmZDBiXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL2xvY2FsaG9zdFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKDpcXGQrKT8oL3wkKXxeaHR0cHM6Ly9uYXJyYXRpdmUtbmV3cy1jYXN0LXJlY2VpdmVyLWRcXC5hcHBzcG90XFwuY29tKC98JCl8Xmh0dHBzOi8vbmFycmF0aXZlLW5ld3MtY2FzdC1yZWNlaXZlci1mXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL29uZVxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwczovL3d3d1xcLmdvb2dsZVxcLmNvbS9jdWx0dXJhbGluc3RpdHV0ZS9tYW5hZ2UvLiokfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vYW9nX2hvd3RvfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vbmFycmF0aXZlX2Nhc3RfcmVjZWl2ZXIvbmV3c3xeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihpbWFzZGtcXC5nb29nbGVhcGlzXFwuY29tfGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVhZHNcXC5nXFwuZG91YmxlY2xpY2tcXC5uZXR8Z29vZ2xlcGxleFxcLmNvbXxwbGF5XFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218cGhvdG9zXFwuZ29vZ2xlXFwuY29tfGdldFxcLmdvb2dsZVxcLmNvbXxibG9nZ2VyXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218c3VydmV5XFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0fHlvdXR1YmVcXC5jb218eW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb218eW91dHViZWVkdWNhdGlvblxcLmNvbXx5b3V0dWJlXFwtbm9jb29raWVcXC5jb218eXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218eW91dHViZWtpZHNcXC5jb218dmV2b1xcLmNvbXxjaGF0XFwuZ29vZ2xlXFwuY29tfG1lZXRcXC5nb29nbGVcXC5jb218YXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8oL3wkKXwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfCh3d3dcXC58ZW5jcnlwdGVkXFwuKT9nb29nbGVcXC4oY2F0fGNvbShcXC4oYVtmZ2lydV18YltkaG5vcnpdfGNbb3V5XXxkb3xlW2NndF18Zmp8Z1toaXRdfGhrfGptfGtofGt3fGxbYmN5XXxtW210eHldfG5bYWZnaXBdfG9tfHBbYWVnaGtyeV18cWF8c1thYmdsdl18dFtqbnJ3XXx1YXx1eXx2Y3x2bikpP3xhW2NkZWxtc3R6XXxjW2FjZGZnaGlsbW52el18YlthZWZnaWpzdHldfGVlfGVzfGRbZWprbXpdfGdbYWVmZ2xtcHJ5XXxmW2ltcl18aVtlbW9xcnN0XXxoW25ydHVdfGtbZ2l6XXxqZXxqb3xtW2RlZ2tsbnN1dnddfGxbYWlrdHV2XXxuW2Vsb3J1XXxwW2xuc3RdfHNbY2VoaWttbm9ydF18cltvc3V3XXx1c3x0W2Rna2xtbm90XXx3c3x2Z3x2dXxjb1xcLihhb3xid3xja3xjcnxpW2Rsbl18anB8a2V8a3J8bHN8bWF8bXp8bnp8dGh8dHp8dVtna3pdfHZlfHZpfHpbYW13XSkpLyhzZWFyY2h8d2ViaHApXFw/fCh3d3dcXC58ZW5jcnlwdGVkXFwuKWdvb2dsZVxcLihjYXR8Y29tKFxcLihhW2ZnaXJ1XXxiW2Robm9yel18Y1tvdXldfGRvfGVbY2d0XXxmanxnW2hpdF18aGt8am18a2h8a3d8bFtiY3ldfG1bbXR4eV18blthZmdpcF18b218cFthZWdoa3J5XXxxYXxzW2FiZ2x2XXx0W2pucnddfHVhfHV5fHZjfHZuKSk/fGFbY2RlbG1zdHpdfGNbYWNkZmdoaWxtbnZ6XXxiW2FlZmdpanN0eV18ZWV8ZXN8ZFtlamttel18Z1thZWZnbG1wcnldfGZbaW1yXXxpW2Vtb3Fyc3RdfGhbbnJ0dV18a1tnaXpdfGplfGpvfG1bZGVna2xuc3V2d118bFthaWt0dXZdfG5bZWxvcnVdfHBbbG5zdF18c1tjZWhpa21ub3J0XXxyW29zdXddfHVzfHRbZGdrbG1ub3RdfHdzfHZnfHZ1fGNvXFwuKGFvfGJ3fGNrfGNyfGlbZGxuXXxqcHxrZXxrcnxsc3xtYXxtenxuenx0aHx0enx1W2drel18dmV8dml8elthbXddKSkvPyR8bGlnaHRib3gtKGRlbW9zfGJ1aWxkZXIpXFwuYXBwc3BvdFxcLmNvbS98czBcXC4ybWRuXFwubmV0L2luc3RyZWFtL2h0bWw1L25hdGl2ZS98c1swMV0ocWEpP1xcLjJtZG5cXC5uZXQvYWRzL3JpY2htZWRpYS9zdHVkaW8vbXUvdGVtcGxhdGVzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL2g1L2xheW91dHMvdGV0cmlzKSIpLApWNGk9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/KC98JCkiKSxjWlM9UmVnRXhwKCJeKGh0dHBzOi8vcGxheVxcLmdvb2dsZVxcLmNvbXxodHRwczovL3Bob3Rvc1xcLmdvb2dsZVxcLmNvbXxodHRwczovL2dldFxcLmdvb2dsZVxcLmNvbXxodHRwczovL21haWxcXC5nb29nbGVcXC5jb218aHR0cHM6Ly95dFxcLXdlYlxcLWVtYmVkZGVkXFwtcGxheWVyXFwuYXBwc3BvdFxcLmNvbXxodHRwOi8veXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218aHR0cHM6Ly9jaGF0XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vb25lXFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHN0cmFuc3BhcmVuY3lcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHNcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHdvcmRzXFwuY29ycFxcLmdvb2dsZVxcLmNvbXxodHRwczovL2Fkc1xcLWV4dGVybmFsXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWRzXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWR3b3Jkc1xcLWNhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vY2FuYXJ5XFwucWFcXC5hZHpcXC5nb29nbGVcXC5jb20pJHxeaHR0cDovL1swLTldK1xcLlthLXowLTlcXC1fXStcXC5bYS16MC05XFwtX10rXFwuW2EtejAtOVxcLV9dK1xcLihbYS16XXsyfXxpKVxcLmJvcmdcXC5nb29nbGVcXC5jb20oOlswLTldKyk/JHxeaHR0cHM6Ly8oKGF1dG9wdXNofGJldGEtbG9va3VwfGRhaWx5LVswLTZdfG1hbnVhbC1xdWFsfHByZXByb2R8c3RyZWFtKVxcLik/bWVldFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNyb3dkc291cmNlfGRhdGFjb21wdXRlKVxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKHlvdXR1YmV8eW91dHViZWtpZHN8eW91dHViZWVkdWNhdGlvbilcXC5jb20kfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc2FuZGJveFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tJHxeaHR0cHM6Ly8oYm9va3N8cGxheS1ib29rcy0oYXV0b3B1c2h8aW50ZXJuYWx8cHJlcHJvZHxzdGFnaW5nKSgtc2FuZGJveHxcXC5jb3JwKSlcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbSR8Xmh0dHBzOi8vKGRyYWZ0fHd3d3wod3d3XFwuKT9kZXZcXC5zYW5kYm94fCh3d3dcXC4pP2F1dG9wdXNoXFwuc2FuZGJveHwod3d3XFwuKT9zdGFnaW5nXFwuc2FuZGJveHwod3d3XFwuKT9yZXN0b3JlXFwuc2FuZGJveClcXC5ibG9nZ2VyXFwuY29tJHxeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbSR8Xmh0dHBzOi8vbG9jYWxob3N0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oOlxcZCspPyR8Xmh0dHBzPzovLygoKGRvY3N8bXxzaW5nfHNzfHNzc3x3d3cpXFwuKT9kcml2ZVxcLmdvb2dsZVxcLmNvbSR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfChbQS1aYS16MC05LV17MSw2M31cXC4pKmdvb2dsZXBsZXhcXC5jb20oOlswLTldKyk/JHwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSpwcm94eVxcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KHd3d1xcLnxlbmNyeXB0ZWRcXC4pZ29vZ2xlXFwuKGNhdHxjb20oXFwuKGFbZmdpcnVdfGJbZGhub3J6XXxjW291eV18ZG98ZVtjZ3RdfGZqfGdbaGl0XXxoa3xqbXxraHxrd3xsW2JjeV18bVttdHh5XXxuW2FmZ2lwXXxvbXxwW2FlZ2hrcnldfHFhfHNbYWJnbHZdfHRbam5yd118dWF8dXl8dmN8dm4pKT98YVtjZGVsbXN0el18Y1thY2RmZ2hpbG1udnpdfGJbYWVmZ2lqc3R5XXxlZXxlc3xkW2Vqa216XXxnW2FlZmdsbXByeV18ZltpbXJdfGlbZW1vcXJzdF18aFtucnR1XXxrW2dpel18amV8am98bVtkZWdrbG5zdXZ3XXxsW2Fpa3R1dl18bltlbG9ydV18cFtsbnN0XXxzW2NlaGlrbW5vcnRdfHJbb3N1d118dXN8dFtkZ2tsbW5vdF18d3N8dmd8dnV8Y29cXC4oYW98Ynd8Y2t8Y3J8aVtkbG5dfGpwfGtlfGtyfGxzfG1hfG16fG56fHRofHR6fHVbZ2t6XXx2ZXx2aXx6W2Ftd10pKS8/JHxbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfGRvY3NcXC5nb29nbGVcXC5jb20kKSIpLAphSFU9UmVnRXhwKCJeKGh0dHBzOi8vY3VycmVudHNcXC5nb29nbGVcXC5jb20pJCIpO3ZhciBkUD0hMTtnLndaPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0hMSl7dGhpc1tJWzE3XV09bjt0aGlzW0lbOV1dPVc7dGhpc1tJWzM5XV09dGhpc1tJWzI4XV09dGhpc1tJWzI2XV09SVsyMV07dGhpc1tJWzFdXT17fTt0aGlzW0lbMjldXT1JWzIxXX1zZXQobixXKXt0aGlzW0lbMV1dW25dIT09VyYmKHRoaXNbSVsxXV1bbl09Vyx0aGlzW0lbMjldXT1JWzIxXSl9Z2V0KG4pe2VYKDE0LDcyMTMsdGhpcyk7cmV0dXJuIHRoaXNbSVsxXV1bbl18fG51bGx9V0QoKXt0aGlzW0lbMjldXXx8KHRoaXNbSVsyOV1dPUVjKDYsMjk5OCx0aGlzKSk7cmV0dXJuIHRoaXNbSVsyOV1dfWNsb25lKCl7dmFyIG49bmV3IGcud1oodGhpc1tJWzE3XV0sdGhpc1tJWzldXSk7bltJWzI2XV09dGhpc1tJWzI2XV07bltJWzI4XV09dGhpc1tJWzI4XV07bltJWzM5XV09dGhpc1tJWzM5XV07bltJWzFdXT1nLnMwKHRoaXNbSVsxXV0pO25bSVsyOV1dPXRoaXNbSVsyOV1dO3JldHVybiBufX07dmFyIEpaPXtGQUlSUExBWToiZmFpcnBsYXkiLFBMQVlSRUFEWToicGxheXJlYWR5IixXSURFVklORToid2lkZXZpbmUiLENMRUFSS0VZOm51bGwsRkxBU0hBQ0NFU1M6bnVsbCxVTktOT1dOOm51bGwsV0lERVZJTkVfQ0xBU1NJQzpudWxsfTt2YXIgd1A9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0hMSl7dGhpcy5uYW1lPW47dGhpcy5pZD1XO3RoaXMuaXNEZWZhdWx0PUQ7dGhpcy5pc0F1dG9EdWJiZWQ9Yn1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1nZXRJZCgpe3JldHVybiB0aGlzLmlkfWdldElzRGVmYXVsdCgpe3JldHVybiB0aGlzLmlzRGVmYXVsdH1nZXRJc0F1dG9EdWJiZWQoKXtyZXR1cm4gdGhpcy5pc0F1dG9EdWJiZWR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5uYW1lfX07d1AucHJvdG90eXBlLmdldE5hbWU9d1AucHJvdG90eXBlLmdldE5hbWU7d1AucHJvdG90eXBlLmdldElkPXdQLnByb3RvdHlwZS5nZXRJZDt3UC5wcm90b3R5cGUuZ2V0SXNEZWZhdWx0PXdQLnByb3RvdHlwZS5nZXRJc0RlZmF1bHQ7d1AucHJvdG90eXBlLmdldElzQXV0b0R1YmJlZD13UC5wcm90b3R5cGUuZ2V0SXNBdXRvRHViYmVkO2cuUXc9Y2xhc3N7Y29uc3RydWN0b3Iobj17fSl7dGhpcy5sYW5ndWFnZUNvZGU9bi5sYW5ndWFnZUNvZGV8fCIiO3RoaXMubGFuZ3VhZ2VOYW1lPW4ubGFuZ3VhZ2VOYW1lfHxudWxsO3RoaXMua2luZD1uLmtpbmR8fCIiO3RoaXMubmFtZT1uLm5hbWU9PT12b2lkIDA/bnVsbDpuLm5hbWU7dGhpcy5kaXNwbGF5TmFtZT1uLmRpc3BsYXlOYW1lfHxudWxsO3RoaXMuaWQ9bi5pZHx8bnVsbDt0aGlzLk49bi5pc19zZXJ2YWJsZXx8ITE7dGhpcy5pc1RyYW5zbGF0ZWFibGU9bi5pc190cmFuc2xhdGVhYmxlfHwhMTt0aGlzLnVybD1uLnVybHx8bnVsbDt0aGlzLnZzc0lkPW4udnNzX2lkfHwiIjt0aGlzLmlzRGVmYXVsdD1uLmlzX2RlZmF1bHR8fCExO3RoaXMudHJhbnNsYXRpb25MYW5ndWFnZT1uLnRyYW5zbGF0aW9uTGFuZ3VhZ2V8fG51bGw7dGhpcy54dGFncz1uLnh0YWdzfHwiIjt0aGlzLmNhcHRpb25JZD1uLmNhcHRpb25JZHx8IiJ9Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1pc1NlcnZhYmxlKCl7cmV0dXJuIHRoaXMuTn1XRCgpe3JldHVybiB0aGlzLnVybH1nZXRYdGFncygpe3JldHVybiB0aGlzLnh0YWdzfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubGFuZ3VhZ2VDb2RlKwoiOiAiK2cuY24odGhpcykrIiAtICIrdGhpcy52c3NJZCsiIC0gIisodGhpcy5jYXB0aW9uSWR8fCIiKX1lcXVhbHMobil7cmV0dXJuIG4/dGhpcy50b1N0cmluZygpPT09bi50b1N0cmluZygpOiExfU9WKCl7cmV0dXJuISghdGhpcy5sYW5ndWFnZUNvZGV8fHRoaXMudHJhbnNsYXRpb25MYW5ndWFnZSYmIXRoaXMudHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGUpfX07dmFyIFdBPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pZD1uO3RoaXMua1o9Vzt0aGlzLmNhcHRpb25UcmFja3M9W107dGhpcy5XPXRoaXMuWD1udWxsO3RoaXMueHRhZ3M9IiI7dGhpcy5WPXRoaXMuaj0hMTt0aGlzLk49bnVsbDt0aGlzLko9IlVOS05PV04iO3RoaXMuY2FwdGlvbnNJbml0aWFsU3RhdGU9IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiI7bj10aGlzLmtaLmlkLnNwbGl0KCIuIik7bi5sZW5ndGg+MSYmKHRoaXMuaj1uWzFdPT09IjIiLHRoaXMuVj1uWzFdPT09IjQiKX1nZXRMYW5ndWFnZUluZm8oKXtyZXR1cm4gdGhpcy5rWn1nZXRYdGFncygpe2lmKCF0aGlzLnh0YWdzKXtsZXQgbj10aGlzLmlkLnNwbGl0KCI7Iik7bi5sZW5ndGg+MSYmKHRoaXMueHRhZ3M9blsxXSl9cmV0dXJuIHRoaXMueHRhZ3N9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5rWi5uYW1lfWlzQXV0b0R1YmJlZCgpe3JldHVybiB0aGlzLmtaLmdldElzQXV0b0R1YmJlZCgpfX07CldBLnByb3RvdHlwZS5nZXRMYW5ndWFnZUluZm89V0EucHJvdG90eXBlLmdldExhbmd1YWdlSW5mbztXQS5wcm90b3R5cGUuaXNBdXRvRHViYmVkPVdBLnByb3RvdHlwZS5pc0F1dG9EdWJiZWQ7dmFyIGIzPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdj0wKXt0aGlzLko9bjt0aGlzLk49Vzt0aGlzLlc9RDt0aGlzLnJlYXNvbj1iO3RoaXMuTnM9dn1lcXVhbHMobil7cmV0dXJuIHRoaXMuSj09PW4uSiYmdGhpcy5OPT09bi5OJiZ0aGlzLlc9PT1uLlcmJnRoaXMucmVhc29uPT09bi5yZWFzb24mJighaFR8fHRoaXMuTnM9PT1uLk5zKX1pc0xvY2tlZCgpe3JldHVybiB0aGlzLlcmJiEhdGhpcy5KJiZ0aGlzLko9PT10aGlzLk59Y29tcG9zZShuKXtpZihuLlcmJnhKKG4pKXJldHVybiBZWjtpZihuLld8fHhKKHRoaXMpKXJldHVybiBuO2lmKHRoaXMuV3x8eEoobikpcmV0dXJuIHRoaXM7dmFyIFc9dGhpcy5KJiZuLko/TWF0aC5tYXgodGhpcy5KLG4uSik6dGhpcy5KfHxuLkosRD10aGlzLk4mJm4uTj9NYXRoLm1pbih0aGlzLk4sbi5OKTp0aGlzLk58fG4uTjtXPU1hdGgubWluKFcsRCk7dmFyIGI9MDtoVCYmKGI9dGhpcy5OcyE9PTAmJm4uTnMhPT0wP01hdGgubWluKHRoaXMuTnMsCm4uTnMpOnRoaXMuTnM9PT0wP24uTnM6dGhpcy5Ocyk7cmV0dXJuIGhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OJiZiPT09dGhpcy5Oc3x8IWhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OP3RoaXM6aFQ/bmV3IGIzKFcsRCwhMSxEPT09dGhpcy5OJiZiPT09dGhpcy5Ocz90aGlzLnJlYXNvbjpuLnJlYXNvbixiKTpuZXcgYjMoVyxELCExLEQ9PT10aGlzLk4/dGhpcy5yZWFzb246bi5yZWFzb24pfVgobil7cmV0dXJuIW4udmlkZW98fGhUJiZ0aGlzLk5zIT09MCYmdGhpcy5OczxuLk5zPyExOmdGKHRoaXMsbi52aWRlby5xdWFsaXR5KX19LG5oVT12QSgiYXV0byIsImhkMTA4MCIsITEsImwiKSxUOD12QSgiYXV0byIsImxhcmdlIiwhMSwibCIpLFlaPXZBKCJhdXRvIiwiYXV0byIsITEsInAiKSxoVD0hMTt2YXIgcGc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy52aWRlb0luZm9zPW47dGhpcy5KPVc7dGhpcy5hdWRpb1RyYWNrcz1bXTt0aGlzLlc9Ynx8W107aWYodGhpcy5KKXtuPW5ldyBTZXQ7RD8uKHthaW5mb2xlbjp0aGlzLkoubGVuZ3RofSk7Zm9yKGxldCB2IG9mIHRoaXMuSil7aWYoIXYua1p8fG4uaGFzKHYua1ouaWQpKXtEPy4oe2F0a2VycjohIXYua1osaXRhZzp2Lml0YWcseHRhZzp2LkosbGFuZzp2LmtaPy5uYW1lfHwiIixsYW5naWQ6di5rWj8uaWR8fCIifSk7Y29udGludWV9Vz1uZXcgV0Eodi5pZCx2LmtaKTtuLmFkZCh2LmtaLmlkKTt0aGlzLmF1ZGlvVHJhY2tzLnB1c2goVyl9RD8uKHthdGtsZW46dGhpcy5hdWRpb1RyYWNrcy5sZW5ndGh9KX19Y1kobil7bj1ufHxZWjt2YXIgVz1nLkVNKHRoaXMudmlkZW9JbmZvcyx2PT5uLlgodikpLEQ9W10sYj17fTsKZm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl0udmlkZW87YltrLnF1YWxpdHldfHwoRC5wdXNoKGspLGJbay5xdWFsaXR5XT0hMCl9cmV0dXJuIER9TnEobil7bj1ufHxZWjtyZXR1cm4gZy5FTSh0aGlzLnZpZGVvSW5mb3MsVz0+bi5YKFcpKX1nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpe3JldHVybiB0aGlzLmF1ZGlvVHJhY2tzfU4oKXtyZXR1cm4hIXRoaXMuSn19O3ZhciBBSFM9bmV3IFNldChbIjM1NiIsIjcyMSJdKSxXVnI9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLko9bnVsbDt0aGlzLk49bmV3IE1hcH1tQSgpe3N1cGVyLm1BKCl9fTt2YXIgUjQ9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSl7dGhpcy5qJD1uO3RoaXMuc3RhcnRUaW1lPVc7dGhpcy5kdXJhdGlvbj1EO3RoaXMuaW5nZXN0aW9uVGltZT1iO3RoaXMuc291cmNlVVJMPXY7dGhpcy5mZj1MO3RoaXMuUU89ZTt0aGlzLmVuZFRpbWU9VytEO3RoaXMuTj1ofHwwO3RoaXMucmFuZ2U9a3x8bnVsbDt0aGlzLnBlbmRpbmc9eHx8ITE7dGhpcy5mZj1MfHxudWxsfX07Zy5qYz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2VnbWVudHM9W107dGhpcy5KPW51bGw7dGhpcy5ZPSEwO3RoaXMuSz0iIn1qKG4pe3RoaXMuc2VnbWVudHMucHVzaChuKX1NSShuKXtyZXR1cm4hIXRoaXMuVyhuKX1nZXREdXJhdGlvbihuKXtyZXR1cm4obj10aGlzLlcobikpP24uZHVyYXRpb246MH1EKG4pe3JldHVybiB0aGlzLmdldER1cmF0aW9uKG4pfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1swXS5qJDotMX1oQyhuKXtyZXR1cm4obj10aGlzLlcobikpP24uaW5nZXN0aW9uVGltZTpOYU59eCQoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJDotMX1xZShuKXtyZXR1cm4gdGhpcy54JCgpPT09biYmIXRoaXMuWSYmbj49MH1iUSgpe3ZhciBuPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07cmV0dXJuIG4/bi5lbmRUaW1lOgpOYU59TGYoKXtyZXR1cm4gdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWV9SDcoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGh9Tigpe3JldHVybiAwfVIzKG4pe3JldHVybihuPXRoaXMuWChuKSk/bi5qJDotMX1WKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zb3VyY2VVUkw6IiJ9Z2V0U3RhcnRUaW1lKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zdGFydFRpbWU6MH1qRShuKXtyZXR1cm4gdGhpcy5nZXRTdGFydFRpbWUobikrdGhpcy5nZXREdXJhdGlvbihuKX1pc0xvYWRlZCgpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD4wfVcobil7aWYodGhpcy5KJiZ0aGlzLkouaiQ9PT1uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMsbmV3IFI0KG4sMCwwLDAsIiIpLChXLEQpPT5XLmokLUQuaiQpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTpudWxsfVgobil7aWYodGhpcy5KJiZ0aGlzLkouc3RhcnRUaW1lPD1uJiZuPHRoaXMuSi5zdGFydFRpbWUrdGhpcy5KLmR1cmF0aW9uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMse3N0YXJ0VGltZTpufSwoVyxEKT0+Vy5zdGFydFRpbWUtRC5zdGFydFRpbWUpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTp0aGlzLnNlZ21lbnRzW01hdGgubWF4KDAsLW4tMildfWFwcGVuZChuKXtpZihuLmxlbmd0aClpZihuPWcuUk0obiksdGhpcy5zZWdtZW50cy5sZW5ndGgpe3ZhciBXPXRoaXMuc2VnbWVudHMubGVuZ3RoP2cuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZTowLEQ9blswXS5qJC10aGlzLngkKCk7RD4xJiZnLkNiKHRoaXMuc2VnbWVudHMpO0Q9RD4wPzA6LUQrMTtmb3IobGV0IGI9RDtiPG4ubGVuZ3RoO2IrKylEPW5bYl0sRC5zdGFydFRpbWU9VyxELmVuZFRpbWU9RC5zdGFydFRpbWUrRC5kdXJhdGlvbixXKz1uW2JdLmR1cmF0aW9uLHRoaXMuc2VnbWVudHMucHVzaChuW2JdKX1lbHNlIHRoaXMuc2VnbWVudHM9bn1YZCgpe3JldHVybiAwfXR3KG4sVyl7dGhpcy5ZPW47dGhpcy5LPVd9fTtnLmpjLnByb3RvdHlwZS5VNz1XWigzKTt2YXIgRF89Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2PSExKXt0aGlzLmRhdGE9bjt0aGlzLm9mZnNldD1XO3RoaXMuc2l6ZT1EO3RoaXMudHlwZT1iO3RoaXMuTj0odGhpcy5KPXYpPzA6ODt0aGlzLmRhdGFPZmZzZXQ9dGhpcy5vZmZzZXQrdGhpcy5OfXNraXAobil7dGhpcy5OKz1ufX07dmFyIE9LdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLm9mZnNldD0wO3RoaXMuZGF0YT1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKG4pKX19O3ZhciBEVmk7Zy5sMz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiLHYsayxoKXt0aGlzLnN0YXJ0U2Vjcz1uO3RoaXMuQ2Y9Vzt0aGlzLmNvbnRleHQ9RDt0aGlzLmlkZW50aWZpZXI9Yjt0aGlzLmV2ZW50PXY7dGhpcy5OPWs7dGhpcy50aWxlQ29udGV4dD1ofX07RFZpPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLlBCPW47dGhpcy5vcHBvcnR1bml0eUlkPVc7dGhpcy5zZXJpYWxpemVkUHJlZmV0Y2hDb250ZXh0PUR9fTt2YXIgYk5VPXtwcmVkaWN0U3RhcnQ6InByZWRpY3RTdGFydCIsc3RhcnQ6InN0YXJ0IixbImNvbnRpbnVlIl06ImNvbnRpbnVlIixzdG9wOiJzdG9wIixwcmVmZXRjaDoicHJlZmV0Y2gifSxtNWo9e0VWRU5UX1BSRURJQ1RfU1RBUlQ6InByZWRpY3RTdGFydCIsRVZFTlRfU1RBUlQ6InN0YXJ0IixFVkVOVF9DT05USU5VRToiY29udGludWUiLEVWRU5UX1NUT1A6InN0b3AiLEVWRU5UX1BSRUZFVENIOiJwcmVmZXRjaCJ9O3ZhciBYNT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZGF0YT1uO3RoaXMudXJpPVd8fCJodHRwOi8veW91dHViZS5jb20vc3RyZWFtaW5nL21ldGFkYXRhL3NlZ21lbnQvMTAyMDE1Ijt0aGlzLnNlZ21lbnROdW1iZXI9el8odGhpcywiU2VxdWVuY2UtTnVtYmVyIik7dGhpcy5qPXpfKHRoaXMsIlNlZ21lbnQtQ291bnQiKTt0aGlzLks9dGhpcy5kYXRhWyJTZWdtZW50LUR1cmF0aW9ucy1NcyJdfHwiIjt0aGlzLmluZ2VzdGlvblRpbWU9el8odGhpcywiSW5nZXN0aW9uLVdhbGx0aW1lLVVzIikvMUU2O3RoaXMuVz0oel8odGhpcywiRmlyc3QtRnJhbWUtVGltZS1VcyIpK3pfKHRoaXMsIkZpcnN0LUZyYW1lLVVuY2VydGFpbnR5LVVzIikpLzFFNjt0aGlzLnJiPXpfKHRoaXMsIlRhcmdldC1EdXJhdGlvbi1VcyIpLzFFNjt0aGlzLlY9dGhpcy5kYXRhWyJTdHJlYW0tRmluaXNoZWQiXT09PSJUIjt0aGlzLmlzU3RyZWFtaW5nPXRoaXMuZGF0YS5TdHJlYW1hYmxlPT09IlQiO3RoaXMuY3J5cHRvUGVyaW9kSW5kZXg9CnpfKHRoaXMsIkNyeXB0by1QZXJpb2QtSW5kZXgiKTt0aGlzLlg9el8odGhpcywiQ3J5cHRvLVBlcmlvZC1TZWNvbmRzIik7dGhpcy5OPSJDdXJyZW50LUFic29sdXRlLUxvdWRuZXNzLUxrZnMiaW4gdGhpcy5kYXRhP051bWJlcih0aGlzLmRhdGFbIkN1cnJlbnQtQWJzb2x1dGUtTG91ZG5lc3MtTGtmcyJdKXx8MDpudWxsfUooKXtyZXR1cm4gdGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1DcG4iXT90aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUNwbiJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSk6W119ZksoKXtyZXR1cm4hISh0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tQ3BuIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXXx8dGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1GcmFtZS1JbmRleCJdfHx0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUFic29sdXRlLUxvdWRuZXNzLUxrZnMiXXx8CnRoaXMuZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdfHx0aGlzLmRhdGFbIklzLUFkLUJyZWFrLUZpbmlzaGVkIl0pfX07dmFyIFJlaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuZHVyYXRpb249V319O3ZhciAkOHg9e1NURVJFT19MQVlPVVRfVU5LTk9XTjowLFNURVJFT19MQVlPVVRfTEVGVF9SSUdIVDoxLFNURVJFT19MQVlPVVRfVE9QX0JPVFRPTToyfTt2YXIgaFk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLko9djt0aGlzLk49bnx8MDt0aGlzLnBpdGNoPVd8fDA7dGhpcy55YXc9RHx8MDt0aGlzLnJvbGw9Ynx8MDt2LmdldFVpbnQzMig0KX19O3ZhciB0WT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMucG9zPTA7dGhpcy5zdGFydD1XfHwwfU9KKCl7dmFyIG49dGhpcy5wb3M7dGhpcy5wb3M9MDt2YXIgVz0hMTt0cnl7c1kodGhpcyw0NDA3ODY4NTEpJiYodGhpcy5wb3M9MCxzWSh0aGlzLDQwODEyNTU0MykmJihXPSEwKSl9Y2F0Y2goRCl7aWYoRCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhpcy5wb3M9MCxXPSExLGcuR3EoRCk7ZWxzZSB0aHJvdyBEO310aGlzLnBvcz1uO3JldHVybiBXfX07dmFyIENzPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuQU89bjt0aGlzLk49e307dGhpcy51cmw9IiJ9c2V0KG4sVyl7dGhpcy5BTy5nZXQobik7dGhpcy5OW25dPVc7dGhpcy51cmw9IiJ9Z2V0KG4pe3JldHVybiB0aGlzLk5bbl18fHRoaXMuQU8uZ2V0KG4pfVdEKCl7dGhpcy51cmx8fCh0aGlzLnVybD1pS1UodGhpcykpO3JldHVybiB0aGlzLnVybH19O3ZhciB1VGk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5YPXRoaXMuVz10aGlzLk49dGhpcy50aW1lZE91dD10aGlzLnN0YXJ0ZWQ9dGhpcy5WPXRoaXMuaj0wfX07dmFyIHZUPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTz10aGlzLkQ9dGhpcy5WPXRoaXMuSj0wO3RoaXMuaj10aGlzLks9ITE7dGhpcy5OPW47dGhpcy5XPW4uY2xvbmUoKX1wUyhuLFcpe3JldHVybiBuLllaP3RoaXMuaj90aGlzLks9ITA6dGhpcy5LPWpQKHRoaXMsbixXKTpqUCh0aGlzLG4sVyl9WShuLFcsRD0wKXtEPjE/bj1uLk1jOihXPVVZKFcsRjUodGhpcyx0aGlzLnBTKG4sVyksbikpLG49TWF0aC5tYXgodGhpcy5WLFcudGltZWRPdXQpK24uVFoqKHRoaXMuSi10aGlzLlYpKy4yNSp0aGlzLkQsbj1uPjM/MUUzKjEuNioqKG4tMyk6MCk7cmV0dXJuIG49PT0wPyEwOnRoaXMuTytuPCgwLGcuUikoKX1jSihuLFcpe3RoaXMuTi5zZXQobixXKTt0aGlzLlcuc2V0KG4sVyk7dGhpcy5YJiZ0aGlzLlguc2V0KG4sVyl9V04oKXtyZXR1cm4gdGhpcy5XLmdldCgiY3BuIil8fCIifVo1KG4sVyl7bi5BTz09PXRoaXMuTiYmKHRoaXMuTj1uWChuLFcpKTtuLkFPPT09dGhpcy5YJiYodGhpcy5YPQpuWChuLFcpKX10dygpe3RoaXMuaj0hMH1yMCgpe3JldHVybiB0aGlzLk4hPT10aGlzLlgmJiF0aGlzLkt9fTt2YXIgQ2o9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5pbml0UmFuZ2U9RDt0aGlzLmluZGV4UmFuZ2U9Yjt0aGlzLko9bnVsbDt0aGlzLmNKPSExO3RoaXMuRkY9MDt0aGlzLlY9dGhpcy5TVT10aGlzLk89bnVsbDt0aGlzLmluZm89Vzt0aGlzLlhiPW5ldyB2VChuKX1OKCl7cmV0dXJuISF0aGlzLkomJnRoaXMuaW5kZXguaXNMb2FkZWQoKX1TJCgpe3JldHVybiExfUdDKG4pe3JldHVybltuXX1WUShuKXtyZXR1cm5bbl19fTt2YXIgYUI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnN0YXJ0PW47dGhpcy5lbmQ9Vzt0aGlzLmxlbmd0aD1XLW4rMX10b1N0cmluZygpe3JldHVybiB0aGlzLnN0YXJ0KyItIisodGhpcy5lbmQ9PW51bGw/IiI6dGhpcy5lbmQpfU4oKXtyZXR1cm4gdGhpcy5lbmQ9PW51bGw/e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KX06e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KSxlbmQ6U3RyaW5nKHRoaXMuZW5kKX19fTt2YXIgcUk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0iIix2LGssaCx4LEwsZSxHLHI9IiIsTixILEEpe3RoaXMudHlwZT1uO3RoaXMuUEo9Vzt0aGlzLnJhbmdlPUQ7dGhpcy5zb3VyY2U9Yjt0aGlzLnZEPUc7dGhpcy5jbGlwSWQ9cjt0aGlzLkQ9Tjt0aGlzLmJkPUg7dGhpcy5yZXF1ZXN0VG9rZW49QTt0aGlzLk89W107dGhpcy5ZPSIiO3RoaXMuaiQ9LTE7dGhpcy50dz0wO3RoaXMuWT1iO3RoaXMuaiQ9dj49MD92Oi0xO3RoaXMuc2VnbWVudFN0YXJ0VGltZT1rfHwwO3RoaXMuVz1ofHwwO3RoaXMuTj14fHwwO3RoaXMuSj1MPj0wP0w6dGhpcy5yYW5nZT90aGlzLnJhbmdlLmxlbmd0aDpOYU47dGhpcy5yYW5nZT8obj10aGlzLk4rdGhpcy5KPT09dGhpcy5yYW5nZS5sZW5ndGgsZT10aGlzLnNvdXJjZT09PSJ3YXNtIj9lPz9uOm4pOmU9ZT09PXZvaWQgMD8hIXRoaXMuSjplO3RoaXMuYVo9ZTt0aGlzLnJhbmdlPyh0aGlzLlg9dGhpcy5zZWdtZW50U3RhcnRUaW1lK3RoaXMuVyoKdGhpcy5OL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuSz10aGlzLlcqdGhpcy5KL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuaj10aGlzLlgrdGhpcy5LKTp2Xyh0aGlzKX1WKCl7cmV0dXJuIHRoaXMuYVomJnRoaXMuUEouaW5kZXgucWUodGhpcy5qJCl9a2Yobil7cmV0dXJuIG4+PXRoaXMuWCYmbjw9dGhpcy5qfWlzRW5jcnlwdGVkKCl7cmV0dXJuIHRoaXMuUEouaW5mby5pc0VuY3J5cHRlZCgpfWVxdWFscyhuKXtyZXR1cm4hKCFufHxuLlBKIT09dGhpcy5QSnx8bi50eXBlIT09dGhpcy50eXBlfHwodGhpcy5yYW5nZSYmbi5yYW5nZT9uLnJhbmdlLnN0YXJ0IT09dGhpcy5yYW5nZS5zdGFydHx8bi5yYW5nZS5lbmQhPT10aGlzLnJhbmdlLmVuZDpuLnJhbmdlIT09dGhpcy5yYW5nZSl8fG4uaiQhPT10aGlzLmokfHxuLk4hPT10aGlzLk58fG4uSiE9PXRoaXMuSil9Y0ooKXtyZXR1cm4gdGhpcy50eXBlPT09NH1mWSgpe3JldHVybiEhdGhpcy5QSi5pbmZvLnZpZGVvfVRDKCl7cmV0dXJuIHRoaXMuaiR9Z2EoKXt2YXIgbj0KWHgodGhpcyksVz0iIjtnLmFfKG4sKEQsYik9PntXKz1gJHtifV8ke0R9X2B9KTsKcmV0dXJuIFcuc2xpY2UoMCwtMSl9Y2xvbmUoKXt2YXIgbj1uZXcgcUkodGhpcy50eXBlLHRoaXMuUEosdGhpcy5yYW5nZSx0aGlzLnNvdXJjZSx0aGlzLmokLHRoaXMuc2VnbWVudFN0YXJ0VGltZSx0aGlzLlcsdGhpcy5OLHRoaXMuSix0aGlzLmFaLHRoaXMudkQsdGhpcy5jbGlwSWQsdGhpcy5ELHRoaXMuYmQsdGhpcy5yZXF1ZXN0VG9rZW4pO24uWT10aGlzLlk7dGhpcy5PLmxlbmd0aD4wJiYobi5PPVsuLi50aGlzLk9dKTtuLlg9dGhpcy5YO24uSz10aGlzLks7bi5qPXRoaXMuajtuLnR3PXRoaXMudHc7cmV0dXJuIG59fTt2YXIgd2s9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLkF3PW47dGhpcy5YPXRoaXMuTj1udWxsO3RoaXMuaj10aGlzLlpBPU5hTjt0aGlzLnBTPXRoaXMucmVxdWVzdElkPW51bGw7dGhpcy5YYj1uWzBdLlBKLlhiO3RoaXMuSj1XfHwiIjtpZih0aGlzLkF3WzBdLnJhbmdlJiZ0aGlzLkF3WzBdLko+MCl7YTp7Zm9yKFc9MTtXPG4ubGVuZ3RoO1crKylpZighYlQobltXLTFdLG5bV10pKXtXPSExO2JyZWFrIGF9Vz0hMH1pZihXKXRoaXMucmFuZ2U9ZDV3KG4pLHRoaXMuVz10aGlzLnJhbmdlLmxlbmd0aDtlbHNle3RoaXMucmFuZ2U9dGhpcy5Bd1t0aGlzLkF3Lmxlbmd0aC0xXS5yYW5nZTtXPTA7Zm9yKGxldCBEIG9mIG4pVys9RC5yYW5nZS5sZW5ndGg7dGhpcy5XPVd9fX1ZbCgpe3JldHVybiB0aGlzLk4/dGhpcy5OLldEKCk6IiJ9aXNEZWNvcmF0ZWQoKXtyZXR1cm4hISh0aGlzLk58fHRoaXMuWCYmdGhpcy5YLk15KX1Rbigpe3JldHVybiBoSih0aGlzLkF3WzBdKX1rZihuKXtmb3IobGV0IFcgb2YgdGhpcy5BdylpZihXLnR5cGU9PT0KMyYmVy5rZihuKSlyZXR1cm4hMDtyZXR1cm4hMX1aNShuLFcpe3RoaXMuWGIuWjUobixXKTtpZih0aGlzLk4pe3RoaXMuTj1uWChuLFcpO2ZvcihsZXQgRCBvZlsiYWNwbnMiLCJjcG4iLCJkYWlzdGF0ZSIsInNraXBzcSJdKXRoaXMuTlsic2V0Il0oRCxudWxsKX10aGlzLnJlcXVlc3RJZD1uLmdldCgicmVxX2lkIil9fTt2YXIgZHQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiLHYsaz0wKXtzdXBlcihuLFcsYik7dGhpcy52Sj1EO3RoaXMucmI9azt0aGlzLmluZGV4PXZ8fG5ldyBnLmpjfVcoKXtyZXR1cm4hMX1EKCl7cmV0dXJuITB9VEMoKXtyZXR1cm4hMX1TJCgpe3JldHVybiF0aGlzLnZKfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHRoaXMuaW5pdFJhbmdlLCJnZXRNZXRhZGF0YVJlcXVlc3RJbmZvIildLHRoaXMudkopfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiB0aGlzLkQoKSYmbi5KJiYhbi5hWj9uZXcgd2soW25ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJsaXZlR2V0TmV4dFJlcXVlc3RJbmZvQnlTZWdtZW50IixuLmokLG4uc2VnbWVudFN0YXJ0VGltZSxuLlcsbi5OK24uSixOYU4sITApXSx0aGlzLmluZGV4LlYobi5qJCkpOnRoaXMuaihnayhuKSwhMSl9SyhuLFc9ITEpe249dGhpcy5pbmRleC5SMyhuKTtXJiYobj1NYXRoLm1pbih0aGlzLmluZGV4LngkKCksCm4rMSkpO3JldHVybiB0aGlzLmoobiwhMCl9RHQobil7RE8obil9WChuKXtyZXR1cm4gbi5KPT09MD8hMDp0aGlzLmluZGV4LngkKCk+bi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9dXBkYXRlKG4sVyxEKXt0aGlzLmluZGV4LmFwcGVuZChuKTtQQSh0aGlzLmluZGV4LEQpO3RoaXMudHcoVywidXBkYXRlIil9Tigpe3JldHVybiB0aGlzLlMkKCk/ITA6c3VwZXIuTigpfWoobixXKXt2YXIgRD10aGlzLmluZGV4LlYobiksYj10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSx2PXRoaXMuaW5kZXguZ2V0RHVyYXRpb24obiksaztXP3Y9az0wOms9dGhpcy5pbmZvLk5zPjA/dGhpcy5pbmZvLk5zKnY6MUUzO3JldHVybiBuZXcgd2soW25ldyBxSSgzLHRoaXMsdm9pZCAwLCJsaXZlQ3JlYXRlUmVxdWVzdEluZm9Gb3JTZWdtZW50IixuLGIsdiwwLGssIVcpXSxEKX1ISigpe3JldHVybiB0aGlzLlMkKCk/MDp0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4hMX10dyhuLFcpe3RoaXMuaW5kZXgudHcobiwKVyl9fTt2YXIgdmhiPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdil7dGhpcy5qJD1uO3RoaXMuc3RhcnRTZWNzPVc7dGhpcy5DZj1EO3RoaXMuTj1ifHxOYU47dGhpcy5KPXZ8fE5hTn19O3ZhciBCXz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1bXTt0aGlzLko9bnVsbDt0aGlzLlY9MDt0aGlzLlc9W107dGhpcy5qPSExO3RoaXMuSz0iIjt0aGlzLlg9LTF9dXBkYXRlKG4pe3ZhciBXPXZvaWQgMDt0aGlzLkomJihXPXRoaXMuSik7e2xldCBBPW5ldyBCXzt2YXIgRD1BcnJheS5mcm9tKG4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlMiKSk7aWYoRC5sZW5ndGgpe3ZhciBiPStsVChuLCJ0aW1lc2NhbGUiKXx8MSx2PSgrRFswXS5nZXRBdHRyaWJ1dGUoInQiKXx8MCkvYixrPStsVChuLCJzdGFydE51bWJlciIpfHwwO0EuWD12O3ZhciBoPVc/Vy5zdGFydFNlY3MrVy5DZjowLHg9RGF0ZS5wYXJzZShDeihsVChuLCJ5dDpzZWdtZW50SW5nZXN0VGltZSIpKSkvMUUzO0Euaj1uLnBhcmVudEVsZW1lbnQudGFnTmFtZT09PSJTZWdtZW50VGVtcGxhdGUiO0EuaiYmKEEuSz1sVChuLCJtZWRpYSIpKTtuPVc/ay1XLmokOjE7QS5WPW4+MD8wOi1uKzE7Zm9yKEggb2YgRCl7bj0rSC5nZXRBdHRyaWJ1dGUoImQiKS8KYjtEPSgrSC5nZXRBdHRyaWJ1dGUoInl0OnNpZCIpfHwwKS9iO2xldCB5PStILmdldEF0dHJpYnV0ZSgiciIpfHwwO2ZvcihsZXQgVD0wO1Q8PXk7VCsrKXtpZihXJiZrPD1XLmokKXtrKys7Y29udGludWV9dmFyIEw9bmV3IHZoYihrLGgsbix4K0Qsdik7QS5OLnB1c2goTCk7Yjp7dmFyIGU9SDt2YXIgRz1iLHI9TC5zdGFydFNlY3M7TD1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRUaW1lT2Zmc2V0Iik7dmFyIE49ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50RHVyYXRpb24iKTtpZighTHx8IU4pe2U9bnVsbDticmVhayBifUw9TnVtYmVyKEwpO3I9LUwvRytyO0c9TnVtYmVyKE4pL0c7Tj1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRDb250ZXh0Iil8fG51bGw7bGV0IHo9ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50SWRlbnRpZmllciIpfHwiIjtlPWUuZ2V0QXR0cmlidXRlKCJ5dDpjdWVwb2ludEV2ZW50Iil8fCIiO2U9bmV3IGcubDMocixHLE4seixiTlVbZV18fCJ1bmtub3duIiwKTCl9ZSYmQS5XLnB1c2goZSk7aysrO2grPW47dis9bjt4Kz1uK0R9fUEuTi5sZW5ndGgmJihBLko9Zy5VTShBLk4pKX12YXIgSD1BfXRoaXMuVj1ILlY7dGhpcy5KPUguSnx8dGhpcy5KO2cuUTIodGhpcy5OLEguTik7Zy5RMih0aGlzLlcsSC5XKTt0aGlzLmo9SC5qO3RoaXMuSz1ILks7dGhpcy5YPT09LTEmJih0aGlzLlg9SC5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5YPT09LTE/MDp0aGlzLlh9fTt2YXIga0xDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPVtdO3RoaXMuTj1udWxsO3RoaXMuSj17fTt0aGlzLlc9e319fTt2YXIgZ1M9Y2xhc3MgZXh0ZW5kcyBnLmpje2NvbnN0cnVjdG9yKHtyYjpuPTAsT1Q6Vz0hMSx1YjpEPTAsSXQ6Yj0wLEhQOnY9SW5maW5pdHksdWs6az0wLFhnOmg9ITEsRTM6eD0hMX09e30pe3N1cGVyKCk7dGhpcy5Ebj10aGlzLnFxPS0xO3RoaXMuTzg9bjt0aGlzLnViPUQ7dGhpcy5PVD1XO3RoaXMuSXQ9Yjt0aGlzLkhQPXY7dGhpcy51az1rOygodGhpcy5YZz1oKXx8aXNGaW5pdGUodikmJnRoaXMuSFA+MCkmJlcmJlp1JiZ0aGlzLnR3KCExLCJwb3N0TGl2ZSIpO3RoaXMuRTM9eH1VYygpe3JldHVybiB0aGlzLk84fU1JKG4sVyl7bj1GeCh0aGlzLG4pO3JldHVybiBuPj0wJiYoV3x8IXRoaXMuc2VnbWVudHNbbl0ucGVuZGluZyl9Wk8oKXtyZXR1cm4gdGhpcy5PVD90aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLlgodGhpcy5MZigpKS5qJDotMTpzdXBlci5aTygpfUxmKCl7aWYodGhpcy5YZylyZXR1cm4gMDtpZighdGhpcy5PVClyZXR1cm4gc3VwZXIuTGYoKTtpZighdGhpcy5zZWdtZW50cy5sZW5ndGgpcmV0dXJuIDA7CnZhciBuPU1hdGgubWF4KGcuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZS10aGlzLnViLDApO3JldHVybiB0aGlzLkl0PjAmJnRoaXMuWChuKS5qJDx0aGlzLkl0P3RoaXMuVyh0aGlzLkl0KS5zdGFydFRpbWU6bn1iUSgpe2lmKHRoaXMuRTMmJnRoaXMuRG4mJnRoaXMuRG4+MClyZXR1cm4gdGhpcy5Ebi8xRTM7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBzdXBlci5iUSgpO3ZhciBuPXRoaXMueCQoKTtpZighdGhpcy5PVHx8bjw9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJCluPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07ZWxzZXt2YXIgVz10aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdO249bmV3IFI0KG4sTWF0aC5tYXgoMCxXLnN0YXJ0VGltZS0oVy5qJC1uKSp0aGlzLk84KSx0aGlzLk84LDAsYHNxLyR7bn1gLHZvaWQgMCx2b2lkIDAsITApfXJldHVybiB0aGlzLlhnP01hdGgubWluKHRoaXMudWIsCm4uZW5kVGltZSk6bi5lbmRUaW1lfUg3KCl7cmV0dXJuIHRoaXMuT1Q/dGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy54JCgpLXRoaXMuWk8oKSsxOjA6c3VwZXIuSDcoKX14JCgpe3ZhciBuPU1hdGgubWluKHRoaXMuSFAsTWF0aC5tYXgoc3VwZXIueCQoKSx0aGlzLnFxKSksVz10aGlzLnViKjFFMztXPXRoaXMuRG4+MCYmdGhpcy5EbjxXO3RoaXMuWGcmJnRoaXMudWI+MCYmdGhpcy5xcT4wJiYhVyYmKFc9dGhpcy5YKHRoaXMudWIpKSYmKG49TWF0aC5taW4oVy5qJC0xLG4pKTtyZXR1cm4gbn1PZygpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdOm51bGx9aihuKXt2YXIgVz1GeCh0aGlzLG4uaiQpO2lmKFc+PTApdGhpcy5zZWdtZW50c1tXXT1uO2Vsc2UgaWYodGhpcy5zZWdtZW50cy5zcGxpY2UoLShXKzEpLDAsbiksdGhpcy51ayYmbi5qJCUoMzAwL3RoaXMuTzgpPT09MCl7dmFyIEQ9dGhpcy5zZWdtZW50c1swXS5qJCwKYj1NYXRoLmZsb29yKHRoaXMudWsvdGhpcy5POCk7bj1uLmokLWI7Vz0tKFcrMSktYjtXPjAmJm4+RCYmKHRoaXMuc2VnbWVudHM9dGhpcy5zZWdtZW50cy5zbGljZShXKSl9fU8obil7bj1GeCh0aGlzLG4pO24+PTAmJnRoaXMuc2VnbWVudHMuc3BsaWNlKG4sMSl9VFgoKXtyZXR1cm4gdGhpcy5xcX1xZShuKXtyZXR1cm4gWnU/IXRoaXMuWSYmbj49MCYmdGhpcy54JCgpPD1uOnN1cGVyLnFlKG4pfVgobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlgobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07aWYobjx0aGlzLnNlZ21lbnRzWzBdLnN0YXJ0VGltZSlXPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5qJC1NYXRoLmNlaWwoKHRoaXMuc2VnbWVudHNbMF0uc3RhcnRUaW1lLW4pL3RoaXMuTzgpKTtlbHNlIGlmKG4+PVcuZW5kVGltZSlXPVcuaiQrTWF0aC5mbG9vcigobi1XLmVuZFRpbWUpLwp0aGlzLk84KzEpO2Vsc2V7Vz1EZSh0aGlzLnNlZ21lbnRzLGI9Pm48Yi5zdGFydFRpbWU/LTE6bj49Yi5lbmRUaW1lPzE6MCk7CmlmKFc+PTApcmV0dXJuIHRoaXMuc2VnbWVudHNbV107dmFyIEQ9LShXKzEpO1c9dGhpcy5zZWdtZW50c1tELTFdO0Q9dGhpcy5zZWdtZW50c1tEXTtXPU1hdGguZmxvb3IoKG4tVy5lbmRUaW1lKS8oKEQuc3RhcnRUaW1lLVcuZW5kVGltZSkvKEQuaiQtVy5qJC0xKSkrMSkrVy5qJH1yZXR1cm4gdGhpcy5XKFcpfVcobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlcobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPUZ4KHRoaXMsbik7aWYoVz49MClyZXR1cm4gdGhpcy5zZWdtZW50c1tXXTt2YXIgRD0tKFcrMSk7Vz10aGlzLk84O2lmKEQ9PT0wKXZhciBiPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWUtKHRoaXMuc2VnbWVudHNbMF0uaiQtbikqVyk7ZWxzZSBEPT09dGhpcy5zZWdtZW50cy5sZW5ndGg/KGI9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpOihiPQp0aGlzLnNlZ21lbnRzW0QtMV0sVz10aGlzLnNlZ21lbnRzW0RdLFc9KFcuc3RhcnRUaW1lLWIuZW5kVGltZSkvKFcuaiQtYi5qJC0xKSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpO3JldHVybiBuZXcgUjQobixiLFcsMCxgc3EvJHtufWAsdm9pZCAwLHZvaWQgMCwhMCl9fSxadT0hMTt2YXIgV1Q9Y2xhc3MgZXh0ZW5kcyBkdHtjb25zdHJ1Y3RvcihuLFcsRD17fSl7c3VwZXIobixXLCIiLHZvaWQgMCx2b2lkIDAsRC5yYnx8MCk7dGhpcy5pbmRleD1uZXcgZ1MoRCl9VEMoKXtyZXR1cm4hMH1OKCl7cmV0dXJuITB9WChuKXtyZXR1cm4gdGhpcy5EKCkmJm4uSiYmIW4uYVp8fCFuLlBKLmluZGV4LnFlKG4uaiQpfVkoKXt9SyhuLFc9ITEpe3JldHVybiB0eXBlb2YgbiE9PSJudW1iZXIifHxpc0Zpbml0ZShuKT9zdXBlci5LKG4sVyk6bmV3IHdrKFtuZXcgcUkoMyx0aGlzLHZvaWQgMCwibWxMaXZlR2V0UmVxSW5mb1N0dWJGb3JUaW1lIiwtMSx2b2lkIDAsdGhpcy5yYix2b2lkIDAsdGhpcy5yYip0aGlzLmluZm8uTnMpXSwiIil9aihuLFcpe2lmKHRoaXMuaW5kZXguTUkobikpcmV0dXJuIHN1cGVyLmoobixXKTt2YXIgRD10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSxiPU1hdGgucm91bmQodGhpcy5yYip0aGlzLmluZm8uTnMpLHY9dGhpcy5yYjtXJiYodj1iPTApO3JldHVybiBuZXcgd2soW25ldyBxSSgzLAp0aGlzLHZvaWQgMCwibWxMaXZlQ3JlYXRlUmVxSW5mb0ZvclNlZyIsbixELHYsdm9pZCAwLGIsIVcpXSxuPj0wP2BzcS8ke259YDoiIil9fTt2YXIgcnQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKG4sVyk7dGhpcy5pbmRleD1uZXcgZy5qYzt0aGlzLmluZGV4LnR3KCExLCJkIil9Vygpe3JldHVybiExfUQoKXtyZXR1cm4hMX1UQygpe3JldHVybiExfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHZvaWQgMCwib3RmSW5pdCIpXSwic3EvMCIpfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiBNSSh0aGlzLGdrKG4pLCExKX1LKG4sVz0hMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gTUkodGhpcyxuLCEwKX1EdChuKXtuLmluZm8udHlwZT09PTEmJih0aGlzLkp8fCh0aGlzLko9JE0obi5KKSksbi5OJiZuLk4udXJpPT09Imh0dHA6Ly95b3V0dWJlLmNvbS9zdHJlYW1pbmcvb3RmL2R1cmF0aW9ucy8xMTIwMTUiJiZuR1ModGhpcyxuLk4pKX1YKG4pe3JldHVybiBuLko9PT0wPyEwOnRoaXMuaW5kZXgueCQoKT4Kbi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9SEooKXtyZXR1cm4gMH1udSgpe3JldHVybiExfX07dmFyIGE0LGhoYixEODIsbk0sV0t3O2cuVnM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50YWc9bn19O2E0PW5ldyBNYXA7aGhiPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXB9fTtEODI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49MTA7dGhpcy5KPURhdGUubm93KCl9fTtuTT1uZXcgTWFwO1dLdz1uZXcgaGhiO3ZhciBiOD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuaW5mbz1uO3RoaXMuSj1XO3RoaXMuTj1udWxsO3RoaXMuWD10aGlzLlc9LTE7dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLmlzTG9ja2VkPXRoaXMuSz0hMTt0aGlzLlY9dGhpcy5pbmZvLlBKLlMkKCkmJiF0aGlzLmluZm8uTn1qKG4sVz0hMSxEPTApe2lmKHRoaXMuaXNMb2NrZWR8fG4uaXNMb2NrZWR8fCFiVCh0aGlzLmluZm8sbi5pbmZvKXx8dGhpcy5pbmZvLmFaKXJldHVybiBudWxsO2lmKEQpe2lmKHRoaXMuSi50b3RhbExlbmd0aCtuLkoudG90YWxMZW5ndGg+RClyZXR1cm4gbnVsbH1lbHNlIGlmKFcmJihXPXRoaXMuSixEPW4uSixXPSEoRC5OLmxlbmd0aD94TShXLEQuTlswXSk6MSkpLFcpcmV0dXJuIG51bGw7Vz1uZXcgcUkodGhpcy5pbmZvLnR5cGUsdGhpcy5pbmZvLlBKLHRoaXMuaW5mby5yYW5nZSx0aGlzLmluZm8uWSx0aGlzLmluZm8uaiQsdGhpcy5pbmZvLnNlZ21lbnRTdGFydFRpbWUsdGhpcy5pbmZvLlcsCnRoaXMuaW5mby5OLHRoaXMuaW5mby5KLHRoaXMuaW5mby5hWix0aGlzLmluZm8udkQsdGhpcy5pbmZvLmNsaXBJZCx0aGlzLmluZm8uRCk7UF8oVyxuLmluZm8pO0Q9bmV3IFM1O2U1KEQsdGhpcy5KKTtlNShELG4uSik7Vz1uZXcgYjgoVyxEKTtXLk4hPW51bGwmJm4uTiE9bnVsbCYmZy5jXygiZGFzaCIsNDE0NjI3OTU3LGBtZXJnZWQgc2xpY2UgZW1zZyBvdmVycmlkZGVuOyBwcmV2OiAke1cuTi5mSygpfSBuZXh0OiAke24uTi5mSygpfWApO1cuTj1uLk58fHRoaXMuTjtXLlc9dGhpcy5XIT09LTE/dGhpcy5XOm4uVztXLlg9dGhpcy5YIT09LTE/dGhpcy5YOm4uWDtyZXR1cm4gV319O2cuQkM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmNvdW50PTA7dGhpcy5KPTE7dGhpcy5XPSExO3RoaXMub2Zmc2V0cz1uZXcgRmxvYXQ2NEFycmF5KDEyOCk7dGhpcy5zdGFydFRpY2tzPW5ldyBGbG9hdDY0QXJyYXkoMTI4KX1NSShuKXtyZXR1cm4gbjw9dGhpcy54JCgpfU4obil7cmV0dXJuIHRoaXMub2Zmc2V0c1tuXX1nZXRTdGFydFRpbWUobil7cmV0dXJuIHRoaXMuc3RhcnRUaWNrc1tuXS90aGlzLkp9akUobil7cmV0dXJuIHRoaXMuZ2V0U3RhcnRUaW1lKG4pK3RoaXMuZ2V0RHVyYXRpb24obil9aEMoKXtyZXR1cm4gTmFOfWdldER1cmF0aW9uKG4pe249dGhpcy5EKG4pO3JldHVybiBuPj0wP24vdGhpcy5KOi0xfUQobil7cmV0dXJuIG4rMTx0aGlzLmNvdW50fHx0aGlzLlc/dGhpcy5zdGFydFRpY2tzW24rMV0tdGhpcy5zdGFydFRpY2tzW25dOi0xfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gMH14JCgpe3JldHVybiB0aGlzLmNvdW50LTF9cWUobil7cmV0dXJuIHRoaXMueCQoKT09PQpuJiZuPj0wfWJRKCl7cmV0dXJuIHRoaXMuVz90aGlzLnN0YXJ0VGlja3NbdGhpcy5jb3VudF0vdGhpcy5KOk5hTn1MZigpe3JldHVybiAwfUg3KCl7cmV0dXJuIHRoaXMuY291bnR9Vigpe3JldHVybiIifVIzKG4pe24qPXRoaXMuSjtuPWcuVzQodGhpcy5zdGFydFRpY2tzLnN1YmFycmF5KDAsdGhpcy5jb3VudCksbik7cmV0dXJuIG4+PTA/bjpNYXRoLm1heCgwLC1uLTIpfWlzTG9hZGVkKCl7cmV0dXJuIHRoaXMueCQoKT49MH1YZChuLFcpe2lmKG4+PXRoaXMueCQoKSlyZXR1cm4gMDt2YXIgRD0wO2ZvcihXPXRoaXMuZ2V0U3RhcnRUaW1lKG4pK1c7bjx0aGlzLngkKCkmJlc+dGhpcy5nZXRTdGFydFRpbWUobik7bisrKUQ9TWF0aC5tYXgoRCx0TSh0aGlzLG4pL3RoaXMuZ2V0RHVyYXRpb24obikpO3JldHVybiBEfXJlc2l6ZShuKXtuKz0yO3ZhciBXPXRoaXMub2Zmc2V0czt0aGlzLm9mZnNldHM9bmV3IEZsb2F0NjRBcnJheShuKzEpO3ZhciBEPXRoaXMuc3RhcnRUaWNrczt0aGlzLnN0YXJ0VGlja3M9Cm5ldyBGbG9hdDY0QXJyYXkobisxKTtmb3Iobj0wO248dGhpcy5jb3VudCsxO24rKyl0aGlzLm9mZnNldHNbbl09V1tuXSx0aGlzLnN0YXJ0VGlja3Nbbl09RFtuXX1jYXAobixXKXskWCh0aGlzKTt0aGlzLlc9ITA7dGhpcy5zdGFydFRpY2tzW3RoaXMuY291bnRdPVc7dGhpcy5vZmZzZXRzW3RoaXMuY291bnRdPW59fTtnLkJDLnByb3RvdHlwZS5VNz1XWigyKTt2YXIgc2s9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcihuLFcsRCxiKTt0aGlzLmo9bnVsbDt0aGlzLmluZGV4PW5ldyBnLkJDfVkobixXKXt2YXIgRD1uZXcgcUkoMix0aGlzLHRoaXMuaW5kZXhSYW5nZSwiaW5kZXhJbmZvIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyksYj1bbmV3IHFJKDEsdGhpcyx0aGlzLmluaXRSYW5nZSwiaW5pdEluZm8iLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxXKSxEXTt0aGlzLmluZm8uY29udGVudExlbmd0aD4wJiZuJiYoRD1ELnJhbmdlLmVuZCsxLG49TWF0aC5taW4obix0aGlzLmluZm8uY29udGVudExlbmd0aC1EKSxuPjAmJmIucHVzaChuZXcgcUkoNCx0aGlzLFdfKEQsbiksInRiZFJhbmdlIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVykpKTtyZXR1cm4gbmV3IHdrKGIpfUR0KG4pe2lmKG4uaW5mby50eXBlPT09CjEpe2lmKHRoaXMuSilyZXR1cm47dGhpcy5KPSRNKG4uSil9ZWxzZSBpZihuLmluZm8udHlwZT09PTIpe2lmKHRoaXMuanx8dGhpcy5pbmRleC54JCgpPj0wKXJldHVybjtpZihnLlJCKHRoaXMuaW5mbykpe3ZhciBXPXRoaXMuaW5kZXgsRD1nLldSKG4pO249bi5pbmZvLnJhbmdlLnN0YXJ0O3ZhciBiPWcubnMoRCwwLDE5MzYyODY4NDApO0Q9THMoYik7Vy5KPUQudGltZXNjYWxlO3ZhciB2PUQuZjg7Vy5vZmZzZXRzWzBdPUQuTm8rbitiLnNpemU7Vy5zdGFydFRpY2tzWzBdPXY7Vy5XPSEwO249RC5xZy5sZW5ndGg7Zm9yKHY9MDt2PG47disrKXJ5KFcsRC5Ic1t2XSxELnFnW3ZdKX1lbHNlIHRoaXMuaj1nLldSKG4pfWlmKHRoaXMuaW5mby5xSCgpJiZ0aGlzLkomJnRoaXMuail7bj1uZXcgRGF0YVZpZXcodGhpcy5KLmJ1ZmZlcik7Vz10aGlzLmluZGV4O3Y9dGhpcy5qO0Q9dGhpcy5pbmRleFJhbmdlLmVuZDtiPW5ldyB0WShuKTtuPWI7Yj1uLnBvczt2YXIgaz17Qzk6MUU2LG84OjFFOSwKZHVyYXRpb246MCx4TTowLGJtOjB9O2lmKHNZKG4sNDA4MTI1NTQzKSlpZihrLnhNPU5rKG4sITApLGsuYm09bi5zdGFydCtuLnBvcyxzWShuLDM1NzE0OTAzMCkpe2Zvcih2YXIgaD1yQShuKTshSHcoaCk7KXt2YXIgeD1OayhoLCExKTt4PT09MjgwNzcyOT9rLkM5PWZzKGgpOng9PT0yODA3NzMwP2subzg9ZnMoaCk6eD09PTE3NTQ1P2suZHVyYXRpb249SUIoaCk6SlkoaCl9bi5wb3M9YjtuPWt9ZWxzZSBuLnBvcz1iLG49bnVsbDtlbHNlIG4ucG9zPWIsbj1udWxsO2lmKG4hPT1udWxsKXtXLko9bi5vOC9uLkM5O2I9bmV3IHRZKHYpO3Y9YjtoPW4uYm07Yj12LnBvcztrPVtdO2lmKHNZKHYsNDc1MjQ5NTE1KSl7Zm9yKHg9ckEodik7c1koeCwxODcpOyl7bGV0IEw9ckEoeCk7aWYoIXNZKEwsMTc5KSljb250aW51ZTtsZXQgZT1mcyhMKTtpZighc1koTCwxODMpKWNvbnRpbnVlO0w9ckEoTCk7bGV0IEc9aDtmb3IoO3NZKEwsMjQxKTspRz1mcyhMKStoO2sucHVzaCh7Zm86RyxuODplfSl9aWYoay5sZW5ndGg+CjAmJkQ9PT1rWzBdLmZvKWZvcihEPTA7RDxrLmxlbmd0aDtEKyspa1tEXS5mbys9MTt2LnBvcz1iO0Q9a31lbHNlIHYucG9zPWIsRD1udWxsO2lmKEQhPT1udWxsKXtmb3IobGV0IEwgb2YgRClEPVcsdj1MLmZvLGI9TC5uOCwkWChEKSxELm9mZnNldHNbRC5jb3VudF09dixELnN0YXJ0VGlja3NbRC5jb3VudF09YixELmNvdW50Kys7Vy5jYXAobi54TStuLmJtLG4uZHVyYXRpb24pfX10aGlzLmo9bnVsbH19R0Mobil7dmFyIFc9dGhpcy5WUShuLmluZm8pLEQ9bi5pbmZvLnJhbmdlLnN0YXJ0K24uaW5mby5OLGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPWdkKG4uSixXW3ZdLnJhbmdlLnN0YXJ0K1dbdl0uTi1ELFdbdl0uSik7Yi5wdXNoKG5ldyBiOChXW3ZdLGspKX1yZXR1cm4gYn1WUShuKXtmb3IodmFyIFc9bi5yYW5nZS5zdGFydCtuLk4sRD0wO0Q8dGhpcy5pbmRleC54JCgpJiZXPj10aGlzLmluZGV4Lk4oRCsxKTspRCsrO3JldHVybiBzTih0aGlzLEQsVywKbi5KKS5Bd31YKG4pe24uVigpO3JldHVybiB0aGlzLk4oKT8hMDpuLnJhbmdlLmVuZCsxPHRoaXMuaW5mby5jb250ZW50TGVuZ3RofWJkKG4sVyl7dGhpcy5YKG4pO2lmKCF0aGlzLk4oKSlyZXR1cm4gVz1XXyhuLnJhbmdlLmVuZCsxLFcpLFcuZW5kKzE+dGhpcy5pbmZvLmNvbnRlbnRMZW5ndGgmJihXPW5ldyBhQihXLnN0YXJ0LHRoaXMuaW5mby5jb250ZW50TGVuZ3RoLTEpKSxuZXcgd2soW25ldyBxSSg0LG4uUEosVywiZ2V0TmV4dFJlcXVlc3RJbmZvQnlMZW5ndGgiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxuLmNsaXBJZCldKTtuLnR5cGU9PT00JiYobj10aGlzLlZRKG4pLG49bltuLmxlbmd0aC0xXSk7dmFyIEQ9MCxiPW4ucmFuZ2Uuc3RhcnQrbi5OK24uSjtuLnR5cGU9PT0zJiYobi5WKCksRD1uLmokLGI9PT1uLnJhbmdlLmVuZCsxJiYoRCs9MSkpO3JldHVybiBzTih0aGlzLEQsYixXKX1lJCgpe3JldHVybiBudWxsfUsobixXPQohMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gc04odGhpcyxuLHRoaXMuaW5kZXguTihuKSwwKX1XKCl7cmV0dXJuITB9RCgpe3JldHVybiEwfVRDKCl7cmV0dXJuITF9SEooKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlLmxlbmd0aCt0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlJiZ0aGlzLmluaXRSYW5nZSYmdGhpcy5pbml0UmFuZ2UuZW5kKzE9PT10aGlzLmluZGV4UmFuZ2Uuc3RhcnQ/ITA6ITF9fTt2YXIgQU09Y2xhc3N7Y29uc3RydWN0b3Iobj0wLFc9MCxEPSJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSIsYj0hMSx2LGssaD0iQVVESU9fUVVBTElUWV9VTktOT1dOIix4PSExKXt0aGlzLnNhbXBsZVJhdGU9bjt0aGlzLm51bUNoYW5uZWxzPVc7dGhpcy5zcGF0aWFsQXVkaW9UeXBlPUQ7dGhpcy5XPWI7dGhpcy5YPXY7dGhpcy5KPWs7dGhpcy5hdWRpb1F1YWxpdHk9aDt0aGlzLk49eH1pc011bHRpQ2hhbm5lbEF1ZGlvKCl7cmV0dXJuIHRoaXMubnVtQ2hhbm5lbHM+Mn19O3ZhciBLTT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiPSIiLHY9IiIsaz0iIil7dGhpcy5kaXNwbGF5TmFtZT1uO3RoaXMudnNzSWQ9Vzt0aGlzLmxhbmd1YWdlQ29kZT1EO3RoaXMua2luZD1iO3RoaXMueHRhZ3M9djt0aGlzLmlkPWt9fTt2YXIgciR4PXtDT0xPUl9QUklNQVJJRVNfQlQ3MDk6ImJ0NzA5IixDT0xPUl9QUklNQVJJRVNfQlQyMDIwOiJidDIwMjAiLENPTE9SX1BSSU1BUklFU19VTktOT1dOOm51bGwsQ09MT1JfUFJJTUFSSUVTX1VOU1BFQ0lGSUVEOm51bGx9LGJxVT17Q09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUNzA5OiJidDcwOSIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUMjAyMF8xMDoiYnQyMDIwIixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfU01QVEVTVDIwODQ6InNtcHRlMjA4NCIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0FSSUJfU1REX0I2NzoiYXJpYi1zdGQtYjY3IixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfVU5LTk9XTjpudWxsLENPTE9SX1RSQU5TRkVSX0NIQVJBQ1RFUklTVElDU19VTlNQRUNJRklFRDpudWxsfTt2YXIgQVQ9e1dJRFRIOntuYW1lOiJ3aWR0aCIsdmlkZW86ITAsdmFsaWQ6NjQwLHZHOjk5OTk5fSxIRUlHSFQ6e25hbWU6ImhlaWdodCIsdmlkZW86ITAsdmFsaWQ6MzYwLHZHOjk5OTk5fSxGUkFNRVJBVEU6e25hbWU6ImZyYW1lcmF0ZSIsdmlkZW86ITAsdmFsaWQ6MzAsdkc6OTk5OX0sQklUUkFURTp7bmFtZToiYml0cmF0ZSIsdmlkZW86ITAsdmFsaWQ6M0U1LHZHOjJFOX0sRU9URjp7bmFtZToiZW90ZiIsdmlkZW86ITAsdmFsaWQ6ImJ0NzA5Iix2RzoiY2F0YXZpc2lvbiJ9LENIQU5ORUxTOntuYW1lOiJjaGFubmVscyIsdmlkZW86ITEsdmFsaWQ6Mix2Rzo5OX0sQ1JZUFRPQkxPQ0tGT1JNQVQ6e25hbWU6ImNyeXB0b2Jsb2NrZm9ybWF0Iix2aWRlbzohMCx2YWxpZDoic3Vic2FtcGxlIix2RzoiaW52YWxpZGZvcm1hdCJ9LERFQ09ERVRPVEVYVFVSRTp7bmFtZToiZGVjb2RlLXRvLXRleHR1cmUiLHZpZGVvOiEwLHZhbGlkOiJmYWxzZSIsdkc6Im5vcGUifSxBVjFfQ09ERUNTOntuYW1lOiJjb2RlY3MiLAp2aWRlbzohMCx2YWxpZDoiYXYwMS4wLjA1TS4wOCIsdkc6ImF2OTkuMC4wNU0uMDgifSxFWFBFUklNRU5UQUw6e25hbWU6ImV4cGVyaW1lbnRhbCIsdmlkZW86ITAsdmFsaWQ6ImFsbG93ZWQiLHZHOiJpbnZhbGlkIn0sVFVOTkVMTU9ERTp7bmFtZToidHVubmVsbW9kZSIsdmlkZW86ITAsdmFsaWQ6InRydWUiLHZHOiJmYWxzZSJ9fTt2YXIgWWc9e1siMCJdOiJmIixbIjE2MCJdOiJoIixbIjEzMyJdOiJoIixbIjEzNCJdOiJoIixbIjEzNSJdOiJoIixbIjEzNiJdOiJoIixbIjEzNyJdOiJoIixbIjI2NCJdOiJoIixbIjI2NiJdOiJoIixbIjEzOCJdOiJoIixbIjI5OCJdOiJoIixbIjI5OSJdOiJoIixbIjMwNCJdOiJoIixbIjMwNSJdOiJoIixbIjIxNCJdOiJoIixbIjIxNiJdOiJoIixbIjM3NCJdOiJoIixbIjM3NSJdOiJoIixbIjE0MCJdOiJhIixbIjE0MSJdOiJhIixbIjMyNyJdOiJzYSIsWyIyNTgiXToibSIsWyIzODAiXToibWFjMyIsWyIzMjgiXToibWVhYzMiLFsiMTYxIl06IkgiLFsiMTQyIl06IkgiLFsiMTQzIl06IkgiLFsiMTQ0Il06IkgiLFsiMjIyIl06IkgiLFsiMjIzIl06IkgiLFsiMTQ1Il06IkgiLFsiMjI0Il06IkgiLFsiMjI1Il06IkgiLFsiMTQ2Il06IkgiLFsiMjI2Il06IkgiLFsiMjI3Il06IkgiLFsiMTQ3Il06IkgiLFsiMzg0Il06IkgiLFsiMzc2Il06IkgiLFsiMzg1Il06IkgiLFsiMzc3Il06IkgiLApbIjE0OSJdOiJBIixbIjI2MSJdOiJNIixbIjM4MSJdOiJNQUMzIixbIjMyOSJdOiJNRUFDMyIsWyI1OTgiXToiOSIsWyIyNzgiXToiOSIsWyIyNDIiXToiOSIsWyIyNDMiXToiOSIsWyIyNDQiXToiOSIsWyI3NzUiXToiOSIsWyI3NzYiXToiOSIsWyI3NzciXToiOSIsWyI3NzgiXToiOSIsWyI3NzkiXToiOSIsWyI3ODAiXToiOSIsWyI3ODEiXToiOSIsWyI3ODIiXToiOSIsWyI3ODMiXToiOSIsWyIyNDciXToiOSIsWyIyNDgiXToiOSIsWyIzNTMiXToiOSIsWyIzNTUiXToiOSIsWyIzNTYiXToiOSIsWyIyNzEiXToiOSIsWyI1NzciXToiOSIsWyIzMTMiXToiOSIsWyI1NzkiXToiOSIsWyIyNzIiXToiOSIsWyIzMDIiXToiOSIsWyIzMDMiXToiOSIsWyI0MDciXToiOSIsWyI0MDgiXToiOSIsWyIzMDgiXToiOSIsWyIzMTUiXToiOSIsWyIzMzAiXToiOWgiLFsiMzMxIl06IjloIixbIjMzMiJdOiI5aCIsWyIzMzMiXToiOWgiLFsiMzM0Il06IjloIixbIjMzNSJdOiI5aCIsWyIzMzYiXToiOWgiLApbIjMzNyJdOiI5aCIsWyIzMzgiXToic28iLFsiNjAwIl06Im8iLFsiMjUwIl06Im8iLFsiMjUxIl06Im8iLFsiNzc0Il06Im8iLFsiMTk0Il06IioiLFsiMTk1Il06IioiLFsiMjIwIl06IioiLFsiMjIxIl06IioiLFsiMTk2Il06IioiLFsiMTk3Il06IioiLFsiMjc5Il06IigiLFsiMjgwIl06IigiLFsiMzE3Il06IigiLFsiMzE4Il06IigiLFsiMjczIl06IigiLFsiMjc0Il06IigiLFsiMzU3Il06IigiLFsiMzU4Il06IigiLFsiMjc1Il06IigiLFsiMzU5Il06IigiLFsiMzYwIl06IigiLFsiMjc2Il06IigiLFsiNTgzIl06IigiLFsiNTg0Il06IigiLFsiMzE0Il06IigiLFsiNTg1Il06IigiLFsiNTYxIl06IigiLFsiMjc3Il06IigiLFsiMzYxIl06IihoIixbIjM2MiJdOiIoaCIsWyIzNjMiXToiKGgiLFsiMzY0Il06IihoIixbIjM2NSJdOiIoaCIsWyIzNjYiXToiKGgiLFsiNTkxIl06IihoIixbIjU5MiJdOiIoaCIsWyIzNjciXToiKGgiLFsiNTg2Il06IihoIixbIjU4NyJdOiIoaCIsClsiMzY4Il06IihoIixbIjU4OCJdOiIoaCIsWyI1NjIiXToiKGgiLFsiNDA5Il06IigiLFsiNDEwIl06IigiLFsiNDExIl06IigiLFsiNDEyIl06IigiLFsiNTU3Il06IigiLFsiNTU4Il06IigiLFsiMzk0Il06IjEiLFsiMzk1Il06IjEiLFsiMzk2Il06IjEiLFsiMzk3Il06IjEiLFsiMzk4Il06IjEiLFsiMzk5Il06IjEiLFsiNzIwIl06IjEiLFsiNzIxIl06IjEiLFsiNDAwIl06IjEiLFsiNDAxIl06IjEiLFsiNTcxIl06IjEiLFsiNDAyIl06IjEiLFsiNjk0Il06IjFoIixbIjY5NSJdOiIxaCIsWyI2OTYiXToiMWgiLFsiNjk3Il06IjFoIixbIjY5OCJdOiIxaCIsWyI2OTkiXToiMWgiLFsiNzAwIl06IjFoIixbIjcwMSJdOiIxaCIsWyI3MDIiXToiMWgiLFsiNzAzIl06IjFoIixbIjM4NiJdOiIzIixbIjM4NyJdOiJ3IixbIjQwNiJdOiI2IixbIjc4NyJdOiIxIixbIjc4OCJdOiIxIixbIjU0OCJdOiIxZSIsWyI1NDkiXToiMWUiLFsiNTUwIl06IjFlIixbIjU1MSJdOiIxZSIsWyI4MDkiXToiMWUiLApbIjgxMCJdOiIxZSIsWyI1NTIiXToiMWUiLFsiODExIl06IjFlIixbIjgxMiJdOiIxZSIsWyI1NTMiXToiMWUiLFsiODEzIl06IjFlIixbIjgxNCJdOiIxZSIsWyI1NTQiXToiMWUiLFsiODE1Il06IjFlIixbIjgxNiJdOiIxZSIsWyI1NTUiXToiMWUiLFsiODE3Il06IjFlIixbIjgxOCJdOiIxZSIsWyI1NzIiXToiMWUiLFsiNTU2Il06IjFlIixbIjY0NSJdOiIoIixbIjY0NiJdOiIoIixbIjY0NyJdOiIoIixbIjY0OCJdOiIoIixbIjY0OSJdOiIoIixbIjY1MCJdOiIoIixbIjY1MSJdOiIoIixbIjY1MiJdOiIoIixbIjY1MyJdOiIoIixbIjY1NCJdOiIoIixbIjY1NSJdOiIoIixbIjY1NiJdOiIoIixbIjY1NyJdOiIoIixbIjY1OCJdOiIoIixbIjY1OSJdOiIoIixbIjY2MCJdOiIoIixbIjY2MSJdOiIoIixbIjY2MiJdOiIoIixbIjY2MyJdOiIoIixbIjY2NCJdOiIoIixbIjY2NSJdOiIoIixbIjY2NiJdOiIoIixbIjY2NyJdOiIoIixbIjY2OCJdOiIoIixbIjY2OSJdOiIoIixbIjY3MCJdOiIoIiwKWyI2NzEiXToiKCIsWyI2NzIiXToiKCIsWyI2NzMiXToiKCIsWyI2NzQiXToiKGgiLFsiNjc1Il06IihoIixbIjY3NiJdOiIoaCIsWyI2NzciXToiKGgiLFsiNjc4Il06IihoIixbIjY3OSJdOiIoaCIsWyI2ODAiXToiKGgiLFsiNjgxIl06IihoIixbIjY4MiJdOiIoaCIsWyI2ODMiXToiKGgiLFsiNjg0Il06IihoIixbIjY4NSJdOiIoaCIsWyI2ODYiXToiKGgiLFsiNjg3Il06IihoIixbIjY4OCJdOiJBIixbIjY4OSJdOiJBIixbIjY5MCJdOiJBIixbIjY5MSJdOiJNRUFDMyIsWyI3NzMiXToiaSIsWyI4MDYiXToiSSIsWyI4MDUiXToiSSIsWyI4MjkiXToiOSIsWyI4MzAiXToiOSIsWyI4MzEiXToiOSIsWyI4MzIiXToiOSIsWyI4MzMiXToiOSIsWyI4MzQiXToiOSIsWyI4MzUiXToiOSIsWyI4MzYiXToiOSIsWyI4OTIiXToiOSIsWyI4OTMiXToiOSIsWyI4MzciXToiOSIsWyI4MzgiXToiOSIsWyI4MzkiXToiOSIsWyI4NDAiXToiOSIsWyI4NDEiXToiKCIsWyI4NDIiXToiKCIsWyI4NDMiXToiKCIsClsiODQ0Il06IigiLFsiODQ1Il06IigiLFsiODQ2Il06IigiLFsiODQ3Il06IigiLFsiODQ4Il06IigiLFsiODk0Il06IigiLFsiODk1Il06IigiLFsiODQ5Il06IigiLFsiODUwIl06IigiLFsiODUxIl06IigiLFsiODUyIl06IigiLFsiODY1Il06IjkiLFsiODY2Il06IjkiLFsiODY3Il06IjkiLFsiODY4Il06IjkiLFsiODY5Il06IjkiLFsiODcwIl06IjkiLFsiODcxIl06IjkiLFsiODcyIl06IjkiLFsiODk2Il06IjkiLFsiODk3Il06IjkiLFsiODczIl06IjkiLFsiODc0Il06IjkiLFsiODc1Il06IjkiLFsiODc2Il06IjkiLFsiODc3Il06IigiLFsiODc4Il06IigiLFsiODc5Il06IigiLFsiODgwIl06IigiLFsiODgxIl06IigiLFsiODgyIl06IigiLFsiODgzIl06IigiLFsiODg0Il06IigiLFsiODk4Il06IigiLFsiODk5Il06IigiLFsiODg1Il06IigiLFsiODg2Il06IigiLFsiODg3Il06IigiLFsiODg4Il06IigiLFsiOTAwIl06IjIiLFsiOTAxIl06IjIiLFsiOTAyIl06IjIiLApbIjkwMyJdOiIyIixbIjkwNCJdOiIyIixbIjkwNSJdOiIyIixbIjkwNiJdOiIyIixbIjkwNyJdOiIyIixbIjkwOCJdOiIyIn07dmFyIHBNPSJoaWdocmVzIGhkMjg4MCBoZDIxNjAgaGQxNDQwIGhkMTA4MCBoZDcyMCBsYXJnZSBtZWRpdW0gc21hbGwgdGlueSIuc3BsaXQoIiAiKTt2YXIgSFI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSxHKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9Vzt0aGlzLlc9eDt0aGlzLnF1YWxpdHk9a3x8WVgobixXKTt0aGlzLnF1YWxpdHlPcmRpbmFsPU5HW3RoaXMucXVhbGl0eV07dGhpcy5mcHM9RHx8MDt0aGlzLnN0ZXJlb0xheW91dD0hdnx8YiE9bnVsbCYmYiE9PSJVTktOT1dOIiYmYiE9PSJSRUNUQU5HVUxBUiI/MDp2O3RoaXMucHJvamVjdGlvblR5cGU9Yj9iPT09IkVRVUlSRUNUQU5HVUxBUiImJnY9PT0yPyJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOmI6IlVOS05PV04iOyhuPWgpfHwoRD1OR1t0aGlzLnF1YWxpdHldLEQ9PT0wP249IkF1dG8iOihuPXRoaXMucHJvamVjdGlvblR5cGUsVz10aGlzLmZwcyxuPUQudG9TdHJpbmcoKSsobj09PSJFUVVJUkVDVEFOR1VMQVIifHxuPT09IkVRVUlSRUNUQU5HVUxBUl9USFJFRURfVE9QX0JPVFRPTSJ8fG49PT0iTUVTSCI/InMiOiJwIikrCihXPjU1PyI2MCI6Vz40OT8iNTAiOlc+Mzk/IjQ4IjoiIikpKTt0aGlzLnF1YWxpdHlMYWJlbD1uO3RoaXMuTj1MfHwiIjt0aGlzLnByaW1hcmllcz1lfHwiIjt0aGlzLlg9Rz8/ITB9Sigpe3JldHVybiB0aGlzLmZwcz4zMn1pc0hkcigpe3JldHVybiB0aGlzLk49PT0ic21wdGUyMDg0Inx8dGhpcy5OPT09ImFyaWItc3RkLWI2NyJ9fTt2YXIgbXU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQ9e30pe3RoaXMuaWQ9bjt0aGlzLm1pbWVUeXBlPVc7RC5Ocz4wfHwoRC5Ocz0xNkUzKTtPYmplY3QuYXNzaWduKHRoaXMsRCk7W3RoaXMuaXRhZyx0aGlzLkpdPXRoaXMuaWQuc3BsaXQoIjsiKTt0aGlzLmNvbnRhaW5lclR5cGU9Sk0oVyk7dGhpcy5JQj1ZZ1t0aGlzLml0YWddfHwiIn1LKCl7cmV0dXJuIHRoaXMudmlkZW99WSgpe3JldHVybiB0aGlzLmF1ZGlvfXFIKCl7cmV0dXJuIHRoaXMuY29udGFpbmVyVHlwZT09PTJ9WCgpe3JldHVybiB0aGlzLklCPT09IjkifHx0aGlzLklCPT09IigifHx0aGlzLklCPT09IjloInx8dGhpcy5JQj09PSIoaCJ9TVcoKXtyZXR1cm4gdGhpcy5JQj09PSIxInx8dGhpcy5JQj09PSIxaCJ8fFBSJiZ0aGlzLklCPT09IjFlIn1WKCl7cmV0dXJuIHRoaXMuSUI9PT0ibWFjMyJ8fHRoaXMuSUI9PT0ibWVhYzMifHx0aGlzLklCPT09Im0ifHx0aGlzLklCPT09ImkifHxtRih0aGlzKX1EKCl7cmV0dXJuIHRoaXMuSUI9PT0KIk1BQzMifHx0aGlzLklCPT09Im1hYzMifHx0aGlzLklCPT09Ik1FQUMzInx8dGhpcy5JQj09PSJtZWFjMyJ9aXNFbmNyeXB0ZWQoKXtyZXR1cm4hIXRoaXMuY29udGVudFByb3RlY3Rpb259ZVMoKXtyZXR1cm4hIXRoaXMuYXVkaW99ZlkoKXtyZXR1cm4hIXRoaXMudmlkZW99Vygpe3JldHVybiB0aGlzLm1pbWVUeXBlPT09ImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCJ9Tigpe3ZhciBuPXRoaXMubWltZVR5cGU7cmV0dXJuIG4uaW5jbHVkZXMoInZ0dCIpfHxuLmluY2x1ZGVzKCJ0ZXh0L21wNCIpfWlzVmVydGljYWwoKXtyZXR1cm4hIXRoaXMudmlkZW8mJnRoaXMudmlkZW8ud2lkdGg8dGhpcy52aWRlby5oZWlnaHR9fSxQUj0hMSxFTj0hMTtnLkZzPWNsYXNzIGV4dGVuZHMgZy5KTHtOTihuLFcsRCxiLHYpe3JldHVybiBzdXBlci5OTihuLFcsRCxiLHYpfX07dmFyIHhnPWNsYXNzIGV4dGVuZHMgZy5GaXtjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcigpO3RoaXMuayQ9bjt0aGlzLnN0YXJ0PVc7dGhpcy5lbmQ9RDt0aGlzLmlzQWN0aXZlPWI7dGhpcy5hcHBlbmRXaW5kb3dTdGFydD0wO3RoaXMuYXBwZW5kV2luZG93RW5kPUluZmluaXR5O3RoaXMudGltZXN0YW1wT2Zmc2V0PTA7dGhpcy5LVT17ZXJyb3I6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJlcnJvciIsdGhpcyl9LAp1cGRhdGVlbmQ6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJ1cGRhdGVlbmQiLHRoaXMpfX07CnRoaXMuayQuaCQodGhpcy5LVSk7dGhpcy5wTj10aGlzLmlzQWN0aXZlfWFwcGVuZEJ1ZmZlcihuLFcsRCl7aWYodGhpcy5rJC5NcigpIT09dGhpcy5hcHBlbmRXaW5kb3dTdGFydCt0aGlzLnN0YXJ0fHx0aGlzLmskLktGKCkhPT10aGlzLmFwcGVuZFdpbmRvd0VuZCt0aGlzLnN0YXJ0fHx0aGlzLmskLlNXKCkhPT10aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KXRoaXMuayQuc3VwcG9ydHMoMSksdGhpcy5rJC5lNyh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0K3RoaXMuc3RhcnQsdGhpcy5hcHBlbmRXaW5kb3dFbmQrdGhpcy5zdGFydCksdGhpcy5rJC55Tyh0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KTt0aGlzLmskLmFwcGVuZEJ1ZmZlcihuLFcsRCl9YWJvcnQoKXt0aGlzLmskLmFib3J0KCl9cmVtb3ZlKG4sVyl7dGhpcy5rJC5yZW1vdmUobit0aGlzLnN0YXJ0LFcrdGhpcy5zdGFydCl9VGkoKXt0aGlzLnJlbW92ZSh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0LHRoaXMuYXBwZW5kV2luZG93RW5kKX1jbGVhcigpe3RoaXMuayQuY2xlYXIoKX1lNyhuLApXKXt0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0PW47dGhpcy5hcHBlbmRXaW5kb3dFbmQ9V31pdygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0fU1yKCl7cmV0dXJuIHRoaXMuYXBwZW5kV2luZG93U3RhcnR9S0YoKXtyZXR1cm4gdGhpcy5hcHBlbmRXaW5kb3dFbmR9eU8obil7dGhpcy50aW1lc3RhbXBPZmZzZXQ9bn1TVygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldH1aRihuPSExKXtuPXRoaXMuayQuWkYobik7cmV0dXJuIFFUKG4sdGhpcy5zdGFydCx0aGlzLmVuZCl9eXUoKXtyZXR1cm4gdGhpcy5rJC55dSgpfWZGKCl7cmV0dXJuIHRoaXMuayQuZkYoKX1nWCgpe3JldHVybiB0aGlzLmskLmdYKCl9RGMoKXtyZXR1cm4gdGhpcy5rJC5EYygpfWg5KCl7dGhpcy5rJC5oOSgpfXRaKG4pe3JldHVybiB0aGlzLmskLnRaKG4pfUQ5KCl7cmV0dXJuIHRoaXMuayQuRDkoKX1MRigpe3JldHVybiB0aGlzLmskLkxGKCl9am4obixXLEQpe3RoaXMuayQuam4obiwKVyxEKX1WbyhuLFcsRCl7dGhpcy5rJC5WbyhuLFcsRCl9bmEobixXKXtyZXR1cm4gdGhpcy5rJC5uYShuLFcpfXN1cHBvcnRzKG4pe3JldHVybiB0aGlzLmskLnN1cHBvcnRzKG4pfVpnKCl7cmV0dXJuIHRoaXMuayQuWmcoKX1pUSgpe3JldHVybiB0aGlzLmskLmlRKCl9aXNWaWV3KCl7cmV0dXJuITB9am8oKXtyZXR1cm4gdGhpcy5rJC5qbygpP3RoaXMuaXNBY3RpdmU6ITF9aXNMb2NrZWQoKXtyZXR1cm4gdGhpcy5wTiYmIXRoaXMuaXNBY3RpdmV9eXIobil7bj10aGlzLmskLnlyKG4pO24udnc9YCR7dGhpcy5zdGFydH0tJHt0aGlzLmVuZH1gO3JldHVybiBufW5GKCl7cmV0dXJuIHRoaXMuayQubkYoKX1Lcygpe3JldHVybiB0aGlzLmskLktzKCl9ejAoKXtyZXR1cm4gdGhpcy5rJC56MCgpfW1BKCl7dGhpcy5rJC5NOSh0aGlzLktVKTtzdXBlci5tQSgpfUtpKCl7cmV0dXJuIHRoaXMuaXNBY3RpdmV9VnUobil7dGhpcy5pc0FjdGl2ZT1uO3RoaXMucE49dGhpcy5wTnx8dGhpcy5pc0FjdGl2ZX19O3ZhciBzND0hMTt2YXIga2c9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG4sVyxELGIsdixrKXtzdXBlcigpO3RoaXMuUUU9bjt0aGlzLkVWPVc7dGhpcy5pZD1EO3RoaXMuY29udGFpbmVyVHlwZT1iO3RoaXMuSUI9djt0aGlzLmZZPWs7dGhpcy5tTz10aGlzLmpxPXRoaXMuZEg9bnVsbDt0aGlzLmVvPSExO3RoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLkY0PVRpKFtdLFtdKTt0aGlzLkhIPSExO3RoaXMuaWs9W107dGhpcy55Nj1QYz9bXTp2b2lkIDA7dGhpcy5oYW5kbGVyPWg9PnRoaXMuV0ooaC50eXBlLHRoaXMpOwp0aGlzLlFFPy5hZGRFdmVudExpc3RlbmVyJiYodGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVlbmQiLHRoaXMuaGFuZGxlciksdGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5oYW5kbGVyKSl9YXBwZW5kQnVmZmVyKG4sVyxEKXt0aGlzLkhIPSExO0QmJih0aGlzLmpxPUQpO24ubGVuZ3RoJiYodGhpcy5RRT8uYXBwZW5kQnVmZmVyP3RoaXMuUUUuYXBwZW5kQnVmZmVyKG4pOnRoaXMuUUU/dGhpcy5RRS5hcHBlbmQobik6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5pZCxuKSk7VyYmKFcuaXNFbmNyeXB0ZWQoKSYmKHRoaXMubU89dGhpcy5qcSksVy50eXBlPT09MyYmKHRoaXMuZEg9VyksdGhpcy5pay5wdXNoKFcuZ2EoKSksdGhpcy5pay5sZW5ndGg+NCYmdGhpcy5pay5zaGlmdCgpKTt0aGlzLnk2JiYodGhpcy55Ni5sZW5ndGg+PTJ8fG4ubGVuZ3RoPjEwNDg1NzY/ZGVsZXRlIHRoaXMueTY6dGhpcy55Ni5wdXNoKG4pKX1hYm9ydCgpe3RyeXt0aGlzLlFFPwp0aGlzLlFFLmFib3J0KCk6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBYm9ydCh0aGlzLmlkKX1jYXRjaChuKXtRalomJmcuR3EobmV3IGcuUXgoYEVycm9yIHdoaWxlIGFib3J0IHRoZSBzb3VyY2UgYnVmZmVyOiAke24ubmFtZX0sICR7bi5tZXNzYWdlfWApKX10aGlzLmpxPXRoaXMuZEg9bnVsbH1yZW1vdmUobixXLEQpe3RoaXMuSEg9ITE7dGhpcy5RRT8ucmVtb3ZlJiYoRCYmRCh7Yjpyayh0aGlzLlpGKCkpLHM6bixlOld9KSx0aGlzLlFFLnJlbW92ZShuLFcpKX1UaSgpe3RoaXMucmVtb3ZlKHRoaXMuTXIoKSx0aGlzLktGKCkpfWNsZWFyKCl7dGhpcy5nWCgpfHwodGhpcy5hYm9ydCgpLHRoaXMuVGkoKSx0aGlzLm1PPXRoaXMuanE9dGhpcy5kSD1udWxsLHRoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MCx0aGlzLkY0PVRpKFtdLFtdKSx0aGlzLkhIPSExLHRoaXMueTY9UGM/W106dm9pZCAwLHRoaXMuZW89ITApfU1yKCl7cmV0dXJuIHM0JiYKdGhpcy5mWT90aGlzLmFwcGVuZFdpbmRvd1N0YXJ0OnRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwfUtGKCl7cmV0dXJuIHRoaXMuUUU/LmFwcGVuZFdpbmRvd0VuZHx8MH1lNyhuLFcpe3RoaXMuUUUmJihzNCYmdGhpcy5mWT8odGhpcy5hcHBlbmRXaW5kb3dTdGFydD1uLHRoaXMuUUUuYXBwZW5kV2luZG93RW5kPVcpOm4+dGhpcy5NcigpPyh0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XLHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bik6KHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bix0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XKSl9aXcoKXtyZXR1cm4gdGhpcy50aW1lc3RhbXBPZmZzZXR9eU8obil7czQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ9bjp0aGlzLnN1cHBvcnRzKDEpJiYodGhpcy5RRS50aW1lc3RhbXBPZmZzZXQ9bil9U1coKXtyZXR1cm4gczQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ6dGhpcy5zdXBwb3J0cygxKT90aGlzLlFFLnRpbWVzdGFtcE9mZnNldDowfVpGKG49CiExKXtpZihuKXJldHVybiB0aGlzLkhIfHx0aGlzLnl1KCl8fCh0aGlzLkY0PXRoaXMuWkYoITEpLHRoaXMuSEg9ITApLHRoaXMuRjQ7dHJ5e3JldHVybiB0aGlzLlFFP3RoaXMuUUUuYnVmZmVyZWQ6dGhpcy5FVj90aGlzLkVWLndlYmtpdFNvdXJjZUJ1ZmZlcmVkKHRoaXMuaWQpOlRpKFswXSxbSW5maW5pdHldKX1jYXRjaChXKXtyZXR1cm4gVGkoW10sW10pfX15dSgpe3JldHVybiB0aGlzLlFFPy51cGRhdGluZ3x8ITF9Z1goKXtyZXR1cm4gdGhpcy5lb31EYygpe3JldHVybiF0aGlzLmVvJiZ0aGlzLnl1KCl9aDkoKXt0aGlzLmVvPSExfXRaKG4pe3ZhciBXPW4/LklCO249bj8uY29udGFpbmVyVHlwZTtyZXR1cm4hVyYmIW58fFc9PT10aGlzLklCJiZuPT09dGhpcy5jb250YWluZXJUeXBlfUQ5KCl7cmV0dXJuIHRoaXMuanF9TEYoKXtyZXR1cm4gdGhpcy5tT31uYShuLFcpe3JldHVybiB0aGlzLmNvbnRhaW5lclR5cGUhPT1ufHx0aGlzLklCIT09V31qbihuLFcsRCl7aWYodGhpcy5jb250YWluZXJUeXBlIT09Cm58fEQmJnRoaXMubmEobixEKSl0aGlzLnN1cHBvcnRzKDQpLFZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShXKSxEJiYodGhpcy5JQj1EKTt0aGlzLmNvbnRhaW5lclR5cGU9bn1WbyhuLFcsRCl7dGhpcy5jb250YWluZXJUeXBlJiZ0aGlzLm5hKG4sVykmJlZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShEKTt0aGlzLmNvbnRhaW5lclR5cGU9bjt0aGlzLklCPVd9WmcoKXtyZXR1cm4gdGhpcy5kSH1pUSgpe3JldHVybiEhdGhpcy5kSCYmIXRoaXMuZEguYVp9aXNWaWV3KCl7cmV0dXJuITF9c3VwcG9ydHMobil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4gdGhpcy5RRT8udGltZXN0YW1wT2Zmc2V0IT09dm9pZCAwO2Nhc2UgMDpyZXR1cm4hIXRoaXMuUUU/LmFwcGVuZEJ1ZmZlcjtjYXNlIDI6cmV0dXJuISF0aGlzLlFFPy5yZW1vdmU7Y2FzZSAzOnJldHVybiEoIXRoaXMuUUU/LmFkZEV2ZW50TGlzdGVuZXJ8fCF0aGlzLlFFPy5yZW1vdmVFdmVudExpc3RlbmVyKTtjYXNlIDQ6cmV0dXJuISghdGhpcy5RRXx8CiF0aGlzLlFFLmNoYW5nZVR5cGUpO2RlZmF1bHQ6cmV0dXJuITF9fWpvKCl7cmV0dXJuIXRoaXMueXUoKX1pc0xvY2tlZCgpe3JldHVybiExfXlyKG4pe24udG89dGhpcy5TVygpO24udXA9dGhpcy55dSgpO24uYXc9YCR7KHRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwKS50b0ZpeGVkKDMpfS0keyh0aGlzLlFFPy5hcHBlbmRXaW5kb3dFbmR8fEluZmluaXR5KS50b0ZpeGVkKDMpfWA7cmV0dXJuIG59ZkYoKXtyZXR1cm4gdGhpcy5RRT8ud3JpdGVIZWFkfHwwfW5GKCl7dmFyIG49e307Zm9yKGxldCBXPTA7Vzx0aGlzLmlrLmxlbmd0aDtXKyspbltgcyR7V31gXT10aGlzLmlrW1ddO3JldHVybiBufW1BKCl7dGhpcy5zdXBwb3J0cygzKSYmKHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidXBkYXRlZW5kIix0aGlzLmhhbmRsZXIpLHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuaGFuZGxlcikpO3N1cGVyLm1BKCl9S3MoKXtyZXR1cm4gdGhpcy5jb250YWluZXJUeXBlfXowKCl7cmV0dXJuIHRoaXMueTZ9fSwKUGM9ITEsUWpaPSExO3ZhciB3bj1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuWGI9bjt0aGlzLk49Vzt0aGlzLko9ITF9ZGlzcG9zZSgpe2lmKCF0aGlzLnFOKCkpe2lmKHRoaXMuTil0cnl7VVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLlhiKX1jYXRjaChuKXt9dGhpcy5KPSEwfX1xTigpe3JldHVybiB0aGlzLkp9Vygpe3JldHVybiB0aGlzLk59ZXF1YWxzKG4pe3JldHVybiBuIT09bnVsbCYmbi5YYj09PXRoaXMuWGJ9dG9TdHJpbmcoKXtyZXR1cm5gTWVkaWFSZXNvdXJjZSB7JHt0aGlzLlhifX1gfX07dmFyIGhaPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuLFcsRD0hMSl7c3VwZXIoKTt0aGlzLm1lZGlhRWxlbWVudD1uO3RoaXMubWVkaWFTb3VyY2U9Vzt0aGlzLmlzVmlldz1EO3RoaXMuWT0wO3RoaXMuVj0hMTt0aGlzLks9ITA7dGhpcy5jSj0wO3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLk89ITE7dGhpcy5tZWRpYVNvdXJjZXx8KHRoaXMuRVY9dGhpcy5tZWRpYUVsZW1lbnQuZV8oKSk7dGhpcy5ldmVudHM9bmV3IGcuRnModGhpcyk7Zy51KHRoaXMsdGhpcy5ldmVudHMpO3RoaXMuaj1uZXcgd24odGhpcy5tZWRpYVNvdXJjZT93aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLm1lZGlhU291cmNlKTp0aGlzLkVWLndlYmtpdE1lZGlhU291cmNlVVJMLCEwKTtuPXRoaXMubWVkaWFTb3VyY2V8fHRoaXMuRVY7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZW9wZW4iLCJ3ZWJraXRzb3VyY2VvcGVuIl0sdGhpcy5TJCk7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZWNsb3NlIiwKIndlYmtpdHNvdXJjZWNsb3NlIl0sdGhpcy5UQyk7dGhpcy5MTD17dXBkYXRlZW5kOnRoaXMuZVh9fXR3KCl7cmV0dXJuIHRoaXMuan1nZXREdXJhdGlvbigpe3JldHVybiB0aGlzLm1lZGlhU291cmNlPy5kdXJhdGlvbnx8dGhpcy5jSn1hVChuKXt0cnl7dGhpcy5tZWRpYVNvdXJjZT90aGlzLm1lZGlhU291cmNlLmR1cmF0aW9uPW46KHRoaXMuY0o9bix0aGlzLkVWLndlYmtpdFNvdXJjZVNldER1cmF0aW9uKG4pKX1jYXRjaChXKXt9fVgoKXtyZXR1cm4hIXRoaXMuTnx8ISF0aGlzLkp9UEEoKXt0cnl7cmV0dXJuIHRoaXMuVygpPT09ImNsb3NlZCJ9Y2F0Y2gobil7cmV0dXJuITB9fVcoKXtpZih0aGlzLm1lZGlhU291cmNlKXJldHVybiB0aGlzLm1lZGlhU291cmNlLnJlYWR5U3RhdGU7c3dpdGNoKHRoaXMuRVYud2Via2l0U291cmNlU3RhdGUpe2Nhc2UgdGhpcy5FVi5TT1VSQ0VfT1BFTjpyZXR1cm4ib3BlbiI7Y2FzZSB0aGlzLkVWLlNPVVJDRV9FTkRFRDpyZXR1cm4iZW5kZWQiOwpkZWZhdWx0OnJldHVybiJjbG9zZWQifX15dSgpe3JldHVybiEhKHRoaXMuTiYmdGhpcy5OLnl1KCl8fHRoaXMuSiYmdGhpcy5KLnl1KCkpfVMkKCl7IXRoaXMucU4oKSYmbjYodGhpcykmJnRoaXMuY2FsbGJhY2smJih0aGlzLmNhbGxiYWNrKHRoaXMpLHRoaXMuY2FsbGJhY2s9bnVsbCl9VEMoKXt0aGlzLmRpc3Bvc2UoKX1lWChuKXtESCYmIXRoaXMuViYmbi5nWCgpJiZuLlpGKCkubGVuZ3RoPT09MCYmKGJBKHRoaXMubWVkaWFFbGVtZW50LHtsOiJtc3dvdWUiLHNyOnRoaXMubWVkaWFFbGVtZW50LllhPy5wZygpfSwhMSksbi5oOSgpLHRoaXMuZ1goKXx8KHRoaXMubWVkaWFFbGVtZW50LkNGPSEwLHRoaXMubWVkaWFFbGVtZW50LnNldEN1cnJlbnRUaW1lKDApKSl9Y2xlYXIoKXtXRih0aGlzLCgpPT57fSk7CnRoaXMuTj8uY2xlYXIoKTt0aGlzLko/LmNsZWFyKCl9RCgpe3RoaXMuTj8uaDkoKTt0aGlzLko/Lmg5KCk7dGhpcy5LPSExfWdYKCl7cmV0dXJuIHRoaXMuSj8uZ1goKXx8dGhpcy5OPy5nWCgpfXRaKG4sVyl7cmV0dXJuISF0aGlzLk4mJiEhdGhpcy5KJiZ0aGlzLk4udFooVykmJnRoaXMuSi50WihuKX1iZCgpe3JldHVybiEhdGhpcy5tZWRpYVNvdXJjZSYmdGhpcy5tZWRpYVNvdXJjZS5zdHJlYW1pbmc9PT0hMX19LERIPSExO3ZhciBnR3I9L2FjdGlvbl9kaXNwbGF5X3Bvc3QvO2cuR3g9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG49IiIsVz1udWxsLEQ9ITEpe3N1cGVyKCk7dGhpcy5zb3VyY2VVcmw9bjt0aGlzLmlzTGl2ZVBsYXliYWNrPUQ7dGhpcy5ISj10aGlzLmR1cmF0aW9uPTA7dGhpcy5pc1ByZW1pZXJlPXRoaXMuWGc9dGhpcy5pc1dpbmRvd2VkTGl2ZT10aGlzLmlzTGl2ZUhlYWRQbGF5YWJsZT10aGlzLmlzTGl2ZT10aGlzLlc9ITE7dGhpcy5IUD10aGlzLkl0PTA7dGhpcy5pc090Zj10aGlzLnpXPSExO3RoaXMuUyQ9KDAsZy5SKSgpO3RoaXMuY0o9SW5maW5pdHk7dGhpcy5OPXt9O3RoaXMuSj1uZXcgTWFwO3RoaXMuc3RhdGU9dGhpcy5sTj0wO3RoaXMuVj1udWxsO3RoaXMuaXNNYW5pZmVzdGxlc3M9ITE7dGhpcy5iZD1bXTt0aGlzLks9bnVsbDt0aGlzLmUkPTA7dGhpcy5qPSIiO3RoaXMuVEM9TmFOO3RoaXMuSlU9dGhpcy5vUj10aGlzLnRpbWVzdGFtcE9mZnNldD10aGlzLkQ9MDt0aGlzLldNPXRoaXMuSDI9TmFOO3RoaXMuSVQ9MDsKdGhpcy5WUT10aGlzLk89ITE7dGhpcy5HQz1bXTt0aGlzLnZKPXt9O3RoaXMuUFg9dGhpcy50dz1OYU47dGhpcy5DdT1XPy5FcSgiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpO016PSEhVyYmVy5FcSgiaHRtbDVfbW9kZXJuX3ZwOV9taW1lX3R5cGUiKTtIRj0hIVc/LkVxKCJodG1sNV9lbmFibGVfZmx1c2hfZHVyaW5nX3NlZWsiKSYmZy5kOCgpO2Y2PSEhVz8uRXEoImh0bWw1X2VuYWJsZV9yZXNldF9hdWRpb19kZWNvZGVyIikmJmcuZDgoKX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTF9dG4oKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTN9bnUoKXtyZXR1cm4gZy5EbCh0aGlzLk4sbj0+ISFuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5xdWFsaXR5T3JkaW5hbD49MjE2MCl9WCgpe3JldHVybiBnLkRsKHRoaXMuTixuPT4hIW4uaW5mby5jb250ZW50UHJvdGVjdGlvbil9eUUobil7dmFyIFc9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiUmVwcmVzZW50YXRpb24iKTsKaWYobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudExpc3QiKS5sZW5ndGg+MHx8bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRlbXBsYXRlIikubGVuZ3RoPjApe3RoaXMuelc9dGhpcy5XPSEwO3RoaXMuVnx8KHRoaXMuVj1uZXcga0xDKTtjSGoodGhpcy5WLG4pO3RoaXMuV0ooInJlZnJlc2giKTtmb3Iobj0wO248Vy5sZW5ndGg7bisrKXt2YXIgRD15Qyh0aGlzLFdbbl0pO2lmKCF0aGlzLk5bRC5pZF0pe3ZhciBiPVJ4KFRQKFdbbl0sIkJhc2VVUkwiKS50ZXh0Q29udGVudCksdj1UUChXW25dLCJJbml0aWFsaXphdGlvbiIpLGs9bFQodiwic291cmNlVVJMIik7dj1ueihsVCh2LCJyYW5nZSIpKTt0aGlzLk5bRC5pZF09bmV3IGR0KGIsRCxrLHYpfUQ9dGhpcy5OW0QuaWRdO2s9bFQoV1tuXSwiaWQiLCJBZGFwdGF0aW9uU2V0Iik7az1rIT09IiI/azpsVChXW25dLCJtaW1ldHlwZSIsIkFkYXB0YXRpb25TZXQiKTtiPXRoaXMuVjtrPWIuV1tELmluZm8uaWRdfHxiLkpba118fApiLk58fG51bGw7Yj1rLk47IXRoaXMuRCYmay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkmJih0aGlzLkQ9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO2lmKGsuail7dj1bXTtmb3IodmFyIGggb2YgYil7Yj1ELmluZm8uaWQ7dmFyIHg9RC5pbmZvLk5zKjgsTD1oLmokLGU9aC5zdGFydFNlY3MsRz1rLksuc3BsaXQoIiQkIik7Zm9yKHZhciByPTA7cjxHLmxlbmd0aDtyKyspR1tyXT1HW3JdLnJlcGxhY2UoIiRSZXByZXNlbnRhdGlvbklEJCIsYiksR1tyXT1HW3JdLnJlcGxhY2UoIiROdW1iZXIkIixMLnRvU3RyaW5nKCkpLEdbcl09R1tyXS5yZXBsYWNlKCIkQmFuZHdpZHRoJCIseC50b1N0cmluZygpKSxHW3JdPUdbcl0ucmVwbGFjZSgiJFRpbWUkIixlLnRvU3RyaW5nKCkpO2I9Ry5qb2luKCIkIik7di5wdXNoKG5ldyBSNChoLmokLGguc3RhcnRTZWNzLGguQ2YsaC5OLGIsbnVsbCxoLkopKX1iPXZ9ZWxzZXtMPVYyKFRQKFdbbl0sIlNlZ21lbnRMaXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNlZ21lbnRVUkwiKSwKay5WKTtlPVtdO2ZvcihHPTA7RzxMLmxlbmd0aDtHKyspe2s9ZTt2PWsucHVzaDtyPXZvaWQgMDt2YXIgTj1MW0ddO3g9YltHXTtsZXQgSD1OLmdldEF0dHJpYnV0ZSgibWVkaWEiKTtpZihOPU4uZ2V0QXR0cmlidXRlKCJtZWRpYVJhbmdlIikpe2xldCBBPU4uc3BsaXQoIi0iKTtBWzFdJiZOdW1iZXIoQVsxXSk+PTA/cj1ueihOKTpIPWAke0h9P3JhbmdlPSR7Tn1gfXYuY2FsbChrLG5ldyBSNCh4LmokLHguc3RhcnRTZWNzLHguQ2YseC5OLEgscix4LkopKX1iPWV9RC51cGRhdGUoYix0aGlzLmlzTGl2ZSx0aGlzLkhKKX1hRFUodGhpcy5WKTtyZXR1cm4hMH10aGlzLmR1cmF0aW9uPWp4KGxUKG4sIm1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24iKSk7YTp7Zm9yKGg9MDtoPFcubGVuZ3RoO2grKyl7Yj1XW2hdO249eUModGhpcyxiKTtEPVJ4KFRQKGIsIkJhc2VVUkwiKS50ZXh0Q29udGVudCk7az1UUChiLCJTZWdtZW50QmFzZSIpO2I9bnooay5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgiaW5kZXhSYW5nZSIpLnZhbHVlKTsKaz1ueihrLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJJbml0aWFsaXphdGlvbiIpWzBdLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCJyYW5nZSIpLnZhbHVlKTtuPW5ldyBzayhELG4sayxiKTtpZighbil7Vz0hMTticmVhayBhfSRnKHRoaXMsbil9Vz0hMH1yZXR1cm4gV31EdChuKXtyZXR1cm4gdGhpcy5WP1YyKHRoaXMuVi5YLG4pOnRoaXMuYmQubGVuZ3RoP1YyKHRoaXMuYmQsbik6W119cmVmcmVzaCgpe2lmKCF0aGlzLmlzTG9hZGluZygpJiYhdGhpcy5xTigpKXt2YXIgbj1nLkVUKHRoaXMuc291cmNlVXJsLHtzdGFydF9zZXE6QSRpKHRoaXMpLnRvU3RyaW5nKCl9KTtTNCh0aGlzLG4pLnNQKCgpPT57fSl9fXN1c3BlbmQoKXt0aGlzLksmJnRoaXMuSy5zdG9wKCl9cmVzdW1lKCl7QVoodGhpcyl9ckkoKXtpZih0aGlzLmlzTWFuaWZlc3RsZXNzJiZ0aGlzLmlzV2luZG93ZWRMaXZlJiZpQSh0aGlzKSlyZXR1cm4gaUEodGhpcyk7CnZhciBuPXRoaXMuTixXPSExLEQ9TmFOLGI9TmFOO2ZvcihsZXQgayBpbiBuKXtsZXQgaD1uW2tdO3ZhciB2PWguaW5kZXg7aWYoIXYuaXNMb2FkZWQoKXx8aC5pbmZvLk4oKSljb250aW51ZTtoLlYmJihXPSEwKTt2PXYuYlEoKTtoLmluZm8uZVMoKSYmKGlzTmFOKEQpfHx2PEQpP0Q9djpoLmluZm8uZlkoKSYmKGlzTmFOKGIpfHx2PGIpJiYoYj12KX1yZXR1cm4gV3x8aXNOYU4oYik/RDpNYXRoLm1pbihELGIpfUxmKCl7aWYodGhpcy5pc01hbmlmZXN0bGVzcyl7aWYodUEodGhpcykpcmV0dXJuIHVBKHRoaXMpO2lmKHRoaXMuSVQpe3ZhciBuPXRoaXMuaEModGhpcy5ySSgpKTtpZihuJiYobi09dGhpcy5JVCxuPjApKXJldHVybiB0aGlzLnJJKCktbn19bj10aGlzLk47Zm9yKGxldCBXIGluIG4pe2xldCBEPW5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpJiYhbltXXS5pbmZvLk4oKSlyZXR1cm4gRC5MZigpfXJldHVybiAwfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5EfWhDKG4pe2ZvcihsZXQgVyBpbiB0aGlzLk4pe2xldCBEPQp0aGlzLk5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpKXtsZXQgYj1ELlIzKG4pLHY9RC5oQyhiKTtpZih2KXJldHVybiB2K24tRC5nZXRTdGFydFRpbWUoYil9fXJldHVybiBOYU59cWgoKXtyZXR1cm4gdGhpcy5lJH1qVygpe2ZvcihsZXQgbiBpbiB0aGlzLk4pdGhpcy5OLmhhc093blByb3BlcnR5KG4pJiYodGhpcy5OW25dLko9bnVsbCx0aGlzLk5bbl0uY0o9ITEpfX07Zy5HeC5wcm90b3R5cGUuRkY9V1ooNCk7dmFyIE16LEhGLGY2LHd0PW51bGwsUm89ISFuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyxVaz17Y29tbWVudGFyeToxLGFsdGVybmF0ZToyLGR1YjozLG1haW46NH07dmFyIGNGPW5ldyBTZXQsUUM9bmV3IE1hcDt2YXIgUGVNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMueVE9bjt0aGlzLk5kPXRoaXMuYnY9dGhpcy5ISj10aGlzLlY9dGhpcy5qPXRoaXMuSGk9dGhpcy5HQz10aGlzLmNKPSExO3RoaXMuWT10aGlzLks9MDt0aGlzLkN1PSExO3RoaXMudHc9ITA7dGhpcy5QWD0hMTt0aGlzLm5TPTA7dGhpcy5GRj10aGlzLm51PXRoaXMub0w9dGhpcy5lJD0hMTt0aGlzLk49e307dGhpcy5qVz10aGlzLlJhPXRoaXMudlg9dGhpcy5kaXNhYmxlQXYxPXRoaXMuYmQ9dGhpcy5Rcj10aGlzLnlFPXRoaXMuWVo9dGhpcy5CVj10aGlzLko9dGhpcy5XPXRoaXMuRD0hMTt0aGlzLlMkPTA7dGhpcy5UQz0hMTt0aGlzLnM1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9hYWNfcHJlZmVyZW5jZSIpO3RoaXMud2E9SW5maW5pdHk7dGhpcy54ZD0wO3RoaXMuTEI9dGhpcy55US5XWCgpO3RoaXMuSEQ9dGhpcy55US5leHBlcmltZW50cy5FcSgiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpO3RoaXMuTWQ9dGhpcy55US5TKCJodG1sNV9mb3JjZV9hdjFfZm9yX3Rlc3RpbmciKTsKdGhpcy55dz10aGlzLnlRLlp0KCkuTi5RUShWSWopO3RoaXMudko9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9hdjFfb3JkaW5hbF9jYXAiKTt0aGlzLlU1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9oZnJfd2hlbl92cDlfZW5jcnlwdGVkXzJrNGtfdW5zdXBwb3J0ZWQiKTt0aGlzLkU1PXRoaXMueVEuUygiaHRtbDVfYWNjb3VudF9vbmVzaWVfZm9ybWF0X3NlbGVjdGlvbl9kdXJpbmdfZm9ybWF0X2ZpbHRlciIpO3RoaXMuTnM9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9tYXhfYnl0ZXJhdGUiKTt0aGlzLlZRPXRoaXMueVEuUygiaHRtbDVfZW5hYmxlX2lhbWZfYXVkaW8iKTt0aGlzLmZCPXRoaXMueVEuWnQoKS5OLlFRKFFPeCk7dGhpcy5EdD10aGlzLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9hbGxvd19jYXBhYmlsaXR5X21lcmdlIik7dGhpcy5ZJD10aGlzLnlRLlMoImh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxIik7dGhpcy5ZWj10aGlzLnlRLlp0KCkuTi5RUShaN1UpfHwKdGhpcy55US5TKCJkaXNhYmxlX3ByZWZlcl9oYnJfdnA5Iil9fTt2YXIgcjE9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5mbGF2b3I9bjt0aGlzLmtleVN5c3RlbT1XO3RoaXMuVz1EO3RoaXMuZXhwZXJpbWVudHM9Yjt0aGlzLko9e307dGhpcy5DaT10aGlzLmtleVN5c3RlbUFjY2Vzcz1udWxsO3RoaXMuamk9dGhpcy5WOT0tMTt0aGlzLkZjPW51bGw7dGhpcy5YPSEhYiYmYi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTtiJiZiLkVxKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5Iil9Y2xvbmUobil7cmV0dXJuIG5ldyByMSh0aGlzLmZsYXZvcixuLHRoaXMuVyx0aGlzLmV4cGVyaW1lbnRzKX1OKCl7cmV0dXJuIHRoaXMua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwifXlyKCl7cmV0dXJue2ZsYXZvcjp0aGlzLmZsYXZvcixrZXlTeXN0ZW06dGhpcy5rZXlTeXN0ZW19fWtMKCl7c3dpdGNoKHRoaXMua2V5U3lzdGVtKXtjYXNlICJjb20ueW91dHViZS5wbGF5cmVhZHkiOnJldHVybiJQUlkiO2Nhc2UgImNvbS5taWNyb3NvZnQucGxheXJlYWR5IjpyZXR1cm4iUFJNIjsKY2FzZSAiY29tLndpZGV2aW5lLmFscGhhIjpyZXR1cm4iV1ZBIjtjYXNlICJjb20ueW91dHViZS53aWRldmluZS5sMyI6cmV0dXJuIldWWSI7Y2FzZSAiY29tLnlvdXR1YmUuZmFpcnBsYXkiOnJldHVybiJGUFkiO2Nhc2UgImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwiOnJldHVybiJGUEMiO2Nhc2UgImNvbS5hcHBsZS5mcHMuMV8wIjpyZXR1cm4iRlBBIjtkZWZhdWx0OnJldHVybiB0aGlzLmtleVN5c3RlbX19fSxxVj17cGxheXJlYWR5OlsiY29tLnlvdXR1YmUucGxheXJlYWR5IiwiY29tLm1pY3Jvc29mdC5wbGF5cmVhZHkiXSx3aWRldmluZTpbImNvbS55b3V0dWJlLndpZGV2aW5lLmwzIiwiY29tLndpZGV2aW5lLmFscGhhIl19LHZRQz17d2lkZXZpbmU6IkRSTV9TWVNURU1fV0lERVZJTkUiLGZhaXJwbGF5OiJEUk1fU1lTVEVNX0ZBSVJQTEFZIixwbGF5cmVhZHk6IkRSTV9TWVNURU1fUExBWVJFQURZIn0seFZpPXt3aWRldmluZToxLGZhaXJwbGF5OjIscGxheXJlYWR5OjN9O3ZhciBaV1M9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyxELGI9ITEsdil7c3VwZXIoKTt0aGlzLnlRPVc7dGhpcy51c2VDb2JhbHRXaWRldmluZT1iO3RoaXMuVT12O3RoaXMuSj1bXTt0aGlzLlc9e307dGhpcy5OPXt9O3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLmo9ITE7dGhpcy5YPVtdO3RoaXMuaW5pdGlhbGl6ZShuLCFEKX1pbml0aWFsaXplKG4sVyl7Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKG4pKXt2YXIgRD1iO2ZvcihsZXQgdiBvZiBuW0RdKWlmKHYuY29udGVudFByb3RlY3Rpb24pZm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKHYuY29udGVudFByb3RlY3Rpb24pKXtEPWs7bGV0IGg9cVZba107IWgmJnRoaXMuUygiaHRtbA=="}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images/metals.svg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:32.858Z","timestamp":1785137072858,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images/metals.svg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 1329\r\ncontent-type: image/svg+xml\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c7f131\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:32 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":1329,"size_decoded":1629,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"13fa8bb09154943ad6a8d10d26779e96","sha1":"d8f6d0ad4170b9108fabcabba0c1d54a43baad43","sha256":"396c949f7a0d08ff524afbf93832c029c3bde76ad7509c47f512765f8297394d","sha512":"94f27880a7dcc25d7283603bdbda36bb400c97808234395121cd7464dfbffa1f0e7aafc4b792470437ad95953304b4a821a29f762e4ca73a186a53cb896cdd10","ssdeep":"","tlshash":"02213142c3e4d3f9b891861cb798689167d52ddfe27032dca86b445ba10c4d481dc3d5","first_seen":"2026-03-29T04:39:56.789476Z","last_seen":"2026-07-27T07:25:28.812093Z","times_seen":5,"resource_available":false,"data":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuNiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMTEuNCAxNTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDExMS40IDE1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMzMDMwMzA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMTEuNCwxOS4xdi00LjZIOTMuMlY0LjZoOC40VjBINTUuOXY0LjZoNi4zdjkuOEgwLjFWMTlINXY2Mi4ySDB2NC42aDV2NTkuNEgwLjF2NC42aDExMS40di00LjZoLTYuOVY4NS45CgkJaDQuNXYtNC42aC00LjVWMTkuMUgxMTEuNHogTTY2LjgsNC42aDIxLjh2OS44SDY2LjhWNC42eiBNNjYuOCwxOS4xaDE1LjV2MTQuNWMwLDMuOC0zLjUsNi45LTcuOCw2LjlzLTcuOC0zLjEtNy44LTYuOVYxOS4xSDY2Ljh6CgkJIE05OS45LDE0NS40SDkuNlY4NS45aDExLjhjMS42LDE3LjYsMTYuNCwzMS40LDM0LjQsMzEuNHMzMi44LTEzLjgsMzQuNC0zMS40aDkuOHY1OS41SDk5Ljl6IE0yNS45LDgyLjkKCQlDMjUuOSw2Ni40LDM5LjMsNTMsNTUuNyw1M2MxNi41LDAsMjkuOSwxMy40LDI5LjksMjkuOXMtMTMuNCwyOS45LTI5LjksMjkuOUMzOS4zLDExMi44LDI1LjksOTkuNCwyNS45LDgyLjl6IE05OS45LDgxLjNoLTkuNwoJCUM4OS40LDYzLDc0LjMsNDguNCw1NS43LDQ4LjRjLTE4LjUsMC0zMy42LDE0LjYtMzQuNCwzMi45SDkuNlYxOS4xaDUyLjZ2MTQuNWMwLDYuMyw1LjYsMTEuNSwxMi40LDExLjVDODEuNCw0NSw4NywzOS45LDg3LDMzLjUKCQlWMTkuMWgxMi45VjgxLjN6Ii8+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTUuOSwxMDMuN2M3LjUsMCwxMy41LTYuMSwxMy41LTEzLjVjMC02LjgtMTAuNS0yMS4yLTExLjctMjIuOWwtMS45LTIuNUw1NCw2Ny4zCgkJYy0xLjIsMS42LTExLjcsMTYuMS0xMS43LDIyLjlDNDIuMyw5Ny42LDQ4LjQsMTAzLjcsNTUuOSwxMDMuN3ogTTU1LjksNzIuN2M0LDUuOSw4LjksMTQuMSw4LjksMTcuNWMwLDQuOS00LDguOS04LjksOC45CgkJcy04LjktNC04LjktOC45QzQ3LDg2LjgsNTEuOCw3OC41LDU1LjksNzIuN3oiLz4KPC9nPgo8L3N2Zz4K"}},"time_used":190,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":190,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/generate_204?InxxqQ","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:33.077Z","timestamp":1785137073077,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /generate_204?InxxqQ HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=qIDWRSMhLXEwhRO4xETATQPR3jvQyZo5T4h1SiDwJZFeQABsv_T5rYcMTLyacdftQe1HFuTQYjCxldnVpZp74VYBMv_rUVwgOJ5HUwk7m3JIuCd9ZG52YE8hl7osllUIaKR2lm2Uof5aC684VV5dlQS3kmZBv5qVoUMTOzsGqPehMT1KjkhyJLxLtvige5qHG872p_pLGkmERGh0bmiKBMP7ZZDLQotiJ1KMNThxulgS-EDDia5j6Hykxc6wr_Ao78rVG6XGls6peXe6iAAIyvMNaTz8Cp_9-G3okp6kxCIuNJKmfPqv4_6k45-NAxJPqfBHRLWzFAp4sda6-ccaAA; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxjX2KroqfKVAw%3D%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-length: 0\r\ncross-origin-resource-policy: cross-origin\r\ndate: Mon, 27 Jul 2026 07:24:33 GMT\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":172,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.88462Z","times_seen":17976927,"resource_available":true,"data":""}},"time_used":9,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/gen204?sl=en\u0026nca=te_ap\u0026client=te\u0026logld=vTE_20260722","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.78","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.188Z","timestamp":1785137073188,"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":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /gen204?sl=en\u0026nca=te_ap\u0026client=te\u0026logld=vTE_20260722 HTTP/1.1\r\nHost: translate.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-type: image/gif; charset=utf-8\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 07:24:33 GMT\r\ncross-origin-resource-policy: cross-origin\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncontent-security-policy: script-src 'nonce-8Ua7rDUFohiHnJvkQYS21Q' 'unsafe-inline';object-src 'none';base-uri 'self';report-uri /_/TranslateApiHttp/cspreport;worker-src 'self', require-trusted-types-for 'script';report-uri /_/TranslateApiHttp/cspreport\r\naccept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64, Sec-CH-UA-Form-Factors, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncross-origin-opener-policy: same-origin\r\nreporting-endpoints: default=\"/_/TranslateApiHttp/web-reports?context=eJzj4tDikmLw0JBiEOLh2Ng_5zKbwI5Ny6YzKikl5RfGlxQl5hXnJJakFqcWlaUWxRsZGJkZmBsZ6RkYxxcYAAANPRJM\"\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: __Secure-ENID=35.SE=dLFM3Bwnclt_gRvrgqysS8mgrtE7HTHX-qSh61rX_HqXFNdgLQtTOFEuPDbjiWA1cbEJgL5vjYC4UszbbgBI0wBTNY77kJo21_Qt_Y6TEgLvlqtrpJTO82DQ9PLKm8yf31X7kv7jvoFp_FzN5kgEOfjN_hFY9an8DTVujJGQ8mitC7g3EoQ7xkIbuNdOhDB56pQ6rFjTY7jK7PIdl6bbp4Plr8uJENzUWQWQfVamtGU; expires=Thu, 26-Aug-2027 23:42:51 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"image/gif; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.88462Z","times_seen":17976927,"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":"www.youtube.com/youtubei/v1/log_event?alt=json","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:35.229Z","timestamp":1785137075229,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /youtubei/v1/log_event?alt=json HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Request-Time: 1785137075223\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: CgtVVVVtSnNGcGQ0Yyivj5zTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgC2LfAgrcAjIwLllUPXFJRFdSU01oTFhFd2hSTzR4RVRBVFFQUjNqdlF5Wm81VDRoMVNpRHdKWkZlUUFCc3ZfVDVyWWNNVEx5YWNkZnRRZTFIRnVUUVlqQ3hsZG5WcFpwNzRWWUJNdl9yVVZ3Z09KNUhVd2s3bTNKSXVDZDlaRzUyWUU4aGw3b3NsbFVJYUtSMmxtMlVvZjVhQzY4NFZWNWRsUVMza21aQnY1cVZvVU1UT3pzR3FQZWhNVDFLamtoeUpMeEx0dmlnZTVxSEc4NzJwX3BMR2ttRVJHaDBibWlLQk1QN1paRExRb3RpSjFLTU5UaHh1bGdTLUVERGlhNWo2SHlreGM2d3JfQW83OHJWRzZYR2xzNnBlWGU2aUFBSXl2TU5hVHo4Q3BfOS1HM29rcDZreENJdU5KS21mUHF2NF82azQ1LU5BeEpQcWZCSFJMV3pGQXA0c2RhNi1jY2FBQQ%3D%3D\r\nX-Goog-Event-Time: 1785137075223\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785137072093\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C1280%2C1024%2C920%2C315\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 12156\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=qIDWRSMhLXEwhRO4xETATQPR3jvQyZo5T4h1SiDwJZFeQABsv_T5rYcMTLyacdftQe1HFuTQYjCxldnVpZp74VYBMv_rUVwgOJ5HUwk7m3JIuCd9ZG52YE8hl7osllUIaKR2lm2Uof5aC684VV5dlQS3kmZBv5qVoUMTOzsGqPehMT1KjkhyJLxLtvige5qHG872p_pLGkmERGh0bmiKBMP7ZZDLQotiJ1KMNThxulgS-EDDia5j6Hykxc6wr_Ao78rVG6XGls6peXe6iAAIyvMNaTz8Cp_9-G3okp6kxCIuNJKmfPqv4_6k45-NAxJPqfBHRLWzFAp4sda6-ccaAA; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxjX2KroqfKVAw%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":12156,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CK-PnNMGEMn2gBMQyvuAExDevM4cELjkzhwQntCwBRCJ5NEcEMGP0BwQmY2xBRCDh7giEParsAUQ-fLRHBDgt9EcEMzfrgUQ2vfOHBAAEL2ZsAUQ_LLOHBC9irAFEI6Q0RwQ8bTQHBCu1s8cEIqHuCIQvoTRHBC2-IATEJXv0RwQpKnRHBCdhrgiEImwzhwQ4OrRHBDw3tEcEIv3zxwQ9vfRHBCfz4ATEIeszhwQ6fjRHBCBzc4cELnw0RwQhuGAExC9tq4FEIiQ0RwQvKTQHBDH_IATEPfEgBMQ7M3QHBD16dEcKnBDQU1TVHhWTS1acS1ETWVVRXBVQ25BNzVGWEtqQnVFV3FOVVB5QU1NM3czY0J1UUc3d1RwdmVrTE1xQ3NCQU9RcmdQN0pyYmtCdVNGRjlETUJzU1NCY3M5eFNmWjFRWGNMT1pHMWE3dkh0c0dIUWM9MAA%3D\"},\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\",\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"platform\":\"DESKTOP\",\"windowWidthPoints\":920,\"windowHeightPoints\":315},\"thirdParty\":{\"embedUrl\":\"https://ifxbrokertrades.co.za/\"}},\"events\":[{\"eventTimeMs\":1785137072103,\"latencyActionTicked\":{\"tickName\":\"mm_is\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072107,\"latencyActionTicked\":{\"tickName\":\"mm_ie\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072112,\"latencyActionTicked\":{\"tickName\":\"ep_init_cus\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072112,\"latencyActionTicked\":{\"tickName\":\"ep_init_eps\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072112,\"latencyActionTicked\":{\"tickName\":\"ep_init_epe\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072112,\"latencyActionTicked\":{\"tickName\":\"ep_init_cue\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072310,\"latencyActionTicked\":{\"tickName\":\"pe\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072311,\"latencyActionTicked\":{\"tickName\":\"ep_init_wes\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071886,\"latencyActionTicked\":{\"tickName\":\"srt\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071812,\"latencyActionBaselined\":{\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071816,\"latencyActionTicked\":{\"tickName\":\"nreqs\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071886,\"latencyActionTicked\":{\"tickName\":\"nress\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071889,\"latencyActionTicked\":{\"tickName\":\"nrese\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071978,\"latencyActionTicked\":{\"tickName\":\"wffs\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072013,\"latencyActionTicked\":{\"tickName\":\"wffe\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071965,\"latencyActionTicked\":{\"tickName\":\"rsf_pj\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071993,\"latencyActionTicked\":{\"tickName\":\"rse_pj\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071964,\"latencyActionTicked\":{\"tickName\":\"rsf_pc\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071978,\"latencyActionTicked\":{\"tickName\":\"rse_pc\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071965,\"latencyActionTicked\":{\"tickName\":\"rsf_ecj\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071985,\"latencyActionTicked\":{\"tickName\":\"rse_ecj\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071965,\"latencyActionTicked\":{\"tickName\":\"rsf_ecc\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137071979,\"latencyActionTicked\":{\"tickName\":\"rse_ecc\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072316,\"latencyActionInfo\":{\"isNavigation\":true,\"actionType\":\"LATENCY_ACTION_VIDEO_PREVIEW\",\"httpProtocol\":\"h3\",\"transportProtocol\":\"quic\",\"isVisible\":true,\"loadType\":\"cold\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072092,\"latencyActionTicked\":{\"tickName\":\"rses_dpj\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072320,\"latencyActionTicked\":{\"tickName\":\"ep_init_wee\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072325,\"latencyActionInfo\":{\"serverTimeMs\":51,\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785137072363,\"screenCreated\":{\"csn\":\"1C_G0D26rIlMI1iG\",\"pageVe\":{\"veType\":16623,\"youtubeData\":{\"servletData\":{\"serializedServletEventId\":\"rwdnauWzMqKIq7YP9uzpgQg\"}}}},\"context\":{\"lastActivityMs\":\"16\"}},{\"eventTimeMs\":1785137072363,\"latencyActionInfo\":{\"clientScreenNonce\":\"1C_G0D26rIlMI1iG\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785137072363,\"screenCreated\":{\"csn\":\"TBJzSFraFuFeGYid\",\"pageVe\":{\"veType\":32594},\"implicitGesture\":{\"parentCsn\":\"1C_G0D26rIlMI1iG\",\"gesturedVe\":{\"veType\":16623},\"gestureType\":\"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED\"}},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785137072363,\"visualElementHidden\":{\"csn\":\"1C_G0D26rIlMI1iG\",\"ve\":{\"veType\":16623},\"eventType\":16},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785137072364,\"latencyActionInfo\":{\"clientScreenNonce\":\"TBJzSFraFuFeGYid\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"18\"}},{\"eventTimeMs\":1785137072364,\"visualElementAttached\":{\"csn\":\"TBJzSFraFuFeGYid\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"trackingParams\":\"CAAQru4BIhMIqfyr6KnylQMVR5j0Bx1GfRzuygEEYSOjsw==\"}]},\"context\":{\"lastActivityMs\":\"18\"}},{\"eventTimeMs\":1785137072366,\"latencyActionTicked\":{\"tickName\":\"qoes\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"20\"}},{\"eventTimeMs\":1785137072368,\"latencyActionTicked\":{\"tickName\":\"fs\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"22\"}},{\"eventTimeMs\":1785137072397,\"latencyActionInfo\":{\"clientPlaybackNonce\":\"KQEaDitLX5k68xH3\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"51\"}},{\"eventTimeMs\":1785137072399,\"latencyActionTicked\":{\"tickName\":\"ep_init_pr\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"52\"}},{\"eventTimeMs\":1785137072520,\"latencyActionTicked\":{\"tickName\":\"ep_init_ijs\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"174\"}},{\"eventTimeMs\":1785137072522,\"latencyActionTicked\":{\"tickName\":\"ep_init_ije\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"176\"}},{\"eventTimeMs\":1785137072523,\"latencyActionTicked\":{\"tickName\":\"ep_init_rs\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"176\"}},{\"eventTimeMs\":1785137072528,\"latencyActionTicked\":{\"tickName\":\"ep_init_re\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"182\"}},{\"eventTimeMs\":1785137072559,\"visualElementAttached\":{\"csn\":\"TBJzSFraFuFeGYid\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"213\"}},{\"eventTimeMs\":1785137072559,\"visualElementShown\":{\"csn\":\"TBJzSFraFuFeGYid\",\"ve\":{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"213\"}},{\"eventTimeMs\":1785137072593,\"latencyActionTicked\":{\"tickName\":\"ftr\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"247\"}},{\"eventTimeMs\":1785137072822,\"latencyActionTicked\":{\"tickName\":\"pot_ist\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"475\"}},{\"eventTimeMs\":1785137072911,\"visualElementAttached\":{\"csn\":\"TBJzSFraFuFeGYid\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"564\"}},{\"eventTimeMs\":1785137072911,\"visualElementShown\":{\"csn\":\"TBJzSFraFuFeGYid\",\"ve\":{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"564\"}},{\"eventTimeMs\":1785137072912,\"visualElementAttached\":{\"csn\":\"TBJzSFraFuFeGYid\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"564\"}},{\"eventTimeMs\":1785137072912,\"visualElementShown\":{\"csn\":\"TBJzSFraFuFeGYid\",\"ve\":{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"565\"}},{\"eventTimeMs\":1785137072912,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"AeXaiFiYMaYZ6pF2\",\"clientScreenNonce\":\"1C_G0D26rIlMI1iG\"},\"context\":{\"lastActivityMs\":\"565\"}},{\"eventTimeMs\":1785137072912,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"AeXaiFiYMaYZ6pF2\",\"clientScreenNonce\":\"TBJzSFraFuFeGYid\"},\"context\":{\"lastActivityMs\":\"565\"}},{\"eventTimeMs\":1785137072912,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"565\"}},{\"eventTimeMs\":1785137072913,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"565\"}},{\"eventTimeMs\":1785137072913,\"latencyActionTicked\":{\"tickName\":\"ftl\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"565\"}},{\"eventTimeMs\":1785137073145,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIEQ==\"},\"context\":{\"lastActivityMs\":\"799\"}},{\"eventTimeMs\":1785137073147,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAChAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAQkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAABAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAAEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAA4QCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAChAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAIQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAChAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAABGQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAACEAiGAoDCgF0CgYKBGFHSWYSCREAAAAAABByQA==\"},\"context\":{\"lastActivityMs\":\"800\"}},{\"eventTimeMs\":1785137073221,\"latencyActionTicked\":{\"tickName\":\"pot_if\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"874\"}},{\"eventTimeMs\":1785137073221,\"latencyActionTicked\":{\"tickName\":\"pot_cms\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"875\"}},{\"eventTimeMs\":1785137073222,\"latencyActionTicked\":{\"tickName\":\"pot_cmf\",\"clientActionNonce\":\"kxhcUqgwwXZsAIyd\"},\"context\":{\"lastActivityMs\":\"875\"}},{\"eventTimeMs\":1785137074149,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAANCbQA==\"},\"context\":{\"lastActivityMs\":\"1802\"}},{\"eventTimeMs\":1785137074149,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFtCgYKBGFHSWYSAggB\"},\"context\":{\"lastActivityMs\":\"1802\"}},{\"eventTimeMs\":1785137074149,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAAAAAADVAIhgKAwoBaQoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgFvCgYKBGFHSWYSCREAAAAAANB4QCIYCgMKAWMKBgoEYUdJZhIJEQAAAAAAAAAAIhgKAwoBQwoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgF4CgYKBGFHSWYSCREAAAAAAAAAACIYCgMKAW0KBgoEYUdJZhIJEQAAAAAAAPA/\"},\"context\":{\"lastActivityMs\":\"1803\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"rwdnauWzMqKIq7YP9uzpgQg\",\"clientCounter\":\"2184\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 07:24:35 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 31\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":28,"size_decoded":381,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"5e1fa6fd9abd549a576f3f24b1d3c8d4","sha1":"d5335d7f7d33be6a0b663f03b2df4df2521c4a87","sha256":"d7d5e54ad1e33d7ab49c664323ced79cb9723ff15e9764cd0edc3e15208e8336","sha512":"96e6938256b8e5924210f8e8e54a85d783fa2c01d5fbe5d2a8df7655fed9ef8be73c7cd8bf042c3c84302134b7418711397eece32f081eb7e824a519cc06b4e3","ssdeep":"","tlshash":"1c800038a8200b22232000ea202888322ac8c8203200ca28830200280cc0a0000a2282","first_seen":"2023-04-05T04:40:08Z","last_seen":"2026-08-19T17:30:26.290517Z","times_seen":285760,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":21,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/fonts/roboto-v20-latin-700.woff2","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.216Z","timestamp":1785137065216,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/fonts/roboto-v20-latin-700.woff2 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 15816\r\ncontent-type: font/woff2\r\nlast-modified: Sat, 19 Feb 2022 08:51:46 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256decaf00c8\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":15816,"size_decoded":16114,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 15816, version 1.0","md5":"2735a3a69b509faf3577afd25bdf552e","sha1":"8621aff863b67040010ccc183da5b9079ce6fd1d","sha256":"b4d07892cde715d50bb69c1982df496385d1dfd8f9d1867c31f19a3c8634cfae","sha512":"299bc6bc782c38b4a63d080f8f41a16267c4cb44bc5327855591f833a6c5bbae19fe3eb2a66a24de28744be0c356b70f3ddc23730ddebbb62e8b71190efa4165","ssdeep":"384:OaGm6lgHMI6PWaRm9qoangeK6n3mV5QPl4vzOfmTtHv5yMe6hyFB:XGm6qrCgF6nWXQ9uTtv5yMroFB","tlshash":"7d62bf24c9bbe760c25842ff8f6422772a0b0c5968c691ee5bd79123f4e13477b22660","first_seen":"2023-04-05T13:27:57Z","last_seen":"2026-08-19T16:37:00.973125Z","times_seen":6227,"resource_available":false,"data":"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"}},"time_used":1284,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":917,"receive":367,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:25.695Z","timestamp":1785137065695,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=GhHoVqVBrjHMHksu5uSSgLzoaFxSlipAJgg5Br_6VXtipKt0M0tGx6maNNULFSuoPmjhn6TrRofBA0PX16wJP84g82xlVHelBWmJaeFN6kLW3UBMj5gR2yeB2nt_mc5Fta3BSJU5o8qIfzI2fIuyWY14DtZ_1DnPpFpxz_XlGvqNfHda7m_zgLyHIQ-fawJ9ZrP90LxwCOvFTy3uwSuBx3hgQZ1nuj8OqfQvIJQW5xJfxr01vRMWaeEk5ZEjPYuYwGK38gUfiMRXxIzUeDegCXvpN8-BMAaA-YvGh0Eml-GnQmyBMn2F18nj6fzYpEzjxyaaCzPqsxxxY54TPVwQ-Q; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxj3jqflqfKVAw%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 475313\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:32:16 GMT\r\nexpires: Thu, 22 Jul 2027 07:32:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 431529\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":1597230,"size_decoded":476001,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (787)","md5":"ef473a4d0528fc7651d726fa43900068","sha1":"3b0d807a63c3244fc3fedeac020c2e81106185e1","sha256":"360a9b05bfc89caf69f220ef2473c20d1657318e21c4e0ffdab81e238b42dc61","sha512":"590afd923ebf8ce8da8def22bdf6149595740d96360cbf541954f52366a31fd5e3d3e6d8dd973044383f2cbad84c18f9f67ff69bf04c3dc6891b35b3eb29bb90","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4kf:fdhuuYnFCL4MVJBJO5DtKV2hdf","tlshash":"7e255b9977f2b46343a3f0e0286f018ab17f591454ccd46cb9a9e5f42da090e917bfac","first_seen":"2026-07-22T15:37:53.752532Z","last_seen":"2026-07-27T16:06:30.195204Z","times_seen":1773,"resource_available":false,"data":"dmFyIF95dF9wbGF5ZXI9e307KGZ1bmN0aW9uKGcpe3ZhciB3aW5kb3c9dGhpczsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIENvcHlyaWdodCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwovKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBJPSd0b1N0cmluZztOO2Ntbz10ZDtzcGxpY2U7MTk3MC0wMS0wMVQxMTo0NTo0MS4wMDArMTE6NDU7bGVuZ3RoO21hdGNoOy87Y2xvbmU7WDtjYWxsO3Rocm93O2Ntbztqb2luO2Fzc2lnbjsvdmlkZW9wbGF5YmFjaztodHRwOi8vbG9jYWw7SjtpbmRleE9mO3d3dy55b3V0dWJlLmNvbTtzcDs7cHVzaDtzbGljZTtHRztyZXZlcnNlO3NjaGVtZTtcXC5nb29nbGV2aWRlb1xcLmNvbSQ7cGF0aDt1cmw7L2luaXRwbGF5YmFjaztuO3BsYXllcmZhbGxiYWNrO2dldDtzZXQ7c3RhcnRzV2l0aDtzcGxpdDs9O2ZhbGxiYWNrX2NvdW50O1c7MTtWO3k3O3Vuc2hpZnQ7cnI7dW5kZWZpbmVkO3BvcDssO2luZGV4Lm0zdTg7Jjtmcm9tQ2hhckNvZGU7V3NsWmtDWm96bFlyNkVCME43LV93OF87cnI/WzEtOV0uKlxcLmNcXC55b3V0dWJlXFwuY29tJDsxOTcwLTAxLTAxVDAyOjMwOjMxLjAwMCswMjozMDslM0Q7RWw7XFwuYTFcXC5nb29nbGV2aWRlb1xcLmNvbSQ7bGV0O0VJO3M7Zm9yRWFjaDt5SXkxUGEyOzE5NjktMTItMzFUMTc6MDA6MzcuMDAwLTA3OjAwO2xvY2FsO2Zvcjt5b3V0dWJlLnBsYXllci53ZWJfMjAyNjA3MjFfMDhfUkMwMDsvZmlsZS9pbmRleC5tM3U4OywiIns7Oi8vO1VudHJ1c3RlZCBVUkw7ZnZpcDthMS5nb29nbGV2aWRlby5jb207V0Q7aHR0cHM6Ly9sb2NhbDttbjsvLztmaWxlO3NpZ25hdHVyZUNpcGhlcjsvYXBpL21hbmlmZXN0O2Ntbz1wZjtyO3JlcGxhY2U7cmVkaXJlY3Rvci5nb29nbGV2aWRlby5jb207LCx9L1wnO3hpJy5zcGxpdCgiOyIpLApXWixuMncsaGksazIsdjJDLGVVLE5pLHB0LEFpLGhNaSxFdyx1eCxkcix4aU0semIsbHgsTFMxLFZqLGVNcixENCxrMyx4MyxneixxVSxKRixTaixtYyxLYixPTSxxd3QsR2JpLFYyLERlLGFNLHRVaCx2NCxucCwkaXgsaEEscmliLHhsLGUxLFhNLHFoLEc1LHNULHBwLEkxaSxTd2gsSkEsUzEsQUEsbVcsS3AsUDQsWmUseUcsVDUsS1MxLFJQLE90aSxadFosbjAsVWl3LFcyLERYLGJwLGtLLGg0LHlpdCx4SyxMMCwkSyxzQSxOeCxwMCxZSyxTdSx1aGgsemgsbHAsbzIsVUEsek0yLEMwLE14LFFsLFZsLFIyLGMyLG41LFc5LHY5LGtVLGhfLEw1LFhELHEzLE4zLHA1LEg5LGY1LFlVLEkwLFNYLG0wLEs1LE9fLFpCLFVfLEVfLHU0LEM1LEI5LG8wLHo5LEZELGpDaCxDeE0sYTAsbkcsRlMyLFdILGJXLGh2LHh2LGVXLGdnLHdaQyxHeix0dixWVVMscmcsTkUsWXYscEcsbjMyLFNXLEp2LFdjcixiYlosT0ssbV8sUEgsWlIsVUsseWcsS0csaVcsRUssb3osdVcsQ0csZGcsbFcsRkYsTUUsUnosClFnLGNILEQyLGJhLHZXLGF6LFdXLG5uLGhTLHg5LGVFLGdlLHFILFhfLFZHLHRTLCQ5LHJlLHNWLGpXLE5ILGFQLHBuLFk5LEhXLEpTLElZLEFTLEtuLFBXLHkxLHVhLG9ZLGs0MixaMixpYSx6JCxsYSxDbixqRSxGXyx3ZSxNSCxRMSxhWSxEOSxiRyxrbSx4bSxMaCx4VWosWHQsWW0sSHksSjMsSXgsU0MsQTMsbTQsS2gsT3MseW0sRXMsaUcsUHksdUcsb3gsZEcsVFMsQ2gsd0csTWYsUngsakMsVm0sYXgsbjgsWE1pLGczVSxiNixrbixoOSxMOCxxTU0sZTYsWGYsc2YsTlkscDgsSjksSV8sSzgsdGpVLHU2LG9fLHNNMixkUSxOenIsenYsbDYsVHYsajYsQzgsQk8sd1EsUl8sY08sV3gsdngsa3ksaEsscWMsWFp4LEFLLG9oLHVrLE1jLHdtLGZULHBNeCxZTXgsbkssdkwsREQsSGJTLEpGWixMSyxJNFMsZWcsZ0QsQUZaLG1VdyxTTVMsS2NoLFBfaSxaYmgsVVViLHJGdCxQTywkVU0sRzcseUZaLGVYLFhULEUzdCxpYlUsJEUsckQsTjUsbzNiLEhMLGZLLEpILElXLEFILEtLLGRVcixTZywKeTcsRTIsWkQsekJ0LE8yLG1oLGRELGw0aixUenIsak1oLHE4LCRHLHBxLFlHLFNPLGdwLEJ6aSxKJCxISixmcSxLcSxDXzEsRXUsdWUsbzUsRmNiLGRwLHozLHdNUyxsZSxUMyxqTyxSQmIsQkosRjEsd3AsUU1VLFY4LFI1LG5WLFE4LGE1LFczLERvLFZqdCx2MyxubDEsV1dyLGJwTSxibixMVix2bHIsZyQsazVaLHRxLFg2LGhIUyx4aGIsTFcyLGVIaCxnbGgsc2wsSDMsRzVoLHJBYixzUDIsTlR0LHA0aSwkaGgsdDFVLEpxLG1JLElpLFlUVSxPbCxQMyxabyx5aSxFbCxmZWIsSkF3LElldyxtaHcsU1RyLG9pLGQkLGxuLHpILEtXVSxCMyxQZjIsam0sT3BpLE12LHckLHlBMSxFbGksaXByLHVNWixSaSxuVyx6SGksVFRyLHZZLGtxLHhxLFhtLHF0LHQxLE50LHNqLENmMSxGV1osdzRyLFlxLEoxLElzLEhZLGZXLFYxVSxBMSxTUyxtRyxLVyxPaixaYSxQWSxjQVUsYWVoLG5LaSx5TixFaixpcix1cixscixvcyx6TixiMHgsZGgsVE4sQ1csalMsV3hoLHZLYixCWSxGbSx3aCxNdCxScyxRTiwKVk4sY1ksYXMsbl8sV0ssaEN4LERpLGJILHZLLGt0LHh4aixMeGksZUNVLGdLdCxYZCxZWSxoYSx4dCxMXyxxdyxzMncsclgsTldoLFl0LEhLLElGLFNBLEFhLG1hLHlLLHAyaix1SCxZQTEsbEgsVEssSDBpLGpBLENfLEJLLEo0cix3WCxNdyxSRixRSyxWSyxJWDEsY0ssYUYsbmUsV1MsRFEsYkMsa2oseGosTGUsZXYsdGsscjcscyQsTjYscGUsWWosSFMsZmUsSmssSVMsU3YsVSQsRSQsaUMsdUMsQTR4LG9TLGQ3LGxDLFRCLGp2LHc3LE02LFJTLFF0LGFTLG53LFdWLG14aixLeFUsREUsTzBpLFBwMSx2VixYJCxxTixVeGoseTQyLCRmLE5OLHB3LGZ3LFlmLEpyLG15LGkwYixQVixPdCxaRSx5Rix1dyxkMixDdyxVdCxUVzIsYUUsY1YsVzAsRHIsdjAsa1QsYmIsaHkseFQsQ3BNLGc4LEJXaixYbixxWCx3MjIsdHksTXVDLFJDVSxRMmksajJaLGFYQyxuVXcsSUssQXksSyQsZ1osWnIsVXoseUgsRXosaWIsb0sselEsbGIsVFEsQyQsQjAsRm4sUkssVkgsYzAsbnksV0IsREksYk8sdkIsCmtSLEx5LGhPLGI1dCxnSixlXyxHMSx0TywkUixOMCx2VTEsc1AscHksazlpLEFPLG1ZLEt5LFVQLHl4LGlPLGhxaCxkSix6MSxUMSxqXyxCQix3SixSOSxNMCxhOSxiUSxrdSxMRixlRixnMCxYcSwkdSxlcTEsZ1VyLHBGLFl1LE5MLEhOLFg5VSxKYyxJZyxTRixBYyxPUixaeSxVUixLRix5YyxFUix1USx0WFUsJDN4LHMwcixkMCxyX2osRzl3LHpuLE5aaSxpUSxvZyxINXgsbFEsVG4sakYsQ0YsRnEsdzAsZkJVLEpfMixJQmksY04sYWcsV3osRG0sU19aLEFfcixtM3csSzByLGI5LHZ6LFA0TSxrTyxoNyx4TyxMUCxlOSxnMyxVM3QscUIsaTVoLHVEeCwkTyxyMyx0Nyx5X3Isc0osTkIscFAsWU8sR28sRVVTLEh6LGZQLEo3LEk3LEE3LG1ULEtQLE9KLFB6LFRaaixabSxvNyxkMyxsOSxqMHgsRjBNLEJaaCx6byxGMyxWZCxNWFMsdzMsY3osbm0sYTcsRDUsYk0sV1UsUnEyLFEwUyxWWDIsY19aLGtRLGFCUyxudjIsV19DLERFeCxiR0MsdnZpLGt6aSxoSSx4USx4RXcsTF9pLGd2dyxldywKTG0sJFEscUt3LHNjLHBtLFlRLHRXdywkRXQsZm0sT2MsUFUsWjUseUosRWMsU3csVWMsaU0scnZoLHN6Uyx1TSx6VCxqdyxUVCxCVSxsTSxDbSxNYixhSSxuWCxOZ3csY1UsVkosZ0UsZVosdHAsJG8sckUsWUtqLGZSMixTS0MsSnZaLHM5LElSMSxOaixISSxwWCxJYixBcCxLWCxaQSxQSSxPOSxVOSxpeSx1eSxkRSxLXzIsT0d4LFBXMSxRUixNaixjSSxDWCxuVSxxMSxiUix2cyxrQSxUcCxzeSxwVSxpR2osS1UsRXZDLGpaLG1yLER2LGc0LE4xLGFiLEY0LEJJLHdFLFZSLHI0LHVSLG92LEV5LFRVLGp5LENVLENXaSxCcyxGUix3NCxNMSxCZ3Isd0hDLE1XdyxRNCxjcyxuNCxhdixXYSxRejEsVld4LGhQLGtCLG45dyx4QixnSyxMNCxlaSxXTlUsREh0LGhUUyxLNCxPYSxnOWksdWcsaWcsWFdqLFRxLHFWWixqaSxHJGosenEsQzR3LG9VLGxnLGRLLFBhLEZqLHRFeCwkSHQsd0ssTWcsUTUsTmUyLGFVLG5CLGtWLGhtLHBXTSxMQixnYixYQSxxUSxHdyx0bSwkVixZVlMscmIsZUwsc0gsCnBCLEhiLGZCLFlWLElMLEhucixmMmosT0gsWk0sRUgseXYsaSQsSlNyLHp3LGRiLEkyWix1JCxTVjEsakwsQ0IsQVN4LG1IMSxLTnQsQmIsRkEsb0wsVHcsUGF4LGNiLFdQLFZ2LGtELHhELGVrLHlTaCxFOWIsaW53LGRIaix1X3QsR1cscGwsSFAsZmwsSmUselRqLElqLEFlLG1FLFNrLEtsLFRlYixPbyxQUCxqWTEsWlksRk54LEJlUyxDYVUsTUV3LFVvLFZFMixsMmoseXEsRW8sY1MyLHFyLHRlLER3LHZHLGtNLGhSLHhNLExSLGU1LGdkLFhhLHFELEc2LHRSLCRNLHJkLHN4LGEyMixwUixKUixJdyxtayxLUixPeCxQRyxadyxVeCx5QSxFeCxpaCx1aCxvdyxkZCxUNixqNSxDUixCRyx3ZCxNRCxRQSxjRyxuZixXZSxERyxiQixubWgsVzRVLERmUyxrJCxYOCx0RSxiaDEsJCQsc2UsTmEscGYsa1NqLHhmUyxIZSxMNFosZWFVLGdtMixKRSxJOCxxc1UsQUUsR1N3LCRmaSxLZixyM1osT2UsbUwsc3hyLHRDaCxTWSxQZSxaRyxweXQsWXNNLEhodyxVZSxJOTIseVcsRWUsdUIsU3NaLGROLApuYyxXUSx5M3IsYjAsRW14LHg1LExjLGV0LG9tTSx0aixYeSxkZjIsRzAsJDUsemFpLGw5aSxUR2gscWUsdXQyLHJhLHNoLEhRLEJHTSxGNGIsZmMsSmosUmFTLGE5cixxNCxubjEsdFgsck0scGksWXosZmksSWYsbVUsUzIsaGp0LEFYLHhZYixLaSxPMyxlancsWnEsZ25aLFAkLExEWixpWixYT2IscWZTLHQ2QyxyOVMsR3ZVLHNfMixOUWksajIsQiQsSDhyLFFyLEo5YixmOEMsTTQsVnIsUmYsYyQsSThqLEE5UyxTZmosRkcsbVl3LFA2Uyx3TSx1Zk0sb25yLGRZTSxpOFUsRW4yLHk5dCx6ajEsYWYscE9pLGw4dCxZZmksVFFNLGpfVSxuNyxGRGIsQzZVLFduLEJRdyx3T1osUmpVLFFfMSxNNlUsbnl3LFdCaixhODIsa0Z3LGhzdyxWNnIsYzlNLExCVSx4Y2Isa2QsZXNqLGhzLGd5MSxHRkMsWHh0LHRwYixxMGIsJGN4LHhkLEw3LGVJLHJLcixzaFosZ1AsTm10LFhOLHB4aSxZMFUscUcsR0UsSFRaLGZsaixKS2osSWxqLHRzLFMwdyxBS3IsbWNyLEtCTSxPVGIsUGtDLFpUVSxVY2kseUtDLApFeTIsaVR4LHVMMixveWgsZGN0LHpzMSxsbHIsVG1yLGpoTSxDa3gsQm1qLHd4WixNcEMsclAsc24scDcsWWQsUnN4LEhuLGY3LFFodyxKcyxWcEMsSU8sQXMsbTUsSzcsWlUsVW4seXcsaUosYWx4LG9PLHpFLFRFLGdYLEM3LGhBaSxCbixlQSxGTixlQVosTUcsUk8sVncsZ0V3LERjLHZBLGtKLFhMUyx4SixlSixnRixYcCxxZCxOZCxJRGgsUzJiLFlKLEhLaSwkNXIsSlQsc1diLElyLHJGLCRKLHRnaCxHN1UscTJDLHRULGZnLHNELEhBLFBBLFpjLFVELHlMLEVELGkzLHUzLG9yLGRGLHpfLFRfLGpKLENnLEJBLEZwLHdGLFFMLFd3LFZMLGNBLHZ3LGt4LGFyLEtoMixMcyxnQSxHaixQSUMsWktaLFl4LHBzLFU1WiwkeCxyQSxzWSxOayxIdyxmcyxKWSxJQixTUCxtdCxBWSx5SHIsS3MsUHcsRUVaLE9ZLFpfLGlLVSxVWSx5ZixvRWksemosbEwsalAsVGosQncsRjUsd0EsTWssUWYsY3csbnosV18sREosZDV3LGJULHZfLGtOLHpBMixoSix4TixMeixleCxnayxYeCxsRHgsVEQxLEdQLHRKLAokTixPdixQXyxaSixVdix5cyxkayx6UCx3TFUsbFQsVFAsangsQ3osTWdNLFJBUyxRV00sVmdpLGNIaixhRFUsRngsTUksbkdTLERPLHZSLGhNLHhYLExNLGVHLFhaLHEkLEdpLHRNLCRYLHJ5LHNOLE4kLFlYLGZNLEpNLElkLFNHLFFQLE9OLG1GLEtnLE0zLFpPLFVOLHZHVSx5VCxrM3IsaTgsdTgsZHksaGdTLHppLGw4LFRpLGpHLHJrLENNLEJSLHg4aixGWixNJCxSZCxRVCxWVCxjUixhZCxuNixXRix2RixMS1UsTDYsZWcxLGU0LFhKaSxxeixxdWosRzNDLHRPWix0WixzNVUsTnBqLHBKYixJbyxZdWgsSHFoLGZ0WixHXyxmRHcsJGcsUzQsSzYsT2ssUEYsSiRVLEl0aSxaSCx5QyxBWixFayxBJGksaUEsdUEsb28sbTh0LHp4LFR4LGo0LEM2LEJGLEtLdCxGdixwNixWQyxPcXgsVThaLERLLHJIaSxKSHIsdlgsaHoseGgsTE4sZVQsZzEsRUdDLCRoLG9HdyxkOGksaXF0LHR6LHUxcixsdGIsTlYsemcyLHBOLFRwYixIWCxORFMsWTJTLE9ELFNKLENlVSxmTixKeix3SngsajVpLFNULG1WLApLTixBeixPZCxQWCxSZ1UsRWQsVk9yLGF0dCxpbyxuWUMsb24sekwsWHYsVEwsalQsQlgsRlYsUU0sY1gsbG8sYzksV0UsYmksdkUsaHUsTEUsdHUsWnFTLHZZaixmRSxKdSxTTSxBdSxWUCxLRSxMSUMsZUVpLE9tLFBFLGdZWix0bU0sWmYsWDNTLEdIdCxxbGgscnFaLHNpcixpaSx1aSxvQSxUbCxDRSx3YyxGQyxNRixSQSxZbHcsUW4sSFZ4LGZvaSxKcVosQXExLG12aixhQSxuTCxQbjEsWlZpLHlxMSxFWTEsaVYyLHU2UyxvWU0sekViLGxvaixrTCx4TCxMTCxlJCxnNix0eCxCJHgsdzNpLEdmLFJFaSwkTCxyNixRaTIsVm10LHNVLFZuLFdqLEhqLGZMLG1mLEVVLGlqLHVqLGQ2LHpmLG9RLGdxWixsaixYWWgscWpoLEdOaCxDTCxCaixGZSxKeCx3NixQMCxNcyxBSixSUSxReixOSSxWeixVdE0sY2oseTFoLEk0LGFRLG5BLGJGLFRmLGokLFN4LGhELEVxaCx4cCxLeixpV1MsdW10LG9xMSx6a1UsTEEsZTcsZ2wsWDIsZHQxLEdlLHRELCRwLHJsLEF4LE51LFlwLElULEFELGlULHB6LEtBLApPUyxQVCxUaGksY3F4LHBMLFpQLFVTLHlVLEVTLGlGLHVGLGxGLHplLGo3LGRsLE1TTSxDQSxCVCxGMix3bCxNdSxhVCxjVCxRc1MsbjIsVzcsVlNoLGtGLGhmLGMxQyx4RixMMixlQixiX0MsZ3YsWHoscXAsdGYsdnRDLGh4dyxmMixKZixJeSx4dzIsU0IsQWYsbVAsWiQsVUYseUUsRUYsaTUsenUsVHUsakIsQzIsQjcsTGF4LEZ6LHd2LE1wLFJ5LFFFLFZFLGM3LGF5LG52LGJZLFd1LERiLEdLdCxxSXcsdEFDLCR3aixyYVUsc0ZNLHZ1LGtzLE5YaCxlbixnVixZSTEsSF9VLHFXLFhyLHRCLGZpeCxyVixzYixOVyxwdixmdixZcyxKQixJNixKYWksSHUsWmIsVWIsRWIsbzYsU0laLHVZLEFhMixURCxsWSxtd3Isam4sQ3YsRnIsd1YsTVcsUWssVmssY3UsQ25pLEZJMSxhNixXcCxEeCxidSx2cCxrWixoVSx4WixMMyxlVixnQyxVd2IseWFqLGlfYixYdSx6eFMsakZNLFNWLENIaCxGYU0sd0tqLE1BTSxSeGosUUZ3LFZBUyxjYXQsYWlNLG5qMSxtZSxXJGosRDZ4LEszLE9HLGJlcixQcCwKdmp3LGg3Mix4NncsVUcsWngsTCQyLHlCLGl1LGU3YixnajEsWFNoLG9xLEdCYixya2osekkscSQyLCQ2aCxsdSxqVixzU3csTjdTLHBTUyxGdSxIZVUsd0MsUnEsSVExLFMkaCxtNncsSyRqLFZCLGNwLFBDMixhcSxaZXcsTXEsVTZDLGZRaCxPZWksQWtNLFc2LHlrcixFalosaWVpLHU5VSxvancsRGQsVDdiLGQ2cix6N1UsalNaLGJTLENDTSxsUWgsdjYseEMsTHIsZXEsa0MsQjdiLHdTVSxndSxGJHgsTXZTLFI3VSxWdnQsY2tqLFgwLGFRUyxuZngsRE4xLGJ3QyxxMixHWix0MCwkQyxRRXcsVkh4LGNyaCxEWDIsdmZ0LGtkVSxuVHcsV2paLGFFdyx2VFosSDYsSjQsZnIseWssbWksS3YsUHUsaVksS3IsSSQsaFpyLE80LHhYQyxMalUsUDYsQTAsbWQsWmQsZ1RDLFU0LEowLGc3LHlvLEU0LGlTLFNxLGtRdyxlWnQsdVMsWDB0LHF6aCxHUWIsdGRqLCRYMSxyeUMsTjhaLGR1LEprQyx6WixsUyxSNixLYTIscDBiLGpxLFZvLElyYixZemksZnJDLENyLEYwLG1YYixLamksTyRpLFokaSxQYlUsClVYWixhJCx5eXgsbkQsV2wsaSRTLEVUaixvVGosRGssdW5VLHZsLHpaaixscjIsVDhoLENidCxCOGksdzBiLGhnLGt3LEZqaixSWmgsTEQsVmR0LGVSLFFLeCx4dyxnaixYQixXWWgsblJ0LCR3LHFQLFl3LHZSdyxlU2osaFMxLExZMix4MEMsZkQsWEJ3LHFQaSxHMVMsdF9oLCQwYixyT2gsczlDLE5KaSxJayxwQngsWVBNLEh5VSxKT3csZkl0LElJYixKZyxBT00sU1IsY3laLFBsLFp5UyxpeWksdWtoLG9SdCxQT3QsRXEsdTEseXUsZDBiLFVxLGxJYixvayxaayxVMFosaTEseU9aLG0wTSxtdixqOUMsT3laLENPaixCSnQsVEpiLEZZQyx3QngsemMsTV93LFE5YixWXzIsUlNDLGNPdyxhSVosV1hoLERMYixrbnIsYkZqLHZ1TSxUYyxoUXgseEx0LExYcixndUMsalIsQ0QsWE5pLEJsLHFScixHbncsdEZ4LCRMQyxyYzIsc2d3LE4wUyxwTnQsWVJ3LEhGWixmeVUsSmNiLEl5dyxTUnQsQWNaLG1MMixLWFosT0ZDLFBRcixaRnQsVUwyLHljMixFdXQsaUZVLHVxdCxvdTIsZExpLHpRUyxseTIsClQwVSxqZ2gsQ1FDLEIwaixGWDIsTUZ4LFJRVSxWRlMsTVAsUXUsVnUsY2wsbk9NLG5DLFdUaCxEQmksYlBTLGFrLHZPMixheVosYm0saEQxLHhCaCxMVGIsdnIsa29yLE9iLGRWLFlDLFN6TSxjNixIJGgsUW8sQjYsd3UsUiQsZGoselMyLEVSUyxYemgscUoyLHQ5aCxrYywkQmkscjdoLGgyLGVEYixYYixIUGIsZm14LEo3aSxJbWkscW0sZ09DLEE3eCxzN3IsTjNDLHhjLExDLHB6aCxaUGosS1RpLE9QMixyUyxOMiwkYyxTSloseTdpLEVPaCxpUFMsbUJiLHUzeCxvT3gsZEJoLFQzaCxqN2osQzl4LHBDLEIzeCx3enIsRlR0LFJEaixRNzIsYzdyLFdnMixoOE0seGJqLEhyLG5RdyxKMixmQyxMZ3csZTh3LGJtaCxWOWksTTliLGdRdyxYVVMscWNVLEdUUyx0d00sckkxLFMwLCRiWixOb0Msc0lNLFljMSxwVWosbW4sQTIsSG1TLGY1eCxKSWIsSTUyLEtDLEFJTSxtYk0sS2d4LE9YLE9tMixQTWosUHIsWm1oLHlJcixpbXIsWlYsVVgseTMsaW0sdW0sRVgsRVFNLHVpaixvUTIsZGJTLHo4MiwKbDVVLGJBLG91LFRvaSxqSWosQ014LEJvdCxkUyxGZ2IselgsTXdoLGwxLFRYLGowLENDLEJyLEZiLHdTLFFJUyxWd00sY0lqLGE1cixSdSxXM1osRGoyLGJYdCxrcGksaHlpLGJKLHZ5TSx4amosTDN4LGV5aixYSVosYXUsV2QscTkxLG51LEQ3LGJWLHRaTSwkalosdmQscnB0LGNjWixNbSxWMyxoQyxIWDIsZkF0LEpwVSxJQWgsUzliLEFwaixtanQsSzNVLE9YMixlaCxncyxYSixQeUMscTksUjhDLFVqdyx0QyxHWSwkMCxFb2ksaVhTLHJzLHNCLHlwYixwdSx1NGIsWTAsb294LGZ1LFRFMixqYjIsSkMsRjNiLFNoLG1vLGRqcixNWjEsSGQsUnlpLFFidyxsQXQsVlppLHp5MSxhQXcsbkF4LGNwdCxQZCxaNyxMcjEsdkFqLHlhLGVwWixrVWksRDF0LGdBaSxXcmgsR1UxLFhzaSxVQix0eTIsYlVVLHI2dyx4MVUscHNyLEVCLEhVaSxmdmksWXlpLEl2aCxTeXIsU1BNLEdYLG9jLFA5VSxtMVUsSWMsbFYselksamgsQmQsRkosS3JiLHdzLFUxaSx5NlosRUFDLE05LFBSYixSYyxpVXQsQ3UsCmNkLG9BdCxRYSxWYSx1VixUWSx3c2ksTXl4LE9VaCxkcyxScFUsYnYsQTZqLGQxMixhdlosbkJDLFcxaSxiNHQsRGdDLHZCMixCNFUsUXZpLGhMWixMMWIseGdaLGVMaCxnQnIsWGFTLGtQLGg1LHFhVSxHcU0senBpLHRpUywkZ0MsTGEsclBoLHNVUyxlbCx4UCxwYU0sZzksWFksSDR0LGZwaSxKUE0sSXBDLFNhTSxZYVUsQVAyLG1naCxPNEMscVQsSzFVLEdHLFBneCxaNHgseVBqLEVCQyxVZzIsb0JyLGRndyxpNFUsdWp4LHpMWixscDIsalVVLFRLdyxSTHQsUVVaLENndCxCS0MsRjF3LHdhUyxNaWksVmliLHI5LHNyLCRQLE5ULGFweCxuVnIsV3F4LEpKLHBhLGJCeCx2VjIsa3d3LFlQLGZhLEg4LHhRdyxoYmosZ1ZoLEo1LFIwLFhiaCxJRyxxSDEsR3dVLHRMeCwkUXgscm1NLHNMYixOYmIsSEJ3LFlIaSxBNSxtQSxKbXgsS2EsU2wsZk0xLE9yLEtxcixQJEMsWkJqLFVRaSx5bWksRVZiLGlCUyxaVCxpdix1QXQsdXYsemJyLG9WMixEJCxURyxqbCxDYSxHdSxCOCxGWSxqTGosQyR3LAp3OSxSRyxRWSxGcU0sTVQsQmJoLFJieCxjbWIsVlksYU1VLG5EaixhRyxEclosVkxNLFdjLGJsWixuTyx2RDEsa1cxLGJzLHZjLHhydCxrSSxlMEMsZ0R4LExFcixYUGkscW8yLGhoLEdXYix0azEsTE8sZXMsZ2YsJHJNLHJlUyxzalMsTl9oLFlvQyx0aCxIbEMsJEksQWV0LHJmLG1yaixLRWgsUGRaLE9sTSxOSyxwTyxabGksRURqLEhjLFlJLHU3dCxkck0samp4LENkaixKaCxJZSxCX0Msc0YsZk8sRkVaLFNzLHdQMSxNa00sbVIsY2ViLHlSMSxHRCwkcyxlMCx6RCx5UyxCdSxFZyxpcyxUWixVZyxpUlosdXMsdWFVLG9NaCxkRGIselVoLHR2aSxNMixqd2osRncsQ2gxLE1LLGlwLGpzLEZraixjYyxDTyxuSixjUmIsVjVoLGx3WixXZixkZixUZGosbHMsbiRNLFdMcixEYXIsTTVpLHYkaCxodnIsZXZ0LGckUyxrcix2ZixYZWosYmwsREwseHIsTEwyLHFlaSwkYXIsdVJyLHJFUyxzOHIsWWVpLFhTLHBlVSx0YixOTncscTcsZkdTLEpFYixJR3csU2UxLEFFaSxyNSxaZncsc1osT2Z0LHlFMiwKRSRNLGlmQyxLTFosdThiLFlyLG8kVSx2NyxmSixKYixBYixQZixWUyx6djIsVVosbEd3LGo4MixDQlMseVosaWwsVWFoLHdlVSxNWU0sUnZaLFE4eCxWWXgsYUcxLFcydyxEZWIsb1gsY0VyLFZaLGswaix6QSxFWixoZDEsbngsTDJNLHhlcixXcSxERixiVSx2cSxlZFMsYVgsT1osQ0osbGwsVEEsQmYsbjVqLEZTLEtKLHVsLGRhdCxYUXgsRzBqLFNhLFFaLHR0dywkZVUseGkscmpqLHNhaSxoVixOYWIsa2ksZW8sWWhpLEhjdCxmNmg7V1o9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG50W25dLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OwpnLkQxPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG50W25dPVd9OwpuMnc9ZnVuY3Rpb24obixXKXtpZihXKWZvcih2YXIgRD0wO0Q8dloubGVuZ3RoO0QrKylrMih2WltEXSsiQXJyYXkucHJvdG90eXBlLiIrbixXKX07CmhpPWZ1bmN0aW9uKG4sVyl7VyYmazIobixXKX07CmsyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9eDI7bj1uLnNwbGl0KCIuIik7Zm9yKHZhciBiPTA7YjxuLmxlbmd0aC0xO2IrKyl7dmFyIHY9bltiXTtpZighKHYgaW4gRCkpcmV0dXJuO0Q9RFt2XX1uPW5bbi5sZW5ndGgtMV07Yj1EW25dO1c9VyhiKTtXIT1iJiZXIT1udWxsJiZXU0MoRCxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6V30pfTsKdjJDPWZ1bmN0aW9uKG4sVyl7bi5wcm90b3R5cGU9RGl4KFcucHJvdG90eXBlKTtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO2J0UyhuLFcpO24uVEI9Vy5wcm90b3R5cGV9OwplVT1mdW5jdGlvbihuKXtuPU1hdGgudHJ1bmMobil8fDA7bjwwJiYobis9dGhpcy5sZW5ndGgpO2lmKCEobjwwfHxuPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbbl19OwpnLkdiPWZ1bmN0aW9uKG4sVyxEKXtuPW4uc3BsaXQoIi4iKTtEPUR8fGcucWk7Zm9yKHZhciBiO24ubGVuZ3RoJiYoYj1uLnNoaWZ0KCkpOyluLmxlbmd0aHx8Vz09PXZvaWQgMD9EW2JdJiZEW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXT9EPURbYl06RD1EW2JdPXt9OkRbYl09V307Ck5pPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigiQ0xPU1VSRV9GTEFHUyIpO249RCYmRFtuXTtyZXR1cm4gbiE9bnVsbD9uOld9OwpnLnJyPWZ1bmN0aW9uKG4sVyl7bj1uLnNwbGl0KCIuIik7Vz1XfHxnLnFpO2Zvcih2YXIgRD0wO0Q8bi5sZW5ndGg7RCsrKWlmKFc9V1tuW0RdXSxXPT1udWxsKXJldHVybiBudWxsO3JldHVybiBXfTsKcHQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFchPSJvYmplY3QiP1c6bj9BcnJheS5pc0FycmF5KG4pPyJhcnJheSI6VzoibnVsbCJ9OwpnLlkyPWZ1bmN0aW9uKG4pe3ZhciBXPXB0KG4pO3JldHVybiBXPT0iYXJyYXkifHxXPT0ib2JqZWN0IiYmdHlwZW9mIG4ubGVuZ3RoPT0ibnVtYmVyIn07CmcuZnQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFc9PSJvYmplY3QiJiZuIT1udWxsfHxXPT0iZnVuY3Rpb24ifTsKQWk9ZnVuY3Rpb24obil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLFNVKSYmbltTVV18fChuW1NVXT0rK2tidCl9OwpoTWk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLmNhbGwuYXBwbHkobi5iaW5kLGFyZ3VtZW50cyl9OwpnLkt0PWZ1bmN0aW9uKG4sVyxEKXtnLkt0PWhNaTtyZXR1cm4gZy5LdC5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpnLlBaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBiPUQuc2xpY2UoKTtiLnB1c2guYXBwbHkoYixhcmd1bWVudHMpO3JldHVybiBuLmFwcGx5KHRoaXMsYil9fTsKZy5Vdz1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTsKZy55aj1mdW5jdGlvbihuKXtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXJSdW4iLG4pfTsKRXc9ZnVuY3Rpb24obil7cmV0dXJuIG59OwpnLml4PWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRCgpe30KRC5wcm90b3R5cGU9Vy5wcm90b3R5cGU7bi5UQj1XLnByb3RvdHlwZTtuLnByb3RvdHlwZT1uZXcgRDtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO24uQU89ZnVuY3Rpb24oYix2LGspe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLHg9Mjt4PGFyZ3VtZW50cy5sZW5ndGg7eCsrKWhbeC0yXT1hcmd1bWVudHNbeF07cmV0dXJuIFcucHJvdG90eXBlW3ZdLmFwcGx5KGIsaCl9fTsKdXg9ZnVuY3Rpb24obiwuLi5XKXtXPVcuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighVylyZXR1cm4gbjt2YXIgRD1uLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIEQ/bi5zbGljZSgwLEQuaW5kZXgrMSkrVysiJiIrbi5zbGljZShELmluZGV4KzEpOm4rKG4uaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrV307CmRyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/IiYiK24rIj0iK2VuY29kZVVSSUNvbXBvbmVudChXKToiIn07CnhpTT1mdW5jdGlvbihuKXtuPW4uWDtpZighbilyZXR1cm4iIjt2YXIgVz1kcigidWFwIixuLnBsYXRmb3JtKStkcigidWFwdiIsbi5wbGF0Zm9ybVZlcnNpb24pK2RyKCJ1YWZ2IixuLnVhRnVsbFZlcnNpb24pK2RyKCJ1YWEiLG4uYXJjaGl0ZWN0dXJlKStkcigidWFtIixuLm1vZGVsKStkcigidWFiIixuLmJpdG5lc3MpO24uZnVsbFZlcnNpb25MaXN0JiYoVys9IiZ1YWZ2bD0iK2VuY29kZVVSSUNvbXBvbmVudChuLmZ1bGxWZXJzaW9uTGlzdC5tYXAoRD0+ZW5jb2RlVVJJQ29tcG9uZW50KEQuYnJhbmQpKyI7IitlbmNvZGVVUklDb21wb25lbnQoRC52ZXJzaW9uKSkuam9pbigifCIpKSk7Cm4ud293NjQhPW51bGwmJihXKz0iJnVhdz0iK051bWJlcihuLndvdzY0KSk7cmV0dXJuIFcuc2xpY2UoMSl9Owp6Yj1mdW5jdGlvbihuLFcpe2lmKFchPT1udWxsJiZXIT09dm9pZCAwKXtpZih0eXBlb2YgVyE9PSJvYmplY3QiJiZ0eXBlb2YgVyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkLiIpO2lmKEQ9PT12b2lkIDApe2lmKCFTeW1ib2wuZGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTt2YXIgRD1XW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgRCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IG5vdCBkaXNwb3NhYmxlLiIpO24uc3RhY2sucHVzaCh7dmFsdWU6VyxkaXNwb3NlOkQsYXN5bmM6ITF9KX1yZXR1cm4gV307Cmx4PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoayl7bi5lcnJvcj1uLmhhc0Vycm9yP25ldyBTdXBwcmVzc2VkRXJyb3IoayxuLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6aztuLmhhc0Vycm9yPSEwfQpmdW5jdGlvbiBEKCl7Zm9yKDtiPW4uc3RhY2sucG9wKCk7KXRyeXtpZighYi5hc3luYyYmdj09PTEpcmV0dXJuIHY9MCxuLnN0YWNrLnB1c2goYiksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihEKTtpZihiLmRpc3Bvc2Upe3ZhciBrPWIuZGlzcG9zZS5jYWxsKGIudmFsdWUpO2lmKGIuYXN5bmMpcmV0dXJuIHZ8PTIsUHJvbWlzZS5yZXNvbHZlKGspLnRoZW4oRCxmdW5jdGlvbihoKXtXKGgpO3JldHVybiBEKCl9KX1lbHNlIHZ8PTF9Y2F0Y2goaCl7VyhoKX1pZih2PT09MSlyZXR1cm4gbi5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChuLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTsKaWYobi5oYXNFcnJvcil0aHJvdyBuLmVycm9yO30KdmFyIGIsdj0wO0QoKX07CmcuVGI9ZnVuY3Rpb24obixXKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLGcuVGIpO2Vsc2V7bGV0IEQ9RXJyb3IoKS5zdGFjaztEJiYodGhpcy5zdGFjaz1EKX1uJiYodGhpcy5tZXNzYWdlPVN0cmluZyhuKSk7VyE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Vyl9OwpMUzE9ZnVuY3Rpb24oKXt9OwpnLmpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ubGFzdEluZGV4T2YoVywwKT09MH07CmcuQlo9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmxlbmd0aC1XLmxlbmd0aDtyZXR1cm4gRD49MCYmbi5pbmRleE9mKFcsRCk9PUR9OwpnLkZoPWZ1bmN0aW9uKG4pe3JldHVybi9eW1xzXHhhMF0qJC8udGVzdChuKX07Cmcud3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoVy50b0xvd2VyQ2FzZSgpKSE9LTF9OwpnLmNaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtuPVN0cmluZyhuKS50cmltKCkuc3BsaXQoIi4iKTtXPVN0cmluZyhXKS50cmltKCkuc3BsaXQoIi4iKTt2YXIgYj1NYXRoLm1heChuLmxlbmd0aCxXLmxlbmd0aCk7Zm9yKGxldCBoPTA7RD09MCYmaDxiO2grKyl7dmFyIHY9bltoXXx8IiIsaz1XW2hdfHwiIjtkb3t2PS8oXGQqKShcRCopKC4qKS8uZXhlYyh2KXx8WyIiLCIiLCIiLCIiXTtrPS8oXGQqKShcRCopKC4qKS8uZXhlYyhrKXx8WyIiLCIiLCIiLCIiXTtpZih2WzBdLmxlbmd0aD09MCYma1swXS5sZW5ndGg9PTApYnJlYWs7RD1Waih2WzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KHZbMV0sMTApLGtbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoa1sxXSwxMCkpfHxWaih2WzJdLmxlbmd0aD09MCxrWzJdLmxlbmd0aD09MCl8fFZqKHZbMl0sa1syXSk7dj12WzNdO2s9a1szXX13aGlsZShEPT0wKX1yZXR1cm4gRH07ClZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG48Vz8tMTpuPlc/MTowfTsKZU1yPWZ1bmN0aW9uKCl7dmFyIG49bnVsbDtpZighbmIpcmV0dXJuIG47dHJ5e2xldCBXPUQ9PkQ7Cm49bmIuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOlcsY3JlYXRlU2NyaXB0OlcsY3JlYXRlU2NyaXB0VVJMOld9KX1jYXRjaChXKXt9cmV0dXJuIG59OwpEND1mdW5jdGlvbigpe1dNPT09dm9pZCAwJiYoV009ZU1yKCkpO3JldHVybiBXTX07CmszPWZ1bmN0aW9uKG4pe3ZhciBXPUQ0KCk7bj1XP1cuY3JlYXRlU2NyaXB0VVJMKG4pOm47cmV0dXJuIG5ldyBiXyhuKX07CngzPWZ1bmN0aW9uKG4pe2lmKG4gaW5zdGFuY2VvZiBiXylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9Owpnej1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5lailyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpxVT1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFhJKFc9Plcuc3Vic3RyKDAsbi5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PW4rIjoiKX07CmcudEY9ZnVuY3Rpb24obixXPWcuRzQpe2lmKG4gaW5zdGFuY2VvZiBnLmVqKXJldHVybiBuO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7KytEKXtsZXQgYj1XW0RdO2lmKGIgaW5zdGFuY2VvZiBYSSYmYi5PVihuKSlyZXR1cm4gbmV3IGcuZWoobil9fTsKZy5yej1mdW5jdGlvbihuKXtpZihnMmoudGVzdChuKSlyZXR1cm4gbn07Cmcuc009ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLmVqP2d6KG4pOmcucnoobil9OwpnLk5VPWZ1bmN0aW9uKG4sVyl7Vz1nLnNNKFcpO1chPT12b2lkIDAmJihuLmhyZWY9Vyl9OwpnLnBiPWZ1bmN0aW9uKG4sVz1gdW5leHBlY3RlZCB2YWx1ZSAke259IWApe3Rocm93IEVycm9yKFcpO307CmcuSE09ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVIVE1MKG4pOm47cmV0dXJuIG5ldyBnLlkzKG4pfTsKZy5mYj1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5ZMylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpKRj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9d2luZG93O249Zy5zTShuKTtyZXR1cm4gbiE9PXZvaWQgMD9iLm9wZW4obixXLEQpOm51bGx9OwpTaj1mdW5jdGlvbihuPWRvY3VtZW50KXtuPW4ucXVlcnlTZWxlY3Rvcj8uKCJzY3JpcHRbbm9uY2VdIik7cmV0dXJuIG49PW51bGw/IiI6bi5ub25jZXx8bi5nZXRBdHRyaWJ1dGUoIm5vbmNlIil8fCIifTsKbWM9ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVTY3JpcHQobik6bjtyZXR1cm4gbmV3IEFGKG4pfTsKS2I9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIEFGKXJldHVybiBuLk47dGhyb3cgRXJyb3IoIiIpO307Ck9NPWZ1bmN0aW9uKG4pe3ZhciBXPVNqKG4ub3duZXJEb2N1bWVudCk7VyYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixXKX07CmcuUE09ZnVuY3Rpb24obixXKXtuLnNyYz14MyhXKTtPTShuKX07CnF3dD1mdW5jdGlvbihuKXt2YXIgVz0idHJ1ZSIudG9TdHJpbmcoKSxEPVtYWnhgZGF0YS1gXTtpZihELmxlbmd0aD09PTApdGhyb3cgRXJyb3IoIiIpO2lmKEQubWFwKGI9PntpZihiIGluc3RhbmNlb2YgWjQpYj1iLk47ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGJ9KS5ldmVyeShiPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoYikhPT0wKSl0aHJvdyBFcnJvcignQXR0cmlidXRlICJkYXRhLWxvYWRlZCIgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBhbGxvd2VkIHByZWZpeGVzLicpOwpuLnNldEF0dHJpYnV0ZSgiZGF0YS1sb2FkZWQiLFcpfTsKZy5VTT1mdW5jdGlvbihuKXtyZXR1cm4gbltuLmxlbmd0aC0xXX07CmcueTI9ZnVuY3Rpb24obixXKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG4sVyx2b2lkIDApfTsKZy5FTT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChuLFcsRCl9OwpnLmlfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChuLFcsdm9pZCAwKX07CmcudV89ZnVuY3Rpb24obixXLEQpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobixXLEQpfTsKZy5vTT1mdW5jdGlvbihuLFcpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG4sVyx2b2lkIDApfTsKZy5kej1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG4sVyxEKX07CmcubF89ZnVuY3Rpb24obixXKXtXPWcuejQobixXKTtyZXR1cm4gVzwwP251bGw6dHlwZW9mIG49PT0ic3RyaW5nIj9uLmNoYXJBdChXKTpuW1ddfTsKZy56ND1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5sZW5ndGgsdj10eXBlb2Ygbj09PSJzdHJpbmciP24uc3BsaXQoIiIpOm47Zm9yKGxldCBrPTA7azxiO2srKylpZihrIGluIHYmJlcuY2FsbChELHZba10sayxuKSlyZXR1cm4gaztyZXR1cm4tMX07CmcuVDQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubGVuZ3RoLHY9dHlwZW9mIG49PT0ic3RyaW5nIj9uLnNwbGl0KCIiKTpuO2ZvcigtLWI7Yj49MDtiLS0paWYoYiBpbiB2JiZXLmNhbGwoRCx2W2JdLGIsbikpcmV0dXJuIGI7cmV0dXJuLTF9OwpnLmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobixXLHZvaWQgMCk+PTB9OwpnLkNiPWZ1bmN0aW9uKG4pe2lmKCFBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKWRlbGV0ZSBuW1ddO24ubGVuZ3RoPTB9OwpnLkZJPWZ1bmN0aW9uKG4sVyl7Vz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG4sVyx2b2lkIDApO3ZhciBEOyhEPVc+PTApJiZnLkJNKG4sVyk7cmV0dXJuIER9OwpnLkJNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChuLFcsMSkubGVuZ3RoPT0xfTsKR2JpPWZ1bmN0aW9uKG4sVyl7Vz1nLno0KG4sVyk7Vz49MCYmZy5CTShuLFcpfTsKZy53ej1mdW5jdGlvbihuKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1bWVudHMpfTsKZy5STT1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aDtpZihXPjApe2xldCBEPUFycmF5KFcpO2ZvcihsZXQgYj0wO2I8VztiKyspRFtiXT1uW2JdO3JldHVybiBEfXJldHVybltdfTsKZy5RMj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0xO0Q8YXJndW1lbnRzLmxlbmd0aDtEKyspe2xldCBiPWFyZ3VtZW50c1tEXTtpZihnLlkyKGIpKXtsZXQgdj1uLmxlbmd0aHx8MCxrPWIubGVuZ3RofHwwO24ubGVuZ3RoPXYraztmb3IobGV0IGg9MDtoPGs7aCsrKW5bditoXT1iW2hdfWVsc2Ugbi5wdXNoKGIpfX07CmcuY009ZnVuY3Rpb24obixXLEQsYil7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShuLFYyKGFyZ3VtZW50cywxKSl9OwpWMj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobixXKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLFcsRCl9OwpnLlc0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gYU0obixEfHxucCwhMSxXKX07CkRlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGFNKG4sVywhMCl9OwphTT1mdW5jdGlvbihuLFcsRCxiKXtmb3IodmFyIHY9MCxrPW4ubGVuZ3RoLGg7djxrOyl7bGV0IHg9disoay12Pj4+MSksTDtEP0w9Vy5jYWxsKHZvaWQgMCxuW3hdLHgsbik6TD1XKGIsblt4XSk7TD4wP3Y9eCsxOihrPXgsaD0hTCl9cmV0dXJuIGg/djotdi0xfTsKZy5iZj1mdW5jdGlvbihuLFcpe24uc29ydChXfHxucCl9Owp0VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1ucDtnLmJmKG4sZnVuY3Rpb24oYix2KXtyZXR1cm4gRChXKGIpLFcodikpfSl9Owp2ND1mdW5jdGlvbihuLFcsRCl7aWYoIWcuWTIobil8fCFnLlkyKFcpfHxuLmxlbmd0aCE9Vy5sZW5ndGgpcmV0dXJuITE7dmFyIGI9bi5sZW5ndGg7RD1EfHwkaXg7Zm9yKGxldCB2PTA7djxiO3YrKylpZighRChuW3ZdLFdbdl0pKXJldHVybiExO3JldHVybiEwfTsKbnA9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj5XPzE6bjxXPy0xOjB9OwokaXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PVd9OwpnLmtsPWZ1bmN0aW9uKG4sVyxEKXtEPWcuVzQobixXLEQpO0Q8MCYmZy5jTShuLC0oRCsxKSwwLFcpfTsKaEE9ZnVuY3Rpb24obixXKXtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KG4uX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mi5zZXZlcml0eT1XfTsKcmliPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7bj09bnVsbCYmKG49J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTpuLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOlcsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgRD0hMTt0cnl7dmFyIGI9bi5saW5lTnVtYmVyfHxuLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChrKXtiPSJOb3QgYXZhaWxhYmxlIixEPSEwfXRyeXt2YXIgdj1uLmZpbGVOYW1lfHxuLmZpbGVuYW1lfHxuLnNvdXJjZVVSTHx8Zy5xaS4kZ29vZ0RlYnVnRm5hbWV8fFd9Y2F0Y2goayl7dj0iTm90IGF2YWlsYWJsZSIsRD0hMH1XPXhsKG4pO2lmKCEoIUQmJm4ubGluZU51bWJlciYmbi5maWxlTmFtZSYmbi5zdGFjayYmbi5tZXNzYWdlJiZuLm5hbWUpKXtEPW4ubWVzc2FnZTsKaWYoRD09bnVsbCl7aWYobi5jb25zdHJ1Y3RvciYmbi5jb25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uKXtpZihuLmNvbnN0cnVjdG9yLm5hbWUpRD1uLmNvbnN0cnVjdG9yLm5hbWU7ZWxzZSBpZihEPW4uY29uc3RydWN0b3IsTHBbRF0pRD1McFtEXTtlbHNle0Q9U3RyaW5nKEQpO2lmKCFMcFtEXSl7bGV0IGs9L2Z1bmN0aW9uXHMrKFteXChdKykvbS5leGVjKEQpO0xwW0RdPWs/a1sxXToiW0Fub255bW91c10ifUQ9THBbRF19RD0nVW5rbm93biBFcnJvciBvZiB0eXBlICInK0QrJyInfWVsc2UgRD0iVW5rbm93biBFcnJvciBvZiB1bmtub3duIHR5cGUiO3R5cGVvZiBuLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyE9PW4udG9TdHJpbmcmJihEKz0iOiAiK24udG9TdHJpbmcoKSl9cmV0dXJue21lc3NhZ2U6RCxuYW1lOm4ubmFtZXx8IlVua25vd25FcnJvciIsbGluZU51bWJlcjpiLGZpbGVOYW1lOnYsc3RhY2s6V3x8Ik5vdCBhdmFpbGFibGUifX1yZXR1cm57bWVzc2FnZTpuLm1lc3NhZ2UsCm5hbWU6bi5uYW1lLGxpbmVOdW1iZXI6bi5saW5lTnVtYmVyLGZpbGVOYW1lOm4uZmlsZU5hbWUsc3RhY2s6V319Owp4bD1mdW5jdGlvbihuLFcpe1d8fChXPXt9KTtXW2UxKG4pXT0hMDt2YXIgRD1uLnN0YWNrfHwiIixiPW4uY2F1c2U7YiYmIVdbZTEoYildJiYoRCs9IlxuQ2F1c2VkIGJ5OiAiLGIuc3RhY2smJmIuc3RhY2suaW5kZXhPZihiLnRvU3RyaW5nKCkpPT0wfHwoRCs9dHlwZW9mIGI9PT0ic3RyaW5nIj9iOmIubWVzc2FnZSsiXG4iKSxEKz14bChiLFcpKTtuPW4uZXJyb3JzO2lmKEFycmF5LmlzQXJyYXkobikpe2I9MTtsZXQgdjtmb3Iodj0wO3Y8bi5sZW5ndGgmJiEoYj40KTt2KyspV1tlMShuW3ZdKV18fChEKz0iXG5Jbm5lciBlcnJvciAiK2IrKyArIjogIixuW3ZdLnN0YWNrJiZuW3ZdLnN0YWNrLmluZGV4T2Yoblt2XS50b1N0cmluZygpKT09MHx8KEQrPXR5cGVvZiBuW3ZdPT09InN0cmluZyI/blt2XTpuW3ZdLm1lc3NhZ2UrIlxuIiksRCs9eGwoblt2XSxXKSk7djxuLmxlbmd0aCYmKEQrPSJcbi4uLiAiKyhuLmxlbmd0aC12KSsiIG1vcmUgaW5uZXIgZXJyb3JzIil9cmV0dXJuIER9OwplMT1mdW5jdGlvbihuKXt2YXIgVz0iIjt0eXBlb2Ygbi50b1N0cmluZz09PSJmdW5jdGlvbiImJihXPSIiK24pO3JldHVybiBXK24uc3RhY2t9OwpnLmdUPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wYXJzZUZyb21TdHJpbmcoZy5mYihXKSxEKX07ClhNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBXb3JrZXIoeDMobiksVyl9OwpxaD1mdW5jdGlvbihuKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhuKSl9OwpHNT1mdW5jdGlvbihuKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KG4ucmVwbGFjZSgvXCsvZywiICIpKX07CmcudEE9ZnVuY3Rpb24obil7c0NoLnRlc3QobikmJihuLmluZGV4T2YoIiYiKSE9LTEmJihuPW4ucmVwbGFjZShOcmgsIiZhbXA7IikpLG4uaW5kZXhPZigiPCIpIT0tMSYmKG49bi5yZXBsYWNlKHBadywiJmx0OyIpKSxuLmluZGV4T2YoIj4iKSE9LTEmJihuPW4ucmVwbGFjZShZd2ksIiZndDsiKSksbi5pbmRleE9mKCciJykhPS0xJiYobj1uLnJlcGxhY2UoSHRVLCImcXVvdDsiKSksbi5pbmRleE9mKCInIikhPS0xJiYobj1uLnJlcGxhY2UoZjFTLCImIzM5OyIpKSxuLmluZGV4T2YoIlx4MDAiKSE9LTEmJihuPW4ucmVwbGFjZShKaVosIiYjMDsiKSkpO3JldHVybiBufTsKZy5yVD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD8iIjpTdHJpbmcobil9OwpzVD1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKVc9MzEqVytuLmNoYXJDb2RlQXQoRCk+Pj4wO3JldHVybiBXfTsKZy5OaD1mdW5jdGlvbihuKXt2YXIgVz1OdW1iZXIobik7cmV0dXJuIFc9PTAmJmcuRmgobik/TmFOOld9OwpwcD1mdW5jdGlvbihuKXtyZXR1cm4gU3RyaW5nKG4pLnJlcGxhY2UoL1wtKFthLXpdKS9nLGZ1bmN0aW9uKFcsRCl7cmV0dXJuIEQudG9VcHBlckNhc2UoKX0pfTsKSTFpPWZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoUmVnRXhwKCIoXnxbXFxzXSspKFthLXpdKSIsImciKSxmdW5jdGlvbihXLEQsYil7cmV0dXJuIEQrYi50b1VwcGVyQ2FzZSgpfSl9OwpTd2g9ZnVuY3Rpb24obil7dmFyIFc9MTtuPW4uc3BsaXQoIjoiKTtmb3IodmFyIEQ9W107Vz4wJiZuLmxlbmd0aDspRC5wdXNoKG4uc2hpZnQoKSksVy0tO24ubGVuZ3RoJiZELnB1c2gobi5qb2luKCI6IikpO3JldHVybiBEfTsKZy5IND1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD0iIjtuJiYoeCs9bisiOiIpO0QmJih4Kz0iLy8iLFcmJih4Kz1XKyJAIikseCs9RCxiJiYoeCs9IjoiK2IpKTt2JiYoeCs9dik7ayYmKHgrPSI/IitrKTtoJiYoeCs9IiMiK2gpO3JldHVybiB4fTsKZy5mcD1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXRjaChBaXIpfTsKSkE9ZnVuY3Rpb24obil7cmV0dXJuIG4/ZGVjb2RlVVJJKG4pOm59OwpnLklQPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzNdfHxudWxsKX07ClMxPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzVdfHxudWxsKX07CkFBPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChuWzFdLG5bMl0sblszXSxuWzRdKX07Cm1XPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChudWxsLG51bGwsbnVsbCxudWxsLG5bNV0sbls2XSxuWzddKX07CktwPWZ1bmN0aW9uKG4pe3ZhciBXPW4uaW5kZXhPZigiIyIpO3JldHVybiBXPDA/bjpuLnNsaWNlKDAsVyl9OwpnLk9UPWZ1bmN0aW9uKG4sVyl7aWYobil7bj1uLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe2xldCBiPW5bRF0uaW5kZXhPZigiPSIpLHYsaz1udWxsO2I+PTA/KHY9bltEXS5zdWJzdHJpbmcoMCxiKSxrPW5bRF0uc3Vic3RyaW5nKGIrMSkpOnY9bltEXTtXKHYsaz9HNShrKToiIil9fX07ClA0PWZ1bmN0aW9uKG4sVyl7aWYoIVcpcmV0dXJuIG47dmFyIEQ9bi5pbmRleE9mKCIjIik7RDwwJiYoRD1uLmxlbmd0aCk7dmFyIGI9bi5pbmRleE9mKCI/Iik7aWYoYjwwfHxiPkQpe2I9RDt2YXIgdj0iIn1lbHNlIHY9bi5zdWJzdHJpbmcoYisxLEQpO249W24uc2xpY2UoMCxiKSx2LG4uc2xpY2UoRCldO0Q9blsxXTtuWzFdPVc/RD9EKyImIitXOlc6RDtyZXR1cm4gblswXSsoblsxXT8iPyIrblsxXToiIikrblsyXX07ClplPWZ1bmN0aW9uKG4sVyxEKXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKVplKG4sU3RyaW5nKFdbYl0pLEQpO2Vsc2UgVyE9bnVsbCYmRC5wdXNoKG4rKFc9PT0iIj8iIjoiPSIrcWgoVykpKX07CnlHPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKVplKEQsbltEXSxXKTtyZXR1cm4gVy5qb2luKCImIil9OwpnLkVUPWZ1bmN0aW9uKG4sVyl7Vz15RyhXKTtyZXR1cm4gUDQobixXKX07CmcudWY9ZnVuY3Rpb24obixXLEQpe0Q9RCE9bnVsbD8iPSIrcWgoRCk6IiI7cmV0dXJuIFA0KG4sVytEKX07CmcuZFQ9ZnVuY3Rpb24obixXLEQsYil7Zm9yKHZhciB2PUQubGVuZ3RoOyhXPW4uaW5kZXhPZihELFcpKT49MCYmVzxiOyl7dmFyIGs9bi5jaGFyQ29kZUF0KFctMSk7aWYoaz09Mzh8fGs9PTYzKWlmKGs9bi5jaGFyQ29kZUF0KFcrdiksIWt8fGs9PTYxfHxrPT0zOHx8az09MzUpcmV0dXJuIFc7Vys9disxfXJldHVybi0xfTsKZy5sZj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VhcmNoKGcuejUpLGI9Zy5kVChuLDAsVyxEKTtpZihiPDApcmV0dXJuIG51bGw7dmFyIHY9bi5pbmRleE9mKCImIixiKTtpZih2PDB8fHY+RCl2PUQ7Yis9Vy5sZW5ndGgrMTtyZXR1cm4gRzUobi5zbGljZShiLHYhPT0tMT92OjApKX07ClQ1PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPW4uc2VhcmNoKGcuejUpLGI9MCx2LGs9W107KHY9Zy5kVChuLGIsVyxEKSk+PTA7KWsucHVzaChuLnN1YnN0cmluZyhiLHYpKSxiPU1hdGgubWluKG4uaW5kZXhPZigiJiIsdikrMXx8RCxEKTtrLnB1c2gobi5zbGljZShiKSk7cmV0dXJuIGsuam9pbigiIikucmVwbGFjZShtaTEsIiQxIil9OwpLUzE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLnVmKFQ1KG4sVyksVyxEKX07CmcuQ3A9ZnVuY3Rpb24obil7biYmdHlwZW9mIG4uZGlzcG9zZT09ImZ1bmN0aW9uIiYmbi5kaXNwb3NlKCl9OwpnLkI0PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wLEQ9YXJndW1lbnRzLmxlbmd0aDtXPEQ7KytXKXtsZXQgYj1hcmd1bWVudHNbV107Zy5ZMihiKT9nLkI0LmFwcGx5KG51bGwsYik6Zy5DcChiKX19OwpnLkZNPWZ1bmN0aW9uKCl7dGhpcy5IRD10aGlzLkhEO3RoaXMuQlY9dGhpcy5CVn07CmcudT1mdW5jdGlvbihuLFcpe24uYWRkT25EaXNwb3NlQ2FsbGJhY2soZy5QWihnLkNwLFcpKX07CmcuTWg9ZnVuY3Rpb24obj0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoVz0+e2lmKHdpbmRvdz09PXdpbmRvdy50b3ApdmFyIEQ9d2luZG93O2Vsc2V7dHJ5e0Q9ISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2godil7RD0hMH1EPUQ/d2luZG93OndpbmRvdy50b3B9dmFyIGI9RFtuXTtiPy5iZXZhc3JzP1cobmV3IHdUKGIuYmV2YXNycykpOihifHwoYj17bnFmYmVsOltdfSxEW25dPWIpLGIubnFmYmVsLnB1c2godj0+e1cobmV3IHdUKHYpKX0pKX0pfTsKUlA9ZnVuY3Rpb24obil7dmFyIFc9e2M6bi53XyxlOm4ueEMsbWM6bi5HcixtZTpuLkVSfTtuLmhHJiYoVy5jbz17YzpuLmhHLmFtLGE6bi5oRy5BQixzOm4uaEcucjN9KTtyZXR1cm4gV307Ck90aT1mdW5jdGlvbihuKXtuLkohPT12b2lkIDAmJihuLlcuZm9yRWFjaChXPT57bi5KPy5yZW1vdmVFdmVudExpc3RlbmVyKFcsbi5YKX0pLG4uSj12b2lkIDApfTsKWnRaPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLk8xLndwYyl0aHJvdyBuZXcgUUcoMzAsIk5XQSIpO2lmKG4uTilyZXR1cm4gbi5OO3ZhciBXPWF3YWl0IG4uTzEud3BjKCk7bi5OPW5ldyBQeFMoVyk7cmV0dXJuIG4uTn07Cm4wPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO1ZHKG4sYzQsNikuZm9yRWFjaChEPT57YVAoRCwyKTw9NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClVpdz1mdW5jdGlvbihuKXt2YXIgVz1bXTtWRyhuLGM0LDYpLmZvckVhY2goRD0+e2FQKEQsMik+NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClcyPWZ1bmN0aW9uKG4pe24udGhlbigoKT0+e30sKCk9Pnt9KX07CkRYPWZ1bmN0aW9uKG4pe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6bn19OwpicD1mdW5jdGlvbihuKXtyZXR1cm57ZmllbGRUeXBlOjMsZmllbGROYW1lOm59fTsKa0s9ZnVuY3Rpb24obil7cmV0dXJuKHYyfHwodjI9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKG4pfTsKaDQ9ZnVuY3Rpb24obil7Zy5xaS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgbjt9LDApfTsKeWl0PWZ1bmN0aW9uKG4pe3JldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwobixmdW5jdGlvbihXKXtXPVcudG9TdHJpbmcoMTYpO3JldHVybiBXLmxlbmd0aD4xP1c6IjAiK1d9KS5qb2luKCIiKX07CnhLPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCs9MilXLnB1c2gocGFyc2VJbnQobi5zdWJzdHJpbmcoRCxEKzIpLDE2KSk7cmV0dXJuIFd9OwpMMD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT01NTI5NiYmYisxPG4ubGVuZ3RoJiYobi5jaGFyQ29kZUF0KGIrMSkmNjQ1MTIpPT01NjMyMD8odj02NTUzNisoKHYmMTAyMyk8PDEwKSsobi5jaGFyQ29kZUF0KCsrYikmMTAyMyksV1tEKytdPXY+PjE4fDI0MCxXW0QrK109dj4+MTImNjN8MTI4KTpXW0QrK109dj4+MTJ8MjI0LFdbRCsrXT12Pj42JjYzfDEyOCksV1tEKytdPXYmNjN8MTI4KX1yZXR1cm4gV307CmcuWFE9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbiYmKG49bi51c2VyQWdlbnQpP246IiJ9OwokSz1mdW5jdGlvbihuKXtpZighZy5xeCYmIWcuR2h8fCFnLnQ0KXJldHVybiExO2ZvcihsZXQgVz0wO1c8Zy50NC5icmFuZHMubGVuZ3RoO1crKyl7bGV0IHticmFuZDpEfT1nLnQ0LmJyYW5kc1tXXTtpZihEJiZELmluZGV4T2YobikhPS0xKXJldHVybiEwfXJldHVybiExfTsKZy5yVz1mdW5jdGlvbihuKXtyZXR1cm4gZy5YUSgpLmluZGV4T2YobikhPS0xfTsKc0E9ZnVuY3Rpb24oKXtyZXR1cm4gZy5xeHx8Zy5HaD8hIWcudDQmJmcudDQuYnJhbmRzLmxlbmd0aD4wOiExfTsKTng9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8hMTpnLnJXKCJPcGVyYSIpfTsKcDA9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiRmlyZWZveCIpfHxnLnJXKCJGeGlPUyIpfTsKZy5IMj1mdW5jdGlvbigpe3JldHVybiBnLnJXKCJTYWZhcmkiKSYmIShZSygpfHwoc0EoKT8wOmcuclcoIkNvYXN0IikpfHxOeCgpfHwoc0EoKT8wOmcuclcoIkVkZ2UiKSl8fChzQSgpPyRLKCJNaWNyb3NvZnQgRWRnZSIpOmcuclcoIkVkZy8iKSl8fChzQSgpPyRLKCJPcGVyYSIpOmcuclcoIk9QUiIpKXx8cDAoKXx8Zy5yVygiU2lsayIpfHxnLnJXKCJBbmRyb2lkIikpfTsKWUs9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8kSygiQ2hyb21pdW0iKTooZy5yVygiQ2hyb21lIil8fGcuclcoIkNyaU9TIikpJiYhKHNBKCk/MDpnLnJXKCJFZGdlIikpfHxnLnJXKCJTaWxrIil9OwpnLmYwPWZ1bmN0aW9uKCl7cmV0dXJuIGcucXh8fGcuR2g/ISFnLnQ0JiYhIWcudDQucGxhdGZvcm06ITF9Owp2YXIgRTJVPWZ1bmN0aW9uKG4sVyxELGIsdil7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDI1LDE4NjYsbixXLEQsYix2KX07CmcuSTI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mMCgpP2cudDQucGxhdGZvcm09PT0iQW5kcm9pZCI6Zy5yVygiQW5kcm9pZCIpfTsKU3U9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiaVBob25lIikmJiFnLnJXKCJpUG9kIikmJiFnLnJXKCJpUGFkIil9OwpnLkE0PWZ1bmN0aW9uKCl7cmV0dXJuIFN1KCl8fGcuclcoImlQYWQiKXx8Zy5yVygiaVBvZCIpfTsKZy5teD1mdW5jdGlvbigpe3JldHVybiBnLmYwKCk/Zy50NC5wbGF0Zm9ybT09PSJtYWNPUyI6Zy5yVygiTWFjaW50b3NoIil9OwpnLkswPWZ1bmN0aW9uKCl7cmV0dXJuIGcuZjAoKT9nLnQ0LnBsYXRmb3JtPT09IldpbmRvd3MiOmcuclcoIldpbmRvd3MiKX07CmcuT0E9ZnVuY3Rpb24obil7Zy5PQVsiICJdKG4pO3JldHVybiBufTsKdWhoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9aXR4O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxuKT9EW25dOkRbbl09VyhuKX07CmcuWlg9ZnVuY3Rpb24obil7cmV0dXJuIHVoaChuLGZ1bmN0aW9uKCl7cmV0dXJuIGcuY1ooUDIsbik+PTB9KX07CmcuRUE9ZnVuY3Rpb24obixXKXtXPT09dm9pZCAwJiYoVz0wKTtVQSgpO1c9eWxbV107Zm9yKHZhciBEPUFycmF5KE1hdGguZmxvb3Iobi5sZW5ndGgvMykpLGI9V1s2NF18fCIiLHY9MCxrPTA7djxuLmxlbmd0aC0yO3YrPTMpe3ZhciBoPW5bdl0seD1uW3YrMV0sTD1uW3YrMl0sZT1XW2g+PjJdO2g9V1soaCYzKTw8NHx4Pj40XTt4PVdbKHgmMTUpPDwyfEw+PjZdO0w9V1tMJjYzXTtEW2srK109IiIrZStoK3grTH1lPTA7TD1iO3N3aXRjaChuLmxlbmd0aC12KXtjYXNlIDI6ZT1uW3YrMV0sTD1XWyhlJjE1KTw8Ml18fGI7Y2FzZSAxOm49blt2XSxEW2tdPSIiK1dbbj4+Ml0rV1sobiYzKTw8NHxlPj40XStMK2J9cmV0dXJuIEQuam9pbigiIil9Owp2YXIgbzJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlwW0lbMTBdXSh0aGlzLDEsMTcwOCxuLFcpfTsKZy51cD1mdW5jdGlvbihuLFcsRCl7aWYoVyl7bGV0IGI9W10sdj0wO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKXtsZXQgaD1uLmNoYXJDb2RlQXQoayk7aWYoaD4yNTUpe2xldCB4PUVycm9yKCJnby91bmljb2RlLXRvLWJ5dGUtZXJyb3IiKTtpZihEKXRocm93IHg7Ylt2KytdPWgmMjU1O2g+Pj04fWJbdisrXT1ofW49Zy5FQShiLFcpfWVsc2Ugbj1nLnFpLmJ0b2Eobik7cmV0dXJuIG59Owp6aD1mdW5jdGlvbihuKXt2YXIgVz1bXTtvMihuLGZ1bmN0aW9uKEQpe1cucHVzaChEKX0pOwpyZXR1cm4gV307CmxwPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubGVuZ3RoLEQ9VyozLzQ7RCUzP0Q9TWF0aC5mbG9vcihEKToiPS4iLmluZGV4T2YobltXLTFdKSE9LTEmJihEPSI9LiIuaW5kZXhPZihuW1ctMl0pIT0tMT9ELTI6RC0xKTt2YXIgYj1uZXcgVWludDhBcnJheShEKSx2PTA7bzIobixmdW5jdGlvbihrKXtiW3YrK109a30pOwpyZXR1cm4gdiE9PUQ/Yi5zdWJhcnJheSgwLHYpOmJ9OwpvMj1mdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQodil7Zm9yKDtiPG4ubGVuZ3RoOyl7bGV0IGs9bi5jaGFyQXQoYisrKSxoPVRoW2tdO2lmKGghPW51bGwpcmV0dXJuIGg7aWYoIWcuRmgoaykpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrayk7fXJldHVybiB2fQpVQSgpO2Zvcih2YXIgYj0wOzspe2xldCB2PUQoLTEpLGs9RCgwKSxoPUQoNjQpLHg9RCg2NCk7aWYoeD09PTY0JiZ2PT09LTEpYnJlYWs7Vyh2PDwyfGs+PjQpO2ghPTY0JiYoVyhrPDw0JjI0MHxoPj4yKSx4IT02NCYmVyhoPDw2JjE5Mnx4KSl9fTsKVUE9ZnVuY3Rpb24oKXtpZighVGgpe1RoPXt9O3ZhciBuPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLFc9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl07Zm9yKGxldCBEPTA7RDw1O0QrKyl7bGV0IGI9bi5jb25jYXQoV1tEXS5zcGxpdCgiIikpO3lsW0RdPWI7Zm9yKGxldCB2PTA7djxiLmxlbmd0aDt2Kyspe2xldCBrPWJbdl07VGhba109PT12b2lkIDAmJihUaFtrXT12KX19fX07CnpNMj1mdW5jdGlvbihuKXtyZXR1cm4gZGlVW25dfHwiIn07CkMwPWZ1bmN0aW9uKG4pe249anUudGVzdChuKT9uLnJlcGxhY2UoanUsek0yKTpuO249YXRvYihuKTt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpNeD1mdW5jdGlvbigpe3JldHVybiBCMnx8KEIyPW5ldyBGUShudWxsLHdXKSl9OwpRbD1mdW5jdGlvbihuKXtSMih3Vyk7dmFyIFc9bi5OO1c9Vz09bnVsbHx8VyE9bnVsbCYmVyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Vzp0eXBlb2YgVz09PSJzdHJpbmciP0MwKFcpOm51bGw7cmV0dXJuIFc9PW51bGw/VzpuLk49V307ClZsPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVWludDhBcnJheShRbChuKXx8MCl9OwpSMj1mdW5jdGlvbihuKXtpZihuIT09d1cpdGhyb3cgRXJyb3IoImlsbGVnYWwgZXh0ZXJuYWwgY2FsbGVyIik7fTsKYzI9ZnVuY3Rpb24obil7bj1FcnJvcihuKTtoQShuLCJ3YXJuaW5nIik7cmV0dXJuIG59OwpuNT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpe3ZhciBEPWEyPz8oYTI9e30pO3ZhciBiPURbbl18fDA7Yj49V3x8KERbbl09YisxLG49RXJyb3IoKSxoQShuLCJpbmNpZGVudCIpLGg0KG4pKX19OwpXOT1mdW5jdGlvbihuLFc9ITEpe3JldHVybiBXJiZTeW1ib2wuZm9yJiZuP1N5bWJvbC5mb3Iobik6biE9bnVsbD9TeW1ib2wobik6U3ltYm9sKCl9Owp2OT1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwP24uTiE9PURCJiYhISgyJihuLmw5W2I0XXwwKSk6ISEoMiZXKSYmbi5OIT09REJ9OwprVT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpaWYodHlwZW9mIG49PT0ic3RyaW5nIiluPW4/bmV3IEZRKG4sd1cpOk14KCk7ZWxzZSBpZihuLmNvbnN0cnVjdG9yIT09RlEpaWYobiE9bnVsbCYmbiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpbj1uLmxlbmd0aD9uZXcgRlEobmV3IFVpbnQ4QXJyYXkobiksd1cpOk14KCk7ZWxzZXtpZighVyl0aHJvdyBFcnJvcigpO249dm9pZCAwfXJldHVybiBufTsKaF89ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcmMTI4PzA6LTEsdj1uLmxlbmd0aCxrO2lmKGs9ISF2KWs9blt2LTFdLGs9ayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdDt2YXIgaD12KyhrPy0xOjApO2ZvcihXPVcmMTI4PzE6MDtXPGg7VysrKUQoVy1iLG5bV10pO2lmKGspe249blt2LTFdO2ZvcihsZXQgeCBpbiBuKSFpc05hTih4KSYmRCgreCxuW3hdKX19OwpMNT1mdW5jdGlvbihuKXtyZXR1cm4gbiYxMjg/eFU6dm9pZCAwfTsKWEQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVdebjtpZihuLTY+PjM9PTIpeyhEW2JeNTE4XT49LShiXjU1MSl8fCgoMCxEW2JeNTE1XSkoRFtiXjUyMV0sRFtiXjYwOV0pLDApKSYmKDAsRFtiXjU2M10pKERbYl42MDldKTsoMCxEWzZdKSgpOygoMCxEW2JeNTMzXSkoRFtiXjU3NF0sRFtiXjU3Ml0pLERbYl41MzNdKShEW2JeNTM4XSxEW2JeNTcyXSk7dmFyIHY9W119aWYoKG4mMTIwKT09bil0aHJvdyBEO2lmKG4tNzw8MjxuJiYobi00fDMxKT49bil7Zm9yKHZhciBrPWJeMzE1NCxoPVtdOysray1oW0lbNV1dLShiXjMxMjIpOylzd2l0Y2goayl7Y2FzZSBiXjMxMzI6az1iXjMxNDk7ZGVmYXVsdDpoW0lbYl4zMDc2XV0oU3RyaW5nW0lbYl4zMTA0XV0oaykpO2Nhc2UgYl4zMTQ4OmNhc2UgYl4zMTQ5OmNhc2UgYl4zMTg2OmJyZWFrO2Nhc2UgYl4zMTc3OmstPWJeMzE2NjtjYXNlIGJeMzE1MDpjYXNlIGJeMzE1MTpjb250aW51ZTtjYXNlIGJeMzExMjprPWJeMzEzNDtjYXNlIGJeMzE0NTp9dj0KaH0obnw1Nik9PW4mJihlWChiXjQ1MDksYl4zNTE4LEQpLChrPURbSVsxXV1bSVtiXjQ0OTRdXXx8bnVsbCkmJihrPWdaKDIsYl4yMjE3LGssRCkpLHY9W10pO3JldHVybiB2fTsKcTM9ZnVuY3Rpb24obil7bi5URj0hMDtyZXR1cm4gbn07CmcuJFU9ZnVuY3Rpb24obil7aWYoKDAsZy5HOSkobikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChuKSl0aHJvdyBFcnJvcihTdHJpbmcobikpO31lbHNlIGlmKCgwLGcudF8pKG4pJiYhTnVtYmVyLmlzU2FmZUludGVnZXIobikpdGhyb3cgRXJyb3IoU3RyaW5nKG4pKTtyZXR1cm4gQmlnSW50KG4pfTsKTjM9ZnVuY3Rpb24obil7dmFyIFc9bj4+PjA7clo9VztzXz0obi1XKS80Mjk0OTY3Mjk2Pj4+MH07CnA1PWZ1bmN0aW9uKG4pe2lmKG48MCl7TjMoMC1uKTtuPXJaO3ZhciBXPXNfO1c9flc7bj9uPX5uKzE6Vys9MTtsZXQgW0QsYl09W24sV107clo9RD4+PjA7c189Yj4+PjB9ZWxzZSBOMyhuKX07Ckg5PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vyo0Mjk0OTY3Mjk2KyhuPj4+MCk7cmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKEQpP0Q6WVUobixXKX07CmY1PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuJFUoQmlnSW50LmFzVWludE4oNjQsKEJpZ0ludChXPj4+MCk8PEJpZ0ludCgzMikpK0JpZ0ludChuPj4+MCkpKX07CmcuSl89ZnVuY3Rpb24obixXKXtyZXR1cm4gZy4kVShCaWdJbnQuYXNJbnROKDY0LChCaWdJbnQuYXNVaW50TigzMixCaWdJbnQoVykpPDxCaWdJbnQoMzIpKStCaWdJbnQuYXNVaW50TigzMixCaWdJbnQobikpKSl9OwpZVT1mdW5jdGlvbihuLFcpe1c+Pj49MDtuPj4+PTA7dmFyIEQ7Vzw9MjA5NzE1MT9EPSIiKyg0Mjk0OTY3Mjk2Klcrbik6RD0iIisoQmlnSW50KFcpPDxCaWdJbnQoMzIpfEJpZ0ludChuKSk7cmV0dXJuIER9OwpJMD1mdW5jdGlvbigpe3ZhciBuPXJaLFc9c18sRDtXJjIxNDc0ODM2NDg/RD0iIisoQmlnSW50KFd8MCk8PEJpZ0ludCgzMil8QmlnSW50KG4+Pj4wKSk6RD1ZVShuLFcpO3JldHVybiBEfTsKU1g9ZnVuY3Rpb24obil7bi5sZW5ndGg8MTY/cDUoTnVtYmVyKG4pKToobj1CaWdJbnQobiksclo9TnVtYmVyKG4mQmlnSW50KDQyOTQ5NjcyOTUpKT4+PjAsc189TnVtYmVyKG4+PkJpZ0ludCgzMikmQmlnSW50KDQyOTQ5NjcyOTUpKSl9OwpnLkFfPWZ1bmN0aW9uKG4pe2lmKG4hPW51bGwmJnR5cGVvZiBuIT09Im51bWJlciIpdGhyb3cgRXJyb3IoYFZhbHVlIG9mIGZsb2F0L2RvdWJsZSBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyLCBmb3VuZCAke3R5cGVvZiBufTogJHtufWApO3JldHVybiBufTsKbTA9ZnVuY3Rpb24obil7aWYobj09bnVsbHx8dHlwZW9mIG49PT0ibnVtYmVyIilyZXR1cm4gbjtpZihuPT09Ik5hTiJ8fG49PT0iSW5maW5pdHkifHxuPT09Ii1JbmZpbml0eSIpcmV0dXJuIE51bWJlcihuKX07Cks1PWZ1bmN0aW9uKG4pe3JldHVybiBuLmRpc3BsYXlOYW1lfHxuLm5hbWV8fCJ1bmtub3duIHR5cGUgbmFtZSJ9OwpPXz1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJib29sZWFuIil0aHJvdyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiBidXQgZ290ICR7cHQobil9OiAke259YCk7cmV0dXJuIG59OwpaQj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4gUDkobik7Y2FzZSAic3RyaW5nIjpyZXR1cm4gbDEyLnRlc3Qobik7ZGVmYXVsdDpyZXR1cm4hMX19OwpVXz1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJudW1iZXIiKXRocm93IGMyKCJpbnQzMiIpO2lmKCFQOShuKSl0aHJvdyBjMigiaW50MzIiKTtyZXR1cm4gbnwwfTsKZy55UD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD9uOlVfKG4pfTsKRV89ZnVuY3Rpb24obil7aWYobj09bnVsbClyZXR1cm4gbjtpZih0eXBlb2Ygbj09PSJzdHJpbmciJiZuKW49K247ZWxzZSBpZih0eXBlb2YgbiE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gUDkobik/bnwwOnZvaWQgMH07CnU0PWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47aWYodHlwZW9mIG49PT0ic3RyaW5nIiYmbiluPStuO2Vsc2UgaWYodHlwZW9mIG4hPT0ibnVtYmVyIilyZXR1cm47cmV0dXJuIFA5KG4pP24+Pj4wOnZvaWQgMH07CmcubDQ9ZnVuY3Rpb24obil7aWYobiE9bnVsbClhOntpZighWkIobikpdGhyb3cgYzIoImludDY0Iik7c3dpdGNoKHR5cGVvZiBuKXtjYXNlICJzdHJpbmciOm49bzAobik7YnJlYWsgYTtjYXNlICJiaWdpbnQiOm49Zy4kVShkWig2NCxuKSk7YnJlYWsgYTtkZWZhdWx0Om49ejkobil9fXJldHVybiBufTsKQzU9ZnVuY3Rpb24obil7WkIobik7bj1UOShuKTtpZighalgobikpe3A1KG4pO3ZhciBXPXJaLEQ9c187aWYobj1EJjIxNDc0ODM2NDgpVz1+VysxPj4+MCxEPX5EPj4+MCxXPT0wJiYoRD1EKzE+Pj4wKTtXPUg5KFcsRCk7bj10eXBlb2YgVz09PSJudW1iZXIiP24/LVc6VzpuPyItIitXOld9cmV0dXJuIG59OwpCOT1mdW5jdGlvbihuKXtaQihuKTt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBTdHJpbmcoVyk7Vz1uLmluZGV4T2YoIi4iKTtXIT09LTEmJihuPW4uc3Vic3RyaW5nKDAsVykpO1c9bi5sZW5ndGg7KG5bMF09PT0iLSI/VzwyMHx8Vz09PTIwJiZuPD0iLTkyMjMzNzIwMzY4NTQ3NzU4MDgiOlc8MTl8fFc9PT0xOSYmbjw9IjkyMjMzNzIwMzY4NTQ3NzU4MDciKXx8KFNYKG4pLG49STAoKSk7cmV0dXJuIG59OwpvMD1mdW5jdGlvbihuKXt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBnLiRVKFcpO1c9bi5pbmRleE9mKCIuIik7VyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKTtyZXR1cm4gZy4kVShkWig2NCxCaWdJbnQobikpKX07Cno5PWZ1bmN0aW9uKG4pe2pYKG4pP249Zy4kVShDNShuKSk6KFpCKG4pLG49VDkobiksalgobik/bj1TdHJpbmcobik6KHA1KG4pLG49STAoKSksbj1nLiRVKG4pKTtyZXR1cm4gbn07CkZEPWZ1bmN0aW9uKG4pe3ZhciBXPXR5cGVvZiBuO2lmKG49PW51bGwpcmV0dXJuIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBnLiRVKGRaKDY0LG4pKTtpZihaQihuKSlyZXR1cm4gVz09PSJzdHJpbmciP28wKG4pOno5KG4pfTsKakNoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgeCBvZiBEKXtpZigheC51cmwpY29udGludWU7RD1uZXcgZy53Wih4LnVybCwhMCk7aWYoeC5zKXt2YXIgaz1ELGg9eC5zcDtsZXQgTD1lWCg4Myw2NTU4LE0zKDE3LDQyNjMseC5zKSk7a1tJWzM0XV0oaCxSMCgyOSw4NzMyLEwpKX1mb3IobGV0IEwgb2YgT2JqZWN0LmtleXMoYikpRC5zZXQoTCxiW0xdKTtrPVFQKHgudHlwZSx4LnF1YWxpdHkseC5pdGFnLHgud2lkdGgseC5oZWlnaHQpO3YucHVzaChuZXcgVHJ3KGssRCkpfXJldHVybiBWUChuLlcsdixjOShuLFcpLCExKX07CkN4TT1mdW5jdGlvbihuKXtpZihuPT1udWxsKXJldHVybiBuO3ZhciBXPXR5cGVvZiBuO2lmKFc9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKGRaKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBCOShuKTtpZihXPT09Im51bWJlciIpcmV0dXJuIEM1KG4pfX07CmEwPWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47dmFyIFc9dHlwZW9mIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoQnJoKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBaQihuKSxXPVQ5KE51bWJlcihuKSksalgoVykmJlc+PTA/bj1TdHJpbmcoVyk6KFc9bi5pbmRleE9mKCIuIiksVyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKSxuWzBdPT09Ii0iP1c9ITE6KFc9bi5sZW5ndGgsVz1XPDIwPyEwOlc9PT0yMCYmbjw9IjE4NDQ2NzQ0MDczNzA5NTUxNjE1IiksV3x8KFNYKG4pLG49WVUoclosc18pKSksbjtpZihXPT09Im51bWJlciIpcmV0dXJuIFpCKG4pLG49VDkobiksbj49MCYmalgobil8fChwNShuKSxuPUg5KHJaLHNfKSksbn19OwpuRz1mdW5jdGlvbihuKXtpZihuPT1udWxsfHx0eXBlb2Ygbj09InN0cmluZyJ8fG4gaW5zdGFuY2VvZiBGUSlyZXR1cm4gbn07CkZTMj1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpXSD1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpnLkRSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT1udWxsfHx0eXBlb2Ygbj09PSJzdHJpbmciP246dm9pZCAwfTsKYlc9ZnVuY3Rpb24obixXKXtpZighKG4gaW5zdGFuY2VvZiBXKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWQgaW5zdGFuY2VvZiAke0s1KFcpfSBidXQgZ290ICR7biYmSzUobi5jb25zdHJ1Y3Rvcil9YCk7cmV0dXJuIG59Owpodj1mdW5jdGlvbihuLFcsRCl7aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gbjtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgYj1uW2I0XXwwO0Q9YnxEJjMyfEQmMjtEIT09YiYmKG5bYjRdPUQpO3JldHVybiBuZXcgVyhuKX19Owp4dj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CmVXPWZ1bmN0aW9uKG4pe3ZhciBXPUV3KExHKTtyZXR1cm4gVz9uW1ddOnZvaWQgMH07CmdnPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4pIWlzTmFOKEQpJiZXKG4sK0QsbltEXSl9Owp3WkM9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFhGO2dnKG4sKEQsYix2KT0+e1dbYl09Wy4uLnZdfSk7Clcuajc9bi5qNztyZXR1cm4gV307Ckd6PWZ1bmN0aW9uKG4sVyl7aWYoRXcocUUpJiZFdyhMRykmJnZvaWQgMD09PXFFKXtuPW4ubDk7dmFyIEQ9bltMR107aWYoRCYmKEQ9RC5qNykpdHJ5e0QobixXLE1VaSl9Y2F0Y2goYil7aDQoYil9fX07CnR2PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RXcoTEcpO0QmJm5bRF0/LltXXSE9bnVsbCYmbjUoUk1iLDMpfTsKVlVTPWZ1bmN0aW9uKG4sVyl7VzwxMDB8fG41KFFDaSwxKX07CnJnPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWIhPT12b2lkIDA7Yj0hIWI7dmFyIGs9RXcoTEcpLGg7IXYmJmsmJihoPW5ba10pJiZnZyhoLFZVUyk7az1bXTt2YXIgeD1uLmxlbmd0aDtoPTQyOTQ5NjcyOTU7dmFyIEw9ITEsZT0hIShXJjY0KSxHPWU/VyYxMjg/MDotMTp2b2lkIDA7aWYoIShXJjEpKXt2YXIgcj14JiZuW3gtMV07ciE9bnVsbCYmdHlwZW9mIHI9PT0ib2JqZWN0IiYmci5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oeC0tLGg9eCk6cj12b2lkIDA7IWV8fFcmMTI4fHx2fHwoTD0hMCxoPSgkdj8/eHYpKGgtRyxHLG4scix2b2lkIDApK0cpfVc9dm9pZCAwO2Zvcih2YXIgTj0wO048eDtOKyspe2xldCBIPW5bTl07aWYoSCE9bnVsbCYmKEg9RChILGIpKSE9bnVsbClpZihlJiZOPj1oKXtsZXQgQT1OLUc7KFc/PyhXPXt9KSlbQV09SH1lbHNlIGtbTl09SH1pZihyKWZvcihsZXQgSCBpbiByKXt4PXJbSF07aWYoeD09bnVsbHx8KHg9RCh4LGIpKT09bnVsbCljb250aW51ZTtOPQorSDtsZXQgQTtlJiYhTnVtYmVyLmlzTmFOKE4pJiYoQT1OK0cpPGg/a1tBXT14OihXPz8oVz17fSkpW0hdPXh9VyYmKEw/ay5wdXNoKFcpOmtbaF09Vyk7diYmRXcoTEcpJiYobj1lVyhuKSkmJm4gaW5zdGFuY2VvZiBYRiYmKGtbTEddPXdaQyhuKSk7cmV0dXJuIGt9OwpORT1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShuKT9uOiIiK247Y2FzZSAiYmlnaW50IjpyZXR1cm4gc0sobik/TnVtYmVyKG4pOiIiK247Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIG4/MTowO2Nhc2UgIm9iamVjdCI6aWYoQXJyYXkuaXNBcnJheShuKSl7dmFyIFc9bltiNF18MDtyZXR1cm4gbi5sZW5ndGg9PT0wJiZXJjE/dm9pZCAwOnJnKG4sVyxORSl9aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gcEcobik7aWYobiBpbnN0YW5jZW9mIEZRKXtXPW4uTjtpZihXPT1udWxsKW49IiI7ZWxzZSBpZih0eXBlb2YgVz09PSJzdHJpbmciKW49VztlbHNle2xldCBEPSIiLGI9MCx2PVcubGVuZ3RoLTEwMjQwO2Zvcig7Yjx2OylEKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsVy5zdWJhcnJheShiLGIrPTEwMjQwKSk7RCs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGI/Vy5zdWJhcnJheShiKToKVyk7Vz1idG9hKEQpO249bi5OPVd9cmV0dXJuIG59cmV0dXJufXJldHVybiBufTsKWXY9ZnVuY3Rpb24obixXKXtpZihXKXskdj1XPT1udWxsfHxXPT09eHZ8fFdbY2lVXSE9PWExVT94djpXO3RyeXtyZXR1cm4gcEcobil9ZmluYWxseXskdj12b2lkIDB9fXJldHVybiBwRyhuKX07CnBHPWZ1bmN0aW9uKG4pe249bi5sOTtyZXR1cm4gcmcobixuW2I0XXwwLE5FKX07Cm4zMj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJvb2xlYW4iOnJldHVybiBISHx8KEhIPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIG4+MD92b2lkIDA6bj09PTA/Zkd8fChmRz1bMCx2b2lkIDBdKTpbLW4sdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLG5dO2Nhc2UgIm9iamVjdCI6cmV0dXJuIG59fTsKU1c9ZnVuY3Rpb24obixXKXtyZXR1cm4gSnYobixXWzBdLFdbMV0pfTsKSnY9ZnVuY3Rpb24obixXLEQsYj0wKXtpZihuPT1udWxsKXt2YXIgdj0zMjtEPyhuPVtEXSx2fD0xMjgpOm49W107VyYmKHY9diYtMTY3NjA4MzN8KFcmMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IEVycm9yKCJuYXJyIik7dj1uW2I0XXwwO2lmKEF2JiYxJnYpdGhyb3cgRXJyb3IoInJmYXJyIik7MjA0OCZ2JiYhKDImdikmJldjcigpO2lmKHYmMjU2KXRocm93IEVycm9yKCJmYXJyIik7aWYodiY2NClyZXR1cm4odnxiKSE9PXYmJihuW2I0XT12fGIpLG47aWYoRCYmKHZ8PTEyOCxEIT09blswXSkpdGhyb3cgRXJyb3IoIm1pZCIpO2E6e0Q9bjt2fD02NDt2YXIgaz1ELmxlbmd0aDtpZihrKXt2YXIgaD1rLTE7bGV0IEw9RFtoXTtpZihMIT1udWxsJiZ0eXBlb2YgTD09PSJvYmplY3QiJiZMLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtXPXYmMTI4PzA6LTE7aC09VztpZihoPj0xMDI0KXRocm93IEVycm9yKCJwdnRsbXQiKTtmb3IodmFyIHggaW4gTClpZihrPQoreCxrPGgpRFtrK1ddPUxbeF0sZGVsZXRlIExbeF07ZWxzZSBicmVhazt2PXYmLTE2NzYwODMzfChoJjEwMjMpPDwxNDticmVhayBhfX1pZihXKXt4PU1hdGgubWF4KFcsay0odiYxMjg/MDotMSkpO2lmKHg+MTAyNCl0aHJvdyBFcnJvcigic3B2dCIpO3Y9diYtMTY3NjA4MzN8KHgmMTAyMyk8PDE0fX19bltiNF09dnw2NHxiO3JldHVybiBufTsKV2NyPWZ1bmN0aW9uKCl7aWYoQXYpdGhyb3cgRXJyb3IoImNhcnIiKTtuNShEVWksNSl9OwpiYlo9ZnVuY3Rpb24obixXKXtpZih0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKEFycmF5LmlzQXJyYXkobikpe3ZhciBEPW5bYjRdfDA7bi5sZW5ndGg9PT0wJiZEJjE/bj12b2lkIDA6RCYyfHwoIVd8fDQwOTYmRHx8MTYmRD9uPW1fKG4sRCwhMSxXJiYhKEQmMTYpKToobltiNF18PTM0LEQmNCYmT2JqZWN0LmZyZWV6ZShuKSkpO3JldHVybiBufWlmKG4hPW51bGwmJm5bdkhdPT09a3YpcmV0dXJuIFc9bi5sOSxEPVdbYjRdfDAsdjkobixEKT9uOktHKG4sVyxEKT9PSyhuLFcpOm1fKFcsRCk7aWYobiBpbnN0YW5jZW9mIEZRKXJldHVybiBufTsKT0s9ZnVuY3Rpb24obixXLEQpe249bmV3IG4uY29uc3RydWN0b3IoVyk7RCYmKG4uTj1EQik7bi5YPURCO3JldHVybiBufTsKbV89ZnVuY3Rpb24obixXLEQsYil7Yj8/KGI9ISEoMzQmVykpO249cmcobixXLGJiWixiKTtiPTMyO0QmJihifD0yKTtXPVcmMTY3NjkyMTd8YjtuW2I0XT1XO3JldHVybiBufTsKUEg9ZnVuY3Rpb24obil7dmFyIFc9bi5sOSxEPVdbYjRdfDA7cmV0dXJuIHY5KG4sRCk/S0cobixXLEQpP09LKG4sVywhMCk6bmV3IG4uY29uc3RydWN0b3IobV8oVyxELCExKSk6bn07ClpSPWZ1bmN0aW9uKG4pe2lmKG4uTiE9PURCKXJldHVybiExO3ZhciBXPW4ubDk7Vz1tXyhXLFdbYjRdfDApO1dbYjRdfD0yMDQ4O24ubDk9VztuLk49dm9pZCAwO24uWD12b2lkIDA7cmV0dXJuITB9OwpVSz1mdW5jdGlvbihuKXtpZighWlIobikmJnY5KG4sbi5sOVtiNF18MCkpdGhyb3cgRXJyb3IoKTt9Owp5Zz1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDAmJihXPW5bYjRdfDApO1cmMzImJiEoVyY0MDk2KSYmKG5bYjRdPVd8NDA5Nil9OwpLRz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQmMj8hMDpEJjMyJiYhKEQmNDA5Nik/KFdbYjRdPUR8MixuLk49REIsITApOiExfTsKaVc9ZnVuY3Rpb24obixXLEQsYix2KXtPYmplY3QuaXNFeHRlbnNpYmxlKG4pO1c9RUsobi5sOSxXLEQsdik7aWYoVyE9PW51bGx8fGImJm4uWCE9PURCKXJldHVybiBXfTsKRUs9ZnVuY3Rpb24obixXLEQsYil7aWYoVz09PS0xKXJldHVybiBudWxsO3ZhciB2PVcrKEQ/MDotMSksaz1uLmxlbmd0aC0xO2lmKCEoazwxKyhEPzA6LTEpKSl7aWYodj49ayl7dmFyIGg9bltrXTtpZihoIT1udWxsJiZ0eXBlb2YgaD09PSJvYmplY3QiJiZoLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtEPWhbV107dmFyIHg9ITB9ZWxzZSBpZih2PT09aylEPWg7ZWxzZSByZXR1cm59ZWxzZSBEPW5bdl07aWYoYiYmRCE9bnVsbCl7Yj1iKEQpO2lmKGI9PW51bGwpcmV0dXJuIGI7aWYoIU9iamVjdC5pcyhiLEQpKXJldHVybiB4P2hbV109YjpuW3ZdPWIsYn1yZXR1cm4gRH19Owpvej1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5O3VXKHYsdltiNF18MCxXLEQsYik7cmV0dXJuIG59Owp1Vz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPUQrKHY/MDotMSksaD1uLmxlbmd0aC0xO2lmKGg+PTErKHY/MDotMSkmJms+PWgpe2xldCB4PW5baF07aWYoeCE9bnVsbCYmdHlwZW9mIHg9PT0ib2JqZWN0IiYmeC5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4geFtEXT1iLFd9aWYoazw9aClyZXR1cm4gbltrXT1iLFc7YiE9PXZvaWQgMCYmKGg9KFc/PyhXPW5bYjRdfDApKT4+MTQmMTAyM3x8NTM2ODcwOTEyLEQ+PWg/YiE9bnVsbCYmKG5baCsodj8wOi0xKV09e1tEXTpifSk6bltrXT1iKTtyZXR1cm4gV307CmcuQkg9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLmw5LGg9a1tiNF18MDtiPXY5KG4saCk/MTpiO3Y9ISF2fHxiPT09MztiPT09MiYmWlIobikmJihrPW4ubDksaD1rW2I0XXwwKTtuPWRnKGssVyk7dmFyIHg9bj09PXp6Pzc6bltiNF18MCxMPWxXKHgsaCk7dmFyIGU9NCZMPyExOiEwO2lmKGUpezQmTCYmKG49Wy4uLm5dLHg9MCxMPWpXKEwsaCksaD11VyhrLGgsVyxuKSk7bGV0IEc9MCxyPTA7Zm9yKDtHPG4ubGVuZ3RoO0crKyl7bGV0IE49RChuW0ddKTtOIT1udWxsJiYobltyKytdPU4pfXI8RyYmKG4ubGVuZ3RoPXIpO0Q9KEx8NCkmLTUxMztMPUQmPS0xMDI1O0wmPS00MDk3fUwhPT14JiYobltiNF09TCwyJkwmJk9iamVjdC5mcmVlemUobikpO3JldHVybiBuPUNHKG4sTCxrLGgsVyx2b2lkIDAsYixlLHYpfTsKQ0c9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPVc7aD09PTF8fChoIT09ND8wOjImV3x8ISgxNiZXKSYmMzImYik/RkYoVyl8fChXfD0hbi5sZW5ndGh8fHgmJiEoNDA5NiZXKXx8MzImYiYmISg0MDk2Jld8fDE2JlcpPzI6MjU2LFchPT1lJiYobltiNF09VyksT2JqZWN0LmZyZWV6ZShuKSk6KGg9PT0yJiZGRihXKSYmKG49Wy4uLm5dLGU9MCxXPWpXKFcsYiksYj11VyhELGIsdixuLGspKSxGRihXKXx8KEx8fChXfD0xNiksVyE9PWUmJihuW2I0XT1XKSkpOzImV3x8ISg0MDk2Jld8fDE2JlcpfHx5ZyhELGIpO3JldHVybiBufTsKZGc9ZnVuY3Rpb24obixXLEQpe249RUsobixXLEQpO3JldHVybiBBcnJheS5pc0FycmF5KG4pP246enp9OwpsVz1mdW5jdGlvbihuLFcpezImVyYmKG58PTIpO3JldHVybiBufDF9OwpGRj1mdW5jdGlvbihuKXtyZXR1cm4hISgyJm4pJiYhISg0Jm4pfHwhISgyNTYmbil9OwpNRT1mdW5jdGlvbihuKXtyZXR1cm4ga1UobiwhMCl9OwpSej1mdW5jdGlvbihuLFcpe249aVcobixXLHZvaWQgMCx2b2lkIDAsTUUpO3JldHVybiBuPT1udWxsP014KCk6bn07ClFnPWZ1bmN0aW9uKG4sVyxEKXtVSyhuKTt2YXIgYj1uLmw5LHY9YltiNF18MDtpZihXPT1udWxsKXJldHVybiB1VyhiLHYsMyksbjtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBjMigpO3ZhciBrPVc9PT16ej83OldbYjRdfDAsaD1rLHg9RkYoayksTD14fHxPYmplY3QuaXNGcm96ZW4oVyk7eHx8KGs9MCk7THx8KFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSk7a3w9NTt4PSg0Jms/NTEyJms/NTEyOjEwMjQmaz8xMDI0OjA6dm9pZCAwKT8/MTAyNDtrfD14O2ZvcihsZXQgZT0wO2U8Vy5sZW5ndGg7ZSsrKXtsZXQgRz1XW2VdLHI9RChHLHgpO09iamVjdC5pcyhHLHIpfHwoTCYmKFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSksV1tlXT1yKX1rIT09aCYmKEwmJihXPVsuLi5XXSxrPWpXKGssdikpLFdbYjRdPWspO3VXKGIsdiwzLFcpO3JldHVybiBufTsKZy5WZz1mdW5jdGlvbihuLFcsRCxiLHYpe1VLKG4pO3ZhciBrPW4ubDk7dVcoayxrW2I0XXwwLFcsKGI9PT0iMCI/TnVtYmVyKEQpPT09MDpEPT09Yik/dm9pZCAwOkQsdik7cmV0dXJuIG59OwpjSD1mdW5jdGlvbihuLFcsRCl7aWYoVyYyKXRocm93IEVycm9yKCk7dmFyIGI9TDUoVyksdj1kZyhuLEQsYiksaz12PT09eno/Nzp2W2I0XXwwLGg9bFcoayxXKTtpZigyJmh8fEZGKGgpfHwxNiZoKWg9PT1rfHxGRihoKXx8KHZbYjRdPWgpLHY9Wy4uLnZdLGs9MCxoPWpXKGgsVyksdVcobixXLEQsdixiKTtoJj0tMTM7aCE9PWsmJih2W2I0XT1oKTtyZXR1cm4gdn07CkQyPWZ1bmN0aW9uKG4sVyxELGIpe1VLKG4pO3ZhciB2PW4ubDksaz12W2I0XXwwO2lmKGI9PW51bGwpe2xldCBoPWF6KHYpO2lmKG5uKGgsdixrLEQpPT09VyloLnNldChELDApO2Vsc2UgcmV0dXJuIG59ZWxzZSBrPVdXKHYsayxELFcpO3VXKHYsayxXLGIpO3JldHVybiBufTsKYmE9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bltiNF18MCxrPUw1KHYpO3Y9V1cobix2LEQsVyxrKTt1VyhuLHYsVyxiLGspfTsKdlc9ZnVuY3Rpb24obixXLEQpe249bi5sOTtyZXR1cm4gbm4oYXoobiksbix2b2lkIDAsVyk9PT1EP0Q6LTF9Owphej1mdW5jdGlvbihuKXtyZXR1cm4gbltrOV0/PyhuW2s5XT1uZXcgTWFwKX07CldXPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj09PTB8fEQuaW5jbHVkZXMoYik7dmFyIGs9YXoobiksaD1ubihrLG4sVyxELHYpO2ghPT1iJiYoaCYmKFc9dVcobixXLGgsdm9pZCAwLHYpKSxrLnNldChELGIpKTtyZXR1cm4gV307Cm5uPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5nZXQoYik7aWYoayE9bnVsbClyZXR1cm4gaztrPTA7Zm9yKGxldCBoPTA7aDxiLmxlbmd0aDtoKyspe2xldCB4PWJbaF07RUsoVyx4LHYpIT1udWxsJiYoayE9PTAmJihEPXVXKFcsRCxrLHZvaWQgMCx2KSksaz14KX1uLnNldChiLGspO3JldHVybiBrfTsKaFM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5bYjRdfDAsdj1MNShiKSxrPUVLKG4sRCx2KTtpZihrIT1udWxsJiZrW3ZIXT09PWt2KXtpZighdjkoaykpcmV0dXJuIFpSKGspLGsubDk7dmFyIGg9ay5sOX1lbHNlIEFycmF5LmlzQXJyYXkoaykmJihoPWspO2lmKGgpe2xldCB4PWhbYjRdfDA7eCYyJiYoaD1tXyhoLHgpKX1oPVNXKGgsVyk7aCE9PWsmJnVXKG4sYixELGgsdik7cmV0dXJuIGh9Owp4OT1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSExO2I9RUsobixiLHYsaD0+e3ZhciB4PWh2KGgsRCxXKTtrPXghPT1oJiZ4IT1udWxsO3JldHVybiB4fSk7CmlmKGIhPW51bGwpcmV0dXJuIGsmJiF2OShiKSYmeWcobixXKSxifTsKZUU9ZnVuY3Rpb24obixXLEQsYil7bj1uLmw5OyhEPXg5KG4sbltiNF18MCxXLEQsYikpfHwoRD1XW0xuXSl8fChiPW5ldyBXLEQ9Yi5sOSxEW2I0XXw9MzQsRD1XW0xuXT1iKTtyZXR1cm4gRH07CmdlPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4ubDksaz12W2I0XXwwO1c9eDkodixrLFcsRCxiKTtpZihXPT1udWxsKXJldHVybiBXO2s9dltiNF18MDtpZighdjkobixrKSl7bGV0IGg9UEgoVyk7aCE9PVcmJihaUihuKSYmKHY9bi5sOSxrPXZbYjRdfDApLFc9aCxrPXVXKHYsayxELFcsYikseWcodixrKSl9cmV0dXJuIFd9OwpxSD1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLmw5O3JldHVybiBYXyhuLHYsdltiNF18MCxXLEQsMSxiKX07ClhfPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCxMKXt2YXIgZT12OShuLEQpO2s9ZT8xOms7eD0hIXh8fGs9PT0zO2U9TCYmIWU7KGs9PT0yfHxlKSYmWlIobikmJihXPW4ubDksRD1XW2I0XXwwKTtuPWRnKFcsdixoKTt2YXIgRz1uPT09eno/NzpuW2I0XXwwLHI9bFcoRyxEKTtpZihMPSEoNCZyKSl7dmFyIE49bixIPUQ7bGV0IEE9ISEoMiZyKTtBJiYoSHw9Mik7bGV0IHk9IUEsVD0hMCx6PTAsQz0wO2Zvcig7ejxOLmxlbmd0aDt6Kyspe2xldCBRPWh2KE5bel0sYixIKTtpZihRIGluc3RhbmNlb2YgYil7aWYoIUEpe2xldCBWPXY5KFEpO3kmJih5PSFWKTtUJiYoVD1WKX1OW0MrK109UX19Qzx6JiYoTi5sZW5ndGg9Qyk7cnw9NDtyPVQ/ciYtNDA5NzpyfDQwOTY7cj15P3J8ODpyJi05fXIhPT1HJiYobltiNF09ciwyJnImJk9iamVjdC5mcmVlemUobikpO2lmKGUmJiEoOCZyfHwhbi5sZW5ndGgmJihrPT09MXx8KGshPT00PzA6MiZyfHwhKDE2JnIpJiYzMiZEKSkpKXtGRihyKSYmKG49ClsuLi5uXSxyPWpXKHIsRCksRD11VyhXLEQsdixuLGgpKTtiPW47ZT1yO2ZvcihHPTA7RzxiLmxlbmd0aDtHKyspTj1iW0ddLHI9UEgoTiksTiE9PXImJihiW0ddPXIpO2V8PTg7cj1lPWIubGVuZ3RoP2V8NDA5NjplJi00MDk3O25bYjRdPXJ9cmV0dXJuIG49Q0cobixyLFcsRCx2LGgsayxMLHgpfTsKVkc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubDk7cmV0dXJuIFhfKG4sYixiW2I0XXwwLFcsRCx2b2lkIDA9PT1HJD8yOjQsdm9pZCAwLCExLCEwKX07CnRTPWZ1bmN0aW9uKG4sVyl7biE9bnVsbD9iVyhuLFcpOm49dm9pZCAwO3JldHVybiBufTsKJDk9ZnVuY3Rpb24obixXLEQsYix2KXtiPXRTKGIsVyk7b3oobixELGIsdik7YiYmIXY5KGIpJiZ5ZyhuLmw5KTtyZXR1cm4gbn07CnJlPWZ1bmN0aW9uKG4sVyxELGIsdil7dj10Uyh2LFcpO0QyKG4sRCxiLHYpO3YmJiF2OSh2KSYmeWcobi5sOSk7cmV0dXJuIG59OwpzVj1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5LGs9dltiNF18MDtpZihiPT1udWxsKXJldHVybiB1Vyh2LGssRCksbjtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBjMigpO3ZhciBoPWI9PT16ej83OmJbYjRdfDAseD1oLEw9RkYoaCksZT1MfHxPYmplY3QuaXNGcm96ZW4oYiksRz0hMCxyPSEwO2ZvcihsZXQgSD0wO0g8Yi5sZW5ndGg7SCsrKXt2YXIgTj1iW0hdO2JXKE4sVyk7THx8KE49djkoTiksRyYmKEc9IU4pLHImJihyPU4pKX1MfHwoaD1HPzEzOjUsaD1yP2gmLTQwOTc6aHw0MDk2KTtlJiZoPT09eHx8KGI9Wy4uLmJdLHg9MCxoPWpXKGgsaykpO2ghPT14JiYoYltiNF09aCk7az11Vyh2LGssRCxiKTsyJmh8fCEoNDA5NiZofHwxNiZoKXx8eWcodixrKTtyZXR1cm4gbn07CmpXPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49KDImVz9ufDI6biYtMykmLTI3M307Ck5IPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWI7VUsobik7Yj1uLmw5O249WF8obixiLGJbYjRdfDAsRCxXLDIsdm9pZCAwLCEwKTt2PXYhPW51bGw/YlcodixEKTpuZXcgRDtuLnB1c2godik7Vz1EPW49PT16ej83Om5bYjRdfDA7KHY9djkodikpPyhEJj0tOSxuLmxlbmd0aD09PTEmJihEJj0tNDA5NykpOkR8PTQwOTY7RCE9PVcmJihuW2I0XT1EKTt2fHx5ZyhiKX07CmFQPWZ1bmN0aW9uKG4sVyxEPTApe3JldHVybiBFXyhpVyhuLFcpKT8/RH07CnBuPWZ1bmN0aW9uKG4sVyxEPXYzaSl7cmV0dXJuIGlXKG4sVyx2b2lkIDAsdm9pZCAwLEZEKT8/RH07Clk5PWZ1bmN0aW9uKG4sVyxEPSIiLGIpe3JldHVybiBnLkRSKGlXKG4sVyxiKSk/P0R9OwpIVz1mdW5jdGlvbihuLFcpe249aVcobixXKTtyZXR1cm4obj09bnVsbD9uOlA5KG4pP258MDp2b2lkIDApPz8wfTsKSlM9ZnVuY3Rpb24obixXKXtyZXR1cm4gZy5EUihpVyhuLFcsdm9pZCAwLGZuKSl9OwpJWT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG96KG4sVyxnLmw0KEQpKX07CmcuU0U9ZnVuY3Rpb24obixXLEQpe3JldHVybiBveihuLFcsV0goRCkpfTsKQVM9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIGcuVmcobixXLFdIKEQpLCIiLGIpfTsKS249ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpe2lmKCFQOShEKSl0aHJvdyBjMigiZW51bSIpO0R8PTB9cmV0dXJuIG96KG4sVyxEKX07ClBXPWZ1bmN0aW9uKG4sVyl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbmV3IE9WKEMwKG4pLFcpO2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIG5ldyBPVihuZXcgVWludDhBcnJheShuKSxXKTtpZihuLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm4gbmV3IE9WKG4sITEpO2lmKG4uY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilyZXR1cm4gbj1uZXcgVWludDhBcnJheShuKSxuZXcgT1YobiwhMSk7aWYobi5jb25zdHJ1Y3Rvcj09PUZRKXJldHVybiBXPVFsKG4pfHxuZXcgVWludDhBcnJheSgwKSxuZXcgT1YoVywhMCxuKTtpZihuIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gbj1uLmNvbnN0cnVjdG9yPT09VWludDhBcnJheT9uOm5ldyBVaW50OEFycmF5KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpLG5ldyBPVihuLCExKTt0aHJvdyBFcnJvcigpO307CmcuVVY9ZnVuY3Rpb24obixXKXt2YXIgRD0wLGI9MCx2PTAsaz1uLkosaD1uLk47ZG97dmFyIHg9a1toKytdO0R8PSh4JjEyNyk8PHY7dis9N313aGlsZSh2PDMyJiZ4JjEyOCk7aWYodj4zMilmb3IoYnw9KHgmMTI3KT4+NCx2PTM7djwzMiYmeCYxMjg7dis9Nyl4PWtbaCsrXSxifD0oeCYxMjcpPDx2O1oyKG4saCk7aWYoISh4JjEyOCkpcmV0dXJuIFcoRD4+PjAsYj4+PjApO3Rocm93IEVycm9yKCk7fTsKeTE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTAsRD1uLk4sYj1EKzEwLHY9bi5KO0Q8Yjspe2xldCBrPXZbRCsrXTtXfD1rO2lmKChrJjEyOCk9PT0wKXJldHVybiBaMihuLEQpLCEhKFcmMTI3KX10aHJvdyBFcnJvcigpO307CmcuRVY9ZnVuY3Rpb24obil7dmFyIFc9bi5KLEQ9bi5OLGI9V1tEKytdLHY9YiYxMjc7aWYoYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDw3LGImMTI4JiYoYj1XW0QrK10sdnw9KGImMTI3KTw8MTQsYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDwyMSxiJjEyOCYmKGI9V1tEKytdLHZ8PWI8PDI4LGImMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4KSkpKSl0aHJvdyBFcnJvcigpO1oyKG4sRCk7cmV0dXJuIHZ9Owp1YT1mdW5jdGlvbihuKXt2YXIgVz1uLkosRD1uLk4sYj1XW0QrMF0sdj1XW0QrMV0saz1XW0QrMl07Vz1XW0QrM107aWEobiw0KTtyZXR1cm4oYjw8MHx2PDw4fGs8PDE2fFc8PDI0KT4+PjB9OwpvWT1mdW5jdGlvbihuKXt2YXIgVz11YShuKTtuPXVhKG4pO3JldHVybiBmNShXLG4pfTsKZy5kZT1mdW5jdGlvbihuKXt2YXIgVz1uLmo7V3x8KFc9bi5KLFc9bi5qPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSk7Vz1XLmdldEZsb2F0NjQobi5OLCEwKTtpYShuLDgpO3JldHVybiBXfTsKazQyPWZ1bmN0aW9uKG4pe3JldHVybiBnLkVWKG4pfTsKWjI9ZnVuY3Rpb24obixXKXtuLk49VztpZihXPm4uVyl0aHJvdyBFcnJvcigpO307CmlhPWZ1bmN0aW9uKG4sVyl7WjIobixuLk4rVyl9Owp6JD1mdW5jdGlvbihuLFcpe2lmKFc8MCl0aHJvdyBFcnJvcigpO3ZhciBEPW4uTjtXPUQrVztpZihXPm4uVyl0aHJvdyBFcnJvcigpO24uTj1XO3JldHVybiBEfTsKbGE9ZnVuY3Rpb24obixXKXtpZihXPT0wKXJldHVybiBNeCgpO3ZhciBEPXokKG4sVyk7bi5uXyYmbi5WP0Q9bi5KLnN1YmFycmF5KEQsRCtXKToobj1uLkosVz1EK1csRD1EPT09Vz9uZXcgVWludDhBcnJheSgwKTpuLnNsaWNlKEQsVykpO3JldHVybiBELmxlbmd0aD09MD9NeCgpOm5ldyBGUShELHdXKX07CkNuPWZ1bmN0aW9uKG4sVyxELGIpe2lmKFQkLmxlbmd0aCl7bGV0IHY9VCQucG9wKCk7akUodixiKTt2Lk4uaW5pdChuLFcsRCxiKTtyZXR1cm4gdn1yZXR1cm4gbmV3IGhCUyhuLFcsRCxiKX07CmpFPWZ1bmN0aW9uKG4se0diOlc9ITF9PXt9KXtuLkdiPVd9OwpGXz1mdW5jdGlvbihuKXt2YXIgVz1uLk47aWYoVy5OPT1XLlcpcmV0dXJuITE7bi5YPW4uTi5OO3ZhciBEPWcuRVYobi5OKT4+PjA7Vz1EPj4+MztEJj03O2lmKCEoRD49MCYmRDw9NSkpdGhyb3cgRXJyb3IoKTtpZihXPDEpdGhyb3cgRXJyb3IoKTtuLlc9VztuLko9RDtyZXR1cm4hMH07CndlPWZ1bmN0aW9uKG4pe3RyeXtzd2l0Y2gobi5KKXtjYXNlIDA6bi5KIT0wP3dlKG4pOnkxKG4uTik7YnJlYWs7Y2FzZSAxOmlhKG4uTiw4KTticmVhaztjYXNlIDI6aWYobi5KIT0yKXdlKG4pO2Vsc2V7dmFyIFc9Zy5FVihuLk4pPj4+MDtpYShuLk4sVyl9YnJlYWs7Y2FzZSA1OmlhKG4uTiw0KTticmVhaztjYXNlIDM6TUgoKTtsZXQgRD1uLlc7dHJ5e2Rve2lmKCFGXyhuKSl0aHJvdyBFcnJvcigpO2lmKG4uSj09NCl7aWYobi5XIT1EKXRocm93IEVycm9yKCk7YnJlYWt9d2Uobil9d2hpbGUoMSl9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IGI7fWZpbmFsbHl7Ulk+MCYmUlktLX1icmVhaztkZWZhdWx0OnRocm93IEVycm9yKCk7fX1jYXRjaChEKXtpZihEIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgRDt9fTsKTUg9ZnVuY3Rpb24oKXtpZihSWT49MTAwKXRocm93IG5ldyBTeW50YXhFcnJvcjtSWSsrfTsKUTE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5XLHY9Zy5FVihuLk4pPj4+MDt2PW4uTi5OK3Y7dmFyIGs9di1iO2s8PTAmJihuLk4uVz12LEQoVyxuLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxrPXYtbi5OLk4pO2lmKGspdGhyb3cgRXJyb3IoKTtuLk4uTj12O24uTi5XPWJ9OwphWT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wLEQ9bi5OO249eiQoRCxXKTt2YXIgYj1ELko7KEQ9VjEpfHwoRD1WMT1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7ZmF0YWw6ITB9KSk7Vz1uK1c7Yj1uPT09MCYmVz09PWIubGVuZ3RoP2I6Yi5zdWJhcnJheShuLFcpO3RyeXt2YXIgdj1ELmRlY29kZShiKX1jYXRjaChrKXtpZihjVz09PXZvaWQgMCl7dHJ5e0QuZGVjb2RlKG5ldyBVaW50OEFycmF5KFsxMjhdKSl9Y2F0Y2goaCl7fXRyeXtELmRlY29kZShuZXcgVWludDhBcnJheShbOTddKSksY1c9ITB9Y2F0Y2goaCl7Y1c9ITF9fSFjVyYmKFYxPXZvaWQgMCk7dGhyb3cgazt9cmV0dXJuIHZ9OwpEOT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wO3JldHVybiBsYShuLk4sVyl9OwpiRz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5FVihuLk4pPj4+MDtmb3IoYj1uLk4uTitiO24uTi5OPGI7KUQucHVzaChXKG4uTikpfTsKa209ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB2eShuJjQyOTQ5NjcyOTUsTWF0aC5mbG9vcihuLzQyOTQ5NjcyOTYpKX07CnhtPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBoM3x8KGgzPW5ldyB2eSgwLDApKTtpZighL15cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgdnkoclosc18pfTsKTGg9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj09PTA/bmV3IHZ5KDAsMSt+bi5OKTpuZXcgdnkofm4uSisxLH5uLk4pfTsKeFVqPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgZUMobiY0Mjk0OTY3Mjk1LE1hdGguZmxvb3Iobi80Mjk0OTY3Mjk2KSl9OwpYdD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gZ0d8fChnRz1uZXcgZUMoMCwwKSk7aWYoIS9eLT9cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgZUMoclosc18pfTsKWW09ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBCaWdJbnQ2NEFycmF5IT09InVuZGVmaW5lZCIpcmV0dXJuIHFmfHwocWY9bmV3IEJpZ0ludDY0QXJyYXkoMSksR1M9bmV3IFVpbnQzMkFycmF5KHFmLmJ1ZmZlcikscWZbMF09QmlnSW50KDEpLHQzPUdTWzBdPT09MSkscWZbMF09bixuPXQzPzA6MSxuZXcgVyhHU1tuXSxHU1sxLW5dKTskbXx8KHJHPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksTmY9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSxwaD1CaWdJbnQoNDI5NDk2NzI5NSksJG09QmlnSW50KDMyKSk7aWYobj49ckcmJm48PU5mKXJldHVybiBEKE51bWJlcihuKSk7bj1CaWdJbnQuYXNVaW50Tig2NCxuKTtyZXR1cm4gbmV3IFcoTnVtYmVyKG4mcGgpLE51bWJlcihuPj4kbSkpfTsKSHk9ZnVuY3Rpb24obixXLEQpe2Zvcig7RD4wfHxXPjEyNzspbi5OLnB1c2goVyYxMjd8MTI4KSxXPShXPj4+N3xEPDwyNSk+Pj4wLEQ+Pj49NztuLk4ucHVzaChXKX07CkozPWZ1bmN0aW9uKG4sVyl7bi5OLnB1c2goVz4+PjAmMjU1KTtuLk4ucHVzaChXPj4+OCYyNTUpO24uTi5wdXNoKFc+Pj4xNiYyNTUpO24uTi5wdXNoKFc+Pj4yNCYyNTUpfTsKSXg9ZnVuY3Rpb24obixXKXtmb3IoO1c+MTI3OyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj49NztuLk4ucHVzaChXKX07ClNDPWZ1bmN0aW9uKG4sVyl7aWYoVz49MClJeChuLFcpO2Vsc2V7Zm9yKGxldCBEPTA7RDw5O0QrKyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj03O24uTi5wdXNoKDEpfX07CkEzPWZ1bmN0aW9uKG4sVyl7Vy5sZW5ndGghPT0wJiYobi5XLnB1c2goVyksbi5KKz1XLmxlbmd0aCl9OwptND1mdW5jdGlvbihuLFcsRCl7SXgobi5OLFcqOCtEKX07CktoPWZ1bmN0aW9uKG4sVyl7bTQobixXLDIpO1c9bi5OLmVuZCgpO0EzKG4sVyk7Vy5wdXNoKG4uSik7cmV0dXJuIFd9OwpPcz1mdW5jdGlvbihuLFcpe3ZhciBEPVcucG9wKCk7Zm9yKEQ9bi5KK24uTi5sZW5ndGgoKS1EO0Q+MTI3OylXLnB1c2goRCYxMjd8MTI4KSxEPj4+PTcsbi5KKys7Vy5wdXNoKEQpO24uSisrfTsKeW09ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpc3dpdGNoKFB5KEQpLG00KG4sVywxKSx0eXBlb2YgRCl7Y2FzZSAibnVtYmVyIjpuPW4uTjtOMyhEKTtKMyhuLHJaKTtKMyhuLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oRCx2eSxrbSk7bj1uLk47Vz1ELk47SjMobixELkopO0ozKG4sVyk7YnJlYWs7ZGVmYXVsdDpEPXhtKEQpLG49bi5OLFc9RC5OLEozKG4sRC5KKSxKMyhuLFcpfX07CkVzPWZ1bmN0aW9uKG4sVyxEKXtEIT1udWxsJiYoRD1wYXJzZUludChELDEwKSxtNChuLFcsMCksU0Mobi5OLEQpKX07CmlHPWZ1bmN0aW9uKG4sVyxEKXttNChuLFcsMik7SXgobi5OLEQubGVuZ3RoKTtBMyhuLG4uTi5lbmQoKSk7QTMobixEKX07ClB5PWZ1bmN0aW9uKG4pe3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSAic3RyaW5nIjp4bShuKX19Owp1Rz1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgInN0cmluZyI6bi5sZW5ndGgmJm5bMF09PT0iLSI/eG0obi5zdWJzdHJpbmcoMSkpOnhtKG4pfX07Cm94PWZ1bmN0aW9uKCl7dmFyIG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aHJvdyBFcnJvcigpO319O09iamVjdC5zZXRQcm90b3R5cGVPZihuLG4ucHJvdG90eXBlKTtyZXR1cm4gbn07CmRHPWZ1bmN0aW9uKG4sVyl7aWYoVz09bnVsbHx8Vz09IiIpcmV0dXJuIG5ldyBuO1c9SlNPTi5wYXJzZShXKTtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBFcnJvcigiZG5hcnIiKTtXW2I0XXw9MzI7cmV0dXJuIG5ldyBuKFcpfTsKVFM9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHpTKG4sVyxsRyl9OwpDaD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9akMoVyxiKTtXIT1udWxsJiYoRD1LaChuLEQpLHYoVyxuKSxPcyhuLEQpKX07CndHPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWJbbl07aWYodilyZXR1cm4gdjt2PXt9O3Yud2s9Yjt2LlJyPW4zMihiWzBdKTt2YXIgaz1iWzFdLGg9MTtrJiZrLmNvbnN0cnVjdG9yPT09T2JqZWN0JiYodi5leHRlbnNpb25zPWssaz1iWysraF0sdHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYodi5kJD0hMCxCeT8/KEJ5PWspLEZ0Pz8oRnQ9YltoKzFdKSxrPWJbaCs9Ml0pKTtmb3IodmFyIHg9e307ayYmQXJyYXkuaXNBcnJheShrKSYmay5sZW5ndGgmJnR5cGVvZiBrWzBdPT09Im51bWJlciImJmtbMF0+MDspe2Zvcih2YXIgTD0wO0w8ay5sZW5ndGg7TCsrKXhba1tMXV09aztrPWJbKytoXX1mb3IoTD0xO2shPT12b2lkIDA7KXt0eXBlb2Ygaz09PSJudW1iZXIiJiYoTCs9ayxrPWJbKytoXSk7bGV0IHI7dmFyIGU9dm9pZCAwO2sgaW5zdGFuY2VvZiB6Uz9yPWs6KHI9TGN0LGgtLSk7aWYocj8uTil7az1iWysraF07ZT1iO3ZhciBHPWg7dHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYoaz1rKCksCmVbR109ayk7ZT1rfWs9YlsrK2hdO0c9TCsxO3R5cGVvZiBrPT09Im51bWJlciImJms8MCYmKEctPWssaz1iWysraF0pO2Zvcig7TDxHO0wrKyl7bGV0IE49eFtMXTtlP0QodixMLHIsZSxOKTpXKHYsTCxyLE4pfX1yZXR1cm4gYltuXT12fTsKTWY9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/blswXWluc3RhbmNlb2YgelM/bjpbZUJ0LG5dOltuLHZvaWQgMF19OwpSeD1mdW5jdGlvbihuLFc9IiIsRD0iIil7bj1uZXcgZy53WihuLCEwKTtuLnNldCgiYWxyIiwieWVzIik7RCYmKEQ9ZVgoODQsNjU1MyxNMygxOCw0MjYwLEQpKSxuW0lbMzRdXShXLFIwKDEzLDg3MTYsRCkpKTtyZXR1cm4gbn07CmpDPWZ1bmN0aW9uKG4sVyl7aWYobiBpbnN0YW5jZW9mIGcuUW0pcmV0dXJuIG4ubDk7aWYoQXJyYXkuaXNBcnJheShuKSlyZXR1cm4gU1cobixXKX07ClZtPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuY2o7bltXXT1iPyhrLGgseCk9PnYoayxoLHgsYik6dn07CmF4PWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9RC5jaixoLHg7bltXXT0oTCxlLEcpPT5rKEwsZSxHLHh8fCh4PXdHKGN5LFZtLGF4LGIpLlJyKSxofHwoaD1uOChiKSksdil9OwpuOD1mdW5jdGlvbihuKXt2YXIgVz1uW1dPXTtpZihXIT1udWxsKXJldHVybiBXO3ZhciBEPXdHKGN5LFZtLGF4LG4pO1c9RC5kJD8oYix2KT0+QnkoYix2LEQpOihiLHYpPT57YTp7TUgoKTsKdHJ5e2Zvcig7Rl8odikmJnYuSiE9NDspe2xldCBOPXYuVyxIPURbTl07aWYoSD09bnVsbCl7bGV0IEE9RC5leHRlbnNpb25zO2lmKEEpe2xldCB5PUFbTl07aWYoeSl7bGV0IFQ9ZzNVKHkpO1QhPW51bGwmJihIPURbTl09VCl9fX1pZihIPT1udWxsfHwhSCh2LGIsTikpe3ZhciBrPXY7bGV0IEE9ay5YO3dlKGspO2lmKGsuR2IpdmFyIGg9dm9pZCAwO2Vsc2V7bGV0IHk9ay5OLk4tQTtrLk4uTj1BO2g9bGEoay5OLHkpfWs9dm9pZCAwO3ZhciB4PWIsTD1OLGU9aDtlJiYoKGs9eFtMR10/Pyh4W0xHXT1uZXcgWEYpKVtMXT8/KGtbTF09W10pKS5wdXNoKGUpfX1sZXQgcj1lVyhiKTtyJiYoci5qNz1ELndrW0Q4XSk7dmFyIEc9ITA7YnJlYWsgYX1jYXRjaChyKXtpZihyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgcjt9ZmluYWxseXtSWT4wJiZSWS0tfUc9dm9pZCAwfXJldHVybiBHfTsKbltXT109VztuW0Q4XT1YTWkuYmluZChuKTtyZXR1cm4gV307ClhNaT1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj10aGlzW2N5XSxrPXRoaXNbV09dLGg9U1codm9pZCAwLHYuUnIpLHg9ZVcobik7aWYoeCl7dmFyIEw9ITEsZT12LmV4dGVuc2lvbnM7aWYoZSl7dj0oRyxyLE4pPT57aWYoTi5sZW5ndGghPT0wKWlmKGVbcl0pZm9yKGxldCBIIG9mIE4pe0c9Q24oSCk7dHJ5e0w9ITAsayhoLEcpfWZpbmFsbHl7Ry5mcmVlKCl9fWVsc2UgYj8uKG4scixOKX07CmlmKFc9PW51bGwpZ2coeCx2KTtlbHNlIGlmKHghPW51bGwpe2xldCBHPXhbV107RyYmdih4LFcsRyl9aWYoTCl7bGV0IEc9bltiNF18MDtpZihHJjImJkcmMjA0OCYmIUQ/LkpTKXRocm93IEVycm9yKCk7bGV0IHI9TDUoRyksTj0oSCxBKT0+e2lmKEVLKG4sSCxyKSE9bnVsbClzd2l0Y2goRD8uaDQpe2Nhc2UgMTpyZXR1cm47ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31BIT1udWxsJiYoRz11VyhuLEcsSCxBLHIpKTtkZWxldGUgeFtIXX07Clc9PW51bGw/aF8oaCxoW2I0XXwwLChILEEpPT57TihILEEpfSk6TihXLEVLKGgsVyxyKSl9fX19OwpnM1U9ZnVuY3Rpb24obil7bj1NZihuKTt2YXIgVz1uWzBdLmNqO2lmKG49blsxXSl7bGV0IEQ9bjgobiksYj13RyhjeSxWbSxheCxuKS5ScjtyZXR1cm4odixrLGgpPT5XKHYsayxoLGIsRCl9cmV0dXJuIFd9OwpiNj1mdW5jdGlvbihuLFcsRCl7bltXXT1ELlBqfTsKa249ZnVuY3Rpb24obixXLEQsYil7dmFyIHYsayxoPUQuUGo7bltXXT0oeCxMLGUpPT5oKHgsTCxlLGt8fChrPXdHKHZPLGI2LGtuLGIpLlJyKSx2fHwodj1oOShiKSkpfTsKaDk9ZnVuY3Rpb24obil7dmFyIFc9blt4bl07aWYoIVcpe2xldCBEPXdHKHZPLGI2LGtuLG4pO1c9KGIsdik9Pkw4KGIsdixEKTsKblt4bl09V31yZXR1cm4gV307Ckw4PWZ1bmN0aW9uKG4sVyxEKXtoXyhuLG5bYjRdfDAsKGIsdik9PntpZih2IT1udWxsKXt2YXIgaz1xTU0oRCxiKTtrP2soVyx2LGIpOmI8NTAwfHxuNShHNFMsMyl9fSk7CihuPWVXKG4pKSYmZ2cobiwoYix2LGspPT57QTMoVyxXLk4uZW5kKCkpO2ZvcihiPTA7YjxrLmxlbmd0aDtiKyspQTMoVyxRbChrW2JdKXx8bmV3IFVpbnQ4QXJyYXkoMCkpfSl9OwpxTU09ZnVuY3Rpb24obixXKXt2YXIgRD1uW1ddO2lmKEQpcmV0dXJuIEQ7aWYoRD1uLmV4dGVuc2lvbnMpaWYoRD1EW1ddKXtEPU1mKEQpO3ZhciBiPURbMF0uUGo7aWYoRD1EWzFdKXtsZXQgdj1oOShEKSxrPXdHKHZPLGI2LGtuLEQpLlJyO0Q9bi5kJD9GdChrLHYpOihoLHgsTCk9PmIoaCx4LEwsayx2KX1lbHNlIEQ9YjsKcmV0dXJuIG5bV109RH19OwplNj1mdW5jdGlvbihuLFcsRCl7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9V1tiNF18MDtpZihiJjQpcmV0dXJuIFc7Zm9yKHZhciB2PTAsaz0wO3Y8Vy5sZW5ndGg7disrKXtsZXQgaD1uKFdbdl0pO2ghPW51bGwmJihXW2srK109aCl9azx2JiYoVy5sZW5ndGg9ayk7bj1ifDE7RCYmKG49KG58NCkmLTE1MzcpO24hPT1iJiYoV1tiNF09bik7RCYmbiYyJiZPYmplY3QuZnJlZXplKFcpO3JldHVybiBXfX07CmcuZ1E9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKWGY9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKZy5xWT1mdW5jdGlvbihuLFcsRCl7dVcobixuW2I0XXwwLFcsRCxMNShuW2I0XXwwKSl9OwpnLnQ5PWZ1bmN0aW9uKG4sVyxEKXtXPW0wKFcpO1chPW51bGwmJihtNChuLEQsMSksbj1uLk4sRD1Hdnx8KEd2PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxELnNldEZsb2F0NjQoMCwrVywhMCksclo9RC5nZXRVaW50MzIoMCwhMCksc189RC5nZXRVaW50MzIoNCwhMCksSjMobixyWiksSjMobixzXykpfTsKZy4kbj1mdW5jdGlvbihuLFcsRCl7Vz1DeE0oVyk7aWYoVyE9bnVsbCl7c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOlh0KFcpfWlmKFchPW51bGwpc3dpdGNoKG00KG4sRCwwKSx0eXBlb2YgVyl7Y2FzZSAibnVtYmVyIjpuPW4uTjtwNShXKTtIeShuLHJaLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oVyxlQyx4VWopO0h5KG4uTixELkosRC5OKTticmVhaztkZWZhdWx0OkQ9WHQoVyksSHkobi5OLEQuSixELk4pfX19OwpnLnJRPWZ1bmN0aW9uKG4sVyxEKXtXPUVfKFcpO1chPW51bGwmJlchPW51bGwmJihtNChuLEQsMCksU0Mobi5OLFcpKX07CnNmPWZ1bmN0aW9uKG4sVyxEKXtXPVc9PW51bGx8fHR5cGVvZiBXPT09ImJvb2xlYW4iP1c6dHlwZW9mIFc9PT0ibnVtYmVyIj8hIVc6dm9pZCAwO1chPW51bGwmJihtNChuLEQsMCksbi5OLk4ucHVzaChXPzE6MCkpfTsKTlk9ZnVuY3Rpb24obixXLEQpe1c9Zy5EUihXKTtXIT1udWxsJiZpRyhuLEQsa0soVykpfTsKcDg9ZnVuY3Rpb24obixXLEQsYix2KXtXPWpDKFcsYik7VyE9bnVsbCYmKEQ9S2gobixEKSx2KFcsbiksT3MobixEKSl9OwpKOT1mdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxvWShuLk4pKTtyZXR1cm4hMH07CklfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKEQsYik9PnthOntsZXQgaz17aEI6ITB9O2ImJk9iamVjdC5hc3NpZ24oayxiKTtEPUNuKEQsdm9pZCAwLHZvaWQgMCxrKTt0cnl7bGV0IGg9bmV3IG4seD1oLmw5O244KFcpKHgsRCk7dmFyIHY9aDticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBoO31maW5hbGx5e0QuZnJlZSgpfXY9dm9pZCAwfXJldHVybiB2fX07CmcuQTk9ZnVuY3Rpb24obil7cmV0dXJuIFc9PlM2KFcsbil9OwpnLm1EPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBTNih0aGlzLG4pfX07Cks4PWZ1bmN0aW9uKG4pe3JldHVybiBXPT5kRyhuLFcpfTsKdGpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFFnKG4sVyxVXyl9Owp1Nj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZy5PZjtXPWcuU0UoVywxLG4uSik7dmFyIEQ9JFVNKG4pO1c9UWcoVyxELEZTMik7RD1bXTt2YXIgYj1bXTtmb3IodmFyIHYgb2Ygbi5OLmtleXMoKSliLnB1c2godi5zcGxpdCgiLCIpKTtmb3Iodj0wO3Y8Yi5sZW5ndGg7disrKXtsZXQgcj1iW3ZdO3ZhciBrPW4uVyxoPVBPKG4sLi4ucil8fFtdO2xldCBOPVtdO2Zvcih2YXIgeD0wO3g8aC5sZW5ndGg7eCsrKXt2YXIgTD1oW3hdLGU9TCYmTC5OO0w9bmV3IFo4O3N3aXRjaChrKXtjYXNlIDM6ZT1OdW1iZXIoZSk7TnVtYmVyLmlzRmluaXRlKGUpJiZEMihMLDEsVWYsZy5sNChlKSk7YnJlYWs7Y2FzZSAyOkQyKEwsMixVZixnLkFfKE51bWJlcihlKSkpfU4ucHVzaChMKX1mb3Ioaz0wO2s8Ti5sZW5ndGg7aysrKXt4PU5ba107aD1uZXcgeWU7aD0kOShoLFo4LDIseCk7eD1bXTtMPXJGdChuKTtmb3IoZT0wO2U8TC5sZW5ndGg7ZSsrKXt2YXIgRz1MW2VdO2xldCBIPXJbZV0sQT1uZXcgRWY7CnN3aXRjaChHKXtjYXNlIDM6RDIoQSwxLGk2LFdIKFN0cmluZyhIKSkpO2JyZWFrO2Nhc2UgMjpHPU51bWJlcihIKTtOdW1iZXIuaXNGaW5pdGUoRykmJkQyKEEsMixpNixnLnlQKEcpKTticmVhaztjYXNlIDE6RDIoQSwzLGk2LE9fKEg9PT0idHJ1ZSIpKX14LnB1c2goQSl9c1YoaCxFZiwxLHgpO0QucHVzaChoKX19c1YoVyx5ZSw0LEQpO3JldHVybiBXfTsKb189ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChuKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7bi5pbmRleE9mKCJibG9iOiIpPT09MCYmKG49bi5zdWJzdHJpbmcoNSkpO249bi5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07bj1uLnRvTG93ZXJDYXNlKCk7bi5pbmRleE9mKCIvLyIpPT0wJiYobj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrbik7L15bXHdcLV0qOlwvXC8vLnRlc3Qobil8fChuPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgVz1uLnN1YnN0cmluZyhuLmluZGV4T2YoIjovLyIpKzMpLEQ9Vy5pbmRleE9mKCIvIik7RCE9LTEmJihXPVcuc3Vic3RyaW5nKDAsRCkpO0Q9bi5zdWJzdHJpbmcoMCxuLmluZGV4T2YoIjovLyIpKTtpZighRCl0aHJvdyBFcnJvcigiVVJJIGlzIG1pc3NpbmcgcHJvdG9jb2w6ICIrbik7aWYoRCE9PSJodHRwIiYmRCE9PSJodHRwcyImJkQhPT0iY2hyb21lLWV4dGVuc2lvbiImJgpEIT09Im1vei1leHRlbnNpb24iJiZEIT09ImZpbGUiJiZEIT09ImFuZHJvaWQtYXBwIiYmRCE9PSJjaHJvbWUtc2VhcmNoIiYmRCE9PSJjaHJvbWUtdW50cnVzdGVkIiYmRCE9PSJjaHJvbWUiJiZEIT09ImFwcCImJkQhPT0iZGV2dG9vbHMiKXRocm93IEVycm9yKCJJbnZhbGlkIFVSSSBzY2hlbWUgaW4gb3JpZ2luOiAiK0QpO249IiI7dmFyIGI9Vy5pbmRleE9mKCI6Iik7aWYoYiE9LTEpe3ZhciB2PVcuc3Vic3RyaW5nKGIrMSk7Vz1XLnN1YnN0cmluZygwLGIpO2lmKEQ9PT0iaHR0cCImJnYhPT0iODAifHxEPT09Imh0dHBzIiYmdiE9PSI0NDMiKW49IjoiK3Z9cmV0dXJuIEQrIjovLyIrVytufTsKc00yPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZbMF09MTczMjU4NDE5Mzt2WzFdPTQwMjMyMzM0MTc7dlsyXT0yNTYyMzgzMTAyO3ZbM109MjcxNzMzODc4O3ZbNF09MzI4NTM3NzUyMDtHPWU9MH0KZnVuY3Rpb24gVyhyKXtmb3IodmFyIE49aCxIPTA7SDw2NDtIKz00KU5bSC80XT1yW0hdPDwyNHxyW0grMV08PDE2fHJbSCsyXTw8OHxyW0grM107Zm9yKEg9MTY7SDw4MDtIKyspcj1OW0gtM11eTltILThdXk5bSC0xNF1eTltILTE2XSxOW0hdPShyPDwxfHI+Pj4zMSkmNDI5NDk2NzI5NTtyPXZbMF07dmFyIEE9dlsxXSx5PXZbMl0sVD12WzNdLHo9dls0XTtmb3IoSD0wO0g8ODA7SCsrKXtpZihIPDQwKWlmKEg8MjApe3ZhciBDPVReQSYoeV5UKTt2YXIgUT0xNTE4NTAwMjQ5fWVsc2UgQz1BXnleVCxRPTE4NTk3NzUzOTM7ZWxzZSBIPDYwPyhDPUEmeXxUJihBfHkpLFE9MjQwMDk1OTcwOCk6KEM9QV55XlQsUT0zMzk1NDY5NzgyKTtDPSgocjw8NXxyPj4+MjcpJjQyOTQ5NjcyOTUpK0MreitRK05bSF0mNDI5NDk2NzI5NTt6PVQ7VD15O3k9KEE8PDMwfEE+Pj4yKSY0Mjk0OTY3Mjk1O0E9cjtyPUN9dlswXT12WzBdK3ImNDI5NDk2NzI5NTt2WzFdPXZbMV0rQSY0Mjk0OTY3Mjk1O3ZbMl09CnZbMl0reSY0Mjk0OTY3Mjk1O3ZbM109dlszXStUJjQyOTQ5NjcyOTU7dls0XT12WzRdK3omNDI5NDk2NzI5NX0KZnVuY3Rpb24gRChyLE4pe2lmKHR5cGVvZiByPT09InN0cmluZyIpe3I9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHIpKTtmb3IodmFyIEg9W10sQT0wLHk9ci5sZW5ndGg7QTx5OysrQSlILnB1c2goci5jaGFyQ29kZUF0KEEpKTtyPUh9Tnx8KE49ci5sZW5ndGgpO0g9MDtpZihlPT0wKWZvcig7SCs2NDxOOylXKHIuc2xpY2UoSCxIKzY0KSksSCs9NjQsRys9NjQ7Zm9yKDtIPE47KWlmKGtbZSsrXT1yW0grK10sRysrLGU9PTY0KWZvcihlPTAsVyhrKTtIKzY0PE47KVcoci5zbGljZShILEgrNjQpKSxIKz02NCxHKz02NH0KZnVuY3Rpb24gYigpe3ZhciByPVtdLE49Ryo4O2U8NTY/RCh4LDU2LWUpOkQoeCw2NC0oZS01NikpO2Zvcih2YXIgSD02MztIPj01NjtILS0pa1tIXT1OJjI1NSxOPj4+PTg7VyhrKTtmb3IoSD1OPTA7SDw1O0grKylmb3IodmFyIEE9MjQ7QT49MDtBLT04KXJbTisrXT12W0hdPj5BJjI1NTtyZXR1cm4gcn0KZm9yKHZhciB2PVtdLGs9W10saD1bXSx4PVsxMjhdLEw9MTtMPDY0OysrTCl4W0xdPTA7dmFyIGUsRztuKCk7cmV0dXJue3Jlc2V0Om4sdXBkYXRlOkQsZGlnZXN0OmIsSFU6ZnVuY3Rpb24oKXtmb3IodmFyIHI9YigpLE49IiIsSD0wO0g8ci5sZW5ndGg7SCsrKU4rPSIwMTIzNDU2Nzg5QUJDREVGIi5jaGFyQXQoTWF0aC5mbG9vcihyW0hdLzE2KSkrIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChyW0hdJTE2KTtyZXR1cm4gTn19fTsKZFE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVN0cmluZyhnLnFpLmxvY2F0aW9uLmhyZWYpO3JldHVybiBiJiZuJiZXP1tXLE56cihvXyhiKSxuLER8fG51bGwpXS5qb2luKCIgIik6bnVsbH07Ck56cj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1bXTtpZigoQXJyYXkuaXNBcnJheShEKT8yOjEpPT0xKXJldHVybiB2PVtXLG5dLGcueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KSx6dih2LmpvaW4oIiAiKSk7CnZhciBrPVtdLGg9W107Zy55MihELGZ1bmN0aW9uKHgpe2gucHVzaCh4LmtleSk7ay5wdXNoKHgudmFsdWUpfSk7CkQ9TWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWUoKS8xRTMpO3Y9ay5sZW5ndGg9PTA/W0QsVyxuXTpbay5qb2luKCI6IiksRCxXLG5dO2cueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KTsKbj16dih2LmpvaW4oIiAiKSk7bj1bRCxuXTtoLmxlbmd0aD09MHx8bi5wdXNoKGguam9pbigiIikpO3JldHVybiBuLmpvaW4oIl8iKX07Cnp2PWZ1bmN0aW9uKG4pe3ZhciBXPXNNMigpO1cudXBkYXRlKG4pO3JldHVybiBXLkhVKCkudG9Mb3dlckNhc2UoKX07Cmw2PWZ1bmN0aW9uKG4pe3RoaXMuTj1ufHx7Y29va2llOiIifX07ClR2PWZ1bmN0aW9uKG4pe249KG4uTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO3ZhciBXPVtdLEQ9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspe3ZhciBiPW5ba10udHJpbSgpO3ZhciB2PWIuaW5kZXhPZigiPSIpO3Y9PS0xPyhXLnB1c2goIiIpLEQucHVzaChiKSk6KFcucHVzaChiLnN1YnN0cmluZygwLHYpKSxELnB1c2goYi5zdWJzdHJpbmcodisxKSkpfXJldHVybntrZXlzOlcsdmFsdWVzOkR9fTsKajY9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLl9fU0FQSVNJRHx8Zy5xaS5fX0FQSVNJRHx8Zy5xaS5fXzNQU0FQSVNJRHx8Zy5xaS5fXzFQU0FQSVNJRHx8Zy5xaS5fX09WRVJSSURFX1NJRDtpZihuKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYobj1uZXcgbDYoZG9jdW1lbnQpLG49bi5nZXQoIlNBUElTSUQiKXx8bi5nZXQoIkFQSVNJRCIpfHxuLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8bi5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhbn07CkM4PWZ1bmN0aW9uKG4sVyxELGIpeyhuPWcucWlbbl0pfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KG49KG5ldyBsNihkb2N1bWVudCkpLmdldChXKSk7cmV0dXJuIG4/ZFEobixELGIpOm51bGx9OwpCTz1mdW5jdGlvbihuKXt2YXIgVz1vXyhnLnFpPy5sb2NhdGlvbi5ocmVmKSxEPVtdO2lmKGo2KCkpe1c9Vy5pbmRleE9mKCJodHRwczoiKT09MHx8Vy5pbmRleE9mKCJjaHJvbWUtZXh0ZW5zaW9uOiIpPT0wfHxXLmluZGV4T2YoImNocm9tZS11bnRydXN0ZWQ6Ly9uZXctdGFiLXBhZ2UiKT09MHx8Vy5pbmRleE9mKCJtb3otZXh0ZW5zaW9uOiIpPT0wO3ZhciBiLHY9KGI9Vyk/Zy5xaS5fX1NBUElTSUQ6Zy5xaS5fX0FQSVNJRDt2fHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KHY9bmV3IGw2KGRvY3VtZW50KSx2PXYuZ2V0KGI/IlNBUElTSUQiOiJBUElTSUQiKXx8di5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhiPXY/ZFEodixiPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLG4pOm51bGwpJiZELnB1c2goYik7VyYmKChXPUM4KCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsbikpJiZELnB1c2goVyksKG49QzgoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsbikpJiZELnB1c2gobikpfXJldHVybiBELmxlbmd0aD09MD9udWxsOkQuam9pbigiICIpfTsKZy5GZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KG4sVyksRCl9Owp3UT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4rRCooVy1uKX07CmcuTVk9ZnVuY3Rpb24obixXKXt0aGlzLng9biE9PXZvaWQgMD9uOjA7dGhpcy55PVchPT12b2lkIDA/VzowfTsKUl89ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ueD09Vy54JiZuLnk9PVcueTohMX07CmcuUWU9ZnVuY3Rpb24obixXKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9V307CmcuVmU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ud2lkdGg9PVcud2lkdGgmJm4uaGVpZ2h0PT1XLmhlaWdodDohMX07CmNPPWZ1bmN0aW9uKG4pe3JldHVybiBuLndpZHRoKm4uaGVpZ2h0fTsKZy5hXz1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4pVy5jYWxsKEQsbltiXSxiLG4pfTsKZy5uVD1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBpbiBuKVcuY2FsbCh2b2lkIDAsbltiXSxiLG4pJiYoRFtiXT1uW2JdKTtyZXR1cm4gRH07Cld4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCBiIGluIG4pRFtiXT1XLmNhbGwodm9pZCAwLG5bYl0sYixuKTtyZXR1cm4gRH07CmcuRGw9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBuKWlmKFcuY2FsbChELG5bYl0sYixuKSlyZXR1cm4hMDtyZXR1cm4hMX07CmcuYms9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZighVy5jYWxsKHZvaWQgMCxuW0RdLEQsbikpcmV0dXJuITE7cmV0dXJuITB9Owp2eD1mdW5jdGlvbihuKXtmb3IobGV0IFcgaW4gbilyZXR1cm4gV307Cmt5PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKXJldHVybiBuW1ddfTsKaEs9ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO2ZvcihsZXQgYiBpbiBuKVdbRCsrXT1uW2JdO3JldHVybiBXfTsKZy5MVD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiIGluIG4pV1tEKytdPWI7cmV0dXJuIFd9OwpnLmVwPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG59OwpnLmdtPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4paWYobltEXT09VylyZXR1cm4hMDtyZXR1cm4hMX07CmcuWEw9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZihXLmNhbGwodm9pZCAwLG5bRF0sRCxuKSlyZXR1cm4gRH07CnFjPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFc9Zy5YTChuLFcpKSYmbltXXX07CmcuR0Y9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4pcmV0dXJuITE7cmV0dXJuITB9OwpnLnRLPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKWRlbGV0ZSBuW1ddfTsKZy4keT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG4/bltXXTpEfTsKZy5ybT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBuKWlmKCEoRCBpbiBXKXx8bltEXSE9PVdbRF0pcmV0dXJuITE7Zm9yKGxldCBEIGluIFcpaWYoIShEIGluIG4pKXJldHVybiExO3JldHVybiEwfTsKZy5zMD1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQgaW4gbilXW0RdPW5bRF07cmV0dXJuIFd9OwpnLk5jPWZ1bmN0aW9uKG4pe2lmKCFufHx0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKHR5cGVvZiBuLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gbi5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChuKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQobik7aWYobiBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKG4uZ2V0VGltZSgpKTt2YXIgVz1BcnJheS5pc0FycmF5KG4pP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KG4pfHxuIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IG4uY29uc3RydWN0b3Iobi5sZW5ndGgpO2ZvcihsZXQgRCBpbiBuKVdbRF09Zy5OYyhuW0RdKTtyZXR1cm4gV307CmcuWXk9ZnVuY3Rpb24obixXKXtmb3IobGV0IHY9MTt2PGFyZ3VtZW50cy5sZW5ndGg7disrKXt2YXIgRD1hcmd1bWVudHNbdl07Zm9yKGIgaW4gRCluW2JdPURbYl07Zm9yKGxldCBrPTA7azxwVC5sZW5ndGg7aysrKXt2YXIgYj1wVFtrXTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxiKSYmKG5bYl09RFtiXSl9fX07ClhaeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFo0KG5bMF0udG9Mb3dlckNhc2UoKSl9OwpnLkh4PWZ1bmN0aW9uKG4sLi4uVyl7aWYoVy5sZW5ndGg9PT0wKXJldHVybiBrMyhuWzBdKTt2YXIgRD1uWzBdO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKUQrPWVuY29kZVVSSUNvbXBvbmVudChXW2JdKStuW2IrMV07cmV0dXJuIGszKEQpfTsKZy5TcD1mdW5jdGlvbihuKXtyZXR1cm4gbj9uZXcgZlQoZy5KSyhuKSk6SWh8fChJaD1uZXcgZlQpfTsKQUs9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIFc9PT0ic3RyaW5nIj9uLmdldEVsZW1lbnRCeUlkKFcpOld9OwpnLktUPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8ZG9jdW1lbnQ7RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lP249RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pWzBdOihEPWRvY3VtZW50LG49bj8oV3x8RCkucXVlcnlTZWxlY3RvcihuPyIuIituOiIiKTpnLm1CKEQsIioiLG4sVylbMF18fG51bGwpO3JldHVybiBufHxudWxsfTsKZy5tQj1mdW5jdGlvbihuLFcsRCxiKXtuPWJ8fG47cmV0dXJuKFc9VyYmVyE9IioiP1N0cmluZyhXKS50b1VwcGVyQ2FzZSgpOiIiKXx8RD9uLnF1ZXJ5U2VsZWN0b3JBbGwoVysoRD8iLiIrRDoiIikpOm4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKX07CmcuUHg9ZnVuY3Rpb24obixXKXtnLmFfKFcsZnVuY3Rpb24oRCxiKXtiPT0ic3R5bGUiP24uc3R5bGUuY3NzVGV4dD1EOmI9PSJjbGFzcyI/bi5jbGFzc05hbWU9RDpiPT0iZm9yIj9uLmh0bWxGb3I9RDpPMC5oYXNPd25Qcm9wZXJ0eShiKT9uLnNldEF0dHJpYnV0ZShPMFtiXSxEKTpnLmpVKGIsImFyaWEtIil8fGcualUoYiwiZGF0YS0iKT9uLnNldEF0dHJpYnV0ZShiLEQpOm5bYl09RH0pfTsKZy5FMD1mdW5jdGlvbihuKXt2YXIgVz1uLnNjcm9sbGluZ0VsZW1lbnQ/bi5zY3JvbGxpbmdFbGVtZW50OmcuWmx8fG4uY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP24uYm9keXx8bi5kb2N1bWVudEVsZW1lbnQ6bi5kb2N1bWVudEVsZW1lbnQ7bj1uLmRlZmF1bHRWaWV3O3JldHVybiBuZXcgZy5NWShuPy5wYWdlWE9mZnNldHx8Vy5zY3JvbGxMZWZ0LG4/LnBhZ2VZT2Zmc2V0fHxXLnNjcm9sbFRvcCl9OwpnLmlrPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGVmYXVsdFZpZXc6d2luZG93fTsKZy5kbT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9YXJndW1lbnRzLHY9ZG9jdW1lbnQsaz1iWzFdLGg9dWsodixTdHJpbmcoYlswXSkpO2smJih0eXBlb2Ygaz09PSJzdHJpbmciP2guY2xhc3NOYW1lPWs6QXJyYXkuaXNBcnJheShrKT9oLmNsYXNzTmFtZT1rLmpvaW4oIiAiKTpnLlB4KGgsaykpO2IubGVuZ3RoPjImJm9oKHYsaCxiLDIpO3JldHVybiBofTsKb2g9ZnVuY3Rpb24obixXLEQsYil7ZnVuY3Rpb24gdihrKXtrJiZXLmFwcGVuZENoaWxkKHR5cGVvZiBrPT09InN0cmluZyI/bi5jcmVhdGVUZXh0Tm9kZShrKTprKX0KZm9yKDtiPEQubGVuZ3RoO2IrKyl7bGV0IGs9RFtiXTshZy5ZMihrKXx8Zy5mdChrKSYmay5ub2RlVHlwZT4wP3Yoayk6Zy55MihrJiZ0eXBlb2Ygay5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2Ygay5pdGVtPT0iZnVuY3Rpb24iP2cuUk0oayk6ayx2KX19OwpnLnpGPWZ1bmN0aW9uKG4pe3JldHVybiB1ayhkb2N1bWVudCxuKX07CnVrPWZ1bmN0aW9uKG4sVyl7Vz1TdHJpbmcoVyk7bi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoVz1XLnRvTG93ZXJDYXNlKCkpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoVyl9OwpnLmxrPWZ1bmN0aW9uKG4pe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcobikpfTsKZy5URj1mdW5jdGlvbihuKXtmb3IodmFyIFc7Vz1uLmZpcnN0Q2hpbGQ7KW4ucmVtb3ZlQ2hpbGQoVyl9OwpnLmpwPWZ1bmN0aW9uKG4sVyxEKXtuLmluc2VydEJlZm9yZShXLG4uY2hpbGROb2Rlc1tEXXx8bnVsbCl9OwpnLkNUPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnBhcmVudE5vZGU/bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pOm51bGx9OwpnLkJ4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4mJlc/bj09V3x8bi5jb250YWlucyhXKTohMX07CmcuSks9ZnVuY3Rpb24obil7cmV0dXJuIG4ubm9kZVR5cGU9PTk/bjpuLm93bmVyRG9jdW1lbnR8fG4uZG9jdW1lbnR9OwpnLkZMPWZ1bmN0aW9uKG4sVyl7aWYoInRleHRDb250ZW50ImluIG4pbi50ZXh0Q29udGVudD1XO2Vsc2UgaWYobi5ub2RlVHlwZT09MyluLmRhdGE9U3RyaW5nKFcpO2Vsc2UgaWYobi5maXJzdENoaWxkJiZuLmZpcnN0Q2hpbGQubm9kZVR5cGU9PTMpe2Zvcig7bi5sYXN0Q2hpbGQhPW4uZmlyc3RDaGlsZDspbi5yZW1vdmVDaGlsZChuLmxhc3RDaGlsZCk7bi5maXJzdENoaWxkLmRhdGE9U3RyaW5nKFcpfWVsc2UgZy5URihuKSxuLmFwcGVuZENoaWxkKGcuSksobikuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKFcpKSl9OwpNYz1mdW5jdGlvbihuKXtyZXR1cm4gbi50YWdOYW1lPT0iQSImJm4uaGFzQXR0cmlidXRlKCJocmVmIil8fG4udGFnTmFtZT09IklOUFVUInx8bi50YWdOYW1lPT0iVEVYVEFSRUEifHxuLnRhZ05hbWU9PSJTRUxFQ1QifHxuLnRhZ05hbWU9PSJCVVRUT04iPyFuLmRpc2FibGVkJiYoIW4uaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHx3bShuKSk6bi5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJndtKG4pfTsKd209ZnVuY3Rpb24obil7bj1uLnRhYkluZGV4O3JldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiJiZuPj0wJiZuPDMyNzY4fTsKZy5SaD1mdW5jdGlvbihuLFcsRCl7biYmIUQmJihuPW4ucGFyZW50Tm9kZSk7Zm9yKEQ9MDtuOyl7aWYoVyhuKSlyZXR1cm4gbjtuPW4ucGFyZW50Tm9kZTtEKyt9cmV0dXJuIG51bGx9OwpmVD1mdW5jdGlvbihuKXt0aGlzLk49bnx8Zy5xaS5kb2N1bWVudHx8ZG9jdW1lbnR9OwpwTXg9ZnVuY3Rpb24obil7c1YoUVEsVlEsMSxuKX07CllNeD1mdW5jdGlvbihuLFc9Y3gpe2lmKCFhaCl7bj1uLm5hdmlnYXRvcj8udXNlckFnZW50RGF0YTtpZighbnx8dHlwZW9mIG4uZ2V0SGlnaEVudHJvcHlWYWx1ZXMhPT0iZnVuY3Rpb24ifHxuLmJyYW5kcyYmdHlwZW9mIG4uYnJhbmRzLm1hcCE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJVQUNIIHVuYXZhaWxhYmxlIikpO3BNeCgobi5icmFuZHN8fFtdKS5tYXAoYj0+e3ZhciB2PW5ldyBWUTt2PWcuU0UodiwxLGIuYnJhbmQpO3JldHVybiBnLlNFKHYsMixiLnZlcnNpb24pfSkpOwp0eXBlb2Ygbi5tb2JpbGU9PT0iYm9vbGVhbiImJm96KFFRLDIsT18obi5tb2JpbGUpKTthaD1uLmdldEhpZ2hFbnRyb3B5VmFsdWVzKFcpfXZhciBEPW5ldyBTZXQoVyk7cmV0dXJuIGFoLnRoZW4oYj0+e3ZhciB2PVFRLmNsb25lKCk7RC5oYXMoInBsYXRmb3JtIikmJmcuU0UodiwzLGIucGxhdGZvcm0pO0QuaGFzKCJwbGF0Zm9ybVZlcnNpb24iKSYmZy5TRSh2LDQsYi5wbGF0Zm9ybVZlcnNpb24pO0QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmZy5TRSh2LDUsYi5hcmNoaXRlY3R1cmUpO0QuaGFzKCJtb2RlbCIpJiZnLlNFKHYsNixiLm1vZGVsKTtELmhhcygidWFGdWxsVmVyc2lvbiIpJiZnLlNFKHYsNyxiLnVhRnVsbFZlcnNpb24pO3JldHVybiB2LmJZKCl9KS5jYXRjaCgoKT0+UVEuYlkoKSl9OwpuSz1mdW5jdGlvbihuKXtyZXR1cm4gS24obiwxLDEpfTsKdkw9ZnVuY3Rpb24obixXKXskOShuLk4sV0wsMSxXKTtIVyhXLDEpfHxuSyhXKTtuLmdSfHwoVz1ERChuKSxZOShXLDUpfHxnLlNFKFcsNSxuLmxvY2FsZSkpO24udWFjaCYmKFc9REQobiksZ2UoVyxiSSw5KXx8JDkoVyxiSSw5LG4udWFjaCkpfTsKREQ9ZnVuY3Rpb24obil7dmFyIFc9Z2Uobi5OLFdMLDEpO1d8fChXPW5ldyBXTCx2TChuLFcpKTtuPVc7Vz1nZShuLGtFLDExKTtXfHwoVz1uZXcga0UsJDkobixrRSwxMSxXKSk7cmV0dXJuIFd9OwpIYlM9ZnVuY3Rpb24obixXKXtuLko9V307CkpGWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdSP3ZvaWQgMDpnLmlrKCk7Vz9ZTXgoVyxjeCkudGhlbihEPT57bi51YWNoPWY0MihEPz8iW10iKTtEPUREKG4pOyQ5KEQsYkksOSxuLnVhY2gpO3JldHVybiEwfSkuY2F0Y2goKCk9PiExKTpQcm9taXNlLnJlc29sdmUoITEpfTsKZy5oSD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLlg9bjt0aGlzLmo9Vzt0aGlzLk49dGhpcy5XPW47dGhpcy5WPUR8fDA7dGhpcy5LPWJ8fDJ9OwpnLnhFPWZ1bmN0aW9uKG4pe24uTj1NYXRoLm1pbihuLmosbi5OKm4uSyk7bi5XPU1hdGgubWluKG4uaixuLk4rKG4uVj9NYXRoLnJvdW5kKG4uViooTWF0aC5yYW5kb20oKS0uNSkqMipuLk4pOjApKTtuLkorK307CkxLPWZ1bmN0aW9uKCl7cmV0dXJuImh0dHBzOi8vcGxheS5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWUifTsKSTRTPWZ1bmN0aW9uKG4sVyl7aWYoIW4uUyQpcmV0dXJuKCk9Pnt9Owp2YXIgRD0oKT0+e24uZmx1c2goKX07CnJldHVybiBXPygpPT57VygpLnRoZW4oRCl9OkR9OwplZz1mdW5jdGlvbihuKXtuLlcuaXNGaW5hbD0hMDtuLmZsdXNoKCk7bi5XLmlzRmluYWw9ITF9OwpnRD1mdW5jdGlvbihuKXtuLll8fChuLlk9TEsoKSk7dHJ5e3JldHVybihuZXcgVVJMKG4uWSkpLnRvU3RyaW5nKCl9Y2F0Y2goVyl7cmV0dXJuKG5ldyBVUkwobi5ZLGcuaWsoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07CkFGWj1mdW5jdGlvbihuKXtTTVMobiwoVyxEKT0+e1c9bmV3IFVSTChXKTtXLnNlYXJjaFBhcmFtcy5zZXQoImZvcm1hdCIsImpzb24iKTt2YXIgYj0hMTt0cnl7Yj1nLmlrKCkubmF2aWdhdG9yLnNlbmRCZWFjb24oVy50b1N0cmluZygpLEQuYlkoKSl9Y2F0Y2h7fWJ8fChuLkQ9ITEpO3JldHVybiBifSl9OwptVXc9ZnVuY3Rpb24obixXLEQ9bnVsbCxiPW4ud2l0aENyZWRlbnRpYWxzKXt2YXIgdj17fSxrPW5ldyBVUkwoZ0QobikpO0QmJih2LkF1dGhvcml6YXRpb249RCk7bi5zZXNzaW9uSW5kZXgmJih2WyJYLUdvb2ctQXV0aFVzZXIiXT1uLnNlc3Npb25JbmRleCxrLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixuLnNlc3Npb25JbmRleCkpO24ucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHYsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTpuLnBhZ2VJZH0pLGsuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixuLnBhZ2VJZCkpO3JldHVybnt1cmw6ay50b1N0cmluZygpLGJvZHk6VyxvJDoxLFpKOnYscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpiLHRpbWVvdXRNaWxsaXM6bi50aW1lb3V0TWlsbGlzfX07ClNNUz1mdW5jdGlvbihuLFcpe2lmKG4uTi5sZW5ndGghPT0wKXt2YXIgRD1uZXcgVVJMKGdEKG4pKTtELnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBiPW4ubjEoKTtiJiZELnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGIpO0Quc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLG4uc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihiPTA7YjwxMCYmbi5OLmxlbmd0aDsrK2Ipe2xldCB2PW4uTi5zbGljZSgwLDMyKSxrPW4uVy5idWlsZCh2LG4uWCxuLlYsbi5QZyxuLmNKLG4uTyk7aWYoIVcoRC50b1N0cmluZygpLGspKXsrK24uVjticmVha31uLlg9MDtuLlY9MDtuLmNKPTA7bi5PPTA7bi5OPW4uTi5zbGljZSh2Lmxlbmd0aCl9bi5KLmVuYWJsZWQmJm4uSi5zdG9wKCl9fTsKS2NoPWZ1bmN0aW9uKG4sVyl7bi5idWlsZExhYmVsPVc7cmV0dXJuIG59OwpQX2k9ZnVuY3Rpb24obil7bi5uZXR3b3JrPW5ldyBPYjE7cmV0dXJuIG59OwpaYmg9ZnVuY3Rpb24obixXKXtuLk49V307ClVVYj1mdW5jdGlvbihuKXtuLko9ITA7cmV0dXJuIG59OwpyRnQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkVHlwZSl9OwpQTz1mdW5jdGlvbihuLC4uLlcpe1c9WFQoLi4uVyk7cmV0dXJuIG4uTi5oYXMoVyk/bi5OLmdldChXKTp2b2lkIDB9OwokVU09ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkTmFtZSl9OwpHNz1mdW5jdGlvbihuLFcsLi4uRCl7RD1YVCguLi5EKTtuLk4uc2V0KEQsW25ldyBxNShXKV0pfTsKeUZaPWZ1bmN0aW9uKG4sVywuLi5EKXt2YXIgYj1QTyhuLC4uLkQpO2I/Yi5wdXNoKG5ldyBxNShXKSk6RzcobixXLC4uLkQpfTsKZVg9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9V15uO2lmKChuPj4xJjE2KTw1JiYobi0zJjExKT49OSYmRFtJWzE3XV0pdmFyIGs9UjAoOCw3NTQxLEQpO2lmKG4tMj4+ND09NCl7az12XjQ4NTA7Zm9yKHZhciBoPVtdOysray1oW0lbNV1dLSh2XjQ3NTQpOylzd2l0Y2goayl7Y2FzZSB2XjQ3NDQ6az12XjQ4MTg7Y29udGludWU7Y2FzZSB2XjQ4NDE6az12XjQ3NjY7YnJlYWs7Y2FzZSB2XjQ4NTE6az12XjQ3NjU7Y29udGludWU7Y2FzZSB2XjQ3NjQ6az12XjQ2NTE7Y2FzZSB2XjQ4MDk6ay09dl40NzQ0O2RlZmF1bHQ6aFtJW3ZeNDc3Ml1dKFN0cmluZ1tJW3ZeNDczNl1dKGspKX12YXIgeD1ofShuXjcwKT4+Mz09MiYmKGs9RFtJW3ZeNjYzM11dKElbdl42NjE2XSksdEhbSVt2XjY2NDddXShrLHZeNjYyMSksdEhbSVt2XjY2NDddXShrLDIpLHRIW0lbdl42NjEzXV0oayx2XjY2MzEpLHg9a1tJW3ZeNjU5Ml1dKElbdl42NjE2XSkpO248PDImMjd8fChlWCh2XjEzMzYsdl42NDI3LEQpLAprPU0zKHZeMTM4Nix2XjU1OTYsRFtJW3ZeMTM0OF1dKElbdl4xMzI3XSl8fElbdl4xMzkyXSlbSVt2XjEzNDVdXShJW3ZeMTM1NF0pLHg9RFtJW3ZeMTQwMV1dPT09SVt2XjEzODZdJiZrW0lbNV1dPjEmJiEha1sxXSk7KG48PDEmMTUpPT00JiZiW0lbNV1dIT0wJiYoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgwLDEsYltJWzNdXShELDEsYlswXSlbMF0pKTtuLTM+PjM9PTImJih4PUQhPT1udWxsKTtyZXR1cm4geH07ClhUPWZ1bmN0aW9uKC4uLm4pe3JldHVybiBuP24uam9pbigiLCIpOiJrZXkifTsKRTN0PWZ1bmN0aW9uKG4sLi4uVyl7cmV0dXJuKG49UE8obiwuLi5XKSkmJm4ubGVuZ3RoP25bMF06dm9pZCAwfTsKaWJVPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9MCxiPUUzdChuLC4uLlcpO2ImJihEPWIuTik7RzcobixEKzEsLi4uVyl9OwokRT1mdW5jdGlvbihuLFcpe3RoaXMudHlwZT1uO3RoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1XO3RoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLko9ITF9OwpyRD1mdW5jdGlvbihuLFcpeyRFLmNhbGwodGhpcyxuP24udHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy5OPW51bGw7biYmdGhpcy5pbml0KG4sVyl9OwpONT1mdW5jdGlvbihuKXtyZXR1cm4hKCFufHwhbltzMl0pfTsKbzNiPWZ1bmN0aW9uKG4sVyxELGIsdil7dGhpcy5saXN0ZW5lcj1uO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1XO3RoaXMudHlwZT1EO3RoaXMuY2FwdHVyZT0hIWI7dGhpcy5oYW5kbGVyPXY7dGhpcy5rZXk9Kyt1SWg7dGhpcy51Nz10aGlzLnFfPSExfTsKSEw9ZnVuY3Rpb24obil7bi51Nz0hMDtuLmxpc3RlbmVyPW51bGw7bi5wcm94eT1udWxsO24uc3JjPW51bGw7bi5oYW5kbGVyPW51bGx9OwpmSz1mdW5jdGlvbihuKXt0aGlzLnNyYz1uO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuTj0wfTsKSkg9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnR5cGU7RCBpbiBuLmxpc3RlbmVycyYmZy5GSShuLmxpc3RlbmVyc1tEXSxXKSYmKEhMKFcpLG4ubGlzdGVuZXJzW0RdLmxlbmd0aD09MCYmKGRlbGV0ZSBuLmxpc3RlbmVyc1tEXSxuLk4tLSkpfTsKSVc9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoIWsudTcmJmsubGlzdGVuZXI9PVcmJmsuY2FwdHVyZT09ISFEJiZrLmhhbmRsZXI9PWIpcmV0dXJuIHZ9cmV0dXJuLTF9OwpBSD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGImJmIub25jZSlyZXR1cm4gU2cobixXLEQsYix2KTtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylBSChuLFdba10sRCxiLHYpO3JldHVybiBudWxsfUQ9bWgoRCk7cmV0dXJuIE41KG4pP24uU18oVyxELGcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLHYpOktLKG4sVyxELCExLGIsdil9OwpLSz1mdW5jdGlvbihuLFcsRCxiLHYsayl7aWYoIVcpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO3ZhciBoPWcuZnQodik/ISF2LmNhcHR1cmU6ISF2LHg9TzIobik7eHx8KG5bUExdPXg9bmV3IGZLKG4pKTtEPXguYWRkKFcsRCxiLGgsayk7aWYoRC5wcm94eSlyZXR1cm4gRDtiPWRVcigpO0QucHJveHk9YjtiLnNyYz1uO2IubGlzdGVuZXI9RDtpZihuLmFkZEV2ZW50TGlzdGVuZXIpdj09PXZvaWQgMCYmKHY9ITEpLG4uYWRkRXZlbnRMaXN0ZW5lcihXLnRvU3RyaW5nKCksYix2KTtlbHNlIGlmKG4uYXR0YWNoRXZlbnQpbi5hdHRhY2hFdmVudChaRChXLnRvU3RyaW5nKCkpLGIpO2Vsc2UgaWYobi5hZGRMaXN0ZW5lciYmbi5yZW1vdmVMaXN0ZW5lciluLmFkZExpc3RlbmVyKGIpO2Vsc2UgdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtVMisrO3JldHVybiBEfTsKZFVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihEKXtyZXR1cm4gVy5jYWxsKG4uc3JjLG4ubGlzdGVuZXIsRCl9CnZhciBXPXpCdDtyZXR1cm4gbn07ClNnPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSl7Zm9yKGxldCBrPTA7azxXLmxlbmd0aDtrKyspU2cobixXW2tdLEQsYix2KTtyZXR1cm4gbnVsbH1EPW1oKEQpO3JldHVybiBONShuKT9uLmVGKFcsRCxnLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2KTpLSyhuLFcsRCwhMCxiLHYpfTsKeTc9ZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgaz0wO2s8Vy5sZW5ndGg7aysrKXk3KG4sV1trXSxELGIsdik7ZWxzZSBiPWcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLEQ9bWgoRCksTjUobik/bi53SChXLEQsYix2KTpuJiYobj1PMihuKSkmJihXPW4uc2MoVyxELGIsdikpJiZFMihXKX07CkUyPWZ1bmN0aW9uKG4pe2lmKHR5cGVvZiBuIT09Im51bWJlciImJm4mJiFuLnU3KXt2YXIgVz1uLnNyYztpZihONShXKSlKSChXLmRfLG4pO2Vsc2V7dmFyIEQ9bi50eXBlLGI9bi5wcm94eTtXLnJlbW92ZUV2ZW50TGlzdGVuZXI/Vy5yZW1vdmVFdmVudExpc3RlbmVyKEQsYixuLmNhcHR1cmUpOlcuZGV0YWNoRXZlbnQ/Vy5kZXRhY2hFdmVudChaRChEKSxiKTpXLmFkZExpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyKGIpO1UyLS07KEQ9TzIoVykpPyhKSChELG4pLEQuTj09MCYmKEQuc3JjPW51bGwsV1tQTF09bnVsbCkpOkhMKG4pfX19OwpaRD1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbiBpST9pSVtuXTppSVtuXT0ib24iK259Owp6QnQ9ZnVuY3Rpb24obixXKXtpZihuLnU3KW49ITA7ZWxzZXtXPW5ldyByRChXLHRoaXMpO2xldCBEPW4ubGlzdGVuZXIsYj1uLmhhbmRsZXJ8fG4uc3JjO24ucV8mJkUyKG4pO249RC5jYWxsKGIsVyl9cmV0dXJuIG59OwpPMj1mdW5jdGlvbihuKXtuPW5bUExdO3JldHVybiBuIGluc3RhbmNlb2YgZks/bjpudWxsfTsKbWg9ZnVuY3Rpb24obil7aWYodHlwZW9mIG49PT0iZnVuY3Rpb24iKXJldHVybiBuO25bdUldfHwoblt1SV09ZnVuY3Rpb24oVyl7cmV0dXJuIG4uaGFuZGxlRXZlbnQoVyl9KTsKcmV0dXJuIG5bdUldfTsKZy5vVz1mdW5jdGlvbigpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLmRfPW5ldyBmSyh0aGlzKTt0aGlzLkhkPXRoaXM7dGhpcy5sWj1udWxsfTsKZEQ9ZnVuY3Rpb24obixXLEQsYil7Vz1uLmRfLmxpc3RlbmVyc1tTdHJpbmcoVyldO2lmKCFXKXJldHVybiEwO1c9Vy5jb25jYXQoKTt2YXIgdj0hMDtmb3IobGV0IGs9MDtrPFcubGVuZ3RoOysrayl7bGV0IGg9V1trXTtpZihoJiYhaC51NyYmaC5jYXB0dXJlPT1EKXtsZXQgeD1oLmxpc3RlbmVyLEw9aC5oYW5kbGVyfHxoLnNyYztoLnFfJiZKSChuLmRfLGgpO3Y9eC5jYWxsKEwsYikhPT0hMSYmdn19cmV0dXJuIHYmJiFiLmRlZmF1bHRQcmV2ZW50ZWR9OwpnLlQ3PWZ1bmN0aW9uKG4pe249KDAsZy56Nykobik7bEl8fChsST1sNGooKSk7bEkobil9OwpsNGo9ZnVuY3Rpb24oKXtpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWwhPT0idW5kZWZpbmVkIil7bGV0IG49bmV3IE1lc3NhZ2VDaGFubmVsLFc9e30sRD1XO24ucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKCl7aWYoVy5uZXh0IT09dm9pZCAwKXtXPVcubmV4dDtsZXQgYj1XLmtBO1cua0E9bnVsbDtiKCl9fTsKcmV0dXJuIGZ1bmN0aW9uKGIpe0QubmV4dD17a0E6Yn07RD1ELm5leHQ7bi5wb3J0Mi5wb3N0TWVzc2FnZSgwKX19cmV0dXJuIGZ1bmN0aW9uKG4pe2cucWkuc2V0VGltZW91dChuLDApfX07ClR6cj1mdW5jdGlvbigpe2Zvcih2YXIgbjtuPWpnLnJlbW92ZSgpOyl7dHJ5e24uTi5jYWxsKG4uc2NvcGUpfWNhdGNoKFcpe2g0KFcpfUNLLnB1dChuKX1CTD0hMX07CmcuRlQ9ZnVuY3Rpb24oKXt9OwpqTWg9ZnVuY3Rpb24obil7dmFyIFc9V3x8MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwLFcpKX19OwpnLndEPWZ1bmN0aW9uKG4pe3ZhciBXPSExLEQ7cmV0dXJuIGZ1bmN0aW9uKCl7V3x8KEQ9bigpLFc9ITApO3JldHVybiBEfX07CmcuWDE9ZnVuY3Rpb24obixXKXt0aGlzLk49MDt0aGlzLks9dm9pZCAwO3RoaXMuWD10aGlzLko9dGhpcy5XPW51bGw7dGhpcy5qPXRoaXMuVj0hMTtpZihuIT1nLkZUKXRyeXtsZXQgRD10aGlzO24uY2FsbChXLGZ1bmN0aW9uKGIpe2dwKEQsMixiKX0sZnVuY3Rpb24oYil7Z3AoRCwzLGIpfSl9Y2F0Y2goRCl7Z3AodGhpcywzLEQpfX07CnE4PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuY29udGV4dD10aGlzLko9dGhpcy5XPXRoaXMuTj1udWxsO3RoaXMuWD0hMX07CmcudCQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUczLmdldCgpO2IuVz1uO2IuSj1XO2IuY29udGV4dD1EO3JldHVybiBifTsKJEc9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIG47dmFyIFc9bmV3IGcuWDEoZy5GVCk7Z3AoVywyLG4pO3JldHVybiBXfTsKZy5ycD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IGcuWDEoZnVuY3Rpb24oVyxEKXtEKG4pfSl9OwpwcT1mdW5jdGlvbihuLFcsRCxiKXtnLk44KG4sZy50JChXfHxnLkZULER8fG51bGwsYikpfTsKWUc9ZnVuY3Rpb24obixXKXtpZihuLk49PTApaWYobi5XKXt2YXIgRD1uLlc7aWYoRC5KKXt2YXIgYj0wLHY9bnVsbCxrPW51bGw7Zm9yKGxldCBoPUQuSjtoJiYoaC5YfHwoYisrLGguTj09biYmKHY9aCksISh2JiZiPjEpKSk7aD1oLm5leHQpdnx8KGs9aCk7diYmKEQuTj09MCYmYj09MT9ZRyhELFcpOihrPyhiPWssYi5uZXh0PT1ELlgmJihELlg9YiksYi5uZXh0PWIubmV4dC5uZXh0KTpISihEKSxmcShELHYsMyxXKSkpfW4uVz1udWxsfWVsc2UgZ3AobiwzLFcpfTsKZy5OOD1mdW5jdGlvbihuLFcpe24uSnx8bi5OIT0yJiZuLk4hPTN8fEokKG4pO24uWD9uLlgubmV4dD1XOm4uSj1XO24uWD1XfTsKU089ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9Zy50JChudWxsLG51bGwsbnVsbCk7di5OPW5ldyBnLlgxKGZ1bmN0aW9uKGssaCl7di5XPVc/ZnVuY3Rpb24oeCl7dHJ5e2xldCBMPVcuY2FsbChiLHgpO2soTCl9Y2F0Y2goTCl7aChMKX19Oms7CnYuSj1EP2Z1bmN0aW9uKHgpe3RyeXtsZXQgTD1ELmNhbGwoYix4KTtMPT09dm9pZCAwJiZ4IGluc3RhbmNlb2YgZy5JNT9oKHgpOmsoTCl9Y2F0Y2goTCl7aChMKX19Omh9KTsKdi5OLlc9bjtnLk44KG4sdik7cmV0dXJuIHYuTn07CmdwPWZ1bmN0aW9uKG4sVyxEKXtuLk49PTAmJihuPT09RCYmKFc9MyxEPW5ldyBUeXBlRXJyb3IoIlByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpLG4uTj0xLGcuQSQoRCxuLklRLG4uQVMsbil8fChuLks9RCxuLk49VyxuLlc9bnVsbCxKJChuKSxXIT0zfHxEIGluc3RhbmNlb2YgZy5JNXx8Q18xKG4sRCkpKX07CmcuQSQ9ZnVuY3Rpb24obixXLEQsYil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIHBxKG4sVyxELGIpLCEwO2lmKG4pdHJ5e3ZhciB2PSEhbi4kZ29vZ19UaGVuYWJsZX1jYXRjaChrKXt2PSExfWVsc2Ugdj0hMTtpZih2KXJldHVybiBuLnRoZW4oVyxELGIpLCEwO2lmKGcuZnQobikpdHJ5e2xldCBrPW4udGhlbjtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiIpcmV0dXJuIEJ6aShuLGssVyxELGIpLCEwfWNhdGNoKGspe3JldHVybiBELmNhbGwoYixrKSwhMH1yZXR1cm4hMX07CkJ6aT1mdW5jdGlvbihuLFcsRCxiLHYpe2Z1bmN0aW9uIGsoTCl7eHx8KHg9ITAsYi5jYWxsKHYsTCkpfQpmdW5jdGlvbiBoKEwpe3h8fCh4PSEwLEQuY2FsbCh2LEwpKX0KdmFyIHg9ITE7dHJ5e1cuY2FsbChuLGgsayl9Y2F0Y2goTCl7ayhMKX19OwpKJD1mdW5jdGlvbihuKXtuLlZ8fChuLlY9ITAsZy5tSyhuLnlzLG4pKX07CkhKPWZ1bmN0aW9uKG4pe3ZhciBXPW51bGw7bi5KJiYoVz1uLkosbi5KPVcubmV4dCxXLm5leHQ9bnVsbCk7bi5KfHwobi5YPW51bGwpO3JldHVybiBXfTsKZnE9ZnVuY3Rpb24obixXLEQsYil7aWYoRD09MyYmVy5KJiYhVy5YKWZvcig7biYmbi5qO249bi5XKW4uaj0hMTtpZihXLk4pVy5OLlc9bnVsbCxLcShXLEQsYik7ZWxzZSB0cnl7Vy5YP1cuVy5jYWxsKFcuY29udGV4dCk6S3EoVyxELGIpfWNhdGNoKHYpe091LmNhbGwobnVsbCx2KX1HMy5wdXQoVyl9OwpLcT1mdW5jdGlvbihuLFcsRCl7Vz09Mj9uLlcuY2FsbChuLmNvbnRleHQsRCk6bi5KJiZuLkouY2FsbChuLmNvbnRleHQsRCl9OwpDXzE9ZnVuY3Rpb24obixXKXtuLmo9ITA7Zy5tSyhmdW5jdGlvbigpe24uaiYmT3UuY2FsbChudWxsLFcpfSl9OwpnLkk1PWZ1bmN0aW9uKG4pe2cuVGIuY2FsbCh0aGlzLG4pfTsKZy5QSj1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLmd0PW58fDE7dGhpcy5WNz1XfHxnLnFpO3RoaXMuaEU9KDAsZy5LdCkodGhpcy5SUSx0aGlzKTt0aGlzLmpiPWcuVXcoKX07CmcuWnQ9ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBuPT09ImZ1bmN0aW9uIilEJiYobj0oMCxnLkt0KShuLEQpKTtlbHNlIGlmKG4mJnR5cGVvZiBuLmhhbmRsZUV2ZW50PT0iZnVuY3Rpb24iKW49KDAsZy5LdCkobi5oYW5kbGVFdmVudCxuKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIGxpc3RlbmVyIGFyZ3VtZW50Iik7cmV0dXJuIE51bWJlcihXKT4yMTQ3NDgzNjQ3Py0xOmcucWkuc2V0VGltZW91dChuLFd8fDApfTsKZy5VdT1mdW5jdGlvbihuLFcpe3ZhciBEPW51bGw7cmV0dXJuKG5ldyBnLlgxKGZ1bmN0aW9uKGIsdil7RD1nLlp0KGZ1bmN0aW9uKCl7YihXKX0sbik7CkQ9PS0xJiZ2KEVycm9yKCJGYWlsZWQgdG8gc2NoZWR1bGUgdGltZXIuIikpfSkpLnNQKGZ1bmN0aW9uKGIpe2cucWkuY2xlYXJUaW1lb3V0KEQpOwp0aHJvdyBiO30pfTsKRXU9ZnVuY3Rpb24obixXLC4uLkQpe24uVy5oYXMoVyl8fG4uVy5zZXQoVyxuZXcgeTgoVyxEKSl9Owp1ZT1mdW5jdGlvbihuLFcsLi4uRCl7bi5XLmhhcyhXKXx8bi5XLnNldChXLG5ldyBpZShXLEQpKX07Cm81PWZ1bmN0aW9uKG4pe24uSi5lbmFibGVkfHxuLkouc3RhcnQoKTtuLlYrKztuLlY+PW4uWCYmbi5qKCl9OwpGY2I9ZnVuY3Rpb24obil7Zm9yKGxldCBXPTA7VzxuLmxlbmd0aDtXKyspbltXXS5jbGVhcigpfTsKZHA9ZnVuY3Rpb24obixXLC4uLkQpeyhXPW4uTihXKSkmJlcgaW5zdGFuY2VvZiBpZSYmKGliVShXLC4uLkQpLG81KG4pKX07CnozPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19Owp3TVM9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTsKbGU9ZnVuY3Rpb24oKXt9OwpUMz1mdW5jdGlvbihuLFcsRCl7aWYoVz09bnVsbClELnB1c2goIm51bGwiKTtlbHNle2lmKHR5cGVvZiBXPT0ib2JqZWN0Iil7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9VztXPWIubGVuZ3RoO0QucHVzaCgiWyIpO3ZhciB2PSIiO2Zvcih2YXIgaz0wO2s8VztrKyspRC5wdXNoKHYpLFQzKG4sYltrXSxEKSx2PSIsIjtELnB1c2goIl0iKTtyZXR1cm59aWYoVyBpbnN0YW5jZW9mIFN0cmluZ3x8VyBpbnN0YW5jZW9mIE51bWJlcnx8VyBpbnN0YW5jZW9mIEJvb2xlYW4pVz1XLnZhbHVlT2YoKTtlbHNle0QucHVzaCgieyIpO3Y9IiI7Zm9yKGIgaW4gVylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoVyxiKSYmKGs9V1tiXSx0eXBlb2YgayE9ImZ1bmN0aW9uIiYmKEQucHVzaCh2KSxqTyhiLEQpLEQucHVzaCgiOiIpLFQzKG4sayxEKSx2PSIsIikpO0QucHVzaCgifSIpO3JldHVybn19c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOmpPKFcsRCk7YnJlYWs7CmNhc2UgIm51bWJlciI6RC5wdXNoKGlzRmluaXRlKFcpJiYhaXNOYU4oVyk/U3RyaW5nKFcpOiJudWxsIik7YnJlYWs7Y2FzZSAiYm9vbGVhbiI6RC5wdXNoKFN0cmluZyhXKSk7YnJlYWs7Y2FzZSAiZnVuY3Rpb24iOkQucHVzaCgibnVsbCIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZTogIit0eXBlb2YgVyk7fX19OwpqTz1mdW5jdGlvbihuLFcpe1cucHVzaCgnIicsbi5yZXBsYWNlKE1qWixmdW5jdGlvbihEKXt2YXIgYj1DcVtEXTtifHwoYj0iXFx1IisoRC5jaGFyQ29kZUF0KDApfDY1NTM2KS50b1N0cmluZygxNikuc2xpY2UoMSksQ3FbRF09Yik7cmV0dXJuIGJ9KSwnIicpfTsKUkJiPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDA6cmV0dXJuIk5vIEVycm9yIjtjYXNlIDE6cmV0dXJuIkFjY2VzcyBkZW5pZWQgdG8gY29udGVudCBkb2N1bWVudCI7Y2FzZSAyOnJldHVybiJGaWxlIG5vdCBmb3VuZCI7Y2FzZSAzOnJldHVybiJGaXJlZm94IHNpbGVudGx5IGVycm9yZWQiO2Nhc2UgNDpyZXR1cm4iQXBwbGljYXRpb24gY3VzdG9tIGVycm9yIjtjYXNlIDU6cmV0dXJuIkFuIGV4Y2VwdGlvbiBvY2N1cnJlZCI7Y2FzZSA2OnJldHVybiJIdHRwIHJlc3BvbnNlIGF0IDQwMCBvciA1MDAgbGV2ZWwiO2Nhc2UgNzpyZXR1cm4iUmVxdWVzdCB3YXMgYWJvcnRlZCI7Y2FzZSA4OnJldHVybiJSZXF1ZXN0IHRpbWVkIG91dCI7Y2FzZSA5OnJldHVybiJUaGUgcmVzb3VyY2UgaXMgbm90IGF2YWlsYWJsZSBvZmZsaW5lIjtkZWZhdWx0OnJldHVybiJVbnJlY29nbml6ZWQgZXJyb3IgY29kZSJ9fTsKQko9ZnVuY3Rpb24oKXt9OwpGMT1mdW5jdGlvbigpe307CndwPWZ1bmN0aW9uKG4pe2cub1cuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLlRDPW58fG51bGw7dGhpcy5KPSExO3RoaXMuTj1udWxsO3RoaXMuSz0iIjt0aGlzLlc9MDt0aGlzLmo9IiI7dGhpcy5YPXRoaXMudHc9dGhpcy5ZPXRoaXMuY0o9ITE7dGhpcy5EPTA7dGhpcy5WPW51bGw7dGhpcy5iZD0iIjt0aGlzLk89ITF9OwpRTVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9bmV3IHdwO004LnB1c2goeCk7VyYmeC5TXygiY29tcGxldGUiLFcpO3guZUYoInJlYWR5Iix4LldVKTtrJiYoeC5EPU1hdGgubWF4KDAsaykpO2gmJih4Lk89aCk7eC5zZW5kKG4sRCxiLHYpfTsKVjg9ZnVuY3Rpb24obixXKXtuLko9ITE7bi5OJiYobi5YPSEwLG4uTi5hYm9ydCgpLG4uWD0hMSk7bi5qPVc7bi5XPTU7UjUobik7UTgobil9OwpSNT1mdW5jdGlvbihuKXtuLmNKfHwobi5jSj0hMCxuLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksbi5kaXNwYXRjaEV2ZW50KCJlcnJvciIpKX07Cm5WPWZ1bmN0aW9uKG4pe2lmKG4uSiYmdHlwZW9mIGNKIT0idW5kZWZpbmVkIilpZihuLlkmJmE1KG4pPT00KXNldFRpbWVvdXQobi5OOC5iaW5kKG4pLDApO2Vsc2UgaWYobi5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksbi5pc0NvbXBsZXRlKCkpe24uZ2V0U3RhdHVzKCk7bi5KPSExO3RyeXtpZihuLmlzU3VjY2VzcygpKW4uZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxuLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle24uVz02O3RyeXt2YXIgVz1hNShuKT4yP24uTi5zdGF0dXNUZXh0OiIifWNhdGNoKEQpe1c9IiJ9bi5qPVcrIiBbIituLmdldFN0YXR1cygpKyJdIjtSNShuKX19ZmluYWxseXtROChuKX19fTsKUTg9ZnVuY3Rpb24obixXKXtpZihuLk4pe24uViYmKGNsZWFyVGltZW91dChuLlYpLG4uVj1udWxsKTtsZXQgRD1uLk47bi5OPW51bGw7V3x8bi5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RyeXtELm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsfWNhdGNoKGIpe319fTsKYTU9ZnVuY3Rpb24obil7cmV0dXJuIG4uTj9uLk4ucmVhZHlTdGF0ZTowfTsKVzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBuLk4/bi5OLnJlc3BvbnNlVGV4dDoiIn1jYXRjaChXKXtyZXR1cm4iIn19OwpEbz1mdW5jdGlvbihuKXt0cnl7aWYoIW4uTilyZXR1cm4gbnVsbDtpZigicmVzcG9uc2UiaW4gbi5OKXJldHVybiBuLk4ucmVzcG9uc2U7c3dpdGNoKG4uYmQpe2Nhc2UgIiI6Y2FzZSAidGV4dCI6cmV0dXJuIG4uTi5yZXNwb25zZVRleHQ7Y2FzZSAiYXJyYXlidWZmZXIiOmlmKCJtb3pSZXNwb25zZUFycmF5QnVmZmVyImluIG4uTilyZXR1cm4gbi5OLm1velJlc3BvbnNlQXJyYXlCdWZmZXJ9cmV0dXJuIG51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKVmp0PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249KG4uTiYmYTUobik+PTI/bi5OLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHwiIjoiIikuc3BsaXQoIlxyXG4iKTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7aWYoZy5GaChuW2JdKSljb250aW51ZTt2YXIgRD1Td2gobltiXSk7bGV0IHY9RFswXTtEPURbMV07aWYodHlwZW9mIEQhPT0ic3RyaW5nIiljb250aW51ZTtEPUQudHJpbSgpO2xldCBrPVdbdl18fFtdO1dbdl09aztrLnB1c2goRCl9cmV0dXJuIFd4KFcsZnVuY3Rpb24oYil7cmV0dXJuIGIuam9pbigiLCAiKX0pfTsKdjM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPWJuKCk7Vz1XKCk7bi5YKEQsYm4oKS1iKTtyZXR1cm4gV307Cm5sMT1mdW5jdGlvbihuLFcsRCxiKXtuPVVVYihQX2koS2NoKG5ldyBrWSxuKSkpLmtDKCk7Vy5sZW5ndGgmJlpiaChuLHRqVShuZXcgY0ZaLFcpKTtiIT09dm9pZCAwJiYobi5Saj1iKTt2YXIgdj1uZXcgYTRqKG4uYnVpbGQoKSk7Zy51KHYsbik7dmFyIGs9bmV3IGhxKHtmbHVzaChoKXt0cnl7di5mbHVzaChoKX1jYXRjaCh4KXtEKHgpfX19KTtrLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtrLmooKX1maW5hbGx5e3YuZGlzcG9zZSgpfX0pfSk7CmsuWD0xRTU7ay5mbHVzaEludGVydmFsPTNFNDtrLkouc2V0SW50ZXJ2YWwoM0U0KTtyZXR1cm4ga307CldXcj1mdW5jdGlvbihuKXtpZihuLnRpbWVyPT09dm9pZCAwKXtsZXQgVz1NYXRoLm1heCgwLG4uTituLkotYm4oKSk7bi50aW1lcj1zZXRUaW1lb3V0KCgpPT57dHJ5e24uY2FsbGJhY2soKX1maW5hbGx5e24uTj1ibigpLG4udGltZXI9dm9pZCAwfX0sVyl9fTsKYnBNPWZ1bmN0aW9uKG4sVz1bXSl7cmV0dXJuIG5ldyBEaHgobixXKX07CmJuPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9OwpMVj1mdW5jdGlvbihuLFcpe2lmKG4uZGlzYWJsZSlyZXR1cm4gbmV3IHhZO1c9Vz9uMChXKTpbXTtyZXR1cm4gYnBNKHtWajpuLlZqLFJoOm4uSnAsTFQ6bi5SaSxSajpuLlJqLHREOm4udEQscm86bi5yb30sVyl9Owp2bHI9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIG51bGw7bj1KUyhuLDQpO3JldHVybiBuPT09bnVsbHx8bj09PXZvaWQgMD9udWxsOmszKG4pfTsKZyQ9ZnVuY3Rpb24oKXtlbS5pbnN0YW5jZXx8KGVtLmluc3RhbmNlPW5ldyBlbSk7cmV0dXJuIGVtLmluc3RhbmNlfTsKazVaPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFXJiYhRClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIWIpcmV0dXJuIFg2KFcsRCk7dmFyIHY7KHY9bi5KKVtiXXx8KHZbYl09bmV3IFByb21pc2UoKGssaCk9PntYNihXLEQpLnRoZW4oKCk9PntuLk49YjtrKCl9LHg9PntkZWxldGUgbi5KW2JdOwpoKHgpfSl9KSk7CnJldHVybiBuLkpbYl19Owp0cT1mdW5jdGlvbihuLFcpe3JldHVybiBrNVoobixnZShXLHF2LDEseFUpLGdlKFcsR0gsMix4VSksWTkoVywzLHZvaWQgMCx4VSkpfTsKWDY9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz9oSFMoVyk6bj94aGIobik6UHJvbWlzZS5yZXNvbHZlKCl9OwpoSFM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKChXLEQpPT57dmFyIGI9Zy56RigiU0NSSVBUIiksdj12bHIobik7Zy5QTShiLHYpO2Iub25sb2FkPSgpPT57Zy5DVChiKTtXKCl9OwpiLm9uZXJyb3I9KCk9PntnLkNUKGIpO0QoRXJyb3IoIkVXTFMiKSl9OwooZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChiKX0pfTsKeGhiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57dmFyIEQ9Zy56RigiU0NSSVBUIik7aWYobil7dmFyIGI9SlMobiw2KTtiPWI9PT1udWxsfHxiPT09dm9pZCAwP251bGw6bWMoYil9ZWxzZSBiPW51bGw7RC50ZXh0Q29udGVudD1LYihiKTtPTShEKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChEKTtnLkNUKEQpO1coKX0pfTsKTFcyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFTKG4sMSxXKX07CmVIaD1mdW5jdGlvbihuLFcpe3JldHVybiBBUyhuLDIsVyl9OwpnbGg9ZnVuY3Rpb24obixXKXtyZXR1cm4gQVMobiwzLFcpfTsKc2w9YXN5bmMgZnVuY3Rpb24obixXLEQsYix2KXtXPWdsaChlSGgoTFcyKG5ldyAkWSxuLnJlcXVlc3RLZXkpLFcpLEQpO0Q9bi5OKCk7bj1hd2FpdCBiLlYoImMiLG4ucmVxdWVzdEtleSx2LG4uY2xpZW50LmNyZWF0ZShXLEQpKTt2YXIgaz1WbChSeihuLDIpKTtpZihrLmxlbmd0aClyZXR1cm4gdjMoYiwoKT0+e3ZhciBoPW5ldyBVaW50OEFycmF5KGsubGVuZ3RoKTtmb3IodmFyIHg9MDt4PGsubGVuZ3RoO3grKyloW3hdPWtbeF0rOTc7aWYoZy5xaS5UZXh0RGVjb2RlciloPShuZXcgVGV4dERlY29kZXIpLmRlY29kZShoKTtlbHNlIGlmKGgubGVuZ3RoPD04MTkyKWg9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGgpO2Vsc2V7eD0iIjtmb3IobGV0IEw9MDtMPGgubGVuZ3RoO0wrPTgxOTIpe2xldCBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGgsTCxMKzgxOTIpO3grPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKX1oPXh9cmV0dXJuIFg0WihoKX0sCiJVIik7CmI9Z2UobixyJCwxKTtpZighYil0aHJvdyBFcnJvcigiTWlzc2luZyBmaWVsZCIpO3JldHVybiBifTsKSDM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bi5OKCk7dmFyIGs9bmV3IE52O2s9QVMoaywxLG4ucmVxdWVzdEtleSk7dmFyIGg9QVMoaywyLFcpO1c9RC5WO2s9bi5yZXF1ZXN0S2V5O249bi5jbGllbnQ7dj1ZWShuLk4sbi5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixoLHZ8fHt9LHFUUyk7cmV0dXJuIFcuY2FsbChELCJnIixrLGIsdil9OwpHNWg9ZnVuY3Rpb24obixXLEQsYix2KXtyZXR1cm4gbiBpbnN0YW5jZW9mIGZWP3NsKG4sYix2LFcsRCk6c2wobixiLHYsbmV3IHhZLDApfTsKckFiPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGI9ZyQoKSx2PVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGspe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCB4PW51bGw7aWYoaCl7SnEobiw3KTt0cnl7eD1hd2FpdCBJaShoLnNuYXBzaG90KHt9KSxrLmpkLCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKEcpe3g9IkU6VUNFIn19bGV0IEwsZT1uZXcgZy5oSChoP2sudzg6ay5DcSxrLm96LGsuZDgsay5BaSk7CmZvcihsZXQgRz0xO0c8PWsubWF4QXR0ZW1wdHM7RysrKXtpZihHIT09MSl7SnEobiwwKTtuLk49bmV3IFNtKGUuZ2V0VmFsdWUoKSxrLnVtLGsubmIpO2xldCByPWF3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7cj09PTE/KEc9MSxlLnJlc2V0KCkpOmcueEUoZSl9dHJ5e2xldCByO0Q/cj1EOihKcShuLDUpLHI9YXdhaXQgSWkoRzVoKFcsbi5sb2dnZXIsRyxiLk4seCksay5ocCwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoIlJHRjpGZXRjaCB0aW1lZCBvdXQiKSkpKTsKSnEobiwzKTthd2FpdCBJaSh0cShiLHIpLGsuUVgsKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJEVFo6U2NyaXB0IHRpbWVkIG91dCIpKSk7CkpxKG4sOCk7YXdhaXQgdjtsZXQgTj1uZXcgQXEoe2NoYWxsZW5nZTpyLHgzOm4ub3B0aW9ucy54Myx3MzpuLm9wdGlvbnMudzN9KTthd2FpdCBJaShOLk92LGsucUssKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJRRUc6U2V0dXAgdGltZWQgb3V0IikpKTsKTD1OO2JyZWFrfWNhdGNoKHIpe24uaGFuZGxlRXJyb3IociksbUkobil9fWlmKG4ucU4oKSlicmVhaztMJiYoRD12b2lkIDAsdDFVKG4saCksaD1MLCRoaChuLEwpLG1JKG4pKTtKcShuLDIpO24uTj1uZXcgU20oay5GWixrLnVtLGsubmIpO24uaXNQYXVzZWQmJm4uTi5wYXVzZSgpO2F3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7aWYobi5xTigpKWJyZWFrfWg/LmRpc3Bvc2UoKX07CnNQMj1mdW5jdGlvbihuKXtuLks9RXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIik7bi5qLnJlc29sdmUoKTtXMihuLlYucHJvbWlzZSk7bi5WLnJlamVjdChFcnJvcigiQ2FuY2VsbGVkIGJ5IGRpc3Bvc2UiKSk7bi5sb2dnZXIuZGlzcG9zZSgpO1Byb21pc2UuYWxsKG4uWCkudGhlbihhc3luYygpPT57bi5XPy5kaXNwb3NlKCk7bi5XPXZvaWQgMH0pOwpuLlg9W107bi5OPy5KKCk7VzIobi5KLnByb21pc2UpO24uSi5yZWplY3QoRXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIikpfTsKTlR0PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4ucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO24uTj8uSigpO2F3YWl0IG4uSi5wcm9taXNlfTsKcDRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5xSjtuLnFKPSgpPT57RCgpO1coKX19OwokaGg9ZnVuY3Rpb24obixXKXtuLnFOKCl8fChuLlc9VyxuLmxvZ2dlci51cGRhdGUoVy5RRCgpKSxuLmoucmVzb2x2ZSgpLG4uVi5yZXNvbHZlKHZvaWQgMCksbi5xSigpKX07CnQxVT1mdW5jdGlvbihuLFcpe1cmJihQcm9taXNlLmFsbChuLlgpLnRoZW4oKCk9PnZvaWQgVy5kaXNwb3NlKCkpLG4uWD1bXSl9OwpKcT1mdW5jdGlvbihuLFcpe24uWT1XO24ub3B0aW9ucy5mUD8uKFcpfTsKbUk9ZnVuY3Rpb24obil7bi5xTigpfHwobi5KLnJlc29sdmUoKSxuLko9bmV3IGcuS1YpfTsKSWk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO0Q9KG5ldyBQcm9taXNlKHY9PntiPXNldFRpbWVvdXQodixXKX0pKS50aGVuKEQpOwpXMihEKTtyZXR1cm4gUHJvbWlzZS5yYWNlKFtuLmZpbmFsbHkoKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGIpKSwKRF0pfTsKWVRVPWZ1bmN0aW9uKG4sVyl7bi5lbmRUaW1lTXM9RGF0ZS5ub3coKStXO24udGljaygpfTsKT2w9ZnVuY3Rpb24obil7bi5OJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUDM9ZnVuY3Rpb24obixXKXt0cnl7cmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShuLFcpLCEwfWNhdGNoKEQpe3JldHVybiExfX07ClpvPWZ1bmN0aW9uKG4sVz0wLEQ9bi5sZW5ndGgsYil7dmFyIHY9MDtmb3IoYiYmKHY9Wm8oYikpO1c8RDtXKyspdj1IcGkoMzEsdikrKHR5cGVvZiBuPT09InN0cmluZyI/bi5jaGFyQ29kZUF0KFcpOm5bV10pfDA7cmV0dXJuIHZ9Owp5aT1mdW5jdGlvbihuKXt2YXIgW1csRF09W1pvKG4sMCxuLmxlbmd0aD4+MSxVbCksWm8obixuLmxlbmd0aD4+MSldO3JldHVybiBXLnRvU3RyaW5nKDE2KStELnRvU3RyaW5nKDE2KX07CkVsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W1pvKFcsMCxXLmxlbmd0aD4+MSx2b2lkIDApLFpvKFcsVy5sZW5ndGg+PjEpXTtuPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlcik7Vz1uWzBdO3ZhciBbYix2XT1EO2ZvcihEPTE7RDxuLmxlbmd0aDtEKz0yKXt2YXIgaz1XLGg9RCx4PWIsTD12O2ZvcihsZXQgZT0wO2U8MjI7ZSsrKWg9aD4+Pjh8aDw8MjQsaCs9a3wwLGhePXgrMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1oLEw9TD4+Pjh8TDw8MjQsTCs9eHwwLExePWUrMzgyOTMseD14PDwzfHg+Pj4yOSx4Xj1MO2s9W2ssaF07bltEXV49a1swXTtEKzE8bi5sZW5ndGgmJihuW0QrMV1ePWtbMV0pfX07CmZlYj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSg0LShVbC5sZW5ndGgrRC5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2srVWwubGVuZ3RoKzQrRC5sZW5ndGgpLHg9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxMPTA7eC5zZXRVaW50MzIoTCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO0w9TCs0K2s7aC5zZXQoVWwsTCk7TCs9VWwubGVuZ3RoO3guc2V0VWludDMyKEwsdik7aC5zZXQoRCxMKzQpO0VsKGgsYik7cmV0dXJuIG4ucXAoVyxlPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShlKSk/UDMoVyxnLkVBKGgpKT8icyI6InQiOiJpIn07CkpBdz1mdW5jdGlvbihuLFcpe3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShuKTtpZighRClyZXR1cm5bIm0iXTt0cnl7dmFyIGI9bHAoRCk7RWwoYixXKX1jYXRjaCh2KXtyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiYyJdfWZvcihXPTQ7Vzw3JiZiW1ddPT09MDspVysrO2ZvcihEPTA7RDxVbC5sZW5ndGg7RCsrKWlmKGJbVysrXSE9PVVsW0RdKXJldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0obiksWyJkIl07RD0obmV3IERhdGFWaWV3KGIuYnVmZmVyKSkuZ2V0VWludDMyKFcpO3JldHVybiBNYXRoLmZsb29yKERhdGUubm93KCkvMUUzKT49RD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiZSJdKTpbImEiLG5ldyBVaW50OEFycmF5KGIuYnVmZmVyLFcrNCldfTsKSWV3PWZ1bmN0aW9uKG4pe3ZhciBXPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiaVU1cS0hTzlAJCIpO2lmKCFXKXJldHVybiBuZXcgdW4obik7dmFyIEQ9Vy5zcGxpdCgiLCIpO2lmKEQubGVuZ3RoPDIpcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgiaVU1cS0hTzlAJCIpLG5ldyB1bihuKTtXPUQuc2xpY2UoMSk7Vy5sZW5ndGg9PT0xJiZXWzBdPT09IiImJihXPVtdKTtEPU51bWJlcihEWzBdKTtyZXR1cm4gaXNOYU4oRCl8fEQ8MHx8RD5XLmxlbmd0aD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IHVuKG4pKTpuZXcgdW4obixELFcpfTsKbWh3PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoKXtELT1iO0QtPXY7RF49dj4+PjEzO2ItPXY7Yi09RDtiXj1EPDw4O3YtPUQ7di09Yjt2Xj1iPj4+MTM7RC09YjtELT12O0RePXY+Pj4xMjtiLT12O2ItPUQ7Yl49RDw8MTY7di09RDt2LT1iO3ZePWI+Pj41O0QtPWI7RC09djtEXj12Pj4+MztiLT12O2ItPUQ7Yl49RDw8MTA7di09RDt2LT1iO3ZePWI+Pj4xNX0Kbj1TVHIobik7Zm9yKHZhciBEPTI2NTQ0MzU3NjksYj0yNjU0NDM1NzY5LHY9MzE0MTU5MjY1LGs9bi5sZW5ndGgsaD1rLHg9MDtoPj0xMjtoLT0xMix4Kz0xMilEKz1vaShuLHgpLGIrPW9pKG4seCs0KSx2Kz1vaShuLHgrOCksVygpO3YrPWs7c3dpdGNoKGgpe2Nhc2UgMTE6dis9blt4KzEwXTw8MjQ7Y2FzZSAxMDp2Kz1uW3grOV08PDE2O2Nhc2UgOTp2Kz1uW3grOF08PDg7Y2FzZSA4OmIrPW5beCs3XTw8MjQ7Y2FzZSA3OmIrPW5beCs2XTw8MTY7Y2FzZSA2OmIrPW5beCs1XTw8ODtjYXNlIDU6Yis9blt4KzRdO2Nhc2UgNDpEKz1uW3grM108PDI0O2Nhc2UgMzpEKz1uW3grMl08PDE2O2Nhc2UgMjpEKz1uW3grMV08PDg7Y2FzZSAxOkQrPW5beCswXX1XKCk7cmV0dXJuIEFBUy50b1N0cmluZyh2KX07ClNUcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2gobi5jaGFyQ29kZUF0KEQpKTtyZXR1cm4gV307Cm9pPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5bVyswXSsobltXKzFdPDw4KSsobltXKzJdPDwxNikrKG5bVyszXTw8MjQpfTsKZCQ9ZnVuY3Rpb24obixXKXt2YXIgRD1zZXRUaW1lb3V0KCgpPT57bi5YLnJlc29sdmUoKX0sVyk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KEQpKX07CmxuPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9YCR7VyhuLmVycm9yLm1lc3NhZ2UpfToke1cobi5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtXPUQubGVuZ3RoKzE7RD16SChEKTt2YXIgYj1uZXcgVWludDhBcnJheSg0K0QubGVuZ3RoKTtiLnNldChbNDIsVyYxMjd8MTI4LFc+Pjcsbi5lcnJvci5jb2RlXSk7Yi5zZXQoRCw0KTtyZXR1cm4gYn07CnpIPWZ1bmN0aW9uKG4pe3JldHVybiBnbG9iYWxUaGlzLlRleHRFbmNvZGVyPyhuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKTpMMChuKX07CktXVT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4gaW5zdGFuY2VvZiBmVj9IMyhuLEQsVywxKTpuLlpqKEQpfTsKQjM9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9dm9pZCAwO24uaisrO3ZhciBEPW5ldyBnLktWO24uTzEgaW5zdGFuY2VvZiBUSCYmbi5PMS5YLnB1c2goRC5wcm9taXNlKTtpZihuLlhsKXtsZXQgaz1uZXcgZy5LVjtzZXRUaW1lb3V0KCgpPT52b2lkIGsucmVzb2x2ZSgpKTsKYXdhaXQgay5wcm9taXNlfXZhciBiPW4ubG9nZ2VyLnNoYXJlKCk7dHJ5e24uc3RhdGU9NTtsZXQgaz1bXSxoPWF3YWl0IElpKG4uTzEuc25hcHNob3Qoe3dfOnt9LHRMOmt9KSxuLmtkLnJTLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTUsIk1EQTpUaW1lb3V0IikpKTsKam0obiwiTURBOkRpc3Bvc2VkIik7bGV0IHg9a1swXTtuLnN0YXRlPTY7bGV0IEw9YXdhaXQgSWkoS1dVKG4uVWcsYixoKSxuLmtkLlhVLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTAsIkJXQjpUaW1lb3V0IikpKTsKam0obiwiQldCOkRpc3Bvc2VkIik7bi5zdGF0ZT03O1c9djMoYiwoKT0+e3ZhciBlPU9waShuLEwsRCx4KTtlLlgucHJvbWlzZS50aGVuKCgpPT52b2lkIG4uVigpKTsKcmV0dXJuIGV9LCJpIil9Y2F0Y2goayl7Vz8uZGlzcG9zZSgpOwppZighbi5KKXtsZXQgaD1QZjIobixrKTtELnJlc29sdmUoKTt2YXIgdjtpZih2PW4uTzEgaW5zdGFuY2VvZiBUSCYmbi5qPDIpYTppZihrIGluc3RhbmNlb2YgUUcpdj1rLmNvZGUhPT0zMiYmay5jb2RlIT09MjAmJmsuY29kZSE9PTEwO2Vsc2V7aWYoayBpbnN0YW5jZW9mIENWKXN3aXRjaChrLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6dj0hMTticmVhayBhfXY9ITB9aWYodil7bGV0IHg9c2V0VGltZW91dCgoKT0+dm9pZCBuLlYoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKG4uTj82RTQ6MUUzKSk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHgpKTsKcmV0dXJufW4uSj1ofWIuSihuLk4/MTM6MTQpO24uWC5yZWplY3Qobi5KKTtyZXR1cm59ZmluYWxseXtiLmRpc3Bvc2UoKX1uLnN0YXRlPTg7bi5qPTA7bi5OPy5kaXNwb3NlKCk7bi5OPVc7bi5YLnJlc29sdmUoKX07ClBmMj1mdW5jdGlvbihuLFcpe2lmKCEoVyBpbnN0YW5jZW9mIFFHKSlpZihXIGluc3RhbmNlb2YgQ1Ype2xldCBEPUVycm9yKFcudG9TdHJpbmcoKSk7RC5zdGFjaz1XLnN0YWNrO1c9bmV3IFFHKDExLCJFQkg6RXJyb3IiLEQpfWVsc2UgVz1uZXcgUUcoMTIsIkJTTzpVbmtub3duIixXKTtyZXR1cm4gbi5yZXBvcnRFcnJvcihXKX07CmptPWZ1bmN0aW9uKG4sVyl7aWYobi5xTigpKXRocm93IG5ldyBRRyhuLk4/MjA6MzIsVyk7fTsKT3BpPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSh1NChpVyhXLDIpKT8/MCkqMUUzO2lmKHY8PTApdGhyb3cgbmV3IFFHKDMxLCJUVE06SW52YWxpZCIpO2lmKFk5KFcsNCkpcmV0dXJuIG5ldyBacHQobi5sb2dnZXIsWTkoVyw0KSx2KTtpZighKHU0KGlXKFcsMykpPz8wKSlyZXR1cm4gbmV3IFVoaihuLmxvZ2dlcixWbChSeihXLDEpKSx2KTtpZighYil0aHJvdyBuZXcgUUcoNCwiUE1EOlVuZGVmaW5lZCIpO2I9YihWbChSeihXLDEpKSk7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iKXRocm93IG5ldyBRRygxNiwiQVBGOkZhaWxlZCIpO24uSz1NYXRoLmZsb29yKChEYXRlLm5vdygpK3YpLzFFMyk7bj1uZXcgRjYobi5sb2dnZXIsYix1NChpVyhXLDMpKT8/MCx2KTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIEQucmVzb2x2ZSgpKTsKcmV0dXJuIG59OwpNdj1mdW5jdGlvbihuLFcsRCl7dHJ5e2lmKG4ucU4oKSl0aHJvdyBuZXcgUUcoMjEsIkJOVDpkaXNwb3NlZCIpO2lmKCFuLk4mJm4uSil0aHJvdyBuLko7cmV0dXJuIHlBMShuLFcsRCk/P0VsaShuLFcsRCk/P2lwcihuLFcsRCl9Y2F0Y2goYil7aWYoIVcuRVIpdGhyb3cgdyQobixiKTtyZXR1cm4gdU1aKG4sRCxiKX19Owp3JD1mdW5jdGlvbihuLFcpe1c9VyBpbnN0YW5jZW9mIFFHP1c6bmV3IFFHKDUsIlRWRDplcnJvciIsVyk7cmV0dXJuIG4ucmVwb3J0RXJyb3IoVyl9Owp5QTE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLk4/LkZwKCgpPT5SaShuLFcpLEQsYj0+e2lmKG4uTiBpbnN0YW5jZW9mIEY2JiZXLmhHPy5yMyl0cnl7bi5jYWNoZT8uTihSaShuLFcpLGIsVy5oRy5hbSxuLkstMTIwKX1jYXRjaCh2KXtuLnJlcG9ydEVycm9yKG5ldyBRRygyNCwiRUxYOndyaXRlIix2KSl9fSl9OwpFbGk9ZnVuY3Rpb24obixXLEQpe2lmKFcuaEc/LkFCKXRyeXtsZXQgYj1uLmNhY2hlPy5KKFJpKG4sVyksVy5oRy5hbSk7cmV0dXJuIGI/RD92MyhuLmxvZ2dlciwoKT0+Zy5FQShiLDIpLCJhIik6Yjp2b2lkIDB9Y2F0Y2goYil7bi5yZXBvcnRFcnJvcihuZXcgUUcoMjMsIlJYTzpyZWFkIixiKSl9fTsKaXByPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoIVcuR3IpdGhyb3cgbmV3IFFHKDI5LCJTREY6bm90cmVhZHkiKTtyZXR1cm4gemIoYixuZXcgUWkobi5sb2dnZXIsMCxuLnN0YXRlKSkuRnAoKCk9PlJpKG4sVyksRCl9Y2F0Y2godil7Yi5lcnJvcj12LGIuaGFzRXJyb3I9ITB9ZmluYWxseXtseChiKX19Owp1TVo9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgdj13JChuLEQpO3JldHVybiB6YihiLG5ldyBvbHcobi5sb2dnZXIsdikpLkZwKCgpPT5bXSxXKX1jYXRjaCh2KXtiLmVycm9yPXYsYi5oYXNFcnJvcj0hMH1maW5hbGx5e2x4KGIpfX07ClJpPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcueEM/Vy54QzpXLndfP3YzKG4ubG9nZ2VyLCgpPT5XLnhDPXpIKFcud18pLCJjIik6W119OwpuVz1mdW5jdGlvbigpe3ZhciBuPTAsVztyZXR1cm4gRD0+e1d8fChXPW5ldyB4WSk7dmFyIGI9bmV3IFFpKFcsbiwxKSx2PWIuRnAoKCk9PnpIKEQpLCEwKTsKYi5kaXNwb3NlKCk7bisrO3JldHVybiB2fX07CmcuV1k9ZnVuY3Rpb24obixXKXtpZihuKWZvcihsZXQgRCBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLEQpJiZXKG5bRF0sRCxuKX07CnpIaT1mdW5jdGlvbigpe3ZhciBuPVtdO2cuV1koZGhaLFc9PntuLnB1c2goVyl9KTsKcmV0dXJuIG59OwpUVHI9ZnVuY3Rpb24oKXt2YXIgbj1nLkRhKCJJRlJBTUUiKSxXPXt9O2cueTIobGVTKCksRD0+e24uc2FuZGJveCYmbi5zYW5kYm94LnN1cHBvcnRzJiZuLnNhbmRib3guc3VwcG9ydHMoRCkmJihXW0RdPSEwKX0pOwpyZXR1cm4gV307CmcuRGE9ZnVuY3Rpb24obixXPWRvY3VtZW50KXtyZXR1cm4gVy5jcmVhdGVFbGVtZW50KFN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKX07CmcuYnI9ZnVuY3Rpb24obixXLEQsYil7dGhpcy5sZWZ0PW47dGhpcy50b3A9Vzt0aGlzLndpZHRoPUQ7dGhpcy5oZWlnaHQ9Yn07CnZZPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49PVc/ITA6biYmVz9uLmxlZnQ9PVcubGVmdCYmbi53aWR0aD09Vy53aWR0aCYmbi50b3A9PVcudG9wJiZuLmhlaWdodD09Vy5oZWlnaHQ6ITF9OwpnLmgxPWZ1bmN0aW9uKG4sVyxEKXtpZih0eXBlb2YgVz09PSJzdHJpbmciKWtxKG4sRCxXKTtlbHNlIGZvcihsZXQgYiBpbiBXKWtxKG4sV1tiXSxiKX07CmtxPWZ1bmN0aW9uKG4sVyxEKXsoRD14cShuLEQpKSYmKGpQQy50ZXN0KEQpP24uc3R5bGUuc2V0UHJvcGVydHkoRCxXKTpuLnN0eWxlW0RdPVcpfTsKeHE9ZnVuY3Rpb24obixXKXt2YXIgRD1MV1tXXTtpZighRCl7dmFyIGI9cHAoVyk7RD1iO24uc3R5bGVbYl09PT12b2lkIDAmJihiPShnLlpsPyJXZWJraXQiOmcuZVM/Ik1veiI6bnVsbCkrSTFpKGIpLG4uc3R5bGVbYl0hPT12b2lkIDAmJihEPWIpKTtMV1tXXT1EfXJldHVybiBEfTsKZy5naD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc3R5bGVbcHAoVyldO3JldHVybiB0eXBlb2YgRCE9PSJ1bmRlZmluZWQiP0Q6bi5zdHlsZVt4cShuLFcpXXx8IiJ9OwpYbT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuSksobik7cmV0dXJuIEQuZGVmYXVsdFZpZXcmJkQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKG49RC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKG4sbnVsbCkpP25bV118fG4uZ2V0UHJvcGVydHlWYWx1ZShXKXx8IiI6IiJ9OwpxdD1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goVyl7cmV0dXJue2xlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowfX19OwpnLkdOPWZ1bmN0aW9uKG4pe3ZhciBXPWcuSksobiksRD1uZXcgZy5NWSgwLDApO2lmKG49PShXP2cuSksoVyk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudClyZXR1cm4gRDtuPXF0KG4pO1c9Zy5TcChXKTtXPWcuRTAoVy5OKTtELng9bi5sZWZ0K1cueDtELnk9bi50b3ArVy55O3JldHVybiBEfTsKZy4kcT1mdW5jdGlvbihuLFcpe249dDEobik7Vz10MShXKTtyZXR1cm4gbmV3IGcuTVkobi54LVcueCxuLnktVy55KX07Cmcucmg9ZnVuY3Rpb24obil7bj1xdChuKTtyZXR1cm4gbmV3IGcuTVkobi5sZWZ0LG4udG9wKX07CnQxPWZ1bmN0aW9uKG4pe2lmKG4ubm9kZVR5cGU9PTEpcmV0dXJuIGcucmgobik7bj1uLmNoYW5nZWRUb3VjaGVzP24uY2hhbmdlZFRvdWNoZXNbMF06bjtyZXR1cm4gbmV3IGcuTVkobi5jbGllbnRYLG4uY2xpZW50WSl9OwpOdD1mdW5jdGlvbihuLFcpe2lmKFcgaW5zdGFuY2VvZiBnLlFlKXt2YXIgRD1XLmhlaWdodDtXPVcud2lkdGh9ZWxzZSB0aHJvdyBFcnJvcigibWlzc2luZyBoZWlnaHQgYXJndW1lbnQiKTtuLnN0eWxlLndpZHRoPXNqKFcsITApO24uc3R5bGUuaGVpZ2h0PXNqKEQsITApfTsKc2o9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09Im51bWJlciImJihuPShXP01hdGgucm91bmQobik6bikrInB4Iik7cmV0dXJuIG59OwpnLnBXPWZ1bmN0aW9uKG4pe3ZhciBXPUNmMSxEOyhEPVhtKG4sImRpc3BsYXkiKSl8fChEPW4uY3VycmVudFN0eWxlP24uY3VycmVudFN0eWxlLmRpc3BsYXk6bnVsbCk7aWYoKER8fG4uc3R5bGUmJm4uc3R5bGUuZGlzcGxheSkhPSJub25lIilyZXR1cm4gVyhuKTtEPW4uc3R5bGU7dmFyIGI9RC5kaXNwbGF5LHY9RC52aXNpYmlsaXR5LGs9RC5wb3NpdGlvbjtELnZpc2liaWxpdHk9ImhpZGRlbiI7RC5wb3NpdGlvbj0iYWJzb2x1dGUiO0QuZGlzcGxheT0iaW5saW5lIjtuPVcobik7RC5kaXNwbGF5PWI7RC5wb3NpdGlvbj1rO0QudmlzaWJpbGl0eT12O3JldHVybiBufTsKQ2YxPWZ1bmN0aW9uKG4pe3ZhciBXPW4ub2Zmc2V0V2lkdGgsRD1uLm9mZnNldEhlaWdodCxiPWcuWmwmJiFXJiYhRDtyZXR1cm4oVz09PXZvaWQgMHx8YikmJm4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0PyhuPXF0KG4pLG5ldyBnLlFlKG4ucmlnaHQtbi5sZWZ0LG4uYm90dG9tLW4udG9wKSk6bmV3IGcuUWUoVyxEKX07CkZXWj1mdW5jdGlvbihuLFc9e30pe3JldHVybiBuZXcgQlR0KG4sVyl9Owp3NHI9ZnVuY3Rpb24obil7bi5WLnhWKCJkYXRhIixXPT57aWYoIjEiaW4gVyl7dmFyIEQ9V1siMSJdO2xldCBiO3RyeXtiPW4uSyhEKX1jYXRjaCh2KXtZcShuLG5ldyBDVigxMyxgRXJyb3Igd2hlbiBkZXNlcmlhbGl6aW5nIHJlc3BvbnNlIGRhdGE7IGVycm9yOiAke3Z9LCByZXNwb25zZTogJHtEfWApKX1iJiZIWShuLGIpfWlmKCIyImluIFcpZm9yKFc9ZlcobixXWyIyIl0pLEQ9MDtEPG4uai5sZW5ndGg7RCsrKW4ualtEXShXKX0pOwpuLlYueFYoImVuZCIsKCk9PntKMShuLElzKG4pKTtmb3IobGV0IFc9MDtXPG4uVy5sZW5ndGg7VysrKW4uV1tXXSgpfSk7Cm4uVi54VigiZXJyb3IiLCgpPT57aWYobi5OLmxlbmd0aCE9PTApe3ZhciBXPW4ueGhyLlc7VyE9PTB8fG4ueGhyLmlzU3VjY2VzcygpfHwoVz02KTt2YXIgRD0tMTtzd2l0Y2goVyl7Y2FzZSAwOnZhciBiPTI7YnJlYWs7Y2FzZSA3OmI9MTA7YnJlYWs7Y2FzZSA4OmI9NDticmVhaztjYXNlIDY6RD1uLnhoci5nZXRTdGF0dXMoKTtiPXozKEQpO2JyZWFrO2RlZmF1bHQ6Yj0xNH1KMShuLElzKG4pKTtXPVJCYihXKSsiLCBlcnJvcjogIituLnhoci5nZXRMYXN0RXJyb3IoKTtEIT09LTEmJihXKz1gLCBodHRwIHN0YXR1cyBjb2RlOiAke0R9YCk7WXEobixuZXcgQ1YoYixXKSl9fSl9OwpZcT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5OLmxlbmd0aDtEKyspbi5OW0RdKFcpfTsKSjE9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQ9MDtEPG4uWC5sZW5ndGg7RCsrKW4uWFtEXShXKX07CklzPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9Vmp0KG4ueGhyKTtPYmplY3Qua2V5cyhEKS5mb3JFYWNoKGI9PntXW2JdPURbYl19KTsKcmV0dXJuIFd9OwpIWT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5KLmxlbmd0aDtEKyspbi5KW0RdKFcpfTsKZlc9ZnVuY3Rpb24obixXKXt2YXIgRD0yLGI9e307dHJ5e2xldCBrO2s9TTFiKFcpO0Q9YVAoaywxKTt2YXIgdj1rLmdldE1lc3NhZ2UoKTtWRyhrLFJIaSwzKS5sZW5ndGgmJihiWyJncnBjLXdlYi1zdGF0dXMtZGV0YWlscy1iaW4iXT1XKX1jYXRjaChrKXtuLnhociYmbi54aHIuZ2V0U3RhdHVzKCk9PT00MDQ/KEQ9NSx2PSJOb3QgRm91bmQ6ICIrU3RyaW5nKG4ueGhyLkspKTooRD0xNCx2PWBVbmFibGUgdG8gcGFyc2UgUnBjU3RhdHVzOiAke2t9YCl9cmV0dXJue2NvZGU6RCxkZXRhaWxzOnYsbWV0YWRhdGE6Yn19OwpWMVU9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgUVBTO0FIKG4ueGhyLCJjb21wbGV0ZSIsKCk9PntpZihuLnhoci5pc1N1Y2Nlc3MoKSl7dmFyIGI9VzMobi54aHIpO2lmKFcmJm4ueGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKT09PSJ0ZXh0L3BsYWluIil7aWYoIWF0b2IpdGhyb3cgRXJyb3IoIkNhbm5vdCBkZWNvZGUgQmFzZTY0IHJlc3BvbnNlIik7Yj1hdG9iKGIpfXRyeXt2YXIgdj1uLksoYil9Y2F0Y2goaCl7WXEobixTUyhuZXcgQ1YoMTMsYEVycm9yIHdoZW4gZGVzZXJpYWxpemluZyByZXNwb25zZSBkYXRhOyBlcnJvcjogJHtofSwgcmVzcG9uc2U6ICR7Yn1gKSxEKSk7cmV0dXJufWI9ejMobi54aHIuZ2V0U3RhdHVzKCkpO0oxKG4sSXMobikpO2I9PT0wP0hZKG4sdik6WXEobixTUyhuZXcgQ1YoYiwiWGhyIHN1Y2NlZWRlZCBidXQgdGhlIHN0YXR1cyBjb2RlIGlzIG5vdCAyMDAiKSxEKSl9ZWxzZXtiPVczKG4ueGhyKTtsZXQgaDt2PUlzKG4pO2lmKGIpe3ZhciBrPQpmVyhuLGIpO2I9ay5jb2RlO2g9ay5kZXRhaWxzO2s9ay5tZXRhZGF0YX1lbHNlIGI9MixoPWBScGMgZmFpbGVkIGR1ZSB0byB4aHIgZXJyb3IuIHVyaTogJHtTdHJpbmcobi54aHIuSyl9LCBlcnJvciBjb2RlOiAke24ueGhyLld9LCBlcnJvcjogJHtuLnhoci5nZXRMYXN0RXJyb3IoKX1gLGs9djtKMShuLHYpO1lxKG4sU1MobmV3IENWKGIsaCxrKSxEKSl9fSl9OwpBMT1mdW5jdGlvbihuLFcpe1c9bi5pbmRleE9mKFcpO1c+LTEmJm4uc3BsaWNlKFcsMSl9OwpTUz1mdW5jdGlvbihuLFcpe1cuc3RhY2smJihuLnN0YWNrKz0iXG4iK1cuc3RhY2spO3JldHVybiBufTsKbUc9ZnVuY3Rpb24obil7dGhpcy5YPW4uWTZ8fG51bGw7dGhpcy5XPW4uWUJ8fCExO3RoaXMuSj12b2lkIDB9OwpLVz1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLnR3PW47dGhpcy5WPVc7dGhpcy5qPXZvaWQgMDt0aGlzLnN0YXR1cz10aGlzLnJlYWR5U3RhdGU9MDt0aGlzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVGV4dD10aGlzLnJlc3BvbnNlPXRoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLko9bnVsbDt0aGlzLmNKPSJHRVQiO3RoaXMuTz0iIjt0aGlzLk49ITE7dGhpcy5LPXRoaXMuVz10aGlzLlg9bnVsbDt0aGlzLlk9bmV3IEFib3J0Q29udHJvbGxlcn07Ck9qPWZ1bmN0aW9uKG4pe24uVy5yZWFkKCkudGhlbihuLmxFLmJpbmQobikpLmNhdGNoKG4uRFAuYmluZChuKSl9OwpaYT1mdW5jdGlvbihuKXtuLnJlYWR5U3RhdGU9NDtuLlg9bnVsbDtuLlc9bnVsbDtuLks9bnVsbDtQWShuKX07ClBZPWZ1bmN0aW9uKG4pe24ub25yZWFkeXN0YXRlY2hhbmdlJiZuLm9ucmVhZHlzdGF0ZWNoYW5nZS5jYWxsKG4pfTsKY0FVPWZ1bmN0aW9uKG4pe2lmKG4uejcmJnR5cGVvZiBuLno3PT0iZnVuY3Rpb24iKXJldHVybiBuLno3KCk7aWYodHlwZW9mIE1hcCE9PSJ1bmRlZmluZWQiJiZuIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20obi52YWx1ZXMoKSk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbi5zcGxpdCgiIik7aWYoZy5ZMihuKSl7bGV0IFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdKTtyZXR1cm4gV31yZXR1cm4gaEsobil9OwphZWg9ZnVuY3Rpb24obil7aWYobi51QiYmdHlwZW9mIG4udUI9PSJmdW5jdGlvbiIpcmV0dXJuIG4udUIoKTtpZighbi56N3x8dHlwZW9mIG4uejchPSJmdW5jdGlvbiIpe2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gQXJyYXkuZnJvbShuLmtleXMoKSk7aWYoISh0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpKXtpZihnLlkyKG4pfHx0eXBlb2Ygbj09PSJzdHJpbmciKXtsZXQgVz1bXTtuPW4ubGVuZ3RoO2ZvcihsZXQgRD0wO0Q8bjtEKyspVy5wdXNoKEQpO3JldHVybiBXfXJldHVybiBnLkxUKG4pfX19OwpuS2k9ZnVuY3Rpb24obixXLEQpe2lmKG4uZm9yRWFjaCYmdHlwZW9mIG4uZm9yRWFjaD09ImZ1bmN0aW9uIiluLmZvckVhY2goVyxEKTtlbHNlIGlmKGcuWTIobil8fHR5cGVvZiBuPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChuLFcsRCk7ZWxzZXtsZXQgYj1hZWgobiksdj1jQVUobiksaz12Lmxlbmd0aDtmb3IobGV0IGg9MDtoPGs7aCsrKVcuY2FsbChELHZbaF0sYiYmYltoXSxuKX19OwpnLlVqPWZ1bmN0aW9uKG4pe3RoaXMuTj10aGlzLlk9dGhpcy5YPSIiO3RoaXMuVj1udWxsO3RoaXMuaj10aGlzLko9IiI7dGhpcy5LPSExO3ZhciBXO24gaW5zdGFuY2VvZiBnLlVqPyh0aGlzLks9bi5LLHlOKHRoaXMsbi5YKSx0aGlzLlk9bi5ZLEVqKHRoaXMsbi5OKSxpcih0aGlzLG4uViksdGhpcy5KPW4uSix1cih0aGlzLG4uVy5jbG9uZSgpKSx0aGlzLmo9bi5qKTpuJiYoVz1nLmZwKFN0cmluZyhuKSkpPyh0aGlzLks9ITEseU4odGhpcyxXWzFdfHwiIiwhMCksdGhpcy5ZPW9zKFdbMl18fCIiKSxFaih0aGlzLFdbM118fCIiLCEwKSxpcih0aGlzLFdbNF0pLHRoaXMuSj1vcyhXWzVdfHwiIiwhMCksdXIodGhpcyxXWzZdfHwiIiwhMCksdGhpcy5qPW9zKFdbN118fCIiKSk6KHRoaXMuSz0hMSx0aGlzLlc9bmV3IGRoKG51bGwsdGhpcy5LKSl9Owp5Tj1mdW5jdGlvbihuLFcsRCl7bi5YPUQ/b3MoVywhMCk6VztuLlgmJihuLlg9bi5YLnJlcGxhY2UoLzokLywiIikpfTsKRWo9ZnVuY3Rpb24obixXLEQpe24uTj1EP29zKFcsITApOld9Owppcj1mdW5jdGlvbihuLFcpe2lmKFcpe1c9TnVtYmVyKFcpO2lmKGlzTmFOKFcpfHxXPDApdGhyb3cgRXJyb3IoIkJhZCBwb3J0IG51bWJlciAiK1cpO24uVj1XfWVsc2Ugbi5WPW51bGx9Owp1cj1mdW5jdGlvbihuLFcsRCl7VyBpbnN0YW5jZW9mIGRoPyhuLlc9VyxXeGgobi5XLG4uSykpOihEfHwoVz16TihXLER4UykpLG4uVz1uZXcgZGgoVyxuLkspKX07CmxyPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5Vaj9uLmNsb25lKCk6bmV3IGcuVWoobil9Owpvcz1mdW5jdGlvbihuLFcpe3JldHVybiBuP1c/ZGVjb2RlVVJJKG4ucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChuKToiIn07CnpOPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIj8obj1lbmNvZGVVUkkobikucmVwbGFjZShXLGIweCksRCYmKG49bi5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxuKTpudWxsfTsKYjB4PWZ1bmN0aW9uKG4pe249bi5jaGFyQ29kZUF0KDApO3JldHVybiIlIisobj4+NCYxNSkudG9TdHJpbmcoMTYpKyhuJjE1KS50b1N0cmluZygxNil9OwpkaD1mdW5jdGlvbihuLFcpe3RoaXMuSj10aGlzLk49bnVsbDt0aGlzLlc9bnx8bnVsbDt0aGlzLlg9ISFXfTsKVE49ZnVuY3Rpb24obil7bi5OfHwobi5OPW5ldyBNYXAsbi5KPTAsbi5XJiZnLk9UKG4uVyxmdW5jdGlvbihXLEQpe24uYWRkKEc1KFcpLEQpfSkpfTsKQ1c9ZnVuY3Rpb24obixXKXtUTihuKTtXPWpTKG4sVyk7cmV0dXJuIG4uTi5oYXMoVyl9OwpqUz1mdW5jdGlvbihuLFcpe1c9U3RyaW5nKFcpO24uWCYmKFc9Vy50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gV307Cld4aD1mdW5jdGlvbihuLFcpe1cmJiFuLlgmJihUTihuKSxuLlc9bnVsbCxuLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe3ZhciB2PWIudG9Mb3dlckNhc2UoKTtiIT12JiYodGhpcy5yZW1vdmUoYiksdGhpcy5yZW1vdmUodiksRC5sZW5ndGg+MCYmKHRoaXMuVz1udWxsLHRoaXMuTi5zZXQoalModGhpcyx2KSxnLlJNKEQpKSx0aGlzLko9dGhpcy5KK0QubGVuZ3RoKSl9LG4pKTsKbi5YPVd9Owp2S2I9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zy5hXyhuLGZ1bmN0aW9uKEQsYil7Vys9YjtXKz0iOiI7Vys9RDtXKz0iXHJcbiJ9KTsKcmV0dXJuIFd9OwpCWT1mdW5jdGlvbihuKXtnLkZNLmNhbGwodGhpcyk7dGhpcy5KPW47dGhpcy5OPXt9fTsKRm09ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKEFycmF5LmlzQXJyYXkoRCkpZm9yKGxldCBoPTA7aDxELmxlbmd0aDtoKyspRm0obixXLERbaF0sYix2LGspO2Vsc2V7Vz1TZyhXLEQsYnx8bi5oYW5kbGVFdmVudCx2LGt8fG4uSnx8bik7aWYoIVcpcmV0dXJuIG47bi5OW1cua2V5XT1XfXJldHVybiBufTsKd2g9ZnVuY3Rpb24obixXLEQpe24uVz0hMTt0aHJvdyBFcnJvcigiVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVyk7fTsKTXQ9ZnVuY3Rpb24oKXt0aGlzLlY9bnVsbDt0aGlzLks9W107dGhpcy5YPXRoaXMuSj10aGlzLlc9dGhpcy5OPXRoaXMuRD0wO3RoaXMuaj1udWxsO3RoaXMuWT0wfTsKUnM9ZnVuY3Rpb24obixXLEQsYil7bi5OPTM7bi5WPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIituLkQrIi8iK0QrIi4gRXJyb3I6ICIrYisiLiBXaXRoIGlucHV0OlxuIitXO3Rocm93IEVycm9yKG4uVik7fTsKUU49ZnVuY3Rpb24oKXt0aGlzLk49bnVsbDt0aGlzLko9MDt0aGlzLlc9bmV3IGtoUzt0aGlzLlg9bmV3IE10fTsKVk49ZnVuY3Rpb24obixXLEQpe24uTj0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVzt0aHJvdyBFcnJvcihuLk4pO307CmNZPWZ1bmN0aW9uKG4pe3JldHVybiBuPT0iXHIifHxuPT0iXG4ifHxuPT0iICJ8fG49PSJcdCJ9Owphcz1mdW5jdGlvbihuKXt0aGlzLkQ9bnVsbDt0aGlzLlY9W107dGhpcy5YPSIiO3RoaXMuY0o9W107dGhpcy5XPXRoaXMuSj0wO3RoaXMuSz0hMTt0aGlzLlk9MDt0aGlzLnR3PS9bXFwiXS9nO3RoaXMuTj10aGlzLmo9MDt0aGlzLk89ISghbnx8IW4uWkgpfTsKbl89ZnVuY3Rpb24obixXLEQpe24uaj0zO24uRD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5XKyIvIitEKyIuIFdpdGggaW5wdXQ6XG4iK1c7dGhyb3cgRXJyb3Iobi5EKTt9OwpXSz1mdW5jdGlvbigpe3RoaXMuaj10aGlzLlc9bnVsbDt0aGlzLko9dGhpcy5OPTA7dGhpcy5YPVtdO3RoaXMuVj0hMX07CmhDeD1mdW5jdGlvbihuKXt2YXIgVz1uLk4/bi5OLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTpudWxsO2lmKCFXKXJldHVybiBudWxsO1c9Vy50b0xvd2VyQ2FzZSgpO3JldHVybiBXLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24iKT9XLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiKT9uZXcgV0s6bmV3IGFzOlcuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1wcm90b2J1ZiIpPyhuPW4uTj9uLk4uZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmciKTpudWxsKT9uLnRvTG93ZXJDYXNlKCk9PSJiYXNlNjQiP25ldyBRTjpudWxsOm5ldyBNdDpudWxsfTsKRGk9ZnVuY3Rpb24obixXKXtuLmohPVcmJihuLmo9VyxuLksmJm4uSygpKX07CmJIPWZ1bmN0aW9uKG4pe24uWS5UaSgpO2lmKG4uTil7bGV0IFc9bi5OO24uTj1udWxsO1cuYWJvcnQoKTtXLmRpc3Bvc2UoKX19Owp2Sz1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXtsZXQgYj1uW0RdO1cuZm9yRWFjaChmdW5jdGlvbih2KXt0cnl7dihiKX1jYXRjaChrKXt9fSl9fTsKa3Q9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkpbV107RCYmRC5mb3JFYWNoKGZ1bmN0aW9uKGIpe3RyeXtiKCl9Y2F0Y2godil7fX0pOwooRD1uLk5bV10pJiZELmZvckVhY2goZnVuY3Rpb24oYil7YigpfSk7Cm4uTltXXT1bXX07Cnh4aj1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07Ckx4aT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07CmVDVT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5sMCx2PVcuZ2V0TWV0YWRhdGEoKSxrPWhhKG4sITApO249eHQobix2LGssRCtiLmdldE5hbWUoKSk7RD1MXyhrLGIuVywhMSk7VjFVKEQsdlsiWC1Hb29nLUVuY29kZS1SZXNwb25zZS1JZi1FeGVjdXRhYmxlIl09PT0iYmFzZTY0Iik7Vz1iLk4oVy5mdik7ay5zZW5kKG4sIlBPU1QiLFcpO3JldHVybiBEfTsKZ0t0PWZ1bmN0aW9uKG4sVyxELGIsdixrPXt9KXt2YXIgaD1XLnN1YnN0cmluZygwLFcubGVuZ3RoLXYubmFtZS5sZW5ndGgpLHg9az8uc2lnbmFsO3JldHVybiBMeGkoTD0+bmV3IFByb21pc2UoKGUsRyk9PntpZih4Py5hYm9ydGVkKXtsZXQgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX1lbHNle3ZhciByPXt9LE49ZUNVKG4sTCxoKTtOLnhWKCJlcnJvciIsSD0+dm9pZCBHKEgpKTsKTi54VigibWV0YWRhdGEiLEg9PntyPUh9KTsKTi54VigiZGF0YSIsSD0+e2UoRldaKEgscikpfSk7CngmJnguYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57Ti5jYW5jZWwoKTt2YXIgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX0pfX0pLG4uRk4pLmNhbGwobix2LkooRCxiKSkudGhlbihMPT5MLlB6KX07ClhkPWZ1bmN0aW9uKG4sVz0hMSl7ZVgoMjgsNzIzMSxuKTtpZihuW0lbMjhdXSE9PUlbMTVdKXt2YXIgRD1uW0lbOF1dKCk7RFtJWzM0XV0oSVszMl0sSVs0MF0pO3JldHVybiBEfXZhciBiPW5bSVs3Ml1dKCk7RD1uZXcgZy5VaihiKTt2YXIgdj1uW0lbMzNdXShJWzcwXSksaz1NMygxNiw0MjYyLG5bSVszM11dKElbNzRdKXx8SVsyMV0pW0lbMzZdXShJWzQ3XSk7aWYodiYmayYma1tJWzVdXT4xJiZrWzFdKXJldHVybiBiPUQuTixuPWJbSVs4MV1dKC9eW14uXSovLElbMjFdKSxFaihELGAke2JbSVsxOF1dKElbNDRdKT09PTA/SVs0NF06SVs4MF19JHt2fS0tLSR7a1sxXX0ke259YCksRD1uZXcgZy53WihEW0lbMF1dKCkpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO2lmKFcpcmV0dXJuIEQ9bltJWzhdXSgpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO3Y9RC5OW0lbNl1dKElbNTZdKTtELk5bSVs2XV0oSVsyN10pPyhFaihELElbODJdKSxiPURbSVswXV0oKSk6RC5OW0lbNl1dKElbNTJdKT8KKEVqKEQsSVsxOV0pLGI9RFtJWzBdXSgpKTooRD1lQShiKSxnWChEKSYmKGI9RCkpO0Q9bmV3IGcud1ooYik7RFtJWzM0XV0oSVs3OV0sSVs0MF0pO3YmJkRbSVszNF1dKElbMl0sSVs3MV0pO3JldHVybiBEfTsKWVk9ZnVuY3Rpb24obixXLEQsYix2LGs9e30pe3JldHVybiBnS3QobixXLEQsYix2LGspfTsKaGE9ZnVuY3Rpb24obixXKXtXPW4uTiYmIVc7cmV0dXJuIG4uU258fFc/bmV3IHdwKG5ldyBtRyh7WTY6bi5TbixZQjpXfSkpOm5ldyB3cH07Cnh0PWZ1bmN0aW9uKG4sVyxELGIpe1dbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIjtXWyJYLVVzZXItQWdlbnQiXT0iZ3JwYy13ZWItamF2YXNjcmlwdC8wLjEiO3ZhciB2PVcuQXV0aG9yaXphdGlvbjtpZih2JiZYMnIuaGFzKHYuc3BsaXQoIiAiKVswXSl8fG4ud2l0aENyZWRlbnRpYWxzKUQuTz0hMDtpZihuLllPKW49YixnLkdGKFcpP2I9bjooVz12S2IoVyksdHlwZW9mIG49PT0ic3RyaW5nIj9iPWcudWYobixxaCgiJGh0dHBIZWFkZXJzIiksVyk6KG4uVy5zZXQoIiRodHRwSGVhZGVycyIsVyksYj1uKSk7ZWxzZSBmb3IobGV0IGsgb2YgT2JqZWN0LmtleXMoVykpRC5oZWFkZXJzLnNldChrLFdba10pO3JldHVybiBifTsKTF89ZnVuY3Rpb24obixXLEQpe2lmKEQpe24uaXNBY3RpdmUoKTtEPW5ldyBxQXQobik7dmFyIGI9bmV3IEdoaShEKX1yZXR1cm4gbmV3IHR1MSh7eGhyOm4sTUU6Yn0sVyl9Owpxdz1mdW5jdGlvbigpe3RoaXMuTj1uZXcgJHhoO3RoaXMuSj0iaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20iLnJlcGxhY2UoL1wvKyQvLCIiKX07CmcuR0s9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5yZXBsYWNlKHI0MixmdW5jdGlvbihELGIpe3RyeXtsZXQgdj1nLiR5KFcsYik7aWYodj09bnVsbHx8di50b1N0cmluZygpPT1udWxsKXJldHVybiBEO3Y9di50b1N0cmluZygpO2lmKHY9PSIifHwhZy5GaChnLnJUKHYpKSlyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHYpLnJlcGxhY2UoLyUyQy9nLCIsIil9Y2F0Y2godil7fXJldHVybiBEfSl9OwpzMnc9ZnVuY3Rpb24oKXt2YXIgbj10YTskdC5pbnN0YW5jZXx8KCR0Lmluc3RhbmNlPW5ldyAkdChuKSk7cmV0dXJuICR0Lmluc3RhbmNlfTsKclg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5XP24uVzpuLlc9bmV3IFByb21pc2UoYXN5bmMgRD0+e3ZhciBiPXdpbmRvdy5BYm9ydENvbnRyb2xsZXI/bmV3IHdpbmRvdy5BYm9ydENvbnRyb2xsZXI6dm9pZCAwLHY9Yj8uc2lnbmFsLGs9ITE7dHJ5e2ImJihuLk49bi5BJC5MUygoKT0+e2IuYWJvcnQoKX0sV3x8MkU0KSksYXdhaXQgZmV0Y2goIi9nZW5lcmF0ZV8yMDQiLHttZXRob2Q6IkhFQUQiLApzaWduYWw6dn0pLGs9ITB9Y2F0Y2h7az0hMX1maW5hbGx5e24uVz12b2lkIDAsbi5OJiYobi5BJC5zTyhuLk4pLG4uTj0wKSxrIT09bi5pc09ubGluZSYmKG4uaXNPbmxpbmU9ayxuLmlzT25saW5lP24uZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTpuLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxEKGspfX0pfTsKTldoPWZ1bmN0aW9uKG4pe24uTj09PS0xJiYobi5OPW4uZGF0YS5yZWR1Y2UoKFcsRCxiKT0+VysoRD8yKipiOjApLDApKTsKcmV0dXJuIG4uTn07Cmcuc0k9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4mJlchPT1udWxsJiZXIT1XLnRvcCl7aWYoIVcudG9wKXJldHVybiBuZXcgZy5RZSgtMTIyNDU5MzMsLTEyMjQ1OTMzKTtXPVcudG9wfXRyeXtpZihEKXZhciBiPShuZXcgZy5RZShXLmlubmVyV2lkdGgsVy5pbm5lckhlaWdodCkpLnJvdW5kKCk7ZWxzZXtsZXQgdj0oV3x8d2luZG93KS5kb2N1bWVudCxrPXYuY29tcGF0TW9kZT09IkNTUzFDb21wYXQiP3YuZG9jdW1lbnRFbGVtZW50OnYuYm9keTtiPShuZXcgZy5RZShrLmNsaWVudFdpZHRoLGsuY2xpZW50SGVpZ2h0KSkucm91bmQoKX1yZXR1cm4gYn1jYXRjaCh2KXtyZXR1cm4gbmV3IGcuUWUoLTEyMjQ1OTMzLC0xMjI0NTkzMyl9fTsKZy5Odz1mdW5jdGlvbihuKXtyZXR1cm4gbi5wcmVyZW5kZXJpbmc/Mzp7dmlzaWJsZToxLGhpZGRlbjoyLHByZXJlbmRlcjozLHByZXZpZXc6NCx1bmxvYWRlZDo1LCIiOjB9W24udmlzaWJpbGl0eVN0YXRlfHxuLndlYmtpdFZpc2liaWxpdHlTdGF0ZXx8bi5tb3pWaXNpYmlsaXR5U3RhdGV8fCIiXT8/MH07CmcucF89ZnVuY3Rpb24obixXLEQpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLk49bnVsbDt0aGlzLlg9ITE7dGhpcy5WPW47dGhpcy5qPUQ7dGhpcy5KPVd8fHdpbmRvdzt0aGlzLlc9KDAsZy5LdCkodGhpcy5PdCx0aGlzKX07Cll0PWZ1bmN0aW9uKG4pe249bi5KO3JldHVybiBuLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG51bGx9OwpISz1mdW5jdGlvbihuKXtuPW4uSjtyZXR1cm4gbi5jYW5jZWxBbmltYXRpb25GcmFtZXx8bi5jYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ud2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1vekNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi5vQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1zQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxudWxsfTsKZy5mXz1mdW5jdGlvbihuLFcsRCl7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuTj1uO3RoaXMuZ3Q9V3x8MDt0aGlzLko9RDt0aGlzLlc9KDAsZy5LdCkodGhpcy5pJCx0aGlzKX07CmcuSmE9ZnVuY3Rpb24obixXKXtuLmlzQWN0aXZlKCl8fG4uc3RhcnQoVyl9OwpJRj1mdW5jdGlvbihuKXtuLlo2PWcuWnQoKCk9PntuLlo2PW51bGw7bi5OJiYhbi5KJiYobi5OPSExLElGKG4pKX0sbi5ndCk7CnZhciBXPW4uVztuLlc9bnVsbDtuLlguYXBwbHkobnVsbCxXKX07ClNBPWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbi5jbGFzc05hbWU9PSJzdHJpbmciP24uY2xhc3NOYW1lOm4uZ2V0QXR0cmlidXRlJiZuLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9OwpBYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3Q6U0EobikubWF0Y2goL1xTKy9nKXx8W119OwptYT1mdW5jdGlvbihuLFcpe3R5cGVvZiBuLmNsYXNzTmFtZT09InN0cmluZyI/bi5jbGFzc05hbWU9VzpuLnNldEF0dHJpYnV0ZSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixXKX07CmcuS189ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QuY29udGFpbnMoVyk6Zy5qaihBYShuKSxXKX07CmcuVUk9ZnVuY3Rpb24obixXKXtpZihuLmNsYXNzTGlzdCluLmNsYXNzTGlzdC5hZGQoVyk7ZWxzZSBpZighZy5LXyhuLFcpKXtsZXQgRD1TQShuKTttYShuLEQrKEQubGVuZ3RoPjA/IiAiK1c6VykpfX07CnlLPWZ1bmN0aW9uKG4sVyl7aWYobi5jbGFzc0xpc3QpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChXLGZ1bmN0aW9uKGIpe2cuVUkobixiKX0pOwplbHNle3ZhciBEPXt9O0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoQWEobiksZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpXPSIiO2ZvcihsZXQgYiBpbiBEKVcrPVcubGVuZ3RoPjA/IiAiK2I6YjttYShuLFcpfX07CmcuRUk9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5yZW1vdmUoVyk6Zy5LXyhuLFcpJiZtYShuLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChBYShuKSxmdW5jdGlvbihEKXtyZXR1cm4gRCE9V30pLmpvaW4oIiAiKSl9OwpwMmo9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oRCl7Zy5FSShuLEQpfSk6bWEobixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoQWEobiksZnVuY3Rpb24oRCl7cmV0dXJuIWcuamooVyxEKX0pLmpvaW4oIiAiKSl9OwpnLmlIPWZ1bmN0aW9uKG4sVyxEKXtEP2cuVUkobixXKTpnLkVJKG4sVyl9Owp1SD1mdW5jdGlvbigpe307CllBMT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2Ygb0Z8fG4gaW5zdGFuY2VvZiBkWHx8biBpbnN0YW5jZW9mIHpLKXJldHVybiBuO2lmKHR5cGVvZiBuLm5leHQ9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bik7CmlmKHR5cGVvZiBuW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bltTeW1ib2wuaXRlcmF0b3JdKCkpOwppZih0eXBlb2Ygbi5ncT09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IG9GKCgpPT5uLmdxKCkpOwp0aHJvdyBFcnJvcigiTm90IGFuIGl0ZXJhdG9yIG9yIGl0ZXJhYmxlLiIpO307CmxIPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dGhpcy5OPW47dGhpcy5LPVc7dGhpcy5XPUQ7dGhpcy5qPWI7dGhpcy5YPXY7dGhpcy5WPWs7dGhpcy5KPWg7dGhpcy5ZPXh9OwpUSz1mdW5jdGlvbihuLFcpe2lmKFc9PTApcmV0dXJuIG4uTjtpZihXPT0xKXJldHVybiBuLko7dmFyIEQ9d1Eobi5OLG4uVyxXKSxiPXdRKG4uVyxuLlgsVyk7bj13UShuLlgsbi5KLFcpO0Q9d1EoRCxiLFcpO2I9d1EoYixuLFcpO3JldHVybiB3UShELGIsVyl9OwpIMGk9ZnVuY3Rpb24obixXKXt2YXIgRD0oVy1uLk4pLyhuLkotbi5OKTtpZihEPD0wKXJldHVybiAwO2lmKEQ+PTEpcmV0dXJuIDE7dmFyIGI9MCx2PTEsaz0wO2Zvcih2YXIgaD0wO2g8ODtoKyspe2s9VEsobixEKTtsZXQgeD0oVEsobixEKzFFLTYpLWspLzFFLTY7aWYoTWF0aC5hYnMoay1XKTwxRS02KXJldHVybiBEO2lmKE1hdGguYWJzKHgpPDFFLTYpYnJlYWs7ZWxzZSBrPFc/Yj1EOnY9RCxELT0oay1XKS94fWZvcihoPTA7TWF0aC5hYnMoay1XKT4xRS02JiZoPDg7aCsrKWs8Vz8oYj1ELEQ9KEQrdikvMik6KHY9RCxEPShEK2IpLzIpLGs9VEsobixEKTtyZXR1cm4gRH07CmpBPWZ1bmN0aW9uKG4pe3JldHVybihuPW4uZXhlYyhnLlhRKCkpKT9uWzFdOiIifTsKQ189ZnVuY3Rpb24obil7cmV0dXJuIGcuY1ooZlgyLG4pPj0wfTsKQks9ZnVuY3Rpb24obil7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuVj0xO3RoaXMuVz1bXTt0aGlzLlg9MDt0aGlzLk49W107dGhpcy5KPXt9O3RoaXMuSz0hIW59OwpKNHI9ZnVuY3Rpb24obixXLEQpe2cubUsoZnVuY3Rpb24oKXtuLmFwcGx5KFcsRCl9KX07CmcuRmQ9ZnVuY3Rpb24obil7dGhpcy5OPW59Owp3WD1mdW5jdGlvbihuKXt0aGlzLk49bn07Ck13PWZ1bmN0aW9uKG4pe3RoaXMuZGF0YT1ufTsKUkY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT12b2lkIDB8fG4gaW5zdGFuY2VvZiBNdz9uOm5ldyBNdyhuKX07ClFLPWZ1bmN0aW9uKG4pe3RoaXMuTj1ufTsKVks9ZnVuY3Rpb24obil7dGhpcy5OPW59OwpJWDE9ZnVuY3Rpb24oKXt9OwpjSz1mdW5jdGlvbigpe307CmFGPWZ1bmN0aW9uKG4pe3RoaXMuTj1uO3RoaXMuSj1udWxsfTsKbmU9ZnVuY3Rpb24obil7aWYobi5OPT1udWxsKXRocm93IEVycm9yKCJTdG9yYWdlIG1lY2hhbmlzbTogU3RvcmFnZSB1bmF2YWlsYWJsZSIpO24uaXNBdmFpbGFibGUoKXx8aDQoRXJyb3IoIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIHVuYXZhaWxhYmxlIikpfTsKV1M9ZnVuY3Rpb24oKXt2YXIgbj1udWxsO3RyeXtuPWcucWkubG9jYWxTdG9yYWdlfHxudWxsfWNhdGNoKFcpe31hRi5jYWxsKHRoaXMsbil9OwpEUT1mdW5jdGlvbigpe3ZhciBuPW51bGw7dHJ5e249Zy5xaS5zZXNzaW9uU3RvcmFnZXx8bnVsbH1jYXRjaChXKXt9YUYuY2FsbCh0aGlzLG4pfTsKYkM9ZnVuY3Rpb24obixXKXt0aGlzLko9bjt0aGlzLk49VysiOjoifTsKZy52Uz1mdW5jdGlvbihuKXt2YXIgVz1uZXcgV1M7cmV0dXJuIFcuaXNBdmFpbGFibGUoKT9uP25ldyBiQyhXLG4pOlc6bnVsbH07CmtqPWZ1bmN0aW9uKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9Owp4aj1mdW5jdGlvbihuKXt2YXIgVyxELGI9bi5sZW5ndGgsdj0wO2ZvcihXPTA7VzxiO1crKyl7dmFyIGs9bi5jaGFyQ29kZUF0KFcpO2lmKChrJjY0NTEyKT09PTU1Mjk2JiZXKzE8Yil7dmFyIGg9bi5jaGFyQ29kZUF0KFcrMSk7KGgmNjQ1MTIpPT09NTYzMjAmJihrPTY1NTM2KyhrLTU1Mjk2PDwxMCkrKGgtNTYzMjApLFcrKyl9dis9azwxMjg/MTprPDIwNDg/MjprPDY1NTM2PzM6NH12YXIgeD1uZXcgaGsuT20odik7Zm9yKFc9RD0wO0Q8djtXKyspaz1uLmNoYXJDb2RlQXQoVyksKGsmNjQ1MTIpPT09NTUyOTYmJlcrMTxiJiYoaD1uLmNoYXJDb2RlQXQoVysxKSwoaCY2NDUxMik9PT01NjMyMCYmKGs9NjU1MzYrKGstNTUyOTY8PDEwKSsoaC01NjMyMCksVysrKSksazwxMjg/eFtEKytdPWs6KGs8MjA0OD94W0QrK109MTkyfGs+Pj42OihrPDY1NTM2P3hbRCsrXT0yMjR8az4+PjEyOih4W0QrK109MjQwfGs+Pj4xOCx4W0QrK109MTI4fGs+Pj4xMiY2MykseFtEKytdPTEyOHxrPj4+CjYmNjMpLHhbRCsrXT0xMjh8ayY2Myk7cmV0dXJuIHh9OwpMZT1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5sZW5ndGg7LS1XPj0wOyluW1ddPTB9Owpldj1mdW5jdGlvbihuLFcsRCxiLHYpe3RoaXMua089bjt0aGlzLmJFPVc7dGhpcy50cD1EO3RoaXMuYXo9Yjt0aGlzLnVIPXY7dGhpcy5aZD1uJiZuLmxlbmd0aH07CnZhciBTQTE9ZnVuY3Rpb24obil7cmV0dXJuIGc3W0lbMTBdXSh0aGlzLDI1LDYzMjIsbil9Owp0az1mdW5jdGlvbihuLFcpe3RoaXMuTTA9bjt0aGlzLnJPPTA7dGhpcy5BWj1XfTsKcjc9ZnVuY3Rpb24obixXKXtuLkZCW24ucGVuZGluZysrXT1XJjI1NTtuLkZCW24ucGVuZGluZysrXT1XPj4+OCYyNTV9OwpzJD1mdW5jdGlvbihuLFcsRCl7bi5ZSD4xNi1EPyhuLlJKfD1XPDxuLllIJjY1NTM1LHI3KG4sbi5SSiksbi5SSj1XPj4xNi1uLllILG4uWUgrPUQtMTYpOihuLlJKfD1XPDxuLllIJjY1NTM1LG4uWUgrPUQpfTsKTjY9ZnVuY3Rpb24obixXLEQpe3MkKG4sRFtXKjJdLERbVyoyKzFdKX07CnBlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtkbyBEfD1uJjEsbj4+Pj0xLEQ8PD0xO3doaWxlKC0tVz4wKTtyZXR1cm4gRD4+PjF9OwpZaj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9QXJyYXkoMTYpLHY9MCxrO2ZvcihrPTE7azw9MTU7aysrKWJba109dj12K0Rbay0xXTw8MTtmb3IoRD0wO0Q8PVc7RCsrKXY9bltEKjIrMV0sdiE9PTAmJihuW0QqMl09cGUoYlt2XSsrLHYpKX07CkhTPWZ1bmN0aW9uKG4pe3ZhciBXO2ZvcihXPTA7VzwyODY7VysrKW4ua0dbVyoyXT0wO2ZvcihXPTA7VzwzMDtXKyspbi5sZltXKjJdPTA7Zm9yKFc9MDtXPDE5O1crKyluLndoW1cqMl09MDtuLmtHWzUxMl09MTtuLlhSPW4uVHY9MDtuLndYPW4ubWF0Y2hlcz0wfTsKZmU9ZnVuY3Rpb24obil7bi5ZSD44P3I3KG4sbi5SSik6bi5ZSD4wJiYobi5GQltuLnBlbmRpbmcrK109bi5SSik7bi5SSj0wO24uWUg9MH07CkprPWZ1bmN0aW9uKG4sVyxEKXtmZShuKTtyNyhuLEQpO3I3KG4sfkQpO2hrLlA3KG4uRkIsbi53aW5kb3csVyxELG4ucGVuZGluZyk7bi5wZW5kaW5nKz1EfTsKSVM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9VyoyLGs9RCoyO3JldHVybiBuW3ZdPG5ba118fG5bdl09PT1uW2tdJiZiW1ddPD1iW0RdfTsKU3Y9ZnVuY3Rpb24obixXLEQpe2Zvcih2YXIgYj1uLmhlYXBbRF0sdj1EPDwxO3Y8PW4uVW47KXt2PG4uVW4mJklTKFcsbi5oZWFwW3YrMV0sbi5oZWFwW3ZdLG4uZGVwdGgpJiZ2Kys7aWYoSVMoVyxiLG4uaGVhcFt2XSxuLmRlcHRoKSlicmVhaztuLmhlYXBbRF09bi5oZWFwW3ZdO0Q9djt2PDw9MX1uLmhlYXBbRF09Yn07ClUkPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0wO2lmKG4ud1ghPT0wKXtkb3t2YXIgdj1uLkZCW24uQTgrYioyXTw8OHxuLkZCW24uQTgrYioyKzFdO3ZhciBrPW4uRkJbbi50YStiXTtiKys7aWYodj09PTApTjYobixrLFcpO2Vsc2V7dmFyIGg9QWtba107TjYobixoKzI1NisxLFcpO3ZhciB4PW0kW2hdO3ghPT0wJiYoay09S2VbaF0scyQobixrLHgpKTt2LS07aD12PDI1Nj9PJFt2XTpPJFsyNTYrKHY+Pj43KV07TjYobixoLEQpO3g9UFNbaF07eCE9PTAmJih2LT1aUVtoXSxzJChuLHYseCkpfX13aGlsZShiPG4ud1gpfU42KG4sMjU2LFcpfTsKRSQ9ZnVuY3Rpb24obixXKXt2YXIgRD1XLk0wLGI9Vy5BWi5rTyx2PVcuQVouWmQsaz1XLkFaLmF6LGgseD0tMTtuLlVuPTA7bi5PND01NzM7Zm9yKGg9MDtoPGs7aCsrKURbaCoyXSE9PTA/KG4uaGVhcFsrK24uVW5dPXg9aCxuLmRlcHRoW2hdPTApOkRbaCoyKzFdPTA7Zm9yKDtuLlVuPDI7KXt2YXIgTD1uLmhlYXBbKytuLlVuXT14PDI/Kyt4OjA7RFtMKjJdPTE7bi5kZXB0aFtMXT0wO24uWFItLTt2JiYobi5Udi09YltMKjIrMV0pfVcuck89eDtmb3IoaD1uLlVuPj4xO2g+PTE7aC0tKVN2KG4sRCxoKTtMPWs7ZG8gaD1uLmhlYXBbMV0sbi5oZWFwWzFdPW4uaGVhcFtuLlVuLS1dLFN2KG4sRCwxKSxiPW4uaGVhcFsxXSxuLmhlYXBbLS1uLk80XT1oLG4uaGVhcFstLW4uTzRdPWIsRFtMKjJdPURbaCoyXStEW2IqMl0sbi5kZXB0aFtMXT0obi5kZXB0aFtoXT49bi5kZXB0aFtiXT9uLmRlcHRoW2hdOm4uZGVwdGhbYl0pKzEsRFtoKjIrMV09RFtiKjIrMV09TCxuLmhlYXBbMV09TCsrLApTdihuLEQsMSk7d2hpbGUobi5Vbj49Mik7bi5oZWFwWy0tbi5PNF09bi5oZWFwWzFdO2g9Vy5NMDtMPVcuck87Yj1XLkFaLmtPO3Y9Vy5BWi5aZDtrPVcuQVouYkU7dmFyIGU9Vy5BWi50cCxHPVcuQVoudUgscixOPTA7Zm9yKHI9MDtyPD0xNTtyKyspbi5WbltyXT0wO2hbbi5oZWFwW24uTzRdKjIrMV09MDtmb3IoVz1uLk80KzE7Vzw1NzM7VysrKXt2YXIgSD1uLmhlYXBbV107cj1oW2hbSCoyKzFdKjIrMV0rMTtyPkcmJihyPUcsTisrKTtoW0gqMisxXT1yO2lmKCEoSD5MKSl7bi5WbltyXSsrO3ZhciBBPTA7SD49ZSYmKEE9a1tILWVdKTt2YXIgeT1oW0gqMl07bi5YUis9eSoocitBKTt2JiYobi5Udis9eSooYltIKjIrMV0rQSkpfX1pZihOIT09MCl7ZG97Zm9yKHI9Ry0xO24uVm5bcl09PT0wOylyLS07bi5WbltyXS0tO24uVm5bcisxXSs9MjtuLlZuW0ddLS07Ti09Mn13aGlsZShOPjApO2ZvcihyPUc7ciE9PTA7ci0tKWZvcihIPW4uVm5bcl07SCE9PTA7KWI9bi5oZWFwWy0tV10sCmI+THx8KGhbYioyKzFdIT09ciYmKG4uWFIrPShyLWhbYioyKzFdKSpoW2IqMl0saFtiKjIrMV09ciksSC0tKX1ZaihELHgsbi5Wbil9OwppQz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO1dbKEQrMSkqMisxXT02NTUzNTtmb3IoYj0wO2I8PUQ7YisrKXt2YXIgZT1rO2s9V1soYisxKSoyKzFdOysraDx4JiZlPT09a3x8KGg8TD9uLndoW2UqMl0rPWg6ZSE9PTA/KGUhPT12JiZuLndoW2UqMl0rKyxuLndoWzMyXSsrKTpoPD0xMD9uLndoWzM0XSsrOm4ud2hbMzZdKyssaD0wLHY9ZSxrPT09MD8oeD0xMzgsTD0zKTplPT09az8oeD02LEw9Myk6KHg9NyxMPTQpKX19Owp1Qz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO2ZvcihiPTA7Yjw9RDtiKyspe3ZhciBlPWs7az1XWyhiKzEpKjIrMV07aWYoISgrK2g8eCYmZT09PWspKXtpZihoPEwpe2RvIE42KG4sZSxuLndoKTt3aGlsZSgtLWghPT0wKX1lbHNlIGUhPT0wPyhlIT09diYmKE42KG4sZSxuLndoKSxoLS0pLE42KG4sMTYsbi53aCkscyQobixoLTMsMikpOmg8PTEwPyhONihuLDE3LG4ud2gpLHMkKG4saC0zLDMpKTooTjYobiwxOCxuLndoKSxzJChuLGgtMTEsNykpO2g9MDt2PWU7az09PTA/KHg9MTM4LEw9Myk6ZT09PWs/KHg9NixMPTMpOih4PTcsTD00KX19fTsKQTR4PWZ1bmN0aW9uKG4pe3ZhciBXPTQwOTM2MjQ0NDcsRDtmb3IoRD0wO0Q8PTMxO0QrKyxXPj4+PTEpaWYoVyYxJiZuLmtHW0QqMl0hPT0wKXJldHVybiAwO2lmKG4ua0dbMThdIT09MHx8bi5rR1syMF0hPT0wfHxuLmtHWzI2XSE9PTApcmV0dXJuIDE7Zm9yKEQ9MzI7RDwyNTY7RCsrKWlmKG4ua0dbRCoyXSE9PTApcmV0dXJuIDE7cmV0dXJuIDB9OwpvUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47aWYoIShuKzQmNykpe0Q9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO3ZhciBrPWJbMF07YlswXT1iW0RdO2JbRF09azt2YXIgaD1bRF19KG4rOSY1KT09MSYmYltJWzNdXShiW0lbNV1dLDAsRCk7cmV0dXJuIGh9OwpkNz1mdW5jdGlvbihuLFcsRCl7bi5GQltuLkE4K24ud1gqMl09Vz4+PjgmMjU1O24uRkJbbi5BOCtuLndYKjIrMV09VyYyNTU7bi5GQltuLnRhK24ud1hdPUQmMjU1O24ud1grKztXPT09MD9uLmtHW0QqMl0rKzoobi5tYXRjaGVzKyssVy0tLG4ua0dbKEFrW0RdKzI1NisxKSoyXSsrLG4ubGZbKFc8MjU2P08kW1ddOk8kWzI1NisoVz4+PjcpXSkqMl0rKyk7cmV0dXJuIG4ud1g9PT1uLktYLTF9OwpsQz1mdW5jdGlvbihuLFcpe24ubXNnPXpCW1ddO3JldHVybiBXfTsKVEI9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW4ubGVuZ3RoOy0tVz49MDspbltXXT0wfTsKanY9ZnVuY3Rpb24obil7dmFyIFc9bi5zdGF0ZSxEPVcucGVuZGluZztEPm4udVImJihEPW4udVIpO0QhPT0wJiYoaGsuUDcobi5vdXRwdXQsVy5GQixXLmhSLEQsbi51Zyksbi51Zys9RCxXLmhSKz1ELG4udEIrPUQsbi51Ui09RCxXLnBlbmRpbmctPUQsVy5wZW5kaW5nPT09MCYmKFcuaFI9MCkpfTsKdzc9ZnVuY3Rpb24obixXKXt2YXIgRD1uLk9LPj0wP24uT0s6LTEsYj1uLnFzLW4uT0ssdj0wO2lmKG4ubGV2ZWw+MCl7bi5UUi5xUz09PTImJihuLlRSLnFTPUE0eChuKSk7RSQobixuLlFmKTtFJChuLG4uYVMpO2lDKG4sbi5rRyxuLlFmLnJPKTtpQyhuLG4ubGYsbi5hUy5yTyk7RSQobixuLm1NKTtmb3Iodj0xODt2Pj0zJiZuLndoW0NlW3ZdKjIrMV09PT0wO3YtLSk7bi5YUis9MyoodisxKSs1KzUrNDt2YXIgaz1uLlhSKzMrNz4+PjM7dmFyIGg9bi5UdiszKzc+Pj4zO2g8PWsmJihrPWgpfWVsc2Ugaz1oPWIrNTtpZihiKzQ8PWsmJkQhPT0tMSlzJChuLFc/MTowLDMpLEprKG4sRCxiKTtlbHNlIGlmKG4uc3RyYXRlZ3k9PT00fHxoPT09aylzJChuLDIrKFc/MTowKSwzKSxVJChuLEJTLEY5KTtlbHNle3MkKG4sNCsoVz8xOjApLDMpO0Q9bi5RZi5yTysxO2I9bi5hUy5yTysxO3YrPTE7cyQobixELTI1Nyw1KTtzJChuLGItMSw1KTtzJChuLHYtNCw0KTtmb3Ioaz0wO2s8djtrKyspcyQobiwKbi53aFtDZVtrXSoyKzFdLDMpO3VDKG4sbi5rRyxELTEpO3VDKG4sbi5sZixiLTEpO1UkKG4sbi5rRyxuLmxmKX1IUyhuKTtXJiZmZShuKTtuLk9LPW4ucXM7anYobi5UUil9OwpNNj1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVd9OwpSUz1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVc+Pj44JjI1NTtuLkZCW24ucGVuZGluZysrXT1XJjI1NX07ClF0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5lYixiPW4ucXMsdj1uLlRhLGs9bi5PUixoPW4ucXM+bi54ci0yNjI/bi5xcy0obi54ci0yNjIpOjAseD1uLndpbmRvdyxMPW4ueWUsZT1uLlJULEc9bi5xcysyNTgscj14W2Irdi0xXSxOPXhbYit2XTtuLlRhPj1uLnIkJiYoRD4+PTIpO2s+bi5HVyYmKGs9bi5HVyk7ZG97dmFyIEg9VztpZih4W0grdl09PT1OJiZ4W0grdi0xXT09PXImJnhbSF09PT14W2JdJiZ4WysrSF09PT14W2IrMV0pe2IrPTI7Zm9yKEgrKzt4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmYjxHOyk7SD0yNTgtKEctYik7Yj1HLTI1ODtpZihIPnYpe24uUVo9Vzt2PUg7aWYoSD49aylicmVhaztyPXhbYit2LTFdO049eFtiK3ZdfX19d2hpbGUoKFc9ZVtXJkxdKT5oJiYtLUQhPT0KMCk7cmV0dXJuIHY8PW4uR1c/djpuLkdXfTsKYVM9ZnVuY3Rpb24obil7dmFyIFc9bi54cixEO2Rve3ZhciBiPW4uYlgtbi5HVy1uLnFzO2lmKG4ucXM+PVcrKFctMjYyKSl7aGsuUDcobi53aW5kb3csbi53aW5kb3csVyxXLDApO24uUVotPVc7bi5xcy09VztuLk9LLT1XO3ZhciB2PUQ9bi5BeTtkb3t2YXIgaz1uLmhlYWRbLS12XTtuLmhlYWRbdl09az49Vz9rLVc6MH13aGlsZSgtLUQpO3Y9RD1XO2RvIGs9bi5SVFstLXZdLG4uUlRbdl09az49Vz9rLVc6MDt3aGlsZSgtLUQpO2IrPVd9aWYobi5UUi5CQT09PTApYnJlYWs7dj1uLlRSO0Q9bi53aW5kb3c7az1uLnFzK24uR1c7dmFyIGg9di5CQTtoPmImJihoPWIpO2g9PT0wP0Q9MDoodi5CQS09aCxoay5QNyhELHYuaW5wdXQsdi5VWixoLGspLHYuc3RhdGUud3JhcD09PTE/di5nST1WdCh2LmdJLEQsaCxrKTp2LnN0YXRlLndyYXA9PT0yJiYodi5nST1jUyh2LmdJLEQsaCxrKSksdi5VWis9aCx2LkVtKz1oLEQ9aCk7bi5HVys9RDtpZihuLkdXK24ucXA+PTMpZm9yKGI9bi5xcy1uLnFwLApuLnBBPW4ud2luZG93W2JdLG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYisxXSkmbi5sQjtuLnFwJiYhKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYiszLTFdKSZuLmxCLG4uUlRbYiZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPWIsYisrLG4ucXAtLSxuLkdXK24ucXA8Myk7KTt9d2hpbGUobi5HVzwyNjImJm4uVFIuQkEhPT0wKX07Cm53PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO0QhPT0wJiZuLnFzLUQ8PW4ueHItMjYyJiYobi5mQT1RdChuLEQpKTtpZihuLmZBPj0zKWlmKEQ9ZDcobixuLnFzLW4uUVosbi5mQS0zKSxuLkdXLT1uLmZBLG4uZkE8PW4uUmImJm4uR1c+PTMpe24uZkEtLTtkbyBuLnFzKyssbi5wQT0obi5wQTw8bi5IY15uLndpbmRvd1tuLnFzKzMtMV0pJm4ubEIsbi5SVFtuLnFzJm4ueWVdPW4uaGVhZFtuLnBBXSxuLmhlYWRbbi5wQV09bi5xczt3aGlsZSgtLW4uZkEhPT0wKTtuLnFzKyt9ZWxzZSBuLnFzKz1uLmZBLG4uZkE9MCxuLnBBPW4ud2luZG93W24ucXNdLG4ucEE9KG4ucEE8PG4uSGNeCm4ud2luZG93W24ucXMrMV0pJm4ubEI7ZWxzZSBEPWQ3KG4sMCxuLndpbmRvd1tuLnFzXSksbi5HVy0tLG4ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9bi5xczwyP24ucXM6MjtyZXR1cm4gVz09PTQ/KHc3KG4sITApLG4uVFIudVI9PT0wPzM6NCk6bi53WCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKT8xOjJ9OwpXVj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRCxiOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO24uVGE9bi5mQTtuLkx2PW4uUVo7bi5mQT0yO0QhPT0wJiZuLlRhPG4uUmImJm4ucXMtRDw9bi54ci0yNjImJihuLmZBPVF0KG4sRCksbi5mQTw9NSYmKG4uc3RyYXRlZ3k9PT0xfHxuLmZBPT09MyYmbi5xcy1uLlFaPjQwOTYpJiYobi5mQT0yKSk7aWYobi5UYT49MyYmbi5mQTw9bi5UYSl7Yj1uLnFzK24uR1ctMztEPWQ3KG4sbi5xcy0xLW4uTHYsbi5UYS0zKTtuLkdXLT1uLlRhLTE7bi5UYS09Mjtkbysrbi5xczw9YiYmKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbbi5xcyszLTFdKSZuLmxCLG4uUlRbbi5xcyZuLnllXT0Kbi5oZWFkW24ucEFdLG4uaGVhZFtuLnBBXT1uLnFzKTt3aGlsZSgtLW4uVGEhPT0wKTtuLlJGPTA7bi5mQT0yO24ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfWVsc2UgaWYobi5SRil7aWYoKEQ9ZDcobiwwLG4ud2luZG93W24ucXMtMV0pKSYmdzcobiwhMSksbi5xcysrLG4uR1ctLSxuLlRSLnVSPT09MClyZXR1cm4gMX1lbHNlIG4uUkY9MSxuLnFzKyssbi5HVy0tfW4uUkYmJihkNyhuLDAsbi53aW5kb3dbbi5xcy0xXSksbi5SRj0wKTtuLnFwPW4ucXM8Mj9uLnFzOjI7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKbXhqPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBELGIsdixrPW4ud2luZG93Ozspe2lmKG4uR1c8PTI1OCl7YVMobik7aWYobi5HVzw9MjU4JiZXPT09MClyZXR1cm4gMTtpZihuLkdXPT09MClicmVha31uLmZBPTA7aWYobi5HVz49MyYmbi5xcz4wJiYoYj1uLnFzLTEsRD1rW2JdLEQ9PT1rWysrYl0mJkQ9PT1rWysrYl0mJkQ9PT1rWysrYl0pKXtmb3Iodj1uLnFzKzI1ODtEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZiPHY7KTtuLmZBPTI1OC0odi1iKTtuLmZBPm4uR1cmJihuLmZBPW4uR1cpfW4uZkE+PTM/KEQ9ZDcobiwxLG4uZkEtMyksbi5HVy09bi5mQSxuLnFzKz1uLmZBLG4uZkE9MCk6KEQ9ZDcobiwwLG4ud2luZG93W24ucXNdKSxuLkdXLS0sbi5xcysrKTtpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9MDtyZXR1cm4gVz09PQo0Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKS3hVPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c9PT0wJiYoYVMobiksbi5HVz09PTApKXtpZihXPT09MClyZXR1cm4gMTticmVha31uLmZBPTA7RD1kNyhuLDAsbi53aW5kb3dbbi5xc10pO24uR1ctLTtuLnFzKys7aWYoRCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKREU9ZnVuY3Rpb24obixXLEQsYix2KXt0aGlzLm5rPW47dGhpcy5ZOD1XO3RoaXMuRWs9RDt0aGlzLlNSPWI7dGhpcy5mdW5jPXZ9OwpPMGk9ZnVuY3Rpb24oKXt0aGlzLlRSPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLkZCPW51bGw7dGhpcy53cmFwPXRoaXMucGVuZGluZz10aGlzLmhSPXRoaXMueXY9MDt0aGlzLkZRPW51bGw7dGhpcy5HST0wO3RoaXMubWV0aG9kPTg7dGhpcy5obz0tMTt0aGlzLnllPXRoaXMuclo9dGhpcy54cj0wO3RoaXMud2luZG93PW51bGw7dGhpcy5iWD0wO3RoaXMuaGVhZD10aGlzLlJUPW51bGw7dGhpcy5PUj10aGlzLnIkPXRoaXMuc3RyYXRlZ3k9dGhpcy5sZXZlbD10aGlzLlJiPXRoaXMuZWI9dGhpcy5UYT10aGlzLkdXPXRoaXMuUVo9dGhpcy5xcz10aGlzLlJGPXRoaXMuTHY9dGhpcy5mQT10aGlzLk9LPXRoaXMuSGM9dGhpcy5sQj10aGlzLll2PXRoaXMuQXk9dGhpcy5wQT0wO3RoaXMua0c9bmV3IGhrLm1LKDExNDYpO3RoaXMubGY9bmV3IGhrLm1LKDEyMik7dGhpcy53aD1uZXcgaGsubUsoNzgpO1RCKHRoaXMua0cpO1RCKHRoaXMubGYpO1RCKHRoaXMud2gpO3RoaXMubU09dGhpcy5hUz0KdGhpcy5RZj1udWxsO3RoaXMuVm49bmV3IGhrLm1LKDE2KTt0aGlzLmhlYXA9bmV3IGhrLm1LKDU3Myk7VEIodGhpcy5oZWFwKTt0aGlzLk80PXRoaXMuVW49MDt0aGlzLmRlcHRoPW5ldyBoay5tSyg1NzMpO1RCKHRoaXMuZGVwdGgpO3RoaXMuWUg9dGhpcy5SSj10aGlzLnFwPXRoaXMubWF0Y2hlcz10aGlzLlR2PXRoaXMuWFI9dGhpcy5BOD10aGlzLndYPXRoaXMuS1g9dGhpcy50YT0wfTsKUHAxPWZ1bmN0aW9uKG4sVyl7aWYoIW58fCFuLnN0YXRlfHxXPjV8fFc8MClyZXR1cm4gbj9sQyhuLC0yKTotMjt2YXIgRD1uLnN0YXRlO2lmKCFuLm91dHB1dHx8IW4uaW5wdXQmJm4uQkEhPT0wfHxELnN0YXR1cz09PTY2NiYmVyE9PTQpcmV0dXJuIGxDKG4sbi51Uj09PTA/LTU6LTIpO0QuVFI9bjt2YXIgYj1ELmhvO0QuaG89VztpZihELnN0YXR1cz09PTQyKWlmKEQud3JhcD09PTIpbi5nST0wLE02KEQsMzEpLE02KEQsMTM5KSxNNihELDgpLEQuRlE/KE02KEQsKEQuRlEudGV4dD8xOjApKyhELkZRLnZMPzI6MCkrKEQuRlEuZXh0cmE/NDowKSsoRC5GUS5uYW1lPzg6MCkrKEQuRlEuY29tbWVudD8xNjowKSksTTYoRCxELkZRLnRpbWUmMjU1KSxNNihELEQuRlEudGltZT4+OCYyNTUpLE02KEQsRC5GUS50aW1lPj4xNiYyNTUpLE02KEQsRC5GUS50aW1lPj4yNCYyNTUpLE02KEQsRC5sZXZlbD09PTk/MjpELnN0cmF0ZWd5Pj0yfHxELmxldmVsPDI/NDowKSxNNihELEQuRlEub3MmCjI1NSksRC5GUS5leHRyYSYmRC5GUS5leHRyYS5sZW5ndGgmJihNNihELEQuRlEuZXh0cmEubGVuZ3RoJjI1NSksTTYoRCxELkZRLmV4dHJhLmxlbmd0aD4+OCYyNTUpKSxELkZRLnZMJiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLDApKSxELkdJPTAsRC5zdGF0dXM9NjkpOihNNihELDApLE02KEQsMCksTTYoRCwwKSxNNihELDApLE02KEQsMCksTTYoRCxELmxldmVsPT09OT8yOkQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj80OjApLE02KEQsMyksRC5zdGF0dXM9MTEzKTtlbHNle3ZhciB2PTgrKEQuclotODw8NCk8PDg7dnw9KEQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj8wOkQubGV2ZWw8Nj8xOkQubGV2ZWw9PT02PzI6Myk8PDY7RC5xcyE9PTAmJih2fD0zMik7RC5zdGF0dXM9MTEzO1JTKEQsdisoMzEtdiUzMSkpO0QucXMhPT0wJiYoUlMoRCxuLmdJPj4+MTYpLFJTKEQsbi5nSSY2NTUzNSkpO24uZ0k9MX1pZihELnN0YXR1cz09PTY5KWlmKEQuRlEuZXh0cmEpe2Zvcih2PQpELnBlbmRpbmc7RC5HSTwoRC5GUS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoRC5wZW5kaW5nIT09RC55dnx8KEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZyE9PUQueXYpKTspTTYoRCxELkZRLmV4dHJhW0QuR0ldJjI1NSksRC5HSSsrO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO0QuR0k9PT1ELkZRLmV4dHJhLmxlbmd0aCYmKEQuR0k9MCxELnN0YXR1cz03Myl9ZWxzZSBELnN0YXR1cz03MztpZihELnN0YXR1cz09PTczKWlmKEQuRlEubmFtZSl7dj1ELnBlbmRpbmc7ZG97aWYoRC5wZW5kaW5nPT09RC55diYmKEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZz09PUQueXYpKXt2YXIgaz0xO2JyZWFrfWs9RC5HSTxELkZRLm5hbWUubGVuZ3RoPwpELkZRLm5hbWUuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5HST0wLEQuc3RhdHVzPTkxKX1lbHNlIEQuc3RhdHVzPTkxO2lmKEQuc3RhdHVzPT09OTEpaWYoRC5GUS5jb21tZW50KXt2PUQucGVuZGluZztkb3tpZihELnBlbmRpbmc9PT1ELnl2JiYoRC5GUS52TCYmRC5wZW5kaW5nPnYmJihuLmdJPWNTKG4uZ0ksRC5GQixELnBlbmRpbmctdix2KSksanYobiksdj1ELnBlbmRpbmcsRC5wZW5kaW5nPT09RC55dikpe2s9MTticmVha31rPUQuR0k8RC5GUS5jb21tZW50Lmxlbmd0aD9ELkZRLmNvbW1lbnQuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5zdGF0dXM9MTAzKX1lbHNlIEQuc3RhdHVzPQoxMDM7RC5zdGF0dXM9PT0xMDMmJihELkZRLnZMPyhELnBlbmRpbmcrMj5ELnl2JiZqdihuKSxELnBlbmRpbmcrMjw9RC55diYmKE02KEQsbi5nSSYyNTUpLE02KEQsbi5nST4+OCYyNTUpLG4uZ0k9MCxELnN0YXR1cz0xMTMpKTpELnN0YXR1cz0xMTMpO2lmKEQucGVuZGluZyE9PTApe2lmKGp2KG4pLG4udVI9PT0wKXJldHVybiBELmhvPS0xLDB9ZWxzZSBpZihuLkJBPT09MCYmKFc8PDEpLShXPjQ/OTowKTw9KGI8PDEpLShiPjQ/OTowKSYmVyE9PTQpcmV0dXJuIGxDKG4sLTUpO2lmKEQuc3RhdHVzPT09NjY2JiZuLkJBIT09MClyZXR1cm4gbEMobiwtNSk7aWYobi5CQSE9PTB8fEQuR1chPT0wfHxXIT09MCYmRC5zdGF0dXMhPT02NjYpe2I9RC5zdHJhdGVneT09PTI/S3hVKEQsVyk6RC5zdHJhdGVneT09PTM/bXhqKEQsVyk6YndbRC5sZXZlbF0uZnVuYyhELFcpO2lmKGI9PT0zfHxiPT09NClELnN0YXR1cz02NjY7aWYoYj09PTF8fGI9PT0zKXJldHVybiBuLnVSPT09MCYmKEQuaG89Ci0xKSwwO2lmKGI9PT0yJiYoVz09PTE/KHMkKEQsMiwzKSxONihELDI1NixCUyksRC5ZSD09PTE2PyhyNyhELEQuUkopLEQuUko9MCxELllIPTApOkQuWUg+PTgmJihELkZCW0QucGVuZGluZysrXT1ELlJKJjI1NSxELlJKPj49OCxELllILT04KSk6VyE9PTUmJihzJChELDAsMyksSmsoRCwwLDApLFc9PT0zJiYoVEIoRC5oZWFkKSxELkdXPT09MCYmKEQucXM9MCxELk9LPTAsRC5xcD0wKSkpLGp2KG4pLG4udVI9PT0wKSlyZXR1cm4gRC5obz0tMSwwfWlmKFchPT00KXJldHVybiAwO2lmKEQud3JhcDw9MClyZXR1cm4gMTtELndyYXA9PT0yPyhNNihELG4uZ0kmMjU1KSxNNihELG4uZ0k+PjgmMjU1KSxNNihELG4uZ0k+PjE2JjI1NSksTTYoRCxuLmdJPj4yNCYyNTUpLE02KEQsbi5FbSYyNTUpLE02KEQsbi5FbT4+OCYyNTUpLE02KEQsbi5FbT4+MTYmMjU1KSxNNihELG4uRW0+PjI0JjI1NSkpOihSUyhELG4uZ0k+Pj4xNiksUlMoRCxuLmdJJjY1NTM1KSk7anYobik7RC53cmFwPjAmJgooRC53cmFwPS1ELndyYXApO3JldHVybiBELnBlbmRpbmchPT0wPzA6MX07CnZWPWZ1bmN0aW9uKG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIHZWKSlyZXR1cm4gbmV3IHZWKG4pO249dGhpcy5vcHRpb25zPWhrLmFzc2lnbih7bGV2ZWw6LTEsbWV0aG9kOjgsY2h1bmtTaXplOjE2Mzg0LHRnOjE1LEJrOjgsc3RyYXRlZ3k6MCx0bzoiIn0sbnx8e30pO24ucmF3JiZuLnRnPjA/bi50Zz0tbi50ZzpuLkJUJiZuLnRnPjAmJm4udGc8MTYmJihuLnRnKz0xNik7dGhpcy5lcnI9MDt0aGlzLm1zZz0iIjt0aGlzLmVuZGVkPSExO3RoaXMuY2h1bmtzPVtdO3RoaXMuVFI9bmV3IGtmO3RoaXMuVFIudVI9MDt2YXIgVz10aGlzLlRSO3ZhciBEPW4ubGV2ZWwsYj1uLm1ldGhvZCx2PW4udGcsaz1uLkJrLGg9bi5zdHJhdGVneTtpZihXKXt2YXIgeD0xO0Q9PT0tMSYmKEQ9Nik7djwwPyh4PTAsdj0tdik6dj4xNSYmKHg9Mix2LT0xNik7aWYoazwxfHxrPjl8fGIhPT04fHx2PDh8fHY+MTV8fEQ8MHx8RD45fHxoPDB8fGg+NClXPWxDKFcsLTIpO2Vsc2V7dj09PTgmJih2PTkpO3ZhciBMPQpuZXcgTzBpO1cuc3RhdGU9TDtMLlRSPVc7TC53cmFwPXg7TC5GUT1udWxsO0wuclo9djtMLnhyPTE8PEwuclo7TC55ZT1MLnhyLTE7TC5Zdj1rKzc7TC5BeT0xPDxMLll2O0wubEI9TC5BeS0xO0wuSGM9fn4oKEwuWXYrMy0xKS8zKTtMLndpbmRvdz1uZXcgaGsuT20oTC54cioyKTtMLmhlYWQ9bmV3IGhrLm1LKEwuQXkpO0wuUlQ9bmV3IGhrLm1LKEwueHIpO0wuS1g9MTw8ays2O0wueXY9TC5LWCo0O0wuRkI9bmV3IGhrLk9tKEwueXYpO0wuQTg9MSpMLktYO0wudGE9MypMLktYO0wubGV2ZWw9RDtMLnN0cmF0ZWd5PWg7TC5tZXRob2Q9YjtpZihXJiZXLnN0YXRlKXtXLkVtPVcudEI9MDtXLnFTPTI7RD1XLnN0YXRlO0QucGVuZGluZz0wO0QuaFI9MDtELndyYXA8MCYmKEQud3JhcD0tRC53cmFwKTtELnN0YXR1cz1ELndyYXA/NDI6MTEzO1cuZ0k9RC53cmFwPT09Mj8wOjE7RC5obz0wO2lmKCFocil7Yj1BcnJheSgxNik7Zm9yKGs9aD0wO2s8Mjg7aysrKWZvcihLZVtrXT1oLHY9MDt2PAoxPDxtJFtrXTt2KyspQWtbaCsrXT1rO0FrW2gtMV09aztmb3Ioaz1oPTA7azwxNjtrKyspZm9yKFpRW2tdPWgsdj0wO3Y8MTw8UFNba107disrKU8kW2grK109aztmb3IoaD4+PTc7azwzMDtrKyspZm9yKFpRW2tdPWg8PDcsdj0wO3Y8MTw8UFNba10tNzt2KyspTyRbMjU2K2grK109aztmb3Iodj0wO3Y8PTE1O3YrKyliW3ZdPTA7Zm9yKHY9MDt2PD0xNDM7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7Zm9yKDt2PD0yNTU7KUJTW3YqMisxXT05LHYrKyxiWzldKys7Zm9yKDt2PD0yNzk7KUJTW3YqMisxXT03LHYrKyxiWzddKys7Zm9yKDt2PD0yODc7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7WWooQlMsMjg3LGIpO2Zvcih2PTA7djwzMDt2KyspRjlbdioyKzFdPTUsRjlbdioyXT1wZSh2LDUpO3hmPW5ldyBldihCUyxtJCwyNTcsMjg2LDE1KTtMdz1uZXcgZXYoRjksUFMsMCwzMCwxNSk7ZUg9bmV3IGV2KFtdLFowdywwLDE5LDcpO2hyPSEwfUQuUWY9bmV3IHRrKEQua0cseGYpO0QuYVM9Cm5ldyB0ayhELmxmLEx3KTtELm1NPW5ldyB0ayhELndoLGVIKTtELlJKPTA7RC5ZSD0wO0hTKEQpO0Q9MH1lbHNlIEQ9bEMoVywtMik7RD09PTAmJihXPVcuc3RhdGUsVy5iWD0yKlcueHIsVEIoVy5oZWFkKSxXLlJiPWJ3W1cubGV2ZWxdLlk4LFcuciQ9YndbVy5sZXZlbF0ubmssVy5PUj1id1tXLmxldmVsXS5FayxXLmViPWJ3W1cubGV2ZWxdLlNSLFcucXM9MCxXLk9LPTAsVy5HVz0wLFcucXA9MCxXLmZBPVcuVGE9MixXLlJGPTAsVy5wQT0wKTtXPUR9fWVsc2UgVz0tMjtpZihXIT09MCl0aHJvdyBFcnJvcih6QltXXSk7bi5oZWFkZXImJihXPXRoaXMuVFIpJiZXLnN0YXRlJiZXLnN0YXRlLndyYXA9PT0yJiYoVy5zdGF0ZS5GUT1uLmhlYWRlcik7aWYobi5Dbyl7dmFyIGU7dHlwZW9mIG4uQ289PT0ic3RyaW5nIj9lPXhqKG4uQ28pOmcyLmNhbGwobi5Dbyk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2U9bmV3IFVpbnQ4QXJyYXkobi5Dbyk6ZT1uLkNvO249dGhpcy5UUjtrPWU7aD0Kay5sZW5ndGg7aWYobiYmbi5zdGF0ZSlpZihlPW4uc3RhdGUsVz1lLndyYXAsVz09PTJ8fFc9PT0xJiZlLnN0YXR1cyE9PTQyfHxlLkdXKVc9LTI7ZWxzZXtXPT09MSYmKG4uZ0k9VnQobi5nSSxrLGgsMCkpO2Uud3JhcD0wO2g+PWUueHImJihXPT09MCYmKFRCKGUuaGVhZCksZS5xcz0wLGUuT0s9MCxlLnFwPTApLEQ9bmV3IGhrLk9tKGUueHIpLGhrLlA3KEQsayxoLWUueHIsZS54ciwwKSxrPUQsaD1lLnhyKTtEPW4uQkE7Yj1uLlVaO3Y9bi5pbnB1dDtuLkJBPWg7bi5VWj0wO24uaW5wdXQ9aztmb3IoYVMoZSk7ZS5HVz49Mzspe2s9ZS5xcztoPWUuR1ctMjtkbyBlLnBBPShlLnBBPDxlLkhjXmUud2luZG93W2srMy0xXSkmZS5sQixlLlJUW2smZS55ZV09ZS5oZWFkW2UucEFdLGUuaGVhZFtlLnBBXT1rLGsrKzt3aGlsZSgtLWgpO2UucXM9aztlLkdXPTI7YVMoZSl9ZS5xcys9ZS5HVztlLk9LPWUucXM7ZS5xcD1lLkdXO2UuR1c9MDtlLmZBPWUuVGE9MjtlLlJGPTA7bi5VWj1iO24uaW5wdXQ9CnY7bi5CQT1EO2Uud3JhcD1XO1c9MH1lbHNlIFc9LTI7aWYoVyE9PTApdGhyb3cgRXJyb3IoekJbV10pO3RoaXMuWGg9ITB9fTsKWCQ9ZnVuY3Rpb24obil7dmFyIFc9V3x8e307Vy5CVD0hMDtXPW5ldyB2VihXKTtXLnB1c2gobiwhMCk7aWYoVy5lcnIpdGhyb3cgVy5tc2d8fHpCW1cuZXJyXTtyZXR1cm4gVy5yZXN1bHR9OwpxTj1mdW5jdGlvbiguLi5uKXtyZXR1cm4gbi5sZW5ndGg9PT0wP1c9Plc6bi5sZW5ndGg9PT0xP25bMF06bi5yZWR1Y2UoKFcsRCk9PiguLi5iKT0+VyhEKC4uLmIpKSl9OwpVeGo9ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gVz0+KEQsYik9PntEPVcoRCxiKTt2YXIgdj0oKT0+e3Rocm93IEVycm9yKCJEaXNwYXRjaGluZyB3aGlsZSBjb25zdHJ1Y3RpbmcgeW91ciBtaWRkbGV3YXJlIGlzIG5vdCBhbGxvd2VkLiBPdGhlciBtaWRkbGV3YXJlIHdvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIHRoaXMgZGlzcGF0Y2guIik7fSxrPXtnZXRTdGF0ZTpELmdldFN0YXRlLApkaXNwYXRjaDooaCwuLi54KT0+dihoLC4uLngpfTsKYj1uLm1hcChoPT5oKGspKTsKdj1xTiguLi5iKShELmRpc3BhdGNoKTtyZXR1cm57Li4uRCxkaXNwYXRjaDp2fX19Owp5NDI9ZnVuY3Rpb24obil7T2JqZWN0LmtleXMobikuZm9yRWFjaChXPT57dmFyIEQ9bltXXTtpZih0eXBlb2YgRCh2b2lkIDAse3R5cGU6R2R9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKGBUaGUgc2xpY2UgcmVkdWNlciBmb3Iga2V5ICIke1d9IiByZXR1cm5lZCB1bmRlZmluZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBJZiB0aGUgc3RhdGUgcGFzc2VkIHRvIHRoZSByZWR1Y2VyIGlzIHVuZGVmaW5lZCwgeW91IG11c3QgZXhwbGljaXRseSByZXR1cm4gdGhlIGluaXRpYWwgc3RhdGUuIFRoZSBpbml0aWFsIHN0YXRlIG1heSBub3QgYmUgdW5kZWZpbmVkLiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBzZXQgYSB2YWx1ZSBmb3IgdGhpcyByZWR1Y2VyLCB5b3UgY2FuIHVzZSBudWxsIGluc3RlYWQgb2YgdW5kZWZpbmVkLmApO2lmKHR5cGVvZiBEKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7dHIoKX1gfSk9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcihgVGhlIHNsaWNlIHJlZHVjZXIgZm9yIGtleSAiJHtXfSIgcmV0dXJuZWQgdW5kZWZpbmVkIHdoZW4gcHJvYmVkIHdpdGggYSByYW5kb20gdHlwZS4gRG9uJ3QgdHJ5IHRvIGhhbmRsZSAnJHtHZH0nIG9yIG90aGVyIGFjdGlvbnMgaW4gInJlZHV4LyoiIG5hbWVzcGFjZS4gVGhleSBhcmUgY29uc2lkZXJlZCBwcml2YXRlLiBJbnN0ZWFkLCB5b3UgbXVzdCByZXR1cm4gdGhlIGN1cnJlbnQgc3RhdGUgZm9yIGFueSB1bmtub3duIGFjdGlvbnMsIHVubGVzcyBpdCBpcyB1bmRlZmluZWQsIGluIHdoaWNoIGNhc2UgeW91IG11c3QgcmV0dXJuIHRoZSBpbml0aWFsIHN0YXRlLCByZWdhcmRsZXNzIG9mIHRoZSBhY3Rpb24gdHlwZS4gVGhlIGluaXRpYWwgc3RhdGUgbWF5IG5vdCBiZSB1bmRlZmluZWQsIGJ1dCBjYW4gYmUgbnVsbC5gKTsKfSl9OwokZj1mdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuZ2V0U3RhdGUoKSB3aGlsZSB0aGUgcmVkdWNlciBpcyBleGVjdXRpbmcuIFRoZSByZWR1Y2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIHRoZSBzdGF0ZSBhcyBhbiBhcmd1bWVudC4gUGFzcyBpdCBkb3duIGZyb20gdGhlIHRvcCByZWR1Y2VyIGluc3RlYWQgb2YgcmVhZGluZyBpdCBmcm9tIHRoZSBzdG9yZS4iKTtyZXR1cm4geH0KZnVuY3Rpb24gdihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59J2ApO2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuc3Vic2NyaWJlKCkgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBJZiB5b3Ugd291bGQgbGlrZSB0byBiZSBub3RpZmllZCBhZnRlciB0aGUgc3RvcmUgaGFzIGJlZW4gdXBkYXRlZCwgc3Vic2NyaWJlIGZyb20gYSBjb21wb25lbnQgYW5kIGludm9rZSBzdG9yZS5nZXRTdGF0ZSgpIGluIHRoZSBjYWxsYmFjayB0byBhY2Nlc3MgdGhlIGxhdGVzdCBzdGF0ZS4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL2FwaS9zdG9yZSNzdWJzY3JpYmVsaXN0ZW5lciBmb3IgbW9yZSBkZXRhaWxzLiIpO3ZhciBIPSEwO2U9PT1MJiYoZT1MLnNsaWNlKCkpO2UucHVzaChOKTtyZXR1cm4gZnVuY3Rpb24oKXtpZihIKXtpZihHKXRocm93IEVycm9yKCJZb3UgbWF5IG5vdCB1bnN1YnNjcmliZSBmcm9tIGEgc3RvcmUgbGlzdGVuZXIgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBTZWUgaHR0cHM6Ly9yZWR1eC5qcy5vcmcvYXBpL3N0b3JlI3N1YnNjcmliZWxpc3RlbmVyIGZvciBtb3JlIGRldGFpbHMuIik7Ckg9ITE7ZT09PUwmJihlPUwuc2xpY2UoKSk7ZS5zcGxpY2UoZS5pbmRleE9mKE4pLDEpO0w9bnVsbH19fQpmdW5jdGlvbiBrKE4pe2lmKHR5cGVvZiBOIT09Im9iamVjdCJ8fE49PT1udWxsKXZhciBIPSExO2Vsc2V7Zm9yKEg9TjtPYmplY3QuZ2V0UHJvdG90eXBlT2YoSCkhPT1udWxsOylIPU9iamVjdC5nZXRQcm90b3R5cGVPZihIKTtIPU9iamVjdC5nZXRQcm90b3R5cGVPZihOKT09PUh9aWYoIUgpdGhyb3cgRXJyb3IoYEFjdGlvbnMgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBJbnN0ZWFkLCB0aGUgYWN0dWFsIHR5cGUgd2FzOiAnJHt0eXBlb2YgTn0nLiBZb3UgbWF5IG5lZWQgdG8gYWRkIG1pZGRsZXdhcmUgdG8geW91ciBzdG9yZSBzZXR1cCB0byBoYW5kbGUgZGlzcGF0Y2hpbmcgb3RoZXIgdmFsdWVzLCBzdWNoIGFzICdyZWR1eC10aHVuaycgdG8gaGFuZGxlIGRpc3BhdGNoaW5nIGZ1bmN0aW9ucy4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC00LXN0b3JlI21pZGRsZXdhcmUgYW5kIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC02LWFzeW5jLWxvZ2ljI3VzaW5nLXRoZS1yZWR1eC10aHVuay1taWRkbGV3YXJlIGZvciBleGFtcGxlcy5gKTsKaWYodHlwZW9mIE4udHlwZT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCdBY3Rpb25zIG1heSBub3QgaGF2ZSBhbiB1bmRlZmluZWQgInR5cGUiIHByb3BlcnR5LiBZb3UgbWF5IGhhdmUgbWlzc3BlbGxlZCBhbiBhY3Rpb24gdHlwZSBzdHJpbmcgY29uc3RhbnQuJyk7aWYoRyl0aHJvdyBFcnJvcigiUmVkdWNlcnMgbWF5IG5vdCBkaXNwYXRjaCBhY3Rpb25zLiIpO3RyeXtHPSEwLHg9aCh4LE4pfWZpbmFsbHl7Rz0hMX1IPUw9ZTtmb3IobGV0IEE9MDtBPEgubGVuZ3RoO0ErKykoMCxIW0FdKSgpO3JldHVybiBOfQppZih0eXBlb2YgVz09PSJmdW5jdGlvbiImJnR5cGVvZiBEPT09ImZ1bmN0aW9uInx8dHlwZW9mIEQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSXQgbG9va3MgbGlrZSB5b3UgYXJlIHBhc3Npbmcgc2V2ZXJhbCBzdG9yZSBlbmhhbmNlcnMgdG8gY3JlYXRlU3RvcmUoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBJbnN0ZWFkLCBjb21wb3NlIHRoZW0gdG9nZXRoZXIgdG8gYSBzaW5nbGUgZnVuY3Rpb24uIFNlZSBodHRwczovL3JlZHV4LmpzLm9yZy90dXRvcmlhbHMvZnVuZGFtZW50YWxzL3BhcnQtNC1zdG9yZSNjcmVhdGluZy1hLXN0b3JlLXdpdGgtZW5oYW5jZXJzIGZvciBhbiBleGFtcGxlLiIpO3R5cGVvZiBXPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEQ9PT0idW5kZWZpbmVkIiYmKEQ9VyxXPXZvaWQgMCk7aWYodHlwZW9mIEQhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIEQhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgZW5oYW5jZXIgdG8gYmUgYSBmdW5jdGlvbi4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBEfSdgKTsKcmV0dXJuIEQoJGYpKG4sVyl9aWYodHlwZW9mIG4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgcm9vdCByZWR1Y2VyIHRvIGJlIGEgZnVuY3Rpb24uIEluc3RlYWQsIHJlY2VpdmVkOiAnJHt0eXBlb2Ygbn0nYCk7dmFyIGg9bix4PVcsTD1bXSxlPUwsRz0hMTtrKHt0eXBlOkdkfSk7dmFyIHI9e2Rpc3BhdGNoOmssc3Vic2NyaWJlOnYsZ2V0U3RhdGU6YixyZXBsYWNlUmVkdWNlcjpmdW5jdGlvbihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBuZXh0UmVkdWNlciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59YCk7aD1OO2soe3R5cGU6RUtDfSk7cmV0dXJuIHJ9LApbcjJdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShOKXtmdW5jdGlvbiBIKCl7Ti5uZXh0JiZOLm5leHQoYigpKX0KaWYodHlwZW9mIE4hPT0ib2JqZWN0Inx8Tj09PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdGhlIG9ic2VydmVyIHRvIGJlIGFuIG9iamVjdC4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBOfSdgKTtIKCk7cmV0dXJue3Vuc3Vic2NyaWJlOnYoSCl9fSxbcjJdKCl7cmV0dXJuIHRoaXN9fX19OwpyZXR1cm4gcn07Ck5OPWZ1bmN0aW9uKG4pe3JldHVybiBuPyhuPW4ucHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlU2FmZVNjcmlwdFdyYXBwZWRWYWx1ZSk/bWMobik6bnVsbDpudWxsfTsKcHc9ZnVuY3Rpb24obil7cmV0dXJuIG4/KG49bi5wcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUpP2szKG4pOm51bGw6bnVsbH07CmcuSFY9ZnVuY3Rpb24obil7bj1ZZihuKTtyZXR1cm4gZy5ITShuKX07CmZ3PWZ1bmN0aW9uKG4pe249WWYobik7cmV0dXJuIGszKG4pfTsKWWY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1udWxsPyJudWxsIjpuPT09dm9pZCAwPyJ1bmRlZmluZWQiOm59OwpKcj1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIn07CmcuU0g9ZnVuY3Rpb24oLi4ubil7bj1hcmd1bWVudHM7dmFyIFc9SUU7bi5sZW5ndGg+MT9XW25bMF1dPW5bMV06bi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKFcsblswXSl9OwpnLkFyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4gaW4gSUU/SUVbbl06V307Cm15PWZ1bmN0aW9uKG4pe3ZhciBXPUlFLkVYUEVSSU1FTlRfRkxBR1M7cmV0dXJuIFc/V1tuXTp2b2lkIDB9OwppMGI9ZnVuY3Rpb24obil7S3cuZm9yRWFjaChXPT5XKG4pKX07ClBWPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZ3aW5kb3cueXRlcnI/ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKFcpe090KFcpfX06bn07Ck90PWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO1c/VyhuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk6KFc9Zy5BcigiRVJST1JTIixbXSksVy5wdXNoKFtuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMF0pLGcuU0goIkVSUk9SUyIsVykpO2kwYihuKX07ClpFPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9Zy5ycigieXQubG9nZ2luZy5lcnJvcnMubG9nIik7az9rKG4sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2KTooaz1nLkFyKCJFUlJPUlMiLFtdKSxrLnB1c2goW24sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2XSksZy5TSCgiRVJST1JTIixrKSl9Owp5Rj1mdW5jdGlvbihuLFcpe1c9bi5zcGxpdChXKTt2YXIgRD17fTtmb3IobGV0IGs9MCxoPVcubGVuZ3RoO2s8aDtrKyspe2xldCB4PVdba10uc3BsaXQoIj0iKTtpZih4Lmxlbmd0aD09PTEmJnhbMF18fHgubGVuZ3RoPT09Mil0cnl7bGV0IEw9VXQoeFswXXx8IiIpLGU9VXQoeFsxXXx8IiIpO2lmKEwgaW4gRCl7bGV0IEc9RFtMXTtBcnJheS5pc0FycmF5KEcpP2cuUTIoRyxlKTpEW0xdPVtHLGVdfWVsc2UgRFtMXT1lfWNhdGNoKEwpe3ZhciBiPUwsdj14WzBdO2xldCBlPVN0cmluZyh5Rik7Yi5hcmdzPVt7a2V5OnYsdmFsdWU6eFsxXSxxdWVyeTpuLG1ldGhvZDp1UWg9PT1lPyJ1bmNoYW5nZWQiOmV9XTtvS2kuaGFzT3duUHJvcGVydHkodil8fFpFKGIpfX1yZXR1cm4gRH07CmcuRXQ9ZnVuY3Rpb24obil7dmFyIFc9W107Zy5hXyhuLChELGIpPT57dmFyIHY9cWgoYik7Zy55MihBcnJheS5pc0FycmF5KEQpP0Q6W0RdLGs9PntrPT0iIj9XLnB1c2godik6Vy5wdXNoKGAke3Z9PSR7cWgoayl9YCl9KX0pOwpyZXR1cm4gVy5qb2luKCImIil9OwpnLml3PWZ1bmN0aW9uKG4pe24uY2hhckF0KDApPT09Ij8iJiYobj1uLnN1YnN0cmluZygxKSk7cmV0dXJuIHlGKG4sIiYiKX07CnV3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNwbGl0KCIsIikubWFwKFc9PmcuaXcoVykpfTsKZy5vRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCI/IikhPT0tMT8obj0obnx8IiIpLnNwbGl0KCIjIilbMF0sbj1uLnNwbGl0KCI/IiwyKSxnLml3KG4ubGVuZ3RoPjE/blsxXTpuWzBdKSk6e319OwpnLnpkPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGQyKG4sV3x8e30sITApfTsKZy5sdz1mdW5jdGlvbihuLFcpe3JldHVybiBkMihuLFd8fHt9LCExKX07CmQyPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLnNwbGl0KCIjIiwyKTtuPWJbMF07Yj1iLmxlbmd0aD4xPyIjIitiWzFdOiIiO3ZhciB2PW4uc3BsaXQoIj8iLDIpO249dlswXTt2PWcuaXcodlsxXXx8IiIpO2ZvcihsZXQgayBpbiBXKWlmKER8fCFnLmVwKHYsaykpdltrXT1XW2tdO3JldHVybiBnLkVUKG4sdikrYn07CmcuVGQ9ZnVuY3Rpb24obil7aWYoIVcpdmFyIFc9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIEQ9Zy5mcChuKVsxXXx8bnVsbCxiPWcuSVAobik7RCYmYj8obj1nLmZwKG4pLFc9Zy5mcChXKSxuPW5bM109PVdbM10mJm5bMV09PVdbMV0mJm5bNF09PVdbNF0pOm49Yj9nLklQKFcpPT09YiYmKE51bWJlcihnLmZwKFcpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKGcuZnAobilbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gbn07Cmcuakg9ZnVuY3Rpb24obil7bnx8KG49ZG9jdW1lbnQubG9jYXRpb24uaHJlZik7bj1nLmZwKG4pWzFdfHxudWxsO3JldHVybiBuIT09bnVsbCYmbj09PSJodHRwcyJ9OwpnLkJWPWZ1bmN0aW9uKG4pe249Q3cobik7cmV0dXJuIG49PT1udWxsPyExOm5bMF09PT0iY29tIiYmblsxXS5tYXRjaCgvXnlvdXR1YmUoPzpraWRzfC1ub2Nvb2tpZSk/JC8pPyEwOiExfTsKZy5GJD1mdW5jdGlvbihuKXtuPUN3KG4pO3JldHVybiBuPT09bnVsbD8hMTpuWzFdPT09Imdvb2dsZSI/ITA6blsyXT09PSJnb29nbGUiP25bMF09PT0iYXUiJiZuWzFdPT09ImNvbSI/ITA6blswXT09PSJ1ayImJm5bMV09PT0iY28iPyEwOiExOiExfTsKQ3c9ZnVuY3Rpb24obil7bj1nLklQKG4pO3JldHVybiBuIT09bnVsbD9uLnNwbGl0KCIuIikucmV2ZXJzZSgpOm51bGx9OwpVdD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmbi5tYXRjaChkeGkpP246RzUobil9OwpnLk1OPWZ1bmN0aW9uKG4pe2E6e2xldCBEO3RyeXtEPW4uTi50b3AubG9jYXRpb24uaHJlZn1jYXRjaChiKXtuPTI7YnJlYWsgYX1uPUQ/RD09PW4uSi5sb2NhdGlvbi5ocmVmPzA6MToyfW49e2R0OnpDdyxmbGFzaDoiMCIsZnJtOm59O3RyeXtuLnVfdHo9LShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt0cnl7dmFyIFc9Zy53Mi5oaXN0b3J5Lmxlbmd0aH1jYXRjaChEKXtXPTB9bi51X2hpcz1XO24udV9oPWcudzIuc2NyZWVuPy5oZWlnaHQ7bi51X3c9Zy53Mi5zY3JlZW4/LndpZHRoO24udV9haD1nLncyLnNjcmVlbj8uYXZhaWxIZWlnaHQ7bi51X2F3PWcudzIuc2NyZWVuPy5hdmFpbFdpZHRoO24udV9jZD1nLncyLnNjcmVlbj8uY29sb3JEZXB0aH1jYXRjaChEKXt9cmV0dXJuIG59OwpnLlFGPWZ1bmN0aW9uKG49SnIoKSl7dmFyIFc9Zy5SRSxEPU9iamVjdCxiPUQuYXNzaWduLHY9Zy5NTihXKTt2YXIgaz1XLk47dHJ5e3ZhciBoPWsuc2NyZWVuWDt2YXIgeD1rLnNjcmVlbll9Y2F0Y2goVCl7fXRyeXt2YXIgTD1rLm91dGVyV2lkdGg7dmFyIGU9ay5vdXRlckhlaWdodH1jYXRjaChUKXt9dHJ5e3ZhciBHPWsuaW5uZXJXaWR0aDt2YXIgcj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIE49ay5zY3JlZW5MZWZ0O3ZhciBIPWsuc2NyZWVuVG9wfWNhdGNoKFQpe310cnl7Rz1rLmlubmVyV2lkdGgscj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIEE9ay5zY3JlZW4uYXZhaWxXaWR0aDt2YXIgeT1rLnNjcmVlbi5hdmFpbFRvcH1jYXRjaChUKXt9az1bTixILGgseCxBLHksTCxlLEcscl07aD1nLnNJKCExLFcuTi50b3ApO3g9bmV3IGxYcjsiU1ZHRWxlbWVudCJpbiBnLnFpJiYiY3JlYXRlRWxlbWVudE5TImluIGcucWkuZG9jdW1lbnQmJnguc2V0KDApOwpMPVRUcigpO0xbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZ4LnNldCgxKTtMWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmeC5zZXQoMik7Zy5xaS5jcnlwdG8mJmcucWkuY3J5cHRvLnN1YnRsZSYmeC5zZXQoMyk7IlRleHREZWNvZGVyImluIGcucWkmJiJUZXh0RW5jb2RlciJpbiBnLnFpJiZ4LnNldCg0KTtXPXtiYzpOV2goeCksYmloOmguaGVpZ2h0LGJpdzpoLndpZHRoLGJyZGltOmsuam9pbigpLHZpczpnLk53KFcuSiksd2dsOiEhZy53Mi5XZWJHTFJlbmRlcmluZ0NvbnRleHR9O0Q9Yi5jYWxsKEQsdixXKTtELmNhX3R5cGU9ImltYWdlIjtuJiYoRC5iaWQ9bik7cmV0dXJuIER9OwpUVzI9ZnVuY3Rpb24oKXtpZighVkYpcmV0dXJuIG51bGw7dmFyIG49VkYoKTtyZXR1cm4ib3BlbiJpbiBuP246bnVsbH07CmFFPWZ1bmN0aW9uKG4pe3N3aXRjaChjVihuKSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDM6Y2FzZSAyMDQ6Y2FzZSAyMDU6Y2FzZSAyMDY6Y2FzZSAzMDQ6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19OwpjVj1mdW5jdGlvbihuKXtyZXR1cm4gbiYmInN0YXR1cyJpbiBuP24uc3RhdHVzOi0xfTsKZy5uJD1mdW5jdGlvbihuLFcpe3R5cGVvZiBuPT09ImZ1bmN0aW9uIiYmKG49UFYobikpO3JldHVybiB3aW5kb3cuc2V0VGltZW91dChuLFcpfTsKVzA9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09PSJmdW5jdGlvbiImJihuPVBWKG4pKTtyZXR1cm4gd2luZG93LnNldEludGVydmFsKG4sVyl9OwpEcj1mdW5jdGlvbihuKXt3aW5kb3cuY2xlYXJJbnRlcnZhbChuKX07CmcubD1mdW5jdGlvbihuLFcpe249YmIobixXKTtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIiYmbj09PSJmYWxzZSI/ITE6ISFufTsKdjA9ZnVuY3Rpb24obixXKXtyZXR1cm4gTnVtYmVyKGJiKG4sVyl8fDApfTsKa1Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5BcigiRVhQRVJJTUVOVFNfVE9LRU4iLCIiKX07CmJiPWZ1bmN0aW9uKG4sVyl7bj1nLkFyKCJFWFBFUklNRU5UX0ZMQUdTIix7fSlbbl07cmV0dXJuIG4hPT12b2lkIDA/bjpXfTsKaHk9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPWcuQXIoIkVYUEVSSU1FTlRTX0ZPUkNFRF9GTEFHUyIse30pO2Zvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhXKSluLnB1c2goe2tleTpELHZhbHVlOlN0cmluZyhXW0RdKX0pO0Q9Zy5BcigiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhEKSliLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZXW2JdPT09dm9pZCAwJiZuLnB1c2goe2tleTpiLHZhbHVlOlN0cmluZyhEW2JdKX0pO3JldHVybiBufTsKeFQ9ZnVuY3Rpb24obixXLEQ9IkdFVCIsYj0iIix2LGssaCx4PSExLEwpe3ZhciBlPVRXMigpO2lmKCFlKXJldHVybiBudWxsO3ZhciBHPSgpPT57KGUmJiJyZWFkeVN0YXRlImluIGU/ZS5yZWFkeVN0YXRlOjApPT09NCYmVyYmUFYoVykoZSl9Owoib25sb2FkZW5kImluIGU/ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixHLCExKTplLm9ucmVhZHlzdGF0ZWNoYW5nZT1HO2cubCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYobj1qMloobikpO2Uub3BlbihELG4sITApO2smJihlLnJlc3BvbnNlVHlwZT1rKTtoJiYoZS53aXRoQ3JlZGVudGlhbHM9ITApO0Q9RD09PSJQT1NUIiYmKHdpbmRvdy5Gb3JtRGF0YT09PXZvaWQgMHx8IShiIGluc3RhbmNlb2YgRm9ybURhdGEpKTtpZih2PUNwTShuLHYpKWZvcihsZXQgciBpbiB2KWUuc2V0UmVxdWVzdEhlYWRlcihyLHZbcl0pLCJjb250ZW50LXR5cGUiPT09ci50b0xvd2VyQ2FzZSgpJiYoRD0hMSk7RCYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTtMJiYib25wcm9ncmVzcyJpbiBlJiYoZS5vbnByb2dyZXNzPSgpPT57TChlLnJlc3BvbnNlVGV4dCl9KTsKaWYoeCYmInNldEF0dHJpYnV0aW9uUmVwb3J0aW5nImluIFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZSl7bj17ZXZlbnRTb3VyY2VFbGlnaWJsZTohMCx0cmlnZ2VyRWxpZ2libGU6ITF9O3RyeXtlLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKG4pfWNhdGNoKHIpe1pFKHIpfX1lLnNlbmQoYik7cmV0dXJuIGV9OwpDcE09ZnVuY3Rpb24obixXPXt9KXt2YXIgRD1nLlRkKG4pLGI9Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIiksdj1nLmwoIndlYl9hamF4X2lnbm9yZV9nbG9iYWxfaGVhZGVyc19pZl9zZXQiKTtmb3IobGV0IHggaW4gTCQpe2xldCBMPWcuQXIoTCRbeF0pLGU9eD09PSJYLUdvb2ctQXV0aFVzZXIifHx4PT09IlgtR29vZy1QYWdlSWQiO3ghPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxMfHwoTD1nLkFyKCJWSVNJVE9SX0RBVEEiKSk7dmFyIGs7aWYoIShrPSFMKSl7aWYoIShrPUR8fChnLklQKG4pPyExOiEwKSkpe2s9bjt2YXIgaDtpZihoPWcubCgiYWRkX2F1dGhfaGVhZGVyc190b19yZW1hcmtldGluZ19nb29nbGVfZG90X2NvbV9waW5nIikmJng9PT0iQXV0aG9yaXphdGlvbiImJihiPT09IlRWSFRNTDUifHxiPT09IlRWSFRNTDVfVU5QTFVHR0VEInx8Yj09PSJUVkhUTUw1X1NJTVBMWSIpJiZnLkYkKGspKWs9UzEoayl8fCIiLGs9ay5zcGxpdCgiLyIpLGs9Ii8iKyhrLmxlbmd0aD4KMT9rWzFdOiIiKSxoPWs9PT0iL3BhZ2VhZCI7az1oPyEwOiExfWs9IWt9a3x8diYmV1t4XSE9PXZvaWQgMHx8Yj09PSJUVkhUTUw1X1VOUExVR0dFRCImJmV8fChXW3hdPUwpfSJYLUdvb2ctRU9NLVZpc2l0b3ItSWQiaW4gVyYmIlgtR29vZy1WaXNpdG9yLUlkImluIFcmJmRlbGV0ZSBXWyJYLUdvb2ctVmlzaXRvci1JZCJdO2lmKER8fCFnLklQKG4pKVdbIlgtWW91VHViZS1VdGMtT2Zmc2V0Il09U3RyaW5nKC0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO2lmKER8fCFnLklQKG4pKXtsZXQgeDt0cnl7eD0obmV3IEludGwuRGF0ZVRpbWVGb3JtYXQpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lfWNhdGNoe314JiYoV1siWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPXgpfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhRCYmZy5JUChuKXx8KFdbIlgtWW91VHViZS1BZC1TaWduYWxzIl09Zy5FdChnLlFGKCkpKTtyZXR1cm4gV307Cmc4PWZ1bmN0aW9uKG4sVyl7Vy5tZXRob2Q9IlBPU1QiO1cucG9zdFBhcmFtc3x8KFcucG9zdFBhcmFtcz17fSk7cmV0dXJuIGcuZWQobixXKX07CkJXaj1mdW5jdGlvbihuLFcpe2lmKHdpbmRvdy5mZXRjaCYmVy5mb3JtYXQhPT0iWE1MIil7dmFyIEQ9e21ldGhvZDpXLm1ldGhvZHx8IkdFVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn07Vy5oZWFkZXJzJiYoRC5oZWFkZXJzPVcuaGVhZGVycyk7Vy5wcmlvcml0eSYmKEQucHJpb3JpdHk9Vy5wcmlvcml0eSk7bj1YbihuLFcpO3ZhciBiPXFYKG4sVyk7YiYmKEQuYm9keT1iKTtXLndpdGhDcmVkZW50aWFscyYmKEQuY3JlZGVudGlhbHM9ImluY2x1ZGUiKTt2YXIgdj1XLmNvbnRleHR8fGcucWksaz0hMSxoO2ZldGNoKG4sRCkudGhlbih4PT57aWYoIWspe2s9ITA7aCYmd2luZG93LmNsZWFyVGltZW91dChoKTt2YXIgTD14Lm9rLGU9Rz0+e0c9R3x8e307TD9XLm9uU3VjY2VzcyYmVy5vblN1Y2Nlc3MuY2FsbCh2LEcseCk6Vy5vbkVycm9yJiZXLm9uRXJyb3IuY2FsbCh2LEcseCk7Vy5vbkZpbmlzaCYmVy5vbkZpbmlzaC5jYWxsKHYsRyx4KX07CihXLmZvcm1hdHx8IkpTT04iKT09PSJKU09OIiYmKEx8fHguc3RhdHVzPj00MDAmJnguc3RhdHVzPDUwMCk/eC5qc29uKCkudGhlbihlLCgpPT57ZShudWxsKX0pOmUobnVsbCl9fSkuY2F0Y2goKCk9PntXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKHYse30se30pfSk7Cm49Vy50aW1lb3V0fHwwO1cub25GZXRjaFRpbWVvdXQmJm4+MCYmKGg9Zy5uJCgoKT0+e2t8fChrPSEwLHdpbmRvdy5jbGVhclRpbWVvdXQoaCksVy5vbkZldGNoVGltZW91dC5jYWxsKFcuY29udGV4dHx8Zy5xaSkpfSxuKSl9ZWxzZSBnLmVkKG4sVyl9OwpnLmVkPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5mb3JtYXR8fCJKU09OIjtuPVhuKG4sVyk7dmFyIGI9cVgobixXKSx2PSExLGs9RngxKG4seD0+e2lmKCF2KXt2PSEwO2gmJndpbmRvdy5jbGVhclRpbWVvdXQoaCk7dmFyIEw9YUUoeCksZT1udWxsLEc9NDAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NTAwLHI9NTAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NjAwO2lmKEx8fEd8fHIpZT13MjIobixELHgsVy5jb252ZXJ0VG9TYWZlSHRtbCk7TCYmKEw9TXVDKEQseCxlKSk7ZT1lfHx7fTtHPVcuY29udGV4dHx8Zy5xaTtMP1cub25TdWNjZXNzJiZXLm9uU3VjY2Vzcy5jYWxsKEcseCxlKTpXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKEcseCxlKTtXLm9uRmluaXNoJiZXLm9uRmluaXNoLmNhbGwoRyx4LGUpfX0sVy5tZXRob2QsYixXLmhlYWRlcnMsVy5yZXNwb25zZVR5cGUsVy53aXRoQ3JlZGVudGlhbHMsITEsVy5vblByb2dyZXNzKTsKYj1XLnRpbWVvdXR8fDA7aWYoVy5vblRpbWVvdXQmJmI+MCl7bGV0IHg9Vy5vblRpbWVvdXQ7dmFyIGg9Zy5uJCgoKT0+e3Z8fCh2PSEwLGsuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLHguY2FsbChXLmNvbnRleHR8fGcucWksaykpfSxiKX1yZXR1cm4ga307ClhuPWZ1bmN0aW9uKG4sVyl7Vy5pbmNsdWRlRG9tYWluJiYobj1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKyhkb2N1bWVudC5sb2NhdGlvbi5wb3J0PyI6Iitkb2N1bWVudC5sb2NhdGlvbi5wb3J0OiIiKStuKTt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKTtpZihXPVcudXJsUGFyYW1zKVdbRF0mJmRlbGV0ZSBXW0RdLG49Zy56ZChuLFcpO3JldHVybiBufTsKcVg9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKSxiPWcuQXIoIlhTUkZfVE9LRU4iKSx2PVcucG9zdEJvZHl8fCIiLGs9Vy5wb3N0UGFyYW1zLGg9Zy5BcigiWFNSRl9GSUVMRF9OQU1FIikseDtXLmhlYWRlcnMmJih4PVcuaGVhZGVyc1siQ29udGVudC1UeXBlIl0pO1cuZXhjbHVkZVhzcmZ8fGcuSVAobikmJiFXLndpdGhDcmVkZW50aWFscyYmZy5JUChuKSE9PWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfHxXLm1ldGhvZCE9PSJQT1NUInx8eCYmeCE9PSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifHxXLnBvc3RQYXJhbXMmJlcucG9zdFBhcmFtc1toXXx8KGt8fChrPXt9KSxrW0RdPWIpO2smJnR5cGVvZiB2PT09InN0cmluZyImJih2PWcuaXcodiksZy5ZeSh2LGspLHY9Vy5wb3N0Qm9keUZvcm1hdCYmVy5wb3N0Qm9keUZvcm1hdD09PSJKU09OIj9KU09OLnN0cmluZ2lmeSh2KTp5Ryh2KSk7az12fHxrJiYhZy5HRihrKTshR1EmJgprJiZXLm1ldGhvZCE9PSJQT1NUIiYmKEdRPSEwLE90KEVycm9yKCJBSkFYIHJlcXVlc3Qgd2l0aCBwb3N0RGF0YSBzaG91bGQgdXNlIFBPU1QiKSkpO3JldHVybiB2fTsKdzIyPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW51bGw7c3dpdGNoKFcpe2Nhc2UgIkpTT04iOmxldCBrO3RyeXtrPUQucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGI9RXJyb3IoIkVycm9yIHJlYWRpbmcgcmVzcG9uc2VUZXh0IiksYi5wYXJhbXM9bixaRShiKSxoO31uPUQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpfHwiIjtpZihrJiZuLmluZGV4T2YoImpzb24iKT49MCl7ay5zdWJzdHJpbmcoMCw1KT09PSIpXX0nXG4iJiYoaz1rLnN1YnN0cmluZyg1KSk7dHJ5e3Y9SlNPTi5wYXJzZShrKX1jYXRjaChoKXt9fWJyZWFrO2Nhc2UgIlhNTCI6aWYobj0obj1ELnJlc3BvbnNlWE1MKT9SQ1Uobik6bnVsbCl2PXt9LGcueTIobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGg9Pnt2W2gudGFnTmFtZV09UTJpKGgpfSl9YiYmdHkodik7CnJldHVybiB2fTsKdHk9ZnVuY3Rpb24obil7aWYoZy5mdChuKSlmb3IobGV0IFcgaW4gbilXPT09Imh0bWxfY29udGVudCJ8fGcuQlooVywiX2h0bWwiKT9uW1ddPWcuSE0obltXXSk6dHkobltXXSl9OwpNdUM9ZnVuY3Rpb24obixXLEQpe2lmKFcmJlcuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChuKXtjYXNlICJKU09OIjpyZXR1cm4hIUQ7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKEQmJkQucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFEfX07ClJDVT1mdW5jdGlvbihuKXtyZXR1cm4gbj8obj0oInJlc3BvbnNlWE1MImluIG4/bi5yZXNwb25zZVhNTDpuKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicm9vdCIpKSYmbi5sZW5ndGg+MD9uWzBdOm51bGw6bnVsbH07ClEyaT1mdW5jdGlvbihuKXt2YXIgVz0iIjtnLnkyKG4uY2hpbGROb2RlcyxEPT57Vys9RC5ub2RlVmFsdWV9KTsKcmV0dXJuIFd9OwpqMlo9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxEPWcuSVAobik7Zy5sKCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IUQmJmcuVGQobikmJihEPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgYj1TMShuKTtiPShEPUQmJihELmVuZHNXaXRoKCJ5b3V0dWJlLmNvbSIpfHxELmVuZHNXaXRoKCJ5b3V0dWJlLW5vY29va2llLmNvbSIpKSkmJmImJmIuc3RhcnRzV2l0aCgiL2FwaS8iKTtpZighRHx8YilyZXR1cm4gbjt2YXIgdj1nLml3KFcpLGs9e307Zy55MihWdWIsaD0+e3ZbaF0mJihrW2hdPXZbaF0pfSk7CnJldHVybiBnLmx3KG4sayl9OwpnLnI4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5zMChXKSxiO3JldHVybihuZXcgZy5YMSgodixrKT0+e0Qub25TdWNjZXNzPWg9PnthRShoKT92KG5ldyBjNFUoaCkpOmsobmV3IGcuJFQoYFJlcXVlc3QgZmFpbGVkLCBzdGF0dXM9JHtjVihoKX1gLCJuZXQuYmFkc3RhdHVzIixoKSl9OwpELm9uRXJyb3I9aD0+e2sobmV3IGcuJFQoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIixoKSl9OwpELm9uVGltZW91dD1oPT57ayhuZXcgZy4kVCgiUmVxdWVzdCB0aW1lZCBvdXQiLCJuZXQudGltZW91dCIsaCkpfTsKYj1nLmVkKG4sRCl9KSkuc1Aodj0+e3YgaW5zdGFuY2VvZiBnLkk1JiZiPy5hYm9ydCgpOwpyZXR1cm4gZy5ycCh2KX0pfTsKZy5zej1mdW5jdGlvbihuLFcsRCxiLHY9LTEsayl7dmFyIGg9TD0+bmV3IGcuWDEoZT0+e3NldFRpbWVvdXQoZSxMKX0pLHg9KEwsZSxHKT0+TC5zUChyPT57aWYoZTw9MHx8Y1Yoci54aHIpPT09NDAzKXJldHVybiBnLnJwKG5ldyBnLiRUKCJSZXF1ZXN0IHJldHJpZWQgdG9vIG1hbnkgdGltZXMiLCJuZXQucmV0cnlleGhhdXN0ZWQiLHIueGhyKSk7CnZhciBOPU1hdGgucG93KDIsRC1lKzEpKkcsSD12PjA/TWF0aC5taW4odixOKTpOO3JldHVybiBoKEcpLnRoZW4oKCk9PntrJiZrKHIsZS0xKTtyZXR1cm4geChnLnI4KG4sVyksZS0xLEgpfSl9KTsKcmV0dXJuIHgoZy5yOChuLFcpLEQtMSxiKX07CmFYQz1mdW5jdGlvbihuLFc9bnVsbCl7bi5XPTI7bi5KPVd9OwpuVXc9ZnVuY3Rpb24obixXPW51bGwpe24uVz0xO24uSj1XfTsKZy5wJD1mdW5jdGlvbihuPW51bGwpe3ZhciBXPW5ldyBOWDthWEMoVyxuKTtyZXR1cm4gV307CmcuSDA9ZnVuY3Rpb24obj1udWxsKXt2YXIgVz1uZXcgTlg7blV3KFcsbik7cmV0dXJuIFd9OwpJSz1mdW5jdGlvbihuLFcsRCxiPSJ5b3V0dWJlLmNvbSIsdj0hMSl7ZiR8fEp5LnNldCgiIituLFcse256OkQscGF0aDoiLyIsZG9tYWluOmIsc2VjdXJlOnZ9KX07CmcuU2Q9ZnVuY3Rpb24obil7aWYoIWYkKXJldHVybiBKeS5nZXQoIiIrbix2b2lkIDApfTsKQXk9ZnVuY3Rpb24obixXPSIvIixEPSJ5b3V0dWJlLmNvbSIpe2YkfHxKeS5yZW1vdmUoIiIrbixXLEQpfTsKZy5taj1mdW5jdGlvbigpe2lmKCFKeS5pc0VuYWJsZWQoKSlyZXR1cm4hMTtpZighSnkuaXNFbXB0eSgpKXJldHVybiEwO0p5LnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse256OjYwfSk7aWYoSnkuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTtKeS5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKZy53PWZ1bmN0aW9uKG4sVyl7aWYobilyZXR1cm4gbltXLm5hbWVdfTsKSyQ9ZnVuY3Rpb24obil7dmFyIFc9Zy5BcigiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiKTtXJiYobj1TdHJpbmcoVykrU3RyaW5nKG1XKG4pKSk7cmV0dXJuIG59OwpnWj1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47dmFyIGs7KG4tNSYxMyk9PTEmJihrPURbSVsxN11dP0RbSVsxN11dW0lbMzVdXShJWzYzXSk6RFtJWzI2XV09PT1JWzYzXSk7aWYoKG4+PjEmNyk9PTEpe3ZhciBoPVAwKHZeNjQ0MCx2XjEzODcsRCk7YltJW3ZeNjQyNF1dKElbdl42NDM3XSxoKTtrPVtdfShuJjEzKT09biYmYltJWzVdXSE9MCYmKGg9b1MoNCw3NjI0LEQsYiksRD1oWzBdKTtyZXR1cm4ga307ClpyPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2cubCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKFcucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIG49Zy5sdyhuLFcpfTsKVXo9ZnVuY3Rpb24obixXPSJQT1NUIil7bj17bWV0aG9kOlcsbW9kZTpnLlRkKG4pPyJzYW1lLW9yaWdpbiI6ImNvcnMiLGNyZWRlbnRpYWxzOmcuVGQobik/InNhbWUtb3JpZ2luIjoiaW5jbHVkZSJ9O1c9e307dmFyIEQ9e307Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKFcpKVdbYl0mJihEW2JdPVdbYl0pO09iamVjdC5rZXlzKEQpLmxlbmd0aD4wJiYobi5oZWFkZXJzPUQpO3JldHVybiBufTsKeUg9ZnVuY3Rpb24obixXPXt9KXtyZXR1cm5gc2VydmljZToke259LyR7T2JqZWN0LmtleXMoVykuc29ydCgpLm1hcChEPT5EKyI6IitXW0RdKS5qb2luKCIvIil9YH07CkV6PWZ1bmN0aW9uKCl7dmFyIG49L0Nocm9tZVwvKFxkKykvLmV4ZWMoZy5YUSgpKTtyZXR1cm4gbj9wYXJzZUZsb2F0KG5bMV0pOk5hTn07CmliPWZ1bmN0aW9uKCl7dmFyIG49L1xzQ29iYWx0XC8oXFMrKVxzLy5leGVjKGcuWFEoKSk7aWYoIW4pcmV0dXJuIE5hTjt2YXIgVz1bXTtmb3IobGV0IEQgb2YgblsxXS5zcGxpdCgiLiIpKW49cGFyc2VJbnQoRCwxMCksbj49MCYmVy5wdXNoKG4pO3JldHVybiBwYXJzZUZsb2F0KFcuam9pbigiLiIpKX07Cm9LPWZ1bmN0aW9uKCl7cmV0dXJuIGcudWIoImFuZHJvaWQiKSYmZy51YigiY2hyb21lIikmJiEoZy51YigidHJpZGVudC8iKXx8Zy51YigiZWRnZS8iKSkmJiFnLnViKCJjb2JhbHQiKX07CmcuZDg9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiY29iYWx0Iil9Owp6UT1mdW5jdGlvbigpe3JldHVybiBnLnViKCJjb2JhbHQiKSYmZy51YigiYXBwbGV0diIpfTsKbGI9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiKHBzMzsgbGVhbmJhY2sgc2hlbGwpIil8fGcudWIoInBzMyIpJiZnLmQ4KCl9OwpUUT1mdW5jdGlvbigpe3JldHVybiBnLnViKCIocHM0OyBsZWFuYmFjayBzaGVsbCkiKXx8Zy51YigicHM0IikmJmcuZDgoKX07CmcuamQ9ZnVuY3Rpb24oKXtyZXR1cm4gZy5kOCgpJiYoZy51YigicHM0IHZyIil8fGcudWIoInBzNCBwcm8gdnIiKSl9OwpDJD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMCl9OwpCMD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMil9OwpGbj1mdW5jdGlvbigpe3JldHVybiBnLnViKCJpZW1vYmlsZSIpfHxnLnViKCJ3aW5kb3dzIHBob25lIikmJmcudWIoImVkZ2UiKX07ClJLPWZ1bmN0aW9uKCl7cmV0dXJuKHc4fHxNWCkmJmcudWIoImFwcGxld2Via2l0IikmJiFnLnViKCJ2ZXJzaW9uIikmJighZy51Yigic2FmYXJpIil8fGcudWIoImdzYS8iKSl9OwpWSD1mdW5jdGlvbigpe3JldHVybiBnLlFIJiZnLnViKCJ2ZXJzaW9uLyIpfTsKYzA9ZnVuY3Rpb24oKXtyZXR1cm4gZy51Yigic21hcnQtdHYiKSYmZy51Yigic2Ftc3VuZyIpfTsKZy51Yj1mdW5jdGlvbihuKXt2YXIgVz1nLlhRKCk7cmV0dXJuIFc/Vy50b0xvd2VyQ2FzZSgpLmluZGV4T2Yobik+PTA6ITF9OwpnLmFLPWZ1bmN0aW9uKCl7cmV0dXJuIGo2KCl8fFJLKCl8fFZIKCk/ITA6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpPyExOiEwfTsKbnk9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz09PXZvaWQgMHx8Vz09PW51bGw/bjpXPT09IjEifHxXPT09ITB8fFc9PT0xfHxXPT09IlRydWUiPyEwOiExfTsKV0I9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBEKWlmKERbYl09PVcpcmV0dXJuIERbYl07cmV0dXJuIG59OwpEST1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwfHxXPT09bnVsbD9uOk51bWJlcihXKX07CmJPPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc9PT12b2lkIDB8fFc9PT1udWxsP246Vy50b1N0cmluZygpfTsKdkI9ZnVuY3Rpb24obixXKXtpZihXKXtpZihuPT09ImZ1bGx3aWR0aCIpcmV0dXJuIEluZmluaXR5O2lmKG49PT0iZnVsbGhlaWdodCIpcmV0dXJuIDB9cmV0dXJuIG4mJihXPW4ubWF0Y2goVzAxKSkmJihuPU51bWJlcihXWzJdKSxXPU51bWJlcihXWzFdKSwhaXNOYU4obikmJiFpc05hTihXKSYmbj4wKT9XL246TmFOfTsKa1I9ZnVuY3Rpb24obil7dmFyIFc9bi5kb2NpZHx8bi52aWRlb19pZHx8bi52aWRlb0lkfHxuLmlkO2lmKFcpcmV0dXJuIFc7Vz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7V3x8KG49bi5wbGF5ZXJfcmVzcG9uc2UpJiYoVz1KU09OLnBhcnNlKG4pKTtyZXR1cm4gVyYmVy52aWRlb0RldGFpbHMmJlcudmlkZW9EZXRhaWxzLnZpZGVvSWR8fG51bGx9OwpnLnhSPWZ1bmN0aW9uKG4pe3JldHVybiBoTyhuLCExKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwifTsKTHk9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9GSVhFRF9QTEFZQkFDS19MSU1JVCJ8fG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIj8hMDohMX07CmhPPWZ1bmN0aW9uKG4sVz0hMSl7Vz1XPyJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIjoiRU1CRURERURfUExBWUVSX01PREVfVU5LTk9XTiI7d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluY2x1ZGVzKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpJiYoVz0iRU1CRURERURfUExBWUVSX01PREVfUEZMIik7dmFyIEQ9bi5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFEJiYobj1uLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSkpdHJ5e0Q9SlNPTi5wYXJzZShuKX1jYXRjaChiKXtyZXR1cm4gV31yZXR1cm4gRD9XQihXLEQuZW1iZWRkZWRQbGF5ZXJNb2RlLEQzMSk6V307CmI1dD1mdW5jdGlvbihuKXtuJiYobi5kYXRhc2V0P24uZGF0YXNldFtlXygpXT0idHJ1ZSI6cXd0KG4pKX07CmdKPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGF0YXNldD9uLmRhdGFzZXRbZV8oKV06bi5nZXRBdHRyaWJ1dGUoImRhdGEtbG9hZGVkIik6bnVsbH07CmVfPWZ1bmN0aW9uKCl7cmV0dXJuIFhrLmxvYWRlZHx8KFhrLmxvYWRlZD0ibG9hZGVkIi5yZXBsYWNlKC9cLShbYS16XSkvZywobixXKT0+Vy50b1VwcGVyQ2FzZSgpKSl9OwpHMT1mdW5jdGlvbigpe3ZhciBuPWRvY3VtZW50O2lmKCJ2aXNpYmlsaXR5U3RhdGUiaW4gbilyZXR1cm4gbi52aXNpYmlsaXR5U3RhdGU7dmFyIFc9cTArIlZpc2liaWxpdHlTdGF0ZSI7aWYoVyBpbiBuKXJldHVybiBuW1ddfTsKdE89ZnVuY3Rpb24obixXKXt2YXIgRDtnLm9NKG4sYj0+e0Q9V1tiXTtyZXR1cm4hIUR9KTsKcmV0dXJuIER9OwokUj1mdW5jdGlvbihuKXtpZihuLnJlcXVlc3RGdWxsc2NyZWVuKW49bi5yZXF1ZXN0RnVsbHNjcmVlbih2b2lkIDApO2Vsc2UgaWYobi53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiluPW4ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ubW96UmVxdWVzdEZ1bGxTY3JlZW4pbj1uLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihuLm1zUmVxdWVzdEZ1bGxzY3JlZW4pbj1uLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ud2Via2l0RW50ZXJGdWxsc2NyZWVuKW49bi53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiRnVsbHNjcmVlbiBBUEkgdW5hdmFpbGFibGUiKSk7cmV0dXJuIG4gaW5zdGFuY2VvZiBQcm9taXNlP246UHJvbWlzZS5yZXNvbHZlKCl9OwpOMD1mdW5jdGlvbihuKXt2YXIgVztnLnJKKCk/c1AoKT09biYmKFc9ZG9jdW1lbnQpOlc9bjtyZXR1cm4gVyYmKG49dE8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxXKSk/KFc9bi5jYWxsKFcpLFcgaW5zdGFuY2VvZiBQcm9taXNlP1c6UHJvbWlzZS5yZXNvbHZlKCkpOlByb21pc2UucmVzb2x2ZSgpfTsKdlUxPWZ1bmN0aW9uKG4pe3JldHVybiBnLmxfKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sVz0+YG9uJHtXLnRvTG93ZXJDYXNlKCl9YGluIG4pfTsKZy5ySj1mdW5jdGlvbigpe3JldHVybiEhdE8oWyJmdWxsc2NyZWVuRW5hYmxlZCIsIndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIiwibW96RnVsbFNjcmVlbkVuYWJsZWQiLCJtc0Z1bGxzY3JlZW5FbmFibGVkIl0sZG9jdW1lbnQpfTsKc1A9ZnVuY3Rpb24obj0hMSl7dmFyIFc9dE8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO2lmKG4pZm9yKDtXJiZXLnNoYWRvd1Jvb3Q7KVc9Vy5zaGFkb3dSb290LmZ1bGxzY3JlZW5FbGVtZW50O3JldHVybiBXP1c6bnVsbH07CnB5PWZ1bmN0aW9uKG4pe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IFc9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtuLk49bi5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO24uSj1uLmNsaWVudFkrV319OwprOWk9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5hZGRFdmVudExpc3RlbmVyJiYoVyE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P1chPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9XPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoVz0iTW96TW91c2VQaXhlbFNjcm9sbCIpOlc9Im1vdXNlb3V0IjpXPSJtb3VzZW92ZXIiKTtyZXR1cm4gZy5YTChnLllSLHY9Pnt2YXIgaz10eXBlb2Ygdls0XT09PSJib29sZWFuIiYmdls0XT09ISFiLGg9Zy5mdCh2WzRdKSYmZy5mdChiKSYmZy5ybSh2WzRdLGIpO3JldHVybiEhdi5sZW5ndGgmJnZbMF09PW4mJnZbMV09PVcmJnZbMl09PUQmJihrfHxoKX0pfTsKZy5JOT1mdW5jdGlvbihuLFcsRCxiPXt9KXtpZighbnx8IW4uYWRkRXZlbnRMaXN0ZW5lciYmIW4uYXR0YWNoRXZlbnQpcmV0dXJuIiI7dmFyIHY9azlpKG4sVyxELGIpO2lmKHYpcmV0dXJuIHY7dj0rK0hCLmNvdW50KyIiO3ZhciBrPSEoVyE9Im1vdXNlZW50ZXIiJiZXIT0ibW91c2VsZWF2ZSJ8fCFuLmFkZEV2ZW50TGlzdGVuZXJ8fCJvbm1vdXNlZW50ZXIiaW4gZG9jdW1lbnQpO3ZhciBoPWs/eD0+e3g9bmV3IGZ5KHgpO2lmKCFnLlJoKHgucmVsYXRlZFRhcmdldCxMPT5MPT1uLCEwKSlyZXR1cm4geC5jdXJyZW50VGFyZ2V0PW4seC50eXBlPVcsRC5jYWxsKG4seCl9Ong9Pnt4PW5ldyBmeSh4KTsKeC5jdXJyZW50VGFyZ2V0PW47cmV0dXJuIEQuY2FsbChuLHgpfTsKaD1QVihoKTtuLmFkZEV2ZW50TGlzdGVuZXI/KFc9PSJtb3VzZWVudGVyIiYmaz9XPSJtb3VzZW92ZXIiOlc9PSJtb3VzZWxlYXZlIiYmaz9XPSJtb3VzZW91dCI6Vz09Im1vdXNld2hlZWwiJiYiTW96Qm94U2l6aW5nImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmKFc9Ik1vek1vdXNlUGl4ZWxTY3JvbGwiKSxKTygpfHx0eXBlb2YgYj09PSJib29sZWFuIj9uLmFkZEV2ZW50TGlzdGVuZXIoVyxoLGIpOm4uYWRkRXZlbnRMaXN0ZW5lcihXLGgsISFiLmNhcHR1cmUpKTpuLmF0dGFjaEV2ZW50KGBvbiR7V31gLGgpO2cuWVJbdl09W24sVyxELGgsYl07cmV0dXJuIHZ9OwpnLlNfPWZ1bmN0aW9uKG4pe24mJih0eXBlb2Ygbj09InN0cmluZyImJihuPVtuXSksZy55MihuLFc9PntpZihXIGluIGcuWVIpe3ZhciBEPWcuWVJbV107bGV0IGI9RFswXSx2PURbMV0saz1EWzNdO0Q9RFs0XTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Sk8oKXx8dHlwZW9mIEQ9PT0iYm9vbGVhbiI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKHYsayxEKTpiLnJlbW92ZUV2ZW50TGlzdGVuZXIodixrLCEhRC5jYXB0dXJlKTpiLmRldGFjaEV2ZW50JiZiLmRldGFjaEV2ZW50KGBvbiR7dn1gLGspO2RlbGV0ZSBnLllSW1ddfX0pKX07CkFPPWZ1bmN0aW9uKG4pe249bnx8d2luZG93LmV2ZW50O3ZhciBXO24uY29tcG9zZWRQYXRoJiZ0eXBlb2Ygbi5jb21wb3NlZFBhdGg9PT0iZnVuY3Rpb24iP1c9bi5jb21wb3NlZFBhdGgoKTpXPW4ucGF0aDtXJiZXLmxlbmd0aD9uPVdbMF06KG49bnx8d2luZG93LmV2ZW50LG49bi50YXJnZXR8fG4uc3JjRWxlbWVudCxuLm5vZGVUeXBlPT0zJiYobj1uLnBhcmVudE5vZGUpKTtyZXR1cm4gbn07Cm1ZPWZ1bmN0aW9uKG4pe3RoaXMuSz1uO3RoaXMuTj1udWxsO3RoaXMuWD0wO3RoaXMuVj1udWxsO3RoaXMuaj0wO3RoaXMuSj1bXTtmb3Iobj0wO248NDtuKyspdGhpcy5KLnB1c2goMCk7dGhpcy5XPTA7dGhpcy5jSj1nLkk5KHdpbmRvdywibW91c2Vtb3ZlIiwoMCxnLkt0KSh0aGlzLkQsdGhpcykpO3RoaXMuWT1XMCgoMCxnLkt0KSh0aGlzLk8sdGhpcyksMjUpfTsKS3k9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxELmxlbmd0aDt2Kyspbi5OTihXLERbdl0sYil9OwpnLlBCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1EJiZEPjA/RDowO0Q9Yj9EYXRlLm5vdygpK2IqMUUzOjA7aWYoKGI9Yj9PUC5CcCgpOk9QLnFiKCkpJiZ3aW5kb3cuSlNPTil7dHlwZW9mIFchPT0ic3RyaW5nIiYmKFc9SlNPTi5zdHJpbmdpZnkoVyx2b2lkIDApKTt0cnl7Yi5zZXQobixXLEQpfWNhdGNoKHYpe2IucmVtb3ZlKG4pfX19OwpnLlpJPWZ1bmN0aW9uKG4pe3ZhciBXPU9QLnFiKCksRD1PUC5CcCgpO2lmKCFXJiYhRHx8IXdpbmRvdy5KU09OKXJldHVybiBudWxsO3RyeXt2YXIgYj1XLmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIil0cnl7Yj1ELmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIilyZXR1cm4gbnVsbDt0cnl7Yj1KU09OLnBhcnNlKGIsdm9pZCAwKX1jYXRjaCh2KXt9cmV0dXJuIGJ9OwpVUD1mdW5jdGlvbigpe3ZhciBuPU9QLkJwKCk7aWYobiYmKG49bi5NRCgieXQtcGxheWVyLXF1YWxpdHkiKSkpcmV0dXJuIG4uY3JlYXRpb259Owp5eD1mdW5jdGlvbigpe2lmKCFnLnFpLm1hdGNoTWVkaWEpcmV0dXJuIldFQl9ESVNQTEFZX01PREVfVU5LTk9XTiI7dHJ5e3JldHVybiBnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChuKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwppTz1mdW5jdGlvbigpe0VQLmluc3RhbmNlfHwoRVAuaW5zdGFuY2U9bmV3IEVQKTtyZXR1cm4gRVAuaW5zdGFuY2V9OwpocWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFU0tUT1AiOnJldHVybiAxO2Nhc2UgIlVOS05PV05fUExBVEZPUk0iOnJldHVybiAwO2Nhc2UgIlRWIjpyZXR1cm4gMjtjYXNlICJHQU1FX0NPTlNPTEUiOnJldHVybiAzO2Nhc2UgIk1PQklMRSI6cmV0dXJuIDQ7Y2FzZSAiVEFCTEVUIjpyZXR1cm4gNX19OwpnLm85PWZ1bmN0aW9uKCl7dU98fCh1Tz1uZXcgeDNiKTtyZXR1cm4gdU99OwpkSj1mdW5jdGlvbihuKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1hdGNoOiAke259YCk7fTsKejE9ZnVuY3Rpb24obil7aWYoIS9eXHcrJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1pc21hdGNoOiAke259YCk7fTsKVDE9ZnVuY3Rpb24obil7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChuKT9wYXJzZUludChuLDE2KTpudWxsfTsKal89ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbj9uLmNvbm5lY3Rpb246dm9pZCAwfTsKQkI9ZnVuY3Rpb24oKXt2YXIgbj1qXygpO2lmKG4pe3ZhciBXPUN5W24udHlwZXx8InVua25vd24iXXx8IkNPTk5fVU5LTk9XTiI7bj1DeVtuLmVmZmVjdGl2ZVR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO1c9PT0iQ09OTl9DRUxMVUxBUl9VTktOT1dOIiYmbiE9PSJDT05OX1VOS05PV04iJiYoVz1uKTtpZihXIT09IkNPTk5fVU5LTk9XTiIpcmV0dXJuIFc7aWYobiE9PSJDT05OX1VOS05PV04iKXJldHVybiBufX07CndKPWZ1bmN0aW9uKCl7dmFyIG49al8oKTtpZihuPy5lZmZlY3RpdmVUeXBlKXJldHVybiBGay5oYXNPd25Qcm9wZXJ0eShuLmVmZmVjdGl2ZVR5cGUpP0ZrW24uZWZmZWN0aXZlVHlwZV06IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfVU5LTk9XTiJ9OwpSOT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gTTAoKSwhMH1jYXRjaChuKXtyZXR1cm4hMX19OwpNMD1mdW5jdGlvbigpe2lmKGcuQXIoIkRBVEFTWU5DX0lEIikhPT12b2lkIDApcmV0dXJuIGcuQXIoIkRBVEFTWU5DX0lEIik7dGhyb3cgbmV3IGcuUXgoIkRhdGFzeW5jIElEIG5vdCBzZXQiLCJ1bmtub3duIik7fTsKZy5jQj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGcuVngoMCxXLDAsRCl9OwphOT1mdW5jdGlvbihuKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSW1tZWRpYXRlSm9iIik7Vz9XKG4pOm4oKX07CmcuRHk9ZnVuY3Rpb24oKXtXTi5pbnN0YW5jZXx8KFdOLmluc3RhbmNlPW5ldyBXTik7cmV0dXJuIFdOLmluc3RhbmNlfTsKZy5WeD1mdW5jdGlvbihuLFcsRCxiKXtiIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGIpKSYmKGI9dm9pZCAwKTtyZXR1cm4obj1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIikpP24oVyxELGIpOmI9PT12b2lkIDA/KFcoKSxOYU4pOmcubiQoVyxifHwwKX07CmJRPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpO1cmJlcobil9OwprdT1mdW5jdGlvbigpe3JldHVybiB2TigpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTsKTEY9ZnVuY3Rpb24obil7aGN8fCh4dS5wdXNoKHt0eXBlOiJFUlJPUiIscGF5bG9hZDpufSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmVGPWZ1bmN0aW9uKG4sVyl7aGN8fCh4dS5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOm4scGF5bG9hZDpXfSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmcwPWZ1bmN0aW9uKG4pe2lmKG4uaW5kZXhPZigiOiIpPj0wKXRocm93IEVycm9yKCJEYXRhYmFzZSBuYW1lIGNhbm5vdCBjb250YWluICc6JyIpO307ClhxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnN1YnN0cigwLG4uaW5kZXhPZigiOiIpKXx8bn07CiR1PWZ1bmN0aW9uKG4sVyxELGIpe1c9WHEoVyk7dmFyIHY9biBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYFVuZXhwZWN0ZWQgZXJyb3I6ICR7bn1gKTtpZih2IGluc3RhbmNlb2YgcUwpcmV0dXJuIHY7bj17b2JqZWN0U3RvcmVOYW1lczpELGRiTmFtZTpXLGRiVmVyc2lvbjpifTtpZih2Lm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yIilyZXR1cm4gbmV3IHFMKCJRVU9UQV9FWENFRURFRCIsbik7aWYoZy5HbiYmdi5uYW1lPT09IlVua25vd25FcnJvciIpcmV0dXJuIG5ldyBxTCgiUVVPVEFfTUFZQkVfRVhDRUVERUQiLG4pO2lmKHYgaW5zdGFuY2VvZiB0YylyZXR1cm4gbmV3IHFMKCJNSVNTSU5HX0lOREVYIix7Li4ubixvYmplY3RTdG9yZTp2Lm9iamVjdFN0b3JlLGluZGV4OnYuaW5kZXh9KTtpZih2Lm5hbWU9PT0iSW52YWxpZFN0YXRlRXJyb3IiJiZMMGkuc29tZShrPT52Lm1lc3NhZ2UuaW5jbHVkZXMoaykpKXJldHVybiBuZXcgcUwoIkVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCIiwKbik7CmlmKHYubmFtZT09PSJBYm9ydEVycm9yIilyZXR1cm4gbmV3IHFMKCJVTktOT1dOX0FCT1JUIixuLHYubWVzc2FnZSk7di5hcmdzPVt7Li4ubixuYW1lOiJJZGJFcnJvciIsYTc6di5uYW1lfV07di5sZXZlbD0iV0FSTklORyI7cmV0dXJuIHZ9OwpnLnIwPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1rdSgpO3JldHVybiBuZXcgcUwoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOm4scHVibGljTmFtZTpXLHZlcnNpb246RCxoYXNTdWNjZWVkZWRPbmNlOmI/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9OwplcTE9ZnVuY3Rpb24obil7aWYoIW4pdGhyb3cgRXJyb3IoKTt0aHJvdyBuO307CmdVcj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CnBGPWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IkZVTEZJTExFRCIpdGhyb3cgRXJyb3IoImNhbGxpbmcgaGFuZGxlUmVzb2x2ZSBiZWZvcmUgdGhlIHByb21pc2UgaXMgZnVsZmlsbGVkLiIpO2xldCBrPUQobi5zdGF0ZS52YWx1ZSk7ayBpbnN0YW5jZW9mIHNSP05MKG4sVyxrLGIsdik6YihrKX1jYXRjaChrKXt2KGspfX07Cll1PWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IlJFSkVDVEVEIil0aHJvdyBFcnJvcigiY2FsbGluZyBoYW5kbGVSZWplY3QgYmVmb3JlIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLiIpO2xldCBrPUQobi5zdGF0ZS5yZWFzb24pO2sgaW5zdGFuY2VvZiBzUj9OTChuLFcsayxiLHYpOmIoayl9Y2F0Y2goayl7dihrKX19OwpOTD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9PT1EP3YobmV3IFR5cGVFcnJvcigiQ2lyY3VsYXIgcHJvbWlzZSBjaGFpbiBkZXRlY3RlZC4iKSk6RC50aGVuKGs9PntrIGluc3RhbmNlb2Ygc1I/TkwobixXLGssYix2KTpiKGspfSxrPT57dihrKX0pfTsKSE49ZnVuY3Rpb24obixXLEQpe3ZhciBiPSgpPT57dHJ5e24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsdiksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsayl9Y2F0Y2h7fX0sdj0oKT0+e1cobi5yZXN1bHQpOwpiKCl9LGs9KCk9PntEKG4uZXJyb3IpOwpiKCl9OwpuLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLHYpO24uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGspfTsKWDlVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZSgoVyxEKT0+e0hOKG4sVyxEKX0pfTsKSmM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntITihuLFcsRCl9KSl9OwpJZz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgc1IobmV3IGZGKChELGIpPT57dmFyIHY9KCk9Pnt2YXIgaz1uP1cobik6bnVsbDtrP2sudGhlbihoPT57bj1oO3YoKX0sYik6RCgpfTsKdigpfSkpfTsKU0Y9ZnVuY3Rpb24obil7cmV0dXJuIEpjKG4pLnRoZW4oVz0+Vz9uZXcgcV8yKG4sVyk6bnVsbCl9OwpBYz1mdW5jdGlvbigpe3JldHVybiBnLmwoImlkYl9pbW1lZGlhdGVfY29tbWl0Iil9OwpPUj1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj17bW9kZToicmVhZG9ubHkiLEdROiExLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIn07dHlwZW9mIEQ9PT0ic3RyaW5nIj92Lm1vZGU9RDpPYmplY3QuYXNzaWduKHYsRCk7bi50cmFuc2FjdGlvbkNvdW50Kys7RD12LkdRPzM6MTtmb3IodmFyIGs9MCxoOyFoOyl7aysrO2xldCBHPU1hdGgucm91bmQoKDAsZy5SKSgpKTt0cnl7dmFyIHg9bi5OLnRyYW5zYWN0aW9uKFcsdi5tb2RlKSxMPWIsZT0hIXYuY29tbWl0O2xldCByPW5ldyBtWCh4KSxOPWF3YWl0IEc5dyhyLEwsZSksSD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7S0YobixHLEgsayx2b2lkIDAsVy5qb2luKCksdik7cmV0dXJuIE59Y2F0Y2gocil7TD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7bGV0IE49JHUocixuLk4ubmFtZSxXLmpvaW4oKSxuLk4udmVyc2lvbik7aWYoTiBpbnN0YW5jZW9mIHFMJiYhTi5OfHxrPj1EKUtGKG4sRyxMLGssTixXLmpvaW4oKSwKdiksaD1OfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9OwpaeT1mdW5jdGlvbihuLFcsRCl7bj1uLk4uY3JlYXRlT2JqZWN0U3RvcmUoVyxEKTtyZXR1cm4gbmV3IFBOKG4pfTsKVVI9ZnVuY3Rpb24obixXKXtuLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhXKSYmbi5OLmRlbGV0ZU9iamVjdFN0b3JlKFcpfTsKS0Y9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7Vz1ELVc7dj8odiBpbnN0YW5jZW9mIHFMJiYodi50eXBlPT09IlFVT1RBX0VYQ0VFREVEInx8di50eXBlPT09IlFVT1RBX01BWUJFX0VYQ0VFREVEIikmJmVGKCJRVU9UQV9FWENFRURFRCIse2RiTmFtZTpYcShuLk4ubmFtZSksb2JqZWN0U3RvcmVOYW1lczprLHRyYW5zYWN0aW9uQ291bnQ6bi50cmFuc2FjdGlvbkNvdW50LHRyYW5zYWN0aW9uTW9kZTpoLm1vZGV9KSx2IGluc3RhbmNlb2YgcUwmJnYudHlwZT09PSJVTktOT1dOX0FCT1JUIiYmKEQtPW4uVyxEPDAmJkQ+PTIxNDc0ODM2NDgmJihEPTApLGVGKCJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCIse29iamVjdFN0b3JlTmFtZXM6ayx0cmFuc2FjdGlvbkR1cmF0aW9uOlcsdHJhbnNhY3Rpb25Db3VudDpuLnRyYW5zYWN0aW9uQ291bnQsZGJEdXJhdGlvbjpEfSksbi5KPSEwKSx5YyhuLCExLGIsayxXLGgudGFnKSxMRih2KSk6eWMobiwhMCxiLGssVyxoLnRhZyl9Owp5Yz1mdW5jdGlvbihuLFcsRCxiLHYsaz0iSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIil7ZUYoIlRSQU5TQUNUSU9OX0VOREVEIix7b2JqZWN0U3RvcmVOYW1lczpiLGNvbm5lY3Rpb25IYXNVbmtub3duQWJvcnRlZFRyYW5zYWN0aW9uOm4uSixkdXJhdGlvbjp2LGlzU3VjY2Vzc2Z1bDpXLHRyeUNvdW50OkQsdGFnOmt9KX07CkVSPWZ1bmN0aW9uKG4sVyxEKXtuLk4uY3JlYXRlSW5kZXgoVyxELHt1bmlxdWU6ITF9KX07CnVRPWZ1bmN0aW9uKG4sVyxEKXtuPW4uTi5vcGVuQ3Vyc29yKFcucXVlcnksVy5kaXJlY3Rpb24pO3JldHVybiBpUShuKS50aGVuKGI9PklnKGIsRCkpfTsKdFhVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIHVRKG4se3F1ZXJ5Old9LEQ9PkQuZGVsZXRlKCkudGhlbigoKT0+b2coRCkpKS50aGVuKCgpPT57fSl9OwokM3g9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB1UShuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwpzMHI9ZnVuY3Rpb24obil7dmFyIFc9W107cmV0dXJuIHJfaihuLEQ9PntXLnB1c2goRC5jdXJzb3IucHJpbWFyeUtleSk7RC5jdXJzb3IuY29udGludWUodm9pZCAwKTtyZXR1cm4gU0YoRC5yZXF1ZXN0KX0pLnRoZW4oKCk9PlcpfTsKZDA9ZnVuY3Rpb24obil7cmV0dXJuImdldEFsbEtleXMiaW4gSURCT2JqZWN0U3RvcmUucHJvdG90eXBlP0pjKG4uTi5nZXRBbGxLZXlzKHZvaWQgMCx2b2lkIDApKTpzMHIobil9OwpyX2o9ZnVuY3Rpb24obixXKXt2YXIgRD17cXVlcnk6dm9pZCAwfSxiPUQucXVlcnk7RD1ELmRpcmVjdGlvbjtuPSJvcGVuS2V5Q3Vyc29yImluIElEQk9iamVjdFN0b3JlLnByb3RvdHlwZT9uLk4ub3BlbktleUN1cnNvcihiLEQpOm4uTi5vcGVuQ3Vyc29yKGIsRCk7cmV0dXJuIFNGKG4pLnRoZW4odj0+SWcodixXKSl9OwpHOXc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyBQcm9taXNlKCh2LGspPT57dHJ5e2xldCBoPVcobik7RCYmbi5jb21taXQoKTtoLnRoZW4oeD0+e3YoeCl9KS5jYXRjaChrKX1jYXRjaChoKXtrKGgpLG4uYWJvcnQoKX19KTsKcmV0dXJuIFByb21pc2UuYWxsKFtiLG4uZG9uZV0pLnRoZW4oKFt2XSk9PnYpfTsKem49ZnVuY3Rpb24obixXLEQpe3ZhciB7cXVlcnk6Yj1udWxsLGRpcmVjdGlvbjp2PSJuZXh0In09VztuPW4uTi5vcGVuQ3Vyc29yKGIsdik7cmV0dXJuIGlRKG4pLnRoZW4oaz0+SWcoayxEKSl9OwpOWmk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB6bihuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwppUT1mdW5jdGlvbihuKXtyZXR1cm4gSmMobikudGhlbihXPT5XP25ldyBwOXgobixXKTpudWxsKX07Cm9nPWZ1bmN0aW9uKG4pe24uY3Vyc29yLmNvbnRpbnVlKHZvaWQgMCk7cmV0dXJuIGlRKG4ucmVxdWVzdCl9OwpINXg9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgUHJvbWlzZSgoYix2KT0+e3ZhciBrPVchPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihuLFcpOnNlbGYuaW5kZXhlZERCLm9wZW4obik7dmFyIGg9RC5ibG9ja2VkLHg9RC5ibG9ja2luZyxMPUQuQnosZT1ELnVwZ3JhZGUsRz1ELmNsb3NlZCxyLE49KCk9PntyfHwocj1uZXcgWV9yKGsucmVzdWx0LHtjbG9zZWQ6R30pKTtyZXR1cm4gcn07CmsuYWRkRXZlbnRMaXN0ZW5lcigidXBncmFkZW5lZWRlZCIsSD0+e3RyeXtpZihILm5ld1ZlcnNpb249PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IG5ld1ZlcnNpb24gb24gSURiVmVyc2lvbkNoYW5nZUV2ZW50IGlzIG51bGwiKTtpZihrLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigiSW52YXJpYW50OiB0cmFuc2FjdGlvbiBvbiBJRGJPcGVuRGJSZXF1ZXN0IGlzIG51bGwiKTtILmRhdGFMb3NzJiZILmRhdGFMb3NzIT09Im5vbmUiJiZlRigiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOkguZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpYcShuKX0pO2xldCBBPU4oKSx5PW5ldyBtWChrLnRyYW5zYWN0aW9uKTtlJiZlKEEsVD0+SC5vbGRWZXJzaW9uPFQmJkgubmV3VmVyc2lvbj49VCx5KTsKeS5kb25lLmNhdGNoKFQ9Pnt2KFQpfSl9Y2F0Y2goQSl7dihBKX19KTsKay5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIiwoKT0+e3ZhciBIPWsucmVzdWx0O3gmJkguYWRkRXZlbnRMaXN0ZW5lcigidmVyc2lvbmNoYW5nZSIsKCk9Pnt4KE4oKSl9KTsKSC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9PntlRigiSURCX1VORVhQRUNURURMWV9DTE9TRUQiLHtkYk5hbWU6WHEobiksZGJWZXJzaW9uOkgudmVyc2lvbn0pO0wmJkwoKX0pOwpiKE4oKSl9KTsKay5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2KGsuZXJyb3IpfSk7CmgmJmsuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntoKCl9KX0pfTsKbFE9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBINXgobixXLEQpfTsKVG49YXN5bmMgZnVuY3Rpb24obixXPXt9KXt0cnl7bGV0IEQ9c2VsZi5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UobiksYj1XLmJsb2NrZWQ7YiYmRC5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIiwoKT0+e2IoKX0pOwphd2FpdCBYOVUoRCl9Y2F0Y2goRCl7dGhyb3cgJHUoRCxuLCIiLC0xKTt9fTsKakY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHFMKCJJTkNPTVBBVElCTEVfREJfVkVSU0lPTiIse2RiTmFtZTpuLm5hbWUsb2xkVmVyc2lvbjpuLm9wdGlvbnMudmVyc2lvbixuZXdWZXJzaW9uOld9KX07CkNGPWZ1bmN0aW9uKG4sVyl7aWYoIVcpdGhyb3cgZy5yMCgib3BlbldpdGhUb2tlbiIsWHEobi5uYW1lKSk7cmV0dXJuIG4ub3BlbigpfTsKRnE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gT1IoYXdhaXQgQ0YoQk4sVyksWyJkYXRhYmFzZXMiXSx7R1E6ITAsbW9kZToicmVhZHdyaXRlIn0sRD0+e3ZhciBiPUQub2JqZWN0U3RvcmUoImRhdGFiYXNlcyIpO3JldHVybiBiLmdldChuLmFjdHVhbE5hbWUpLnRoZW4odj0+e2lmKHY/bi5hY3R1YWxOYW1lIT09di5hY3R1YWxOYW1lfHxuLnB1YmxpY05hbWUhPT12LnB1YmxpY05hbWV8fG4udXNlcklkZW50aWZpZXIhPT12LnVzZXJJZGVudGlmaWVyOjEpcmV0dXJuIGIucHV0KG4pLnRoZW4oKCk9Pnt9KX0pfSl9Owp3MD1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBuPyhhd2FpdCBDRihCTixXKSkuZGVsZXRlKCJkYXRhYmFzZXMiLG4pOnZvaWQgMH07CmZCVT1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPVtdO1c9YXdhaXQgQ0YoQk4sVyk7YXdhaXQgT1IoVyxbImRhdGFiYXNlcyJdLHtHUTohMCxtb2RlOiJyZWFkb25seSJ9LGI9PntELmxlbmd0aD0wO3JldHVybiB1UShiLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKSx7fSx2PT57bih2LmdldFZhbHVlKCkpJiZELnB1c2godi5nZXRWYWx1ZSgpKTtyZXR1cm4gb2codil9KX0pOwpyZXR1cm4gRH07CkpfMj1mdW5jdGlvbihuLFcpe3JldHVybiBmQlUoRD0+RC5wdWJsaWNOYW1lPT09biYmRC51c2VySWRlbnRpZmllciE9PXZvaWQgMCxXKX07CklCaT1hc3luYyBmdW5jdGlvbigpe2lmKGt1KCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIG47aWYoIShuPWcuTUwmJkMkKCkmJiFCMCgpfHxnLlJnKSl7dHJ5e249c2VsZjt2YXIgVz0hIShuLmluZGV4ZWREQiYmbi5JREJJbmRleCYmbi5JREJLZXlSYW5nZSYmbi5JREJPYmplY3RTdG9yZSl9Y2F0Y2goRCl7Vz0hMX1uPSFXfWlmKG58fCEoIklEQlRyYW5zYWN0aW9uImluIHNlbGYmJiJvYmplY3RTdG9yZU5hbWVzImluIElEQlRyYW5zYWN0aW9uLnByb3RvdHlwZSkpcmV0dXJuITE7dHJ5e3JldHVybiBhd2FpdCBGcSh7YWN0dWFsTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIscHVibGljTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIsdXNlcklkZW50aWZpZXI6dm9pZCAwfSxRYyksYXdhaXQgdzAoInl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLFFjKSwhMH1jYXRjaChEKXtyZXR1cm4hMX19OwpjTj1mdW5jdGlvbigpe2lmKFZjIT09dm9pZCAwKXJldHVybiBWYztoYz0hMDtyZXR1cm4gVmM9SUJpKCkudGhlbihuPT57aGM9ITE7aWYodk4oKT8uSigpKXt2YXIgVz17aGFzU3VjY2VlZGVkT25jZTprdSgpPy5oYXNTdWNjZWVkZWRPbmNlfHxufTt2TigpPy5zZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsVywyNTkyRTMsITApfXJldHVybiBufSl9OwphZz1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dGdsb2JhbC5pZGJUb2tlbl8iKXx8dm9pZCAwfTsKZy5uUD1mdW5jdGlvbigpe3ZhciBuPWFnKCk7cmV0dXJuIG4/UHJvbWlzZS5yZXNvbHZlKG4pOmNOKCkudGhlbihXPT57Vz8oZy5HYigieXRnbG9iYWwuaWRiVG9rZW5fIixRYyksVz1RYyk6Vz12b2lkIDA7cmV0dXJuIFd9KX07Cld6PWZ1bmN0aW9uKG4pe2lmKCFSOSgpKXRocm93IG49bmV3IHFMKCJBVVRIX0lOVkFMSUQiLHtkYk5hbWU6bn0pLExGKG4pLG47dmFyIFc9TTAoKTtyZXR1cm57YWN0dWFsTmFtZTpgJHtufToke1d9YCxwdWJsaWNOYW1lOm4sdXNlcklkZW50aWZpZXI6V319OwpEbT1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1FcnJvcigpLnN0YWNrPz8iIixrPWF3YWl0IGcublAoKTtpZighayl0aHJvdyBXPWcucjAoIm9wZW5EYkltcGwiLG4sVyksZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIil8fChXLnN0YWNrPWAke1cuc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKSxMRihXKSxXO2cwKG4pO3Y9RD97YWN0dWFsTmFtZTpuLHB1YmxpY05hbWU6bix1c2VySWRlbnRpZmllcjp2b2lkIDB9Old6KG4pO3RyeXtyZXR1cm4gYXdhaXQgRnEodixrKSxhd2FpdCBsUSh2LmFjdHVhbE5hbWUsVyxiKX1jYXRjaChoKXt0cnl7YXdhaXQgdzAodi5hY3R1YWxOYW1lLGspfWNhdGNoe310aHJvdyBoO319OwpTX1o9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITEsRCl9OwpBX3I9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITAsRCl9OwptM3c9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLG49V3oobiksYXdhaXQgVG4obi5hY3R1YWxOYW1lLFcpLGF3YWl0IHcwKG4uYWN0dWFsTmFtZSxEKSl9OwpLMHI9ZnVuY3Rpb24obixXLEQpe249bi5tYXAoYXN5bmMgYj0+e2F3YWl0IFRuKGIuYWN0dWFsTmFtZSxXKTthd2FpdCB3MChiLmFjdHVhbE5hbWUsRCl9KTsKcmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oKCk9Pnt9KX07CmI5PWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9YXdhaXQgZy5uUCgpO0QmJihnMChuKSxuPWF3YWl0IEpfMihuLEQpLGF3YWl0IEswcihuLFcsRCkpfTsKdno9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLGF3YWl0IFRuKG4sVyksYXdhaXQgdzAobixEKSl9OwpQNE09ZnVuY3Rpb24obixXKXt2YXIgRDtyZXR1cm4oKT0+e0R8fChEPW5ldyBPNXQobixXKSk7cmV0dXJuIER9fTsKa089ZnVuY3Rpb24obixXKXtyZXR1cm4gUDRNKG4sVyl9OwpoNz1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoWjVDKCksbil9Owp4Tz1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXtuPXtjb25maWc6bixoYXNoRGF0YTpXLHRpbWVzdGFtcDpiIT09dm9pZCAwP2I6KDAsZy5SKSgpfTtEPWF3YWl0IGg3KEQpO2F3YWl0IEQuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IEQucHV0KCJob3RDb25maWdTdG9yZSIsbil9OwpMUD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYpe249e2NvbmZpZzpuLGhhc2hEYXRhOlcsY29uZmlnRGF0YTpELHRpbWVzdGFtcDp2IT09dm9pZCAwP3Y6KDAsZy5SKSgpfTtiPWF3YWl0IGg3KGIpO2F3YWl0IGIuY2xlYXIoImNvbGRDb25maWdTdG9yZSIpO3JldHVybiBhd2FpdCBiLnB1dCgiY29sZENvbmZpZ1N0b3JlIixuKX07CmU5PWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQgaDcobik7dmFyIFc9dm9pZCAwO2F3YWl0IE9SKG4sWyJjb2xkQ29uZmlnU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+em4oRC5vYmplY3RTdG9yZSgiY29sZENvbmZpZ1N0b3JlIikuaW5kZXgoImNvbGRUaW1lc3RhbXBJbmRleCIpLHtkaXJlY3Rpb246InByZXYifSxiPT57Vz1iLmdldFZhbHVlKCl9KSk7CnJldHVybiBXfTsKZzM9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCBoNyhuKTt2YXIgVz12b2lkIDA7YXdhaXQgT1IobixbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnpuKEQub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGI9PntXPWIuZ2V0VmFsdWUoKX0pKTsKcmV0dXJuIFd9OwpVM3Q9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgieXRHY2ZDb25maWciKX07CnFCPWZ1bmN0aW9uKCl7aWYoIWcuWDMuaW5zdGFuY2Upe2xldCBuPW5ldyBnLlgzO2cuWDMuaW5zdGFuY2U9bn1yZXR1cm4gZy5YMy5pbnN0YW5jZX07Cmk1aD1mdW5jdGlvbihuKXtpZighbi5KfHwhbi5OKXtpZighYWcoKSl7bGV0IFc9Zy5yMCgic2NoZWR1bGVHZXRDb25maWdzIik7WkUoVyl9bi5YfHwobi5YPXRhLkxTKGFzeW5jKCk9Pnt0cnl7YXdhaXQgeV9yKG4pfWNhdGNoe310cnl7YXdhaXQgRVVTKG4pfWNhdGNoe31uLlgmJihuLlg9MCl9LDEwMCkpfX07CnVEeD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmwoInN0YXJ0X2NsaWVudF9nY2YiKXx8Zy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpKWcubCgic3RhcnRfY2xpZW50X2djZiIpJiYoYXdhaXQgZy5uUCgpJiZSOSgpJiYhZy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpPyhuLlY9ITAsaTVoKG4pKTooR28obiksdDcobikpKSxnLmwoImRlbGV0ZV9nY2ZfY29uZmlnX2RiIikmJmF3YWl0IFUzdCgpfTsKJE89ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpfTsKdmFyIG9Vaj1mdW5jdGlvbihuLFcpe3JldHVybiBlWFtJWzEwXV0odGhpcywxMCw3MTI2LG4sVyl9OwpyMz1mdW5jdGlvbihuLFcpe24uSj1XO2cuR2IoInl0LmdjZi5jb25maWcuaG90Q29uZmlnR3JvdXAiLG4uSnx8bnVsbCl9Owp0Nz1mdW5jdGlvbihuKXtyMyhuLGcuQXIoIlJBV19IT1RfQ09ORklHX0dST1VQIikpO24uVyhnLkFyKCJTRVJJQUxJWkVEX0hPVF9IQVNIX0RBVEEiKSl9Owp5X3I9YXN5bmMgZnVuY3Rpb24obil7aWYobi5KKXJldHVybiAkTygpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0SG90Q29uZmlnIElEQiBub3QgaW5pdGlhbGl6ZWQiKSxaRShuKSxQcm9taXNlLnJlamVjdChuKTt2YXIgVz1hZygpLEQ9Zy5BcigiVElNRV9DUkVBVEVEX01TIik7aWYoVyl7dmFyIGI9YXdhaXQgZzMoVyk7aWYoYiYmYi50aW1lc3RhbXA+RClyZXR1cm4gcjMobixiLmNvbmZpZyksbi5XKGIuaGFzaERhdGEpLCRPKCl9ZWxzZSBiPWcucjAoImdldEhvdENvbmZpZyB0b2tlbiBlcnJvciIpLFpFKGIpO3Q3KG4pO1cmJm4uSiYmbi5ob3RIYXNoRGF0YSYmYXdhaXQgeE8obi5KLG4uaG90SGFzaERhdGEsVyxEKTtyZXR1cm4gbi5KPyRPKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKc0o9ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiKX07Ck5CPWZ1bmN0aW9uKG4sVyl7bi5OPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiLG4uTnx8bnVsbCl9OwpwUD1mdW5jdGlvbihuLFcpe24uY29uZmlnRGF0YT1XO2cuR2IoInl0LmdjZi5jb25maWcuY29sZENvbmZpZ0RhdGEiLG4uY29uZmlnRGF0YXx8bnVsbCl9OwpZTz1mdW5jdGlvbihuLFcpe24uY29sZEhhc2hEYXRhPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiLG4uY29sZEhhc2hEYXRhfHxudWxsKX07CkdvPWZ1bmN0aW9uKG4pe05CKG4sZy5BcigiUkFXX0NPTERfQ09ORklHX0dST1VQIikpO1lPKG4sZy5BcigiU0VSSUFMSVpFRF9DT0xEX0hBU0hfREFUQSIpKTtwUChuLG4uTj8uY29uZmlnRGF0YSl9OwpFVVM9YXN5bmMgZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBzSigpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0Q29sZENvbmZpZyBJREIgbm90IGluaXRpYWxpemVkIiksWkUobiksUHJvbWlzZS5yZWplY3Qobik7dmFyIFc9YWcoKSxEPWcuQXIoIlRJTUVfQ1JFQVRFRF9NUyIpO2lmKFcpe3ZhciBiPWF3YWl0IGU5KFcpO2lmKGImJmIudGltZXN0YW1wPkQpcmV0dXJuIE5CKG4sYi5jb25maWcpLHBQKG4sYi5jb25maWdEYXRhKSxZTyhuLGIuaGFzaERhdGEpLHNKKCl9ZWxzZSBiPWcucjAoImdldENvbGRDb25maWciKSxaRShiKTtHbyhuKTtXJiZuLk4mJm4uY29sZEhhc2hEYXRhJiZuLmNvbmZpZ0RhdGEmJmF3YWl0IExQKG4uTixuLmNvbGRIYXNoRGF0YSxuLmNvbmZpZ0RhdGEsVyxEKTtyZXR1cm4gbi5OP3NKKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKSHo9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKGcubCgic3RhcnRfY2xpZW50X2djZiIpKXtEJiZyMyhuLEQpO24uVyhXKTtsZXQgYj1hZygpO2ImJihEfHwoRD0oYXdhaXQgZzMoYikpPy5jb25maWcpLGF3YWl0IHhPKEQsVyxiKSk7aWYoRCl7bj1uLks7Zm9yKGxldCB2IG9mIG4uTil2KEQpfX19OwpmUD1hc3luYyBmdW5jdGlvbihuLFcsRCl7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJihZTyhuLFcpLG49YWcoKSkmJihEfHwoRD0oYXdhaXQgZTkobikpPy5jb25maWcpLEQmJmF3YWl0IExQKEQsVyxELmNvbmZpZ0RhdGEsbikpfTsKSjc9ZnVuY3Rpb24oKXt2YXIgbj1xQigpLFc9KDAsZy5SKSgpLW4uajtpZighKG4uaiE9PTAmJlc8djAoInNlbmRfY29uZmlnX2hhc2hfdGltZXIiKSkpe1c9Zy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnRGF0YSIpO3ZhciBEPWcucnIoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiKSxiPWcucnIoInl0LmdjZi5jb25maWcuY29sZEhhc2hEYXRhIik7VyYmRCYmYiYmKG4uaj0oMCxnLlIpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpXLGhvdEhhc2hEYXRhOkQsY29sZEhhc2hEYXRhOmJ9fX07Ckk3PWZ1bmN0aW9uKCl7cmV0dXJuIklOTkVSVFVCRV9BUElfS0VZImluIElFJiYiSU5ORVJUVUJFX0FQSV9WRVJTSU9OImluIElFfTsKZy5TOT1mdW5jdGlvbigpe3JldHVybntpbm5lcnR1YmVBcGlLZXk6Zy5BcigiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9BUElfVkVSU0lPTiIpLGNSOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9DT05GSUdfSU5GTyIpLEcwOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIiksRmQ6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpLGlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiksTWI6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSxFRTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9HTCIpLHY2OmcuQXIoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIil8fCIiLE9zOiEhZy5BcigiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSksT0Q6ISFnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIsCiExKSxhcHBJbnN0YWxsRGF0YTpnLkFyKCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSIpfX07CmcuVUo9ZnVuY3Rpb24obil7dmFyIFc9e2NsaWVudDp7aGw6bi5NYixnbDpuLkVFLGNsaWVudE5hbWU6bi5HMCxjbGllbnRWZXJzaW9uOm4uaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24sY29uZmlnSW5mbzpuLmNSfX07bmF2aWdhdG9yLnVzZXJBZ2VudCYmKFcuY2xpZW50LnVzZXJBZ2VudD1TdHJpbmcobmF2aWdhdG9yLnVzZXJBZ2VudCkpO3ZhciBEPWcucWkuZGV2aWNlUGl4ZWxSYXRpbztEJiZEIT0xJiYoVy5jbGllbnQuc2NyZWVuRGVuc2l0eUZsb2F0PVN0cmluZyhEKSk7RD1rVCgpO0QhPT0iIiYmKFcuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49RCk7RD1oeSgpO0QubGVuZ3RoPjAmJihXLnJlcXVlc3Q9e2ludGVybmFsRXhwZXJpbWVudEZsYWdzOkR9KTtBNyhuLHZvaWQgMCxXKTttVCh2b2lkIDAsVyk7S1Aodm9pZCAwLFcpO09KKG4sdm9pZCAwLFcpO1B6KHZvaWQgMCxXKTtnLmwoInN0YXJ0X2NsaWVudF9nY2YiKSYmWm0odm9pZCAwLFcpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJgohZy5sKCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoVy51c2VyPXtvbkJlaGFsZk9mVXNlcjpnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpfSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoVy51c2VyPXsuLi5XLnVzZXIsc2VyaWFsaXplZERlbGVnYXRpb25Db250ZXh0Om59KTtuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7Zy5sKCJlbmFibGVfcGVyc2lzdGVudF9kZXZpY2VfdG9rZW4iKSYmbj8uY2xpZW50Py5yb2xsb3V0VG9rZW4mJihXLmNsaWVudC5yb2xsb3V0VG9rZW49bj8uY2xpZW50Py5yb2xsb3V0VG9rZW4pO249T2JqZWN0O0Q9bi5hc3NpZ247dmFyIGI9Vy5jbGllbnQsdj1nLkFyKCJERVZJQ0UiLCIiKSxrPXt9O2ZvcihsZXQgW2gseF1vZiBPYmplY3QuZW50cmllcyhnLml3KHYpKSl2PWgsdj09PSJjYnJhbmQiPwprLmRldmljZU1ha2U9eDp2PT09ImNtb2RlbCI/ay5kZXZpY2VNb2RlbD14OnY9PT0iY2JyIj9rLmJyb3dzZXJOYW1lPXg6dj09PSJjYnJ2ZXIiP2suYnJvd3NlclZlcnNpb249eDp2PT09ImNvcyI/ay5vc05hbWU9eDp2PT09ImNvc3ZlciI/ay5vc1ZlcnNpb249eDp2PT09ImNwbGF0Zm9ybSImJihrLnBsYXRmb3JtPXgpO1cuY2xpZW50PUQuY2FsbChuLGIsayk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoVy5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsVy5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIFd9OwpBNz1mdW5jdGlvbihuLFcsRCl7bj1uLkcwO2lmKG49PT0iV0VCInx8bj09PSJNV0VCInx8bj09PTF8fG49PT0yKVc/KEQ9Z2UoVyx5ZCw5Nil8fG5ldyB5ZCxuPXl4KCksbj1PYmplY3Qua2V5cyhkM2opLmluZGV4T2Yobiksbj1uPT09LTE/bnVsbDpuLG4hPT1udWxsJiZLbihELDMsbiksJDkoVyx5ZCw5NixEKSk6RCYmKEQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPUQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPz97fSxELmNsaWVudC5tYWluQXBwV2ViSW5mby53ZWJEaXNwbGF5TW9kZT15eCgpKX07Cm1UPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpO0QmJihuPyhXPWdlKG4sRUosNyl8fG5ldyBFSixnLlNFKFcsNCxEKSwkOShuLEVKLDcsVykpOlcmJihXLnRoaXJkUGFydHk9e2VtYmVkVXJsOkR9KSl9OwpLUD1mdW5jdGlvbihuLFcpe2lmKGcubCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJmcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkpe2xldCBEPWcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnk7bj9veihuLDk1LGcubDQoRCoxRTYpKTpXJiYoVy5jbGllbnQubWVtb3J5VG90YWxLYnl0ZXM9YCR7RCoxRTZ9YCl9fTsKT0o9ZnVuY3Rpb24obixXLEQpe24uYXBwSW5zdGFsbERhdGEmJihXPyhEPWdlKFcsaTksNjIpPz9uZXcgaTksZy5TRShELDYsbi5hcHBJbnN0YWxsRGF0YSksJDkoVyxpOSw2MixEKSk6RCYmKEQuY2xpZW50LmNvbmZpZ0luZm89RC5jbGllbnQuY29uZmlnSW5mb3x8e30sRC5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1uLmFwcEluc3RhbGxEYXRhKSl9OwpQej1mdW5jdGlvbihuLFcpe3ZhciBEPUJCKCk7RCYmKG4/S24obiw2MSx6cXdbRF0pOlcmJihXLmNsaWVudC5jb25uZWN0aW9uVHlwZT1EKSk7Zy5sKCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKEQ9d0ooKSkmJihuP0tuKG4sOTQsbEJyW0RdKTpXJiYoVy5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9RCkpfTsKVFpqPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj17fTtnLkFyKCJFT01fVklTSVRPUl9EQVRBIik/Yj17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpfTpiPXsiWC1Hb29nLVZpc2l0b3ItSWQiOkQudmlzaXRvckRhdGF8fGcuQXIoIlZJU0lUT1JfREFUQSIsIiIpfTtpZihXJiZXLmluY2x1ZGVzKCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iKSlyZXR1cm4gYjtXPUQuUDF8fGcuQXIoIkFVVEhPUklaQVRJT04iKTtXfHwobj9XPWBCZWFyZXIgJHtnLnJyKCJnYXBpLmF1dGguZ2V0VG9rZW4iKSgpLmFjY2Vzc190b2tlbn1gOihuPWlPKCkuYWoodTkpLGcubCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIG5bIlgtR29vZy1QYWdlSWQiXSxiPXsuLi5iLC4uLm59KSk7VyYmKGIuQXV0aG9yaXphdGlvbj1XKTtyZXR1cm4gYn07ClptPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9SjcoKTtpZihEKXt2YXIgYj1ELmNvbGRDb25maWdEYXRhLHY9RC5jb2xkSGFzaERhdGE7RD1ELmhvdEhhc2hEYXRhO24/KFc9Z2UobixpOSw2Mik/P25ldyBpOSxiPWcuU0UoVywxLGIpLGcuU0UoYiwzLHYpLlcoRCksJDkobixpOSw2MixXKSk6VyYmKFcuY2xpZW50LmNvbmZpZ0luZm89Vy5jbGllbnQuY29uZmlnSW5mb3x8e30sYiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YiksdiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPXYpLEQmJihXLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPUQpKX19OwpvNz1mdW5jdGlvbihuKXt0aGlzLnZlcnNpb249MTt0aGlzLmFyZ3M9bn07CmQzPWZ1bmN0aW9uKG4sVyl7dGhpcy50b3BpYz1uO3RoaXMuTj1XfTsKbDk9ZnVuY3Rpb24obixXKXt2YXIgRD16bygpO0QmJkQucHVibGlzaC5jYWxsKEQsbi50b1N0cmluZygpLG4sVyl9OwpqMHg9ZnVuY3Rpb24obil7dmFyIFc9VG8sRD16bygpO2lmKCFEKXJldHVybiAwO3ZhciBiPUQuc3Vic2NyaWJlKFcudG9TdHJpbmcoKSwodixrKT0+e3ZhciBoPWcucnIoInl0UHVic3ViMlB1YnN1YjJTa2lwU3ViS2V5Iik7aCYmaD09Ynx8KGg9KCk9PntpZihqOVtiXSl0cnl7aWYoayYmVyBpbnN0YW5jZW9mIGQzJiZXIT12KXRyeXt7dmFyIHg9Vy5OLEw9aztpZighTC5hcmdzfHwhTC52ZXJzaW9uKXRocm93IEVycm9yKCJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogc2VyaWFsaXplZERhdGEgaXMgaW5jb21wbGV0ZS4iKTtsZXQgZTt0cnl7aWYoIXguQ2Ipe2xldCBHPW5ldyB4O3guQ2I9Ry52ZXJzaW9ufWU9eC5DYn1jYXRjaChHKXt9aWYoIWV8fEwudmVyc2lvbiE9ZSl0aHJvdyBFcnJvcigieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6IHNlcmlhbGl6ZWREYXRhIHZlcnNpb24gaXMgaW5jb21wYXRpYmxlLiIpO3RyeXtrPVJlZmxlY3QuY29uc3RydWN0KHgsZy5STShMLmFyZ3MpKX1jYXRjaChHKXt0aHJvdyBHLm1lc3NhZ2U9CiJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogIitHLm1lc3NhZ2UsRzt9fX1jYXRjaChlKXt0aHJvdyBlLm1lc3NhZ2U9Inl0LnB1YnN1YjIucHVic3ViMiBjcm9zcy1iaW5hcnkgY29udmVyc2lvbiBlcnJvciBmb3IgIitXLnRvU3RyaW5nKCkrIjogIitlLm1lc3NhZ2UsZTt9bi5jYWxsKHdpbmRvdyxrKX1jYXRjaChlKXtPdChlKX19LENQW1cudG9TdHJpbmcoKV0/Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/dGEuTFMoaCk6Zy5uJChoLDApOmgoKSl9KTsKajlbYl09ITA7QnpbVy50b1N0cmluZygpXXx8KEJ6W1cudG9TdHJpbmcoKV09W10pO0J6W1cudG9TdHJpbmcoKV0ucHVzaChiKTtyZXR1cm4gYn07CkYwTT1mdW5jdGlvbigpe3ZhciBuPUM0dyxXPWoweChmdW5jdGlvbihEKXtuLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO0JaaChXKX0pOwpyZXR1cm4gV307CkJaaD1mdW5jdGlvbihuKXt2YXIgVz16bygpO1cmJih0eXBlb2Ygbj09PSJudW1iZXIiJiYobj1bbl0pLGcueTIobixEPT57Vy51bnN1YnNjcmliZUJ5S2V5KEQpO2RlbGV0ZSBqOVtEXX0pKX07CnpvPWZ1bmN0aW9uKCl7cmV0dXJuIGcucnIoInl0UHVic3ViMlB1YnN1YjJJbnN0YW5jZSIpfTsKRjM9ZnVuY3Rpb24obixXLEQ9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixELnNhbXBsZVJhdGUvMTAwKSYmbDkoIm1ldGFfbG9nZ2luZ19jc2lfZXZlbnQiLHt0aW1lck5hbWU6bix0aW1lbGluZURhdGE6V30pfTsKVmQ9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9e3N0YXJ0VGltZTooMCxnLlIpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD13MyhXKTtpZihoPT1udWxsfHwhKGg+TUJ8fGg8UjcpKXt2YXIgaz1YJChRZChXKSk7bGV0IHg9KDAsZy5SKSgpO3YudGlja3MuZ2VsYz14O3c5aisrO2cubCgiZ2VsX2NvbXByZXNzaW9uX2NzaV9raWxsc3dpdGNoIil8fCFnLmwoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeSIpJiYhZy5sKCJsb2dfZ2VsX2NvbXByZXNzaW9uX2xhdGVuY3lfbHIiKXx8RjMoImdlbF9jb21wcmVzc2lvbiIsdix7c2FtcGxlUmF0ZTouMX0pO0QuaGVhZGVyc3x8KEQuaGVhZGVycz17fSk7RC5oZWFkZXJzWyJDb250ZW50LUVuY29kaW5nIl09Imd6aXAiO0QucG9zdEJvZHk9aztELnBvc3RQYXJhbXM9dm9pZCAwfWIobixEKX1jYXRjaChoKXtaRShoKSxiKG4sRCl9fTsKTVhTPWZ1bmN0aW9uKG4peygwLGcuUikoKTtpZighbi5ib2R5KXJldHVybiBuO3RyeXtsZXQgVz10eXBlb2Ygbi5ib2R5PT09InN0cmluZyI/bi5ib2R5OkpTT04uc3RyaW5naWZ5KG4uYm9keSksRD1XO2lmKHR5cGVvZiBXPT09InN0cmluZyIpe2xldCBiPXczKFcpO2lmKGIhPW51bGwmJihiPk1CfHxiPFI3KSlyZXR1cm4gbjtEPVgkKFFkKFcpKTsoMCxnLlIpKCl9bi5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihuLmhlYWRlcnN8fHt9KX07bi5ib2R5PUQ7cmV0dXJuIG59Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG59fTsKdzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybihuZXcgQmxvYihuLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG51bGx9fTsKY3o9ZnVuY3Rpb24obil7cmV0dXJuISFuLllXfHxuLld2fTsKbm09ZnVuY3Rpb24obil7Y3oobikmJiFuLk5oJiYobi5OPSEwLG4uQ3ImJk1hdGgucmFuZG9tKCk8PW4uS3ImJm4uZ0UudGkobi5ZVyksYTcobiksbi55Ry5XRygpJiZuLlcoKSxuLnlHLlNfKG4udVosbi5XLmJpbmQobikpLG4ueUcuU18obi5OQSxuLlguYmluZChuKSkpfTsKYTc9ZnVuY3Rpb24obil7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogcmV0cnlRdWV1ZWRSZXF1ZXN0cyIpO24uZ0UuaTQoIlFVRVVFRCIsbi5ZVykudGhlbihXPT57VyYmIVdVKG4sVyxuLlo0KT9uLkEkLkxTKGFzeW5jKCk9PntXLmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVyk7YTcobil9KTpuLnlHLldHKCkmJm4uVygpfSl9OwpENT1hc3luYyBmdW5jdGlvbihuLFcpe2lmKCFjeihuKSl0aHJvdyBFcnJvcigiSW5kZXhlZERCIGlzIG5vdCBzdXBwb3J0ZWQ6IGltbWVkaWF0ZVNlbmQiKTtXLmlkIT09dm9pZCAwJiYoYXdhaXQgbi5nRS5LNihXLmlkLG4uWVcpfHxuLkYyKEVycm9yKCJUaGUgcmVxdWVzdCBjYW5ub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlLiIpKSk7V1UobixXLG4uR3kpPyhXLnNraXBSZXRyeXx8KFc9UnEyKG4sVykpLFcmJihXLnNraXBSZXRyeSYmVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpLG4uTG0oVy51cmwsVy5vcHRpb25zLCEhVy5za2lwUmV0cnkpKSk6KG4uRjIoRXJyb3IoIk5ldHdvcmtsZXNzIExvZ2dpbmc6IFN0b3JlZCBsb2dzIHJlcXVlc3QgZXhwaXJlZCBhZ2UgbGltaXQiKSksVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpKX07CmJNPWZ1bmN0aW9uKG4sVyl7bi5oTCYmIW4ueUcuV0coKT9uLmhMKFcpOm4uaGFuZGxlRXJyb3IoVyl9OwpXVT1mdW5jdGlvbihuLFcsRCl7Vz1XLnRpbWVzdGFtcDtyZXR1cm4gbi5ub3coKS1XPj1EPyExOiEwfTsKUnEyPWZ1bmN0aW9uKG4sVyl7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogdXBkYXRlUmVxdWVzdEhhbmRsZXJzIik7dmFyIEQ9Vy5vcHRpb25zLm9uRXJyb3I/Vy5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9OwpXLm9wdGlvbnMub25FcnJvcj1hc3luYyh2LGspPT57dmFyIGg9UTBTKGspLHg9VlgyKGspO3gmJm4uRXEmJm4uRXEoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJm4uaGFuZGxlRXJyb3IoRXJyb3IoIlJlcXVlc3QgZmFpbGVkIGR1ZSB0byBjb21wcmVzc2lvbiIpLFcudXJsLGspO2lmKG4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmh8fG4uRXEmJiFuLkVxKCJud2xfY29uc2lkZXJfZXJyb3JfY29kZSIpJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcjw9bi5IRilpZihuLnlHLmhKJiZhd2FpdCBuLnlHLmhKKCksIW4ueUcuV0coKSl7RCh2LGspO24uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJlc/LmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMSk7cmV0dXJufW4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJiFoJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5uLkhGfHwobi5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKywKVz8uaWQhPT12b2lkIDAmJihXLnNlbmRDb3VudDxuLkExPyhhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMCx4PyExOnZvaWQgMCksbi5BJC5MUygoKT0+e24ueUcuV0coKSYmbi5XKCl9LG4uSVApKTphd2FpdCBuLmdFLlRNKFcuaWQsbi5ZVykpLEQodixrKSl9Owp2YXIgYj1XLm9wdGlvbnMub25TdWNjZXNzP1cub3B0aW9ucy5vblN1Y2Nlc3M6KCk9Pnt9OwpXLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKHYsayk9PntXPy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpO24ueUcubGMmJm4uRXEmJm4uRXEoInZzc19uZXR3b3JrX2hpbnQiKSYmbi55Ry5sYyghMCk7Yih2LGspfTsKcmV0dXJuIFd9OwpRMFM9ZnVuY3Rpb24obil7cmV0dXJuKG49bj8uZXJyb3I/LmNvZGUpJiZuPj00MDAmJm48PTU5OT8hMTohMH07ClZYMj1mdW5jdGlvbihuKXtuPW4/LmVycm9yPy5jb2RlO3JldHVybiEobiE9PTQwMCYmbiE9PTQxNSl9OwpjX1o9ZnVuY3Rpb24oKXtpZih2VSlyZXR1cm4gdlUoKTt2VT1rTygiTG9nc0RhdGFiYXNlVjIiLHtLYzp7TG9nc1JlcXVlc3RzU3RvcmU6e3Z4OjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcsRCl7VygyKSYmWnkobiwiTG9nc1JlcXVlc3RzU3RvcmUiLHtrZXlQYXRoOiJpZCIsYXV0b0luY3JlbWVudDohMH0pO1coMyk7Vyg1KSYmKEQ9RC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSxELk4uaW5kZXhOYW1lcy5jb250YWlucygibmV3UmVxdWVzdCIpJiZELk4uZGVsZXRlSW5kZXgoIm5ld1JlcXVlc3QiKSxFUihELCJuZXdSZXF1ZXN0VjIiLFsic3RhdHVzIiwiaW50ZXJmYWNlIiwidGltZXN0YW1wIl0pKTtXKDcpJiZVUihuLCJzYXBpc2lkIik7Vyg5KSYmVVIobiwiU1dIZWFsdGhMb2ciKX0sdmVyc2lvbjo5fSk7cmV0dXJuIHZVKCl9OwprUT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoY19aKCksbil9OwphQlM9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD17c3RhcnRUaW1lOigwLGcuUikoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtXPWF3YWl0IGtRKFcpO249ey4uLm4sb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG4ub3B0aW9ucykpLGludGVyZmFjZTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCl9O249YXdhaXQgVy5wdXQoIkxvZ3NSZXF1ZXN0c1N0b3JlIixuKTtELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4gbn07Cm52Mj1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPXtzdGFydFRpbWU6KDAsZy5SKSgpLGluZm9zOnt0cmFuc2FjdGlvblR5cGU6IllUX0lEQl9UUkFOU0FDVElPTl9UWVBFX1JFQUQifSx0aWNrczp7fX07Vz1hd2FpdCBrUShXKTt2YXIgYj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksdj1bbixiLDBdO2I9W24sYiwoMCxnLlIpKCldO3ZhciBrPUlEQktleVJhbmdlLmJvdW5kKHYsYiksaD0icHJldiI7Zy5sKCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiKSYmKGg9Im5leHQiKTt2YXIgeD12b2lkIDA7dj1uPT09Ik5FVyI/InJlYWR3cml0ZSI6InJlYWRvbmx5IjtnLmwoInVzZV9yZWFkb25seV9mb3JfZ2V0X21vc3RfcmVjZW50X2J5X3N0YXR1c19raWxsc3dpdGNoIikmJih2PSJyZWFkd3JpdGUiKTthd2FpdCBPUihXLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTp2LEdROiEwfSxMPT56bihMLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmssZGlyZWN0aW9uOmh9LGU9PntlLmdldFZhbHVlKCkmJih4PWUuZ2V0VmFsdWUoKSxuPT09Ik5FVyImJih4LnN0YXR1cz0iUVVFVUVEIixlLnVwZGF0ZSh4KSkpfSkpOwpELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4geH07CldfQz1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBPUihhd2FpdCBrUShXKSxbIkxvZ3NSZXF1ZXN0c1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pnt2YXIgYj1ELm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpO3JldHVybiBiLmdldChuKS50aGVuKHY9PntpZih2KXJldHVybiB2LnN0YXR1cz0iUVVFVUVEIixiLnB1dCh2KS50aGVuKCgpPT52KX0pfSl9OwpERXg9YXN5bmMgZnVuY3Rpb24obixXLEQ9ITAsYil7cmV0dXJuIE9SKGF3YWl0IGtRKFcpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sdj0+e3ZhciBrPXYub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGsuZ2V0KG4pLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsRCYmKGguc2VuZENvdW50Kz0xKSxiIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWIpLGsucHV0KGgpLnRoZW4oKCk9PmgpKTpzUi5yZXNvbHZlKHZvaWQgMCkpfSl9OwpiR0M9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4oYXdhaXQga1EoVykpLmRlbGV0ZSgiTG9nc1JlcXVlc3RzU3RvcmUiLG4pfTsKdnZpPWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQga1Eobik7dmFyIFc9KDAsZy5SKSgpLTI1OTJFNjthd2FpdCBPUihuLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+dVEoRC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxiPT57aWYoYi5nZXRWYWx1ZSgpLnRpbWVzdGFtcDw9VylyZXR1cm4gYi5kZWxldGUoKS50aGVuKCgpPT5vZyhiKSl9KSl9Owpremk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgiTG9nc0RhdGFiYXNlVjIiKX07CmhJPWZ1bmN0aW9uKG4pe2cubCgibndsX2NzaV9raWxsc3dpdGNoIil8fEYzKCJuZXR3b3JrbGVzc19wZXJmb3JtYW5jZSIsbix7c2FtcGxlUmF0ZToxfSl9Owp4UT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoaF94KCksbil9Owp4RXc9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCB4UShuKTt2YXIgVz0oMCxnLlIpKCktMjU5MkU2O2F3YWl0IE9SKG4sWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwfSxEPT51UShELm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGI9PntpZihiLmdldFZhbHVlKCkudGltZXN0YW1wPD1XKXJldHVybiBiLmRlbGV0ZSgpLnRoZW4oKCk9Pm9nKGIpKX0pKX07CkxfaT1hc3luYyBmdW5jdGlvbihuKXthd2FpdCAoYXdhaXQgeFEobikpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKZy5nbz1mdW5jdGlvbihuLFcsRCxiLHY9IiIsaz0hMSxoPSExKXtpZihuKWlmKEQmJiFnLmQ4KCkpWkUobmV3IGcuUXgoIkxlZ2FjeSByZWZlcnJlci1zY3J1YmJlZCBwaW5nIGRldGVjdGVkIikpLG4mJkxtKG4sdm9pZCAwLHtzY3J1YlJlZmVycmVyOiEwfSk7ZWxzZSBpZih2KXhUKG4sVywiUE9TVCIsdixiKTtlbHNlIGlmKGcuQXIoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8Ynx8aCl4VChuLFcsIkdFVCIsIiIsYix2b2lkIDAsayxoKTtlbHNle2I6e3RyeXtjOnt2YXIgeD1uZXcgZV93KHt1cmw6bn0pO2lmKHguTi5kc2g9PT0iMSIpdmFyIEw9bnVsbDtlbHNle3ZhciBlPXguTi5hZTtpZihlPT09IjEiKXtsZXQgcj14Lk4uYWR1cmw7aWYocil0cnl7TD17dmVyc2lvbjozLFViOmRlY29kZVVSSUNvbXBvbmVudChyKSxERzp1eCh4LkosImFjdD0xIiwicmk9MSIseGlNKHgpKX07YnJlYWsgY31jYXRjaChOKXt9fUw9ZT09PSIyIj97dmVyc2lvbjo0LFViOnV4KHguSiwKImRjdD0xIiwic3VpZD0iK3guVywicmk9MSIpLERHOnV4KHguSiwiYWN0PTEiLCJyaT0xIiwic3VpZD0iK3guVyl9Om51bGx9fWlmKEwpe2xldCByPVMxKG4pO3ZhciBHPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxnLmxmKG4sInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31HPSExfUc/ZXcobik/KFcmJlcoKSxEPSEwKTpEPSExOkQ9ITE7RHx8TG0obixXKX19Owpndnc9ZnVuY3Rpb24obixXPSIiKXtldyhuLFcpfHxnLmdvKG4sdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyl9Owpldz1mdW5jdGlvbihuLFc9IiIpe3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihuLFcpKXJldHVybiEwfWNhdGNoKEQpe31yZXR1cm4hMX07CkxtPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj1uZXcgSW1hZ2Usdj0iIitYSHcrKztYaVt2XT1iO2Iub25sb2FkPWIub25lcnJvcj0oKT0+e1cmJlhpW3ZdJiZXKCk7ZGVsZXRlIFhpW3ZdfTsKRC5zY3J1YlJlZmVycmVyJiYoYi5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtiLnNyYz1ufTsKZy5xYj1mdW5jdGlvbihuKXtyZXR1cm4gZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP24rIiZuaXM9NiI6bisiJm5pcz01In07CiRRPWZ1bmN0aW9uKCl7R1R8fChHVD1uZXcgdEkoInl0Lm9mZmxpbmUiKSk7cmV0dXJuIEdUfTsKcUt3PWZ1bmN0aW9uKG4pe2lmKGcubCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgVz0kUSgpLmdldCgiZXJyb3JzIiwhMCl8fHt9O1dbbi5tZXNzYWdlXT17bmFtZTpuLm5hbWUsc3RhY2s6bi5zdGFja307bi5sZXZlbCYmKFdbbi5tZXNzYWdlXS5sZXZlbD1uLmxldmVsKTskUSgpLnNldCgiZXJyb3JzIixXLDI1OTJFMywhMCl9fTsKc2M9ZnVuY3Rpb24oKXtpZighcm8uaW5zdGFuY2Upe2xldCBuPWcucnIoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIpfHxuZXcgcm87Zy5HYigieXQubmV0d29ya1JlcXVlc3RNb25pdG9yLmluc3RhbmNlIixuKTtyby5pbnN0YW5jZT1ufXJldHVybiByby5pbnN0YW5jZX07CnBtPWZ1bmN0aW9uKCl7aWYoIU5iLmluc3RhbmNlKXtsZXQgbj1nLnJyKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcgTmI7Zy5HYigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLG4pO05iLmluc3RhbmNlPW59cmV0dXJuIE5iLmluc3RhbmNlfTsKWVE9ZnVuY3Rpb24obixXKXtuLnJhdGVMaW1pdD9uLk4/KHRhLnNPKG4uWCksbi5YPXRhLkxTKCgpPT57bi5XIT09VyYmKG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKX0sbi5yYXRlTGltaXQtKCgwLGcuUikoKS1uLk4pKSk6KG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKTpuLmRpc3BhdGNoRXZlbnQoVyl9OwpnLkhVPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIpO258fChuPW5ldyBHemgsZy5HYigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsbiksZy5sKCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJmcublAoKS50aGVuKFc9PntuLllXPVc7bm0obik7bi5qLnJlc29sdmUoKTtuLkNyJiZNYXRoLnJhbmRvbSgpPD1uLktyJiZuLllXJiZ4RXcobi5ZVyk7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX3N3X2hlYWx0aF9zdG9yZSIpJiZ0V3cobil9KSk7CnJldHVybiBufTsKdFd3PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLllXKXRocm93IGcucjAoImNsZWFyU1dIZWFsdGhMb2dzRGIiKTtMX2kobi5ZVykuY2F0Y2goVz0+e24uaGFuZGxlRXJyb3IoVyl9KX07CiRFdD1mdW5jdGlvbihuLFcsRCl7Vz1nLmwoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sVyk6VztnLmwoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Vy5oZWFkZXJzJiZnLlRkKG4pJiYoVy5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxnLlIpKCkpKSk6Vy5wb3N0UGFyYW1zPy5yZXF1ZXN0VGltZU1zJiYoVy5wb3N0UGFyYW1zLnJlcXVlc3RUaW1lTXM9TWF0aC5yb3VuZCgoMCxnLlIpKCkpKTtEJiZPYmplY3Qua2V5cyhXKS5sZW5ndGg9PT0wP2cuZ28obik6Vy5jb21wcmVzcz9XLnBvc3RCb2R5Pyh0eXBlb2YgVy5wb3N0Qm9keSE9PSJzdHJpbmciJiYoVy5wb3N0Qm9keT1KU09OLnN0cmluZ2lmeShXLnBvc3RCb2R5KSksVmQobixXLnBvc3RCb2R5LFcsZy5lZCkpOlZkKG4sSlNPTi5zdHJpbmdpZnkoVy5wb3N0UGFyYW1zKSxXLGc4KTpnLmVkKG4sVyl9OwpmbT1mdW5jdGlvbihuLFcpe2cubCgidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIikmJmcuVGQobikmJihXLmhlYWRlcnN8fChXLmhlYWRlcnM9e30pLFcuaGVhZGVyc1siWC1Hb29nLUV2ZW50LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gV307CmcuSUk9ZnVuY3Rpb24obixXLEQsYil7IWcuQXIoIlZJU0lUT1JfREFUQSIpJiZXIT09InZpc2l0b3JfaWQiJiZNYXRoLnJhbmRvbSgpPC4wMSYmWkUobmV3IGcuUXgoIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLFcsRCxiKSk7aWYoIW4uaXNSZWFkeSgpKXRocm93IG49bmV3IGcuUXgoImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixXLEQsYiksT3Qobiksbjt2YXIgdj17aGVhZGVyczpiLmhlYWRlcnN8fHt9LG1ldGhvZDoiUE9TVCIscG9zdFBhcmFtczpELHBvc3RCb2R5OmIucG9zdEJvZHkscG9zdEJvZHlGb3JtYXQ6Yi5wb3N0Qm9keUZvcm1hdHx8IkpTT04iLG9uVGltZW91dDooKT0+e2Iub25UaW1lb3V0KCl9LApvbkZldGNoVGltZW91dDpiLm9uVGltZW91dCxvblN1Y2Nlc3M6KGUsRyk9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhHKX0sCm9uRmV0Y2hTdWNjZXNzOmU9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhlKX0sCm9uUHJvZ3Jlc3M6ZT0+e2lmKGIub25Qcm9ncmVzcyliLm9uUHJvZ3Jlc3MoZSl9LApvbkVycm9yOihlLEcpPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihHKX0sCm9uRmV0Y2hFcnJvcjplPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihlKX0sCnRpbWVvdXQ6Yi50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpiLmNvbXByZXNzfTt2LmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwodi5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO0Q9IiI7dmFyIGs9bi5jb25maWdfLnY2O2smJihEPWspO2s9bi5jb25maWdfLk9zfHwhMTt2YXIgaD1UWmooayxELGIpO09iamVjdC5hc3NpZ24odi5oZWFkZXJzLGgpO3YuaGVhZGVycy5BdXRob3JpemF0aW9uJiYhRCYmayYmKHYuaGVhZGVyc1sieC1vcmlnaW4iXT13aW5kb3cubG9jYXRpb24ub3JpZ2luKTt2YXIgeD1nLnpkKGAke0R9JHtgL3lvdXR1YmVpLyR7bi5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7V31gfWAse2FsdDoianNvbiJ9KSxMPShlPSExKT0+e3RyeXtpZihlJiZiLnJldHJ5JiYhYi5uZXR3b3JrbGVzc09wdGlvbnMuYnlwYXNzTmV0d29ya2xlc3Mpdi5tZXRob2Q9IlBPU1QiLGIubmV0d29ya2xlc3NPcHRpb25zLndyaXRlVGhlblNlbmQ/CmcuSFUoKS53cml0ZVRoZW5TZW5kKHgsdik6Zy5IVSgpLnNlbmRBbmRXcml0ZSh4LHYpO2Vsc2UgaWYoYi5jb21wcmVzcylpZih2LnBvc3RCb2R5KXtsZXQgRz12LnBvc3RCb2R5O3R5cGVvZiBHIT09InN0cmluZyImJihHPUpTT04uc3RyaW5naWZ5KHYucG9zdEJvZHkpKTtWZCh4LEcsdixnLmVkKX1lbHNlIFZkKHgsSlNPTi5zdHJpbmdpZnkodi5wb3N0UGFyYW1zKSx2LGc4KTtlbHNlIGc4KHgsdil9Y2F0Y2goRyl7aWYoRy5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpWkUoRXJyb3IoIkFuIGV4dGVuc2lvbiBpcyBibG9ja2luZyBuZXR3b3JrIHJlcXVlc3QuIikpO2Vsc2UgdGhyb3cgRzt9fTsKZy5ycigieXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnMiKSYmSkkuaXNOd2xJbml0aWFsaXplZD9jTigpLnRoZW4oZT0+e0woZSl9KTpMKCExKX07Ck9jPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1TdygpO2lmKGImJlcpe2xldCB2PWIuc3Vic2NyaWJlKG4sZnVuY3Rpb24oKXt2YXIgaz1hcmd1bWVudHMsaD0oKT0+e0FJW3ZdJiZXLmFwcGx5JiZ0eXBlb2YgVy5hcHBseT09ImZ1bmN0aW9uIiYmVy5hcHBseShEfHx3aW5kb3csayl9Owp0cnl7bWdbbl0/aCgpOmcubiQoaCwwKX1jYXRjaCh4KXtPdCh4KX19LEQpOwpBSVt2XT0hMDtLbVtuXXx8KEttW25dPVtdKTtLbVtuXS5wdXNoKHYpO3JldHVybiB2fXJldHVybiAwfTsKUFU9ZnVuY3Rpb24obil7dmFyIFc9U3coKTtXJiYodHlwZW9mIG49PT0ibnVtYmVyIj9uPVtuXTp0eXBlb2Ygbj09PSJzdHJpbmciJiYobj1bcGFyc2VJbnQobiwxMCldKSxnLnkyKG4sRD0+e1cudW5zdWJzY3JpYmVCeUtleShEKTtkZWxldGUgQUlbRF19KSl9OwpaNT1mdW5jdGlvbihuLFcpe3ZhciBEPVN3KCk7cmV0dXJuIEQ/RC5wdWJsaXNoLmFwcGx5KEQsYXJndW1lbnRzKTohMX07CnlKPWZ1bmN0aW9uKG4pe3ZhciBXPVN3KCk7aWYoVylpZihXLmNsZWFyKG4pLG4pVWMobik7ZWxzZSBmb3IobGV0IEQgaW4gS20pVWMoRCl9OwpFYz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPVdebjtpZighKG4tNj4+Mykpe2VYKGteMjk5MCxrXjYwMjksRCk7dmFyIGg9RFtJW2teMjk4Nl1dKyhEW0lba14yOTg2XV0/SVtrXjMwNjBdOklba14zMDY3XSkrRFtJW2teMjk2N11dK0RbSVtrXjI5ODhdXTtpZihQMChrXjMwNDUsa140NjE4LEQpKXtsZXQgTD1bXTtnLmFfKERbSVsxXV0sKEcscik9PntHIT09bnVsbCYmTFtJW2teMjk4Ml1dKGAke3J9PSR7R31gKX0pOwpsZXQgZT1MW0lba14zMDA1XV0oSVtrXjI5NDVdKTtoKz1gPyR7ZX1gfXZhciB4PWh9KG4rMl43KTxuJiYobi01fDIzKT49biYmKGI9PT1JW2teNjU4OV0mJigoaD12W0lba142NTYzXV0oSVtrXjY1NDhdKSk+PTA/KGI9YGNtbz0ke3ZbSVtrXjY1NjZdXSgwLGgpfWAsdj12W0lba142NTY2XV0oaCsxKSk6KGg9dltJW2teNjU2M11dKElba142NTM1XSkpPj0wJiYoYj1gY21vPSR7dltJW2teNjU2Nl1dKDAsaCl9YCx2PXZbSVtrXjY1NjZdXShoKzMpKSksRFtiXT12KTtyZXR1cm4geH07ClN3PWZ1bmN0aW9uKCl7cmV0dXJuIGcucWkueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07ClVjPWZ1bmN0aW9uKG4pe0ttW25dJiYobj1LbVtuXSxnLnkyKG4sVz0+e0FJW1ddJiZkZWxldGUgQUlbV119KSxuLmxlbmd0aD0wKX07CmlNPWZ1bmN0aW9uKG4sVyxEPW51bGwpe3J2aChuLFcsRCl9Owpydmg9ZnVuY3Rpb24obixXLEQ9bnVsbCl7dmFyIGI9dU0odHlwZW9mIG49PT0ic3RyaW5nIj9uOm4udG9TdHJpbmcoKSksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxrPXYmJmdKKHYpLGg9diYmIWs7az9XJiZXKCk6KFcmJihrPU9jKGIsVyksVz1gJHtBaShXKX1gLG9JW1ddPWspLGh8fCh2PXN6UyhuLGIsKCk9PntnSih2KXx8KGI1dCh2KSxaNShiKSxnLm4kKCgpPT57eUooYil9LDApKX0sRCkpKX07CnN6Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwpe3ZhciB2PWcuekYoIlNDUklQVCIpO3YuaWQ9Vzt2Lm9ubG9hZD0oKT0+e0QmJnNldFRpbWVvdXQoRCwwKX07CnYub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57c3dpdGNoKHYucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6di5vbmxvYWQoKX19OwpiJiZ2LnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpO2cuUE0odix0eXBlb2Ygbj09PSJzdHJpbmciP2Z3KG4pOm4pO249ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTtuLmluc2VydEJlZm9yZSh2LG4uZmlyc3RDaGlsZCk7cmV0dXJuIHZ9Owp1TT1mdW5jdGlvbihuKXt2YXIgVz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Zy5OVShXLG4pO249Vy5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIik7cmV0dXJuYGpzLSR7c1Qobil9YH07CnpUPWZ1bmN0aW9uKG4sVyl7aWYobj09PVcpbj0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkobikmJkFycmF5LmlzQXJyYXkoVykpbj12NChuLFcselQpO2Vsc2UgaWYoZy5mdChuKSYmZy5mdChXKSlhOmlmKGcuTFQobikubGVuZ3RoIT1nLkxUKFcpLmxlbmd0aCluPSExO2Vsc2V7Zm9yKGxldCBEIGluIG4paWYoIXpUKG5bRF0sV1tEXSkpe249ITE7YnJlYWsgYX1uPSEwfWVsc2Ugbj0hMTtyZXR1cm4gbn07Cmp3PWZ1bmN0aW9uKG4sLi4uVyl7aWYoIWxNKG4pfHxXLnNvbWUoRD0+IWxNKEQpKSl0aHJvdyBFcnJvcigiT25seSBvYmplY3RzIG1heSBiZSBtZXJnZWQuIik7CmZvcihsZXQgRCBvZiBXKVRUKG4sRCl9OwpUVD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBXKWlmKGxNKFdbRF0pKXtpZihEIGluIG4mJiFsTShuW0RdKSl0aHJvdyBFcnJvcigiQ2Fubm90IG1lcmdlIGFuIG9iamVjdCBpbnRvIGEgbm9uLW9iamVjdC4iKTtEIGluIG58fChuW0RdPXt9KTtUVChuW0RdLFdbRF0pfWVsc2UgaWYoQ20oV1tEXSkpe2lmKEQgaW4gbiYmIUNtKG5bRF0pKXRocm93IEVycm9yKCJDYW5ub3QgbWVyZ2UgYW4gYXJyYXkgaW50byBhIG5vbi1hcnJheS4iKTtEIGluIG58fChuW0RdPVtdKTtCVShuW0RdLFdbRF0pfWVsc2UgbltEXT1XW0RdO3JldHVybiBufTsKQlU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgVylsTShEKT9uLnB1c2goVFQoe30sRCkpOkNtKEQpP24ucHVzaChCVShbXSxEKSk6bi5wdXNoKEQpO3JldHVybiBufTsKbE09ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KG4pfTsKQ209ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJkFycmF5LmlzQXJyYXkobil9OwpnLkZpPWZ1bmN0aW9uKG49ITEpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLlkkPW5ldyBCSyhuKTtnLnUodGhpcyx0aGlzLlkkKX07Ck1iPWZ1bmN0aW9uKG4pe2lmKHdpbmRvdy5jcnlwdG8mJndpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXRyeXt2YXIgVz1BcnJheShuKSxEPW5ldyBVaW50OEFycmF5KG4pO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKEQpO2Zvcih2YXIgYj0wO2I8Vy5sZW5ndGg7YisrKVdbYl09RFtiXTtyZXR1cm4gV31jYXRjaCh2KXt9Vz1BcnJheShuKTtmb3IoRD0wO0Q8bjtEKyspe2I9RGF0ZS5ub3coKTtmb3IobGV0IHY9MDt2PGIlMjM7disrKVdbRF09TWF0aC5yYW5kb20oKTtXW0RdPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTYpfWlmKHdvKWZvcihEPTEsYj0wO2I8d28ubGVuZ3RoO2IrKylXW0Qlbl1ePVdbKEQtMSklbl0vNF53by5jaGFyQ29kZUF0KGIpLEQrKztyZXR1cm4gV307CmcuUkk9ZnVuY3Rpb24obil7bj1NYihuKTt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJBdChuW0RdJjYzKSk7cmV0dXJuIFcuam9pbigiIil9OwpnLlFKPWZ1bmN0aW9uKCl7cmV0dXJuIGcuaV8oTWIoMTYpLG49PihuJjE1KS50b1N0cmluZygxNikpLmpvaW4oIiIpfTsKYUk9ZnVuY3Rpb24oKXsoe0NQOlc9ITEsTTY6bj0hMH09e30pO3ZhciBuLFc7aWYoZy5ycigiX2xhY3QiLHdpbmRvdyk9PW51bGwpe3ZhciBEPXBhcnNlSW50KGcuQXIoIkxBQ1QiKSwxMCk7RD1pc0Zpbml0ZShEKT9EYXRlLm5vdygpLU1hdGgubWF4KEQsMCk6LTE7Zy5HYigiX2xhY3QiLEQsd2luZG93KTtnLkdiKCJfZmFjdCIsRCx3aW5kb3cpO0Q9PS0xJiZWSigpO05ndyhXLG4pO25ldyBtWSgoKT0+e2NVKCJtb3VzZSIsMTAwKX0pfX07Cm5YPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IGcud1ooVyk7KFc9RC5nZXQoInJlcV9pZCIpKSYmbi5zZXQoInJlcV9pZCIsVyk7Zy5hXyhuLk4sKGIsdik9PntEWyJzZXQiXSh2LG51bGwpfSk7CnJldHVybiBEfTsKTmd3PWZ1bmN0aW9uKG49ITEsVz0hMCl7dmFyIEQ9d2luZG93O2cuSTkoRC5kb2N1bWVudCwia2V5ZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwia2V5dXAiLFZKKTtnLkk5KEQuZG9jdW1lbnQsIm1vdXNlZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwibW91c2V1cCIsVkopO24/Zy5JOShELCJ0b3VjaG1vdmUiLCgpPT57Y1UoInRvdWNobW92ZSIsMjAwKX0se3Bhc3NpdmU6ITB9KTooZy5JOShELCJyZXNpemUiLCgpPT57Y1UoInJlc2l6ZSIsMjAwKX0pLFcmJmcuSTkoRCwic2Nyb2xsIiwoKT0+e2NVKCJzY3JvbGwiLDIwMCl9KSk7CmcuSTkoRC5kb2N1bWVudCwidG91Y2hzdGFydCIsVkose3Bhc3NpdmU6ITB9KTtnLkk5KEQuZG9jdW1lbnQsInRvdWNoZW5kIixWSix7cGFzc2l2ZTohMH0pfTsKY1U9ZnVuY3Rpb24obixXKXtieVtuXXx8KGJ5W25dPSEwLHRhLkxTKCgpPT57VkooKTtieVtuXT0hMX0sVykpfTsKVko9ZnVuY3Rpb24oKXtnLnJyKCJfbGFjdCIsd2luZG93KT09bnVsbCYmKGFJKCksZy5ycigiX2xhY3QiLHdpbmRvdykpO3ZhciBuPURhdGUubm93KCk7Zy5HYigiX2xhY3QiLG4sd2luZG93KTtnLnJyKCJfZmFjdCIsd2luZG93KT09LTEmJmcuR2IoIl9mYWN0IixuLHdpbmRvdyk7KG49Zy5ycigieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJm4oKX07Cmcudkk9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJfbGFjdCIsd2luZG93KTtyZXR1cm4gbj09bnVsbD8tMTpNYXRoLm1heChEYXRlLm5vdygpLW4sMCl9OwpnLmhwPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcga28obil9OwpnLnhvPWZ1bmN0aW9uKG4sVyl7bi5KLnNldChXLk5ILFcpO3ZhciBEPW4uVy5nZXQoVy5OSCk7aWYoRCl0cnl7RC5RNChuLnJlc29sdmUoVy5OSCkpfWNhdGNoKGIpe0QuSlkoYil9fTsKZ0U9ZnVuY3Rpb24obixXLEQsYj0hMSl7aWYoRC5pbmRleE9mKFcpPi0xKXRocm93IEVycm9yKGBEZXBzIGN5Y2xlIGZvcjogJHtXfWApO2lmKG4uTi5oYXMoVykpcmV0dXJuIG4uTi5nZXQoVyk7aWYoIW4uSi5oYXMoVykpe2lmKGIpcmV0dXJuO3Rocm93IEVycm9yKGBObyBwcm92aWRlciBmb3I6ICR7V31gKTt9Yj1uLkouZ2V0KFcpO0QucHVzaChXKTtpZihiLlBmIT09dm9pZCAwKXZhciB2PWIuUGY7ZWxzZSBpZihiLlJjKXY9YltnLkxYXT9lWihuLGJbZy5MWF0sRCk6W10sdj1iLlJjKC4uLnYpO2Vsc2UgaWYoYi5ZTCl7dj1iLllMO2xldCBrPXZbZy5MWF0/ZVoobix2W2cuTFhdLEQpOltdO3Y9bmV3IHYoLi4uayl9ZWxzZSB0aHJvdyBFcnJvcihgQ291bGQgbm90IHJlc29sdmUgcHJvdmlkZXJzIGZvcjogJHtXfWApO0QucG9wKCk7Yi5wbnx8bi5OLnNldChXLHYpO3JldHVybiB2fTsKZVo9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXP1cubWFwKGI9PmIgaW5zdGFuY2VvZiBrbz9nRShuLGIua2V5LEQsITApOmdFKG4sYixEKSk6W119OwpnLnFqPWZ1bmN0aW9uKCl7WDR8fChYND1uZXcgcEhyKTtyZXR1cm4gWDR9Owp0cD1mdW5jdGlvbigpe3JldHVybiJoNXZjYyJpbiBHcCYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VCZWdpbiYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VFbmQ/MToicGVyZm9ybWFuY2UiaW4gR3AmJkdwLnBlcmZvcm1hbmNlLm1hcmsmJkdwLnBlcmZvcm1hbmNlLm1lYXN1cmU/MjowfTsKJG89ZnVuY3Rpb24obil7dmFyIFc9dHAoKTtzd2l0Y2goVyl7Y2FzZSAxOkdwLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsbik7YnJlYWs7Y2FzZSAyOkdwLnBlcmZvcm1hbmNlLm1hcmsoYCR7bn0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpnLnBiKFcsInVua25vd24gdHJhY2UgdHlwZSIpfX07CnJFPWZ1bmN0aW9uKG4pe3ZhciBXPXRwKCk7c3dpdGNoKFcpe2Nhc2UgMTpHcC5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixuKTticmVhaztjYXNlIDI6Vz1gJHtufS1zdGFydGA7bGV0IEQ9YCR7bn0tZW5kYDtHcC5wZXJmb3JtYW5jZS5tYXJrKEQpO0dwLnBlcmZvcm1hbmNlLm1lYXN1cmUobixXLEQpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0OmcucGIoVywidW5rbm93biB0cmFjZSB0eXBlIil9fTsKWUtqPWZ1bmN0aW9uKG4pe3ZhciBXPUFycmF5LmZyb20obi5OLmtleXMoKSkuc29ydCgoRCxiKT0+KG4uTltiXS5wcmlvcml0eT8/MCktKG4uTltEXS5wcmlvcml0eT8/MCkpOwpmb3IobGV0IEQgb2YgVylXPW4uTltEXSxXLmpvYklkPT09dm9pZCAwfHxXLk1KfHwobi5zY2hlZHVsZXIuc08oVy5qb2JJZCksZy5WeCgwLFcuSmEsMTApKX07CmZSMj1mdW5jdGlvbihuLFcsRCl7SEd0JiZjb25zb2xlLmdyb3VwQ29sbGFwc2VkJiZjb25zb2xlLmdyb3VwRW5kJiYoY29uc29sZS5ncm91cENvbGxhcHNlZChgWyR7bi5jb25zdHJ1Y3Rvci5uYW1lfV0gJyR7bi5zdGF0ZX0nIHRvICcke1d9J2ApLGNvbnNvbGUubG9nKCJ3aXRoIG1lc3NhZ2U6ICIsRCksY29uc29sZS5ncm91cEVuZCgpKX07ClNLQz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuZmlsdGVyKHY9PihuLko/P3YucHJpb3JpdHk/PzApPT09MTApLGI9Vy5maWx0ZXIodj0+KG4uSj8/di5wcmlvcml0eT8/MCkhPT0xMCk7CnJldHVybiBuLlguS0c/YXN5bmMoLi4udik9Pnthd2FpdCBKdlooRCwuLi52KTtzOShuLGIsLi4udil9OiguLi52KT0+e0lSMShELC4uLnYpOwpzOShuLGIsLi4udil9fTsKSnZaPWFzeW5jIGZ1bmN0aW9uKG4sLi4uVyl7Zy5EeSgpO2ZvcihsZXQgRCBvZiBuKXtsZXQgYjthOSgoKT0+e05qKEQubmFtZSk7dmFyIHY9cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpZbyh2KT9iPWcubCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIik/di50aGVuKCgpPT57SEkoRC5uYW1lKX0pOnYudGhlbigoKT0+e0hJKEQubmFtZSl9LGs9Pnt3aW5kb3cub25lcnJvcj8uKGsubWVzc2FnZSwiIiwwLDAsayk7CkhJKEQubmFtZSl9KTpISShELm5hbWUpfSk7CmImJmF3YWl0IGJ9fTsKczk9ZnVuY3Rpb24obixXLC4uLkQpe1c9Vy5tYXAoYj0+KHtKYTooKT0+e05qKGIubmFtZSk7cFgoKCk9PmIuY2FsbGJhY2soLi4uRCkpOwpISShiLm5hbWUpfSwKcHJpb3JpdHk6bi5KPz9iLnByaW9yaXR5Pz8wfSkpOwpXLmxlbmd0aCYmKG4uVz1uZXcgQXZqKFcpKX07CklSMT1mdW5jdGlvbihuLC4uLlcpe2cuRHkoKTtmb3IobGV0IEQgb2YgbilhOSgoKT0+e05qKEQubmFtZSk7cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpISShELm5hbWUpfSl9OwpOaj1mdW5jdGlvbihuKXtmWCYmbiYmJG8obil9OwpIST1mdW5jdGlvbihuKXtmWCYmbiYmckUobil9OwpwWD1mdW5jdGlvbihuKXtpZihnLmwoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpKXJldHVybiBuKCk7dHJ5e3JldHVybiBuKCl9Y2F0Y2goVyl7d2luZG93Lm9uZXJyb3I/LihXLm1lc3NhZ2UsIiIsMCwwLFcpfX07CkliPWZ1bmN0aW9uKCl7SnB8fChKcD1uZXcgbUV3KTtyZXR1cm4gSnB9OwpBcD1mdW5jdGlvbigpe1NafHwoU1o9cHcoZy5BcigiV09SS0VSX1NFUklBTElaQVRJT05fVVJMIikpKTtyZXR1cm4gU1p8fHZvaWQgMH07CktYPWZ1bmN0aW9uKCl7dmFyIG49QXAoKTttM3x8bj09PXZvaWQgMHx8KG0zPVhNKG4pKTtyZXR1cm4gbTN9OwpaQT1mdW5jdGlvbihuLFcpe3ZhciBEPU85KFcpO2lmKG4uTltEXSlyZXR1cm4gbi5OW0RdO3ZhciBiPU9iamVjdC5rZXlzKG4uc3RvcmUpfHxbXTtpZihiLmxlbmd0aDw9MSYmTzkoVyk9PT1iWzBdKXJldHVybiBiO3ZhciB2PVtdO2ZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXtsZXQgeD1iW2hdLnNwbGl0KCIvIik7aWYoUEkoVy5hdXRoLHhbMF0pKXt2YXIgaz1XLmlzSnNwYjtQSShrPT09dm9pZCAwPyJ1bmRlZmluZWQiOms/InRydWUiOiJmYWxzZSIseFsxXSkmJlBJKFcuY3R0QXV0aEluZm8seFsyXSkmJihrPVcudGllcixrPWs9PT12b2lkIDA/InVuZGVmaW5lZCI6SlNPTi5zdHJpbmdpZnkoayksUEkoayx4WzNdKSYmdi5wdXNoKGJbaF0pKX19cmV0dXJuIG4uTltEXT12fTsKUEk9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PXZvaWQgMHx8bj09PSJ1bmRlZmluZWQiPyEwOm49PT1XfTsKTzk9ZnVuY3Rpb24obil7cmV0dXJuW24uYXV0aD09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmF1dGgsbi5pc0pzcGI9PT12b2lkIDA/InVuZGVmaW5lZCI6bi5pc0pzcGIsbi5jdHRBdXRoSW5mbz09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmN0dEF1dGhJbmZvLG4udGllcj09PXZvaWQgMD8idW5kZWZpbmVkIjpuLnRpZXJdLmpvaW4oIi8iKX07ClU5PWZ1bmN0aW9uKCl7cmV0dXJuIGcubCgiaHRtbDVfc2VuZF9xb2Vfb25fZ2VsIil8fGcubCgid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIil9OwppeT1mdW5jdGlvbihuKXt5Uj1uO1U5KCkmJihnLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1uKTtFOT1uZXcgbn07CnV5PWZ1bmN0aW9uKG4pe3JldHVybiBuP246VTkoKT95Unx8Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRSZWdpc3RlcmVkQ2xpZW50Q3Rvcl98fG51bGw6bnVsbH07CmRFPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubG9nZ2luZy5pbXMiKTtufHwobj1uZXcgb2IsZy5HYigieXQubG9nZ2luZy5pbXMiLG4pKTtyZXR1cm4gbn07CktfMj1mdW5jdGlvbigpe2lmKHR5cGVvZiBXb3JrZXI9PT0iZnVuY3Rpb24iJiZBcCgpJiYhenApe3ZhciBuPUQ9PntEPUQuZGF0YTtpZihELm9wPT09InNlcmlhbGl6ZWRHZWxCYXRjaCIpe3ZhciBiPWx5LmdldChELmtleSk7YiYmKFRwKEQuc2VyaWFsaXplZEJhdGNoLGIuY2xpZW50LGIucmVzb2x2ZSxiLm5ldHdvcmtsZXNzT3B0aW9ucyxiLmlzSXNvbGF0ZWQsYi51c2VWU1NFbmRwb2ludCxiLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24sYi5yZXF1ZXN0c091dHN0YW5kaW5nKSxseS5kZWxldGUoRC5rZXkpKX19LFc9S1goKTsKVyYmKFcuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbiksVy5vbmVycm9yPSgpPT57bHkuY2xlYXIoKX0pOwp6cD0hMH19OwpPR3g9ZnVuY3Rpb24obixXKXtpZihuLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKG4pO3ZhciBEPUNYKG4pLGI9Qkkobi5wYXlsb2FkKXx8IiIsdj1GNChiKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe01qKG4sVyk7cmV0dXJufX1SYltEXT0hMDtEPXtjdHRBdXRoSW5mbzpELGlzSnNwYjohMSx0aWVyOmt9O2RFKCkuc3RvcmVQYXlsb2FkKEQsbi5wYXlsb2FkKTtRUihXLCExLEQsVlIoYikpfX07ClBXMT1mdW5jdGlvbihuLFcsRCl7aWYoVy5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtqWih2b2lkIDAsVyk7dmFyIGI9Q1goVywhMCksdj1GNChuKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe2NJKG4sVyxEKTtyZXR1cm59fVJiW2JdPSEwO2I9e2N0dEF1dGhJbmZvOmIsaXNKc3BiOiEwLHRpZXI6a307ZEUoKS5zdG9yZVBheWxvYWQoYixZdihXLnBheWxvYWQpKTtRUihELCEwLGIsVlIobikpfX07ClFSPWZ1bmN0aW9uKG4sVz0hMSxELGI9ITEpe24mJml5KG4pO249djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2giKXx8djAoIndlYl9sb2dnaW5nX21heF9iYXRjaCIpfHwxMDA7dmFyIHY9KDAsZy5SKSgpLGs9YWIoVyxELnRpZXIpLGg9ay5YO2ImJihrLk49ITApO2I9MDtEJiYoYj1kRSgpLmdldFNlcXVlbmNlQ291bnQoRCkpO2I+PTFFMz9uVSh7d3JpdGVUaGVuU2VuZDohMH0sVyxELnRpZXIpOmI+PW4/V3N8fChXcz1EdigoKT0+e25VKHt3cml0ZVRoZW5TZW5kOiEwfSxXLEQudGllcik7V3M9dm9pZCAwfSwwKSk6di1oPj0xMCYmKGJSKFcsRC50aWVyKSxrLlg9dil9OwpNaj1mdW5jdGlvbihuLFcpe2lmKG4uZW5kcG9pbnQ9PT0ibG9nX2V2ZW50Iil7Zy5sKCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmZEUoKS5zdG9yZVBheWxvYWQoe2lzSnNwYjohMX0sbi5wYXlsb2FkKTtqWihuKTt2YXIgRD1DWChuKSxiPW5ldyBNYXA7Yi5zZXQoRCxbbi5wYXlsb2FkXSk7dmFyIHY9Qkkobi5wYXlsb2FkKXx8IiI7KG49dXkoVykpJiZpeShuKTtyZXR1cm4gbmV3IGcuWDEoKGssaCk9PntFOSYmRTkuaXNSZWFkeSgpP3ZzKGIsRTksayxoLHtieXBhc3NOZXR3b3JrbGVzczohMH0sITAsVlIodikpOmsoKX0pfX07CmNJPWZ1bmN0aW9uKG4sVyxEKXtpZihXLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKHZvaWQgMCxXKTt2YXIgYj1DWChXLCEwKSx2PW5ldyBNYXA7di5zZXQoYixbWXYoVy5wYXlsb2FkKV0pOyhXPXV5KEQpKSYmaXkoVyk7cmV0dXJuIG5ldyBnLlgxKGs9PntFOSYmRTkuaXNSZWFkeSgpP2tBKHYsRTksayx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFZSKG4pKTprKCl9KX19OwpDWD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPSIiO2lmKG4uZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbilEPSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtlbHNlIGlmKG4uY3R0QXV0aEluZm8pe2lmKFcpe1c9bi5jdHRBdXRoSW5mby50b2tlbjtEPW4uY3R0QXV0aEluZm87bGV0IGI9bmV3IGg2O0QudmlkZW9JZD9iLnNldFZpZGVvSWQoRC52aWRlb0lkKTpELnBsYXlsaXN0SWQmJkQyKGIsMix4QSxXSChELnBsYXlsaXN0SWQpKTtMVVtXXT1ifWVsc2UgVz1uLmN0dEF1dGhJbmZvLEQ9e30sVy52aWRlb0lkP0QudmlkZW9JZD1XLnZpZGVvSWQ6Vy5wbGF5bGlzdElkJiYoRC5wbGF5bGlzdElkPVcucGxheWxpc3RJZCksZXlbbi5jdHRBdXRoSW5mby50b2tlbl09RDtEPW4uY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIER9OwpuVT1mdW5jdGlvbihuPXt9LFc9ITEsRCl7bmV3IGcuWDEoKGIsdik9Pnt2YXIgaz1hYihXLEQpLGg9ay5OO2suTj0hMTtpZihnLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpJiZnLmwoIndlYl92c3Nfcm91dGluZ19jaGVja19hbGxfdGllcl9wb2xpY2llcyIpKXtsZXQgeD1hYihXLDMwMCksTD1hYihXLDIwMCk7aD1ofHx4Lk58fEwuTjt4Lk49ITE7TC5OPSExfWc0KGsuVyk7ZzQoay5KKTtrLko9MDtFOSYmRTkuaXNSZWFkeSgpP0Q9PT12b2lkIDAmJmcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/cTEoYix2LG4sVywzMDAsaCk6cTEoYix2LG4sVyxELGgpOihiUihXLEQpLGIoKSl9KX07CnExPWZ1bmN0aW9uKG4sVyxEPXt9LGI9ITEsdj0yMDAsaz0hMSl7dmFyIGg9RTkseD1uZXcgTWFwLEw9bmV3IE1hcCxlPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDAsdGllcjp2fSxHPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDB9O2lmKGIpe2ZvcihsZXQgciBvZiBPYmplY3Qua2V5cyhSYikpVz1nLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2RFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOltlLEddLHNpemVMaW1pdDoxRTN9KTpkRSgpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMCxjdHRBdXRoSW5mbzpyfSksVy5sZW5ndGg+MCYmeC5zZXQocixXKSwoZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSYmRC53cml0ZVRoZW5TZW5kfHwhZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSkmJmRlbGV0ZSBSYltyXTtrQSh4LGgsbixELCExLGspfWVsc2V7Zm9yKGxldCByIG9mIE9iamVjdC5rZXlzKFJiKSl4PWcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/CmRFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOlt7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnIsdGllcjp2fSx7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnJ9XSxzaXplTGltaXQ6MUUzfSk6ZEUoKS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtpc0pzcGI6ITEsY3R0QXV0aEluZm86cn0pLHgubGVuZ3RoPjAmJkwuc2V0KHIseCksKGcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJkQud3JpdGVUaGVuU2VuZHx8IWcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgUmJbcl07dnMoTCxoLG4sVyxELCExLGspfX07CmJSPWZ1bmN0aW9uKG49ITEsVz0yMDApe3ZhciBEPSgpPT57blUoe3dyaXRlVGhlblNlbmQ6ITB9LG4sVyl9LGI9YWIobixXKSx2PWI9PT1HVXx8Yj09PXQ2PzVFMzpaR1o7CmcubCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhYi5KJiYodj1EdigoKT0+e0QoKX0sdiksYi5KPXYpOwpnNChiLlcpO3Y9Zy5BcigiTE9HR0lOR19CQVRDSF9USU1FT1VUIix2MCgid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Zy5sKCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmJEEmJih2PVVFdyk7dj1EdigoKT0+e3YwKCJnZWxfbWluX2JhdGNoX3NpemUiKT4wP2RFKCkuZ2V0U2VxdWVuY2VDb3VudCh7Y3R0QXV0aEluZm86dm9pZCAwLGlzSnNwYjpuLHRpZXI6V30pPj15dlMmJkQoKTpEKCl9LHYpOwpiLlc9dn07CnZzPWZ1bmN0aW9uKG4sVyxELGIsdj17fSxrLGgpe3ZhciB4PU1hdGgucm91bmQoKDAsZy5SKSgpKSxMPW4uc2l6ZSxlPXI0KGgpO2ZvcihsZXQgW0cscl1vZiBuKXtuPUc7aD1yO2xldCBOPWcuTmMoe2NvbnRleHQ6Zy5VSihXLmNvbmZpZ198fGcuUzkoKSl9KTtpZighZy5ZMihoKSYmIWcubCgidGhyb3dfZXJyX3doZW5fbG9nZXZlbnRfbWFsZm9ybWVkX2tpbGxzd2l0Y2giKSl7YigpO2JyZWFrfU4uZXZlbnRzPWg7KGg9ZXlbbl0pJiZFdkMoTixuLGgpO2RlbGV0ZSBleVtuXTtsZXQgSD1uPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO2lHaihOLHgsSCk7c3kodik7bGV0IEE9ej0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoeil9KTsKTC0tO0x8fEQoKX0seT0wLFQ9KCk9Pnt5Kys7CmlmKHYuYnlwYXNzTmV0d29ya2xlc3MmJnk9PT0xKXRyeXtnLklJKFcsZSxOLHBVKHt3cml0ZVRoZW5TZW5kOiEwfSxILEEsVCxrKSksJEE9ITF9Y2F0Y2goeil7T3QoeiksYigpfUwtLTtMfHxEKCl9Owp0cnl7Zy5JSShXLGUsTixwVSh2LEgsQSxULGspKSwkQT0hMX1jYXRjaCh6KXtPdCh6KSxiKCl9fX07CmtBPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrKXt2YXIgaD1NYXRoLnJvdW5kKCgwLGcuUikoKSkseD17dmFsdWU6bi5zaXplfSxMPW5ldyBNYXAoWy4uLm5dKTtmb3IobGV0IFtUXW9mIEwpe3ZhciBlPVQsRz1uLmdldChlKTtMPW5ldyB1RjI7dmFyIHI9Vy5jb25maWdffHxnLlM5KCksTj1uZXcgWUEsSD1uZXcgSHM7Zy5TRShILDEsci5NYik7Zy5TRShILDIsci5FRSk7S24oSCwxNixyLkZkKTtnLlNFKEgsMTcsci5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbik7aWYoci5jUil7dmFyIEE9ci5jUix5PW5ldyBpOTtBLmNvbGRDb25maWdEYXRhJiZnLlNFKHksMSxBLmNvbGRDb25maWdEYXRhKTtBLmFwcEluc3RhbGxEYXRhJiZnLlNFKHksNixBLmFwcEluc3RhbGxEYXRhKTtBLmNvbGRIYXNoRGF0YSYmZy5TRSh5LDMsQS5jb2xkSGFzaERhdGEpO0EuaG90SGFzaERhdGEmJnkuVyhBLmhvdEhhc2hEYXRhKTskOShILGk5LDYyLHkpfShBPWcucWkuZGV2aWNlUGl4ZWxSYXRpbykmJgpBIT0xJiZveihILDY1LGcuQV8oQSkpO0E9a1QoKTtBIT09IiImJmcuU0UoSCw1NCxBKTtBPWh5KCk7aWYoQS5sZW5ndGg+MCl7eT1uZXcgZlU7Zm9yKGxldCB6PTA7ejxBLmxlbmd0aDt6Kyspe2xldCBDPW5ldyBKNjtnLlNFKEMsMSxBW3pdLmtleSk7RDIoQywyLEl2LFdIKEFbel0udmFsdWUpKTtOSCh5LDE1LEo2LEMpfSQ5KE4sZlUsNSx5KX1BNyhyLEgpO21UKE4pO0tQKEgpO09KKHIsSCk7UHooSCk7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJlptKEgpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJiFnLmwoInBhZ2VpZF9hc19oZWFkZXJfd2ViIikmJihyPW5ldyBTeSxnLlNFKHIsMyxnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpKSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihBPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoeT1nZShOLFN5LDMpfHxuZXcgU3ksCnI9TixBPWcuU0UoeSwxOCxBKSwkOShyLFN5LDMsQSkpO3I9SDtBPWcuQXIoIkRFVklDRSIsIiIpO2ZvcihsZXQgW3osQ11vZiBPYmplY3QuZW50cmllcyhnLml3KEEpKSlBPXosQT09PSJjYnJhbmQiP2cuU0UociwxMixDKTpBPT09ImNtb2RlbCI/Zy5TRShyLDEzLEMpOkE9PT0iY2JyIj9nLlNFKHIsODcsQyk6QT09PSJjYnJ2ZXIiP2cuU0Uociw4OCxDKTpBPT09ImNvcyI/Zy5TRShyLDE4LEMpOkE9PT0iY29zdmVyIj9nLlNFKHIsMTksQyk6QT09PSJjcGxhdGZvcm0iJiZLbihyLDQyLGhxaChDKSk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYob3ooSCw1NSxnLnlQKHdpbmRvdy5pbm5lcldpZHRoKSksb3ooSCw1NixnLnlQKHdpbmRvdy5pbm5lckhlaWdodCkpKTtOLlcoSCk7JDkoTCxZQSwxLE4pO2lmKEg9TFVbZV0pYTp7aWYoSC5FMSgpKU49MTtlbHNlIGlmKEguZ2V0UGxheWxpc3RJZCgpKU49MjtlbHNlIGJyZWFrIGE7JDkoTCxoNiw0LEgpO0g9Z2UoTCwKWUEsMSl8fG5ldyBZQTtyPWdlKEgsU3ksMyl8fG5ldyBTeTtBPW5ldyBBNjtBLnNldFRva2VuKGUpO0tuKEEsMSxOKTtOSChyLDEyLEE2LEEpOyQ5KEgsU3ksMyxyKX1kZWxldGUgTFVbZV07ZT1lPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO21yKCl8fElZKEwsMixoKTshZSYmKE49Zy5BcigiRVZFTlRfSUQiKSkmJihIPUtVKCkscj1uZXcgT3ksZy5TRShyLDEsTiksSVkociwyLEgpLCQ5KEwsT3ksNSxyKSk7c3koYik7aWYoZy5sKCJqc3BiX3NlcmlhbGl6ZV93aXRoX3dvcmtlciIpJiYoTj1LWCgpKSYmYi53cml0ZVRoZW5TZW5kKXtseS5zZXQoUHMse2NsaWVudDpXLHJlc29sdmU6RCxuZXR3b3JrbGVzc09wdGlvbnM6Yixpc0lzb2xhdGVkOnYsdXNlVlNTRW5kcG9pbnQ6ayxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOmUscmVxdWVzdHNPdXRzdGFuZGluZzp4fSk7Ti5wb3N0TWVzc2FnZSh7b3A6ImdlbEJhdGNoVG9TZXJpYWxpemUiLGJhdGNoUmVxdWVzdDpZdihMKSxjbGllbnRFdmVudHM6RywKa2V5OlBzfSk7UHMrKzticmVha31pZihHKXtOPVtdO2ZvcihIPTA7SDxHLmxlbmd0aDtIKyspdHJ5e04ucHVzaChuZXcgWnYoR1tIXSkpfWNhdGNoe090KG5ldyBnLlF4KCJUcmFuc3BvcnQgZmFpbGVkIHRvIGRlc2VyaWFsaXplICIrU3RyaW5nKEdbSF0pKSl9Rz1OfWVsc2UgRz1bXTtmb3IobGV0IHogb2YgRylOSChMLDMsWnYseik7Rz17c3RhcnRUaW1lOigwLGcuUikoKSx0aWNrczp7fSxpbmZvczp7fX07TD1MLmJZKCk7Ry50aWNrcy5nZWxqc3BjPSgwLGcuUikoKTtnLmwoImxvZ19qc3BiX3NlcmlhbGl6ZV9sYXRlbmN5IikmJkYzKCJnZWxfanNwYl9zZXJpYWxpemUiLEcse3NhbXBsZVJhdGU6LjF9KTtUcChMLFcsRCxiLHYsayxlLHgpfX07ClRwPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrLGgseD17dmFsdWU6MH0pe2s9cjQoayk7Yj1wVShiLGgsTD0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoTCl9KTsKeC52YWx1ZS0tO3gudmFsdWV8fEQoKX0sKCk9Pnt4LnZhbHVlLS07CngudmFsdWV8fEQoKX0sdik7CmIuaGVhZGVyc1siQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiO2IucG9zdEJvZHlGb3JtYXQ9IkpTUEIiO2IucG9zdEJvZHk9bjtnLklJKFcsaywiIixiKTskQT0hMX07CnN5PWZ1bmN0aW9uKG4pe2cubCgiYWx3YXlzX3NlbmRfYW5kX3dyaXRlIikmJihuLndyaXRlVGhlblNlbmQ9ITEpfTsKcFU9ZnVuY3Rpb24obixXLEQsYix2KXtuPXtyZXRyeTohMCxvblN1Y2Nlc3M6RCxvbkVycm9yOmIsbmV0d29ya2xlc3NPcHRpb25zOm4sZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpXLFRVOiEhdixoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOmcubCgiY29tcHJlc3NfZ2VsIil8fGcubCgiY29tcHJlc3NfZ2VsX2xyIil9O21yKCkmJihuLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gbn07CmlHaj1mdW5jdGlvbihuLFcsRCl7bXIoKXx8KG4ucmVxdWVzdFRpbWVNcz1TdHJpbmcoVykpO2cubCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYobi51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFEJiYoVz1nLkFyKCJFVkVOVF9JRCIpKSYmKEQ9S1UoKSxuLnNlcmlhbGl6ZWRDbGllbnRFdmVudElkPXtzZXJpYWxpemVkRXZlbnRJZDpXLGNsaWVudENvdW50ZXI6U3RyaW5nKEQpfSl9OwpLVT1mdW5jdGlvbigpe3ZhciBuPWcuQXIoIkJBVENIX0NMSUVOVF9DT1VOVEVSIil8fDA7bnx8KG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKTtuKys7bj42NTUzNSYmKG49MSk7Zy5TSCgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLG4pO3JldHVybiBufTsKRXZDPWZ1bmN0aW9uKG4sVyxEKXtpZihELnZpZGVvSWQpdmFyIGI9IlZJREVPIjtlbHNlIGlmKEQucGxheWxpc3RJZCliPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47bi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPUQ7bi5jb250ZXh0PW4uY29udGV4dHx8e307bi5jb250ZXh0LnVzZXI9bi5jb250ZXh0LnVzZXJ8fHt9O24uY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOlcsc2NvcGU6Yn1dfTsKalo9ZnVuY3Rpb24obixXKXt2YXIgRD1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiKSxiPWJiKCJpbF9wYXlsb2FkX3NjcmFwaW5nIik7Yj0oYiE9PXZvaWQgMD9TdHJpbmcoYik6IiIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighRClpZihiKVV5PVtdLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmVuYWJsZVNjcmFwaW5nRm9yVGVzdCIsITApLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLFV5KSxnLkdiKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5wYXlsb2FkVG9TY3JhcGUiLCJ2aXN1YWxFbGVtZW50U2hvd24gdmlzdWFsRWxlbWVudEhpZGRlbiB2aXN1YWxFbGVtZW50QXR0YWNoZWQgc2NyZWVuQ3JlYXRlZCB2aXN1YWxFbGVtZW50R2VzdHVyZWQgdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIuc3BsaXQoIiAiKSksZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZFBheWxvYWRGcm9tQ2xpZW50RXZlbnRzRnVuY3Rpb24iKSwKZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuc2NyYXBlQ2xpZW50RXZlbnQiLCEwKTtlbHNlIHJldHVybjtEPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciKTtiPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnBheWxvYWRUb1NjcmFwZSIpO1cmJihXPVcucGF5bG9hZCwoVz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5nZXRTY3JhcGVkUGF5bG9hZEZyb21DbGllbnRFdmVudHNGdW5jdGlvbiIpLmJpbmQoVykoKSkmJkQucHVzaChXKSk7Vz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGImJmIubGVuZ3RoPj0xKWZvcihsZXQgdj0wO3Y8Yi5sZW5ndGg7disrKW4mJm4ucGF5bG9hZFtiW3ZdXSYmKFc/RC5wdXNoKG4ucGF5bG9hZCk6RC5wdXNoKChuPy5wYXlsb2FkKVtiW3ZdXSkpO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLEQpfTsKbXI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5sKCJ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlciIpfHxnLmwoImxyX3VzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil9OwpEdj1mdW5jdGlvbihuLFcpe3JldHVybiBnLmwoInRyYW5zcG9ydF91c2Vfc2NoZWR1bGVyIik9PT0hMT9nLm4kKG4sVyk6Zy5sKCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIil8fGcubCgibHJfbG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpP2cuY0IoMCwoKT0+e0liKCkuY3VycmVudFN0YXRlPT09Im5vbmUiP24oKTpJYigpLmluc3RhbGwoe25vbmU6e2NhbGxiYWNrOm59fSl9LFcpOmcuY0IoMCxuLFcpfTsKZzQ9ZnVuY3Rpb24obil7Zy5sKCJ0cmFuc3BvcnRfdXNlX3NjaGVkdWxlciIpP3RhLnNPKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9OwpOMT1hc3luYyBmdW5jdGlvbihuKXtuPW4/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIFc9Zy53KG4sb3Z0KSxEPW4/LmhvdEhhc2hEYXRhLGI9Zy53KG4sZEUyKSx2PW4/LmNvbGRIYXNoRGF0YSxrPWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpO2smJihEJiYoVz9hd2FpdCBIeihrLEQsVyk6YXdhaXQgSHooayxEKSksdiYmKGI/YXdhaXQgZlAoayx2LGIpOmF3YWl0IGZQKGssdikpKTtXPW4/LnJhd0ZpbmNoU3RhdGljQ29uZmlnR3JvdXA7KG49bj8uZmluY2hTdGF0aWNIYXNoRGF0YSk/KEQ9Zy5xaigpLnJlc29sdmUoZy5ocCh6X3QpKSk/YXdhaXQgRC5OVSh7Y29uZmlnOld8fHt9LFlVOm58fCIifSk6KFd8fG4pJiZaRShuZXcgZy5ReCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSBpcyBub3QgcHJlc2VudCwgYnV0IEZpbmNoIGNvbmZpZyBkYXRhIGlzIHByZXNlbnQuIikpOlcmJlpFKG5ldyBnLlF4KCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFiPWZ1bmN0aW9uKG4sVz0yMDApe3JldHVybiBuP1c9PT0zMDA/R1U6bFJDOlc9PT0zMDA/dDY6VGdpfTsKRjQ9ZnVuY3Rpb24obil7aWYoZy5sKCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7bj15NFtufHwiIl07dmFyIFc9Zy5xaigpLnJlc29sdmUoZy5ocChnLlgzKSk/LkxYKCk/LmxvZ2dpbmdIb3RDb25maWc/LmV2ZW50TG9nZ2luZ0NvbmZpZz8ucGF5bG9hZFBvbGljaWVzO2lmKFcpZm9yKGxldCBEPTA7RDxXLmxlbmd0aDtEKyspaWYoV1tEXS5wYXlsb2FkTnVtYmVyPT09bilyZXR1cm4gV1tEXX19OwpCST1mdW5jdGlvbihuKXtuPU9iamVjdC5rZXlzKG4pO2ZvcihsZXQgVyBvZiBuKWlmKHk0W1ddKXJldHVybiBXfTsKd0U9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07ClZSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ImdlbERlYnVnZ2luZ0V2ZW50Inx8bj09PSJ3YXRjaFRpbWVTZWdtZW50In07CnI0PWZ1bmN0aW9uKG49ITEpe3JldHVybiBuJiZnLmwoInZzc190aHJvdWdoX2dlbF92aWRlb19zdGF0cyIpPyJ2aWRlb19zdGF0cyI6ImxvZ19ldmVudCJ9Owp1Uj1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj17fSxrPU1hdGgucm91bmQoYi50aW1lc3RhbXB8fCgwLGcuUikoKSk7di5ldmVudFRpbWVNcz1rPE51bWJlci5NQVhfU0FGRV9JTlRFR0VSP2s6MDt2W25dPVc7bj1nLnZJKCk7di5jb250ZXh0PXtsYXN0QWN0aXZpdHlNczpTdHJpbmcoYi50aW1lc3RhbXB8fCFpc0Zpbml0ZShuKT8tMTpuKX07Yi5zZXF1ZW5jZUdyb3VwJiYhZy5sKCJ3ZWJfZ2VsX3NlcXVlbmNlX2luZm9fa2lsbHN3aXRjaCIpJiYobj12LmNvbnRleHQsVz1iLnNlcXVlbmNlR3JvdXAsVz17aW5kZXg6RXkoVyksZ3JvdXBLZXk6V30sbi5zZXF1ZW5jZT1XLGIuZW5kT2ZTZXF1ZW5jZSYmZGVsZXRlIGlSW2Iuc2VxdWVuY2VHcm91cF0pO2cubCgid2ViX3RhZ19hdXRvbWF0ZWRfbG9nX2V2ZW50cyIpJiYodi5jb250ZXh0LmF1dG9tYXRlZExvZ0V2ZW50U291cmNlPWIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpOyhiLnNlbmRJc29sYXRlZFBheWxvYWQ/TWo6T0d4KSh7ZW5kcG9pbnQ6ImxvZ19ldmVudCIsCnBheWxvYWQ6dixjdHRBdXRoSW5mbzpiLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246Yi5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxEKX07Cm92PWZ1bmN0aW9uKG49ITEpe25VKHZvaWQgMCxuKX07CkV5PWZ1bmN0aW9uKG4pe2lSW25dPW4gaW4gaVI/aVJbbl0rMTowO3JldHVybiBpUltuXX07CmcuelU9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPWcuZDQ7Zy5BcigieXRMb2dnaW5nRXZlbnRzRGVmYXVsdERpc2FibGVkIiwhMSkmJmcuZDQ9PT1nLmQ0JiYoYj1udWxsKTt1UihuLFcsYixEKX07ClRVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgbFIoe3RyYWNraW5nUGFyYW1zOm59KX07Cmp5PWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD1qelorKztyZXR1cm4gbmV3IGxSKHt2ZVR5cGU6bix2ZUNvdW50ZXI6aCxlbGVtZW50SW5kZXg6RCxkYXRhRWxlbWVudDpXLHlvdXR1YmVEYXRhOmIsanNwYllvdXR1YmVEYXRhOnYsbG9nZ2luZ0RpcmVjdGl2ZXM6a30pfTsKQ1U9ZnVuY3Rpb24obj0wKXtyZXR1cm4gZy5BcigiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIse30pW25dfTsKQ1dpPWZ1bmN0aW9uKG4sVz0wKXt2YXIgRD1nLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7RHx8KEQ9e30sZy5TSCgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsRCkpO0RbV109bn07CkJzPWZ1bmN0aW9uKG49MCl7cmV0dXJuIG49PT0wPyJST09UX1ZFX1RZUEUiOmBST09UX1ZFX1RZUEUuJHtufWB9OwpGUj1mdW5jdGlvbihuPTApe3JldHVybiBnLkFyKEJzKG4pKX07Cnc0PWZ1bmN0aW9uKG49MCl7cmV0dXJuKG49RlIobikpP25ldyBsUih7dmVUeXBlOm4seW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTsKTTE9ZnVuY3Rpb24oKXt2YXIgbj1nLkFyKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIpO258fChuPXt9LGcuU0goImNzbi10by1jdHQtYXV0aC1pbmZvIixuKSk7cmV0dXJuIG59OwpCZ3I9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhnLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSkpLmZpbHRlcihuPT5uIT09dm9pZCAwKX07CmcuUnY9ZnVuY3Rpb24obj0wKXtuPUNVKG4pO2lmKCFuJiYhZy5BcigiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO258fChuPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIG4/bjpudWxsfTsKd0hDPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBPYmplY3QudmFsdWVzKEZfVSkpaWYoZy5SdihXKT09PW4pcmV0dXJuITA7cmV0dXJuITF9OwpNV3c9ZnVuY3Rpb24obixXLEQpe3ZhciBiPU0xKCk7KEQ9Zy5SdihEKSkmJmRlbGV0ZSBiW0RdO1cmJihiW25dPVcpfTsKUTQ9ZnVuY3Rpb24obil7cmV0dXJuIE0xKClbbl19Owpjcz1mdW5jdGlvbihuLFcsRD0wLGIpe2lmKG4hPT1DVShEKXx8VyE9PWcuQXIoQnMoRCkpKWlmKE1XdyhuLGIsRCksQ1dpKG4sRCksZy5TSChCcyhEKSxXKSxXPSgpPT57c2V0VGltZW91dCgoKT0+e24mJmcuelUoImZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkIix7Y2xpZW50RG9jdW1lbnROb25jZTpWNCxjbGllbnRTY3JlZW5Ob25jZTpufSl9LDApfSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdyl0cnl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShXKX1jYXRjaCh2KXtXKCl9ZWxzZSBXKCl9OwpuND1mdW5jdGlvbihuLFcpe3ZhciBEPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pLGI9Zy5JUCh3aW5kb3cubG9jYXRpb24uaHJlZik7YiYmRC5wdXNoKGIpO2I9Zy5JUChuKTtpZihnLmpqKEQsYil8fCFiJiZnLmpVKG4sIi8iKSlpZihEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxnLk5VKEQsbiksbj1ELmhyZWYpaWYobj1tVyhuKSxuPUtwKG4pKWlmKCFXLmNzbiYmKFcuaXRjdHx8Vy52ZWQpJiYoVz1PYmplY3QuYXNzaWduKHtjc246Zy5SdigpfSxXKSksdil7dmFyIHY9cGFyc2VJbnQodiwxMCk7aXNGaW5pdGUodikmJnY+MCYmYXYobixXLHYpfWVsc2UgYXYobixXKX07CmF2PWZ1bmN0aW9uKG4sVyxEKXtuPVdhKG4pO1c9Vz95RyhXKToiIjtEPUR8fDU7Zy5hSygpJiZJSyhuLFcsRCl9OwpXYT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgUl9NKW49VDUobixXKTtyZXR1cm4iU1QtIitzVChuKS50b1N0cmluZygzNil9OwpnLkRwPWZ1bmN0aW9uKG4pe2lmKG4uc2ltcGxlVGV4dClyZXR1cm4gbi5zaW1wbGVUZXh0O2lmKG4ucnVucyl7bGV0IFc9W107Zm9yKGxldCBEIG9mIG4ucnVucylELnRleHQmJlcucHVzaChELnRleHQpO3JldHVybiBXLmpvaW4oIiIpfXJldHVybiIifTsKZy5iZz1mdW5jdGlvbihuKXtpZihuLnNpbXBsZVRleHQpcmV0dXJuIG49ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobi5zaW1wbGVUZXh0KSxuO3ZhciBXPVtdO2lmKG4ucnVucylmb3IobGV0IHg9MDt4PG4ucnVucy5sZW5ndGg7eCsrKXt2YXIgRD1uLnJ1bnNbeF07aWYoRC50ZXh0KXt2YXIgYj1XLHY9Yi5wdXNoLGs9bnVsbDt2YXIgaD1ELnRleHQ7RC5ib2xkJiYoaz1nLmRtKCJCIixudWxsLGt8fGgpKTtELml0YWxpY3MmJihrPWcuZG0oIkkiLG51bGwsa3x8aCkpO0Quc3RyaWtldGhyb3VnaCYmKGs9Zy5kbSgiU1RSSUtFIixudWxsLGt8fGgpKTtELm5hdmlnYXRpb25FbmRwb2ludCYmRC5uYXZpZ2F0aW9uRW5kcG9pbnQudXJsRW5kcG9pbnQmJihEPUQubmF2aWdhdGlvbkVuZHBvaW50LnVybEVuZHBvaW50LGs9Zy5kbSgiQSIsbnVsbCxrfHxoKSxnLk5VKGssRC51cmwpLEQudGFyZ2V0PT0iVEFSR0VUX05FV19XSU5ET1ciJiYoay50YXJnZXQ9Il9ibGFuayIpKTtoPWt8fGcuZG0oIlNQQU4iLApudWxsLGgpO3YuY2FsbChiLGgpfX1yZXR1cm4gVy5sZW5ndGg9PTE/V1swXTpnLmRtKCJTUEFOIixudWxsLFcpfTsKUXoxPWZ1bmN0aW9uKG4pe2lmKG4ubmFtZT09PSJKYXZhRXhjZXB0aW9uIilyZXR1cm4hMDtuPW4uc3RhY2s7cmV0dXJuIG4uaW5jbHVkZXMoImNocm9tZTovLyIpfHxuLmluY2x1ZGVzKCItZXh0ZW5zaW9uOi8vIil8fG4uaW5jbHVkZXMoIndlYmtpdC1tYXNrZWQtdXJsOi8vIil9OwpWV3g9ZnVuY3Rpb24obil7aWYoIW4uc3RhY2spcmV0dXJuITA7dmFyIFc9IW4uc3RhY2suaW5jbHVkZXMoIlxuIik7cmV0dXJuIFcmJm4uc3RhY2suaW5jbHVkZXMoIkVycm9yVHlwZTogIil8fFcmJm4uc3RhY2suaW5jbHVkZXMoIkFub255bW91cyBmdW5jdGlvbiAoVW5rbm93biBzY3JpcHQiKXx8bi5zdGFjay50b0xvd2VyQ2FzZSgpPT09Im5vdCBhdmFpbGFibGUifHxuLmZpbGVOYW1lPT09InVzZXItc2NyaXB0Inx8bi5maWxlTmFtZS5zdGFydHNXaXRoKCJ1c2VyLXNjcmlwdDoiKT8hMDohMX07CmhQPWZ1bmN0aW9uKCl7aWYoIXZhKXt2YXIgbj12YT1uZXcgY3ZoO24uTjkubGVuZ3RoPTA7bi5rby5sZW5ndGg9MDtrQihuLGFSUyl9cmV0dXJuIHZhfTsKa0I9ZnVuY3Rpb24obixXKXtXLk45JiZuLk45LnVuc2hpZnQuYXBwbHkobi5OOSxXLk45KTtXLmtvJiZuLmtvLnVuc2hpZnQuYXBwbHkobi5rbyxXLmtvKX07Cm45dz1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aCxEPTAsYj0oKT0+bi5jaGFyQ29kZUF0KEQrKyk7CmRve3ZhciB2PXhCKGIpO2lmKHY9PT1JbmZpbml0eSlicmVhaztsZXQgaz12Pj4zO3N3aXRjaCh2Jjcpe2Nhc2UgMDp2PXhCKGIpO2lmKGs9PT0yKXJldHVybiB2O2JyZWFrO2Nhc2UgMTppZihrPT09MilyZXR1cm47RCs9ODticmVhaztjYXNlIDI6dj14QihiKTtpZihrPT09MilyZXR1cm4gbi5zdWJzdHIoRCx2KTtEKz12O2JyZWFrO2Nhc2UgNTppZihrPT09MilyZXR1cm47RCs9NDticmVhaztkZWZhdWx0OnJldHVybn19d2hpbGUoRDxXKX07CnhCPWZ1bmN0aW9uKG4pe3ZhciBXPW4oKSxEPVcmMTI3O2lmKFc8MTI4KXJldHVybiBEO1c9bigpO0R8PShXJjEyNyk8PDc7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7RHw9KFcmMTI3KTw8MTQ7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7cmV0dXJuIFc8MTI4P0R8KFcmMTI3KTw8MjE6SW5maW5pdHl9OwpnSz1mdW5jdGlvbihuLFcsRCxiKXtpZihuKWlmKEFycmF5LmlzQXJyYXkobikpe3ZhciB2PWI7Zm9yKGI9MDtiPG4ubGVuZ3RoJiYhKG5bYl0mJih2Kz1MNChiLG5bYl0sVyxEKSx2PjUwMCkpO2IrKyk7Yj12fWVsc2UgaWYodHlwZW9mIG49PT0ib2JqZWN0Iilmb3IodiBpbiBuKXtpZihuW3ZdKXthOnt2YXIgaz12O3ZhciBoPW5bdl0seD1XLEw9RDtpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxrIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZrIT09InRyYWNraW5nUGFyYW1zIil7az0wO2JyZWFrIGF9az0oaD1uOXcoYXRvYihoLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSkpP0w0KGAke2t9LnZlYCxoLHgsTCk6MH1iKz1rO2IrPUw0KHYsblt2XSxXLEQpO2lmKGI+NTAwKWJyZWFrfX1lbHNlIERbV109ZWkobiksYis9RFtXXS5sZW5ndGg7ZWxzZSBEW1ddPWVpKG4pLGIrPURbV10ubGVuZ3RoO3JldHVybiBifTsKTDQ9ZnVuY3Rpb24obixXLEQsYil7RCs9YC4ke259YDtuPWVpKFcpO2JbRF09bjtyZXR1cm4gRC5sZW5ndGgrbi5sZW5ndGh9OwplaT1mdW5jdGlvbihuKXt0cnl7cmV0dXJuKHR5cGVvZiBuPT09InN0cmluZyI/bjpTdHJpbmcoSlNPTi5zdHJpbmdpZnkobikpKS5zdWJzdHIoMCw1MDApfWNhdGNoKFcpe3JldHVybmB1bmFibGUgdG8gc2VyaWFsaXplICR7dHlwZW9mIG59ICgke1cubWVzc2FnZX0pYH19OwpXTlU9ZnVuY3Rpb24obixXPXt9KXtpZihuPW4uelope2xldCBEPW4uSngsYj1uLmQ2O249W1siY29tcG9uZW50U3RhY2siLG4ubUldLFsid2l6VGFnTmFtZSIsbi50YWdOYW1lXSxbIndpek93bmVyVHJhY2UiLG4uRHU/LmpvaW4oIiA+ICIpXSxbImVycm9yU2V2ZXJpdHkiLEQ/LnRvU3RyaW5nKCldLFsid2l6RmVhdHVyZUZsYWdzIixiP09iamVjdC5lbnRyaWVzKGIpLmpvaW4oIlxuIik6dm9pZCAwXV07Zm9yKGxldCBbdixrXW9mIG4pbj1rLG4hPT12b2lkIDAmJihXW3ZdPW4pfXJldHVybiBXfTsKZy5xZz1mdW5jdGlvbihuKXtnLlhqKG4pfTsKZy5HcT1mdW5jdGlvbihuKXtnLlhqKG4sIldBUk5JTkciKX07CmcuWGo9ZnVuY3Rpb24obixXPSJFUlJPUiIpe3ZhciBEPXt9O0QubmFtZT1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSk7RC52ZXJzaW9uPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7REh0KG4sRCxXKX07CkRIdD1mdW5jdGlvbihuLFcsRD0iRVJST1IiKXtpZihuKXtuLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZuLmxldmVsJiYoRD1uLmxldmVsKTtpZihnLmwoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBiPVc7aWYoIWI/LmNvbXBvbmVudFN0YWNrKXt2YXIgdj1uLnpaPy5tSTt2JiYoYnx8KGI9e30pLGIuY29tcG9uZW50U3RhY2s9dil9Vz1ifHxXfWVsc2UgVz1XTlUobixXKSxiPW4uelo/Lkp4LGIhPT12b2lkIDAmJkQhPT0iSUdOT1JFRCImJihEPWI+PTM/IkVSUk9SIjoiV0FSTklORyIpO2lmKGcubCgiY29uc29sZV9sb2dfanNfZXhjZXB0aW9ucyIpfHxbInRlc3QiLCJkZXYiLCJhdXRvcHVzaCIsInN0YWdpbmciXS5pbmNsdWRlcyhnLkFyKCJTRVJWRVJfVkVSU0lPTiIpKSliPVtdLGIucHVzaChgTmFtZTogJHtuLm5hbWV9YCksYi5wdXNoKGBNZXNzYWdlOiAke24ubWVzc2FnZX1gKSxuLmhhc093blByb3BlcnR5KCJwYXJhbXMiKSYmYi5wdXNoKGBFcnJvciBQYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkobi5wYXJhbXMpfWApLApuLmhhc093blByb3BlcnR5KCJhcmdzIikmJmIucHVzaChgRXJyb3IgYXJnczogJHtKU09OLnN0cmluZ2lmeShuLmFyZ3MpfWApLGIucHVzaChgRmlsZSBuYW1lOiAke24uZmlsZU5hbWV9YCksYi5wdXNoKGBTdGFja3RyYWNlOiAke24uc3RhY2t9YCksYj1iLmpvaW4oIlxuIiksd2luZG93LmNvbnNvbGUubG9nKGIsbik7aWYoISh0UD49NSkpe2I9W107Zm9yKGsgb2YgYm4yKXRyeXtrKCkmJmIucHVzaChrKCkpfWNhdGNoKEEpe312YXIgaz1iO2s9Wy4uLnY5MiwuLi5rXTt2YXIgaD1yaWIobik7Yj1oLm1lc3NhZ2V8fCJVbmtub3duIEVycm9yIjt2PWgubmFtZXx8IlVua25vd25FcnJvciI7dmFyIHg9aC5zdGFja3x8bi5TdHx8Ik5vdCBhdmFpbGFibGUiO2lmKHguc3RhcnRzV2l0aChgJHt2fTogJHtifWApKXt2YXIgTD14LnNwbGl0KCJcbiIpO0wuc2hpZnQoKTt4PUwuam9pbigiXG4iKX1MPWgubGluZU51bWJlcnx8Ik5vdCBhdmFpbGFibGUiO2g9aC5maWxlTmFtZXx8Ik5vdCBhdmFpbGFibGUiOwpsZXQgSD0wO2lmKG4uaGFzT3duUHJvcGVydHkoImFyZ3MiKSYmbi5hcmdzJiZuLmFyZ3MubGVuZ3RoKWZvcih2YXIgZT0wO2U8bi5hcmdzLmxlbmd0aCYmIShIPWdLKG4uYXJnc1tlXSxgcGFyYW1zLiR7ZX1gLFcsSCksSD49NTAwKTtlKyspO2Vsc2UgaWYobi5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJm4ucGFyYW1zKXtsZXQgQT1uLnBhcmFtcztpZih0eXBlb2Ygbi5wYXJhbXM9PT0ib2JqZWN0Iilmb3IoZSBpbiBBKXtpZighQVtlXSljb250aW51ZTtsZXQgeT1gcGFyYW1zLiR7ZX1gLFQ9ZWkoQVtlXSk7V1t5XT1UO0grPXkubGVuZ3RoK1QubGVuZ3RoO2lmKEg+NTAwKWJyZWFrfWVsc2UgVy5wYXJhbXM9ZWkoQSl9aWYoay5sZW5ndGgpZm9yKGU9MDtlPGsubGVuZ3RoJiYhKEg9Z0soa1tlXSxgcGFyYW1zLmNvbnRleHQuJHtlfWAsVyxIKSxIPj01MDApO2UrKyk7bmF2aWdhdG9yLnZlbmRvciYmIVcuaGFzT3duUHJvcGVydHkoInZlbmRvciIpJiYoV1siZGV2aWNlLnZlbmRvciJdPQpuYXZpZ2F0b3IudmVuZG9yKTtlPXttZXNzYWdlOmIsbmFtZTp2LGxpbmVOdW1iZXI6TCxmaWxlTmFtZTpoLHN0YWNrOngscGFyYW1zOlcsc2FtcGxlV2VpZ2h0OjF9O1c9TnVtYmVyKG4uY29sdW1uTnVtYmVyKTtpc05hTihXKXx8KGUubGluZU51bWJlcj1gJHtlLmxpbmVOdW1iZXJ9OiR7V31gKTtpZihuLmxldmVsPT09IklHTk9SRUQiKXZhciBHPTA7ZWxzZSBhOntuPWhQKCk7Zm9yKEcgb2Ygbi5OOSlpZihlLm1lc3NhZ2UmJmUubWVzc2FnZS5tYXRjaChHLktSKSl7Rz1HLndlaWdodDticmVhayBhfWZvcih2YXIgciBvZiBuLmtvKWlmKHIuY2FsbGJhY2soZSkpe0c9ci53ZWlnaHQ7YnJlYWsgYX1HPTF9ZS5zYW1wbGVXZWlnaHQ9RztHPWU7Zm9yKHZhciBOIG9mIGskYil7aWYoIU4uWXpbRy5uYW1lXSljb250aW51ZTtyPU4uWXpbRy5uYW1lXTtmb3IobGV0IEEgb2Ygcil7cj1HLm1lc3NhZ2UubWF0Y2goQS53Yik7aWYoIXIpY29udGludWU7Ry5wYXJhbXNbInBhcmFtcy5lcnJvci5vcmlnaW5hbCJdPQpyWzBdO249QS5ncm91cHM7ZT17fTtmb3IoVz0wO1c8bi5sZW5ndGg7VysrKWVbbltXXV09cltXKzFdLEcucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHtuW1ddfWBdPXJbVysxXTtHLm1lc3NhZ2U9Ti5HMShlKTticmVha319Ry5wYXJhbXN8fChHLnBhcmFtcz17fSk7Tj1oUCgpO0cucGFyYW1zWyJwYXJhbXMuZXJyb3JTZXJ2aWNlU2lnbmF0dXJlIl09YG1zZz0ke04uTjkubGVuZ3RofSZjYj0ke04ua28ubGVuZ3RofWA7Ry5wYXJhbXNbInBhcmFtcy5zZXJ2aWNlV29ya2VyIl09ImZhbHNlIjtnLnFpLmRvY3VtZW50JiZnLnFpLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihHLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3ICRCKHJLLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT0kQiYmKEcucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09InRydWUiKTt3aW5kb3cueXRlcnImJgp0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKEcpO0cuc2FtcGxlV2VpZ2h0PT09MHx8SVUuaGFzKEcubWVzc2FnZSl8fGhUUyhHLEQpfX19OwpoVFM9ZnVuY3Rpb24obixXPSJFUlJPUiIpe2lmKFc9PT0iRVJST1IiKXtTaS5XSigiaGFuZGxlRXJyb3IiLG4pO2lmKGcubCgicmVjb3JkX2FwcF9jcmFzaGVkX3dlYiIpJiZBUD09PTAmJm4uc2FtcGxlV2VpZ2h0PT09MSl7QVArKzt2YXIgRD17YXBwQ3Jhc2hUeXBlOiJBUFBfQ1JBU0hfVFlQRV9CUkVBS1BBRCJ9O2cubCgicmVwb3J0X2NsaWVudF9lcnJvcl93aXRoX2FwcF9jcmFzaF9rcyIpfHwoRC5zeXN0ZW1IZWFsdGg9e2NyYXNoRGF0YTp7Y2xpZW50RXJyb3I6e2xvZ01lc3NhZ2U6e21lc3NhZ2U6bi5tZXNzYWdlfX19fSk7Zy56VSgiYXBwQ3Jhc2hlZCIsRCl9eEhNKyt9ZWxzZSBXPT09IldBUk5JTkciJiZTaS5XSigiaGFuZGxlV2FybmluZyIsbik7aWYoZy5sKCJrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmciKSl7RD17fTtiOntmb3IoYiBvZiBMTkMpaWYoZy51YihiLnRvTG93ZXJDYXNlKCkpKXt2YXIgYj0hMDticmVhayBifWI9ITF9aWYoYilEPXZvaWQgMDtlbHNle3ZhciB2PQp7c3RhY2tUcmFjZTpuLnN0YWNrfTtuLmZpbGVOYW1lJiYodi5maWxlbmFtZT1uLmZpbGVOYW1lKTtiPW4ubGluZU51bWJlciYmbi5saW5lTnVtYmVyLnNwbGl0P24ubGluZU51bWJlci5zcGxpdCgiOiIpOltdO2IubGVuZ3RoIT09MCYmKGIubGVuZ3RoIT09MXx8aXNOYU4oTnVtYmVyKGJbMF0pKT9iLmxlbmd0aCE9PTJ8fGlzTmFOKE51bWJlcihiWzBdKSl8fGlzTmFOKE51bWJlcihiWzFdKSl8fCh2LmxpbmVOdW1iZXI9TnVtYmVyKGJbMF0pLHYuY29sdW1uTnVtYmVyPU51bWJlcihiWzFdKSk6di5saW5lTnVtYmVyPU51bWJlcihiWzBdKSk7Yj17bGV2ZWw6IkVSUk9SX0xFVkVMX1VOS05PV04iLG1lc3NhZ2U6bi5tZXNzYWdlLGVycm9yQ2xhc3NOYW1lOm4ubmFtZSxzYW1wbGVXZWlnaHQ6bi5zYW1wbGVXZWlnaHR9O1c9PT0iRVJST1IiP2IubGV2ZWw9IkVSUk9SX0xFVkVMX0VSUk9SIjpXPT09IldBUk5JTkciJiYoYi5sZXZlbD0iRVJST1JfTEVWRUxfV0FSTk5JTkciKTt2PXtpc09iZnVzY2F0ZWQ6ITAsCmJyb3dzZXJTdGFja0luZm86dn07RC5wYWdlVXJsPXdpbmRvdy5sb2NhdGlvbi5ocmVmO0Qua3ZQYWlycz1bXTtnLkFyKCJGRVhQX0VYUEVSSU1FTlRTIikmJihELmV4cGVyaW1lbnRJZHM9Zy5BcigiRkVYUF9FWFBFUklNRU5UUyIpKTt2YXIgaz1nLkFyKCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighbXkoIndlYl9kaXNhYmxlX2dlbF9zdHBfZWNhdGNoZXJfa2lsbHN3aXRjaCIpJiZrKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhrKSlELmt2UGFpcnMucHVzaCh7a2V5OmgsdmFsdWU6U3RyaW5nKGtbaF0pfSk7aWYoaD1uLnBhcmFtcylmb3IodmFyIHggb2YgT2JqZWN0LmtleXMoaCkpRC5rdlBhaXJzLnB1c2goe2tleTpgY2xpZW50LiR7eH1gLHZhbHVlOlN0cmluZyhoW3hdKX0pO2lmKHg9bi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZClELnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoeCk7eD1nLkFyKCJTRVJWRVJfTkFNRSIpO2g9Zy5BcigiU0VSVkVSX1ZFUlNJT04iKTsKeCYmaCYmKEQua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTp4fSksRC5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KHg9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiZELmt2UGFpcnMucHVzaCh7a2V5OiJjbGllbnQucGxheWVyLnZlcnNpb24iLHZhbHVlOnh9KTtEPXtlcnJvck1ldGFkYXRhOkQsc3RhY2tUcmFjZTp2LGxvZ01lc3NhZ2U6Yn19aWYoRCYmKGcuelUoImNsaWVudEVycm9yIixEKSxXPT09IkVSUk9SInx8Zy5sKCJlcnJvcnNfZmx1c2hfZ2VsX2Fsd2F5c19raWxsc3dpdGNoIikpKWE6e2lmKGcubCgid2ViX2ZwX3ZpYV9qc3BiIikpe0Q9bTE7bTE9W107aWYoRClmb3IodmFyIEwgb2YgRCl1UihMLnBheWxvYWROYW1lLEwucGF5bG9hZCxnLmQ0LEwub3B0aW9ucyk7b3YoITApO2lmKCFnLmwoIndlYl9mcF92aWFfanNwYl9hbmRfanNvbiIpKWJyZWFrIGF9b3YoKX19aWYoIWcubCgic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciKSl7TD0Kbi5wYXJhbXN8fHt9O1c9e3VybFBhcmFtczp7YToibG9nZXJyb3IiLHQ6ImpzZXJyb3IiLHR5cGU6bi5uYW1lLG1zZzpuLm1lc3NhZ2Uuc3Vic3RyKDAsMjUwKSxsaW5lOm4ubGluZU51bWJlcixsZXZlbDpXLCJjbGllbnQubmFtZSI6TC5uYW1lfSxwb3N0UGFyYW1zOnt1cmw6Zy5BcigiUEFHRV9OQU1FIix3aW5kb3cubG9jYXRpb24uaHJlZiksZmlsZTpuLmZpbGVOYW1lfSxtZXRob2Q6IlBPU1QifTtMLnZlcnNpb24mJihXWyJjbGllbnQudmVyc2lvbiJdPUwudmVyc2lvbik7aWYoVy5wb3N0UGFyYW1zKXtuLnN0YWNrJiYoVy5wb3N0UGFyYW1zLnN0YWNrPW4uc3RhY2spO2Zvcih2YXIgZSBvZiBPYmplY3Qua2V5cyhMKSlXLnBvc3RQYXJhbXNbYGNsaWVudC4ke2V9YF09TFtlXTtpZihlPWcuQXIoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgRyBvZiBPYmplY3Qua2V5cyhlKSlXLnBvc3RQYXJhbXNbR109ZVtHXTsoRz1nLkFyKCJMQVZBX1ZFUlNJT04iKSkmJgooVy5wb3N0UGFyYW1zWyJsYXZhLnZlcnNpb24iXT1HKTtHPWcuQXIoIlNFUlZFUl9OQU1FIik7ZT1nLkFyKCJTRVJWRVJfVkVSU0lPTiIpO0cmJmUmJihXLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09RyxXLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09ZSk7KEc9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiYoVy5wb3N0UGFyYW1zWyJjbGllbnQucGxheWVyLnZlcnNpb24iXT1HKX1nLmVkKGAke2cuQXIoIkVDQVRDSEVSX1JFUE9SVF9IT1NUIiwiIil9L2Vycm9yXzIwNGAsVyl9dHJ5e0lVLmFkZChuLm1lc3NhZ2UpfWNhdGNoKHIpe310UCsrfTsKSzQ9ZnVuY3Rpb24obiwuLi5XKXtuLmFyZ3N8fChuLmFyZ3M9W10pO0FycmF5LmlzQXJyYXkobi5hcmdzKSYmbi5hcmdzLnB1c2goLi4uVyl9OwpPYT1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVc9VyozMStuLmNoYXJDb2RlQXQoRCksRDxuLmxlbmd0aC0xJiYoVyU9MHg4MDAwMDAwMDAwMDApO3JldHVybiBXJTFFNX07Cmc5aT1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCl7dmFyIGU9ZVRoKCk7az1uZXcgbFIoe3ZlVHlwZTpXLHlvdXR1YmVEYXRhOmssanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO0w9UGEoe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOkx9LGUpO3YmJihMLmN0dEF1dGhJbmZvPXYpO3Y9e2NzbjplLHBhZ2VWZTprLmdldEFzSnNvbigpfTtnLmwoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmeCYmeC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKHYuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9eC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7RCYmRC52aXN1YWxFbGVtZW50Pyh2LmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOkQuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpELnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJih2LmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6RCYmZy5HcShuZXcgZy5ReCgibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKVykpO2ImJih2LmNsb25lQ3NuPWIpO24/dVIoInNjcmVlbkNyZWF0ZWQiLHYsbixMKTpnLnpVKCJzY3JlZW5DcmVhdGVkIix2LEwpO2w5KFRvLG5ldyBacChlKSk7VWEuY2xlYXIoKTt5NS5jbGVhcigpO0VhLmNsZWFyKCk7cmV0dXJuIGV9Owp1Zz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7aWcobixXLEQsW2JdLHYsayl9OwppZz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7T2JqZWN0LmFzc2lnbihrLFBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwfSxXKSk7Zm9yKGxldCB4IG9mIGIpe3ZhciBoPXguZ2V0QXNKc29uKCk7KGcuR0YoaCl8fCFoLnRyYWNraW5nUGFyYW1zJiYhaC52ZVR5cGUpJiZnLkdxKEVycm9yKCJDaGlsZCBWRSBsb2dnZWQgd2l0aCBubyBkYXRhIikpO2lmKGcubCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7bGV0IEw9b1UoeCxXKTtpZihoLnZlVHlwZSYmIXk1LmhhcyhMKSYmIUVhLmhhcyhMKSYmIXYpe2lmKCFnLmwoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxVYS5zaXplPDFFMyl7VWEuc2V0KEwsW24sVyxELHhdKTtyZXR1cm59Zy5sKCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiKSYmVWEuc2l6ZT4xRTMmJmcuR3EobmV3IGcuUXgoIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPW9VKEQsVyk7VWEuaGFzKGgpP2RLKEQsVyk6RWEuc2V0KGgsCiEwKX19Yj1iLmZpbHRlcih4PT57eC5jc24hPT1XPyh4LmNzbj1XLHg9ITApOng9ITE7cmV0dXJuIHh9KTsKRD17Y3NuOlcscGFyZW50VmU6RC5nZXRBc0pzb24oKSxjaGlsZFZlczpnLmlfKGIseD0+eC5nZXRBc0pzb24oKSl9OwpXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGssRCk6bj91UigidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELG4sayk6Zy56VSgidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELGspfTsKWFdqPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe2xnKEQsVyk7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpofSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZToxfTt2JiYoRC5jbGllbnREYXRhPXYpO1c9PT0iVU5ERUZJTkVEX0NTTiI/enEoInZpc3VhbEVsZW1lbnRTaG93biIsYixEKTpuP3VSKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsYil9OwpUcT1mdW5jdGlvbihuLFcsRCxiPSExKXt2YXIgdj1iPzE2Ojg7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmIsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZTp2fTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRIaWRkZW4iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixELGIpfTsKcVZaPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtqaShuLFcsRCxiLGspfTsKamk9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12b2lkIDA7bGcoRCxXKTtrPWt8fCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIjt2PVBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZ9LFcpO0Q9e2NzbjpXLHZlOkQuZ2V0QXNKc29uKCksZ2VzdHVyZVR5cGU6a307YiYmKEQuY2xpZW50RGF0YT1iKTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50R2VzdHVyZWQiLHYsRCk6bj91UigidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELG4sdik6Zy56VSgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELHYpfTsKRyRqPWZ1bmN0aW9uKCl7dmFyIG49TWIoMTYpO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVcucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KG5bRF0mNjMpKTtyZXR1cm4gVy5qb2luKCIiKX07CnpxPWZ1bmN0aW9uKG4sVyxEKXtDNC5wdXNoKHtwYXlsb2FkTmFtZTpuLHBheWxvYWQ6RCxwUDp2b2lkIDAsb3B0aW9uczpXfSk7QmF8fChCYT1GME0oKSl9OwpDNHc9ZnVuY3Rpb24obil7aWYoQzQpe2ZvcihsZXQgVyBvZiBDNClXLnBheWxvYWQmJihXLnBheWxvYWQuY3NuPW4uY3NuLGcuelUoVy5wYXlsb2FkTmFtZSxXLnBheWxvYWQsVy5vcHRpb25zKSk7QzQubGVuZ3RoPTB9QmE9MH07Cm9VPWZ1bmN0aW9uKG4sVyl7cmV0dXJuYCR7bi5nZXRBc0pzb24oKS52ZVR5cGV9JHtuLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke1d9YH07CmxnPWZ1bmN0aW9uKG4sVyl7aWYoZy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXt2YXIgRD1vVShuLFcpO3k1LnNldChELCEwKTtkSyhuLFcpfX07CmRLPWZ1bmN0aW9uKG4sVyl7bj1vVShuLFcpO1VhLmhhcyhuKSYmKFc9VWEuZ2V0KG4pfHxbXSx1ZyhXWzBdLFdbMV0sV1syXSxXWzNdLCEwKSxVYS5kZWxldGUobikpfTsKUGE9ZnVuY3Rpb24obixXKXtnLmwoImxvZ19zZXF1ZW5jZV9pbmZvX29uX2dlbF93ZWIiKSYmKG4uc2VxdWVuY2VHcm91cD1XKTtyZXR1cm4gbn07CkZqPWZ1bmN0aW9uKG4sVyxELGIpe1BWKFhXaikodm9pZCAwLG4sVyxELGIsdm9pZCAwKX07CnRFeD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntsZyhELG4pO3ZhciBiPVBhKHtjdHRBdXRoSW5mbzpRNChuKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZvaWQgMH0sbik7RD17Y3NuOm4sdmU6RC5nZXRBc0pzb24oKSxldmVudFR5cGU6NH07bj09PSJVTkRFRklORURfQ1NOIj96cSgidmlzdWFsRWxlbWVudFNob3duIixiLEQpOmcuelUoInZpc3VhbEVsZW1lbnRTaG93biIsRCxiKX0pfSkoKX07CiRIdD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntUcSh2b2lkIDAsbixEKX0pfSkoKX07CndLPWZ1bmN0aW9uKCl7dmFyIG49ITE7dHJ5e249ISF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKX1jYXRjaHtuPSEwfXJldHVybihnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiIpJiZufTsKTWc9ZnVuY3Rpb24oKXt0cnl7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInN0aWNraW5lc3NfcmVsb2FkIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInNlc3Npb25fbG9naW5pbmZvIik7Zy5TSCgiTE9HSU5fSU5GTyIsIiIpO3dpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJmcm9tX3N3aXRjaF9hY2NvdW50IiwiMSIpO3ZhciBuO2xldCBEPXJTaDtEfHwoRD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGVyc2lzdF9pZGVudGl0eSIpKTtpZihuPUQpe3ZhciBXPW4uc3JjPyhuZXcgVVJMKG4uc3JjKSkub3JpZ2luOiIqIjtuLmNvbnRlbnRXaW5kb3c/LnBvc3RNZXNzYWdlKHthY3Rpb246ImNsZWFyIn0sVyl9fWNhdGNoe319OwpnLlJVPWZ1bmN0aW9uKG4pe24mJihuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9BZGRTZXNzaW9uIik/TWcoKTpuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKT9NZygpOm4uc3RhcnRzV2l0aCgiaHR0cHM6Ly9teWFjY291bnQuZ29vZ2xlLmNvbSIpJiZscihuKS5KLmVuZHNXaXRoKCIveW91dHViZW9wdGlvbnMiKSYmTWcoKSk7aWYoZy5BcigiTE9HR0VEX0lOIiwhMCkmJndLKCkpe3ZhciBXPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBEPWcuSVAod2luZG93LmxvY2F0aW9uLmhyZWYpO0QmJlcucHVzaChEKTtEPWcuSVAobik7Zy5qaihXLEQpfHwhRCYmZy5qVShuLCIvIik/KFc9bVcobiksKFc9S3AoVykpPyhXPVdhKFcpLFc9KFc9Zy5TZChXKXx8bnVsbCk/Zy5pdyhXKTp7fSk6Vz1udWxsKTpXPW51bGw7Vz09bnVsbCYmKFc9e30pO0Q9Vzt2YXIgYj12b2lkIDA7CndLKCk/KGJ8fChiPWcuQXIoIkxPR0lOX0lORk8iKSksYj8oRC5zZXNzaW9uX2xvZ2luaW5mbz1iLEQ9ITApOkQ9ITEpOkQ9ITE7RCYmbjQobixXKX19OwpRNT1mdW5jdGlvbihuLFc9e30pe3ZhciBEPWcuQXIoIkVWRU5UX0lEIik7RCYmKFcuZWl8fChXLmVpPUQpKTtXJiZuNChuLFcpfTsKZy5jYT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe0QmJm40KG4sRCk7RD1nLnRGKG4sZy5HNCl8fGcuVjU7dmFyIGs9Z3ooRCk7biE9ayYmWkUoRXJyb3IoYFVuc2FmZSB3aW5kb3cub3BlbiBVUkw6ICR7bn1gKSk7bj1rO1c9V3x8c1QobikudG9TdHJpbmcoMzYpO3RyeXtpZih2KXJldHVybiB2PW4sdj1nLnFiKHYpLGcuUlUodiksSkYodixXLCJhdHRyaWJ1dGlvbnNyYyIpfWNhdGNoKGgpe090KGgpfWcuUlUobik7cmV0dXJuIEpGKEQsVyxiKX07Ck5lMj1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5ocmVmO2lmKGcubCgia2V2bGFyX2Rpc2FibGVfdGhlbWVfcGFyYW0iKSlyZXR1cm4gbnVsbDtTMShuKTt0cnl7bGV0IFc9Zy5vRShuKS50aGVtZTtyZXR1cm4gc1lVLmdldChXKXx8bnVsbH1jYXRjaChXKXt9cmV0dXJuIG51bGx9OwphVT1mdW5jdGlvbihuLFcpe2lmKFcuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPVcsdHlwZW9mIFcuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBEPU51bWJlcihXLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxEKjFFMyk7Cm4uSiYmSUsoIkNPTlNJU1RFTkNZIixXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHMsRCx2b2lkIDAsITApfX07Cm5CPWZ1bmN0aW9uKG4pe3JldHVybiBuLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgdEkoInl0LWNsaWVudC1sb2NhdGlvbiIpOm4ubG9jYWxTdG9yYWdlfTsKZy52Yj1mdW5jdGlvbihuLFc9ITEsRD0hMSxiLHYpe3ZhciBrPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7aWYoIWspcmV0dXJuIGcuWGooRXJyb3IoIkVycm9yOiBObyBJbm5lclR1YmVDb250ZXh0IHNoZWxsIHByb3ZpZGVkIGluIHl0Y29uZmlnLiIpKSx7fTtrPWcuTmMoayk7Zy5sKCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGsuY2xpY2tUcmFja2luZztrLmNsaWVudHx8KGsuY2xpZW50PXt9KTt2YXIgaD1rLmNsaWVudDtoLmNsaWVudE5hbWU9PT0iTVdFQiImJmguY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGguY2xpZW50Rm9ybUZhY3Rvcj1nLkFyKCJJU19UQUJMRVQiKT8iTEFSR0VfRk9STV9GQUNUT1IiOiJTTUFMTF9GT1JNX0ZBQ1RPUiIpO2guc2NyZWVuV2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGg7aC5zY3JlZW5IZWlnaHRQb2ludHM9d2luZG93LmlubmVySGVpZ2h0O2guc2NyZWVuUGl4ZWxEZW5zaXR5PQpNYXRoLnJvdW5kKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKTtoLnNjcmVlbkRlbnNpdHlGbG9hdD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtoLnV0Y09mZnNldE1pbnV0ZXM9LU1hdGguZmxvb3IoKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgeD1nLm85KCk7dmFyIEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjt4LlFRKDE2NSk/TD0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6eC5RUSgxNzQpP0w9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjohZy5sKCJrZXZsYXJfbGVnYWN5X2Jyb3dzZXJzIikmJndpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lKSIpLm1hdGNoZXMmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyYmKEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiKTt4PU5lMigpfHxMO2gudXNlckludGVyZmFjZVRoZW1lPQp4O2cubCgid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIikmJmcucWkuZG9jdW1lbnQmJihoLmFwcGxpY2F0aW9uU3RhdGU9Zy5xaS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFXKXtpZih4PUJCKCkpaC5jb25uZWN0aW9uVHlwZT14O2cubCgid2ViX2xvZ19lZmZlY3RpdmVfY29ubmVjdGlvbl90eXBlIikmJih4PXdKKCkpJiYoay5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9eCl9Zy5sKCJ3ZWJfbG9nX21lbW9yeV90b3RhbF9rYnl0ZXMiKSYmZy5xaS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGsuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke2cucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkqMUU2fWApO1cmJmImJiFnLmwoIndlYl9pdF9jb250ZXh0X3NldF9vcmlnaW5hbF91cmxfa3MiKSYmKHg9YixMPWcucWkubG9jYXRpb24uaHJlZixMIGluc3RhbmNlb2YKZy5Vanx8KEw9bHIoTCkpLHggaW5zdGFuY2VvZiBnLlVqfHwoeD1scih4KSkseD1MLnJlc29sdmUoeCksaC5vcmlnaW5hbFVybD14LnRvU3RyaW5nKCkpO2lmKGcubCgid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIikpe3ZhciBlPUo3KCk7ZSYmKHg9ZS5jb2xkQ29uZmlnRGF0YSxMPWUuY29sZEhhc2hEYXRhLGU9ZS5ob3RIYXNoRGF0YSxrLmNsaWVudC5jb25maWdJbmZvPWsuY2xpZW50LmNvbmZpZ0luZm98fHt9LHgmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRDb25maWdEYXRhPXgpLEwmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRIYXNoRGF0YT1MKSxlJiYoay5jbGllbnQuY29uZmlnSW5mby5ob3RIYXNoRGF0YT1lKSl9eD1nLm9FKGcucWkubG9jYXRpb24uaHJlZik7IWcubCgid2ViX3BvcHVsYXRlX2ludGVybmFsX2dlb19raWxsc3dpdGNoIikmJnguaW50ZXJuYWxjb3VudHJ5Y29kZSYmKGguaW50ZXJuYWxHZW89eC5pbnRlcm5hbGNvdW50cnljb2RlKTshZy5sKCJ3ZWJfcG9wdWxhdGVfY2xpZW50X3NjcmVlbl9raWxsc3dpdGNoIikmJgp2JiYoaC5jbGllbnRTY3JlZW49dik7aC5jbGllbnROYW1lPT09Ik1XRUIifHxoLmNsaWVudE5hbWU9PT0iV0VCIj8oaC5tYWluQXBwV2ViSW5mb3x8KGgubWFpbkFwcFdlYkluZm89e30pLGgubWFpbkFwcFdlYkluZm8uZ3JhZnRVcmw9Ynx8Zy5xaS5sb2NhdGlvbi5ocmVmLGcubCgia2V2bGFyX3dvZmZsZSIpJiZXYi5pbnN0YW5jZSYmKGI9V2IuaW5zdGFuY2UsaC5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hYi5OJiZiLko/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfVU5LTk9XTiIpLGgubWFpbkFwcFdlYkluZm8ud2ViRGlzcGxheU1vZGU9eXgoKSxoLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmguY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFnLmwoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJgooYj1nLkFyKCJMSVZJTkdfUk9PTV9BUFBfUVVBTElUWSIpKSYmKGgudHZBcHBJbmZvPU9iamVjdC5hc3NpZ24oaC50dkFwcEluZm98fHt9LHthcHBRdWFsaXR5OmJ9KSksYj1nLkFyKCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoaC50dkFwcEluZm89T2JqZWN0LmFzc2lnbihoLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpifSkpO2lmKCFnLmwoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIEc9KG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTticmVhayBhfWNhdGNoe31HPXZvaWQgMH1HJiYoaC50aW1lWm9uZT1HKX0oRz1rVCgpKT9oLmV4cGVyaW1lbnRzVG9rZW49RzpkZWxldGUgaC5leHBlcmltZW50c1Rva2VuO2g9aHkoKTtETS5pbnN0YW5jZXx8KERNLmluc3RhbmNlPW5ldyBETSk7Rz1oSyhETS5pbnN0YW5jZS5OKTsKay5yZXF1ZXN0PXsuLi5rLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6aCxjb25zaXN0ZW5jeVRva2VuSmFyczpHfTshZy5sKCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihoPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1BSRVFVRVNUX0NPTlRFWFQiKSkmJihrLnJlcXVlc3QuZXh0ZXJuYWxQcmVxdWVzdENvbnRleHQ9aCk7Rz1nLm85KCk7aD1HLlFRKDU4KTtHPUcuZ2V0KCJnc21sIiwiIik7ay51c2VyPXsuLi5rLnVzZXJ9O2gmJihrLnVzZXIuZW5hYmxlU2FmZXR5TW9kZT1oKTtHJiYoay51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO2cubCgid2FybV9vcF9jc25fY2xlYW51cCIpP0QmJihXPWcuUnYoKSkmJihrLmNsaWVudFNjcmVlbk5vbmNlPVcpOiFXJiYoVz1nLlJ2KCkpJiYoay5jbGllbnRTY3JlZW5Ob25jZT1XKTtuJiYoay5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOm59KTtpZihuPWcucnIoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWsucmVtb3RlQ2xpZW50PQpuO2IkLmdldEluc3RhbmNlKCkuc2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQoayk7dHJ5e3ZhciByPWcuUUYoKSxOPXIuYmlkO2RlbGV0ZSByLmJpZDtrLmFkU2lnbmFsc0luZm89e3BhcmFtczpbXSxiaWQ6Tn07Zm9yKGxldCBbSCxBXW9mIE9iamVjdC5lbnRyaWVzKHIpKXI9SCxOPUEsay5hZFNpZ25hbHNJbmZvLnBhcmFtcz8ucHVzaCh7a2V5OnIsdmFsdWU6YCR7Tn1gfSk7aWYoay5jbGllbnQ/LmNsaWVudE5hbWU9PT0iVFZIVE1MNSJ8fGsuY2xpZW50Py5jbGllbnROYW1lPT09IlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IEg9Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFQiKTtILmFkU2lnbmFsc0luZm8mJihrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZD1ILmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZCxrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZFNpZ25hbFR5cGU9IkRFVklDRV9JRF9UWVBFX0NPTk5FQ1RFRF9UVl9JRkEiLGsuYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmc9CkguYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmcsSC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cyE9PXZvaWQgMCYmKGsuYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXM9SC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cykpfX1jYXRjaChIKXtnLlhqKEgpfXJldHVybiBrfTsKa1Y9ZnVuY3Rpb24obil7dmFyIFc9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP1dbIlgtR29vZy1FT00tVmlzaXRvci1JZCJdPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKTpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKFdbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO1dbIlgtWW91dHViZS1Cb290c3RyYXAtTG9nZ2VkLUluIl09Zy5BcigiTE9HR0VEX0lOIiwhMSk7Zy5BcigiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKFdbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1nLkFyKCJERUJVR19TRVRUSU5HU19NRVRBREFUQSIpKTtuIT09ImNvcnMiJiYoKG49Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSkmJihXWyJYLVlvdXR1YmUtQ2xpZW50LU5hbWUiXT1uKSwobj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKFdbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQpuKSwobj1nLkFyKCJDSFJPTUVfQ09OTkVDVEVEX0hFQURFUiIpKSYmKFdbIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIl09biksKG49Zy5BcigiRE9NQUlOX0FETUlOX1NUQVRFIikpJiYoV1siWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSJdPW4pLChuPWIkLmdldEluc3RhbmNlKCkuZ2V0WEdlb0hlYWRlcj8uKCkpJiYoV1siWC1HZW8iXT1uKSk7KG49Zy5BcigiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoV1siWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1uKTtyZXR1cm4gV307CmhtPWZ1bmN0aW9uKG4pe3JldHVybigpPT5uZXcgbn07CnBXTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTEpcmV0dXJuIG5bMF07dmFyIFc9eFYuVU5LTk9XTl9JTlRFUkZBQ0U7aWYoVyl7Vz1uZXcgUmVnRXhwKFcpO2Zvcih2YXIgRCBvZiBuKWlmKFcuZXhlYyhEKSlyZXR1cm4gRH12YXIgYj1bXTtPYmplY3QuZW50cmllcyh4VikuZm9yRWFjaCgoW3Ysa10pPT57IlVOS05PV05fSU5URVJGQUNFIiE9PXYmJmIucHVzaChrKX0pOwpEPW5ldyBSZWdFeHAoYi5qb2luKCJ8IikpO24uc29ydCgodixrKT0+di5sZW5ndGgtay5sZW5ndGgpOwpmb3IobGV0IHYgb2YgbilpZighRC5leGVjKHYpKXJldHVybiB2O3JldHVybiBuWzBdfTsKTEI9ZnVuY3Rpb24obil7cmV0dXJuYC95b3V0dWJlaS92MS8ke3BXTShuKX1gfTsKZ2I9ZnVuY3Rpb24obil7cmV0dXJuIGcucnIoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iKXx8ZUwobil9OwpYQT1mdW5jdGlvbigpe3ZhciBuPWdiKCk7bi5pbmZvfHwobi5pbmZvPXt9KTtyZXR1cm4gbi5pbmZvfTsKcVE9ZnVuY3Rpb24obil7bj1nYihuKTtuLm1ldGFkYXRhfHwobi5tZXRhZGF0YT17fSk7cmV0dXJuIG4ubWV0YWRhdGF9OwpHdz1mdW5jdGlvbihuKXtuPWdiKG4pO24udGlja3x8KG4udGljaz17fSk7cmV0dXJuIG4udGlja307CnRtPWZ1bmN0aW9uKG4pe249Z2Iobik7aWYobi5nZWwpe2xldCBXPW4uZ2VsO1cuZ2VsSW5mb3N8fChXLmdlbEluZm9zPXt9KTtXLmdlbFRpY2tzfHwoVy5nZWxUaWNrcz17fSl9ZWxzZSBuLmdlbD17Z2VsVGlja3M6e30sZ2VsSW5mb3M6e319O3JldHVybiBuLmdlbH07CiRWPWZ1bmN0aW9uKG4pe249dG0obik7bi5nZWxJbmZvc3x8KG4uZ2VsSW5mb3M9e30pO3JldHVybiBuLmdlbEluZm9zfTsKWVZTPWZ1bmN0aW9uKCl7dmFyIG49dG0oKTtuLnByZUxvZ2dlZEdlbEluZm9zfHwobi5wcmVMb2dnZWRHZWxJbmZvcz1bXSk7cmV0dXJuIG4ucHJlTG9nZ2VkR2VsSW5mb3N9OwpyYj1mdW5jdGlvbihuKXt2YXIgVz1nYihuKS5ub25jZTtXfHwoVz1nLlJJKDE2KSxnYihuKS5ub25jZT1XKTtyZXR1cm4gV307CmVMPWZ1bmN0aW9uKG4pe3ZhciBXPXt0aWNrOnt9LGluZm86e319O2cuR2IoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iLFcpO3JldHVybiBXfTsKc0g9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5kZWJ1ZyIpO258fChuPVtdLGcuR2IoInl0Y3NpLmRlYnVnIixuKSxnLkdiKCJ5dGNzaS5yZWZlcmVuY2UiLHt9KSk7cmV0dXJuIG59OwpwQj1mdW5jdGlvbihuKXt2YXIgVz1zSCgpO1cucHVzaChuKTtnLmwoImxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemUiKSYmVy5sZW5ndGg+TlEmJlcuc3BsaWNlKDAsVy5sZW5ndGgtTlEpfTsKSGI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO2lmKFdbbl0pcmV0dXJuIFdbbl07dmFyIEQ9e3RpbWVyTmFtZTpuLGluZm86e30sdGljazp7fSxzcGFuOnt9LGpzcGJJbmZvOltdfTtwQihEKTtyZXR1cm4gV1tuXT1EfTsKZkI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO1dbbl0mJmRlbGV0ZSBXW25dO3ZhciBEPXt0aW1lck5hbWU6bixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07cEIoRCk7V1tuXT1EfTsKWVY9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5yZWZlcmVuY2UiKTtpZihuKXJldHVybiBuO3NIKCk7cmV0dXJuIGcucnIoInl0Y3NpLnJlZmVyZW5jZSIpfTsKSUw9ZnVuY3Rpb24obil7cmV0dXJuIEptW25dfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9OwpIbnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPU1hdGgucm91bmQoRC50aW1lc3RhbXB8fCgwLGcuUikoKSk7SVkobiwxLGI8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/YjowKTtiPW5ldyBTTDtpZihELmxhY3QpSVkoYiwxLGlzRmluaXRlKEQubGFjdCk/RC5sYWN0Oi0xKTtlbHNlIGlmKEQudGltZXN0YW1wKUlZKGIsMSwtMSk7ZWxzZXt2YXIgdj1nLnZJKCk7SVkoYiwxLGlzRmluaXRlKHYpP3Y6LTEpfWlmKEQuc2VxdWVuY2VHcm91cCYmIWcubCgid2ViX2dlbF9zZXF1ZW5jZV9pbmZvX2tpbGxzd2l0Y2giKSl7dj1ELnNlcXVlbmNlR3JvdXA7bGV0IGs9RXkodiksaD1uZXcgQW07SVkoaCwyLGspO2cuU0UoaCwxLHYpOyQ5KGIsQW0sMyxoKTtELmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBtcVtELnNlcXVlbmNlR3JvdXBdfSQ5KG4sU0wsMzMsYik7KEQuc2VuZElzb2xhdGVkUGF5bG9hZD9jSTpQVzEpKCJsYXRlbmN5QWN0aW9uSW5mbyIse2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6biwKY3R0QXV0aEluZm86RC5jdHRBdXRoSW5mbyxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOkQuZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbn0sVyl9OwpmMmo9ZnVuY3Rpb24obixXPXt9KXt2YXIgRD0hMTtnLkFyKCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmKEQ9ITApO0hucihuLEQ/bnVsbDpnLmQ0LFcpfTsKT0g9ZnVuY3Rpb24oKXtLQi5pbnN0YW5jZXx8KEtCLmluc3RhbmNlPW5ldyBLQik7cmV0dXJuIEtCLmluc3RhbmNlfTsKWk09ZnVuY3Rpb24obixXKXtQYltXXT1QYltXXXx8e2NvdW50OjB9O3ZhciBEPVBiW1ddO0QuY291bnQrKztELnRpbWU9KDAsZy5SKSgpO24uTnx8KG4uTj1nLmNCKDAsKCk9Pnt2YXIgYj0oMCxnLlIpKCk7Zm9yKGxldCB2IGluIFBiKVBiW3ZdJiZiLVBiW3ZdLnRpbWU+NkU0JiZkZWxldGUgUGJbdl07biYmKG4uTj0wKX0sNUUzKSk7CnJldHVybiBELmNvdW50PjU/KEQuY291bnQ9PT02JiZNYXRoLnJhbmRvbSgpKjFFNTwxJiYoRD1uZXcgZy5ReCgiQ1NJIGRhdGEgZXhjZWVkZWQgbG9nZ2luZyBsaW1pdCB3aXRoIGtleSIsVy5zcGxpdCgiXyIpKSxXLmluZGV4T2YoInBsZXYiKT49MHx8Zy5HcShEKSksITApOiExfTsKRUg9ZnVuY3Rpb24oKXt2YXIgbjtnLmwoImNzaV91c2VfcGVyZm9ybWFuY2VfbmF2aWdhdGlvbl90aW1pbmciKT8obj1VSD8uZ2V0RW50cmllc0J5VHlwZT8uKCJuYXZpZ2F0aW9uIik/LlswXT8udG9KU09OPy4oKSk/KG4ucmVxdWVzdFN0YXJ0PXl2KG4ucmVxdWVzdFN0YXJ0KSxuLnJlc3BvbnNlRW5kPXl2KG4ucmVzcG9uc2VFbmQpLG4ucmVkaXJlY3RTdGFydD15dihuLnJlZGlyZWN0U3RhcnQpLG4ucmVkaXJlY3RFbmQ9eXYobi5yZWRpcmVjdEVuZCksbi5kb21haW5Mb29rdXBFbmQ9eXYobi5kb21haW5Mb29rdXBFbmQpLG4uY29ubmVjdFN0YXJ0PXl2KG4uY29ubmVjdFN0YXJ0KSxuLmNvbm5lY3RFbmQ9eXYobi5jb25uZWN0RW5kKSxuLnJlc3BvbnNlU3RhcnQ9eXYobi5yZXNwb25zZVN0YXJ0KSxuLnNlY3VyZUNvbm5lY3Rpb25TdGFydD15dihuLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksbi5kb21haW5Mb29rdXBTdGFydD15dihuLmRvbWFpbkxvb2t1cFN0YXJ0KSxuLmlzUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nPQohMCk6bj1VSC50aW1pbmc6bj1nLmwoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShVSC50aW1pbmcpKTpVSC50aW1pbmc7cmV0dXJuIG59Owp5dj1mdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5yb3VuZChpJCgpK24pfTsKaSQ9ZnVuY3Rpb24oKXtyZXR1cm4oZy5sKCJjc2lfdXNlX3RpbWVfb3JpZ2luIil8fGcubCgiY3NpX3VzZV90aW1lX29yaWdpbl90dmh0bWw1IikpJiZVSC50aW1lT3JpZ2luP01hdGguZmxvb3IoVUgudGltZU9yaWdpbik6VUgudGltaW5nLm5hdmlnYXRpb25TdGFydH07CkpTcj1mdW5jdGlvbigpe3ZhciBuPVlWUygpLFc9JFYoKSxEPXZvaWQgMDtmb3IodmFyIGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHg9bltiXTtpZih4LmxvYWRUeXBlKXtEPXgubG9hZFR5cGU7YnJlYWt9fWlmKHFRKCkubG9hZFR5cGU9PT0iY29sZCImJihXLmxvYWRUeXBlPT09ImNvbGQifHxEPT09ImNvbGQiKSl7RD1HdygpO2I9dG0oKTtiPWIuZ2VsVGlja3M/Yi5nZWxUaWNrczpiLmdlbFRpY2tzPXt9O2Zvcih2YXIgdiBpbiBEKXYgaW4gYnx8dHlwZW9mIERbdl09PT0ibnVtYmVyIiYmdSQodixvTCh2KSk7dmFyIGs9e30saD0hMTt2PXg9PntqdyhXLHgpO2p3KGsseCk7aD0hMH07CmZvcihsZXQgeCBvZiBuKXYoeCk7aCYmZGIoayl9fTsKenc9ZnVuY3Rpb24obixXKXt1JCgiX3N0YXJ0IixuLFcpfTsKZGI9ZnVuY3Rpb24obixXKXtpZighZy5sKCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFnYihXKS5hY3Rpb25EaXNhYmxlZCl7dmFyIEQ9SGIoV3x8IiIpO2p3KEQuaW5mbyxuKTtuLmxvYWRUeXBlJiYoRD1uLmxvYWRUeXBlLHFRKFcpLmxvYWRUeXBlPUQpO2p3KCRWKFcpLG4pO0Q9cmIoVyk7Vz1nYihXKS5jdHRBdXRoSW5mbztPSCgpLmluZm8obixELFcpfX07CkkyWj1mdW5jdGlvbigpe3JldHVybihnLnFqKCkucmVzb2x2ZShnLmhwKGcuWDMpKT8uTFgoKT8ubG9nZ2luZ0hvdENvbmZpZz8uY3NpQ29uZmlnPy5kZWJ1Z1RpY2tzPz9bXSkubWFwKG49Pk9iamVjdC52YWx1ZXMobilbMF0pfTsKdSQ9ZnVuY3Rpb24obixXLEQpe2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8IWdiKEQpLmFjdGlvbkRpc2FibGVkKXt2YXIgYj1yYihEKSx2O2lmKHY9Zy5sKCJ3ZWJfY3NpX2RlYnVnX3NhbXBsZV9lbmFibGVkIikmJmIpe2cucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpJiYhbCQmJihsJD0hMCx1JCgiZ2NmbCIsKDAsZy5SKSgpLEQpKTt2PWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnU2FtcGxlV2VpZ2h0fHwwO3ZhciBrO2lmKGs9diE9PTApYjp7az1JMlooKTtpZihrLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8ay5sZW5ndGg7aCsrKWlmKG49PT1rW2hdKXtrPSEwO2JyZWFrIGJ9az0hMX1rPyh2PU9hKGIpJXYhPT0wLGdiKEQpLmRlYnVnVGlja3NFeGNsdWRlZExvZ2dlZHx8KGs9e30say5kZWJ1Z1RpY2tzRXhjbHVkZWQ9dixkYihrLEQpKSxnYihEKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTp2PSExfWlmKCF2KXtpZihuWzBdIT09Il8iJiYodj1uLFVILm1hcmspKXt2LnN0YXJ0c1dpdGgoIm1hcmtfIil8fCh2PSJtYXJrXyIrdik7RCYmKHYrPWAgKCR7RH0pYCk7az12O2g9e307aWYoVyE9PXZvaWQgMCYmIWcubCgid2ViX2NzaV9kaXNhYmxlX2FsdF90aW1lX3BlcmZvcm1hbmNlX21hcmsiKSl7bGV0IEw9VztMPWcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP0wtVUgudGltZU9yaWdpbjpMLShVSC50aW1lT3JpZ2lufHxVSC50aW1pbmcubmF2aWdhdGlvblN0YXJ0KTtoLnN0YXJ0VGltZT1MfWcubCgiY3NpX2VuYWJsZV9jaHJvbWVfZGV2dG9vbHNfcGVyZm9ybWFuY2VfdGltZWxpbmVfaW50ZWdyYXRpb24iKSYmKGguZGV0YWlsPXtHVTp7ZGF0YVR5cGU6Im1hcmtlciIsY29sb3I6InByaW1hcnkiLHRvb2x0aXBUZXh0Omt9fSk7az1PYmplY3Qua2V5cyhoKS5sZW5ndGg+MD9oOnZvaWQgMDt0cnl7VUgubWFyayh2LGspfWNhdGNoKEwpe1VILm1hcmsodil9fXY9CkhiKER8fCIiKTt2LnRpY2tbbl09V3x8KDAsZy5SKSgpO2lmKHYuY2FsbGJhY2smJnYuY2FsbGJhY2tbbl0pZm9yKHZhciB4IG9mIHYuY2FsbGJhY2tbbl0peCgpO3g9dG0oRCk7eC5nZWxUaWNrcyYmKHguZ2VsVGlja3Nbbl09ITApO3Y9R3coRCk7eD1XfHwoMCxnLlIpKCk7dltuXT14O3Y9Z2IoRCkuY3R0QXV0aEluZm87bj09PSJfc3RhcnQiPyhuPU9IKCksWk0obixgYmFzZWxpbmVfJHtifWApfHxnLnpVKCJsYXRlbmN5QWN0aW9uQmFzZWxpbmVkIix7Y2xpZW50QWN0aW9uTm9uY2U6Yn0se3RpbWVzdGFtcDpXLGN0dEF1dGhJbmZvOnZ9KSk6T0goKS50aWNrKG4sYixXLHYpO1R3KEQpO3JldHVybiB4fX19OwpTVjE9ZnVuY3Rpb24oKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlPy4oIm1hcmsiKTtuJiZuLmZvckVhY2goVz0+e1cubmFtZS5zdGFydHNXaXRoKCJtYXJrXyIpJiZVSC5jbGVhck1hcmtzPy4oVy5uYW1lKX0pfTsKakw9ZnVuY3Rpb24oKXtzd2l0Y2goRzEoKSl7Y2FzZSAiaGlkZGVuIjpyZXR1cm4gMDtjYXNlICJ2aXNpYmxlIjpyZXR1cm4gMTtjYXNlICJwcmVyZW5kZXIiOnJldHVybiAyO2Nhc2UgInVubG9hZGVkIjpyZXR1cm4gMztkZWZhdWx0OnJldHVybi0xfX07CkNCPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9KGIsdixrKT0+e3Y9di5tYXRjaCgiX3JpZCIpP3Yuc3BsaXQoIl9yaWQiKVswXTp2O3R5cGVvZiBrPT09Im51bWJlciImJihrPUpTT04uc3RyaW5naWZ5KGspKTtiLnJlcXVlc3RJZHM/Yi5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OnYsaWQ6a30pOmIucmVxdWVzdElkcz1be2VuZHBvaW50OnYsaWQ6a31dfTsKZm9yKGxldCBbYix2XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtuPWI7bGV0IGs9djtzd2l0Y2gobil7Y2FzZSAiR2V0QnJvd3NlX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0R3VpZGVfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRIb21lX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0UGxheWVyX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2VhcmNoX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2V0dGluZ3NfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRUcmVuZGluZ19yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgInl0X3JlZCI6Vy5pc1JlZFN1YnNjcmliZXI9ISFrO2JyZWFrO2Nhc2UgInl0X2FkIjpXLmlzTW9uZXRpemVkPSEha319cmV0dXJuIFd9OwpBU3g9ZnVuY3Rpb24obixXKXtuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iobik7aWYoIW4pcmV0dXJuITE7dmFyIEQ9IiIsYj1uLm5vZGVOYW1lO2I9PT0iU0NSSVBUIj8oRD1uLnNyYyxEfHwoRD1uLmdldEF0dHJpYnV0ZSgiZGF0YS10aW1pbmctaHJlZiIpKSYmKEQ9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK0QpKTpiPT09IkxJTksiJiYoRD1uLmhyZWYpO1NqKGRvY3VtZW50KSYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixTaihkb2N1bWVudCkpO3JldHVybiBEPyhuPVVILmdldEVudHJpZXNCeU5hbWUoRCkpJiZuWzBdJiYobj1uWzBdLEQ9aSQoKSx1JCgicnNmXyIrVyxEK01hdGgucm91bmQobi5mZXRjaFN0YXJ0KSksdSQoInJzZV8iK1csRCtNYXRoLnJvdW5kKG4ucmVzcG9uc2VFbmQpKSxuLnRyYW5zZmVyU2l6ZSE9PXZvaWQgMCYmbi50cmFuc2ZlclNpemU9PT0wKT8hMDohMTohMX07Cm1IMT1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxXPVVILmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Vz1nLkVNKFcsRD0+RC5uYW1lLmluZGV4T2YoYCR7bn0vL2ZvbnRzLmdzdGF0aWMuY29tL3MvYCk9PT0wKTsKKFc9Zy51XyhXLChELGIpPT5iLmR1cmF0aW9uPkQuZHVyYXRpb24/YjpELHtkdXJhdGlvbjowfSkpJiZXLnN0YXJ0VGltZT4wJiZXLnJlc3BvbnNlRW5kPjAmJih1JCgid2ZmcyIseXYoVy5zdGFydFRpbWUpKSx1JCgid2ZmZSIseXYoVy5yZXNwb25zZUVuZCkpKX07CktOdD1mdW5jdGlvbihuLFcsRCl7VUgmJlVILm1lYXN1cmUmJihuLnN0YXJ0c1dpdGgoIm1lYXN1cmVfIil8fChuPSJtZWFzdXJlXyIrbiksRD9VSC5tZWFzdXJlKG4sVyxEKTpXP1VILm1lYXN1cmUobixXKTpVSC5tZWFzdXJlKG4pKX07CkJiPWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJhZnQiLG4pO2lmKFcpcmV0dXJuIFc7Vz1nLkFyKChufHwiIikrIlRJTUlOR19BRlRfS0VZUyIsWyJvbCJdKTt2YXIgRD1XLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKXtsZXQgdj1vTChXW2JdLG4pO2lmKHYpcmV0dXJuIHZ9cmV0dXJuIE5hTn07CkZBPWZ1bmN0aW9uKG4sVyl7Zy5HYigieXRnbG9iYWwudGltaW5nIisoV3x8IiIpKyJyZWFkeV8iLG4pfTsKb0w9ZnVuY3Rpb24obixXKXtpZihuPUd3KFcpW25dKXJldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiP246bltuLmxlbmd0aC0xXX07ClR3PWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJfc3RhcnQiLG4pLEQ9QmIobiksYj0hd2I7VyYmRCYmYiYmKGw5KE9udCxuZXcgTVEoTWF0aC5yb3VuZChELVcpLG4pKSx3Yj0hMCl9OwpQYXg9ZnVuY3Rpb24oKXtpZihVSC5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpO2lmKG49Zy5sXyhuLEQ9PkQubmFtZT09PSJmaXJzdC1wYWludCIpKXJldHVybiB5dihuLnN0YXJ0VGltZSl9dmFyIFc7CmcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP1c9VUguZ2V0RW50cmllc0J5VHlwZSgiZmlyc3QtcGFpbnQiKVswXS5zdGFydFRpbWU6Vz1VSC50aW1pbmcubDI7cmV0dXJuIFc/TWF0aC5tYXgoMCxXKTowfTsKZy5STD1mdW5jdGlvbihuKXtlTChuKTtabmkoKTtTVjEoKTtufHwoZy5BcigiVElNSU5HX0FDVElPTiIpJiZnLlNIKCJQUkVWSU9VU19BQ1RJT04iLGcuQXIoIlRJTUlOR19BQ1RJT04iKSksZy5TSCgiVElNSU5HX0FDVElPTiIsIiIpKX07CmNiPWZ1bmN0aW9uKG4sVyl7UFYoKCk9PntIYigiIikuaW5mby5hY3Rpb25UeXBlPW47VyYmZy5TSCgiVElNSU5HX0FGVF9LRVlTIixXKTtnLlNIKCJUSU1JTkdfQUNUSU9OIixuKTt2YXIgRD1DQihnLkFyKCJUSU1JTkdfSU5GTyIse30pKTtPYmplY3Qua2V5cyhEKS5sZW5ndGg+MCYmZGIoRCk7RD17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKX07dmFyIGI9Zy5BcigiUFJFVklPVVNfQUNUSU9OIik7YiYmKEQucHJldmlvdXNBY3Rpb249SUwoYikpO2lmKGI9Zy5BcigiQ0xJRU5UX1BST1RPQ09MIikpRC5odHRwUHJvdG9jb2w9YjtpZihiPWcuQXIoIkNMSUVOVF9UUkFOU1BPUlQiKSlELnRyYW5zcG9ydFByb3RvY29sPWI7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Yj1qTCgpO2lmKGI9PT0xfHxiPT09LTEpRC5pc1Zpc2libGU9ITA7Yj1xUSgpLmxvYWRUeXBlPT09ImNvbGQiOwp2YXIgdj1YQSgpO2J8fChiPXYueXRfbHQ9PT0iY29sZCIpO2lmKGIpe0QubG9hZFR5cGU9ImNvbGQiO2I9WEEoKTt2PUVIKCk7bGV0IHg9aSQoKSxMPWcuQXIoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtMPjAmJiFnLmwoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJih4PUwpO3gmJih1JCgic3J0Iix2LnJlc3BvbnNlU3RhcnQpLGIucHJlcmVuZGVyIT09MSYmencoeCkpO2I9UGF4KCk7Yj4wJiZ1JCgiZnB0IixiKTtiPUVIKCk7Yi5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmZGIoe3BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzohMH0sdm9pZCAwKTt1JCgibnJlcXMiLGIucmVxdWVzdFN0YXJ0LHZvaWQgMCk7dSQoIm5yZXNzIixiLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTt1JCgibnJlc2UiLGIucmVzcG9uc2VFbmQsdm9pZCAwKTtiLnJlZGlyZWN0RW5kLWIucmVkaXJlY3RTdGFydD4wJiYodSQoIm5ycyIsYi5yZWRpcmVjdFN0YXJ0LAp2b2lkIDApLHUkKCJucmUiLGIucmVkaXJlY3RFbmQsdm9pZCAwKSk7Yi5kb21haW5Mb29rdXBFbmQtYi5kb21haW5Mb29rdXBTdGFydD4wJiYodSQoIm5kbnNzIixiLmRvbWFpbkxvb2t1cFN0YXJ0LHZvaWQgMCksdSQoIm5kbnNlIixiLmRvbWFpbkxvb2t1cEVuZCx2b2lkIDApKTtiLmNvbm5lY3RFbmQtYi5jb25uZWN0U3RhcnQ+MCYmKHUkKCJudGNwcyIsYi5jb25uZWN0U3RhcnQsdm9pZCAwKSx1JCgibnRjcGUiLGIuY29ubmVjdEVuZCx2b2lkIDApKTtiLnNlY3VyZUNvbm5lY3Rpb25TdGFydD49aSQoKSYmYi5jb25uZWN0RW5kLWIuc2VjdXJlQ29ubmVjdGlvblN0YXJ0PjAmJih1JCgibnN0Y3BzIixiLnNlY3VyZUNvbm5lY3Rpb25TdGFydCx2b2lkIDApLHUkKCJudGNwZSIsYi5jb25uZWN0RW5kLHZvaWQgMCkpO1VIJiYiZ2V0RW50cmllc0J5VHlwZSJpbiBVSCYmbUgxKCk7Yj1bXTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZVSCYmVUguZ2V0RW50cmllc0J5TmFtZSlmb3IoayBpbiBRdilRdi5oYXNPd25Qcm9wZXJ0eShrKSYmCih2PVF2W2tdLEFTeChrLHYpJiZiLnB1c2godikpO3ZhciBrPWI7aWYoay5sZW5ndGg+MCl7RC5yZXNvdXJjZUluZm89W107Zm9yKHZhciBoIG9mIGspRC5yZXNvdXJjZUluZm8ucHVzaCh7cmVzb3VyY2VDYWNoZTpofSl9fWRiKEQpO0pTcigpO0ZBKCEwKTtoPWcuQXIoIlRJTUlOR19BQ1RJT04iKTtnLnJyKCJ5dGdsb2JhbC50aW1pbmdyZWFkeV8iKSYmaCYmVnYoKSYmQmIoKSYmVHcoKX0pKCl9OwpXUD1mdW5jdGlvbigpe3ZhciBuPXt9O1BWKCgpPT57VnYoKSYmZy5hTCgiYWEiLHZvaWQgMCx2b2lkIDApO2ZCKCk7Zy5STCgpO0ZBKCExKTtuLmN0dEF1dGhJbmZvJiYoZ2IoKS5jdHRBdXRoSW5mbz1uLmN0dEF1dGhJbmZvKTtnLlNIKCJUSU1JTkdfQUZUX0tFWVMiLFtdKTtuLnJQP2cubmwoe2xvYWRUeXBlOiJob3QifSk6Zy5ubCh7bG9hZFR5cGU6Indhcm0ifSk7Zy5TSCgiVElNSU5HX0FDVElPTiIsIiIpO2RlbGV0ZSBnLkFyKCJUSU1JTkdfSU5GTyIse30pLnl0X2x0O1BWKHp3KShuLnN0YXJ0VGltZSx2b2lkIDApfSkoKX07CmcuYmQ9ZnVuY3Rpb24obixXPXt9KXtQVigoKT0+e2cuRFkobik7dmFyIEQ9Vy5zYW1wbGVSYXRlO2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8RD09PXZvaWQgMHx8RDw9MSlEPSExO2Vsc2V7dmFyIGI9cmIobik7RD1PYShiKSVEIT09MH1EJiYoZ2IobikuYWN0aW9uRGlzYWJsZWQ9ITApO0hiKG58fCIiKS5pbmZvLmFjdGlvblR5cGU9bjtXLmN0dEF1dGhJbmZvJiYoZ2IobikuY3R0QXV0aEluZm89Vy5jdHRBdXRoSW5mbyk7Zy5TSChuKyJUSU1JTkdfQUNUSU9OIixuKTtQVih6dykoVy5zdGFydFRpbWUsbik7RD17YWN0aW9uVHlwZTpJTChuKX07Vy5leiYmKEQucHJldmlvdXNBY3Rpb249SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKSk7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Zy5ubChELG4pO0ZBKCEwLG4pfSkoKX07CmcuRFk9ZnVuY3Rpb24obil7UFYoKCk9PntWdihuKSYmZy5hTCgiYWEiLHZvaWQgMCxuKTtmQihuKTtnLlJMKG4pfSkoKX07ClZ2PWZ1bmN0aW9uKG4pe3JldHVybiBQVigoKT0+Zy52UCgiX3N0YXJ0IixuKSkoKX07Cmcubmw9ZnVuY3Rpb24obixXLEQ9ITEpe1BWKGRiKShuLFcsRCl9OwpnLmFMPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYodSQpKG4sVyxEKX07CmtEPWZ1bmN0aW9uKG4pe1BWKEtOdCkoImFjdGlvbl9maW5pc2hlZCIsbix2b2lkIDApfTsKZy52UD1mdW5jdGlvbihuLFcpe3JldHVybiBQVigoKT0+e3ZhciBEPUd3KFcpO3JldHVybiBuIGluIER9KSgpfTsKeEQ9ZnVuY3Rpb24obil7aWYoIWcubCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuIiI7bj1TMShuKXx8IiI7dmFyIFc9T2JqZWN0LmtleXMoaGUpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtsZXQgYj1XW0RdO2lmKG4uaW5jbHVkZXMoYikpcmV0dXJuIGJ9cmV0dXJuIiJ9Owplaz1mdW5jdGlvbihuKXtpZighZy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4oKT0+e307CnZhciBXPWhlW25dO3JldHVybiBXPyhnLkxsKFcpLCgpPT57dmFyIEQ9Zy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oRD1VSE1bbl0pP2cuTGwoRCk6ITE6ITE7cmV0dXJuIER9KTooKT0+e319OwpnLkxsPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYoKCk9PntpZihnLnZQKG4sRCkpcmV0dXJuITE7Zy5hTChuLFcsRCk7cmV0dXJuITB9KSgpfTsKZy5nXz1mdW5jdGlvbihuLFcsRCl7UFYoKCk9PntpZighVnYoRCl8fGcudlAobixEKSlyZXR1cm4hMTtnLmFMKG4sVyxEKTtyZXR1cm4hMH0pKCl9Owp5U2g9ZnVuY3Rpb24oKXtQVigoKT0+e3ZhciBuPXJiKCk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57c2V0VGltZW91dCgoKT0+e249PT1yYigpJiZnLmFMKCJmdGwiLHZvaWQgMCx2b2lkIDApfSwwKX0pfSkoKX07CkU5Yj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFg3Lmluc3RhbmNlIT09dm9pZCAwKXtpZihiPVg3Lmluc3RhbmNlLG49W24hPT1iLmosVyE9PWIueUcsRCE9PWIuVyx2IT09Yi5KLCExLCExLCExXSxuLnNvbWUoaz0+aykpdGhyb3cgbmV3IGcuUXgoIklubmVyVHViZVRyYW5zcG9ydFNlcnZpY2UgaXMgYWxyZWFkeSBpbml0aWFsaXplZCIsbik7Cn1lbHNlIFg3Lmluc3RhbmNlPW5ldyBYNyhuLFcsRCxiLHYpfTsKaW53PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtuPWF3YWl0ICRHKG4uVy5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsuLi5rVihEKSwuLi5ufSl9OwpkSGo9YXN5bmMgZnVuY3Rpb24obixXLEQsYj0oKT0+e30pe3ZhciB2PVcuY29uZmlnPy5Ibj8uUkw7CmlmKHYmJm4uSiYmbi5KLmhhcyh2KSYmIVcuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz1hd2FpdCBuLkouZ2V0KHYpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGsuaXNQcm9jZXNzZWQoKXx8KEdXKG4sYixXKSxhd2FpdCB0ZShuLkosdikpLFByb21pc2UucmVzb2x2ZShiKX1hd2FpdCB1X3QoVyk7KHY9Vy5jb25maWc/LnJlcXVlc3RLZXkpJiZuLk4uaGFzKHYpP0Q9bi5OLmdldCh2KTooaz1KU09OLnN0cmluZ2lmeShXLmlubmVyVHViZVJlcXVlc3QpLFcuUGk9ey4uLlcuUGksaGVhZGVyczp7Li4uKFcuUGk/LmhlYWRlcnM/P3t9KSwuLi5EfX0sRD17Li4uVy5QaX0sVy5QaS5tZXRob2Q9PT0iUE9TVCImJihEPXsuLi5ELGJvZHk6a30pLFcuY29uZmlnPy5MYSYmZy5hTChXLmNvbmZpZy5MYSksRD1uLnlHLmZldGNoKFcuaW5wdXQsRCxXLmNvbmZpZyksdiYmbi5OLnNldCh2LEQpKTtpZigoRD1hd2FpdCBEKSYmImVycm9yImluIEQmJkQ/LmVycm9yPy5kZXRhaWxzKXtrPQpELmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGspKGs9aFsiQHR5cGUiXSkmJm85ai5pbmRleE9mKGspPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sRD1oKX12JiZuLk4uaGFzKHYpJiZuLk4uZGVsZXRlKHYpO1cuY29uZmlnPy5SViYmZy5hTChXLmNvbmZpZy5SVik7R1cobixELFcpO1cuY29uZmlnPy5HdCYmZy5hTChXLmNvbmZpZy5HdCk7YigpO3JldHVybiBEfHx2b2lkIDB9OwpnLnJfPWZ1bmN0aW9uKG4sVyxELGIsdj17Qkc6e2lkZW50aXR5OnU5fX0pe3ZhciBrPWcucWooKS5yZXNvbHZlKGcuaHAoJEQpKT8uKCk7aWYoKGcubCgibWF3X25ldHdvcmtfbWFjaGluZV9yYXdfcmVxdWVzdCIpfHxnLmwoImFsbF93ZWJfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0IikpJiZrKXJldHVybiB6VGoobDJqKGsse2lubmVyVHViZVJlcXVlc3Q6VyxhcGlQYXRoOkQsY2xpY2tUcmFja2luZ1BhcmFtczpiLGNvbmZpZzp2LGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbih4PT54LCgpPT57fSk7CnZhciBoPSgpPT57fTsKaD1layh4RChEKSk7Vy5jb250ZXh0fHwoVy5jb250ZXh0PWcudmIoYiwhMCkpO3JldHVybiBuZXcgZy5YMShhc3luYyB4PT57dmFyIEw9SyQoRCk7TD1nLlRkKEwpPyJzYW1lLW9yaWdpbiI6ImNvcnMiO2lmKG4uVy5zQil7dmFyIGU9bi5XLmFqKHY/LkJHPy5pZGVudGl0eXx8dTkse3Nlc3Npb25JbmRleDp2Py5CRz8uc2Vzc2lvbkluZGV4fSk7TD17Li4ua1YoTCksLi4uZX19ZWxzZSBMPWF3YWl0IGludyhuLHYsTCk7ZT1acihLJChEKSk7ZT17aW5wdXQ6ZSxQaTpVeihlKSxpbm5lclR1YmVSZXF1ZXN0OlcsY29uZmlnOnZ9O3goZEhqKG4sZSxMLGgpKX0pfTsKdV90PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe249bi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBXIG9mW10pYXdhaXQgVy5CcyhuKX19OwpHVz1mdW5jdGlvbihuLFcsRCl7aWYoVyYmIVc/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZuLlgpZm9yKGxldCBiIG9mIHNvKW4uWFtiXSYmbi5YW2JdLmhhbmRsZVJlc3BvbnNlKFcsRCl9OwpwbD1mdW5jdGlvbigpe3ZhciBuLFc7cmV0dXJue3JGOm5ldyBOcigoRCxiKT0+e249RDtXPWJ9KSwKcmVzb2x2ZTpuLHJlamVjdDpXfX07CkhQPWZ1bmN0aW9uKG4pe3JldHVybiBZRChuKT9uOllvKG4pP25ldyBOcigoVyxEKT0+e24udGhlbihXLEQpfSk6bmV3IE5yKFc9PntXKG4pfSl9OwpmbD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IE5yKChXLEQpPT57RChuKX0pfTsKSmU9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBIUChuKCkpfWNhdGNoKFcpe3JldHVybiBmbChXKX19Owp6VGo9ZnVuY3Rpb24obil7cmV0dXJuIElqKG4sZy5YMSl9OwpJaj1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgVygoRCxiKT0+e1NrKG4sRCxiKX0pfTsKQWU9YXN5bmMgZnVuY3Rpb24obil7cmV0dXJuIElqKG4sUHJvbWlzZSl9OwptRT1mdW5jdGlvbihuKXtpZihuLk49PT0iZnVsZmlsbGVkIil7dmFyIFc9bi5KO24uSj1bXTtuLlc9W107Zm9yKHZhciBEIG9mIFcpRChuLnJlc3VsdCl9ZWxzZSBpZihuLk49PT0icmVqZWN0ZWQiKXtEPW4uVztuLko9W107bi5XPVtdO2ZvcihXIG9mIEQpVyhuLmVycm9yKX19OwpTaz1mdW5jdGlvbihuLFcsRCl7dmFyIHtyRjpiLHJlc29sdmU6dixyZWplY3Q6a309cGwoKTtuLkoucHVzaChoPT57aWYoVyl0cnl7bGV0IHg9VyhoKTt2KHgpfWNhdGNoKHgpe2soeCl9ZWxzZSB2KGgpfSk7Cm4uVy5wdXNoKGg9PntpZihEKXRyeXtsZXQgeD1EKGgpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIGsoaCl9KTsKbUUobik7cmV0dXJuIGJ9OwpLbD1mdW5jdGlvbihuLFcpe3JldHVybiBTayhuLHZvaWQgMCxXKX07ClRlYj1mdW5jdGlvbihuLFcpe1NrKG4sRD0+U2soSFAoVygpKSwoKT0+RCksRD0+U2soSFAoVygpKSwoKT0+ZmwoRCkpKX07Ck9vPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGpZMShXLmNhbGwobikpfTsKUFA9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKigpe3JldHVybiB5aWVsZHtyRjpIUChuKX19KCl9OwpqWTE9ZnVuY3Rpb24obil7cmV0dXJuIEplKCgpPT5aWShuLG4ubmV4dCgpKSl9OwpaWT1mdW5jdGlvbihuLFcpe3JldHVybiBXLmRvbmU/SFAoVy52YWx1ZSk6S2woU2soVy52YWx1ZS5yRixEPT5aWShuLG4ubmV4dChEKSkpLEQ9PlpZKG4sbi50aHJvdyhEKSkpfTsKRk54PWZ1bmN0aW9uKG4pe3ZhciBXPUNhVShuKTtyZXR1cm4gU2soQmVTKFcpLCgpPT5XLm1hcChEPT5ELnN0YXRlKCkpKX07CkJlUz1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIEhQKE5hTik7dmFyIHtyRjpXLHJlc29sdmU6RH09cGwoKSxiPW4ubGVuZ3RoO2ZvcihsZXQgdj0wO3Y8bi5sZW5ndGg7disrKVRlYihuW3ZdLCgpPT57Vy5OPT09InBlbmRpbmciJiYod1dqKHZvaWQgMCkmJih2b2lkIDApKHYpJiZXLk49PT0icGVuZGluZyI/RCh2KTooLS1iLGI9PT0wJiZEKE5hTikpKX0pOwpyZXR1cm4gV307CkNhVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+SFAoVykpfTsKTUV3PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciB2PSRHKGIuTi5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTt2PXlpZWxkKlBQKEhQKHYpKTtyZXR1cm57Li4ua1YoRCksLi4udn19KCl9KX07ClVvPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09MXx8bj09PTJ9OwpWRTI9ZnVuY3Rpb24obixXLEQ9ITEpe3ZhciBiLHY9Zy53KFcsUlRoKT8ucmVxdWVzdDt2JiZuLk4uaVQmJihiPW4uTi5pVFt2XSk7Ynx8RHx8KHY9Zy53KFcsUVlNKT8uc2lnbmFsKSYmbi5OLndkJiYoYj1uLk4ud2Rbdl0pO2lmKCFiJiYobj1EP24uTi51STpuLk4uemcpKWZvcihsZXQgayBpbiBXKWlmKG5ba10pe2I9bltrXTticmVha31pZighYil7aWYoRCl0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHN0cmVhbWluZyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQgZm9yIGNvbW1hbmQiKTt0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZC4iKTt9Vz1iKCk7cmV0dXJuIEhQKFcpfTsKbDJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ucnVuKCJSRVFVRVNUX0lOSVQiLFcpfTsKeXE9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5ydW4oIlBST0NFU1NfUkVTUE9OU0UiLFcsIlJlc3BvbnNlTWFjaGluZSAoQ2FjaGUpIil9OwpFbz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4ucnVuKCJJTklUIixXLEQhPT12b2lkIDA/YFJlc3BvbnNlTWFjaGluZSAoQ2h1bmsgJHtEfSlgOiJSZXNwb25zZU1hY2hpbmUiKX07CmNTMj1mdW5jdGlvbigpe3ZhciBuPWcucWooKTtnLnhvKG4se05IOmlkLFJjOigpPT5uZXcgTWFwfSk7CmcueG8obix7Tkg6dWQsWUw6dWQscG46ITB9KTtnLnhvKG4se05IOm9qLFlMOm9qLHBuOiEwfSk7Zy54byhuLHtOSDpkXyxZTDpkXyxwbjohMH0pO2cueG8obix7Tkg6elcsWUw6elcscG46ITB9KTtnLnhvKG4se05IOmxkLFlMOmxkLHBuOiEwfSk7Zy54byhuLHtOSDpUVyxZTDpUVyxwbjohMH0pO2cueG8obix7Tkg6amssWUw6amsscG46ITB9KTtnLnhvKG4se05IOkNsLFlMOkNsLHBuOiEwfSk7Zy54byhuLHtOSDpCUCxZTDpCUCxwbjohMH0pO2cueG8obix7Tkg6RjcsWUw6RjcscG46ITB9KTtnLnhvKG4se05IOndfLFJjOihXLEQsYix2LGssaCx4LEwsZSxHKT0+KHtDT01NQU5EX0lOSVQ6TCxSRVFVRVNUX0lOSVQ6ZSxDQUNIRTpELExPQ0FMX1JPVVRFUjp4LENPTlRFWFQ6YixBVVRIOlcsREVEVVBFOnYsRkVUQ0g6aCxSRVRSWTpHLEZBTExCQUNLOmt9KSwKW2cuTFhdOlt1ZCxvaixkXyx6VyxsZCxUVyxqayxDbCxCUCxGN10scG46ITB9KTtnLnhvKG4se05IOiRELFJjOlc9PigpPT5uZXcgZy5NcihXKSwKW2cuTFhdOlt3X10scG46ITB9KTtnLnhvKG4se05IOlJqLFlMOlJqLHBuOiEwfSk7Zy54byhuLHtOSDpRcSxZTDpRcSxwbjohMH0pO2cueG8obix7Tkg6VnEsWUw6VnEscG46ITB9KTtnLnhvKG4se05IOmNQLFlMOmNQLHBuOiEwfSk7Zy54byhuLHtOSDphaixSYzooVyxELGIsdik9Pih7SU5JVDp2LEVSUk9SX1VOUEFDS0VSOkQsUFJPQ0VTU19SRVNQT05TRTpiLENBTExCQUNLX0RJU1BBVENIRVI6V30pLApbZy5MWF06W1JqLFFxLFZxLGNQXSxwbjohMH0pO2cueG8obix7Tkg6blIsUmM6Vz0+KCk9Pm5ldyBXRyhXKSwKW2cuTFhdOlthal0scG46ITB9KX07CnFyPWZ1bmN0aW9uKG4pe3JldHVybnsuLi5uLmRhdGEuaW5uZXJ0dWJlUmVzcG9uc2UsY2FjaGVNZXRhZGF0YTp7aXNDYWNoZUhpdDohMH19fTsKdGU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihELmVudHJ5RGF0YS5pc1Byb2Nlc3NlZD0hMCxhd2FpdCBEdyhuLFcsRC5lbnRyeURhdGEpKX07CkR3PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLko7aWYoRC5leHBpcmVUaW1lc3RhbXBNcyl7Yj1OdW1iZXIoRC5leHBpcmVUaW1lc3RhbXBNcyktTWF0aC5yb3VuZCgoMCxnLlIpKCkpO2xldCB2PXYwKCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiKTt2PjAmJnY8YiYmKGI9dil9Yj1zZXRUaW1lb3V0KCgpPT57bi5yZW1vdmUoVyl9LGIpOwpuLk4uc2V0KFcse2VudHJ5RGF0YTpELHRpbWVyOmJ9KX07CnZHPWZ1bmN0aW9uKG4sVyl7aWYobj1uLk4uZ2V0KFcpKXJldHVybiBuZXcgYmgobi5lbnRyeURhdGEpfTsKa009ZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihjbGVhclRpbWVvdXQoRC50aW1lciksbi5OLmRlbGV0ZShXKSl9OwpoUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9ey4uLm59O2ZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhXKSl7bGV0IGs9blt2XSxoPVdbdl07aWYoaD09PXZvaWQgMClkZWxldGUgYlt2XTtlbHNlIGlmKGs9PT12b2lkIDApYlt2XT1oO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShoKSYmQXJyYXkuaXNBcnJheShrKSliW3ZdPUQ/Wy4uLmssLi4uaF06aDtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGgpJiZnLmZ0KGgpJiYhQXJyYXkuaXNBcnJheShrKSYmZy5mdChrKSliW3ZdPWhSKGssaCxEKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGspYlt2XT1oO2Vsc2UgcmV0dXJuIFc9bmV3IGcuUXgoIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6dixGVzprLHVwZGF0ZVZhbHVlOmh9KSxnLlhqKFcpLG59cmV0dXJuIGJ9Owp4TT1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ubGVuZ3RoPT09MD8hMToobj1uLk5bbi5OLmxlbmd0aC0xXSkmJm4uYnVmZmVyPT09Vy5idWZmZXImJm4uYnl0ZU9mZnNldCtuLmxlbmd0aD09PVcuYnl0ZU9mZnNldH07CkxSPWZ1bmN0aW9uKG4pe24uWD12b2lkIDA7bi5KPTA7bi5XPTB9OwplNT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXLk4pbi5hcHBlbmQoRCl9OwpnZD1mdW5jdGlvbihuLFcsRCl7dmFyIHtDczpiLFk5OnZ9PW4uc3BsaXQoVyk7KHtDczpifT12LnNwbGl0KEQpKTtyZXR1cm4gYn07ClhhPWZ1bmN0aW9uKG4sVyxEKXtuLmlzRm9jdXNlZChXKTtyZXR1cm4gVy1uLlcrRDw9bi5OW24uSl0ubGVuZ3RofTsKcUQ9ZnVuY3Rpb24obil7aWYoIW4uWCl7bGV0IFc9bi5OW24uSl07bi5YPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5sZW5ndGgpfXJldHVybiBuLlh9OwpHNj1mdW5jdGlvbihuLFc9MCxEPS0xKXtpZighbi50b3RhbExlbmd0aHx8IUQpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO0Q8MCYmKEQ9bi50b3RhbExlbmd0aC1XKTtuLmZvY3VzKFcpO2lmKCFYYShuLFcsRCkpe3ZhciBiPW4uSix2PW4uVztuLmZvY3VzKFcrRC0xKTt2PW5ldyBVaW50OEFycmF5KG4uVytuLk5bbi5KXS5sZW5ndGgtdik7bGV0IGs9MDtmb3IobGV0IGg9YjtoPD1uLko7aCsrKXYuc2V0KG4uTltoXSxrKSxrKz1uLk5baF0ubGVuZ3RoO24uTi5zcGxpY2UoYixuLkotYisxLHYpO0xSKG4pO24uZm9jdXMoVyl9Yj1uLk5bbi5KXTtyZXR1cm4gbmV3IERhdGFWaWV3KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCtXLW4uVyxEKX07CnRSPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249RzYobixXLEQpO3JldHVybiBuZXcgVWludDhBcnJheShuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoKX07CiRNPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249dFIobixXLEQpO1c9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO3RyeXtXLnNldChuKX1jYXRjaChiKXtmb3IoRD0wO0Q8bi5sZW5ndGg7RCsrKVdbRF09bltEXX1yZXR1cm4gV307CnJkPWZ1bmN0aW9uKG4sVyl7bi5mb2N1cyhXKTtyZXR1cm4gbi5OW24uSl1bVy1uLlddfTsKc3g9ZnVuY3Rpb24obixXKXtuLmZvY3VzKFcpO3JldHVybiBYYShuLFcsNCk/cUQobikuZ2V0VWludDMyKFctbi5XKToyNTYqKDI1NiooMjU2KnJkKG4sVykrcmQobixXKzEpKStyZChuLFcrMikpK3JkKG4sVyszKX07CmEyMj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpwUj1mdW5jdGlvbihuKXtyZXR1cm4gbi5sZW5ndGg/TkQ/TkQuZGVjb2RlKG4pOlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKToiIn07CmcuSEc9ZnVuY3Rpb24obil7aWYoIW4ubGVuZ3RoKXJldHVybiIiO3RyeXtpZihORClyZXR1cm4gTkQuZGVjb2RlKG4pO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgobil9Y2F0Y2h7fWZvcih2YXIgVz0wLEQ9W10sYj1uLmxlbmd0aDtXPGI7KXtsZXQgaz0wO2Zvcig7azwxMDI0JiZXPGI7KXt2YXIgdj1uW1crK107aWYodjwxMjgpe1lNW2srK109djtjb250aW51ZX1pZih2PDIyNCl2PSh2JjMxKTw8NnxuW1crK10mNjM7ZWxzZSBpZih2PDI0MCl2PSh2JjE1KTw8MTJ8KG5bVysrXSY2Myk8PDZ8bltXKytdJjYzO2Vsc2V7aWYoaysxPT09MTAyNCl7LS1XO2JyZWFrfXY9KHYmNyk8PDE4fChuW1crK10mNjMpPDwxMnwobltXKytdJjYzKTw8NnxuW1crK10mNjM7di09NjU1MzY7WU1baysrXT01NTI5Nnx2Pj4xMDt2PTU2MzIwfHYmMTAyM31ZTVtrKytdPXZ9dj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKWU0pO2s8MTAyNCYmKHY9di5zdWJzdHJpbmcoMCxrKSk7RC5wdXNoKHYpfXJldHVybiBELmpvaW4oIiIpfTsKSlI9ZnVuY3Rpb24obixXKXtpZihmUj8uZW5jb2RlSW50byl7bGV0IHtyZWFkOmIsd3JpdHRlbjp2fT1mUi5lbmNvZGVJbnRvKG4sVyk7cmV0dXJuIGI8bi5sZW5ndGg/bi5sZW5ndGgqNDp2fXZhciBEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT09NTUyOTYmJmIrMTxuLmxlbmd0aCYmKG4uY2hhckNvZGVBdChiKzEpJjY0NTEyKT09PTU2MzIwPyh2PTY1NTM2KygodiYxMDIzKTw8MTApKyhuLmNoYXJDb2RlQXQoKytiKSYxMDIzKSxXW0QrK109dj4+MTh8MjQwLFdbRCsrXT12Pj4xMiY2M3wxMjgpOldbRCsrXT12Pj4xMnwyMjQsV1tEKytdPXY+PjYmNjN8MTI4KSxXW0QrK109diY2M3wxMjgpfXJldHVybiBEfTsKSXc9ZnVuY3Rpb24obil7aWYoZlIpcmV0dXJuIGZSLmVuY29kZShuKTt2YXIgVz1uZXcgVWludDhBcnJheShNYXRoLmNlaWwobi5sZW5ndGgqMS4yKSksRD1KUihuLFcpO1cubGVuZ3RoPEQmJihXPW5ldyBVaW50OEFycmF5KEQpLEQ9SlIobixXKSk7Vy5sZW5ndGg+RCYmKFc9Vy5zdWJhcnJheSgwLEQpKTtyZXR1cm4gV307Cm1rPWZ1bmN0aW9uKG4sVyl7bj1uIGluc3RhbmNlb2YgVWludDhBcnJheT9uZXcgUzUoW25dKTpuO3JldHVybiBXKG5ldyBBUihuKSl9OwpLUj1mdW5jdGlvbihuKXt2YXIgVz1yZChuLk4sbi5wb3MpOysrbi5wb3M7aWYoVzwxMjgpcmV0dXJuIFc7Zm9yKHZhciBEPVcmMTI3LGI9MTtXPj0xMjg7KVc9cmQobi5OLG4ucG9zKSwrK24ucG9zLGIqPTEyOCxEKz0oVyYxMjcpKmI7cmV0dXJuIER9OwpPeD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uSjtmb3Iobi5KPS0xO24ucG9zKzE8PW4uTi50b3RhbExlbmd0aDspe0Q8MCYmKEQ9S1IobikpO3ZhciBiPUQ+PjM7bGV0IHY9RCY3O2lmKGI9PT1XKXJldHVybiEwO2lmKGI+Vyl7bi5KPUQ7YnJlYWt9RD0tMTtzd2l0Y2godil7Y2FzZSAwOktSKG4pO2JyZWFrO2Nhc2UgMTpuLnBvcys9ODticmVhaztjYXNlIDI6Yj1LUihuKTtuLnBvcys9YjticmVhaztjYXNlIDU6bi5wb3MrPTR9fXJldHVybiExfTsKUEc9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXJldHVybiBLUihuKX07Clp3PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4gVz10UihuLk4sbi5wb3MsOCksbi5wb3MrPTgsKG5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSkuZ2V0RmxvYXQ2NCgwLCEwKX07ClV4PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4hIUtSKG4pfTsKeUE9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXtXPUtSKG4pO3ZhciBEPXRSKG4uTixuLnBvcyxXKTtuLnBvcys9VztyZXR1cm4gRH19OwpFeD1mdW5jdGlvbihuLFcpe2lmKG49eUEobixXKSlyZXR1cm4gZy5IRyhuKX07CmloPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXlBKG4sVykpcmV0dXJuIEQobmV3IEFSKG5ldyBTNShbbl0pKSl9Owp1aD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1bXTtPeChuLFcpOylELnB1c2goS1IobikpO3JldHVybiBELmxlbmd0aD9EOnZvaWQgMH07Cm93PWZ1bmN0aW9uKG4sVyxEKXtmb3IodmFyIGI9W10sdjt2PXlBKG4sVyk7KWIucHVzaChEKG5ldyBBUihuZXcgUzUoW3ZdKSkpKTtyZXR1cm4gYi5sZW5ndGg/Yjp2b2lkIDB9OwpkZD1mdW5jdGlvbihuLFcsRCl7aWYoVyYmRCYmRC5idWZmZXI9PT1XLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcil7bGV0IGI9Vy5tZW1vcnkucmVhbGxvYyhELmJ5dGVPZmZzZXQsbik7aWYoYilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsYixuKX1uPVc/bmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsVy5tZW1vcnkubWFsbG9jKG4pLG4pOm5ldyBVaW50OEFycmF5KG4pO0QmJm4uc2V0KEQpO3JldHVybiBufTsKZy5saD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyB6Nig0MDk2KTtXKEQsbik7cmV0dXJuIG5ldyBVaW50OEFycmF5KEQuTi5idWZmZXIsRC5OLmJ5dGVPZmZzZXQsRC5wb3MpfTsKVDY9ZnVuY3Rpb24obixXKXtXPW4ucG9zK1c7aWYoIShuLk4ubGVuZ3RoPj1XKSl7Zm9yKHZhciBEPW4uTi5sZW5ndGgqMjtEPFc7KUQqPTI7bi5OPWRkKEQsbi5XVixuLk4uc3ViYXJyYXkoMCxuLnBvcykpO24udmlldz1uZXcgRGF0YVZpZXcobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCxuLk4uYnl0ZUxlbmd0aCl9fTsKajU9ZnVuY3Rpb24obixXKXtpZihXPjI2ODQzNTQ1NSl7VDYobiw0KTtsZXQgRD1XJjEwNzM3NDE4MjM7Zm9yKGxldCBiPTA7Yjw0O2IrKyluLnZpZXcuc2V0VWludDgobi5wb3MsRCYxMjd8MTI4KSxEPj4+PTcsbi5wb3MrPTE7Vz1NYXRoLmZsb29yKFcvMjY4NDM1NDU2KX1mb3IoVDYobiw0KTtXPjEyNzspbi52aWV3LnNldFVpbnQ4KG4ucG9zLFcmMTI3fDEyOCksVz4+Pj03LG4ucG9zKz0xO24udmlldy5zZXRVaW50OChuLnBvcyxXKTtuLnBvcys9MX07CkNSPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgpLGo1KG4sRCkpfTsKQkc9ZnVuY3Rpb24obixXLEQpe0QhPT12b2lkIDAmJkNSKG4sVyxEPzE6MCl9OwpnLkZhPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgrMiksVz1ELmxlbmd0aCxqNShuLFcpLFQ2KG4sVyksbi5OLnNldChELG4ucG9zKSxuLnBvcys9Vyl9Owp3ZD1mdW5jdGlvbihuLFcsRD0yKXtqNShuLFcqOCsyKTtuLkoucHVzaChuLnBvcyk7bi5KLnB1c2goRCk7bi5wb3MrPUR9OwpNRD1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5KLnBvcCgpLEQ9bi5KLnBvcCgpLGI9bi5wb3MtRC1XO1ctLTspe2xldCB2PVc/MTI4OjA7bi52aWV3LnNldFVpbnQ4KEQrKyxiJjEyN3x2KTtiPj49N319OwpnLlJ3PWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYod2QobixXLE1hdGguY2VpbChNYXRoLmxvZzIoRC5sZW5ndGgqNCsyKS83KSksVDYobixELmxlbmd0aCoxLjIpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSxuLnBvcytXPm4uTi5sZW5ndGgmJihUNihuLFcpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSksbi5wb3MrPVcsTUQobikpfTsKUUE9ZnVuY3Rpb24obixXLEQsYix2PTMpe0QmJih3ZChuLFcsdiksYihuLEQpLE1EKG4pKX07CmNHPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBBUihuZXcgUzUoW2xwKGRlY29kZVVSSUNvbXBvbmVudChuKSldKSk7bj1FeChXLDIpO1c9UEcoVyw0KTt2YXIgRD1WQVtXXTtpZih0eXBlb2YgRD09PSJ1bmRlZmluZWQiKXRocm93IG49bmV3IGcuUXgoIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGZpZWxkTnVtYmVyOld9KSxnLlhqKG4pLG47cmV0dXJue0RYOlcsZW50aXR5VHlwZTpELGVudGl0eUlkOm59fTsKbmY9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgejY7Zy5GYShELDIsSXcobikpO249YXdbV107aWYodHlwZW9mIG49PT0idW5kZWZpbmVkIil0aHJvdyBXPW5ldyBnLlF4KCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6V30pLGcuWGooVyksVztDUihELDQsbik7Q1IoRCw1LDEpO1c9bmV3IFVpbnQ4QXJyYXkoRC5OLmJ1ZmZlcixELk4uYnl0ZU9mZnNldCxELnBvcyk7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChnLkVBKFcsMCkpfTsKV2U9ZnVuY3Rpb24obil7bj1uLmtleXx8bi5pZDtpZighbil0aHJvdyBFcnJvcigiRW50aXR5IGtleSBpcyBtaXNzaW5nIik7cmV0dXJuIG59OwpERz1mdW5jdGlvbihuLFcsRCxiKXtpZihiPT09dm9pZCAwKXtsZXQge1tEXTp2LC4uLmt9PW5bV118fHt9O3JldHVybnsuLi5uLFtXXTprfX1yZXR1cm57Li4ubixbV106ey4uLm5bV10sW0RdOmJ9fX07CmJCPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bltXXXx8e30saD1rW0RdO2lmKCFoJiYhZy5sKCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIG47Yj1oUihofHx7fSxiLHY9PT0iUkVQRUFURURfRklFTERTX01FUkdFX09QVElPTl9BUFBFTkQiKTtyZXR1cm57Li4ubixbV106ey4uLmssW0RdOmJ9fX07Cm5taD1mdW5jdGlvbihuPXt9LFcpe3N3aXRjaChXLnR5cGUpe2Nhc2UgIkVOVElUWV9MT0FERUQiOnJldHVybiBXLnBheWxvYWQucmVkdWNlKChELGIpPT57dmFyIHY9Yi5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtpZih2JiZ2IT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fVU5LTk9XTiImJnYhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9JTk1FTU9SWV9BTkRfUEVSU0lTVCIpcmV0dXJuIEQ7aWYoIWIuZW50aXR5S2V5KXJldHVybiBnLlhqKEVycm9yKCJNaXNzaW5nIGVudGl0eSBrZXkiKSksRDtpZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFiLnBheWxvYWQpcmV0dXJuIGI9bmV3IGcuUXgoIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmIuZW50aXR5S2V5fSksZy5YaihiKSxEO3ZhciBrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIERHKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10pfWlmKGIudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7Yj1iLmVudGl0eUtleTt0cnl7bGV0IGg9Y0coYikuZW50aXR5VHlwZTtrPURHKEQsaCxiKTticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBFcnJvcil7Yj1uZXcgZy5ReCgiRmFpbGVkIHRvIGRlc2VyaWFsaXplIGVudGl0eSBrZXkiLHtlbnRpdHlLZXk6YixvcmlnaW5hbE1lc3NhZ2U6aC5tZXNzYWdlfSk7Zy5YaihiKTtrPUQ7YnJlYWsgYX10aHJvdyBoO31rPXZvaWQgMH1yZXR1cm4ga31pZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIil7aWYoIWIucGF5bG9hZClyZXR1cm4gYj1uZXcgZy5ReCgiVVBEQVRFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpiLmVudGl0eUtleX0pLGcuWGooYiksRDtrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIGJCKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10sYi5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIER9LApuKTsKY2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBERyhuLFcucGF5bG9hZC5lbnRpdHlUeXBlLFcucGF5bG9hZC5rZXksVy5wYXlsb2FkLmc4KTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoVy5wYXlsb2FkKS5yZWR1Y2UoKEQsYik9Pnt2YXIgdj1XLnBheWxvYWRbYl07cmV0dXJuIE9iamVjdC5rZXlzKHYpLnJlZHVjZSgoayxoKT0+REcoayxiLGgsdltoXSksRCl9LG4pOwpjYXNlICJVUERBVEVfRU5USVRZIjpyZXR1cm4gYkIobixXLnBheWxvYWQuZW50aXR5VHlwZSxXLnBheWxvYWQua2V5LFcucGF5bG9hZC5nOCxXLnBheWxvYWQublApO2RlZmF1bHQ6cmV0dXJuIG59fTsKVzRVPWZ1bmN0aW9uKCl7aWYodmUpcmV0dXJuIHZlKCk7dmU9a08oIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7S2M6e0VudGl0eVN0b3JlOnt2eDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOnt2eDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDEpJiZFUihaeShuLCJFbnRpdHlTdG9yZSIse2tleVBhdGg6ImtleSJ9KSwiZW50aXR5VHlwZSIsImVudGl0eVR5cGUiKTtXKDIpJiYobj1aeShuLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxFUihuLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLEVSKG4sImJ5Q2hpbGRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSIpKX0sdmVyc2lvbjozfSk7cmV0dXJuIHZlKCl9OwpEZlM9ZnVuY3Rpb24obil7cmV0dXJuIENGKFc0VSgpLG4pfTsKayQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KG4pOkFycmF5KG4pfTsKWDg9ZnVuY3Rpb24obil7dmFyIFc9bi5rZXksRD1uLmNvdW50ZXJbMF1eV1swXSxiPW4uY291bnRlclsxXV5XWzFdLHY9bi5jb3VudGVyWzJdXldbMl0saz1uLmNvdW50ZXJbM11eV1szXTtmb3IodmFyIGg9MztoPj0wJiYhKG4uY291bnRlcltoXT0tfm4uY291bnRlcltoXSk7aC0tKTtmb3IodmFyIHgsTCxlPTQ7ZTw0MDspaD1oRVtEPj4+MjRdXngkW2I+PjE2JjI1NV1eTGZbdj4+OCYyNTVdXmVZW2smMjU1XV5XW2UrK10seD1oRVtiPj4+MjRdXngkW3Y+PjE2JjI1NV1eTGZbaz4+OCYyNTVdXmVZW0QmMjU1XV5XW2UrK10sTD1oRVt2Pj4+MjRdXngkW2s+PjE2JjI1NV1eTGZbRD4+OCYyNTVdXmVZW2ImMjU1XV5XW2UrK10saz1oRVtrPj4+MjRdXngkW0Q+PjE2JjI1NV1eTGZbYj4+OCYyNTVdXmVZW3YmMjU1XV5XW2UrK10sRD1oLGI9eCx2PUw7bj1uLko7aD1XWzQwXTtuWzBdPWdOW0Q+Pj4yNF1eaD4+PjI0O25bMV09Z05bYj4+MTYmMjU1XV5oPj4xNiYyNTU7blsyXT1nTlt2Pj44JgoyNTVdXmg+PjgmMjU1O25bM109Z05bayYyNTVdXmgmMjU1O2g9V1s0MV07bls0XT1nTltiPj4+MjRdXmg+Pj4yNDtuWzVdPWdOW3Y+PjE2JjI1NV1eaD4+MTYmMjU1O25bNl09Z05baz4+OCYyNTVdXmg+PjgmMjU1O25bN109Z05bRCYyNTVdXmgmMjU1O2g9V1s0Ml07bls4XT1nTlt2Pj4+MjRdXmg+Pj4yNDtuWzldPWdOW2s+PjE2JjI1NV1eaD4+MTYmMjU1O25bMTBdPWdOW0Q+PjgmMjU1XV5oPj44JjI1NTtuWzExXT1nTltiJjI1NV1eaCYyNTU7aD1XWzQzXTtuWzEyXT1nTltrPj4+MjRdXmg+Pj4yNDtuWzEzXT1nTltEPj4xNiYyNTVdXmg+PjE2JjI1NTtuWzE0XT1nTltiPj44JjI1NV1eaD4+OCYyNTU7blsxNV09Z05bdiYyNTVdXmgmMjU1fTsKdEU9ZnVuY3Rpb24oKXtpZighcWEmJiFnLlJnKXtpZihHcilyZXR1cm4gR3I7R3I9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKEdyPy5pbXBvcnRLZXkmJkdyPy5zaWduJiZHcj8uZW5jcnlwdClyZXR1cm4gR3I7R3I9dm9pZCAwfX07CmJoMT1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJBRVMtQ1RSIn0sITEsWyJlbmNyeXB0Il0pKTtuPWF3YWl0IG4uSi5lbmNyeXB0KHtuYW1lOiJBRVMtQ1RSIixjb3VudGVyOkQsbGVuZ3RoOjEyOH0sbi5OLFcpO3JldHVybiBuZXcgVWludDhBcnJheShuKX07CiQkPWZ1bmN0aW9uKG4pe24uTj1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdO24uSz1bXTtuLksubGVuZ3RoPTY0O24uWD0wO24uSj0wfTsKc2U9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSyx2PW4uTlswXSxrPW4uTlsxXSxoPW4uTlsyXSx4PW4uTlszXSxMPW4uTls0XSxlPW4uTls1XSxHPW4uTls2XSxyPW4uTls3XSxOO2ZvcihsZXQgeT0wO3k8NjQ7KXtpZih5PDE2KWJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NDtlbHNle3ZhciBIPWJbeS0yXTt2YXIgQT1iW3ktMTVdO049Ylt5LTddK2JbeS0xNl0rKChIPj4+MTd8SDw8MTUpXihIPj4+MTl8SDw8MTMpXkg+Pj4xMCkrKChBPj4+N3xBPDwyNSleKEE+Pj4xOHxBPDwxNCleQT4+PjMpO2JbeV09Tn1IPXIrck5beV0rTisoKEw+Pj42fEw8PDI2KV4oTD4+PjExfEw8PDIxKV4oTD4+PjI1fEw8PDcpKSsoTCZlXn5MJkcpO0E9KCh2Pj4+Mnx2PDwzMCleKHY+Pj4xM3x2PDwxOSleKHY+Pj4yMnx2PDwxMCkpKyh2JmtediZoXmsmaCk7cj1IK0E7eCs9SDt5Kys7eTwxNj8oYlt5XT1OPVdbRF08PDI0fFdbRCsxXTw8MTZ8V1tEKzJdPDw4fFdbRCsKM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9RytyTlt5XStOKygoeD4+PjZ8eDw8MjYpXih4Pj4+MTF8eDw8MjEpXih4Pj4+MjV8eDw8NykpKyh4JkxefngmZSk7QT0oKHI+Pj4yfHI8PDMwKV4ocj4+PjEzfHI8PDE5KV4ocj4+PjIyfHI8PDEwKSkrKHImdl5yJmtediZrKTtHPUgrQTtoKz1IO3krKzt5PDE2PyhiW3ldPU49V1tEXTw8MjR8V1tEKzFdPDwxNnxXW0QrMl08PDh8V1tEKzNdLEQrPTQpOihIPWJbeS0yXSxBPWJbeS0xNV0sTj1iW3ktN10rYlt5LTE2XSsoKEg+Pj4xN3xIPDwxNSleKEg+Pj4xOXxIPDwxMyleSD4+PjEwKSsoKEE+Pj43fEE8PDI1KV4oQT4+PjE4fEE8PDE0KV5BPj4+MyksYlt5XT1OKTtIPWUrck5beV0rTisoKGg+Pj42fGg8PDI2KV4oaD4+PjExfGg8PDIxKV4oaD4+PjI1fApoPDw3KSkrKGgmeF5+aCZMKTtBPSgoRz4+PjJ8Rzw8MzApXihHPj4+MTN8Rzw8MTkpXihHPj4+MjJ8Rzw8MTApKSsoRyZyXkcmdl5yJnYpO2U9SCtBO2srPUg7eSsrO3k8MTY/KGJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9TCtyTlt5XStOKygoaz4+PjZ8azw8MjYpXihrPj4+MTF8azw8MjEpXihrPj4+MjV8azw8NykpKyhrJmhefmsmeCk7QT0oKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKSkrKGUmR15lJnJeRyZyKTtOPXI7cj14O3g9TjtOPUc7Rz1oO2g9TjtOPWU7ZT1rO2s9TjtMPXYrSDt2PUgrQTt5Kyt9bi5OWzBdPXYrbi5OWzBdfDA7bi5OWzFdPWsrbi5OWzFdfDA7bi5OWzJdPWgrbi5OWzJdfAowO24uTlszXT14K24uTlszXXwwO24uTls0XT1MK24uTls0XXwwO24uTls1XT1lK24uTls1XXwwO24uTls2XT1HK24uTls2XXwwO24uTls3XT1yK24uTls3XXwwfTsKTmE9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMzIpLEQ9NjQtbi5KO24uSj41NSYmKEQrPTY0KTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiWzBdPTEyODt2YXIgdj1uLlgqODtmb3IobGV0IGs9MTtrPDk7aysrKXtsZXQgaD12JTI1NjtiW0Qta109aDt2PSh2LWgpLzI1Nn1uLnVwZGF0ZShiKTtmb3IoRD0wO0Q8ODtEKyspV1tEKjRdPW4uTltEXT4+PjI0LFdbRCo0KzFdPW4uTltEXT4+PjE2JjI1NSxXW0QqNCsyXT1uLk5bRF0+Pj44JjI1NSxXW0QqNCszXT1uLk5bRF0mMjU1OyQkKG4pO3JldHVybiBXfTsKcGY9ZnVuY3Rpb24obixXLEQpe249bmV3IHZtaShuLk4pO24udXBkYXRlKFcpO24udXBkYXRlKEQpO1c9TmEobik7bi51cGRhdGUobi5qKTtuLnVwZGF0ZShXKTtXPU5hKG4pO24ucmVzZXQoKTtyZXR1cm4gV307CmtTaj1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJITUFDIixoYXNoOiJTSEEtMjU2In0sITEsWyJzaWduIl0pKTt2YXIgYj1uZXcgVWludDhBcnJheShXLmxlbmd0aCtELmxlbmd0aCk7Yi5zZXQoVyk7Yi5zZXQoRCxXLmxlbmd0aCk7bj1hd2FpdCBuLkouc2lnbih7bmFtZToiSE1BQyIsaGFzaDoiU0hBLTI1NiJ9LG4uTixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9Owp4ZlM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7bi5KfHwobi5KPW5ldyBoYXcobi5OLGIpKTtyZXR1cm4ga1NqKG4uSixXLEQpfTsKSGU9ZnVuY3Rpb24obixXLEQpe24uV3x8KG4uVz1uZXcgWSQobi5OKSk7cmV0dXJuIHBmKG4uVyxXLEQpfTsKTDRaPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10RSgpO2lmKGIpdHJ5e3JldHVybiBhd2FpdCB4ZlMobixXLEQsYil9Y2F0Y2godil7cmV0dXJuIGcuR3EodikscWE9ITAsSGUobixXLEQpfWVsc2UgcmV0dXJuIEhlKG4sVyxEKX07CmVhVT1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIEVycm9yP25ldyBmZigiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6bi5tZXNzYWdlfSk6bmV3IGZmKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTsKZ20yPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgRXJyb3I/bmV3IGZmKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTpuLm1lc3NhZ2V9KTpuZXcgZmYoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpKRT1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIGZmP246VyhuKTtnLlhqKG4pO3Rocm93IG47fTsKSTg9ZnVuY3Rpb24obil7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUobikuc3ViYXJyYXkoMCwxNik7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMTYpO1cuc2V0KG4pO3JldHVybiBXfTsKcXNVPWZ1bmN0aW9uKCl7dmFyIG49WHlVLnZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTtpZihuKXJldHVybiBuO2cuR3EobmV3IGcuUXgoIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5In0pKX07CkFFPWZ1bmN0aW9uKG4sVyl7YTp7bj1TWShuLlcsVy52ZXJzaW9uKTt0cnl7dmFyIEQ9bi5KKFcuZGF0YSxXLmtleSk7YnJlYWsgYX1jYXRjaChiKXtKRShiLGdtMil9RD12b2lkIDB9cmV0dXJuIER9OwpHU3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmluZGV4KCJlbnRpdHlUeXBlIikuZ2V0QWxsKElEQktleVJhbmdlLm9ubHkoVykpLnRoZW4oRD0+RC5tYXAoYj0+QUUobixiKSkpfTsKJGZpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V2UoVyk7cmV0dXJuIG1MKG4sRCkudGhlbigoKT0+dENoKG4sVykpfTsKS2Y9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSltEXTtifHwoYj1uZXcgU2V0LG4uSltEXT1iKTtiLmFkZChXKX07CnIzWj1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9U1kobi5XLDEpLHY9ey4uLld9O3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZ2V0KEQpLnRoZW4oaz0+e2lmKGspe2lmKGsuZW50aXR5VHlwZSE9PSJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKXRocm93IEVycm9yKCJJbmNvcnJlY3QgZW50aXR5IHR5cGUiKTt2LmVudGl0eU1ldGFkYXRhfHwoaz1BRShuLGspLHYuZW50aXR5TWV0YWRhdGE9ay5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e2E6e3RyeXt2YXIgaz1iLlcodixEKTsKYnJlYWsgYX1jYXRjaChoKXtKRShoLGVhVSl9az12b2lkIDB9az17a2V5OkQsZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IixkYXRhOmssdmVyc2lvbjoxfTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikucHV0KGspLCRmaShuLHYpXSl9KS50aGVuKCgpPT57S2YobixELCJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKTsKcmV0dXJuIER9KX07Ck9lPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Y0coVykuZW50aXR5VHlwZTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZGVsZXRlKFcpLG1MKG4sVyldKS50aGVuKCgpPT57S2YobixXLEQpfSl9OwptTD1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShXKSl9OwpzeHI9ZnVuY3Rpb24obixXKXtXPVcubWFwKEQ9Pk9lKG4sRCkpOwpyZXR1cm4gc1IuYWxsKFcpLnRoZW4oKCk9Pnt9KX07CnRDaD1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9cXNVKCk7aWYoIWIpcmV0dXJuIHNSLnJlc29sdmUoW10pO1c9bmV3IGIoVyk7bj1uLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtiPVtdO2ZvcihsZXQgdiBvZiBXLkooKSliLnB1c2gobi5wdXQoe3BhcmVudEVudGl0eUtleTpELGNoaWxkRW50aXR5S2V5OnZ9KSk7cmV0dXJuIHNSLmFsbChiKS50aGVuKHY9PnYubWFwKGs9PmtbMV0pKX07ClNZPWZ1bmN0aW9uKG4sVz0wKXtuPW4uTltXXTtpZighbil0aHJvdyBXPW5ldyBmZigiSU5WQUxJRF9FTkNPREVSX1ZFUlNJT04iLHtPQTpXfSksZy5YaihXKSxXO3JldHVybiBufTsKUGU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5vYnNlcnZlcnMpRChXKX07ClpHPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1hd2FpdCBEZlMobi50b2tlbiksdjtXPWF3YWl0IE9SKGIsWyJFbnRpdHlTdG9yZSIsIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiXSxXLGs9Pnt2PW5ldyBOR3coayxuLk4pO3JldHVybiBEKHYpfSk7CnYmJihiPXYuSixPYmplY3Qua2V5cyhiKS5sZW5ndGg+MCYmKG4uY2hhbm5lbC5wb3N0TWVzc2FnZShiKSxQZShuLGIpKSk7cmV0dXJuIFd9OwpweXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gWkcobix7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+cjNaKEQsVykpfTsKWXNNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pk9lKEQsVykpfTsKSGh3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnN4cihELFcpKX07ClVlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWRvbmx5IixHUTohMH0sRD0+R1N3KEQsVykpfTsKSTkyPWFzeW5jIGZ1bmN0aW9uKCl7dHJ5e2xldCBXPWF3YWl0IGcublAoKTtpZihXJiZSOSgpJiZ0eXBlb2YgZy5xaS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBuPW5ldyBmOWk7cmV0dXJuIG5ldyBKM2koVyxuKX19Y2F0Y2goVyl7VyBpbnN0YW5jZW9mIEVycm9yJiZnLlhqKFcpfX07CnlXPWZ1bmN0aW9uKCl7dmFyIG49WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLmZldGNoO3JldHVybiEhbiYmbi5sZW5ndGg9PT0zfTsKRWU9ZnVuY3Rpb24obixXKXtXPU51bWJlcihXKSoxRTM7dmFyIEQ9TWF0aC5yb3VuZCgoMCxnLlIpKCkpLGI9RC50b1N0cmluZygpO249e2lubmVydHViZVJlc3BvbnNlOm4sc2VydmVyRGF0ZVRpbWVzdGFtcE1zOmIsbGFzdE1vZGlmaWVkVGltZXN0YW1wTXM6YixleHBpcmVUaW1lc3RhbXBNczooRCtXKS50b1N0cmluZygpLGlzUHJvY2Vzc2VkOiEwfTtpZihXPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpbi5jbGllbnROYW1lPVc7cmV0dXJuIG59Owp1Qj1mdW5jdGlvbihuLFcsRCl7aWYoIWcubCgic3RhdGVfdGFnc19raWxsc3dpdGNoIikpe3ZhciBiPW5ldyBpQihXKTtpZigoYi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W10pLmxlbmd0aD4wKXt2YXIgdj1uLk4udUIoKTtmb3IobGV0IGggb2Ygdil7dmFyIGs9dkcobi5OLGgpO2lmKGspe2E6e3Y9Yi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W107az0obmV3IGlCKHFyKGspKSkuTj8ucmVsZXZhbnRTdGF0ZVRhZ3N8fFtdO2ZvcihsZXQgeCBvZiBrKWlmKHguc3RhdGVUYWchPW51bGwmJnYuaW5jbHVkZXMoeC5zdGF0ZVRhZykmJngub25TdGF0ZVRhZ01vZGlmaWVkPT09IlNUQVRFX1RBR19DQUNIRV9JTlNUUlVDVElPTl9FVklDVF9SRVNQT05TRSIpe3Y9ITA7YnJlYWsgYX12PSExfXYmJmtNKG4uTixoKX19fX1iPVcucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzO0QmJmImJk51bWJlcihiKT4wJiYoVz1FZShXLGIpLG4uTi5wdXQoRCxuZXcgYmgoVykpKX07ClNzWj1mdW5jdGlvbihuLFcsRCl7aWYobi5OKXtsZXQgYj1TMShUNShXLCJrZXkiKSl8fCIvVU5LTk9XTl9QQVRIIjtuLk4uc3RhcnQoYil9bj1EO2cubCgid3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0IikmJihuPU1YUyhEKSk7cmV0dXJuIG5ldyB3aW5kb3cuUmVxdWVzdChXLG4pfTsKZE49YXN5bmMgZnVuY3Rpb24obixXLEQsYix2LGspe2lmKGs/LmFib3J0ZWQpcmV0dXJuIFcuY2FuY2VsKCksYjt2YXIge3ZhbHVlOmgsZG9uZTp4fT1hd2FpdCBXLnJlYWQoKTtpZih4KXJldHVybiBuLk4/LnN1Y2Nlc3MoKSxiO3RyeXt2YXIgTD1ELnBhcnNlKGgpfWNhdGNoKGUpe3Rocm93IG5ldyBvOCgiRmFpbGVkIHRvIHBhcnNlIHN0cmVhbWluZyByZXNwb25zZSIsaCk7fWlmKEwhPW51bGwpZm9yKGxldCBlIG9mIEwpYi5wdXNoKGUpLHY/LihlKTtyZXR1cm4gZE4obixXLEQsYix2LGspfTsKbmM9ZnVuY3Rpb24obixXLEQpe2lmKCF6cil7bGV0IGs9Zy5xaigpO2cueG8oayx7Tkg6bEIsWUw6VHJ9KTtpZihEPy5vUyl7Zy54byhrLHtOSDpqWSxQZjpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsRC5jbGllbnRJbnRlcmZhY2UpfSk7Zy54byhrLHtOSDpDZixQZjo1MTg0RTZ9KTtnLnhvKGsse05IOkJlLFlMOkEzaixbZy5MWF06W2pZLENmXX0pO2cueG8oayx7Tkg6RjgsWUw6d059KTt2YXIgYj1rLnJlc29sdmUoRjgpO2xldCBoPXdpbmRvdztpZihoLnl0SW5pdGlhbFZpZGVvSWQpe3ZhciB2PWgueXRJbml0aWFsVmlkZW9JZDtoLnl0SW5pdGlhbFBsYXllclJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsUGxheWVyUmVzcG9uc2UseUgoInBsYXllciIse3ZpZGVvSWQ6dn0pKTtoLnl0SW5pdGlhbFdhdGNoTmV4dFJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsV2F0Y2hOZXh0UmVzcG9uc2UseUgoIm5leHQiLHt2aWRlb0lkOnZ9KSk7aC55dEluaXRpYWxSZWVsSXRlbVdhdGNoUmVzcG9uc2UmJgp1QihiLGgueXRJbml0aWFsUmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHlIKCJyZWVsX2l0ZW1fd2F0Y2giLHt2aWRlb0lkOnZ9KSl9fWcueG8oayx7Tkg6TWEsUGY6e3pnOntmZWVkYmFja0VuZHBvaW50OmhtKG1mUyksbW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludDpobShLNGkpLHBsYXlsaXN0RWRpdEVuZHBvaW50OmhtKE9ociksc2hhcmVFbnRpdHlFbmRwb2ludDpobShSOCksc3Vic2NyaWJlRW5kcG9pbnQ6aG0oUEd4KSx1bnN1YnNjcmliZUVuZHBvaW50OmhtKFpodCksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6aG0oVWZaKX19fSk7dj1iJC5nZXRJbnN0YW5jZSgpO2I9e307diYmKGIuY2xpZW50X2xvY2F0aW9uPXYpO0Q/Lm9TJiYodj1rLnJlc29sdmUoRjgpLGIuc3RvcmU9dixiLnJlc29sdmVfdXJsX3ByZWZldGNoPWsucmVzb2x2ZShRVykpO2cueG8oayx7Tkg6VlcsUGY6Yn0pO2cueG8oayx7Tkg6Y2UsUGY6biE9PXZvaWQgMD8KbjppTygpfSk7Vz09PXZvaWQgMCYmKFc9ay5yZXNvbHZlKGxCKSk7Zy5sKCJhbGxfd2ViX2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmY1MyKCk7RTliKGsucmVzb2x2ZShNYSksVyxrLnJlc29sdmUoY2UpLGsucmVzb2x2ZShWVyksRD8ub1M/ay5yZXNvbHZlKEJlKTp2b2lkIDApO2cueG8oayx7Tkg6YTgsUGY6WDcuaW5zdGFuY2V9KTt6cj1rLnJlc29sdmUoYTgpfXJldHVybiB6cn07CldRPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249bi5zcGxpdCgiJiIpO2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09MiYmKFdbblswXV09blsxXSk7cmV0dXJuIFd9Owp5M3I9YXN5bmMgZnVuY3Rpb24oKXt2YXIgbj13aW5kb3c7YXdhaXQgZy5NaChnLkQ2KCkpO3ZhciBXPW4uYmdldm1jO2lmKCFXKXRocm93IEVycm9yKCJCR0UgQ29udHJvbHMgbm90IGV4cG9zZWQiKTtyZXR1cm57cGF1c2U6KCk9PntXLnAoKX0sCnJlc3VtZTooKT0+e1cucigpfSwKY2hlY2tGb3JSZWZyZXNoOigpPT5XLmNyKCl9fTsKZy5ENj1mdW5jdGlvbigpe3JldHVybiBnLmwoImJnX3N0X2hyIik/ImhhdnVva21oaHMtMCI6YGhhdnVva21oaHMtJHtNYXRoLmZsb29yKGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/LnRpbWVPcmlnaW58fDApfWB9OwpiMD1mdW5jdGlvbihuKXt3aW5kb3cuYmdlbnM9bn07CkVteD1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShuPT57dmFyIFc9d2luZG93O1cubnRwZXZhc3JzIT09dm9pZCAwP24obmV3IHZRKFcubnRwZXZhc3JzKSk6KFcubnRwcWZiZWw9PT12b2lkIDAmJihXLm50cHFmYmVsPVtdKSxXLm50cHFmYmVsLnB1c2goRD0+e24obmV3IHZRKEQpKX0pKX0pfTsKeDU9ZnVuY3Rpb24oKXtpZihnLmFLKCkpe3ZhciBuPWcuQXIoIlBMQVlFUl9WQVJTIix7fSk7aWYoZy4keShuLCJwcml2ZW1iZWQiLCExKSE9IjEiJiYhZy54UihuKSl7dmFyIFc9KCk9PntrNT0hMDsiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3c/Zy5TSCgiRENMS1NUQVQiLDEpOmcuU0goIkRDTEtTVEFUIiwyKX07CnRyeXtsZXQgRD1Taihkb2N1bWVudCk7aU0oaGosVyxEKX1jYXRjaChEKXt9aWhDLnB1c2godGEuTFMoKCk9PntpZighKGs1fHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7aWYoaGoudG9TdHJpbmcoKSYmVyl7dmFyIEQ9YCR7QWkoVyl9YCxiPW9JW0RdO2ImJlBVKGIpfX1jYXRjaCh2KXt9azU9ITA7Zy5TSCgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07CkxjPWZ1bmN0aW9uKCl7dmFyIG49TnVtYmVyKGcuQXIoIkRDTEtTVEFUIiwwKSk7cmV0dXJuIGlzTmFOKG4pPzA6bn07CmV0PWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpvbU09YXN5bmMgZnVuY3Rpb24obil7aWYoZy5xaS55dEF0UCYmIWcubCgieXRhdHBfa3MiKSl7dmFyIFc9YXdhaXQgZy5xaS55dEF0UDtkZWxldGUgZy5xaS55dEF0UDt2YXIgRD1XPy5SO3ZhciBiPVc/LlQ7Vz11dDIoRCk7bGV0IGs9ISFiO24uSi5KKEQ/Vz9rPzc6MTA6az8xOjg6az8yOjksbi5XKyspO2lmKCFEfHxXKUQ9YXdhaXQgWHkobixxZShiLG51bGwpKSxEPUpTT04uc3RyaW5naWZ5KEQpO2cucWkueXRBdFJDP2cucWkueXRBdFJDKEQpOmcuR3EoRXJyb3IoInl0QXRSQyBub3QgZGVmaW5lZCBmb3IgeXRBdFAuIikpfWVsc2UgZy5xaS55dEF0UkM/Zy5WeCgwLGFzeW5jKCk9PntiPWcucWkueXRBdFQ7ZGVsZXRlIGcucWkueXRBdFQ7aWYoZy5xaS55dEF0UkMpe24uSi5KKDIsbi5XKyspO3ZhciBrPWF3YWl0IFh5KG4scWUoYixudWxsKSk7Zy5xaS55dEF0UkMmJmcucWkueXRBdFJDKEpTT04uc3RyaW5naWZ5KGspKX1lbHNlIG4uSi5KKDYsbi5XKyspfSwyLHYwKCJhdHRfaW5pdF9kZWxheSIsCjApKTooYj1nLnFpLnl0QXRULGRlbGV0ZSBnLnFpLnl0QXRULG4uSi5KKDEsbi5XKyspKTsKRD1hd2FpdCBFbXgoKTtELmJpbmRJbm5lcnR1YmVDaGFsbGVuZ2VGZXRjaGVyKGs9PntuLkouSigzLG4uVysrKTtyZXR1cm4gWHkobixxZShiLGspKX0pOwpELnJlZ2lzdGVyQ2hhbGxlbmdlRmV0Y2hlZENhbGxiYWNrKGs9PntrPWsuY2hhbGxlbmdlO2lmKCFrKXRocm93IEVycm9yKCJCR0VfTUFDUiIpO2s9e2NoYWxsZW5nZTprLFJSOldRKGspLE8xOnYsYmdDaGFsbGVuZ2U6bmV3IHIkfTtrPVByb21pc2UucmVzb2x2ZShrKTtuLk49a30pOwp2YXIgdj1hd2FpdCBnLk1oKGcuRDYoKSk7RD1ELmdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCkuY2hhbGxlbmdlO2lmKCFEKXRocm93IEVycm9yKCJCR0VfTUFDSUwiKTtyZXR1cm57Y2hhbGxlbmdlOkQsUlI6V1EoRCksTzE6dixiZ0NoYWxsZW5nZTpuZXcgciR9fTsKdGo9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9cWUodm9pZCAwLGckKCkuTik7dHJ5e3ZhciBEPWF3YWl0IGRmMihuLFcpfWNhdGNoKHgpe3JldHVybiBnLkdxKEVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYXR0ZXN0YXRpb24gY2hhbGxlbmdlIGFmdGVyIDUgYXR0ZW1wdHM7IG5vdCByZXRyeWluZyBmb3IgMjRoLiIpKSxHMChuLDg2NEU1KSx7Y2hhbGxlbmdlOiIiLFJSOnt9LE8xOnZvaWQgMCxiZ0NoYWxsZW5nZTp2b2lkIDB9fVc9RC5RRjt2YXIgYj1ELlR0O0cwKG4sKE51bWJlcihiLnQpfHw3MjAwKSoxRTMpO249dm9pZCAwO2lmKCJjMWEiaW4gYiYmRC5iZ0NoYWxsZW5nZSl7RD1ELmJnQ2hhbGxlbmdlO3ZhciB2PW5ldyByJDtpZihELmludGVycHJldGVySmF2YXNjcmlwdCl7dmFyIGs9Tk4oRC5pbnRlcnByZXRlckphdmFzY3JpcHQpO2s9S2IoaykudG9TdHJpbmcoKTt2YXIgaD1uZXcgcXY7Zy5TRShoLDYsayk7JDkodixxdiwxLGgseFUpfWVsc2UgRC5pbnRlcnByZXRlclVybCYmCihrPXB3KEQuaW50ZXJwcmV0ZXJVcmwpLGs9eDMoaykudG9TdHJpbmcoKSxoPW5ldyBHSCxnLlNFKGgsNCxrKSwkOSh2LEdILDIsaCx4VSkpO0QuaW50ZXJwcmV0ZXJIYXNoJiZBUyh2LDMsRC5pbnRlcnByZXRlckhhc2gseFUpO0QucHJvZ3JhbSYmQVModiw0LEQucHJvZ3JhbSx4VSk7RC5nbG9iYWxOYW1lJiZBUyh2LDUsRC5nbG9iYWxOYW1lLHhVKTtELmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iJiZBUyh2LDcsRC5jbGllbnRFeHBlcmltZW50c1N0YXRlQmxvYix4VSk7dHJ5e2F3YWl0IHRxKGckKCksdil9Y2F0Y2goeCl7cmV0dXJuIGcuR3EoeCkse2NoYWxsZW5nZTpXLFJSOmIsTzE6bixiZ0NoYWxsZW5nZTp2fX10cnl7bj1uZXcgQXEoe2NoYWxsZW5nZTp2LHgzOntWajoiYUdJZiJ9fSksYXdhaXQgbi5Pdn1jYXRjaCh4KXtnLkdxKHgpLG49dm9pZCAwfX1yZXR1cm57Y2hhbGxlbmdlOlcsUlI6YixPMTpuLGJnQ2hhbGxlbmdlOnZ9fTsKWHk9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLlg7aWYoIUR8fEQuV0coKSlyZXR1cm4gJDUobixXKTtnLmdfKCJhdHRfcG5hIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBuZXcgUHJvbWlzZShiPT57RC5lRigicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PnskNShuLFcpLnRoZW4oYil9KX0pfTsKZGYyPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPXZvaWQgMCxiPTA7Yjw1Oyl7aWYoYj4wKXtsZXQgdj0xRTMqTWF0aC5wb3coMixiLTEpK01hdGgucmFuZG9tKCkqMUUzO2F3YWl0IG5ldyBQcm9taXNlKGs9PntnLmNCKDAsKCk9PntrKHZvaWQgMCl9LHYpfSl9dHJ5e24uSi5KKDQsbi5XKyspOwpsZXQgdj1hd2FpdCBYeShuLFcpO3JldHVybiB6YWkodil9Y2F0Y2godil7RD12LHYgaW5zdGFuY2VvZiBFcnJvciYmZy5HcSh2KX1iKyt9dGhyb3cgRDt9OwpHMD1mdW5jdGlvbihuLFcpe3ZhciBEPURhdGUubm93KCkrVyxiPWFzeW5jKCk9Pnt2YXIgdj1ELURhdGUubm93KCk7djwxRTM/YXdhaXQgbDlpKG4pOmcuY0IoMCxiLE1hdGgubWluKHYsNkU0KSl9OwpiKCl9OwokNT1hc3luYyBmdW5jdGlvbihuLFcpe2IwKDIpO3RyeXtsZXQgRD1hd2FpdCBYeShuLm5ldHdvcmssVyk7RD9ELmNoYWxsZW5nZSYmIUQuYmdDaGFsbGVuZ2U/YjAoMSk6YjAoNCk6YjAoMyk7cmV0dXJuIER9Y2F0Y2goRCl7YjAoMyl9fTsKemFpPWZ1bmN0aW9uKG4pe2lmKCFuKXRocm93IEVycm9yKCJGZXRjaGluZyBBdHRlc3RhdGlvbiBjaGFsbGVuZ2UgcmV0dXJuZWQgZmFsc3kiKTtpZighbi5jaGFsbGVuZ2UpdGhyb3cgRXJyb3IoIk1pc3NpbmcgQXR0ZXN0YXRpb24gY2hhbGxlbmdlIik7dmFyIFc9bi5jaGFsbGVuZ2UsRD1XUShXKTtpZigiYzFhImluIEQmJighbi5iZ0NoYWxsZW5nZXx8IW4uYmdDaGFsbGVuZ2UucHJvZ3JhbSkpdGhyb3cgRXJyb3IoIkV4cGVjdGVkIGJnIGNoYWxsZW5nZSBidXQgbWlzc2luZy4iKTtyZXR1cm57Li4ubixRRjpXLFR0OkR9fTsKbDlpPWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPWF3YWl0IFByb21pc2UucmFjZShbbi5OLG51bGxdKSxEPXRqKG4pO24uTj1EO1c/Lk8xPy5kaXNwb3NlKCl9OwpUR2g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IFByb21pc2UoRD0+e2cuY0IoMCwoKT0+e0QoVygpKX0sbil9KX07CnFlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e2VuZ2FnZW1lbnRUeXBlOiJFTkdBR0VNRU5UX1RZUEVfVU5CT1VORCJ9O24mJihELmVhY3JUb2tlbj1uKTtXJiYoRC5pbnRlcnByZXRlckhhc2g9Vyk7cmV0dXJuIER9Owp1dDI9ZnVuY3Rpb24obil7aWYoIW58fCFnLmwoInJvc2NhcyIpKXJldHVybiExO3RyeXt2YXIgVz1KU09OLnBhcnNlKG4pfWNhdGNoKEQpe3JldHVybiExfW49Vy5jaGFsbGVuZ2U7aWYoIW4pcmV0dXJuITE7Vz1XUShuKTtuPU51bWJlcihXLmMpfHx2b2lkIDA7Vz1OdW1iZXIoVy50KXx8NzIwMDtyZXR1cm4hIW4mJkRhdGUubm93KCk+KG4rVykqMUUzfTsKcmE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2Uobj0+e3ZhciBXPXdpbmRvdztXLmF0dG1wIT09dm9pZCAwP24oVy5hdHRtcCk6KFcuYXR0bXE9PT12b2lkIDAmJihXLmF0dG1xPVtdKSxXLmF0dG1xLnB1c2goRD0+e24oRCl9KSl9KX07CmcucGM9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKHNoKCkpe3ZhciBiPXdpbmRvdztyZXR1cm4gYi5hdHRtcCE9PXZvaWQgMD9iLmF0dG1wLnMobixXLEQpOihhd2FpdCByYSgpKS5zKG4sVyxEKX1yZXR1cm4oYj0oYj1nLnJyKCJ5dC5hYmEuYXR0IikpP2I6TmUuaW5zdGFuY2UhPT12b2lkIDA/TmUuaW5zdGFuY2UuZFEuYmluZChOZS5pbnN0YW5jZSk6bnVsbCk/YihuLFcsRCk6UHJvbWlzZS5yZXNvbHZlKHtlcnJvcjoiQVRURVNUQVRJT05fRVJST1JfQVBJX05PVF9SRUFEWSJ9KX07CmcuWTU9YXN5bmMgZnVuY3Rpb24oKXtpZihzaCgpKXJldHVybiB3aW5kb3cuYXR0bXA9PT12b2lkIDA/ITE6KGF3YWl0IHJhKCkpLmlyKCk7dmFyIG47cmV0dXJuKG49KG49Zy5ycigieXQuYWJhLmF0dDIiKSk/bjpOZS5pbnN0YW5jZSE9PXZvaWQgMD9OZS5pbnN0YW5jZS55Zi5iaW5kKE5lLmluc3RhbmNlKTpudWxsKT9uKCk6UHJvbWlzZS5yZXNvbHZlKCExKX07CnNoPWZ1bmN0aW9uKCl7cmV0dXJuKGcubCgiYXR0bXVzaSIpfHxnLmwoImF0dG11c2l3IikpJiZnLmwoImF0dG11c2lfdWUiKX07CkhRPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIik7RHx8KEQ9e30sZy5HYigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIixEKSk7aWYoZy5sKCJ3ZWJfZGRfaXUiKXx8anhTLmluY2x1ZGVzKG4pKURbbl09V307CkJHTT1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17Y29udGV4dDpnLnZiKCksc2V0dGluZ0l0ZW1JZDpXLG5ld1ZhbHVlOkR9O0Q9TEIoQ0diKTtuPWF3YWl0IGcucl8obixXLEQpO2lmKCFufHxuLmVycm9yTWV0YWRhdGEpbj9uLmVycm9yTWV0YWRhdGEmJmcuR3EobmV3IGcuUXgoYFNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAke24uZXJyb3JNZXRhZGF0YS5zdGF0dXN9YCkpOmcuR3EobmV3IGcuUXgoIlNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIGVtcHR5IHJlc3BvbnNlIikpfTsKRjRiPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtEPyhuLnZWKDIpLGlNKGZ3KEQpLCgpPT57aWYod2luZG93LnRyYXlyaWRlKWZjKG4sYix2KTtlbHNle24udlYoMyk7bGV0IGg9dU0oRCkseD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChoKTt4JiYoeUooaCkseC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHgpKTtnLkdxKG5ldyBnLlF4KCJCTDpVTEIiLGAke0R9YCkpfX0saykpOlc/KGs9Zy56RigiU0NSSVBUIiksVyBpbnN0YW5jZW9mIEFGPyhrLnRleHRDb250ZW50PUtiKFcpLE9NKGspKTprLnRleHRDb250ZW50PVcsay5ub25jZT1Taihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChrKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGspLHdpbmRvdy50cmF5cmlkZT9mYyhuLGIsdik6KG4udlYoNCksZy5HcShuZXcgZy5ReCgiQkw6VUxCSiIpKSkpOmcuR3EobmV3IGcuUXgoIkJMOlVMViIpKX07CmZjPWZ1bmN0aW9uKG4sVyxEKXtuLnZWKDUpO3ZhciBiPSEhbi5EYSYmd3loLmluY2x1ZGVzKGcuSVAobi5EYSl8fCIiKTt0cnl7bGV0IHY9bmV3IEFxKHtwcm9ncmFtOlcsZ2xvYmFsTmFtZToidHJheXJpZGUiLHgzOntkaXNhYmxlOiFnLmwoImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiKXx8IWcubCgiYXR0X3NraXBfbWV0cmljc19mb3JfY29va2llbGVzc19kb21haW5zX2tzIikmJmIsVmo6ImFHSWYifX0pO3YuT3YudGhlbigoKT0+e24udlYoNik7RCYmRChXKX0pOwpuLk4odil9Y2F0Y2godil7bi52Vig3KSx2IGluc3RhbmNlb2YgRXJyb3ImJmcuR3Eodil9fTsKdmFyIE1DYj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDEsODEzOCxuLFcsRCl9OwpKaj1mdW5jdGlvbigpe3ZhciBuPWcucnIoInl0LmFidXNlLnBsYXllckF0dExvYWRlciIpO3JldHVybiBuJiZbImJndm1hIiwiYmd2bWIiLCJiZ3ZtYyJdLmV2ZXJ5KFc9PlcgaW4gbik/bjpudWxsfTsKUmFTPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDI6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiAyO2Nhc2UgMDpyZXR1cm4gMztjYXNlIDQ6Y2FzZSAzOnJldHVybiAxO2RlZmF1bHQ6Zy5wYihuLCJ1bmtub3duIHJlc3VsdCB0eXBlIil9fTsKZy5JYT1mdW5jdGlvbihuKXtyZXR1cm4gbj8ubGF5b3V0SWQhPW51bGwmJm4/LmxheW91dFR5cGUhPW51bGx9OwpnLlo2PWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuU3QpfHxnLncobixnLkFqKXx8Zy53KG4sZy5tMil8fGcudyhuLGcuS2MpfHxnLncobixnLk9oKXx8Zy53KG4sZy5QUSk/ITA6ITF9OwpnLnUwPWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuVWgpfHxnLncobixnLnlWKXx8Zy53KG4sUXhNKXx8Zy53KG4sZy5FaCl8fGcudyhuLGcuaTApPyEwOiExfTsKZy56MD1mdW5jdGlvbihuKXtyZXR1cm4gZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpP2cudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5vYSl8fGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5kYSk/ITA6ITE6ITF9OwpnLmwwPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclZhcnMhPT12b2lkIDAmJm4ucGluZ3MhPT12b2lkIDAmJm4uZXh0ZXJuYWxWaWRlb0lkIT09dm9pZCAwfTsKZy5NZT1mdW5jdGlvbihuKXtpZighZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpKXJldHVybiExO249bi5yZW5kZXJpbmdDb250ZW50O3ZhciBXPWcudyhuLGcuVDApO3JldHVybiBXP2cuanQoVyk6KFc9Zy53KG4sZy5DYykpP2cubDAoVyk6KFc9Zy53KG4sZy5CUSkpP1cucGxheWVyVmFycyE9PXZvaWQgMDooVz1nLncobixnLlVoKSk/Vy5kdXJhdGlvbk1pbGxpc2Vjb25kcyE9PXZvaWQgMDpnLncobixnLkZ5KXx8Zy53KG4sZy53YSk/ITA6ITF9OwpnLmp0PWZ1bmN0aW9uKG4pe249KG4uc2VxdWVudGlhbExheW91dHN8fFtdKS5tYXAoVz0+Zy53KFcsZy5SYSkpOwpyZXR1cm4gbi5sZW5ndGg+MCYmbi5ldmVyeShnLk1lKX07CmcuVlY9ZnVuY3Rpb24obil7cmV0dXJuIGcuSWEobi5hZExheW91dE1ldGFkYXRhKT8obj1nLncobi5yZW5kZXJpbmdDb250ZW50LGcuUVYpKSYmbi5waW5ncz8hMDohMTohMX07CmcuRHE9ZnVuY3Rpb24obil7aWYoIWcuSWEobi5hZExheW91dE1ldGFkYXRhKSlyZXR1cm4hMTtpZihnLncobi5yZW5kZXJpbmdDb250ZW50LGcuY1EpfHxnLncobi5yZW5kZXJpbmdDb250ZW50LGcub2EpKXJldHVybiEwO3ZhciBXPWcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5hYSk7cmV0dXJuIGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5uaSl8fGcudyhXPy5zaWRlUGFuZWwsVkMyKXx8Zy53KFc/LnNpZGVQYW5lbCxnLlckKXx8Zy53KFc/LnNpZGVQYW5lbCxjM2gpPyEwOiExfTsKZy5nTT1mdW5jdGlvbihuKXt2YXIgVzsoVz0hbil8fChXPW4uYWRTbG90TWV0YWRhdGEsVz0hKFc/LnNsb3RJZCE9PXZvaWQgMCYmVz8uc2xvdFR5cGUhPT12b2lkIDApKTtpZihXfHwhKGcuYloobil8fG4uc2xvdEVudHJ5VHJpZ2dlciYmbi5zbG90RnVsZmlsbG1lbnRUcmlnZ2VycyYmbi5zbG90RXhwaXJhdGlvblRyaWdnZXJzKSlyZXR1cm4hMTtuPW4uZnVsZmlsbG1lbnRDb250ZW50Py5mdWxmaWxsZWRMYXlvdXQ7cmV0dXJuKFc9Zy53KG4sZy5SYSkpP2cuTWUoVyk6KFc9Zy53KG4sZy52JCkpP2cuRHEoVyk6KFc9Zy53KG4sZy5reikpP2cudTAoVyk6KFc9Zy53KG4sZy5oWCkpP2cuWjYoVyk6KFc9Zy53KG4sZy54eikpP2cuSWEoVy5hZExheW91dE1ldGFkYXRhKT9nLncoVy5yZW5kZXJpbmdDb250ZW50LGcuU3QpPyEwOiExOiExOihXPWcudyhuLGcuTGkpKT9nLlZWKFcpOihuPWcudyhuLGcuZTIpKT9nLnowKG4pOiExfTsKZy5iWj1mdW5jdGlvbihuKXtyZXR1cm4obj1nLncobi5mdWxmaWxsbWVudENvbnRlbnQ/LmZ1bGZpbGxlZExheW91dCxnLnYkKSkmJm4uYWRMYXlvdXRNZXRhZGF0YT8ubGF5b3V0VHlwZT09PSJMQVlPVVRfVFlQRV9QQU5FTF9RUl9DT0RFIiYmbi5sYXlvdXRFeGl0Tm9ybWFsVHJpZ2dlcnM9PT12b2lkIDB9OwphOXI9ZnVuY3Rpb24obil7Zm9yKGxldCBXIG9mIG58fFtdKXtuPWcudyhXLGcuWEcpO2lmKG49PT12b2lkIDB8fCFnLmdNKG4pKWJyZWFrO2lmKChuPWcudyhuLmZ1bGZpbGxtZW50Q29udGVudD8uZnVsZmlsbGVkTGF5b3V0LGcuTGkpKSYmZy5WVihuKSlyZXR1cm4hMH1yZXR1cm4hMX07CnE0PWZ1bmN0aW9uKG4pe2lmKCFufHwhbi5hZFBsYWNlbWVudHMmJiFuLmFkU2xvdHMpcmV0dXJuITE7Zm9yKGxldCBXIG9mIG4uYWRQbGFjZW1lbnRzfHxbXSl7aWYoIVcpY29udGludWU7bGV0IEQ9Vy5hZFBsYWNlbWVudFJlbmRlcmVyO2lmKEQhPW51bGwmJihELmNvbmZpZyYmRC5jb25maWcuYWRQbGFjZW1lbnRDb25maWcmJkQuY29uZmlnLmFkUGxhY2VtZW50Q29uZmlnLmtpbmQpPT09IkFEX1BMQUNFTUVOVF9LSU5EX1NUQVJUIilyZXR1cm4hMH1mb3IobGV0IFcgb2Ygbi5hZFNsb3RzfHxbXSlpZihnLncoVyxnLlhHKT8uYWRTbG90TWV0YWRhdGE/LnRyaWdnZXJFdmVudD09PSJTTE9UX1RSSUdHRVJfRVZFTlRfQkVGT1JFX0NPTlRFTlQiKXJldHVybiEwO3JldHVybiExfTsKbm4xPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Vz9XLmlzVHJ1c3RlZD09PSEwP0QucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRCIpOlcuaXNUcnVzdGVkPT09ITE/RC5wdXNoKCJCSVNDT1RUSV9CQVNFRF9ERVRFQ1RJT05fU1RBVEVfQVNfU0VFS19FVkVOVF9OT1RfVFJVU1RFRCIpOkQucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRF9QUk9QRVJUWV9VTkRFRklORUQiKTpELnB1c2goIkJJU0NPVFRJX0JBU0VEX0RFVEVDVElPTl9TVEFURV9BU19TRUVLX0VWRU5UX1VOREVGSU5FRCIpO2cuR0MoMCwiYS5zXyIse21ldGFkYXRhOm4sc3RhdGVzOkR9KTtnLlNIKCJBU0RTVEFUIiwwKX07CmcuR0M9ZnVuY3Rpb24obixXLEQpe1c9V0RDW1ddO3ZhciBiPXtkZXRlY3RlZDpuPT09MCxzb3VyY2U6YCR7Vy5KfSR7RC50cmlnZ2VyQ29udGV4dD8/IiJ9JHtELk0zPz8iIn1gLGRldGVjdGlvblN0YXRlczpELnN0YXRlcyxkdXJhdGlvbk1zOkQuRXd9O0QubWV0YWRhdGEmJihiLmNvbnRlbnRDcG49RC5tZXRhZGF0YS5jb250ZW50Q3BuLGIuYWRDcG49RC5tZXRhZGF0YS5hZENwbik7Zy56VSgiYmlzY290dGlCYXNlZERldGVjdGlvbiIsYik7Vy5OIT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpLFcuTiE9PXZvaWQgMD8oVz1XLk4sbj1SYVMobiksbj1EJn4oMzw8Vyl8bjw8Vyk6bj1ELGcuU0goIkNBVFNUQVQiLG4pKX07CnRYPWZ1bmN0aW9uKG4sVyl7bj1uLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKWlmKG5bRF0uc2NvcGU9PT1XKXJldHVybiBuW0RdLnRva2VufHx2b2lkIDB9OwpnLk40PWZ1bmN0aW9uKG4pe3ZhciBXPWcudyhuLCR6KTtpZihXKXJldHVybiBXO2lmKChXPWcudyhuLERZcikpJiZXLmNvbW1hbmRzKXJldHVybiByTShXLmNvbW1hbmRzKTtpZigoVz1nLncobixiOGIpKSYmVy5jb21tYW5kcylyZXR1cm4gck0oVy5jb21tYW5kcyk7aWYoKG49Zy53KG4sdm5NKSkmJm4uaWRlbnRpZmllciYmbi5jb21tYW5kJiYoczN8fChzMz1bXSksIXMzLmluY2x1ZGVzKG4uaWRlbnRpZmllcikpKXJldHVybiBzMy5wdXNoKG4uaWRlbnRpZmllciksZy53KG4uY29tbWFuZCwkeil9OwpyTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aCE9PTApe3ZhciBXPVtdO2ZvcihsZXQgRCBvZiBuKShuPWcuTjQoRCkpJiZXLnB1c2gobik7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOld9fX19OwpwaT1mdW5jdGlvbihuKXtpZihuJiZuLnNpbXBsZVRleHQpcmV0dXJuIG4uc2ltcGxlVGV4dDt2YXIgVz0iIjtpZihuJiZuLnJ1bnMpZm9yKGxldCBEPTA7RDxuLnJ1bnMubGVuZ3RoO0QrKyluLnJ1bnNbRF0udGV4dCYmKFcrPW4ucnVuc1tEXS50ZXh0KTtyZXR1cm4gV307Cll6PWZ1bmN0aW9uKG4pe3JldHVybiBuP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChXKXtnLlhqKFcpfX06bn07CmZpPWZ1bmN0aW9uKCl7SCQuaW5zdGFuY2V8fChIJC5pbnN0YW5jZT1uZXcgSCQpO3JldHVybiBIJC5pbnN0YW5jZX07CklmPWZ1bmN0aW9uKCl7SlguaW5zdGFuY2V8fChKWC5pbnN0YW5jZT1uZXcgSlgpO3JldHVybiBKWC5pbnN0YW5jZX07Cm1VPWZ1bmN0aW9uKG4sVyxELGI9e30pe1BWKCgpPT57a3ZNLmluY2x1ZGVzKFcpfHwoZy5HcShuZXcgZy5ReCgiY3JlYXRlQ2xpZW50U2NyZWVuKCkgY2FsbGVkIHdpdGggYSBub24tcGFnZSBWRSIsVykpLFc9ODM3NjkpO2lmKCFiLmlzSGlzdG9yeU5hdmlnYXRpb24pe2xldCB2PWIubGF5ZXJ8fDA7bi5UQy5zZXQodixbXSk7UzIobix2KS5wdXNoKHtyb290VmU6VyxrZXk6Yi5rZXl8fCIifSl9bi5EPVtdO24uTz1bXTtiLlVBP2hqdChuLFcsRCxiKTpBWChuLFcsRCxiKX0pKCl9OwpTMj1mdW5jdGlvbihuLFcpe24uSy5oYXMoVyl8fG4uSy5zZXQoVyxbXSk7cmV0dXJuIG4uSy5nZXQoVyl9OwpoanQ9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5OLmFkZChiLmxheWVyfHwwKTtuLmo9KCk9PntBWChuLFcsRCxiKTt2YXIgdj13NChiLmxheWVyKTtpZih2KXtsZXQgaz1nLlJ2KGIubGF5ZXIpO2ZvcihsZXQgaCBvZiBuLkQpe2xldCB4PWhbMF0sTD1oWzFdfHx2O2s/S2kobix4LEwsYi5sYXllcixrKTpPMyhuLHgsTCxiLmxheWVyKX1mb3IobGV0IGggb2Ygbi5PKVAkKG4saFswXSxoWzFdKX19OwpEfHxnLlJ2KGIubGF5ZXIpfHxuLmooKTtpZihiLlVBKWZvcihsZXQgdiBvZiBiLlVBKXhZYihuLHYsYi5sYXllcik7ZWxzZSBnLlhqKEVycm9yKCJEZWxheWVkIHNjcmVlbiBuZWVkcyBhIGRhdGEgcHJvbWlzZS4iKSl9OwpBWD1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj12b2lkIDA7Yi5sYXllcnx8KGIubGF5ZXI9MCk7dj1iLnBhcmVudExheWVyIT09dm9pZCAwP2IucGFyZW50TGF5ZXI6Yi5sYXllcjt2YXIgaz1nLlJ2KHYpO3Y9dzQodik7dmFyIGg9RHx8dix4O2gmJihiLnBhcmVudENzbiE9PXZvaWQgMD94PXtjbGllbnRTY3JlZW5Ob25jZTpiLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmsmJmshPT0iVU5ERUZJTkVEX0NTTiImJih4PXtjbGllbnRTY3JlZW5Ob25jZTprLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgTCxlPWcuQXIoIkVWRU5UX0lEIik7az09PSJVTkRFRklORURfQ1NOIiYmZSYmKEw9e3NlcnZsZXREYXRhOntzZXJpYWxpemVkU2VydmxldEV2ZW50SWQ6ZX19KTtnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikmJmsmJlpxKG4sayk7Zy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZrJiZkSyhoLGspO3RyeXt2YXIgRz1nOWkobi5jbGllbnQsVyx4LGIuTDgsCmIuY3R0QXV0aEluZm8sTCxiLmltcGxpY2l0R2VzdHVyZVR5cGUsYi5sb2dnaW5nRXhwZWN0YXRpb25zLGIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKE4pe0s0KE4se2w3Olcscm9vdFZlOnYsSTc6RCxsQTprLGdQOngsTDg6Yi5MOH0pO2cuWGooTik7cmV0dXJufWNzKEcsVyxiLmxheWVyLGIuY3R0QXV0aEluZm8pO2smJmshPT0iVU5ERUZJTkVEX0NTTiImJnYmJiF3SEMoaykmJihUcShuLmNsaWVudCxrLHYsITApLG4uSi5kZWxldGUoaykpO1c9UzIobixiLmxheWVyfHwwKTtXLmxlbmd0aD4wJiYhV1tXLmxlbmd0aC0xXS5jc24mJihXW1cubGVuZ3RoLTFdLmNzbj1HfHwiIik7Zy5ubCh7Y2xpZW50U2NyZWVuTm9uY2U6R30pO1UzLmluc3RhbmNlfHwoVTMuaW5zdGFuY2U9bmV3IFUzKTtQVihmaSgpLk4pLmJpbmQoZmkoKSkoKTt2YXIgcj13NChiLmxheWVyKTtrJiZrIT09IlVOREVGSU5FRF9DU04iJiZyJiZnLmwoIm11c2ljX3dlYl9tYXJrX3Jvb3RfdmlzaWJsZSIpJiYKRmooRyxyKTtuLk4uZGVsZXRlKGIubGF5ZXJ8fDApO24uaj12b2lkIDA7bi5TJC5nZXQoYi5sYXllcik/LmZvckVhY2goKE4sSCk9PntOP08zKG4sSCxOLGIubGF5ZXIpOnImJk8zKG4sSCxyLGIubGF5ZXIpfSk7CkxEWihuKX07CnhZYj1mdW5jdGlvbihuLFcsRD0wKXtQVigoKT0+e1cudGhlbihiPT57bi5OLmhhcyhEKSYmbi5qJiZuLmooKTt2YXIgdj1nLlJ2KEQpLGs9dzQoRCk7aWYodiYmayl7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2I/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpO2I/LnBsYXllclJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07CktpPWZ1bmN0aW9uKG4sVyxELGI9MCx2KXtuLkouaGFzKHYpfHxuLkouc2V0KHYsbmV3IFNldCk7dmFyIGs9RHx8dzQoYik7az1gJHtXLnRvU3RyaW5nKCl9fCR7az9rLnRvU3RyaW5nKCk6IiJ9YDtuLkouZ2V0KHYpLmhhcyhrKXx8KE8zKG4sVyxELGIpLG4uSi5nZXQodikuYWRkKGspKX07Ck8zPWZ1bmN0aW9uKG4sVyxELGI9MCl7cmV0dXJuIFBWKCgpPT57aWYobi5OLmhhcyhiKSlyZXR1cm4gbi5ELnB1c2goW1csRF0pLCEwO3ZhciB2PWcuUnYoYiksaz1EfHx3NChiKTtpZih2JiZrKXtpZihnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikpe2xldCBoPW4uWC5nZXQoay50b1N0cmluZygpKTtoP2gucHVzaChXKToobi5ZLnNldChrLnRvU3RyaW5nKCksayksbi5YLnNldChrLnRvU3RyaW5nKCksW1ddKSk7bi50d3x8KG4udHc9Zy5jQigwLCgpPT57WnEobix2KX0sMTIwMCkpfWVsc2UgdWcobi5jbGllbnQsdixrLFcpOwpyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpnLnlyPWZ1bmN0aW9uKG4pe3ZhciBXPUlmKCk7UFYoKCk9Pnt2YXIgRD1UVShuKSxiPWcuUnYoMCk7YiYmIVcuTi5oYXMoMCk/S2koVyxELHZvaWQgMCwwLGIpOk8zKFcsRCx2b2lkIDAsMCk7cmV0dXJuIER9KSgpfTsKZWp3PWZ1bmN0aW9uKG4pe3ZhciBXPXt2ZVR5cGU6MjUzMjQ2fTtyZXR1cm4gUFYoKCk9PntpZighVy52ZVR5cGUpcmV0dXJuIGcucWcobmV3IGcuUXgoIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihXLnZpc2liaWxpdHlUeXBlcyl7dmFyIEQ9Vy52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChiLHYpPT5ifHYpOwpEPXt2aXNpYmlsaXR5Ont0eXBlczpTdHJpbmcoRCl9fX1EPWp5KFcudmVUeXBlLFcudmlzdWFsRWxlbWVudCxXLmVsZW1lbnRJbmRleCxXLmNsaWVudFlvdVR1YmVEYXRhLHZvaWQgMCxEKTtyZXR1cm4gTzMobixEKT9EOm51bGx9KSgpfTsKWnE9ZnVuY3Rpb24obixXKXtpZihXPT09dm9pZCAwKXtsZXQgRD1CZ3IoKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKylEW2JdIT09dm9pZCAwJiZacShuLERbYl0pfWVsc2Ugbi5YLmZvckVhY2goKEQsYik9PnsoYj1uLlkuZ2V0KGIpKSYmaWcobi5jbGllbnQsVyxiLEQpfSksbi5YLmNsZWFyKCksbi5ZLmNsZWFyKCksbi50dz12b2lkIDB9Owpnblo9ZnVuY3Rpb24obixXLEQsYj0wKXtpZighVylyZXR1cm4hMTtiPWcuUnYoYik7aWYoIWIpcmV0dXJuITE7amkobi5jbGllbnQsYixUVShXKSxEKTtyZXR1cm4hMH07ClAkPWZ1bmN0aW9uKG4sVyxELGI9MCl7dmFyIHY9Zy5SdihiKTtXPVd8fHc0KGIpO3YmJlcmJihuPW4uY2xpZW50LGI9UGEoe2N0dEF1dGhJbmZvOlE0KHYpfHx2b2lkIDB9LHYpLEQ9e2Nzbjp2LHZlOlcuZ2V0QXNKc29uKCksY2xpZW50RGF0YTpEfSx2PT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixELGIpKX07CkxEWj1mdW5jdGlvbihuKXtmb3IodmFyIFc9MDtXPG4uVi5sZW5ndGg7VysrKXt2YXIgRD1uLlZbV107dHJ5e0QoKX1jYXRjaChiKXtnLlhqKGIpfX1uLlYubGVuZ3RoPTA7Zm9yKFc9MDtXPG4uY0oubGVuZ3RoO1crKyl7RD1uLmNKW1ddO3RyeXtEKCl9Y2F0Y2goYil7Zy5YaihiKX19fTsKaVo9ZnVuY3Rpb24oKXtFMy5pbnN0YW5jZXx8KEUzLmluc3RhbmNlPW5ldyBFMyk7cmV0dXJuIEUzLmluc3RhbmNlfTsKWE9iPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgWE1MSHR0cFJlcXVlc3Q7RD8ubGcmJihiLm9ucmVhZHlzdGF0ZWNoYW5nZT12PT57RC5sZyhiLHYpfSk7CmIub3BlbihXLm1ldGhvZD8/IkdFVCIsbiwhMCk7Yi5yZXNwb25zZVR5cGU9InRleHQiO2Iud2l0aENyZWRlbnRpYWxzPSEwO2lmKFcuaGVhZGVycylmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMoVy5oZWFkZXJzKSliLnNldFJlcXVlc3RIZWFkZXIodixrKTtyZXR1cm4gYn07CnFmUz1mdW5jdGlvbigpe3ZhciBuPW5hdmlnYXRvcjtyZXR1cm4gbmV3IFByb21pc2UoKFcsRCk9PntuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YT9uLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2UucXVlcnlVc2FnZUFuZFF1b3RhKChiLHYpPT57Vyh7dXNhZ2U6YixxdW90YTp2fSl9LGI9PntEKGIpfSk6RChFcnJvcigid2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkLiIpKX0pfTsKdDZDPWZ1bmN0aW9uKG4sVyl7R3ZVKG4ucHJvZ3JhbSxXLkQzKSYmKGcuZ18oImJnX2kiLHZvaWQgMCwicGxheWVyX2F0dCIpLGcudVouaW5pdGlhbGl6ZShuLCgpPT57Zy5nXygiYmdfbCIsdm9pZCAwLCJwbGF5ZXJfYXR0Iik7b2Y9KDAsZy5SKSgpfSxXLmNzcE5vbmNlLFcuRGEpKX07CnZhciAkWWo9ZnVuY3Rpb24oKXtyZXR1cm4gSjRbSVsxMF1dKHRoaXMsMTYsNDYyNil9OwpyOVM9ZnVuY3Rpb24obj17fSl7cmV0dXJuIGcudVouaW52b2tlKG4pfTsKR3ZVPWZ1bmN0aW9uKG4sVyl7aWYobil7dmFyIEQ7Zy51Wi5pc0xvYWRpbmcoKT9EPSExOkQ9IW9mfHwoMCxnLlIpKCktb2Y+VztuPUR9ZWxzZSBuPSExO3JldHVybiBufTsKc18yPWZ1bmN0aW9uKG4sVyl7aWYoVy5wYXJ0bmVySWQ9PT0zOCYmbi5wbGF5ZXJTdHlsZT09PSJib29rcyIpe3ZhciBEPVcudmlkZW9JZC5pbmRleE9mKCI6Iik7bj1XLnZpZGVvSWQuc2xpY2UoMCxEKTtEPVcudmlkZW9JZC5zbGljZShEKzEpO3JldHVybiBnLkVUKGAvL3BsYXkuZ29vZ2xlLmNvbS9ib29rcy92b2x1bWVzLyR7bn0vY29udGVudC9tZWRpYWAse2FpZDpELHNpZzpXLnlkfSl9aWYoVy5wYXJ0bmVySWQ9PT0zMCYmbi5wbGF5ZXJTdHlsZT09PSJkb2NzIilyZXR1cm4gZy5FVCgiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZ2V0X3ZpZGVvX2luZm8iLHtkb2NpZDpXLnZpZGVvSWQsYXV0aHVzZXI6Vy5rcCxhdXRoa2V5OlcudkYsZXVybDpuLlFyfSk7aWYoVy5wYXJ0bmVySWQ9PT0zMyYmbi5wbGF5ZXJTdHlsZT09PSJnb29nbGUtbGl2ZSIpcmV0dXJuIGcuRVQoIi8vZ29vZ2xlLWxpdmVwbGF5ZXIuYXBwc3BvdC5jb20vZ2V0X3ZpZGVvX2luZm8iLHtrZXk6Vy52aWRlb0lkfSk7CnRocm93IEVycm9yKCJnZXRWaWRlb0luZm9VcmwgZm9yIGludmFsaWQgbmFtZXNwYWNlOiAiK24uVik7fTsKTlFpPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O24uY0wmJihXLnl0cmV4dD1uLmNMKTtyZXR1cm4gZy5HRihXKT92b2lkIDA6V307CmcuekM9ZnVuY3Rpb24obixXKXt0NkMobix7RDM6Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIiksY3NwTm9uY2U6Vy5jc3BOb25jZSxEYTpXLkRhfHwiIn0pfTsKZy5sWj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YSYmbi52aWRlb0RhdGEucEspe2xldCBXPVtuLnZpZGVvRGF0YS5wS107Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uTikpaWYobi5SUltEXSYmbi5OW0RdKXtsZXQgYj1uLk5bRF0obi5SUik7YiYmVy5wdXNoKGIpfXJldHVybiBXLmpvaW4oIiYiKX1yZXR1cm4gbnVsbH07CmcuVEM9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobilmb3IobGV0IFtiLHZdb2YgT2JqZWN0LmVudHJpZXMobikpe249Yjt2YXIgRD12O2lmKEQ9PT12b2lkIDApY29udGludWU7RD10eXBlb2YgRD09PSJib29sZWFuIj9gJHsrRH1gOmAke0R9YC5yZXBsYWNlKC9bOiw9XS9nLCJfIik7Vy5wdXNoKGAke259LiR7RH1gKX1yZXR1cm4gVy5qb2luKCI7Iil9OwpqMj1mdW5jdGlvbihuKXtyZXR1cm4gbj09PTF8fG49PT0yfTsKQiQ9ZnVuY3Rpb24obixXPTApe2lmKG4gaW5zdGFuY2VvZiBnLkNpKXJldHVybiBuO249biYmbiBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYCR7bn1gKTtqMihXKT9nLlhqKG4pOmcuR3Eobik7cmV0dXJuIG5ldyBnLkNpKFc9PT0xPyJwbGF5ZXIuZmF0YWxleGNlcHRpb24iOiJwbGF5ZXIuZXhjZXB0aW9uIix7bmFtZTpgJHtuLm5hbWV9YCxtZXNzYWdlOmAke24ubWVzc2FnZX1gfSxXKX07Ckg4cj1mdW5jdGlvbihuLFcpe1FBKG4sMixXLkNuLEZHLDMpO1FBKG4sMyxXLmlubmVydHViZVJlcXVlc3QscE9pLDMpO2cuRmEobiw0LFcub25lc2llVXN0cmVhbWVyQ29uZmlnKTtnLkZhKG4sOSxXLkJ4KTtRQShuLDEwLFcubUgsd00sMyk7UUEobiwxNSxXLnJlbG9hZFBsYXliYWNrUGFyYW1zLFlmaSwzKTtnLlJ3KG4sMTgsVy5Vayl9OwpRcj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLmZvcm1hdElkLE00LDMpO0NSKG4sMixXLnN0YXJ0VGltZU1zKTtDUihuLDMsVy5kdXJhdGlvbk1zKTtDUihuLDQsVy5BQyk7Q1Iobiw1LFcuaTkpO1FBKG4sOSxXLmo2LGY4QywzKTtRQShuLDExLFcuQUYsUmYsMSk7UUEobiwxMixXLkVqLFJmLDEpfTsKSjliPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy52aWRlb0lkKTtDUihuLDIsVy5sbXQpfTsKZjhDPWZ1bmN0aW9uKG4sVyl7aWYoVy5Geilmb3IobGV0IEQ9MDtEPFcuRnoubGVuZ3RoO0QrKylRQShuLDEsVy5GeltEXSxKOWIsMyl9OwpNND1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLml0YWcpO0NSKG4sMixXLmxtdCk7Zy5SdyhuLDMsVy54dGFncyl9OwpWcj1mdW5jdGlvbihuKXtyZXR1cm57aXRhZzpQRyhuLDEpLGxtdDpQRyhuLDIpLHh0YWdzOkV4KG4sMyl9fTsKUmY9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5zdGFydFRpY2tzKTtDUihuLDIsVy5sOCk7Q1IobiwzLFcudGltZXNjYWxlKX07CmMkPWZ1bmN0aW9uKG4pe3JldHVybntzdGFydFRpY2tzOlBHKG4sMSksbDg6UEcobiwyKSx0aW1lc2NhbGU6UEcobiwzKX19OwpJOGo9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5kZWZhdWx0UG9saWN5KTtDUihuLDIsVy5zbW9vdGgpO0NSKG4sMyxXLnZpc2liaWxpdHkpO0NSKG4sNCxXLk9iKTtDUihuLDUsVy5wZXJmb3JtYW5jZSk7Q1Iobiw2LFcuc3BlZWQpfTsKQTlTPWZ1bmN0aW9uKG4sVyl7aWYoVy5hdXRob3JpemVkRm9ybWF0cylmb3IobGV0IEQ9MDtEPFcuYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoO0QrKylRQShuLDEsVy5hdXRob3JpemVkRm9ybWF0c1tEXSxTZmosMSk7Zy5GYShuLDIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpfTsKU2ZqPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudHJhY2tUeXBlKTtCRyhuLDIsVy5pc0hkcil9OwpGRz1mdW5jdGlvbihuLFcpe0NSKG4sMTMsVy50aW1lU2luY2VMYXN0TWFudWFsRm9ybWF0U2VsZWN0aW9uTXMpO3ZhciBEPVcubGFzdE1hbnVhbERpcmVjdGlvbjtEIT09dm9pZCAwJiYoajUobiwxMTIpLGo1KG4sRDw8MV5EPj4zMSkpO0NSKG4sMTYsVy5pSCk7Q1IobiwxNyxXLmRldGFpbGVkTmV0d29ya1R5cGUpO0NSKG4sMTgsVy5zQSk7Q1IobiwxOSxXLllBKTtDUihuLDIxLFcuVE4pO0NSKG4sMjMsVy5JJCk7Q1IobiwyOCxXLm5SKTtDUihuLDI5LFcubHEpO0NSKG4sMzQsVy52aXNpYmlsaXR5KTtEPVcucGxheWJhY2tSYXRlO2lmKEQhPT12b2lkIDApe3ZhciBiPW5ldyBBcnJheUJ1ZmZlcig0KTsobmV3IEZsb2F0MzJBcnJheShiKSlbMF09RDtEPShuZXcgVWludDMyQXJyYXkoYikpWzBdO2lmKEQhPT12b2lkIDApZm9yKGo1KG4sMjg1KSxUNihuLDQpLGI9MDtiPDQ7KW4udmlldy5zZXRVaW50OChuLnBvcyxEJjI1NSksRD4+PTgsbi5wb3MrPTEsYis9MX1DUihuLDM2LFcuZnEpOwpRQShuLDM4LFcubWVkaWFDYXBhYmlsaXRpZXMsbVl3LDMpO0NSKG4sMzksVy5aSSk7Q1Iobiw0MCxXLllmKTtDUihuLDQ0LFcucGxheWVyU3RhdGUpO0JHKG4sNDYsVy5FYik7Q1Iobiw0OCxXLmo0KTtDUihuLDUwLFcua0UpO0NSKG4sNTEsVy5VbSk7Q1Iobiw1NCxXLkc3KTtpZihXLnlLKWZvcihEPTA7RDxXLnlLLmxlbmd0aDtEKyspQ1Iobiw1NSxXLnlLW0RdKTtCRyhuLDU2LFcuWkMpO0NSKG4sNTcsVy5YRCk7Qkcobiw1OCxXLmJ2KTtDUihuLDU5LFcublMpO0NSKG4sNjAsVy5HRik7Qkcobiw2MSxXLmlzUHJlZmV0Y2gpO0NSKG4sNjIsVy5TZik7Zy5GYShuLDYzLFcuc2FickxpY2Vuc2VDb25zdHJhaW50KTtDUihuLDY0LFcuazgpO0NSKG4sNjYsVy5WWCk7Q1Iobiw2NyxXLkJaKTtDUihuLDY4LFcucDYpO2cuUncobiw2OSxXLmF1ZGlvVHJhY2tJZCk7Qkcobiw3MSxXLnIwKTtRQShuLDcyLFcuTk8sSThqLDEpO0NSKG4sNzMsVy5pQik7Q1Iobiw3NCxXLllzKTtDUihuLDc1LFcuZXEpOwpDUihuLDc2LFcucU0pO1FBKG4sNzksVy5rYyxBOVMsMyk7Q1Iobiw4MCxXLkokKTtCRyhuLDg1LFcudXEpfTsKbVl3PWZ1bmN0aW9uKG4sVyl7aWYoVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllcylmb3IodmFyIEQ9MDtEPFcudmlkZW9Gb3JtYXRDYXBhYmlsaXRpZXMubGVuZ3RoO0QrKylRQShuLDEsVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllc1tEXSxLRDEsMSk7aWYoVy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcylmb3IoRD0wO0Q8Vy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcy5sZW5ndGg7RCsrKVFBKG4sMixXLmF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzW0RdLE84TSwxKTtRQShuLDQsVy5wZXJQbGF5YmFja0F0dHJpYnV0ZXMsUDZTLDMpO0NSKG4sNSxXLmhkck1vZGVCaXRtYXNrKX07CnZhciBaODE9ZnVuY3Rpb24oKXtyZXR1cm4gZzdbSVsxMF1dKHRoaXMsNDEsODk3NSl9Owp2YXIgS0QxPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudmlkZW9Db2RlYyk7QkcobiwyLFcuZWZmaWNpZW50KTtDUihuLDMsVy5tYXhIZWlnaHQpO0NSKG4sNCxXLm1heFdpZHRoKTtDUihuLDExLFcubWF4RnJhbWVyYXRlKTtDUihuLDEyLFcubWF4Qml0cmF0ZUJwcyk7QkcobiwxNSxXLmlzMTBCaXRTdXBwb3J0ZWQpfSxPOE09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5hdWRpb0NvZGVjKTsKQ1IobiwyLFcubnVtQ2hhbm5lbHMpO0NSKG4sMyxXLm1heEJpdHJhdGVCcHMpO0NSKG4sNixXLnNwYXRpYWxDYXBhYmlsaXR5Qml0bWFzayl9Owp2YXIgVVloPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDUxLDIyNDksbixXKX07ClA2Uz1mdW5jdGlvbihuLFcpe2lmKFcuaXRhZ0RlbnlsaXN0KWZvcihsZXQgRD0wO0Q8Vy5pdGFnRGVueWxpc3QubGVuZ3RoO0QrKylDUihuLDEsVy5pdGFnRGVueWxpc3RbRF0pfTsKd009ZnVuY3Rpb24obixXKXtRQShuLDEsVy5jbGllbnRJbmZvLHk5dCwzKTtnLkZhKG4sMixXLmROKTtnLkZhKG4sMyxXLnBsYXliYWNrQ29va2llKTtnLkZhKG4sNCxXLkJ4KTtpZihXLnJxKWZvcih2YXIgRD0wO0Q8Vy5ycS5sZW5ndGg7RCsrKVFBKG4sNSxXLnJxW0RdLEVuMiwzKTtpZihXLnV0KWZvcihEPTA7RDxXLnV0Lmxlbmd0aDtEKyspQ1Iobiw2LFcudXRbRF0pO2cuUncobiw3LFcucEcpO1FBKG4sOCxXLnEkLGk4VSwzKX07CnVmTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLlN6KTtDUihuLDIsVy5SNyl9OwpvbnI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmNvZGU7RCE9PXZvaWQgMCYmKGo1KG4sOCksajUobixEPDwxXkQ+PjMxKSk7Zy5SdyhuLDIsVy5tZXNzYWdlKX07CmRZTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmNsaWVudFN0YXRlKTtRQShuLDIsVy5adSx1Zk0sMSl9OwppOFU9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLll0KTtRQShuLDIsVy5TaixvbnIsMyk7UUEobiwzLFcuY29sZFN0YXJ0SW5mbyxkWU0sMyl9OwpFbjI9ZnVuY3Rpb24obixXKXtDUihuLDEsVy50eXBlKTtnLkZhKG4sMixXLnZhbHVlKX07Cnk5dD1mdW5jdGlvbihuLFcpe2cuUncobiwxLFcuaGwpO2cuUncobiwxMixXLmRldmljZU1ha2UpO2cuUncobiwxMyxXLmRldmljZU1vZGVsKTtDUihuLDE2LFcuY2xpZW50TmFtZSk7Zy5SdyhuLDE3LFcuY2xpZW50VmVyc2lvbik7Zy5SdyhuLDE4LFcub3NOYW1lKTtnLlJ3KG4sMTksVy5vc1ZlcnNpb24pfTsKemoxPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5uYW1lKTtnLlJ3KG4sMixXLnZhbHVlKX07CmFmPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy51cmwpO2lmKFcuZTMpZm9yKGxldCBEPTA7RDxXLmUzLmxlbmd0aDtEKyspUUEobiwyLFcuZTNbRF0semoxLDMpO2cuRmEobiwzLFcucG9zdEJvZHkpO0JHKG4sNCxXLkVhKTtCRyhuLDYsVy5lOCl9OwpwT2k9ZnVuY3Rpb24obixXKXtnLkZhKG4sMixXLnZVKTtnLkZhKG4sNSxXLmVuY3J5cHRlZENsaWVudEtleSk7Zy5GYShuLDYsVy5pdik7Zy5GYShuLDcsVy5kZik7QkcobiwxMCxXLm13KTtCRyhuLDEzLFcuRkQpO0JHKG4sMTQsVy5EWSk7Zy5GYShuLDE2LFcud1MpO0JHKG4sMTcsVy55Sil9OwpsOHQ9ZnVuY3Rpb24obil7cmV0dXJue1dzOlBHKG4sMSksaHR0cFN0YXR1czpQRyhuLDIpLGJvZHk6eUEobiw0KX19OwpZZmk9ZnVuY3Rpb24obixXKXtnLlJ3KG4sMSxXLnRva2VuKX07ClRRTT1mdW5jdGlvbihuKXtyZXR1cm57dG9rZW46RXgobiwxKX19OwpqX1U9ZnVuY3Rpb24obil7Zm9yKHZhciBXPVtdLEQ7RD1FeChuLDEpOylXLnB1c2goRCk7cmV0dXJue3VybDpXLmxlbmd0aD9XOnZvaWQgMH19OwpuNz1mdW5jdGlvbihuKXtyZXR1cm57QWg6UEcobiwxKSx2eTpQRyhuLDIpfX07CkZEYj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2lmKFcuY0UpZm9yKHZhciBEPTA7RDxXLmNFLmxlbmd0aDtEKyspUUEobiwyLFcuY0VbRF0sTTQsMyk7aWYoVy5lVylmb3IoRD0wO0Q8Vy5lVy5sZW5ndGg7RCsrKVFBKG4sMyxXLmVXW0RdLFFyLDMpO2cuRmEobiw1LFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7aWYoVy5CaSlmb3IoRD0wO0Q8Vy5CaS5sZW5ndGg7RCsrKVFBKG4sNixXLkJpW0RdLEM2VSwzKTtpZihXLkdoKWZvcihEPTA7RDxXLkdoLmxlbmd0aDtEKyspUUEobiwxNixXLkdoW0RdLE00LDMpO2lmKFcuTSQpZm9yKEQ9MDtEPFcuTSQubGVuZ3RoO0QrKylRQShuLDE3LFcuTSRbRF0sTTQsMyk7aWYoVy5Fdilmb3IoRD0wO0Q8Vy5Fdi5sZW5ndGg7RCsrKVFBKG4sMTgsVy5FdltEXSxNNCwzKTtRQShuLDE5LFcubUgsd00sMyk7UUEobiwyMSxXLk15LFduLDMpO0NSKG4sMjIsVy51TSk7Q1IobiwyMyxXLnJHKTtpZihXLmJLKWZvcihEPTA7RDxXLmJLLmxlbmd0aDtEKyspUUEobiwKMjQsVy5iS1tEXSxXbiwzKTtnLkZhKG4sMjUsVy5kUyk7aWYoVy5qcilmb3IoRD0wO0Q8Vy5qci5sZW5ndGg7RCsrKVFBKG4sMUUzLFcuanJbRF0sQlF3LDMpfTsKQzZVPWZ1bmN0aW9uKG4sVyl7UUEobiwxLFcuZm9ybWF0SWQsTTQsMyk7Q1IobiwyLFcudkQpO0NSKG4sMyxXLnNlcXVlbmNlTnVtYmVyKTtRQShuLDQsVy5oeCxSZiwxKTtDUihuLDUsVy5TMCk7Q1Iobiw2LFcudTMpfTsKV249ZnVuY3Rpb24obixXKXtpZihXLmFEKWZvcihsZXQgRD0wO0Q8Vy5hRC5sZW5ndGg7RCsrKWcuUncobiwxLFcuYURbRF0pO2cuRmEobiwyLFcuYWRzQ29uZmlnKTtnLlJ3KG4sMyxXLkJmKTtDUihuLDQsVy5ESik7Q1Iobiw1LFcub3YpO2cuUncobiw2LFcuZDMpO2cuUncobiw3LFcuY3VlcG9pbnRJZCk7Q1Iobiw4LFcuczEpO2cuUncobiw5LFcudGlsZUNvbnRleHQpO0NSKG4sMTAsVy5zdGFydFRpbWVNcyk7Q1IobiwxMSxXLmR1cmF0aW9uTXMpfTsKQlF3PWZ1bmN0aW9uKG4sVyl7aWYoVy5jRSlmb3IodmFyIEQ9MDtEPFcuY0UubGVuZ3RoO0QrKylRQShuLDEsVy5jRVtEXSxNNCwzKTtpZihXLmVXKWZvcihEPTA7RDxXLmVXLmxlbmd0aDtEKyspUUEobiwyLFcuZVdbRF0sUXIsMyk7Zy5SdyhuLDMsVy5jbGlwSWQpfTsKZy5EVT1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2cuRmEobiwzLFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7UUEobiw1LFcubUgsd00sMyk7UUEobiw2LFcuTXksV24sMyl9Owp3T1o9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKX19OwpSalU9ZnVuY3Rpb24obixXKXtpZihXLk8zKWZvcihsZXQgRD0wO0Q8Vy5PMy5sZW5ndGg7RCsrKVFBKG4sMSxXLk8zW0RdLE02VSwzKX07ClFfMT1mdW5jdGlvbihuLFcpe1FBKG4sMTA0NyxXLmJMLFJqVSwzKX07Ck02VT1mdW5jdGlvbihuLFcpe2lmKFcualYpZm9yKHZhciBEPTA7RDxXLmpWLmxlbmd0aDtEKyspZy5GYShuLDEsVy5qVltEXSk7aWYoVy5yWClmb3IoRD0wO0Q8Vy5yWC5sZW5ndGg7RCsrKWcuRmEobiwyLFcuclhbRF0pfTsKbnl3PWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5jcG4pO0NSKG4sMixXLnNlcXVlbmNlTnVtYmVyKTtnLlJ3KG4sMyxXLnNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQpO2lmKFcuZGVjb2RlckluZm8pZm9yKHZhciBEPTA7RDxXLmRlY29kZXJJbmZvLmxlbmd0aDtEKyspUUEobiw2LFcuZGVjb2RlckluZm9bRF0sVjZyLDMpO2cuUncobiw5LFcucGxheWVyUmVzcG9uc2VDcG4pO0NSKG4sMTAsVy50cmFuc2l0aW9uU3RpdGNoVHlwZSk7Zy5SdyhuLDExLFcucW9lUGluZ1VybCk7Q1IobiwxMixXLnRpbWVzdGFtcE9mZnNldE1zZWNzKTtDUihuLDE1LFcucmVtb3RlQ29udHJvbE1vZGUpO2lmKFcucmVtb3RlQ29ubmVjdGVkRGV2aWNlcylmb3IoRD0wO0Q8Vy5yZW1vdGVDb25uZWN0ZWREZXZpY2VzLmxlbmd0aDtEKyspUUEobiwxNixXLnJlbW90ZUNvbm5lY3RlZERldmljZXNbRF0sYzlNLDMpO2cuRmEobiwxNyxXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0KTsKaWYoVy5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLmxlbmd0aDtEKyspZy5GYShuLDE5LFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhW0RdKTtpZihXLmRhaUN1ZVBvaW50RXZlbnRzKWZvcihEPTA7RDxXLmRhaUN1ZVBvaW50RXZlbnRzLmxlbmd0aDtEKyspUUEobiwyMCxXLmRhaUN1ZVBvaW50RXZlbnRzW0RdLGE4MiwzKTtpZihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YS5sZW5ndGg7RCsrKWcuRmEobiwyMSxXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGFbRF0pfTsKV0JqPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5pZGVudGlmaWVyKTtnLlJ3KG4sMixXLnRpbGVDb250ZXh0KX07Cmcudm49ZnVuY3Rpb24obil7dmFyIFc9e25zOm4uUmEsZWw6bi5ldmVudExhYmVsLGNwbjpuLmNsaWVudFBsYXliYWNrTm9uY2UsdmVyOjIsY210Om4uSihuLk4pLGZtdDpuLnZpZGVvRm9ybWF0LGZzOm4ualc/IjEiOiIwIixydDpuLkoobi53YSksYWRmb3JtYXQ6bi5hZEZvcm1hdCxjb250ZW50X3Y6bi5jb250ZW50VmlkZW9JZCxldXJpOm4uTWQsbGFjdDpuLk5kLGxpdmU6bi5UUSxjbDooOTUxNzc5MTA0KS50b1N0cmluZygpLG1vczpuLlJ0LHN0YXRlOm4ucGxheWVyU3RhdGUsdm9sdW1lOm4uZ1R9O24uc3Vic2NyaWJlZCYmKFcuc3Vic2NyaWJlZD0iMSIpO09iamVjdC5hc3NpZ24oVyxuLlkkKTtuLkQ9PT0iYWxsIj9PYmplY3QuYXNzaWduKFcsbi55RSk6bi5EPT09Im9uY2UiJiZuLlcmJk9iamVjdC5hc3NpZ24oVyxuLnlFKTtuLmF1dG9wbGF5JiYoVy5hdXRvcGxheT0iMSIpO24uTEImJihXLnNhdXRvcGxheT0iMSIpO24uQ3UmJihXLmRuaT0iMSIpOyFuLlgmJm4uSEomJihXLmVwbT0KRGMxW24uSEpdKTtuLmlzRmluYWwmJihXWyJmaW5hbCJdPSIxIik7bi5udSYmKFcuc3BsYXk9IjEiKTtuLm9EJiYoVy5kZWxheT1uLm9EKTtuLkR0JiYoVy5obD1uLkR0KTtuLnJlZ2lvbiYmKFcuY3I9bi5yZWdpb24pO24udXNlckdlbmRlckFnZSYmKFcudWdhPW4udXNlckdlbmRlckFnZSk7bi51c2VyQWdlIT09dm9pZCAwJiZuLkdDJiYoVy51Z2E9bi5HQytuLnVzZXJBZ2UpO24uZSQhPT12b2lkIDAmJihXLmxlbj1uLkoobi5lJCkpOyghbi5YfHxuLkJWKSYmbi5leHBlcmltZW50SWRzLmxlbmd0aD4wJiYoVy5mZXhwPW4uZXhwZXJpbWVudElkcy50b1N0cmluZygpKTtuLkshPT1udWxsJiYoVy5ydG49bi5KKG4uSykpO24uUzkmJihXLmZlYXR1cmU9bi5TOSk7bi5pNSYmKFcuY3RybD1uLmk1KTtuLlVLJiYoVy55dHI9bi5VSyk7bi52SiYmKFcuYWZtdD1uLnZKKTtuLm9mZmxpbmVEb3dubG9hZFVzZXJDaG9pY2UmJihXLk9EVUM9bi5vZmZsaW5lRG93bmxvYWRVc2VyQ2hvaWNlKTtuLlkmJgooVy5saW89bi5KKG4uWSkpO24uWD8oVy5pZHBqPW4uRTUsVy5sZHBqPW4uUXIsbi5kZWxheVRocmVzaG9sZE1ldCYmKFcuZHRtPSIxIiksbi5PIT1udWxsJiYoVy5ydGk9bi5KKG4uTykpLG4uRkwmJihXLmFsZD1uLkZMKSxuLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbiYmKFcuY2xpbz1uLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbikpOm4uYWRUeXBlIT09dm9pZCAwJiYoVy5hdD1uLmFkVHlwZSk7bi5mQiYmKG4uV3x8bi5YKSYmKFcuc2l6ZT1uLmZCKTtuLlcmJm4uVi5sZW5ndGgmJihXLnBic3R5bGU9bi5WLmpvaW4oIiwiKSk7bi5IRCE9bnVsbCYmKG4uV3x8bi5YKSYmKFcuaW52aWV3PW4uSihuLkhEKSk7bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4mJihXLmhiX2RhdGE9bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4pO24uWCYmKFcudm9sdW1lPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQudm9sdW1lKSksVy5zdD1iSihuLGcuaV8obi5zZWdtZW50cywKRD0+RC5zdGFydFRpbWUpKSxXLmV0PWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQuZW5kVGltZSkpLGcub00obi5zZWdtZW50cyxEPT5ELnBsYXliYWNrUmF0ZSE9PTEpJiYoVy5yYXRlPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQucGxheWJhY2tSYXRlKSkpLGcub00obi5zZWdtZW50cyxEPT5ELk4hPT0iLSIpJiYoVy5hbHM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuTikuam9pbigiLCIpKSxnLm9NKG4uc2VnbWVudHMsRD0+RC5wcmV2aW91c2x5RW5kZWQpJiYoVy5wZT1nLmlfKG4uc2VnbWVudHMsRD0+YCR7K0QucHJldmlvdXNseUVuZGVkfWApLmpvaW4oIiwiKSkpOwpXLm11dGVkPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQubXV0ZWQ/MTowKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELnZpc2liaWxpdHlTdGF0ZSE9PTApJiYoVy52aXM9YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC52aXNpYmlsaXR5U3RhdGUpKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELmNvbm5lY3Rpb25UeXBlIT09MCkmJihXLmNvbm49YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5jb25uZWN0aW9uVHlwZSkpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuVyE9PTApJiYoVy5ibG89YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5XKSkpOwpnLm9NKG4uc2VnbWVudHMsRD0+ISFELmopJiYoVy5ibG89Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuaikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW4pJiYoVy5jYnM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuY29tcG9zaXRlTGl2ZVN0YXR1c1Rva2VuKS5qb2luKCIsIikpOwpnLm9NKG4uc2VnbWVudHMsRD0+RC5KIT09Ii0iKSYmKFcuY2M9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuSikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuY2xpcElkIT09Ii0iKSYmKFcuY2xpcGlkPWcuaV8obi5zZWdtZW50cyxEPT5ELmNsaXBJZCkuam9pbigiLCIpKTsKaWYoZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5hdWRpb0lkKSl7bGV0IEQ9ImF1IjsKbi5XJiYoRD0iYXVfZCIpO1dbRF09Zy5pXyhuLnNlZ21lbnRzLGI9PmIuYXVkaW9JZCkuam9pbigiLCIpfWcuakgoKSYmbi50dyYmKFcuY3R0PW4udHcsVy5jdHR5cGU9bi5QWCxXLm1keF9lbnZpcm9ubWVudD1uLm1keEVudmlyb25tZW50KTsKbi55dyYmKFcuZXR5cGU9bi5iZCE9PXZvaWQgMD9uLmJkOjApO24uRkYmJihXLnVvbz1uLkZGKTtuLmxpdmluZ1Jvb21BcHBNb2RlJiZuLmxpdmluZ1Jvb21BcHBNb2RlIT09IkxJVklOR19ST09NX0FQUF9NT0RFX1VOU1BFQ0lGSUVEIiYmKFcuY2xyYW09YlR3W24ubGl2aW5nUm9vbUFwcE1vZGVdfHxuLmxpdmluZ1Jvb21BcHBNb2RlKTtuLmo/dnlNKG4sVyk6KFcuZG9jaWQ9bi52aWRlb0lkLFcucmVmZXJyZXI9bi5yZWZlcnJlcixXLmVpPW4uZXZlbnRJZCxXLm9mPW4uUkgsVy5vc2lkPW4ub3NpZCxXLnZtPW4udmlkZW9NZXRhZGF0YSxuLmFkUXVlcnlJZCYmKFcuYXFpPW4uYWRRdWVyeUlkKSxuLmF1dG9uYXYmJihXLmF1dG9uYXY9IjEiKSxuLnBsYXlsaXN0SWQmJihXLmxpc3Q9bi5wbGF5bGlzdElkKSxuLkFSJiYoVy5zc3J0PSIxIiksbi5IcSYmKFcudXB0PW4uSHEpKTtuLlcmJihuLmVtYmVkc1JjdCYmKFcucmN0PW4uZW1iZWRzUmN0KSxuLmVtYmVkc1JjdG4mJihXLnJjdG49Cm4uZW1iZWRzUmN0biksbi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4mJihXLmNsaW89bi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4pKTtuLmhvc3RDcG4mJihXLmhvc3RfY3BuPW4uaG9zdENwbik7cmV0dXJuIFd9OwphODI9ZnVuY3Rpb24obixXKXtRQShuLDEsVy5pZGVudGlmaWVyLFdCaiwzKTtpZihXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMpZm9yKHZhciBEPTA7RDxXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMubGVuZ3RoO0QrKylRQShuLDIsVy5yZWNlaXZlZEN1ZVBvaW50RXZlbnRzW0RdLGtGdywxKTtpZihXLnJlY2VpdmVkQWRFdmVudHMpZm9yKEQ9MDtEPFcucmVjZWl2ZWRBZEV2ZW50cy5sZW5ndGg7RCsrKVFBKG4sMyxXLnJlY2VpdmVkQWRFdmVudHNbRF0saHN3LDMpfTsKa0Z3PWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Q1IobiwyLFcuc2VnbWVudFN0YXJ0VGltZU1zKTtDUihuLDMsVy5jdWVwb2ludEV2ZW50KTtDUihuLDQsVy5hZEJyZWFrRnVsZmlsbG1lbnRTdGF0ZSk7Q1Iobiw1LFcudHJhY2tUeXBlKTtDUihuLDYsVy5zZWdtZW50TnVtYmVyKTtDUihuLDcsVy5ub0Fkc1N0aXRjaGVkUmVhc29uKX07Cmhzdz1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmVsYXBzZWRUaW1lTXMpO2cuUncobiwyLFcuYWRDcG4pO0NSKG4sMyxXLmFkQWRkZWRMYXRlbmN5VGltZU1zKTtnLlJ3KG4sNCxXLmFkVmlkZW9JZCk7Q1Iobiw1LFcuYWRTdGFydFRpbWVNcyk7Q1Iobiw2LFcuYWREdXJhdGlvbk1zKTtDUihuLDcsVy5hZFJlamVjdGlvblJlYXNvbik7Q1Iobiw4LFcudGltZUVsYXBzZWRTaW5jZUN1ZXBvaW50TXMpfTsKVjZyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Zy5SdyhuLDMsVy52aWRlb0RlY29kZXJOYW1lKX07CmM5TT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmRldmljZUludGVyZmFjZSk7Zy5SdyhuLDIsVy5kZXZpY2VWZXJzaW9uKTtCRyhuLDMsVy5pc1NsZWVwaW5nKX07CkxCVT1mdW5jdGlvbihuKXtyZXR1cm57ZmY6aWgobiwxLHhjYiksdHJhY2tUeXBlOlBHKG4sMiksUFA6UEcobiwzKSx0aW1lUmFuZ2U6aWgobiw0LGMkKSx0aWxlQ29udGV4dDpFeChuLDUpLGJ4OlBHKG4sNiksRzM6UEcobiw3KSxvcHBvcnR1bml0eUlkOkV4KG4sOCksc2VyaWFsaXplZFByZWZldGNoQ29udGV4dDp5QShuLDkpfX07CnhjYj1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLGV2ZW50OlBHKG4sMiksTUs6WncobiwzKSxUeTpadyhuLDQpLHVUOkV4KG4sNSksaWRlbnRpZmllcjpFeChuLDYpLEFDOlBHKG4sOSl9fTsKa2Q9ZnVuY3Rpb24obil7cmV0dXJue2ZpcnN0OlBHKG4sMSksSjc6UEcobiwyKX19Owplc2o9ZnVuY3Rpb24obil7cmV0dXJue2JpdHJhdGU6UEcobiw2KSx3aWR0aDpQRyhuLDcpLGhlaWdodDpQRyhuLDgpLGZwczpQRyhuLDI1KSxhdmVyYWdlQml0cmF0ZTpQRyhuLDMxKSxhdWRpb1NhbXBsZVJhdGU6UEcobiw0NSksYXVkaW9DaGFubmVsczpQRyhuLDQ2KSxxdWFsaXR5T3JkaW5hbDpQRyhuLDU2KX19Owpocz1mdW5jdGlvbihuKXtyZXR1cm57aXRhZ0RlbnlsaXN0OnVoKG4sMSl9fTsKZ3kxPWZ1bmN0aW9uKG4pe3JldHVybntZazpVeChuLDEpLFhXOlBHKG4sMiksc1E6VXgobiwzKSxOVDpadyhuLDQpLGNyeXB0b1BlcmlvZEluZGV4OlBHKG4sNSksWlg6UEcobiw2KSxMRzpQRyhuLDcpfX07CkdGQz1mdW5jdGlvbihuKXtyZXR1cm57SzU6UEcobiwxKSxpdGFnOkV4KG4sMyksUXQ6aWgobiw0LFh4dCksbG10OlBHKG4sNSksQ2U6UEcobiw3KSx4dGFnczpFeChuLDE1KSxuNjppaChuLDIzLHEwYiksWHQ6aWgobiwzNCxocyl9fTsKWHh0PWZ1bmN0aW9uKG4pe3JldHVybntpdjp5QShuLDUpLE5FOlV4KG4sNyl9fTsKdHBiPWZ1bmN0aW9uKG4pe3JldHVybntnazp1aChuLDIpLHZpZGVvSWQ6RXgobiwzKSxRbzpQRyhuLDQpfX07CnEwYj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDIpfX07CiRjeD1mdW5jdGlvbihuKXtyZXR1cm57d2Y6UEcobiwzKSx2NzpQRyhuLDQpLEtOOlBHKG4sNSksWjM6VXgobiw4KSxXWjpQRyhuLDEwKSxITzpQRyhuLDEyKSxVUjpQRyhuLDEzKSxzUjpQRyhuLDE0KSx1MDpQRyhuLDE1KSxMejpQRyhuLDE2KX19Owp4ZD1mdW5jdGlvbihuKXtyZXR1cm57dGFyZ2V0QXVkaW9SZWFkYWhlYWRNczpQRyhuLDEpLHRhcmdldFZpZGVvUmVhZGFoZWFkTXM6UEcobiwyKSxiYWNrb2ZmVGltZU1zOlBHKG4sNCkscGxheWJhY2tDb29raWU6eUEobiw3KSx2aWRlb0lkOkV4KG4sOCl9fTsKTDc9ZnVuY3Rpb24obil7cmV0dXJue21pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjOlBHKG4sMSksbWluUmVhZGFoZWFkTXM6UEcobiwyKX19OwplST1mdW5jdGlvbihuKXtyZXR1cm57c3RhcnRNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwxLEw3KSxyZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwyLEw3KX19OwpyS3I9ZnVuY3Rpb24obil7cmV0dXJue2xhYmVsOkV4KG4sMSksdGV4dDpFeChuLDIpfX07CnNoWj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDEpLGZvcm1hdElkOmloKG4sMixWciksZGVidWdJbmZvOm93KG4sMyxyS3IpfX07CmdQPWZ1bmN0aW9uKG4pe3JldHVybntKMDpvdyhuLDEsc2haKX19OwpObXQ9ZnVuY3Rpb24obil7cmV0dXJue0ZrOlBHKG4sMSksZno6UEcobiwyKSxtaW5SZWFkYWhlYWRNczpQRyhuLDMpfX07ClhOPWZ1bmN0aW9uKG4pe3JldHVybntwdjpQRyhuLDEpLGl0ZW1zOm93KG4sMixObXQpLFBuOlBHKG4sMyl9fTsKcHhpPWZ1bmN0aW9uKG4pe3JldHVybnt0b2tlbjpFeChuLDEpLHZpZGVvSWQ6RXgobiwyKX19OwpZMFU9ZnVuY3Rpb24obil7cmV0dXJue2V3OlBHKG4sMSl9fTsKcUc9ZnVuY3Rpb24obil7cmV0dXJue1FxOkV4KG4sMSksYWN0aW9uOlBHKG4sMiksQ3Y6aWgobiwzLFkwVSl9fTsKR0U9ZnVuY3Rpb24obil7cmV0dXJue0pKOlBHKG4sMSksUUI6UEcobiwyKSxzZWVrU291cmNlOlBHKG4sMyl9fTsKSFRaPWZ1bmN0aW9uKG4pe3JldHVybnt6SDpQRyhuLDEpLHg6UEcobiwyKSx5OlBHKG4sMyksd2lkdGg6UEcobiw0KSxoZWlnaHQ6UEcobiw1KX19OwpmbGo9ZnVuY3Rpb24obil7cmV0dXJue3JlZ2lvbjppaChuLDEsSFRaKSx1MTppaChuLDIsYyQpLGNwbjpFeChuLDUpLGxvZ2dpbmdNZXRhZGF0YTp5QShuLDYpLGJUOmloKG4sNyxjJCksTlI6UEcobiw4KSxxUjpVeChuLDkpfX07CkpLaj1mdW5jdGlvbihuKXtyZXR1cm57UjE6b3cobiwxLGZsail9fTsKSWxqPWZ1bmN0aW9uKG4pe3JldHVybnttZXRhZGF0YTpvdyhuLDEsSktqKSx0cmFja1R5cGU6UEcobiwyKX19Owp0cz1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLHNjb3BlOlBHKG4sMiksdmFsdWU6eUEobiwzKSxzZW5kQnlEZWZhdWx0OlV4KG4sNCksd3JpdGVQb2xpY3k6UEcobiw1KX19OwpTMHc9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Zy5SdyhuLDIsVy51cmwpfTsKQUtyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuaWQpO2cuUncobiwyLFcubmFtZSk7Q1IobiwzLFcucmVzb3VyY2VJZCk7Q1Iobiw0LFcubGluZSk7Q1Iobiw1LFcuY29sdW1uKX07Cm1jcj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmlkKTtDUihuLDIsVy50aW1lc3RhbXBNcyk7Q1IobiwzLFcuc3RhY2tJZCl9OwpLQk09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Q1IobiwyLFcuZnJhbWVJZCk7Q1IobiwzLFcucGFyZW50SWQpfTsKT1RiPWZ1bmN0aW9uKG4sVyl7aWYoVy5yZXNvdXJjZXMpZm9yKHZhciBEPTA7RDxXLnJlc291cmNlcy5sZW5ndGg7RCsrKVFBKG4sMSxXLnJlc291cmNlc1tEXSxTMHcsMyk7aWYoVy5mcmFtZXMpZm9yKEQ9MDtEPFcuZnJhbWVzLmxlbmd0aDtEKyspUUEobiwyLFcuZnJhbWVzW0RdLEFLciwzKTtpZihXLnNhbXBsZXMpZm9yKEQ9MDtEPFcuc2FtcGxlcy5sZW5ndGg7RCsrKVFBKG4sMyxXLnNhbXBsZXNbRF0sbWNyLDEpO2lmKFcuc3RhY2tzKWZvcihEPTA7RDxXLnN0YWNrcy5sZW5ndGg7RCsrKVFBKG4sNCxXLnN0YWNrc1tEXSxLQk0sMSl9OwpQa0M9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpfTsKWlRVPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKVWNpPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuTXcpfTsKeUtDPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKRXkyPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5CQil9OwppVHg9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpO0NSKG4sMixXLlM3KX07CnVMMj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLnR5cGUpO3ZhciBEPVcucUw7aWYoRCE9PXZvaWQgMCl7dmFyIGI9bmV3IEFycmF5QnVmZmVyKDgpOyhuZXcgRmxvYXQ2NEFycmF5KGIpKVswXT1EO0Q9bmV3IFVpbnQzMkFycmF5KGIpO2I9RFswXTtEPURbMV07aWYoYiE9PXZvaWQgMCYmRCE9PXZvaWQgMCl7ajUobiwxNyk7VDYobiw4KTtmb3IobGV0IHY9MDt2PDQ7disrKW4udmlldy5zZXRVaW50OChuLnBvcyxiJjI1NSksYj4+Pj04LG4ucG9zKz0xO2I9RDtmb3IoRD0wO0Q8NDtEKyspbi52aWV3LnNldFVpbnQ4KG4ucG9zLGImMjU1KSxiPj4+PTgsbi5wb3MrPTF9fVFBKG4sMyxXLmE5LFBrQywzKTtRQShuLDQsVy5seCxaVFUsMSk7UUEobiw1LFcucTAsVWNpLDEpO1FBKG4sNixXLmlzVHlwZVN1cHBvcnRlZCx5S0MsMSk7UUEobiw3LFcueTgsRXkyLDMpO1FBKG4sOCxXLkpMLGlUeCwzKX07Cm95aD1mdW5jdGlvbihuKXtyZXR1cm57ZGF0YTp5QShuLDEpfX07CmRjdD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19Owp6czE9ZnVuY3Rpb24obil7cmV0dXJue0hTOlp3KG4sMSl9fTsKbGxyPWZ1bmN0aW9uKG4pe3JldHVybntwbGFjZWhvbGRlcjpVeChuLDEpfX07ClRtcj1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpqaE09ZnVuY3Rpb24obil7cmV0dXJue2RhdGE6eUEobiwxKSxrazpQRyhuLDIpfX07CkNreD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpCbWo9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKSxxTDpadyhuLDIpLFFKOlp3KG4sMyksVG86Wncobiw0KSxpbml0OmloKG4sNSxDa3gpLGE5OmloKG4sNixveWgpLGx4OmloKG4sNyxkY3QpLHEwOmloKG4sOCx6czEpLGlzVHlwZVN1cHBvcnRlZDppaChuLDksbGxyKSx5ODppaChuLDEwLFRtciksSkw6aWgobiwxMSxqaE0pfX07Cnd4Wj1mdW5jdGlvbihuKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhGQlUpLmluY2x1ZGVzKG4pfTsKTXBDPWZ1bmN0aW9uKG4peyRkPTI1OTJFMyoobnx8MSl9OwpyUD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci12b2x1bWUiKXx8e30sVz1uLnZvbHVtZTtyZXR1cm57dm9sdW1lOmlzTmFOKFcpPzEwMDpnLkZmKE1hdGguZmxvb3IoVyksMCwxMDApLG11dGVkOiEhbi5tdXRlZH19Owpzbj1mdW5jdGlvbihuKXtnLlBCKCJ5dC1wbGF5ZXItYmFuZHdpZHRoIixuLDI1OTJFMyl9OwpwNz1mdW5jdGlvbihuPSRkKXtpZihuPjAmJiEoVVAoKT4oMCxnLlIpKCktbioxRTMpKXJldHVybiAwO249Zy5aSSgieXQtcGxheWVyLXF1YWxpdHkiKTtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXtpZihuPU5HW25dLG4+MClyZXR1cm4gbn1lbHNlIGlmKG4gaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIG4ucXVhbGl0eTtyZXR1cm4gMH07CllkPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLXByb3hpbWEtcHJlZiIpO3JldHVybiBuPT1udWxsP251bGw6bn07ClJzeD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci1xdWFsaXR5Iik7aWYobiBpbnN0YW5jZW9mIE9iamVjdCYmbi5xdWFsaXR5JiZuLnByZXZpb3VzUXVhbGl0eSl7aWYobi5xdWFsaXR5Pm4ucHJldmlvdXNRdWFsaXR5KXJldHVybiAxO2lmKG4ucXVhbGl0eTxuLnByZXZpb3VzUXVhbGl0eSlyZXR1cm4tMX1yZXR1cm4gMH07CkhuPWZ1bmN0aW9uKCl7dmFyIG49e3ZhbHVlczp7fSxGWTp7fX07dHJ5e2xldCBXPUpTT04ucGFyc2UoSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlWyJ5dC1wbGF5ZXItbWVtb3J5Il0pLmRhdGEpO24udmFsdWVzPVcudmFsdWVzO24uaGFsZkxpdmVzPVcuaGFsZkxpdmVzfWNhdGNoe31yZXR1cm4gbn07CmY3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiKXx8e319OwpRaHc9ZnVuY3Rpb24obj0hMSl7aWYobil7bj1mNygpO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSlXLmluZGV4T2YoIjEiKSE9PTAmJmRlbGV0ZSBuW1ddO2cuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLG4sMjU5MkUzKX1lbHNlIHRyeXtsZXQgVz1PUC5xYigpLEQ9T1AuQnAoKTtXJiZXLnJlbW92ZSgieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcCIpO0QmJkQucmVtb3ZlKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwIil9Y2F0Y2goVyl7fX07CkpzPWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAtYWN0aXZlLXNldCIpPz9bXX07ClZwQz1mdW5jdGlvbihuPSExKXtuPyhuPUpzKCkuZmlsdGVyKFc9Plcuc3RhcnRzV2l0aCgiMSIpKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLG4sMjU5MkUzKSk6Zy5QQigieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcC1hY3RpdmUtc2V0IixbXSwyNTkyRTMpfTsKSU89ZnVuY3Rpb24oKXtyZXR1cm4hIWcuWkkoInl0LXBsYXllci1oZWFkZXJzLXJlYWRhYmxlIil9OwpnLlNJPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLWNhcHRpb24tbGFuZ3VhZ2UtcHJlZmVyZW5jZXMiKTtyZXR1cm4gbj9uOltdfTsKQXM9ZnVuY3Rpb24oKXt2YXIgbj1nLlpJKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIpLFc9bmV3IE1hcDtpZihuKWZvcihsZXQgW0QsYl1vZiBPYmplY3QuZW50cmllcyhuKSlXLnNldChELGIpO3JldHVybiBXfTsKbTU9ZnVuY3Rpb24oKXtyZXR1cm4gZy5aSSgieXQtcGxheWVyLXZvaWNlLWJvb3N0Iik/P3ZvaWQgMH07Cks3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1hdWRpby1xdWFsaXR5LXNldHRpbmciKT8/Mn07ClpVPWZ1bmN0aW9uKCl7dHJ5e2xldCBuPXdpbmRvdy5uYXZpZ2F0b3I7aWYobi5nZXRBdXRvcGxheVBvbGljeSYmdHlwZW9mIG4uZ2V0QXV0b3BsYXlQb2xpY3k9PT0iZnVuY3Rpb24iKXtsZXQgVz1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGcuT24uV0MpLEQ7RD1XLmxlbmd0aD4wJiZXWzBdP24uZ2V0QXV0b3BsYXlQb2xpY3koV1swXSk6bi5nZXRBdXRvcGxheVBvbGljeSgibWVkaWFlbGVtZW50Iik7aWYoUG5bRF0pcmV0dXJuIFBuW0RdfX1jYXRjaChuKXt9cmV0dXJuIkFVVE9QTEFZX0JST1dTRVJfUE9MSUNZX1VOU1BFQ0lGSUVEIn07ClVuPWZ1bmN0aW9uKG4pe3JldHVybiBuLlBYfHxuLkd1fHxuLm11dGVkQXV0b3BsYXl9Owp5dz1mdW5jdGlvbihuLFcpe3JldHVybiBVbihuKT9XIT09MSYmVyE9PTImJlchPT0wPyJBVVRPUExBWV9TVEFUVVNfVU5BVkFJTEFCTEUiOm4uc1o/IkFVVE9QTEFZX1NUQVRVU19CTE9DS0VEIjoiQVVUT1BMQVlfU1RBVFVTX09DQ1VSUkVEIjoiQVVUT1BMQVlfU1RBVFVTX05PVF9BVFRFTVBURUQifTsKZy5Fbj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5HKCk7bi50aGlyZFBhcnR5fHwobi50aGlyZFBhcnR5PXt9KTtuLnRoaXJkUGFydHk9ey4uLm4udGhpcmRQYXJ0eSxlbWJlZFVybDpiLmxvYWRlclVybH07Yi5hbmNlc3Rvck9yaWdpbnMmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGFuY2VzdG9yT3JpZ2luczpiLmFuY2VzdG9yT3JpZ2luc30pO2IuZUshPW51bGwmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LHZpc2liaWxpdHlGcmFjdGlvbjpOdW1iZXIoYi5lSyl9KTtiLkxLJiYobi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dD17Li4ubi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dCx2aXNpYmlsaXR5RnJhY3Rpb25Tb3VyY2U6Yi5MS30pO24udGhpcmRQYXJ0eS5lbWJlZGRlZFBsYXllckNvbnRleHQ9CnsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGF1dG9wbGF5QnJvd3NlclBvbGljeTpaVSgpLGF1dG9wbGF5SW50ZW5kZWQ6VW4oVyksYXV0b3BsYXlTdGF0dXM6eXcoVyxEKX19OwppSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5zcGxpdCgiLCIpKXtpZighRCljb250aW51ZTsobj1ELnN0YXJ0c1dpdGgoIiEiKSkmJihEPUQuc3Vic3RyaW5nKDEpKTtsZXQgYj1ELnNwbGl0KCItIik7Yi5sZW5ndGg8M3x8Vy5wdXNoKHtoajpiWzBdLHBsYXRmb3JtOmJbMV0sZGV2aWNlVmVyc2lvbjpiWzJdLEVzOm59KX1yZXR1cm4gV307CmFseD1mdW5jdGlvbihuKXtyZXR1cm4gaUoobikubWFwKCh7aGo6VyxkZXZpY2VWZXJzaW9uOkQsRXM6Yn0pPT4oe2RldmljZUludGVyZmFjZTpjS01bdUpbV11dfHwwLGRldmljZVZlcnNpb246RHx8IiIsaXNTbGVlcGluZzpifSkpfTsKb089ZnVuY3Rpb24obixXLEQ9ITEsYj0iIil7IW4mJkQmJmcuR3EoRXJyb3IoYFBsYXllciBVUkwgdmFsaWRhdG9yIGRldGVjdHMgaW52YWxpZCB1cmwuICR7Yn06ICR7V31gKSk7cmV0dXJuIG59Owp6RT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcmJlcudGVzdChuKXx8ZFAmJkQmJkQudGVzdChuKT8hMDohMX07ClRFPWZ1bmN0aW9uKG4pe3JldHVybihuPWxKJiZsSi5leGVjKG4pKT9uWzBdOiIifTsKZ1g9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sbkV3LFdoWiksbiwhMSwiVHJ1c3RlZCBTdHJlYW0gVVJMIil9OwpnLmpJPWZ1bmN0aW9uKG4pe3JldHVybiBvTyh6RShuLEQ1VSxiS1opLG4sITEsIlRydXN0ZWQgSW1hZ2UgVVJMIil9OwpDNz1mdW5jdGlvbihuKXtyZXR1cm4gb08oekUobix2RWgsbnVsbCksbiwhMSwiVHJ1c3RlZCBQcm9tb3RlZCBWaWRlbyBEb21haW4gVVJMIil9OwpoQWk9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sazdyLG51bGwpLG4sITEsIkRybSBMaWNlbnNvciBVUkwiKX07CkJuPWZ1bmN0aW9uKG4sVz0hMSl7cmV0dXJuIG9PKHpFKG4seDVyLExodCksbixXLCJDYXB0aW9ucyBVUkwiKX07CmVBPWZ1bmN0aW9uKG4pe249bmV3IGcuVWoobik7eU4obixkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk7RWoobixkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSk7ZG9jdW1lbnQubG9jYXRpb24ucG9ydCYmaXIobixkb2N1bWVudC5sb2NhdGlvbi5wb3J0KTtyZXR1cm4gbi50b1N0cmluZygpfTsKRk49ZnVuY3Rpb24obil7bj1uZXcgZy5VaihuKTt5TihuLGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKTtyZXR1cm4gbi50b1N0cmluZygpfTsKZUFaPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5uYW1lLFsyXTpuLmlkLFszXTpuLmlzRGVmYXVsdCxbNF06bi5pc0F1dG9EdWJiZWR9fTsKTUc9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB3UChuWzFdLG5bMl0sblszXSxuWzRdKX07ClJPPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5sYW5ndWFnZUNvZGUsWzJdOm4ubGFuZ3VhZ2VOYW1lLFszXTpuLmtpbmQsWzRdOm4ubmFtZSxbNV06bi5kaXNwbGF5TmFtZSxbNl06bi5pZCxbN106bi54dGFncyxbOF06bi5OLFs5XTpuLmlzVHJhbnNsYXRlYWJsZSxbMTBdOm4udXJsLFsxMV06bi52c3NJZCxbMTJdOm4uaXNEZWZhdWx0LFsxM106bi50cmFuc2xhdGlvbkxhbmd1YWdlLFsxNF06bi5jYXB0aW9uSWR9fTsKVnc9ZnVuY3Rpb24obil7dmFyIFc9bmV3IGcuUXcoe2xhbmd1YWdlQ29kZTpuWzFdLGxhbmd1YWdlTmFtZTpuWzJdLGtpbmQ6blszXSxuYW1lOm5bNF0saWQ6bls2XSxpc19zZXJ2YWJsZTpuWzhdLGlzX3RyYW5zbGF0ZWFibGU6bls5XSx1cmw6blsxMF0sdnNzX2lkOm5bMTFdLGlzX2RlZmF1bHQ6blsxMl0seHRhZ3M6bls3XSxjYXB0aW9uSWQ6blsxNF19KTtXLmRpc3BsYXlOYW1lPW5bNV07Vy50cmFuc2xhdGlvbkxhbmd1YWdlPW5bMTNdO3JldHVybiBXfTsKZy5jbj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRpc3BsYXlOYW1lKVcucHVzaChuLmRpc3BsYXlOYW1lKTtlbHNle2xldCBEPW4ubGFuZ3VhZ2VOYW1lfHwiIjtXLnB1c2goRCk7bi5raW5kPT09ImFzciImJkQuaW5kZXhPZigiKCIpPT09LTEmJlcucHVzaCgiIChBdXRvbWF0aWMgQ2FwdGlvbnMpIik7bi5uYW1lJiZXLnB1c2goYCAtICR7bi5uYW1lfWApfW4udHJhbnNsYXRpb25MYW5ndWFnZSYmVy5wdXNoKGAgPj4gJHtuLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VOYW1lfWApO3JldHVybiBXLmpvaW4oIiIpfTsKZy5hTz1mdW5jdGlvbihuKXtyZXR1cm4gbi50cmFuc2xhdGlvbkxhbmd1YWdlP24udHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGU6bi5sYW5ndWFnZUNvZGV9OwpnLm5nPWZ1bmN0aW9uKG4pe3ZhciBXPW4udnNzSWQ7bi50cmFuc2xhdGlvbkxhbmd1YWdlJiZXJiYoVz1gdCR7V30uJHtnLmFPKG4pfWApO3JldHVybiBXfTsKZ0V3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uVyxEPW4uTixiPW4uWDtyZXR1cm57WzFdOm4uY2FwdGlvbnNJbml0aWFsU3RhdGUsWzJdOm4uSixbM106bi5jYXB0aW9uVHJhY2tzLm1hcCh2PT5STyh2KSksCls0XTpXP1JPKFcpOm51bGwsWzVdOkQ/Uk8oRCk6bnVsbCxbNl06bi5pZCxbN106bi5qLFs4XTpuLlYsWzldOmVBWihuLmtaKSxbMTBdOmI/Uk8oYik6bnVsbCxbMTFdOm4ueHRhZ3N9fTsKRGM9ZnVuY3Rpb24obil7dmFyIFc9bls0XSxEPW5bNV0sYj1uWzEwXSx2PW5ldyBXQShuWzZdLE1HKG5bOV0pKTt2LmNhcHRpb25zSW5pdGlhbFN0YXRlPW5bMV07di5jYXB0aW9uVHJhY2tzPW5bM10ubWFwKGs9PlZ3KGspKTsKdi5KPW5bMl07di5XPVc/VncoVyk6bnVsbDt2Lk49RD9WdyhEKTpudWxsO3Yuaj1uWzddO3YuVj1uWzhdO3YuWD1iP1Z3KGIpOm51bGw7di54dGFncz1uWzExXTtyZXR1cm4gdn07CnZBPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBuZXcgYjMoTkdbbl18fDAsTkdbV118fDAsRCxiKX07CmtKPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5KLFsyXTpuLk4sWzNdOm4uVyxbNF06bi5yZWFzb24sWzVdOm4uTnN9fTsKWExTPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgYjMoblsxXSxuWzJdLG5bM10sbls0XSxuWzVdKX07CnhKPWZ1bmN0aW9uKG4pe2lmKGhUJiZuLk5zKXJldHVybiExO3ZhciBXPU5HLmF1dG87cmV0dXJuIG4uSj09PVcmJm4uTj09PVd9OwplSj1mdW5jdGlvbihuKXtyZXR1cm4gTGdbbi5OfHxuLkpdfHwiYXV0byJ9OwpnRj1mdW5jdGlvbihuLFcpe1c9TkdbV107cmV0dXJuIG4uSjw9VyYmKCFuLk58fG4uTj49Vyl9OwpYcD1mdW5jdGlvbihuKXtyZXR1cm4hIW5bIjEiXT8ubGVuZ3RofHwhIW5bIjFoIl0/Lmxlbmd0aHx8ISFuWyIxZSJdPy5sZW5ndGh9OwpxZD1mdW5jdGlvbihuKXtyZXR1cm4gbj09PSIxInx8bj09PSIxaCJ8fG49PT0iMWUifTsKTmQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9ITE7aWYobi5KKXJldHVybiBuLko7dmFyIEw9e30sZT1uZXcgU2V0LEc9e307aWYoR18oYikpe2Zvcih2YXIgciBpbiBiLk4pe2lmKCFiLk4uaGFzT3duUHJvcGVydHkocikpY29udGludWU7bj1iLk5bcl07R1tuLmluZm8uSUJdPVtuLmluZm9dfXJldHVybiBHfXI9dFQoVyxiLEwpO2lmKFcuSil7KHg9WHAocikpfHwoVy5OLm5vQXYxUmVhc29uPSJub0Zvcm1hdCIpO3ZhciBOPUQuWT8iZGlzYWJsZUF2MUZvclNlc3Npb24iOiIiO04mJihXLk4ubm9BdjFSZWFzb249Tik7dih7bm9BdjFSZWFzb246Vy5OLm5vQXYxUmVhc29ufSl9ayYmdih7YWZ0c3J0OiRKKHIpfSk7Tj17fTt2YXIgSD0iIjtmb3IobGV0IEEgb2YgT2JqZWN0LmtleXMocikpe2xldCB5PUE7Zm9yKGxldCBUIG9mIHJbeV0pe2xldCB6PVQuaXRhZyxDPXJGKHksVCxXKTtpZihOLmhhc093blByb3BlcnR5KEMpKXtOW0NdPT09ITA/R1t5XS5wdXNoKFQpOkxbel09Ck5bQ107Y29udGludWV9bGV0IFE9c0QoVyxULEQsYi5pc0xpdmUsZSk7USE9PSEwPyhoLmFkZCh5KSxMW3pdPVEsVy5KJiZULk1XKCkmJihIKz1gOyR7en07JHtRfWApLFE9PT0iZGlzYWJsZXZwOWhmciImJihOW0NdPSJkaXNhYmxldnA5aGZyIikpOihHW3ldPUdbeV18fFtdLEdbeV0ucHVzaChUKSxOW0NdPSEwKX19Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj1ILHYoe25vQXYxUmVhc29uOlcuTi5ub0F2MVJlYXNvbn0pKTtrJiZ2KHtiZmZsdDokSihHKX0pO2ZvcihsZXQgQSBpbiBHKXtpZighRy5oYXNPd25Qcm9wZXJ0eShBKSljb250aW51ZTtiPUE7R1tiXSYmR1tiXVswXS5mWSgpJiYoaD1HW2JdLmxlbmd0aCxHW2JdPUdbYl0sVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9MCYmKGg9R1tiXS5sZW5ndGgsdih7bm9BdjFGbXQ6ImZpbHRlclZwOVVsdGxvdyIsY29kZWM6Yn0pKSxHW2JdPXEyQyhXLEdbYl0sTCksVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9CjAmJihoPUdbYl0ubGVuZ3RoLHYoe25vQXYxRm10OiJmaWx0ZXJRdWFsaXRpZXMiLGNvZGVjOmJ9KSksR1tiXT1HN1UoR1tiXSxMKSxXLkomJnFkKGIpJiZoPjAmJkdbYl0ubGVuZ3RoPD0wJiZ2KHtub0F2MUZtdDoiZmlsdGVySGZyIixjb2RlYzpifSkpfWsmJk9iamVjdC5rZXlzKEwpLmxlbmd0aD4wJiZ2KHtyanI6Zy5UQyhMKX0pO2ZvcihsZXQgQSBvZiBlLnZhbHVlcygpKShMPUQuVy5nZXQoQSkpJiYtLUwuZzE7ayYmdih7YWZ0Zmx0OiRKKEcpfSk7Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj0iZmlsdGVyIix2KHtub0F2MVJlYXNvbjpXLk4ubm9BdjFSZWFzb259KSk7bi5KPWcublQoRyxBPT4hIUEubGVuZ3RoKTsKcmV0dXJuIG4uSn07CklEaD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1XLld8fCEhdixMPXgmJlcuTEI/azp2b2lkIDAsZT1uZXcgU2V0LEc9TmQobixXLEQsYixrLHgsZSk7Yi5YKCkmJihHPXRnaChELEcsdix4LGssVykseCYmayh7ZW5mbHQ6JEooRyl9KSk7Vy55RT0kNXIoRyxXKTt2PUx0PT4hIUdbTHRdOwp2YXIgcj1ySGkoVyk7RD1bXTtmb3IodmFyIE4gb2YgT2JqZWN0LnZhbHVlcyhHKSlOPy5sZW5ndGgmJk5bMF0uZVMoKSYmRC5wdXNoKC4uLk4pO2lmKEdfKGIpKXJldHVybiBrPWcubF8oT2JqZWN0LnZhbHVlcyhHKSxMdD0+ISFMdC5sZW5ndGgmJiEhTHRbMF0uYXVkaW8pLHg9Zy5sXyhPYmplY3QudmFsdWVzKEcpLEx0PT4hIUx0Lmxlbmd0aCYmISFMdFswXS52aWRlbyksayYmeHx8Zy5wJCgpLGcuSDAobmV3IHBnKHgsayxMLEQpKTsKTj1HLmE7dmFyIEg9ITE7Vy5IaSYmclswXSE9PSJhIiYmc1diKE4pJiYoci51bnNoaWZ0KCJhIiksSD0hMCk7eCYmKGsoe2F1ZGlvUHJlZk9yZGVyOnIuam9pbigiXyIpfSksayh7cHJlZmVySGlnaFF1YWxpdHlBdWRpbzpXLkhpfSksayh7Zm9yY2VkQWFjRm9ySHFhOkh9KSk7Tj1bXTtpZihXLnZYKXtyPWcuRU0ocix2KTtIPW5ldyBTZXQ7Zm9yKHZhciBBIG9mIHIpe3ZhciB5PUdbQV07bGV0IEx0PW5ldyBTZXQ7Zm9yKHZhciBUIG9mIHkpaWYoeT1ULmtaPy5pZClILmhhcyh5KT9MdC5oYXMoeSkmJk4ucHVzaChUKTooTHQuYWRkKHkpLEguYWRkKHkpLE4ucHVzaChUKSl9aWYoTi5sZW5ndGg9PT0wKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbclswXV19fWVsc2V7Tj1nLmxfKHIsdik7aWYoIU4pcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbTl19R1siOSJdJiZHLmgmJmIuelcmJiFXLkZGJiYoeCYmayh7ZGx0dnA5OjF9KSwKZGVsZXRlIEdbIjkiXSk7aWYoaCl7eCYmayh7YmZzZmx0OiRKKEcpLGJmc2ZsdGE6WUoobil9KTtXLkR0P24uTj1ORFMoZSxuLk4pOm4uTi5jbGVhcigpO3gmJmsoe2Jmc2ZsdGI6WUoobil9KTtmb3IodmFyIHogaW4gRyl7aWYoIUcuaGFzT3duUHJvcGVydHkoeikpY29udGludWU7aD16O2lmKCEoaD09PSJmInx8Vy54ZD09PTAmJnBMai5oYXMoaCkpKWZvcih2YXIgQyBvZiBHW2hdKVcuRHQ/WTJTKGgsQyxuLk4pOkhLaShuLGgsQyl9eCYmayh7YWZ0c2ZsdDpZSihuKX0pfXo9R1siMWgiXT8iMWgiOiIxIjtuPUdbIjloIl0/IjloIjoiOSI7aD1HW3pdO2U9R1siMiJdO0E9R1tuXTtoJiZoLmxlbmd0aCYmKFcuTi5oaWdoZXN0QXYxUmVzb2x1dGlvbj1oW2gubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtBJiZBLmxlbmd0aCYmKFcuTi5oaWdoZXN0VnA5UmVzb2x1dGlvbj1BW0EubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtDPVtdO1Q9W107aWYoVy55dyYmZSlDPQplLFQ9WyIyIl07ZWxzZSBpZihXLk1kJiZoKUM9aCxUPVt6XSxrKHtmb3JjZUF2MTp6fSk7ZWxzZSBpZihXLkQmJiFXLmJ2KXtUPWZEdyhiKT9HWyIxaCJdfHxHWyI5aCJdP1siMWgiLCI5aCJdOlsiOSIsImgiXTpbIjEiLCI5IiwiaCJdO3gmJmsoe25ld2h5YnByZWY6VC5qb2luKCIuIil9KTtmb3IodmFyIFEgb2YgVClDPUMuY29uY2F0KEdbUV0pLmZpbHRlcihMdD0+THQpfWVsc2UgVy5uUz4wJiZBJiZoJiYoVD1beiwKbl0sQz1oLmNvbmNhdChBKS5maWx0ZXIoTHQ9Pkx0KSk7CmlmKEMubGVuZ3RoJiYhVy5idil7SEEoQyxUKTtpZih4KXt4PVtdO2Zvcih2YXIgViBvZiBDKXgucHVzaChWLml0YWcpO2soe2hiZGZtdDp4LmpvaW4oIi4iKX0pfXJldHVybiBnLkgwKG5ldyBwZyhDLE4sTCxEKSl9Vj1KSHIoVyk7Vj1nLmxfKFYsdik7aWYoIVYpe2lmKEdbel0pcmV0dXJuIGs9R1t6XSxIQShrKSxnLkgwKG5ldyBwZyhrLE4sTCxEKSk7eCYmayh7bm92aWRlbzoxfSk7cmV0dXJuIGcucCQoKX1WIT09IjEiJiZWIT09IjFoInx8IUdbbl18fChRPWZnKEdbVl0pLHY9ZmcoR1tuXSksdj5RP1Y9bjooUT12PT09USx2PUpUKEdbbl0pLHo9SlQoR1tWXSksIVF8fCF2fHxXLllaJiZ6fHwoVj1uKSkpO1Y9PT0iOSImJkcuaCYmZmcoRy5oKT5mZyhHWyI5Il0pJiYoVj0iaCIpO1cuQlYmJmIuaXNMaXZlJiZWPT09IigiJiZHLkgmJmZnKEdbIigiXSk8MTQ0MCYmKFY9IkgiKTt4JiZrKHt2Zm1seTpJcihWKX0pO1c9R1tWXTtpZighVy5sZW5ndGgpcmV0dXJuIHgmJmsoe25vdmZtbHk6SXIoVil9KSwKZy5wJCgpO0hBKFcpO3JldHVybiBnLkgwKG5ldyBwZyhXLE4sTCxEKSl9OwpTMmI9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4PSExKXtpZihXLkU1JiZoJiZoLmxlbmd0aD4xJiYhKFcublM+MHx8Vy5EKSl7bGV0IHI9Vy5XfHwhIXYsTj1yJiZXLkxCP2s6dm9pZCAwLEg9dFQoVyxiKSxBPVtdLHk9W10sVD17fTtmb3IobGV0IHo9MDt6PGgubGVuZ3RoO3orKyl7dmFyIEw9aFt6XSxlPWIuSi5nZXQoTCk7aWYoZSYmZS5pbmZvKXt2YXIgRz1lLmluZm87ZT1HLklCO2lmKHNEKFcsRyxELGIuaXNMaXZlKSl7TD1HLmZZKCk/QTp5O0c9SFtlXTtmb3IobGV0IEMgb2YgRylHPXJGKGUsQyxXKSxULmhhc093blByb3BlcnR5KEcpP1RbR109PT0hMCYmTC5wdXNoKEMpOnNEKFcsQyxELGIuaXNMaXZlKSYmKEwucHVzaChDKSxUW0ddPSEwKX1lbHNlIHImJmsoe29wZnU6TH0pfX1pZihBLmxlbmd0aCYmeS5sZW5ndGgpcmV0dXJuIHImJmsoe29wZm06QVswXS5pdGFnKyIsIit5WzBdLml0YWd9KSxnLkgwKG5ldyBwZyhBLHksTikpfXJldHVybiBJRGgobixXLEQsYix2LGsseCl9OwpZSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5OLmtleXMoKSl7bGV0IGI9bi5OLmdldChEKTtXLnB1c2goYCR7RH1fJHtiLm1heFdpZHRofV8ke2IubWF4SGVpZ2h0fWApfXJldHVybiBXLmpvaW4oIi4iKX07CkhLaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9RC52aWRlbz8uZnBzfHwwLHY9YCR7V31fJHtifWAsaz0hIUQuYXVkaW8saD1uLk4uZ2V0KHYpLHg9bi5OLmdldCh2KSxMPSEhRC5hdWRpbzt4JiYoTHx8IUwmJkQudmlkZW8/LmhlaWdodCYmeC5tYXhIZWlnaHQmJngubWF4SGVpZ2h0Pj1ELnZpZGVvPy5oZWlnaHQpfHwoeD1ELml0YWcsVz1oP2g6e2l0YWc6eCxJQjpXLGVTOmt9LGs/Vy5udW1DaGFubmVscz1ELmF1ZGlvLm51bUNoYW5uZWxzOihrPUQudmlkZW8sVy5tYXhXaWR0aD1rPy53aWR0aCxXLm1heEhlaWdodD1rPy5oZWlnaHQsVy5tYXhGcmFtZXJhdGU9YixXLm1heEJpdHJhdGVCcHM9RC5Ocyo4LFcuejk9az8uaXNIZHIoKSksbi5OLnNldCh2LFcpKX07CiQ1cj1mdW5jdGlvbihuLFcpe3ZhciBEPSEoIW4ubSYmIW4uTSksYj0hKCFuLm1hYzMmJiFuLk1BQzMpLHY9ISghbi5tZWFjMyYmIW4uTUVBQzMpO249ISghbi5pJiYhbi5JKTtXLlFyPW47cmV0dXJuIER8fGJ8fHZ8fG59OwpKVD1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLml0YWcmJkFIUy5oYXMoVy5pdGFnKSlyZXR1cm4hMDtyZXR1cm4hMX07CnNXYj1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLmF1ZGlvLmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giKXJldHVybiEwO3JldHVybiExfTsKSXI9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIioiOnJldHVybiJ2OGUiO2Nhc2UgIigiOnJldHVybiJ2OWUiO2Nhc2UgIihoIjpyZXR1cm4idjloZSI7ZGVmYXVsdDpyZXR1cm4gbn19OwpyRj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQuVEM/YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59XyR7ISFXLnZpZGVvPy5YfWA6YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59YH07CiRKPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKXtpZighbi5oYXNPd25Qcm9wZXJ0eShEKSljb250aW51ZTtsZXQgYj1EO1cucHVzaChJcihiKSk7Zm9yKGxldCB2IG9mIG5bYl0pVy5wdXNoKHYuaXRhZyl9cmV0dXJuIFcuam9pbigiLiIpfTsKdGdoPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17fSx4PXt9O2cuYV8oVywoTCxlKT0+e0w9TC5maWx0ZXIoRz0+e3ZhciByPUcuaXRhZztpZighRy5jb250ZW50UHJvdGVjdGlvbilyZXR1cm4geFtyXT0ibm9lbmMiLCExO2lmKGsuSEQmJkcuSUI9PT0iKGgiJiZrLmJkKXJldHVybiB4W3JdPSJsaWNoZHIiLCExO2lmKCFuLlgmJkcuSUI9PT0iMWUiKXJldHVybiB4W3JdPSJub2F2MWVuYyIsITE7aWYoRy5JQj09PSIoInx8Ry5JQj09PSIoaCIpe2lmKG4uSiYmRCYmRC5mbGF2b3I9PT0id2lkZXZpbmUiKXt2YXIgTj1HLm1pbWVUeXBlKyI7IGV4cGVyaW1lbnRhbD1hbGxvd2VkIjsoTj0hIUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiYhIUQuSltOXSl8fCh4W3JdPUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdPyJ1bnNwdCI6Im5vZmx2Iik7cmV0dXJuIE59aWYoIVNKKG4sQVQuQ1JZUFRPQkxPQ0tGT1JNQVQpJiYhbi5UQ3x8bi50dylyZXR1cm4geFtyXT1uLnR3PwoiZGlzdnAiOiJ2cHN1YiIsITF9cmV0dXJuIEQmJkcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiZELkpbRy5taW1lVHlwZV0/ITA6KHhbcl09RD9HLmNvbnRlbnRQcm90ZWN0aW9uW0QuZmxhdm9yXT8idW5zcHQiOiJub2ZsdiI6Im5vc3lzIiwhMSl9KTsKTC5sZW5ndGgmJihoW2VdPUwpfSk7CmImJk9iamVjdC5lbnRyaWVzKHgpLmxlbmd0aCYmdih7cmpyOmcuVEMoeCl9KTtpZihrLkopZm9yKGxldCBMIG9mIE9iamVjdC52YWx1ZXMoVykpaWYoTClmb3IobGV0IGUgb2YgTClXPXhbZS5pdGFnXSxlLk1XKCkmJlchPT12b2lkIDAmJihrLk5bZS5pdGFnXT1XKTtyZXR1cm4gaH07Ckc3VT1mdW5jdGlvbihuLFcpe3ZhciBEPWcudV8obiwoYix2KT0+di52aWRlby5KKCk/TWF0aC5taW4oYix2LnZpZGVvLndpZHRoKTpiLEluZmluaXR5KTsKRDxJbmZpbml0eSYmKG49bi5maWx0ZXIoYj0+e2lmKGIudmlkZW8uSigpfHxiLnZpZGVvLndpZHRoPEQpcmV0dXJuITA7V1tiLml0YWddPSJoZnJmaXJzdCI7cmV0dXJuITF9KSk7CmxiKCkmJihuPW4uZmlsdGVyKGI9PntpZihiLml0YWchPT0iMjk5IilyZXR1cm4hMDtXW2IuaXRhZ109InBzM2hmcjEwODAiO3JldHVybiExfSkpOwpyZXR1cm4gbn07CnEyQz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFc9Vy5maWx0ZXIoYj0+e2lmKGIudmlkZW8ucXVhbGl0eU9yZGluYWw8PW4ud2EpcmV0dXJuITA7RFtiLml0YWddPSJtYXhxdWFsaXR5IjtyZXR1cm4hMX0pfTsKdFQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2ZvcihsZXQgdiBpbiBXLk4pe2lmKCFXLk4uaGFzT3duUHJvcGVydHkodikpY29udGludWU7bGV0IGs9Vy5OW3ZdLmluZm87aWYobi5ZJiZrLnZpZGVvJiZrLnZpZGVvLnF1YWxpdHlPcmRpbmFsPG4uWSl7RCYmKERbay5pdGFnXT1gbWluJHtuLll9YCk7Y29udGludWV9bGV0IGg9ay5JQjtiW2hdPWJbaF18fFtdO2JbaF0ucHVzaChrKX1mb3IobGV0IHYgb2YgT2JqZWN0LmtleXMoYikpSEEoYlt2XSk7cmV0dXJuIGJ9OwpmZz1mdW5jdGlvbihuKXtyZXR1cm4gZy51XyhuLChXLEQpPT5NYXRoLm1heChXLEQudmlkZW8ucXVhbGl0eU9yZGluYWwpLDApfTsKc0Q9ZnVuY3Rpb24obixXLEQsYj0hMSx2PW5ldyBTZXQpe2lmKFcuSUI9PT0iIilyZXR1cm4idW5rbiI7aWYoKFcuaXRhZz09PSIzMDQifHxXLml0YWc9PT0iMjY2IikmJm4udHcpcmV0dXJuImJsazJraGZyIjtpZihuLksmJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5LKXJldHVybmBtYXgke24uS31gO2lmKG4uQ3UmJlcuSUI9PT0iaCImJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MClyZXR1cm4iYmxraGlnaDI2NCI7aWYoVy5JQj09PSIoaCImJiFELkspcmV0dXJuImVuY2hkciI7aWYoYiYmbUYoVykmJiFuLm51KXJldHVybiJibGs1MWxpdmUiO2lmKChXLklCPT09Ik1BQzMifHxXLklCPT09Im1hYzMiKSYmIW4uailyZXR1cm4iYmxrYWMzIjtpZigoVy5JQj09PSJNRUFDMyJ8fFcuSUI9PT0ibWVhYzMiKSYmIW4uVilyZXR1cm4iYmxrZWFjMyI7aWYoVy5JQj09PSJNInx8Vy5JQj09PSJtIilyZXR1cm4iYmxrYWFjNTEiO2lmKChXLklCPT09InNvInx8ClcuSUI9PT0ic2EiKSYmIW4uY0opcmV0dXJuImJsa2FtYiI7aWYoIW4uSEQmJktnKFcpJiYoIUQuWHx8Vy5JQiE9PSIxZSIpKXJldHVybiJjYmMiO2lmKCFELlgmJktnKFcpJiZXLklCPT09IjFlIilyZXR1cm4iY2JjYXYxIjtpZigoVy5JQj09PSJpInx8Vy5JQj09PSJJIikmJiFuLlZRKXJldHVybiJibGtpYW1mIjtpZihuLlJhJiZXLmF1ZGlvPy5OPT09ITApcmV0dXJuImJsa3ZiY2FiciI7aWYobi5UQyYmVy52aWRlbz8uWD09PSExKXJldHVybiJibGttdHZjYWJyIjtpZihuLnZKJiYoVy5JQj09PSIxInx8Vy5JQj09PSIxaCJ8fEQuWCYmVy5JQj09PSIxZSIpJiZXLnZpZGVvPy5xdWFsaXR5T3JkaW5hbCYmVy52aWRlbz8ucXVhbGl0eU9yZGluYWw+bi52SilyZXR1cm4iYXYxY2FwIjtiPUQuVy5nZXQoVy5JQik7aWYoIW4ualcmJmImJmIuZzE+MClyZXR1cm4gdi5hZGQoVy5JQiksImJ5ZXJyIjtpZihXLnZpZGVvPy5KKCkpe2lmKCFELmJkJiYhU0ooRCxBVC5GUkFNRVJBVEUpKXJldHVybiJjYXBIZnIiOwppZihuLlBYJiZXLnZpZGVvLnF1YWxpdHlPcmRpbmFsPj00MzIwKXJldHVybiJibGs4a2hmciI7aWYoVy5YKCkmJm4uVTUmJlcuY29udGVudFByb3RlY3Rpb24mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+PTE0NDApcmV0dXJuImRpc2FibGV2cDloZnIifWlmKG4uTnMmJlcuTnM+bi5OcylyZXR1cm4icmF0ZWNhcCI7aWYobi5TJD4wJiZXLmZZKCkmJlcudmlkZW8uaGVpZ2h0Pm4uUyQpcmV0dXJuIm12aGNhcCI7bj1PRChELFcpO3JldHVybiBuIT09ITA/bjohMH07CkhBPWZ1bmN0aW9uKG4sVz1bXSl7Zy5iZihuLChELGIpPT57dmFyIHY9Yi5Ocy1ELk5zO2lmKCFELmZZKCl8fCFiLmZZKCkpcmV0dXJuIHY7dmFyIGs9Yi52aWRlby5oZWlnaHQqYi52aWRlby53aWR0aC1ELnZpZGVvLmhlaWdodCpELnZpZGVvLndpZHRoOyFrJiZXJiZXLmxlbmd0aD4wJiYoRD1XLmluZGV4T2YoRC5JQikrMSxiPVcuaW5kZXhPZihiLklCKSsxLGs9RD09PTB8fGI9PT0wP2J8fC0xOkQtYik7a3x8KGs9dik7cmV0dXJuIGt9KX07ClBBPWZ1bmN0aW9uKG4sVyl7aWYoVz5uLngkKCkpbi5zZWdtZW50cz1bXTtlbHNle3ZhciBEPWcuejQobi5zZWdtZW50cyxiPT5iLmokPj1XLG4pOwpEPjAmJm4uc2VnbWVudHMuc3BsaWNlKDAsRCl9fTsKWmM9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K24uTik7bi5OKz0xO3JldHVybiBXfTsKVUQ9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQxNihuLm9mZnNldCtuLk4pO24uTis9MjtyZXR1cm4gV307CnlMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRJbnQzMihuLm9mZnNldCtuLk4pO24uTis9NDtyZXR1cm4gV307CkVEPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50MzIobi5vZmZzZXQrbi5OKTtuLk4rPTQ7cmV0dXJuIFd9OwppMz1mdW5jdGlvbihuKXt2YXIgVz1uLmRhdGE7dmFyIEQ9bi5vZmZzZXQrbi5OO1c9Vy5nZXRVaW50MzIoRCkqNDI5NDk2NzI5NitXLmdldFVpbnQzMihEKzQpO24uTis9ODtyZXR1cm4gV307CnUzPWZ1bmN0aW9uKG4sVz1OYU4pe2lmKGlzTmFOKFcpKXZhciBEPW4uc2l6ZTtlbHNlIGZvcihEPW4uTjtEPG4uc2l6ZSYmbi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K0QpIT09VzspKytEO1c9bmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLk4rbi5kYXRhLmJ5dGVPZmZzZXQsRC1uLk4pO24uTj1NYXRoLm1pbihEKzEsbi5zaXplKTtyZXR1cm4gcFIoVyl9Owpvcj1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLmRhdGEuYnl0ZU9mZnNldCxuLnNpemUpfTsKZEY9ZnVuY3Rpb24obixXLEQsYil7KG5ldyBVaW50OEFycmF5KG4uZGF0YS5idWZmZXIsbi5vZmZzZXQsYikpLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixEK1cuYnl0ZU9mZnNldCxiKSk7bi5vZmZzZXQrPWJ9Owp6Xz1mdW5jdGlvbihuLFcpe3JldHVybiBOdW1iZXIobi5kYXRhW1ddKXx8MH07ClRfPWZ1bmN0aW9uKG4pe3JldHVybiBuLmRhdGFbIkN1ZXBvaW50LVR5cGUiXT9uZXcgZy5sMygtKE51bWJlcihuLmRhdGFbIkN1ZXBvaW50LVBsYXloZWFkLVRpbWUtU2VjIl0pfHwwKSxOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1Ub3RhbC1EdXJhdGlvbi1TZWMiXSl8fDAsbi5kYXRhWyJDdWVwb2ludC1Db250ZXh0Il0sbi5kYXRhWyJDdWVwb2ludC1JZGVudGlmaWVyIl18fCIiLG01altuLmRhdGFbIkN1ZXBvaW50LUV2ZW50Il18fCIiXXx8InVua25vd24iLChOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1QbGF5aGVhZC1UaW1lLVNlYyJdKXx8MCkqMUUzKTpudWxsfTsKako9ZnVuY3Rpb24obil7cmV0dXJuIE51bWJlcihuLmRhdGFbIlN0YXJ0LU1lZGlhLVRpbWUtVXMiXSkvMUU2fHwwfTsKQ2c9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tSWQiXT9uLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKTpbXX07CkJBPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXSlmb3IobGV0IEQgb2Ygbi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1EdXJhdGlvbi1VcyJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSkpVy5wdXNoKChOdW1iZXIoRCl8fDApLzFFNik7cmV0dXJuIFd9OwpGcD1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LUZyYW1lLUluZGV4Il0pZm9yKGxldCBEIG9mIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tU3RhcnQtRnJhbWUtSW5kZXgiXS5zcGxpdCgiLCIpLnNsaWNlKDAsLTEpKVcucHVzaChOdW1iZXIoRCl8fDApO3JldHVybiBXfTsKd0Y9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1UaW1lLVdpdGhpbi1BZC1VcyJdKWZvcihsZXQgRCBvZiBuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LVRpbWUtV2l0aGluLUFkLVVzIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKSlXLnB1c2goKE51bWJlcihEKXx8MCkvMUU2KTtyZXR1cm4gV307CmcuTWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdP24uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdOiIifTsKZy5Scj1mdW5jdGlvbihuKXtzd2l0Y2gobi5kYXRhWyJJcy1BZC1CcmVhay1GaW5pc2hlZCJdKXtjYXNlICJ0cnVlIjpyZXR1cm4gMTtjYXNlICJmYWxzZSI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19OwpRTD1mdW5jdGlvbihuKXt2YXIgVz17fTtuPW4uc3BsaXQoIlxyXG4iKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKyl7aWYobltEXS5sZW5ndGg9PT0wKXJldHVybiBXO2xldCBiPW5bRF0ubWF0Y2goLyhbXjpdKyk6XHMrKFtcU1xzXSspLyk7YiE9bnVsbCYmKFdbYlsxXV09YlsyXSl9cmV0dXJuIG51bGx9OwpnLm5zPWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vz1hcihiLnR5cGUpP1crODpXK2Iuc2l6ZX1yZXR1cm4gbnVsbH07Cld3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTk1Mjg2ODQ1Mik7bj1nLm5zKG4sMCwxOTUzNjU4MjIyKTtpZihEJiZuKXtELnNraXAoMSk7dmFyIGI9WmMoRCk8PDE2fFVEKEQpO0Quc2tpcCg0KTtiJjEmJkQuc2tpcCg4KTtiJjImJkQuc2tpcCg0KTtpZihiJjgpe2I9RC5OO3ZhciB2PUVEKEQpO0QuZGF0YS5zZXRVaW50MzIoRC5vZmZzZXQrYixXPjE/TWF0aC5jZWlsKHYqVyk6TWF0aC5mbG9vcih2KlcpKX1uLnNraXAoMSk7RD1aYyhuKTw8MTZ8VUQobik7aWYoRCYyNTYpe2I9RCYxO3Y9RCY0O3ZhciBrPUQmNTEyLGg9RCYxMDI0LHg9RCYyMDQ4O0Q9RUQobik7YiYmbi5za2lwKDQpO3YmJm4uc2tpcCg0KTtiPShrPzQ6MCkrKGg/NDowKSsoeD80OjApO2Zvcih2PTA7djxEO3YrKylrPW4uTixoPUVEKG4pLG4uZGF0YS5zZXRVaW50MzIobi5vZmZzZXQrayxXPjE/TWF0aC5jZWlsKGgqVyk6TWF0aC5mbG9vcihoKlcpKSxuLnNraXAoYil9fX07ClZMPWZ1bmN0aW9uKG4sVyl7aWYobi5ieXRlTGVuZ3RoLVc8OClyZXR1cm4hMTt2YXIgRD1uLmdldFVpbnQzMihXKTtpZihEPDh8fG4uYnl0ZUxlbmd0aC1XPEQpcmV0dXJuITE7Zm9yKEQ9NDtEPDg7RCsrKXtsZXQgYj1uLmdldEludDgoVytEKTtpZihiPDQ4fHxiPjEyMilyZXR1cm4hMX1yZXR1cm4hMH07CmNBPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRVaW50MzIoVyksYj1uLmdldFVpbnQzMihXKzQpO3JldHVybiBuZXcgRF8obixXLEQsYil9OwpnLmJMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50OChuLmRhdGFPZmZzZXQpPzIwOjEyO3JldHVybiBuLmRhdGEuZ2V0VWludDMyKG4uZGF0YU9mZnNldCtXKX07CnZ3PWZ1bmN0aW9uKG4pe249bmV3IERhdGFWaWV3KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpO3JldHVybihuPWcubnMobiwwLDE4MzY0NzY1MTYpKT9nLmJMKG4pOk5hTn07Cmt4PWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vys9Yi5zaXplfXJldHVybiBudWxsfTsKYXI9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0xNzAxMDgyMjI3fHxuPT09MTgzNjAxOTU1OHx8bj09PTE4MzYwMTk1NzR8fG49PT0xODM1Mjk3MTIxfHxuPT09MTgzNTYyNjA4Nnx8bj09PTE5MzcwMDcyMTJ8fG49PT0xOTUzNjUzMDk0fHxuPT09MTk1MzY1MzA5OXx8bj09PTE4MzY0NzU3Njh9OwpLaDI9ZnVuY3Rpb24obil7dmFyIFc9Zy5ucyhuLDAsMTkzNzAxMTU1Nik7aWYoIVcpcmV0dXJuIG51bGw7Vz1reChuLFcuZGF0YU9mZnNldCs4LDE2MzUxNDg1OTMpfHxreChuLFcuZGF0YU9mZnNldCs4LDE2MzUxMzU1MzcpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPWt4KG4sVy5kYXRhT2Zmc2V0Kzc4LDE5MzY5OTUxNzIpLGI9a3gobixXLmRhdGFPZmZzZXQrNzgsMTkzNzEyNjI0NCk7aWYoIWIpcmV0dXJuIG51bGw7Vz1udWxsO2lmKEQpc3dpdGNoKEQuc2tpcCg0KSxaYyhEKSl7ZGVmYXVsdDpXPTA7YnJlYWs7Y2FzZSAxOlc9MjticmVhaztjYXNlIDI6Vz0xO2JyZWFrO2Nhc2UgMzpXPTI1NX12YXIgdj1EPW51bGwsaz1udWxsO2lmKGI9a3gobixiLmRhdGFPZmZzZXQsMTg4NjU0NzgxOCkpe2xldCBoPWt4KG4sYi5kYXRhT2Zmc2V0LDE4ODY1NDYwMjApLHg9a3gobixiLmRhdGFPZmZzZXQsMjAzNzY3MzMyOCk7aWYoIXgmJih4PWt4KG4sYi5kYXRhT2Zmc2V0LDE4MzYyNzk5MjApLAoheCkpcmV0dXJuIG51bGw7aCYmKGguc2tpcCg0KSxEPXlMKGgpLzY1NTM2LGs9eUwoaCkvNjU1MzYsdj15TChoKS82NTUzNik7bj1vcih4KTtuPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQrOCxuLmJ5dGVMZW5ndGgtOCk7cmV0dXJuIG5ldyBoWShXLEQsayx2LG4pfXJldHVybiBudWxsfTsKZy54eD1mdW5jdGlvbihuKXtpZihuLmRhdGEuZ2V0VWludDgobi5kYXRhT2Zmc2V0KSl7dmFyIFc9bi5kYXRhO249bi5kYXRhT2Zmc2V0KzQ7Vz1XLmdldFVpbnQzMihuKSo0Mjk0OTY3Mjk2K1cuZ2V0VWludDMyKG4rNCl9ZWxzZSBXPW4uZGF0YS5nZXRVaW50MzIobi5kYXRhT2Zmc2V0KzQpO3JldHVybiBXfTsKTHM9ZnVuY3Rpb24obil7bj1uZXcgRF8obi5kYXRhLG4ub2Zmc2V0LG4uc2l6ZSxuLnR5cGUsbi5KKTt2YXIgVz1aYyhuKTtuLnNraXAoNyk7dmFyIEQ9RUQobik7aWYoVz09PTApe1c9RUQobik7dmFyIGI9RUQobil9ZWxzZSBXPWkzKG4pLGI9aTMobik7bi5za2lwKDIpO3ZhciB2PVVEKG4pLGs9W10saD1bXTtmb3IobGV0IHg9MDt4PHY7eCsrKXtsZXQgTD1FRChuKTtrLnB1c2goTCk7aC5wdXNoKEVEKG4pKTtuLnNraXAoNCl9cmV0dXJue3RpbWVzY2FsZTpELGY4OlcsTm86YixIczprLHFnOmh9fTsKZy5lUD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wLGI9W107VkwobixEKTspe2xldCB2PWNBKG4sRCk7di50eXBlPT09VyYmYi5wdXNoKHYpO0Q9YXIodi50eXBlKT9EKzg6RCt2LnNpemV9cmV0dXJuIGJ9OwpnQT1mdW5jdGlvbihuKXtuLnNraXAoNCk7cmV0dXJue1d6OnUzKG4sMCksdmFsdWU6dTMobiwwKSx0aW1lc2NhbGU6RUQobiksbzc6RUQobiksZXZlbnREdXJhdGlvbjpFRChuKSxpZDpFRChuKSxadzp1MyhuKSxvZmZzZXQ6bi5vZmZzZXR9fTsKZy5xaz1mdW5jdGlvbihuKXt2YXIgVz1reChuLDAsMTcwMTY3MTc4Myk7aWYoIVcpcmV0dXJuIG51bGw7dmFyIEQ9Z0EoVyksYj1ELld6O0Q9UUwoRC5adyk7aWYobj1reChuLFcub2Zmc2V0K1cuc2l6ZSwxNzAxNjcxNzgzKSlpZihuPWdBKG4pLG49UUwobi5adyksRCYmbilmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobikpRFt2XT1uW3ZdO3JldHVybiBEP25ldyBYNShELGIpOm51bGx9OwpHaj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1reChuLDAsVyk7RDspe3ZhciBiPUQ7Yi50eXBlPTE5MzY0MTkxODQ7Yi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpO0Q9a3gobixELm9mZnNldCtELnNpemUsVyl9fTsKUElDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTkzNzAxMTU1NiksYj1nLm5zKG4sMCwxOTUzNjU0MTM2KTtpZighRHx8IWJ8fG4uZ2V0VWludDMyKEQub2Zmc2V0KzEyKT49MilyZXR1cm4gbnVsbDt2YXIgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoKSxrPWcubnModiwwLDE5MzcwMTE1NTYpO2lmKCFrKXJldHVybiBudWxsO1c9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzgpO2I9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzEyKTtpZihiIT09MTcwMTczMzIxNyYmYiE9PTE3MDE3MzMyMzgpcmV0dXJuIG51bGw7Yj1uZXcgT0t0KG4uYnl0ZUxlbmd0aCtXKTtkRihiLG4sMCxELm9mZnNldCsxMik7Yi5kYXRhLnNldEludDMyKGIub2Zmc2V0LDIpO2Iub2Zmc2V0Kz00O2RGKGIsbixELm9mZnNldCsxNixELnNpemUtMTYpO2RGKGIsdix2LmJ5dGVPZmZzZXQray5kYXRhT2Zmc2V0KzgsVyk7ZEYoYixuLEQub2Zmc2V0K0Quc2l6ZSxuLmJ5dGVMZW5ndGgtCihELm9mZnNldCtELnNpemUpKTtEPVsxODM2MDE5NTc0LDE5NTM2NTMwOTksMTgzNTI5NzEyMSwxODM1NjI2MDg2LDE5MzcwMDcyMTIsMTkzNzAxMTU1Nl07Zm9yKGxldCBoIG9mIEQpRD1nLm5zKG4sMCxoKSxiLmRhdGEuc2V0VWludDMyKEQub2Zmc2V0LEQuc2l6ZStXKTtuPWcubnMoYi5kYXRhLDAsMTk1MzY1NDEzNik7Yi5kYXRhLnNldFVpbnQzMihuLm9mZnNldCsxNiwyKTtyZXR1cm4gYi5kYXRhfTsKWktaPWZ1bmN0aW9uKG4pe3ZhciBXPWcubnMobiwwLDE5MzcwMTE1NTYpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPW4uZ2V0VWludDMyKFcuZGF0YU9mZnNldCsxMik7aWYoRCE9PTE3MDE3MzMyMTcmJkQhPT0xNzAxNzMzMjM4KXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCsyNCsoRD09PTE3MDE3MzMyMTc/Mjg6NzgpLDE5MzYyODkzODIpO2lmKCFXKXJldHVybiBudWxsO0Q9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzcpO2lmKCFEfHxuLmdldFVpbnQzMihELm9mZnNldCsxMikhPT0xNjY3MzkyMzcxKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzMpO2lmKCFXKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5NTI4MDQ0NTEpO2lmKCFXKXJldHVybiBudWxsO0Q9bmV3IFVpbnQ4QXJyYXkoMTYpO2ZvcihsZXQgYj0wO2I8MTY7YisrKURbYl09bi5nZXRJbnQ4KFcub2Zmc2V0KzE2K2IpO3JldHVybiBEfTsKWXg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyB0WShEKTtpZighJHgoYixuKSlyZXR1cm4hMTtiPXJBKGIpO2lmKCFzWShiLFcpKXJldHVybiExO2ZvcihuPTA7VzspVz4+Pj04LG4rKztXPWIuc3RhcnQrYi5wb3M7dmFyIHY9TmsoYiwhMCk7Yj1uKyhiLnN0YXJ0K2IucG9zLVcpK3Y7Yj1iPjk/cHMoYi05LDgpOnBzKGItMiwxKTtuPVctbjtELnNldFVpbnQ4KG4rKywyMzYpO2ZvcihXPTA7VzxiLmxlbmd0aDtXKyspRC5zZXRVaW50OChuKyssYltXXSk7cmV0dXJuITB9Owpwcz1mdW5jdGlvbihuLFcpe1d8fChXPU1hdGguY2VpbChNYXRoLmxvZyhuKzIpL01hdGgubG9nKDIpLzcpKTtmb3IodmFyIEQ9MTw8OC1XLGI9W107Yi5sZW5ndGg8Vy0xOyliLnVuc2hpZnQobiUyNTYpLG49TWF0aC5mbG9vcihuLzI1Nik7Yi51bnNoaWZ0KG58RCk7cmV0dXJuIGJ9OwpVNVo9ZnVuY3Rpb24obil7dmFyIFc9bmV3IHRZKG4pO1cuT0ooKTtpZigkeChXLFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdKSlXPXJBKFcpO2Vsc2UgcmV0dXJuIG51bGw7Zm9yKHZhciBEPW49bnVsbDshSHcoVyk7KXt2YXIgYj1OayhXLCExKTtpZihiPT09MjE0MzIpc3dpdGNoKGZzKFcpKXtkZWZhdWx0Om49MDticmVhaztjYXNlIDE6bj0xO2JyZWFrO2Nhc2UgMzpuPTI7YnJlYWs7Y2FzZSAxNTpuPTI1NX1lbHNlIGI9PT0zMDMyMD9EPXJBKFcpOkpZKFcpfWlmKCFEKXJldHVybiBudWxsO2Zvcih2YXIgdixrPWI9Vz1udWxsOyFIdyhEKTspc3dpdGNoKE5rKEQsITEpKXtjYXNlIDMwMzIxOmlmKGZzKEQpIT09MylyZXR1cm4gbnVsbDticmVhaztjYXNlIDMwMzI0Olc9SUIoRCk7YnJlYWs7Y2FzZSAzMDMyMzprPUlCKEQpO2JyZWFrO2Nhc2UgMzAzMjU6Yj1JQihEKTticmVhaztjYXNlIDMwMzIyOnY9TmsoRCwhMCk7dj1TUChELHYpO3Y9bmV3IERhdGFWaWV3KHYuYnVmZmVyLAp2LmJ5dGVPZmZzZXQsdi5ieXRlTGVuZ3RoKTticmVhaztkZWZhdWx0OkpZKEQpfXJldHVybiB2P25ldyBoWShuLFcsayxiLHYpOm51bGx9OwokeD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtpZighc1kobixXW0RdKSlyZXR1cm4hMTtEIT09Vy5sZW5ndGgtMSYmTmsobiwhMCl9cmV0dXJuITB9OwpyQT1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPW4uTi5ieXRlT2Zmc2V0K24ucG9zO0Q9bmV3IERhdGFWaWV3KG4uTi5idWZmZXIsRCxNYXRoLm1pbihXLG4uTi5idWZmZXIuYnl0ZUxlbmd0aC1EKSk7RD1uZXcgdFkoRCxuLnN0YXJ0K24ucG9zKTtuLnBvcys9VztyZXR1cm4gRH07CnNZPWZ1bmN0aW9uKG4sVyxEPSExKXtpZihIdyhuKSlyZXR1cm4hMTtmb3IodmFyIGI9bi5wb3M7TmsobiwhMSkhPT1XOylpZihKWShuKSxiPW4ucG9zLEh3KG4pKXJldHVybiExO0QmJihuLnBvcz1iKTtyZXR1cm4hMH07Ck5rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QVkobik7aWYoRD09PTEpe0Q9MDtmb3IoVz0wO1c8NztXKyspRD1EKjI1NitBWShuKTtyZXR1cm4gRH12YXIgYj0xMjg7Zm9yKGxldCB2PTA7djw2JiZiPkQ7disrKUQ9RCoyNTYrQVkobiksYio9MTI4O3JldHVybiBXP0QtYjpEfTsKSHc9ZnVuY3Rpb24obil7cmV0dXJuIG4ucG9zPj1uLk4uYnl0ZUxlbmd0aH07CmZzPWZ1bmN0aW9uKG4pe3ZhciBXPU5rKG4sITApLEQ9QVkobik7Zm9yKGxldCBiPTE7YjxXO2IrKylEPUQqMjU2K0FZKG4pO3JldHVybiBEfTsKSlk9ZnVuY3Rpb24obil7dmFyIFc9TmsobiwhMCk7bi5wb3MrPVd9OwpJQj1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPTA7Vz09PTQ/RD1uLk4uZ2V0RmxvYXQzMihuLnBvcyk6Vz09PTgmJihEPW4uTi5nZXRGbG9hdDY0KG4ucG9zKSk7bi5wb3MrPVc7cmV0dXJuIER9OwpTUD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrbi5wb3MsVyk7bi5wb3MrPVc7cmV0dXJuIER9OwptdD1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKTtyZXR1cm4gcFIoU1AobixXKSl9OwpBWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmdldFVpbnQ4KG4ucG9zKyspfTsKeUhyPWZ1bmN0aW9uKG4pe2lmKCFzWShuLDQ0MDc4Njg1MSwhMCkpcmV0dXJuIG51bGw7dmFyIFc9bi5wb3M7TmsobiwhMSk7dmFyIEQ9TmsobiwhMCkrbi5wb3MtVztuLnBvcz1XK0Q7aWYoIXNZKG4sNDA4MTI1NTQzLCExKSlyZXR1cm4gbnVsbDtOayhuLCEwKTtpZighc1kobiwzNTcxNDkwMzAsITApKXJldHVybiBudWxsO3ZhciBiPW4ucG9zO05rKG4sITEpO3ZhciB2PU5rKG4sITApK24ucG9zLWI7bi5wb3M9Yit2O2lmKCFzWShuLDM3NDY0ODQyNywhMCkpcmV0dXJuIG51bGw7dmFyIGs9bi5wb3M7TmsobiwhMSk7dmFyIGg9TmsobiwhMCkrbi5wb3Mtayx4PW5ldyBVaW50OEFycmF5KEQrMTIrditoKSxMPW5ldyBEYXRhVmlldyh4LmJ1ZmZlcik7eC5zZXQobmV3IFVpbnQ4QXJyYXkobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCtXLEQpKTtMLnNldFVpbnQzMihELDQwODEyNTU0Myk7TC5zZXRVaW50MzIoRCs0LDMzNTU0NDMxKTtMLnNldFVpbnQzMihEKzgsNDI5NDk2NzI5NSk7Cnguc2V0KG5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrYix2KSxEKzEyKTt4LnNldChuZXcgVWludDhBcnJheShuLk4uYnVmZmVyLG4uTi5ieXRlT2Zmc2V0K2ssaCksRCsxMit2KTtyZXR1cm4geH07CktzPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9zO24ucG9zPTA7dmFyIEQ9MUU2OyR4KG4sWzQwODEyNTU0MywzNTcxNDkwMzAsMjgwNzcyOV0pJiYoRD1mcyhuKSk7bi5wb3M9VztyZXR1cm4gRH07ClB3PWZ1bmN0aW9uKG4pe2lmKCFPWShuKXx8IXNZKG4sNTI0NTMxMzE3KSlyZXR1cm4hMTtOayhuLCEwKTtyZXR1cm4hMH07CkVFWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucG9zO24ucG9zPTA7aWYobi5OLmdldFVpbnQ4KG4ucG9zKSE9PTE2MCYmIVB3KG4pfHwhc1kobiwxNjApKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTt2YXIgYj1uLnBvcztpZighc1kobiwxNjEpKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTtBWShuKTt2YXIgdj1BWShuKTw8OHxBWShuKTtuLnBvcz1iO2lmKCFzWShuLDE1NSkpcmV0dXJuIG4ucG9zPUQsTmFOO2I9ZnMobik7bi5wb3M9RDtyZXR1cm4oditiKSpXLzFFOX07Ck9ZPWZ1bmN0aW9uKG4pe2lmKG4uT0ooKSl7aWYoIXNZKG4sNDA4MTI1NTQzKSlyZXR1cm4hMTtOayhuLCEwKX1yZXR1cm4hMH07ClpfPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5pbmRleE9mKCI/Iik7aWYoRD4wKXtsZXQgYj1nNygxLDUwLFcuc3Vic3RyaW5nKEQrMSkpO2cuYV8oYixmdW5jdGlvbih2LGspe3RoaXMuc2V0KGssdil9LG4pOwpXPVcuc3Vic3RyaW5nKDAsRCl9Vz1pcCgxNSw4MjUsVyk7Zy5hXyhXLGZ1bmN0aW9uKGIsdil7dGhpcy5zZXQodixiKX0sbil9OwppS1U9ZnVuY3Rpb24obil7dmFyIFc9bi5BTy5XRCgpLEQ9W107Zy5hXyhuLk4sKHYsayk9PntELnB1c2goYCR7a309JHt2fWApfSk7CmlmKCFELmxlbmd0aClyZXR1cm4gVzt2YXIgYj1ELmpvaW4oIiYiKTtuPVAwKDgzLDY1ODgsbi5BTyk/IiYiOiI/IjtyZXR1cm4gVytuK2J9OwpVWT1mdW5jdGlvbihuLFcpe25bV118fChuW1ddPW5ldyB1VGkpO3JldHVybiBuW1ddfTsKeWY9ZnVuY3Rpb24obixXPSExKXtXJiYobi5KKz0xKTtuLk4rPTF9OwpvRWk9ZnVuY3Rpb24obixXPSExKXtuLnRpbWVkT3V0Kz0xO1cmJnlmKG4sITApfTsKemo9ZnVuY3Rpb24obixXPSExKXtXJiYobi5YPSgwLGcuUikoKSxuLko9MCk7bi5WPSgwLGcuUikoKTtuLnN0YXJ0ZWQ9MDtuLnRpbWVkT3V0PTA7bi5OPTB9OwpsTD1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRClyZXR1cm4gMTw8TWF0aC5taW4obi5KLDUpO0Q9bi5zdGFydGVkK24uTio0O1cmJihEKz1uLlcpO0Q9TWF0aC5tYXgoMCxELTMpO3JldHVybiAxLjYqKkR9OwpqUD1mdW5jdGlvbihuLFcsRCl7aWYoZ1ooMzgsMTIwMixuLk4pKXJldHVybiExO3ZhciBiPVVZKEQsUjAoMzUsMzUwNyxuLk4pKTtpZihiLnRpbWVkT3V0PDEmJmIuTjwxKXJldHVybiExO2I9Yi50aW1lZE91dCtiLk47bj1UaihuLFcpO0Q9VVkoRCxSMCgzMiwzNTA0LG4pKTtyZXR1cm4gRC50aW1lZE91dCtELk4rMDxifTsKVGo9ZnVuY3Rpb24obixXKXtXPVc/Vy5vTTohMTtuLlh8fChuLlg9WGQobi5XLFcpKTtyZXR1cm4gbi5YfTsKQnc9ZnVuY3Rpb24obixXLEQpe249Vz9UaihuLEQpOm4uTjtyZXR1cm4gbmV3IENzKG4pfTsKRjU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBSMCgzNSwzNTA3LFc/VGoobixEKTpuLk4pfTsKd0E9ZnVuY3Rpb24obixXLEQsYix2KXsrK24uSjtXJiYrK24uVjtSMCgzMiwzNTA0LEQuQU8pLnN0YXJ0c1dpdGgoInJlZGlyZWN0b3IuIikmJihuLk49bi5XLmNsb25lKCksZGVsZXRlIG4uWCxiLnBFJiZkZWxldGUgdltSMCg2NywzNTM5LG4uTildKX07Ck1rPWZ1bmN0aW9uKG4pe3JldHVybiBuP2Ake24uaXRhZ3x8IiJ9OyR7bi5sbXR8fDB9OyR7bi54dGFnc3x8IiJ9YDoiIn07ClFmPWZ1bmN0aW9uKG4sVyl7bi5pbmZvJiZuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIiYmIW4uTyYmKGcuUkIobi5pbmZvKT9uLk89S2gyKFcpOm4uaW5mby5xSCgpJiYobi5PPVU1WihXKSkpfTsKY3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWsoZy5WZihuLmluZm8sVykpfTsKbno9ZnVuY3Rpb24obil7bj1uLnNwbGl0KCItIik7dmFyIFc9TnVtYmVyKG5bMF0pLEQ9TnVtYmVyKG5bMV0pO2lmKCFpc05hTihXKSYmIWlzTmFOKEQpJiZuLmxlbmd0aD09PTImJihuPW5ldyBhQihXLEQpLCFpc05hTihuLnN0YXJ0KSYmIWlzTmFOKG4uZW5kKSYmIWlzTmFOKG4ubGVuZ3RoKSYmbi5sZW5ndGg+MCkpcmV0dXJuIG59OwpXXz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgYUIobixuK1ctMSl9OwpESj1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gbmV3IGFCKDAsMCk7dmFyIFc9TnVtYmVyKG4uc3RhcnQpO249TnVtYmVyKG4uZW5kKTtpZighaXNOYU4oVykmJiFpc05hTihuKSYmKFc9bmV3IGFCKFcsbiksVy5sZW5ndGg+MCkpcmV0dXJuIFd9OwpkNXc9ZnVuY3Rpb24obil7bi5sZW5ndGg9PT0xfHxnLmR6KG4sRD0+ISFELnJhbmdlKTsKZm9yKHZhciBXPTE7VzxuLmxlbmd0aDtXKyspO1c9bltuLmxlbmd0aC0xXTtyZXR1cm4gbmV3IGFCKG5bMF0ucmFuZ2Uuc3RhcnQrblswXS5OLFcucmFuZ2Uuc3RhcnQrVy5OK1cuSi0xKX07CmJUPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUEo9PT1XLlBKP24ucmFuZ2UmJlcucmFuZ2U/bi5yYW5nZS5zdGFydCtuLk4rbi5KPT09Vy5yYW5nZS5zdGFydCtXLk46bi5qJD09PVcuaiQ/bi5OK24uSj09PVcuTjpuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaOiExfTsKdl89ZnVuY3Rpb24obil7bi5YPW4uc2VnbWVudFN0YXJ0VGltZTtuLks9bi5XO24uaj1uLlgrbi5LfTsKa049ZnVuY3Rpb24obil7cmV0dXJuIG4ucmFuZ2U/bi5qOk1hdGgubWluKG4uc2VnbWVudFN0YXJ0VGltZStNYXRoLm1pbihuLk4vbi5QSi5pbmZvLk5zLG4uVykrKG4ucmFuZ2U/bi5LOk1hdGgubWluKG4uVyxuLkovbi5QSi5pbmZvLk5zKSksbi5zZWdtZW50U3RhcnRUaW1lK24uVyl9Owp6QTI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPSEoIVd8fFcuUEohPT1uLlBKfHxXLnR5cGUhPT1uLnR5cGV8fFcuaiQhPT1uLmokKTtyZXR1cm4gRD9iJiYhIVcmJihuLnJhbmdlJiZXLnJhbmdlP1cucmFuZ2UuZW5kPT09bi5yYW5nZS5lbmQ6Vy5yYW5nZT09PW4ucmFuZ2UpJiZXLk4rVy5KPT09bi5OK24uSjpifTsKaEo9ZnVuY3Rpb24obil7cmV0dXJuIG4udHlwZT09PTF8fG4udHlwZT09PTJ9Owp4Tj1mdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09M3x8bi50eXBlPT09Nn07Ckx6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGJUKG4sVyl8fE1hdGguYWJzKG4uai1XLlgpPD0xRS02fHxuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaPyEwOiExfTsKZXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5qJCE9PVcuaiQmJlcuaiQhPT1uLmokKzF8fG4udHlwZSE9PVcudHlwZT8hMTpiVChuLFcpPyEwOk1hdGguYWJzKG4uWC1XLlgpPD0xRS02JiZuLmokPT09Vy5qJD8hMTpMeihuLFcpfTsKZ2s9ZnVuY3Rpb24obil7cmV0dXJuIG4uaiQrKG4uYVo/MTowKX07Clh4PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O1cuaXRhZz1uLlBKLmluZm8uaXRhZztXLnR5cGU9YCR7bi50eXBlfWA7Vy5zcmM9YCR7bi5zb3VyY2V9YDtXLnNlZ3NyYz1uLlk7Vy5zZWc9U3RyaW5nKG4uaiQpO24ucmFuZ2UmJihXLnJhbmdlPWAke24ucmFuZ2Uuc3RhcnQrbi5OfS0ke24ucmFuZ2Uuc3RhcnQrbi5OK24uSi0xfWApO1cudGltZT1gJHtuLlgudG9GaXhlZCgxKX0tJHsobi5YK24uSykudG9GaXhlZCgxKX1gO1cub2ZmPVN0cmluZyhuLk4pO1cubGVuPVN0cmluZyhuLkopO24uYVomJihXLmVuZD0iMSIpO24uVigpJiYoVy5lb3M9IjEiKTtuLmNsaXBJZCYmKFcuY2lkPW4uY2xpcElkKTtyZXR1cm4gV307CmxEeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IHFJKG4udHlwZSxuLlBKLG4ucmFuZ2UsImdldEVtcHR5U3R1YkJlZm9yZSIrbi5ZLG4uaiQsbi5zZWdtZW50U3RhcnRUaW1lLDAsbi5OLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKVEQxPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgcUkobi50eXBlLG4uUEosbi5yYW5nZSwiZ2V0RW1wdHlTdHViQWZ0ZXIiK24uWSxuLmokLG4uc2VnbWVudFN0YXJ0VGltZStuLlcsMCxuLk4rbi5KLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKR1A9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIG5ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJyZXNsaWNlIituLlksbi5qJCxuLnNlZ21lbnRTdGFydFRpbWUsbi5XLFcsRCxiLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKdEo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5yYW5nZSYmVy5yYW5nZT9uLnJhbmdlLnN0YXJ0K24uTj49Vy5yYW5nZS5zdGFydCtXLk4mJm4ucmFuZ2Uuc3RhcnQrbi5OK24uSjw9Vy5yYW5nZS5zdGFydCtXLk4rVy5KOm4uaiQ9PT1XLmokJiZuLk4+PVcuTiYmKG4uTituLko8PVcuTitXLkp8fFcuYVopfTsKJE49ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5jSigpJiZXLnR5cGU9PT0zJiZuLlBKLk4oKT8obj1uLlBKLlZRKG4pLGcub00obixEPT4kTihELFcpKSk6bi5qJD09PVcuaiQmJiEhVy5KJiZXLk4rVy5KPm4uTiYmVy5OK1cuSjw9bi5OK24uSn07Ck92PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCksRD1uLmg1KCksYj1ELmVfKCksdj1uLkcoKSxrPW4uZDAoKSxoPWsuVDEqOC8xMDI0LHg9ay54WS8xMDI0LEw9ay5LVCxlPWsuU1UsRz1rLk1BLHI9RC5nZXRDdXJyZW50VGltZSgpLnRvRml4ZWQoMiksTj1yayhELkooKSwiLCIsMyk7dmFyIEg9IiI7aWYoVy5pc0RhaUVuYWJsZWQoKSl7SD1OSShXKT9IKyJNViI6Vy5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaT9IKyJTUyI6SCsiQ1MiO0g9Vy5ERigpP0grIkxJRkEsICI6SCsiREFJLCAiO1cuYlYmJihIKz0iREFJRkIsICIpO3ZhciBBPWsuZEM7QSYmKEgrPUEpfWVsc2UgVy5LZj9IKz0iQ1NEQUksICI6Vy5KbD9IKz0iRFNEQUksICI6Vy5qRiYmKEgrPSJVU0RBSSwgIik7cHooVykmJiFXLkRGKCkmJihIKz0iTElGQUUsICIpO2cuWU4oVykmJihIKz0iU0FCUiwgIik7aWYoVy5mZXRjaFR5cGUpe3N3aXRjaChXLmZldGNoVHlwZSl7Y2FzZSAib25lc2llIjpBPSJvIjticmVhazsKY2FzZSAiZ3AiOkE9ImdwIjticmVhaztkZWZhdWx0OkE9Imd2aSJ9SCs9YHZkOiR7QX0sIGB9KEE9di5qXygpKSYmKEg9QS5pc0FzbWpzP0grIndhLCAiOkgrIncsICIpO0grPWBzOiR7R30gdDoke3J9IGI6JHtOfSBgO0QuaXNTZWVraW5nKCkmJihIKz0iUyIpO0QuaXNQYXVzZWQoKSYmKEgrPSJQIik7RC5pc0VuZGVkKCkmJihIKz0iRSIpO24uaXNPcmNoZXN0cmF0aW9uTGVhZGVyKCkmJihIKz0iIEwiKTsoRD1rLmVJKSYmKEgrPWAgbDoke0QudG9GaXhlZCgpfWApO0Q9ay5jdXJyZW50VGltZTtHPVcueW47RCYmRD5HLnN0YXJ0JiZEPEcuZW5kJiYoSCs9IiBhcyIpO0Q9UFYob0wpKCJfc3RhcnQiLHZvaWQgMCk7Rz1bXTtmb3IoeSBvZlsicGxfaSIsInZpciIsIm9yX3AiLCJvcmZiIiwicGJzIl0pKHI9UFYob0wpKHksdm9pZCAwKSkmJkQmJihyLT1ELEcucHVzaChgJHt5fToke01hdGgucm91bmQocil9YCkpO3ZhciB5PUcuam9pbigiICIpO0Q9Zy5IXygpO0c9Zy5meihuKS52VDtyPQpXLlcmJiFXLlcuTigpPyJkaXNwbGF5Om5vbmUiOiIiO2lmKChOPVcuY2xpZW50UGxheWJhY2tOb25jZSkmJk4ubGVuZ3RoPT0xNil7Tis9IkFBQUEiO0E9MDt2YXIgVD0iIjtmb3IobGV0IEM9MDtDPDIwO0MrKylpZihBPShBPDw2KSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuaW5kZXhPZihOLmNoYXJBdChDKSksQyU1PT00KXtsZXQgUT0iIjtmb3IobGV0IFY9MDtWPDY7VisrKVE9IjAxMjM0NTY3ODlBQkNERUZHSEpLTU5QUVJTVFZXWFlaIi5jaGFyQXQoQSYzMSkrUSxBPj49NTtUKz1RfU49YCR7VC5zdWJzdHIoMCw0KX0gJHtULnN1YnN0cig0LDQpfSAke1Quc3Vic3RyKDgsNCl9ICR7VC5zdWJzdHIoMTIsNCl9ICR7VC5zdWJzdHIoMTYsNCl9YH1lbHNlIE49IiI7aD17dmlkZW9faWRfYW5kX2NwbjpTdHJpbmcoVy52aWRlb0lkKSsiIC8gIitOLGNvZGVjczoiIixkaW1zX2FuZF9mcmFtZXM6IiIsYmFuZHdpZHRoX2ticHM6YCR7aC50b0ZpeGVkKDApfSBLYnBzYCwKYnVmZmVyX2hlYWx0aF9zZWNvbmRzOmAke0wudG9GaXhlZCgyKX0gc2AsZGF0ZTpgJHsobmV3IERhdGUpLnRvU3RyaW5nKCl9YCxkcm1fc3R5bGU6ZT8iIjoiZGlzcGxheTpub25lIixkcm06ZSxkZWJ1Z19pbmZvOkgsZXh0cmFfZGVidWdfaW5mbzoiIixiYW5kd2lkdGhfc3R5bGU6cixuZXR3b3JrX2FjdGl2aXR5X3N0eWxlOnIsbmV0d29ya19hY3Rpdml0eV9ieXRlczpgJHt4LnRvRml4ZWQoMCl9IEtCYCxzaGFkZXJfaW5mbzpHLHNoYWRlcl9pbmZvX3N0eWxlOkc/IiI6ImRpc3BsYXk6bm9uZSIscGxheWJhY2tfY2F0ZWdvcmllczoiIn07eD1gJHtiLmNsaWVudFdpZHRofXgke2IuY2xpZW50SGVpZ2h0fWArKEQ+MT9gKiR7RC50b0ZpeGVkKDIpfWA6IiIpO0w9Ii0iO2sudG90YWxWaWRlb0ZyYW1lcyYmKEw9YCR7ay5kcm9wcGVkVmlkZW9GcmFtZXN8fDB9IGRyb3BwZWQgb2YgJHtrLnRvdGFsVmlkZW9GcmFtZXN9YCk7aC5kaW1zX2FuZF9mcmFtZXM9YCR7eH0gLyAke0x9YDtlPW4uZ2V0Vm9sdW1lKCk7Cm49Vy5oZzt4PW4uTjtMPU1hdGgucm91bmQoZSk7ZT1NYXRoLnJvdW5kKGUqKHg/LlpyPz8xKSk7SD0iIjtXLlg/LmF1ZGlvLk4/SD0iIFZCIjpXLlg/LmF1ZGlvLlcmJihIPSIgRFJDIik7RD0iIjt4Py5mZCE9bnVsbD9EKz1gY29udC4ke3guZmQudG9GaXhlZCgxKX1kQmA6bi5RTyE9bnVsbCYmKEQrPWBsaXZlLiR7bi5RTy50b0ZpeGVkKDEpfWRCYCk7eD8ucHkhPW51bGwmJihEKz1gIHRndC4ke3gucHkudG9GaXhlZCgxKX1kQmApO0QmJihEPWAgKCR7RH0pYCk7aC52b2x1bWU9YCR7TH0lLyR7ZX0lJHtIfSR7RH1gO2gucmVzb2x1dGlvbj1gJHtiLnZpZGVvV2lkdGh9eCR7Yi52aWRlb0hlaWdodH1gO2lmKGI9Vy5KKXtpZihuPWIudmlkZW8peD1uLmZwcyx4PjEmJihoLnJlc29sdXRpb24rPWBAJHt4fWApLCh4PWsuTHQpJiZ4LnZpZGVvJiYoaC5yZXNvbHV0aW9uKz1gIC8gJHt4LnZpZGVvLndpZHRofXgke3gudmlkZW8uaGVpZ2h0fWAseC52aWRlby5mcHM+MSYmKGgucmVzb2x1dGlvbis9CmBAJHt4LnZpZGVvLmZwc31gKSksaC5jb2RlY3M9SkooYiksIVcuWHx8Yi5hdWRpbyYmYi52aWRlbz9iLkFhJiYoaC5jb2RlY3MrPWAgLyAke2IuQWF9QWApOmguY29kZWNzKz1gIC8gJHtKSihXLlgpfWAsbi5OfHxuLnByaW1hcmllcz8oeD1uLk58fCJ1bmtub3duIix4PT09InNtcHRlMjA4NCI/eD1gJHt4fSAoUFEpYDp4PT09ImFyaWItc3RkLWI2NyImJih4PWAke3h9IChITEcpYCksaC5jb2xvcj1gJHt4fSAvICR7bi5wcmltYXJpZXN8fCJ1bmtub3duIn1gLGguY29sb3Jfc3R5bGU9IiIpOmguY29sb3Jfc3R5bGU9ImRpc3BsYXk6bm9uZSI7aWYoYi5kZWJ1Z0luZm8pe2guZm10X2RlYnVnX2luZm89IiI7Zm9yKHZhciB6IG9mIGIuZGVidWdJbmZvKWguZm10X2RlYnVnX2luZm8rPWAke3oubGFiZWx9OiR7ei50ZXh0fSBgfWguZm10X2RlYnVnX2luZm9fc3R5bGU9aC5mbXRfZGVidWdfaW5mbyYmaC5mbXRfZGVidWdfaW5mby5sZW5ndGg+MD8iIjoiZGlzcGxheTpub25lIn16PVcuaXNMaXZlUGxheWJhY2s7CmI9Vy5YZztoLmxpdmVfbW9kZV9zdHlsZT16fHxiPyIiOiJkaXNwbGF5Om5vbmUiO2gubGl2ZV9sYXRlbmN5X3N0eWxlPXo/IiI6ImRpc3BsYXk6bm9uZSI7aWYoYiloLmxpdmVfbW9kZT0iUG9zdC1MaXZlIisoSTQoVyk/IiBNYW5pZmVzdGxlc3MiOiIiKTtlbHNlIGlmKHope2I9ay5wVDtoLmxpdmVfbGF0ZW5jeV9zZWNzPWAke2IudG9GaXhlZCgyKX1zYDt6PUk0KFcpPyJNYW5pZmVzdGxlc3MsICI6IiI7Vy5SSSYmKHorPSJXaW5kb3dlZCwgIik7bj0iVW5jZXJ0YWluIjtpZihiPj0wJiZiPDEyMClpZihXLmxhdGVuY3lDbGFzcyYmVy5sYXRlbmN5Q2xhc3MhPT0iVU5LTk9XTiIpc3dpdGNoKFcubGF0ZW5jeUNsYXNzKXtjYXNlICJOT1JNQUwiOm49Ik9wdGltaXplZCBmb3IgTm9ybWFsIExhdGVuY3kiO2JyZWFrO2Nhc2UgIkxPVyI6bj0iT3B0aW1pemVkIGZvciBMb3cgTGF0ZW5jeSI7YnJlYWs7Y2FzZSAiVUxUUkFMT1ciOm49Ik9wdGltaXplZCBmb3IgVWx0cmEgTG93IExhdGVuY3kiOwpicmVhaztkZWZhdWx0Om49IlVua25vd24gTGF0ZW5jeSBTZXR0aW5nIn1lbHNlIG49U3goVyk/Ik9wdGltaXplZCBmb3IgTG93IExhdGVuY3kiOiJPcHRpbWl6ZWQgZm9yIFNtb290aCBTdHJlYW1pbmciO3orPW47KGI9ay5GSSkmJih6Kz1gLCBzZXEgJHtiLnNlcXVlbmNlfWApO2gubGl2ZV9tb2RlPXp9di5leHBlcmltZW50cy5adCgpLk4uUVEoaldTKT9rLmlzR2FwbGVzcyYmIWsuZFQmJihoLnBsYXliYWNrX2NhdGVnb3JpZXM9ay5Ibz9oLnBsYXliYWNrX2NhdGVnb3JpZXMrIkdhcGxlc3MgIjpoLnBsYXliYWNrX2NhdGVnb3JpZXMrIlF1ZXVlZCAiKTohay5pc0dhcGxlc3N8fEFKKFcpJiZrLmRUfHwoaC5wbGF5YmFja19jYXRlZ29yaWVzKz0iR2FwbGVzcyAiKTtoLnBsYXliYWNrX2NhdGVnb3JpZXNfc3R5bGU9aC5wbGF5YmFja19jYXRlZ29yaWVzPyIiOiJkaXNwbGF5Om5vbmUiO2guYmFuZHdpZHRoX3NhbXBsZXM9ay5VJDtoLm5ldHdvcmtfYWN0aXZpdHlfc2FtcGxlcz1rLmRjOwpoLmxpdmVfbGF0ZW5jeV9zYW1wbGVzPWsuc0k7aC5idWZmZXJfaGVhbHRoX3NhbXBsZXM9ay5qeDt2PWcubU0oVyk7aWYoVy5jb3RufHx2KWguY290bl9hbmRfbG9jYWxfbWVkaWE9YCR7Vy5jb3RuP1cuY290bjoibnVsbCJ9IC8gJHt2fWA7aC5jb3RuX2FuZF9sb2NhbF9tZWRpYV9zdHlsZT1oLmNvdG5fYW5kX2xvY2FsX21lZGlhPyIiOiJkaXNwbGF5Om5vbmUiO0t6KFcsIndlYl9wbGF5ZXJfcmVsZWFzZV9kZWJ1ZyIpPyhoLnJlbGVhc2VfbmFtZT1JWzY1XSxoLnJlbGVhc2Vfc3R5bGU9IiIpOmgucmVsZWFzZV9zdHlsZT0iZGlzcGxheTpub25lIjtoLmRlYnVnX2luZm8mJnkubGVuZ3RoPjAmJmguZGVidWdfaW5mby5sZW5ndGgreS5sZW5ndGg8PTYwP2guZGVidWdfaW5mbys9IiAiK3k6aC5leHRyYV9kZWJ1Z19pbmZvPXk7aC5leHRyYV9kZWJ1Z19pbmZvX3N0eWxlPWguZXh0cmFfZGVidWdfaW5mbyYmaC5leHRyYV9kZWJ1Z19pbmZvLmxlbmd0aD4wPyIiOiJkaXNwbGF5Om5vbmUiOwpyZXR1cm4gaH07ClBfPWZ1bmN0aW9uKG4sVyxEKXtuLkorPVcuSjtuLnJhbmdlJiYobi5LKz1XLkspO24uaj1XLmo7bi5hWj1XLmFaO0QmJlcuYVomJihuLlc9Vy5XLG4uc2VnbWVudFN0YXJ0VGltZT1XLnNlZ21lbnRTdGFydFRpbWUsbi5YPW4uc2VnbWVudFN0YXJ0VGltZSxuLnJhbmdlfHwobi5LPW4uVykpfTsKWko9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmokO24uWT0idXBkYXRlV2l0aFNlZ21lbnRJbmZvIjtuLmokPUQ7aWYobi5zZWdtZW50U3RhcnRUaW1lIT09Vy5zdGFydFRpbWV8fG4uVyE9PVcuZHVyYXRpb24pbi5zZWdtZW50U3RhcnRUaW1lPVcuc3RhcnRUaW1lLG4uVz1XLmR1cmF0aW9uLHZfKG4pfTsKVXY9ZnVuY3Rpb24obil7cmV0dXJuIWhKKG4uQXdbbi5Bdy5sZW5ndGgtMV0pfTsKeXM9ZnVuY3Rpb24obil7cmV0dXJuIG4uQXdbbi5Bdy5sZW5ndGgtMV0uY0ooKX07CmcuRXY9ZnVuY3Rpb24obixXLEQpe0Q9bi5wUz09PW51bGw/bi5YYi5wUyhXLEQsbi5Bd1swXS50eXBlKTpuLnBTO2lmKG4uTil7Vz1EP1hkKG4uTixXLm9NKTpuLk47dmFyIGI9bmV3IENzKFcpO2IuZ2V0KCJhbHIiKXx8Yi5zZXQoImFsciIsInllcyIpO24uSiYmWl8oYixuLkopfWVsc2UvaHR0cFtzXT86XC9cLy8udGVzdChuLkopP2I9bmV3IENzKG5ldyBnLndaKG4uSikpOihiPUJ3KG4uWGIsRCxXKSxuLkomJlpfKGIsbi5KKSk7KFc9bi5yYW5nZSk/Yi5zZXQoInJhbmdlIixXLnRvU3RyaW5nKCkpOm4uQXdbMF0uUEouRCgpJiZuLkF3Lmxlbmd0aD09PTEmJm4uQXdbMF0uTiYmYi5zZXQoInJhbmdlIixgJHtuLkF3WzBdLk59LWApO24ucmVxdWVzdElkJiZiLnNldCgicmVxX2lkIixuLnJlcXVlc3RJZCk7aXNOYU4obi5aQSl8fGIuc2V0KCJoZWFkbSIsbi5aQS50b1N0cmluZygpKTtpc05hTihuLmopfHxiLnNldCgibWZmYSIsYCR7bi5qfW1zYCk7bi51cmxQYXJhbXMmJmcuYV8obi51cmxQYXJhbXMsCih2LGspPT57Yi5zZXQoayx2KX0pOwpyZXR1cm4gYn07CmRrPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkcoKSx2PXtodG1sNVByZWZlcmVuY2U6IkhUTUw1X1BSRUZfV0FOVFMiLGxhY3RNaWxsaXNlY29uZHM6U3RyaW5nKGcudkkoKSkscmVmZXJlcjpkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpLHNpZ25hdHVyZVRpbWVzdGFtcDoyMDY1NX0saz1nLm85KCk7bi5pc0F1dG9uYXYmJih2LmF1dG9uYXY9ITApO2suUVEoMTQxKSYmKHYuYXV0b25hdlN0YXRlPWsuUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTt2LmF1dG9DYXB0aW9uc0RlZmF1bHRPbj1rLlFRKDY2KTtpVChuKSYmKHYuYXV0b3BsYXk9ITApO2IuSyYmbi5jeWNUb2tlbiYmKHYuY3ljVG9rZW49bi5jeWNUb2tlbik7Yi5lbmFibGVQcml2YWN5RmlsdGVyJiYodi5lbmFibGVQcml2YWN5RmlsdGVyPSEwKTtuLmlzRmxpbmcmJih2LmZsaW5nPSEwKTt2YXIgaD1uLmZvcmNlQWRzVXJsO2lmKGgpe2s9e307dmFyIHg9W107aD1oLnNwbGl0KCIsIik7Zm9yKHZhciBMIG9mIGgpe3ZhciBlPQpMLnNwbGl0KCJ8Iik7ZS5sZW5ndGghPT0zfHxMLmluY2x1ZGVzKCI9Iil8fChlWzBdPWBicmVha3R5cGU9JHtlWzBdfWAsZVsxXT1gb2Zmc2V0PSR7ZVsxXX1gLGVbMl09YHVybD0ke2VbMl19YCk7aD17YWR0eXBlOiJ2aWRlb19hZCJ9O2Zvcih2YXIgRyBvZiBlKXtsZXQgW3osLi4uQ109Ry5zcGxpdCgiPSIpO2hbel09Qy5qb2luKCI9Iil9ZT1oLnVybDtsZXQgSD1oLnByZXNldGFkLEE9aC52aXJhbHJlc3BvbnNldXJsLHk9TnVtYmVyKGguY2FtcGFpZ25pZCksVD1oLmJpYmxpb3RlY2FhZGlkO2lmKGguYWR0eXBlPT09ImluX2Rpc3BsYXlfYWQiKWUmJihrLnVybD1lKSxIJiYoay5wcmVzZXRBZD1IKSxBJiYoay52aXJhbEFkUmVzcG9uc2VVcmw9QSkseSYmKGsudmlyYWxDYW1wYWlnbklkPVN0cmluZyh5KSksVCYmKGsuYmlibGlvdGVjYUFkSWQ9VCk7ZWxzZSBpZihoLmFkdHlwZT09PSJ2aWRlb19hZCIpe2xldCB6PXtvZmZzZXQ6e2tpbmQ6Ik9GRlNFVF9NSUxMSVNFQ09ORFMiLHZhbHVlOlN0cmluZyhOdW1iZXIoaC5vZmZzZXQpfHwKMCl9fTtpZihoPUNJWltoLmJyZWFrdHlwZV0pei5icmVha1R5cGU9aDtlJiYoei51cmw9ZSk7SCYmKHoucHJlc2V0QWQ9SCk7QSYmKHoudmlyYWxBZFJlc3BvbnNlVXJsPUEpO3kmJih6LnZpcmFsQ2FtcGFpZ25JZD1TdHJpbmcoeSkpO1QmJih6LmJpYmxpb3RlY2FBZElkPVQpO3gucHVzaCh6KX19T2JqZWN0LmtleXMoaykubGVuZ3RoPjA/di5mb3JjZUFkUGFyYW1ldGVycz17dmlkZW9BZHM6eCxpbkRpc3BsYXlBZDprfTp2LmZvcmNlQWRQYXJhbWV0ZXJzPXt2aWRlb0Fkczp4fX1uLmlzSW5saW5lUGxheWJhY2tOb0FkJiYodi5pc0lubGluZVBsYXliYWNrTm9BZD0hMCk7bi5pc0xpdmluZ1Jvb21EZWVwbGluayYmKHYuaXNMaXZpbmdSb29tRGVlcGxpbms9ITApO0w9bi5zUztpZihMIT1udWxsKXtMPXtzdGFydFdhbGx0aW1lOlN0cmluZyhMKX07aWYoRz1uLnptKUwubWFuaWZlc3REdXJhdGlvbj1TdHJpbmcoR3x8MTQ0MDApO3YubGl2ZUNvbnRleHQ9TH1uLm11dGVkQXV0b3BsYXkmJgoodi5tdXRlZEF1dG9wbGF5PSEwLEw9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCksTD8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd011dGVkQXV0b3BsYXlEdXJhdGlvbk1vZGUmJkw/LmVtYmVkc0hvc3RGbGFncz8uYWxsb3dNdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlLmluY2x1ZGVzKHVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pJiYodi5tdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlPXVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pKTtpZihuLmZCPzA6bi5QWCl2LnNwbGF5PSEwO0w9bi52bmQ7TD09PTUmJih2LnZuZD1MKTtMPXt9O2lmKEc9bi5pc01keFBsYXliYWNrKUwudHJpZ2dlcmVkQnlNZHg9RztpZihHPW4uRmYpTC5za2lwcGFibGVBZHNTdXBwb3J0ZWQ9Ry5zcGxpdCgiLCIpLmluY2x1ZGVzKCJza2EiKTtpZih4PW4uVUspe0c9bi5jTDtrPVtdO2Zvcih2YXIgciBvZiBpSih4KSl7eD1yLnBsYXRmb3JtO3g9e2FwcGxpY2F0aW9uU3RhdGU6ci5Fcz8KIklOQUNUSVZFIjoiQUNUSVZFIixjbGllbnRGb3JtRmFjdG9yOkJEalt4XXx8IlVOS05PV05fRk9STV9GQUNUT1IiLGNsaWVudE5hbWU6dUpbci5oal18fCJVTktOT1dOX0lOVEVSRkFDRSIsY2xpZW50VmVyc2lvbjpyLmRldmljZVZlcnNpb258fCIiLHBsYXRmb3JtOkZoaVt4XXx8IlVOS05PV05fUExBVEZPUk0ifTtoPXt9O2lmKEcpe3ZhciBOPXZvaWQgMDt0cnl7Tj1KU09OLnBhcnNlKEcpfWNhdGNoKEgpe2cuR3EoSCl9TiYmKGg9e3BhcmFtczpbe2tleToibXMiLHZhbHVlOk4ubXN9XX0sTi5hZHZlcnRpc2luZ19pZCYmKGguYWR2ZXJ0aXNpbmdJZD1OLmFkdmVydGlzaW5nX2lkKSxOLmxpbWl0X2FkX3RyYWNraW5nIT09dm9pZCAwJiZOLmxpbWl0X2FkX3RyYWNraW5nIT09bnVsbCYmKGgubGltaXRBZFRyYWNraW5nPU4ubGltaXRfYWRfdHJhY2tpbmcpLHgub3NOYW1lPU4ub3NfbmFtZSx4LnVzZXJBZ2VudD1OLnVzZXJfYWdlbnQseC53aW5kb3dIZWlnaHRQb2ludHM9Ti53aW5kb3dfaGVpZ2h0X3BvaW50cywKeC53aW5kb3dXaWR0aFBvaW50cz1OLndpbmRvd193aWR0aF9wb2ludHMpfWsucHVzaCh7YWRTaWduYWxzSW5mbzpoLHJlbW90ZUNsaWVudDp4fSl9TC5yZW1vdGVDb250ZXh0cz1rfXI9bi5zb3VyY2VDb250YWluZXJQbGF5bGlzdElkO049bi5zZXJpYWxpemVkTWR4TWV0YWRhdGE7aWYocnx8TilHPXt9LHImJihHLm1keFBsYXliYWNrQ29udGFpbmVySW5mbz17c291cmNlQ29udGFpbmVyUGxheWxpc3RJZDpyfSksTiYmKEcuc2VyaWFsaXplZE1keE1ldGFkYXRhPU4pLEwubWR4UGxheWJhY2tTb3VyY2VDb250ZXh0PUc7di5tZHhDb250ZXh0PUw7cj1XLndpZHRoO3I+MCYmKHYucGxheWVyV2lkdGhQaXhlbHM9TWF0aC5yb3VuZChyKSk7aWYoVz1XLmhlaWdodCl2LnBsYXllckhlaWdodFBpeGVscz1NYXRoLnJvdW5kKFcpO0QhPT0wJiYodi52aXM9RCk7aWYoRD1iLndpZGdldFJlZmVycmVyKXYud2lkZ2V0UmVmZXJyZXI9RC5zdWJzdHJpbmcoMCwxMjgpO2cubzQoYikmJnYmJih2LmFuY2VzdG9yT3JpZ2lucz0KYi5hbmNlc3Rvck9yaWdpbnMpO24uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQmJih2LmNvbXBvc2l0ZVZpZGVvQ29udGV4dD17ZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ6bi5kZWZhdWx0QWN0aXZlU291cmNlVmlkZW9JZH0pO2lmKG49Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCkpdi5lbmNyeXB0ZWRIb3N0RmxhZ3M9bi5lbmNyeXB0ZWRIb3N0RmxhZ3M7cmV0dXJuIHZ9Owp6UD1mdW5jdGlvbihuKXtpZihuLnJhbmdlKXJldHVybiBuLlc7bj1uLkF3WzBdO3JldHVybiBNYXRoLnJvdW5kKG4uSypuLlBKLmluZm8uTnMpfTsKd0xVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE1hdGgubWF4KDAsbi5Bd1swXS5YLVcpfTsKbFQ9ZnVuY3Rpb24obixXLEQpe2Zvcig7bjtuPW4ucGFyZW50Tm9kZSl7aWYoIW4uYXR0cmlidXRlc3x8RCYmbi5ub2RlTmFtZSE9PUQpY29udGludWU7bGV0IGI9bi5nZXRBdHRyaWJ1dGUoVyk7aWYoYilyZXR1cm4gYn1yZXR1cm4iIn07ClRQPWZ1bmN0aW9uKG4sVyl7Zm9yKDtuO249bi5wYXJlbnROb2RlKXtsZXQgRD1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKFcpO2lmKEQubGVuZ3RoPjApcmV0dXJuIERbMF19cmV0dXJuIG51bGx9OwpqeD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gMDt2YXIgVz1uLm1hdGNoKC9QVCgoWzAtOV0qKUgpPygoWzAtOV0qKU0pPygoWzAtOS5dKilTKT8vKTtyZXR1cm4gVz8oTnVtYmVyKFdbMl0pfDApKjM2MDArKE51bWJlcihXWzRdKXwwKSo2MCsoTnVtYmVyKFdbNl0pfDApOk51bWJlcihuKXwwfTsKQ3o9ZnVuY3Rpb24obil7cmV0dXJuIG4ubWF0Y2goL14oXGR7NH0pLShcZHsyfSktKFxkezJ9KVQoXGR7Mn0pOihcZHsyfSk6KFxkezJ9KVwuKFxkezN9KSQvKT9gJHtufVpgOm59OwpNZ009ZnVuY3Rpb24obil7dmFyIFc9bi5XO24uVz1bXTtyZXR1cm4gV307ClJBUz1mdW5jdGlvbihuKXtuLk58fChuLk49bmV3IEJfKTtyZXR1cm4gbi5OfTsKUVdNPWZ1bmN0aW9uKG4sVyl7bi5KW1ddfHwobi5KW1ddPW5ldyBCXyk7cmV0dXJuIG4uSltXXX07ClZnaT1mdW5jdGlvbihuLFcpe24uV1tXXXx8KG4uV1tXXT1uZXcgQl8pO3JldHVybiBuLldbV119OwpjSGo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtXPUFycmF5LmZyb20oVy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikpO2ZvcihsZXQgYiBvZiBXKXtXPWIucGFyZW50Tm9kZS5wYXJlbnROb2RlO2xldCB2PW51bGw7Vy5ub2RlTmFtZT09PSJQZXJpb2QiP3Y9UkFTKG4pOlcubm9kZU5hbWU9PT0iQWRhcHRhdGlvblNldCI/KFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fFcuZ2V0QXR0cmlidXRlKCJtaW1ldHlwZSIpfHwiIix2PVFXTShuLFcpKTpXLm5vZGVOYW1lPT09IlJlcHJlc2VudGF0aW9uIiYmKFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fCIiLHY9VmdpKG4sVykpO2lmKHY9PW51bGwpcmV0dXJuO3YudXBkYXRlKGIpO2cuUTIoRCxNZ00odikpfWcuUTIobi5YLEQpO3RVaChuLlgsYj0+Yi5zdGFydFNlY3MqMUUzK2IuTil9OwphRFU9ZnVuY3Rpb24obil7bi5OJiYobi5OLk49W10pO2cuYV8obi5KLFc9PntXLk49W119KTsKZy5hXyhuLlcsVz0+e1cuTj1bXX0pfTsKRng9ZnVuY3Rpb24obixXKXtyZXR1cm4gRGUobi5zZWdtZW50cyxEPT5XLUQuaiQpfTsKTUk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uaW5kZXguVihXKSx2PW4uaW5kZXguZ2V0U3RhcnRUaW1lKFcpLGs9bi5pbmRleC5nZXREdXJhdGlvbihXKTtEP2s9RD0wOkQ9bi5pbmZvLk5zKms7cmV0dXJuIG5ldyB3ayhbbmV3IHFJKDMsbix2b2lkIDAsIm90ZkNyZWF0ZVJlcXVlc3RJbmZvRm9yU2VnbWVudCIsVyx2LGssMCxEKV0sYil9OwpuR1M9ZnVuY3Rpb24obixXKXtpZighbi5pbmRleC5pc0xvYWRlZCgpKXt2YXIgRD1bXSxiPVcuajtXPVcuSy5zcGxpdCgiLCIpLmZpbHRlcihlPT5lLmxlbmd0aD4wKTsKdmFyIHY9MCxrPTAsaD0wLHg9L14oXGQrKS8sTD0vcj0oXGQrKS87Zm9yKGxldCBlPTA7ZTxiO2UrKyl7aWYoaDw9MClpZihoPVcuc2hpZnQoKSxrPShrPXguZXhlYyhoKSk/K2tbMV0vMUUzOjApaD0oaD1MLmV4ZWMoaCkpPytoWzFdOjAsaCs9MTtlbHNlIHJldHVybjtELnB1c2gobmV3IFI0KGUsdixrLE5hTiwic3EvIisoZSsxKSkpO3YrPWs7aC0tfW4uaW5kZXguYXBwZW5kKEQpfX07CmcuY189ZnVuY3Rpb24obixXLC4uLkQpe2cuUXMoNSxuIGluc3RhbmNlb2YgZy5Wcz9uLnRhZzpuLFcsLi4uRCl9OwpnLlFzPWZ1bmN0aW9uKG4sVyxELC4uLmIpe3ZhciB2PW49PT02PyJFUlJPUiI6IldBUk5JTkciO0Q9YGIke0R9YDtnLlhqKG5ldyBnLlF4KEQsLi4uYiksdik7Yi51bnNoaWZ0KEQpO2I9Yi5qb2luKCIsICIpO3Y9YTQuZ2V0KFcpO2lmKCF2KXt2PWB5dHBsb2cuJHtXfWA7RD01O3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5sb2NhbFN0b3JhZ2Vbdl0pJiYoRD0rd2luZG93LmxvY2FsU3RvcmFnZVt2XSksd2luZG93LnNlc3Npb25TdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5zZXNzaW9uU3RvcmFnZVt2XSkmJihEPSt3aW5kb3cuc2Vzc2lvblN0b3JhZ2Vbdl0pfWNhdGNoe31hNC5zZXQoVyxEKTt2PUR9bjx2fHwobj1XS3csdj1uLk4uZ2V0KFcpLHZ8fCh2PW5ldyBEODIsbi5OLnNldChXLHYpKSxuPXYsdj1EYXRlLm5vdygpLEQ9TWF0aC5mbG9vcigodi1uLkopKi4wMSksRD4wJiYobi5OPU1hdGgubWluKG4uTitELDEwKSxuLko9diksbi5OPjA/KG4uTi0tLG49CiEwKTpuPSExLG4/KHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmKGI9YigpKSxjb25zb2xlLmxvZyhgcGx5ci4ke1d9YCxiKSk6KGI9KG5NLmdldChXKT8/MCkrMSxuTS5zZXQoVyxiKSxiJTEwMD09PTEmJmNvbnNvbGUud2FybigicGx5ciIsYHBseXIuJHtXfSBpcyBjaGF0dHksIGRyb3BwaW5nIGxvZ3MuYCkpKX07CkRPPWZ1bmN0aW9uKG4pe2lmKCFuLkspe2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPWt4KFcsMCwxODM2MDE5NTc0KTtpZihEKXtEPUQub2Zmc2V0K0Quc2l6ZTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsRCkpO1c9Yn1lbHNlIFc9bnVsbH1lbHNlIFc9eUhyKG5ldyB0WShnLldSKG4pKSk7VyYmKG4uaW5mby5QSi5KPVcsbi5LPSEwKX19OwpnLldSPWZ1bmN0aW9uKG4pe3JldHVybiBHNihuLkopfTsKdlI9ZnVuY3Rpb24obixXKXtXPU1hdGgubWluKFcsbi5pbmZvLkopO3ZhciB7Q3M6RCxZOTpifT1uLkouc3BsaXQoVyksdj1uZXcgYjgobmV3IHFJKG4uaW5mby50eXBlLG4uaW5mby5QSixuLmluZm8ucmFuZ2Usbi5pbmZvLlksbi5pbmZvLmokLG4uaW5mby5zZWdtZW50U3RhcnRUaW1lLG4uaW5mby5XLG4uaW5mby5OLFcsITEsbi5pbmZvLnZELG4uaW5mby5jbGlwSWQsbi5pbmZvLkQpLEQpO3YuWD1uLlg7di5XPW4uVztXPW5ldyBiOChuZXcgcUkobi5pbmZvLnR5cGUsbi5pbmZvLlBKLG4uaW5mby5yYW5nZSxuLmluZm8uWSxuLmluZm8uaiQsbi5pbmZvLnNlZ21lbnRTdGFydFRpbWUsbi5pbmZvLlcsbi5pbmZvLk4rVyxuLmluZm8uSi1XLG4uaW5mby5hWixuLmluZm8udkQsbi5pbmZvLmNsaXBJZCxuLmluZm8uRCksYik7Vy5YPW4uWDtXLlc9bi5XO3JldHVyblt2LFddfTsKZy5rWD1mdW5jdGlvbihuKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtpZihuLlchPT0tMSlyZXR1cm4gbi5XO2lmKG4uTiYmakoobi5OKSlyZXR1cm4gbi5XPWpKKG4uTiksbi5XO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPW4uaW5mby5QSi5KLGI9TmFOO2xldCB2PU5hTixrPTA7Zm9yKDtWTChXLGspOyl7bGV0IGg9Y0EoVyxrKTtoLnR5cGU9PT0xOTM2Mjg2ODQwP3Y9aC5kYXRhLmdldFVpbnQzMihoLmRhdGFPZmZzZXQrOCk6aC50eXBlPT09MTgzNjQ3NjUxNj92PWcuYkwoaCk6aC50eXBlPT09MTk1Mjg2NzQ0NCYmaXNOYU4oYikmJihiPWcueHgoaCkpO2s9YXIoaC50eXBlKT9rKzg6aytoLnNpemV9IXYmJkQmJih2PXZ3KEQpKTtXPWIvdn1lbHNlIFc9bmV3IHRZKGcuV1IobikpLEQ9bi5WP1c6bmV3IHRZKG5ldyBEYXRhVmlldyhuLmluZm8uUEouSi5idWZmZXIpKSxiPUtzKEQpLEQ9Vy5wb3MsVy5wb3M9MCxQdyhXKT8Kc1koVywyMzEpPyhiPWZzKFcpKmIvMUU5LFcucG9zPUQsVz1iKTooVy5wb3M9RCxXPU5hTik6KFcucG9zPUQsVz1OYU4pO24uVz1XfHxuLmluZm8uWDtyZXR1cm4gbi5XfTsKaE09ZnVuY3Rpb24obixXKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtuLlc9VztpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIEQ9Zy5XUihuKTtuPW4uaW5mby5QSi5KO3ZhciBiPU5hTix2PU5hTjtsZXQgTD0wO2Zvcig7VkwoRCxMKTspe2xldCBlPWNBKEQsTCk7aXNOYU4oYikmJihlLnR5cGU9PT0xOTM2Mjg2ODQwP2I9ZS5kYXRhLmdldFVpbnQzMihlLmRhdGFPZmZzZXQrOCk6ZS50eXBlPT09MTgzNjQ3NjUxNiYmKGI9Zy5iTChlKSkpO2lmKGUudHlwZT09PTE5NTI4Njc0NDQpeyFiJiZuJiYoYj12dyhuKSk7dmFyIGs9Zy54eChlKTtpc05hTih2KSYmKHY9TWF0aC5yb3VuZChXKmIpLWspO3ZhciBoPWU7ays9djtpZihoLmRhdGEuZ2V0VWludDgoaC5kYXRhT2Zmc2V0KSl7dmFyIHg9aC5kYXRhO2g9aC5kYXRhT2Zmc2V0KzQ7eC5zZXRVaW50MzIoaCxNYXRoLmZsb29yKGsvNDI5NDk2NzI5NikpO3guc2V0VWludDMyKGgrNCxrJjQyOTQ5NjcyOTUpfWVsc2UgaC5kYXRhLnNldFVpbnQzMihoLmRhdGFPZmZzZXQrCjQsayl9TD1hcihlLnR5cGUpP0wrODpMK2Uuc2l6ZX1yZXR1cm4hMH1EPW5ldyB0WShnLldSKG4pKTtuPW4uVj9EOm5ldyB0WShuZXcgRGF0YVZpZXcobi5pbmZvLlBKLkouYnVmZmVyKSk7Yj1LcyhuKTtuPUQucG9zO0QucG9zPTA7aWYoUHcoRCkmJnNZKEQsMjMxKSlpZih2PU5rKEQsITApLFc9TWF0aC5mbG9vcihXKjFFOS9iKSxNYXRoLmNlaWwoTWF0aC5sb2coVykvTWF0aC5sb2coMikvOCk+dilXPSExO2Vsc2V7Zm9yKGI9di0xO2I+PTA7Yi0tKUQuTi5zZXRVaW50OChELnBvcytiLFcmMjU1KSxXPj4+PTg7RC5wb3M9bjtXPSEwfWVsc2UgVz0hMTtyZXR1cm4gV307CnhYPWZ1bmN0aW9uKG4sVyl7bi50aW1lc3RhbXBPZmZzZXQ+MCYmKFctPW4udGltZXN0YW1wT2Zmc2V0KTt2YXIgRD1nLmtYKG4pK1c7aE0obixEKTtuLnRpbWVzdGFtcE9mZnNldD1XfTsKTE09ZnVuY3Rpb24obil7Zy5SQihuLmluZm8uUEouaW5mbyl8fG4uaW5mby5QSi5pbmZvLnFIKCk7aWYobi5OJiZuLmluZm8udHlwZT09PTYpcmV0dXJuIG4uTi5yYjtpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIFc9Zy5XUihuKTt2YXIgRD0wO1c9Zy5lUChXLDE5MzYyODY4NDApO2Zvcih2YXIgYiBvZiBXKVc9THMoYiksRCs9Vy5xZ1swXS9XLnRpbWVzY2FsZTtEPUR8fE5hTjtpZighKEQ+PTApKWE6e0Q9Zy5XUihuKTtiPW4uaW5mby5QSi5KO2xldCByPVc9MDtmb3IodmFyIHY9MDtWTChELFcpOyl7bGV0IE49Y0EoRCxXKTtpZihOLnR5cGU9PT0xODM2NDc2NTE2KXI9Zy5iTChOKTtlbHNlIGlmKE4udHlwZT09PTE4MzYwMTk1NTgpeyFyJiZiJiYocj12dyhiKSk7aWYoIXIpe0Q9TmFOO2JyZWFrIGF9dmFyIGs9a3goTi5kYXRhLE4uZGF0YU9mZnNldCwxOTUzNjUzMDk0KSxoPWs7az1yO3ZhciB4PWt4KGguZGF0YSxoLmRhdGFPZmZzZXQsMTk1Mjg2ODQ1Mik7aD1reChoLmRhdGEsCmguZGF0YU9mZnNldCwxOTUzNjU4MjIyKTt2YXIgTD15TCh4KTt5TCh4KTtMJjImJnlMKHgpO3g9TCY4P3lMKHgpOjA7dmFyIGU9eUwoaCksRz1lJjE7TD1lJjQ7bGV0IEg9ZSYyNTYsQT1lJjUxMix5PWUmMTAyNDtlJj0yMDQ4O2xldCBUPUVEKGgpO0cmJnlMKGgpO0wmJnlMKGgpO0c9MDtmb3IobGV0IHo9MDt6PFQ7eisrKXtsZXQgQz1IP3lMKGgpOng7QSYmeUwoaCk7TCYmej09PTB8fCF5fHx5TChoKTtlJiZ5TChoKTtHKz1DfXYrPUcva31XPWFyKE4udHlwZSk/Vys4OlcrTi5zaXplfUQ9dnx8TmFOfUR8fGcuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcGFyc2luZyBibWZmIixuLmluZm8uZ2EoKSkpfWVsc2UgRD1uZXcgdFkoZy5XUihuKSksbj1uLlY/RDpuZXcgdFkobmV3IERhdGFWaWV3KG4uaW5mby5QSi5KLmJ1ZmZlcikpLEQ9RUVaKEQsS3MobikpO3JldHVybiBEfTsKZUc9ZnVuY3Rpb24obixXPSExKXt2YXIgRD1MTShuKTtuPVc/MDpuLmluZm8uSztyZXR1cm4gRHx8bn07CmcuZ3k9ZnVuY3Rpb24obil7aWYobi5pbmZvLlBKLlcoKSlyZXR1cm4gbi5pbmZvLlc7bi5YPT09LTEmJihuLlg9TE0obikpO3JldHVybiBuLlh8fG4uaW5mby5XfTsKWFo9ZnVuY3Rpb24obil7dmFyIFc9Zy5XUihuKSxEPWcubnMoVywwLDE5MzYyODY4NDApO0Q9RD9ELmRhdGEuZ2V0VWludDMyKEQuZGF0YU9mZnNldCs4KTpOYU47aXNOYU4oRCkmJihuPW4uaW5mby5QSi5KLEQ9KFc9Zy5ucyhXLDAsMTgzNjQ3NjUxNikpP2cuYkwoVyk6bj92dyhuKTpOYU4pO3JldHVybiBEfTsKcSQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uaW5mby5QSi5pbmZvLnFIKCkmJnJkKG4uSiwwKT09PTE2MH07CkdpPWZ1bmN0aW9uKG4pe2lmKCFuLk4pe2cuUkIobi5pbmZvLlBKLmluZm8pfHxuLmluZm8uUEouaW5mby5xSCgpO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXZhciBXPWcucWsoZy5XUihuKSk7ZWxzZXtXPW5ldyB0WShnLldSKG4pKTtsZXQgYj1XLnBvcztXLnBvcz0wO2xldCB2PW51bGwsaz1udWxsO2lmKCR4KFcsWzQwODEyNTU0MywzMDc1NDQ5MzVdKSl7bGV0IGg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxoOyl7aWYoTmsoVywhMSkhPT0yOTU1NSl7SlkoVyk7Y29udGludWV9bGV0IHg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczx4Oyl7aWYoTmsoVywhMSkhPT0yNjU2OCl7SlkoVyk7Y29udGludWV9bGV0IEw9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxMOyl7dmFyIEQ9TmsoVywhMSk7aWYoRD09PTE3NTQzKXtpZihEPW10KFcpLEQ9UUwoRCkpaWYoaylmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoRCkpa1tlXT1EW2VdO2Vsc2Ugaz1EfWVsc2UgRD09PTE3ODI3PyhEPQptdChXKSx2fHwodj1EKSk6SlkoVyl9fX19Vy5wb3M9YjtXPWs/bmV3IFg1KGssdik6bnVsbH1uLk49V319Owp0TT1mdW5jdGlvbihuLFcpe3JldHVybiBXKzE8bi5jb3VudHx8bi5XP24ub2Zmc2V0c1tXKzFdLW4ub2Zmc2V0c1tXXTotMX07CiRYPWZ1bmN0aW9uKG4pe24ub2Zmc2V0cy5sZW5ndGg8bi5jb3VudCsxJiZuLnJlc2l6ZShuLm9mZnNldHMubGVuZ3RoKjIpfTsKcnk9ZnVuY3Rpb24obixXLEQpe24uY291bnQrKzskWChuKTtuLm9mZnNldHNbbi5jb3VudF09bi5vZmZzZXRzW24uY291bnQtMV0rVztuLnN0YXJ0VGlja3Nbbi5jb3VudF09bi5zdGFydFRpY2tzW24uY291bnQtMV0rRH07CnNOPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgaz1XO2s8PW4uaW5kZXgueCQoKTtrKyspe2xldCBoPVdfKG4uaW5kZXguTihrKSx0TShuLmluZGV4LGspKSx4PW4uaW5kZXguZ2V0U3RhcnRUaW1lKGspLEw9bi5pbmRleC5nZXREdXJhdGlvbihrKSxlPU1hdGgubWF4KDAsRC1oLnN0YXJ0KSxHPU1hdGgubWluKGguZW5kKzEsRCtiKS0oaC5zdGFydCtlKTt2LnB1c2gobmV3IHFJKDMsbixoLCJnZXRSZXF1ZXN0SW5mb0ZvclJhbmdlIixrLHgsTCxlLEcpKTtpZihoLnN0YXJ0K2UrRz49RCtiKWJyZWFrfXYubGVuZ3RofHwobj1uZXcgZy5ReCgiYjE4OTYxOTU5MyIsYCR7V31gLGAke0R9YCxgJHtifWApLGcuWGoobikpO3JldHVybiBuZXcgd2sodil9OwpOJD1mdW5jdGlvbihuKXtpZihuPW4uY29sb3JJbmZvKWlmKG49bi50cmFuc2ZlckNoYXJhY3RlcmlzdGljcylyZXR1cm4gYnFVW25dO3JldHVybiBudWxsfTsKWVg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1heChuLFcpO249TWF0aC5taW4obixXKTtXPXBNWzBdO2ZvcihsZXQgYj0wO2I8cE0ubGVuZ3RoO2IrKyl7bGV0IHY9cE1bYl0saz1OR1t2XTtpZihEPj1NYXRoLmZsb29yKGsqMTYvOSkqMS4zfHxuPj1rKjEuMylyZXR1cm4gVztXPXZ9cmV0dXJuInRpbnkifTsKZk09ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBIUihuWzFdLG5bMl0sblszXSxuWzRdLG5bNV0sbls2XSxuWzddLG5bOF0sbls5XSxuWzEwXSl9OwpKTT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCIvbXA0Iik+PTA/MTpuLmluZGV4T2YoIi93ZWJtIik+PTA/MjpuLmluZGV4T2YoIi94LWZsdiIpPj0wPzM6bi5pbmRleE9mKCIvdnR0Iik+PTA/NDowfTsKSWQ9ZnVuY3Rpb24obil7cmV0dXJuLyhvcHVzfG1wNGF8ZHRzZXxhYy0zfGVjLTN8aWFtZikvLnRlc3Qobil9OwpTRz1mdW5jdGlvbihuKXtyZXR1cm4vKHZwOXx2cDA5fHZwOHxhdmMxfGF2MDF8YXYwMikvLnRlc3Qobil9OwpRUD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1uZXcgQU07VyBpbiBOR3x8KFc9InNtYWxsIik7Vz09PSJsaWdodCImJihXPSJ0aW55Iik7YiYmdj8odj1OdW1iZXIodiksYj1OdW1iZXIoYikpOih2PU5HW1ddLGI9TWF0aC5yb3VuZCh2KjE2LzkpKTtrPW5ldyBIUihiLHYsMCxudWxsLHZvaWQgMCxXLGssaCk7bj11bmVzY2FwZShuLnJlcGxhY2UoLyZxdW90Oy9nLCciJykpO3JldHVybiBuZXcgbXUoRCxuLHthdWRpbzp4LHZpZGVvOmt9KX07Ck9OPWZ1bmN0aW9uKG4pe3ZhciBXPW5bN10sRD1uWzExXSxiPW5bOV0sdj1uWzhdO3JldHVybiBuZXcgbXUoblsxXSxuWzJdLHtYbjpuWzNdLE5zOm5bNF0sbGFzdE1vZGlmaWVkOm5bNV0sY29udGVudExlbmd0aDpuWzZdLGF1ZGlvOlc/bmV3IEFNKFdbMV0sV1syXSxXWzNdLFdbNF0sV1s1XSxXWzZdLFdbN10sV1s4XSk6dm9pZCAwLHZpZGVvOnY/Zk0odik6dm9pZCAwLGtaOmI/TUcoYik6dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOm5bMTBdLGNhcHRpb25UcmFjazpEP25ldyBLTShEWzFdLERbMl0sRFszXSxEWzRdLERbNV0sRFs2XSk6dm9pZCAwLHN0cmVhbVR5cGU6blsxMl0sQWE6blsxM10sYXBwcm94RHVyYXRpb25NczpuWzE0XX0pfTsKbUY9ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iTUFDMyJ8fG4uSUI9PT0iTUVBQzMifHxuLklCPT09Ik0ifHxuLklCPT09IkkifTsKS2c9ZnVuY3Rpb24obil7cmV0dXJuISFuLmNvbnRlbnRQcm90ZWN0aW9uJiYhIW4uY29udGVudFByb3RlY3Rpb24uZmFpcnBsYXkmJihuLklCPT09IigifHxuLklCPT09IihoInx8bi5JQj09PSJBInx8bi5JQj09PSJNRUFDMyIpfHxQUiYmISFuLmNvbnRlbnRQcm90ZWN0aW9uJiZuLklCPT09IjFlIn07CmcuUkI9ZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbmVyVHlwZT09PTF9OwpNMz1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlLEcscil7dmFyIE49V15uO3ZhciBIOyhuJjc2KT09biYmKEg9YihoLHgsTCxlLEcscikpOyhuPj4xJjE1KT09MSYmKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dLGJbSVszXV0oRCwxKSk7bis5Pj4zPT0zJiYoSD1kZWNvZGVVUklDb21wb25lbnQoRCkpO24tOTwyMyYmKG4+PjEmMTUpPj0xMyYmKERbTl41MjY0XTwoTl41MzQzKSYmKERbTl41MjcwXTw9LTEmJigoKDAsRFtOXjUzMjhdKShEW25ldyBEYXRlKElbTl41MzQ2XSkvKE5eNTk1MSldLERbTl41MjY4XSksRFtOXjUzNDVdKShEW05eNTM2MV0sRFtOXjUyNjhdKSwxKXx8KDAsRFtOXjUzNTFdKSgoMCxEW05eNTM0NF0pKERbTl41MzY2XSxEW05eNTMxOV0pLERbMV0sRFtOXjUzMjBdLERbTl41MzQ4XSkpLERbTl41MjY4XT49LTImJigoMCxEW05eNTM1MV0pKCgwLERbM10pKERbTl41MzcyXSwoMCxEW25ldyBEYXRlKElbNF0pLyhOXjU5NTEpXSkoKSxEW05eNTMxNV0pLApEW05eNTM1Nl0sRFtOXjUyNzFdLERbTl41MzY1XSksRFtOXjUzMjZdKShEW05eNTMyMV0sRFtOXjUzNTZdKSxEWzVdPD0tMiYmKERbTl41Mjc2XTwoTl41MzQxKXx8KCgoKDAsRFtOXjUzMjZdKShEW05eNTMxOV0sRFtOXjUzNzNdKSxEW05eNTI2OV0pKCgwLERbTl41MjY4XSkoRFtOXjUzNTNdLERbTl41MzQ3XSksRFtOXjUzMzZdLCgwLERbNF0pKCgwLERbTl41MzYyXSkoRFtOXjUzNDldLCgwLERbTl41Mjc2XSkoKSxEW05eNTM3NV0pLERbTl41MjY2XSxEW05eNTM1NV0sRFtOXjUzMjhdKSxEW05eNTM2MV0sRFswXSksRFtOXjUzMThdKShEW05eNTM3M10sRFtOXjUzNDBdKSxJW05eNTMxNF0pKSYmKCgwLERbTl41MzI2XSkoKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbbmV3IERhdGUoSVtOXjUzNTNdKS8oTl41OTUxKV0pKCksRFtOXjUzNzBdKSxEW05eNTMyN10pKERbTl41MzQyXSksRFtOXjUzMTNdLCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzI4XSkoKSwKRFtOXjUyNzBdKSxEW05eNTI3NF0sRFtOXjUzNDJdKSxEW05eNTMzNl0pKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzYyXSkoKSxEW05eNTM0OF0pLERbTl41MzI1XSxEW05eNTI2Nl0sRFtOXjUzNTldKSxIPVtdKTtyZXR1cm4gSH07CmcuVmY9ZnVuY3Rpb24obixXKXtyZXR1cm57aXRhZzorbi5pdGFnLGxtdDpXPzA6bi5sYXN0TW9kaWZpZWQseHRhZ3M6bi5KfHwiIn19OwpaTz1mdW5jdGlvbihuKXtyZXR1cm4gbi5JQj09PSI5aCJ8fG4uSUI9PT0iKGgifTsKVU49ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iKCJ8fG4uSUI9PT0iKGgifHxuLklCPT09IkgifHxQUiYmbi5JQj09PSIxZSJ9Owp2R1U9ZnVuY3Rpb24obixXPTEpe3ZhciBEPXt9O24udmlkZW8mJihuLnZpZGVvLndpZHRoJiYoRFtBVC5XSURUSC5uYW1lXT1uLnZpZGVvLndpZHRoKSxuLnZpZGVvLmhlaWdodCYmKERbQVQuSEVJR0hULm5hbWVdPW4udmlkZW8uaGVpZ2h0KSxuLnZpZGVvLmZwcyYmKERbQVQuRlJBTUVSQVRFLm5hbWVdPW4udmlkZW8uZnBzKlcpLG4udmlkZW8uTiYmKERbQVQuRU9URi5uYW1lXT1uLnZpZGVvLk4pLG4uTnMmJihEW0FULkJJVFJBVEUubmFtZV09bi5Ocyo4KlcpLG4uSUI9PT0iKCImJihEW0FULkNSWVBUT0JMT0NLRk9STUFULm5hbWVdPSJzdWJzYW1wbGUiKSxuLnZpZGVvLnByb2plY3Rpb25UeXBlPT09IkVRVUlSRUNUQU5HVUxBUiJ8fG4udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSX1RIUkVFRF9UT1BfQk9UVE9NInx8bi52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIikmJihEW0FULkRFQ09ERVRPVEVYVFVSRS5uYW1lXT0idHJ1ZSIpO24uYXVkaW8/Lm51bUNoYW5uZWxzJiYKbi5JQiE9PSJpIiYmbi5JQiE9PSJJIiYmKERbQVQuQ0hBTk5FTFMubmFtZV09bi5hdWRpby5udW1DaGFubmVscyk7cmV0dXJuIER9Owp5VD1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIEVycm9yP24ubWVzc2FnZTpTdHJpbmcobik7dmFyIEQ9IiI7dHJ5e0Q9SlNPTi5zdHJpbmdpZnkoVyl9Y2F0Y2goYil7RD0iZmFpbGVkIHRvIHN0cmluZ2lmeSBjb25maWcifWcuY18oImRhc2giLDUxOTE5NjY0OSxuLEQpfTsKazNyPWZ1bmN0aW9uKG4pe3ZhciBXPW5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcztpZighVz8uZGVjb2RpbmdJbmZvfHxuLklCPT09ImYiKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgRD17dHlwZTpuLmF1ZGlvJiZuLnZpZGVvPyJmaWxlIjoibWVkaWEtc291cmNlIn07bi52aWRlbyYmKEQudmlkZW89e2NvbnRlbnRUeXBlOm4ubWltZVR5cGUsd2lkdGg6bi52aWRlby53aWR0aHx8NjQwLGhlaWdodDpuLnZpZGVvLmhlaWdodHx8MzYwLGJpdHJhdGU6bi5Ocyo4fHwxRTYsZnJhbWVyYXRlOm4udmlkZW8uZnBzfHwzMH0pO24uYXVkaW8mJihELmF1ZGlvPXtjb250ZW50VHlwZTpuLm1pbWVUeXBlLGNoYW5uZWxzOmAke24uYXVkaW8ubnVtQ2hhbm5lbHN8fDJ9YCxiaXRyYXRlOm4uTnMqOHx8MTI4RTMsc2FtcGxlcmF0ZTpuLmF1ZGlvLnNhbXBsZVJhdGV8fDQ0MTAwfSk7aWYoRU4pdHJ5e3JldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pLmNhdGNoKGI9Pgp7eVQoYixEKX0pfWNhdGNoKGIpe3JldHVybiB5VChiLEQpLFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pfTsKaTg9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dC5wbGF5ZXIudXRpbHMudmlkZW9FbGVtZW50XyIpO258fChuPWcuekYoIlZJREVPIiksZy5HYigieXQucGxheWVyLnV0aWxzLnZpZGVvRWxlbWVudF8iLG4pKTtyZXR1cm4gbn07CnU4PWZ1bmN0aW9uKG4pe3ZhciBXPWk4KCk7cmV0dXJuISEoVyYmVy5jYW5QbGF5VHlwZSYmVy5jYW5QbGF5VHlwZShuKSl9OwpkeT1mdW5jdGlvbihuKXtpZigvb3B1cy8udGVzdChuKSYmZy5vZCYmIUNfKCIzOCIpJiYhZy5kOCgpKXJldHVybiExO2lmKHNlbGYuTWVkaWFTb3VyY2UmJnNlbGYuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZChuKTtpZihzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZSYmc2VsZi5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobik7aWYoL3dlYm0vLnRlc3QobikmJiFUUSgpKXJldHVybiExO249PT0nYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInJiYobj0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNGQ0MDFmIicpO3JldHVybiEhdTgobil9OwpoZ1M9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWR5KCd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MjAwMUUiJyl8fGR5KCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInKTtyZXR1cm4oZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fGR5KCdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJykpJiYoV3x8IW4pfHx1OCgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFLCBtcDRhLjQwLjIiJyk/bnVsbDoiZm10Lm5vbmVhdmFpbGFibGUifWNhdGNoe3JldHVybiJodG1sNS5taXNzaW5nYXBpIn19Owp6aT1mdW5jdGlvbigpe3ZhciBuPWk4KCk7cmV0dXJuISghbi53ZWJraXRTdXBwb3J0c1ByZXNlbnRhdGlvbk1vZGV8fHR5cGVvZiBuLndlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUhPT0iZnVuY3Rpb24iKX07Cmw4PWZ1bmN0aW9uKCl7dmFyIG49aTgoKTt0cnl7bGV0IFc9bi5tdXRlZDtuLm11dGVkPSFXO3JldHVybiBuLm11dGVkIT09V31jYXRjaHt9cmV0dXJuITF9OwpUaT1mdW5jdGlvbihuLFcpe3JldHVybntzdGFydChEKXtyZXR1cm4gbltEXX0sZW5kKEQpe3JldHVybiBXW0RdfSxsZW5ndGg6bi5sZW5ndGh9fTsKakc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdLHY9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspYi5wdXNoKG4uc3RhcnQoaykpLHYucHVzaChuLmVuZChrKSk7Yi5wdXNoKFcpO3YucHVzaChEKTtiLnNvcnQoKGssaCk9PmstaCk7CnYuc29ydCgoayxoKT0+ay1oKTsKcmV0dXJuIFRpKGIsdil9Owpyaz1mdW5jdGlvbihuLFc9IiwiLEQ9bj9uLmxlbmd0aDowKXt2YXIgYj1bXTtpZihuKWZvcihEPU1hdGgubWF4KG4ubGVuZ3RoLUQsMCk7RDxuLmxlbmd0aDtEKyspYi5wdXNoKGAke24uc3RhcnQoRCkudG9GaXhlZCgzKX0tJHtuLmVuZChEKS50b0ZpeGVkKDMpfWApO3JldHVybiBiLmpvaW4oVyl9OwpDTT1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybi0xO3RyeXtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylpZihuLnN0YXJ0KEQpPD1XJiZuLmVuZChEKT49VylyZXR1cm4gRH1jYXRjaChEKXt9cmV0dXJuLTF9OwpCUj1mdW5jdGlvbihuLFcpe3JldHVybiBDTShuLFcpPj0wfTsKeDhqPWZ1bmN0aW9uKG4sVyl7aWYoIW4pcmV0dXJuIE5hTjtXPUNNKG4sVyk7cmV0dXJuIFc+PTA/bi5zdGFydChXKTpOYU59OwpGWj1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBOYU47Vz1DTShuLFcpO3JldHVybiBXPj0wP24uZW5kKFcpOk5hTn07Cmcud3k9ZnVuY3Rpb24obil7cmV0dXJuIG4mJm4ubGVuZ3RoP24uZW5kKG4ubGVuZ3RoLTEpOk5hTn07Ck0kPWZ1bmN0aW9uKG4pe3JldHVybiBnLnd5KG4pPjB9OwpSZD1mdW5jdGlvbihuLFcpe249RloobixXKTtyZXR1cm4gbj49MD9uLVc6MH07ClFUPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVtdO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKW4uZW5kKGspPFd8fG4uc3RhcnQoayk+RHx8KGIucHVzaChNYXRoLm1heChXLG4uc3RhcnQoaykpLVcpLHYucHVzaChNYXRoLm1pbihELG4uZW5kKGspKS1XKSk7cmV0dXJuIFRpKGIsdil9OwpWVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuU291cmNlQnVmZmVyPyEhU291cmNlQnVmZmVyLnByb3RvdHlwZS5jaGFuZ2VUeXBlOiExfTsKY1I9ZnVuY3Rpb24oKXtyZXR1cm4hISh3aW5kb3cuTWVkaWFTb3VyY2V8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V8fHdpbmRvdy5XZWJLaXRNZWRpYVNvdXJjZXx8d2luZG93LkhUTUxNZWRpYUVsZW1lbnQmJkhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLndlYmtpdFNvdXJjZUFkZElkKX07CmFkPWZ1bmN0aW9uKCl7cmV0dXJuISghd2luZG93Lk1lZGlhU291cmNlfHwhd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCl8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V9OwpuNj1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uVygpPT09Im9wZW4ifWNhdGNoKFcpe3JldHVybiExfX07CldGPWZ1bmN0aW9uKG4sVyl7bjYobik/Zy5tSygoKT0+e1cobil9KTpuLmNhbGxiYWNrPVd9Owp2Rj1mdW5jdGlvbihuLFcsRCl7REgmJihiQShuLm1lZGlhRWxlbWVudCx7bDoibXN3c3NiIixzcjpuLm1lZGlhRWxlbWVudC5ZYT8ucGcoKX0sITEpLFcuaCQobi5MTCxuKSxELmgkKG4uTEwsbikpO24uTj1XO24uSj1EO2cudShuLFcpO2cudShuLEQpfTsKTEtVPWZ1bmN0aW9uKG4sVyxELGI9IiIpe2I9Vy5taW1lVHlwZStiO3ZhciB2PUQubWltZVR5cGU7Vz1XLklCO0Q9RC5JQjtuLlZRPW4ubWVkaWFTb3VyY2U/LmFkZFNvdXJjZUJ1ZmZlcih2KTtuLmUkPWIuc3BsaXQoIjsiKVswXT09PSJmYWtlc2IiP3ZvaWQgMDpuLm1lZGlhU291cmNlPy5hZGRTb3VyY2VCdWZmZXIoYik7bi5FViYmKG4uRVYud2Via2l0U291cmNlQWRkSWQoIjAiLHYpLG4uRVYud2Via2l0U291cmNlQWRkSWQoIjEiLGIpKTtEPW5ldyBrZyhuLlZRLG4uRVYsIjAiLEpNKHYpLEQsITEpO2I9bmV3IGtnKG4uZSQsbi5FViwiMSIsSk0oYiksVywhMCk7dkYobixELGIpfTsKTDY9ZnVuY3Rpb24obixXLEQsYil7aWYoIW4uTnx8IW4uSilyZXR1cm4gbnVsbDt2YXIgdj1uLk4uaXNWaWV3KCk/bi5OLmskOm4uTixrPW4uSi5pc1ZpZXcoKT9uLkouayQ6bi5KLGg9bmV3IGhaKG4ubWVkaWFFbGVtZW50LG4ubWVkaWFTb3VyY2UsITApO2guaj1uLmo7dkYoaCxuZXcgeGcodixXLEQsYiksbmV3IHhnKGssVyxELGIpKTtuNihuKXx8bi5OLnlPKG4uTi5TVygpKTtyZXR1cm4gaH07CmVnMT1mdW5jdGlvbihuKXtyZXR1cm4gZTQoKFcsRCk9Pmcuc3ooVyxELDQsMUUzKSxuLHtmb3JtYXQ6IlJBVyIsCm1ldGhvZDoiR0VUIix3aXRoQ3JlZGVudGlhbHM6ITB9KX07CmcuZ3Q9ZnVuY3Rpb24obil7dmFyIFc7bi5yZXNwb25zZVR5cGUmJm4ucmVzcG9uc2VUeXBlIT09InRleHQiP24ucmVzcG9uc2VUeXBlPT09ImFycmF5YnVmZmVyIiYmKFc9cFIobmV3IFVpbnQ4QXJyYXkobi5yZXNwb25zZSkpKTpXPW4ucmVzcG9uc2VUZXh0O3JldHVybiFXfHxXLmxlbmd0aD4yMDQ4PyIiOlcuaW5kZXhPZigiaHR0cHM6Ly8iKT09PTA/VzoiIn07CmU0PWZ1bmN0aW9uKG4sVyxEKXtXLm1hdGNoKGdHcik7cmV0dXJuIG4oVyxEKS50aGVuKGI9Pnt2YXIgdj1nLmd0KGIueGhyKTtyZXR1cm4gdj9lNChuLHYsRCk6Yi54aHJ9KX07ClhKaT1mdW5jdGlvbihuLFcsRCl7aWYoIW4/LldjKCkpcmV0dXJuITE7dmFyIGI9Vy5zb21lKGg9PmgucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSInx8aC5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iKSx2PVcuc29tZShoPT5oLnByb2plY3Rpb25UeXBlPT09Ik1FU0giKSxrPVcuc29tZShoPT5oLnN0ZXJlb0xheW91dD09PTEpOwpXPVcuc29tZShoPT5oLmlzSGRyKCkpOwpuPSFEJiYhVyYmbi5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBifHx2fHxrfHxufTsKcXo9ZnVuY3Rpb24obixXLEQsYil7aWYoWEppKG4sVyxEKSlyZXR1cm4hMDtpZighbj8udE0oKXx8IVh2KG4sYikpcmV0dXJuITE7bj1XLnNvbWUodj0+di5pc0hkcigpKTsKcmV0dXJuIER8fG4/ITE6ITB9OwpxdWo9ZnVuY3Rpb24obil7cmV0dXJuIGcub00obixXPT4iRk9STUFUX1NUUkVBTV9UWVBFX09URiI9PT1XLnR5cGUpPyJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIjoiRk9STUFUX1NUUkVBTV9UWVBFX1VOS05PV04ifTsKRzNDPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uZXcgZy5HeCgiIixiLmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4pe249dFooaCxXLGsuZHVyYXRpb24sYix2KTtsZXQge0VsOngsczpMLHk3OmV9PVAwKDE1LDcwMCxoKTsoRD1SeCh4fHxoLnVybHx8IiIsZSxMKSkmJihuLnN0cmVhbVR5cGU9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/JGcoayxuZXcgcnQoRCxuKSk6JGcoayxuZXcgc2soRCxuLERKKGguaW5pdFJhbmdlKSxESihoLmluZGV4UmFuZ2UpKSkpfWsuaXNPdGY9ITA7cmV0dXJuIGt9Owp0T1o9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGIuZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj10WihoLFcsay5kdXJhdGlvbixiLHYpO0Q9REooaC5pbml0UmFuZ2UpO2xldCB4PURKKGguaW5kZXhSYW5nZSkse0VsOkwsczplLHk3Okd9PVAwKDEzLDcwMixoKSxyPVJ4KEx8fGgudXJsfHwiIixHLGUpO3ImJiRnKGssbmV3IHNrKHIsbixELHgpKX1yZXR1cm4ga307CnRaPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uLm1pbWVUeXBlfHwiIixoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO2g9aD9oLnRvU3RyaW5nKCk6IiI7eCYmKGgrPWA7JHt4fWApO3g9aDtpZihTRyhrKSl7dmFyIEw9bi53aWR0aHx8NjQwO2g9bi5oZWlnaHR8fDM2MDtsZXQgeT1uLmZwcyxUPW4ucXVhbGl0eUxhYmVsLHo9bi5xdWFsaXR5T3JkaW5hbCxDPW4uY29sb3JJbmZvLFE9bi5wcm9qZWN0aW9uVHlwZTt2YXIgZTtuLnN0ZXJlb0xheW91dCYmKGU9JDh4W24uc3RlcmVvTGF5b3V0XSk7bGV0IFY9TiQobil8fHZvaWQgMDt2YXIgRztDPy5wcmltYXJpZXMmJihHPXIkeFtDLnByaW1hcmllc118fHZvaWQgMCk7TD1uZXcgSFIoTCxoLHksUSxlLHZvaWQgMCxULHomJk56W3pdLFYsRywobi52aWRlb1RyYWNrPy5hc3NvY2lhdGVkQXVkaW9UcmFja0lkPy5sZW5ndGg/PzApPT09MCk7az1wNihrLEwsWWdbbi5pdGFnfHwiIl0pO0hGJiYoays9IjsgZW5hYmxlZmx1c2hkdXJpbmdzZWVrPXRydWUiKTsKZjYmJihrKz0iOyBlbmFibGVyZXNldGF1ZGlvZGVjb2Rlcj10cnVlIik7cXooYixbTF0sVyx2KSYmKGsrPSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUiKX12YXIgcjtpZihJZChrKSl7dmFyIE49bi5hdWRpb1NhbXBsZVJhdGU7Yj1uLmF1ZGlvVHJhY2s7Tj1uZXcgQU0oTj8rTjp2b2lkIDAsbi5hdWRpb0NoYW5uZWxzLG4uc3BhdGlhbEF1ZGlvVHlwZSxuLmlzRHJjLG4ubG91ZG5lc3NEYixuLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMsbi5hdWRpb1F1YWxpdHl8fCJBVURJT19RVUFMSVRZX1VOS05PV04iLG4uaXNWYik7YiYmKHY9Yi5kaXNwbGF5TmFtZSxlPWIuaWQsRz1iLmF1ZGlvSXNEZWZhdWx0LGI9Yi5pc0F1dG9EdWJiZWQsdiYmKHI9bmV3IHdQKHYsZXx8IiIsISFHLCEhYikpKX12YXIgSDtuLmNhcHRpb25UcmFjayYmKGI9bi5jYXB0aW9uVHJhY2suZGlzcGxheU5hbWUsdj1uLmNhcHRpb25UcmFjay52c3NJZCxlPW4uY2FwdGlvblRyYWNrLmxhbmd1YWdlQ29kZSxHPW4uY2FwdGlvblRyYWNrLmtpbmQsCmg9bi5jYXB0aW9uVHJhY2suaWQsYiYmdiYmZSYmKEg9bmV3IEtNKGIsdixlLEcsbi54dGFncyxoKSkpO2I9TnVtYmVyKG4uYml0cmF0ZSkvODt2PU51bWJlcihuLmNvbnRlbnRMZW5ndGgpO2U9TnVtYmVyKG4ubGFzdE1vZGlmaWVkKTtoPW4uZHJtRmFtaWxpZXM7Rz1uLnR5cGU7bj1OdW1iZXIobi5hcHByb3hEdXJhdGlvbk1zKTtpZihXJiZoKXt2YXIgQT17fTtmb3IobGV0IHkgb2YgaCkoaD1KWlt5XSkmJihBW2hdPVdbaF0pfXJldHVybiBuZXcgbXUoeCxrLHthdWRpbzpOLHZpZGVvOkwsa1o6cixjb250ZW50UHJvdGVjdGlvbjpBLE5zOmIsWG46RCYmdj92L0Q6MCxjb250ZW50TGVuZ3RoOnYsbGFzdE1vZGlmaWVkOmUsY2FwdGlvblRyYWNrOkgsc3RyZWFtVHlwZTpHLGFwcHJveER1cmF0aW9uTXM6bn0pfTsKczVVPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4sVz0+IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiPT09Vy5zdHJlYW1fdHlwZSk/IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiOiJGT1JNQVRfU1RSRUFNX1RZUEVfVU5LTk9XTiJ9OwpOcGo9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGI/LmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4paWYobj1JbyhoLFcsay5kdXJhdGlvbixiLHYpLEQ9UngoaC51cmwsaC5zcCxoLnMpKWlmKG4uc3RyZWFtVHlwZT09PSJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIikkZyhrLG5ldyBydChELG4pKTtlbHNle2xldCB4PW56KGguaW5pdCksTD1ueihoLmluZGV4KTskZyhrLG5ldyBzayhELG4seCxMKSl9ay5pc090Zj0hMDtyZXR1cm4ga307CnBKYj1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bmV3IGcuR3goIiIsYj8uZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj1JbyhoLFcsay5kdXJhdGlvbixiLHYpO0Q9bnooaC5pbml0KTtsZXQgeD1ueihoLmluZGV4KSxMPVJ4KGgudXJsLGguc3AsaC5zKTtMJiYkZyhrLG5ldyBzayhMLG4sRCx4KSl9cmV0dXJuIGt9OwpJbz1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bi50eXBlO3ZhciBoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO3gmJihoPW4uaXRhZysiOyIreCk7aWYoU0coaykpe3ZhciBMPShuLnNpemV8fCI2NDB4MzYwIikuc3BsaXQoIngiKTtMPW5ldyBIUigrTFswXSwrTFsxXSwrbi5mcHMsbi5wcm9qZWN0aW9uX3R5cGUsK24uc3RlcmVvX2xheW91dCx2b2lkIDAsbi5xdWFsaXR5X2xhYmVsLCtuLnF1YWxpdHlfb3JkaW5hbCxuLmVvdGYsbi5wcmltYXJpZXMsIW4udmlkZW9fdHJhY2tfYXNzb2NpYXRlZF9hdWRpb190cmFja19pZCk7az1wNihrLEwsWWdbbi5pdGFnXSk7SEYmJihrKz0iOyBlbmFibGVmbHVzaGR1cmluZ3NlZWs9dHJ1ZSIpO2Y2JiYoays9IjsgZW5hYmxlcmVzZXRhdWRpb2RlY29kZXI9dHJ1ZSIpO3F6KGIsW0xdLFcsdikmJihrKz0iOyBkZWNvZGUtdG8tdGV4dHVyZT10cnVlIil9dmFyIGU7aWYoSWQoaykpe3ZhciBHPW5ldyBBTSgrbi5hdWRpb19zYW1wbGVfcmF0ZXx8dm9pZCAwLAorbi5hdWRpb19jaGFubmVsc3x8MCxuLnNwYXRpYWxfYXVkaW9fdHlwZSwhIW4uZHJjKTtuLm5hbWUmJihlPW5ldyB3UChuLm5hbWUsbi5hdWRpb190cmFja19pZCxuLmlzRGVmYXVsdD09PSIxIixuLmlzQXV0b0R1YmJlZD09PSIxIikpfXZhciByO24uY2FwdGlvbl9kaXNwbGF5X25hbWUmJm4uY2FwdGlvbl92c3NfaWQmJm4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlJiYocj1uZXcgS00obi5jYXB0aW9uX2Rpc3BsYXlfbmFtZSxuLmNhcHRpb25fdnNzX2lkLG4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlLG4uY2FwdGlvbl9raW5kLG4ueHRhZ3Msbi5jYXB0aW9uX2lkKSk7Yj1OdW1iZXIobi5iaXRyYXRlKS84O3Y9TnVtYmVyKG4uY2xlbik7eD1OdW1iZXIobi5sbXQpO0Q9RCYmdj92L0Q6MDtpZihXJiZuLmRybV9mYW1pbGllcyl7dmFyIE49e307Zm9yKGxldCBIIG9mIG4uZHJtX2ZhbWlsaWVzLnNwbGl0KCIsIikpTltIXT1XW0hdfXJldHVybiBuZXcgbXUoaCxrLHthdWRpbzpHLHZpZGVvOkwsCmtaOmUsY29udGVudFByb3RlY3Rpb246TixOczpiLFhuOkQsY29udGVudExlbmd0aDp2LGxhc3RNb2RpZmllZDp4LGNhcHRpb25UcmFjazpyLHN0cmVhbVR5cGU6bi5zdHJlYW1fdHlwZSxhcHByb3hEdXJhdGlvbk1zOk51bWJlcihuLmFwcHJveF9kdXJhdGlvbl9tcyl9KX07Cll1aD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAiZXF1aXJlY3Rhbmd1bGFyIjpyZXR1cm4iRVFVSVJFQ1RBTkdVTEFSIjtjYXNlICJlcXVpcmVjdGFuZ3VsYXJfdGhyZWVkX3RvcF9ib3R0b20iOnJldHVybiJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iO2Nhc2UgIm1lc2giOnJldHVybiJNRVNIIjtjYXNlICJyZWN0YW5ndWxhciI6cmV0dXJuIlJFQ1RBTkdVTEFSIjtkZWZhdWx0OnJldHVybiJVTktOT1dOIn19OwpIcWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9hbWJpc29uaWNzXzVfMSI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTXzVfMSI7Y2FzZSAic3BhdGlhbF9hdWRpb190eXBlX2FtYmlzb25pY3NfcXVhZCI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTX1FVQUQiO2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9mb2Ffd2l0aF9ub25fZGllZ2V0aWMiOnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfRk9BX1dJVEhfTk9OX0RJRUdFVElDIjtkZWZhdWx0OnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSJ9fTsKZnRaPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUzQobmV3IGcuR3gobixXLEQpLG4pfTsKR189ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PmdaKDI0LDExNjQsVy5YYi5OKSl9OwpmRHc9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PiEhVy5pbmZvLnZpZGVvJiZXLmluZm8udmlkZW8uaXNIZHIoKSl9OwokZz1mdW5jdGlvbihuLFcpe24uTltXLmluZm8uaWRdPVc7bi5KLnNldChjdyhXLG4uelcpLFcpfTsKUzQ9ZnVuY3Rpb24obixXPSIiKXtuLnN0YXRlPTE7bi5TJD0oMCxnLlIpKCk7cmV0dXJuIGVnMShXfHxuLnNvdXJjZVVybCkudGhlbihEPT57aWYoIW4ucU4oKSl7bi5sTj1ELnN0YXR1cztEPUQucmVzcG9uc2VUZXh0O2xldCB2PW5ldyBET01QYXJzZXI7RD1nLmdUKHYsZy5IVihEKSwidGV4dC94bWwiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiTVBEIilbMF07bi5jSj1qeChsVChELCJtaW5pbXVtVXBkYXRlUGVyaW9kIikpKjFFM3x8SW5maW5pdHk7Yjp7aWYoRC5hdHRyaWJ1dGVzKWZvcihiIG9mIEQuYXR0cmlidXRlcylpZihiLnZhbHVlPT09Imh0dHA6Ly95b3V0dWJlLmNvbS95dC8yMDEyLzEwLzEwIil7dmFyIGI9Yi5uYW1lLnNwbGl0KCI6IilbMV07YnJlYWsgYn1iPSIifW4uaj1iO24uaXNMaXZlPW4uY0o8SW5maW5pdHkmJm4uaXNMaXZlUGxheWJhY2s7bi5ISj1OdW1iZXIobFQoRCxuLmorIjplYXJsaWVzdE1lZGlhU2VxdWVuY2UiKSl8fDA7aWYoYj1EYXRlLnBhcnNlKEN6KGxUKEQsCm4uaisiOm1wZFJlc3BvbnNlVGltZSIpKSkpbi5lJD0oKDAsZy5SKSgpLWIpLzFFMztuLmlzTGl2ZSYmRC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikubGVuZ3RoPD0wfHxnLmR6KEQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlBlcmlvZCIpLG4ueUUsbik7bi5zdGF0ZT0yO24uV0ooImxvYWRlZCIpO0FaKG4pfXJldHVybiBufSkuc1AoRD0+e2lmKEQgaW5zdGFuY2VvZiBnLiRUKXt2YXIgYj1ELnhocjsKbi5sTj1iLnN0YXR1c31uLnN0YXRlPTM7bi5XSigibG9hZGVycm9yIik7cmV0dXJuIGcucnAoYil9KX07CmcubUg9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby5OKCkpfTsKSzY9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby52aWRlbz9XLmluZm8udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSIjohMSl9OwpPaz1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOiExKX07ClBGPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRsKG4uTixXPT5XLmluZm8udmlkZW8/Vy5pbmZvLnZpZGVvLnByb2plY3Rpb25UeXBlPT09Ik1FU0giOiExKX07CkokVT1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5zdGVyZW9MYXlvdXQ9PT0xOiExKX07Ckl0aT1mdW5jdGlvbihuKXtyZXR1cm4gZy5iayhuLk4sVz0+Vy5pbmZvLnZpZGVvP1cubnUoKTohMCl9OwpaSD1mdW5jdGlvbihuLFcsRCl7Vz1nLlZmKFcuaW5mbyxuLnpXKTtpZihEKXtsZXQgYj1Nayh7aXRhZzpXLml0YWcsbG10Om4uelc/MDpXLmxtdHx8MCx4dGFnczpXLnh0YWdzfSk7aWYobi52SltiXSlyZXR1cm47bi52SltiXT1EfW4uR0MucHVzaChXKX07CnlDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bFQoVywiaWQiKTtEPUQucmVwbGFjZSgiOiIsIjsiKTt2YXIgYj1sVChXLCJtaW1lVHlwZSIpLHY9bFQoVywiY29kZWNzIik7Yj12P2Ake2J9OyBjb2RlY3M9IiR7dn0iYDpiO3Y9TnVtYmVyKGxUKFcsImJhbmR3aWR0aCIpKS84O3ZhciBrPU51bWJlcihUUChXLCJCYXNlVVJMIikuZ2V0QXR0cmlidXRlKG4uaisiOmNvbnRlbnRMZW5ndGgiKSksaD1uLmR1cmF0aW9uJiZrP2svbi5kdXJhdGlvbjowO2lmKFNHKGIpKXt2YXIgeD1OdW1iZXIobFQoVywid2lkdGgiKSksTD1OdW1iZXIobFQoVywiaGVpZ2h0IikpLGU9TnVtYmVyKGxUKFcsImZyYW1lUmF0ZSIpKTtsZXQgQT1ZdWgobFQoVyxuLmorIjpwcm9qZWN0aW9uVHlwZSIpKTthOnN3aXRjaChsVChXLG4uaisiOnN0ZXJlb0xheW91dCIpKXtjYXNlICJsYXlvdXRfbGVmdF9yaWdodCI6dmFyIEc9MTticmVhayBhO2Nhc2UgImxheW91dF90b3BfYm90dG9tIjpHPTI7YnJlYWsgYTtkZWZhdWx0Okc9CjB9Rz1uZXcgSFIoeCxMLGUsQSxHKX1pZihJZChiKSl7dmFyIHI9TnVtYmVyKGxUKFcsImF1ZGlvU2FtcGxpbmdSYXRlIikpO3ZhciBOPU51bWJlcihsVChXLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJBdWRpb0NoYW5uZWxDb25maWd1cmF0aW9uIilbMF0sInZhbHVlIikpO3g9SHFoKGxUKFcsbi5qKyI6c3BhdGlhbEF1ZGlvVHlwZSIpKTtyPW5ldyBBTShyLE4seCk7YTp7TD1sVChXLCJsYW5nIil8fCJ1bmQiO2lmKE49VFAoVywiUm9sZSIpKWlmKGU9bFQoTiwidmFsdWUiKXx8IiIsZy5lcChVayxlKSl7Tj1gJHtMfS4ke1VrW2VdfWA7eD1lPT09Im1haW4iO249bFQoVyxuLmorIjpsYW5nTmFtZSIpfHxgJHtMfSAtICR7ZX1gO049bmV3IHdQKG4sTix4KTticmVhayBhfU49dm9pZCAwfX1pZihXPVRQKFcsIkNvbnRlbnRQcm90ZWN0aW9uIikpaWYoVy5nZXRBdHRyaWJ1dGUoInNjaGVtZUlkVXJpIik9PT0iaHR0cDovL3lvdXR1YmUuY29tL2RybS8yMDEyLzEwLzEwIil7dmFyIEg9e307Zm9yKFc9ClcuZmlyc3RDaGlsZDtXIT1udWxsO1c9Vy5uZXh0U2libGluZyl7aWYoIShXIGluc3RhbmNlb2YgRWxlbWVudCkpY29udGludWU7aWYoIS9TeXN0ZW1VUkwvLnRlc3QoVy5ub2RlTmFtZSkpY29udGludWU7bj1XLmdldEF0dHJpYnV0ZSgidHlwZSIpO3g9Vy50ZXh0Q29udGVudDtuJiZ4JiYoSFtuXT14LnRyaW0oKSl9fWVsc2UgSD12b2lkIDA7cmV0dXJuIG5ldyBtdShELGIse2F1ZGlvOnIsdmlkZW86RyxrWjpOLGNvbnRlbnRQcm90ZWN0aW9uOkgsTnM6dixYbjpoLGNvbnRlbnRMZW5ndGg6a30pfTsKQVo9ZnVuY3Rpb24obil7dmFyIFc9bi5jSjtpc0Zpbml0ZShXKSYmKEVrKG4pP24ucmVmcmVzaCgpOihXPU1hdGgubWF4KDAsbi5TJCtXLSgwLGcuUikoKSksbi5LfHwobi5LPW5ldyBnLmZfKG4ucmVmcmVzaCxXLG4pLGcudShuLG4uSykpLG4uSy5zdGFydChXKSkpfTsKdmFyIFN1eD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsNCwxNjk5LG4sVyxELGIsdixrLGgseCxMLGUpfTsKRWs9ZnVuY3Rpb24obil7cmV0dXJuIG4uaXNMaXZlJiYoMCxnLlIpKCktbi5TJD49bi5jSn07CkEkaT1mdW5jdGlvbihuKXtuPW4uTjtmb3IobGV0IFcgaW4gbil7bGV0IEQ9bltXXS5pbmRleDtpZihELmlzTG9hZGVkKCkpcmV0dXJuIEQueCQoKSsxfXJldHVybiAwfTsKaUE9ZnVuY3Rpb24obil7cmV0dXJuIG4ub1I/bi5vUi0obi5EfHxuLnRpbWVzdGFtcE9mZnNldCk6MH07CnVBPWZ1bmN0aW9uKG4pe3JldHVybiBuLkpVP24uSlUtKG4uRHx8bi50aW1lc3RhbXBPZmZzZXQpOjB9Owpvbz1mdW5jdGlvbihuKXtpZighaXNOYU4obi5UQykpcmV0dXJuIG4uVEM7dmFyIFc9bi5OO2Zvcih2YXIgRCBpbiBXKXt2YXIgYj1XW0RdLmluZGV4O2lmKGIuaXNMb2FkZWQoKSYmIVdbRF0uaW5mby5OKCkpe1c9MDtmb3IoRD1iLlpPKCk7RDw9Yi54JCgpO0QrKylXKz1iLmdldER1cmF0aW9uKEQpO1cvPWIuSDcoKTtXPU1hdGgucm91bmQoVy8uNSkqLjU7Yi5INygpPjEwJiYobi5UQz1XKTtyZXR1cm4gV31pZihuLmlzTGl2ZSYmKGI9V1tEXSxiLnJiKSlyZXR1cm4gYi5yYn1yZXR1cm4gTmFOfTsKbTh0PWZ1bmN0aW9uKG4sVyl7bj1xYyhuLk4sYj0+Yi5pbmRleC5pc0xvYWRlZCgpKTsKaWYoIW4pcmV0dXJuIE5hTjtuPW4uaW5kZXg7dmFyIEQ9bi5SMyhXKTtyZXR1cm4gbi5nZXRTdGFydFRpbWUoRCk9PT1XP1c6RDxuLngkKCk/bi5nZXRTdGFydFRpbWUoRCsxKTpOYU59Owp6eD1mdW5jdGlvbihuLFcpe2lmKCFuLk5bIjAiXSl7dmFyIEQ9bmV3IG11KCIwIiwiZmFrZXNiIix7dmlkZW86bmV3IEhSKDAsMCwwLHZvaWQgMCx2b2lkIDAsImF1dG8iKX0pO24uTlsiMCJdPVc/bmV3IGR0KG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELCJmYWtlIik6bmV3IHNrKG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELG5ldyBhQigwLDApLG5ldyBhQigwLDApKX19OwpnLmxBPWZ1bmN0aW9uKG4pe2lmKG4uaXNNYW5pZmVzdGxlc3MpZm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5kZXguc2VnbWVudHM9W119OwpUeD1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4uTil7bGV0IHY9bi5OW2JdLmluZm8uTigpfHxuLk5bYl0uaW5mby5mWSgpO0Q9PT12JiZuLk5bYl0uaW5kZXg/Lk8oVyl9fTsKajQ9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5mby5OKCl8fFBBKG4uTltXXS5pbmRleCxJbmZpbml0eSl9OwpDNj1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBoIGluIG4uTil7dmFyIGI9bi5OW2hdLmluZGV4LHY9VyxrPUQ7Yi5PVCYmKHYmJihiLnFxPU1hdGgubWF4KGIucXEsdikpLGsmJihiLkRuPU1hdGgubWF4KGIuRG58fDAsaykpKX1EJiYobi50dz1ELzFFMyl9OwpCRj1mdW5jdGlvbihuLFcsRCxiPSExKXtiJiZEPT09bi5QWHx8KG4uYmQucHVzaChXKSxuLlBYPUQsbi5XSigiY3VlcG9pbnRzYWRkZWQiLEQpKX07CktLdD1mdW5jdGlvbihuKXtuLkpVPTA7bi5vUj0wO24uSVQ9MH07CkZ2PWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRJiZuLmlzTWFuaWZlc3RsZXNzP24uaXNMaXZlSGVhZFBsYXlhYmxlOm4uaXNMaXZlfTsKcDY9ZnVuY3Rpb24obixXLEQpe3d0PT09bnVsbCYmKHd0PXdpbmRvdy5NZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMi41MS4xMC4wMS4wOS4xNi4wOS4wMCInKSYmIU1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAyLjUxLjEwLjAxLjA5Ljk5Ljk5LjAwIicpKTtpZihNeiYmd2luZG93Lk1lZGlhU291cmNlJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQhPT12b2lkIDApcmV0dXJuIHd0fHxEIT09IjkiJiZEIT09IigiP3d0fHxEIT09IjloIiYmRCE9PSIoaCJ8fChuPSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicpOm49J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicsbjtpZighd3QmJiFSb3x8biE9PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInJiZuIT09J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5LjIiJylyZXR1cm4gbjsKRD0iMDAiO3ZhciBiPSIwOCIsdj0iMDEiLGs9IjAxIixoPSIwMSI7bj09PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicmJihEPSIwMiIsYj0iMTAiLFcucHJpbWFyaWVzPT09ImJ0MjAyMCImJihoPXY9IjA5IiksVy5OPT09InNtcHRlMjA4NCImJihrPSIxNiIpLFcuTj09PSJhcmliLXN0ZC1iNjciJiYoaz0iMTgiKSk7cmV0dXJuYHZpZGVvL3dlYm07IGNvZGVjcz0iJHtbInZwMDkiLEQsIjUxIixiLCIwMSIsdixrLGgsIjAwIl0uam9pbigiLiIpfSJgfTsKVkM9ZnVuY3Rpb24obixXLEQpe249YCR7bn0ke1c+NDk/InA2MCI6Vz4zMj8icDQ4IjoiIn1gO1c9ZjcoKVtuXTtpZihXIT1udWxsJiZXPjApcmV0dXJuIFc7Vz1RQy5nZXQobik7aWYoVyE9bnVsbCYmVz4wKXJldHVybiBXO0Q9RD8uZ2V0KG4pO3JldHVybiBEIT1udWxsJiZEPjA/RDo4MTkyfTsKT3F4PWZ1bmN0aW9uKG4sVz0hMSl7UWh3KFcpO1ZwQyhXKTtpZihXKXtmb3IobGV0IEQgb2YgUUMua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxRQy5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIGNGLnZhbHVlcygpKUQuc3RhcnRzV2l0aCgiMSIpfHxjRi5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIG4ua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxuLmRlbGV0ZShEKX1lbHNlIFFDLmNsZWFyKCksY0YuY2xlYXIoKSxuLmNsZWFyKCl9OwpVOFo9ZnVuY3Rpb24obix7aXNPdGY6VyxtVjpELHlYOmIsSVI6dixPdzprLEhpOmgsbFU6eCxvTDpMLHhkOmUsZGlzYWJsZUF2MTpHLGRCOnJ9KXt2YXIgTj1uZXcgUGVNKG4pO2lmKG4uV1goKXx8bi5TKCJodG1sNV9sb2dnaW5nX2Zvcm1hdF9zZWxlY3Rpb24iKSlOLlc9ITA7Ti5HQz1rO04uSGk9aCYmbi5LO04ueGQ9ZTtnLnViKCJ3aW5kb3dzIG50IDUuMSIpJiYhZy5hbyYmKE4uYnY9ITApO2lmKGs9RClrPWcubk4obik/WnFTKG4pOiExO2smJihOLmNKPSEwKTt4JiYoTi5idj0hMCxOLk5kPSEwKTtXJiYhbi5TKCJodG1sNV9vdGZfcHJlZmVyX3ZwOSIpJiYoTi5idj0hMCk7bi5wbGF5ZXJTdHlsZT09PSJwaWNhc2F3ZWIiJiYoVyYmKE4uYnY9ITEpLE4udHc9ITEpO3YmJihOLmJ2PSEwKTtTSihuLlcsQVQuQ0hBTk5FTFMpJiYobi5TKCJodG1sNV9lbmFibGVfYWMzIikmJihOLmo9ITApLG4uUygiaHRtbDVfZW5hYmxlX2VhYzMiKSYmKE4uVj0hMCksbi5TKCJodG1sNV9lbmFibGVfYWMzX2dhcGxlc3MiKSYmCihOLkhKPSEwKSk7bi5TKCJodG1sNV9ibG9ja184a19oZnIiKSYmKE4uUFg9ITApO04uSz1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO04uWT1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO2cuV1gmJihOLndhPTQ4MCk7aWYoYnx8RClOLnR3PSExO04uQ3U9ITE7Ti5kaXNhYmxlQXYxPUc7Ti5KPW4uUygiaHRtbDVfbG9nX25vX2F2MV9yZWFzb24iKTtXPURLKG4sTi5OLHZvaWQgMCxOLmRpc2FibGVBdjEpO1c+MCYmVzwyMTYwJiYoVlQoKXx8bi5TKCJodG1sNV9mb3JtYXRfaHlicmlkaXphdGlvbiIpKSYmKE4uTi5zdXBwb3J0c0NoYW5nZVR5cGU9K1ZUKCksTi5uUz1XKTtXPj0yMTYwJiYoTi5lJD0hMCk7Ti5vTD1MO04uRkY9Zy5SZ3x8YzAoKSYmIUw/ITE6ITA7Ti5EPW4uUygiaHRtbDVfZm9ybWF0X2h5YnJpZGl6YXRpb24iKTtOLkJWPW4uUygiaHRtbDVfZGlzYWJsZV9lbmNyeXB0ZWRfdnA5X2xpdmVfbm9uXzJrXzRrIik7Ck4ualc9cjtyZXR1cm4gTn07CkRLPWZ1bmN0aW9uKG4sVz17fSxELGI9ITEpe2lmKGIpcmV0dXJuIFcuZGlzYWJsZWQ9MSwwO2lmKFNKKG4uVyxBVC5BVjFfQ09ERUNTKSYmU0oobi5XLEFULkhFSUdIVCkmJlNKKG4uVyxBVC5CSVRSQVRFKSlyZXR1cm4gVy5pc0NhcGFiaWxpdHlVc2FibGU9MSw4MTkyO2I9MTA4MDt2YXIgdj1uYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeTt2PD0yJiYoYj00ODApO1cuY29yZUNvdW50PXY7aWYodj1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZCIpKWI9V1siZGVmYXVsdCJdPXY7aWYodj1uLlcuY0opVy5tY2FwPXYsYj1NYXRoLm1heChiLHYpO2lmKEQpe2lmKHY9RC52aWRlb0luZm9zLmZpbmQoaD0+aC5NVygpKT8uaj8ucG93ZXJFZmZpY2llbnQpYj04MTkyLFcuaXNFZmZpY2llbnQ9MTsKRD1ELnZpZGVvSW5mb3NbMF0udmlkZW87bGV0IGs9TWF0aC5taW4oVkMoIjEiLEQuZnBzKSxWQygiMSIsMzApKTtXLnBlcmZDYXA9aztiPU1hdGgubWluKGIsayk7IUQuaXNIZHIoKXx8dnx8bi5adCgpLk4uUVEoeSRqKXx8KFcuaGRyPTEsYio9Ljc1KX1lbHNlIG49VkMoIjEiLDMwKSxXLnBlcmZDYXAzMD1uLGI9TWF0aC5taW4oYixuKSxuPVZDKCIxIiw2MCksVy5wZXJmQ2FwNjA9bixiPU1hdGgubWluKGIsbik7cmV0dXJuIFcuYXYxVGhyZXNob2xkPWJ9OwpySGk9ZnVuY3Rpb24obil7dmFyIFc9WyJvIiwiYSIsIkEiXTtpZihuLnhkPT09MSYmKG4uaiYmKFc9WyJtYWMzIiwiTUFDMyJdLmNvbmNhdChXKSksbi5WJiYoVz1bIm1lYWMzIiwiTUVBQzMiXS5jb25jYXQoVykpLG4uVlF8fG4uZkIpKXtsZXQgRD1bXTtuLlZRJiZELnB1c2goImkiKTtuLmZCJiZELnB1c2goIkkiKTtXPUQuY29uY2F0KFcpfW4uY0omJihXPVsic28iLCJzYSJdLmNvbmNhdChXKSk7IW4uTmR8fG4uSEp8fG4uWHx8bi5zNXx8Vy51bnNoaWZ0KCJhIik7bi5YJiYoVz0oYm9bbi5YXXx8W24uWF0pLmNvbmNhdChXKSk7cmV0dXJuIFd9OwpKSHI9ZnVuY3Rpb24obil7aWYobi5HQylyZXR1cm5bImYiXTtpZihnLnViKCJhcHBsZXR2NSIpKXJldHVybiJoIDloIDkgOCBIIChoICggKiIuc3BsaXQoIiAiKTt2YXIgVz1bIjloIiwiOSIsImgiLCI4Il07bi5ZJCYmVy5wdXNoKCIxZSIpO1c9Vy5jb25jYXQoWyIoaCIsIigiLCJIIiwiKiJdKTtuLmUkJiYoVy51bnNoaWZ0KCIxIiksVy51bnNoaWZ0KCIxaCIpKTtuLmJ2JiZXLnVuc2hpZnQoImgiKTtuLk8mJihXPShib1tuLk9dfHxbbi5PXSkuY29uY2F0KFcpKTtyZXR1cm4gV307CnZYPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93LFc9bi5NU01lZGlhS2V5cztDJCgpJiYhVyYmKFc9bi5XZWJLaXRNZWRpYUtleXMpO3JldHVybiBXJiZXLmlzVHlwZVN1cHBvcnRlZD9XOm51bGx9Owpoej1mdW5jdGlvbihuKXtyZXR1cm4gbmF2aWdhdG9yLnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcz9nLm9kJiYhZy5kOCgpP0NfKCI0NSIpOmcuUmd8fGcua2g/bi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTpnLmFvP0NfKCI0NyIpOmcuR24mJm4uRXEoImh0bWw1X2VuYWJsZV9zYWZhcmlfZmFpcnBsYXkiKT8hMTohMDohMX07CnhoPWZ1bmN0aW9uKG4pe3JldHVybiBuLlg/ITE6IW4ua2V5U3lzdGVtQWNjZXNzJiYhIXZYKCkmJm4ua2V5U3lzdGVtPT09ImNvbS5taWNyb3NvZnQucGxheXJlYWR5In07CkxOPWZ1bmN0aW9uKG4pe3JldHVybiBuLmtleVN5c3RlbT09PSJjb20ubWljcm9zb2Z0LnBsYXlyZWFkeSJ9OwplVD1mdW5jdGlvbihuKXtyZXR1cm4hbi5rZXlTeXN0ZW1BY2Nlc3MmJiEhdlgoKSYmbi5rZXlTeXN0ZW09PT0iY29tLmFwcGxlLmZwcy4xXzAifTsKZzE9ZnVuY3Rpb24obil7cmV0dXJuIG4ua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5In07CmcuWFY9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmxhdm9yPT09ImZhaXJwbGF5In07CkVHQz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj16USgpLGs9KEQ9dnx8RCYmQyQoKSk/WyJjb20ueW91dHViZS5mYWlycGxheSJdOlsiY29tLndpZGV2aW5lLmFscGhhIl07VyYmay51bnNoaWZ0KCJjb20ueW91dHViZS53aWRldmluZS5sMyIpO3YmJmImJmsudW5zaGlmdCgiY29tLnlvdXR1YmUuZmFpcnBsYXkuc2JkbCIpO3JldHVybiBEP2s6bj9bLi4uaywuLi5xVi5wbGF5cmVhZHldOlsuLi5xVi5wbGF5cmVhZHksLi4ua119OwokaD1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uSi5sZW5ndGg9PT0wKW4uY2FsbGJhY2sobi5YKTtlbHNle3ZhciBXPW4uSlswXSxEPW4uV1tXXSxiPWlxdChuLEQpO0dMJiZHTC5rZXlTeXN0ZW09PT1XJiZHTC5JMT09PUpTT04uc3RyaW5naWZ5KGIpPyhuLlUoInJlbWtzYSIse3JlOiEwfSksdHoobixELEdMLmtleVN5c3RlbUFjY2VzcykpOihuLlUoInJlbWtzYSIse3JlOiExLG9rOkdMPy5rZXlTeXN0ZW0/PyIifSksR0w9dm9pZCAwLG5hdmlnYXRvci5yZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoVyxiKS50aGVuKFl6KHY9Pnt0eihuLEQsdixiKX0pLFl6KCgpPT57bi5qPSFuLmomJm4uV1tuLkpbMF1dLmZsYXZvcj09PSJ3aWRldmluZSI7Cm4uanx8bi5KLnNoaWZ0KCk7JGgobil9KSkpfX07Cm9Hdz1mdW5jdGlvbihuKXtpZih2WCgpJiYoZy5Hbnx8dzgpKW4uWC5wdXNoKG5ldyByMSgiZmFpcnBsYXkiLCJjb20uYXBwbGUuZnBzLjFfMCIsIiIsbi55US5leHBlcmltZW50cykpO2Vsc2V7dmFyIFc9dTFyKCksRD1nLmxfKG4uSixiPT57dmFyIHY9bi5XW2JdLGs9ITEsaD0hMTtmb3IobGV0IHggaW4gbi5OW3YuZmxhdm9yXSlXKHgsYikmJih2LkpbeF09ITAsaz1rfHx4LmluZGV4T2YoImF1ZGlvLyIpPT09MCxoPWh8fHguaW5kZXhPZigidmlkZW8vIik9PT0wKTtyZXR1cm4gayYmaH0pOwpEJiZuLlgucHVzaChuLldbRF0pO24uSj1bXX1uLmNhbGxiYWNrKG4uWCl9OwpkOGk9ZnVuY3Rpb24obixXKXtuLmNhbGxiYWNrPVc7bi5YPVtdO2h6KG4ueVEuZXhwZXJpbWVudHMpPyRoKG4pOm9HdyhuKX07CmlxdD1mdW5jdGlvbihuLFcpe3ZhciBEPXtpbml0RGF0YVR5cGVzOlsiY2VuYyIsIndlYm0iXSxhdWRpb0NhcGFiaWxpdGllczpbXSx2aWRlb0NhcGFiaWxpdGllczpbXX07aWYobi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikmJmcxKFcpKXJldHVybiBELmF1ZGlvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC41Iid9KSxELnZpZGVvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOid2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40ZDQwMGIiJ30pLFtEXTtMTihXKSYmKEQuaW5pdERhdGFUeXBlcz1bImtleWlkcyIsImNlbmMiXSk7Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKXt2YXIgYj12LmluZGV4T2YoImF1ZGlvLyIpPT09MDtsZXQgaz1iP0QuYXVkaW9DYXBhYmlsaXRpZXM6RC52aWRlb0NhcGFiaWxpdGllcztXLmZsYXZvciE9PSJ3aWRldmluZSJ8fG4uaj9rLnB1c2goe2NvbnRlbnRUeXBlOnZ9KToKYj9rLnB1c2goe2NvbnRlbnRUeXBlOnYscm9idXN0bmVzczoiU1dfU0VDVVJFX0NSWVBUTyJ9KTooZy5vZCYmZy51Yigid2luZG93cyBudCIpJiYhbi5TKCJodG1sNV9kcm1fZW5hYmxlX21vaG8iKXx8ay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IkhXX1NFQ1VSRV9BTEwifSksYj12LG4ueVEuVy5KJiZ2LmluY2x1ZGVzKCJ2cDA5IikmJihiPXYrIjsgZXhwZXJpbWVudGFsPWFsbG93ZWQiKSxrLnB1c2goe2NvbnRlbnRUeXBlOmIscm9idXN0bmVzczoiU1dfU0VDVVJFX0RFQ09ERSJ9KSxnLnNkKG4ueVEpJiYoVkgoKXx8b0soKSkmJihuLlUoInN3Y3J5cHRvIix7fSksay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IlNXX1NFQ1VSRV9DUllQVE8ifSkpKX1yZXR1cm5bRF19Owp0ej1mdW5jdGlvbihuLFcsRCxiKXtpZighbi5xTigpKXtiJiYoR0w9e2tleVN5c3RlbTpXLmtleVN5c3RlbSxrZXlTeXN0ZW1BY2Nlc3M6RCxJMTpKU09OLnN0cmluZ2lmeShiKX0pO1cua2V5U3lzdGVtQWNjZXNzPUQ7aWYoTE4oVykpe3ZhciB2PWk4KCk7Zm9yKHZhciBrIG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKVcuSltrXT0hIXYuY2FuUGxheVR5cGUoayl9ZWxzZXtrPVcua2V5U3lzdGVtQWNjZXNzLmdldENvbmZpZ3VyYXRpb24oKTtpZihrLmF1ZGlvQ2FwYWJpbGl0aWVzKWZvcih2IG9mIGsuYXVkaW9DYXBhYmlsaXRpZXMpVy5KW3YuY29udGVudFR5cGVdPSEwO2lmKGsudmlkZW9DYXBhYmlsaXRpZXMpZm9yKGxldCBoIG9mIGsudmlkZW9DYXBhYmlsaXRpZXMpVy5KW2guY29udGVudFR5cGVdPSEwfW4uWC5wdXNoKFcpO24udXNlQ29iYWx0V2lkZXZpbmV8fG4uUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZXLk4oKT8obi5KLnNoaWZ0KCksJGgobikpOm4uY2FsbGJhY2sobi5YKX19Owp1MXI9ZnVuY3Rpb24oKXt2YXIgbj12WCgpO2lmKG4pe2xldCBEPW4uaXNUeXBlU3VwcG9ydGVkO3JldHVybihiLHYpPT5EKHYsYil9dmFyIFc9aTgoKTsKcmV0dXJuIFcmJihXLmFkZEtleXx8Vy53ZWJraXRBZGRLZXkpPyhELGIpPT4hIVcuY2FuUGxheVR5cGUoRCxiKTooKT0+ITF9OwpsdGI9ZnVuY3Rpb24obixXKXtzd2l0Y2goVy5VMCl7Y2FzZSAiYm9vbCI6cmV0dXJuIG4uRXEoVy5ueCk7Y2FzZSAiaW50IjpyZXR1cm4gbj1OVihuLFcubngpLGcuJFUobik7Y2FzZSAiZG91YmxlIjpyZXR1cm4gTlYobixXLm54KTtjYXNlICJzdHJpbmciOnJldHVybiB6ZzIobixXLm54KTtjYXNlICJpbnQzMl9saXN0IjpyZXR1cm4gcE4obixXLm54KTtjYXNlICJpbnQ2NF9saXN0IjpyZXR1cm4gcE4obixXLm54KS5tYXAoRD0+Zy4kVShEKSk7CmNhc2UgInN0cmluZ19saXN0Ijp0aHJvdyBFcnJvcigiU3RyaW5nIGxpc3QgZmxhZ3MgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gV1BDQyIpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gZmxhZyB0eXBlIik7fX07Ck5WPWZ1bmN0aW9uKG4sVyl7bj1uLmZsYWdzLmdldChgJHtXfWApO3JldHVybiBOdW1iZXIobil8fDB9Owp6ZzI9ZnVuY3Rpb24obixXKXtyZXR1cm4obj1uLmZsYWdzLmdldChgJHtXfWApKT9uLnRvU3RyaW5nKCk6IiJ9OwpwTj1mdW5jdGlvbihuLFcpe2lmKG49bi5mbGFncy5nZXQoYCR7V31gKSlpZihuPW4ucmVwbGFjZSgvXFsgKiguKj8pICpcXS8sIiQxIikpcmV0dXJuIG4uc3BsaXQoIiwiKS5tYXAoTnVtYmVyKTtyZXR1cm5bXX07CmcuZE09ZnVuY3Rpb24obixXLEQ9MCl7bj1uLlFRKFcpO0pTT04uc3RyaW5naWZ5KG4pO3JldHVybiBuPT09dm9pZCAwP0Q6TnVtYmVyKG4pfTsKZy5ZaD1mdW5jdGlvbihuLFcpe3JldHVybihuPW4uUVEoVykpP24udG9TdHJpbmcoKToiIn07ClRwYj1mdW5jdGlvbihuKXtpZihuPW4uUVEoImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpKWlmKG49bi5yZXBsYWNlKC9cWyAqKC4qPykgKlxdLywiJDEiKSlyZXR1cm4gbi5zcGxpdCgiLCIpLm1hcChOdW1iZXIpO3JldHVybltdfTsKSFg9ZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBuLk47aWYobi5leHBlcmltZW50SWRzLmxlbmd0aDw9MSlyZXR1cm4gbi5OPW4uZXhwZXJpbWVudElkcyxuLk47dmFyIFc9Wy4uLm4uZXhwZXJpbWVudElkc10ubWFwKEQ9Pk51bWJlcihEKSk7Clcuc29ydCgpO2ZvcihsZXQgRD1XLmxlbmd0aC0xO0Q+MDstLUQpV1tEXS09V1tELTFdO24uTj1XLm1hcChEPT5ELnRvU3RyaW5nKCkpOwpuLk4udW5zaGlmdCgidjEiKTtyZXR1cm4gbi5OfTsKTkRTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE1hcDtmb3IobGV0IGIgb2YgVy5rZXlzKCkpe2xldCB2PWIuc3BsaXQoIl8iKVswXTtuLmhhcyh2KXx8RC5zZXQoYixXLmdldChiKSl9cmV0dXJuIER9OwpZMlM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW8/LmZwc3x8MCx2PWAke259XyR7Yn1gLGs9ISFXLmF1ZGlvLGg9e2l0YWc6Vy5pdGFnLElCOm4sZVM6a307aWYoayloLm51bUNoYW5uZWxzPVcuYXVkaW8ubnVtQ2hhbm5lbHM7ZWxzZXt2YXIgeD1XLnZpZGVvO2gubWF4V2lkdGg9eD8ud2lkdGg7aC5tYXhIZWlnaHQ9eD8uaGVpZ2h0O2gubWF4RnJhbWVyYXRlPWI7aC5tYXhCaXRyYXRlQnBzPVcuTnMqODtoLno5PXg/LmlzSGRyKCl9eD1ELmdldCh2KTt4P2t8fChXPU1hdGgubWF4KHgubWF4V2lkdGh8fDAseC5tYXhIZWlnaHR8fDApPk1hdGgubWF4KGgubWF4V2lkdGh8fDAsaC5tYXhIZWlnaHR8fDApP3g6aCxuPXtpdGFnOlcuaXRhZyxJQjpuLGVTOmssbWF4V2lkdGg6TWF0aC5tYXgoeC5tYXhXaWR0aHx8MCxoLm1heFdpZHRofHwwKSxtYXhIZWlnaHQ6TWF0aC5tYXgoeC5tYXhIZWlnaHR8fDAsaC5tYXhIZWlnaHR8fDApLG1heEZyYW1lcmF0ZTpiLHo5Olcuejl9LG4ubWF4Qml0cmF0ZUJwcz0KVy5tYXhCaXRyYXRlQnBzLEQuc2V0KHYsbikpOkQuc2V0KHYsaCl9OwpPRD1mdW5jdGlvbihuLFcsRD0xKXt2YXIgYj1XLml0YWc7aWYoYj09PSIwIilyZXR1cm4hMDt2YXIgdj1XLm1pbWVUeXBlO2lmKFcuSUI9PT0iMWUiJiYhbi5YKXJldHVybiJkYXYxZW5jIjtpZihXLk1XKCkmJm4uWSlyZXR1cm4iZGF2MSI7aWYoVy52aWRlbyYmKFcudmlkZW8uaXNIZHIoKXx8Vy52aWRlby5wcmltYXJpZXM9PT0iYnQyMDIwIikmJiEoU0oobixBVC5FT1RGKXx8d2luZG93Lm1hdGNoTWVkaWEmJih3aW5kb3cubWF0Y2hNZWRpYSgiKGR5bmFtaWMtcmFuZ2U6IGhpZ2gpLCAodmlkZW8tZHluYW1pYy1yYW5nZTogaGlnaCkiKS5tYXRjaGVzfHx3aW5kb3cuc2NyZWVuLnBpeGVsRGVwdGg+MjQmJndpbmRvdy5tYXRjaE1lZGlhKCIoY29sb3ItZ2FtdXQ6IHAzKSIpLm1hdGNoZXMpKSlyZXR1cm4iZGhkciI7aWYoYj09PSIzMzgiJiYhKGcub2Q/Q18oNTMpOmcuYW8mJkNfKDY0KSkpcmV0dXJuImRvcHVzIjtEPXZHVShXLEQpO24uSiYmVy5YKCkmJihEW0FULkVYUEVSSU1FTlRBTC5uYW1lXT0KImFsbG93ZWQiKTtmb3IobGV0IHggb2YgT2JqZWN0LmtleXMoQVQpKXtsZXQgTD1BVFt4XTt2YXIgaztpZihrPURbTC5uYW1lXSlpZihrPSEoTD09PUFULkVPVEYmJlcubWltZVR5cGUuaW5kZXhPZigidnAwOS4wMiIpPjApKXtrPUw7dmFyIGg9VztrPSEobi5leHBlcmltZW50cy5FcSgiaHRtbDVfaWdub3JlX2gyNjRfZnJhbWVyYXRlX2NhcCIpJiZrPT09QVQuRlJBTUVSQVRFJiYoaC5JQj09PSJIInx8aC5JQj09PSJoIikpfWlmKGspaWYoU0oobixMKSlpZihuLmope2lmKG4ualtMLm5hbWVdPERbTC5uYW1lXSlyZXR1cm4gTC5uYW1lfWVsc2Ugdj1gJHt2fTsgJHtMLm5hbWV9PSR7RFtMLm5hbWVdfWA7ZWxzZSBpZihaTyhXKSYmTD09PUFULkVPVEYpcmV0dXJuImR2cDkyIn1uLk8mJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmVy5jb250ZW50UHJvdGVjdGlvbiYmKHYrPSI7IGhkY3A9Mi4yIik7cmV0dXJuIGI9PT0iMjI3Ij8iaHFjZW5jIjpiPT09IjU4NSJ8fApiPT09IjU4OCJ8fGI9PT0iNTgzInx8Yj09PSI1ODYifHxiPT09IjU4NCJ8fGI9PT0iNTg3Inx8Yj09PSI1OTEifHxiPT09IjU5MiI/Im5ld2h2YyI6elEoKSYmaWIoKT49MjEmJmcudWIoImFwcGxldHY1IikmJihiPT09IjQxMCJ8fGI9PT0iODQ1Iik/ITA6bi5pc1R5cGVTdXBwb3J0ZWQodik/ITA6InRwdXMifTsKU0o9ZnVuY3Rpb24obixXKXtXLm5hbWUgaW4gbi5EfHwobi5EW1cubmFtZV09ajVpKG4sVykpO3JldHVybiBuLkRbVy5uYW1lXX07CkNlVT1mdW5jdGlvbihuKXtuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyYmbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7dHlwZToibWVkaWEtc291cmNlIix2aWRlbzp7Y29udGVudFR5cGU6J3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTJNLjA4Iicsd2lkdGg6Mzg0MCxoZWlnaHQ6MjE2MCxiaXRyYXRlOjMyRTYsZnJhbWVyYXRlOjYwfX0pLnRoZW4oVz0+e1cuc21vb3RoJiZXLnBvd2VyRWZmaWNpZW50JiYobi5jSj0yMTYwKX0pfTsKZk49ZnVuY3Rpb24oKXt2YXIgbj1vSygpJiYhQ18oMjkpLFc9Zy51YigiZ29vZ2xlIHR2IikmJmcudWIoImNocm9tZSIpJiYhQ18oMzApO3JldHVybiBufHxXPyExOmNSKCl9OwpKej1mdW5jdGlvbihuLFcsRCl7dmFyIGI9NDgwLHY9MTA4MCxrO2lmKGs9bi5leHBlcmltZW50cy5adCgpLk4uUVEoQnB0KSluLlY9PT1udWxsJiYobi5WPSExLFNKKG4sQVQuV0lEVEgpJiZTSihuLEFULkhFSUdIVCkmJihuLlY9ZHkoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTdNLjA4Ijsgd2lkdGg9NzY4MDsgaGVpZ2h0PTQzMjAnKSkpLGs9bi5WO2smJih2PTIxNjApO2ZvcihsZXQgaCBvZiBXKVc9aC52aWRlby5xdWFsaXR5T3JkaW5hbCxXPD12JiZXPmImJk9EKG4saCxEKT09PSEwJiYoYj1XKTtyZXR1cm4gYn07CmcuSW49ZnVuY3Rpb24obixXPSExKXtyZXR1cm4gZk4oKSYmbi5pc1R5cGVTdXBwb3J0ZWQoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fCFXJiZuLmNhblBsYXlUeXBlKGk4KCksImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIpPyEwOiExfTsKd0p4PWZ1bmN0aW9uKG4pe0ZLQygoKT0+e2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhBVCkpU0oobixBVFtXXSl9KX07Cmo1aT1mdW5jdGlvbihuLFcpe2lmKG4uailyZXR1cm4hIW4ualtXLm5hbWVdO2lmKFc9PT1BVC5CSVRSQVRFJiZuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwJykmJiFuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwMCcpKXJldHVybiExO2lmKFc9PT1BVC5BVjFfQ09ERUNTKXJldHVybiBuLmlzVHlwZVN1cHBvcnRlZChgdmlkZW8vbXA0OyBjb2RlY3M9JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYHZpZGVvL21wNDsgY29kZWNzPSR7Vy52R31gKTtpZihXLnZpZGVvKXt2YXIgRD0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiJztuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjRkNDAxZSInKX1lbHNlIEQ9J2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLApuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyk7cmV0dXJuIG4uaXNUeXBlU3VwcG9ydGVkKGAke0R9OyAke1cubmFtZX09JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYCR7RH07ICR7Vy5uYW1lfT0ke1cudkd9YCl9OwpTVD1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bi5XLmhhcyhXKSYmKEQ9bi5XLmdldChXKS56RSk7bi5XLnNldChXLHt6RTpEKzEsZzE6MioqKEQrMSl9KTtuLk49ITB9OwptVj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFcmJnR5cGVvZiBXPT09Im9iamVjdCIpe2xldCBrPWg9PkF6KG4saCxELGIsdik7CmlmKFlvKFcpKXJldHVybiBXLnRoZW4oayk7aWYoWUQoVykpcmV0dXJuIFNrKFcsayl9cmV0dXJuIEF6KG4sVyxELGIsdil9OwpLTj1mdW5jdGlvbihuLFcsRCxiPTEpe0Q+PTAmJihXIGluIG4uTnx8KG4uTltXXT1uZXcgTU9pKSxuLk5bV10uZEUoRCxiKSl9OwpBej1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSgwLGcuUikoKTt2PXY/dihXKTp2b2lkIDA7dmFyIGg9dj8uVF8/PzE7aCE9PTAmJktOKG4sdj8ucHJvZmlsZT8/RCxrLWIsaCk7cmV0dXJuIFd9OwpPZD1mdW5jdGlvbihuKXt2YXIgVz13aW5kb3c7Vy55d2N8fChXLnl3Yz17fSk7dmFyIEQ9Vy55d2Nbbl07aWYoRClyZXR1cm4gRDtEPXt9O3JldHVybiBXLnl3Y1tuXT1EfTsKUFg9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93O1cueXdjJiZkZWxldGUgVy55d2Nbbl19OwpSZ1U9ZnVuY3Rpb24obil7dmFyIFc9T2Qobik7aWYoVy5iaW5QKXJldHVybiBXLmJpblA7Vy5iaW5QPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmZldGNoKG4pKS50aGVuKEQ9PntpZighRC5vayl0aHJvdyBFcnJvcihgSFRUUCR7RC5zdGF0dXNUZXh0fWApOwpyZXR1cm4gRC5hcnJheUJ1ZmZlcigpfSk7ClcuYmluUC50aGVuKEQ9PntXLmJpbj1EfSwoKT0+e1BYKG4pfSk7CnJldHVybiBXLmJpblB9OwpFZD1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1aSy50WCgpLHY9biYmVWQ7aWYoIXYmJiFXKXJldHVybiBEPy4oIndhc21ucyIse3A6bj8iMSI6IjAiLGE6Vz8iMSI6IjAiLHM6VWQ/IjEiOiIwIn0pLGZsKEVycm9yKCJ3YXNtLndtLm5zIikpO3ZhciBrPW5ldyBRNXI7aWYodil0cnl7bGV0IGg9eWllbGQqUFAoVk9yKGssbikpLHg9bmV3IHlNKGgsaywhMSk7WksuZVUoIndpbml0IixiKTtEPy4oIndhc21zdyIse30pO3JldHVybiB4fWNhdGNoKGgpe2lmKEQ/Ligid2FzbWVycnciLHtlOmAke2h9YH0pLCFXKXRocm93IEVycm9yKCJ3YXNtLndtLml3Iix7Y2F1c2U6aH0pO31pZighVyl0aHJvdyBFcnJvcigid2FzbS53bS54eCIpO3RyeXtsZXQgaD15aWVsZCpQUChXKGspKSx4PW5ldyB5TSh7ZXhwb3J0czpofSxrLCEwKTtaSy5lVSgid2luaXRqcyIsYik7RD8uKCJ3YXNtc2EiLHt9KTtyZXR1cm4geH1jYXRjaChoKXt0aHJvdyBEPy4oIndhc21lcnJhIiwKe2U6YCR7aH1gfSksRXJyb3IoYHdhc20ud20uaWE6ICR7aH1gKTt9fSgpfSl9OwpWT3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28oYyR0LGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7aWYoIUQuTil0aHJvdyJ3YXNtLnBzLm5zIjt2YXIgYj15aWVsZCpQUChhdHQoRCxXKSk7aWYoIWIpdGhyb3cid2FzbS5wcy51bSI7cmV0dXJuIHlpZWxkKlBQKFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGIsbikpfSgpfSl9OwphdHQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBEPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPVtdLHY9KCk9PiJ3YXNtLnBzLmM6IFsiK2IubWFwKHg9PmAiJHt4fSJgKS5qb2luKCIsICIpKyJdIixrPU9kKFcpOwppZihrLm1vZClyZXR1cm4gay5tb2Q7aWYoay5tb2RQKXRyeXtyZXR1cm4geWllbGQqUFAoay5tb2RQKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBjbSIpfXZhciBoPWsuYmluO2lmKCFoJiZrLmJpblApdHJ5e2g9eWllbGQqUFAoay5iaW5QKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBmYiIpfWlmKCFoKXRyeXtoPXlpZWxkKlBQKFJnVShXKSl9Y2F0Y2goeCl7dGhyb3cgRC5OPSExLGIudW5zaGlmdChgZmI6ICR7eH1gKSx2KCk7fXRyeXtyZXR1cm4geWllbGQqUFAoV2ViQXNzZW1ibHkuY29tcGlsZShoKSl9Y2F0Y2goeCl7UFgoVyksYi51bnNoaWZ0KGBjYTogJHt4fWApfXRocm93IHYoKTt9KCl9KX07CmlvPWZ1bmN0aW9uKG4sVyxELGIpe0Q9bi5XVi5tZW1vcnkuY29weUluKEQpO3ZhciB2PW4uTjt2LldWLmV4cG9ydHMuQUVTMTI4Q1RSQ2lwaGVyX3NldENvdW50ZXIodi5jaXBoZXIsRC5ieXRlT2Zmc2V0KTtXPW4uV1YubWVtb3J5LmNvcHlJbihXKTtuLk4uZW5jcnlwdChXKTt2PXZvaWQgMDtpZihiKXtiPW4uV1Y7dj1uLko7bGV0IGs9Yi5tZW1vcnkuYnVmZmVyKGIubWVtb3J5Lm1hbGxvYygzMiksMzIpO2IuZXhwb3J0cy5TaGEyNTZIbWFjKHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgsRC5ieXRlT2Zmc2V0LEQuYnl0ZUxlbmd0aCxXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoLGsuYnl0ZU9mZnNldCk7dj1uLldWLm1lbW9yeS5tb3ZlT3V0KGspfW4uV1YubWVtb3J5LmZyZWUoRC5ieXRlT2Zmc2V0KTtyZXR1cm57RzQ6bi5XVi5tZW1vcnkubW92ZU91dChXKSxzaWduYXR1cmU6dn19OwpuWUM9ZnVuY3Rpb24obil7bi5FaC5leHBvcnRzLlRyYWNrZWRQb2ludGVyX3JlbGVhc2Uobi5pZCl9Owpvbj1mdW5jdGlvbihuKXtuLlh8fChuLlg9bmV3IHVvKG4uSikpO3JldHVybiBuLlh9OwpnLmQxPWZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gbHAobil9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKekw9ZnVuY3Rpb24obil7dmFyIFc9SG4oKTtpZihXLnZhbHVlcyl7Vz1XLnZhbHVlcztsZXQgaD17fTtmb3IodmFyIEQgb2YgT2JqZWN0LmtleXMobi52YWx1ZXMpKXtXW0RdJiZuLkpbRF0mJihuLnZhbHVlc1tEXSs9V1tEXS1uLkpbRF0pO3ZhciBiPW4sdj1iO2lmKCF2LnZhbHVlc1tEXSl7dmFyIGs9SG4oKTt2LnZhbHVlcz1rLnZhbHVlc3x8e307di5GWT1rLmhhbGZMaXZlc3x8e307di5KPWsudmFsdWVzP09iamVjdC5hc3NpZ24oe30say52YWx1ZXMpOnt9fWhbRF09Yi52YWx1ZXNbRF0mJmIuRllbRF0/Yi52YWx1ZXNbRF0vMioqKGIuTi9iLkZZW0RdKTowfW4uSj1ofUQ9bi5GWTtXPXt9O1cudmFsdWVzPW4uSjtXLmhhbGZMaXZlcz1EO2cuUEIoInl0LXBsYXllci1tZW1vcnkiLFcsMjU5MkUzKX07Clh2PWZ1bmN0aW9uKG4sVyl7cmV0dXJuISFXJiYhIW4uWnQoKS5OLlFRKFdJTSkmJihXLnN0YXJ0c1dpdGgoImciKXx8Vy5zdGFydHNXaXRoKCJsIikpfTsKZy5zZD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iTVdFQiJ9OwpUTD1mdW5jdGlvbihuKXtuLmdUPT09bnVsbCYmKG4uZ1Q9d2luZG93Lk1lZGlhU291cmNlJiZ3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkP3dpbmRvdy5NZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUnKTohMSk7cmV0dXJuIG4uZ1R9OwpqVD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9TSU1QTFlfRU1CRURERURfUExBWUVSIn07CmcubzQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uSiYmZy5DTihuKSYmIUJYKG4pJiYhbi5YfTsKQlg9ZnVuY3Rpb24obil7cmV0dXJuIG4uWT09PSJhZHVuaXQifHxuLnBsYXllclN0eWxlPT09Imd2biJ9OwpGVj1mdW5jdGlvbihuKXtyZXR1cm4gbi5ZPT09ImRldGFpbHBhZ2UifTsKZy53MT1mdW5jdGlvbihuKXtyZXR1cm4gdzgmJiFuLnhofHxnLnViKCJuaW50ZW5kbyB3aWl1Iik/ITA6ITF9OwpnLkNOPWZ1bmN0aW9uKG4pe3JldHVybiBuLlk9PT0iZW1iZWRkZWQifTsKZy5NVj1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX1JFTUlYIn07ClFNPWZ1bmN0aW9uKG4pe2lmKCFuLndlYlBsYXllckNvbnRleHRDb25maWc/LmVtYmVkc0hvc3RGbGFncz8uZW5hYmxlTGl0ZVV4fHxuLnZKfHxuLlh8fG4uRHx8bi5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiKXJldHVybiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX05PTkUiO249Zy5kTShuLmV4cGVyaW1lbnRzLCJlbWJlZHNfd2ViX2xpdGVfbW9kZSIpO3JldHVybiBuPT09dm9pZCAwPyJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04iOm4+PTAmJm48Um4ubGVuZ3RoP1JuW25dOiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04ifTsKY1g9ZnVuY3Rpb24obixXLEQ9ITEpe24uUyQ9Yk8obi5TJCxXLnZpZGVvX2lkKTtuLmZCPWJPKG4uZkIsVy5ldmVudGlkKTtuLmZCJiYod289bi5mQik7dmFyIGI9W107Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKFZNKSl7bGV0IGs9Vk1bdl0saD1XW2tdO2ghPW51bGwmJihoIT09bi5OW2tdJiZiLnB1c2goayksbi5OW2tdPWgpfSFEJiZiLmxlbmd0aD4wJiZuLm9NJiYoYi5zb3J0KCksZy5HcShuZXcgZy5ReCgiUGxheWVyIGNsaWVudCBwYXJhbWV0ZXJzIGNoYW5nZWQgYWZ0ZXIgc3RhcnR1cCIsYikpKTtuLnVzZXJBZ2U9REkobi51c2VyQWdlLFcudXNlcl9hZ2UpO24udXNlckRpc3BsYXlJbWFnZT1iTyhuLnVzZXJEaXNwbGF5SW1hZ2UsVy51c2VyX2Rpc3BsYXlfaW1hZ2UpO2cuakkobi51c2VyRGlzcGxheUltYWdlKXx8KG4udXNlckRpc3BsYXlJbWFnZT0iIik7bi51c2VyRGlzcGxheU5hbWU9Yk8obi51c2VyRGlzcGxheU5hbWUsVy51c2VyX2Rpc3BsYXlfbmFtZSk7bi55dz1iTyhuLnl3LApXLnVzZXJfZ2VuZGVyKTtuLmNzaVBhZ2VUeXBlPWJPKG4uY3NpUGFnZVR5cGUsVy5jc2lfcGFnZV90eXBlKTtuLmNzaVNlcnZpY2VOYW1lPWJPKG4uY3NpU2VydmljZU5hbWUsVy5jc2lfc2VydmljZV9uYW1lKTtuLmVWPW55KG4uZVYsVy5lbmFibGVjc2kpO24ucGFnZUlkPWJPKG4ucGFnZUlkLFcucGFnZWlkKTtpZihEPVcuZW5hYmxlZF9lbmdhZ2VfdHlwZXMpbi5lbmFibGVkRW5nYWdlVHlwZXM9bmV3IFNldChELnNwbGl0KCIsIikpO1cubGl2aW5nX3Jvb21fc2Vzc2lvbl9wb190b2tlbiYmKG4ualc9Vy5saXZpbmdfcm9vbV9zZXNzaW9uX3BvX3Rva2VuLnRvU3RyaW5nKCkpfTsKZy5hbj1mdW5jdGlvbihuKXtyZXR1cm4vd2ViL2kudGVzdChsbyhuKSl9Owpsbz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmN9OwpjOT1mdW5jdGlvbihuLFcpe3JldHVybiFuLlgmJm9LKCkmJkNfKDU1KSYmbi5jb250cm9sc1R5cGU9PT0iMyImJiFXfTsKV0U9ZnVuY3Rpb24obil7bj1nLm5FKG4uRGEpO3JldHVybiBuPT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSI/Ind3dy55b3V0dWJlLmNvbSI6bn07CmcuRGY9ZnVuY3Rpb24obil7cmV0dXJuIGxvKG4pPT09IldFQl9VTlBMVUdHRUQifTsKYmk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLnByb3RvY29sKyI6Ly9pMS55dGltZy5jb20vdmkvIitXKyIvIisoRHx8ImhxZGVmYXVsdC5qcGciKX07CnZFPWZ1bmN0aW9uKG4pe3JldHVybiBGVihuKSYmIWcuRGYobil9OwpnLms2PWZ1bmN0aW9uKG4pe3JldHVybi9eVFZIVE1MNS8udGVzdChsbyhuKSl9OwpodT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9DQVNUInx8bG8obik9PT0iVFZIVE1MNSImJihuLk4uY3Zlci5zdGFydHNXaXRoKCI2LjIwMTMwNzI1Iil8fG4uTi5jdmVyLnN0YXJ0c1dpdGgoIjYuMjAxMzA3MjYiKSl9OwpnLng2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1In07CkxFPWZ1bmN0aW9uKG4pe3JldHVybiBuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QgVUxUUkEvU1RFQUsifHxuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QvU1RFQUsifTsKZy5IXz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjF9OwpnLmVNPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKS50b1VwcGVyQ2FzZSgpPT09IldFQiJ9OwpnLlhDPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfS0lEUyJ9OwpnLnFGPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1X1VOUExVR0dFRCJ9OwpnLkdsPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRmKG4pfHxsbyhuKT09PSJUVl9VTlBMVUdHRURfQ0FTVCJ8fGcucUYobil9Owp0dT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX01VU0lDX0lOVEVHUkFUSU9OUyJ9OwpnLiQ2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfRU1CRURERURfUExBWUVSIn07Cmcubk49ZnVuY3Rpb24obil7cmV0dXJuKG4uZGV2aWNlSXNBdWRpb09ubHl8fCFnLm9kfHxnLk1MfHxuLmNvbnRyb2xzVHlwZT09PSIzIj8hMTpnLlFIP24uSiYmZy5aWCg1MSk6ITApfHwobi5kZXZpY2VJc0F1ZGlvT25seXx8IWcuYW98fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDQ4KTpnLlpYKDM4KSl8fChuLmRldmljZUlzQXVkaW9Pbmx5fHwhcmN8fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDM3KTpnLlpYKDI3KSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLnNtJiYhRm4oKSYmZy5aWCgxMSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLkduJiZnLlpYKCI2MDQuNCIpfHxuLldjKCl9OwpacVM9ZnVuY3Rpb24obil7aWYoZy5DTihuKSYmTkYpcmV0dXJuITE7aWYoZy5hbyl7aWYoIWcuWlgoNDcpfHwhZy5aWCg1MikmJmcuWlgoNTEpKXJldHVybiExfWVsc2UgaWYoZy5HbilyZXR1cm4hMTtyZXR1cm4gd2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dD8hMDohMX07CmcucEU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5lbmFibGVkRW5nYWdlVHlwZXMuaGFzKFcudG9TdHJpbmcoKSl8fER2aS5pbmNsdWRlcyhXKX07CnZZaj1mdW5jdGlvbihuKXt2YXIgVz1XRShuKTtiVmkuaW5jbHVkZXMoVykmJihXPSJ3d3cueW91dHViZS5jb20iKTtyZXR1cm4gbi5wcm90b2NvbCsiOi8vIitXfTsKZy5IRT1mdW5jdGlvbihuLFc9IiIpe2lmKG4uSFkpe2xldCBEPW5ldyBZNixiLHY9bi5IWSgpO3Yuc2lnbmVkT3V0P2I9IiI6di50b2tlbj9iPXYudG9rZW46di5wZW5kaW5nUmVzdWx0LnRoZW4oaz0+e3Yuc2lnbmVkT3V0P0QucmVzb2x2ZSgiIik6RC5yZXNvbHZlKGsudG9rZW4pfSxrPT57Zy5HcShuZXcgZy5ReCgiYjE4OTM0ODMyOF9vYXV0aF9jYWxsYmFja19mYWlsZWQiLHtlcnJvcjprfSkpOwpELnJlc29sdmUoVyl9KTsKcmV0dXJuIGIhPT12b2lkIDA/Zy5IMChiKTpuZXcgTlgoRCl9cmV0dXJuIGcuSDAoVyl9OwpmRT1mdW5jdGlvbihuLFc9IiIpe3JldHVybiBuLllyP0hQKCEwKTpLbChTayhIUChnLkhFKG4sVykpLEQ9PkhQKCEhRCkpLCgpPT5IUCghMSkpfTsKSnU9ZnVuY3Rpb24obixXKXtpZihuLldWPVcpbi5QWD8uTj8uVihXKSxXLmlzQXNtanM/bi5reS5wdXNoKCJhc21qcyIpOm4ua3kucHVzaCgid2FzbSIpfTsKZy5uRT1mdW5jdGlvbihuKXt2YXIgVz1nLklQKG4pO3JldHVybihuPU51bWJlcihnLmZwKG4pWzRdfHxudWxsKXx8bnVsbCk/YCR7V306JHtufWA6V307ClNNPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9WWdbbl0sYj1JQVtEXSx2PWtIcltuXTtpZighdnx8IWIpcmV0dXJuIG51bGw7Vz1uZXcgSFIoVz92LmhlaWdodDp2LndpZHRoLFc/di53aWR0aDp2LmhlaWdodCx2LmZwcyk7Yj1wNihiLFcsRCk7cmV0dXJuIG5ldyBtdShuLGIse3ZpZGVvOlcsTnM6di5iaXRyYXRlLzh9KX07CkF1PWZ1bmN0aW9uKG4pe3ZhciBXPUlBW1lnW25dXSxEPWhFU1tuXTtyZXR1cm4gRCYmVz9uZXcgbXUobixXLHthdWRpbzpuZXcgQU0oRC5hdWRpb1NhbXBsZVJhdGUsRC5udW1DaGFubmVscyl9KTpudWxsfTsKVlA9ZnVuY3Rpb24obixXLEQsYil7aWYoRClyZXR1cm4gZy5wJCgpO0Q9e307dmFyIHY9aTgoKTtmb3IobGV0IGsgb2YgVylpZihuLmNhblBsYXlUeXBlKHYsay5rTCgpLm1pbWVUeXBlKXx8YilpZihXPWsuTi52aWRlby5xdWFsaXR5LCFEW1ddfHxEW1ddLmtMKCkucUgoKSlEW1ddPWs7bj1bXTtELmF1dG8mJm4ucHVzaChELmF1dG8pO2ZvcihsZXQgayBvZiBwTSkoYj1EW2tdKSYmbi5wdXNoKGIpO3JldHVybiBuLmxlbmd0aD9nLkgwKG4pOmcucCQoKX07CktFPWZ1bmN0aW9uKG4sVz0hMSxEPSEwLGI9e30pe3ZhciB2PXt9O2ZvcihsZXQgaCBvZiBuKXtpZihXJiZNZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiYobj1oLnR5cGUsaC5hdWRpb19jaGFubmVscyYmKG49bisiOyBjaGFubmVscz0iK2guYXVkaW9fY2hhbm5lbHMpLCFNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobikpKXtiW2guaXRhZ109InRwdXMiO2NvbnRpbnVlfWlmKCFEJiZoLmRybV9mYW1pbGllcyYmKGguZW90Zj09PSJzbXB0ZTIwODQifHxoLmVvdGY9PT0iYXJpYi1zdGQtYjY3Iikpe2JbaC5pdGFnXT0iZW5jaGRyIjtjb250aW51ZX1uPXZvaWQgMDtsZXQgeD17YnQ3MDk6IlNEUiIsYnQyMDIwOiJTRFIiLHNtcHRlMjA4NDoiUFEiLCJhcmliLXN0ZC1iNjciOiJITEcifTt2YXIgaz1oLnR5cGUubWF0Y2goL2NvZGVjcz0iKFteIl0qKSIvKTtrPWs/a1sxXToiIjtoLmF1ZGlvX3RyYWNrX2lkJiYobj1uZXcgd1AoaC5uYW1lLGguYXVkaW9fdHJhY2tfaWQsCiEhaC5pc19kZWZhdWx0KSk7bGV0IEw9aC5lb3RmO249bmV3IG04KHtpdGFnOmguaXRhZyx1cmw6aC51cmwsY29kZWNzOmssd2lkdGg6TnVtYmVyKGgud2lkdGgpLGhlaWdodDpOdW1iZXIoaC5oZWlnaHQpLGZwczpOdW1iZXIoaC5mcHMpLGJpdHJhdGU6TnVtYmVyKGguYml0cmF0ZSksYXVkaW9JdGFnOmguYXVkaW9faXRhZyxVaDpMP3hbTF06dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOmguZHJtX2ZhbWlsaWVzLGtaOm4sYXVkaW9DaGFubmVsczpOdW1iZXIoaC5hdWRpb19jaGFubmVscyl9KTt2W24uaXRhZ109dltuLml0YWddfHxbXTt2W24uaXRhZ10ucHVzaChuKX1yZXR1cm4gdn07CnZhciB4dlU9ZnVuY3Rpb24obixXKXtyZXR1cm4gZ1pbSVsxMF1dKHRoaXMsMSw3ODUyLG4sVyl9OwpMSUM9ZnVuY3Rpb24obixXKXtuLlcuc29tZShEPT5ELmtaPy5nZXRJZCgpPT09Vyk7Cm4uTj1XfTsKZUVpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9W107Zm9yKGxldCBiIG9mIG4uSiliLmJpdHJhdGU8PW4uWD9XLnB1c2goYik6RC5wdXNoKGIpO1cuc29ydCgoYix2KT0+di5iaXRyYXRlLWIuYml0cmF0ZSk7CkQuc29ydCgoYix2KT0+Yi5iaXRyYXRlLXYuYml0cmF0ZSk7Cm4uSj1XLmNvbmNhdChEKX07Ck9tPWZ1bmN0aW9uKG4sVyxEKXtuLmNwbiYmKFc9Zy5FVChXLHtjcG46bi5jcG59KSk7RCYmKFc9Zy5FVChXLHt2WjpEfSkpO3JldHVybiBXfTsKUEU9ZnVuY3Rpb24obixXKXtuPW4uaXRhZy50b1N0cmluZygpO1chPT1udWxsJiYobis9Vy5pdGFnLnRvU3RyaW5nKCkpO3JldHVybiBufTsKZ1laPWZ1bmN0aW9uKG4sVyl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gbnVsbDtuPUtFKFcsbi5TKCJodG1sNV9maWx0ZXJfZm1wNF9pbl9obHMiKSk7aWYoIW4pcmV0dXJuIG51bGw7Vz1bXTt2YXIgRD17fTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobikpZm9yKGxldCB2IG9mIG5bYl0paWYodi5rWil7bGV0IGs9di5rWi5nZXRJZCgpO2lmKCFEW2tdKXtsZXQgaD1uZXcgV0Eoayx2LmtaKTtEW2tdPWg7Vy5wdXNoKGgpfX1yZXR1cm4gVy5sZW5ndGg+MD9XOm51bGx9Owp0bU09ZnVuY3Rpb24obixXLEQsYix2LGssaCl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gZy5wJCgpO3ZhciB4PXt9LEw9WDNTKEQpLGU9S0UoRCxuLlMoImh0bWw1X2ZpbHRlcl9mbXA0X2luX2hscyIpLG4uVy5LLHgpO2lmKCFlKXJldHVybiBoKHtub3Bsc3Q6MX0pLGcucCQoKTtxbGgoZSk7dmFyIEc9e2ZhaXJwbGF5OiJodHRwczovL3lvdXR1YmUuY29tL2FwaS9kcm0vZnBzP2VrPXVuaW5pdGlhbGl6ZWQifSxyO0Q9W107dmFyIE49W10sSD1bXSxBPW51bGwseT0iIjtiPWImJmIubWF0Y2goL2hsc190aW1lZHRleHRfcGxheWxpc3QvKT9uZXcgbTgoe2l0YWc6IjAiLHVybDpiLGNvZGVjczoidnR0Iix3aWR0aDowLGhlaWdodDowLGZwczowLGJpdHJhdGU6MCxrWjpuZXcgd1AoIkVuZ2xpc2giLCJlbiIsITEpfSk6bnVsbDtmb3IobGV0IFEgb2YgT2JqZWN0LmtleXMoZSkpaWYoIW4uUygiaHRtbDVfZGlzYWJsZV9kcm1faGZyXzEwODAiKXx8USE9PSIzODMiJiZRIT09IjM3MyIpZm9yKGxldCBWIG9mIGVbUV0paWYoVi53aWR0aCl7Zm9yKGxldCBIWiBvZiBWLkopaWYoZVtIWl0pe1YuTj0KSFo7YnJlYWt9Vi5OfHwoVi5OPUdIdChlLFYpKTtsZXQgTHQ9ZVtWLk5dO2lmKCFMdCljb250aW51ZTtELnB1c2goVik7Vi5jb250ZW50UHJvdGVjdGlvbj09PSJmYWlycGxheSImJihyPUcpO2xldCB0aT0iIjtWLlVoPT09IlBRIj90aT0ic21wdGUyMDg0IjpWLlVoPT09IkhMRyImJih0aT0iYXJpYi1zdGQtYjY3Iik7dGkmJih5PXRpKTtILnB1c2goWmYoTHQsW1ZdLGIsayxWLml0YWcsVi53aWR0aCxWLmhlaWdodCxWLmZwcyxMLHZvaWQgMCx2b2lkIDAscix0aSkpO2lmKCFBfHxWLndpZHRoKlYuaGVpZ2h0KlYuZnBzPkEud2lkdGgqQS5oZWlnaHQqQS5mcHMpQT1WfWVsc2UgTi5wdXNoKFYpO2Vsc2UgeFtRXT0iZGlzZHJtaGZyIjtILnJlZHVjZSgoUSxWKT0+Vi5rTCgpLmlzRW5jcnlwdGVkKCkmJlEsITApJiYocj1HKTsKdj1NYXRoLm1heCh2LDApO3ZhciB7ZnBzOlQ9MCx3aWR0aDp6PTAsaGVpZ2h0OkM9MH09QXx8e307QT1uLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKTtILnB1c2goWmYoTixELGIsaywiOTMiLHosQyxULEwsImF1dG8iLHYscix5LEEpKTtPYmplY3QuZW50cmllcyh4KS5sZW5ndGgmJmgoeCk7cmV0dXJuIFZQKG4uVyxILGM5KG4sVyksITEpfTsKWmY9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSxHLHIsTixIKXt2YXIgQT0wLHk9IiI7Zm9yKGxldCBUIG9mIG4peXx8KHk9VC5pdGFnKSxULmF1ZGlvQ2hhbm5lbHMmJlQuYXVkaW9DaGFubmVscz5BJiYoQT1ULmF1ZGlvQ2hhbm5lbHMseT1ULml0YWcpO3Y9bmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2F1ZGlvOm5ldyBBTSgwLEEpLHZpZGVvOm5ldyBIUihrLGgseCxudWxsLHZvaWQgMCxlLHZvaWQgMCx2b2lkIDAsTiksY29udGVudFByb3RlY3Rpb246cixBYTp5fSk7bj1uZXcgJHYxKG4sVyxEP1tEXTpbXSxiLCEhSCk7bi5YPUc/RzoxMzY5ODQzO3JldHVybiBuZXcgVW0odixuLEwpfTsKWDNTPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuKWlmKFcudXJsJiYobj1XLnVybC5zcGxpdCgiZXhwaXJlLyIpLCEobi5sZW5ndGg8PTEpKSlyZXR1cm4rblsxXS5zcGxpdCgiLyIpWzBdO3JldHVybiBOYU59OwpHSHQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgT2JqZWN0LmtleXMobikpe2xldCBiPW5bRF1bMF07aWYoIWIud2lkdGgmJmIuY29udGVudFByb3RlY3Rpb249PT1XLmNvbnRlbnRQcm90ZWN0aW9uJiYhYi5hdWRpb0NoYW5uZWxzKXJldHVybiBEfXJldHVybiIifTsKcWxoPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBTZXQ7Zm9yKHZhciBEIG9mIE9iamVjdC52YWx1ZXMobikpaWYoRC5sZW5ndGgpe3ZhciBiPURbMF07Yi5oZWlnaHQmJmIuY29kZWNzLnN0YXJ0c1dpdGgoInZwMDkiKSYmVy5hZGQoYi5oZWlnaHQpfUQ9W107aWYoVy5zaXplKWZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhuKSluW3ZdLmxlbmd0aCYmKGI9blt2XVswXSxiLmhlaWdodCYmVy5oYXMoYi5oZWlnaHQpJiYhYi5jb2RlY3Muc3RhcnRzV2l0aCgidnAwOSIpJiZELnB1c2godikpO2ZvcihsZXQgdiBvZiBEKWRlbGV0ZSBuW3ZdfTsKcnFaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHYgb2YgRCl7aWYoIXZ8fCF2LnVybCljb250aW51ZTtEPVFQKHYudHlwZSwibWVkaXVtIiwiMCIpO2IucHVzaChuZXcgeW4oRCx2LnVybCkpfXJldHVybiBWUChuLlcsYixjOShuLFcpLCExKX07CnNpcj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdLGI9UVAoVy50eXBlLCJhdXRvIixXLml0YWcpO0QucHVzaChuZXcgeW4oYixXLnVybCkpO3JldHVybiBWUChuLlcsRCwhMSwhMCl9OwppaT1mdW5jdGlvbihuKXtyZXR1cm4gbiYmRW1bbl0/RW1bbl06bnVsbH07CnVpPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJtdWx0aXZpZXcudXN0cmVhbWVyX2Rpc2FibGVkIjpjYXNlICJzYWJyLmludmFsaWRfaW5wdXRfc3RyZWFtIjpjYXNlICJzYWJyLmxpdmVfbm9fbWF4X3NxIjpjYXNlICJzYWJyLmxpdmVfdW5hdXRob3JpemVkX3JlcXVlc3QiOmNhc2UgInNhYnIubWFsZm9ybWVkX2NvbmZpZyI6Y2FzZSAic2Fici5tZWRpYV9zZXJ2aW5nX2VuZm9yY2VtZW50X2lkX2Vycm9yIjpjYXNlICJzYWJyLm1ldGFkYXRhX2ZldGNoZXJfZXJyb3IiOmNhc2UgInNhYnIubm9fYXVkaW9fc2VsZWN0ZWQiOmNhc2UgInNhYnIubm9fYXZhaWxhYmxlX2Zvcm1hdHMiOmNhc2UgInNhYnIubm9fcmVkaXJlY3RfdXJsIjpjYXNlICJzYWJyLm5vX3ZpZGVvX3NlbGVjdGVkIjpjYXNlICJzYWJyLm90Zl9ub3Rfc3VwcG9ydGVkIjpjYXNlICJzYWJyLnRvb19tYW55X2NodW5rX3JlYWRlcl9lcnJvcl9yZXRyaWVzIjpyZXR1cm4gbjtkZWZhdWx0OnJldHVybiJzYWJyLmNvbmZpZyJ9fTsKb0E9ZnVuY3Rpb24obixXKXtpZihXPVc/LndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRPbmVzaWVDb25maWc/Lmh0bWw1UGxheWJhY2tPbmVzaWVDb25maWcpbi5RYT1uZXcgTiR3KFcpfTsKVGw9ZnVuY3Rpb24obixXLEQsYil7bnx8KG49VyYmZGMuaGFzT3duUHJvcGVydHkoVykmJnpsLmhhc093blByb3BlcnR5KFcpP3psW1ddKyJfIitkY1tXXTp2b2lkIDApO1c9bjtpZighVylyZXR1cm4gbnVsbDtuPVcubWF0Y2gobGkpO2lmKCFufHxuLmxlbmd0aCE9PTUpcmV0dXJuIG51bGw7e2xldCBrPVcubWF0Y2gobGkpO2lmKGspe249TnVtYmVyKGtbM10pO3ZhciB2PVs3LDgsMTAsNSw2XTtuPSEoTnVtYmVyKGtbMV0pPT09MSYmbj09PTgpJiZ2LmluZGV4T2Yobik+PTB9ZWxzZSBuPSExfXJldHVybiBEfHxifHxuP1c6bnVsbH07CkNFPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKGpNKSl7dmFyIGI9Vz9XK3Y6djtiPW5bYisiX3dlYnAiXXx8bltiXTtnLmpJKGIpJiYoRFtqTVt2XV09Yil9cmV0dXJuIER9Owp3Yz1mdW5jdGlvbihuKXt2YXIgVz17fTtpZighbnx8IW4udGh1bWJuYWlscylyZXR1cm4gVztuPW4udGh1bWJuYWlscy5maWx0ZXIodj0+ISF2LnVybCk7Cm4uc29ydCgodixrKT0+di53aWR0aC1rLndpZHRofHx2LmhlaWdodC1rLmhlaWdodCk7CmZvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhCRSkpe3ZhciBiPU51bWJlcihEKTtsZXQgdj1CRVtiXTtmb3IobGV0IGsgb2YgbilpZihrLndpZHRoPj1iKXtiPUZDKGsudXJsKTtnLmpJKGIpJiYoV1t2XT1iKTticmVha319KEQ9bi5wb3AoKSkmJkQud2lkdGg+PTEyODAmJihEPUZDKEQudXJsKSxnLmpJKEQpJiYoV1sibWF4cmVzZGVmYXVsdC5qcGciXT1EKSk7cmV0dXJuIFd9OwpGQz1mdW5jdGlvbihuKXtyZXR1cm4gbi5zdGFydHNXaXRoKCIvLyIpPyJodHRwczoiK246bn07Ck1GPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLmJhc2VVcmx8fCIifTsKUkE9ZnVuY3Rpb24obil7bj1nLm9FKG4pO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSl7bGV0IEQ9bltXXTtuW1ddPUFycmF5LmlzQXJyYXkoRCk/RFswXTpEfXJldHVybiBufTsKWWx3PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEIG9mIFcpaWYoVz1ELnBsYXllckFubm90YXRpb25zVXJsc1JlbmRlcmVyKXtXLmFkc09ubHkmJihuLlJtPSEwKTtpZihEPVcubG9hZFBvbGljeSluLmFubm90YXRpb25zTG9hZFBvbGljeT1wM01bRF07aWYoRD1XLmludmlkZW9Vcmwpbi5lYT1GTihEKTtuLnk1PSEwO2JyZWFrfX07ClFuPWZ1bmN0aW9uKG4sVyl7bi5ib3RndWFyZERhdGE9Vy5wbGF5ZXJBdHRlc3RhdGlvblJlbmRlcmVyLmJvdGd1YXJkRGF0YTtXPVcucGxheWVyQXR0ZXN0YXRpb25SZW5kZXJlci5jaGFsbGVuZ2U7VyE9bnVsbCYmKG4ucEs9Vyl9OwpIVng9ZnVuY3Rpb24obixXKXtuLmNhcHRpb25UcmFja3M9W107aWYoVy5jYXB0aW9uVHJhY2tzKWZvcih2YXIgRCBvZiBXLmNhcHRpb25UcmFja3Mpe3ZhciBiPVZuKEQuYmFzZVVybCk7aWYoIWIpcmV0dXJuO2I9e2lzX3RyYW5zbGF0ZWFibGU6ISFELmlzVHJhbnNsYXRhYmxlLGxhbmd1YWdlQ29kZTpELmxhbmd1YWdlQ29kZSxsYW5ndWFnZU5hbWU6RC5uYW1lJiZnLkRwKEQubmFtZSksdXJsOmIsdnNzX2lkOkQudnNzSWQsa2luZDpELmtpbmR9O2IubmFtZT1ELnRyYWNrTmFtZTtiLmRpc3BsYXlOYW1lPUQubmFtZSYmZy5EcChELm5hbWUpO24uY2FwdGlvblRyYWNrcy5wdXNoKG5ldyBnLlF3KGIpKX1uLlR3PVcuYXVkaW9UcmFja3N8fFtdO24uTyQ9Vy5kZWZhdWx0QXVkaW9UcmFja0luZGV4fHwwO24ucnA9W107aWYoVy50cmFuc2xhdGlvbkxhbmd1YWdlcylmb3IobGV0IHYgb2YgVy50cmFuc2xhdGlvbkxhbmd1YWdlcyl7RD17fTtELmxhbmd1YWdlQ29kZT12Lmxhbmd1YWdlQ29kZTsKRC5sYW5ndWFnZU5hbWU9Zy5EcCh2Lmxhbmd1YWdlTmFtZSk7aWYodi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyl7RC50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcz1bXTtmb3IobGV0IGsgb2Ygdi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcylELnRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzLnB1c2goayl9aWYodi5leGNsdWRlQXVkaW9UcmFja0luZGljZXMpe0QuZXhjbHVkZUF1ZGlvVHJhY2tJbmRpY2VzPVtdO2ZvcihsZXQgayBvZiB2LmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcylELmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcy5wdXNoKGspfW4ucnAucHVzaChEKX1uLmc1PVtdO2lmKFcuZGVmYXVsdFRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzKWZvcihsZXQgdiBvZiBXLmRlZmF1bHRUcmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyluLmc1LnB1c2godil9Owpmb2k9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcuZXJyb3JTY3JlZW47aWYoIShiJiYoYi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcnx8Yi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyfHxiLnlwY1RyYWlsZXJSZW5kZXJlcil8fEQmJkQuaXNVcGNvbWluZ3x8WyJPSyIsIkxJVkVfU1RSRUFNX09GRkxJTkUiLCJGVUxMU0NSRUVOX09OTFkiXS5pbmNsdWRlcyhXLnN0YXR1cykpKXtuLmVycm9yQ29kZT1paShXLmVycm9yQ29kZSl8fCJhdXRoIjtpZihEPWImJmIucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIpe24ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI9RDtsZXQgdj1ELnJlYXNvbjt2JiYobi5lcnJvclJlYXNvbj1nLkRwKHYpKTtpZihEPUQuc3VicmVhc29uKW4ud2k9Zy5EcChEKSxuLlRZPUR9ZWxzZSBuLmVycm9yUmVhc29uPVcucmVhc29ufHxudWxsO0Q9Vy5zdGF0dXM7RD09PSJMT0dJTl9SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0KIjEiOkQ9PT0iQ09OVEVOVF9DSEVDS19SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0iMiI6RD09PSJBR0VfQ0hFQ0tfUkVRVUlSRUQiPyhXPShXPVcuZXJyb3JTY3JlZW4pJiZXLnBsYXllckthdlJlbmRlcmVyLG4uZXJyb3JEZXRhaWw9VyYmVy5rYXZVcmw/IjQiOiIzIik6KGI9Yj8ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI/LnByb2NlZWRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5jb21tYW5kLG4uZXJyb3JEZXRhaWw9Vy5pc0Jsb2NrZWRJblJlc3RyaWN0ZWRNb2RlPyI1IjpnLncoYixnLmNFKT8uc2lnbmFsPT09IlJFTE9BRF9QQUdFIj8iNyI6IjAiKX19OwpKcVo9ZnVuY3Rpb24obixXKXtuLllpPSEwO3ZhciBEPVcuaGVhcnRiZWF0VG9rZW47bi5kcm1TZXNzaW9uSWQ9Vy5kcm1TZXNzaW9uSWR8fCIiO24uaGVhcnRiZWF0VG9rZW49RHx8IiI7bi5zRT1OdW1iZXIoVy5pbnRlcnZhbE1pbGxpc2Vjb25kcyk7bi5sND1OdW1iZXIoVy5tYXhSZXRyaWVzKTtuLkg2PSEhVy5zb2Z0RmFpbE9uRXJyb3I7bi5EZD0hIVcudXNlSW5uZXJ0dWJlSGVhcnRiZWF0c0ZvckRybTtuLmhlYXJ0YmVhdFNlcnZlckRhdGE9Vy5oZWFydGJlYXRTZXJ2ZXJEYXRhO24uUE09ISFXLmhlYXJ0YmVhdEF0dGVzdGF0aW9uQ29uZmlnPy5yZXF1aXJlc0F0dGVzdGF0aW9ufTsKQXExPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9RC5pbnRlcnN0aXRpYWxzLm1hcChiPT57dmFyIHY9Zy53KGIsSW9iKTtpZih2KXJldHVybntpc195dG9faW50ZXJzdGl0aWFsOiEwLHJhd19wbGF5ZXJfcmVzcG9uc2U6dn07aWYoYj1nLncoYixTbE0pKXJldHVybiBPYmplY3QuYXNzaWduKHtpc195dG9faW50ZXJzdGl0aWFsOiEwfSxnLml3KGIpKX0pOwpmb3IobGV0IGIgb2YgVylzd2l0Y2goRC5wb2RDb25maWcucGxheWJhY2tQbGFjZW1lbnQpe2Nhc2UgIklOVEVSU1RJVElBTF9QTEFZQkFDS19QTEFDRU1FTlRfUFJFIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZTowLHBsYXllclZhcnM6YixrcTo1fSk7YnJlYWs7Y2FzZSAiSU5URVJTVElUSUFMX1BMQVlCQUNLX1BMQUNFTUVOVF9QT1NUIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZToweDdmZmZmZmZmZmZmZmYscGxheWVyVmFyczpiLGtxOjZ9KTticmVhaztjYXNlICJJTlRFUlNUSVRJQUxfUExBWUJBQ0tfUExBQ0VNRU5UX0lOU0VSVF9BVF9WSURFT19USU1FIjpXPU51bWJlcihELnBvZENvbmZpZy50aW1lVG9JbnNlcnRBdE1pbGxpcyksbi5pbnRlcnN0aXRpYWxzPW4uaW50ZXJzdGl0aWFscy5jb25jYXQoe3RpbWU6VyxwbGF5ZXJWYXJzOmIsa3E6Vz09PTA/NTo3fSl9fX07Cm12aj1mdW5jdGlvbihuLFcpe2lmKFc9Vy5maW5kKEQ9PiEoIUR8fCFELnRvb2x0aXBSZW5kZXJlcikpKW4udG9vbHRpcFJlbmRlcmVyPVcudG9vbHRpcFJlbmRlcmVyfTsKYUE9ZnVuY3Rpb24obixXKXtXLnN1YnNjcmliZUNvbW1hbmQmJihuLnN1YnNjcmliZUNvbW1hbmQ9Vy5zdWJzY3JpYmVDb21tYW5kKTtXLnVuc3Vic2NyaWJlQ29tbWFuZCYmKG4udW5zdWJzY3JpYmVDb21tYW5kPVcudW5zdWJzY3JpYmVDb21tYW5kKTtXLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQmJihuLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQ9Vy5hZGRUb1dhdGNoTGF0ZXJDb21tYW5kKTtXLnJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZCYmKG4ucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kPVcucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kKTtXLmdldFNoYXJlUGFuZWxDb21tYW5kJiYobi5nZXRTaGFyZVBhbmVsQ29tbWFuZD1XLmdldFNoYXJlUGFuZWxDb21tYW5kKX07Cm5MPWZ1bmN0aW9uKG4sVyl7VyE9bnVsbD8obi5yUj1XLG4uaU49ITApOihuLnJSPSIiLG4uaU49ITEpfTsKUG4xPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKW5MKG4sVy5jb250cm9sQmdIdG1sKSxXLm11dGVkQXV0b3BsYXk/KFc9Zy53KFcubXV0ZWRBdXRvcGxheSxLSTEpKSYmVy5lbmRTY3JlZW4mJihXPWcudyhXLmVuZFNjcmVlbixPVngpKSYmVy50ZXh0JiYobi5NVj1nLkRwKFcudGV4dCkpOm4ubXV0ZWRBdXRvcGxheT0hMX07ClpWaT1mdW5jdGlvbihuLFcpe3ZhciBEPVcuYmFja2dyb3VuZGFiaWxpdHk7RCYmRC5iYWNrZ3JvdW5kYWJpbGl0eVJlbmRlcmVyLmJhY2tncm91bmRhYmxlJiYobi5iYWNrZ3JvdW5kYWJsZT0hMCk7Vy5vZmZsaW5lYWJpbGl0eT8ub2ZmbGluZWFiaWxpdHlSZW5kZXJlcj8ub2ZmbGluZWFibGUmJihuLm9mZmxpbmVhYmxlPSEwKTtpZihEPVcuY29udGV4dFBhcmFtcyluLmNvbnRleHRQYXJhbXM9RDsoRD1XLnBpY3R1cmVJblBpY3R1cmUpJiZELnBpY3R1cmVJblBpY3R1cmVSZW5kZXJlci5wbGF5YWJsZUluUGlwJiYobi5waXBhYmxlPSEwKTtXLnBsYXlhYmxlSW5FbWJlZCYmKG4uYWxsb3dFbWJlZD0hMCk7aWYoRD1XLnlwY0NsaWNrd3JhcClXPUQucGxheWVyTGVnYWN5RGVza3RvcFlwY0NsaWNrd3JhcFJlbmRlcmVyLEQ9RC55cGNSZW50YWxBY3RpdmF0aW9uUmVuZGVyZXIsVz8obi5Jaz1XLmR1cmF0aW9uTWVzc2FnZXx8IiIsbi5EbD0hMCk6RCYmKFc9RC5kdXJhdGlvbk1lc3NhZ2UsCm4uSWs9Vz9nLkRwKFcpOiIiLG4uRGw9ITApfTsKeXExPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1NRihXLmdvb2dsZVJlbWFya2V0aW5nVXJsKTtiJiYobi5nb29nbGVSZW1hcmtldGluZ1VybD1iKTtpZihiPU1GKFcueW91dHViZVJlbWFya2V0aW5nVXJsKSluLnlvdXR1YmVSZW1hcmtldGluZ1VybD1iO2lmKGI9Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW4pbi5oZWFydGJlYXRMb2dnaW5nVG9rZW49YjtiPXt9O3ZhciB2PU1GKFcucHRyYWNraW5nVXJsKTtpZih2KXt2PVJBKHYpO3ZhciBrPXYub2lkO2smJihuLlhvPWspO2lmKGs9di5wbHR5cGUpbi5xOD1rO2lmKGs9di5wdGNobiluLmgxPWs7aWYoaz12LnB0ayluLnh6PWVuY29kZVVSSUNvbXBvbmVudChrKTtpZih2PXYubSluLnk5PXZ9aWYodj1NRihXLnFvZVVybCkpe3Y9Zy5vRSh2KTtmb3IoaCBvZiBPYmplY3Qua2V5cyh2KSlrPXZbaF0sdltoXT1BcnJheS5pc0FycmF5KGspP2suam9pbigiLCIpOms7dmFyIGg9djtuLnpiPWg7aWYodj1oLmNhdCluLlMoImh0bWw1X2VuYWJsZV9xb2VfY2F0X2xpc3QiKT8Kbi5rSz1uLmtLLmNvbmNhdCh2LnNwbGl0KCIsIikpOm4ua3k9djtpZih2PWgubGl2ZSluLnVoPXY7aWYoaD1oLmRybV9wcm9kdWN0KW4uZHJtUHJvZHVjdD1ofWlmKGg9TUYoVy52aWRlb3N0YXRzUGxheWJhY2tVcmwpKXtoPVJBKGgpO2lmKHY9aC5hZGZvcm1hdClpZihELmFkZm9ybWF0PXYsaz1uLkcoKSxrPVRsKHYsbi5GdyxrLkosay5LKSluLmFkRm9ybWF0PWs7aWYoaz1oLmFxaSlELmFkX3F1ZXJ5X2lkPWs7aWYoRD1oLmF1dG9wbGF5KW4uR3U9RD09IjEiLG4uVlQ9RD09IjEiO2lmKEQ9aC5hdXRvbmF2KW4uaXNBdXRvbmF2PUQ9PSIxIjtpZihEPWguZGVsYXkpbi5vRD1nLk5oKEQpO2lmKEQ9aC5laSluLmV2ZW50SWQ9RDtpZihEPWcuZDEoaC5hZGNvbnRleHQpKXRyeXt2YXIgeD1VdjIoRCk7eCYmKG4uZk49eCl9Y2F0Y2goTCl7Zy5HcShFcnJvcigiTWFsZm9ybWVkIGFkQ29udGV4dCIpKX1pZihEfHx2KW4uR3U9ITA7aWYoeD1oLmZlYXR1cmUpbi5TOT14O2lmKHg9aC5saXN0KW4ucGxheWxpc3RJZD0KeDtpZih4PWgub2Ypbi5SSD14O2lmKHg9aC5vc2lkKW4ub3NpZD14O2lmKHg9aC5yZWZlcnJlciluLnJlZmVycmVyPXg7aWYoeD1oLnNkZXRhaWwpbi53dT14O2lmKHg9aC5zb3VyY2VpZCluLmJJPXg7aWYoeD1oLnNzcnQpbi5BUj14PT0iMSI7aWYoeD1oLnN1YnNjcmliZWQpbi5zdWJzY3JpYmVkPXg9PSIxIjtpZih4PWgudWdhKW4udXNlckdlbmRlckFnZT14O2lmKHg9aC51cHQpbi5IcT14O2lmKHg9aC52bSluLnZpZGVvTWV0YWRhdGE9eDtiLnBsYXliYWNrPWh9aWYoeD1NRihXLnZpZGVvc3RhdHNXYXRjaHRpbWVVcmwpKXt4PVJBKHgpO2lmKEQ9eC5hbGQpbi5GTD1EO2Iud2F0Y2h0aW1lPXh9aWYoeD1NRihXLmF0clVybCkpeD1SQSh4KSxiLmF0cj14O2lmKHg9TUYoVy5lbmdhZ2VVcmwpKXg9UkEoeCksYi5lbmdhZ2U9eDtuLlhUPWI7Vy5wcm9tb3RlZFBsYXliYWNrVHJhY2tpbmcmJihiPVcucHJvbW90ZWRQbGF5YmFja1RyYWNraW5nLGIuc3RhcnRVcmxzJiYobi5Gcj1iLnN0YXJ0VXJscyksCmIuZmlyc3RRdWFydGlsZVVybHMmJihuLndOPWIuZmlyc3RRdWFydGlsZVVybHMpLGIuc2Vjb25kUXVhcnRpbGVVcmxzJiYobi5DdD1iLnNlY29uZFF1YXJ0aWxlVXJscyksYi50aGlyZFF1YXJ0aWxlVXJscyYmKG4ub0g9Yi50aGlyZFF1YXJ0aWxlVXJscyksYi5jb21wbGV0ZVVybHMmJihuLkF0PWIuY29tcGxldGVVcmxzKSxiLmVuZ2FnZWRWaWV3VXJscyYmKGIuZW5nYWdlZFZpZXdVcmxzLmxlbmd0aD4xJiZnLkdxKG5ldyBnLlF4KCJUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBlbmdhZ2VkX3ZpZXdfdXJscy4iKSksbi5EeD1iLmVuZ2FnZWRWaWV3VXJsc1swXSkpO1cuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKG4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1XLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpO1cudnNzM0NvbmZpZz8uc2VyaWFsaXplZFdhdGNoVGltZUNvbnRleHREYXRhJiYobi5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGE9ClcudnNzM0NvbmZpZy5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGEpfTsKRVkxPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVylpZihiJiYoVz1iLnBsYXllckxlZ2FjeURlc2t0b3BXYXRjaEFkc1JlbmRlcmVyKSYmKFc9Vy5wbGF5ZXJBZFBhcmFtcykpe1cuYXV0b3BsYXk9PSIxIiYmKG4uR3U9ITAsbi5WVD0hMCk7bi5Jbz1XLmVuY29kZWRBZFNhZmV0eVJlYXNvbnx8bnVsbDtXLnNob3dDb250ZW50VGh1bWJuYWlsIT09dm9pZCAwJiYobi5xMj0hIVcuc2hvd0NvbnRlbnRUaHVtYm5haWwpO0QuZW5hYmxlZF9lbmdhZ2VfdHlwZXM9Vy5lbmFibGVkRW5nYWdlVHlwZXM7YnJlYWt9fTsKaVYyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5tYW5pZmVzdGxlc3NXaW5kb3dlZExpdmVDb25maWc7aWYoRCl7dmFyIGI9TnVtYmVyKEQubWluRHZyU2VxdWVuY2UpLHY9TnVtYmVyKEQubWF4RHZyU2VxdWVuY2UpLGs9TnVtYmVyKEQubWluRHZyTWVkaWFUaW1lTXMpLGg9TnVtYmVyKEQubWF4RHZyTWVkaWFUaW1lTXMpO0Q9TnVtYmVyKEQuc3RhcnRXYWxsdGltZU1zKTtiJiYobi5JdD1iKTtrJiYobi5KVT1rLzFFMyxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJmcuWU4obikmJihuLkgyPWsvMUUzKSk7diYmKG4uSFA9dik7aCYmKG4ub1I9aC8xRTMsbi5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpJiZnLllOKG4pJiYobi5XTT1oLzFFMykpO0QmJihuLklUPUQvMUUzKTsoYnx8aykmJih2fHxoKSYmKG4uUkk9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCxuLmFsbG93TGl2ZUR2cj0KITAsbi5YZz0hMSl9aWYoYj1XLmRhaUNvbmZpZyl7aWYoYi5lbmFibGVEYWkpe24uTFk9ITA7aWYodj1iLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpKW4uZW5hYmxlU2VydmVyU3RpdGNoZWREYWk9djtpZih2PWIuZW5hYmxlUHJlcm9sbCluLktkPXZ9aWYoYi5kYWlUeXBlPT09IkRBSV9UWVBFX1NTX0RJU0FCTEVEInx8Yi5kZWJ1Z0luZm8/LmlzRGlzYWJsZWRVbnBsdWdnZWRDaGFubmVsKW4uSmw9ITA7IW4uUygiaHRtbDVfdW1wX3N0aXRjaGVkX21ldGFkYXRhX3Vuc3BlY2lmaWVkX2hhbmRsaW5nIil8fGIuZGFpVHlwZSE9PSJEQUlfVFlQRV9VTlNQRUNJRklFRCImJmIuZGFpVHlwZSE9PXZvaWQgMHx8KG4uakY9ITApO2IuZGFpVHlwZT09PSJEQUlfVFlQRV9DTElFTlRfU1RJVENIRUQiJiYobi5DVT0hMCk7Yi5hbGxvd1VzdHJlYW1lclJlcXVlc3RBZGNvbmZpZyYmKG4uUTY9ITApO2Iuc2VuZFNzZGFpTWlzc2luZ0FkQnJlYWtSZWFzb25zJiYobi5LVj0hMCl9aWYoYj1XLmF1ZGlvQ29uZmlnKXt2PQpuLmhnO2IudHJhY2tBYnNvbHV0ZUxvdWRuZXNzTGtmcyE9bnVsbCYmKHYuSj1iLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMpO2IubG91ZG5lc3NUYXJnZXRMa2ZzIT1udWxsJiYodi5sb3VkbmVzc1RhcmdldExrZnM9Yi5sb3VkbmVzc1RhcmdldExrZnMpO2IubG91ZG5lc3NEYiE9bnVsbCYmKHYuVz1iLmxvdWRuZXNzRGIpO2lmKGs9Yi5sb3VkbmVzc05vcm1hbGl6YXRpb25Db25maWcpay5hcHBseVN0YXRlZnVsTm9ybWFsaXphdGlvbiYmKHYuYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb249ITApLGsucHJlc2VydmVTdGF0ZWZ1bExvdWRuZXNzVGFyZ2V0JiYodi5wcmVzZXJ2ZVN0YXRlZnVsTG91ZG5lc3NUYXJnZXQ9ITApLGsubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyE9bnVsbCYmKHYubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcz1rLm1pbmltdW1Mb3VkbmVzc1RhcmdldExrZnMpO3Y9Yi5sb3VkbmVzc0RiO3YhPW51bGwmJihuLllLPXYpO2IuYXVkaW9NdXRlZCYmKG4ueWw9CiEwKTtiLm11dGVPblN0YXJ0JiYobi5OMD0hMCk7Yi5wbGF5QXVkaW9Pbmx5JiYobi5KZz0hMCl9aWYodj1XLnBsYXliYWNrRW5kQ29uZmlnKWI9di5lbmRTZWNvbmRzLHY9di5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcyxuLm11dGVkQXV0b3BsYXkmJihiJiYobi5lbmRTZWNvbmRzPWIpLHYmJihuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPXYpKTtpZihiPVcuZmFpclBsYXlDb25maWcpe2lmKHY9Yi5jZXJ0aWZpY2F0ZSluLkNpPWcuZDEodik7dj1OdW1iZXIoYi5rZXlSb3RhdGlvblBlcmlvZE1zKTt2PjAmJihuLlY5PXYpO2I9TnVtYmVyKGIua2V5UHJlZmV0Y2hNYXJnaW5Ncyk7Yj4wJiYobi5qaT1iKX1pZigoYj1XLnBsYXliYWNrU3RhcnRDb25maWcpJiYhbi5OVil7bi52RT1OdW1iZXIoYi5zdGFydFNlY29uZHMpO2s9Yi5saXZlVXRjU3RhcnRTZWNvbmRzO3Y9ISFuLmxpdmVVdGNTdGFydFNlY29uZHMmJm4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz4wOwprJiYhdiYmKG4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz1OdW1iZXIoaykpO2lmKGs9Yi5zdGFydFBvc2l0aW9uKWlmKChoPWsudXRjVGltZU1pbGxpcykmJiF2JiYobi5saXZlVXRjU3RhcnRTZWNvbmRzPU51bWJlcihoKSouMDAxKSx2PWsuc3RyZWFtVGltZU1pbGxpcyluLlVyPU51bWJlcih2KSouMDAxO24ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPWIucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uO24ucHJvZ3Jlc3NCYXJFbmRQb3NpdGlvbj1iLnByb2dyZXNzQmFyRW5kUG9zaXRpb259ZWxzZSBpZihiPVcuc2tpcHBhYmxlU2VnbWVudHNDb25maWcpe2lmKHY9Yi5pbnRyb1NraXBEdXJhdGlvbk1zKW4uUEU9TnVtYmVyKHYpLzFFMztpZihiPWIub3V0cm9Ta2lwRHVyYXRpb25NcyluLm50PU51bWJlcihiKS8xRTN9aWYodj1XLnNraXBwYWJsZUludHJvQ29uZmlnKWI9TnVtYmVyKHYuc3RhcnRNcyksdj1OdW1iZXIodi5lbmRNcyksaXNOYU4oYil8fGlzTmFOKHYpfHwobi53Qj1iLG4uQXA9CnYpO2lmKGI9Vy5zdHJlYW1TZWxlY3Rpb25Db25maWcpbi5HZj1OdW1iZXIoYi5tYXhCaXRyYXRlKTtpZihiPVcudnJDb25maWcpbi5Kbz1iLnBhcnRpYWxTcGhlcmljYWw9PSIxIjtpZihiPVcud2ViRHJtQ29uZmlnKXtiLnNraXBXaWRldmluZSYmKG4uSmo9ITApO2lmKHY9Yi53aWRldmluZVNlcnZpY2VDZXJ0KW4uRmM9Zy5kMSh2KTtiLnVzZUNvYmFsdFdpZGV2aW5lJiYobi51c2VDb2JhbHRXaWRldmluZT0hMCk7Yi5zdGFydFdpdGhOb1F1YWxpdHlDb25zdHJhaW50JiYobi5aOT0hMCl9aWYoYj1XLm1lZGlhQ29tbW9uQ29uZmlnKXtpZih2PWIuZHluYW1pY1JlYWRhaGVhZENvbmZpZyl7bi5tYXhSZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1heFJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1pblJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5yZWFkQWhlYWRHcm93dGhSYXRlTXM9di5yZWFkQWhlYWRHcm93dGhSYXRlTXN8fE5hTjsKaWYodj1iPy5tZWRpYVVzdHJlYW1lclJlcXVlc3RDb25maWc/LnZpZGVvUGxheWJhY2tVc3RyZWFtZXJDb25maWcpbi5hST1nLmQxKHYpO2lmKCh2PWI/LnNhYnJDb250ZXh0VXBkYXRlcykmJnYubGVuZ3RoPjApZm9yKHZhciB4IG9mIHYpeC50eXBlJiZ4LnZhbHVlJiYodj17dHlwZTp4LnR5cGUsc2NvcGU6eC5zY29wZSx2YWx1ZTpnLmQxKHgudmFsdWUpfHx2b2lkIDAsc2VuZEJ5RGVmYXVsdDp4LnNlbmRCeURlZmF1bHR9LG4uc2FickNvbnRleHRVcGRhdGVzLnNldCh4LnR5cGUsdikpfWlmKHg9Yi5zZXJ2ZXJQbGF5YmFja1N0YXJ0Q29uZmlnKW4uc2VydmVyUGxheWJhY2tTdGFydENvbmZpZz14O2IudXNlU2VydmVyRHJpdmVuQWJyJiYobi5ERT0hMCk7aWYoeD1iLnJlcXVlc3RQaXBlbGluaW5nQ29uZmlnKW4ucmVxdWVzdFBpcGVsaW5pbmdDb25maWc9eH1pZih4PVcuaW5saW5lUGxheWJhY2tDb25maWcpbi52MT0hIXguc2hvd0F1ZGlvQ29udHJvbHM7aWYoeD1XLmVtYmVkZGVkUGxheWVyQ29uZmlnKXtuLmVtYmVkZGVkUGxheWVyQ29uZmlnPQp4O2lmKHY9eC5lbWJlZGRlZFBsYXllck1vZGUpYj1uLkcoKSxiLmNKPXYsYi5EPXY9PT0iRU1CRURERURfUExBWUVSX01PREVfUEZMIjtpZih4PXgucGVybWlzc2lvbnMpbi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hIXguYWxsb3dJbWFNb25ldGl6YXRpb259aWYoeD1XLndlYlBsYXllckNvbmZpZylpZih4LmdhdGV3YXlFeHBlcmltZW50R3JvdXAmJihuLmdhdGV3YXlFeHBlcmltZW50R3JvdXA9eC5nYXRld2F5RXhwZXJpbWVudEdyb3VwKSx4LmlzUHJveGltYUVsaWdpYmxlJiYobi5pc1Byb3hpbWFMYXRlbmN5RWxpZ2libGU9ITApLHg9eC5tdWx0aUFzcGVjdFN0cmVhbWluZ0NvbmZpZyluLldrPSEwLG4ucGxheWVyT3JpZW50YXRpb249eC5wbGF5ZXJPcmllbnRhdGlvbix4LnBsYXllck9yaWVudGF0aW9uPT09IlBMQVlFUl9PUklFTlRBVElPTl9IT1JJWk9OVEFMIj9uLkJqPXgudmVydGljYWxDb21tYW5kfHxudWxsOngucGxheWVyT3JpZW50YXRpb249PT0iUExBWUVSX09SSUVOVEFUSU9OX1ZFUlRJQ0FMIiYmCihuLkJqPXguaG9yaXpvbnRhbENvbW1hbmR8fG51bGwpO1c9Vy5wbGF5ZXJDb250cm9sc0NvbmZpZztXPy5pc1NlZWthYmxlIT09dm9pZCAwJiYobi5pc1NlZWthYmxlPSEhVy5pc1NlZWthYmxlKX07CnU2Uz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5mb3JtYXRzO2lmKGIpe3ZhciB2PVtdO2Zvcih2YXIgayBvZiBiKXYucHVzaChgJHtrLml0YWd9LyR7ay53aWR0aH14JHtrLmhlaWdodH1gKTtuLkdqPXYuam9pbigiLCIpO3Y9W107Zm9yKHZhciBoIG9mIGIpe2I9e2l0YWc6aC5pdGFnLHR5cGU6aC5taW1lVHlwZSxxdWFsaXR5OmgucXVhbGl0eX07KGs9aC51cmwpJiYoYi51cmw9ayk7bGV0IHt4aTpOLEVsOkgseTc6QSxzOnl9PVAwKDcsNjkyLGgpO04mJihiLnVybD1ILGIuc3A9QSxiLnM9eSk7di5wdXNoKHlHKGIpKX1uLmNmPXYuam9pbigiLCIpfWlmKGg9Vy5obHNGb3JtYXRzKXt2PXt9O2lmKEQmJihEPUQuYXVkaW9QYWlyaW5nQ29uZmlnKSYmRC5wYWlycylmb3IodmFyIHggb2YgRC5wYWlycylEPXgudmlkZW9JdGFnLHZbRF18fCh2W0RdPVtdKSx2W0RdLnB1c2goeC5hdWRpb0l0YWcpO3g9e307Zm9yKHZhciBMIG9mIGgpeFtMLml0YWddPUwuYml0cmF0ZTtMPVtdO2ZvcihHIG9mIGgpe0Q9CntpdGFnOkcuaXRhZyx0eXBlOkcubWltZVR5cGUsdXJsOkcudXJsLGJpdHJhdGU6Ry5iaXRyYXRlLHdpZHRoOkcud2lkdGgsaGVpZ2h0OkcuaGVpZ2h0LGZwczpHLmZwc307aWYoaD1HLmF1ZGlvVHJhY2spaWYoYj1oLmRpc3BsYXlOYW1lKUQubmFtZT1iLEQuYXVkaW9fdHJhY2tfaWQ9aC5pZCxoLmF1ZGlvSXNEZWZhdWx0JiYoRC5pc19kZWZhdWx0PSIxIik7aWYoRy5kcm1GYW1pbGllcyl7aD1bXTtmb3IodmFyIGUgb2YgRy5kcm1GYW1pbGllcyloLnB1c2goSlpbZV0pO0QuZHJtX2ZhbWlsaWVzPWguam9pbigiLCIpfShoPXZbRy5pdGFnXSkmJmgubGVuZ3RoJiYoRC5hdWRpb19pdGFnPWguam9pbigiLCIpLChoPXhbaFswXV0pJiYoRC5iaXRyYXRlKz1oKSk7KGg9TiQoRykpJiYoRC5lb3RmPWgpO0cuYXVkaW9DaGFubmVscyYmKEQuYXVkaW9fY2hhbm5lbHM9Ry5hdWRpb0NoYW5uZWxzKTtMLnB1c2goeUcoRCkpfXZhciBHPUwuam9pbigiLCIpO24uaGxzRm9ybWF0cz1HfWlmKChlPQpXLmxpY2Vuc2VJbmZvcykmJmUubGVuZ3RoPjApe0c9e307Zm9yKHZhciByIG9mIGUpZT1yLmRybUZhbWlseSx2PXIudXJsLGUmJnYmJihHW0paW2VdXT12KTtuLmNvbnRlbnRQcm90ZWN0aW9uPUd9aWYocj1XLmRybVBhcmFtcyluLmRybVBhcmFtcz1yO2lmKHI9Vy5kYXNoTWFuaWZlc3RVcmwpbi5UZj1nLkVUKHIse2NwbjpuLmNsaWVudFBsYXliYWNrTm9uY2V9KTtpZihyPVcuaGxzTWFuaWZlc3RVcmwpbi5obHN2cD1yO2lmKHI9Vy5wcm9iZVVybCluLnByb2JlVXJsPUZOKGcuRVQocix7Y3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pKTtpZihXPVcuc2VydmVyQWJyU3RyZWFtaW5nVXJsKW4ubEM9bmV3IGcud1ooVywhMCl9OwpvWU09ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW9JZDtiJiYobi52aWRlb0lkPWIsRC52aWRlb19pZHx8KEQudmlkZW9faWQ9YikpO2lmKGI9Vy50aXRsZSluLnRpdGxlPWIsRC50aXRsZXx8KEQudGl0bGU9Yik7aWYoYj1XLmxlbmd0aFNlY29uZHMpbi5sZW5ndGhTZWNvbmRzPU51bWJlcihiKSxELmxlbmd0aF9zZWNvbmRzfHwoRC5sZW5ndGhfc2Vjb25kcz1iKTtpZihiPVcua2V5d29yZHMpbi5rZXl3b3Jkcz1XaihiKTtpZihiPVcuY2hhbm5lbElkKW4uRjk9YixELnVjaWR8fChELnVjaWQ9Yik7aWYoYj1XLnZpZXdDb3VudCluLnJhd1ZpZXdDb3VudD1OdW1iZXIoYik7aWYoYj1XLmF1dGhvciluLmF1dGhvcj1iLEQuYXV0aG9yfHwoRC5hdXRob3I9Yik7aWYoRD1XLnNob3J0RGVzY3JpcHRpb24pbi5zaG9ydERlc2NyaXB0aW9uPUQ7aWYoRD1XLmlzQ3Jhd2xhYmxlKW4uaXNMaXN0ZWQ9RDtpZihEPVcubXVzaWNWaWRlb1R5cGUpbi5tdXNpY1ZpZGVvVHlwZT1EO0Q9Vy5pc0xpdmU7CkQhPW51bGwmJihuLmlzTGl2ZVBsYXliYWNrPUQpO2lmKER8fFcuaXNVcGNvbWluZyluLmlzUHJlbWllcmU9IVcuaXNMaXZlQ29udGVudDtpZihEPVcudGh1bWJuYWlsKW4udE89d2MoRCk7aWYoRD1XLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3Qpbi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0PUQ7KEQ9Vy5zdGF0aW9uVHlwZSkmJkQhPT0iU1RBVElPTl9UWVBFX1VOS05PV04iJiYobi56Mz0hMCk7RD1XLnZpZXdlckxpdmVzdHJlYW1Kb2luUG9zaXRpb247RD8udXRjVGltZU1pbGxpcyYmKG4uRHo9Zy5OaChELnV0Y1RpbWVNaWxsaXMpKTtuLkcoKS5leHBlcmltZW50cy5FcSgiZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlbyIpJiZXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmlzVHZmaWxtVmlkZW89Vy5pc1R2ZmlsbVZpZGVvKTtXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmNPPVcuaXNUdmZpbG1WaWRlbyYmbi5pc0xpdmVQbGF5YmFjayl9Owp6RWI9ZnVuY3Rpb24obixXKXtpZihXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXIpe3ZhciBEPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlcjtuLk1nPUQudHJhaWxlclZpZGVvSWR8fCIiO3ZhciBiPShiPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlci55cGNUcmFpbGVyKSYmYi55cGNUcmFpbGVyUmVuZGVyZXJ9ZWxzZSBXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNPZmZlclJlbmRlcmVyP0Q9Vy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcjpXLnlwY1RyYWlsZXJSZW5kZXJlciYmKGI9Vy55cGNUcmFpbGVyUmVuZGVyZXIsVz1iLmZ1bGxWaWRlb01lc3NhZ2Usbi5IQj1XP2cuRHAoVyk6IiIsbi5NZz1nLncoYixEeik/LnZpZGVvRGV0YWlscz8udmlkZW9JZHx8IiIpO0QmJihuLlU5PUQuaXRlbVRpdGxlfHwiIixELml0ZW1VcmwmJihuLndWPUQuaXRlbVVybCksRC5pdGVtQnV5VXJsJiYobi5nVj0KRC5pdGVtQnV5VXJsKSxuLkFKPUQuaXRlbVRodW1ibmFpbHx8IiIsbi5kVj1ELm9mZmVySGVhZGxpbmV8fCIiLG4uR249RC5vZmZlckRlc2NyaXB0aW9ufHwiIixuLk9oPUQub2ZmZXJJZHx8IiIsbi5Daj1ELm9mZmVyQnV0dG9uVGV4dHx8IiIsbi51Vz1ELm9mZmVyQnV0dG9uRm9ybWF0dGVkVGV4dHx8bnVsbCxuLkU5PUQub3ZlcmxheUR1cmF0aW9uTXNlY3x8TmFOLG4uSEI9RC5mdWxsVmlkZW9NZXNzYWdlfHwiIixuLnZNPSEwKTtiJiYoKEQ9Zy53KGIsRHopKT9uLkljPXtyYXdfcGxheWVyX3Jlc3BvbnNlOkR9OihEPWcudyhiLGR2aSksbi5JYz1EP2cuaXcoRCk6bnVsbCksbi52TT0hMCl9Owpsb2o9ZnVuY3Rpb24obixXLEQsYil7Vy5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0JiYobi5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0PSEwKTtXLmlzVXBjb21pbmcmJihuLmlzVXBjb21pbmc9ITApO2lmKFcuaXNQb3N0TGl2ZUR2cil7bi5YZz0hMDtpZihiPVcubGF0ZW5jeUNsYXNzKW4ubGF0ZW5jeUNsYXNzPWJqW2JdfHwiVU5LTk9XTiI7Vy5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtJiYobi5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtPSEwKX1lbHNle2xldCB2PSExO24uSVI/KG4uYWxsb3dMaXZlRHZyPWZOKCk/ITA6TVgmJnZqPDU/ITE6ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk6Vy5pc0xpdmU/KGIubGl2ZXN0cmVhbT0iMSIsbi5hbGxvd0xpdmVEdnI9Vy5pc0xpdmVEdnJFbmFibGVkP2ZOKCk/ITA6TVgmJnZqPDU/ITE6ITA6ITEsbi5wYXJ0bmVySWQ9Mjcsdj0hMCk6Vy5pc1VwY29taW5nJiYodj0hMCk7aWYoVy5pc0xpdmV8fG4uSVIpe1cuaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbSYmKG4uaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbT0KITApO2xldCBrPVcubGF0ZW5jeUNsYXNzO2smJihuLmxhdGVuY3lDbGFzcz1ialtrXXx8IlVOS05PV04iKTtpZihXPVcubGl2ZUNodW5rUmVhZGFoZWFkKW4ubGl2ZUNodW5rUmVhZGFoZWFkPVc7aWYoVz1EJiZELmxpdmVQbGF5ZXJDb25maWcpe1cuaGFzU3ViZnJhZ21lbnRlZEZtcDQmJihuLmhhc1N1YmZyYWdtZW50ZWRGbXA0PSEwKTtXLmhhc1N1YmZyYWdtZW50ZWRXZWJtJiYobi5JMj0hMCk7Vy5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzJiYobi5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzPSEwKTtpZihEPVcubGl2ZUV4cGVyaW1lbnRhbENvbnRlbnRJZCluLmxpdmVFeHBlcmltZW50YWxDb250ZW50SWQ9TnVtYmVyKEQpO1c9Vy5pc0xpdmVIZWFkUGxheWFibGU7bi5TKCJodG1sNV9saXZlX2hlYWRfcGxheWFibGUiKSYmVyE9bnVsbCYmKG4uaXNMaXZlSGVhZFBsYXlhYmxlPVcpfX12JiYobi5pc0xpdmVQbGF5YmFjaz0hMCxiLmFkZm9ybWF0JiZiLmFkZm9ybWF0LnNwbGl0KCJfIilbMV0hPT0KIjgifHxuLklKLnB1c2goImhlYXJ0YmVhdCIpKX19OwprTD1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOyhuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0cyl8fChuPVc/LmVuZFNjcmVlbj8uZW5kU2NyZWVuPy5yZXN1bHRzKTtyZXR1cm4gbn07CnhMPWZ1bmN0aW9uKCl7aWYoaHg9PT12b2lkIDApe3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInl0LXBsYXllci1sdiIpfWNhdGNoKFcpe31hOnt0cnl7dmFyIG49ISFzZWxmLmxvY2FsU3RvcmFnZX1jYXRjaHtuPSExfWlmKG4mJihuPWcudlMoYCR7TTAoKX06Onl0LXBsYXllcmApKSl7aHg9bmV3IFQkYihuKTticmVhayBhfWh4PXZvaWQgMH19cmV0dXJuIGh4fTsKTEw9ZnVuY3Rpb24oKXt2YXIgbj14TCgpO2lmKCFuKXJldHVybnt9O3RyeXtsZXQgVz1uLmdldCgieXQtcGxheWVyLWx2Iik7cmV0dXJuIEpTT04ucGFyc2UoV3x8Int9Iil9Y2F0Y2goVyl7cmV0dXJue319fTsKZSQ9ZnVuY3Rpb24obil7cmV0dXJuIExMKClbbl18fDB9OwpnNj1mdW5jdGlvbihuLFcpe3ZhciBEPUxMKCk7VyE9PURbbl0mJihXIT09MD9EW25dPVc6ZGVsZXRlIERbbl0sbj14TCgpKSYmKEQ9SlNPTi5zdHJpbmdpZnkoRCksbi5zZXQoInl0LXBsYXllci1sdiIsRCkpfTsKZy5YZT1hc3luYyBmdW5jdGlvbihuKXtyZXR1cm4gQ0YoamlVKCksbil9Owp0eD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2lmKGUkKG4pPT09NClyZXR1cm4gNDt2YXIgTD1hd2FpdCBnLm5QKCk7aWYoIUwpdGhyb3cgZy5yMCgid2lhYyIpO3gmJmghPT12b2lkIDAmJihoPWF3YWl0IENuaSh4LGgpKTt2YXIgZT1ELmxhc3RNb2RpZmllZHx8IjAiO3g9YXdhaXQgZy5YZShMKTt0cnl7cmV0dXJuIHFzKyssYXdhaXQgT1IoeCxbImluZGV4IiwibWVkaWEiXSx7bW9kZToicmVhZHdyaXRlIix0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfV0lBQyIsR1E6ITB9LEc9PntpZihrIT09dm9pZCAwJiZoIT09dm9pZCAwKXt2YXIgcj1gJHtufXwke1cuaWR9fCR7ZX18JHtTdHJpbmcoaykucGFkU3RhcnQoMTAsIjAiKX1gO3I9Ry5vYmplY3RTdG9yZSgibWVkaWEiKS5wdXQoaCxyKX1lbHNlIHI9c1IucmVzb2x2ZSh2b2lkIDApO3ZhciBOPUdmKG4sVy5mWSgpKSxIPUdmKG4sIVcuZlkoKSksQT17Zm10czpnLkV0KHtkbHQ6Yi5kb3dubG9hZGVkRW5kVGltZS50b1N0cmluZygpLApta2V0OmIubWF4S25vd25FbmRUaW1lLnRvU3RyaW5nKCksYXZicjpiLmF2ZXJhZ2VCeXRlUmF0ZS50b1N0cmluZygpfSksZm9ybWF0OkR8fHt9fTtOPUcub2JqZWN0U3RvcmUoImluZGV4IikucHV0KEEsTik7dmFyIHk9Yi5kb3dubG9hZGVkRW5kVGltZT09PS0xO0E9eT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLmdldChIKTpzUi5yZXNvbHZlKHZvaWQgMCk7dmFyIFQ9e2ZtdHM6Im11c2ljIixmb3JtYXQ6e319O0c9eSYmdiYmIVcuZlkoKT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLnB1dChULEgpOnNSLnJlc29sdmUodm9pZCAwKTtyZXR1cm4gc1IuYWxsKFtHLEEscixOXSkudGhlbigoWyx6XSk9Pntxcy0tO3ZhciBDPWUkKG4pLFE7IShRPUMhPT00JiZ5JiZ2KSYmKFE9eiE9PXZvaWQgMCkmJihRPSh6PXouZm10cyk/ej09PSJtdXNpYyI/ITA6ei5pbmNsdWRlcygiZGx0PS0xIil8fCF6LmluY2x1ZGVzKCJkbHQ9Iik6ITEpO1EmJihDPTEsZzYobixDKSk7cmV0dXJuIEN9KX0pfWNhdGNoKEcpe3FzLS07Cng9ZSQobik7aWYoeD09PTQpcmV0dXJuIHg7ZzYobiw0KTt0aHJvdyBHO319OwpCJHg9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9YXdhaXQgZy5uUCgpO2lmKCFXKXRocm93IGcucjAoInJpIik7cmV0dXJuIE9SKGF3YWl0IGcuWGUoVyksWyJpbmRleCJdLHttb2RlOiJyZWFkb25seSIsdGFnOiJJREJfVFJBTlNBQ1RJT05fVEFHX0xNUkkifSxEPT57dmFyIGI9SURCS2V5UmFuZ2UuYm91bmQobisifCIsbisifiIpO3JldHVybiBELm9iamVjdFN0b3JlKCJpbmRleCIpLmdldEFsbChiKS50aGVuKHY9PnYubWFwKGs9Pms/ay5mb3JtYXQ6e30pKX0pfTsKdzNpPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9YXdhaXQgZy5uUCgpO2lmKCFrKXRocm93IGcucjAoInJjIik7az1PUihhd2FpdCBnLlhlKGspLFsibWVkaWEiXSx7bW9kZToicmVhZG9ubHkiLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19MTVJNIn0saD0+e3ZhciB4PWAke259fCR7V318JHtEfXwke1N0cmluZyhiKS5wYWRTdGFydCgxMCwiMCIpfWA7cmV0dXJuIGgub2JqZWN0U3RvcmUoIm1lZGlhIikuZ2V0KHgpfSk7CnJldHVybiB2P2sudGhlbihoPT57aWYoaD09PXZvaWQgMCl0aHJvdyBFcnJvcigiTm8gZGF0YSBmcm9tIGluZGV4RGIiKTtyZXR1cm4gRkkxKHYsaCl9KS5jYXRjaChoPT57dGhyb3cgbmV3IGcuUXgoYEVycm9yIHdoaWxlIHJlYWRpbmcgY2h1bms6ICR7aC5uYW1lfSwgJHtoLm1lc3NhZ2V9YCk7Cn0pOmt9OwpHZj1mdW5jdGlvbihuLFcpe3JldHVybmAke259fCR7Vz8idiI6ImEifWB9OwpSRWk9ZnVuY3Rpb24obil7dmFyIFc9e30sRD17fTtmb3IobGV0IGsgb2Ygbil7dmFyIGI9ay5zcGxpdCgifCIpO2lmKCFrLm1hdGNoKE1tQykpe0Rba109Ij8iO2NvbnRpbnVlfW49TnVtYmVyKGIucG9wKCkpO2lmKGlzTmFOKG4pKXtEW2tdPSI/Ijtjb250aW51ZX12YXIgdj1iLmpvaW4oInwiKTsoYj1XW3ZdKT8odj1iW2IubGVuZ3RoLTFdLG49PT12LmVuZCsxP3YuZW5kPW46Yi5wdXNoKHtzdGFydDpuLGVuZDpufSkpOldbdl09W3tzdGFydDpuLGVuZDpufV19Zm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKFcpKURba109V1trXS5tYXAoaD0+YCR7aC5zdGFydH0tJHtoLmVuZH1gKS5qb2luKCIsIik7CnJldHVybiBEfTsKJEw9ZnVuY3Rpb24obixXKXt2YXIgRD1uLlYoKSxiPW4uWCgpLHY9MSxrPTAsaD1nLmRNKG4ueVEuZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYWRfZ2FpbiIpO2ghPW51bGwmJkQmJih2PWgpO2lmKGI/LkQoKSl7az1iLmF1ZGlvPy5KPz9uLko7aWYoaz09bnVsbHx8aXNOYU4oaykpaz12b2lkIDA7cmV0dXJue0R5OjAsWnI6MSx3RzoxLGZkOmsscHk6ayxSUzprLGZvcm1hdElkOmIuaWQsYUc6VyxJejpuLnlRLlZRLFFPOm4uUU99fUQ9Yj8uYXVkaW8/Lko/P24uSjtiIT1udWxsJiZiLmF1ZGlvPy5KPT1udWxsJiZuLlUoImFnYyIse25vX2FiOjF9KTtpZihEPT1udWxsfHxpc05hTihEKSlyZXR1cm4gVz1iPy5hdWRpbz8uWCE9bnVsbD9iLmF1ZGlvLlg6bi5XLGlzTmFOKFcpfHwoaz00KSxXPS1XLHtEeTpXLFpyOk1hdGgubWluKDEsMTAqKihXLzIwKSl8fHYsd0c6ayxmb3JtYXRJZDpiPy5pZCxRTzpuLlFPfTtrPTE7aD1uLmxvdWRuZXNzVGFyZ2V0TGtmczt2YXIgeD1uLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uIik7CmlmKG4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24mJngpe2lmKFchPW51bGwpdmFyIEw9VztlbHNlIGlzRmluaXRlKG4ueVEuVlEpJiYoTD1uLnlRLlZRKTtMIT1udWxsJiYoaz0yLGg9Zy5GZihMLG4ubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyxuLmxvdWRuZXNzVGFyZ2V0TGtmcykpfXZhciBlPU1hdGgubWluKGgtRCwwKTt2YXIgRz1EK2U7dj1NYXRoLm1pbigxLDEwKiooZS8yMCkpfHx2O3gmJm4uVSgiYWdjIix7c3Rub3JtOm4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24saHN0OlcsZW52Om4ueVEuVlEsZm1sOkQsc3RndDpMLHRtaW46bi5taW5pbXVtTG91ZG5lc3NUYXJnZXRMa2ZzLHRtYXg6bi5sb3VkbmVzc1RhcmdldExrZnMsbmc6ZX0pO3JldHVybntEeTplLFpyOnYsd0c6ayxmZDpELHB5OmgsUlM6Ryxmb3JtYXRJZDpiPy5pZCxhRzpXLEl6Om4ueVEuVlEsUU86bi5RT319OwpyNj1mdW5jdGlvbihuLFcpe1c9JEwobixXKTtuLk49VztuLnByZXNlcnZlU3RhdGVmdWxMb3VkbmVzc1RhcmdldCYmVy5SUyE9bnVsbCYmKG4ueVEuVlE9Vy5SUyk7cmV0dXJuIFcuWnJ9OwpRaTI9ZnVuY3Rpb24obixXLEQpe1c9e2NwbjpXfTtuLmluZGV4T2YoIi9pYncvIik9PT0tMSYmKFcuaWJ3PUQ/U3RyaW5nKEQpOiIxMzY5ODQzIik7cmV0dXJue3VybDpnLkVUKG4sVyksdHlwZToiYXBwbGljYXRpb24veC1tcGVnVVJMIixxdWFsaXR5OiJhdXRvIixpdGFnOiI5MyJ9fTsKVm10PWZ1bmN0aW9uKG4pe3RyeXtsZXQgVz0obmV3IGcud1oobiwhMCkpLmdldCgibiIpO2lmKFcpe2xldCBEPW4ubWF0Y2goL1wvblwvKFteL10rKS8pO2lmKEQmJkRbMV0mJkRbMV0hPT1XKXJldHVybiBuLnJlcGxhY2UoYC9uLyR7RFsxXX1gLGAvbi8ke1d9YCl9fWNhdGNoKFcpe2cuR3EoVyl9cmV0dXJuIG59OwpzVT1mdW5jdGlvbihuKXtpZihuLmlzQWQoKSYmKG4uVlE/bi52aWRlb0lkIT09bi55US5TJDpuLnZpZGVvSWQhPW4ueVEuUyQpKXJldHVybiBuLnlRLlMkfTsKVm49ZnVuY3Rpb24obil7aWYobil7aWYoQm4obikpcmV0dXJuIG47bj1lQShuKTtpZihCbihuLCEwKSlyZXR1cm4gbn1yZXR1cm4iIn07CmcuWU49ZnVuY3Rpb24obil7aWYoZy4kNihuLnlRKSYmbi55US5WPT09Inl0IiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzIikpcmV0dXJuITE7aWYobi5abylyZXR1cm4gbi5ERSYmbi5VKCJmZHMiLHtmZHM6ITB9LCEwKSwhMTtpZihuLnlRLlYhPT0ieXQiJiYhY3F4KG4pKXJldHVybiBuLkRFJiZuLlUoImRzdm4iLHtuczpuLnlRLlZ9LCEwKSwhMTtpZihuLmNvdG58fCFuLk58fG4uTi5pc090ZiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpfHxuLlcmJiFuLlcuTigpfHxuLkNVJiYhbi5TKCJodG1sNV9lbmFibGVfc2Ficl9jc2RhaSIpKXJldHVybiExO2lmKG4uUygiaHRtbDVfdXNlX3NhYnJfcmVxdWVzdHNfZm9yX2RlYnVnZ2luZyIpKXJldHVybiEwO24uREUmJm4uVSgiZXNmdyIse3VzYmM6bi5ERSxoc3U6ISFuLmxDfSwhMCk7aWYobi5ERSYmbi5sQylyZXR1cm4hMDtpZihuLlMoImh0bWw1X3JlbW92ZV9jbGllbnRfc2Ficl9kZXRlcm1pbmF0aW9uIikpcmV0dXJuITE7CnZhciBXPSFuLk4uelcmJiFuLk1pKCksRD1XJiZOcyYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl92b2Rfc3RyZWFtaW5nX3hociIpO1c9VyYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9ub25fc3RyZWFtaW5nX3hociIpO3ZhciBiPXBMKG4pLHY9bi5TKCJodG1sNV9lbmFibGVfc2Ficl9kcm1fdm9kX3N0cmVhbWluZ194aHIiKSYmTnMmJm4uTWkoKSYmIW4uTi56VyYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCk7KEQ9RHx8V3x8Ynx8dikmJiFuLmxDJiZuLlUoInNhYnIiLHtsb2M6Im0ifSwhMCk7cmV0dXJuIEQmJiEhbi5sQ307CldqPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09Mj9XW25bMF1dPW5bMV06V1tEXT0hMDtyZXR1cm4gV307CkhqPWZ1bmN0aW9uKG4pe2lmKG4uUygiaHRtbDVfb25lc2llIikmJm4uZXJyb3JDb2RlKXJldHVybiExO3ZhciBXPWcuamoobi5JSiwieXBjIik7bi55cGNQcmV2aWV3JiYoVz0hMSk7cmV0dXJuIG4uT1YoKSYmIW4ubG9hZGluZyYmKGcuWUwobil8fGcuamoobi5JSiwiaGVhcnRiZWF0Iil8fFcpfTsKZkw9ZnVuY3Rpb24obil7bi5xTigpfHwobi5sb2FkaW5nPSExLG4uV0ooImRhdGFsb2FkZWQiKSl9OwptZj1mdW5jdGlvbihuLFcpe3ZhciBEPVcucmF3X2VtYmVkZGVkX3BsYXllcl9yZXNwb25zZTtpZighRCl7dmFyIGI9Vy5lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9RCYmKG4uTz1EKTtpZihuLk8pe24uZW1iZWRkZWRQbGF5ZXJDb25maWc9bi5PLmVtYmVkZGVkUGxheWVyQ29uZmlnfHxudWxsO2lmKEQ9bi5PLnZpZGVvRmxhZ3MpRC5wbGF5YWJsZUluRW1iZWQmJihuLmFsbG93RW1iZWQ9ITApLEQuaXNQcml2YXRlJiYobi5pc1ByaXZhdGU9ITApLEQudXNlckRpc3BsYXlOYW1lJiYoVy51c2VyX2Rpc3BsYXlfbmFtZT1ELnVzZXJEaXNwbGF5TmFtZSksRC51c2VyRGlzcGxheUltYWdlJiYoVy51c2VyX2Rpc3BsYXlfaW1hZ2U9RC51c2VyRGlzcGxheUltYWdlKTtpZigoRD1uLk8uZW1iZWRQcmV2aWV3KSYmRC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpe0Q9RC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI7bkwobixELmNvbnRyb2xCZ0h0bWwpO2lmKGI9CkQuZGVmYXVsdFRodW1ibmFpbCluLnRPPXdjKGIpOyhiPWcudyhEPy52aWRlb0RldGFpbHMsYW9VKSkmJkp4KG4sVyxiKTtiPWcudyhEPy52aWRlb0RldGFpbHMsbnFNKTtuLkU1PSEhRC5hZGRUb1dhdGNoTGF0ZXJCdXR0b247bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO2I/Lm11c2ljVmlkZW9UeXBlJiYobi5tdXNpY1ZpZGVvVHlwZT1iLm11c2ljVmlkZW9UeXBlKTtpZihiPWcudyhuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKT8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LnBsYXlCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsZy5JUSkpb0EobixiKSxuLnZpZGVvSWQ9Yi52aWRlb0lkfHxuLnZpZGVvSWQ7RC52aWRlb0R1cmF0aW9uU2Vjb25kcyYmKG4ubGVuZ3RoU2Vjb25kcz1nLk5oKEQudmlkZW9EdXJhdGlvblNlY29uZHMpKTtELndlYlBsYXllckFjdGlvbnNQb3J0aW5nJiZhQShuLEQud2ViUGxheWVyQWN0aW9uc1BvcnRpbmcpOwppZihEPWcudyhEPy5wbGF5bGlzdCxXR2kpKXtuLk1kPSEwO2I9W107dmFyIHY9TnVtYmVyKEQuY3VycmVudEluZGV4KTtpZihELmNvbnRlbnRzKWZvcihsZXQgaz0wLGg9RC5jb250ZW50cy5sZW5ndGg7azxoO2srKyl7bGV0IHg9RC5jb250ZW50c1trXS5wbGF5bGlzdFBhbmVsVmlkZW9SZW5kZXJlcjtpZigheCljb250aW51ZTtsZXQgTD14LnNob3J0QnlsaW5lVGV4dD9nLkRwKHguc2hvcnRCeWxpbmVUZXh0KToiIixlPXgudGl0bGU/Zy5EcCh4LnRpdGxlKToiIjtiLnB1c2goe2F1dGhvcjpMLGVuY3J5cHRlZF9pZDp4LnZpZGVvSWQsdGl0bGU6ZSxjaGFubmVsX3BhdGg6az09PXY/Vy5jaGFubmVsX3BhdGg6IiIscHJvZmlsZV9waWN0dXJlOms9PT12P1cucHJvZmlsZV9waWN0dXJlOiIiLGlzX3ByaXZhdGU6az09PXY/bi5pc1ByaXZhdGU6ITAsaXNfZG5pOms9PT12P24uaU46ITEsZG5pX2NvbG9yOms9PT12P24uclI6IiJ9KX1XPXtpbmRleDpELmN1cnJlbnRJbmRleCxsaXN0OkQucGxheWxpc3RJZCwKcGxheWxpc3RfbGVuZ3RoOkQudG90YWxWaWRlb3MsdmlkZW86Yn07RC50aXRsZVRleHQmJihXLnRpdGxlPWcuRHAoRC50aXRsZVRleHQpKTtELnNob3J0QnlsaW5lVGV4dCYmKFcuYXV0aG9yPWcuRHAoRC5zaG9ydEJ5bGluZVRleHQpKTtuLlE3PVd9aWYoVz1nLncobi5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCk/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKFc/LmR1cmF0aW9uTXMpfHxOYU4sVz8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPVc/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxXPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYobi5Saz1XPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsKX1pZihuLk8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzKXtpZihuLmVCPW4uTy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsVz1uLmVCLCFbIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKFcuc3RhdHVzKSl7bi5lcnJvckNvZGU9CmlpKFcuZXJyb3JDb2RlKTtEPVcuZXJyb3JTY3JlZW47aWYoYj1EPy5wbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcil7bi5mbT1iO2lmKHY9Yi5yZWFzb24pbi5lcnJvclJlYXNvbj1nLkRwKHYpO2lmKGI9Yi5zdWJyZWFzb24pbi53aT1nLkRwKGIpfWVsc2Ugbi5lcnJvclJlYXNvbj1XLnJlYXNvbnx8bnVsbDtzd2l0Y2goVy5zdGF0dXMpe2Nhc2UgIkxPR0lOX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIxIjticmVhaztjYXNlICJDT05URU5UX0NIRUNLX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIyIjticmVhaztjYXNlICJBR0VfQ0hFQ0tfUkVRVUlSRUQiOm4uZXJyb3JEZXRhaWw9RD8ucGxheWVyS2F2UmVuZGVyZXI/LmthdlVybD8iNCI6IjMiO2JyZWFrO2RlZmF1bHQ6bi5lcnJvckRldGFpbD1XLmlzQmxvY2tlZEluUmVzdHJpY3RlZE1vZGU/IjUiOiIwIn19fWVsc2Ugbi5PLnBsYXlhYmlsaXR5U3RhdHVzJiYobi5SdD1uLk8ucGxheWFiaWxpdHlTdGF0dXMsQXgobikmJihuLmVycm9yRGV0YWlsPQoiMCIsbi5SdCYmKChXPW4uUnQuZW1iZWRkZWRQbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcik/bi5mbT1nLncoVyxEdEMpOm4uZXJyb3JSZWFzb249bi5SdC5yZWFzb258fG51bGwpKSk7KFc9bi5PLmF0dGVzdGF0aW9uKSYmUW4obixXKTsoVz1uLk8ucGVybWlzc2lvbnMpJiZXLmFsbG93SW1hTW9uZXRpemF0aW9uJiYobi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hMCl9fTsKRVU9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnJhd193YXRjaF9uZXh0X3Jlc3BvbnNlO2lmKCFEKXt2YXIgYj1XLndhdGNoX25leHRfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9aWYoRCl7bi53YXRjaE5leHRSZXNwb25zZT1EOyhEPW4ud2F0Y2hOZXh0UmVzcG9uc2UucGxheWVyQ3VlUmFuZ2VTZXQpJiZnLktMKG4sRCk7RD1uLndhdGNoTmV4dFJlc3BvbnNlLnBsYXllck92ZXJsYXlzO2lmKEQmJihEPUQucGxheWVyT3ZlcmxheVJlbmRlcmVyKSl7aWYoYj1ELmF1dG9uYXZUb2dnbGUpbi5hdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyPWcudyhiLGJXWiksbi5TKCJ3ZWJfcGxheWVyX2F1dG9uYXZfdXNlX3NlcnZlcl9wcm92aWRlZF9zdGF0ZSIpJiZuLkFWKCkmJihuLmF1dG9uYXZTdGF0ZT1uLmF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIuZW5hYmxlZD8yOjEpO2lmKGI9RC52aWRlb0RldGFpbHMpe3ZhciB2PWIuZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXI7CmlmKGI9Yi5wbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIpYi50aXRsZSYmKFcudGl0bGU9Zy5EcChiLnRpdGxlKSksYi5zdWJ0aXRsZSYmKFcuc3VidGl0bGU9Zy5EcChiLnN1YnRpdGxlKSl9Zy5DTihuLnlRKSYmKG4uRTU9ISFELmFkZFRvTWVudSk7bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO0Quc3RhcnRQb3NpdGlvbiYmRC5lbmRQb3NpdGlvbiYmKG4ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPUQuc3RhcnRQb3NpdGlvbixuLnByb2dyZXNzQmFyRW5kUG9zaXRpb249RC5lbmRQb3NpdGlvbik7aWYoYj1nLncobi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKGI/LmR1cmF0aW9uTXMpfHxOYU4sYj8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPWI/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxiPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYKKG4uUms9Yj8uaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbCk7bi5zaG93U2Vla2luZ0NvbnRyb2xzPSEhRC5zaG93U2Vla2luZ0NvbnRyb2xzfWlmKEQ9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5jb250ZW50cz8udHdvQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cylpZihEPUQuZGVza3RvcE92ZXJsYXkmJmcudyhELmRlc2t0b3BPdmVybGF5LHZxdCkpRC5zdXBwcmVzc1NoYXJlQnV0dG9uJiYobi5zaG93U2hhcmVCdXR0b249ITEpLEQuc3VwcHJlc3NXYXRjaExhdGVyQnV0dG9uJiYobi5FNT0hMSk7diYmSngobixXLHYpO0Q9REkoMCxXLmF1dG9wbGF5X2NvdW50KTt2YXIgaz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk7Yj1rLmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzO3Y9ay5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI7dmFyIGg9a0wobik7aWYoKGs9ay5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cykmJgprLmF1dG9wbGF5Py5hdXRvcGxheSYmIWsucGxheWxpc3Qpe2xldCB5PWsuYXV0b3BsYXkuYXV0b3BsYXkuc2V0cztrPXt9O3ZhciB4PW5ldyBPVShuLkcoKSksTD1udWxsLGU7aWYoeSl7Zm9yKHZhciBHIG9mIHkpaWYoKGU9Ry5hdXRvcGxheVZpZGVvUmVuZGVyZXIpJiZlLmNvbXBhY3RWaWRlb1JlbmRlcmVyKXtMPWUuY29tcGFjdFZpZGVvUmVuZGVyZXI7YnJlYWt9aWYoZT15WzBdLmF1dG9wbGF5VmlkZW8pKEc9ZS5jbGlja1RyYWNraW5nUGFyYW1zKSYmKGsuaXRjdD1HKSxrLmF1dG9uYXY9IjEiLGsucGxheW5leHQ9U3RyaW5nKEQpfWVsc2Ugay5mZWF0dXJlPSJyZWxhdGVkLWF1dG8iO2U9Zy53KGUsZy5JUSk7aWYoTCl7eC52aWRlb0lkPUwudmlkZW9JZDtpZihlPUwuc2hvcnRCeWxpbmVUZXh0KXguYXV0aG9yPWcuRHAoZSk7aWYoZT1MLnRpdGxlKXgudGl0bGU9Zy5EcChlKX1lbHNlIGUhPW51bGwmJmUudmlkZW9JZCYmKHgudmlkZW9JZD1lLnZpZGVvSWQpO3gueXo9aztuLnN1Z2dlc3Rpb25zPQpbXTtuLlU1PXh9aWYoaCl7ZT1bXTtmb3IodmFyIHIgb2YgaCl7aD12b2lkIDA7Rz1udWxsO2lmKHIuZW5kU2NyZWVuVmlkZW9SZW5kZXJlcil7az1yLmVuZFNjcmVlblZpZGVvUmVuZGVyZXI7eD1rLnRpdGxlO0c9bmV3IE9VKG4uRygpKTtHLnZpZGVvSWQ9ay52aWRlb0lkO0cubGVuZ3RoU2Vjb25kcz1rLmxlbmd0aEluU2Vjb25kc3x8MDtpZihMPWsucHVibGlzaGVkVGltZVRleHQpRy5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKEwpO2lmKEw9ay5zaG9ydEJ5bGluZVRleHQpRy5hdXRob3I9Zy5EcChMKTtpZihMPWsuc2hvcnRWaWV3Q291bnRUZXh0KUcuc2hvcnRWaWV3Q291bnQ9Zy5EcChMKTt4JiYoRy50aXRsZT1nLkRwKHgpLCh4PXguYWNjZXNzaWJpbGl0eSkmJih4PXguYWNjZXNzaWJpbGl0eURhdGEpJiZ4LmxhYmVsJiYoRy5hcmlhTGFiZWw9eC5sYWJlbCkpO2lmKEw9ay5uYXZpZ2F0aW9uRW5kcG9pbnQpaD1MLmNsaWNrVHJhY2tpbmdQYXJhbXMseD1nLncoTCxnLklRKSxMPWcudyhMLApnLlBqKSx4P0cuczA9eDpMIT1udWxsJiYoRy53YXRjaFVybD1MLnVybCk7aWYoeD1rLnRodW1ibmFpbE92ZXJsYXlzKWZvcih2YXIgTiBvZiB4KWlmKHg9Ti50aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyKWlmKHguc3R5bGU9PT0iTElWRSIpe0cuaXNMaXZlUGxheWJhY2s9ITA7YnJlYWt9ZWxzZSBpZih4LnN0eWxlPT09IlVQQ09NSU5HIil7Ry5pc1VwY29taW5nPSEwO2JyZWFrfUcudE89d2Moay50aHVtYm5haWwpfWVsc2UgaWYoci5lbmRTY3JlZW5QbGF5bGlzdFJlbmRlcmVyKXtrPXIuZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjtoPWsubmF2aWdhdGlvbkVuZHBvaW50O2lmKCFoKWNvbnRpbnVlO0c9Zy53KGgsZy5JUSk7aWYoIUcpY29udGludWU7eD1HLnZpZGVvSWQ7Rz1uZXcgWnoobi5HKCkpO0cucGxheWxpc3RJZD1rLnBsYXlsaXN0SWQ7Ry5wbGF5bGlzdExlbmd0aD1OdW1iZXIoay52aWRlb0NvdW50KXx8MDtHLk49eHx8bnVsbDtHLnZpZGVvSWQ9eDtpZih4PQprLnRpdGxlKUcudGl0bGU9Zy5EcCh4KTtpZih4PWsuc2hvcnRCeWxpbmVUZXh0KUcuYXV0aG9yPWcuRHAoeCk7aD1oLmNsaWNrVHJhY2tpbmdQYXJhbXM7Ry50Tz13YyhrLnRodW1ibmFpbCl9RyYmKGgmJihHLnNlc3Npb25EYXRhPXtpdGN0Omh9KSxlLnB1c2goRykpfW4uc3VnZ2VzdGlvbnM9ZX1pZih2KXtuLkozPSEhdi5wcmVmZXJJbW1lZGlhdGVSZWRpcmVjdDtuLkcoKS5adCgpLk4uUVEoa05qKSYmKG4uaDM9ISF2LnNob3dQYXVzZWRXaGVuRGlzYWJsZWQpO24uclc9bi5yV3x8ISF2LndlYlNob3dOZXdBdXRvbmF2Q291bnRkb3duO2lmKG4uclcpe049djtiPWJ8fG51bGw7cj1uZXcgT1Uobi5HKCkpO3IudmlkZW9JZD1OLnZpZGVvSWQ7aWYoZT1OLnZpZGVvVGl0bGUpci50aXRsZT1nLkRwKGUpLChlPWUuYWNjZXNzaWJpbGl0eSkmJihlPWUuYWNjZXNzaWJpbGl0eURhdGEpJiZlLmxhYmVsJiYoci5hcmlhTGFiZWw9ZS5sYWJlbCk7aWYoZT1OLmJ5bGluZSlyLmF1dGhvcj1nLkRwKGUpOwppZihlPU4ucHVibGlzaGVkVGltZVRleHQpci5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKGUpO2lmKGU9Ti5zaG9ydFZpZXdDb3VudFRleHQpci5zaG9ydFZpZXdDb3VudD1nLkRwKGUpO2lmKGU9Ti50aHVtYm5haWxPdmVybGF5cylmb3IodmFyIEggb2YgZSlpZihlPUgudGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcilpZihlLnN0eWxlPT09IkxJVkUiKXtyLmlzTGl2ZVBsYXliYWNrPSEwO2JyZWFrfWVsc2UgaWYoZS5zdHlsZT09PSJVUENPTUlORyIpe3IuaXNVcGNvbWluZz0hMDticmVha31lbHNlIGlmKGUuc3R5bGU9PT0iREVGQVVMVCImJmUudGV4dCl7ci5sZW5ndGhUZXh0PWcuRHAoZS50ZXh0KTsoSD1lLnRleHQuYWNjZXNzaWJpbGl0eSkmJihIPUguYWNjZXNzaWJpbGl0eURhdGEpJiZILmxhYmVsJiYoci5pZz1ILmxhYmVsfHwiIik7YnJlYWt9ci50Tz13YyhOLmJhY2tncm91bmQpO2lmKEg9Ti5uZXh0QnV0dG9uKWlmKEg9SC5idXR0b25SZW5kZXJlcilpZihIPUgubmF2aWdhdGlvbkVuZHBvaW50KWlmKEg9CmcudyhILGcuSVEpKXIuczA9SDtOLnRvcEJhZGdlcyYmKEg9Ti50b3BCYWRnZXNbMF0pJiYoSD1nLncoSCxoazIpKSYmSC5zdHlsZT09PSJCQURHRV9TVFlMRV9UWVBFX1BSRU1JVU0iJiYoci5OPSEwKTtpZihIPU4uYWx0ZXJuYXRpdmVUaXRsZSlyLko5PWcuRHAoSCk7SD1yO0Q9e2F1dG9uYXY6IjEiLHBsYXluZXh0OlN0cmluZyhEKX07SC5wbGF5bGlzdElkJiYoRC5hdXRvcGxheT0iMSIpO2lmKGIpe2lmKE49Yi5hdXRvcGxheT8uYXV0b3BsYXk/LnNldHM/LlswXT8uYXV0b3BsYXlWaWRlbylpZigoYj1OLmNsaWNrVHJhY2tpbmdQYXJhbXMpJiYoRC5pdGN0PWIpLE49Zy53KE4sZy5JUSkpSC50RT1OfWVsc2UgTiYmKE49Ti5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zKSYmKEQuaXRjdD1OKTtELml0Y3R8fChELmZlYXR1cmU9InJlbGF0ZWQtYXV0byIpO0gueXo9RDtuLnN1Z2dlc3Rpb25zfHwobi5zdWdnZXN0aW9ucz0KW10pO24uVTU9cn12LmNvdW50RG93blNlY3MhPW51bGwmJihuLk9OPXYuY291bnREb3duU2VjcyoxRTMpO3YuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4hPW51bGwmJihuLnMzPXYuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4+PTA/di5jb3VudERvd25TZWNzRm9yRnVsbHNjcmVlbioxRTM6LTEpfWlmKHY9a0wobikpdj12Py5bMF0/LmVuZFNjcmVlblZpZGVvUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludD8uY2xpY2tUcmFja2luZ1BhcmFtcyxIPW4uVTV8fG4uc3VnZ2VzdGlvbnM/LlswXXx8bnVsbCx2JiZIJiYoSC5zZXNzaW9uRGF0YT17aXRjdDp2fSk7bi53YXRjaE5leHRSZXNwb25zZS5jdXJyZW50VmlkZW9UaHVtYm5haWwmJihuLnRPPXdjKG4ud2F0Y2hOZXh0UmVzcG9uc2UuY3VycmVudFZpZGVvVGh1bWJuYWlsKSk7KHY9bi53YXRjaE5leHRSZXNwb25zZT8uY29udGVudHM/LnR3b0NvbHVtbldhdGNoTmV4dFJlc3VsdHM/LnJlc3VsdHM/LnJlc3VsdHM/LmNvbnRlbnRzKSYmCnZbMF0mJihIPXZbMF0udmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyKSYmSCYmSC5zdWJ0aXRsZSYmKG4uWDQ9Zy5EcChILnN1YnRpdGxlKSk7diYmdlsxXSYmKHY9dlsxXS52aWRlb1NlY29uZGFyeUluZm9SZW5kZXJlcj8ub3duZXI/LnZpZGVvT3duZXJSZW5kZXJlcj8udGh1bWJuYWlsPy50aHVtYm5haWxzKSYmdi5sZW5ndGgmJihuLnByb2ZpbGVQaWN0dXJlPXZbdi5sZW5ndGgtMV0udXJsKTtXPWtSKFcpO2lmKHY9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHMpZm9yKHZhciBBIG9mIHYpZy53KEEsVVUpJiYobi5ScT1nLncoQSxVVSkpLHY9Zy53KEEseHRNKSx2Py5lbnRpdHlLZXlzJiYobi5MTj12LmVudGl0eUtleXN8fFtdLHYudmlzaWJsZU9uTG9hZEtleXMmJihuLnZpc2libGVPbkxvYWRLZXlzPXYudmlzaWJsZU9uTG9hZEtleXMpKTtuLlMoIndlYl9rZXlfbW9tZW50c19tYXJrZXJzIikmJihBPXl6LmdldFN0YXRlKCkuZW50aXRpZXMsCnY9bmYoInZpc2liaWxpdHlfb3ZlcnJpZGUiLCJtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5IiksQT1BLm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk/QS5tYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5W3ZdfHxudWxsOm51bGwsbi5IeD1BPy52aWRlb0lkPT09KG4udmlkZW9JZHx8VykmJkE/LnZpc2liaWxpdHlPdmVycmlkZU1hcmtlcnNLZXk/QS52aXNpYmlsaXR5T3ZlcnJpZGVNYXJrZXJzS2V5Om4udmlzaWJsZU9uTG9hZEtleXMsbi52aXNpYmxlT25Mb2FkS2V5cz1bLi4ubi5IeF0pfX07CmlqPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnJhd19yZWVsX2l0ZW1fd2F0Y2hfcmVzcG9uc2Upbi5yZWVsSXRlbVdhdGNoUmVzcG9uc2U9V307CnVqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5yYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U7RHx8KFc9Vy5yZXNvbHZlX3VybF9yZXNwb25zZSkmJihEPUpTT04ucGFyc2UoVykpO0QmJihuLnBvPUQpfTsKZDY9ZnVuY3Rpb24obixXKXtuLmZmbGFncz1iTyhuLmZmbGFncyxXLmZmbGFncyk7dmFyIEQ9Vy5pdl9pbnZpZGVvX3VybDtEJiYobi5lYT1GTihEKSk7bi5SbT1ueShuLlJtLFcuaXZfYWRzX29ubHkpO2lmKEQ9Vy5jdGFfY29udmVyc2lvbl91cmxzKW4ubE09RDtuLmlzUGhhcm1hPW55KG4uaXNQaGFybWEsVy5pc19waGFybWEpO24uYXV0aG9yPWJPKG4uYXV0aG9yLFcuYXV0aG9yKTtuLndhPVZuKFcudHRzdXJsKXx8bi53YTtuLldjPW55KG4uV2MsVy5jY19hc3IpO2lmKEQ9Vy5wcm9maWxlX3BpY3R1cmUpbi5wcm9maWxlUGljdHVyZT1iTyhuLnByb2ZpbGVQaWN0dXJlLEQpO24udmlkZW9Db3VudFRleHQ9Yk8obi52aWRlb0NvdW50VGV4dCxXLnZpZGVvX2NvdW50X3RleHQpO24uYXV0b25hdlN0YXRlPVdCKG4uYXV0b25hdlN0YXRlLFcuYXV0b25hdl9zdGF0ZSxMRzEpO24uY2xpZW50UGxheWJhY2tOb25jZT1iTyhuLmNsaWVudFBsYXliYWNrTm9uY2UsVy5jcG4pO24uc3Vic2NyaWJlZD0Kbnkobi5zdWJzY3JpYmVkLFcuc3Vic2NyaWJlZCk7bi5yYXdWaWV3Q291bnQ9REkobi5yYXdWaWV3Q291bnQsVy52aWV3X2NvdW50KTtuLnNob3J0Vmlld0NvdW50PWJPKG4uc2hvcnRWaWV3Q291bnQsVy5zaG9ydF92aWV3X2NvdW50X3RleHQpO24ucHVibGlzaGVkVGltZVRleHQ9Yk8obi5wdWJsaXNoZWRUaW1lVGV4dHx8IiIsVy5wdWJsaXNoZWRUaW1lVGV4dCk7bi5sZW5ndGhUZXh0PWJPKG4ubGVuZ3RoVGV4dHx8IiIsVy5sZW5ndGhUZXh0KTtuLmlnPWJPKG4uaWd8fCIiLFcuaWcpO24uSjk9Yk8obi5KOXx8IiIsVy5KOSk7bi50aXRsZT1iTyhuLnRpdGxlLFcudGl0bGUpO24uc3VidGl0bGU9Yk8obi5zdWJ0aXRsZSxXLnN1YnRpdGxlKTtuLmV4cGFuZGVkVGl0bGU9Yk8obi5leHBhbmRlZFRpdGxlLFcuZXhwYW5kZWRfdGl0bGUpO24uZXhwYW5kZWRTdWJ0aXRsZT1iTyhuLmV4cGFuZGVkU3VidGl0bGUsVy5leHBhbmRlZF9zdWJ0aXRsZSk7bi55cGNQcmV2aWV3PWJPKG4ueXBjUHJldmlldywKVy55cGNfcHJldmlldyk7bi5EVD1iTyhuLkRULFcueXBjX29yaWdpbik7bi5MQj1ueShuLkxCLFcueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXIpO24uSWs9Yk8obi5JayxXLnlwY19jbGlja3dyYXBfbWVzc2FnZSk7bi5wYXlnYXRlZD1ueShuLnBheWdhdGVkLFcucGF5Z2F0ZWQpO24uS289bnkobi5LbyxXLnJlcXVpcmVzX3B1cmNoYXNlKTtuLnNob3dTaGFyZUJ1dHRvbj0hbnkoIW4uc2hvd1NoYXJlQnV0dG9uLFcuc3MpO24uRTU9bnkobi5FNSxXLnNob3d3YXRjaGxhdGVyKTtpZihEPVcuZWwpbi5ldmVudExhYmVsPUQ7aWYoRD1XLmtleXdvcmRzKW4ua2V5d29yZHM9V2ooRC5zcGxpdCgiLCIpKTtpZihEPVcucnZzKW4uc3VnZ2VzdGlvbnM9dXcoRCkubWFwKGI9PmIucGxheWxpc3R8fGIubGlzdHx8Yi5hcGk/bmV3IFp6KG4ueVEsYik6bmV3IE9VKG4ueVEsYikpOwpuLmNvbnRlbnRDaGVja09rPW55KG4uY29udGVudENoZWNrT2ssVy5jY28pO24ucmFjeUNoZWNrT2s9bnkobi5yYWN5Q2hlY2tPayxXLnJjbyk7bi5pc0xpdmluZ1Jvb21EZWVwbGluaz1ueShuLmlzTGl2aW5nUm9vbURlZXBsaW5rLFcuaXNfbGl2aW5nX3Jvb21fZGVlcGxpbmspO24ub2F1dGhUb2tlbj1iTyhuLm9hdXRoVG9rZW4sVy5vYXV0aF90b2tlbik7bi5ISj1iTyhuLkhKLFcua3B0KTtuLnZpc2l0b3JEYXRhPWJPKG4udmlzaXRvckRhdGEsVy52aXNpdG9yX2RhdGEpO2lmKEQ9Vy5zZXNzaW9uX2RhdGEpbi5zZXNzaW9uRGF0YT15RihELCImIik7bi5XSz1iTyhuLldLLFcudHJhY2tpbmdfbGlzdCk7bi5EdD1ueShuLkR0LFcucGF1c2VfYXRfc3RhcnQpO29RKG4sVyl9Owp6Zj1mdW5jdGlvbihuLFcsRCxiKXtXJiZXLmNwbiYmZy5HcShuZXcgZy5ReCgiQ1BOIHByb3ZpZGVkIGluIFZpZGVvRGF0YSB1cGRhdGUiLHtIWjpXLmNwbixLWTpuLmNsaWVudFBsYXliYWNrTm9uY2UsdEY6RH0pKTtiJiYobi5lcnJvckNvZGU9bnVsbCxuLmVycm9yRGV0YWlsPSIiLG4uZXJyb3JSZWFzb249bnVsbCxuLndpPW51bGwpO0Q/KGtSKFcpLG4uc2V0RGF0YShXKSxIaihuKSYmZkwobikpOihXPVd8fHt9LG1mKG4sVyksRVUobixXKSxpaihuLFcpLHVqKG4sVyksZDYobixXKSxuLldKKCJkYXRhdXBkYXRlZCIpKX07Cm9RPWZ1bmN0aW9uKG4sVyl7Vy5pbmxpbmVNZXRyaWNFbmFibGVkJiYobi5pbmxpbmVNZXRyaWNFbmFibGVkPSEwKTtXLnBsYXliYWNrX3Byb2dyZXNzXzBzX3VybCYmKG4uVEk9bmV3IGVrdChXKSk7aWYoVz1XLnZpZGVvX21hc3RoZWFkX2FkX3F1YXJ0aWxlX3VybHMpbi5OZj1XLnF1YXJ0aWxlXzBfdXJsLG4uYmU9Vy5xdWFydGlsZV8yNV91cmwsbi56ND1XLnF1YXJ0aWxlXzUwX3VybCxuLm1EPVcucXVhcnRpbGVfNzVfdXJsLG4uV0g9Vy5xdWFydGlsZV8xMDBfdXJsLG4uRnI9Vy5xdWFydGlsZV8wX3VybHMsbi53Tj1XLnF1YXJ0aWxlXzI1X3VybHMsbi5DdD1XLnF1YXJ0aWxlXzUwX3VybHMsbi5vSD1XLnF1YXJ0aWxlXzc1X3VybHMsbi5BdD1XLnF1YXJ0aWxlXzEwMF91cmxzfTsKZy5LTD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXKUQuY3VlUmFuZ2VTZXRJZGVudGlmaWVyJiZuLmJOLnNldChELmN1ZVJhbmdlU2V0SWRlbnRpZmllcixELnBsYXllckN1ZVJhbmdlcz8/W10pfTsKZ3FaPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBudWxsO2ZvcihsZXQgVyBvZiBuKWlmKG49Vy5hZFBsYWNlbWVudFJlbmRlcmVyPy5yZW5kZXJlcj8udmlkZW9BZFRyYWNraW5nUmVuZGVyZXIpcmV0dXJuIG47cmV0dXJuIG51bGx9Owpsaj1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5zb3VyY2VDb25maWdzO249bi5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5jb21wb3NpdGVWaWRlb0NvbmZpZz8uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ7aWYoIVd8fCFXLmxlbmd0aClyZXR1cm4iIjtufHwobj1XWzBdLnZpZGVvSWR8fCIiKTtmb3IobGV0IEQgb2YgVylpZihELnZpZGVvSWQ9PT1uJiZELmF1ZGlvVHJhY2tzKWZvcihsZXQgYiBvZiBELmF1ZGlvVHJhY2tzKWlmKGIuaXNEZWZhdWx0Rm9yU291cmNlKXJldHVybiBiLmlkfHwiIjtyZXR1cm4iIn07ClhZaD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgIkVNQkVEREVEX1BMQVlFUl9MSVRFX01PREVfRklYRURfUExBWUJBQ0tfTElNSVQiOkQ+MzA/bi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0zMDpEPDMwJiZEPjEwJiYobi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0xMCk7YnJlYWs7Y2FzZSAiRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIjpuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPUQqLjJ9fTsKcWpoPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFchPW51bGw/bnkobi5LLFcpOm4uSz9uLks6bi55US5wcmVmZXJHYXBsZXNzJiZuLnlRLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKR05oPWZ1bmN0aW9uKG4pe3JldHVybiEhbiYmaXNGaW5pdGUobikmJm4+MUU5fTsKQ0w9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCkmJlRmKG4pPyExOmokKG4pJiYoZy5HbChuLnlRKT8hbi5pc0xpdmVQbGF5YmFjazpuLmhsc3ZwKXx8IWZOKCl8fG4uVVQ/ITA6ITF9OwpCaj1mdW5jdGlvbihuKXtuPWcub0Uobik7cmV0dXJuIE51bWJlcihuLmV4cGlyZSl8fDB9OwpGZT1mdW5jdGlvbihuKXt2YXIgVz1uLkcoKTtyZXR1cm4gbi55US5WPT09ImhtInx8bi55US5WPT09ImdkInx8Vy5leHBlcmltZW50cy5adCgpLk4uUVEodFMyKSYmbi55US5YJiZuLnlRLlYhPT0iZ2wiPyEwOiExfTsKSng9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUQuY2hhbm5lbFRodW1ibmFpbDtiJiYoYj1iLnRodW1ibmFpbHMpJiYoYj1iWzBdKSYmKFcucHJvZmlsZV9waWN0dXJlPWIudXJsKTtpZihiPWcudyhnLncoRD8uY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LCR0TSk/LnVybEVuZHBvaW50LGcuUGopKVcuY2hhbm5lbF9wYXRoPWIudXJsO2lmKGI9RC5jb2xsYXBzZWRSZW5kZXJlcilpZihiPWcudyhiLHIxcikpe2xldCB2PWIudGl0bGU7diYmKFcudGl0bGU9Zy5EcCh2KSk7aWYoYj1iLnN1YnRpdGxlKVcuc3VidGl0bGU9Zy5EcChiKX1pZihEPUQuZXhwYW5kZWRSZW5kZXJlcilpZihEPWcudyhELHNzQykpe2lmKGI9RC50aXRsZSlXLmV4cGFuZGVkX3RpdGxlPWcuRHAoYik7aWYoYj1ELnN1YnRpdGxlKVcuZXhwYW5kZWRfc3VidGl0bGU9Zy5EcChiKTtpZihEPUQuc3Vic2NyaWJlQnV0dG9uKW4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI9Zy53KEQsTmgxKSxuLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyJiYKKFcudWNpZD1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLmNoYW5uZWxJZCxXLnN1YnNjcmliZWQ9bi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5zdWJzY3JpYmVkLG4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmbi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uLnRvZ2dsZUJ1dHRvblJlbmRlcmVyJiYoVz1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24udG9nZ2xlQnV0dG9uUmVuZGVyZXIsVy5pc1RvZ2dsZWQ/KG4ubGU9Vy50b2dnbGVkU2VydmljZUVuZHBvaW50fHxudWxsLG4uWTA9Vy5kZWZhdWx0U2VydmljZUVuZHBvaW50fHxudWxsKToobi5sZT1XLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnR8fG51bGwsbi5ZMD1XLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnR8fG51bGwpKSl9fTsKdzY9ZnVuY3Rpb24obil7cmV0dXJuISFuLkR4fHwhIW4uTmZ8fCEhbi5Gcnx8ISFuLlRJfHxuLmZafTsKUDA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47aWYoKG4mMTA3KT09bil7dmFyIGg9YltJWzVdXTtEW0lba144MTgzXV0oZnVuY3Rpb24ocixOLEgpe3RoaXNbSVtrXjgxNTddXShIW05dPWJbKGJbSVtrXjgxNTNdXShyKS1iW0lba144MTUzXV0odGhpc1tOXSkrTitoLS0pJWJbSVs1XV1dKX0sdltJW2teODE3NV1dKElba144MTU4XSkpfWlmKChuXjcxKT49NiYmKG4tMiYxNik8MylhOnt2YXIgeD1nLncoRCxwWVopfHxEW0lba143NjZdXSxMPXt4aTohMSwKRWw6SVtrXjY3OF0seTc6SVtrXjY3OF0sczpJW2teNjc4XX07aWYoIXgpe3ZhciBlPUw7YnJlYWsgYX14PWcuaXcoeCk7TFtJW2teNzQzXV09ITA7TFtJW2teNjQ0XV09eFtJW2teNjg2XV07TFtJW2teNjY1XV09eFtJW2teNjc5XV07TFtJW2teNjQ4XV09eFtJW2teNjQ4XV07ZT1MfWlmKChuJjEyNik9PW4pYTp7TD1EW0lba143MjcxXV0oSVtrXjcyNTRdKTt4PVsvWy8sLTQsL11bfSxdXFsnLyxJW2teNzE4NF0sLShrXjE4MTg5Njc3MzgpLC0oa14zMzc1NjY4NzMpLGteOTg5NTU4NzU4LG51bGwsVVloLC0oa144MjEyMzQxMTApLGteODc1MzU2NTIyLC0oa145NDM2MTYyODUpLC0oa144MzYxOTg2MDIpLGteMTU5ODMxMjY5MixaODEsa143MDczMDE3OTAsa14xMTcyOTI1ODk4LG51bGwsa140MTk5NDUxMywtKGteMjc3NDM3NjUyKSxrXjE0MzEzMjI2NzcsRTJVLC0oa14xNDYyMzMwNzMxKSx4dlUsbnVsbCxrXjE2MDQ0MTY1LGteNDg4OTU0MTc0LGteODIyNTEwODUxLFlqWixMLEhXdCwKZmFpLG8yaiwtKGteMjAyOTQ4MDMyNyksa14xMjgxODQ0NjYsa142NjMwMjAxNDQsU0ExLC0oa14xMjYwMTUwODE1KSwtKGteMTM4NTgyODA1NiksLShrXjE2NjI1MTc4MzcpLGteMTQ3ODUyMTA0NCwkWWosa14xODcwOTA2Mjg1LGteODIyNTEwODUxLFN1eCwtKGteMTExOTIxMzExNCksLShrXjg3NDEwNjcxMCksa14yMDc2NDU3OTE4LGteMTc0Njc4MTY5NCxJW2teNzI0MF0sb1VqLGteMTM4NDIyNjkxNSxNQ2IsLShrXjE2MjA0NjE3NTYpLGteMTI3MjM0ODc2MCxJW2teNzI5NF0sLShrXjkxMjQ2MDk4MSksa14xODg3MTM4NTY5LEoxWixJW2teNzE3MV0sTCwtKGteMTg5NjQ1NTA0KSwtKGteMTM1NTU3MzkzMSksLShrXjE0MTE5OTc0MjkpLGteMTk0Mzk0NjQxMyxMLElhMixTalUsa14xODcwOTA2Mjg1LElba143MjkwXSxBMTEsa14xMDM5NzI3ODI1LGteOTQxOTgzMTg4LC0oa14xODUwNDM2ODczKSxJW2teNzE2OF0sa14yMTYzOTkwMjEsbXR4LC0oa140NjQ5MjEzOSldO3hbNV09Cng7eFtrXjcyNDRdPXg7eFtrXjcyNTNdPXg7aWYodHlwZW9mIEtHdD09PUlba143Mjc4XSl7ZT1EO2JyZWFrIGF9dHJ5e3RyeXt4W2teNzI1NV09PT0tMyYmKCgoMCx4W2teNzI1NF0pKHhba143MTczXSx4W2teNzI0NF0pLCgoMCx4W2teNzI4MV0pKHhba143MjU2XSwoMCx4W2teNzI5MV0pKCkseFtrXjcyOTBdKSx4W2teNzI4MV0pKHhba143Mjg5XSwoMCx4W2teNzI0N10pKCkseFtrXjcyOTBdKSx4W2teNzI2M10pKHhba143MjUzXSksMSl8fCgoMCx4W2teNzI1NF0pKHhba143MjUxXSx4W2teNzI1Nl0pLHhba143MjYxXSkoeFtrXjcyNzJdLHhba143MjkyXSk+PigoMCx4W2teNzI2M10pKHhba143MjU2XSl8KDAseFtrXjcxNzVdKSh4W2teNzI1Ml0seFs1XSkpfWNhdGNoKHIpeygwLHhba143MjU1XSkoeFtrXjcyODJdKX1maW5hbGx5e3ZhciBHPU0zKGteNzI1NyxrXjIxOTAseCl9dHJ5e0c9WEQoa143MjUzLGteNzgwMCx4KX1jYXRjaChyKXt4W2teNzE3OV0hPS0zJiYoKCgoMCx4W2teCjcyOTJdKSgoMCx4W2teNzI0N10pKHhba143MTc3XSx4W2teNzE3NF0pLHhba143MjgzXSx4W2teNzE2OF0pLCgwLHhba143MTY5XSkoeFs1XSx4W2teNzI0OV0pLHhba143MTgxXSkoeFtrXjcyNDBdLHhba143MjgyXSkseFszXSkoeFtrXjcyNzBdLHhba143MjY5XSkseFtrXjcyNzhdKSgoMCx4W2teNzI3N10pKHhba143MjYxXSx4W2teNzI1MF0pLHhba143MjQ4XSwoMCx4W2teNzI2NF0pKHhba143Mjg3XSx4W2teNzI0NF0pLHhba143MjgzXSx4W2teNzI3MV0pLHhba143MjYwXSE9PTAmJih4W2teNzE2OF08PS0zPygwLHhba143MjY0XSkoeFtrXjcyNjldLHhba143MTc3XSk6KDAseFtrXjcxNjldKSh4W2teNzI2OF0sKDAseFtrXjcyNThdKSgpLHhbNF0pKX1maW5hbGx5e3hba143MTczXSE9PTQmJih4W2teNzI0N108PS00PygwLHhba143Mjg5XSkoKCgwLHhba143Mjc5XSkoeFtrXjcxODNdLHhba143MjQ0XSkseFtrXjcyNjhdKSh4W2teNzE4M10seFtrXjcyNDVdKSx4W2teNzI0OV0sCigwLHhba143MjQzXSkoKDAseFtrXjcyNDhdKSh4W2teNzI1N10seFtrXjcyODJdKSx4W2teNzI2OF0seFtrXjcyNDJdLHhba143MTcyXSksKCgoKCgoMCx4W2teNzI5NF0pKHhba143MjgxXSx4W2teNzI0MF0pLHhba143Mjc1XSkoeFtrXjcxODddLHhba143MjYzXSkseFtrXjcyNTVdKSh4W2teNzE3N10sKDAseFtrXjcyNDJdKSgpLHhba143MjU2XSkseFtrXjcyNDldKSh4W2teNzI2Nl0seFtrXjcyOTNdKSx4W2teNzE3NV0pKCgwLHhba143MTgwXSkoeFtrXjcyNDhdLHhba143MjkzXSkseFtrXjcxNzNdLHhbMV0seFtrXjcyOTNdKSx4W2teNzI0OV0pKHhba143MTY4XSx4W2teNzI2M10pLCgwLHhba143Mjc1XSkoeFtrXjcyODhdLHhba143MjkzXSk8PSgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143Mjc5XSkoKSx4W2teNzI1MF0pLHhba143MTc2XSwoMCx4W2teNzE3Nl0pKHhba143MjUxXSx4W2teNzI2M10pLHhbMF0seFtrXjcxNzddKTooKCgwLHhba143MTgxXSkoKCgwLHhba14KNzE3Nl0pKHhba143MTY5XSx4W2teNzI2M10pLHhba143Mjc1XSkoeFtrXjcyOTFdLHhba143MjYzXSklKDAseFtrXjcxODJdKSh4W2teNzE3Ml0pLHhba143MjU1XSwoMCx4W2teNzE3Nl0pKHhbNF0seFtrXjcxNzJdKSx4W2teNzI5M10sKDAseFtrXjcyNzBdKSgpLHhba143MjU2XSksKDAseFtrXjcxODJdKSh4W2teNzI4MV0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pPT09KCgoMCx4W2teNzI1NV0pKHhba143MTc3XSwoMCx4W2teNzI1N10pKCkseFtrXjcyNTBdKSx4W2teNzI3NV0pKHhba143MjU5XSx4W2teNzE3MV0pLCgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143Mjc5XSkoKSx4W2teNzI1Nl0pXigwLHhba143Mjc1XSkoeFtrXjcyNzZdLHhba143MTcyXSksKDAseFtrXjcxNzVdKSgoMCx4W2teNzE3M10pKHhba143Mjc0XSx4W2teNzE3Ml0pLAp4W2teNzI1NV0seFtrXjcyOTNdLCgwLHhba143MjcwXSkoKSx4W2teNzI1MF0pLHhba143MTc2XSkoeFtrXjcyOTRdLHhba143MjYzXSkpfX1jYXRjaChyKXtlPUlba143MjgwXStEO2JyZWFrIGF9ZT1MW0lba143MjQ2XV0oSVtrXjcyNTRdKX0obl45MSk8MTYmJm4rMT4+Mz49MiYmKGVYKGteNjY0MixrXjE0ODksRCksZT1nLkRsKERbSVsxXV0sT1d0KSk7bis5Pj40Pj0zJiYobj4+MiYyNCk8MTImJmJbSVsyMl1dKEQpO3JldHVybiBlfTsKTXM9ZnVuY3Rpb24obil7cmV0dXJuISEobi5XJiZuLlcudmlkZW9JbmZvcyYmbi5XLnZpZGVvSW5mb3MubGVuZ3RoKX07CkFKPWZ1bmN0aW9uKG4pe3JldHVybiBuLk5QKCkmJm4uRygpLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKUlE9ZnVuY3Rpb24obil7dmFyIFc9WyJNVVNJQ19WSURFT19UWVBFX0FUViIsIk1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIl0sRD1sbyhuLnlRKT09PSJUVkhUTUw1X1NJTVBMWSImJm4ueVEuTi5jdGhlbWU9PT0iTVVTSUMiOyFuLkpnJiYoZy5NVihuLnlRKXx8dHUobi55USl8fEQpJiYoVy5pbmNsdWRlcyhuLm11c2ljVmlkZW9UeXBlKXx8bi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0KSYmKG4uSmc9ITApO2lmKFc9Zy5kOCgpKVc9L1N0YXJib2FyZFwvKFswLTldKykvLmV4ZWMoZy5YUSgpKSxXPShXP3BhcnNlSW50KFdbMV0sMTApOk5hTik8MTA7RD1odShuLnlRKSYmbi55US5OLmN0aGVtZT09PSJNVVNJQyI7dmFyIGI7aWYoYj0hbi5KZylEfHwoRD1uLnlRLEQ9bG8oRCk9PT0iVFZIVE1MNSImJkQuTi5jdmVyLnN0YXJ0c1dpdGgoIjciKSksYj1EO2ImJiFXJiYoVz1uLm11c2ljVmlkZW9UeXBlPT09Ik1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIiwKRD0obi5TKCJjYXN0X3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKXx8bi5TKCJrYWJ1a2lfcGFuZ2VhX3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKSkmJm4ubXVzaWNWaWRlb1R5cGU9PT0iTVVTSUNfVklERU9fVFlQRV9BVFYiLFd8fER8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCkmJihuLkpnPSEwKTtyZXR1cm4gbi55US5kZXZpY2VJc0F1ZGlvT25seXx8bi5KZyYmbi55US5LfTsKUXo9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuUygiaHRtbDVfZGlzYWJsZV9hdjEiKT8hMDohMX07Ck5JPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5jb21wb3NpdGVCcm9hZGNhc3RUeXBlPT09IkNPTVBPU0lURV9CUk9BRENBU1RfVFlQRV9DT01QUkVTU0VEX0RPTUFJTl9DT01QT1NJVEUifTsKVno9ZnVuY3Rpb24obil7dmFyIFc9bi5LO24uUygiaHRtbDVfZ2FwbGVzc191bmxpbWl0X2Zvcm1hdF9zZWxlY3Rpb24iKSYmQUoobikmJihXPSExKTt2YXIgRD0hIW4uTiYmbi5OLnpXO1c9VThaKG4ueVEse21WOm4ubVYoKSx5WDpELE93OlJRKG4pLEhpOm4uSGksbFU6Vyxpc090ZjpuLmlzT3RmKCksb0w6bi5vTCgpLElSOm4uSVIseGQ6bi5nZXRVc2VyQXVkaW81MVByZWZlcmVuY2UoKSxkaXNhYmxlQXYxOlF6KG4pLGRCOk5JKG4pfSk7Zy5ZTihuKSYmKFcudlg9ITApO3pRKCkmJm4ucGxheWVyUmVzcG9uc2UmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnJiZuLnBsYXllclJlc3BvbnNlLnBsYXllckNvbmZpZy53ZWJQbGF5ZXJDb25maWcmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnLndlYlBsYXllckNvbmZpZy51c2VDb2JhbHRUdm9zRG9nZm9vZEZlYXR1cmVzJiYoVy5qPSEwLFcuVj0hMCk7bi5LJiZuLmlzQWQoKSYmKG4uWXImJihXLk89bi5Zciksbi5TViYmCihXLlg9bi5TVikpO24uTlAoKSYmKFcuUyQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzIikpO1cubnU9bi5pc0xpdmVQbGF5YmFjayYmbi5NaSgpJiZuLnlRLlMoImh0bWw1X2RybV9saXZlX2F1ZGlvXzUxIik7Vy5iZD1uLkVUO24uUygiaHRtbDVfZGlzYWJsZV92cDlfaGRyX2ZhaXJwbGF5IikmJnpRKCkmJihXLmJkPSEwKTtXLlJhPSFnLllOKG4pO1cuVEM9IWcuWU4obikmJm4ueVEuZXhwZXJpbWVudHMuWnQoKS5OLlFRKFByaSk7cmV0dXJuIG4uZSQ9V307ClV0TT1mdW5jdGlvbihuKXtnLmFMKCJkcm1fcGJfcyIsdm9pZCAwLG4uelIpO24uQ2l8fG4uTiYmbi5OLlgoKTt2YXIgVz17fTtuLk4mJihXPU5kKG4ueXcsVnoobiksbi55US5XLG4uTixEPT5uLldKKCJjdG1wIiwiZm10Zmx0IixEKSwhMCxuZXcgU2V0KSk7Clc9bmV3IFpXUyhXLG4ueVEsbi5KaixuLnVzZUNvYmFsdFdpZGV2aW5lP3pRKCk/VGYobik6ITE6ITEsKEQsYik9PntuLlUoRCxiKX0pOwpnLnUobixXKTtuLlEkPSExO24ubG9hZGluZz0hMDtkOGkoVyxEPT57Zy5hTCgiZHJtX3BiX2YiLHZvaWQgMCxuLnpSKTtmb3IodmFyIGIgb2YgRClzd2l0Y2goYi5mbGF2b3Ipe2Nhc2UgImZhaXJwbGF5IjpiLkNpPW4uQ2k7Yi5WOT1uLlY5O2Iuamk9bi5qaTticmVhaztjYXNlICJ3aWRldmluZSI6Yi5GYz1uLkZjfW4uVFE9RDtpZihuLlRRLmxlbmd0aD4wJiYobi5qPW4uVFFbMF0sbi55US5XWCgpKSl7RD17fTtmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMobi5qLkopKXtiPWs7bGV0IGg9InVuayIseD12Lm1hdGNoKC8oLiopY29kZWNzPSIoLiopIi8pO3gmJihoPXhbMl0pO0RbaF09Yn1uLlUoImRybVByb2JlIixEKX1mTChuKX0pfTsKY2o9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz0hIW4uY290bilXPW4udmlkZW9JZCxXPSEhVyYmZSQoVyk9PT0xO3JldHVybiBXJiYhbi5XaX07CnkxaD1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5zdHJlYW1pbmdEYXRhPy5hZGFwdGl2ZUZvcm1hdHN8fFtdLEQ9bnVsbDtpZihXLmxlbmd0aD4wKUQ9YVEobixXKTtlbHNlIGlmKCFuLlMoImh0bWw1X2RlcHJlY2F0ZV9hZGFwdGl2ZV9mb3JtYXRzX3N0cmluZyIpKXtuLlUoInBhZm10c3RyIix7czpuLmFkYXB0aXZlRm9ybWF0cy5zdWJzdHJpbmcoMCw1MCl9KTtpZigoVz1uLmFkYXB0aXZlRm9ybWF0cykmJiFqJChuKSl7bi55US5XLkomJihSbz0hMCk7Vz1uQShXKTtEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9czVVKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaD8uZXhwZXJpbWVudHMsITApO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLlc9IWs7Yi5pc0xpdmU9IWs7Yi5YZz1rO2ZvcihHIG9mIFcpe3Y9SW8oRywKRCwwLGgseCk7TD1SeChHLnVybCxHLnNwLEcucyk7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aD8uZXhwZXJpbWVudHM/LkVxKCJodG1sNV9tYXhfa25vd25fZW5kX3RpbWVfcmViYXNlIik7bGV0IHI9TnVtYmVyKEcudGFyZ2V0X2R1cmF0aW9uX3NlYyl8fDUsTj1OdW1iZXIoRy5tYXhfZHZyX2R1cmF0aW9uX3NlYyl8fDE0NDAwLEg9TnVtYmVyKEwuZ2V0KCJtaW5kc3EiKXx8TC5nZXQoIm1pbl9zcSIpfHwiMCIpLEE9TnVtYmVyKEwuZ2V0KCJtYXhkc3EiKXx8TC5nZXQoIm1heF9zcSIpfHwiMCIpfHxJbmZpbml0eTtiLkl0PWIuSXR8fEg7Yi5IUD1iLkhQfHxBO2xldCB5PSF2Lk4oKTtMJiYkZyhiLG5ldyBXVChMLHYse3JiOnIsT1Q6eSx1YjpOLEl0OkgsSFA6QSx1azozMDAsWGc6ayxFMzplfSkpfXZhciBHPWJ9ZWxzZSBHPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/TnBqKFcsRCxiLGgseCk6cEpiKFcsRCxiLGgseCk7Vy5sZW5ndGg+CjAmJihXPVdbMF0sRmUobikmJlcudXJsJiYobi5SYT1uLlJhfHxCaihXLnVybCkpKTtXPW4uaXNMaXZlUGxheWJhY2smJiFuLlhnJiYhbi5SSSYmIW4uaXNQcmVtaWVyZTtuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiYoIWcuRFAobikmJlcmJm4uVSgibWlzc2luZ0xpdmVIZWFkUGxheWFibGUiLHt9KSxuLnlRLlY9PT0ieXQiJiYoRy5WUT0hMCkpO0Q9R31lbHNlIEQ9bnVsbDtuLlUoInBhZm10cyIse2lzTWFuaWZlc3RGaWxsZWQ6ISFEfSl9aWYoIUQpcmV0dXJuITE7YkYobixEKTtyZXR1cm4hMH07Ckk0PWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uTnx8IW4uTi5pc01hbmlmZXN0bGVzcyl9OwpnLkRQPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiZJNChuKSYmbi55US5WPT09Inl0Ij9uLmlzTGl2ZUhlYWRQbGF5YWJsZTpuLmlzTGl2ZVBsYXliYWNrfTsKYVE9ZnVuY3Rpb24obixXKXtpZihXLmxlbmd0aD09PTB8fGokKG4pKXJldHVybiBudWxsO24ueVEuVy5KJiYoUm89ITApO3ZhciBEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9cXVqKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaC5leHBlcmltZW50cywhMCk7Yi5XPSFrO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLmlzTGl2ZT0haztiLlhnPWs7Zm9yKGxldCBHIG9mIFcpe3Y9dFooRyxELDAsaCx4KTtsZXQge0VsOnIsczpOLHk3Okh9PVAwKDUsNjk0LEcpO0w9Ungocnx8Ry51cmx8fCIiLEgsTik7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aC5leHBlcmltZW50cz8uRXEoImh0bWw1X21heF9rbm93bl9lbmRfdGltZV9yZWJhc2UiKTtsZXQgQT1OdW1iZXIoRy50YXJnZXREdXJhdGlvblNlY3x8CjUpLHk9TnVtYmVyKEcubWF4RHZyRHVyYXRpb25TZWN8fDE0NDAwKSxUPU51bWJlcihMLmdldCgibWluZHNxIil8fEwuZ2V0KCJtaW5fc3EiKXx8IjAiKSx6PU51bWJlcihMLmdldCgibWF4ZHNxIil8fEwuZ2V0KCJtYXhfc3EiKXx8IjAiKXx8SW5maW5pdHk7Yi5JdD1iLkl0fHxUO2IuSFA9Yi5IUHx8ejtsZXQgQz0hdi5OKCk7TCYmJGcoYixuZXcgV1QoTCx2LHtyYjpBLE9UOkMsdWI6eSxJdDpULEhQOnosdWs6MzAwLFhnOmssRTM6ZX0pKX1EPWJ9ZWxzZSBEPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/RzNDKFcsRCxiLGgseCk6dE9aKFcsRCxiLGgseCk7Vy5sZW5ndGg+MCYmKFc9V1swXSxGZShuKSYmVy51cmwmJihuLlJhPW4uUmF8fEJqKFcudXJsKSkpO1c9bi5pc0xpdmVQbGF5YmFjayYmIW4uWGcmJiFuLlJJJiYhbi5pc1ByZW1pZXJlO24uUygiaHRtbDVfbGl2ZV9oZWFkX3BsYXlhYmxlIikmJighZy5EUChuKSYmVyYmbi5VKCJtaXNzaW5nTGl2ZUhlYWRQbGF5YWJsZSIsCnt9KSxuLnlRLlY9PT0ieXQiJiYoRC5WUT0hMCkpO3JldHVybiBEfTsKbkE9ZnVuY3Rpb24obixXKXtuPXV3KG4pO3ZhciBEPXt9O2lmKFcpZm9yKHZhciBiIG9mIFcuc3BsaXQoIiwiKSkoVz1iLm1hdGNoKC9eKFswLTldKylcLyhbMC05XSspeChbMC05XSspKFwvfCQpLykpJiYoRFtXWzFdXT17d2lkdGg6V1syXSxoZWlnaHQ6V1szXX0pO2ZvcihsZXQgdiBvZiBuKWlmKGI9RFt2Lml0YWddKXYud2lkdGg9Yi53aWR0aCx2LmhlaWdodD1iLmhlaWdodDtyZXR1cm4gbn07CmJGPWZ1bmN0aW9uKG4sVyxEPSExKXtuLmVWPXZvaWQgMDtuLk49VztnLnUobixXKTtXLkl0PW4uSXQ7Vy5IUD1uLkhQO1cuSlU9bi5KVTtXLm9SPW4ub1I7Vy5JVD1uLklUO24ubEMmJihXLlk9bmV3IHZUKG4ubEMpKTsobi5tVigpfHxnLmtwKG4pKSYmbi5JSi5wdXNoKCJ3ZWJnbCIpO24uTi5pc0xpdmV8fChuLmlzTGl2ZVBsYXliYWNrPSExKTt2YXIgYj1XLnNvdXJjZVVybC5zcGxpdCgiLyIpO2lmKG4uVlE/Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT09LTE6Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT0tMSluLnptPU51bWJlcihiW2IuaW5kZXhPZigibWFuaWZlc3RfZHVyYXRpb24iKSsxXSk7aWYoVy5XfHxXLmlzTWFuaWZlc3RsZXNzKVcuc3Vic2NyaWJlKCJjbGllbnR0ZW1wIixuLlUsbiksRD9XLnN1YnNjcmliZSgicmVmcmVzaCIsbi5QSCxuKTpXLnN1YnNjcmliZSgiY3VlcG9pbnRzYWRkZWQiLG4uRVosbik7Vy5YKCk/bi5RJD0hMDpHTD12b2lkIDA7Cm4uUkkmJihXLmlzV2luZG93ZWRMaXZlPW4uUkksVy5pc0xpdmU9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk7Vy5pc1ByZW1pZXJlPW4uaXNQcmVtaWVyZTtXLmlzTGl2ZUhlYWRQbGF5YWJsZT1uLmlzTGl2ZUhlYWRQbGF5YWJsZX07ClRmPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X3R2b3Nfc2tpcF9kYXNoX2F1ZGlvX2NoZWNrIil8fE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicpfTsKaiQ9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCk/IVRmKG4pOkMkKCk/bi5DaSYmbi5jTz8hMDohKCFuLkNpfHwhbi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJmZOKCkpOiExfTsKU3g9ZnVuY3Rpb24obil7cmV0dXJuIG4ubGF0ZW5jeUNsYXNzPT09IkxPVyJ8fG4ubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIn07CmhEPWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRP1N4KG4pJiZuLk4hPW51bGwmJm9vKG4uTik+PTU6U3gobikmJm4uTiE9dm9pZCAwJiZvbyhuLk4pPj01fTsKRXFoPWZ1bmN0aW9uKG4pe24ubG9hZGluZz0hMDtuLkN1PSExO2lmKGNqKG4pKUIkeChuLnZpZGVvSWQpLnRoZW4oYj0+e2lmKG4ucGxheWVyUmVzcG9uc2U/LnN0cmVhbWluZ0RhdGEpe3ZhciB2PVtdO2ZvcihsZXQgayBvZiBiKWI9T2JqZWN0LmFzc2lnbih7fSxrKSxiLnNpZ25hdHVyZUNpcGhlcj0iIix2LnB1c2goYik7di5sZW5ndGg8MiYmbi5VKCJvZmZtbGYiLHtsZW46di5sZW5ndGh9KTt2PWFRKG4sdik7UlEobikmJnp4KHYsITEpO2JGKG4sdik7bi5VKCJkbHIiLHt9KX1lbHNlIG4uVSgib2Zmc2RtIix7Y290bjpuLkNtP24uQ20uY290bjoiMCIsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pfSkudGhlbigoKT0+e2ZMKG4pfSk7CmVsc2V7Z1gobi5UZil8fGcuR3EobmV3IGcuUXgoIkRBU0ggTVBEIE9yaWdpbiBpbnZhbGlkOiAiLG4uVGYpKTt2YXIgVz1uLlRmLEQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJkYXNoX21hbmlmZXN0X3ZlcnNpb24iKXx8NDtXPWcuRVQoVyx7bXBkX3ZlcnNpb246RH0pO1N4KG4pJiZuLmxhdGVuY3lDbGFzcyE9PSJOT1JNQUwifHwoVz1nLkVUKFcse3BhY2luZzowfSkpO2Z0WihXLG4ueVEuZXhwZXJpbWVudHMsbi5pc0xpdmVQbGF5YmFjaykudGhlbihiPT57bi5xTigpfHwoYkYobixiLCEwKSxnLmFMKCJtcmMiLHZvaWQgMCxuLnpSKSxmTChuKSl9LGI9PntuLnFOKCl8fChuLmxvYWRpbmc9ITEsbi5XSigiZGF0YWxvYWRlcnJvciIsbmV3IGcuQ2koIm1hbmlmZXN0Lm5ldC5yZXRyeWV4aGF1c3RlZCIse2JhY2tlbmQ6Im1hbmlmZXN0IiwKcmM6Yi5zdGF0dXN9LDEpKSl9KTsKZy5hTCgibXJzIix2b2lkIDAsbi56Uil9fTsKeHA9ZnVuY3Rpb24obil7aWYoIW4uaXNQcm94aW1hTGF0ZW5jeUVsaWdpYmxlKXJldHVybiAwO3ZhciBXPVlkKCk7cmV0dXJuIG4ueVEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmFibGVQcm94aW1hTG93TGF0ZW5jeT8yOlc9PT0xPzE6bi5TKCJodG1sNV9lbmFibGVfcHJveGltYSIpPzI6MH07Ckt6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUyhXKT8hMDoobi5mZmxhZ3N8fCIiKS5pbmNsdWRlcyhXKyI9dHJ1ZSIpfTsKaVdTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8Q0wobil8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdDtpZighbi5OfHxEKXJldHVybiBuLlUoInNraXBEYXNoIix7ZG06ISFuLk4sYWlyOlcsZGQ6bi5VVCxtc3M6Zk4oKSwiM3BwIjpuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3R9KSxnLnAkKCk7UlEobikmJnp4KG4uTixuLmlzTGl2ZVBsYXliYWNrKTtyZXR1cm4gZy5IMCgpLnRoZW4oKCk9PlMyYihuLnl3LFZ6KG4pLG4ueVEuVyxuLk4sbi5qLGI9Pm4uV0ooImN0bXAiLCJmbXRmbHQiLGIpLG4ub00sTEEobikpLnRoZW4oYj0+e2U3KG4sYik7Cm4ueXcuSj1udWxsOy9eYXYvLnRlc3Qobi5jbGllbnRQbGF5YmFja05vbmNlKSYmbi5lJCYmbi5VKCJhdjEiLG4uZSQuTil9KSl9Owp1bXQ9ZnVuY3Rpb24obixXKXtpZihXJiZuLmhsc3ZwKXJldHVybiBnLnAkKCk7aWYobi5obHNGb3JtYXRzKXtpZihXPW5BKG4uaGxzRm9ybWF0cykpe2xldCBiPVtdO2Zvcih2YXIgRCBvZiBXKUQudXJsJiYoRC51cmw9Vm10KEQudXJsKSksbi5lJD8uVyYmYi5wdXNoKEQuaXRhZyk7bi5lJD8uVyYmYi5sZW5ndGg+MCYmbi5VKCJobHNmbXQiLHtpdGFnczpiLmpvaW4oIi4iKX0pfW4ueUU9Z1laKG4ueVEsVyk7bi55RSYmZ2wobixuLnlFKTtEPW4uY2xpZW50UGxheWJhY2tOb25jZTtyZXR1cm4gdG1NKG4ueVEsbi5pc0FkKCksVyxuLnBsYXllclJlc3BvbnNlPy5jYXB0aW9ucz8ucGxheWVyQ2FwdGlvbnNSZW5kZXJlcj8uYmFzZVVybD8/bnVsbCxuLkdmLEQsYj0+bi5XSigiY3RtcCIsImhsc2ZsdCIsYikpLnRoZW4oYj0+e3ZhciB2PTAsaz1bXTsKZm9yKGxldCBoIG9mIGIpay5wdXNoKGgua0woKT8uaXRhZyksaC5rTCgpPy5ZKCk/Lm51bUNoYW5uZWxzPnYmJih2PWgua0woKS5hdWRpby5udW1DaGFubmVscyk7dj4yJiZuLlUoImhsc2NobCIse21uOnZ9KTtuLmUkPy5XJiZuLlUoImhsc2ZtdGFmIix7aXRhZ3M6ay5qb2luKCIuIil9KTtpZihuLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5qPy5OKCkpe24uVSgiZHJtIix7c2JkbGZiazoxfSk7Zm9yKGxldCBoIG9mIG4uVFEpaWYoZzEoaCkpe24uaj1oO2JyZWFrfX1YMihuLGIpfSl9cmV0dXJuIGcucCQoKX07Cm9xMT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QmJm4uY2Ype2xldCBXPW5BKG4uY2YpO2lmKCFXWzBdKXJldHVybiBnLnAkKCk7bi5xdz1XWzBdO3JldHVybiBzaXIobi55USxXWzBdKS50aGVuKEQ9PntYMihuLEQpfSl9cmV0dXJuIG4uUXImJm4ub2M/cnFaKG4ueVEsbi5pc0FkKCksbi5RcikudGhlbihXPT57WDIobixXKX0pOmcucCQoKX07CnprVT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QpcmV0dXJuIGcucCQoKTt2YXIgVz1uQShuLmNmLG4uR2opO2lmKG4uaGxzdnApe2xldCBEPVFpMihuLmhsc3ZwLG4uY2xpZW50UGxheWJhY2tOb25jZSxuLkdmKTtXLnB1c2goRCl9cmV0dXJuIGpDaChuLnlRLG4uaXNBZCgpLFcsZHQxKG4pKS50aGVuKEQ9PntYMihuLEQpfSl9OwpMQT1mdW5jdGlvbihuKXt2YXIgVz1uLlMoImh0bWw1X2VuYWJsZV9zZXJ2ZXJfZm9ybWF0X2ZpbHRlciIpJiYhbi5NaSgpLEQ9bi5TKCJodG1sNV9lbmFibGVfc2VydmVyX2Zvcm1hdF9maWx0ZXJfZm9yX2RybSIpJiZuLk1pKCk7cmV0dXJuIGcuWU4obikmJihXfHxEKX07CmU3PWZ1bmN0aW9uKG4sVyl7bi5XPVc7Z2wobixuLlcuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKSk7aWYobi5XKWZvcih2YXIgRCBvZiBuLlcudmlkZW9JbmZvcylXPUQuY29udGFpbmVyVHlwZSxXIT09MCYmKG4uYkJbV109RC5pZCk7RD1uLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7RD1ELmNvbmNhdChuLnZYKTtmb3IoVz0wO1c8bi5Udy5sZW5ndGg7VysrKXtsZXQgdj1uLlR3W1ddO2ZvcihsZXQgaz0wO2s8RC5sZW5ndGg7aysrKXtsZXQgaD1EW2tdO3ZhciBiPWgua1ouaWQ9PT12LmF1ZGlvVHJhY2tJZDtpZihoLmtaLmlzRGVmYXVsdCYmVz09PW4uTyR8fGIpe2lmKHYuY2FwdGlvblRyYWNrSW5kaWNlcylmb3IoYj0wO2I8di5jYXB0aW9uVHJhY2tJbmRpY2VzLmxlbmd0aDtiKyspaC5jYXB0aW9uVHJhY2tzW2JdPW4uY2FwdGlvblRyYWNrc1t2LmNhcHRpb25UcmFja0luZGljZXNbYl1dO3YuZGVmYXVsdENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5XPW4uY2FwdGlvblRyYWNrc1t2LmRlZmF1bHRDYXB0aW9uVHJhY2tJbmRleF0pOwp2LmZvcmNlZENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5OPW4uY2FwdGlvblRyYWNrc1t2LmZvcmNlZENhcHRpb25UcmFja0luZGV4XSk7aC5KPXYudmlzaWJpbGl0eXx8IlVOS05PV04iO2guY2FwdGlvbnNJbml0aWFsU3RhdGU9di5jYXB0aW9uc0luaXRpYWxTdGF0ZXx8IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiJ9fX1pZihuLmomJm4uVyYmbi5XLnZpZGVvSW5mb3MmJiEobi5XLnZpZGVvSW5mb3MubGVuZ3RoPD0wKSYmKEQ9bi5XLnZpZGVvSW5mb3NbMF0uVygpLG4uai5mbGF2b3I9PT0iZmFpcnBsYXkiIT09RCkpZm9yKGxldCB2IG9mIG4uVFEpaWYoRD09PSh2LmZsYXZvcj09PSJmYWlycGxheSIpKXtuLmo9djticmVha319OwpnbD1mdW5jdGlvbihuLFcpe1cuc29ydCgoRCxiKT0+RC50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYi50b1N0cmluZygpLG4ueVEuaG9zdExhbmd1YWdlKSl9OwpYMj1mdW5jdGlvbihuLFcpe24ubnU9VztlNyhuLG5ldyBwZyhnLmlfKG4ubnUsRD0+RC5rTCgpKSkpfTsKZHQxPWZ1bmN0aW9uKG4pe3ZhciBXPXtjcG46bi5jbGllbnRQbGF5YmFja05vbmNlLGM6bi55US5OLmMsY3ZlcjpuLnlRLk4uY3Zlcn07bi54eiYmKFcucHRrPW4ueHosVy5vaWQ9bi5YbyxXLnB0Y2huPW4uaDEsVy5wbHR5cGU9bi5xOCxuLnk5JiYoVy5tPW4ueTkpKTtyZXR1cm4gV307CmcucXU9ZnVuY3Rpb24obil7cmV0dXJuIGokKG4pJiZuLkNpP3tmYWlycGxheToiaHR0cHM6Ly95b3V0dWJlLmNvbS9hcGkvZHJtL2Zwcz9laz11bmluaXRpYWxpemVkIn06bi5KJiZuLkouY29udGVudFByb3RlY3Rpb258fG51bGx9OwpHZT1mdW5jdGlvbihuKXtyZXR1cm4gbi5wbGF5ZXJSZXNwb25zZSYmbi5wbGF5ZXJSZXNwb25zZS5wYWlkQ29udGVudE92ZXJsYXkmJm4ucGxheWVyUmVzcG9uc2UucGFpZENvbnRlbnRPdmVybGF5LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfHxnLncobi53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8ucGxheWVyRGlzY2xvc3VyZSxsYVMpfHxudWxsfTsKdEQ9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcudGV4dD9nLkRwKFcudGV4dCk6bi5wYWlkQ29udGVudE92ZXJsYXlUZXh0fTsKJHA9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcuZHVyYXRpb25Ncz9nLk5oKFcuZHVyYXRpb25Ncyk6bi5wYWlkQ29udGVudE92ZXJsYXlEdXJhdGlvbk1zfTsKcmw9ZnVuY3Rpb24obil7dmFyIFc9IiI7aWYobi51aClyZXR1cm4gbi51aDtuLmlzTGl2ZVBsYXliYWNrJiYoVz1uLmFsbG93TGl2ZUR2cj8iZHZyIjpuLmlzUHJlbWllcmU/ImxwIjpuLlJJPyJ3aW5kb3ciOiJsaXZlIik7bi5YZyYmKFc9InBvc3QiKTtyZXR1cm4gV307Cmcuc1M9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIG4ua2V5d29yZHNbV10hPT0ic3RyaW5nIj9udWxsOm4ua2V5d29yZHNbV119OwpnLllMPWZ1bmN0aW9uKG4pe3JldHVybiEhKG4uVGZ8fG4uY2Z8fG4uUXJ8fG4uaGxzdnB8fG4uSXAoKSl9OwpBeD1mdW5jdGlvbihuKXtyZXR1cm4obj1uLlJ0KSYmbi5zaG93RXJyb3I/bi5zaG93RXJyb3I6ITF9OwpOdT1mdW5jdGlvbihuKXtuLm11dGVkQXV0b3BsYXk9ITE7bi5lbmRTZWNvbmRzPU5hTjtuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPU5hTjt6ZihuKX07CmcucEE9ZnVuY3Rpb24obil7cmV0dXJuIGcuRFAobikmJiFuLmFsbG93TGl2ZUR2cn07CllwPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRQKG4pJiZuLmFsbG93TGl2ZUR2cn07CmcuSFQ9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJks2KG4uTil9OwpnLmZBPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZPayhuLk4pfTsKZy5rcD1mdW5jdGlvbihuKXtyZXR1cm4hIW4uTiYmSiRVKG4uTil9OwpnLkpEPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZQRihuLk4pfTsKSVQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uYWRGb3JtYXQmJihuLlZRP24uYWRGb3JtYXQhPT0iMV81IjpuLmFkRm9ybWF0IT0iMV81Iik/ImFkdW5pdCI6bi5ldmVudExhYmVsfHxuLnlRLll9OwpnLlM3PWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJzaG9ydHNwYWdlIn07CkFEPWZ1bmN0aW9uKG4pe3JldHVybiBuLkd1fHxJVChuKT09PSJkZXRhaWxwYWdlInx8SVQobik9PT0ic2hvcnRzcGFnZSJ8fG4ubXV0ZWRBdXRvcGxheX07CmlUPWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJhZHVuaXQiP24uVlQ6QUQobik/SVQobik9PT0iZGV0YWlscGFnZSJ8fElUKG4pPT09InNob3J0c3BhZ2UiP24uaXNBdXRvbmF2fHxuLlMkPjA6bi5mQj8hMTpuLnlRLlU1fHxuLnlRLk1kfHwhZy5vNChuLnlRKT8hMDohMToobi5mQj8wOm4uUFgpJiZnLm80KG4ueVEpPyEwOiExfTsKZy5tTz1mdW5jdGlvbihuKXtyZXR1cm4gbi56VygpJiZnLllOKG4pfTsKcHo9ZnVuY3Rpb24obil7cmV0dXJuISFuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/Lm1lZGlhQ29tbW9uQ29uZmlnPy5zcGxpdFNjcmVlbkVsaWdpYmxlfTsKS0E9ZnVuY3Rpb24obil7cmV0dXJuIGlzTmFOKG4pPzA6TWF0aC5tYXgoKERhdGUubm93KCktbikvMUUzLTMwLDApfTsKT1M9ZnVuY3Rpb24obil7cmV0dXJuISghbi5XaXx8IW4ueVEuSykmJm4uSXAoKX07ClBUPWZ1bmN0aW9uKG4pe3JldHVybiBuLktkJiZuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpfTsKVGhpPWZ1bmN0aW9uKG4pe3JldHVybiBuLkRFJiYhbi5sQ307CmNxeD1mdW5jdGlvbihuKXtzd2l0Y2gobi55US5WKXtjYXNlICJnZCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fZHJpdmUiKTtjYXNlICJncCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fcGxheV9zdG9yZSIpO2Nhc2UgImRkIjpyZXR1cm4hMDtjYXNlICJwdyI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpO2RlZmF1bHQ6cmV0dXJuITF9fTsKcEw9ZnVuY3Rpb24obil7dmFyIFc7aWYoIShXPU5zJiZuLnpXKCkmJm4uTWkoKSYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCkmJm4uUygiaHRtbDVfc2Ficl9saXZlX2RybV9zdHJlYW1pbmdfeGhyIikpKXtXPW4uelcoKSYmIW4uTWkoKSYmTnM7dmFyIEQ9bi56VygpJiZuLmxhdGVuY3lDbGFzcyE9PSJVTFRSQUxPVyImJiFTeChuKSYmbi5TKCJodG1sNV9zYWJyX2xpdmVfbm9ybWFsX2xhdGVuY3lfc3RyZWFtaW5nX3hociIpLGI9U3gobikmJm4uUygiaHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtsZXQgdj1uLmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyImJm4uUygiaHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtXPVcmJihEfHxifHx2KX1EPVc7Vz1uLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZEJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3NzZGFpX3N0cmVhbWluZ194aHIiKTtEPSFuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYKRDtiPW4uelcoKSYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX2xpdmVfbm9uX3N0cmVhbWluZ194aHIiKTtuPU5zJiYobi5ERigpfHxweihuKSYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl9mb3JfbGlmYV9lbGlnaWJsZV9zdHJlYW1zIikpO3JldHVybiBXfHxEfHxifHxufTsKZy5tTT1mdW5jdGlvbihuKXtpZighbi5OfHwhbi5KfHwhbi5YKXJldHVybiExO3ZhciBXPW4uTi5OLEQ9ISFXW24uSi5pZF0mJmdaKDU2LDExOTYsV1tuLkouaWRdLlhiLk4pO1c9ISFXW24uWC5pZF0mJmdaKDIyLDExNTQsV1tuLlguaWRdLlhiLk4pO3JldHVybihuLkouaXRhZz09PSIwInx8RCkmJld9OwpaUD1mdW5jdGlvbihuKXtyZXR1cm4gbi5lQj9bIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKG4uZUIuc3RhdHVzKTohMH07ClVTPWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uaXNMaXZlUGxheWJhY2t8fCFuLmhhc1Byb2dyZXNzQmFyQm91bmRhcmllcygpKX07CnlVPWZ1bmN0aW9uKG4pe3JldHVybiBuLnlRLmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqc1opJiZuLk5QKCl8fG4uUygiZW5hYmxlX3BsYXllcl9yZXNwb25zZV9jYWNoZV9mb3JfbGl2ZSIpfTsKRVM9ZnVuY3Rpb24obil7cmV0dXJuISFuLmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckZsYWdzPy5lbmFibGVNdXNpY1V4fTsKaUY9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuSiYmbi5pc1ByaXZhdGV9OwpnLm9UPWZ1bmN0aW9uKG4pe3ZhciBXPW4uRygpLEQ9dUYoVyksYj1XLlFyO2cuQ04oVykmJihiJiYoRC50aGlyZFBhcnR5PXsuLi5ELnRoaXJkUGFydHksZW1iZWRVcmw6Yn0pLGcuRW4oRCxuKSk7KGI9bi50dyk/RC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmJ9OmcuQ04obi5HKCkpJiZnLkFyKCJFVkVOVF9JRCIpJiYoRC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmcuQXIoIkVWRU5UX0lEIil9KTtiPUQuY2xpZW50fHx7fTt2YXIgdj0iRU1CRUQiLGs9SVQobik7az09PSJsZWFuYmFjayI/dj0iV0FUQ0giOlcuUygiZ3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlbiIpJiZrPT09InByb2ZpbGVwYWdlIj92PSJDSEFOTkVMIjpuLklSP3Y9IkxJVkVfTU9OSVRPUiI6az09PSJkZXRhaWxwYWdlIj92PSJXQVRDSF9GVUxMX1NDUkVFTiI6az09PSJhZHVuaXQiP3Y9IkFEVU5JVCI6az09PSJzcG9uc29yc2hpcHNvZmZlciImJih2PSJVTktOT1dOIik7Yi5jbGllbnRTY3JlZW49CnY7aWYodj1uLmtpZHNBcHBJbmZvKWIua2lkc0FwcEluZm89SlNPTi5wYXJzZSh2KTsoaz1uLkFtKSYmIXYmJihiLmtpZHNBcHBJbmZvPXtjb250ZW50U2V0dGluZ3M6e2FnZVVwTW9kZTpDcmJba119fSk7aWYodj1uLnRHKWIudW5wbHVnZ2VkQXBwSW5mbz17ZW5hYmxlRmlsdGVyTW9kZTohMH07KGs9bi51bnBsdWdnZWRGaWx0ZXJNb2RlVHlwZSkmJiF2JiYoYi51bnBsdWdnZWRBcHBJbmZvPXtmaWx0ZXJNb2RlVHlwZTpCaGhba119KTtpZih2PW4uWFkpYi51bnBsdWdnZWRMb2NhdGlvbkluZm89djtELmNsaWVudD1iO2I9RC5yZXF1ZXN0fHx7fTtuLllaJiYoYi5pc1ByZWZldGNoPSEwKTtpZih2PW4ubWR4RW52aXJvbm1lbnQpYi5tZHhFbnZpcm9ubWVudD12O2lmKHY9bi5tZHhDb250cm9sTW9kZSliLm1keENvbnRyb2xNb2RlPUZHeFt2XTtELnJlcXVlc3Q9YjtiPUQudXNlcnx8e307aWYodj1uLkQpYi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnM9W3t0b2tlbjp2LHNjb3BlOiJWSURFTyJ9XTsKaWYodj1uLkhKKWIuZGVsZWdhdGVQdXJjaGFzZXM9e29hdXRoVG9rZW46dn0sYi5raWRzUGFyZW50PXtvYXV0aFRva2VuOnZ9O3Y9Vy5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk/LnVzZXJDb250ZW50UmF0aW5nOyF2JiZXLlMoImVuYWJsZV9icmF6aWxfYWdlX2dhdGluZ193ZWIiKSYmKHY9Zy5vOSgpLmdldCgiYnJfYWdlX3JhdGluZyIpKTt2JiYoYi5zZXJpYWxpemVkVXNlckNvbnRlbnRSYXRpbmc9dik7RC51c2VyPWI7aWYoVz1uLmNvbnRleHRQYXJhbXMpRC5hY3RpdmVQbGF5ZXJzPVt7cGxheWVyQ29udGV4dFBhcmFtczpXfV07aWYobj1uLmNsaWVudFNjcmVlbk5vbmNlKUQuY2xpZW50U2NyZWVuTm9uY2U9bjtyZXR1cm4gRH07CnVGPWZ1bmN0aW9uKG4pe3ZhciBXPWcudmIoKSxEPVcuY2xpZW50fHx7fTtpZihuLmZvcmNlZEV4cGVyaW1lbnRzKXt2YXIgYj1uLmZvcmNlZEV4cGVyaW1lbnRzLnNwbGl0KCIsIik7bGV0IHY9W107Zm9yKGxldCBrIG9mIGIpdi5wdXNoKE51bWJlcihrKSk7RC5leHBlcmltZW50SWRzPXZ9aWYoYj1uLmhvbWVHcm91cEluZm8pRC5ob21lR3JvdXBJbmZvPUpTT04ucGFyc2UoYik7aWYoYj1uLmdldFBsYXllclR5cGUoKSlELnBsYXllclR5cGU9YjtpZihiPW4uTi5jdGhlbWUpRC50aGVtZT1iO2lmKGI9bi5saXZpbmdSb29tQXBwTW9kZSlELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sbGl2aW5nUm9vbUFwcE1vZGU6Yn07Yj1uLmRldmljZVllYXI7bi5TKCJodG1sNV9wcm9wYWdhdGVfZGV2aWNlX3llYXIiKSYmYiYmKEQudHZBcHBJbmZvPXsuLi5ELnR2QXBwSW5mbyxkZXZpY2VZZWFyOmJ9KTtpZihiPW4ubGl2aW5nUm9vbVBvVG9rZW5JZClELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sCmxpdmluZ1Jvb21Qb1Rva2VuSWQ6Yn07Vy5jbGllbnQ9RDtiPVcudXNlcnx8e307bi5lbmFibGVTYWZldHlNb2RlJiYoYj17Li4uYixlbmFibGVTYWZldHlNb2RlOiEwfSk7IUQudHZBcHBJbmZvPy51c2VQYWdlaWRBc0hlYWRlciYmbi5wYWdlSWQmJihiPXsuLi5iLG9uQmVoYWxmT2ZVc2VyOm4ucGFnZUlkfSk7Vy51c2VyPWI7cmV0dXJuIFd9OwpsRj1mdW5jdGlvbihuLFcsRCl7Vz17dmlkZW9JZDpuLnZpZGVvSWQsY29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhuLFcsRCl9fTtuLmdUJiYoVy5wbGF5YmFja0NvbnRleHQucmVsb2FkUGxheWJhY2tDb250ZXh0PXtyZWxvYWRQbGF5YmFja1BhcmFtczpuLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtc30pO24uY29udGVudENoZWNrT2smJihXLmNvbnRlbnRDaGVja09rPSEwKTtpZihEPW4uY2xpZW50UGxheWJhY2tOb25jZSlXLmNwbj1EO2lmKEQ9bi5wbGF5ZXJQYXJhbXMpVy5wYXJhbXM9RDtlbHNlIGlmKEQ9bi5nZXRSZXNvbHZlVXJsUmVzcG9uc2UoKSlpZihEPWRsKEQpKVcucGFyYW1zPUQ7aWYoRD1uLnBsYXlsaXN0SWQpVy5wbGF5bGlzdElkPUQ7bi5yYWN5Q2hlY2tPayYmKFcucmFjeUNoZWNrT2s9ITApO0Q9bi5HKCk7dmFyIGI9RC5lbWJlZENvbmZpZztuLk5kP1cuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz0Kbi5OZDpiJiYoVy5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWIpO1cuY2FwdGlvblBhcmFtcz17fTtiPWcubzkoKS5RUSg2NSk7bi5kZXZpY2VDYXB0aW9uc09uIT1udWxsP1cuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc09uPW4uZGV2aWNlQ2FwdGlvbnNPbjpnLmVNKEQpJiYoVy5jYXB0aW9uUGFyYW1zLmRldmljZUNhcHRpb25zT249YiE9bnVsbD8hYjohMSk7bi5LTCYmKFcuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc0xhbmdQcmVmPW4uS0wpO2I9bi5TKCJ3ZWJfZW5hYmxlX3BsYXllcl9yZXF1ZXN0X2NhcHRpb25zX2xhc3RfbGFuZ3VhZ2Vfb25seSIpO2lmKG4uRmUubGVuZ3RoKVcuY2FwdGlvblBhcmFtcy52aWV3ZXJTZWxlY3RlZENhcHRpb25MYW5ncz1iP1tuLkZlLmF0KC0xKV06bi5GZTtlbHNlIGlmKGcuZU0oRCkpe3ZhciB2PWcuU0koKTt2Py5sZW5ndGgmJihXLmNhcHRpb25QYXJhbXMudmlld2VyU2VsZWN0ZWRDYXB0aW9uTGFuZ3M9Yj9bdi5hdCgtMSldOgp2KX1iPW4uZmV0Y2hUeXBlPT09Im9uZXNpZSImJm4uUygiaHRtbDVfb25lc2llX2F0dGFjaF9wb190b2tlbiIpO3Y9bi5mZXRjaFR5cGUhPT0ib25lc2llIiYmbi5TKCJodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlbiIpO2lmKGJ8fHYpYj1uLkcoKSxiLmpXJiYoVy5zZXJ2aWNlSW50ZWdyaXR5RGltZW5zaW9ucz17fSxXLnNlcnZpY2VJbnRlZ3JpdHlEaW1lbnNpb25zLnBvVG9rZW49Yi5qVyk7RC5TKCJmZXRjaF9hdHRfaW5kZXBlbmRlbnRseSIpJiYoVy5hdHRlc3RhdGlvblJlcXVlc3Q9e29taXRCb3RndWFyZERhdGE6ITB9KTtXLnBsYXliYWNrQ29udGV4dHx8KFcucGxheWJhY2tDb250ZXh0PXt9KTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcz16ZShuKTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcy5zdXBwb3J0c1ZwOUVuY29kaW5nPT09ITEmJm4uVSgibm9WcDkiLHt9KTtyZXR1cm4gV307CnplPWZ1bmN0aW9uKG4pe3ZhciBXPSFuPy5vTCgpJiZuPy56VygpJiZjMCgpO3JldHVybntzdXBwb3J0c1ZwOUVuY29kaW5nOiEoIW4/LllqKCl8fFcpLHN1cHBvcnRYaHI6TnN9fTsKajc9ZnVuY3Rpb24obil7aWYobj1uPy5lbmRwb2ludClyZXR1cm4gZy53KG4sZy5JUSl8fGcudyhuLFRlKX07CmRsPWZ1bmN0aW9uKG4pe3JldHVybiBqNyhuKT8ucGxheWVyUGFyYW1zfTsKTVNNPWFzeW5jIGZ1bmN0aW9uKG4sVyl7bj17Y29udGV4dDp1RihuLkcoKSksZW5nYWdlbWVudFR5cGU6IkVOR0FHRU1FTlRfVFlQRV9QTEFZQkFDSyIsaWRzOlt7cGxheWJhY2tJZDp7dmlkZW9JZDpuLnZpZGVvSWQsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX19XX07dmFyIEQ9TEIod1laKTtyZXR1cm4gYXdhaXQgZy5yXyhXLG4sRCl9OwpDQT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIik7KCFvZnx8KDAsZy5SKSgpLW9mPmIpJiZNU00obixEKS50aGVuKHY9Pnt2JiYodj12LmJvdGd1YXJkRGF0YSkmJmcuekModixXKX0sdj0+e24ucU4oKXx8KHY9QiQodiksbi5VKCJhdHRmIix2LmRldGFpbHMpKX0pfTsKQlQ9ZnVuY3Rpb24obixXLEQpe24uc3RhdGUuTltXXT0oLi4uYik9PkQuYXBwbHkobixiKX07CkYyPWZ1bmN0aW9uKG4sVyxEKXtuLnN0YXRlLk4uaGFzT3duUHJvcGVydHkoVyl8fEJUKG4sVyxEKTtuLnN0YXRlLmpbV109KC4uLmIpPT5ELmFwcGx5KG4sYik7Cm4uc3RhdGUuSy5hZGQoVyl9Owp3bD1mdW5jdGlvbihuLFcsRCl7bi5zdGF0ZS5OLmhhc093blByb3BlcnR5KFcpfHxCVChuLFcsRCk7bi5hcHAuRygpLksmJihuLnN0YXRlLlZbV109KC4uLmIpPT5ELmFwcGx5KG4sYiksbi5zdGF0ZS5LLmFkZChXKSl9OwpNdT1mdW5jdGlvbihuLFcpe24uc3RhdGUuTi5hZGRFbWJlZHNDb252ZXJzaW9uVHJhY2tpbmdQYXJhbXMoLi4uVyl9OwpnLlJUPWZ1bmN0aW9uKG4sVywuLi5EKXtuLnN0YXRlLlcuV0ooVywuLi5EKTtuLnN0YXRlLkouV0ooVywuLi5EKX07CmcuUVU9ZnVuY3Rpb24obixXLC4uLkQpe24uc3RhdGUuVy5XSihXLC4uLkQpO24uc3RhdGUuSi5XSihXLC4uLkQpO24uc3RhdGUuWC5XSihXLC4uLkQpfTsKZy5WVT1mdW5jdGlvbihuLFcsLi4uRCl7bi5zdGF0ZS5XLldKKFcsLi4uRCk7bi5zdGF0ZS5KLldKKFcsLi4uRCk7bi5zdGF0ZS5YLldKKFcsLi4uRCk7bi5zdGF0ZS5ZLldKKFcsLi4uRCl9OwphVD1mdW5jdGlvbihuLFcsRCl7dHlwZW9mIG49PT0ic3RyaW5nIiYmKG49e21lZGlhQ29udGVudFVybDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH0pO2E6e2lmKChXPW4ubWVkaWFDb250ZW50VXJsKSYmKFc9L1wvKFt2ZV18ZW1iZWQpXC8oW14jP10rKS8uZXhlYyhXKSkmJldbMl0pe1c9V1syXTticmVhayBhfVc9bnVsbH1uLnZpZGVvSWQ9VztyZXR1cm4gY1Qobil9OwpjVD1mdW5jdGlvbihuLFcsRCl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57dmlkZW9JZDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH07Vz17fTtmb3IobGV0IGIgb2YgUmtaKW5bYl0mJihXW2JdPW5bYl0pOyhuPW4uZW1iZWRDb25maWd8fG4uZW1iZWRfY29uZmlnKSYmKFcuZW1iZWRfY29uZmlnPW4yKG4pKTtyZXR1cm4gV307ClFzUz1mdW5jdGlvbihuLFcsRCxiKXtpZihnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKSl7Vz0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtEPXt9O2ZvcihiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07blt2XSYmKERbdl09blt2XSl9cmV0dXJuIER9Vz17aW5kZXg6VyxzdGFydFNlY29uZHM6RCxzdWdnZXN0ZWRRdWFsaXR5OmJ9O3R5cGVvZiBuPT09InN0cmluZyImJm4ubGVuZ3RoPT09MTY/Vy5saXN0PSJQTCIrbjpXLnBsYXlsaXN0PW47cmV0dXJuIFd9OwpuMj1mdW5jdGlvbihuKXtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXJldHVybiBuO2lmKGcuZnQobikpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuKX1jYXRjaChXKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLFcpfX07Clc3PWZ1bmN0aW9uKG4sVz0xKXt2YXIgRD17fTtXPW4uYXBwLlZFKHtwbGF5ZXJUeXBlOld9KS5nZXRWaWRlb0RhdGEoKTtpZihpRihXKSlyZXR1cm57fTtELnZpZGVvX2lkPVcudmlkZW9JZDtELmF1dGhvcj1XLmF1dGhvcjtELnRpdGxlPVcudGl0bGU7RC5pc1BsYXlhYmxlPVpQKFcpO0QuZXJyb3JDb2RlPVcuZXJyb3JDb2RlO2lmKFcuSiYmVy5KLnZpZGVvKXtELnZpZGVvX3F1YWxpdHk9Vy5KLnZpZGVvLnF1YWxpdHk7Vz1XLkoudmlkZW87bGV0IGI9W107Vy5KKCkmJmIucHVzaCgiaGZyIik7Vy5pc0hkcigpJiZiLnB1c2goImhkciIpO1cucHJpbWFyaWVzPT09ImJ0MjAyMCImJmIucHVzaCgid2NnIik7RC52aWRlb19xdWFsaXR5X2ZlYXR1cmVzPWJ9aWYobj1uLmdldFBsYXlsaXN0SWQoKSlELmxpc3Q9bjtyZXR1cm4gRH07ClZTaD1mdW5jdGlvbihuKXtGMihuLCJjdWVWaWRlb0J5SWQiLG4uY0opO0YyKG4sImxvYWRWaWRlb0J5SWQiLG4uWSQpO0YyKG4sImN1ZVZpZGVvQnlVcmwiLG4uYmQpO0YyKG4sImxvYWRWaWRlb0J5VXJsIixuLlFyKTtGMihuLCJwbGF5VmlkZW8iLG4ueXcpO0YyKG4sInBhdXNlVmlkZW8iLG4ucGF1c2VWaWRlbyk7RjIobiwic3RvcFZpZGVvIixuLnptKTtGMihuLCJjbGVhclZpZGVvIixuLmNsZWFyVmlkZW8pO0YyKG4sImdldFZpZGVvQnl0ZXNMb2FkZWQiLG4uWVopO0YyKG4sImdldFZpZGVvQnl0ZXNUb3RhbCIsbi5SYSk7RjIobiwiZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbiIsbi5YKTtGMihuLCJnZXRWaWRlb1N0YXJ0Qnl0ZXMiLG4uTEIpO0YyKG4sImN1ZVBsYXlsaXN0IixuLmN1ZVBsYXlsaXN0KTtGMihuLCJsb2FkUGxheWxpc3QiLG4uTmQpO0YyKG4sIm5leHRWaWRlbyIsbi5VNSk7RjIobiwicHJldmlvdXNWaWRlbyIsbi5RJCk7RjIobiwicGxheVZpZGVvQXQiLG4uTWQpOwpGMihuLCJzZXRTaHVmZmxlIixuLnNldFNodWZmbGUpO0YyKG4sInNldExvb3AiLG4uc2V0TG9vcCk7RjIobiwiZ2V0UGxheWxpc3QiLG4ualcpO0YyKG4sImdldFBsYXlsaXN0SW5kZXgiLG4uZ2V0UGxheWxpc3RJbmRleCk7RjIobiwiZ2V0UGxheWxpc3RJZCIsbi5nZXRQbGF5bGlzdElkKTtGMihuLCJsb2FkTW9kdWxlIixuLmopO0YyKG4sInVubG9hZE1vZHVsZSIsbi5WKTtGMihuLCJzZXRPcHRpb24iLG4uSik7RjIobiwiZ2V0T3B0aW9uIixuLnZKKTtGMihuLCJnZXRPcHRpb25zIixuLk4pO0YyKG4sIm11dGUiLG4uczUpO0YyKG4sInVuTXV0ZSIsbi5taCk7RjIobiwiaXNNdXRlZCIsbi5pc011dGVkKTtGMihuLCJzZXRWb2x1bWUiLG4uYlYpO0YyKG4sImdldFZvbHVtZSIsbi5nZXRWb2x1bWUpO0YyKG4sInNlZWtUbyIsbi5TVik7RjIobiwiZ2V0UGxheWVyTW9kZSIsbi5nZXRQbGF5ZXJNb2RlKTtGMihuLCJnZXRQbGF5ZXJTdGF0ZSIsbi55RSk7RjIobiwiZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyIsCm4uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyk7RjIobiwiZ2V0UGxheWJhY2tRdWFsaXR5IiwoKT0+bi5nZXRQbGF5YmFja1F1YWxpdHkoMSkpOwpGMihuLCJzZXRQbGF5YmFja1F1YWxpdHkiLG4uZVYpO0YyKG4sImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiLG4uVlEpO0YyKG4sImdldEN1cnJlbnRUaW1lIixuLkhKKTtGMihuLCJnZXREdXJhdGlvbiIsbi5udSk7RjIobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5PKTtGMihuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLmdUKTtGMihuLCJnZXREZWJ1Z1RleHQiLG4uRHQpO0YyKG4sImdldFZpZGVvRGF0YSIsKCk9Plc3KG4pKTsKRjIobiwiYWRkQ3VlUmFuZ2UiLG4uWSk7RjIobiwicmVtb3ZlQ3VlUmFuZ2UiLG4ucmVtb3ZlQ3VlUmFuZ2UpO0YyKG4sInNldFNpemUiLG4uc2V0U2l6ZSk7RjIobiwiZ2V0QXBpSW50ZXJmYWNlIixuLmdldEFwaUludGVyZmFjZSk7RjIobiwiZGVzdHJveSIsbi5kZXN0cm95KTtGMihuLCJtdXRlZEF1dG9wbGF5IixuLm11dGVkQXV0b3BsYXkpO3ZhciBXPW4uYXBwLkcoKTtGMihuLCJnZXRWaWRlb0VtYmVkQ29kZSIsbi5nZXRWaWRlb0VtYmVkQ29kZSk7RjIobiwiZ2V0VmlkZW9VcmwiLG4ud2EpO0YyKG4sImdldE1lZGlhUmVmZXJlbmNlVGltZSIsbi5HQyk7RjIobiwiZ2V0U2l6ZSIsbi5nZXRTaXplKTtGMihuLCJzZXRGYXV4RnVsbHNjcmVlbiIsbi51NSk7Vy5TKCJlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpYyIpJiZGMihuLCJzZXRDZW50ZXJDcm9wIixuLnNldENlbnRlckNyb3ApO1cuWHx8RjIobiwibG9nSW1hQWRFdmVudCIsbi5sb2dJbWFBZEV2ZW50KTsKRjIobiwicHJlbG9hZFZpZGVvQnlJZCIsbi5SdCk7RjIobiwid2FrZVVwQ29udHJvbHMiLG4ud2FrZVVwQ29udHJvbHMpfTsKZy5iNT1mdW5jdGlvbihuKXtyZXR1cm4obj1EJChuLmFwcC5KNSgpKSk/bi5CNygpOm51bGx9OwprRj1mdW5jdGlvbihuKXt2YXIgVz1RTShuLmFwcC5HKCkpLEQ9bi5hcHAuZ2V0VmlkZW9EYXRhKCk/Lk1kO249djcobi5hcHApO3JldHVybiBMeShXKSYmIUR8fG4/ITE6ITB9OwpoZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIHR5cGVvZiBuPT09Im51bWJlciI/e3BsYXllclR5cGU6bix2bzpXLGNwbjpEfTpufHx7fX07CmMxQz1mdW5jdGlvbihuKXt2YXIgVz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7aWYoIVcpe3ZhciBEPW4ucGxheWVyX3Jlc3BvbnNlO0QmJihXPUpTT04ucGFyc2UoRCkpfWRlbGV0ZSBuLnBsYXllcl9yZXNwb25zZTtkZWxldGUgbi5yYXdfcGxheWVyX3Jlc3BvbnNlO1cmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9e3N0cmVhbWluZ0RhdGE6Vy5zdHJlYW1pbmdEYXRhLHBsYXllckNvbmZpZzpXLnBsYXllckNvbmZpZ30sVy5wbGF5YmFja1RyYWNraW5nPy5xb2VVcmwmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9ey4uLm4ucmF3X3BsYXllcl9yZXNwb25zZSxwbGF5YmFja1RyYWNraW5nOntxb2VVcmw6Vy5wbGF5YmFja1RyYWNraW5nLnFvZVVybH19KSxXLmNhcHRpb25zJiYobi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsY2FwdGlvbnM6Vy5jYXB0aW9uc30pLFcudmlkZW9EZXRhaWxzJiYoVy52aWRlb0RldGFpbHMudmlkZW9JZHx8Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcykmJgooRD17fSxXLnZpZGVvRGV0YWlscy52aWRlb0lkJiYoRC52aWRlb0lkPVcudmlkZW9EZXRhaWxzLnZpZGVvSWQpLFcudmlkZW9EZXRhaWxzLmxlbmd0aFNlY29uZHMmJihELmxlbmd0aFNlY29uZHM9Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcyksbi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsdmlkZW9EZXRhaWxzOkR9KSl9Owp4Rj1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2lmKG4uYXBwLkcoKS5PKXtmb3IobGV0IGIgb2YgYWF4KVcuaGFzT3duUHJvcGVydHkoYikmJihEW2JdPVdbYl0pO2lmKG49RC5xb2VfY2F0KVc9IiIsdHlwZW9mIG49PT0ic3RyaW5nIiYmbi5sZW5ndGg+MCYmKFc9bi5zcGxpdCgiLCIpLmZpbHRlcihiPT5udDIuaW5jbHVkZXMoYikpLmpvaW4oIiwiKSksRC5xb2VfY2F0PVc7CmMxQyhEKX1lbHNlIGZvcihsZXQgYiBvZiBXYXcpVy5oYXNPd25Qcm9wZXJ0eShiKSYmKERbYl09V1tiXSk7cmV0dXJuIER9OwpMMj1mdW5jdGlvbihuKXtyZXR1cm4gbj9Ed1Vbbl18fDU6NX07CmVCPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKFcpKXtsZXQgYj1XW0RdO249bi5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrRCwiZ2kiKSwoKT0+Yil9cmV0dXJuIG59OwpiX0M9ZnVuY3Rpb24obil7QlQobiwiZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UiLG4uZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UpO0JUKG4sImdldFRydXN0ZWRBcGkiLG4uZ2V0VHJ1c3RlZEFwaSk7QlQobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5EKTtCVChuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLlRRKTtCVChuLCJjdWVWaWRlb0J5UGxheWVyVmFycyIsbi50dyk7QlQobiwibG9hZFZpZGVvQnlQbGF5ZXJWYXJzIixuLkU1KTtCVChuLCJwcmVsb2FkVmlkZW9CeVBsYXllclZhcnMiLG4uWmgpO0JUKG4sImdldEFkU3RhdGUiLG4uZ2V0QWRTdGF0ZSk7QlQobiwic2VuZEFiYW5kb25tZW50UGluZyIsbi5zZW5kQWJhbmRvbm1lbnRQaW5nKTtCVChuLCJzZXRMb29wUmFuZ2UiLG4uc2V0TG9vcFJhbmdlKTtCVChuLCJnZXRMb29wUmFuZ2UiLG4uZ2V0TG9vcFJhbmdlKTtCVChuLCJzZXRBdXRvbmF2U3RhdGUiLG4uc2V0QXV0b25hdlN0YXRlKTtCVChuLCJzZWVrVG8iLG4uYk4pO0JUKG4sCiJzZWVrQnkiLG4uc1YpO0JUKG4sInNlZWtUb0xpdmVIZWFkIixuLnNlZWtUb0xpdmVIZWFkKTtCVChuLCJyZXF1ZXN0U2Vla1RvV2FsbFRpbWVTZWNvbmRzIixuLnJlcXVlc3RTZWVrVG9XYWxsVGltZVNlY29uZHMpO0JUKG4sInNlZWtUb1N0cmVhbVRpbWUiLG4uc2Vla1RvU3RyZWFtVGltZSk7QlQobiwic3RhcnRTZWVrQ3NpQWN0aW9uIixuLnN0YXJ0U2Vla0NzaUFjdGlvbik7QlQobiwiZ2V0U3RyZWFtVGltZU9mZnNldCIsbi5nZXRTdHJlYW1UaW1lT2Zmc2V0KTtCVChuLCJnZXRWaWRlb0RhdGEiLG4uZkIpO0JUKG4sImdldEFwcFN0YXRlIixuLmdldEFwcFN0YXRlKTtCVChuLCJ1cGRhdGVMYXN0QWN0aXZlVGltZSIsbi51cGRhdGVMYXN0QWN0aXZlVGltZSk7QlQobiwic2V0VXNlckVuZ2FnZW1lbnQiLG4uc2V0VXNlckVuZ2FnZW1lbnQpO0JUKG4sInVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3MpO0JUKG4sImdldFByZXNlbnRpbmdQbGF5ZXJUeXBlIiwKbi5XKTtCVChuLCJjYW5QbGF5VHlwZSIsbi5jYW5QbGF5VHlwZSk7QlQobiwidXBkYXRlUGxheWxpc3QiLG4udXBkYXRlUGxheWxpc3QpO0JUKG4sInVwZGF0ZVZpZGVvRGF0YSIsbi51cGRhdGVWaWRlb0RhdGEpO0JUKG4sInVwZGF0ZUVudmlyb25tZW50RGF0YSIsbi51cGRhdGVFbnZpcm9ubWVudERhdGEpO0JUKG4sInNlbmRWaWRlb1N0YXRzRW5nYWdlRXZlbnQiLG4uWXIpO0JUKG4sInNldFNhZmV0eU1vZGUiLG4uc2V0U2FmZXR5TW9kZSk7QlQobiwiaXNBdExpdmVIZWFkIixXPT5uLmlzQXRMaXZlSGVhZCh2b2lkIDAsVykpOwpCVChuLCJnZXRWaWRlb0FzcGVjdFJhdGlvIixuLmdldFZpZGVvQXNwZWN0UmF0aW8pO0JUKG4sImdldFByZWZlcnJlZFF1YWxpdHkiLG4uZ2V0UHJlZmVycmVkUXVhbGl0eSk7QlQobiwiZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwiLG4uZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwpO0JUKG4sInNldFBsYXliYWNrUXVhbGl0eVJhbmdlIixuLldpKTtCVChuLCJvbkFkVXhDbGlja2VkIixuLm9uQWRVeENsaWNrZWQpO0JUKG4sImdldEZlZWRiYWNrUHJvZHVjdERhdGEiLG4uZ2V0RmVlZGJhY2tQcm9kdWN0RGF0YSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lIixuLmdldFN0b3J5Ym9hcmRGcmFtZSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgiLG4uZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgpO0JUKG4sImdldFN0b3J5Ym9hcmRMZXZlbCIsbi5nZXRTdG9yeWJvYXJkTGV2ZWwpO0JUKG4sImdldE51bWJlck9mU3Rvcnlib2FyZExldmVscyIsbi5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMpOwpCVChuLCJnZXRDYXB0aW9uV2luZG93Q29udGFpbmVySWQiLG4uZ2V0Q2FwdGlvbldpbmRvd0NvbnRhaW5lcklkKTtCVChuLCJnZXRBdmFpbGFibGVRdWFsaXR5TGFiZWxzIixuLmdldEF2YWlsYWJsZVF1YWxpdHlMYWJlbHMpO0JUKG4sImFkZEN1ZVJhbmdlIixuLmFkZEN1ZVJhbmdlKTtCVChuLCJhZGRVdGNDdWVSYW5nZSIsbi5hZGRVdGNDdWVSYW5nZSk7QlQobiwic2hvd0FpcnBsYXlQaWNrZXIiLG4uc2hvd0FpcnBsYXlQaWNrZXIpO0JUKG4sImRpc3BhdGNoUmVkdXhBY3Rpb24iLG4uZGlzcGF0Y2hSZWR1eEFjdGlvbik7QlQobiwiZ2V0UGxheWVyUmVzcG9uc2UiLG4uUFgpO0JUKG4sImdldFdhdGNoTmV4dFJlc3BvbnNlIixuLnZYKTtCVChuLCJnZXRIZWFydGJlYXRSZXNwb25zZSIsbi5GRik7QlQobiwiZ2V0Q3VycmVudFRpbWUiLG4uZSQpO0JUKG4sImdldER1cmF0aW9uIixuLm1aKTtCVChuLCJnZXRQbGF5ZXJTdGF0ZSIsbi5nZXRQbGF5ZXJTdGF0ZSk7QlQobiwiZ2V0UGxheWVyU3RhdGVPYmplY3QiLApuLkN1KTtCVChuLCJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIixuLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24pO0JUKG4sImdldFByb2dyZXNzU3RhdGUiLG4uZ2V0UHJvZ3Jlc3NTdGF0ZSk7QlQobiwiZ2V0Vm9sdW1lIixuLmdldFZvbHVtZSk7QlQobiwic2V0Vm9sdW1lIixuLmtGKTtCVChuLCJpc011dGVkIixuLmlzTXV0ZWQpO0JUKG4sIm11dGUiLG4uZ0cpO0JUKG4sInVuTXV0ZSIsbi5sbSk7QlQobiwibG9hZE1vZHVsZSIsbi5sb2FkTW9kdWxlKTtCVChuLCJ1bmxvYWRNb2R1bGUiLG4udW5sb2FkTW9kdWxlKTtCVChuLCJnZXRPcHRpb24iLG4uanUpO0JUKG4sImdldE9wdGlvbnMiLG4uZ2V0T3B0aW9ucyk7QlQobiwic2V0T3B0aW9uIixuLnNldE9wdGlvbik7QlQobiwibG9hZFZpZGVvQnlJZCIsbi5ydyk7QlQobiwibG9hZFZpZGVvQnlVcmwiLG4uSzApO0JUKG4sInBsYXlWaWRlbyIsbi5VRyk7QlQobiwic3RvcFZpZGVvIixuLkspO0JUKG4sImxvYWRQbGF5bGlzdCIsbi5sb2FkUGxheWxpc3QpOwpCVChuLCJuZXh0VmlkZW8iLG4ubmV4dFZpZGVvKTtCVChuLCJwcmV2aW91c1ZpZGVvIixuLnByZXZpb3VzVmlkZW8pO0JUKG4sInBsYXlWaWRlb0F0IixuLnBsYXlWaWRlb0F0KTtCVChuLCJnZXREZWJ1Z1RleHQiLG4uZ2V0RGVidWdUZXh0KTtCVChuLCJnZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnIixuLmdldFdlYlBsYXllckNvbnRleHRDb25maWcpO0JUKG4sImdldFZpZGVvQ29udGVudFJlY3QiLG4uZ2V0VmlkZW9Db250ZW50UmVjdCk7QlQobiwidG9nZ2xlU3VidGl0bGVzT24iLG4udG9nZ2xlU3VidGl0bGVzT24pO0JUKG4sImlzU3VidGl0bGVzT24iLG4uaXNTdWJ0aXRsZXNPbik7QlQobiwiZ2V0QXVkaW9UcmFjayIsbi5UQyk7QlQobiwic2V0QXVkaW9UcmFjayIsbi5zeik7QlQobiwiZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MiLG4uUyQpO0JUKG4sImlzT3JjaGVzdHJhdGlvbkxlYWRlciIsbi5pc09yY2hlc3RyYXRpb25MZWFkZXIpO0JUKG4sIm5vdGlmeVNob3J0c0FkU3dpcGVFdmVudCIsCm4ubm90aWZ5U2hvcnRzQWRTd2lwZUV2ZW50KTtCVChuLCJwcmVmZXRjaEtleVBsYXkiLG4ucHJlZmV0Y2hLZXlQbGF5KTtCVChuLCJwcmVmZXRjaEp1bXBBaGVhZCIsbi5wcmVmZXRjaEp1bXBBaGVhZCk7QlQobiwicHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQiLG4ucHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQpO0JUKG4sInNldEJsYWNrb3V0IixuLnNldEJsYWNrb3V0KTtCVChuLCJzZXRJbmxpbmVQcmV2aWV3IixuLnNldElubGluZVByZXZpZXcpO0JUKG4sInNldFNxdWVlemViYWNrIixuLnNldFNxdWVlemViYWNrKTtCVChuLCJyZXBvcnRQbGF5YmFja0lzc3VlIixuLnJlcG9ydFBsYXliYWNrSXNzdWUpO0JUKG4sInNldEF1dG9uYXYiLG4uc2V0QXV0b25hdik7QlQobiwiaXNOb3RTZXJ2YWJsZSIsbi5pc05vdFNlcnZhYmxlKTtCVChuLCJjaGFubmVsU3Vic2NyaWJlZCIsbi5jaGFubmVsU3Vic2NyaWJlZCk7QlQobiwiY2hhbm5lbFVuc3Vic2NyaWJlZCIsCm4uY2hhbm5lbFVuc3Vic2NyaWJlZCk7QlQobiwidG9nZ2xlUGljdHVyZUluUGljdHVyZSIsbi50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTtCVChuLCJzdXBwb3J0c0dhcGxlc3NBdWRpbyIsbi5zdXBwb3J0c0dhcGxlc3NBdWRpbyk7QlQobiwic3VwcG9ydHNHYXBsZXNzU2hvcnRzIixuLnN1cHBvcnRzR2FwbGVzc1Nob3J0cyk7QlQobiwiaXNHYXBsZXNzVHJhbnNpdGlvblJlYWR5IixuLmlzR2FwbGVzc1RyYW5zaXRpb25SZWFkeSk7QlQobiwic2V0U2hvcnRzQXV0b0FkdmFuY2VkRW5hYmxlZCIsbi5zZXRTaG9ydHNBdXRvQWR2YW5jZWRFbmFibGVkKTtCVChuLCJlbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMiLFc9PnZvaWQgbi5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMoVykpOwpCVChuLCJjbGVhclF1ZXVlIixuLmNsZWFyUXVldWUpO0JUKG4sImdldE1heFBsYXliYWNrUXVhbGl0eSIsbi5nZXRNYXhQbGF5YmFja1F1YWxpdHkpO0JUKG4sImdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlIixuLmdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlKTtCVChuLCJnZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3MiLG4uZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKTtCVChuLCJyZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi5yZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyk7QlQobiwic2V0TWluaW1pemVkIixuLnNldE1pbmltaXplZCk7QlQobiwic2V0T3ZlcmxheVZpc2liaWxpdHkiLG4uc2V0T3ZlcmxheVZpc2liaWxpdHkpO0JUKG4sImNvbmZpcm1ZcGNSZW50YWwiLG4uY29uZmlybVlwY1JlbnRhbCk7QlQobiwicXVldWVOZXh0VmlkZW8iLG4ucXVldWVOZXh0VmlkZW8pO0JUKG4sImhhbmRsZUV4dGVybmFsQ2FsbCIsbi5oYW5kbGVFeHRlcm5hbENhbGwpOwpCVChuLCJsb2dBcGlDYWxsIixuLmxvZ0FwaUNhbGwpO0JUKG4sImlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUiLG4uaXNFeHRlcm5hbE1ldGhvZEF2YWlsYWJsZSk7QlQobiwic2V0U2NyZWVuTGF5ZXIiLG4uc2V0U2NyZWVuTGF5ZXIpO0JUKG4sImdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlIixuLmdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlKTtCVChuLCJnZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSIsbi5nZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSk7QlQobiwic2hvdWxkU2VuZFZpc2liaWxpdHlTdGF0ZSIsbi5zaG91bGRTZW5kVmlzaWJpbGl0eVN0YXRlKTtCVChuLCJzeW5jVm9sdW1lIixuLnN5bmNWb2x1bWUpO0JUKG4sImhpZ2hsaWdodFNldHRpbmdzTWVudUl0ZW0iLG4uaGlnaGxpZ2h0U2V0dGluZ3NNZW51SXRlbSk7QlQobiwib3BlblNldHRpbmdzTWVudUl0ZW0iLG4ub3BlblNldHRpbmdzTWVudUl0ZW0pO0JUKG4sImdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UiLApuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UpO0JUKG4sImdldFZpc2liaWxpdHlTdGF0ZSIsbi5nZXRWaXNpYmlsaXR5U3RhdGUpO0JUKG4sImlzTXV0ZWRCeU11dGVkQXV0b3BsYXkiLG4uaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSk7QlQobiwiaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheSIsbi5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KTtCVChuLCJzZXRHbG9iYWxDcm9wIixuLnNldEdsb2JhbENyb3ApO0JUKG4sInNldEludGVybmFsU2l6ZSIsbi5zZXRJbnRlcm5hbFNpemUpO0JUKG4sInNldEZhdXhGdWxsc2NyZWVuIixuLnNldEZhdXhGdWxsc2NyZWVuKTtCVChuLCJzZXRBcHBGdWxsc2NyZWVuIixuLnNldEFwcEZ1bGxzY3JlZW4pO0JUKG4sImlzS2V5Ym9hcmREaXNhYmxlZCIsbi5pc0tleWJvYXJkRGlzYWJsZWQpO0JUKG4sImdldEN1cnJlbnRUaW1lRm9yVXgiLG4uZ2V0Q3VycmVudFRpbWVGb3JVeCk7QlQobiwiZ2V0RHVyYXRpb25Gb3JVeCIsbi5nZXREdXJhdGlvbkZvclV4KX07Cmd2PWZ1bmN0aW9uKG4pe24uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKT09PTM/bi5XSigibWR4YXV0b3BsYXljYW5jZWwiKTpnLlJUKG4sIm9uQXV0b25hdkNhbmNlbGxlZCIsITApfTsKWHo9ZnVuY3Rpb24obil7bj1uLko1KCkuTmkuZ2V0KCJlbmRzY3JlZW4iKTtyZXR1cm4hIW4mJlh6KG4pfTsKcXA9ZnVuY3Rpb24obil7bj1uLko1KCk7dmFyIFc9bi5OaS5nZXQoImVuZHNjcmVlbiIpO3JldHVybiBXJiZXLlhjKCk/ITA6bi5JVigpfTsKdGY9ZnVuY3Rpb24obil7dmFyIFc9R3Uobi5KNSgpKTtyZXR1cm4gbi5hcHAuWlYmJiFuLmlzRnVsbHNjcmVlbigpfHxuLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0zJiZXJiZXLmhhc05leHQoKSYmVy5oYXNQcmV2aW91cygpfHwhIW4uZ2V0UGxheWxpc3QoKX07CmcuZno9ZnVuY3Rpb24obil7cmV0dXJuKG49Zy4kRihuLko1KCkpKT9uLkhwKCk6e319OwpnLnJ2PWZ1bmN0aW9uKG4sVyxEKXtuPW4ubGooKS5lbGVtZW50O3ZhciBiPURlKG4uY2hpbGRyZW4sdj0+e3Y9TnVtYmVyKHYuZ2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIikpO3JldHVybiBELXZ8fDF9KTsKYjwwJiYoYj0tKGIrMSkpO2cuanAobixXLGIpO1cuc2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIixTdHJpbmcoRCkpfTsKdnRDPWZ1bmN0aW9uKG4sVyl7bj1zRihuLmFwcC5Wci5YKTtmb3IobGV0IEQgb2Ygbil7bj1ELmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7bGV0IGI9bnVsbDtmb3IobGV0IHYgb2YgbilpZih2LmdldExhbmd1YWdlSW5mbygpLmdldElkKCk9PT1XKXtiPXY7YnJlYWt9YiYmRC5MeShiLCEwKX19OwpnLnAyPWZ1bmN0aW9uKCl7TnB8fChOcD1uZXcga0t4KTtyZXR1cm4gTnB9OwpnLllGPWZ1bmN0aW9uKG4sVyl7Vz9uLlpKLkF1dGhvcml6YXRpb249YEJlYXJlciAke1d9YDpkZWxldGUgbi5aSi5BdXRob3JpemF0aW9ufTsKaHh3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9KC4uLmIpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKTtXKC4uLmIpfTsKbi5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKX07CmcuSDc9ZnVuY3Rpb24obil7dmFyIFc9TWF0aC5hYnMoTWF0aC5mbG9vcihuKSksRD1NYXRoLmZsb29yKFcvODY0MDApLGI9TWF0aC5mbG9vcihXJTg2NDAwLzM2MDApLHY9TWF0aC5mbG9vcihXJTM2MDAvNjApO1c9TWF0aC5mbG9vcihXJTYwKTt2YXIgaz0iIjtEPjAmJihrKz1gJHtEfTpgLGI8MTAmJihrKz0iMCIpKTtpZihEPjB8fGI+MClrKz1gJHtifTpgLHY8MTAmJihrKz0iMCIpO2srPWAke3Z9OmA7VzwxMCYmKGsrPSIwIik7RD1rK1c7cmV0dXJuIG4+PTA/RDpgLSR7RH1gfTsKZjI9ZnVuY3Rpb24obil7cmV0dXJuKCEoImJ1dHRvbiJpbiBuKXx8dHlwZW9mIG4uYnV0dG9uIT09Im51bWJlciJ8fG4uYnV0dG9uPT09MCkmJiEoInNoaWZ0S2V5ImluIG4mJm4uc2hpZnRLZXkpJiYhKCJhbHRLZXkiaW4gbiYmbi5hbHRLZXkpJiYhKCJtZXRhS2V5ImluIG4mJm4ubWV0YUtleSkmJiEoImN0cmxLZXkiaW4gbiYmbi5jdHJsS2V5KX07CkpmPWZ1bmN0aW9uKG4sVyxELGIpe2lmKGIuc3Vic3RyaW5nKDAsMik9PT0ie3siKW4uWVpbYl09W1csRF07ZWxzZSByZXR1cm4gYn07Ckl5PWZ1bmN0aW9uKG4sVyxELGIpe2lmKEQ9PT0iY2hpbGQiKXtnLlRGKFcpO2xldCBrO2I9PT12b2lkIDA/az12b2lkIDA6az0hQXJyYXkuaXNBcnJheShiKXx8YiYmdHlwZW9mIGIuWj09PSJzdHJpbmciP1tiXTpiO0Q9eHcyKG4sayk7Zm9yKHZhciB2IG9mIEQpVy5hcHBlbmRDaGlsZCh2KX1lbHNlIEQ9PT0ic3R5bGUiP2cuaDEoVywiY3NzVGV4dCIsYj9iOiIiKTpiPT09bnVsbHx8Yj09PXZvaWQgMD9XLnJlbW92ZUF0dHJpYnV0ZShEKToodj1iLnRvU3RyaW5nKCksRD09PSJocmVmIiYmKHY9Z3ooZy50Rih2LGcuRzQpfHxnLlY1KSksVy5zZXRBdHRyaWJ1dGUoRCx2KSl9Owp4dzI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVylyZXR1cm4gRDtmb3IobGV0IGIgb2YgVyl7aWYoYj09bnVsbCljb250aW51ZTtXPWIubm9kZVR5cGU7Vz09PTF8fFc9PT0zP0QucHVzaChiKTpiJiZ0eXBlb2YgYi5aPT09InN0cmluZyI/RC5wdXNoKG4uY3JlYXRlRWxlbWVudChiKSk6Yi5lbGVtZW50P0QucHVzaChiLmVsZW1lbnQpOnR5cGVvZiBiPT09InN0cmluZyImJmIuaW5kZXhPZigiXG4iKSE9PS0xP2Iuc3BsaXQoIlxuIikuZm9yRWFjaCgodixrKT0+e2s+MCYmRC5wdXNoKGcuekYoIkJSIikpO0QucHVzaChnLmxrKHYpKX0pOkQucHVzaChnLmxrKGIpKX1yZXR1cm4gRH07ClNCPWZ1bmN0aW9uKG4sVyl7bj1uLmVsZW1lbnQuZWxlbWVudDtXP24uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTpuLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKX07CkFmPWZ1bmN0aW9uKG4pe3JldHVybiBuLkomJm4uZmFkZS5zdGF0ZSE9PTR9OwptUD1mdW5jdGlvbihuKXtuLnNvdXJjZUVsZW1lbnQmJihkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZnLkJ4KG4uZWxlbWVudCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmbi5zb3VyY2VFbGVtZW50LmZvY3VzKCksbi5zb3VyY2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksbi5zb3VyY2VFbGVtZW50PXZvaWQgMCk7bi5OLkooKTtuLlc9dm9pZCAwfTsKZy5LMj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDMyIDMyIix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik0gMTkuNDEsMjAuMDkgMTQuODMsMTUuNSAxOS40MSwxMC45MSAxOCw5LjUgbCAtNiw2IDYsNiB6IixmaWxsOiIjZmZmIn19XX19OwpnLk9GPWZ1bmN0aW9uKCl7cmV0dXJue1o6InN2ZyIseGE6e2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMzIgMzIiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoibSAxMi41OSwyMC4zNCA0LjU4LC00LjU5IC00LjU4LC00LjU5IDEuNDEsLTEuNDEgNiw2IC02LDYgeiIsZmlsbDoiI2ZmZiJ9fV19fTsKZy5QNz1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjEwMCUifSxYRjpbe1o6InBhdGgiLHhhOntkOiJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIsZmlsbDoiI2ZmZiJ9fV19fTsKWiQ9ZnVuY3Rpb24oKXtyZXR1cm57Wjoic3ZnIix4YTp7aGVpZ2h0OiIxMDAlIix2ZXJzaW9uOiIxLjEiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIixLeTohMCxKdzoieXRwLXN2Zy1maWxsIix4YTp7ZDoiTSAxNi42OCwuOTkgQyAxMy41NSwxLjAzIDcuMDIsMS4xNiA0Ljk5LDEuNjggYyAtMS40OSwuNCAtMi41OSwxLjYgLTIuOTksMyAtMC42OSwyLjcgLTAuNjgsOC4zMSAtMC42OCw4LjMxIDAsMCAtMC4wMSw1LjYxIC42OCw4LjMxIC4zOSwxLjUgMS41OSwyLjYgMi45OSwzIDIuNjksLjcgMTMuNDAsLjY4IDEzLjQwLC42OCAwLDAgMTAuNzAsLjAxIDEzLjQwLC0wLjY4IDEuNSwtMC40IDIuNTksLTEuNiAyLjk5LC0zIC42OSwtMi43IC42OCwtOC4zMSAuNjgsLTguMzEgMCwwIC4xMSwtNS42MSAtMC42OCwtOC4zMSAtMC40LC0xLjUgLTEuNTksLTIuNiAtMi45OSwtMyBDIDI5LjExLC45OCAxOC40MCwuOTkgMTguNDAsLjk5IGMgMCwwIC0wLjY3LC0wLjAxIC0xLjcxLDAgeiBtIDcyLjIxLC45MCAwLDIxLjI4IDIuNzgsMCAuMzEsLTEuMzcgLjA5LDAgYyAuMywuNSAuNzEsLjg4IDEuMjEsMS4xOCAuNSwuMyAxLjA4LC40MCAxLjY4LC40MCAxLjEsMCAxLjk5LC0wLjQ5IDIuNDksLTEuNTkgLjUsLTEuMSAuODEsLTIuNzAgLjgxLC00LjkwIGwgMCwtMi40MCBjIDAsLTEuNiAtMC4xMSwtMi45MCAtMC4zMSwtMy45MCAtMC4yLC0wLjg5IC0wLjUsLTEuNTkgLTEsLTIuMDkgLTAuNSwtMC40IC0xLjEwLC0wLjU5IC0xLjkwLC0wLjU5IC0wLjU5LDAgLTEuMTgsLjE5IC0xLjY4LC40OSAtMC40OSwuMyAtMS4wMSwuODAgLTEuMjEsMS40MCBsIDAsLTcuOTAgLTMuMjgsMCB6IG0gLTQ5Ljk5LC43OCAzLjkwLDEzLjkwIC4xOCw2LjcxIDMuMzEsMCAwLC02LjcxIDMuODcsLTEzLjkwIC0zLjM3LDAgLTEuNDAsNi4zMSBjIC0wLjQsMS44OSAtMC43MSwzLjE5IC0wLjgxLDMuOTkgbCAtMC4wOSwwIGMgLTAuMiwtMS4xIC0wLjUxLC0yLjQgLTAuODEsLTMuOTkgbCAtMS4zNywtNi4zMSAtMy40MCwwIHogbSAyOS41OSwwIDAsMi43MSAzLjQwLDAgMCwxNy45MCAzLjI4LDAgMCwtMTcuOTAgMy40MCwwIGMgMCwwIC4wMCwtMi43MSAtMC4wOSwtMi43MSBsIC05Ljk5LDAgeiBtIC01My40OSw1LjEyIDguOTAsNS4xOCAtOC45MCw1LjA5IDAsLTEwLjI4IHogbSA4OS40MCwuMDkgYyAtMS43LDAgLTIuODksLjU5IC0zLjU5LDEuNTkgLTAuNjksLjk5IC0wLjk5LDIuNjAgLTAuOTksNC45MCBsIDAsMi41OSBjIDAsMi4yIC4zMCwzLjkwIC45OSw0LjkwIC43LDEuMSAxLjgsMS41OSAzLjUsMS41OSAxLjQsMCAyLjM4LC0wLjMgMy4xOCwtMSAuNywtMC43IDEuMDksLTEuNjkgMS4wOSwtMy4wOSBsIDAsLTAuNSAtMi45MCwtMC4yMSBjIDAsMSAtMC4wOCwxLjYgLTAuMjgsMiAtMC4xLC40IC0wLjUsLjYyIC0xLC42MiAtMC4zLDAgLTAuNjEsLTAuMTEgLTAuODEsLTAuMzEgLTAuMiwtMC4zIC0wLjMwLC0wLjU5IC0wLjQwLC0xLjA5IC0wLjEsLTAuNSAtMC4wOSwtMS4yMSAtMC4wOSwtMi4yMSBsIDAsLTAuNzggNS43MSwtMC4wOSAwLC0yLjYyIGMgMCwtMS42IC0wLjEwLC0yLjc4IC0wLjQwLC0zLjY4IC0wLjIsLTAuODkgLTAuNzEsLTEuNTkgLTEuMzEsLTEuOTkgLTAuNywtMC40IC0xLjQ4LC0wLjU5IC0yLjY4LC0wLjU5IHogbSAtNTAuNDksLjA5IGMgLTEuMDksMCAtMi4wMSwuMTggLTIuNzEsLjY4IC0wLjcsLjQgLTEuMiwxLjEyIC0xLjQ5LDIuMTIgLTAuMywxIC0wLjUsMi4yNyAtMC41LDMuODcgbCAwLDIuMjEgYyAwLDEuNSAuMTAsMi43OCAuNDAsMy43OCAuMiwuOSAuNzAsMS42MiAxLjQwLDIuMTIgLjY5LC41IDEuNzEsLjY4IDIuODEsLjc4IDEuMTksMCAyLjA4LC0wLjI4IDIuNzgsLTAuNjggLjY5LC0wLjQgMS4wOSwtMS4wOSAxLjQ5LC0yLjA5IC4zOSwtMSAuNDksLTIuMzAgLjQ5LC0zLjkwIGwgMCwtMi4yMSBjIDAsLTEuNiAtMC4yLC0yLjg3IC0wLjQ5LC0zLjg3IC0wLjMsLTAuODkgLTAuOCwtMS42MiAtMS40OSwtMi4xMiAtMC43LC0wLjUgLTEuNTgsLTAuNjggLTIuNjgsLTAuNjggeiBtIDEyLjE4LC4wOSAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjE4LC0wLjcwIC0wLjE4LC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjE4LDIuMzkgLjY4LDMuMDkgLjQ5LC43IDEuMjEsMSAyLjIxLDEgMS40LDAgMi40OCwtMC42OSAzLjE4LC0yLjA5IGwgLjA5LDAgLjMxLDEuNzggMi41OSwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMTcuMzEsMCAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjIxLC0wLjcwIC0wLjIxLC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjIxLDIuMzkgLjcxLDMuMDkgLjUsLjcgMS4xOCwxIDIuMTgsMSAxLjM5LDAgMi41MSwtMC42OSAzLjIxLC0yLjA5IGwgLjA5LDAgLjI4LDEuNzggMi42MiwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMjAuOTAsMi4wOSBjIC40LDAgLjU4LC4xMSAuNzgsLjMxIC4yLC4zIC4zMCwuNTkgLjQwLDEuMDkgLjEsLjUgLjA5LDEuMjEgLjA5LDIuMjEgbCAwLDEuMDkgLTIuNSwwIDAsLTEuMDkgYyAwLC0xIC0wLjAwLC0xLjcxIC4wOSwtMi4yMSAwLC0wLjQgLjExLC0wLjggLjMxLC0xIC4yLC0wLjMgLjUxLC0wLjQwIC44MSwtMC40MCB6IG0gLTUwLjQ5LC4xMiBjIC41LDAgLjgsLjE4IDEsLjY4IC4xOSwuNSAuMjgsMS4zMCAuMjgsMi40MCBsIDAsNC42OCBjIDAsMS4xIC0wLjA4LDEuOTAgLTAuMjgsMi40MCAtMC4yLC41IC0wLjUsLjY4IC0xLC42OCAtMC41LDAgLTAuNzksLTAuMTggLTAuOTksLTAuNjggLTAuMiwtMC41IC0wLjMxLC0xLjMwIC0wLjMxLC0yLjQwIGwgMCwtNC42OCBjIDAsLTEuMSAuMTEsLTEuOTAgLjMxLC0yLjQwIC4yLC0wLjUgLjQ5LC0wLjY4IC45OSwtMC42OCB6IG0gMzkuNjgsLjA5IGMgLjMsMCAuNjEsLjEwIC44MSwuNDAgLjIsLjMgLjI3LC42NyAuMzcsMS4zNyAuMSwuNiAuMTIsMS41MSAuMTIsMi43MSBsIC4wOSwxLjkwIGMgMCwxLjEgLjAwLDEuOTkgLTAuMDksMi41OSAtMC4xLC42IC0wLjE5LDEuMDggLTAuNDksMS4yOCAtMC4yLC4zIC0wLjUwLC40MCAtMC45MCwuNDAgLTAuMywwIC0wLjUxLC0wLjA4IC0wLjgxLC0wLjE4IC0wLjIsLTAuMSAtMC4zOSwtMC4yOSAtMC41OSwtMC41OSBsIDAsLTguNSBjIC4xLC0wLjQgLjI5LC0wLjcgLjU5LC0xIC4zLC0wLjMgLjYwLC0wLjQwIC45MCwtMC40MCB6In19XX19OwpVRj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntmaWxsOiJub25lIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxNDMgNTEiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoiTTU4LjM3IDQxLjM5SDYyLjc5VjI3LjIzQzYyLjc5IDIzLjAzIDYyLjY5IDE4LjY5IDYyLjQzIDEzLjU5SDYyLjkzTDYzLjY5IDE2Ljg5TDY4LjY3IDQxLjM5SDczLjE3TDc4LjA3IDE2Ljg5TDc4Ljg5IDEzLjU5SDc5LjM3Qzc5LjE1IDE4LjQ1IDc5LjAzIDIyLjg5IDc5LjAzIDI3LjIzVjQxLjM5SDgzLjQ1VjguNzlINzUuOTVMNzMuNDEgMjAuODFDNzIuMzUgMjUuODUgNzEuNTEgMzIuMDEgNzEuMDEgMzUuMTlINzAuNzNDNzAuMzMgMzEuOTUgNjkuNDkgMjUuODEgNjguNDEgMjAuODVMNjUuODEgOC43OUg1OC4zN1Y0MS4zOVoiLGZpbGw6IndoaXRlIn19LHtaOiJwYXRoIix4YTp7ZDoiTTkxLjQ1IDQxLjczQzkzLjkxIDQxLjczIDk1LjgzIDQwLjU5IDk3LjE3IDM4LjEzSDk3LjM1TDk3LjY5IDQxLjM5SDEwMS40M1YxNy43M0g5Ni40N1YzNi42MUM5NS45MSAzNy42NyA5NC44MSAzOC4yOSA5My43MyAzOC4yOUM5Mi4zMyAzOC4yOSA5MS44OSAzNy4xNyA5MS44OSAzNS4xM1YxNy43M0g4Ni45M1YzNS40M0M4Ni45MyAzOS40OSA4OC4xOSA0MS43MyA5MS40NSA0MS43M1oiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMTAuNzkgNDEuODlDMTE1LjE1IDQxLjg5IDExNy43NSAzOS44MyAxMTcuNzUgMzUuNjVDMTE3Ljc1IDMxLjc5IDExNS45MyAzMC4zOSAxMTEuODUgMjcuNDdDMTA5LjY3IDI1LjkxIDEwOC4zOSAyNS4wOSAxMDguMzkgMjIuOTVDMTA4LjM5IDIxLjQ3IDEwOS4yNyAyMC42MSAxMTAuODkgMjAuNjFDMTEyLjY5IDIwLjYxIDExMy4zMyAyMS44MSAxMTMuMzMgMjUuMjlMMTE3LjQ1IDI1LjA3QzExNy43NyAxOS41NyAxMTUuNzEgMTcuMjMgMTEwLjk3IDE3LjIzQzEwNi41NyAxNy4yMyAxMDQuMTcgMTkuMjcgMTA0LjE3IDIzLjQ1QzEwNC4xNyAyNy4yNSAxMDUuOTcgMjguODMgMTA4LjkzIDMxLjAzQzExMS44OSAzMy4yMyAxMTMuNTUgMzQuNTMgMTEzLjU1IDM2LjIzQzExMy41NSAzNy43NSAxMTIuNTEgMzguNjEgMTExLjAxIDM4LjYxQzEwOS4xMyAzOC42MSAxMDguMTEgMzYuOTcgMTA4LjI5IDM0LjQxTDEwNC4yMSAzNC40OUMxMDMuNTEgMzkuMjUgMTA1Ljg5IDQxLjg5IDExMC43OSA0MS44OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMjIuNSAxNC41OUMxMjQuMjIgMTQuNTkgMTI1LjA0IDEzLjk5IDEyNS4wNCAxMS41OUMxMjUuMDQgOS4zMyAxMjQuMTYgOC42NSAxMjIuNSA4LjY1QzEyMC44NCA4LjY1IDExOS45NCA5LjI3IDExOS45NCAxMS41OUMxMTkuOTQgMTMuOTkgMTIwLjgyIDE0LjU5IDEyMi41IDE0LjU5Wk0xMjAuMiA0MS4zOUgxMjVWMTcuNzNIMTIwLjJWNDEuMzlaIixmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMzQuOTUgNDEuNzlDMTM3LjMxIDQxLjc5IDEzOC42MyA0MS40OSAxMzkuNzEgNDAuNDdDMTQxLjMxIDM5LjAxIDE0MS45NyAzNi42MyAxNDEuODUgMzMuMTFMMTM3LjQxIDMyLjg3QzEzNy40MSAzNi44NyAxMzYuODEgMzguNDUgMTM1LjAzIDM4LjQ1QzEzMy4xMyAzOC40NSAxMzIuNzcgMzYuNDUgMTMyLjc3IDMxLjk3VjI3LjIxQzEzMi43NyAyMi40MSAxMzMuMjMgMjAuNTEgMTM1LjA3IDIwLjUxQzEzNi42NyAyMC41MSAxMzcuMjkgMjIuMDEgMTM3LjI5IDI2LjQ3TDE0MS42NSAyNi4xNUMxNDEuOTcgMjIuOTMgMTQxLjU5IDIwLjI5IDE0MC4wOSAxOC44M0MxMzkuMDEgMTcuNzcgMTM3LjM3IDE3LjI5IDEzNS4xNSAxNy4yOUMxMjkuNjUgMTcuMjkgMTI3Ljc1IDIwLjczIDEyNy43NSAyOC4wM1YzMS4xN0MxMjcuNzUgMzguNDcgMTI5LjIzIDQxLjc5IDEzNC45NSA0MS43OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6eyJjbGlwLXJ1bGUiOiJldmVub2RkIixkOiJNMjQuOTkgNDlDMjkuNzQgNDkuMDAgMzQuMzggNDcuNTkgMzguMzIgNDQuOTVDNDIuMjcgNDIuMzIgNDUuMzUgMzguNTcgNDcuMTcgMzQuMThDNDguOTggMjkuODAgNDkuNDYgMjQuOTcgNDguNTMgMjAuMzJDNDcuNjEgMTUuNjYgNDUuMzIgMTEuMzggNDEuOTcgOC4wM0MzOC42MSA0LjY3IDM0LjMzIDIuMzggMjkuNjggMS40NkMyNS4wMiAuNTMgMjAuMjAgMS4wMSAxNS44MSAyLjgyQzExLjQzIDQuNjQgNy42OCA3LjcxIDUuMDQgMTEuNjZDMi40MCAxNS42MSAxIDIwLjI1IDEgMjVDMC45OSAyOC4xNSAxLjYxIDMxLjI3IDIuODIgMzQuMThDNC4wMyAzNy4wOSA1Ljc5IDM5Ljc0IDguMDIgNDEuOTdDMTAuMjUgNDQuMTkgMTIuODkgNDUuOTYgMTUuODEgNDcuMTdDMTguNzIgNDguMzcgMjEuODQgNDkgMjQuOTkgNDlaTTI0Ljk5IDEyLjM2QzI3LjQ5IDEyLjM2IDI5Ljk0IDEzLjEwIDMyLjAyIDE0LjQ4QzM0LjEwIDE1Ljg3IDM1LjcyIDE3Ljg0IDM2LjY4IDIwLjE1QzM3LjY0IDIyLjQ2IDM3Ljg5IDI1LjAxIDM3LjQxIDI3LjQ2QzM2LjkyIDI5LjkxIDM1LjcyIDMyLjE3IDMzLjk1IDMzLjk0QzMyLjE4IDM1LjcwIDI5LjkzIDM2LjkxIDI3LjQ4IDM3LjQwQzI1LjAyIDM3Ljg5IDIyLjQ4IDM3LjY0IDIwLjE3IDM2LjY4QzE3Ljg2IDM1LjcyIDE1Ljg4IDM0LjEwIDE0LjUwIDMyLjAyQzEzLjExIDI5Ljk0IDEyLjM3IDI3LjUwIDEyLjM3IDI1QzEyLjM3IDIxLjY1IDEzLjcwIDE4LjQ0IDE2LjA3IDE2LjA3QzE4LjQzIDEzLjcwIDIxLjY0IDEyLjM3IDI0Ljk5IDEyLjM2Wk0yNC45OSAxMC40M0MyMi4xMSAxMC40MyAxOS4yOSAxMS4yOCAxNi44OSAxMi44OEMxNC41MCAxNC40OCAxMi42MyAxNi43NiAxMS41MyAxOS40MkMxMC40MiAyMi4wOSAxMC4xMyAyNS4wMiAxMC43MCAyNy44NUMxMS4yNiAzMC42NyAxMi42NSAzMy4yNyAxNC42OSAzNS4zMUMxNi43MyAzNy4zNSAxOS4zMiAzOC43MyAyMi4xNSAzOS4zMEMyNC45OCAzOS44NiAyNy45MSAzOS41NyAzMC41NyAzOC40NkMzMy4yMyAzNy4zNiAzNS41MSAzNS40OSAzNy4xMSAzMy4wOUMzOC43MSAzMC43MCAzOS41NyAyNy44OCAzOS41NiAyNUMzOS41NiAyMy4wOCAzOS4xOSAyMS4xOSAzOC40NiAxOS40MkMzNy43MiAxNy42NSAzNi42NSAxNi4wNCAzNS4zMCAxNC42OUMzMy45NCAxMy4zNCAzMi4zNCAxMi4yNyAzMC41NyAxMS41M0MyOC44MCAxMC44MCAyNi45MCAxMC40MyAyNC45OSAxMC40M1pNMzIuNjMgMjQuOTlMMjAuMzYgMzIuMDlWMTcuOTFMMzIuNjMgMjQuOTlaIiwKZmlsbDoid2hpdGUiLCJmaWxsLXJ1bGUiOiJldmVub2RkIn19XX19Owp5RT1mdW5jdGlvbihuPXt9LFc9W10pe1cucHVzaCgieXRwLW1lbnVpdGVtIik7InJvbGUiaW4gbnx8KG4ucm9sZT0ibWVudWl0ZW0iKTsidGFiaW5kZXgiaW4gbnx8KG4udGFiaW5kZXg9IjAiKTtyZXR1cm57WjoiZGl2IixLQjpXLHhhOm4sWEY6W3taOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0taWNvbiIsT3E6Int7aWNvbn19In0se1o6ImRpdiIsSnc6Inl0cC1tZW51aXRlbS1sYWJlbCIsT3E6Int7bGFiZWx9fSJ9LHtaOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0tY29udGVudCIsT3E6Int7Y29udGVudH19In1dfX07CkVGPWZ1bmN0aW9uKG4pe3JldHVybiBuP2cuRHAobik6IiJ9OwppNT1mdW5jdGlvbihuKXtyZXR1cm4gbj09PS0weDgwMDAwMDAwMDAwMDA/IkJFRk9SRV9NRURJQV9TVEFSVCI6bj09PTA/Ik1FRElBX1NUQVJUIjpuPT09MHg3ZmZmZmZmZmZmZmZmPyJNRURJQV9FTkQiOm49PT0weDgwMDAwMDAwMDAwMDA/IkFGVEVSX01FRElBX0VORCI6bi50b1N0cmluZygpfTsKZy51NT1mdW5jdGlvbihuLFcpe3JldHVybiBuLnN0YXJ0LVcuc3RhcnR8fG4ucHJpb3JpdHktVy5wcmlvcml0eXx8bi5KLVcuSn07Cmcub3k9ZnVuY3Rpb24obil7cmV0dXJuYGNybl8ke259YH07CmcuZHY9ZnVuY3Rpb24obil7cmV0dXJuYGNyeF8ke259YH07Cnp1PWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5zdGFydCxbMl06bi5lbmQsWzNdOm4uaWQsWzRdOm4ucHJpb3JpdHksWzVdOm4ubmFtZXNwYWNlLFs2XTpuLnZpc2libGUsWzddOm4uc3R5bGUsWzhdOm4udG9vbHRpcCxbOV06bi5jb2xvcixbMTBdOm4uaWNvbnMsWzExXTpuLmFzc29jaWF0ZWRDbGlwSWQsWzEyXTpuLm1hcmtlclBvc2l0aW9uTXN9fTsKVHU9ZnVuY3Rpb24obixXLEQsYil7VyBpbiBuLk58fChEPW5ldyBnLmw1KEQsYix7aWQ6Vyxwcmlvcml0eToyLG5hbWVzcGFjZToiYXBwYWQifSksbi5hcGkuZ2goW0RdLDEpLG4uTltXXT1EKX07CmpCPWZ1bmN0aW9uKG4sVyl7TGF4KG4sVykudGhlbihEPT57Zy5nbyhXLHZvaWQgMCx2b2lkIDAsRCl9KX07CkMyPWZ1bmN0aW9uKG4sVyl7Vy5mb3JFYWNoKEQ9PntqQihuLEQpfSl9OwpCNz1mdW5jdGlvbihuLFcsRCl7aWYoIShEIGluIFcpKXJldHVybiExO1c9V1tEXTtBcnJheS5pc0FycmF5KFcpfHwoVz1bV10pO2ZvcihsZXQgYiBvZiBXKVc9e0NQTjpuLmFwaS5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlfSxXPWcuR0soYixXKSxnLmdvKFcsdm9pZCAwLG9PKHpFKFcsZXh4LG51bGwpLFcsITEsIkFjdGl2ZSBWaWV3IDNyZCBQYXJ0eSBJbnRlZ3JhdGlvbiBVUkwiKXx8b08oekUoVyxndGosbnVsbCksVywhMSwiR29vZ2xlL1lvdVR1YmUgQnJhbmQgTGlmdCBVUkwiKXx8b08oekUoVyxYSzIsbnVsbCksVywhMSwiTmllbHNlbiBPQ1IgVVJMIikpO3JldHVybiEwfTsKTGF4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5hcGkuRygpKSYmZy5CVihXKSYmZy5qSChXKT9nLkhFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKS5WKCkpLnRoZW4oRD0+e3ZhciBiO0QmJihiPXtBdXRob3JpemF0aW9uOmBCZWFyZXIgJHtEfWB9KTtyZXR1cm4gYn0sdm9pZCAwKTpnLkgwKCl9OwpGej1mdW5jdGlvbihuLFcpe24uY2hlY2tlZD1XO24uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsU3RyaW5nKG4uY2hlY2tlZCkpfTsKd3Y9ZnVuY3Rpb24obixXKXtuLmVuYWJsZWQ9VztuLmVuYWJsZWQ/bi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIpOm4uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIil9OwpNcD1mdW5jdGlvbihuLFcsRD0hMSxiKXt2YXIgdj1uLmN1cnJlbnRUYXJnZXQ7aWYoIUQmJmYyKG4pKXJldHVybiBuLnByZXZlbnREZWZhdWx0KCksITA7Vy5wYXVzZVZpZGVvKCk7bj12LmdldEF0dHJpYnV0ZSgiaHJlZiIpO1E1KG4sYik7cmV0dXJuITF9OwpSeT1mdW5jdGlvbihuLFcsRCl7aWYodkUoVy5HKCkpJiZXLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCkhPT0yKWYyKEQpJiYoVy5pc0Z1bGxzY3JlZW4oKSYmIVcuRygpLmV4dGVybmFsRnVsbHNjcmVlbiYmVy50b2dnbGVGdWxsc2NyZWVuKCksRC5wcmV2ZW50RGVmYXVsdCgpKTtlbHNle2xldCBiPWYyKEQpO2ImJlcucGF1c2VWaWRlbygpO1E1KG4pO2ImJihnLmNhKG4pLEQucHJldmVudERlZmF1bHQoKSl9fTsKUUU9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/LmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giJiYhbi5WKCl9OwpWRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5hdWRpbz8uVz09PSEwfTsKYzc9ZnVuY3Rpb24obil7cmV0dXJuIG4uVigpfTsKYXk9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/Lk49PT0hMH07Cm52PWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg8MilyZXR1cm4hMTt2YXIgRD1XKG5bMF0pO3JldHVybiBuLnNvbWUoYj0+VyhiKSE9PUQpfTsKYlk9ZnVuY3Rpb24obixXKXtuPXFJdyhuLFcubGFuZ3VhZ2VJZCk7bj1XdShuLCEhVy5nTyk7cmV0dXJuIG49RGIobiwhIVcuajkpfTsKV3U9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+YXkoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+VkUoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKR0t0PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcuaWQhPT0idW5kIj9nLkVNKG4sRD0+e3ZhciBiPVcuZ2V0TGFuZ3VhZ2VJbmZvKCk/Lm5hbWU7cmV0dXJuIEQua1o/Lm5hbWU9PT1ifSk6bn07CnFJdz1mdW5jdGlvbihuLFcpe2lmKFcmJlchPT0idW5kIilpZih0eXBlb2YgVz09PSJzdHJpbmciKXt2YXIgRD1nLmxfKG4sdj0+di5pZD09PVcpOwppZihEPy5rWil2YXIgYj1ELmtaLmlkfWVsc2UgYj1XLmtaPy5pZDtpZihiJiYoRD1nLkVNKG4sdj0+di5rWj8uaWQ9PT1iKSxELmxlbmd0aD4wKSlyZXR1cm4gRDsKRD1nLkVNKG4sdj0+ISF2LmtaPy5pc0RlZmF1bHQpOwpyZXR1cm4gRC5sZW5ndGg+MD9EOm59Owp0QUM9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PmM3KEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59Owokd2o9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PlFFKEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59OwpyYVU9ZnVuY3Rpb24obixXKXtuPW5ldyBTZXQobi5tYXAoVykpO24uZGVsZXRlKHZvaWQgMCk7cmV0dXJuIG4uc2l6ZT49Mn07CnNGTT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnByaW9yaXR5LW4ucHJpb3JpdHl9Owp2dT1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRCluLml0ZW1zLnB1c2goVyksbi5tZW51SXRlbXMuZWxlbWVudC5hcHBlbmRDaGlsZChXLmVsZW1lbnQpO2Vsc2V7RD1nLlc0KG4uaXRlbXMsVyxzRk0pO2lmKEQ+PTApcmV0dXJuO0Q9fkQ7Zy5jTShuLml0ZW1zLEQsMCxXKTtnLmpwKG4ubWVudUl0ZW1zLmVsZW1lbnQsVy5lbGVtZW50LEQpfVcuc3Vic2NyaWJlKCJzaXplLWNoYW5nZSIsbi5xQSxuKTtuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKX07CmtzPWZ1bmN0aW9uKG4sVyl7Vy51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLG4ucUEsbik7bi5xTigpfHwoZy5GSShuLml0ZW1zLFcpLG4ubWVudUl0ZW1zLmVsZW1lbnQucmVtb3ZlQ2hpbGQoVy5lbGVtZW50KSxuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKSl9OwpnLmhCPWZ1bmN0aW9uKG4sVyl7aWYobi5XKXt2YXIgRD1uLm9wdGlvbnNbbi5XXTtELmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiKTtELmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCJmYWxzZSIpO24uVz1udWxsfWlmKEQ9bi5vcHRpb25zW1ddKUQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsInRydWUiKSxuLlgobi5qKFcpKSxuLlc9V307Ck5YaD1mdW5jdGlvbihuLFcsRCxiKXtEPW5ldyB4cyh7WjoiZGl2IixLQjpbInl0cC1tZW51aXRlbSIsIiJdLHhhOnt0YWJpbmRleDoiMCIscm9sZToibWVudWl0ZW1yYWRpbyIsImFyaWEtY2hlY2tlZCI6Yj8idHJ1ZSI6ImZhbHNlIn0sWEY6W3taOiJkaXYiLEtCOlsieXRwLW1lbnVpdGVtLWxhYmVsIl0sT3E6Int7bGFiZWx9fSJ9XX0sRCxuLmooVykpO0QuU18oImNsaWNrIiwoKT0+e24uRChXKX0pOwpyZXR1cm4gRH07CmcuTHY9ZnVuY3Rpb24obixXKXt2YXIgRD1uLks7Zm9yKHZhciBiIG9mIEQuaXRlbXMpYi51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLEQucUEsRCk7RC5pdGVtcz1bXTt0cnl7Zy5URihELm1lbnVJdGVtcy5lbGVtZW50KX1jYXRjaCh2KXtnLkdxKG5ldyBnLlF4KCJGYWlsZWQgdG8gcmVtb3ZlIG1lbnUgaXRlbXMgZnJvbSBwYW5lbCBtZW51LiIse2Vycm9yOnYubWVzc2FnZSxvcmlnaW5hbFN0YWNrOnYuc3RhY2ssY2hpbGRUb0JlUmVtb3ZlZDpELm1lbnVJdGVtcy5lbGVtZW50LmZpcnN0Q2hpbGQ/LnRleHRDb250ZW50Pz8iY2hpbGQgZWxlbWVudCBub3QgZm91bmQifSkpfUQubWVudUl0ZW1zLldKKCJzaXplLWNoYW5nZSIpO0Q9e307Yj0hMTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XSxoPW4ub3B0aW9uc1trXSx4PWs9PT1uLlc7eCYmKGI9ITApO2gmJmgucHJpb3JpdHk9PT0tdj8obi5vcHRpb25zW2tdLnVwZGF0ZVZhbHVlKCJsYWJlbCIsbi5qKGspKSwKZGVsZXRlIG4ub3B0aW9uc1trXSk6aD1OWGgobixrLC12LHgpO0Rba109aDt2dShuLkssaCwhMCl9Ynx8KG4uVz1udWxsKTtmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobi5vcHRpb25zKSluLm9wdGlvbnNbdl0uZGlzcG9zZSgpO24ub3B0aW9ucz1EfTsKZW49ZnVuY3Rpb24obil7aWYobi5tZW51SXRlbSl7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk7bi5tZW51SXRlbS5lbmFibGUoISFXJiYhIVcuV2spfX07CmdWPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tQb3NpdGlvbj8udXRjVGltZU1pbGxpcykvMUUzO2xldCBiPWBlbWJhcmdvXyR7V31gO24uYXBpLmFkZFV0Y0N1ZVJhbmdlKGIsVyxXK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSwiZW1iYXJnbyIsITEpO0Qub25FbnRlciYmKG4uTltiXT1ELm9uRW50ZXIuZmlsdGVyKG4uSikpfX07CllJMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRSb290Tm9kZSgpO1c9bi5hcGkuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLmVtYmVkc0VuYWJsZUVtYzNkcz9XLnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnR8fFc6VztuLk49bmV3IHBLcihXLEQ9PntEIT1udWxsJiYobi5hcGkuRygpLmVLPUQsbi5hcGkuRygpLkxLPSJFTUJFRERFRF9QTEFZRVJfVklTSUJJTElUWV9GUkFDVElPTl9TT1VSQ0VfSU5URVJTRUNUSU9OX09CU0VSVkVSIil9KTsKZy51KG4sbi5OKTtuLmV2ZW50cy5OTihuLmFwaSwidmlkZW9TdGF0c1BpbmdDcmVhdGVkIixEPT57dmFyIGI9bi5OO2I9Yi5OPT1udWxsP251bGw6TWF0aC5yb3VuZChiLk4qMTAwKS8xMDA7RC5pbnZpZXc9YiE9bnVsbD9iOnZvaWQgMDtiPW4uYXBpLmdldFBsYXllclNpemUoKTtpZihiLmhlaWdodD4wJiZiLndpZHRoPjApe2I9W01hdGgucm91bmQoYi53aWR0aCksTWF0aC5yb3VuZChiLmhlaWdodCldO2xldCB2PWcuSF8oKTt2PjEmJmIucHVzaCh2KTtiPWIuam9pbigiOiIpfWVsc2UgYj12b2lkIDA7RC5zaXplPWJ9KX07CkhfVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+bmV3IG11KFcuaWQsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2taOlcua1p9KSl9OwpxVz1mdW5jdGlvbihuLFcsRCxiKXtmdW5jdGlvbiB2KGgpe3ZhciB4PSEoaC5zdGF0dXMhPT0yMDQmJmguc3RhdHVzIT09MjAwJiYhaC5yZXNwb25zZSk7aD17c3VjYzpgJHsreH1gLHJjOmguc3RhdHVzLGxiOmgucmVzcG9uc2U/LmJ5dGVMZW5ndGh8fDAscnQ6KCgwLGcuUikoKS1rKS50b0ZpeGVkKCksc2hvc3Q6Zy5JUChuKSx0cmlnZ2VyOld9O1hyKGgsbik7RCYmRChoKTtiJiYheCYmYihuZXcgZy5DaSgicGF0aHByb2JlLm5ldCIsaCkpfQp2YXIgaz0oMCxnLlIpKCk7Zy5lZChuLHtmb3JtYXQ6IlJBVyIscmVzcG9uc2VUeXBlOiJhcnJheWJ1ZmZlciIsdGltZW91dDoxRTQsb25GaW5pc2g6dixvblRpbWVvdXQ6dn0pfTsKWHI9ZnVuY3Rpb24obixXKXt3aW5kb3cucGVyZm9ybWFuY2U/LmdldEVudHJpZXNCeU5hbWUmJihXPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoVykpJiZXLmxlbmd0aCYmKFc9V1swXSxuLnBlZG5zPShXLmRvbWFpbkxvb2t1cEVuZC1XLnN0YXJ0VGltZSkudG9GaXhlZCgpLG4ucGVjb249KFcuY29ubmVjdEVuZC1XLmRvbWFpbkxvb2t1cEVuZCkudG9GaXhlZCgpLG4ucGVycXM9KFcucmVxdWVzdFN0YXJ0LVcuY29ubmVjdEVuZCkudG9GaXhlZCgpKX07CnRCPWZ1bmN0aW9uKG4pe3JldHVybiBHRChuLmlqLCFuLnBvbGljeS5mUixuLnBvbGljeS5RSCl9OwpmaXg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1pbihuLnBvbGljeS5UNiwkcyhuLmlqKSk7bj10QihuKTtyZXR1cm4gVy1EKm59OwpyVj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLm1heChNYXRoLm1heChuLnBvbGljeS5abSxuLnBvbGljeS5UNCpEKSxNYXRoLm1pbihNYXRoLm1pbihuLnBvbGljeS5ISiwzMSpEKSxNYXRoLmNlaWwoVypEKSkpKXx8bi5wb2xpY3kuWm19OwpzYj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe2lmKG4ucG9saWN5LlE3KXJldHVybiBNYXRoLmNlaWwobi5wb2xpY3kuUTcqVyk7bi5wb2xpY3kudm4mJihiPU1hdGguYWJzKGIpKTtiLz1uLnBsYXliYWNrUmF0ZTt2YXIgaz0xL0dEKG4uaWopO0Q9TWF0aC5tYXgoLjkqKGItMyksJHMobi5paikrbi5pai5KLk4qaykvayouOC8oVytEKTtEPU1hdGgubWluKEQsYik7bi5wb2xpY3kuSFk+MCYmdiYmKEQ9TWF0aC5tYXgoRCxuLnBvbGljeS5IWSkpO3JldHVybiByVihuLEQsVyl9OwpOVz1mdW5jdGlvbihuKXtyZXR1cm4gdEIobikvbi5wbGF5YmFja1JhdGV9Owpwdj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5yZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3l8fFtdLHY9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5zdGFydE1pblJlYWRhaGVhZFBvbGljeXx8W107bj1JbmZpbml0eTtXPVcmJmIubGVuZ3RoPjA/Yjp2O2ZvcihsZXQgayBvZiBXKVc9ay5taW5SZWFkYWhlYWRNc3x8MCxEPChrLm1pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjfHwwKXx8bj5XJiYobj1XKTtyZXR1cm4gbjxJbmZpbml0eT9uLzFFMzpufTsKZnY9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5pbmZvLmFaKXJldHVybiBELmxlbmd0aD09PTA/RC5wdXNoKGIpOihuPUQucG9wKCk/LmooYikpP0QucHVzaChuKTpELnB1c2goYiksdjsoRD1ELnBvcCgpPy5qKGIpKXx8KEQ9Yik7aWYoRC5pbmZvLk4pcmV0dXJuIG4ubG9nZ2VyJiZuLmxvZ2dlcih7aW5jb21wbGV0ZVNlZ21lbnQ6RC5pbmZvLmdhKCl9KSx2O3ZhciB7Zm9ybWF0SWQ6ayxqJDpoLHN0YXJ0VGltZU1zOngsY2xpcElkOkwscjk6ZX09bi5LKEQpO2I9e2NsaXBJZDpMLGZvcm1hdElkOmssc3RhcnRUaW1lTXM6eCxkdXJhdGlvbk1zOmUsQUM6aCxpOTpofTt2PVlzKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRztpZihHPUQpe0c9Yjt2YXIgcj12LE49RC5zdGFydFRpbWVNcytELmR1cmF0aW9uTXMsSD1HLnN0YXJ0VGltZU1zK0cuZHVyYXRpb25NcztpZihHLnN0YXJ0VGltZU1zLU4+bi5OKUc9ITE7ZWxzZSBpZihIdShuLEQuZm9ybWF0SWQsRy5mb3JtYXRJZCkpRC5kdXJhdGlvbk1zPQpNYXRoLm1heChOLEgpLUQuc3RhcnRUaW1lTXMsRC5pOT1NYXRoLm1heChELmk5LEcuaTkpLEc9ITA7ZWxzZSBpZihNYXRoLmFicyhELnN0YXJ0VGltZU1zLUcuc3RhcnRUaW1lTXMpPD1uLk4paWYoRC5kdXJhdGlvbk1zPkcuZHVyYXRpb25NcytuLk4pe3I9RC5mb3JtYXRJZDt2YXIgQT1ELkFDLHk9RC5pOTtELmZvcm1hdElkPUcuZm9ybWF0SWQ7RC5kdXJhdGlvbk1zPUcuZHVyYXRpb25NcztELkFDPUcuQUM7RC5pOT1HLmk5O0cuZm9ybWF0SWQ9cjtHLnN0YXJ0VGltZU1zPUg7Ry5kdXJhdGlvbk1zPU4tSDtHLkFDPUE7Ry5pOT15O0c9ITF9ZWxzZSBELmZvcm1hdElkPUcuZm9ybWF0SWQsRz0hMDtlbHNlIE4+Ry5zdGFydFRpbWVNcyYmKE4+SCYmKFcuc3BsaWNlKHIrMSwwLHtmb3JtYXRJZDpELmZvcm1hdElkLHN0YXJ0VGltZU1zOkgsZHVyYXRpb25NczpOLUgsQUM6Ry5pOSsxLGk5OkQuaTl9KSxuLmxvZ2dlciYmbi5sb2dnZXIoe3NwbGl0T2xkU3RhcnQ6RC5zdGFydFRpbWVNcz8udG9GaXhlZCgzKSwKc3BsaXRPbGRFbmQ6Tj8udG9GaXhlZCgzKSxzcGxpdE5ld1N0YXJ0Okcuc3RhcnRUaW1lTXM/LnRvRml4ZWQoMyksc3BsaXROZXdFbmQ6SD8udG9GaXhlZCgzKX0pKSxELmR1cmF0aW9uTXM9Ry5zdGFydFRpbWVNcy1ELnN0YXJ0VGltZU1zLEQuaTk9Ry5BQy0xKSxHPSExfUc/Yj1EOih2Kz0xLFcuc3BsaWNlKHYsMCxiKSk7RD0wO2ZvcihHPXYrMTtHPFcubGVuZ3RoO0crKyl7Tj1uO0g9V1tHXTtyPWI7QT1ILnN0YXJ0VGltZU1zK0guZHVyYXRpb25Nczt5PXIuc3RhcnRUaW1lTXMrci5kdXJhdGlvbk1zO3k+PUErTi5OP049ITA6eStOLk48SC5zdGFydFRpbWVNcz9OPSExOkh1KE4sSC5mb3JtYXRJZCxyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKWXM9ZnVuY3Rpb24obixXKXtuPWcuVzQobix7c3RhcnRUaW1lTXM6V30sKEQsYik9PkQuc3RhcnRUaW1lTXMtYi5zdGFydFRpbWVNcyk7CnJldHVybiBuPj0wP246LW4tMn07CkpCPWZ1bmN0aW9uKG4sVyxEKXtpZihuLmxvZ2dlcil7dmFyIGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl07ay5Faj8uc3RhcnRUaWNrcyYmYi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9wc3N0LiR7ay5Faj8uc3RhcnRUaWNrc31fcHNkLiR7ay5Faj8ubDh9YCk7Yi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9lLiR7ay5zdGFydFRpbWVNcytrLmR1cmF0aW9uTXN9X2QuJHtrLmR1cmF0aW9uTXN9X3NuLiR7ay5BQ31fZW4uJHtrLmk5fWApfW4ubG9nZ2VyKHtwOmAke0R9YCxicjpiLmpvaW4oIjsiKX0pfX07Ckk2PWZ1bmN0aW9uKG4sVyxEPSExKXtpZihuLlFFKXt2YXIgYj1uLlFFLlpGKCk7aWYoYi5sZW5ndGghPT0wKXtpZihuLlcmJlcpe3ZhciB2PW4uVyxrPXYuaW5mby5YOyFCUihiLGspJiZ2LmluZm8uSz4wJiYoMCxnLlIpKCktbi5EPDVFMyYmKG4ubG9nZ2VyJiZuLmxvZ2dlcih7ZGVuZDp2LmluZm8uZ2EoKX0pLGI9akcoYixrLGsrLjAxKSl9dj1bXTtmb3IodmFyIGg9az0wO2s8Yi5sZW5ndGgmJmg8bi5lVy5sZW5ndGg7KXt2YXIgeD1iLnN0YXJ0KGspO2xldCBOPWIuZW5kKGspO3ZhciBMPW4uZVdbaF0uc3RhcnRUaW1lTXMvMUUzO2xldCBIPShuLmVXW2hdLnN0YXJ0VGltZU1zK24uZVdbaF0uZHVyYXRpb25NcykvMUUzO2lmKEw8PU4mJkg+PXgpe2xldCBBPXsuLi5uLmVXW2hdfTt2YXIgZT1uLkt1LkouZ2V0KE1rKG4uZVdbaF0uZm9ybWF0SWQpKSxHPU1hdGgubWF4KEwseCk7eD1lLmluZGV4LlIzKEcrbi5OLzFFMyk7TD1lLmluZGV4LmdldFN0YXJ0VGltZSh4KTt2YXIgcj14KworKE1hdGguYWJzKEwtRyk+bi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uaW5mby5XfHwxMTshRCYmaD09PW4uSiYmTjxIJiZILU48PXgqMS4wMSYmIShuLnBvbGljeS5TdyYmbi5RRSYmbi5RRS55dSgpKSYmKE49SCk7eD1NYXRoLm1pbihILE4pO0w9ZS5pbmRleC5SMyh4LW4uTi8xRTMpO0c9ZS5pbmRleC5qRShMKTtMLT0rKE1hdGguYWJzKEcteCk+bi5OLzFFMyk7eD1MK24uWDtlPWUuaW5kZXguakUoTCkqMUUzO0EuaTk9eDtBLmR1cmF0aW9uTXM9ZS1BLnN0YXJ0VGltZU1zO0EuQUM8PUEuaTkmJnYucHVzaChBKX1IPE4/aCs9MTprKz0xfW4uZVc9dn19fTsKSmFpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9Wy4uLm4uUDNdO24uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5UQy5aUCgpLHY9bi5KO2ZvcihsZXQgayBvZiBiKXY9ZnYobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLFAzOkR9fTsKSHU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXLml0YWchPT1ELml0YWd8fFcueHRhZ3MhPT1ELnh0YWdzPyExOm4uS3Uueld8fFcubG10PT09RC5sbXR9OwpaYj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCFXLlBKLk4oKSl7aWYoISh2PUQ9PT0wfHwhIVcuSi5sZW5ndGgmJlcuSlswXWluc3RhbmNlb2YgU24pKWE6e2lmKFcuSi5sZW5ndGgmJih2PVcuSlswXSx2IGluc3RhbmNlb2YgQUImJnYuSk8mJnYuYUkpKXt2PSEwO2JyZWFrIGF9dj0hMX12fHxuLnBvbGljeS5OfHxtaShXKTtyZXR1cm4gRH12YXIgaz1LdihXLEQpO2lmKCFpc05hTihrKSlyZXR1cm4gaztpZihuLmxvYWRlci5DNyhEKjFFMykpcmV0dXJuIEQ7di5BTT9uLnBvbGljeS5WSCYmKG49T2Iobi5sb2FkZXIsVyksVy5zTShEK24sITApKTooVy56aSgpLG4ubG9hZGVyLlgkKCExLGBzdGFfJHsrVy5QSi5pbmZvLmVTKCl9YCkpO3JldHVybiBiJiYobj1GWihiLlpGKCksRCksIWlzTmFOKG4pKT8oUHUoVyxuK0lpYix2KSxEKTpQdShXLEQsdil9OwpVYj1mdW5jdGlvbihuLFcsRCl7aWYoIW4ucG9saWN5Lmope249Vy5QSi5pbmRleDt2YXIgYj1XLk4uaiQ7bi5NSShiKXx8RCYmRC5qJD09PWI/KFcuUEQ9IW4uTUkoYiksVy5EPSFuLk1JKGIpKTooVy5QRD0hMCxXLkQ9ITApfX07CkViPWZ1bmN0aW9uKG4pe3ZhciBXPU1hdGgubWF4KG4udmlkZW9UcmFjay5TRSgpLG4uYXVkaW9UcmFjay5TRSgpKTt5ayhuLnZpZGVvVHJhY2spO3lrKG4uYXVkaW9UcmFjayk7bi5wb2xpY3kuanx8ajQobi5LdSk7bi5LdS5pc01hbmlmZXN0bGVzcyYmIW4ucG9saWN5LmomJihuLk49ITAsbi5KPTApO3ZhciBEPW4ubG9hZGVyO2lmKCFELnBvbGljeS5sbnx8RC5wb2xpY3kuR0MpRC5jdXJyZW50VGltZT1XO24uc2Vla2luZz0hMDtuLlc9bmV3IFk2O3JldHVybiBuLld9OwpvNj1mdW5jdGlvbihuKXt2YXIgVz1uLnZpZGVvVHJhY2suWCE9PS0xLEQ9bi5hdWRpb1RyYWNrLlghPT0tMTtpZighV3x8IUQpaWYoVz0hVyYmaVkobi52aWRlb1RyYWNrKSxEPSFEJiZpWShuLmF1ZGlvVHJhY2spLFd8fEQpaWYoRD1XP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2ssVz1XP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2ssRC5YPWlZKEQpLmluZm8uaiQsbi5wb2xpY3kuaiYmKFcuWD1pWShXKT8uaW5mby5UQygpfHxXLlgpLFcuWCE9PS0xKXtsZXQgYj1NYXRoLm1heChXLlBKLmluZGV4LmdldFN0YXJ0VGltZShXLlgpLEQuUEouaW5kZXguZ2V0U3RhcnRUaW1lKEQuWCkpO3VBKG4uS3UpJiZNYXRoLmFicyhiLXVBKG4uS3UpKT40MzJFMyYmS0t0KG4uS3UpO24uSiYmKGI9bi5KLG4uSj0wKTtnLm1LKCgpPT57bi5wb2xpY3kuanx8dVkobixiLDEwMil9KTsKbi5sb2FkZXIuVSgiaW5pdE1hbmlmZXN0bGVzc1N5bmMiLHtzdDpiLG9zdDpiK24ubG9hZGVyLlNXKCksYTpuLmF1ZGlvVHJhY2suWCx2Om4udmlkZW9UcmFjay5YfSk7bi5XJiYobi5XLnJlc29sdmUoYisuMSksbi5XPW51bGwpO24ucG9saWN5LmomJnVZKG4sYiwxMDIpfX07ClNJWj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uaXNTZWVraW5nKCkpcmV0dXJuLTE7RD0oRD9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5QSi5pbmRleDt2YXIgYj1ELlIzKG4udGFyZ2V0VGltZSk7cmV0dXJuKEQuTUkobi5LdS5JdCl8fFcuaiQ9PT1uLkt1Lkl0KSYmYjxuLkt1Lkl0P24uS3UuTGYoKTotMX07CnVZPWZ1bmN0aW9uKG4sVyxEKXtuLk4mJm4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEmJihuLk49ITEsbi50YXJnZXRUaW1lPVcsZFYobi5sb2FkZXIsVysuMSx7QTk6ITAscWQ6ImNodW5rU2VsZWN0b3JTeW5jaHJvbml6ZSIscWE6ITAsc2Vla1NvdXJjZTpEfSkpfTsKQWEyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4ucG9saWN5LmopIWJ8fCFuLk4mJm4ucG9saWN5LkJWfHxnLm1LKCgpPT57bzYobil9KTsKZWxzZXtpZihuLmlzU2Vla2luZygpJiZuLnRhcmdldFRpbWUpe2xldCBrPVNJWihuLFcsRCk7aWYoayE9PS0xKXtuLnZpZGVvVHJhY2suUEQ9ITE7bi5hdWRpb1RyYWNrLlBEPSExO24uTj0hMDtuLko9MDtnLm1LKCgpPT57bi5sb2FkZXIuVSgic2Vla3JlYXNvbiIse3JlYXNvbjoiYmVoaW5kTWluU3EiLHRndDprfSk7dVkobixrKX0pOwpyZXR1cm59fUQ/bi52aWRlb1RyYWNrLkQ9ITE6bi5hdWRpb1RyYWNrLkQ9ITE7dmFyIHY9IW4uTjtLdihuLnZpZGVvVHJhY2ssbi50YXJnZXRUaW1lKT49MCYmS3Yobi5hdWRpb1RyYWNrLG4udGFyZ2V0VGltZSk+PTAmJnY/KG4uUEQoKSYmbi5sb2FkZXIuVSgiaXRlcmF0aXZlU2Vla2luZyIse3N0YXR1czoiZG9uZSIsY291bnQ6bi5zZWVrQ291bnR9KSxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExKTpiJiZnLm1LKCgpPT57aWYobi5OfHwhbi5wb2xpY3kuQlYpbzYobik7ZWxzZXt2YXIgaz1XLnN0YXJ0VGltZSxoPVcuZHVyYXRpb247aWYoIW4ucG9saWN5Lmope3ZhciB4PW4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEsTD0hbi52aWRlb1RyYWNrLkQmJiFuLmF1ZGlvVHJhY2suRDsoRD9uLnZpZGVvVHJhY2suUEQ6bi5hdWRpb1RyYWNrLlBEKSYmeCYmTCYmKG4udGFyZ2V0VGltZT49ayYmbi50YXJnZXRUaW1lPGsraCsuMT8oKEQ/bi52aWRlb1RyYWNrOgpuLmF1ZGlvVHJhY2spLlBEPSExLG4uUEQoKXx8KG4ubG9hZGVyLlUoIml0ZXJhdGl2ZVNlZWtpbmciLHtzdGF0dXM6ImRvbmUiLHRhcmdldDprLG9yaWdpbmFsVGltZTprK24ubG9hZGVyLlNXKCksY291bnQ6bi5zZWVrQ291bnR9KSxuLnNlZWtDb3VudD0wKSk6bi5zZWVrQ291bnQ8OD8obi5zZWVrQ291bnQrKyxuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbnByb2dyZXNzIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprLGR1cmF0aW9uOmgsaXNWaWRlbzpEfSksbi5zZWVrKG4udGFyZ2V0VGltZSx7fSkpOihuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbmNvbXBsZXRlIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprfSksbi5zZWVrQ291bnQ9MCxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExLGRWKG4ubG9hZGVyLGsrLjEse0E5OiEwLHFkOiJjaHVua1NlbGVjdG9yU3luY2hyb25pemVNZWRpYSIsCnFhOiEwfSkpKX19fSl9fTsKVEQ9ZnVuY3Rpb24obixXLEQpe3pEKG4uaWosVyk7bi5EdCYmKG4uRHQuYWRkKE1hdGguY2VpbChXKS1NYXRoLmNlaWwobi5LKSksbi5EdC5hZGQoTWF0aC5tYXgoMCxNYXRoLmNlaWwoRC8xMDI0KS1NYXRoLmNlaWwobi5YLzEwMjQpKSkpO3ZhciBiPVctbi5LLHY9RC1uLlg7bi5VNT12O24ualc9TWF0aC5tYXgobi5qVyx2LyhiKy4wMSkqMUUzKTtuLks9VztuLlg9RDtuLkhKJiZEPm4uSEomJmxZKG4pfTsKbFk9ZnVuY3Rpb24obil7bi5udT1NYXRoLm1heChuLm51LG4uWC1uLlJ0KTtuLlZRPU1hdGgubWF4KG4uVlEsbi5LLW4uWmgpO24uSEo9MH07Cm13cj1mdW5jdGlvbihuLFcpe24udXJsPVc7d2luZG93LnBlcmZvcm1hbmNlJiYhcGVyZm9ybWFuY2Uub25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwmJihwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbD0oKT0+e3BlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCl9KX07CmpuPWZ1bmN0aW9uKG4pe24uaXNBY3RpdmUmJihuLmlzQWN0aXZlPSExKX07CkN2PWZ1bmN0aW9uKG4pe24uZSQ9bi5OK24uc25hcHNob3QuZGVsYXkqMUUzO24udlg9ITF9OwpGcj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uZGlzYWJsZVJlY29yZGluZyl7Vz1NYXRoLm1heChXLC4wMSk7dmFyIGI9bi5xWT9NYXRoLm1heChXLEQvbi5xWSk6Vyx2PW4uaWouSi5XO3YmJihiPVcsbi5xWSYmKGI9TWF0aC5tYXgoVyxEL24ucVkqdikpKTtCdShuLmlqLFcsRCxiKX19Owp3Vj1mdW5jdGlvbihuKXt2YXIgVz1uLkZGfHxuLkdDO3JldHVybiBXP24uc25hcHNob3QuZGVsYXkrTWF0aC5taW4obi5POCwobi5jSi1uLnR3KS8xRTMpK1c6bi5zNX07Ck1XPWZ1bmN0aW9uKG4pe3JldHVybihuLlktbi5OKS8xRTN9OwpRaz1mdW5jdGlvbihuLFcpe2lmKG4uaG4mJm4uaiQhPT12b2lkIDAmJm4uWkEhPT12b2lkIDApe3ZhciBEPU1hdGgsYj1ELm1pbix2PW4uVjt2YXIgaz1uLmhuO3ZhciBoPW4uTjtpZihSNihrLG4uaiQpKWs9VztlbHNle3ZhciB4PTA7ay50SSYmKHg9LjIpO2s9aCsoay5POCt4KSoxRTN9bi5WPWIuY2FsbChELHYsayk7RD1NYXRoO2I9RC5taW47dj1uLk87az1uLmhuO2g9bi5OO3g9S2EyKGssbi5qJCxuLlpBKTt4IT09MiYmKFc9eD9XOmgray5POCoxRTMsay50SSYmKFcrPWsuTzgqMUUzKSk7bi5PPWIuY2FsbChELHYsVyk7bi5WPD1uLk4/Q3Yobik6KG4uZSQ9bi5WLG4udlg9ITApfX07ClZrPWZ1bmN0aW9uKG4sVyl7aWYoVysxPD1uLnRvdGFsTGVuZ3RoKXt2YXIgRD1yZChuLFcpO0Q9RDwxMjg/MTpEPDE5Mj8yOkQ8MjI0PzM6RDwyNDA/NDo1fWVsc2UgRD0wO2lmKEQ8MXx8IShXK0Q8PW4udG90YWxMZW5ndGgpKXJldHVyblstMSxXXTtpZihEPT09MSluPXJkKG4sVysrKTtlbHNlIGlmKEQ9PT0yKUQ9cmQobixXKyspLG49cmQobixXKyspLG49KEQmNjMpKzY0Km47ZWxzZSBpZihEPT09Myl7RD1yZChuLFcrKyk7dmFyIGI9cmQobixXKyspO249cmQobixXKyspO249KEQmMzEpKzMyKihiKzI1NipuKX1lbHNlIGlmKEQ9PT00KXtEPXJkKG4sVysrKTtiPXJkKG4sVysrKTtsZXQgdj1yZChuLFcrKyk7bj1yZChuLFcrKyk7bj0oRCYxNSkrMTYqKGIrMjU2Kih2KzI1NipuKSl9ZWxzZSBEPVcrMSxuLmZvY3VzKEQpLFhhKG4sRCw0KT9uPXFEKG4pLmdldFVpbnQzMihELW4uVywhMCk6KGI9cmQobixEKzIpKzI1NipyZChuLEQrMyksbj1yZChuLEQpKzI1NioocmQobixEKzEpKwoyNTYqYikpLFcrPTU7cmV0dXJuW24sV119OwpjdT1mdW5jdGlvbihuKXtyZXR1cm4gZy5keihuLmluZm8uQXcsVz0+Vy50eXBlPT09Myl9OwpDbmk9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz8obmV3IHVvKG4uSikpLmVuY3J5cHQoVyxuLk4pOld9OwpGSTE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz9hd2FpdCAobmV3IHVvKG4uSikpLmRlY3J5cHQoVyxuLk4pOld9OwphNj1mdW5jdGlvbihuKXtuLlcucmVhZCgpLnRoZW4obi5ZLG4ub25FcnJvcikudGhlbih2b2lkIDAsZy5xZyl9OwpXcD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGdaKDYsMTE3MCxuLkFPKSlyZXR1cm4gbmV3IE9fcihuLEQpO249bi5XRCgpO3JldHVybiBiP3lXKCk/bmV3IG4zKG4sVyxELHYpOm5ldyBQSGoobixXLEQsdik6bmV3IFpfQyhuLEQsdil9OwpEeD1mdW5jdGlvbihuLFcsRCl7bi5OJiYoZTUobi5OLFcpLFc9bi5OLG4uTj1udWxsKTt2YXIgYj0wLHY9MDtmb3IobGV0IEwgb2Ygbi5Bdyl7aWYoTC5yYW5nZSYmYitMLko8PW4uSil7Yis9TC5KO2NvbnRpbnVlfWlmKGhKKEwpJiYhRCYmbi5KK1cudG90YWxMZW5ndGgtdjxiK0wuSil7KHtZOTpuLk59PVcuc3BsaXQodikpO2JyZWFrfWE6e3ZhciBrPW47dmFyIGg9TCx4PW4uSi1iO2xldCBlPVcudG90YWxMZW5ndGgtdjtoLnJhbmdlJiYoZT1NYXRoLm1pbihoLkoteCxlKSk7aD1HUChoLGguTit4LGUsaC5yYW5nZT9oLk4reCtlPT09aC5yYW5nZS5sZW5ndGg6ISFEKTt4PWdkKFcsdixlKTtoPW5ldyBiOChoLHgpO2lmKGsualMubGVuZ3RoJiYoeD1rLmpTW2sualMubGVuZ3RoLTFdLmooaCkpKXtrLmpTW2sualMubGVuZ3RoLTFdPXg7az1lO2JyZWFrIGF9ay5qUy5wdXNoKGgpO2s9ZX1uLkorPWs7dis9aztiKz1MLko7aWYodj09PVcudG90YWxMZW5ndGgpYnJlYWt9fTsKYnU9ZnVuY3Rpb24obil7cmV0dXJuIFVZKG4ubm4sUjAoNjQsMzUzNixuLlNPLkFPKSl9Owp2cD1mdW5jdGlvbihuKXtuLlhiLk89KDAsZy5SKSgpO249YnUobik7bi5qPSgwLGcuUikoKTtuLnN0YXJ0ZWQrPTF9OwprWj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe24udGltaW5nLkhEKCgwLGcuUikoKSxXLEQpO1c9bi5YYjtXLko9MDtXLlY9MDtXLkQ9MDt6aihidShuKSx2KTtiJiYoYj1idShuKSxiLlcrPTEpO24uVWo/Lk8obi5TTy5BTyl9OwpoVT1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubGFzdEVycm9yPT09InVtcC5zcHNyZWplY3RmYWlsdXJlIiluLnRpbWluZy5iZHx8d0Eobi5YYiwhMSxuLlNPLG4ucG9saWN5LG4ubm4pO2Vsc2V7aWYobi5sYXN0RXJyb3I9PT0ibmV0LnRpbWVvdXQiKW4udGltaW5nLnlFKCgwLGcuUikoKSk7ZWxzZXt2YXIgRD1uLnRpbWluZztURChELCgwLGcuUikoKSxELlgpfW4ubGFzdEVycm9yPT09Im5ldC5ub2NvbnRlbnQiPysrbi5YYi5EOigoRD1uLmxhc3RFcnJvcj09PSJuZXQudGltZW91dCJ8fG4ubGFzdEVycm9yPT09Im5ldC5jb25uZWN0Inx8bi5sYXN0RXJyb3I9PT0ibmV0LmNsb3NlZCIpJiYhZ1ooNiwxMTcwLG4uU08uQU8pP29FaShidShuKSxXKTp5ZihidShuKSxXKSxuLnRpbWluZy5iZHx8d0Eobi5YYixELG4uU08sbi5wb2xpY3ksbi5ubikpfW4uWWEudlYoNSl9Owp4Wj1mdW5jdGlvbihuLFcsRCxiPSExLHY9ITEsaz0hMSl7cmV0dXJuIFc+PTQwMHx8az8obi5sYXN0RXJyb3I9az8icHJvYmUubmV0LmJhZHN0YXR1cyI6Im5ldC5iYWRzdGF0dXMiLCEwKTp2PyhuLmxhc3RFcnJvcj0idW1wLnNwc3JlamVjdGZhaWx1cmUiLCEwKTpEfHxiPyExOihuLmxhc3RFcnJvcj1XPT09MjA0PyJuZXQubm9jb250ZW50IjoibmV0LmNvbm5lY3QiLCEwKX07CkwzPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuYiQpcmV0dXJuITE7dmFyIEQ9Vy5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIiksYj1XLmlpKCk7bj0hYnx8Yjw9bi5wb2xpY3kub2M7cmV0dXJuKCFXLkdwKCl8fCFEfHxELmluZGV4T2YoInRleHQvcGxhaW4iKSE9PS0xKSYmbn07CmVWPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9IiI7Vz1XLnNOKCk7Vy50b3RhbExlbmd0aDw9bi5wb2xpY3kub2MmJihuPXRSKFcpLG49cFIobiksRD1nWChuKT9uOiIiKTtyZXR1cm4gRH07CmdDPWZ1bmN0aW9uKG4pe3ZhciBXPW4udGltaW5nLkQoKTtXLnNob3N0PVIwKDk2LDM1Njgsbi5TTy5BTyk7bi5wb2xpY3kuQ3UmJm4ucG9saWN5LnZYJiYoVy5jc3JjPTEpO3JldHVybiBXfTsKVXdiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4/Lm1heFdpZHRoPlc/Lm1heFdpZHRofHxuPy5tYXhIZWlnaHQ+Vz8ubWF4SGVpZ2h0fTsKeWFqPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcua2V5cygpKXtsZXQgYj1XLmdldChEKTtpZihiLmxlbmd0aD09PTApY29udGludWU7Zy5iZihiLChoLHgpPT54Lm1heEZyYW1lcmF0ZS1oLm1heEZyYW1lcmF0ZSk7CmxldCB2PVtiWzBdXSxrPTA7Zm9yKGxldCBoPTE7aDxiLmxlbmd0aDtoKyspVXdiKGJbaF0sdltrXSkmJih2LnB1c2goYltoXSksaysrKTtuPW4uY29uY2F0KHYpfXJldHVybiBufTsKaV9iPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpVz1FdGpbYl18fDAsbi5OJiZXPm4uTnx8RC5wdXNoKGIpO3JldHVybiBEfTsKWHU9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXVkWltuXXx8W107RC5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4IikmJihiPW90dFtuXXx8W10pO1cucHVzaCguLi5iKTtELlMoImh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9kcm0iKSYmVy5wdXNoKC4uLihkd3Rbbl18fFtdKSl9Owp6eFM9ZnVuY3Rpb24obixXKXt2YXIgRD1WeihuKSxiPW4uRygpLHY9Yi5XO2I9Yi5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4Iik7dmFyIGs9bi5OUCgpO2lmKGIpe2lmKCF2Lk4pe2lmKGsmJnFxKXJldHVybiBxcTtpZihHSSlyZXR1cm4gR0l9fWVsc2UgaWYoR0kmJiF2Lk4pcmV0dXJuIEdJO3ZhciBoPVtdLHg9W10sTD17fSxlPXRVLmNvbmNhdCgkWik7YiYmKGU9dFUuY29uY2F0KHJDKSk7bi5TKCJodG1sNV9lYXJseV9tZWRpYV9mb3JfZHJtIikmJihlPWUuY29uY2F0KHNHKSxuLlMoImFsbG93X3ZwOV8xMDgwcF9tcV9lbmMiKSYmZS5wdXNoKE5xKSk7dmFyIEc9Wy4uLnAzXTtuLlMoImh0bWw1X2lhbWZfYXVkaW9fb25lc2llX2ZtdCIpJiZHLnB1c2goWyI3NzMiXSk7Zm9yKHZhciByIG9mIGUpe2U9ITE7Zm9yKGxldCBIIG9mIHIpe3ZhciBOPVNNKEgsayYmYik7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2lmKE4uTVcoKSYmIUQuZSQmJk4udmlkZW8ucXVhbGl0eU9yZGluYWw+CkQublMpY29udGludWU7bGV0IEE9Zy5kTShuLkcoKS5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7aWYoQT4wJiZVTihOKSYmTi5Ocz5BKWNvbnRpbnVlO2lmKGUpe2gucHVzaChIKTtYdShILGgsbik7Y29udGludWV9Tj1zRChELE4sdik7Tj09PSEwPyhlPSEwLGgucHVzaChIKSxYdShILGgsbikpOkxbSF09Tn19Zm9yKGxldCBIIG9mIEcpZm9yKGxldCBBIG9mIEgpe3I9QXUoQSk7aWYoIXJ8fCFyLmF1ZGlvfHwhbi5TKCJodG1sNV9vbmVzaWVfNTFfYXVkaW8iKSYmci5WKCkpY29udGludWU7cj1zRChELHIsdik7aWYocj09PSEwKXt4LnB1c2goQSk7WHUoQSx4LG4pO2JyZWFrfWVsc2UgTFtBXT1yfWlmKCFuLlMoImh0bWw1X2VuYWJsZV9hdWRpb19xdWFsaXR5X3NldHRpbmciKSl7bj1bIjE0MSIsIjc3NCJdO2ZvcihsZXQgSCBvZiBuKXguaW5jbHVkZXMoSCkmJihnLkZJKHgsSCksTFtIXT0iYmxraHFhIil9RC5XJiZXKCJvcmZtdHMiLEwpO2lmKGIpcmV0dXJuIHYuTiYmCih2Lk49ITEscXE9R0k9dm9pZCAwKSxrP3FxPXt2aWRlbzpoLGF1ZGlvOnh9OkdJPXt2aWRlbzpoLGF1ZGlvOnh9O0dJPXt2aWRlbzpoLGF1ZGlvOnh9O3YuTj0hMTtyZXR1cm4gR0l9OwpqRk09ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLkwsYj1uLnlRLHY9bi5paixrPUQuZ2V0VmlkZW9EYXRhKCksaD1wNygwKTt2YXIgeD1ELmdldFZpc2liaWxpdHlTdGF0ZSgpO2IuUygiaHRtbDVfZW5hYmxlX2F1ZGlvX3F1YWxpdHlfc2V0dGluZyIpJiYoVy5pQj1iLmlCKTtoJiYoVy5pSD1oLFcubGFzdE1hbnVhbERpcmVjdGlvbj1Sc3goKSxoPVVQKCl8fDAsaD4wJiYoaD0oYi5TKCJodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2UiKT9EYXRlLm5vdygpOigwLGcuUikoKSktaCxiLlMoImh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZSIpP2g+MCYmKFcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpOlcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpKTtpZih2Lk98fGIuUygiaHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lIikmJnc4KWg9CmIuUygiaHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmUiKT8hIW4ub1o/LmZSOiExLFcuSSQ9R0QodiwhaCk7dmFyIEw9TkcubWVkaXVtLGU9TWF0aC5mbG9vcihMKjE2LzkpLEc9ay5OUCgpfHwoay5OJiZrLlcmJmsuVy52aWRlb0luZm9zLmxlbmd0aCE9PTA/ay5XLnZpZGVvSW5mb3NbMF0uaXNWZXJ0aWNhbCgpOiExKTtoPUc/TDplO2U9Rz9lOkw7Rz1ELlNpKCk7TD1HLndpZHRoO0c9Ry5oZWlnaHQ7Vy5zQT1NYXRoLm1heChMLGgpO1cuWUE9TWF0aC5tYXgoRyxlKTtiLlMoImh0bWw1X2VuYWJsZV9jbGllbnRfdmlld3BvcnRfc2l6ZV9sb2dnaW5nIikmJmIuV1goKSYmKGg9RC5NaCgpLEQuVSgiY3Z3Iix7dzpMLGg6Ryxjdnc6Vy5zQSxjdmg6Vy5ZQSxjdnU6aC5OfSkpO1cudmlzaWJpbGl0eT14O1cuWkk9Zy52SSgpO1cuZnE9RC5sNSgpKjFFMzt4PW4uTC52JCgpO1cuTk89e2RlZmF1bHRQb2xpY3k6eD8uRHI/Lk58fDAsc21vb3RoOng/LnpOPy5OfHwKMCx2aXNpYmlsaXR5Ong/LmN3Py5OfHwwLE9iOng/LkFFPy5OfHwwLHBlcmZvcm1hbmNlOng/LmlQPy5OfHwwLHNwZWVkOng/LlhOPy5OfHwwfTtXLlROPXg/LlFZPy5OfHwwO2lmKG4uaHF8fG4uQ3gmJiFuLmdEKWg9Yi5adCgpLk4uUVEobGlaKT8/MCxoPjAmJiFXLlROJiYoTD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLGgsITEsInAiKSksVy5OTy5kZWZhdWx0UG9saWN5PUwuTixELlUoImxzbCIse3FjOmh9KSksay5saXZlUHJlbG9hZCYmay5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIikmJiFrLkcoKS5adCgpLk4uUVEoSHApJiYoeD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLDI0MCwhMSwicCIpKSxXLk5PLmRlZmF1bHRQb2xpY3k9eC5OKTt4PW4uaHF8fGsuWjk/W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9LHt0cmFja1R5cGU6Myxpc0hkcjohMX0se3RyYWNrVHlwZTozLAppc0hkcjohMH0se3RyYWNrVHlwZTo0LGlzSGRyOiExfSx7dHJhY2tUeXBlOjQsaXNIZHI6ITB9LHt0cmFja1R5cGU6NSxpc0hkcjohMX0se3RyYWNrVHlwZTo1LGlzSGRyOiEwfV06W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9XTtXLmtjPW4uYXV0aG9yaXplZEZvcm1hdHMmJm4uYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoPjA/e2F1dGhvcml6ZWRGb3JtYXRzOm4uYXV0aG9yaXplZEZvcm1hdHN9OnthdXRob3JpemVkRm9ybWF0czp4fTtuLnNhYnJMaWNlbnNlQ29uc3RyYWludCYmKFcua2Muc2FickxpY2Vuc2VDb25zdHJhaW50PW4uc2FickxpY2Vuc2VDb25zdHJhaW50KTtpZihiLlMoImh0bWw1X29uZXNpZV9tZWRpYV9jYXBhYmlsaXRpZXMiKXx8TEEoaykpVy5ZZj0zO2lmKGIuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEoayl8fG4ub1o/Lk4mJmxvKGIpPT09IlRWSFRNTDVfQVVESU8iKVcuWWY9CjE7bi5vWj8ueUUmJm4ub0cmJihXLllmPVcuWWY9PT12b2lkIDA/NzpXLllmfDQpO3g9ay5lJD9rLmUkOlZ6KGspO2lmKGIuUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtoPWIuVztMPVtdO2U9W107Rz1iLlMoImh0bWw1X3Nob3J0c19vbmVzaWVfbWlzbWF0Y2hlZF9maXgiKTt2YXIgcj1rLk5QKCksTj10VS5jb25jYXQoJFopO0cmJihOPXRVLmNvbmNhdChyQykpO2IuUygiaHRtbDVfZWFybHlfbWVkaWFfZm9yX2RybSIpJiYoTj1OLmNvbmNhdChzRyksYi5TKCJhbGxvd192cDlfMTA4MHBfbXFfZW5jIikmJk4ucHVzaChOcSkpO3ZhciBIPVsuLi5wM107Yi5TKCJodG1sNV9pYW1mX2F1ZGlvX29uZXNpZV9mbXQiKSYmSC5wdXNoKFsiNzczIl0pO2Zvcih2YXIgQSBvZiBOKWZvcih2YXIgeSBvZiBBKXtOPVNNKHksciYmRyk7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2xldCBRPWcuZE0oYi5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7CmlmKCEoUT4wJiZVTihOKSYmTi5Ocz5RKSYmc0QoeCxOLGgpPT09ITApe0wucHVzaCh7dmlkZW9Db2RlYzpmM1tZZ1t5XV0sbWF4V2lkdGg6Ti52aWRlby53aWR0aCxtYXhIZWlnaHQ6Ti52aWRlby5oZWlnaHQsbWF4RnJhbWVyYXRlOk4udmlkZW8uZnBzfSk7YnJlYWt9fWZvcih2YXIgVCBvZiBIKWZvcih2YXIgeiBvZiBUKWlmKChBPUF1KHopKSYmQS5hdWRpbyYmKGIuUygiaHRtbDVfb25lc2llXzUxX2F1ZGlvIil8fCFBLlYoKSkmJnNEKHgsQSxoKT09PSEwKXtlLnB1c2goe2F1ZGlvQ29kZWM6SlVbWWdbel1dLG51bUNoYW5uZWxzOkEuYXVkaW8ubnVtQ2hhbm5lbHN9KTticmVha31XLm1lZGlhQ2FwYWJpbGl0aWVzPXt2aWRlb0Zvcm1hdENhcGFiaWxpdGllczpMLGF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzOmV9fWlmKG4ub1o/LkR0KCkpe0E9bi5JODt5PW4ubGw7aD1uLm9aPy5OcztUPVtdO3o9W107TD1uZXcgTWFwO2U9KGU9ay5KKT9lLml0YWc6dm9pZCAwO0c9ay5XPy52aWRlb0luZm9zOwpHPUc/Lmxlbmd0aD9HW0cubGVuZ3RoLTFdLml0YWc6dm9pZCAwO2U9IVZUKCkmJmUhPT12b2lkIDAmJkE/LmluY2x1ZGVzKE51bWJlcihHKSk7Rz1rLnl3Lk47Zm9yKHZhciBDIG9mIEcudmFsdWVzKCkpQy5lUz96LnB1c2goe2F1ZGlvQ29kZWM6SlVbQy5JQl0sbnVtQ2hhbm5lbHM6Qy5udW1DaGFubmVscyxzcGF0aWFsQ2FwYWJpbGl0eUJpdG1hc2s6VFhNW0MuSUJdfSk6KEc9ZjNbQy5JQl0scj1DLm1heEJpdHJhdGVCcHN8fDAsSD1oP2gqODowLHI9e3ZpZGVvQ29kZWM6RyxtYXhXaWR0aDp5JiYhZT84NTQ6Qy5tYXhXaWR0aHx8MCxtYXhIZWlnaHQ6eSYmIWU/NDgwOkMubWF4SGVpZ2h0fHwwLG1heEZyYW1lcmF0ZTpDLm1heEZyYW1lcmF0ZXx8MCxpczEwQml0U3VwcG9ydGVkOkMuejl8fCExLG1heEJpdHJhdGVCcHM6SCYmcj9NYXRoLm1pbihILHIpOkh8fHIsZWZmaWNpZW50OiEwfSxHPWAke0d9XyR7Qy56OX1gLEg9TC5nZXQoRyl8fFtdLEgucHVzaChyKSxMLnNldChHLEgpKTsKVD15YWooVCxMKTtDPUEmJiFlP1suLi5BXTpbXTtrLlMoImh0bWw1X3NzZmZfZGVueWxpc3Rfb3B1c19sb3ciKSYmQy5wdXNoKDI0OSwzNTApO1Z6KGspO1cubWVkaWFDYXBhYmlsaXRpZXM9e3ZpZGVvRm9ybWF0Q2FwYWJpbGl0aWVzOlQsYXVkaW9Gb3JtYXRDYXBhYmlsaXRpZXM6eixoZHJNb2RlQml0bWFzazozLHBlclBsYXliYWNrQXR0cmlidXRlczpDLmxlbmd0aD97aXRhZ0RlbnlsaXN0OkN9Ont9fX1XLnVxPVZUKCk7bi5vWj8uTiYmKFcuYnY9eC5idixXLm5TPW4ub1o/Lm5TKTtiLnlFJiYoVy5FYj1iLnlFKTtXLm5SPW4ublI7Vy5Zcz1uLllzO1cuZXE9bi5lcTtXLmo0PW4uajQ7bi5weiYmKFcubHE9KDAsZy5SKSgpLW4ucHopO24uSiQmJihXLkokPW4uSiQpO05zfHwoVy5aQz0hMCk7Qz0kcyh2KSoxRTM7Qz4wJiYoVy5YRD1DKTtEPUQuZ2V0UGxheWJhY2tSYXRlKCk7RCE9PTEmJihXLnBsYXliYWNrUmF0ZT1EKTtuLm9aPy5MQiYmbi5HNyYmKFcua0U9bi5rRSxXLlVtPW4uVW0sClcuRzc9bi5HNyk7WWQoKT09PTEmJihXLms4PTEpO2IuUygiaHRtbDVfc2Ficl9mb3JjZV9wcm94aW1hIikmJihXLlZYPTEpO0Q9Zy5kTShiLmV4cGVyaW1lbnRzLCJodG1sNV9zYWJyX2ZvcmNlX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tcyIpO1cucDY9RD4wP0Q6di5pbnRlcnJ1cHRpb25zWzBdfHwwO24ub1o/LllaJiYoVy5yMD1uLnIwKTtiLkhKJiYoVy5hdWRpb1RyYWNrSWQ9Yi5ISik7ay5aaCgpJiYhVy5hdWRpb1RyYWNrSWQmJihiLlMoImh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWQiKXx8KG49bGooayksVy5hdWRpb1RyYWNrSWQ9biksaz8uVSgibWlzc3Rya2NoZyIseyJkZWZhdWx0IjpXLmF1ZGlvVHJhY2tJZH0pKTtpZihuPW5hdmlnYXRvci5jb25uZWN0aW9uPy50eXBlfHwiIilXLmRldGFpbGVkTmV0d29ya1R5cGU9SXFbbl18fElxLm90aGVyOyFiLlMoImh0bWw1X2VuYWJsZV92b2ljZV9ib29zdCIpfHxrLk5QKCl8fGsuaXNBZCgpfHwKKFcucU09Yi5taCk7cmV0dXJuIFd9OwpTVj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD17fTtXJiYoeC5xJD1XKTtpZighbilyZXR1cm4geDt4LnBsYXliYWNrQ29va2llPUQ/LnBsYXliYWNrQ29va2llO3YmJih4LmROPXYpO3gudXQ9W107eC5ycT1bXTtpZihoPy5zaXplKWZvcihsZXQgTCBvZiBoLnZhbHVlcygpKXgucnEucHVzaChMKTtpZihuLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKGxldCBMIG9mIG4uc2FickNvbnRleHRVcGRhdGVzLnZhbHVlcygpKUNIaCh4LEwsYik7Zy5ZTihuKSYmayYmQ0hoKHgsayxiKTtXPW4uRygpLk47eC5jbGllbnRJbmZvPXtjbGllbnROYW1lOkJYdFtXLmMudG9VcHBlckNhc2UoKV18fDB9O1cuY2JyYW5kJiYoeC5jbGllbnRJbmZvLmRldmljZU1ha2U9Vy5jYnJhbmQpO1cuY21vZGVsJiYoeC5jbGllbnRJbmZvLmRldmljZU1vZGVsPVcuY21vZGVsKTtXLmN2ZXImJih4LmNsaWVudEluZm8uY2xpZW50VmVyc2lvbj1XLmN2ZXIpO1cuY29zJiYoeC5jbGllbnRJbmZvLm9zTmFtZT0KVy5jb3MpO1cuY29zdmVyJiYoeC5jbGllbnRJbmZvLm9zVmVyc2lvbj1XLmNvc3Zlcik7Vz1uLkcoKTtXLlMoImh0bWw1X3NhYnJfZW5hYmxlX3NlcnZlcl94dGFnX3NlbGVjdGlvbiIpJiZXLlJhJiYoeC5jbGllbnRJbmZvLmhsPVcuUmEpO24uQngmJih4LkJ4PW4uQngpO3JldHVybiB4fTsKQ0hoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XLnR5cGV8fDA7RD8uaGFzKGIpP24ucnEucHVzaChXKTpuLnV0LnB1c2goYil9OwpGYU09ZnVuY3Rpb24obil7aWYoISh5cyhuLmluZm8pJiZuLmluZm8uUW4oKSYmbi5wb2xpY3kuc1YmJm4uZTEpfHxuLmluZm8uWGIuSj49Mnx8cDcoKT4wfHwhSU8oKSlyZXR1cm4hMTt2YXIgVz1uLlNPLmdldCgiYWl0YWdzIik7aWYoIVcpcmV0dXJuITE7Vz1HNShXKS5zcGxpdCgiLCIpO3ZhciBEPVtdO2ZvcihsZXQgYiBvZiBuLmUxKWcuamooVyxiKSYmRC5wdXNoKGIpO2lmKCFELmxlbmd0aClyZXR1cm4hMTtuLlNPLnNldCgiYWx0aXRhZ3MiLHFoKEQuam9pbigiLCIpKSk7cmV0dXJuITB9Owp3S2o9ZnVuY3Rpb24obixXLEQ9ITEpe2cuWGooVyk7bi50NS5sYXN0RXJyb3I9InBsYXllci5leGNlcHRpb24iO24uZXJyb3JNZXNzYWdlPWAke1cubmFtZX1fJHtXLm1lc3NhZ2V9YDtEP2cubUsoKCk9PntoVShuLnQ1KX0pOmhVKG4udDUpfTsKTUFNPWZ1bmN0aW9uKG4pe24uZXcmJihuLnhoci5zdGF0dXM9bi5ldyxuLmxOPW4uZXcpfTsKUnhqPWZ1bmN0aW9uKG4sVyl7bi50aW1pbmcuYmQ9ITA7bi54aHIuR3AoKSYmbi50aW1pbmcuVEMoKTtuLnBvbGljeS5OZCYmbi5UMj8uc3RvcCgpO0R4KG4uV28sVywhMSl9OwpRRnc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ucVk/TWF0aC5tYXgoVyxEL24ucVkpOlcsdj1uLmlqLkouVzt2JiYoYj1XLG4ucVkmJihiPU1hdGgubWF4KFcsRC9uLnFZKnYpKSk7QnUobi5paixXLEQsYil9OwpWQVM9ZnVuY3Rpb24obixXLEQsYix2LGspe24uTyYmKG4uTy5hZGQoTWF0aC5yb3VuZChXKSksbi5PLmFkZChNYXRoLnJvdW5kKEQpKSxuLk8uYWRkKE1hdGgucm91bmQoYikpLG4uTy5hZGQoTWF0aC5yb3VuZCh2KSksbi5PLmFkZChNYXRoLnJvdW5kKGspKSxuLk8uYWRkKE1hdGgucm91bmQobi52WCkpKX07CmNhdD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgNjg6bi5aYihEKTticmVhaztjYXNlIDM1Om4uc3koRCk7YnJlYWs7Y2FzZSA0NDpuLklyKEQpO2JyZWFrO2Nhc2UgNDM6bi5yTihEKTticmVhaztjYXNlIDUzOm4ua0ooRCk7YnJlYWs7Y2FzZSA1NjpuLk9lKCk7YnJlYWs7Y2FzZSA1NzpuLnlUKEQpO2JyZWFrO2Nhc2UgNDI6bi5XbChEKTticmVhaztjYXNlIDQ1Om4udVEoRCk7YnJlYWs7Y2FzZSA1OTpuLmdZKEQpO2JyZWFrO2Nhc2UgNTE6bi5DWChEKTticmVhaztjYXNlIDQ5Om4uTiQoRCk7YnJlYWs7Y2FzZSA1MDpuLkZYKEQpO2JyZWFrO2Nhc2UgNDc6bi5BcShEKTticmVhaztjYXNlIDU4Om4uc1coRCk7YnJlYWs7Y2FzZSA2MTpuLkhFKEQpO2JyZWFrO2Nhc2UgNzI6bi5ZYS5UcSgpO2JyZWFrO2Nhc2UgNjY6bi56cChEKTticmVhaztjYXNlIDQ2Om4udnQoRCk7YnJlYWs7Y2FzZSA2NzpuLm9uU25hY2tiYXJNZXNzYWdlKEQpO2JyZWFrO2Nhc2UgNzE6Vz1tayhELApJbGopLG4uWWEuSUYoVyl9fTsKYWlNPWZ1bmN0aW9uKG4pe0FVPW59OwpuajE9ZnVuY3Rpb24obixXLEQpe24udTkuZ2V0KFcpLm9uUHJvZ3Jlc3M9RH07Cm1lPWZ1bmN0aW9uKG4sVyl7bi5nRihXKSYmKEFVP24udTkuZ2V0KFcpLkZtLmNsZWFyKCk6bi51OS5nZXQoVykualM9bmV3IFM1LG4uSihXKSxuLlg9ITApfTsKVyRqPWZ1bmN0aW9uKG4pe2ZvcihsZXQgW1csRF1vZiBuLnU5KXtsZXQgYj1XO0QuRG98fG1lKG4sYil9fTsKRDZ4PWZ1bmN0aW9uKG4sVyl7bj1uLnU5LmdldChXKTtpZighbilyZXR1cm4gMDtXPTA7aWYobi5Bdy5sZW5ndGg+MCl7Zm9yKGxldCBEIG9mIG4uQXcpVys9RC5yYW5nZT8ubGVuZ3RofHwwO3JldHVybiBXfWlmKG4uQnQubGVuZ3RoPjApZm9yKGxldCBEIG9mIG4uQnQpVys9RC5lSHx8MDtyZXR1cm4gVytuLk1vfTsKSzM9ZnVuY3Rpb24obixXKXtpZihBVSl7bGV0IEQ9MDtuPW4udTkuZ2V0KFcpO2lmKCFuPy5GbSlyZXR1cm4gMDtmb3IobGV0IGIgb2Ygbi5GbS52YWx1ZXMoKSlEKz1iLmRhdGEudG90YWxMZW5ndGg7cmV0dXJuIER9cmV0dXJuIG4udTkuZ2V0KFcpPy5qUy5qKCl8fDB9OwpPRz1mdW5jdGlvbihuLFcpe249bi51OS5nZXQoVyk7aWYoQVUpe2lmKCFuPy5EbylyZXR1cm4hMTtXPW4uRm0uc2l6ZT4wO3JldHVybiBuLnBKLmxlbmd0aD4wfHxXfXJldHVybiEhbj8uRG8mJiEhbj8ualMuaigpfTsKYmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi51OS5nZXQoVyksYj1ENngobixXKSx2PSFiJiYhIUQuYnl0ZXNSZWNlaXZlZDtpZihBVSl7aWYobi5LdT8uelcpe2Zvcih2YXIgayBvZiBELkZtLnZhbHVlcygpKWlmKCFrLmtuKXJldHVybiExO3JldHVybiB2fX1lbHNlIGlmKGs9bi5tNihXKSx2JiZuLlcmJmshPT12b2lkIDApcmV0dXJuIGs7cmV0dXJuKHZ8fEQuYnl0ZXNSZWNlaXZlZD09PWIpJiZELmJ5K0szKG4sVyk9PT1ELmJ5dGVzUmVjZWl2ZWR9OwpQcD1mdW5jdGlvbihuLFcsRCxiKXtXPXZqdyhuLFcsRCk7RD1ELmF1O2IuQXcucHVzaCguLi5XKTtpZihBVSliLmNCLmhhcyhEKXx8Yi5jQi5zZXQoRCxbXSksYi5jQi5nZXQoRCkucHVzaCguLi5XKTtlbHNlIGlmKGIuV28pZm9yKGxldCB2IG9mIFcpYi5Xby5Bdy5wdXNoKHYpO2Vsc2UgYi5Xbz1uZXcga0JoKFsuLi5iLkF3XSksbi5vWj8uSHgmJmcudShuLGIuV28pO3JldHVybiBXfTsKdmp3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkt1Py5KLmdldChXKTtpZighYilyZXR1cm5bXTtpZihELk9KKXJldHVybiBiLlkoMCxELmNsaXBJZCk/LkF3fHxbXTtpZihiLlcoKSl7dmFyIHY9RC5zdGFydE1zLGs9RC5kdXJhdGlvbk1zLGg9MUUzO24ub1o/Lk4mJkQudGltZVJhbmdlJiYodj1ELnRpbWVSYW5nZS5zdGFydFRpY2tzPz8tMSxrPUQudGltZVJhbmdlLmw4Pz8tMSxoPUQudGltZVJhbmdlLnRpbWVzY2FsZT8/LTEpO2lmKEQuenY8MHx8RC5QUDwwfHxrPDB8fHY8MHx8RC5lSDwwfHxoPDApcmV0dXJuIG1lKG4sVyksW107bj1XXyhELnp2LEQuZUgpO1c9RC5kR3x8MDtyZXR1cm5bbmV3IHFJKDMsYixuLCJtYWtlU2xpY2VJbmZvc01lZGlhQnl0ZXMiLEQuUFAtMSx2L2gsay9oLFcsbi5sZW5ndGgtVyx2b2lkIDAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV19aWYoRC5QUDwwKXJldHVybiBtZShuLFcpLFtdO2lmKG4uS3U/LnpXKXJldHVybiBrPWIucmIsaD1rKmIuaW5mby5OcywKVz1ELmRHLG4ub1o/Lk4mJm4uVi50ZCgpIT09Ik9ORVNJRSImJkQudGltZVJhbmdlJiYhVyYmKHY9RC50aW1lUmFuZ2Uuc3RhcnRUaWNrcy9ELnRpbWVSYW5nZS50aW1lc2NhbGUpLFtuZXcgcUkoMyxiLHZvaWQgMCwibWFrZVNsaWNlSW5mb3NNZWRpYUJ5dGVzIixELlBQLHYsayxXLGgsITAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV07aWYobi5vWj8uUXImJmIgaW5zdGFuY2VvZiBydCl7aWYoIWIuTigpKXJldHVybiBuLnU5LmdldChXKS5XcS5zZXQoRC5hdSxEKSxbXTtuPUQuUFAtMTt2PWIuaW5kZXguZ2V0U3RhcnRUaW1lKG4pO2s9Yi5pbmRleC5nZXREdXJhdGlvbihuKTtyZXR1cm5bbmV3IHFJKDMsYix2b2lkIDAsIm1ha2VTbGljZUluZm9zTWVkaWFCeXRlcyIsbix2LGssMCxrKmIuaW5mby5Ocyx2b2lkIDAsdm9pZCAwLHZvaWQgMCxELkhmIT09dm9pZCAwKV19cmV0dXJuW119OwpoNzI9ZnVuY3Rpb24obixXLEQpe24uS3U9VztuLm9aPUQ7Zm9yKGxldCBbYix2XW9mIG4udTkpe1c9YjtEPXY7Zm9yKGxldCBrIG9mIEQucDkpUHAobixXLGssRCl9fTsKeDZ3PWZ1bmN0aW9uKG4pe3JldHVybiBuLndEKCkmJiFuLkFkfTsKVUc9ZnVuY3Rpb24obil7aWYobi5VOCE9PXZvaWQgMCl7dmFyIFc9bi5wb2xpY3kual8oKTtpZihXKXt2YXIgRD1XLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRFdmVudHNDb3VudChuLlU4KTtpZihEPjApe3ZhciBiPVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2dldEJhdGNoZWRFdmVudHMobi5VOCk7aWYoYil7Yj1XLm1lbW9yeS5idWZmZXIoYixEKjE2KTtiPW5ldyBVaW50MzJBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsRCo0KTtsZXQgaz0wO2ZvcihsZXQgaD0wO2g8RDtoKyspe3ZhciB2PWJba107bGV0IHg9YltrKzFdLEw9YltrKzJdLGU9YltrKzNdO3Y9PT0wP2UhPT0wJiYodj14JiZMPjA/bmV3IFM1KFtXLm1lbW9yeS5idWZmZXIoeCxMKS5zbGljZSgpXSk6bmV3IFM1KFtuZXcgVWludDhBcnJheSgwKV0pLG4ueUQud20oZSx2KSk6dj09PTEmJm4ueGhyLkdwKCkmJlp4KG4pO2srPTR9fVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NsZWFyRXZlbnRzKG4uVTgpfX19fTsKWng9ZnVuY3Rpb24obil7bi5wb2xpY3kuWTAmJm4uUHEmJiFuLmdVP24uZ1U9ITA6bi5uZi5UQygpfTsKTCQyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9LTEsYj0tMSx2PS0xO2lmKG4udFk/Lml0ZW1zKWZvcihsZXQgayBvZiBuLnRZLml0ZW1zKVc8ay5Ga3x8ay5GazxEfHwoRD1rLkZrLGI9ay5meix2PWsubWluUmVhZGFoZWFkTXMpO3JldHVybntxRTpELGZ6OmIsRFE6dn19Owp5Qj1mdW5jdGlvbihuKXtpZihuLlU4IT09dm9pZCAwKXJldHVybiBuLnBvbGljeS5qXygpLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRNZWRpYUJ5dGVzKG4uVTgpfTsKZy5FRz1mdW5jdGlvbihuLFcsRCl7Zy52UChuLEQpfHxnLmdfKG4sVyxEKTtnLnZQKG4sInZpZGVvX3RvX2FkIil8fGcuZ18obixXLCJ2aWRlb190b19hZCIpO2cudlAobiwiYWRfdG9fdmlkZW8iKXx8Zy5nXyhuLFcsImFkX3RvX3ZpZGVvIik7Zy52UChuLCJhZF90b19hZCIpfHxnLmdfKG4sVywiYWRfdG9fYWQiKX07Cml1PWZ1bmN0aW9uKG4pe24uT3x8KG4uTz0oMCxnLlIpKCksZy5FRygibWJfcyIsbi5PLG4uelIpKX07CmU3Yj1mdW5jdGlvbihuKXtuLnR3fHwobi50dz0oMCxnLlIpKCksZy5FRygib3Zmc19ycCIsbi50dyxuLnpSKSl9OwpnajE9ZnVuY3Rpb24obil7bi5jSnx8KG4uY0o9KDAsZy5SKSgpLGcuRUcoIm9hZnNfcnAiLG4uY0osbi56UikpfTsKWFNoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XIGluc3RhbmNlb2YgdXUmJiFuLlgmJiFuLk4sdj0hbi5YJiZEPy5pbmZvLnZpZGVvO0Q9IW4uTiYmRD8uaW5mby5hdWRpbztXLnN0YXRlPT09Mz8oKHZ8fGIpJiZuLnRpY2soInZyciIpLChEfHxiKSYmbi50aWNrKCJhcnIiKSk6Vy5zdGF0ZT09PTQ/dj8obi5YPVcuV0QoKSxnLkR5KCksYlEoNCkpOkQmJihuLk49Vy5XRCgpKTpXIGluc3RhbmNlb2YgQUImJlcuUXkoKSYmdiYmKGcuRHkoKSxiUSg0KSl9OwpvcT1mdW5jdGlvbihuLFcsRCl7bi5KIT09VyYmKG4uVSgic2RhaSIse3NldHNzdDpXLG9sZDpuLkoscjpEfSksbi5KPVcpfTsKR0JiPWZ1bmN0aW9uKG4sVyxELGI9ITApe2lmKEQmJiFuLlRDLmhhcyhXLmokKSl7dmFyIHY9Vy5zdGFydFRpbWUsaz1bXTtmb3IodmFyIGg9MDtoPEQuTi5sZW5ndGg7aCsrKXt2YXIgeD1ELk5baF0sTD12O3Y9TCtELkpbaF07ay5wdXNoKHtzdGFydFRpbWU6TCxlbmRUaW1lOnYsYWRDcG46eH0pfW4uVEMuc2V0KFcuaiQsayl9bi5wb2xpY3kuZVYmJih2PW4uRCYmVy5qJD09PW4uRC5qJCsxLG4uRD1XLGs9bi5OJiZXLmokPT09bi5OLmokKzEsaz1uLk4mJnYmJmsmJm4uTi5mZi5ldmVudCE9PSJzdG9wIiYmbi5OLmZmLmV2ZW50IT09InByZWRpY3RTdGFydCIsaD1XLmZmfHxudWxsLHg9bi52aWRlb1RyYWNrLlBKLmluZGV4LngkKCkseD1XLmokPj14LEw9bi5LdS5pc01hbmlmZXN0bGVzcyxoPyhuLk4/LmZmLmV2ZW50PT09InByZWRpY3RTdGFydCImJm4uTi5qJDxXLmokJiZoLmV2ZW50PT09InN0b3AiJiZuLmxvYWRlci5oYW5kbGVFcnJvcigic3NkYWkubWlzc2luZ3N0YXJ0Y3VlZXZlbnQiLAp7bGFzdHByZWRpY3Q6bi5OPy5qJHx8MCxjc3E6Vy5qJH0sMCksbi5OPXtmZjpoLGokOlcuaiQsZks6ISFELGZZOmJ9LHg/bi5WaShoLFcuaiQpOkwmJih2P2s/bi5WaShoLFcuaiQpOmguZXZlbnQ9PT0iY29udGludWUifHxoLmV2ZW50PT09InN0b3AiP3EkMihuLFcpOm4uVmkoaCxXLmokKTpuLlZpKGgsVy5qJCkpKTooayYmcSQyKG4sVyksbi5KPT09NCYmb3Eobiw1LCJxZW5kIikpKX07CnJraj1mdW5jdGlvbihuLFcsRCxiLHYpe1chPT1uLk4/LmokfHxuLko9PT0xfHxifHxuLk4uZmYuZXZlbnQ9PT0icHJlZGljdFN0YXJ0Inx8bi5VKCJzZGFpIix7dW5kZWNldnQ6MSxzcTpXLG10OkQsZXZ0Om4uTi5mZi5ldmVudH0sITApO1c+bi5qJiYobi5qPU5hTixuLlY9TmFOKTtpZihuLk4mJm4uTi5qJD09PVcpe2lmKGI9bi5OLCFuLnBvbGljeS5YfHwhbi5wb2xpY3kuVTEpaWYodiYmYil7dmFyIGs9Yi5mZixoPXYuU0Qoayk7ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5jSj1XKTtuLlUoInNkYWkiLHtvbnFldnQ6ay5ldmVudCxzcTpXLG10OkQsZ2FiOmgsY3N0Omsuc3RhcnRTZWNzLGN1ZWlkOm4ucG9saWN5LnlkJiYoaHx8ay5ldmVudD09PSJzdGFydCIpP2suaWRlbnRpZmllcjp2b2lkIDB9LCEwKTtoP2suZXZlbnQhPT0icHJlZGljdFN0YXJ0Ij8oay5ldmVudD09PSJzdGFydCImJm4uY0o9PT1XLTEmJm4uVSgic2RhaSIse2dhYm9uc3RhcnQ6V30pLGIuZks/b3EobiwKNCwiY3VlIik6KG4uaj1XLG4uVj1ELG4uVSgic2RhaSIse2pvaW5hZDpuLkosc2c6bi5qLHN0Om4uVi50b0ZpeGVkKDMpfSksbi5ZPURhdGUubm93KCksb3EobiwyLG4uSj09PTM/InN0YWZ0cHJlZCI6ImpvaW4iKSx0dmkodixiLmZmKSkpOihoPSQ2aChuKSxXKz1NYXRoLm1heChNYXRoLmNlaWwoLWsuTi9oKSwxKSxrPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLnBvbGljeS5VMT9uLlc9azpuLlg9VyxuLlUoInNkYWkiLHtvbnByZWQ6RCxlc3RzcTpXLGVzdG10OmsudG9GaXhlZCgzKX0pLGcuZEMobi5sb2FkZXIsayxrLFcsaCksbi5ZPURhdGUubm93KCksb3EobiwzLCJwcmVkaWN0IiksdHZpKHYsYi5mZikpOm4uSj09PTE/bi5zVT8uR2coRCk/KGcuZEMobi5sb2FkZXIsRCxELFcpLG9xKG4sNCwic2syaGVhZCIpKTpvcShuLDUsIm5vZ2FiIik6ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5wb2xpY3kuVTEmJm4uVz4wPyhEPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLlchPT1EJiYKbi5VKCJzZGFpIix7dXBkYXRlU3Q6RCxvbGQ6bi5XfSksbi5XPUQpOm4uWD4wJiYoRD1XK01hdGgubWF4KE1hdGguY2VpbCgtay5OLyQ2aChuKSksMSksbi5YIT09RCYmKG4uVSgic2RhaSIse3VwZGF0ZVN0OkQsb2xkOm4uWH0pLG4uWD1EKSkpfWVsc2Ugbi5VKCJzZGFpIix7bnVsbGRlYzoxLHNxOlcsbXQ6RC50b0ZpeGVkKDMpLGV2dDpiPy5mZj8uZXZlbnR8fCJub25lIn0pfWVsc2Ugbi5KPT09MSYmb3Eobiw1LCJub2FkIil9Owp6ST1mdW5jdGlvbihuLFcsRCl7cmV0dXJuKEQ8MHx8RD09PW4uaikmJiFpc05hTihuLlYpP24uVjpXfTsKcSQyPWZ1bmN0aW9uKG4sVyl7aWYobi5OKXt2YXIgRD1uLk4uZmYuQ2YtKFcuc3RhcnRUaW1lK24uSy1uLk4uZmYuc3RhcnRTZWNzKTtEPD0wfHwoRD1uZXcgZy5sMyhuLk4uZmYuc3RhcnRTZWNzLShpc05hTihuLkspPzA6bi5LKSxELG4uTi5mZi5jb250ZXh0LG4uTi5mZi5pZGVudGlmaWVyLCJzdG9wIixuLk4uZmYuTitXLmR1cmF0aW9uKjFFMyksbi5VKCJjdWVwb2ludGRpc2NvbnRpbnVpdHkiLHtzZWdOdW06Vy5qJH0pLG4uVmkoRCxXLmokKSl9fTsKJDZoPWZ1bmN0aW9uKG4pe3N3aXRjaChuLnBvbGljeS5sYXRlbmN5Q2xhc3Mpe2Nhc2UgIkxPVyI6cmV0dXJuIDJFMztjYXNlICJVTFRSQUxPVyI6cmV0dXJuIDFFMztkZWZhdWx0OnJldHVybiA1RTN9fTsKbHU9ZnVuY3Rpb24obixXLEQsYj0hMSl7Yj9vcShuLDEsInNlZWsiKTpXPjAmJk1hdGguYWJzKFctRCk+PTUmJm4uSj09PTQmJm9xKG4sNSwic2sydCIpfTsKZy5UST1mdW5jdGlvbihuKXtyZXR1cm4gbi50aWxlQ29udGV4dD9gJHtuLlNTfTske24udGlsZUNvbnRleHR9YDpuLlNTfTsKalY9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuInVua25vd24iO3N3aXRjaChuKXtjYXNlIDU6cmV0dXJuInByZWRpY3RTdGFydCI7Y2FzZSAxOnJldHVybiJzdGFydCI7Y2FzZSAyOnJldHVybiJjb250aW51ZSI7Y2FzZSAzOnJldHVybiJzdG9wIjtjYXNlIDY6cmV0dXJuInByZWZldGNoIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpzU3c9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInByZWRpY3RTdGFydCI6cmV0dXJuIDU7Y2FzZSAic3RhcnQiOnJldHVybiAxO2Nhc2UgImNvbnRpbnVlIjpyZXR1cm4gMjtjYXNlICJzdG9wIjpyZXR1cm4gMztjYXNlICJwcmVmZXRjaCI6cmV0dXJuIDY7ZGVmYXVsdDpyZXR1cm4gMH19OwpON1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDE6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gMH19OwpwU1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgNjpyZXR1cm4gNztjYXNlIDU6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgMTE6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiA0O2Nhc2UgMTpyZXR1cm4gNTtjYXNlIDEyOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9fTsKZy5DMz1mdW5jdGlvbihuKXtyZXR1cm4gbj9uLnRpbGVDb250ZXh0P2Ake24uaWRlbnRpZmllcn07JHtuLnRpbGVDb250ZXh0fWA6bi5pZGVudGlmaWVyOiIifTsKZy5CcD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAwOnJldHVybiJ1bmtub3duIjtjYXNlIDE6cmV0dXJuInRpbWVvdXQiO2Nhc2UgMjpyZXR1cm4icmF0ZWNvbnRyb2wiO2Nhc2UgMTE6cmV0dXJuInJhdGVjb250cm9sX2NsaWVudCI7Y2FzZSAzOnJldHVybiJzdmVyciI7Y2FzZSA0OnJldHVybiJkZWxldGVkIjtjYXNlIDU6cmV0dXJuIndhaXRpbmciO2Nhc2UgNjpyZXR1cm4icmVhZHkiO2Nhc2UgNzpyZXR1cm4ic3NkaXNhYmxlZCI7Y2FzZSA5OnJldHVybiJzc2Rpc2FibGVkX3VzdHJlYW1lciI7Y2FzZSAxMDpyZXR1cm4ic3NkaXNhYmxlZF9ub19jb25maWciO2Nhc2UgMTI6cmV0dXJuIm5vZ2FiY29uZmlnIjtjYXNlIDg6cmV0dXJuImluYWN0aXZlIjtjYXNlIDEzOnJldHVybiJjYWNoZW1pc3MiO2RlZmF1bHQ6cmV0dXJuInVua25vd24ifX07CkZ1PWZ1bmN0aW9uKG4pe3ZhciBXPS0obi5mZj8uVHl8fDApO24udGltZVJhbmdlJiYoVys9KG4udGltZVJhbmdlLnN0YXJ0VGlja3N8fDApLyhuLnRpbWVSYW5nZS50aW1lc2NhbGV8fDEpKTtyZXR1cm4gbmV3IGcubDMoVyxuLmZmPy5NS3x8MCxuLmZmPy51VHx8IiIsbi5mZj8uaWRlbnRpZmllcnx8IiIsalYobi5mZj8uZXZlbnQpLChuLmZmPy5UeXx8MCkqMUUzLG4udGlsZUNvbnRleHQpfTsKZy5ZJEM9ZnVuY3Rpb24obixXKXt2YXIgRD0iIixiPVtdO2ZvcihsZXQgW3Ysa11vZiBuLk4uZW50cmllcygpKXtsZXQgaD12LHg9azt4Py5zdGFydFRpbWVTZWNzPD1XJiZXPD14Py5zdGFydFRpbWVTZWNzK3g/LkNmJiZiLnB1c2goaCk7RCs9YCR7aH06JHt4Py5zdGFydFRpbWVTZWNzLnRvRml4ZWQoMyl9OiR7eD8uQ2YudG9GaXhlZCgzKX07YH1iLmxlbmd0aD09PTAmJihXPXtub19jaWQ6MSxtdDpXLnRvRml4ZWQoMyksYWRDb25maWdNYXA6RC5zdWJzdHJpbmcoMCwxMDI0KX0sbi5wb2xpY3kuRlImJm4uVSgiY2xzZGFpIixXKSk7cmV0dXJuIGJ9OwpIZVU9ZnVuY3Rpb24obixXLEQ9ITEpe0QmJihuLlY9ITApOysrbi5qO0Q9NkU0KjIqKm4uajtEPSgwLGcuUikoKStEO24uVy5zZXQoVy5pbmZvLmlkLEQpfTsKd0M9ZnVuY3Rpb24obil7Zm9yKGxldCBbVyxEXW9mIG4uVy5lbnRyaWVzKCkpe2xldCBiPVc7RDwoMCxnLlIpKCkmJm4uVy5kZWxldGUoYil9cmV0dXJuIG4uV307ClJxPWZ1bmN0aW9uKG4sVyl7bi5OPVc7dmFyIEQ9bi5LLnZpZGVvSW5mb3M7aWYoIW4uTi5pc0xvY2tlZCgpKXtsZXQgaz0oMCxnLlIpKCk7RD1nLkVNKEQsZnVuY3Rpb24oaCl7aWYoaC5Ocz50aGlzLnBvbGljeS5OcylyZXR1cm4hMTt2YXIgeD10aGlzLkt1Lk5baC5pZF07cmV0dXJuIHdDKHRoaXMuaikuZ2V0KGguaWQpPmt8fHguWGIuSj40fHx4LkZGPjQ/ITE6dGhpcy50dy5oYXMoK2guaXRhZyk/ITE6ITB9LG4pOwpuLmoubGwoKSYmKEQ9Zy5FTShELGg9PmgudmlkZW8ud2lkdGg8PTg1NCYmaC52aWRlby5oZWlnaHQ8PTQ4MCkpfUQubGVuZ3RofHwoRD1uLksudmlkZW9JbmZvcyk7CnZhciBiPUQ7bi5wb2xpY3kuUm8mJihiPWZRaChuLGIsVykpO2I9Zy5FTShiLFcuWCxXKTtpZihuLk4uaXNMb2NrZWQoKSYmbi5qLk4pe3ZhciB2PWcubF8oRCxrPT5rLmlkPT09bi5qLk4pOwp2P2I9W3ZdOm4uRGUoIiIpfW4ucG9saWN5LlJvfHwoYj1mUWgobixiLFcpKTtiLmxlbmd0aHx8KGI9W0RbMF1dKTtiLnNvcnQoKGssaCk9Pk1xKG4sayktTXEobixoKSk7CmZvcihXPTE7VzxiLmxlbmd0aDtXKyspRD1iW1ctMV0sdj1iW1ddLEQudmlkZW8ud2lkdGg+di52aWRlby53aWR0aD8oZy5CTShiLFcpLFctLSk6TXEobixEKSpuLnBvbGljeS5LPk1xKG4sdikmJihnLkJNKGIsVy0xKSxXLS0pO1c9YltiLmxlbmd0aC0xXTtuLkR0PSEhbi5XJiYhIW4uVy5pbmZvJiZuLlcuaW5mby5JQiE9PVcuSUI7bi5YPWI7bi5lJC5jbGVhcigpO0Q9ITE7Zm9yKHY9MDt2PGIubGVuZ3RoO3YrKylEP24uZSQuYWRkKGJbdl0uaXRhZyk6Ylt2XS52aWRlby5xdWFsaXR5T3JkaW5hbD49MTA4MCYmKEQ9ITApO0prQyhuLnBvbGljeSxXLG4uS3UuelcpfTsKSVExPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9saWN5LmNKLEQ9Tlcobi5JZykvVy1NcShuLG4uSi5pbmZvKTtXPWcuVDQobi5YLGZ1bmN0aW9uKGIpe3JldHVybiBNcSh0aGlzLGIpPER9LG4pOwpXPDAmJihXPTApO24udmlkZW9JbmRleD1XO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdfTsKUyRoPWZ1bmN0aW9uKG4pe24uUyQ/bi5TJD0hMTpuLlk9KDAsZy5SKSgpO24uRD0hMTtuLlZRPSExO3JldHVybiBuZXcgUUIobi5WLG4uVyxuLk4ucmVhc29uKX07Cm02dz1mdW5jdGlvbihuLFcsRCl7UnEobixXKTt2YXIgYj1uLmo7Vz1iLlguSjtEPWJZKFcse2dPOmIucG9saWN5LmdPLGo5OmIucG9saWN5Lmo5LGxhbmd1YWdlSWQ6RH0pO24uSj1uLkt1Lk5bKEQubGVuZ3RoPjA/RFswXTpXWzBdKS5pZF07VkIobik7bi5WPW4uSjtJUTEobik7bi5UQy5sZW5ndGgmJihuLm5leHRWaWRlbz1Ba00obixuLm5leHRWaWRlbyxuLksudmlkZW9JbmZvcyksbi5KPUFrTShuLG4uSixuLksuSikpO24uVz1uLm5leHRWaWRlbztuLlY9bi5KO3JldHVybiBTJGgobil9OwpLJGo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmVxdWFscyhXKSYmKCFuLmouTnx8IW4uTi5pc0xvY2tlZCgpfHxuLm5leHRWaWRlbz8uaW5mby5pZD09PW4uai5OKX07ClZCPWZ1bmN0aW9uKG4pe2lmKCFuLkp8fCFuLnBvbGljeS5KJiYhbi5KLmluZm8ua1ope3ZhciBXPW4uSy5KO24uSiYmKFc9YlkoVyx7bGFuZ3VhZ2VJZDpuLkouaW5mby5rWj8uaWQsZ086bi5wb2xpY3kuZ08sajk6bi5wb2xpY3kuajl9KSxXLmxlbmd0aHx8KFc9bi5LLkopKTtuLko9bi5LdS5OW1dbMF0uaWRdO2lmKFcubGVuZ3RoPjEmJiFuLnBvbGljeS5IaSl7aWYoIW4ucG9saWN5LnRHKXt2YXIgRD1nLmxfKFcsYj0+Yi5hdWRpby5hdWRpb1F1YWxpdHkhPT0iQVVESU9fUVVBTElUWV9ISUdIIik7CkQmJihuLko9bi5LdS5OW0QuaWRdKX1EPSExO2lmKEQ9bi5wb2xpY3kuWSQ/ITA6bi5OLmlzTG9ja2VkKCk/bi5OLk48MjQwOk9laShuLG4uSikpbi5KPW4uS3UuTltnLlVNKFcpLmlkXX19fTsKY3A9ZnVuY3Rpb24obil7aWYoIW4ubmV4dFZpZGVvfHwhbi5wb2xpY3kuSilpZihuLk4uaXNMb2NrZWQoKSluLm5leHRWaWRlbz1uLk4uTjw9MzYwP24uS3UuTltuLlhbMF0uaWRdOm4uS3UuTltnLlVNKG4uWCkuaWRdO2Vsc2V7Zm9yKHZhciBXPU1hdGgubWluKG4udmlkZW9JbmRleCxuLlgubGVuZ3RoLTEpLEQ9Tlcobi5JZyksYj1NcShuLG4uSi5pbmZvKSx2PUQvbi5wb2xpY3kuY0otYjtXPjAmJiEoTXEobixuLlhbV10pPD12KTtXLS0pO2ZvcihEPUQvbi5wb2xpY3kuSy1iO1c8bi5YLmxlbmd0aC0xJiYhKE1xKG4sbi5YW1crMV0pPj1EKTtXKyspO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdO24udmlkZW9JbmRleD1XfX07ClBDMj1mdW5jdGlvbihuLFcpe2lmKFcuUEouaW5mby52aWRlbyYmVy5hWil7bGV0IEQ9KFcuTitXLkopL1cuVyxiPVcuUEouaW5mby5OcztEJiZiJiYobi5udS5JSSgxLEQvYiksbi5wb2xpY3kuVyYmRC9iPjEuNSYmbi5sb2FkZXIuVSgib3ZlcnNob290Iix7c3E6Vy5qJCxicjpELG1heDpifSkpfX07CmFxPWZ1bmN0aW9uKG4sVyxEPSExKXtIZVUobi5qLFcsRCk7bi5ZPS0xO1JxKG4sbi5OKX07Clpldz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgUUIobi5WLG4uVyxXfHxuLk4ucmVhc29uKX07Ck1xPWZ1bmN0aW9uKG4sVyl7aWYoIW4uYmRbVy5pZF0pe3ZhciBEPW4uS3UuTltXLmlkXS5pbmRleC5YZChuLmNKLDE1KTtEPVcuWG4mJm4uVyYmbi5XLmluZGV4LmlzTG9hZGVkKCk/RHx8Vy5YbjpEfHxXLk5zO24uYmRbVy5pZF09RH1EPW4uYmRbVy5pZF07bi5lJC5oYXMoVy5pdGFnKSYmKEQqPTEuNSk7cmV0dXJuIEQqPU1hdGgubWF4KDEsbi5udS5MZygpfHwwKX07ClU2Qz1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBvZiBXKXtpZighYnx8IWIudmlkZW8pY29udGludWU7Vz1iLnZpZGVvLnF1YWxpdHlPcmRpbmFsO2xldCB2PURbV10saz12JiZ2Lk1XKCkmJnYudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5wb2xpY3kublMsaD1XPD1uLnBvbGljeS5uUz9iLk1XKCk6Yi5YKCk7aWYoIXZ8fGt8fGgpRFtXXT1ifXJldHVybiBEfTsKZlFoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1ELnJlYXNvbj09PSJtInx8RC5yZWFzb249PT0icyI7bi5wb2xpY3kuUnEmJm5yJiZnLkduJiYoIWJ8fEQuTjwxMDgwKSYmKFc9Vy5maWx0ZXIodj0+di52aWRlbyYmKCF2Lmp8fHYuai5wb3dlckVmZmljaWVudCkpKTsKaWYoVy5sZW5ndGg+MClpZihWVCgpKXtsZXQgdj1VNkMobixXKTtXPVcuZmlsdGVyKGs9PiEhayYmISFrLnZpZGVvJiZrLklCPT09dltrLnZpZGVvLnF1YWxpdHlPcmRpbmFsXS5JQil9ZWxzZXtsZXQgdj1XWzBdPy52aWRlbz8ucXVhbGl0eU9yZGluYWw7CmlmKHYpe0Q9Vy5maWx0ZXIoaD0+ISFoJiYhIWgudmlkZW8mJmgudmlkZW8ucXVhbGl0eU9yZGluYWw9PT12KTsKbGV0IGs9VTZDKG4sRClbdl0uSUI7Vz1XLmZpbHRlcihoPT4hIWgmJiEhaC52aWRlbyYmaC5JQj09PWspfX1yZXR1cm4gV307Ck9laT1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wO0QrMTxuLlgubGVuZ3RoJiZuLlhbRF0udmlkZW8ucXVhbGl0eT09PSJ0aW55IjspRCsrO3ZhciBiPU5XKG4uSWcpL24ucG9saWN5Lks7cmV0dXJuIE1xKG4sVy5pbmZvKStNcShuLG4uWFtEXSk+Yn07CkFrTT1mdW5jdGlvbihuLFcsRCl7aWYoVy5pbmZvLklCPT09ImYifHxuLlRDLmluY2x1ZGVzKGN3KFcsbi5LdS56VykpKXJldHVybiBXO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKXtsZXQgdj1uLkt1Lk5bRFtiXS5pZF07aWYoIW4uVEMuaW5jbHVkZXMoY3codixuLkt1LnpXKSkpY29udGludWU7bGV0IGs9Vy5pbmZvLklCLGg9di5pbmZvLklCO2lmKGs9PT1ofHxWVCgpKXtpZihXLmluZm8udmlkZW8/Vy5pbmZvLkohPT12LmluZm8uSjpXLmluZm8ua1o/LmlkIT09di5pbmZvLmtaPy5pZHx8YXkoVy5pbmZvKSE9PWF5KHYuaW5mbyl8fFZFKFcuaW5mbykhPT1WRSh2LmluZm8pKXJldHVybiBXNihuLHttaXNtYXRjaDoieHRhZyIsZjpXLmluZm8uaWQsdDp2LmluZm8uaWR9KSxXO1c2KG4se2Y6Vy5pbmZvLml0YWcsdDp2LmluZm8uaXRhZ30pO24uUyQ9ITA7cmV0dXJuIHZ9VzYobix7bWlzbWF0Y2g6ImVmZmljaWVudCIsZmM6ayx0YzpofSl9VzYobix7bWlzbWF0Y2g6InVuc2VsZWN0YWJsZSIsCmZtdHM6bi5UQy5qb2luKCIuIil9KTtyZXR1cm4gV307Clc2PWZ1bmN0aW9uKG4sVyl7bi5wb2xpY3kuRUQ/bi5sb2FkZXIuaGFuZGxlRXJyb3IoIm9uZXNpZS5mbXQubWlzbWF0Y2giLFcsMCk6bi5sb2FkZXIuVSgib21iaWZhIixXKX07Cnlrcj1mdW5jdGlvbihuLFcpe249cWMobi5LdS5OLEQ9PkQuaW5mby5pdGFnPT09Vyk7CmlmKCFuKXRocm93IEVycm9yKCJJdGFnICIrVysiIGZyb20gc2VydmVyIG5vdCBrbm93bi4iKTtyZXR1cm4gbn07CkVqWj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLk4ucmVhc29uPT09Im0ifHxuLk4ucmVhc29uPT09InMiKXJldHVybiBXO2lmKEl0aShuLkt1KSl7Zm9yKGxldCBEPU1hdGgubWF4KDAsbi52aWRlb0luZGV4LTIpO0Q8bi52aWRlb0luZGV4JiZEPG4uWC5sZW5ndGg7RCsrKVcucHVzaChuLlhbRF0uaXRhZyk7Vy5yZXZlcnNlKCl9cmV0dXJuIFd9OwppZWk9ZnVuY3Rpb24obixXKXtuLkRrKCJpc21wX3AiKTtuLko9V307CnU5VT1mdW5jdGlvbihuKXtuLk4mJihuLk4uZGlzcG9zZSgpLG4uRGsoImlzbXBfZCIpKX07Cm9qdz1mdW5jdGlvbih7dEk6bj0hMSxzSjpXPSExLGU0OkQ9ITF9PXt9KXtyZXR1cm4gbj9EPzM6MjpXPy0xOjF9OwpEZD1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1uLnRyYWNrLlFFO2lmKHYpe3Y9di5aRigpO2Zvcih2YXIgaz0wO2s8di5sZW5ndGg7aysrKWIucHVzaChNYXRoLnJvdW5kKHYuc3RhcnQoaykqMUUzKSksYi5wdXNoKE1hdGgucm91bmQodi5lbmQoaykqMUUzKSl9dj0xO2s9Yi5sZW5ndGg7aWYoaz09PW4uYnVmZmVyZWQubGVuZ3RoKXtmb3IodmFyIGg9MDtoPD1rJiZiW2hdPT09bi5idWZmZXJlZFtoXTtoKyspO2g+az92PTA6YltoXT5uLmJ1ZmZlcmVkW2hdJiYoaD09PWstMT92PTI6aD09PWstMiYmYltoKzFdPm4uYnVmZmVyZWRbaCsxXSYmKHY9MykpfW4uTi5hZGQoVzw8M3woRCYmNCl8dik7Vz1NYXRoLmNlaWwobi50cmFjay5sNSgpKjFFMyk7bi5OLmFkZChXLW4uaik7bi5qPVc7aWYodj09PTEpZm9yKG4uTi5hZGQoayksVz0wLGg9MDtoPGs7aCsrKW4uTi5hZGQoYltoXS1XKSxXPWJbaF07dj09PTMmJm4uTi5hZGQoYltrLTJdLW4uYnVmZmVyZWRbay0yXSk7dj49MiYmbi5OLmFkZChiW2stCjFdLW4uYnVmZmVyZWRbay0xXSk7RCYmbi5OLmFkZChEKTtuLmJ1ZmZlcmVkPWJ9OwpUN2I9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5hWilyZXR1cm4gRC5sZW5ndGg9PT0wP0QucHVzaChiLmNsb25lKCkpOihuPShXPUQucG9wKCkpP2Q2cihuLFcsYik6bnVsbCk/RC5wdXNoKG4pOkQucHVzaChiLmNsb25lKCkpLHY7KEQ9KEQ9RC5wb3AoKSk/ZDZyKG4sRCxiKTpudWxsKXx8KEQ9Yik7aWYoRC5OKXJldHVybiBuLmxvZ2dlciYmbi5sb2dnZXIoe2luY29tcGxldGVTZWdtZW50OkQuZ2EoKX0pLHY7dmFyIHtmb3JtYXRJZDprLGokOmgsc3RhcnRUaW1lTXM6eCxjbGlwSWQ6TCxyOTplfT17Zm9ybWF0SWQ6Zy5WZihELlBKLmluZm8sbi5LdS56VyksaiQ6RC5qJCtuLlgsc3RhcnRUaW1lTXM6RC5zZWdtZW50U3RhcnRUaW1lKjFFMyxjbGlwSWQ6RC5jbGlwSWQscjk6RC5XKjFFM307Yj17Y2xpcElkOkwsZm9ybWF0SWQ6ayxzdGFydFRpbWVNczp4LGR1cmF0aW9uTXM6ZSxBQzpoLGk5Omh9O3Y9ejdVKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRzsKaWYoRz1EKXtHPWI7dmFyIHI9dixOPUQuc3RhcnRUaW1lTXMrRC5kdXJhdGlvbk1zLEg9Ry5zdGFydFRpbWVNcytHLmR1cmF0aW9uTXM7aWYoRy5zdGFydFRpbWVNcy1OPm4uTilHPSExO2Vsc2UgaWYobFFoKG4sRC5mb3JtYXRJZCxHLmZvcm1hdElkKSlELmR1cmF0aW9uTXM9TWF0aC5tYXgoTixIKS1ELnN0YXJ0VGltZU1zLEQuaTk9TWF0aC5tYXgoRC5pOSxHLmk5KSxHPSEwO2Vsc2UgaWYoTWF0aC5hYnMoRC5zdGFydFRpbWVNcy1HLnN0YXJ0VGltZU1zKTw9bi5OKWlmKEQuZHVyYXRpb25Ncz5HLmR1cmF0aW9uTXMrbi5OKXtyPUQuZm9ybWF0SWQ7dmFyIEE9RC5BQyx5PUQuaTk7RC5mb3JtYXRJZD1HLmZvcm1hdElkO0QuZHVyYXRpb25Ncz1HLmR1cmF0aW9uTXM7RC5BQz1HLkFDO0QuaTk9Ry5pOTtHLmZvcm1hdElkPXI7Ry5zdGFydFRpbWVNcz1IO0cuZHVyYXRpb25Ncz1OLUg7Ry5BQz1BO0cuaTk9eTtHPSExfWVsc2UgRC5mb3JtYXRJZD1HLmZvcm1hdElkLEc9ITA7ZWxzZSBOPgpHLnN0YXJ0VGltZU1zJiYoTj5IJiYoVy5zcGxpY2UocisxLDAse2Zvcm1hdElkOkQuZm9ybWF0SWQsc3RhcnRUaW1lTXM6SCxkdXJhdGlvbk1zOk4tSCxBQzpHLmk5KzEsaTk6RC5pOX0pLG4ubG9nZ2VyJiZuLmxvZ2dlcih7c3BsaXRPbGRTdGFydDpELnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0T2xkRW5kOk4/LnRvRml4ZWQoMyksc3BsaXROZXdTdGFydDpHLnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0TmV3RW5kOkg/LnRvRml4ZWQoMyl9KSksRC5kdXJhdGlvbk1zPUcuc3RhcnRUaW1lTXMtRC5zdGFydFRpbWVNcyxELmk5PUcuQUMtMSksRz0hMX1HP2I9RDoodis9MSxXLnNwbGljZSh2LDAsYikpO0Q9MDtmb3IoRz12KzE7RzxXLmxlbmd0aDtHKyspe049bjtIPVdbR107cj1iO0E9SC5zdGFydFRpbWVNcytILmR1cmF0aW9uTXM7eT1yLnN0YXJ0VGltZU1zK3IuZHVyYXRpb25Nczt5Pj1BK04uTj9OPSEwOnkrTi5OPEguc3RhcnRUaW1lTXM/Tj0hMTpsUWgoTixILmZvcm1hdElkLApyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKZDZyPWZ1bmN0aW9uKG4sVyxEKXtpZighYlQoVyxEKXx8Vy5hWilyZXR1cm4gbnVsbDtQXyhXLEQsbi5wb2xpY3kuZUspO3JldHVybiBXfTsKejdVPWZ1bmN0aW9uKG4sVyl7bj1nLlc0KG4se3N0YXJ0VGltZU1zOld9LChELGIpPT5ELnN0YXJ0VGltZU1zLWIuc3RhcnRUaW1lTXMpOwpyZXR1cm4gbj49MD9uOi1uLTJ9OwpqU1o9ZnVuY3Rpb24obixXLEQpe2lmKG4ubG9nZ2VyKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XTtrLkVqPy5zdGFydFRpY2tzJiZiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X3Bzc3QuJHtrLkVqPy5zdGFydFRpY2tzfV9wc2QuJHtrLkVqPy5sOH1gKTtiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9bi5sb2dnZXIoe3A6YCR7RH1gLGJyOmIuam9pbigiOyIpfSl9fTsKYlM9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4uUUUpe3ZhciBiPW4uUUUuWkYoKTtpZihiLmxlbmd0aCE9PTApe2lmKG4uVyYmVyl7dmFyIHY9bi5XLGs9di5YOyFCUihiLGspJiZ2Lks+MCYmKDAsZy5SKSgpLW4uSzw1RTMmJihuLmxvZ2dlciYmbi5sb2dnZXIoe2RlbmQ6di5nYSgpfSksYj1qRyhiLGssaysuMDEpKX12PVtdO2Zvcih2YXIgaD1rPTA7azxiLmxlbmd0aCYmaDxuLmVXLmxlbmd0aDspe3ZhciB4PWIuc3RhcnQoayk7bGV0IE49Yi5lbmQoayk7dmFyIEw9bi5lV1toXS5zdGFydFRpbWVNcy8xRTM7bGV0IEg9KG4uZVdbaF0uc3RhcnRUaW1lTXMrbi5lV1toXS5kdXJhdGlvbk1zKS8xRTM7aWYoTDw9TiYmSD49eCl7bGV0IEE9ey4uLm4uZVdbaF19O3ZhciBlPW4uS3UuSi5nZXQoTWsobi5lV1toXS5mb3JtYXRJZCkpLEc9TWF0aC5tYXgoTCx4KTt4PWUuaW5kZXguUjMoRytuLk4vMUUzKTtMPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHgpO3ZhciByPXgrICsoTWF0aC5hYnMoTC1HKT4Kbi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uV3x8MTE7IUQmJmg9PT1uLkomJk48SCYmSC1OPD14KjEuMDEmJiEobi5wb2xpY3kuU3cmJm4uUUUmJm4uUUUueXUoKSkmJihOPUgpO3g9TWF0aC5taW4oSCxOKTtMPWUuaW5kZXguUjMoeC1uLk4vMUUzKTtHPWUuaW5kZXguakUoTCk7TC09KyhNYXRoLmFicyhHLXgpPm4uTi8xRTMpO3g9TCtuLlg7ZT1lLmluZGV4LmpFKEwpKjFFMztBLmk5PXg7QS5kdXJhdGlvbk1zPWUtQS5zdGFydFRpbWVNcztBLkFDPD1BLmk5JiZ2LnB1c2goQSl9SDxOP2grPTE6ays9MX1uLmVXPXZ9fX07CkNDTT1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPW4uTTcubWFwKGs9PmsuY2xvbmUoKSk7Cm4uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5ELmYzKCksdj1uLko7Zm9yKGxldCBrIG9mIGIpdj1UN2IobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLE03OkR9fTsKbFFoPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gVy5pdGFnIT09RC5pdGFnfHxXLnh0YWdzIT09RC54dGFncz8hMTpuLkt1LnpXfHxXLmxtdD09PUQubG10fTsKdjY9ZnVuY3Rpb24obil7cmV0dXJue2Rvd25sb2FkZWRFbmRUaW1lOk1hdGgucm91bmQobi5kSD9uLmRILmo6MCksbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19Owp4Qz1mdW5jdGlvbihuLFc9ITEpeyFXfHxuLmluZGV4UmFuZ2UmJm4uaW5pdFJhbmdlJiZuLmRIfHxrQyhuLG5ldyBoMCgiV29mZmxlOiBFeHBlY3QgaXNGaW5hbCB0byBhbHdheXMgaGF2ZSBpbmRleFJhbmdlIGFuZCBpbml0UmFuZ2UgYW5kIGxhc3RTbGljZSIpKTtXPXtsbXQ6bi5OLmluZm8ubGFzdE1vZGlmaWVkLGRvY2lkOm4ucG9saWN5LkosZm10aWQ6bi5OLmluZm8uaWQsdHlwZTpuLk4uaW5mby5taW1lVHlwZS5zcGxpdCgiOyIpWzBdLGNzejpuLmNodW5rU2l6ZSxjbGVuOm4uVypuLmNodW5rU2l6ZStuLkp9O24uY3J5cHRvJiYoVy5jaz1uLlksVy5jaXY9bi5LKTtXPSJsb2NhbDovL2xvY2FsaG9zdC92aWRlb3BsYXliYWNrPyIrZy5FdChXKTtXPXtpdGFnOituLk4uaW5mby5pdGFnLG1pbWVUeXBlOm4uTi5pbmZvLm1pbWVUeXBlLGJpdHJhdGU6bi5OLmluZm8uTnMqOCxsYXN0TW9kaWZpZWQ6U3RyaW5nKG4uTi5pbmZvLmxhc3RNb2RpZmllZCksaW5pdFJhbmdlOm4uaW5pdFJhbmdlPy5OKCksCmluZGV4UmFuZ2U6bi5pbmRleFJhbmdlPy5OKCksdXJsOld9O3ZhciBEPW4uTi5pbmZvLko7RCYmKFcueHRhZ3M9RCk7aWYoRD1uLk4uaW5mby52aWRlbylpZihXLnF1YWxpdHk9RC5xdWFsaXR5LFcucXVhbGl0eUxhYmVsPUQucXVhbGl0eUxhYmVsLFcud2lkdGg9RC53aWR0aCxXLmhlaWdodD1ELmhlaWdodCxEPUQuZnBzKVcuZnBzPUQ7aWYobj1uLk4uaW5mby5hdWRpbyl7aWYoRD1uLnNhbXBsZVJhdGUpVy5hdWRpb1NhbXBsZVJhdGU9U3RyaW5nKEQpO2lmKG49bi5udW1DaGFubmVscylXLmF1ZGlvQ2hhbm5lbHM9bn1yZXR1cm4gV307CkxyPWZ1bmN0aW9uKG4sVyxEPSExKXtXLnRoZW4oYj0+e24uTy5kZWxldGUoVyk7KER8fGI9PT00KSYmbi5WLnJlc29sdmUoYil9LGI9PntuLlYucmVqZWN0KGIpfSl9OwplcT1mdW5jdGlvbihuKXtyZXR1cm4hIW4uZEgmJm4uZEguVigpfTsKa0M9ZnVuY3Rpb24obixXKXtlJChuLnBvbGljeS5KKSE9PTQmJihnNihuLnBvbGljeS5KLDQpLGcuR3EoVyksbi5WLnJlamVjdChuZXcgaDAoVy5tZXNzYWdlKSkpfTsKQjdiPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPXRSKFcuSik7aWYobi5XPG4uWCl7RD1uLlgqbi5jaHVua1NpemUtKChXLmluZm8ucmFuZ2U/LnN0YXJ0fHwwKStXLmluZm8uTik7aWYoRD49Yi5sZW5ndGgpcmV0dXJuO2lmKEQ8MCl0aHJvdyBFcnJvcigiTWlzc2luZyBkYXRhIik7bi5XPW4uWDtuLko9MH1mb3IoO0Q8Yi5sZW5ndGg7KXt2YXIgdj1NYXRoLm1pbihiLmxlbmd0aC1ELG4uai5ieXRlTGVuZ3RoLW4uSik7bGV0IGs9bmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0K0Qsdik7bi5qLnNldChrLG4uSik7bi5KKz12O0QrPXY7aWYobi5KPT09bi5qLmxlbmd0aCl7aWYoVy5pbmZvPT09bi5kSCYmZXEobikmJkQ9PT1iLmxlbmd0aClicmVhazt2PXY2KG4pO3Y9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSx2LG4ucG9saWN5LmJkLG4uVyxuLmosbi5jcnlwdG8pO24uTy5hZGQodik7THIobix2KTtuLnFOKCl8fCh2PXY2KG4pLG4uYmQoeEMobiksdiE9PXZvaWQgMD8KKHYuZG93bmxvYWRlZEVuZFRpbWV8fDApKnYuYXZlcmFnZUJ5dGVSYXRlOnYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlLHYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlKSk7bi5qPW5ldyBVaW50OEFycmF5KG4uY2h1bmtTaXplKTtuLko9MDtuLlcrPTF9fX07CndTVT1mdW5jdGlvbihuKXtpZihlcShuKSlpZihuLmRIJiZuLmluZGV4UmFuZ2UpaWYobi5KKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmouYnVmZmVyLDAsbi5KKSxEPUYkeChuKSxiPW4ucG9saWN5Lko7UHJvbWlzZS5hbGwobi5PKS50aGVuKCgpPT57dmFyIHY9dHgoYixuLmRILlBKLmluZm8seEMobiwhMCksRCxuLnBvbGljeS5iZCxuLlcsVyxuLmNyeXB0byk7THIobix2LCEwKX0pfWVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGFsd2F5cyByZS1tYXJrIGN1cnJlbnRDaHVua09mZnNldCBhdCBFT1MiKSk7CmVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGF0IEVPUyB0byBhbHdheXMgaGF2ZSBsYXN0U2xpY2Ugb3IgaW5kZXhSYW5nZSIpKX07Cmd1PWZ1bmN0aW9uKG4sVyl7aWYoIWVxKG4pJiYhbi5xTigpKXtpZighKG4udHd8fChuLnR3PSEwLG4uWD4wKSkpe3ZhciBEPXY2KG4pO0Q9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSxELG4ucG9saWN5LmJkKTtMcihuLEQpfWlmKFcuaW5mby50eXBlPT09MSl7aWYobi5kSCl7a0MobixFcnJvcigiV29mZmxlOiBFeHBlY3QgSU5JVCBzbGljZXMgdG8gYWx3YXlzIHN0YXJ0IHVzIG9mZiIpKTtyZXR1cm59bi5pbml0UmFuZ2U9V18oMCxXLkoudG90YWxMZW5ndGgpfWVsc2UgaWYoVy5pbmZvLnR5cGU9PT0yKW4uZEgmJm4uZEgudHlwZT09PTF8fGtDKG4sRXJyb3IoIldvZmZsZTogSW5kZXggYmVmb3JlIGluaXQiKSksbi5pbmRleFJhbmdlPVdfKG4uaW5pdFJhbmdlLmVuZCsxLFcuSi50b3RhbExlbmd0aCk7ZWxzZSBpZihXLmluZm8udHlwZT09PTMpe2lmKCFuLmRIKXtrQyhuLEVycm9yKCJXb2ZmbGU6IEV4cGVjdCBNRURJQSBzbGljZXMgdG8gYWx3YXlzIGhhdmUgbGFzdFNsaWNlIikpOwpyZXR1cm59aWYobi5kSC50eXBlPT09MyYmIWJUKG4uZEgsVy5pbmZvKSYmKG4uRD1bXSxXLmluZm8uaiQhPT1nayhuLmRIKXx8Vy5pbmZvLk4hPT0wKSlyZXR1cm47aWYoVy5pbmZvLmFaKXtmb3IobGV0IGIgb2Ygbi5EKUI3YihuLGIpO24uRD1bXX1lbHNle24uRC5wdXNoKFcpO24uZEg9Vy5pbmZvO3JldHVybn19ZWxzZXtrQyhuLEVycm9yKCJXb2ZmbGU6IFVuZXhwZWN0ZWQgc2xpY2UgdHlwZSIpKTtyZXR1cm59bi5kSD1XLmluZm87QjdiKG4sVyk7d1NVKG4pfX07CkYkeD1mdW5jdGlvbihuKXtyZXR1cm57ZG93bmxvYWRlZEVuZFRpbWU6LTEsbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19OwpNdlM9ZnVuY3Rpb24obil7bj1nLmVQKG4sMTg4NjYxNDM3Nik7Zm9yKGxldCBXIG9mIG4pO3JldHVybiBnLmlfKG4sVz0+b3IoVykpfTsKUjdVPWZ1bmN0aW9uKG4pe3ZhciBXPWcudV8obiwoYix2KT0+Yit2Lmxlbmd0aCwwKTsKVz1uZXcgVWludDhBcnJheShXKTt2YXIgRD0wO2ZvcihsZXQgYiBvZiBuKVcuc2V0KGIsRCksRCs9Yi5sZW5ndGg7cmV0dXJuIFd9OwpWdnQ9ZnVuY3Rpb24obil7YTp7dmFyIFc9bi5pbml0RGF0YTt0cnl7dmFyIEQ9MDtsZXQgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIpO2Zvcig7RDx2LmJ5dGVMZW5ndGgtODspe2xldCBrPXYuZ2V0VWludDMyKEQpO2lmKGs8PTEpYnJlYWs7aWYodi5nZXRVaW50MzIoRCs0KSE9PTE4ODY2MTQzNzYpe0QrPWs7Y29udGludWV9bGV0IGg9MzI7aWYodi5nZXRVaW50OChEKzgpPjApe2xldCBMPXYuZ2V0VWludDMyKEQrMjgpO2grPUwqMTYrNH1sZXQgeD12LmdldFVpbnQzMihEK2gtNCk7dHJ5e2xldCBMPVFTeChXLnN1YmFycmF5KEQraCxEK2greCkpO2lmKEwhPT1udWxsKXt2YXIgYj1MO2JyZWFrIGF9fWNhdGNoKEwpe31EKz1rfWI9bnVsbDticmVhayBhfWNhdGNoKHYpe2I9bnVsbDticmVhayBhfWI9dm9pZCAwfWlmKGIhPW51bGwpe1c9dTQoaVcoYiw3LHZvaWQgMCxmbikpO1c9PW51bGx8fG4ucUh8fChuLmNyeXB0b1BlcmlvZEluZGV4PVcpO1c9dTQoaVcoYiwxMCx2b2lkIDAsZm4pKTsKVyE9bnVsbCYmVz4wJiYhbi5xSCYmKG4uTj1XKTtmb3IobGV0IHYgb2YgZy5CSChiLDIsTUUsdm9pZCAwPT09RyQ/Mjo0KSliPW4uSixXPWIucHVzaCxEPVZsKHYpLEQ9Zy5FQShELDQpLFcuY2FsbChiLEQpfX07CmNraj1mdW5jdGlvbihuKXtyZXR1cm4gaXNOYU4obi5jcnlwdG9QZXJpb2RJbmRleCk/Zy5FQShuLmluaXREYXRhKTpgJHtuLmNyeXB0b1BlcmlvZEluZGV4fWB9OwpYMD1mdW5jdGlvbihuKXtpZihuLm9mZnNldD49bi5KLnRvdGFsTGVuZ3RoKXRocm93IEVycm9yKCk7cmV0dXJuIHJkKG4uSixuLm9mZnNldCsrKX07CmFRUz1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPVgwKG4pO2lmKEQ9PT0xKXtXPS0xO2ZvcihEPTA7RDw3O0QrKyl7dmFyIGI9WDAobik7Vz09PS0xJiZiIT09MjU1JiYoVz0wKTtXPi0xJiYoVz1XKjI1NitiKX1yZXR1cm4gV31iPTEyODtmb3IobGV0IHY9MDt2PDYmJmI+RDt2KyspRD1EKjI1NitYMChuKSxiKj0xMjg7cmV0dXJuIFc/RDpELWJ9OwpuZng9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWFRUyhuLCEwKSxEPWFRUyhuLCExKTtyZXR1cm57aWQ6VyxzaXplOkR9fWNhdGNoKFcpe3JldHVybntpZDotMSxzaXplOi0xfX19OwpETjE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW5ldyBXeWoobiksRD0tMSxiPTAsdj0wOyFifHwhdjspe2xldCB7aWQ6ayxzaXplOmh9PW5meChXKTtpZihrPDApcmV0dXJuO2lmKGs9PT0xNzYpe2lmKGghPT0yKXJldHVybjtiPVcuTigpfWVsc2UgaWYoaz09PTE4Nil7aWYoaCE9PTIpcmV0dXJuO3Y9Vy5OKCl9az09PTM3NDY0ODQyNz9EPVcuTigpK2g6ayE9PTQwODEyNTU0MyYmayE9PTE3NCYmayE9PTIyNCYmVy5za2lwKGgpfVc9JE0obiwwLEQpO0Q9bmV3IERhdGFWaWV3KFcuYnVmZmVyKTtELnNldFVpbnQxNihiLDM4NDApO0Quc2V0VWludDE2KHYsMjE2MCk7Yj1uZXcgUzUoW1ddKTtlNShiLG4pO3JldHVybiBifTsKYndDPWZ1bmN0aW9uKCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTY0RTQpO2ZvcihsZXQgVz0wO1c8bi5sZW5ndGg7Vys9NjU1MzYpY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuLnN1YmFycmF5KFcsTWF0aC5taW4oVys2NTUzNixuLmxlbmd0aCkpKTtuZXcgUzUoW25dKX07CnEyPWZ1bmN0aW9uKG4pe24uYm4/LmRpc3Bvc2UoKTtuLmJuPW51bGx9OwpHWj1mdW5jdGlvbihuLFcpe1c9e3JzdDRkaXNjOlcsY2Q6bi5UOC50b0ZpeGVkKDMpLHNxOm4ubTE/bi5tMS5qJDotMX07bi5acT1OYU47bi5UOD0wO24uc0w9LTE7bi5tMT1udWxsO24uaWg9TmFOO24uWXA9TmFOO24uU0Y9bnVsbDtuLmxvYWRlci5VKCJtZHN0bSIsVyl9Owp0MD1mdW5jdGlvbihuKXtuLmJSPW51bGw7bi5FZz0tMTtuLlZwPTA7bi5qaz1udWxsO24uTDE9TmFOO24uWUU9MDtuLkwyPW51bGx9OwokQz1mdW5jdGlvbihuLFcpe2lmKFcuaW5mby5hWil7bi5JOT1XLmluZm87aWYobi5qayl7dmFyIEQ9bi5qayxiPXZmdChuLCExKTtEPWtkVShEKTtuLmxvYWRlci5SMChuLlBKLGIsRCk7bi5wb2xpY3kuZUsmJlpKKFcuaW5mbyxiKTtuLkwyfHxuLnBvbGljeS5lVnx8bi5WaSgpO24uTDI9bnVsbH10MChuKX1uLmJuJiZndShuLmJuLFcpO2lmKGI9bi5XeCgpKWlmKGI9Yi5qKFcsbi5wb2xpY3kuQW0sbi5wb2xpY3kuZkIpKXtuLlZ3LnBvcCgpO24uVncucHVzaChiKTtyZXR1cm59bi5Wdy5wdXNoKFcpfTsKUUV3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5XUihXKTtpZihaTyhXLmluZm8uUEouaW5mbykmJlcuaW5mby5QSi5pbmZvLnZpZGVvLnByaW1hcmllcz09PSJidDIwMjAiKXt2YXIgYj1uZXcgdFkoRCk7JHgoYixbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0LDIxOTM2LDIxOTM3XSkmJihiPWIuc3RhcnQrYi5wb3MsRC5nZXRVaW50OChiKT09PTEyOSYmRC5nZXRVaW50OChiKzEpPT09MSYmRC5zZXRVaW50OChiKzEsOSkpfWI9Vy5pbmZvLlBKLmluZm87Yi5YKCkmJiFaTyhiKSYmKGI9Zy5XUihXKSwobmV3IHRZKGIpKS5PSigpLFl4KFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdLDIxOTM2LGIpKTtXLmluZm8uUEouaW5mby5mWSgpJiZRZihXLmluZm8uUEosRCk7Vy5pbmZvLlBKLmluZm8ucUgoKSYmVy5pbmZvLmZZKCkmJihEPWcuV1IoVyksKG5ldyB0WShEKSkuT0ooKSxZeChbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0XSwzMDMyMCxEKSYmWXgoWzQwODEyNTU0MywzNzQ2NDg0MjcsCjE3NCwyMjRdLDIxNDMyLEQpKTtpZihuLnBvbGljeS54MCYmVy5pbmZvLlBKLmluZm8ucUgoKSl7Yj1nLldSKFcpO3ZhciB2PW5ldyB0WShiKTtpZigkeCh2LFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyOTYzN10pKXtEPU5rKHYsITApO3Y9di5zdGFydCt2LnBvcztmb3IodmFyIGs9MDtrPEQtMTtrKyspYi5zZXRVaW50OCh2K2ssMCk7Yi5zZXRVaW50OCh2K0QtMSwxKX19aWYobi5lUygpJiZnLlJCKFcuaW5mby5QSi5pbmZvKSl7RD1nLldSKFcpO2I9Zy5ucyhELDAsMTcwMTYwNjI2MCk7RD1nLm5zKEQsMCwxODM2NDc2NTE2KTtpZihiJiZEKXtiLnNraXAoMik7dmFyIGg9VUQoYik7az1FRChiKTtsZXQgeD1bXTt2PVtdO2xldCBMPVtdLGU9W107aWYoaClmb3IoaD0wO2g8azsrK2gpeC5wdXNoKGkzKGIpKSx2LnB1c2goaTMoYikpLEwucHVzaChVRChiKSksZS5wdXNoKFVEKGIpKTtlbHNlIGZvcihoPTA7aDxrOysraCl4LnB1c2goeUwoYikpLHYucHVzaCh5TChiKSksTC5wdXNoKFVEKGIpKSwKZS5wdXNoKFVEKGIpKTtiPXg7RD1nLmJMKEQpO0Q9bmV3IFJlaCh2WzBdL0QsYlswXS9EKX1lbHNlIEQ9bnVsbDtpZih2PUQpe2lmKGcuUkIoVy5pbmZvLlBKLmluZm8pKWZvcihEPWcuV1IoVyksaz1nLm5zKEQsMCwxNzAxMDgyMjI3KTtrOyliPWssYi50eXBlPTE5MzY0MTkxODQsYi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpLGs9Zy5ucyhELGsub2Zmc2V0K2suc2l6ZSwxNzAxMDgyMjI3KTtuLmYwPSEwO1cuaW5mby5QSi5WPXZ9fVcuaW5mby5QSi5XKCl8fFcuaW5mby5QSi5KfHxXLmluZm8uUEouaW5kZXhSYW5nZXx8RE8oVyl9OwpWSHg9ZnVuY3Rpb24obixXKXtpZihuLmlzRHJtKCkpe2lmKFcuaW5mby5QSi5pbmZvLnFIKCkpe3ZhciBEPW5ldyB0WShnLldSKFcpKTtpZigkeChELFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyODAzMiwyNTE1MiwyMDUzMywxODQwMl0pKXt2YXIgYj1OayhELCEwKTtEPWIhPT0xNj9udWxsOlNQKEQsYil9ZWxzZSBEPW51bGw7Yj0id2VibSJ9ZWxzZSBXLmluZm8uTz1NdlMoZy5XUihXKSksRD1SN1UoVy5pbmZvLk8pLGI9ImNlbmMiO0QmJkQubGVuZ3RoJiYoRD1uZXcgcnUoRCxiKSxuLnBvbGljeS5QSCYmZy5SQihXLmluZm8uUEouaW5mbykmJihiPVpLWihnLldSKFcpKSkmJihELlVXPWIpLEQucUg9Vy5pbmZvLlBKLmluZm8ucUgoKSxXLk4mJlcuTi5jcnlwdG9QZXJpb2RJbmRleCYmKEQuY3J5cHRvUGVyaW9kSW5kZXg9Vy5OLmNyeXB0b1BlcmlvZEluZGV4KSxXLk4mJlcuTi5YJiYoRC5OPVcuTi5YKSxuLmxvYWRlci5XbihEKSl9fTsKY3JoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5iUjtXPU1hdGgubWluKFcsRC5KLnRvdGFsTGVuZ3RoKTtpZihXPT09RC5KLnRvdGFsTGVuZ3RoKXJldHVybiBuLmJSPW51bGwsRDtEPXZSKEQsVyk7bi5iUj1EWzFdO3JldHVybiBEWzBdfTsKRFgyPWZ1bmN0aW9uKG4sVyxEKXtpZihELmluZm8uUEouVygpKXtpZihuLmYwJiZhRXcoRCkpe1c9Zy5XUihEKTt2YXIgYj1nLm5zKFcsMCwxOTUzNjU4MjIyKTtpZihiKXtiLnNraXAoMSk7dmFyIHY9WmMoYik8PDE2fFVEKGIpLGs9diYxLGg9diY0O2lmKHYmMjU2KXtXPXYmNTEyO3ZhciB4PXYmMTAyNDt2Jj0yMDQ4O3ZhciBMPUVEKGIpO0w8Mnx8KGsmJmIuc2tpcCg0KSxoJiZiLnNraXAoNCksaz1FRChiKSxiLnNraXAoKEwtMSkqKDQrKFc/NDowKSsoeD80OjApKyh2PzQ6MCkpLTQpLGIuZGF0YS5zZXRVaW50MzIoYi5vZmZzZXQrYi5OLGspKX19fWlmKFc9bi5xOSYmbi5xOS5PNygpKWlmKFc9RC5pbmZvLmZZKCkpVz1YWihEKSx4PW4ucTksczQ/KGI9MS9XLFc9bi5WeihXKT49eC5WeigpK2IpOlc9bi5nZXREdXJhdGlvbigpPj14LmdldER1cmF0aW9uKCksVz0hVztXJiZhRXcoRCkmJihXPW4ucTksczQ/KGI9WFooRCkseD0xL2IsYj1uLlZ6KGIpLFc9Vy5WeigpK3gtYik6Vz1XLmdldER1cmF0aW9uKCktCm4uZ2V0RHVyYXRpb24oKSxXPTErVy9ELmluZm8uVyxXdyhnLldSKEQpLFcpKX1lbHNle2I9ITE7bi5qa3x8KEdpKEQpLEQuTiYmKG4uams9RC5OLGI9ITAsaz1ELmluZm8saD1ELk4uc2VnbWVudE51bWJlcixrLlk9InVwZGF0ZVdpdGhFbXNnIixrLmokPWgsaz1ELk4say5WJiZuLlBKLnR3KCFrLlYsImVtc2ciKSxrPUQuaW5mby5QSi5pbmZvLGg9Zy5XUihEKSxnLlJCKGspP0dqKGgsMTcwMTY3MTc4Myk6ay5xSCgpJiZZeChbNDA4MTI1NTQzXSwzMDc1NDQ5MzUsaCkpKTthOmlmKChrPWVHKEQsbi5wb2xpY3kuUFgpKSYmcSQoRCkpaD1uVHcobixEKSxuLlQ4Kz1oLGstPWgsbi5ZRSs9ayxuLlpxPW4ucG9saWN5LlNWP24uWnErazpOYU47ZWxzZXtpZihuLnBvbGljeS5Zcil7aWYoaD1MPW4ubG9hZGVyLnFhKGcua1goRCksMSksbi5acT49MCYmRC5pbmZvLnR5cGUhPT02KXtpZihuLnBvbGljeS5TViYmaXNOYU4obi5ZcCkpe2cuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcHJvY2Vzc2luZyBwcmV2aW91cyBjaHVuayIsCkQuaW5mby5nYSgpKSk7bi5sb2FkZXIuaXNPZmZsaW5lKCkmJiFuLnBvbGljeS5UUXx8V2paKG4sRCxoKTtHWihuLCJtIik7YnJlYWsgYX12PUwtbi5acTt2YXIgZT12LW4uVDg7bGV0IEc9RC5pbmZvLmokLHI9bi5tMT9uLm0xLmokOi0xLE49bi5paCxIPW4uWXAsQT1uLnBvbGljeS5RJCYmdj5uLnBvbGljeS5RJCx5PU1hdGguYWJzKGUpPjEwLFQ9TWF0aC5hYnMobi5acS1oKTwxRS03O2lmKE1hdGguYWJzKGUpPjFFLTQpe24uSVMrPTE7bGV0IHo9bi5qaz8uSigpO2U9e2F1ZGlvOmAkeytuLmVTKCl9YCxzcTpHLnRvRml4ZWQoKSxzbGljZVN0YXJ0OkwsbGFzdFNxOnIudG9GaXhlZCgpLGxhc3RTbGljZVN0YXJ0Ok4sbGFzdFNsaWNlRHVyYXRpb246SCx0b3RhbERyaWZ0Oih2KjFFMykudG9GaXhlZCgpLHNlZ0RyaWZ0OihlKjFFMykudG9GaXhlZCgpLHNraXBSZXdyaXRlOmAkeysoQXx8eSl9YH07ej8ubGVuZ3RoJiYoZS5hZENwbj16WzBdKTtuLmxvYWRlci5oYW5kbGVFcnJvcigicW9lLmF2c3luYyIsCmUpO24uc0w9R31BfHx5fHxUfHwoaD1uLlpxKTtMPW5UdyhuLEQsTCk7ay09TDtuLlQ4PXYrTH19ZWxzZSBoPWlzTmFOKG4uWnEpP0QuaW5mby5zZWdtZW50U3RhcnRUaW1lOm4uWnE7V2paKG4sRCxoKSYmKG4uWUUrPWssbi5acT1oK2ssbi5wb2xpY3kuWmgmJm4uSVM+PW4ucG9saWN5LlpoJiYobi5JUz0wLG4ubG9hZGVyLkdtKHtyZXNldEZvclJld3JpdGVzOiJjb3VudCJ9KSkpfW4ubTE9RC5pbmZvO24uWXA9TE0oRCk7RC5XPj0wJiYobi5paD1ELlcpO2lmKGImJm4uamspe2I9dmZ0KG4sITApO1pKKEQuaW5mbyxiKTtuLmJSJiZaSihuLmJSLmluZm8sYik7Zm9yKHggb2YgVyluLnBvbGljeS5qJiZ4LmokIT09bi5qaz8uc2VnbWVudE51bWJlcnx8WkooeCxiKTsoRC5pbmZvLmFafHxuLmJSJiZuLmJSLmluZm8uYVopJiZELmluZm8udHlwZSE9PTZ8fChuLkwyPWIsbi5wb2xpY3kuVTE/KFc9a2RVKG4uamspLG4ubG9hZGVyLlIwKG4uUEosYixXKSk6KFc9bi5sb2FkZXIsVy5LdS5pc01hbmlmZXN0bGVzcyYmCk4yKFcsYixudWxsLCEhbi5QSi5pbmZvLnZpZGVvKSksbi5wb2xpY3kuZVZ8fG4uVmkoKSl9fVZIeChuLEQpO24udGltZXN0YW1wT2Zmc2V0JiZ4WChELG4udGltZXN0YW1wT2Zmc2V0KX07CnZmdD1mdW5jdGlvbihuLFcpe3ZhciBELGI9bi5qaztpZihEPVRfKGIpKUQuc3RhcnRTZWNzKz1uLkwxO3ZhciB2PW4uTDEsaz0wO24uUEogaW5zdGFuY2VvZiBkdCYmKGs9bi5QSi5yYik7cmV0dXJuIG5ldyBSNChiLnNlZ21lbnROdW1iZXIsdixXP2s6bi5ZRSxiLmluZ2VzdGlvblRpbWUsYHNxLyR7Yi5zZWdtZW50TnVtYmVyfWAsdm9pZCAwLHZvaWQgMCxXLEQsbi5wb2xpY3kueUg/Yi5OOm51bGwpfTsKa2RVPWZ1bmN0aW9uKG4pe3JldHVybiBuLmZLKCk/bmV3IHByKENnKG4pLG4uSigpLEJBKG4pLEZwKG4pLHdGKG4pLGcuTWQobiksZy5ScihuKSk6bnVsbH07Cm5Udz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtpZihXLmluZm8uUEouaW5mby5xSCgpJiYhcSQoVykpcmV0dXJuIDA7aWYobi5xOSYmIW4uZVMoKSl7bGV0IGU9MDtEJiZnLlJCKFcuaW5mby5QSi5pbmZvKT9lPUQtbi5acTpXLmluZm8uUEouaW5mby5xSCgpJiYoZT1uLlQ4KTt2YXIgdj1XLmluZm8uaiQ7RD1lRyhXLG4ucG9saWN5LlBYKTtsZXQge1Y1OkcsVGo6cn09bi5xOS5iNCgpO3Y9dj09PUd8fHY+RyYmdj5uLnNMO3ZhciBrPU1hdGguYWJzKHItZSk+LjAyO2lmKG4ucG9saWN5LlJ0KXt2YXIgaD1NYXRoLmFicyhyLWUpO2lmKHYmJmg+bi5wb2xpY3kuUnQmJmg8MTApcmV0dXJuIG4ubG9hZGVyLkdtKHthdkRlc3luYzoiY291bnQifSksMH1pZihXLmluZm8uUEouaW5mby5xSCgpJiZuLnBvbGljeS5WZilyZXR1cm4gMDtpZih2JiZrKXtiPU1hdGgubWF4KC45NSxNYXRoLm1pbigxLjA1LChELShyLWUpKS9EKSk7aWYoZy5SQihXLmluZm8uUEouaW5mbykpV3coZy5XUihXKSxiKTsKZWxzZSBpZihXLmluZm8uUEouaW5mby5xSCgpJiYoaz1lLXIsIWcuUkIoVy5pbmZvLlBKLmluZm8pJiYoVy5pbmZvLlBKLmluZm8ucUgoKSxiPW5ldyB0WShnLldSKFcpKSx2PVcuVj9iOm5ldyB0WShuZXcgRGF0YVZpZXcoVy5pbmZvLlBKLkouYnVmZmVyKSksZUcoVywhMCkpKSl7dmFyIHg9ayoxRTMsTD1Lcyh2KTt2PWIucG9zO2IucG9zPTA7aWYoYi5OLmdldFVpbnQ4KGIucG9zKT09PTE2MHx8UHcoYikpaWYoc1koYiwxNjApKWlmKE5rKGIsITApLHNZKGIsMTU1KSl7aWYoaz1iLnBvcyxoPU5rKGIsITApLGIucG9zPWsseD14KjFFOS9MLEw9ZnMoYikseD1MK01hdGgubWF4KC1MKi43LE1hdGgubWluKEwseCkpLHg9TWF0aC5zaWduKHgpKk1hdGguZmxvb3IoTWF0aC5hYnMoeCkpLCEoTWF0aC5jZWlsKE1hdGgubG9nKHgpL01hdGgubG9nKDIpLzgpPmgpKXtiLnBvcz1rKzE7Zm9yKGs9aC0xO2s+PTA7ay0tKWIuTi5zZXRVaW50OChiLnBvcytrLHgmMjU1KSx4Pj4+PTg7Yi5wb3M9CnZ9fWVsc2UgYi5wb3M9djtlbHNlIGIucG9zPXY7ZWxzZSBiLnBvcz12fWI9ZUcoVyxuLnBvbGljeS5QWCk7Yj1ELWJ9YiYmVy5pbmZvLlBKLmluZm8ucUgoKSYmbi5sb2FkZXIuVSgid2VibUR1cmF0aW9uQWRqdXN0bWVudCIse2R1cmF0aW9uQWRqdXN0bWVudDpiLHZpZGVvRHJpZnQ6ZStiLGF1ZGlvRHJpZnQ6cn0pfXJldHVybiBifTsKV2paPWZ1bmN0aW9uKG4sVyxEKXtpZighaE0oVyxEKSlyZXR1cm4gVz1YeChXLmluZm8pLFcuc21zdD0iMSIsWUMobi5sb2FkZXIsV3x8e30pLCExO2lzTmFOKG4uTDEpJiYobi5MMT1EKTtyZXR1cm4hMH07CmFFdz1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmZvLlBKLlcoKSYmbi5pbmZvLmokPT09bi5pbmZvLlBKLmluZGV4LngkKCl9Owp2VFo9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSl7dmFyIEc9Vy5leHBvcnRzLk1lZGlhU3RyZWFtX2dldEJhdGNoZWRTdHJlYW1FdmVudHMoRCk7aWYoRyl0cnl7dmFyIHI9Vy5tZW1vcnkuYnVmZmVyKEcsYio4OCk7bGV0IHk9bmV3IERhdGFWaWV3KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxiKjg4KSxUPVcubWVtb3J5LmhlYXAoKTtHPVtdO2ZvcihyPTA7cjxiO3IrKyl7bGV0IHo9bmV3IGIkQyh5LHIqODgsVyxUKTtHLnB1c2goe09mOnouT2YsYjM6ei5iMyxLOTp6Lks5LGx3OnoubHcsU2g6ei5TaCxnQzp6LmdDLHZXOnoudlcsR0s6ei5HSyxVVzp6LlVXLFckOnouVyQsZm9ybWF0SWQ6ei5mb3JtYXRJZCxyQzp6LnJDfSl9Yj12O2ZvcihsZXQgeiBvZiBHKXt6LmZvcm1hdElkJiZlJiYoYj1lKHouZm9ybWF0SWQpKTtsZXQgQz16Lk9mLFE9ei5iMyxWPXouSzksTHQ9ei5sdyx0aT16LlNoLEhaPXouZ0MsWjE9ei52VyxRaj16LkdLLE1pPXouVVcsTVU9ei5XJCxJQz16LmZvcm1hdElkLApJTT16LnJDO3N3aXRjaChIWil7Y2FzZSAxOmxldCBZbDt0cnl7bGV0IFVUPUpTT04ucGFyc2UoWjEpO1VUJiZ0eXBlb2YgVVQ9PT0ib2JqZWN0Ij9ZbD1VVDpZbD17cmVhc29uOlN0cmluZyhaMSl9fWNhdGNoKFVUKXtZbD17cmVhc29uOloxfX1ZQyhuLmxvYWRlcixZbCk7cmV0dXJuO2Nhc2UgMjpsZXQgajE7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCI/ajE9VVQ6ajE9e3JlYXNvbjpTdHJpbmcoWjEpfX1jYXRjaChVVCl7ajE9e3JlYXNvbjpaMX19ajEuYXZEZXN5bmMhPT12b2lkIDA/bi5sb2FkZXIuR20oajEpOm4ubG9hZGVyLmhhbmRsZUVycm9yKCJxb2UuYXZzeW5jIixqMSk7YnJlYWs7Y2FzZSAzOmxldCBUej1uZXcgcnUoUWosWjEpO01pLmxlbmd0aD4wJiYoVHouVVc9TWkpO01VIT09NDI5NDk2NzI5NSYmKFR6LmNyeXB0b1BlcmlvZEluZGV4PU1VKTtRPj0wJiYoVHouTj1RKTtUei5xSD1iLmluZm8/LnFIKCk/PyExO24ubG9hZGVyLlduKFR6KTsKYnJlYWs7Y2FzZSA0OmxldCBmaD1wUihRaiksT0k9UUwoZmgpO2lmKE9JKXtsZXQgVVQ9bmV3IFg1KE9JLFoxKTtuLk49VVQ7VVQuViYmYi50dz8uKCFVVC5WLCJlbXNnIik7bGV0IFBLPVRfKFVUKTtQSyYmKFBLLnN0YXJ0U2Vjcys9QyxuLmxvYWRlci5NZShiLFBLLFVULnNlZ21lbnROdW1iZXIsVVQuZksoKSkpfWJyZWFrO2Nhc2UgNzpsZXQgcEs7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCImJihwSz1VVCl9Y2F0Y2goVVQpe31pZihwSyYmcEsucmVzZXRGb3JSZXdyaXRlcyE9PXZvaWQgMCl7bi5sb2FkZXIuR20ocEspO2JyZWFrfWlmKFoxLnN0YXJ0c1dpdGgoImRpc2NvbnRpbnVpdHlfIikpe24ubG9hZGVyLlUoIm1kc3RtIix7cnN0NGRpc2M6WjEuc3Vic3RyaW5nKDE0KSxjZDpDLnRvRml4ZWQoMyksc3E6U3RyaW5nKElNKX0pO2JyZWFrfWxldCBPej1aMS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIik7bi5sb2FkZXIuVSgic2xpY2Vfbm90X2Z1bGx5X3Byb2Nlc3NlZCIsCnttc2c6T3p9KTticmVhaztjYXNlIDg6bGV0IEJXO3RyeXtCVz1KU09OLnBhcnNlKFoxKX1jYXRjaChVVCl7bi5sb2FkZXIuVSgid2FzbV9qc29uX3BhcnNlX2Vycm9yIix7ZXY6SFoudG9TdHJpbmcoKX0pO2NvbnRpbnVlfXgoQlcpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLG4uVyk7YnJlYWs7Y2FzZSA5OmxldCBZRTt0cnl7WUU9SlNPTi5wYXJzZShaMSl9Y2F0Y2goVVQpe24ubG9hZGVyLlUoIndhc21fanNvbl9wYXJzZV9lcnJvciIse2V2OkhaLnRvU3RyaW5nKCl9KTtjb250aW51ZX1MKFlFKTtiLk4oKSYmayYmWkgobi5sb2FkZXIuS3UsYixuLlcpO2JyZWFrO2Nhc2UgMTA6dj1aMTtuLlc9djtJQyYmZSYmKGI9ZShJQykpO2IuSj1RajtoPy5KKFFqLHYpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLHYpO2JyZWFrO2Nhc2UgMTE6Yi5WPW5ldyBSZWgodGksVik7YnJlYWs7Y2FzZSAxNDpsZXQgWmk9bmV3IFI0KElNLEMsVixMdCxgc3EvJHtJTX1gLHZvaWQgMCx2b2lkIDAsCiExLG4uSixuLk4/Lk4pO3Y9bnVsbDtuLk4mJm4uTi5mSygpJiYodj1uZXcgcHIoQ2cobi5OKSxuLk4uSigpLEJBKG4uTiksRnAobi5OKSx3RihuLk4pLGcuTWQobi5OKSxnLlJyKG4uTikpKTtuLmxvYWRlci5SMChiLFppLHYpO2JyZWFrO2Nhc2UgMTU6bGV0IFdJPU51bWJlcihaMSk7aXNOYU4oV0kpfHxuLmxvYWRlci5wWj8uKFdJKTticmVhaztjYXNlIDY6bGV0IERBPW5ldyBSNChJTSxDLFYsTHQsYHNxLyR7SU19YCx2b2lkIDAsdm9pZCAwLCEwLG4uSixuLk4/Lk4pO2lmKG4ucG9saWN5Py5VMT8/ITApdj1udWxsLG4uTiYmbi5OLmZLKCkmJih2PW5ldyBwcihDZyhuLk4pLG4uTi5KKCksQkEobi5OKSxGcChuLk4pLHdGKG4uTiksZy5NZChuLk4pLGcuUnIobi5OKSkpLG4ubG9hZGVyLlIwKGIsREEsdik7ZWxzZXt2YXIgTj1uLmxvYWRlcjtOLkt1LmlzTWFuaWZlc3RsZXNzJiZOMihOLERBLG51bGwsISFiLmluZm8udmlkZW8pfWJyZWFrO2Nhc2UgMTI6dmFyIEg9bi5sb2FkZXI7dj0KYjt2YXIgQT1uZXcgUjQoSU0sQyxWLEx0LGBzcS8ke0lNfWAsdm9pZCAwLHZvaWQgMCwhMCxuLkosbi5OPy5OKTtILkt1LmlzTWFuaWZlc3RsZXNzJiZUeChILkt1LEEuaiQsISF2LmluZm8udmlkZW8pO2JyZWFrO2Nhc2UgNTpsZXQgcFY7dHJ5e3BWPUpTT04ucGFyc2UoWjEpfWNhdGNoKFVUKXtuLmxvYWRlci5VKCJ3YXNtX2pzb25fcGFyc2VfZXJyb3IiLHtldjpIWi50b1N0cmluZygpfSk7Y29udGludWV9cFYuc3RhcnRTZWNzKz1DO24uSj1wVjtuLmxvYWRlci5NZShiLHBWLElNLG4uTj8uZksoKT8/ITEpO2JyZWFrO2Nhc2UgMTM6UWYoYixuZXcgRGF0YVZpZXcoUWouYnVmZmVyLFFqLmJ5dGVPZmZzZXQsUWouYnl0ZUxlbmd0aCkpO2JyZWFrO2RlZmF1bHQ6bi5sb2FkZXIuVSgid2FzbV91bmtub3duX2V2Iix7ZXY6SFoudG9TdHJpbmcoKX0pfX19ZmluYWxseXtXLmV4cG9ydHMuTWVkaWFTdHJlYW1fY2xlYXJQZW5kaW5nRXZlbnRzKEQpfWVsc2UgVy5leHBvcnRzLk1lZGlhU3RyZWFtX2NsZWFyUGVuZGluZ0V2ZW50cyhEKX07Ckg2PWZ1bmN0aW9uKG4pe24uVWwmJihuLlVsLmRpc3Bvc2UoKSxuLlVsPW51bGwpO24uU0s9dm9pZCAwO24uWFY9dm9pZCAwfTsKSjQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9V15uO3ZhciBMOyhufDIpPj0yNyYmbisyPDMzJiYoTD1iKHYsayxoKSk7aWYoISgobnw0KT4+NCkpZm9yKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO0QtLTspYltJW3heNDM4NF1dKGJbSVt4XjQzODldXSgpKTtpZigobi0yfDU4KT49biYmKG4tOHwxNSk8bil7Zm9yKHZhciBlPXheNDY3NCxHPVtdOysrZS1HW0lbNV1dLSh4XjQ2NDIpOyl7c3dpdGNoKGUpe2Nhc2UgeF40Njk3OmU9eF40NjU0O2NvbnRpbnVlO2Nhc2UgeF40NzI5OmU9eF40Njc1O2JyZWFrO2Nhc2UgeF40Njc1OmUtPXheNDYyNDtjb250aW51ZTtjYXNlIHheNDY2NDplPXheNDcwNjtjb250aW51ZTtjYXNlIHheNDY1MjplPXheNDcwMX1HW0lbeF40NjI4XV0oU3RyaW5nW0lbeF40NjU2XV0oZSkpfUw9R31yZXR1cm4gTH07CmZyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qXygpLGI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0VHlwZShXKSx2PUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFNlZ051bShXKSxrPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFN0YXJ0VGltZShXKSxoPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldER1cmF0aW9uKFcpLHg9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNFbmRPZlNlZ21lbnQoVykhPT0wLEw9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0U2xpY2VPZmZzZXQoVyksZT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TG10KFcpLEc9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNGYXN0U2Vla2FibGUoVykhPT0wLHI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkKFcpLE49RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkTGVuZ3RoKFcpLEg9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Rm9ybWF0SWQoVyksQT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRGb3JtYXRJZExlbmd0aChXKSwKeT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TWVkaWFTb3VyY2UoVyksVD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW4oVyksej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW5MZW5ndGgoVyksQz1ELm1lbW9yeS5oZWFwKCksUT0iIjtyJiZOPjAmJihRPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxyLE4pKS5yZXBsYWNlKC9cMC9nLCIiKSk7cj0iIjtIJiZBPjAmJihyPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxILEEpKS5yZXBsYWNlKC9cMC9nLCIiKSk7SD0iIjtUJiZ6PjAmJihIPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxULHopKS5yZXBsYWNlKC9cMC9nLCIiKSk7VD1yJiZuLkVlP24uRWUocik6bi5QSjtDPUQubWVtb3J5LmhlYXAoKTtBPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldERhdGEoVyk7ej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRMZW5ndGgoVyk7Qz1uZXcgUzUoWyhuZXcgVWludDhBcnJheShDLEEseikpLnNsaWNlKCldKTtBPQpELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50Qnl0ZVJhbmdlU3RhcnQoVyk7RD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TGVuZ3RoQnl0ZXMoVyk7Vz12b2lkIDA7RD4wJiZULlcoKSYmKFc9V18oQSxEKSk7aHx8dHlwZW9mIFQucmIhPT0ibnVtYmVyInx8KGg9VC5yYik7Yj1uZXcgcUkoYixULFcsIndhc20iLHYsayxoLEwseix4LGUsUSxHLHksSCk7eD1uZXcgYjgoYixDKTtpZihuLnBvbGljeS5Zcnx8bi5wb2xpY3kuUyQpYj0hIWIuTiYmdj09PW4ueHAseC5XPWI/bi5tOTprLHguWD1iP24uenI6aCxifHwobi54cD12LG4ubTk9eC5XLG4uenI9eC5YKTtyZXR1cm4geH07CnlrPWZ1bmN0aW9uKG4pe24uaj0hMDtuLlBEPSEwO24uWD0tMTtQdShuLEluZmluaXR5KX07Cm1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLkopSjAobixXKTtuLko9W107bi5OPW51bGx9OwpLdj1mdW5jdGlvbihuLFcsRD0hMSl7aWYobi5RRSl7bGV0IGI9bi5RRS5aRigpLHY9RlooYixXKSxrPU5hTixoPUkkKG4pO2gmJihrPUZaKGIsaC5QSi5pbmRleC5nZXRTdGFydFRpbWUoaC5qJCkpKTtpZih2PT09ayYmbi5OJiZuLk4uSiYma1F3KFNxKG4pLDApKXJldHVybiBXfW49QTAobixXLEQpO3JldHVybiBuPj0wP246TmFOfTsKUHU9ZnVuY3Rpb24obixXLEQpe24uUEouTigpO3ZhciBiPUEwKG4sVyk7aWYoYj49MClyZXR1cm4gYjtuLlY/LmNKKFcsRCk7Vz1NYXRoLm1pbihXLG4uVy5McygpKTtuLk49bi5wb2xpY3kudHc/bnVsbDpuLlBKLksoVykuQXdbMF07bWQobikmJihuLnBvbGljeS5YWSYmRD8uc2Vla1NvdXJjZT09PTYwfHxuLlFFJiZuLlFFLmFib3J0KCksbi5wb2xpY3kucG8mJm4uVj8uWSgpKTtuLlMkPTA7cmV0dXJuIG4uTj9uLk4uc2VnbWVudFN0YXJ0VGltZTpXfTsKaVk9ZnVuY3Rpb24obil7cmV0dXJuIG4uVy5XMigpfTsKS3I9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSl7VyYmczQmJm4uVy5CVyhXLml3KCkpO0R8fG4uVj8uVigpO24uUUU9VztuLlY/LnR3KG4uUUUsYil9OwpJJD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wb2xpY3kuZkM/bi5WPy5iZCgpfHxudWxsOm4uUUUmJm4uUUUuWmcoKX07Cmhacj1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQ9MDtEPG4uTy5sZW5ndGg7RCsrKVdbYHIke0R9YF09bi5PW0RdO3JldHVybiBXfTsKTzQ9ZnVuY3Rpb24obixXKXtpc05hTihuLlkpfHxuLlUoImFzd3IiLHtzcTpXLmluZm8uQXdbMF0uaiQsaWQ6Vy5pbmZvLkF3WzBdLlBKLmluZm8uaXRhZyx4dGFnOlcuaW5mby5Bd1swXS5QSi5pbmZvLkosZXA6RGF0ZS5ub3coKS1uLll9KTtuLkoucHVzaChXKTtuLk49Zy5VTShXLmluZm8uQXcpO24uTy5wdXNoKFcuZ2EoKSk7bi5PLmxlbmd0aD40JiZuLk8uc2hpZnQoKX07CnhYQz1mdW5jdGlvbihuLFcpe2lmKFcuUUEoKSl7bGV0IEQ9Vy54OSgpO2ZvcihsZXQgYiBvZiBEKW4ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBTbiYmbi5VKCJvbWJsc3MiLHtzOmIuaW5mby5nYSgpfSksbi5XZyhXLmluZm8uQXcsYixXLlh2KCkpfX07CkxqVT1mdW5jdGlvbihuKXtuLkoubGVuZ3RoP24uTj1nLlVNKGcuVU0obi5KKS5pbmZvLkF3KTpuLlcuUkMoKT9uLk49bi5XLld4KCkuaW5mbzpuLk49SSQobil9OwpQNj1mdW5jdGlvbihuLFcpe3ZhciBEPXtlVzpbXSxCaTpbXX07cmV0dXJuIG4uVj8uTyhXKT8/RH07CkEwPWZ1bmN0aW9uKG4sVyxEPSExKXtpZighbi5OfHwhbi5OLkopcmV0dXJuIE5hTjtuPVNxKG4pO1c9ZVp0KG4sVysuMDIsRCk7cmV0dXJuIFc8MD9OYU46a1F3KG4sRD9XOjApP25bV10uc2VnbWVudFN0YXJ0VGltZTpOYU59OwptZD1mdW5jdGlvbihuKXtpZihuLlBKLmluZm8uSUI9PT0iZiJ8fG4ucG9saWN5LkomJm4uVy5vQygpKXJldHVybiEwO3ZhciBXPUkkKG4pO2lmKCFXKXJldHVybiExO3ZhciBEPVpkKFcpJiZXLmFaO3JldHVybiBuLmlzTWFuaWZlc3RsZXNzJiZuLnR3PjA/RHx8Vy5qJD49bi50dzpEfTsKWmQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/bi5WKCk6ITF9OwpnVEM9ZnVuY3Rpb24obil7dmFyIFc9SSQobik7cmV0dXJuIFc/Vy5qLW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk6MH07ClU0PWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFuLlBKLmluZGV4Lk1JKFcsITApKXJldHVybiExO3RyeXttaShuKTtuLlcuSzgoVyk7aWYobi5wb2xpY3kuTilyZXR1cm4gbi5OPW51bGwsITA7Yj5EP1B1KG4sYik6bi5OPW4uUEouaihXLTEsITEpLkF3WzBdfWNhdGNoKHYpe3JldHVybiBXPUIkKHYpLFcuZGV0YWlscy5yZWFzb249InJvbGxia2VyciIsbi5sb2FkZXIuaGFuZGxlRXJyb3IoVy5lcnJvckNvZGUsVy5kZXRhaWxzLFcuc2V2ZXJpdHkpLCExfXJldHVybiEwfTsKSjA9ZnVuY3Rpb24obixXLEQ9ITEpe24uY3EoVyxEKTtXLmRpc3Bvc2UoKX07Cmc3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XXm47aWYoISgobnw3KT4+NCkpe3ZhciB2PURbSVtiXjIzXV0oSVtiXjJdKSxrPXt9O2ZvcihsZXQgTD0wO0w8dltJWzVdXTtMKyspdmFyIGg9UjAoNixiXjczMjUsdixMLGspO3ZhciB4PWt9aWYoKG4tOV4yMSk8biYmbi03PDwxPj1uKWZvcih2PURbSVs1XV07djspRFtJW2JeNjMzM11dKERbSVszXV0oLS12LDEpWzBdKTtpZigobnw0MCk9PW4pe3Y9Yl45MDYyO2ZvcihrPVtdOysrdi1rW0lbNV1dLShiXjg5NjYpOyl7c3dpdGNoKHYpe2Nhc2UgYl44OTg4OnYtPWJeOUUzO2Nhc2UgYl45MDg1OmNhc2UgYl45MDgyOmNhc2UgYl45MDgzOmNvbnRpbnVlO2Nhc2UgYl45MDUzOnY9Yl44OTY5O2Nhc2UgYl45MDgwOmNhc2UgYl45MDgxOmNhc2UgYl45MDMwOmNvbnRpbnVlO2Nhc2UgYl44OTY4OnY9Yl45MDgxfWtbSVtiXjkwMDhdXShTdHJpbmdbSVtiXjg5ODBdXSh2KSl9eD1rfXJldHVybiB4fTsKeW89ZnVuY3Rpb24obil7dmFyIFc9bi5XLld4KCk7cmV0dXJuIFc/Vy5pbmZvOkkkKG4pfTsKRTQ9ZnVuY3Rpb24obixXKXt2YXIgRDtmb3IoRD0wO0Q8bi5KLmxlbmd0aCYmVyE9PW4uSltEXTtEKyspO2lmKEQ9PT1uLkoubGVuZ3RoKUowKG4sVyk7ZWxzZXtmb3IoO0Q8bi5KLmxlbmd0aDspSjAobixuLkoucG9wKCkpO3ZhciBiPXlvKG4pO2ImJmIuUEouRCgpJiZnLm9NKFcuaW5mby5Bdyx2PT4kTih2LGIpKT8obi5OPWIsbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6ImxzcCIsCmxzcDpiLmdhKCl9KSk6KHhOKFcuaW5mby5Bd1swXSk/KG4uTj1XLldvJiZXLldvLlc/VEQxKFcuV28uVyk6bER4KFcuaW5mby5Bd1swXSksbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6bi5OLmdhKCksbHNwOmI/LmdhKCl9KSk6KG4uTj1udWxsLG4ucG9saWN5LlcmJm4uVSgiY2VyIix7bHNyOiJudWxsIixsc3A6Yj8uZ2EoKX0pKSxuLmxvYWRlci5pc09mZmxpbmUoKSYmIW4ucG9saWN5LlRRfHxKMChuLFcsITApKX19OwppUz1mdW5jdGlvbihuKXtyZXR1cm4gbWQobil8fFpkKG4uVy5XeCgpPy5pbmZvKX07ClNxPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9SSQobik7RCYmVy5wdXNoKEQpO1c9Zy53eihXLG4uVy5mMygpKTtmb3IobGV0IGIgb2Ygbi5KKWZvcihsZXQgdiBvZiBiLmluZm8uQXcpYi5TMyYmKFc9Zy5FTShXLGs9PiF0SihrLHYpKSksKHhOKHYpfHx2LmNKKCkpJiZXLnB1c2godik7Cm4uTiYmIXpBMihuLk4sZy5VTShXKSxuLk4uUEouVygpKSYmVy5wdXNoKG4uTik7cmV0dXJuIFd9OwprUXc9ZnVuY3Rpb24obixXKXtpZighbi5sZW5ndGgpcmV0dXJuITE7Zm9yKFcrPTE7VzxuLmxlbmd0aDtXKyspaWYoIUx6KG5bVy0xXSxuW1ddKSlyZXR1cm4hMTtyZXR1cm4hMH07CmVadD1mdW5jdGlvbihuLFcsRD0hMSl7dmFyIGI9LTE7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoay5YPD1XKWlmKEQpYj12O2Vsc2UgaWYoay5zZWdtZW50U3RhcnRUaW1lK2suVz49VylyZXR1cm4gdn1yZXR1cm4gYn07CnZhciBZalo9ZnVuY3Rpb24obixXKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsMiw0OTA2LG4sVyl9Owp1Uz1mdW5jdGlvbihuKXtyZXR1cm4hKCFuLk58fG4uTi5QSj09PW4uUEopfTsKWDB0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wb2xpY3kuTj9uLnpzKCEwKTxEOihuPXlvKG4pKSYmIVpkKG4pP24uaj5XJiZuLmo8VytEOiExfTsKZy5vJD1mdW5jdGlvbihuKXtuLlY/LlYoKTtuLmtJKCl9Owpxemg9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJm4uTi5qJCE9PS0xJiZuLk4uaiQ8bi5QSi5pbmRleC5aTygpfTsKR1FiPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTjtXJiZXLmokPT09LTEmJihuPW4uVy5XeCgpKSYmeE4obi5pbmZvKSYmKG49bi5pbmZvLmokLFcuWT0idXBkYXRlTGFzdFNsaWNlUmVxdWVzdGVkIixXLmokPW4pfTsKdGRqPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4uSixXPT5XLmZKKX07CiRYMT1mdW5jdGlvbihuLFcpe3ZhciBEPWlZKG4pO3JldHVybiBEJiZELmluZm8udHlwZSE9PTY/IVcuTyhuLEQuaW5mby5qJCk6ITF9OwpyeUM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5jSilpZihELnNlZ21lbnROdW1iZXI9PT1XKXJldHVybiBELnBWPzI6MTtyZXR1cm4gMH07Ck44Wj1mdW5jdGlvbih7aGFzU3ViZnJhZ21lbnRlZEZtcDQ6bj0hMSxJMjpXPSExfT17fSl7dmFyIEQ9bmV3IHNLaTtELnRJPW58fFc7cmV0dXJuIER9OwpkdT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OJiZuLkZlJiZuLnBsYXliYWNrU3RhcnRQb2xpY3l9OwpKa0M9ZnVuY3Rpb24obixXLEQ9ITEpe1cudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmIW4uV0gmJihuLmUkPTM2NzAwMTYwLG4udko9NTI0Mjg4MCxuLkhKPU1hdGgubWF4KDQxOTQzMDQsbi5ISiksbi5XSD0hMCk7Vy52aWRlby5xdWFsaXR5T3JkaW5hbD4yMTYwJiYhbi5iZSYmKG4uZSQ9MTA0ODU3NjAwLG4uTnM9MTMxMDcyMDAsbi5iZT0hMCk7Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSE9PTA/Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoInNhbXN1bmciKSYmKGcudWIoImthbnQiKXx8Zy51YigibXVzZSIpKSYmKG4uTnM9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSk6Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoImthbnQiKSYmKG4uTnM9MTMxMDcyMCk7bi55UCE9PTAmJlcuaXNFbmNyeXB0ZWQoKSYmKG4uTnM9bi55UCk7bi5KRyE9PQowJiZXLmlzRW5jcnlwdGVkKCkmJkQmJihuLk5zPW4uSkcpO1cuTnMmJihuLlFIPU1hdGgubWF4KG4uWm0sTWF0aC5taW4obi5ISiw1KlcuTnMpKSl9Owp6Wj1mdW5jdGlvbihuLFcsRD0wKXtyZXR1cm4gZy5kTShuLnlRLmV4cGVyaW1lbnRzLFcpfHxEfTsKbFM9ZnVuY3Rpb24obixXLEQsYil7bi5GZSYmKG4ucGxheWJhY2tTdGFydFBvbGljeT1XLG4uTTU9RCxuLkRDPWIpfTsKUjY9ZnVuY3Rpb24obixXKXtpZihXPDApcmV0dXJuITA7dmFyIEQ9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYhbi5zSnx8Vz09PUQmJihuPW4uT2coKSkmJlc9PT1uLmokPyEwOiExfTsKS2EyPWZ1bmN0aW9uKG4sVyxEKXtpZighUjYobixXKSlyZXR1cm4gMDtpZighbi50SXx8IWlzTmFOKEQpJiZEPjApcmV0dXJuIDI7aWYoVzwwKXJldHVybiAxO0Q9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYobj1uLk9nKCkpJiZXPT09bi5qJCYmIW4ucGVuZGluZz8yOjF9OwpwMGI9ZnVuY3Rpb24obixXLEQpe2lmKCEoVy5YZiYmbi5pc0NvbXBsZXRlKCkmJm4uY2FuUmV0cnkoKSYmbi5pbmZvLlhiLnBTKFcsRCkpKXJldHVybiAwO3ZhciBiPW4uaW5mby5YYi5qO2lmKGImJiFXLmVuYWJsZVNhYnJQcm9iZU9uU2VydmVySW5pdGlhdGVkSG9zdEZhbGxiYWNrKXJldHVybiAwO249VVkoRCxGNShuLmluZm8uWGIsITEsVykpO3JldHVybiBiJiYoRD0oMCxnLlIpKCktbi5YLG4uWD4wJiZEPFcuc2FiclN1Y2Nlc3NmdWxQcm9iZVRpbWVvdXRNcyk/MDpuLmorVy5YZipsTChuLCEwLGIpPigwLGcuUikoKT8wOjF9OwpqcT1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kuem0pcmV0dXJuITE7dmFyIGI9bi5KQzt2YXIgdj1XLk4/LlRDKCl8fC0xO2IuSj09PTMmJnYrMT49Yi5YPyhiLlUoInNkYWkiLHtoYWx0cnE6disxLGVzdDpiLlh9KSxiPSExKTpiPWIuSiE9PTI7aWYoIWJ8fCEoVy5OP1cuTi5QSi5YYjpXLlBKLlhiKS5ZKG4ucG9saWN5LG4ubm4sbi5sb2FkZXIuSXcpfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmKCFUWihuLnNjaGVkdWxlKXx8bi5sb2FkZXIuT00pKXJldHVybiExO2lmKG4ucG9saWN5LkomJnFzPj01KXJldHVybiBnLkphKG4ubG9hZGVyLmoyKSwhMTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzKXtpZihXLkoubGVuZ3RoPjAmJlcuTiYmVy5OLmokPT09LTF8fFcuSi5sZW5ndGg+PW4ucG9saWN5LndvfHwhbi5wb2xpY3kuWE0mJlcuSi5sZW5ndGg+MCYmIW4ucG9saWN5LlYudEkpcmV0dXJuITE7aWYoVy5qKXJldHVybiFuLkt1LmlzTGl2ZXx8IWlzTmFOKG4uWkEpfWlmKHRkaihXKSlyZXR1cm4hMTsKaWYoIVcuTil7aWYoIVcuUEouTigpKXJldHVybiExO1B1KFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSl9aWYoaVkoVykmJihXLld4KCkhPT1pWShXKXx8bi5sb2FkZXIuaXNTdXNwZW5kZWQpKXJldHVybiExO3Y9KGI9bi5wb2xpY3kuc1MpJiYhVy5KLmxlbmd0aCYmVy56cyghMCk8TWF0aC5taW4oYixELnpzKCkpO2I9Vy5KLmxlbmd0aCtELkoubGVuZ3RoO3ZhciBrPShXLkoubGVuZ3RoP1cuSlswXS5ReSgpOiExKXx8KEQuSi5sZW5ndGg/RC5KWzBdLlF5KCk6ITEpfHxuLkt1LmlzTGl2ZTsodnx8aykmJi0tYjtpZihiKzE+PW4ucG9saWN5LkN5KXJldHVybiExO2I9Vy5OO2lmKCFiKXJldHVybiEwO2IuY0ooKSYmYi5QSi5OKCkmJihXLk49Zy5VTShiLlBKLlZRKGIpKSxiPVcuTik7aWYoIWIuVigpJiYhYi5QSi5YKGIpKXJldHVybiExO2s9bi5LdS5YZ3x8bi5LdS5pc1dpbmRvd2VkTGl2ZTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzJiZrKXtrPVcuUEouaW5kZXgueCQoKTt2YXIgaD0KRC5QSi5pbmRleC54JCgpO2s9TWF0aC5taW4oayxoKTtpZihXLlBKLmluZGV4LlRYKCk+MCYmaz4wJiZiLmokPj1rKXJldHVybiBXLnR3PWssRC50dz1rLCExfWlmKGIuUEouaW5mby5hdWRpbyYmYi5jSigpfHxiLlYoKSlyZXR1cm4hMTtrPSFXLlBEJiYhRC5QRDtpZih2PSF2KXY9Yi5qLHY9ISEoRC5OJiYhWmQoRC5OKSYmRC5OLmo8dik7aD1XPT09bi52aWRlb1RyYWNrJiZuLnBvbGljeS5UQztyZXR1cm4gdiYmKCFuLkt1LmlzTWFuaWZlc3RsZXNzfHxELk4mJkQuTi5qJiZiLmopJiZrJiYhaHx8bi5wb2xpY3kuQlYmJiFXLlBEJiZELlBEPyExOnhOKGIpJiZiLmo+WXppKG4sVyk/KFl6aShuLFcpLCExKToobj1XLlFFKSYmbi5pc0xvY2tlZCgpPyExOiEwfTsKVm89ZnVuY3Rpb24obixXKXtIJGgobi5sb2FkZXIsVyk7dmFyIEQ9elAoVyksYj1uLmxvYWRlci5sdSgpO0Q9e2lqOm4uc2NoZWR1bGUsczQ6RCxCbDpmaXgobi5JZyxEKSxRbjpoSihXLkF3WzBdKSxkaXNhYmxlUmVjb3JkaW5nOmdaKDQwLDEyMTIsVy5YYi5OKSxORDpuLnBvbGljeS5XLEJlOih2LGspPT57bi5sb2FkZXIuS2EodixrKX19OwpuLnNjaGVkdWxlLkouViYmKEQucVk9KG4udmlkZW9UcmFjay5QSj8uaW5mby5Oc3x8MCkrKG4uYXVkaW9UcmFjay5QSj8uaW5mby5Oc3x8MCkpO24uaG4mJihELmokPVcuQXdbMF0uaiQsRC5aQT1XLlpBLEQuaG49bi5obik7Yj17Vzc6d0xVKFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSksZTE6bi5wb2xpY3kuc1YmJnlzKFcpJiZXLkF3WzBdLlBKLmluZm8udmlkZW8/RWpaKG4uY1YpOnZvaWQgMCxTTjpuLnBvbGljeS5UQyxwb1Rva2VuOm4ubG9hZGVyLk1ZKCksVWo6bi5sb2FkZXIuVTQoKSxKTzppc05hTihuLkpPKT9udWxsOm4uSk8sYUk6bi5hSSxQbjpuLlBuLHEkOmJ9O3JldHVybiBuZXcgQUIobi5wb2xpY3ksVyxELG4ubm4sKHYsayk9Pnt0cnl7YTp7bGV0IE1pPXYuaW5mby5Bd1swXS5QSixNVT1NaS5pbmZvLnZpZGVvP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2s7aWYoISh2LnN0YXRlPj0yKXx8di5pc0NvbXBsZXRlKCl8fHYuQWcoKXx8ISghbi5sb2FkZXIubWVkaWFTb3VyY2V8fApuLmxvYWRlci5pc1N1c3BlbmRlZHx8TVUuenMoKT4zKSl7e3ZhciBoPW4ucG9saWN5LHg9bi5ubjtsZXQgSUM9di5BZygpO2lmKHYuaXNDb21wbGV0ZSgpfHwhSUN8fHYuaW5mby5YYi5wUyhoLHgpKXZhciBMPTA7ZWxzZXt2YXIgZT1oLnpmO2lmKCFlfHxJQzxlKUw9MDtlbHNle3ZhciBHPVVZKHgsRjUodi5pbmZvLlhiLCEwLGgpKTtMPUcuTnx8Ry50aW1lZE91dHx8Ry5zdGFydGVkPzA6Mn19fUw9PT0xJiYobi5WPSEwKTtmckMobix2LEwpO2lmKHYuaXNDb21wbGV0ZSgpfHx2LnFOKCkmJms8Myl7aWYobi5wb2xpY3kuVyl7bGV0IElDPXYudGltaW5nLkQoKTtJQy5yc3Q9di5zdGF0ZTtJQy5zdHJtPXYueGhyLkdwKCk7SUMuY25jbD12LnhociYmdi50NS5YPzE6MDtuLmxvYWRlci5VKCJycXMiLElDKX12Lm9QJiZuLmxvYWRlci5VKCJzYndlMyIse30sITApfWlmKCFuLnFOKCkmJnYuc3RhdGU+PTIpe1hTaChuLnRpbWluZyx2LE1pKTt2YXIgcj1uLmxvYWRlcjtuLkpPJiZ2Lnp3JiYKciYmKG4uSk89TmFOLG4ubG9hZGVyLm45KHYuencpLG4ubG9hZGVyLk1qKCksbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWsiLHttZWRpYVRpbWVTZWNvbmRzOnYuend9KSk7di50ViYmbi5KTyYmdi50ViYmIXYudFYuYWN0aW9uJiYobi5sb2FkZXIud1Iobi5KTyksbi5KTz1OYU4sbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWtGYWxsYmFjayIse3RhcmdldFV0Y1RpbWVTZWNvbmRzOm4uSk99KSk7di5BaCYmbi5sb2FkZXIuc1codi5BaCk7bi5wb2xpY3kuTmQmJihuLlBuPXYuUG4pO2lmKHYuc3RhdGU9PT0zKXtFNChNVSx2KTt5cyh2LmluZm8pJiZDcihuLE1VLE1pLCEwKTtpZihuLnNVKXtsZXQgSUM9di5pbmZvLllsKCk7SUMmJm4uc1UuWjUodi5pbmZvLkF3WzBdLmokLE1pLmluZm8uaWQsSUMpfW4ubG9hZGVyLkJZKCl9ZWxzZSBpZih2LmlzQ29tcGxldGUoKSYmdi5pbmZvLkF3WzBdLnR5cGU9PT01KXtpZih2LnN0YXRlIT09NCl2LnRuKCkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKHYuVkcoKSwKdi55MCgpKTtlbHNle3ZhciBOPSh2LmluZm8uQXdbMF0uUEouaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5KWzBdfHxudWxsO04mJk4gaW5zdGFuY2VvZiBBQiYmTi5BZygpJiZOLk1CKCl9di5kaXNwb3NlKCl9ZWxzZXtpZighdi50bigpJiZ2LmZKJiZ2LnN0YXRlPj0yJiZ2LnN0YXRlIT09Myl7dmFyIEg9di54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIlgtUmVzcG9uc2UtSXRhZyIpO2lmKEgpe3ZhciBBPXlrcihuLmNWLEgpLHk9di5pbmZvLlc7aWYoeSl7dmFyIFQ9eS1BLkhKKCk7QS5jSj0hMDt2LmluZm8uQXdbMF0uUEouY0o9ITE7dmFyIHo9QS5ZKFQpO3YuaW5mbz16O2lmKHYuV28pe3ZhciBDPXYuV28sUT16LkF3OyhRLmxlbmd0aCE9PUMuQXcubGVuZ3RofHxRLmxlbmd0aDxDLmpTLmxlbmd0aCkmJmcuY18oImRhc2gvcmVxdWVzdCIsMjYwNTExMTE5LGAke1EubGVuZ3RofWAsYCR7Qy5Bdy5sZW5ndGh9YCxgJHtDLmpTLmxlbmd0aH1gKTtDLkF3PVE7bGV0IElDPQpRWzBdLnJhbmdlLElNPW5ldyBTNTtmb3Ioaz0wO2s8Qy5qUy5sZW5ndGg7aysrKWU1KElNLEMualNba10uSik7Zm9yKGs9MDtrPEMualMubGVuZ3RoO2srKyl7Qy5qU1trXS5pbmZvPVFba107bGV0IFlsPVFba10ucmFuZ2U7Qy5qU1trXS5KPWdkKElNLFlsLnN0YXJ0LUlDLnN0YXJ0LFlsLmxlbmd0aCl9fXYuZko9ITE7QjYobi5sb2FkZXIsbi52aWRlb1RyYWNrLEEpO3ZhciBWPW4udmlkZW9UcmFjaztWLk4mJihWLk4uUEo9QSk7bi5sb2FkZXIuWUooQS5pbmZvLnZpZGVvLnF1YWxpdHkpO3ZhciBMdD12Llh2KCk7THQmJkEuaW5mby5sYXN0TW9kaWZpZWQmJkEuaW5mby5sYXN0TW9kaWZpZWQhPT0rTHQmJkU0KG4udmlkZW9UcmFjayx2KX19ZWxzZSB2LmZKPSExfXYuWHQ/Lml0YWdEZW55bGlzdCYmbi5sb2FkZXIuV0Yodi5YdC5pdGFnRGVueWxpc3QpO2lmKHYuc3RhdGU9PT00KUYwKG4sdiksbi5KQyYmbi5KQy5TJCh2LmluZm8sbi5zVSk7ZWxzZSBpZihuLnBvbGljeS5lNCYmdi5RQSgpJiYKIXYuaXNDb21wbGV0ZSgpJiYhRjAobix2KSYmIXYudG4oKSlicmVhayBhO2lmKHYudG4oKSl7bGV0IElDPXYuaW5mby5Bd1swXS5QSixJTT12LlZHKCk7aWYoZ1ooMjQsMTE2NCxJQy5YYi5OKSl7bGV0IFR6PWcudXAodi5zOCgpLDMpO24ubG9hZGVyLlUoImRsZGJyZXJyIix7ZW06VHp8fCJub25lIn0pfWxldCBZbD12LmluZm8uQXdbMF0uaiQsajE9ekkobi5KQyx2LmluZm8uQXdbMF0uWCxZbCk7SU09PT0ibmV0LmJhZHN0YXR1cyImJihuLk4rPTEpO2lmKHYuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpKXtpZighKHYuaW5mby5YYi5KPj1uLnBvbGljeS5sTSYmbi5zVSYmdi5pbmZvLmlzRGVjb3JhdGVkKCkmJklNPT09Im5ldC5iYWRzdGF0dXMiJiZNMihuLnNVLGoxLFlsKSkpe3ZhciB0aT0oSUMuaW5mby52aWRlbyYmSUMuWGIuSj4xfHx2LmxOPT09NDEwfHx2LmxOPT09NTAwfHx2LmxOPT09NTAzKSYmISh3QyhuLmNWLmopLnNpemU+MCkmJiFnWig1NCwxMTg2LElDLlhiLk4pLEhaPQp2LnkwKCksWjE9SUMuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3RpJiYoSFouc3R1bj0iMSIpO24ubG9hZGVyLmhhbmRsZUVycm9yKElNLEhaKTtuLnFOKCl8fCh0aSYmYXEobi5jVixJQyksRTQoWjEsdiksbi5sb2FkZXIuQlkoKSl9fWVsc2UgQT0xLG4uc1UmJnYuaW5mby5pc0RlY29yYXRlZCgpJiZJTT09PSJuZXQuYmFkc3RhdHVzIiYmTTIobi5zVSxqMSxZbCkmJihBPTApLG4uS3UuaXNMaXZlJiZ2LlZHKCk9PT0ibmV0LmJhZHN0YXR1cyImJm4uTjw9bi5wb2xpY3kueGgqMj8oajQobi5LdSksbi5LdS5YZ3x8bi5LdS5pc1ByZW1pZXJlP2RWKG4ubG9hZGVyLDAse3FkOiJiYWRTdGF0dXNXb3JrYXJvdW5kIn0pOm4uS3UuaXNXaW5kb3dlZExpdmU/ZFYobi5sb2FkZXIsbi5LdS5KVSx7cWQ6ImJhZFN0YXR1c1dvcmthcm91bmQiLHFhOiEwfSk6UiQobi5sb2FkZXIpKTpuLmxvYWRlci5oYW5kbGVFcnJvcihJTSx2LnkwKCksQSk7aXNOYU4obi5KTyl8fChuLmxvYWRlci53UihuLkpPKSwKbi5KTz1OYU4pfW4ucG9saWN5LkhEJiYhdi5pc0NvbXBsZXRlKCk/UW8obi5sb2FkZXIpOm4ubG9hZGVyLkJZKCk7dmFyIFFqPXAwYih2LG4ucG9saWN5LG4ubm4pO2ZyQyhuLHYsUWopfX19fX1jYXRjaChNaSl7UWo9bi5qPzE6MCxuLmo9ITAsdj1qMihRaiksUWo9QiQoTWksUWopLG4ubG9hZGVyLmhhbmRsZUVycm9yKFFqLmVycm9yQ29kZSxRai5kZXRhaWxzLFFqLnNldmVyaXR5KSx2fHxuLmxvYWRlci56aSgpfX0sYil9OwpJcmI9ZnVuY3Rpb24obixXLEQpe2lmKGpxKG4sVyxEKSl7RD1uLkooVyxEKTtpZihuLnNVKXt2YXIgYj1ELkF3WzBdLlBKLmluZm8uaWQ7dmFyIHY9bi5KQzt2YXIgaz1ELkF3WzBdLmokO3Y9azwwJiYhaXNOYU4odi5qKT92Lmo6aztrPXpJKG4uSkMsRC5Bd1swXS5YLHYpO2xldCBMPVc9PT1uLmF1ZGlvVHJhY2s/MToyLGU9RC5Bd1swXS5QSi5pbmZvLklCLEc9Yi5zcGxpdCgiOyIpWzBdO2E6e3ZhciBoPW4uSkM7aWYoaC5OKXt2YXIgeD1oLk4uZmYuZXZlbnQ7aWYoaC5OLmokPT09dil7aD14PT09InByZWRpY3RTdGFydCI/dm9pZCAwOmguTi5mZi5ldmVudDticmVhayBhfWlmKGguTi5qJD09PXYtMSl7aD14PT09InN0YXJ0Inx8eD09PSJjb250aW51ZSI/eDp2b2lkIDA7YnJlYWsgYX19aD12b2lkIDB9aWYobi5wb2xpY3kuVlEmJm4uSkMuSiE9PTApYj1nLkp5aShuLnNVLGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYiYmKG4ubG9hZGVyLlUoInNkYWkiLAp7c3NkYWlpbmZvOiIxIixkczpiLk15Py5CZnx8IiIsc2tpcHNxOmIuTXk/LkRKfHwtMSxpdGFnOkcsZjplLHNnOnYsc3Q6ay50b0ZpeGVkKDMpfSksRC5YPWIpO2Vsc2UgaWYoYj1uLnNVLllsKGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYil7az17ZGVjX3NxOnYsaXRhZzpHLHN0OmsudG9GaXhlZCgzKX07aWYobi5wb2xpY3kubiQmJlcuaXNSZXF1ZXN0UGVuZGluZyh2LTEpKXtuLmxvYWRlci5VKCJzZGFpIix7d3RfZGFpc3RhdGVfb25fc2c6di0xfSk7cmV0dXJufW4ubG9hZGVyLlUoInNkYWkiLGspO2ImJihELk49bmV3IGcud1ooYikpO24ucG9saWN5LlcmJih2PUQuWGIuVy5nZXQoImlkIil8fCIiLGI9RC5OPy5nZXQoImlkIil8fCIiLHYhPT1iJiZuLmxvYWRlci5VKCJzdG1pZG1pc21hdGNoIix7Y2lkOnYsYWlkOmJ9KSl9ZWxzZSBuLkpDLkohPT01JiZuLmxvYWRlci5VKCJzZGFpIix7bm9kZWNfc3E6dixpdGFnOkcsc3Q6ay50b0ZpeGVkKDMpfSl9bi5wb2xpY3kuQ20mJgpELkF3WzBdLmokIT09LTEmJkQuQXdbMF0uaiQ8bi5LdS5JdCYmKEQ9Vy5QSi5qKG4uS3UuSXQsITEpKTtPNChXLFZvKG4sRCkpO2l1KG4udGltaW5nKTtuLlc/Lk4oRC5YYil9fTsKWXppPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5KQztEPUQuTj9ELk4uZmY6bnVsbDtpZihuLnBvbGljeS5UQyYmRClyZXR1cm4gRC5zdGFydFNlY3MrRC5DZisxNTtXPU9iKG4ubG9hZGVyLFcpO24ucG9saWN5LmpXPjAmJihEPSgoMCxnLlIpKCktbi5sb2FkZXIucUcpLzFFMyxXPU1hdGgubWluKFcsbi5wb2xpY3kualcrbi5wb2xpY3kuTEsqRCkpO1c9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKStXO3JldHVybiBuLnBvbGljeS56NCYmKEQ9U3pNKG4ubG9hZGVyKStuLnBvbGljeS56NCxEPFcpPyhuLmxvYWRlci5VKCJtcmwiLHtvcmk6Vyxtb2Q6RH0sITApLG4ucG9saWN5LmxXJiZjNihuLmxvYWRlciksRCk6V307CmZyQz1mdW5jdGlvbihuLFcsRCl7aWYoRCE9PTApe2E6aWYoVz1XLmluZm8sRD1EPT09MixXLk4pVz1udWxsO2Vsc2V7dmFyIGI9Vy5Bd1swXTtpZihXLnJhbmdlKXZhciB2PVdfKFcucmFuZ2Uuc3RhcnQsTWF0aC5taW4oNDA5NixXLlcpKTtlbHNle2lmKFcuSiYmVy5KLmluZGV4T2YoIi9yYW5nZS8iKT49MHx8Vy5YYi5XLmdldCgiZGVmcmFnIik9PT0iMSJ8fFcuWGIuVy5nZXQoIm90ZiIpPT09IjEiKXtXPW51bGw7YnJlYWsgYX12PVdfKDAsNDA5Nil9dj1uZXcgd2soW25ldyBxSSg1LGIuUEosdiwiY3JlYXRlUHJvYmVSZXF1ZXN0SW5mbyIrYi5ZLGIuaiQpXSxXLkopO3YucFM9RDt2Lk49Vy5OO1c9dn1XJiZWbyhuLFcpfX07CkNyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCEoRC5OKCl8fEQuUyQoKXx8RC5jSnx8IUQuWGIuWShuLnBvbGljeSxuLm5uLG4ubG9hZGVyLkl3KXx8RC5pbmZvLklCPT09ImYifHxuLnBvbGljeS5OKSl7aWYoYil7Yj1uLklnO3ZhciB2PUQuaW5mbztiPXJWKGIsdi52aWRlbz9iLnBvbGljeS5SazpiLnBvbGljeS5JTSx2Lk5zKX1lbHNlIGI9MDtiPUQuWShiKTtuPVZvKG4sYik7VXYoYikmJk80KFcsbik7RC5jSj0hMH19OwpGMD1mdW5jdGlvbihuLFcpe2lmKFcucU4oKSlyZXR1cm4hMTt0cnl7dmFyIEQ9Vy5pbmZvLkF3WzBdLlBKO2xldCBoPUQuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3ZhciBiPWg7aWYobi5LdS5pc01hbmlmZXN0bGVzcyYmYil7bi5OPTA7Yi5qJiYoVy5xTigpLFcuaXNDb21wbGV0ZSgpfHxXLlFBKCksYi5qPSExKTtXLkloKCkmJm4ubG9hZGVyLkxyLklJKDEsVy5JaCgpKTt2YXIgdj1XLlRYKCksaz1XLmgwKCk7QzYobi5LdSx2LGspfWlmKFcuaW5mby5RbigpJiYhVXYoVy5pbmZvKSlmb3IobGV0IEwgb2YgVy54OSgpKWgudksoTCk7Yj1oO2ZvcihuLmxvYWRlci5nZXRDdXJyZW50VGltZSgpO2IuSi5sZW5ndGgmJmIuSlswXS5zdGF0ZT09PTQ7KXtsZXQgTD1iLkouc2hpZnQoKTt4WEMoYixMKTtiLlZRPUwuekQoKX1iLkoubGVuZ3RoJiZ4WEMoYixiLkpbMF0pO2xldCB4PSEhaVkoaCk7eCYmVyBpbnN0YW5jZW9mIFNuJiYoRC5pbmZvLmVTKCk/Z2oxKG4udGltaW5nKToKZTdiKG4udGltaW5nKSk7cmV0dXJuIHh9Y2F0Y2goaCl7Vz1XLnkwKCk7Vy5vcmlnaW49ImhyaHMiO2E6e249bi5sb2FkZXI7RD1oO2lmKEQgaW5zdGFuY2VvZiBFcnJvcil7Vy5tc2d8fChXLm1zZz1gJHtELm1lc3NhZ2V9YCk7Vy5uYW1lfHwoVy5uYW1lPWAke0QubmFtZX1gKTtpZihEIGluc3RhbmNlb2YgZy5ReCYmRC5hcmdzKWZvcihsZXQgW3gsTF1vZiBPYmplY3QuZW50cmllcyhELmFyZ3MpKVdbYGFyZyR7eH1gXT1gJHtMfWA7Zy5HcShEKTtpZihELmxldmVsPT09IldBUk5JTkciKXtuLkwuR20oVyk7YnJlYWsgYX19bi5oYW5kbGVFcnJvcigiZm10LnVucGxheWFibGUiLFcsMSl9cmV0dXJuITF9fTsKbVhiPWZ1bmN0aW9uKG4pe3ZhciBXPW4udmlkZW9UcmFjay5QSi5pbmRleDtuLmhuPW5ldyBBeVooe3NKOm4ucG9saWN5LnNKLHRJOm4ucG9saWN5LlYudEksTzg6Vy5VYygpLHgkOigpPT5XLngkKCksCk9nOigpPT5XLk9nKCl9KX07CktqaT1mdW5jdGlvbihuKXtpZihuLko/LmlzTG9ja2VkKCkpcmV0dXJuIG4udmlkZW9JbmZvczt2YXIgVz13QyhuLk4pLEQ9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi5Ocz5uLm9aLk5zPyExOiFXLmhhcyhiLmlkKSk7Cm4uTi5sbCgpJiYoRD1nLkVNKEQsYj0+Yi52aWRlby53aWR0aDw9ODU0JiZiLnZpZGVvLmhlaWdodDw9NDgwKSk7CnJldHVybiBEfTsKTyRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpRC5wdXNoKGcuVmYoYixuLkt1LnpXKSk7cmV0dXJuIER9OwpaJGk9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj8ucmVhc29uPT09Im0iPyJtIjpuLko/LnJlYXNvbj09PSJzIj8icyI6bi5KJiZQYlUobixuLkopP24uSi5yZWFzb246ImEifTsKUGJVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ub1ouSHcmJlcucmVhc29uPT09ImwifHxuLm9aLnFqPyExOm4ub1ouWWo/ITA6Vy5yZWFzb249PT0ibCJ8fFcucmVhc29uPT09ImIifHxXLnJlYXNvbj09PSJvIn07ClVYWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTi5OO2lmKEQpe24udmlkZW9JbmZvcz1uLlY7dmFyIGI9Zy5sXyhuLnZpZGVvSW5mb3Msdj0+di5pZD09PUQpOwpiJiZiLnZpZGVvLnF1YWxpdHlPcmRpbmFsPT09Vz9uLnZpZGVvSW5mb3M9W2JdOihiPW4udmlkZW9JbmZvcy5tYXAodj0+di5pZCksbi5sb2FkZXIuVSgic2FicnBmIix7cGZpZDpgJHtEfWAsCnZmaWRzOmAke2Iuam9pbigiLiIpfWB9KSxhJChuLFcsVyksbi5OLkRlKCIiKSl9ZWxzZSBhJChuLFcsVyl9OwphJD1mdW5jdGlvbihuLFcsRCl7bi52aWRlb0luZm9zPW4uVjtuLnZpZGVvSW5mb3M9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi52aWRlby5xdWFsaXR5T3JkaW5hbD49VyYmYi52aWRlby5xdWFsaXR5T3JkaW5hbDw9RCl9Owp5eXg9ZnVuY3Rpb24obixXKXtpZihuLlkpe3ZhciBEPWcuRU0obi5XLGI9PmIuaWQ9PT1uLlkpOwpyZXR1cm4gbkQobixEKS5pbmNsdWRlcyhXKX1EPWcuRU0obi5XLGI9PiEhYi5rWj8uaXNEZWZhdWx0KTsKcmV0dXJuIEQubGVuZ3RoPjA/bkQobixEKS5pbmNsdWRlcyhXKTpuRChuLG4uVykuaW5jbHVkZXMoVyl9OwpuRD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uS3Uuelc7cmV0dXJuIFcubWFwKGI9Pk1rKGcuVmYoYixEKSkpfTsKV2w9ZnVuY3Rpb24obixXLEQ9ITEpe0hlVShuLk4sVyxEKX07CmkkUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLkt1LGs9bi5MLmdldFZpZGVvRGF0YSgpLGg9bi5Fdix4PWpGTSh7aWo6bi5paix5UTprLkcoKSxMOm4uTCxuUjpuLm5SLG9aOm4ub1oscHo6bi5weixrRTpuLmtFLFVtOm4uVW0sRzc6bi5HNyxKJDpuLkokLFNmOm4uU2Ysc2FickxpY2Vuc2VDb25zdHJhaW50Omsuc2FickxpY2Vuc2VDb25zdHJhaW50LGo0Om4uajQscjA6bi5yMCxZczpuLllzLGVxOm4uZXEsb0c6ISFoLGF1dGhvcml6ZWRGb3JtYXRzOmsuYXV0aG9yaXplZEZvcm1hdHMsSTg6bi5JOCxsbDpuLmxsLEN4Om4uQ3gsZ0Q6bi5nRH0pLEw9U1YoayxuLnEkLG4ubmV4dFJlcXVlc3RQb2xpY3ksbi5SQSxuLmROLG4uYkosbi5yOCk7RCYmVyYmKEQ9TC5ycT9MLnJxLm1hcChyPT5yLnR5cGUpOltdLFcoInNhYnIiLHtzdG1jdHh0OkQuam9pbigiXyIpLAp1bnNudGN0eHQ6TC51dD9MLnV0LmpvaW4oIl8iKToiIn0pKTtXPW4uR2g7RD1uLk0kO0Q9PT12b2lkIDAmJlc9PT12b2lkIDAmJihEPUVUaih2LnpXLG4uZGs/LnZpZGVvKSxXPUVUaih2LnpXLG4uZGs/LmF1ZGlvKSk7aWYoay5hSSl2YXIgZT1rLmFJO3ZhciBHOyhrPW4ub1o/LlNhKSYmaz4wJiYobi5DeHx8bi5IZSkmJihHPW5ldyBVaW50OEFycmF5KGspKTtoPXtDbjp4LEJpOm4uQmksR2g6VyxNJDpELEV2OmgsdmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZzplLG1IOkwsZFM6R307YiYmbi5iSz9uLmJLLmxlbmd0aD4wJiYoaC5iSz1uLmJLKTpuLk15JiYoaC5NeT1uLk15KTtuLm9aPy5EdCgpJiYhVlQoKSYmKG4udU0mJihoLnVNPW4udU0pLG4uckcmJihoLnJHPW4uckcpKTtoLmVXPW4uZVc7aC5jRT12LkdDO3JldHVybiBofTsKRVRqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/W2cuVmYoVy5pbmZvLG4pXTpbXX07Cm9Uaj1mdW5jdGlvbihuLFcsRCl7Vz1CdyhuLlhiLHVuVShuLFcsRCksVyk7bi5ENSgpJiZXLnNldCgicHJvYmUiLCIxIik7bi5raCgpJiZXLnNldCgic2Jwcm9iZSIsIjEiKTtyZXR1cm4gV307CkRrPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9W10sYj1bXTtpZighbi5kYXRhKXJldHVybiBXO2Zvcih2YXIgdj0wO3Y8bi5kYXRhLmVXLmxlbmd0aDt2Kyspe3ZhciBrPW4uZGF0YS5lV1t2XTtELnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9Zm9yKHY9MDt2PG4uZGF0YS5CaS5sZW5ndGg7disrKWs9bi5kYXRhLkJpW3ZdLGIucHVzaChgaS4ke2suZm9ybWF0SWQ/Lml0YWd9X3NuLiR7ay5zZXF1ZW5jZU51bWJlcn1fc2wuJHtrLnZEfHxOYU59X2xiLiR7ay5TMH1fdHIuc18ke2suaHg/LnN0YXJ0VGlja3N9X2RfJHtrLmh4Py5sOH1fdF8ke2suaHg/LnRpbWVzY2FsZX1fZWRfJHtrLnUzfWApO1cucHRpbWU9bi5OPy5Dbj8ublJ8fDA7Vy5ydHlwZT1uLnJlcXVlc3RUeXBlO1cuYnJsPUQuam9pbigiOyIpO1cucHM9Yi5qb2luKCI7Iik7CnJldHVybiBXfTsKdW5VPWZ1bmN0aW9uKG4sVyxEKXtuLnBTPT09dm9pZCAwJiYobi5wUz1uLlhiLnBTKFcsRCkpO3JldHVybiBuLnBTfTsKdmw9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5OPy5lbmNyeXB0KFcsRCk7cmV0dXJuIGI/YjoobmV3IGIxKG4uTi5KKSkuZW5jcnlwdChXLEQpfTsKelpqPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt7dmFyIGI9bi5OO2xldCB2PXRFKCk7Yj12P25ldyBkWE0oYi5KLHYpOnZvaWQgMH1pZihiKXRyeXtyZXR1cm4gYXdhaXQgYi5lbmNyeXB0KFcsRCl9Y2F0Y2godil7fXJldHVybiB2bChuLFcsRCl9OwpscjI9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OP3paaihuLFcsbi5pdik6b24obi5OKS5lbmNyeXB0KFcsbi5pdil9OwpUOGg9ZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OPy5KKFcsbi5pdil9OwpDYnQ9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7dmFyIEQ9bi5OO0Quanx8KEQuaj1uZXcgaksxKEQuVykpO3JldHVybiBMNFooRC5qLFcsbi5pdil9OwpCOGk9YXN5bmMgZnVuY3Rpb24obixXLEQpeygwLGcuUikoKTtyZXR1cm4gbi5OLk4/elpqKG4sVyxEKTpvbihuLk4pLmRlY3J5cHQoVyxEKX07CncwYj1mdW5jdGlvbihuLFcpe3ZhciBEPVc/LnByaW1hcnk7a3cobiwwLEQpO0Q9RD9GamooRCk6dm9pZCAwO2t3KG4sMixEKTtrdyhuLDEsVz8uc2Vjb25kYXJ5KX07CmhnPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gbmV3IGcud1ooYCR7RD8iaHR0cCI6Imh0dHBzIn06Ly8ke1d9JHtuLkIuUFguYmFzZVVybH1gKX07Cmt3PWZ1bmN0aW9uKG4sVyxEKXtEPyhEPUQgaW5zdGFuY2VvZiBnLndaP0Q6aGcobixEKSxuLk4uZ2V0KFcpPy5OKCkhPT1SMCg5OCwzNTcwLEQpJiZuLk4uc2V0KFcsbmV3IE1kaihELFcpKSk6bi5OLmRlbGV0ZShXKX07CkZqaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC8oXGQrKS0tLS9nLChXLEQpPT57Vz1OdW1iZXIoRCk7cmV0dXJuYCR7Vz09PTE/MjpXLTF9LS0tYH0pfTsKUlpoPWZ1bmN0aW9uKG4sVz0hMSxEKXt2YXIgYj1nLlloKG4uQi5leHBlcmltZW50cywiZGVidWdfYmFuZGFpZF9ob3N0bmFtZSIpO3JldHVybiBiPyhXPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJkZWJ1Z19iYW5kYWlkX3BvcnQiKSxiPVc+MD9gJHtifToke1d9YDpiLFc9bi5CLmV4cGVyaW1lbnRzLkVxKCJkZWJ1Z19iYW5kYWlkX2luc2VjdXJlX3NjaGVtZSIpLGhnKG4sYixXKSk6VyYmRD8udXJsJiYhbi5KPyhiPVIwKDY3LDM1MzksbmV3IGcud1ooRC51cmwpKSxoZyhuLGIpKTpuLk4uZ2V0KDApPy5sb2NhdGlvbi5jbG9uZSgpfTsKTEQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1oZyhuLCJyZWRpcmVjdG9yLmdvb2dsZXZpZGVvLmNvbSIpO0Quc2V0KCJhbHIiLCJ5ZXMiKTtELnNldCgiaWQiLGAke01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTUpfWApO2lmKFc9PT0xfHxXPT09MilELnNldCgiY21vPXNlbnNpdGl2ZV9jb250ZW50IiwieWVzIiksRC5zZXQoInNjIiwieWVzIik7Vz09PTImJkQuc2V0KCJjbW89dGQiLCJjLnlvdXR1YmUuY29tIik7dmFyIGI9YXdhaXQgZy5yOChELldEKCkse2Zvcm1hdDoiUkFXIix0aW1lb3V0OjVFM30pO2lmKGIueGhyLnN0YXR1cyE9PTIwMHx8IWIueGhyLnJlc3BvbnNlVGV4dClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfbm9faG9zdCIsRC5XRCgpLGIueGhyLnN0YXR1cykpO3ZhciB2PW5ldyBnLndaKGIueGhyLnJlc3BvbnNlVGV4dCk7RD1SMCgzNCwzNTA2LHYpO2I9di5nZXQoIm1zIik7bj1oZyhuLEQpO3Y9di5nZXQoIm1tIik7bi5zZXQoIm1zIiwKYik7bi5zZXQoIm1tIix2KTtyZXR1cm4gRCYmUUt4KEQpP1chPT0yfHx4dyhEKT9uOlByb21pc2UucmVqZWN0KG5ldyBnLlF4KCJiMjA0MjU4MzcxX3VudHJ1c3RlZCIsRCxiKSk6UHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfaW52YWxpZCIsRCxiKSl9Owp2YXIgSFd0PWZ1bmN0aW9uKG4pe3JldHVybiBSMFtJWzEwXV0odGhpcyw0MSw1ODQ5LG4pfTsKVmR0PWZ1bmN0aW9uKG4sVyl7bj1gaHR0cHM6Ly8ke1cuTigpfS9pbml0cGxheWJhY2s/Yz0ke2xvKG4uQil9Jm93Yz0xYDtxVyhuLCJwdyIsRD0+e0QuaHQ9Vy5KfSl9OwplUj1mdW5jdGlvbihuLFcsRCxiKXtxVyhgaHR0cHM6Ly8ke1d9L3ZpZGVvcGxheWJhY2s/cHJvYmU9MWAsRCx2PT57IWIuUygiaHRtbDVfb25lc2llX2hvc3RfcmFjaW5nIil8fGIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHxiLlMoImh0bWw1X29uZXNpZV9wcm9iZV9lY19ob3N0cyIpfHxiLldSfHxjeVooYik7bi5XLnB1c2godil9LHY9PntuLlcucHVzaCh2LmRldGFpbHMpfSl9OwpRS3g9ZnVuY3Rpb24obil7cmV0dXJuLy4qKFwuY1wueW91dHViZVwuY29tfC4qXC5nb29nbGV2aWRlb1wuY29tKS8udGVzdChuKX07Cnh3PWZ1bmN0aW9uKG4pe3ZhciBXPS9zbi1bXi5dKi0vO3JldHVybi8uKlwuY1wueW91dHViZVwuY29tLy50ZXN0KG4pJiYhVy50ZXN0KG4pfTsKZ2o9ZnVuY3Rpb24obil7Zm9yKDtuLk4ubGVuZ3RoJiYhbi5OWzBdLmlzRW5jcnlwdGVkOyl7bGV0IHt2aWRlb0lkOkQsYXU6Yixmb3JtYXRJZDp2LGJ1ZmZlcjprLGlFOmh9PW4uTi5zaGlmdCgpO2lmKGspbi5OSS5ZYS5uQT8uZ2V0KEQpPy5OKGIsdixrKTtlbHNlIGlmKGgpbi5OSS5ZYS5ZaChELGIsdik7ZWxzZXt2YXIgVz1uLk5JO1cuTlt2XS5TdT0hMDtXPVcuWWEubkE/LmdldChEKTtXPy5nRih2KSYmVz8uSih2KX19fTsKZy5EMHI9ZnVuY3Rpb24obil7Zm9yKDshbi5YJiYhbi5lcnJvcjspe3ZhciBXPW47Vy5YPSEhWEIoVywxKTtzd2l0Y2goWEIoVywyKSl7Y2FzZSAyOnZhciBEPXZvaWQgMCxiPVtdLHY9W107di5sZW5ndGg9MTk7di5maWxsKDApO3ZhciBrPVhCKFcsNSkrMjU3O0Q9WEIoVyw1KSsxO3ZhciBoPVhCKFcsNCkrNDtmb3IodmFyIHg9MDt4PGg7eCsrKXZbYXJ4W3hdXT1YQihXLDMpO3Y9cVAodik7Zm9yKGg9aytEO2IubGVuZ3RoPGg7KXt4PW5SdChXLHYpO2xldCBMO3N3aXRjaCh4KXtjYXNlIDE2Ong9YltiLmxlbmd0aC0xXTtMPVhCKFcsMikrMzticmVhaztjYXNlIDE3Ong9MDtMPVhCKFcsMykrMzticmVhaztjYXNlIDE4Ong9MDtMPVhCKFcsNykrMTE7YnJlYWs7ZGVmYXVsdDpMPTF9Zm9yKDtMPjA7TC0tKWIucHVzaCh4KX1iLmxlbmd0aCE9PWg/Vy5lcnJvcj0hMDooRD1iLnNsaWNlKC1EKSxiLmxlbmd0aD1rLFdZaChXLGIsRCkpO2JyZWFrO2Nhc2UgMTpXWWgoVyxHYyx0Zyk7YnJlYWs7CmNhc2UgMDokdyhXLFcuTiY3KTtiPVhCKFcsMTYpO2s9WEIoVywxNik7KGJeaykhPT02NTUzNSYmKFcuZXJyb3I9ITApO2s9Vy5kYXRhLnN1YmFycmF5KFcuSixXLkorYik7Vy5vdXRwdXQuc2V0KGssVy5XKTtXLkorPWI7Vy5XKz1iO2JyZWFrO2RlZmF1bHQ6Vy5lcnJvcj0hMH1uLlc+bi5vdXRwdXQubGVuZ3RoJiYobi5vdXRwdXQ9bmV3IFVpbnQ4QXJyYXkobi5XKjIpLG4uVz0wLG4uSj0wLG4uWD0hMSxuLk49MCxuLnJlZ2lzdGVyPTApfW4ub3V0cHV0Lmxlbmd0aCE9PW4uVyYmKG4ub3V0cHV0PW4ub3V0cHV0LnN1YmFycmF5KDAsbi5XKSk7cmV0dXJuIG4uZXJyb3I/bmV3IFVpbnQ4QXJyYXkoMCk6bi5vdXRwdXR9OwpYQj1mdW5jdGlvbihuLFcpe2Zvcig7bi5OPFc7KXtpZihuLko+PW4uZGF0YS5sZW5ndGgpcmV0dXJuIG4uZXJyb3I9ITAsMDtuLnJlZ2lzdGVyfD1uLmRhdGFbbi5KKytdPDxuLk47bi5OKz04fXZhciBEPW4ucmVnaXN0ZXImKDE8PFcpLTE7bi5yZWdpc3Rlcj4+PVc7bi5OLT1XO3JldHVybiBEfTsKV1loPWZ1bmN0aW9uKG4sVyxEKXtXPXFQKFcpO0Q9cVAoRCk7Zm9yKHZhciBiPW4uZGF0YSx2PW4ub3V0cHV0LGs9bi5XLGg9bi5yZWdpc3Rlcix4PW4uTixMPW4uSjs7KXtpZih4PDE1KXtpZihMPmIubGVuZ3RoKzEpe24uZXJyb3I9ITA7YnJlYWt9aHw9KGJbTCsxXTw8OCkrYltMXTw8eDtMKz0yO3grPTE2fXZhciBlPVdbaCYxMjddO2lmKGU8MClmb3IoaD4+PTc7ZTwwOyllPVdbKGgmMSktZV0saD4+PTE7ZWxzZSBoPj49ZSYxNTt4LT1lJjE1O2U+Pj00O2lmKGU8MjU2KXZbaysrXT1lO2Vsc2UgaWYobi5yZWdpc3Rlcj1oLG4uTj14LG4uSj1MLGU+MjU2KXtoPXJqW2VdO2grPVhCKG4sc3FbZV0pO0w9blJ0KG4sRCk7eD1OUFtMXTt4Kz1YQihuLHBEW0xdKTtpZihieVomJmg8eCl4PWsteCx2LmNvcHlXaXRoaW4oayx4LHgraCk7ZWxzZSBmb3IoTD1rK2gsZT1rO2U8TDtlKz00KXZbZV09dltlLXhdLHZbZSsxXT12W2UteCsxXSx2W2UrMl09dltlLXgrMl0sdltlKzNdPXZbZS14KzNdOwprKz1oO2g9bi5yZWdpc3Rlcjt4PW4uTjtMPW4uSn1lbHNlIGJyZWFrfW4uVz1rfTsKblJ0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPDcpe3ZhciBEPW4uZGF0YTtsZXQgYj1uLko7Yj5ELmxlbmd0aCYmKG4uZXJyb3I9ITApO24ucmVnaXN0ZXJ8PShEW2IrMV08PDgpK0RbYl08PG4uTjtuLkorPTI7bi5OKz0xNn1EPVdbbi5yZWdpc3RlciYxMjddO2lmKEQ+PTApcmV0dXJuICR3KG4sRCYxNSksRD4+NDtmb3IoJHcobiw3KTtEPDA7KUQ9V1tYQihuLDEpLURdO3JldHVybiBEPj40fTsKJHc9ZnVuY3Rpb24obixXKXtuLk4tPVc7bi5yZWdpc3Rlcj4+PVd9OwpxUD1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IodmFyIEQgb2YgbilXW0RdfHwoV1tEXT0wKSxXW0RdKys7dmFyIGI9V1swXT0wO0Q9W107dmFyIHY9MCxrPTA7Zm9yKHZhciBoPTE7aDxXLmxlbmd0aDtoKyspV1toXT9rPWg6V1toXT0wLGI9YitXW2gtMV08PDEsRFtoXT1iLGg+NyYmKHYrPVdbaF0pO2ZvcihiPTE7Yjx2OyliPDw9MTtXPTEyODtrPW5ldyBJbnQxNkFycmF5KDEyOCsoYitrKSoyKTtmb3Iodj0wO3Y8bi5sZW5ndGg7disrKXtoPW5bdl07aWYoIWgpY29udGludWU7dmFyIHg9RFtoXSsrO2I9MDtmb3IodmFyIEw9MDtMPGg7TCsrKWI9Yjw8MXx4Pj5MJjE7eD12PDw0fGg7aWYoaDw9Nylmb3IoTD0xPDw3LWg7TC0tOylrW0w8PGh8Yl09eDtlbHNle0w9YiYxMjc7aC09Nztmb3IoYj4+PTc7aC0tOyl7a1tMXXx8KGtbTF09LVcsVys9Mik7bGV0IGU9YiYxO2I+Pj0xO0w9ZS1rW0xdfWtbTF09eH19cmV0dXJuIGt9OwpZdz1mdW5jdGlvbihuLFcpe24uVyhgZGNtcHJzXyR7bi5jb250ZXh0fV8ke24uTn1fZ3pfJHtXfWApfTsKdlJ3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE9vKG4sZnVuY3Rpb24oKXt2YXIgRD10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1EYXRlLm5vdygpO3RyeXtZdyhELCJzIik7dmFyIHY9eWllbGQqUFAoVygpKTtpZighdil0aHJvdyBFcnJvcigibm8gcmVzdWx0Iik7WXcoRCwiZSIpO3JldHVybiB2fWNhdGNoKGgpe1l3KEQsImYiKTt2YXIgaz1oO0QuSihrLCJneiIpO3Rocm93IGg7fWZpbmFsbHl7dj1EYXRlLm5vdygpLEQuYmooImd6Iix2LWIsayl9fSgpfSl9OwplU2o9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgdj0oayxoKT0+dlJ3KG5ldyBrMWkoayxELGIpLCgpPT5IUChoKG4pKSk7CmlmKEhsKXRyeXtyZXR1cm4geWllbGQqUFAodigibiIsaFMxKSl9Y2F0Y2goayl7fWlmKFcpdHJ5e3JldHVybiB5aWVsZCpQUCh2KFcuaXNBc21qcz8iYSI6InciLGs9PngwQyhrLFcpKSl9Y2F0Y2goayl7fXJldHVybiB5aWVsZCpQUCh2KCJwIixMWTIpKX0oKX0pfTsKaFMxPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFIbCl0aHJvdyBFcnJvcigiRGVjb21wcmVzc2lvblN0cmVhbSBpcyBub3Qgc3VwcG9ydGVkIik7dmFyIFc9WksudFgoKSxEPW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYj1ELndyaXRhYmxlLmdldFdyaXRlcigpO2Iud3JpdGUobik7Yi5jbG9zZSgpO249RC5yZWFkYWJsZS5nZXRSZWFkZXIoKTtmb3IoRD1uZXcgUzUoW10pOzspe2xldCB7dmFsdWU6dixkb25lOmt9PWF3YWl0IG4ucmVhZCgpO2lmKGspYnJlYWs7RC5hcHBlbmQodil9bj10UihEKTtaSy5lVSgiZ3puYiIsVyxNYXRoLmNlaWwobi5ieXRlTGVuZ3RoLzE2KSk7cmV0dXJuIG59OwpMWTI9ZnVuY3Rpb24obil7dmFyIFc9WksudFgoKTtuPWcuRDByKG5ldyBnLmdSYihuKSk7WksuZVUoImd6amIiLFcsTWF0aC5jZWlsKG4uYnl0ZUxlbmd0aC8xNikpO3JldHVybiBufTsKeDBDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9WksudFgoKTtuPVcubWVtb3J5LmNvcHlJbihuKTt0cnl7bGV0IHY9bi5ieXRlT2Zmc2V0LGs9bi5ieXRlTGVuZ3RoLGg9Vy5leHBvcnRzLmdldEluZmxhdGVkU2l6ZSh2LGspO2lmKGg9PT0wKXRocm93IEVycm9yKCJ3YXNtX2d6OiBiYWQgaW5wdXQiKTtsZXQgeD1XLm1lbW9yeS5tYWxsb2MoaCksTD1XLmV4cG9ydHMuaW5mbGF0ZUd6aXAodixrLHgpO2lmKEwpdGhyb3cgVy5tZW1vcnkuZnJlZSh4KSxFcnJvcihgd2FzbV9nejogZmFpbCR7TH1gKTt2YXIgYj1XLm1lbW9yeS5idWZmZXIoeCxoKX1maW5hbGx5e1cubWVtb3J5LmZyZWUobi5ieXRlT2Zmc2V0KX1XPVcubWVtb3J5Lm1vdmVPdXQoYik7WksuZVUoImd6d2IiLEQsTWF0aC5jZWlsKFcuYnl0ZUxlbmd0aC8xNikpO3JldHVybiBXfTsKZkQ9ZnVuY3Rpb24obil7dmFyIFc9bi5xdWV1ZTtXLk4ubGVuZ3RoJiZXLk5bMF0uaXNFbmNyeXB0ZWQmJiFXLkomJihXLk4ubGVuZ3RoPTApO2ZvcihsZXQgRCBvZiBPYmplY3Qua2V5cyhuLk4pKXtsZXQgYj1uLk5bRF07Yi5TdXx8KFc9bi5xdWV1ZSxXLk4ucHVzaCh7dmlkZW9JZDpiLnZpZGVvSWQsZm9ybWF0SWQ6RCxpc0VuY3J5cHRlZDohMX0pLFcuSnx8Z2ooVykpfX07ClhCdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcudG90YWxMZW5ndGgsYj0hMTtzd2l0Y2gobi5XKXtjYXNlIDA6bi5qcChXLG4uWCkudGhlbih2PT57dmFyIGs9bi5ZYTtrLkRrKCJvcHJyIik7ay5wbGF5ZXJSZXNwb25zZT12O2suVUl8fChrLkIyPSExKTtKZyhrKX0sdj0+e24uWWEuZmFpbCh2KX0pOwpicmVhaztjYXNlIDI6bi5Eaygib3JtayIpO1c9dFIoVyk7bi5xdWV1ZS5kZWNyeXB0KFcpO2JyZWFrO2RlZmF1bHQ6Yj0hMH1uLllhLnhHJiZuLllhLlUoIm9tYnVwIixgaWQuMTE7cHQuJHtuLld9O2xlbi4ke0R9JHtiPyI7aWdub3JlZC4xIjoiIn1gKTtuLlc9bnVsbH07CnFQaT1mdW5jdGlvbihuLFcpe24uWWEuRGsoIm9wcmd6Ml9zIik7Vz1lU2ooVyxuLllhLkcoKS5qXygpLG4uWWEueEc/bi5ZYS5VLmJpbmQobi5ZYSk6KCk9Pnt9LEQ9PntuLllhLkRrKEQpfSk7ClNrKFcsKCk9PntuLllhLkRrKCJvcHJnejJfZSIpfSwoKT0+e24uWWEuRGsoIm9wcmd6Ml9mIil9KTsKcmV0dXJuIFd9OwpHMVM9YXN5bmMgZnVuY3Rpb24obixXKXtuLllhLkRrKCJvcHJnel9zIik7aWYoSGwpdHJ5e3ZhciBEPWF3YWl0IGhTMShXKTtuLllhLkRrKCJvcHJnel9uIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJuIn0pO3JldHVybiBEfWNhdGNoKGIpe24uWWEuVSgiZ3plcnIiLHtpbXBsOiJuYXRpdmUiLGVycjpgJHtifWB9KX1pZihEPW4uWWEuRygpLmpfKCkpdHJ5e2xldCBiPXgwQyhXLEQpO24uWWEuRGsoIm9wcmd6X3ciKTtuLllhLlUoIm9wcnNneiIse2k6IncifSk7cmV0dXJuIGJ9Y2F0Y2goYil7bi5ZYS5VKCJnemVyciIse2ltcGw6Indhc20iLGVycjpgJHtifWB9KX1XPUxZMihXKTtuLllhLkRrKCJvcHJnel9wIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJqIn0pO3JldHVybiBXfTsKdF9oPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57c2V0VGltZW91dChXLG4pfSl9OwokMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkcoKTtEPW4uWVomJkQuUygiaHRtbDVfb25lc2llX3ByZWxvYWRfdXNlX2NvbnRlbnRfb3duZXIiKTtpZigoVz1SWmgoVyxELG4uUWEpKSYmbi52aWRlb0lkKXtuPWcuZDEobi52aWRlb0lkKTtEPVtdO2lmKG4pZm9yKGIgb2YgbilELnB1c2goYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKTt2YXIgYj1ELmpvaW4oIiIpO1cuc2V0KCJpZCIsYik7cmV0dXJuIFd9fTsKck9oPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPTApe3ZhciBiPVtdO2IucHVzaChXLmxvYWQoKSk7RD4wJiZiLnB1c2godF9oKEQpKTthd2FpdCBQcm9taXNlLnJhY2UoYik7cmV0dXJuICQwYihuLFcpfTsKczlDPWZ1bmN0aW9uKG4sVyxELGI9ITEpe24uc2V0KCJjcG4iLFcuY2xpZW50UGxheWJhY2tOb25jZSk7bi5zZXQoIm9wciIsIjEiKTt2YXIgdj1XLkcoKTtuLnNldCgicG9yIiwiMSIpO3RFKCl8fG4uc2V0KCJvbmVtIiwiMSIpO1cuc3RhcnRTZWNvbmRzPjAmJm4uc2V0KCJvc3RzIixgJHtXLnN0YXJ0U2Vjb25kc31gKTtifHwodi5TKCJodG1sNV9vbmVzaWVfZGlzYWJsZV9wYXJ0aWFsX3NlZ21lbnRzIikmJm4uc2V0KCJvc2VzIiwiMSIpLFc9di5TKCJodG1sNV9nYXBsZXNzX29uZXNpZV9ub19tZWRpYV9ieXRlcyIpJiZBSihXKSYmVy5ZWixEJiYhVz8oVz1ELmF1ZGlvLG4uc2V0KCJwdmkiLEQudmlkZW8uam9pbigiLCIpKSxuLnNldCgicGFpIixXLmpvaW4oIiwiKSksTnN8fG4uc2V0KCJvc2giLCIxIikpOihuLnNldCgib2FkIiwiMCIpLG4uc2V0KCJvdmQiLCIwIiksbi5zZXQoIm9hYWQiLCIwIiksbi5zZXQoIm9hdmQiLCIwIikpKX07Ck5KaT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe3ZhciBrPWBodHRwczovL3lvdXR1YmVpLmdvb2dsZWFwaXMuY29tL3lvdXR1YmVpLyR7Vy5TVi5pbm5lcnR1YmVBcGlWZXJzaW9ufS9wbGF5ZXJgLGg9W3tuYW1lOiJDb250ZW50LVR5cGUiLHZhbHVlOiJhcHBsaWNhdGlvbi9qc29uIn1dO2ImJmgucHVzaCh7bmFtZToiQXV0aG9yaXphdGlvbiIsdmFsdWU6YEJlYXJlciAke2J9YH0pO2gucHVzaCh7bmFtZToiVXNlci1BZ2VudCIsdmFsdWU6Zy5YUSgpfSk7Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP2gucHVzaCh7bmFtZToiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIix2YWx1ZTpnLkFyKCJFT01fVklTSVRPUl9EQVRBIil9KTooRD1ELnZpc2l0b3JEYXRhfHxnLkFyKCJWSVNJVE9SX0RBVEEiKSkmJmgucHVzaCh7bmFtZToiWC1Hb29nLVZpc2l0b3ItSWQiLHZhbHVlOkR9KTsoRD1nLkFyKCJTRVJJQUxJWkVEX0xBVkFfREVWSUNFX0NPTlRFWFQiKSkmJmgucHVzaCh7bmFtZToiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiLAp2YWx1ZTpEfSk7KFc9Zy5ZaChXLmV4cGVyaW1lbnRzLCJkZWJ1Z19zaGVybG9nX3VzZXJuYW1lIikpJiZoLnB1c2goe25hbWU6IlgtWW91dHViZS1TaGVybG9nLVVzZXJuYW1lIix2YWx1ZTpXfSk7bj1JdyhKU09OLnN0cmluZ2lmeShuKSk7cmV0dXJue3VybDprLGUzOmgscG9zdEJvZHk6bixFYTp2LGU4OnZ9fTsKSWs9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPW4uWUMsRz1uLmRmO249bi5DVjt2YXIgcj1lIT09dm9pZCAwJiZHIT09dm9pZCAwLE49Yi5nZXRWaWRlb0RhdGEoKSxIPVcuTi5lbmNyeXB0ZWRDbGllbnRLZXk7Vz1yP1cuaXY6dm9pZCAwO3I9R0QoaywhMCk7dj12fHwhIXRFKCkmJnI+MTU3Mjg2NDtyZXR1cm57aW5uZXJ0dWJlUmVxdWVzdDp7d1M6bix2VTplLGRmOkcsZW5jcnlwdGVkQ2xpZW50S2V5OkgsaXY6VyxtdzohMCxGRDohMCxEWToiRGVjb21wcmVzc2lvblN0cmVhbSJpbiB3aW5kb3d8fCF2LHlKOiEwfSxDbjpqRk0oe2lqOmsseVE6RCxMOmIsblI6Ti5zdGFydFNlY29uZHMqMUUzLGhxOiEwfSksb25lc2llVXN0cmVhbWVyQ29uZmlnOmgsQng6eCxtSDpTVihOKSxyZWxvYWRQbGF5YmFja1BhcmFtczpOLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtcyxVazpMfX07CnBCeD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPWcubGgobixhZiksZTtpZighbi5lOClpZihlPVQ4aChXLEwpKXt2YXIgRz1lLkc0O2U9ZS5zaWduYXR1cmV9ZWxzZSBlPUc9Vy5lbmNyeXB0KEwpLCgwLGcuUikoKSxlPXBmKG5ldyBZJChXLk4uVyksZSxXLml2KTtyZXR1cm4gSWsoRyYmZT97WUM6RyxkZjplfTp7Q1Y6TH0sVyxELGIsISFuLmU4LHYsayxoLHgpfTsKWVBNPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dmFyIEw9Zy5saChuLGFmKTtMPWF3YWl0IGxyMihXLEwpO3ZhciBlPWF3YWl0IENidChXLEwpO3JldHVybiBJayh7WUM6TCxkZjplfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpIeVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4KXt2YXIgTD1nLmxoKG4sYWYpO2lmKEw9VDhoKFcsTCkpcmV0dXJuIElrKHtZQzpMLkc0LGRmOkwuc2lnbmF0dXJlfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpKT3c9YXN5bmMgZnVuY3Rpb24obixXLEQpe24uRGsoIm9wcmRfcyIpO1c9Zkl0KG4pP2F3YWl0IEI4aShuLnlxLFcsRCk6bi55cS5kZWNyeXB0KFcsRCk7bi5Eaygib3ByZF9jIik7cmV0dXJuIFd9OwpmSXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5TKCJodG1sNV9vbmVzaWVfc3luY19yZXF1ZXN0X2VuY3J5cHRpb24iKXx8Vz8uZTg/ITE6ISF0RSgpfTsKSUliPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X29uZXNpZV9ob3N0X3Byb2JpbmciKXx8bi54Rz9OczohMX07CkpnPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclJlc3BvbnNlKXJldHVybiExO2lmKG4uYmspcmV0dXJuITA7dmFyIFc9bi52aWRlb0RhdGEuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEobi52aWRlb0RhdGEpO2lmKG4ubkEmJm4uQjIpe2lmKCFuLm5BLmhhcyhuLkxjKSlyZXR1cm4hMTtsZXQgYj1uLm5BLmdldChuLkxjKTt2YXIgRDtpZihEPWIpe0Q9ITE7Zm9yKGxldCB2IG9mIGIudTkua2V5cygpKXtsZXQgaz1iLnU5LmdldCh2KTtpZihrKWZvcihsZXQgaCBvZiBrLkJ0KWguZUg+MCYmKGsuZVM/RD0hMDpXPSEwKX1EPSEoVyYmRCl9aWYoRClyZXR1cm4hMX1uLkRrKCJvZnIiKTtuLkNSLnJlc29sdmUobi5wbGF5ZXJSZXNwb25zZSk7cmV0dXJuIG4uYms9ITB9OwpBT009ZnVuY3Rpb24obil7aWYobi5uQSYmIW4uUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtuLkRrKCJvZ3NmX3MiKTt2YXIgVz16eFMobi5MLmdldFZpZGVvRGF0YSgpLChiLHYpPT57bi5VKGIsdil9KSxEPVNQTShuLkwpOwpXLnZpZGVvPWlfYihELFcudmlkZW8pO24uRGsoIm9nc2ZfYyIpO2lmKFcudmlkZW8ubGVuZ3RoKXJldHVybiBXO24uVSgib21ic3BmIixgbC4ke0QuSn07dS4ke0QuTn07by4ke0QuV307ci4ke0QucmVhc29ufWApfX07ClNSPWZ1bmN0aW9uKG4pe2lmKCFuLm5mKXJldHVybnt9O3ZhciBXPW4ubmYuRCgpO1cuZD1uLm5mLkR0Py5iWSgpO1cuc2hvc3Q9bi56YztXLnR5PSJvIjtyZXR1cm4gV307CmN5Wj1mdW5jdGlvbihuKXtuLkIyPSExO2lmKCFKZyhuKSl7dmFyIFc9U1Iobik7Vy50aW1lb3V0PSIxIjtuLmZhaWwobmV3IGcuQ2koIm9uZXNpZS5yZXF1ZXN0IixXKSl9fTsKUGw9ZnVuY3Rpb24obixXKXtpZihXLnFOKCl8fG4ucU4oKSluLnBvbGljeS5QTHx8KG4ucG9saWN5Lmo/Zy5BZyhuLmxvYWRlcik6bi5sb2FkZXIuQlkoKSk7ZWxzZXtpZihuLnBvbGljeS5XJiZXLmlzQ29tcGxldGUoKSYmVyBpbnN0YW5jZW9mIHV1KXt2YXIgRD1uLmxvYWRlcixiPUQuVTt2YXIgdj1PYmplY3QuYXNzaWduKFcubmYuRCgpLHtyc3Q6Vy5zdGF0ZSxzdHJtOlcueGhyLkdwKCksZDpXLm5mLkR0Py5iWSgpLGNuY2w6Vy54aHImJlcudDUuWD8xOjAscnFiOlcuRUYsY3d0OlcudDUuVyxzd3Q6Vy5QcT8uS059KTt2PU9iamVjdC5hc3NpZ24oRGsoVy5pbmZvKSx2KTtiLmNhbGwoRCwicnFzIix2KX1pZihXLmlzQ29tcGxldGUoKSYmVy5ENSgpJiZXIGluc3RhbmNlb2YgdXUpVy5kaXNwb3NlKCksbi5sb2FkZXIuQlkoKTtlbHNle2lmKFcucVEoKSluLkhlPSEwLFcgaW5zdGFuY2VvZiB1dSYmWFNoKG4udGltaW5nLFcpLG0wTShuKSxtdihuKTtlbHNlIGlmKFcudG4oKSlEPW4uTC5lSigpLApXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJkQmJihuLkIuWnQoKS5OLlFRKEtZeCl8fG4ubG9hZGVyLndSKEQpKSxXIGluc3RhbmNlb2YgdXUmJlcua2goKT8oVy5WRygpJiZuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLDApLFcuZGlzcG9zZSgpKTpXIGluc3RhbmNlb2YgdXUmJng2dyhXKT9uLmxvYWRlci5ETz8uVygpOlcgaW5zdGFuY2VvZiBLRD9uLk4ucG9wKCk6KEQ9MSxXLmNhblJldHJ5KCkmJnd1KG4ubG9hZGVyKSYmKE95WihuLFcpLEQ9MCksYj1uLkwuZUooKSxXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJmImJm4uQi5adCgpLk4uUVEoS1l4KSYmKFcuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpP24ubG9hZGVyLlUoInV0Y1NlZWtpbmdSZXRyeSIse3RhcmdldFV0Y1RpbWVTZWM6Yn0pOm4ubG9hZGVyLndSKGIpKSxuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLEQpKTtlbHNle2lmKG4ubG9hZGVyLmlzU3VzcGVuZGVkJiYKIVcuaXNDb21wbGV0ZSgpKXJldHVybjttdihuKX1XLnFOKCl8fFcgaW5zdGFuY2VvZiBLRHx8KEQ9MCxXLmlzQ29tcGxldGUoKSYmKEQ9cDBiKFcsbi5wb2xpY3ksbi5ubikpLEQhPT0wJiYoVy5pbmZvLlhiLmo/KEQ9Vy5pbmZvLEQ9bmV3IE9xKDIsRC5YYixELllhKSxELnBTPSExKTooYj1uZXcgT3EoMSxXLmluZm8uWGIpLGIucFM9RD09PTIsRD1iKSxQT3QobixEKSkpO2lmKFcuaXNDb21wbGV0ZSgpKXtpZihuLnBvbGljeS5RciYmbi52aWRlb0RhdGEuaXNPdGYoKSYmbi5CLlY9PT0icHciJiYhbi5PJiYhVy5xUSgpJiYhVy50bigpJiYhUlEobi52aWRlb0RhdGEpJiYhbi52aWRlb1RyYWNrLlRDKXtuLkN4PSExO24uTz0hMDtuLmxvYWRlci5ncCh7cmVhc29uOiJzYWJyLm5vX3ZpZGVvX3JlY2VpdmVkX29uX3N0YXJ0IixhY3Rpb246MH0pO3JldHVybn1uLkN4PSExO1cucVEoKXx8KG4uTz0hMCxuLkhlPSExKTtuLkIuUygiaHRtbDVfdXNlX21lZGlhX2ZldGNoX2NvbnRyb2xsZXIiKSYmCm4ubG9hZGVyLkwuV0ooInJlcXVlc3Rjb21wbGV0ZWQiKX1uLnBvbGljeS5IRCYmIVcuaXNDb21wbGV0ZSgpP1FvKG4ubG9hZGVyKTpuLmxvYWRlci5CWSgpfX19OwpaeVM9ZnVuY3Rpb24obil7bi5wb2xpY3kuTEImJihuLlZRPXZvaWQgMCxuLkc3PTApfTsKaXlpPWZ1bmN0aW9uKG4pe2lmKG4ubG9hZGVyLkFiKXJldHVybiBaayhuLCJwcmVwYXJpbmduZXh0bG9vcCIpLCExO2lmKCFVMFoobixuLlMkKSlyZXR1cm4gWmsobiwicmF0ZWxpbWl0ZWQiKSwhMTtpZihpUyhuLmF1ZGlvVHJhY2spJiZpUyhuLnZpZGVvVHJhY2spKXJldHVybiBaayhuLCJlbmRvZnN0cmVhbSIpLCExO2lmKG4ucG9saWN5LlUxKWlmKG4ucG9saWN5Llgpe2lmKG4uVk8/LmNKKCkpcmV0dXJuIFprKG4sInNzZGFpYmxvY2tlZCIpLCExfWVsc2V7dmFyIFc9ITE7aWYobi5KQy5KPT09MilXPSEwO2Vsc2UgaWYobi5KQy5KPT09Myl7VXEobik7bi5sb2FkZXIuU1coKTt2YXIgRD1QNihuLmF1ZGlvVHJhY2ssbi5sb2FkZXIuaXNTZWVraW5nKCkpLmVXO3ZhciBiPVA2KG4udmlkZW9UcmFjayxuLmxvYWRlci5pc1NlZWtpbmcoKSkuZVc7dmFyIHY9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKXx8MDtEPXl1KG4sRCx2KTtiPXl1KG4sYix2KTtiPU1hdGgubWluKEQsYik7dj1uLkpDOwpiPj12Llc/KHYuVSgic2RhaSIse2hhbHRycTpiLGVzdDp2Lld9KSxiPSEwKTpiPSExO2ImJihXPSEwKX1pZihXKXJldHVybiBaayhuLCJ3YWl0aW5nZm9yYWRzIiksITF9bi5wb2xpY3kudTUmJihuLnR3PUVxKG4sbi5hdWRpb1RyYWNrKSxuLmJkPUVxKG4sbi52aWRlb1RyYWNrKSk7aWYoIW4uSilyZXR1cm4gaTEobix7bm9wb2xpY3k6MX0pLCEwO2lmKG4uTC5lSigpKXJldHVybiBpMShuLHt1dGM6MX0pLCEwO2lmKG4uazYuSylyZXR1cm4gaTEobix7YXVkaW86MX0pLCEwO2lmKG4ucG9saWN5LnNaJiZuLms2LkQpcmV0dXJuIGkxKG4se2NvbnN0cmFpbnQ6MX0pLCEwO2lmKCFuLkoudGFyZ2V0QXVkaW9SZWFkYWhlYWRNc3x8IW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zKXJldHVybiBpMShuLHtub3JlYWRhaGVhZDoxfSksITA7aWYobi5wb2xpY3kuaiYmbi5sb2FkZXIuWFgoKSlyZXR1cm4gaTEobix7c2Vla1RvSGVhZDoxfSksITA7Vz1NYXRoLm1pbihPYihuLmxvYWRlcixuLmF1ZGlvVHJhY2spKgoxRTMsbi5KLnRhcmdldEF1ZGlvUmVhZGFoZWFkTXMpO2I9TWF0aC5taW4oT2Iobi5sb2FkZXIsbi52aWRlb1RyYWNrKSoxRTMsbi5KLnRhcmdldFZpZGVvUmVhZGFoZWFkTXMpO3Y9TWF0aC5taW4oVyxiKTt2YXIgaz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTMse0IxOmgsbDE6eCxjdjpMLGFrOmV9PXlPWihuLGspO0Q9aDx2O3ZhciBHPXg8djtpZih1MShuKSl7az1vayhuLlcsayk7dmFyIHI9azx2O24uTC5XWCgpJiZyJiYhRCYmIUcmJm4ubG9hZGVyLlUoInNhYnJjcm5tIix7Y3JhOmssbXByYTp2LGNicmw6bi5XLmxlbmd0aH0pfWlmKCEoRHx8R3x8dTEobikmJnIpKXJldHVybiBuLnBvbGljeS51NSYmbi5MLldYKCkmJihMPHZ8fGU8dikmJm4ubG9hZGVyLlUoInNhYnJuY3JxIix7Y2FyOmgsdmFjOngsYWJoOkwsdmJoOmUsbWFyOlcsbXZyOmJ9KSxaayhuLCJyZWFkYWhlYWRtZXQiKSwhMTtpZihuLnBvbGljeS5SVyYmRVJTKG4ubG9hZGVyKSYmbi52aWRlb0RhdGEuTlAoKSlyZXR1cm4gWmsobiwKInNob3J0c2J1ZmZlcmVkdG9lbmQiKSwhMTtpZihuLnBvbGljeS5XZCYmRVJTKG4ubG9hZGVyKSlyZXR1cm4gWmsobiwidm9kYnVmZmVyZWR0b2VuZCIpLCExO3I9bi5sb2FkZXIueXIoKTtyLmNhcj1oO3IudmFjPXg7ci5tYXI9VztyLm12cj1iO3IudGFyPW4uSi50YXJnZXRBdWRpb1JlYWRhaGVhZE1zO3IudHZyPW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zO3IucGNsPW4uSi5wbGF5YmFja0Nvb2tpZT8ubGVuZ3RofHwwO3IudmJ1PXJrKG4uTC5oNSgpPy5KKCl8fG51bGwpO3IuYWJoPUw7ci52Ymg9ZTtpMShuLHIpO3JldHVybiEwfTsKdWtoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE9xKDAsbi5LdS5ZLG4pO24uazYuRD0hMTtuLnBvbGljeS52WCYmbi5sb2FkZXIuVSgic2FicmNzYyIse3RvOm4ucG9saWN5LlRJLHJsOm4ucG9saWN5LnN6LHNidDpuLnBvbGljeS5DdT8xOjB9LCEwKTtuPVBPdChuLEQsVyk7bi5wb2xpY3kuRkYmJihuLlU4PW4ucG9saWN5LmpfKCkuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NyZWF0ZSgpKTtyZXR1cm4gbn07Cm9SdD1mdW5jdGlvbihuLFcpe2l5aShuKSYmKFc9dWtoKG4sVyksbi5OLnB1c2goVyksbi5ZPy5OKG4uS3UuWSksbi5WPjAmJm4uUyQuRXkrKyl9OwpQT3Q9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtpajpuLmlqLEJlOihrLGgpPT57bi5MLkthKGssaCl9LApORDpuLnBvbGljeS5XLEtwOm4ucG9saWN5LktwfTtuLmlqLkouViYmKGIucVk9KG4udmlkZW9UcmFjay5QSi5pbmZvLk5zfHwwKSsobi5hdWRpb1RyYWNrLlBKLmluZm8uTnN8fDApKTtuLnBvbGljeS5VVCYmKGIuTzg9bi5hdWRpb1RyYWNrLlBKLmluZGV4LlVjKCksYi5Rbj0hMSk7dmFyIHY9dW5VKFcsbi5wb2xpY3ksbi5ubik/MjoxO3YhPT1uLm51JiYobi5udT12LG0wTShuKSk7RD1kMGIobixEKTtpZihuLnBvbGljeS5ZJiZuLnBvbGljeS5XJiZELlJBKXtsZXQgaz12PSIiO2ZvcihsZXQgaCBvZiBELlJBKW4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5oYXMoaCl8fG4ucG9saWN5LlkmJkQuYkomJkQuYkoudHlwZT09PWg/dis9YF8ke2h9YDprKz1gXyR7aH1gO24ubG9hZGVyLlUoInNhYnJibGRycXMiLHtjdHh0czp2LG1pc2N0eHRzOmt9KX0hVy5zZXREYXRhKEQsbi5wb2xpY3ksbi5ubikmJm4ucG9saWN5LlkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKCJwbGF5ZXIuZXhjZXB0aW9uIiwKe3JlYXNvbjoiYnVpbGRzYWJycmVxdWVzdGRhdGFmYWlsZWQifSwxKTtiPW5ldyB1dShuLnBvbGljeSxXLG4uS3Usbi5ubixuLGIsbi5sb2FkZXIuVTQoKSk7aXUobi50aW1pbmcpO24ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyY3JxaW5mbyIse3JuOmIuY0EoKSxwcm9iZTpXLkQ1KCl9KTtyZXR1cm4gbi5GRj1ifTsKRXE9ZnVuY3Rpb24obixXKXtVcShuKTtuLmxvYWRlci5TVygpO3JldHVybiBQNihXLG4ubG9hZGVyLmlzU2Vla2luZygpKX07CnUxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBvbGljeS55RSYmISFuLlh9Owp5dT1mdW5jdGlvbihuLFcsRCl7bj1uLmxvYWRlci5TVygpfHwwO3JldHVybiBvayhXLChEK24pKjFFMykvMUUzK0R9OwpkMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1kaihuLmxvYWRlcikmJlcmJlcuU3MhPT12b2lkIDAmJiFXLmJNP01hdGguY2VpbCgoVy5Tcysobi5sb2FkZXIuU1coKXx8MCkpKjFFMyk6VXEobik7aWYobi5wb2xpY3kudTUpe3ZhciBiPW4udHc7dmFyIHY9bi5iZH1lbHNlIGI9RXEobixuLmF1ZGlvVHJhY2spLHY9RXEobixuLnZpZGVvVHJhY2spO3ZhciBrPVsuLi5iLmVXLC4uLnYuZVddO3UxKG4pJiZrLnB1c2goLi4ubi5XKTt2YXIgaD1bLi4uYi5CaSwuLi52LkJpXSx4PVtdO2Zvcih2YXIgTCBvZiBoKUwudkQhPT12b2lkIDAmJkwudkQ+TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/bi5sb2FkZXIuVSgic2FicnBzZWdsbXQiLHtsbXQ6TC52RCxpdGFnOkwuZm9ybWF0SWQ/Lml0YWcsc3E6TC5zZXF1ZW5jZU51bWJlcn0pOngucHVzaChMKTtoPW4ubG9hZGVyLmx1KCk7bi5wb2xpY3kuWW4mJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEw9bi52aWRlb0RhdGEubGVuZ3RoU2Vjb25kcyoKMUUzLEQ+PUwmJm4ubG9hZGVyLlUoImludmFsaWRTYWJyQ210Iix7Y210OkQsdmQ6TH0pKTtMPW4uaWo7dmFyIGU9bi5MLEc9bi5LdSxyPW4uSixOPW4udmlkZW9EYXRhLmJkLEg9bi5wb2xpY3ksQT1uLmxvYWRlci5xRyx5PW4uVlE/LmtFLFQ9bi5WUT8uVW0sej1uLkc3LEM9TnVtYmVyKG4uazYuWD8uaW5mby5pdGFnKXx8MCxRPU51bWJlcihuLms2Lmo/LmluZm8uaXRhZyl8fDAsVj1uLkwudzkoKTt2YXIgTHQ9Vz8uSiQ/Vy5KJDpuLmxvYWRlci5pc1N1c3BlbmRlZD80OnZvaWQgMDtEPXtpajpMLEw6ZSxLdTpHLGVXOmssQmk6eCxuUjpELG5leHRSZXF1ZXN0UG9saWN5OnIsUkE6TixvWjpILHB6OkEsa0U6eSxVbTpULEc3OnosdU06QyxyRzpRLHEkOmgscjg6VixKJDpMdCxDeDpuLkN4LGdEOm4uUFgsSGU6bi5IZX07az1uLmxvYWRlci5NWSgpO3g9Zy5kMShrKTtrJiYoRC5kTj14KTtpZihXPWRqKG4ubG9hZGVyKSYmVz8uYk0/Vy5TczpuLkwuZUooKSlELmo0PVcqMUUzO1c9bi5rNjsKaz1XLnR3O2lmKFcub1o/LkR0KCkmJiFrKWZvcih0aSBvZiBXLlcpaWYodGkua1ope2s9ITA7YnJlYWt9dmFyIHRpPVcub1ouRHQoKSYmIWs/W106TyRpKFcsVy5XKTtELkdoPXRpO3RpPW4uazY7dGkub1ouRHQoKSYmIXRpLmJkP3RpPVtdOihXPUtqaSh0aSksVy5sZW5ndGg9PT0wJiYoVz10aS5WKSx0aT1PJGkodGksVykpO0QuTSQ9dGk7RC5Fdj11MShuKT9bbi5YXTp2b2lkIDA7RC5JOD1BcnJheS5mcm9tKHdDKG4uazYuTikua2V5cygpLE51bWJlcik7RC5sbD1uLms2LmxsKCk7bi5wb2xpY3kuS0UmJihELllzPXpTMihuLmxvYWRlcixuLmF1ZGlvVHJhY2spLEQuZXE9elMyKG4ubG9hZGVyLG4udmlkZW9UcmFjaykpO3RpPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk7Yj15dShuLGIuZVcsdGkpO3Y9eXUobix2LmVXLHRpKTt2PU1hdGgubWluKGIsdik7bi5UQz12O24ucG9saWN5LlUxJiYodTEobikmJihiPXl1KG4sbi5XLHRpKSxuLkwuV1goKSYmYjx2JiZuLmxvYWRlci5VKCJzYWJyY2ZiIiwKe21ldDp2LGNldDpiLGNicmw6bi5XLmxlbmd0aH0pLHY9TWF0aC5taW4odixiKSksIW4ucG9saWN5LlgmJihiPW4uc1U/LlNQKHYpKSkmJihELk15PWIsbi5sb2FkZXIuVSgic2RhaSIse3NzaW5mbzpiLmN1ZXBvaW50SWR9KSk7bi5wb2xpY3kuWCYmKGI9bi52aWRlb0RhdGEuYkJbbi52aWRlb0RhdGEuSj8uY29udGFpbmVyVHlwZXx8MF0sdis9bi5sb2FkZXIuU1coKSxELmJLPW4uVk8/LlkodixiKSxELmJLJiZuLmxvYWRlci5VKCJjbHNkYWkiLHtzc2luZm9zOkQuYksubGVuZ3RofSksbi5WTz8uTygpKTtuLnBvbGljeS5ZJiZuLk4ubGVuZ3RoPjAmJm4uTlswXS5ETCgpJiYoRC5iSj1uLk5bMF0ubWYoKSk7cmV0dXJuIER9OwpVcT1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5qJiZuLmxvYWRlcj8uWFgoKSxEPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCl8fDA7RD1sSWIobixEKTthOmlmKG4ucG9saWN5LmZtJiZuLmxvYWRlci5pc1NlZWtpbmcoKSl7dmFyIGI9QTAobi52aWRlb1RyYWNrLEQpO24ubG9hZGVyLlUoImFzbXRmbmN0diIse2I6RCxhOmJ9KTtpZighaXNOYU4oYikpe0Q9YjticmVhayBhfX1iPW4ubG9hZGVyLlNXKCl8fDA7RCs9YjtiPVlwKG4udmlkZW9EYXRhKXx8Zy5wQShuLnZpZGVvRGF0YSk7dmFyIHY9MDtXPyhiJiYodj1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUiksbi52aWRlb0RhdGEuUkkmJih2PU1hdGguY2VpbChuLnZpZGVvRGF0YS5KVSoxRTMpKSk6dj1NYXRoLmNlaWwoRCoxRTMpO3JldHVybiBNYXRoLm1pbihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUix2KX07CmxJYj1mdW5jdGlvbihuLFcpe2lmKG4ubG9hZGVyLmlzU2Vla2luZygpKXJldHVybiBXO3ZhciBEPW4uTC5oNSgpO2lmKCFEKXJldHVybiBXO0Q9RC5KKCk7aWYoRC5sZW5ndGg9PT0wfHxCUihELFcpKXJldHVybiBXO2lmKCFuLnZpZGVvVHJhY2suZnAoVykmJiFuLmF1ZGlvVHJhY2suZnAoVykpcmV0dXJuIG4ubG9hZGVyLlUoInN1bmRybiIse2I6MCxsdDpXfSksVzt2YXIgYj1XLHY9SW5maW5pdHk7Zm9yKGxldCBrPTA7azxELmxlbmd0aDtrKyspe2lmKEQuc3RhcnQoayk+Vyljb250aW51ZTtsZXQgaD1XLUQuZW5kKGspO2g8diYmKHY9aCxiPUQuZW5kKGspKX1yZXR1cm4gYiE9PVcmJihuLmxvYWRlci5VKCJzdW5kcm4iLHticmU6YixsdDpXfSksdj49MjApPyhuLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIse3JlYXNvbjoiYnVmZmVydW5kZXJydW5leGNlZWRzbGltaXQifSksVyk6Yn07Cm9rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPS0xO2ZvcihsZXQgdiBvZiBuKWlmKCEodi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXM8Vykpe2lmKGI8MCYmdi5zdGFydFRpbWVNcz5XfHxiPj0wJiZ2LkFDPmIrMSlicmVhaztEPU1hdGgubWF4KEQsdi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXMpO2I9TWF0aC5tYXgoYix2Lmk5KX1yZXR1cm4gTWF0aC5tYXgoMCxELVcpfTsKWms9ZnVuY3Rpb24obixXKXtuLkdDPVc7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcmIiLHtyZWFzb246V30pfTsKVTBaPWZ1bmN0aW9uKG4sVyl7YTp7aWYobi5WPjApe3ZhciBEPU1hdGguZmxvb3IoKDAsZy5SKSgpLzFFNCk7aWYoRD09PVcuWGope2lmKFcuRXk+PW4uVil7aWYoVy5FeT09PW4uVil7RD17cmVhc29uOiJ0b29tYW55cmVxdWVzdHMifTtELmxpbWl0PVcuRXk7aWYobi5GRil7bGV0IGI9RGsobi5GRi5pbmZvKTtELmxyX3B0aW1lPWIucHRpbWU7RC5scl9ydHlwZT1iLnJ0eXBlO0QubHJfYnJsPWIuYnJsO0QubHJfcHM9Yi5wc31uLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIsRCk7Vy5FeSs9MX1XPSExO2JyZWFrIGF9fWVsc2UgVy5Yaj1ELFcuRXk9MH1XPSEwfXJldHVybiFXfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmbi5sb2FkZXIuT00/ITE6bi5qJiYoMCxnLlIpKCk8bi5qPyhnLkphKG4ubG9hZGVyLmoyKSwhMSk6bi5OLmxlbmd0aD4wJiYoIW4ucG9saWN5Lll8fG4uTi5sZW5ndGghPT0xfHwhbi5OWzBdLkRMKCkpfHwhbi5LdS5ZPy5ZKG4ucG9saWN5LG4ubm4sCm4ubG9hZGVyLkl3KXx8bi5EdD8hMTohMH07CmkxPWZ1bmN0aW9uKG4sVyl7bi5HQz12b2lkIDA7bi5ZWj0oMCxnLlIpKCk7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcnEiLFcpfTsKeU9aPWZ1bmN0aW9uKG4sVyl7dmFyIHtjdjpELGFrOmJ9PVRKYihuKTtpZihuLnBvbGljeS51NSl7dmFyIHY9b2sobi50dy5lVyxXKTtuPW9rKG4uYmQuZVcsVyl9ZWxzZSB2PUQsbj1iO3JldHVybntCMTp2LGwxOm4sY3Y6RCxhazpifX07Cm0wTT1mdW5jdGlvbihuKXtuLnZpZGVvRGF0YS5iZC5jbGVhcigpO2lmKG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKHZhciBXIG9mIG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5rZXlzKCkpbi52aWRlb0RhdGEuc2FickNvbnRleHRVcGRhdGVzLmdldChXKT8uc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcpO2lmKG4ucG9saWN5LlkmJm4uTi5sZW5ndGgpZm9yKGxldCBEIG9mIG4uTikoVz1ELm1mKCkpJiZXLnR5cGUmJlcuc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcudHlwZSl9Owptdj1mdW5jdGlvbihuKXtmb3IoO24uTi5sZW5ndGgmJm4uTlswXS5CNihuLkUxKCkpOyl7bGV0IFc9bi5OLnNoaWZ0KCk7ajlDKG4sVyl9bi5OLmxlbmd0aCYmajlDKG4sbi5OWzBdKX07Cmo5Qz1mdW5jdGlvbihuLFcpe1cgaW5zdGFuY2VvZiB1dSYmKG4uZSQ9Vyk7dmFyIEQ9bmV3IFNldChXLlNKKG4uRTEoKSkpO2ZvcihsZXQgaCBvZiBEKXtpZihEPVcgaW5zdGFuY2VvZiBLRCl7RD1uLms2O3ZhciBiPXl5eChELGgpLHY9bkQoRCxELnZpZGVvSW5mb3MpLmluY2x1ZGVzKGgpOyFELm9aLlRQfHxifHx2fHxELmxvYWRlci5VKCJzYWJyY3BmIix7ZmlkOmAke2h9YCx2ZmlkczpgJHtuRChELEQudmlkZW9JbmZvcykuam9pbigiLiIpfWAsc2FpZDpELll8fCIifSk7RD0hKGJ8fHYpfWlmKEQpY29udGludWU7RD1XIGluc3RhbmNlb2YgdXU/eUIoVyk6dm9pZCAwO2lmKEQhPT12b2lkIDApe2lmKCFXLlFBKGgsbi5FMSgpKSljb250aW51ZTtiPW4uS3UuSi5nZXQoaCk7aWYoIWIpY29udGludWU7bi5wb2xpY3kueUUmJmIuaW5mby5OKCl8fChiLmluZm8uZVMoKT9uLmF1ZGlvVHJhY2s6bi52aWRlb1RyYWNrKS5aYyhELGgpO2NvbnRpbnVlfUQ9Vy5mMyhoLG4uRTEoKSk7Yj1uLnBvbGljeS55RSYmCkQubGVuZ3RoPjAmJkRbMF0uUEouaW5mby5OKCk7aWYoIVcuUUEoaCxuLkUxKCkpKWNvbnRpbnVlO3Y9Vy54OShoLG4uRTEoKSk7Zm9yKGxldCB4IG9mIHYpe24ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBLRCYmbi5sb2FkZXIuVSgib21ibHNzIix7czp4LmluZm8uZ2EoKX0pO2lmKGIpe3Y9bi50aW1pbmc7di5EfHwodi5EPSgwLGcuUikoKSxnLkVHKCJmY2JfciIsdi5ELHYuelIpKTtpZihuLnBvbGljeS5rdSl7dj1nLlZmKHguaW5mby5QSi5pbmZvLG4uS3UuelcpO3ZhciBrPXguaW5mby5qJDtpZihuLksmJk1rKG4uSyk9PT1Nayh2KSYmazw9bi5jSiljb250aW51ZTt4LmluZm8uYVomJihuLks9dixuLmNKPWspfXY9bjt2LnZpZGVvRGF0YS56VygpJiZ2LlgmJk1rKHYuWCk9PT1NayhnLlZmKHguaW5mby5QSi5pbmZvLHYuS3UuelcpKSYmdi5MLldKKCJzYWJyQ2FwdGlvbnNEYXRhTG9hZGVkIix4LHYueUUuYmluZCh2KSk7Y29udGludWV9dj14LmluZm8uUEouaW5mby5lUygpO2s9eC5pbmZvLlBKOwpsZXQgTD1XIGluc3RhbmNlb2YgS0Q/MToyO2lmKHYpe2lmKG4uazYuWHIoayxMLFcuSmQobi5FMSgpKT8udG9rZW4pKWNvbnRpbnVlfWVsc2Ugbi5rNi5EUihrLEwsVy5KZChuLkUxKCkpPy50b2tlbik7az12P24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7VyBpbnN0YW5jZW9mIEtEJiYoay5qPSExLFcgaW5zdGFuY2VvZiBLRCYmKHY/Z2oxKG4udGltaW5nKTplN2Iobi50aW1pbmcpKSk7dHJ5e2suV2coRCx4KX1jYXRjaChlKXt2PUIkKGUpLG4ubG9hZGVyLmhhbmRsZUVycm9yKHYuZXJyb3JDb2RlLHYuZGV0YWlscyx2LnNldmVyaXR5KSxrLnppKCksbi5YJCghMSwicHVzaFNsaWNlIiksZy5BZyhuLmxvYWRlcil9fX19OwpPeVo9ZnVuY3Rpb24obixXKXtuLnBvbGljeS5ZP24uTi5zcGxpY2Uobi5OLmluZGV4T2YoVykpLmZvckVhY2goRD0+e0QuZGlzcG9zZSgpfSk6KG4uTi5wb3AoKSxXPy5kaXNwb3NlKCkpfTsKQ09qPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PG4uTi5sZW5ndGg7disrKVcmJm4uTlt2XWluc3RhbmNlb2YgS0Q/Yi5wdXNoKG4uTlt2XSk6KG4ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyZGlzIix7ZDpuLk5bdl0uY0EoKSxzcmM6RH0pLG4uTlt2XS5kaXNwb3NlKCkpO24uTj1ifTsKQkp0PWZ1bmN0aW9uKG4sVyl7aWYoVy50bigpfHxXLnFOKCkpe3ZhciBEPW4ubG9hZGVyLGI9RC5VLHY9Vy5zdGF0ZTtuPW4uRTEoKTtXPVcubkE/LmdldChuKT8uWSgpPz8tMTtiLmNhbGwoRCwic2Ficm9tYiIse3M6dix0Ynl0ZXM6V30pfWVsc2V7RD1XLlNKKG4uRTEoKSk7Yj0hMTtmb3IobGV0IGsgb2YgRClpZih2PW4uazYsbkQodix2LnZpZGVvSW5mb3MpLmluY2x1ZGVzKGspKXtiPSEwO2JyZWFrfWlmKEQubGVuZ3RoPT09MHx8YiluLlBYPSEwO24uTi5wdXNoKFcpO1cuWEwucHVzaChuKTtpdShuLnRpbWluZyk7bi5wb2xpY3kuclcmJlcuYlAmJm4udVEoVy5iUCxXLmNBKCkpfX07ClRKYj1mdW5jdGlvbihuKXt2YXIgVz1uLmF1ZGlvVHJhY2suenMoITApKjFFMztuPW4udmlkZW9UcmFjay56cyghMCkqMUUzO3JldHVybntjdjpXLGFrOm59fTsKRllDPWZ1bmN0aW9uKG4se1NzOlcsYk06RH0pe2lmKFc9PT12b2lkIDApcmV0dXJuITE7Vz1EP24uTC5sSyhXKTpXO2lmKFc9IW4ubG9hZGVyLmZwKFcpJiZVMFoobixuLkN1KSl7Vz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTM7bGV0IHtCMTpiLGwxOnZ9PXlPWihuLFcpO1c9Yj49N0UzJiZ2Pj03RTN9cmV0dXJuIFd9Owp3Qng9ZnVuY3Rpb24obixXKXtuLmRlbGF5Py5kaXNwb3NlKCk7bi5kZWxheT1udWxsO3ZhciBEPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KChiLHYpPT5iLm1lZGlhVGltZS12Lm1lZGlhVGltZSk7CkQubGVuZ3RoIT09MCYmKFc9KERbMF0ubWVkaWFUaW1lLVcpKjFFMy9uLkwuZ2V0UGxheWJhY2tSYXRlKCksbi5kZWxheT1uZXcgZy5mXygoKT0+e3pjKG4pfSxXPjUwMD9XLTUwMDpXKSxuLmRlbGF5LnN0YXJ0KCkpfTsKemM9ZnVuY3Rpb24obixXKXtpZihsMShuLkwuZ2V0UGxheWVyU3RhdGUoKSkmJm4uTi5zaXplIT09MCl7Vz1XPz9BcnJheS5mcm9tKG4uTi52YWx1ZXMoKSkuc29ydCgodixrKT0+di5tZWRpYVRpbWUtay5tZWRpYVRpbWUpOwp2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj0oV1swXS5tZWRpYVRpbWUtRCkqMUUzL24uTC5nZXRQbGF5YmFja1JhdGUoKTtpZihiPDUwMCl7RD1iPjA/bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpOkQ7Zm9yKGxldCB2IG9mIFcpaWYoRD49di5tZWRpYVRpbWUpdi5yZXNvbHZlKFt2Lm1lZGlhVGltZSx2LmlkXSksbi5OLmRlbGV0ZSh2LmlkKTtlbHNlIGJyZWFrfXdCeChuLEQpfX07Ck1fdz1mdW5jdGlvbihuLFcsRCl7bi5OLmRlbGV0ZShEKTtyZXR1cm4gbmV3IFByb21pc2UoYj0+e24uTi5zZXQoRCx7aWQ6RCxtZWRpYVRpbWU6VyxyZXNvbHZlOmJ9KTtiPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KCh2LGspPT52Lm1lZGlhVGltZS1rLm1lZGlhVGltZSk7CkQ9PT1iWzBdLmlkJiZ6YyhuLGIpfSl9OwpROWI9ZnVuY3Rpb24obil7dmFyIFc9bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpLEQ9bi5YLlIzKFcpO1JTQyhuLEQsVyk7bi5pc1NlZWtpbmc9ITE7dmFyIGI9QXJyYXkuZnJvbShuLk4ua2V5cygpKS5maWx0ZXIodj0+dj49RCkuc29ydCgodixrKT0+di1rKTsKZm9yKGxldCB2IG9mIGIpYj12PT09RD9XLW4uWC5nZXRTdGFydFRpbWUoRCk6MCxuLksodixuLk4uZ2V0KHYpLGIpfTsKVl8yPWZ1bmN0aW9uKG4sVyxELGI9ITEpe1chPT1uLktZJiYobi5LWT1XLG4uTC5XSigicGxheWJhY2tzdGFydGVkIixXLEQrbi5MLlNXKCksYikpfTsKUlNDPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLk4uZ2V0KFcpLHY9bi5YLmdldFN0YXJ0VGltZShXKSxrPW4uWC5nZXREdXJhdGlvbihXKSxoPXY7KGI/Lk4/P1tuLmNwbl0pLmZvckVhY2goKHgsTCk9Pnt2YXIgZT1iPy5KW0xdPz9rO0Q+PWgmJkQ8aCtlJiYoTD14IT09bi5jcG4/aC0oYj8uWFtMXT8/MCk6aCxuLko9eCxWXzIobix4LEwsITApKTtoKz1lfSl9OwpjT3c9ZnVuY3Rpb24obixXKXsobi5XLmdldChXKT8/W10pLmZvckVhY2goRD0+e24uai5OLmRlbGV0ZShEKX0pOwpuLlcuZGVsZXRlKFcpfTsKYUlaPWZ1bmN0aW9uKG4sVyxELGIpe24uSj1EO0Q9YCR7V30uJHtEfWA7bi5XLmhhcyhXKT9uLlcuZ2V0KFcpLnB1c2goRCk6bi5XLnNldChXLFtEXSk7TV93KG4uaixiLEQpLnRoZW4oKFt2LGtdKT0+e3ZhciBbaCx4XT1rLnNwbGl0KCIuIik7WyxrXT1bTnVtYmVyKGgpLHhdO1ZfMihuLGssdil9KX07CldYaD1mdW5jdGlvbihuLFcsRCxiLHYsayl7cmV0dXJuIFcuVDcmJlcuRTUmJkQ9PT0zP25ldyBudTEobixXLGIsdixrKTpudWxsfTsKRExiPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuRDIpe3ZhciBEPVcuaW5mby5OcyxiPUdEKG4uc2NoZWR1bGUpO1c9Vy5pbmRleC5VYygpO0Q9TWF0aC5tYXgoMSxiL0QpO24uWT1NYXRoLnJvdW5kKE1hdGgubWF4KCgoRC0xKSpXK24ucG9saWN5LndhKS9ELFctbi5wb2xpY3kuTWwpKjFFMyl9fTsKa25yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RGF0ZS5ub3coKS8xRTMsYj1ELW4uc3RhcnRUaW1lU2Vjcyx2PUQtbi5WLGs9dj49bi5wb2xpY3kuT04saD0hMTtpZihrKXtsZXQgeD0wOyFpc05hTihXKSYmVz5uLmomJih4PVctbi5qLG4uaj1XKTt4L3Y8bi5wb2xpY3kuSVcmJihoPSEwKTtuLlY9RH1EPWI+PW4ucG9saWN5Lk1sJiYhbi5XO2lmKCFrJiYhRCYmYkZqKG4sVykpcmV0dXJuIE5hTjtEJiYobi5XPSEwKTthOntiPWg7RD0oMCxnLlIpKCkvMUUzLShuLnF6LkxnKCl8fDApLW4uSy5XLW4ucG9saWN5LndhO2s9bi5KLnNlZ21lbnRTdGFydFRpbWU7RD1rK0Q7aWYoYil7aWYoaXNOYU4oVykpe1RjKG4sTmFOLCJuIixXKTtrPU5hTjticmVhayBhfWI9Vy1uLnBvbGljeS5FVDtiPEQmJihEPWIpfWVsc2Ugbi5XJiYoYj1EK24ucG9saWN5LndhLW4uTytuLnBvbGljeS5BTCxpc05hTihXKXx8KGI9TWF0aC5tYXgoYixNYXRoLm1pbihELFctbi5wb2xpY3kuRVQpKSksRD1iKTtrPUQ9TWF0aC5tYXgoRCwKayl9bi5OPWs7aWYoaXNOYU4obi5OKSlyZXR1cm4gbi5jbGVhcigpLE5hTjtpZighaCYmYkZqKG4sVykpcmV0dXJuIHZ1TShuLFcpLE5hTjtpZihuLk48PW4uSi5zZWdtZW50U3RhcnRUaW1lKXJldHVybiBUYyhuLE5hTiwieSIsVyksbi5jbGVhcigpLE5hTjtpZighbi5EKG4uTiwhMSkpcmV0dXJuIXZ1TShuLFcpJiZoJiYoVGMobixOYU4sInQiLFcpLG4uY2xlYXIoKSksTmFOO2g9bi5OO1RjKG4saCwicyIsVyk7bi5jbGVhcigpO3JldHVybiBofTsKYkZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlzTmFOKFcpPyEwOmlzTmFOKG4uTik/ITE6VzxuLk4rKG4uVz9uLnBvbGljeS5FVDpuLnBvbGljeS5neCl9Owp2dU09ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5EKG4uTiwhMCk/ITE6KFRjKG4sTmFOLCJucyIsVyksbi5jbGVhcigpLCEwKX07ClRjPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4uWC55MCgpO3Yuc3NyX3NrPShXKjFFMykudG9GaXhlZCgwKTt2LnNzcl90PShuLk4qMUUzKS50b0ZpeGVkKDApO3Yuc3NyX3I9RDt2LnNzcl9zdD0obi5zdGFydFRpbWVTZWNzKjFFMykudG9GaXhlZCgwKTt2LnNzcl9uPSgwLGcuUikoKS50b0ZpeGVkKDApO3Yuc3NyX2Y9KG4uSy5XKjFFMykudG9GaXhlZCgwKTt2LnNzcl9mYT1uLlc/IjEiOiIwIjt2LnNzcl9vPShuLnF6LkxnKCkqMUUzfHwwKS50b0ZpeGVkKDApO3Yuc3NyX3Y9KGIqMUUzKS50b0ZpeGVkKDApO1c9bi5KLlBKLmluZGV4O1cuTUkobi5KLmokLCEwKSYmKHYuc3NyX2lzdD0oVy5nZXRTdGFydFRpbWUobi5KLmokKSoxRTMpLnRvRml4ZWQoMCksdi5zc3JfaWQ9KFcuZ2V0RHVyYXRpb24obi5KLmokKSoxRTMpLnRvRml4ZWQoMCkpO24ubG9hZGVyLlUoInNzciIsdil9OwpoUXg9ZnVuY3Rpb24oKXt2YXIgbj17fSxXPXdpbmRvdy5wZXJmb3JtYW5jZTtpZihXKXtsZXQgRD1XLm1lbW9yeTtEJiYobi5qc1RvdGFsPUQudG90YWxKU0hlYXBTaXplLG4uanNVc2VkPUQudXNlZEpTSGVhcFNpemUsbi5qc0xpbWl0PUQuanNIZWFwU2l6ZUxpbWl0LG4ubXNUb3RhbD1ELmdldE1lZGlhU291cmNlVG90YWxBbGxvY2F0ZWRNZW1vcnk/LigpPz9ELnRvdGFsTWVkaWFTb3VyY2VTaXplLG4ubXNMaW1pdD1ELmdldE1lZGlhU291cmNlTWF4aW11bU1lbW9yeUNhcGFjaXR5Py4oKT8/RC5tZWRpYVNvdXJjZVNpemVMaW1pdCxuLm1zVXNlZD1ELmdldE1lZGlhU291cmNlQ3VycmVudE1lbW9yeUNhcGFjaXR5Py4oKT8/RC51c2VkTWVkaWFTb3VyY2VNZW1vcnlTaXplKTtXLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkmJihuLmNiRnJlZT1XLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkoKSk7Vy5tZWFzdXJlVXNlZENwdU1lbW9yeSYmKG4uY2JVc2VkPVcubWVhc3VyZVVzZWRDcHVNZW1vcnkoKSl9d2luZG93Lmg1dmNjPy5jVmFsJiYKKG4uY2JGcmVlPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuQ1BVLkZyZWUiKSxuLmNiVXNlZD13aW5kb3cuaDV2Y2MuY1ZhbC5nZXRWYWx1ZSgiTWVtb3J5LkNQVS5Vc2VkIiksbi5jYkpzPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuSlMiKSk7cmV0dXJuIG59Owp4THQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5QcmVzc3VyZU9ic2VydmVyJiZuZXcgd2luZG93LlByZXNzdXJlT2JzZXJ2ZXIobil9OwpMWHI9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2F3YWl0IG4uan1jYXRjaHt9bi5XPy5kaXNjb25uZWN0KCl9OwpndUM9ZnVuY3Rpb24obixXKXtXP2VRai50ZXN0KG4pOihuPWcub0UobiksT2JqZWN0LmtleXMobikuaW5jbHVkZXMoImNwbiIpKX07CmpSPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17Zm9ybWF0OiJSQVcifSx4PXt9O2lmKGcuVGQobikmJmcuakgoKSl7bGV0IEw9Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpO0w/eFsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09TDpiP3hbIlgtR29vZy1WaXNpdG9yLUlkIl09YjpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKHhbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO0QmJih4WyJYLUdvb2ctUGFnZUlkIl09RCk7KGI9Vy5UQykmJiFnLnFGKFcpJiYoeFsiWC1Hb29nLUF1dGhVc2VyIl09Yik7diYmKHguQXV0aG9yaXphdGlvbj1gQmVhcmVyICR7dn1gKTtXLlMoImVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5ncyIpJiZXLllyJiZXLmRhdGFzeW5jSWQmJih4WyJYLVlvdVR1YmUtRGF0YVN5bmMtSWQiXT1XLmRhdGFzeW5jSWQpO2lmKFcuUygiZW5hYmxlX3JvbGxvdXRfdG9rZW5faGVhZGVyIikpe2xldCBlPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik/LmNsaWVudD8ucm9sbG91dFRva2VuOwplJiYoeFsiWC1Zb3VUdWJlLVJvbGxvdXQtVG9rZW4iXT1lKX1MfHx4WyJYLUdvb2ctVmlzaXRvci1JZCJdfHx2fHxEfHxiP2gud2l0aENyZWRlbnRpYWxzPSEwOlcuUygiaHRtbDVfc2VuZF9jcG5fd2l0aF9vcHRpb25zIikmJmVRai50ZXN0KG4pJiYoaC53aXRoQ3JlZGVudGlhbHM9ITApfU9iamVjdC5rZXlzKHgpLmxlbmd0aD4wJiYoaC5oZWFkZXJzPXgpO2smJihoLm9uRmluaXNoPWspO3JldHVybiBPYmplY3Qua2V5cyhoKS5sZW5ndGg+MT9oOm51bGx9OwpDRD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2cuakgoKSYmRC50b2tlbiYmKG49Zy56ZChuLHtjdHQ6RC50b2tlbixjdHR5cGU6RC55byxtZHhfZW52aXJvbm1lbnQ6RC5tZHhFbnZpcm9ubWVudH0pKTtiLlMoIm5ldF9waW5nc19sb3dfcHJpb3JpdHkiKSYmKFd8fChXPXt9KSxXLnByaW9yaXR5PSJsb3ciKTtrfHx4JiZiLlMoIm53bF9za2lwX3JldHJ5Iik/KFc9PW51bGw/Vz17fTpndUMobixiLlMoImh0bWw1X2Fzc2VydF9jcG5fd2l0aF9yZWdleCIpKSxoP2cuSFUoKS5zZW5kQW5kV3JpdGUobixXKTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShuLFcseCkpOlc/KGd1QyhuLGIuUygiaHRtbDVfYXNzZXJ0X2Nwbl93aXRoX3JlZ2V4IikpLEJXaihuLFcpKTpnLmdvKG4sdil9OwpYTmk9ZnVuY3Rpb24obil7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuO0QrKyl7bGV0IGI9e30sdj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOSoxRTgpKzFFOCxrPSIiO2ZvcihsZXQgaD0wO2g8OTtoKyspays9ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MildO2IudmlkZW9EZWNvZGVyTmFtZT1rO2IuZWxhcHNlZFRpbWVNcz12O1cucHVzaChiKX1yZXR1cm4gV307CkJsPWZ1bmN0aW9uKG4sVyl7bj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5zZXQobixXKTtyZXR1cm4gWW8obik/U2soSFAobiksKCk9PiEwLCgpPT4hMSk6SFAoISFuKX07CnFScj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VCdWZmZXJlZFJhbmdlIixuPzE6MCl9OwpHbnc9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJIVFRQMyIsbj8xOjApfTsKdEZ4PWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUF0dGFjaG1lbnRNZXRob2RzIixuPzE6MCl9OwokTEM9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJRVUlDIixuPzE6MCl9OwpyYzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BdWRpb1dyaXRlRHVyYXRpb25Mb2NhbCIsbil9OwpzZ3c9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsbj8xOjApfTsKTjBTPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsbil9OwpwTnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb1JlbmRlcmVyTWluSW5wdXRCdWZmZXJzIixuKX07CllSdz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvUmVuZGVyZXJNaW5EZWNvZGVkRnJhbWVzIixuKX07CkhGWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLG4/MTowKX07CmZ5VT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVJlc2V0QXVkaW9EZWNvZGVyIixuPzE6MCl9OwpKY2I9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVGbHVzaER1cmluZ1NlZWsiLG4/MTowKX07Ckl5dz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsbil9OwpTUnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLG4/MTowKX07CkFjWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLG4/MTowKX07Cm1MMj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbj8xOjApfTsKS1haPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuRXhwZXJpbWVudGFsTWF4UGVuZGluZ0J5dGVzUGVyUGFyc2UiLG4pfTsKdmFyIE9XdD1mdW5jdGlvbihuKXtyZXR1cm4gZVhbSVsxMF1dKHRoaXMsMTksNzA4NyxuKX07Ck9GQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsbil9OwpQUXI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5NZWRpYUNvZGVjUmVzZXREZWxheU1zIixuKX07ClpGdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRpc2FibGVMb3dQZXJmb3JtYW5jZVNvZnR3YXJlRGVjb2RlIixuPzE6MCl9OwpVTDI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVBdjFTdGFydHVwT3B0aW1pemF0aW9uIixuPzE6MCl9Owp5YzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Vc2VEdWFsVGhyZWFkc0ZvclZpZGVvIixuPzE6MCl9OwpFdXQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CmlGVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CnVxdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIixuPzE6MCl9OwpvdTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG4/MTowKX07CmRMaT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLG4/MTowKX07CnpRUz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIixuPzE6MCl9OwpseTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLG4/MTowKX07ClQwVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixuPzE6MCl9OwpqZ2g9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Ta2lwVmlkZW9GcmFtZXNPdmVyNjBGcHMiLG4/MTowKX07CkNRQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZsdXNoQXVkaW9UcmFja0R1cmluZ1NlZWsiLG4/MTowKX07CkIwaj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkJ5cGFzc01vam9Gb3JNZWRpYSIsbj8xOjApfTsKRlgyPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuSWdub3JlTWVkaWFDb2RlY0NhbGxiYWNrc0R1cmluZ0ZsdXNoaW5nIixuPzE6MCl9OwpNRng9ZnVuY3Rpb24oKXt2YXIgbj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5nZXRQZXJzaXN0ZW50U2V0dGluZ0FzU3RyaW5nPy4oImNwdV91c2FnZV90cmFja2VyX2ludGVydmFscyIpO2lmKG4hPW51bGwpe249SlNPTi5wYXJzZShuKT8/W107dmFyIFc9bi5maWx0ZXIoRD0+RC50eXBlPT09InRvdGFsIikubWFwKEQ9PkQuc2Vjb25kcyk7CmZvcihsZXQgRCBvZiB3TjIpVy5pbmRleE9mKEQpPT09LTEmJm4ucHVzaCh7dHlwZToidG90YWwiLHNlY29uZHM6RH0pO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzX2VuYWJsZWQiLDEpO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzIixKU09OLnN0cmluZ2lmeShuKSl9fTsKUlFVPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93Lkg1dmNjUGxhdGZvcm1TZXJ2aWNlLFc9IiI7aWYobiYmbi5oYXMoImRldi5jb2JhbHQuY29hdC5jbGllbnRsb2dpbmZvIikmJihuPW4ub3BlbigiZGV2LmNvYmFsdC5jb2F0LmNsaWVudGxvZ2luZm8iLCgpPT57fSkpKXtsZXQgRD1uLnNlbmQobmV3IEFycmF5QnVmZmVyKDApKTsKRCYmKFc9U3RyaW5nLmZyb21DaGFyQ29kZSguLi4obmV3IFVpbnQ4QXJyYXkoRCkpKSk7bi5jbG9zZSgpfXJldHVybiBXfTsKVkZTPWZ1bmN0aW9uKG4pe3ZhciBXPXdpbmRvdy5INXZjY1BsYXRmb3JtU2VydmljZTtpZihXKXt2YXIgRD1RZ2kuZmluZChiPT5XLmhhcyhiKSk7CkQmJihEPVcub3BlbihELCgpPT57fSkpJiYoRC5zZW5kKEl3KGBjcG46ICR7bn1gKS5idWZmZXIpLEQuY2xvc2UoKSl9fTsKZy53aj1mdW5jdGlvbihuLFcsRCxiKXtnLkZCKG4sRCxgJHtXLnRvRml4ZWQoMyl9OiR7Yi5qb2luKCI6Iil9YCl9OwpNUD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtnLndqKG4sVywiY210IixbRC50b0ZpeGVkKDMpXSk7dmFyIGI9RD1uLnByb3ZpZGVyLm90KCk7aWYoKCFuLmp8fEFKKG4ucHJvdmlkZXIudmlkZW9EYXRhKT8wOmIqMUUzPm4uai52TysxMDApJiZuLmope2I9bi5qLmlzQWQ7RD1EKjFFMy1uLmoudk87bi5lST1XKjFFMy1uLmoudFMtRC1uLmouT2E7dmFyIHY9KDAsZy5SKSgpLUQ7Vz1uLmVJO0Q9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIGs9RC5pc0FkKCk7aWYoYnx8ayl7az1gJHtiPyJhZCI6InZpZGVvIn1fdG9fJHtrPyJhZCI6InZpZGVvIn1gO3ZhciBoPXt9O0Qua1cmJihoLmN0dEF1dGhJbmZvPXt0b2tlbjpELmtXLHZpZGVvSWQ6RC52aWRlb0lkfSk7aC5zdGFydFRpbWU9di1XO2cuYmQoayxoKTtnLm5sKHt0YXJnZXRWaWRlb0lkOkQudmlkZW9JZCx0YXJnZXRDcG46RC5jbGllbnRQbGF5YmFja05vbmNlfSxrKTtnLmFMKCJwYnMiLHYsCmspfWVsc2Ugdj1uLnByb3ZpZGVyLkwuZUcoKSx2LlYhPT1ELmNsaWVudFBsYXliYWNrTm9uY2U/KHYuaj1ELmNsaWVudFBsYXliYWNrTm9uY2Usdi5KPVcpOkQuTlAoKXx8Zy5HcShuZXcgZy5ReCgiQ1NJIHRpbWluZyBsb2dnZWQgYmVmb3JlIGdsbGF0Iix7Y3BuOkQuY2xpZW50UGxheWJhY2tOb25jZX0pKTtuLlUoImdsbGF0Iix7bDpuLmVJLnRvRml4ZWQoKSxwcmV2X2FkOitifSk7ZGVsZXRlIG4uan19OwpnLkZCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkouZ2V0KFcpO2I/Yi5wdXNoKEQpOm4uSi5zZXQoVyxbRF0pfTsKUXU9ZnVuY3Rpb24obixXKXtuLmlzT2ZmbGluZT1XO2cud2oobixnLlJrKG4ucHJvdmlkZXIpLCJpc19vZmZsaW5lIixbbi5pc09mZmxpbmU/IjEiOiIwIl0pfTsKVnU9ZnVuY3Rpb24obixXLEQpe2lmKCFpc05hTihELlc3KSl7bGV0IGI9RC5XNztELko8YiYmKGI9RC5KKTtnLndqKG4sVywiYmgiLFtiLnRvRml4ZWQoMyldKX19OwpjbD1mdW5jdGlvbihuLFc9TmFOKXtXPVc+PTA/VzpnLlJrKG4ucHJvdmlkZXIpO3ZhciBEPW4ucHJvdmlkZXIuTC5ISygpLGI9RC5Fci0obi52Snx8MCk7Yj4wJiZnLndqKG4sVywiYndtIixbYiwoRC5vdy0obi5FNXx8MCkpLnRvRml4ZWQoMyldKTtpc05hTihuLnZKKSYmRC5FciYmbi5pc09mZmxpbmUmJlF1KG4sITEpO24udko9RC5FcjtuLkU1PUQub3c7aXNOYU4oRC5iYW5kd2lkdGhFc3RpbWF0ZSl8fGcud2oobixXLCJid2UiLFtELmJhbmR3aWR0aEVzdGltYXRlLnRvRml4ZWQoMCldKTtuLnByb3ZpZGVyLkIuV1goKSYmT2JqZWN0LmtleXMoRC5OKS5sZW5ndGghPT0wJiZuLlUoImJ3aW5mbyIsRC5OKTtpZihuLnByb3ZpZGVyLkIuV1goKXx8bi5wcm92aWRlci5CLlMoImh0bWw1X2xvZ19tZW1pbmZvIikpYj1oUXgoKSxPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9PXZvaWQgMCkmJm4uVSgibWVtaW5mbyIsYik7Cm4ucHJvdmlkZXIuQi5XWCgpJiYoYj1uLnlFPy5YKCkpJiZPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9bnVsbCkmJm4uVSgiY3B1aW5mbyIsYik7Cm4uVEMmJmcud2oobixXLCJiYXQiLFtuLlRDLmxldmVsLG4uVEMuY2hhcmdpbmc/IjEiOiIwIl0pO2I9bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO24uVTUhPT1iJiYoZy53aihuLFcsInZpcyIsW2JdKSxuLlU1PWIpO01QKG4sVyk7KGI9Y2NaKG4ucHJvdmlkZXIpKSYmYiE9PW4uWSQmJihnLndqKG4sVywiY29ubiIsW2JdKSxuLlkkPWIpO1Z1KG4sVyxEKX07Cm5PTT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5SayhuLnByb3ZpZGVyKTtheVoobixiLFcsMCxEKTtjbChuLGIpO2FrKG4pfTsKbkM9ZnVuY3Rpb24obixXKXtnLkZCKG4sImNhdCIsVyl9OwpXVGg9ZnVuY3Rpb24obixXKXtXPXtjcG46bi5wcm92aWRlci52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxzZXF1ZW5jZU51bWJlcjpXLHNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQ6bi5wcm92aWRlci52aWRlb0RhdGEubTB9O24uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQmJihXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0PWxwKG4uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQpfHx2b2lkIDApO24ucHJvdmlkZXIudmlkZW9EYXRhLnBsYXllclJlc3BvbnNlQ3BuJiYoVy5wbGF5ZXJSZXNwb25zZUNwbj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5wbGF5ZXJSZXNwb25zZUNwbik7V3IubGVuZ3RoJiYoVy5kZWNvZGVySW5mbz1Xcik7bi5yZW1vdGVDb250cm9sTW9kZSYmKFcucmVtb3RlQ29udHJvbE1vZGU9bi5yZW1vdGVDb250cm9sTW9kZSk7Cm4ucmVtb3RlQ29ubmVjdGVkRGV2aWNlcy5sZW5ndGgmJihXLnJlbW90ZUNvbm5lY3RlZERldmljZXM9bi5yZW1vdGVDb25uZWN0ZWREZXZpY2VzKTtpZihuLlBYPy5sZW5ndGgpe1cuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhPVtdO2Zvcih2YXIgRCBvZiBuLlBYKXtsZXQgYj1nLmQxKEQpO2ImJlcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLnB1c2goYil9fSFuLmpXJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhJiYoVy5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhPVtdLEQ9Zy5kMShuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhKSkmJihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEucHVzaChEKSxuLmpXPSEwKTtuLlkuc2l6ZSYmKFcuZGFpQ3VlUG9pbnRFdmVudHM9QXJyYXkuZnJvbShuLlkudmFsdWVzKCkpKTtuLlkuY2xlYXIoKTtyZXR1cm4gV307CkRCaT1mdW5jdGlvbihuKXt2YXIgVz17Li4ubn07bi5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEmJihXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YS5tYXAoRD0+RCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Zy5FQShEKTpEKSk7Cm4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEubWFwKEQ9PkQgaW5zdGFuY2VvZiBVaW50OEFycmF5P2cuRUEoRCk6RCkpOwpuLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0JiYobj1uLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0LG4gaW5zdGFuY2VvZiBVaW50OEFycmF5JiYoVy5zZXJpYWxpemVkSG91c2VCcmFuZFBsYXllclNlcnZpY2VMb2dnaW5nQ29udGV4dD1nLkVBKG4pKSk7cmV0dXJuIFd9OwpiUFM9ZnVuY3Rpb24obixXLEQpe2cuSEUobi5wcm92aWRlci5CLG4ucHJvdmlkZXIudmlkZW9EYXRhLlYoKSkudGhlbihiPT57dmFyIHY9ITE7Vy5pbmNsdWRlcygiJmR0PSIpfHxXLmluY2x1ZGVzKCImY290bj0iKT92PSEwOm4ucHJvdmlkZXIuQi5TKCJxb2Vfd2l0aF9uZXR3b3JrbGVzcyIpJiYodj0hMCk7dmFyIGs9bi5wcm92aWRlci5CLlMoInFvZV9zZW5kX2FuZF93cml0ZSIpLGg9bi5wcm92aWRlci5CO2I9alIoVyxoLG4ucHJvdmlkZXIuQi5wYWdlSWQsbi5wcm92aWRlci5CLnNlbmRWaXNpdG9ySWRIZWFkZXI/bi5wcm92aWRlci52aWRlb0RhdGEudmlzaXRvckRhdGE6dm9pZCAwLGIpO2guUygiaHRtbDVfc2ltcGxpZnlfcGluZ3MiKSYmKGI9Ynx8e30pO2I/KGIubWV0aG9kPSJQT1NUIixiLnBvc3RCb2R5PUQsQ0QoVyxiLHt0b2tlbjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5rVyx5bzpuLnByb3ZpZGVyLnZpZGVvRGF0YS5RdixtZHhFbnZpcm9ubWVudDpuLnByb3ZpZGVyLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudH0sCmgsdm9pZCAwLHYsayYmbi5TJCkpOnY/KHY9bi5wcm92aWRlci5CLlMoIm5ldHdvcmtsZXNzX2FqYXgiKSxoPXttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9LGsmJm4uUyQ/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLGgpOnY/Zy5lZChXLHttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9KTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShXLGgpKTpndncoVyxEKX0pfTsKYWs9ZnVuY3Rpb24obil7aWYoIW4ucHJvdmlkZXIuQi5TKCJodG1sNV9xb2Vfbm9fbGVuX2NoZWNrIikpe3ZhciBXPTA7Zm9yKGxldCBbRCxiXW9mIG4uSi5lbnRyaWVzKCkpVys9RC5sZW5ndGgrTnVtYmVyKGcudV8oYiwodixrKT0+ditrLmxlbmd0aCwwKSk7Clc+OTZFMyYmKG5ldyBnLmZfKG4ucmVwb3J0U3RhdHMsMCxuKSkuc3RhcnQoKX19Owp2TzI9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuWVomJm5DKG4sInByZWZldGNoIik7bi5wcm92aWRlci52aWRlb0RhdGEuUyQmJm4uVSgicmVsb2FkIix7cjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5yZWxvYWRSZWFzb24sY3Q6bi5wcm92aWRlci52aWRlb0RhdGEuUyR9KTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5JUiYmbkMobiwibW9uaXRvciIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuQyhuLCJsaXZlIik7TnMmJm5DKG4sInN0cmVhbWluZyIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmk1JiZuLlUoImN0cmwiLHttb2RlOm4ucHJvdmlkZXIudmlkZW9EYXRhLmk1fSwhMCk7aWYobi5wcm92aWRlci52aWRlb0RhdGEuVUspe3ZhciBXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlVLLnJlcGxhY2UoLywvZywiXyIpO24uVSgieXRwIix7dHlwZTpXfSwhMCl9bi5wcm92aWRlci52aWRlb0RhdGEuVDQmJihXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlQ0LnJlcGxhY2UoLywvZywKIi4iKSxuLlUoInl0cmV4cCIse2lkczpXfSwhMCkpO24ucHJvdmlkZXIuQi5XWCgpJiZuLlUoIm5vdyIse3d0OigwLGcuUikoKX0pO1c9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIEQ9bi5wcm92aWRlci5CLlMoImVuYWJsZV93aGl0ZV9ub2lzZSIpfHxuLnByb3ZpZGVyLkIuUygiZW5hYmxlX3dlYmdsX25vb3AiKSxiPWcua3AoVyl8fGcuSFQoVyl8fGcuZkEoVyl8fGcuSkQoVyk7KER8fGIpJiYoRD0oMCxnLkRWKSgpKSYmbi5KLnNldCgiZ3B1IixbRF0pO09TKG4ucHJvdmlkZXIudmlkZW9EYXRhKSYmZy53aihuLGcuUmsobi5wcm92aWRlciksImR0IixbIjEiXSk7Vy5jb3RuJiYhT1MoVykmJlF1KG4sITApO24ucHJvdmlkZXIuQi5XWCgpJiYoVz0oMCxnLlIpKCktbi5wcm92aWRlci5CLkN1LG4uVSgicGxheWVyYWdlIix7c2VjczooMS42KipNYXRoLnJvdW5kKE1hdGgubG9nKFcvMUUzKS9NYXRoLmxvZygxLjYpKSkudG9GaXhlZCgpfSkpO24uVj0hMDtuLks9VzAoKCk9PntuLnJlcG9ydFN0YXRzKCl9LAoxRTQpfTsKYXlaPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5wcm92aWRlci5CLk4uY2JydmVyO24ucHJvdmlkZXIuQi5OLmNicj09PSJDaHJvbWUiJiYvXjk2Wy5dLy50ZXN0KGspJiZEPT09Im5ldC5iYWRzdGF0dXMiJiYvcmNcLjUwMC8udGVzdCh2KSYmYm0obiwzKTsvYjI0ODE4MDI3OC8udGVzdCh2KSYmYm0obiw0KTtrPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtiPWI9PT0xPyJmYXRhbCI6IiI7RD1bRCxiLGsudG9GaXhlZCgzKV07YiYmKHYrPWA7YTZzLiR7TGMoKX1gKTt2JiZELnB1c2goa29yKHYpKTtnLndqKG4sVywiZXJyb3IiLEQpO24uVj0hMH07CmJtPWZ1bmN0aW9uKG4sVyl7bi5ZWnx8KGcuRkIobiwiZmNueiIsYCR7V31gKSxuLllaPSEwKX07CmhEMT1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKEQhPT1uLk4pe24uZSR8fFc8bi5XfHwobi5OPT09IlBMIj9uLnBsYXlUaW1lU2Vjcys9Vy1uLlc6bi5OPT09IkIiJiZuLmlzQnVmZmVyaW5nJiYobi5pc0J1ZmZlcmluZz0hMSxuLnJlYnVmZmVyVGltZVNlY3MrPVctbi5WUSwhbi5SYSYmbi5yZWJ1ZmZlclRpbWVTZWNzPj0xMCYmbi5wbGF5VGltZVNlY3M8PTE4MCYmKG4uSi5zZXQoInFvZWFsZXJ0IixbIjEiXSksbi5SYT0hMCkpLEQhPT0iQiJ8fG4uTiE9PSJQTCImJm4uTiE9PSJQQiJ8fChuLmlzQnVmZmVyaW5nPSEwKSxuLlc9Vyk7bi5OPT09IlBMIiYmKEQ9PT0iQiJ8fEQ9PT0iUyIpfHxuLnByb3ZpZGVyLkIuV1goKT9jbChuLFcpOihuLmZCfHxEIT09IlBMInx8KG4uZkI9ITAsVnUobixXLG4ucHJvdmlkZXIuTC5ISygpKSksTVAobixXKSk7RD09PSJQTCImJmcuSmEobi5NZCk7dmFyIGs9W0RdO0Q9PT0iUyImJmImJmsucHVzaChgc3MuJHtifWApO0Q9PT0iUEEiJiZ2JiZrLnB1c2goYHNyLiR7dn1gKTsKZy53aihuLFcsInZwcyIsayk7bi5OPUQ7bi5WUT1XO24uVz1XO24uVj0hMH19Owp4Qmg9ZnVuY3Rpb24obil7aWYoIShuLlg+PTApKWlmKG4ucHJvdmlkZXIuQi5OZHx8bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpIT09Myl7dmFyIFc9bi5wcm92aWRlci5MLnpzKCExKSxEPW4ucHJvdmlkZXIuTC56cyghMCk7bi5VKCJ1c2VyX2ludGVudF9iaCIse2JoOlcudG9GaXhlZCgzKSx0aDpELnRvRml4ZWQoMyl9KTtuLlg9Zy5SayhuLnByb3ZpZGVyKX1lbHNlIG4uQ3U9ITB9OwpMVGI9ZnVuY3Rpb24obixXKXtpZihnLm1NKG4ucHJvdmlkZXIudmlkZW9EYXRhKSl7bj00O3ZhciBEPTF9ZWxzZSBuPVcuc291cmNlPz8wO249YHNtcy4ke259YDtEIT09dm9pZCAwJiYobis9YF8ke0R9YCk7cmV0dXJuIG59Owp2YXIgQTExPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDEsNDM2MixuLFcpfTsKdnI9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9Zy5SayhuLnByb3ZpZGVyKTtEIT09MSYmRCE9PTMmJkQhPT01fHxnLndqKG4seCwidnBzIixbbi5OXSk7Zy5GQihuLCJ4dnQiLGB0LiR7eC50b0ZpeGVkKDMpfTttLiR7aC50b0ZpeGVkKDMpfTtnLiR7V307dHQuJHtEfTtucC4ke2J9O2MuJHt2fTtkLiR7a31gKX07Cmtvcj1mdW5jdGlvbihuKXsvW15hLXpBLVowLTk7LiFfLV0vLnRlc3QobikmJihuPW4ucmVwbGFjZSgvWytdL2csIi0iKS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIikpO3JldHVybiBufTsKT2I9ZnVuY3Rpb24obixXKXtpZihuLlpEJiYhbi5PbilyZXR1cm4gMztpZihuLmlzU3VzcGVuZGVkKXJldHVybiAxO2lmKG4ubWVkaWFTb3VyY2U/LmJkKCkpcmV0dXJuIDQ7dmFyIEQ9KFcuUEouaW5mby5hdWRpbz9uLnBvbGljeS52SjpuLnBvbGljeS5lJCkvKFcuTnMqbi5wb2xpY3kud3kpO2lmKG4ucG9saWN5LmNIPjAmJm4ubWVkaWFTb3VyY2UmJm42KG4ubWVkaWFTb3VyY2UpJiYoVz1XLlBKLmluZm8udmlkZW8/bi5tZWRpYVNvdXJjZS5KOm4ubWVkaWFTb3VyY2UuTikmJiFXLnl1KCkpe1c9Vy5aRigpO2xldCBiPUNNKFcsbi5nZXRDdXJyZW50VGltZSgpKTtiPj0wJiYoVz1uLmdldEN1cnJlbnRUaW1lKCktVy5zdGFydChiKSxEKz1NYXRoLm1heCgwLE1hdGgubWluKFctbi5wb2xpY3kuY0gsbi5wb2xpY3kuQmQpKSl9bi5wb2xpY3kuTz4wJiYoRD1NYXRoLm1pbihELG4ucG9saWN5Lk8pKTtyZXR1cm4gRH07CmRWPWZ1bmN0aW9uKG4sVyxEKXtlRGIobixELnFkfHwidW5rbm93biIpO24uTC5zZWVrVG8oVyxEKX07CmcuZEM9ZnVuY3Rpb24obixXLEQsYix2KXtuLkwuZ2V0VmlkZW9EYXRhKCkuREYoKT92JiZuLnhXLlRDK3YvMUUzPkQmJihuLlUoInNkYWkiLHtzZWc6YixyYnQ6RC50b0ZpeGVkKDMpLGVuZDpuLnhXLlRDLnRvRml4ZWQoMyksc2Q6di50b0ZpeGVkKDMpfSksbi5YJCghMSwicm9sbGJhY2siKSk6bi5wb2xpY3kuVTEmJm4uWCQoITEsInJvbGxiYWNrIik7aWYobi5LdS5pc01hbmlmZXN0bGVzcyl7dj1VNChuLmF1ZGlvVHJhY2ssYixELFcpO3ZhciBrPVU0KG4udmlkZW9UcmFjayxiLEQsVyk7bi5wb2xpY3kuczV8fChrJiZUeChuLkt1LGIsITApLHYmJlR4KG4uS3UsYiwhMSkpO2smJm4udmlkZW9UcmFjay5rSSgpO3YmJm4uYXVkaW9UcmFjay5rSSgpO24uVSgic2RhaSIse3JvbGxiazJfc2VnOmIscmJ0OkQudG9GaXhlZCgzKSxsdDpXLnRvRml4ZWQoMyksYTp2LHY6a30pOyh2fHxrKSYmbi5wb2xpY3kuVTEmJmcuQWcobil9fTsKWUM9ZnVuY3Rpb24obixXKXtuLmhhbmRsZUVycm9yKCJmbXQudW5wYXJzZWFibGUiLFcsMSl9OwpnLkFnPWZ1bmN0aW9uKG4pe2cuSmEobi5uTil9OwpTek09ZnVuY3Rpb24obil7dmFyIFc9bi5qbCgpLmZpbHRlcihEPT5ELm5hbWVzcGFjZT09PSJhZCIpOwpmb3IobGV0IEQgb2YgVylpZihELnN0YXJ0LzFFMz5uLmdldEN1cnJlbnRUaW1lKCkpcmV0dXJuIEQuc3RhcnQvMUUzO3JldHVybiBJbmZpbml0eX07CmM2PWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLnFHPVd9OwpIJGg9ZnVuY3Rpb24obixXKXtpZih4TihXLkF3W1cuQXcubGVuZ3RoLTFdKSl7YTp7dmFyIEQ9bi5jVjtXPVcuQXdbMF0uUEo7aWYoVy5pbmZvLnZpZGVvKXtpZihELlchPT1XKXtELlc9VztEPVMkaChEKTticmVhayBhfX1lbHNlIEQuSEo9RC5WIT09VyxELlY9VztEPW51bGx9Z09DKG4sRCl9fTsKUW89ZnVuY3Rpb24obil7bi5wb2xpY3kuSEQmJm4ucG9saWN5LmU0JiZNYXRoLm1pbihnVEMobi52aWRlb1RyYWNrKSxnVEMobi5hdWRpb1RyYWNrKSkqMUUzPm4ucG9saWN5Lm0kP2cuSmEobi5aSyk6bi5oVCgpfTsKQjY9ZnVuY3Rpb24obixXLEQsYj0hMSl7YiYmIVcuVEMmJihWVCgpfHwoYj1XLlFFKSYmIWIudFooRC5pbmZvKSYmbi5MLkJvKCksVy5UQz0hMCk7Vy5QSiE9PUQmJihXLlBKPUQpfTsKd3U9ZnVuY3Rpb24obil7cmV0dXJuIG4uSXc8bi5peH07ClIkPWZ1bmN0aW9uKG4pe24uemkoKTtuLlhhLmlzU2Vla2luZygpO24uUXUmJkRMYihuLlF1LG4udmlkZW9UcmFjay5QSik7Zy5BZyhuKTtyZXR1cm4gRWIobi5YYSl9Owpkaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFZpZGVvRGF0YSgpLnpXKCl8fG4ucG9saWN5Lm1EfTsKelMyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKE9iKG4sVykrbi5wb2xpY3kualIpKlcuTnN9OwpFUlM9ZnVuY3Rpb24obil7aWYobi5MLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXJldHVybiExO3ZhciBXPW4uTC5oNSgpO2lmKCFXKXJldHVybiExO1c9Vy5nZXREdXJhdGlvbigpO2lmKG4ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KKXt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj1uLm1lZGlhU291cmNlLk4uWkYoKTtuPW4ubWVkaWFTb3VyY2UuSi5aRigpO2I9Yj9GWihiLEQpOkQ7RD1uP0ZaKG4sRCk6RDtEPU1hdGgubWluKGIsRCk7Vz1pc05hTihEKT8hMTpEPj1XLS4wMX1lbHNlIFc9ITE7cmV0dXJuIFd9OwpYemg9ZnVuY3Rpb24obixXLEQpe2lmKCEobi52aWRlb1RyYWNrLlBKLk4oKSYmbi5hdWRpb1RyYWNrLlBKLk4oKSYmbi5tZWRpYVNvdXJjZSYmbi5tZWRpYVNvdXJjZS5KJiZuLm1lZGlhU291cmNlLk4pKXJldHVybiExO2lmKEQmJm4uS3UuaXNNYW5pZmVzdGxlc3MmJihuLnZpZGVvVHJhY2suWD09PS0xfHxuLmF1ZGlvVHJhY2suWD09PS0xKSlyZXR1cm4hMDt2YXIgYj1LdihuLnZpZGVvVHJhY2ssVyxEKTtpZihpc05hTihiKSlyZXR1cm4hMTtuPUt2KG4uYXVkaW9UcmFjayxuLnBvbGljeS5FNT9XOmIsRCk7cmV0dXJuIGlzTmFOKG4pPyExOiEwfTsKcUoyPWZ1bmN0aW9uKG4pe24uUWo/Llh0Py5pdGFnRGVueWxpc3QmJm4uV0Yobi5Raj8uWHQuaXRhZ0RlbnlsaXN0KTtuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5JiZsUyhuLnBvbGljeSxuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5LDMsbi5Raj8uY0EoKSk7aWYobi5wb2xpY3kuY0wpe3ZhciBXPW4uRTEoKTsoVz1XP24uUWo/LkR3LmdldChXKTp2b2lkIDApJiZuLnhXLnN5KFcsLTEpfW4uS3UuT3x8bi5wb2xpY3kuV2l8fChXPW4uUWo/LlFXLFc/LndmJiZXPy52NyYmbi5LdS56VyYmQzYobi5LdSxXLndmLFcudjcpKTtpZihuLlFqPy5NUyl7Vz1uLlFqLk1TLmdldChuLkUxKCl8fCIiKTtpZighVylyZXR1cm47aWYobi5LdSYmVy5mb3JtYXRJZCl7bGV0IEQ9bi5LdS5KLmdldChNayhXLmZvcm1hdElkKSk7RCYmKEQuaW5mby5kZWJ1Z0luZm89Vy5kZWJ1Z0luZm8pfX1uLnBvbGljeS5EJiYobi5Raj8uckIoKS5mb3JFYWNoKEQ9PntuLmk4KEQpfSksbi5Raj8uRm8oKSl9Owp0OWg9ZnVuY3Rpb24obil7aWYoIW4uS3UuelcpcmV0dXJuITA7dmFyIFc9bi5MLmdldFZpZGVvRGF0YSgpO2lmKG4uTC5PUCgpKXJldHVybiBuLlUoIm9tYnBhIix7fSksITE7aWYoISFuLlFqPy5RVz8uWjMhPT1uLkt1LlhnKXJldHVybiBuLlUoIm9tYnBsbW0iLHt9KSwhMTt2YXIgRD1XLlRDfHxXLmxpdmVVdGNTdGFydFNlY29uZHN8fFcuVXI7aWYobi5LdS5YZyYmRClyZXR1cm4gbi5VKCJvbWJwbHN0Iix7fSksITE7aWYobi5LdS5PfHxuLnBvbGljeS5XaSlyZXR1cm4gbi5VKCJvbWJhYiIse30pLCExO0Q9RGF0ZS5ub3coKTtpZighVy5saXZlUHJlbG9hZCYmRnYobi5LdSkmJiFpc05hTihuLkNIKSYmRC1uLkNIPm4ucG9saWN5LkZVKjFFMylyZXR1cm4gbi5VKCJvbWJ0dGwiLHt9KSwhMTtpZih4cChXKSE9PTAmJiFuLnBvbGljeS5OfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9tb3NhaWMiKSYmVy5aaCgpfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9saWZhX2VsaWdpYmxlIikmJgpweihXKSlyZXR1cm4hMTtpZihuLkwuRygpLlp0KCkuTi5RUShHb00pJiYoVz1uLlFqPy5waygpPz8wLFc+PTAmJm4uS3UuaXNXaW5kb3dlZExpdmUmJihXPG4uS3UuSlUqMUUzfHxXPm4uS3Uub1IqMUUzKSkpcmV0dXJuIG4uVSgib21id25kIix7c3Q6VyxtaW46bi5LdS5KVSoxRTMsbWF4Om4uS3Uub1IqMUUzfSksITE7aWYobi5LdS5JdCYmbi5LdS5pc1dpbmRvd2VkTGl2ZSlpZihuLkwuRygpLlMoImh0bWw1X3VzZV9vbmVzaWVfd2luZG93ZWRfbGl2ZV9tZWRpYSIpKW4uVSgib21hbWluc3EiLHt9KTtlbHNlIHJldHVybiBuLlUoIm9tYm1pbnNxIix7fSksITE7cmV0dXJuITB9OwprYz1mdW5jdGlvbihuLFcpe3ZhciBEPWN3KFcuUEosbi5LdS56VyksYj1uLmhtPy5mMyhEKXx8W107aWYoYi5sZW5ndGg9PT0wKXJldHVybiBuLlUoIm9tYm1zaSIse30pLCExO2I9bmV3IHdrKGIpO2lmKCghbi5wb2xpY3kudHd8fGlzRmluaXRlKG4uZ2V0Q3VycmVudFRpbWUoKSl8fG4uTC5lSigpKSYmIWIua2Yobi5nZXRDdXJyZW50VGltZSgpKSYmIW4uTC5nZXRWaWRlb0RhdGEoKS5saXZlUHJlbG9hZClyZXR1cm4gbi5VKCJvc3RtZiIse2N0Om4uZ2V0Q3VycmVudFRpbWUoKSxhOlcuUEouaW5mby5lUygpfSksITE7bi5obT8uRVMoRCk7cmV0dXJuITB9OwokQmk9ZnVuY3Rpb24obixXKXt2YXIgRD1XLlBKLGI9bi5LdS56VztpZih0OWgobikpaWYobi5obSYmbi5obS5nRihjdyhELGIpKSl7aWYoYj1jdyhELGIpLGtjKG4sVykpe3ZhciB2PW5ldyB3ayhuLmhtLmYzKGIpKSxrPWg9Pnt0cnl7aC50bigpPyhuLmhhbmRsZUVycm9yKGguVkcoKSxoLnkwKCkpLEU0KFcsaCkseXMoaC5pbmZvKSYmQ3Iobi5OeSxXLEQsITApLG4uaFQoKSk6RjAobi5OeSxoKSYmKG4uSkM/LlMkKGguaW5mbyxuLnNVKSxuLmhUKCkpfWNhdGNoKHgpe2g9QiQoeCksbi5oYW5kbGVFcnJvcihoLmVycm9yQ29kZSxoLmRldGFpbHMsaC5zZXZlcml0eSksbi56aSgpfX07CkQuY0o9ITA7VXYodikmJihPNChXLG5ldyBTbihuLnBvbGljeSxiLHYsbi5obSxrKSksaXUobi50aW1pbmcpKX19ZWxzZSBuLlUoIm9tYmZtdCIse30pfTsKcjdoPWZ1bmN0aW9uKG4pe24ucG9saWN5LlgmJm4uUWomJihuLlFqLkd3LmZvckVhY2goVz0+e24uSm0oVywtMSl9KSxuLlFqLkd3PVtdKX07CmgyPWZ1bmN0aW9uKG4sVyl7Vz1XfHxuLnZpZGVvVHJhY2smJm4udmlkZW9UcmFjay5OJiZuLnZpZGVvVHJhY2suTi5zZWdtZW50U3RhcnRUaW1lfHxuLmdldEN1cnJlbnRUaW1lKCk7dmFyIEQ9QjYsYj1uLnZpZGVvVHJhY2ssdj1uLmNWO1c9di5uZXh0VmlkZW8mJnYubmV4dFZpZGVvLmluZGV4LlIzKFcpfHwwO3YuY0ohPT1XJiYodi5iZD17fSx2LmNKPVcsUnEodix2Lk4pKTtXPSF2Lk4uaXNMb2NrZWQoKSYmdi5ZPi0xJiYoMCxnLlIpKCktdi5ZPHYucG9saWN5LkFrKjFFMzt2YXIgaz12Lm5leHRWaWRlbyYmTXEodix2Lm5leHRWaWRlby5pbmZvKSozPE5XKHYuSWcpO2lmKCFXfHxrKVZCKHYpLGNwKHYpLHYuTz12Lk98fHYubmV4dFZpZGVvIT09di5XO3YubmV4dFZpZGVvJiYhdi5uZXh0VmlkZW8uaW5kZXguaXNMb2FkZWQoKSYmKHYuY0o9LTEpO0QobixiLHYubmV4dFZpZGVvKTtCNihuLG4uYXVkaW9UcmFjayxuLmNWLkopfTsKZURiPWZ1bmN0aW9uKG4sVyl7aWYoIWlzTmFOKG4uajApKXtsZXQgRD1EYXRlLm5vdygpLW4uajA7RDwxRTQmJm4uVSgiYmZhc3d0Y2giLHtlcDpELHNrOlchPT12b2lkIDA/IjEiOiIwIixzcjpXfHwiIn0pfX07ClhiPWZ1bmN0aW9uKG4pe2E6e2lmKG4uSGcoKSYmbWQobi52aWRlb1RyYWNrKSYmbWQobi5hdWRpb1RyYWNrKSYmbi5MLkhvKCkmJiFuLkwuVjAoKSYmIW4ubWVkaWFTb3VyY2U/Lk4/LmlRKCkmJiFuLm1lZGlhU291cmNlPy5KPy5pUSgpJiYhbi5BYil7dmFyIFc9bi5MLlhTPy5YKCk7aWYoIVcpYnJlYWsgYTtuLmF1ZGlvVHJhY2suSlgoKTtuLnZpZGVvVHJhY2suSlgoKTtuLkFiPVd9aWYoVz1uLkhnKCkmJm4uTC5IbygpJiYhbi5MLlYwKCkpaWYobi5BYiYmbi5BYi5KJiZuLkFiLk4mJm4udmlkZW9UcmFjay5EZygpJiZuLmF1ZGlvVHJhY2suRGcoKSl7dmFyIEQ9bi52aWRlb1RyYWNrLlcuYjcoKTtXPW4uYXVkaW9UcmFjay5XLmI3KCk7dmFyIGI9bi5BYj8uSi5aRigpLHY9bi5BYj8uTi5aRigpO0QmJlc/KEQ9QlIoYixrTihELmluZm8pLS4xKSxXPUJSKHYsa04oVy5pbmZvKS0uMSksVz1EJiZXKTpXPSExfWVsc2UgVz0hMTtXJiZuLkwuWFM/LlcoKX1pZihuLm1lZGlhU291cmNlKWlmKFc9Cm4uQWJ8fG4ubWVkaWFTb3VyY2Usdj1XLk4sRD1XLkosczdyKG4sbi5hdWRpb1RyYWNrKSxzN3IobixuLnZpZGVvVHJhY2spLGI9TjNDKG4pKXtpZihuLnBvbGljeS5lNCl7aWYoIXYuRDkoKSYmKFc9aVkobi5hdWRpb1RyYWNrKSkpe2lmKCF4YyhuLG4uYXVkaW9UcmFjayx2LFcuaW5mbykpcmV0dXJuO0xDKG4sbi5hdWRpb1RyYWNrLHYsVyl9aWYoIUQuRDkoKSYmKFc9aVkobi52aWRlb1RyYWNrKSkpe2lmKCF4YyhuLG4udmlkZW9UcmFjayxELFcuaW5mbykpcmV0dXJuO0xDKG4sbi52aWRlb1RyYWNrLEQsVyl9fW4ubXh8fChuLm14PSgwLGcuUikoKSxuLnBvbGljeS5XJiZuLlUoImFwZHBzIix7cjpifSkpfWVsc2V7aWYobi5teCl7Yj1uLm14O3ZhciBrPSgwLGcuUikoKS1iO2xldCBoPW4uYXVkaW9UcmFjay56cyghMCkqMUUzLHg9bi52aWRlb1RyYWNrLnpzKCEwKSoxRTM7bi5wb2xpY3kuVyYmKG4uVSgiYXBkcGUiLHtkdXI6ay50b0ZpeGVkKCksYWJ1ZjpoLnRvRml4ZWQoKSx2YnVmOngudG9GaXhlZCgpfSksCmR1KG4ucG9saWN5KSYmKGs9Tlcobi5JZyksbi5VKCJzZHBzIix7Y3Q6YixhaDpoLnRvRml4ZWQoKSx2aDp4LnRvRml4ZWQoKSxtcjpwdihuLklnLG4uT24sayksYnc6ay50b0ZpeGVkKCksanM6bi5pc1NlZWtpbmcoKSxyZTorbi5Pbixwczoobi5wb2xpY3kuTTV8fCIiKS50b1N0cmluZygpLHJuOihuLnBvbGljeS5EQ3x8IiIpLnRvU3RyaW5nKCl9KSkpO24ubXg9MH1uLlF1JiYoYj1uLlF1LmhUKG4uYXVkaW9UcmFjayxnLnd5KG4ubWVkaWFTb3VyY2UuSi5aRigpKSkpJiZuLkwuc2Vla1RvKGIse0E5OiEwLHFkOiJwb2xsU3Vic2VnbWVudFJlYWRhaGVhZCIscWE6ITB9KTtiPSExO3B6aChuLG4udmlkZW9UcmFjayxEKSYmKGI9ITAsRD1uLnRpbWluZyxELld8fChELlc9KDAsZy5SKSgpLGcuRUcoInZkYSIsRC5XLEQuelIpLEQuSiYmKGcuRHkoKSxiUSg0KSkpLEQ9bi50aW1pbmcsRC5WUXx8KEQuVlE9KDAsZy5SKSgpLGcuRUcoInZyYl9mIixELlZRLEQuelIpKSk7VyYmIVcuUEEoKSYmCihwemgobixuLmF1ZGlvVHJhY2ssdikmJihiPSEwLHY9bi50aW1pbmcsdi5KfHwodi5KPSgwLGcuUikoKSxnLkVHKCJhZGEiLHYuSix2LnpSKSx2LlcmJihnLkR5KCksYlEoNCkpKSx2PW4udGltaW5nLHYuWXx8KHYuWT0oMCxnLlIpKCksZy5FRygiYXJiX2YiLHYuWSx2LnpSKSkpLCFuLnFOKCkmJm4ubWVkaWFTb3VyY2UmJighbi5wb2xpY3kuVjYmJm1kKG4udmlkZW9UcmFjaykmJm1kKG4uYXVkaW9UcmFjaykmJm42KFcpJiYhVy55dSgpJiYodj1JJChuLmF1ZGlvVHJhY2spLlBKLHY9PT1uLkt1Lk5bdi5pbmZvLmlkXSYmKG4uTC5HKCkuV1goKSYmbi5MLlUoInNlcyIse2VvczoxfSksbjYoVykmJihXLm1lZGlhU291cmNlP1cubWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTpXLkVWLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKFcuRVYuRU9TX05PX0VSUk9SKSksdj1uLnNjaGVkdWxlLHNuKGUwKHYpKSx2LmNKPSgwLGcuUikoKSx2Lk89ITAsdj0odj1uLnZpZGVvVHJhY2suUEopJiZ2LmluZGV4IGluc3RhbmNlb2YKZ1M/di5pbmRleC5LOnZvaWQgMCxuLkwuRygpLlp0KCkuTi5RUShZSmIpP3Y9PT0iZW1zZyImJm4ucG0oImUiKTpuLnBtKCJlIikpKSxiJiYoVy5OPyFXLk4uc3VwcG9ydHMoMCk6IWFkKCkpJiZnLkFnKG4pKSl9fTsKSFBiPWZ1bmN0aW9uKG4pe24ucG9saWN5LlY2PSExO3RyeXtYYihuKX1jYXRjaChXKXtnLlhqKFcpfX07CmZteD1mdW5jdGlvbihuLFc9ITEpe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KJiYobi5tZWRpYVNvdXJjZS5OLk05KG4uTEwsbiksbi5tZWRpYVNvdXJjZS5KLk05KG4uTEwsbikpO0tyKG4uYXVkaW9UcmFjayxudWxsLFcpO0tyKG4udmlkZW9UcmFjayxudWxsLFcpO24ubWVkaWFTb3VyY2UmJihuLm1lZGlhU291cmNlLlY9ITEpO24ubWVkaWFTb3VyY2U9bnVsbDtuLkFiPW51bGw7bi5MLlhTPy5yZXNldCgpfTsKSjdpPWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdj0hMSl7S3Iobi52aWRlb1RyYWNrLFcuSnx8bnVsbCxiLHYpO0tyKG4uYXVkaW9UcmFjayxXLk58fG51bGwsYix2KTtuLm1lZGlhU291cmNlPVc7bi5tZWRpYVNvdXJjZS5WPSEwO0R8fG4ucmVzdW1lKCk7Vy5OLmgkKG4uTEwsbik7Vy5KLmgkKG4uTEwsbil9OwpJbWk9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSx2PSExKXtuLnBvbGljeS5UQyYmKG4ucG9saWN5LlZRJiZuLlUoImxvYWRlciIse3NldHNtYjowfSksbi56aSgpLG4ucG9saWN5LlRDPSExKTtmbXgobixiKTtpZighVy5YKCkpe3ZhciBrPWlZKG4udmlkZW9UcmFjayk7az1rP2suaW5mby5QSjpuLnZpZGVvVHJhY2suUEo7bGV0IGg9aVkobi5hdWRpb1RyYWNrKTtMS1UoVyxrLmluZm8sKGg/aC5pbmZvLlBKOm4uYXVkaW9UcmFjay5QSikuaW5mbyxuLnBvbGljeS5wUil9SjdpKG4sVyxELGIsdik7dHJ5e24uaFQoKX1jYXRjaChoKXtnLlhqKGgpfX07CnFtPWZ1bmN0aW9uKG4pe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuUEEoKSYmbi5LMSgpfTsKZ09DPWZ1bmN0aW9uKG4sVyl7VyYmR1gobi5MLG5ldyB0MihXLnZpZGVvLFcucmVhc29uKSk7bi5jVi5ISiYmKFc9WmV3KG4uY1YsImEiKSxuLkwuZ20obmV3IHQyKFcuYXVkaW8sVy5yZWFzb24pKSl9OwpBN3g9ZnVuY3Rpb24obil7bi5CdiYmIW4uaXNTdXNwZW5kZWQmJlRaKG4uc2NoZWR1bGUpJiYoU0paKG4sbi5Cdiksbi5Cdj0iIil9OwpzN3I9ZnVuY3Rpb24obixXKXtpWShXKT8uaXNMb2NrZWQmJm1CYihXKSYmKG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bXVubG9jazppWShXKT8uaW5mby5nYSgpfSksJGMobixXPT09bi5hdWRpb1RyYWNrKSl9OwpOM0M9ZnVuY3Rpb24obil7aWYodGRqKG4udmlkZW9UcmFjaykpcmV0dXJuInNzZiI7aWYobi5wb2xpY3kubnUmJmlZKG4udmlkZW9UcmFjayk/LmlzTG9ja2VkJiZpWShuLmF1ZGlvVHJhY2spPy5pc0xvY2tlZClyZXR1cm4idXBkYXRlRW5kIjtpZihpUyhuLmF1ZGlvVHJhY2spfHxpUyhuLnZpZGVvVHJhY2spJiZuLnZpZGVvVHJhY2suUEouaW5mby5JQiE9PSJmIilyZXR1cm4iIjtpZihuLlhhLmlzU2Vla2luZygpKXt2YXIgVz1uLklnO3ZhciBEPW4udmlkZW9UcmFjazt2YXIgYj1uLmF1ZGlvVHJhY2s7aWYoVy5wb2xpY3kuTil7dmFyIHY9Vy5wb2xpY3kuV2M7ZHUoVy5wb2xpY3kpJiYodj1wdihXLCExLE5XKFcpKSk7Vz12O0Q9Yi56cyghMCk+PVcmJkQuenMoITApPj1XfWVsc2UgRC5KLmxlbmd0aHx8Yi5KLmxlbmd0aD8odj1ELlBKLmluZm8uTnMrYi5QSi5pbmZvLk5zLHY9MTAqKDEtTlcoVykvdiksVz1NYXRoLm1heCh2LFcucG9saWN5LldjKSxEPWIuenMoITApPj1XJiZELnpzKCEwKT49ClcpOkQ9ITA7aWYoIUQpcmV0dXJuImFiciI7RD1uLnZpZGVvVHJhY2s7aWYoRC5KLmxlbmd0aD4wJiZELlcua2koKT09PTEmJkQuVy5XMigpLmluZm8uSzxELlZRKXJldHVybiJzZWVrIn1pZihuLnBvbGljeS5VMSYmJFgxKG4udmlkZW9UcmFjayxuLkpDKSYmJFgxKG4uYXVkaW9UcmFjayxuLkpDKSlyZXR1cm4ic3NkYWkiO0Q9IW4ucG9saWN5LnRNfHxuLmdldEN1cnJlbnRUaW1lKCk8MTA7bi5wb2xpY3kuTnx8KEQ9RHx8bi52aWRlb1RyYWNrLlBKLmluZm8udmlkZW8ucXVhbGl0eU9yZGluYWw+MzYwKTtpZighbi5Pbnx8RClyZXR1cm4iIjtEPW4ucG9saWN5LnRNO2R1KG4ucG9saWN5KSYmKEQ9cHYobi5JZyxuLk9uLE5XKG4uSWcpKSk7RD1YMHQobi52aWRlb1RyYWNrLG4uZ2V0Q3VycmVudFRpbWUoKSxEKXx8WDB0KG4uYXVkaW9UcmFjayxuLmdldEN1cnJlbnRUaW1lKCksRCk7cmV0dXJuIGR1KG4ucG9saWN5KT9EPyJtYm5tIjoiIjoobi52aWRlb1RyYWNrLkoubGVuZ3RoPjB8fApuLmF1ZGlvVHJhY2suSi5sZW5ndGg+MHx8anEobi5OeSxuLnZpZGVvVHJhY2ssbi5hdWRpb1RyYWNrKXx8anEobi5OeSxuLmF1ZGlvVHJhY2ssbi52aWRlb1RyYWNrKSkmJkQ/Im5vcmQiOiIifTsKeGM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9SSQoVyk7IXZ8fHYuYVp8fGJUKHYsYil8fChELmFib3J0KCksbi5wb2xpY3kuZkMmJlcuVj8uWSgpLFcuSz8uVigpKTtpZighRC5LcygpfHxWVCgpKXRyeXtuLnBvbGljeS5Kaz9ELm5hKGIuUEouaW5mby5jb250YWluZXJUeXBlLGIuUEouaW5mby5JQikmJkQuVm8oYi5QSi5pbmZvLmNvbnRhaW5lclR5cGUsYi5QSi5pbmZvLklCLGIuUEouaW5mby5taW1lVHlwZSk6RC5qbihiLlBKLmluZm8uY29udGFpbmVyVHlwZSxiLlBKLmluZm8ubWltZVR5cGUpfWNhdGNoKGspe3JldHVybiBnLkdxKGspLG4uVSgiY3RleHAiLHtuYW1lOmsubmFtZSxtc2c6ay5tZXNzYWdlfSksITF9ZWxzZSBiLlBKLmluZm8uY29udGFpbmVyVHlwZSE9PUQuS3MoKSYmbi5VKCJjdHUiLHtjdDpWVCgpLHByZXZfYzpELktzKCksY3Vycl9jOmIuUEouaW5mby5jb250YWluZXJUeXBlfSk7Yj1iLlBKLlY7bi5wb2xpY3kuRFQmJmImJihXPTArYi5kdXJhdGlvbixiPS1iLk4sCjA9PT1ELk1yKCkmJlc9PT1ELktGKCl8fEQuZTcoMCxXKSxiIT09RC5TVygpJiYoRC55TyhiKSxzNCYmbi5hdWRpb1RyYWNrLlcuQlcoRC5pdygpKSkpO3JldHVybiEwfTsKTEM9ZnVuY3Rpb24obixXLEQsYil7Yi5pbmZvLlBKLk4oKTt2YXIgdj1iLmluZm8uUEouSjtpZighdnx8IUQuam8oKXx8RC5EOSgpPT09dilyZXR1cm4hMTt2YXIgaz12LGg9RC5MRigpO2lmKG4ucG9saWN5LktvJiZoJiZELmlzVmlldygpJiZnLlJCKGIuaW5mby5QSi5pbmZvKSl7bGV0IEw9bmV3IERhdGFWaWV3KHYuYnVmZmVyLHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgpOyhoPVBJQyhMLGgpKT9rPW5ldyBVaW50OEFycmF5KGguYnVmZmVyLGguYnl0ZU9mZnNldCxoLmJ5dGVMZW5ndGgpOm4uVSgiZmVuYyIse30pfW4ucG9saWN5LmtwJiYoaD1LVGkobixiLG5ldyBTNShba10pKSkmJihrPXRSKGgpKTt2YXIgeDsoaD1iLmluZm8uUEouWSgwLGIuaW5mby5jbGlwSWQpKSYmKHg9aC5Bd1swXSk7aWYoYj09PW4uaDcpe2lmKG4uQzErPTEsbi5MLmdldFZpZGVvRGF0YSgpLlMoImh0bWw1X3Nob3J0c19nYXBsZXNzX3Jlc3RhcnRfb25faW5pdF9zZWdfcmV0cmllcyIpJiZuLkMxPjUpcmV0dXJuIG4uQzE9CjAsbi5MLkdtKHtpbml0U2VnU3R1Y2s6MSxhczpiLmluZm8uZ2EoKX0pLCEwfWVsc2Ugbi5DMT0wLG4uaDc9YjtuLnBvbGljeS54aiYmKEQuYWJvcnQoKSxXLks/LlYoKSk7bi5BYiYmRC5pUSgpJiYoRC5hYm9ydCgpLFcuSz8uVigpKTt2PU9QMihuLEQsayx4LHYpO1cuSz8uRCh2LHgpO2lmKHYhPT0wKXJldHVybiBuLnBvbGljeS5aTiYmQUoobi5MLmdldFZpZGVvRGF0YSgpKT8obi5MLm9BKCl8fHJTKG4sInNlcEluaXQiLHYsYi5pbmZvKSxQOVUobi5MLCJzaWUiKSk6clMobiwic2VwSW5pdCIsdixiLmluZm8pLCEwO2IuaW5mby5mWSgpPyhXPW4udGltaW5nLFcuVEN8fChXLlRDPSgwLGcuUikoKSxnLkVHKCJ2aXNfYSIsVy5UQyxXLnpSKSkpOihXPW4udGltaW5nLFcuVnx8KFcuVj0oMCxnLlIpKCksZy5FRygiYWlzX2EiLFcuVixXLnpSKSkpOyhiPWIuaW5mby5QSi5TVSkmJm4uTC5XbihuZXcgcnUoYi5rZXksYi50eXBlKSk7cmV0dXJuIEQueXUoKX07CnB6aD1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kubnUmJmlZKFcpPy5pc0xvY2tlZClyZXR1cm4hMTtpZihELkRjKCkpcmV0dXJuITA7aWYoIUQuam8oKSlyZXR1cm4hMTt2YXIgYj1pWShXKTtpZighYnx8Yi5pbmZvLnR5cGU9PT02KXJldHVybiExO2lmKG4ucG9saWN5LmllfHxuLkpDPy5PKFcsYi5pbmZvLmokKSluLkxvPTA7ZWxzZSByZXR1cm4gbi5YYS5pc1NlZWtpbmcoKSYmZy5BZyhuKSxuLkxvPW4uTG98fCgwLGcuUikoKSwhMTtpZigheGMobixXLEQsYi5pbmZvKSlyZXR1cm4hMTtpZihuLkt1LlcmJmIuaW5mby5OPT09MCl7dmFyIHY7aWYoRC5EOSgpPT1udWxsKXt2YXIgaz1JJChXKTtpZighKHY9IWt8fGsuUEohPT1iLmluZm8uUEopKXtiOmlmKHY9ay5PLGs9Yi5pbmZvLk8sdi5sZW5ndGghPT1rLmxlbmd0aCl2PSExO2Vsc2V7Zm9yKGxldCBoPTA7aDx2Lmxlbmd0aDtoKyspaWYoIXY0KHZbaF0sa1toXSkpe3Y9ITE7YnJlYWsgYn12PSEwfXY9IXZ9fWVsc2Ugdj1ELkQ5KCksCmIuaW5mby5QSi5TJCgpJiZETyhiKSxrPWIuaW5mby5QSi5KLHY9diE9PWsmJiF2NCh2LGspO3YmJihrPUkkKFcpLG4uVSgiaW5pdGNoZyIse2l0OmIuaW5mby5QSi5pbmZvLmlkLHNyOiEhayYmay5QSj09PWIuaW5mby5QSix0eTpiLmluZm8udHlwZSxzZWc6Yi5pbmZvLmokfSkpO2s9Zy5SQihiLmluZm8uUEouaW5mbyk7bi5wb2xpY3kubWgmJmsmJiF2JiYoZy5SQihiLmluZm8uUEouaW5mbyk/KEdqKGcuV1IoYiksMTgzNjAxOTU3NCksR2ooZy5XUihiKSwxNzE4OTA5Mjk2KSk6KHY9bmV3IHRZKGcuV1IoYikpLE9ZKHYpLHNZKHYsNTI0NTMxMzE3LCEwKSxiLko9Yi5KLnNwbGl0KHYuc3RhcnQrdi5wb3MpLlk5KSxiLlY9ITEpfWs9bi5RdSYmISFuLlF1LlgmJlcuUEouaW5mby5hdWRpbzt2PW4uS3UuaXNNYW5pZmVzdGxlc3N8fGIuVjtpZighKG4uS3UuVyYmYi5pbmZvLk4hPT0wfHx2JiYhaykmJkxDKG4sVyxELGIpKXJldHVybiEwO2lmKGspcmV0dXJuITE7az1PYihuLFcpO2s9bi5nZXRDdXJyZW50VGltZSgpKwprO2lmKGIuaW5mby5YPmspcmV0dXJuIG4ucG9saWN5Lk4mJihXPT09bi52aWRlb1RyYWNrP24uYzc9bi5jN3x8KDAsZy5SKSgpOm4uTno9bi5Oenx8KDAsZy5SKSgpKSwhMTtXPT09bi52aWRlb1RyYWNrP24uYzc9MDpuLk56PTA7bi5wb2xpY3kuVTUmJkQ9PT1uLm1lZGlhU291cmNlPy5OJiZuLk9MJiYoRC5mRigpPT09MD8obi5PTD0hMSxuLnBvbGljeS5VNT0hMSk6bi5HSj1ELmZGKCkpO2lmKCFaUGoobixELGIsVykpcmV0dXJuITE7bi5wb2xpY3kubnUmJmIuaW5mby5WKCk/KG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bHM6Yi5pbmZvLmdhKCl9KSxiLmlzTG9ja2VkPSEwKTooVy5aJChiKSxQQzIobi5jVixiLmluZm8pKTt2JiYoVz1iLmluZm8uUEouU1UpJiZuLkwuV24obmV3IHJ1KFcua2V5LFcudHlwZSkpO3JldHVybiEwfTsKWlBqPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uTC5HKCkuWnQoKS5OLlFRKFVCYikmJkQuaW5mby5OJiYhVy5pUSgpKXJldHVybiBuLlUoImRyb3BfY2h1bmsiLHtzcTpELmluZm8uaiQsc3Q6RC5pbmZvLlh9KSwhMDt2YXIgdj1uLnBvbGljeS5SYT8oMCxnLlIpKCk6MCxrPUQuViYmRC5pbmZvLlBKLkp8fHZvaWQgMCxoPUQuSjtELlYmJihoPUtUaShuLEQsaCl8fGgpO3ZhciB4PXRSKGgpO2g9bi5wb2xpY3kuUmE/KDAsZy5SKSgpOjA7Vz1PUDIobixXLHgsRC5pbmZvLGspO2IuSz8uWShELmluZm8sVyxoLXYsKDAsZy5SKSgpLWgpO24uQzE9MDtpZihXPT09MClyZXR1cm4gbi5aRCYmKG4uWkQ9ITEsbi5xTz0hMSksbi5hQT0wLCEwO2lmKFc9PT0yfHxXPT09NSlyZXR1cm4gclMobiwiY2hlY2tlZCIsVyxELmluZm8pLCExO2lmKFc9PT0xKXtpZighbi5aRClyZXR1cm4gbi5aRD0hMCwhMTtpZighbi5xTylyZXR1cm4gbi5xTz0hMCxuLkwuc2Vla1RvKG4uZ2V0Q3VycmVudFRpbWUoKSx7cWQ6InF1b3RhRXhjZWVkZWQiLApxYTohMH0pLCExO0QuaW5mby5mWSgpPyhiPW4ucG9saWN5LGIuZSQ9TWF0aC5mbG9vcihiLmUkKi44KSxiLk89TWF0aC5mbG9vcihiLk8qLjgpKTooYj1uLnBvbGljeSxiLnZKPU1hdGguZmxvb3IoYi52SiouOCksYi5PPU1hdGguZmxvb3IoYi5PKi44KSk7bi5wb2xpY3kuTj9XbChuLms2LEQuaW5mby5QSik6YXEobi5jVixELmluZm8uUEopfW4uTC5HbSh7cmVhdHRhY2hPbkFwcGVuZDpXfSk7cmV0dXJuITF9OwpLVGk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO2lmKGI9bi5wb2xpY3kua3AmJm4ubWVkaWFTb3VyY2UmJiFuLm1lZGlhU291cmNlLk8mJiFuLkwuUHAoKSlXPVcuaW5mby5QSi5pbmZvLGI9Vy5xSCgpJiZXLlgoKSYmVy52aWRlbyYmVy52aWRlby53aWR0aDwzODQwJiZXLnZpZGVvLndpZHRoPlcudmlkZW8uaGVpZ2h0O2lmKGImJihuLm1lZGlhU291cmNlLk89ITAsZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MC4wOC4wMS4wMS4wMS4wMS4wMCI7IHdpZHRoPTM4NDA7IGhlaWdodD0yMTYwJykpKXJldHVybiBEPUROMShEKSxuLnBvbGljeS5XJiZuLlUoInNwNGsiLHtzOiEhRH0pLER9OwpPUDI9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkFifHxuLm1lZGlhU291cmNlO3RyeXtsZXQgaD1XPT09ay5OP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7aWYobi5wb2xpY3kubnUmJmI/LlYoKSl7aWYoYj8udHc+MSlyZXR1cm4gNjtoLmJkPW5ldyBnLmZfKCgpPT57dmFyIHg9aVkoaCk7bi5xTigpfHwheD8uaXNMb2NrZWQ/bi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHtkZWxheUE6eD8uaW5mby5nYSgpfSk6bUJiKGgpPyhuLkwuRygpLldYKCkmJm4uVSgiZW9zbCIse2R1bmxvY2s6eD8uaW5mby5nYSgpfSksJGMobixoPT09bi5hdWRpb1RyYWNrKSk6KG4uVSgibnVlIix7bHM6eC5pbmZvLmdhKCl9KSx4LmluZm8udHcrPTEsbi5tZWRpYVNvdXJjZSYmWGIobikpfSwxRTQsbik7Cm4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7ZGVsYXlTOmIuZ2EoKX0pO2guYmQuc3RhcnQoKX1uLnBvbGljeS5zMyYmYj8uUEogaW5zdGFuY2VvZiBkdCYmYi5WKCkmJm4uVSgicG9zZW9zIix7aXRhZzpiLlBKLmluZm8uaXRhZyxzZWc6Yi5qJCxsc2VnOmIuUEouaW5kZXgueCQoKSxlczpiLlBKLmluZGV4Lkt9KTtXLmFwcGVuZEJ1ZmZlcihELGIsdil9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbil7aWYoaC5uYW1lPT09IkludmFsaWRTdGF0ZUVycm9yInx8aC5jb2RlPT09MTEpcmV0dXJuIG4uTC5HKCkuV1goKSYmbi5VKCJhZWlzIix7bXNnOmcudXAoaC5tZXNzYWdlLDMpfSksMjtpZihoLm5hbWU9PT0iU3ludGF4RXJyb3IifHxoLmNvZGU9PT0xMilyZXR1cm4gNTtpZihoLm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yInx8aC5jb2RlPT09MjJ8fGgubWVzc2FnZS5pbmRleE9mKCJOb3QgZW5vdWdoIHN0b3JhZ2UiKT09PTApcmV0dXJuIFc9T2JqZWN0LmFzc2lnbih7bmFtZToiUXVvdGFFeGNlZWRlZEVycm9yIiwKYnVmZmVyZWQ6cmsoVy5aRigpKS5yZXBsYWNlKC8sL2csIl8iKSx2aGVhcDpuLnZpZGVvVHJhY2suUnUoKSxhaGVhcDpuLmF1ZGlvVHJhY2suUnUoKSxtZXNzYWdlOmcudXAoaC5tZXNzYWdlLDMpLHRyYWNrOms/Vz09PWsuSj8idiI6ImEiOiJ1In0saFF4KCkpLG4uaGFuZGxlRXJyb3IoInBsYXllci5leGNlcHRpb24iLFcpLDE7Zy5YaihoKX1yZXR1cm4gNH1yZXR1cm4gay5QQSgpPzM6MH07CnJTPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSJmbXQudW5wbGF5YWJsZSIsaz0xO0Q9PT01fHxEPT09Mz8odj0iZm10LnVucGFyc2VhYmxlIixuLnBvbGljeS5OPyFiLlBKLmluZm8udmlkZW98fHdDKG4uazYuTikuc2l6ZT4wfHxXbChuLms2LGIuUEopOiFiLlBKLmluZm8udmlkZW98fHdDKG4uY1Yuaikuc2l6ZT4wfHxhcShuLmNWLGIuUEopKTpEPT09MiYmKG4uYUE8MTU/KG4uYUErKyx2PSJodG1sNS5pbnZhbGlkc3RhdGUiLGs9MCk6dj0iZm10LnVucGxheWFibGUiKTtiPVh4KGIpO2IubXJzPW4ubWVkaWFTb3VyY2U/LlcoKTtiLm9yaWdpbj1XO2IucmVhc29uPUQ7Yi50cmc9ImFwcGVuZGVyciI7bi5oYW5kbGVFcnJvcih2LGIsayl9OwpOMj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uS3U7dmFyIGg9bi5wb2xpY3kuTix4PSExLEw9LTE7Zm9yKGxldCByIGluIGsuTil7dmFyIGU9ay5OW3JdLmluZm8uTigpfHxrLk5bcl0uaW5mby5mWSgpO2lmKGI9PT1lKWlmKGU9ay5OW3JdLmluZGV4LGUuTUkoVy5qJCkpe3t4PWU7dmFyIEc9VztsZXQgTj14LlcoRy5qJCk7TiYmTi5zdGFydFRpbWUhPT1HLnN0YXJ0VGltZT8oeC5zZWdtZW50cz1bXSx4LmooRykseD0hMCk6eD0hMX14P0w9Vy5qJDohVy5wZW5kaW5nJiZoJiYoRz1lLmdldER1cmF0aW9uKFcuaiQpLEchPT1XLmR1cmF0aW9uJiYoay5XSigiY2xpZW50dGVtcCIsIm1mbGR1clVwZGF0ZSIse2l0YWc6ay5OW3JdLmluZm8uaXRhZyxzZWc6Vy5qJCxvZDpHLG5kOlcuZHVyYXRpb259LCExKSxlLmooVykseD0hMCkpfWVsc2UgZS5qKFcpLHg9ITB9TD49MCYmay5XSigiY2xpZW50dGVtcCIsInJlc2V0TWZsSW5kZXgiLHtbYj8idiI6ImEiXTpMfSwhMSk7az14O0FhMihuLlhhLApXLGIsayk7bi5wb2xpY3kuRHx8bi5KQy5SMChXLEQsYix2KTtXLmokPT09bi5LdS5JdCYmayYmdUEobi5LdSkmJlcuc3RhcnRUaW1lPnVBKG4uS3UpJiYobi5LdS5KVT1XLnN0YXJ0VGltZSsoaXNOYU4obi50aW1lc3RhbXBPZmZzZXQpPzA6bi50aW1lc3RhbXBPZmZzZXQpLG4uWGEuaXNTZWVraW5nKCkmJm4uWGEudGFyZ2V0VGltZTxuLkt1LkxmKCkmJm4uWGEuc2VlayhuLkt1LkxmKCkse30pKX07CiRjPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kubnUmJm4ubWVkaWFTb3VyY2Upe3ZhciBEPVc/bi5tZWRpYVNvdXJjZT8uTjpuLm1lZGlhU291cmNlPy5KO2xldCBiPVc/bi5hdWRpb1RyYWNrOm4udmlkZW9UcmFjaztXPWlZKGIpO1c/LmlzTG9ja2VkJiYobi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHt1bmxvY2s6Vy5pbmZvLmdhKCl9KSxiLmJkPy5zdG9wKCksVy5pc0xvY2tlZD0hMSxiLlokKFcpLFBDMihuLmNWLFcuaW5mbyksRD1EPy5aZygpLEQ/LmdhKCkhPT1XLmluZm8uZ2EoKSYmbi5VKCJvdWUiLHtibHM6RD8uZ2EoKSx0bHM6Vy5pbmZvLmdhKCl9KSl9fTsKU0paPWZ1bmN0aW9uKG4sVyl7cVcoVywiY21zIixEPT57bi5wb2xpY3kuVyYmbi5VKCJwYXRocHJvYmUiLEQpfSxEPT57bi5MLmhhbmRsZUVycm9yKEQpfSl9Owp5N2k9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiZuLm1lZGlhU291cmNlLkomJihXLT1pc05hTihuLnRpbWVzdGFtcE9mZnNldCk/MDpuLnRpbWVzdGFtcE9mZnNldCxpc05hTihuLlE1KXx8bi5RNT09PVd8fG4ucmVzdW1lKCksbi5RNT1XKX07CkVPaD1mdW5jdGlvbihuLFcsRCxiKXtkaihuKSYmbi5ETyYmYiYmYj09PTk2JiYoYj1EP24uTC5sSyhXKTpXLG4uZnAoYil8fG4uRE8uTnx8bi5VKCJwcmVidWZmZXIiLHttaXNzOjEsdDpXLnRvRml4ZWQoMyksaXNVdGM6RH0pKX07CmlQUz1mdW5jdGlvbihuLFcpe3ZhciBEPVNxKG4udmlkZW9UcmFjaykuZmluZChiPT5iLnNlZ21lbnRTdGFydFRpbWU+PVcmJlh6aChuLGIuc2VnbWVudFN0YXJ0VGltZSwhMSkpOwpyZXR1cm4gRCYmRC5zZWdtZW50U3RhcnRUaW1lPFcrRC5XKjEuNT9ELnNlZ21lbnRTdGFydFRpbWUrLjE6MH07Cm1CYj1mdW5jdGlvbihuKXt2YXIgVz1pWShuKT8uaW5mbztyZXR1cm4hV3x8bi5mcChNYXRoLm1pbihXLlgrc1gsVy5qKSl9Owp1M3g9ZnVuY3Rpb24obil7aWYoIShuLmxlbmd0aDw9MjgpKWZvcih2YXIgVz0oMCxnLk5tKShbNjAsMCw3NSwwLDczLDAsNjgsMCw2MiwwXSksRD0yODtEPG4ubGVuZ3RoOyl7YTppZihuLmxlbmd0aC1EPFcubGVuZ3RoKXZhciBiPSExO2Vsc2V7Zm9yKGI9MDtiPFcubGVuZ3RoOysrYilpZihuW0QrYl0hPT1XW2JdKXtiPSExO2JyZWFrIGF9Yj0hMH1pZihiKXtEKz1XLmxlbmd0aDtpZihuLmxlbmd0aDw9RCs0OClicmVhaztXPW5ldyBVaW50OEFycmF5KDI0KTtmb3IoYj0wO2I8MjQ7KytiKVdbYl09bltEK2IqMl07bj1wUihXKTtuPWxwKG4pO2lmKCFuKWJyZWFrO0Q9blswXTtuWzBdPW5bM107blszXT1EO0Q9blsxXTtuWzFdPW5bMl07blsyXT1EO0Q9bls0XTtuWzRdPW5bNV07bls1XT1EO0Q9bls2XTtuWzZdPW5bN107bls3XT1EO3JldHVybiBufUQrK319OwpvT3g9ZnVuY3Rpb24obixXKXthOnt2YXIgRD1XLmNyeXB0b1BlcmlvZEluZGV4O2lmKGlzTmFOKEQpJiZuLlcuc2l6ZT4wKUQ9ITA7ZWxzZXtmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKWlmKGIuY3J5cHRvUGVyaW9kSW5kZXg9PT1EKXtEPSEwO2JyZWFrIGF9RD0hMX19bi5XSigibG9nX3FvZSIse3d2YWd0OiJyZXFuZXdzIixjYW5za2lwOkR9KTtEfHxuLldKKCJyb3RhdGVkX25lZWRfa2V5X2luZm9fcmVhZHkiLFcpfTsKZEJoPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJEUk1fVFJBQ0tfVFlQRV9BVURJTyI6cmV0dXJuIDE7Y2FzZSAiRFJNX1RSQUNLX1RZUEVfU0QiOnJldHVybiAyO2Nhc2UgIkRSTV9UUkFDS19UWVBFX0hEIjpyZXR1cm4gMztjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQxIjpyZXR1cm4gNDtjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQyIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfX07ClQzaD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPW4uc3RhdHVzPT09IkxJQ0VOU0VfU1RBVFVTX09LIj8wOjk5OTksYj1udWxsO2lmKG4ubGljZW5zZSl0cnl7Yj1scChuLmxpY2Vuc2UpfWNhdGNoKHYpe2cuWGoodil9aWYoRD09PTAmJiFiKXJldHVybiBudWxsO2I9bmV3IHpEWihELGIpO0QhPT0wJiZuLnJlYXNvbiYmKGIuZXJyb3JNZXNzYWdlPW4ucmVhc29uKTtpZihuLmF1dGhvcml6ZWRGb3JtYXRzKXtEPXt9O2xldCB2PVtdLGs9e307Zm9yKGxldCBoIG9mIG4uYXV0aG9yaXplZEZvcm1hdHMpe2lmKCFoLnRyYWNrVHlwZXx8IWgua2V5SWQpY29udGludWU7VyYmYi5KLnB1c2goe3RyYWNrVHlwZTpkQmgoaC50cmFja1R5cGUpLGlzSGRyOiEhaC5pc0hkcn0pO2xldCB4PWxtVVtoLnRyYWNrVHlwZV07aWYoeCl7eD09PSJIRCImJm4uaXNIZDcyMCYmKHg9IkhENzIwIik7aC5pc0hkciYmKHgrPSJIRFIiKTtEW3hdfHwodi5wdXNoKHgpLERbeF09ITApO2xldCBMPW51bGw7dHJ5e0w9bHAoaC5rZXlJZCl9Y2F0Y2goZSl7Zy5YaihlKX1MJiYKKGtbZy5FQShMLDQpXT14KX19Yi5XPXY7Yi5OPWt9bi5uZXh0RmFpcnBsYXlLZXlJZCYmKGIubmV4dEZhaXJwbGF5S2V5SWQ9bi5uZXh0RmFpcnBsYXlLZXlJZCk7bi5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJihiLnNhYnJMaWNlbnNlQ29uc3RyYWludD1scChuLnNhYnJMaWNlbnNlQ29uc3RyYWludCkpO3JldHVybiBifTsKajdqPWZ1bmN0aW9uKG4sVyxEKXtuLm9uU3VjY2Vzcz1XO24ub25FcnJvcj1EfTsKQzl4PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXt0aW1lb3V0OjNFNCxvblN1Y2Nlc3M6az0+e2lmKCFuLnFOKCkpaWYoZy5hTCgiZHJtX25ldF9yIix2b2lkIDAsbi50aW1lciksaz1UM2goayxuLkopKW4ub25TdWNjZXNzKGssbi5yZXF1ZXN0TnVtYmVyKTtlbHNlIG4ub25FcnJvcihuLCJkcm0ubmV0IiwidC5wO3AuaSIpfSwKb25FcnJvcjprPT57aWYoIW4ucU4oKSlpZihrJiZrLmVycm9yKWs9ay5lcnJvcixuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLGB0LnI7cC5pO2MuJHtrLmNvZGV9O3MuJHtrLnN0YXR1c31gLGsuY29kZSk7ZWxzZSBuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLCJ0LnI7cC5pO2MubiIpfSwKb25UaW1lb3V0OigpPT57bi5vbkVycm9yKG4sImRybS5uZXQiLGBydC5yZXEuJHtuLnJlcXVlc3ROdW1iZXJ9YCl9fTsKYiYmKHYuUDE9YEJlYXJlciAke2J9YCk7Zy5JSShELCJwbGF5ZXIvZ2V0X2RybV9saWNlbnNlIixXLHYpfTsKcEM9ZnVuY3Rpb24obixXLEQ9ITEpe2cuVEMoVyk7KER8fG4uQi5XWCgpKSYmbi5XSigiY3RtcCIsImRybWxvZyIsVyl9OwpCM3g9ZnVuY3Rpb24obil7dmFyIFc9bi5iYXNlVXJsO2hBaShXKXx8bi5lcnJvcigiZHJtLm5ldCIsMiwidC54Iik7aWYoIWcubGYoVywiZmV4cCIpKXtsZXQgRD1bIjIzODk4MzA3IiwiMjM5MTQwNjIiLCIyMzkxNjEwNiIsIjIzODgzMDk4Il0uZmlsdGVyKGI9Pm4uQi5leHBlcmltZW50cy5leHBlcmltZW50c1tiXSk7CkQubGVuZ3RoPjAmJihuLmouZmV4cD1ELmpvaW4oKSl9Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uaikpVz1LUzEoVyxELG4ualtEXSk7cmV0dXJuIFd9Owp3enI9ZnVuY3Rpb24obixXKXt2YXIgRD1udWxsO3RyeXtEPVcuY3JlYXRlU2Vzc2lvbihuLlksYj0+e3BDKG4se206Yn0pfSksRlR0KG4sRCl9Y2F0Y2goYil7Vz0idC5nIixiIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtjLiR7Yi5jb2RlfWApLG4uV0ooImxpY2Vuc2VlcnJvciIsImRybS51bmF2YWlsYWJsZSIsMSxXLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIpfXJldHVybiBEfTsKRlR0PWZ1bmN0aW9uKG4sVyl7TTliKFcsKEQsYik9PntSRGoobixELGIpfSwoRCxiLHYpPT57bi5xTigpfHwoYj12b2lkIDAsZy5YVihuLkopJiZnLkRmKG4uQikmJm4uQi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJnY9PT0xMjEyNDMzMjMyJiYoYj0iRVJST1JfSERDUCIpLG4uZXJyb3IoImRybS5rZXllcnJvciIsMSxELGIpKX0sKCk9PntuLnFOKCl8fChwQyhuLHtvbmt5YWRkOjF9KSxuLmNKfHwobi5XSigic2Vzc2lvbnJlYWR5Iiksbi5jSj0hMCkpfSxEPT57bi5ZVihEKX0pfTsKUkRqPWZ1bmN0aW9uKG4sVyxEKXtpZighbi5xTigpKWlmKFcpe3BDKG4se29ua210eXA6RH0pO24uc3RhdHVzPSJrbSI7c3dpdGNoKEQpe2Nhc2UgImxpY2Vuc2UtcmVuZXdhbCI6Y2FzZSAibGljZW5zZS1yZXF1ZXN0IjpjYXNlICJsaWNlbnNlLXJlbGVhc2UiOmJyZWFrO2Nhc2UgImluZGl2aWR1YWxpemF0aW9uLXJlcXVlc3QiOlE3MihuLFcpO3JldHVybjtkZWZhdWx0Om4uV0ooImN0bXAiLCJtZXNzYWdlX3R5cGUiLHt0OkQsbDpXLmJ5dGVMZW5ndGh9KX1uLnR3fHwoZy5hTCgiZHJtX2drX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uiksbi50dz0hMCxuLldKKCJuZXdzZXNzaW9uIixuKSk7aWYoTE4obi5KKSYmKFc9VjlpKFcpLCFXKSlyZXR1cm47dmFyIGI9ITE7aWYobi5CLlp0KCkuTi5RUShZYykpdHJ5e2I9bWsoVyx3T1opLnR5cGU9PT00fWNhdGNoKHYpe3BDKG4se2NlcnRfY2hlY2tfZmFpbGVkOjF9LCEwKX1pZihiJiZuLmRoPy5jZXJ0aWZpY2F0ZSl7cEMobix7Y2VydF9jYWNoZV9oaXQ6MX0sCiEwKTsrK24ucmVxdWVzdE51bWJlcjtsZXQgdj1uLmRoLmNlcnRpZmljYXRlO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntjN3IobixuZXcgekRaKDAsdiksYil9KX1lbHNlIFc9bmV3IGFtcihXLCsrbi5yZXF1ZXN0TnVtYmVyLG4udmlkZW9EYXRhLnpSLG4uQi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikpLGo3aihXLHY9PntjN3Iobix2LGIpfSwodixrLGgpPT57aWYoIW4ucU4oKSl7dmFyIHg9MDsKdi5OLko+PTMmJih4PTEsaz0iZHJtLm5ldC5yZXRyeWV4aGF1c3RlZCIpO3BDKG4se29ubGNzcnFlcnI6ayxpbmZvOmh9KTtuLmVycm9yKGsseCxoKTtuLnNob3VsZFJldHJ5KGoyKHgpLHYpJiZuUXcobix2KX19KSxnLnUobixXKSxXZzIobixXKX1lbHNlIG4uZXJyb3IoImRybS51bmF2YWlsYWJsZSIsMSwia20uZW1wdHkiKX07ClE3Mj1mdW5jdGlvbihuLFcpe3BDKG4se3NkcHZycToxfSk7bi5WPXBlcmZvcm1hbmNlLm5vdygpO2lmKG4uSi5mbGF2b3IhPT0id2lkZXZpbmUiKW4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuZmxhdm9yO2YuJHtuLkouZmxhdm9yfTtsLiR7Vy5ieXRlTGVuZ3RofWApO2Vsc2V7dmFyIEQ9e2NwbjpuLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlfTtPYmplY3QuYXNzaWduKEQsbi5CLk4pO0Q9Zy5FVCgiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY2VydGlmaWNhdGVwcm92aXNpb25pbmcvdjEvZGV2aWNlY2VydGlmaWNhdGVzL2NyZWF0ZT9rZXk9QUl6YVN5Qi01T0xLVHgyaVU1bWtvMThEZmR3SzU2MTFKSWpiVWhFIixEKTtXPXtmb3JtYXQ6IlJBVyIsaGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkpTT04uc3RyaW5naWZ5KHtzaWduZWRSZXF1ZXN0OlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwKVyl9KSxyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn07Zy5zeihELFcsMyw1MDApLnRoZW4oWXooYj0+e2I9Yi54aHI7aWYoIW4ucU4oKSl7Yj1uZXcgVWludDhBcnJheShiLnJlc3BvbnNlKTt2YXIgdj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7dHJ5e3ZhciBrPUpTT04ucGFyc2Uodil9Y2F0Y2goaCl7fWsmJmsuc2lnbmVkUmVzcG9uc2U/KG4uV0ooImN0bXAiLCJkcm1pbmZvIix7cHJvdmlzaW9uaW5nOjF9KSxrPShwZXJmb3JtYW5jZS5ub3coKS1uLlYpLzFFMyxuLlY9TmFOLG4uV0ooImN0bXAiLCJwcm92cyIse2V0OmsudG9GaXhlZCgzKX0pLG4uWCYmbi5YLnVwZGF0ZShiKSk6KGs9ayYmay5lcnJvciYmay5lcnJvci5tZXNzYWdlLGI9ImUucGFyc2UiLGsmJihiKz1gO20uJHtrfWApLG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYikpfX0pLFl6KGI9PntuLnFOKCl8fG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuJHtiLmVycm9yQ29kZX07Yy4ke2IueGhyJiYKYi54aHIuc3RhdHVzfWApfSkpfX07CmM3cj1mdW5jdGlvbihuLFcsRCl7bi5xTigpfHwoKHBDKG4se29ubGNzcnNwOjF9KSxuLnN0YXR1cz0icnIiLFcuc3RhdHVzQ29kZSE9PTApP24uZXJyb3IoImRybS5hdXRoIiwxLGB0LmY7Yy4ke1cuc3RhdHVzQ29kZX1gLFcuZXJyb3JNZXNzYWdlfHx2b2lkIDApOihEJiZuLmRoJiZuLkIuWnQoKS5OLlFRKFljKSYmKG4uZGguY2VydGlmaWNhdGU9Vy5tZXNzYWdlKSxnLmFMKCJkcm1fa3JfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKSxXLmhlYXJ0YmVhdFBhcmFtcyYmVy5oZWFydGJlYXRQYXJhbXMudXJsJiZuLnZpZGVvRGF0YS5TKCJvdXRlcnR1YmVfc3RyZWFtaW5nX2RhdGFfYWx3YXlzX3VzZV9zdGFnaW5nX2xpY2Vuc2Vfc2VydmljZSIpJiYoRD1uLkouVy5tYXRjaCgvKC4qKXlvdXR1YmUuY29tL2cpKSYmKFcuaGVhcnRiZWF0UGFyYW1zLnVybD1EWzBdK1cuaGVhcnRiZWF0UGFyYW1zLnVybCksVy5oZWFydGJlYXRQYXJhbXMmJm4uV0ooIm5ld2xpY2Vuc2UiLFcuaGVhcnRiZWF0UGFyYW1zKSwKVy5XJiYobi5XPVcuVyxuLnZpZGVvRGF0YS5hTXx8bi5XSigibmV3bGljZW5zZSIsbmV3IERiaiksbi52aWRlb0RhdGEuYU09ITAsbi5LPWcub00obi5XLGI9PmIuaW5jbHVkZXMoIkhEUiIpKSksVy5KJiYobi5EPVcuSiksVy5OJiYobi5CLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5KLk4oKT8oRD1nLkVBKHhLKG4uZmFpcnBsYXlLZXlJZCksNCksbi5OW0RdPXt0eXBlOlcuTltEXSwKc3RhdHVzOiJ1bmtub3duIn0pOm4uTj1XeChXLk4sYj0+KHt0eXBlOmIsc3RhdHVzOiJ1bmtub3duIn0pKSksZzEobi5KKSYmKFcubWVzc2FnZT1hMjIoZy5FQShXLm1lc3NhZ2UpKSksbi5YJiYocEMobix7dXBkdGtzOjF9KSxuLnN0YXR1cz0ia3UiLG4uWC51cGRhdGUoVy5tZXNzYWdlKS50aGVuKCgpPT57Zy5hTCgiZHJtX2tyX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uik7CkhyKG4pfHwocEMobix7a3NBcGlVbnN1cDoxfSksbi5XSigia2V5c3RhdHVzZXNjaGFuZ2UiLG4pKX0sYj0+e2I9YG1zdWYucmVxLiR7bi5yZXF1ZXN0TnVtYmVyfTttc2cuJHtnLnVwKGIubWVzc2FnZSwzKX1gOwpuLmVycm9yKCJkcm0ua2V5ZXJyb3IiLDEsYil9KSksZy5YVihuLkopJiZuLldKKCJmYWlycGxheV9uZXh0X25lZWRfa2V5X2luZm8iLG4uYmFzZVVybCxXLm5leHRGYWlycGxheUtleUlkKSxuLkIuUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZuLkouTigpJiZuLldKKCJxdWFsaXR5Y2hhbmdlIixibWgobi5XKSksVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJm4uV0ooInNhYnJsaWNlbnNlY29uc3RyYWludCIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpKSl9OwpXZzI9ZnVuY3Rpb24obixXKXtuLnN0YXR1cz0ia20iO2cuYUwoImRybV9uZXRfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKTt2YXIgRD1uZXcgZy5kNChuLkIuU1YpLGI9e2NvbnRleHQ6Zy5VSihELmNvbmZpZ198fGcuUzkoKSl9O2IuZHJtU3lzdGVtPXZRQ1tuLkouZmxhdm9yXTtiLnZpZGVvSWQ9bi52aWRlb0RhdGEudmlkZW9JZDtiLmNwbj1uLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlO2Iuc2Vzc2lvbklkPW4uc2Vzc2lvbklkO2IubGljZW5zZVJlcXVlc3Q9Zy5FQShXLm1lc3NhZ2UpO2IuZHJtUGFyYW1zPW4udmlkZW9EYXRhLmRybVBhcmFtcztpc05hTihuLmNyeXB0b1BlcmlvZEluZGV4KXx8KGIuaXNLZXlSb3RhdGVkPSEwLGIuY3J5cHRvUGVyaW9kSW5kZXg9bi5jcnlwdG9QZXJpb2RJbmRleCk7dmFyIHY9ISFuLnZpZGVvRGF0YS5KPy5LKCk/LmlzSGRyKCk7Yi5kcm1WaWRlb0ZlYXR1cmU9dj8iRFJNX1ZJREVPX0ZFQVRVUkVfUFJFRkVSX0hEUiI6IkRSTV9WSURFT19GRUFUVVJFX1NEUiI7Cm4uQi5leHBlcmltZW50cy5adCgpLk4uUVEoa1RiKSYmKGIuY29udGV4dD1nLm9UKG4udmlkZW9EYXRhKSk7aWYoYi5jb250ZXh0JiZiLmNvbnRleHQuY2xpZW50KXtpZih2PW4uQi5OKWIuY29udGV4dC5jbGllbnQuZGV2aWNlTWFrZT12LmNicmFuZCxiLmNvbnRleHQuY2xpZW50LmRldmljZU1vZGVsPXYuY21vZGVsLGIuY29udGV4dC5jbGllbnQuYnJvd3Nlck5hbWU9di5jYnIsYi5jb250ZXh0LmNsaWVudC5icm93c2VyVmVyc2lvbj12LmNicnZlcixiLmNvbnRleHQuY2xpZW50Lm9zTmFtZT12LmNvcyxiLmNvbnRleHQuY2xpZW50Lm9zVmVyc2lvbj12LmNvc3ZlcjtuLkIuZXhwZXJpbWVudHMuWnQoKS5OLlFRKGtUYil8fChiLmNvbnRleHQudXNlcj1iLmNvbnRleHQudXNlcnx8e30sbi52aWRlb0RhdGEuRCYmKGIuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOm4udmlkZW9EYXRhLkQsc2NvcGU6IlZJREVPIn1dKSxuLnZpZGVvRGF0YS5ISiYmKGIuY29udGV4dC51c2VyLmtpZHNQYXJlbnQ9CntvYXV0aFRva2VuOm4udmlkZW9EYXRhLkhKfSkpO2IuY29udGV4dC5yZXF1ZXN0PWIuY29udGV4dC5yZXF1ZXN0fHx7fTtiLmNvbnRleHQucmVxdWVzdC5tZHhFbnZpcm9ubWVudD1uLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudHx8Yi5jb250ZXh0LnJlcXVlc3QubWR4RW52aXJvbm1lbnQ7Zy5YVihuLkopJiYoYi5mYWlycGxheUtleUlkPWcuRUEoeEsobi5mYWlycGxheUtleUlkKSkpO2cuSEUobi5CLG4udmlkZW9EYXRhLlYoKSkudGhlbihrPT57Qzl4KFcsYixELGspO24uc3RhdHVzPSJycyJ9KX1lbHNlIG4uZXJyb3IoImRybS5uZXQiLDIsInQucjtpYy4wIil9OwpoOE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2IuaXNIZHI9Vy5pbmNsdWRlcygiSERSIik7c3dpdGNoKFcucmVwbGFjZSgiSERSIiwiIikucmVwbGFjZSgiNzIwIiwiIikpe2Nhc2UgIkFVRElPIjpiLnRyYWNrVHlwZT0xO2JyZWFrO2Nhc2UgIlNEIjpiLnRyYWNrVHlwZT0yO2JyZWFrO2Nhc2UgIkhEIjpiLnRyYWNrVHlwZT0zO2JyZWFrO2Nhc2UgIlVIRDEiOmIudHJhY2tUeXBlPTQ7YnJlYWs7Y2FzZSAiVUhEMiI6Yi50cmFja1R5cGU9NTticmVhaztkZWZhdWx0OmIudHJhY2tUeXBlPTB9IWIudHJhY2tUeXBlfHxEW1ddfHxIcihuKSYmIWZDKG4sVyl8fChuLmF1dGhvcml6ZWRGb3JtYXRzLnB1c2goYiksRFtXXT0hMCl9Owp4Ymo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobi5OKSlELnB1c2goYCR7Yn1fJHtuLk5bYl0udHlwZX1fJHtuLk5bYl0uc3RhdHVzfWApO3JldHVybiBELmpvaW4oVyl9OwpIcj1mdW5jdGlvbihuKXt2YXIgVztpZihXPW4uTyYmbi5YIT1udWxsKW49bi5YLFc9ISghbi5OfHwhbi5OLmtleVN0YXR1c2VzKTtyZXR1cm4gV307Cm5Rdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuTi5nZXRWYWx1ZSgpO0Q9bmV3IGcuZl8oKCk9PntXZzIobixXKX0sRCk7CmcudShuLEQpO0Quc3RhcnQoKTtnLnhFKFcuTik7cEMobix7cnR5cnE6MX0pfTsKSjI9ZnVuY3Rpb24obil7dmFyIFc9e307V1tuLnN0YXR1c109SHIobik/eGJqKG4sIi4iKTpuLlcuam9pbigiLiIpO3JldHVybiBXfTsKZkM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbi5OKWlmKG4uTltEXS5zdGF0dXM9PT0idXNhYmxlIiYmbi5OW0RdLnR5cGU9PT1XKXJldHVybiEwO3JldHVybiExfTsKTGd3PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4uTilpZihuLk5bRF0udHlwZT09PVcpcmV0dXJuIG4uTltEXS5zdGF0dXN9OwplOHc9ZnVuY3Rpb24obil7dmFyIFc9blswXTtuWzBdPW5bM107blszXT1XO1c9blsxXTtuWzFdPW5bMl07blsyXT1XO1c9bls0XTtuWzRdPW5bNV07bls1XT1XO1c9bls2XTtuWzZdPW5bN107bls3XT1XfTsKYm1oPWZ1bmN0aW9uKG4pe3JldHVybiBnLmpqKG4sIlVIRDIiKXx8Zy5qaihuLCJVSEQySERSIik/ImhpZ2hyZXMiOmcuamoobiwiVUhEMSIpfHxnLmpqKG4sIlVIRDFIRFIiKT8iaGQyMTYwIjpnLmpqKG4sIkhEIil8fGcuamoobiwiSERIRFIiKT8iaGQxMDgwIjpnLmpqKG4sIkhENzIwIil8fGcuamoobiwiSEQ3MjBIRFIiKT8iaGQ3MjAiOiJsYXJnZSJ9OwpWOWk9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0yKVcrPVN0cmluZy5mcm9tQ2hhckNvZGUobltEXSk7bj1nLmdUKG5ldyBET01QYXJzZXIsZy5ITShXKSwidGV4dC94bWwiKTtpZighbilyZXR1cm4gbnVsbDsoVz1uLnF1ZXJ5U2VsZWN0b3IoIkNoYWxsZW5nZSIpKSYmVy5jaGlsZE5vZGVzJiZXLmNoaWxkTm9kZXMubGVuZ3RoIT09MD8obj1VaW50OEFycmF5LFc9emgoVy5jaGlsZE5vZGVzWzBdLm5vZGVWYWx1ZSksVz0oMCxnLk5tKShXKS5idWZmZXIsbj1uZXcgbihXKSk6bj1udWxsO3JldHVybiBufTsKTTliPWZ1bmN0aW9uKG4sVyxELGIsdil7bi5qPVc7bi5XPUQ7bi5WPWI7bi5LPXZ9OwpnUXc9ZnVuY3Rpb24obil7bi5OPyhuLlguTk4obi5OLCJtZXNzYWdlIixuLmJkKSxuLlguTk4obi5OLCJrZXlzdGF0dXNlc2NoYW5nZSIsbi5ZViksbi5OLmNsb3NlZCYmbi5OLmNsb3NlZC50aGVuKFl6KCgpPT57bi5xTigpfHxnLnViKCJ4Ym94b25lIikmJm4uVyYmbi5XKCJjbG9zZWRTaG91bGROb3RSZXRyeSIpfSksbnVsbCkpOm4uSiYmKEt5KG4uWCxuLkosWyJtc2tleW1lc3NhZ2UiLAoid2Via2l0a2V5bWVzc2FnZSJdLG4uY0opLEt5KG4uWCxuLkosWyJtc2tleWVycm9yIiwid2Via2l0a2V5ZXJyb3IiXSxuLk8pLEt5KG4uWCxuLkosWyJtc2tleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLkQpKX07ClhVUz1mdW5jdGlvbihuLFcsRCl7Zy5YaihEKTtuLlcmJihEIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtuLiR7RC5uYW1lfTttLiR7RC5tZXNzYWdlfWApLG4uVyhXKSl9OwpxY1U9ZnVuY3Rpb24obil7S3kobi5YLG4uZWxlbWVudCxbImtleW1lc3NhZ2UiLCJ3ZWJraXRrZXltZXNzYWdlIl0sbi5PKTtLeShuLlgsbi5lbGVtZW50LFsia2V5ZXJyb3IiLCJ3ZWJraXRrZXllcnJvciJdLG4uRCk7S3kobi5YLG4uZWxlbWVudCxbImtleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLlkpfTsKR1RTPWZ1bmN0aW9uKG4sVz1udWxsKXtpZihuLk4ua2V5U3lzdGVtQWNjZXNzKXJldHVybiBuLks9bi5LLnRoZW4oKCk9Pm4ubWVkaWFLZXlzP1Byb21pc2UucmVzb2x2ZSgpOlc/Lm1lZGlhS2V5cyYmVy5ZYT8ucGcoKT8obi5tZWRpYUtleXM9Vz8ubWVkaWFLZXlzLFByb21pc2UucmVzb2x2ZSgpKTpuLk4ua2V5U3lzdGVtQWNjZXNzLmNyZWF0ZU1lZGlhS2V5cygpLnRoZW4oRD0+e24ucU4oKXx8KG4ubWVkaWFLZXlzPUQsVz8uWWE/LnBnKCkmJihXLm1lZGlhS2V5cz1EKSl9KSkudGhlbigoKT0+e3ZhciBEPVc/LmVfKCk7CnJldHVybiBuLmVsZW1lbnQmJm4uZWxlbWVudCE9PUQmJm4uZWxlbWVudC5tZWRpYUtleXM/bi5lbGVtZW50LnNldE1lZGlhS2V5cyhudWxsKTpQcm9taXNlLnJlc29sdmUoKX0pLnRoZW4oKCk9PntuLmVsZW1lbnQ9Vz8uZV8oKTsKcmV0dXJuIG4uZWxlbWVudCYmbi5lbGVtZW50Lm1lZGlhS2V5cyE9PW4ubWVkaWFLZXlzP24uZWxlbWVudC5zZXRNZWRpYUtleXMobi5tZWRpYUtleXMpOlByb21pc2UucmVzb2x2ZSgpfSksbi5LOwp4aChuLk4pP24uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pOmVUKG4uTik/KG4uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pLG4uZWxlbWVudD8ud2Via2l0U2V0TWVkaWFLZXlzKG4uSikpOnFjVShuKTtyZXR1cm4gbnVsbH07CnR3TT1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KDI3MCk7Zm9yKGxldCBiPTA7YjwxMzU7YisrKURbYioyXT0nPFBsYXlSZWFkeUNETURhdGEgdHlwZT0iTGljZW5zZUFjcXVpc2l0aW9uIj48TGljZW5zZUFjcXVpc2l0aW9uIHZlcnNpb249IjEuMCIgUHJvYWN0aXZlPSJ0cnVlIj48L0xpY2Vuc2VBY3F1aXNpdGlvbj48L1BsYXlSZWFkeUNETURhdGE+Jy5jaGFyQ29kZUF0KGIpO249bi5KLmNyZWF0ZVNlc3Npb24oInZpZGVvL21wNCIsVyxEKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsbil9OwpySTE9ZnVuY3Rpb24obixXKXtXPSRiWihXLG4uTi5DaSk7Vz1uLkouY3JlYXRlU2Vzc2lvbigidmlkZW8vbXA0IixXKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsVyxuLlYpfTsKUzA9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmpbVy5zZXNzaW9uSWRdOyFEJiZuLlcmJihEPW4uVyxuLlc9bnVsbCxELnNlc3Npb25JZD1XLnNlc3Npb25JZCxuLmpbVy5zZXNzaW9uSWRdPUQpO3JldHVybiBEfTsKJGJaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5zdWJhcnJheSg0KTtEPW5ldyBVaW50MTZBcnJheShELmJ1ZmZlcixELmJ5dGVPZmZzZXQsRC5ieXRlTGVuZ3RoLzIpO0Q9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEQpLm1hdGNoKC9laz0oWzAtOWEtZl0rKS8pWzFdO3ZhciBiPSIiO2Zvcih2YXIgdj0wO3Y8RC5sZW5ndGg7dis9MiliKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KEQuc3Vic3RyaW5nKHYsdisyKSwxNikpO0Q9YjtiPW5ldyBBcnJheUJ1ZmZlcihELmxlbmd0aCoyKTt2PW5ldyBVaW50MTZBcnJheShiKTtmb3IodmFyIGs9MDtrPEQubGVuZ3RoO2srKyl2W2tdPUQuY2hhckNvZGVBdChrKTtEPW5ldyBVaW50OEFycmF5KGIpO2I9MDtrPW5ldyBBcnJheUJ1ZmZlcihuLmJ5dGVMZW5ndGgrNCtELmJ5dGVMZW5ndGgrNCtXLmJ5dGVMZW5ndGgpO3Y9bmV3IFVpbnQ4QXJyYXkoayk7az1uZXcgRGF0YVZpZXcoayk7di5zZXQobik7Yis9bi5ieXRlTGVuZ3RoOwprLnNldFVpbnQzMihiLEQubGVuZ3RoLCEwKTtiKz00O3Yuc2V0KEQsYik7Yis9RC5sZW5ndGg7ay5zZXRVaW50MzIoYixXLmJ5dGVMZW5ndGgsITApO3Yuc2V0KFcsYis0KTtyZXR1cm4gdn07Ck5vQz1mdW5jdGlvbihuKXt2YXIgVz1HVFMobi5tZWRpYUtleXMsbi5tZWRpYUVsZW1lbnQpO1c/Vy50aGVuKFl6KCgpPT57c0lNKG4pfSksWXooRD0+e2lmKCFuLnFOKCkpe2cuWGooRCk7CnZhciBiPSJ0LmEiO0QgaW5zdGFuY2VvZiBET01FeGNlcHRpb24mJihiKz0iO24uIitELm5hbWUrIjttLiIrRC5tZXNzYWdlKTtuLldKKCJsaWNlbnNlZXJyb3IiLCJkcm0udW5hdmFpbGFibGUiLDEsYiwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siKX19KSk6KG4uSih7bWRrcmR5OjF9KSxuLkQ9ITApOwpuLk8mJihXPUdUUyhuLk8sbi5tZWRpYUVsZW1lbnQpKX07CnNJTT1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uQi5TKCJodG1sNV9kcm1fc2V0X3NlcnZlcl9jZXJ0Iil8fG4uTi5OKCkpe2xldCBXPW4ubWVkaWFLZXlzLnNldFNlcnZlckNlcnRpZmljYXRlKCk7Vz9XLnRoZW4oWXooRD0+e24uQi5XWCgpJiZuLldKKCJjdG1wIiwic3NjIix7c3VjY2VzczpEfSl9KSxZeihEPT57bi5XSigiY3RtcCIsInNzY2UiLHtuOkQubmFtZSwKbTpELm1lc3NhZ2V9KX0pKS50aGVuKFl6KCgpPT57QTIobil9KSk6QTIobil9ZWxzZSBBMihuKX07ClljMT1mdW5jdGlvbihuLFcsRCl7bi5QWD0hMDtEPW5ldyBydShXLEQpO24uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmKG4uVi5nZXQoVyl8fG4uVi5zZXQoVyxEKSk7cFVqKG4sRCl9OwpwVWo9ZnVuY3Rpb24obixXKXtpZighbi5xTigpKXtuLkooe29uSW5pdERhdGE6MX0pO2lmKG4uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBEPW4uSy5nZXQoVy5pbml0RGF0YSk7Vz1uLlYuZ2V0KFcuaW5pdERhdGEpO2lmKCFEfHwhVylyZXR1cm47Vz1EO0Q9Vy5pbml0RGF0YTtuLlYucmVtb3ZlKEQpO24uSy5yZW1vdmUoRCl9bi5KKHtpbml0ZDpXLmluaXREYXRhLmxlbmd0aCxjdDpXLmNvbnRlbnRUeXBlfSk7aWYobi5OLmZsYXZvcj09PSJ3aWRldmluZSIpaWYobi5WUSYmIW4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrKW1uKG4pO2Vsc2V7aWYoIShuLkIuUygidnA5X2RybV9saXZlIikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZXLnFIKSl7bi5WUT0hMDtEPVcuY3J5cHRvUGVyaW9kSW5kZXg7dmFyIGI9Vy5OO1Z2dChXKTtXLnFIfHwoYiYmVy5OIT09Yj9uLldKKCJjdG1wIiwiY3BzbW0iLHtlbXNnOmIsCnBzc2g6Vy5OfSk6RCYmVy5jcnlwdG9QZXJpb2RJbmRleCE9PUQmJm4uV0ooImN0bXAiLCJjcGltbSIse2Vtc2c6RCxwc3NoOlcuY3J5cHRvUGVyaW9kSW5kZXh9KSk7bi5XSigid2lkZXZpbmVfc2V0X25lZWRfa2V5X2luZm8iLFcpfX1lbHNlIG4uUyQoVyl9fTsKbW49ZnVuY3Rpb24obil7aWYobi5QWCYmbi5EJiYhbi5iZCl7Zm9yKDtuLlgubGVuZ3RoOyl7bGV0IFc9bi5YWzBdLEQ9SG1TKG4pP2NraihXKTpnLkVBKFcuaW5pdERhdGEpO2lmKG4uTi5OKCkmJiFXLlVXKW4uWC5zaGlmdCgpO2Vsc2V7aWYobi5XLmdldChEKSlpZihuLk4uZmxhdm9yIT09ImZhaXJwbGF5Inx8bi5OLk4oKSl7bi5YLnNoaWZ0KCk7Y29udGludWV9ZWxzZSBuLlcuZGVsZXRlKEQpO1Z2dChXKTticmVha319bi5YLmxlbmd0aCYmbi5jcmVhdGVTZXNzaW9uKG4uWFswXSl9fTsKQTI9ZnVuY3Rpb24obil7bi5xTigpfHwobi5EPSEwLG4uSih7b25tZGtyZHk6MX0pLG1uKG4pKX07CkhtUz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmZsYXZvcj09PSJ3aWRldmluZSImJm4udmlkZW9EYXRhLlMoImh0bWw1X2RybV9jcGlfbGljZW5zZV9rZXkiKX07CmY1eD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmQ4KCkmJm4ubWVkaWFLZXlzLm1lZGlhS2V5cz8uZ2V0TWV0cmljcyl7dmFyIFc9YXdhaXQgbi5tZWRpYUtleXMuZ2V0TWV0cmljcygpO1cmJigoMCxnLkc5KShXKXx8KFc9Zy5IRyhXKSksL15bQS1aYS16MC05Xy1dKz17MCwzfSQvLnRlc3QoVyl8fChXPWcudXAoVyx2b2lkIDAsITApKSxuLldKKCJjdG1wIiwiZHJtIix7bWV0cmljczpXfSkpfX07CkpJYj1mdW5jdGlvbihuLFcpe2lmKG4udmlkZW9EYXRhLlkpcmV0dXJuITE7bi55US5udSs9MTtpZihuLnlRLm51PD0xMClyZXR1cm4hMTtXLmV4aWxlZD1gJHtuLnlRLm51fWA7bi5HcygicW9lLnN0YXJ0MTVzIixXKTtuLkwuV0ooInBsYXliYWNrc3RhbGxlZGF0c3RhcnQiKTtyZXR1cm4hMH07Ckk1Mj1mdW5jdGlvbihuKXtpZighbi5KKXtuLko9ITA7dmFyIFc9bi5MLmdldFBsYXllclN0YXRlKCk7Vz1XLmlzUGF1c2VkKCl8fFcuaXNTdXNwZW5kZWQoKTtuLkwub0ooKTtXJiYhT1Mobi52aWRlb0RhdGEpfHxuLkwuV0ooInNpZ25hdHVyZWV4cGlyZWQiKX19OwpLQz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi52aWRlb0RhdGEuSix2PW4udmlkZW9EYXRhLlgsaz1uLnlRLlMoImh0bWw1X2Rpc2FibGVfY29kZWNfZmFsbGJhY2tfZm9yX2RybSIpJiZuLnZpZGVvRGF0YS5NaSgpO0FKKG4uTC5nZXRWaWRlb0RhdGEoKSkmJlA5VShuLkwsInBlIik7bi55US5adCgpLk4uUVEoU2N0KSYmKEQuYmtnPW4uTC5YTygpLmlzQmFja2dyb3VuZCgpPyIxIjoiMCIpO2lmKChXPT09InByb2dyZXNzaXZlLm5ldC5yZXRyeWV4aGF1c3RlZCJ8fFc9PT0iZm10LnVucGxheWFibGUifHxXPT09ImZtdC5kZWNvZGUiKSYmIW4uTC5oVS5qJiZiJiZiLml0YWc9PT0iMjIiKXJldHVybiBuLkwuaFUuaj0hMCxuLkdzKCJxb2UucmVzdGFydCIse3JlYXNvbjoiZm10LnVucGxheWFibGUuMjIifSksbi5MLlZ2KCksITA7dmFyIGg9ITE7aWYobi52aWRlb0RhdGEuaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCl7aWYoaD1uLnZpZGVvRGF0YS5xdylELm1pbWVUeXBlPWgudHlwZSwKbi5VKCIzcHAiLHt1cmw6aC51cmx9KTtELm5zPSIzcHAiO24uTC5QVihXLDEsIlZJREVPX1VOQVZBSUxBQkxFIixnLlRDKChuZXcgZy5DaShXLEQsMSkpLmRldGFpbHMpKTtyZXR1cm4hMH12YXIgeD1uLmtzKzNFNDwoMCxnLlIpKCl8fG4uTi5pc0FjdGl2ZSgpO2lmKG4ueVEuUygiaHRtbDVfZW1wdHlfc3JjIikmJm4udmlkZW9EYXRhLmlzQWQoKSYmVz09PSJmbXQudW5wbGF5YWJsZSImJi9FbXB0eSBzcmMvLnRlc3QoYCR7RC5tc2d9YCkpcmV0dXJuIEQub3JpZ2luPSJlbXB0eXNyYyIsbi5HcygiYXV0aCIsRCksITA7dmFyIEw7aWYoTD0heClMPW4uTC5YTygpLEw9ISEoTC5CUCgpfHxMLmlzSW5saW5lKCl8fEwuaXNCYWNrZ3JvdW5kKCl8fEwuQW4oKXx8TC5qSSgpfHxMLlNJKCl8fEwuUTAoKSk7TCYmKEQubm9uZmc9InBhdXNlZCIseD0hMCxuLkwucGF1c2VWaWRlbygpKTtXIT09ImZtdC5kZWNvZGUiJiZXIT09ImZtdC51bnBsYXlhYmxlInx8IXY/LlYoKXx8KFNUKG4ueVEuVyx2LklCKSwKRC5hY2ZhbGxleHA9di5JQixoPXg9ITApOyF4JiZuLlc+MCYmKG4uTi5zdGFydCgpLHg9ITAsRC5kZWxheWVkPSIxIiwtLW4uVyk7dj1uLkwubG9hZGVyO3h8fCFiPy5NVygpJiYhYj8uWCgpfHxrfHwoU1Qobi55US5XLGIuSUIpLGg9eD0hMCxELmNmYWxsZXhwPWIuSUIpO2lmKCF4KXJldHVybiBKSWIobixEKTtrPSExO24uaj9uLmtzPSgwLGcuUikoKTprPW4uaj0hMDt4PW4udmlkZW9EYXRhO3guY0o/KHg9eC5jSi5qKCksTD1EYXRlLm5vdygpLzFFMysxODAwLHg9eDxMKTp4PSExO0QuZT1XO3gmJihELnN0YWxlcHJvZz0iMSIpO24uR3MoInFvZS5yZXN0YXJ0IixEKTtpZih4JiZuLlExKCkpcmV0dXJuIEk1MihuKSwhMDtpZighKCFnLnViKCJwaGlsaXBzIil8fFc9PT0iZm10LnVucGxheWFibGUiJiZ2JiZ2LkNIfHxuLnlRLk4uY3BsYXRmb3JtPT09IkdBTUVfQ09OU09MRSIpKXRyeXt3aW5kb3cuY2xvc2UoKX1jYXRjaHt9YiYmYi5NVygpJiYhbi55US5TKCJodG1sNV9hbGxvd19hdjFfcmV0cnlfaW5fc2Vzc2lvbiIpPwooaD1uLnlRLlcsaC5ZPSEwLGg9aC5OPSEwKTp2PyhXPW4ueVEuUygiaHRtbDVfZGlzYWJsZV9zdHVubmluZ19mb3Jfc2QiKSxEPW4udmlkZW9EYXRhLlcsRD1EPy52aWRlb0luZm9zPy5sZW5ndGg/RC52aWRlb0luZm9zW0QudmlkZW9JbmZvcy5sZW5ndGgtMV06bnVsbCxiPWImJkQmJmIudmlkZW8mJkQudmlkZW8mJmIudmlkZW8ucXVhbGl0eU9yZGluYWw9PT1ELnZpZGVvLnF1YWxpdHlPcmRpbmFsLGt8fFcmJmJ8fChiPShiPUkkKHYudmlkZW9UcmFjayl8fHYudmlkZW9UcmFjay5OKT9iLlBKOnYudmlkZW9UcmFjay5QSixiLkZGKz0xLHYucG9saWN5Lk4/V2wodi5rNixiLCEwKTphcSh2LmNWLGIsITApKSk6bi52aWRlb0RhdGEuY0omJm4udmlkZW9EYXRhLmNKLlgoKTtuLk4uaXNBY3RpdmUoKXx8bi5MLkJvKGgpO3JldHVybiEwfTsKQUlNPWZ1bmN0aW9uKG4sVyl7aWYoKG49bi5MLmg1KCkpJiYoVy5lcnJvckNvZGU9PT0iZm10LnVucGxheWFibGUifHxXLmVycm9yQ29kZT09PSJodG1sNS5pbnZhbGlkc3RhdGUiKSl7bGV0IEQ9bi5WRygpO1cuZGV0YWlscy5tZXJyPUQ/RC50b1N0cmluZygpOiIwIjtXLmRldGFpbHMubW1zZz1uLnM4KCl9fTsKbWJNPWZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yQ29kZT09PSJuZXQuYmFkc3RhdHVzIiYmKG4uc2V2ZXJpdHk9PT0xfHwhIW4uZGV0YWlscy5mbXRfdW5hdil9OwpLZ3g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi55US5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIikmJlcuZGV0YWlscy5yYz09PTQwM3x8Vy5kZXRhaWxzLnJjPT09IjQwMyI/KG49Vy5lcnJvckNvZGUsbj09PSJuZXQuYmFkc3RhdHVzInx8bj09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiKTohMX07Ck9YPWZ1bmN0aW9uKG4sVyxEKXt0cnl7Vz17ZGV0YWlsOmBwci4ke1d9YH0sZy54NihuLnlRKXx8bG8obi55USk9PT0iVFZIVE1MNV9GT1JfS0lEUyI/bi5MLlBWKCJxb2UucmVzdGFydCIsRD8xOjIsdm9pZCAwLGcuVEMoVyksIjciKToobi5HcygicW9lLnJlc3RhcnQiLFcpLHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSl9Y2F0Y2h7fX07Ck9tMj1mdW5jdGlvbihuLFcpe2lmKCFLZ3gobixXKSYmIW4uSilyZXR1cm4hMTtXLmRldGFpbHMuc3RzPSIyMDY1NSI7aWYobi5RMSgpKXJldHVybiBqMihXLnNldmVyaXR5KSYmKFc9T2JqZWN0LmFzc2lnbih7ZTpXLmVycm9yQ29kZX0sVy5kZXRhaWxzKSxXPW5ldyBnLkNpKCJxb2UucmVzdGFydCIsVykpLG4uR3MoVy5lcnJvckNvZGUsVy5kZXRhaWxzKSxJNTIobiksITA7KDAsZy5SKSgpLW4ueVEuQ3U+NjA0OEU1JiZPWChuLCJzaWduYXR1cmUiLCEwKTtyZXR1cm4hMX07ClBNaj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YS5lcnJvckRldGFpbD09PSI3IiYmZy5rNihuLnlRKSl7bGV0IFc9IW4udmlkZW9EYXRhLmlzSW5saW5lUGxheWJhY2tOb0FkO1cmJm4ueVEuVFErKztPWChuLCJpbm5lcnR1YmVfcGxheWVyX3JlbG9hZF9yZXF1aXJlZCIsVyYmbi55US5UUT4xKTtyZXR1cm4hMH1yZXR1cm4hMX07ClByPWZ1bmN0aW9uKG4sVz0iZm10Lm5vbmVhdmFpbGFibGUiKXt2YXIgRD1uLnlRLlc7RC5LPSExO0QuTj0hMDtuLkdzKCJxb2UucmVzdGFydCIse2U6VyxkZXRhaWw6ImhkciJ9KTtuLkwuQm8oITApfTsKWm1oPWZ1bmN0aW9uKG4pe2lmKG4uTC5YTygpLmlzSW5saW5lKCkpcmV0dXJuIFlaO249TGdbcDcoKV07cmV0dXJuIHZBKCJhdXRvIixuLCExLCJzIil9Owp5SXI9ZnVuY3Rpb24obixXKXt2YXIgRDthOmlmKChEPVcuTikmJkQudmlkZW9JbmZvcy5sZW5ndGgpe2Zvcih2YXIgYiBvZiBELnZpZGVvSW5mb3MpaWYoYi5qPy5zbW9vdGgpe0Q9Yi52aWRlby5xdWFsaXR5T3JkaW5hbDticmVhayBhfUQ9RC52aWRlb0luZm9zWzBdLnZpZGVvLnF1YWxpdHlPcmRpbmFsfWVsc2UgRD0wO2I9ITA7bi5CLlMoIndlYl9yZWxheF9hcm1fY2FwIikmJm5hdmlnYXRvci5KRiYmKGI9ITEpO2ImJihnLnViKCJhcm12NyIpfHxnLnViKCJhYXJjaDY0Iil8fGcudWIoImFuZHJvaWQiKSkmJiFnLms2KG4uQikmJlcuTi52aWRlb0luZm9zWzBdLlgoKSYmKEQ9TWF0aC5taW4oRCxORy5sYXJnZSkpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2NoaXBzZXRfc29mdF9jYXAiKTtiPjAmJihEPU1hdGgubWluKEQsYikpO2I9bi5CLncwKCkuTi5RUShVYlMpO2I+MCYmKEQ9TWF0aC5taW4oRCxiKSk7aWYoYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb24iKSl7bGV0IGg9CjQzMjA7Zm9yKHZhciB2PTA7djxXLk4udmlkZW9JbmZvcy5sZW5ndGg7disrKXt2YXIgaz1XLk4udmlkZW9JbmZvc1t2XTtrLnZpZGVvLmhlaWdodD5iJiYoaD1NYXRoLm1pbihoLGsudmlkZW8ucXVhbGl0eU9yZGluYWwpKX1pZihoPDQzMjApe3Y9MDtmb3Ioaz0wO2s8Vy5OLnZpZGVvSW5mb3MubGVuZ3RoO2srKyl7bGV0IHg9Vy5OLnZpZGVvSW5mb3Nba10udmlkZW8ucXVhbGl0eU9yZGluYWw7eDxoJiYodj1NYXRoLm1heCh2LHgpKX12JiYoRD1NYXRoLm1pbih2LEQpKX1uLkwuVSgibXZyIix7aDpiLGNwOkR9KX1yZXR1cm4gbmV3IGIzKDAsRCwhMSwibyIpfTsKaW1yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9NDMyMDshbi5CLmp8fGcuQ04obi5CKXx8bi5CLlMoImhsc19mb3Jfdm9kIil8fG4uQi5TKCJtd2ViX3JlbW92ZV8zNjBwX2NhcCIpfHwoRD1ORy5tZWRpdW0pO3ZhciBiPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwIik7YiYmVy5OLk4oKSYmKG4uQi5TKCJodG1sNV9hbHdheXNfYXBwbHlfZGVmYXVsdF9xdWFsaXR5X2NhcCIpfHwhVy52aWRlb0RhdGEuaTUmJiFXLnZpZGVvRGF0YS5jb250ZW50UHJvdGVjdGlvbikmJihEPU1hdGgubWluKEQsYikpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXAiKTt2YXIgdj0vW2EtaF0kLztiJiZ2LnRlc3QoVy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSkmJihEPU1hdGgubWluKEQsYikpO2lmKHY9Yj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfaGZyX3F1YWxpdHlfY2FwIikpYTp7dj1XLk47aWYodi5OKCkpZm9yKHZhciBrIG9mIHYudmlkZW9JbmZvcylpZihrLnZpZGVvLkooKSl7dj0KITA7YnJlYWsgYX12PSExfXYmJihEPU1hdGgubWluKEQsYikpOyhrPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9saXZlX3F1YWxpdHlfY2FwIikpJiZXLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEQ9TWF0aC5taW4oRCxrKSk7RD1FUU0obixXLEQpO249Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIik7cmV0dXJuIG5ldyBiMygwLEQ9PT00MzIwPzA6RCwhMSwiZCIsbil9OwpaVj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTC5YTygpO3JldHVybiBELmlzSW5saW5lKCkmJiFXLnVuY2FwSW5saW5lUXVhbGl0eT9uZXcgYjMoMCw0ODAsITEsInYiKTpnLllOKFcpP1laOkQuaXNCYWNrZ3JvdW5kKCkmJmcudkkoKS8xRTM+NjAmJiFnLms2KG4uQik/bmV3IGIzKDAsMzYwLCExLCJ2Iik6WVp9OwpVWD1mdW5jdGlvbihuLFcsRCl7aWYobi5CLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIikmJlcuaHEoKXx8Zy5rNihuLkIpJiYocDcoLTEpPj0xMDgwfHxXLm9zaWQpKXJldHVybiBZWjt2YXIgYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcCIpLHY9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2VjcyIpO3JldHVybiBiJiZXLmlzQXV0b25hdiYmZy52SSgpLzFFMz52PyhEJiYoYj1FUU0obixELGIpKSxuZXcgYjMoMCxiLCExLCJlIikpOllafTsKeTM9ZnVuY3Rpb24obixXKXtpZighVy5OLk4oKSlyZXR1cm4gbi5qP25ldyBiMygwLDM2MCwhMSwiYiIpOllaO3ZhciBEPSExLGI9ITE7Zm9yKHZhciB2IG9mIFcuTi52aWRlb0luZm9zKXYuTVcoKT9EPSEwOmI9ITA7RD1EJiZiO2I9MDt2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3IiKTt2PW4uQi5qPzI0MDp2O2ZvcihsZXQgayBvZiBXLk4udmlkZW9JbmZvcyl7aWYoRCYmay5NVygpKWNvbnRpbnVlO1c9VkMoay5JQixrLnZpZGVvLmZwcyxuLlcpO2xldCBoPWsudmlkZW8ucXVhbGl0eU9yZGluYWw7aWYoTWF0aC5tYXgoVyx2KT49aCl7Yj1oO2JyZWFrfX1yZXR1cm4gbmV3IGIzKDAsYiwhMSwiYiIpfTsKaW09ZnVuY3Rpb24obixXKXt2YXIgRD1FWChuLFcuTj8udmlkZW9JbmZvcyksYj1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7cmV0dXJuIGI+MSYmRD8obj1KeihuLkIuVyxXLk4udmlkZW9JbmZvcyxiKSxuZXcgYjMoMCxuLCEwLCJvIikpOm5ldyBiMygwLDAsITEsIm8iKX07CnVtPWZ1bmN0aW9uKG4sVyxEKXtnLms2KG4uQikmJihEPUQuY29tcG9zZShuLk1oKFcpKSk7cmV0dXJuIER9OwpFWD1mdW5jdGlvbihuLFcpe3JldHVybiBXJiZnLms2KG4uQik/Vy5zb21lKEQ9PkQudmlkZW8uSigpKTohMX07CkVRTT1mdW5jdGlvbihuLFcsRCl7aWYobi5TKCJodG1sNV9vcHRpbWFsaXR5X2RlZmF1bHRzX2Nob29zZXNfbmV4dF9oaWdoZXIiKSYmRClmb3Iobj1XLk4udmlkZW9JbmZvcyxXPTE7VzxuLmxlbmd0aDtXKyspaWYobltXXS52aWRlby5xdWFsaXR5T3JkaW5hbDxEKXJldHVybiBuW1ctMV0udmlkZW8ucXVhbGl0eU9yZGluYWw7cmV0dXJuIER9Owp1aWo9YXN5bmMgZnVuY3Rpb24obil7aWYoIW4uTi5OKCl8fHR5cGVvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2F3YWl0IFByb21pc2UucmVzb2x2ZSgpO2ZvcihsZXQgVyBvZiBuLk4udmlkZW9JbmZvcylhd2FpdCBrM3IoVyl9OwpvUTI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLklCLGI9Vy52aWRlby5mcHMsdj1XLnZpZGVvLnF1YWxpdHlPcmRpbmFsLTEsaz1uLlc7Vz1gJHtEfSR7Yj40OT8icDYwIjpiPjMyPyJwNDgiOiIifWA7RD1WQyhELGIsayk7dj4wJiYoRD1NYXRoLm1pbihELHYpKTshY0YuaGFzKFcpJiZKcygpLmluY2x1ZGVzKFcpPyhiPWY3KCksK2JbV10+MCYmKEQ9TWF0aC5taW4oK2JbV10sRCkpLGJbV10hPT1EJiYoYltXXT1ELGcuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLGIsMjU5MkUzKSkpOmNGLmhhcyhXKXx8az09bnVsbD8oYj1KcygpLnNsaWNlKCksYi5pbmNsdWRlcyhXKXx8KGIucHVzaChXKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLGIsMjU5MkUzKSksUUMuc2V0KFcsRCkpOihjRi5hZGQoVyksaz8uc2V0KFcsRCkpO24uTC5zVCgpfTsKZGJTPWZ1bmN0aW9uKCl7cmV0dXJuIFd4KGY3KCksbj0+YCR7bn1gKX07Cno4Mj1mdW5jdGlvbihuLFcsRCxiKXtpZighV3x8IUR8fCFXLnZpZGVvRGF0YS5KKXJldHVybiExO3ZhciB2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoIiksaz1uLlMoImh0bWw1X2xvZ19tZWRpYV9wZXJmX2luZm8iKTtpZighKCgwLGcuUikoKS1uLlg8NUUzPzA6a3x8dj4wKSlyZXR1cm4hMTt2YXIgaD0oKDAsZy5SKSgpLW4uWCkvMUUzO24uWD0oMCxnLlIpKCk7RD1ELmdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7aWYoIUQpcmV0dXJuITE7dmFyIHg9RC5kcm9wcGVkVmlkZW9GcmFtZXMtbi5WLEw9RC50b3RhbFZpZGVvRnJhbWVzLW4udG90YWxGcmFtZXM7bi5WPUQuZHJvcHBlZFZpZGVvRnJhbWVzO24udG90YWxGcmFtZXM9RC50b3RhbFZpZGVvRnJhbWVzO3ZhciBlPUQuZGlzcGxheUNvbXBvc2l0ZWRWaWRlb0ZyYW1lcz09PTA/MDpELmRpc3BsYXlDb21wb3NpdGVkVmlkZW9GcmFtZXN8fC0xO2smJm4uQi5XWCgpJiZuLkwuVSgiZGRmIiwKe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lcyxjb21wOmV9KTtpZihiKXJldHVybiBuLk49MCwhMTtpZigoTC14KS9oPm4uWXx8IXZ8fGcuazYobi5CKSlyZXR1cm4hMTtuLk49KEw+NjA/eC9MOjApPnY/bi5OKzE6MDtpZihuLk4hPT0zKXJldHVybiExO29RMihuLFcudmlkZW9EYXRhLkopO24uTC5VKCJkZmQiLE9iamVjdC5hc3NpZ24oe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lc30sZGJTKCkpKTtyZXR1cm4hMH07Cmw1VT1mdW5jdGlvbihuLFcpe24uUygiaHRtbDVfbG9nX21lZGlhX3BlcmZfaW5mbyIpJiYobi5MLlUoInBlcmZkYiIsZGJTKCkpLG4uTC5VKCJzZXNzaW9ucGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMoUUMuZW50cmllcygpKSksbi5MLlUoInBsYXliYWNrcGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMobi5XLmVudHJpZXMoKSkpLG4uTC5VKCJod2MiLHtuY2g6bmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3l9LCEwKSxXJiZuLkwuVSgibWNkYiIse2l0YWdzOlcuTi52aWRlb0luZm9zLmZpbHRlcihEPT5ELmo/LnNtb290aD09PSExKS5tYXAoRD0+RC5pdGFnKS5qb2luKCItIil9KSl9OwpiQT1mdW5jdGlvbihuLFcsRD0hMSl7bi5ZYT8uV1goKSYmbi5ZYS5VKCJybXMiLFcsRCl9OwpvdT1mdW5jdGlvbihuKXtuPW4uTygpO3JldHVybiBuLmxlbmd0aDwxP05hTjpuLmVuZChuLmxlbmd0aC0xKX07ClRvaT1mdW5jdGlvbihuLFcpe24uWGImJm4uWGIuZXF1YWxzKFcpfHwobi5YYiYmbi5YYi5kaXNwb3NlKCksbi5YYj1XKX07CmpJaj1mdW5jdGlvbihuKXshbi5XJiZjUigpJiYobi5qP24uai50aGVuKCgpPT5qSWoobikpOm4uWF8oKXx8KG4uVz1uLlV6KCkpKX07CkNNeD1mdW5jdGlvbihuLFcsRCl7bi5pc1BhdXNlZCgpfHxuLmdldEN1cnJlbnRUaW1lKCk+V3x8RD4xMHx8KG4ucGxheSgpLGcubiQoKCk9PntDTXgobixuLmdldEN1cnJlbnRUaW1lKCksRCsxKX0sNTAwKSl9OwpCb3Q9ZnVuY3Rpb24obixXKXtpZihuLlgoKT09PTB8fG4uaGFzRXJyb3IoKSlyZXR1cm4hMTt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gVz49MCYmKG49bi5PKCksbi5sZW5ndGh8fCFEKT9CUihuLFcpOkR9OwpkUz1mdW5jdGlvbihuKXtpZihuLlhfKCl8fG4uVEMoKSluLllhJiZuLllhLkNjKCJyc19zIiksZy5NTCYmbi5nZXRDdXJyZW50VGltZSgpPjAmJm4uc2Vla1RvKDApLG4uVlEoKSxuLmUkKCksbi5sb2FkKCksVG9pKG4sbnVsbCk7ZGVsZXRlIG4uan07CkZnYj1mdW5jdGlvbihuKXt2YXIgVz1uLkooKTtyZXR1cm4gTSQoVykmJm4uZ2V0RHVyYXRpb24oKT9XLmVuZChXLmxlbmd0aC0xKTowfTsKelg9ZnVuY3Rpb24obil7c3dpdGNoKG4uVkcoKSl7Y2FzZSAyOnJldHVybiJwcm9ncmVzc2l2ZS5uZXQucmV0cnlleGhhdXN0ZWQiO2Nhc2UgMzpyZXR1cm4gbj1uLnM4KCksbj8uaW5jbHVkZXMoIk1FRElBX0VSUl9DQVBBQklMSVRZX0NIQU5HRUQiKXx8d1VNJiZuPy5pbmNsdWRlcygiYXVkaW9fb3V0cHV0X2NoYW5nZSIpPyJjYXBhYmlsaXR5LmNoYW5nZWQiOiJmbXQuZGVjb2RlIjtjYXNlIDQ6cmV0dXJuImZtdC51bnBsYXlhYmxlIjtjYXNlIDU6cmV0dXJuImRybS51bmF2YWlsYWJsZSI7Y2FzZSAxRTM6cmV0dXJuImNhcGFiaWxpdHkuY2hhbmdlZCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19OwpNd2g9ZnVuY3Rpb24obil7dmFyIFc9bnVsbDtuWzRdJiYoVz1uWzRdLFc9e2Vycm9yQ29kZTpXWzVdLGVycm9yRGV0YWlsOldbNl0sZXJyb3JNZXNzYWdlOldbN10saHk6V1s4XSxUaDpXWzldLHdpOldbMTBdLEp4OldbMTFdLGNwbjpXWzEyXX0pO3JldHVybiBuZXcgZy5sbShuWzFdLFcsblsyXSxuWzNdKX07CmwxPWZ1bmN0aW9uKG4pe3JldHVybiBuLmlzUGxheWluZygpJiYhbi5OKDE2KSYmIW4uTigzMil9OwpUWD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OKDEyOCk/LTE6bi5OKDIpPzA6bi5OKDIwNDgpPzM6bi5OKDY0KT8tMTpuLk4oMSkmJiFuLk4oMzIpPzM6bi5OKDgpPzE6bi5OKDQpPzI6LTF9OwpqMD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCEoVz09PW4uc3RhdGUmJkQ9PT1uLmhPJiZiPT09bi5zZWVrU291cmNlJiZ2PT09bi5zdG9wcGFnZVJlYXNvbnx8VyE9PXZvaWQgMCYmKFcmMTI4JiYhRHx8VyYyJiZXJjE2KSkpe3ZhciBrO2lmKGs9VylrPVd8fG4uc3RhdGUsaz0hIShrJjE2fHxrJjMyKTtuPW5ldyBnLmxtKFcsRCxrP2I/YjpuLnNlZWtTb3VyY2U6bnVsbCx2KX1yZXR1cm4gbn07CkNDPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gUjhDKG4sVy5nZXRDdXJyZW50VGltZSgpLCgwLGcuUikoKSxXLnpzKCksRCl9OwpCcj1mdW5jdGlvbihuLFcsRD1udWxsLGI9bnVsbCl7cmV0dXJuIGowKG4sbi5zdGF0ZXxXLG51bGwsRCxiKX07CkZiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGowKG4sbi5zdGF0ZSZ+VyxudWxsLG51bGwsbnVsbCl9Owp3Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwsdj1udWxsKXtyZXR1cm4gajAobiwobi5zdGF0ZXxXKSZ+RCxudWxsLGIsdil9OwpRSVM9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zdGF0ZT09PW4uc3RhdGUmJlcuaE89PT1uLmhPfTsKVndNPWZ1bmN0aW9uKG4pe3N3aXRjaChuLkIucGxheWVyQ2FuYXJ5U3RhZ2U/LnRvTG93ZXJDYXNlKCkpe2Nhc2UgInhzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWFNNQUxMIjtjYXNlICJzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfU01BTEwiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTUVESVVNIjtjYXNlICJsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTEFSR0UiO2Nhc2UgInhsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWExBUkdFIjtkZWZhdWx0OnJldHVybiJIVE1MNV9QTEFZRVJfQ0FOQVJZX1NUQUdFX1VOU1BFQ0lGSUVEIn19OwpjSWo9ZnVuY3Rpb24obil7bi5OPj0wfHwobi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09Mz9uLlY9ITA6KG4uTj1nLlJrKG4ucHJvdmlkZXIpLG4uZGVsYXkuc3RhcnQoKSkpfTsKYTVyPWZ1bmN0aW9uKG4pe2lmKCEobi5KPDApKXt2YXIgVz1nLlJrKG4ucHJvdmlkZXIpLEQ9Vy1uLmo7bi5qPVc7bi5wbGF5ZXJTdGF0ZS5KKCk/bi5wbGF5VGltZVNlY3MrPUQ6bi5wbGF5ZXJTdGF0ZS5pc0J1ZmZlcmluZygpJiYhbi5wbGF5ZXJTdGF0ZS5OKDE2KSYmKG4ucmVidWZmZXJUaW1lU2Vjcys9RCl9fTsKUnU9ZnVuY3Rpb24obixXPSExKXtuLk4uWD1XO24uTi5zdGFydFRpbWU9bi5XO24uTi5lbmRUaW1lPW4uSjtuLmpWPy5sZW5ndGgmJihuLk4ualY9bi5qVik7bi5yWD8ubGVuZ3RoJiYobi5OLnJYPW4uclgpO1c9ITE7dmFyIEQ9Zy5VTShuLnNlZ21lbnRzKTtuLnNlZ21lbnRzLmxlbmd0aCYmIUQ/LlgmJkQ/LmlzRW1wdHkoKT8obi5zZWdtZW50c1tuLnNlZ21lbnRzLmxlbmd0aC0xXS5wcmV2aW91c2x5RW5kZWQmJihuLk4ucHJldmlvdXNseUVuZGVkPSEwKSxuLnNlZ21lbnRzW24uc2VnbWVudHMubGVuZ3RoLTFdPW4uTixXPSEwKTpuLnNlZ21lbnRzLmxlbmd0aCYmbi5OLmlzRW1wdHkoKSYmIW4uTi5YfHwobi5zZWdtZW50cy5wdXNoKG4uTiksVz0hMCk7Vz8obi5OLmVuZFRpbWU9PT0wJiYobi5wcmV2aW91c2x5RW5kZWQ9ITEpLG4uTi5yWD8ubGVuZ3RoJiZuLnByb3ZpZGVyLkwuVSgic2RhaSIse2F0dGFjaF9tZXRhOjEsc3Q6bi5OLnN0YXJ0VGltZSxldDpuLk4uZW5kVGltZSxzZWdfaWR4Om4uc2VnbWVudHMubGVuZ3RoLQoxfSkpOm4uTi5wcmV2aW91c2x5RW5kZWQmJihuLnByZXZpb3VzbHlFbmRlZD0hMCk7bi5WKz1uLkotbi5XO24uTj1NbShuLnByb3ZpZGVyKTtuLk4ucHJldmlvdXNseUVuZGVkPW4ucHJldmlvdXNseUVuZGVkO24ucHJvdmlkZXIuQi5adCgpLk4uUVEobm9yKSYmKG4uais9SlNPTi5zdHJpbmdpZnkobi5OKS5sZW5ndGgpO24ucHJldmlvdXNseUVuZGVkPSExO24uVz1uLko7cmV0dXJuIFc/Zy5VTShuLnNlZ21lbnRzKTp2b2lkIDB9OwpXM1o9ZnVuY3Rpb24obil7RHIobi5LKTtuLks9TmFOfTsKRGoyPWZ1bmN0aW9uKG4pe1czWihuKTtuLks9VzAoKCk9PntuLnVwZGF0ZSgpfSwxMDApOwpuLnJ6PWcuUmsobi5wcm92aWRlcik7bi5OPU1tKG4ucHJvdmlkZXIpfTsKYlh0PWZ1bmN0aW9uKG4sVyxEKXtELT1uLnJ6O3JldHVybiBXPT09bi5KJiZEPi41fTsKZy5RMz1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnZpc2l0b3JEYXRhOnZvaWQgMDtyZXR1cm4gZy5IRShuLkIsbi5hY2Nlc3NUb2tlbikudGhlbihiPT5qUihuLnVyaSxuLkIsbi5wYWdlSWQsRCxiLFcpKX07Cmcudm9qPWZ1bmN0aW9uKG4pe24uaW5kZXhPZigid2F0Y2h0aW1lIikhPT0tMSYmZy56VSgiZ2VsRGVidWdnaW5nRXZlbnQiLHt2c3MzZGVidWdnaW5nRXZlbnQ6e3ZzczJQaW5nOm59fSl9OwprcGk9ZnVuY3Rpb24obixXKXtuLmF0dGVzdGF0aW9uUmVzcG9uc2UmJmcuUTMobikudGhlbihEPT57RD1EfHx7fTtELm1ldGhvZD0iUE9TVCI7RC5wb3N0UGFyYW1zPXthdHI6bi5hdHRlc3RhdGlvblJlc3BvbnNlfTtuLlMkP24uVlE/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLEQpOmcuSFUoKS5zZW5kVGhlbldyaXRlKFcsRCk6Zy5lZChXLEQpfSl9OwpoeWk9ZnVuY3Rpb24obil7dmFyIFc9e08zOltdfTtpZihnLm9NKG4uc2VnbWVudHMsRD0+ISFELmpWfHwhIUQuclgpKXtmb3IobGV0IEQgb2Ygbi5zZWdtZW50cylXLk8zLnB1c2goe2pWOkQualZ8fFtdLApyWDpELnJYfHxbXX0pO249Zy5saCh7Ykw6V30sUV8xKTtyZXR1cm4gZy5FQShuLDQpfX07CmJKPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuaV8oVyxuLkopLmpvaW4oIiwiKX07CnZ5TT1mdW5jdGlvbihuLFcpe2lmKFcmJm4uail7dmFyIEQ9bmV3IFNldChbInEiLCJmZWF0dXJlIiwibW9zIl0pLGI9bmV3IFNldCgiYXV0b3BsYXkgY2wgbGVuIGZleHAgZGVsYXkgZWwgbnMgYWRmb3JtYXQiLnNwbGl0KCIgIikpLHY9bmV3IFNldChbImFxaSIsImF1dG9uYXYiLCJsaXN0Iiwic3NydCIsInVwdCJdKTtuLmoubnM9PT0iM3BwIiYmKFcubnM9IjNwcCIpO2ZvcihsZXQgayBvZiBPYmplY3Qua2V5cyhuLmopKWIuaGFzKGspfHxELmhhcyhrKXx8di5oYXMoaykmJiFuLmpba118fChXW2tdPW4ualtrXSl9fTsKeGpqPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJwbGF5aW5nIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX1BMQVlJTkciO2Nhc2UgInBhdXNlZCI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9QQVVTRUQiO2Nhc2UgImJ1ZmZlcmluZyI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9CVUZGRVJJTkciO2Nhc2UgInNlZWtpbmciOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU0VFS0lORyI7Y2FzZSAiZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfRU5ERUQiO2Nhc2UgImVycm9yIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX0VSUk9SIjtjYXNlICJzdXNwZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU1VTUEVOREVEIjtjYXNlICJ1bnN0YXJ0ZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5TVEFSVEVEIjtkZWZhdWx0OnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5LTk9XTiJ9fTsKTDN4PWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDE6cmV0dXJuIlZJU19NSU5JTUlaRUQiO2Nhc2UgMjpyZXR1cm4iVklTX0ZVTExTQ1JFRU4iO2Nhc2UgMzpyZXR1cm4iVklTX0JBQ0tHUk9VTkQiO2Nhc2UgNDpyZXR1cm4iVklTX0FJUlBMQVkiO2Nhc2UgNTpyZXR1cm4iVklTX0lOTElORSI7Y2FzZSA2OnJldHVybiJWSVNfVlIiO2Nhc2UgNzpyZXR1cm4iVklTX1BJQ1RVUkVfSU5fUElDVFVSRSI7Y2FzZSA4OnJldHVybiJWSVNfSU1NRVJTSVZFX1BSRVZJRVciO2Nhc2UgOTpyZXR1cm4iVklTX1NRVUVFWkVCQUNLIjtjYXNlIDEwOnJldHVybiJWSVNfVEhFQVRFUiI7Y2FzZSAzMTpyZXR1cm4iVklTX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIlZJU19ERUZBVUxUIn19OwpleWo9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4iQ09OTl9VTktOT1dOIjtjYXNlIDI6cmV0dXJuIkNPTk5fTk9ORSI7Y2FzZSAzOnJldHVybiJDT05OX1dJRkkiO2Nhc2UgNDpyZXR1cm4iQ09OTl9DRUxMVUxBUl8yRyI7Y2FzZSA1OnJldHVybiJDT05OX0NFTExVTEFSXzNHIjtjYXNlIDY6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNEciO2Nhc2UgNzpyZXR1cm4iQ09OTl9DRUxMVUxBUl9VTktOT1dOIjtjYXNlIDg6cmV0dXJuIkNPTk5fRElTQ08iO2Nhc2UgOTpyZXR1cm4iQ09OTl9DRUxMVUxBUl81RyI7Y2FzZSAxMDpyZXR1cm4iQ09OTl9XSUZJX01FVEVSRUQiO2Nhc2UgMTE6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfU0EiO2Nhc2UgMTI6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfTlNBIjtjYXNlIDMwOnJldHVybiJDT05OX1dJUkVEIjtjYXNlIDMxOnJldHVybiJDT05OX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIkNPTk5fREVGQVVMVCJ9fTsKZy5jcj1mdW5jdGlvbihuLFcpe3ZhciBEPVYzKG4ucHJvdmlkZXIpO09iamVjdC5hc3NpZ24oRCx7c3RhdGU6bi5YfSk7Vz1uZXcgZ29oKG4ucHJvdmlkZXIudmlkZW9EYXRhLG4ucHJvdmlkZXIuQixXLEQpO1cuTj1uLnByb3ZpZGVyLkwub3QoKTtEPW4ucHJvdmlkZXIudmlkZW9EYXRhLmNsaWVudFBsYXliYWNrTm9uY2U7Vy5OPW4ucHJvdmlkZXIuTC5vaChEKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFcuZSQ9bi5wcm92aWRlci5MLmdldER1cmF0aW9uKEQpKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5OJiYoRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKFcuTikpJiYoVy5ZPUQtVy5OKTtEPW4ucHJvdmlkZXIuTC5TVygpO1cuTis9RDtXLlkhPW51bGwmJihXLlktPUQpO1cud2E9Zy5SayhuLnByb3ZpZGVyKTtXLnNlZ21lbnRzPVtNbShuLnByb3ZpZGVyKV07cmV0dXJuIFd9OwpYSVo9ZnVuY3Rpb24obil7dmFyIFc9bi5wcm92aWRlci52aWRlb0RhdGEubFEsRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5IWSxiPVsxMCtXLDEwLDEwLDQwK0QtVyw0MF0sdj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nLGs9dj8udmlkZW9zdGF0c1NjaGVkdWxlZEZsdXNoV2FsbHRpbWVTZWNvbmRzO3Y9dj8udmlkZW9zdGF0c0RlZmF1bHRGbHVzaEludGVydmFsU2Vjb25kcztpZighKGsmJmsubGVuZ3RoPjAmJnYpKXJldHVybiBiO1c9W2tbMF0rVywuLi5rLnNsaWNlKDEpLm1hcCgoaCx4KT0+aC1rW3hdKSwKditELVcsdl07cmV0dXJuIFcuc29tZShoPT5oPDApPyhnLmNfKG4ubG9nZ2VyLDM0NzExMTg1NSxgTmVnIHZzcyBzY2hlZHVsZWQgcGluZ3MgJHtrfSAke3Z9YCksYik6V307CmF1PWZ1bmN0aW9uKG4sVz1OYU4pe3ZhciBEPWcuUmsobi5wcm92aWRlcik7Vz1pc05hTihXKT9EOlc7Vz1NYXRoLmNlaWwoVyk7dmFyIGI9bi5lJFtuLnR3XTtuLnR3KzE8bi5lJC5sZW5ndGgmJm4udHcrKzt2YXIgdj1XK2I7bi5ZPWcubiQoKCk9PntpZighbi5xTigpKXtuLlk9TmFOO3ZhciBrPW4uUyQoKSxoPXE5MShuLGspO2guTz12O3ZhciB4PW4ubnU+MUUzOyEoay5sZW5ndGg+MSkmJmtbMF0uaXNFbXB0eSgpfHx4fHwoaC5LPWF1KG4sdikpO2lmKG4uY0ope2s9a1trLmxlbmd0aC0xXTtpZih4PW4uVEMpe3g9azt2YXIgTD1uLlRDO3g9eC5zdGFydFRpbWU9PT1MLnN0YXJ0VGltZSYmeC5lbmRUaW1lPT09TC5lbmRUaW1lfXh8fG51KG4sW2tdKX1oLnNlbmQoKTtuLm51Kyt9fSwodi1EKSoxRTMpOwpyZXR1cm4gbi5KPXZ9OwpXZD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuQjtnLkhFKG4ucHJvdmlkZXIuQixuLnByb3ZpZGVyLnZpZGVvRGF0YS5WKCkpLnRoZW4oYj0+e3ZhciB2PW4ucHJvdmlkZXIuQi5wYWdlSWQsaz1uLnByb3ZpZGVyLkIuc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnByb3ZpZGVyLnZpZGVvRGF0YS52aXNpdG9yRGF0YTp2b2lkIDAsaD1uLnByb3ZpZGVyLkIuUygidnNzX3BpbmdzX3VzaW5nX25ldHdvcmtsZXNzIil8fG4ucHJvdmlkZXIuQi5TKCJrZXZsYXJfd29mZmxlIikseD1uLnByb3ZpZGVyLkIuUygiYWxsb3dfc2tpcF9uZXR3b3JrbGVzcyIpO2I9alIoVyxELHYsayxiKTtDRChXLGIse3Rva2VuOm4ucHJvdmlkZXIudmlkZW9EYXRhLmtXLHlvOm4ucHJvdmlkZXIudmlkZW9EYXRhLlF2LG1keEVudmlyb25tZW50Om4ucHJvdmlkZXIudmlkZW9EYXRhLm1keEVudmlyb25tZW50fSxELHZvaWQgMCxoJiYheCwhMSwhMCl9KX07CnE5MT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuY3Iobiwid2F0Y2h0aW1lIik7RDcobikmJihELmRlbGF5VGhyZXNob2xkTWV0PSEwLG4uRHQ9ITApO2lmKG4uaj4wKXtsZXQgYj1uLnByb3ZpZGVyLkwuU1coKTtmb3IobGV0IHYgb2YgVyl2LnN0YXJ0VGltZS09bi5qK2Isdi5lbmRUaW1lLT1uLmorYjtELk4tPW4uaitifWVsc2UgRC5OPW4uTi5KO0Quc2VnbWVudHM9VztyZXR1cm4gRH07Cm51PWZ1bmN0aW9uKG4sVyxEPSExKXtmb3IobGV0IFt4LExdb2YgVy5lbnRyaWVzKCkpe2xldCBlPXgsRz1MO3ZhciBiPW4sdj1WMyhiLnByb3ZpZGVyKTtPYmplY3QuYXNzaWduKHYse3N0YXRlOmIuWH0pO09iamVjdC5hc3NpZ24odix7c2VxdWVuY2VJZDpiLnNlcXVlbmNlSWR9KTtiLnByb3ZpZGVyLkIuUygid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIikmJk9iamVjdC5hc3NpZ24odix7c2VuZElzb2xhdGVkUGF5bG9hZDohMH0pO3ZhciBrPWIsaD1rLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nPy52c3MzQ29uZmlnPy52c3MzU2NoZWR1bGluZ0NvbmZpZztoJiYoaD1oLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3MmJihEYXRlLm5vdygpLWsuR0MpLzFFMzxoLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3M/aC5lYXJseVNlZ21lbnRNYXhpbXVtTGVuZ3RoU2VjczpoLmRlZmF1bHRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3MsCkcuc2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWsuVEM/Lm5leHRTY2hlZHVsZWRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3M/P2gsRy5uZXh0U2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWgpO2s9bmV3IEdwYihHLGIucHJvdmlkZXIudmlkZW9EYXRhLHYpO2IuSEomJihrLmlzRG91YmxlTG9nZ2VkPSExKTt2PWs7Yi5wcm92aWRlci52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2t8fCh2Lm1lZGlhTGVuZ3RoU2VjPWIucHJvdmlkZXIuTC5nZXREdXJhdGlvbihiLnByb3ZpZGVyLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlKSk7aWYoYi5wcm92aWRlci52aWRlb0RhdGEuTil7aD1iLnByb3ZpZGVyLkwub3QoKTtsZXQgcj1iLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKGgpO3ImJih2LmxpdmVJbmdlc3Rpb25PZmZzZXRVc2VjPShyLWgpKjFFNil9RDcoYikmJih2LmRlbGF5VGhyZXNob2xkTWV0PSEwLGIuRHQ9ITApO0QmJmU9PT1XLmxlbmd0aC0xJiYoay5pc0ZpbmFsPQohMCxuLkZGPSEwKTtrLnNlbmQoKTtuLnNlcXVlbmNlSWQrKztuLlRDPUd9fTsKRDc9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz1uLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xvYWRlZCgpJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5vRCYmbi5XJiYhbi5EdClXPW4uTixXPVcuVitXLm90KCktVy5XPj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5vRDtyZXR1cm4hIVd9OwpiVj1mdW5jdGlvbihuLFcsRD0hMSl7RD1uLksoIWlzTmFOKG4uSiksITEsRCk7VyYmKG4uSj1OYU4pO3JldHVybiBEfTsKdFpNPWZ1bmN0aW9uKG4pe24ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCYmIW4uQ3UmJihXZChuLG4ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCksbi5DdT0hMCl9Owokalo9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuZ29vZ2xlUmVtYXJrZXRpbmdVcmwmJiFuLlBYJiYoV2QobixuLnByb3ZpZGVyLnZpZGVvRGF0YS5nb29nbGVSZW1hcmtldGluZ1VybCksbi5QWD0hMCl9Owp2ZD1mdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlcpe24uWD0icGF1c2VkIjt2YXIgVz1iVihuLCExLCEwKTtXLmlzRmluYWw9ITA7Vy5zZW5kKCk7bi5kaXNwb3NlKCl9fTsKcnB0PWZ1bmN0aW9uKG4sVyxEKXtpZighbi52Sil7RHx8KEQ9Zy5jcihuLCJhdHIiKSk7RC5hdHRlc3RhdGlvblJlc3BvbnNlPVc7dHJ5e0Quc2VuZCgpfWNhdGNoKGIpe2lmKGIubWVzc2FnZSE9PSJVbmtub3duIEVycm9yIil0aHJvdyBiO31uLnZKPSEwfX07CmcuUms9ZnVuY3Rpb24obil7cmV0dXJuIGcuc2JyKG4pKCl9OwpjY1o9ZnVuY3Rpb24obil7dmFyIFc9bmF2aWdhdG9yLmNvbm5lY3Rpb24/LnR5cGV8fCIiO2lmKFcpcmV0dXJuIE5FcltXXXx8TkVyLm90aGVyO2lmKGcuazYobi5CKSl7bj1uYXZpZ2F0b3IudXNlckFnZW50O2lmKC9bV3ddaXJlbGVzc1spXS8udGVzdChuKSlyZXR1cm4gMztpZigvW1d3XWlyZWRbKV0vLnRlc3QobikpcmV0dXJuIDMwfXJldHVybiAwfTsKTW09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHBJMjtXLko9VjMobikuY2M/LnRvU3RyaW5nKCl8fCItIjtXLnBsYXliYWNrUmF0ZT1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7dmFyIEQ9bi5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO0QhPT0wJiYoVy52aXNpYmlsaXR5U3RhdGU9RCk7bi5CLkR0JiYoVy5XPTEpO1cuaj1uLnZpZGVvRGF0YS5wUjtXLmNvbXBvc2l0ZUxpdmVTdGF0dXNUb2tlbj1uLnZpZGVvRGF0YS5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW47Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW49bi52aWRlb0RhdGEuaGVhcnRiZWF0TG9nZ2luZ1Rva2VuO0Q9bi5MLmdldEF1ZGlvVHJhY2soKTtELmtaJiZELmtaLmlkJiZELmtaLmlkIT09InVuZCImJihXLmF1ZGlvSWQ9RC5rWi5pZCk7Vy5jb25uZWN0aW9uVHlwZT1jY1oobik7Vy52b2x1bWU9bi5MLmdldFZvbHVtZSgpO1cubXV0ZWQ9bi5MLmlzTXV0ZWQoKTtXLmNsaXBJZD1uLkwuRm4oKXx8Ii0iO1cuTj1uLnZpZGVvRGF0YS5WZnx8CiItIjtyZXR1cm4gV307ClYzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTC5oaCgpfHx7fTtXLmZzPW4uTC52MygpO1cudm9sdW1lPW4uTC5nZXRWb2x1bWUoKTtXLm11dGVkPW4uTC5pc011dGVkKCk/MTowO1cubW9zPVcubXV0ZWQ7Vy5jbGlwaWQ9bi5MLkZuKCk7Vy5wbGF5ZXJoZWlnaHQ9bi5MLmdldFBsYXllclNpemUoKT8uaGVpZ2h0fHwwO1cucGxheWVyd2lkdGg9bi5MLmdldFBsYXllclNpemUoKT8ud2lkdGh8fDA7bj1uLnZpZGVvRGF0YTt2YXIgRD17fTtuLkomJihELmZtdD1uLkouaXRhZyxuLlgmJihuLlZRP24uWC5pdGFnIT09bi5KLml0YWc6bi5YLml0YWchPW4uSi5pdGFnKSYmKEQuYWZtdD1uLlguaXRhZykpO0QuZWk9bi5ldmVudElkO0QubGlzdD1uLnBsYXlsaXN0SWQ7RC5jcG49bi5jbGllbnRQbGF5YmFja05vbmNlO24udmlkZW9JZCYmKEQudj1uLnZpZGVvSWQpO24ueWwmJihELmluZnJpbmdlPTEpOyhuLmZCPzA6bi5QWCkmJihELnNwbGF5PTEpO3ZhciBiPXJsKG4pO2ImJihELmxpdmU9Yik7bi5WVCYmCihELnNhdXRvcGxheT0xKTtuLkd1JiYoRC5hdXRvcGxheT0xKTtuLnd1JiYoRC5zZGV0YWlsPW4ud3UpO24ucGFydG5lcklkJiYoRC5wYXJ0bmVyaWQ9bi5wYXJ0bmVySWQpO24ub3NpZCYmKEQub3NpZD1uLm9zaWQpO24uWm0mJihELmNjPWcubmcobi5abSkpO3JldHVybiBPYmplY3QuYXNzaWduKFcsRCl9OwpnLnNicj1mdW5jdGlvbihuKXtpZighbi5OKXtsZXQgVz0oMCxnLlIpKCk7bi5OPSgpPT5NYXRoLnJvdW5kKCgwLGcuUikoKS1XKS8xRTM7Cm4uTC5RYigpfXJldHVybiBuLk59OwpnLmswPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uc3RhdGUuTihXKSYmIW4ub2xkU3RhdGUuTihXKT8xOiFuLnN0YXRlLk4oVykmJm4ub2xkU3RhdGUuTihXKT8tMTowfTsKaEM9ZnVuY3Rpb24obil7bi5KJiZjSWoobi5KKTtuLnFvZSYmeEJoKG4ucW9lKX07CkhYMj1mdW5jdGlvbihuLFcsRCxiKXtELmFkRm9ybWF0PUQuRkY7dmFyIHY9Vy5MO1c9bmV3IGcueDAobmV3IFk5UyhELFcuQix7Z2V0RHVyYXRpb246KCk9PkQubGVuZ3RoU2Vjb25kcywKZ2V0Q3VycmVudFRpbWU6KCk9PnYuZ2V0Q3VycmVudFRpbWUoKSwKb3Q6KCk9PnYub3QoKSwKb2g6KCk9PnYub2goKSwKSEs6KCk9PnYuSEsoKSwKZ2V0UGxheWVyU2l6ZTooKT0+di5nZXRQbGF5ZXJTaXplKCksCmdldEF1ZGlvVHJhY2s6KCk9PkQuZ2V0QXVkaW9UcmFjaygpLApnZXRQbGF5YmFja1JhdGU6KCk9PnYuZ2V0UGxheWJhY2tSYXRlKCksCkVjOigpPT52LkVjKCksCmdldFZpc2liaWxpdHlTdGF0ZTooKT0+di5nZXRWaXNpYmlsaXR5U3RhdGUoKSwKZUc6KCk9PnYuZUcoKSwKaGg6KCk9PnYuaGgoKSwKZ2V0Vm9sdW1lOigpPT52LmdldFZvbHVtZSgpLAppc011dGVkOigpPT52LmlzTXV0ZWQoKSwKdjM6KCk9PnYudjMoKSwKRm46KCk9PnYuRm4oKSwKZ2V0UHJveGltYUxhdGVuY3lQcmVmZXJlbmNlOigpPT52LmdldFByb3hpbWFMYXRlbmN5UHJlZmVyZW5jZSgpLApRYigpe3YuUWIoKX0sVShrLGgpe3YuVShrLGgpfSxPMDooKT0+di5PMCgpLApTVzooKT0+di5TVygpLAp6czprPT52LnpzKGspfSkpOwpXLmo9YjtnLnUobixXKTtyZXR1cm4gV307CmZBdD1mdW5jdGlvbihuKXtuLkomJm4uSi5zZW5kKCk7aWYobi5xb2Upe3ZhciBXPW4ucW9lO2lmKFcuVil7Vy5OPT09IlBMIiYmKFcuTj0iTiIpO3ZhciBEPWcuUmsoVy5wcm92aWRlcik7Zy53aihXLEQsInZwcyIsW1cuTl0pO1cuRHx8KFcuWD49MCYmVy5KLnNldCgidXNlcl9pbnRlbnQiLFtXLlgudG9TdHJpbmcoKV0pLFcuRD0hMCk7Vy5wcm92aWRlci5CLldYKCkmJlcuVSgiZmluYWxpemVkIix7fSk7Vy5TJD0hMDtXLnJlcG9ydFN0YXRzKEQpfX1pZihuLnByb3ZpZGVyLnZpZGVvRGF0YS5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaSlmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKXZkKGIpO2Vsc2Ugbi5OJiZ2ZChuLk4pO24uZGlzcG9zZSgpfTsKSnBVPWZ1bmN0aW9uKG4pe2lmKCFuLk4pcmV0dXJuIG51bGw7dmFyIFc9Zy5jcihuLk4sImF0ciIpO3JldHVybiBEPT57bi5OJiZycHQobi5OLEQsVyl9fTsKSUFoPWZ1bmN0aW9uKG4sVyl7bj1EZShuLmFycmF5LEQ9PlctRC5zdGFydHx8MSk7CnJldHVybiBuPDA/LShuKzEpOm59OwpTOWI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO2ZvcihXPUlBaChuLFcpO1c8bi5hcnJheS5sZW5ndGg7KytXKXtsZXQgdj1uLmFycmF5W1ddOyh2LmVuZDw9RHx8di5jb250YWlucyhEKSkmJmIucHVzaCh2KTtpZih2LnN0YXJ0PkQpYnJlYWt9cmV0dXJuIGJ9OwpnLkx1PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIG4uYXJyYXkpaWYoYi5jb250YWlucyhXKSYmRC5wdXNoKGIpLGIuc3RhcnQ+VylicmVhaztyZXR1cm4gRH07CkFwaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5hcnJheS5zbGljZShJQWgobiwweDdmZmZmZmZmZmZmZmYpLG4uYXJyYXkubGVuZ3RoKX07Cm1qdD1mdW5jdGlvbihuLFcpe3ZhciBEPU5hTjtmb3IobGV0IGIgb2Ygbi5hcnJheSlpZihiLmNvbnRhaW5zKFcpJiYoaXNOYU4oRCl8fGIuZW5kPEQpJiYoRD1iLmVuZCksYi5zdGFydD5XJiYoaXNOYU4oRCl8fGIuc3RhcnQ8RCkpe0Q9Yi5zdGFydDticmVha31yZXR1cm4gRH07CkszVT1mdW5jdGlvbihuLFcpe24uYXJyYXk9bi5hcnJheS5maWx0ZXIoRD0+IVcuaGFzKEQpKX07Ck9YMj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFBsYXllclN0YXRlKCkuTigyKT8weDgwMDAwMDAwMDAwMDA6bi5MLmdldEN1cnJlbnRUaW1lKCkqMUUzfTsKZWg9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVy5sZW5ndGgpcmV0dXJuIEQ7Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07di5hY3RpdmUmJm4uVy5pbmRleE9mKHYpPT09LTEmJihuLlcucHVzaCh2KSxELnB1c2goWzEsdl0pKX1yZXR1cm4gRH07CmdzPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpVz1EWzFdLERbMF09PT0xP24uTC5DSihnLm95KFcubmFtZXNwYWNlKSxXKTpuLkwuQ0ooZy5kdihXLm5hbWVzcGFjZSksVyl9OwpYSj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdO2lmKCFXLmxlbmd0aClyZXR1cm4gRDtXLnNvcnQoZy51NSk7Zm9yKGxldCBiIG9mIFcpbi5XLnNwbGljZShuLlcuaW5kZXhPZihiKSwxKSxELnB1c2goWzIsYl0pO3JldHVybiBEfTsKUHlDPWZ1bmN0aW9uKG4pe2lmKG4uc3RhcnRlZCYmIW4ucU4oKSl7bi5qLnN0b3AoKTt2YXIgVz1uLkwuZ2V0UGxheWVyU3RhdGUoKTtXLk4oMzIpJiZuLlkuc3RhcnQoKTt2YXIgRD1PWDIobiksYj1uLmlzRW5kZWQoVyxEKSx2PVtdLGs9W107Zm9yKHZhciBoIG9mIG4uVyloLmFjdGl2ZSYmKGI/aC5lbmQ8MHg4MDAwMDAwMDAwMDAwOiFoLmNvbnRhaW5zKEQpKSYmay5wdXNoKGgpO3Y9di5jb25jYXQoWEoobixrKSk7aD1rPW51bGw7Yj8oVz1nLkx1KG4uTiwweDdmZmZmZmZmZmZmZmYpLGs9Vy5maWx0ZXIoeD0+eC5lbmQ8MHg4MDAwMDAwMDAwMDAwKSxoPUFwaihuLk4pKTpXPW4uWDw9RCYmbDEoVyk/UzliKG4uTixuLlgsRCk6Zy5MdShuLk4sRCk7CnY9di5jb25jYXQoZWgobixXKSk7ayYmKHY9di5jb25jYXQoWEoobixrKSkpO2gmJih2PXYuY29uY2F0KGVoKG4saCkpKTtuLlg9RDtncyhuLHYpfX07CnE5PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+bi5tZWRpYVRpbWUrbi5YJiZXPG4ubWVkaWFUaW1lKzV9OwpSOEM9ZnVuY3Rpb24obixXLEQsYix2PSExKXtpZihuLmxuJiYhaXNGaW5pdGUoVykpcmV0dXJuITE7aWYoYj1iPjEpbi5XPSEwO2lmKHZ8fGlzTmFOKG4uTikpbi5OPVc7aWYobi5zZWVraW5nKVchPT1uLm1lZGlhVGltZSYmKG4uc2Vla2luZz0hMSk7ZWxzZSBpZihXPjAmJm4ubWVkaWFUaW1lPT09Vyl7dj0xNTAwO2lmKG4uQi5TKCJodG1sNV9idWZmZXJfdW5kZXJydW5fdHJhbnNpdGlvbl9maXgiKSl7dj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzIik7bGV0IGs9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zIik7dj12PjAmJms+MCYmTWF0aC5hYnMoVy1uLk4pPHY/azoxNTAwfXJldHVybiBELW4uSj4oYnx8IW4uVz92OjQwMCl9bi5tZWRpYVRpbWU9VztuLko9RDtyZXR1cm4hMX07ClVqdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcudEEoRCkudGhlbigoKT0+Zy5IMChuZXcgWlhoKFcsVy5XKSksYj0+e2IgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShiKTsKdmFyIHY9dTgoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSwgbXA0YS40MC4yIicpLGs9ZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyksaD12fHxrLHg9Vy5pc0xpdmVQbGF5YmFjayYmIWcuSW4obi5XLCEwKTtiPSJmbXQubm9uZWF2YWlsYWJsZSI7eD9iPSJodG1sNS51bnN1cHBvcnRlZGxpdmUiOmh8fChiPSJodG1sNS5taXNzaW5nYXBpIik7aD14fHwhaD8yOjE7dj17YnVpbGRSZWo6IjEiLGE6Vy5JcCgpLGQ6ISFXLlRmLGRybTpXLk1pKCksZjE4OlcuY2YuaW5kZXhPZigiaXRhZz0xOCIpPj0wLGMxODp2fTtXLk4mJihXLk1pKCk/KHYuZjE0Mj0hIVcuTi5OWyIxNDIiXSx2LmYxNDk9ISFXLk4uTlsiMTQ5Il0sdi5mMjc5PSEhVy5OLk5bIjI3OSJdKToodi5mMTMzPSEhVy5OLk5bIjEzMyJdLHYuZjE0MD0hIVcuTi5OWyIxNDAiXSx2LmYyNDI9ISFXLk4uTlsiMjQyIl0pLHYuY0FBQz1rLHYuY0FWQz1keSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFIicpLAp2LmNWUDk9ZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicpKTtXLmomJih2LmRybXN5cz1XLmoua2V5U3lzdGVtLGs9MCxXLmouSiYmKGs9T2JqZWN0LmtleXMoVy5qLkopLmxlbmd0aCksdi5kcm1zdD1rKTtyZXR1cm4gbmV3IGcuQ2koYix2LGgpfSl9Owp0Qz1mdW5jdGlvbihuLFcpe1c9TWF0aC5tYXgoTWF0aC5tYXgoMSxNYXRoLmNlaWwobi5wb2xpY3kuWC9HWShuKSkpLFcpO3JldHVybiBNYXRoLm1pbihNYXRoLm1pbig4LE1hdGguZmxvb3Iobi5wb2xpY3kuRC9HWShuKSkpLFcpfTsKR1k9ZnVuY3Rpb24obil7cmV0dXJuIG4udmlkZW9EYXRhLk4/b28obi52aWRlb0RhdGEuTil8fDU6NX07CiQwPWZ1bmN0aW9uKG4pe3JldHVybiBHWShuKSpuLk59OwpFb2k9ZnVuY3Rpb24obixXKXtpZihXKXJldHVybiBXPW4udmlkZW9EYXRhLFc9eXBiKG4saXNOYU4oVy5saXZlQ2h1bmtSZWFkYWhlYWQpPzM6Vy5saXZlQ2h1bmtSZWFkYWhlYWQsVyksdEMobixXKTtpZihuLkoubGVuZ3RoKXtpZihNYXRoLm1pbi5hcHBseShudWxsLG4uSik+MSlyZXR1cm4gdEMobixuLk4tMSk7aWYobi5wb2xpY3kuWSlyZXR1cm4gdEMobixuLk4rMSl9cmV0dXJuIG4uTn07CmlYUz1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLkoubGVuZ3RoKXJldHVybiExO3ZhciBEPW4uTjtuLk49RW9pKG4sVyk7aWYoVz1EIT09bi5OKW4uSj1bXSxuLmp4PTA7cmV0dXJuIFd9Owpycz1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5OO24uWHx8KFc9TWF0aC5tYXgoVy0xLDApKTtyZXR1cm4gVypHWShuKX07CnNCPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+PW4uTlcoKS1ycyhuKX07CnlwYj1mdW5jdGlvbihuLFcsRCl7RC5JUiYmVy0tO2hEKEQpJiYoVz0xKTt4cChEKSE9PTAmJihuPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfbGl2ZV9jaHVua19yZWFkYWhlYWRfcHJveGltYV9vdmVycmlkZSIpKSYmKFc9bixELk4/Lm51KCkmJlcrKyk7cmV0dXJuIFd9OwpwdT1mdW5jdGlvbihuLFcsRD1udWxsKXtyZXR1cm4gbmV3IE45KGcuZE0obi5CLmV4cGVyaW1lbnRzLFcpfHwwLEQ/bi5CLlMoRCk6ITEpfTsKdTRiPWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpZMD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe1c/Vy50ZXN0KEQpPyhuLkdzKHYsVyxoKSxXLlZ8fGsoKSk6KCFXLkp8fFcuWD9EPSExOihEPSgwLGcuUikoKSxiP1cuTnx8KFcuTj1EKTpXLk49MCxrPSFiJiZELVcuSj4zRTQsRD1XLk4mJkQtVy5OPjFFM3x8az9XLlg9ITA6ITEpLEQmJih4PXsuLi5uLnlyKFcpLC4uLnh9LHgud249aCx4LndlPXYseC53c3VjPWIsbi5MLlUoIndvcmthcm91bmRSZXBvcnQiLHgpLGImJihXLnJlc2V0KCksbi5YW3ZdPSExKSkpOm4uTC5QVigiYXV0aCIsMiwiQlJPV1NFUl9PUl9FWFRFTlNJT05fRVJST1IiLGcuVEMoe3NvdXJjZToid2F0Y2hkb2ciLG5hbWU6aH0pKX07Cm9veD1mdW5jdGlvbihuLFcpe2lmKG4uTil7dmFyIEQ9bi5OO3ZhciBiPW4uZ2V0Q3VycmVudFRpbWUoKSx2PUQuTlcoKTt2YXIgaz1ELnBvbGljeS5KO0QuWHx8KGs9TWF0aC5tYXgoay0xLDApKTtrKj1HWShEKTtiPj12LWt8fCFELmpYKCk/RD1iPEQudmlkZW9EYXRhLkxmKCk/TWF0aC5taW4oRC52aWRlb0RhdGEuTGYoKSsxMCxELk5XKCkpOk5hTjooRC5wb2xpY3kuaiYmKEQucG9saWN5Lk8/KEQucG9saWN5Lko9TWF0aC5taW4oRC5wb2xpY3kuSitELnBvbGljeS5LLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5taW4oRC5wb2xpY3kuTisxLDEwKSk6KEQucG9saWN5Lko9TWF0aC5tYXgoRC5wb2xpY3kuSisxLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5tYXgoRC5wb2xpY3kuTisxLDEwKSkpLEQ9SW5maW5pdHkpO2lmKCFpc05hTihEKSl7aWYobi5sb2FkZXImJlcmJihXPW4uUyQuaXNBY3RpdmUoKSxiPW4uTi5OVygpLChiPWlQUyhuLmxvYWRlcixiLW4uU1coKSkpJiYKIVcpKXtuLlMkLnN0YXJ0KCk7bi5MLlUoImluQnVmZmVyUHRsIix7Y210Om4uZ2V0Q3VycmVudFRpbWUoKSxzZWVrVG86YituLlNXKCl9KTtuLnNlZWtUbyhiK24uU1coKSx7cWQ6InNlZWt0aW1lbGluZV9pbkJ1ZmZlclNlZWsiLHNlZWtTb3VyY2U6MzR9KTtyZXR1cm59bi5zZWVrVG8oRCx7cWQ6InNlZWt0aW1lbGluZV9wZWdUb0xpdmUiLHNlZWtTb3VyY2U6MzR9KX19fTsKZnU9ZnVuY3Rpb24obixXKXtpZihuLlgpe24udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuLnZpZGVvRGF0YS5XJiYhbi52aWRlb0RhdGEuVy5OKCkmJm4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5YKCk+MCYmb3Uobi5tZWRpYUVsZW1lbnQpPjAmJihuLko9SGQobixuLkosITEpKTt2YXIgRD1uLlMoImh0bWw1X3BzZXVkb2dhcGxlc3Nfc2hvcnRzX3NlZWtfdG9fbmV4dF9zdGFydCIpJiZXPy5zZWVrU291cmNlPT09NjA7aWYoIW4ubWVkaWFFbGVtZW50fHwhZGpyKG4sRCkpbi5SYS5zdGFydCg3NTApO2Vsc2UgaWYoIWlzTmFOKG4uSikmJmlzRmluaXRlKG4uSikmJihEPW4uSEotKG4uSi1uLnRpbWVzdGFtcE9mZnNldCksIShEPT09MHx8TWF0aC5hYnMoRCk8LjAwNSkpKWlmKEQ9bi5tZWRpYUVsZW1lbnQuZ2V0Q3VycmVudFRpbWUoKS1uLkosTWF0aC5hYnMoRCk8PW4uRHR8fE1hdGguYWJzKEQpPC4wMDUpenkxKG4pO2Vsc2V7aWYobi52aWRlb0RhdGEuTWwpbi52aWRlb0RhdGEuTWw9CiExO2Vsc2UgaWYoIWcuRFAobi52aWRlb0RhdGEpJiZuLko+PW4uckkoKS0uMSYmKG4uckkoKSE9PTB8fFc/LnFkIT09InNlZWt0aW1lbGluZV9zZXR1cE1lZGlhRWxlbWVudCIpKXtuLko9bi5ySSgpO24uWC5yZXNvbHZlKG4uckkoKSk7bi5CLldYKCkmJm4uTC5VKCJzZXRFbmRlZEluU2VlayIse3RndDpgJHtuLkp9YCxtYXhzdDpgJHtuLnJJKCl9YH0pO24uTC5rTigpO3JldHVybn10cnl7bGV0IGI9bi5KLW4udGltZXN0YW1wT2Zmc2V0O24ubWVkaWFFbGVtZW50LnNlZWtUbyhiKTtuLk8uTj1iO24uSEo9YjtuLlc9bi5KO24uY0o9ITF9Y2F0Y2goYil7fX19fTsKVEUyPWZ1bmN0aW9uKG4sVyl7bi5UQz0hMDtuLmxuKCkmJihuLko9bi5WLG4uVz1uLkosbi5WPU5hTik7bEF0KG4sVyl9OwpqYjI9ZnVuY3Rpb24obil7dmFyIFc9MCxEPU5hTixiPSIiO2lmKCFuLkQpcmV0dXJue3N0YXJ0U2Vjb25kczpXLE12OkQsc291cmNlOmJ9O24udmlkZW9EYXRhLlJJP1c9bi52aWRlb0RhdGEuSlU6Zy5EUChuLnZpZGVvRGF0YSkmJihXPUluZmluaXR5KTtpZihnLnBBKG4udmlkZW9EYXRhKSlyZXR1cm57c3RhcnRTZWNvbmRzOlcsTXY6RCxzb3VyY2U6Yn07bi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzPyhiPSJzcyIsVz1uLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpOm4udmlkZW9EYXRhLlVyJiYoYj0ic3RzcyIsVz1uLnZpZGVvRGF0YS5Vcik7bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyYmKEQ9bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyk7aWYoaXNGaW5pdGUoVykmJihXPm4uckkoKXx8VzxuLkxmKCkpKXtsZXQgdj17fTt2Lm1pblNlZWthYmxlVGltZT1uLkxmKCk7di5tYXhTZWVrYWJsZVRpbWU9bi5ySSgpO3YuY210PW4uZ2V0Q3VycmVudFRpbWUoKTt2LnNzPQpXO3YudXRjPUQ7di5zcmM9YjtuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLHYpO24udmlkZW9EYXRhLnpXKCkmJihXPUhkKG4sVywhMSkpfXJldHVybntzdGFydFNlY29uZHM6VyxNdjpELHNvdXJjZTpifX07CkpDPWZ1bmN0aW9uKG4pe3JldHVybiEhbi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzJiZpc0Zpbml0ZShuLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpJiZuLnZpZGVvRGF0YS5zdGFydFNlY29uZHM+MUU5fTsKRjNiPWZ1bmN0aW9uKG4sVyl7bi5wbGF5YmFja0RhdGE9VztuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKG4uWT1uZXcgQ3laKCgpPT57YTp7aWYobi5wbGF5YmFja0RhdGEmJm4ucGxheWJhY2tEYXRhLk4uTigpKXtpZihJNChuLnZpZGVvRGF0YSkmJm4ubG9hZGVyKXt2YXIgRD1uLmxvYWRlci5xaCgpO2JyZWFrIGF9aWYobi52aWRlb0RhdGEuTil7RD1uLnZpZGVvRGF0YS5OLnFoKCk7YnJlYWsgYX19RD0wfXJldHVybiBEfSksbi5OPW5ldyBCRWIobi52aWRlb0RhdGEsbi5CLmV4cGVyaW1lbnRzLCgpPT5uLnJJKCEwKSkpOwpJYyhuLkwpPyhuLnZpZGVvRGF0YS5nVD8uQWp8fChXPWpiMihuKSxXLk12PyhnLllOKG4udmlkZW9EYXRhKSYmbi5odShXLk12LFcuc3RhcnRTZWNvbmRzKSxuLlc9Vy5zdGFydFNlY29uZHMpOlcuc3RhcnRTZWNvbmRzPjAmJm4uc2Vla1RvKFcuc3RhcnRTZWNvbmRzLHtxZDoic2Vla3RpbWVsaW5lX3N0YXJ0UGxheWJhY2siLHNlZWtTb3VyY2U6MTUsQU06ITB9KSksbi5EPSExKTpKQyhuKXx8KG4uVz1uLld8fG4udmlkZW9EYXRhLnN0YXJ0U2Vjb25kc3x8MCxuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFc9bi5MLnZpZGVvRGF0YS5ySSgpLG4uVz5XJiYobi5TKCJodG1sNV9zYWJyX2xvZ19pbnZhbGlkX3NhYnJfY3VycmVudF90aW1lIikmJm4uTC5VKCJpbnZhbGlkU2FickNtdFN0YXJ0Iix7cnQ6bi5XLG1zdDpXfSksbi5TKCJodG1sNV9zYWJyX3ZvZF9pbnZhbGlkX3N0YXJ0X3RpbWVfZmFsbGJhY2siKSYmKG4uVz0wKSkpKX07ClNoPWZ1bmN0aW9uKG4sVyl7aWYobi5OJiZuLmxvYWRlcil7dmFyIEQ9ITE7Vz9EPSEwOlN4KG4udmlkZW9EYXRhKT9EPWlYUyhuLk4pOm4uQ3UmJihuLkN1PSExLEQ9aVhTKG4uTiwhMCkpO0QmJihEPW4uTC5CWCxXPSQwKG4uTiksRC5xb2UmJihEPUQucW9lLGcud2ooRCxnLlJrKEQucHJvdmlkZXIpLCJscmEiLFtXXSksRC5VKCJsaXZlLXJlYWRhaGVhZC1zZWNvbmRzIix7djpXfSkpKTtXPW4ubG9hZGVyO0Q9bi5OLk47bj1uLk47bj0obi5OLTErbi5wb2xpY3kuTikqR1kobik7dmFyIGI9TmFOO3ZhciB2PVcuVHI7dj09PTJ8fHY9PT0tMT8odj1ELGhEKFcuTC5nZXRWaWRlb0RhdGEoKSkmJihiPVcucG9saWN5LnpQKSk6dj1ELTE7dj1NYXRoLm1heCh2LDApO0Q9Vy5OeTtELlpBPXY7RC5YPWI7Vy5RdSYmKFcuUXUuTz1uKX19Owptbz1mdW5jdGlvbihuLFcpeyhuLmxvYWRlcj1XKT9TaChuLCEwKTpnLkFDKG4pfTsKZGpyPWZ1bmN0aW9uKG4sVz0hMSl7aWYoIW4ubWVkaWFFbGVtZW50fHxuLm1lZGlhRWxlbWVudC5YKCk9PT0wfHxuLm1lZGlhRWxlbWVudC5oYXNFcnJvcigpKXJldHVybiExO3ZhciBEPW4ubWVkaWFFbGVtZW50LmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCl8fG4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHwhbi52aWRlb0RhdGEuTWkoKT9uLko+PTAmJiFXJiYoVz1uLm1lZGlhRWxlbWVudC5PKCksVy5sZW5ndGh8fCFEKT9CUihXLG4uSi1uLnRpbWVzdGFtcE9mZnNldCk6RDpEfTsKTVoxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRDdXJyZW50VGltZSgpLGI9bi5pc0F0TGl2ZUhlYWQoRCk7aWYobi5ZJiZiKXt2YXIgdj1uLlk7aWYodi5OJiYhKEQ+PXYuSiYmRDx2LlgpKXt2YXIgaz12Lk4uUjMoRCk7ayE9PS0xJiYodi5KPXYuTi5nZXRTdGFydFRpbWUoayksdi5YPXYuSit2Lk4uZ2V0RHVyYXRpb24oayksaz0oMCxnLlIpKCkvMUUzLXYuTi5oQyhrKSxrLT12LmooKSx2LlcuYWRkKGspKX19bi5OJiYoYiYmKHY9bi5OLGs9bi56cygpLHYuangrKyx2Lmp4PDN8fERhdGUubm93KCktdi5WPDNFM3x8KHYuVj1EYXRlLm5vdygpLHYuSi5wdXNoKGspLHYuSi5sZW5ndGg+NTAmJnYuSi5zaGlmdCgpKSksbi5OLlUzKEQsVyksVyYmb294KG4sITApKTtiIT09bi5QWCYmKG4uQi5adCgpLk4uUVEod0kxKSYmbi52aWRlb0RhdGEuUkk/bi5QWD1iOihXPShuLkIuWnQoKS5OLlFRKHdJMSk/KG4uZ2V0Q3VycmVudFRpbWUoKS1uLkdDKSoxRTM6bi5nZXRDdXJyZW50VGltZSgpLQpuLkdDKTw9NTAwLEQ9bi5ZWj49MUUzLFd8fER8fChXPW4uTC5CWCxXLnFvZSYmKFc9Vy5xb2UsRD1nLlJrKFcucHJvdmlkZXIpLGcud2ooVyxELCJsaCIsW2I/IjEiOiIwIl0pKSxuLlBYPWIsbi5ZWisrLG4uR0M9bi5nZXRDdXJyZW50VGltZSgpKSkpfTsKZy5LdT1mdW5jdGlvbihuLFcpe3ZhciBEPW4uWDtEfHwobi5YPW5ldyBZNixEPW4uWCxmdShuLFcpKTtyZXR1cm4gRH07CkhkPWZ1bmN0aW9uKG4sVyxEKXtpZihpc05hTihXKSlyZXR1cm4gTmFOO3ZhciBiPW4uTGYoKTtEPW4uckkoRCk7cmV0dXJuIG4uUygiaHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lIikmJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmVz5EKzEmJlc8SW5maW5pdHk/KG4uQi5XWCgpJiZuLkwuVSgiY2xhbXBJbnZhbGlkU2VlayIse3RndDpgJHtXfWAsbWF4c3Q6YCR7RH1gfSksYik6Zy5GZihXLGIsRCl9OwpSeWk9ZnVuY3Rpb24obixXKXtuLlc9V307ClFidz1mdW5jdGlvbihuLFc9ITEpe24uanx8IShuLlc+MCl8fG4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpPjB8fChXPXtxZDoic2Vla3RpbWVsaW5lX3Jlc3VtZVRpbWUiLEFNOld9LG4udmlkZW9EYXRhLll8fChXLnNlZWtTb3VyY2U9MTUpLG4uc2Vla1RvKG4uVyxXKSl9OwpsQXQ9ZnVuY3Rpb24obixXKXtWWmkobixXKS50aGVuKHZvaWQgMCwoKT0+e2cuQUMobil9KTsKZy5LdShuLFcpLnRoZW4oRD0+e2cuT0IobixEKX0sKCk9PntnLkFDKG4pfSk7Cm4uTC53WShXKTtuLkIuV1goKSYmKFc9bi55cigpLFdbIm5hdGl2ZSJdPWAkeytuLmNKfWAsVy50Z3Q9YCR7bi5KfWAsVy5vdGd0PWAke24uSituLnRpbWVzdGFtcE9mZnNldH1gLFcubWF4c3Q9YCR7bi5ySSgpfWAsbi5OJiZuLlMoImh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZyIpJiYoVy50aHQ9YCR7bi5OLmooKX1gLFcuaHQ9YCR7bi5OLk5XKCl9YCxXLmFkZnQ9YCR7cnMobi5OKX1gKSxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJm4udmlkZW9EYXRhLk4mJmcuWU4obi52aWRlb0RhdGEpJiYoVy5taW5zdD1gJHtuLnZpZGVvRGF0YS5OLkgyfWAsVy5jbWluc3Q9YCR7bi52aWRlb0RhdGEuTi5MZigpK24udGltZXN0YW1wT2Zmc2V0fWAsVy5tYXhzdD1gJHtuLnZpZGVvRGF0YS5OLldNfWAsVy5odHM9YCR7bi52aWRlb0RhdGEuTi50d31gLFcuY21heHN0PWAke24udmlkZW9EYXRhLk4uckkoKStuLnRpbWVzdGFtcE9mZnNldH1gKSwKbi5MLlUoInN0YXJ0U2VlayIsVykpfTsKVlppPWZ1bmN0aW9uKG4sVyl7bi50d3x8KG4ubG9hZGVyP2lzRmluaXRlKG4uSik/bi50dz1uLmxvYWRlci5zZWVrKG4uSi1uLnRpbWVzdGFtcE9mZnNldCxXKTooZy5EUChuLnZpZGVvRGF0YSksbi5MLmhhPTAsbi50dz1SJChuLmxvYWRlcikscEwobi52aWRlb0RhdGEpfHwobi5KPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCkrbi50aW1lc3RhbXBPZmZzZXQpKTpuLnR3PSRHKG4uSi1uLnRpbWVzdGFtcE9mZnNldCkpO3JldHVybiBuLnR3fTsKZy5PQj1mdW5jdGlvbihuLFcpe24uaiYmKG4uai5yZXNvbHZlKFcpLG4uTC5LdCgpLG4uQi5XWCgpJiYoVz1uLnlyKCksV1sibmF0aXZlIl09YCR7K24uY0p9YCxXLm90Z3Q9YCR7bi5KK24udGltZXN0YW1wT2Zmc2V0fWAsbi5MLlUoInNlZWtFbmQiLFcpKSk7Zy5BQyhuKX07Cnp5MT1mdW5jdGlvbihuKXtuLlgmJihuLlgucmVzb2x2ZShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpKSxuLk8uSj1udWxsKX07CmcuQUM9ZnVuY3Rpb24obil7bi5KPU5hTjtuLlY9TmFOO24uSEo9TmFOO24uWD1udWxsO24udHc9bnVsbDtuLmo9bnVsbDtuLlRDPSExO24uY0o9ITE7bi5EdD0wO24uUyQuc3RvcCgpO24ubnUuc3RvcCgpfTsKYUF3PWZ1bmN0aW9uKG4pe2lmKG4uRClpZihuLnZpZGVvRGF0YS5nVD8uQWopbi5EPSExO2Vsc2UgaWYoZy5wQShuLnZpZGVvRGF0YSkpbi5EPSExO2Vsc2V7dmFyIFc9InNzIixEPTA7bi52aWRlb0RhdGEuTj8uaXNNYW5pZmVzdGxlc3MmJm4udmlkZW9EYXRhLlRDJiYhSkMobikmJihXPSJtc3MiLEQ9bi52aWRlb0RhdGEuVEMpOyhuLnZpZGVvRGF0YS5SST9uLlMoImh0bWw1X3ByaW9yaXRpemVfd2luZG93ZWRfc3Rfc3RhcnRfc2Vjb25kcyIpOm4uUygiaHRtbDVfcHJpb3JpdGl6ZV9zdF9zdGFydF9zZWNvbmRzIikpJiYhRCYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTshRCYmY3B0KG4pJiYoRD1uLnZpZGVvRGF0YS5saXZlVXRjU3RhcnRTZWNvbmRzfHxuLnZpZGVvRGF0YS5UQyxXPSJ1dGMiLEQ9bi5ySSgpLW4uaEMobi5ySSgpKStEKTshRCYmbi52aWRlb0RhdGEuelcoKSYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTsKdmFyIGI9e307aWYoRCl7aWYoRD5uLnJJKCl8fEQ8bi5MZigpKWIubWluU2Vla2FibGVUaW1lPW4uTGYoKSxiLm1heFNlZWthYmxlVGltZT1uLnJJKCksYi5jbXQ9bi5nZXRDdXJyZW50VGltZSgpLGIuaXQ9bi5oQyhuLmdldEN1cnJlbnRUaW1lKCkpLGIuc3M9RCxiLnV0Yz1jcHQobik/bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kc3x8bi52aWRlb0RhdGEuVEM6MCxuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLGIpLG4udmlkZW9EYXRhLnpXKCkmJihEPUhkKG4sRCwhMSkpO24uc2Vla1RvKEQse3FkOiJzZWVrdGltZWxpbmVfc3RhcnRTZWNvbmRzIn0pO2JbV109RDtuLkwuVSgic3RhcnRTZWNvbmRzIixiKTtuLkQ9ITF9ZWxzZSBuLnZpZGVvRGF0YS5UQyYmKGJbV109bi52aWRlb0RhdGEuVEMrbi5TVygpLG4uTC5VKCJzdGFydFNlY29uZHMiLGIpKX19OwpuQXg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLm1lZGlhRWxlbWVudCxiPVcudHlwZTtzd2l0Y2goYil7Y2FzZSAic2Vla2luZyI6bGV0IHY9RC5nZXRDdXJyZW50VGltZSgpK24udGltZXN0YW1wT2Zmc2V0O2lmKCFuLlh8fG4uY0omJnYhPT1uLkopbi5YPW5ldyBZNixuLlgudGhlbihrPT57Zy5PQihuLGspfSwoKT0+e2cuQUMobil9KSxuLnZpZGVvRGF0YS5pc0FkKCkmJm5uMSh7YWRDcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSwKY29udGVudENwbjpuLnZpZGVvRGF0YS5ob3N0Q3BuPz8iIn0sVy5OKSxuLkhKPXYsdTRiKG4uTyxELmdldEN1cnJlbnRUaW1lKCkpLG4uc2Vla1RvKHYse3NlZWtTb3VyY2U6MTA0LHFkOiJzZWVrdGltZWxpbmVfbWVkaWFFbGVtZW50RXZlbnQifSksbi5jSj0hMDticmVhaztjYXNlICJzZWVrZWQiOnp5MShuKTticmVhaztjYXNlICJsb2FkZWRtZXRhZGF0YSI6SWMobi5MKXx8YUF3KG4pO2Z1KG4pO2JyZWFrO2Nhc2UgInByb2dyZXNzIjpmdShuKTticmVhaztjYXNlICJwYXVzZSI6bi5LPW4uZ2V0Q3VycmVudFRpbWUoKX1uLksmJigoYj09PSJwbGF5Inx8Yj09PSJwbGF5aW5nInx8Yj09PSJ0aW1ldXBkYXRlInx8Yj09PSJwcm9ncmVzcyIpJiZuLmdldEN1cnJlbnRUaW1lKCktbi5LPjEwJiYobi5TKCJodG1sNV9za3lfc2tpcF9wYXVzZV9qdW1wIik/bi5MLlUoInNraXBQYXVzZUp1bXAiLHtldnQ6YixjbXQ6bi5nZXRDdXJyZW50VGltZSgpLGxwdDpuLkt9KTpuLnNlZWtUbyhuLkssCntxZDoicGF1c2VKdW1wIn0pKSxiIT09InBhdXNlIiYmYiE9PSJwbGF5IiYmYiE9PSJwbGF5aW5nIiYmYiE9PSJwcm9ncmVzcyImJihuLks9MCkpfTsKY3B0PWZ1bmN0aW9uKG4pe3JldHVybihZcChuLnZpZGVvRGF0YSl8fCEhbi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcykmJighIW4udmlkZW9EYXRhLmxpdmVVdGNTdGFydFNlY29uZHN8fEpDKG4pKSYmISFuLnZpZGVvRGF0YS5OfTsKUGQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmdldChXKT8uYnVmZmVyLlcoKXx8W119OwpaNz1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4uZ2V0KFcpPy5idWZmZXIuWCgpfHwwfTsKTHIxPWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRChrKXtyZXR1cm4gYi5WIT09Inl0IiYmKHYucGFydG5lcklkPT09MzgmJmIucGxheWVyU3R5bGU9PT0iYm9va3MifHx2LnBhcnRuZXJJZD09PTMwJiZiLnBsYXllclN0eWxlPT09ImRvY3MifHx2LnBhcnRuZXJJZD09PTMzJiZiLnBsYXllclN0eWxlPT09Imdvb2dsZS1saXZlIik/V3JoKG4sdixrKTpEMXQobix2KS50aGVuKCgpPT57Yi5TKCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpJiZuLkcoKS5UNyYmdi5pc0VtYmVkc1Nob3J0c01vZGUobmV3IGcuUWUoMCwwKSwhIXYucGxheWxpc3RJZCk/YlVVKG4sdik6VUIobix2KX0saD0+e1VCKG4sdiwhMCk7CnRocm93IGg7fSl9CnZhciBiPW4uRygpLHY9bi5nZXRWaWRlb0RhdGEoKTt2LnFOKCk7di5sb2FkaW5nPSEwO3JldHVybiB2QWoobik/a1VpKG4sdixXKS50aGVuKCgpPT57VUIobix2KX0saz0+e2s9QiQoayk7CmlmKGoyKGsuc2V2ZXJpdHkpKXJldHVybiBVQihuLHYsITApLFByb21pc2UucmVqZWN0KGspO2suZXJyb3JDb2RlPT09Im9uZXNpZS5yZXNwb25zZS5iYWRwcm94eXN0YXR1cyImJmAke2suZGV0YWlscy5zdH1gPT09IjMiJiYoaHBTPSEwKTtuLmhhbmRsZUVycm9yKGspO3JldHVybiBEKCJvbmVzaWUiKX0pOmIuUygiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmYi5UNz94MVUobix2KS50aGVuKCgpPT5EKCJndmkiKSk6RCgiZ3ZpIil9Owp2QWo9ZnVuY3Rpb24obil7dmFyIFc9bi5HKCk7aWYoVy5TKCJodG1sNV9kaXNhYmxlX29uZXNpZSIpfHwhVy5TKCJodG1sNV9vbmVzaWUiKXx8IVcuUygiaHRtbDVfb25lc2llX2lubGluZSIpJiZuLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09NXx8Vy5WIT09Inl0IilyZXR1cm4hMTt2YXIgRD1XLlBYO2lmKCFEfHwhRC5OKXJldHVybiBuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJvbmVzaWUudW5hdmFpbGFibGUuaG90Y29uZmlnIix7a2V5OiIwIn0pKSwhMTtpZihELk4uSzwoMCxnLlIpKCkmJihuLlUoIm9rZXhwIiwiMSIpLChEPW4uVTQoKSkmJlcuUygiaHRtbDVfcHJlZmVyX3RydXN0ZWRfaG9zdF9vbl9rZXlfZXhwaXJhdGlvbiIpKSl7RC5KPSEwO2xldCBiPUQuTi5nZXQoMCk/Lk4oKTtiJiYheHcoYikmJkQuTi5kZWxldGUoMCl9aWYoaHBTKXJldHVybiBuLlUoIm9zdDMiLCIxIiksITE7RD17fTtyZXR1cm4gT2JqZWN0LmtleXMoRCkubGVuZ3RoPjA/KEQub25lc2llPSIwIixuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJodG1sNS5taXNzaW5nYXBpIiwKRCkpLCExKTpuLmdldFZpZGVvRGF0YSgpLmxpdmVQcmVsb2FkJiZXLlp0KCkuTi5RUShIcCk/ITE6ITB9Owp5YT1mdW5jdGlvbihuLFcpe3ZhciBEPWcucDIoKTtnLllGKEQsVyk7cmV0dXJuIG5jKEQsaVooKSx7b1M6bi5KLGNsaWVudEludGVyZmFjZTpsbyhuKX0pfTsKZXBaPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5HKCkpJiZXLnZKKCk/YCR7bi5nZXRQbGF5ZXJUeXBlKCl9XyR7Vy52aWRlb0lkfV8ke1cuS2Z9YDpgJHtuLmdldFBsYXllclR5cGUoKX1fJHtXLnZpZGVvSWR9XyR7Vy5LZn1fJHsrVy5pc0F1dG9uYXZ9JHsrVy5WVH1gfTsKa1VpPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtXLmZldGNoVHlwZT0ib25lc2llIjt2YXIgYj12b2lkIDA7aWYoeVUoVykpaWYoYj1uLmk3KXt2YXIgdj1lcFoobixXKTtiPWIuZ2V0KHYpfWVsc2UgYj12b2lkIDA7dj1uLnRiLlFwO2lmKGIpe2lmKFcubG9hZGluZz0hMSxXLk5WPSEwLHpmKFcse3BsYXllcl9yZXNwb25zZTpifSwhMCksVy5sb2FkaW5nfHxIaihXKSlyZXR1cm4gbi5VKCJwcnIiLCIxIiksUHJvbWlzZS5yZXNvbHZlKCl9ZWxzZXtiPWxGKFcsbi5nZXRQbGF5ZXJTaXplKCksbi5nZXRWaXNpYmlsaXR5U3RhdGUoKSk7RD1uZXcgS0QobixiLEQpO2I9YXdhaXQgRC5mZXRjaCgpO2xldCBoPXtwbGF5ZXJfcmVzcG9uc2U6Yn07Vy5sb2FkaW5nPSExO2lmKEQubkEpe2ZvcihsZXQgW3gsTF1vZiBELm5BLmVudHJpZXMoKSl7dmFyIGs9eDtsZXQgZT1MO3YuTi5zZXQoayxlLDE4MCk7az09PVcudmlkZW9JZCYmKGs9ZS5TSigpLFcub009ayl9di5VZz1EfWZvcihsZXQgW3gsTF1vZiBELnQwLmVudHJpZXMoKSl2Lkouc2V0KHgsCkwsMTgwKTt6ZihXLGgsITApO2lmKFcubG9hZGluZ3x8SGooVykpcmV0dXJuIHlVKFcpJiYodj1lcFoobixXKSxXPVcuZ2V0UGxheWVyUmVzcG9uc2UoKSkmJihXPVcucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9XLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLG4uaTc/LnB1dCh2LGIsVykpLFByb21pc2UucmVzb2x2ZSgpfXYuTi5UaSgpO3YuSi5UaSgpO1cub009W107bj17fTt2PSJvbmVzaWUucmVzcG9uc2UiO0Q9MDtXLmVycm9yQ29kZT8odj0iYXV0aCIsbi5lYz1XLmVycm9yQ29kZSxuLmVkPVcuZXJyb3JEZXRhaWwsbi5lcz1XLndpfHwiIixEPTIpOihuLnN1Y2Nlc3NCdXRVbnBsYXlhYmxlPSIxIixuLmRpc3Bvc2VkPWAkeytXLnFOKCl9YCxuLmFmbXRzPWAkeysvYWRhcHRpdmVGb3JtYXRzLy50ZXN0KGIpfWAsbi5jcG49Vy5jbGllbnRQbGF5YmFja05vbmNlKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kodiwKbixEKSl9OwpEMXQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1XLmlzQWQoKSxiPSFELHY9RD8xOjM7Zm9yKGxldCBoPTA7aDx2O2grKyl7aWYoaD4wKXthd2FpdCBnLlV1KDVFMyk7dmFyIGs9bmV3IGcuUXgoIlJldHJ5aW5nIE9uZVBsYXRmb3JtIHJlcXVlc3QiLHthdHRlbXB0Omh9KTtnLkdxKGspfXRyeXthd2FpdCBnQWkobixXKTtyZXR1cm59Y2F0Y2goeCl7bGV0IEw9QiQoeCk7az1MLmVycm9yQ29kZTtsZXQgZT1uLkcoKS5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/NDAxOiI0MDEiO2ImJms9PT0ibWFuaWZlc3QubmV0LmJhZHN0YXR1cyImJkwuZGV0YWlscy5yYz09PWUmJihiPSExLGg9PT12LTEmJih2Kz0xKSk7aWYoaD09PXYtMSlyZXR1cm4gbj1Yc2koRCxMLmRldGFpbHMpLG4uZGV0YWlscy5iYWNrZW5kPSJvcCIsbi5kZXRhaWxzLm9yaWdpbmVjPWssUHJvbWlzZS5yZWplY3Qobik7aWYoaz09PSJhdXRoInx8az09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQifHwKZy5DTihuLkcoKSkpcmV0dXJuIFByb21pc2UucmVqZWN0KEwpO24uaGFuZGxlRXJyb3IoTCk7aWYoajIoTC5zZXZlcml0eSkpYnJlYWt9fXJldHVybiBQcm9taXNlLnJlamVjdChYc2koRCx7YmFja2VuZDoib3AifSkpfTsKZ0FpPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Vy5mZXRjaFR5cGU9ImdwIjt2YXIgRD1uLkcoKSxiPWcuSEUoRCxXLlYoKSk7Yj1iLk4/YXdhaXQgYi5OOmIuZ2V0VmFsdWUoKTt2YXIgdj15YShELGIpLGs9bEYoVyxuLmdldFBsYXllclNpemUoKSxuLmdldFZpc2liaWxpdHlTdGF0ZSgpKSxoPUxCKHF5aikseD1XLlYoKSxMPSgwLGcuUikoKSxlPSExLEc9ImVtcHR5IjtiPTA7bi5EaygicHNucyIpO3ZhciByPXtsZzpmdW5jdGlvbihOKXtOLnJlYWR5U3RhdGU9PT0yJiZuLkRrKCJwc19jIil9fTsKaWYoRC5KKXtsZXQgTj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX0sSD1kbChXLmdldFJlc29sdmVVcmxSZXNwb25zZSgpKTtIJiYoTi5wYXJhbXM9SCk7Vy5wbGF5bGlzdElkJiYoTi5wbGF5bGlzdElkPVN0cmluZyhXLnBsYXlsaXN0SWQpKTtyLkhuPXtSTDp5SCgicGxheWVyIixOKX19dj1hd2FpdCBnLnJfKHYsayxoLHZvaWQgMCxyKTtuLkRrKCJwc25yIik7aWYoIVcucU4oKSl7dj8iZXJyb3IiaW4gdiYmdi5lcnJvcj8oZT0hMCxHPWBlc2Y6JHt2LmVycm9yLm1lc3NhZ2V9YCxiPXYuZXJyb3IuY29kZSk6di5lcnJvck1ldGFkYXRhJiYoZT0hMCxHPSJpdHMiLGI9di5lcnJvck1ldGFkYXRhLnN0YXR1cyk6ZT0hMDtpZihlKXJldHVybiBlPTAsdj0oKDAsZy5SKSgpLUwpLnRvRml4ZWQoKSxMPXt9LEw9RC5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/e2JhY2tlbmQ6Im9wIixyYzpiLHJ0OnYscmVhc29uOkcsaGFzX2twdDpXLkhKPyIxIjoiMCIsaGFzX21keF9lbnY6Vy5tZHhFbnZpcm9ubWVudD8KIjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8iMSI6IjAiLG1keF9jdHJsOlcuaTV8fCIiLHRva2VuX2VxOng9PT1XLlYoKT8iMSI6IjAifTp7YmFja2VuZDoib3AiLHJjOmAke2J9YCxydDp2LHJlYXNvbjpHLGhhc19rcHQ6Vy5ISj8iMSI6IjAiLGhhc19tZHhfZW52OlcubWR4RW52aXJvbm1lbnQ/IjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8KIjEiOiIwIixtZHhfY3RybDpXLmk1fHwiIix0b2tlbl9lcTp4PT09Vy5WKCk/IjEiOiIwIn0sVz0ibWFuaWZlc3QubmV0LmNvbm5lY3QiLGI9PT00Mjk/KFc9ImF1dGgiLGU9Mik6Yj4yMDAmJihXPSJtYW5pZmVzdC5uZXQuYmFkc3RhdHVzIixiPT09NDAwJiYoZT0yKSksUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koVyxMLGUpKTtXLmxvYWRpbmc9ITE7emYoVyx7cmF3X3BsYXllcl9yZXNwb25zZTp2fSwhMCk7Zy5DTihXLkcoKSkmJnYmJnYudHJhY2tpbmdQYXJhbXMmJmcueXIodi50cmFja2luZ1BhcmFtcyk7aWYoVy5lcnJvckNvZGUpcmV0dXJuIEQ9e2VjOlcuZXJyb3JDb2RlLGVkOlcuZXJyb3JEZXRhaWwsZXM6Vy53aXx8IiJ9LGI9ImF1dGgiLGcuQ04oVy5HKCkpJiZXLmVycm9yQ29kZSYmKGI9Vy5lcnJvckNvZGUpLFByb21pc2UucmVqZWN0KG5ldyBnLkNpKGIsRCwyKSk7aWYoIVcubG9hZGluZyYmIUhqKFcpKXJldHVybiBEPVcuaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIiwKUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koRCx7c3VjY2Vzc0J1dFVucGxheWFibGU6IjEiLGhhc01lZGlhOmcuWUwoVyk/IjEiOiIwIn0sMikpfX07CldyaD1hc3luYyBmdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe3JldHVybiEwfQpmdW5jdGlvbiB2KGUpe2U9QiQoZSk7aWYoajIoZS5zZXZlcml0eSkpcmV0dXJuIFByb21pc2UucmVqZWN0KGUpO24uaGFuZGxlRXJyb3IoZSk7cmV0dXJuITF9CnZhciBrPXNfMihuLkcoKSxXLG4uZ2V0UGxheWVyU2l6ZSgpLG4uZ2V0VmlzaWJpbGl0eVN0YXRlKCksbi5pc0Z1bGxzY3JlZW4oKSksaD1XLmlzQWQoKSx4PWg/MTozO2ZvcihsZXQgZT0wO2U8eDtlKyspe3ZhciBMPWs7ZT4wJiYoYXdhaXQgZy5VdSg1RTMpLEw9e3BsYXllcnJldHJ5OmUscGxheWVycmV0cnlzcmM6RH0saHx8KEwucmVjb3Zlcj0iZW1iZWRkZWQiKSxMPWcubHcoayxMKSk7aWYoYXdhaXQgR1UxKFcsTCkudGhlbihiLHYpKXJldHVybn1XPWg/ImF1dGgiOiJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiO0Q9aD8yOjE7aWYoIWgmJk1hdGgucmFuZG9tKCk8MUUtNCl0cnl7Zy5HcShuZXcgZy5ReCgiYi8xNTIxMzE1NzEiLGJ0b2EoaykpKX1jYXRjaHt9cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBnLkNpKFcse2JhY2tlbmQ6Imd2aSJ9LEQpKX07CkdVMT1hc3luYyBmdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQoTCl7aWYoIW4ucU4oKSl7TD1MP0wuc3RhdHVzOi0xO3ZhciBlPTAsRz0oKDAsZy5SKSgpLXgpLnRvRml4ZWQoKTtHPWIuUygiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpP3tiYWNrZW5kOiJndmkiLHJjOkwscnQ6R306e2JhY2tlbmQ6Imd2aSIscmM6YCR7TH1gLHJ0Okd9O3ZhciByPSJtYW5pZmVzdC5uZXQuY29ubmVjdCI7TD09PTQyOT8ocj0iYXV0aCIsZT0yKTpMPjIwMCYmKHI9Im1hbmlmZXN0Lm5ldC5iYWRzdGF0dXMiLEw9PT00MDAmJihlPTIpKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kocixHLGUpKX19Cm4uZmV0Y2hUeXBlPSJndmkiO3ZhciBiPW4uRygpLHY7KHY9TlFpKG4pKT8odj17Zm9ybWF0OiJSQVciLG1ldGhvZDoiUE9TVCIsd2l0aENyZWRlbnRpYWxzOiEwLHRpbWVvdXQ6M0U0LHBvc3RQYXJhbXM6dn0sVz1nLmx3KFcse2FjdGlvbl9kaXNwbGF5X3Bvc3Q6MX0pKTp2PXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHdpdGhDcmVkZW50aWFsczohMCx0aW1lb3V0OjNFNH07dmFyIGs9e307Yi5zZW5kVmlzaXRvcklkSGVhZGVyJiZuLnZpc2l0b3JEYXRhJiYoa1siWC1Hb29nLVZpc2l0b3ItSWQiXT1uLnZpc2l0b3JEYXRhKTt2YXIgaD1nLlloKGIuZXhwZXJpbWVudHMsImRlYnVnX3NoZXJsb2dfdXNlcm5hbWUiKTtoJiYoa1siWC1Zb3V0dWJlLVNoZXJsb2ctVXNlcm5hbWUiXT1oKTtPYmplY3Qua2V5cyhrKS5sZW5ndGg+MCYmKHYuaGVhZGVycz1rKTt2YXIgeD0oMCxnLlIpKCk7dj1hd2FpdCBlNChnLnI4LFcsdikudGhlbih2b2lkIDAsZnVuY3Rpb24oTCl7cmV0dXJuIEQoTC54aHIpfSk7CmlmKCF2fHwhdi5yZXNwb25zZVRleHQpcmV0dXJuIEQodik7bi5sb2FkaW5nPSExO3Y9Zy5pdyh2LnJlc3BvbnNlVGV4dCk7emYobix2LCEwKTtpZihuLmVycm9yQ29kZSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koImF1dGgiLHtlYzpuLmVycm9yQ29kZSxlZDpuLmVycm9yRGV0YWlsLGVzOm4ud2l8fCIifSwyKSk7aWYoIW4ubG9hZGluZyYmIUhqKG4pKXJldHVybiB2PW4uaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixQcm9taXNlLnJlamVjdChuZXcgZy5DaSh2LHtzdWNjZXNzQnV0VW5wbGF5YWJsZToiMSJ9LDIpKX07ClhzaT1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgZy5DaShuPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixXLG4/MjoxKX07ClVCPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPSExKXt2YXIgYj1uLkcoKTtEJiYoIWcuJDYoYil8fElUKFcpIT09ImVtYmVkZGVkIil8fFcuZkN8fElUKFcpIT09ImFkdW5pdCImJihnLms2KGIpfHxnLlhDKGIpfHxnLk1WKGIpfHx0dShiKXx8Zy5EZihiKXx8bG8oYik9PT0iV0VCX0NSRUFUT1IiKXx8KEQ9Zy5IRShiLFcuVigpKSxEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpLHR5MihuLFcsRCkpfTsKdHkyPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt0cnl7bGV0IGs9bi5HKCksaD15YShrLEQpO3ZhciBiPVcuRygpO2xldCB4PWcubzkoKSxMPXtjb250ZXh0Omcub1QoVyksdmlkZW9JZDpXLnZpZGVvSWQscmFjeUNoZWNrT2s6Vy5yYWN5Q2hlY2tPayxjb250ZW50Q2hlY2tPazpXLmNvbnRlbnRDaGVja09rLGF1dG9uYXZTdGF0ZToiU1RBVEVfTk9ORSJ9O0lUKFcpPT09ImFkdW5pdCImJihMLmlzQWRQbGF5YmFjaz0hMCk7Yi5lbWJlZENvbmZpZyYmKEwuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iLmVtYmVkQ29uZmlnKTtiLlluJiYoTC5zaG93Q29udGVudE93bmVyT25seT0hMCk7Vy5TYSYmKEwuc2hvd1Nob3J0c09ubHk9ITApO3guUVEoMTQxKSYmKEwuYXV0b25hdlN0YXRlPXguUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTtpZihnLmVNKGIpKXtsZXQgTj14LlFRKDY1KTtEPU4hPW51bGw/IU46ITE7bGV0IEg9ISFnLlpJKCJ5dC1wbGF5ZXItc3RpY2t5LWNhcHRpb24iKTsKTC5jYXB0aW9uc1JlcXVlc3RlZD1EJiZIfWxldCBlPWIuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmNyeXB0ZWRIb3N0RmxhZ3M7ZSYmKEwucGxheWJhY2tDb250ZXh0PXtlbmNyeXB0ZWRIb3N0RmxhZ3M6ZX0pO3ZhciB2PUw7bGV0IEc9TEIoJDFDKTtuLkRrKCJ3bl9zIik7Yj17fTtrLkomJihiLkhuPXtSTDp5SCgibmV4dCIse3ZpZGVvSWQ6U3RyaW5nKFcudmlkZW9JZCl9KX0pO2xldCByPWF3YWl0IGcucl8oaCx2LEcsdm9pZCAwLGIpO24uRGsoInduX3IiKTshcnx8ImVycm9yImluIHImJnIuZXJyb3J8fChnLkNOKFcuRygpKSYmci50cmFja2luZ1BhcmFtcyYmZy55cihyLnRyYWNraW5nUGFyYW1zKSx6ZihXLHtyYXdfd2F0Y2hfbmV4dF9yZXNwb25zZTpyfSwhMSkpfWNhdGNoKGspe319OwpiVVU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1nLkhFKG4uRygpLFcuVigpKTtEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpO3I2dyhuLFcsRCl9OwpyNnc9YXN5bmMgZnVuY3Rpb24obixXLEQpe249bi5HKCk7dHJ5e2xldCBoPXlhKG4sRCk7bGV0IHg9e2NvbnRleHQ6Zy5vVChXKSxwbGF5ZXJSZXF1ZXN0Ont2aWRlb0lkOlcudmlkZW9JZH0sZGlzYWJsZVBsYXllclJlc3BvbnNlOiEwfSxMPVcuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7aWYoTCl7bGV0IHI9ZGwoTCk7ciYmKHgucGxheWVyUmVxdWVzdC5wYXJhbXM9cik7bGV0IE49ajcoTCk/LnBhcmFtcztOJiYoeC5wYXJhbXM9Til9dmFyIGI9eDtsZXQgZT1MQihzdjIpO0Q9e307aWYobi5KKXtsZXQgcj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX07dmFyIHYsaz1XLmdldFJlc29sdmVVcmxSZXNwb25zZSgpOyh2PWo3KGspPy5wYXJhbXMpJiYoci5wYXJhbXM9dik7RC5Ibj17Ukw6eUgoInJlZWxfaXRlbV93YXRjaCIscil9fWxldCBHPWF3YWl0IGcucl8oaCxiLGUsdm9pZCAwLEQpOyFHfHwiZXJyb3IiaW4gRyYmRy5lcnJvcnx8emYoVyx7cmF3X3JlZWxfaXRlbV93YXRjaF9yZXNwb25zZTpHfSl9Y2F0Y2goaCl7fX07CngxVT1hc3luYyBmdW5jdGlvbihuLFcpe3RyeXtsZXQgaz1uLkcoKSxoPWcuSEUoayxXLlYoKSkseD1oLk4/YXdhaXQgaC5OOmguZ2V0VmFsdWUoKSxMPXlhKGsseCk7dmFyIEQ9bi5nZXRQbGF5ZXJTaXplKCksYj1uLmdldFZpc2liaWxpdHlTdGF0ZSgpO3ZhciB2PXtjb250ZXh0Omcub1QoVyksdXJsOmBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke1cudmlkZW9JZH1gLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhXLEQsYil9fTtsZXQgZT1MQihONGgpLEc9YXdhaXQgZy5yXyhMLHYsZSk7Vy5xTigpfHxHJiZ6ZihXLHtyYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U6R30sITApfWNhdGNoKGspe319Owpwc3I9ZnVuY3Rpb24obixXKXtuLkRrKCJ2aXIiKTtuLkRrKCJwc19zIik7Zy5nXygidmlyIix2b2lkIDAsInZpZGVvX3RvX2FkIik7Vz1McjEobixXKTtXLnRoZW4oZnVuY3Rpb24oKXtuLkRrKCJ2aXJjIik7Zy5nXygidmlyYyIsdm9pZCAwLCJ2aWRlb190b19hZCIpO24uRGsoInBzX3IiKTtnLmdfKCJwc19yIix2b2lkIDAsInZpZGVvX3RvX2FkIil9LGZ1bmN0aW9uKCl7bi5EaygidmlyYyIpOwpnLmdfKCJ2aXJjIix2b2lkIDAsInZpZGVvX3RvX2FkIil9KTsKcmV0dXJuIFd9OwpFQj1mdW5jdGlvbigpe3ZhciBuPUcxKCk7cmV0dXJuISghbnx8bj09PSJ2aXNpYmxlIil9OwpIVWk9ZnVuY3Rpb24obil7dmFyIFc9WXlpKCk7VyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihXLG4sITEpfTsKZnZpPWZ1bmN0aW9uKG4pe3ZhciBXPVl5aSgpO1cmJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVyxuLCExKX07Cll5aT1mdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSl2YXIgbj0idmlzaWJpbGl0eWNoYW5nZSI7ZWxzZXtpZighZG9jdW1lbnRbcTArIlZpc2liaWxpdHlTdGF0ZSJdKXJldHVybiIiO249cTArInZpc2liaWxpdHljaGFuZ2UifXJldHVybiBufTsKSXZoPWZ1bmN0aW9uKG4pe0o2cj1ufTsKU3lyPWZ1bmN0aW9uKG4pe2lWPW59OwpTUE09ZnVuY3Rpb24obil7dmFyIFc9bi5oVTtuPW4udmlkZW9EYXRhO3ZhciBEPVpWKFcsbik7Vy5TKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIil8fEQuY29tcG9zZShVWChXLG4pKTtyZXR1cm4gRH07CkdYPWZ1bmN0aW9uKG4sVyl7dVYobixXLnJlYXNvbixXLk4uaW5mbyxXLnNvdXJjZSxXLnRva2VuKX07Cm9jPWZ1bmN0aW9uKG4sVyl7bi5XSigibG9jYWxtZWRpYWNoYW5nZSIsVyl9OwpQOVU9ZnVuY3Rpb24obixXKXtuLnRiLmRUKCl8fChuLlUoInNnYXAiLHtmOld9KSxuLnRiLmNsZWFyUXVldWUoITEsVz09PSJwZSIpKX07Cm0xVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmKG4ubWVkaWFTb3VyY2U/KGRzKG4pLG4ubXkoKSxBNmoobiwhMSkpOihuLnZpZGVvRGF0YS5jSiYmbi52aWRlb0RhdGEuY0ouWCgpLG4ubWVkaWFFbGVtZW50LnN0b3BWaWRlbygpKSxuLnBsYXlWaWRlbygpKX07CkljPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2Rpc2FibGVfdmlkZW9fcGxheWVyX2luaXRpYXRlZF9zZWVrcyIpJiZnLllOKG4udmlkZW9EYXRhKX07CmxWPWZ1bmN0aW9uKG4sVyl7bi54byYmelkobik7bi54bz1uZXcgZy5sNShXKjFFMywweDdmZmZmZmZmZmZmZmYpO24ueG8ubmFtZXNwYWNlPSJlbmRjciI7bi5hZGRDdWVSYW5nZShuLnhvKX07CnpZPWZ1bmN0aW9uKG4pe24ucmVtb3ZlQ3VlUmFuZ2Uobi54byk7bi54bz1udWxsfTsKamg9ZnVuY3Rpb24obil7aWYobi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBXPVRZKG4pO24ubG9hZGVyJiZuLmxvYWRlci5tbyhXKX19OwpCZD1mdW5jdGlvbihuLFc9ITApe24uQi5BbSYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlJiZuLm1lZGlhRWxlbWVudCYmIW4uRTgoKSYmKG4uaXNCYWNrZ3JvdW5kKCkmJm4ubWVkaWFFbGVtZW50LkdDKCk/KG4uVSgiYmdtb2JpbGUiLHtzdXNwZW5kOjF9KSxuLm9KKCEwLCEwKSk6IW4uaXNCYWNrZ3JvdW5kKCkmJlcmJkN1KG4pJiZuLlUoImJnbW9iaWxlIix7cmVzdW1lOjF9KSl9OwpGSj1mdW5jdGlvbihuKXtpZighZy5EUChuLnZpZGVvRGF0YSkpcmV0dXJuIE5hTjt2YXIgVz0wO24ubG9hZGVyJiZuLnZpZGVvRGF0YS5OJiYoVz1JNChuLnZpZGVvRGF0YSk/bi5sb2FkZXIucWgoKTpuLnZpZGVvRGF0YS5OLnFoKCkpO3JldHVybigwLGcuUikoKS8xRTMtbi5oQygpLVd9OwpLcmI9ZnVuY3Rpb24obixXKXtpZihuLnBsYXllclR5cGU9PT0yfHxuLkIuQ20pVy5vYz0hMDt2YXIgRD1UbChXLkZGLFcuRncsbi5CLkosbi5CLkspO0QmJihXLmFkRm9ybWF0PUQpO24ucGxheWVyVHlwZT09PTImJihXLkd1PSEwKTtpZihuLmlzRnVsbHNjcmVlbigpfHxuLkIuSilEPWcuWkkoInl0LXBsYXllci1hdXRvbmF2c3RhdGUiKSxXLmF1dG9uYXZTdGF0ZT1EfHwobi5CLko/MjpuLnZpZGVvRGF0YS5hdXRvbmF2U3RhdGUpO1cuZW5kU2Vjb25kcyYmVy5lbmRTZWNvbmRzPlcuc3RhcnRTZWNvbmRzJiZsVihuLFcuZW5kU2Vjb25kcyl9Owp3cz1mdW5jdGlvbihuKXtuLmxvYWRlciYmKG4ubG9hZGVyLmRpc3Bvc2UoKSxuLmxvYWRlcj1udWxsLG1vKG4uZGEsbnVsbCkpO24ucGcoKT9PVWgobik6bi5teSgpfTsKVTFpPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclN0YXRlLk4oMTI4KSlpZihuLnZpZGVvRGF0YS5pc0xvYWRlZCgpLG4uaWw9Zy5STShuLnZpZGVvRGF0YS5JSiksZy5ZTChuLnZpZGVvRGF0YSkpe24ubVEudGljaygiYnBkX3MiKTtNOShuKS50aGVuKCgpPT57bi5tUS50aWNrKCJicGRfYyIpO2lmKCFuLnFOKCkpe24uTkwmJihuLkJOKEJyKEJyKG4ucGxheWVyU3RhdGUsNTEyKSwxKSksQ3UobikpO3ZhciBEPW4udmlkZW9EYXRhO0QuZW5kU2Vjb25kcyYmRC5lbmRTZWNvbmRzPkQuc3RhcnRTZWNvbmRzJiZsVihuLEQuZW5kU2Vjb25kcyk7bi5MUi5maW5pc2hlZD0hMDtSYyhuLCJkYXRhbG9hZGVkIik7bi5qSC5zdGFydGVkJiZRYShuKTtsNVUobi5oVSxuLkRoKX19KTsKbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgibG91ZG5lc3MiLHt2Om4udmlkZW9EYXRhLllLLnRvRml4ZWQoMyl9LCEwKTt2YXIgVz1uLm1lZGlhRWxlbWVudD8uZV8oKTtpZihXJiYiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiaW4gVyYmbi5CLkh4KXRyeXtXLmRpc2FibGVQaWN0dXJlSW5QaWN0dXJlPW4uQi5MQiYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlfWNhdGNoKEQpe2cuR3EoRCl9UFJiKG4pO24uQkg9bmV3IFpVcihuLnZpZGVvRGF0YSl9ZWxzZSBSYyhuLCJkYXRhbG9hZGVkIil9Owp5Nlo9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGE7cHNyKG4sbi5paikudGhlbih2b2lkIDAsRD0+e24udmlkZW9EYXRhIT09V3x8Vy5xTigpfHwoRD1CJChEKSxELmVycm9yQ29kZT09PSJhdXRoIiYmbi52aWRlb0RhdGEuZXJyb3JEZXRhaWwmJm4udmlkZW9EYXRhLmVycm9yRGV0YWlsIT09IjciP24uUFYoRC5lcnJvckNvZGUsMix1bmVzY2FwZShuLnZpZGVvRGF0YS5lcnJvclJlYXNvbiksZy5UQyhELmRldGFpbHMpLG4udmlkZW9EYXRhLmVycm9yRGV0YWlsLG4udmlkZW9EYXRhLndpfHx2b2lkIDApOm4uaGFuZGxlRXJyb3IoRCkpfSl9OwpFQUM9ZnVuY3Rpb24obil7cmV0dXJuIGcuazYobi5CKSYmbi52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2smJighbi5CLlMoImh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWQiKXx8IW4udmlkZW9EYXRhLmxpdmVQcmVsb2FkKX07Ck05PWZ1bmN0aW9uKG4pe3dzKG4pO24uRGg9bnVsbDt2YXIgVz1Vancobi5CLG4udmlkZW9EYXRhLG4uRTgoKSk7bi50Uj1XO24udFIudGhlbihEPT57aVV0KG4sRCl9LEQ9PntuLnFOKCl8fChEPUIkKEQpLG4udmlzaWJpbGl0eS5pc0JhY2tncm91bmQoKT8oVmEobiwidnBfbm9uZV9hdmFpbCIpLG4udFI9bnVsbCxuLkxSLnJlc2V0KCkpOihuLkxSLmZpbmlzaGVkPSEwLG4uUFYoRC5lcnJvckNvZGUsRC5zZXZlcml0eSwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siLGcuVEMoRC5kZXRhaWxzKSkpKX0pOwpyZXR1cm4gV307ClBSYj1mdW5jdGlvbihuKXtpZihLeihuLnZpZGVvRGF0YSwiaHRtbDVfc2V0X2RlYnVnZ2luZ19vcHRfaW4iKSl7bGV0IFc9Zy5vOSgpO2lmKCFXLlFRKDE4Mykpe249YGYke01hdGguZmxvb3IoMTgzLzMxKSsxfWA7bGV0IEQ9VDEobil8fDA7RHw9MjY4NDM1NDU2O0Q9PT0wP2RlbGV0ZSBsT1tuXTpsT1tuXT1ELnRvU3RyaW5nKDE2KS50b1N0cmluZygpO1cuc2F2ZSgpfX19OwpSYz1mdW5jdGlvbihuLFc9ImRhdGF1cGRhdGVkIil7bi5XSigiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiLFcsbi52aWRlb0RhdGEpfTsKaVV0PWZ1bmN0aW9uKG4sVyl7aWYoIW4ucU4oKSYmIVcudmlkZW9EYXRhLnFOKCkpe24uRGg9VztGM2Iobi5kYSxuLkRoKTtpZihuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayl7dmFyIEQ9dVJyKG4udGIuUXAsbi52aWRlb0RhdGEudmlkZW9JZCl8fG4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpO0Q9bi5TKCJodG1sNV9vbmVzaWVfbGl2ZSIpJiZEO0ljKG4pfHxuLnZpZGVvRGF0YS5UQz4wJiYhSTQobi52aWRlb0RhdGEpfHxEfHxuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9wbGF5YmFja0RhdGEiLHNlZWtTb3VyY2U6MTh9KX1pZihuLnZpZGVvRGF0YS5XLk4oKSl7aWYoVGhpKG4udmlkZW9EYXRhKSl7bi5QVigiZm10Lm1pc3NpbmciLDIsIkJST1dTRVJfT1JfRVhURU5TSU9OX0VSUk9SIixnLlRDKHttaXNzYWJydXJsOjF9KSk7cmV0dXJufWlmKG4ubG9hZGVyKWcuR3EoRXJyb3IoIkR1cGxpY2F0ZWQgTG9hZGVyIikpO2Vsc2V7RD1nLmRNKG4uQi5leHBlcmltZW50cywKImh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tcyIpO2xldCBiPSgpPT57Y2QobiwoKT0+e24ucU4oKXx8bi5sb2FkZXJ8fG9BdChuKX0pfTsKRCYmbi5PUCgpJiZ1UnIobi50Yi5RcCxuLnZpZGVvRGF0YS5Xaik/Zy5uJChiLEQpOmIoKX19ZWxzZSFuLnZpZGVvRGF0YS5XLk4oKSYmT1Mobi52aWRlb0RhdGEpJiZvYyhuLG5ldyBhYyhuLnZpZGVvRGF0YS52aWRlb0lkfHwiIiw0KSk7bi51digpO3VpaihXKS50aGVuKCgpPT57dmFyIGI9e307bi5zVChiKTtuLkIuV1goKSYmbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgiYXYxSW5mbyIsYik7amgobil9KX19OwpDdT1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLm1lZGlhRWxlbWVudHx8IW4udmlkZW9EYXRhLlcpcmV0dXJuITE7dmFyIEQ9ZDEyKG4sVyksYj1uLm1lZGlhRWxlbWVudC5HQygpLHY9ITE7YiYmYi5lcXVhbHMoRCl8fCh6cGkobixEKSx2PSEwKTtuLnBsYXllclN0YXRlLk4oMil8fFFidyhuLmRhLFcpO2E6e1c9djtpZihnLllOKG4udmlkZW9EYXRhKSl7aWYoIW4udmlkZW9EYXRhLk1pKCkpYnJlYWsgYX1lbHNlIGlmKCFnLnF1KG4udmlkZW9EYXRhKSlicmVhayBhO2lmKG4ubWVkaWFFbGVtZW50KWlmKChEPW4udmlkZW9EYXRhLmopJiZuLm1lZGlhRWxlbWVudC5LKCkpe2I9bi5tZWRpYUVsZW1lbnQuZV8oKTtpZihuLkxBKWlmKGIhPT1uLkxBLmVsZW1lbnQpZHMobik7ZWxzZSBpZihXJiZELmZsYXZvcj09PSJmYWlycGxheSImJiF6USgpKWRzKG4pO2Vsc2UgYnJlYWsgYTtpZihuLlMoImh0bWw1X3JlcG9ydF9lcnJvcl9mb3JfdW5zdXBwb3J0ZWRfdHZvc193aWRldmluZSIpJiZ6USgpJiYKRC5mbGF2b3I9PT0id2lkZXZpbmUiKW4uUFYoImZtdC51bnBsYXlhYmxlIiwxLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInRyZy51bnNwdHR2b3N3aWRldmluZSIpO2Vsc2V7bi5MQT1uZXcgbHZ3KGIsbi52aWRlb0RhdGEsbi5CLG4ubWVkaWFFbGVtZW50LG4uZGgpO24uTEEuc3Vic2NyaWJlKCJsaWNlbnNlZXJyb3IiLG4uYm8sbik7bi5MQS5zdWJzY3JpYmUoInF1YWxpdHljaGFuZ2UiLG4uVzQsbik7bi5MQS5zdWJzY3JpYmUoImhlYXJ0YmVhdHBhcmFtcyIsbi5iWixuKTtuLkxBLnN1YnNjcmliZSgia2V5c3RhdHVzZXNjaGFuZ2UiLG4uWVYsbik7bi5MQS5zdWJzY3JpYmUoImN0bXAiLG4uVSxuKTtmb3IobGV0IGsgb2Ygbi5EYi5rZXlzKVc9bi5EYi5nZXQoayksbi5MQS5XbihXKTtuLlMoImh0bWw1X2VtZV9sb2FkZXJfc3luYyIpfHxuLkRiLlRpKCl9fWVsc2Ugbi5QVigiZm10LnVucGxheWFibGUiLDEsIkhUTUw1X05PX0FWQUlMQUJMRV9GT1JNQVRTX0ZBTExCQUNLIiwKInRyZy51cGRhdGVkcm0iKX1yZXR1cm4gdn07CmNkPWZ1bmN0aW9uKG4sVyl7bi5CLmVCJiZuLkIuWnQoKS5OLlFRKG5hKT9TayhuLkIuZUIsVywoKT0+e0p1KG4uQik7bi5CLmVCPXZvaWQgMDtXKCl9KTpXKCl9OwpvQXQ9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGEuTixEPXtjcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxjOm4uQi5OLmMsY3ZlcjpuLkIuTi5jdmVyfTtmb3IobGV0IFtoLHhdb2YgT2JqZWN0LmVudHJpZXMoRCkpe0Q9aDt2YXIgYj14O2Zvcih2YXIgdiBvZiBPYmplY3QudmFsdWVzKFcuTikpdi5YYi5jSihELGIpO1cuWT8uY0ooRCxiKX12PW4uQjtEPW4udmlkZW9EYXRhO2I9bi5pajtXPW5ldyBnLlQ0Mih2KTt2YXIgaz1OOFooe2hhc1N1YmZyYWdtZW50ZWRGbXA0OkQuaGFzU3ViZnJhZ21lbnRlZEZtcDQsSTI6RC5JMn0pO1cuVj1rO1cuTz1ELm1heFJlYWRBaGVhZE1lZGlhVGltZU1zLzFFM3x8Vy5PO2IuWC5MZygpPT09Yi5wb2xpY3kuTj9XLmpXPTEwOlcualc9RC5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcy8xRTN8fFcualc7Vy5MSz1ELnJlYWRBaGVhZEdyb3d0aFJhdGVNcy8xRTN8fFcuTEs7RC5RNiYmKFcuWD0hMCk7Vy5OZj0hYWQoKTtnLms2KHYpfHwKIWFkKCk/KFcuZSQ9ODM4ODYwOCxXLnZKPTUyNDI4OCxXLklNPTUsVy5ISj0xMDQ4NTc2LFcuVDQ9MS41LFcuTnM9NDU4NzUyMCxsYigpJiYoVy5Ocz03ODY0MzIpLFcuSyo9MS4xLFcuY0oqPTEuMSxXLm1oPSEwKTp2LmomJihXLksqPTEuMyxXLmNKKj0xLjMpO2cub2QmJmcudWIoImNya2V5IikmJihrPXYuTi5jbW9kZWw9PT0iQ0hST01FQ0FTVC9BTkNIT1ZZIixXLmUkPTIwOTcxNTIwLFcudko9MTU3Mjg2NCxrJiYoVy5Ocz04MTI1MDAsVy5iTj0xRTMsVy5Saz01LFcuSEo9MjA5NzE1MikpO2cuYW8mJihXLm1oPSEwKTt2LnN1cHBvcnRzR2FwbGVzc0F1ZGlvKCl8fChXLkRUPSExKTtnLldYJiYoVy5ZJD0hMCk7Vy5zVj12LlMoImh0bWw1X3BlYWtfc2hhdmUiKTtELmhxKCkmJnYuUygiaHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWUiKSYmKFcuc1Y9ITEpO2s9RC5OPy5YKCk7aWYoSTQoRCkpe1cuZVY9ITA7Vy5VVHx8KFcuZlI9ITApO1cuUFg9ITA7Vy5TVj0hMDtXLllyPQohMDtpZihELmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyJ8fEQubGF0ZW5jeUNsYXNzPT09IkxPVyImJiF2LlMoImh0bWw1X2Rpc2FibGVfbG93X3BpcGVsaW5lIikpVy53bz0yLFcuQ3k9NDtXLnNKPUQuZGVmcmFnZ2VkRnJvbVN1YmZyYWdtZW50cztnLnBBKEQpJiYoVy5CVj0hMSk7Vy5DbT1nLkdsKHYpfUQuaXNBZCgpJiYoVy50TT0wLFcuSFk9MCk7Vy5UNz12LlMoImh0bWw1X3VsdHJhX2xvd19sYXRlbmN5X3N1YnNlZ21lbnRfcmVhZGFoZWFkIikmJkQubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIjtXLlc9di5XWCgpO2IuSi5YPUk0KEQpPy41OjA7RC5pc0xpdmVQbGF5YmFjayYmKFcuV2M9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzIil8fC4yNSxXLm51PSExKTtELk1pKCkmJihXLm51PSExKTtXLnFqPSF2LlMoImh0bWw1X3NhYnJfa2VlcF9hbGxfcXVhbGl0eV9jb25zdHJhaW50cyIpO1cuQjM9CkxBKEQpO2hEKEQpJiYoVy5UNz0hMCxELmxhdGVuY3lDbGFzcz09PSJMT1ciP1cud2E9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0Iik6RC5sYXRlbmN5Q2xhc3M9PT0iVUxUUkFMT1ciJiYoVy53YT1nLmRNKHYuZXhwZXJpbWVudHMsImh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQiKSksVy5iQj0hMCk7RC56VygpJiYoVy53eT0xLjMpO1cuWSQ9Vy5ZJHx8RC5mUjtXLkhpPShXLkhpfHxELkhpKSYmdi5LO1cuVjY9RC5LO3YuV1goKSYmKFcuUmE9ITApO0QuSyYmIWsmJihXLktvPSEwKTtELksmJkQuaXNBZCgpJiYoVy5LKj0xLjYsVy5jSio9MS42KTtPUyhEKSYmKFcuSj1ELnZpZGVvSWQsVy52bj0hMCxXLnN6PTEwMCxELnhoJiZELnhoLmxlbmd0aD4wJiYoVy5iVj1ELnhoKSk7Vy5lQj1ELlo5O1cublM9REsodix7fSxELld8fHZvaWQgMCxReihEKSk7Vy5iZD1SUShEKSYmKGcuTVYodil8fAp0dSh2KSk7Zy5ZTihEKSYmKFcuaj0hMCxXLkU1PWcuazYodikmJiFnLmQ4KCk/ITE6ITAsIVcuZTQmJnYuUygiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9jbGllbnRfcmVxdWVzdF9jYW5jZWxsYXRpb24iKSYmKFcudlg9ITAsVy5DdT0hMCxXLlRJPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9yZXF1ZXN0X2NhbmNlbGxhdGlvbl90aW1lb3V0X21zIil8fDhFMyxXLnN6PWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0Iil8fDMpLHYuUygiaHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvbiIpJiYoVy5SRD0hMCksVy5OPSEwLFcudkY9di5TKCJodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29yayIpLFcuSjg9di5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpLApXLmNMPXYuUygiaHRtbDVfY29uc3VtZV9vbmVzaWVfbmV4dF9yZXF1ZXN0X3BvbGljeV9mb3Jfc2FiciIpLFcuQVY9di5TKCJodG1sNV9sb2dfaGlnaF9yZXNfYnVmZmVyX3RpbWVsaW5lIikmJnYuV1goKSxXLmZDPXYuUygiaHRtbDVfZ2FwbGVzc19zYWJyX2J0bF9sYXN0X3NsaWNlIikmJkFKKEQpLFcucG89di5TKCJodG1sNV9yZXNldF9sYXN0X2FwcGVuZGVkX3NsaWNlX29uX3NlZWsiKSYmQUooRCksSTQoRCkmJihXLlZIPSEwLFcuUyQ9ITAsdi5TKCJodG1sNV9zaW1wbGlmaWVkX2JhY2t1cF90aW1lb3V0X3NhYnJfbGl2ZSIpJiYoVy5DdT0hMCxXLmJOPVcuZlopKSxXLmg4PXYuUygiaHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2FiciIpLFcuczU9di5TKCJodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXQiKSxXLlk9Zy5ZTihEKSxXLm9UPXYuUygiaHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkIiksCnYuUygiaHRtbDVfaW5jbHVkZV9wYXJ0aWFsX3NlZ21lbnRfZm9yX2p1bWJvX2xsIikmJmhEKEQpJiYoVy5vVD0hMSksVy5zMz12LlMoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIiksVy5sbj12LlMoImh0bWw1X2NlbnRyYWxpemVkX3BsYXllcl90aW1lX2xpdmUiKSYmZy5ZTihEKSYmRC5pc0xpdmVQbGF5YmFja3x8di5TKCJodG1sNV91c2VfY2VudHJhbGl6ZWRfcGxheWVyX3RpbWUiKSYmZy5ZTihEKSxXLkdDPXYuUygiaHRtbDVfbG9nX2NlbnRyYWxpemVkX3BsYXllcl90aW1lIiksVy5BeD12LlMoImh0bWw1X3VzZV9jZW50cmFsaXplZF9wbGF5ZXJfdGltZV9maXhlcyIpJiZnLllOKEQpLFcuclc9di5TKCJodG1sNV9jb25zdW1lX29uZXNpZV9zYWJyX3NlZWsiKSxXLnR3PXYuUygiaHRtbDVfZW5hYmxlX3NhYnJfc2Vla19sb2FkZXJfcmVmYWN0b3IiKSxELmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYoVy5VMT0hMCxXLldLPXYuUygiaHRtbDVfcmVzZXRfc2VydmVyX3N0aXRjaF9zdGF0ZV9mb3Jfbm9uX3NhYnJfc2VlayIpLApXLmllPXYuUygiaHRtbDVfcmVtb3ZlX3NzZGFpX2FwcGVuZF9wYXVzZSIpJiYhRC5ERigpLFcueXc9di5TKCJodG1sNV9zc2RhaV9sb2dfc3NldnRfaW5fbG9hZGVyX3RpbWVycyIpKSxXLkVaPXYuV1goKSxXLmxhdGVuY3lDbGFzcz1ELmxhdGVuY3lDbGFzcyxXLm1EPSFELnpXKCkmJnYuUygiaHRtbDVfcHJlYnVmZmVyX2luc3RyZWFtX21lZGlhX3ZvZCIpKTtXLnlFPWcubU8oRCk7Vy5Rcj12LlMoImh0bWw1X2VuYWJsZV9zYWJyX290Zl9pbl9jbGllbnQiKTtpZihELk5QKCl8fEQuaXNBZCgpKVcuZ089ITE7RC56VygpJiZ2LmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqdk0pJiYoYj1ELmxDPy5nZXQoImlkIikpJiZiLmluY2x1ZGVzKCIlN0UiKSYmKFcuV2k9ITApO1NKKHYuVyxBVC5CSVRSQVRFKSYmKFcuTnM9TmFOKTtpZihiPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfcmVxdWVzdF9zaXplX21heF9rYiIpKVcuSEo9YioxMDI0O2lmKHYuVy5KKVcucFI9IjsgIitBVC5FWFBFUklNRU5UQUwubmFtZSsKIj1hbGxvd2VkIjtlbHNlIGlmKHYuZXhwZXJpbWVudHMudzAoKS5OLlFRKENSaSkmJmcuZDgoKSl7bGV0IHtuYW1lOmgsdmFsaWQ6eH09QVQuVFVOTkVMTU9ERTtXLnBSPWA7ICR7aH09JHt4fWB9dj1ELnNlcnZlclBsYXliYWNrU3RhcnRDb25maWc7dj8uZW5hYmxlJiZ2Py5wbGF5YmFja1N0YXJ0UG9saWN5JiYoVy5GZT0hMCxsUyhXLHYucGxheWJhY2tTdGFydFBvbGljeSwyKSk7dj1CNFUobik7bi5EYi5UaSgpO2E6e0Q9bi50Yi5RcDtpZihiPW4udmlkZW9EYXRhLnZpZGVvSWQpaWYoaz1ELk4uZ2V0KGIpKXtELk4ucmVtb3ZlKGIpO0Q9azticmVhayBhfUQ9dm9pZCAwfW4ubG9hZGVyPW5ldyBnLlc4KG4sbi5paixXLG4udmlkZW9EYXRhLk4sbi52aWRlb0RhdGEuVyxUWShuKSx2LG4udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpLEQsbi52aWRlb0RhdGEuelIpO2lmKG4udmlkZW9EYXRhLlMoImh0bWw1X2Rpc2FibGVfcHJlbG9hZF9mb3Jfc3NkYWlfd2l0aF9wcmVyb2xsIikmJgpuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmbi5PUCgpKVc9ITA7ZWxzZSBpZihXPW4uTkwpVz1nLms2KG4uQikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiYoIW4uQi5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIil8fCFuLnZpZGVvRGF0YS5saXZlUHJlbG9hZHx8bi5CLlp0KCkuTi5RUShIcCkpO24ubG9hZGVyLmluaXRpYWxpemUobi5nZXRDdXJyZW50VGltZSgpLFRZKG4pLFcpO24udmlkZW9EYXRhLnByb2JlVXJsJiYobi5sb2FkZXIuQnY9bi52aWRlb0RhdGEucHJvYmVVcmwpO2lmKG4uaWwubGVuZ3RofHxuLk5MKW4udmlkZW9EYXRhLmNvdG58fG4ucEMoITEpO21vKG4uZGEsbi5sb2FkZXIpO24uc1UmJihuLmxvYWRlci5FVyhuLnNVKSxuLlUoInNkYWkiLHtzZGw6MX0pKTtnLm1NKG4udmlkZW9EYXRhKSYmKG49bi5sb2FkZXIsbi5wb2xpY3kueGg9bi5wb2xpY3kuVnMpfTsKUWE9ZnVuY3Rpb24obil7bi5xTigpO2lmKCFuLmpILmZpbmlzaGVkJiZuLkxSLmZpbmlzaGVkJiYhbi5wbGF5ZXJTdGF0ZS5OKDEyOCkmJiFuLmlsLmxlbmd0aCl7aWYoIW4ud0kuc3RhcnRlZCl7dmFyIFc9bi53STtXLnN0YXJ0ZWQ9ITA7Vy5KKCl9aWYoIW4uSm4oKSl7bi5sb2FkZXImJihuLm5VPW4ubG9hZGVyLnpzKCEwKT4wKTtuLmpILmZpbmlzaGVkfHwobi5qSC5maW5pc2hlZD0hMCk7Vz1uLlMoImh0bWw1X29uZXNpZV9saXZlIikmJm4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpOyFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8bi52aWRlb0RhdGEuVEM+MCYmIUk0KG4udmlkZW9EYXRhKXx8V3x8SWMobil8fChuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9yZWFkeWluZyIsc2Vla1NvdXJjZToxOH0pLG4uaXNCYWNrZ3JvdW5kKCkmJihuLlRsPSEwKSk7Vz1uLkJYO2lmKFcucW9lKXtXPVcucW9lO2xldCBiPVcucHJvdmlkZXIudmlkZW9EYXRhLHY9Vy5wcm92aWRlci5COwpmb3IodmFyIEQgb2Ygdi5reSluQyhXLEQpO2lmKFcucHJvdmlkZXIuUygiaHRtbDVfZW5hYmxlX3FvZV9jYXRfbGlzdCIpKWZvcihsZXQgayBvZiBiLmtLKW5DKFcsayk7ZWxzZSBiLmt5JiZuQyhXLFcucHJvdmlkZXIudmlkZW9EYXRhLmt5KTtiLnpXKCkmJihEPWIuTixJNChiKSYmbkMoVywibWFuaWZlc3RsZXNzIiksRCYmb28oRCkmJm5DKFcsYGxpdmUtc2VnbWVudC0ke29vKEQpLnRvRml4ZWQoMSl9YCkpO2cuWU4oYik/bkMoVywic2FiciIpOlcueiQoeHAoYikpO2lmKHB6KGIpfHxiLkRGKCkpYi5ERigpJiZuQyhXLCJzc2EiKSxuQyhXLCJsaWZhIik7TkkoYikmJm5DKFcsImNkbSIpO2IuZ2F0ZXdheUV4cGVyaW1lbnRHcm91cCYmKEQ9Yi5nYXRld2F5RXhwZXJpbWVudEdyb3VwLEQ9PT0iRVhQRVJJTUVOVF9HUk9VUF9TUElLWV9BRF9CUkVBS19FWFBFUklNRU5UIj9EPSJzcGthZHRydCI6RD09PSJFWFBFUklNRU5UX0dST1VQX1NQSUtZX0FEX0JSRUFLX0NPTlRST0wiJiYoRD0KInNwa2FkY3RybCIpLG5DKFcsRCkpO3YuViE9PSJ5dCImJlcuSi5zZXQoImxlbiIsW2IubGVuZ3RoU2Vjb25kcy50b0ZpeGVkKDIpXSk7Yi5jb3RuJiYhT1MoYikmJlF1KFcsITApO3YuV1goKSYmKEQ9UlFVKCkpJiZXLlUoImNibHQiLHttOkR9KTt2LlMoImh0bWw1X2xvZ19zY3JlZW5fZGlhZ29uYWwiKSYmVy5VKCJjYmx0ZGlhZyIse3Y6d2luZG93Lkg1dmNjU2NyZWVuPy5HZXREaWFnb25hbD93aW5kb3cuSDV2Y2NTY3JlZW4uR2V0RGlhZ29uYWwoKTowfSl9bi5XSigicGxheWJhY2tyZWFkeSIpO2cudlAoInBsX2MiLG4ubVEudGltZXJOYW1lKXx8KG4ubVEudGljaygicGxfYyIpLGcuZ18oInBsX2MiLHZvaWQgMCwidmlkZW9fdG9fYWQiKSk7Zy52UCgicGJyIixuLm1RLnRpbWVyTmFtZSl8fChuLm1RLnRpY2soInBiciIpLGcuZ18oInBiciIsdm9pZCAwLCJ2aWRlb190b19hZCIpKX19fTsKVmE9ZnVuY3Rpb24obixXKXtuLnBsYXllclN0YXRlLk4oMTI4KXx8KG4uQk4od1Mobi5wbGF5ZXJTdGF0ZSwxMDI4LDkpKSxuLlUoImRvbXBhdXNlZCIse3I6V30pLG4uV0ooIm9uQXV0b3BsYXlCbG9ja2VkIikpfTsKZy5EVD1mdW5jdGlvbihuKXt2YXIgVz1UWShuKTtyZXR1cm4geEooVyl8fCFuLkRoP251bGw6Zy5sXyhuLkRoLk4udmlkZW9JbmZvcyxEPT5XLlgoRCkpfTsKdVY9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aC5KPUQ7dmFyIHg9Zy5EVChuKTtEPW5ldyBGck0oRCxXLHg/eC5pdGFnOiIiLGIsdik7aWYoay5xb2Upe2s9ay5xb2U7Yj12PWcuUmsoay5wcm92aWRlcik7eD1bRC5OLmlkLEQuSixrLnM1LEQucmVhc29uXTtrLkR0fHx4LnB1c2goTFRiKGssRCkpO0QudG9rZW4mJngucHVzaChELnRva2VuKTtnLndqKGssYiwidmZzIix4KTtrLnM1PUQuTi5pZDt4PWsucHJvdmlkZXIuTC5nZXRQbGF5ZXJTaXplKCk7aWYoeC53aWR0aD4wJiZ4LmhlaWdodD4wKXt4PVtNYXRoLnJvdW5kKHgud2lkdGgpLE1hdGgucm91bmQoeC5oZWlnaHQpXTtsZXQgTD1nLkhfKCk7TD4xJiZ4LnB1c2goTCk7Zy53aihrLGIsInZpZXciLHgpfWsuRHR8fChrLnByb3ZpZGVyLkIuV1goKSYmKG5DKGssInJxcyIpLG5DKGssInJxczIiKSksay5wcm92aWRlci52aWRlb0RhdGEuTiYmR18oay5wcm92aWRlci52aWRlb0RhdGEuTikmJmsuSi5zZXQoInByZWxvYWQiLApbIjEiXSkpO2suRHQ9ITA7ay5WPSEwO0QucmVhc29uPT09Im0iJiYrK2suc1Y9PT0xMDAmJmJtKGssMik7Zy53aihrLHYsInZwcyIsW2suTl0pO2suZSR8fGsucmVwb3J0U3RhdHModil9RD1uLmhVO0QuSj0wO0QuTj0wO24uV0ooImludGVybmFsdmlkZW9mb3JtYXRjaGFuZ2UiLGgsVz09PSJtIil9OwpUWT1mdW5jdGlvbihuKXtpZihuLkRoKXt2YXIgVz1uLmhVO3ZhciBEPW4uRGg7bj1uLmcwKCk7dmFyIGI9Wm1oKFcpO2lmKHhKKGIpKXtpZihiPVcuTWgoRCkuY29tcG9zZSh5SXIoVyxEKSkuY29tcG9zZShpbXIoVyxEKSkuY29tcG9zZShaVihXLEQudmlkZW9EYXRhKSkuY29tcG9zZShVWChXLEQudmlkZW9EYXRhLEQpKS5jb21wb3NlKHkzKFcsRCkpLmNvbXBvc2UoaW0oVyxEKSkseEoobil8fFcuUygiaHRtbDVfYXBwbHlfcGJyX2NhcF9mb3JfZHJtIikpe3ZhciB2PWIuY29tcG9zZTtpZihXLlMoImh0bWw1X2Rpc2FibGVfdXN0cmVhbWVyX2NvbnN0cmFpbnRfZm9yX3NhYnIiKSYmZy5ZTihELnZpZGVvRGF0YSkpdmFyIGs9WVo7ZWxzZSBrPVcuTC51dSgpLFcuUygiaHRtbDVfdXNlX3ZpZGVvX3F1YWxpdHlfY2FwX2Zvcl91c3RyZWFtZXJfY29uc3RyYWludCIpJiZrJiZrLlFvPjAmJnhKKEQudmlkZW9EYXRhLkIzKSYmKGs9ay5RbyxELnZpZGVvRGF0YS5CMz1uZXcgYjMoMCxrLCExLAoidSIpKSxrPUQudmlkZW9EYXRhLkIzO2I9di5jYWxsKGIsayl9fWVsc2UgVy5TKCJodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3kiKSYmKGI9Yi5jb21wb3NlKHkzKFcsRCkpKTtiPWIuY29tcG9zZShpbShXLEQpKTtXPUQudmlkZW9EYXRhLkxLLmNvbXBvc2UoYikuY29tcG9zZShELnZpZGVvRGF0YS5MSCkuY29tcG9zZShuKX1lbHNlIFc9WVo7cmV0dXJuIFd9Owp3c2k9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aWYoRCE9PWguWCl7dmFyIHg9IWguWDtoLlg9RDt2YXIgTD1XPT09Im0ifHxXPT09InQiO0x8fChXPXg/ImkiOiJhIik7Vz1uZXcgRnJNKEQsVywiIixiLHYpO2lmKGsucW9lKXtrPWsucW9lO0Q9Zy5SayhrLnByb3ZpZGVyKTtsZXQgRz1bXTtpZihXLk4uaWQhPT1rLkZGKXtiPVtXLk4uaWQsay5GRixXLnJlYXNvbl07dj1HO3ZhciBlPXYucHVzaDtsZXQgcj1bXSxOPWsucHJvdmlkZXIudmlkZW9EYXRhLmhnLk4sSD1XLk4uYXVkaW8/Lko/P04/LlFPO0g9PW51bGx8fGlzTmFOKEgpfHxyLnB1c2goYGZsLiR7SH1gKTtOJiYoTi5mb3JtYXRJZCYmTi5mb3JtYXRJZCE9PVcuTi5pZCYmay5VKCJhZ2MiLHtxb2VtaXNtYXRjaDoiMSIsYWdjX2ZtdDpOLmZvcm1hdElkLGFmbXQ6Vy5OLmlkfSksTi5weT09bnVsbHx8aXNOYU4oTi5weSl8fHIucHVzaChgdGwuJHtOLnB5fWApLE4uRHk9PW51bGx8fGlzTmFOKE4uRHkpfHwKci5wdXNoKGB2Zy4ke04uRHl9YCksTi53RyE9PTAmJnIucHVzaChgbm0uJHtOLndHfWApKTtlLmNhbGwodiwuLi5yKTtXLnJlYXNvbj09PSJpIiYmRy5wdXNoKExUYihrLFcpKTtHLmxlbmd0aD4wJiZiLnB1c2goRy5qb2luKCI7IikpO1cudG9rZW4mJmIucHVzaChXLnRva2VuKTtnLndqKGssRCwiYWZzIixiKTtrLkZGPVcuTi5pZH19bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsaCwheCYmTCl9fTsKTXl4PWZ1bmN0aW9uKG4pe3ZhciBXPSJsb2Fkc3RhcnQgbG9hZGVkbWV0YWRhdGEgcGxheSBwbGF5aW5nIHByb2dyZXNzIHBhdXNlIGVuZGVkIHN1c3BlbmQgc2Vla2luZyBzZWVrZWQgdGltZXVwZGF0ZSBkdXJhdGlvbmNoYW5nZSByYXRlY2hhbmdlIGVycm9yIHdhaXRpbmcgcmVzaXplIi5zcGxpdCgiICIpO2ZvcihsZXQgRCBvZiBXKW4uczkuTk4obi5tZWRpYUVsZW1lbnQsRCxuLmlVLG4pO24uQi5EVCYmbi5tZWRpYUVsZW1lbnQuSygpJiYobi5zOS5OTihuLm1lZGlhRWxlbWVudCwid2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkIixuLnZrLG4pLG4uczkuTk4obi5tZWRpYUVsZW1lbnQsIndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkIixuLk9rLG4pKX07Ck9VaD1mdW5jdGlvbihuKXtpZihuLm1lZGlhU291cmNlKWlmKG4uSzEoKSxuLm1lZGlhU291cmNlLkspdHJ5e24uQi5XWCgpJiZuLlUoInJtcyIse2w6InZwcm1zIixzcjpuLnBnKCkscnM6bi5tZWRpYVNvdXJjZS5XKCl9KSxuLm1lZGlhU291cmNlLmNsZWFyKCksbi5tZWRpYUVsZW1lbnQ/LkhKKG4ubWVkaWFTb3VyY2UpLG4ubWVkaWFTb3VyY2U9bnVsbH1jYXRjaChEKXt2YXIgVz1uZXcgZy5ReChgRXJyb3Igd2hpbGUgY2xlYXJpbmcgTWVkaWEgU291cmNlIGluIFZpZGVvUGxheWVyOiAke0QubmFtZX0sICR7RC5tZXNzYWdlfWApO1c9QiQoVyk7bi5oYW5kbGVFcnJvcihXKTtuLm15KCl9ZWxzZSBuLm15KCl9Owpkcz1mdW5jdGlvbihuKXtuLkxBJiYobi5MQS5kaXNwb3NlKCksbi5MQT1udWxsKX07ClJwVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmbi5tZWRpYUVsZW1lbnQuRTgoKSYmKG4uVFY9KDAsZy5SKSgpKTtuLkIudEc/Zy5uJCgoKT0+e2J2KG4pfSwwKTpidihuKX07CmJ2PWZ1bmN0aW9uKG4pe2lmKCFuLm1lZGlhU291cmNlPy5nWCgpKXtpZihuLm1lZGlhRWxlbWVudCl0cnl7bi5Mdz1uLm1lZGlhRWxlbWVudC5wbGF5VmlkZW8oKX1jYXRjaChXKXtWYShuLGBlcnIuJHtXfWApfWlmKG4uTHcpe2xldCBXPW4uTHc7Vy50aGVuKHZvaWQgMCxEPT57aWYoIShuLnBsYXllclN0YXRlLk4oNCl8fG4ucGxheWVyU3RhdGUuTigyNTYpfHxuLkx3IT09V3x8RCYmRC5uYW1lPT09IkFib3J0RXJyb3IiJiZELm1lc3NhZ2UmJkQubWVzc2FnZS5pbmNsdWRlcygibG9hZCIpKSl7bGV0IGI9InByb21pc2UiO0QmJkQubmFtZSYmKGIrPWA7bS4ke0QubmFtZX1gKTtWYShuLGIpO24uVzE9ITA7bi52aWRlb0RhdGEuZkI9ITB9fSl9fX07CkE2aj1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubWVkaWFTb3VyY2UpcmV0dXJuIG4ubWVkaWFTb3VyY2UuajtRdmkobixXKTtyZXR1cm4gbi5VeigpPy50dygpfHxudWxsfTsKZDEyPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9bnVsbDtuLnZpZGVvRGF0YS5XPy5OKCk/KEQ9QTZqKG4sVyksbi5sb2FkZXI/LnJlc3VtZSgpKTood3Mobiksbi52aWRlb0RhdGEuY0omJihEPW4udmlkZW9EYXRhLmNKLkooKSkpO3JldHVybiBEfTsKYXZaPWZ1bmN0aW9uKG4sVyl7aWYoVy5OLnZpZGVvLnF1YWxpdHk9PT0iYXV0byImJlcua0woKS5XKCkpaWYobi5TKCJodG1sNV9obHNfcmVwb3J0X3BzZXVkb19pdGFnIikmJm4udmlkZW9EYXRhLmhsc3ZwKXt2YXIgRD1uLlVKKCk7aWYoRCYmRC52aWRlb0hlaWdodD4wJiZELnZpZGVvV2lkdGg+MCl7dmFyIGI9RC52aWRlb0hlaWdodDtEPUQudmlkZW9XaWR0aDthOntuPW4uTEE/Lk4uZmxhdm9yPT09ImZhaXJwbGF5Ij9WeVU6YzZaO2Zvcih2IG9mIG4paWYoYj49di5taW5IZWlnaHQpe3ZhciB2PXYuaXRhZzticmVhayBhfXY9IiJ9aWYodilyZXR1cm4gbmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse3ZpZGVvOm5ldyBIUihELGIpfSl9fWVsc2UgaWYobi52aWRlb0RhdGEubnUpZm9yKGIgb2Ygbi52aWRlb0RhdGEubnUpaWYoYi5nZXRIZWlnaHQoKT09PW4uejEmJmIuTi52aWRlby5xdWFsaXR5IT09ImF1dG8iKXJldHVybiBiLmtMKCk7cmV0dXJuIFcua0woKX07Cm5CQz1mdW5jdGlvbihuKXtyZXR1cm4hIShuLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKSYmZy5HbiYmbi52aWRlb0RhdGEuSj8uVygpKX07ClcxaT1mdW5jdGlvbihuKXtpZighbkJDKG4pKXJldHVybiExO249bi5tZWRpYUVsZW1lbnQ/LmF1ZGlvVHJhY2tzKCk7cmV0dXJuISEobiYmbi5sZW5ndGg+MSl9OwpiNHQ9ZnVuY3Rpb24obil7dmFyIFc9RGdDKG4pO2lmKFcpe3ZhciBEPXY4W1ddfHxXO3JldHVybiBuLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLmZpbmQoYj0+Yi5rWi5nZXROYW1lKCk9PT1EKX19OwpEZ0M9ZnVuY3Rpb24obil7aWYobj1uLm1lZGlhRWxlbWVudD8uYXVkaW9UcmFja3MoKSlmb3IobGV0IFc9MDtXPG4ubGVuZ3RoOysrVyl7bGV0IEQ9bltXXTtpZihELmVuYWJsZWQpcmV0dXJuIEQubGFiZWx9fTsKdkIyPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpO2lmKFcpe3ZhciBEPVtdO2ZvcihsZXQgdj0wO3Y8Vy5sZW5ndGg7Kyt2KXt2YXIgYj1XW3ZdO2I9bmV3IFdBKGIubGFiZWwsbmV3IHdQKHY4W2IubGFiZWxdfHxiLmxhYmVsLGIubGFiZWwsITEpKTtELnB1c2goYil9bi52aWRlb0RhdGEudm49RH19OwpCNFU9ZnVuY3Rpb24obil7dmFyIFcsRD1uLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLGI9bi5CLkhKO2ImJihXPUQuZmluZCh2PT52LmdldExhbmd1YWdlSW5mbygpLmlkPT09YikpOwppZihuLkIuZXhwZXJpbWVudHMuRXEoImVuYWJsZV9hdWRpb19kZXNjcmlwdGlvbl9zZXR0aW5nIikmJmcubzkoKS5RUSgxOTgpKWZvcihsZXQgdiBvZiBEKWlmKHYuail7Vz12O2JyZWFrfW4uWnQoKS5OLlFRKGtxTSkmJm4udmlkZW9EYXRhLmNvdG4mJihXPUQuZmluZCh2PT4hIXYuVikpOwpXfHwobj1uLmdldEF1ZGlvVHJhY2soKSxXPW4ua1ouaXNEZWZhdWx0P3ZvaWQgMDpuKTtyZXR1cm4gV307ClF2aT1mdW5jdGlvbihuLFc9ITEpe3RyeXtnLmQ4KCkmJm4udmlkZW9EYXRhLm1WKCkmJm4ubWVkaWFFbGVtZW50LlBYKCk7bGV0IGI9bi5veSgpLHY9bi5DZCgpO2lmKG4ubWVkaWFFbGVtZW50LmlzVmlldygpJiZuLm1lZGlhRWxlbWVudC5NZCYmKCFuLkZTKCl8fCFuLm1lZGlhRWxlbWVudC5ZJChiLHYpKSl7bi5CLldYKCkmJm4uVSgidXNtIix7ZmFsbGJhY2s6ITAscmVhc29uOm4uRlMoKT8iY29kZWMiOiJwb2xpY3kifSk7bGV0IGs9bi5tZWRpYUVsZW1lbnQubWVkaWFFbGVtZW50O2s/LlBYKCk7az8uc3RvcFZpZGVvKCk7bi5kYS5zZXRNZWRpYUVsZW1lbnQobnVsbCk7bi5zZXRNZWRpYUVsZW1lbnQoaywhMCl9dmFyIEQ9bi5tZWRpYUVsZW1lbnQuVXooYix2KX1jYXRjaChiKXtpZihLQyhuLkFJLCJodG1sNS5taXNzaW5nYXBpIix7dXBkYXRlTXM6IjEifSkpcmV0dXJuO2NvbnNvbGUuZXJyb3IoIndpbmRvdy5VUkwgb2JqZWN0IG92ZXJ3cml0dGVuIGJ5IGV4dGVybmFsIGNvZGUiLApiKTtuLlBWKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInVwZGF0ZU1zLjEiKTtyZXR1cm59bi5ubShELCExLCExLFcpfTsKaExaPWZ1bmN0aW9uKG4sVz0hMSl7aWYobi5sb2FkZXIpe24udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZuLmxvYWRlci5rSSgpO2xldCBEPW4uZ2V0Q3VycmVudFRpbWUoKS1uLlNXKCk7bi5sb2FkZXIuc2VlayhELHtBTTpXfSkuc1AoKCk9Pnt9KX1lbHNlIGNkKG4sKCk9PntuLnFOKCl8fG4ubG9hZGVyfHxvQXQobil9KX07CkwxYj1mdW5jdGlvbihuLFcsRD0hMSxiPSExLHY9ITEpeyFuLm1lZGlhU291cmNlfHxXJiZuLm1lZGlhU291cmNlIT09V3x8KFc9bi5nZXREdXJhdGlvbigpLCFXJiZJNChuLnZpZGVvRGF0YSkmJihXPTI1MjAwLG4ubG4oKSYmKFc9NDY4MDApKSxuLm1lZGlhU291cmNlLmlzVmlldz9XPm4ubWVkaWFTb3VyY2UuZ2V0RHVyYXRpb24oKSYmeGdaKG4sVyk6eGdaKG4sVyksVz0oKT0+e24ucU4oKXx8KEltaShuLmxvYWRlcixuLm1lZGlhU291cmNlLEQsYix2KSxuLldKKCJtZWRpYXNvdXJjZWF0dGFjaGVkIikpfSxuLmxvYWRlcj9XKCk6Y2QobixXKSl9Owp4Z1o9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiYobi5tZWRpYVNvdXJjZS5hVChXKSxuLmxvYWRlcj8uaFcoVykpfTsKZUxoPWZ1bmN0aW9uKG4sVyl7aWYobi5CLldYKCkmJm4ubWVkaWFFbGVtZW50KXtsZXQgRD1uLm1lZGlhRWxlbWVudC55cigpO0Qub210PShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpK24uU1coKSkudG9GaXhlZCgzKTtELnBzPW4ucGxheWVyU3RhdGUuc3RhdGUudG9TdHJpbmcoMTYpO0QucnQ9KGcuUmsobi5CWC5wcm92aWRlcikqMUUzKS50b0ZpeGVkKCk7RC5lPVc7bi5CRltuLmtRKyslNV09RH19OwpnQnI9ZnVuY3Rpb24obil7aWYoZy51YigiY29iYWx0IikmJmcudWIoIm5pbnRlbmRvIHN3aXRjaCIpKXt2YXIgVz0hd2luZG93Lm1hdGNoTWVkaWEoInNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcyMHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyMDBkcGkpIikubWF0Y2hlcztuLlUoIm54ZG9jayIse2Q6V30pfX07ClhhUz1mdW5jdGlvbihuKXtEcihuLm53KTtrUChuKXx8KG4ubnc9VzAoKCk9PmtQKG4pLDEwMCkpfTsKa1A9ZnVuY3Rpb24obil7dmFyIFc9bi5tZWRpYUVsZW1lbnQ7VyYmbi5BbCYmIW4udmlkZW9EYXRhLlkmJiFnLnZQKCJ2ZnAiLG4ubVEudGltZXJOYW1lKSYmVy5YKCk+PTImJiFXLmlzRW5kZWQoKSYmTSQoVy5KKCkpJiZuLm1RLnRpY2soInZmcCIpO3JldHVybihXPW4ubWVkaWFFbGVtZW50KSYmIW4udmlkZW9EYXRhLlkmJlcuZ2V0RHVyYXRpb24oKT4wJiYoVy5pc1BhdXNlZCgpJiZXLlgoKT49MiYmTSQoVy5KKCkpJiYoZy52UCgicGJwIixuLm1RLnRpbWVyTmFtZSl8fG4ubVEudGljaygicGJwIiksIW4udmlkZW9EYXRhLkR0fHxuLlZ0fHxXLmlzU2Vla2luZygpfHwobi5WdD0hMCxuLldKKCJvblBsYXliYWNrUGF1c2VBdFN0YXJ0IikpKSxXPVcuZ2V0Q3VycmVudFRpbWUoKSxxOShuLlZlLFcpJiYoIW4udmlkZW9EYXRhLlJvfHwhbi5wbGF5ZXJTdGF0ZS5OKDE2KSkpPyhuLmUyKCksITApOiExfTsKaDU9ZnVuY3Rpb24obixXKXtuLkIuUygiaHRtbDVfbG9nX3JlYnVmZmVyX3JlYXNvbiIpJiYoVz17cjpXLGxhY3Q6Zy52SSgpfSxuLm1lZGlhRWxlbWVudCYmKFcuYmg9bi5tZWRpYUVsZW1lbnQuenMoKSksbi5VKCJidWZyZWFzb24iLFcpKX07CnFhVT1mdW5jdGlvbihuKXtuLkJYLm9uUHJvZ3Jlc3MoKTtpZihnLkRQKG4udmlkZW9EYXRhKSYmRGF0ZS5ub3coKT5uLmhhKzYyODMpe2lmKG4udmlkZW9EYXRhLk4mJiFFayhuLnZpZGVvRGF0YS5OKSl7dmFyIFc9bi5CWDtpZihXLnFvZSl7Vz1XLnFvZTt2YXIgRD1XLnByb3ZpZGVyLkwuSEsoKSxiPWcuUmsoVy5wcm92aWRlcik7VnUoVyxiLEQpO2xldCB2PUQuVztEPUQuWDtpc05hTih2KXx8KCFpc05hTihEKSYmRD9nLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKSxELnRvRml4ZWQoMyldKTpnLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKV0pKX19Vz1nLkdsKG4uQik7Yj1uLlMoImh0bWw1X2Fsd2F5c19sb2dfcmF3bGF0Iik7KFd8fGIpJiZuLlUoInJhd2xhdCIse2w6Wjcobi5GNSwicmF3bGl2ZWxhdGVuY3kiKS50b0ZpeGVkKDMpfSk7bi5oYT1EYXRlLm5vdygpfW4udmlkZW9EYXRhLkomJm4udmlkZW9EYXRhLkouVygpJiYoVz1uLlVKKCkpJiZXLnZpZGVvSGVpZ2h0IT09Cm4uejEmJihuLnoxPVcudmlkZW9IZWlnaHQsdVYobiwiYSIsYXZaKG4sbi52aWRlb0RhdGEuY0opKSl9OwpHcU09ZnVuY3Rpb24obil7aWYobi5CLldYKCkpe24uQkYuc29ydCgoVyxEKT0+K1cucnQtK0QucnQpOwpmb3IobGV0IFcgb2Ygbi5CRiluLlUoInZwZSIsT2JqZWN0LmFzc2lnbih7dDpXLnJ0fSxXKSk7bi5CRj1bXTtuLmtRPTB9fTsKenBpPWZ1bmN0aW9uKG4sVyl7bi5tUS50aWNrKCJ2dGEiKTtnLmdfKCJ2dGEiLHZvaWQgMCwidmlkZW9fdG9fYWQiKTtuLmdldEN1cnJlbnRUaW1lKCk+MCYmUnlpKG4uZGEsbi5nZXRDdXJyZW50VGltZSgpKTtuLm1lZGlhRWxlbWVudC5EKFcpO24ubWVkaWFTb3VyY2UmJmJRKDQpOyFuLnZpZGVvRGF0YS5ZJiZuLnBsYXllclN0YXRlLmlzT3JXaWxsQmVQbGF5aW5nKCkmJm4uQl8uc3RhcnQoKTtuQkMobikmJihXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpKSYmKFcub25hZGR0cmFjaz0oKT0+e3ZCMihuKX0sVy5vbnJlbW92ZXRyYWNrPSgpPT57dkIyKG4pfSxXLm9uY2hhbmdlPSgpPT57bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsbi52aWRlb0RhdGEsITApfSl9Owp0aVM9ZnVuY3Rpb24obil7bj1uLmFwaS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO249bi5pc0N1ZWQoKXx8bi5pc0Vycm9yKCk/Im5vbmUiOm4uaXNPcldpbGxCZVBsYXlpbmcoKT8icGxheWluZyI6InBhdXNlZCI7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlPW59OwokZ0M9ZnVuY3Rpb24obil7aWYobi5OKWlmKG4uYXBpLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXRyeXt4UCh7ZHVyYXRpb246SW5maW5pdHl9KX1jYXRjaChXKXt4UCgpfWVsc2V7aWYobi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnpLKCkpe2xldCBXPW4uYXBpLmdldFByb2dyZXNzU3RhdGUoKS5zZWVrYWJsZUVuZCxEPU1hdGgubWluKG4uYXBpLmdldEN1cnJlbnRUaW1lKCksVyk7aWYoVyYmTnVtYmVyLmlzRmluaXRlKEQpKXt4UCh7ZHVyYXRpb246VyxwbGF5YmFja1JhdGU6bi5hcGkuZ2V0UGxheWJhY2tSYXRlKCkscG9zaXRpb246RH0pO3JldHVybn19eFAoKX19OwpMYT1mdW5jdGlvbihuLFcpe3RyeXtuYXZpZ2F0b3IubWVkaWFTZXNzaW9uLnNldEFjdGlvbkhhbmRsZXIobixXKX1jYXRjaChEKXt9fTsKclBoPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKCFufHwhbi50aHVtYm5haWxzKXJldHVybiBXO2ZvcihsZXQgRCBvZiBuLnRodW1ibmFpbHMpRC51cmwmJighRC53aWR0aHx8RC53aWR0aDw9MHx8IUQuaGVpZ2h0fHxELmhlaWdodDw9MHx8Zy5qSShELnVybCkmJlcucHVzaCh7c3JjOkQudXJsfHwiIixzaXplczpgJHtELndpZHRofXgke0QuaGVpZ2h0fWAsdHlwZToiaW1hZ2UvanBlZyJ9KSk7cmV0dXJuIFd9OwpzVVM9ZnVuY3Rpb24obil7TGEoInBsYXkiLCgpPT57bi5hcGkucGxheVZpZGVvKCk7ZWwobil9KTsKTGEoInBhdXNlIiwoKT0+e24uYXBpLnBhdXNlVmlkZW8oKTtlbChuKX0pOwpMYSgic2Vla2JhY2t3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSgtNSpuLmFwaS5nZXRQbGF5YmFja1JhdGUoKSk7ZWwobil9KTsKTGEoInNlZWtmb3J3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSg1Km4uYXBpLmdldFBsYXliYWNrUmF0ZSgpKTtlbChuKX0pOwpMYSgic2Vla3RvIixXPT57Vz1XLnNlZWtUaW1lO1chPW51bGwmJm4uYXBpLnNlZWtUbyhXKTtlbChuKX0pfTsKZWw9ZnVuY3Rpb24obil7bi5hcGkuUygid2ViX3Jlc2V0X2xhY3Rfb25fbWVkaWFfYWN0aW9ucyIpJiZuLmFwaS51cGRhdGVMYXN0QWN0aXZlVGltZSgpfTsKeFA9ZnVuY3Rpb24obil7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5zZXRQb3NpdGlvblN0YXRlKG4pfTsKcGFNPWZ1bmN0aW9uKG4pe2lmKG49bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LmdldFBsYXllclJlc3BvbnNlKCk/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKWlmKG49Zy53KG4uY29tcG9zaXRlVmlkZW9PdmVybGF5LE5LeCksbj8uc291cmNlcz8ubGVuZ3RoKWZvcihsZXQgVyBvZiBuPy5zb3VyY2VzKWlmKFcuaXNBY3RpdmUpcmV0dXJuIFd9OwpnOT1mdW5jdGlvbihuKXtuLk49dm9pZCAwO24uVy5jbGVhcigpO24uYXBpLk5wKCJjb21wb3NpdGVlbWJhcmdvIiwxKX07ClhZPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tSZWxhdGl2ZVBvc2l0aW9uPy51dGNUaW1lTXMpLzFFMztsZXQgYj1XK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSx2PWBjb21wb3NpdGVfZW1iYXJnb18ke1d9YDtpZihELm9uRW50ZXIpe2xldCBrPUQub25FbnRlci5maWx0ZXIobi5WKTtrLmxlbmd0aCYmKG4uVy5zZXQodixrKSxuLmFwaS5hZGRVdGNDdWVSYW5nZSh2LFcsYiwiY29tcG9zaXRlZW1iYXJnbyIsITEpKX19fTsKSDR0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPy5pZCE9PVcuaWQmJihuLmFwaS5xVyghMCksbi5XLmhhcyhXLmlkKSkpe3ZhciBEPW4uVy5nZXQoVy5pZCksYj1uLmFwaS5nZXRWaWRlb0RhdGEoKTtmb3IobGV0IHYgb2YgRClEPXYuY29tcG9zaXRlRW1iYXJnbz8uZW1iYXJnb1N0YXR1c1Rva2VuLGIucFIhPT1EJiYoYi5wUj1ELG4uYXBpLm5DKCkpLFlhVShuLFcpfX07CmZwaT1mdW5jdGlvbihuLFcpe2lmKG4uTj8uaWQ9PT1XLmlkJiYobi5hcGkucVcoITEpLG4uVy5oYXMoVy5pZCkpKXtpZihXPW4uYXBpLmdldFZpZGVvRGF0YSgpKVcucFI9dm9pZCAwO24uYXBpLm5DKCk7WWFVKG4pfX07CkpQTT1mdW5jdGlvbihuLFcpe24uY29tcG9zaXRlVmlkZW9TdGF0ZSE9PW51bGwmJihXLnBsYXliYWNrU3RhdGV8fChXLnBsYXliYWNrU3RhdGU9e30pLFcucGxheWJhY2tTdGF0ZS5jb21wb3NpdGVWaWRlb1N0YXRlPW4uY29tcG9zaXRlVmlkZW9TdGF0ZSl9OwpJcEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uYXBpLmdldFZpZGVvRGF0YSh7dm86ITF9KTtiPy5VKCJhdHJrY2hnIix7aWQ6VyxtOkR9KTtpZihiJiYhYi5JTSgpKXtEPW4uYXBpLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7Zm9yKGxldCB2IG9mIEQpaWYodi5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Vyl7bi5hcGkuRygpLkhKPVc7YnJlYWt9fX07ClNhTT1mdW5jdGlvbihuLFcpe1chPT1uLksmJihuLks9VyxuLkouSigpLFcmJihuLkouTk4obi5hcGksIm1vZHVsZWNyZWF0ZWQiLEQ9Pnt2YXIgYj1wYU0obik7RD09PSJjYXB0aW9ucyImJmI/LnRvcExlZnRDb3JuZXJYIT09dm9pZCAwJiZiPy50b3BMZWZ0Q29ybmVyWSE9PXZvaWQgMCYmYj8ud2lkdGghPT12b2lkIDAmJmI/LmhlaWdodCE9PXZvaWQgMCYmbi5hcGkuVG4oe3RvcDpiLnRvcExlZnRDb3JuZXJZLHJpZ2h0OjEtYi50b3BMZWZ0Q29ybmVyWC1iLndpZHRoLGJvdHRvbToxLWIudG9wTGVmdENvcm5lclktYi5oZWlnaHQsbGVmdDpiLnRvcExlZnRDb3JuZXJYfSl9KSxuLkouTk4obi5hcGksZy5veSgiY29tcG9zaXRlZW1iYXJnbyIpLEQ9PntINHQobixEKX0pLG4uSi5OTihuLmFwaSxnLmR2KCJjb21wb3NpdGVlbWJhcmdvIiksRD0+e2ZwaShuLEQpfSksbi5KLk5OKG4uYXBpLCJoZWFydGJlYXRSZXF1ZXN0IixEPT57SlBNKG4sRCl9KSxuLkouTk4obi5hcGksImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiLAooRCxiKT0+e0lwQyhuLEQsYil9KSxuLkouTk4obi5hcGksIm9uUGxheWJhY2tBdWRpb0NoYW5nZSIsKCk9PntuLmFwaS5uQygpfSkpKX07CllhVT1mdW5jdGlvbihuLFcpe24uTj8uaWQhPT1XPy5pZCYmKG4uTiYmKG4uVy5kZWxldGUobi5OLmlkKSxuLmFwaS5VTyhbbi5OXSwxKSksbi5OPVcpfTsKQVAyPWZ1bmN0aW9uKG4pe249bj8ucXVhbGl0eURldGFpbHN8fFtdO3JldHVybiBnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKT9uOm4ucmVkdWNlKChXLHtrZXk6RCx2YWx1ZTpifSk9PntEJiZiJiYoV1tEXT1iKTtyZXR1cm4gV30se30pfTsKbWdoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVc/MTU2NTk1OjE1MTg3NDtmb3IobGV0IGggb2Ygbil7dmFyIGs9aC52aWRlbztuPXtmb3JtYXRJZDpoLmlkLHF1YWxpdHlMYWJlbDprLnF1YWxpdHlMYWJlbCxxdWFsaXR5OmsucXVhbGl0eSxpc1BsYXlhYmxlOld9O2lmKGs9RFtrLnF1YWxpdHlMYWJlbF0pbi5wYXlnYXRlZFF1YWxpdHlEZXRhaWxzPXtwYXlnYXRlZEluZGljYXRvclRleHQ6ay5wYXlnYXRlZEluZGljYXRvclRleHQsZW5kcG9pbnQ6ay5lbmRwb2ludCx2ZVR5cGU6dix0cmFja2luZ1BhcmFtczprLnRyYWNraW5nUGFyYW1zfTtiLnB1c2gobil9cmV0dXJuIGJ9OwpPNEM9ZnVuY3Rpb24obil7cVQoKSYmKG4ubVE9bi5hcGkuZUcoKSxuLk49bmV3IFk2LG4uVz0yLG4ubVEuU2woInB0X3Bpc2giKSx3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz93aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+e0sxVShuKX0pOksxVShuKSl9OwpxVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuYW5kcm9pZCYmd2luZG93LmFuZHJvaWQud2VidmlldyYmd2luZG93LmFuZHJvaWQud2Vidmlldy5nZXRFeHBlcmltZW50YWxNZWRpYUludGVncml0eVRva2VuUHJvdmlkZXJ9OwpLMVU9ZnVuY3Rpb24obil7aWYocVQoKSl7bi5tUT1uLmFwaS5lRygpO24ubVEuU2woInB0X3BpcyIpO3RyeXt3aW5kb3cuYW5kcm9pZC53ZWJ2aWV3LmdldEV4cGVyaW1lbnRhbE1lZGlhSW50ZWdyaXR5VG9rZW5Qcm92aWRlcih7Y2xvdWRQcm9qZWN0TnVtYmVyOjg2ODYxODY3Njk1Mn0pLnRoZW4oVz0+e24uSj1XO24uTj8ucmVzb2x2ZSgpO24ubVEuU2woInB0X3BpZiIpfSkuY2F0Y2goVz0+e0dHKFcsInBsYXllcl9zdGFydCIpOwpuLm1RLlNsKCJwdF9waWUiKTtuLk4/LnJlamVjdChXKX0pfWNhdGNoKFcpe0dHKFcsInBsYXllcl9zdGFydF9jYXRjaCIpLG4uYXBpLlUoInBmZXMiLHt9KSxuLk4/LnJlamVjdChXKX19fTsKR0c9ZnVuY3Rpb24obixXKXtuLm1lc3NhZ2UmJmcuR3EoRXJyb3IoYCR7V31fJHtuLm1lc3NhZ2V9YCkpfTsKUGd4PWZ1bmN0aW9uKG4sVyl7aWYobi5KKXt2YXIgRD1XLnZpZGVvSWQ7bi5XPTM7bi5tUS5TbCgicHRfbXMiKTt0cnl7bi5KLnJlcXVlc3RUb2tlbihEKS50aGVuKGI9PntuLm1RLlNsKCJwdF9tZiIpO2lmKGI9Zy5kMShiKSlXLnpmPXtZdDpifX0pLmNhdGNoKGI9PntuLm1RLlNsKCJwdF9tZSIpOwpHRyhiLCJwbGF5ZXJfZ2VuZXJhdGUiKTtuLmhhbmRsZUVycm9yKGIsVyl9KX1jYXRjaChiKXtHRyhiLCJwbGF5ZXJfZ2VuZXJhdGVfY2F0Y2giKSxuLmhhbmRsZUVycm9yKGIsVyl9fX07Clo0eD1mdW5jdGlvbihuLFcpe2cueDYobi5hcGkuRygpKSYmKFc/bi5qLnNob3coKTpuLmouaGlkZSgpKX07CnlQaj1mdW5jdGlvbihuKXtuLlg8bi5KLmxlbmd0aD9VZzIobik6KG4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KDEpLk4oMikmJihuLlY9ITApLG4uTj0hMCxuLlg9MCxuLkoubGVuZ3RoPTAsbi5hcGkuWDkoKSxuLk49ITEpfTsKRUJDPWZ1bmN0aW9uKG4pe3ZhciB7aW50ZXJzdGl0aWFsczpXfT1uLmFwaS5nZXRWaWRlb0RhdGEoKSxEPVtdO2ZvcihsZXQgTCBvZiBXKXtXPUQ7dmFyIGI9Vy5wdXNoLHY9bixrPUwucGxheWVyVmFycyxoPUwua3EseD1MLnRpbWU7bGV0IGU9YHl0by0ke3YuWSsrfWA7eD1uZXcgZy5sNSh4LHgse2lkOmUscHJpb3JpdHk6NyxuYW1lc3BhY2U6Inl0byJ9KTt2LktbZV09e3BsYXllclZhcnM6ayxwbGF5ZXJUeXBlOmh9O2IuY2FsbChXLHgpO1c9bi5hcGkuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KTtXPU9iamVjdC5hc3NpZ24oe29hdXRoX3Rva2VuOlcub2F1dGhUb2tlbn0sTC5wbGF5ZXJWYXJzKTtuLmFwaS5wcmVsb2FkVmlkZW9CeVBsYXllclZhcnMoVyxMLmtxKX1uLmFwaS5naChELDEpfTsKVWcyPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSltuLlhdO2lmKFcpe3ZhciB7cGxheWVyVmFyczpELHBsYXllclR5cGU6Yn09bi5LW1ddO24uTj0hMDtuLlgrKztXPW4uYXBpLmdldFZpZGVvRGF0YSh7cGxheWVyVHlwZToxfSk7Vz1PYmplY3QuYXNzaWduKHtvYXV0aF90b2tlbjpXLm9hdXRoVG9rZW59LEQpO24uYXBpLmxvYWRWaWRlb0J5UGxheWVyVmFycyhXLCEwLGIsITApO24uTj0hMX19OwpvQnI9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7aWYoYXdhaXQgaTRVKG4pKXRyeXtsZXQgdj17a2V5Om5mKFcsInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSIpLHZpZGVvSWQ6VyxsYXN0UGxheWJhY2tQb3NpdGlvblNlY29uZHM6RC50b1N0cmluZygpLGxhc3RVcGRhdGVkQ2xpZW50VGltZXN0YW1wTXM6Yi50b1N0cmluZygpfTthd2FpdCBweXQobi5OLHYpO24uSiE9PVcmJihhd2FpdCB1angobiksbi5KPVcpfWNhdGNoKHYpe24uaGFuZGxlRXJyb3IoIkZhaWxlZCB0byBhZGQgb3IgdXBkYXRlIHBsYXliYWNrIHBvc2l0aW9uIix2KX1lbHNlIG4uYXBpLlUoInZwcGUiLHtwdToiYXUifSl9OwpkZ3c9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvSWQ7aWYoVyl7dmFyIEQ9bi5hcGkuZ2V0Q3VycmVudFRpbWUoKSxiPURhdGUubm93KCk7b0JyKG4sVyxELGIpfX07Cmk0VT1hc3luYyBmdW5jdGlvbihuKXtpZighbi5OKXt0NXx8KHQ1PUk5MigpKTtsZXQgVz1hd2FpdCB0NTtpZighVylyZXR1cm4hMTtuLk49V31yZXR1cm4hMH07CnVqeD1hc3luYyBmdW5jdGlvbihuKXtpZihuLk4pdHJ5e3ZhciBXPWF3YWl0IFVlKG4uTiwidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IiksRD1hd2FpdCBVZShuLk4sIm1haW5WaWRlb0VudGl0eSIpO2xldCBiPW5ldyBTZXQoRC5tYXAoaD0+aC52aWRlb0lkKSksdj1XLmZpbHRlcihoPT4hYi5oYXMoaC52aWRlb0lkKSk7CnYuc29ydCgoaCx4KT0+TnVtYmVyKHgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcyktTnVtYmVyKGgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcykpOwpsZXQgaz1EYXRlLm5vdygpLTg2NEU1O1c9W107Zm9yKEQ9MDtEPHYubGVuZ3RoO0QrKyl7bGV0IGg9dltEXTsoRD49bi5XfHxOdW1iZXIoaC5sYXN0VXBkYXRlZENsaWVudFRpbWVzdGFtcE1zKTxrKSYmaC5rZXkmJlcucHVzaChoLmtleSl9Vy5sZW5ndGg+MCYmKG4uYXBpLlUoInZwcGUiLHtleHA6Vy5sZW5ndGh9KSxhd2FpdCBIaHcobi5OLFcpKX1jYXRjaChiKXtuLmhhbmRsZUVycm9yKCJGYWlsZWQgdG8gZXhwaXJlIHBsYXliYWNrIHBvc2l0aW9uIixiKX19Owp6TFo9ZnVuY3Rpb24obil7L1teYS16QS1aMC05Oy4hXy1dLy50ZXN0KG4pJiYobj1uLnJlcGxhY2UoL1srXS9nLCItIikucmVwbGFjZSgvW15hLXpBLVowLTk7LiFfLV0vZywiXyIpKTtyZXR1cm4gbn07CmxwMj1mdW5jdGlvbihuKXtyZXR1cm4gd2luZG93LlByb2ZpbGVyJiZuZXcgd2luZG93LlByb2ZpbGVyKG4pfTsKalVVPWZ1bmN0aW9uKG4pe3ZhciBXPW4uc2FtcGxlSW50ZXJ2YWwsRD1uLm1heEJ1ZmZlclNpemU7aWYoIW4ucU4oKSYmVz4wJiZEPjAmJiFuLk4mJm4uVzwxRTcpdHJ5e24uWD1scDIoe3NhbXBsZUludGVydmFsOlcsbWF4QnVmZmVyU2l6ZTpEfSksbi5YPy5hZGRFdmVudExpc3RlbmVyKCJzYW1wbGVidWZmZXJmdWxsIixhc3luYygpPT57YXdhaXQgVEt3KG4pO2pVVShuKX0pfWNhdGNoKGIpe24uTj16TFooYi5tZXNzYWdlKSxuLkooKX19OwpUS3c9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2xldCBXPWF3YWl0IG4uWD8uc3RvcCgpO1cmJm4ubG9nVHJhY2UoVyl9Y2F0Y2goVyl7bi5OPXpMWihXLm1lc3NhZ2UpLG4uSigpfX07ClJMdD1mdW5jdGlvbihuLFcsRCl7aWYoRCl7dmFyIGI9IiI7Q2d0KG4sVykmJihiPVcsbi5hcGkuRygpLkhKPVcpO2ImJkJLQyhuLGIpJiYodnRDKG4uYXBpLGIpLFNrKGZFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKT8uVigpKSx2PT57dmFyIGs9YjtGMXcodikhPT1rJiZ3YVMobixNaWkodikse3N0cmluZ1ZhbHVlOmt9KX0pKX19OwpRVVo9ZnVuY3Rpb24obil7QXMoKT8uc2l6ZSYmU2soZkUobi5hcGkuRygpLG4uYXBpLmdldFZpZGVvRGF0YSgpPy5WKCkpLFc9PnsoVz1GMXcoVykpJiZCS0MobixXKSYmKG4uYXBpLkcoKS5ISj1XKX0pfTsKQ2d0PWZ1bmN0aW9uKG4sVyl7bj1uLmFwaS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2ZvcihsZXQgRCBvZiBuKWlmKEQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PVcpcmV0dXJuIEQ7cmV0dXJuIG51bGx9OwpCS0M9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zcGxpdCgiLiIpWzBdIT09IiImJm4uYXBpLmdldFZpZGVvRGF0YSgpPy5JTSgpfTsKRjF3PWZ1bmN0aW9uKG4pe3tuPU1paShuKTtsZXQgVz1BcygpO249Vz9XLmdldChuKTp2b2lkIDB9cmV0dXJuIG4mJm4uc3RyaW5nVmFsdWU/bi5zdHJpbmdWYWx1ZToiIn07CndhUz1mdW5jdGlvbihuLFcsRCl7VmliKFt7c2V0dGluZ0l0ZW1JZDpXLHNldHRpbmdPcHRpb25WYWx1ZTpEfV0pO1NrKG4uWW8oKSxiPT57QkdNKGIsVyxEKX0pfTsKTWlpPWZ1bmN0aW9uKG4pe3ZhciBXPSg0ODQpLnRvU3RyaW5nKCk7biYmKFc9KDQ4MykudG9TdHJpbmcoKSk7cmV0dXJuIFd9OwpWaWI9ZnVuY3Rpb24obil7dmFyIFc9QXMoKTtXfHwoVz1uZXcgTWFwKTtmb3IobGV0IEQgb2YgbilXLnNldChELnNldHRpbmdJdGVtSWQsRC5zZXR0aW5nT3B0aW9uVmFsdWUpO249SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKFcpKTtnLlBCKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIsbiwyNTkyRTMpfTsKcjk9ZnVuY3Rpb24obil7bi5qPW51bGw7bi5LPW51bGw7bi5OTigkUCgib3ZlciIpLG4uWjEpO24uTk4oInRvdWNoc3RhcnQiLG4uWSk7bi5OJiZuLk5OKCRQKCJkb3duIiksbi5WUSl9Owpzcj1mdW5jdGlvbihuKXtuLlguSighbi5OKX07CiRQPWZ1bmN0aW9uKG4pe3JldHVybiB3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQ/YE1TUG9pbnRlciR7bi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke24uc3Vic3RyaW5nKDEpfWA6YG1vdXNlJHtufWB9OwpOVD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmY1BiP2cuSksobil8fGRvY3VtZW50OmRvY3VtZW50fTsKYXB4PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEPTA7RDxXLmNoYW5nZWRUb3VjaGVzLmxlbmd0aDtEKyspe2xldCBiPVcuY2hhbmdlZFRvdWNoZXNbRF07aWYoYi5pZGVudGlmaWVyPT09bi5LKXJldHVybiBifXJldHVybiBudWxsfTsKblZyPWZ1bmN0aW9uKG4pe2NQYj1ufTsKV3F4PWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVyl7Vz1OdW1iZXIoYi5wbGF5YmFja1JlbGF0aXZlUG9zaXRpb24/LnV0Y1RpbWVNcykvMUUzO2xldCB2PVcrTnVtYmVyKGIuZHVyYXRpb24/LnNlY29uZHMpLGs9YHN0YXRpb25zOiR7RH06JHtXfWA7bi5KLmhhcyhrKXx8KG4uSi5hZGQoayksYi5vbkVudGVyJiYobi5OW2tdPWIub25FbnRlciksbi5hcGkuYWRkVXRjQ3VlUmFuZ2UoayxXLHYsRCwhMSkpfX07CkpKPWZ1bmN0aW9uKG4pe3ZhciBXPS9jb2RlY3M9IihbXiJdKikiLy5leGVjKG4ubWltZVR5cGUpO3JldHVybiBXJiZXWzFdP1dbMV0rIiAoIituLml0YWcrIikiOm4uaXRhZ307CnBhPWZ1bmN0aW9uKG4sVyl7aWYobi5oZWlnaHRQeD09PS0xKXt2YXIgRD1udWxsO3RyeXtEPWcuekYoIkNBTlZBUyIpLG4uVz1ELmdldENvbnRleHQoIjJkIil9Y2F0Y2goaCl7fWlmKG4uVyl7dmFyIGI9bi5OKm4uc2FtcGxlQ291bnQ7bi5qPUQ7bi5qLndpZHRoPWI7bi5qLnN0eWxlLndpZHRoPWAke2J9cHhgO24uZWxlbWVudC5hcHBlbmRDaGlsZChuLmopfWVsc2UgZm9yKG4uc2FtcGxlQ291bnQ9TWF0aC5mbG9vcihuLnNhbXBsZUNvdW50LzQpLG4uTio9NCxEPTA7RDxuLnNhbXBsZUNvdW50O0QrKyliPWcuekYoIlNQQU4iKSxiLnN0eWxlLndpZHRoPWAke24uTn1weGAsYi5zdHlsZS5sZWZ0PWAke24uTipEfXB4YCxuLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYil9RD1uLmVsZW1lbnQuY2xpZW50SGVpZ2h0fHwyNDtEIT09bi5oZWlnaHRQeCYmKG4uaGVpZ2h0UHg9RCxuLlcmJihEPSh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk+MT8yOjEsbi5qLmhlaWdodD1uLmhlaWdodFB4KgpELG4uai5zdHlsZS5oZWlnaHQ9YCR7bi5oZWlnaHRQeH1weGAsbi5XLnNjYWxlKDEsRCkpKTtmb3IodmFyIHYgb2YgVyl7Vz1uO3ZhciBrPW4uaW5kZXg7Zm9yKEQ9MDtEKzI8Vy5WLmxlbmd0aCYmVy5WW0QrMV08djspRCsrO2I9TWF0aC5taW4oMSwodi1XLlZbRF0pLyhXLlZbRCsxXS1XLlZbRF0pKTtpZihXLlcpVy5XLmZpbGxTdHlsZT1XLktbRF0sVy5XLmZpbGxSZWN0KGsqVy5OLDAsVy5OLFcuaGVpZ2h0UHgpLFcuVy5maWxsU3R5bGU9Vy5LW0QrMV0sVy5XLmZpbGxSZWN0KGsqVy5OLFcuaGVpZ2h0UHgqKDEtYiksVy5OLFcuaGVpZ2h0UHgpO2Vsc2V7az1XLmVsZW1lbnQuY2hpbGRyZW5ba107bGV0IGg9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7Yj1NYXRoLm1pbihXLmhlaWdodFB4LE1hdGgucm91bmQoVy5oZWlnaHRQeCpiKmgpL2gpfHwwO2suc3R5bGUuaGVpZ2h0PWAke2J9cHhgO2suc3R5bGUuYmFja2dyb3VuZENvbG9yPVcuS1tEKzFdO2suc3R5bGUuYm9yZGVyVG9wPQpgc29saWQgJHtXLmhlaWdodFB4LWJ9cHggJHtXLktbRF19YH1uLmluZGV4PShuLmluZGV4KzEpJW4uc2FtcGxlQ291bnR9dj1uLmluZGV4O24uVz9uLlcuY2xlYXJSZWN0KHYqbi5OLDAsbi5OLG4uaGVpZ2h0UHgpOihuPW4uZWxlbWVudC5jaGlsZHJlblt2XSxuLnN0eWxlLmhlaWdodD0iMHB4IixuLnN0eWxlLmJvcmRlclRvcD0iIil9OwpiQng9ZnVuY3Rpb24obixXKXt2YXIgRD0hIW4uTj8uRTUoKTtuLk58fChuLk49bmV3IERRTShuLmFwaSksZy51KG4sbi5OKSxnLnJ2KG4uYXBpLG4uTi5lbGVtZW50LDQpKTtuLk4uTUwoVyk7dmFyIGI9R3Uobi5hcGkuSjUoKSk7YiYmYi5sb2FkZWQmJkQhPT1XJiZiLm5HKCk7VyYmbi5hcGkuVSgic2ZuIix7fSwhMCl9Owp2VjI9ZnVuY3Rpb24obixXKXtpZihuLlc9PT12b2lkIDApcmV0dXJuITE7aWYoVy5zZWVrRGlyZWN0aW9uPT09IlRJTUVMWV9BQ1RJT05fVFJJR0dFUl9ESVJFQ1RJT05fRk9SV0FSRCImJk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzKXtpZihXPW4uVz09PTcyKW4uWD0iVElNRUxZX0FDVElPTl9UUklHR0VSX1NPVVJDRV9LRVlCT0FSRF9GT1JXQVJEX1NFRUtfRklWRV9TRUNPTkRTIjtyZXR1cm4gV31pZihXLnNlZWtEaXJlY3Rpb249PT0iVElNRUxZX0FDVElPTl9UUklHR0VSX0RJUkVDVElPTl9GT1JXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQpe2lmKFc9bi5XPT09NzQpbi5YPSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfU09VUkNFX0tFWUJPQVJEX0ZPUldBUkRfU0VFS19URU5fU0VDT05EUyI7cmV0dXJuIFd9cmV0dXJuIFcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmCk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzP24uVz09PTcxOlcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQ/bi5XPT09NzM6ITF9Owprd3c9ZnVuY3Rpb24obil7bi50aW1lbHlBY3Rpb25zJiYobi5qPW4udGltZWx5QWN0aW9ucy5yZWR1Y2UoKFcsRCk9PntpZihELmN1ZVJhbmdlSWQ9PT12b2lkIDApcmV0dXJuIFc7V1tELmN1ZVJhbmdlSWRdPTA7cmV0dXJuIFd9LHt9KSl9OwpZUD1mdW5jdGlvbihuKXtuLmNKJiZjbGVhclRpbWVvdXQobi5jSik7bi5jSj12b2lkIDA7bi5PPSExfTsKZmE9ZnVuY3Rpb24obil7aWYobi5OIT09dm9pZCAwKXt2YXIgVz0oVz1IOChuLG4uTikpJiZXLm9uQ3VlUmFuZ2VFbnRlcj9nLk40KFcub25DdWVSYW5nZUVudGVyKTp2b2lkIDA7dmFyIEQ9SDgobixuLk4pO2E6aWYoRCYmRC5hZGRpdGlvbmFsVHJpZ2dlcil7Zm9yKGIgb2YgRC5hZGRpdGlvbmFsVHJpZ2dlcilpZihiLnR5cGUmJigwLG4uYmRbYi50eXBlXSk/LihiLmFyZ3M/P3t9KSl7dmFyIGI9ITA7YnJlYWsgYX1iPSExfWVsc2UgYj0hMDtXJiZiJiYoZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsVyksaGJqKG4sRCksbi5qW24uTl0hPT12b2lkIDAmJm4ualtuLk5dKyssbi5PPSEwKX19OwpIOD1mdW5jdGlvbihuLFcpe2lmKG4udGltZWx5QWN0aW9ucylmb3IobGV0IEQgb2Ygbi50aW1lbHlBY3Rpb25zKWlmKEQuY3VlUmFuZ2VJZD09PVcpcmV0dXJuIER9Owp4UXc9ZnVuY3Rpb24obixXKXtpZigobj1IOChuLFcpKSYmbi5vbkN1ZVJhbmdlRXhpdClyZXR1cm4gZy5ONChuLm9uQ3VlUmFuZ2VFeGl0KX07Cmhiaj1mdW5jdGlvbihuLFcpe3ZhciBEPU51bWJlcihXPy5tYXhWaXNpYmxlRHVyYXRpb25NaWxsaXNlY29uZHMpO0QmJihZUChuKSxuLmNKPXNldFRpbWVvdXQoKCk9PntpZihuLk4hPT12b2lkIDAmJlc/LmN1ZVJhbmdlSWQ9PT1uLk4pe24uTz0hMTtuLlg9dm9pZCAwO3ZhciBiPXhRdyhuLG4uTik7YiYmZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsYil9fSxEKSl9Owp2YXIgZmFpPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtyZXR1cm4gaXBbSVsxMF1dKHRoaXMsNCw1ODg5LG4sVyxELGIsdixrKX07CmdWaD1mdW5jdGlvbihuKXtpZihuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSlpZihuPWcudyhuLnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnRpbWVseUFjdGlvbnNPdmVybGF5Vmlld01vZGVsLExxQyksbj8udGltZWx5QWN0aW9ucylyZXR1cm4gbj8udGltZWx5QWN0aW9ucy5tYXAoVz0+Zy53KFcsZWJyKSkuZmlsdGVyKFc9PiEhVyl9OwpKNT1mdW5jdGlvbihuKXtuLk4hPT1udWxsJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUjA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47KG48PDEmMTUpPT0yJiZEW0lbMjVdXSgpO2lmKChuLTh8MTcpPG4mJihuLTZeMjIpPj1uKXt2YXIgaD1EW2JdLHg9aFtJW2teNzM1NF1dKElba143MzA5XSk7eD4wP0VjKGteNzM1NSxrXjEyOTAsdixoW0lba143MzU5XV0oMCx4KSxoW0lba143MzU5XV0oeCsxKSk6aCYmKHZbaF09SVtrXjczNTddKTt2YXIgTD1bXX1pZigobiYyNyk9PW4pe2lmKCEoZ1goRFtJW2teNzUzMl1dKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0OTBdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0NzZdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc1MzNdKSkpdGhyb3cgbmV3IGcuUXgoSVtrXjc0ODBdLERbSVtrXjc1MzJdXSk7aD1scihEW0lba143NTMyXV0pO0RbSVtrXjc1MjddXT1oW0lba143NTQwXV07RFtJW2teNzUxNF1dPWhbSVsxXV0rKGhbSVtrXjc1MDhdXSE9bnVsbD9gOiR7aFtJW2teNzUwOF1dfWA6Cklba143NTI4XSk7eD1oW0lba143NTMyXV07eFtJW2teNzUxOF1dKElba143NTM4XSk/KERbSVtrXjc1MjFdXT1JW2teNzUzOF0seD14W0lba143NTMwXV0oa143NTM5KSk6eFtJW2teNzUxOF1dKElba143NTIzXSk/KERbSVtrXjc1MjFdXT1JW2teNzUyM10seD14W0lba143NTMwXV0oa143NTM2KSk6eFtJW2teNzUxOF1dKElba143NDc1XSk/KHg9aXAoa143NTI5LGteODgwLHgsRCkseD14WzBdKTooRFtJW2teNzUyMV1dPXgseD1JW2teNzUyOF0pO3ZhciBlPURbSVsxXV07RFtJWzFdXT1pcChrXjc1MzMsa143NzcxLHgpO09iamVjdFtJW2teNzUzOV1dKERbSVsxXV0sZzcoMixrXjc1MDAsaFtJW2teNzUxNF1dW0lbMF1dKCkpKTtPYmplY3RbSVtrXjc1MzldXShEW0lbMV1dLGUpO0RbSVsxXV1bSVtrXjc0NzNdXT09PUlba143NTAxXSYmKGRlbGV0ZSBEW0lbMV1dW0lba143NDczXV0sRFtJW2teNzUyMV1dKz1JW2teNzQ4N10pO0RbSVtrXjc1MzJdXT1JW2teNzUyOF07RFtJW2teNzUyMF1dPQpJW2teNzUyOF07RFtJW2teNzU0MF1dJiYoaD1YRChrXjc0OTIsa14zMjg1LEQpKTtMPVtdfShuJjk5KT09biYmKGVYKGteMzQ4NSxrXjQ1NDIsRCksTD1EW0lba14zNTExXV0pO24rMyYxNXx8KEw9ZW5jb2RlVVJJQ29tcG9uZW50KEQpKTtyZXR1cm4gTH07ClhiaD1mdW5jdGlvbihuKXtKNShuKTtuLk49c2V0VGltZW91dCgoKT0+e24uaGlkZSgpfSwzRTMpfTsKSUc9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuVUooKTtpZihXKXtsZXQgRD1uLmFwaS5nZXRQbGF5ZXJTaXplKCk7Vy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke24uTipELndpZHRoKigxLW4uc2NhbGUpfXB4LCAke24uSipELmhlaWdodCooMS1uLnNjYWxlKX1weCkgc2NhbGUoJHtuLnNjYWxlfSlgO1cuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSIwIDAiO1c9bi5pbmRpY2F0b3I7Vy5XLnRleHRDb250ZW50PWAke051bWJlcihuLnNjYWxlLnRvRml4ZWQoMSkpfXhgO1cuTj09PW51bGwmJlhiaChXKTtuLnNjYWxlPjE/bi5pbmRpY2F0b3Iuc2hvdygpOm4uaW5kaWNhdG9yLmhpZGUoKTtXPW4uc2NhbGU+MT8iWk9PTV9TVEFURV9GUkVFIjoiWk9PTV9TVEFURV9PUklHSU5BTCI7VyE9PW4uem9vbVN0YXRlJiYobi56b29tU3RhdGU9VyxnLnpVKCJ3YXRjaFpvb21TdGF0ZUNoYW5nZSIse3pvb21TdGF0ZTpuLnpvb21TdGF0ZX0pKX19OwpxSDE9ZnVuY3Rpb24obil7bj1uLldEKCk7aWYoIW4pcmV0dXJuITE7bj1nLm9FKG4pLmV4cHx8IiI7cmV0dXJuIG4uaW5jbHVkZXMoInhwdiIpfHxuLmluY2x1ZGVzKCJ4cGUiKX07Ckd3VT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2Ygbi5OKCEwKSlpZihxSDEoVykpcmV0dXJuITA7cmV0dXJuITF9Owp0THg9ZnVuY3Rpb24obixXKXtmb3IobGV0IGIgb2Ygbi5OKCEwKSlpZihxSDEoYikpe249Yjt2YXIgRD17cG90YzoiMSIscG90Old9O24udXJsJiYobi51cmw9Zy56ZChuLnVybCxEKSl9fTsKJFF4PWFzeW5jIGZ1bmN0aW9uKG4pe3RyeXthd2FpdCBufWNhdGNoKFcpe319OwpybU09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHF3LEQ9e1siWC1Hb29nLUFwaS1LZXkiXToiQUl6YVN5RHlUNVcwSmg0OUYzMFBxcXR5ZmRmN3BETEZLTEpvQW53In07cmV0dXJuIG5ldyBmVihXLG4sKCk9PkQpfTsKc0xiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVEgobil9OwpOYmI9ZnVuY3Rpb24obil7bi5KJiYobi5YPW5ldyBZNixuLmoucHJvbWlzZS50aGVuKCgpPT57bi5tUS5TbCgicG90X2lmIik7U2wobil9KSl9OwpIQnc9ZnVuY3Rpb24obil7dmFyIFc9KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpfHxuLlMoImh0bWw1X2dlbmVyYXRlX2NvbnRlbnRfcG9fdG9rZW4iKSkmJiFuLnVzZUxpdmluZ1Jvb21Qb1Rva2VuO3RyeXtpZihuLlMoImh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlIil8fG4uYXBpLkcoKS5adCgpLk4uUVEocGJNKSlZSGkobik7ZWxzZSBpZihXKXtuLm1RLlNsKCJwb3RfaXNjIik7bGV0IEQ9Zy5kTShuLmFwaS5HKCkuZXhwZXJpbWVudHMsImh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXMiKTtEPyhBNShuKSxnLm4kKCgpPT57bUEobil9LEQpKTpuLlMoImh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iIik/KEE1KG4pLGcuY0IoZy5EeSgpLCgpPT57bUEobil9KSk6bUEobil9fWNhdGNoKEQpe0QgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShEKX19OwpZSGk9YXN5bmMgZnVuY3Rpb24obil7S2Eobiwic3dwb19pIik7QTUobik7U2wobik7dmFyIFc9YXdhaXQgZy5NaChnLkQ2KCkpO0thKG4sInN3cG9fY28iKTtXPWF3YWl0IFp0WihXKTtuLlMoImh0bWw1X3dlYl9wb190b2tlbl9kaXNhYmxlX2NhY2hpbmciKXx8Vy55aCgxNTApO24uSj1XO0thKG4sInN3cG9fY2MiKTskUXgoVy5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCk7S2Eobiwic3dwb19yZSIpfSk7CmcubiQoKCk9PnttQShuKTtLYShuLCJzd3BvX3NpIil9LDApfTsKQTU9ZnVuY3Rpb24obil7bi5XfHwobi5XPW5XKCkpfTsKbUE9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuRygpO24ubVEuU2woInBvdF9pc3QiKTtuLkp8fGZNMShuKTtuLlMoImh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW4iKXx8KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpJiYoU2wobiksTmJiKG4pKSxXPWcuZE0oVy5leHBlcmltZW50cywiaHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zIil8fDAsVz4wJiYobi5ZPVcwKCgpPT57U2wobil9LFcpKSxuLks9ITApfTsKSm14PWZ1bmN0aW9uKG4pe3ZhciBXPWcuWWgobi5leHBlcmltZW50cywiaHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5Iik7cmV0dXJuIFc/VzpnLms2KG4pPyJaMWVsTmtBS0xwU1Izb1BPVU1TTiI6Ik80M3owZHBqaGdYMjBTQ3g0S0FvIn07CkthPWZ1bmN0aW9uKG4sVyl7bi5TKCJodG1sNV93ZWJwb19iZ2VfY3RtcCIpJiZuLmFwaS5VKFcse2h3cG86ISFuLkosaHdwb3I6bi5OfSl9OwpTbD1hc3luYyBmdW5jdGlvbihuKXtpZihuLlMoImh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW4iKSYmIW4udXNlTGl2aW5nUm9vbVBvVG9rZW4pe3ZhciBXPW4uYXBpLkcoKSxEPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKXx8Zy5BcigiVklTSVRPUl9EQVRBIik7RD1XLllyP1cuZGF0YXN5bmNJZDpEO0Q9Zy5ZaChXLmV4cGVyaW1lbnRzLCJodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlbiIpfHxXLmxpdmluZ1Jvb21Qb1Rva2VuSWR8fEQ7Vy5qVz1PcihuLEQpfX07CmZNMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5HKCksRD1KbXgoVyk7RD1ybU0oRCk7dmFyIGI9RC5aai5iaW5kKEQpO0QuWmo9YXN5bmMgaz0+e2s9YXdhaXQgYihrKTtuLmFwaS5VKCJpdHIiLHt9KTtyZXR1cm4ga307CnRyeXt2YXIgdj1zTGIoe1VnOkQsa2Q6e21heEF0dGVtcHRzOjV9LHgzOntWajoiQ0xFbiIsZGlzYWJsZTpXLmV4cGVyaW1lbnRzLkVxKCJodG1sNV93ZWJfcG9fZGlzYWJsZV9yZW1vdGVfbG9nZ2luZyIpLEpwOlRwYihXLmV4cGVyaW1lbnRzKSxybzpoPT57dmFyIHg9SU0yLmdldChoKTt4fHwoeD1uZXcgU0hpKGgpLHg9bmV3IGhxKHgpLElNMi5zZXQoaCx4KSk7cmV0dXJuIHh9LApSaTpuLlMoIndwb19kaXNfbGZkbXMiKT8wOjFFM30sdDY6Zy5HcX0pO2xldCBrPW5ldyBBbXQoe08xOnYsVWc6RCxvbkVycm9yOmcuR3F9KTskUXgoay5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCl9KTsKbi5TKCJodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nIil8fGsueWgoMTUwKTtnLnUobix2KTtnLnUobixrKTtuLko9a31jYXRjaChrKXtnLkdxKGspLHY/LmRpc3Bvc2UoKX19OwpPcj1mdW5jdGlvbihuLFcpe2lmKCFuLkope2lmKG4uVyl0cnl7cmV0dXJuIG4uVyhXKX1jYXRjaChEKXtnLkdxKEQpfXJldHVybiIifXRyeXtuLm1RLlNsKG4uTj8icG90X2NtcyI6InBvdF9jc21zIik7bGV0IEQ9e0dyOiEwLEVSOiEwLHdfOld9O24uUygiaHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZyIpfHwoRC5oRz17YW06VyxBQjohMCxyMzohMH0pO2xldCBiPW4uSi5aUihEKTtuLm1RLlNsKG4uTj8icG90X2NtZiI6InBvdF9jc21mIik7bi5OJiYobi5YPy5yZXNvbHZlKCksbi5YPW51bGwsbi5WJiYobi5WPSExLG4uYXBpLmFwcC5NTigpLmpEKCExKSkpO3JldHVybiBifWNhdGNoKEQpe3JldHVybiBnLkdxKEQpLCIifX07Cktxcj1mdW5jdGlvbihuKXt2YXIgVz1nLnFqKCk7bi5KJiZnLnhvKFcse05IOlFXLFlMOm1RU30pfTsKZy5QOD1mdW5jdGlvbihuLFcsRCl7Zy5hTCgicGJzIixXPz8oMCxnLlIpKCksRD8/bi50aW1lck5hbWUpfTsKZy5PQk09ZnVuY3Rpb24obixXLEQpe3ZhciBiPWcuQ04oVy55USkmJiFXLnlRLlg7aWYoVy55US5lViYmKEZWKFcueVEpfHxXLnlRLlk9PT0ic2hvcnRzcGFnZSJ8fFcueVEuWT09PSJsZWFuYmFjayJ8fGIpJiYhbi5XKXtuLlc9ITA7bi5WPVcuY2xpZW50UGxheWJhY2tOb25jZTtnLkFyKCJUSU1JTkdfQUNUSU9OIil8fGcuU0goIlRJTUlOR19BQ1RJT04iLG4uQi5jc2lQYWdlVHlwZSk7bi5CLmNzaVNlcnZpY2VOYW1lJiZnLlNIKCJDU0lfU0VSVklDRV9OQU1FIixuLkIuY3NpU2VydmljZU5hbWUpO2lmKG4uTil7Yj1uLk4uZUcoKTtmb3IodmFyIHYgb2YgT2JqZWN0LmtleXMoYikpZy5hTCh2LGJbdl0sbi50aW1lck5hbWUpO3Y9UFYoQ0IpKG4uTi5Idik7Zy5ubCh2LG4udGltZXJOYW1lKTt2PW4uTjt2Lko9e307di5Idj17fX1nLm5sKHtwbGF5ZXJJbmZvOnt2aXNpYmlsaXR5U3RhdGU6UFYoakwpKCl9LHBsYXllclR5cGU6IkxBVEVOQ1lfUExBWUVSX0hUTUw1In0sbi50aW1lck5hbWUpOwpuLmohPT1XLmNsaWVudFBsYXliYWNrTm9uY2V8fE51bWJlci5pc05hTihuLkopfHwoZy52UCgiX3N0YXJ0IixuLnRpbWVyTmFtZSk/RD1QVihvTCkoIl9zdGFydCIsbi50aW1lck5hbWUpK24uSjpnLkdxKG5ldyBnLlF4KCJhdHRlbXB0ZWQgdG8gbG9nIGdhcGxlc3MgcGJzIGJlZm9yZSBDU0kgdGltZWxpbmUgc3RhcnRlZCIse2NwbjpXLmNsaWVudFBsYXliYWNrTm9uY2V9KSkpOyFEfHxnLnZQKCJwYnMiLG4udGltZXJOYW1lKXx8Vy5HU3x8Zy5QOChuLEQpfX07ClAkQz1mdW5jdGlvbihuKXtXUCgpO2NiKCJ3YXRjaCIsWyJwYnMiLCJwYnUiXSk7bi50aW1lck5hbWU9IiJ9OwpaQmo9ZnVuY3Rpb24obil7aWYobi5OKXt2YXIgVz1uLk47Vy5KPXt9O1cuSHY9e319bi5XPSExO24uaj12b2lkIDA7bi5KPU5hTn07ClVRaT1mdW5jdGlvbihuLFcpe3ZhciBEPSExLGI9bi5xdWV1ZS5maW5kSW5kZXgodj0+di5ncz09PVcpOwpiPj0wJiYobi5xdWV1ZS5zcGxpY2UoYiwxKSxEPSEwLFcucU4oKXx8Vy51bnN1YnNjcmliZSgicmVxdWVzdGNvbXBsZXRlZCIsbi5XLG4pLG4uVShXLCJkZXFfcXVldWUiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO2I9bi5KLmZpbmRJbmRleCh2PT52LmdzPT09Vyk7CmI+PTAmJihuLkouc3BsaWNlKGIsMSksRD0hMCxXLnFOKCl8fFcudW5zdWJzY3JpYmUoInJlcXVlc3Rjb21wbGV0ZWQiLG4uVyxuKSxuLlUoVywiZGVxX3dhaXQiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO3JldHVybiBEfTsKeW1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLnF1ZXVlKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtmb3IobGV0IFcgb2Ygbi5KKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtuLnF1ZXVlPVtdO24uSj1bXX07CkVWYj1mdW5jdGlvbihuLFcpe24uVShXLCJyZXFfbG9hZCIse3RjcG46Vy5XTigpfHwibm9uZSIsdHlwZToicHJlIn0pO2lmKCFuLnF1ZXVlLnNvbWUoYj0+Yi5ncz09PVcpJiYhbi5KLnNvbWUoYj0+Yi5ncz09PVcpKXt2YXIgRD17Z3M6VywKc3RhcnRlZDohMX07bi5xdWV1ZS5sZW5ndGg8bi5wb2xpY3kuTj9uLnF1ZXVlLnB1c2goRCk6KG4uSi5wdXNoKEQpLG4uVShXLCJ3YWl0Iix7dGNwbjpXLldOKCl8fCJub25lIn0pKTtuLlcoKX19OwppQlM9ZnVuY3Rpb24obil7dmFyIFc9bi5OP24uTi5XTigpfHwibm9uZSI6Im5vbmUiLEQ9bi5xdWV1ZS5tYXAoYj0+Yi5ncy5XTigpfHwibm9uZSIpLmpvaW4oIiwiKTsKcmV0dXJue3BjcG46Vyx3czpuLkoubGVuZ3RoLGNwbnM6RH19OwpaVD1mdW5jdGlvbihuKXtyZXR1cm4hIShuLnBsYXlsaXN0fHxuLmxpc3R8fG4uYXBpKX07Cml2PWZ1bmN0aW9uKG4sVyxELGIpe1c9VyE9PXZvaWQgMD9XOm4uaW5kZXg7Vz1uLml0ZW1zJiZXIGluIG4uaXRlbXM/bi5pdGVtc1tuLm9yZGVyW1ddXTpudWxsO3ZhciB2PW51bGw7VyYmKEQmJihXLmF1dG9wbGF5PSIxIiksYiYmKFcuYXV0b25hdj0iMSIpLHY9bmV3IGcuVXIobi55USxXKSxnLnUobix2KSx2Lk1kPSEwLHYuc3RhcnRTZWNvbmRzPW4uc3RhcnRTZWNvbmRzfHx2LmNsaXBTdGFydHx8MCxuLmxpc3RJZCYmKHYucGxheWxpc3RJZD1uLmxpc3RJZC50b1N0cmluZygpKSk7cmV0dXJuIHZ9Owp1QXQ9ZnVuY3Rpb24obixXKXtpZihXLnZpZGVvJiZXLnZpZGVvLmxlbmd0aCl7bi50aXRsZT1XLnRpdGxlfHwiIjtuLmRlc2NyaXB0aW9uPVcuZGVzY3JpcHRpb247bi52aWV3cz1XLnZpZXdzO24ubGlrZXM9Vy5saWtlcztuLmRpc2xpa2VzPVcuZGlzbGlrZXM7bi5hdXRob3I9Vy5hdXRob3J8fCIiO3ZhciBEPVcubG9vcDtEJiYobi5sb29wPUQpO0Q9aXYobik7bi5pdGVtcz1bXTtmb3IobGV0IGIgb2YgVy52aWRlbyliJiYoYi52aWRlb19pZD1iLmVuY3J5cHRlZF9pZCxuLml0ZW1zLnB1c2goYikpO24ubGVuZ3RoPW4uaXRlbXMubGVuZ3RoOyhXPVcuaW5kZXgpP24uaW5kZXg9VzpuLmZpbmRJbmRleChEKTtuLnNldFNodWZmbGUoITEpO24ubG9hZGVkPSEwO24uTiYmbi5OKCl9fTsKdXY9ZnVuY3Rpb24obixXKXtuLmluZGV4PWcuRmYoVywwLG4ubGVuZ3RoLTEpO24uc3RhcnRTZWNvbmRzPTB9Owp6YnI9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uYygpLGI9bi5HKCksdj17Y29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDp7YW5jZXN0b3JPcmlnaW5zOmIuYW5jZXN0b3JPcmlnaW5zfX19LGs9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7az8uZW5jcnlwdGVkSG9zdEZsYWdzJiYodi5wbGF5YmFja0NvbnRleHQuY29udGVudFBsYXliYWNrQ29udGV4dC5lbmNyeXB0ZWRIb3N0RmxhZ3M9ay5lbmNyeXB0ZWRIb3N0RmxhZ3MpO2s/LmhpZGVJbmZvJiYodi5wbGF5ZXJQYXJhbXM9e3Nob3dpbmZvOiExfSk7Yj1iLmVtYmVkQ29uZmlnO2s9bi5OZDt2YXIgaD1XLmRvY2lkfHxXLnZpZGVvX2lkfHxXLnZpZGVvSWR8fFcuaWQ7aWYoIWgpe2g9Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFoKXt2YXIgeD1XLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZTt4JiYoaD1KU09OLnBhcnNlKHgpKX1oPWg/Zy53KGg/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5wbGF5QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LApnLklRKT8udmlkZW9JZHx8bnVsbDpudWxsfWg9aD9oOnZvaWQgMDt4PW4ucGxheWxpc3RJZD9uLnBsYXlsaXN0SWQ6Vy5saXN0O3ZhciBMPVcubGlzdFR5cGU7aWYoeCl7dmFyIGU7TD09PSJ1c2VyX3VwbG9hZHMiP2U9e3VzZXJuYW1lOnh9OmU9e3BsYXlsaXN0SWQ6eH07b1YyKGIsayxoLFcsZSk7di5wbGF5bGlzdFJlcXVlc3Q9ZX1lbHNlIFcucGxheWxpc3Q/KGU9e3RlbXBsaXN0VmlkZW9JZHM6Vy5wbGF5bGlzdC50b1N0cmluZygpLnNwbGl0KCIsIil9LG9WMihiLGssaCxXLGUpLHYucGxheWxpc3RSZXF1ZXN0PWUpOmgmJihlPXt2aWRlb0lkOmh9LGs/ZS5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWs6YiYmKGUuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iKSx2LnNpbmdsZVZpZGVvUmVxdWVzdD1lKTtiPUxCKGRRWik7dHJ5e2xldCBHPWF3YWl0IGcucl8oRCx2LGIpLHI9bi5HKCk7Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlPUc7ci5jSj0KaE8oVyxnLm80KHIpKTtyLkQ9ci5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiO0cmJkcudHJhY2tpbmdQYXJhbXMmJmcueXIoRy50cmFja2luZ1BhcmFtcyk7cmV0dXJuIG5ldyBnLlVyKHIsVyl9Y2F0Y2goRyl7cmV0dXJuIEcgaW5zdGFuY2VvZiBFcnJvcnx8KEc9RXJyb3IoImIyNTk4MDI3NDgiKSksZy5YaihHKSxufX07Cm9WMj1mdW5jdGlvbihuLFcsRCxiLHYpe2IuaW5kZXgmJih2LnBsYXlsaXN0SW5kZXg9U3RyaW5nKE51bWJlcihiLmluZGV4KSsxKSk7di52aWRlb0lkPUQ/RDoiIjtXP3Yuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1XOm4mJih2LnNlcmlhbGl6ZWRUaGlyZFBhcnR5RW1iZWRDb25maWc9bil9OwpnLmQ5PWZ1bmN0aW9uKG4sVyl7b0cuZ2V0KG4pO29HLnNldChuLFcpfTsKZy5sTVU9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5HKCkuUygiaHRtbDVfdXNlX2hsc19uYXRpdmVfY2FwdGlvbnMiKSYmZy5HbiYmbi56VygpJiYhIW4uSj8uVygpfTsKZy56Rz1mdW5jdGlvbihuLFcpe3JldHVybiBuLkcoKS5TKCJzYWZhcmlfbGl2ZV9kcm1fY2FwdGlvbnNfZml4IikmJm4uZ2V0VmlkZW9EYXRhKCk/Lk1pKCk/ITE6Zy5HbChuLkcoKSkmJiFXLmlzTWFuaWZlc3RsZXNzfTsKZy5sdj1mdW5jdGlvbihuLFcpe3JldHVybiBuLmluZm8uTigpP1c/bi5pbmZvLml0YWc9PT1XOiEwOiExfTsKZy5UYmk9ZnVuY3Rpb24obixXKXtpZihuLk4hPW51bGwmJmcuekcoVyxuLk4pJiZuLk4uTi5yYXdjYyE9bnVsbClyZXR1cm4hMDtpZighbi56VygpKXJldHVybiExO1c9ISFuLk4mJm4uTi5pc01hbmlmZXN0bGVzcyYmT2JqZWN0LnZhbHVlcyhuLk4uTikuc29tZShEPT5nLmx2KEQsIjM4NiIpKTsKbj0hIW4uTiYmIW4uTi5pc01hbmlmZXN0bGVzcyYmZy5tSChuLk4pO3JldHVybiBXfHxufTsKRCQ9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5lJClyZXR1cm4gbi5OaS5nZXQoInV4Iil9OwpURz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFkIil9OwpqbD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImNhcHRpb25zIil9OwpDYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFubm90YXRpb25zX21vZHVsZSIpfTsKR3U9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5GZSlyZXR1cm4gbi5OaS5nZXQoInJlbW90ZSIpfTsKQjg9ZnVuY3Rpb24obil7cmV0dXJuIG4uTmkuZ2V0KCJjcmVhdG9yZW5kc2NyZWVuIil9OwpGWT1mdW5jdGlvbihuKXtpZihnLlhDKG4uQS5HKCkpKXJldHVybiBuLk5pLmdldCgia2lkcyIpfTsKZy4kRj1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoIndlYmdsIil9OwpqTGo9ZnVuY3Rpb24obixXKXtuLlc9V307CkMkdz1mdW5jdGlvbihuKXt2YXIgVz1uLkEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGcubE1VKFcsbi5BKXx8ISFXLndhfHwhIVcuY2FwdGlvblRyYWNrcy5sZW5ndGh8fGcuVGJpKFcsbi5BKX07Cnc5PWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdil7dmFyIGssaD1uLk5pLmdldChXKTtpZighaHx8YilpZih2fHwodj0oKT0+e3c5KG4sVyxELGIpfSksa3x8KGs9KCk9PntNVChuLFcpfSksaD1ofHxCYmgobixXLEZxTShuLFcpLHYsaykpbi5OaS5zZXQoVyxoKSxoLmNyZWF0ZSgpLG4uQS5XSigibW9kdWxlY3JlYXRlZCIsVyksRCYmZy5WVShuLkEsIm9uQXBpQ2hhbmdlIil9OwpSRz1mdW5jdGlvbihuKXtpZihuLkEuRygpLkQpcmV0dXJuITE7aWYobj1uLkEuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KS5nZXRQbGF5ZXJSZXNwb25zZSgpKXtsZXQgVz1uLmFkUGxhY2VtZW50cztpZihXKWZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKWlmKFdbRF0uYWRQbGFjZW1lbnRSZW5kZXJlcilyZXR1cm4hMDtpZihuLmFkU2xvdHMpcmV0dXJuITB9cmV0dXJuITF9OwpRWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5BLkcoKS5TKCJodG1sNV9hbGxvd19hc21qcyIpfHxuLkEuRygpLlp0KCkuTi5RUSh3YlMpfTsKRnFNPWZ1bmN0aW9uKG4sVyl7c3dpdGNoKFcpe2Nhc2UgImFkIjpyZXR1cm4gUkcobik7Y2FzZSAiYW5ub3RhdGlvbnNfbW9kdWxlIjpyZXR1cm4hMTtjYXNlICJhc21qcyI6cmV0dXJuIFFZKG4pO2Nhc2UgImNyZWF0b3JlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImVtYmVkIjpyZXR1cm4gZy5vNChuLkEuRygpKTtjYXNlICJlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImhlYXJ0YmVhdCI6cmV0dXJuIG4ueVAoKTtjYXNlICJraWRzIjpyZXR1cm4gZy5YQyhuLkEuRygpKTtjYXNlICJyZW1vdGUiOnJldHVybiBuLkEuRygpLkZlO2Nhc2UgIm1pbmlwbGF5ZXIiOnJldHVybiBuLkEuRygpLnNob3dNaW5pcGxheWVyVWlXaGVuTWluaW1pemVkO2Nhc2UgIm9mZmxpbmUiOnJldHVybiBuLkEuRygpLlpoO2Nhc2UgImNhcHRpb25zIjpyZXR1cm4gQyR3KG4pO2Nhc2UgInVucGx1Z2dlZCI6cmV0dXJuIGcuRGYobi5BLkcoKSk7Y2FzZSAidXgiOnJldHVybiBuLkEuRygpLmUkO2Nhc2UgIndlYmdsIjpXPQpuLkEuZ2V0VmlkZW9EYXRhKCk7dmFyIEQ9bi5BLkcoKTtuPWcuamQoKTtsZXQgYj1nLm5OKEQpLHY9Vy5KPy52aWRlbz8uaXNIZHIoKTtEPSFnLnF1KFcpJiYhdiYmRC5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBnLkpEKFcpfHxnLkhUKFcpfHxnLmZBKFcpP258fGI6Zy5rcChXKT9iOkQ/YjohMTtjYXNlICJ5cGMiOnJldHVybiBuLklWKCk7ZGVmYXVsdDpyZXR1cm4gZy5YaihFcnJvcihgTW9kdWxlIGRlc2NyaXB0b3IgJHtXfSBkb2VzIG5vdCBtYXRjaGApKSwhMX19OwpNVD1mdW5jdGlvbihuLFcpe1c9TUxiW1ddO2ZvcihsZXQgRCBvZiBXKW4uQS5HaShEKX07CkJiaD1mdW5jdGlvbihuLFcsRCxiLHYpe3RyeXtpZihEKXtsZXQgaz1vRy5nZXQoVyk7aWYoaylyZXR1cm4gbmV3IGsobi5BKTtSYngobixXLGIsdil9ZWxzZSBNVChuLFcpfWNhdGNoKGspe01UKG4sVyksZy5YaihrKX1yZXR1cm4gbnVsbH07ClJieD1mdW5jdGlvbihuLFcsRCxiKXtpZihuLkQpe3ZhciB2PVFMaVtXXTtXPW4uRCt2O24uSyYmKFcrPWA/Y2I9JHtuLkt9YCk7VkxNKG4sVywoKT0+e24uai5hZGQodik7RC5jYWxsKG4pfSxiKX19OwpjbWI9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi5OaS5nZXQoImFzbWpzIik7aWYoVylyZXR1cm4gVztXPW9HLmdldCgiYXNtanMiKT8/YXdhaXQgbmV3IFByb21pc2UoKEQsYik9PntSYngobiwiYXNtanMiLCgpPT57dmFyIHY9b0cuZ2V0KCJhc21qcyIpO3Y/RCh2KTpiKCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKX0sYil9KTsKaWYoIVcpcmV0dXJuIFByb21pc2UucmVqZWN0KCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKTtXPW5ldyBXKG4uQSk7bi5OaS5zZXQoImFzbWpzIixXKTtXLmNyZWF0ZSgpO3JldHVybiBXfTsKVlk9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpO2lmKG49Vy5TKCJ3ZWJfcGxheWVyX2RlZmVyX2FkIikpe2lmKGcuamooVy5JSiwiYWQiKXx8dzYoVyl8fFcuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkpdmFyIEQ9ITE7ZWxzZXtuPVcuc3RhcnRTZWNvbmRzO3ZhciBiPVcucGxheWVyUmVzcG9uc2U/LmFkUGxhY2VtZW50cztpZihXPWIpe1c9TnVtYmVyLk1BWF9WQUxVRTtmb3IoRCBvZiBiKWlmKGI9RC5hZFBsYWNlbWVudFJlbmRlcmVyKXtsZXQgdj1iLmNvbmZpZz8uYWRQbGFjZW1lbnRDb25maWc7dj8ua2luZD09PSJBRF9QTEFDRU1FTlRfS0lORF9NSUxMSVNFQ09ORFMiJiYoYj0oTnVtYmVyKHY/LmFkVGltZU9mZnNldD8ub2Zmc2V0U3RhcnRNaWxsaXNlY29uZHMpfHwwKS1OdW1iZXIoYi5yZW5kZXJlcj8uYWRCcmVha1NlcnZpY2VSZW5kZXJlcj8ucHJlZmV0Y2hNaWxsaXNlY29uZHN8fDApLGI8VyYmKFc9YikpfVc9Vy01RTM8PW4qMUUzfUQ9Vz8hMTohMH1uPQpEfXJldHVybiBufTsKYU1VPWFzeW5jIGZ1bmN0aW9uKG4pe3JldHVybiBhd2FpdCBjbWIobil9OwpuRGo9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpLEQ9bi5PJiYhVy5pc0lubGluZVBsYXliYWNrTm9BZDtuLkEuUygiaHRtbDVfZGVmZXJfbW9kdWxlc19vbl9hZHNfb25seSIpJiYhVy5pc0FkKCkmJihEPSExKTtyZXR1cm4gRH07CmcuYzg9ZnVuY3Rpb24obil7VlkobikmJm4uWCgpO25EaihuKSYmKHc5KG4sImNhcHRpb25zIiwhMCksdzkobiwiZW5kc2NyZWVuIiksbi5OKCksdzkobiwiY3JlYXRvcmVuZHNjcmVlbiIsITApKX07CmFHPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgV0VpKXtsZXQgdj1uLk5pLmdldChiKTt2JiYoRHx8di5oVihXKSkmJihnLkNwKHYpLG4uTmkuZGVsZXRlKGIpKX1uLkEuV0ooIm1vZHVsZXNEZXN0cm95ZWQiLFcpfTsKRHJaPWZ1bmN0aW9uKG4pe3JldHVybiBKZSgoKT0+bi5OaS5nZXQoImFzbWpzIik/P2FNVShuKSl9OwpWTE09ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNDUklQVCIpLGs9ITE7Zm9yKGxldCBIPTA7SDx2Lmxlbmd0aDtIKyspe2xldCBBPXZbSF07aWYoQS5zcmM9PT1XfHxBLmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiKT09PVcpdmFyIGg9QX1ofHwoaD1nLnpGKCJTQ1JJUFQiKSxoLnNldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiLFcpLGs9ITApO3ZhciB4PSgpPT57bi5xTigpfHxELmNhbGwobil9LEw9KCk9PntuLnFOKCl8fGIuY2FsbChuKX0sZT1oLm9ubG9hZDsKaC5vbmxvYWQ9SD0+e2cuVDcoeCk7ZSYmZS5hcHBseSh3aW5kb3csW0hdKX07CnZhciBHPWgub25lcnJvcjtoLm9uZXJyb3I9SD0+e2lmKE1hdGgucmFuZG9tKCk8LjAxKXtsZXQgQT1uZXcgZy5ReCgiVW5hYmxlIHRvIGxvYWQgcGxheWVyIG1vZHVsZSIsVyxkb2N1bWVudC5sb2NhdGlvbiYmZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luKTtnLlhqKEEpfWcuVDcoTCk7RyYmRyhIKX07CnZhciByPWgsTj1yLm9ucmVhZHlzdGF0ZWNoYW5nZTtyLm9ucmVhZHlzdGF0ZWNoYW5nZT1IPT57c3dpdGNoKHIucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6Zy5UNyh4KX1OJiZOKEgpfTsKayYmKCh2PW4uQS5HKCkuY3NwTm9uY2UpJiZoLnNldEF0dHJpYnV0ZSgibm9uY2UiLHYpLGcuUE0oaCxmdyhXKSksdj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5ib2R5LHYuaW5zZXJ0QmVmb3JlKGgsdi5maXJzdENoaWxkKSxuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57aC5wYXJlbnROb2RlJiZoLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCl9KSl9OwpXYz1mdW5jdGlvbihuLFcsRCl7bi5xTigpO3ZhciBiPW5PKG4pO0Q/KG4uSnw9VyxXJjEmJm4uRC5zdGFydCgpLFcmMiYmbi5PLnN0YXJ0KCksVyYyMDQ4JiZuLmNKLnN0YXJ0KCkpOihuLkomPX5XLFcmMSYmbi5ELnN0b3AoKSxXJjImJm4uTy5zdG9wKCksVyYyMDQ4JiZuLmNKLnN0b3AoKSxXJjUxMiYmbi50dy5zdG9wKCkpO24uSiY1MTImJiEobi5KJjEyOCkmJmcuSmEobi50dyxuLlZRKTtXPW5PKG4pO2IhPT1XJiZuLldKKCJhdXRvaGlkZXVwZGF0ZSIsVyl9OwpibFo9ZnVuY3Rpb24obil7V2Mobiw0LCExKTtuLksmJihuLk4ud0gobi5LKSxuLks9bnVsbCxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKTtuLlcmJihuLk4ud0gobi5XKSxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKX07Cm5PPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSjtuLmFwaS5HKCkuZlImJihXJj0tMTI5KTtuLmFwaS5TKCJ3ZWJfcGxheWVyX2RlZmF1bHRfYXV0b2hpZGUiKSYmKFcmPS01MTMpO3JldHVybiFXfTsKdkQxPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9bi5hcGkuRygpO2ZvcihsZXQgayBvZiBXKXtpZigha3x8ayBpbnN0YW5jZW9mIGcuVXImJiFrLnZpZGVvSWQpY29udGludWU7dmFyIGI9bi5hcGkubGooKS5nZXRQbGF5ZXJTaXplKCk7dmFyIHY9Zy5IXygpO1c9Yi53aWR0aCp2O3YqPWIuaGVpZ2h0O2lmKFc+MTI4MHx8dj43MjApaWYoYj1rLkdCKCJtYXhyZXNkZWZhdWx0LmpwZyIpKWJyZWFrO2lmKFc+NjQwfHx2PjQ4MClpZihiPWsuR0IoIm1heHJlc2RlZmF1bHQuanBnIikpYnJlYWs7aWYoVz4zMjB8fHY+MTgwKWlmKGI9ay5HQigic2RkZWZhdWx0LmpwZyIpfHxrLkdCKCJocWRlZmF1bHQuanBnIil8fGsuR0IoIm1xZGVmYXVsdC5qcGciKSlicmVhaztpZihiPWsuR0IoImRlZmF1bHQuanBnIikpYnJlYWt9Zy4kNihEKSYmKEQ9bmV3IEltYWdlLEQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt5U2goKX0pLEQuc3JjPWI/YjoiIixuLmFwaS5lRygpLnRpY2soImZ0ciIpKTsKbi5ZLnN0eWxlLmJhY2tncm91bmRJbWFnZT1iP2B1cmwoJHtifSlgOiIifTsKa1cxPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8bi5rZXlzLmxlbmd0aDtXKyspbi53SChuLmtleXNbV10pO24ua2V5cz1bXX07CmJzPWZ1bmN0aW9uKG4sVyxELGI9ITEsdj0hMSxrLGg9ITApe3Z8fCh2PW4uYXBpLkcoKS5KKTt2YXIgeD1uLmFwaS5nZXRWaWRlb0RhdGEoKTtXPWVCKGcuRHVbV118fCIiLGI/e0NQTjp4LmNsaWVudFBsYXliYWNrTm9uY2V9Ont9KS5zcGxpdCgvXCQoQkVHSU58RU5EKV9MSU5LLyk7Yj1bXTtrJiZiLnB1c2goe1o6ImgyIixPcTprfSk7Yi5wdXNoKFdbMF0pO2gmJmIucHVzaCh7WjoiYnIifSk7Yi5wdXNoKHtaOiJhIix4YTp7aHJlZjpELHRhcmdldDp2PyJfYmxhbmsiOm51bGx9LEp3OiJ5dHAtZXJyb3ItbGluayIsT3E6V1syXX0pO24uaj0hMDtiLnB1c2goV1s0XSk7cmV0dXJue1o6InNwYW4iLFhGOmJ9fTsKdmM9ZnVuY3Rpb24obil7bj1uLnNwbGl0KGgwWik7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0zKXtsZXQgYj1uW0QrK10uc3BsaXQoIlxuIik7Vy5wdXNoKGJbMF0pO2ZvcihsZXQgdj0xO3Y8Yi5sZW5ndGg7disrKVcucHVzaCh7WjoiYnIifSksVy5wdXNoKGJbdl0pO0Q8bi5sZW5ndGgmJlcucHVzaCh7WjoiYSIseGE6e2hyZWY6bltEXSx0YXJnZXQ6bltEKzFdfSxPcTpuW0QrMl19KX1yZXR1cm57Wjoic3BhbiIsWEY6V319Owp4cnQ9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKyl7bGV0IHY9bi5OTihEW2JdLCJjbGljayIsVyk7bi5rZXlzLnB1c2godil9fTsKa0k9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9TnVtYmVyKFcuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJsYXktb3JkZXIiKSl8fDAsaz0wLGg9bnVsbDtmb3IobGV0IHggb2YgRC5jaGlsZHJlbil7aWYoYiYmeC5jbGFzc0xpc3QuY29udGFpbnMoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSl7aD14O2JyZWFrfWlmKHY8KE51bWJlcih4LmdldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIikpfHwwKSlicmVhaztrKyt9aD9rSShuLFcsaCwhMSk6Yj8obj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuLmNsYXNzTGlzdC5hZGQoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIixgJHt2fWApLGg9bixoLmFwcGVuZENoaWxkKFcpLGcuanAoRCxoLGspKTpnLmpwKEQsVyxrKX07CmUwQz1mdW5jdGlvbihuLFcpe3ZhciBEPXREKFcpLGI9JHAoVyk7Vy5EbCYmbi5BLkpuKCl8fChuLk58fG4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iik/Vy52aWRlb0lkJiZXLnZpZGVvSWQhPT1uLnZpZGVvSWQmJihuLk4/LmplKCksIW4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iil8fEQmJmI/KG4udmlkZW9JZD1XLnZpZGVvSWQsbi5LPSEhYixuLksmJkQmJkxFcihuLGIsRCxXKSk6bi5LPSExKTpEJiZiJiYhbi5BLlMoImVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXgiKSYmTEVyKG4sYixELFcpKX07CmdEeD1mdW5jdGlvbihuLFcpe24uTiYmKFcuTig4KSYmbi5LPyhuLks9ITEsbi5XP24uVy5zdGFydCgpOm4uaigpKTooVy5OKDIpfHxXLk4oNjQpKSYmbi52aWRlb0lkJiYobi52aWRlb0lkPW51bGwsbi5XJiZuLlcuc3RvcCgpKSl9OwpMRXI9ZnVuY3Rpb24obixXLEQsYil7bi5OJiZuLk4uZGlzcG9zZSgpO24uTj1uZXcgZy5mXyhuLnV5LFcsbik7Zy51KG4sbi5OKTtiPUdlKGIpO1c9Yj8ubmF2aWdhdGlvbkVuZHBvaW50O2I9Yj8uaWNvbj8uaWNvblR5cGU7dmFyIHY9Zy53KFcsZy5Qaik/LnVybDtuLkEuc2V0VHJhY2tpbmdQYXJhbXMobi5lbGVtZW50LFc/LmNsaWNrVHJhY2tpbmdQYXJhbXN8fG51bGwpO1cmJiF2PyhuLmlubmVydHViZUNvbW1hbmQ9Vyx2PSIjISIpOm4uaW5uZXJ0dWJlQ29tbWFuZD1udWxsO24uVi51cGRhdGUoe2hyZWY6dj8/IiMiLHRleHQ6RCxpY29uOmI9PT0iTU9ORVlfSEFORCI/e1o6InN2ZyIseGE6e2ZpbGw6Im5vbmUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik02IDlINVY1VjRINkgxOVY1SDZWOVpNMjEuNzIgMTYuMDRDMjEuNTYgMTYuOCAyMS4xNSAxNy41IDIwLjU1IDE4LjA1QzIwLjQ3IDE4LjEzIDE4LjQyIDIwLjAxIDE0LjAzIDIwLjAxQzEzLjg1IDIwLjAxIDEzLjY3IDIwLjAxIDEzLjQ4IDIwQzExLjMgMTkuOTIgOC41MSAxOS4yMyA1LjQgMThIMlYxMEg1SDZIN1Y2SDIxVjEzSDE2LjcyQzE2LjM3IDEzLjU5IDE1Ljc0IDE0IDE1IDE0SDEyLjdDMTMuMDEgMTQuNDYgMTMuNTYgMTUgMTQuNSAxNUgxNS4wMkMxNi4wNyAxNSAxNy4xIDE0LjY0IDE3LjkyIDEzLjk4QzE4LjgyIDEzLjI2IDIwLjAzIDEzLjIyIDIwLjkxIDEzLjg0QzIxLjU4IDE0LjMyIDIxLjkgMTUuMTkgMjEuNzIgMTYuMDRaTTE1IDEwQzE1IDkuNDUgMTQuNTUgOSAxNCA5QzEzLjQ1IDkgMTMgOS40NSAxMyAxMEgxNVpNMjAgMTFDMTkuNDUgMTEgMTkgMTEuNDUgMTkgMTJIMjBWMTFaTTE5IDdDMTkgNy41NSAxOS40NSA4IDIwIDhWN0gxOVpNOCA4QzguNTUgOCA5IDcuNTUgOSA3SDhWOFpNOCAxMEgxMkMxMiA4LjkgMTIuOSA4IDE0IDhDMTUuMSA4IDE2IDguOSAxNiAxMFYxMC4yOEMxNi41OSAxMC42MyAxNyAxMS4yNiAxNyAxMkgxOEMxOCAxMC45IDE4LjkgMTAgMjAgMTBWOUMxOC45IDkgMTggOC4xIDE4IDdIMTBDMTAgOC4xIDkuMSA5IDggOVYxMFpNNSAxMy41VjExSDNWMTdINVYxMy41Wk0yMC4zMyAxNC42NkMxOS44MSAxNC4yOSAxOS4xIDE0LjMxIDE4LjYgMTQuNzFDMTcuNTUgMTUuNTYgMTYuMjkgMTYgMTUuMDIgMTZIMTQuNUMxMi42MiAxNiAxMS42NyAxNC40NiAxMS40MyAxMy42NEwxMS4yNCAxM0gxNUMxNS41NSAxMyAxNiAxMi41NSAxNiAxMkMxNiAxMS40NSAxNS41NSAxMSAxNSAxMUg2VjEzLjVWMTcuMTZDOC45IDE4LjI5IDExLjUgMTguOTMgMTMuNTIgMTlDMTcuODUgMTkuMTUgMTkuODUgMTcuMzQgMTkuODcgMTcuMzJDMjAuMzMgMTYuOSAyMC42MiAxNi40IDIwLjc0IDE1Ljg0QzIwLjg0IDE1LjM3IDIwLjY4IDE0LjkxIDIwLjMzIDE0LjY2WiIsCmZpbGw6IndoaXRlIn19XX06bnVsbCxjaGV2cm9uOnZ8fG4uaW5uZXJ0dWJlQ29tbWFuZD9nLk9GKCk6bnVsbH0pfTsKWFBpPWZ1bmN0aW9uKG4pe24uVnx8KG4uVj0hMCxuLmFwaS5sb2dWaXNpYmlsaXR5KG4uZWxlbWVudCwhMCkpfTsKcW8yPWZ1bmN0aW9uKG4pe3ZhciBXPW9LKCkmJkV6KCk+PTY3JiYhbi5hcGkuRygpLnR3O249bi5hcGkuRygpLmRpc2FibGVPcmdhbmljVWk7cmV0dXJuIWcudWIoInRpemVuIikmJiFnLldYJiYhVyYmIW59OwpoaD1mdW5jdGlvbihuKXt2YXIgVz0hIW4uVjImJiFYeihuLmFwaSkmJiFuLmt0O3ZhciBEPW4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yLGI9bi5hcGkuRygpO0Q/KGI9VEcobi5hcGkuSjUoKSksVz1XJiZiLmpRKCkpOihEPWIuUygid2ViX3BsYXllcl9pbWF4X3RoZWF0ZXJfbW9kZSIpJiZuLmFwaS5RMCgpJiYhbi5hcGkuaXNJbmxpbmUoKSxXPVcmJihiLnNafHxEfHxuLmFwaS5pc0Z1bGxzY3JlZW4oKXx8Yi5neSkpO24uQTAhPT1XJiYobi5BMD1XLGcuaUgobi5hcGkuZ2V0Um9vdE5vZGUoKSwieXRwLWhpZGUtaW5mby1iYXIiLCFXKSl9OwpHV2I9ZnVuY3Rpb24obixXKXtpZighVylyZXR1cm4hMTt2YXIgRD1uLmFwaS5oNSgpO2lmKEQuSygpJiYoRD1ELmVfKCkpJiZnLkJ4KEQsVykpcmV0dXJuIEQuY29udHJvbHM7Zm9yKEQ9MDtEPG4uSW4ubGVuZ3RoO0QrKylpZihnLkJ4KG4uSW5bRF0sVykpcmV0dXJuITE7Zm9yKGxldCBiIG9mIG4ua1gpaWYoZy5LXyhXLGIpKXJldHVybiExO3JldHVybiBXPT09bi5hcGkuZ2V0Um9vdE5vZGUoKT8hMTohMH07CnRrMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpPT09MiYmKG4uYXBpLmxqKCkud0Z8fG4uYXBpLkcoKS5kaXNhYmxlT3JnYW5pY1VpKSYmbi5hcGkuRygpLmomJnhJJiZ2aj49MTE7bj1uLmFwaS5HKCkudHcmJnhJO3JldHVybiEoIVcmJiFuKX07CkxPPWZ1bmN0aW9uKG4sVyl7bi5qSi5MaigpO2lmKG4uYlcmJm4uUCQpbi5QJD0hMTtlbHNlIGlmKCFuLmFwaS5HKCkuc1YmJiFuLmVoKCkpe2xldCBEPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCk7RC5OKDIpJiZxcChuLmFwaSl8fG4uc2hvd1BsYXliYWNrSWNvbihEKTtXJiYkck0obixXKT9yZVMobik6IW4uYXBpLkcoKS5SdHx8RC5pc0N1ZWQoKXx8RC5OKDEwMjQpP24uUGIoKTpuLmVOLmlzQWN0aXZlKCk/bi5lTi5zdG9wKCk6bi5lTi5zdGFydCgpfX07CmVzPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIW4uYXBpLmlzSW5saW5lKCkmJiFHV2IobixBTyhXKSkmJmYyKFcpfTsKZ2Y9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5hcGkuZ2V0VmlkZW9EYXRhKCk/Lm11dGVkQXV0b3BsYXkmJlcudGFyZ2V0Py5jbGFzc05hbWU/LmluY2x1ZGVzKCJ5dHAtaW5mby1wYW5lbCIpPyExOmYyKFcpJiZuLmFwaS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCk/KG4uYXBpLnVuTXV0ZSgpLG4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yJiZuLmFwaS5wbGF5VmlkZW8oKSxXPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCksIVcuTig0KXx8Vy5OKDgpfHxXLk4oMil8fG4uUGIoKSwhMCk6ITF9Owokck09ZnVuY3Rpb24obixXKXtpZighbi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uIikpcmV0dXJuITE7dmFyIEQ9bi5hcGkuZ2V0Um9vdE5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihXLnRhcmdldFRvdWNoZXMmJlcudGFyZ2V0VG91Y2hlcy5sZW5ndGgpe3ZhciBiPVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRYO3ZhciB2PVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZfWVsc2UgVy5jbGllbnRYIT09dm9pZCAwJiYoYj1XLmNsaWVudFgsdj1XLmNsaWVudFkpO3JldHVybiBiIT09dm9pZCAwJiZ2IT09dm9pZCAwJiYoVz1iLUQubGVmdCxEPXYtRC50b3Asbj1uLmFwaS5nZXRQbGF5ZXJTaXplKCksRD49bi5oZWlnaHQtNDAmJlc+PW4ud2lkdGgtNDApPyEwOiExfTsKcmVTPWZ1bmN0aW9uKG4pe2lmKG4uYXBpLkcoKS5SdCYmbi5hcGkuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSE9PTMpdHJ5e24uYXBpLnRvZ2dsZUZ1bGxzY3JlZW4oKS5jYXRjaChXPT57c2pTKFcpfSksbi5hcGkuUygid2ViX3BsYXllcl9mdWxsc2NyZWVuX2RvdWJsZV9jbGlja192ZSIpJiZuLmFwaS5sb2dDbGljayhuLmFwaS5saigpLmVsZW1lbnQpfWNhdGNoKFcpe3NqUyhXKX19OwpzalM9ZnVuY3Rpb24obil7U3RyaW5nKG4pLmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIik/Zy5HcShuKTpnLlhqKG4pfTsKTl9oPWZ1bmN0aW9uKG4sVyxEKXtuLmFwaS5pc0Z1bGxzY3JlZW4oKT9EPDEtVyYmbi5hcGkudG9nZ2xlRnVsbHNjcmVlbigpOkQ+MStXJiZuLmFwaS50b2dnbGVGdWxsc2NyZWVuKCl9OwpZb0M9ZnVuY3Rpb24oKXtwUGp8fCh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihYdz8idG91Y2hzdGFydCI6ImNsaWNrIiwoKT0+e2ZvcihsZXQgbj1xSy5sZW5ndGg7bjw0O24rKyl7bGV0IFc9Zy56RigiVklERU8iKTtXLmxvYWQoKTtxSy5wdXNoKG5ldyBnLkdWKFcpKX19LHtjYXB0dXJlOiEwLApwYXNzaXZlOiEwfSkscFBqPSEwKX07CnRoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuZ2V0VmlkZW9EYXRhKCksaz1XLmdldFZpZGVvRGF0YSgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5pc0Vycm9yKCkpcmV0dXJue21zZzoicGxheWVyLWVycm9yIn07dmFyIGg9ay5XO2lmKFcub3QoKT5iLzFFMysxKXJldHVybnttc2c6ImluLXRoZS1wYXN0In07aWYoay5pc0xpdmVQbGF5YmFjayYmIWlzRmluaXRlKGIpKXJldHVybnttc2c6ImxpdmUtaW5maW5pdGUifTtiPVcuaDUoKTt2YXIgeD1udWxsO2ImJih4PWIuaXNWaWV3KCk/Yi5tZWRpYUVsZW1lbnQuVigpOmIuVigpKTtpZih4JiZ4Lmxlbmd0aD4xMiYmZy5xdSh2KSlyZXR1cm57bXNnOiJwbGF5ZWQtcmFuZ2VzIn07aWYoIXYuVylyZXR1cm4gbnVsbDtpZighaClyZXR1cm57bXNnOiJuby1wdmQtZm9ybWF0cyJ9O2lmKCF2LlcuTigpfHwhaC5OKCkpcmV0dXJue21zZzoibm9uLWRhc2gifTtiPWgudmlkZW9JbmZvc1swXTt4PXYuVy52aWRlb0luZm9zWzBdO24uVEMmJkFKKGspJiYKKGI9Vy5veSgpLHg9RC5veSgpKTtpZighYnx8IXgpcmV0dXJue21zZzoibm8tdmlkZW8taW5mbyJ9O2lmKG4uTyYmKGIuTVcoKXx8eC5NVygpKSlyZXR1cm57bXNnOiJhdjEifTtXPW4uWSYmay5OUCgpJiZWVCgpO2lmKHguY29udGFpbmVyVHlwZSE9PWIuY29udGFpbmVyVHlwZSlpZihXKWsuVSgic2dhcCIse2llcnI6ImNvbnRhaW5lciJ9KTtlbHNlIHJldHVybnttc2c6ImNvbnRhaW5lciJ9O2lmKG4uRCYmIVcmJih4LklCIT09Yi5JQnx8eC5JQj09PSIifHxiLklCPT09IiIpKXJldHVybnttc2c6ImNvZGVjIn07aWYobi5jSiYmeC52aWRlbyYmYi52aWRlbyYmTWF0aC5hYnMoeC52aWRlby53aWR0aC94LnZpZGVvLmhlaWdodC1iLnZpZGVvLndpZHRoL2IudmlkZW8uaGVpZ2h0KT4uMDEpcmV0dXJue21zZzoicmF0aW8ifTtpZihnLnF1KGspJiZnLnF1KHYpKXJldHVybnttc2c6ImNvbnRlbnQtcHJvdGVjdGlvbiJ9O2g9aC5KWzBdO3Y9di5XLkpbMF07RD1oLmF1ZGlvO3ZhciBMPXYuYXVkaW87CmlmKEQuc2FtcGxlUmF0ZSE9PUwuc2FtcGxlUmF0ZSYmIWcub2QpaWYoVylrLlUoInNnYXAiLHtpZXJyOiJzcmF0ZSJ9KTtlbHNlIHJldHVybnttc2c6InNhbXBsZS1yYXRlIixjaTpoLml0YWcsY3I6RC5zYW1wbGVSYXRlLG5pOnYuaXRhZyxucjpMLnNhbXBsZVJhdGV9O3JldHVybihELm51bUNoYW5uZWxzfHwyKSE9PShMLm51bUNoYW5uZWxzfHwyKT97bXNnOiJjaGFubmVsLWNvdW50In06bi50dyYmay5OUCgpJiZiLnZpZGVvLmZwcyE9PXgudmlkZW8uZnBzP3ttc2c6ImZwcyJ9Om51bGx9OwpIbEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uZ2V0VmlkZW9EYXRhKCksdj1XLmdldFZpZGVvRGF0YSgpO2lmKCFiLkcoKS5zdXBwb3J0c0dhcGxlc3NTaG9ydHMoKSlyZXR1cm57bnE6ImVudiJ9O2lmKCEoRC5iZCYmIShiLkd1JiYhYi5pc0FkKCl8fHYuR3UmJiF2LmlzQWQoKSl8fEQuViYmKCFiLkd1fHxiLmlzQWQoKSkmJiF2Lkd1fHxELksmJighdi5HdXx8di5pc0FkKCkpJiYhYi5HdXx8Yi52SigpJiZ2LnZKKCkmJiFiLmlzQWQoKXx8IWIuR3UmJiF2Lkd1KSlyZXR1cm57bnE6ImF1dG9wbGF5In07aWYoYi5lbmRTZWNvbmRzPjApcmV0dXJue25xOiJlbmRjciJ9O2lmKCFiLkspcmV0dXJue25xOiJjbGllbnQifTtpZighbi5kVCgpKXJldHVybntucToibm8tZW1wdHkifTtuPXRoKEQsbixXLEluZmluaXR5KTtyZXR1cm4gbiE9bnVsbD97bnE6bi5tc2d9Om51bGx9OwokST1mdW5jdGlvbihuKXtuLkomJm4uTiYmKG4uSi51bnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsbi5YLG4pLG4uTi51bnN1YnNjcmliZSgiZGF0YWxvYWRlZCIsbi5YLG4pKX07CkFldD1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZlloO1cuWT1uLlMoImg1X2dhcGxlc3Nfc3VwcG9ydF90eXBlc19kaWZmIik7Vy50dz0hMTtXLlRDPW4uUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4Iik7Vy5PPW4uUygiaHRtbDVfZ2FwbGVzc19kaXNhYmxlX29uX2F2MSIpJiYhbi5TKCJodG1sNV9nYXBsZXNzX2VuYWJsZV9vbl9hdjEiKTtXLkQ9bi5TKCJodG1sNV9nYXBsZXNzX2NoZWNrX2NvZGVjX2RpZmZfc3RyaWN0bHkiKTtXLmJkPW4uUygiaHRtbDVfZ2FwbGVzc19vbl9hZF9hdXRvcGxheSIpO1cuY0o9bi5TKCJodG1sNV9nYXBsZXNzX2Rpc2FibGVfZGlmZl9hc3BlY3RfcmFkaW8iKTtXLlY9bi5TKCJodG1sNV9nYXBsZXNzX2FkX2F1dG9wbGF5X29uX2FkX3RvX3ZpZGVvX29ubHkiKSYmIW4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIik7Vy5XPW4uUygiaHRtbDVfcHNldWRvZ2FwbGVzc19zaG9ydHNfc2Vla190b19uZXh0X3N0YXJ0Iik7Clcuaj1uLlp0KCkuTi5RUShKZTEpO1cuSz1uLlMoImh0bWw1X2dhcGxlc3NfYWRfYXV0b3BsYXlfb25fdmlkZW9fdG9fYWRfb25seSIpO1cuTj1OdW1iZXIobi5adCgpLk4uUVEoSVlpKSk7Vy5KPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfc2hvcnRzX2dhcGxlc3NfbmV4dF9idWZmZXJfaW5fc2Vjb25kcyIpPz9XLko7Vy5YPU51bWJlcihuLlp0KCkuTi5RUShTb1MpPz9XLlgpO3JldHVybiBXfTsKcmY9ZnVuY3Rpb24obixXKXtXPD1uLnN0YXR1cy5zdGF0dXN8fChuLnN0YXR1cz17c3RhdHVzOlcsZXJyb3I6bnVsbH0sVz09PTUmJm4uQ1IucmVzb2x2ZSgpKX07Cm1yaj1mdW5jdGlvbihuLFcsRCxiKXtuPW4uaXNWaWV3KCk/bi5tZWRpYUVsZW1lbnQ6bjtyZXR1cm4gbmV3IGcuc2cobixXLEQsYil9OwpLRWg9YXN5bmMgZnVuY3Rpb24obil7aWYobi5xTigpKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8ImRpc3Bvc2VkIikpO24udGltZW91dC5zdGFydCgpO2F3YWl0IG4uQ1I7dmFyIFc9bi5OLmg1KCk7aWYoVy5pc0VuZGVkKCkpcmV0dXJuIG4uS2coImVuZGVkX2luX2ZpbmlzaFRyYW5zaXRpb24iKSxQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8IiIpKTtpZighbi5BYnx8IW42KG4uQWIpKXJldHVybiBuLlYmJm4uTi5VKCJubWMiLHtubXM6ISFuLkFiLG5tcnM6bi5BYj8uVygpfSksbi5LZygibmV4dF9tc2VfY2xvc2VkIiksUHJvbWlzZS5yZWplY3QoRXJyb3Iobi5zdGF0dXMuZXJyb3J8fCIiKSk7aWYobi5KLlV6KCkhPT1uLkFiKXJldHVybiBuLktnKCJuZXh0X21zZV9taXNtYXRjaCIpLFByb21pc2UucmVqZWN0KEVycm9yKG4uc3RhdHVzLmVycm9yfHwiIikpO3ZhciB7SF86RCxSOTpiLEYzOnZ9PW4uSygpO24uTi5jUCghMSwKITApO2lmKG4uVil7dmFyIGs9bi5BYi5OLGg9bi5BYi5KO2suVnUoITApO2guVnUoITApO2lmKGsuaVEoKSl7dmFyIHg9ay5aZygpO2xldCBMPWsuayQuTXIoKTt4JiZ4LnNlZ21lbnRTdGFydFRpbWUrTDxEJiZrLmFib3J0KCl9aC5pUSgpJiYoaz1oLlpnKCkseD1oLmskLk1yKCksayYmay5zZWdtZW50U3RhcnRUaW1lK3g8RCYmaC5hYm9ydCgpKX1uLnBvbGljeS5OPjAmJihuLlZ1KG4uQWIsITApLG4uSi51bCgpKTtoPW1yaihXLEQsdiwhbi5KLmdldFZpZGVvRGF0YSgpLmlzQWQoKSk7bi5KLnNldE1lZGlhRWxlbWVudChoKTsoaz1uLk4uTHAoKSkmJm4uSi5CbihrLkFvLGsud08pO24udHcmJihuLnBvbGljeS5XfHxuLkouc2Vla1RvKG4uSi5nZXRDdXJyZW50VGltZSgpKy4wMDEse0E5OiEwLFpVOjMscWQ6ImdhcGxlc3NfcHNldWRvIn0pLGgucGxheSgpKTtXPVcueXIoKTtXLmNwbj1uLk4uZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZTtXLnN0PWAke0R9YDtXLmV0PQpgJHt2fWA7bi5KLlUoImdhcGxlc3MiLFcpO24uTi5VKCJnYXBsZXNzVG8iLHtjcG46bi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2V9KTtXPW4uTi5nZXRQbGF5ZXJUeXBlKCk9PT1uLkouZ2V0UGxheWVyVHlwZSgpO24uTi5OMihiLCEwLCExLFcsbi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2Usbi5KLmdldFZpZGVvRGF0YSgpLnZpZGVvSWQpO24uSi5OMihuLkouZ2V0Q3VycmVudFRpbWUoKSwhMCwhMCxXLG4uTi5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlLG4uTi5nZXRWaWRlb0RhdGEoKS52aWRlb0lkKTtuLkouUDIoKTtnLm1LKCgpPT57IW4uSi5nZXRWaWRlb0RhdGEoKS5ZJiZuLkouZ2V0UGxheWVyU3RhdGUoKS5pc09yV2lsbEJlUGxheWluZygpJiZuLkouZTIoKX0pOwpyZihuLDYpO24uZGlzcG9zZSgpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07ClBkWj1mdW5jdGlvbihuKXtpZihuLkouZ2V0VmlkZW9EYXRhKCkuVyl7dmFyIFc9bi50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc19zdXNwZW5kX25leHRfbG9hZGVyIikmJm4uaj09PTE7bi5KLm5tKG4uQWIsVyxuLmo9PT0xJiZnLllOKG4uTi5nZXRWaWRlb0RhdGEoKSkpO3JmKG4sMyk7T2xNKG4pO3ZhciB7Z2Q6RCxUYzpifT1OSyhuKTtELnN1YnNjcmliZSgidXBkYXRlZW5kIixuLmVYLG4pO2Iuc3Vic2NyaWJlKCJ1cGRhdGVlbmQiLG4uZVgsbik7bi5lWChEKTtuLmVYKGIpfX07Ck9sTT1mdW5jdGlvbihuKXtuLk4udW5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixuLlgsbik7bi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsbi5YLG4pO24udGIuRygpLlMoImh0bWw1X2dhcGxlc3NfdXNlX2Zvcm1hdF9pbmZvX2ZpeCIpJiYobi5OLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbiksbi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbikpO24uTi51bnN1YnNjcmliZSgibWVkaWFzb3VyY2VhdHRhY2hlZCIsbi5YLG4pO24uSi51bnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLG4uVEMsbil9OwpOSz1mdW5jdGlvbihuKXtyZXR1cm57Z2Q6bi5XLk4uayQsVGM6bi5XLkouayR9fTsKcE89ZnVuY3Rpb24obixXKXtpZighbilyZXR1cm4hMTt2YXIgRD1uLko7cmV0dXJuIEJSKG4uTj8uWkYoKSxXKSYmQlIoRD8uWkYoKSxXKX07ClpsaT1mdW5jdGlvbihuKXtpZighbilyZXR1cm4hMTt2YXIgVz1uLko7cmV0dXJuIG4uTj8uaVEoKXx8Vz8uaVEoKX07CkVEaj1hc3luYyBmdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlgmJm4uTil7bi5PJiZuLmFwcC5NTigpLmtOKCEwLCExKTt2YXIgVz1udWxsO2lmKG4uVyl0cnl7YXdhaXQgS0VoKG4uVyl9Y2F0Y2goYil7Vz1ifWlmKG4uTiYmKFVydy5jVygidnFzcCIsKCk9PntuLmFwcC5RVChuLk4pfSksbi5OKSl7dmFyIEQ9bi5OLmg1KCk7Cm4uYXBwLkcoKS5TKCJodG1sNV9nYXBsZXNzX3NlZWtfb25fbmVnYXRpdmVfdGltZSIpJiZEJiZELmdldEN1cnJlbnRUaW1lKCk8LS4wMSYmbi5OLnNlZWtUbygwKTtVcncuY1coInZxcHYiLCgpPT57bi5hcHAucGxheVZpZGVvKCl9KTsKVyYmKG4uTj8oVz1XP1cubWVzc2FnZToiZm9yY2VkIixuLko/LlUoImdhcGZ1bGZiayIse3I6V30pLG4uYXBwLkcoKS5adCgpLk4uUVEoeWVpKSYmKG4uTi5nZXRWaWRlb0RhdGEoKS5HUz0hMSksbi5OLk9jKFcpKTpuLko/LlUoImdhcHNwIix7fSkpO1c9bi5YO1lJKG4pO1cmJlcucmVzb2x2ZSgpO1Byb21pc2UucmVzb2x2ZSgpfX19OwpIYz1mdW5jdGlvbihuKXtuLkQmJm4uaiYmbi5ELnJlbW92ZUV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLG4uaik7bi5qPW51bGw7bi5EPW51bGx9OwpZST1mdW5jdGlvbihuLFc9ITEpe2lmKG4uSil7aWYobi5WKXt2YXIgRD1uLko7bi5hcHAuUkIucmVtb3ZlRXZlbnRMaXN0ZW5lcihnLm95KCJ2cXVldWVkIiksbi5ZKTtELnJlbW92ZUN1ZVJhbmdlKG4uVil9bi5KPW51bGw7bi5WPW51bGx9bi5XJiYobi5XLnN0YXR1cy5zdGF0dXMhPT02JiYoRD1uLlcsRC5zdGF0dXMuc3RhdHVzIT09SW5maW5pdHkmJkQuaiE9PTEmJkQuS2coIkNhbmNlbGVkIikpLG4uVz1udWxsKTtuLlg9bnVsbDtuLk4mJiFXJiZuLk4hPT1uLmFwcC5jWCgpJiZuLk4hPT1uLmFwcC5NTigpJiZuLk4uZGlzcG9zZSgpO24uTiYmVyYmbi5OLm15KCk7bi5OPW51bGw7bi5PPSExfTsKdTd0PWZ1bmN0aW9uKG4sVyxEPSEwKXt2YXIgYj1uLmFwcC5NTigpLHY9Yi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjaz9JbmZpbml0eTpiLlBHKCEwKSoxRTM7Vz52JiYoVz12LTIwMCwhbi5hcHAuRygpLlp0KCkuTi5RUShpbGkpfHxEKSYmKG4uTz0hMCk7RCYmYi5nZXRDdXJyZW50VGltZSgpPj1XLzFFMz9uLlkoKToobi5KPWIsRCYmKEQ9VyxXPW4uSixuLmFwcC5SQi5hZGRFdmVudExpc3RlbmVyKGcub3koInZxdWV1ZWQiKSxuLlkpLEQ9aXNGaW5pdGUoRCl8fEQvMUUzPlcuZ2V0RHVyYXRpb24oKT9EOjB4ODAwMDAwMDAwMDAwMCxuLlY9bmV3IGcubDUoRCwweDgwMDAwMDAwMDAwMDAse25hbWVzcGFjZToidnF1ZXVlZCJ9KSxXLmFkZEN1ZVJhbmdlKG4uVikpKX07CmRyTT1mdW5jdGlvbihuLFcsRCxiPTAsdj0wKXtuLmRUKCl8fChIYyhuKSxZSShuKSk7bi5YPW5ldyBZNjtuLk49Vzt1N3QobixELHY9PT0wKTt2YXIgaz1iLz0xRTMsaD1XLmdldFZpZGVvRGF0YSgpLk47aWYoYiYmaCYmbi5KKXtsZXQgeD1iLEw9MDtXLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrJiYoaz1NYXRoLm1pbihELzFFMyxuLkouUEcoITApKSxMPU1hdGgubWF4KDAsay1uLkouZ2V0Q3VycmVudFRpbWUoKSkseD1NYXRoLm1pbihiLFcuUEcoKStMKSk7az1tOHQoaCx4KXx8YjtrIT09YiYmbi5OLlUoInF2YWxuIix7c3Q6YixhdDprLHJtOkwsY3Q6eH0pfVc9aztiPW4uTjtiLmdldFZpZGVvRGF0YSgpLllaPSEwO2IuZ2V0VmlkZW9EYXRhKCkuSz0hMDtiLmd6KCEwKTtoPXt9O24uSiYmKGg9bi5KLmw1KCksaz1uLkouZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZSxoPXtjcnQ6KGgqMUUzKS50b0ZpeGVkKCksY3BuOmt9KTtiLlUoInF1ZXVlZCIsaCk7VyE9PQowJiZiLnNlZWtUbyhXKy4wMSx7QTk6ITAsWlU6MyxxZDoidmlkZW9xdWV1ZXJfcXVldWVkIn0pO24uVz1uZXcgb0RiKG4uSyxuLmFwcC5NTigpLG4uTixELG4uYXBwLHYpO0Q9bi5XO0Quc3RhdHVzLnN0YXR1cyE9PUluZmluaXR5JiYocmYoRCwxKSxELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsRC5YLEQpLEQuSi5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixELlgsRCksRC50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4IikmJihELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixELlgsRCksRC5KLnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsRC5YLEQpKSxELk4uc3Vic2NyaWJlKCJtZWRpYXNvdXJjZWF0dGFjaGVkIixELlgsRCksRC5KLnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLEQuVEMsRCksRC5OLnN1YnNjcmliZSgibmV3ZWxlbWVudHJlcXVpcmVkIixELlZRLApEKSxELlgoKSk7cmV0dXJuIG4uWH07CmpqeD1mdW5jdGlvbihuLFcpe2lmKG4uYXBwLkcoKS5adCgpLk4uUVEoejBpKSl7dmFyIEQ9bi5hcHAuRygpLlp0KCkuTi5RUShsWWgpO2lmKCEoRDw9MCkpe0hjKG4pO3ZhciBiPW4uYXBwLk1OKCk/Lmg1KCk7YiYmbi5OJiYobi5hcHAuRygpLlp0KCkuTi5RUShUX0MpP24uTi5nZXRWaWRlb0RhdGEoKS5Sbz0hMDpuLk4uZ2V0VmlkZW9EYXRhKCkuR1M9ITAsbi5qPSgpPT57dmFyIHY9Yi5nZXRDdXJyZW50VGltZSgpO3Y+PVcrRC8xRTMmJih2PURhdGUubm93KCktKHYtVykqMUUzLG4uYXBwLmVHKCkudGljaygicGJzIix2KSxIYyhuKSl9LG4uRD1iLGIuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsbi5qKSl9fX07CkNkaj1mdW5jdGlvbihuLFcsRCl7aWYobi5kVCgpKXJldHVybiJxaWUiO2lmKG4uTj09bnVsbHx8bi5OLnFOKCl8fG4uTi5nZXRWaWRlb0RhdGEoKT09bnVsbClyZXR1cm4icXBkIjtpZihXLnZpZGVvSWQhPT1uLk4uRTEoKSlyZXR1cm4idmlubSI7aWYoKG4uVz8uYmQoKXx8LTEpPD0wKXJldHVybiJpdmQiO2lmKEQhPT0xKXJldHVybiJ1cHQiO249bi5XPy5lJCgpO3JldHVybiBuIT1udWxsP246bnVsbH07CkpoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLmRhdGEuZm9yRWFjaChEPT57RC5leHBpcmU8VyYmZk8obixELCEwKX0pOwpuLmRhdGE9Zy5FTShuLmRhdGEsRD0+IShELmV4cGlyZTxXKSl9OwpJZT1mdW5jdGlvbihuKXtuLk4uc3RvcCgpO3ZhciBXPUluZmluaXR5O2ZvcihsZXQgRCBvZiBuLmRhdGEpRC5leHBpcmU8VyYmKFc9RC5leHBpcmUpO1cmJmlzRmluaXRlKFcpJiYoVz1NYXRoLm1heChXLURhdGUubm93KCksMTAwKSxuLk4uc3RhcnQoVykpfTsKQl9DPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLmRhdGEuZmluZCh2PT52LmtleT09PVcpOwpiJiYoRCo9MUUzLGIuZXhwaXJlPSgwLGcuUikoKStELEllKG4pKX07CnNGPWZ1bmN0aW9uKG4pe0poKG4pO3JldHVybiBuLmRhdGEubWFwKFc9PlcudmFsdWUpfTsKZk89ZnVuY3Rpb24obixXLEQpe0QmJm4uSiYmbi5KKFcudmFsdWUpfTsKRkVaPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTj9bbi5OXTpbXTtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLmopKUQuZGlzcG9zZSgpLG4uS3x8ZGVsZXRlIG4uVltELldOKCldO24uaj17fTtuLk49bnVsbDtuLlk9bnVsbDtuLkQuY2xlYXIoKTtTcyhuLFtdLFcpfTsKU3M9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtuLkpdO24uTiYmYi5wdXNoKG4uTik7bi5hcGkuV0ooInBsYXliYWNrQ2hhbmdlIix7YWN0aXZlOmIuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKSwKc3RhcnRlZDpXLmZpbHRlcih2PT52LmdldFBsYXllclR5cGUoKSE9PTApLm1hcCh2PT4oe2Nwbjp2LldOKCl9KSksCmVuZGVkOkQuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKX0pfTsKd1AxPWZ1bmN0aW9uKG4sVyl7aWYobi5LKXtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLlcpKWlmKEQuV04oKT09PVcpcmV0dXJuIEQ7aWYobi5PPy5XTigpPT09VylyZXR1cm4gbi5PO2lmKHZvaWQgMD09PVcpcmV0dXJuIG51bGw7aWYobi5qW1ddKXJldHVybiBuLmpbV107Zm9yKGxldCBEIG9mIHNGKG4uWCkpaWYoRC5XTigpPT09VylyZXR1cm4gRDtyZXR1cm4gbnVsbH1pZihuLmFwaS5HKCkuWnQoKS5OLlFRKGcuQWgpKXJldHVybiBuLlZbV118fG51bGw7Zm9yKGxldCBEIG9mIE9iamVjdC52YWx1ZXMobi5XKSlpZihELldOKCk9PT1XKXJldHVybiBEO3JldHVybiBuLmpbV118fG51bGx9OwpNa009ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9RC5nZXRWaWRlb0RhdGEoKTtpZighdi5saXZlUHJlbG9hZCl7dmFyIGs9KCk9PntpZihuLlguZ2V0KFcpPT09RCl7dmFyIGg9di5nZXRQbGF5ZXJSZXNwb25zZSgpO2gmJihoPWgucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9oLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLGghPT12b2lkIDAmJihoPGImJkQuVSgidHRsZCIse3ByZXY6Yi50b1N0cmluZygpLCJuZXciOmgudG9TdHJpbmcoKX0pLGg9PT0wP24uWC5yZW1vdmUoVywhMCk6Ql9DKG4uWCxXLGgpKSl9fTsKaWYodi5pc0xvYWRlZCgpKWsoKTtlbHNle2xldCBoPSgpPT57aygpO3YudW5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfTsKdi5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfX19OwptUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W1ddLHY9bi5OP1tuLk5dOltdO24ualtXLldOKCldPVc7bi5LfHwobi5WW1cuV04oKV09Vyk7bi5OPVc7RCYmKG4uWT1XKTtuLkQuc2V0KCIiLFcpO1NzKG4sYix2KX07CmNlYj1mdW5jdGlvbihuKXt2YXIgVz1uLmV4cGVyaW1lbnRzLEQ9Vy5FcS5iaW5kKFcpO0tPPUQoImh0bWw1X3VzZV9hc3luY19zdG9wVmlkZW8iKTtSMGk9RCgiaHRtbDVfcGF1c2VfZm9yX2FzeW5jX3N0b3BWaWRlbyIpO09nPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO0QoImh0bWw1X2xpc3Rlbl9mb3JfYXVkaW9fb3V0cHV0X2NoYW5nZWQiKSYmKHdVTT0hMCk7REg9RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZSIpfHxEKCJodG1sNV9ub3RfcmVzZXRfbWVkaWFfc291cmNlX25vbl9kcm1fdm9kIik7UWpaPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO1BjPUQoImh0bWw1X3JldGFpbl9zb3VyY2VfYnVmZmVyX2FwcGVuZHNfZm9yX2RlYnVnZ2luZyIpO25WcihEKCJ3ZWJfd2F0Y2hfcGlwIil8fApEKCJ3ZWJfc2hvcnRzX3BpcCIpKTtJdmgoRCgibG9nX2ZvcmVncm91bmRfbm90X2ZvY3VzZWRfYXNfYmFja2dyb3VuZCIpKTtTeXIoRCgid2ViX3BsYXllcl9waXBfbG9nZ2luZ19maXgiKSk7RCgiaHRtbDVfbWVkaWFzdHJlYW1fYXBwbGllc190aW1lc3RhbXBfb2Zmc2V0IikmJihzND0hMCk7bi5XWCgpJiZNRngoKTtFcnJvci5zdGFja1RyYWNlTGltaXQ9NTA7dmFyIGI9Zy5kTShXLCJodG1sNV9pZGxlX3JhdGVfbGltaXRfbXMiKTtiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJyZXF1ZXN0SWRsZUNhbGxiYWNrIix7dmFsdWU6dj0+d2luZG93LnNldFRpbWVvdXQodixiKX0pOwp3Sngobi5XKTthaU0oRCgiaHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlciIpKTtEKCJodG1sNV9kaXNhYmxlX3N0cmVhbWluZ194aHIiKSYmKE5zPSExKTtEKCJodG1sNV9ieXRlcmF0ZV9jb25zdHJhaW50cyIpJiYoaFQ9ITApO0QoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIikmJihadT0hMCk7RCgiaHRtbDVfZW5hYmxlX2VuY3J5cHRlZF9hdjEiKSYmKFBSPSEwKTtXLlp0KCkuTi5RUShWa3cpJiYoRU49ITApO01wQyhnLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3MiKSl9Owp5UjE9ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLmV4cGVyaW1lbnRzLncwKCksYj1bXTtuPShrLGgseCk9PntiLnB1c2goU2soaCh4KSxMPT57V1trXT1MfSkpfTsKdmFyIHY9RC5OLlFRKGFZeCk7diYmbigiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUJ1ZmZlcmVkUmFuZ2UiLHFScix2PT09MSk7KHY9RC5OLlFRKG5NdykpJiZuKCJIVFRQMyIsR253LHY9PT0xKTsodj1ELk4uUVEoV2t0KSkmJm4oIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VBdHRhY2htZW50TWV0aG9kcyIsdEZ4LHY9PT0xKTsodj1ELk4uUVEoRERaKSkmJm4oIlFVSUMiLCRMQyx2PT09MSk7KHY9RC5OLlFRKGJSdykpJiZuKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsc2d3LHY9PT0xKTsodj1ELk4uUVEodk1TKSkmJm4oIk1lZGlhLkF1ZGlvV3JpdGVEdXJhdGlvbkxvY2FsIixyYzIsTnVtYmVyKHYpKTsodj1ELk4uUVEoazZ3KSkmJm4oIk1lZGlhLkV4cGVyaW1lbnRhbE1heFBlbmRpbmdCeXRlc1BlclBhcnNlIixLWFosTnVtYmVyKHYpKTsodj1ELk4uUVEoaFVpKSkmJm4oIk1lZGlhLkVuYWJsZUZsdXNoRHVyaW5nU2VlayIsCkpjYixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoeERaKSkmJm4oIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsSXl3LE51bWJlcih2KSk7KHY9RC5OLlFRKExrQykpJiZuKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLFNSdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZVVVKSkmJm4oIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLEFjWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZ014KSkmJm4oIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbUwyLE51bWJlcih2KT09PTEpOyh2PUQuTi5RUShYR1UpKSYmbigiTWVkaWEuRW5hYmxlUmVzZXRBdWRpb0RlY29kZXIiLGZ5VSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocXhoKSkmJm4oIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLEhGWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoRzYyKSkmJm4oIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsCk9GQyxOdW1iZXIodikpOyh2PUQuTi5RUSh0NWkpKSYmbigiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsTjBTLHYpOyh2PUQuTi5RUSgkRDEpKSYmbigiTWVkaWEuTWVkaWFDb2RlY1Jlc2V0RGVsYXlNcyIsUFFyLHYpOyh2PUQuTi5RUShyUmkpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbklucHV0QnVmZmVycyIscE50LHYpOyh2PUQuTi5RUShzd2kpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbkRlY29kZWRGcmFtZXMiLFlSdyx2KTsodj1ELk4uUVEoTmRTKSkmJm4oIk1lZGlhLlVzZUR1YWxUaHJlYWRzRm9yVmlkZW8iLHljMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocEcxKSkmJm4oIk1lZGlhLlZpZGVvQnVmZmVyU2l6ZUNsYW1wTWIiLEV1dCx2KTsodj1ELk4uUVEoWXhyKSkmJm4oIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixpRlUsdik7KHY9RC5OLlFRKEhScikpJiZuKCJNZWRpYS5EaXNhYmxlTG93UGVyZm9ybWFuY2VTb2Z0d2FyZURlY29kZSIsClpGdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZndqKSkmJm4oIk1lZGlhLkVuYWJsZUF2MVN0YXJ0dXBPcHRpbWl6YXRpb24iLFVMMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSlIxKSkmJm4oIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLGRMaSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSXd4KSkmJm4oIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIix1cXQsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFN4aSkpJiZuKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG91MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoQVJNKSkmJm4oIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIix6UVMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKG1EaCkpJiZuKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLGx5MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoS2tpKSkmJm4oIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixUMFUsTnVtYmVyKHYpPT09CjEpOyh2PUQuTi5RUShPUlUpKSYmbigiTWVkaWEuU2tpcFZpZGVvRnJhbWVzT3ZlcjYwRnBzIixqZ2gsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFBoaikpJiZuKCJNZWRpYS5GbHVzaEF1ZGlvVHJhY2tEdXJpbmdTZWVrIixDUUMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFpSeCkpJiZuKCJNZWRpYS5CeXBhc3NNb2pvRm9yTWVkaWEiLEIwaixOdW1iZXIodik9PT0xKTsoRD1ELk4uUVEoVUQyKSkmJm4oIk1lZGlhLklnbm9yZU1lZGlhQ29kZWNDYWxsYmFja3NEdXJpbmdGbHVzaGluZyIsRlgyLE51bWJlcihEKT09PTEpO3JldHVybiBTayhGTngoYiksKCk9PlcpfTsKR0Q9ZnVuY3Rpb24obixXPSExLEQ9MTA0ODU3Nil7dmFyIGI9VWcobik7Yj0xLygobi5LLkxnKCl8fDApKm4ucG9saWN5LkQrMS9iKTt2YXIgdj1uLlMkLkxnKCk7dj12PjA/djoxO3ZhciBrPU1hdGgubWF4KGIsdik7bi5wb2xpY3kuWD4wJiZ2PGImJihrPU1hdGgubWluKG4ucG9saWN5LlgsMSksaz0oMS1rKSpiK2sqdik7aWYoIVcpcmV0dXJuIGs7Vz0xRS05KyRzKG4pO0Q9aypNYXRoLm1pbigxLEQvKGsqVykpO24ucG9saWN5Lkp8fChuPSgobi5ELnBlcmNlbnRpbGUoLjk4KXx8MCktMSkvMixuPU1hdGgubWF4KDAsTWF0aC5taW4oMSxuKSksRCo9MS0uNSpuKTtyZXR1cm4gRH07CiRzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uWS5MZygpK24uVEMuTGcoKXx8MDtXPWlzTmFOKFcpPy41Olc7bi5wb2xpY3kuVDY+PTAmJihXPU1hdGgubWluKFcsbi5wb2xpY3kuVDYpKTtyZXR1cm4gV307CmUwPWZ1bmN0aW9uKG4pe3ZhciBXPXtkZWxheTokcyhuKSxzdGFsbDpuLksuTGcoKXx8MCxieXRlcmF0ZTpVZyhuKSxpbml0Om4uVlF9LEQ9bi5XWzBdO0Quc3RhbXA9TWF0aC5yb3VuZChuLlYvMzZFNSkqMzZFNTtELm5ldD1NYXRoLmNlaWwobi5iZCk7RC5tYXg9bi5pbnRlcnJ1cHRpb25zWzBdfHwwO1cuaW50ZXJydXB0aW9ucz1uLlc7cmV0dXJuIFd9Owp6RD1mdW5jdGlvbihuLFcpe2lmKG4uail7bGV0IEQ9Vy1uLmo7aWYoRDw2RTQpe2lmKEQ+MUUzKXtsZXQgYj1uLmludGVycnVwdGlvbnM7Yi5wdXNoKE1hdGguY2VpbChEKSk7Yi5zb3J0KCh2LGspPT5rLXYpOwpiLmxlbmd0aD4xNiYmYi5wb3AoKX1uLmJkKz1EfX1uLmo9V307CnlTPWZ1bmN0aW9uKG4sVyxEKXtpc05hTihEKXx8KG4udHcrPUQpO2lzTmFOKFcpfHwobi5EdCs9Vyl9OwpCdT1mdW5jdGlvbihuLFcsRCxiPVcpe24uWC5JSShiLEQvVyk7bi5WPSgwLGcuUikoKX07CkVnPWZ1bmN0aW9uKG4sVyxEKXtXPU1hdGgubWF4KFcsbi5KLk4pO24uSy5JSSgxLEQvVyl9Owppcz1mdW5jdGlvbihuLFcsRCxiLHYsaz0hMSl7bi5TJC5JSShXLEQvVyk7bi5WPSgwLGcuUikoKTt2fHxuLkQuSUkoMSxXLWIpO2t8fChuLmo9MCk7bi5jSj4tMSYmKDAsZy5SKSgpLW4uY0o+M0U0JiYoc24oZTAobikpLG4uY0o9KDAsZy5SKSgpLG4uTz0hMCl9OwpUWj1mdW5jdGlvbihuKXtyZXR1cm4oMCxnLlIpKCktbi5WPj00RTN9OwpVZz1mdW5jdGlvbihuKXtuPW4uWC5MZygpO3JldHVybiBuPjA/bjoxfTsKaVJaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgRU1NKEQpO24mJihiLlc9ITAsYi5qPS4xKTtELkVxKCJodG1sNV9tZWRpYV90aW1lX3dlaWdodCIpJiYoYi5XPSExKTtXJiYoYi5OPVcvOCk7Yi5KPXA3KCk+PTQ4MDtyZXR1cm4gYn07CnVzPWZ1bmN0aW9uKG4pe24uTi5jbGVhcigpO24uVy5jbGVhcigpO24uSi5jbGVhcigpfTsKdWFVPWZ1bmN0aW9uKG4sVyxEKXtuPW4uSjt2YXIgYj1nLlc0KG4se29hOld9LCh2LGspPT52Lm9hLWsub2EpOwpiPWI8MD8oYisyKSotMTpiO2lmKGI+PTApZm9yKGxldCB2PWI7djw9YisxJiZ2PG4ubGVuZ3RoO3YrKyl7bGV0IGs9blt2XTtpZihXPj1rLm9hLUQmJlc8PWsuZEkrRClyZXR1cm4ga319OwpvTWg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5nZXQoVyk7Yj8oYi5wdXNoKEQpLGcuYmYoYiwodixrKT0+di5vYS1rLm9hKSk6bi5OLnNldChXLFtEXSl9OwpkRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2Ygbi5KKVcoYil8fEQucHVzaChiKTtpZihuLkIuUygiaHRtbDVfc3N0bV9maXhlcyIpKWZvcihsZXQgYiBvZiBuLkopVyhiKSYmbi5XLmRlbGV0ZShiLmNwbik7bi5KPUR9Owp6VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkouaW5kZXhPZihXKTtEPj0wJiZuLkouc3BsaWNlKEQsMSk7bi5XLmRlbGV0ZShXLmNwbil9Owp0dmk9ZnVuY3Rpb24obixXKXtpZihuLnVLfHxXLmlkZW50aWZpZXImJm4ueXcuaGFzKFcuaWRlbnRpZmllcikpbi5iaih7c3RhcnRub2FkOlcuaWRlbnRpZmllcn0pLGcub2Uobik7ZWxzZSBpZihnLm9NKG4uY0osRD0+RC5pZGVudGlmaWVyPT09Vy5pZGVudGlmaWVyKSluLmJqKHt0aW1lZG91dGNwOjF9KSxuLlkuc3RhcnQoMCk7CmVsc2UgaWYoZy5vTShuLkR0LEQ9PkQuaWRlbnRpZmllcj09PVcuaWRlbnRpZmllcikpbi5iaih7ZmV0Y2hlZGNwOjF9KSxnLm9lKG4pOwplbHNlIGlmKG4uWS5pc0FjdGl2ZSgpKW4uYmooe3JhY2luZ2NwOmAke24uVj8uaWRlbnRpZmllcn1fJHtXLmlkZW50aWZpZXJ9YH0pO2Vsc2V7bi5DdT0obmV3IERhdGUpLmdldFRpbWUoKS8xRTM7bi5iaih7YWRmOjF9KTtsZXQgRD01RTM7RCYmVy5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYoRC09Vy5OKTtuLnZKPU1hdGgubWF4KEQsMTVFMyk7bi5EPSExO24uWS5zdGFydChuLnZKKTtuLlY9Vzt1cyhuLlRDKTtuLkZGPVtdfX07CmcuSnlpPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe3ZhciB4PXY9PT0zLEw9bHdaKG4sVyxELHYsYixoKTtpZighTClyZXR1cm4gZGYobixELHgpLEw9Zy56VihuLEQpPyJ1bmRlYyI6Im5jcCIsbi5iaih7Z3ZwcnA6TCxtdDpXLHNlZzpELHR0OnYsaXRhZzpiLGNlOmh9KSxudWxsO3h8fG4uWXEuc2V0KEQsTCk7aD1MLnZQO3Y9bi5HTShELTEsdixrKT8uQmZ8fCIiO3Y9PT0iIiYmbi5iaih7ZWRzOjF9KTtrPVRkaihuLEwuc3NkYWlBZHNDb25maWcpO3g9bi5ncy5nZXRWaWRlb0RhdGEoKTt4PXguYkJbeC5KPy5jb250YWluZXJUeXBlfHwwXTtMPUwubUYmJkQ+PUwubUY/TC5tRjp2b2lkIDA7dj17YUQ6aD9scyhuLGgpOltdLGFkc0NvbmZpZzprLEJmOnYsREo6TCxvdjpnLk5oKHguc3BsaXQoIjsiKVswXSksZDM6eC5zcGxpdCgiOyIpWzFdfHwiIn07TD17TXk6dn07bi5HQyYmKFc9e2d2cHJwcm86InYiLHNxOkQsbXQ6Vy50b0ZpeGVkKDMpLGl0YWc6YixhY3Buczp2LmFEPy5qb2luKCJfIil8fAoibm9uZSIsYWJpZDpofSxuLmJqKFcpKTtyZXR1cm4gTH07Ck0yPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj1ifHx7cmVhc29uOiJkaXNhYmxlc3NkYWkifTtpZihXJiZEKXtpZighZy5UVihuLFcsRCkpcmV0dXJuITE7Yi5zcT1EfWlmKG4udUspcmV0dXJuITE7bi51Sz0hMDtuLnVmPjAmJihuLnVmPTAsbi51Tj0iIixqcyhuLG4uZ3MuV04oKSwwKSxuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpKTtuLmdzLmRuKGIsdik7cmV0dXJuITB9Owpqd2o9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uald8fG4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKTtDTyhuLCEwKTtuLmdzLnNlZWtUbyhXLEQpO249bi5hcHAuTU4oKTtXPW4uZ2V0UGxheWVyU3RhdGUoKTtiLmlzT3JXaWxsQmVQbGF5aW5nKCkmJiFXLmlzT3JXaWxsQmVQbGF5aW5nKCk/bi5wbGF5VmlkZW8oKTpiLmlzUGF1c2VkKCkmJiFXLmlzUGF1c2VkKCkmJm4ucGF1c2VWaWRlbygpfTsKZy5CYz1mdW5jdGlvbihuKXtuLkdDJiZuLmJqKHthZGY6YDBfJHsobmV3IERhdGUpLmdldFRpbWUoKS8xRTMtbi5DdX1faXNUaW1lb3V0XyR7bi5EfWB9KX07Cmcub2U9ZnVuY3Rpb24obil7bi5EPSExO24uWS5pc0FjdGl2ZSgpJiZnLkJjKG4pO24uWS5zdG9wKCk7bi5SZighMSl9OwpGdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJue3NzdmM6VyxjcG46RD8uY3BufHwiIix2aWQ6RD8udmlkZW9EYXRhLnZpZGVvSWR8fCIiLGN0OihuLmdzLmdldEN1cnJlbnRUaW1lKCl8fDApLnRvRml4ZWQoMyksY210OihuLmdzLm90KCl8fDApLnRvRml4ZWQoMyl9fTsKQ2gxPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbmV3IGcubDUobixXLHtpZDpELG5hbWVzcGFjZToic2VydmVyc3RpdGNoZWRjdWVyYW5nZSIscHJpb3JpdHk6OX0pfTsKZy53Zj1mdW5jdGlvbihuKXtyZXR1cm57Y3BuOm4uZ3MuV04oKSxkdXJhdGlvbk1zOjAsb2E6MCxwbGF5ZXJUeXBlOjEsZEk6MCx2aWRlb0RhdGE6bi5ncy5nZXRWaWRlb0RhdGEoKSxlcnJvckNvdW50OjAsdlA6IiJ9fTsKTUs9ZnVuY3Rpb24obixXLEQsYil7bi5CLlMoImh0bWw1X3NzZGFpX2xvZ19zc2V2dF9pbl9sb2FkZXJfdGltZXJzIikmJihiPW4uYmQ/MDpNYXRoLnJvdW5kKChiLUQpKjFFMyksbi5ncy5VKCJzc2V2dCIse3RhZzoic3N0bWUiLGFkOlchPT1uLmdzLldOKCksY3BuOlcsc3Q6RC1uLmdzLkgzKCksbGF0ZTpifSkpfTsKZy5RUz1mdW5jdGlvbihuLFcpe24uanx8bi5iZHx8Zy5SZShuLG4udU4pO3ZhciBEPVcucUQsYj1XLnpZO2lmKGIuY3BuPT09bi51TiluLmJqKHtpZ3RyYW5zc2FtZToxLGVudGVyOmIuY3BuLGV4aXQ6RC5jcG59KTtlbHNle3ZhciB2PW4uYmQsaz0hIW4uajtuLmo9IiI7dmFyIGg9Vy5tNyx4PUQucGxheWVyVHlwZT09PTI/RC5vYS8xRTMrRC52aWRlb0RhdGEuR0M6Zy53ZihuKS52aWRlb0RhdGEuR0M7bi5hcGkuUygiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiKSYmKGt8fHZ8fEQucGxheWVyVHlwZSE9PTI/KHZ8fGspJiZuLmJqKHttZWNyOjAsc2Vlazp2LHNraXA6a30pOm4uYXBpLk5hKEQuY3BuKSk7aWYoRC5wbGF5ZXJUeXBlPT09MiYmYi5wbGF5ZXJUeXBlPT09MilrP24uYmooe2lndHJhbnNza2lwOjEsZW50ZXI6Yi5jcG4sZXhpdDpELmNwbixzZWVrOnYsc2tpcDpuLmp9KTpnLkJkdChuLEQsYix4LGgsdixrKTtlbHNle24udU49Yi5jcG47anMobixiLmNwbiwKYi5zdGFydFRpbWVTZWNzfHxoKTtXPVcuUXg7aWYoRC5wbGF5ZXJUeXBlPT09MSYmYi5wbGF5ZXJUeXBlPT09Mil7bi5TJD0wO0ZraihuLGIpO3ZhciBMPUZ3KG4sImMyYSIsYik7bi5iaihMKTtuLnVmKyt9ZWxzZSBpZihELnBsYXllclR5cGU9PT0yJiZiLnBsYXllclR5cGU9PT0xKXtuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpO0w9RncobiwiYTJjIik7bi5iaihMKTtuLnVmPTA7bi5TJD14O0w9RC5jcG47dmFyIGU9bi5TJDtpZihMIT09bi5ncy5XTigpKXtsZXQgRz1uLnR3LmdldChMKTtHP0cuTj1lOm4uYmooe25vcF9lOkx9KX1nLndHMShuLEQudlApfUw9TTVpKG4pO24uZ3MuY00oRCxiLHgsaCx2LGssVyxMKX1nLlJVaShuKX19OwppcD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPVdebjtpZigobi0xXjI3KT49biYmKG4rMV4yNCk8bil7dmFyIGU9RFtJW0xeNzg2XV0oSVtMXjgxN10pLEc9MDtlWzBdfHxHKys7bGV0IE49e307Zm9yKDtHPGVbSVs1XV07Rys9MillW0ddJiZFYyg1LExeNjc4NixOLGVbR10sZVtHKzFdKTt2YXIgcj1OfShuXjEzKTwyNiYmbi0yPj0xOCYmKGU9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxMXjc3MDEpLEc9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxlKzEpLGU+MCYmRz4wPyhiW0lbTF43Njg1XV09RFtJW0xeNzY5NF1dKDAsRyksRD1EW0lbTF43Njk0XV0oRysxKSk6KGJbSVtMXjc2ODVdXT1ELEQ9SVtMXjc2OTJdKSxyPVtEXSk7bi0zPj4zfHwocj1iKGssaCx4KSk7bj4+MiY3fHwoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgtRClbSVtMXjE3MTZdXSgpW0lbTF4xNjgxXV0oZnVuY3Rpb24oTil7YltJW0xeMTY3MF1dKE4pfSkpOwpyZXR1cm4gcn07CmpzPWZ1bmN0aW9uKG4sVyxEKXtpZihXPT09bi5ncy5XTigpKW1SKG4uYXBwLlZyLG4uZ3MsITEpO2Vsc2V7bGV0IGI9bi50dy5nZXQoVyk7Yj8oVz1iLFcuTj0wLFcuc3RhcnRUaW1lU2Vjcz1ELG1SKG4uYXBwLlZyLGIsITApKTpuLmJqKHtub3BfczpXfSl9fTsKRmtqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcHA7UFQoVlMoRCkpJiZELlZyLldbMl0mJmcuY18obi5sb2dnZXIsMzYwNzE3ODA2LCJTU1RNIGxpbmdlcmluZyBwbGF5YmFjayIpO24uYXBpLlNvKCk7bi5hcGkuV0ooInNlcnZlcnN0aXRjaGVkdmlkZW9jaGFuZ2UiLFcuY3BuLFcuTDMpfTsKY2M9ZnVuY3Rpb24obixXLEQ9MCl7cmV0dXJue0lEOnVhVShuLk4sVyoxRTMsRCoxRTMpLEJFOld9fTsKZy5SZT1mdW5jdGlvbihuLFcpe3ZhciBEPVd8fG4udU4sYj1uLk4uVkUoRCk7Yj8oVz1iLnZpZGVvRGF0YSxEPWIuTDN8fChuLlcuZ2V0KEQpPy5zdGFydD8/MCkvMUUzLG49bi5ncy5nZXRDdXJyZW50VGltZSgpLUQsVy5HQz1uPjA/bjowKTpnLndmKG4pLnZpZGVvRGF0YS5HQz1uLmdzLmdldEN1cnJlbnRUaW1lKCl9OwpnLlF3aT1mdW5jdGlvbihuLFcsRCl7bi5ncy5CbygpO24uZ3Muc2Vla1RvKFcsRCk7bi5ncy5wbGF5VmlkZW8oKX07CkNPPWZ1bmN0aW9uKG4sVyl7bi5MQj1OYU47bi5mQj1udWxsO24uUmEuc3RvcCgpO24uZSQmJlcmJm4uZSQuR18oKTtuLmpXPW51bGw7bi5lJD1udWxsfTsKbko9ZnVuY3Rpb24obil7VjVoKG4pO2Zvcih2YXIgVyBvZiBuLlcudmFsdWVzKCkpVy5zdGFydD49LTEmJlcuZW5kPD1JbmZpbml0eSYmKG4uZ3MucmVtb3ZlQ3VlUmFuZ2UoVyksbi5XLmRlbGV0ZShXLmdldElkKCkpLG4uYmooe3JtQWRDUjoxfSkpO3ZhciB7SUQ6RCxCRTpifT1jYyhuLC0uMDAxKTtEJiYoVz1iKjFFMy1ELm9hLGcuYWUobixELFcsRC5vYStXKSxXPW4uVy5nZXQoRC5jcG4pKSYmKFcuc3RhcnQ9RC5vYSxXLmVuZD1ELm9hK0QuZHVyYXRpb25Ncyk7KHtJRDpXfT1jYyhuLEluZmluaXR5KSk7VyYmbi5KKGBJbnZhbGlkX2NsZWFyRW5kVGltZU1zXyR7SW5maW5pdHl9X3RoYXRfZmFsbHNfZHVyaW5nXyR7YHBsYXliYWNrX2Nwbl8ke1cuY3BufV92aWRlb19pZF8ke1cudmlkZW9EYXRhPy52aWRlb0lkfV9kdXJhdGlvbk1zXyR7Vy5kdXJhdGlvbk1zfV9lbnRlclRpbWVNc18ke1cub2F9X3BhcmVudFJldHVyblRpbWVNc18ke1cuZEl9YH0uX0NoaWxkX3BsYXliYWNrc19jYW5fb25seV9oYXZlX2R1cmF0aW9uX3VwZGF0ZWRfbm90X3RoZWlyX3N0YXJ0LmApfTsKY1JiPWZ1bmN0aW9uKG4pe3VzKG4uVEMpO24uVy5jbGVhcigpO24uTi5jbGVhcigpO24uWXEuY2xlYXIoKTtuLkZGPVtdO24uVj1udWxsO24ueXcuY2xlYXIoKTtuLm51LmNsZWFyKCk7bi5jSj1bXTtuLkR0PVtdO24uczU9W107bi5FNT1bXTtuLlFyLmNsZWFyKCk7bi5NZC5jbGVhcigpO24uVTUuY2xlYXIoKTtuLnlFLmNsZWFyKCk7bi5EPSExO24uUyQ9MDtuLmJkPSExO24uWVo9ITE7bi51Zj0wO24uQ3U9MDtuLlkkPSExO24udUs9ITE7bi5qPSIiO0ZFWihuLmFwcC5Wcik7bVIobi5hcHAuVnIsbi5ncywhMSk7aWYobi5CLlp0KCk/LkooKSlmb3IobGV0IFcgb2Ygbi50dy52YWx1ZXMoKSlXLmRpc3Bvc2UoKTtuLnR3LmNsZWFyKCk7bi5ZLmlzQWN0aXZlKCkmJmcub2Uobil9OwpWNWg9ZnVuY3Rpb24obil7ZERiKG4uTixXPT5XLm9hPj0tMSYmVy5kSTw9SW5maW5pdHkpfTsKZy5hZT1mdW5jdGlvbihuLFcsRCxiKXtXLmR1cmF0aW9uTXM9RDtXLmRJPWI7KGI9bi50dy5nZXQoVy5jcG4pKT9iLmFUKEQvMUUzKTpuLmJqKHtub3BfZDpXLmNwbn0pfTsKZy56Vj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBuLkZGKWlmKFc+PUQuc3RhcnQmJlc8PUQuZW5kKXJldHVybiEwO3JldHVybiExfTsKZy5UVj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uWXEuZ2V0KEQpO2lmKCFrKXtpZihrPVdmKG4sVykpcmV0dXJuIGs7Vz1uLkdNKEQtMSxiPz8yKTtpZih2KXJldHVybiBuLmJqKHttaXNzY3VlOnYsc3E6RCx0eXBlOmIscHJldnNzdGF0ZTpXPy5zbCxwcmV2cmVjb3JkOm4uWXEuaGFzKEQtMSl9KSxuLllxLmdldChELTEpO2lmKFc/LnNsPT09MilyZXR1cm4gbi5iaih7YWRuZjoxLHNxOkQsdHlwZTpiLHByZXZyZWNvcmQ6bi5ZcS5oYXMoRC0xKX0pLG4uWXEuZ2V0KEQtMSl9cmV0dXJuIGt9Owpsd1o9ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKCFuLnVLKWlmKGcuelYobixEKSluLmJqKHtnZHU6InVuZGVjIixzZWc6RCxpdGFnOnZ9KTtlbHNlIGlmKFc9Zy5UVihuLFcsRCxiLGspLCFuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCl8fCFXPy5QTylyZXR1cm4gV307CldmPWZ1bmN0aW9uKG4sVyl7Vys9bi5IMygpO2lmKG4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSl7YTp7dmFyIEQ9bi5OO249VyoxRTM7Zm9yKGIgb2YgRC5KKWlmKEQ9Yi5MMz9iLkwzKjFFMzpiLm9hLG4+PWIub2EtMUUzJiZuPD1EK2IuZHVyYXRpb25NcysxRTMpYnJlYWsgYTt2YXIgYj12b2lkIDB9Yj17SUQ6YixCRTpXfX1lbHNlIGI9Y2MobixXKSxiPy5JRHx8KGI9Y2MobixXLDEpKTtyZXR1cm4gYj8uSUR9OwpkZj1mdW5jdGlvbihuLFcsRD0hMSl7aWYoIUQpe2ZvcihsZXQgYiBvZiBuLkZGKXtpZihXPj1iLnN0YXJ0JiZXPD1iLmVuZClyZXR1cm47aWYoVz09PWIuZW5kKzEpe2IuZW5kKz0xO3JldHVybn19bi5GRi5wdXNoKG5ldyBhd1MoVykpfX07ClRkaj1mdW5jdGlvbihuLFc9IiIpe3ZhciBEPWcuZDEoVyl8fHZvaWQgMDtXJiZEfHxuLmJqKHthZGNmZzpXPy5sZW5ndGgsZGNmZzpEPy5sZW5ndGh9KTtyZXR1cm4gRH07CmxzPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuW107Zm9yKGxldCBiIG9mIG4pYi5jcG4mJkQucHVzaChiLmNwbik7cmV0dXJuIER9OwpuJE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPSExO2lmKEQ9bi5OLk4uZ2V0KEQpKWZvcihsZXQgdiBvZiBEKXYuZHVyYXRpb25NcyE9PTAmJnYuZEkhPT12Lm9hJiYoRD12LmNwbixXPT09RCYmKGI9ITApLGImJiFuLk1kLmhhcyhEKSYmKG4uYmooe2RlY29yYXRlZEFkOkR9KSxuLk1kLmFkZChEKSkpfTsKdmFyIElhMj1mdW5jdGlvbihuLFcpe3JldHVybiBvU1tJWzEwXV0odGhpcywyLDQ0MzksbixXKX07CldMcj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtuPW4uTi5OLmdldChEKTtpZighbilyZXR1cm4tMTtmb3IobGV0IHYgb2Ygbil7aWYodi5jcG49PT1XKXJldHVybiBiO2IrK31yZXR1cm4tMX07CkRhcj1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuIDA7Zm9yKGxldCBiIG9mIG4pYi5kdXJhdGlvbk1zIT09MCYmYi5kSSE9PWIub2EmJkQrKztyZXR1cm4gRH07CmcuYmZ4PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLlcudmFsdWVzKCkpbi5ncy5yZW1vdmVDdWVSYW5nZShXKTtuLlcuY2xlYXIoKTt1cyhuLlRDKX07Ck01aT1mdW5jdGlvbihuKXt2YXIgVz1BcnJheS5mcm9tKG4uYXBwLlZyLkQudmFsdWVzKCkpLEQ9W10sYj1bXSx2PVtdLGs9W10saD1bXSx4PVtdO2Zvcih2YXIgTCBvZiBXKWlmKFc9bi5OLlZFKEwuV04oKSkpbi5iaih7YXR0YWNoX3RyYW5zX21ldGE6Vy5jcG4saGFzX3ZfbWV0YTpXLnNmPzE6MCxoYXNfYV9tZXRhOlcuWU0/MTowLGhhc19jdHhfbWV0YTpXLmpWPzE6MH0pLFcualYmJkQucHVzaChXLmpWKSxXLnNmJiZiLnB1c2goVy5zZiksVy5ZTSYmYi5wdXNoKFcuWU0pLGsucHVzaChXLmNwbiksaC5wdXNoKFcudmlkZW9EYXRhLnZpZGVvSWR8fCIiKSx4LnB1c2goVy52aWRlb0RhdGEuYWRGb3JtYXR8fFcudmlkZW9EYXRhLkZGKSxXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YSE9bnVsbCYmdi5wdXNoKFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhKTtMPXZvaWQgMDtuLnZYJiYobi5iaih7aGFzX2N0eF9saXN0OkQubGVuZ3RoPzE6MCxoYXNfY2xpcF9saXN0OmIubGVuZ3RoPwoxOjB9KSxMPXtqVjpELHJYOmJ9KTtyZXR1cm57UHc6TCxSUDp7YUQ6ayxhcTpoLGFkRm9ybWF0czp4LHNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YTp2fX19OwpnLkJkdD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtpZihXJiZEKXtuLnVOPUQuY3BuO2pzKG4sRC5jcG4sRC5zdGFydFRpbWVTZWNzfHx2KTtGa2oobixEKTt2YXIgeD1GdyhuLCJhMmEiLEQpO24uYmooeCk7bi51ZisrO3g9TTVpKG4pO24uZ3MuY00oVyxELGJ8fDAsdnx8MCwhIWssISFoLHZvaWQgMCx4KX1lbHNlIG4uYmooe21pc3NwYmtvbmFkdHJhbnM6MSxlbnRlcjpEPy5jcG58fCIiLGV4aXQ6Vz8uY3BufHwiIixzZWVrOmssc2tpcDpofSl9OwpnLlJVaT1mdW5jdGlvbihuKXtuLnlFLmFkZChuLmopO24uaj0iIjtuLmJkPSExfTsKdiRoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYjtpZihiPW4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSliPShiPW4uTi5WRShXKSkmJmIudlA/KG49bi5OLk4uZ2V0KGI/LnZQKSkmJm4uc2xpY2UoLTEpWzBdLmNwbj09PVc6ITE7cmV0dXJuIGImJkQ9PT0yPzFFMzowfTsKZy53RzE9ZnVuY3Rpb24obixXKXtpZihuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCkpe3ZhciBEPW4uTi5OLmdldChXKTtpZihEKXtmb3IodmFyIGIgb2YgRCl7bi5iaih7cmVtX21ldGE6Yi5jcG59KTtEPW47bGV0IHY9RC5XLmdldChiLmNwbik7RC5XLmRlbGV0ZShiLmNwbik7diYmRC5ncy5yZW1vdmVDdWVSYW5nZSh2KTt6VWgoRC5OLGIpfW4uWXEuY2xlYXIoKTtiPW4uTjtEPWIuTi5nZXQoVyk/P1tdO2ZvcihsZXQgdiBvZiBEKXpVaChiLHYpO2IuTi5kZWxldGUoVyk7KFc9bi5aaC5nZXQoVykpJiZuLlJ0JiZuLmdzLll5KFcpfX19OwpodnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPW4uVnx8bi5hcHAuTU4oKS5nZXRQbGF5ZXJTdGF0ZSgpO0RMKG4sITApO1c9aXNGaW5pdGUoVyk/VzpuLk4uTlcoKTt2YXIge0lEOnYsQkU6a309YmwobixXKTtXPXYmJiF2ZihuLHYpfHwhdiYmbi5OIT09bi5hcHAuTU4oKTt2YXIgaD1rKjFFMztoPW4uVyYmbi5XLnN0YXJ0PD1oJiZoPD1uLlcuZW5kOyFXJiZofHxrcihuKTt2P2cua3JaKG4sdixrLEQsYik6eHIobixrLEQsYiwiX2V4ZWN1dGUiKX07CmcuTEo9ZnVuY3Rpb24obixXLEQsYil7bi5OLlUoInRpbWVsaW5lZXJyb3IiLHtlOlcsY3BuOkQ/RDp2b2lkIDAsdmlkZW9JZDpiP2I6dm9pZCAwfSl9OwpnLmVhPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBnLmw1KE1hdGgubWF4KDAsbi01RTMpLFc/MHg4MDAwMDAwMDAwMDAwOm4tMSx7bmFtZXNwYWNlOiJjaGlsZHBsYXliYWNrIixwcmlvcml0eTo5fSl9OwpnLnhhaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5MeDtXLkx4PUQ7dmYobixXKSYmKEQ9bi5hcHAuTU4oKSxiLm9JPT09bi5XJiZrcihuKSxELnJlbW92ZUN1ZVJhbmdlKGIub0kpLEQuYWRkQ3VlUmFuZ2UoVy5MeC5vSSkpfTsKZy5rclo9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12ZihuLFcpO2lmKCFrKXtXLnBsYXllclZhcnMucHJlZmVyX2dhcGxlc3M9ITA7dmFyIGg9bmV3IGcuVXIobi5CLFcucGxheWVyVmFycyk7aC5LZj1XLktmO24uYXBpLnoyKGgsVy5wbGF5ZXJUeXBlKX1oPW4uYXBwLk1OKCk7a3x8aC5hZGRDdWVSYW5nZShXLkx4Lm9JKTtoLnNlZWtUbyhELHtxZDoiYXBwbGljYXRpb25fdGltZWxpbmVtYW5hZ2VyIiwuLi5ifSk7TEwyKG4sdil9OwpldnQ9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7Yj1XLktmO3ZhciB2PVcucGxheWVyVmFycyxrPVcucGxheWVyVHlwZTtuLks9Vzt2JiZuLmFwaS5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnModixrLEQsYil9OwpnJFM9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7bi5hcGkuV3Aobi5OLEQsVyl9Owprcj1mdW5jdGlvbihuKXtuLks9bnVsbDtuLlc9bnVsbDtuLmFwaS5kVCgpfHxuLmFwaS5jbGVhclF1ZXVlKCl9Owp2Zj1mdW5jdGlvbihuLFcpe249bi5hcHAuTU4oKTtyZXR1cm4hIW4mJm4uZ2V0VmlkZW9EYXRhKCkuS2Y9PT1XLktmfTsKWGVqPWZ1bmN0aW9uKG4sVyl7dmYobixXKXx8Zy5MSihuLCJjaGlsZFBsYXliYWNrSXNOb3RQcmVzZW50aW5nIik7cmV0dXJuIFcuZEk9PT1XLm9hK1cuZHVyYXRpb25Ncz9XLm9hK24uYXBwLk1OKCkuZ2V0Q3VycmVudFRpbWUoKSoxRTM6Vy5kSX07CmJsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtmb3IobGV0IGIgb2Ygbi5KKXtuPWIub2EvMUUzK0Q7bGV0IHY9bitiLmR1cmF0aW9uTXMvMUUzO2lmKG4+VylicmVhaztpZih2PlcpcmV0dXJue0lEOmIsQkU6Vy1ufTtEPXYtYi5kSS8xRTN9cmV0dXJue0lEOm51bGwsQkU6Vy1EfX07CkRMPWZ1bmN0aW9uKG4sVyl7bi5PPU5hTjtuLkQ9bnVsbDtuLlkuc3RvcCgpO24uWCYmVyYmbi5YLkdfKCk7bi5WPW51bGw7bi5YPW51bGx9Owp4cj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uTjtrIT09bi5hcHAuTU4oKSYmbi5hcHAuWDkoKTtuLkIuUygiaHRtbDVfc2Ficl9jc2RhaV9zZWVrX2xvZyIpfHwodj0iIik7ay5zZWVrVG8oVyx7cWQ6ImFwcGxpY2F0aW9uX3RpbWVsaW5lbWFuYWdlciIrKHY/PyIiKSwuLi5EfSk7TEwyKG4sYil9OwpMTDI9ZnVuY3Rpb24obixXKXtuPW4uYXBwLk1OKCk7dmFyIEQ9bi5nZXRQbGF5ZXJTdGF0ZSgpO1cuaXNPcldpbGxCZVBsYXlpbmcoKSYmIUQuaXNPcldpbGxCZVBsYXlpbmcoKT9uLnBsYXlWaWRlbygpOlcuaXNQYXVzZWQoKSYmIUQuaXNQYXVzZWQoKSYmbi5wYXVzZVZpZGVvKCl9OwpxZWk9ZnVuY3Rpb24obil7dmFyIFc9bi5KLmZpbmQoRD0+dmYobixEKSk7CmlmKFcpe2xldCBEPW4uYXBwLk1OKCk7a3Iobik7bGV0IGI9bmV3IGcubG0oOCk7Vz1YZWoobixXKS8xRTM7eHIobixXLHt9LGIsIl9mb3JjZSIpO0QuVSgiZm9yY2VQYXJlbnRUcmFuc2l0aW9uIix7Y2hpbGRQbGF5YmFjazoxfSk7bi5OLlUoImZvcmNlUGFyZW50VHJhbnNpdGlvbiIse3BhcmVudFBsYXliYWNrOjF9KX19OwpnLmc1PWZ1bmN0aW9uKG4sVz0tMSxEPUluZmluaXR5KXtmb3IobGV0IFt4LExdb2Ygbi5qKXt2YXIgYj14LHY9TDt2LnFJPj1XJiZ2LnRhcmdldCYmdi50YXJnZXQuZEk8PUQmJihuLk4ucmVtb3ZlQ3VlUmFuZ2UoYiksbi5qLmRlbGV0ZShiKSl9Yj1bXTtmb3IobGV0IHggb2Ygbi5KKXgub2E+PVcmJnguZEk8PUQ/KHY9bix2Lks9PT14JiZrcih2KSx2Zih2LHgpJiZ2LmFwcC5YOSgpKTpiLnB1c2goeCk7bi5KPWI7dmFyIHtJRDprLEJFOmh9PWJsKG4sVy8xRTMpO2smJihXPWgqMUUzLGcuR3IxKG4sayxXLGsuZEk9PT1rLm9hK2suZHVyYXRpb25Ncz9rLm9hK1c6ay5kSSkpOyh7SUQ6V309YmwobixELzFFMykpO1cmJmcuTEoobixgSW52YWxpZCBjbGVhckVuZFRpbWVNcz0ke0R9IHRoYXQgZmFsbHMgZHVyaW5nICR7YHBsYXliYWNrPXt0aW1lbGluZVBsYXliYWNrSWQ9JHtXLktmfSB2aWRlb19pZD0ke1cucGxheWVyVmFycy52aWRlb19pZH0gZHVyYXRpb25Ncz0ke1cuZHVyYXRpb25Nc30gZW50ZXJUaW1lTXM9JHtXLm9hfSBwYXJlbnRSZXR1cm5UaW1lTXM9JHtXLmRJfX1gfS5DaGlsZCBwbGF5YmFja3MgY2FuIG9ubHkgaGF2ZSBkdXJhdGlvbiB1cGRhdGVkIG5vdCB0aGVpciBzdGFydC5gKX07CmcuR3IxPWZ1bmN0aW9uKG4sVyxELGIpe1cuZHVyYXRpb25Ncz1EO1cuZEk9YjtiPXtvSTpnLmVhKEQsITApLHFJOkQsdGFyZ2V0Om51bGx9O2cueGFpKG4sVyxiKTt2ZihuLFcpJiZuLmFwcC5NTigpLmdldEN1cnJlbnRUaW1lKCkqMUUzPkQmJihXPVhlaihuLFcpLzFFMyxEPW4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKSx4cihuLFcse30sRCwiX3VwZGF0ZSIpKX07CiRhcj1mdW5jdGlvbihuKXtuJiZuIT09IndlYiImJnRZaS5pbmNsdWRlcyhuKX07CnVScj1mdW5jdGlvbihuLFcpe3JldHVybiBXPyEhbi5OLmdldChXKTohMX07CnJFUz1mdW5jdGlvbihuLFcpe24uZGF0YXNldC52ZXJzaW9uPVd9OwpzOHI9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuUkIsRD0oKT0+e24uRU49bmV3IGcuYnIoMCwwLDAsMCk7bi5JMD1uZXcgZy5icigwLDAsMCwwKX0sYj1oPT57aC5nZXRWaWRlb0RhdGEoKSYmbi51cGRhdGVWaWRlb0RhdGEoaC5nZXRWaWRlb0RhdGEoKSl9LHY9KGgseCk9PntuLmYxKGgseCl9LGs9aD0+e24ubkImJlhTKG4pOwpxNyhuKSE9PW4uUDAmJm4ucmVzaXplKCk7bi5hcHAuRygpLlMoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZuLm04JiYoaC5zdGF0ZS5pc1BhdXNlZCgpP24ubTgucGF1c2UoKTpoLlhRKDgpJiZuLm04LnBsYXlTdGF0ZT09PSJwYXVzZWQiJiZuLm04LnBsYXkoKSl9OwpXLmFkZEV2ZW50TGlzdGVuZXIoImluaXRpYWxpemluZ21vZGUiLEQpO1cuYWRkRXZlbnRMaXN0ZW5lcigidmlkZW9wbGF5ZXJyZXNldCIsYik7Vy5hZGRFdmVudExpc3RlbmVyKCJ2aWRlb2RhdGFjaGFuZ2UiLHYpO1cuYWRkRXZlbnRMaXN0ZW5lcigicHJlc2VudGluZ3BsYXllcnN0YXRlY2hhbmdlIixrKTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57Vy5yZW1vdmVFdmVudExpc3RlbmVyKCJpbml0aWFsaXppbmdtb2RlIixEKTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpZGVvcGxheWVycmVzZXQiLGIpO1cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlkZW9kYXRhY2hhbmdlIix2KTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInByZXNlbnRpbmdwbGF5ZXJzdGF0ZWNoYW5nZSIsayl9KX07ClllaT1mdW5jdGlvbihuKXt2YXIgVz1uLkV6KCksRD0xLGI9ITEsdj1OTncobixXLG4uZ2V0VmlkZW9Bc3BlY3RSYXRpbygpKSxrPW4uYXBwLkcoKSxoPWsuUygiZW5hYmxlX2Rlc2t0b3BfcGxheWVyX3VuZGVybGF5IikseD1GbigpLEw9Zy5kTShrLmV4cGVyaW1lbnRzLCJwbGF5ZXJfdW5kZXJsYXlfbWluX3BsYXllcl93aWR0aCIpO0w9aCYmbi5hSCYmbi5nZXRQbGF5ZXJTaXplKCkud2lkdGg+TDtpZihxNyhuKSl7dmFyIGU9cGVVKG4pO3ZhciBHPWlzTmFOKGUpfHxnLlJnfHxuciYmZy5Hbnx8TDtnLk1MJiYhZy5aWCg2MDEpP2U9di5hc3BlY3RSYXRpbzpHPUd8fGsuY29udHJvbHNUeXBlPT09IjMiO0c/TD8oRz1rLlMoInBsYWNlX3NocnVua2VuX3ZpZGVvX29uX2xlZnRfb2ZfcGxheWVyIik/MTY6bi5nZXRQbGF5ZXJTaXplKCkud2lkdGgtVy53aWR0aC0xNixlPU1hdGgubWF4KChuLmdldFBsYXllclNpemUoKS5oZWlnaHQtVy5oZWlnaHQpLzIsMCksRz1uZXcgZy5icihHLGUsVy53aWR0aCwKVy5oZWlnaHQpLG4ubkIuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRlci1yYWRpdXMiLCIxMnB4IikpOkc9bmV3IGcuYnIoMCwwLFcud2lkdGgsVy5oZWlnaHQpOihEPXYuYXNwZWN0UmF0aW8vZSxHPW5ldyBnLmJyKChXLndpZHRoLXYud2lkdGgvRCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aC9ELHYuaGVpZ2h0KSxEPT09MSYmZy5HbiYmKGU9Ry53aWR0aC1XLmhlaWdodCplLGU+MCYmKEcud2lkdGgrPWUsRy5oZWlnaHQrPWUpKSk7Zy5pSChuLmVsZW1lbnQsInl0cC1maXQtY292ZXItdmlkZW8iLE1hdGgubWF4KEcud2lkdGgtdi53aWR0aCxHLmhlaWdodC12LmhlaWdodCk8MSk7aWYoeHx8bi5jSSluLm5CLnN0eWxlLmRpc3BsYXk9IiI7bi5QMD0hMH1lbHNle0c9LVcuaGVpZ2h0O2cuTUw/Ryo9d2luZG93LmRldmljZVBpeGVsUmF0aW86Zy5zbSYmKEctPXdpbmRvdy5zY3JlZW4uaGVpZ2h0KTtHPW5ldyBnLmJyKDAsRyxXLndpZHRoLFcuaGVpZ2h0KTtpZih4fHxuLmNJKW4ubkIuc3R5bGUuZGlzcGxheT0KIm5vbmUiO24uUDA9ITF9dlkobi5FTixHKXx8KG4uRU49RyxnLkRmKGspPyhuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJ3aWR0aCIsRy53aWR0aCsicHgiLCJpbXBvcnRhbnQiKSxuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLEcuaGVpZ2h0KyJweCIsImltcG9ydGFudCIpKTpOdChuLm5CLEcuZ2V0U2l6ZSgpKSxHPW5ldyBnLk1ZKEcubGVmdCxHLnRvcCksYj1uLm5CLHg9TWF0aC5yb3VuZChHLngpLHggaW5zdGFuY2VvZiBnLk1ZPyhrPXgueCx4PXgueSk6KGs9eCx4PU1hdGgucm91bmQoRy55KSksYi5zdHlsZS5sZWZ0PXNqKGssITEpLGIuc3R5bGUudG9wPXNqKHgsITEpLGI9ITApO1c9bmV3IGcuYnIoKFcud2lkdGgtdi53aWR0aCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aCx2LmhlaWdodCk7dlkobi5JMCxXKXx8KG4uSTA9VyxiPSEwKTtnLmgxKG4ubkIsInRyYW5zZm9ybSIsRD09PTE/IiI6YHNjYWxlWCgke0R9KWApO2gmJkwhPT1uLlp4JiYoTCYmKG4ubkIuYWRkRXZlbnRMaXN0ZW5lcihHQSwKbi5reiksbi5uQi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uY2FuY2VsIixuLmt6KSxuLm5CLmNsYXNzTGlzdC5hZGQoZy5Pbi5WSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORykpLG4uWng9TCxuLmFwcC5SQi5XSigicGxheWVyVW5kZXJsYXlWaXNpYmlsaXR5Q2hhbmdlIixuLlp4PyJ0cmFuc2l0aW9uaW5nIjoiaGlkZGVuIikpO3JldHVybiBifTsKWFM9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuRygpLmNvbnRyb2xzVHlwZT09PSIzIiYmIW4ud0YmJnE3KG4pJiYhbi5hcHAuc2p8fCExO24ubkIuY29udHJvbHM9VztuLm5CLnRhYkluZGV4PVc/MDotMTtuLmFwcC5HKCkuSiYmKG4ubkIuYXJpYUhpZGRlbj0idHJ1ZSIpO1c/bi5uQi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCk6bi5uQi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCl9OwpwZVU9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuTU4oKTtpZihXPVc/Vy5nZXRWaWRlb0RhdGEoKTpudWxsKXtpZihnLkhUKFcpfHxnLmZBKFcpfHxnLkpEKFcpKXJldHVybiAxNi85O2lmKE1zKFcpJiZXLlcuTigpKXJldHVybiBuPVcuVy52aWRlb0luZm9zWzBdLnZpZGVvLHRiKG4ud2lkdGgsbi5oZWlnaHQpfXJldHVybihuPW4ubkIpP3RiKG4udmlkZW9XaWR0aCxuLnZpZGVvSGVpZ2h0KToxNi85fTsKdGI9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWF0aC5hYnMoJHIqVy1uKTwxfHxNYXRoLmFicygkci9uLVcpPDE/JHI6bi9XfTsKTk53PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQsaz10YihXLndpZHRoLFcuaGVpZ2h0KTtuLnJVP3Y9RDxrP0luZmluaXR5OjA6aXNOYU4obi5WUik/aXNOYU4obi5mVCl8fCh2PW4uZlQpOnY9bi5WUjtpc0Zpbml0ZSh2KT92PT09MCYmbi5hcHAuRygpLlp0KCkuTi5RUShIZngpJiYodj1NYXRoLm1pbihELGspKTp2PU1hdGgubWF4KEQsayk7bj12Pms/e3dpZHRoOlcud2lkdGgsaGVpZ2h0Olcud2lkdGgvdixhc3BlY3RSYXRpbzp2fTp2PGs/e3dpZHRoOlcuaGVpZ2h0KnYsaGVpZ2h0OlcuaGVpZ2h0LGFzcGVjdFJhdGlvOnZ9Ont3aWR0aDpXLndpZHRoLGhlaWdodDpXLmhlaWdodCxhc3BlY3RSYXRpbzprfTtifHxpc05hTihEKXx8KEQ+dj9uLndpZHRoPW4uaGVpZ2h0KkQ6RDx2JiYobi5oZWlnaHQ9bi53aWR0aC9EKSxuLmFzcGVjdFJhdGlvPUQpO3JldHVybiBufTsKcTc9ZnVuY3Rpb24obil7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTEpcmV0dXJuITE7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTYpcmV0dXJuITA7dmFyIFc9bi5hcHAuTU4oKTtpZighV3x8Vy5KbigpKXJldHVybiExO249bi5hcHAuUkIuZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtXPSFuLk4oMil8fFcmJlcuZ2V0VmlkZW9EYXRhKCkuSzt2YXIgRD1uLk4oMTAyNCk7cmV0dXJuIG4mJlcmJiFEJiYhbi5pc0N1ZWQoKX07CmZHUz1mdW5jdGlvbihuKXtpZihuLmNzbiE9PWcuUnYoKSlpZihuLmNzbj09PSJVTkRFRklORURfQ1NOIiluLmNzbj1nLlJ2KCk7ZWxzZXt2YXIgVz1nLlJ2KCksRD13NCgpO2lmKFcmJkQpe24uY3NuPVc7Zm9yKGxldCBiIG9mIG4uZWxlbWVudHMpe2xldCB2PWIudmlzdWFsRWxlbWVudDt2JiZ2LmlzQ2xpZW50VmUoKSYmVyYmRCYmKGcubCgiY29tYmluZV92ZV9ncmFmdHMiKT9PMyhJZigpLHYsRCk6UFYodWcpKHZvaWQgMCxXLEQsdikpfX1pZihXKWZvcihsZXQgYiBvZiBuLk4pKG49Yi52aXN1YWxFbGVtZW50KSYmbi5pc0NsaWVudFZlKCkmJkZqKFcsbil9fTsKSkViPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLlk2KXtuLlk2PW4uRChuLlkpO3RyeXtsZXQgRD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt2YXIgVz1zZXRUaW1lb3V0KCgpPT57RC5yZWplY3QoInRpbWVvdXQiKX0sMUU0KTsKbi5ZNi5vbmVycm9yPSgpPT57RC5yZWplY3QoImVycm9yIil9OwpuLlk2Lm9ubWVzc2FnZT0oKT0+e0QucmVzb2x2ZSgpO2NsZWFyVGltZW91dChXKX07CmF3YWl0IEQucHJvbWlzZTtuLlk2Lm9ubWVzc2FnZT1udWxsO24uWTYub25lcnJvcj1udWxsO24uWTYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+dm9pZCBuLnJlY2VpdmUoYikpOwpuLlUoIndvcmtlckN0b3IiLHt9KX1jYXRjaChEKXtjbGVhclRpbWVvdXQoVyksbi5ZNj8udGVybWluYXRlKCksbi5ZNi5vbm1lc3NhZ2U9bnVsbCxuLlk2Lm9uZXJyb3I9bnVsbCxuLlk2PXZvaWQgMCxuLlUoIndvcmtlckVyciIse2U6YCR7RH1gfSl9fX07CklHdz1mdW5jdGlvbihuLFcpe2lmKG4uTiYmbi5OLmJ5dGVMZW5ndGg9PT1XKXJldHVybiBuLk47Zm9yKHZhciBEPW5ldyBVaW50OEFycmF5KFcpLGI9MDtXPjA7KXtsZXQgdj1uZXcgVWludDhBcnJheShNYXRoLm1pbihXLDY1NTM2KSk7Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyh2KTtELnNldCh2LGIpO1ctPXYubGVuZ3RoO2IrPXYubGVuZ3RofXJldHVybiBuLk49RH07ClNlMT1mdW5jdGlvbihuLFcpe24uWTYmJihXPUlHdyhuLFcpLFcubGVuZ3RoPjAmJldbMF0rKyxXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjEsYTk6e2RhdGE6V319LG4ucmVxdWVzdChXKSl9OwpBRWk9YXN5bmMgZnVuY3Rpb24obil7bi5KIT09dm9pZCAwfHxuLld8fChuLlc9ITAsYXdhaXQgSkViKG4pLG4uVz0hMSxuLlk2JiYoU2UxKG4sbi5LKSxuLko9c2V0SW50ZXJ2YWwoKCk9Pnt2YXIgVz1bMSwyLDMsNF07bi5CQiYmKFcucHVzaCg1KSxuLlgmJlcucHVzaCg2KSk7c3dpdGNoKFdbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKlcubGVuZ3RoKV0pe2Nhc2UgMTpTZTEobixuLmopO2JyZWFrO2Nhc2UgMjpuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZToyLGx4OntwbGFjZWhvbGRlcjohMH19LG4ucmVxdWVzdChXKSk7YnJlYWs7Y2FzZSAzOlc9bi5NdztuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZTozLHEwOntNdzpXfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDQ6bi5ZNiYmKFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NCxpc1R5cGVTdXBwb3J0ZWQ6e3BsYWNlaG9sZGVyOiEwfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDU6bi5CQiYmCihXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjUseTg6e0JCOm4uQkJ9fSxuLnJlcXVlc3QoVykpO2JyZWFrO2Nhc2UgNjp2YXIgRD1uLmo7Vz1uLlM3O24uWTYmJihEPUlHdyhuLEQpLFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NixKTDp7ZGF0YTpELFM3Old9fSxuLnJlcXVlc3QoVykpfX0sbi5pbnRlcnZhbE1zKSkpfTsKcjU9ZnVuY3Rpb24obixXLEQpe24uc2VuZE1lc3NhZ2Uoe1sxNjFdOjIsWzExNl06VyxbMTM5XTpEfSl9OwpaZnc9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi50Yi5HKCksRD1XLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKS50cnVzdGVkUGxheWJhY2tXb3JrZXJVcmw7aWYoRD1wdyhEfHxudWxsKSluLlk2PVhNKEQpLG4uTj1uZXcgbWFVKG4uWTYpLG4uWTYuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntnLlhqKGIuZXJyb3IpfSksbi5ZNi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixiPT57dmFyIHY9Yi5kYXRhOwpiPXZbMTE4XTt2YXIgaz12WzE4MF07aWYoaylmb3IodmFyIGggb2Yga1sxMjJdKShrPW4uVy5nZXQoaFsxMTldKSkmJktMWihrLGhbMTUxXSk7c3dpdGNoKGJbMTYxXSl7Y2FzZSAxOmxldCB7WzEwM106ZSxbM106R309YlsxN107c3dpdGNoKGUpe2Nhc2UgMTpsZXQgW3IsTl09RztuLnRiLmNsZWFyUXVldWUocixOKTticmVhaztjYXNlIDI6W2JdPUc7bi50Yi5vblBsYXllclJlcXVlc3RTZW50KGIpO2JyZWFrO2Nhc2UgMzpsZXQgW0gsQSx5XT1HO2lmKGI9eT9uLkouZ2V0KHkpOm51bGwpYj1iLmdldFZpZGVvRGF0YSgpLG4udGIuVmEoSCxBLGIpO2JyZWFrO2Nhc2UgNDpsZXQgW1QseixDXT1HO2I9bi5YLmdldCh6KTtpZighYil0aHJvdyBFcnJvcihgVW5rbm93biBtaXJyb3JlZCBDdWVSYW5nZTogJHt6fWApO24udGIuQ0ooVCxiLEMpO2JyZWFrO2Nhc2UgNTpbYl09RzsoYj1uLkouZ2V0KGIpKSYmbi50Yi5ueShiLmdldFZpZGVvRGF0YSgpKTticmVhaztjYXNlIDY6W2JdPUc7KGI9Cm4uSi5nZXQoYikpJiZuLnRiLmZMKGIuZ2V0VmlkZW9EYXRhKCkpO2JyZWFrO2Nhc2UgNzpuLnRiLkdjKCk7YnJlYWs7ZGVmYXVsdDpnLnBiKGUsdm9pZCAwKX1icmVhaztjYXNlIDI6dj1uLk47aD1iWzExNl07Yj1iWzEzOV07az12Lk4uZ2V0KGgpO3RyeXtrJiZrLnJlamVjdChiKX1maW5hbGx5e3YuTi5kZWxldGUoaCl9YnJlYWs7Y2FzZSAzOnY9bi5OO2g9YlsxMTZdO2I9YlsxMzldO2s9di5OLmdldChoKTt0cnl7ayYmay5yZXNvbHZlKGIpfWZpbmFsbHl7di5OLmRlbGV0ZShoKX1icmVhaztjYXNlIDQ6T2Z0KG4sdik7YnJlYWs7Y2FzZSA1OmJyZWFrO2Nhc2UgNjpiPXZbMTE4XTtoPW4uSy5nZXQoYls5OF0pO3Y9dlsxMzhdO2lmKGgpe2xldCB7WzEwM106cixbM106Tn09YlsxN107c3dpdGNoKHIpe2Nhc2UgImxvYWQiOmgubG9hZCguLi5OKTt2JiZyNShuLk4sdik7YnJlYWs7Y2FzZSAicGxheSI6Yj1oLnBsYXkoLi4uTik7diYmc1oobix2LGJ8fHZvaWQgMCk7YnJlYWs7Y2FzZSAicGF1c2UiOmgucGF1c2UoLi4uTiksCnYmJnI1KG4uTix2KX19YnJlYWs7Y2FzZSA3OmlmKHY9bi5LLmdldChiWzk4XSkpe3ZhciB7WzEzNV06eCxbMTY1XTpMfT1iWzE0NF07Yj12LmVfKCk7c3dpdGNoKHgpe2Nhc2UgImN1cnJlbnRUaW1lIjpiLmN1cnJlbnRUaW1lPUw7YnJlYWs7Y2FzZSAiZGVmYXVsdFBsYXliYWNrUmF0ZSI6Yi5kZWZhdWx0UGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAibG9vcCI6Yi5sb29wPUw7YnJlYWs7Y2FzZSAibXV0ZWQiOmIubXV0ZWQ9TDticmVhaztjYXNlICJwbGF5YmFja1JhdGUiOmIucGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAic3JjIjpMPyhiPW4uRC5nZXQoTCkpJiZ2LnM1KGIpOih2LlZRKCksdi5lJCgpKTticmVhaztkZWZhdWx0OmcucGIoeCx2b2lkIDApfX1icmVhaztjYXNlIDg6aWYodj1uLlcuZ2V0KGJbMTE5XSkpe2xldCB7dHlwZTpyLGFyZ3M6TixsVDpIfT17dHlwZTpiWzQ3XVsxNjFdLGFyZ3M6Yls0N11bM10sbFQ6Wy4uLmJbNDddWzNdXX07c3dpdGNoKHIpe2Nhc2UgImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiOmI9Ck5bMF1bNV07di52aWRlb0RhdGEuWD1iP09OKGIpOm51bGw7SFswXT12LnZpZGVvRGF0YTticmVhaztjYXNlICJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIjpiPU5bMF1bNDhdO3YudmlkZW9EYXRhLko9Yj9PTihiKTpudWxsO0hbMF09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiOmI9TlsxXTtoPSEhdi52aWRlb0RhdGEuZ2V0UGxheWVyUmVzcG9uc2UoKTt6Zih2LnZpZGVvRGF0YSx7cmF3X3BsYXllcl9yZXNwb25zZTpiWzEyNV18fHZvaWQgMH0sIWgsITEpO0hbMV09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaGVhcnRiZWF0cGFyYW1zIjpiPU5bMF07SFswXT17dXJsOmJbMTYyXSxpbnRlcnZhbDpiWzU2XSxyZXRyaWVzOmJbMTQwXX07YnJlYWs7Y2FzZSAibm9uZmF0YWxlcnJvciI6Yj1OWzBdO0hbMF09bmV3IGcuQ2koYls0NV0sYlszOF0sYlsxNDVdKTticmVhaztjYXNlICJzdGF0ZWNoYW5nZSI6Yj1OWzBdO2g9TXdoKGJbMTUxXSk7SFswXT0KbmV3IGcuTjcoaCxNd2goYlsxMTNdKSk7di5wbGF5ZXJTdGF0ZT1oO2JyZWFrO2Nhc2UgInZpZGVvZWxlbWVudGV2ZW50IjpIWzBdPW5ldyBQQlModi5tZWRpYUVsZW1lbnQsTlswXVsxNjFdKX12LmV2ZW50cy5XSihyLC4uLkgpfWJyZWFrO2Nhc2UgOTpuLkQuc2V0KGJbMTAxXSxiWzEwMF0pO2JyZWFrO2RlZmF1bHQ6Zy5wYihiLHZvaWQgMCl9fSksbi5ZNi5wb3N0TWVzc2FnZSh7dHlwZToiQk9PVFNUUkFQIiwKZGF0YTp7aG9zdG5hbWU6d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLGhyZWY6d2luZG93LmxvY2F0aW9uLmhyZWYscHJvdG9jb2w6d2luZG93LmxvY2F0aW9uLnByb3RvY29sLHNlYXJjaDp3aW5kb3cubG9jYXRpb24uc2VhcmNoLHl0Q29uZmlnOntJTk5FUlRVQkVfSE9TVF9PVkVSUklERTp3aW5kb3cubG9jYXRpb24ub3JpZ2luLC4uLmcucWkueXQuY29uZmlnX319fSksbi5zZW5kTWVzc2FnZSh7WzE2MV06MyxbMTc1XTpXLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKX0pfTsKc1o9ZnVuY3Rpb24obixXLEQpe0Q/RC50aGVuKGI9PntyNShuLk4sVyxiKX0sYj0+e24uTi5zZW5kTWVzc2FnZSh7WzE2MV06MSwKWzExNl06VyxbMTM5XTpifSl9KTpyNShuLk4sVyxudWxsKX07Ck9mdD1mdW5jdGlvbihuLFcpe3ZhciBEPVdbMTE4XTtzd2l0Y2goRFsxMDNdKXtjYXNlIDE6bGV0IFtiLHYsa109RFszXTtEPW4udGIuZFEoYix2LGspOyhXPVdbMTM4XSkmJnNaKG4sVyxEKTticmVhaztjYXNlIDI6bGV0IFtoLHhdPURbM107RD1VYWgoeCxoKTsoVz1XWzEzOF0pJiZzWihuLFcsQWUoU2soRCxMPT4oe1sxNl06Zy5sWihMKSxbMTQ2XToiYzFhImluIEwuUlI/IWcudVouaXNJbml0aWFsaXplZCgpOiExfSkpKSk7CmJyZWFrO2Nhc2UgMzpEPW4udGIueWYoKTsoVz1XWzEzOF0pJiZzWihuLFcsRCk7YnJlYWs7ZGVmYXVsdDpnLnBiKERbMTAzXSx2b2lkIDApfX07CnlFMj1mdW5jdGlvbihuKXt2YXIgVz1uLnRiLkcoKSxEPW4udGIubGooKSxiPW4udGIuaGgoKSx2PUQuZ2V0UGxheWVyU2l6ZSgpO0Q9RC5FeigpO1c9e1syM106bi50Yi5GbigpLFs0NF06e1sxXTpXLlMkLFsxMjRdOlcuQ3UsWzEzMV06Vy55RSxbMTQzXTpXLmpXLFsxNTVdOlcuRVp9LFs1OV06bi50Yi5FOCgpLFs2MV06bi50Yi52MygpLFs2Nl06bi50Yi5pc0Z1bGxzY3JlZW4oKSxbNjddOiExLFs3MF06bi50Yi5qSSgpLFs3MV06bi50Yi5pc0lubGluZSgpLFs3Ml06bi50Yi5CUCgpLFs3M106bi50Yi5pc011dGVkKCksWzc1XTpuLnRiLmlzT3JjaGVzdHJhdGlvbkxlYWRlcigpLFs3N106bi50Yi5BbigpLFs4MF06ITEsWzgyXTohMSxbODNdOm4udGIuU0koKSxbODRdOm4udGIuUTAoKSxbMTA2XTpuLnRiLmlzTXV0ZWQoKSxbMTI2XTp7WzE3OV06di53aWR0aCxbNTNdOnYuaGVpZ2h0fSxbMTMzXTpuLnRiLk1OKCkuSEwoKSxbMTM0XTpuLnRiLk1OKCkuVXUoKSxbMTY2XTp7WzE3OV06RC53aWR0aCwKWzUzXTpELmhlaWdodH0sWzE3MV06YixbMTc0XTpuLnRiLmdldFZvbHVtZSgpfTtiPVtdO2ZvcihsZXQgW2ssaF1vZiBuLlcuZW50cmllcygpKXY9ayxEPWguZ2V0VmlkZW9EYXRhKCksYi5wdXNoKHtbMTE5XTp2LFsxNTFdOntbMTY3XTp7WzI1XTpELlJEfX19KTtuLlkmJk9iamVjdC5hc3NpZ24oVyx7WzY3XTpuLnRiLkhvKCksWzgwXTpuLnRiLmdXKCksWzgyXTpuLnRiLmRUKCl9KTtyZXR1cm57WzJdOlcsWzEyMl06Yn19OwpFJE09ZnVuY3Rpb24obixXKXt2YXIgRD1gbWFpbi5jdWVSYW5nZToke24uTysrfWA7aWYobi5YLmdldChEKSlyZXR1cm4gRDtuLlguc2V0KEQsVyk7bi5qLnNldChXLEQpO3JldHVybiBEfTsKaWZDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qLmdldChXKTtpZihEKXJldHVybiBuLmouZGVsZXRlKFcpLG4uWC5kZWxldGUoRCksRH07CktMWj1mdW5jdGlvbihuLFcpe1cmJihPYmplY3QuYXNzaWduKG4uTixXKSxuLmF1ZGlvVHJhY2s9RGMoV1s3XSksbi5YPVhMUyhXWzE0N10pLFc9V1sxNjddKSYmKG4udmlkZW9EYXRhLlR3PVdbMThdLG4udmlkZW9EYXRhLmNhcHRpb25UcmFja3M9V1syMF0ubWFwKEQ9PlZ3KEQpKSxuLnZpZGVvRGF0YS53YT1XWzIxXSxuLnZpZGVvRGF0YS5PJD1XWzE5XSxuLnZpZGVvRGF0YS5HQz1XWzMwXSxuLnZpZGVvRGF0YS52WD1EYyhXWzM1XSksbi52aWRlb0RhdGEuU3c9V1sxNzZdKX07CnU4Yj1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtyZXR1cm4gbi5mYSh7WzE2MV06OSxbMTddOlcsWzExOV06RH0pfTsKZy5wSj1mdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtuLnNlbmRNZXNzYWdlKHtbMTYxXTo5LFsxN106VyxbMTE5XTpEfSl9OwpZcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goe1sxNTBdOm4uc3RhcnQoRCksWzQyXTpuLmVuZChEKX0pO3JldHVybiBXfTsKbyRVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJlc9PT0yPyhuLkIuWnQoKS5OLlFRKEhmKT9uLlZyLk4/LmlzQWQoKT8/ITE6bi5Rdz8uTmQobi5nZXRDdXJyZW50VGltZSgpKSk/bi5pdTotMTpXIT09Mnx8bi5MWSgpP24uaXU6bi5CJH07CnY3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNqJiZuLmdldFZpZGVvRGF0YSgpLm11dGVkQXV0b3BsYXl9Owp2YXIgbXR4PWZ1bmN0aW9uKG4pe3JldHVybiBYRFtJWzEwXV0odGhpcywxNiw0MDI5LG4pfTsKZko9ZnVuY3Rpb24obixXLEQpe1cmJihXPW4uVkUoe3BsYXllclR5cGU6RH0pLFc9PT1uLmNYKCkmJihXLmdldFZpZGVvRGF0YSgpLlBYPSEwKSl9OwpKYj1mdW5jdGlvbihuLFcsRD0hMCxiLHYsayl7dmFyIGg9bi5WRSh7cGxheWVyVHlwZTp2fSkseD1oLmdldFZpZGVvRGF0YSgpO2guZ2V0UGxheWVyVHlwZSgpPT09MiYmIW4uTFkoaCkmJiF4LmlzU2Vla2FibGV8fGcucEEoeCl8fChoJiZoPT09bi5jWCgpJiZuLkhOJiYhZGF0KG4sVykmJm4uc2V0TG9vcFJhbmdlKG51bGwpLG4uc2Vla1RvKFcsRCxiLHYsaywiX3JlcXVlc3QiKSl9OwpBYj1mdW5jdGlvbihuLFcpe1c9bi5WRSh7cGxheWVyVHlwZTpXfSk7Vz1nLklYKG4sVyk7cmV0dXJuIFNhKG4sVy5QRygpLFcpfTsKUGY9ZnVuY3Rpb24obixXLEQpe24uQi5iTiYmKG4uRl89VyxXLm11dGVkfHxLSihuLCExKSxEJiZuLkIuc3RvcmVVc2VyVm9sdW1lJiYhbi5CLnM1JiYoRD17dm9sdW1lOk1hdGguZmxvb3IoVy52b2x1bWUpLG11dGVkOlcubXV0ZWR9LEQudW5zdG9yYWJsZXx8KGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQpLGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQsMjU5MkUzKSkpLE9aKG4pLEQ9Zy5vZCYmbi5tZWRpYUVsZW1lbnQmJiFuLm1lZGlhRWxlbWVudC5YXygpJiYhbi5tZWRpYUVsZW1lbnQuVEMoKSxuLkIuczUmJiFEfHxnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIix7bXV0ZWQ6Vy5tdXRlZCx2b2x1bWU6Vy52b2x1bWUsdW5zdG9yYWJsZTohbi5CLnN0b3JlVXNlclZvbHVtZX0pKX07ClZTPWZ1bmN0aW9uKG4pe3JldHVybiBuLmNYKCkuZ2V0VmlkZW9EYXRhKCl9Owp6djI9ZnVuY3Rpb24obixXPSExKXt2YXIgRD0hMTtuLkIuR0MmJihuLlJCLldKKCJwYWdlVHJhbnNpdGlvbiIpLEQ9ITApO24uc3RvcFZpZGVvKEQsVyl9OwpVWj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtXPXtpZDpXLG5hbWVzcGFjZTpoPz8iYXBwYXBpIn07az09PSJjaGFwdGVyIj8oVy5zdHlsZT1aTC5DSEFQVEVSX01BUktFUixXLnZpc2libGU9ITApOmlzTmFOKHYpfHwoaz09PSJhZCI/Vy5zdHlsZT1aTC5BRF9NQVJLRVI6KFcuc3R5bGU9WkwuVElNRV9NQVJLRVIsVy5jb2xvcj12KSxXLnZpc2libGU9ITApO24uWEgoW25ldyBnLmw1KEQqMUUzLGIqMUUzLFcpXSwxKTtyZXR1cm4hMH07CmxHdz1mdW5jdGlvbihuLFcsRD0hMCxiLHYpe3ZhciBrPW4uVkUoe3BsYXllclR5cGU6MX0pLGg9MDtrLmdldFN0cmVhbVRpbWVPZmZzZXQoKSYmIWsuU1coKSYmKGg9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO0piKG4sVy1oLEQsYiwxLHYpfTsKajgyPWZ1bmN0aW9uKG4pe2lmKG4uQi5zdG9yZVVzZXJWb2x1bWUpcmV0dXJuIHJQKCk7dmFyIFc9bi5pc0lubGluZSgpfHxuLndlYlBsYXllckNvbnRleHRDb25maWcuY29udGV4dElkPT09IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0lOTElORV9QUkVWSUVXIjtyZXR1cm4gbi5adCgpLk4uUVEoVE5DKSYmVz97dm9sdW1lOnJQKCkudm9sdW1lLG11dGVkOm4uQi5tdXRlfTp7dm9sdW1lOjEwMCxtdXRlZDpuLkIubXV0ZX19OwpDQlM9ZnVuY3Rpb24obixXLEQsYix2LGs9ITApe3ZhciBoPW4uaEMoKTtpZighaClyZXR1cm4gayYmbi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjayYmbi5KVi5wdXNoKHtpZDpXLFd1OkQsdHY6Yn0pLCExO2s9aC1uLmdldEN1cnJlbnRUaW1lKCk7cmV0dXJuIFVaKG4sVyxELWssYi1rLHZvaWQgMCx2b2lkIDAsdil9Owp5Wj1mdW5jdGlvbihuLFcpe24ucGxheWxpc3QmJihnLkNwKG4ucGxheWxpc3QpLG4ucGxheWxpc3Q9bnVsbCk7VyYmKG4uWlYmJihXLmZldGNoPTApLG4ucGxheWxpc3Q9bmV3IEJOYihuLkIsVykpfTsKaWw9ZnVuY3Rpb24obixXLEQpe1c9bi5WRSh7cGxheWVyVHlwZTpEfSkuTnAoVyk7RCYmbi5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpIT09RHx8RVoobiwiY3VlcmFuZ2VzcmVtb3ZlZCIsVyl9OwpVYWg9ZnVuY3Rpb24obixXKXtyZXR1cm4gSFAobmV3IGcuRkxVKHtwSzpXLGNsaWVudFBsYXliYWNrTm9uY2U6bn0pKX07CndlVT1mdW5jdGlvbihuLFcsRCxiPUluZmluaXR5LHY9MCl7dmFyIGs9bi5NTigpO0Q9RHx8ay5nZXRQbGF5ZXJUeXBlKCk7KGs9dWwobixELFcsITApKXx8KGs9b1gobixELFcsITApKTtXPW4uY1goKTtEPT09MiYmVyYmKEQ9ay5nZXRWaWRlb0RhdGEoKSxXLlV5KEQuY2xpZW50UGxheWJhY2tOb25jZSxELkZGfHwiIixELmJyZWFrVHlwZXx8MCxELllLLEQudmlkZW9JZHx8IiIpKTtuLldwKGssYiwwLHYpfTsKTVlNPWZ1bmN0aW9uKG4pe3ZhciBXPW4ud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmw7cmV0dXJuIFc/cHcoVykudG9TdHJpbmcoKTpuLndlYlBsYXllckNvbnRleHRDb25maWcuanNVcmx9OwpSdlo9ZnVuY3Rpb24obil7dmFyIFc9IiIsRD0iIixiPU1ZTShuKSx2PWcubGYoYiwiY2IiKTt2JiYvXltcdy1dKyQvLnRlc3QodikmJihEPXYpO2IuaW5kZXhPZigiLy8iKT09PTAmJihiPW4uQi5wcm90b2NvbCsiOiIrYik7dj1iLmxhc3RJbmRleE9mKCIvYmFzZS5qcyIpO3YhPT0tMSYmKFc9Yi5zdWJzdHJpbmcoMCx2KzEpKTtpZihiPUVycm9yKCkuc3RhY2spaWYoYj1iLm1hdGNoKC9cKCguKj9cLyhkZWJ1Zy0pP3BsYXllci0uKj8pOlxkKzpcZCtcKS8pKWI9YlsxXSxiLmluY2x1ZGVzKFcpfHxnLkdxKEVycm9yKGBQbGF5ZXIgbW9kdWxlIFVSTCBtaXNtYXRjaDogJHtifSB2cyAke1d9LmApKTtXPW5ldyBnLmQ1KG4uUkIsVyxEKTtqTGooVyx7ZGVzdHJveWVkOigpPT57bi5vbkFwaUNoYW5nZSgpfX0pOwpyZXR1cm4gV307ClE4eD1mdW5jdGlvbihuKXtpZihuLkIuWnQoKS5OLlFRKG5hKSl7bi5tUS50aWNrKCJ3YXNtX3MiKTtsZXQgVz1FZChuLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCx2b2lkIDAsbi5JbC5iaW5kKG4pKTtuLkIuZUI9U2soVyxEPT57bi5tUS50aWNrKEQuaXNBc21qcz8id2FzbV9mYSI6Indhc21fZnciKTtKdShuLkIsRCk7cmV0dXJuIER9LEQ9PntuLm1RLnRpY2soIndhc21fZmVyciIpOwp0aHJvdyBEO30pfWVsc2UgT28obixmdW5jdGlvbigpe3ZhciBXPXRoaXM7CnJldHVybiBmdW5jdGlvbiooKXtXLm1RLnRpY2soIndhc21fcyIpO3ZhciBEPVFZKFcueDYpP2I9PlNrKERyWihXLng2KSx2PT52LmdCKGIpKTp2b2lkIDA7CnRyeXtsZXQgYj1FZChXLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCxELFcuSWwuYmluZChXKSksdj15aWVsZCpQUChiKTtXLm1RLnRpY2sodi5pc0FzbWpzPyJ3YXNtX2ZhIjoid2FzbV9mdyIpO0p1KFcuQix2KX1jYXRjaChiKXtXLm1RLnRpY2soIndhc21fZmVyciIpfX0oKX0pfTsKVll4PWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBnLlVyKG4uQixuLk5RKTtuLlJCLldKKCJpbml0aWFsdmlkZW9kYXRhY3JlYXRlZCIsVyk7cmV0dXJuIG9YKG4sMSxXLCExKX07CmFHMT1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7Vy5zZXRQbGF5YmFja1JhdGUobi5CLko/MTpjRXIobixOdW1iZXIoZy5aSSgieXQtcGxheWVyLXBsYXliYWNrLXJhdGUiKSl8fDEpKTtXLmgkKG4uWkwsbik7Vy5zbSgpfTsKVzJ3PWZ1bmN0aW9uKG4pe24uamgoKTt2YXIgVz1uLk5RO3pBKG4pO24uZXZlbnRzLk5OKHdpbmRvdywicmVzaXplIixuLkE2KTt2YXIgRD1WUyhuKTtnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIixuLkZfKTtpZihXJiZaVChXKSl7bGV0IGI9dkUobi5CKTtiJiYhbi5aViYmKFcuZmV0Y2g9MCk7bGV0IHY9Zy5vNChuLkIpO3YmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9wcl9zIik7aWYoIWJ8fG4uWlYpaWYodiYmIW4uWlYpbGwobik7ZWxzZSBpZighRC5PVigpKW4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSl9bi5RVChuLmNYKCksITEsITApOwpuLmNYKCkuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCl8fChXPWhnUyghbi5CLmRldmljZUlzQXVkaW9Pbmx5KSxXPT09ImZtdC5ub25lYXZhaWxhYmxlIj9uLktnKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsIm5vY29kZWNzLjEiKTpXPT09Imh0bWw1Lm1pc3NpbmdhcGkiP24uS2coVywyLCJVTlNVUFBPUlRFRF9ERVZJQ0UiLCJub2NhbnBsYXltZWRpYS4xIik6RCYmRC5PVigpJiZDSihuKSYmKG4uQi5VNXx8bi5CLk1kKT9CZihuKTpELkpHP24uUkIubXV0ZWRBdXRvcGxheSh7ZHVyYXRpb25Nb2RlOkQubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZX0pOmcuWkkoInl0LXBsYXllci1wbGF5YmFjay1vbi1yZWxvYWQiKT8oZy56VSgiZW1iZWRzSXRwUGxheWVkT25SZWxvYWQiLHtwbGF5ZWRPblJlbG9hZDohMCxpc0xvZ2dlZEluOiEhbi5CLlRDfSksZy5QQigieXQtcGxheWVyLXBsYXliYWNrLW9uLXJlbG9hZCIsITEpLEJmKG4pKToKbi5CLlk9PT0ibGVhbmJhY2sifHxuNWoobiksZy5lTShuLkIpfHxnLnNkKG4uQik/KGcuY0IoZy5EeSgpLCgpPT57RlMobil9KSxnLmNCKGcuRHkoKSwoKT0+e3g1KCl9KSk6KEZTKG4pLHg1KCkpKX07CkRlYj1mdW5jdGlvbihuKXt2YXIgVz1EPT57RC5zdGFjayYmRC5zdGFjay5pbmRleE9mKCJwbGF5ZXIiKSE9PS0xJiZuLk1OKCkuVWUoRCl9OwpTaS5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTtLdy5wdXNoKFcpO3JldHVybigpPT57U2kudW5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTt2YXIgRD1Ldy5pbmRleE9mKFcpO0QhPT0tMSYmS3cuc3BsaWNlKEQsMSl9fTsKb1g9ZnVuY3Rpb24obixXLEQsYix2KXtpZihuLmZnJiZELk9WKCkpbj1uZXcgZy53NShuLkIsbi5mZyxXLEQpO2Vsc2V7bGV0IGs9bi5tUTtXPT09MiYmKGs9bmV3IGJjUyhuLkIpKTtXPW5ldyBnLk03KG4sbi5CLFcsayxuLnRlbXBsYXRlLG4udmlzaWJpbGl0eSxuLmlqLEQsdixuLmRoLG4uaTcpO24uQi5adCgpLk4uUVEodjVpKSYmbi5uVChELmNsaWVudFBsYXliYWNrTm9uY2UpO249bmV3IGcuUlgoVyl9YiYmbi5zbSgpO3JldHVybiBufTsKY0VyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5SQi5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7Vz1OdW1iZXIoVy50b0ZpeGVkKDIpKTtuPURbMF07RD1EW0QubGVuZ3RoLTFdO1c8PW4/Vz1uOlc+PUQ/Vz1EOihuPU1hdGguZmxvb3IoVyoxMDArLjAwMSklNSxuIT09MCYmKFctPW4qLjAxLFc9TWF0aC5mbG9vcihXKjEwMCsuMDAxKS8xMDApKTtyZXR1cm4gV307ClZaPWZ1bmN0aW9uKG4pe1FaKG4pO24uc2V0TG9vcFZpZGVvKCExKTtuLnNldExvb3BSYW5nZShudWxsKTtuLlJCLldKKCJsZWdhY3lhZHRyYWNraW5ncGluZ3Jlc2V0Iik7bi5hbD17fTtuLkpWPVtdO1pCaihuLm1RKTtpZihuLlF3KXt2YXIgVz1uLlF3LEQ9bi5jWCgpO0QuZ2V0UGxheWVyVHlwZSgpO0NPKFcsITEpO25KKFcpO2NSYihXKTtXLmdzPUR9Vz1uLnNVO249bi5jWCgpO24uZ2V0UGxheWVyVHlwZSgpIT09MSYmZy5MSihXLCJpbnZhbGlkUGFyZW50VmlkZW9QbGF5ZXJUeXBlIik7REwoVywhMSk7Zy5nNShXKTtXLk49bn07Cmswaj1mdW5jdGlvbihuKXt2YXIgVz1uLm1lZGlhRWxlbWVudDt6aSgpP24ua1YuTk4oVywid2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQiLG4udFcpOndpbmRvdy5kb2N1bWVudC5waWN0dXJlSW5QaWN0dXJlRW5hYmxlZCYmKG4ua1YuTk4oVywiZW50ZXJwaWN0dXJlaW5waWN0dXJlIiwoKT0+e24ucEwoITApfSksbi5rVi5OTihXLCJsZWF2ZXBpY3R1cmVpbnBpY3R1cmUiLCgpPT57bi5wTCghMSl9KSk7Cnc4JiYobi5rVi5OTihXLCJ3ZWJraXRiZWdpbmZ1bGxzY3JlZW4iLCgpPT57bi5GTygzKX0pLG4ua1YuTk4oVywid2Via2l0ZW5kZnVsbHNjcmVlbiIsKCk9PntuLkZPKDApfSkpfTsKekE9ZnVuY3Rpb24obil7bi5tZWRpYUVsZW1lbnQ9bi5CLmRldmljZUlzQXVkaW9Pbmx5P25ldyBnLkdWKGcuekYoIkFVRElPIikpOnFLLnBvcCgpfHxuZXcgZy5HVihnLnpGKCJWSURFTyIpKTtuLkIuWnQoKS5OLlFRKGNmKXx8Zy51KG4sbi5tZWRpYUVsZW1lbnQpO24uTU4oKS5zZXRNZWRpYUVsZW1lbnQobi5tZWRpYUVsZW1lbnQpO3RyeXtuLkIuczU/KG4uR3YmJm4uZXZlbnRzLndIKG4uR3YpLG4uR3Y9bi5ldmVudHMuTk4obi5tZWRpYUVsZW1lbnQsInZvbHVtZWNoYW5nZSIsbi56ZCkpOihuLm1lZGlhRWxlbWVudC5jSihuLkZfLm11dGVkKSxuLm1lZGlhRWxlbWVudC5zZXRWb2x1bWUobi5GXy52b2x1bWUvMTAwKSl9Y2F0Y2godil7bi5LZygiaHRtbDUubWlzc2luZ2FwaSIsMiwiVU5TVVBQT1JURURfREVWSUNFIixgc2V0dm9sdW1lLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09Im9iamVjdCImJiJtZXNzYWdlImluIHYmJnR5cGVvZiB2Lm1lc3NhZ2U9PT0ic3RyaW5nIiYmdi5tZXNzYWdlLnJlcGxhY2UoL1s7OixdL2csCiJfIil9YCk7cmV0dXJufW4ua1YuSigpO2swaihuKTt2YXIgVz1uLnRlbXBsYXRlLEQ9bi5tZWRpYUVsZW1lbnQuZV8oKTtXLm5CPUQ7Vy53Rj0hMTtXLm5CLnBhcmVudE5vZGV8fGcuanAoVy5WUCxXLm5CLDApO1cuRU49bmV3IGcuYnIoMCwwLDAsMCk7WWVpKFcpO1hTKFcpO0Q9Vy5uQjtnLlVJKEQsInZpZGVvLXN0cmVhbSIpO2cuVUkoRCxnLk9uLk1BSU5fVklERU8pO3ZhciBiPVcuYXBwLkcoKTtiLmxRJiZELnNldEF0dHJpYnV0ZSgiZGF0YS1uby1mdWxsc2NyZWVuIiwidHJ1ZSIpO2IueGgmJihELnNldEF0dHJpYnV0ZSgid2Via2l0LXBsYXlzaW5saW5lIiwiIiksRC5zZXRBdHRyaWJ1dGUoInBsYXlzaW5saW5lIiwiIikpO2IuSkcmJlcubkImJlcuTk4oRCwiY2xpY2siLEQucGxheSxEKTt0cnl7bi5tZWRpYUVsZW1lbnQuRCgpfWNhdGNoKHYpe24uS2coImh0bWw1Lm1pc3NpbmdhcGkiLDIsIlVOU1VQUE9SVEVEX0RFVklDRSIsYGFjdGl2YXRlLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09CiJvYmplY3QiJiYibWVzc2FnZSJpbiB2JiZ0eXBlb2Ygdi5tZXNzYWdlPT09InN0cmluZyImJnYubWVzc2FnZS5yZXBsYWNlKC9bOzosXS9nLCJfIil9YCl9fTsKRVo9ZnVuY3Rpb24obixXLEQpe24uUkIuV0ooVyxEKTt2YXIgYj1nLms2KG4uQil8fGcuRGYobi5CKXx8Zy5NVihuLkIpO2lmKEQmJmIpe2xldCB2O3N3aXRjaChXKXtjYXNlICJjdWVyYW5nZW1hcmtlcnN1cGRhdGVkIjp2PSJvbkN1ZVJhbmdlTWFya2Vyc1VwZGF0ZWQiO2JyZWFrO2Nhc2UgImN1ZXJhbmdlc2FkZGVkIjp2PSJvbkN1ZVJhbmdlc0FkZGVkIjticmVhaztjYXNlICJjdWVyYW5nZXNyZW1vdmVkIjp2PSJvbkN1ZVJhbmdlc1JlbW92ZWQifXYmJmcuUlQobi5SQix2LEQubWFwKGs9Pih7Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH0sZW5kOmsuZW5kLGlkOmsuZ2V0SWQoKSxuYW1lc3BhY2U6ay5uYW1lc3BhY2U9PT0iYWQiPyJhZCI6IiIsc3RhcnQ6ay5zdGFydCxzdHlsZTprLnN0eWxlLHZpc2libGU6ay52aXNpYmxlLG1hcmtlclBvc2l0aW9uTXM6ay5tYXJrZXJQb3NpdGlvbk1zfSkpKX19OwpoZDE9ZnVuY3Rpb24obixXPSEwKXt2YXIgRDtpZihEPW4uckgpe0Q9bi5ySDt2YXIgYj1uLm1lZGlhRWxlbWVudDtEPSEhYiYmYj09PUQubWVkaWFFbGVtZW50fUQmJihuLmNQKCksekEobikpO0Q9bi5NTigpO0QuY1AoIVcpO0QuTTkobi5zRixuKTtELmdldFBsYXllclR5cGUoKSE9PTEmJkQuZGlzcG9zZSgpO249bi5WcjtXPVtuLkpdO24uSj1uLmNKO1NzKG4sW10sVyl9OwpueD1mdW5jdGlvbihuLFcsRCxiKXtEJiYobi5jUCgpLHpBKG4pKTtEPW4uTU4oKTtELnhLKFcpO3ZhciB2PW4uZ2V0VmlkZW9EYXRhKCksaz17fTtrLnZpZGVvX2lkPXYudmlkZW9JZDtrLmFkZm9ybWF0PXYuYWRGb3JtYXQ7di5pc0xpdmVQbGF5YmFja3x8KGsuc3RhcnQ9RC5nZXRDdXJyZW50VGltZSgpLGsucmVzdW1lPSIxIik7di5pc0xpdmVQbGF5YmFjayYmSTQodikmJmcuR2wobi5CKSYmKGsubGl2ZV91dGNfc3RhcnQ9RC5oQygpLGsucmVzdW1lPSIxIik7di5EJiYoay52dnQ9di5EKTt2LmtXJiYoay52c3NfY3JlZGVudGlhbHNfdG9rZW49di5rVyxrLnZzc19jcmVkZW50aWFsc190b2tlbl90eXBlPXYuUXYpO3Yub2F1dGhUb2tlbiYmKGsub2F1dGhfdG9rZW49di5vYXV0aFRva2VuKTtrLmF1dG9wbGF5PTE7ay5yZWxvYWRfY291bnQ9di5TJCsxO2sucmVsb2FkX3JlYXNvbj1XO3Yub1QmJihrLnVucGx1Z2dlZF9wYXJ0bmVyX29wdF9vdXQ9di5vVCk7di5MQiYmKGsueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXI9CnYuTEIpO3YucGxheWVyUGFyYW1zJiYoay5wbGF5ZXJfcGFyYW1zPXYucGxheWVyUGFyYW1zKTt2LnR3JiYoay5pdGN0PXYudHcpO24ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGssdm9pZCAwLCEwLHZvaWQgMCx2b2lkIDAsYik7Vz09PSJzaWduYXR1cmUiJiZuLlF3JiZhWChuKX07CkwyTT1mdW5jdGlvbihuKXtpZigheGVyKG4pKXt2YXIgVz1uLmNYKCkuaDUoKTtXJiYoVz1XLmJkKCksVyBpbnN0YW5jZW9mIFByb21pc2UmJlcuY2F0Y2goKCk9Pnt9KSk7CldxKG4sVFgobi5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSl9fTsKeGVyPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXlsaXN0JiYoZy5DTihuLkIpfHxuLkIuWT09PSJiYWNrZ3JvdW5kX2F1ZGlvX3BsYXliYWNrIikmJm4ueGwoKT8obi5uZXh0VmlkZW8oITEsITApLCEwKTohMX07CldxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpLGI9RC5nZXRQbGF5ZXJUeXBlKCk7aWYoYiE9PTJ8fG4uTFkoKSl7aWYoYj09PTImJm4uTFkoKXx8Yj09PTV8fGI9PT02fHxiPT09NylpZihXPT09LTF8fFc9PT0wfHxXPT09NSlyZXR1cm47aWYoVz09PTApe2lmKG4uSE4pcmV0dXJuO2lmKEQuY0coKSYmZy5rNihuLkIpKXtuLnBsYXlWaWRlbygpO3JldHVybn19bi5pdSE9PVcmJihuLml1PVcsZy5WVShuLlJCLCJvblN0YXRlQ2hhbmdlIixXKSl9ZWxzZSBuLkIkIT09VyYmKG4uQiQ9VyxnLlZVKG4uUkIsIm9uQWRTdGF0ZUNoYW5nZSIsVykpfTsKREY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5Wci5WRShXKX07CmcuSVg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5MWShXKT9uLmNYKCk6V307CmJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpO3JldHVybiBXPT09bi5jWCgpJiZuLkxZKFcpJiZuLkxZKEQpP0Q6V307CnZxPWZ1bmN0aW9uKG4pe249R3Uobi54Nik7cmV0dXJuISFuJiZuLmxvYWRlZH07CmVkUz1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpLEQ9bi54NjtWWShEKXx8RC5YKCk7IVVkJiZRWShEKSYmYU1VKEQpO3c5KEQsImVtYmVkIik7dzkoRCwia2lkcyIpO3c5KEQsInJlbW90ZSIpO3c5KEQsIm1pbmlwbGF5ZXIiKTt3OShELCJvZmZsaW5lIik7dzkoRCwidW5wbHVnZ2VkIik7dzkoRCwieXBjIiwhMSwhMCk7dzkoRCwid2ViZ2wiLCExLCEwKTtuRGooRCl8fCh3OShELCJjYXB0aW9ucyIsITApLHc5KEQsImVuZHNjcmVlbiIpLEQuTigpLHc5KEQsImNyZWF0b3JlbmRzY3JlZW4iLCEwKSk7RC5ZKCk7RC5BLldKKCJtb2R1bGVzQ3JlYXRlZCIpO24uUkIuV0ooInZpZGVvcmVhZHkiLFcpfTsKYVg9ZnVuY3Rpb24obil7aWYoIXZxKG4pKXtsZXQgVz1URyhuLng2KTtXJiYhVy5jcmVhdGVkJiZSRyhuLng2KSYmVy5jcmVhdGUoKX19OwpPWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpO2lmKCFXLnlsKXt2YXIgRDtuLkIuZXhwZXJpbWVudHMuRXEoImh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb24iKSYmVy5ob3N0Q3BuJiYoRD1raShuLFcuaG9zdENwbik/LmdldFZpZGVvRGF0YSgpLmhnLmooKSk7Vz1uLkIuczU/MTpyNihXLmhnLEQpO0Q9bi5tZWRpYUVsZW1lbnQ7RC5jSihuLkZfLm11dGVkKTt0cnl7RC5zZXRWb2x1bWUobi5GXy52b2x1bWUqVy8xMDApfWNhdGNoe2cuR3EobmV3IGcuUXgoImIxODM3NDIzMDciLGBtdWx0aXBsaWVyOiAke1d9LCB2b2x1bWU6ICR7bi5GXy52b2x1bWV9YCkpfX19Owp2YXIgSjFaPWZ1bmN0aW9uKCl7cmV0dXJuIGVYW0lbMTBdXSh0aGlzLDY3LDQ4NDkpfTsKQ0o9ZnVuY3Rpb24obil7bj1WUyhuKTtuLk9WKCk7cmV0dXJuIEFEKG4pfTsKbGw9ZnVuY3Rpb24obixXKXt2YXIgRD0oVz9XOlZTKG4pKS5RNztuLm1RLnRpY2soImVwX3ByX3IiKTtpZihEIT1udWxsJiYodUF0KG4ucGxheWxpc3QsRCksbi5sSikpbi5wbGF5bGlzdC5vblJlYWR5KCgpPT57VEEobixXKX0pfTsKVEE9ZnVuY3Rpb24obixXKXt2YXIgRD1nLm80KG4uQikmJiFuLkIuTyxiPUQmJlc/VzppdihuLnBsYXlsaXN0KTtXPUQmJlc/VzpuLmdldFZpZGVvRGF0YSgpO2ImJihXLkd1JiYobi5CLlU1fHxuLkIuTWQpfHwhbi5LSD8oVz1XLlBYLGI9bi56MihiLDEpLFcmJmZKKG4sYikpOmhWKG4sYiwxKSk7Zy5vNChuLkIpJiZuLm1RLnRpY2soImVwX3BfbCIpO24ubEo9ITE7Zy5RVShuLlJCLCJvblBsYXlsaXN0VXBkYXRlIil9OwpCZj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoVy5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4hMTtXPVcuZ2V0VmlkZW9EYXRhKCk7Q0oobikmJm4uQi5NZCYmKHFLLmxlbmd0aCYmbi5zaj8oUGYobix7bXV0ZWQ6ITEsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMSkpOnFLLmxlbmd0aHx8bi5GXy5tdXRlZHx8KFBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpLEtKKG4sITApKSk7Q0oobikmJmcubzQobi5CKSYmVy5tdXRlZEF1dG9wbGF5JiYoUGYobix7bXV0ZWQ6ITAsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMCkpO1cuTjAmJlBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpO3VsKG4sMSxXLCExKTt2YXIgRD1uLmNYKCk7bi5SQi5XSigiaW5pdGlhbGl6aW5nbW9kZSIpO24uUVQoRCk7bi5HMigzKTt2YXIgYjtpZighKGI9IW4uQi5HUykpe2lmKGI9bi5ySCl7Yj1uLnJIO3ZhciB2PW4ubWVkaWFFbGVtZW50OwpiPSEhdiYmdj09PWIubWVkaWFFbGVtZW50fWI9YiYmbi5hQ31iJiYobi5jUCgpLHpBKG4pLEQuc2V0TWVkaWFFbGVtZW50KG4ubWVkaWFFbGVtZW50KSk7RC5uTCgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCkpcmV0dXJuITE7Vy5EdHx8V3EobiwzKTtyZXR1cm4gbi5hQz0hMH07Cm41aj1mdW5jdGlvbihuKXtuLlJCLldKKCJpbml0aWFsaXppbmdtb2RlIik7bi5HMigyKTt3OShuLng2LCJyZW1vdGUiKTt3OShuLng2LCJtaW5pcGxheWVyIil9OwpGUz1mdW5jdGlvbihuKXtpZighbi5TKCJ1c2VfcnRhX2Zvcl9wbGF5ZXIiKSlpZihuLlMoImZldGNoX2F0dF9pbmRlcGVuZGVudGx5IikpZy5KYShuLkNOKTtlbHNle3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkuYm90Z3VhcmREYXRhO1cmJmcuekMoVyxuLkIsbi5nZXRWaWRlb0RhdGEoKS5wS3x8IiIpfX07CktKPWZ1bmN0aW9uKG4sVyl7VyE9PW4uc2omJihuLnNqPVcsZy5RVShuLlJCLCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLFcpKX07CnVsPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXhpKG4sVyxEKSxrPW4uVnIuWC5nZXQodil8fG51bGw7aWYoIWspcmV0dXJuIG51bGw7bi5Wci5YLnJlbW92ZSh2KTtpZihrLnFOKCkpcmV0dXJuIG51bGw7aWYoay5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4gay5kaXNwb3NlKCksbnVsbDtpZihrPT09REYobix7cGxheWVyVHlwZTpXfSkpcmV0dXJuIG4ubVEuaW5mb0dlbCh7aXNDYWNoZUhpdDohMH0pLGs7aWYoKGsuZ2V0VmlkZW9EYXRhKCkub2F1dGhUb2tlbnx8RC5vYXV0aFRva2VuKSYmay5nZXRWaWRlb0RhdGEoKS5vYXV0aFRva2VuIT09RC5vYXV0aFRva2VuKXJldHVybiBudWxsO1c9PT0xJiYoVz1uLk1OKCkuZ2V0VmlkZW9EYXRhKCksQUooVykmJlcuaXNBZCgpJiZifHxRWihuKSk7Ynx8bi5RVChrLCEwKTtuLm1RLmluZm9HZWwoe2lzQ2FjaGVIaXQ6ITB9KTtyZXR1cm4ga307CmcuZzVoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKSxEPW4uZ2V0Q3VycmVudFRpbWUoKTtuPW4uZ2V0VmlkZW9EYXRhKCk7RD0xRTMqKEQtbi5zdGFydFNlY29uZHMpO24uaXNMaXZlUGxheWJhY2smJihEPTApO3JldHVybiBXLU1hdGgubWF4KEQsMCl9OwpkYXQ9ZnVuY3Rpb24obixXKXtpZighbi5ITilyZXR1cm4hMTt2YXIgRD1uLkhOLnN0YXJ0VGltZU1zKi4wMDEtMSxiPW4uSE4uZW5kVGltZU1zKi4wMDE7bi5ITi50eXBlPT09InJlcGVhdENoYXB0ZXIiJiZiLS07cmV0dXJuIE1hdGguYWJzKFctRCk8PTFFLTZ8fE1hdGguYWJzKFctYik8PTFFLTZ8fFc+PUQmJlc8PWJ9OwpYUXg9ZnVuY3Rpb24obil7dmFyIFc9bi5NTigpO2lmKG4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIikmJlcuZ2V0VmlkZW9EYXRhKCkuaXNBZCgpPzA6QUooVy5nZXRWaWRlb0RhdGEoKSkmJiFXLklLKCkpVz1BYihuKSoxRTMtbi5nZXRWaWRlb0RhdGEoKS5QTCxuPW4uVGUsaWwobi5hcHAsImdhcGxlc3NzaG9ydHNsb29wcmFuZ2UiKSxXPW5ldyBnLmw1KDAsVyx7aWQ6ImdhcGxlc3Nsb29wcmFuZ2UiLG5hbWVzcGFjZToiZ2FwbGVzc3Nob3J0c2xvb3ByYW5nZSJ9KSwobj1uLmFwcC5NTigpKSYmbi5hZGRDdWVSYW5nZShXKX07Ckcwaj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoIShXLmdldFBsYXllclN0YXRlKCkuTig2NCkmJlZTKG4pLmlzTGl2ZVBsYXliYWNrJiZuLkhOLnN0YXJ0VGltZU1zPDVFMykpe2lmKG4uSE4udHlwZT09PSJyZXBlYXRDaGFwdGVyIil7dmFyIEQ9RCQobi5KNSgpKT8uQjcoKTtsZXQgYj1uLmdldFZpZGVvRGF0YSgpPy5iJDtpZihEIGluc3RhbmNlb2YgcWhTJiZiKXtsZXQgdj0wO2ZvcihsZXQgayBvZiBiKXtpZihrLnN0YXJ0VGltZT5uLkhOLnN0YXJ0VGltZU1zKWJyZWFrO3YrK31ELnJlbmRlckNoYXB0ZXJTZWVraW5nQW5pbWF0aW9uKDAsYlt2PT09MD92OnYtMV0udGl0bGUpfWlzTmFOKE51bWJlcihuLkhOLmxvb3BDb3VudCkpP24uSE4ubG9vcENvdW50PTA6bi5ITi5sb29wQ291bnQrKztuLkhOLmxvb3BDb3VudD09PTEmJmcuUlQobi5SQiwiaW5uZXJ0dWJlQ29tbWFuZCIsbi5nZXRWaWRlb0RhdGEoKS5aTil9RD17cWQ6ImFwcGxpY2F0aW9uX2xvb3BSYW5nZVN0YXJ0In07CmlmKG4uSE4udHlwZT09PSJjbGlwcyJ8fG4uSE4udHlwZT09PSJzaG9ydHNMb29wIilELnNlZWtTb3VyY2U9NTg7Vy5zZWVrVG8obi5ITi5zdGFydFRpbWVNcyouMDAxLEQpfX07ClNhPWZ1bmN0aW9uKG4sVyxEKXtpZihuLkxZKEQpJiYoRD1ELmdldFZpZGVvRGF0YSgpLCFnLkx4KG4pKSl7bj1uLnNVO2Zvcih2YXIgYiBvZiBuLkopaWYoRC5LZj09PWIuS2Ype1crPWIub2EvMUUzO2JyZWFrfWI9Vztmb3IobGV0IHYgb2Ygbi5KKXtpZihELktmPT09di5LZilicmVhaztuPXYub2EvMUUzO2lmKG48VyliKz12LmR1cmF0aW9uTXMvMUUzK24tdi5kSS8xRTM7ZWxzZSBicmVha31yZXR1cm4gYn1yZXR1cm4gV307CmcuTHg9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJiEhbi5Rd307ClFaPWZ1bmN0aW9uKG4peyhuPVRHKG4uSjUoKSkpJiZuLmNyZWF0ZWQmJm4uZGVzdHJveSgpfTsKdHR3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkueWwsRD1uLkIuRHQsYj1uLmlzSW5saW5lKCkmJiFuLmdldFZpZGVvRGF0YSgpLnYxLHY9bi5tZWRpYUVsZW1lbnQ7V3x8RHx8Yj92LmZCKCk6KHYuTEIoKSxQZihuLG4uRl8pKX07CiRlVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5TKCJ3ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5lTShuLkIpfHxuLlMoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5zZChuLkIpfTsKeGk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLms2KG4uQikmJkQudkooKT9gJHtXfV8ke0QudmlkZW9JZH1fJHtELktmfWA6YCR7V31fJHtELnZpZGVvSWR9XyR7RC5LZn1fJHsrRC5pc0F1dG9uYXZ9JHsrRC5WVH1gfTsKcmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcmJm4uQi5MQiYmIW4uZ2V0VmlkZW9EYXRhKCk/LmJhY2tncm91bmRhYmxlPyhuLkZqP24uRmouc3RhcnQoKTpuLlZLKCksITApOiExfTsKc2FpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtpZihXKXRyeXtsZXQgaz1kZWNvZGVVUklDb21wb25lbnQoVyksaD1scChrKTt2YXIgYj1uZXcgQVIobmV3IFM1KFtoXSkpO3ZhciB2PVBHKGIsMzIpO0Q9TnVtYmVyKHZ8fDApfWNhdGNoKGspe24uY1goKS5VKCJnZXRfbHVzdHNfZXJyIix7fSl9cmV0dXJuIER9OwpoVj1mdW5jdGlvbihuLFcsRD0xKXtpZihXLk9WKCkpe3ZhciBiPW9YKG4sRCxXLCExKTtuLmNhbmNlbFBsYXliYWNrKDQsRCk7bi5RVChiKTtiLnNtKCk7RD09PTEmJihuLkcyKDEpLGcubzQobi5CKSYmIVpQKFcpPyhXLmRpc3Bvc2UoKSxuLmNYKCkuZGlzcG9zZSgpKTpuNWoobikpfWVsc2UgVy5kaXNwb3NlKCksKFc9REYobix7cGxheWVyVHlwZTpEfSkpJiZXLmRpc3Bvc2UoKSxQVChWUyhuKSkmJkQ9PT0yJiZuLlNvKCl9OwpOYWI9ZnVuY3Rpb24obixXLEQsYix2KXtXPVFzUyhXLEQsYix2KTsoRD1nLm80KG4uQikmJiFuLkIuTykmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3MiKTtpZihEJiYhbi5aVilEPVZTKG4pLHpicihELFcpLnRoZW4oaz0+e24ubEo9ITA7bGwobixrKX0pOwplbHNlIG4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSk7CmcubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3IiKX07CmtpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9REYobix7cGxheWVyVHlwZToxfSk7aWYoRCl7aWYoRC5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlPT09VylyZXR1cm4gRDtpZigobj1uLlNHLk4pJiZuLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2U9PT1XKXJldHVybiBufXJldHVybiBudWxsfTsKZW89ZnVuY3Rpb24obil7dmFyIFc9c1AoITApO3JldHVybiBXJiYoVz09PW4udGVtcGxhdGUuZWxlbWVudHx8bi5tZWRpYUVsZW1lbnQmJlc9PT1uLm1lZGlhRWxlbWVudC5lXygpKT9XOm51bGx9OwpZaGk9ZnVuY3Rpb24obixXKXt2YXIgRD13aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbjtpZihuLkIudHcmJkQmJkQubG9jayYmKCFnLm9kfHwhcFFqKSlpZihXKXtXPUQudHlwZS5pbmRleE9mKCJwb3J0cmFpdCIpPT09MDtsZXQgYj1uLnRlbXBsYXRlLmdldFZpZGVvQXNwZWN0UmF0aW8oKSx2PVc7YjwxP3Y9ITA6Yj4xJiYodj0hMSk7bi5KUiYmdj09PVd8fChEPUQubG9jayh2PyJwb3J0cmFpdCI6ImxhbmRzY2FwZSIpLEQhPW51bGwmJkQuY2F0Y2goKCk9Pnt9KSxuLkpSPSEwKX1lbHNlIG4uSlImJihuLkpSPSExLEQudW5sb2NrKCkpfTsKSGN0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5VeigpLGI9Vy5oNSgpO2lmKEQmJmImJm42KEQpKXt2YXIgdj1iLmlzVmlldygpP2IubWVkaWFFbGVtZW50OmI7bGV0IGg9Yi5pc1ZpZXcoKT9iLnN0YXJ0OjA7Yj1GZ2IoYikraDt2YXIgaz1MNihELGgsYiwhMCk7bGV0IHg9bmV3IGcuc2codixoLGIsITApO1cubm0oaywhMSwhMCwhMSk7Vy5zZXRNZWRpYUVsZW1lbnQoeCk7az1iKzEwO0Q9TDYoRCxrLEluZmluaXR5LCEwKTt2PW5ldyBnLnNnKHYsayxJbmZpbml0eSwhMSwhMCk7di5ISihEKTtuLlZxPXY7bi5CLldYKCkmJlcuVSgidXNtIix7cG1lOiEwLGNzOmgsY2U6YixuczprfSk7cmV0dXJuITB9cmV0dXJuITF9OwpmNmg9ZnVuY3Rpb24obixXKXtXLmJvdW5kcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBEPVsiZGlzcGxheSIsIm9wYWNpdHkiLCJ2aXNpYmlsaXR5IiwiekluZGV4Il07Zm9yKGxldCBiIG9mIEQpV1tiXT1YbShuLGIpO1cuaGlkZGVuPSEhbi5oaWRkZW59Owp2YXIgU2pVPWZ1bmN0aW9uKCl7cmV0dXJuIFhEW0lbMTBdXSh0aGlzLDQsMzA5NCl9Owp2YXIgSmoyPWZ1bmN0aW9uKG4pe3JldHVybiBuLm5hbWU9PT0iVHlwZUVycm9yIiYmbi5zdGFjay5pbmNsdWRlcygiL3MvcGxheWVyLyIpJiZFeigpPD0xMDV9LGdxPWZ1bmN0aW9uKG4sVyl7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBEPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uaituLlcpKTsKbGV0IGI9TWF0aC5taW4oRCtuLmNvbHVtbnMsbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgpLTE7Zm9yKDtEPD1iO0QrKyluLmFwaS5sb2dWaXNpYmlsaXR5KG4uTltEXS5lbGVtZW50LFcpfX0sWFA9ZnVuY3Rpb24obil7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke24uS31weGA7Cm4ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7bi5LfXB4YDt2YXIgVz1uLnNjcm9sbFBvc2l0aW9uLEQ9bi5jb250YWluZXJXaWR0aC1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aCoobi5qK24uVyk7Zy5pSChuLmVsZW1lbnQsInl0cC1zY3JvbGwtbWluIixXPj0wKTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1tYXgiLFc8PUQpfSxJNlo9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTA7VzxuLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDtXKyspe3ZhciBEPW4uc3VnZ2VzdGlvbkRhdGFbV107CmxldCBrPW4uTltXXTt2YXIgYj1ELnNob3J0Vmlld0NvdW50P0Quc2hvcnRWaWV3Q291bnQ6RC5hdXRob3I7bGV0IGg9RC5NZigpLHg9bi5hcGkuRygpO2lmKGcubzQoeCkmJiF4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciB2PXt9O011KG4uYXBpLFt2XSk7aD1nLkVUKGgsdil9ay5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi10aXRsZSIpO3FsLnRlc3QuY2FsbChxbCxELnRpdGxlKT92LmRpcj0icnRsIjpHZy50ZXN0LmNhbGwoR2csRC50aXRsZSkmJih2LmRpcj0ibHRyIik7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi1hdXRob3IiKTtxbC50ZXN0LmNhbGwocWwsYik/di5kaXI9InJ0bCI6R2cudGVzdC5jYWxsKEdnLGIpJiYodi5kaXI9Imx0ciIpO2sudXBkYXRlKHt2aWV3c19vcl9hdXRob3I6YixkdXJhdGlvbjpELmlzTGl2ZVBsYXliYWNrPyJMaXZlIjpELmxlbmd0aFNlY29uZHM/CmcuSDcoRC5sZW5ndGhTZWNvbmRzKToiIixsaW5rOmgsaG92ZXJfdGl0bGU6RC50aXRsZSx0aXRsZTpELnRpdGxlLGFyaWFfbGFiZWw6RC5hcmlhTGFiZWx8fG51bGwsaXNfbGl2ZTpELmlzTGl2ZVBsYXliYWNrfSk7Yj1ELkdCKCk7ay5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9Yj9gdXJsKCR7Yn0pYDoiIjt4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikmJihuLmFwaS5jcmVhdGVTZXJ2ZXJWZShrLmVsZW1lbnQsayksKEQ9KEQ9RC5zZXNzaW9uRGF0YSkmJkQuaXRjdCkmJm4uYXBpLnNldFRyYWNraW5nUGFyYW1zKGsuZWxlbWVudCxEKSl9Zm9yKDtXPG4uTi5sZW5ndGg7VysrKW4uTltXXS5lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiO1hQKG4pfSxTaFU9ZnVuY3Rpb24obixXLEQpe1cucHJldmVudERlZmF1bHQoKTsKbi5hcGkubG9nQ2xpY2soRCk7Vz1ELmdldEF0dHJpYnV0ZSgiaHJlZiIpO0Q9e307TXUobi5hcGksW0RdKTtXPWcuR0YoRCk/VzpnLkVUKFcsRCk7SkYoVyl9LEFqTT1mdW5jdGlvbihuLFcpe24uQkooInl0cC1lcnJvci1jb250ZW50Iikuc3R5bGUucGFkZGluZ1RvcD0iMHB4IjsKdmFyIEQ9bi5CSigieXRwLWVycm9yLWNvbnRlbnQiKSxiPUQuY2xpZW50SGVpZ2h0O24uTiYmbi5OLnJlc2l6ZShXLFcuaGVpZ2h0LWIpO0Quc3R5bGUucGFkZGluZ1RvcD1gJHsoVy5oZWlnaHQtKG4uTj9uLk4uZWxlbWVudC5jbGllbnRIZWlnaHQ6MCkpLzItYi8yfXB4YH0sSzJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcGkuRygpLGI7ClcucmVhc29uJiYodFYoVy5yZWFzb24pP2I9Zy5iZyhXLnJlYXNvbik6Yj12YyhnLkRwKFcucmVhc29uKSksbi5YKGIsImNvbnRlbnQiKSk7dmFyIHY7Vy5zdWJyZWFzb24mJih0VihXLnN1YnJlYXNvbik/dj1nLmJnKFcuc3VicmVhc29uKTp2PXZjKGcuRHAoVy5zdWJyZWFzb24pKSxuLlgodiwic3VicmVhc29uIikpO2lmKFcucHJvY2VlZEJ1dHRvbiYmVy5wcm9jZWVkQnV0dG9uLmJ1dHRvblJlbmRlcmVyKXtiPW4uQkooInl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uIik7Vz1XLnByb2NlZWRCdXR0b24uYnV0dG9uUmVuZGVyZXI7bGV0IGs9Zy56RigiQSIpO1cudGV4dCYmVy50ZXh0LnNpbXBsZVRleHQmJih2PVcudGV4dC5zaW1wbGVUZXh0LGsudGV4dENvbnRlbnQ9dixtZVUoYix2KXx8RC5EJiYhRC5lbWJlZHNFcnJvckxpbmtzfHwoRD1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy51cmwsVz1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy50YXJnZXQsCkQmJihrLnNldEF0dHJpYnV0ZSgiaHJlZiIsRCksbi5hcGkuY3JlYXRlQ2xpZW50VmUoayxuLDE3ODQyNCksbi5OTihrLCJjbGljayIsaD0+e1NoVShuLGgsayl9KSksVyYmay5zZXRBdHRyaWJ1dGUoInRhcmdldCIsVyksRD1nLnpGKCJESVYiKSxELmFwcGVuZENoaWxkKGspLGIuYXBwZW5kQ2hpbGQoRCkpKX19LHRWPWZ1bmN0aW9uKG4pe2lmKG4ucnVucylmb3IobGV0IFc9MDtXPG4ucnVucy5sZW5ndGg7VysrKWlmKG4ucnVuc1tXXS5uYXZpZ2F0aW9uRW5kcG9pbnQpcmV0dXJuITA7CnJldHVybiExfSxtZVU9ZnVuY3Rpb24obixXKXtuPShufHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkEiKTsKZm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspaWYobltEXS50ZXh0Q29udGVudD09PVcpcmV0dXJuITA7cmV0dXJuITF9LE9jYj1mdW5jdGlvbihuKXt2YXIgVz17fTsKTXUobi5hcGksW1ddKTtuPW4uYXBpLmdldFZpZGVvVXJsKCk7cmV0dXJuIG49Zy5FVChuLFcpfSxQMHQ9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCksRD1uLmFwaS5HKCkuYlYmJiFuLnN0YXRlLk4oMikmJiFuLmFwaS5nZXRWaWRlb0RhdGEoe3BsYXllclR5cGU6MX0pLmlOOwpXLm11dGVkQXV0b3BsYXl8fG4uTUwoRCk7bi5hcGkubG9nVmlzaWJpbGl0eShuLmVsZW1lbnQsRCl9LFVlaj1mdW5jdGlvbihuKXtuLndhdGVybWFya3x8KG4ud2F0ZXJtYXJrPW5ldyBaY3Iobi5hcGkpLGcudShuLG4ud2F0ZXJtYXJrKSxuLndhdGVybWFyay5MdShuLmJvdHRvbUJ1dHRvbnMsMCksZy5pSChuLndhdGVybWFyay5lbGVtZW50LCJ5dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrIiwhMCksbi5OPW5ldyBnLiRpKG4ud2F0ZXJtYXJrLDAsITAsMTAwKSxnLnUobixuLk4pKX0seWpqPWZ1bmN0aW9uKG4pe24uSiYmbi5OJiYobi5OLnNob3coKSxuLlYuc3RhcnQoKSl9LEU1VT1mdW5jdGlvbihuKXtmb3IobGV0IFc9MDtXPDE2OysrVyl7bGV0IEQ9bmV3IGcucnEoe1o6ImEiLApKdzoieXRwLXN1Z2dlc3Rpb24tbGluayIseGE6e2hyZWY6Int7bGlua319Iix0YXJnZXQ6bi5hcGkuRygpLllaLCJhcmlhLWxhYmVsIjoie3thcmlhX2xhYmVsfX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWltYWdlIn0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLW92ZXJsYXkiLHhhOntzdHlsZToie3tibGlua19yZW5kZXJpbmdfaGFja319IiwiYXJpYS1oaWRkZW4iOiJ7e2FyaWFfaGlkZGVufX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLXRpdGxlIixPcToie3t0aXRsZX19In0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWF1dGhvciIsT3E6Int7YXV0aG9yX2FuZF92aWV3c319In0se1o6ImRpdiIseGE6eyJkYXRhLWlzLWxpdmUiOiJ7e2lzX2xpdmV9fSJ9LEp3OiJ5dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbiIsT3E6Int7ZHVyYXRpb259fSJ9XX1dfSk7Zy51KG4sRCk7bGV0IGI9RC5CSigieXRwLXN1Z2dlc3Rpb24tbGluayIpO2cuaDEoYiwKInRyYW5zaXRpb25EZWxheSIsYCR7Vy8yMH1zYCk7bi5qLk5OKGIsImNsaWNrIix2PT57dmFyIGs9VztpZihuLlcpe3ZhciBoPW4uc3VnZ2VzdGlvbkRhdGFba10seD1oLnNlc3Npb25EYXRhO24uSyYmbi5hcGkuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKT8obi5hcGkubG9nQ2xpY2sobi5OW2tdLmVsZW1lbnQpLGs9aC5NZigpLGg9e30sTXUobi5hcGksW2hdKSxrPWcuRVQoayxoKSxSeShrLG4uYXBpLHYpKTpNcCh2LG4uYXBpLG4uSyx4fHx2b2lkIDApJiZuLmFwaS5NMihoLnZpZGVvSWQseCxoLnBsYXlsaXN0SWQpfWVsc2Ugdi5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpfSk7CkQuTHUobi5zdWdnZXN0aW9ucy5lbGVtZW50KTtuLk4ucHVzaChEKTtuLmFwaS5jcmVhdGVTZXJ2ZXJWZShELmVsZW1lbnQsRCl9fSxpY3I9ZnVuY3Rpb24obil7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBXPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uVis4KSk7CmxldCBEPU1hdGgubWluKFcrbi5jb2x1bW5zLG4uc3VnZ2VzdGlvbkRhdGEubGVuZ3RoKS0xO2Zvcig7Vzw9RDtXKyspbi5hcGkubG9nVmlzaWJpbGl0eShuLk5bV10uZWxlbWVudCwhMCl9fSxzNj1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS55WigpPzMyOjE2OwpXPW4uRC8yK1c7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke1d9cHhgO24ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7V31weGA7Vz1uLnNjcm9sbFBvc2l0aW9uO3ZhciBEPW4uY29udGFpbmVyV2lkdGgtbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgqKG4uVis4KTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1taW4iLFc+PTApO2cuaUgobi5lbGVtZW50LCJ5dHAtc2Nyb2xsLW1heCIsVzw9RCl9LG81dz1mdW5jdGlvbihuKXt2YXIgVz1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDsKZm9yKGxldCBrPTA7azxXOysrayl7dmFyIEQ9dm9pZCAwLGI9dm9pZCAwO2xldCBoPXZvaWQgMDtEPW47dmFyIHY9RC5hcGkuRygpO2xldCB4PUQuc3VnZ2VzdGlvbkRhdGFba10sTD1ELk5ba107aD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LnNob3J0Vmlld0NvdW50fHwiIjp4LnNob3J0Vmlld0NvdW50P2Ake3guYXV0aG9yfSBcdTIwMjIgJHt4LnNob3J0Vmlld0NvdW50fWA6eC5hdXRob3I7TC5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7Zy5oMShMLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJpbmxpbmUtYmxvY2siKTt1eWkudGVzdCh4LnRpdGxlKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLXRpdGxlIikuZGlyPSJydGwiKTt1eWkudGVzdChoKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLWF1dGhvciIpLmRpcj0icnRsIik7Yj14LmlzTGl2ZVBsYXliYWNrPyJMaXZlIjp4Lmxlbmd0aFNlY29uZHM/Zy5INyh4Lmxlbmd0aFNlY29uZHMpOiIiO2xldCBlPQp4Lk1mKEQuYXBpLmlzRW1iZWRzU2hvcnRzTW9kZSgpKTtpZihnLm80KHYpJiYhdi5TKCJ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtcyIpKXtsZXQgRz17fTtNdShELmFwaSxbR10pO2U9Zy5FVChlLEcpfXYuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKSYmKHY9KHY9eC5zZXNzaW9uRGF0YSkmJnYuaXRjdCkmJkQuYXBpLnNldFRyYWNraW5nUGFyYW1zKEwuZWxlbWVudCx2KTtMLnVwZGF0ZSh7YXV0aG9yX2FuZF92aWV3czpoLGR1cmF0aW9uOmIsbGluazplLHRpdGxlOngudGl0bGUsYXJpYV9sYWJlbDp4LmFyaWFMYWJlbHx8eC50aXRsZSxpc19saXZlOnguaXNMaXZlUGxheWJhY2ssYXJpYV9oaWRkZW46ISF4LmFyaWFMYWJlbCxibGlua19yZW5kZXJpbmdfaGFjazpnLm9kfHxyYz8id2lsbC1jaGFuZ2U6IG9wYWNpdHkiOnZvaWQgMH0pO2I9TC5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKTsKRD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LkdCKCJocTIuanBnIik6eC5HQigpO2Iuc3R5bGUuYmFja2dyb3VuZEltYWdlPUQ/YHVybCgke0R9KWA6IiJ9aWYoVzwxNilmb3IoO1c8MTY7KytXKWcuaDEobi5OW1ddLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJub25lIik7czYobil9LE5sPWZ1bmN0aW9uKG4pe2lmKCFuLlcpe3ZhciBXPU1hdGgubWluKCgwLGcuUikoKS1uLlYsbi5qKTsKdmFyIEQ9bi5qLVc7Vz1uLmo9PT0wPzA6TWF0aC5tYXgoRC9uLmosMCk7RD1NYXRoLnJvdW5kKEQvMUUzKTtuLlkuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaG9mZnNldCIsYCR7LTIxMSooVysxKX1gKTtuLnVwZGF0ZVZhbHVlKCJkdXJhdGlvbiIsRCk7Vzw9MCYmbi5OP24uc3RvcFRpbWVyKCk6bi5OJiZuLk4uc3RhcnQoKX19LGRleD1mdW5jdGlvbihuKXtuLk58fChuLmo9NUUzLG4uVj0oMCxnLlIpKCksbi5OPW5ldyBnLnBfKCgpPT57Tmwobil9LG51bGwpLE5sKG4pKX0scHg9ZnVuY3Rpb24obil7dmFyIFc9bi5BOwpuPSEhVy5pc0VtYmVkc1Nob3J0c01vZGUoKTtnLmlIKFcuZ2V0Um9vdE5vZGUoKSwieXRwLXNob3J0cy1tb2RlIixuKTtpZihXPVcuZ2V0VmlkZW9EYXRhKCkpVy5TYT1ufSxUYXg9ZnVuY3Rpb24obil7e3ZhciBXPW4uQTsKbGV0IEQ9Vy5HKCk7RC5XaSYmIUQuRCYmZy5vNChEKT9XLmlzRW1iZWRzU2hvcnRzTW9kZSgpPyhXPVcuRTQoKSxXPU1hdGgubWluKFcud2lkdGgsVy5oZWlnaHQpPj0zMTUpOlc9IVcuejYoKTpXPSExfVchPT1uLkQmJihuLkQ9VyxuLmomJihuLmouZGlzcG9zZSgpLG4uaj1udWxsKSxuLlcmJihuLlcuZGlzcG9zZSgpLG4uVz1udWxsKSxuLlgmJihuLlguZGlzcG9zZSgpLG4uWD1udWxsKSxuLkomJihuLkouc3RvcCgpLG4uSi5kaXNwb3NlKCksbi5KPW51bGwpLFcmJihnLmI1KG4uQSksbi5BLmlzRW1iZWRzU2hvcnRzTW9kZSgpJiYobi5YPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1iYWNrZHJvcCIseGE6e3RhYkluZGV4OiItMSJ9fSksZy51KG4sbi5YKSxnLnJ2KG4uQSxuLlguZWxlbWVudCw0KSxuLko9bmV3IGcuJGkobi5YLDFFMywhMSwxMDApLGcudShuLG4uSiksbi5YLmhpZGUoKSksbi5qPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1jb250YWluZXIiLAp4YTp7dGFiSW5kZXg6Ii0xIn19KSxnLnUobixuLmopLG4uVz1uZXcgemRVKG4uQSksZy51KG4sbi5XKSxuLlcuTHUobi5qLmVsZW1lbnQpLGcucnYobi5BLG4uai5lbGVtZW50LDQpLGw2QyhuLG4uQS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSkpfSxsNkM9ZnVuY3Rpb24obixXKXtuLkomJighVy5OKDQpJiYhVy5OKDIpfHxXLk4oMTAyNCk/bi5KLmhpZGUoKTpuLkouc2hvdygpKX0sWWk9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkEuRygpOwpuPXthZFNvdXJjZToiRU1CRURTX0FEX1NPVVJDRV9ZT1VUVUJFIixicmVha1R5cGU6bi5BLmdldEN1cnJlbnRUaW1lKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QUkVfUk9MTCI6bi5BLmdldFBsYXllclN0YXRlKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QT1NUX1JPTEwiOiJFTUJFRFNfQURfQlJFQUtfVFlQRV9NSURfUk9MTCIsZW1iZWRVcmw6QUEobi5BLkcoKS5sb2FkZXJVcmwpLGV2ZW50VHlwZTpXLHlvdXR1YmVIb3N0OmcuSVAobi5BLkcoKS5EYSl8fCIifTtuLmVtYmVkZGVkUGxheWVyTW9kZT1ELmNKO2cuelUoImVtYmVkc0FkRXZlbnQiLG4pfSxudD1bXSxEaXg9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihuKXtmdW5jdGlvbiBXKCl7fQpXLnByb3RvdHlwZT1uO3JldHVybiBuZXcgV30sV1NDPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24obixXLEQpe2lmKG49PUFycmF5LnByb3RvdHlwZXx8bj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gbjsKbltXXT1ELnZhbHVlO3JldHVybiBufSx4Mj1nbG9iYWxUaGlzLHZaPSJJbnQ4IFVpbnQ4IFVpbnQ4Q2xhbXBlZCBJbnQxNiBVaW50MTYgSW50MzIgVWludDMyIEZsb2F0MzIgRmxvYXQ2NCIuc3BsaXQoIiAiKTsKeDIuQmlnSW50NjRBcnJheSYmKHZaLnB1c2goIkJpZ0ludDY0IiksdloucHVzaCgiQmlnVWludDY0IikpO3ZhciBidFM9T2JqZWN0LnNldFByb3RvdHlwZU9mO2hpKCJTeW1ib2wuZGlzcG9zZSIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjpTeW1ib2woIlN5bWJvbC5kaXNwb3NlIil9KTsKaGkoIlN1cHByZXNzZWRFcnJvciIsZnVuY3Rpb24obil7ZnVuY3Rpb24gVyhELGIsdil7aWYoISh0aGlzIGluc3RhbmNlb2YgVykpcmV0dXJuIG5ldyBXKEQsYix2KTt2PUVycm9yKHYpOyJzdGFjayJpbiB2JiYodGhpcy5zdGFjaz12LnN0YWNrKTt0aGlzLm1lc3NhZ2U9di5tZXNzYWdlO3RoaXMuZXJyb3I9RDt0aGlzLnN1cHByZXNzZWQ9Yn0KaWYobilyZXR1cm4gbjt2MkMoVyxFcnJvcik7Vy5wcm90b3R5cGUubmFtZT0iU3VwcHJlc3NlZEVycm9yIjtyZXR1cm4gV30pOwpoaSgiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmZ1bmN0aW9uKFcsRCl7aWYoVyBpbnN0YW5jZW9mIFJlZ0V4cCYmIVcuZ2xvYmFsKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBjYWxsZWQgd2l0aCBhIG5vbi1nbG9iYWwgUmVnRXhwIGFyZ3VtZW50LiIpO3JldHVybiBXIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShXLEQpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhXKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxEKX19KTsKaGkoIkFycmF5LnByb3RvdHlwZS5hdCIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjplVX0pOwpuMncoImF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJTdHJpbmcucHJvdG90eXBlLmF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJQcm9taXNlLndpdGhSZXNvbHZlcnMiLGZ1bmN0aW9uKG4pe3JldHVybiBuP246ZnVuY3Rpb24oKXt2YXIgVyxEO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGIsdil7Vz1iO0Q9dn0pLApyZXNvbHZlOlcscmVqZWN0OkR9fX0pO3ZhciBjSixTVSxrYnQ7Y0o9Y0p8fHt9O2cucWk9dGhpc3x8c2VsZjtTVT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtrYnQ9MDt2YXIgZV93PWNsYXNze2NvbnN0cnVjdG9yKHt1cmw6bixadjpXfSl7dGhpcy5KPW47dGhpcy5YPVc7dGhpcy5XPShuZXcgRGF0ZSkuZ2V0VGltZSgpLTE3MDQwNjcyRTU7dGhpcy5OPXt9O2Zvcih2YXIgRD0vWz8mXShbXiY9XSspPShbXiZdKikvZztXPUQuZXhlYyhuKTspdGhpcy5OW1dbMV1dPVdbMl19fTtnLml4KGcuVGIsRXJyb3IpO2cuVGIucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjt2YXIgSWg7dmFyIE5yaD0vJi9nLHBadz0vPC9nLFl3aT0vPi9nLEh0VT0vIi9nLGYxUz0vJy9nLEppWj0vXHgwMC9nLHNDaD0vW1x4MDAmPD4iJ10vO3ZhciBuYj1nbG9iYWxUaGlzLnRydXN0ZWRUeXBlcyxXTTt2YXIgYl89Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07Zy5laj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk59fTtnLlY1PW5ldyBnLmVqKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBYSSxnMmo7WEk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5PVj1ufX07Zy5HND1bcVUoImRhdGEiKSxxVSgiaHR0cCIpLHFVKCJodHRwcyIpLHFVKCJtYWlsdG8iKSxxVSgiZnRwIiksbmV3IFhJKG49Pi9eW146XSooWy8/I118JCkvLnRlc3QobikpXTsKZzJqPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7Zy5ZMz1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk4rIiJ9fTt2YXIgQUY9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07dmFyIFo0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19O3ZhciBMcD17fTt2YXIgQWlyLG1pMTtBaXI9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtnLno1PS8jfCQvO21pMT0vWz8mXSgkfCMpLzt2YXIgUUc9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihuLFcsRD1FcnJvcigpKXtzdXBlcigpO3RoaXMuY29kZT1uO1crPSI6IjtEIGluc3RhbmNlb2YgRXJyb3I/KHRoaXMubWVzc2FnZT1XK0QubWVzc2FnZSx0aGlzLnN0YWNrPUQuc3RhY2t8fCIiKToodGhpcy5tZXNzYWdlPVcrU3RyaW5nKEQpLHRoaXMuc3RhY2s9IiIpO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O2cuRk0ucHJvdG90eXBlLkhEPSExO2cuRk0ucHJvdG90eXBlLnFOPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSER9OwpnLkZNLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5IRHx8KHRoaXMuSEQ9ITAsdGhpcy5tQSgpKX07CmcuRk0ucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTsKZy5GTS5wcm90b3R5cGUuYWRkT25EaXNwb3NlQ2FsbGJhY2s9ZnVuY3Rpb24obixXKXt0aGlzLkhEP1chPT12b2lkIDA/bi5jYWxsKFcpOm4oKToodGhpcy5CVnx8KHRoaXMuQlY9W10pLFcmJihuPW4uYmluZChXKSksdGhpcy5CVi5wdXNoKG4pKX07CmcuRk0ucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7aWYodGhpcy5CVilmb3IoO3RoaXMuQlYubGVuZ3RoOyl0aGlzLkJWLnNoaWZ0KCkoKX07dmFyIFB4Uz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLndwYz1ufUgkKCl7cmV0dXJuIHRoaXMud3BjLmYoKX15aChuKXt0aGlzLndwYy5jKG4pfVcobil7cmV0dXJuIHRoaXMud3BjLm0oUlAobikpfVpSKG4pe3JldHVybiB0aGlzLndwYy5td3MoUlAobikpfX0sd1Q9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5PMT1uO3RoaXMuVz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTsKdGhpcy5KPXZvaWQgMDt0aGlzLk92PXRoaXMuTzEucDt0aGlzLlg9dGhpcy5TMS5iaW5kKHRoaXMpO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgT3RpKHRoaXMpKX1zbmFwc2hvdChuKXtyZXR1cm4gdGhpcy5PMS5zKHsuLi4obi53XyYme2M6bi53X30pLAouLi4obi5HbCYme3M6bi5HbH0pLC4uLihuLk1PIT09dm9pZCAwJiZ7cDpuLk1PfSl9KX1TMShuKXt0aGlzLk8xLmUobil9UUQoKXtyZXR1cm4gdGhpcy5PMS5sKCl9fTt2YXIgamExPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5iZD0xfXNoYXJlKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJFOkFEIik7dGhpcy5iZCsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuYmR8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciBDMHg9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsYnAoIm1rIikpfWRFKG4sVyl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvZnJzIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiKX19LEJhaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLko9bjtFdShuLCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIixicCgibW4iKSxEWCgiYWMiKSxEWCgic2MiKSxicCgicmsiKSxicCgibWsiKSl9ZEUobixXLEQsYix2LGspe3RoaXMuSi5kRSgiL2NsaWVudF9zdHJlYW16L2JnL3dybCIsbixXLEQsYix2LGspfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy93cmwiKX19LEYyWj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLGJwKCJlbiIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLApuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lYyIpfX0sd1FyPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuSj1uO0V1KG4sIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYnAoImVuIiksYnAoIm1rIikpfWRFKG4sVyxEKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0sTXQxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLERYKCJlYyIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LFJkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIixEWCgiY3MiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywKIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0sUWF4PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixicCgiYXYiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LFZ0aT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsYnAoInN1IiksYnAoIm1rIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxjang9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwKIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixicCgibWsiKSl9ZEUobixXKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIil9fSxhNnc9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGJwKCJldCIpLGJwKCJtayIpKX1kRShuLFcsRCl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9uIil9fTt2YXIgY1c9ITAsVjEsdjI7dmFyIEhxO0hxPU5pKDEsITApO2cucXg9TmkoNjEwNDAxMzAxLCExKTtOaSg4OTk1ODg0MzcsITEpO05pKDc3MjY1Nzc2OCwhMCk7TmkoNTEzNjU5NTIzLCExKTtOaSg1NjgzMzM5NDUsITApO05pKDEzMzE3NjE0MDMsITApO05pKDY1MTE3NTgyOCwhMSk7TmkoNzIyNzY0NTQyLCExKTtOaSg3NDg0MDIxNDUsITEpO05pKDc0ODQwMjE0NiwhMSk7dmFyIEF2PU5pKDc0ODQwMjE0NywhMCk7TmkoMTYwMjYxMzE4NSwhMSk7TmkoODYxMzc3NzIzLCExKTtOaSg4NjEzNzc3MjQsSHEpO05pKDg2OTMzNjkwMywhMSk7TmkoODgyNjc0NTA3LCExKTtOaSg4NjkzMzY5MDQsSHEpO05pKDg2OTMzNjkwNSxIcSk7TmkoMjgzOTUzMTU1LCExKTtOaSg5MTk0NDQ4MjQsITEpO05pKDkzMTQ2ODA0NywhMSk7TmkoOTI4ODc1Mzk4LCExKTtOaSg2ODM3NDkyMDEsITEpO05pKDIxNDc0ODM2NDQsITEpO05pKDIxNDc0ODM2NDUsITEpO05pKDIxNDc0ODM2NDYsSHEpO05pKDIxNDc0ODM2NDcsITApO2cuR2g9ISFnLnJyKCJ5dC5jb25maWdfLkVYUEVSSU1FTlRTX0ZMQUdTLmh0bWw1X2VuYWJsZV9jbGllbnRfaGludHNfb3ZlcnJpZGUiKTt2YXIgbnpiO256Yj1nLnFpLm5hdmlnYXRvcjtnLnQ0PW56Yj9uemIudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO2cuT0FbIiAiXT1mdW5jdGlvbigpe307dmFyIHJjLG5yLHBRaixXVVosRDRpLGJpVSxYdyxmeDtyYz1OeCgpO2cua2g9c0EoKT8hMTpnLnJXKCJUcmlkZW50Iil8fGcuclcoIk1TSUUiKTtnLlJnPWcuclcoIkVkZ2UiKTtnLnNtPWcuUmd8fGcua2g7Zy5lUz1nLnJXKCJHZWNrbyIpJiYhKGcud3IoZy5YUSgpLCJXZWJLaXQiKSYmIWcuclcoIkVkZ2UiKSkmJiEoZy5yVygiVHJpZGVudCIpfHxnLnJXKCJNU0lFIikpJiYhZy5yVygiRWRnZSIpO2cuWmw9Zy53cihnLlhRKCksIldlYktpdCIpJiYhZy5yVygiRWRnZSIpO25yPWcubXgoKTtwUWo9Zy5LMCgpO2cuUUg9Zy5JMigpO1dVWj1TdSgpO0Q0aT1nLnJXKCJpUGFkIik7YmlVPWcuclcoImlQb2QiKTtYdz1nLkE0KCk7Zy5XWD1nLndyKGcuWFEoKSwiS2FpT1MiKTsKYTp7bGV0IG49IiIsVz1mdW5jdGlvbigpe3ZhciBEPWcuWFEoKTtpZihnLmVTKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoRCk7aWYoZy5SZylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKEQpO2lmKGcua2gpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKEQpO2lmKGcuWmwpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoRCk7aWYocmMpcmV0dXJuLyg/OlZlcnNpb24pWyBcL10/KFxTKykvLmV4ZWMoRCl9KCk7ClcmJihuPVc/V1sxXToiIik7aWYoZy5raCl7dmFyIEpWO2xldCBEPWcucWkuZG9jdW1lbnQ7SlY9RD9ELmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoSlYhPW51bGwmJkpWPnBhcnNlRmxvYXQobikpe2Z4PVN0cmluZyhKVik7YnJlYWsgYX19Zng9bn12YXIgUDI9ZngsaXR4PXt9O3ZhciB3OCxNWDtnLmFvPXAwKCk7dzg9U3UoKXx8Zy5yVygiaVBvZCIpO01YPWcuclcoImlQYWQiKTtnLkltPWcuclcoIkFuZHJvaWQiKSYmIShZSygpfHxwMCgpfHxOeCgpfHxnLnJXKCJTaWxrIikpO2cub2Q9WUsoKTtnLkduPWcuSDIoKSYmIWcuQTQoKTt2YXIgeWw9e30sVGg9bnVsbDt2YXIganU9L1stXy5dL2csZGlVPXsiLSI6IisiLF86Ii8iLCIuIjoiPSJ9LHdXPXt9O3ZhciBGUT1jbGFzc3tpc0VtcHR5KCl7cmV0dXJuIHRoaXMuTj09bnVsbH1zaXplQnl0ZXMoKXt2YXIgbj1RbCh0aGlzKTtyZXR1cm4gbj9uLmxlbmd0aDowfWNvbnN0cnVjdG9yKG4sVyl7UjIoVyk7dGhpcy5OPW47aWYobiE9bnVsbCYmbi5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJCeXRlU3RyaW5nIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vbi1lbXB0eSB2YWx1ZXMiKTt9fSxCMjt2YXIgYTI9dm9pZCAwO3ZhciBiND1XOSgiamFzIiwhMCksTG49VzkoKSxrOT1XOSgpLExHPVc5KCksUk1iPVc5KCksUUNpPVc5KCksRzRTPVc5KCksRFVpPVc5KCksdkg9VzkoIm1fbSIsITApLGNpVT1XOSgpLHFFPVc5KCk7Wy4uLk9iamVjdC52YWx1ZXMoe014OjEsRVk6MixHTDo0LFltOjgsalo6MTYsVFQ6MzIsUFE6NjQsTng6MTI4LGZoOjI1NixhTjo1MTIsYVU6MTAyNCxQbToyMDQ4LHI0OjQwOTYsYU86ODE5Mn0pXTt2YXIgenosdnp4PVtdO3Z6eFtiNF09Nzt6ej1PYmplY3QuZnJlZXplKHZ6eCk7dmFyIGt2PXt9LERCPXt9LEckPU9iamVjdC5mcmVlemUoe30pLFNvPXt9LHhVPXt9O3ZhciBZbyx3V2osa0N4O2cudF89cTMobj0+dHlwZW9mIG49PT0ibnVtYmVyIik7CmcuRzk9cTMobj0+dHlwZW9mIG49PT0ic3RyaW5nIik7CllvPXEzKG49Pm4hPW51bGwmJnR5cGVvZiBuPT09Im9iamVjdCImJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iKTsKd1dqPXEzKG49PnR5cGVvZiBuPT09ImZ1bmN0aW9uIik7CmtDeD1xMyhuPT4hIW4mJih0eXBlb2Ygbj09PSJvYmplY3QifHx0eXBlb2Ygbj09PSJmdW5jdGlvbiIpKTt2YXIgc0s9cTMobj0+bj49aDNqJiZuPD14NGopLGgzaj1CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpLHg0aj1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO3ZhciByWj0wLHNfPTAsR3Y7dmFyIGRaPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwLEJyaD10eXBlb2YgQmlnSW50PT09ImZ1bmN0aW9uIj9CaWdJbnQuYXNVaW50Tjp2b2lkIDAsalg9TnVtYmVyLmlzU2FmZUludGVnZXIsUDk9TnVtYmVyLmlzRmluaXRlLFQ5PU1hdGgudHJ1bmMsbDEyPS9eLT8oWzEtOV1bMC05XSp8MCkoXC5bMC05XSspPyQvO3ZhciBhMVU9e307dmFyIFhGPWNsYXNze30sTVVpPXtKUzohMH07dmFyICR2O3ZhciBISCxmRzt2YXIgdjNpPWcuJFUoMCksZm49e307dmFyIE9WPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmJ1ZmZlcj1uO2lmKEQmJiFXKXRocm93IEVycm9yKCk7dGhpcy5OPVd9fTt2YXIgTFVyPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIpe3RoaXMuSj1udWxsO3RoaXMuVj0hMTt0aGlzLmo9bnVsbDt0aGlzLk49dGhpcy5XPXRoaXMuWD0wO3RoaXMuaW5pdChuLFcsRCxiKX1pbml0KG4sVyxELHtuXzpiPSExLGhCOnY9ITF9PXt9KXt0aGlzLm5fPWI7dGhpcy5oQj12O24mJihuPVBXKG4sdGhpcy5oQiksdGhpcy5KPW4uYnVmZmVyLHRoaXMuVj1uLk4sdGhpcy5qPW51bGwsdGhpcy5YPVd8fDAsdGhpcy5XPUQhPT12b2lkIDA/dGhpcy5YK0Q6dGhpcy5KLmxlbmd0aCx0aGlzLk49dGhpcy5YKX1mcmVlKCl7dGhpcy5jbGVhcigpO0FWLmxlbmd0aDwxMDAmJkFWLnB1c2godGhpcyl9Y2xlYXIoKXt0aGlzLko9bnVsbDt0aGlzLlY9ITE7dGhpcy5qPW51bGw7dGhpcy5OPXRoaXMuVz10aGlzLlg9MDt0aGlzLm5fPSExfXJlc2V0KCl7dGhpcy5OPXRoaXMuWH19LEFWPVtdO3ZhciBSWT0wLGhCUz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiKXtpZihBVi5sZW5ndGgpe2xldCB2PUFWLnBvcCgpO3YuaW5pdChuLFcsRCxiKTtuPXZ9ZWxzZSBuPW5ldyBMVXIobixXLEQsYik7dGhpcy5OPW47dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTE7akUodGhpcyxiKX1mcmVlKCl7dGhpcy5OLmNsZWFyKCk7dGhpcy5KPXRoaXMuVz0tMTtUJC5sZW5ndGg8MTAwJiZUJC5wdXNoKHRoaXMpfXJlc2V0KCl7dGhpcy5OLnJlc2V0KCk7dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTF9fSxUJD1bXTt2YXIgZTNyPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoU28hPT1Tbyl0aHJvdyBFcnJvcigpO319O3ZhciB2eT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxoMyxlQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxnRyxyRyxOZixwaCwkbSx0MyxxZixHUzt2YXIgZ3pNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLk4ubGVuZ3RofWVuZCgpe3ZhciBuPXRoaXMuTjt0aGlzLk49W107cmV0dXJuIG59fTt2YXIgWCQyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPVtdO3RoaXMuSj0wO3RoaXMuTj1uZXcgZ3pNfX07dmFyIGxHLHEzWixtNyxHQzIsdDJoLCQ0aSxyWEMsUHEsc2YyLE5NVSxwJFU7bEc9b3goKTtxM1o9b3goKTttNz1veCgpO2cuS3g9b3goKTtHQzI9b3goKTt0Mmg9b3goKTskNGk9b3goKTtnLk82PW94KCk7clhDPW94KCk7UHE9b3goKTtzZjI9b3goKTtnLlpGPW94KCk7Tk1VPW94KCk7cCRVPW94KCk7Zy5RbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5sOT1KdihuLFcsRCwyMDQ4KX10b0pTT04oKXtyZXR1cm4gWXYodGhpcyl9Ylkobil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFl2KHRoaXMsbikpfWNsb25lKCl7dmFyIG49dGhpcy5sOSxXPW5bYjRdfDA7cmV0dXJuIEtHKHRoaXMsbixXKT9PSyh0aGlzLG4sITApOm5ldyB0aGlzLmNvbnN0cnVjdG9yKG1fKG4sVywhMSkpfX07Zy5RbS5wcm90b3R5cGVbdkhdPWt2O2cuUW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubDkudG9TdHJpbmcoKX07dmFyIHpTPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmNqPW47dGhpcy5Qaj1XO249RXcobEcpO3RoaXMuTj0hIW4mJkQ9PT1ufHwhMX19LExjdD1UUyhmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7UTEobixoUyhXLGIsRCksdik7cmV0dXJuITB9LENoKSxlQnQ9VFMoZnVuY3Rpb24obixXLEQsYix2KXtpZihuLkohPT0yKXJldHVybiExOwpRMShuLGhTKFcsYixEKSx2KTtyZXR1cm4hMH0sQ2gpLHZPPVN5bWJvbCgpLGN5PVN5bWJvbCgpLFdPPVN5bWJvbCgpLHhuPVN5bWJvbCgpLEQ4PVN5bWJvbCgpLEJ5LEZ0O3ZhciBTNixVNix5cCxZM0MsaVUsSGl3LGZxdyx1VSx6ZyxsVSxUZyxqbyxKWFMsSXFqO1M2PShuLFcpPT57dmFyIEQ9bmV3IFgkMjtMOChuLmw5LEQsd0codk8sYjYsa24sVykpO0EzKEQsRC5OLmVuZCgpKTtuPW5ldyBVaW50OEFycmF5KEQuSik7Vz1ELlc7dmFyIGI9Vy5sZW5ndGgsdj0wO2ZvcihsZXQgaz0wO2s8YjtrKyspe2xldCBoPVdba107bi5zZXQoaCx2KTt2Kz1oLmxlbmd0aH1ELlc9W25dO3JldHVybiBufTsKVTY9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxnLmRlKG4uTikpO3JldHVybiEwfSxnLnQ5LGcuWkYpOwp5cD1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO3ZhciBiPXVhKG4uTik7bj0oYj4+MzEpKjIrMTt2YXIgdj1iPj4+MjMmMjU1O2ImPTgzODg2MDc7Zy5xWShXLEQsdj09MjU1P2I/TmFOOm4qSW5maW5pdHk6dj09MD9uKjEuNDAxMjk4NDY0MzI0ODE3RS00NSpiOm4qTWF0aC5wb3coMix2LTE1MCkqKGIrODM4ODYwOCkpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1tMChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixEPUd2fHwoR3Y9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLEQuc2V0RmxvYXQzMigwLCtXLCEwKSxzXz0wLHJaPUQuZ2V0VWludDMyKDAsITApLEozKG4sclopKX0sc2YyKTsKZy5FNj1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtuLkohPT0wP249ITE6KGcucVkoVyxELGcuVVYobi5OLGcuSl8pKSxuPSEwKTtyZXR1cm4gbn0sZy4kbixnLk82KTsKWTNDPWcuZ1EoZnVuY3Rpb24obixXLEQpe24uSiE9PTA/bj0hMTooZy5xWShXLEQsZy5VVihuLk4sZjUpKSxuPSEwKTtyZXR1cm4gbn0sZnVuY3Rpb24obixXLEQpe1c9YTAoVyk7CmlmKFchPW51bGwmJihQeShXKSxXIT1udWxsKSlzd2l0Y2gobTQobixELDApLHR5cGVvZiBXKXtjYXNlICJudW1iZXIiOm49bi5OO3A1KFcpO0h5KG4sclosc18pO2JyZWFrO2Nhc2UgImJpZ2ludCI6RD1ZbShXLHZ5LGttKTtIeShuLk4sRC5KLEQuTik7YnJlYWs7ZGVmYXVsdDpEPXhtKFcpLEh5KG4uTixELkosRC5OKX19LHJYQyk7CmlVPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pKTtyZXR1cm4hMH0sZy5yUSxnLkt4KTsKSGl3PWcuZ1EoZnVuY3Rpb24obixXLEQpe3JldHVybiBKOShuLFcsRCl9LGZ1bmN0aW9uKG4sVyxEKXtXPWEwKFcpOwppZihXIT1udWxsKXN3aXRjaCh1RyhXKSxtNChuLEQsMSksbj1uLk4sdUcoVyksdHlwZW9mIFcpe2Nhc2UgIm51bWJlciI6VzwwPyhXPUxoKGttKC1XKSksRD1XLk4sSjMobixXLkopLEozKG4sRCkpOihOMyhXKSxKMyhuLHJaKSxKMyhuLHNfKSk7YnJlYWs7Y2FzZSAiYmlnaW50IjpXPVc8QmlnSW50KDApP0xoKFltKC1XLHZ5LGttKSk6WW0oVyx2eSxrbSk7RD1XLk47SjMobixXLkopO0ozKG4sRCk7YnJlYWs7ZGVmYXVsdDpXPVcubGVuZ3RoJiZXWzBdPT09Ii0iP0xoKHhtKFcuc3Vic3RyaW5nKDEpKSk6eG0oVyksRD1XLk4sSjMobixXLkopLEozKG4sRCl9fSxQcSk7CmZxdz1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO2cucVkoVyxELHVhKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz11NChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxKMyhuLk4sVykpfSx0MmgpOwp1VT1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wKXJldHVybiExO2cucVkoVyxELHkxKG4uTikpO3JldHVybiEwfSxzZixxM1opOwpnLm9tPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7Zy5xWShXLEQsYVkobikpO3JldHVybiEwfSxOWSxtNyk7CmcuZHE9ZnVuY3Rpb24obixXLEQ9bEcpe3JldHVybiBuZXcgelMobixXLEQpfShmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7CmI9U1codm9pZCAwLGIpO2NIKFcsV1tiNF18MCxEKS5wdXNoKGIpO1ExKG4sYix2KTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylwOChuLFdba10sRCxiLHYpOwpuPVdbYjRdfDA7biYxfHwoV1tiNF09bnwxKX19KTsKemc9VFMoZnVuY3Rpb24obixXLEQsYix2LGspe2lmKG4uSiE9PTIpcmV0dXJuITE7dmFyIGg9V1tiNF18MDtXVyhXLGgsayxELEw1KGgpKTtXPWhTKFcsYixEKTtRMShuLFcsdik7cmV0dXJuITB9LHA4KTsKbFU9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MilyZXR1cm4hMTtnLnFZKFcsRCxEOShuKSk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPW5HKFcpOwpXIT1udWxsJiZpRyhuLEQsUFcoVywhMCkuYnVmZmVyKX0sTk1VKTsKVGc9WGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1EOShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYobkcsVywhMSk7CmlmKFchPW51bGwpZm9yKGxldCBoPTA7aDxXLmxlbmd0aDtoKyspe3ZhciBiPW4sdj1ELGs9V1toXTtrIT1udWxsJiZpRyhiLHYsUFcoaywhMCkuYnVmZmVyKX19LE5NVSk7CmpvPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pPj4+MCk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPXU0KFcpOwpXIT1udWxsJiZXIT1udWxsJiYobTQobixELDApLEl4KG4uTixXKSl9LEdDMik7CmcuQ3g9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MClyZXR1cm4hMTtnLnFZKFcsRCxnLkVWKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7RXMobixELEVfKFcpKX0scCRVKTsKSlhTPVhmKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wJiZuLkohPT0yKXJldHVybiExO1c9Y0goVyxXW2I0XXwwLEQpO24uSj09Mj9iRyhuLGs0MixXKTpXLnB1c2goZy5FVihuLk4pKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoRV8sVywhMCk7CmlmKFchPW51bGwpZm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspRXMobixELFdbYl0pfSxwJFUpOwpJcWo9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09NSlyZXR1cm4hMTtuPW4uTjt2YXIgYj1uLkosdj1uLk4saz1iW3YrMF0saD1iW3YrMV0seD1iW3YrMl07Yj1iW3YrM107aWEobiw0KTtnLnFZKFcsRCxrPDwwfGg8PDh8eDw8MTZ8Yjw8MjQpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1FXyhXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixuLk4ucHVzaChXPj4+MCYyNTUpLG4uTi5wdXNoKFc+Pj44JjI1NSksbi5OLnB1c2goVz4+PjE2JjI1NSksbi5OLnB1c2goVz4+PjI0JjI1NSkpfSwkNGkpO3ZhciBTMzE9bmV3IE1hcCxBWHg9Y2xhc3MgZXh0ZW5kcyBlM3J7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudHlwZU5hbWU9bjt0aGlzLk49VztpZihTbyE9PVNvKXRocm93IEVycm9yKCk7UzMxLnNldChuLHRoaXMpfX07dmFyIG00Wj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5OPW47dGhpcy5KPUQ7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5YPWdlO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLlc9Vy5tZXNzYWdlSWQhPW51bGw/eFU6dm9pZCAwfXJlZ2lzdGVyKCl7Zy5PQSh0aGlzKX19O3ZhciBjRlo9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVmPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGk2PVsxLDIsM107dmFyIFo4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LFVmPVsxLDIsM107dmFyIHllPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBLVUM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIE9peD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxQWmg9WzEsMiwzXTtnLk9mPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O2cuT2YucHJvdG90eXBlLkpoPVdaKDApO2cuT2YucHJvdG90eXBlLko9Zy5tRChbMCxnLm9tLFswLFBaaCx6ZyxbMCxnLm9tLC0xLHVVXSx6ZyxbMCxnLm9tLC0xLGlVLHVVXSx6ZyxbMCxnLm9tXV0sWGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1hWShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoZy5EUixXLCEwKTsKaWYoVyE9bnVsbClmb3IobGV0IGg9MDtoPFcubGVuZ3RoO2grKyl7dmFyIGI9bix2PUQsaz1XW2hdO2shPW51bGwmJmlHKGIsdixrSyhrKSl9fSxtNyksCmcuZHEsWzAsZy5kcSxbMCxpNixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTIpcmV0dXJuITE7YmEoVyxELGIsYVkobikpO3JldHVybiEwfSxOWSxtNyksCmcuZ1EoZnVuY3Rpb24obixXLEQsYil7aWYobi5KIT09MClyZXR1cm4hMTtiYShXLEQsYixnLkVWKG4uTikpO3JldHVybiEwfSxnLnJRLGcuS3gpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTApcmV0dXJuITE7YmEoVyxELGIseTEobi5OKSk7cmV0dXJuITB9LHNmLHEzWildLApbMCxVZixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe24uSiE9PTA/bj0hMTooYmEoVyxELGIsZy5VVihuLk4sZy5KXykpLG49ITApO3JldHVybiBufSxnLiRuLGcuTzYpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTEpcmV0dXJuITE7YmEoVyxELGIsZy5kZShuLk4pKTtyZXR1cm4hMH0sZy50OSxnLlpGKSwKemcsWzAsZy5kcSxbMCxVNixnLkU2XV1dXSxnLmdRKGZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gSjkobixXLEQpfSxmdW5jdGlvbihuLFcsRCl7eW0obixELGEwKFcpKX0sUHEpLApYZihmdW5jdGlvbihuLFcsRCl7bi5KIT09MSYmbi5KIT09Mj9uPSExOihXPWNIKFcsV1tiNF18MCxEKSxuLko9PTI/YkcobixvWSxXKTpXLnB1c2gob1kobi5OKSksbj0hMCk7cmV0dXJuIG59LGZ1bmN0aW9uKG4sVyxEKXtXPWU2KGEwLFcsITEpOwppZihXIT1udWxsKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXltKG4sRCxXW2JdKX0sUHEpXSk7dmFyIFppeD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTtnLkU9bDYucHJvdG90eXBlO2cuRS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtpZighZy5xaS5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuITA7dGhpcy5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtuejo2MH0pO2lmKHRoaXMuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTt0aGlzLnJlbW92ZSgiVEVTVENPT0tJRVNFTkFCTEVEIik7cmV0dXJuITB9OwpnLkUuc2V0PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0hMTtpZih0eXBlb2YgRD09PSJvYmplY3QiKXt2YXIgdj1ELnNhbWVTaXRlO2I9RC5zZWN1cmV8fCExO3ZhciBrPUQuZG9tYWlufHx2b2lkIDA7dmFyIGg9RC5wYXRofHx2b2lkIDA7dmFyIHg9RC5uen1pZigvWzs9XHNdLy50ZXN0KG4pKXRocm93IEVycm9yKCdJbnZhbGlkIGNvb2tpZSBuYW1lICInK24rJyInKTtpZigvWztcclxuXS8udGVzdChXKSl0aHJvdyBFcnJvcignSW52YWxpZCBjb29raWUgdmFsdWUgIicrVysnIicpO3g9PT12b2lkIDAmJih4PS0xKTtEPWs/Ijtkb21haW49IitrOiIiO2g9aD8iO3BhdGg9IitoOiIiO2I9Yj8iO3NlY3VyZSI6IiI7eD14PDA/IiI6eD09MD8iO2V4cGlyZXM9IisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOiI7ZXhwaXJlcz0iKyhuZXcgRGF0ZShEYXRlLm5vdygpK3gqMUUzKSkudG9VVENTdHJpbmcoKTt0aGlzLk4uY29va2llPW4rIj0iK1crRCtoK3grYisodiE9bnVsbD8KIjtzYW1lc2l0ZT0iK3Y6IiIpfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe3ZhciBEPW4rIj0iLGI9KHRoaXMuTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO2ZvcihsZXQgdj0wLGs7djxiLmxlbmd0aDt2Kyspe2s9Ylt2XS50cmltKCk7aWYoay5sYXN0SW5kZXhPZihELDApPT0wKXJldHVybiBrLnNsaWNlKEQubGVuZ3RoKTtpZihrPT1uKXJldHVybiIifXJldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9dGhpcy5nZXQobikhPT12b2lkIDA7dGhpcy5zZXQobiwiIix7bno6MCxwYXRoOlcsZG9tYWluOkR9KTtyZXR1cm4gYn07CmcuRS51Qj1mdW5jdGlvbigpe3JldHVybiBUdih0aGlzKS5rZXlzfTsKZy5FLno3PWZ1bmN0aW9uKCl7cmV0dXJuIFR2KHRoaXMpLnZhbHVlc307CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuTi5jb29raWV9OwpnLkUuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgbj1Udih0aGlzKS5rZXlzO2ZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKXRoaXMucmVtb3ZlKG5bV10pfTsKdmFyIEp5PW5ldyBsNih0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBVNHg9Y2xhc3N7YXN5bmMgY29tcHJlc3Mobil7dmFyIFc9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksRD0obmV3IFJlc3BvbnNlKFcucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO1c9Vy53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBXLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKSk7YXdhaXQgVy5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBEKX1pc1N1cHBvcnRlZChuKXtyZXR1cm4gbjwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIHlYTT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgRXppPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pbnRlcnZhbE1zPW47dGhpcy5jYWxsYmFjaz1XO3RoaXMuZW5hYmxlZD0hMTt0aGlzLk49KCk9PmcuVXcoKTsKdGhpcy5KPXRoaXMuTigpfXNldEludGVydmFsKG4pe3RoaXMuaW50ZXJ2YWxNcz1uO3RoaXMudGltZXImJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnRpbWVyJiZ0aGlzLnN0b3AoKX1zdGFydCgpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcyksdGhpcy5KPXRoaXMuTigpKX1zdG9wKCl7dGhpcy5lbmFibGVkPSExOwp0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKX10aWNrKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1NYXRoLm1heCh0aGlzLk4oKS10aGlzLkosMCk7bjx0aGlzLmludGVydmFsTXMqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcy1uKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5jYWxsYmFjaygpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfWVsc2UgdGhpcy50aW1lcj12b2lkIDB9fTt2YXIgaWl4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciB1R2I9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07Zy5FPWcuTVkucHJvdG90eXBlO2cuRS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5NWSh0aGlzLngsdGhpcy55KX07CmcuRS5lcXVhbHM9ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLk1ZJiZSXyh0aGlzLG4pfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy54Kj1uO3RoaXMueSo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O2cuRT1nLlFlLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuUWUodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpnLkUuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIWNPKHRoaXMpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy53aWR0aCo9bjt0aGlzLmhlaWdodCo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O3ZhciBwVD0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO3ZhciAkQj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uPT09cksmJld8fCIifXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19LHJLPXt9O25ldyAkQihySywiIik7dmFyIE8wPXtjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY29sc3BhbjoiY29sU3BhbiIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixoZWlnaHQ6ImhlaWdodCIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLG5vbmNlOiJub25jZSIscm9sZToicm9sZSIscm93c3Bhbjoicm93U3BhbiIsdHlwZToidHlwZSIsdXNlbWFwOiJ1c2VNYXAiLHZhbGlnbjoidkFsaWduIix3aWR0aDoid2lkdGgifTtnLkU9ZlQucHJvdG90eXBlO2cuRS5lXz1mdW5jdGlvbigpe3JldHVybiBBSyh0aGlzLk4pfTsKZy5FLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFd8fHRoaXMuTikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKG4pKX07CmcuRS5CSj1mdW5jdGlvbihuKXtyZXR1cm4gZy5LVChuLHRoaXMuTil9OwpnLkUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihuKXtyZXR1cm4gdWsodGhpcy5OLG4pfTsKZy5FLmFwcGVuZENoaWxkPWZ1bmN0aW9uKG4sVyl7bi5hcHBlbmRDaGlsZChXKX07CmcuRS5hcHBlbmQ9ZnVuY3Rpb24obixXKXtvaChnLkpLKG4pLG4sYXJndW1lbnRzLDEpfTsKZy5FLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihuKXtpZihuLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChuLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07CmcuRS5yZW1vdmVOb2RlPWcuQ1Q7Zy5FLmNvbnRhaW5zPWcuQng7Zy5FLmlzRm9jdXNhYmxlPU1jO3ZhciBvek09Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfUdZKCl7cmV0dXJuIEhXKHRoaXMsMSl9fTt2YXIgVlE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGJJPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGY0Mj1LOChiSSk7dmFyIGtFPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBjeD1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sUVE9bmV3IGJJLGFoPW51bGw7dmFyIFdMPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBkNGg9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHozdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw0KX19O3ZhciBCcT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiwzNyl9Uygpe3ZhciBuPXRoaXMubDk7cmV0dXJuIHg5KG4sbltiNF18MCxkNGgsNykhPT12b2lkIDB9fTt2YXIgbHF0PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDE5KX1hVihuKXtyZXR1cm4gS24odGhpcywyLG4pfX07dmFyIFRNQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuZ1I9Vzt0aGlzLnVhY2g9dGhpcy5sb2NhbGU9bnVsbDt0aGlzLko9MDt0aGlzLmlzRmluYWw9ITE7dGhpcy5OPW5ldyBscXQ7TnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5OLmFWKG4pO1d8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO3ZMKHRoaXMsbmV3IFdMKX1hVihuKXt0aGlzLk4uYVYobik7cmV0dXJuIHRoaXN9YnVpbGQobixXPTAsRD0wLGI9bnVsbCx2PTAsaz0wKXtpZighdGhpcy5nUil7dmFyIGg9REQodGhpcyk7dmFyIHg9bmV3IG96TTt4PUtuKHgsMSx0aGlzLkopO3g9b3ooeCwyLE9fKHRoaXMuaXNGaW5hbCkpO0Q9b3ooeCwzLGcueVAoRD4wP0Q6dm9pZCAwKSk7dj1veihELDQsZy55UCh2PjA/djp2b2lkIDApKTtrPW96KHYsNSxnLnlQKGs+MD9rOnZvaWQgMCkpO3Y9ay5sOTtEPXZbYjRdfDA7az12OShrLEQpP2s6S0coayx2LEQpP09LKGssCnYpOm5ldyBrLmNvbnN0cnVjdG9yKG1fKHYsRCwhMCkpOyQ5KGgsb3pNLDEwLGspfWg9dGhpcy5OLmNsb25lKCk7az1EYXRlLm5vdygpLnRvU3RyaW5nKCk7aD1veihoLDQsZy5sNChrKSk7bj1uLnNsaWNlKCk7bj1zVihoLEJxLDMsbik7YiYmKGg9bmV3IGlpeCxiPW96KGgsMTMsZy55UChiKSksaD1uZXcgdUdiLGI9JDkoaCxpaXgsMixiKSxoPW5ldyB6M3QsYj0kOShoLHVHYiwxLGIpLGI9S24oYiwyLDkpLCQ5KG4sejN0LDE4LGIpKTtXJiZJWShuLDE0LFcpO3JldHVybiBufX07dmFyIEdBO0dBPWcuWmw/IndlYmtpdFRyYW5zaXRpb25FbmQiOiJ0cmFuc2l0aW9uZW5kIjtnLmhILnByb3RvdHlwZS5KPTA7Zy5oSC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLk49dGhpcy5XPXRoaXMuWDt0aGlzLko9MH07CmcuaEgucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuV307dmFyIGpmdz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw4KX19LENaaD1LOChqZncpO3ZhciBGUDtGUD1uZXcgbTRaKDE3NTIzNzM3NSxqZncsY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX0pO3ZhciBCTVo9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5jb21wb25lbnRJZD0iIjt0aGlzLk49W107dGhpcy5WUT0iIjt0aGlzLnBhZ2VJZD1udWxsO3RoaXMuZSQ9dGhpcy50dz0tMTt0aGlzLks9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5PPXRoaXMuY0o9dGhpcy5WPXRoaXMuWD0wO3RoaXMuSEo9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLmJkPSExO3RoaXMubG9nU291cmNlPW4ubG9nU291cmNlO3RoaXMubjE9bi5uMXx8KCgpPT57fSk7CnRoaXMuVz1uZXcgVE1DKG4ubG9nU291cmNlLG4uZ1IpO3RoaXMubmV0d29yaz1uLm5ldHdvcmt8fG51bGw7dGhpcy5QZz1uLlBnfHxudWxsO3RoaXMuWT1uLmN1fHxudWxsO3RoaXMuc2Vzc2lvbkluZGV4PW4uc2Vzc2lvbkluZGV4fHxudWxsO3RoaXMub3g9bi5veHx8ITE7dGhpcy5sb2dnZXI9bnVsbDt0aGlzLndpdGhDcmVkZW50aWFscz0hbi5rQzt0aGlzLmdSPW4uZ1J8fCExO3RoaXMuRD0hdGhpcy5nUiYmISFnLmlrKCkmJiEhZy5paygpLm5hdmlnYXRvciYmZy5paygpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUyQ9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKExLKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoTEsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIFc9bksobmV3IFdMKTt2TCh0aGlzLlcsVyk7dGhpcy5qPW5ldyBnLmhIKDFFNCwzRTUsLjEpO249STRTKHRoaXMsbi5iMSk7dGhpcy5KPW5ldyBFemkodGhpcy5qLmdldFZhbHVlKCksCm4pO3RoaXMuVEM9bmV3IEV6aSg2RTUsbik7dGhpcy5veHx8dGhpcy5UQy5zdGFydCgpO3RoaXMuZ1J8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iJiZlZyh0aGlzKX0pLGcuaWsoKT8uYWRkRXZlbnRMaXN0ZW5lcj8uKCJwYWdlaGlkZSIsKCk9PntlZyh0aGlzKX0pKX1tQSgpe2VnKHRoaXMpOwp0aGlzLkouc3RvcCgpO3RoaXMuVEMuc3RvcCgpO3N1cGVyLm1BKCl9ZGlzcGF0Y2gobil7aWYobiBpbnN0YW5jZW9mIEJxKXRoaXMubG9nKG4pO2Vsc2UgdHJ5e3ZhciBXPW5ldyBCcSxEPW4uYlkoKTt2YXIgYj1nLlNFKFcsOCxEKTt0aGlzLmxvZyhiKX1jYXRjaHt9fWxvZyhuKXtpZih0aGlzLlMkKXtuPW4uY2xvbmUoKTt2YXIgVz10aGlzLkhKKys7bj1JWShuLDIxLFcpO3RoaXMuY29tcG9uZW50SWQmJmcuU0UobiwyNix0aGlzLmNvbXBvbmVudElkKTtXPW47e3ZhciBEPWlXKFcsMSk7bGV0IGI9dHlwZW9mIEQ7RD1EPT1udWxsP0Q6Yj09PSJiaWdpbnQiP1N0cmluZyhkWig2NCxEKSk6WkIoRCk/Yj09PSJzdHJpbmciP0I5KEQpOkM1KEQpOnZvaWQgMH1EPT1udWxsJiYoRD1EYXRlLm5vdygpLEQ9TnVtYmVyLmlzRmluaXRlKEQpP0QudG9TdHJpbmcoKToiMCIsb3ooVywxLGcubDQoRCkpKTtEPWlXKFcsMTUsdm9pZCAwLHZvaWQgMCxGRCk7RCE9bnVsbCYmKHR5cGVvZiBEPT09ImJpZ2ludCI/CnNLKEQpP0Q9TnVtYmVyKEQpOihEPWRaKDY0LEQpLEQ9c0soRCk/TnVtYmVyKEQpOlN0cmluZyhEKSk6RD1aQihEKT90eXBlb2YgRD09PSJudW1iZXIiP0M1KEQpOkI5KEQpOnZvaWQgMCk7RCE9bnVsbHx8SVkoVywxNSwobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkqNjApO3RoaXMuZXhwZXJpbWVudElkcyYmKEQ9dGhpcy5leHBlcmltZW50SWRzLmNsb25lKCksJDkoVyx5WE0sMTYsRCkpO1c9dGhpcy5OLmxlbmd0aC0xRTMrMTtXPjAmJih0aGlzLk4uc3BsaWNlKDAsVyksdGhpcy5YKz1XKTt0aGlzLk4ucHVzaChuKTt0aGlzLm94fHx0aGlzLkouZW5hYmxlZHx8dGhpcy5KLnN0YXJ0KCl9fWZsdXNoKG4sVyl7aWYodGhpcy5OLmxlbmd0aD09PTApbiYmbigpO2Vsc2UgaWYodGhpcy5iZCYmdGhpcy5EKXRoaXMuVy5KPTMsQUZaKHRoaXMpO2Vsc2V7dmFyIEQ9RGF0ZS5ub3coKTtpZih0aGlzLmUkPkQmJnRoaXMudHc8RClXJiZXKCJ0aHJvdHRsZWQiKTtlbHNle3RoaXMubmV0d29yayYmCih0eXBlb2YgdGhpcy5uZXR3b3JrLkdZPT09ImZ1bmN0aW9uIj9IYlModGhpcy5XLHRoaXMubmV0d29yay5HWSgpKTp0aGlzLlcuSj0wKTt2YXIgYj10aGlzLlcuYnVpbGQodGhpcy5OLHRoaXMuWCx0aGlzLlYsdGhpcy5QZyx0aGlzLmNKLHRoaXMuTyksdj10aGlzLm4xKCk7aWYodiYmdGhpcy5WUT09PXYpVyYmVygic3RhbGUtYXV0aC10b2tlbiIpO2Vsc2V7dGhpcy5OPVtdO3RoaXMuSi5lbmFibGVkJiZ0aGlzLkouc3RvcCgpO3RoaXMuWD0wO0Q9Yi5iWSgpO2xldCBrO3RoaXMuSyYmdGhpcy5LLmlzU3VwcG9ydGVkKEQubGVuZ3RoKSYmKGs9dGhpcy5LLmNvbXByZXNzKEQpKTtsZXQgaD1tVXcodGhpcyxELHYpLHg9Rz0+e3RoaXMuai5yZXNldCgpO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7aWYoRyl7dmFyIHI9bnVsbDt0cnl7bGV0IE49SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShHLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cj1DWmgoTil9Y2F0Y2goTil7fXImJgooRz1OdW1iZXIocG4ociwxLGcuJFUoIi0xIikpKSxHPjAmJih0aGlzLnR3PURhdGUubm93KCksdGhpcy5lJD10aGlzLnR3K0cpLHR2KHIubDksRlAuTiksR3oocixGUC5OKSxyPUZQLko/RlAuWChyLEZQLkosRlAuTixGUC5XKTpGUC5YKHIsRlAuTixudWxsLEZQLlcpLHI9cj09PW51bGw/dm9pZCAwOnIpJiYocj1hUChyLDEsLTEpLHIhPT0tMSYmKHRoaXMuaj1uZXcgZy5oSChyPDE/MTpyLDNFNSwuMSksdGhpcy5KLnNldEludGVydmFsKHRoaXMuai5nZXRWYWx1ZSgpKSkpfW4mJm4oKTt0aGlzLlY9MH0sTD0oRyxyKT0+e3ZhciBOPVZHKGIsQnEsMyk7CnZhciBIPU51bWJlcihwbihiLDE0KSk7Zy54RSh0aGlzLmopO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7Rz09PTQwMSYmdiYmKHRoaXMuVlE9dik7SCYmKHRoaXMuWCs9SCk7cj09PXZvaWQgMCYmKHI9dGhpcy5pc1JldHJ5YWJsZShHKSk7ciYmKHRoaXMuTj1OLmNvbmNhdCh0aGlzLk4pLHRoaXMub3h8fHRoaXMuSi5lbmFibGVkfHx0aGlzLkouc3RhcnQoKSk7VyYmVygibmV0LXNlbmQtZmFpbGVkIixHKTsrK3RoaXMuVn0sZT0oKT0+e3RoaXMubmV0d29yayYmdGhpcy5uZXR3b3JrLnNlbmQoaCx4LEwpfTsKaz9rLnRoZW4oRz0+e2guWkpbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5aSlsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PUc7aC5vJD0yO2UoKX0sKCk9PntlKCl9KTplKCl9fX19aXNSZXRyeWFibGUobil7cmV0dXJuIDUwMDw9biYmbjw2MDB8fG49PT00MDF8fG49PT0wfX07dmFyIEZVaj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuUiQ9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifWFzeW5jIHNlbmQobixXLEQpe3ZhciBiPXRoaXMuUiQ/bmV3IEFib3J0Q29udHJvbGxlcjp2b2lkIDAsdj1iJiZuLnRpbWVvdXRNaWxsaXM+MD9zZXRUaW1lb3V0KCgpPT57Yi5hYm9ydCgpfSxuLnRpbWVvdXRNaWxsaXMpOnZvaWQgMDsKdHJ5e2xldCBrPWF3YWl0IGZldGNoKG4udXJsLHttZXRob2Q6bi5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5uLlpKfSwuLi4obi5ib2R5JiZ7Ym9keTpuLmJvZHl9KSwuLi4obi53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6bi50aW1lb3V0TWlsbGlzJiZiP2Iuc2lnbmFsOm51bGx9KTtrLnN0YXR1cz09PTIwMD9XPy4oYXdhaXQgay50ZXh0KCkpOkQ/LihrLnN0YXR1cyl9Y2F0Y2goayl7c3dpdGNoKGs/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOkQ/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6RD8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KHYpfX1HWSgpe3JldHVybiA0fX07dmFyIGtZPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5Saj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5OPXRoaXMuUGc9bnVsbDt0aGlzLko9ITE7dGhpcy5sb2dnZXI9dGhpcy5wYWdlSWQ9bnVsbH1rQygpe3RoaXMuVz0hMDtyZXR1cm4gdGhpc31idWlsZCgpe3RoaXMubmV0d29ya3x8KHRoaXMubmV0d29yaz1uZXcgRlVqKTt2YXIgbj1uZXcgQk1aKHtsb2dTb3VyY2U6dGhpcy5sb2dTb3VyY2UsbjE6dGhpcy5uMT90aGlzLm4xOkJPLHNlc3Npb25JbmRleDp0aGlzLnNlc3Npb25JbmRleCxjdTp0aGlzLlJqLGdSOiExLG94OiExLGtDOnRoaXMuVyxiMTp0aGlzLmIxLG5ldHdvcms6dGhpcy5uZXR3b3JrfSk7Zy51KHRoaXMsCm4pO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIFc9dGhpcy5idWlsZExhYmVsLEQ9REQobi5XKTtnLlNFKEQsNyxXKX1uLks9bmV3IFU0eDt0aGlzLmNvbXBvbmVudElkJiYobi5jb21wb25lbnRJZD10aGlzLmNvbXBvbmVudElkKTt0aGlzLlBnJiYobi5QZz10aGlzLlBnKTt0aGlzLnBhZ2VJZCYmKG4ucGFnZUlkPXRoaXMucGFnZUlkKTt0aGlzLk4mJigoRD10aGlzLk4pPyhuLmV4cGVyaW1lbnRJZHN8fChuLmV4cGVyaW1lbnRJZHM9bmV3IHlYTSksVz1uLmV4cGVyaW1lbnRJZHMsRD1ELmJZKCksZy5TRShXLDQsRCkpOm4uZXhwZXJpbWVudElkcyYmb3oobi5leHBlcmltZW50SWRzLDQpKTt0aGlzLkomJihuLmJkPW4uRCk7SkZaKG4uVyk7dGhpcy5uZXR3b3JrLmFWJiZ0aGlzLm5ldHdvcmsuYVYodGhpcy5sb2dTb3VyY2UpO3RoaXMubmV0d29yay5oUyYmdGhpcy5uZXR3b3JrLmhTKG4pO3JldHVybiBufX07dmFyIGE0aj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7bnx8KG49bmV3IGtZLG4uY29tcG9uZW50SWQ9IiIsZy51KHRoaXMsbiksbj1uLmJ1aWxkKCkpO3RoaXMuTj1ufWZsdXNoKG4pe249bnx8W107aWYobi5sZW5ndGgpe2xldCBXPW5ldyBaaXgsRD1bXTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHY9bltiXSxrPXU2KHYpO0QucHVzaChrKTt2LmNsZWFyKCl9c1YoVyxnLk9mLDEsRCk7dGhpcy5OLmRpc3BhdGNoKFcpO3RoaXMuTi5mbHVzaCgpfX19O3ZhciBxNT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19O3ZhciB3JGI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuSj1uO3RoaXMuVz1XO3RoaXMuZmllbGRzPUR8fFtdO3RoaXMuTj1uZXcgTWFwfWNsZWFyKCl7dGhpcy5OLmNsZWFyKCl9fTt2YXIgaWU9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDMsVyl9fTt2YXIgeTg9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDIsVyl9ZEUobiwuLi5XKXt5RloodGhpcyxuLC4uLlcpfX07JEUucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuSj0hMH07CiRFLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Zy5peChyRCwkRSk7CnJELnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9dGhpcy50eXBlPW4udHlwZSxiPW4uY2hhbmdlZFRvdWNoZXMmJm4uY2hhbmdlZFRvdWNoZXMubGVuZ3RoP24uY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1uLnRhcmdldHx8bi5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1XO1c9bi5yZWxhdGVkVGFyZ2V0O1d8fChEPT0ibW91c2VvdmVyIj9XPW4uZnJvbUVsZW1lbnQ6RD09Im1vdXNlb3V0IiYmKFc9bi50b0VsZW1lbnQpKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9VztiPyh0aGlzLmNsaWVudFg9Yi5jbGllbnRYIT09dm9pZCAwP2IuY2xpZW50WDpiLnBhZ2VYLHRoaXMuY2xpZW50WT1iLmNsaWVudFkhPT12b2lkIDA/Yi5jbGllbnRZOmIucGFnZVksdGhpcy5zY3JlZW5YPWIuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Yi5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPW4uY2xpZW50WCE9PXZvaWQgMD9uLmNsaWVudFg6bi5wYWdlWCx0aGlzLmNsaWVudFk9Cm4uY2xpZW50WSE9PXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWSx0aGlzLnNjcmVlblg9bi5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1uLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPW4uYnV0dG9uO3RoaXMua2V5Q29kZT1uLmtleUNvZGV8fDA7dGhpcy5rZXk9bi5rZXl8fCIiO3RoaXMuY2hhckNvZGU9bi5jaGFyQ29kZXx8KEQ9PSJrZXlwcmVzcyI/bi5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5hbHRLZXk9bi5hbHRLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5wb2ludGVySWQ9bi5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT1uLnBvaW50ZXJUeXBlO3RoaXMuc3RhdGU9bi5zdGF0ZTt0aGlzLk49bjtuLmRlZmF1bHRQcmV2ZW50ZWQmJnJELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9OwpyRC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7ckQuVEIuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5OLnN0b3BQcm9wYWdhdGlvbj90aGlzLk4uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5OLmNhbmNlbEJ1YmJsZT0hMH07CnJELnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3JELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyk7dmFyIG49dGhpcy5OO24ucHJldmVudERlZmF1bHQ/bi5wcmV2ZW50RGVmYXVsdCgpOm4ucmV0dXJuVmFsdWU9ITF9O3ZhciBzMj0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApO3ZhciB1SWg9MDtnLkU9ZksucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLnRvU3RyaW5nKCk7bj10aGlzLmxpc3RlbmVyc1trXTtufHwobj10aGlzLmxpc3RlbmVyc1trXT1bXSx0aGlzLk4rKyk7dmFyIGg9SVcobixXLGIsdik7aD4tMT8oVz1uW2hdLER8fChXLnFfPSExKSk6KFc9bmV3IG8zYihXLHRoaXMuc3JjLGssISFiLHYpLFcucV89RCxuLnB1c2goVykpO3JldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCxiKXtuPW4udG9TdHJpbmcoKTtpZighKG4gaW4gdGhpcy5saXN0ZW5lcnMpKXJldHVybiExO3ZhciB2PXRoaXMubGlzdGVuZXJzW25dO1c9SVcodixXLEQsYik7cmV0dXJuIFc+LTE/KEhMKHZbV10pLGcuQk0odixXKSx2Lmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1tuXSx0aGlzLk4tLSksITApOiExfTsKZy5FLlRpPWZ1bmN0aW9uKCl7dmFyIG49MDtmb3IobGV0IFcgaW4gdGhpcy5saXN0ZW5lcnMpe2xldCBEPXRoaXMubGlzdGVuZXJzW1ddO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKSsrbixITChEW2JdKTtkZWxldGUgdGhpcy5saXN0ZW5lcnNbV107dGhpcy5OLS19fTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe249dGhpcy5saXN0ZW5lcnNbbi50b1N0cmluZygpXTt2YXIgdj0tMTtuJiYodj1JVyhuLFcsRCxiKSk7cmV0dXJuIHY+LTE/blt2XTpudWxsfTsKZy5FLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9biE9PXZvaWQgMCxiPUQ/bi50b1N0cmluZygpOiIiLHY9VyE9PXZvaWQgMDtyZXR1cm4gZy5EbCh0aGlzLmxpc3RlbmVycyxmdW5jdGlvbihrKXtmb3IobGV0IGg9MDtoPGsubGVuZ3RoOysraClpZighKEQmJmtbaF0udHlwZSE9Ynx8diYma1toXS5jYXB0dXJlIT1XKSlyZXR1cm4hMDtyZXR1cm4hMX0pfTt2YXIgUEw9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksaUk9e30sVTI9MCx1ST0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO2cuaXgoZy5vVyxnLkZNKTtnLm9XLnByb3RvdHlwZVtzMl09ITA7Zy5FPWcub1cucHJvdG90eXBlO2cuRS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKG4sVyxELGIpe0FIKHRoaXMsbixXLEQsYil9OwpnLkUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihuLFcsRCxiKXt5Nyh0aGlzLG4sVyxELGIpfTsKZy5FLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5sWjtpZihXKXt2YXIgRD1bXTtmb3IodmFyIGI9MTtXO1c9Vy5sWilELnB1c2goVyksKytifVc9dGhpcy5IZDtiPW4udHlwZXx8bjtpZih0eXBlb2Ygbj09PSJzdHJpbmciKW49bmV3ICRFKG4sVyk7ZWxzZSBpZihuIGluc3RhbmNlb2YgJEUpbi50YXJnZXQ9bi50YXJnZXR8fFc7ZWxzZXt2YXIgdj1uO249bmV3ICRFKGIsVyk7Zy5ZeShuLHYpfXY9ITA7dmFyIGs7aWYoRClmb3Ioaz1ELmxlbmd0aC0xOyFuLkomJms+PTA7ay0tKXt2YXIgaD1uLmN1cnJlbnRUYXJnZXQ9RFtrXTt2PWREKGgsYiwhMCxuKSYmdn1uLkp8fChoPW4uY3VycmVudFRhcmdldD1XLHY9ZEQoaCxiLCEwLG4pJiZ2LG4uSnx8KHY9ZEQoaCxiLCExLG4pJiZ2KSk7aWYoRClmb3Ioaz0wOyFuLkomJms8RC5sZW5ndGg7aysrKWg9bi5jdXJyZW50VGFyZ2V0PURba10sdj1kRChoLGIsITEsbikmJnY7cmV0dXJuIHZ9OwpnLkUubUE9ZnVuY3Rpb24oKXtnLm9XLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5kXyYmdGhpcy5kXy5UaSgpO3RoaXMubFo9bnVsbH07CmcuRS5TXz1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITEsRCxiKX07CmcuRS5lRj1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITAsRCxiKX07CmcuRS53SD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLmRfLnJlbW92ZShTdHJpbmcobiksVyxELGIpfTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiB0aGlzLmRfLnNjKFN0cmluZyhuKSxXLEQsYil9OwpnLkUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24obixXKXtyZXR1cm4gdGhpcy5kXy5oYXNMaXN0ZW5lcihuIT09dm9pZCAwP1N0cmluZyhuKTp2b2lkIDAsVyl9O2cuejc9dHlwZW9mIEFzeW5jQ29udGV4dCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgQXN5bmNDb250ZXh0LlNuYXBzaG90PT09ImZ1bmN0aW9uIj9uPT5uJiZBc3luY0NvbnRleHQuU25hcHNob3Qud3JhcChuKTpuPT5uO3ZhciBNMlM9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLlg9Vzt0aGlzLko9MDt0aGlzLk49bnVsbH1nZXQoKXtpZih0aGlzLko+MCl7dGhpcy5KLS07dmFyIG49dGhpcy5OO3RoaXMuTj1uLm5leHQ7bi5uZXh0PW51bGx9ZWxzZSBuPXRoaXMuVygpO3JldHVybiBufXB1dChuKXt0aGlzLlgobik7dGhpcy5KPDEwMCYmKHRoaXMuSisrLG4ubmV4dD10aGlzLk4sdGhpcy5OPW4pfX07dmFyIGxJO3ZhciBSM2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5OPW51bGx9YWRkKG4sVyl7dmFyIEQ9Q0suZ2V0KCk7RC5zZXQobixXKTt0aGlzLko/dGhpcy5KLm5leHQ9RDp0aGlzLk49RDt0aGlzLko9RH1yZW1vdmUoKXt2YXIgbj1udWxsO3RoaXMuTiYmKG49dGhpcy5OLHRoaXMuTj10aGlzLk4ubmV4dCx0aGlzLk58fCh0aGlzLko9bnVsbCksbi5uZXh0PW51bGwpO3JldHVybiBufX0sQ0s9bmV3IE0yUygoKT0+bmV3IFFmMSxuPT5uLnJlc2V0KCkpLFFmMT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuTj1udWxsfXNldChuLFcpe3RoaXMuTj1uOwp0aGlzLnNjb3BlPVc7dGhpcy5uZXh0PW51bGx9cmVzZXQoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLk49bnVsbH19O3ZhciB3cSxCTCxqZyxWMng7Qkw9ITE7amc9bmV3IFIzYjtnLm1LPShuLFcpPT57d3F8fFYyeCgpO0JMfHwod3EoKSxCTD0hMCk7amcuYWRkKG4sVyl9OwpWMng9KCk9Pnt2YXIgbj1Qcm9taXNlLnJlc29sdmUodm9pZCAwKTt3cT0oKT0+e24udGhlbihUenIpfX07cTgucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0PXRoaXMuSj10aGlzLlc9dGhpcy5OPW51bGw7dGhpcy5YPSExfTsKdmFyIEczPW5ldyBNMlMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHE4fSxmdW5jdGlvbihuKXtuLnJlc2V0KCl9KTsKZy5YMS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFNPKHRoaXMsKDAsZy56NykodHlwZW9mIG49PT0iZnVuY3Rpb24iP246bnVsbCksKDAsZy56NykodHlwZW9mIFc9PT0iZnVuY3Rpb24iP1c6bnVsbCksRCl9OwpnLlgxLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMDtnLkU9Zy5YMS5wcm90b3R5cGU7Zy5FLmZpbmFsbHk9ZnVuY3Rpb24obil7bj0oMCxnLno3KShuKTtyZXR1cm4gbmV3IGcuWDEoKFcsRCk9PntwcSh0aGlzLGI9PntuKCk7VyhiKX0sYj0+e24oKTsKRChiKX0pfSl9OwpnLkUuc1A9ZnVuY3Rpb24obixXKXtyZXR1cm4gU08odGhpcyxudWxsLCgwLGcuejcpKG4pLFcpfTsKZy5FLmNhdGNoPWcuWDEucHJvdG90eXBlLnNQO2cuRS5jYW5jZWw9ZnVuY3Rpb24obil7aWYodGhpcy5OPT0wKXtsZXQgVz1uZXcgZy5JNShuKTtnLm1LKGZ1bmN0aW9uKCl7WUcodGhpcyxXKX0sdGhpcyl9fTsKZy5FLklRPWZ1bmN0aW9uKG4pe3RoaXMuTj0wO2dwKHRoaXMsMixuKX07CmcuRS5BUz1mdW5jdGlvbihuKXt0aGlzLk49MDtncCh0aGlzLDMsbil9OwpnLkUueXM9ZnVuY3Rpb24oKXtmb3IodmFyIG47bj1ISih0aGlzKTspZnEodGhpcyxuLHRoaXMuTix0aGlzLkspO3RoaXMuVj0hMX07CnZhciBPdT1oNDtnLml4KGcuSTUsZy5UYik7Zy5JNS5wcm90b3R5cGUubmFtZT0iY2FuY2VsIjtnLml4KGcuUEosZy5vVyk7Zy5FPWcuUEoucHJvdG90eXBlO2cuRS5lbmFibGVkPSExO2cuRS5aNj1udWxsO2cuRS5zZXRJbnRlcnZhbD1mdW5jdGlvbihuKXt0aGlzLmd0PW47dGhpcy5aNiYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMuWjYmJnRoaXMuc3RvcCgpfTsKZy5FLlJRPWZ1bmN0aW9uKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1nLlV3KCktdGhpcy5qYjtuPjAmJm48dGhpcy5ndCouOD90aGlzLlo2PXRoaXMuVjcuc2V0VGltZW91dCh0aGlzLmhFLHRoaXMuZ3Qtbik6KHRoaXMuWjYmJih0aGlzLlY3LmNsZWFyVGltZW91dCh0aGlzLlo2KSx0aGlzLlo2PW51bGwpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGljayIpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfX07CmcuRS5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLlo2fHwodGhpcy5aNj10aGlzLlY3LnNldFRpbWVvdXQodGhpcy5oRSx0aGlzLmd0KSx0aGlzLmpiPWcuVXcoKSl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMTt0aGlzLlo2JiYodGhpcy5WNy5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsKX07CmcuRS5tQT1mdW5jdGlvbigpe2cuUEouVEIubUEuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5WN307dmFyIGhxPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuRD1uO3RoaXMuVj0wO3RoaXMuWD0xMDA7dGhpcy5LPSExO3RoaXMuVz1uZXcgTWFwO3RoaXMuWT1uZXcgU2V0O3RoaXMuZmx1c2hJbnRlcnZhbD0zRTQ7dGhpcy5KPW5ldyBnLlBKKHRoaXMuZmx1c2hJbnRlcnZhbCk7dGhpcy5KLlNfKCJ0aWNrIix0aGlzLmosITEsdGhpcyk7Zy51KHRoaXMsdGhpcy5KKX1zZW5kSXNvbGF0ZWRQYXlsb2FkKG4pe3RoaXMuSz1uO3RoaXMuWD0xfWooKXt2YXIgbj1bLi4udGhpcy5XLnZhbHVlcygpXS5maWx0ZXIoVz0+Vy5OLnNpemUpOwpuLmxlbmd0aCYmdGhpcy5ELmZsdXNoKG4sdGhpcy5LKTtGY2Iobik7dGhpcy5WPTA7dGhpcy5KLmVuYWJsZWQmJnRoaXMuSi5zdG9wKCl9TihuKXtyZXR1cm4gdGhpcy5ZLmhhcyhuKT92b2lkIDA6dGhpcy5XLmdldChuKX1kRShuLFcsLi4uRCl7KG49dGhpcy5OKG4pKSYmbiBpbnN0YW5jZW9mIHk4JiYobi5kRShXLC4uLkQpLG81KHRoaXMpKX19O3ZhciBDVj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyxEPXt9KXtzdXBlcihXKTt0aGlzLmNvZGU9bjt0aGlzLm1ldGFkYXRhPUQ7dGhpcy5uYW1lPSJScGNFcnJvciI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfXRvU3RyaW5nKCl7dmFyIG49YFJwY0Vycm9yKCR7d01TKHRoaXMuY29kZSl8fFN0cmluZyh0aGlzLmNvZGUpfSlgO3RoaXMubWVzc2FnZSYmKG4rPSI6ICIrdGhpcy5tZXNzYWdlKTtyZXR1cm4gbn19O2xlLnByb3RvdHlwZS5iWT1mdW5jdGlvbihuKXt2YXIgVz1bXTtUMyh0aGlzLG4sVyk7cmV0dXJuIFcuam9pbigiIil9Owp2YXIgQ3E9eyciJzonXFwiJywiXFwiOiJcXFxcIiwiLyI6IlxcLyIsIlxiIjoiXFxiIiwiXGYiOiJcXGYiLCJcbiI6IlxcbiIsIlxyIjoiXFxyIiwiXHQiOiJcXHQiLCJcdiI6IlxcdTAwMGIifSxNalo9L1x1ZmZmZi8udGVzdCgiXHVmZmZmIik/L1tcXCJceDAwLVx4MWZceDdmLVx1ZmZmZl0vZzovW1xcIlx4MDAtXHgxZlx4N2YtXHhmZl0vZzt2YXIgY1hDO2cuaXgoRjEsQkopO0YxLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07CmNYQz1uZXcgRjE7Zy5peCh3cCxnLm9XKTt2YXIgYXEyPS9eaHR0cHM/JC9pLG5kTT1bIlBPU1QiLCJQVVQiXSxNOD1bXTtnLkU9d3AucHJvdG90eXBlO2cuRS5XVT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpO2cuRkkoTTgsdGhpcyl9OwpnLkUuc2VuZD1mdW5jdGlvbihuLFcsRCxiKXtpZih0aGlzLk4pdGhyb3cgRXJyb3IoIltnb29nLm5ldC5YaHJJb10gT2JqZWN0IGlzIGFjdGl2ZSB3aXRoIGFub3RoZXIgcmVxdWVzdD0iK3RoaXMuSysiOyBuZXdVcmk9IituKTtXPVc/Vy50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuSz1uO3RoaXMuaj0iIjt0aGlzLlc9MDt0aGlzLmNKPSExO3RoaXMuSj0hMDt0aGlzLk49dGhpcy5UQz90aGlzLlRDLk4oKTpjWEMuTigpO3RoaXMuTi5vbnJlYWR5c3RhdGVjaGFuZ2U9KDAsZy56NykoKDAsZy5LdCkodGhpcy5OOCx0aGlzKSk7dHJ5e3RoaXMuZ2V0U3RhdHVzKCksdGhpcy50dz0hMCx0aGlzLk4ub3BlbihXLFN0cmluZyhuKSwhMCksdGhpcy50dz0hMX1jYXRjaChrKXt0aGlzLmdldFN0YXR1cygpO1Y4KHRoaXMsayk7cmV0dXJufW49RHx8IiI7RD1uZXcgTWFwKHRoaXMuaGVhZGVycyk7aWYoYilpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoYik9PT1PYmplY3QucHJvdG90eXBlKWZvcih2YXIgdiBpbiBiKUQuc2V0KHYsCmJbdl0pO2Vsc2UgaWYodHlwZW9mIGIua2V5cz09PSJmdW5jdGlvbiImJnR5cGVvZiBiLmdldD09PSJmdW5jdGlvbiIpZm9yKGxldCBrIG9mIGIua2V5cygpKUQuc2V0KGssYi5nZXQoaykpO2Vsc2UgdGhyb3cgRXJyb3IoIlVua25vd24gaW5wdXQgdHlwZSBmb3Igb3B0X2hlYWRlcnM6ICIrU3RyaW5nKGIpKTtiPUFycmF5LmZyb20oRC5rZXlzKCkpLmZpbmQoaz0+ImNvbnRlbnQtdHlwZSI9PWsudG9Mb3dlckNhc2UoKSk7CnY9Zy5xaS5Gb3JtRGF0YSYmbiBpbnN0YW5jZW9mIGcucWkuRm9ybURhdGE7IWcuamoobmRNLFcpfHxifHx2fHxELnNldCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKTtmb3IobGV0IFtrLGhdb2YgRCl0aGlzLk4uc2V0UmVxdWVzdEhlYWRlcihrLGgpO3RoaXMuYmQmJih0aGlzLk4ucmVzcG9uc2VUeXBlPXRoaXMuYmQpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5OJiZ0aGlzLk4ud2l0aENyZWRlbnRpYWxzIT09dGhpcy5PJiYodGhpcy5OLndpdGhDcmVkZW50aWFscz10aGlzLk8pO3RyeXt0aGlzLlYmJihjbGVhclRpbWVvdXQodGhpcy5WKSx0aGlzLlY9bnVsbCksdGhpcy5EPjAmJih0aGlzLmdldFN0YXR1cygpLHRoaXMuVj1zZXRUaW1lb3V0KHRoaXMuVTIuYmluZCh0aGlzKSx0aGlzLkQpKSx0aGlzLmdldFN0YXR1cygpLHRoaXMuWT0hMCx0aGlzLk4uc2VuZChuKSx0aGlzLlk9ITF9Y2F0Y2goayl7dGhpcy5nZXRTdGF0dXMoKSwKVjgodGhpcyxrKX19OwpnLkUuVTI9ZnVuY3Rpb24oKXt0eXBlb2YgY0ohPSJ1bmRlZmluZWQiJiZ0aGlzLk4mJih0aGlzLmo9IlRpbWVkIG91dCBhZnRlciAiK3RoaXMuRCsibXMsIGFib3J0aW5nIix0aGlzLlc9OCx0aGlzLmdldFN0YXR1cygpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTsKZy5FLmFib3J0PWZ1bmN0aW9uKG4pe3RoaXMuTiYmdGhpcy5KJiYodGhpcy5nZXRTdGF0dXMoKSx0aGlzLko9ITEsdGhpcy5YPSEwLHRoaXMuTi5hYm9ydCgpLHRoaXMuWD0hMSx0aGlzLlc9bnx8Nyx0aGlzLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJhYm9ydCIpLFE4KHRoaXMpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuTiYmKHRoaXMuSiYmKHRoaXMuSj0hMSx0aGlzLlg9ITAsdGhpcy5OLmFib3J0KCksdGhpcy5YPSExKSxROCh0aGlzLCEwKSk7d3AuVEIubUEuY2FsbCh0aGlzKX07CmcuRS5OOD1mdW5jdGlvbigpe3RoaXMucU4oKXx8KHRoaXMudHd8fHRoaXMuWXx8dGhpcy5YP25WKHRoaXMpOnRoaXMuZ0soKSl9OwpnLkUuZ0s9ZnVuY3Rpb24oKXtuVih0aGlzKX07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5OfTsKZy5FLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gYTUodGhpcyk9PTR9OwpnLkUuaXNTdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5nZXRTdGF0dXMoKTthOnN3aXRjaChuKXtjYXNlIDIwMDpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwNDpjYXNlIDIwNjpjYXNlIDMwNDpjYXNlIDEyMjM6dmFyIFc9ITA7YnJlYWsgYTtkZWZhdWx0Olc9ITF9aWYoIVcpe2lmKG49bj09PTApbj1nLmZwKFN0cmluZyh0aGlzLkspKVsxXXx8bnVsbCwhbiYmZy5xaS5zZWxmJiZnLnFpLnNlbGYubG9jYXRpb24mJihuPWcucWkuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSksbj0hYXEyLnRlc3Qobj9uLnRvTG93ZXJDYXNlKCk6IiIpO1c9bn1yZXR1cm4gV307CmcuRS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGE1KHRoaXMpPjI/dGhpcy5OLnN0YXR1czotMX1jYXRjaChuKXtyZXR1cm4tMX19OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7aWYodGhpcy5OJiZ0aGlzLmlzQ29tcGxldGUoKSlyZXR1cm4gbj10aGlzLk4uZ2V0UmVzcG9uc2VIZWFkZXIobiksbj09PW51bGw/dm9pZCAwOm59OwpnLkUuZ2V0TGFzdEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiB0aGlzLmo9PT0ic3RyaW5nIj90aGlzLmo6U3RyaW5nKHRoaXMuail9O3ZhciBPYjE9Y2xhc3N7c2VuZChuLFc9KCk9Pnt9LEQ9KCk9Pnt9KXtRTVUobi51cmwsYj0+e2I9Yi50YXJnZXQ7CmIuaXNTdWNjZXNzKCk/VyhXMyhiKSk6RChiLmdldFN0YXR1cygpKX0sbi5yZXF1ZXN0VHlwZSxuLmJvZHksbi5aSixuLnRpbWVvdXRNaWxsaXMsbi53aXRoQ3JlZGVudGlhbHMpfUdZKCl7cmV0dXJuIDF9fTt2YXIgTWw9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmxvZ2dlcj1uO3RoaXMuZXZlbnQ9Vzt0aGlzLnN0YXJ0VGltZT1ibigpfWRvbmUoKXt0aGlzLmxvZ2dlci5YKHRoaXMuZXZlbnQsYm4oKS10aGlzLnN0YXJ0VGltZSl9fSxSbT1jbGFzcyBleHRlbmRzIGphMXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyl9fSx4WT1jbGFzcyBleHRlbmRzIFJte2ooKXt9Tigpe31YKCl7fUooKXt9RCgpe31ZKCl7fVcoKXt9VihuLFcsRCxiKXtyZXR1cm4gYn1jSigpe31LKCl7fU8oKXt9fSxXNTE9Y2xhc3MgZXh0ZW5kcyBSbXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCB0aGlzLmxvZ2dlci5kaXNwb3NlKCkpfXVwZGF0ZShuKXt0aGlzLmxvZ2dlci5kaXNwb3NlKCk7CnRoaXMubG9nZ2VyPW59TihuKXt0aGlzLmxvZ2dlci5OKG4pfVgobixXKXt0aGlzLmxvZ2dlci5YKG4sVyl9SihuKXt0aGlzLmxvZ2dlci5KKG4pfUQobil7dGhpcy5sb2dnZXIuRChuKX1ZKG4sVyl7dGhpcy5sb2dnZXIuWShuLFcpfVcoKXt0aGlzLmxvZ2dlci5XKCl9VihuLFcsRCxiKXtyZXR1cm4gdGhpcy5sb2dnZXIuVihuLFcsRCxiKX1jSihuKXt0aGlzLmxvZ2dlci5jSihuKX1LKG4pe3RoaXMubG9nZ2VyLksobil9TyhuKXt0aGlzLmxvZ2dlci5PKG4pfWoobil7dGhpcy5sb2dnZXIuaihuKX19LERHUz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9bjt0aGlzLko9Vzt0aGlzLk49LVc7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQodGhpcy50aW1lcikpfX0sYjdpPWNsYXNzIGV4dGVuZHMgUm17Y29uc3RydWN0b3IobixXKXtzdXBlcigpOwp0aGlzLm1ldHJpY3M9bjt0aGlzLlZqPVd9aihuKXt0aGlzLm1ldHJpY3MuVGsuZEUobix0aGlzLlZqKX1OKG4pe3RoaXMubWV0cmljcy5ldmVudENvdW50Lkoobix0aGlzLlZqKX1YKG4sVyl7dGhpcy5tZXRyaWNzLlBULmRFKFcsbix0aGlzLlZqKX1KKG4pe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lkoobix0aGlzLlZqKX1WKG4sVyxELGIpe3ZhciB2PWJuKCksaz1oPT57aWYoIXRoaXMucU4oKSl7dmFyIHg9Ym4oKS12O3RoaXMubWV0cmljcy5pTC5kRSh4LG4sRCxoLFcsdGhpcy5Wail9fTsKYi50aGVuKCgpPT52b2lkIGsoMCksaD0+dm9pZCBrKGggaW5zdGFuY2VvZiBDVj9oLmNvZGU6LTEpKTsKcmV0dXJuIGJ9Y0oobil7dGhpcy5tZXRyaWNzLlZKLkoobix0aGlzLlZqKX1LKG4pe3RoaXMubWV0cmljcy5jVS5KKG4sdGhpcy5Wail9TyhuKXt0aGlzLm1ldHJpY3MuakMuSihuLHRoaXMuVmopfUQobil7dGhpcy5tZXRyaWNzLnBheWxvYWRTaXplLmRFKG4sdGhpcy5Wail9WShuLFcpe3RoaXMubWV0cmljcy5mNi5kRShXLG4sdGhpcy5Wail9fSxEaHg9Y2xhc3MgZXh0ZW5kcyBiN2l7Y29uc3RydWN0b3IobixXPVtdKXt2YXIgRD17Vmo6bi5Wanx8Il8iLFJoOm4uUmh8fFtdLExUOm4uTFR8MCxSajpuLlJqLHREOm4udER8fCgoKT0+e30pLApybzpuLnJvfHwoKHYsayk9Pm5sMSh2LGssRC50RCxELlJqKSl9LGI9RC5ybygiNTMiLEQuUmguY29uY2F0KFcpKTsKc3VwZXIoe1RrOm5ldyBDMHgoYiksZXJyb3JDb3VudDpuZXcgTXQxKGIpLGV2ZW50Q291bnQ6bmV3IEYyWihiKSxQVDpuZXcgd1FyKGIpLGlMOm5ldyBCYWkoYiksVko6bmV3IFJkYihiKSxjVTpuZXcgUWF4KGIpLGpDOm5ldyBWdGkoYikscGF5bG9hZFNpemU6bmV3IGNqeChiKSxmNjpuZXcgYTZ3KGIpfSxELlZqKTt0aGlzLm9wdGlvbnM9RDt0aGlzLnNlcnZpY2U9Yjt0aGlzLlRDPSFuLnJvO3RoaXMudHc9bmV3IERHUygoKT0+dm9pZCB0aGlzLnNlcnZpY2UuaigpLEQuTFQpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy50dy5kaXNwb3NlKCk7dGhpcy5UQyYmdGhpcy5zZXJ2aWNlLmRpc3Bvc2UoKX0pOwpnLmJmKFcuc2xpY2UoKSl9Vygpe1dXcih0aGlzLnR3KX19O3ZhciBxdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgR0g9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHIkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDAsciQubWVzc2FnZUlkKX19LFg0Wj1LOChyJCksdmRiPWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT5XIGluc3RhbmNlb2YgbiYmIXY5KFcpKX0ociQpOwpyJC5tZXNzYWdlSWQ9ImJma2oiO3ZhciBjND1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIga0VpPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGhZWj1LOChrRWkpO2cuS1Y9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKG4sVyk9Pnt0aGlzLnJlc29sdmU9bjt0aGlzLnJlamVjdD1XfSl9fTt2YXIgQXE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5KPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMDApO3RoaXMuTj1uZXcga0VpO2lmKCJjaGFsbGVuZ2UiaW4gbiYmdmRiKG4uY2hhbGxlbmdlKSl7dmFyIFc9WTkobi5jaGFsbGVuZ2UsNCx2b2lkIDAseFUpO3ZhciBEPVk5KG4uY2hhbGxlbmdlLDUsdm9pZCAwLHhVKTtZOShuLmNoYWxsZW5nZSw3LHZvaWQgMCx4VSkmJih0aGlzLk49aFlaKFk5KG4uY2hhbGxlbmdlLDcsdm9pZCAwLHhVKSkpfWVsc2Uoe3Byb2dyYW06VyxnbG9iYWxOYW1lOkR9PW4pO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soYXN5bmMoKT0+e3ZhciB7Vng6R309YXdhaXQgdGhpcy5XO0c/LigpfSk7CnRoaXMubG9nZ2VyPUxWKG4ueDN8fHt9LHRoaXMuTik7Zy51KHRoaXMsdGhpcy5sb2dnZXIpO3ZhciBiPW5ldyBnLktWO3RoaXMuVz1iLnByb21pc2U7dGhpcy5sb2dnZXIuTigidCIpO3ZhciB2PXRoaXMubG9nZ2VyLnNoYXJlKCksaz1uZXcgTWwodiwidCIpLGg9KEcscixOLEgpPT57aWYoIXRoaXMubG9nZ2VyLnFOKCkpe3ZhciBBPSJrIjtyP0E9ImgiOk4mJihBPSJ1Iik7QSE9PSJrIj9IIT09MCYmKHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpKTp0aGlzLko8PTA/KHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpLHRoaXMuSj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKSk6dGhpcy5KLS19fSx4PShHLHIsTixIKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntrLmRvbmUoKTsKdi5XKCk7di5kaXNwb3NlKCk7Yi5yZXNvbHZlKHtGeTpHLFZ4OnIscDU6Tix4VTpIfSl9KX0sTD1bKEcscik9Pnt0aGlzLmxvZ2dlci5YKEcscil9LApHPT57dGhpcy5sb2dnZXIuSihHKX0sCkc9Pnt0aGlzLmxvZ2dlci5EKEcpfSwKKEcscik9Pnt0aGlzLmxvZ2dlci5ZKEcscil9XTsKaWYoIWcucWlbRF0pdGhyb3cgdGhpcy5sb2dnZXIuSigyNSksRXJyb3IoIkVHT1UiKTtpZighZy5xaVtEXS5hKXRocm93IHRoaXMubG9nZ2VyLkooMjYpLEVycm9yKCJFTElVIik7dHJ5e2xldCBHPWcucWlbRF0uYTtEPVtdO2xldCByPVtdO3ZhciBlPW4wKHRoaXMuTik7Zm9yKGxldCBBPTA7QTxlLmxlbmd0aDtBKyspRC5wdXNoKGVbQV0pLHIucHVzaCgxKTtsZXQgTj1VaXcodGhpcy5OKTtmb3IoZT0wO2U8Ti5sZW5ndGg7ZSsrKUQucHVzaChOW2VdKSxyLnB1c2goMik7bGV0IFtIXT1HKFcseCwhMCxuLnczLGgsW0Qscl0sWTkodGhpcy5OLDUpLCExLEwpO3RoaXMuWD1IO3RoaXMuT3Y9Yi5wcm9taXNlLnRoZW4oKCk9Pnt9KX1jYXRjaChHKXt0aHJvdyB0aGlzLmxvZ2dlci5KKDI4KSxHOwp9fXNuYXBzaG90KG4pe2lmKHRoaXMucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO3RoaXMubG9nZ2VyLk4oIm4iKTt2YXIgVz10aGlzLmxvZ2dlci5zaGFyZSgpO3JldHVybiB0aGlzLlcudGhlbigoe0Z5OkR9KT0+bmV3IFByb21pc2UoYj0+e3ZhciB2PW5ldyBNbChXLCJuIik7RChrPT57di5kb25lKCk7Vy5qKGsubGVuZ3RoKTtXLlcoKTtXLmRpc3Bvc2UoKTtiKGspfSxbbi53XywKbi5HbCxuLnRMLG4uTU9dKX0pKX1tNShuKXtpZih0aGlzLnFOKCkpdGhyb3cgRXJyb3IoIkFscmVhZHkgZGlzcG9zZWQiKTsKdGhpcy5sb2dnZXIuTigibiIpO3ZhciBXPXYzKHRoaXMubG9nZ2VyLCgpPT50aGlzLlgoW24ud18sbi5HbCxuLnRMLG4uTU9dKSwibiIpOwp0aGlzLmxvZ2dlci5qKFcubGVuZ3RoKTt0aGlzLmxvZ2dlci5XKCk7cmV0dXJuIFd9UzEobil7dGhpcy5XLnRoZW4oKHtwNTpXfSk9PntXPy4obil9KX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX07dmFyIGVtPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5KPXt9O3RoaXMuTj1udWxsfX07dmFyICRZPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBOdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgZlY9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuY2xpZW50PW47dGhpcy5yZXF1ZXN0S2V5PVc7dGhpcy5OPUR9Wmoobil7cmV0dXJuIEgzKHRoaXMsbixuZXcgeFksMCl9fTt2YXIgVEg9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5vcHRpb25zPW47dGhpcy5WPW5ldyBnLktWO3RoaXMuT3Y9dGhpcy5WLnByb21pc2U7dGhpcy5qPW5ldyBnLktWO3RoaXMuWT0xO3RoaXMuSj1uZXcgZy5LVjt0aGlzLlg9W107dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnFKPW4ucUp8fCgoKT0+e30pOwp0aGlzLmxvZ2dlcj1uZXcgVzUxKExWKG4ueDN8fHt9KSk7ckFiKHRoaXMsbi5VZyxuLnFULG4ucVUsbi5USCx7Li4ueEdqLC4uLihuLmtkfHx7fSl9KTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHNQMih0aGlzKSl9YXN5bmMgc25hcHNob3Qobil7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7CnRoaXMuV3x8dGhpcy5LfHxhd2FpdCB0aGlzLmoucHJvbWlzZTtpZih0aGlzLlcpcmV0dXJuIGF3YWl0IHRoaXMuVy5zbmFwc2hvdChuKTt0aHJvdyB0aGlzLks7fXBhdXNlKCl7dGhpcy5xTigpfHx0aGlzLmlzUGF1c2VkfHwodGhpcy5pc1BhdXNlZD0hMCx0aGlzLk4mJnRoaXMuTi5wYXVzZSgpKX1yZXN1bWUoKXshdGhpcy5xTigpJiZ0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLk4mJnRoaXMuTi5yZXN1bWUoKSl9YXN5bmMgY2hlY2tGb3JSZWZyZXNoKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7aWYodGhpcy5OKXt2YXIgbj10aGlzLk47bi5pc0V4cGlyZWQoKT8oT2wobiksbi5RNCgwKSxuPSEwKTpuPSExO24mJmF3YWl0IHRoaXMuSi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy5KLnByb21pc2V9UzEobil7dGhpcy5XPy5TMT8uKG4pfWhhbmRsZUVycm9yKG4pe3RoaXMucU4oKXx8KHRoaXMuSz1uLHRoaXMuai5yZXNvbHZlKCksCnRoaXMub3B0aW9ucy50Nj8uKG4pKX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX0seEdqPXtGWjo0MzJFNSx1bTozRTUsbmI6MTAsamQ6MUU0LGhwOjNFNCxRWDozRTQscUs6NkU0LENxOjFFMyx3ODo2RTQsb3o6NkU1LGQ4Oi4yNSxBaToyLG1heEF0dGVtcHRzOjEwfSxTbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5lbmRUaW1lTXM9MDt0aGlzLk49bnVsbDt0aGlzLmlzUGF1c2VkPSExO3RoaXMudGljaz0oKT0+e2lmKCF0aGlzLmlzUGF1c2VkKXt2YXIgYj10aGlzLmVuZFRpbWVNcy1EYXRlLm5vdygpO2I8PXRoaXMuVz8odGhpcy5OPW51bGwsdGhpcy5RNCgwKSk6dGhpcy5OPXNldFRpbWVvdXQodGhpcy50aWNrLE1hdGgubWluKGIsdGhpcy51bSkpfX07CnRoaXMudW09Vzt0aGlzLlc9RDt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoYj0+e3RoaXMuUTQ9Yn0pOwpZVFUodGhpcyxuKX1wYXVzZSgpe3RoaXMuaXNQYXVzZWR8fCh0aGlzLmlzUGF1c2VkPSEwLE9sKHRoaXMpKX1yZXN1bWUoKXt0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLnRpY2soKSl9Sigpe09sKHRoaXMpO3RoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlE0KDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIEhwaT1NYXRoLmltdWw/PygobixXKT0+bipXfDApLFVsPVsxOTYsCjIwMCwyMjQsMThdLHVuPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0wLEQ9W10pe3RoaXMubWF4SXRlbXM9bjt0aGlzLk49Vzt0aGlzLko9RH1iWSgpe3JldHVybiBTdHJpbmcodGhpcy5OKSsiLCIrdGhpcy5KLmpvaW4oKX1xcChuLFcpe3ZhciBEPXZvaWQgMDtpZih0aGlzLkpbdGhpcy5OXSE9PW4pe2xldCBiPXRoaXMuSi5pbmRleE9mKG4pO2IhPT0tMT8odGhpcy5KLnNwbGljZShiLDEpLGI8dGhpcy5OJiZ0aGlzLk4tLSx0aGlzLkouc3BsaWNlKHRoaXMuTiwwLG4pKTooRD10aGlzLkpbdGhpcy5OXSx0aGlzLkpbdGhpcy5OXT1uKX10aGlzLk49KHRoaXMuTisxKSV0aGlzLm1heEl0ZW1zO249UDMoImlVNXEtIU85QCQiLHRoaXMuYlkoKSk7RCYmbiYmVyhEKTtyZXR1cm4gbn19LEw1Uz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMubG9nZ2VyPVc7dHJ5e3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UmJiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtfWNhdGNoKGIpe0Q9ITF9RCYmKHRoaXMuaW5kZXg9SWV3KG4pKX1OKG4sVyxELGIpe3ZhciB2PXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PmZlYih0aGlzLmluZGV4LHlpKG4pLFcsRCxiKSwiVyIpOiJ1IjsKdGhpcy5sb2dnZXIuTyh2KX1KKG4sVyl7dmFyIFtELGJdPXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PkpBdyh5aShuKSxXKSwiUiIpOlsidSJdOwp0aGlzLmxvZ2dlci5LKEQpO3JldHVybiBifX07dmFyIEFBUz17dG9TdHJpbmc6ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO24tPS0yMTQ3NDgzNjQ4O1dbRCsrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIuY2hhckF0KG4lNTIpO2ZvcihuPU1hdGguZmxvb3Iobi81Mik7bj4wOylXW0QrK109ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ii5jaGFyQXQobiU2Miksbj1NYXRoLmZsb29yKG4vNjIpO3JldHVybiBXLmpvaW4oIiIpfX07dmFyIFFwPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5YPW5ldyBnLktWfVpSKG4sVyl7dmFyIEQ9dGhpcy5XKG4pO1c/LihEKTtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9PmcuRUEoRCwyKSx0aGlzLkopfUZwKG4sVyxEKXtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9Plc/dGhpcy5aUihuLEQpOnRoaXMuVyhuLEQpLHRoaXMuTil9fSxGNj1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyxELGIpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLks9RDt0aGlzLk49Im0iO3RoaXMuSj0ieCI7dGhpcy5WPTA7ZCQodGhpcyxiKX1XKG4sVyl7dGhpcy5sb2dnZXIuTih0aGlzLk4pOysrdGhpcy5WPj10aGlzLksmJnRoaXMuWC5yZXNvbHZlKCk7dmFyIEQ9bigpO249djModGhpcy5sb2dnZXIsKCk9PnRoaXMuaihEKSwiQyIpOwppZihuPT09dm9pZCAwKXRocm93IG5ldyBRRygxNywiWU5KOlVuZGVmaW5lZCIpO2lmKCEobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IG5ldyBRRygxOCwiT0RNOkludmFsaWQiKTtXPy4obik7cmV0dXJuIG59fSxVaGo9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJmIjt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB0aGlzLmp9fSxacHQ9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJ3Ijt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB2Myh0aGlzLmxvZ2dlciwoKT0+bHAodGhpcy5qKSwiZCIpfVpSKCl7cmV0dXJuIHRoaXMuan19LG9sdz1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIobik7CnRoaXMuZXJyb3I9Vzt0aGlzLk49ImUiO3RoaXMuSj0ieSJ9Vygpe2lmKHRoaXMuailyZXR1cm4gdGhpcy5qO3RoaXMuaj1sbih0aGlzLG49PiJfIittaHcobikpOwpyZXR1cm4gbG4odGhpcyxuPT5uKX19LFFpPWNsYXNzIGV4dGVuZHMgUXB7Y29uc3RydWN0b3IobixXLEQpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLmNsaWVudFN0YXRlPUQ7dGhpcy5OPSJTIjt0aGlzLko9InEifVcoKXt2YXIgbj1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxXPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sRD1XLmNvbmNhdChbdGhpcy5qJjI1NSx0aGlzLmNsaWVudFN0YXRlXSxbbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSxuJjI1NV0pO249bmV3IFVpbnQ4QXJyYXkoMitELmxlbmd0aCk7blswXT0zNDtuWzFdPUQubGVuZ3RoO24uc2V0KEQsMik7RD1uLnN1YmFycmF5KDIpO1c9Vy5sZW5ndGg7Zm9yKGxldCBiPVc7YjxELmxlbmd0aDsrK2IpRFtiXV49RFtiJVddO3RoaXMubG9nZ2VyLmNKKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBufX07dmFyIGVZaT17WFU6M0U0LHJTOjJFNH0sQW10PWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD1uZXcgZy5LVjt0aGlzLmo9MDt0aGlzLko9dm9pZCAwO3RoaXMuc3RhdGU9Mjt0aGlzLk8xPW4uTzE7dGhpcy5VZz1uLlVnO3RoaXMua2Q9ey4uLmVZaSwuLi4obi5rZHx8e30pfTt0aGlzLmxvZ2dlcj1uLk8xLlFEKCk7dGhpcy5vbkVycm9yPW4ub25FcnJvcj8/KCgpPT57fSk7CnRoaXMuWGw9bi5YbHx8ITE7aWYoZ2R0KG4pKXtsZXQgYj10aGlzLk8xO3RoaXMuVj0oKT0+TlR0KGIpLmNhdGNoKHY9Pnt0aGlzLko9dj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRyh0aGlzLk4/MjA6MzIsIlRSRzpEaXNwb3NlZCIsdikpO3RoaXMuTj8uZGlzcG9zZSgpO3RoaXMuTj12b2lkIDA7dGhpcy5YLnJlamVjdCh2KX0pOwpwNGkoYiwoKT0+dm9pZCBCMyh0aGlzKSk7CmIuWT09PTImJkIzKHRoaXMpfWVsc2UgdGhpcy5WPW4uRTYsQjModGhpcyk7dmFyIFc9dGhpcy5sb2dnZXIuc2hhcmUoKTtXLk4oIm8iKTt2YXIgRD1uZXcgTWwoVywibyIpO3RoaXMuWC5wcm9taXNlLnRoZW4oKCk9PntELmRvbmUoKTtXLlcoKTtXLmRpc3Bvc2UoKX0sKCk9PnZvaWQgVy5kaXNwb3NlKCkpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5OPyh0aGlzLk4uZGlzcG9zZSgpLHRoaXMuTj12b2lkIDApOnRoaXMuSj90aGlzLmxvZ2dlci5XKCk6KHRoaXMuSj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRygzMiwiVE5QOkRpc3Bvc2VkIikpLHRoaXMubG9nZ2VyLlcoKSx0aGlzLlgucmVqZWN0KHRoaXMuSikpfSk7CmcudSh0aGlzLHRoaXMubG9nZ2VyKX1IJCgpe3JldHVybiB0aGlzLlgucHJvbWlzZX1XKG4pe3JldHVybiBNdih0aGlzLHsuLi5ufSwhMSl9WlIobil7cmV0dXJuIE12KHRoaXMsey4uLm59LCEwKX15aChuKXtpZighKG4+MTUwKSl0cnl7dGhpcy5jYWNoZT1uZXcgTDVTKG4sdGhpcy5sb2dnZXIpfWNhdGNoKFcpe3RoaXMucmVwb3J0RXJyb3IobmV3IFFHKDIyLCJHQko6aW5pdCIsVykpfX1yZXBvcnRFcnJvcihuKXt0aGlzLmxvZ2dlci5KKG4uY29kZSk7dGhpcy5vbkVycm9yKG4pO3JldHVybiBufX0sZ2R0PWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT57aWYoIWtDeChXKSlyZXR1cm4hMTtmb3IobGV0IFtELGJdb2YgT2JqZWN0LmVudHJpZXMobikpe2xldCB2PUQsaz1iO2lmKCEodiBpbiBXKSl7aWYoay5LUD09PSEwKWNvbnRpbnVlO3JldHVybiExfWlmKCFrKFdbdl0pKXJldHVybiExfXJldHVybiEwfSl9KHtPMTpxMyhuPT5uIGluc3RhbmNlb2YgVEgpfSwiIik7dmFyIHFuaT1jbGFzc3tjb25zdHJ1Y3Rvcigpe2lmKCFWcCl7VnA9bmV3IGhxKG5ldyBYbkMpO3ZhciBuPXYwKCJjbGllbnRfc3RyZWFtel93ZWJfZmx1c2hfY291bnQiLC0xKTtuIT09LTEmJihWcC5YPW4pfXRoaXMuVz1uPVZwO3VlKG4sIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLERYKCJ0eXBlIiksRFgoInNlcXVlbmNlIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L3lvdXR1YmUvYWJhL2dhYyIpfX07Zy5jcT1kb2N1bWVudDtnLncyPXdpbmRvdzt2YXIgZGhaPXtIdToiYWxsb3ctZm9ybXMiLFVpOiJhbGxvdy1tb2RhbHMiLEdvOiJhbGxvdy1vcmllbnRhdGlvbi1sb2NrIixFaToiYWxsb3ctcG9pbnRlci1sb2NrIixNTToiYWxsb3ctcG9wdXBzIixmRToiYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IixGODoiYWxsb3ctcHJlc2VudGF0aW9uIixEczoiYWxsb3ctc2FtZS1vcmlnaW4iLHZ1OiJhbGxvdy1zY3JpcHRzIixPaToiYWxsb3ctdG9wLW5hdmlnYXRpb24iLGdNOiJhbGxvdy10b3AtbmF2aWdhdGlvbi1ieS11c2VyLWFjdGl2YXRpb24ifSxsZVM9Zy53RCgoKT0+ekhpKCkpO2cuRT1nLmJyLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuYnIodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNvbnRhaW5zPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5NWT9uLng+PXRoaXMubGVmdCYmbi54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmbi55Pj10aGlzLnRvcCYmbi55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PW4ubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PW4ubGVmdCtuLndpZHRoJiZ0aGlzLnRvcDw9bi50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1uLnRvcCtuLmhlaWdodH07CmcuRS5nZXRTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBnLlFlKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpnLkUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307CmcuRS5zY2FsZT1mdW5jdGlvbihuLFcpe1c9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47dGhpcy5sZWZ0Kj1uO3RoaXMud2lkdGgqPW47dGhpcy50b3AqPVc7dGhpcy5oZWlnaHQqPVc7cmV0dXJuIHRoaXN9O3ZhciBqUEM9L14tLS4rLyxMVz17fTtnLkdFMj1nLndEKCgpPT57dmFyIG49ITE7dHJ5e2xldCBXPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldCgpe249ITB9fSk7Zy5xaS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLFcpfWNhdGNoKFcpe31yZXR1cm4gbn0pO3ZhciB6Q3c9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIHRJdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgJEcxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmZ2PW47dGhpcy5sMD1XO3RoaXMubWV0YWRhdGE9RH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfX07dmFyIEJUdD1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30pe3RoaXMuUHo9bjt0aGlzLm1ldGFkYXRhPVc7dGhpcy5zdGF0dXM9bnVsbH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfWdldFN0YXR1cygpe3JldHVybiB0aGlzLnN0YXR1c319O3ZhciByc3c9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLm5hbWU9bjt0aGlzLm1ldGhvZFR5cGU9InVuYXJ5Ijt0aGlzLnJlcXVlc3RUeXBlPVc7dGhpcy5yZXNwb25zZVR5cGU9RDt0aGlzLk49Yjt0aGlzLlc9dn1KKG4sVz17fSl7cmV0dXJuIG5ldyAkRzEobix0aGlzLFcpfWdldE5hbWUoKXtyZXR1cm4gdGhpcy5uYW1lfX07dmFyIHNPTT1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvQ3JlYXRlIiwkWSx0SXQsbj0+bi5iWSgpLEs4KHRJdCkpO3ZhciBOUDI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHFUUz1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvR2VuZXJhdGVJVCIsTnYsTlAyLG49Pm4uYlkoKSxLOChOUDIpKTt2YXIgWDJyPW5ldyBTZXQoWyJTQVBJU0lESEFTSCIsIkFQSVNJREhBU0giXSk7dmFyIFJIaT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0VmFsdWUoKXt2YXIgbj1pVyh0aGlzLDIpO2lmKEFycmF5LmlzQXJyYXkobil8fG4gaW5zdGFuY2VvZiBnLlFtKXRocm93IEVycm9yKCJDYW5ub3QgYWNjZXNzIHRoZSBBbnkudmFsdWUgZmllbGQgb24gQW55IHByb3RvcyBlbmNvZGVkIHVzaW5nIHRoZSBqc3BiIGZvcm1hdCwgY2FsbCB1bnBhY2tKc3BiIGluc3RlYWQiKTtyZXR1cm4gUnoodGhpcywyKX19O3ZhciBNMWI9SzgoY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE1lc3NhZ2UoKXtyZXR1cm4gWTkodGhpcywyKX19KTt2YXIgdHUxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPVtdO3RoaXMuWD1bXTt0aGlzLmo9W107dGhpcy5XPVtdO3RoaXMuTj1bXTt0aGlzLlY9bi5NRTt0aGlzLks9Vzt0aGlzLnhocj1uLnhocjt0aGlzLlYmJnc0cih0aGlzKX14VihuLFcpe249PT0iZGF0YSI/dGhpcy5KLnB1c2goVyk6bj09PSJtZXRhZGF0YSI/dGhpcy5YLnB1c2goVyk6bj09PSJzdGF0dXMiP3RoaXMuai5wdXNoKFcpOm49PT0iZW5kIj90aGlzLlcucHVzaChXKTpuPT09ImVycm9yIiYmdGhpcy5OLnB1c2goVyl9cmVtb3ZlTGlzdGVuZXIobixXKXtuPT09ImRhdGEiP0ExKHRoaXMuSixXKTpuPT09Im1ldGFkYXRhIj9BMSh0aGlzLlgsVyk6bj09PSJzdGF0dXMiP0ExKHRoaXMuaixXKTpuPT09ImVuZCI/QTEodGhpcy5XLFcpOm49PT0iZXJyb3IiJiZBMSh0aGlzLk4sVyk7cmV0dXJuIHRoaXN9Y2FuY2VsKCl7dGhpcy54aHIuYWJvcnQoKX19LFFQUz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoKTsKdGhpcy5uYW1lPSJBc3luY1N0YWNrIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTtnLml4KG1HLEJKKTttRy5wcm90b3R5cGUuTj1mdW5jdGlvbigpe3ZhciBuPW5ldyBLVyh0aGlzLlgsdGhpcy5XKTt0aGlzLkomJm4uc2V0Q3JlZGVudGlhbHNNb2RlKHRoaXMuSik7cmV0dXJuIG59OwptRy5wcm90b3R5cGUuc2V0Q3JlZGVudGlhbHNNb2RlPWZ1bmN0aW9uKG4pe3RoaXMuSj1ufTsKZy5peChLVyxnLm9XKTtnLkU9S1cucHJvdG90eXBlO2cuRS5vcGVuPWZ1bmN0aW9uKG4sVyl7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcigiRXJyb3IgcmVvcGVuaW5nIGEgY29ubmVjdGlvbiIpO3RoaXMuY0o9bjt0aGlzLk89Vzt0aGlzLnJlYWR5U3RhdGU9MTtQWSh0aGlzKX07CmcuRS5zZW5kPWZ1bmN0aW9uKG4pe2lmKHRoaXMucmVhZHlTdGF0ZSE9MSl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIm5lZWQgdG8gY2FsbCBvcGVuKCkgZmlyc3QuICIpO2lmKHRoaXMuWS5zaWduYWwuYWJvcnRlZCl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIik7dGhpcy5OPSEwO3ZhciBXPXtoZWFkZXJzOnRoaXMuRCxtZXRob2Q6dGhpcy5jSixjcmVkZW50aWFsczp0aGlzLmosY2FjaGU6dm9pZCAwLHNpZ25hbDp0aGlzLlkuc2lnbmFsfTtuJiYoVy5ib2R5PW4pOyh0aGlzLnR3fHxnLnFpKS5mZXRjaChuZXcgUmVxdWVzdCh0aGlzLk8sVykpLnRoZW4odGhpcy5HRS5iaW5kKHRoaXMpLHRoaXMuRFAuYmluZCh0aGlzKSl9OwpnLkUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLnN0YXR1cz0wO3RoaXMuWS5hYm9ydCgiUmVxdWVzdCB3YXMgYWJvcnRlZC4iKTt0aGlzLlcmJnRoaXMuVy5jYW5jZWwoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIikuY2F0Y2goKCk9Pnt9KTsKdGhpcy5yZWFkeVN0YXRlPj0xJiZ0aGlzLk4mJnRoaXMucmVhZHlTdGF0ZSE9NCYmKHRoaXMuTj0hMSxaYSh0aGlzKSk7dGhpcy5yZWFkeVN0YXRlPTB9OwpnLkUuR0U9ZnVuY3Rpb24obil7aWYodGhpcy5OJiYodGhpcy5YPW4sdGhpcy5KfHwodGhpcy5zdGF0dXM9dGhpcy5YLnN0YXR1cyx0aGlzLnN0YXR1c1RleHQ9dGhpcy5YLnN0YXR1c1RleHQsdGhpcy5KPW4uaGVhZGVycyx0aGlzLnJlYWR5U3RhdGU9MixQWSh0aGlzKSksdGhpcy5OJiYodGhpcy5yZWFkeVN0YXRlPTMsUFkodGhpcyksdGhpcy5OKSkpaWYodGhpcy5yZXNwb25zZVR5cGU9PT0iYXJyYXlidWZmZXIiKW4uYXJyYXlCdWZmZXIoKS50aGVuKHRoaXMuSFQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpO2Vsc2UgaWYodHlwZW9mIGcucWkuUmVhZGFibGVTdHJlYW0hPT0idW5kZWZpbmVkIiYmImJvZHkiaW4gbil7dGhpcy5XPW4uYm9keS5nZXRSZWFkZXIoKTtpZih0aGlzLlYpe2lmKHRoaXMucmVzcG9uc2VUeXBlKXRocm93IEVycm9yKCdyZXNwb25zZVR5cGUgbXVzdCBiZSBlbXB0eSBmb3IgInN0cmVhbUJpbmFyeUNodW5rcyIgbW9kZSByZXNwb25zZXMuJyk7dGhpcy5yZXNwb25zZT0KW119ZWxzZSB0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiLHRoaXMuSz1uZXcgVGV4dERlY29kZXI7T2oodGhpcyl9ZWxzZSBuLnRleHQoKS50aGVuKHRoaXMuVUQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpfTsKZy5FLmxFPWZ1bmN0aW9uKG4pe2lmKHRoaXMuTil7aWYodGhpcy5WJiZuLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChuLnZhbHVlKTtlbHNlIGlmKCF0aGlzLlYpe3ZhciBXPW4udmFsdWU/bi52YWx1ZTpuZXcgVWludDhBcnJheSgwKTtpZihXPXRoaXMuSy5kZWNvZGUoVyx7c3RyZWFtOiFuLmRvbmV9KSl0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0Kz1XfW4uZG9uZT9aYSh0aGlzKTpQWSh0aGlzKTt0aGlzLnJlYWR5U3RhdGU9PTMmJk9qKHRoaXMpfX07CmcuRS5VRD1mdW5jdGlvbihuKXt0aGlzLk4mJih0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PW4sWmEodGhpcykpfTsKZy5FLkhUPWZ1bmN0aW9uKG4pe3RoaXMuTiYmKHRoaXMucmVzcG9uc2U9bixaYSh0aGlzKSl9OwpnLkUuRFA9ZnVuY3Rpb24oKXt0aGlzLk4mJlphKHRoaXMpfTsKZy5FLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24obixXKXt0aGlzLkQuYXBwZW5kKG4sVyl9OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuSj90aGlzLkouZ2V0KG4udG9Mb3dlckNhc2UoKSl8fCIiOiIifTsKZy5FLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe2lmKCF0aGlzLkopcmV0dXJuIiI7Zm9yKHZhciBuPVtdLFc9dGhpcy5KLmVudHJpZXMoKSxEPVcubmV4dCgpOyFELmRvbmU7KUQ9RC52YWx1ZSxuLnB1c2goRFswXSsiOiAiK0RbMV0pLEQ9Vy5uZXh0KCk7cmV0dXJuIG4uam9pbigiXHJcbiIpfTsKZy5FLnNldENyZWRlbnRpYWxzTW9kZT1mdW5jdGlvbihuKXt0aGlzLmo9bn07Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShLVy5wcm90b3R5cGUsIndpdGhDcmVkZW50aWFscyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0iaW5jbHVkZSJ9LApzZXQ6ZnVuY3Rpb24obil7dGhpcy5zZXRDcmVkZW50aWFsc01vZGUobj8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIil9fSk7Zy5Vai5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPXRoaXMuWDtXJiZuLnB1c2goek4oVyxwbngsITApLCI6Iik7dmFyIEQ9dGhpcy5OO2lmKER8fFc9PSJmaWxlIiluLnB1c2goIi8vIiksKFc9dGhpcy5ZKSYmbi5wdXNoKHpOKFcscG54LCEwKSwiQCIpLG4ucHVzaChxaChEKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxEPXRoaXMuVixEIT1udWxsJiZuLnB1c2goIjoiLFN0cmluZyhEKSk7aWYoRD10aGlzLkopdGhpcy5OJiZELmNoYXJBdCgwKSE9Ii8iJiZuLnB1c2goIi8iKSxuLnB1c2goek4oRCxELmNoYXJBdCgwKT09Ii8iP1luTTpIN2osITApKTsoRD10aGlzLlcudG9TdHJpbmcoKSkmJm4ucHVzaCgiPyIsRCk7KEQ9dGhpcy5qKSYmbi5wdXNoKCIjIix6TihELGZVYikpO3JldHVybiBuLmpvaW4oIiIpfTsKZy5Vai5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihuKXt2YXIgVz10aGlzLmNsb25lKCksRD0hIW4uWDtEP3lOKFcsbi5YKTpEPSEhbi5ZO0Q/Vy5ZPW4uWTpEPSEhbi5OO0Q/RWooVyxuLk4pOkQ9bi5WIT1udWxsO3ZhciBiPW4uSjtpZihEKWlyKFcsbi5WKTtlbHNlIGlmKEQ9ISFuLkope2lmKGIuY2hhckF0KDApIT0iLyIpaWYodGhpcy5OJiYhdGhpcy5KKWI9Ii8iK2I7ZWxzZXt2YXIgdj1XLkoubGFzdEluZGV4T2YoIi8iKTt2IT0tMSYmKGI9Vy5KLnNsaWNlKDAsdisxKStiKX12PWI7aWYodj09Ii4uInx8dj09Ii4iKWI9IiI7ZWxzZSBpZih2LmluZGV4T2YoIi4vIikhPS0xfHx2LmluZGV4T2YoIi8uIikhPS0xKXtiPWcualUodiwiLyIpO3Y9di5zcGxpdCgiLyIpO2xldCBrPVtdO2ZvcihsZXQgaD0wO2g8di5sZW5ndGg7KXtsZXQgeD12W2grK107eD09Ii4iP2ImJmg9PXYubGVuZ3RoJiZrLnB1c2goIiIpOng9PSIuLiI/KChrLmxlbmd0aD4xfHxrLmxlbmd0aD09MSYma1swXSE9CiIiKSYmay5wb3AoKSxiJiZoPT12Lmxlbmd0aCYmay5wdXNoKCIiKSk6KGsucHVzaCh4KSxiPSEwKX1iPWsuam9pbigiLyIpfWVsc2UgYj12fUQ/Vy5KPWI6RD1uLlcudG9TdHJpbmcoKSE9PSIiO0Q/dXIoVyxuLlcuY2xvbmUoKSk6RD0hIW4uajtEJiYoVy5qPW4uaik7cmV0dXJuIFd9OwpnLlVqLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5Vaih0aGlzKX07CnZhciBwbng9L1sjXC9cP0BdL2csSDdqPS9bI1w/Ol0vZyxZbk09L1sjXD9dL2csRHhTPS9bI1w/QF0vZyxmVWI9LyMvZztnLkU9ZGgucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLlc9bnVsbDtuPWpTKHRoaXMsbik7dmFyIEQ9dGhpcy5OLmdldChuKTtEfHx0aGlzLk4uc2V0KG4sRD1bXSk7RC5wdXNoKFcpO3RoaXMuSj10aGlzLkorMTtyZXR1cm4gdGhpc307CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7VE4odGhpcyk7bj1qUyh0aGlzLG4pO3JldHVybiB0aGlzLk4uaGFzKG4pPyh0aGlzLlc9bnVsbCx0aGlzLko9dGhpcy5KLXRoaXMuTi5nZXQobikubGVuZ3RoLHRoaXMuTi5kZWxldGUobikpOiExfTsKZy5FLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5OPXRoaXMuVz1udWxsO3RoaXMuSj0wfTsKZy5FLmlzRW1wdHk9ZnVuY3Rpb24oKXtUTih0aGlzKTtyZXR1cm4gdGhpcy5KPT0wfTsKZy5FLmZvckVhY2g9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe0QuZm9yRWFjaChmdW5jdGlvbih2KXtuLmNhbGwoVyx2LGIsdGhpcyl9LHRoaXMpfSx0aGlzKX07CmcuRS51Qj1mdW5jdGlvbigpe1ROKHRoaXMpO3ZhciBuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKSxXPUFycmF5LmZyb20odGhpcy5OLmtleXMoKSksRD1bXTtmb3IobGV0IGI9MDtiPFcubGVuZ3RoO2IrKyl7bGV0IHY9bltiXTtmb3IobGV0IGs9MDtrPHYubGVuZ3RoO2srKylELnB1c2goV1tiXSl9cmV0dXJuIER9OwpnLkUuejc9ZnVuY3Rpb24obil7VE4odGhpcyk7dmFyIFc9W107aWYodHlwZW9mIG49PT0ic3RyaW5nIilDVyh0aGlzLG4pJiYoVz1XLmNvbmNhdCh0aGlzLk4uZ2V0KGpTKHRoaXMsbikpKSk7ZWxzZXtuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXPVcuY29uY2F0KG5bRF0pfXJldHVybiBXfTsKZy5FLnNldD1mdW5jdGlvbihuLFcpe1ROKHRoaXMpO3RoaXMuVz1udWxsO249alModGhpcyxuKTtDVyh0aGlzLG4pJiYodGhpcy5KPXRoaXMuSi10aGlzLk4uZ2V0KG4pLmxlbmd0aCk7dGhpcy5OLnNldChuLFtXXSk7dGhpcy5KPXRoaXMuSisxO3JldHVybiB0aGlzfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBXO249dGhpcy56NyhuKTtyZXR1cm4gbi5sZW5ndGg+MD9TdHJpbmcoblswXSk6V307CmcuRS50b1N0cmluZz1mdW5jdGlvbigpe2lmKHRoaXMuVylyZXR1cm4gdGhpcy5XO2lmKCF0aGlzLk4pcmV0dXJuIiI7dmFyIG49W10sVz1BcnJheS5mcm9tKHRoaXMuTi5rZXlzKCkpO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXt2YXIgRD1XW2JdO2xldCB2PXFoKEQpO0Q9dGhpcy56NyhEKTtmb3IobGV0IGs9MDtrPEQubGVuZ3RoO2srKyl7bGV0IGg9djtEW2tdIT09IiImJihoKz0iPSIrcWgoRFtrXSkpO24ucHVzaChoKX19cmV0dXJuIHRoaXMuVz1uLmpvaW4oIiYiKX07CmcuRS5jbG9uZT1mdW5jdGlvbigpe3ZhciBuPW5ldyBkaDtuLlc9dGhpcy5XO3RoaXMuTiYmKG4uTj1uZXcgTWFwKHRoaXMuTiksbi5KPXRoaXMuSik7cmV0dXJuIG59OwpnLkUuZXh0ZW5kPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8YXJndW1lbnRzLmxlbmd0aDtXKyspbktpKGFyZ3VtZW50c1tXXSxmdW5jdGlvbihELGIpe3RoaXMuYWRkKGIsRCl9LHRoaXMpfTtnLml4KEJZLGcuRk0pO3ZhciBKc2o9W107Zy5FPUJZLnByb3RvdHlwZTtnLkUuU189ZnVuY3Rpb24obixXLEQsYil7QXJyYXkuaXNBcnJheShXKXx8KFcmJihKc2pbMF09Vy50b1N0cmluZygpKSxXPUpzaik7Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPUFIKG4sV1t2XSxEfHx0aGlzLmhhbmRsZUV2ZW50LGJ8fCExLHRoaXMuSnx8dGhpcyk7aWYoIWspYnJlYWs7dGhpcy5OW2sua2V5XT1rfXJldHVybiB0aGlzfTsKZy5FLmVGPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBGbSh0aGlzLG4sVyxELGIpfTsKZy5FLndIPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSlmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKyl0aGlzLndIKG4sV1trXSxELGIsdik7ZWxzZSBEPUR8fHRoaXMuaGFuZGxlRXZlbnQsYj1nLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2PXZ8fHRoaXMuSnx8dGhpcyxEPW1oKEQpLGI9ISFiLFc9TjUobik/bi5zYyhXLEQsYix2KTpuPyhuPU8yKG4pKT9uLnNjKFcsRCxiLHYpOm51bGw6bnVsbCxXJiYoRTIoVyksZGVsZXRlIHRoaXMuTltXLmtleV0pfTsKZy5FLlRpPWZ1bmN0aW9uKCl7Zy5hXyh0aGlzLk4sZnVuY3Rpb24obixXKXt0aGlzLk4uaGFzT3duUHJvcGVydHkoVykmJkUyKG4pfSx0aGlzKTsKdGhpcy5OPXt9fTsKZy5FLm1BPWZ1bmN0aW9uKCl7QlkuVEIubUEuY2FsbCh0aGlzKTt0aGlzLlRpKCl9OwpnLkUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiRXZlbnRIYW5kbGVyLmhhbmRsZUV2ZW50IG5vdCBpbXBsZW1lbnRlZCIpO307dmFyIGtoUz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuVz0hMDt0aGlzLko9MDt0aGlzLk49IiJ9aXNJbnB1dFZhbGlkKCl7cmV0dXJuIHRoaXMuV319O010LnByb3RvdHlwZS5pc0lucHV0VmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OIT0zfTsKTXQucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVn07Ck10LnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiEwfTsKTXQucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7TCYxMjgmJlJzKGssaCx4LCJpbnZhbGlkIHRhZyIpOyhMJjcpIT0yJiZScyhrLGgseCwiaW52YWxpZCB3aXJlIHR5cGUiKTtrLlc9TD4+PjM7ay5XIT0xJiZrLlchPTImJmsuVyE9MTUmJlJzKGssaCx4LCJ1bmV4cGVjdGVkIHRhZyIpO2suTj0xO2suSj0wO2suWD0wfQpmdW5jdGlvbiBEKEwpe2suWCsrO2suWD09NSYmTCYyNDAmJlJzKGssaCx4LCJtZXNzYWdlIGxlbmd0aCB0b28gbG9uZyIpO2suSnw9KEwmMTI3KTw8KGsuWC0xKSo3O0wmMTI4fHwoay5OPTIsay5ZPTAsdHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIj9rLmo9bmV3IFVpbnQ4QXJyYXkoay5KKTprLmo9QXJyYXkoay5KKSxrLko9PTAmJnYoKSl9CmZ1bmN0aW9uIGIoTCl7ay5qW2suWSsrXT1MO2suWT09ay5KJiZ2KCl9CmZ1bmN0aW9uIHYoKXtpZihrLlc8MTUpe2xldCBMPXt9O0xbay5XXT1rLmo7ay5LLnB1c2goTCl9ay5OPTB9CmZvcih2YXIgaz10aGlzLGg9biBpbnN0YW5jZW9mIEFycmF5P246bmV3IFVpbnQ4QXJyYXkobikseD0wO3g8aC5sZW5ndGg7KXtzd2l0Y2goay5OKXtjYXNlIDM6UnMoayxoLHgsInN0cmVhbSBhbHJlYWR5IGJyb2tlbiIpO2JyZWFrO2Nhc2UgMDpXKGhbeF0pO2JyZWFrO2Nhc2UgMTpEKGhbeF0pO2JyZWFrO2Nhc2UgMjpiKGhbeF0pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoInVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlOiAiK2suTik7fWsuRCsrO3grK31uPWsuSztrLks9W107cmV0dXJuIG4ubGVuZ3RoPjA/bjpudWxsfTtRTi5wcm90b3R5cGUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTj09PW51bGx9OwpRTi5wcm90b3R5cGUuczg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTsKUU4ucHJvdG90eXBlLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpRTi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24obil7dGhpcy5OIT09bnVsbCYmVk4odGhpcyxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTt2YXIgVz1udWxsO3RyeXt7dmFyIEQ9dGhpcy5XO0QuV3x8d2goRCxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTtELk4rPW47bGV0IGs9TWF0aC5mbG9vcihELk4ubGVuZ3RoLzQpO2lmKGs9PTApdmFyIGI9bnVsbDtlbHNle3RyeXt2YXIgdj16aChELk4uc2xpY2UoMCxrKjQpKX1jYXRjaChoKXt3aChELEQuTixoLm1lc3NhZ2UpfUQuSis9ayo0O0QuTj1ELk4uc2xpY2Uoayo0KTtiPXZ9fVc9Yj09PW51bGw/bnVsbDp0aGlzLlgucGFyc2UoYil9Y2F0Y2goayl7Vk4odGhpcyxuLGsubWVzc2FnZSl9dGhpcy5KKz1uLmxlbmd0aDtyZXR1cm4gV307Zy5FPWFzLnByb3RvdHlwZTtnLkUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaiE9M307CmcuRS5zOD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkR9OwpnLkUuZG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0yfTsKZy5FLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpnLkUucGFyc2U9ZnVuY3Rpb24obil7ZnVuY3Rpb24gVygpe2Zvcig7cjxuLmxlbmd0aDspaWYoY1kobltyXSkpcisrLGsuVysrO2Vsc2UgYnJlYWs7cmV0dXJuIHI8TH0KZnVuY3Rpb24gRCgpe2Zvcih2YXIgSDs7KXtIPW5bcisrXTtpZighSClicmVhaztrLlcrKztzd2l0Y2goay5OKXtjYXNlIDA6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00OmNZKEgpfHxuXyhrLG4scik7Y29udGludWU7Y2FzZSA3OmNhc2UgMjppZihjWShIKSljb250aW51ZTtpZihrLk49PT03KWgucHVzaCg4KTtlbHNlIGlmKEg9PT0ifSIpe3YoInt9Iik7ay5OPWIoKTtjb250aW51ZX1lbHNlIGgucHVzaCgzKTtIPT09JyInP2suTj02Om5fKGssbixyKTtjb250aW51ZTtjYXNlIDg6Y2FzZSAzOmlmKGNZKEgpKWNvbnRpbnVlO0g9PT0iOiI/KGsuTj09PTMmJihoLnB1c2goMyksay5KKyspLGsuTj0xKTpIPT09In0iPyhrLkotLSx2KCksay5OPWIoKSk6SD09PSIsIj8oay5OPT09MyYmaC5wdXNoKDMpLGsuTj03KTpuXyhrLG4scik7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZihjWShIKSljb250aW51ZTtpZihrLk49PT00KWlmKGsuSisrLGsuTj0xLEg9PT0iXSIpe2suSi0tO2lmKGsuSj09PQowKXtrLk49NTtyZXR1cm59digiW10iKTtrLk49YigpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDUpO0g9PT0nIic/ay5OPTY6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00Okg9PT0idCI/ay5OPTk6SD09PSJmIj9rLk49MTI6SD09PSJuIj9rLk49MTY6SCE9PSItIiYmKCIwMTIzNDU2Nzg5Ii5pbmRleE9mKEgpIT09LTE/ay5OPTIwOm5fKGssbixyKSk7Y29udGludWU7Y2FzZSA1OmlmKEg9PT0iLCIpaC5wdXNoKDUpLGsuTj0xLGsuSj09PTEmJihHPXIpO2Vsc2UgaWYoSD09PSJdIil7ay5KLS07aWYoay5KPT09MClyZXR1cm47digpO2suTj1iKCl9ZWxzZSBpZihjWShIKSljb250aW51ZTtlbHNlIG5fKGssbixyKTtjb250aW51ZTtjYXNlIDY6bGV0IEE9cjthOmZvcig7Oyl7Zm9yKDtrLlk+MDspaWYoSD1uW3IrK10say5ZPT09ND9rLlk9MDprLlkrKywhSClicmVhayBhO2lmKEg9PT0nIicmJiFrLkspe2suTj1iKCk7YnJlYWt9aWYoSD09PSJcXCImJiFrLksmJihrLks9ITAsSD1uW3IrK10sCiFIKSlicmVhaztpZihrLkspaWYoay5LPSExLEg9PT0idSImJihrLlk9MSksSD1uW3IrK10pY29udGludWU7ZWxzZSBicmVhazt4Lmxhc3RJbmRleD1yO0g9eC5leGVjKG4pO2lmKCFIKXtyPW4ubGVuZ3RoKzE7YnJlYWt9cj1ILmluZGV4KzE7SD1uW0guaW5kZXhdO2lmKCFIKWJyZWFrfWsuVys9ci1BO2NvbnRpbnVlO2Nhc2UgOTppZighSCljb250aW51ZTtIPT09InIiP2suTj0xMDpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMDppZighSCljb250aW51ZTtIPT09InUiP2suTj0xMTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMTppZighSCljb250aW51ZTtIPT09ImUiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTI6aWYoIUgpY29udGludWU7SD09PSJhIj9rLk49MTM6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIUgpY29udGludWU7SD09PSJsIj9rLk49MTQ6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIUgpY29udGludWU7SD09PSJzIj9rLk49MTU6Cm5fKGssbixyKTtjb250aW51ZTtjYXNlIDE1OmlmKCFIKWNvbnRpbnVlO0g9PT0iZSI/ay5OPWIoKTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNjppZighSCljb250aW51ZTtIPT09InUiP2suTj0xNzpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNzppZighSCljb250aW51ZTtIPT09ImwiP2suTj0xODpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxODppZighSCljb250aW51ZTtIPT09ImwiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTk6SD09PSIuIj9rLk49MjA6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMjA6aWYoIjAxMjM0NTY3ODkuZUUrLSIuaW5kZXhPZihIKSE9PS0xKWNvbnRpbnVlO2Vsc2Ugci0tLGsuVy0tLGsuTj1iKCk7Y29udGludWU7ZGVmYXVsdDpuXyhrLG4scil9fX0KZnVuY3Rpb24gYigpe3ZhciBIPWgucG9wKCk7cmV0dXJuIEghPW51bGw/SDoxfQpmdW5jdGlvbiB2KEgpe2suSj4xfHwoSHx8KEg9Rz09PS0xP2suWCtuLnN1YnN0cmluZyhlLHIpOm4uc3Vic3RyaW5nKEcscikpLGsuTz9rLlYucHVzaChIKTprLlYucHVzaChKU09OLnBhcnNlKEgpKSxHPXIpfQpmb3IodmFyIGs9dGhpcyxoPWsuY0oseD1rLnR3LEw9bi5sZW5ndGgsZT0wLEc9LTEscj0wO3I8TDspc3dpdGNoKGsuail7Y2FzZSAzOnJldHVybiBuXyhrLG4sciksbnVsbDtjYXNlIDI6cmV0dXJuIFcoKSYmbl8oayxuLHIpLG51bGw7Y2FzZSAwOmlmKFcoKSl7dmFyIE49bltyKytdO2suVysrO2lmKE49PT0iWyIpe2suaj0xO2U9cjtrLk49NDtjb250aW51ZX1lbHNlIG5fKGssbixyKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIEQoKSxrLko9PT0wJiZrLk49PTU/KGsuaj0yLGsuWD1uLnN1YnN0cmluZyhyKSk6ay5YPUc9PT0tMT9rLlgrbi5zdWJzdHJpbmcoZSk6bi5zdWJzdHJpbmcoRyksay5WLmxlbmd0aD4wPyhOPWsuVixrLlY9W10sTik6bnVsbH1yZXR1cm4gbnVsbH07V0sucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT1udWxsfTsKV0sucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07CldLLnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiExfTsKV0sucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7ay5KPTY7ay5qPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIitrLk4rIi8iK2grIi4gRXJyb3I6ICIrTCsiLiBXaXRoIGlucHV0OlxuIjt0aHJvdyBFcnJvcihrLmopO30KZnVuY3Rpb24gRCgpe2suVz1uZXcgYXMoe1ZMOiEwLFpIOiEwfSl9CmZ1bmN0aW9uIGIoTCl7aWYoTClmb3IobGV0IGU9MDtlPEwubGVuZ3RoO2UrKyl7bGV0IEc9e307R1sxXT1MW2VdO2suWC5wdXNoKEcpfX0KZnVuY3Rpb24gdihMKXtpZihMKXsoay5WfHxMLmxlbmd0aD4xKSYmVygiZXh0cmEgc3RhdHVzOiAiK0wpO2suVj0hMDtsZXQgZT17fTtlWzJdPUxbMF07ay5YLnB1c2goZSl9fQpmb3IodmFyIGs9dGhpcyxoPTA7aDxuLmxlbmd0aDspe3ZhciB4O2lmKHg9ay5KIT09Mil7YTp7Zm9yKDtoPG4ubGVuZ3RoOyl7aWYoIWNZKG5baF0pKXt4PSEwO2JyZWFrIGF9aCsrO2suTisrfXg9ITF9eD0heH1pZih4KXJldHVybiBudWxsO3N3aXRjaChrLkope2Nhc2UgNjpXKCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTticmVhaztjYXNlIDA6bltoXT09PSJbIj8oay5KPTEsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAxOm5baF09PT0iWyI/KGsuSj0yLEQoKSk6bltoXT09PSIsInx8bi5zbGljZShoLGgrNSk9PSJudWxsLCI/ay5KPTM6bltoXT09PSJdIj8oay5KPTUsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAyOng9ay5XLnBhcnNlKG4uc3Vic3RyaW5nKGgpKTtiKHgpO2suVy5kb25lKCk/KGsuSj0zLHg9ay5XLlgsay5OKz1uLmxlbmd0aC1oLXgubGVuZ3RoLG49eCxoPTApOihrLk4rPW4ubGVuZ3RoLQpoLGg9bi5sZW5ndGgpO2JyZWFrO2Nhc2UgMzpuW2hdPT09IiwifHxuLnNsaWNlKGgsaCs1KT09Im51bGwsIj8oay5KPTQsRCgpLGsuVy5wYXJzZSgiWyIpLGgrPW5baF09PT0iLCI/MTo1LGsuTisrKTpuW2hdPT09Il0iJiYoay5KPTUsaCsrLGsuTisrKTticmVhaztjYXNlIDQ6eD1rLlcucGFyc2Uobi5zdWJzdHJpbmcoaCkpO3YoeCk7ay5XLmRvbmUoKT8oay5KPTUseD1rLlcuWCxrLk4rPW4ubGVuZ3RoLWgteC5sZW5ndGgsbj14LGg9MCk6KGsuTis9bi5sZW5ndGgtaCxoPW4ubGVuZ3RoKTticmVhaztjYXNlIDU6VygiZXh0cmEgaW5wdXQgYWZ0ZXIgc3RyZWFtIGVuZCIpfX1yZXR1cm4gay5YLmxlbmd0aD4wPyhuPWsuWCxrLlg9W10sbik6bnVsbH07dmFyIHFBdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bnVsbDt0aGlzLmo9dGhpcy5XPTA7dGhpcy5EPSExO3RoaXMuWD10aGlzLks9dGhpcy5WPW51bGw7dGhpcy5ZPW5ldyBCWSh0aGlzKTt0aGlzLlkuU18odGhpcy5OLCJyZWFkeXN0YXRlY2hhbmdlIix0aGlzLk8pfWdldFN0YXR1cygpe3JldHVybiB0aGlzLmp9TyhuKXtuPW4udGFyZ2V0O3RyeXtpZihuPT10aGlzLk4pYTp7bGV0IGs9YTUodGhpcy5OKTt2YXIgVz10aGlzLk4uVyxEPXRoaXMuTi5nZXRTdGF0dXMoKTtsZXQgaD1XMyh0aGlzLk4pO249W107aWYoRG8odGhpcy5OKWluc3RhbmNlb2YgQXJyYXkpe2xldCB4PURvKHRoaXMuTik7eC5sZW5ndGg+MCYmeFswXWluc3RhbmNlb2YgVWludDhBcnJheSYmKHRoaXMuRD0hMCxuPXgpfWlmKCEoazwzfHxrPT0zJiYhaCYmbi5sZW5ndGg9PTApKWlmKEQ9RD09MjAwfHxEPT0yMDYsaz09NCYmKFc9PTg/RGkodGhpcyw3KTpXPT03P0RpKHRoaXMsOCk6RHx8CkRpKHRoaXMsMykpLHRoaXMuSnx8KHRoaXMuSj1oQ3godGhpcy5OKSx0aGlzLko9PW51bGwmJkRpKHRoaXMsNSkpLHRoaXMuaj4yKWJIKHRoaXMpO2Vsc2V7aWYobi5sZW5ndGg+dGhpcy5XKXtsZXQgeD1uLmxlbmd0aDtXPVtdO3RyeXtpZih0aGlzLkouYW8oKSlmb3IodmFyIGI9MDtiPHg7YisrKXt2YXIgdj10aGlzLkoucGFyc2UoQXJyYXkuZnJvbShuW2JdKSk7diYmKFc9Vy5jb25jYXQodikpfWVsc2V7dj0iIjtpZighdGhpcy5WKXtpZih0eXBlb2YgVGV4dERlY29kZXI9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiVGV4dERlY29kZXIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7dGhpcy5WPW5ldyBUZXh0RGVjb2Rlcn1mb3IoYj0wO2I8eDtiKyspdis9dGhpcy5WLmRlY29kZShuW2JdLHtzdHJlYW06az09NCYmYj09eC0xfSk7Vz10aGlzLkoucGFyc2Uodil9bi5zcGxpY2UoMCx4KTtXJiZ0aGlzLlgoVyl9Y2F0Y2goTCl7RGkodGhpcyw1KTtiSCh0aGlzKTsKYnJlYWsgYX19ZWxzZSBpZihoLmxlbmd0aD50aGlzLlcpe2I9aC5zbGljZSh0aGlzLlcpO3RoaXMuVz1oLmxlbmd0aDt0cnl7bGV0IHg9dGhpcy5KLnBhcnNlKGIpO3ghPW51bGwmJnRoaXMuWCYmdGhpcy5YKHgpfWNhdGNoKHgpe0RpKHRoaXMsNSk7YkgodGhpcyk7YnJlYWsgYX19az09ND8oaC5sZW5ndGghPTB8fHRoaXMuRD9EaSh0aGlzLDIpOkRpKHRoaXMsNCksYkgodGhpcykpOkRpKHRoaXMsMSl9fX1jYXRjaChrKXtEaSh0aGlzLDYpLGJIKHRoaXMpfX19O3ZhciBHaGk9Y2xhc3N7Y29uc3RydWN0b3Iobil7bj10aGlzLlc9bjt2YXIgVz0oMCxnLkt0KSh0aGlzLlgsdGhpcyk7bi5YPVc7bj10aGlzLlc7Vz0oMCxnLkt0KSh0aGlzLmosdGhpcyk7bi5LPVc7dGhpcy5KPXt9O3RoaXMuTj17fX14VihuLFcpe3ZhciBEPXRoaXMuSltuXTtEfHwoRD1bXSx0aGlzLkpbbl09RCk7RC5wdXNoKFcpfWFkZExpc3RlbmVyKG4sVyl7dGhpcy54VihuLFcpO3JldHVybiB0aGlzfXJlbW92ZUxpc3RlbmVyKG4sVyl7dmFyIEQ9dGhpcy5KW25dO0QmJmcuRkkoRCxXKTsobj10aGlzLk5bbl0pJiZnLkZJKG4sVyk7cmV0dXJuIHRoaXN9b25jZShuLFcpe3ZhciBEPXRoaXMuTltuXTtEfHwoRD1bXSx0aGlzLk5bbl09RCk7RC5wdXNoKFcpO3JldHVybiB0aGlzfVgobil7dmFyIFc9dGhpcy5KLmRhdGE7VyYmdksobixXKTsoVz10aGlzLk4uZGF0YSkmJnZLKG4sVyk7dGhpcy5OLmRhdGE9W119aigpe3N3aXRjaCh0aGlzLlcuZ2V0U3RhdHVzKCkpe2Nhc2UgMTprdCh0aGlzLAoicmVhZGFibGUiKTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDc6Y2FzZSAzOmt0KHRoaXMsImVycm9yIik7YnJlYWs7Y2FzZSA4Omt0KHRoaXMsImNsb3NlIik7YnJlYWs7Y2FzZSAyOmt0KHRoaXMsImVuZCIpfX19O3ZhciAkeGg9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj17Zm9ybWF0OiJqc3BiIn07dGhpcy5ZTz1uLllPfHxnLnJyKCJzdXBwcmVzc0NvcnNQcmVmbGlnaHQiLG4pfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz1uLndpdGhDcmVkZW50aWFsc3x8Zy5ycigid2l0aENyZWRlbnRpYWxzIixuKXx8ITE7dGhpcy5LYj1uLktifHxbXTt0aGlzLkZOPW4uRk58fFtdO3RoaXMuU249bi5Tbjt0aGlzLk49bi5sSXx8ITF9c2VydmVyU3RyZWFtaW5nKG4sVyxELGIpe3ZhciB2PW4uc3Vic3RyaW5nKDAsbi5sZW5ndGgtYi5uYW1lLmxlbmd0aCk7cmV0dXJuIHh4aihrPT57dmFyIGg9ay5sMCx4PWsuZ2V0TWV0YWRhdGEoKSxMPWhhKHRoaXMsITEpO3g9eHQodGhpcyx4LEwsditoLmdldE5hbWUoKSk7dmFyIGU9TF8oTCxoLlcsITApO2s9aC5OKGsuZnYpO0wuc2VuZCh4LCJQT1NUIixrKTtyZXR1cm4gZX0sdGhpcy5LYikuY2FsbCh0aGlzLGIuSihXLEQpKX19O3F3LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBZWSh0aGlzLk4sdGhpcy5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9DcmVhdGUiLG4sV3x8e30sc09NLEQpfTt2YXIgYW09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iYm9vbCJ9fSxuaj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZDU9Mzt0aGlzLm54PW47dGhpcy5kZWZhdWx0VmFsdWU9Vzt0aGlzLlUwPSJpbnQifX0sV0M9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iZG91YmxlIn19O3ZhciBTY3QsSVV3LFljLEFzVSxub3IsV0lNLG1HWixLNVUsTzcxLEhwLFo3VSxVR0MsUHJpLHlzeCxFZGksaTdDLHVOYixVQmIsZEd0LHpZaSxsVXIsVFBVLGpPaSxDSmksa3FNLERaLEY1aSxjZix3bjIsSGZ4LFNvUyxJWWksTUl4LHowaSxsWWgsVE5DLEJwdCxSWXcsUU94LFZJaixpbGksa1RiLFZrdyxjc3IsYVVNLGJELG5KaSxXRlMsbmEsRGRTLGJnaSx2NWksdkpDLFRfQyx0UzIsa19pLGhGaix4ZGgsZUZVLGdKMSxYQU0scURTLEdfcix0SlMsJGQyLHJUaixzcjIsanNaLE5GVSxHb00seSRqLHllaSxwQXQsanZNLEtZeCxZRFosSGdaLHZDLEplMSxmY3Qsa05qLEpUeCxJY2ksSGYsaldTLFNEUyxZSmIsQVRaLG1kdyxsaVosS0ZyLE9nMixwYk0sd2JTLFpnTSx5VDIsRUpNLHdJMTtTY3Q9bmV3IGFtKDQ1NzU5NTgwLCExKTtJVXc9bmV3IGFtKDQ1NzY2MjczLCExKTtnLlNuaj1uZXcgYW0oNDU3NTc4NzgsITEpO1ljPW5ldyBhbSg0NTc0OTM5NiwhMSk7CkFzVT1uZXcgYW0oNDU4MDg1MjgsITEpO25vcj1uZXcgYW0oNDU3NDIxMTksITEpO1dJTT1uZXcgYW0oNDU3ODQxNjgsITEpO21HWj1uZXcgYW0oNDU4MDEwNjgsITEpO0s1VT1uZXcgYW0oNDU3Nzg2OTYsITEpO083MT1uZXcgYW0oNDU3NTY0NDYsITEpO2cuUEpNPW5ldyBhbSg0NTgwODE1MCwhMSk7SHA9bmV3IGFtKDQ1ODA3NzY0LCExKTtaN1U9bmV3IGFtKDQ1Nzk3NzIxLCExKTtVR0M9bmV3IGFtKDQ1Nzk4OTMyLCExKTtQcmk9bmV3IGFtKDQ1NzYwMDE4LCExKTt5c3g9bmV3IGFtKDQ1NzM5MTk2LCExKTtFZGk9bmV3IGFtKDQ1Nzk0ODY4LCExKTtpN0M9bmV3IGFtKDQ1NzM5MTk4LCExKTt1TmI9bmV3IGFtKDQ1Nzk0ODY3LCExKTtVQmI9bmV3IGFtKDQ1Nzc3MzU2LCExKTtnLm9kWj1uZXcgbmooNDU3NTA5NDcsZy4kVSgiMCIpKTtkR3Q9bmV3IGFtKDQ1Nzk5OTEyLCExKTt6WWk9bmV3IFdDKDQ1NzQ2OTY2LDApO2xVcj1uZXcgV0MoNDU3NDY5NjcsMCk7ClRQVT1uZXcgV0MoNDU3Mzc0ODgsMCk7ak9pPW5ldyBXQyg0NTczNzQ4OSwwKTtDSmk9bmV3IGFtKDQ1Nzk1NTczLCExKTtnLkJQUz1uZXcgYW0oNDU3NjU2ODAsITEpO2txTT1uZXcgYW0oNDU3MzI3OTEsITApO0RaPW5ldyBhbSg0NTc4MTExMiwhMSk7RjVpPW5ldyBhbSg0NTgwODY1MCwhMSk7Y2Y9bmV3IGFtKDQ1ODExODU3LCExKTt3bjI9bmV3IGFtKDQ1ODA1OTY4LCExKTtIZng9bmV3IGFtKDQ1NzY5MTE5LCEwKTtTb1M9bmV3IG5qKDQ1ODA2NTU1LGcuJFUoIjIiKSk7SVlpPW5ldyBuaig0NTc4NDQzOSxnLiRVKCIwIikpO01JeD1uZXcgYW0oNDU4MTc0MDksITEpO3owaT1uZXcgYW0oNDU3Mzc0ODIsITEpO2xZaD1uZXcgV0MoNDU3NDE3NzMsMCk7VE5DPW5ldyBhbSg0NTgwNTg0OCwhMSk7QnB0PW5ldyBhbSg0NTc3MzY3MywhMSk7Ull3PW5ldyBhbSg0NTgwMDYzMywhMSk7UU94PW5ldyBhbSg0NTc5ODA3OCwhMSk7VklqPW5ldyBhbSg0NTczMTA4MywhMSk7CmlsaT1uZXcgYW0oNDU3OTcyNzksITEpO2tUYj1uZXcgYW0oNDU3Mjg1NTMsITEpO1Zrdz1uZXcgYW0oNDU3OTY3NTAsITEpO2Nzcj1uZXcgYW0oNDU3OTQ2ODAsITEpO2FVTT1uZXcgYW0oNDU4MTMwMjcsITEpO2JEPW5ldyBhbSg0NTczNDE5MSwhMSk7bkppPW5ldyBhbSg0NTc5Njc3NywhMSk7V0ZTPW5ldyBhbSg0NTc5Njc3OCwhMSk7bmE9bmV3IGFtKDQ1ODEwNjYxLCExKTtnLkFoPW5ldyBhbSg0NTc0NTYxMCwhMSk7RGRTPW5ldyBhbSg0NTgxNjU3MSwhMSk7YmdpPW5ldyBhbSg0NTc3MzI3MywhMSk7djVpPW5ldyBhbSg0NTc1NjYxOSwhMSk7dkpDPW5ldyBhbSg0NTc1ODI5MCwhMSk7VF9DPW5ldyBhbSg0NTgxMzgzMSwhMSk7dFMyPW5ldyBhbSg0NTczNTUyMywhMSk7a19pPW5ldyBXQyg0NTc3MTg5MCwwKTtoRmo9bmV3IFdDKDQ1ODA3NzczLDApO3hkaD1uZXcgV0MoNDU3MzU0MjgsNEUzKTtnLkxGaT1uZXcgYW0oNDU3ODkwNzcsITEpO2VGVT1uZXcgYW0oNDU3NDgwMDksITEpOwpnSjE9bmV3IGFtKDQ1NzUyNjA0LCExKTtYQU09bmV3IFdDKDQ1NzY5MjE0LDApO3FEUz1uZXcgYW0oNDU3MzU0NjIsITEpO0dfcj1uZXcgYW0oNDU4MTUwNzMsITEpO3RKUz1uZXcgYW0oNDU3NTE5NDMsITEpOyRkMj1uZXcgYW0oNDU3NTE5NDQsITEpO3JUaj1uZXcgYW0oNDU3NTE5NDUsITEpO3NyMj1uZXcgbmooNDU4MDg3NjIsZy4kVSgiMCIpKTtqc1o9bmV3IGFtKDQ1NzY0NTkyLCExKTtORlU9bmV3IFdDKDQ1NzY0NTkzLDApO0dvTT1uZXcgYW0oNDU3NjY1MTEsITEpO3kkaj1uZXcgYW0oNDU4MDYzODgsITEpO3llaT1uZXcgYW0oNDU4MDYzNjMsITEpO3BBdD1uZXcgYW0oNDU4MTU1OTIsITEpO2p2TT1uZXcgYW0oNDU4MTQ0ODAsITEpO0tZeD1uZXcgYW0oNDU4MTA0NjcsITEpO1lEWj1uZXcgYW0oNDU3OTEzMjYsITEpO0hnWj1uZXcgYW0oNDU3ODc3NzEsITEpO3ZDPW5ldyBhbSg0NTc5MTA4NywhMSk7SmUxPW5ldyBhbSg0NTc3Mjg5MSwhMSk7CmZjdD1uZXcgYW0oNDU3OTU4NDQsITEpO2tOaj1uZXcgYW0oNDU3ODM4NzUsITApO0pUeD1uZXcgYW0oNDU3OTU1NzQsITEpO0ljaT1uZXcgYW0oNDU3NzE4OTEsITEpO0hmPW5ldyBhbSg0NTcyODE4MSwhMSk7aldTPW5ldyBhbSg0NTc1NjU0MywhMSk7U0RTPW5ldyBhbSg0NTc1NjYyMCwhMSk7WUpiPW5ldyBhbSg0NTgwODc1NCwhMSk7QVRaPW5ldyBuaig0NTc2MTc2MCxnLiRVKCIyMDAiKSk7bWR3PW5ldyBhbSg0NTc3NjgzMiwhMSk7bGlaPW5ldyBXQyg0NTc2ODQzMCwwKTtLRnI9bmV3IGFtKDQ1Nzc2NTgwLCExKTtPZzI9bmV3IGFtKDQ1NzU1NzYwLCExKTtwYk09bmV3IGFtKDQ1NzYwMDE3LCExKTt3YlM9bmV3IGFtKDQ1NzMyNzc1LCExKTtnLlAzMT1uZXcgYW0oNDU3ODc5NDgsITEpO1pnTT1uZXcgYW0oNDU3NjU4MTgsITEpO2cuVWRDPW5ldyBhbSg0NTczNDc3NiwhMSk7eVQyPW5ldyBhbSg0NTgxNjgxMSwhMSk7RUpNPW5ldyBhbSg0NTc2MDEyMCwhMSk7Cmcua0g9bmV3IGFtKDQ1NzcwNDc2LCExKTt3STE9bmV3IGFtKDQ1ODA4MDUzLCExKTt2YXIgWXhyPW5ldyBXQyg0NTgwMzc1NCwwKSxtRGg9bmV3IFdDKDQ1NzkxMTE3LDApLHZNUz1uZXcgV0MoNDU3MjU1NDIsMCksWlJ4PW5ldyBXQyg0NTc5NDQ0MSwwKSxlVVU9bmV3IFdDKDQ1ODA3NzcxLDApLEhScj1uZXcgV0MoNDU3NzM2MDMsMCksZndqPW5ldyBXQyg0NTc3MzYwNCwwKSx4RFo9bmV3IFdDKDQ1Nzk3OTYzLDApLGJSdz1uZXcgV0MoNDU3MjU1NDMsMCksUGhqPW5ldyBXQyg0NTc5MzcxMCwwKSxoVWk9bmV3IFdDKDQ1NzU3NDI2LDApLG5Ndz1uZXcgV0MoNDU3MjU1MzksMCksSlIxPW5ldyBXQyg0NTgwNTY5NSwwKSxERFo9bmV3IFdDKDQ1NzI1NTQxLDApLFhHVT1uZXcgV0MoNDU3NTc0MjcsMCksQ1JpPW5ldyBhbSg0NTc5MTIwNiwhMSksV2t0PW5ldyBXQyg0NTcyNTU0MCwwKSxhWXg9bmV3IFdDKDQ1NzI1NTM4LDApLEtraT1uZXcgV0MoNDU3OTExMTgsMCksazZ3PW5ldyBXQyg0NTc2NDUyMywwKSxTeGk9bmV3IFdDKDQ1ODA0NzcxLDApLEl3eD1uZXcgV0MoNDU3ODY0NDMsCjApLFVEMj1uZXcgV0MoNDU4MDIxMjMsMCkscXhoPW5ldyBXQyg0NTc2NDIxNywwKSxHNjI9bmV3IFdDKDQ1NzY0NTI0LDApLCREMT1uZXcgV0MoNDU3NjU2MDIsMCksTGtDPW5ldyBXQyg0NTgwNzQzMiwwKSxBUk09bmV3IFdDKDQ1Nzc2MTkwLDApLE9SVT1uZXcgV0MoNDU3OTExMTksMCksVWJTPW5ldyBXQyg0NTgxNTAxMSwwKSxOZFM9bmV3IFdDKDQ1Nzc4NjcxLDApLHBHMT1uZXcgV0MoNDU3NDEzMzksMCksdDVpPW5ldyBXQyg0NTc2Nzc2MywwKSxnTXg9bmV3IFdDKDQ1ODA3NzcyLDApLHN3aT1uZXcgV0MoNDU3NzAwMDIsMCksclJpPW5ldyBXQyg0NTc3MDAwMSwwKTt2YXIgaWd0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIHVwMj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1KKCl7cmV0dXJuIHRoaXMuTi5RUShHX3IpfX07dmFyIHI0Mj0vKD86XFt8JTVCKShbYS16QS1aMC05X10rKSg/OlxdfCU1RCkvZzt2YXIgb0pVPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fTt2YXIgaEw9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4sNTAwKX19O3ZhciBkZFM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE5hbWUoKXtyZXR1cm4gWTkodGhpcywxKX1nZXRPcHRpb25zKCl7cmV0dXJuIGdlKHRoaXMsaEwsMyl9Y2xlYXJPcHRpb25zKCl7cmV0dXJuIG96KHRoaXMsMyl9fTt2YXIgekZpPWZ1bmN0aW9uKG4pe3JldHVybiBXPT57Vz1KU09OLnBhcnNlKFcpO2lmKCFBcnJheS5pc0FycmF5KFcpKXRocm93IEVycm9yKCJFeHBlY3RlZCBqc3BiIGRhdGEgdG8gYmUgYW4gYXJyYXksIGdvdCAiK3B0KFcpKyI6ICIrVyk7V1tiNF18PTM0O3JldHVybiBuZXcgbihXKX19KGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXROYW1lKCl7cmV0dXJuIFk5KHRoaXMsMSl9Z2V0T3B0aW9ucygpe3JldHVybiBnZSh0aGlzLG9KVSwzKX1jbGVhck9wdGlvbnMoKXtyZXR1cm4gb3oodGhpcywzKX1YTygpe3JldHVybiBIVyh0aGlzLDYpfU1MKG4pe0tuKHRoaXMsNixuKX19KTt2YXIgbGNyPVN5bWJvbCgpO3ZhciBURnI7VEZyPW5ldyBtNFooOTk4LGhMLGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19KTt2YXIgeEg9U3ltYm9sKCk7dmFyICR0PWNsYXNzIGV4dGVuZHMgZy5vV3tjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD10aGlzLk49MDt0aGlzLkEkPW4/P3tMUzooVyxEKT0+c2V0VGltZW91dChXLEQpLApzTzpXPT57Y2xlYXJUaW1lb3V0KFcpfX07CnRoaXMuaXNPbmxpbmU9d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lPz8hMDt0aGlzLko9YXN5bmMoKT0+e2F3YWl0IHJYKHRoaXMpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLlh8fHRoaXMuaFQoKX1kaXNwb3NlKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLkEkLnNPKHRoaXMuWCk7ZGVsZXRlICR0Lmluc3RhbmNlfVdHKCl7cmV0dXJuIHRoaXMuaXNPbmxpbmV9aFQoKXt0aGlzLlg9dGhpcy5BJC5MUyhhc3luYygpPT57dGhpcy5pc09ubGluZT93aW5kb3cubmF2aWdhdG9yPy5vbkxpbmV8fGF3YWl0IHJYKHRoaXMpOmF3YWl0IHJYKHRoaXMpO3RoaXMuaFQoKX0sM0U0KX19O3ZhciBqcjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEMzcj1bMCxJcWosLTFdO3ZhciBMaj1bMCxIaXcsLTFdO3ZhciBCRnQ9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEZGaT1nLkE5KFswLGcuQ3gsLTEsZy5FNixnLm9tLEMzciwtMSx5cCxpVSxnLkN4LExqLGcub20sZy5DeCwtMSxbMCxDM3IsLTFdLGlVLFkzQyxMaix5cCxbMCwxLGlVLC00LFU2LFswLHlwLC0xLGlVXSxnLm9tLHlwLGcuZHEsWzAsZy5DeCxpVV0saVUsLTEsZy5DeCwtMix5cCwtMSxnLkN4LHlwLGcuQ3gsaVUsWzAsMyxpVSwtMSw0LFRnXSxVNixqbyxbMCxnLkN4LC0xLGcub21dLHVVXSxnLm9tLEpYUyxnLmRxLFswLExqLGcuZHEsWzAsZy5vbSxnLkN4XSx5cCxnLkN4LC0xXSwxLGcuZHEsWzAsWTNDLC0xLGpvXSxnLkN4LExqXSk7dmFyIFV2Mj1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Sigpe3JldHVybiBIVyh0aGlzLDUpfX0sWzAsZy5DeCxbMCxnLkU2LGZxdywtMV0saVUsZy5DeCwtMixpVSxnLkU2XSk7dmFyIGxYcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLk49LTF9c2V0KG4sVz0hMCl7MDw9biYmbjw1MiYmTnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5kYXRhW25dIT09VyYmKHRoaXMuZGF0YVtuXT1XLHRoaXMuTj0tMSl9Z2V0KG4pe3JldHVybiEhdGhpcy5kYXRhW25dfX07Zy5peChnLnBfLGcuRk0pO2cuRT1nLnBfLnByb3RvdHlwZTtnLkUuc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLlg9ITE7dmFyIG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT8odGhpcy5OPUFIKHRoaXMuSiwiTW96QmVmb3JlUGFpbnQiLHRoaXMuVyksdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZShudWxsKSx0aGlzLlg9ITApOnRoaXMuTj1uJiZXP24uY2FsbCh0aGlzLkosdGhpcy5XKTp0aGlzLkouc2V0VGltZW91dChqTWgodGhpcy5XKSwyMCl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBY3RpdmUoKSl7bGV0IG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT9FMih0aGlzLk4pOm4mJlc/Vy5jYWxsKHRoaXMuSix0aGlzLk4pOnRoaXMuSi5jbGVhclRpbWVvdXQodGhpcy5OKX10aGlzLk49bnVsbH07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4hPW51bGx9OwpnLkUuT3Q9ZnVuY3Rpb24oKXt0aGlzLlgmJnRoaXMuTiYmRTIodGhpcy5OKTt0aGlzLk49bnVsbDt0aGlzLlYuY2FsbCh0aGlzLmosZy5VdygpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuc3RvcCgpO2cucF8uVEIubUEuY2FsbCh0aGlzKX07Zy5peChnLmZfLGcuRk0pO2cuRT1nLmZfLnByb3RvdHlwZTtnLkUudDg9MDtnLkUubUE9ZnVuY3Rpb24oKXtnLmZfLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMuTjtkZWxldGUgdGhpcy5KfTsKZy5FLnN0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuc3RvcCgpO3RoaXMudDg9Zy5adCh0aGlzLlcsbiE9PXZvaWQgMD9uOnRoaXMuZ3QpfTsKZy5FLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCkmJmcucWkuY2xlYXJUaW1lb3V0KHRoaXMudDgpO3RoaXMudDg9MH07CmcuRS5qZT1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuc3RvcCgpLHRoaXMuaSQoKSl9OwpnLkUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50OCE9MH07CmcuRS5pJD1mdW5jdGlvbigpe3RoaXMudDg9MDt0aGlzLk4mJnRoaXMuTi5jYWxsKHRoaXMuSil9O3ZhciB3QWk9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLlg9VyE9bnVsbD9uLmJpbmQoVyk6bjt0aGlzLmd0PTM1MDt0aGlzLlc9bnVsbDt0aGlzLk49ITE7dGhpcy5KPTA7dGhpcy5aNj1udWxsfWoobil7dGhpcy5XPWFyZ3VtZW50czt0aGlzLlo2fHx0aGlzLko/dGhpcy5OPSEwOklGKHRoaXMpfXN0b3AoKXt0aGlzLlo2JiYoZy5xaS5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsLHRoaXMuTj0hMSx0aGlzLlc9bnVsbCl9cGF1c2UoKXt0aGlzLkorK31yZXN1bWUoKXt0aGlzLkotLTt0aGlzLkp8fCF0aGlzLk58fHRoaXMuWjZ8fCh0aGlzLk49ITEsSUYodGhpcykpfW1BKCl7c3VwZXIubUEoKTt0aGlzLnN0b3AoKX19O3ZhciB1eWksR2cscWw7dXlpPVJlZ0V4cCgiXltcdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdIik7R2c9UmVnRXhwKCJeW15cdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdKltBLVphLXpcdTAwYzAtXHUwMGQ2XHUwMGQ4LVx1MDBmNlx1MDBmOC1cdTAyYjhcdTAzMDAtXHUwNTkwXHUwOTAwLVx1MWZmZlx1MjAwZVx1MmMwMC1cdWQ4MDFcdWQ4MDQtXHVkODM5XHVkODNjLVx1ZGJmZlx1ZjkwMC1cdWZiMWNcdWZlMDAtXHVmZTZmXHVmZWZkLVx1ZmZmZl0iKTtxbD1SZWdFeHAoIl5bXkEtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSpbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpOwpnLk1KaT1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO0ludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuIi5yZXBsYWNlKCJfIiwiLSIpXSk7dUgucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gUkZNfTsKdmFyIFJGTT17ZG9uZTohMCx2YWx1ZTp2b2lkIDB9O3VILnByb3RvdHlwZS5ncT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgb0Y9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59Z3EoKXtyZXR1cm4gbmV3IGRYKHRoaXMuTigpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeksodGhpcy5OKCkpfUooKXtyZXR1cm4gbmV3IHpLKHRoaXMuTigpKX19LGRYPWNsYXNzIGV4dGVuZHMgdUh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1uZXh0KCl7cmV0dXJuIHRoaXMuTi5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHpLKHRoaXMuTil9Sigpe3JldHVybiBuZXcgeksodGhpcy5OKX19LHpLPWNsYXNzIGV4dGVuZHMgb0Z7Y29uc3RydWN0b3Iobil7c3VwZXIoKCk9Pm4pOwp0aGlzLlc9bn1uZXh0KCl7cmV0dXJuIHRoaXMuVy5uZXh0KCl9fTtsSC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxIKHRoaXMuTix0aGlzLkssdGhpcy5XLHRoaXMuaix0aGlzLlgsdGhpcy5WLHRoaXMuSix0aGlzLlkpfTsKbEgucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5OPT1uLk4mJnRoaXMuSz09bi5LJiZ0aGlzLlc9PW4uVyYmdGhpcy5qPT1uLmomJnRoaXMuWD09bi5YJiZ0aGlzLlY9PW4uViYmdGhpcy5KPT1uLkomJnRoaXMuWT09bi5ZfTsoZnVuY3Rpb24oKXtpZihwUWope3ZhciBuPS9XaW5kb3dzIE5UIChbMC05Ll0rKS87cmV0dXJuKG49bi5leGVjKGcuWFEoKSkpP25bMV06IjAifXJldHVybiBucj8obj0vMVswfDFdW18uXVswLTlfLl0rLywobj1uLmV4ZWMoZy5YUSgpKSk/blswXS5yZXBsYWNlKC9fL2csIi4iKToiMTAiKTpnLlFIPyhuPS9BbmRyb2lkXHMrKFteXCk7XSspKFwpfDspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXToiIik6V1VafHxENGl8fGJpVT8obj0vKD86aVBob25lfENQVSlccytPU1xzKyhcUyspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXS5yZXBsYWNlKC9fL2csIi4iKToiIik6IiJ9KSgpO3ZhciBmWDI9ZnVuY3Rpb24oKXtpZihnLmFvKXJldHVybiBqQSgvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoZy5raHx8Zy5SZ3x8cmMpcmV0dXJuIFAyO2lmKGcub2Qpe2lmKGcuQTQoKXx8Zy5teCgpKXt2YXIgbj1qQSgvQ3JpT1NcLyhbMC05Ll0rKS8pO2lmKG4pcmV0dXJuIG59cmV0dXJuIGpBKC9DaHJvbWVcLyhbMC05Ll0rKS8pfWlmKGcuR24mJiFnLkE0KCkpcmV0dXJuIGpBKC9WZXJzaW9uXC8oWzAtOS5dKykvKTtpZih3OHx8TVgpe2lmKG49L1ZlcnNpb25cLyhcUyspLipNb2JpbGVcLyhcUyspLy5leGVjKGcuWFEoKSkpcmV0dXJuIG5bMV0rIi4iK25bMl19ZWxzZSBpZihnLkltKXJldHVybihuPWpBKC9BbmRyb2lkXHMrKFswLTkuXSspLykpP246akEoL1ZlcnNpb25cLyhbMC05Ll0rKS8pO3JldHVybiIifSgpO2cuaXgoQkssZy5GTSk7Zy5FPUJLLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10aGlzLkpbbl07Ynx8KGI9dGhpcy5KW25dPVtdKTt2YXIgdj10aGlzLlY7dGhpcy5OW3ZdPW47dGhpcy5OW3YrMV09Vzt0aGlzLk5bdisyXT1EO3RoaXMuVj12KzM7Yi5wdXNoKHYpO3JldHVybiB2fTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXRoaXMuSltuXSl7bGV0IGI9dGhpcy5OO2lmKG49bi5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiBiW3YrMV09PVcmJmJbdisyXT09RH0pKXJldHVybiB0aGlzLmpLKG4pfXJldHVybiExfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3ZhciBXPXRoaXMuTltuXTtpZihXKXtsZXQgRD10aGlzLkpbV107dGhpcy5YIT0wPyh0aGlzLlcucHVzaChuKSx0aGlzLk5bbisxXT0oKT0+e30pOihEJiZnLkZJKEQsbiksZGVsZXRlIHRoaXMuTltuXSxkZWxldGUgdGhpcy5OW24rMV0sZGVsZXRlIHRoaXMuTltuKzJdKX1yZXR1cm4hIVd9OwpnLkUuV0o9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLkpbbl07aWYoRCl7bGV0IHY9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2xldCBrO2ZvcihrPTE7azxiO2srKyl2W2stMV09YXJndW1lbnRzW2tdO2lmKHRoaXMuSylmb3Ioaz0wO2s8RC5sZW5ndGg7aysrKWI9RFtrXSxKNHIodGhpcy5OW2IrMV0sdGhpcy5OW2IrMl0sdik7ZWxzZXt0aGlzLlgrKzt0cnl7Zm9yKGs9MCxiPUQubGVuZ3RoO2s8YiYmIXRoaXMucU4oKTtrKyspe2xldCBoPURba107dGhpcy5OW2grMV0uYXBwbHkodGhpcy5OW2grMl0sdil9fWZpbmFsbHl7aWYodGhpcy5YLS0sdGhpcy5XLmxlbmd0aD4wJiZ0aGlzLlg9PTApZm9yKDtEPXRoaXMuVy5wb3AoKTspdGhpcy5qSyhEKX19cmV0dXJuIGshPTB9cmV0dXJuITF9OwpnLkUuY2xlYXI9ZnVuY3Rpb24obil7aWYobil7bGV0IFc9dGhpcy5KW25dO1cmJihXLmZvckVhY2godGhpcy5qSyx0aGlzKSxkZWxldGUgdGhpcy5KW25dKX1lbHNlIHRoaXMuTi5sZW5ndGg9MCx0aGlzLko9e319OwpnLkUubUE9ZnVuY3Rpb24oKXtCSy5UQi5tQS5jYWxsKHRoaXMpO3RoaXMuY2xlYXIoKTt0aGlzLlcubGVuZ3RoPTB9O2cuRmQucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDA/dGhpcy5OLnJlbW92ZShuKTp0aGlzLk4uc2V0KG4sKG5ldyBsZSkuYlkoVykpfTsKZy5GZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3RyeXt2YXIgVz10aGlzLk4uZ2V0KG4pfWNhdGNoKEQpe3JldHVybn1pZihXIT09bnVsbCl0cnl7cmV0dXJuIEpTT04ucGFyc2UoVyl9Y2F0Y2goRCl7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO319OwpnLkZkLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5OLnJlbW92ZShuKX07Zy5peCh3WCxnLkZkKTt3WC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyl7d1guVEIuc2V0LmNhbGwodGhpcyxuLFJGKFcpKX07CndYLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXtuPXdYLlRCLmdldC5jYWxsKHRoaXMsbik7aWYobj09PXZvaWQgMHx8biBpbnN0YW5jZW9mIE9iamVjdClyZXR1cm4gbjt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fTsKd1gucHJvdG90eXBlLmdldD1mdW5jdGlvbihuKXtpZihuPXRoaXMuTUQobikpe2lmKG49bi5kYXRhLG49PT12b2lkIDApdGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO31lbHNlIG49dm9pZCAwO3JldHVybiBufTtnLml4KFFLLHdYKTtRSy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyxEKXtpZihXPVJGKFcpKXtpZihEKXtpZihEPGcuVXcoKSl7UUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7cmV0dXJufVcuZXhwaXJhdGlvbj1EfVcuY3JlYXRpb249Zy5VdygpfVFLLlRCLnNldC5jYWxsKHRoaXMsbixXKX07ClFLLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXt2YXIgVz1RSy5UQi5NRC5jYWxsKHRoaXMsbik7aWYoVyl7bGV0IEQ9Vy5jcmVhdGlvbixiPVcuZXhwaXJhdGlvbjtpZihiJiZiPGcuVXcoKXx8RCYmRD5nLlV3KCkpUUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7ZWxzZSByZXR1cm4gV319O2cuaXgoVkssUUspO2cuaXgoY0ssSVgxKTtjSy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBZQTEodGhpcy5ncSghMCkpLkooKX07CmNLLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBuPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBXIG9mIG4pdGhpcy5yZW1vdmUoVyl9O2cuaXgoYUYsY0spO2cuRT1hRi5wcm90b3R5cGU7Zy5FLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5KPT09bnVsbCl7dmFyIG49dGhpcy5OO2lmKG4pdHJ5e24uc2V0SXRlbSgiX19zYWsiLCIxIik7bi5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBXPSEwfWNhdGNoKEQpe1c9RCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKEQubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxELmNvZGU9PT0yMnx8RC5jb2RlPT09MTAxNHx8RC5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJm4mJm4ubGVuZ3RoIT09MH1lbHNlIFc9ITE7dGhpcy5KPVd9cmV0dXJuIHRoaXMuSn07CmcuRS5zZXQ9ZnVuY3Rpb24obixXKXtuZSh0aGlzKTt0cnl7dGhpcy5OLnNldEl0ZW0obixXKX1jYXRjaChEKXtpZih0aGlzLk4ubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319OwpnLkUuZ2V0PWZ1bmN0aW9uKG4pe25lKHRoaXMpO249dGhpcy5OLmdldEl0ZW0obik7aWYodHlwZW9mIG4hPT0ic3RyaW5nIiYmbiE9PW51bGwpdGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkIjtyZXR1cm4gbn07CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7bmUodGhpcyk7dGhpcy5OLnJlbW92ZUl0ZW0obil9OwpnLkUuZ3E9ZnVuY3Rpb24obil7bmUodGhpcyk7dmFyIFc9MCxEPXRoaXMuTixiPW5ldyB1SDtiLm5leHQ9ZnVuY3Rpb24oKXtpZihXPj1ELmxlbmd0aClyZXR1cm4gUkZNO3ZhciB2PUQua2V5KFcrKyk7aWYobilyZXR1cm57dmFsdWU6dixkb25lOiExfTt2PUQuZ2V0SXRlbSh2KTtpZih0eXBlb2YgdiE9PSJzdHJpbmciKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7cmV0dXJue3ZhbHVlOnYsZG9uZTohMX19OwpyZXR1cm4gYn07CmcuRS5jbGVhcj1mdW5jdGlvbigpe25lKHRoaXMpO3RoaXMuTi5jbGVhcigpfTsKZy5FLmtleT1mdW5jdGlvbihuKXtuZSh0aGlzKTtyZXR1cm4gdGhpcy5OLmtleShuKX07Zy5peChXUyxhRik7Zy5peChEUSxhRik7Zy5peChiQyxjSyk7YkMucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe3RoaXMuSi5zZXQodGhpcy5OK24sVyl9OwpiQy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLkouZ2V0KHRoaXMuTituKX07CmJDLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5KLnJlbW92ZSh0aGlzLk4rbil9OwpiQy5wcm90b3R5cGUuZ3E9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5KW1N5bWJvbC5pdGVyYXRvcl0oKSxEPXRoaXMsYj1uZXcgdUg7Yi5uZXh0PWZ1bmN0aW9uKCl7dmFyIHY9Vy5uZXh0KCk7aWYodi5kb25lKXJldHVybiB2O2Zvcih2PXYudmFsdWU7di5zbGljZSgwLEQuTi5sZW5ndGgpIT1ELk47KXt2PVcubmV4dCgpO2lmKHYuZG9uZSlyZXR1cm4gdjt2PXYudmFsdWV9cmV0dXJue3ZhbHVlOm4/di5zbGljZShELk4ubGVuZ3RoKTpELkouZ2V0KHYpLGRvbmU6ITF9fTsKcmV0dXJuIGJ9O2tqLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkp9Owprai5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtqKHRoaXMuTix0aGlzLkopfTt2YXIgZWM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPVtdO2lmKG4pYTp7bGV0IEQ7aWYobiBpbnN0YW5jZW9mIGVjKXtpZihEPW4udUIoKSxuPW4uejcoKSx0aGlzLk4ubGVuZ3RoPD0wKXt2YXIgVz10aGlzLk47Zm9yKGxldCBiPTA7YjxELmxlbmd0aDtiKyspVy5wdXNoKG5ldyBraihEW2JdLG5bYl0pKTticmVhayBhfX1lbHNlIEQ9Zy5MVChuKSxuPWhLKG4pO2ZvcihXPTA7VzxELmxlbmd0aDtXKyspdGhpcy5xcChEW1ddLG5bV10pfX1xcChuLFcpe3ZhciBEPXRoaXMuTjtELnB1c2gobmV3IGtqKG4sVykpO249RC5sZW5ndGgtMTtXPXRoaXMuTjtmb3IoRD1XW25dO24+MDspe2xldCBiPW4tMT4+MTtpZihXW2JdLk4+RC5OKVdbbl09V1tiXSxuPWI7ZWxzZSBicmVha31XW25dPUR9cmVtb3ZlKCl7dmFyIG49dGhpcy5OLFc9bi5sZW5ndGgsRD1uWzBdO2lmKCEoVzw9MCkpe2lmKFc9PTEpbi5sZW5ndGg9MDtlbHNle25bMF09bi5wb3AoKTtuPTA7Vz10aGlzLk47bGV0IHY9Vy5sZW5ndGgsCms9V1tuXTtmb3IoO248dj4+MTspe3ZhciBiPW4qMisxO2xldCBoPW4qMisyO2I9aDx2JiZXW2hdLk48V1tiXS5OP2g6YjtpZihXW2JdLk4+ay5OKWJyZWFrO1dbbl09V1tiXTtuPWJ9V1tuXT1rfXJldHVybiBELmdldFZhbHVlKCl9fXo3KCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLmdldFZhbHVlKCkpO3JldHVybiBXfXVCKCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLk4pO3JldHVybiBXfWNsb25lKCl7cmV0dXJuIG5ldyBlYyh0aGlzKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuTi5sZW5ndGg9PT0wfWNsZWFyKCl7dGhpcy5OLmxlbmd0aD0wfX07dmFyIFFyaD1jbGFzcyBleHRlbmRzIGVje307dmFyIGhrPXt9LFZKaT10eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgVWludDE2QXJyYXkhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEludDMyQXJyYXkhPT0idW5kZWZpbmVkIjtoay5hc3NpZ249ZnVuY3Rpb24obil7Zm9yKHZhciBXPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtXLmxlbmd0aDspe3ZhciBEPVcuc2hpZnQoKTtpZihEKXtpZih0eXBlb2YgRCE9PSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoRCsibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKHZhciBiIGluIEQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsYikmJihuW2JdPURbYl0pfX1yZXR1cm4gbn07CmhrLlVmPWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg9PT1XKXJldHVybiBuO2lmKG4uc3ViYXJyYXkpcmV0dXJuIG4uc3ViYXJyYXkoMCxXKTtuLmxlbmd0aD1XO3JldHVybiBufTsKdmFyIGNUMj17UDc6ZnVuY3Rpb24obixXLEQsYix2KXtpZihXLnN1YmFycmF5JiZuLnN1YmFycmF5KW4uc2V0KFcuc3ViYXJyYXkoRCxEK2IpLHYpO2Vsc2UgZm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7dmFyIFcsRDt2YXIgYj1EPTA7Zm9yKFc9bi5sZW5ndGg7YjxXO2IrKylEKz1uW2JdLmxlbmd0aDt2YXIgdj1uZXcgVWludDhBcnJheShEKTtiPUQ9MDtmb3IoVz1uLmxlbmd0aDtiPFc7YisrKXt2YXIgaz1uW2JdO3Yuc2V0KGssRCk7RCs9ay5sZW5ndGh9cmV0dXJuIHZ9fSxhY0M9e1A3OmZ1bmN0aW9uKG4sVyxELGIsdil7Zm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLG4pfX07CmhrLlhHPWZ1bmN0aW9uKCl7VkppPyhoay5PbT1VaW50OEFycmF5LGhrLm1LPVVpbnQxNkFycmF5LGhrLlN2PUludDMyQXJyYXksaGsuYXNzaWduKGhrLGNUMikpOihoay5PbT1BcnJheSxoay5tSz1BcnJheSxoay5Tdj1BcnJheSxoay5hc3NpZ24oaGssYWNDKSl9Owpoay5YRygpO3ZhciBueGk9ITA7dHJ5e25ldyBVaW50OEFycmF5KDEpfWNhdGNoKG4pe254aT0hMX07dmFyIFZ0PXt9O1Z0PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4mNjU1MzV8MDtuPW4+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgaztEIT09MDspe2s9RD4yRTM/MkUzOkQ7RC09aztkbyB2PXYrV1tiKytdfDAsbj1uK3Z8MDt3aGlsZSgtLWspO3YlPTY1NTIxO24lPTY1NTIxfXJldHVybiB2fG48PDE2fDB9O2Zvcih2YXIgY1M9e30sZ24sV3RyPVtdLFhzPTA7WHM8MjU2O1hzKyspe2duPVhzO2Zvcih2YXIgRGtaPTA7RGtaPDg7RGtaKyspZ249Z24mMT8zOTg4MjkyMzg0XmduPj4+MTpnbj4+PjE7V3RyW1hzXT1nbn1jUz1mdW5jdGlvbihuLFcsRCxiKXtEPWIrRDtmb3Iobl49LTE7YjxEO2IrKyluPW4+Pj44Xld0clsobl5XW2JdKSYyNTVdO3JldHVybiBuXi0xfTt2YXIgekI9e307ekI9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgbSQ9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sUFM9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLFowdz1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDMsN10sQ2U9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLEJTPUFycmF5KDU3Nik7TGUoQlMpO3ZhciBGOT1BcnJheSg2MCk7TGUoRjkpO3ZhciBPJD1BcnJheSg1MTIpO0xlKE8kKTt2YXIgQWs9QXJyYXkoMjU2KTtMZShBayk7dmFyIEtlPUFycmF5KDI5KTtMZShLZSk7dmFyIFpRPUFycmF5KDMwKTtMZShaUSk7dmFyIHhmLEx3LGVILGhyPSExO3ZhciBidztidz1bbmV3IERFKDAsMCwwLDAsZnVuY3Rpb24obixXKXt2YXIgRD02NTUzNTtmb3IoRD5uLnl2LTUmJihEPW4ueXYtNSk7Oyl7aWYobi5HVzw9MSl7YVMobik7aWYobi5HVz09PTAmJlc9PT0wKXJldHVybiAxO2lmKG4uR1c9PT0wKWJyZWFrfW4ucXMrPW4uR1c7bi5HVz0wO3ZhciBiPW4uT0srRDtpZihuLnFzPT09MHx8bi5xcz49YilpZihuLkdXPW4ucXMtYixuLnFzPWIsdzcobiwhMSksbi5UUi51Uj09PTApcmV0dXJuIDE7aWYobi5xcy1uLk9LPj1uLnhyLTI2MiYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7aWYoVz09PTQpcmV0dXJuIHc3KG4sITApLG4uVFIudVI9PT0wPzM6NDtuLnFzPm4uT0smJnc3KG4sITEpO3JldHVybiAxfSksCm5ldyBERSg0LDQsOCw0LG53KSxuZXcgREUoNCw1LDE2LDgsbncpLG5ldyBERSg0LDYsMzIsMzIsbncpLG5ldyBERSg0LDQsMTYsMTYsV1YpLG5ldyBERSg4LDE2LDMyLDMyLFdWKSxuZXcgREUoOCwxNiwxMjgsMTI4LFdWKSxuZXcgREUoOCwzMiwxMjgsMjU2LFdWKSxuZXcgREUoMzIsMTI4LDI1OCwxMDI0LFdWKSxuZXcgREUoMzIsMjU4LDI1OCw0MDk2LFdWKV07dmFyIGtmPXt9O2tmPWZ1bmN0aW9uKCl7dGhpcy5pbnB1dD1udWxsO3RoaXMuRW09dGhpcy5CQT10aGlzLlVaPTA7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLnRCPXRoaXMudVI9dGhpcy51Zz0wO3RoaXMubXNnPSIiO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnFTPTI7dGhpcy5nST0wfTt2YXIgZzI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdlYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLlRSLGI9dGhpcy5vcHRpb25zLmNodW5rU2l6ZTtpZih0aGlzLmVuZGVkKXJldHVybiExO3ZhciB2PVc9PT1+flc/VzpXPT09ITA/NDowO3R5cGVvZiBuPT09InN0cmluZyI/RC5pbnB1dD14aihuKTpnMi5jYWxsKG4pPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9ELmlucHV0PW5ldyBVaW50OEFycmF5KG4pOkQuaW5wdXQ9bjtELlVaPTA7RC5CQT1ELmlucHV0Lmxlbmd0aDtkb3tELnVSPT09MCYmKEQub3V0cHV0PW5ldyBoay5PbShiKSxELnVnPTAsRC51Uj1iKTtuPVBwMShELHYpO2lmKG4hPT0xJiZuIT09MClyZXR1cm4gdGhpcy5IdChuKSx0aGlzLmVuZGVkPSEwLCExO2lmKEQudVI9PT0wfHxELkJBPT09MCYmKHY9PT00fHx2PT09MikpaWYodGhpcy5vcHRpb25zLnRvPT09InN0cmluZyIpe3ZhciBrPWhrLlVmKEQub3V0cHV0LEQudWcpO1c9aztrPWsubGVuZ3RoO2lmKGs8NjU1MzcmJihXLnN1YmFycmF5JiYKbnhpfHwhVy5zdWJhcnJheSkpVz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsaGsuVWYoVyxrKSk7ZWxzZXtmb3IodmFyIGg9IiIseD0wO3g8azt4KyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShXW3hdKTtXPWh9dGhpcy5jaHVua3MucHVzaChXKX1lbHNlIFc9aGsuVWYoRC5vdXRwdXQsRC51ZyksdGhpcy5jaHVua3MucHVzaChXKX13aGlsZSgoRC5CQT4wfHxELnVSPT09MCkmJm4hPT0xKTtpZih2PT09NClyZXR1cm4oRD10aGlzLlRSKSYmRC5zdGF0ZT8oYj1ELnN0YXRlLnN0YXR1cyxiIT09NDImJmIhPT02OSYmYiE9PTczJiZiIT09OTEmJmIhPT0xMDMmJmIhPT0xMTMmJmIhPT02NjY/bj1sQyhELC0yKTooRC5zdGF0ZT1udWxsLG49Yj09PTExMz9sQyhELC0zKTowKSk6bj0tMix0aGlzLkh0KG4pLHRoaXMuZW5kZWQ9ITAsbj09PTA7dj09PTImJih0aGlzLkh0KDApLEQudVI9MCk7cmV0dXJuITB9Owp2Vi5wcm90b3R5cGUuSHQ9ZnVuY3Rpb24obil7bj09PTAmJih0aGlzLnJlc3VsdD10aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLmNodW5rcy5qb2luKCIiKTpoay5QNih0aGlzLmNodW5rcykpO3RoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPW47dGhpcy5tc2c9dGhpcy5UUi5tc2d9O3ZhciB0cj0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIiksR2Q9YEBAcmVkdXgvSU5JVCR7dHIoKX1gLEVLQz1gQEByZWR1eC9SRVBMQUNFJHt0cigpfWA7dmFyIHIyPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7dmFyIFFTeD1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxbMCxnLkN4LFRnLGcub20sbFUsZy5vbSwtMSxqbyxsVSxqbywtMSxnLkN4LGpvLFRnLGcuZHEsWzAsbFUsLTMsam9dLGcub20sLTEsam9dKTt2YXIgS0d0PS0zMDE3MTcyMTc7dmFyIGJzdD1mdW5jdGlvbihuLFcpe3JldHVybigoKT0+e3ZhciBEPW5ldyBBWHgobixXKTtyZXR1cm4oKT0+RH0pKCl9KCJ5b3V0dWJlLmFwaS5pbm5lcnR1YmUuQXR0ZXN0YXRpb25FcnJvciIsJ1tudWxsLFtbIkFUVEVTVEFUSU9OX0VSUk9SX1VOS05PV04iLDBdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fTk9UX0lOSVRJQUxJWkVEIiwxXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PX1JFU1BPTlNFIiwyXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiLDNdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fSU5URVJOQUxfRVJST1IiLDRdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVkFMSUQiLDVdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX05FVFdPUktfRVJST1IiLDZdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX09GRkxJTkUiLDddLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVEVSTkFMX0VSUk9SIiw4XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0FQSV9OT1RfUkVBRFkiLDldLFsiQVRURVNUQVRJT05fRVJST1JfREVWSUNFX09GRkxJTkUiLDEwXSxbIkFUVEVTVEFUSU9OX0VSUk9SX0tFWV9QQUlSX0lOSVRfRkFJTEVEIiwxMl0sWyJBVFRFU1RBVElPTl9FUlJPUl9TSUdOSU5HX0RBVEFfTUlTU0lORyIsMTNdLFsiQVRURVNUQVRJT05fRVJST1JfU0lHTklOR19GQUlMRUQiLDE0XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0NFUlRfQ0hBSU5fUkVUUklFVkFMX0ZBSUxFRCIsMTVdXSxudWxsLFtbMTEsMTFdXV0nKTtnLnFNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMubmFtZT1ufX07Zy5TdD1uZXcgZy5xTSgiYWN0aW9uQ29tcGFuaW9uQWRSZW5kZXJlciIpO2cuVWg9bmV3IGcucU0oImFkQWN0aW9uSW50ZXJzdGl0aWFsUmVuZGVyZXIiKTtnLm0yPW5ldyBnLnFNKCJhZHNFbmdhZ2VtZW50UGFuZWxSZW5kZXJlciIpO2cuVyQ9bmV3IGcucU0oImRpc21pc3NhYmxlUGFuZWxUZXh0UG9ydHJhaXRJbWFnZVJlbmRlcmVyIik7Zy5vYT1uZXcgZy5xTSgiYWRzRW5nYWdlbWVudFBhbmVsU2VjdGlvbkxpc3RWaWV3TW9kZWwiKTtnLkFqPW5ldyBnLnFNKCJpbWFnZUNvbXBhbmlvbkFkUmVuZGVyZXIiKTtnLkVoPW5ldyBnLnFNKCJpbnN0cmVhbUFkUGxheWVyT3ZlcmxheVJlbmRlcmVyIik7Zy5GeT1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFJlbmRlcmVyIik7Zy5HOD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFNpbmdsZVNlbGVjdFF1ZXN0aW9uUmVuZGVyZXIiKTtnLnRMPW5ldyBnLnFNKCJpbnN0cmVhbVN1cnZleUFkTXVsdGlTZWxlY3RRdWVzdGlvblJlbmRlcmVyIik7Zy4kSD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZEFuc3dlclJlbmRlcmVyIik7Zy52eHg9bmV3IGcucU0oImluc3RyZWFtU3VydmV5QWRBbnN3ZXJOb25lT2ZUaGVBYm92ZVJlbmRlcmVyIik7Zy5DYz1uZXcgZy5xTSgiaW5zdHJlYW1WaWRlb0FkUmVuZGVyZXIiKTtnLmkwPW5ldyBnLnFNKCJwbGF5ZXJPdmVybGF5TGF5b3V0UmVuZGVyZXIiKTtnLnlWPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbEJ1dHRvbmVkQ2VudGVyZWRMYXlvdXRSZW5kZXJlciIpO2cuaFg9bmV3IGcucU0oImFib3ZlRmVlZEFkTGF5b3V0UmVuZGVyZXIiKTtnLnh6PW5ldyBnLnFNKCJiZWxvd1BsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmt6PW5ldyBnLnFNKCJpblBsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmUyPW5ldyBnLnFNKCJpblBsYXllck9yZ2FuaWNPdmVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuUmE9bmV3IGcucU0oInBsYXllckJ5dGVzQWRMYXlvdXRSZW5kZXJlciIpO2cuTGk9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVuY2VJdGVtQWRMYXlvdXRSZW5kZXJlciIpO2cudiQ9bmV3IGcucU0oInBsYXllclVuZGVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuQlE9bmV3IGcucU0oImFkSW50cm9SZW5kZXJlciIpO2cuVDA9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVudGlhbExheW91dFJlbmRlcmVyIik7Zy53YT1uZXcgZy5xTSgic3VydmV5VGV4dEludGVyc3RpdGlhbFJlbmRlcmVyIik7Zy5RVj1uZXcgZy5xTSgidmlkZW9BZFRyYWNraW5nUmVuZGVyZXIiKTt2YXIgUXhNPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbENlbnRlcmVkTGF5b3V0Vmlld01vZGVsIik7Zy5kYT1uZXcgZy5xTSgicGxheWVyT3JnYW5pY1RyYW5zaXRpb25PdmVybGF5UmVuZGVyZXIiKTtnLlhHPW5ldyBnLnFNKCJhZFNsb3RSZW5kZXJlciIpO2cuYWE9bmV3IGcucU0oInNxdWVlemViYWNrUGxheWVyU2lkZVBhbmVsUmVuZGVyZXIiKTtnLktjPW5ldyBnLnFNKCJiYW5uZXJJbWFnZUxheW91dFZpZXdNb2RlbCIpO2cuT2g9bmV3IGcucU0oInRvcEJhbm5lckltYWdlVGV4dEljb25CdXR0b25lZExheW91dFZpZXdNb2RlbCIpO2cuUFE9bmV3IGcucU0oImFkc0VuZ2FnZW1lbnRQYW5lbExheW91dFZpZXdNb2RlbCIpO2cubmk9bmV3IGcucU0oImRpc3BsYXlVbmRlcmxheVRleHRHcmlkQ2FyZHNMYXlvdXRWaWV3TW9kZWwiKTt2YXIgcm49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59fSxzQz1jbGFzcyBleHRlbmRzIHJue2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLk4uZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKG4pe3RoaXMuTi5lbnRpdHlNZXRhZGF0YT1ufX07dmFyIGtqTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBoNGo9bmV3IGcucU0oImNvbW1hbmRDb250ZXh0Iik7dmFyIHhrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBMdHc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZEUyPW5ldyBnLnFNKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgb3Z0PW5ldyBnLnFNKCJyYXdIb3RDb25maWdHcm91cCIpO2cuTk09bmV3IGcucU0oImNvbW1hbmRFeGVjdXRvckNvbW1hbmQiKTt2YXIgZTR3PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBneHQ9e1ZDOjAsZVo6MSxFcDozMixPcDo2MSxkNzo2NyxBSzoxMDMsSVg6ODYsR0E6NDIsTVg6NjAsTEk6NjIsRGk6NzMsYVg6NzYsdzc6ODgsQ0k6OTAsTjY6OTksSHI6OTgsb1g6MTAwLEZBOjEwMixjODo0MSxQODo2OSx5TDo3MCxKcjo3MSx5TToyLEs0OjI3LEFORFJPSUQ6MyxBdjo1NCx3TToxNCx6ejo5MSxDRTo1NSxkTToyNCxOdToxMDUsYzk6MjAsUDk6MTgsSkg6MjEsdEg6MTA0LFg2OjMwLGpMOjI5LFYzOjI4LHBJOjEwMSxtQjoxMDcsa0Q6MzQsaEg6MzYseTM6MzgsSU9TOjUsVEw6MTUsblE6OTIscmo6NDAscFE6MjUseDc6MTA2LFNBOjE3LFk3OjE5LHNZOjY0LHVPOjY2LGVBOjI2LFpwOjIyLGxPOjMzLEhtOjY4LFVZOjM1LExROjUzLEJtOjEwOCxSTzozNyxLUTozOSxkMjo3LFByOjU3LHlDOjQzLHRLOjU5LEpLOjkzLGlwOjc0LFdyOjc1LGJGOjg1LHpBOjY1LGhLOjgwLFhBOjgsQ006MTAsaUY6NTgscVg6NjMsbVU6NzIscXU6MjMsYkE6MTEselU6MTMsd0o6MTIsCm9OOjE2LFVwOjU2LGc3OjMxLGttOjc3LEFROjg0LGZJOjg3LENoOjg5LHdMOjk0LHpUOjk1LGxMOjEwOX07dmFyIGk5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1XKG4pe2cuU0UodGhpcyw1LG4pfX07dmFyIHlkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBYd1U9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEhzPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIEhXKHRoaXMsMzYpfXNldEhvbWVHcm91cEluZm8obil7cmV0dXJuICQ5KHRoaXMsWHdVLDgxLG4pfWNsZWFyTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKCl7cmV0dXJuIG96KHRoaXMsODkpfX07dmFyIEo2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRWYWx1ZSgpe3JldHVybiBZOSh0aGlzLHZXKHRoaXMsSXYsMikpfX0sSXY9WzIsMyw0LDUsNl07dmFyIHFZUz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VHJhY2tpbmdQYXJhbXMobil7cmV0dXJuIG96KHRoaXMsMSxrVShuLCExKSl9fTt2YXIgZlU9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVKPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBBNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VG9rZW4obil7cmV0dXJuIGcuU0UodGhpcywyLG4pfX07dmFyIFN5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1zZXRTYWZldHlNb2RlKG4pe3JldHVybiBLbih0aGlzLDUsbil9fTt2YXIgWUE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfVcobil7cmV0dXJuICQ5KHRoaXMsSHMsMSxuKX19O3ZhciBHajE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdFBVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRrYj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBSVGg9bmV3IGcucU0oImNvbnRpbnVhdGlvbkNvbW1hbmQiKTtnLmNFPW5ldyBnLnFNKCJzaWduYWxBY3Rpb24iKTt2YXIgcGo9bmV3IGcucU0oIndlYkNvbW1hbmRNZXRhZGF0YSIpO3ZhciBoazI9bmV3IGcucU0oIm1ldGFkYXRhQmFkZ2VSZW5kZXJlciIpO3ZhciBRWU09bmV3IGcucU0oInNpZ25hbFNlcnZpY2VFbmRwb2ludCIpO3ZhciAkej1uZXcgZy5xTSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBEMzE9e1NUOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIixyTDoiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVCIseHc6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCIsS2g6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCJ9O3ZhciAkdE09bmV3IGcucU0oImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCIpO3ZhciBEdEM9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIiKTt2YXIgYW9VPW5ldyBnLnFNKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlciIpLHIxcj1uZXcgZy5xTSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxzc0M9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgUyQ9bmV3IGcucU0oImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyIHJZcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBzQng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTkEyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHB3Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbCYmbi5wdXNoKHRoaXMuTi5hbHRlcm5hdGVDaGFubmVsKTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QmJm4ucHVzaCguLi50aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QpO3RoaXMuTi5vbmVvZkNoYW5uZWxFbnRpdHkmJm4ucHVzaCh0aGlzLk4ub25lb2ZDaGFubmVsRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBZWXI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmVudHJ5Q29sbGVjdGlvbiYmbi5wdXNoKHRoaXMuTi5lbnRyeUNvbGxlY3Rpb24pO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sZl94PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRQbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wYXJlbnRQbGF5bGlzdCk7aWYodGhpcy5OLmVudHJpZXMpZm9yKGxldCBXIG9mIHRoaXMuTi5lbnRyaWVzKW4ucHVzaCguLi4obmV3IEhzaChXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEhzaD1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIEpZYj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkmJm4ucHVzaCh0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuTi5jcmVhdG9ycyYmbi5wdXNoKC4uLnRoaXMuTi5jcmVhdG9ycyk7dGhpcy5OLnRoZUJpZ2dlc3RGYW4mJm4ucHVzaCh0aGlzLk4udGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxJX3c9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgU1l3PW5ldyBnLnFNKCJmZWVkYmFja0VuZHBvaW50Iik7dmFyIEFZeD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBta2g9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgS3R4PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE9zaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQTHI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgWnNyPW5ldyBnLnFNKCJpbnRlcmFjdGlvbkxvZ2dpbmdDb21tYW5kTWV0YWRhdGEiKTt2YXIgZDNqPXtsRjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIixuSToiV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIixSWDoiV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIixaaToiV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIixCcjoiV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIn07dmFyIFVrcj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0UGxheWVyVHlwZSgpe3JldHVybiBIVyh0aGlzLDcpfUUxKCl7cmV0dXJuIFk5KHRoaXMsMTkpfXNldFZpZGVvSWQobil7cmV0dXJuIGcuU0UodGhpcywxOSxuKX19O3ZhciBBbT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgU0w9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIFp2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fSx5WTE9WzIsMyw1LDYsNywxMSwxMywyMCwyMSwyMiwyMywyNCwyOCwzMiwzNyw0NSw1OSw3Miw3Myw3NCw3Niw3OCw3OSw4MCw4NSw5MSw5NywxMDAsMTAyLDEwNSwxMTEsMTE3LDExOSwxMjYsMTI3LDEzNiwxNDYsMTQ4LDE1MSwxNTYsMTU3LDE1OCwxNTksMTYzLDE2NCwxNjgsMTc2LDE3NywxNzgsMTc5LDE4NCwxODgsMTg5LDE5MCwxOTEsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDgsMjA5LDIxNSwyMTksMjIyLDIyNSwyMjYsMjI3LDIyOSwyMzIsMjMzLDIzNCwyNDAsMjQxLDI0NCwyNDcsMjQ4LDI0OSwyNTEsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjYsMjcwLDI3MiwyNzgsMjg4LDI5MSwyOTMsMzAwLDMwNCwzMDgsMzA5LDMxMCwzMTEsMzEzLDMxNCwzMTksMzIwLDMyMSwzMjMsMzI0LDMyNywzMjgsCjMzMCwzMzEsMzMyLDMzNCwzMzcsMzM4LDM0MCwzNDQsMzQ4LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM2MSwzNjMsMzY0LDM2OCwzNjksMzcwLDM3MywzNzQsMzc1LDM3OCwzODAsMzgxLDM4MywzODgsMzg5LDM5OSw0MDIsNDAzLDQxMCw0MTEsNDEyLDQxMyw0MTQsNDE1LDQxNiw0MTcsNDE4LDQyMyw0MjQsNDI1LDQyNiw0MjcsNDI5LDQzMCw0MzEsNDM5LDQ0MSw0NDQsNDQ4LDQ1OCw0NjksNDcxLDQ3Myw0NzQsNDgwLDQ4MSw0ODIsNDg0LDQ4NSw0ODYsNDkxLDQ5NSw0OTYsNTA2LDUwNyw1MDksNTExLDUxMiw1MTMsNTE0LDUxNSw1MTYsNTE3LDUxOCw1MTksNTIwLDUyMiw1MjMsNTI0LDUyNSw1MjYsNTI3LDUyOCw1MjksNTMwLDUzMSw1MzYsNTM3LDUzOCw1MzksNTQxLDU0NSw1NDcsNTQ4LDU0OSw1NTAsNTUxLDU1Miw1NTMsNTU0LDU1N107Zy5FeGk9bmV3IGcucU0oImxvZ2dpbmdDb250ZXh0Iik7dmFyIE95PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBoNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9RTEoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDEpKX1zZXRWaWRlb0lkKG4pe3JldHVybiBEMih0aGlzLDEseEEsV0gobikpfWdldFBsYXlsaXN0SWQoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDIpKX19LHhBPVsxLDJdO3ZhciB1RjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGlzWj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB1NXQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgb3hoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGRrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZHNMaXN0KTt0aGlzLk4uc21hcnREb3dubG9hZHNMaXN0JiZuLnB1c2godGhpcy5OLnNtYXJ0RG93bmxvYWRzTGlzdCk7dGhpcy5OLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGxfWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtpZih0aGlzLk4uZG93bmxvYWRzKWZvcihsZXQgVyBvZiB0aGlzLk4uZG93bmxvYWRzKW4ucHVzaCguLi4obmV3IHo0dyhXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LHo0dz1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3RoaXMuTi5wbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wbGF5bGlzdCk7dGhpcy5OLnZpZGVvSXRlbSYmbi5wdXNoKHRoaXMuTi52aWRlb0l0ZW0pO3RoaXMuTi5wbGF5bGlzdEl0ZW0mJm4ucHVzaCh0aGlzLk4ucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBUQTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGpCaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgQ0xpPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJBVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZmFrZUNoaWxkcmVuJiZuLnB1c2goLi4udGhpcy5OLmZha2VDaGlsZHJlbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgRnRoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi52aWRlbyYmbi5wdXNoKHRoaXMuTi52aWRlbyk7dGhpcy5OLnBsYXliYWNrRGF0YSYmbi5wdXNoKHRoaXMuTi5wbGF5YmFja0RhdGEpO3RoaXMuTi5vZmZsaW5lVmlkZW9Qb2xpY3kmJm4ucHVzaCh0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciB3d1M9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTVB3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5jaGFubmVsT3duZXImJm4ucHVzaCh0aGlzLk4uY2hhbm5lbE93bmVyKTt0aGlzLk4udmlkZW9zJiZuLnB1c2goLi4udGhpcy5OLnZpZGVvcyk7dGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZuLnB1c2goLi4udGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLk4uZG93bmxvYWRTdGF0ZSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXRlKTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBSNGk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnZpZGVvJiZuLnB1c2godGhpcy5OLnZpZGVvKTt0aGlzLk4uY2hhbm5lbENvbnRyaWJ1dG9yJiZuLnB1c2godGhpcy5OLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgVlBVPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFFCcih0aGlzLk4ucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LFFCcj1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4ubG9jYWxJbWFnZUVudGl0aWVzJiZuLnB1c2goLi4udGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBjWWk9Y2xhc3MgZXh0ZW5kcyBybntKKCl7dmFyIG49W107dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgYV9qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vd25lciYmbi5wdXNoKHRoaXMuTi5vd25lcik7dGhpcy5OLmRvd25sb2FkU3RhdGUmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRTdGF0ZSk7dGhpcy5OLnVzZXJTdGF0ZSYmbi5wdXNoKC4uLihuZXcgY1lpKHRoaXMuTi51c2VyU3RhdGUpKS5KKCkpO3RoaXMuTi5hZGRpdGlvbmFsTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFZQVSh0aGlzLk4uYWRkaXRpb25hbE1ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBuTjI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnVzZXJDaGFubmVsRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyQ2hhbm5lbERldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFdNWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uY2hhbm5lbE93bmVyJiZuLnB1c2godGhpcy5OLmNoYW5uZWxPd25lcik7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi5kb3dubG9hZFN0YXR1cyYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXR1cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgREkxPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJ6dD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB2TnQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIga1ByPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGhPdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB4SVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTE13PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGVPcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBnTnI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgVVU9bmV3IGcucU0oImNoYW5nZUtleWVkTWFya2Vyc1Zpc2liaWxpdHlDb21tYW5kIik7dmFyIHh0TT1uZXcgZy5xTSgibG9hZE1hcmtlcnNDb21tYW5kIik7dmFyIGVicj1uZXcgZy5xTSgidGltZWx5QWN0aW9uVmlld01vZGVsIik7dmFyIExxQz1uZXcgZy5xTSgidGltZWx5QWN0aW9uc092ZXJsYXlWaWV3TW9kZWwiKTt2YXIgWF9TPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHF2Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBHUE09Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdHhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRJTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBySmI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmNvbXBvc2l0ZVNvdXJjZUtleXMmJm4ucHVzaCguLi50aGlzLk4uY29tcG9zaXRlU291cmNlS2V5cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgczR0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIE5rUz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRlZFRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLk4uc21hcnREb3dubG9hZGVkVHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5OLmRvd25sb2FkZWRFcGlzb2RlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJm4ucHVzaCguLi50aGlzLk4uc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLmRvd25sb2FkZWRQbGF5bGlzdHMmJm4ucHVzaCguLi50aGlzLk4uZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmbi5wdXNoKC4uLnRoaXMuTi5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpOwp0aGlzLk4ubWV0YWRhdGFPbmx5VHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgcF9yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFl2dD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgSHppPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4ucHJpbWFyeUFydGlzdHMmJm4ucHVzaCguLi50aGlzLk4ucHJpbWFyeUFydGlzdHMpO3RoaXMuTi5kZXRhaWxzJiZuLnB1c2godGhpcy5OLmRldGFpbHMpO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmRvd25sb2FkTWV0YWRhdGEmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnJlZnJlc2gmJm4ucHVzaCh0aGlzLk4ucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxmSlU9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmCm4ucHVzaCh0aGlzLk4uYWxidW1SZWxlYXNlKTt0aGlzLk4udHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxKSjE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIElKVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sU3ZaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRBcnRpc3QmJm4ucHVzaCh0aGlzLk4ucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEFKaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGFyZW50QXJ0aXN0JiZuLnB1c2godGhpcy5OLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgbUliPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEtNdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQVHg9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLk4uc2lkZWxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3RoaXMuTi5lbnRyeUNvbGxlY3Rpb24mJm4ucHVzaCh0aGlzLk4uZW50cnlDb2xsZWN0aW9uKTt0aGlzLk4uc2hhcmUmJm4ucHVzaCh0aGlzLk4uc2hhcmUpO3RoaXMuTi5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmCm4ucHVzaCguLi4obmV3IE96aSh0aGlzLk4ucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5KKCkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sT3ppPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5jcmVhdG9yRW50aXR5JiZuLnB1c2godGhpcy5OLmNyZWF0b3JFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFp6aT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBVSVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmbi5wdXNoKHRoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuTi5hcnRpc3RzJiZuLnB1c2goLi4udGhpcy5OLmFydGlzdHMpO3RoaXMuTi5hdWRpb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuTi52aWRlb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLmRldGFpbHMmJm4ucHVzaCh0aGlzLk4uZGV0YWlscyk7dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmxpYnJhcnlFZGl0JiZuLnB1c2godGhpcy5OLmxpYnJhcnlFZGl0KTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmCm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmx5cmljcyYmbi5wdXNoKHRoaXMuTi5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0seUpTPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRUcmFjayYmbi5wdXNoKHRoaXMuTi5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxFTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnBhcmVudFRyYWNrJiZuLnB1c2godGhpcy5OLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBucU09bmV3IGcucU0oIm11c2ljRW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKTt2YXIgaXpTPW5ldyBnLnFNKCJzaGFyZUVuZHBvaW50IiksdXhDPW5ldyBnLnFNKCJzaGFyZUVudGl0eUVuZHBvaW50Iiksb05pPW5ldyBnLnFNKCJzaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpLGRJeD1uZXcgZy5xTSgid2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtnLlBqPW5ldyBnLnFNKCJ1cmxFbmRwb2ludCIpO2cuSVE9bmV3IGcucU0oIndhdGNoRW5kcG9pbnQiKTt2YXIgek93PW5ldyBnLnFNKCJ3YXRjaFBsYXlsaXN0RW5kcG9pbnQiKTt2YXIgbEoyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFRrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBqNFo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQ1R3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4udHJhbnNmZXImJm4ucHVzaCh0aGlzLk4udHJhbnNmZXIpO3RoaXMuTi5hZHNQbGF5YmFja0RhdGEmJm4ucHVzaCguLi50aGlzLk4uYWRzUGxheWJhY2tEYXRhKTt0aGlzLk4uZHJtTGljZW5zZSYmbi5wdXNoKHRoaXMuTi5kcm1MaWNlbnNlKTt0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5JiZuLnB1c2godGhpcy5OLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBGTXc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgd19NPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vZmZsaW5lVmlkZW9TdHJlYW1zJiZuLnB1c2goLi4udGhpcy5OLm9mZmxpbmVWaWRlb1N0cmVhbXMpO3RoaXMuTi5jYXB0aW9uVHJhY2smJm4ucHVzaCguLi50aGlzLk4uY2FwdGlvblRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBNeFM9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgUk8xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFE0cj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBWeGI9bmV3IGcucU0oInByZWZldGNoV2F0Y2hDb21tYW5kIik7dmFyIGNKWj1uZXcgZy5xTSgidXBkYXRlUHJvZ3Jlc3NCYXJDb21tYW5kIik7dmFyIE5LeD1uZXcgZy5xTSgiY29tcG9zaXRlVmlkZW9PdmVybGF5UmVuZGVyZXIiKTt2YXIgbGFTPW5ldyBnLnFNKCJwYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlciIpO3ZhciBLSTE9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxPVng9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBJb2I9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksRHo9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksYUp3PW5ldyBnLnFNKCJwbGF5ZXJSZXNwb25zZSIpO3ZhciBuWEM9bmV3IGcucU0oInBsYXlsaXN0RWRpdEVuZHBvaW50Iik7dmFyIFd1Wj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBUZT1uZXcgZy5xTSgicmVlbFdhdGNoRW5kcG9pbnQiKTt2YXIgRCRyPW5ldyBnLnFNKCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiKTtnLllIPW5ldyBnLnFNKCJidXR0b25SZW5kZXJlciIpO2cuSEM9bmV3IGcucU0oInRvZ2dsZUJ1dHRvblJlbmRlcmVyIik7Zy5jUT1uZXcgZy5xTSgiY291bnRlcmZhY3R1YWxSZW5kZXJlciIpO3ZhciBiTXI9bmV3IGcucU0oInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTt2YXIgdlhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGtpdz1uZXcgZy5xTSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO3ZhciBoblU9bmV3IGcucU0oInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgeCRaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE5oMT1uZXcgZy5xTSgic3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIiKTt2YXIgTHUxPW5ldyBnLnFNKCJzdWJzY3JpYmVFbmRwb2ludCIpO3ZhciBlbmk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZ1hVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFhSUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBxTlo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgR2lNPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHRHdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciAkJDI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgck0xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHNkaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBOeTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFJ0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFZDMj1uZXcgZy5xTSgicXJDb2RlUmVuZGVyZXIiKTt2YXIgWU5aPXtkajoiTElWSU5HX1JPT01fQVBQX01PREVfVU5TUEVDSUZJRUQiLHdqOiJMSVZJTkdfUk9PTV9BUFBfTU9ERV9NQUlOIixBXzoiTElWSU5HX1JPT01fQVBQX01PREVfS0lEUyIsQ1E6IkxJVklOR19ST09NX0FQUF9NT0RFX01VU0lDIixvTzoiTElWSU5HX1JPT01fQVBQX01PREVfVU5QTFVHR0VEIixJTzoiTElWSU5HX1JPT01fQVBQX01PREVfR0FNSU5HIn07dmFyIEhNdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBmTzI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgSk0yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJXWj1uZXcgZy5xTSgiYXV0b3BsYXlTd2l0Y2hCdXR0b25SZW5kZXJlciIpO3ZhciB2cXQ9bmV3IGcucU0oImRlc2t0b3BPdmVybGF5Q29uZmlnUmVuZGVyZXIiKTt2YXIgYzNoPW5ldyBnLnFNKCJlbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyIik7dmFyIFdHaT1uZXcgZy5xTSgicGxheWxpc3RQYW5lbFJlbmRlcmVyIik7dmFyIElPdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBTTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQU14PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIG0kUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBLdWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgT01qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFA4dz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBaTWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFlaPW5ldyBnLnFNKCJjaXBoZXIiKTt2YXIgU2xNPW5ldyBnLnFNKCJwbGF5ZXJWYXJzIik7dmFyIGR2aT1uZXcgZy5xTSgicGxheWVyVmFycyIpO3ZhciBVJFU9Zy5xaS53aW5kb3csSUU9VSRVPy55dD8uY29uZmlnX3x8VSRVPy55dGNmZz8uZGF0YV98fHt9O2cuR2IoInl0LmNvbmZpZ18iLElFKTt2YXIgS3c9W107dmFyIGR4aT0vXltcdy5dKiQvLG9LaT17cTohMCxzZWFyY2hfcXVlcnk6ITB9LHVRaD1TdHJpbmcoeUYpO2cuUkU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtnLkdiKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24obil7cmV0dXJuIGcuRXQoZy5RRihuKSl9KTtnLlV3KCk7dmFyIFZGPSJYTUxIdHRwUmVxdWVzdCJpbiBnLnFpPygpPT5uZXcgWE1MSHR0cFJlcXVlc3Q6bnVsbDt2YXIgeU1TPSJhYnNvbHV0ZV9leHBlcmltZW50cyBjbGllbnRfZGV2X2RvbWFpbiBjbGllbnRfZGV2X2V4cGZsYWcgY2xpZW50X2Rldl9yZWdleF9tYXAgY2xpZW50X2Rldl9yb290X3VybCBjbGllbnRfcm9sbG91dF9vdmVycmlkZSBleHBmbGFnIGZvcmNlZENhcGFiaWxpdHkganNmZWF0IGpzbW9kZSBtb2RzIHRoZW1lIi5zcGxpdCgiICIpO1suLi55TVNdO3ZhciBMJD17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxWdWI9WyJhcHAiLCJkZWJ1Z2NzcyIsImRlYnVnanMiLCJleHBmbGFnIiwiZm9yY2VfYWRfcGFyYW1zIiwiZm9yY2VfYWRfZW5jcnlwdGVkIiwiZm9yY2VfdmlyYWxfYWRfcmVzcG9uc2VfcGFyYW1zIiwiZm9yY2VkX2V4cGVyaW1lbnRzIiwiaW5uZXJ0dWJlX3NuYXBzaG90cyIsImlubmVydHViZV9nb2xkZW5zIiwiaW50ZXJuYWxjb3VudHJ5Y29kZSIsImludGVybmFsaXBvdmVycmlkZSIsImFic29sdXRlX2V4cGVyaW1lbnRzIiwiY29uZGl0aW9uYWxfZXhwZXJpbWVudHMiLCJzYmIiLCJzcl9ibnNfYWRkcmVzcyIsLi4ueU1TXSxHUT0hMSxGeDE9eFQ7dmFyIGM0VTtnLiRUPWNsYXNzIGV4dGVuZHMgZy5UYntjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoYCR7bn0sIGVycm9yQ29kZT0ke1d9YCk7dGhpcy5lcnJvckNvZGU9Vzt0aGlzLnhocj1EO3RoaXMubmFtZT0iUHJvbWlzZUFqYXhFcnJvciJ9fTtjNFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy54aHI9bn19O3ZhciBOWD1jbGFzc3tjb25zdHJ1Y3RvcihuPW51bGwpe3RoaXMuTj1uO3RoaXMuVz0wO3RoaXMuSj1udWxsfXRoZW4obixXLEQpe3JldHVybiB0aGlzLk4/dGhpcy5OLnRoZW4obixXLEQpOnRoaXMuVz09PTEmJm4/KG49bi5jYWxsKEQsdGhpcy5KKSkmJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iP246Zy5IMChuKTp0aGlzLlc9PT0yJiZXPyhuPVcuY2FsbChELHRoaXMuSikpJiZ0eXBlb2Ygbi50aGVuPT09ImZ1bmN0aW9uIj9uOmcucCQobik6dGhpc31nZXRWYWx1ZSgpe3JldHVybiB0aGlzLkp9fTtOWC5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIGYkPSExO2cuTUw9dzh8fE1YO3ZhciBXMDE9L14oWzAtOVwuXSspOihbMC05XC5dKykkLzt2YXIgWGs9e307dmFyIEVYaD0wLHEwPWcuWmw/IndlYmtpdCI6Zy5lUz8ibW96IjpnLmtoPyJtcyI6cmM/Im8iOiIiLGlNeD1nLnJyKCJ5dERvbURvbUdldE5leHRJZCIpfHwoKCk9PisrRVhoKTsKZy5HYigieXREb21Eb21HZXROZXh0SWQiLGlNeCk7dmFyIHVaYj17c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOjEsc3RvcFByb3BhZ2F0aW9uOjEscHJldmVudE1vdXNlRXZlbnQ6MSxwcmV2ZW50TWFuaXB1bGF0aW9uOjEscHJldmVudERlZmF1bHQ6MSxsYXllclg6MSxsYXllclk6MSxzY3JlZW5YOjEsc2NyZWVuWToxLHNjYWxlOjEscm90YXRpb246MSx3ZWJraXRNb3ZlbWVudFg6MSx3ZWJraXRNb3ZlbWVudFk6MX0sZnk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50eXBlPSIiO3RoaXMuc3RhdGU9dGhpcy5zb3VyY2U9dGhpcy5kYXRhPXRoaXMuY3VycmVudFRhcmdldD10aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuY3RybEtleT10aGlzLmFsdEtleT0hMTt0aGlzLnJvdGF0aW9uPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9MDt0aGlzLnNjYWxlPTE7dGhpcy5jaGFuZ2VkVG91Y2hlcz10aGlzLnRvdWNoZXM9Cm51bGw7dHJ5e2lmKG49bnx8d2luZG93LmV2ZW50KXt0aGlzLmV2ZW50PW47Zm9yKGxldCBiIGluIG4pYiBpbiB1WmJ8fCh0aGlzW2JdPW5bYl0pO3RoaXMuc2NhbGU9bi5zY2FsZTt0aGlzLnJvdGF0aW9uPW4ucm90YXRpb247dmFyIFc9bi50YXJnZXR8fG4uc3JjRWxlbWVudDtXJiZXLm5vZGVUeXBlPT0zJiYoVz1XLnBhcmVudE5vZGUpO3RoaXMudGFyZ2V0PVc7dmFyIEQ9bi5yZWxhdGVkVGFyZ2V0O2lmKEQpdHJ5e0Q9RC5ub2RlTmFtZT9EOm51bGx9Y2F0Y2goYil7RD1udWxsfWVsc2UgdGhpcy50eXBlPT0ibW91c2VvdmVyIj9EPW4uZnJvbUVsZW1lbnQ6dGhpcy50eXBlPT0ibW91c2VvdXQiJiYoRD1uLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PUQ7dGhpcy5jbGllbnRYPW4uY2xpZW50WCE9dm9pZCAwP24uY2xpZW50WDpuLnBhZ2VYO3RoaXMuY2xpZW50WT1uLmNsaWVudFkhPXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWTt0aGlzLmtleUNvZGU9bi5rZXlDb2RlP24ua2V5Q29kZToKbi53aGljaDt0aGlzLmNoYXJDb2RlPW4uY2hhckNvZGV8fCh0aGlzLnR5cGU9PSJrZXlwcmVzcyI/dGhpcy5rZXlDb2RlOjApO3RoaXMuYWx0S2V5PW4uYWx0S2V5O3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5OPW4ucGFnZVg7dGhpcy5KPW4ucGFnZVl9fWNhdGNoKGIpe319cHJldmVudERlZmF1bHQoKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5yZXR1cm5WYWx1ZT0hMSx0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0JiZ0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0KCkpfXN0b3BQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJih0aGlzLmV2ZW50LmNhbmNlbEJ1YmJsZT0hMCx0aGlzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKSl9c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQuY2FuY2VsQnViYmxlPSEwLAp0aGlzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fTtnLllSPWcucWkueXRFdmVudHNFdmVudHNMaXN0ZW5lcnN8fHt9O2cuR2IoInl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzIixnLllSKTt2YXIgSEI9Zy5xaS55dEV2ZW50c0V2ZW50c0NvdW50ZXJ8fHtjb3VudDowfTtnLkdiKCJ5dEV2ZW50c0V2ZW50c0NvdW50ZXIiLEhCKTt2YXIgb1hoPWcud0QoZnVuY3Rpb24oKXt2YXIgbj0hMTt0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSksSk89Zy53RChmdW5jdGlvbigpe3ZhciBuPSExOwp0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJjYXB0dXJlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSk7dmFyIGZqO2ZqPXdpbmRvdztnLlI9ZmoueXRjc2kmJmZqLnl0Y3NpLm5vdz9mai55dGNzaS5ub3c6ZmoucGVyZm9ybWFuY2UmJmZqLnBlcmZvcm1hbmNlLnRpbWluZyYmZmoucGVyZm9ybWFuY2Uubm93JiZmai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0PygpPT5mai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K2ZqLnBlcmZvcm1hbmNlLm5vdygpOigpPT4obmV3IERhdGUpLmdldFRpbWUoKTtnLml4KG1ZLGcuRk0pO21ZLnByb3RvdHlwZS5EPWZ1bmN0aW9uKG4pe24uTj09PXZvaWQgMCYmcHkobik7dmFyIFc9bi5OO24uSj09PXZvaWQgMCYmcHkobik7dGhpcy5OPW5ldyBnLk1ZKFcsbi5KKX07Cm1ZLnByb3RvdHlwZS5FdT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk58fG5ldyBnLk1ZfTsKbVkucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtpZih0aGlzLk4pe3ZhciBuPSgwLGcuUikoKTtpZih0aGlzLlghPTApe3ZhciBXPXRoaXMuVixEPXRoaXMuTixiPVcueC1ELng7Vz1XLnktRC55O2I9TWF0aC5zcXJ0KGIqYitXKlcpLyhuLXRoaXMuWCk7dGhpcy5KW3RoaXMuV109TWF0aC5hYnMoKGItdGhpcy5qKS90aGlzLmopPi41PzE6MDtXPTA7Zm9yKEQ9MDtEPDQ7RCsrKVcrPXRoaXMuSltEXXx8MDtXPj0zJiZ0aGlzLksoKTt0aGlzLmo9Yn10aGlzLlg9bjt0aGlzLlY9dGhpcy5OO3RoaXMuVz0odGhpcy5XKzEpJTR9fTsKbVkucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7RHIodGhpcy5ZKTtnLlNfKHRoaXMuY0opfTtnLkpMPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuVz1bXTt0aGlzLks9bnx8dGhpc31OTihuLFcsRCxiLHYpe0Q9UFYoKDAsZy5LdCkoRCxifHx0aGlzLkspKTtEPXt0YXJnZXQ6bixuYW1lOlcsY2FsbGJhY2s6RH07dmFyIGs7diYmb1hoKCkmJihrPXtwYXNzaXZlOiEwfSk7bi5hZGRFdmVudExpc3RlbmVyKFcsRC5jYWxsYmFjayxrKTt0aGlzLlcucHVzaChEKTtyZXR1cm4gRH13SChuKXtmb3IobGV0IFc9MDtXPHRoaXMuVy5sZW5ndGg7VysrKWlmKHRoaXMuV1tXXT09bil7dGhpcy5XLnNwbGljZShXLDEpO24udGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIobi5uYW1lLG4uY2FsbGJhY2spO2JyZWFrfX1KKG4pe2Zvcig7dGhpcy5XLmxlbmd0aDspe2xldCBXPXRoaXMuVy5wb3AoKSxEO24mJm9YaCgpJiYoRD17cGFzc2l2ZTohMH0pO1cudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoVy5uYW1lLFcuY2FsbGJhY2ssRCl9fW1BKCl7dGhpcy5KKCk7CnN1cGVyLm1BKCl9fTt2YXIgd1laPVsiYXR0L2dldCJdLGRRWj1bImVtYmVkZGVkX3BsYXllciJdLGQkUz1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLHpudD1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0sbE9NPVsiZmVlZGJhY2siXSxUeXc9WyJub3RpZmljYXRpb24vbW9kaWZ5X2NoYW5uZWxfcHJlZmVyZW5jZSJdLHF5aj1bInBsYXllciJdLGpkeD1bImJyb3dzZS9lZGl0X3BsYXlsaXN0Il0sc3YyPVsicmVlbC9yZWVsX2l0ZW1fd2F0Y2giXSxONGg9WyJuYXZpZ2F0aW9uL3Jlc29sdmVfdXJsIl0sQ0diPVsiYWNjb3VudC9zZXRfc2V0dGluZyJdLEM4Yj1bInN1YnNjcmlwdGlvbi9zdWJzY3JpYmUiXSxCeWk9WyJzdWJzY3JpcHRpb24vdW5zdWJzY3JpYmUiXSwkMUM9WyJuZXh0IiwidW5wbHVnZ2VkL3dhdGNoX25leHQiXTt2YXIgT1A9e0JwOmcud0QoZnVuY3Rpb24oKXt0cnl7bGV0IFc9bmV3IFdTO3ZhciBuPVcuaXNBdmFpbGFibGUoKT9XOm51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9cmV0dXJuIG4/bmV3IFZLKG4pOm51bGx9KSwKcWI6Zy53RChmdW5jdGlvbigpe3ZhciBuPW5ldyBEUTtyZXR1cm4gbi5pc0F2YWlsYWJsZSgpP25ldyBWSyhuKTpudWxsfSl9O2cuSVY9d2luZG93Lnl0JiZ3aW5kb3cueXQubXNnc198fHdpbmRvdy55dGNmZyYmd2luZG93Lnl0Y2ZnLm1zZ3N8fHt9O2cuR2IoInl0Lm1zZ3NfIixnLklWKTt2YXIgV2I9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPXZvaWQgMDt0aGlzLk49ITE7bi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixXPT57Vy5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuSj1XfSk7Cm4uYWRkRXZlbnRMaXN0ZW5lcigiYXBwaW5zdGFsbGVkIiwoKT0+e3RoaXMuTj0hMH0se29uY2U6ITB9KX19O3ZhciBFUD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc0I9ITB9YWoobixXKXtuPXt9O3ZhciBEPVtdOyJVU0VSX1NFU1NJT05fSUQiaW4gSUUmJkQucHVzaCh7a2V5OiJ1Iix2YWx1ZTpnLkFyKCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKEQ9Qk8oRCkpbi5BdXRob3JpemF0aW9uPUQsRD1XPVc/LnNlc3Npb25JbmRleCxEPT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiU0VTU0lPTl9JTkRFWCIsMCkpLEQ9aXNOYU4oRCk/MDpEKSxnLmwoInZvaWNlX3NlYXJjaF9hdXRoX2hlYWRlcl9yZW1vdmFsIil8fChuWyJYLUdvb2ctQXV0aFVzZXIiXT1ELnRvU3RyaW5nKCkpLCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSJpbiBJRXx8KG5bIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksVz09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIElFJiYoblsiWC1Hb29nLVBhZ2VJZCJdPWcuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikpO3JldHVybiBufX07dmFyIHU5PXtpZGVudGl0eVR5cGU6IlVOQVVUSEVOVElDQVRFRF9JREVOVElUWV9UWVBFX1VOS05PV04ifTt2YXIgbE89Zy5ycigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iKXx8e307Zy5HYigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iLGxPKTsKdmFyIHgzYj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1nLkFyKCJBTFRfUFJFRl9DT09LSUVfTkFNRSIsIlBSRUYiKTt0aGlzLko9Zy5BcigiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIG49Zy5TZCh0aGlzLk4pO24mJnRoaXMucGFyc2Uobil9Z2V0KG4sVyl7ejEobik7ZEoobik7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGw/bjpXP1c6IiJ9c2V0KG4sVyl7ejEobik7ZEoobik7aWYoVz09bnVsbCl0aHJvdyBFcnJvcigiRXhwZWN0ZWROb3ROdWxsIik7bE9bbl09Vy50b1N0cmluZygpfVFRKG4pe3JldHVybiEhKChUMShgZiR7TWF0aC5mbG9vcihuLzMxKSsxfWApfHwwKSYxPDxuJTMxKX1yZW1vdmUobil7ejEobik7ZEoobik7ZGVsZXRlIGxPW25dfXNhdmUoKXtJSyh0aGlzLk4sdGhpcy5kdW1wKCksNjMwNzJFMyx0aGlzLkosITApfWNsZWFyKCl7Zy50SyhsTyl9ZHVtcCgpe3ZhciBuPVtdO2ZvcihsZXQgVyBpbiBsTylsTy5oYXNPd25Qcm9wZXJ0eShXKSYmCm4ucHVzaChgJHtXfT1gK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcobE9bV10pKSk7cmV0dXJuIG4uam9pbigiJiIpfXBhcnNlKG4pe249ZGVjb2RlVVJJQ29tcG9uZW50KG4pLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe3ZhciBXPW5bRF0uc3BsaXQoIj0iKTtsZXQgYj1XWzBdOyhXPVdbMV0pJiYobE9bYl09Vy50b1N0cmluZygpKX19fSx1Tzt2YXIgQ3k9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LHpxdz17Q09OTl9ERUZBVUxUOjAsQ09OTl9VTktOT1dOOjEsQ09OTl9OT05FOjIsQ09OTl9XSUZJOjMsQ09OTl9DRUxMVUxBUl8yRzo0LENPTk5fQ0VMTFVMQVJfM0c6NSxDT05OX0NFTExVTEFSXzRHOjYsQ09OTl9DRUxMVUxBUl9VTktOT1dOOjcsQ09OTl9ESVNDTzo4LENPTk5fQ0VMTFVMQVJfNUc6OSxDT05OX1dJRklfTUVURVJFRDoxMCxDT05OX0NFTExVTEFSXzVHX1NBOjExLApDT05OX0NFTExVTEFSXzVHX05TQToxMixDT05OX1dJUkVEOjMwLENPTk5fSU5WQUxJRDozMX0sbEJyPXtFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1VOS05PV046MCxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX09GRkxJTkU6MSxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1NMT1dfMkc6MixFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHOjMsRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRzo0LEVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfNEc6NX0sRms9eyJzbG93LTJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9TTE9XXzJHIiwiMmciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHIiwiM2ciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzNHIiwiNGciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzRHIn07Zy5ReD1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobik7dGhpcy5hcmdzPVsuLi5XXTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgRnVNPWNsYXNze0xTKG4sVyl7cmV0dXJuIGcuVngoMCxuLDEsVyl9fTtnLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UudGltZXJJZE1hcF8iKTt2YXIgV049Y2xhc3MgZXh0ZW5kcyBGdU17c08obil7aWYobj09PXZvaWQgMHx8IU51bWJlci5pc05hTihOdW1iZXIobikpKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIik7Vz9XKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9fXN0YXJ0KCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnN0YXJ0Iik7biYmbigpfXBhdXNlKCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnBhdXNlIik7biYmbigpfX0sdGE9Zy5EeSgpO3ZhciB0ST1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49KG49Zy52UyhuKSk/bmV3IFFLKG4pOm51bGw7dGhpcy5XPWRvY3VtZW50LmRvbWFpbnx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lfUooKXtyZXR1cm4hIXRoaXMuTn1zZXQobixXLEQsYil7RD1EfHwzMTEwNEUzO3RoaXMucmVtb3ZlKG4pO2lmKHRoaXMuSigpKXRyeXt0aGlzLk4uc2V0KG4sVyxEYXRlLm5vdygpK0QqMUUzKTtyZXR1cm59Y2F0Y2goayl7fXZhciB2PSIiO2lmKGIpdHJ5e3Y9ZXNjYXBlKChuZXcgbGUpLmJZKFcpKX1jYXRjaChrKXtyZXR1cm59ZWxzZSB2PWVzY2FwZShXKTtJSyhuLHYsRCx0aGlzLlcpfWdldChuLFcpe3ZhciBEPXZvaWQgMCxiPSF0aGlzLkooKTtpZighYil0cnl7RD10aGlzLk4uZ2V0KG4pfWNhdGNoKHYpe2I9ITB9aWYoYiYmKEQ9Zy5TZChuKSkmJihEPXVuZXNjYXBlKEQpLFcpKXRyeXtEPUpTT04ucGFyc2UoRCl9Y2F0Y2godil7dGhpcy5yZW1vdmUobiksRD12b2lkIDB9cmV0dXJuIER9cmVtb3ZlKG4pe3RoaXMuSigpJiYKdGhpcy5OLnJlbW92ZShuKTtBeShuLCIvIix0aGlzLlcpfX07dmFyIHZOPSgoKT0+e3ZhciBuO3JldHVybigpPT57bnx8KG49bmV3IHRJKCJ5dGlkYiIpKTtyZXR1cm4gbn19KSgpO3ZhciB4dT1bXSxoYz0hMTt2YXIgd1JNPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LE1HUz17QVVUSF9JTlZBTElEOiJFUlJPUiIsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6IldBUk5JTkciLEVYUExJQ0lUX0FCT1JUOiJJR05PUkVEIixJREJfTk9UX1NVUFBPUlRFRDoiRVJST1IiLE1JU1NJTkdfSU5ERVg6IldBUk5JTkciLE1JU1NJTkdfT0JKRUNUX1NUT1JFUzoiRVJST1IiLApEQl9ERUxFVEVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzoiV0FSTklORyIsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixRVU9UQV9FWENFRURFRDoiV0FSTklORyIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IldBUk5JTkciLFVOS05PV05fQUJPUlQ6IldBUk5JTkciLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiJXQVJOSU5HIn0sUm5pPXtBVVRIX0lOVkFMSUQ6ITEsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6ITEsRVhQTElDSVRfQUJPUlQ6ITEsSURCX05PVF9TVVBQT1JURUQ6ITEsTUlTU0lOR19JTkRFWDohMSxNSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLFFVT1RBX0VYQ0VFREVEOiExLFFVT1RBX01BWUJFX0VYQ0VFREVEOiEwLFVOS05PV05fQUJPUlQ6ITAsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046ITF9LApxTD1jbGFzcyBleHRlbmRzIGcuUXh7Y29uc3RydWN0b3IobixXPXt9LEQ9d1JNW25dLGI9TUdTW25dLHY9Um5pW25dKXtzdXBlcihELHtuYW1lOiJZdElkYktub3duRXJyb3IiLGlzU3c6c2VsZi5kb2N1bWVudD09PXZvaWQgMCxpc0lmcmFtZTpzZWxmIT09c2VsZi50b3AsdHlwZTpuLC4uLld9KTt0aGlzLnR5cGU9bjt0aGlzLm1lc3NhZ2U9RDt0aGlzLmxldmVsPWI7dGhpcy5OPXY7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMscUwucHJvdG90eXBlKX19LFFkUz1jbGFzcyBleHRlbmRzIHFMe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOlcsZm91bmRPYmplY3RTdG9yZXM6bn0sd1JNLk1JU1NJTkdfT0JKRUNUX1NUT1JFUyk7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUWRTLnByb3RvdHlwZSl9fSx0Yz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLmluZGV4PQpuO3RoaXMub2JqZWN0U3RvcmU9VztPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyx0Yy5wcm90b3R5cGUpfX0sTDBpPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBmRj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LHNSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuTj1bXTt0aGlzLko9W107bj1uLk47dmFyIFc9Yj0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6Yn07Zm9yKGxldCB2IG9mIHRoaXMuTil2KCl9fSxEPWI9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIsCnJlYXNvbjpifTtmb3IobGV0IHYgb2YgdGhpcy5KKXYoKX19Owp0cnl7bihXLEQpfWNhdGNoKGIpe0QoYil9fXN0YXRpYyBhbGwobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9Pnt2YXIgYj1bXSx2PW4ubGVuZ3RoO3Y9PT0wJiZXKGIpO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7KytrKXNSLnJlc29sdmUobltrXSkudGhlbihoPT57YltrXT1oO3YtLTt2PT09MCYmVyhiKX0pLmNhdGNoKGg9PntEKGgpfSl9KSl9c3RhdGljIHJlc29sdmUobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntuIGluc3RhbmNlb2Ygc1I/bi50aGVuKFcsRCk6VyhuKX0pKX1zdGF0aWMgcmVqZWN0KG4pe3JldHVybiBuZXcgc1IobmV3IGZGKChXLEQpPT57RChuKX0pKX10aGVuKG4sVyl7dmFyIEQ9bj8/Z1VyLGI9Vz8/ZXExOwpyZXR1cm4gbmV3IHNSKG5ldyBmRigodixrKT0+e3RoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciPyh0aGlzLk4ucHVzaCgoKT0+e3BGKHRoaXMsdGhpcyxELHYsayl9KSx0aGlzLkoucHVzaCgoKT0+e1l1KHRoaXMsdGhpcyxiLHYsayl9KSk6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iRlVMRklMTEVEIj9wRih0aGlzLHRoaXMsRCx2LGspOnRoaXMuc3RhdGUuc3RhdHVzPT09IlJFSkVDVEVEIiYmWXUodGhpcyx0aGlzLGIsdixrKX0pKX1jYXRjaChuKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxuKX19O3ZhciBxXzI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnJlcXVlc3Q9bjt0aGlzLmN1cnNvcj1XfX07dmFyIFlfcj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMub3B0aW9ucz1XO3RoaXMudHJhbnNhY3Rpb25Db3VudD0wO3RoaXMuVz1NYXRoLnJvdW5kKCgwLGcuUikoKSk7dGhpcy5KPSExfWFkZChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwLGNvbW1pdDpBYygpfSxiPT5iLm9iamVjdFN0b3JlKG4pLmFkZChXLEQpKX1jbGVhcihuKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWR3cml0ZSIsCkdROiEwfSxXPT5XLm9iamVjdFN0b3JlKG4pLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5OLmNsb3NlKCk7CnRoaXMub3B0aW9ucz8uY2xvc2VkJiZ0aGlzLm9wdGlvbnMuY2xvc2VkKCl9Y291bnQobixXKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IixHUTohMCxjb21taXQ6QWMoKX0sRD0+RC5vYmplY3RTdG9yZShuKS5jb3VudChXKSl9ZGVsZXRlKG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKSYmIShXIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmRlbGV0ZShXKSl9Z2V0KG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkb25seSIsCkdROiEwLGNvbW1pdDpBYygpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmdldChXKSl9Z2V0QWxsKG4sVyxEKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IiwKR1E6ITB9LGI9PmIub2JqZWN0U3RvcmUobikuZ2V0QWxsKFcsRCkpfXB1dChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKX0sYj0+Yi5vYmplY3RTdG9yZShuKS5wdXQoVyxEKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuTi5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfX0sUE49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59YWRkKG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5hZGQobixXKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLk4uYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBKYyh0aGlzLk4uY2xlYXIoKSkudGhlbigoKT0+e30pfWNvdW50KG4pe3JldHVybiBKYyh0aGlzLk4uY291bnQobikpfWRlbGV0ZShuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIElEQktleVJhbmdlP3RYVSh0aGlzLG4pOkpjKHRoaXMuTi5kZWxldGUobikpfWdldChuKXtyZXR1cm4gSmModGhpcy5OLmdldChuKSl9Z2V0QWxsKG4sVyl7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/SmModGhpcy5OLmdldEFsbChuLApXKSk6JDN4KHRoaXMsbixXKX1pbmRleChuKXt0cnl7cmV0dXJuIG5ldyBWR2godGhpcy5OLmluZGV4KG4pKX1jYXRjaChXKXtpZihXIGluc3RhbmNlb2YgRXJyb3ImJlcubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgdGMobix0aGlzLk4ubmFtZSk7CnRocm93IFc7fX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfWtleVBhdGgoKXtyZXR1cm4gdGhpcy5OLmtleVBhdGh9cHV0KG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5wdXQobixXKSl9fSxtWD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bmV3IE1hcDt0aGlzLmFib3J0ZWQ9ITE7dGhpcy5kb25lPW5ldyBQcm9taXNlKChXLEQpPT57dGhpcy5OLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e1coKX0pOwp0aGlzLk4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntiLmN1cnJlbnRUYXJnZXQ9PT1iLnRhcmdldCYmRCh0aGlzLk4uZXJyb3IpfSk7CnRoaXMuTi5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9Pnt2YXIgYj10aGlzLk4uZXJyb3I7aWYoYilEKGIpO2Vsc2UgaWYoIXRoaXMuYWJvcnRlZCl7Yj1xTDt2YXIgdj10aGlzLk4ub2JqZWN0U3RvcmVOYW1lcztsZXQgaz1bXTtmb3IobGV0IGg9MDtoPHYubGVuZ3RoO2grKyl7bGV0IHg9di5pdGVtKGgpO2lmKHg9PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IGl0ZW0gaW4gRE9NU3RyaW5nTGlzdCBpcyBudWxsIik7ay5wdXNoKHgpfWI9bmV3IGIoIlVOS05PV05fQUJPUlQiLHtvYmplY3RTdG9yZU5hbWVzOmsuam9pbigpLGRiTmFtZTp0aGlzLk4uZGIubmFtZSxtb2RlOnRoaXMuTi5tb2RlfSk7RChiKX19KX0pfWFib3J0KCl7dGhpcy5OLmFib3J0KCk7CnRoaXMuYWJvcnRlZD0hMDt0aHJvdyBuZXcgcUwoIkVYUExJQ0lUX0FCT1JUIik7fWNvbW1pdCgpe3RoaXMuYWJvcnRlZHx8dGhpcy5OLmNvbW1pdD8uKCl9b2JqZWN0U3RvcmUobil7bj10aGlzLk4ub2JqZWN0U3RvcmUobik7dmFyIFc9dGhpcy5KLmdldChuKTtXfHwoVz1uZXcgUE4obiksdGhpcy5KLnNldChuLFcpKTtyZXR1cm4gV319LFZHaD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1jb3VudChuKXtyZXR1cm4gSmModGhpcy5OLmNvdW50KG4pKX1kZWxldGUobil7cmV0dXJuIHpuKHRoaXMse3F1ZXJ5Om59LFc9PlcuZGVsZXRlKCkudGhlbigoKT0+b2coVykpKX1nZXQobil7cmV0dXJuIEpjKHRoaXMuTi5nZXQobikpfWdldEFsbChuLFcpe3JldHVybiJnZXRBbGwiaW4gSURCSW5kZXgucHJvdG90eXBlP0pjKHRoaXMuTi5nZXRBbGwobixXKSk6TlppKHRoaXMsbixXKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuTi5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLk4udW5pcXVlfX0sCnA5eD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMucmVxdWVzdD1uOwp0aGlzLmN1cnNvcj1XfWRlbGV0ZSgpe3JldHVybiBKYyh0aGlzLmN1cnNvci5kZWxldGUoKSkudGhlbigoKT0+e30pfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuY3Vyc29yLnZhbHVlfXVwZGF0ZShuKXtyZXR1cm4gSmModGhpcy5jdXJzb3IudXBkYXRlKG4pKX19O3ZhciBjTTE9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLm5hbWU9bjt0aGlzLm9wdGlvbnM9Vzt0aGlzLlc9ITA7dGhpcy5qPXRoaXMuWD0wfUoobixXLEQ9e30pe3JldHVybiBsUShuLFcsRCl9ZGVsZXRlKG49e30pe3JldHVybiBUbih0aGlzLm5hbWUsbil9b3Blbigpe2lmKCF0aGlzLlcpdGhyb3cgakYodGhpcyk7aWYodGhpcy5OKXJldHVybiB0aGlzLk47dmFyIG4sVz0oKT0+e3RoaXMuTj09PW4mJih0aGlzLk49dm9pZCAwKX0sRD17YmxvY2tpbmc6dj0+e3YuY2xvc2UoKX0sCmNsb3NlZDpXLEJ6OlcsdXBncmFkZTp0aGlzLm9wdGlvbnMudXBncmFkZX0sYj1hc3luYygpPT57dmFyIHY9RXJyb3IoKS5zdGFjaz8/IiI7dHJ5e2xldCB4PWF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdGhpcy5vcHRpb25zLnZlcnNpb24sRCk7dmFyIGs9eCxoPXRoaXMub3B0aW9ucztsZXQgTD1bXTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoaC5LYykpe2xldCB7dng6RyxtUjpyPU51bWJlci5NQVhfVkFMVUV9PWguS2NbZV07IShrLk4udmVyc2lvbj49Ryl8fGsuTi52ZXJzaW9uPj1yfHxrLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhlKXx8TC5wdXNoKGUpfWlmKEwubGVuZ3RoIT09MCl7bGV0IGU9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLktjKSxHPXgub2JqZWN0U3RvcmVOYW1lcygpO2lmKHRoaXMuajx2MCgieXRpZGJfcmVvcGVuX2RiX3JldHJpZXMiLDApKXJldHVybiB0aGlzLmorKyx4LmNsb3NlKCksTEYobmV3IHFMKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLAp7ZGJOYW1lOnRoaXMubmFtZSxleHBlY3RlZE9iamVjdFN0b3JlczplLGZvdW5kT2JqZWN0U3RvcmVzOkd9KSksYigpO2lmKHRoaXMuWDx2MCgieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiLDEpKXJldHVybiB0aGlzLlgrKyxhd2FpdCB0aGlzLmRlbGV0ZSgpLExGKG5ldyBxTCgiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOmUsZm91bmRPYmplY3RTdG9yZXM6R30pKSxiKCk7dGhyb3cgbmV3IFFkUyhHLGUpO31yZXR1cm4geH1jYXRjaCh4KXtpZih4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP3gubmFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZ4IGluc3RhbmNlb2YgRE9NRXJyb3I/eC5uYW1lPT09IlZlcnNpb25FcnJvciI6eCBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4geCYmeC5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe3Y9CmF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdm9pZCAwLHsuLi5ELHVwZ3JhZGU6dm9pZCAwfSk7az12Lk4udmVyc2lvbjtpZih0aGlzLm9wdGlvbnMudmVyc2lvbiE9PXZvaWQgMCYmaz50aGlzLm9wdGlvbnMudmVyc2lvbisxKXRocm93IHYuY2xvc2UoKSx0aGlzLlc9ITEsakYodGhpcyxrKTtyZXR1cm4gdn1XKCk7eCBpbnN0YW5jZW9mIEVycm9yJiYhZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIikmJih4LnN0YWNrPWAke3guc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKTt0aHJvdyAkdSh4LHRoaXMubmFtZSwiIix0aGlzLm9wdGlvbnMudmVyc2lvbj8/LTEpO319OwpyZXR1cm4gdGhpcy5OPW49YigpfX07dmFyIEJOPW5ldyBjTTEoIll0SWRiTWV0YSIse0tjOntkYXRhYmFzZXM6e3Z4OjF9fSx1cGdyYWRlKG4sVyl7VygxKSYmWnkobiwiZGF0YWJhc2VzIix7a2V5UGF0aDoiYWN0dWFsTmFtZSJ9KX19KTt2YXIgVmMsUWM9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0obmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0pO25ldyBnLktWO3ZhciBPNXQ9Y2xhc3MgZXh0ZW5kcyBjTTF7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLFcpO3RoaXMub3B0aW9ucz1XO2cwKG4pfUoobixXLEQ9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP0FfcjpTX1opKG4sVyx7Li4uRH0pfWRlbGV0ZShuPXt9KXtyZXR1cm4odGhpcy5vcHRpb25zLnNoYXJlZD92ejptM3cpKHRoaXMubmFtZSxuKX19O3ZhciBaNUM9a08oInl0R2NmQ29uZmlnIix7S2M6e2NvbGRDb25maWdTdG9yZTp7dng6MX0saG90Q29uZmlnU3RvcmU6e3Z4OjF9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcpe1coMSkmJihFUihaeShuLCJob3RDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJob3RUaW1lc3RhbXBJbmRleCIsInRpbWVzdGFtcCIpLEVSKFp5KG4sImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBhTzE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9W107dGhpcy5OPVtdO3ZhciBuPWcucnIoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIik7bj8odGhpcy5KPVsuLi5uXSx0aGlzLk49bik6KHRoaXMuTj1bXSxnLkdiKCJ5dC5nY2YuY29uZmlnLmhvdFVwZGF0ZUNhbGxiYWNrcyIsdGhpcy5OKSl9bUEoKXtmb3IobGV0IFcgb2YgdGhpcy5KKXt2YXIgbj10aGlzLk47bGV0IEQ9bi5pbmRleE9mKFcpO0Q+PTAmJm4uc3BsaWNlKEQsMSl9dGhpcy5KLmxlbmd0aD0wO3N1cGVyLm1BKCl9fTtnLlgzPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5WPSExO3RoaXMuaj10aGlzLlg9MDt0aGlzLks9bmV3IGFPMX1MWCgpe3JldHVybiAkTygpPz9nLkFyKCJSQVdfSE9UX0NPTkZJR19HUk9VUCIpfVcobil7dGhpcy5ob3RIYXNoRGF0YT1uO2cuR2IoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiLHRoaXMuaG90SGFzaERhdGF8fG51bGwpfX07dmFyIG5naD10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6bnVsbCxRZD1uZ2g/bj0+bmdoLmVuY29kZShuKTpuPT57bj1MMChuKTsKdmFyIFc9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKVdbRF09bltEXTtyZXR1cm4gV307dmFyIGhlPXtuZXh0OiJ3bl9zIixicm93c2U6ImJyX3MiLHNlYXJjaDoic3JfcyIscmVlbDoicl93cnMiLHBsYXllcjoicHNfcyJ9LFVITT17bmV4dDoid25fciIsYnJvd3NlOiJicl9yIixzZWFyY2g6InNyX3IiLHJlZWw6InJfd3JyIixwbGF5ZXI6InBzX3IifTtvNy5wcm90b3R5cGUuYlk9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtkMy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b3BpY307dmFyIFdIUz1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKXx8bmV3IEJLO0JLLnByb3RvdHlwZS5zdWJzY3JpYmU9QksucHJvdG90eXBlLnN1YnNjcmliZTtCSy5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1CSy5wcm90b3R5cGUuaks7QksucHJvdG90eXBlLnB1Ymxpc2g9QksucHJvdG90eXBlLldKO0JLLnByb3RvdHlwZS5jbGVhcj1CSy5wcm90b3R5cGUuY2xlYXI7Zy5HYigieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixXSFMpO3ZhciBqOT1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Zy5HYigieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixqOSk7dmFyIEJ6PWcucnIoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtnLkdiKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLEJ6KTt2YXIgQ1A9Zy5ycigieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307CmcuR2IoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixDUCk7Zy5HYigieXRQdWJzdWIyUHVic3ViMlNraXBTdWJLZXkiLG51bGwpO3ZhciBNQj12MCgibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KSxSNz12MCgibWluX2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNTAwKSx3OWo9MDt2YXIgRHoxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuV3Y9dGhpcy5OPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuSj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9Owp0aGlzLkYyPSgpPT57fTsKdGhpcy5ub3c9RGF0ZS5ub3c7dGhpcy5OaD0hMTt0aGlzLnV4PW4udXg/PzEwMDt0aGlzLkExPW4uQTE/PzE7dGhpcy5HeT1uLkd5Pz8yNTkyRTY7dGhpcy5aND1uLlo0Pz8xMkU0O3RoaXMuSVA9bi5JUD8/NUUzO3RoaXMuWVc9bi5ZVz8/dm9pZCAwO3RoaXMuQ3I9ISFuLkNyO3RoaXMuS3I9bi5Lcj8/LjE7dGhpcy5IRj1uLkhGPz8xMDtuLmhhbmRsZUVycm9yJiYodGhpcy5oYW5kbGVFcnJvcj1uLmhhbmRsZUVycm9yKTtuLkYyJiYodGhpcy5GMj1uLkYyKTtuLk5oJiYodGhpcy5OaD1uLk5oKTtuLld2JiYodGhpcy5Xdj1uLld2KTt0aGlzLkVxPW4uRXE7dGhpcy5BJD1uLkEkO3RoaXMuZ0U9bi5nRTt0aGlzLnlHPW4ueUc7dGhpcy5MbT1uLkxtO3RoaXMudVo9bi51Wjt0aGlzLk5BPW4uTkE7Y3oodGhpcykmJighdGhpcy5FcXx8dGhpcy5FcSgibmV0d29ya2xlc3NfbG9nZ2luZyIpKSYmbm0odGhpcyl9d3JpdGVUaGVuU2VuZChuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPQp7dXJsOm4sb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH07dGhpcy5nRS5zZXQoRCx0aGlzLllXKS50aGVuKGI9PntELmlkPWI7dGhpcy55Ry5XRygpJiZENSh0aGlzLEQpfSkuY2F0Y2goYj0+e0Q1KHRoaXMsRCk7CmJNKHRoaXMsYil9KX1lbHNlIHRoaXMuTG0obixXKX1zZW5kVGhlbldyaXRlKG4sVz17fSxEKXtpZihjeih0aGlzKSYmdGhpcy5OKXtsZXQgYj17dXJsOm4sCm9wdGlvbnM6Vyx0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9O3RoaXMuRXEmJnRoaXMuRXEoIm53bF9za2lwX3JldHJ5IikmJihiLnNraXBSZXRyeT1EKTtpZih0aGlzLnlHLldHKCl8fHRoaXMuRXEmJnRoaXMuRXEoIm53bF9hZ2dyZXNzaXZlX3NlbmRfdGhlbl93cml0ZSIpJiYhYi5za2lwUmV0cnkpe2lmKCFiLnNraXBSZXRyeSl7bGV0IHY9Vy5vbkVycm9yP1cub25FcnJvcjooKT0+e307Clcub25FcnJvcj1hc3luYyhrLGgpPT57YXdhaXQgdGhpcy5nRS5zZXQoYix0aGlzLllXKS5jYXRjaCh4PT57Yk0odGhpcyx4KX0pOwp2KGssaCl9fXRoaXMuTG0obixXLGIuc2tpcFJldHJ5KX1lbHNlIHRoaXMuZ0Uuc2V0KGIsdGhpcy5ZVykuY2F0Y2godj0+e3RoaXMuTG0obixXLGIuc2tpcFJldHJ5KTsKYk0odGhpcyx2KX0pfWVsc2UgRD10aGlzLkVxJiZ0aGlzLkVxKCJud2xfc2tpcF9yZXRyeSIpJiZELHRoaXMuTG0obixXLEQpfXNlbmRBbmRXcml0ZShuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPXt1cmw6biwKb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH0sYj0hMSx2PVcub25TdWNjZXNzP1cub25TdWNjZXNzOigpPT57fTsKRC5vcHRpb25zLm9uU3VjY2Vzcz0oayxoKT0+e0QuaWQhPT12b2lkIDA/dGhpcy5nRS5UTShELmlkLHRoaXMuWVcpOmI9ITA7dGhpcy55Ry5sYyYmdGhpcy5FcSYmdGhpcy5FcSgidnNzX25ldHdvcmtfaGludCIpJiZ0aGlzLnlHLmxjKCEwKTt2KGssaCl9Owp0aGlzLkxtKEQudXJsLEQub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuZ0Uuc2V0KEQsdGhpcy5ZVykudGhlbihrPT57RC5pZD1rO2ImJnRoaXMuZ0UuVE0oRC5pZCx0aGlzLllXKX0pLmNhdGNoKGs9PntiTSh0aGlzLGspfSl9ZWxzZSB0aGlzLkxtKG4sVyx2b2lkIDAsITApfVcoKXtpZighY3oodGhpcykpdGhyb3cgRXJyb3IoIkluZGV4ZWREQiBpcyBub3Qgc3VwcG9ydGVkOiB0aHJvdHRsZVNlbmQiKTsKdGhpcy5KfHwodGhpcy5KPXRoaXMuQSQuTFMoYXN5bmMoKT0+e3ZhciBuPWF3YWl0IHRoaXMuZ0UuaTQoIk5FVyIsdGhpcy5ZVyk7bj8oYXdhaXQgRDUodGhpcyxuKSx0aGlzLkomJih0aGlzLko9MCx0aGlzLlcoKSkpOnRoaXMuWCgpfSx0aGlzLnV4KSl9WCgpe3RoaXMuQSQuc08odGhpcy5KKTsKdGhpcy5KPTB9fTt2YXIgdlU7dmFyIHk0PXthY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRJbjoyMyxhY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRPdXQ6MjQsZGVsYXllZEV2ZW50TWV0cmljQ2FwdHVyZWQ6MTEsbGF0ZW5jeUFjdGlvbkJhc2VsaW5lZDo2LGxhdGVuY3lBY3Rpb25JbmZvOjcsbGF0ZW5jeUFjdGlvblRpY2tlZDo1LG9mZmxpbmVUcmFuc2ZlclN0YXR1c0NoYW5nZWQ6MixvZmZsaW5lSW1hZ2VEb3dubG9hZDozMzUscGxheWJhY2tTdGFydFN0YXRlQ2hhbmdlZDo5LHN5c3RlbUhlYWx0aENhcHR1cmVkOjMsbWFuZ29PbmJvYXJkaW5nQ29tcGxldGVkOjEwLG1hbmdvUHVzaE5vdGlmaWNhdGlvblJlY2VpdmVkOjIzMCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uRXJyb3I6MTIxLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdW1tYXJ5OjEyMixtYW5nb1VuZm9ya0RiTWlncmF0aW9uUHJldW5mb3JrRGJWZXJzaW9uTnVtYmVyOjEzMyxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVNZXRhZGF0YToxMzQsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblBob25lU3RvcmFnZToxMzUsCm1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdGVwOjE0MixtYW5nb0FzeW5jQXBpTWlncmF0aW9uRXZlbnQ6MjIzLG1hbmdvRG93bmxvYWRWaWRlb1Jlc3VsdDoyMjQsbWFuZ29Ib21lcGFnZVZpZGVvQ291bnQ6Mjc5LG1hbmdvSG9tZVYzU3RhdGU6Mjk1LG1hbmdvSW1hZ2VDbGllbnRDYWNoZUhpdEV2ZW50OjI3MyxzZENhcmRTdGF0dXNDaGFuZ2VkOjk4LGZyYW1lc0Ryb3BwZWQ6MTIsdGh1bWJuYWlsSG92ZXJlZDoxMyxkZXZpY2VSZXRlbnRpb25JbmZvQ2FwdHVyZWQ6MTQsdGh1bWJuYWlsTG9hZGVkOjE1LGJhY2tUb0FwcEV2ZW50OjMxOCxzdHJlYW1pbmdTdGF0c0NhcHR1cmVkOjE3LG9mZmxpbmVWaWRlb1NoYXJlZDoxOSxhcHBDcmFzaGVkOjIwLHlvdVRoZXJlOjIxLG9mZmxpbmVTdGF0ZVNuYXBzaG90OjIyLG1keFNlc3Npb25TdGFydGVkOjI1LG1keFNlc3Npb25Db25uZWN0ZWQ6MjYsbWR4U2Vzc2lvbkRpc2Nvbm5lY3RlZDoyNyxiZWRyb2NrUmVzb3VyY2VDb25zdW1wdGlvblNuYXBzaG90OjI4LApuZXh0R2VuV2F0Y2hXYXRjaFN3aXBlZDoyOSxraWRzQWNjb3VudHNTbmFwc2hvdDozMCx6ZXJvU3RlcENoYW5uZWxDcmVhdGVkOjMxLHR2aHRtbDVTZWFyY2hDb21wbGV0ZWQ6MzIsb2ZmbGluZVNoYXJlUGFpcmluZzozNCxvZmZsaW5lU2hhcmVVbmxvY2s6MzUsbWR4Um91dGVEaXN0cmlidXRpb25TbmFwc2hvdDozNixiZWRyb2NrUmVwZXRpdGl2ZUFjdGlvblRpbWVkOjM3LHVucGx1Z2dlZERlZ3JhZGF0aW9uSW5mbzoyMjksdXBsb2FkTXA0SGVhZGVyTW92ZWQ6MzgsdXBsb2FkVmlkZW9UcmFuc2NvZGVkOjM5LHVwbG9hZFByb2Nlc3NvclN0YXJ0ZWQ6NDYsdXBsb2FkUHJvY2Vzc29yRW5kZWQ6NDcsdXBsb2FkUHJvY2Vzc29yUmVhZHk6OTQsdXBsb2FkUHJvY2Vzc29yUmVxdWlyZW1lbnRQZW5kaW5nOjk1LHVwbG9hZFByb2Nlc3NvckludGVycnVwdGVkOjk2LHVwbG9hZEZyb250ZW5kRXZlbnQ6MjQxLGFzc2V0UGFja0Rvd25sb2FkU3RhcnRlZDo0MSxhc3NldFBhY2tEb3dubG9hZGVkOjQyLAphc3NldFBhY2tBcHBsaWVkOjQzLGFzc2V0UGFja0RlbGV0ZWQ6NDQsYXBwSW5zdGFsbEF0dHJpYnV0aW9uRXZlbnQ6NDU5LHBsYXliYWNrU2Vzc2lvblN0b3BwZWQ6NDUsYWRCbG9ja2VyTWVzc2FnaW5nU2hvd246NDgsZGlzdHJpYnV0aW9uQ2hhbm5lbENhcHR1cmVkOjQ5LGRhdGFQbGFuQ3BpZFJlcXVlc3RlZDo1MSxkZXRhaWxlZE5ldHdvcmtUeXBlQ2FwdHVyZWQ6NTIsc2VuZFN0YXRlVXBkYXRlZDo1MyxyZWNlaXZlU3RhdGVVcGRhdGVkOjU0LHNlbmREZWJ1Z1N0YXRlVXBkYXRlZDo1NSxyZWNlaXZlRGVidWdTdGF0ZVVwZGF0ZWQ6NTYsa2lkc0Vycm9yZWQ6NTcsbWR4TXNuU2Vzc2lvblN0YXRzRmluaXNoZWQ6NTgsYXBwU2V0dGluZ3NDYXB0dXJlZDo1OSxtZHhXZWJTb2NrZXRTZXJ2ZXJIdHRwRXJyb3I6NjAsbWR4V2ViU29ja2V0U2VydmVyOjYxLHN0YXJ0dXBDcmFzaGVzRGV0ZWN0ZWQ6NjIsY29sZFN0YXJ0SW5mbzo0MzUsb2ZmbGluZVBsYXliYWNrU3RhcnRlZDo2MyxsaXZlQ2hhdE1lc3NhZ2VTZW50OjIyNSwKbGl2ZUNoYXRVc2VyUHJlc2VudDo0MzQsbGl2ZUNoYXRCZWluZ01vZGVyYXRlZDo0NTcsbGl2ZUNoYXRHaWZ0QnV0dG9uSW1wcmVzc2VkOjU1OCxsaXZlQ3JlYXRpb25DYW1lcmFVcGRhdGVkOjY0LGxpdmVDcmVhdGlvbkVuY29kaW5nQ2FwdHVyZWQ6NjUsbGl2ZUNyZWF0aW9uRXJyb3I6NjYsbGl2ZUNyZWF0aW9uSGVhbHRoVXBkYXRlZDo2NyxsaXZlQ3JlYXRpb25WaWRlb0VmZmVjdHNDYXB0dXJlZDo2OCxsaXZlQ3JlYXRpb25TdGFnZU9jY3VyZWQ6NzUsb2ZmbGluZVN5c3RlbUZhaWx1cmU6NTQ2LGxpdmVDcmVhdGlvbkJyb2FkY2FzdFNjaGVkdWxlZDoxMjMsbGl2ZUNyZWF0aW9uQXJjaGl2ZVJlcGxhY2VtZW50OjE0OSxsaXZlQ3JlYXRpb25Db3N0cmVhbWluZ0Nvbm5lY3Rpb246NDIxLGxpdmVDcmVhdGlvblBsYXlhYmxlc01ldHJpY3M6NTMzLGxpdmVDcmVhdGlvblN0cmVhbVdlYnJ0Y1N0YXRzOjI4OCxsaXZlQ3JlYXRpb25XZWJydGNFcnJvcjo1MjYsbWR4U2Vzc2lvblJlY292ZXJ5U3RhcnRlZDo2OSwKbWR4U2Vzc2lvblJlY292ZXJ5Q29tcGxldGVkOjcwLG1keFNlc3Npb25SZWNvdmVyeVN0b3BwZWQ6NzEsdmlzdWFsRWxlbWVudFNob3duOjcyLHZpc3VhbEVsZW1lbnRIaWRkZW46NzMsdmlzdWFsRWxlbWVudEdlc3R1cmVkOjc4LHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQ6MjA4LHNjcmVlbkNyZWF0ZWQ6MTU2LHBsYXliYWNrQXNzb2NpYXRlZDoyMDIsdmlzdWFsRWxlbWVudEF0dGFjaGVkOjIxNSxwbGF5YmFja0NvbnRleHRFdmVudDoyMTQsY2xvdWRDYXN0aW5nUGxheWJhY2tTdGFydGVkOjc0LHdlYlBsYXllckFwaUNhbGxlZDo3Nix0dmh0bWw1QWNjb3VudERpYWxvZ09wZW5lZDo3OSxmb3JlZ3JvdW5kSGVhcnRiZWF0OjgwLGZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkOjExMSxraWRzT2ZmbGluZVNuYXBzaG90OjgxLG1keEVuY3J5cHRpb25TZXNzaW9uU3RhdHNGaW5pc2hlZDo4MixwbGF5ZXJSZXF1ZXN0Q29tcGxldGVkOjgzLGxpdGVTY2hlZHVsZXJTdGF0aXN0aWNzOjg0LAptZHhTaWduSW46ODUsc3BhY2VjYXN0TWV0YWRhdGFMb29rdXBSZXF1ZXN0ZWQ6ODYsc3BhY2VjYXN0QmF0Y2hMb29rdXBSZXF1ZXN0ZWQ6ODcsc3BhY2VjYXN0U3VtbWFyeVJlcXVlc3RlZDo4OCxzcGFjZWNhc3RQbGF5YmFjazo4OSxzcGFjZWNhc3REaXNjb3Zlcnk6OTAsdHZodG1sNUxhdW5jaFVybENvbXBvbmVudENoYW5nZWQ6OTEsbWR4QmFja2dyb3VuZFBsYXliYWNrUmVxdWVzdENvbXBsZXRlZDo5MixtZHhCcm9rZW5BZGRpdGlvbmFsRGF0YURldmljZURldGVjdGVkOjkzLHR2aHRtbDVMb2NhbFN0b3JhZ2U6OTcsdHZodG1sNURldmljZVN0b3JhZ2VTdGF0dXM6MTQ3LGF1dG9DYXB0aW9uc0F2YWlsYWJsZTo5OSxwbGF5YmFja1NjcnViYmluZ0V2ZW50OjMzOSxmbGV4eVN0YXRlOjEwMCxpbnRlcmZhY2VPcmllbnRhdGlvbkNhcHR1cmVkOjEwMSxtYWluQXBwQnJvd3NlRnJhZ21lbnRDYWNoZToxMDIsb2ZmbGluZUNhY2hlVmVyaWZpY2F0aW9uRmFpbHVyZToxMDMsb2ZmbGluZVBsYXliYWNrRXhjZXB0aW9uRGlnZXN0OjIxNywKdnJDb3ByZXNlbmNlU3RhdHM6MTA0LHZyQ29wcmVzZW5jZVN5bmNTdGF0czoxMzAsdnJDb3ByZXNlbmNlQ29tbXNTdGF0czoxMzcsdnJDb3ByZXNlbmNlUGFydHlTdGF0czoxNTMsdnJDb3ByZXNlbmNlRW1vamlTdGF0czoyMTMsdnJDb3ByZXNlbmNlRXZlbnQ6MTQxLHZyQ29wcmVzZW5jZUZsb3dUcmFuc2l0RXZlbnQ6MTYwLHZyQ293YXRjaFBhcnR5RXZlbnQ6NDkyLHZyQ293YXRjaFVzZXJTdGFydE9ySm9pbkV2ZW50OjUwNCx2clBsYXliYWNrRXZlbnQ6MzQ1LGtpZHNBZ2VHYXRlVHJhY2tpbmc6MTA1LG9mZmxpbmVEZWxheUFsbG93ZWRUcmFja2luZzoxMDYsbWFpbkFwcEF1dG9PZmZsaW5lU3RhdGU6MTA3LHZpZGVvQXNUaHVtYm5haWxEb3dubG9hZDoxMDgsdmlkZW9Bc1RodW1ibmFpbFBsYXliYWNrOjEwOSxsaXRlU2hvd01vcmU6MTEwLHJlbmRlcmluZ0Vycm9yOjExOCxraWRzUHJvZmlsZVBpbkdhdGVUcmFja2luZzoxMTksYWJyVHJhamVjdG9yeToxMjQsc2Nyb2xsRXZlbnQ6MTI1LApzdHJlYW16SW5jcmVtZW50ZWQ6MTI2LGtpZHNQcm9maWxlU3dpdGNoZXJUcmFja2luZzoxMjcsa2lkc1Byb2ZpbGVDcmVhdGlvblRyYWNraW5nOjEyOSxidXlGbG93U3RhcnRlZDoxMzYsaW50ZWdyYXRpb25BdHRyaWJ1dGlvbkV2ZW50OjU1NixtYnNDb25uZWN0aW9uSW5pdGlhdGVkOjEzOCxtYnNQbGF5YmFja0luaXRpYXRlZDoxMzksbWJzTG9hZENoaWxkcmVuOjE0MCxsaXRlUHJvZmlsZUZldGNoZXI6MTQ0LG1keFJlbW90ZVRyYW5zYWN0aW9uOjE0NixyZWVsUGxheWJhY2tFcnJvcjoxNDgscmVhY2hhYmlsaXR5RGV0ZWN0aW9uRXZlbnQ6MTUwLG1vYmlsZVBsYXliYWNrRXZlbnQ6MTUxLGNvdXJ0c2lkZVBsYXllclN0YXRlQ2hhbmdlZDoxNTIsbXVzaWNQZXJzaXN0ZW50Q2FjaGVDaGVja2VkOjE1NCxtdXNpY1BlcnNpc3RlbnRDYWNoZUNsZWFyZWQ6MTU1LHBsYXliYWNrSW50ZXJydXB0ZWQ6MTU3LHBsYXliYWNrSW50ZXJydXB0aW9uUmVzb2x2ZWQ6MTU4LGZpeEZvcEZsb3c6MTU5LAphbnJEZXRlY3Rpb246MTYxLGJhY2tzdGFnZVBvc3RDcmVhdGlvbkZsb3dFbmRlZDoxNjIsY2xpZW50RXJyb3I6MTYzLGdhbWluZ0FjY291bnRMaW5rU3RhdHVzQ2hhbmdlZDoxNjQsbGl0ZUhvdXNld2FybWluZzoxNjUsYnV5Rmxvd0V2ZW50OjE2NyxraWRzUGFyZW50YWxHYXRlVHJhY2tpbmc6MTY4LGtpZHNTaWduZWRPdXRTZXR0aW5nc1N0YXR1czo0Mzcsa2lkc1NpZ25lZE91dFBhdXNlSGlzdG9yeUZpeFN0YXR1czo0MzgsdHZodG1sNVdhdGNoZG9nVmlvbGF0aW9uOjQ0NCx5cGNVcGdyYWRlRmxvdzoxNjkseW9uZ2xlU3R1ZHk6MTcwLHlwY1VwZGF0ZUZsb3dTdGFydGVkOjE3MSx5cGNVcGRhdGVGbG93Q2FuY2VsbGVkOjE3Mix5cGNVcGRhdGVGbG93U3VjY2VlZGVkOjE3Myx5cGNVcGRhdGVGbG93RmFpbGVkOjE3NCxsaXRlR3Jvd3Roa2l0UHJvbW86MTc1LHBheW1lbnRGbG93U3RhcnRlZDozNDEsdHJhbnNhY3Rpb25GbG93U2hvd1BheW1lbnREaWFsb2c6NDA1LHRyYW5zYWN0aW9uRmxvd1N0YXJ0ZWQ6MTc2LAp0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdGFydGVkOjIyMix0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTaWduZWRPdXRTdGFydGVkOjM4Myx0cmFuc2FjdGlvbkZsb3dDYW5jZWxsZWQ6MTc3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRDYWxsQmFja1JlY2VpdmVkOjM4Nyx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VibWl0dGVkOjQ2MCx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VjY2VlZGVkOjMyOSx0cmFuc2FjdGlvbkZsb3dTdWNjZWVkZWQ6MTc4LHRyYW5zYWN0aW9uRmxvd0ZhaWxlZDoxNzksdHJhbnNhY3Rpb25GbG93UGxheUJpbGxpbmdDb25uZWN0aW9uU3RhcnRFdmVudDo0MjgsdHJhbnNhY3Rpb25GbG93U2Vjb25kYXJ5RGV2aWNlU3VjY2Vzczo0NTgsdHJhbnNhY3Rpb25GbG93RXJyb3JFdmVudDo0MTEsbGl0ZVZpZGVvUXVhbGl0eUNoYW5nZWQ6MTgwLHdhdGNoQnJlYWtFbmFibGVtZW50U2V0dGluZ0V2ZW50OjE4MSx3YXRjaEJyZWFrRnJlcXVlbmN5U2V0dGluZ0V2ZW50OjE4MiwKdmlkZW9FZmZlY3RzQ2FtZXJhUGVyZm9ybWFuY2VNZXRyaWNzOjE4MyxhZE5vdGlmeToxODQsc3RhcnR1cFRlbGVtZXRyeToxODUscGxheWJhY2tPZmZsaW5lRmFsbGJhY2tVc2VkOjE4NixvdXRPZk1lbW9yeToxODcseXBjUGF1c2VGbG93U3RhcnRlZDoxODgseXBjUGF1c2VGbG93Q2FuY2VsbGVkOjE4OSx5cGNQYXVzZUZsb3dTdWNjZWVkZWQ6MTkwLHlwY1BhdXNlRmxvd0ZhaWxlZDoxOTEsdXBsb2FkRmlsZVNlbGVjdGVkOjE5Mix5cGNSZXN1bWVGbG93U3RhcnRlZDoxOTMseXBjUmVzdW1lRmxvd0NhbmNlbGxlZDoxOTQseXBjUmVzdW1lRmxvd1N1Y2NlZWRlZDoxOTUseXBjUmVzdW1lRmxvd0ZhaWxlZDoxOTYsYWRzQ2xpZW50U3RhdGVDaGFuZ2U6MTk3LHlwY0NhbmNlbEZsb3dTdGFydGVkOjE5OCx5cGNDYW5jZWxGbG93Q2FuY2VsbGVkOjE5OSx5cGNDYW5jZWxGbG93U3VjY2VlZGVkOjIwMCx5cGNDYW5jZWxGbG93RmFpbGVkOjIwMSx5cGNDYW5jZWxGbG93R29Ub1BheW1lbnRQcm9jZXNzb3I6NDAyLAp5cGNEZWFjdGl2YXRlRmxvd1N0YXJ0ZWQ6MzIwLHlwY1JlZGVlbUZsb3dTdGFydGVkOjIwMyx5cGNSZWRlZW1GbG93Q2FuY2VsbGVkOjIwNCx5cGNSZWRlZW1GbG93U3VjY2VlZGVkOjIwNSx5cGNSZWRlZW1GbG93RmFpbGVkOjIwNix5cGNGYW1pbHlDcmVhdGVGbG93U3RhcnRlZDoyNTgseXBjRmFtaWx5Q3JlYXRlRmxvd0NhbmNlbGxlZDoyNTkseXBjRmFtaWx5Q3JlYXRlRmxvd1N1Y2NlZWRlZDoyNjAseXBjRmFtaWx5Q3JlYXRlRmxvd0ZhaWxlZDoyNjEseXBjRmFtaWx5TWFuYWdlRmxvd1N0YXJ0ZWQ6MjYyLHlwY0ZhbWlseU1hbmFnZUZsb3dDYW5jZWxsZWQ6MjYzLHlwY0ZhbWlseU1hbmFnZUZsb3dTdWNjZWVkZWQ6MjY0LHlwY0ZhbWlseU1hbmFnZUZsb3dGYWlsZWQ6MjY1LHJlc3RvcmVDb250ZXh0RXZlbnQ6MjA3LGVtYmVkc0FkRXZlbnQ6MzI3LGF1dG9wbGF5VHJpZ2dlcmVkOjIwOSxjbGllbnREYXRhRXJyb3JFdmVudDoyMTAsZXhwZXJpbWVudGFsVnNzVmFsaWRhdGlvbjoyMTEsCnR2aHRtbDVUcmlnZ2VyZWRFdmVudDoyMTIsdHZodG1sNUZyYW1ld29ya3NGaWVsZFRyaWFsUmVzdWx0OjIxNix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxTdGFydDoyMjAsbXVzaWNPZmZsaW5lUHJlZmVyZW5jZXM6MjE4LHdhdGNoVGltZVNlZ21lbnQ6MjE5LGFwcFdpZHRoTGF5b3V0RXJyb3I6MjIxLGFjY291bnRSZWdpc3RyeUNoYW5nZToyMjYsdXNlck1lbnRpb25BdXRvQ29tcGxldGVCb3hFdmVudDoyMjcsZG93bmxvYWRSZWNvbW1lbmRhdGlvbkVuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MjI4LG11c2ljUGxheWJhY2tDb250ZW50TW9kZUNoYW5nZUV2ZW50OjIzMSxvZmZsaW5lRGJPcGVuQ29tcGxldGVkOjIzMixraWRzRmxvd0V2ZW50OjIzMyxraWRzRmxvd0NvcnB1c1NlbGVjdGVkRXZlbnQ6MjM0LHZpZGVvRWZmZWN0c0V2ZW50OjIzNSx1bnBsdWdnZWRPcHNFb2dBbmFseXRpY3NFdmVudDoyMzYscGxheWJhY2tBdWRpb1JvdXRlRXZlbnQ6MjM3LGludGVyYWN0aW9uTG9nZ2luZ0RlYnVnTW9kZUVycm9yOjIzOCwKb2ZmbGluZVl0YlJlZnJlc2hlZDoyMzksa2lkc0Zsb3dFcnJvcjoyNDAsbXVzaWNBdXRvcGxheU9uTGF1bmNoQXR0ZW1wdGVkOjI0MixkZXZpY2VDb250ZXh0QWN0aXZpdHlFdmVudDoyNDMsZGV2aWNlQ29udGV4dEV2ZW50OjI0NCx0ZW1wbGF0ZVJlc29sdXRpb25FeGNlcHRpb246MjQ1LG11c2ljU2lkZWxvYWRlZFBsYXlsaXN0U2VydmljZUNhbGxlZDoyNDYsZW1iZWRzU3RvcmFnZUFjY2Vzc05vdENoZWNrZWQ6MjQ3LGVtYmVkc0hhc1N0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjQ4LGVtYmVkc0l0cFBsYXllZE9uUmVsb2FkOjI0OSxlbWJlZHNSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTAsZW1iZWRzU2hvdWxkUmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjUxLGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzU3RhdGU6MjU2LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzRmFpbGVkU3RhdGU6MjU3LGVtYmVkc0l0cFdhdGNoTGF0ZXJSZXN1bHQ6MjY2LHNlYXJjaFN1Z2dlc3REZWNvZGluZ1BheWxvYWRGYWlsdXJlOjI1MiwKc2lyaVNob3J0Y3V0QWN0aXZhdGVkOjI1Myx0dmh0bWw1S2V5Ym9hcmRQZXJmb3JtYW5jZToyNTQsbGF0ZW5jeUFjdGlvblNwYW46MjU1LGVsZW1lbnRzTG9nOjI2Nyx5dGJGaWxlT3BlbmVkOjI2OCx0ZmxpdGVNb2RlbEVycm9yOjI2OSxhcGlUZXN0OjI3MCx5b25nbGVVc2JTZXR1cDoyNzEsdG91U3RyaWtlSW50ZXJzdGl0aWFsRXZlbnQ6MjcyLGxpdGVTdHJlYW1Ub1NhdmU6Mjc0LGFwcEJ1bmRsZUNsaWVudEV2ZW50OjI3NSx5dGJGaWxlQ3JlYXRpb25GYWlsZWQ6Mjc2LGFkTm90aWZ5RmFpbHVyZToyNzgseXRiVHJhbnNmZXJGYWlsZWQ6MjgwLGJsb2NraW5nUmVxdWVzdEZhaWxlZDoyODEsbGl0ZUFjY291bnRTZWxlY3RvcjoyODIsbGl0ZUFjY291bnRVaUNhbGxiYWNrczoyODMsZHVtbXlQYXlsb2FkOjI4NCxicm93c2VSZXNwb25zZVZhbGlkYXRpb25FdmVudDoyODUsZW50aXRpZXNFcnJvcjoyODYsbXVzaWNJb3NCYWNrZ3JvdW5kRmV0Y2g6Mjg3LG1keE5vdGlmaWNhdGlvbkV2ZW50OjI4OSwKbGF5ZXJzVmFsaWRhdGlvbkVycm9yOjI5MCxtdXNpY1B3YUluc3RhbGxlZDoyOTEsbGl0ZUFjY291bnRDbGVhbnVwOjI5MixodG1sNVBsYXllckhlYWx0aEV2ZW50OjI5Myx3YXRjaFJlc3RvcmVBdHRlbXB0OjI5NCxsaXRlQWNjb3VudFNpZ25JbjoyOTYsbm90YWlyZUV2ZW50OjI5OCxraWRzVm9pY2VTZWFyY2hFdmVudDoyOTksYWROb3RpZnlGaWxsZWQ6MzAwLGRlbGF5ZWRFdmVudERyb3BwZWQ6MzAxLGFuYWx5dGljc1NlYXJjaEV2ZW50OjMwMixzeXN0ZW1EYXJrVGhlbWVPcHRPdXRFdmVudDozMDMsZmxvd0V2ZW50OjMwNCxuZXR3b3JrQ29ubmVjdGl2aXR5QmFzZWxpbmVFdmVudDozMDUseXRiRmlsZUltcG9ydGVkOjMwNixkb3dubG9hZFN0cmVhbVVybEV4cGlyZWQ6MzA3LGRpcmVjdFNpZ25JbkV2ZW50OjMwOCxseXJpY0ltcHJlc3Npb25FdmVudDozMDksYWNjZXNzaWJpbGl0eVN0YXRlRXZlbnQ6MzEwLHRva2VuUmVmcmVzaEV2ZW50OjMxMSxnZW5lcmljQXR0ZXN0YXRpb25FeGVjdXRpb246MzEyLAp0dmh0bWw1VmlkZW9TZWVrOjMxMyx1bnBsdWdnZWRBdXRvUGF1c2U6MzE0LHNjcnViYmluZ0V2ZW50OjMxNSxiZWR0aW1lUmVtaW5kZXJFdmVudDozMTcsdHZodG1sNVVuZXhwZWN0ZWRSZXN0YXJ0OjMxOSx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXRzOjUzNSx0dmh0bWw1U3RhYmlsaXR5VHJhY2VFdmVudDo0NzgsdHZodG1sNU9wZXJhdGlvbkhlYWx0aDo0NjcsdHZodG1sNVdhdGNoS2V5RXZlbnQ6MzIxLHZvaWNlTGFuZ3VhZ2VDaGFuZ2VkOjMyMix0dmh0bWw1TGl2ZUNoYXRTdGF0dXM6MzIzLHBhcmVudFRvb2xzQ29ycHVzU2VsZWN0ZWRFdmVudDozMjQsb2ZmZXJBZHNFbnJvbGxtZW50SW5pdGlhdGVkOjMyNSxuZXR3b3JrUXVhbGl0eUludGVydmFsRXZlbnQ6MzI2LGRldmljZVN0YXJ0dXBNZXRyaWNzOjMyOCxoZWFydGJlYXRBY3Rpb25QbGF5ZXJUcmFuc2l0aW9uZWQ6MzMwLHR2aHRtbDVMaWZlY3ljbGU6MzMxLGhlYXJ0YmVhdEFjdGlvblBsYXllckhhbHRlZDozMzIsYWRhcHRpdmVJbmxpbmVNdXRlZFNldHRpbmdFdmVudDozMzMsCm1haW5BcHBMaWJyYXJ5TG9hZGluZ1N0YXRlOjMzNCx0aGlyZFBhcnR5TG9nTW9uaXRvcmluZ0V2ZW50OjMzNixhcHBTaGVsbEFzc2V0TG9hZFJlcG9ydDozMzcsdHZodG1sNUFuZHJvaWRBdHRlc3RhdGlvbjozMzgsdHZodG1sNVN0YXJ0dXBTb3VuZEV2ZW50OjM0MCxpb3NCYWNrZ3JvdW5kUmVmcmVzaFRhc2s6MzQyLGlvc0JhY2tncm91bmRQcm9jZXNzaW5nVGFzazozNDMsc2xpRXZlbnRCYXRjaDozNDQscG9zdEltcHJlc3Npb25FdmVudDozNDYsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RFeHBvcnQ6MzQ3LGlkYlVuZXhwZWN0ZWRseUNsb3NlZDozNDgsdm9pY2VTZWFyY2hFdmVudDozNDksbWR4U2Vzc2lvbkNhc3RFdmVudDozNTAsaWRiUXVvdGFFeGNlZWRlZDozNTEsaWRiVHJhbnNhY3Rpb25FbmRlZDozNTIsaWRiVHJhbnNhY3Rpb25BYm9ydGVkOjM1Myx0dmh0bWw1S2V5Ym9hcmRMb2dnaW5nOjM1NCxpZGJJc1N1cHBvcnRlZENvbXBsZXRlZDozNTUsY3JlYXRvclN0dWRpb01vYmlsZUV2ZW50OjM1NiwKaWRiRGF0YUNvcnJ1cHRlZDozNTcscGFyZW50VG9vbHNBcHBDaG9zZW5FdmVudDozNTgsd2ViVmlld0JvdHRvbVNoZWV0UmVzaXplZDozNTksYWN0aXZlU3RhdGVDb250cm9sbGVyU2Nyb2xsUGVyZm9ybWFuY2VTdW1tYXJ5OjM2MCxuYXZpZ2F0b3JWYWxpZGF0aW9uOjM2MSxtZHhTZXNzaW9uSGVhcnRiZWF0OjM2MixjbGllbnRIaW50c1BvbHlmaWxsRGlhZ25vc3RpY3M6MzYzLGNsaWVudEhpbnRzUG9seWZpbGxFdmVudDozNjQscHJvb2ZPZk9yaWdpblRva2VuRXJyb3I6MzY1LGtpZHNBZGRlZEFjY291bnRTdW1tYXJ5OjM2NixtdXNpY1dlYXJhYmxlRGV2aWNlOjM2Nyx5cGNSZWZ1bmRGbG93RXZlbnQ6MzY4LHR2aHRtbDVQbGF5YmFja01lYXN1cmVtZW50RXZlbnQ6MzY5LHR2aHRtbDVXYXRlcm1hcmtNZWFzdXJlbWVudEV2ZW50OjM3MCxjbGllbnRFeHBHY2ZQcm9wYWdhdGlvbkV2ZW50OjM3MSxtYWluQXBwUmVmZXJyZXJJbnRlbnQ6MzcyLGxlYWRlckxvY2tFbmRlZDozNzMsbGVhZGVyTG9ja0FjcXVpcmVkOjM3NCwKZ29vZ2xlSGF0c0V2ZW50OjM3NSxwZXJzaXN0ZW50TGVuc0xhdW5jaEV2ZW50OjM3NixwYXJlbnRUb29sc0NoaWxkV2VsY29tZUNob3NlbkV2ZW50OjM3OCxicm93c2VUaHVtYm5haWxQcmVsb2FkRXZlbnQ6Mzc5LGZpbmFsUGF5bG9hZDozODAsbWR4RGlhbEFkZGl0aW9uYWxEYXRhVXBkYXRlRXZlbnQ6MzgxLHdlYk9yY2hlc3RyYXRpb25UYXNrTGlmZWN5Y2xlUmVjb3JkOjM4MixzdGFydHVwU2lnbmFsRXZlbnQ6Mzg0LGFjY291bnRFcnJvcjozODUsZ21zRGV2aWNlQ2hlY2tFdmVudDozODYsYWNjb3VudFNlbGVjdG9yRXZlbnQ6Mzg4LGFjY291bnRVaUNhbGxiYWNrczozODksbWR4RGlhbEFkZGl0aW9uYWxEYXRhUHJvYmVFdmVudDozOTAsZG93bmxvYWRzU2VhcmNoSWNpbmdBcGlTdGF0czozOTEsZG93bmxvYWRzU2VhcmNoSW5kZXhVcGRhdGVkRXZlbnQ6Mzk3LGRvd25sb2Fkc1NlYXJjaEluZGV4U25hcHNob3Q6Mzk4LGRhdGFQdXNoQ2xpZW50RXZlbnQ6MzkyLGtpZHNDYXRlZ29yeVNlbGVjdGVkRXZlbnQ6MzkzLAptZHhEZXZpY2VNYW5hZ2VtZW50U25hcHNob3RFdmVudDozOTQscHJlZmV0Y2hSZXF1ZXN0ZWQ6Mzk1LHByZWZldGNoYWJsZUNvbW1hbmRFeGVjdXRlZDozOTYsZ2VsRGVidWdnaW5nRXZlbnQ6Mzk5LHdlYkxpbmtUdHNQbGF5RW5kOjQwMCxjbGlwVmlld0ludmFsaWQ6NDAxLHBlcnNpc3RlbnRTdG9yYWdlU3RhdGVDaGVja2VkOjQwMyxjYWNoZVdpcGVvdXRFdmVudDo0MDQscGxheWVyRXZlbnQ6NDEwLHNmdkVmZmVjdFBpcGVsaW5lU3RhcnRlZEV2ZW50OjQxMixzZnZFZmZlY3RQaXBlbGluZVBhdXNlZEV2ZW50OjQyOSxzZnZFZmZlY3RQaXBlbGluZUVuZGVkRXZlbnQ6NDEzLHNmdkVmZmVjdENob3NlbkV2ZW50OjQxNCxzZnZFZmZlY3RMb2FkZWRFdmVudDo0MTUsc2Z2RWZmZWN0VXNlckludGVyYWN0aW9uRXZlbnQ6NDY1LHNmdkVmZmVjdEZpcnN0RnJhbWVQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE2LHNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE3LApzZnZFZmZlY3RBZ2dyZWdhdGVkRnJhbWVzRHJvcHBlZEV2ZW50OjQxOCxzZnZFZmZlY3RQaXBlbGluZUVycm9yRXZlbnQ6NDMwLHNmdkVmZmVjdEdyYXBoRnJvemVuRXZlbnQ6NDE5LHNmdkVmZmVjdEdsVGhyZWFkQmxvY2tlZEV2ZW50OjQyMCxtZGVRb3NFdmVudDo1MTAsbWRlVmlkZW9DaGFuZ2VkRXZlbnQ6NDQyLG1kZVBsYXllclBlcmZvcm1hbmNlTWV0cmljczo0NzIsbWRlRXhwb3J0ZXJFdmVudDo0OTcsZ2VuZXJpY0NsaWVudEV4cGVyaW1lbnRFdmVudDo0MjMsaG9tZVByZWxvYWRUYXNrU2NoZWR1bGVkOjQyNCxob21lUHJlbG9hZFRhc2tFeGVjdXRlZDo0MjUsaG9tZVByZWxvYWRDYWNoZUhpdDo0MjYscG9seW1lclByb3BlcnR5Q2hhbmdlZEluT2JzZXJ2ZXI6NDI3LGFwcGxpY2F0aW9uU3RhcnRlZDo0MzEsbmV0d29ya0Nyb25ldFJ0dEJhdGNoOjQzMixuZXR3b3JrQ3JvbmV0UnR0U3VtbWFyeTo0MzMscmVwZWF0Q2hhcHRlckxvb3BFdmVudDo0MzYsc2Vla0NhbmNlbGxhdGlvbkV2ZW50OjQ2MiwKbG9ja01vZGVUaW1lb3V0RXZlbnQ6NDgzLGV4dGVybmFsVmlkZW9TaGFyZVRvWW91dHViZUF0dGVtcHQ6NTAxLHBhcmVudENvZGVFdmVudDo1MDIsb2ZmbGluZVRyYW5zZmVyU3RhcnRlZDo0LG11c2ljT2ZmbGluZU1peHRhcGVQcmVmZXJlbmNlc0NoYW5nZWQ6MTYsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkF0dGVtcHQ6NDAsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkVycm9yOjc3LGR0d3NQbGF5YmFja1N0YXJ0ZWQ6MTEyLGR0d3NUaWxlRmV0Y2hTdGFydGVkOjExMyxkdHdzVGlsZUZldGNoQ29tcGxldGVkOjExNCxkdHdzVGlsZUZldGNoU3RhdHVzQ2hhbmdlZDoxNDUsZHR3c0tleWZyYW1lRGVjb2RlckJ1ZmZlclNlbnQ6MTE1LGR0d3NUaWxlVW5kZXJmbG93ZWRPbk5vbmtleWZyYW1lOjExNixkdHdzQmFja2ZpbGxGZXRjaFN0YXR1c0NoYW5nZWQ6MTQzLGR0d3NCYWNrZmlsbFVuZGVyZmxvd2VkOjExNyxkdHdzQWRhcHRpdmVMZXZlbENoYW5nZWQ6MTI4LApibG9ja2luZ1Zpc2l0b3JJZFRpbWVvdXQ6Mjc3LGxpdGVTb2NpYWw6MTgsbW9iaWxlSnNJbnZvY2F0aW9uOjI5NyxiaXNjb3R0aUJhc2VkRGV0ZWN0aW9uOjQzOSxjb1dhdGNoU3RhdGVDaGFuZ2U6NDQwLGVtYmVkc1ZpZGVvRGF0YURpZENoYW5nZTo0NDEsc2hvcnRzRmlyc3Q6NDQzLGNydWlzZUNvbnRyb2xFdmVudDo0NDUscW9lQ2xpZW50TG9nZ2luZ0NvbnRleHQ6NDQ2LGF0dlJlY29tbWVuZGF0aW9uSm9iRXhlY3V0ZWQ6NDQ3LHR2aHRtbDVVc2VyRmVlZGJhY2s6NDQ4LHByb2R1Y2VyUHJvamVjdENyZWF0ZWQ6NDQ5LHByb2R1Y2VyUHJvamVjdE9wZW5lZDo0NTAscHJvZHVjZXJQcm9qZWN0RGVsZXRlZDo0NTEscHJvZHVjZXJQcm9qZWN0RWxlbWVudEFkZGVkOjQ1Myxwcm9kdWNlclByb2plY3RFbGVtZW50UmVtb3ZlZDo0NTQscHJvZHVjZXJBcHBTdGF0ZUNoYW5nZTo1MDkscHJvZHVjZXJQcm9qZWN0RGlza0luc3VmZmljaWVudEV4cG9ydEZhaWx1cmU6NTE2LHByb2R1Y2VyTWVkaWFTZXJ2aWNlc1Jlc2V0RGV0YWlsczo1MjIsCnR2aHRtbDVTaG93Q2xvY2tFdmVudDo0NTUsZGV2aWNlQ2FwYWJpbGl0eUNoZWNrTWV0cmljczo0NTYseW91dHViZUNsZWFyY3V0RXZlbnQ6NDYxLG9mZmxpbmVCcm93c2VGYWxsYmFja0V2ZW50OjQ2MyxnZXRDdHZUb2tlbkV2ZW50OjQ2NCxzdGFydHVwRHJvcHBlZEZyYW1lc1N1bW1hcnk6NDY2LHNjcmVlbnNob3RFdmVudDo0NjgsbWluaUFwcFBsYXlFdmVudDo0NjksZWxlbWVudHNEZWJ1Z0NvdW50ZXJzOjQ3MCxmb250TG9hZEV2ZW50OjQ3MSx3ZWJLaWxsc3dpdGNoUmVjZWl2ZWQ6NDczLHdlYktpbGxzd2l0Y2hFeGVjdXRlZDo0NzQsY2FtZXJhT3BlbkV2ZW50OjQ3NSxtYW51YWxTbW9vdGhuZXNzTWVhc3VyZW1lbnQ6NDc2LHR2aHRtbDVBcHBRdWFsaXR5RXZlbnQ6NDc3LHBvbHltZXJQcm9wZXJ0eUFjY2Vzc0V2ZW50OjQ3OSxtaW5pQXBwU2RrVXNhZ2U6NDgwLGNvYmFsdFRlbGVtZXRyeUV2ZW50OjQ4MSxjcm9zc0RldmljZVBsYXliYWNrOjQ4MixjaGFubmVsQ3JlYXRlZFdpdGhPYmFrZUltYWdlOjQ4NCwKY2hhbm5lbEVkaXRlZFdpdGhPYmFrZUltYWdlOjQ4NSxvZmZsaW5lRGVsZXRlRXZlbnQ6NDg2LGNyb3NzRGV2aWNlTm90aWZpY2F0aW9uVHJhbnNmZXI6NDg3LGFuZHJvaWRJbnRlbnRFdmVudDo0ODgsdW5wbHVnZ2VkQW1iaWVudEludGVybHVkZXNDb3VudGVyZmFjdHVhbEV2ZW50OjQ4OSxrZXlQbGF5c1BsYXliYWNrOjQ5MCxzaG9ydHNDcmVhdGlvbkZhbGxiYWNrRXZlbnQ6NDkzLHZzc0RhdGE6NDkxLGNhc3RNYXRjaDo0OTQsbWluaUFwcFBlcmZvcm1hbmNlTWV0cmljczo0OTUsdXNlckZlZWRiYWNrRXZlbnQ6NDk2LGtpZHNHdWVzdFNlc3Npb25NaXNtYXRjaDo0OTgsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RNaWdyYXRpb25FdmVudDo0OTksc2xlZXBUaW1lclNlc3Npb25GaW5pc2hFdmVudDo1MDAsd2F0Y2hFcFByb21vQ29uZmxpY3Q6NTAzLGlubmVydHViZVJlc3BvbnNlQ2FjaGVNZXRyaWNzOjUwNSxtaW5pQXBwQWRFdmVudDo1MDYsZGF0YVBsYW5VcHNlbGxFdmVudDo1MDcsCnByb2R1Y2VyUHJvamVjdFJlbmFtZWQ6NTA4LHByb2R1Y2VyTWVkaWFTZWxlY3Rpb25FdmVudDo1MTEsZW1iZWRzQXV0b3BsYXlTdGF0dXNDaGFuZ2VkOjUxMixyZW1vdGVDb25uZWN0RXZlbnQ6NTEzLGNvbm5lY3RlZFNlc3Npb25NaXNhdHRyaWJ1dGlvbkV2ZW50OjUxNCxwcm9kdWNlclByb2plY3RFbGVtZW50TW9kaWZpZWQ6NTE1LGFkc1NlZW5DbGllbnRMb2dnaW5nOjUxNyxwcm9kdWNlckV2ZW50OjUxOCx0dmh0bWw1Q2xlYW5TdGFydDo1MTksZGV2aWNlQWNjb3VudE1ldHJpY3NFdmVudDo1MjAsZGVycExvZ0V2ZW50OjUyMSxwbGF5YWJsZXNQb3J0YWxFdmVudDo1MjMsaXBWYWxpZGF0aW9uU3RhcnRlZDo1MjQsaXBWYWxpZGF0aW9uUmVjZWl2ZWQ6NTI1LHJlZWxzU2VxdWVuY2VNdXRhdGlvbkV2ZW50OjUyNyx3YXRjaFpvb21TdGF0ZUNoYW5nZTo1MjgsbWV0YWRhdGFFZGl0b3JFdmVudDo1Mjksa2lkc1ByaXNtYURlZXBsaW5rc0V2ZW50OjUzMCxjcmVhdGlvbk9yY2hlc3RyYXRpb25FdmVudDo1MzEsCmNvb3JkaW5hdGVkU2FtcGxpbmdUcmlnZ2VyZWQ6NTMyLHJlY2FwU2NyZWVuc2hvdEV2ZW50OjUzNCxtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVxdWVzdEV2ZW50OjUzNixtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVzcG9uc2VFdmVudDo1Mzcsc2Vzc2lvblJlcGxheUV2ZW50OjUzOCxzZXNzaW9uUmVwbGF5U3RhdHVzRXZlbnQ6NTM5LGxvZ2dpbmdSZWxpYWJpbGl0eVByb2JlOjU0MCxrZXlWYWx1ZVN0b3JlU3RhdHNFdmVudDo1NDEsZGV2aWNlTG9jYXRpb25QZXJtaXNzaW9uRXZlbnQ6NTQyLHJlbW90ZUNvbnRyb2xTdGFydGVkOjU0MyxyZW1vdGVDb250cm9sQ29tcGxldGVkOjU0NCxyZWVsc0Fkc0V2ZW50czo1NDUseXRsckxvYWRlclRlc3RIYXJuZXNzRXZlbnQ6NTQ3LGJpb21ldHJpY0F1dGhlbnRpY2F0aW9uRXZlbnQ6NTQ4LG1haW5BcHBMaWZlY3ljbGVFdmVudDo1NDksbXVzaWNEb3dubG9hZEJhY2tncm91bmRDb250aW51ZWRQcm9jZXNzaW5nVGFzazo1NTAsbXVzaWNNZXRhZGF0YU1pc21hdGNoRXZlbnQ6NTUxLApzY3JvbGxUb0NvbXBvbmVudENvbXBsZXRlZDo1NTIsZW50aXR5U3RvcmVUZWxlbWV0cnk6NTUzLHN0cmVhbWluZ0RhcmtMYXVuY2hFdmVudDo1NTQsY2hpbGRBY2NvdW50c0Rpc3BsYXlFdmVudDo1NTUsdHZmYXNQbGF5YmFja0NvbnRleHQ6NTU3LG1kZUMyUGFFdmVudDo1NTl9O3ZhciBoX3g9a08oIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtLYzp7U1dIZWFsdGhMb2c6e3Z4OjF9fSxzaGFyZWQ6ITAsdXBncmFkZToobixXKT0+e1coMSkmJkVSKFp5KG4sIlNXSGVhbHRoTG9nIix7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KSwic3dIZWFsdGhOZXdSZXF1ZXN0IixbImludGVyZmFjZSIsInRpbWVzdGFtcCJdKX0sCnZlcnNpb246MX0pO3ZhciBYaT17fSxYSHc9MDt2YXIgR1Q7dmFyIHJvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXA7dGhpcy5KPSExfXJlcXVlc3RDb21wbGV0ZShuLFcpe1cmJih0aGlzLko9ITApO249dGhpcy5yZW1vdmVQYXJhbXMobik7dGhpcy5OLmdldChuKXx8dGhpcy5OLnNldChuLFcpfWlzRW5kcG9pbnRDRlIobil7bj10aGlzLnJlbW92ZVBhcmFtcyhuKTtyZXR1cm4obj10aGlzLk4uZ2V0KG4pKT8hMTpuPT09ITEmJnRoaXMuSj8hMDpudWxsfXJlbW92ZVBhcmFtcyhuKXtyZXR1cm4gbi5zcGxpdCgiPyIpWzBdfX07cm8ucHJvdG90eXBlLnJlbW92ZVBhcmFtcz1yby5wcm90b3R5cGUucmVtb3ZlUGFyYW1zO3JvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSPXJvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSO3JvLnByb3RvdHlwZS5yZXF1ZXN0Q29tcGxldGU9cm8ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZTtyby5nZXRJbnN0YW5jZT1zYzt2YXIgTmI9Y2xhc3MgZXh0ZW5kcyBnLm9Xe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9ITE7dGhpcy5OPXMydygpO3RoaXMuTi5TXygibmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57aWYodGhpcy5KJiZnLmwoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIG49JFEoKS5nZXQoImVycm9ycyIsITApO2lmKG4pe2ZvcihsZXQgVyBpbiBuKWlmKG5bV10pe2xldCBEPW5ldyBnLlF4KFcsInNlbnQgdmlhIG9mZmxpbmVfZXJyb3JzIik7RC5uYW1lPW5bV10ubmFtZTtELnN0YWNrPW5bV10uc3RhY2s7RC5sZXZlbD1uW1ddLmxldmVsO090KEQpfSRRKCkuc2V0KCJlcnJvcnMiLHt9LDI1OTJFMywhMCl9fX0pfVdHKCl7cmV0dXJuIHRoaXMuTi5XRygpfWxjKG4pe3RoaXMuTi5pc09ubGluZT1ufUxrKCl7dmFyIG49d2luZG93Lm5hdmlnYXRvci5vbkxpbmU7CnJldHVybiBuPT09dm9pZCAwPyEwOm59REgoKXt0aGlzLko9ITB9U18obixXKXtyZXR1cm4gdGhpcy5OLlNfKG4sVyl9aEoobil7cmV0dXJuIHJYKHRoaXMuTixuKX19O05iLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1OYi5wcm90b3R5cGUuaEo7TmIucHJvdG90eXBlLmxpc3Rlbj1OYi5wcm90b3R5cGUuU187TmIucHJvdG90eXBlLmVuYWJsZUVycm9yRmx1c2hpbmc9TmIucHJvdG90eXBlLkRIO05iLnByb3RvdHlwZS5nZXRXaW5kb3dTdGF0dXM9TmIucHJvdG90eXBlLkxrO05iLnByb3RvdHlwZS5uZXR3b3JrU3RhdHVzSGludD1OYi5wcm90b3R5cGUubGM7TmIucHJvdG90eXBlLmlzTmV0d29ya0F2YWlsYWJsZT1OYi5wcm90b3R5cGUuV0c7TmIuZ2V0SW5zdGFuY2U9cG07dmFyIGI2Wj1jbGFzcyBleHRlbmRzIGcub1d7Y29uc3RydWN0b3IoKXt2YXIgbj17dTI6ITAsRW86ITB9O3N1cGVyKCk7dGhpcy5OPXRoaXMuWD0wO3RoaXMuSj1wbSgpO3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy5KKTtXJiYobi5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PW4ucmF0ZUxpbWl0LFcoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e1lRKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9PntZUSh0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihXKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVdHKCl7dmFyIG49CmcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpOwpyZXR1cm4gbj9uLmJpbmQodGhpcy5KKSgpOiEwfWxjKG4pe3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLm5ldHdvcmtTdGF0dXNIaW50IikuYmluZCh0aGlzLkopO1cmJlcobil9YXN5bmMgaEoobil7dmFyIFc9Zy5ycigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2Uuc2VuZE5ldHdvcmtDaGVja1JlcXVlc3QiKS5iaW5kKHRoaXMuSik7cmV0dXJuIGcubCgic2tpcF9uZXR3b3JrX2NoZWNrX2lmX2NmciIpJiZzYygpLmlzRW5kcG9pbnRDRlIoImdlbmVyYXRlXzIwNCIpP25ldyBQcm9taXNlKEQ9Pnt0aGlzLmxjKHdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZXx8ITApO0QodGhpcy5XRygpKX0pOlc/VyhuKTohMH19O3ZhciBTYyxHemg9Y2xhc3MgZXh0ZW5kcyBEejF7Y29uc3RydWN0b3IoKXtTY3x8KFNjPW5ldyBiNlopO3N1cGVyKHtnRTp7dGk6dnZpLFRNOmJHQyxpNDpudjIsSzY6V19DLGhZOkRFeCxzZXQ6YUJTfSx5RzpTYyxoYW5kbGVFcnJvcjoobixXLEQpPT57dmFyIGI9RD8uZXJyb3I/LmNvZGU7Yj09PTQwMHx8Yj09PTQxNT8obj1uZXcgZy5ReChuLm1lc3NhZ2UsVyxEPy5lcnJvcj8uY29kZSksWkUobix2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOk90KG4pfSwKRjI6WkUsTG06JEV0LG5vdzpnLlIsaEw6cUt3LEEkOmcuRHkoKSx1WjoicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsTkE6InB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIixDcjohMCxLcjouMSxIRjp2MCgicG90ZW50aWFsX2VzZl9lcnJvcl9saW1pdCIsMTApLEVxOmcubCxOaDohKFI5KCkmJmcuSVAoZG9jdW1lbnQubG9jYXRpb24udG9TdHJpbmcoKSkhPT0id3d3LnlvdXR1YmUtbm9jb29raWUuY29tIil9KTt0aGlzLmo9bmV3IGcuS1Y7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiZremkoKTt2eigiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKG4sVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKG4sVyl9c2VuZFRoZW5Xcml0ZShuLFcsRCl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKG4sVyxEKX1zZW5kQW5kV3JpdGUobiwKVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kQW5kV3JpdGUobixXKX1hd2FpdEluaXRpYWxpemF0aW9uKCl7cmV0dXJuIHRoaXMuai5wcm9taXNlfX07dmFyIEpJPWcucWkueXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnN8fHtpc053bEluaXRpYWxpemVkOiExfTtnLkdiKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsSkkpO2cuZDQ9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5jb25maWdfPW51bGw7bj90aGlzLmNvbmZpZ189bjpJNygpJiYodGhpcy5jb25maWdfPWcuUzkoKSl9aXNSZWFkeSgpeyF0aGlzLmNvbmZpZ18mJkk3KCkmJih0aGlzLmNvbmZpZ189Zy5TOSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciB2Z3c9Zy5xaS55dFB1YnN1YlB1YnN1Ykluc3RhbmNlfHxuZXcgQkssQUk9Zy5xaS55dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzfHx7fSxLbT1nLnFpLnl0UHVic3ViUHVic3ViVG9waWNUb0tleXN8fHt9LG1nPWcucWkueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtCSy5wcm90b3R5cGUuc3Vic2NyaWJlPUJLLnByb3RvdHlwZS5zdWJzY3JpYmU7QksucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9QksucHJvdG90eXBlLmpLO0JLLnByb3RvdHlwZS5wdWJsaXNoPUJLLnByb3RvdHlwZS5XSjtCSy5wcm90b3R5cGUuY2xlYXI9QksucHJvdG90eXBlLmNsZWFyO2cuR2IoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLHZndyk7Zy5HYigieXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5cyIsS20pO2cuR2IoInl0UHVic3ViUHVic3ViSXNTeW5jaHJvbm91cyIsbWcpO2cuR2IoInl0UHVic3ViUHVic3ViU3Vic2NyaWJlZEtleXMiLEFJKTt2YXIgb0k9e307Zy5peChnLkZpLGcuRk0pO2cuRT1nLkZpLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPzA6dGhpcy5ZJC5zdWJzY3JpYmUobixXLEQpfTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPyExOnRoaXMuWSQudW5zdWJzY3JpYmUobixXLEQpfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5qSyhuKX07CmcuRS5XSj1mdW5jdGlvbihuLFcpe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5XSi5hcHBseSh0aGlzLlkkLGFyZ3VtZW50cyl9OwpnLkUuaCQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnN1YnNjcmliZShELG5bRF0sVyl9OwpnLkUuTTk9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnVuc3Vic2NyaWJlKEQsbltEXSxXKX07dmFyIHdvPURhdGUubm93KCkudG9TdHJpbmcoKTt2YXIgYnk9e307Zy5MWD1TeW1ib2woImluamVjdGlvbkRlcHMiKTt2YXIga289Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5rZXk9bn19O3ZhciBwSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9bmV3IE1hcDt0aGlzLlc9bmV3IE1hcDt0aGlzLk49bmV3IE1hcH1yZXNvbHZlKG4pe3JldHVybiBuIGluc3RhbmNlb2Yga28/Z0UodGhpcyxuLmtleSxbXSwhMCk6Z0UodGhpcyxuLFtdKX19O2cuQUw9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5uYW1lPW59dG9TdHJpbmcoKXtyZXR1cm5gSW5qZWN0aW9uVG9rZW4oJHt0aGlzLm5hbWV9KWB9fTt2YXIgWDQ7dmFyIEdwPXdpbmRvdzt2YXIgZlg9Zy5sKCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIikmJnRwKCkhPT0wLEhHdD1nLmwoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKTt2YXIgQXZqPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc2NoZWR1bGVyPWcuRHkoKTt0aGlzLko9bmV3IGcuS1Y7dGhpcy5OPW47Zm9yKGxldCBXPTA7Vzx0aGlzLk4ubGVuZ3RoO1crKyl7bGV0IEQ9dGhpcy5OW1ddO249KCk9PntELkphKCk7dGhpcy5OW1ddLk1KPSEwO3RoaXMuTi5ldmVyeSh2PT52Lk1KPT09ITApJiZ0aGlzLkoucmVzb2x2ZSgpfTsKbGV0IGI9Zy5WeCgwLG4sRC5wcmlvcml0eT8/MCk7dGhpcy5OW1ddPXsuLi5ELEphOm4sam9iSWQ6Yn19fWNhbmNlbCgpe2ZvcihsZXQgbiBvZiB0aGlzLk4pbi5qb2JJZD09PXZvaWQgMHx8bi5NSnx8dGhpcy5zY2hlZHVsZXIuc08obi5qb2JJZCksbi5NSj0hMDt0aGlzLkoucmVzb2x2ZSgpfX07dmFyIGt4aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RhdGU9Im5vbmUiO3RoaXMucGx1Z2lucz1bXTt0aGlzLko9dm9pZCAwO3RoaXMuWD17fTtmWCYmJG8odGhpcy5zdGF0ZSl9Z2V0IGN1cnJlbnRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlfWluc3RhbGwobil7dGhpcy5wbHVnaW5zLnB1c2gobik7cmV0dXJuIHRoaXN9dW5pbnN0YWxsKC4uLm4pe24uZm9yRWFjaChXPT57Vz10aGlzLnBsdWdpbnMuaW5kZXhPZihXKTtXPi0xJiZ0aGlzLnBsdWdpbnMuc3BsaWNlKFcsMSl9KX10cmFuc2l0aW9uKG4sVyl7ZlgmJnJFKHRoaXMuc3RhdGUpOwp2YXIgRD10aGlzLnRyYW5zaXRpb25zLmZpbmQoYj0+QXJyYXkuaXNBcnJheShiLmZyb20pP2IuZnJvbS5maW5kKHY9PnY9PT10aGlzLnN0YXRlJiZiLnRvPT09bik6Yi5mcm9tPT09dGhpcy5zdGF0ZSYmYi50bz09PW4pOwppZihEKXt0aGlzLlcmJihZS2oodGhpcy5XKSx0aGlzLlc9dm9pZCAwKTtmUjIodGhpcyxuLFcpO3RoaXMuc3RhdGU9bjtmWCYmJG8odGhpcy5zdGF0ZSk7RD1ELmFjdGlvbi5iaW5kKHRoaXMpO2xldCBiPXRoaXMucGx1Z2lucy5maWx0ZXIodj0+dltuXSkubWFwKHY9PnZbbl0pOwpEKFNLQyh0aGlzLGIpLFcpfWVsc2UgdGhyb3cgRXJyb3IoYG5vIHRyYW5zaXRpb24gc3BlY2lmaWVkIGZyb20gJHt0aGlzLnN0YXRlfSB0byAke259YCk7fX07dmFyIG1Fdz1jbGFzcyBleHRlbmRzIGt4aHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5OPW51bGw7dGhpcy5KPTEwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJub25lIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOnRoaXMuan0se2Zyb206ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLHRvOiJub25lIixhY3Rpb246dGhpcy5WfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLGFjdGlvbjooKT0+e319LAp7ZnJvbToibm9uZSIsdG86Im5vbmUiLGFjdGlvbjooKT0+e319XX1qKG4sVyl7dGhpcy5OPWcuY0IoMCwoKT0+e3RoaXMuY3VycmVudFN0YXRlPT09ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciJiZ0aGlzLnRyYW5zaXRpb24oIm5vbmUiKX0sNUUzKTsKbihXPy5ldmVudCl9VihuLFcpe3RoaXMuTiYmKHRhLnNPKHRoaXMuTiksdGhpcy5OPW51bGwpO24oVz8uZXZlbnQpfX0sSnA7dmFyIFV5PVtdO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRHZWxQYXlsb2FkcyIsZnVuY3Rpb24oKXtyZXR1cm4gVXl9KTt2YXIgbTM9dm9pZCAwLFNaPXZvaWQgMDt2YXIgb2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0b3JlPXt9O3RoaXMuTj17fX1zdG9yZVBheWxvYWQobixXKXtuPU85KG4pO3RoaXMuc3RvcmVbbl0/dGhpcy5zdG9yZVtuXS5wdXNoKFcpOih0aGlzLk49e30sdGhpcy5zdG9yZVtuXT1bV10pO2cubCgibW9yZV9hY2N1cmF0ZV9nZWxfcGFyc2VyIikmJihXPW5ldyBDdXN0b21FdmVudCgiVFJBTlNQT1JUSU5HX05FV19FVkVOVCIpLHdpbmRvdy5kaXNwYXRjaEV2ZW50KFcpKTtyZXR1cm4gbn1zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7aWYoIW4ua2V5cy5sZW5ndGgpcmV0dXJuW107dmFyIFc9WkEodGhpcyxuLmtleXMuc3BsaWNlKDAsMSlbMF0pLEQ9W107Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspdGhpcy5zdG9yZVtXW2JdXSYmbi5zaXplTGltaXQmJih0aGlzLnN0b3JlW1dbYl1dLmxlbmd0aDw9bi5zaXplTGltaXQ/KEQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dKSxkZWxldGUgdGhpcy5zdG9yZVtXW2JdXSk6CkQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dLnNwbGljZSgwLG4uc2l6ZUxpbWl0KSkpO24/LnNpemVMaW1pdCYmRC5sZW5ndGg8bj8uc2l6ZUxpbWl0JiYobi5zaXplTGltaXQtPUQubGVuZ3RoLEQucHVzaCguLi50aGlzLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhuKSkpO3JldHVybiBEfWV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7bj1aQSh0aGlzLG4pO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXRoaXMuc3RvcmVbbltEXV0mJihXLnB1c2goLi4udGhpcy5zdG9yZVtuW0RdXSksZGVsZXRlIHRoaXMuc3RvcmVbbltEXV0pO3JldHVybiBXfWdldFNlcXVlbmNlQ291bnQobil7bj1aQSh0aGlzLG4pO3ZhciBXPTA7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspVys9dGhpcy5zdG9yZVtuW0RdXT8ubGVuZ3RofHwwO3JldHVybiBXfX07b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ9b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ7Cm9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzPW9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzO29iLnByb3RvdHlwZS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXM9b2IucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcztvYi5wcm90b3R5cGUuc3RvcmVQYXlsb2FkPW9iLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ7dmFyIHpfdD1uZXcgZy5BTCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSIpO3ZhciBVRXc9djAoImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiLDJFMyksWkdaPXYwKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCkseXZTPXYwKCJnZWxfbWluX2JhdGNoX3NpemUiLDUpLEU5PXZvaWQgMCx5Uj1udWxsLG1zPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPXRoaXMuSj10aGlzLlc9MDt0aGlzLk49ITF9fSxUZ2k9bmV3IG1zLGxSQz1uZXcgbXMsdDY9bmV3IG1zLEdVPW5ldyBtcyxXcywkQT0hMCxQcz0xLGx5PW5ldyBNYXAsZXk9Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZXkpO3ZhciBMVT1nLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc18iLExVKTt2YXIgUmI9e30senA9ITE7dmFyIGlSPWcucWkueXRMb2dnaW5nR2VsU2VxdWVuY2VJZE9ial98fHt9O2cuR2IoInl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpfIixpUik7dmFyIG0xPVtdO3ZhciBWNCxLaj1nLnFpLnl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfO0tqfHwoS2o9Zy5SSSgxNiksZy5HYigieXRMb2dnaW5nRG9jRG9jdW1lbnROb25jZV8iLEtqKSk7VjQ9S2o7dmFyIEZfVT17Qnc6MCxGNjoxLFdROjIsTjM6MyxxdDo0LFlTOjUsUWM6NixMTTo3LEk2Ojgsc0M6OSxaTToxMCxiUzoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07dmFyIGp6Wj0xLGxSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufWdldEFzSnNvbigpe3ZhciBuPXt9O3RoaXMuTi50cmFja2luZ1BhcmFtcyE9PXZvaWQgMD9uLnRyYWNraW5nUGFyYW1zPXRoaXMuTi50cmFja2luZ1BhcmFtczoobi52ZVR5cGU9dGhpcy5OLnZlVHlwZSx0aGlzLk4udmVDb3VudGVyIT09dm9pZCAwJiYobi52ZUNvdW50ZXI9dGhpcy5OLnZlQ291bnRlciksdGhpcy5OLmVsZW1lbnRJbmRleCE9PXZvaWQgMCYmKG4uZWxlbWVudEluZGV4PXRoaXMuTi5lbGVtZW50SW5kZXgpKTt0aGlzLk4uZGF0YUVsZW1lbnQhPT12b2lkIDAmJihuLmRhdGFFbGVtZW50PXRoaXMuTi5kYXRhRWxlbWVudC5nZXRBc0pzb24oKSk7dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYobi55b3V0dWJlRGF0YT10aGlzLk4ueW91dHViZURhdGEpO3RoaXMuTi5pc0NvdW50ZXJmYWN0dWFsJiYobi5pc0NvdW50ZXJmYWN0dWFsPSEwKTtyZXR1cm4gbn1nZXRBc0pzcGIoKXt2YXIgbj1uZXcgcVlTOwp0aGlzLk4udHJhY2tpbmdQYXJhbXMhPT12b2lkIDA/bi5zZXRUcmFja2luZ1BhcmFtcyh0aGlzLk4udHJhY2tpbmdQYXJhbXMpOih0aGlzLk4udmVUeXBlIT09dm9pZCAwJiZveihuLDIsZy55UCh0aGlzLk4udmVUeXBlKSksdGhpcy5OLnZlQ291bnRlciE9PXZvaWQgMCYmb3oobiw2LGcueVAodGhpcy5OLnZlQ291bnRlcikpLHRoaXMuTi5lbGVtZW50SW5kZXghPT12b2lkIDAmJm96KG4sMyxnLnlQKHRoaXMuTi5lbGVtZW50SW5kZXgpKSx0aGlzLk4uaXNDb3VudGVyZmFjdHVhbCYmb3oobiw1LE9fKCEwKSkpO2lmKHRoaXMuTi5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIFc9dGhpcy5OLmRhdGFFbGVtZW50LmdldEFzSnNwYigpOyQ5KG4scVlTLDcsVyl9dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYkOShuLGU0dyw4LHRoaXMuTi5qc3BiWW91dHViZURhdGEpO3JldHVybiBufXRvU3RyaW5nKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0QXNKc29uKCkpfWlzQ2xpZW50VmUoKXtyZXR1cm4hdGhpcy5OLnRyYWNraW5nUGFyYW1zJiYKISF0aGlzLk4udmVUeXBlfWdldExvZ2dpbmdEaXJlY3RpdmVzKCl7cmV0dXJuIHRoaXMuTi5sb2dnaW5nRGlyZWN0aXZlc319O2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLmdldFJvb3RWZVR5cGUiLEZSKTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdXJyZW50Q3NuIixnLlJ2KTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdHRBdXRoSW5mbyIsUTQpO2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLGNzKTt2YXIgUl9NPSJhYnNvbHV0ZV9leHBlcmltZW50cyBhcHAgY29uZGl0aW9uYWxfZXhwZXJpbWVudHMgZGVidWdjc3MgZGVidWdqcyBleHBmbGFnIGZvcmNlZF9leHBlcmltZW50cyBwYmogcGJqcmVsb2FkIHNiYiBzcGYgc3BmcmVsb2FkIHNyX2Juc19hZGRyZXNzIHN0dGljayIuc3BsaXQoIiAiKTt2YXIgayRiPVt7RzE6bj0+YENhbm5vdCByZWFkIHByb3BlcnR5ICcke24ua2V5fSdgLApZejp7RXJyb3I6W3t3YjovKFBlcm1pc3Npb24gZGVuaWVkKSB0byBhY2Nlc3MgcHJvcGVydHkgIihbXiddKykiLyxncm91cHM6WyJyZWFzb24iLCJrZXkiXX1dLFR5cGVFcnJvcjpbe3diOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3diOi9cdTY1ZTBcdTZjZDVcdTgzYjdcdTUzZDZcdTY3MmFcdTViOWFcdTRlNDlcdTYyMTYgKG51bGx8dW5kZWZpbmVkKSBcdTVmMTVcdTc1MjhcdTc2ODRcdTVjNWVcdTYwMjdcdTIwMWMoW15cdTIwMWRdKylcdTIwMWQvLGdyb3VwczpbInZhbHVlIiwia2V5Il19LHt3YjovXHVjODE1XHVjNzU4XHViNDE4XHVjOWMwIFx1YzU0YVx1Yzc0YyBcdWI2MTBcdWIyOTQgKG51bGx8dW5kZWZpbmVkKSBcdWNjMzhcdWM4NzBcdWM3NzggJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc0NCBcdWFjMDBcdWM4MzhcdWM2MmMgXHVjMjE4IFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7d2I6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHt3YjovVW5hYmxlIHRvIGdldCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKHVuZGVmaW5lZCBvciBudWxsKSByZWZlcmVuY2UvLGdyb3VwczpbImtleSIsInZhbHVlIl19LHt3YjovKG51bGwpIGlzIG5vdCBhbiBvYmplY3QgXChldmFsdWF0aW5nICcoPzooW14uXSspXC4pPyhbXiddKyknXCkvLGdyb3VwczpbInZhbHVlIiwiYmFzZSIsImtleSJdfV19fSx7RzE6bj0+YENhbm5vdCBjYWxsICcke24ua2V5fSdgLApZejp7VHlwZUVycm9yOlt7d2I6Lyg/OihbXiBdKyk/XC4pPyhbXiBdKykgaXMgbm90IGEgZnVuY3Rpb24vLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3diOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7d2I6L09iamVjdCAoLiopIGhhcyBubyBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJiYXNlIiwia2V5Il19LHt3YjovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3diOi9cdTMwYWFcdTMwZDZcdTMwYjhcdTMwYTdcdTMwYWZcdTMwYzhcdTMwNmYgJyhbXiddKyknIFx1MzBkN1x1MzBlZFx1MzBkMVx1MzBjNlx1MzBhM1x1MzA3ZVx1MzA1Zlx1MzA2Zlx1MzBlMVx1MzBiZFx1MzBjM1x1MzBjOVx1MzA5Mlx1MzBiNVx1MzBkZFx1MzBmY1x1MzBjOFx1MzA1N1x1MzA2Nlx1MzA0NFx1MzA3ZVx1MzA1Ylx1MzA5My8sZ3JvdXBzOlsia2V5Il19LAp7d2I6L1x1YWMxY1x1Y2NiNFx1YWMwMCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzc0XHViMDk4IFx1YmE1NFx1YzExY1x1YjRkY1x1Yjk3YyBcdWM5YzBcdWM2ZDBcdWQ1NThcdWM5YzAgXHVjNTRhXHVjMmI1XHViMmM4XHViMmU0Li8sZ3JvdXBzOlsia2V5Il19XX19LHtHMTpuPT5gJHtuLmtleX0gaXMgbm90IGRlZmluZWRgLApZejp7UmVmZXJlbmNlRXJyb3I6W3t3YjovKC4qKSBpcyBub3QgZGVmaW5lZC8sZ3JvdXBzOlsia2V5Il19LHt3YjovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgYVJTPXtOOTpbXSxrbzpbe2NhbGxiYWNrOlF6MSx3ZWlnaHQ6NTAwfSx7Y2FsbGJhY2s6Vld4LHdlaWdodDo1MDB9XX07dmFyIGN2aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMua289W107dGhpcy5OOT1bXX19LHZhO3ZhciBTaT1uZXcgQks7dmFyIElVPW5ldyBTZXQsdFA9MCx4SE09MCxBUD0wLHY5Mj1bXSxibjI9W10sTE5DPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO0RhdGUubm93KCk7dmFyIFpwPWNsYXNzIGV4dGVuZHMgbzd7Y29uc3RydWN0b3Iobil7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1ufX0sVG89bmV3IGQzKCJzY3JlZW4tY3JlYXRlZCIsWnApLEM0PVtdLGVUaD1HJGosQmE9MCxVYT1uZXcgTWFwLHk1PW5ldyBNYXAsRWE9bmV3IE1hcDt2YXIgaHIyPWNsYXNze2ZsdXNoKG49W10sVz0hMSl7aWYoZy5sKCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBEIG9mIG4pbj11NihEKSx0aGlzLk4mJiQ5KG4sT2l4LDIsdGhpcy5OKSxuPXtzZXJpYWxpemVkSW5jcmVtZW50QmF0Y2g6Zy5FQShuLkooKSl9LGcuelUoInN0cmVhbXpJbmNyZW1lbnRlZCIsbix7c2VuZElzb2xhdGVkUGF5bG9hZDpXfSl9fSxYbkM9Y2xhc3MgZXh0ZW5kcyBocjJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0sU0hpPWNsYXNzIGV4dGVuZHMgaHIye2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dmFyIFc9bmV3IE9peDt2YXIgRD1uZXcgS1VDO0Q9Zy5TRShELDEsImJvdGd1YXJkIik7bj1nLlNFKEQsMixuKTt0aGlzLk49cmUoVyxLVUMsMSxQWmgsbil9fTt2YXIgVnAsSU0yPW5ldyBNYXA7dmFyIFQkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bmV3IFFLKG4pfXNldChuLFcsRCl7RD1EIT09dm9pZCAwP0RhdGUubm93KCkrRDp2b2lkIDA7dGhpcy5OLnNldChuLFcsRCl9Z2V0KG4pe3JldHVybiB0aGlzLk4uZ2V0KG4pfXJlbW92ZShuKXt0aGlzLk4ucmVtb3ZlKG4pfX07dmFyIHJTaD1udWxsO3ZhciBzbz0idG9rZW5zIGNvbnNpc3RlbmN5IHNlcnZpY2VfcGFyYW1zIG1zcyBjbGllbnRfbG9jYXRpb24gZW50aXRpZXMgYWRibG9ja19kZXRlY3Rpb24gcmVzcG9uc2VfcmVjZWl2ZWRfY29tbWFuZHMgc3RvcmUgbWFuaWZlc3QgcGxheWVyX3ByZWxvYWQgc2hvcnRzX3ByZWZldGNoIHJlc29sdmVfdXJsX3ByZWZldGNoIi5zcGxpdCgiICIpO3ZhciBzWVU9bmV3IE1hcChbWyJkYXJrIiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyJdLFsibGlnaHQiLCJVU0VSX0lOVEVSRkFDRV9USEVNRV9MSUdIVCJdXSk7dmFyIERNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPXt9O2lmKHRoaXMuSj1nLm1qKCkpe2xldCBuPWcuU2QoIkNPTlNJU1RFTkNZIik7biYmYVUodGhpcyx7ZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50czpufSl9fWhhbmRsZVJlc3BvbnNlKG4sVyl7aWYoIVcpdGhyb3cgRXJyb3IoInJlcXVlc3QgbmVlZHMgdG8gYmUgcGFzc2VkIGludG8gQ29uc2lzdGVuY3lTZXJ2aWNlIik7Vz1XLmlubmVyVHViZVJlcXVlc3QuY29udGV4dD8ucmVxdWVzdD8uY29uc2lzdGVuY3lUb2tlbkphcnN8fFtdOyhuPW4ucmVzcG9uc2VDb250ZXh0Py5jb25zaXN0ZW5jeVRva2VuSmFyKSYmdGhpcy5yZXBsYWNlKFcsbil9cmVwbGFjZShuLFcpe2ZvcihsZXQgRCBvZiBuKWRlbGV0ZSB0aGlzLk5bRC5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzXTthVSh0aGlzLFcpfX07dmFyIHh6cj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKS5zbGljZSgtMikuam9pbigiLiIpLGIkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPS0xO3ZhciBuPWcuQXIoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iVFZIVE1MNSImJih0aGlzLmxvY2FsU3RvcmFnZT1uQih0aGlzKSkmJihuPXRoaXMubG9jYWxTdG9yYWdlLmdldCgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKSk7biYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPW4sdGhpcy5KPXRoaXMuTj12b2lkIDApfXN0YXRpYyBnZXRJbnN0YW5jZSgpe09DPWcucnIoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIpO09DfHwoT0M9bmV3IGIkLGcuR2IoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIsT0MpKTtyZXR1cm4gT0N9c2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQobil7bi5jbGllbnR8fAoobi5jbGllbnQ9e30pO2lmKHRoaXMuTiluLmNsaWVudC5sb2NhdGlvbkluZm98fChuLmNsaWVudC5sb2NhdGlvbkluZm89e30pLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sYXRpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5OLmNvb3Jkcy5sYXRpdHVkZSoxRTcpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sb25naXR1ZGVFNz1NYXRoLmZsb29yKHRoaXMuTi5jb29yZHMubG9uZ2l0dWRlKjFFNyksbi5jbGllbnQubG9jYXRpb25JbmZvLmhvcml6b250YWxBY2N1cmFjeU1ldGVycz1NYXRoLnJvdW5kKHRoaXMuTi5jb29yZHMuYWNjdXJhY3kpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5mb3JjZUxvY2F0aW9uUGxheWFiaWxpdHlUb2tlblJlZnJlc2g9ITA7ZWxzZSBpZih0aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKW4uY2xpZW50LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbj10aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VufWdldFhHZW9IZWFkZXIoKXtpZih0aGlzLkope3ZhciBuPQp0aGlzLko7dmFyIFc9TWF0aC5mbG9vcihuLmNvb3Jkcy5sb25naXR1ZGUqMUU3KTt2YXIgRD1NYXRoLmZsb29yKG4uY29vcmRzLmxhdGl0dWRlKjFFNyk7dmFyIGI9bmV3IGpyMjtEPW96KGIsMSxnLnlQKEQpKTtXPW96KEQsMixnLnlQKFcpKTtEPW5ldyBCRnQ7RD1LbihELDEsMSk7RD1LbihELDIsMTIpO0Q9S24oRCw5LDgpO0Q9SVkoRCwzLG4udGltZXN0YW1wKjFFMyk7bj1veihELDcsZy5BXyhuLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTtuPUtuKG4sMjUsMik7bj0kOShuLGpyMiw1LFcpO249YHcgJHtnLkVBKEZGaShuKSw0KX1gfWVsc2Ugbj1udWxsO3JldHVybiBufWhhbmRsZVJlc3BvbnNlKG4pe249bi5yZXNwb25zZUNvbnRleHQ/LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbjtuIT09dm9pZCAwJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49bix0aGlzLko9dGhpcy5OPXZvaWQgMCxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9Cm5CKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsbiwxNTU1MkUzKTpJSygiWVRfQ0wiLEpTT04uc3RyaW5naWZ5KHtsb2N0b2s6bn0pLDE1NTUyRTMseHpyLCEwKSl9Y2xlYXJMb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4obil7bj09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9bkIodGhpcykpJiZ0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmUoInl0LWxvY2F0aW9uLXBsYXlhYmlsaXR5LXRva2VuIik6QXkoIllUX0NMIik7dGhpcy5YPXZvaWQgMDt0aGlzLlchPT0tMSYmKGNsZWFyVGltZW91dCh0aGlzLlcpLHRoaXMuVz0tMSl9Y2xlYXJDdXJyZW50UG9zaXRpb24oKXt0aGlzLko9dGhpcy5OPXZvaWQgMH1nZXRDdXJyZW50UG9zaXRpb25Gcm9tR2VvbG9jYXRpb24obil7aWYoIShuYXZpZ2F0b3ImJm5hdmlnYXRvci5nZW9sb2NhdGlvbiYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbikpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJHZW9sb2NhdGlvbiB1bnN1cHBvcnRlZCIpKTsKdmFyIFc9ITEsRD0xRTQ7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihXPSEwLEQ9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChiLHYpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihrPT57dGhpcy5KPW4/LmFkZFRvSGVhZGVycz9rOnZvaWQgMDt0aGlzLk49aztiKGspfSxrPT57dihrKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpXLAptYXhpbXVtQWdlOjAsdGltZW91dDpEfSl9KX1jcmVhdGVVbnBsdWdnZWRMb2NhdGlvbkluZm8obil7dmFyIFc9e307Cm49bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtuPy5hY2N1cmFjeSYmKFcubG9jYXRpb25SYWRpdXNNZXRlcnM9TWF0aC5yb3VuZChuLmFjY3VyYWN5KSk7cmV0dXJuIFd9Y3JlYXRlTG9jYXRpb25JbmZvKG4pe3ZhciBXPXt9O249bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtyZXR1cm4gV319LE9DO3ZhciBMSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49e319Y29udGFpbnMobil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLk4sbil9Z2V0KG4pe2lmKHRoaXMuY29udGFpbnMobikpcmV0dXJuIHRoaXMuTltuXX1zZXQobixXKXt0aGlzLk5bbl09V311Qigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLk4pfXJlbW92ZShuKXtkZWxldGUgdGhpcy5OW25dfX07bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXBwaW5ncz1uZXcgTEhyfWdldChuKXthOnt2YXIgVz10aGlzLm1hcHBpbmdzLmdldChuLnRvU3RyaW5nKCkpO3N3aXRjaChXLnR5cGUpe2Nhc2UgIm1hcHBpbmciOm49Vy52YWx1ZTticmVhayBhO2Nhc2UgImZhY3RvcnkiOlc9Vy52YWx1ZSgpO3RoaXMubWFwcGluZ3Muc2V0KG4udG9TdHJpbmcoKSx7dHlwZToibWFwcGluZyIsdmFsdWU6V30pO249VzticmVhayBhO2RlZmF1bHQ6bj1nLnBiKFcsdm9pZCAwKX19cmV0dXJuIG59fTt2YXIgeFY9e1dFQl9VTlBMVUdHRUQ6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09OQk9BUkRJTkc6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09QUzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfUFVCTElDOiJedW5wbHVnZ2VkLyIsV0VCX0NSRUFUT1I6Il5jcmVhdG9yLyIsV0VCX0tJRFM6Il5raWRzLyIsV0VCX0VYUEVSSU1FTlRTOiJeZXhwZXJpbWVudHMvIixXRUJfTVVTSUM6Il5tdXNpYy8iLFdFQl9SRU1JWDoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm1haW5fYXBwL3xec2Z2LyJ9O3ZhciBlcjE9Y2xhc3N7RChuLFc9e30sRD11OSl7dmFyIGI9e2NvbnRleHQ6dGhpcy5PKCk/Zy52YihuLmNsaWNrVHJhY2tpbmdQYXJhbXMsITAsITEsZy53KG4/LmNvbW1hbmRNZXRhZGF0YSxwaik/LnVybCx0aGlzLksoVykpOmcudmIobi5jbGlja1RyYWNraW5nUGFyYW1zLCExLHRoaXMuail9O3ZhciB2PXRoaXMuTihuKTtpZih2KXt0aGlzLkooYix2LFcpO3Y9TEIodGhpcy5XKCkpO3ZhciBrPWcudyhuLmNvbW1hbmRNZXRhZGF0YSxwaik/LmFwaVVybDtrJiYodj1rKTt2PVpyKEskKHYpKTtrPXtjb21tYW5kOm4sLi4udGhpcy5WKG4pfTtiPXtpbnB1dDp2LFBpOlV6KHYpLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6a307Yi5jb25maWcuQkc/Yi5jb25maWcuQkcuaWRlbnRpdHk9RDpiLmNvbmZpZy5CRz17aWRlbnRpdHk6RH07KG49dGhpcy5ZKG4pKSYmIWIuY29uZmlnLnJlcXVlc3RLZXkmJihiLmNvbmZpZy5yZXF1ZXN0S2V5PW4pO1cuYWJvcnRTaWduYWwmJihiLlBpLnNpZ25hbD0KVy5hYm9ydFNpZ25hbCk7cmV0dXJuIGJ9Vz1uZXcgZy5ReCgiRXJyb3I6IEZhaWxlZCB0byBjcmVhdGUgUmVxdWVzdCBmcm9tIENvbW1hbmQuIixuKTtnLlhqKFcpfU8oKXtyZXR1cm4hMX1nZXQgaigpe3JldHVybiExfUsoKXt9WSgpe31WKCl7fX0sUEM9Y2xhc3MgZXh0ZW5kcyBlcjF7WCgpe31ZKG4pe2cubCgid2ViX2VuYWJsZV9yZXF1ZXN0X2tleV9raWxsc3dpdGNoIikmJnRoaXMuWChuKTtyZXR1cm4gZy53KG4uY29tbWFuZE1ldGFkYXRhLHBqKT8ucmVxdWVzdEtleT8/dGhpcy5YKG4pfX07dmFyIGdnMT17R0VUX0RBVEFTWU5DX0lEUzpobShjbGFzcyBleHRlbmRzIFBDe0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50IixQaTpVeigiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX1XKCl7cmV0dXJuW119Tigpe31KKCl7fX0pfTt2YXIgd189bmV3IGcuQUwoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLCREPW5ldyBnLkFMKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLGlkPW5ldyBnLkFMKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBOUT12MCgieXRjc2lfZGVidWdfbWF4X3NpemUiLDEwMCk7dmFyIEptPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9OwpPYmplY3QuYXNzaWduKEptLHsiYW5hbHl0aWNzLmV4cGxvcmUiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FOQUxZVElDU19FWFBMT1JFIiwiYXJ0aXN0LmFuYWx5dGljcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX0FOQUxZVElDUyIsImFydGlzdC5ldmVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FSVElTVF9DT05DRVJUUyIsImFydGlzdC5wcmVzc2tpdCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX1BST0ZJTEUiLCJhc3NldC5jbGFpbWVkX3ZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NMQUlNRURfVklERU9TIiwiYXNzZXQuY29tcG9zaXRpb24iOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9DT01QT1NJVElPTiIsImFzc2V0LmNvbXBvc2l0aW9uX293bmVyc2hpcCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX09XTkVSU0hJUCIsImFzc2V0LmNvbXBvc2l0aW9uX3BvbGljeSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX1BPTElDWSIsCiJhc3NldC5lbWJlZHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9FTUJFRFMiLCJhc3NldC5oaXN0b3J5IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfSElTVE9SWSIsImFzc2V0Lmlzc3VlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0lTU1VFUyIsImFzc2V0LmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfTElDRU5TRVMiLCJhc3NldC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX01FVEFEQVRBIiwiYXNzZXQub3duZXJzaGlwIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfT1dORVJTSElQIiwiYXNzZXQucG90ZW50aWFsX2VtYmVkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX1BPVEVOVElBTF9FTUJFRFMiLCJhc3NldC5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9QT0xJQ1kiLCJhc3NldC5yZWZlcmVuY2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfUkVGRVJFTkNFUyIsCiJhc3NldC5zaGFyZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9TSEFSRVMiLCJhc3NldC5zb3VuZF9yZWNvcmRpbmdzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfU09VTkRfUkVDT1JESU5HUyIsImFzc2V0X2dyb3VwLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0FTU0VUUyIsImFzc2V0X2dyb3VwLmNhbXBhaWducyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0NBTVBBSUdOUyIsImFzc2V0X2dyb3VwLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfR1JPVVBfQ0xBSU1FRF9WSURFT1MiLCJhc3NldF9ncm91cC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX01FVEFEQVRBIiwic29uZy5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1NPTkdfQU5BTFlUSUNTIixjcmVhdG9yX2NoYW5uZWxfZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfREFTSEJPQVJEIiwKImNoYW5uZWwuYW5hbHl0aWNzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0FOQUxZVElDUyIsY2hhbm5lbF9hcHBlYWw6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9BUFBFQUwiLCJjaGFubmVsLmNvbW1lbnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0NPTU1FTlRTIiwiY2hhbm5lbC5jb250ZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DT05URU5UIiwiY2hhbm5lbC5jb250ZW50LnBvc3RzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QT1NUX0xJU1QiLCJjaGFubmVsLmNvbnRlbnQucHJvbW90aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUFJPTU9USU9OX0xJU1QiLCJjaGFubmVsLmNvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9DT1BZUklHSFQiLCJjaGFubmVsLmVkaXRpbmciOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfRURJVElORyIsImNoYW5uZWwubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01PTkVUSVpBVElPTiIsCiJjaGFubmVsLm11c2ljIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDIiwiY2hhbm5lbC5tdXNpY19zdG9yZWZyb250IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDX1NUT1JFRlJPTlQiLCJjaGFubmVsLnBsYXlsaXN0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9QTEFZTElTVFMiLCJjaGFubmVsLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9UUkFOU0xBVElPTlMiLCJjaGFubmVsLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9WSURFT1MiLCJjaGFubmVsLmxpdmVfc3RyZWFtaW5nIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9MSVZFX1NUUkVBTUlORyIsImRpYWxvZy5jb3B5cmlnaHRfc3RyaWtlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX0NPUFlSSUdIVF9TVFJJS0VTIiwiZGlhbG9nLnZpZGVvX2NvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1ZJREVPX0NPUFlSSUdIVCIsCiJkaWFsb2cudXBsb2FkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1VQTE9BRFMiLG93bmVyOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19EQVNIQk9BUkQiLCJvd25lci5hbGxvd2xpc3QiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTExPV0xJU1QiLCJvd25lci5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTkFMWVRJQ1MiLCJvd25lci5hcnRfdHJhY2tzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVJUX1RSQUNLUyIsIm93bmVyLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUUyIsIm93bmVyLmFzc2V0X2dyb3VwcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQUyIsIm93bmVyLmJ1bGsiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19CVUxLX0hJU1RPUlkiLCJvd25lci5jYW1wYWlnbnMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DQU1QQUlHTlMiLAoib3duZXIuY2hhbm5lbF9pbnZpdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0hBTk5FTF9JTlZJVEVTIiwib3duZXIuY2hhbm5lbHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DSEFOTkVMUyIsIm93bmVyLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0xBSU1FRF9WSURFT1MiLCJvd25lci5jbGFpbXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19NQU5VQUxfQ0xBSU1JTkciLCJvd25lci5jbGFpbXMubWFudWFsIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTUFOVUFMX0NMQUlNSU5HIiwib3duZXIuZGVsaXZlcnkiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DT05URU5UX0RFTElWRVJZIiwib3duZXIuZGVsaXZlcnlfdGVtcGxhdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfREVMSVZFUllfVEVNUExBVEVTIiwib3duZXIuaXNzdWVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfSVNTVUVTIiwKIm93bmVyLmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTElDRU5TRVMiLCJvd25lci5waXRjaF9tdXNpYyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1BJVENIX01VU0lDIiwib3duZXIucG9saWNpZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19QT0xJQ0lFUyIsIm93bmVyLnJlbGVhc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVMRUFTRVMiLCJvd25lci5yZXBvcnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVQT1JUUyIsIm93bmVyLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1ZJREVPUyIsInBsYXlsaXN0LnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUExBWUxJU1RfVklERU9fTElTVCIsInBvc3QuY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfQ09NTUVOVFMiLCJwb3N0LmVkaXQiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfRURJVCIsInByb21vdGlvbi5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QUk9NT1RJT05fRURJVCIsCiJ2aWRlby5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0FOQUxZVElDUyIsInZpZGVvLmNsYWltcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fQ0xBSU1TIiwidmlkZW8uY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0NPTU1FTlRTIiwidmlkZW8uY29weXJpZ2h0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19DT1BZUklHSFQiLCJ2aWRlby5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUIiwidmlkZW8uZWRpdG9yIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUT1IiLCJ2aWRlby5lZGl0b3JfYXN5bmMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0VESVRPUl9BU1lOQyIsInZpZGVvLmxpdmVfc2V0dGluZ3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0xJVkVfU0VUVElOR1MiLCJ2aWRlby5saXZlX3N0cmVhbWluZyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fTElWRV9TVFJFQU1JTkciLAoidmlkZW8ubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19NT05FVElaQVRJT04iLCJ2aWRlby5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX1BPTElDWSIsInZpZGVvLnJpZ2h0c19tYW5hZ2VtZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19SSUdIVFNfTUFOQUdFTUVOVCIsInZpZGVvLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fVFJBTlNMQVRJT05TIn0pO3ZhciBNUT1jbGFzcyBleHRlbmRzIG83e2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLk49bjt0aGlzLnRpbWVyPVd9fSxPbnQ9bmV3IGQzKCJhZnQtcmVjb3JkZWQiLE1RKTt2YXIgWEZ0PXthX2JpZF9mOjQ4MixhX2JpZF9zOjQ4MSxhYToyLGFhY2k6NDMzLGFhY3I6NDM0LGFiX3I6MTEsYWJfczoxMCxhYmM6NTc5LGFjOjE5MyxhY2M6NTExLGFjaTo1MTIsYWRfMF9lOjEzLGFkXzBfczoxMixhZF9ibDoxNCxhZF9pOjE1LGFkX21iczoxNixhZF9wcjo1NjIsYWRfdmk6MTcsYWRfdmlyOjE4LGFkYToxOTQsYWRiY19mOjU3NixhZGM6MTk1LGFkZmxfZjoxOSxhZGZsX3M6MjAsYWRsOjE5NixhZG5zOjE5NyxhZHNfZToyMixhZHNfczoyMSxhZmI6NTEzLGFmYzoxOTgsYWZsOjE5OSxhZnQ6MSxhaGI6NTE0LGFpOjIwMCxhaXNfYTo1MDMsYWlzX3I6NTAyLGFpc2Y6MjMsYWlzaToyNCxhaXNyOjI1LGFpc3M6MjYsYW1sOjIwMSxhcGFfYToyMDMsYXBhX2I6MjAyLGFwYnM6MjA0LGFwcF9sOjMsYXBwX3NpOjYxMixhcHBfc2llOjY2MSxhcHBkZWxfaToyNyxhcHBpX2U6NjE2LGFwcGlfczo2MTUsYXByOjIwNSxhcHJlczo0MzYsYXBzdXM6NDM1LGFyOjIwNixhcjQwazoyOCwKYXJiX2Y6NTA0LGFyYzoyMDcsYXJlcToyMDgsYXJmYjoyOSxhcmk6NCxhcnI6MjA5LGFycmg6MzAsYXNjZTo3ODgsYXNjZjo3ODksYXNjczo3ODcsYXNpc2ZiOjMxLGFzaXNyOjMyLGFzaXNyaDozMyxhc2lzczozNCxhc3I6MjEwLGFzeW5jX29yY2hfdF9hY3Q6NzEyLGFzeW5jX29yY2hfdF9ub3RpZnk6NzExLGF0cnI6NTE1LGF0cnM6NTE2LGF0dF9lOjIxMSxhdHRfZjoyMTIsYXR0X2ZjOjc5NyxhdHRfZnJyOjc5NixhdHRfZnM6NzkzLGF0dF9mc3I6Nzk1LGF0dF9wbmE6Nzk0LGF0dF9zOjIxMyxhdHRfd2I6MjE0LGF3ZmxfZjo1NTcsYXdmbF9zOjU1OCxiYXNlX2pzX3I6NDQxLGJjcDoyMTUsYmY6MjE2LGJnX2U6MjE3LGJnX2k6MjE4LGJnX2w6MjIwLGJnX3M6MjIxLGJnX3Y6MjE5LGJwZF9jOjQ4NCxicGRfczo0ODMsYnB0OjIyMyxicl9lOjM3LGJyX2xkOjM4LGJyX2xycHI6MzksYnJfbHJyOjQwLGJyX2x3bTo1NzcsYnJfcjo0MSxicl9zOjQyLGJyZXI6MzUsYnJlczozNixicm5yOjQzLApicm5zOjQ0LGJycGU6NDUsYnJwczo0NixicnJfZTo0NyxicnJfaTo0OCxicnJfaXVzOjQ5LGJzOjIyMixjX2M6NTAsY19jczo1MSxjX2NzZnM6NTIsY19kOjUzLGNfbGFmOjU5LGNfbGFzOjU4LGNfcm5mOjQzOCxjX3Juczo0MzcsY2M6NDY3LGNjX2M6NTQsY2NfY2Y6NTYsY2NfY3NhbGE6NTUsY2NfbGE6NTcsY2ZnOjIyNCxjaGxzOjIyNSxjaHBzOjIyNixjbDo0ODAsY21jOjIyNyxjbWRfaDo2MjksY21obDoyMjksY21pOjIyOCxjbWw6MjMwLGNtcDo3NzksY212OjIzMSxjcHQ6MjMyLGNyOjM2NCxjcl9lcnI6NjY5LGNyX3I6NjcwLGNyX3M6NjY4LGNzbDoyMzMsY3NyX3Q6NjMxLGN0OjUsY3RfbGk6NjAsZF9sOjYxLGRfbGFmOjYyLGRfbGFyOjYzLGRfbGFzOjY0LGRfbGY6NjUsZF9sczo2NixkX2x3OjY3LGRfbHdmOjY4LGRfbHdzOjY5LGRhc19jOjM2NixkYXNfczozNjUsZGNwOjIzNCxkZ19wYl9jOjIzNixkZ19wYl9yOjIzNyxkZ19wYl9zOjIzNSxkaGljOjIzOCxkbDoyMzksZG5zXzoyNDAsCmRybV9na19mOjM4OCxkcm1fZ2tfczozODcsZHJtX2tyX3I6MzkyLGRybV9rcl9zOjM5MSxkcm1fbmV0X3I6MzkwLGRybV9uZXRfczozODksZHJtX3BiX2Y6Mzg2LGRybV9wYl9zOjM4NSxkc19hYzo3MzYsZHNfYXM6NzM1LGRzX2NsYzo3NDAsZHNfY3M6NzM3LGRzX2RjOjczOSxkc19kczo3MzgsZW1wYTo0MzIsZW1wdTo0MzEsZW5wX2Vycjo2ODUsZW5wX2ZpOjY4NCxlbnBfc3Q6NjgzLGVvcHJfcjo2NzMsZXBfYV9wcl9yOjUzMixlcF9hX3ByX3M6NTMxLGVwX2hhdl9lbmQ6NTI2LGVwX2hhdl9zdGFydDo1MjUsZXBfaW5pdF9hcjo2OTksZXBfaW5pdF9jdWU6NjM1LGVwX2luaXRfY3VzOjYzNCxlcF9pbml0X2VwZTo2MzcsZXBfaW5pdF9lcHM6NjM2LGVwX2luaXRfaWplOjYzOSxlcF9pbml0X2lqczo2MzgsZXBfaW5pdF9wcjo1MjcsZXBfaW5pdF9yZTo2NDEsZXBfaW5pdF9yczo2NDAsZXBfaW5pdF93ZWU6NjQzLGVwX2luaXRfd2VzOjY0MixlcF9tYV9yZXByOjU0MyxlcF9tYV9ycjo1MzMsCmVwX21hX3NlcHI6NTQyLGVwX21hX3Nwcjo1MzQsZXBfcF9sOjUzMCxlcF9wcl9yOjUyOSxlcF9wcl9zOjUyOCxlcF9yX3ByZV9yOjU0MSxlcF9yX3JyOjUzNSxlcF9yX3NtYXI6NTM2LGVwX3JlY19lbmQ6NTM4LGVwX3JlY19zdGFydDo1MzcsZXBfcmVwc19lbmQ6NTQwLGVwX3JlcHNfc3RhcnQ6NTM5LGVwZTo2MTgsZXBzOjYxNyxlcl9jbDo2NTMsZXJfbnM6NjUyLGVyX3BlOjY1MCxlcl9wczo2NDksZXJfczo2NDgsZXJfc19ucjo3OTAsZXJfc19uczo3ODQsZXJfdDo2NTEsZmFiX3I6MjQ2LGZjYl9yOjUwNixmaXJlOjcwLGZpcnM6NzEsZm10aDoyNDEsZm9vdF9qczoyNDIsZnB0OjI0Myxmcl9zOjU2MSxmczoyNDQsZnNjOjI0NSxmc3NiMF9hOjc1LGZzc2IwX2ZyOjc0LGZzc2IwX25yOjczLGZzc2IwX25zOjcyLGZ0Xzo0MzksZnRsOjcsZnRyOjQ3NSxmdmJfcjoyNDcsZnZmOjI0OCxmeWRfZ2Y6NzY3LGZ5ZF9nczo3NjYsZ2NjOjI0OSxnY2ZsOjI1MCxnY3NyOjc2LGdlcF9lcnI6ODAwLApnZXBfcmVxOjc5OCxnZXBfcmVzOjc5OSxnZ3NyOjc3LGdpd2FfYTo2MjcsZ2l3YV9kOjYyOCxnbGM6NTkzLGdsZToyNTEsZ2xzOjI1MixncGU6MjUzLGdyYzoyNTQsZ3Jpd19ucjo3ODYsZ3Jpd19uczo3ODUsZ3Nfcjo3MzQsZ3Nfczo3MzMsZ3NtZDo1ODYsZ3Vfcjo2MjAsZ3Y6NDg1LGd3X2FpZXI6NzcxLGd3X2FyZjo3NzIsZ3dfYXJuYWY6Nzc1LGd3X2Fybm5hZjo3NzYsZ3dfYXJuczo3NzcsZ3dfYXJuc3U6Nzc4LGd3X2Fyczo3NzQsZ3dfYXJzdTo3NzMsZ3dfbWFhZjo2MzMsZ3dfbWFhczo2MzIsaGJmZzo2NzcsaGdjcjoyNTUsaHI6MjU2LGhyZTozNjMsaHJzOjM2MixoczozNzMsaHRtbF9mYl9yOjc1NSxodG1sX2ZlOjc0OCxodG1sX2ZzOjc0NyxodG1sX2Z3ZTo3NTIsaHRtbF9md3M6NzUxLGh0bWxfamNlOjc1NCxodG1sX2pjczo3NTMsaHRtbF9sYl9yOjc1NixodG1sX3NlOjc1MCxodG1sX3NzOjc0OSxpX3JwOjQ3NyxpX3JxOjQ3NixpcF9zOjY0NixpcGM6MjU3LGlwczoyNTgsCmlzbXBfYTo4MzYsaXNtcF9jOjgzOCxpc21wX2Q6ODM5LGlzbXBfaTo4MzUsaXNtcF9wOjg0MCxpc21wX3JjOjgzNyxpdF9ncDo3OCxpdl9zOjUwNSxqc3A6MjU5LGpzcjoyNjAsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yQ2FuY2VsbGVkOjgwMSxrWVRMYXRlbmN5TURFUHJvZHVjdFN0aWNrZXJFZGl0b3JGaW5pc2hlZDo4MDIsbDJzOjI2MSxsY19mcnI6NjYwLGxjX3Nfczo2NTksbGNfc191OjY1OCxsY3A6MjYyLGxkX3M6NDQwLGxpbToyNjMsbHBjZjoyNjQsbHBjczoyNjUsbHBzOjI2Nixsc19jOjM2OCxsc19zOjM2Nyxsc3M6MjY3LGx2OjI2OCxtYV9jbDo1NTEsbWFfZmZyOjU1MixtYV9mdWE6NTU0LG1hX2dyOjU1MyxtYV9pbDo1NzMsbWFpbjo3OSxtYWluX2pzX3I6NDQyLG1haW5fanNfcnE6NDQzLG1iX3M6NTA3LG1iYXBfYzozODQsbWJjX2FsYzo3MzIsbWJjX2FzbDo3MzEsbWJjX2M6Mzc1LG1iY19zOjM3NCxtYmdjaGlkX3JyOjc0NCxtYmdjaGlkX3JzOjc0NiwKbWJncl9yZjo2NTcsbWJncl9ycjozNzksbWJncl9yczozNzgsbWJsY19jOjM3NyxtYmxjX3M6Mzc2LG1ibGNoaWRfYzo3NDUsbWJsY2hpZF9zOjc0MyxtYmxjcmlkX2M6NzQyLG1ibGNyaWRfczo3NDEsbWJzX2M6MzgxLG1ic19ycjozODMsbWJzX3JzOjM4MixtYnNfczozODAsbWR4X2NjcDo4MCxtZHhfY2NzOjgxLG1keF9jY3N0OjgyLG1keF9jcjo4MyxtZHhfY3M6ODQsbWR4X2xzOjg1LG1keF9vZmY6ODYsbWR4X3NjOjg3LG1lX2I6NTU1LG1lX2M6Njg3LG1lX2Y6NTU2LG1lX2ZhOjY4OCxtZXN2X3M6NTA5LG1tX2llOjcyMCxtbV9pczo3MTksbXJjOjI2OSxtcnM6MjcwLG1zYToyNzEsbXN0aTo4OCxtc3RyOjg5LG5fY3Q6NzAyLG5fc3I6Njk3LG5fc3c6Njk4LCJuY1swLTldIjoyNzIsbmNsOjI3MyxuY3Q6Mjc0LG5kOjI3NSxuZG5zZToyNzYsbmRuc3M6Mjc3LCJucFswLTldIjoyNzgsbnI6Mjc5LG5yZToyODAsbnJlcXM6MjgxLG5yZXNlOjI4MixucmVzczoyODMsbnJycHM6OTAsCm5yczoyODQsbnN0Y3BzOjI4NSxudGNwZToyODYsbnRjcHM6Mjg3LG53cDoyODgsb2FkMnM6NDI1LG9hZnNfcjo0MDcsb2Fmc19ycDo0MDksb2Fpc3I6NDA1LG9hcjJzOjQxMixvYXJwMnM6NDI3LG9jc2lfejo5MSxvY3RrOjYyMSxvY3RwOjYyMixvZmFycDo0MjMsb2Zkbzo0MDAsb2Zkb3M6Mzk4LG9mcjo0MTcsb2Z2cnA6NDI0LG9nc2ZfYzozOTUsb2dzZl9zOjM5NCxvaHJfcjo3NjUsb2hyX3M6NzY0LG9sOjYsb2xfaTo4LG9sb2NfZTo4MzAsb2xvY19zYTo4Mjksb2xvY19zczo4Mjgsb21kX2M6NDIyLG9tZF9zOjQyMSxvbXBfYzo0MTksb21wX3I6NDE4LG9wZmM6NjgwLG9wcl9yOjQxNCxvcHJkX3M6NDE1LG9wcmd6Ml9lOjg0MixvcHJnejJfZjo4NDMsb3ByZ3oyX3M6ODQxLG9wcmd6X3M6Njg5LG9wcnI6NDE2LG9yMTAwazo0MTEsb3JfZmU6NDI5LG9yX2ZzOjQzMCxvcl9pOjM5Myxvcl9wOjM5NyxvcmNoX3JfZDo2OTQsb3JjaF9yX3M6Njk1LG9yY2hfdF9wbWQ6NzcwLG9yY2hfdF9wbXM6NzY5LApvcmNoX3RfdGNlZDo3MDgsb3JjaF90X3RjZXM6NzA1LG9yY2hfdF90ZDo2OTIsb3JjaF90X3RtZDo4MDQsb3JjaF90X3Rtczo4MDMsb3JjaF90X3VkOjY5MyxvcmNoX3RfdXM6Njk2LG9yZmI6NDA0LG9yaF9yOjQwMyxvcm1rOjQyMCxvcnFwYl9hOjgzMSxvcnFwYl9lOjgzNCxvcnFwYl9zOjgzMixvcnFwYl93OjgzMyxvc2RvOjQwMSxvc2RvZjo0MDIsb3Nkb3M6Mzk5LG9zb3I6Mzk2LG92ZDJzOjQyNixvdmZzX3I6NDA4LG92ZnNfcnA6NDEwLG92aXNyOjQwNixvdnIyczo0MTMsb3ZycDJzOjQyOCxwYWM6Mjg5LHBhcmk6NTE3LHBhdDoyOTAscGIwX3M6NjExLHBiX3JxX2F1dGh6OjQ0NixwYl9ycV9jdHRfY2ZtOjQ0NyxwYmNfZTo2NjMscGJjX3M6NjYyLHBiZl9jOjkyLHBicDo0ODYscGJyZXN1bWU6MjkyLHBiczo0ODcscGJ1OjI5MyxwYzo0ODgscGNjOjU0NixwY2U6NTQ3LHBjcTo1NDQscGNyOjU0NSxwY3VfYXA6ODA5LHBjdV9jZTo1ODEscGN1X2NzOjU4MCxwY3VfcmU6ODA4LHBjdV9yczo4MDcsCnBjdV9zOjgwNSxwY3Vfc2U6ODA2LHBkYToyOTQscGRjOjI5NSxwZHI6Mjk2LHBlOjI5NyxwZW1fcjo0NDQscGVtX3JxOjQ0NSxwZmplOjMwOSxwZnJyOjMwNSxwZnJzOjMwNixwZnM6MzA3LHBmdDozMDgscGZ0X2k6OTMscGxfYzoyOTEscGxfaTo0ODkscGxfaW50OjQ5MCxwbF9yOjQ5MSxwbF9yYzo3MDMscGxfczo0OTIscGxfc3M6NDkzLHBsZXY6MzEwLHBsanNfcjo0NDgscGxqc19ycTo0NDkscGx2czo3MjMscG90X2FmOjk3LHBvdF9hczo5Nixwb3RfY21lOjU2OSxwb3RfY21mOjI5OSxwb3RfY21zOjI5OCxwb3RfY3NtZTo1NzAscG90X2NzbWY6MzAxLHBvdF9jc21zOjMwMCxwb3RfaWY6MzA0LHBvdF9pbml0Zjo5NSxwb3RfaXNjOjMwMixwb3RfaXN0OjMwMyxwb3Rfc2U6NTY1LHBvdF9zZjo1NjQscG90X3NzOjU2Myxwb3RfeGU6NTY4LHBvdF94Zjo1NjcscG90X3hzOjU2Nixwb3RwZTo5NCxwcHU6OTgscHJvY19rOjYxMyxwcm9jX2tfbDo2MTQscHM6MzExLHBzX2JzOjY0Nyxwc19jOjQ5NCwKcHNfZXM6OTkscHNfcGE6NjgxLHBzX3BpaGY6NTk3LHBzX3BpaHM6NTk2LHBzX3I6MzYwLHBzX3M6MzYxLHBzX3NnZjo1OTUscHNfc2dzOjU5NCxwc25yOjQ5NSxwc25zOjQ5Nixwc3BlOjEwMCxwc3BzOjEwMSxwdF9tZTo4MTUscHRfbWY6ODE0LHB0X21zOjgxMyxwdF9waWU6ODEyLHB0X3BpZjo4MTEscHRfcGlzOjgxMCxwdF9waXNoOjYwNixwdnJpOjUxOCxwd2M6MzEyLHFvZXM6MzEzLHJfY19zbGQ6NDUwLHJfY19zcnE6NDUxLHJfY29ubmVjdF9iYWNrZW5kOjQ1MixyX2Nvbm5lY3RfYmFja2VuZF9zdWNjZXNzOjQ1MyxyX2Nvbm5lY3RlZDo0NTQscl9jb25zdHJ1Y3Rpb246NDU1LHJfZGlzY29ubmVjdGVkOjQ1NixyX2ViaTo2NjQscl9lb2Q6NTg1LHJfZjo0NTcscl9vcjo3MTMscl9wbDoxMDUscl9wczoxMDYscl9ycV9wbHk6NDU4LHJfc19wbHlsc3Q6NDU5LHJfc192aWQ6NDYwLHJfc3RhdHVzX3VwZGF0ZTo0NjEscl90cjoxMDcscl92dGM6MTA0LHJfd2lwYmM6NTg0LHJfd25yOjc5MiwKcl93bnM6NzkxLHJfd3JyOjEwMyxyX3dyczoxMDIscl93c3JwOjYwOSxyX3dzcnI6NjA4LHJfd3Nyczo2MDcscmN2XzozMTQscmVtb3ZlX3NwbGFzaDo0NjIscmVxXzozMTUscmZnOjMxNixyZ3JfbnJmOjYwMCxyZ3Jfczo1OTkscnBlOjgxNixycGx5X3JxZDo0NjMscnBzOjgxNyxyc19zOjUwOCxyc2FlX3BjOjMzMixyc2FlX3BlajozMzQscnNhZV9wajozMzMscnNiZV9wYzozMjMscnNiZV9wZWo6MzI1LHJzYmVfcGo6MzI0LHJzZV9wYzozMjAscnNlX3BlajozMjIscnNlX3BqOjMyMSxyc2VmX3BjOjMyOSxyc2VmX3BlajozMzEscnNlZl9wajozMzAscnNlc19wYzozMjYscnNlc19wZWo6MzI4LHJzZXNfcGo6MzI3LHJzZl9wYzozMTcscnNmX3BlajozMTkscnNmX3BqOjMxOCxydGltZV86MzM1LHJ1cmxfZToxMDgscnVybF9yOjEwOSxydXJsX3M6MTEwLHJ1cmxwZToxMTEscnVybHBzOjExMixzM3Rfcjo0NzIsc2FfZjo2MjQsc2FfZm86NjI1LHNhX3M6NjIzLHNhZl9mcDo2NjUsc2FmX3I6NjY2LApzYWZfcmU6NjY3LHNhc19pOjYyNixzY2dhdF9mZnM6NTYwLHNjZ2F0X2ZzOjU1OSxzZGFfZjo2MDUsc2RhX2k6NjA0LHNkYV9yZWNwOjYwMSxzZGFfcnNwcDo2MDMsc2RhX3JzcHI6NjAyLHNkbF9lOjY1NSxzZGxfczo2NTQsc2RsX3Q6NjU2LHNmX2k6MTEzLHNnc2Nfcjo3ODEsc2dzY19zOjc4MCxzaG93X2NhbGxfdG9fY2FzdDo0NjQsc2hyYl9jOjE2NSxzaHJvX2M6MTcwLHNocm9fcjoxNjcsc2hycF9jOjE2OSxzaHJwX2xkOjE2NixzaHJwX3A6MTY4LHNvX3I6MTE5LHNvX3JlOjExOCxzb19ycToxMjAsc3BhOjExNCxzcGQ6MTE1LHNwZjoxMTYsc3Bucl9oOjY3MixzcG5yX3M6NjcxLHNwcjo2Nzgsc3JfZToxMTcsc3JfcDoxMjEsc3JfcGE6MTIyLHNyX3I6MTIzLHNyX3JlOjEyNCxzcl9zOjEyNSxzcl91aToxMjYsc3J0OjMzNixzc19yOjQ2OSxzc19zOjQ2OCxzc19zZl9zOjcyNCxzc19zZl93OjcyNSxzc25yOjEyNyxzc25zOjEyOCxzdGNwXzozMzcsc3RlX2FsZjo1ODksc3RlX2M6NTkyLApzdGVfZWxmOjU5MCxzdGVfZjo1OTEsc3RlX2Z0bDo1ODgsc3RlX2w6NTg3LHN0dHNfYjo1ODIsc3R0c19mOjU4MyxzdHZzX2Y6NjkxLHN0dnNfczo2OTAsc3ZlOjQ2NixzdnM6NDY1LHN3X2ZiOjUxMCxzd19pOjc4Myxzd19yOjQ5Nyxzd19zOjQ5OCxzd3Nucjo4MTksc3dzbnM6ODE4LHN3c3BlOjgyMSxzd3Nwczo4MjAsdGNwXzozMzgsdGVueF9sOjQ3MSx0ZW54X3I6NDcwLHRoMF9oOjYxMCx0aDBfbmM6Njc1LHRoMF9uZTo2NzYsdGgwX25yOjEyOSx0aDBfbnM6Njc0LHRoX2NfMTo3MDksdGhfZF8xOjcxMCx0aF9sXzE6MTMwLHRoX3NfMTo1NzgsdGhzYjBfZnI6MTM0LHRoc2IwX25lOjEzMSx0aHNiMF9ucjoxMzIsdGhzYjBfbnM6MTMzLHR0YzozMzksdHRjcjozNDAsdWlfbDoxMzUsdWliZl9jOjE0MSx1aWJmX3I6MTQzLHVpYmZfczoxNDIsdWlzZl9yOjE0NCx1aXd3YV9iYzo2MTksdWl3d2FfYzoxMzYsdWl3d2FfZToxNDAsdWl3d2FfcHI6MTM5LHVpd3dhX3I6MTM4LHVpd3dhX3M6MTM3LAp1bHJzX2M6MzcwLHVscnNfczozNjksdW5rbm93bjowLHVyOjM0MSx2Yzo2ODIsdmNjOjUxOSx2Y2k6NTIwLHZkYTozNDIsdmRldWM6MzQzLHZkZXVyOjM0NCx2ZGV1czozNDUsdmRuczozNDYsdmZiOjUyMSx2ZnA6MzQ3LHZoYjo1MjIsdmlyOjM0OCx2aXJjOjM0OSx2aXNfYTo1MDAsdmlzX3I6NDk5LHZpc2Y6MTQ1LHZpc2k6MTQ2LHZpc3I6MTQ3LHZpc3M6MTQ4LHZvel9jeDoxNzksdm96X2VvdToxODcsdm96X2VycjoxODQsdm96X2Vycl9tczoxODAsdm96X2Vycl9ubXA6MTgxLHZvel9lcnJfb2ZmOjE4Myx2b3pfZXJyX3VhcjoxODIsdm96X2Z0cjoxODgsdm96X2Z2YzoxODksdm96X2xyX2xzbzoxODUsdm96X2xyX21kOjE4Nix2b3pfbWY6MTcyLHZvel9tczoxNzEsdm96X3JxZjoxNzQsdm96X3JxczoxNzMsdm96X3NmOjE3OCx2b3pfc3M6MTc3LHZvel92cDoxNzUsdm96X3Z0OjE3Nix2cGw6MzUwLHZyOjM1MSx2cjEwMGs6MTQ5LHZyYl9mOjUwMSx2cmM6MzUyLHZyZXE6MzUzLHZyZmI6MTUwLAp2cmk6OSx2cnI6MzU0LHZycl9yOjQ3NCx2cnJfczo0NzMsdnJyaDoxNTEsdnNpc2ZiOjE1Mix2c2lzcjoxNTMsdnNpc3JoOjE1NCx2c2lzczoxNTUsdnRhOjM1NSx2dHJyOjUyMyx2dHJzOjUyNCx3X3N0OjE1Nix3YXNtX2ZhOjgyNix3YXNtX2ZlcnI6ODI3LHdhc21fZnc6ODI1LHdhc21fczo4MjQsd2M6MzcyLHdjcjozNTYsd2ViZmVfZTo3Mjgsd2ViZmVfZ2JtX3I6NzU4LHdlYmZlX2dibV9zOjc1Nyx3ZWJmZV9nbF9yOjc2Mix3ZWJmZV9nbF9zOjc2MSx3ZWJmZV9nc19yOjc2MCx3ZWJmZV9nc19zOjc1OSx3ZWJmZV9ndXNfcjo3MzAsd2ViZmVfZ3VzX3M6NzI5LHdlYmZlX2d2bV9zOjc2Myx3ZWJmZV9zOjcyNyx3ZmZlOjM1Nyx3ZmZzOjM1OCx3Zmc6MzU5LHduX2U6MTYyLHduX2w6MzcxLHduX3I6MTU5LHduX3JwOjQ3OCx3bl9zOjE2MCx3bl9zbDoxNjEsd25sOjE1OCx3bmxfZDo4MjMsd25sX21wOjU3MSx3bmxfcGQ6ODIyLHdubHI6NTcyLHdubHM6MTU3LHducGU6MTYzLHducHM6MTY0LAp3cDo0Nzksd3NfY2U6MTkwLHdzX3NzOjE5MSx3c19zc3I6MTkyLHljZWM6NTQ5LHljZWY6NTQ4LHljZnRyOjY0NSx5Y2lmOjU1MCx5Y21zZjo2NDQseWNyYzo3MTgseWNyZjo3MTcseWNyczo3MTQseWNyc2M6NzE1LHljcnVlYTo3MTZ9O3ZhciBtcT1nLnFpLnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtnLkdiKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsbXEpO3ZhciBQYj1nLnFpLnl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzX3x8e307Zy5HYigieXRMb2dnaW5nTGF0ZW5jeVVzYWdlU3RhdHNfIixQYik7CnZhciBLQj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj0wfXRpY2sobixXLEQsYil7Wk0odGhpcyxgdGlja18ke259XyR7V31gKXx8KEQ9e3RpbWVzdGFtcDpELGN0dEF1dGhJbmZvOmJ9LFc9e3RpY2tOYW1lOm4sY2xpZW50QWN0aW9uTm9uY2U6V30sZy5sKCJ5b3V0dWJlX3dlYl9jc2lfdGlja3NfbWlncmF0aW9uIikmJihuPVhGdFtuXSxuIT09dm9pZCAwJiYoVy50aWNrPW4sZGVsZXRlIFcudGlja05hbWUpKSxnLnpVKCJsYXRlbmN5QWN0aW9uVGlja2VkIixXLEQpKX1pbmZvKG4sVyxEKXt2YXIgYj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtaTSh0aGlzLGBpbmZvXyR7Yn1fJHtXfWApfHwobj1PYmplY3QuYXNzaWduKHt9LG4pLG4uY2xpZW50QWN0aW9uTm9uY2U9VyxnLnpVKCJsYXRlbmN5QWN0aW9uSW5mbyIsbix7Y3R0QXV0aEluZm86RH0pKX1qc3BiSW5mbyhuLFcsRCl7dmFyIGI9IiI7Zm9yKGxldCB2PTA7djxZdihuKS5sZW5ndGg7disrKVl2KG4pW3ZdIT09dm9pZCAwJiYKKGI9dj09PTA/Yi5jb25jYXQoYCR7dn1gKTpiLmNvbmNhdChgXyR7dn1gKSk7Wk0odGhpcyxgaW5mb18ke2J9XyR7V31gKXx8KGcuU0UobiwyLFcpLFc9e2N0dEF1dGhJbmZvOkR9LEQ9Zy5sKCJqc3BiX3NwYXJzZV9lbmNvZGVkX3Bpdm90Iik/bmV3IFp2KFt7fV0pOm5ldyBadixyZShELFVrciw3LHlZMSxuKSxmMmooRCxXKSl9c3BhbihuLFcsRCxiKXt2YXIgdj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtpZihifHwhWk0odGhpcyxgc3Bhbl8ke3Z9XyR7V31gKSluLmNsaWVudEFjdGlvbk5vbmNlPVcsZy56VSgibGF0ZW5jeUFjdGlvblNwYW4iLG4se2N0dEF1dGhJbmZvOkR9KX19O3ZhciBaWj13aW5kb3cscWtyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy50aW1pbmc9e307dGhpcy5jbGVhclJlc291cmNlVGltaW5ncz0oKT0+e307CnRoaXMud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9Owp0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5tc0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5vQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9fX0sVUg9WloucGVyZm9ybWFuY2V8fFpaLm1velBlcmZvcm1hbmNlfHxaWi5tc1BlcmZvcm1hbmNlfHxaWi53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IHFrcjt2YXIgd2I9ITEsbCQ9ITEsUXY9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9InBsYXllci93d3ctcGxheWVyIl0nOiJwYyIsJ3NjcmlwdFtuYW1lPSJkZXNrdG9wX3BvbHltZXIvZGVza3RvcF9wb2x5bWVyIl0nOiJkcGoiLCdsaW5rW3JlbD0iaW1wb3J0Il1bbmFtZT0iZGVza3RvcF9wb2x5bWVyIl0nOiJkcGgiLCdzY3JpcHRbbmFtZT0ibW9iaWxlLWMzIl0nOiJtY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1jMyJdJzoibWNjIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXBob25lL2Jhc2UiXSc6Im1jcHBqIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXRhYmxldC9iYXNlIl0nOiJtY3B0aiIsCidsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX2NzcyJdJzoibWJjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX2luX3VzZXJzX21vZCJdJzoibWJsaXVqIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX291dF91c2Vyc19tb2QiXSc6Im1ibG91aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX25vbmNvcmVfbW9kIl0nOiJtYm5qIiwiI3BsYXllcl9jc3MiOiJtYnBjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfZGVza3RvcHBsYXllcl9tb2QiXSc6Im1icGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZV9ibGF6ZXJfdGFibGV0X2NzcyJdJzoibWJ0YyIsCidzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSxabmk9KDAsZy5LdCkoVUguY2xlYXJSZXNvdXJjZVRpbWluZ3N8fFVILndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzfHxVSC5tb3pDbGVhclJlc291cmNlVGltaW5nc3x8VUgubXNDbGVhclJlc291cmNlVGltaW5nc3x8VUgub0NsZWFyUmVzb3VyY2VUaW1pbmdzfHxnLkZULFVIKTt2YXIgVUM9d2luZG93O1VDLnl0Y3NpJiYoVUMueXRjc2kuaW5mb0dlbD1nLm5sLFVDLnl0Y3NpLnRpY2s9Zy5hTCk7dmFyIG85aj1bInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuQnJvd3NlUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBsYXllclJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QYW5lbFJlc3BvbnNlIl0sWDc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLmo9bjt0aGlzLnlHPVc7dGhpcy5XPUQ7dGhpcy5YPWI7dGhpcy5KPXY7dGhpcy5OPW5ldyBNYXA7bi53ZHx8KG4ud2Q9e30pO24ud2Q9ey4uLmdnMSwuLi5uLndkfX19O3ZhciBhOD1uZXcgZy5BTCgiSU5ORVJUVUJFX1RSQU5TUE9SVF9UT0tFTiIpLFZXPW5ldyBnLkFMKCJSRVNQT05TRV9QUk9DRVNTT1JfTUFQX1RPS0VOIik7dmFyIE1hPW5ldyBnLkFMKCJFTkRQT0lOVF9NQVAiKTt2YXIgeVg9Y2xhc3N7fTt2YXIgTnI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPSJwZW5kaW5nIjt0aGlzLko9W107dGhpcy5XPVtdO3RyeXtuKHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpfWNhdGNoKFcpe3RoaXMucmVqZWN0KFcpfX1zdGF0ZSgpe3JldHVybiB0aGlzLk49PT0iZnVsZmlsbGVkIj97c3RhdGU6ImZ1bGZpbGxlZCIsdmFsdWU6dGhpcy5yZXN1bHR9OnRoaXMuTj09PSJyZWplY3RlZCI/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fVgobil7WW8obil8fFlEKG4pP1NrKEhQKG4pLHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLk49ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9bixtRSh0aGlzKSl9cmVqZWN0KG4pe3RoaXMuTj0icmVqZWN0ZWQiO3RoaXMuZXJyb3I9bjttRSh0aGlzKX19LFlEPXEzKG49PmtDeChuKT9uIGluc3RhbmNlb2YgTnI6ITEpO3ZhciBjZT1uZXcgZy5BTCgiQVVUSF9TRVJWSUNFX1RPS0VOIik7dmFyIHVkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIEQ9bi55dFJlcXVlc3Q7Zy5SVShELmlucHV0KTt2YXIgYj1ELlBpPy5tb2RlPT09ImNvcnMiPyJjb3JzIjp2b2lkIDA7aWYoVy5OLnNCKXt2YXIgdj1ELmNvbmZpZzt2PVcuTi5haih2Py5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6dj8uQkc/LnNlc3Npb25JbmRleH0pO2I9ey4uLmtWKGIpLC4uLnZ9fWVsc2UgYj15aWVsZCpQUChNRXcoVyxELmNvbmZpZyxiKSk7RC5QaT17Li4uRC5QaSxoZWFkZXJzOnsuLi4oRC5QaT8uaGVhZGVycz8/e30pLC4uLmJ9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczpufX0oKX0pfX07CnVkW2cuTFhdPVtjZV07dmFyIGFqPW5ldyBnLkFMKCJSRVNQT05TRV9NQUNISU5FX1JFR0lTVFJZX1RPS0VOIiksblI9bmV3IGcuQUwoIlJFU1BPTlNFX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpO3ZhciBCZT1uZXcgZy5BTCgiRVBIRU1FUkFMX1NUT1JFX1RPS0VOIik7dmFyIG9qPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuTj1uO3RoaXMuSj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5KLEQ9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9Yi5jb25maWc/LkhuPy5STDtpZih2JiZXJiZXLmhhcyh2KSYmIWIuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz15aWVsZCpQUChIUChXLmdldCh2KSkpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGcubCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFrLmlzUHJvY2Vzc2VkKCk/KGs9RCgpLGI9eWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOmIseXRSZXF1ZXN0Om4ueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmJ9KSksCnlpZWxkKlBQKEhQKHRlKFcsdikpKSx7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpifSk6e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Yn19cmV0dXJue25leHRTdGF0ZToiTE9DQUxfUk9VVEVSIixwYXJhbXM6bn19KCl9KX19OwpvaltnLkxYXT1bblIsZy5ocChCZSldO3ZhciBkXz1jbGFzcyBleHRlbmRzIHlYe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLko9bjt0aGlzLk49V31leGVjdXRlKG4pe3ZhciBXPXRoaXMuSixEPXRoaXMuTixiPW4ueXRSZXF1ZXN0LHY9Yj8uaW5uZXJUdWJlUmVxdWVzdD8uY29udGV4dDtpZighdilyZXR1cm4gSFAoe25leHRTdGF0ZToiQVVUSCIscGFyYW1zOm59KTt2YXIgaz1bXTtpZihEJiZELmxlbmd0aD4wKWZvcihsZXQgaCBvZiBEKUQ9aC5CcyhiKSxELk4mJmsucHVzaChELk4pO2ZvcihsZXQgaCBvZiBXfHxbXSloLkJzKHYpO3JldHVybiBrLmxlbmd0aD4wP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7eWllbGQqUFAoSFAoUHJvbWlzZS5hbGwoaykpKTtyZXR1cm57bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6bn19KCl9KTpIUCh7bmV4dFN0YXRlOiJBVVRIIiwKcGFyYW1zOm59KX19O2RfW2cuTFhdPVtnLmhwKG5ldyBnLkFMKCJDT05URVhUX1BST0NFU1NPUl9NQVAiKSksZy5ocChuZXcgZy5BTCgiQVNZTkNfQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpXTt2YXIgelc9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuTj1ufWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBEPW4ueXRSZXF1ZXN0LmNvbmZpZz8ucmVxdWVzdEtleTtyZXR1cm4gRCYmVy5oYXMoRCkmJihEPVcuZ2V0KEQpLEQ9eWllbGQqUFAoSFAoRCkpKT97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpEfTp7bmV4dFN0YXRlOiJGRVRDSCIscGFyYW1zOm59fSgpfSl9fTsKeldbZy5MWF09W2lkXTt2YXIgR3h0PW5ldyBnLkFMKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIGxkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuSj1uO3RoaXMuTj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OLEQ9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9bi5jaHVua0NhbGxiYWNrLGs9e3R5cGU6IlBBR0VfQ09OVFJBQ1QifTtpZihXPy5yNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpe2xldCB4PXlpZWxkKlBQKEhQKFcuWVIoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpKSk7aWYoeCl7bGV0IEw9ITE7dmFyIGg9ZnVuY3Rpb24oZSxHKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHI9RCgpO3lpZWxkKlBQKHlxKHIse3dpcmVSZXNwb25zZTpHLHl0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6dixyZXNwb25zZVBheWxvYWQ6a30pKTtMPSEwfSgpfTsKeC5wbGF5ZXJSZXNwb25zZSYmKHlpZWxkKmgoeC5wbGF5ZXJSZXNwb25zZSx7cGxheWVyUmVzcG9uc2U6eC5wbGF5ZXJSZXNwb25zZX0pKTt4LndhdGNoTmV4dFJlc3BvbnNlJiYoeWllbGQqaCh4LndhdGNoTmV4dFJlc3BvbnNlLHt3YXRjaE5leHRSZXNwb25zZTp4LndhdGNoTmV4dFJlc3BvbnNlfSkpO0x8fChoPUQoKSx5aWVsZCpQUCh5cShoLHt3aXJlUmVzcG9uc2U6eCx5dFJlcXVlc3Q6YixjaHVua0NhbGxiYWNrOnYscmVzcG9uc2VQYXlsb2FkOmt9KSkpO2lmKHYpcmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6a307aD1rLmNvbnRlbnR8fGsucGxheWVyfHxrLnlCO3JldHVybiBrLnR5cGU9PT0iUEFHRV9DT05UUkFDVCImJmg/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aH06e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6eH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkZhbGxiYWNrTm9kZSBmYWlsZWQgdG8gcHJvZHVjZSBhIHZhbGlkIHJlc3BvbnNlIil9fSgpfSl9fTsKbGRbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIEVDPWNsYXNzIGV4dGVuZHMgZy5ReHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoVyx7c3RhdHVzOkQsLi4uW119KTt0aGlzLnR5cGU9bjt0aGlzLnN0YXR1cz1EO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBsQj1uZXcgZy5BTCgiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFRXPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXLEQsYil7c3VwZXIoKTt0aGlzLnlHPW47dGhpcy5OPVc7dGhpcy5XPUQ7dGhpcy5KPWJ9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLnlHLEQ9dGhpcy5OLGI9dGhpcy5XLHY9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBrPW4ueXRSZXF1ZXN0LGg9bi5jaHVua0NhbGxiYWNrLHg9ay5jb25maWc/LnJlcXVlc3RLZXksTD1KU09OLnN0cmluZ2lmeShrLmlubmVyVHViZVJlcXVlc3QpLGU9ey4uLmsuUGksYm9keTprLlBpLm1ldGhvZD09PSJQT1NUIj9MOnZvaWQgMH07ay5jb25maWc/LkxhJiZnLmFMKGsuY29uZmlnLkxhKTt2YXIgRz17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHI9MCxOPXk9PntFbyhiKCkse3dpcmVSZXNwb25zZTp5LHl0UmVxdWVzdDprLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6R30scisrKX07Ckw9KCk9Pmg/Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcsTik6Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcpOwp0cnl7dmFyIEg9dj92LlFOKGssTCk6TCgpfWNhdGNoKHkpe0g9UHJvbWlzZS5yZWplY3QoeSl9eCYmRCYmRC5zZXQoeCxIKTt0cnl7dmFyIEE9eWllbGQqUFAoSFAoSCkpfWNhdGNoKHkpe3JldHVybiBnLmwoIndlYl9lbmFibGVfcmV0cmllcyIpJiYoQT15IGluc3RhbmNlb2YgVHlwZUVycm9yJiZ5Lm1lc3NhZ2U9PT0iRmFpbGVkIHRvIGZldGNoIj8xOjAsVW8oQSkpP3tuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLm4sZXJyb3I6bmV3IEVDKEEseS5tZXNzYWdlKSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTp7bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX19eCYmRCYmRC5kZWxldGUoeCk7ZWsoeEQoay5pbnB1dCkpKCk7ay5jb25maWc/LlJWJiZnLmFMKGsuY29uZmlnLlJWKTtpZighQSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX07aWYoQSYmdHlwZW9mIEE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoQSkmJih4PUEseC5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJgooeD14LmVycm9yTWV0YWRhdGEuc3RhdHVzLEg9eD09PTUwM3x8eD09PTUwNHx8eD09PTQyOT8yOng+PTQwMCYmeDw1MDB8fHg+PTUwMD8zOjAsVW8oSCkmJmcubCgid2ViX2VuYWJsZV9yZXRyaWVzIikpKSlyZXR1cm57bmV4dFN0YXRlOiJSRVRSWSIscGFyYW1zOnsuLi5uLGVycm9yOm5ldyBFQyhILGBIVFRQIFN0YXR1cyAke3h9YCx4KSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTshaCYmQSYmKHg9YigpLHg9eWllbGQqUFAoRW8oeCx7d2lyZVJlc3BvbnNlOkEseXRSZXF1ZXN0OmsscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn19KSksSD14LmNvbnRlbnR8fHgucGxheWVyfHx4LnlCLHgudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmSCYmKEE9SCkpO3g9QTtpZihBcnJheS5pc0FycmF5KEEpKWlmKEE9QS5maWx0ZXIoeT0+ISh5LnBsYXllclJlc3BvbnNlfHx5LndhdGNoTmV4dFJlc3BvbnNlfHx5KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLEEubGVuZ3RoPT09CjEpeD1BWzBdOwplbHNlIGlmKEEubGVuZ3RoPjEpeD1BLmZpbmQoeT0+eS53YXRjaE5leHRSZXNwb25zZSl8fEFbMF07CmVsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmV0Y2hOb2RlIHByb2R1Y2VkIG9ubHkgZnJhbWV3b3JrLW9ubHkgcmVzcG9uc2VzIil9O3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmgmJiFnLmwoIndlYl9ubV9mZXRjaF9jaHVua19jYWxsYmFja19rcyIpP0c6eH19KCl9KX19OwpUV1tnLkxYXT1bbEIsaWQsblIsZy5ocChuZXcgZy5BTCgiUkVRVUVTVF9TRVFVRU5DSU5HIikpXTt2YXIgams9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKCk7dGhpcy5KPW47dGhpcy5OPVd9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLk4sRD10aGlzLkosYj1uLnl0UmVxdWVzdDtyZXR1cm4gVz8uckEoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHY9eWllbGQqUFAoSFAoVy5zNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpKTt2YXIgaz1EKCk7di5wbGF5ZXJSZXNwb25zZSYmdi53YXRjaE5leHRSZXNwb25zZT8oeWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTp2LnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6bi55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazpuLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6di5wbGF5ZXJSZXNwb25zZX0pKSxrPXlpZWxkKlBQKHlxKGssCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOnYud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2LndhdGNoTmV4dFJlc3BvbnNlfSkpKTprPXlpZWxkKlBQKHlxKGsse3dpcmVSZXNwb25zZTp2LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2fSkpO3ZhciBoPWsuY29udGVudHx8ay5wbGF5ZXJ8fGsueUI7ay50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZoJiYodj1oKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTp2fX0oKX0pOkhQKHtuZXh0U3RhdGU6IkNPTlRFWFQiLApwYXJhbXM6bn0pfX07amtbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIENsPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dHJ5e3ZhciBEPXlpZWxkKlBQKFZFMihXLG4uY29tbWFuZCwhIW4uY2h1bmtDYWxsYmFjaykpfWNhdGNoKGIpe3JldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6Yn19cmV0dXJuKEQ9RC5EKG4uY29tbWFuZCxuLmZvcm0sbi5pZGVudGl0eSkpP3tuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDpELGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrfX06e25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmFpbGVkIHRvIGJ1aWxkIHJlcXVlc3QgZm9yIGNvbW1hbmQiKX19KCl9KX19OwpDbFtnLkxYXT1bTWFdO3ZhciBCUD1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OlcsYXBpUGF0aDpELGNsaWNrVHJhY2tpbmdQYXJhbXM6Yixjb25maWc6dj17Qkc6e2lkZW50aXR5OnU5fX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTprPSEwLGNodW5rQ2FsbGJhY2s6aH09bjtXLmNvbnRleHR8fChXLmNvbnRleHQ9Zy52YihiLGspKTt2YXIgeD1acihLJChEKSk7cmV0dXJue25leHRTdGF0ZToiQ0FDSEUiLHBhcmFtczp7eXRSZXF1ZXN0OntpbnB1dDp4LFBpOlV6KHgpLGlubmVyVHViZVJlcXVlc3Q6Vyxjb25maWc6dn0sY2h1bmtDYWxsYmFjazpofX19KCl9KX19O3ZhciB0NE09Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50ZT1ufXJ1bihuLFcpe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBiPW4sdj1XLGs9W107Oyl7ay5wdXNoKFN0cmluZyhiKSk7dj15aWVsZCpQUChELnRlW2JdLmV4ZWN1dGUodikpO2lmKHYubmV4dFN0YXRlPT09IkRPTkUiKXJldHVybiBrLnB1c2goIkRPTkUiKSx2LnZhbHVlO2lmKHYubmV4dFN0YXRlPT09IkZBSUxFRCIpdGhyb3cgay5wdXNoKGBGQUlMRUQoJHt2LmVycm9yLm1lc3NhZ2V8fCJlcnJvciJ9KWApLHYuZXJyb3I7Yj12Lm5leHRTdGF0ZTt2PXYucGFyYW1zfX0oKX0pfX07Zy5Ncj1jbGFzcyBleHRlbmRzIHQ0TXt9O2cuTXIucHJvdG90eXBlLkQ9V1ooMSk7Zy5NcltnLkxYXT1bd19dO3ZhciBGNz1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIFc9bi55dFJlcXVlc3QsRD1uLmVycm9yLGI9bi5hdHRlbXB0LHY9bi5jaHVua0NhbGxiYWNrLGs9Vy5jb25maWc/Llh4O2lmKCEoayYmRCBpbnN0YW5jZW9mIEVDJiZVbyhELnR5cGUpKXx8Yj4oay5tYXhSZXRyaWVzPz8wKSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnt5dFJlcXVlc3Q6VyxjaHVua0NhbGxiYWNrOnZ9fTt2YXIgaD0oRD1rLmtVKT9ELlBaKGIpOi0xO2g9PT0tMSYmKGg9MUUzKTtrLlQ2IT09dm9pZCAwJiYoaD1NYXRoLm1pbihoLGsuVDYpKTt5aWVsZCpQUChIUChuZXcgUHJvbWlzZSh4PT57Zy5WeCgwLHgsNCxoKX0pKSk7CnJldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpXLGNodW5rQ2FsbGJhY2s6dixhdHRlbXB0OmJ9fX0oKX0pfX07dmFyIFJqPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLmNodW5rQ2FsbGJhY2ssRD1uLnJlc3BvbnNlUGF5bG9hZCxiPW4ud2lyZVJlc3BvbnNlO1cmJihXKEQpLCJwbGF5ZXJSZXNwb25zZSJpbiBiJiZiLnBsYXllclJlc3BvbnNlJiYoZy5EeSgpLGJRKDQpKSk7cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6RH19KCl9KX19O3ZhciAkejI9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLFFxPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLm9uZVBsYXRmb3JtRXJyb3I7aWYoVyYmImRldGFpbHMiaW4gVyYmVy5kZXRhaWxzKXtXPVcuZGV0YWlscztmb3IobGV0IEQgb2YgVylpZigoVz1EWyJAdHlwZSJdKSYmJHoyLmluZGV4T2YoVyk+LTEpcmV0dXJuIGRlbGV0ZSBEWyJAdHlwZSJdLHtuZXh0U3RhdGU6IlBST0NFU1NfUkVTUE9OU0UiLApwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkVycm9yIHJlc3BvbnNlIGNvdWxkIG5vdCBiZSB1bnBhY2tlZCIpfX0oKX0pfX07dmFyIFZxPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3ZhciBXPXRoaXMuTjtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgRD1uLmV4dHJhY3RlZFJlc3BvbnNlLGI9bi55dFJlcXVlc3Qsdj1uLnJlc3BvbnNlUGF5bG9hZCxrPW4ud2lyZVJlc3BvbnNlO2lmKEQmJiEoImNvZGUiaW4gRHx8ImVycm9yImluIEQpJiYhRC5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2Ygc28pV1toXSYmV1toXS5oYW5kbGVSZXNwb25zZShELGIpO2sud2F0Y2hOZXh0UmVzcG9uc2V8fGsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2sud2F0Y2hOZXh0UmVzcG9uc2U/di5jb250ZW50PWsud2F0Y2hOZXh0UmVzcG9uc2U6di5jb250ZW50PWsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2U/di5wbGF5ZXI9ay5wbGF5ZXJSZXNwb25zZTprLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CnYueUI9ay5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOnYuY29udGVudD1rO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczpufX0oKX0pfX07ClZxW2cuTFhdPVtWV107dmFyIFdHPWNsYXNzIGV4dGVuZHMgdDRNe307V0dbZy5MWF09W2FqXTt2YXIgY1A9Y2xhc3MgZXh0ZW5kcyB5WHtleGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBXPW4ud2lyZVJlc3BvbnNlLEQ7QXJyYXkuaXNBcnJheShXKT9EPVdbMF06dHlwZW9mIFc9PT0ib2JqZWN0IiYmVyE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gV3x8IndhdGNoTmV4dFJlc3BvbnNlImluIFd8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gV3x8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gVyk/RD1XLnBsYXllclJlc3BvbnNlfHxXLndhdGNoTmV4dFJlc3BvbnNlfHxXLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Vy5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOkQ9VztyZXR1cm4gRCYmImVycm9yImluIEQ/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4ubixvbmVQbGF0Zm9ybUVycm9yOkQuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fSgpfSl9fTt2YXIgUEd4PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBDOGJ9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixMdTEpfHx2b2lkIDB9SihuLFcsRD17fSl7Vy5jaGFubmVsSWRzJiYobi5jaGFubmVsSWRzPVcuY2hhbm5lbElkcyk7Vy5zaWxvTmFtZSYmKG4uc2lsb05hbWU9Vy5zaWxvTmFtZSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7RC5ib3RndWFyZFJlc3BvbnNlJiYobi5ib3RndWFyZFJlc3BvbnNlPUQuYm90Z3VhcmRSZXNwb25zZSk7RC5mZWF0dXJlJiYobi5jbGllbnRGZWF0dXJlPUQuZmVhdHVyZSl9fTt2YXIgWmh0PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBCeWl9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixoblUpfHx2b2lkIDB9SihuLFcpe1cuY2hhbm5lbElkcyYmKG4uY2hhbm5lbElkcz1XLmNoYW5uZWxJZHMpO1cuc2lsb05hbWUmJihuLnNpbG9OYW1lPVcuc2lsb05hbWUpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpfX07dmFyIFI4PWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNKPW59Vygpe3JldHVybiBkJFN9TihuKXtyZXR1cm4gZy53KG4sdXhDKXx8Zy53KG4sb05pKXx8Zy53KG4saXpTKX1KKG4sVyl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO1cuY2xpZW50UGFyYW1JZGVudGlmaWVyJiZ0aGlzLmNKPy5OKFcuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKG4uY2xpZW50UGFyYW1zPXRoaXMuY0ouSihXLmNsaWVudFBhcmFtSWRlbnRpZmllcikpfX07UjhbZy5MWF09W25ldyBnLkFMKCJTSEFSRV9DTElFTlRfUEFSQU1TX1BST1ZJREVSX1RPS0VOIildO3ZhciBtZlM9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGxPTX1nZXQgaigpe3JldHVybiEwfU4obil7cmV0dXJuIGcudyhuLFNZdyl8fHZvaWQgMH1KKG4sVyxEKXtuLmZlZWRiYWNrVG9rZW5zPVtdO1cuZmVlZGJhY2tUb2tlbiYmbi5mZWVkYmFja1Rva2Vucy5wdXNoKFcuZmVlZGJhY2tUb2tlbik7aWYoVz1XLmNwbnx8RC5jcG4pbi5mZWVkYmFja0NvbnRleHQ9e2NwbjpXfTtuLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPSEhRC5pc19mZWVkYmFja190b2tlbl91bmVuY3J5cHRlZDtuLnNob3VsZE1lcmdlPSExO0QuZXh0cmFfZmVlZGJhY2tfdG9rZW5zJiYobi5zaG91bGRNZXJnZT0hMCxuLmZlZWRiYWNrVG9rZW5zPW4uZmVlZGJhY2tUb2tlbnMuY29uY2F0KEQuZXh0cmFfZmVlZGJhY2tfdG9rZW5zKSl9fTt2YXIgSzRpPWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBUeXd9TihuKXtyZXR1cm4gZy53KG4sa2l3KXx8dm9pZCAwfUoobixXKXtXLnBhcmFtcyYmKG4ucGFyYW1zPVcucGFyYW1zKTtXLnNlY29uZGFyeVBhcmFtcyYmKG4uc2Vjb25kYXJ5UGFyYW1zPVcuc2Vjb25kYXJ5UGFyYW1zKX19O3ZhciBPaHI9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGpkeH1OKG4pe3JldHVybiBnLncobixuWEMpfHx2b2lkIDB9SihuLFcpe1cuYWN0aW9ucyYmKG4uYWN0aW9ucz1XLmFjdGlvbnMpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpO1cucGxheWxpc3RJZCYmKG4ucGxheWxpc3RJZD1XLnBsYXlsaXN0SWQpfX07dmFyIFVmWj1jbGFzcyBleHRlbmRzIFBDe1coKXtyZXR1cm4gem50fU4obil7cmV0dXJuIGcudyhuLGRJeCl9SihuLFcsRD17fSl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO0QuaW5jbHVkZUxpc3RJZCYmKG4uaW5jbHVkZUxpc3RJZD0hMCl9fTt2YXIgUVc9bmV3IGcuQUwoIlJFU09MVkVfVVJMX1BSRUZFVENIX1RPS0VOIik7dmFyIGpZPW5ldyBnLkFMKCJDTElFTlRfTkFNRV9UT0tFTiIpO3ZhciBDZj1uZXcgZy5BTCgiREVGQVVMVF9TVE9SRV9FWFBJUkFUSU9OX1RPS0VOIik7dmFyIHJaaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuY2xpZW50TmFtZT1uO3RoaXMuSj1XfWFzeW5jIHB1dChuLFcpe1c9ey4uLlcuZGF0YX07Vy5rZXk9bjtXLmNsaWVudE5hbWU9dGhpcy5jbGllbnROYW1lO1cuZXhwaXJlVGltZXN0YW1wTXM9PT12b2lkIDAmJihXLmV4cGlyZVRpbWVzdGFtcE1zPShNYXRoLnJvdW5kKCgwLGcuUikoKSkrdGhpcy5KKS50b1N0cmluZygpKTtyZXR1cm4gRHcodGhpcyxuLFcpfX07clpoW2cuTFhdPVtqWSxDZl07dmFyIGJoPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuZGF0YT17Li4ubn07ZGVsZXRlIHRoaXMuZGF0YS5pbm5lcnR1YmVSZXNwb25zZT8uZnJhbWV3b3JrVXBkYXRlc31pc0V4cGlyZWQoKXtyZXR1cm4gTnVtYmVyKHRoaXMuZGF0YS5leHBpcmVUaW1lc3RhbXBNc3x8MCk8KDAsZy5SKSgpfWlzUHJvY2Vzc2VkKCl7cmV0dXJuISF0aGlzLmRhdGEuaXNQcm9jZXNzZWR9fTt2YXIgQTNqPWNsYXNzIGV4dGVuZHMgclpoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLk49bmV3IE1hcH1hc3luYyBnZXQobil7cmV0dXJuIHZHKHRoaXMsbil9YXN5bmMgcmVtb3ZlKG4pe2tNKHRoaXMsbil9YXN5bmMgVGkoKXt0aGlzLk4uZm9yRWFjaChuPT57Y2xlYXJUaW1lb3V0KG4udGltZXIpfSk7CnRoaXMuTi5jbGVhcigpfWhhcyhuKXtyZXR1cm4hIXRoaXMuTi5nZXQobil9dUIoKXtyZXR1cm4gdGhpcy5OLmtleXMoKX19O3ZhciBzb2I9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIHN2Mn1OKG4pe3JldHVybiBnLncobixUZSl9SihuLFcpe1cudmlkZW9JZCYmKG4ucGxheWVyUmVxdWVzdD17dmlkZW9JZDpXLnZpZGVvSWR9LFcucGxheWVyUGFyYW1zJiYobi5wbGF5ZXJSZXF1ZXN0LnBhcmFtcz1XLnBsYXllclBhcmFtcyksVy5yYWN5Q2hlY2tPayYmKG4ucGxheWVyUmVxdWVzdC5yYWN5Q2hlY2tPaz0hIVcucmFjeUNoZWNrT2spLFcuY29udGVudENoZWNrT2smJihuLnBsYXllclJlcXVlc3QuY29udGVudENoZWNrT2s9ISFXLmNvbnRlbnRDaGVja09rKSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7Vy5pbnB1dFR5cGUmJihuLmlucHV0VHlwZT1XLmlucHV0VHlwZSk7bi5kaXNhYmxlUGxheWVyUmVzcG9uc2U9ITB9VihuKXt2YXIgVzsobj10aGlzLlgobikpJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3JlZWxzX3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InJfd3JzIixXLlJWPSJyX3dyciIpOwpyZXR1cm4gV31YKG4pe249dGhpcy5OKG4pO2lmKG4/LnZpZGVvSWQpe3ZhciBXPXt2aWRlb0lkOm4udmlkZW9JZH07bi5wYXJhbXMmJihXLnBhcmFtcz1uLnBhcmFtcyk7cmV0dXJuIHlIKCJyZWVsX2l0ZW1fd2F0Y2giLFcpfX19O3ZhciBOdE09bmV3IGcuQUwoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBZa1M9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj1wRmksVz1xTihVeGooKSk7dGhpcy5zdG9yZT0kZihuLHZvaWQgMCxXKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2gobil7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2gobil9c3Vic2NyaWJlKG4pe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShuKX1yZXBsYWNlUmVkdWNlcihuKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihuKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgUzU9Y2xhc3N7Y29uc3RydWN0b3Iobj1bXSl7dGhpcy5OPVtdO3RoaXMuVz10aGlzLko9MDt0aGlzLlg9dm9pZCAwO3RoaXMudG90YWxMZW5ndGg9MDtuLmZvckVhY2goVz0+e3RoaXMuYXBwZW5kKFcpfSl9aigpe3JldHVybiB0aGlzLnRvdGFsTGVuZ3RofWFwcGVuZChuKXtpZih4TSh0aGlzLG4pKXtsZXQgVz10aGlzLk5bdGhpcy5OLmxlbmd0aC0xXTsKdGhpcy5OW3RoaXMuTi5sZW5ndGgtMV09bmV3IFVpbnQ4QXJyYXkoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoK24ubGVuZ3RoKTtMUih0aGlzKX1lbHNlIHRoaXMuTi5wdXNoKG4pO3RoaXMudG90YWxMZW5ndGgrPW4ubGVuZ3RofXNwbGl0KG4pe3ZhciBXPW5ldyBTNSxEPW5ldyBTNTtmb3IobGV0IGIgb2YgdGhpcy5OKW4+PWIubGVuZ3RoPyhXLmFwcGVuZChiKSxuLT1iLmxlbmd0aCk6bj8oVy5hcHBlbmQobmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0LG4pKSxELmFwcGVuZChuZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQrbixiLmxlbmd0aC1uKSksbj0wKTpELmFwcGVuZChiKTtyZXR1cm57Q3M6VyxZOTpEfX1pc0ZvY3VzZWQobil7cmV0dXJuIG4+PXRoaXMuVyYmbjx0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RofWZvY3VzKG4pe2lmKCF0aGlzLmlzRm9jdXNlZChuKSl7Zm9yKG48dGhpcy5XJiZMUih0aGlzKTt0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RoPD0KbiYmdGhpcy5KPHRoaXMuTi5sZW5ndGg7KXRoaXMuVys9dGhpcy5OW3RoaXMuSl0ubGVuZ3RoLHRoaXMuSis9MTt0aGlzLlg9dm9pZCAwfX19O3ZhciBZTSxORCxmUjtnLk5tPSgoKT0+e3ZhciBuPWI9Pm5ldyBVaW50OEFycmF5KGIpLFc9Yj0+e3ZhciB2PW5ldyBVaW50OEFycmF5KGIubGVuZ3RoKTsKZm9yKGxldCBrPTA7azxiLmxlbmd0aDtrKyspdltrXT1iW2tdO3JldHVybiB2fSxEPW5ldyBVaW50OEFycmF5KFsxXSk7CnJldHVybiBELmxlbmd0aD09PTEmJkRbMF09PT0xP246V30pKCk7CllNPUFycmF5KDEwMjQpO05EPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7ZlI9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDt2YXIgQVI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW47dGhpcy5wb3M9MDt0aGlzLko9LTF9fTt2YXIgejY9Y2xhc3N7Y29uc3RydWN0b3Iobj00MDk2KXt0aGlzLldWPXZvaWQgMDt0aGlzLnBvcz0wO3RoaXMuSj1bXTt0aGlzLk49ZGQobik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLk4uYnVmZmVyLHRoaXMuTi5ieXRlT2Zmc2V0LHRoaXMuTi5ieXRlTGVuZ3RoKX19O3ZhciBhdz17YW5pbWF0aW9uRW50aXR5OjMwMixhY2NvdW50TGlua1N0YXR1c0VudGl0eToxMjIsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTo2MzAsYm9vbGVhbkVudGl0eTozMDcsYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTo2MzcsYnV0dG9uRW50aXR5OjM1OCxjYXB0aW9uVHJhY2s6MjI1LGNoYW5uZWxIYW5kbGU6Mjc1LGNoaXBFbnRpdHk6NDk4LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OjI3Nixjb21tZXJjZUNhcnRMaXN0RW50aXR5OjIzNixjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTo1MzIsY29tcG9zaXRlU291cmNlRW50aXR5OjU5NCxjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOjQ4Myxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOjU3Nixjb250aW51YXRpb25Ub2tlbkVudGl0eTo0MDYsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OjIwMixkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OjI5OSwKZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OjI2NCxkb3dubG9hZFN0YXR1c0VudGl0eToxNDEsZGlzbWlzc1N0YXRlOjU0MCxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OjE4NixlbW9qaUZvdW50YWluRGF0YUVudGl0eTozOTMsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OjQ5NixmYWtlQ2hhbm5lbDoyLGZha2VQbGF5bGlzdDoyNzksZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOjI4MCxmYWtlVmlkZW86MTgyLGZha2VWaWRlb0Rlc2NyaXB0aW9uOjI3OCxmZWF0dXJlZFByb2R1Y3RzRW50aXR5OjM5MixzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHk6NTk4LGZsb3dTdGF0ZUVudGl0eToyNTIsaWNvbkJhZGdlRW50aXR5OjIyOSxpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5OjQ0MyxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OjU2NyxsaXZlQ2hhdFBvbGxTdGF0ZUVudGl0eToyMTcsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTo1NjMsCmxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eTo1NjQsbGl2ZVJlYWN0aW9uc0RhdGFFbnRpdHk6NTAzLGxvZ29FbnRpdHk6MjQ1LG1hY3JvTWFya2VyRW50aXR5OjMyOSxtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eToxNTgsbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6MTY0LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6MzczLG1haW5QbGF5bGlzdEVudGl0eTozMDYsbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6MzY4LG1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6MjYyLG1haW5WaWRlb0VudGl0eToyNjEsbWFya2Vyc0VuZ2FnZW1lbnRQYW5lbFN5bmNFbnRpdHk6MTk2LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6MzEyLG11c2ljQWxidW1SZWxlYXNlRGV0YWlsOjE4LG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eToyNTksbXVzaWNBbGJ1bVJlbGVhc2U6MTcsbXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsOjE5LG11c2ljQXJ0aXN0RGV0YWlsOjIxLAptdXNpY0FydGlzdDoyMCxtdXNpY0FydGlzdFVzZXJEZXRhaWw6MjIsbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OjI1NyxtdXNpY0xpYnJhcnlFZGl0OjEyMSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6MzE4LG11c2ljUGxheWxpc3Q6MjQsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjQ4LG11c2ljU2hhcmU6MTAwLG11c2ljVHJhY2tEZXRhaWw6MjksbXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjM0LG11c2ljVHJhY2s6MjgsbXVzaWNUcmFja1VzZXJEZXRhaWw6MzAsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OjE2OSxvZmZsaW5lVmlkZW9Qb2xpY3k6MTMwLG9mZmxpbmVWaWRlb1N0cmVhbXM6MTk4LG9mZmxpbmVhYmlsaXR5RW50aXR5OjI0NixvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6MjQyLHBhZ2VIZWFkZXJFbnRpdHk6NDk1LHBhcnR5R2FtZVBhbmVsRW50aXR5OjYxOCxzbGlkZXJHYW1lUGFuZWxFbnRpdHk6NjMzLApwZHBTdGF0ZUVudGl0eTo1MjQscGlubmVkUHJvZHVjdEVudGl0eToyNzMscGxheWJhY2tEYXRhOjExOSxwbGF5ZXJTdGF0ZUVudGl0eTozMjMscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTo1MzkscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTozNTYscmVmcmVzaDoxNDgsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OjIzMSxzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6NDc5LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTo2MzQsc2V0dGluZ0VudGl0eToyOTcsc3RyaW5nRW50aXR5OjM4MixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTo0ODUsdHJhbnNmZXI6MTIwLHRyZW5kaW5nT2ZmZXJFbnRpdHk6NDY5LHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OjYzNSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTo0NjEsdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTo1NDUsdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5Ojc2LHZvdGluZ0VudGl0eTo1NjEsCnl0TWFpbkNoYW5uZWxFbnRpdHk6MTUyLHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6NTUzLHl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eToxNTUseXRNYWluVmlkZW9FbnRpdHk6MTUxfSxWQT17fTtmb3IobGV0IFtuLFddb2YgT2JqZWN0LmVudHJpZXMoYXcpKXtsZXQgRD1uLGI9VztiJiYoVkFbYl09RCl9O3ZhciB2ZTt2YXIgSDZ0PSExLGdOLGhFLHgkLExmLGVZLGZIYj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNvdW50ZXI9WzAsMCwwLDBdO3RoaXMuSj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5OPTE2O2lmKCFINnQpe3ZhciBXLEQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxiPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIHY9MTtmb3IoVz0wO1c8MjU2O1crKylEW3ZdPVcsYltXXT12LHZePXY8PDFeKHY+PjcmJjI4Myk7Z049bmV3IFVpbnQ4QXJyYXkoMjU2KTtoRT1rJCgyNTYpO3gkPWskKDI1Nik7TGY9ayQoMjU2KTtlWT1rJCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7dj1oP2JbMjU1XkRbaF1dOjA7dl49djw8MV52PDwyXnY8PDNedjw8NDt2PXYmMjU1XnY+Pj44Xjk5O2dOW2hdPXY7Vz12PDwxXih2Pj43JiYyODMpO3ZhciBrPVdedjtoRVtoXT1XPDwyNHx2PDwxNnx2PDw4fGs7eCRbaF09azw8MjR8aEVbaF0+Pj44O0xmW2hdPXY8PDI0fHgkW2hdPj4+Cjg7ZVlbaF09djw8MjR8TGZbaF0+Pj44fUg2dD0hMH12PWskKDQ0KTtmb3IoRD0wO0Q8NDtEKyspdltEXT1uWzQqRF08PDI0fG5bNCpEKzFdPDwxNnxuWzQqRCsyXTw8OHxuWzQqRCszXTtmb3IoYj0xO0Q8NDQ7RCsrKW49dltELTFdLEQlNHx8KG49KGdOW24+PjE2JjI1NV1eYik8PDI0fGdOW24+PjgmMjU1XTw8MTZ8Z05bbiYyNTVdPDw4fGdOW24+Pj4yNF0sYj1iPDwxXihiPj43JiYyODMpKSx2W0RdPXZbRC00XV5uO3RoaXMua2V5PXZ9ZW5jcnlwdChuKXt2YXIgVz1uLmxlbmd0aDtuPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyLnNsaWNlKG4uYnl0ZU9mZnNldCxuLmJ5dGVPZmZzZXQrVykpO2Zvcih2YXIgRD10aGlzLkosYj0wO2I8VyYmdGhpcy5OPDE2OyluW2IrK11ePURbdGhpcy5OKytdO2Zvcih2YXIgdj1XLShXLWIpJTE2O2I8djspWDgodGhpcyksbltiKytdXj1EWzBdLG5bYisrXV49RFsxXSxuW2IrK11ePURbMl0sbltiKytdXj1EWzNdLG5bYisrXV49RFs0XSxuW2IrK11ePQpEWzVdLG5bYisrXV49RFs2XSxuW2IrK11ePURbN10sbltiKytdXj1EWzhdLG5bYisrXV49RFs5XSxuW2IrK11ePURbMTBdLG5bYisrXV49RFsxMV0sbltiKytdXj1EWzEyXSxuW2IrK11ePURbMTNdLG5bYisrXV49RFsxNF0sbltiKytdXj1EWzE1XTtpZihiPFcpZm9yKFg4KHRoaXMpLHRoaXMuTj0wO2I8VzspbltiKytdXj1EW3RoaXMuTisrXTtyZXR1cm4gbn19O3ZhciBxYT0hMTsoKCk9Pnt2YXIgbj1iPT5uZXcgVWludDhBcnJheShiKSxXPWI9Pnt2YXIgdj1uZXcgVWludDhBcnJheShiLmxlbmd0aCk7CmZvcihsZXQgaz0wO2s8Yi5sZW5ndGg7aysrKXZba109YltrXTtyZXR1cm4gdn0sRD1uZXcgVWludDhBcnJheShbMV0pOwpyZXR1cm4gRC5sZW5ndGg9PT0xJiZEWzBdPT09MT9uOld9KSgpOwp2YXIgR3I7dmFyIHVvPWNsYXNze2NvbnN0cnVjdG9yKG4pe3ZhciBXPXRFKCk7VyYmKHRoaXMuTj1uZXcgZFhNKG4sVykpO3RoaXMuSj1uZXcgYjEobil9YXN5bmMgZW5jcnlwdChuLFcpe2lmKHRoaXMuTil0cnl7cmV0dXJuIGF3YWl0IHRoaXMuTi5lbmNyeXB0KG4sVyl9Y2F0Y2goRCl7Zy5HcShEKSxxYT0hMCx0aGlzLk49dm9pZCAwfXJldHVybiB0aGlzLkouZW5jcnlwdChuLFcpfWRlY3J5cHQobixXKXtyZXR1cm4gdGhpcy5lbmNyeXB0KG4sVyl9fSxkWE09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLko9V31hc3luYyBlbmNyeXB0KG4sVyl7dHJ5e3JldHVybiBhd2FpdCBiaDEodGhpcyxuLFcpfWNhdGNoKEQpe3Rocm93IGcuR3EoRCkscWE9ITAsRDt9fX0sYjE9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW59ZW5jcnlwdChuLFcpe3RoaXMuTnx8KHRoaXMuTj1uZXcgZkhiKHRoaXMuSikpO3ZhciBEPXRoaXMuTjtmb3IobGV0IGI9MDtiPDQ7YisrKUQuY291bnRlcltiXT0KV1tiKjRdPDwyNHxXW2IqNCsxXTw8MTZ8V1tiKjQrMl08PDh8V1tiKjQrM107RC5OPTE2O3JldHVybiB0aGlzLk4uZW5jcnlwdChuKX1kZWNyeXB0KG4sVyl7cmV0dXJuIHRoaXMuZW5jcnlwdChuLFcpfX07dmFyIHZtaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLmo9bmV3IFVpbnQ4QXJyYXkoNjQpO3RoaXMuVz1uZXcgVWludDhBcnJheSg2NCk7dGhpcy5YPTA7dGhpcy5WPW5ldyBVaW50OEFycmF5KDY0KTt0aGlzLko9MDt0aGlzLmouc2V0KG4pO3RoaXMuVy5zZXQobik7Zm9yKG49MDtuPDY0O24rKyl0aGlzLmpbbl1ePTkyLHRoaXMuV1tuXV49NTQ7dGhpcy5yZXNldCgpfXJlc2V0KCl7JCQodGhpcyk7dGhpcy51cGRhdGUodGhpcy5XKX11cGRhdGUobil7dmFyIFc9MCxEPW4ubGVuZ3RoO3RoaXMuWCs9RDt0aGlzLkomJnRoaXMuSitEPj02NCYmKHRoaXMuVi5zZXQobi5zdWJhcnJheSgwLDY0LXRoaXMuSiksdGhpcy5KKSxXPTY0LXRoaXMuSix0aGlzLko9MCxzZSh0aGlzLHRoaXMuViwwKSk7Zm9yKDtXKzY0PD1EO1crPTY0KXNlKHRoaXMsbixXKTtXPEQmJihuPW4uc3ViYXJyYXkoVyksdGhpcy5WLnNldChuLHRoaXMuSiksdGhpcy5KKz1uLmxlbmd0aCl9fSxyTj1bMTExNjM1MjQwOCwKMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCwKNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO3ZhciBZJD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LGhhdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuVz1uO3RoaXMuSj1XfX0saksxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIEpacj17SU5WQUxJRF9FTkNPREVSX1ZFUlNJT046IkludmFsaWQgZW5jb2RlciB2ZXJzaW9uIixLRVlfQ1JFQVRJT05fRkFJTEVEOiJGYWlsZWQgdG8gY3JlYXRlIGVuY29kZXIga2V5IixVTktOT1dOX0RFQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGRlY29kZSBQRVMgZGF0YSIsVU5LTk9XTl9FTkNPREVfRVJST1I6IkZhaWxlZCB0byBlbmNvZGUgUEVTIGRhdGEiLFdST05HX0RBVEFfVFlQRToiRW5jb2RlciBjYW5ub3QgcHJvY2VzcyB0aGUgZGF0YSB0eXBlIn0sZmY9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sVz17fSl7c3VwZXIoSlpyW25dLHtuYW1lOiJQRVNFbmNvZGVyRXJyb3IiLHR5cGU6biwuLi5XfSk7dGhpcy50eXBlPW47dGhpcy5sZXZlbD0iV0FSTklORyI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsZmYucHJvdG90eXBlKX19O3ZhciBJSGk9Y2xhc3N7fTt2YXIgU2t0PWNsYXNzIGV4dGVuZHMgSUhpe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5OPW59VyhuLFcpe1c9STgoVyk7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiB0aGlzLk4uZW5jcnlwdChuLFcpfUoobixXKXtpZighKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgZmYoIldST05HX0RBVEFfVFlQRSIse09BOjF9KTt2YXIgRD1uZXcgVGV4dERlY29kZXI7Vz1JOChXKTtuPXRoaXMuTi5kZWNyeXB0KG4sVyk7cmV0dXJuIEpTT04ucGFyc2UoRC5kZWNvZGUobikpfX07dmFyIFh5VT17YW5pbWF0aW9uRW50aXR5OmVuaSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpta2gsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTp0UFUsYm9vbGVhbkVudGl0eTpyWXIsYnV0dG9uRW50aXR5OkhNdCxjYXB0aW9uVHJhY2s6bEoyLGNoYW5uZWxIYW5kbGU6a2pNLGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6SU93LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6R2oxLGNoaXBFbnRpdHk6Z1hVLGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OlNOeCxjb21tZXJjZUNhcnRMaXN0RW50aXR5OkFNeCxjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTptJFMsY29tcG9zaXRlU291cmNlRW50aXR5OiRJTSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OnJKYixjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOnhrdCxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOkx0dyxjb250aW51YXRpb25Ub2tlbkVudGl0eTp3d1MsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmlzWiwKZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpveGgsZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OkRJMSxkb3dubG9hZFN0YXR1c0VudGl0eTp1NXQsZGlzbWlzc1N0YXRlOlhSUyxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5Old1WixlbW9qaUZvdW50YWluRGF0YUVudGl0eTpyTTEsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OiQkMixmYWtlQ2hhbm5lbDpwd0MsZmFrZVBsYXlsaXN0OllZcixmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246Zl94LGZha2VWaWRlbzpKWWIsZmFrZVZpZGVvRGVzY3JpcHRpb246SV93LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6cXZDLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpYX1MsZmxvd1N0YXRlRW50aXR5OkFZeCxpY29uQmFkZ2VFbnRpdHk6S3VqLGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6T3NpLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Ynp0LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OlBMciwKZGF0YUZyZXNobmVzc0VudGl0eTp0R3QsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTpSTzEsbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OlE0cixsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpzZGksbG9nb0VudGl0eTpLdHgsbWFjcm9NYXJrZXJFbnRpdHk6dk50LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmRrdCxtYWluRG93bmxvYWRzTGlzdEVudGl0eTpsX1osbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpUQTEsbWFpblBsYXlsaXN0RW50aXR5Ok1QdyxtYWluUGxheWxpc3RWaWRlb0VudGl0eTpSNGksbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eTpqQmksbWFpblZpZGVvRW50aXR5OmFfaixtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTprUHIsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTpoT3QsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6ZkpVLG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eTpzNHQsCm11c2ljQWxidW1SZWxlYXNlOkh6aSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6SkoxLG11c2ljQXJ0aXN0RGV0YWlsOlN2WixtdXNpY0FydGlzdDpJSlUsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOkFKaSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6TmtTLG11c2ljTGlicmFyeUVkaXQ6bUliLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpLTXcsbXVzaWNQbGF5bGlzdDpQVHgsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6cF9yLG11c2ljU2hhcmU6WnppLG11c2ljVHJhY2tEZXRhaWw6eUpTLG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5Oll2dCxtdXNpY1RyYWNrOlVJWixtdXNpY1RyYWNrVXNlckRldGFpbDpFTngsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OlRrdyxvZmZsaW5lVmlkZW9Qb2xpY3k6ajRaLG9mZmxpbmVWaWRlb1N0cmVhbXM6Q1R3LG9mZmxpbmVhYmlsaXR5RW50aXR5OkNMaSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6QkFVLApwYWdlSGVhZGVyRW50aXR5OnFOWixwYXJ0eUdhbWVQYW5lbEVudGl0eTpwUnQsc2xpZGVyR2FtZVBhbmVsRW50aXR5Ok55MSxwZHBTdGF0ZUVudGl0eTpPTWoscGlubmVkUHJvZHVjdEVudGl0eTpHUE0scGxheWJhY2tEYXRhOkJrdyxwbGF5ZXJTdGF0ZUVudGl0eTp4SVoscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eToka2IscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpQOHcscmVmcmVzaDpGTXcsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OnZYaixzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6TE13LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTpzQngsc2V0dGluZ0VudGl0eTp4JFosc3RyaW5nRW50aXR5Ok5BMixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTplT3IsdHJhbnNmZXI6d19NLHRyZW5kaW5nT2ZmZXJFbnRpdHk6dHhqLHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OmZPMix2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpNeFMsCnZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6Wk1qLHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpKTTIsdm90aW5nRW50aXR5OkdpTSx5dE1haW5DaGFubmVsRW50aXR5Om5OMix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmdOcix5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6RnRoLHl0TWFpblZpZGVvRW50aXR5OldNWn07dmFyIE5Hdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuVz1XO3RoaXMuSj17fX19O3ZhciBBWlo9Y2xhc3MgZXh0ZW5kcyBJSGl7VyhuKXtyZXR1cm4gbn1KKG4pe2lmKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBmZigiV1JPTkdfREFUQV9UWVBFIix7T0E6MH0pO3JldHVybiBufX07dmFyIGY5aT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj17fTt0aGlzLk5bMF09bmV3IEFaWjtpZighZy5sKCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgbj10aGlzLk47dHJ5e2xldCBiPU0wKCk7dmFyIFc9STgoYik7dmFyIEQ9bmV3IFNrdChuZXcgYjEoVyksbmV3IHVvKFcpKX1jYXRjaChiKXt0aHJvdyBuPWIgaW5zdGFuY2VvZiBFcnJvcj9uZXcgZmYoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6Yi5tZXNzYWdlfSk6bmV3IGZmKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksZy5YaihuKSxuO31uWzFdPUR9fX07dmFyIEozaT1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudG9rZW49bjt0aGlzLk49Vzt0aGlzLm9ic2VydmVycz1bXTtuPW5ldyBnLnFpLkJyb2FkY2FzdENoYW5uZWwoYFBFUlNJU1RFTlRfRU5USVRZX1NUT1JFX1NZTkM6JHtNMCgpfWApO24ub25tZXNzYWdlPXRoaXMuSi5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1ufW9ic2VydmUobil7dGhpcy5vYnNlcnZlcnMucHVzaChuKTtyZXR1cm4oKT0+e3ZhciBXPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2Yobik7Vz49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKFcsMSl9fUoobil7UGUodGhpcyxuLmRhdGEpfW1BKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fSx0NTt2YXIgbXpiPWcud0QoKCk9PntpZih3aW5kb3cuTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkPT09ImZ1bmN0aW9uIilyZXR1cm4gd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjUxLjA4LjAxLjAxLjAxLjAxLjAwIicpO2lmKHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWFuYWdlZE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZD09PSJmdW5jdGlvbiIpcmV0dXJuIHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuNTEuMDguMDEuMDEuMDEuMDEuMDAiJyk7dmFyIG49Zy5ycigieXQud2ViLmNvbnRyaWIuaW5uZXJ0dWJlLnJlcXVlc3RzLndhdGNoX3VpLnV0aWxzLnZpZGVvRWxlbWVudF8iKTtufHwobj1nLnpGKCJWSURFTyIpLGcuR2IoInl0LndlYi5jb250cmliLmlubmVydHViZS5yZXF1ZXN0cy53YXRjaF91aS51dGlscy52aWRlb0VsZW1lbnRfIiwKbikpO3JldHVybiEhKG4mJm4uY2FuUGxheVR5cGUmJm4uY2FuUGxheVR5cGUoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MS4wOC4wMS4wMS4wMS4wMS4wMCInKSl9KTt2YXIgTnM9eVcoKT8hMDp0eXBlb2Ygd2luZG93LmZldGNoPT09ImZ1bmN0aW9uIiYmd2luZG93LlJlYWRhYmxlU3RyZWFtJiZ3aW5kb3cuQWJvcnRDb250cm9sbGVyJiYhZy5SZz8hMDohMTt2YXIgS0hTPWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3IoKXtzdXBlcigpfVcoKXtyZXR1cm4gcXlqfU4obil7cmV0dXJuIGcudyhuLGcuSVEpfHxnLncobixUZSl8fGcudyhuLFZ4Yil9Tygpe3JldHVybiEwfVgobil7aWYoKGcubCgia2V2bGFyX2NhY2hlX29uX3R0bF9wbGF5ZXIiKXx8Zy5sKCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaCIpfHxnLmwoIndlYl9zaG9ydHNfcHJlZmV0Y2hfc2VydmljZV9lbmFibGVkIil8fGcubCgiZW1iZWRzX2VuYWJsZV9wcmVmZXRjaF92aWFfcmVzb2x2ZV91cmwiKSkmJihuPXRoaXMuTihuKSkmJm4udmlkZW9JZCl7dmFyIFc9e3ZpZGVvSWQ6bi52aWRlb0lkfTtuLnBsYXlsaXN0SWQmJihXLnBsYXlsaXN0SWQ9bi5wbGF5bGlzdElkKTtuLnBsYXllclBhcmFtcyYmKFcucGFyYW1zPW4ucGxheWVyUGFyYW1zKTtyZXR1cm4geUgoInBsYXllciIsVyl9fUsobil7cmV0dXJuIG4uY29udGVudFBsYXliYWNrQ29udGV4dD8udmlzPT09CjI/IldBVENIX0ZVTExfU0NSRUVOIjoiV0FUQ0gifUoobixXLEQpe2lmKGcubCgiZW5hYmxlX2ludGVyc3RpdGlhbF9lbnRpdHlfY2hlY2siKSYmVy52aWRlb0lkKWZvcih2YXIgYiBvZlsiQ09OVEVOVF9DSEVDS19SRVFVSVJFRCIsIkFHRV9DSEVDS19SRVFVSVJFRCJdKTtXLnZpZGVvSWQmJihuLnZpZGVvSWQ9Vy52aWRlb0lkKTtXLnBsYXlsaXN0SWQmJihuLnBsYXlsaXN0SWQ9Vy5wbGF5bGlzdElkKTtXLmluZGV4IT09dm9pZCAwJiYobi5wbGF5bGlzdEluZGV4PVcuaW5kZXgrMSk7Vy5wbGF5ZXJQYXJhbXMmJihuLnBhcmFtcz1XLnBsYXllclBhcmFtcyk7InN0YXJ0VGltZVNlY29uZHMiaW4gVyYmVy5zdGFydFRpbWVTZWNvbmRzJiYoZy5sKCJlbmFibGVfcGxheWVyX3JlcXVlc3RfYnVpbGRlcl9zdGFydF90aW1lX2Zsb29yIik/bi5zdGFydFRpbWVTZWNzPU1hdGguZmxvb3IoVy5zdGFydFRpbWVTZWNvbmRzKTpuLnN0YXJ0VGltZVNlY3M9Vy5zdGFydFRpbWVTZWNvbmRzKTtELmNvbnRlbnRQbGF5YmFja0NvbnRleHQmJgoobi5wbGF5YmFja0NvbnRleHQ9e2NvbnRlbnRQbGF5YmFja0NvbnRleHQ6RC5jb250ZW50UGxheWJhY2tDb250ZXh0fSk7RC5wcmVmZXRjaFBsYXliYWNrQ29udGV4dCYmKG4ucGxheWJhY2tDb250ZXh0PXsuLi5uLnBsYXliYWNrQ29udGV4dCxwcmVmZXRjaFBsYXliYWNrQ29udGV4dDpELnByZWZldGNoUGxheWJhY2tDb250ZXh0fSxuLmNvbnRleHQucmVxdWVzdHx8KG4uY29udGV4dC5yZXF1ZXN0PXt9KSxuLmNvbnRleHQucmVxdWVzdC5pc1ByZWZldGNoPSEwKTtuLnBsYXliYWNrQ29udGV4dHx8KG4ucGxheWJhY2tDb250ZXh0PXt9KTtiPW16YigpO24ucGxheWJhY2tDb250ZXh0LmRldmljZVBsYXliYWNrQ2FwYWJpbGl0aWVzPXtzdXBwb3J0c1ZwOUVuY29kaW5nOiEhYixzdXBwb3J0WGhyOk5zfTtELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0JiYobi5vdmVycmlkZU11dGVkQXRTdGFydD1ELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0KTtuLnJhY3lDaGVja09rPSEhVy5yYWN5Q2hlY2tPazsKbi5jb250ZW50Q2hlY2tPaz0hIVcuY29udGVudENoZWNrT2s7Zy5sKCJjYXB0aW9uc19wcmVmc19raWxsc3dpdGNoIil8fChEPShEPWcuWkkoInl0LXBsYXllci1jYXB0aW9uLWxhbmd1YWdlLXByZWZlcmVuY2VzIikpP0Q6W10sVz1nLmwoIndlYl9lbmFibGVfcGxheWVyX3JlcXVlc3RfY2FwdGlvbnNfbGFzdF9sYW5ndWFnZV9vbmx5IiksRD8ubGVuZ3RoJiYoRD1XP1tELmF0KC0xKV06RCxuLmNhcHRpb25QYXJhbXM9e3ZpZXdlclNlbGVjdGVkQ2FwdGlvbkxhbmdzOkR9KSl9VihuKXtuPXRoaXMuWChuKTt2YXIgVztuJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3BsYXllcl93YXRjaF9uZXh0X3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InBzX3MiLFcuUlY9InBzX3IiKTtyZXR1cm4gV319O0tIU1tnLkxYXT1bTnRNXTt2YXIgaUI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW4ucmVzcG9uc2VDb250ZXh0Py5zdGF0ZVRhZ3N9fTt2YXIgd049Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZighVyl0aHJvdyBFcnJvcigicmVxdWVzdCBuZWVkcyB0byBiZSBwYXNzZWQgaW50byBTdG9yZVJlc3BvbnNlUHJvY2Vzc29yU2VydmljZSIpO3VCKHRoaXMsbixXLmNvbmZpZz8uSG4/LlJMKX19O3dOW2cuTFhdPVtCZV07dmFyIEY4PW5ldyBnLkFMKCJTVE9SRV9SRVNQT05TRV9QUk9DRVNTT1JfVE9LRU4iKTt2YXIgbzg9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobixXKTt0aGlzLmVycm9yVHlwZT0xO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBUcj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1hc3luYyBmZXRjaChuLFcsRCxiKXtuPVNzWih0aGlzLG4sVyk7dHJ5e2xldCB2PWF3YWl0IGZldGNoKG4pO2lmKGImJnYub2smJnYuYm9keSYmdHlwZW9mIHYuYm9keS5nZXRSZWFkZXI9PT0iZnVuY3Rpb24iKXtsZXQgaz12LmNsb25lKCkuYm9keS5nZXRSZWFkZXIoKSx7dmFsdWU6aH09YXdhaXQgay5yZWFkKCk7ay5jYW5jZWwoKS5jYXRjaCgoKT0+e30pOwppZihoJiZoWzBdPT09OTEpe2xldCB4PXYuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBkTih0aGlzLHgsbmV3IGFzLFtdLGIpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZSh2LEQpfWNhdGNoKHYpe2lmKGcuR3EodiksRD8uTGQmJnYgaW5zdGFuY2VvZiBvOCYmdi5lcnJvclR5cGU9PT0xKXRocm93IHY7fX1oYW5kbGVSZXNwb25zZShuLFcpe3ZhciBEPW4udGV4dCgpLnRoZW4oYj0+e2lmKFc/LmhQJiZuLm9rKXJldHVybiBkRyhXLmhQLGIpO2I9Yi5yZXBsYWNlKCIpXX0nIiwiIik7aWYoVz8uTGQmJmIpdHJ5e3ZhciB2PUpTT04ucGFyc2UoYil9Y2F0Y2goayl7dGhyb3cgbmV3IG84KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiB2Pz9KU09OLnBhcnNlKGIpfSk7Cm4ucmVkaXJlY3RlZHx8bi5vaz90aGlzLk4mJnRoaXMuTi5zdWNjZXNzKCk6KHRoaXMuTiYmdGhpcy5OLm9ZKCksRD1ELnRoZW4oYj0+e2cuR3EobmV3IGcuUXgoIkVycm9yOiBBUEkgZmV0Y2ggZmFpbGVkIixuLnN0YXR1cyxuLnVybCxiKSk7cmV0dXJuey4uLmIsZXJyb3JNZXRhZGF0YTp7c3RhdHVzOm4uc3RhdHVzfX19KSk7CnJldHVybiBEfX07VHJbZy5MWF09W2cuaHAobmV3IGcuQUwoIk5FVFdPUktfU0xJX1RPS0VOIikpXTt2YXIgenI7dmFyIERZcj1uZXcgZy5xTSgicGFyYWxsZWxDb21tYW5kIik7dmFyIHZuTT1uZXcgZy5xTSgicGVyZm9ybU9uY2VDb21tYW5kIik7dmFyIGI4Yj1uZXcgZy5xTSgic2VyaWFsQ29tbWFuZCIpO3ZhciB2UT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihuKXt0aGlzLk4uYmljZihuKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhuKXt0aGlzLk4uYmNyKG4pfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuTi5ibGMoKX19O3ZhciBpaEM9W10saGo9KDAsZy5IeClgaHR0cHM6Ly9zdGF0aWMuZG91YmxlY2xpY2submV0L2luc3RyZWFtL2FkX3N0YXR1cy5qc2AsazU9ITE7dmFyIGlEPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPW47dGhpcy5OPVd9fSxXREM9W25ldyBpRCgiYi5mXyIsMCksbmV3IGlEKCJqLnNfIiwyKSxuZXcgaUQoInIuc18iLDQpLG5ldyBpRCgiZS5oXyIsNiksbmV3IGlEKCJpLnNfIiw4KSxuZXcgaUQoInMudF8iLDEwKSxuZXcgaUQoInAuaF8iLDEyKSxuZXcgaUQoInMuaV8iLDE0KSxuZXcgaUQoImYuaV8iLDE2KSxuZXcgaUQoImEuYl8iLDE4KSxuZXcgaUQoImEub18iKSxuZXcgaUQoImcub18iLDIyKSxuZXcgaUQoInAuaV8iLDI0KSxuZXcgaUQoInAubV8iKSxuZXcgaUQoIm4ua18iLDIwKSxuZXcgaUQoImkuZl8iKSxuZXcgaUQoImEuc18iKSxuZXcgaUQoIm0uY18iKSxuZXcgaUQoIm4uaF8iLDI2KSxuZXcgaUQoIm8ucF8iKSxuZXcgaUQoIm0ucF8iLDI4KSxuZXcgaUQoIm8uYV8iKSxuZXcgaUQoImQucF8iKSxuZXcgaUQoImUuaV8iKV0ucmVkdWNlKChuLFcpPT57bltXLkpdPVc7cmV0dXJuIG59LHt9KTt2YXIgTmU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMubmV0d29yaz1uO3RoaXMub3B0aW9ucz1XO3RoaXMuWD1EO3RoaXMuVz0wO3RoaXMuTj1udWxsO3RoaXMuSj1uZXcgcW5pO1cuUHU/ZXQodGhpcyxvbU0odGhpcykpOlcucHJlbG9hZCYmZXQodGhpcyxuZXcgUHJvbWlzZShiPT57Zy5jQigwLCgpPT57Yih0aih0aGlzKSl9LDApfSkpfWFzeW5jIHlmKCl7cmV0dXJuISFhd2FpdCBQcm9taXNlLnJhY2UoW3RoaXMuTiwKbnVsbF0pfWFzeW5jIGRRKG4sVyxEKXt0aGlzLk49PT1udWxsJiZldCh0aGlzLHRqKHRoaXMpKTt2YXIgYj0hMSx2PXt9O3JldHVybiBQcm9taXNlLnJhY2UoWyhhc3luYygpPT57dGhpcy5vcHRpb25zLkZoJiZ0aGlzLm9wdGlvbnMuUHUmJmF3YWl0IChhd2FpdCB5M3IoKSk/LmNoZWNrRm9yUmVmcmVzaCgpO3ZhciBrPWF3YWl0IHRoaXMuTjt2LmNoYWxsZW5nZT1rLmNoYWxsZW5nZTtpZihrLk8xKXt2YXIgaD17YzprLmNoYWxsZW5nZSxlOm4sLi4uV307dHJ5e2I9ITA7bGV0IHg7KHg9YXdhaXQgay5PMS5zbmFwc2hvdCh7d186aH0pKT92LndlYlJlc3BvbnNlPXg6di5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe3YuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gay5SUiYmKHYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO249PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmCihrPWsuUlIsaD17fSxrLmM2YSYmKGgucmVwb3J0aW5nU3RhdHVzPVN0cmluZyhOdW1iZXIoay5jKV5MYygpKSksay5jNmImJihoLmJyb2FkU3BlY3RydW1EZXRlY3Rpb25SZXN1bHQ9U3RyaW5nKE51bWJlcihrLmMpXk51bWJlcihnLkFyKCJDQVRTVEFUIiwwKSkpKSx2LmFkYmxvY2tSZXBvcnRpbmc9aCk7cmV0dXJuIHZ9KSgpLApUR2goRCwoKT0+e3ZhciBrPU9iamVjdC5hc3NpZ24oe30sdik7YiYmKGsuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTtyZXR1cm4ga30pXSl9fTt2YXIganhTPVsiQVBQX1NUQVRFIiwiUEkiXTt2YXIga3ZNPVszNjExLDI3Njg2LDIyMTA1OCw4NTAxMywyMzQ2MiwyNDExODcsMTU3NTU3LDQyMDE2LDI2OTI2LDUxMjM2LDc5MTQ4LDUwMTYwLDc3NTA0LDMxMDI4MSwxNTM1ODcsODc5MDcsMTg2MzAsMTc3MDE4LDE3NzAyMyw1NDQ0NSwzMjE2NjYsMzI2MzUzLDMyNjM1NCw4MDkzNSwxNTIxNzIsMTg0NTUzLDEwNTY3NSwxNTA3MjMsMzc1MjEsMTQ3Mjg1LDQ3Nzg2LDIzMTI1NSwyMzEyNTQsMjMxMjU4LDIzMTI1OSw5ODM0OSwyMzcyOTksMTY4MjcxLDE2ODk1NCwxNjgyNzcsMTY4MjczLDE2ODI3MCwxMjM2OTUsMjcyMDE4LDMzODQ5NywyMjY5ODcsMjI2OTkwLDIyNjk4OCw2ODI3LDI5NDM0LDI1NTAxMCwxNzEzODgsMjQ0MTg5LDIzNjIwOCw3MjgyLDEyNDQ0OCwyOTk5MDMsMjk5ODk3LDI5OTkwNCwyOTk5MDEsMjk5ODk5LDI5OTkwMiwyOTk5MDAsMjk5ODk4LDE5NjA4OCwyNTA4OTcsMTk4MTA0LDMyMjc2LDE5NTExNSwxOTUxMTQsNzYyNzgsMjAwNjM1LDIzMDU5NCwxNDc4NjgsCjE0Nzg2OSwyNzYyNDMsOTM5MTEsMjc0MTg4LDI3NjY1MSwzMTM2ODAsMTA2NTMxLDI1NzIzNCwyNTI1OTgsMjUyNTk3LDI1MjYwMCwyNTI1OTksMjUyNTk2LDIyNTAzMSwxNzc4NDMsMjcyNTksMjcyNjIsMjcyNjMsMjE3NTksMjgzNjcwLDE2MDg2NiwyMDQyNDksMjIyOTAwLDIwNDI1MCwxODA2MjYsMTc3OTU5LDE3Nzk1NywxODA2MjgsMjA1NzE2LDE5Nzg3OCwyNzM3NjYsMTcxMjQzLDE2MDc4OSwxNzEyNDQsMTcxMjQxLDE3MTI0NSwxNzEyNDIsMjI1NTYwLDE4MDYyNywxNzc5NjAsMjMxNTg5LDE3Nzk1OCwxODA2MjksMjA1NzE3LDE5Nzg3OSwxNzc1NjUsMjEyNTczLDIxMDcwOSw5OTQ0MTIsMjMwNjg0LDIyOTgwMSwyMzA2ODUsMzM0MzEwLDMzNDMxMSwzMzQzMTIsMTk3MzM3LDIwOTAxMCwxOTczMzYsMTk3MzM4LDE5ODYxOCwzMDA4ODQsMTc1NDkyLDE5ODA1MiwxOTgwNTEsMTk3ODUyLDE5Nzk3NiwzMTczNzcsMTc1NDkzLDE3NTQ5NCwxNzU0OTUsMTg5MjU0LDE3NTQ5NiwxNzU0OTcsCjM4NDA4LDE3NTQ5OCwxNzU1MDMsMTc1NTA0LDE3NTUwNSwxNzU1MDYsMTc1NTA3LDE3NTUwOCw4MDYzNyw2ODcyNywyMDY5MzMsMjA3OTQ0LDIwNjkzNCwzMDMxMjMsMjA2OTI5LDIyMTU3NSw2ODcyOCwyMjE1NzYsODAzNTMsODAzNTYsMzA4MDMzLDI0OTEwNywxODA2MzUsNzQ2MTAsNDU3MDcsODM5NjIsODM5NzAsNDY3MTMsMTY2NTkxLDg5NzExLDc0NjEyLDIxMzgwOSwxNzk2MDcsMjQ1MDA2LDE1NTc5Miw5MzI2NSw3NDYxMSwxMzEzODAsMTI4OTc5LDEzOTMxMSwxMjg5NzgsMTMxMzkxLDEwNTM1MCwxMzkzMTIsMzMzNjM3LDEzNDgwMCwxMzEzOTIsMTEzNTMzLDIyOTI5OCw5MzI1Miw5OTM1Nyw5NDUyMSwxMTQyNTIsMTEzNTMyLDk0NTIyLDk0NTgzLDIwMjM3MSw4OEUzLDEzOTU4MCw5MzI1Myw5MzI1NCw5NDM4Nyw5NDM4OCw5MzI1NSw5NzQyNCw3MjUwMiwyMTk4NjgsMjEyOTkxLDExMDExMSw3NjAxOSwxMTcwOTIsMTE3MDkzLDg5NDMxLDE5MTgzMSwxMTA0NjYsMjMxMzQ2LAo3NzI0MCw2MDUwOCwxODYwOTEsMTQ4MTIzLDE0ODEyNCwxMzc0MDEsMTM3NDAyLDEzNzA0Niw3MzM5MywyNDY3NzYsMTEzNTM0LDI3NjIwMCw5MjA5OCwxMzEzODEsODQ1MTcsODM3NTksMzA5NTgwLDIzMDY3NiwyNDkxODMsMjMwNjc5LDIzMDY3OCwyMzA2NzcsMjMwNjgxLDIzMDY4MCwxNjI3MTEsMjM1MjM0LDE2MjcxMiw4MDM1Nyw5OTQ0MTEsMjQzMzE1LDMxMzUwNiwzMjE5NjQsODYxMTMsNzI1OTgsMTY4NDEzLDcyNzMzLDEwNzM0OSwxMjQyNzUsMTE4MjAzLDIwMDQxMCwxMzMyNzUsMTYwMTU3LDE1MjU2OSwxNTY2NTEsMTMzMjc0LDE2MDE1OSwxNjAxNTgsMTMzMjcyLDEzMzI3MywxMzMyNzYsMTQ0NTA3LDE0MzI0NywxNzU5OTQsMTU2NjUyLDE0MzI0OCwxNDMyNDksMTQzMjUwLDE0MzI1MSwxODk4OTIsMTg5ODk0LDE4OTg5MywxNTY2NTMsMjE0MjM2LDE0NDQwMSwxMTc0MzEsMTMzNzk3LDIyNTEzNywyNzM5MDUsMjIyNjEyLDIyMjYxMywxNTM5NjQsMjAxMTMzLDIwMTEzNCwKMjAxMTM1LDIwMTEzNiwyMDExMzcsMTI4NTcyLDIwMDQxMSwyMDA0MTIsMTkwMzM3LDEzMzQwNSwxMTc0MjksMTE3NDMwLDE3Nzk1MCwxNzQ3MzQsMTc3OTUxLDIwMTEzOCwyMDExMzksMjAxMTQwLDIwMTE0MSwyMDExNDIsMTE3NDMyLDE3Mzk5NiwxNzM5OTUsMTc0OTUzLDE3Mzk5NCwxNzM5OTcsMTIwMDgwLDExNzI1OSwxNzg1NDYsMjk3NzUyLDE5Nzg5MSwxNTY2NTUsMTU2NjU0LDEyMTY5MiwyMTE0MTQsMjExNDExLDIxMTQxMiwyMTE0MTMsMjExNDAzLDE4NDg0NiwxODU5OTMsMzM1MDQ4LDE0NTY1NiwxNTY2NTYsMTQ1NjU1LDE0NTY1MywxNDU2NTQsMTQ1NjU3LDEzMjk3MiwxMzMwNTEsMTMzNjU4LDEzMjk3MSwzMzY3MjgsOTc2MTUsMTgxMjYyLDE5MDc2MiwyNTAzNDQsMjU0MDI3LDE0MzM1OSwxNDMzNTYsMTQzMzYxLDE0MzM1OCwxNDMzNjAsMTQzMzU3LDE0MjMwMywxNDMzNTMsMjgyMTU5LDE3Mjg1OSwxNDMzNTQsMTQ0NDc5LDE0MzM1NSwzMTQwMiwxODE1OTAsMTMzNjI0LAoxNDY0NzcsMTMzNjIzLDEzMzYyMiwxMzM2MjEsMTkyNDE4LDg0Nzc0LDMwNDc3NiwxOTc5OTMsMjQxNDYwLDE2MDgwMSwxOTc5OTUsOTUxMTcsMTcyNzIxLDE1MDQ5Nyw5ODkzMCw5ODkzMSw5ODkzMiwzMzg1NzAsMzM4NDc0LDMzODQ3OCwzMzg0NzMsMTUzMzIwLDE1MzMyMSw0MzM0NywzMDUyNjgsMjQ5Mjk1LDIxMDAxNiwyMTAwMTcsMjYyNjg2LDIxMTg1MSwyMTE4NTIsMzA3MjE5LDIxMTg1MywzMjc4MTAsMTI5ODg5LDE5Nzg4OCwxOTc4ODksMTQ5MTIzLDIyMTk1OSwyMjE2MjcsMjIxOTU4LDQ1NDc0LDEwMDM1Miw5ODQ0MywxMTc5ODUsMzMzNzA4LDc0NjEzLDE1NTkxMSw3NDYxNCw2NDUwMiwxMzYwMzIsNzQ2MTUsNzQ2MTYsMTIyMjI0LDc0NjE3LDc3ODIwLDc0NjE4LDI2Mjk4OCwyNjI5ODksMjI2OTgxLDkzMjc4LDkzMjc0LDkzMjc1LDkzMjc2LDIwMDY4OCwyMDA2ODYsMjAwNjg3LDE5OTg0MSwyMjExMCwyOTQzMywxMzM3OTgsMTMyMjk1LDI4MTMzMiwxMjA1NDEsMjIyMTEyLAo4MjA0NywxMTM1NTAsNzU4MzYsNzU4MzcsMzAzODgyLDE5MjQwOSwyMDMyMjEsNDIzNTIsODQ1MTIsNzYwNjUsNzU5ODksMjA1OTExLDIwNTkxMiwyNTI2NDksMjA1OTEzLDI1MjY1MCwyNTI2NTEsNTE4NzksMTY2MjMsMzI1OTQsMjcyNDAsMzM4MTA5LDI5MzMyNCwzMjYzMyw3NDg1OCwzMDQxNTAsMjk3MDQ1LDI3NTE5OCwyNzE4ODQsMjIyOTMyLDI3OTExOSwzMTI1ODEsMjcxODg2LDIxMzkxNSwyNzUxOTksMzEwNzQ4LDIyNTIxNiwyNTEyNDQsMjU4MjUxLDIxODY3NCwyNTEyNjYsMjU4MjUwLDI1MTI2NSwzMDE2NjIsMjUxMjQ1LDI3MTg4NSwzMTU4MTgsMTU2OTk5LDM5NDUsMTY5ODksNDU1MjAsMjU0ODgsMjU0OTIsMjU0OTQsMjMyMTEzLDU1NzYwLDE0MDU3LDE4NDUxLDU3MjA0LDU3MjAzLDE3ODk3LDE4MTk4LDE3ODk4LDE3OTA5LDQzOTgwLDIyMTA1MywxOTU1MjksMTg5NjYwLDMwODA4OCwzMDY0NDgsMzA2NDQ3LDMwODA4NywzMDgwODYsNDYyMjAsMTE3MjEsMTQ3OTk0LDQ5OTU0LAo5NjM2OSwzODU0LDIxNzY0MCwxNTE2MzMsNTYyNTEsMjA1MTkyLDIxNjc5NywxNTkxMDgsMTgxNTY4LDIzNDc4OSwyNTYyNCwxNTIwMzYsMTY5MDYsOTk5OTksNjgxNzIsNDc5NzMsNzI3NzMsMjY5NzAsMjY5NzEsOTY4MDUsMTc3NTIsMjgyMTgxLDI3ODkyNiw3MzIzMywyMDU5MjMsMTA5NTEyLDIyMjU2LDE0MTE1LDIyNjk2LDIzNDQwOSwyMzQ0MDgsODkyNzgsODkyNzcsMTk1NzQ1LDEwOTUxMyw0MzI3OCw0MzQ1OSw0MzQ2NCw4OTI3OSw0MzcxNyw1NTc2NCwyMjI1NSwxNDc5MTIsODkyODEsNDA5NjMsNDMyNzcsNDM0NDIsOTE4MjQsMjgzODk4LDEyMDEzNywxODYzNTAsMTg2MzUxLDI1NjY5MCwyNjQzNDksMjY0MzUxLDI2NDM1MCwyNjQzNTIsMjExMDI2LDI1MDg5Niw5NjM2NywzNjg1MCw3MjY5NCwzNzQxNCwzNjg1MSwxMjQ4NjMsMTIxMzQzLDczNDkxLDU0NDczLDE2Njg2MSw0MzM3NSw0NjY3NCwzMDI2MzEsMzMxNDczLDI0MjUyOCwxNDM4MTUsMTM5MDk1LDE0NDQwMiwxNDk5NjgsCjE0OTk2OSwzMjQ3Myw3MjkwMSw3MjkwNiw1MDYxMiw1MDYxMyw1MDk0Miw4NDkzOCw4NDk0Myw4NDkzOSw4NDk0MSw4NDk0NCw4NDk0MCw4NDk0MiwzNTU4NSw1MTkyNiw3OTk4MywxODkyMSw1Nzg5Myw0MTE4MiwxMzU3MzIsMzM0MjQsMjIyMDcsMzYyMjksMjIyMDYsMjIyMDUsNDQ3NjMsMzM0MjcsNjc3OTMsMjIxODIsMzcwOTEsMzQ2NTAsNTA2MTcsMjIyODcsMjUxNDQsOTc5MTcsMjIwMTIyLDYyMzk3LDE1MDg3MSwxNTA4NzQsMTI1NTk4LDEzNzkzNSwzNjk2MSwxMDgwMzUsMzIzNDkzLDI3NDI2LDI3ODU3LDI3ODQ2LDI3ODU0LDY5NjkyLDYxNDExLDM5Mjk5LDM4Njk2LDYyNTIwLDM2MzgyLDEwODcwMSwxOTI2ODIsMjc5NTMxLDUwNjYzLDM2Mzg3LDE0OTA4LDM3NTMzLDEwNTQ0Myw2MTYzNSw2MjI3NCwxNjE2NzAsMTMzODE4LDE4MjExOSw2NTcwMiw2NTcwMyw2NTcwMSwzMjA0NjQsNzYyNTYsMjk4MTU3LDI2Mzg0MywzMTUyMzQsMTk2MDc1LDE5NDc2OCwyNTIyMDEsMTk0NzY5LAoxOTE4ODUsMjgxNDgwLDIzMzYzNCwyNjU4MTAsMTk0NzcwLDI5NjkzMywxOTUzNTAsMzI3Mzg1LDMyNDU4NiwzMDE2MDcsMTk1MzQ5LDE5NDc3MSwyOTMwNDEsMzAxMTIxLDI5MzA0MiwyOTMwNDMsMzAxMTE2LDE2NjM4MiwzNzY3MSw0OTk1MywyMjA2NjksNjAwMDAxLDYwMDAwMiw2RTUsMzM1MTM0LDI0OTIyOSwyMTM3NzQsMjA0NTcyLDE5MTM4OSwyNzIyNTQsMjcyMjUzLDI1MzgzMCwyNTM4MzEsMjUzODMyLDI3MjI1MiwyNTM4MzMsMjUzODM0LDIwNDU3NCwxOTEzOTAsMTc5NTU2LDIzODU5NiwyMTI2NjEsMTkxMzkyLDE5NzgyNiwxOTEzOTMsMjA0NTczLDM2MjE2LDI4MjM3LDI0MTIxMiwyNzIwNDksMTczNzE4LDM5NTUzLDE5MjU0NywyOTIyMiwzMDQ4NDUsMjYxMDcsMjQxMjExLDM4MDUwLDI2MTA4LDI3NTgxMCwxMjA3NDUsMjYxMDksMjYxMTAsNjY4ODEsMjgyMzYsMTQ1ODYsMjk3NjcyLDE2MDU5OCw1NzkyOSwyMjY3MzYsNzQ3MjMsNDQwOTgsMTczNjg5LDQ0MDk5LDIzNTI4LAo2MTY5OSwxMzQxMDQsMTM0MTAzLDE5ODMxMyw1OTE0OSwxODEwMTMsMjc4MzA2LDI4MjQ3MiwyNzc4NDgsMTczMTkxLDE3MzE5MiwxNzMxOTMsMTAxOTUxLDE3MTUwMiwxOTYwNDMsMTk4MzA1LDk3MzQ2LDExODA1MSw5NTEwMiw2NDg4MiwxMTk1MDUsNjM1OTUsMjk0MTE5LDI1NzI2OCw2MzM0OSwyODExMjcsMjQwNTUzLDk1MTAxLDc1MjQwLDI3MDM5LDY4ODIzLDIxNTM3LDgzNDY0LDc1NzA3LDI1MjkwNCwxNzAyMTUsMjIzMDMzLDgzMTEzLDEwMTk1MiwxMDE5NTMsNzk2MTAsMTI1NzU1LDI0NDAyLDI0NDAwLDMyOTI1LDE5MzQwNiw1NzE3MywxODMzNTEsMTU2NDIxLDEyMjUwMiwxNDUyNjgsMTM4NDgwLDY0NDIzLDY0NDI0LDMzOTg2LDEwMDgyOCwxMjkwODksMjk5NTQxLDIxNDA5LDI4MjIxOCwyOTk1MDYsMzMzOTU2LDI5OTU0MCwyOTk1MDcsMjk5NTA5LDI5OTUzOSwyOTk1MDgsMjk5NTEwLDE4NTYxMiwyMjI4MjUsMzIzMzMxLDI0NTM2NiwxMzUxNTUsMTM1MTU2LDEzNTE1NywKMTM1MTU4LDE1ODIyNSwxMzUxNTksMTM1MTYwLDE2NzY1MSwxMzUxNjEsMTM1MTYyLDEzNTE2MywxNTgyMjYsMTU4MjI3LDEzNTE2NCwxMzUxNjUsMTM1MTY2LDExMDcwLDExMDc0LDE3ODgwLDI3MDU2MCwzMDcwOSwzMDcwNywzMDcxMSwzMDcxMCwzMDcwOCwxODUyMTMsMTg1MjczLDE0NjE0Myw2MzY0OCw2MzY0OSwyMjEwNTYsMjY0NDkwLDIxMTE4OSwxMTEwNTksMjExMTg4LDU3NTQsMjY0NDkxLDIwNDQ1LDIzMzQ3MSwxNTEzMDgsMzEzNzUwLDE1MTE1MiwyMjgwNjcsMTMwOTc1LDEzMDk3NiwyNDcyNDQsMjcxNjIyLDI3MTgxMywyNjEyMTAsMjEwODE1LDI5NTA2OSwyNDYxMjcsMzE2ODU4LDI0NTI1NiwyNDQ5NTAsMTkxOTI1LDE2NzYzNywyMzQ1NDUsMTk3MTk2LDMwMjczNSwyMTQyOTUsMTEwMzg2LDIyMTA1NCwyNzM5NjAsMjgyMTExLDMxMjI5MCwxMTM3NDYsMzI1NTkzLDI2ODg4Niw2NjU1NywxODMyMTUsMTczMTAsMjg2MzEsMjAxOTM1LDIxNTg5LDI0MjAzNiwyMzgzNTEsCjE2NDgxNywxNjgwMTEsMTU0OTQ2LDY4MDEyLDE2MjYxNyw2MDQ4MCwxODQ0MzEsMTM4NjY0LDI5NDA4OSwyNDk4MjcsMTk0RTMsMTQxMTIxLDE2NDUwMiwzMTU3MSwxOTUwMDIsMjA2NzkzLDE0MTk3OCwyMzM5ODUsMjUwODk1LDI1NDA1MiwyNTQwNTMsMjU0MDU0LDI1NDA1MSwyNTQwNTAsMjU0MDU1LDE1MDEwNSwzMDQxNjksMTUwMTA2LDE1MDEwNywxNTAxMDgsNzY5ODAsNDE1NzcsNDU0NjksMzg2NjksMTM3NjgsMTM3NzcsMTQxODQyLDYyOTg1LDIxMzE5MCw0NzI0LDIyMzA1Miw1OTM2OSw0MzkyNyw0MzkyOCwxMjkyNCwxOTc4NTMsMTAwMzU1LDU2MjE5LDI3NjY5LDIwOTkyOCwxMDMzNywyMDM2NDgsMjAzNjQ5LDQ3ODk2LDMyNjkzNywxMjI2MjksMTg2MjA0LDIyMjgyNCwyNzU4NjksMzEyMjk1LDI3MTY3MywyNzQ2MzcsMzE3NDYyLDEzOTcyMywxMzk3MjIsMTIxMjU4LDI1Mzc4OSwyNTM3ODcsMjUzNzg2LDI1Mzc4OCwyNTM3OTAsMTA3NTk4LDEyNzk5MSw5NjYzOSwxMDc1MzYsCjEzMDE2OSwyMTY1MjIsMjk2MzE2LDk2NjYxLDE0NTE4OCwzMjA0MjgsMjEzOTA0LDI2OTM0Miw5NjY1OCwxMTY2NDYsMTU5NDI4LDE2ODYxMSwxNjg2MTIsMTIxMTIyLDIxOTg2Miw5NjY2MCwyODIyMDgsMTI3NzM4LDEyNzA4MywxNTUyODEsMTYyOTU5LDIyMDg4NiwyMjczNTYsMjQ4MDA3LDE2MzU2NiwzMDc2NDYsMTg2NjQxLDE0Nzg0MiwyNzM2NDYsMjczNjQ3LDIxNzkzMiwxMDQ0NDMsOTY2NTksMTQ3NTk1LDEwNjQ0MiwyNDcxNjIsMjMxNDkzLDIxMzQyNywyOTY4MTMsMjQ2NTc1LDE4MjQyMywxNjI3NzYsMjI4OTA4LDEzNDg0MCw2MzY2Nyw2MzY2OCw2MzY2OSwxMzA2ODYsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBtUVM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZihXLmlucHV0Lm1hdGNoKExCKE40aCkpKXt2YXIgRD1uPy5lbmRwb2ludDtXPWcudyhELFRlKT8udW5zZXJpYWxpemVkUHJlZmV0Y2hEYXRhO2lmKEQmJlcpe249dGhpcy5OO3ZhciBiPShuZXcgc29iKS5YKEQpLHY9Zy53KFcsRCRyKTtsZXQgaz12Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMmJk51bWJlcih2Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpPjA/TnVtYmVyKHY/LnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcyk6NjAwO3YmJmImJms+MCYmKHY9RWUodixrKSxuLnB1dChiLG5ldyBiaCh2KSkpO0Q9KG5ldyBLSFMpLlgoRCk7Vz1nLncoVyxhSncpO2I9Vz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzJiZOdW1iZXIoVz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzKT4wP051bWJlcihXPy5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpOgo2MDA7VyYmRCYmYj4wJiYoVz1FZShXLGIpLG4ucHV0KEQsbmV3IGJoKFcpKSl9fX19O21RU1tnLkxYXT1bQmVdO25mKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX01BTlVBTF9ET1dOTE9BRFMiLCJtYWluRG93bmxvYWRzTGlzdEVudGl0eSIpO25mKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtuZigiU01BUlRfRE9XTkxPQURTX0VOQUJMRUQiLCJzZXR0aW5nRW50aXR5Iik7dmFyIHd5aD1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSxPNng9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy5PMT1udWxsO3RoaXMuRGE9dm9pZCAwfWluaXRpYWxpemUobixXLEQsYil7dGhpcy5EYT1iO2lmKG4ucHJvZ3JhbSl7dmFyIHY7Yj1uLmludGVycHJldGVyVXJsPz9udWxsO24uaW50ZXJwcmV0ZXJTYWZlU2NyaXB0P3Y9Tk4obi5pbnRlcnByZXRlclNhZmVTY3JpcHQpOnY9bi5pbnRlcnByZXRlclNjcmlwdD8/bnVsbDtuLmludGVycHJldGVyU2FmZVVybCYmKGI9cHcobi5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO0Y0Yih0aGlzLHYsYixuLnByb2dyYW0sVyxEKX1lbHNlIGcuR3EoRXJyb3IoIkJMOkNJUCIpKX1pc0luaXRpYWxpemVkKCl7cmV0dXJuIHRoaXMuSigpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuc3RhdGV9aXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0KMn1pbnZva2Uobj17fSl7cmV0dXJuIHRoaXMuSigpP3RoaXMuVyh7d186bn0pOm51bGx9ZGlzcG9zZSgpe3RoaXMuTihudWxsKTt0aGlzLnZWKDgpfUooKXtyZXR1cm4hIXRoaXMuTzF9VyhuKXtyZXR1cm4gdGhpcy5PMS5tNShuKX1OKG4pe2cuQ3AodGhpcy5PMSk7dGhpcy5PMT1ufXZWKG4pe3RoaXMuc3RhdGU9bn19O3ZhciBQQU09Y2xhc3MgZXh0ZW5kcyBPNnh7TihuKXtKaigpPy5iZ3ZtYSgpO2lmKG4pe2xldCBXPXtiZ3ZtYTpuLmRpc3Bvc2UuYmluZChuKSxiZ3ZtYjpuLnNuYXBzaG90LmJpbmQobiksYmd2bWM6bi5tNS5iaW5kKG4pfTtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLFcpO2cueWooRD0+bi5zbmFwc2hvdChEKSl9ZWxzZSBnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLGcuR2IoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9Sigpe3JldHVybiEhSmooKX1XKG4pe3JldHVybiBKaigpLmJndm1jKG4pfX07dmFyIFpMPXtBRF9NQVJLRVI6Inl0cC1hZC1wcm9ncmVzcyIsQ0hBUFRFUl9NQVJLRVI6Inl0cC1jaGFwdGVyLW1hcmtlciIsVElNRV9NQVJLRVI6Inl0cC10aW1lLW1hcmtlciJ9O3ZhciBzMz12b2lkIDA7dmFyIEgkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPW5ldyBTZXQ7dGhpcy5KPW5ldyBTZXQ7dGhpcy5qPW5ldyBNYXA7dGhpcy5jbGllbnQ9dm9pZCAwO3RoaXMuY3NuPW51bGx9VyhuKXt0aGlzLmNsaWVudD1ufU4oKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Zy5SdigpfWNsZWFyKCl7dGhpcy5YLmNsZWFyKCk7dGhpcy5KLmNsZWFyKCk7dGhpcy5qLmNsZWFyKCk7dGhpcy5jc249bnVsbH19O3ZhciBVMz1jbGFzc3tXKG4pe1BWKGZpKCkuVykuYmluZChmaSgpKShuKX1jbGVhcigpe1BWKGZpKCkuY2xlYXIpLmJpbmQoZmkoKSkoKX19O3ZhciBKWD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1bXTt0aGlzLk89W107dGhpcy5LPW5ldyBNYXA7dGhpcy5UQz1uZXcgTWFwO3RoaXMuVj1bXTt0aGlzLmNKPVtdO3RoaXMuWD1uZXcgTWFwO3RoaXMuWT1uZXcgTWFwO3RoaXMuSj1uZXcgTWFwO3RoaXMuTj1uZXcgU2V0O3RoaXMuUyQ9bmV3IE1hcH1XKG4pe3RoaXMuY2xpZW50PW59YmQobixXPXt9KXtQVigoKT0+e3ZhciBEPWcudyhuPy5jb21tYW5kTWV0YWRhdGEscGopPy5yb290VmV8fGcudyhuPy5jb21tYW5kTWV0YWRhdGEsWnNyKT8uc2NyZWVuVmlzdWFsRWxlbWVudD8udWlUeXBlO2lmKEQpe3ZhciBiPWcudyhuPy5jb21tYW5kTWV0YWRhdGEsYk1yKTtpZihiPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIHY9VFUoYi5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoYi5wYXJlbnRDc24pdmFyIGs9Yi5wYXJlbnRDc259ZWxzZSBXLmNsaWNrZWRWaXN1YWxFbGVtZW50P3Y9Vy5jbGlja2VkVmlzdWFsRWxlbWVudDpuLmNsaWNrVHJhY2tpbmdQYXJhbXMmJgoodj1UVShuLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntiPWcudyhuLGcuSVEpO3ZhciBoPWcudyhuLHpPdyk7aWYoYil7aWYoaD10WChiLCJWSURFTyIpKXtiPXt0b2tlbjpoLHZpZGVvSWQ6Yi52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGgmJihiPXRYKGgsIlBMQVlMSVNUIikpKXtiPXt0b2tlbjpiLHBsYXlsaXN0SWQ6aC5wbGF5bGlzdElkfTticmVhayBhfWI9dm9pZCAwfVc9e2N0dEF1dGhJbmZvOmIscGFyZW50Q3NuOmssLi4uV307Zy5sKCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihXLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Zy53KG4/LmNvbW1hbmRNZXRhZGF0YSxac3IpPy5sb2dnaW5nRXhwZWN0YXRpb25zfHx2b2lkIDApO21VKHRoaXMsRCx2LFcpfWVsc2UgZy5HcShuZXcgZy5ReCgiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixuKSl9KSgpfWNsaWNrQ29tbWFuZChuLFcsRD0wKXtyZXR1cm4gZ25aKHRoaXMsbi5jbGlja1RyYWNraW5nUGFyYW1zLApXLEQpfXN0YXRlQ2hhbmdlZChuLFcsRD0wKXt0aGlzLnZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQoVFUobiksVyxEKX12aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKG4sVyxEPTApe0Q9PT0wJiZ0aGlzLk4uaGFzKEQpP3RoaXMuTy5wdXNoKFtuLApXXSk6UCQodGhpcyxuLFcsRCl9blQobil7dmFyIFc9bi5jcG4sRD1TMih0aGlzLDApO2lmKEQubGVuZ3RoJiZEW0QubGVuZ3RoLTJdPy5jcG4hPT1XJiYoRD1nLlJ2KCksVyYmRCYmRCE9PSJVTkRFRklORURfQ1NOIikpe3ZhciBiO24uaXRjdCYmKGI9VFUobi5pdGN0fHwiIikpO2xldCB2PXt9O2cubCgid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfbG9nX2N0dCIpJiZuLmtXJiYodi5jdHRBdXRoSW5mbz17dG9rZW46bi5rVyx2aWRlb0lkOm4udmlkZW9JZH0pO249e2NwbjpXLGNzbjpEfTtnLmwoIndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlIikmJmImJihGaihELGIpLG4ucGxheWJhY2tWZT1iLmdldEFzSnNvbigpKTtnLnpVKCJwbGF5YmFja0Fzc29jaWF0ZWQiLG4sdik7Yj1TMih0aGlzLDApO2JbYi5sZW5ndGgtMV0uY3BuPVd9fX07dmFyIEUzPWNsYXNze2ZldGNoKG4sVyxEKXt2YXIgYj1YT2IobixXLEQpO3JldHVybiBuZXcgUHJvbWlzZSgodixrKT0+e3ZhciBoPSgpPT57aWYoRD8uTGQpdHJ5e2xldCB4PXRoaXMuaGFuZGxlUmVzcG9uc2UobixiLnN0YXR1cyxiLnJlc3BvbnNlLEQpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIHYodGhpcy5oYW5kbGVSZXNwb25zZShuLGIuc3RhdHVzLGIucmVzcG9uc2UsRCkpfTsKYi5vbmVycm9yPWg7Yi5vbmxvYWQ9aDtiLnNlbmQoVy5ib2R5Pz9udWxsKX0pfWhhbmRsZVJlc3BvbnNlKG4sVyxELGIpe0Q9KER8fCIiKS5yZXBsYWNlKCIpXX0nIiwiIik7CnRyeXt2YXIgdj1KU09OLnBhcnNlKEQpfWNhdGNoKGspe2cuR3EobmV3IGcuUXgoIkpTT04gcGFyc2luZyBmYWlsZWQgYWZ0ZXIgWEhSIGZldGNoIixuLFcsRCkpO2lmKGI/LkxkJiZEKXRocm93IG5ldyBvOCgiSlNPTiBwYXJzaW5nIGZhaWxlZCBhZnRlciBYSFIgZmV0Y2giKTt2PXt9fVchPT0yMDAmJihnLkdxKG5ldyBnLlF4KCJYSFIgQVBJIGZldGNoIGZhaWxlZCIsbixXLEQpKSx2PXsuLi52LGVycm9yTWV0YWRhdGE6e3N0YXR1czpXfX0pO3JldHVybiB2fX07dmFyIFo2aj1jbGFzc3tzdGF0aWMgZ2V0SW5zdGFuY2UoKXt2YXIgbj1nLnJyKCJ5dGdsb2JhbC5zdG9yYWdlXyIpO258fChuPW5ldyBaNmosZy5HYigieXRnbG9iYWwuc3RvcmFnZV8iLG4pKTtyZXR1cm4gbn1hc3luYyBlc3RpbWF0ZSgpe3ZhciBuPW5hdmlnYXRvcjtpZihuLnN0b3JhZ2U/LmVzdGltYXRlKXJldHVybiBuLnN0b3JhZ2UuZXN0aW1hdGUoKTtpZihuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YSlyZXR1cm4gcWZTKCl9fTtnLkdiKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixaNmopO3ZhciBqaVU9a08oInl0LXBsYXllci1sb2NhbC1tZWRpYSIse0tjOntpbmRleDp7dng6Mn0sbWVkaWE6e3Z4OjJ9LGNhcHRpb25zOnt2eDo1fX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDIpJiYoWnkobiwiaW5kZXgiKSxaeShuLCJtZWRpYSIpKTtXKDUpJiZaeShuLCJjYXB0aW9ucyIpO1coNikmJihVUihuLCJtZXRhZGF0YSIpLFVSKG4sInBsYXllcmRhdGEiKSl9LHZlcnNpb246NX0pO3ZhciBVeng9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHVEO2E6e3ZhciBvVj1nLlhRKCk7b1Y9b1YudG9Mb3dlckNhc2UoKTtpZihvVi5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeVpoPW9WLm1hdGNoKC9hbmRyb2lkXHMqKFxkKyhcLlxkKyk/KVteO3wpXSpbOyldLyk7aWYoeVpoKXtsZXQgbj1wYXJzZUZsb2F0KHlaaFsxXSk7aWYobjwxMDApe3VEPW47YnJlYWsgYX19dmFyIEVnYj1vVi5tYXRjaCgiKCIrT2JqZWN0LmtleXMoVXp4KS5qb2luKCJ8IikrIikiKTt1RD1FZ2I/VXp4W0VnYlswXV06MH1lbHNlIHVEPXZvaWQgMH12YXIgZG49dUQsTkY9ZG4+PTA7dmFyIHo4O3t2YXIgaTZoPWcuWFEoKTtsZXQgbj1pNmgubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighbnx8bi5sZW5ndGg8Mil6OD12b2lkIDA7ZWxzZXt2YXIgbEQ9aTZoLm1hdGNoKC9cKChpUGFkfGlQaG9uZXxpUG9kKSggU2ltdWxhdG9yKT87IChVOyApP0NQVSAoaVBob25lICk/T1MgKFxkK19cZClbXyBdLyk7ejg9bEQmJmxELmxlbmd0aD09PTY/TnVtYmVyKGxEWzVdLnJlcGxhY2UoIl8iLCIuIikpOjB9fXZhciB2aj16OCx4ST12aj49MDt2YXIgb2Y7Zy51Wj1uZXcgUEFNO29mPTA7Zy5GTFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy52aWRlb0RhdGE9bjt0aGlzLk49e2MxYTooKT0+e3ZhciBXPVtdO2lmKGcudVouaXNJbml0aWFsaXplZCgpKXt2YXIgRD0iIjt0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEsmJihEPXRoaXMudmlkZW9EYXRhLnBLK2AmcjFiPSR7dGhpcy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZX1gKTtEPXthdHJfY2hhbGxlbmdlOkR9O2cuZ18oImJnX3YiLHZvaWQgMCwicGxheWVyX2F0dCIpOyhEPXI5UyhEKSk/KGcuZ18oImJnX3MiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaChgcjFhPSR7RH1gKSk6KGcuZ18oImJnX2UiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaCgicjFjPTIiKSl9ZWxzZSBnLmdfKCJiZ19lIix2b2lkIDAsInBsYXllcl9hdHQiKSx3aW5kb3cudHJheXJpZGV8fHdpbmRvdy5ib3RndWFyZD9XLnB1c2goInIxYz0xIik6Vy5wdXNoKCJyMWM9NCIpO1cucHVzaChgcjFkPSR7Zy51Wi5nZXRTdGF0ZSgpfWApOwpyZXR1cm4gVy5qb2luKCImIil9LApjNmE6Vz0+InI2YT0iKyhOdW1iZXIoVy5jKV5MYygpKSwKYzZiOlc9PmByNmI9JHtOdW1iZXIoVy5jKV5OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpfWB9Owp0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEs/dGhpcy5SUj1nLml3KHRoaXMudmlkZW9EYXRhLnBLKTp0aGlzLlJSPXt9fX07Zy5DaT1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30sRD0wKXt0aGlzLmVycm9yQ29kZT1uO3RoaXMuZGV0YWlscz1XO3RoaXMuc2V2ZXJpdHk9RH19O3ZhciB0SD17RUk6ZnVuY3Rpb24obixXKXt2YXIgRD1uWzBdO25bMF09bltXJW5bSVs1XV1dO25bVyVuW0lbNV1dXT1EfSwKT1c6ZnVuY3Rpb24obixXKXtuW0lbM11dKDAsVyl9LApHRzpmdW5jdGlvbihuKXtuW0lbMjVdXSgpfX07dmFyIHV2TT17UmQ6ImFkdW5pdCIsaFE6ImRldGFpbHBhZ2UiLGt3OiJlZGl0cGFnZSIsVE86ImVtYmVkZGVkIixEcDoibGVhbmJhY2siLEY3OiJwcmV2aWV3cGFnZSIsRE06InByb2ZpbGVwYWdlIixrUzoidW5wbHVnZ2VkIixNbjoicGxheWxpc3RvdmVydmlldyIsVUM6InNwb25zb3JzaGlwc29mZmVyIixCYToic2hvcnRzcGFnZSIsZEw6ImhhbmRsZXNjbGFpbWluZyIsaF86ImltbWVyc2l2ZWxpdmVwYWdlIix6TzoiY3JlYXRvcm11c2ljIixYSjoiaW1tZXJzaXZlbGl2ZXByZXZpZXdwYWdlIixZWDoiYWRtaW50b29seXVydCIsbk06InNob3J0c2F1ZGlvcGl2b3QiLHlfOiJjb25zdW1wdGlvbiIsZUw6ImJhY2tncm91bmRfYXVkaW9fcGxheWJhY2siLFVfOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RzX3BhZ2UiLEdPOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RfZGV0YWlsc19wYWdlIn07dmFyIG9nMj1bImgiLCJIIl0sZHppPVsiOSIsIigiXSx6cmg9WyI5aCIsIihoIl0sbEhoPVsiOCIsIioiXSxUdGk9WyJhIiwiQSJdLGpvaT1bIm8iLCJPIl0sQ0FiPVsibSIsIk0iXSxCdGk9WyJtYWMzIiwiTUFDMyJdLEZIdz1bIm1lYWMzIiwiTUVBQzMiXSxibz17aDpvZzIsSDpvZzIsWyI5Il06ZHppLFsiKCJdOmR6aSxbIjloIl06enJoLFsiKGgiXTp6cmgsWyI4Il06bEhoLFsiKiJdOmxIaCxhOlR0aSxBOlR0aSxvOmpvaSxPOmpvaSxtOkNBYixNOkNBYixtYWMzOkJ0aSxNQUMzOkJ0aSxtZWFjMzpGSHcsTUVBQzM6Rkh3fSx3Rlo9bmV3IFNldCgibyBPIGEgYWggQSBtIE0gbWFjMyBNQUMzIG1lYWMzIE1FQUMzIHNvIHNhIi5zcGxpdCgiICIpKSxwTGo9bmV3IFNldCgibSBNIG1hYzMgTUFDMyBtZWFjMyBNRUFDMyIuc3BsaXQoIiAiKSk7dmFyIEZCVT17ak06MCxObToxMjQsZDQ6MTQ0LEp6OjIyMCx5VjoyNDAsYjY6MzQwLFdhOjM2MCx6NTo0ODAsaHo6NTg4LG1wOjYwOCxYczo3MjAscW06NzQwLHc0OjEwODAsQzQ6MTEwMCxvNjoxNDQwLFBhOjIxNjAsaTY6OTk5OSwwOiJRVUFMSVRZX09SRElOQUxfVU5LTk9XTiIsMTI0OiJRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUiIsMTQ0OiJRVUFMSVRZX09SRElOQUxfMTQ0UCIsMjIwOiJRVUFMSVRZX09SRElOQUxfMjQwUF9TQVZFUiIsMjQwOiJRVUFMSVRZX09SRElOQUxfMjQwUCIsMzQwOiJRVUFMSVRZX09SRElOQUxfMzYwUF9TQVZFUiIsMzYwOiJRVUFMSVRZX09SRElOQUxfMzYwUCIsNDgwOiJRVUFMSVRZX09SRElOQUxfNDgwUCIsNTg4OiJRVUFMSVRZX09SRElOQUxfNjA4UF9TQVZFUiIsNjA4OiJRVUFMSVRZX09SRElOQUxfNjA4UCIsNzIwOiJRVUFMSVRZX09SRElOQUxfNzIwUCIsNzQwOiJRVUFMSVRZX09SRElOQUxfNzIwUF9FTkhBTkNFRCIsMTA4MDoiUVVBTElUWV9PUkRJTkFMXzEwODBQIiwKMTEwMDoiUVVBTElUWV9PUkRJTkFMXzEwODBQX0VOSEFOQ0VEIiwxNDQwOiJRVUFMSVRZX09SRElOQUxfMTQ0MFAiLDIxNjA6IlFVQUxJVFlfT1JESU5BTF8yMTYwUCIsOTk5OToiUVVBTElUWV9PUkRJTkFMX0hJR0hSRVMifTt2YXIgTkc9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9LExnPXswOiJhdXRvIiwxNDQ6InRpbnkiLDI0MDoic21hbGwiLDM2MDoibWVkaXVtIiw0ODA6ImxhcmdlIiw3MjA6ImhkNzIwIiwxMDgwOiJoZDEwODAiLDE0NDA6ImhkMTQ0MCIsMjE2MDoiaGQyMTYwIiwyODgwOiJoZDI4ODAiLDQzMjA6ImhpZ2hyZXMifSxOej17UVVBTElUWV9PUkRJTkFMX1VOS05PV046MCxRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUjoxMjQsUVVBTElUWV9PUkRJTkFMXzE0NFA6MTQ0LFFVQUxJVFlfT1JESU5BTF8yNDBQX1NBVkVSOjIyMCxRVUFMSVRZX09SRElOQUxfMjQwUDoyNDAsUVVBTElUWV9PUkRJTkFMXzM2MFBfU0FWRVI6MzQwLFFVQUxJVFlfT1JESU5BTF8zNjBQOjM2MCxRVUFMSVRZX09SRElOQUxfNDgwUDo0ODAsClFVQUxJVFlfT1JESU5BTF82MDhQX1NBVkVSOjU4OCxRVUFMSVRZX09SRElOQUxfNjA4UDo2MDgsUVVBTElUWV9PUkRJTkFMXzcyMFA6NzIwLFFVQUxJVFlfT1JESU5BTF83MjBQX0VOSEFOQ0VEOjc0MCxRVUFMSVRZX09SRElOQUxfMTA4MFA6MTA4MCxRVUFMSVRZX09SRElOQUxfMTA4MFBfRU5IQU5DRUQ6MTEwMCxRVUFMSVRZX09SRElOQUxfMTQ0MFA6MTQ0MCxRVUFMSVRZX09SRElOQUxfMjE2MFA6MjE2MCxRVUFMSVRZX09SRElOQUxfSElHSFJFUzo5OTk5fTt2YXIgJGQ9MjU5MkUzO2cuT249e1NUT1BfRVZFTlRfUFJPUEFHQVRJT046Imh0bWw1LXN0b3AtcHJvcGFnYXRpb24iLElWX0RSQVdFUl9FTkFCTEVEOiJ5dHAtaXYtZHJhd2VyLWVuYWJsZWQiLElWX0RSQVdFUl9PUEVOOiJ5dHAtaXYtZHJhd2VyLW9wZW4iLE1BSU5fVklERU86Imh0bWw1LW1haW4tdmlkZW8iLFZJREVPX0NPTlRBSU5FUjoiaHRtbDUtdmlkZW8tY29udGFpbmVyIixWSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORzoiaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmciLEhPVVNFX0JSQU5EOiJob3VzZS1icmFuZCJ9O3ZhciBQbj17YWxsb3dlZDoiQVVUT1BMQVlfQlJPV1NFUl9QT0xJQ1lfQUxMT1dFRCIsImFsbG93ZWQtbXV0ZWQiOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9BTExPV0VEX01VVEVEIixkaXNhbGxvd2VkOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9ESVNBTExPV0VEIn07dmFyIGNLTT17QU5EUk9JRDozLEFORFJPSURfS0lEUzoxOCxBTkRST0lEX01VU0lDOjIxLEFORFJPSURfVU5QTFVHR0VEOjI5LFdFQjoxLFdFQl9SRU1JWDo2NyxXRUJfVU5QTFVHR0VEOjQxLElPUzo1LElPU19LSURTOjE5LElPU19NVVNJQzoyNixJT1NfVU5QTFVHR0VEOjMzfSx1Sj17YW5kcm9pZDoiQU5EUk9JRCIsImFuZHJvaWQuayI6IkFORFJPSURfS0lEUyIsImFuZHJvaWQubSI6IkFORFJPSURfTVVTSUMiLCJhbmRyb2lkLnVwIjoiQU5EUk9JRF9VTlBMVUdHRUQiLHlvdXR1YmU6IldFQiIsInlvdXR1YmUubSI6IldFQl9SRU1JWCIsInlvdXR1YmUudXAiOiJXRUJfVU5QTFVHR0VEIix5dGlvczoiSU9TIiwieXRpb3MuayI6IklPU19LSURTIiwieXRpb3MubSI6IklPU19NVVNJQyIsInl0aW9zLnVwIjoiSU9TX1VOUExVR0dFRCJ9LE00Uz17Im1keC1wYWlyIjoxLCJtZHgtZGlhbCI6MiwibWR4LWNhc3QiOjMsIm1keC12b2ljZSI6NCwibWR4LWluYXBwZGlhbCI6NX07dmFyIExHMT17aV86MSxZdzoyLFBBVVNFRDozLDE6IkRJU0FCTEVEIiwyOiJFTkFCTEVEIiwzOiJQQVVTRUQifTt2YXIgZXh4PVJlZ0V4cCgiXmh0dHBzPzovLyhbXi5dKlxcLm1vYXRhZHNcXC5jb20vfGVbMC05XStcXC55dFxcLnNyc1xcLmRvdWJsZXZlcmlmeVxcLmNvbXxwYWdlYWQyXFwuZ29vZ2xlc3luZGljYXRpb25cXC5jb20vcGFnZWFkL2dlbl8yMDRcXD9pZD15dDNwJnNyPTEmfHBtXFwuYWRzYWZlcHJvdGVjdGVkXFwuY29tL3lvdXR1YmV8cG1cXC50ZXN0LWFkc2FmZXByb3RlY3RlZFxcLmNvbS95b3V0dWJlfHlvdXR1YmVbMC05XStcXC5tb2F0cGl4ZWxcXC5jb20vKSIpLGxKPVJlZ0V4cCgiXmh0dHBzOi8vKFthLXpdK1xcLik/WzAtOWEtZl17MSw2M31cXC5zc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20vfF5odHRwczovLyhbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbS98Xmh0dHBzPzovLygoWy1cXHddKnd3d1stXFx3XSpcXC58Wy1cXHddKndlYlstXFx3XSpcXC58Wy1cXHddKmNhbmFyeVstXFx3XSpcXC58Wy1cXHddKmRldlstXFx3XSpcXC58Wy1cXHddezEsM31cXC4pKyhjb3JwXFwuKT95b3V0dWJlKC1ub2Nvb2tpZXxraWRzfGVkdWNhdGlvbik/XFwuY29tL3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooeW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuKFthLXpdezN9fGkpXFwuY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPy98KGRvY3N8ZHJpdmUpXFwuZ29vZ2xlXFwuY29tLyhhL1teL1xcXFwlXSsvfCl8KG11c2ljfG11c2ljLWdyZWVuLXFhfG11c2ljLXJlbGVhc2UtcWF8eXQtbXVzaWMtZ3JlZW5cXC5jb3JwKVxcLnlvdXR1YmVcXC5jb20vfCh0dnx0di1ncmVlbi1xYXx0di1ncmVlbi1xYVxcLmNvcnB8dHYtcmVsZWFzZS1xYXx0di1yZWxlYXNlLXFhXFwuY29ycHx0di1pbnRlZ3JhdGlvbi1xYXx0di1pbnRlZ3JhdGlvbi1xYVxcLmNvcnB8eXQtdHYtYXV0b3B1c2hcXC5jb3JwfHl0LXR2LWludGVncmF0aW9uXFwuY29ycHx5dC10di1zdGFnaW5nXFwuY29ycClcXC55b3V0dWJlXFwuY29tL3xbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vKSIpLApndGo9UmVnRXhwKCJeaHR0cHM/Oi8vKHd3d1xcLmdvb2dsZVxcLmNvbS9wYWdlYWQveHN1bHx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9zbGF2KSIpLHg1cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bWFpbFxcLmdvb2dsZVxcLmNvbXx5b3V0dWJlXFwuY29tfHlvdXR1YmVlZHVjYXRpb25cXC5jb218eW91dHViZVxcLW5vY29va2llXFwuY29tfHlvdXR1YmVraWRzXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpKSIpLApMaHQ9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLGs3cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbSlbLl0/KDpbMC05XSspPy98KFtBLVphLXowLTktXXsxLDYzfVxcLikqKHNhbmRib3hcXC5nb29nbGVcXC5jb20pKDpbMC05XSspPygvKD8hdXJsXFxiKXwkKSkiKSwKRDVVPVJlZ0V4cCgiXigoaHR0cChzKT8pOik/XFwvXFwvKCgoKGxoWzMtNl0oLXR0fC1kW2EtZyx6XSk/XFwuKChnZ3BodCl8KGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKXwoc2FuZGJveFxcLmdvb2dsZSkpKXwobGg3XFwtKGV1fHVzfHF3fHJ0fHh4KVxcLigoZ29vZ2xldXNlcmNvbnRlbnQpfChnb29nbGUpKSl8KChwaG90b3N8dGVzdG9ubHl8d29yaylcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfChbXFx3XFwtXStcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfCgoWzEtNF1cXC5icFxcLmJsb2dzcG90KXwoYnBbMC0zXVxcLmJsb2dnZXIpKXwoY2NwLWxoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfCgoKChjcHxjaXxncClbMy02XSl8KGFwWzEtMl0pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpfChnbVsxLTRdXFwuZ2dwaHQpfChwbGF5LSh0aS0pP2xoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChnelswLTFdXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChsaDNcXC1nbVxcLmdvb2dsZSl8KCgoeXRbMy00XSl8KHNwWzEtM10pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpKVxcLmNvbSl8KGRyaXZlXFwuZ29vZ2xlXFwuY29tXFwvZHJpdmVcXC0odXNlcmNvbnRlbnR8dmlld2VyKSl8KGRwWzMtNl1cXC5nb29nbGV1c2VyY29udGVudFxcLmNuKXwoZHA0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20pfCgocGhvdG9zfGRyaXZlfGNvbnRyaWJ1dGlvbilcXC1pbWFnZVxcLShkZXZ8cWEpKC11c3wtZXUpPygtYXV0aHwtY29va2llKT9cXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwocGhvdG9zXFwtaW1hZ2VcXC1kZXZcXC1kbFxcLShhdXRofGV1fHVzKVxcLmNvcnBcXC5nb29nbGVcXC5jb20pfCgoZGV2fGRldjJ8ZGV2M3xxYXxxYTJ8cWEzfHFhLXJlZHxxYS1ibHVlfGNhbmFyeSlbLS5dbGlnaHRob3VzZVxcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC9pbWFnZSl8KGltYWdlXFwtKGRldnxxYSlcXC1saWdodGhvdXNlKC1hdXRoKT9cXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tKFxcL2ltYWdlKT8pfChkcml2ZVxcLXFhXFwuY29ycFxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkb2NzKFxcLShkZXZ8cWEpXFwuY29ycCk/XFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pPyhkb2NzfHNoZWV0c3xzbGlkZXN8ZHJhd2luZ3N8Zm9ybXN8dmlkZW9zfHBpY3R1cmVzKVxcLWltYWdlc1xcLShydHxxdykpfChkb2NzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXMpfChzaXRlc1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXNcXC0ocnR8cXcpKXwoYXRhcmktZ3JlZW4tdGVzdFxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KHNpdGVzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXMpKVxcL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzPzovLygoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY29ycFxcLmdvb2dsZVxcLmNvbXxwcm94eVxcLmdvb2dsZXByb2RcXC5jb218Y1xcLmdvb2dsZXJzXFwuY29tfHByb3h5XFwuZ29vZ2xlcnNcXC5jb218Ym9yZ1xcLmdvb2dsZVxcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfGdvb2dsZXBsZXhcXC5jb218cGxheVxcLmdvb2dsZVxcLmNvbXxwcm9kXFwuZ29vZ2xlXFwuY29tfHZpZGVvXFwuZ29vZ2xlXFwuY29tfHlvdXR1YmVcXC5jb218eXRpbWdcXC5jb218eXRpbWdcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tfGNoYXRcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbQS1aYS16MC05LV17MSw2M31cXC4pKihzYW5kYm94XFwuZ29vZ2xlXFwuY29tKSg6WzAtOV0rKT8oLyg/IXVybFxcYil8JCl8czJcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbS9zMi9mYXZpY29uc1xcP3x5dFszLTRdXFwuZ2dwaHRcXC5jb20vKSIpLApiS1o9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFhLMj1SZWdFeHAoIl5odHRwcz8uKiNvY3IkfF5odHRwcz86Ly8oYWtzZWN1cmVcXC5pbXJ3b3JsZHdpZGVcXC5jb20vfGNkblxcLmltcndvcmxkd2lkZVxcLmNvbS98c2VjdXJlXFwtLi5cXC5pbXJ3b3JsZHdpZGVcXC5jb20vKSIpLHZFaD1SZWdFeHAoIl5odHRwcz86Ly8oZ29vZ2xlYWRzXFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0LyhhY2xrfHBhZ2VhZC9jb252ZXJzaW9uKXx3d3dcXC5nb29nbGVcXC5jb20vKGFjbGt8cGFnZWFkL2NvbnZlcnNpb24pfHd3d1xcLmdvb2dsZWFkc2VydmljZXNcXC5jb20vKGFjbGt8cGFnZWFkLyhhY2xrfGNvbnZlcnNpb24pKXx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9jb252ZXJzaW9uKSIpLG5Fdz1SZWdFeHAoIl4oKGh0dHAocyk/KTopP1xcL1xcLygoKChsaFszLTZdKC10dHwtZFthLWcsel0pP1xcLigoZ2dwaHQpfChnb29nbGV1c2VyY29udGVudCl8KGdvb2dsZSl8KHNhbmRib3hcXC5nb29nbGUpKSl8KGxoN1xcLShldXx1c3xxd3xydHx4eClcXC4oKGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKSkpfCgocGhvdG9zfHRlc3Rvbmx5fHdvcmspXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoW1xcd1xcLV0rXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoKFsxLTRdXFwuYnBcXC5ibG9nc3BvdCl8KGJwWzAtM11cXC5ibG9nZ2VyKSl8KGNjcC1saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoKCgoY3B8Y2l8Z3ApWzMtNl0pfChhcFsxLTJdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKXwoZ21bMS00XVxcLmdncGh0KXwocGxheS0odGktKT9saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoZ3pbMC0xXVxcLmdvb2dsZXVzZXJjb250ZW50KXwobGgzXFwtZ21cXC5nb29nbGUpfCgoKHl0WzMtNF0pfChzcFsxLTNdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKSlcXC5jb20pfChkcml2ZVxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkcFszLTZdXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jbil8KGRwNFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKXwoKHBob3Rvc3xkcml2ZXxjb250cmlidXRpb24pXFwtaW1hZ2VcXC0oZGV2fHFhKSgtdXN8LWV1KT8oLWF1dGh8LWNvb2tpZSk/XFwuY29ycFxcLmdvb2dsZVxcLmNvbSl8KHBob3Rvc1xcLWltYWdlXFwtZGV2XFwtZGxcXC0oYXV0aHxldXx1cylcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwoKGRldnxkZXYyfGRldjN8cWF8cWEyfHFhM3xxYS1yZWR8cWEtYmx1ZXxjYW5hcnkpWy0uXWxpZ2h0aG91c2VcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tXFwvaW1hZ2UpfChpbWFnZVxcLShkZXZ8cWEpXFwtbGlnaHRob3VzZSgtYXV0aCk/XFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbShcXC9pbWFnZSk/KXwoZHJpdmVcXC1xYVxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC9kcml2ZVxcLSh1c2VyY29udGVudHx2aWV3ZXIpKXwoZG9jcyhcXC0oZGV2fHFhKVxcLmNvcnApP1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXNcXC0ocnR8cXcpKXwoZG9jc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/KGRvY3N8c2hlZXRzfHNsaWRlc3xkcmF3aW5nc3xmb3Jtc3x2aWRlb3N8cGljdHVyZXMpXFwtaW1hZ2VzKXwoc2l0ZXNcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KGF0YXJpLWdyZWVuLXRlc3RcXC5jb3JwXFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pP3NpdGVzKHYpP1xcLWltYWdlc1xcLShydHxxdykpfChzaXRlc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzKSlcXC98Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC8oPyF1cmxcXGIpfCQpfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK3NzbHByb3h5XFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVwbGV4XFwuY29tfGdvb2dsZXZpZGVvXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bGgzXFwucGhvdG9zXFwuZ29vZ2xlXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5dFxcLmFrYW1haXplZFxcLm5ldHxjaGF0XFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfChbQS1aYS16MC05LV17MSw2M31cXC4pKmNcXC5saDMoLWRbYS1neXpdfC10ZXN0b25seSk/XFwuKGdvb2dsZXVzZXJjb250ZW50fHBob3Rvc1xcLmdvb2dsZSlcXC5jb20vLiokKSIpLApXaFo9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFJyaT1SZWdFeHAoIl5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGltYXNka1xcLmdvb2dsZWFwaXNcXC5jb218Mm1kblxcLm5ldHxnb29nbGVzeW5kaWNhdGlvblxcLmNvbXxjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfGdvb2dsZWFkc1xcLmdcXC5kb3VibGVjbGlja1xcLm5ldHxwcm9kXFwuZ29vZ2xlXFwuY29tfHN0YXRpY1xcLmRvdWJsZWNsaWNrXFwubmV0fHN0YXRpY1xcLmdvb2dsZWFkc3NlcnZpbmdcXC5jbnxzdHVkaW9hcGlcXC5kb3VibGVjbGlja1xcLm5ldHx5b3V0dWJlXFwuY29tfHlvdXR1YmVcXC5nb29nbGVhcGlzXFwuY29tfHlvdXR1YmVcXC1ub2Nvb2tpZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbXx5dGltZ1xcLmNvbXx5dGltZ1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfGxpZ2h0Ym94LShkZW1vc3xidWlsZGVyKVxcLmFwcHNwb3RcXC5jb20vfHNbMDFdKHFhKT9cXC4ybWRuXFwubmV0L2Fkcy9yaWNobWVkaWEvc3R1ZGlvL211L3RlbXBsYXRlcy90ZXRyaXN8d3d3XFwuZ3N0YXRpY1xcLmNvbS9kb3VibGVjbGljay9zdHVkaW8vaW5ub3ZhdGlvbi9oNS9sYXlvdXRzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL3l0cGxheWVyKSIpLApRb009UmVnRXhwKCJeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY3Jvd2Rzb3VyY2V8ZGF0YWNvbXB1dGUpXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzOi8vKGFkc3xhZHdvcmRzXFwuY29ycClcXC5nb29nbGVcXC5jb20vKGF3Lyhhc3NldGdyb3VwLyhlZGl0fG5ldyl8Y2FtcGFpZ25zLyhuZXcvKHBlcmZvcm1hbmNlbWF4fGRlbWFuZGdlbil8ZWRpdC9kZW1hbmRnZW4pKXwkKXxeaHR0cHM6Ly8oYWR3b3Jkcy0pP2NhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vKGJvb2tzfHBsYXktYm9va3MtKGF1dG9wdXNofGludGVybmFsfHByZXByb2R8c3RhZ2luZykoLXNhbmRib3h8XFwuY29ycCkpXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oL3wkKXxeaHR0cHM6Ly9hZHMoLWV4dGVybmFsKT8tcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vY2FudmFzdGVzdGVyLTNmZDBiXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL2xvY2FsaG9zdFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKDpcXGQrKT8oL3wkKXxeaHR0cHM6Ly9uYXJyYXRpdmUtbmV3cy1jYXN0LXJlY2VpdmVyLWRcXC5hcHBzcG90XFwuY29tKC98JCl8Xmh0dHBzOi8vbmFycmF0aXZlLW5ld3MtY2FzdC1yZWNlaXZlci1mXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL29uZVxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwczovL3d3d1xcLmdvb2dsZVxcLmNvbS9jdWx0dXJhbGluc3RpdHV0ZS9tYW5hZ2UvLiokfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vYW9nX2hvd3RvfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vbmFycmF0aXZlX2Nhc3RfcmVjZWl2ZXIvbmV3c3xeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihpbWFzZGtcXC5nb29nbGVhcGlzXFwuY29tfGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVhZHNcXC5nXFwuZG91YmxlY2xpY2tcXC5uZXR8Z29vZ2xlcGxleFxcLmNvbXxwbGF5XFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218cGhvdG9zXFwuZ29vZ2xlXFwuY29tfGdldFxcLmdvb2dsZVxcLmNvbXxibG9nZ2VyXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218c3VydmV5XFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0fHlvdXR1YmVcXC5jb218eW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb218eW91dHViZWVkdWNhdGlvblxcLmNvbXx5b3V0dWJlXFwtbm9jb29raWVcXC5jb218eXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218eW91dHViZWtpZHNcXC5jb218dmV2b1xcLmNvbXxjaGF0XFwuZ29vZ2xlXFwuY29tfG1lZXRcXC5nb29nbGVcXC5jb218YXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8oL3wkKXwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfCh3d3dcXC58ZW5jcnlwdGVkXFwuKT9nb29nbGVcXC4oY2F0fGNvbShcXC4oYVtmZ2lydV18YltkaG5vcnpdfGNbb3V5XXxkb3xlW2NndF18Zmp8Z1toaXRdfGhrfGptfGtofGt3fGxbYmN5XXxtW210eHldfG5bYWZnaXBdfG9tfHBbYWVnaGtyeV18cWF8c1thYmdsdl18dFtqbnJ3XXx1YXx1eXx2Y3x2bikpP3xhW2NkZWxtc3R6XXxjW2FjZGZnaGlsbW52el18YlthZWZnaWpzdHldfGVlfGVzfGRbZWprbXpdfGdbYWVmZ2xtcHJ5XXxmW2ltcl18aVtlbW9xcnN0XXxoW25ydHVdfGtbZ2l6XXxqZXxqb3xtW2RlZ2tsbnN1dnddfGxbYWlrdHV2XXxuW2Vsb3J1XXxwW2xuc3RdfHNbY2VoaWttbm9ydF18cltvc3V3XXx1c3x0W2Rna2xtbm90XXx3c3x2Z3x2dXxjb1xcLihhb3xid3xja3xjcnxpW2Rsbl18anB8a2V8a3J8bHN8bWF8bXp8bnp8dGh8dHp8dVtna3pdfHZlfHZpfHpbYW13XSkpLyhzZWFyY2h8d2ViaHApXFw/fCh3d3dcXC58ZW5jcnlwdGVkXFwuKWdvb2dsZVxcLihjYXR8Y29tKFxcLihhW2ZnaXJ1XXxiW2Robm9yel18Y1tvdXldfGRvfGVbY2d0XXxmanxnW2hpdF18aGt8am18a2h8a3d8bFtiY3ldfG1bbXR4eV18blthZmdpcF18b218cFthZWdoa3J5XXxxYXxzW2FiZ2x2XXx0W2pucnddfHVhfHV5fHZjfHZuKSk/fGFbY2RlbG1zdHpdfGNbYWNkZmdoaWxtbnZ6XXxiW2FlZmdpanN0eV18ZWV8ZXN8ZFtlamttel18Z1thZWZnbG1wcnldfGZbaW1yXXxpW2Vtb3Fyc3RdfGhbbnJ0dV18a1tnaXpdfGplfGpvfG1bZGVna2xuc3V2d118bFthaWt0dXZdfG5bZWxvcnVdfHBbbG5zdF18c1tjZWhpa21ub3J0XXxyW29zdXddfHVzfHRbZGdrbG1ub3RdfHdzfHZnfHZ1fGNvXFwuKGFvfGJ3fGNrfGNyfGlbZGxuXXxqcHxrZXxrcnxsc3xtYXxtenxuenx0aHx0enx1W2drel18dmV8dml8elthbXddKSkvPyR8bGlnaHRib3gtKGRlbW9zfGJ1aWxkZXIpXFwuYXBwc3BvdFxcLmNvbS98czBcXC4ybWRuXFwubmV0L2luc3RyZWFtL2h0bWw1L25hdGl2ZS98c1swMV0ocWEpP1xcLjJtZG5cXC5uZXQvYWRzL3JpY2htZWRpYS9zdHVkaW8vbXUvdGVtcGxhdGVzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL2g1L2xheW91dHMvdGV0cmlzKSIpLApWNGk9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/KC98JCkiKSxjWlM9UmVnRXhwKCJeKGh0dHBzOi8vcGxheVxcLmdvb2dsZVxcLmNvbXxodHRwczovL3Bob3Rvc1xcLmdvb2dsZVxcLmNvbXxodHRwczovL2dldFxcLmdvb2dsZVxcLmNvbXxodHRwczovL21haWxcXC5nb29nbGVcXC5jb218aHR0cHM6Ly95dFxcLXdlYlxcLWVtYmVkZGVkXFwtcGxheWVyXFwuYXBwc3BvdFxcLmNvbXxodHRwOi8veXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218aHR0cHM6Ly9jaGF0XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vb25lXFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHN0cmFuc3BhcmVuY3lcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHNcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHdvcmRzXFwuY29ycFxcLmdvb2dsZVxcLmNvbXxodHRwczovL2Fkc1xcLWV4dGVybmFsXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWRzXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWR3b3Jkc1xcLWNhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vY2FuYXJ5XFwucWFcXC5hZHpcXC5nb29nbGVcXC5jb20pJHxeaHR0cDovL1swLTldK1xcLlthLXowLTlcXC1fXStcXC5bYS16MC05XFwtX10rXFwuW2EtejAtOVxcLV9dK1xcLihbYS16XXsyfXxpKVxcLmJvcmdcXC5nb29nbGVcXC5jb20oOlswLTldKyk/JHxeaHR0cHM6Ly8oKGF1dG9wdXNofGJldGEtbG9va3VwfGRhaWx5LVswLTZdfG1hbnVhbC1xdWFsfHByZXByb2R8c3RyZWFtKVxcLik/bWVldFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNyb3dkc291cmNlfGRhdGFjb21wdXRlKVxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKHlvdXR1YmV8eW91dHViZWtpZHN8eW91dHViZWVkdWNhdGlvbilcXC5jb20kfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc2FuZGJveFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tJHxeaHR0cHM6Ly8oYm9va3N8cGxheS1ib29rcy0oYXV0b3B1c2h8aW50ZXJuYWx8cHJlcHJvZHxzdGFnaW5nKSgtc2FuZGJveHxcXC5jb3JwKSlcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbSR8Xmh0dHBzOi8vKGRyYWZ0fHd3d3wod3d3XFwuKT9kZXZcXC5zYW5kYm94fCh3d3dcXC4pP2F1dG9wdXNoXFwuc2FuZGJveHwod3d3XFwuKT9zdGFnaW5nXFwuc2FuZGJveHwod3d3XFwuKT9yZXN0b3JlXFwuc2FuZGJveClcXC5ibG9nZ2VyXFwuY29tJHxeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbSR8Xmh0dHBzOi8vbG9jYWxob3N0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oOlxcZCspPyR8Xmh0dHBzPzovLygoKGRvY3N8bXxzaW5nfHNzfHNzc3x3d3cpXFwuKT9kcml2ZVxcLmdvb2dsZVxcLmNvbSR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfChbQS1aYS16MC05LV17MSw2M31cXC4pKmdvb2dsZXBsZXhcXC5jb20oOlswLTldKyk/JHwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSpwcm94eVxcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KHd3d1xcLnxlbmNyeXB0ZWRcXC4pZ29vZ2xlXFwuKGNhdHxjb20oXFwuKGFbZmdpcnVdfGJbZGhub3J6XXxjW291eV18ZG98ZVtjZ3RdfGZqfGdbaGl0XXxoa3xqbXxraHxrd3xsW2JjeV18bVttdHh5XXxuW2FmZ2lwXXxvbXxwW2FlZ2hrcnldfHFhfHNbYWJnbHZdfHRbam5yd118dWF8dXl8dmN8dm4pKT98YVtjZGVsbXN0el18Y1thY2RmZ2hpbG1udnpdfGJbYWVmZ2lqc3R5XXxlZXxlc3xkW2Vqa216XXxnW2FlZmdsbXByeV18ZltpbXJdfGlbZW1vcXJzdF18aFtucnR1XXxrW2dpel18amV8am98bVtkZWdrbG5zdXZ3XXxsW2Fpa3R1dl18bltlbG9ydV18cFtsbnN0XXxzW2NlaGlrbW5vcnRdfHJbb3N1d118dXN8dFtkZ2tsbW5vdF18d3N8dmd8dnV8Y29cXC4oYW98Ynd8Y2t8Y3J8aVtkbG5dfGpwfGtlfGtyfGxzfG1hfG16fG56fHRofHR6fHVbZ2t6XXx2ZXx2aXx6W2Ftd10pKS8/JHxbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfGRvY3NcXC5nb29nbGVcXC5jb20kKSIpLAphSFU9UmVnRXhwKCJeKGh0dHBzOi8vY3VycmVudHNcXC5nb29nbGVcXC5jb20pJCIpO3ZhciBkUD0hMTtnLndaPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0hMSl7dGhpc1tJWzE3XV09bjt0aGlzW0lbOV1dPVc7dGhpc1tJWzM5XV09dGhpc1tJWzI4XV09dGhpc1tJWzI2XV09SVsyMV07dGhpc1tJWzFdXT17fTt0aGlzW0lbMjldXT1JWzIxXX1zZXQobixXKXt0aGlzW0lbMV1dW25dIT09VyYmKHRoaXNbSVsxXV1bbl09Vyx0aGlzW0lbMjldXT1JWzIxXSl9Z2V0KG4pe2VYKDE0LDcyMTMsdGhpcyk7cmV0dXJuIHRoaXNbSVsxXV1bbl18fG51bGx9V0QoKXt0aGlzW0lbMjldXXx8KHRoaXNbSVsyOV1dPUVjKDYsMjk5OCx0aGlzKSk7cmV0dXJuIHRoaXNbSVsyOV1dfWNsb25lKCl7dmFyIG49bmV3IGcud1oodGhpc1tJWzE3XV0sdGhpc1tJWzldXSk7bltJWzI2XV09dGhpc1tJWzI2XV07bltJWzI4XV09dGhpc1tJWzI4XV07bltJWzM5XV09dGhpc1tJWzM5XV07bltJWzFdXT1nLnMwKHRoaXNbSVsxXV0pO25bSVsyOV1dPXRoaXNbSVsyOV1dO3JldHVybiBufX07dmFyIEpaPXtGQUlSUExBWToiZmFpcnBsYXkiLFBMQVlSRUFEWToicGxheXJlYWR5IixXSURFVklORToid2lkZXZpbmUiLENMRUFSS0VZOm51bGwsRkxBU0hBQ0NFU1M6bnVsbCxVTktOT1dOOm51bGwsV0lERVZJTkVfQ0xBU1NJQzpudWxsfTt2YXIgd1A9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0hMSl7dGhpcy5uYW1lPW47dGhpcy5pZD1XO3RoaXMuaXNEZWZhdWx0PUQ7dGhpcy5pc0F1dG9EdWJiZWQ9Yn1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1nZXRJZCgpe3JldHVybiB0aGlzLmlkfWdldElzRGVmYXVsdCgpe3JldHVybiB0aGlzLmlzRGVmYXVsdH1nZXRJc0F1dG9EdWJiZWQoKXtyZXR1cm4gdGhpcy5pc0F1dG9EdWJiZWR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5uYW1lfX07d1AucHJvdG90eXBlLmdldE5hbWU9d1AucHJvdG90eXBlLmdldE5hbWU7d1AucHJvdG90eXBlLmdldElkPXdQLnByb3RvdHlwZS5nZXRJZDt3UC5wcm90b3R5cGUuZ2V0SXNEZWZhdWx0PXdQLnByb3RvdHlwZS5nZXRJc0RlZmF1bHQ7d1AucHJvdG90eXBlLmdldElzQXV0b0R1YmJlZD13UC5wcm90b3R5cGUuZ2V0SXNBdXRvRHViYmVkO2cuUXc9Y2xhc3N7Y29uc3RydWN0b3Iobj17fSl7dGhpcy5sYW5ndWFnZUNvZGU9bi5sYW5ndWFnZUNvZGV8fCIiO3RoaXMubGFuZ3VhZ2VOYW1lPW4ubGFuZ3VhZ2VOYW1lfHxudWxsO3RoaXMua2luZD1uLmtpbmR8fCIiO3RoaXMubmFtZT1uLm5hbWU9PT12b2lkIDA/bnVsbDpuLm5hbWU7dGhpcy5kaXNwbGF5TmFtZT1uLmRpc3BsYXlOYW1lfHxudWxsO3RoaXMuaWQ9bi5pZHx8bnVsbDt0aGlzLk49bi5pc19zZXJ2YWJsZXx8ITE7dGhpcy5pc1RyYW5zbGF0ZWFibGU9bi5pc190cmFuc2xhdGVhYmxlfHwhMTt0aGlzLnVybD1uLnVybHx8bnVsbDt0aGlzLnZzc0lkPW4udnNzX2lkfHwiIjt0aGlzLmlzRGVmYXVsdD1uLmlzX2RlZmF1bHR8fCExO3RoaXMudHJhbnNsYXRpb25MYW5ndWFnZT1uLnRyYW5zbGF0aW9uTGFuZ3VhZ2V8fG51bGw7dGhpcy54dGFncz1uLnh0YWdzfHwiIjt0aGlzLmNhcHRpb25JZD1uLmNhcHRpb25JZHx8IiJ9Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1pc1NlcnZhYmxlKCl7cmV0dXJuIHRoaXMuTn1XRCgpe3JldHVybiB0aGlzLnVybH1nZXRYdGFncygpe3JldHVybiB0aGlzLnh0YWdzfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubGFuZ3VhZ2VDb2RlKwoiOiAiK2cuY24odGhpcykrIiAtICIrdGhpcy52c3NJZCsiIC0gIisodGhpcy5jYXB0aW9uSWR8fCIiKX1lcXVhbHMobil7cmV0dXJuIG4/dGhpcy50b1N0cmluZygpPT09bi50b1N0cmluZygpOiExfU9WKCl7cmV0dXJuISghdGhpcy5sYW5ndWFnZUNvZGV8fHRoaXMudHJhbnNsYXRpb25MYW5ndWFnZSYmIXRoaXMudHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGUpfX07dmFyIFdBPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pZD1uO3RoaXMua1o9Vzt0aGlzLmNhcHRpb25UcmFja3M9W107dGhpcy5XPXRoaXMuWD1udWxsO3RoaXMueHRhZ3M9IiI7dGhpcy5WPXRoaXMuaj0hMTt0aGlzLk49bnVsbDt0aGlzLko9IlVOS05PV04iO3RoaXMuY2FwdGlvbnNJbml0aWFsU3RhdGU9IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiI7bj10aGlzLmtaLmlkLnNwbGl0KCIuIik7bi5sZW5ndGg+MSYmKHRoaXMuaj1uWzFdPT09IjIiLHRoaXMuVj1uWzFdPT09IjQiKX1nZXRMYW5ndWFnZUluZm8oKXtyZXR1cm4gdGhpcy5rWn1nZXRYdGFncygpe2lmKCF0aGlzLnh0YWdzKXtsZXQgbj10aGlzLmlkLnNwbGl0KCI7Iik7bi5sZW5ndGg+MSYmKHRoaXMueHRhZ3M9blsxXSl9cmV0dXJuIHRoaXMueHRhZ3N9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5rWi5uYW1lfWlzQXV0b0R1YmJlZCgpe3JldHVybiB0aGlzLmtaLmdldElzQXV0b0R1YmJlZCgpfX07CldBLnByb3RvdHlwZS5nZXRMYW5ndWFnZUluZm89V0EucHJvdG90eXBlLmdldExhbmd1YWdlSW5mbztXQS5wcm90b3R5cGUuaXNBdXRvRHViYmVkPVdBLnByb3RvdHlwZS5pc0F1dG9EdWJiZWQ7dmFyIGIzPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdj0wKXt0aGlzLko9bjt0aGlzLk49Vzt0aGlzLlc9RDt0aGlzLnJlYXNvbj1iO3RoaXMuTnM9dn1lcXVhbHMobil7cmV0dXJuIHRoaXMuSj09PW4uSiYmdGhpcy5OPT09bi5OJiZ0aGlzLlc9PT1uLlcmJnRoaXMucmVhc29uPT09bi5yZWFzb24mJighaFR8fHRoaXMuTnM9PT1uLk5zKX1pc0xvY2tlZCgpe3JldHVybiB0aGlzLlcmJiEhdGhpcy5KJiZ0aGlzLko9PT10aGlzLk59Y29tcG9zZShuKXtpZihuLlcmJnhKKG4pKXJldHVybiBZWjtpZihuLld8fHhKKHRoaXMpKXJldHVybiBuO2lmKHRoaXMuV3x8eEoobikpcmV0dXJuIHRoaXM7dmFyIFc9dGhpcy5KJiZuLko/TWF0aC5tYXgodGhpcy5KLG4uSik6dGhpcy5KfHxuLkosRD10aGlzLk4mJm4uTj9NYXRoLm1pbih0aGlzLk4sbi5OKTp0aGlzLk58fG4uTjtXPU1hdGgubWluKFcsRCk7dmFyIGI9MDtoVCYmKGI9dGhpcy5OcyE9PTAmJm4uTnMhPT0wP01hdGgubWluKHRoaXMuTnMsCm4uTnMpOnRoaXMuTnM9PT0wP24uTnM6dGhpcy5Ocyk7cmV0dXJuIGhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OJiZiPT09dGhpcy5Oc3x8IWhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OP3RoaXM6aFQ/bmV3IGIzKFcsRCwhMSxEPT09dGhpcy5OJiZiPT09dGhpcy5Ocz90aGlzLnJlYXNvbjpuLnJlYXNvbixiKTpuZXcgYjMoVyxELCExLEQ9PT10aGlzLk4/dGhpcy5yZWFzb246bi5yZWFzb24pfVgobil7cmV0dXJuIW4udmlkZW98fGhUJiZ0aGlzLk5zIT09MCYmdGhpcy5OczxuLk5zPyExOmdGKHRoaXMsbi52aWRlby5xdWFsaXR5KX19LG5oVT12QSgiYXV0byIsImhkMTA4MCIsITEsImwiKSxUOD12QSgiYXV0byIsImxhcmdlIiwhMSwibCIpLFlaPXZBKCJhdXRvIiwiYXV0byIsITEsInAiKSxoVD0hMTt2YXIgcGc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy52aWRlb0luZm9zPW47dGhpcy5KPVc7dGhpcy5hdWRpb1RyYWNrcz1bXTt0aGlzLlc9Ynx8W107aWYodGhpcy5KKXtuPW5ldyBTZXQ7RD8uKHthaW5mb2xlbjp0aGlzLkoubGVuZ3RofSk7Zm9yKGxldCB2IG9mIHRoaXMuSil7aWYoIXYua1p8fG4uaGFzKHYua1ouaWQpKXtEPy4oe2F0a2VycjohIXYua1osaXRhZzp2Lml0YWcseHRhZzp2LkosbGFuZzp2LmtaPy5uYW1lfHwiIixsYW5naWQ6di5rWj8uaWR8fCIifSk7Y29udGludWV9Vz1uZXcgV0Eodi5pZCx2LmtaKTtuLmFkZCh2LmtaLmlkKTt0aGlzLmF1ZGlvVHJhY2tzLnB1c2goVyl9RD8uKHthdGtsZW46dGhpcy5hdWRpb1RyYWNrcy5sZW5ndGh9KX19Y1kobil7bj1ufHxZWjt2YXIgVz1nLkVNKHRoaXMudmlkZW9JbmZvcyx2PT5uLlgodikpLEQ9W10sYj17fTsKZm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl0udmlkZW87YltrLnF1YWxpdHldfHwoRC5wdXNoKGspLGJbay5xdWFsaXR5XT0hMCl9cmV0dXJuIER9TnEobil7bj1ufHxZWjtyZXR1cm4gZy5FTSh0aGlzLnZpZGVvSW5mb3MsVz0+bi5YKFcpKX1nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpe3JldHVybiB0aGlzLmF1ZGlvVHJhY2tzfU4oKXtyZXR1cm4hIXRoaXMuSn19O3ZhciBBSFM9bmV3IFNldChbIjM1NiIsIjcyMSJdKSxXVnI9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLko9bnVsbDt0aGlzLk49bmV3IE1hcH1tQSgpe3N1cGVyLm1BKCl9fTt2YXIgUjQ9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSl7dGhpcy5qJD1uO3RoaXMuc3RhcnRUaW1lPVc7dGhpcy5kdXJhdGlvbj1EO3RoaXMuaW5nZXN0aW9uVGltZT1iO3RoaXMuc291cmNlVVJMPXY7dGhpcy5mZj1MO3RoaXMuUU89ZTt0aGlzLmVuZFRpbWU9VytEO3RoaXMuTj1ofHwwO3RoaXMucmFuZ2U9a3x8bnVsbDt0aGlzLnBlbmRpbmc9eHx8ITE7dGhpcy5mZj1MfHxudWxsfX07Zy5qYz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2VnbWVudHM9W107dGhpcy5KPW51bGw7dGhpcy5ZPSEwO3RoaXMuSz0iIn1qKG4pe3RoaXMuc2VnbWVudHMucHVzaChuKX1NSShuKXtyZXR1cm4hIXRoaXMuVyhuKX1nZXREdXJhdGlvbihuKXtyZXR1cm4obj10aGlzLlcobikpP24uZHVyYXRpb246MH1EKG4pe3JldHVybiB0aGlzLmdldER1cmF0aW9uKG4pfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1swXS5qJDotMX1oQyhuKXtyZXR1cm4obj10aGlzLlcobikpP24uaW5nZXN0aW9uVGltZTpOYU59eCQoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJDotMX1xZShuKXtyZXR1cm4gdGhpcy54JCgpPT09biYmIXRoaXMuWSYmbj49MH1iUSgpe3ZhciBuPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07cmV0dXJuIG4/bi5lbmRUaW1lOgpOYU59TGYoKXtyZXR1cm4gdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWV9SDcoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGh9Tigpe3JldHVybiAwfVIzKG4pe3JldHVybihuPXRoaXMuWChuKSk/bi5qJDotMX1WKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zb3VyY2VVUkw6IiJ9Z2V0U3RhcnRUaW1lKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zdGFydFRpbWU6MH1qRShuKXtyZXR1cm4gdGhpcy5nZXRTdGFydFRpbWUobikrdGhpcy5nZXREdXJhdGlvbihuKX1pc0xvYWRlZCgpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD4wfVcobil7aWYodGhpcy5KJiZ0aGlzLkouaiQ9PT1uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMsbmV3IFI0KG4sMCwwLDAsIiIpLChXLEQpPT5XLmokLUQuaiQpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTpudWxsfVgobil7aWYodGhpcy5KJiZ0aGlzLkouc3RhcnRUaW1lPD1uJiZuPHRoaXMuSi5zdGFydFRpbWUrdGhpcy5KLmR1cmF0aW9uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMse3N0YXJ0VGltZTpufSwoVyxEKT0+Vy5zdGFydFRpbWUtRC5zdGFydFRpbWUpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTp0aGlzLnNlZ21lbnRzW01hdGgubWF4KDAsLW4tMildfWFwcGVuZChuKXtpZihuLmxlbmd0aClpZihuPWcuUk0obiksdGhpcy5zZWdtZW50cy5sZW5ndGgpe3ZhciBXPXRoaXMuc2VnbWVudHMubGVuZ3RoP2cuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZTowLEQ9blswXS5qJC10aGlzLngkKCk7RD4xJiZnLkNiKHRoaXMuc2VnbWVudHMpO0Q9RD4wPzA6LUQrMTtmb3IobGV0IGI9RDtiPG4ubGVuZ3RoO2IrKylEPW5bYl0sRC5zdGFydFRpbWU9VyxELmVuZFRpbWU9RC5zdGFydFRpbWUrRC5kdXJhdGlvbixXKz1uW2JdLmR1cmF0aW9uLHRoaXMuc2VnbWVudHMucHVzaChuW2JdKX1lbHNlIHRoaXMuc2VnbWVudHM9bn1YZCgpe3JldHVybiAwfXR3KG4sVyl7dGhpcy5ZPW47dGhpcy5LPVd9fTtnLmpjLnByb3RvdHlwZS5VNz1XWigzKTt2YXIgRF89Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2PSExKXt0aGlzLmRhdGE9bjt0aGlzLm9mZnNldD1XO3RoaXMuc2l6ZT1EO3RoaXMudHlwZT1iO3RoaXMuTj0odGhpcy5KPXYpPzA6ODt0aGlzLmRhdGFPZmZzZXQ9dGhpcy5vZmZzZXQrdGhpcy5OfXNraXAobil7dGhpcy5OKz1ufX07dmFyIE9LdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLm9mZnNldD0wO3RoaXMuZGF0YT1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKG4pKX19O3ZhciBEVmk7Zy5sMz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiLHYsayxoKXt0aGlzLnN0YXJ0U2Vjcz1uO3RoaXMuQ2Y9Vzt0aGlzLmNvbnRleHQ9RDt0aGlzLmlkZW50aWZpZXI9Yjt0aGlzLmV2ZW50PXY7dGhpcy5OPWs7dGhpcy50aWxlQ29udGV4dD1ofX07RFZpPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLlBCPW47dGhpcy5vcHBvcnR1bml0eUlkPVc7dGhpcy5zZXJpYWxpemVkUHJlZmV0Y2hDb250ZXh0PUR9fTt2YXIgYk5VPXtwcmVkaWN0U3RhcnQ6InByZWRpY3RTdGFydCIsc3RhcnQ6InN0YXJ0IixbImNvbnRpbnVlIl06ImNvbnRpbnVlIixzdG9wOiJzdG9wIixwcmVmZXRjaDoicHJlZmV0Y2gifSxtNWo9e0VWRU5UX1BSRURJQ1RfU1RBUlQ6InByZWRpY3RTdGFydCIsRVZFTlRfU1RBUlQ6InN0YXJ0IixFVkVOVF9DT05USU5VRToiY29udGludWUiLEVWRU5UX1NUT1A6InN0b3AiLEVWRU5UX1BSRUZFVENIOiJwcmVmZXRjaCJ9O3ZhciBYNT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZGF0YT1uO3RoaXMudXJpPVd8fCJodHRwOi8veW91dHViZS5jb20vc3RyZWFtaW5nL21ldGFkYXRhL3NlZ21lbnQvMTAyMDE1Ijt0aGlzLnNlZ21lbnROdW1iZXI9el8odGhpcywiU2VxdWVuY2UtTnVtYmVyIik7dGhpcy5qPXpfKHRoaXMsIlNlZ21lbnQtQ291bnQiKTt0aGlzLks9dGhpcy5kYXRhWyJTZWdtZW50LUR1cmF0aW9ucy1NcyJdfHwiIjt0aGlzLmluZ2VzdGlvblRpbWU9el8odGhpcywiSW5nZXN0aW9uLVdhbGx0aW1lLVVzIikvMUU2O3RoaXMuVz0oel8odGhpcywiRmlyc3QtRnJhbWUtVGltZS1VcyIpK3pfKHRoaXMsIkZpcnN0LUZyYW1lLVVuY2VydGFpbnR5LVVzIikpLzFFNjt0aGlzLnJiPXpfKHRoaXMsIlRhcmdldC1EdXJhdGlvbi1VcyIpLzFFNjt0aGlzLlY9dGhpcy5kYXRhWyJTdHJlYW0tRmluaXNoZWQiXT09PSJUIjt0aGlzLmlzU3RyZWFtaW5nPXRoaXMuZGF0YS5TdHJlYW1hYmxlPT09IlQiO3RoaXMuY3J5cHRvUGVyaW9kSW5kZXg9CnpfKHRoaXMsIkNyeXB0by1QZXJpb2QtSW5kZXgiKTt0aGlzLlg9el8odGhpcywiQ3J5cHRvLVBlcmlvZC1TZWNvbmRzIik7dGhpcy5OPSJDdXJyZW50LUFic29sdXRlLUxvdWRuZXNzLUxrZnMiaW4gdGhpcy5kYXRhP051bWJlcih0aGlzLmRhdGFbIkN1cnJlbnQtQWJzb2x1dGUtTG91ZG5lc3MtTGtmcyJdKXx8MDpudWxsfUooKXtyZXR1cm4gdGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1DcG4iXT90aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUNwbiJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSk6W119ZksoKXtyZXR1cm4hISh0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tQ3BuIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXXx8dGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1GcmFtZS1JbmRleCJdfHx0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUFic29sdXRlLUxvdWRuZXNzLUxrZnMiXXx8CnRoaXMuZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdfHx0aGlzLmRhdGFbIklzLUFkLUJyZWFrLUZpbmlzaGVkIl0pfX07dmFyIFJlaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuZHVyYXRpb249V319O3ZhciAkOHg9e1NURVJFT19MQVlPVVRfVU5LTk9XTjowLFNURVJFT19MQVlPVVRfTEVGVF9SSUdIVDoxLFNURVJFT19MQVlPVVRfVE9QX0JPVFRPTToyfTt2YXIgaFk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLko9djt0aGlzLk49bnx8MDt0aGlzLnBpdGNoPVd8fDA7dGhpcy55YXc9RHx8MDt0aGlzLnJvbGw9Ynx8MDt2LmdldFVpbnQzMig0KX19O3ZhciB0WT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMucG9zPTA7dGhpcy5zdGFydD1XfHwwfU9KKCl7dmFyIG49dGhpcy5wb3M7dGhpcy5wb3M9MDt2YXIgVz0hMTt0cnl7c1kodGhpcyw0NDA3ODY4NTEpJiYodGhpcy5wb3M9MCxzWSh0aGlzLDQwODEyNTU0MykmJihXPSEwKSl9Y2F0Y2goRCl7aWYoRCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhpcy5wb3M9MCxXPSExLGcuR3EoRCk7ZWxzZSB0aHJvdyBEO310aGlzLnBvcz1uO3JldHVybiBXfX07dmFyIENzPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuQU89bjt0aGlzLk49e307dGhpcy51cmw9IiJ9c2V0KG4sVyl7dGhpcy5BTy5nZXQobik7dGhpcy5OW25dPVc7dGhpcy51cmw9IiJ9Z2V0KG4pe3JldHVybiB0aGlzLk5bbl18fHRoaXMuQU8uZ2V0KG4pfVdEKCl7dGhpcy51cmx8fCh0aGlzLnVybD1pS1UodGhpcykpO3JldHVybiB0aGlzLnVybH19O3ZhciB1VGk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5YPXRoaXMuVz10aGlzLk49dGhpcy50aW1lZE91dD10aGlzLnN0YXJ0ZWQ9dGhpcy5WPXRoaXMuaj0wfX07dmFyIHZUPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTz10aGlzLkQ9dGhpcy5WPXRoaXMuSj0wO3RoaXMuaj10aGlzLks9ITE7dGhpcy5OPW47dGhpcy5XPW4uY2xvbmUoKX1wUyhuLFcpe3JldHVybiBuLllaP3RoaXMuaj90aGlzLks9ITA6dGhpcy5LPWpQKHRoaXMsbixXKTpqUCh0aGlzLG4sVyl9WShuLFcsRD0wKXtEPjE/bj1uLk1jOihXPVVZKFcsRjUodGhpcyx0aGlzLnBTKG4sVyksbikpLG49TWF0aC5tYXgodGhpcy5WLFcudGltZWRPdXQpK24uVFoqKHRoaXMuSi10aGlzLlYpKy4yNSp0aGlzLkQsbj1uPjM/MUUzKjEuNioqKG4tMyk6MCk7cmV0dXJuIG49PT0wPyEwOnRoaXMuTytuPCgwLGcuUikoKX1jSihuLFcpe3RoaXMuTi5zZXQobixXKTt0aGlzLlcuc2V0KG4sVyk7dGhpcy5YJiZ0aGlzLlguc2V0KG4sVyl9V04oKXtyZXR1cm4gdGhpcy5XLmdldCgiY3BuIil8fCIifVo1KG4sVyl7bi5BTz09PXRoaXMuTiYmKHRoaXMuTj1uWChuLFcpKTtuLkFPPT09dGhpcy5YJiYodGhpcy5YPQpuWChuLFcpKX10dygpe3RoaXMuaj0hMH1yMCgpe3JldHVybiB0aGlzLk4hPT10aGlzLlgmJiF0aGlzLkt9fTt2YXIgQ2o9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5pbml0UmFuZ2U9RDt0aGlzLmluZGV4UmFuZ2U9Yjt0aGlzLko9bnVsbDt0aGlzLmNKPSExO3RoaXMuRkY9MDt0aGlzLlY9dGhpcy5TVT10aGlzLk89bnVsbDt0aGlzLmluZm89Vzt0aGlzLlhiPW5ldyB2VChuKX1OKCl7cmV0dXJuISF0aGlzLkomJnRoaXMuaW5kZXguaXNMb2FkZWQoKX1TJCgpe3JldHVybiExfUdDKG4pe3JldHVybltuXX1WUShuKXtyZXR1cm5bbl19fTt2YXIgYUI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnN0YXJ0PW47dGhpcy5lbmQ9Vzt0aGlzLmxlbmd0aD1XLW4rMX10b1N0cmluZygpe3JldHVybiB0aGlzLnN0YXJ0KyItIisodGhpcy5lbmQ9PW51bGw/IiI6dGhpcy5lbmQpfU4oKXtyZXR1cm4gdGhpcy5lbmQ9PW51bGw/e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KX06e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KSxlbmQ6U3RyaW5nKHRoaXMuZW5kKX19fTt2YXIgcUk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0iIix2LGssaCx4LEwsZSxHLHI9IiIsTixILEEpe3RoaXMudHlwZT1uO3RoaXMuUEo9Vzt0aGlzLnJhbmdlPUQ7dGhpcy5zb3VyY2U9Yjt0aGlzLnZEPUc7dGhpcy5jbGlwSWQ9cjt0aGlzLkQ9Tjt0aGlzLmJkPUg7dGhpcy5yZXF1ZXN0VG9rZW49QTt0aGlzLk89W107dGhpcy5ZPSIiO3RoaXMuaiQ9LTE7dGhpcy50dz0wO3RoaXMuWT1iO3RoaXMuaiQ9dj49MD92Oi0xO3RoaXMuc2VnbWVudFN0YXJ0VGltZT1rfHwwO3RoaXMuVz1ofHwwO3RoaXMuTj14fHwwO3RoaXMuSj1MPj0wP0w6dGhpcy5yYW5nZT90aGlzLnJhbmdlLmxlbmd0aDpOYU47dGhpcy5yYW5nZT8obj10aGlzLk4rdGhpcy5KPT09dGhpcy5yYW5nZS5sZW5ndGgsZT10aGlzLnNvdXJjZT09PSJ3YXNtIj9lPz9uOm4pOmU9ZT09PXZvaWQgMD8hIXRoaXMuSjplO3RoaXMuYVo9ZTt0aGlzLnJhbmdlPyh0aGlzLlg9dGhpcy5zZWdtZW50U3RhcnRUaW1lK3RoaXMuVyoKdGhpcy5OL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuSz10aGlzLlcqdGhpcy5KL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuaj10aGlzLlgrdGhpcy5LKTp2Xyh0aGlzKX1WKCl7cmV0dXJuIHRoaXMuYVomJnRoaXMuUEouaW5kZXgucWUodGhpcy5qJCl9a2Yobil7cmV0dXJuIG4+PXRoaXMuWCYmbjw9dGhpcy5qfWlzRW5jcnlwdGVkKCl7cmV0dXJuIHRoaXMuUEouaW5mby5pc0VuY3J5cHRlZCgpfWVxdWFscyhuKXtyZXR1cm4hKCFufHxuLlBKIT09dGhpcy5QSnx8bi50eXBlIT09dGhpcy50eXBlfHwodGhpcy5yYW5nZSYmbi5yYW5nZT9uLnJhbmdlLnN0YXJ0IT09dGhpcy5yYW5nZS5zdGFydHx8bi5yYW5nZS5lbmQhPT10aGlzLnJhbmdlLmVuZDpuLnJhbmdlIT09dGhpcy5yYW5nZSl8fG4uaiQhPT10aGlzLmokfHxuLk4hPT10aGlzLk58fG4uSiE9PXRoaXMuSil9Y0ooKXtyZXR1cm4gdGhpcy50eXBlPT09NH1mWSgpe3JldHVybiEhdGhpcy5QSi5pbmZvLnZpZGVvfVRDKCl7cmV0dXJuIHRoaXMuaiR9Z2EoKXt2YXIgbj0KWHgodGhpcyksVz0iIjtnLmFfKG4sKEQsYik9PntXKz1gJHtifV8ke0R9X2B9KTsKcmV0dXJuIFcuc2xpY2UoMCwtMSl9Y2xvbmUoKXt2YXIgbj1uZXcgcUkodGhpcy50eXBlLHRoaXMuUEosdGhpcy5yYW5nZSx0aGlzLnNvdXJjZSx0aGlzLmokLHRoaXMuc2VnbWVudFN0YXJ0VGltZSx0aGlzLlcsdGhpcy5OLHRoaXMuSix0aGlzLmFaLHRoaXMudkQsdGhpcy5jbGlwSWQsdGhpcy5ELHRoaXMuYmQsdGhpcy5yZXF1ZXN0VG9rZW4pO24uWT10aGlzLlk7dGhpcy5PLmxlbmd0aD4wJiYobi5PPVsuLi50aGlzLk9dKTtuLlg9dGhpcy5YO24uSz10aGlzLks7bi5qPXRoaXMuajtuLnR3PXRoaXMudHc7cmV0dXJuIG59fTt2YXIgd2s9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLkF3PW47dGhpcy5YPXRoaXMuTj1udWxsO3RoaXMuaj10aGlzLlpBPU5hTjt0aGlzLnBTPXRoaXMucmVxdWVzdElkPW51bGw7dGhpcy5YYj1uWzBdLlBKLlhiO3RoaXMuSj1XfHwiIjtpZih0aGlzLkF3WzBdLnJhbmdlJiZ0aGlzLkF3WzBdLko+MCl7YTp7Zm9yKFc9MTtXPG4ubGVuZ3RoO1crKylpZighYlQobltXLTFdLG5bV10pKXtXPSExO2JyZWFrIGF9Vz0hMH1pZihXKXRoaXMucmFuZ2U9ZDV3KG4pLHRoaXMuVz10aGlzLnJhbmdlLmxlbmd0aDtlbHNle3RoaXMucmFuZ2U9dGhpcy5Bd1t0aGlzLkF3Lmxlbmd0aC0xXS5yYW5nZTtXPTA7Zm9yKGxldCBEIG9mIG4pVys9RC5yYW5nZS5sZW5ndGg7dGhpcy5XPVd9fX1ZbCgpe3JldHVybiB0aGlzLk4/dGhpcy5OLldEKCk6IiJ9aXNEZWNvcmF0ZWQoKXtyZXR1cm4hISh0aGlzLk58fHRoaXMuWCYmdGhpcy5YLk15KX1Rbigpe3JldHVybiBoSih0aGlzLkF3WzBdKX1rZihuKXtmb3IobGV0IFcgb2YgdGhpcy5BdylpZihXLnR5cGU9PT0KMyYmVy5rZihuKSlyZXR1cm4hMDtyZXR1cm4hMX1aNShuLFcpe3RoaXMuWGIuWjUobixXKTtpZih0aGlzLk4pe3RoaXMuTj1uWChuLFcpO2ZvcihsZXQgRCBvZlsiYWNwbnMiLCJjcG4iLCJkYWlzdGF0ZSIsInNraXBzcSJdKXRoaXMuTlsic2V0Il0oRCxudWxsKX10aGlzLnJlcXVlc3RJZD1uLmdldCgicmVxX2lkIil9fTt2YXIgZHQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiLHYsaz0wKXtzdXBlcihuLFcsYik7dGhpcy52Sj1EO3RoaXMucmI9azt0aGlzLmluZGV4PXZ8fG5ldyBnLmpjfVcoKXtyZXR1cm4hMX1EKCl7cmV0dXJuITB9VEMoKXtyZXR1cm4hMX1TJCgpe3JldHVybiF0aGlzLnZKfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHRoaXMuaW5pdFJhbmdlLCJnZXRNZXRhZGF0YVJlcXVlc3RJbmZvIildLHRoaXMudkopfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiB0aGlzLkQoKSYmbi5KJiYhbi5hWj9uZXcgd2soW25ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJsaXZlR2V0TmV4dFJlcXVlc3RJbmZvQnlTZWdtZW50IixuLmokLG4uc2VnbWVudFN0YXJ0VGltZSxuLlcsbi5OK24uSixOYU4sITApXSx0aGlzLmluZGV4LlYobi5qJCkpOnRoaXMuaihnayhuKSwhMSl9SyhuLFc9ITEpe249dGhpcy5pbmRleC5SMyhuKTtXJiYobj1NYXRoLm1pbih0aGlzLmluZGV4LngkKCksCm4rMSkpO3JldHVybiB0aGlzLmoobiwhMCl9RHQobil7RE8obil9WChuKXtyZXR1cm4gbi5KPT09MD8hMDp0aGlzLmluZGV4LngkKCk+bi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9dXBkYXRlKG4sVyxEKXt0aGlzLmluZGV4LmFwcGVuZChuKTtQQSh0aGlzLmluZGV4LEQpO3RoaXMudHcoVywidXBkYXRlIil9Tigpe3JldHVybiB0aGlzLlMkKCk/ITA6c3VwZXIuTigpfWoobixXKXt2YXIgRD10aGlzLmluZGV4LlYobiksYj10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSx2PXRoaXMuaW5kZXguZ2V0RHVyYXRpb24obiksaztXP3Y9az0wOms9dGhpcy5pbmZvLk5zPjA/dGhpcy5pbmZvLk5zKnY6MUUzO3JldHVybiBuZXcgd2soW25ldyBxSSgzLHRoaXMsdm9pZCAwLCJsaXZlQ3JlYXRlUmVxdWVzdEluZm9Gb3JTZWdtZW50IixuLGIsdiwwLGssIVcpXSxEKX1ISigpe3JldHVybiB0aGlzLlMkKCk/MDp0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4hMX10dyhuLFcpe3RoaXMuaW5kZXgudHcobiwKVyl9fTt2YXIgdmhiPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdil7dGhpcy5qJD1uO3RoaXMuc3RhcnRTZWNzPVc7dGhpcy5DZj1EO3RoaXMuTj1ifHxOYU47dGhpcy5KPXZ8fE5hTn19O3ZhciBCXz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1bXTt0aGlzLko9bnVsbDt0aGlzLlY9MDt0aGlzLlc9W107dGhpcy5qPSExO3RoaXMuSz0iIjt0aGlzLlg9LTF9dXBkYXRlKG4pe3ZhciBXPXZvaWQgMDt0aGlzLkomJihXPXRoaXMuSik7e2xldCBBPW5ldyBCXzt2YXIgRD1BcnJheS5mcm9tKG4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlMiKSk7aWYoRC5sZW5ndGgpe3ZhciBiPStsVChuLCJ0aW1lc2NhbGUiKXx8MSx2PSgrRFswXS5nZXRBdHRyaWJ1dGUoInQiKXx8MCkvYixrPStsVChuLCJzdGFydE51bWJlciIpfHwwO0EuWD12O3ZhciBoPVc/Vy5zdGFydFNlY3MrVy5DZjowLHg9RGF0ZS5wYXJzZShDeihsVChuLCJ5dDpzZWdtZW50SW5nZXN0VGltZSIpKSkvMUUzO0Euaj1uLnBhcmVudEVsZW1lbnQudGFnTmFtZT09PSJTZWdtZW50VGVtcGxhdGUiO0EuaiYmKEEuSz1sVChuLCJtZWRpYSIpKTtuPVc/ay1XLmokOjE7QS5WPW4+MD8wOi1uKzE7Zm9yKEggb2YgRCl7bj0rSC5nZXRBdHRyaWJ1dGUoImQiKS8KYjtEPSgrSC5nZXRBdHRyaWJ1dGUoInl0OnNpZCIpfHwwKS9iO2xldCB5PStILmdldEF0dHJpYnV0ZSgiciIpfHwwO2ZvcihsZXQgVD0wO1Q8PXk7VCsrKXtpZihXJiZrPD1XLmokKXtrKys7Y29udGludWV9dmFyIEw9bmV3IHZoYihrLGgsbix4K0Qsdik7QS5OLnB1c2goTCk7Yjp7dmFyIGU9SDt2YXIgRz1iLHI9TC5zdGFydFNlY3M7TD1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRUaW1lT2Zmc2V0Iik7dmFyIE49ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50RHVyYXRpb24iKTtpZighTHx8IU4pe2U9bnVsbDticmVhayBifUw9TnVtYmVyKEwpO3I9LUwvRytyO0c9TnVtYmVyKE4pL0c7Tj1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRDb250ZXh0Iil8fG51bGw7bGV0IHo9ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50SWRlbnRpZmllciIpfHwiIjtlPWUuZ2V0QXR0cmlidXRlKCJ5dDpjdWVwb2ludEV2ZW50Iil8fCIiO2U9bmV3IGcubDMocixHLE4seixiTlVbZV18fCJ1bmtub3duIiwKTCl9ZSYmQS5XLnB1c2goZSk7aysrO2grPW47dis9bjt4Kz1uK0R9fUEuTi5sZW5ndGgmJihBLko9Zy5VTShBLk4pKX12YXIgSD1BfXRoaXMuVj1ILlY7dGhpcy5KPUguSnx8dGhpcy5KO2cuUTIodGhpcy5OLEguTik7Zy5RMih0aGlzLlcsSC5XKTt0aGlzLmo9SC5qO3RoaXMuSz1ILks7dGhpcy5YPT09LTEmJih0aGlzLlg9SC5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5YPT09LTE/MDp0aGlzLlh9fTt2YXIga0xDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPVtdO3RoaXMuTj1udWxsO3RoaXMuSj17fTt0aGlzLlc9e319fTt2YXIgZ1M9Y2xhc3MgZXh0ZW5kcyBnLmpje2NvbnN0cnVjdG9yKHtyYjpuPTAsT1Q6Vz0hMSx1YjpEPTAsSXQ6Yj0wLEhQOnY9SW5maW5pdHksdWs6az0wLFhnOmg9ITEsRTM6eD0hMX09e30pe3N1cGVyKCk7dGhpcy5Ebj10aGlzLnFxPS0xO3RoaXMuTzg9bjt0aGlzLnViPUQ7dGhpcy5PVD1XO3RoaXMuSXQ9Yjt0aGlzLkhQPXY7dGhpcy51az1rOygodGhpcy5YZz1oKXx8aXNGaW5pdGUodikmJnRoaXMuSFA+MCkmJlcmJlp1JiZ0aGlzLnR3KCExLCJwb3N0TGl2ZSIpO3RoaXMuRTM9eH1VYygpe3JldHVybiB0aGlzLk84fU1JKG4sVyl7bj1GeCh0aGlzLG4pO3JldHVybiBuPj0wJiYoV3x8IXRoaXMuc2VnbWVudHNbbl0ucGVuZGluZyl9Wk8oKXtyZXR1cm4gdGhpcy5PVD90aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLlgodGhpcy5MZigpKS5qJDotMTpzdXBlci5aTygpfUxmKCl7aWYodGhpcy5YZylyZXR1cm4gMDtpZighdGhpcy5PVClyZXR1cm4gc3VwZXIuTGYoKTtpZighdGhpcy5zZWdtZW50cy5sZW5ndGgpcmV0dXJuIDA7CnZhciBuPU1hdGgubWF4KGcuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZS10aGlzLnViLDApO3JldHVybiB0aGlzLkl0PjAmJnRoaXMuWChuKS5qJDx0aGlzLkl0P3RoaXMuVyh0aGlzLkl0KS5zdGFydFRpbWU6bn1iUSgpe2lmKHRoaXMuRTMmJnRoaXMuRG4mJnRoaXMuRG4+MClyZXR1cm4gdGhpcy5Ebi8xRTM7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBzdXBlci5iUSgpO3ZhciBuPXRoaXMueCQoKTtpZighdGhpcy5PVHx8bjw9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJCluPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07ZWxzZXt2YXIgVz10aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdO249bmV3IFI0KG4sTWF0aC5tYXgoMCxXLnN0YXJ0VGltZS0oVy5qJC1uKSp0aGlzLk84KSx0aGlzLk84LDAsYHNxLyR7bn1gLHZvaWQgMCx2b2lkIDAsITApfXJldHVybiB0aGlzLlhnP01hdGgubWluKHRoaXMudWIsCm4uZW5kVGltZSk6bi5lbmRUaW1lfUg3KCl7cmV0dXJuIHRoaXMuT1Q/dGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy54JCgpLXRoaXMuWk8oKSsxOjA6c3VwZXIuSDcoKX14JCgpe3ZhciBuPU1hdGgubWluKHRoaXMuSFAsTWF0aC5tYXgoc3VwZXIueCQoKSx0aGlzLnFxKSksVz10aGlzLnViKjFFMztXPXRoaXMuRG4+MCYmdGhpcy5EbjxXO3RoaXMuWGcmJnRoaXMudWI+MCYmdGhpcy5xcT4wJiYhVyYmKFc9dGhpcy5YKHRoaXMudWIpKSYmKG49TWF0aC5taW4oVy5qJC0xLG4pKTtyZXR1cm4gbn1PZygpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdOm51bGx9aihuKXt2YXIgVz1GeCh0aGlzLG4uaiQpO2lmKFc+PTApdGhpcy5zZWdtZW50c1tXXT1uO2Vsc2UgaWYodGhpcy5zZWdtZW50cy5zcGxpY2UoLShXKzEpLDAsbiksdGhpcy51ayYmbi5qJCUoMzAwL3RoaXMuTzgpPT09MCl7dmFyIEQ9dGhpcy5zZWdtZW50c1swXS5qJCwKYj1NYXRoLmZsb29yKHRoaXMudWsvdGhpcy5POCk7bj1uLmokLWI7Vz0tKFcrMSktYjtXPjAmJm4+RCYmKHRoaXMuc2VnbWVudHM9dGhpcy5zZWdtZW50cy5zbGljZShXKSl9fU8obil7bj1GeCh0aGlzLG4pO24+PTAmJnRoaXMuc2VnbWVudHMuc3BsaWNlKG4sMSl9VFgoKXtyZXR1cm4gdGhpcy5xcX1xZShuKXtyZXR1cm4gWnU/IXRoaXMuWSYmbj49MCYmdGhpcy54JCgpPD1uOnN1cGVyLnFlKG4pfVgobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlgobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07aWYobjx0aGlzLnNlZ21lbnRzWzBdLnN0YXJ0VGltZSlXPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5qJC1NYXRoLmNlaWwoKHRoaXMuc2VnbWVudHNbMF0uc3RhcnRUaW1lLW4pL3RoaXMuTzgpKTtlbHNlIGlmKG4+PVcuZW5kVGltZSlXPVcuaiQrTWF0aC5mbG9vcigobi1XLmVuZFRpbWUpLwp0aGlzLk84KzEpO2Vsc2V7Vz1EZSh0aGlzLnNlZ21lbnRzLGI9Pm48Yi5zdGFydFRpbWU/LTE6bj49Yi5lbmRUaW1lPzE6MCk7CmlmKFc+PTApcmV0dXJuIHRoaXMuc2VnbWVudHNbV107dmFyIEQ9LShXKzEpO1c9dGhpcy5zZWdtZW50c1tELTFdO0Q9dGhpcy5zZWdtZW50c1tEXTtXPU1hdGguZmxvb3IoKG4tVy5lbmRUaW1lKS8oKEQuc3RhcnRUaW1lLVcuZW5kVGltZSkvKEQuaiQtVy5qJC0xKSkrMSkrVy5qJH1yZXR1cm4gdGhpcy5XKFcpfVcobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlcobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPUZ4KHRoaXMsbik7aWYoVz49MClyZXR1cm4gdGhpcy5zZWdtZW50c1tXXTt2YXIgRD0tKFcrMSk7Vz10aGlzLk84O2lmKEQ9PT0wKXZhciBiPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWUtKHRoaXMuc2VnbWVudHNbMF0uaiQtbikqVyk7ZWxzZSBEPT09dGhpcy5zZWdtZW50cy5sZW5ndGg/KGI9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpOihiPQp0aGlzLnNlZ21lbnRzW0QtMV0sVz10aGlzLnNlZ21lbnRzW0RdLFc9KFcuc3RhcnRUaW1lLWIuZW5kVGltZSkvKFcuaiQtYi5qJC0xKSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpO3JldHVybiBuZXcgUjQobixiLFcsMCxgc3EvJHtufWAsdm9pZCAwLHZvaWQgMCwhMCl9fSxadT0hMTt2YXIgV1Q9Y2xhc3MgZXh0ZW5kcyBkdHtjb25zdHJ1Y3RvcihuLFcsRD17fSl7c3VwZXIobixXLCIiLHZvaWQgMCx2b2lkIDAsRC5yYnx8MCk7dGhpcy5pbmRleD1uZXcgZ1MoRCl9VEMoKXtyZXR1cm4hMH1OKCl7cmV0dXJuITB9WChuKXtyZXR1cm4gdGhpcy5EKCkmJm4uSiYmIW4uYVp8fCFuLlBKLmluZGV4LnFlKG4uaiQpfVkoKXt9SyhuLFc9ITEpe3JldHVybiB0eXBlb2YgbiE9PSJudW1iZXIifHxpc0Zpbml0ZShuKT9zdXBlci5LKG4sVyk6bmV3IHdrKFtuZXcgcUkoMyx0aGlzLHZvaWQgMCwibWxMaXZlR2V0UmVxSW5mb1N0dWJGb3JUaW1lIiwtMSx2b2lkIDAsdGhpcy5yYix2b2lkIDAsdGhpcy5yYip0aGlzLmluZm8uTnMpXSwiIil9aihuLFcpe2lmKHRoaXMuaW5kZXguTUkobikpcmV0dXJuIHN1cGVyLmoobixXKTt2YXIgRD10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSxiPU1hdGgucm91bmQodGhpcy5yYip0aGlzLmluZm8uTnMpLHY9dGhpcy5yYjtXJiYodj1iPTApO3JldHVybiBuZXcgd2soW25ldyBxSSgzLAp0aGlzLHZvaWQgMCwibWxMaXZlQ3JlYXRlUmVxSW5mb0ZvclNlZyIsbixELHYsdm9pZCAwLGIsIVcpXSxuPj0wP2BzcS8ke259YDoiIil9fTt2YXIgcnQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKG4sVyk7dGhpcy5pbmRleD1uZXcgZy5qYzt0aGlzLmluZGV4LnR3KCExLCJkIil9Vygpe3JldHVybiExfUQoKXtyZXR1cm4hMX1UQygpe3JldHVybiExfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHZvaWQgMCwib3RmSW5pdCIpXSwic3EvMCIpfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiBNSSh0aGlzLGdrKG4pLCExKX1LKG4sVz0hMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gTUkodGhpcyxuLCEwKX1EdChuKXtuLmluZm8udHlwZT09PTEmJih0aGlzLkp8fCh0aGlzLko9JE0obi5KKSksbi5OJiZuLk4udXJpPT09Imh0dHA6Ly95b3V0dWJlLmNvbS9zdHJlYW1pbmcvb3RmL2R1cmF0aW9ucy8xMTIwMTUiJiZuR1ModGhpcyxuLk4pKX1YKG4pe3JldHVybiBuLko9PT0wPyEwOnRoaXMuaW5kZXgueCQoKT4Kbi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9SEooKXtyZXR1cm4gMH1udSgpe3JldHVybiExfX07dmFyIGE0LGhoYixEODIsbk0sV0t3O2cuVnM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50YWc9bn19O2E0PW5ldyBNYXA7aGhiPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXB9fTtEODI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49MTA7dGhpcy5KPURhdGUubm93KCl9fTtuTT1uZXcgTWFwO1dLdz1uZXcgaGhiO3ZhciBiOD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuaW5mbz1uO3RoaXMuSj1XO3RoaXMuTj1udWxsO3RoaXMuWD10aGlzLlc9LTE7dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLmlzTG9ja2VkPXRoaXMuSz0hMTt0aGlzLlY9dGhpcy5pbmZvLlBKLlMkKCkmJiF0aGlzLmluZm8uTn1qKG4sVz0hMSxEPTApe2lmKHRoaXMuaXNMb2NrZWR8fG4uaXNMb2NrZWR8fCFiVCh0aGlzLmluZm8sbi5pbmZvKXx8dGhpcy5pbmZvLmFaKXJldHVybiBudWxsO2lmKEQpe2lmKHRoaXMuSi50b3RhbExlbmd0aCtuLkoudG90YWxMZW5ndGg+RClyZXR1cm4gbnVsbH1lbHNlIGlmKFcmJihXPXRoaXMuSixEPW4uSixXPSEoRC5OLmxlbmd0aD94TShXLEQuTlswXSk6MSkpLFcpcmV0dXJuIG51bGw7Vz1uZXcgcUkodGhpcy5pbmZvLnR5cGUsdGhpcy5pbmZvLlBKLHRoaXMuaW5mby5yYW5nZSx0aGlzLmluZm8uWSx0aGlzLmluZm8uaiQsdGhpcy5pbmZvLnNlZ21lbnRTdGFydFRpbWUsdGhpcy5pbmZvLlcsCnRoaXMuaW5mby5OLHRoaXMuaW5mby5KLHRoaXMuaW5mby5hWix0aGlzLmluZm8udkQsdGhpcy5pbmZvLmNsaXBJZCx0aGlzLmluZm8uRCk7UF8oVyxuLmluZm8pO0Q9bmV3IFM1O2U1KEQsdGhpcy5KKTtlNShELG4uSik7Vz1uZXcgYjgoVyxEKTtXLk4hPW51bGwmJm4uTiE9bnVsbCYmZy5jXygiZGFzaCIsNDE0NjI3OTU3LGBtZXJnZWQgc2xpY2UgZW1zZyBvdmVycmlkZGVuOyBwcmV2OiAke1cuTi5mSygpfSBuZXh0OiAke24uTi5mSygpfWApO1cuTj1uLk58fHRoaXMuTjtXLlc9dGhpcy5XIT09LTE/dGhpcy5XOm4uVztXLlg9dGhpcy5YIT09LTE/dGhpcy5YOm4uWDtyZXR1cm4gV319O2cuQkM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmNvdW50PTA7dGhpcy5KPTE7dGhpcy5XPSExO3RoaXMub2Zmc2V0cz1uZXcgRmxvYXQ2NEFycmF5KDEyOCk7dGhpcy5zdGFydFRpY2tzPW5ldyBGbG9hdDY0QXJyYXkoMTI4KX1NSShuKXtyZXR1cm4gbjw9dGhpcy54JCgpfU4obil7cmV0dXJuIHRoaXMub2Zmc2V0c1tuXX1nZXRTdGFydFRpbWUobil7cmV0dXJuIHRoaXMuc3RhcnRUaWNrc1tuXS90aGlzLkp9akUobil7cmV0dXJuIHRoaXMuZ2V0U3RhcnRUaW1lKG4pK3RoaXMuZ2V0RHVyYXRpb24obil9aEMoKXtyZXR1cm4gTmFOfWdldER1cmF0aW9uKG4pe249dGhpcy5EKG4pO3JldHVybiBuPj0wP24vdGhpcy5KOi0xfUQobil7cmV0dXJuIG4rMTx0aGlzLmNvdW50fHx0aGlzLlc/dGhpcy5zdGFydFRpY2tzW24rMV0tdGhpcy5zdGFydFRpY2tzW25dOi0xfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gMH14JCgpe3JldHVybiB0aGlzLmNvdW50LTF9cWUobil7cmV0dXJuIHRoaXMueCQoKT09PQpuJiZuPj0wfWJRKCl7cmV0dXJuIHRoaXMuVz90aGlzLnN0YXJ0VGlja3NbdGhpcy5jb3VudF0vdGhpcy5KOk5hTn1MZigpe3JldHVybiAwfUg3KCl7cmV0dXJuIHRoaXMuY291bnR9Vigpe3JldHVybiIifVIzKG4pe24qPXRoaXMuSjtuPWcuVzQodGhpcy5zdGFydFRpY2tzLnN1YmFycmF5KDAsdGhpcy5jb3VudCksbik7cmV0dXJuIG4+PTA/bjpNYXRoLm1heCgwLC1uLTIpfWlzTG9hZGVkKCl7cmV0dXJuIHRoaXMueCQoKT49MH1YZChuLFcpe2lmKG4+PXRoaXMueCQoKSlyZXR1cm4gMDt2YXIgRD0wO2ZvcihXPXRoaXMuZ2V0U3RhcnRUaW1lKG4pK1c7bjx0aGlzLngkKCkmJlc+dGhpcy5nZXRTdGFydFRpbWUobik7bisrKUQ9TWF0aC5tYXgoRCx0TSh0aGlzLG4pL3RoaXMuZ2V0RHVyYXRpb24obikpO3JldHVybiBEfXJlc2l6ZShuKXtuKz0yO3ZhciBXPXRoaXMub2Zmc2V0czt0aGlzLm9mZnNldHM9bmV3IEZsb2F0NjRBcnJheShuKzEpO3ZhciBEPXRoaXMuc3RhcnRUaWNrczt0aGlzLnN0YXJ0VGlja3M9Cm5ldyBGbG9hdDY0QXJyYXkobisxKTtmb3Iobj0wO248dGhpcy5jb3VudCsxO24rKyl0aGlzLm9mZnNldHNbbl09V1tuXSx0aGlzLnN0YXJ0VGlja3Nbbl09RFtuXX1jYXAobixXKXskWCh0aGlzKTt0aGlzLlc9ITA7dGhpcy5zdGFydFRpY2tzW3RoaXMuY291bnRdPVc7dGhpcy5vZmZzZXRzW3RoaXMuY291bnRdPW59fTtnLkJDLnByb3RvdHlwZS5VNz1XWigyKTt2YXIgc2s9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcihuLFcsRCxiKTt0aGlzLmo9bnVsbDt0aGlzLmluZGV4PW5ldyBnLkJDfVkobixXKXt2YXIgRD1uZXcgcUkoMix0aGlzLHRoaXMuaW5kZXhSYW5nZSwiaW5kZXhJbmZvIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyksYj1bbmV3IHFJKDEsdGhpcyx0aGlzLmluaXRSYW5nZSwiaW5pdEluZm8iLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxXKSxEXTt0aGlzLmluZm8uY29udGVudExlbmd0aD4wJiZuJiYoRD1ELnJhbmdlLmVuZCsxLG49TWF0aC5taW4obix0aGlzLmluZm8uY29udGVudExlbmd0aC1EKSxuPjAmJmIucHVzaChuZXcgcUkoNCx0aGlzLFdfKEQsbiksInRiZFJhbmdlIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVykpKTtyZXR1cm4gbmV3IHdrKGIpfUR0KG4pe2lmKG4uaW5mby50eXBlPT09CjEpe2lmKHRoaXMuSilyZXR1cm47dGhpcy5KPSRNKG4uSil9ZWxzZSBpZihuLmluZm8udHlwZT09PTIpe2lmKHRoaXMuanx8dGhpcy5pbmRleC54JCgpPj0wKXJldHVybjtpZihnLlJCKHRoaXMuaW5mbykpe3ZhciBXPXRoaXMuaW5kZXgsRD1nLldSKG4pO249bi5pbmZvLnJhbmdlLnN0YXJ0O3ZhciBiPWcubnMoRCwwLDE5MzYyODY4NDApO0Q9THMoYik7Vy5KPUQudGltZXNjYWxlO3ZhciB2PUQuZjg7Vy5vZmZzZXRzWzBdPUQuTm8rbitiLnNpemU7Vy5zdGFydFRpY2tzWzBdPXY7Vy5XPSEwO249RC5xZy5sZW5ndGg7Zm9yKHY9MDt2PG47disrKXJ5KFcsRC5Ic1t2XSxELnFnW3ZdKX1lbHNlIHRoaXMuaj1nLldSKG4pfWlmKHRoaXMuaW5mby5xSCgpJiZ0aGlzLkomJnRoaXMuail7bj1uZXcgRGF0YVZpZXcodGhpcy5KLmJ1ZmZlcik7Vz10aGlzLmluZGV4O3Y9dGhpcy5qO0Q9dGhpcy5pbmRleFJhbmdlLmVuZDtiPW5ldyB0WShuKTtuPWI7Yj1uLnBvczt2YXIgaz17Qzk6MUU2LG84OjFFOSwKZHVyYXRpb246MCx4TTowLGJtOjB9O2lmKHNZKG4sNDA4MTI1NTQzKSlpZihrLnhNPU5rKG4sITApLGsuYm09bi5zdGFydCtuLnBvcyxzWShuLDM1NzE0OTAzMCkpe2Zvcih2YXIgaD1yQShuKTshSHcoaCk7KXt2YXIgeD1OayhoLCExKTt4PT09MjgwNzcyOT9rLkM5PWZzKGgpOng9PT0yODA3NzMwP2subzg9ZnMoaCk6eD09PTE3NTQ1P2suZHVyYXRpb249SUIoaCk6SlkoaCl9bi5wb3M9YjtuPWt9ZWxzZSBuLnBvcz1iLG49bnVsbDtlbHNlIG4ucG9zPWIsbj1udWxsO2lmKG4hPT1udWxsKXtXLko9bi5vOC9uLkM5O2I9bmV3IHRZKHYpO3Y9YjtoPW4uYm07Yj12LnBvcztrPVtdO2lmKHNZKHYsNDc1MjQ5NTE1KSl7Zm9yKHg9ckEodik7c1koeCwxODcpOyl7bGV0IEw9ckEoeCk7aWYoIXNZKEwsMTc5KSljb250aW51ZTtsZXQgZT1mcyhMKTtpZighc1koTCwxODMpKWNvbnRpbnVlO0w9ckEoTCk7bGV0IEc9aDtmb3IoO3NZKEwsMjQxKTspRz1mcyhMKStoO2sucHVzaCh7Zm86RyxuODplfSl9aWYoay5sZW5ndGg+CjAmJkQ9PT1rWzBdLmZvKWZvcihEPTA7RDxrLmxlbmd0aDtEKyspa1tEXS5mbys9MTt2LnBvcz1iO0Q9a31lbHNlIHYucG9zPWIsRD1udWxsO2lmKEQhPT1udWxsKXtmb3IobGV0IEwgb2YgRClEPVcsdj1MLmZvLGI9TC5uOCwkWChEKSxELm9mZnNldHNbRC5jb3VudF09dixELnN0YXJ0VGlja3NbRC5jb3VudF09YixELmNvdW50Kys7Vy5jYXAobi54TStuLmJtLG4uZHVyYXRpb24pfX10aGlzLmo9bnVsbH19R0Mobil7dmFyIFc9dGhpcy5WUShuLmluZm8pLEQ9bi5pbmZvLnJhbmdlLnN0YXJ0K24uaW5mby5OLGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPWdkKG4uSixXW3ZdLnJhbmdlLnN0YXJ0K1dbdl0uTi1ELFdbdl0uSik7Yi5wdXNoKG5ldyBiOChXW3ZdLGspKX1yZXR1cm4gYn1WUShuKXtmb3IodmFyIFc9bi5yYW5nZS5zdGFydCtuLk4sRD0wO0Q8dGhpcy5pbmRleC54JCgpJiZXPj10aGlzLmluZGV4Lk4oRCsxKTspRCsrO3JldHVybiBzTih0aGlzLEQsVywKbi5KKS5Bd31YKG4pe24uVigpO3JldHVybiB0aGlzLk4oKT8hMDpuLnJhbmdlLmVuZCsxPHRoaXMuaW5mby5jb250ZW50TGVuZ3RofWJkKG4sVyl7dGhpcy5YKG4pO2lmKCF0aGlzLk4oKSlyZXR1cm4gVz1XXyhuLnJhbmdlLmVuZCsxLFcpLFcuZW5kKzE+dGhpcy5pbmZvLmNvbnRlbnRMZW5ndGgmJihXPW5ldyBhQihXLnN0YXJ0LHRoaXMuaW5mby5jb250ZW50TGVuZ3RoLTEpKSxuZXcgd2soW25ldyBxSSg0LG4uUEosVywiZ2V0TmV4dFJlcXVlc3RJbmZvQnlMZW5ndGgiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxuLmNsaXBJZCldKTtuLnR5cGU9PT00JiYobj10aGlzLlZRKG4pLG49bltuLmxlbmd0aC0xXSk7dmFyIEQ9MCxiPW4ucmFuZ2Uuc3RhcnQrbi5OK24uSjtuLnR5cGU9PT0zJiYobi5WKCksRD1uLmokLGI9PT1uLnJhbmdlLmVuZCsxJiYoRCs9MSkpO3JldHVybiBzTih0aGlzLEQsYixXKX1lJCgpe3JldHVybiBudWxsfUsobixXPQohMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gc04odGhpcyxuLHRoaXMuaW5kZXguTihuKSwwKX1XKCl7cmV0dXJuITB9RCgpe3JldHVybiEwfVRDKCl7cmV0dXJuITF9SEooKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlLmxlbmd0aCt0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlJiZ0aGlzLmluaXRSYW5nZSYmdGhpcy5pbml0UmFuZ2UuZW5kKzE9PT10aGlzLmluZGV4UmFuZ2Uuc3RhcnQ/ITA6ITF9fTt2YXIgQU09Y2xhc3N7Y29uc3RydWN0b3Iobj0wLFc9MCxEPSJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSIsYj0hMSx2LGssaD0iQVVESU9fUVVBTElUWV9VTktOT1dOIix4PSExKXt0aGlzLnNhbXBsZVJhdGU9bjt0aGlzLm51bUNoYW5uZWxzPVc7dGhpcy5zcGF0aWFsQXVkaW9UeXBlPUQ7dGhpcy5XPWI7dGhpcy5YPXY7dGhpcy5KPWs7dGhpcy5hdWRpb1F1YWxpdHk9aDt0aGlzLk49eH1pc011bHRpQ2hhbm5lbEF1ZGlvKCl7cmV0dXJuIHRoaXMubnVtQ2hhbm5lbHM+Mn19O3ZhciBLTT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiPSIiLHY9IiIsaz0iIil7dGhpcy5kaXNwbGF5TmFtZT1uO3RoaXMudnNzSWQ9Vzt0aGlzLmxhbmd1YWdlQ29kZT1EO3RoaXMua2luZD1iO3RoaXMueHRhZ3M9djt0aGlzLmlkPWt9fTt2YXIgciR4PXtDT0xPUl9QUklNQVJJRVNfQlQ3MDk6ImJ0NzA5IixDT0xPUl9QUklNQVJJRVNfQlQyMDIwOiJidDIwMjAiLENPTE9SX1BSSU1BUklFU19VTktOT1dOOm51bGwsQ09MT1JfUFJJTUFSSUVTX1VOU1BFQ0lGSUVEOm51bGx9LGJxVT17Q09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUNzA5OiJidDcwOSIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUMjAyMF8xMDoiYnQyMDIwIixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfU01QVEVTVDIwODQ6InNtcHRlMjA4NCIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0FSSUJfU1REX0I2NzoiYXJpYi1zdGQtYjY3IixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfVU5LTk9XTjpudWxsLENPTE9SX1RSQU5TRkVSX0NIQVJBQ1RFUklTVElDU19VTlNQRUNJRklFRDpudWxsfTt2YXIgQVQ9e1dJRFRIOntuYW1lOiJ3aWR0aCIsdmlkZW86ITAsdmFsaWQ6NjQwLHZHOjk5OTk5fSxIRUlHSFQ6e25hbWU6ImhlaWdodCIsdmlkZW86ITAsdmFsaWQ6MzYwLHZHOjk5OTk5fSxGUkFNRVJBVEU6e25hbWU6ImZyYW1lcmF0ZSIsdmlkZW86ITAsdmFsaWQ6MzAsdkc6OTk5OX0sQklUUkFURTp7bmFtZToiYml0cmF0ZSIsdmlkZW86ITAsdmFsaWQ6M0U1LHZHOjJFOX0sRU9URjp7bmFtZToiZW90ZiIsdmlkZW86ITAsdmFsaWQ6ImJ0NzA5Iix2RzoiY2F0YXZpc2lvbiJ9LENIQU5ORUxTOntuYW1lOiJjaGFubmVscyIsdmlkZW86ITEsdmFsaWQ6Mix2Rzo5OX0sQ1JZUFRPQkxPQ0tGT1JNQVQ6e25hbWU6ImNyeXB0b2Jsb2NrZm9ybWF0Iix2aWRlbzohMCx2YWxpZDoic3Vic2FtcGxlIix2RzoiaW52YWxpZGZvcm1hdCJ9LERFQ09ERVRPVEVYVFVSRTp7bmFtZToiZGVjb2RlLXRvLXRleHR1cmUiLHZpZGVvOiEwLHZhbGlkOiJmYWxzZSIsdkc6Im5vcGUifSxBVjFfQ09ERUNTOntuYW1lOiJjb2RlY3MiLAp2aWRlbzohMCx2YWxpZDoiYXYwMS4wLjA1TS4wOCIsdkc6ImF2OTkuMC4wNU0uMDgifSxFWFBFUklNRU5UQUw6e25hbWU6ImV4cGVyaW1lbnRhbCIsdmlkZW86ITAsdmFsaWQ6ImFsbG93ZWQiLHZHOiJpbnZhbGlkIn0sVFVOTkVMTU9ERTp7bmFtZToidHVubmVsbW9kZSIsdmlkZW86ITAsdmFsaWQ6InRydWUiLHZHOiJmYWxzZSJ9fTt2YXIgWWc9e1siMCJdOiJmIixbIjE2MCJdOiJoIixbIjEzMyJdOiJoIixbIjEzNCJdOiJoIixbIjEzNSJdOiJoIixbIjEzNiJdOiJoIixbIjEzNyJdOiJoIixbIjI2NCJdOiJoIixbIjI2NiJdOiJoIixbIjEzOCJdOiJoIixbIjI5OCJdOiJoIixbIjI5OSJdOiJoIixbIjMwNCJdOiJoIixbIjMwNSJdOiJoIixbIjIxNCJdOiJoIixbIjIxNiJdOiJoIixbIjM3NCJdOiJoIixbIjM3NSJdOiJoIixbIjE0MCJdOiJhIixbIjE0MSJdOiJhIixbIjMyNyJdOiJzYSIsWyIyNTgiXToibSIsWyIzODAiXToibWFjMyIsWyIzMjgiXToibWVhYzMiLFsiMTYxIl06IkgiLFsiMTQyIl06IkgiLFsiMTQzIl06IkgiLFsiMTQ0Il06IkgiLFsiMjIyIl06IkgiLFsiMjIzIl06IkgiLFsiMTQ1Il06IkgiLFsiMjI0Il06IkgiLFsiMjI1Il06IkgiLFsiMTQ2Il06IkgiLFsiMjI2Il06IkgiLFsiMjI3Il06IkgiLFsiMTQ3Il06IkgiLFsiMzg0Il06IkgiLFsiMzc2Il06IkgiLFsiMzg1Il06IkgiLFsiMzc3Il06IkgiLApbIjE0OSJdOiJBIixbIjI2MSJdOiJNIixbIjM4MSJdOiJNQUMzIixbIjMyOSJdOiJNRUFDMyIsWyI1OTgiXToiOSIsWyIyNzgiXToiOSIsWyIyNDIiXToiOSIsWyIyNDMiXToiOSIsWyIyNDQiXToiOSIsWyI3NzUiXToiOSIsWyI3NzYiXToiOSIsWyI3NzciXToiOSIsWyI3NzgiXToiOSIsWyI3NzkiXToiOSIsWyI3ODAiXToiOSIsWyI3ODEiXToiOSIsWyI3ODIiXToiOSIsWyI3ODMiXToiOSIsWyIyNDciXToiOSIsWyIyNDgiXToiOSIsWyIzNTMiXToiOSIsWyIzNTUiXToiOSIsWyIzNTYiXToiOSIsWyIyNzEiXToiOSIsWyI1NzciXToiOSIsWyIzMTMiXToiOSIsWyI1NzkiXToiOSIsWyIyNzIiXToiOSIsWyIzMDIiXToiOSIsWyIzMDMiXToiOSIsWyI0MDciXToiOSIsWyI0MDgiXToiOSIsWyIzMDgiXToiOSIsWyIzMTUiXToiOSIsWyIzMzAiXToiOWgiLFsiMzMxIl06IjloIixbIjMzMiJdOiI5aCIsWyIzMzMiXToiOWgiLFsiMzM0Il06IjloIixbIjMzNSJdOiI5aCIsWyIzMzYiXToiOWgiLApbIjMzNyJdOiI5aCIsWyIzMzgiXToic28iLFsiNjAwIl06Im8iLFsiMjUwIl06Im8iLFsiMjUxIl06Im8iLFsiNzc0Il06Im8iLFsiMTk0Il06IioiLFsiMTk1Il06IioiLFsiMjIwIl06IioiLFsiMjIxIl06IioiLFsiMTk2Il06IioiLFsiMTk3Il06IioiLFsiMjc5Il06IigiLFsiMjgwIl06IigiLFsiMzE3Il06IigiLFsiMzE4Il06IigiLFsiMjczIl06IigiLFsiMjc0Il06IigiLFsiMzU3Il06IigiLFsiMzU4Il06IigiLFsiMjc1Il06IigiLFsiMzU5Il06IigiLFsiMzYwIl06IigiLFsiMjc2Il06IigiLFsiNTgzIl06IigiLFsiNTg0Il06IigiLFsiMzE0Il06IigiLFsiNTg1Il06IigiLFsiNTYxIl06IigiLFsiMjc3Il06IigiLFsiMzYxIl06IihoIixbIjM2MiJdOiIoaCIsWyIzNjMiXToiKGgiLFsiMzY0Il06IihoIixbIjM2NSJdOiIoaCIsWyIzNjYiXToiKGgiLFsiNTkxIl06IihoIixbIjU5MiJdOiIoaCIsWyIzNjciXToiKGgiLFsiNTg2Il06IihoIixbIjU4NyJdOiIoaCIsClsiMzY4Il06IihoIixbIjU4OCJdOiIoaCIsWyI1NjIiXToiKGgiLFsiNDA5Il06IigiLFsiNDEwIl06IigiLFsiNDExIl06IigiLFsiNDEyIl06IigiLFsiNTU3Il06IigiLFsiNTU4Il06IigiLFsiMzk0Il06IjEiLFsiMzk1Il06IjEiLFsiMzk2Il06IjEiLFsiMzk3Il06IjEiLFsiMzk4Il06IjEiLFsiMzk5Il06IjEiLFsiNzIwIl06IjEiLFsiNzIxIl06IjEiLFsiNDAwIl06IjEiLFsiNDAxIl06IjEiLFsiNTcxIl06IjEiLFsiNDAyIl06IjEiLFsiNjk0Il06IjFoIixbIjY5NSJdOiIxaCIsWyI2OTYiXToiMWgiLFsiNjk3Il06IjFoIixbIjY5OCJdOiIxaCIsWyI2OTkiXToiMWgiLFsiNzAwIl06IjFoIixbIjcwMSJdOiIxaCIsWyI3MDIiXToiMWgiLFsiNzAzIl06IjFoIixbIjM4NiJdOiIzIixbIjM4NyJdOiJ3IixbIjQwNiJdOiI2IixbIjc4NyJdOiIxIixbIjc4OCJdOiIxIixbIjU0OCJdOiIxZSIsWyI1NDkiXToiMWUiLFsiNTUwIl06IjFlIixbIjU1MSJdOiIxZSIsWyI4MDkiXToiMWUiLApbIjgxMCJdOiIxZSIsWyI1NTIiXToiMWUiLFsiODExIl06IjFlIixbIjgxMiJdOiIxZSIsWyI1NTMiXToiMWUiLFsiODEzIl06IjFlIixbIjgxNCJdOiIxZSIsWyI1NTQiXToiMWUiLFsiODE1Il06IjFlIixbIjgxNiJdOiIxZSIsWyI1NTUiXToiMWUiLFsiODE3Il06IjFlIixbIjgxOCJdOiIxZSIsWyI1NzIiXToiMWUiLFsiNTU2Il06IjFlIixbIjY0NSJdOiIoIixbIjY0NiJdOiIoIixbIjY0NyJdOiIoIixbIjY0OCJdOiIoIixbIjY0OSJdOiIoIixbIjY1MCJdOiIoIixbIjY1MSJdOiIoIixbIjY1MiJdOiIoIixbIjY1MyJdOiIoIixbIjY1NCJdOiIoIixbIjY1NSJdOiIoIixbIjY1NiJdOiIoIixbIjY1NyJdOiIoIixbIjY1OCJdOiIoIixbIjY1OSJdOiIoIixbIjY2MCJdOiIoIixbIjY2MSJdOiIoIixbIjY2MiJdOiIoIixbIjY2MyJdOiIoIixbIjY2NCJdOiIoIixbIjY2NSJdOiIoIixbIjY2NiJdOiIoIixbIjY2NyJdOiIoIixbIjY2OCJdOiIoIixbIjY2OSJdOiIoIixbIjY3MCJdOiIoIiwKWyI2NzEiXToiKCIsWyI2NzIiXToiKCIsWyI2NzMiXToiKCIsWyI2NzQiXToiKGgiLFsiNjc1Il06IihoIixbIjY3NiJdOiIoaCIsWyI2NzciXToiKGgiLFsiNjc4Il06IihoIixbIjY3OSJdOiIoaCIsWyI2ODAiXToiKGgiLFsiNjgxIl06IihoIixbIjY4MiJdOiIoaCIsWyI2ODMiXToiKGgiLFsiNjg0Il06IihoIixbIjY4NSJdOiIoaCIsWyI2ODYiXToiKGgiLFsiNjg3Il06IihoIixbIjY4OCJdOiJBIixbIjY4OSJdOiJBIixbIjY5MCJdOiJBIixbIjY5MSJdOiJNRUFDMyIsWyI3NzMiXToiaSIsWyI4MDYiXToiSSIsWyI4MDUiXToiSSIsWyI4MjkiXToiOSIsWyI4MzAiXToiOSIsWyI4MzEiXToiOSIsWyI4MzIiXToiOSIsWyI4MzMiXToiOSIsWyI4MzQiXToiOSIsWyI4MzUiXToiOSIsWyI4MzYiXToiOSIsWyI4OTIiXToiOSIsWyI4OTMiXToiOSIsWyI4MzciXToiOSIsWyI4MzgiXToiOSIsWyI4MzkiXToiOSIsWyI4NDAiXToiOSIsWyI4NDEiXToiKCIsWyI4NDIiXToiKCIsWyI4NDMiXToiKCIsClsiODQ0Il06IigiLFsiODQ1Il06IigiLFsiODQ2Il06IigiLFsiODQ3Il06IigiLFsiODQ4Il06IigiLFsiODk0Il06IigiLFsiODk1Il06IigiLFsiODQ5Il06IigiLFsiODUwIl06IigiLFsiODUxIl06IigiLFsiODUyIl06IigiLFsiODY1Il06IjkiLFsiODY2Il06IjkiLFsiODY3Il06IjkiLFsiODY4Il06IjkiLFsiODY5Il06IjkiLFsiODcwIl06IjkiLFsiODcxIl06IjkiLFsiODcyIl06IjkiLFsiODk2Il06IjkiLFsiODk3Il06IjkiLFsiODczIl06IjkiLFsiODc0Il06IjkiLFsiODc1Il06IjkiLFsiODc2Il06IjkiLFsiODc3Il06IigiLFsiODc4Il06IigiLFsiODc5Il06IigiLFsiODgwIl06IigiLFsiODgxIl06IigiLFsiODgyIl06IigiLFsiODgzIl06IigiLFsiODg0Il06IigiLFsiODk4Il06IigiLFsiODk5Il06IigiLFsiODg1Il06IigiLFsiODg2Il06IigiLFsiODg3Il06IigiLFsiODg4Il06IigiLFsiOTAwIl06IjIiLFsiOTAxIl06IjIiLFsiOTAyIl06IjIiLApbIjkwMyJdOiIyIixbIjkwNCJdOiIyIixbIjkwNSJdOiIyIixbIjkwNiJdOiIyIixbIjkwNyJdOiIyIixbIjkwOCJdOiIyIn07dmFyIHBNPSJoaWdocmVzIGhkMjg4MCBoZDIxNjAgaGQxNDQwIGhkMTA4MCBoZDcyMCBsYXJnZSBtZWRpdW0gc21hbGwgdGlueSIuc3BsaXQoIiAiKTt2YXIgSFI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSxHKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9Vzt0aGlzLlc9eDt0aGlzLnF1YWxpdHk9a3x8WVgobixXKTt0aGlzLnF1YWxpdHlPcmRpbmFsPU5HW3RoaXMucXVhbGl0eV07dGhpcy5mcHM9RHx8MDt0aGlzLnN0ZXJlb0xheW91dD0hdnx8YiE9bnVsbCYmYiE9PSJVTktOT1dOIiYmYiE9PSJSRUNUQU5HVUxBUiI/MDp2O3RoaXMucHJvamVjdGlvblR5cGU9Yj9iPT09IkVRVUlSRUNUQU5HVUxBUiImJnY9PT0yPyJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOmI6IlVOS05PV04iOyhuPWgpfHwoRD1OR1t0aGlzLnF1YWxpdHldLEQ9PT0wP249IkF1dG8iOihuPXRoaXMucHJvamVjdGlvblR5cGUsVz10aGlzLmZwcyxuPUQudG9TdHJpbmcoKSsobj09PSJFUVVJUkVDVEFOR1VMQVIifHxuPT09IkVRVUlSRUNUQU5HVUxBUl9USFJFRURfVE9QX0JPVFRPTSJ8fG49PT0iTUVTSCI/InMiOiJwIikrCihXPjU1PyI2MCI6Vz40OT8iNTAiOlc+Mzk/IjQ4IjoiIikpKTt0aGlzLnF1YWxpdHlMYWJlbD1uO3RoaXMuTj1MfHwiIjt0aGlzLnByaW1hcmllcz1lfHwiIjt0aGlzLlg9Rz8/ITB9Sigpe3JldHVybiB0aGlzLmZwcz4zMn1pc0hkcigpe3JldHVybiB0aGlzLk49PT0ic21wdGUyMDg0Inx8dGhpcy5OPT09ImFyaWItc3RkLWI2NyJ9fTt2YXIgbXU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQ9e30pe3RoaXMuaWQ9bjt0aGlzLm1pbWVUeXBlPVc7RC5Ocz4wfHwoRC5Ocz0xNkUzKTtPYmplY3QuYXNzaWduKHRoaXMsRCk7W3RoaXMuaXRhZyx0aGlzLkpdPXRoaXMuaWQuc3BsaXQoIjsiKTt0aGlzLmNvbnRhaW5lclR5cGU9Sk0oVyk7dGhpcy5JQj1ZZ1t0aGlzLml0YWddfHwiIn1LKCl7cmV0dXJuIHRoaXMudmlkZW99WSgpe3JldHVybiB0aGlzLmF1ZGlvfXFIKCl7cmV0dXJuIHRoaXMuY29udGFpbmVyVHlwZT09PTJ9WCgpe3JldHVybiB0aGlzLklCPT09IjkifHx0aGlzLklCPT09IigifHx0aGlzLklCPT09IjloInx8dGhpcy5JQj09PSIoaCJ9TVcoKXtyZXR1cm4gdGhpcy5JQj09PSIxInx8dGhpcy5JQj09PSIxaCJ8fFBSJiZ0aGlzLklCPT09IjFlIn1WKCl7cmV0dXJuIHRoaXMuSUI9PT0ibWFjMyJ8fHRoaXMuSUI9PT0ibWVhYzMifHx0aGlzLklCPT09Im0ifHx0aGlzLklCPT09ImkifHxtRih0aGlzKX1EKCl7cmV0dXJuIHRoaXMuSUI9PT0KIk1BQzMifHx0aGlzLklCPT09Im1hYzMifHx0aGlzLklCPT09Ik1FQUMzInx8dGhpcy5JQj09PSJtZWFjMyJ9aXNFbmNyeXB0ZWQoKXtyZXR1cm4hIXRoaXMuY29udGVudFByb3RlY3Rpb259ZVMoKXtyZXR1cm4hIXRoaXMuYXVkaW99ZlkoKXtyZXR1cm4hIXRoaXMudmlkZW99Vygpe3JldHVybiB0aGlzLm1pbWVUeXBlPT09ImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCJ9Tigpe3ZhciBuPXRoaXMubWltZVR5cGU7cmV0dXJuIG4uaW5jbHVkZXMoInZ0dCIpfHxuLmluY2x1ZGVzKCJ0ZXh0L21wNCIpfWlzVmVydGljYWwoKXtyZXR1cm4hIXRoaXMudmlkZW8mJnRoaXMudmlkZW8ud2lkdGg8dGhpcy52aWRlby5oZWlnaHR9fSxQUj0hMSxFTj0hMTtnLkZzPWNsYXNzIGV4dGVuZHMgZy5KTHtOTihuLFcsRCxiLHYpe3JldHVybiBzdXBlci5OTihuLFcsRCxiLHYpfX07dmFyIHhnPWNsYXNzIGV4dGVuZHMgZy5GaXtjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcigpO3RoaXMuayQ9bjt0aGlzLnN0YXJ0PVc7dGhpcy5lbmQ9RDt0aGlzLmlzQWN0aXZlPWI7dGhpcy5hcHBlbmRXaW5kb3dTdGFydD0wO3RoaXMuYXBwZW5kV2luZG93RW5kPUluZmluaXR5O3RoaXMudGltZXN0YW1wT2Zmc2V0PTA7dGhpcy5LVT17ZXJyb3I6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJlcnJvciIsdGhpcyl9LAp1cGRhdGVlbmQ6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJ1cGRhdGVlbmQiLHRoaXMpfX07CnRoaXMuayQuaCQodGhpcy5LVSk7dGhpcy5wTj10aGlzLmlzQWN0aXZlfWFwcGVuZEJ1ZmZlcihuLFcsRCl7aWYodGhpcy5rJC5NcigpIT09dGhpcy5hcHBlbmRXaW5kb3dTdGFydCt0aGlzLnN0YXJ0fHx0aGlzLmskLktGKCkhPT10aGlzLmFwcGVuZFdpbmRvd0VuZCt0aGlzLnN0YXJ0fHx0aGlzLmskLlNXKCkhPT10aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KXRoaXMuayQuc3VwcG9ydHMoMSksdGhpcy5rJC5lNyh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0K3RoaXMuc3RhcnQsdGhpcy5hcHBlbmRXaW5kb3dFbmQrdGhpcy5zdGFydCksdGhpcy5rJC55Tyh0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KTt0aGlzLmskLmFwcGVuZEJ1ZmZlcihuLFcsRCl9YWJvcnQoKXt0aGlzLmskLmFib3J0KCl9cmVtb3ZlKG4sVyl7dGhpcy5rJC5yZW1vdmUobit0aGlzLnN0YXJ0LFcrdGhpcy5zdGFydCl9VGkoKXt0aGlzLnJlbW92ZSh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0LHRoaXMuYXBwZW5kV2luZG93RW5kKX1jbGVhcigpe3RoaXMuayQuY2xlYXIoKX1lNyhuLApXKXt0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0PW47dGhpcy5hcHBlbmRXaW5kb3dFbmQ9V31pdygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0fU1yKCl7cmV0dXJuIHRoaXMuYXBwZW5kV2luZG93U3RhcnR9S0YoKXtyZXR1cm4gdGhpcy5hcHBlbmRXaW5kb3dFbmR9eU8obil7dGhpcy50aW1lc3RhbXBPZmZzZXQ9bn1TVygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldH1aRihuPSExKXtuPXRoaXMuayQuWkYobik7cmV0dXJuIFFUKG4sdGhpcy5zdGFydCx0aGlzLmVuZCl9eXUoKXtyZXR1cm4gdGhpcy5rJC55dSgpfWZGKCl7cmV0dXJuIHRoaXMuayQuZkYoKX1nWCgpe3JldHVybiB0aGlzLmskLmdYKCl9RGMoKXtyZXR1cm4gdGhpcy5rJC5EYygpfWg5KCl7dGhpcy5rJC5oOSgpfXRaKG4pe3JldHVybiB0aGlzLmskLnRaKG4pfUQ5KCl7cmV0dXJuIHRoaXMuayQuRDkoKX1MRigpe3JldHVybiB0aGlzLmskLkxGKCl9am4obixXLEQpe3RoaXMuayQuam4obiwKVyxEKX1WbyhuLFcsRCl7dGhpcy5rJC5WbyhuLFcsRCl9bmEobixXKXtyZXR1cm4gdGhpcy5rJC5uYShuLFcpfXN1cHBvcnRzKG4pe3JldHVybiB0aGlzLmskLnN1cHBvcnRzKG4pfVpnKCl7cmV0dXJuIHRoaXMuayQuWmcoKX1pUSgpe3JldHVybiB0aGlzLmskLmlRKCl9aXNWaWV3KCl7cmV0dXJuITB9am8oKXtyZXR1cm4gdGhpcy5rJC5qbygpP3RoaXMuaXNBY3RpdmU6ITF9aXNMb2NrZWQoKXtyZXR1cm4gdGhpcy5wTiYmIXRoaXMuaXNBY3RpdmV9eXIobil7bj10aGlzLmskLnlyKG4pO24udnc9YCR7dGhpcy5zdGFydH0tJHt0aGlzLmVuZH1gO3JldHVybiBufW5GKCl7cmV0dXJuIHRoaXMuayQubkYoKX1Lcygpe3JldHVybiB0aGlzLmskLktzKCl9ejAoKXtyZXR1cm4gdGhpcy5rJC56MCgpfW1BKCl7dGhpcy5rJC5NOSh0aGlzLktVKTtzdXBlci5tQSgpfUtpKCl7cmV0dXJuIHRoaXMuaXNBY3RpdmV9VnUobil7dGhpcy5pc0FjdGl2ZT1uO3RoaXMucE49dGhpcy5wTnx8dGhpcy5pc0FjdGl2ZX19O3ZhciBzND0hMTt2YXIga2c9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG4sVyxELGIsdixrKXtzdXBlcigpO3RoaXMuUUU9bjt0aGlzLkVWPVc7dGhpcy5pZD1EO3RoaXMuY29udGFpbmVyVHlwZT1iO3RoaXMuSUI9djt0aGlzLmZZPWs7dGhpcy5tTz10aGlzLmpxPXRoaXMuZEg9bnVsbDt0aGlzLmVvPSExO3RoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLkY0PVRpKFtdLFtdKTt0aGlzLkhIPSExO3RoaXMuaWs9W107dGhpcy55Nj1QYz9bXTp2b2lkIDA7dGhpcy5oYW5kbGVyPWg9PnRoaXMuV0ooaC50eXBlLHRoaXMpOwp0aGlzLlFFPy5hZGRFdmVudExpc3RlbmVyJiYodGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVlbmQiLHRoaXMuaGFuZGxlciksdGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5oYW5kbGVyKSl9YXBwZW5kQnVmZmVyKG4sVyxEKXt0aGlzLkhIPSExO0QmJih0aGlzLmpxPUQpO24ubGVuZ3RoJiYodGhpcy5RRT8uYXBwZW5kQnVmZmVyP3RoaXMuUUUuYXBwZW5kQnVmZmVyKG4pOnRoaXMuUUU/dGhpcy5RRS5hcHBlbmQobik6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5pZCxuKSk7VyYmKFcuaXNFbmNyeXB0ZWQoKSYmKHRoaXMubU89dGhpcy5qcSksVy50eXBlPT09MyYmKHRoaXMuZEg9VyksdGhpcy5pay5wdXNoKFcuZ2EoKSksdGhpcy5pay5sZW5ndGg+NCYmdGhpcy5pay5zaGlmdCgpKTt0aGlzLnk2JiYodGhpcy55Ni5sZW5ndGg+PTJ8fG4ubGVuZ3RoPjEwNDg1NzY/ZGVsZXRlIHRoaXMueTY6dGhpcy55Ni5wdXNoKG4pKX1hYm9ydCgpe3RyeXt0aGlzLlFFPwp0aGlzLlFFLmFib3J0KCk6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBYm9ydCh0aGlzLmlkKX1jYXRjaChuKXtRalomJmcuR3EobmV3IGcuUXgoYEVycm9yIHdoaWxlIGFib3J0IHRoZSBzb3VyY2UgYnVmZmVyOiAke24ubmFtZX0sICR7bi5tZXNzYWdlfWApKX10aGlzLmpxPXRoaXMuZEg9bnVsbH1yZW1vdmUobixXLEQpe3RoaXMuSEg9ITE7dGhpcy5RRT8ucmVtb3ZlJiYoRCYmRCh7Yjpyayh0aGlzLlpGKCkpLHM6bixlOld9KSx0aGlzLlFFLnJlbW92ZShuLFcpKX1UaSgpe3RoaXMucmVtb3ZlKHRoaXMuTXIoKSx0aGlzLktGKCkpfWNsZWFyKCl7dGhpcy5nWCgpfHwodGhpcy5hYm9ydCgpLHRoaXMuVGkoKSx0aGlzLm1PPXRoaXMuanE9dGhpcy5kSD1udWxsLHRoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MCx0aGlzLkY0PVRpKFtdLFtdKSx0aGlzLkhIPSExLHRoaXMueTY9UGM/W106dm9pZCAwLHRoaXMuZW89ITApfU1yKCl7cmV0dXJuIHM0JiYKdGhpcy5mWT90aGlzLmFwcGVuZFdpbmRvd1N0YXJ0OnRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwfUtGKCl7cmV0dXJuIHRoaXMuUUU/LmFwcGVuZFdpbmRvd0VuZHx8MH1lNyhuLFcpe3RoaXMuUUUmJihzNCYmdGhpcy5mWT8odGhpcy5hcHBlbmRXaW5kb3dTdGFydD1uLHRoaXMuUUUuYXBwZW5kV2luZG93RW5kPVcpOm4+dGhpcy5NcigpPyh0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XLHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bik6KHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bix0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XKSl9aXcoKXtyZXR1cm4gdGhpcy50aW1lc3RhbXBPZmZzZXR9eU8obil7czQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ9bjp0aGlzLnN1cHBvcnRzKDEpJiYodGhpcy5RRS50aW1lc3RhbXBPZmZzZXQ9bil9U1coKXtyZXR1cm4gczQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ6dGhpcy5zdXBwb3J0cygxKT90aGlzLlFFLnRpbWVzdGFtcE9mZnNldDowfVpGKG49CiExKXtpZihuKXJldHVybiB0aGlzLkhIfHx0aGlzLnl1KCl8fCh0aGlzLkY0PXRoaXMuWkYoITEpLHRoaXMuSEg9ITApLHRoaXMuRjQ7dHJ5e3JldHVybiB0aGlzLlFFP3RoaXMuUUUuYnVmZmVyZWQ6dGhpcy5FVj90aGlzLkVWLndlYmtpdFNvdXJjZUJ1ZmZlcmVkKHRoaXMuaWQpOlRpKFswXSxbSW5maW5pdHldKX1jYXRjaChXKXtyZXR1cm4gVGkoW10sW10pfX15dSgpe3JldHVybiB0aGlzLlFFPy51cGRhdGluZ3x8ITF9Z1goKXtyZXR1cm4gdGhpcy5lb31EYygpe3JldHVybiF0aGlzLmVvJiZ0aGlzLnl1KCl9aDkoKXt0aGlzLmVvPSExfXRaKG4pe3ZhciBXPW4/LklCO249bj8uY29udGFpbmVyVHlwZTtyZXR1cm4hVyYmIW58fFc9PT10aGlzLklCJiZuPT09dGhpcy5jb250YWluZXJUeXBlfUQ5KCl7cmV0dXJuIHRoaXMuanF9TEYoKXtyZXR1cm4gdGhpcy5tT31uYShuLFcpe3JldHVybiB0aGlzLmNvbnRhaW5lclR5cGUhPT1ufHx0aGlzLklCIT09V31qbihuLFcsRCl7aWYodGhpcy5jb250YWluZXJUeXBlIT09Cm58fEQmJnRoaXMubmEobixEKSl0aGlzLnN1cHBvcnRzKDQpLFZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShXKSxEJiYodGhpcy5JQj1EKTt0aGlzLmNvbnRhaW5lclR5cGU9bn1WbyhuLFcsRCl7dGhpcy5jb250YWluZXJUeXBlJiZ0aGlzLm5hKG4sVykmJlZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShEKTt0aGlzLmNvbnRhaW5lclR5cGU9bjt0aGlzLklCPVd9WmcoKXtyZXR1cm4gdGhpcy5kSH1pUSgpe3JldHVybiEhdGhpcy5kSCYmIXRoaXMuZEguYVp9aXNWaWV3KCl7cmV0dXJuITF9c3VwcG9ydHMobil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4gdGhpcy5RRT8udGltZXN0YW1wT2Zmc2V0IT09dm9pZCAwO2Nhc2UgMDpyZXR1cm4hIXRoaXMuUUU/LmFwcGVuZEJ1ZmZlcjtjYXNlIDI6cmV0dXJuISF0aGlzLlFFPy5yZW1vdmU7Y2FzZSAzOnJldHVybiEoIXRoaXMuUUU/LmFkZEV2ZW50TGlzdGVuZXJ8fCF0aGlzLlFFPy5yZW1vdmVFdmVudExpc3RlbmVyKTtjYXNlIDQ6cmV0dXJuISghdGhpcy5RRXx8CiF0aGlzLlFFLmNoYW5nZVR5cGUpO2RlZmF1bHQ6cmV0dXJuITF9fWpvKCl7cmV0dXJuIXRoaXMueXUoKX1pc0xvY2tlZCgpe3JldHVybiExfXlyKG4pe24udG89dGhpcy5TVygpO24udXA9dGhpcy55dSgpO24uYXc9YCR7KHRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwKS50b0ZpeGVkKDMpfS0keyh0aGlzLlFFPy5hcHBlbmRXaW5kb3dFbmR8fEluZmluaXR5KS50b0ZpeGVkKDMpfWA7cmV0dXJuIG59ZkYoKXtyZXR1cm4gdGhpcy5RRT8ud3JpdGVIZWFkfHwwfW5GKCl7dmFyIG49e307Zm9yKGxldCBXPTA7Vzx0aGlzLmlrLmxlbmd0aDtXKyspbltgcyR7V31gXT10aGlzLmlrW1ddO3JldHVybiBufW1BKCl7dGhpcy5zdXBwb3J0cygzKSYmKHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidXBkYXRlZW5kIix0aGlzLmhhbmRsZXIpLHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuaGFuZGxlcikpO3N1cGVyLm1BKCl9S3MoKXtyZXR1cm4gdGhpcy5jb250YWluZXJUeXBlfXowKCl7cmV0dXJuIHRoaXMueTZ9fSwKUGM9ITEsUWpaPSExO3ZhciB3bj1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuWGI9bjt0aGlzLk49Vzt0aGlzLko9ITF9ZGlzcG9zZSgpe2lmKCF0aGlzLnFOKCkpe2lmKHRoaXMuTil0cnl7VVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLlhiKX1jYXRjaChuKXt9dGhpcy5KPSEwfX1xTigpe3JldHVybiB0aGlzLkp9Vygpe3JldHVybiB0aGlzLk59ZXF1YWxzKG4pe3JldHVybiBuIT09bnVsbCYmbi5YYj09PXRoaXMuWGJ9dG9TdHJpbmcoKXtyZXR1cm5gTWVkaWFSZXNvdXJjZSB7JHt0aGlzLlhifX1gfX07dmFyIGhaPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuLFcsRD0hMSl7c3VwZXIoKTt0aGlzLm1lZGlhRWxlbWVudD1uO3RoaXMubWVkaWFTb3VyY2U9Vzt0aGlzLmlzVmlldz1EO3RoaXMuWT0wO3RoaXMuVj0hMTt0aGlzLks9ITA7dGhpcy5jSj0wO3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLk89ITE7dGhpcy5tZWRpYVNvdXJjZXx8KHRoaXMuRVY9dGhpcy5tZWRpYUVsZW1lbnQuZV8oKSk7dGhpcy5ldmVudHM9bmV3IGcuRnModGhpcyk7Zy51KHRoaXMsdGhpcy5ldmVudHMpO3RoaXMuaj1uZXcgd24odGhpcy5tZWRpYVNvdXJjZT93aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLm1lZGlhU291cmNlKTp0aGlzLkVWLndlYmtpdE1lZGlhU291cmNlVVJMLCEwKTtuPXRoaXMubWVkaWFTb3VyY2V8fHRoaXMuRVY7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZW9wZW4iLCJ3ZWJraXRzb3VyY2VvcGVuIl0sdGhpcy5TJCk7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZWNsb3NlIiwKIndlYmtpdHNvdXJjZWNsb3NlIl0sdGhpcy5UQyk7dGhpcy5MTD17dXBkYXRlZW5kOnRoaXMuZVh9fXR3KCl7cmV0dXJuIHRoaXMuan1nZXREdXJhdGlvbigpe3JldHVybiB0aGlzLm1lZGlhU291cmNlPy5kdXJhdGlvbnx8dGhpcy5jSn1hVChuKXt0cnl7dGhpcy5tZWRpYVNvdXJjZT90aGlzLm1lZGlhU291cmNlLmR1cmF0aW9uPW46KHRoaXMuY0o9bix0aGlzLkVWLndlYmtpdFNvdXJjZVNldER1cmF0aW9uKG4pKX1jYXRjaChXKXt9fVgoKXtyZXR1cm4hIXRoaXMuTnx8ISF0aGlzLkp9UEEoKXt0cnl7cmV0dXJuIHRoaXMuVygpPT09ImNsb3NlZCJ9Y2F0Y2gobil7cmV0dXJuITB9fVcoKXtpZih0aGlzLm1lZGlhU291cmNlKXJldHVybiB0aGlzLm1lZGlhU291cmNlLnJlYWR5U3RhdGU7c3dpdGNoKHRoaXMuRVYud2Via2l0U291cmNlU3RhdGUpe2Nhc2UgdGhpcy5FVi5TT1VSQ0VfT1BFTjpyZXR1cm4ib3BlbiI7Y2FzZSB0aGlzLkVWLlNPVVJDRV9FTkRFRDpyZXR1cm4iZW5kZWQiOwpkZWZhdWx0OnJldHVybiJjbG9zZWQifX15dSgpe3JldHVybiEhKHRoaXMuTiYmdGhpcy5OLnl1KCl8fHRoaXMuSiYmdGhpcy5KLnl1KCkpfVMkKCl7IXRoaXMucU4oKSYmbjYodGhpcykmJnRoaXMuY2FsbGJhY2smJih0aGlzLmNhbGxiYWNrKHRoaXMpLHRoaXMuY2FsbGJhY2s9bnVsbCl9VEMoKXt0aGlzLmRpc3Bvc2UoKX1lWChuKXtESCYmIXRoaXMuViYmbi5nWCgpJiZuLlpGKCkubGVuZ3RoPT09MCYmKGJBKHRoaXMubWVkaWFFbGVtZW50LHtsOiJtc3dvdWUiLHNyOnRoaXMubWVkaWFFbGVtZW50LllhPy5wZygpfSwhMSksbi5oOSgpLHRoaXMuZ1goKXx8KHRoaXMubWVkaWFFbGVtZW50LkNGPSEwLHRoaXMubWVkaWFFbGVtZW50LnNldEN1cnJlbnRUaW1lKDApKSl9Y2xlYXIoKXtXRih0aGlzLCgpPT57fSk7CnRoaXMuTj8uY2xlYXIoKTt0aGlzLko/LmNsZWFyKCl9RCgpe3RoaXMuTj8uaDkoKTt0aGlzLko/Lmg5KCk7dGhpcy5LPSExfWdYKCl7cmV0dXJuIHRoaXMuSj8uZ1goKXx8dGhpcy5OPy5nWCgpfXRaKG4sVyl7cmV0dXJuISF0aGlzLk4mJiEhdGhpcy5KJiZ0aGlzLk4udFooVykmJnRoaXMuSi50WihuKX1iZCgpe3JldHVybiEhdGhpcy5tZWRpYVNvdXJjZSYmdGhpcy5tZWRpYVNvdXJjZS5zdHJlYW1pbmc9PT0hMX19LERIPSExO3ZhciBnR3I9L2FjdGlvbl9kaXNwbGF5X3Bvc3QvO2cuR3g9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG49IiIsVz1udWxsLEQ9ITEpe3N1cGVyKCk7dGhpcy5zb3VyY2VVcmw9bjt0aGlzLmlzTGl2ZVBsYXliYWNrPUQ7dGhpcy5ISj10aGlzLmR1cmF0aW9uPTA7dGhpcy5pc1ByZW1pZXJlPXRoaXMuWGc9dGhpcy5pc1dpbmRvd2VkTGl2ZT10aGlzLmlzTGl2ZUhlYWRQbGF5YWJsZT10aGlzLmlzTGl2ZT10aGlzLlc9ITE7dGhpcy5IUD10aGlzLkl0PTA7dGhpcy5pc090Zj10aGlzLnpXPSExO3RoaXMuUyQ9KDAsZy5SKSgpO3RoaXMuY0o9SW5maW5pdHk7dGhpcy5OPXt9O3RoaXMuSj1uZXcgTWFwO3RoaXMuc3RhdGU9dGhpcy5sTj0wO3RoaXMuVj1udWxsO3RoaXMuaXNNYW5pZmVzdGxlc3M9ITE7dGhpcy5iZD1bXTt0aGlzLks9bnVsbDt0aGlzLmUkPTA7dGhpcy5qPSIiO3RoaXMuVEM9TmFOO3RoaXMuSlU9dGhpcy5vUj10aGlzLnRpbWVzdGFtcE9mZnNldD10aGlzLkQ9MDt0aGlzLldNPXRoaXMuSDI9TmFOO3RoaXMuSVQ9MDsKdGhpcy5WUT10aGlzLk89ITE7dGhpcy5HQz1bXTt0aGlzLnZKPXt9O3RoaXMuUFg9dGhpcy50dz1OYU47dGhpcy5DdT1XPy5FcSgiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpO016PSEhVyYmVy5FcSgiaHRtbDVfbW9kZXJuX3ZwOV9taW1lX3R5cGUiKTtIRj0hIVc/LkVxKCJodG1sNV9lbmFibGVfZmx1c2hfZHVyaW5nX3NlZWsiKSYmZy5kOCgpO2Y2PSEhVz8uRXEoImh0bWw1X2VuYWJsZV9yZXNldF9hdWRpb19kZWNvZGVyIikmJmcuZDgoKX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTF9dG4oKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTN9bnUoKXtyZXR1cm4gZy5EbCh0aGlzLk4sbj0+ISFuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5xdWFsaXR5T3JkaW5hbD49MjE2MCl9WCgpe3JldHVybiBnLkRsKHRoaXMuTixuPT4hIW4uaW5mby5jb250ZW50UHJvdGVjdGlvbil9eUUobil7dmFyIFc9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiUmVwcmVzZW50YXRpb24iKTsKaWYobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudExpc3QiKS5sZW5ndGg+MHx8bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRlbXBsYXRlIikubGVuZ3RoPjApe3RoaXMuelc9dGhpcy5XPSEwO3RoaXMuVnx8KHRoaXMuVj1uZXcga0xDKTtjSGoodGhpcy5WLG4pO3RoaXMuV0ooInJlZnJlc2giKTtmb3Iobj0wO248Vy5sZW5ndGg7bisrKXt2YXIgRD15Qyh0aGlzLFdbbl0pO2lmKCF0aGlzLk5bRC5pZF0pe3ZhciBiPVJ4KFRQKFdbbl0sIkJhc2VVUkwiKS50ZXh0Q29udGVudCksdj1UUChXW25dLCJJbml0aWFsaXphdGlvbiIpLGs9bFQodiwic291cmNlVVJMIik7dj1ueihsVCh2LCJyYW5nZSIpKTt0aGlzLk5bRC5pZF09bmV3IGR0KGIsRCxrLHYpfUQ9dGhpcy5OW0QuaWRdO2s9bFQoV1tuXSwiaWQiLCJBZGFwdGF0aW9uU2V0Iik7az1rIT09IiI/azpsVChXW25dLCJtaW1ldHlwZSIsIkFkYXB0YXRpb25TZXQiKTtiPXRoaXMuVjtrPWIuV1tELmluZm8uaWRdfHxiLkpba118fApiLk58fG51bGw7Yj1rLk47IXRoaXMuRCYmay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkmJih0aGlzLkQ9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO2lmKGsuail7dj1bXTtmb3IodmFyIGggb2YgYil7Yj1ELmluZm8uaWQ7dmFyIHg9RC5pbmZvLk5zKjgsTD1oLmokLGU9aC5zdGFydFNlY3MsRz1rLksuc3BsaXQoIiQkIik7Zm9yKHZhciByPTA7cjxHLmxlbmd0aDtyKyspR1tyXT1HW3JdLnJlcGxhY2UoIiRSZXByZXNlbnRhdGlvbklEJCIsYiksR1tyXT1HW3JdLnJlcGxhY2UoIiROdW1iZXIkIixMLnRvU3RyaW5nKCkpLEdbcl09R1tyXS5yZXBsYWNlKCIkQmFuZHdpZHRoJCIseC50b1N0cmluZygpKSxHW3JdPUdbcl0ucmVwbGFjZSgiJFRpbWUkIixlLnRvU3RyaW5nKCkpO2I9Ry5qb2luKCIkIik7di5wdXNoKG5ldyBSNChoLmokLGguc3RhcnRTZWNzLGguQ2YsaC5OLGIsbnVsbCxoLkopKX1iPXZ9ZWxzZXtMPVYyKFRQKFdbbl0sIlNlZ21lbnRMaXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNlZ21lbnRVUkwiKSwKay5WKTtlPVtdO2ZvcihHPTA7RzxMLmxlbmd0aDtHKyspe2s9ZTt2PWsucHVzaDtyPXZvaWQgMDt2YXIgTj1MW0ddO3g9YltHXTtsZXQgSD1OLmdldEF0dHJpYnV0ZSgibWVkaWEiKTtpZihOPU4uZ2V0QXR0cmlidXRlKCJtZWRpYVJhbmdlIikpe2xldCBBPU4uc3BsaXQoIi0iKTtBWzFdJiZOdW1iZXIoQVsxXSk+PTA/cj1ueihOKTpIPWAke0h9P3JhbmdlPSR7Tn1gfXYuY2FsbChrLG5ldyBSNCh4LmokLHguc3RhcnRTZWNzLHguQ2YseC5OLEgscix4LkopKX1iPWV9RC51cGRhdGUoYix0aGlzLmlzTGl2ZSx0aGlzLkhKKX1hRFUodGhpcy5WKTtyZXR1cm4hMH10aGlzLmR1cmF0aW9uPWp4KGxUKG4sIm1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24iKSk7YTp7Zm9yKGg9MDtoPFcubGVuZ3RoO2grKyl7Yj1XW2hdO249eUModGhpcyxiKTtEPVJ4KFRQKGIsIkJhc2VVUkwiKS50ZXh0Q29udGVudCk7az1UUChiLCJTZWdtZW50QmFzZSIpO2I9bnooay5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgiaW5kZXhSYW5nZSIpLnZhbHVlKTsKaz1ueihrLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJJbml0aWFsaXphdGlvbiIpWzBdLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCJyYW5nZSIpLnZhbHVlKTtuPW5ldyBzayhELG4sayxiKTtpZighbil7Vz0hMTticmVhayBhfSRnKHRoaXMsbil9Vz0hMH1yZXR1cm4gV31EdChuKXtyZXR1cm4gdGhpcy5WP1YyKHRoaXMuVi5YLG4pOnRoaXMuYmQubGVuZ3RoP1YyKHRoaXMuYmQsbik6W119cmVmcmVzaCgpe2lmKCF0aGlzLmlzTG9hZGluZygpJiYhdGhpcy5xTigpKXt2YXIgbj1nLkVUKHRoaXMuc291cmNlVXJsLHtzdGFydF9zZXE6QSRpKHRoaXMpLnRvU3RyaW5nKCl9KTtTNCh0aGlzLG4pLnNQKCgpPT57fSl9fXN1c3BlbmQoKXt0aGlzLksmJnRoaXMuSy5zdG9wKCl9cmVzdW1lKCl7QVoodGhpcyl9ckkoKXtpZih0aGlzLmlzTWFuaWZlc3RsZXNzJiZ0aGlzLmlzV2luZG93ZWRMaXZlJiZpQSh0aGlzKSlyZXR1cm4gaUEodGhpcyk7CnZhciBuPXRoaXMuTixXPSExLEQ9TmFOLGI9TmFOO2ZvcihsZXQgayBpbiBuKXtsZXQgaD1uW2tdO3ZhciB2PWguaW5kZXg7aWYoIXYuaXNMb2FkZWQoKXx8aC5pbmZvLk4oKSljb250aW51ZTtoLlYmJihXPSEwKTt2PXYuYlEoKTtoLmluZm8uZVMoKSYmKGlzTmFOKEQpfHx2PEQpP0Q9djpoLmluZm8uZlkoKSYmKGlzTmFOKGIpfHx2PGIpJiYoYj12KX1yZXR1cm4gV3x8aXNOYU4oYik/RDpNYXRoLm1pbihELGIpfUxmKCl7aWYodGhpcy5pc01hbmlmZXN0bGVzcyl7aWYodUEodGhpcykpcmV0dXJuIHVBKHRoaXMpO2lmKHRoaXMuSVQpe3ZhciBuPXRoaXMuaEModGhpcy5ySSgpKTtpZihuJiYobi09dGhpcy5JVCxuPjApKXJldHVybiB0aGlzLnJJKCktbn19bj10aGlzLk47Zm9yKGxldCBXIGluIG4pe2xldCBEPW5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpJiYhbltXXS5pbmZvLk4oKSlyZXR1cm4gRC5MZigpfXJldHVybiAwfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5EfWhDKG4pe2ZvcihsZXQgVyBpbiB0aGlzLk4pe2xldCBEPQp0aGlzLk5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpKXtsZXQgYj1ELlIzKG4pLHY9RC5oQyhiKTtpZih2KXJldHVybiB2K24tRC5nZXRTdGFydFRpbWUoYil9fXJldHVybiBOYU59cWgoKXtyZXR1cm4gdGhpcy5lJH1qVygpe2ZvcihsZXQgbiBpbiB0aGlzLk4pdGhpcy5OLmhhc093blByb3BlcnR5KG4pJiYodGhpcy5OW25dLko9bnVsbCx0aGlzLk5bbl0uY0o9ITEpfX07Zy5HeC5wcm90b3R5cGUuRkY9V1ooNCk7dmFyIE16LEhGLGY2LHd0PW51bGwsUm89ISFuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyxVaz17Y29tbWVudGFyeToxLGFsdGVybmF0ZToyLGR1YjozLG1haW46NH07dmFyIGNGPW5ldyBTZXQsUUM9bmV3IE1hcDt2YXIgUGVNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMueVE9bjt0aGlzLk5kPXRoaXMuYnY9dGhpcy5ISj10aGlzLlY9dGhpcy5qPXRoaXMuSGk9dGhpcy5HQz10aGlzLmNKPSExO3RoaXMuWT10aGlzLks9MDt0aGlzLkN1PSExO3RoaXMudHc9ITA7dGhpcy5QWD0hMTt0aGlzLm5TPTA7dGhpcy5GRj10aGlzLm51PXRoaXMub0w9dGhpcy5lJD0hMTt0aGlzLk49e307dGhpcy5qVz10aGlzLlJhPXRoaXMudlg9dGhpcy5kaXNhYmxlQXYxPXRoaXMuYmQ9dGhpcy5Rcj10aGlzLnlFPXRoaXMuWVo9dGhpcy5CVj10aGlzLko9dGhpcy5XPXRoaXMuRD0hMTt0aGlzLlMkPTA7dGhpcy5UQz0hMTt0aGlzLnM1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9hYWNfcHJlZmVyZW5jZSIpO3RoaXMud2E9SW5maW5pdHk7dGhpcy54ZD0wO3RoaXMuTEI9dGhpcy55US5XWCgpO3RoaXMuSEQ9dGhpcy55US5leHBlcmltZW50cy5FcSgiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpO3RoaXMuTWQ9dGhpcy55US5TKCJodG1sNV9mb3JjZV9hdjFfZm9yX3Rlc3RpbmciKTsKdGhpcy55dz10aGlzLnlRLlp0KCkuTi5RUShWSWopO3RoaXMudko9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9hdjFfb3JkaW5hbF9jYXAiKTt0aGlzLlU1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9oZnJfd2hlbl92cDlfZW5jcnlwdGVkXzJrNGtfdW5zdXBwb3J0ZWQiKTt0aGlzLkU1PXRoaXMueVEuUygiaHRtbDVfYWNjb3VudF9vbmVzaWVfZm9ybWF0X3NlbGVjdGlvbl9kdXJpbmdfZm9ybWF0X2ZpbHRlciIpO3RoaXMuTnM9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9tYXhfYnl0ZXJhdGUiKTt0aGlzLlZRPXRoaXMueVEuUygiaHRtbDVfZW5hYmxlX2lhbWZfYXVkaW8iKTt0aGlzLmZCPXRoaXMueVEuWnQoKS5OLlFRKFFPeCk7dGhpcy5EdD10aGlzLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9hbGxvd19jYXBhYmlsaXR5X21lcmdlIik7dGhpcy5ZJD10aGlzLnlRLlMoImh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxIik7dGhpcy5ZWj10aGlzLnlRLlp0KCkuTi5RUShaN1UpfHwKdGhpcy55US5TKCJkaXNhYmxlX3ByZWZlcl9oYnJfdnA5Iil9fTt2YXIgcjE9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5mbGF2b3I9bjt0aGlzLmtleVN5c3RlbT1XO3RoaXMuVz1EO3RoaXMuZXhwZXJpbWVudHM9Yjt0aGlzLko9e307dGhpcy5DaT10aGlzLmtleVN5c3RlbUFjY2Vzcz1udWxsO3RoaXMuamk9dGhpcy5WOT0tMTt0aGlzLkZjPW51bGw7dGhpcy5YPSEhYiYmYi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTtiJiZiLkVxKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5Iil9Y2xvbmUobil7cmV0dXJuIG5ldyByMSh0aGlzLmZsYXZvcixuLHRoaXMuVyx0aGlzLmV4cGVyaW1lbnRzKX1OKCl7cmV0dXJuIHRoaXMua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwifXlyKCl7cmV0dXJue2ZsYXZvcjp0aGlzLmZsYXZvcixrZXlTeXN0ZW06dGhpcy5rZXlTeXN0ZW19fWtMKCl7c3dpdGNoKHRoaXMua2V5U3lzdGVtKXtjYXNlICJjb20ueW91dHViZS5wbGF5cmVhZHkiOnJldHVybiJQUlkiO2Nhc2UgImNvbS5taWNyb3NvZnQucGxheXJlYWR5IjpyZXR1cm4iUFJNIjsKY2FzZSAiY29tLndpZGV2aW5lLmFscGhhIjpyZXR1cm4iV1ZBIjtjYXNlICJjb20ueW91dHViZS53aWRldmluZS5sMyI6cmV0dXJuIldWWSI7Y2FzZSAiY29tLnlvdXR1YmUuZmFpcnBsYXkiOnJldHVybiJGUFkiO2Nhc2UgImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwiOnJldHVybiJGUEMiO2Nhc2UgImNvbS5hcHBsZS5mcHMuMV8wIjpyZXR1cm4iRlBBIjtkZWZhdWx0OnJldHVybiB0aGlzLmtleVN5c3RlbX19fSxxVj17cGxheXJlYWR5OlsiY29tLnlvdXR1YmUucGxheXJlYWR5IiwiY29tLm1pY3Jvc29mdC5wbGF5cmVhZHkiXSx3aWRldmluZTpbImNvbS55b3V0dWJlLndpZGV2aW5lLmwzIiwiY29tLndpZGV2aW5lLmFscGhhIl19LHZRQz17d2lkZXZpbmU6IkRSTV9TWVNURU1fV0lERVZJTkUiLGZhaXJwbGF5OiJEUk1fU1lTVEVNX0ZBSVJQTEFZIixwbGF5cmVhZHk6IkRSTV9TWVNURU1fUExBWVJFQURZIn0seFZpPXt3aWRldmluZToxLGZhaXJwbGF5OjIscGxheXJlYWR5OjN9O3ZhciBaV1M9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyxELGI9ITEsdil7c3VwZXIoKTt0aGlzLnlRPVc7dGhpcy51c2VDb2JhbHRXaWRldmluZT1iO3RoaXMuVT12O3RoaXMuSj1bXTt0aGlzLlc9e307dGhpcy5OPXt9O3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLmo9ITE7dGhpcy5YPVtdO3RoaXMuaW5pdGlhbGl6ZShuLCFEKX1pbml0aWFsaXplKG4sVyl7Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKG4pKXt2YXIgRD1iO2ZvcihsZXQgdiBvZiBuW0RdKWlmKHYuY29udGVudFByb3RlY3Rpb24pZm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKHYuY29udGVudFByb3RlY3Rpb24pKXtEPWs7bGV0IGg9cVZba107IWgmJnRoaXMuUygiaHRtbA=="}},"time_used":46,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":29,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/te_ctrl3.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.376Z","timestamp":1785137073376,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/te_ctrl3.gif HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1412\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:32:24 GMT\r\nexpires: Fri, 23 Jul 2027 02:32:24 GMT\r\ncache-control: public, max-age=31536000\r\nage: 363129\r\nlast-modified: Thu, 03 Oct 2019 10:15:00 GMT\r\ncontent-type: image/gif\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":1412,"size_decoded":2072,"mime_type":"image/gif","magic":"GIF image data, version 89a, 84 x 19","md5":"9afe50090c0bc612953d081295eab5b1","sha1":"71a4da2a622879c29176ecfa5afe1bbe3e8cfa40","sha256":"d228d0256370863119c043f1e5ca8f3930f6999bd9f250434b6d8935f45dc171","sha512":"d7290b951cec51994f3480c32b70de0faeca433b5d99209b044e1d4c12327768de8c344b6bded806d993251e0ee6f98f0dd64f4480e999fbc06abfe3dd8056fa","ssdeep":"","tlshash":"042182b5cc99114a5be1bd27a334899da8b12c56c38d74595436bdb43470f098422812","first_seen":"2023-04-05T08:27:37Z","last_seen":"2026-08-19T17:08:05.522849Z","times_seen":17418,"resource_available":false,"data":"R0lGODlhVAATAOePAAAAyxZBmhdFrBhHrhpMyB1Uxh1Vzh5X0R9ZzR9awSFf1SNk2CYW0SZq2yZs4Cka2yt45TB9ITJ11TODHjODIDWKGzdgrDmUGjuaRTybGT1svj6hGUClGEF1tEGnFkGpGUKrFUNnrkWjYUWoUkZtskdww0dxy0l/EkmP5EqlLUtLS0uxFFCmLlGY6lON3la4E1e0GFhYD1uxRlu5EVyyU1+vLGW8FGef5mmTx22p7W6PEW+d32+e4XKa2Hp6en6p5H9lE4eHh4i06YurxYyqyYyufoy8iI29ho7AhpCz55DEhJW55ZaT15jClqGm9afE2KgeFavK7LDN47rV7b7J4cTa9cXi0MjX8Mrd9c0lGs3l/9QmGtbW1tfq/9jl9djl+NmcANns0dnt4NonG9otM9yGft4pG9/x4OCrIuG3I+Hv/+Lfz+Px4eRWTOSaAeSyNuUpHOWIgOalAOby/+c5P+egD+exAefJcOhYXuqjAOq3Tuq9YOtqbuvHG+vz++xYTOy8AO2sAe6xAO7x9+/Ecu/SaPDYaPD2//D47/KzAPS7APfpy/ng3fzp7P347f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAABUABMAAAj+AP+pGEiw4MB//4goXMhQ4b8gECNKnIiwosWLGBE+2sjxkaNGIB115KjCB5eTKFP6UEEkypyXMGNGIRJkpM2NQSwO2bkzI8aRjOL8oUP0TxxGI1WkXIqSZcynMGnetJnz386OanpWxNGhKw6NHOMQHUs2jsiNSpkudQr1qVScI2vitLpRTZe7XdRoGYKQ65K/Hb5yxEO2MJ0/HdNyYQCgMQAGTYnAfOAYwIOociNy1Pwo55BHXZZ07XC3Ct9/HZZUFP1vo9ixfNYsWsOHDp6kKJlUZhIZppPKTjBvhtiZOM7PdlN34Xp3Ct/Uqzu0XjT2z5qRaxrhRsn4cUq2Lyn+W475FqfEjkE+4+0yhXkXKUNGy+/6yFAdotc7HrqpmItuALz15ltjwQmHnnGbqddcV3jBl9pfEIrmSB+KKILYVNtxB9l3ksX0wGXkyWUeZ8eBdheDDcY332iOVKiIIR0tgcKMNKKQwyP9+ReggL4VaGBxNZGYnl3r4TXFE/FFCGEHLVa4SEdR1EhjDofkqBZ4bb30lpDGeUYkiu89t2JXTb4Yo5Qz3mglU1hmWZ6IcM01hBZVrDeFFEiipiRgE1ZYREdzaCGoFi3MKASOJql10kotZfnSTHBiWNVOd0qBp1Zj0mdIGiOMYMVNVdAYxSMCGWQqQg2lSsRDGKKnE09jp/lU0SNhdDqCCJ929EWhKLTQBamyBuvTRMRKJKywGxlh6whGWOGsESLQeCiwx1Zr7bWyckTDstxi0MENHGEr7rjWdqQst7Ya0RG57LZ70UhWQGurCM2O5O697N6EyL773hQQADs="}},"time_used":15,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images/01-hero-acuity.jpg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:30.734Z","timestamp":1785137070734,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images/01-hero-acuity.jpg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 159501\r\ncontent-type: image/jpeg\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c59b0d\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:30 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":159501,"size_decoded":159800,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 2000x729, components 3","md5":"fe691dc03ad3a90549fd0953f645efae","sha1":"95918fb533dc4eb37b6a86d58defafd2069df5fe","sha256":"6a926be4bc1da947009a2850fdccb3785ef920dae23ad90476ee4d58e632f149","sha512":"a0647a1f6ff7d2419ade8c9e73a76c6f1f5f048ffbc8955a142b8f7a9e8fea41eb7fe8c57099fa091707ba5ca0b3668c21bb16628f4229882cbb39e8cdba5ba1","ssdeep":"3072:Q+asBCtkHeYypGOkcZB6k2CTIPIJaYvNyPp/2m9dwgpTfDR6TC8U2Nq93:JF4tker7ZHxlvNyPp/2m9ygpTf4C72NA","tlshash":"6ff3125a8168f7f9dd560574fbcfdf42989cfad922e9102d43b908d2e803a9618d384e","first_seen":"2025-10-27T18:25:33.004927Z","last_seen":"2026-07-27T07:25:28.856176Z","times_seen":6,"resource_available":false,"data":"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"}},"time_used":1678,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1079,"receive":599,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/fonts/roboto-v20-latin-italic.woff2","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.217Z","timestamp":1785137065217,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/fonts/roboto-v20-latin-italic.woff2 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 17324\r\ncontent-type: font/woff2\r\nlast-modified: Sat, 19 Feb 2022 08:51:46 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256decaf7eac\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":17324,"size_decoded":17622,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 17324, version 1.0","md5":"51521a2a8da71e50d871ac6fd2187e87","sha1":"f94000b9ce048908c52269b3705e251a50c6979e","sha256":"401e6c25801ba2d59795d05a6dd973f95566b41070d3939ba9307d65860ae50e","sha512":"b8778c5a95d13367d6d12ef5d38cd24c35444824ca8dc7674339b27b2521675a050da76f9470e85ee50466400a9937b090cdf0dedbb17a348bfe71ff93b3fa23","ssdeep":"384:+ywiuos/vUczEmPjbYlKNWF2c0De9ci+fQ4NrisdC1Qn:+y1ujvxQOQVD0DAorDo1Qn","tlshash":"b672d0b6922b0c2cf1586538353f524111dde31a89479b2bc4db9df604920d73beaaae","first_seen":"2023-05-02T22:19:00Z","last_seen":"2026-08-19T13:59:56.710362Z","times_seen":901,"resource_available":false,"data":"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"}},"time_used":1465,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1282,"receive":183,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/webfonts/fa-regular-400.woff2","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.222Z","timestamp":1785137065222,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/webfonts/fa-regular-400.woff2 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 168824\r\ncontent-type: font/woff2\r\nlast-modified: Sat, 19 Feb 2022 08:52:02 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256df63a3678\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":168824,"size_decoded":169123,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 168824, version 331.-31196","md5":"a3d7d331957546ae10ad69bb44b83a04","sha1":"d1a227a182628c48649912e8bcd9251113e9c783","sha256":"3bbb0df89b8dbe8001e8c24de4e2d1693f94997b29f007a7bda22a9802832768","sha512":"614c9697605efd52116765e6f53792304c536aa9953fd9309ba4912476d016be360dad69dacf8d14e5de19f73c8619a37f3a380e3ac84fa0d17058d89246f0e2","ssdeep":"3072:N4geYVqJbc9ydAQpiOlqADfSVjExEGii5BqDW9:zeR4yuQc4agXiCBim","tlshash":"1df312c32fc565663613692df728f3c136464437973e06f5eb662a82196c2284ca93ef","first_seen":"2023-04-07T09:42:03Z","last_seen":"2026-08-19T16:39:19.950303Z","times_seen":11229,"resource_available":false,"data":"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"}},"time_used":6408,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4758,"receive":1650,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-6e970.js?id=7d34bce42fa872c256d0","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.441Z","timestamp":1785137065441,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/vendor_utils-6e970.js?id=7d34bce42fa872c256d0 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 09:35:32 GMT\r\naccept-ranges: bytes\r\netag: \"1d8257409e540e2\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":150242,"size_decoded":39485,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"51f00d1992f00f2423ff327ae927ed58","sha1":"d68f467c7bbab20a25538433b02ff59b0fc21510","sha256":"706e04269f8ab6060ac5e3571bb89f203bb9c2db7b8322e29ad98d19c7bd3a2a","sha512":"89a2c34772aa456de8f32b7471ecb2107388ce63f2a1e05d020588c9a5094da9550ddb1104149d6bc81794a7c9324083ddaa8418f5ee7956ebd4d012a50a3f6d","ssdeep":"3072:fOtqdO20JUqb/D/LQUSNMm1VR9Wy+wik8c:eqdO20JUqzDjQUSNMmnR9Wy+w78c","tlshash":"77e3f88db31171e295e72259529fc203b3b65811b80ec8a0707788a66d7dd9c13bfebd","first_seen":"2025-10-27T18:25:33.022868Z","last_seen":"2026-07-27T07:25:28.813712Z","times_seen":6,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua0F2YXRyYWRlcnM9c2VsZi53ZWJwYWNrQ2h1bmtBdmF0cmFkZXJzfHxbXSkucHVzaChbWzg3OV0sezUzMjI5OmZ1bmN0aW9uKGUsdCxhKXthLmQodCx7WjpmdW5jdGlvbigpe3JldHVybiBNZX19KTt2YXIgcj1hKDc3NjI4KTtmdW5jdGlvbiBpKGUpe3JldHVybiBpPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxpKGUpfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHMoZSl9KGUpfHxmdW5jdGlvbihlKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmbnVsbCE9ZVtTeW1ib2wuaXRlcmF0b3JdfHxudWxsIT1lWyJAQGl0ZXJhdG9yIl0pcmV0dXJuIEFycmF5LmZyb20oZSl9KGUpfHxmdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybjtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIHMoZSx0KTt2YXIgYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7Ik9iamVjdCI9PT1hJiZlLmNvbnN0cnVjdG9yJiYoYT1lLmNvbnN0cnVjdG9yLm5hbWUpO2lmKCJNYXAiPT09YXx8IlNldCI9PT1hKXJldHVybiBBcnJheS5mcm9tKGUpO2lmKCJBcmd1bWVudHMiPT09YXx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QoYSkpcmV0dXJuIHMoZSx0KX0oZSl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gcyhlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgYT0wLHI9bmV3IEFycmF5KHQpO2E8dDthKyspclthXT1lW2FdO3JldHVybiByfWZ1bmN0aW9uIG8oZSx0KXtpZih0JiYoIm9iamVjdCI9PT1pKHQpfHwiZnVuY3Rpb24iPT10eXBlb2YgdCkpcmV0dXJuIHQ7aWYodm9pZCAwIT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJEZXJpdmVkIGNvbnN0cnVjdG9ycyBtYXkgb25seSByZXR1cm4gb2JqZWN0IG9yIHVuZGVmaW5lZCIpO3JldHVybiBsKGUpfWZ1bmN0aW9uIGwoZSl7aWYodm9pZCAwPT09ZSl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiBlfWZ1bmN0aW9uIGQoZSl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIE1hcD9uZXcgTWFwOnZvaWQgMDtyZXR1cm4gZD1mdW5jdGlvbihlKXtpZihudWxsPT09ZXx8KGE9ZSwtMT09PUZ1bmN0aW9uLnRvU3RyaW5nLmNhbGwoYSkuaW5kZXhPZigiW25hdGl2ZSBjb2RlXSIpKSlyZXR1cm4gZTt2YXIgYTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiIpO2lmKHZvaWQgMCE9PXQpe2lmKHQuaGFzKGUpKXJldHVybiB0LmdldChlKTt0LnNldChlLHIpfWZ1bmN0aW9uIHIoKXtyZXR1cm4gYyhlLGFyZ3VtZW50cyxmKHRoaXMpLmNvbnN0cnVjdG9yKX1yZXR1cm4gci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnIsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksdShyLGUpfSxkKGUpfWZ1bmN0aW9uIGMoZSx0LGEpe3JldHVybiBjPXAoKT9SZWZsZWN0LmNvbnN0cnVjdDpmdW5jdGlvbihlLHQsYSl7dmFyIHI9W251bGxdO3IucHVzaC5hcHBseShyLHQpO3ZhciBpPW5ldyhGdW5jdGlvbi5iaW5kLmFwcGx5KGUscikpO3JldHVybiBhJiZ1KGksYS5wcm90b3R5cGUpLGl9LGMuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIHAoKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2goZSl7cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gdT1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuX19wcm90b19fPXQsZX0sdShlLHQpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIGY9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5nZXRQcm90b3R5cGVPZjpmdW5jdGlvbihlKXtyZXR1cm4gZS5fX3Byb3RvX198fE9iamVjdC5nZXRQcm90b3R5cGVPZihlKX0sZihlKX12YXIgaD1mdW5jdGlvbihlKXshZnVuY3Rpb24oZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCYmbnVsbCE9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTtlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6ZSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksdCYmdShlLHQpfShpLGUpO3ZhciB0LGEscj0odD1pLGE9cCgpLGZ1bmN0aW9uKCl7dmFyIGUscj1mKHQpO2lmKGEpe3ZhciBpPWYodGhpcykuY29uc3RydWN0b3I7ZT1SZWZsZWN0LmNvbnN0cnVjdChyLGFyZ3VtZW50cyxpKX1lbHNlIGU9ci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG8odGhpcyxlKX0pO2Z1bmN0aW9uIGkoZSl7dmFyIHQsYSxzO3JldHVybiBmdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLGkpLHQ9ci5jYWxsLmFwcGx5KHIsW3RoaXNdLmNvbmNhdChuKGV8fFtdKSkpLGE9bCh0KSxzPWEuX19wcm90b19fLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX3Byb3RvX18iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2V0OmZ1bmN0aW9uKGUpe3MuX19wcm90b19fPWV9fSksdH1yZXR1cm4gaX0oZChBcnJheSkpO2Z1bmN0aW9uIHYoKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06W10sdD1bXTtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbihlKXtBcnJheS5pc0FycmF5KGUpP3QucHVzaC5hcHBseSh0LG4odihlKSkpOnQucHVzaChlKX0pKSx0fWZ1bmN0aW9uIG0oZSx0KXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGUsdCl9ZnVuY3Rpb24gZyhlLHQpe3ZhciBhPSgwLHIuSmopKCksaT0oMCxyLk1lKSgpLG49W107aWYoIXQmJmUgaW5zdGFuY2VvZiBoKXJldHVybiBlO2lmKCFlKXJldHVybiBuZXcgaChuKTtpZigic3RyaW5nIj09dHlwZW9mIGUpe3ZhciBzPWUudHJpbSgpO2lmKHMuaW5kZXhPZigiPCIpPj0wJiZzLmluZGV4T2YoIj4iKT49MCl7dmFyIG89ImRpdiI7MD09PXMuaW5kZXhPZigiPGxpIikmJihvPSJ1bCIpLDA9PT1zLmluZGV4T2YoIjx0ciIpJiYobz0idGJvZHkiKSwwIT09cy5pbmRleE9mKCI8dGQiKSYmMCE9PXMuaW5kZXhPZigiPHRoIil8fChvPSJ0ciIpLDA9PT1zLmluZGV4T2YoIjx0Ym9keSIpJiYobz0idGFibGUiKSwwPT09cy5pbmRleE9mKCI8b3B0aW9uIikmJihvPSJzZWxlY3QiKTt2YXIgbD1pLmNyZWF0ZUVsZW1lbnQobyk7bC5pbm5lckhUTUw9cztmb3IodmFyIGQ9MDtkPGwuY2hpbGROb2Rlcy5sZW5ndGg7ZCs9MSluLnB1c2gobC5jaGlsZE5vZGVzW2RdKX1lbHNlIG49ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuW2VdO2Zvcih2YXIgYT1bXSxyPXQucXVlcnlTZWxlY3RvckFsbChlKSxpPTA7aTxyLmxlbmd0aDtpKz0xKWEucHVzaChyW2ldKTtyZXR1cm4gYX0oZS50cmltKCksdHx8aSl9ZWxzZSBpZihlLm5vZGVUeXBlfHxlPT09YXx8ZT09PWkpbi5wdXNoKGUpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKSl7aWYoZSBpbnN0YW5jZW9mIGgpcmV0dXJuIGU7bj1lfXJldHVybiBuZXcgaChmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10sYT0wO2E8ZS5sZW5ndGg7YSs9MSktMT09PXQuaW5kZXhPZihlW2FdKSYmdC5wdXNoKGVbYV0pO3JldHVybiB0fShuKSl9Zy5mbj1oLnByb3RvdHlwZTt2YXIgdz0icmVzaXplIHNjcm9sbCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBiKGUpe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLGE9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWFbcl09YXJndW1lbnRzW3JdO2lmKHZvaWQgMD09PWFbMF0pe2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSs9MSl3LmluZGV4T2YoZSk8MCYmKGUgaW4gdGhpc1tpXT90aGlzW2ldW2VdKCk6Zyh0aGlzW2ldKS50cmlnZ2VyKGUpKTtyZXR1cm4gdGhpc31yZXR1cm4gdGhpcy5vbi5hcHBseSh0aGlzLFtlXS5jb25jYXQoYSkpfX1iKCJjbGljayIpLGIoImJsdXIiKSxiKCJmb2N1cyIpLGIoImZvY3VzaW4iKSxiKCJmb2N1c291dCIpLGIoImtleXVwIiksYigia2V5ZG93biIpLGIoImtleXByZXNzIiksYigic3VibWl0IiksYigiY2hhbmdlIiksYigibW91c2Vkb3duIiksYigibW91c2Vtb3ZlIiksYigibW91c2V1cCIpLGIoIm1vdXNlZW50ZXIiKSxiKCJtb3VzZWxlYXZlIiksYigibW91c2VvdXQiKSxiKCJtb3VzZW92ZXIiKSxiKCJ0b3VjaHN0YXJ0IiksYigidG91Y2hlbmQiKSxiKCJ0b3VjaG1vdmUiKSxiKCJyZXNpemUiKSxiKCJzY3JvbGwiKTt2YXIgeT17YWRkQ2xhc3M6ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlKSxhPTA7YTxlO2ErKyl0W2FdPWFyZ3VtZW50c1thXTt2YXIgcj12KHQubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgiICIpfSkpKTtyZXR1cm4gdGhpcy5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdDsodD1lLmNsYXNzTGlzdCkuYWRkLmFwcGx5KHQsbihyKSl9KSksdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlKSxhPTA7YTxlO2ErKyl0W2FdPWFyZ3VtZW50c1thXTt2YXIgcj12KHQubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgiICIpfSkpKTtyZXR1cm4gdGhpcy5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdDsodD1lLmNsYXNzTGlzdCkucmVtb3ZlLmFwcGx5KHQsbihyKSl9KSksdGhpc30saGFzQ2xhc3M6ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlKSxhPTA7YTxlO2ErKyl0W2FdPWFyZ3VtZW50c1thXTt2YXIgcj12KHQubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgiICIpfSkpKTtyZXR1cm4gbSh0aGlzLChmdW5jdGlvbihlKXtyZXR1cm4gci5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBlLmNsYXNzTGlzdC5jb250YWlucyh0KX0pKS5sZW5ndGg+MH0pKS5sZW5ndGg+MH0sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlKSxhPTA7YTxlO2ErKyl0W2FdPWFyZ3VtZW50c1thXTt2YXIgcj12KHQubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgiICIpfSkpKTt0aGlzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3IuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZS5jbGFzc0xpc3QudG9nZ2xlKHQpfSkpfSkpfSxhdHRyOmZ1bmN0aW9uKGUsdCl7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gdGhpc1swXT90aGlzWzBdLmdldEF0dHJpYnV0ZShlKTp2b2lkIDA7Zm9yKHZhciBhPTA7YTx0aGlzLmxlbmd0aDthKz0xKWlmKDI9PT1hcmd1bWVudHMubGVuZ3RoKXRoaXNbYV0uc2V0QXR0cmlidXRlKGUsdCk7ZWxzZSBmb3IodmFyIHIgaW4gZSl0aGlzW2FdW3JdPWVbcl0sdGhpc1thXS5zZXRBdHRyaWJ1dGUocixlW3JdKTtyZXR1cm4gdGhpc30scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoO3QrPTEpdGhpc1t0XS5yZW1vdmVBdHRyaWJ1dGUoZSk7cmV0dXJuIHRoaXN9LHRyYW5zZm9ybTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoO3QrPTEpdGhpc1t0XS5zdHlsZS50cmFuc2Zvcm09ZTtyZXR1cm4gdGhpc30sdHJhbnNpdGlvbjpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoO3QrPTEpdGhpc1t0XS5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249InN0cmluZyIhPXR5cGVvZiBlPyIiLmNvbmNhdChlLCJtcyIpOmU7cmV0dXJuIHRoaXN9LG9uOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSksYT0wO2E8ZTthKyspdFthXT1hcmd1bWVudHNbYV07dmFyIHI9dFswXSxpPXRbMV0sbj10WzJdLHM9dFszXTtmdW5jdGlvbiBvKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHQpe3ZhciBhPWUudGFyZ2V0LmRvbTdFdmVudERhdGF8fFtdO2lmKGEuaW5kZXhPZihlKTwwJiZhLnVuc2hpZnQoZSksZyh0KS5pcyhpKSluLmFwcGx5KHQsYSk7ZWxzZSBmb3IodmFyIHI9Zyh0KS5wYXJlbnRzKCkscz0wO3M8ci5sZW5ndGg7cys9MSlnKHJbc10pLmlzKGkpJiZuLmFwcGx5KHJbc10sYSl9fWZ1bmN0aW9uIGwoZSl7dmFyIHQ9ZSYmZS50YXJnZXQmJmUudGFyZ2V0LmRvbTdFdmVudERhdGF8fFtdO3QuaW5kZXhPZihlKTwwJiZ0LnVuc2hpZnQoZSksbi5hcHBseSh0aGlzLHQpfSJmdW5jdGlvbiI9PXR5cGVvZiB0WzFdJiYocj10WzBdLG49dFsxXSxzPXRbMl0saT12b2lkIDApLHN8fChzPSExKTtmb3IodmFyIGQsYz1yLnNwbGl0KCIgIikscD0wO3A8dGhpcy5sZW5ndGg7cCs9MSl7dmFyIHU9dGhpc1twXTtpZihpKWZvcihkPTA7ZDxjLmxlbmd0aDtkKz0xKXt2YXIgZj1jW2RdO3UuZG9tN0xpdmVMaXN0ZW5lcnN8fCh1LmRvbTdMaXZlTGlzdGVuZXJzPXt9KSx1LmRvbTdMaXZlTGlzdGVuZXJzW2ZdfHwodS5kb203TGl2ZUxpc3RlbmVyc1tmXT1bXSksdS5kb203TGl2ZUxpc3RlbmVyc1tmXS5wdXNoKHtsaXN0ZW5lcjpuLHByb3h5TGlzdGVuZXI6b30pLHUuYWRkRXZlbnRMaXN0ZW5lcihmLG8scyl9ZWxzZSBmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCs9MSl7dmFyIGg9Y1tkXTt1LmRvbTdMaXN0ZW5lcnN8fCh1LmRvbTdMaXN0ZW5lcnM9e30pLHUuZG9tN0xpc3RlbmVyc1toXXx8KHUuZG9tN0xpc3RlbmVyc1toXT1bXSksdS5kb203TGlzdGVuZXJzW2hdLnB1c2goe2xpc3RlbmVyOm4scHJveHlMaXN0ZW5lcjpsfSksdS5hZGRFdmVudExpc3RlbmVyKGgsbCxzKX19cmV0dXJuIHRoaXN9LG9mZjpmdW5jdGlvbigpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHQ9bmV3IEFycmF5KGUpLGE9MDthPGU7YSsrKXRbYV09YXJndW1lbnRzW2FdO3ZhciByPXRbMF0saT10WzFdLG49dFsyXSxzPXRbM107ImZ1bmN0aW9uIj09dHlwZW9mIHRbMV0mJihyPXRbMF0sbj10WzFdLHM9dFsyXSxpPXZvaWQgMCksc3x8KHM9ITEpO2Zvcih2YXIgbz1yLnNwbGl0KCIgIiksbD0wO2w8by5sZW5ndGg7bCs9MSlmb3IodmFyIGQ9b1tsXSxjPTA7Yzx0aGlzLmxlbmd0aDtjKz0xKXt2YXIgcD10aGlzW2NdLHU9dm9pZCAwO2lmKCFpJiZwLmRvbTdMaXN0ZW5lcnM/dT1wLmRvbTdMaXN0ZW5lcnNbZF06aSYmcC5kb203TGl2ZUxpc3RlbmVycyYmKHU9cC5kb203TGl2ZUxpc3RlbmVyc1tkXSksdSYmdS5sZW5ndGgpZm9yKHZhciBmPXUubGVuZ3RoLTE7Zj49MDtmLT0xKXt2YXIgaD11W2ZdO24mJmgubGlzdGVuZXI9PT1ufHxuJiZoLmxpc3RlbmVyJiZoLmxpc3RlbmVyLmRvbTdwcm94eSYmaC5saXN0ZW5lci5kb203cHJveHk9PT1uPyhwLnJlbW92ZUV2ZW50TGlzdGVuZXIoZCxoLnByb3h5TGlzdGVuZXIscyksdS5zcGxpY2UoZiwxKSk6bnx8KHAucmVtb3ZlRXZlbnRMaXN0ZW5lcihkLGgucHJveHlMaXN0ZW5lcixzKSx1LnNwbGljZShmLDEpKX19cmV0dXJuIHRoaXN9LHRyaWdnZXI6ZnVuY3Rpb24oKXtmb3IodmFyIGU9KDAsci5KaikoKSx0PWFyZ3VtZW50cy5sZW5ndGgsYT1uZXcgQXJyYXkodCksaT0wO2k8dDtpKyspYVtpXT1hcmd1bWVudHNbaV07Zm9yKHZhciBuPWFbMF0uc3BsaXQoIiAiKSxzPWFbMV0sbz0wO288bi5sZW5ndGg7bys9MSlmb3IodmFyIGw9bltvXSxkPTA7ZDx0aGlzLmxlbmd0aDtkKz0xKXt2YXIgYz10aGlzW2RdO2lmKGUuQ3VzdG9tRXZlbnQpe3ZhciBwPW5ldyBlLkN1c3RvbUV2ZW50KGwse2RldGFpbDpzLGJ1YmJsZXM6ITAsY2FuY2VsYWJsZTohMH0pO2MuZG9tN0V2ZW50RGF0YT1hLmZpbHRlcigoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD4wfSkpLGMuZGlzcGF0Y2hFdmVudChwKSxjLmRvbTdFdmVudERhdGE9W10sZGVsZXRlIGMuZG9tN0V2ZW50RGF0YX19cmV0dXJuIHRoaXN9LHRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gZSYmdC5vbigidHJhbnNpdGlvbmVuZCIsKGZ1bmN0aW9uIGEocil7ci50YXJnZXQ9PT10aGlzJiYoZS5jYWxsKHRoaXMsciksdC5vZmYoInRyYW5zaXRpb25lbmQiLGEpKX0pKSx0aGlzfSxvdXRlcldpZHRoOmZ1bmN0aW9uKGUpe2lmKHRoaXMubGVuZ3RoPjApe2lmKGUpe3ZhciB0PXRoaXMuc3R5bGVzKCk7cmV0dXJuIHRoaXNbMF0ub2Zmc2V0V2lkdGgrcGFyc2VGbG9hdCh0LmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi1yaWdodCIpKStwYXJzZUZsb2F0KHQuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLWxlZnQiKSl9cmV0dXJuIHRoaXNbMF0ub2Zmc2V0V2lkdGh9cmV0dXJuIG51bGx9LG91dGVySGVpZ2h0OmZ1bmN0aW9uKGUpe2lmKHRoaXMubGVuZ3RoPjApe2lmKGUpe3ZhciB0PXRoaXMuc3R5bGVzKCk7cmV0dXJuIHRoaXNbMF0ub2Zmc2V0SGVpZ2h0K3BhcnNlRmxvYXQodC5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tdG9wIikpK3BhcnNlRmxvYXQodC5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tYm90dG9tIikpfXJldHVybiB0aGlzWzBdLm9mZnNldEhlaWdodH1yZXR1cm4gbnVsbH0sc3R5bGVzOmZ1bmN0aW9uKCl7dmFyIGU9KDAsci5KaikoKTtyZXR1cm4gdGhpc1swXT9lLmdldENvbXB1dGVkU3R5bGUodGhpc1swXSxudWxsKTp7fX0sb2Zmc2V0OmZ1bmN0aW9uKCl7aWYodGhpcy5sZW5ndGg+MCl7dmFyIGU9KDAsci5KaikoKSx0PSgwLHIuTWUpKCksYT10aGlzWzBdLGk9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPXQuYm9keSxzPWEuY2xpZW50VG9wfHxuLmNsaWVudFRvcHx8MCxvPWEuY2xpZW50TGVmdHx8bi5jbGllbnRMZWZ0fHwwLGw9YT09PWU/ZS5zY3JvbGxZOmEuc2Nyb2xsVG9wLGQ9YT09PWU/ZS5zY3JvbGxYOmEuc2Nyb2xsTGVmdDtyZXR1cm57dG9wOmkudG9wK2wtcyxsZWZ0OmkubGVmdCtkLW99fXJldHVybiBudWxsfSxjc3M6ZnVuY3Rpb24oZSx0KXt2YXIgYSxpPSgwLHIuSmopKCk7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl7Zm9yKGE9MDthPHRoaXMubGVuZ3RoO2ErPTEpZm9yKHZhciBuIGluIGUpdGhpc1thXS5zdHlsZVtuXT1lW25dO3JldHVybiB0aGlzfWlmKHRoaXNbMF0pcmV0dXJuIGkuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzWzBdLG51bGwpLmdldFByb3BlcnR5VmFsdWUoZSl9aWYoMj09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgZSl7Zm9yKGE9MDthPHRoaXMubGVuZ3RoO2ErPTEpdGhpc1thXS5zdHlsZVtlXT10O3JldHVybiB0aGlzfXJldHVybiB0aGlzfSxlYWNoOmZ1bmN0aW9uKGUpe3JldHVybiBlPyh0aGlzLmZvckVhY2goKGZ1bmN0aW9uKHQsYSl7ZS5hcHBseSh0LFt0LGFdKX0pKSx0aGlzKTp0aGlzfSxodG1sOmZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUpcmV0dXJuIHRoaXNbMF0/dGhpc1swXS5pbm5lckhUTUw6bnVsbDtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoO3QrPTEpdGhpc1t0XS5pbm5lckhUTUw9ZTtyZXR1cm4gdGhpc30sdGV4dDpmdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiB0aGlzWzBdP3RoaXNbMF0udGV4dENvbnRlbnQudHJpbSgpOm51bGw7Zm9yKHZhciB0PTA7dDx0aGlzLmxlbmd0aDt0Kz0xKXRoaXNbdF0udGV4dENvbnRlbnQ9ZTtyZXR1cm4gdGhpc30saXM6ZnVuY3Rpb24oZSl7dmFyIHQsYSxpPSgwLHIuSmopKCksbj0oMCxyLk1lKSgpLHM9dGhpc1swXTtpZighc3x8dm9pZCAwPT09ZSlyZXR1cm4hMTtpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKHMubWF0Y2hlcylyZXR1cm4gcy5tYXRjaGVzKGUpO2lmKHMud2Via2l0TWF0Y2hlc1NlbGVjdG9yKXJldHVybiBzLndlYmtpdE1hdGNoZXNTZWxlY3RvcihlKTtpZihzLm1zTWF0Y2hlc1NlbGVjdG9yKXJldHVybiBzLm1zTWF0Y2hlc1NlbGVjdG9yKGUpO2Zvcih0PWcoZSksYT0wO2E8dC5sZW5ndGg7YSs9MSlpZih0W2FdPT09cylyZXR1cm4hMDtyZXR1cm4hMX1pZihlPT09bilyZXR1cm4gcz09PW47aWYoZT09PWkpcmV0dXJuIHM9PT1pO2lmKGUubm9kZVR5cGV8fGUgaW5zdGFuY2VvZiBoKXtmb3IodD1lLm5vZGVUeXBlP1tlXTplLGE9MDthPHQubGVuZ3RoO2ErPTEpaWYodFthXT09PXMpcmV0dXJuITA7cmV0dXJuITF9cmV0dXJuITF9LGluZGV4OmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzWzBdO2lmKHQpe2ZvcihlPTA7bnVsbCE9PSh0PXQucHJldmlvdXNTaWJsaW5nKTspMT09PXQubm9kZVR5cGUmJihlKz0xKTtyZXR1cm4gZX19LGVxOmZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUpcmV0dXJuIHRoaXM7dmFyIHQ9dGhpcy5sZW5ndGg7aWYoZT50LTEpcmV0dXJuIGcoW10pO2lmKGU8MCl7dmFyIGE9dCtlO3JldHVybiBnKGE8MD9bXTpbdGhpc1thXV0pfXJldHVybiBnKFt0aGlzW2VdXSl9LGFwcGVuZDpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PSgwLHIuTWUpKCksYT0wO2E8YXJndW1lbnRzLmxlbmd0aDthKz0xKXtlPWE8MHx8YXJndW1lbnRzLmxlbmd0aDw9YT92b2lkIDA6YXJndW1lbnRzW2FdO2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSs9MSlpZigic3RyaW5nIj09dHlwZW9mIGUpe3ZhciBuPXQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zm9yKG4uaW5uZXJIVE1MPWU7bi5maXJzdENoaWxkOyl0aGlzW2ldLmFwcGVuZENoaWxkKG4uZmlyc3RDaGlsZCl9ZWxzZSBpZihlIGluc3RhbmNlb2YgaClmb3IodmFyIHM9MDtzPGUubGVuZ3RoO3MrPTEpdGhpc1tpXS5hcHBlbmRDaGlsZChlW3NdKTtlbHNlIHRoaXNbaV0uYXBwZW5kQ2hpbGQoZSl9cmV0dXJuIHRoaXN9LHByZXBlbmQ6ZnVuY3Rpb24oZSl7dmFyIHQsYSxpPSgwLHIuTWUpKCk7Zm9yKHQ9MDt0PHRoaXMubGVuZ3RoO3QrPTEpaWYoInN0cmluZyI9PXR5cGVvZiBlKXt2YXIgbj1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2ZvcihuLmlubmVySFRNTD1lLGE9bi5jaGlsZE5vZGVzLmxlbmd0aC0xO2E+PTA7YS09MSl0aGlzW3RdLmluc2VydEJlZm9yZShuLmNoaWxkTm9kZXNbYV0sdGhpc1t0XS5jaGlsZE5vZGVzWzBdKX1lbHNlIGlmKGUgaW5zdGFuY2VvZiBoKWZvcihhPTA7YTxlLmxlbmd0aDthKz0xKXRoaXNbdF0uaW5zZXJ0QmVmb3JlKGVbYV0sdGhpc1t0XS5jaGlsZE5vZGVzWzBdKTtlbHNlIHRoaXNbdF0uaW5zZXJ0QmVmb3JlKGUsdGhpc1t0XS5jaGlsZE5vZGVzWzBdKTtyZXR1cm4gdGhpc30sbmV4dDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5sZW5ndGg+MD9lP3RoaXNbMF0ubmV4dEVsZW1lbnRTaWJsaW5nJiZnKHRoaXNbMF0ubmV4dEVsZW1lbnRTaWJsaW5nKS5pcyhlKT9nKFt0aGlzWzBdLm5leHRFbGVtZW50U2libGluZ10pOmcoW10pOnRoaXNbMF0ubmV4dEVsZW1lbnRTaWJsaW5nP2coW3RoaXNbMF0ubmV4dEVsZW1lbnRTaWJsaW5nXSk6ZyhbXSk6ZyhbXSl9LG5leHRBbGw6ZnVuY3Rpb24oZSl7dmFyIHQ9W10sYT10aGlzWzBdO2lmKCFhKXJldHVybiBnKFtdKTtmb3IoO2EubmV4dEVsZW1lbnRTaWJsaW5nOyl7dmFyIHI9YS5uZXh0RWxlbWVudFNpYmxpbmc7ZT9nKHIpLmlzKGUpJiZ0LnB1c2gocik6dC5wdXNoKHIpLGE9cn1yZXR1cm4gZyh0KX0scHJldjpmdW5jdGlvbihlKXtpZih0aGlzLmxlbmd0aD4wKXt2YXIgdD10aGlzWzBdO3JldHVybiBlP3QucHJldmlvdXNFbGVtZW50U2libGluZyYmZyh0LnByZXZpb3VzRWxlbWVudFNpYmxpbmcpLmlzKGUpP2coW3QucHJldmlvdXNFbGVtZW50U2libGluZ10pOmcoW10pOnQucHJldmlvdXNFbGVtZW50U2libGluZz9nKFt0LnByZXZpb3VzRWxlbWVudFNpYmxpbmddKTpnKFtdKX1yZXR1cm4gZyhbXSl9LHByZXZBbGw6ZnVuY3Rpb24oZSl7dmFyIHQ9W10sYT10aGlzWzBdO2lmKCFhKXJldHVybiBnKFtdKTtmb3IoO2EucHJldmlvdXNFbGVtZW50U2libGluZzspe3ZhciByPWEucHJldmlvdXNFbGVtZW50U2libGluZztlP2cocikuaXMoZSkmJnQucHVzaChyKTp0LnB1c2gociksYT1yfXJldHVybiBnKHQpfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLGE9MDthPHRoaXMubGVuZ3RoO2ErPTEpbnVsbCE9PXRoaXNbYV0ucGFyZW50Tm9kZSYmKGU/Zyh0aGlzW2FdLnBhcmVudE5vZGUpLmlzKGUpJiZ0LnB1c2godGhpc1thXS5wYXJlbnROb2RlKTp0LnB1c2godGhpc1thXS5wYXJlbnROb2RlKSk7cmV0dXJuIGcodCl9LHBhcmVudHM6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLGE9MDthPHRoaXMubGVuZ3RoO2ErPTEpZm9yKHZhciByPXRoaXNbYV0ucGFyZW50Tm9kZTtyOyllP2cocikuaXMoZSkmJnQucHVzaChyKTp0LnB1c2gocikscj1yLnBhcmVudE5vZGU7cmV0dXJuIGcodCl9LGNsb3Nlc3Q6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gdm9pZCAwPT09ZT9nKFtdKToodC5pcyhlKXx8KHQ9dC5wYXJlbnRzKGUpLmVxKDApKSx0KX0sZmluZDpmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10sYT0wO2E8dGhpcy5sZW5ndGg7YSs9MSlmb3IodmFyIHI9dGhpc1thXS5xdWVyeVNlbGVjdG9yQWxsKGUpLGk9MDtpPHIubGVuZ3RoO2krPTEpdC5wdXNoKHJbaV0pO3JldHVybiBnKHQpfSxjaGlsZHJlbjpmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10sYT0wO2E8dGhpcy5sZW5ndGg7YSs9MSlmb3IodmFyIHI9dGhpc1thXS5jaGlsZHJlbixpPTA7aTxyLmxlbmd0aDtpKz0xKWUmJiFnKHJbaV0pLmlzKGUpfHx0LnB1c2gocltpXSk7cmV0dXJuIGcodCl9LGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZyhtKHRoaXMsZSkpfSxyZW1vdmU6ZnVuY3Rpb24oKXtmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoO2UrPTEpdGhpc1tlXS5wYXJlbnROb2RlJiZ0aGlzW2VdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpc1tlXSk7cmV0dXJuIHRoaXN9fTtPYmplY3Qua2V5cyh5KS5mb3JFYWNoKChmdW5jdGlvbihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZy5mbixlLHt2YWx1ZTp5W2VdLHdyaXRhYmxlOiEwfSl9KSk7dmFyIHgsRSxTLFQ9ZztmdW5jdGlvbiBDKGUsdCxhKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOmEsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPWEsZX1mdW5jdGlvbiBNKGUpe3JldHVybiBNPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxNKGUpfWZ1bmN0aW9uIFAoZSl7dmFyIHQ9ZTtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChmdW5jdGlvbihlKXt0cnl7dFtlXT1udWxsfWNhdGNoKGUpe310cnl7ZGVsZXRlIHRbZV19Y2F0Y2goZSl7fX0pKX1mdW5jdGlvbiBrKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowO3JldHVybiBzZXRUaW1lb3V0KGUsdCl9ZnVuY3Rpb24gJCgpe3JldHVybiBEYXRlLm5vdygpfWZ1bmN0aW9uIHooZSl7dmFyIHQsYT0oMCxyLkpqKSgpO3JldHVybiBhLmdldENvbXB1dGVkU3R5bGUmJih0PWEuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpKSwhdCYmZS5jdXJyZW50U3R5bGUmJih0PWUuY3VycmVudFN0eWxlKSx0fHwodD1lLnN0eWxlKSx0fWZ1bmN0aW9uIE8oZSl7dmFyIHQsYSxpLG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOiJ4IixzPSgwLHIuSmopKCksbz16KGUpO3JldHVybiBzLldlYktpdENTU01hdHJpeD8oKGE9by50cmFuc2Zvcm18fG8ud2Via2l0VHJhbnNmb3JtKS5zcGxpdCgiLCIpLmxlbmd0aD42JiYoYT1hLnNwbGl0KCIsICIpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgiLCIsIi4iKX0pKS5qb2luKCIsICIpKSxpPW5ldyBzLldlYktpdENTU01hdHJpeCgibm9uZSI9PT1hPyIiOmEpKTp0PShpPW8uTW96VHJhbnNmb3JtfHxvLk9UcmFuc2Zvcm18fG8uTXNUcmFuc2Zvcm18fG8ubXNUcmFuc2Zvcm18fG8udHJhbnNmb3JtfHxvLmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIpLnJlcGxhY2UoInRyYW5zbGF0ZSgiLCJtYXRyaXgoMSwgMCwgMCwgMSwiKSkudG9TdHJpbmcoKS5zcGxpdCgiLCIpLCJ4Ij09PW4mJihhPXMuV2ViS2l0Q1NTTWF0cml4P2kubTQxOjE2PT09dC5sZW5ndGg/cGFyc2VGbG9hdCh0WzEyXSk6cGFyc2VGbG9hdCh0WzRdKSksInkiPT09biYmKGE9cy5XZWJLaXRDU1NNYXRyaXg/aS5tNDI6MTY9PT10Lmxlbmd0aD9wYXJzZUZsb2F0KHRbMTNdKTpwYXJzZUZsb2F0KHRbNV0pKSxhfHwwfWZ1bmN0aW9uIEkoZSl7cmV0dXJuIm9iamVjdCI9PT1NKGUpJiZudWxsIT09ZSYmZS5jb25zdHJ1Y3RvciYmIk9iamVjdCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gTChlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LkhUTUxFbGVtZW50P2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDplJiYoMT09PWUubm9kZVR5cGV8fDExPT09ZS5ub2RlVHlwZSl9ZnVuY3Rpb24gQSgpe2Zvcih2YXIgZT1PYmplY3QoYXJndW1lbnRzLmxlbmd0aDw9MD92b2lkIDA6YXJndW1lbnRzWzBdKSx0PVsiX19wcm90b19fIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiXSxhPTE7YTxhcmd1bWVudHMubGVuZ3RoO2ErPTEpe3ZhciByPWE8MHx8YXJndW1lbnRzLmxlbmd0aDw9YT92b2lkIDA6YXJndW1lbnRzW2FdO2lmKG51bGwhPXImJiFMKHIpKWZvcih2YXIgaT1PYmplY3Qua2V5cyhPYmplY3QocikpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIHQuaW5kZXhPZihlKTwwfSkpLG49MCxzPWkubGVuZ3RoO248cztuKz0xKXt2YXIgbz1pW25dLGw9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLG8pO3ZvaWQgMCE9PWwmJmwuZW51bWVyYWJsZSYmKEkoZVtvXSkmJkkocltvXSk/cltvXS5fX3N3aXBlcl9fP2Vbb109cltvXTpBKGVbb10scltvXSk6IUkoZVtvXSkmJkkocltvXSk/KGVbb109e30scltvXS5fX3N3aXBlcl9fP2Vbb109cltvXTpBKGVbb10scltvXSkpOmVbb109cltvXSl9fXJldHVybiBlfWZ1bmN0aW9uIEQoZSx0LGEpe2Uuc3R5bGUuc2V0UHJvcGVydHkodCxhKX1mdW5jdGlvbiBqKGUpe3ZhciB0LGE9ZS5zd2lwZXIsaT1lLnRhcmdldFBvc2l0aW9uLG49ZS5zaWRlLHM9KDAsci5KaikoKSxvPS1hLnRyYW5zbGF0ZSxsPW51bGwsZD1hLnBhcmFtcy5zcGVlZDthLndyYXBwZXJFbC5zdHlsZS5zY3JvbGxTbmFwVHlwZT0ibm9uZSIscy5jYW5jZWxBbmltYXRpb25GcmFtZShhLmNzc01vZGVGcmFtZUlEKTt2YXIgYz1pPm8/Im5leHQiOiJwcmV2IixwPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIm5leHQiPT09YyYmZT49dHx8InByZXYiPT09YyYmZTw9dH07IWZ1bmN0aW9uIGUoKXt0PShuZXcgRGF0ZSkuZ2V0VGltZSgpLG51bGw9PT1sJiYobD10KTt2YXIgcj1NYXRoLm1heChNYXRoLm1pbigodC1sKS9kLDEpLDApLGM9LjUtTWF0aC5jb3MocipNYXRoLlBJKS8yLHU9bytjKihpLW8pO2lmKHAodSxpKSYmKHU9aSksYS53cmFwcGVyRWwuc2Nyb2xsVG8oQyh7fSxuLHUpKSxwKHUsaSkpcmV0dXJuIGEud3JhcHBlckVsLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLGEud3JhcHBlckVsLnN0eWxlLnNjcm9sbFNuYXBUeXBlPSIiLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7YS53cmFwcGVyRWwuc3R5bGUub3ZlcmZsb3c9IiIsYS53cmFwcGVyRWwuc2Nyb2xsVG8oQyh7fSxuLHUpKX0pKSx2b2lkIHMuY2FuY2VsQW5pbWF0aW9uRnJhbWUoYS5jc3NNb2RlRnJhbWVJRCk7YS5jc3NNb2RlRnJhbWVJRD1zLnJlcXVlc3RBbmltYXRpb25GcmFtZShlKX0oKX1mdW5jdGlvbiBHKCl7cmV0dXJuIHh8fCh4PWZ1bmN0aW9uKCl7dmFyIGU9KDAsci5KaikoKSx0PSgwLHIuTWUpKCk7cmV0dXJue3Ntb290aFNjcm9sbDp0LmRvY3VtZW50RWxlbWVudCYmInNjcm9sbEJlaGF2aW9yImluIHQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLHRvdWNoOiEhKCJvbnRvdWNoc3RhcnQiaW4gZXx8ZS5Eb2N1bWVudFRvdWNoJiZ0IGluc3RhbmNlb2YgZS5Eb2N1bWVudFRvdWNoKSxwYXNzaXZlTGlzdGVuZXI6ZnVuY3Rpb24oKXt2YXIgdD0hMTt0cnl7dmFyIGE9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7dD0hMH19KTtlLmFkZEV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlTGlzdGVuZXIiLG51bGwsYSl9Y2F0Y2goZSl7fXJldHVybiB0fSgpLGdlc3R1cmVzOiJvbmdlc3R1cmVzdGFydCJpbiBlfX0oKSkseH1mdW5jdGlvbiBCKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LHQ9ZS51c2VyQWdlbnQsYT1HKCksaT0oMCxyLkpqKSgpLG49aS5uYXZpZ2F0b3IucGxhdGZvcm0scz10fHxpLm5hdmlnYXRvci51c2VyQWdlbnQsbz17aW9zOiExLGFuZHJvaWQ6ITF9LGw9aS5zY3JlZW4ud2lkdGgsZD1pLnNjcmVlbi5oZWlnaHQsYz1zLm1hdGNoKC8oQW5kcm9pZCk7P1tcc1wvXSsoW1xkLl0rKT8vKSxwPXMubWF0Y2goLyhpUGFkKS4qT1NccyhbXGRfXSspLyksdT1zLm1hdGNoKC8oaVBvZCkoLipPU1xzKFtcZF9dKykpPy8pLGY9IXAmJnMubWF0Y2goLyhpUGhvbmVcc09TfGlPUylccyhbXGRfXSspLyksaD0iV2luMzIiPT09bix2PSJNYWNJbnRlbCI9PT1uLG09WyIxMDI0eDEzNjYiLCIxMzY2eDEwMjQiLCI4MzR4MTE5NCIsIjExOTR4ODM0IiwiODM0eDExMTIiLCIxMTEyeDgzNCIsIjc2OHgxMDI0IiwiMTAyNHg3NjgiLCI4MjB4MTE4MCIsIjExODB4ODIwIiwiODEweDEwODAiLCIxMDgweDgxMCJdO3JldHVybiFwJiZ2JiZhLnRvdWNoJiZtLmluZGV4T2YoIiIuY29uY2F0KGwsIngiKS5jb25jYXQoZCkpPj0wJiYoKHA9cy5tYXRjaCgvKFZlcnNpb24pXC8oW1xkLl0rKS8pKXx8KHA9WzAsMSwiMTNfMF8wIl0pLHY9ITEpLGMmJiFoJiYoby5vcz0iYW5kcm9pZCIsby5hbmRyb2lkPSEwKSwocHx8Znx8dSkmJihvLm9zPSJpb3MiLG8uaW9zPSEwKSxvfWZ1bmN0aW9uIE4oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e307cmV0dXJuIEV8fChFPUIoZSkpLEV9ZnVuY3Rpb24gWCgpe3JldHVybiBTfHwoUz1mdW5jdGlvbigpe3ZhciBlLHQ9KDAsci5KaikoKTtyZXR1cm57aXNTYWZhcmk6KGU9dC5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCksZS5pbmRleE9mKCJzYWZhcmkiKT49MCYmZS5pbmRleE9mKCJjaHJvbWUiKTwwJiZlLmluZGV4T2YoImFuZHJvaWQiKTwwKSxpc1dlYlZpZXc6LyhpUGhvbmV8aVBvZHxpUGFkKS4qQXBwbGVXZWJLaXQoPyEuKlNhZmFyaSkvaS50ZXN0KHQubmF2aWdhdG9yLnVzZXJBZ2VudCl9fSgpKSxTfWZ1bmN0aW9uIEgoZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIFkoZSl9KGUpfHxmdW5jdGlvbihlKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmbnVsbCE9ZVtTeW1ib2wuaXRlcmF0b3JdfHxudWxsIT1lWyJAQGl0ZXJhdG9yIl0pcmV0dXJuIEFycmF5LmZyb20oZSl9KGUpfHxmdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybjtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIFkoZSx0KTt2YXIgYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7Ik9iamVjdCI9PT1hJiZlLmNvbnN0cnVjdG9yJiYoYT1lLmNvbnN0cnVjdG9yLm5hbWUpO2lmKCJNYXAiPT09YXx8IlNldCI9PT1hKXJldHVybiBBcnJheS5mcm9tKGUpO2lmKCJBcmd1bWVudHMiPT09YXx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QoYSkpcmV0dXJuIFkoZSx0KX0oZSl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gWShlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgYT0wLHI9bmV3IEFycmF5KHQpO2E8dDthKyspclthXT1lW2FdO3JldHVybiByfXZhciBSPXtvbjpmdW5jdGlvbihlLHQsYSl7dmFyIHI9dGhpcztpZigiZnVuY3Rpb24iIT10eXBlb2YgdClyZXR1cm4gcjt2YXIgaT1hPyJ1bnNoaWZ0IjoicHVzaCI7cmV0dXJuIGUuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyLmV2ZW50c0xpc3RlbmVyc1tlXXx8KHIuZXZlbnRzTGlzdGVuZXJzW2VdPVtdKSxyLmV2ZW50c0xpc3RlbmVyc1tlXVtpXSh0KX0pKSxyfSxvbmNlOmZ1bmN0aW9uKGUsdCxhKXt2YXIgcj10aGlzO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXJldHVybiByO2Z1bmN0aW9uIGkoKXtyLm9mZihlLGkpLGkuX19lbWl0dGVyUHJveHkmJmRlbGV0ZSBpLl9fZW1pdHRlclByb3h5O2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KGEpLHM9MDtzPGE7cysrKW5bc109YXJndW1lbnRzW3NdO3QuYXBwbHkocixuKX1yZXR1cm4gaS5fX2VtaXR0ZXJQcm94eT10LHIub24oZSxpLGEpfSxvbkFueTpmdW5jdGlvbihlLHQpe3ZhciBhPXRoaXM7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpcmV0dXJuIGE7dmFyIHI9dD8idW5zaGlmdCI6InB1c2giO3JldHVybiBhLmV2ZW50c0FueUxpc3RlbmVycy5pbmRleE9mKGUpPDAmJmEuZXZlbnRzQW55TGlzdGVuZXJzW3JdKGUpLGF9LG9mZkFueTpmdW5jdGlvbihlKXt2YXIgdD10aGlzO2lmKCF0LmV2ZW50c0FueUxpc3RlbmVycylyZXR1cm4gdDt2YXIgYT10LmV2ZW50c0FueUxpc3RlbmVycy5pbmRleE9mKGUpO3JldHVybiBhPj0wJiZ0LmV2ZW50c0FueUxpc3RlbmVycy5zcGxpY2UoYSwxKSx0fSxvZmY6ZnVuY3Rpb24oZSx0KXt2YXIgYT10aGlzO3JldHVybiBhLmV2ZW50c0xpc3RlbmVycz8oZS5zcGxpdCgiICIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZvaWQgMD09PXQ/YS5ldmVudHNMaXN0ZW5lcnNbZV09W106YS5ldmVudHNMaXN0ZW5lcnNbZV0mJmEuZXZlbnRzTGlzdGVuZXJzW2VdLmZvckVhY2goKGZ1bmN0aW9uKHIsaSl7KHI9PT10fHxyLl9fZW1pdHRlclByb3h5JiZyLl9fZW1pdHRlclByb3h5PT09dCkmJmEuZXZlbnRzTGlzdGVuZXJzW2VdLnNwbGljZShpLDEpfSkpfSkpLGEpOmF9LGVtaXQ6ZnVuY3Rpb24oKXt2YXIgZSx0LGEscj10aGlzO2lmKCFyLmV2ZW50c0xpc3RlbmVycylyZXR1cm4gcjtmb3IodmFyIGk9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheShpKSxzPTA7czxpO3MrKyluW3NdPWFyZ3VtZW50c1tzXTsic3RyaW5nIj09dHlwZW9mIG5bMF18fEFycmF5LmlzQXJyYXkoblswXSk/KGU9blswXSx0PW4uc2xpY2UoMSxuLmxlbmd0aCksYT1yKTooZT1uWzBdLmV2ZW50cyx0PW5bMF0uZGF0YSxhPW5bMF0uY29udGV4dHx8ciksdC51bnNoaWZ0KGEpO3ZhciBvPUFycmF5LmlzQXJyYXkoZSk/ZTplLnNwbGl0KCIgIik7cmV0dXJuIG8uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ci5ldmVudHNBbnlMaXN0ZW5lcnMmJnIuZXZlbnRzQW55TGlzdGVuZXJzLmxlbmd0aCYmci5ldmVudHNBbnlMaXN0ZW5lcnMuZm9yRWFjaCgoZnVuY3Rpb24ocil7ci5hcHBseShhLFtlXS5jb25jYXQoSCh0KSkpfSkpLHIuZXZlbnRzTGlzdGVuZXJzJiZyLmV2ZW50c0xpc3RlbmVyc1tlXSYmci5ldmVudHNMaXN0ZW5lcnNbZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5hcHBseShhLHQpfSkpfSkpLHJ9fTtmdW5jdGlvbiBfKGUsdCxhKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOmEsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPWEsZX12YXIgVz17dXBkYXRlU2l6ZTpmdW5jdGlvbigpe3ZhciBlLHQsYT10aGlzLHI9YS4kZWw7ZT12b2lkIDAhPT1hLnBhcmFtcy53aWR0aCYmbnVsbCE9PWEucGFyYW1zLndpZHRoP2EucGFyYW1zLndpZHRoOnJbMF0uY2xpZW50V2lkdGgsdD12b2lkIDAhPT1hLnBhcmFtcy5oZWlnaHQmJm51bGwhPT1hLnBhcmFtcy5oZWlnaHQ/YS5wYXJhbXMuaGVpZ2h0OnJbMF0uY2xpZW50SGVpZ2h0LDA9PT1lJiZhLmlzSG9yaXpvbnRhbCgpfHwwPT09dCYmYS5pc1ZlcnRpY2FsKCl8fChlPWUtcGFyc2VJbnQoci5jc3MoInBhZGRpbmctbGVmdCIpfHwwLDEwKS1wYXJzZUludChyLmNzcygicGFkZGluZy1yaWdodCIpfHwwLDEwKSx0PXQtcGFyc2VJbnQoci5jc3MoInBhZGRpbmctdG9wIil8fDAsMTApLXBhcnNlSW50KHIuY3NzKCJwYWRkaW5nLWJvdHRvbSIpfHwwLDEwKSxOdW1iZXIuaXNOYU4oZSkmJihlPTApLE51bWJlci5pc05hTih0KSYmKHQ9MCksT2JqZWN0LmFzc2lnbihhLHt3aWR0aDplLGhlaWdodDp0LHNpemU6YS5pc0hvcml6b250YWwoKT9lOnR9KSl9LHVwZGF0ZVNsaWRlczpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZnVuY3Rpb24gdCh0KXtyZXR1cm4gZS5pc0hvcml6b250YWwoKT90Ont3aWR0aDoiaGVpZ2h0IiwibWFyZ2luLXRvcCI6Im1hcmdpbi1sZWZ0IiwibWFyZ2luLWJvdHRvbSAiOiJtYXJnaW4tcmlnaHQiLCJtYXJnaW4tbGVmdCI6Im1hcmdpbi10b3AiLCJtYXJnaW4tcmlnaHQiOiJtYXJnaW4tYm90dG9tIiwicGFkZGluZy1sZWZ0IjoicGFkZGluZy10b3AiLCJwYWRkaW5nLXJpZ2h0IjoicGFkZGluZy1ib3R0b20iLG1hcmdpblJpZ2h0OiJtYXJnaW5Cb3R0b20ifVt0XX1mdW5jdGlvbiBhKGUsYSl7cmV0dXJuIHBhcnNlRmxvYXQoZS5nZXRQcm9wZXJ0eVZhbHVlKHQoYSkpfHwwKX12YXIgcj1lLnBhcmFtcyxpPWUuJHdyYXBwZXJFbCxuPWUuc2l6ZSxzPWUucnRsVHJhbnNsYXRlLG89ZS53cm9uZ1JUTCxsPWUudmlydHVhbCYmci52aXJ0dWFsLmVuYWJsZWQsZD1sP2UudmlydHVhbC5zbGlkZXMubGVuZ3RoOmUuc2xpZGVzLmxlbmd0aCxjPWkuY2hpbGRyZW4oIi4iLmNvbmNhdChlLnBhcmFtcy5zbGlkZUNsYXNzKSkscD1sP2UudmlydHVhbC5zbGlkZXMubGVuZ3RoOmMubGVuZ3RoLHU9W10sZj1bXSxoPVtdLHY9ci5zbGlkZXNPZmZzZXRCZWZvcmU7ImZ1bmN0aW9uIj09dHlwZW9mIHYmJih2PXIuc2xpZGVzT2Zmc2V0QmVmb3JlLmNhbGwoZSkpO3ZhciBtPXIuc2xpZGVzT2Zmc2V0QWZ0ZXI7ImZ1bmN0aW9uIj09dHlwZW9mIG0mJihtPXIuc2xpZGVzT2Zmc2V0QWZ0ZXIuY2FsbChlKSk7dmFyIGc9ZS5zbmFwR3JpZC5sZW5ndGgsdz1lLnNsaWRlc0dyaWQubGVuZ3RoLGI9ci5zcGFjZUJldHdlZW4seT0tdix4PTAsRT0wO2lmKHZvaWQgMCE9PW4peyJzdHJpbmciPT10eXBlb2YgYiYmYi5pbmRleE9mKCIlIik+PTAmJihiPXBhcnNlRmxvYXQoYi5yZXBsYWNlKCIlIiwiIikpLzEwMCpuKSxlLnZpcnR1YWxTaXplPS1iLHM/Yy5jc3Moe21hcmdpbkxlZnQ6IiIsbWFyZ2luQm90dG9tOiIiLG1hcmdpblRvcDoiIn0pOmMuY3NzKHttYXJnaW5SaWdodDoiIixtYXJnaW5Cb3R0b206IiIsbWFyZ2luVG9wOiIifSksci5jZW50ZXJlZFNsaWRlcyYmci5jc3NNb2RlJiYoRChlLndyYXBwZXJFbCwiLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSIsIiIpLEQoZS53cmFwcGVyRWwsIi0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlciIsIiIpKTt2YXIgUyxUPXIuZ3JpZCYmci5ncmlkLnJvd3M+MSYmZS5ncmlkO1QmJmUuZ3JpZC5pbml0U2xpZGVzKHApO2Zvcih2YXIgQz0iYXV0byI9PT1yLnNsaWRlc1BlclZpZXcmJnIuYnJlYWtwb2ludHMmJk9iamVjdC5rZXlzKHIuYnJlYWtwb2ludHMpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMCE9PXIuYnJlYWtwb2ludHNbZV0uc2xpZGVzUGVyVmlld30pKS5sZW5ndGg+MCxNPTA7TTxwO00rPTEpe1M9MDt2YXIgUD1jLmVxKE0pO2lmKFQmJmUuZ3JpZC51cGRhdGVTbGlkZShNLFAscCx0KSwibm9uZSIhPT1QLmNzcygiZGlzcGxheSIpKXtpZigiYXV0byI9PT1yLnNsaWRlc1BlclZpZXcpe0MmJihjW01dLnN0eWxlW3QoIndpZHRoIildPSIiKTt2YXIgaz1nZXRDb21wdXRlZFN0eWxlKFBbMF0pLCQ9UFswXS5zdHlsZS50cmFuc2Zvcm0sej1QWzBdLnN0eWxlLndlYmtpdFRyYW5zZm9ybTtpZigkJiYoUFswXS5zdHlsZS50cmFuc2Zvcm09Im5vbmUiKSx6JiYoUFswXS5zdHlsZS53ZWJraXRUcmFuc2Zvcm09Im5vbmUiKSxyLnJvdW5kTGVuZ3RocylTPWUuaXNIb3Jpem9udGFsKCk/UC5vdXRlcldpZHRoKCEwKTpQLm91dGVySGVpZ2h0KCEwKTtlbHNle3ZhciBPPWEoaywid2lkdGgiKSxJPWEoaywicGFkZGluZy1sZWZ0IiksTD1hKGssInBhZGRpbmctcmlnaHQiKSxBPWEoaywibWFyZ2luLWxlZnQiKSxqPWEoaywibWFyZ2luLXJpZ2h0IiksRz1rLmdldFByb3BlcnR5VmFsdWUoImJveC1zaXppbmciKTtpZihHJiYiYm9yZGVyLWJveCI9PT1HKVM9TytBK2o7ZWxzZXt2YXIgQj1QWzBdLE49Qi5jbGllbnRXaWR0aDtTPU8rSStMK0EraisoQi5vZmZzZXRXaWR0aC1OKX19JCYmKFBbMF0uc3R5bGUudHJhbnNmb3JtPSQpLHomJihQWzBdLnN0eWxlLndlYmtpdFRyYW5zZm9ybT16KSxyLnJvdW5kTGVuZ3RocyYmKFM9TWF0aC5mbG9vcihTKSl9ZWxzZSBTPShuLShyLnNsaWRlc1BlclZpZXctMSkqYikvci5zbGlkZXNQZXJWaWV3LHIucm91bmRMZW5ndGhzJiYoUz1NYXRoLmZsb29yKFMpKSxjW01dJiYoY1tNXS5zdHlsZVt0KCJ3aWR0aCIpXT0iIi5jb25jYXQoUywicHgiKSk7Y1tNXSYmKGNbTV0uc3dpcGVyU2xpZGVTaXplPVMpLGgucHVzaChTKSxyLmNlbnRlcmVkU2xpZGVzPyh5PXkrUy8yK3gvMitiLDA9PT14JiYwIT09TSYmKHk9eS1uLzItYiksMD09PU0mJih5PXktbi8yLWIpLE1hdGguYWJzKHkpPC4wMDEmJih5PTApLHIucm91bmRMZW5ndGhzJiYoeT1NYXRoLmZsb29yKHkpKSxFJXIuc2xpZGVzUGVyR3JvdXA9PTAmJnUucHVzaCh5KSxmLnB1c2goeSkpOihyLnJvdW5kTGVuZ3RocyYmKHk9TWF0aC5mbG9vcih5KSksKEUtTWF0aC5taW4oZS5wYXJhbXMuc2xpZGVzUGVyR3JvdXBTa2lwLEUpKSVlLnBhcmFtcy5zbGlkZXNQZXJHcm91cD09MCYmdS5wdXNoKHkpLGYucHVzaCh5KSx5PXkrUytiKSxlLnZpcnR1YWxTaXplKz1TK2IseD1TLEUrPTF9fWlmKGUudmlydHVhbFNpemU9TWF0aC5tYXgoZS52aXJ0dWFsU2l6ZSxuKSttLHMmJm8mJigic2xpZGUiPT09ci5lZmZlY3R8fCJjb3ZlcmZsb3ciPT09ci5lZmZlY3QpJiZpLmNzcyh7d2lkdGg6IiIuY29uY2F0KGUudmlydHVhbFNpemUrci5zcGFjZUJldHdlZW4sInB4Iil9KSxyLnNldFdyYXBwZXJTaXplJiZpLmNzcyhfKHt9LHQoIndpZHRoIiksIiIuY29uY2F0KGUudmlydHVhbFNpemUrci5zcGFjZUJldHdlZW4sInB4IikpKSxUJiZlLmdyaWQudXBkYXRlV3JhcHBlclNpemUoUyx1LHQpLCFyLmNlbnRlcmVkU2xpZGVzKXtmb3IodmFyIFg9W10sSD0wO0g8dS5sZW5ndGg7SCs9MSl7dmFyIFk9dVtIXTtyLnJvdW5kTGVuZ3RocyYmKFk9TWF0aC5mbG9vcihZKSksdVtIXTw9ZS52aXJ0dWFsU2l6ZS1uJiZYLnB1c2goWSl9dT1YLE1hdGguZmxvb3IoZS52aXJ0dWFsU2l6ZS1uKS1NYXRoLmZsb29yKHVbdS5sZW5ndGgtMV0pPjEmJnUucHVzaChlLnZpcnR1YWxTaXplLW4pfWlmKDA9PT11Lmxlbmd0aCYmKHU9WzBdKSwwIT09ci5zcGFjZUJldHdlZW4pe3ZhciBSPWUuaXNIb3Jpem9udGFsKCkmJnM/Im1hcmdpbkxlZnQiOnQoIm1hcmdpblJpZ2h0Iik7Yy5maWx0ZXIoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIXIuY3NzTW9kZXx8dCE9PWMubGVuZ3RoLTF9KSkuY3NzKF8oe30sUiwiIi5jb25jYXQoYiwicHgiKSkpfWlmKHIuY2VudGVyZWRTbGlkZXMmJnIuY2VudGVyZWRTbGlkZXNCb3VuZHMpe3ZhciBXPTA7aC5mb3JFYWNoKChmdW5jdGlvbihlKXtXKz1lKyhyLnNwYWNlQmV0d2Vlbj9yLnNwYWNlQmV0d2VlbjowKX0pKTt2YXIgVj0oVy09ci5zcGFjZUJldHdlZW4pLW47dT11Lm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGU8MD8tdjplPlY/VittOmV9KSl9aWYoci5jZW50ZXJJbnN1ZmZpY2llbnRTbGlkZXMpe3ZhciBxPTA7aWYoaC5mb3JFYWNoKChmdW5jdGlvbihlKXtxKz1lKyhyLnNwYWNlQmV0d2Vlbj9yLnNwYWNlQmV0d2VlbjowKX0pKSwocS09ci5zcGFjZUJldHdlZW4pPG4pe3ZhciBGPShuLXEpLzI7dS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe3VbdF09ZS1GfSkpLGYuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXtmW3RdPWUrRn0pKX19aWYoT2JqZWN0LmFzc2lnbihlLHtzbGlkZXM6YyxzbmFwR3JpZDp1LHNsaWRlc0dyaWQ6ZixzbGlkZXNTaXplc0dyaWQ6aH0pLHIuY2VudGVyZWRTbGlkZXMmJnIuY3NzTW9kZSYmIXIuY2VudGVyZWRTbGlkZXNCb3VuZHMpe0QoZS53cmFwcGVyRWwsIi0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUiLCIiLmNvbmNhdCgtdVswXSwicHgiKSksRChlLndyYXBwZXJFbCwiLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyIiwiIi5jb25jYXQoZS5zaXplLzItaFtoLmxlbmd0aC0xXS8yLCJweCIpKTt2YXIgSj0tZS5zbmFwR3JpZFswXSxVPS1lLnNsaWRlc0dyaWRbMF07ZS5zbmFwR3JpZD1lLnNuYXBHcmlkLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUrSn0pKSxlLnNsaWRlc0dyaWQ9ZS5zbGlkZXNHcmlkLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUrVX0pKX1wIT09ZCYmZS5lbWl0KCJzbGlkZXNMZW5ndGhDaGFuZ2UiKSx1Lmxlbmd0aCE9PWcmJihlLnBhcmFtcy53YXRjaE92ZXJmbG93JiZlLmNoZWNrT3ZlcmZsb3coKSxlLmVtaXQoInNuYXBHcmlkTGVuZ3RoQ2hhbmdlIikpLGYubGVuZ3RoIT09dyYmZS5lbWl0KCJzbGlkZXNHcmlkTGVuZ3RoQ2hhbmdlIiksci53YXRjaFNsaWRlc1Byb2dyZXNzJiZlLnVwZGF0ZVNsaWRlc09mZnNldCgpfX0sdXBkYXRlQXV0b0hlaWdodDpmdW5jdGlvbihlKXt2YXIgdCxhPXRoaXMscj1bXSxpPWEudmlydHVhbCYmYS5wYXJhbXMudmlydHVhbC5lbmFibGVkLG49MDsibnVtYmVyIj09dHlwZW9mIGU/YS5zZXRUcmFuc2l0aW9uKGUpOiEwPT09ZSYmYS5zZXRUcmFuc2l0aW9uKGEucGFyYW1zLnNwZWVkKTt2YXIgcz1mdW5jdGlvbihlKXtyZXR1cm4gaT9hLnNsaWRlcy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBwYXJzZUludCh0LmdldEF0dHJpYnV0ZSgiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKSwxMCk9PT1lfSkpWzBdOmEuc2xpZGVzLmVxKGUpWzBdfTtpZigiYXV0byIhPT1hLnBhcmFtcy5zbGlkZXNQZXJWaWV3JiZhLnBhcmFtcy5zbGlkZXNQZXJWaWV3PjEpaWYoYS5wYXJhbXMuY2VudGVyZWRTbGlkZXMpYS52aXNpYmxlU2xpZGVzLmVhY2goKGZ1bmN0aW9uKGUpe3IucHVzaChlKX0pKTtlbHNlIGZvcih0PTA7dDxNYXRoLmNlaWwoYS5wYXJhbXMuc2xpZGVzUGVyVmlldyk7dCs9MSl7dmFyIG89YS5hY3RpdmVJbmRleCt0O2lmKG8+YS5zbGlkZXMubGVuZ3RoJiYhaSlicmVhaztyLnB1c2gocyhvKSl9ZWxzZSByLnB1c2gocyhhLmFjdGl2ZUluZGV4KSk7Zm9yKHQ9MDt0PHIubGVuZ3RoO3QrPTEpaWYodm9pZCAwIT09clt0XSl7dmFyIGw9clt0XS5vZmZzZXRIZWlnaHQ7bj1sPm4/bDpufW4mJmEuJHdyYXBwZXJFbC5jc3MoImhlaWdodCIsIiIuY29uY2F0KG4sInB4IikpfSx1cGRhdGVTbGlkZXNPZmZzZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5zbGlkZXMsdD0wO3Q8ZS5sZW5ndGg7dCs9MSllW3RdLnN3aXBlclNsaWRlT2Zmc2V0PXRoaXMuaXNIb3Jpem9udGFsKCk/ZVt0XS5vZmZzZXRMZWZ0OmVbdF0ub2Zmc2V0VG9wfSx1cGRhdGVTbGlkZXNQcm9ncmVzczpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp0aGlzJiZ0aGlzLnRyYW5zbGF0ZXx8MCx0PXRoaXMsYT10LnBhcmFtcyxyPXQuc2xpZGVzLGk9dC5ydGxUcmFuc2xhdGUsbj10LnNuYXBHcmlkO2lmKDAhPT1yLmxlbmd0aCl7dm9pZCAwPT09clswXS5zd2lwZXJTbGlkZU9mZnNldCYmdC51cGRhdGVTbGlkZXNPZmZzZXQoKTt2YXIgcz0tZTtpJiYocz1lKSxyLnJlbW92ZUNsYXNzKGEuc2xpZGVWaXNpYmxlQ2xhc3MpLHQudmlzaWJsZVNsaWRlc0luZGV4ZXM9W10sdC52aXNpYmxlU2xpZGVzPVtdO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bys9MSl7dmFyIGw9cltvXSxkPWwuc3dpcGVyU2xpZGVPZmZzZXQ7YS5jc3NNb2RlJiZhLmNlbnRlcmVkU2xpZGVzJiYoZC09clswXS5zd2lwZXJTbGlkZU9mZnNldCk7dmFyIGM9KHMrKGEuY2VudGVyZWRTbGlkZXM/dC5taW5UcmFuc2xhdGUoKTowKS1kKS8obC5zd2lwZXJTbGlkZVNpemUrYS5zcGFjZUJldHdlZW4pLHA9KHMtblswXSsoYS5jZW50ZXJlZFNsaWRlcz90Lm1pblRyYW5zbGF0ZSgpOjApLWQpLyhsLnN3aXBlclNsaWRlU2l6ZSthLnNwYWNlQmV0d2VlbiksdT0tKHMtZCksZj11K3Quc2xpZGVzU2l6ZXNHcmlkW29dLGg9dT49MCYmdTx0LnNpemUtMXx8Zj4xJiZmPD10LnNpemV8fHU8PTAmJmY+PXQuc2l6ZTtoJiYodC52aXNpYmxlU2xpZGVzLnB1c2gobCksdC52aXNpYmxlU2xpZGVzSW5kZXhlcy5wdXNoKG8pLHIuZXEobykuYWRkQ2xhc3MoYS5zbGlkZVZpc2libGVDbGFzcykpLGwucHJvZ3Jlc3M9aT8tYzpjLGwub3JpZ2luYWxQcm9ncmVzcz1pPy1wOnB9dC52aXNpYmxlU2xpZGVzPVQodC52aXNpYmxlU2xpZGVzKX19LHVwZGF0ZVByb2dyZXNzOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7aWYodm9pZCAwPT09ZSl7dmFyIGE9dC5ydGxUcmFuc2xhdGU/LTE6MTtlPXQmJnQudHJhbnNsYXRlJiZ0LnRyYW5zbGF0ZSphfHwwfXZhciByPXQucGFyYW1zLGk9dC5tYXhUcmFuc2xhdGUoKS10Lm1pblRyYW5zbGF0ZSgpLG49dC5wcm9ncmVzcyxzPXQuaXNCZWdpbm5pbmcsbz10LmlzRW5kLGw9cyxkPW87MD09PWk/KG49MCxzPSEwLG89ITApOihzPShuPShlLXQubWluVHJhbnNsYXRlKCkpL2kpPD0wLG89bj49MSksT2JqZWN0LmFzc2lnbih0LHtwcm9ncmVzczpuLGlzQmVnaW5uaW5nOnMsaXNFbmQ6b30pLChyLndhdGNoU2xpZGVzUHJvZ3Jlc3N8fHIuY2VudGVyZWRTbGlkZXMmJnIuYXV0b0hlaWdodCkmJnQudXBkYXRlU2xpZGVzUHJvZ3Jlc3MoZSkscyYmIWwmJnQuZW1pdCgicmVhY2hCZWdpbm5pbmcgdG9FZGdlIiksbyYmIWQmJnQuZW1pdCgicmVhY2hFbmQgdG9FZGdlIiksKGwmJiFzfHxkJiYhbykmJnQuZW1pdCgiZnJvbUVkZ2UiKSx0LmVtaXQoInByb2dyZXNzIixuKX0sdXBkYXRlU2xpZGVzQ2xhc3NlczpmdW5jdGlvbigpe3ZhciBlLHQ9dGhpcyxhPXQuc2xpZGVzLHI9dC5wYXJhbXMsaT10LiR3cmFwcGVyRWwsbj10LmFjdGl2ZUluZGV4LHM9dC5yZWFsSW5kZXgsbz10LnZpcnR1YWwmJnIudmlydHVhbC5lbmFibGVkO2EucmVtb3ZlQ2xhc3MoIiIuY29uY2F0KHIuc2xpZGVBY3RpdmVDbGFzcywiICIpLmNvbmNhdChyLnNsaWRlTmV4dENsYXNzLCIgIikuY29uY2F0KHIuc2xpZGVQcmV2Q2xhc3MsIiAiKS5jb25jYXQoci5zbGlkZUR1cGxpY2F0ZUFjdGl2ZUNsYXNzLCIgIikuY29uY2F0KHIuc2xpZGVEdXBsaWNhdGVOZXh0Q2xhc3MsIiAiKS5jb25jYXQoci5zbGlkZUR1cGxpY2F0ZVByZXZDbGFzcykpLChlPW8/dC4kd3JhcHBlckVsLmZpbmQoIi4iLmNvbmNhdChyLnNsaWRlQ2xhc3MsJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJykuY29uY2F0KG4sJyJdJykpOmEuZXEobikpLmFkZENsYXNzKHIuc2xpZGVBY3RpdmVDbGFzcyksci5sb29wJiYoZS5oYXNDbGFzcyhyLnNsaWRlRHVwbGljYXRlQ2xhc3MpP2kuY2hpbGRyZW4oIi4iLmNvbmNhdChyLnNsaWRlQ2xhc3MsIjpub3QoLiIpLmNvbmNhdChyLnNsaWRlRHVwbGljYXRlQ2xhc3MsJylbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicpLmNvbmNhdChzLCciXScpKS5hZGRDbGFzcyhyLnNsaWRlRHVwbGljYXRlQWN0aXZlQ2xhc3MpOmkuY2hpbGRyZW4oIi4iLmNvbmNhdChyLnNsaWRlQ2xhc3MsIi4iKS5jb25jYXQoci5zbGlkZUR1cGxpY2F0ZUNsYXNzLCdbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicpLmNvbmNhdChzLCciXScpKS5hZGRDbGFzcyhyLnNsaWRlRHVwbGljYXRlQWN0aXZlQ2xhc3MpKTt2YXIgbD1lLm5leHRBbGwoIi4iLmNvbmNhdChyLnNsaWRlQ2xhc3MpKS5lcSgwKS5hZGRDbGFzcyhyLnNsaWRlTmV4dENsYXNzKTtyLmxvb3AmJjA9PT1sLmxlbmd0aCYmKGw9YS5lcSgwKSkuYWRkQ2xhc3Moci5zbGlkZU5leHRDbGFzcyk7dmFyIGQ9ZS5wcmV2QWxsKCIuIi5jb25jYXQoci5zbGlkZUNsYXNzKSkuZXEoMCkuYWRkQ2xhc3Moci5zbGlkZVByZXZDbGFzcyk7ci5sb29wJiYwPT09ZC5sZW5ndGgmJihkPWEuZXEoLTEpKS5hZGRDbGFzcyhyLnNsaWRlUHJldkNsYXNzKSxyLmxvb3AmJihsLmhhc0NsYXNzKHIuc2xpZGVEdXBsaWNhdGVDbGFzcyk/aS5jaGlsZHJlbigiLiIuY29uY2F0KHIuc2xpZGVDbGFzcywiOm5vdCguIikuY29uY2F0KHIuc2xpZGVEdXBsaWNhdGVDbGFzcywnKVtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJykuY29uY2F0KGwuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKSwnIl0nKSkuYWRkQ2xhc3Moci5zbGlkZUR1cGxpY2F0ZU5leHRDbGFzcyk6aS5jaGlsZHJlbigiLiIuY29uY2F0KHIuc2xpZGVDbGFzcywiLiIpLmNvbmNhdChyLnNsaWRlRHVwbGljYXRlQ2xhc3MsJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJykuY29uY2F0KGwuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKSwnIl0nKSkuYWRkQ2xhc3Moci5zbGlkZUR1cGxpY2F0ZU5leHRDbGFzcyksZC5oYXNDbGFzcyhyLnNsaWRlRHVwbGljYXRlQ2xhc3MpP2kuY2hpbGRyZW4oIi4iLmNvbmNhdChyLnNsaWRlQ2xhc3MsIjpub3QoLiIpLmNvbmNhdChyLnNsaWRlRHVwbGljYXRlQ2xhc3MsJylbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicpLmNvbmNhdChkLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IiksJyJdJykpLmFkZENsYXNzKHIuc2xpZGVEdXBsaWNhdGVQcmV2Q2xhc3MpOmkuY2hpbGRyZW4oIi4iLmNvbmNhdChyLnNsaWRlQ2xhc3MsIi4iKS5jb25jYXQoci5zbGlkZUR1cGxpY2F0ZUNsYXNzLCdbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicpLmNvbmNhdChkLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IiksJyJdJykpLmFkZENsYXNzKHIuc2xpZGVEdXBsaWNhdGVQcmV2Q2xhc3MpKSx0LmVtaXRTbGlkZXNDbGFzc2VzKCl9LHVwZGF0ZUFjdGl2ZUluZGV4OmZ1bmN0aW9uKGUpe3ZhciB0LGE9dGhpcyxyPWEucnRsVHJhbnNsYXRlP2EudHJhbnNsYXRlOi1hLnRyYW5zbGF0ZSxpPWEuc2xpZGVzR3JpZCxuPWEuc25hcEdyaWQscz1hLnBhcmFtcyxvPWEuYWN0aXZlSW5kZXgsbD1hLnJlYWxJbmRleCxkPWEuc25hcEluZGV4LGM9ZTtpZih2b2lkIDA9PT1jKXtmb3IodmFyIHA9MDtwPGkubGVuZ3RoO3ArPTEpdm9pZCAwIT09aVtwKzFdP3I+PWlbcF0mJnI8aVtwKzFdLShpW3ArMV0taVtwXSkvMj9jPXA6cj49aVtwXSYmcjxpW3ArMV0mJihjPXArMSk6cj49aVtwXSYmKGM9cCk7cy5ub3JtYWxpemVTbGlkZUluZGV4JiYoYzwwfHx2b2lkIDA9PT1jKSYmKGM9MCl9aWYobi5pbmRleE9mKHIpPj0wKXQ9bi5pbmRleE9mKHIpO2Vsc2V7dmFyIHU9TWF0aC5taW4ocy5zbGlkZXNQZXJHcm91cFNraXAsYyk7dD11K01hdGguZmxvb3IoKGMtdSkvcy5zbGlkZXNQZXJHcm91cCl9aWYodD49bi5sZW5ndGgmJih0PW4ubGVuZ3RoLTEpLGMhPT1vKXt2YXIgZj1wYXJzZUludChhLnNsaWRlcy5lcShjKS5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpfHxjLDEwKTtPYmplY3QuYXNzaWduKGEse3NuYXBJbmRleDp0LHJlYWxJbmRleDpmLHByZXZpb3VzSW5kZXg6byxhY3RpdmVJbmRleDpjfSksYS5lbWl0KCJhY3RpdmVJbmRleENoYW5nZSIpLGEuZW1pdCgic25hcEluZGV4Q2hhbmdlIiksbCE9PWYmJmEuZW1pdCgicmVhbEluZGV4Q2hhbmdlIiksKGEuaW5pdGlhbGl6ZWR8fGEucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCkmJmEuZW1pdCgic2xpZGVDaGFuZ2UiKX1lbHNlIHQhPT1kJiYoYS5zbmFwSW5kZXg9dCxhLmVtaXQoInNuYXBJbmRleENoYW5nZSIpKX0sdXBkYXRlQ2xpY2tlZFNsaWRlOmZ1bmN0aW9uKGUpe3ZhciB0LGE9dGhpcyxyPWEucGFyYW1zLGk9VChlLnRhcmdldCkuY2xvc2VzdCgiLiIuY29uY2F0KHIuc2xpZGVDbGFzcykpWzBdLG49ITE7aWYoaSlmb3IodmFyIHM9MDtzPGEuc2xpZGVzLmxlbmd0aDtzKz0xKWlmKGEuc2xpZGVzW3NdPT09aSl7bj0hMCx0PXM7YnJlYWt9aWYoIWl8fCFuKXJldHVybiBhLmNsaWNrZWRTbGlkZT12b2lkIDAsdm9pZChhLmNsaWNrZWRJbmRleD12b2lkIDApO2EuY2xpY2tlZFNsaWRlPWksYS52aXJ0dWFsJiZhLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ/YS5jbGlja2VkSW5kZXg9cGFyc2VJbnQoVChpKS5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpLDEwKTphLmNsaWNrZWRJbmRleD10LHIuc2xpZGVUb0NsaWNrZWRTbGlkZSYmdm9pZCAwIT09YS5jbGlja2VkSW5kZXgmJmEuY2xpY2tlZEluZGV4IT09YS5hY3RpdmVJbmRleCYmYS5zbGlkZVRvQ2xpY2tlZFNsaWRlKCl9fTtmdW5jdGlvbiBWKGUsdCxhKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOmEsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPWEsZX12YXIgcT17Z2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnRoaXMuaXNIb3Jpem9udGFsKCk/IngiOiJ5Iix0PXRoaXMsYT10LnBhcmFtcyxyPXQucnRsVHJhbnNsYXRlLGk9dC50cmFuc2xhdGUsbj10LiR3cmFwcGVyRWw7aWYoYS52aXJ0dWFsVHJhbnNsYXRlKXJldHVybiByPy1pOmk7aWYoYS5jc3NNb2RlKXJldHVybiBpO3ZhciBzPU8oblswXSxlKTtyZXR1cm4gciYmKHM9LXMpLHN8fDB9LHNldFRyYW5zbGF0ZTpmdW5jdGlvbihlLHQpe3ZhciBhPXRoaXMscj1hLnJ0bFRyYW5zbGF0ZSxpPWEucGFyYW1zLG49YS4kd3JhcHBlckVsLHM9YS53cmFwcGVyRWwsbz1hLnByb2dyZXNzLGw9MCxkPTA7YS5pc0hvcml6b250YWwoKT9sPXI/LWU6ZTpkPWUsaS5yb3VuZExlbmd0aHMmJihsPU1hdGguZmxvb3IobCksZD1NYXRoLmZsb29yKGQpKSxpLmNzc01vZGU/c1thLmlzSG9yaXpvbnRhbCgpPyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIl09YS5pc0hvcml6b250YWwoKT8tbDotZDppLnZpcnR1YWxUcmFuc2xhdGV8fG4udHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgiLmNvbmNhdChsLCJweCwgIikuY29uY2F0KGQsInB4LCAiKS5jb25jYXQoMCwicHgpIikpLGEucHJldmlvdXNUcmFuc2xhdGU9YS50cmFuc2xhdGUsYS50cmFuc2xhdGU9YS5pc0hvcml6b250YWwoKT9sOmQ7dmFyIGM9YS5tYXhUcmFuc2xhdGUoKS1hLm1pblRyYW5zbGF0ZSgpOygwPT09Yz8wOihlLWEubWluVHJhbnNsYXRlKCkpL2MpIT09byYmYS51cGRhdGVQcm9ncmVzcyhlKSxhLmVtaXQoInNldFRyYW5zbGF0ZSIsYS50cmFuc2xhdGUsdCl9LG1pblRyYW5zbGF0ZTpmdW5jdGlvbigpe3JldHVybi10aGlzLnNuYXBHcmlkWzBdfSxtYXhUcmFuc2xhdGU6ZnVuY3Rpb24oKXtyZXR1cm4tdGhpcy5zbmFwR3JpZFt0aGlzLnNuYXBHcmlkLmxlbmd0aC0xXX0sdHJhbnNsYXRlVG86ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06MCx0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp0aGlzLnBhcmFtcy5zcGVlZCxhPSEoYXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0pfHxhcmd1bWVudHNbMl0scj0hKGFyZ3VtZW50cy5sZW5ndGg+MyYmdm9pZCAwIT09YXJndW1lbnRzWzNdKXx8YXJndW1lbnRzWzNdLGk9YXJndW1lbnRzLmxlbmd0aD40P2FyZ3VtZW50c1s0XTp2b2lkIDAsbj10aGlzLHM9bi5wYXJhbXMsbz1uLndyYXBwZXJFbDtpZihuLmFuaW1hdGluZyYmcy5wcmV2ZW50SW50ZXJhY3Rpb25PblRyYW5zaXRpb24pcmV0dXJuITE7dmFyIGwsZD1uLm1pblRyYW5zbGF0ZSgpLGM9bi5tYXhUcmFuc2xhdGUoKTtpZihsPXImJmU+ZD9kOnImJmU8Yz9jOmUsbi51cGRhdGVQcm9ncmVzcyhsKSxzLmNzc01vZGUpe3ZhciBwPW4uaXNIb3Jpem9udGFsKCk7aWYoMD09PXQpb1twPyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIl09LWw7ZWxzZXt2YXIgdTtpZighbi5zdXBwb3J0LnNtb290aFNjcm9sbClyZXR1cm4gaih7c3dpcGVyOm4sdGFyZ2V0UG9zaXRpb246LWwsc2lkZTpwPyJsZWZ0IjoidG9wIn0pLCEwO28uc2Nyb2xsVG8oKFYodT17fSxwPyJsZWZ0IjoidG9wIiwtbCksVih1LCJiZWhhdmlvciIsInNtb290aCIpLHUpKX1yZXR1cm4hMH1yZXR1cm4gMD09PXQ/KG4uc2V0VHJhbnNpdGlvbigwKSxuLnNldFRyYW5zbGF0ZShsKSxhJiYobi5lbWl0KCJiZWZvcmVUcmFuc2l0aW9uU3RhcnQiLHQsaSksbi5lbWl0KCJ0cmFuc2l0aW9uRW5kIikpKToobi5zZXRUcmFuc2l0aW9uKHQpLG4uc2V0VHJhbnNsYXRlKGwpLGEmJihuLmVtaXQoImJlZm9yZVRyYW5zaXRpb25TdGFydCIsdCxpKSxuLmVtaXQoInRyYW5zaXRpb25TdGFydCIpKSxuLmFuaW1hdGluZ3x8KG4uYW5pbWF0aW5nPSEwLG4ub25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kfHwobi5vblRyYW5zbGF0ZVRvV3JhcHBlclRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oZSl7biYmIW4uZGVzdHJveWVkJiZlLnRhcmdldD09PXRoaXMmJihuLiR3cmFwcGVyRWxbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsbi5vblRyYW5zbGF0ZVRvV3JhcHBlclRyYW5zaXRpb25FbmQpLG4uJHdyYXBwZXJFbFswXS5yZW1vdmVFdmVudExpc3RlbmVyKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIixuLm9uVHJhbnNsYXRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCksbi5vblRyYW5zbGF0ZVRvV3JhcHBlclRyYW5zaXRpb25FbmQ9bnVsbCxkZWxldGUgbi5vblRyYW5zbGF0ZVRvV3JhcHBlclRyYW5zaXRpb25FbmQsYSYmbi5lbWl0KCJ0cmFuc2l0aW9uRW5kIikpfSksbi4kd3JhcHBlckVsWzBdLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLG4ub25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kKSxuLiR3cmFwcGVyRWxbMF0uYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0VHJhbnNpdGlvbkVuZCIsbi5vblRyYW5zbGF0ZVRvV3JhcHBlclRyYW5zaXRpb25FbmQpKSksITB9fTtmdW5jdGlvbiBGKGUpe3ZhciB0PWUuc3dpcGVyLGE9ZS5ydW5DYWxsYmFja3Mscj1lLmRpcmVjdGlvbixpPWUuc3RlcCxuPXQuYWN0aXZlSW5kZXgscz10LnByZXZpb3VzSW5kZXgsbz1yO2lmKG98fChvPW4+cz8ibmV4dCI6bjxzPyJwcmV2IjoicmVzZXQiKSx0LmVtaXQoInRyYW5zaXRpb24iLmNvbmNhdChpKSksYSYmbiE9PXMpe2lmKCJyZXNldCI9PT1vKXJldHVybiB2b2lkIHQuZW1pdCgic2xpZGVSZXNldFRyYW5zaXRpb24iLmNvbmNhdChpKSk7dC5lbWl0KCJzbGlkZUNoYW5nZVRyYW5zaXRpb24iLmNvbmNhdChpKSksIm5leHQiPT09bz90LmVtaXQoInNsaWRlTmV4dFRyYW5zaXRpb24iLmNvbmNhdChpKSk6dC5lbWl0KCJzbGlkZVByZXZUcmFuc2l0aW9uIi5jb25jYXQoaSkpfX12YXIgSj17c2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlLHQpe3ZhciBhPXRoaXM7YS5wYXJhbXMuY3NzTW9kZXx8YS4kd3JhcHBlckVsLnRyYW5zaXRpb24oZSksYS5lbWl0KCJzZXRUcmFuc2l0aW9uIixlLHQpfSx0cmFuc2l0aW9uU3RhcnQ6ZnVuY3Rpb24oKXt2YXIgZT0hKGFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdKXx8YXJndW1lbnRzWzBdLHQ9YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsYT10aGlzLHI9YS5wYXJhbXM7ci5jc3NNb2RlfHwoci5hdXRvSGVpZ2h0JiZhLnVwZGF0ZUF1dG9IZWlnaHQoKSxGKHtzd2lwZXI6YSxydW5DYWxsYmFja3M6ZSxkaXJlY3Rpb246dCxzdGVwOiJTdGFydCJ9KSl9LHRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oKXt2YXIgZT0hKGFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdKXx8YXJndW1lbnRzWzBdLHQ9YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsYT10aGlzLHI9YS5wYXJhbXM7YS5hbmltYXRpbmc9ITEsci5jc3NNb2RlfHwoYS5zZXRUcmFuc2l0aW9uKDApLEYoe3N3aXBlcjphLHJ1bkNhbGxiYWNrczplLGRpcmVjdGlvbjp0LHN0ZXA6IkVuZCJ9KSl9fTtmdW5jdGlvbiBVKGUsdCxhKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOmEsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPWEsZX1mdW5jdGlvbiBLKGUpe3JldHVybiBLPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxLKGUpfXZhciBaPXtzbGlkZVRvOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjAsdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06dGhpcy5wYXJhbXMuc3BlZWQsYT0hKGFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdKXx8YXJndW1lbnRzWzJdLHI9YXJndW1lbnRzLmxlbmd0aD4zP2FyZ3VtZW50c1szXTp2b2lkIDAsaT1hcmd1bWVudHMubGVuZ3RoPjQ/YXJndW1lbnRzWzRdOnZvaWQgMDtpZigibnVtYmVyIiE9dHlwZW9mIGUmJiJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIlRoZSAnaW5kZXgnIGFyZ3VtZW50IGNhbm5vdCBoYXZlIHR5cGUgb3RoZXIgdGhhbiAnbnVtYmVyJyBvciAnc3RyaW5nJy4gWyIuY29uY2F0KEsoZSksIl0gZ2l2ZW4uIikpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7dmFyIG49cGFyc2VJbnQoZSwxMCkscz1pc0Zpbml0ZShuKTtpZighcyl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXNzZWQtaW4gJ2luZGV4JyAoc3RyaW5nKSBjb3VsZG4ndCBiZSBjb252ZXJ0ZWQgdG8gJ251bWJlcicuIFsiLmNvbmNhdChlLCJdIGdpdmVuLiIpKTtlPW59dmFyIG89dGhpcyxsPWU7bDwwJiYobD0wKTt2YXIgZD1vLnBhcmFtcyxjPW8uc25hcEdyaWQscD1vLnNsaWRlc0dyaWQsdT1vLnByZXZpb3VzSW5kZXgsZj1vLmFjdGl2ZUluZGV4LGg9by5ydGxUcmFuc2xhdGUsdj1vLndyYXBwZXJFbCxtPW8uZW5hYmxlZDtpZihvLmFuaW1hdGluZyYmZC5wcmV2ZW50SW50ZXJhY3Rpb25PblRyYW5zaXRpb258fCFtJiYhciYmIWkpcmV0dXJuITE7dmFyIGc9TWF0aC5taW4oby5wYXJhbXMuc2xpZGVzUGVyR3JvdXBTa2lwLGwpLHc9ZytNYXRoLmZsb29yKChsLWcpL28ucGFyYW1zLnNsaWRlc1Blckdyb3VwKTt3Pj1jLmxlbmd0aCYmKHc9Yy5sZW5ndGgtMSksKGZ8fGQuaW5pdGlhbFNsaWRlfHwwKT09PSh1fHwwKSYmYSYmby5lbWl0KCJiZWZvcmVTbGlkZUNoYW5nZVN0YXJ0Iik7dmFyIGIseT0tY1t3XTtpZihvLnVwZGF0ZVByb2dyZXNzKHkpLGQubm9ybWFsaXplU2xpZGVJbmRleClmb3IodmFyIHg9MDt4PHAubGVuZ3RoO3grPTEpe3ZhciBFPS1NYXRoLmZsb29yKDEwMCp5KSxTPU1hdGguZmxvb3IoMTAwKnBbeF0pLFQ9TWF0aC5mbG9vcigxMDAqcFt4KzFdKTt2b2lkIDAhPT1wW3grMV0/RT49UyYmRTxULShULVMpLzI/bD14OkU+PVMmJkU8VCYmKGw9eCsxKTpFPj1TJiYobD14KX1pZihvLmluaXRpYWxpemVkJiZsIT09Zil7aWYoIW8uYWxsb3dTbGlkZU5leHQmJnk8by50cmFuc2xhdGUmJnk8by5taW5UcmFuc2xhdGUoKSlyZXR1cm4hMTtpZighby5hbGxvd1NsaWRlUHJldiYmeT5vLnRyYW5zbGF0ZSYmeT5vLm1heFRyYW5zbGF0ZSgpJiYoZnx8MCkhPT1sKXJldHVybiExfWlmKGI9bD5mPyJuZXh0IjpsPGY/InByZXYiOiJyZXNldCIsaCYmLXk9PT1vLnRyYW5zbGF0ZXx8IWgmJnk9PT1vLnRyYW5zbGF0ZSlyZXR1cm4gby51cGRhdGVBY3RpdmVJbmRleChsKSxkLmF1dG9IZWlnaHQmJm8udXBkYXRlQXV0b0hlaWdodCgpLG8udXBkYXRlU2xpZGVzQ2xhc3NlcygpLCJzbGlkZSIhPT1kLmVmZmVjdCYmby5zZXRUcmFuc2xhdGUoeSksInJlc2V0IiE9PWImJihvLnRyYW5zaXRpb25TdGFydChhLGIpLG8udHJhbnNpdGlvbkVuZChhLGIpKSwhMTtpZihkLmNzc01vZGUpe3ZhciBDPW8uaXNIb3Jpem9udGFsKCksTT1oP3k6LXk7aWYoMD09PXQpe3ZhciBQPW8udmlydHVhbCYmby5wYXJhbXMudmlydHVhbC5lbmFibGVkO1AmJihvLndyYXBwZXJFbC5zdHlsZS5zY3JvbGxTbmFwVHlwZT0ibm9uZSIsby5faW1tZWRpYXRlVmlydHVhbD0hMCksdltDPyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIl09TSxQJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7by53cmFwcGVyRWwuc3R5bGUuc2Nyb2xsU25hcFR5cGU9IiIsby5fc3dpcGVySW1tZWRpYXRlVmlydHVhbD0hMX0pKX1lbHNle3ZhciBrO2lmKCFvLnN1cHBvcnQuc21vb3RoU2Nyb2xsKXJldHVybiBqKHtzd2lwZXI6byx0YXJnZXRQb3NpdGlvbjpNLHNpZGU6Qz8ibGVmdCI6InRvcCJ9KSwhMDt2LnNjcm9sbFRvKChVKGs9e30sQz8ibGVmdCI6InRvcCIsTSksVShrLCJiZWhhdmlvciIsInNtb290aCIpLGspKX1yZXR1cm4hMH1yZXR1cm4gMD09PXQ/KG8uc2V0VHJhbnNpdGlvbigwKSxvLnNldFRyYW5zbGF0ZSh5KSxvLnVwZGF0ZUFjdGl2ZUluZGV4KGwpLG8udXBkYXRlU2xpZGVzQ2xhc3NlcygpLG8uZW1pdCgiYmVmb3JlVHJhbnNpdGlvblN0YXJ0Iix0LHIpLG8udHJhbnNpdGlvblN0YXJ0KGEsYiksby50cmFuc2l0aW9uRW5kKGEsYikpOihvLnNldFRyYW5zaXRpb24odCksby5zZXRUcmFuc2xhdGUoeSksby51cGRhdGVBY3RpdmVJbmRleChsKSxvLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSxvLmVtaXQoImJlZm9yZVRyYW5zaXRpb25TdGFydCIsdCxyKSxvLnRyYW5zaXRpb25TdGFydChhLGIpLG8uYW5pbWF0aW5nfHwoby5hbmltYXRpbmc9ITAsby5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZHx8KG8ub25TbGlkZVRvV3JhcHBlclRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oZSl7byYmIW8uZGVzdHJveWVkJiZlLnRhcmdldD09PXRoaXMmJihvLiR3cmFwcGVyRWxbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsby5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCksby4kd3JhcHBlckVsWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLG8ub25TbGlkZVRvV3JhcHBlclRyYW5zaXRpb25FbmQpLG8ub25TbGlkZVRvV3JhcHBlclRyYW5zaXRpb25FbmQ9bnVsbCxkZWxldGUgby5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCxvLnRyYW5zaXRpb25FbmQoYSxiKSl9KSxvLiR3cmFwcGVyRWxbMF0uYWRkRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsby5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCksby4kd3JhcHBlckVsWzBdLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLG8ub25TbGlkZVRvV3JhcHBlclRyYW5zaXRpb25FbmQpKSksITB9LHNsaWRlVG9Mb29wOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjAsdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06dGhpcy5wYXJhbXMuc3BlZWQsYT0hKGFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdKXx8YXJndW1lbnRzWzJdLHI9YXJndW1lbnRzLmxlbmd0aD4zP2FyZ3VtZW50c1szXTp2b2lkIDAsaT10aGlzLG49ZTtyZXR1cm4gaS5wYXJhbXMubG9vcCYmKG4rPWkubG9vcGVkU2xpZGVzKSxpLnNsaWRlVG8obix0LGEscil9LHNsaWRlTmV4dDpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp0aGlzLnBhcmFtcy5zcGVlZCx0PSEoYXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0pfHxhcmd1bWVudHNbMV0sYT1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCxyPXRoaXMsaT1yLmFuaW1hdGluZyxuPXIuZW5hYmxlZCxzPXIucGFyYW1zO2lmKCFuKXJldHVybiByO3ZhciBvPXMuc2xpZGVzUGVyR3JvdXA7ImF1dG8iPT09cy5zbGlkZXNQZXJWaWV3JiYxPT09cy5zbGlkZXNQZXJHcm91cCYmcy5zbGlkZXNQZXJHcm91cEF1dG8mJihvPU1hdGgubWF4KHIuc2xpZGVzUGVyVmlld0R5bmFtaWMoImN1cnJlbnQiLCEwKSwxKSk7dmFyIGw9ci5hY3RpdmVJbmRleDxzLnNsaWRlc1Blckdyb3VwU2tpcD8xOm87aWYocy5sb29wKXtpZihpJiZzLmxvb3BQcmV2ZW50c1NsaWRlKXJldHVybiExO3IubG9vcEZpeCgpLHIuX2NsaWVudExlZnQ9ci4kd3JhcHBlckVsWzBdLmNsaWVudExlZnR9cmV0dXJuIHIuc2xpZGVUbyhyLmFjdGl2ZUluZGV4K2wsZSx0LGEpfSxzbGlkZVByZXY6ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06dGhpcy5wYXJhbXMuc3BlZWQsdD0hKGFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdKXx8YXJndW1lbnRzWzFdLGE9YXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDAscj10aGlzLGk9ci5wYXJhbXMsbj1yLmFuaW1hdGluZyxzPXIuc25hcEdyaWQsbz1yLnNsaWRlc0dyaWQsbD1yLnJ0bFRyYW5zbGF0ZSxkPXIuZW5hYmxlZDtpZighZClyZXR1cm4gcjtpZihpLmxvb3Ape2lmKG4mJmkubG9vcFByZXZlbnRzU2xpZGUpcmV0dXJuITE7ci5sb29wRml4KCksci5fY2xpZW50TGVmdD1yLiR3cmFwcGVyRWxbMF0uY2xpZW50TGVmdH12YXIgYz1sP3IudHJhbnNsYXRlOi1yLnRyYW5zbGF0ZTtmdW5jdGlvbiBwKGUpe3JldHVybiBlPDA/LU1hdGguZmxvb3IoTWF0aC5hYnMoZSkpOk1hdGguZmxvb3IoZSl9dmFyIHUsZj1wKGMpLGg9cy5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBwKGUpfSkpLHY9c1toLmluZGV4T2YoZiktMV07dm9pZCAwPT09diYmaS5jc3NNb2RlJiYocy5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2Y+PWUmJih1PXQpfSkpLHZvaWQgMCE9PXUmJih2PXNbdT4wP3UtMTp1XSkpO3ZhciBtPTA7cmV0dXJuIHZvaWQgMCE9PXYmJigobT1vLmluZGV4T2YodikpPDAmJihtPXIuYWN0aXZlSW5kZXgtMSksImF1dG8iPT09aS5zbGlkZXNQZXJWaWV3JiYxPT09aS5zbGlkZXNQZXJHcm91cCYmaS5zbGlkZXNQZXJHcm91cEF1dG8mJihtPW0tci5zbGlkZXNQZXJWaWV3RHluYW1pYygicHJldmlvdXMiLCEwKSsxLG09TWF0aC5tYXgobSwwKSkpLHIuc2xpZGVUbyhtLGUsdCxhKX0sc2xpZGVSZXNldDpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp0aGlzLnBhcmFtcy5zcGVlZCx0PSEoYXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0pfHxhcmd1bWVudHNbMV0sYT1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCxyPXRoaXM7cmV0dXJuIHIuc2xpZGVUbyhyLmFjdGl2ZUluZGV4LGUsdCxhKX0sc2xpZGVUb0Nsb3Nlc3Q6ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06dGhpcy5wYXJhbXMuc3BlZWQsdD0hKGFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdKXx8YXJndW1lbnRzWzFdLGE9YXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDAscj1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106LjUsaT10aGlzLG49aS5hY3RpdmVJbmRleCxzPU1hdGgubWluKGkucGFyYW1zLnNsaWRlc1Blckdyb3VwU2tpcCxuKSxvPXMrTWF0aC5mbG9vcigobi1zKS9pLnBhcmFtcy5zbGlkZXNQZXJHcm91cCksbD1pLnJ0bFRyYW5zbGF0ZT9pLnRyYW5zbGF0ZTotaS50cmFuc2xhdGU7aWYobD49aS5zbmFwR3JpZFtvXSl7dmFyIGQ9aS5zbmFwR3JpZFtvXSxjPWkuc25hcEdyaWRbbysxXTtsLWQ+KGMtZCkqciYmKG4rPWkucGFyYW1zLnNsaWRlc1Blckdyb3VwKX1lbHNle3ZhciBwPWkuc25hcEdyaWRbby0xXSx1PWkuc25hcEdyaWRbb107bC1wPD0odS1wKSpyJiYobi09aS5wYXJhbXMuc2xpZGVzUGVyR3JvdXApfXJldHVybiBuPU1hdGgubWF4KG4sMCksbj1NYXRoLm1pbihuLGkuc2xpZGVzR3JpZC5sZW5ndGgtMSksaS5zbGlkZVRvKG4sZSx0LGEpfSxzbGlkZVRvQ2xpY2tlZFNsaWRlOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLGE9dC5wYXJhbXMscj10LiR3cmFwcGVyRWwsaT0iYXV0byI9PT1hLnNsaWRlc1BlclZpZXc/dC5zbGlkZXNQZXJWaWV3RHluYW1pYygpOmEuc2xpZGVzUGVyVmlldyxuPXQuY2xpY2tlZEluZGV4O2lmKGEubG9vcCl7aWYodC5hbmltYXRpbmcpcmV0dXJuO2U9cGFyc2VJbnQoVCh0LmNsaWNrZWRTbGlkZSkuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKSwxMCksYS5jZW50ZXJlZFNsaWRlcz9uPHQubG9vcGVkU2xpZGVzLWkvMnx8bj50LnNsaWRlcy5sZW5ndGgtdC5sb29wZWRTbGlkZXMraS8yPyh0Lmxvb3BGaXgoKSxuPXIuY2hpbGRyZW4oIi4iLmNvbmNhdChhLnNsaWRlQ2xhc3MsJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJykuY29uY2F0KGUsJyJdOm5vdCguJykuY29uY2F0KGEuc2xpZGVEdXBsaWNhdGVDbGFzcywiKSIpKS5lcSgwKS5pbmRleCgpLGsoKGZ1bmN0aW9uKCl7dC5zbGlkZVRvKG4pfSkpKTp0LnNsaWRlVG8obik6bj50LnNsaWRlcy5sZW5ndGgtaT8odC5sb29wRml4KCksbj1yLmNoaWxkcmVuKCIuIi5jb25jYXQoYS5zbGlkZUNsYXNzLCdbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicpLmNvbmNhdChlLCciXTpub3QoLicpLmNvbmNhdChhLnNsaWRlRHVwbGljYXRlQ2xhc3MsIikiKSkuZXEoMCkuaW5kZXgoKSxrKChmdW5jdGlvbigpe3Quc2xpZGVUbyhuKX0pKSk6dC5zbGlkZVRvKG4pfWVsc2UgdC5zbGlkZVRvKG4pfX07dmFyIFE9e2xvb3BDcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9KDAsci5NZSkoKSxhPWUucGFyYW1zLGk9ZS4kd3JhcHBlckVsLG49VChpLmNoaWxkcmVuKClbMF0ucGFyZW50Tm9kZSk7bi5jaGlsZHJlbigiLiIuY29uY2F0KGEuc2xpZGVDbGFzcywiLiIpLmNvbmNhdChhLnNsaWRlRHVwbGljYXRlQ2xhc3MpKS5yZW1vdmUoKTt2YXIgcz1uLmNoaWxkcmVuKCIuIi5jb25jYXQoYS5zbGlkZUNsYXNzKSk7aWYoYS5sb29wRmlsbEdyb3VwV2l0aEJsYW5rKXt2YXIgbz1hLnNsaWRlc1Blckdyb3VwLXMubGVuZ3RoJWEuc2xpZGVzUGVyR3JvdXA7aWYobyE9PWEuc2xpZGVzUGVyR3JvdXApe2Zvcih2YXIgbD0wO2w8bztsKz0xKXt2YXIgZD1UKHQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmFkZENsYXNzKCIiLmNvbmNhdChhLnNsaWRlQ2xhc3MsIiAiKS5jb25jYXQoYS5zbGlkZUJsYW5rQ2xhc3MpKTtuLmFwcGVuZChkKX1zPW4uY2hpbGRyZW4oIi4iLmNvbmNhdChhLnNsaWRlQ2xhc3MpKX19ImF1dG8iIT09YS5zbGlkZXNQZXJWaWV3fHxhLmxvb3BlZFNsaWRlc3x8KGEubG9vcGVkU2xpZGVzPXMubGVuZ3RoKSxlLmxvb3BlZFNsaWRlcz1NYXRoLmNlaWwocGFyc2VGbG9hdChhLmxvb3BlZFNsaWRlc3x8YS5zbGlkZXNQZXJWaWV3LDEwKSksZS5sb29wZWRTbGlkZXMrPWEubG9vcEFkZGl0aW9uYWxTbGlkZXMsZS5sb29wZWRTbGlkZXM+cy5sZW5ndGgmJihlLmxvb3BlZFNsaWRlcz1zLmxlbmd0aCk7dmFyIGM9W10scD1bXTtzLmVhY2goKGZ1bmN0aW9uKHQsYSl7dmFyIHI9VCh0KTthPGUubG9vcGVkU2xpZGVzJiZwLnB1c2godCksYTxzLmxlbmd0aCYmYT49cy5sZW5ndGgtZS5sb29wZWRTbGlkZXMmJmMucHVzaCh0KSxyLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IixhKX0pKTtmb3IodmFyIHU9MDt1PHAubGVuZ3RoO3UrPTEpbi5hcHBlbmQoVChwW3VdLmNsb25lTm9kZSghMCkpLmFkZENsYXNzKGEuc2xpZGVEdXBsaWNhdGVDbGFzcykpO2Zvcih2YXIgZj1jLmxlbmd0aC0xO2Y+PTA7Zi09MSluLnByZXBlbmQoVChjW2ZdLmNsb25lTm9kZSghMCkpLmFkZENsYXNzKGEuc2xpZGVEdXBsaWNhdGVDbGFzcykpfSxsb29wRml4OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLmVtaXQoImJlZm9yZUxvb3BGaXgiKTt2YXIgdCxhPWUuYWN0aXZlSW5kZXgscj1lLnNsaWRlcyxpPWUubG9vcGVkU2xpZGVzLG49ZS5hbGxvd1NsaWRlUHJldixzPWUuYWxsb3dTbGlkZU5leHQsbz1lLnNuYXBHcmlkLGw9ZS5ydGxUcmFuc2xhdGU7ZS5hbGxvd1NsaWRlUHJldj0hMCxlLmFsbG93U2xpZGVOZXh0PSEwO3ZhciBkPS1vW2FdLWUuZ2V0VHJhbnNsYXRlKCk7aWYoYTxpKXQ9ci5sZW5ndGgtMyppK2EsdCs9aSxlLnNsaWRlVG8odCwwLCExLCEwKSYmMCE9PWQmJmUuc2V0VHJhbnNsYXRlKChsPy1lLnRyYW5zbGF0ZTplLnRyYW5zbGF0ZSktZCk7ZWxzZSBpZihhPj1yLmxlbmd0aC1pKXt0PS1yLmxlbmd0aCthK2ksdCs9aSxlLnNsaWRlVG8odCwwLCExLCEwKSYmMCE9PWQmJmUuc2V0VHJhbnNsYXRlKChsPy1lLnRyYW5zbGF0ZTplLnRyYW5zbGF0ZSktZCl9ZS5hbGxvd1NsaWRlUHJldj1uLGUuYWxsb3dTbGlkZU5leHQ9cyxlLmVtaXQoImxvb3BGaXgiKX0sbG9vcERlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS4kd3JhcHBlckVsLGE9ZS5wYXJhbXMscj1lLnNsaWRlczt0LmNoaWxkcmVuKCIuIi5jb25jYXQoYS5zbGlkZUNsYXNzLCIuIikuY29uY2F0KGEuc2xpZGVEdXBsaWNhdGVDbGFzcywiLC4iKS5jb25jYXQoYS5zbGlkZUNsYXNzLCIuIikuY29uY2F0KGEuc2xpZGVCbGFua0NsYXNzKSkucmVtb3ZlKCksci5yZW1vdmVBdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpfX07ZnVuY3Rpb24gZWUoZSl7dmFyIHQ9dGhpcyxhPSgwLHIuTWUpKCksaT0oMCxyLkpqKSgpLG49dC50b3VjaEV2ZW50c0RhdGEscz10LnBhcmFtcyxvPXQudG91Y2hlcztpZih0LmVuYWJsZWQmJighdC5hbmltYXRpbmd8fCFzLnByZXZlbnRJbnRlcmFjdGlvbk9uVHJhbnNpdGlvbikpeyF0LmFuaW1hdGluZyYmcy5jc3NNb2RlJiZzLmxvb3AmJnQubG9vcEZpeCgpO3ZhciBsPWU7bC5vcmlnaW5hbEV2ZW50JiYobD1sLm9yaWdpbmFsRXZlbnQpO3ZhciBkPVQobC50YXJnZXQpO2lmKCgid3JhcHBlciIhPT1zLnRvdWNoRXZlbnRzVGFyZ2V0fHxkLmNsb3Nlc3QodC53cmFwcGVyRWwpLmxlbmd0aCkmJihuLmlzVG91Y2hFdmVudD0idG91Y2hzdGFydCI9PT1sLnR5cGUsKG4uaXNUb3VjaEV2ZW50fHwhKCJ3aGljaCJpbiBsKXx8MyE9PWwud2hpY2gpJiYhKCFuLmlzVG91Y2hFdmVudCYmImJ1dHRvbiJpbiBsJiZsLmJ1dHRvbj4wfHxuLmlzVG91Y2hlZCYmbi5pc01vdmVkKSkpeyEhcy5ub1N3aXBpbmdDbGFzcyYmIiIhPT1zLm5vU3dpcGluZ0NsYXNzJiZsLnRhcmdldCYmbC50YXJnZXQuc2hhZG93Um9vdCYmZS5wYXRoJiZlLnBhdGhbMF0mJihkPVQoZS5wYXRoWzBdKSk7dmFyIGM9cy5ub1N3aXBpbmdTZWxlY3Rvcj9zLm5vU3dpcGluZ1NlbGVjdG9yOiIuIi5jb25jYXQocy5ub1N3aXBpbmdDbGFzcykscD0hKCFsLnRhcmdldHx8IWwudGFyZ2V0LnNoYWRvd1Jvb3QpO2lmKHMubm9Td2lwaW5nJiYocD9mdW5jdGlvbihlKXtmdW5jdGlvbiB0KGEpe3JldHVybiBhJiZhIT09KDAsci5NZSkoKSYmYSE9PSgwLHIuSmopKCk/KGEuYXNzaWduZWRTbG90JiYoYT1hLmFzc2lnbmVkU2xvdCksYS5jbG9zZXN0KGUpfHx0KGEuZ2V0Um9vdE5vZGUoKS5ob3N0KSk6bnVsbH1yZXR1cm4gdChhcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06dGhpcyl9KGMsbC50YXJnZXQpOmQuY2xvc2VzdChjKVswXSkpdC5hbGxvd0NsaWNrPSEwO2Vsc2UgaWYoIXMuc3dpcGVIYW5kbGVyfHxkLmNsb3Nlc3Qocy5zd2lwZUhhbmRsZXIpWzBdKXtvLmN1cnJlbnRYPSJ0b3VjaHN0YXJ0Ij09PWwudHlwZT9sLnRhcmdldFRvdWNoZXNbMF0ucGFnZVg6bC5wYWdlWCxvLmN1cnJlbnRZPSJ0b3VjaHN0YXJ0Ij09PWwudHlwZT9sLnRhcmdldFRvdWNoZXNbMF0ucGFnZVk6bC5wYWdlWTt2YXIgdT1vLmN1cnJlbnRYLGY9by5jdXJyZW50WSxoPXMuZWRnZVN3aXBlRGV0ZWN0aW9ufHxzLmlPU0VkZ2VTd2lwZURldGVjdGlvbix2PXMuZWRnZVN3aXBlVGhyZXNob2xkfHxzLmlPU0VkZ2VTd2lwZVRocmVzaG9sZDtpZihoJiYodTw9dnx8dT49aS5pbm5lcldpZHRoLXYpKXtpZigicHJldmVudCIhPT1oKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCl9aWYoT2JqZWN0LmFzc2lnbihuLHtpc1RvdWNoZWQ6ITAsaXNNb3ZlZDohMSxhbGxvd1RvdWNoQ2FsbGJhY2tzOiEwLGlzU2Nyb2xsaW5nOnZvaWQgMCxzdGFydE1vdmluZzp2b2lkIDB9KSxvLnN0YXJ0WD11LG8uc3RhcnRZPWYsbi50b3VjaFN0YXJ0VGltZT0kKCksdC5hbGxvd0NsaWNrPSEwLHQudXBkYXRlU2l6ZSgpLHQuc3dpcGVEaXJlY3Rpb249dm9pZCAwLHMudGhyZXNob2xkPjAmJihuLmFsbG93VGhyZXNob2xkTW92ZT0hMSksInRvdWNoc3RhcnQiIT09bC50eXBlKXt2YXIgbT0hMDtkLmlzKG4uZm9jdXNhYmxlRWxlbWVudHMpJiYobT0hMSksYS5hY3RpdmVFbGVtZW50JiZUKGEuYWN0aXZlRWxlbWVudCkuaXMobi5mb2N1c2FibGVFbGVtZW50cykmJmEuYWN0aXZlRWxlbWVudCE9PWRbMF0mJmEuYWN0aXZlRWxlbWVudC5ibHVyKCk7dmFyIGc9bSYmdC5hbGxvd1RvdWNoTW92ZSYmcy50b3VjaFN0YXJ0UHJldmVudERlZmF1bHQ7IXMudG91Y2hTdGFydEZvcmNlUHJldmVudERlZmF1bHQmJiFnfHxkWzBdLmlzQ29udGVudEVkaXRhYmxlfHxsLnByZXZlbnREZWZhdWx0KCl9dC5lbWl0KCJ0b3VjaFN0YXJ0IixsKX19fX1mdW5jdGlvbiB0ZShlKXt2YXIgdD0oMCxyLk1lKSgpLGE9dGhpcyxpPWEudG91Y2hFdmVudHNEYXRhLG49YS5wYXJhbXMscz1hLnRvdWNoZXMsbz1hLnJ0bFRyYW5zbGF0ZTtpZihhLmVuYWJsZWQpe3ZhciBsPWU7aWYobC5vcmlnaW5hbEV2ZW50JiYobD1sLm9yaWdpbmFsRXZlbnQpLGkuaXNUb3VjaGVkKXtpZighaS5pc1RvdWNoRXZlbnR8fCJ0b3VjaG1vdmUiPT09bC50eXBlKXt2YXIgZD0idG91Y2htb3ZlIj09PWwudHlwZSYmbC50YXJnZXRUb3VjaGVzJiYobC50YXJnZXRUb3VjaGVzWzBdfHxsLmNoYW5nZWRUb3VjaGVzWzBdKSxjPSJ0b3VjaG1vdmUiPT09bC50eXBlP2QucGFnZVg6bC5wYWdlWCxwPSJ0b3VjaG1vdmUiPT09bC50eXBlP2QucGFnZVk6bC5wYWdlWTtpZihsLnByZXZlbnRlZEJ5TmVzdGVkU3dpcGVyKXJldHVybiBzLnN0YXJ0WD1jLHZvaWQocy5zdGFydFk9cCk7aWYoIWEuYWxsb3dUb3VjaE1vdmUpcmV0dXJuIGEuYWxsb3dDbGljaz0hMSx2b2lkKGkuaXNUb3VjaGVkJiYoT2JqZWN0LmFzc2lnbihzLHtzdGFydFg6YyxzdGFydFk6cCxjdXJyZW50WDpjLGN1cnJlbnRZOnB9KSxpLnRvdWNoU3RhcnRUaW1lPSQoKSkpO2lmKGkuaXNUb3VjaEV2ZW50JiZuLnRvdWNoUmVsZWFzZU9uRWRnZXMmJiFuLmxvb3ApaWYoYS5pc1ZlcnRpY2FsKCkpe2lmKHA8cy5zdGFydFkmJmEudHJhbnNsYXRlPD1hLm1heFRyYW5zbGF0ZSgpfHxwPnMuc3RhcnRZJiZhLnRyYW5zbGF0ZT49YS5taW5UcmFuc2xhdGUoKSlyZXR1cm4gaS5pc1RvdWNoZWQ9ITEsdm9pZChpLmlzTW92ZWQ9ITEpfWVsc2UgaWYoYzxzLnN0YXJ0WCYmYS50cmFuc2xhdGU8PWEubWF4VHJhbnNsYXRlKCl8fGM+cy5zdGFydFgmJmEudHJhbnNsYXRlPj1hLm1pblRyYW5zbGF0ZSgpKXJldHVybjtpZihpLmlzVG91Y2hFdmVudCYmdC5hY3RpdmVFbGVtZW50JiZsLnRhcmdldD09PXQuYWN0aXZlRWxlbWVudCYmVChsLnRhcmdldCkuaXMoaS5mb2N1c2FibGVFbGVtZW50cykpcmV0dXJuIGkuaXNNb3ZlZD0hMCx2b2lkKGEuYWxsb3dDbGljaz0hMSk7aWYoaS5hbGxvd1RvdWNoQ2FsbGJhY2tzJiZhLmVtaXQoInRvdWNoTW92ZSIsbCksIShsLnRhcmdldFRvdWNoZXMmJmwudGFyZ2V0VG91Y2hlcy5sZW5ndGg+MSkpe3MuY3VycmVudFg9YyxzLmN1cnJlbnRZPXA7dmFyIHU9cy5jdXJyZW50WC1zLnN0YXJ0WCxmPXMuY3VycmVudFktcy5zdGFydFk7aWYoIShhLnBhcmFtcy50aHJlc2hvbGQmJk1hdGguc3FydChNYXRoLnBvdyh1LDIpK01hdGgucG93KGYsMikpPGEucGFyYW1zLnRocmVzaG9sZCkpe3ZhciBoO2lmKHZvaWQgMD09PWkuaXNTY3JvbGxpbmcpYS5pc0hvcml6b250YWwoKSYmcy5jdXJyZW50WT09PXMuc3RhcnRZfHxhLmlzVmVydGljYWwoKSYmcy5jdXJyZW50WD09PXMuc3RhcnRYP2kuaXNTY3JvbGxpbmc9ITE6dSp1K2YqZj49MjUmJihoPTE4MCpNYXRoLmF0YW4yKE1hdGguYWJzKGYpLE1hdGguYWJzKHUpKS9NYXRoLlBJLGkuaXNTY3JvbGxpbmc9YS5pc0hvcml6b250YWwoKT9oPm4udG91Y2hBbmdsZTo5MC1oPm4udG91Y2hBbmdsZSk7aWYoaS5pc1Njcm9sbGluZyYmYS5lbWl0KCJ0b3VjaE1vdmVPcHBvc2l0ZSIsbCksdm9pZCAwPT09aS5zdGFydE1vdmluZyYmKHMuY3VycmVudFg9PT1zLnN0YXJ0WCYmcy5jdXJyZW50WT09PXMuc3RhcnRZfHwoaS5zdGFydE1vdmluZz0hMCkpLGkuaXNTY3JvbGxpbmcpaS5pc1RvdWNoZWQ9ITE7ZWxzZSBpZihpLnN0YXJ0TW92aW5nKXthLmFsbG93Q2xpY2s9ITEsIW4uY3NzTW9kZSYmbC5jYW5jZWxhYmxlJiZsLnByZXZlbnREZWZhdWx0KCksbi50b3VjaE1vdmVTdG9wUHJvcGFnYXRpb24mJiFuLm5lc3RlZCYmbC5zdG9wUHJvcGFnYXRpb24oKSxpLmlzTW92ZWR8fChuLmxvb3AmJiFuLmNzc01vZGUmJmEubG9vcEZpeCgpLGkuc3RhcnRUcmFuc2xhdGU9YS5nZXRUcmFuc2xhdGUoKSxhLnNldFRyYW5zaXRpb24oMCksYS5hbmltYXRpbmcmJmEuJHdyYXBwZXJFbC50cmlnZ2VyKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIHRyYW5zaXRpb25lbmQiKSxpLmFsbG93TW9tZW50dW1Cb3VuY2U9ITEsIW4uZ3JhYkN1cnNvcnx8ITAhPT1hLmFsbG93U2xpZGVOZXh0JiYhMCE9PWEuYWxsb3dTbGlkZVByZXZ8fGEuc2V0R3JhYkN1cnNvcighMCksYS5lbWl0KCJzbGlkZXJGaXJzdE1vdmUiLGwpKSxhLmVtaXQoInNsaWRlck1vdmUiLGwpLGkuaXNNb3ZlZD0hMDt2YXIgdj1hLmlzSG9yaXpvbnRhbCgpP3U6ZjtzLmRpZmY9dix2Kj1uLnRvdWNoUmF0aW8sbyYmKHY9LXYpLGEuc3dpcGVEaXJlY3Rpb249dj4wPyJwcmV2IjoibmV4dCIsaS5jdXJyZW50VHJhbnNsYXRlPXYraS5zdGFydFRyYW5zbGF0ZTt2YXIgbT0hMCxnPW4ucmVzaXN0YW5jZVJhdGlvO2lmKG4udG91Y2hSZWxlYXNlT25FZGdlcyYmKGc9MCksdj4wJiZpLmN1cnJlbnRUcmFuc2xhdGU+YS5taW5UcmFuc2xhdGUoKT8obT0hMSxuLnJlc2lzdGFuY2UmJihpLmN1cnJlbnRUcmFuc2xhdGU9YS5taW5UcmFuc2xhdGUoKS0xK01hdGgucG93KC1hLm1pblRyYW5zbGF0ZSgpK2kuc3RhcnRUcmFuc2xhdGUrdixnKSkpOnY8MCYmaS5jdXJyZW50VHJhbnNsYXRlPGEubWF4VHJhbnNsYXRlKCkmJihtPSExLG4ucmVzaXN0YW5jZSYmKGkuY3VycmVudFRyYW5zbGF0ZT1hLm1heFRyYW5zbGF0ZSgpKzEtTWF0aC5wb3coYS5tYXhUcmFuc2xhdGUoKS1pLnN0YXJ0VHJhbnNsYXRlLXYsZykpKSxtJiYobC5wcmV2ZW50ZWRCeU5lc3RlZFN3aXBlcj0hMCksIWEuYWxsb3dTbGlkZU5leHQmJiJuZXh0Ij09PWEuc3dpcGVEaXJlY3Rpb24mJmkuY3VycmVudFRyYW5zbGF0ZTxpLnN0YXJ0VHJhbnNsYXRlJiYoaS5jdXJyZW50VHJhbnNsYXRlPWkuc3RhcnRUcmFuc2xhdGUpLCFhLmFsbG93U2xpZGVQcmV2JiYicHJldiI9PT1hLnN3aXBlRGlyZWN0aW9uJiZpLmN1cnJlbnRUcmFuc2xhdGU+aS5zdGFydFRyYW5zbGF0ZSYmKGkuY3VycmVudFRyYW5zbGF0ZT1pLnN0YXJ0VHJhbnNsYXRlKSxhLmFsbG93U2xpZGVQcmV2fHxhLmFsbG93U2xpZGVOZXh0fHwoaS5jdXJyZW50VHJhbnNsYXRlPWkuc3RhcnRUcmFuc2xhdGUpLG4udGhyZXNob2xkPjApe2lmKCEoTWF0aC5hYnModik+bi50aHJlc2hvbGR8fGkuYWxsb3dUaHJlc2hvbGRNb3ZlKSlyZXR1cm4gdm9pZChpLmN1cnJlbnRUcmFuc2xhdGU9aS5zdGFydFRyYW5zbGF0ZSk7aWYoIWkuYWxsb3dUaHJlc2hvbGRNb3ZlKXJldHVybiBpLmFsbG93VGhyZXNob2xkTW92ZT0hMCxzLnN0YXJ0WD1zLmN1cnJlbnRYLHMuc3RhcnRZPXMuY3VycmVudFksaS5jdXJyZW50VHJhbnNsYXRlPWkuc3RhcnRUcmFuc2xhdGUsdm9pZChzLmRpZmY9YS5pc0hvcml6b250YWwoKT9zLmN1cnJlbnRYLXMuc3RhcnRYOnMuY3VycmVudFktcy5zdGFydFkpfW4uZm9sbG93RmluZ2VyJiYhbi5jc3NNb2RlJiYoKG4uZnJlZU1vZGUmJm4uZnJlZU1vZGUuZW5hYmxlZCYmYS5mcmVlTW9kZXx8bi53YXRjaFNsaWRlc1Byb2dyZXNzKSYmKGEudXBkYXRlQWN0aXZlSW5kZXgoKSxhLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSksYS5wYXJhbXMuZnJlZU1vZGUmJm4uZnJlZU1vZGUuZW5hYmxlZCYmYS5mcmVlTW9kZSYmYS5mcmVlTW9kZS5vblRvdWNoTW92ZSgpLGEudXBkYXRlUHJvZ3Jlc3MoaS5jdXJyZW50VHJhbnNsYXRlKSxhLnNldFRyYW5zbGF0ZShpLmN1cnJlbnRUcmFuc2xhdGUpKX19fX19ZWxzZSBpLnN0YXJ0TW92aW5nJiZpLmlzU2Nyb2xsaW5nJiZhLmVtaXQoInRvdWNoTW92ZU9wcG9zaXRlIixsKX19ZnVuY3Rpb24gYWUoZSl7dmFyIHQ9dGhpcyxhPXQudG91Y2hFdmVudHNEYXRhLHI9dC5wYXJhbXMsaT10LnRvdWNoZXMsbj10LnJ0bFRyYW5zbGF0ZSxzPXQuc2xpZGVzR3JpZDtpZih0LmVuYWJsZWQpe3ZhciBvPWU7aWYoby5vcmlnaW5hbEV2ZW50JiYobz1vLm9yaWdpbmFsRXZlbnQpLGEuYWxsb3dUb3VjaENhbGxiYWNrcyYmdC5lbWl0KCJ0b3VjaEVuZCIsbyksYS5hbGxvd1RvdWNoQ2FsbGJhY2tzPSExLCFhLmlzVG91Y2hlZClyZXR1cm4gYS5pc01vdmVkJiZyLmdyYWJDdXJzb3ImJnQuc2V0R3JhYkN1cnNvcighMSksYS5pc01vdmVkPSExLHZvaWQoYS5zdGFydE1vdmluZz0hMSk7ci5ncmFiQ3Vyc29yJiZhLmlzTW92ZWQmJmEuaXNUb3VjaGVkJiYoITA9PT10LmFsbG93U2xpZGVOZXh0fHwhMD09PXQuYWxsb3dTbGlkZVByZXYpJiZ0LnNldEdyYWJDdXJzb3IoITEpO3ZhciBsLGQ9JCgpLGM9ZC1hLnRvdWNoU3RhcnRUaW1lO2lmKHQuYWxsb3dDbGljayYmKHQudXBkYXRlQ2xpY2tlZFNsaWRlKG8pLHQuZW1pdCgidGFwIGNsaWNrIixvKSxjPDMwMCYmZC1hLmxhc3RDbGlja1RpbWU8MzAwJiZ0LmVtaXQoImRvdWJsZVRhcCBkb3VibGVDbGljayIsbykpLGEubGFzdENsaWNrVGltZT0kKCksaygoZnVuY3Rpb24oKXt0LmRlc3Ryb3llZHx8KHQuYWxsb3dDbGljaz0hMCl9KSksIWEuaXNUb3VjaGVkfHwhYS5pc01vdmVkfHwhdC5zd2lwZURpcmVjdGlvbnx8MD09PWkuZGlmZnx8YS5jdXJyZW50VHJhbnNsYXRlPT09YS5zdGFydFRyYW5zbGF0ZSlyZXR1cm4gYS5pc1RvdWNoZWQ9ITEsYS5pc01vdmVkPSExLHZvaWQoYS5zdGFydE1vdmluZz0hMSk7aWYoYS5pc1RvdWNoZWQ9ITEsYS5pc01vdmVkPSExLGEuc3RhcnRNb3Zpbmc9ITEsbD1yLmZvbGxvd0Zpbmdlcj9uP3QudHJhbnNsYXRlOi10LnRyYW5zbGF0ZTotYS5jdXJyZW50VHJhbnNsYXRlLCFyLmNzc01vZGUpaWYodC5wYXJhbXMuZnJlZU1vZGUmJnIuZnJlZU1vZGUuZW5hYmxlZCl0LmZyZWVNb2RlLm9uVG91Y2hFbmQoe2N1cnJlbnRQb3M6bH0pO2Vsc2V7Zm9yKHZhciBwPTAsdT10LnNsaWRlc1NpemVzR3JpZFswXSxmPTA7ZjxzLmxlbmd0aDtmKz1mPHIuc2xpZGVzUGVyR3JvdXBTa2lwPzE6ci5zbGlkZXNQZXJHcm91cCl7dmFyIGg9ZjxyLnNsaWRlc1Blckdyb3VwU2tpcC0xPzE6ci5zbGlkZXNQZXJHcm91cDt2b2lkIDAhPT1zW2YraF0/bD49c1tmXSYmbDxzW2YraF0mJihwPWYsdT1zW2YraF0tc1tmXSk6bD49c1tmXSYmKHA9Zix1PXNbcy5sZW5ndGgtMV0tc1tzLmxlbmd0aC0yXSl9dmFyIHY9KGwtc1twXSkvdSxtPXA8ci5zbGlkZXNQZXJHcm91cFNraXAtMT8xOnIuc2xpZGVzUGVyR3JvdXA7aWYoYz5yLmxvbmdTd2lwZXNNcyl7aWYoIXIubG9uZ1N3aXBlcylyZXR1cm4gdm9pZCB0LnNsaWRlVG8odC5hY3RpdmVJbmRleCk7Im5leHQiPT09dC5zd2lwZURpcmVjdGlvbiYmKHY+PXIubG9uZ1N3aXBlc1JhdGlvP3Quc2xpZGVUbyhwK20pOnQuc2xpZGVUbyhwKSksInByZXYiPT09dC5zd2lwZURpcmVjdGlvbiYmKHY+MS1yLmxvbmdTd2lwZXNSYXRpbz90LnNsaWRlVG8ocCttKTp0LnNsaWRlVG8ocCkpfWVsc2V7aWYoIXIuc2hvcnRTd2lwZXMpcmV0dXJuIHZvaWQgdC5zbGlkZVRvKHQuYWN0aXZlSW5kZXgpO3QubmF2aWdhdGlvbiYmKG8udGFyZ2V0PT09dC5uYXZpZ2F0aW9uLm5leHRFbHx8by50YXJnZXQ9PT10Lm5hdmlnYXRpb24ucHJldkVsKT9vLnRhcmdldD09PXQubmF2aWdhdGlvbi5uZXh0RWw/dC5zbGlkZVRvKHArbSk6dC5zbGlkZVRvKHApOigibmV4dCI9PT10LnN3aXBlRGlyZWN0aW9uJiZ0LnNsaWRlVG8ocCttKSwicHJldiI9PT10LnN3aXBlRGlyZWN0aW9uJiZ0LnNsaWRlVG8ocCkpfX19fWZ1bmN0aW9uIHJlKCl7dmFyIGU9dGhpcyx0PWUucGFyYW1zLGE9ZS5lbDtpZighYXx8MCE9PWEub2Zmc2V0V2lkdGgpe3QuYnJlYWtwb2ludHMmJmUuc2V0QnJlYWtwb2ludCgpO3ZhciByPWUuYWxsb3dTbGlkZU5leHQsaT1lLmFsbG93U2xpZGVQcmV2LG49ZS5zbmFwR3JpZDtlLmFsbG93U2xpZGVOZXh0PSEwLGUuYWxsb3dTbGlkZVByZXY9ITAsZS51cGRhdGVTaXplKCksZS51cGRhdGVTbGlkZXMoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSwoImF1dG8iPT09dC5zbGlkZXNQZXJWaWV3fHx0LnNsaWRlc1BlclZpZXc+MSkmJmUuaXNFbmQmJiFlLmlzQmVnaW5uaW5nJiYhZS5wYXJhbXMuY2VudGVyZWRTbGlkZXM/ZS5zbGlkZVRvKGUuc2xpZGVzLmxlbmd0aC0xLDAsITEsITApOmUuc2xpZGVUbyhlLmFjdGl2ZUluZGV4LDAsITEsITApLGUuYXV0b3BsYXkmJmUuYXV0b3BsYXkucnVubmluZyYmZS5hdXRvcGxheS5wYXVzZWQmJmUuYXV0b3BsYXkucnVuKCksZS5hbGxvd1NsaWRlUHJldj1pLGUuYWxsb3dTbGlkZU5leHQ9cixlLnBhcmFtcy53YXRjaE92ZXJmbG93JiZuIT09ZS5zbmFwR3JpZCYmZS5jaGVja092ZXJmbG93KCl9fWZ1bmN0aW9uIGllKGUpe3ZhciB0PXRoaXM7dC5lbmFibGVkJiYodC5hbGxvd0NsaWNrfHwodC5wYXJhbXMucHJldmVudENsaWNrcyYmZS5wcmV2ZW50RGVmYXVsdCgpLHQucGFyYW1zLnByZXZlbnRDbGlja3NQcm9wYWdhdGlvbiYmdC5hbmltYXRpbmcmJihlLnN0b3BQcm9wYWdhdGlvbigpLGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpKSl9ZnVuY3Rpb24gbmUoKXt2YXIgZT10aGlzLHQ9ZS53cmFwcGVyRWwsYT1lLnJ0bFRyYW5zbGF0ZTtpZihlLmVuYWJsZWQpe2UucHJldmlvdXNUcmFuc2xhdGU9ZS50cmFuc2xhdGUsZS5pc0hvcml6b250YWwoKT9lLnRyYW5zbGF0ZT0tdC5zY3JvbGxMZWZ0OmUudHJhbnNsYXRlPS10LnNjcm9sbFRvcCwtMD09PWUudHJhbnNsYXRlJiYoZS50cmFuc2xhdGU9MCksZS51cGRhdGVBY3RpdmVJbmRleCgpLGUudXBkYXRlU2xpZGVzQ2xhc3NlcygpO3ZhciByPWUubWF4VHJhbnNsYXRlKCktZS5taW5UcmFuc2xhdGUoKTsoMD09PXI/MDooZS50cmFuc2xhdGUtZS5taW5UcmFuc2xhdGUoKSkvcikhPT1lLnByb2dyZXNzJiZlLnVwZGF0ZVByb2dyZXNzKGE/LWUudHJhbnNsYXRlOmUudHJhbnNsYXRlKSxlLmVtaXQoInNldFRyYW5zbGF0ZSIsZS50cmFuc2xhdGUsITEpfX12YXIgc2U9ITE7ZnVuY3Rpb24gb2UoKXt9dmFyIGxlPWZ1bmN0aW9uKGUsdCl7dmFyIGE9KDAsci5NZSkoKSxpPWUucGFyYW1zLG49ZS50b3VjaEV2ZW50cyxzPWUuZWwsbz1lLndyYXBwZXJFbCxsPWUuZGV2aWNlLGQ9ZS5zdXBwb3J0LGM9ISFpLm5lc3RlZCxwPSJvbiI9PT10PyJhZGRFdmVudExpc3RlbmVyIjoicmVtb3ZlRXZlbnRMaXN0ZW5lciIsdT10O2lmKGQudG91Y2gpe3ZhciBmPSEoInRvdWNoc3RhcnQiIT09bi5zdGFydHx8IWQucGFzc2l2ZUxpc3RlbmVyfHwhaS5wYXNzaXZlTGlzdGVuZXJzKSYme3Bhc3NpdmU6ITAsY2FwdHVyZTohMX07c1twXShuLnN0YXJ0LGUub25Ub3VjaFN0YXJ0LGYpLHNbcF0obi5tb3ZlLGUub25Ub3VjaE1vdmUsZC5wYXNzaXZlTGlzdGVuZXI/e3Bhc3NpdmU6ITEsY2FwdHVyZTpjfTpjKSxzW3BdKG4uZW5kLGUub25Ub3VjaEVuZCxmKSxuLmNhbmNlbCYmc1twXShuLmNhbmNlbCxlLm9uVG91Y2hFbmQsZil9ZWxzZSBzW3BdKG4uc3RhcnQsZS5vblRvdWNoU3RhcnQsITEpLGFbcF0obi5tb3ZlLGUub25Ub3VjaE1vdmUsYyksYVtwXShuLmVuZCxlLm9uVG91Y2hFbmQsITEpOyhpLnByZXZlbnRDbGlja3N8fGkucHJldmVudENsaWNrc1Byb3BhZ2F0aW9uKSYmc1twXSgiY2xpY2siLGUub25DbGljaywhMCksaS5jc3NNb2RlJiZvW3BdKCJzY3JvbGwiLGUub25TY3JvbGwpLGkudXBkYXRlT25XaW5kb3dSZXNpemU/ZVt1XShsLmlvc3x8bC5hbmRyb2lkPyJyZXNpemUgb3JpZW50YXRpb25jaGFuZ2Ugb2JzZXJ2ZXJVcGRhdGUiOiJyZXNpemUgb2JzZXJ2ZXJVcGRhdGUiLHJlLCEwKTplW3VdKCJvYnNlcnZlclVwZGF0ZSIscmUsITApfTt2YXIgZGU9e2F0dGFjaEV2ZW50czpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD0oMCxyLk1lKSgpLGE9ZS5wYXJhbXMsaT1lLnN1cHBvcnQ7ZS5vblRvdWNoU3RhcnQ9ZWUuYmluZChlKSxlLm9uVG91Y2hNb3ZlPXRlLmJpbmQoZSksZS5vblRvdWNoRW5kPWFlLmJpbmQoZSksYS5jc3NNb2RlJiYoZS5vblNjcm9sbD1uZS5iaW5kKGUpKSxlLm9uQ2xpY2s9aWUuYmluZChlKSxpLnRvdWNoJiYhc2UmJih0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG9lKSxzZT0hMCksbGUoZSwib24iKX0sZGV0YWNoRXZlbnRzOmZ1bmN0aW9uKCl7bGUodGhpcywib2ZmIil9fSxjZT1mdW5jdGlvbihlLHQpe3JldHVybiBlLmdyaWQmJnQuZ3JpZCYmdC5ncmlkLnJvd3M+MX07dmFyIHBlPXtzZXRCcmVha3BvaW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuYWN0aXZlSW5kZXgsYT1lLmluaXRpYWxpemVkLHI9ZS5sb29wZWRTbGlkZXMsaT12b2lkIDA9PT1yPzA6cixuPWUucGFyYW1zLHM9ZS4kZWwsbz1uLmJyZWFrcG9pbnRzO2lmKG8mJighb3x8MCE9PU9iamVjdC5rZXlzKG8pLmxlbmd0aCkpe3ZhciBsPWUuZ2V0QnJlYWtwb2ludChvLGUucGFyYW1zLmJyZWFrcG9pbnRzQmFzZSxlLmVsKTtpZihsJiZlLmN1cnJlbnRCcmVha3BvaW50IT09bCl7dmFyIGQ9KGwgaW4gbz9vW2xdOnZvaWQgMCl8fGUub3JpZ2luYWxQYXJhbXMsYz1jZShlLG4pLHA9Y2UoZSxkKSx1PW4uZW5hYmxlZDtjJiYhcD8ocy5yZW1vdmVDbGFzcygiIi5jb25jYXQobi5jb250YWluZXJNb2RpZmllckNsYXNzLCJncmlkICIpLmNvbmNhdChuLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MsImdyaWQtY29sdW1uIikpLGUuZW1pdENvbnRhaW5lckNsYXNzZXMoKSk6IWMmJnAmJihzLmFkZENsYXNzKCIiLmNvbmNhdChuLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MsImdyaWQiKSksKGQuZ3JpZC5maWxsJiYiY29sdW1uIj09PWQuZ3JpZC5maWxsfHwhZC5ncmlkLmZpbGwmJiJjb2x1bW4iPT09bi5ncmlkLmZpbGwpJiZzLmFkZENsYXNzKCIiLmNvbmNhdChuLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MsImdyaWQtY29sdW1uIikpLGUuZW1pdENvbnRhaW5lckNsYXNzZXMoKSk7dmFyIGY9ZC5kaXJlY3Rpb24mJmQuZGlyZWN0aW9uIT09bi5kaXJlY3Rpb24saD1uLmxvb3AmJihkLnNsaWRlc1BlclZpZXchPT1uLnNsaWRlc1BlclZpZXd8fGYpO2YmJmEmJmUuY2hhbmdlRGlyZWN0aW9uKCksQShlLnBhcmFtcyxkKTt2YXIgdj1lLnBhcmFtcy5lbmFibGVkO09iamVjdC5hc3NpZ24oZSx7YWxsb3dUb3VjaE1vdmU6ZS5wYXJhbXMuYWxsb3dUb3VjaE1vdmUsYWxsb3dTbGlkZU5leHQ6ZS5wYXJhbXMuYWxsb3dTbGlkZU5leHQsYWxsb3dTbGlkZVByZXY6ZS5wYXJhbXMuYWxsb3dTbGlkZVByZXZ9KSx1JiYhdj9lLmRpc2FibGUoKTohdSYmdiYmZS5lbmFibGUoKSxlLmN1cnJlbnRCcmVha3BvaW50PWwsZS5lbWl0KCJfYmVmb3JlQnJlYWtwb2ludCIsZCksaCYmYSYmKGUubG9vcERlc3Ryb3koKSxlLmxvb3BDcmVhdGUoKSxlLnVwZGF0ZVNsaWRlcygpLGUuc2xpZGVUbyh0LWkrZS5sb29wZWRTbGlkZXMsMCwhMSkpLGUuZW1pdCgiYnJlYWtwb2ludCIsZCl9fX0sZ2V0QnJlYWtwb2ludDpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06IndpbmRvdyIsYT1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMDtpZihlJiYoImNvbnRhaW5lciIhPT10fHxhKSl7dmFyIGk9ITEsbj0oMCxyLkpqKSgpLHM9IndpbmRvdyI9PT10P24uaW5uZXJIZWlnaHQ6YS5jbGllbnRIZWlnaHQsbz1PYmplY3Qua2V5cyhlKS5tYXAoKGZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSYmMD09PWUuaW5kZXhPZigiQCIpKXt2YXIgdD1wYXJzZUZsb2F0KGUuc3Vic3RyKDEpKTtyZXR1cm57dmFsdWU6cyp0LHBvaW50OmV9fXJldHVybnt2YWx1ZTplLHBvaW50OmV9fSkpO28uc29ydCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gcGFyc2VJbnQoZS52YWx1ZSwxMCktcGFyc2VJbnQodC52YWx1ZSwxMCl9KSk7Zm9yKHZhciBsPTA7bDxvLmxlbmd0aDtsKz0xKXt2YXIgZD1vW2xdLGM9ZC5wb2ludCxwPWQudmFsdWU7IndpbmRvdyI9PT10P24ubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogIi5jb25jYXQocCwicHgpIikpLm1hdGNoZXMmJihpPWMpOnA8PWEuY2xpZW50V2lkdGgmJihpPWMpfXJldHVybiBpfHwibWF4In19fTtmdW5jdGlvbiB1ZShlKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZmUoZSl9KGUpfHxmdW5jdGlvbihlKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmbnVsbCE9ZVtTeW1ib2wuaXRlcmF0b3JdfHxudWxsIT1lWyJAQGl0ZXJhdG9yIl0pcmV0dXJuIEFycmF5LmZyb20oZSl9KGUpfHxmdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybjtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGZlKGUsdCk7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpOyJPYmplY3QiPT09YSYmZS5jb25zdHJ1Y3RvciYmKGE9ZS5jb25zdHJ1Y3Rvci5uYW1lKTtpZigiTWFwIj09PWF8fCJTZXQiPT09YSlyZXR1cm4gQXJyYXkuZnJvbShlKTtpZigiQXJndW1lbnRzIj09PWF8fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KGEpKXJldHVybiBmZShlLHQpfShlKXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBmZShlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgYT0wLHI9bmV3IEFycmF5KHQpO2E8dDthKyspclthXT1lW2FdO3JldHVybiByfWZ1bmN0aW9uIGhlKGUpe3JldHVybiBoZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0saGUoZSl9dmFyIHZlPXthZGRDbGFzc2VzOmZ1bmN0aW9uKCl7dmFyIGUsdCxhLHI9dGhpcyxpPXIuY2xhc3NOYW1lcyxuPXIucGFyYW1zLHM9ci5ydGwsbz1yLiRlbCxsPXIuZGV2aWNlLGQ9ci5zdXBwb3J0LGM9KGU9WyJpbml0aWFsaXplZCIsbi5kaXJlY3Rpb24seyJwb2ludGVyLWV2ZW50cyI6IWQudG91Y2h9LHsiZnJlZS1tb2RlIjpyLnBhcmFtcy5mcmVlTW9kZSYmbi5mcmVlTW9kZS5lbmFibGVkfSx7YXV0b2hlaWdodDpuLmF1dG9IZWlnaHR9LHtydGw6c30se2dyaWQ6bi5ncmlkJiZuLmdyaWQucm93cz4xfSx7ImdyaWQtY29sdW1uIjpuLmdyaWQmJm4uZ3JpZC5yb3dzPjEmJiJjb2x1bW4iPT09bi5ncmlkLmZpbGx9LHthbmRyb2lkOmwuYW5kcm9pZH0se2lvczpsLmlvc30seyJjc3MtbW9kZSI6bi5jc3NNb2RlfSx7Y2VudGVyZWQ6bi5jc3NNb2RlJiZuLmNlbnRlcmVkU2xpZGVzfV0sdD1uLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MsYT1bXSxlLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJvYmplY3QiPT09aGUoZSk/T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24ocil7ZVtyXSYmYS5wdXNoKHQrcil9KSk6InN0cmluZyI9PXR5cGVvZiBlJiZhLnB1c2godCtlKX0pKSxhKTtpLnB1c2guYXBwbHkoaSx1ZShjKSksby5hZGRDbGFzcyh1ZShpKS5qb2luKCIgIikpLHIuZW1pdENvbnRhaW5lckNsYXNzZXMoKX0scmVtb3ZlQ2xhc3NlczpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLiRlbCxhPWUuY2xhc3NOYW1lczt0LnJlbW92ZUNsYXNzKGEuam9pbigiICIpKSxlLmVtaXRDb250YWluZXJDbGFzc2VzKCl9fTt2YXIgbWU9e2luaXQ6ITAsZGlyZWN0aW9uOiJob3Jpem9udGFsIix0b3VjaEV2ZW50c1RhcmdldDoid3JhcHBlciIsaW5pdGlhbFNsaWRlOjAsc3BlZWQ6MzAwLGNzc01vZGU6ITEsdXBkYXRlT25XaW5kb3dSZXNpemU6ITAscmVzaXplT2JzZXJ2ZXI6ITAsbmVzdGVkOiExLGNyZWF0ZUVsZW1lbnRzOiExLGVuYWJsZWQ6ITAsZm9jdXNhYmxlRWxlbWVudHM6ImlucHV0LCBzZWxlY3QsIG9wdGlvbiwgdGV4dGFyZWEsIGJ1dHRvbiwgdmlkZW8sIGxhYmVsIix3aWR0aDpudWxsLGhlaWdodDpudWxsLHByZXZlbnRJbnRlcmFjdGlvbk9uVHJhbnNpdGlvbjohMSx1c2VyQWdlbnQ6bnVsbCx1cmw6bnVsbCxlZGdlU3dpcGVEZXRlY3Rpb246ITEsZWRnZVN3aXBlVGhyZXNob2xkOjIwLGF1dG9IZWlnaHQ6ITEsc2V0V3JhcHBlclNpemU6ITEsdmlydHVhbFRyYW5zbGF0ZTohMSxlZmZlY3Q6InNsaWRlIixicmVha3BvaW50czp2b2lkIDAsYnJlYWtwb2ludHNCYXNlOiJ3aW5kb3ciLHNwYWNlQmV0d2VlbjowLHNsaWRlc1BlclZpZXc6MSxzbGlkZXNQZXJHcm91cDoxLHNsaWRlc1Blckdyb3VwU2tpcDowLHNsaWRlc1Blckdyb3VwQXV0bzohMSxjZW50ZXJlZFNsaWRlczohMSxjZW50ZXJlZFNsaWRlc0JvdW5kczohMSxzbGlkZXNPZmZzZXRCZWZvcmU6MCxzbGlkZXNPZmZzZXRBZnRlcjowLG5vcm1hbGl6ZVNsaWRlSW5kZXg6ITAsY2VudGVySW5zdWZmaWNpZW50U2xpZGVzOiExLHdhdGNoT3ZlcmZsb3c6ITAscm91bmRMZW5ndGhzOiExLHRvdWNoUmF0aW86MSx0b3VjaEFuZ2xlOjQ1LHNpbXVsYXRlVG91Y2g6ITAsc2hvcnRTd2lwZXM6ITAsbG9uZ1N3aXBlczohMCxsb25nU3dpcGVzUmF0aW86LjUsbG9uZ1N3aXBlc01zOjMwMCxmb2xsb3dGaW5nZXI6ITAsYWxsb3dUb3VjaE1vdmU6ITAsdGhyZXNob2xkOjAsdG91Y2hNb3ZlU3RvcFByb3BhZ2F0aW9uOiExLHRvdWNoU3RhcnRQcmV2ZW50RGVmYXVsdDohMCx0b3VjaFN0YXJ0Rm9yY2VQcmV2ZW50RGVmYXVsdDohMSx0b3VjaFJlbGVhc2VPbkVkZ2VzOiExLHVuaXF1ZU5hdkVsZW1lbnRzOiEwLHJlc2lzdGFuY2U6ITAscmVzaXN0YW5jZVJhdGlvOi44NSx3YXRjaFNsaWRlc1Byb2dyZXNzOiExLGdyYWJDdXJzb3I6ITEscHJldmVudENsaWNrczohMCxwcmV2ZW50Q2xpY2tzUHJvcGFnYXRpb246ITAsc2xpZGVUb0NsaWNrZWRTbGlkZTohMSxwcmVsb2FkSW1hZ2VzOiEwLHVwZGF0ZU9uSW1hZ2VzUmVhZHk6ITAsbG9vcDohMSxsb29wQWRkaXRpb25hbFNsaWRlczowLGxvb3BlZFNsaWRlczpudWxsLGxvb3BGaWxsR3JvdXBXaXRoQmxhbms6ITEsbG9vcFByZXZlbnRzU2xpZGU6ITAsYWxsb3dTbGlkZVByZXY6ITAsYWxsb3dTbGlkZU5leHQ6ITAsc3dpcGVIYW5kbGVyOm51bGwsbm9Td2lwaW5nOiEwLG5vU3dpcGluZ0NsYXNzOiJzd2lwZXItbm8tc3dpcGluZyIsbm9Td2lwaW5nU2VsZWN0b3I6bnVsbCxwYXNzaXZlTGlzdGVuZXJzOiEwLGNvbnRhaW5lck1vZGlmaWVyQ2xhc3M6InN3aXBlci0iLHNsaWRlQ2xhc3M6InN3aXBlci1zbGlkZSIsc2xpZGVCbGFua0NsYXNzOiJzd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIixzbGlkZUFjdGl2ZUNsYXNzOiJzd2lwZXItc2xpZGUtYWN0aXZlIixzbGlkZUR1cGxpY2F0ZUFjdGl2ZUNsYXNzOiJzd2lwZXItc2xpZGUtZHVwbGljYXRlLWFjdGl2ZSIsc2xpZGVWaXNpYmxlQ2xhc3M6InN3aXBlci1zbGlkZS12aXNpYmxlIixzbGlkZUR1cGxpY2F0ZUNsYXNzOiJzd2lwZXItc2xpZGUtZHVwbGljYXRlIixzbGlkZU5leHRDbGFzczoic3dpcGVyLXNsaWRlLW5leHQiLHNsaWRlRHVwbGljYXRlTmV4dENsYXNzOiJzd2lwZXItc2xpZGUtZHVwbGljYXRlLW5leHQiLHNsaWRlUHJldkNsYXNzOiJzd2lwZXItc2xpZGUtcHJldiIsc2xpZGVEdXBsaWNhdGVQcmV2Q2xhc3M6InN3aXBlci1zbGlkZS1kdXBsaWNhdGUtcHJldiIsd3JhcHBlckNsYXNzOiJzd2lwZXItd3JhcHBlciIscnVuQ2FsbGJhY2tzT25Jbml0OiEwLF9lbWl0Q2xhc3NlczohMX07ZnVuY3Rpb24gZ2UoZSl7cmV0dXJuIGdlPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxnZShlKX1mdW5jdGlvbiB3ZShlLHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxyPU9iamVjdC5rZXlzKGEpWzBdLGk9YVtyXTsib2JqZWN0Ij09PWdlKGkpJiZudWxsIT09aT8oWyJuYXZpZ2F0aW9uIiwicGFnaW5hdGlvbiIsInNjcm9sbGJhciJdLmluZGV4T2Yocik+PTAmJiEwPT09ZVtyXSYmKGVbcl09e2F1dG86ITB9KSxyIGluIGUmJiJlbmFibGVkImluIGk/KCEwPT09ZVtyXSYmKGVbcl09e2VuYWJsZWQ6ITB9KSwib2JqZWN0IiE9PWdlKGVbcl0pfHwiZW5hYmxlZCJpbiBlW3JdfHwoZVtyXS5lbmFibGVkPSEwKSxlW3JdfHwoZVtyXT17ZW5hYmxlZDohMX0pLEEodCxhKSk6QSh0LGEpKTpBKHQsYSl9fWZ1bmN0aW9uIGJlKGUpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiB5ZShlKX0oZSl8fGZ1bmN0aW9uKGUpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZudWxsIT1lW1N5bWJvbC5pdGVyYXRvcl18fG51bGwhPWVbIkBAaXRlcmF0b3IiXSlyZXR1cm4gQXJyYXkuZnJvbShlKX0oZSl8fGZ1bmN0aW9uKGUsdCl7aWYoIWUpcmV0dXJuO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4geWUoZSx0KTt2YXIgYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7Ik9iamVjdCI9PT1hJiZlLmNvbnN0cnVjdG9yJiYoYT1lLmNvbnN0cnVjdG9yLm5hbWUpO2lmKCJNYXAiPT09YXx8IlNldCI9PT1hKXJldHVybiBBcnJheS5mcm9tKGUpO2lmKCJBcmd1bWVudHMiPT09YXx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QoYSkpcmV0dXJuIHllKGUsdCl9KGUpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIHllKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBhPTAscj1uZXcgQXJyYXkodCk7YTx0O2ErKylyW2FdPWVbYV07cmV0dXJuIHJ9ZnVuY3Rpb24geGUoZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBFZShlLHQpe2Zvcih2YXIgYT0wO2E8dC5sZW5ndGg7YSsrKXt2YXIgcj10W2FdO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsci5rZXkscil9fXZhciBTZT17ZXZlbnRzRW1pdHRlcjpSLHVwZGF0ZTpXLHRyYW5zbGF0ZTpxLHRyYW5zaXRpb246SixzbGlkZTpaLGxvb3A6USxncmFiQ3Vyc29yOntzZXRHcmFiQ3Vyc29yOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7aWYoISh0LnN1cHBvcnQudG91Y2h8fCF0LnBhcmFtcy5zaW11bGF0ZVRvdWNofHx0LnBhcmFtcy53YXRjaE92ZXJmbG93JiZ0LmlzTG9ja2VkfHx0LnBhcmFtcy5jc3NNb2RlKSl7dmFyIGE9ImNvbnRhaW5lciI9PT10LnBhcmFtcy50b3VjaEV2ZW50c1RhcmdldD90LmVsOnQud3JhcHBlckVsO2Euc3R5bGUuY3Vyc29yPSJtb3ZlIixhLnN0eWxlLmN1cnNvcj1lPyItd2Via2l0LWdyYWJiaW5nIjoiLXdlYmtpdC1ncmFiIixhLnN0eWxlLmN1cnNvcj1lPyItbW96LWdyYWJiaW4iOiItbW96LWdyYWIiLGEuc3R5bGUuY3Vyc29yPWU/ImdyYWJiaW5nIjoiZ3JhYiJ9fSx1bnNldEdyYWJDdXJzb3I6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2Uuc3VwcG9ydC50b3VjaHx8ZS5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmZS5pc0xvY2tlZHx8ZS5wYXJhbXMuY3NzTW9kZXx8KGVbImNvbnRhaW5lciI9PT1lLnBhcmFtcy50b3VjaEV2ZW50c1RhcmdldD8iZWwiOiJ3cmFwcGVyRWwiXS5zdHlsZS5jdXJzb3I9IiIpfX0sZXZlbnRzOmRlLGJyZWFrcG9pbnRzOnBlLGNoZWNrT3ZlcmZsb3c6e2NoZWNrT3ZlcmZsb3c6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5pc0xvY2tlZCxhPWUucGFyYW1zLHI9YS5zbGlkZXNPZmZzZXRCZWZvcmU7aWYocil7dmFyIGk9ZS5zbGlkZXMubGVuZ3RoLTEsbj1lLnNsaWRlc0dyaWRbaV0rZS5zbGlkZXNTaXplc0dyaWRbaV0rMipyO2UuaXNMb2NrZWQ9ZS5zaXplPm59ZWxzZSBlLmlzTG9ja2VkPTE9PT1lLnNuYXBHcmlkLmxlbmd0aDshMD09PWEuYWxsb3dTbGlkZU5leHQmJihlLmFsbG93U2xpZGVOZXh0PSFlLmlzTG9ja2VkKSwhMD09PWEuYWxsb3dTbGlkZVByZXYmJihlLmFsbG93U2xpZGVQcmV2PSFlLmlzTG9ja2VkKSx0JiZ0IT09ZS5pc0xvY2tlZCYmKGUuaXNFbmQ9ITEpLHQhPT1lLmlzTG9ja2VkJiZlLmVtaXQoZS5pc0xvY2tlZD8ibG9jayI6InVubG9jayIpfX0sY2xhc3Nlczp2ZSxpbWFnZXM6e2xvYWRJbWFnZTpmdW5jdGlvbihlLHQsYSxpLG4scyl7dmFyIG8sbD0oMCxyLkpqKSgpO2Z1bmN0aW9uIGQoKXtzJiZzKCl9VChlKS5wYXJlbnQoInBpY3R1cmUiKVswXXx8ZS5jb21wbGV0ZSYmbj9kKCk6dD8oKG89bmV3IGwuSW1hZ2UpLm9ubG9hZD1kLG8ub25lcnJvcj1kLGkmJihvLnNpemVzPWkpLGEmJihvLnNyY3NldD1hKSx0JiYoby5zcmM9dCkpOmQoKX0scHJlbG9hZEltYWdlczpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZnVuY3Rpb24gdCgpe251bGwhPWUmJmUmJiFlLmRlc3Ryb3llZCYmKHZvaWQgMCE9PWUuaW1hZ2VzTG9hZGVkJiYoZS5pbWFnZXNMb2FkZWQrPTEpLGUuaW1hZ2VzTG9hZGVkPT09ZS5pbWFnZXNUb0xvYWQubGVuZ3RoJiYoZS5wYXJhbXMudXBkYXRlT25JbWFnZXNSZWFkeSYmZS51cGRhdGUoKSxlLmVtaXQoImltYWdlc1JlYWR5IikpKX1lLmltYWdlc1RvTG9hZD1lLiRlbC5maW5kKCJpbWciKTtmb3IodmFyIGE9MDthPGUuaW1hZ2VzVG9Mb2FkLmxlbmd0aDthKz0xKXt2YXIgcj1lLmltYWdlc1RvTG9hZFthXTtlLmxvYWRJbWFnZShyLHIuY3VycmVudFNyY3x8ci5nZXRBdHRyaWJ1dGUoInNyYyIpLHIuc3Jjc2V0fHxyLmdldEF0dHJpYnV0ZSgic3Jjc2V0Iiksci5zaXplc3x8ci5nZXRBdHRyaWJ1dGUoInNpemVzIiksITAsdCl9fX19LFRlPXt9LENlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe3ZhciB0LGE7eGUodGhpcyxlKTtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxpPW5ldyBBcnJheShyKSxuPTA7bjxyO24rKylpW25dPWFyZ3VtZW50c1tuXTtpZigxPT09aS5sZW5ndGgmJmlbMF0uY29uc3RydWN0b3ImJiJPYmplY3QiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGlbMF0pLnNsaWNlKDgsLTEpP2E9aVswXToodD1pWzBdLGE9aVsxXSksYXx8KGE9e30pLGE9QSh7fSxhKSx0JiYhYS5lbCYmKGEuZWw9dCksYS5lbCYmVChhLmVsKS5sZW5ndGg+MSl7dmFyIHM9W107cmV0dXJuIFQoYS5lbCkuZWFjaCgoZnVuY3Rpb24odCl7dmFyIHI9QSh7fSxhLHtlbDp0fSk7cy5wdXNoKG5ldyBlKHIpKX0pKSxzfXZhciBvLGw9dGhpczsobC5fX3N3aXBlcl9fPSEwLGwuc3VwcG9ydD1HKCksbC5kZXZpY2U9Tih7dXNlckFnZW50OmEudXNlckFnZW50fSksbC5icm93c2VyPVgoKSxsLmV2ZW50c0xpc3RlbmVycz17fSxsLmV2ZW50c0FueUxpc3RlbmVycz1bXSxsLm1vZHVsZXM9YmUobC5fX21vZHVsZXNfXyksYS5tb2R1bGVzJiZBcnJheS5pc0FycmF5KGEubW9kdWxlcykpJiYobz1sLm1vZHVsZXMpLnB1c2guYXBwbHkobyxiZShhLm1vZHVsZXMpKTt2YXIgZD17fTtsLm1vZHVsZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZSh7c3dpcGVyOmwsZXh0ZW5kUGFyYW1zOndlKGEsZCksb246bC5vbi5iaW5kKGwpLG9uY2U6bC5vbmNlLmJpbmQobCksb2ZmOmwub2ZmLmJpbmQobCksZW1pdDpsLmVtaXQuYmluZChsKX0pfSkpO3ZhciBjLHAsdT1BKHt9LG1lLGQpO3JldHVybiBsLnBhcmFtcz1BKHt9LHUsVGUsYSksbC5vcmlnaW5hbFBhcmFtcz1BKHt9LGwucGFyYW1zKSxsLnBhc3NlZFBhcmFtcz1BKHt9LGEpLGwucGFyYW1zJiZsLnBhcmFtcy5vbiYmT2JqZWN0LmtleXMobC5wYXJhbXMub24pLmZvckVhY2goKGZ1bmN0aW9uKGUpe2wub24oZSxsLnBhcmFtcy5vbltlXSl9KSksbC5wYXJhbXMmJmwucGFyYW1zLm9uQW55JiZsLm9uQW55KGwucGFyYW1zLm9uQW55KSxsLiQ9VCxPYmplY3QuYXNzaWduKGwse2VuYWJsZWQ6bC5wYXJhbXMuZW5hYmxlZCxlbDp0LGNsYXNzTmFtZXM6W10sc2xpZGVzOlQoKSxzbGlkZXNHcmlkOltdLHNuYXBHcmlkOltdLHNsaWRlc1NpemVzR3JpZDpbXSxpc0hvcml6b250YWw6ZnVuY3Rpb24oKXtyZXR1cm4iaG9yaXpvbnRhbCI9PT1sLnBhcmFtcy5kaXJlY3Rpb259LGlzVmVydGljYWw6ZnVuY3Rpb24oKXtyZXR1cm4idmVydGljYWwiPT09bC5wYXJhbXMuZGlyZWN0aW9ufSxhY3RpdmVJbmRleDowLHJlYWxJbmRleDowLGlzQmVnaW5uaW5nOiEwLGlzRW5kOiExLHRyYW5zbGF0ZTowLHByZXZpb3VzVHJhbnNsYXRlOjAscHJvZ3Jlc3M6MCx2ZWxvY2l0eTowLGFuaW1hdGluZzohMSxhbGxvd1NsaWRlTmV4dDpsLnBhcmFtcy5hbGxvd1NsaWRlTmV4dCxhbGxvd1NsaWRlUHJldjpsLnBhcmFtcy5hbGxvd1NsaWRlUHJldix0b3VjaEV2ZW50czooYz1bInRvdWNoc3RhcnQiLCJ0b3VjaG1vdmUiLCJ0b3VjaGVuZCIsInRvdWNoY2FuY2VsIl0scD1bInBvaW50ZXJkb3duIiwicG9pbnRlcm1vdmUiLCJwb2ludGVydXAiXSxsLnRvdWNoRXZlbnRzVG91Y2g9e3N0YXJ0OmNbMF0sbW92ZTpjWzFdLGVuZDpjWzJdLGNhbmNlbDpjWzNdfSxsLnRvdWNoRXZlbnRzRGVza3RvcD17c3RhcnQ6cFswXSxtb3ZlOnBbMV0sZW5kOnBbMl19LGwuc3VwcG9ydC50b3VjaHx8IWwucGFyYW1zLnNpbXVsYXRlVG91Y2g/bC50b3VjaEV2ZW50c1RvdWNoOmwudG91Y2hFdmVudHNEZXNrdG9wKSx0b3VjaEV2ZW50c0RhdGE6e2lzVG91Y2hlZDp2b2lkIDAsaXNNb3ZlZDp2b2lkIDAsYWxsb3dUb3VjaENhbGxiYWNrczp2b2lkIDAsdG91Y2hTdGFydFRpbWU6dm9pZCAwLGlzU2Nyb2xsaW5nOnZvaWQgMCxjdXJyZW50VHJhbnNsYXRlOnZvaWQgMCxzdGFydFRyYW5zbGF0ZTp2b2lkIDAsYWxsb3dUaHJlc2hvbGRNb3ZlOnZvaWQgMCxmb2N1c2FibGVFbGVtZW50czpsLnBhcmFtcy5mb2N1c2FibGVFbGVtZW50cyxsYXN0Q2xpY2tUaW1lOiQoKSxjbGlja1RpbWVvdXQ6dm9pZCAwLHZlbG9jaXRpZXM6W10sYWxsb3dNb21lbnR1bUJvdW5jZTp2b2lkIDAsaXNUb3VjaEV2ZW50OnZvaWQgMCxzdGFydE1vdmluZzp2b2lkIDB9LGFsbG93Q2xpY2s6ITAsYWxsb3dUb3VjaE1vdmU6bC5wYXJhbXMuYWxsb3dUb3VjaE1vdmUsdG91Y2hlczp7c3RhcnRYOjAsc3RhcnRZOjAsY3VycmVudFg6MCxjdXJyZW50WTowLGRpZmY6MH0saW1hZ2VzVG9Mb2FkOltdLGltYWdlc0xvYWRlZDowfSksbC5lbWl0KCJfc3dpcGVyIiksbC5wYXJhbXMuaW5pdCYmbC5pbml0KCksbH12YXIgdCxhLGk7cmV0dXJuIHQ9ZSxhPVt7a2V5OiJlbmFibGUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLmVuYWJsZWR8fChlLmVuYWJsZWQ9ITAsZS5wYXJhbXMuZ3JhYkN1cnNvciYmZS5zZXRHcmFiQ3Vyc29yKCksZS5lbWl0KCJlbmFibGUiKSl9fSx7a2V5OiJkaXNhYmxlIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5lbmFibGVkJiYoZS5lbmFibGVkPSExLGUucGFyYW1zLmdyYWJDdXJzb3ImJmUudW5zZXRHcmFiQ3Vyc29yKCksZS5lbWl0KCJkaXNhYmxlIikpfX0se2tleToic2V0UHJvZ3Jlc3MiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIGE9dGhpcztlPU1hdGgubWluKE1hdGgubWF4KGUsMCksMSk7dmFyIHI9YS5taW5UcmFuc2xhdGUoKSxpPShhLm1heFRyYW5zbGF0ZSgpLXIpKmUrcjthLnRyYW5zbGF0ZVRvKGksdm9pZCAwPT09dD8wOnQpLGEudXBkYXRlQWN0aXZlSW5kZXgoKSxhLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX19LHtrZXk6ImVtaXRDb250YWluZXJDbGFzc2VzIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoZS5wYXJhbXMuX2VtaXRDbGFzc2VzJiZlLmVsKXt2YXIgdD1lLmVsLmNsYXNzTmFtZS5zcGxpdCgiICIpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10LmluZGV4T2YoInN3aXBlciIpfHwwPT09dC5pbmRleE9mKGUucGFyYW1zLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MpfSkpO2UuZW1pdCgiX2NvbnRhaW5lckNsYXNzZXMiLHQuam9pbigiICIpKX19fSx7a2V5OiJnZXRTbGlkZUNsYXNzZXMiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGUuY2xhc3NOYW1lLnNwbGl0KCIgIikuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gMD09PWUuaW5kZXhPZigic3dpcGVyLXNsaWRlIil8fDA9PT1lLmluZGV4T2YodC5wYXJhbXMuc2xpZGVDbGFzcyl9KSkuam9pbigiICIpfX0se2tleToiZW1pdFNsaWRlc0NsYXNzZXMiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZihlLnBhcmFtcy5fZW1pdENsYXNzZXMmJmUuZWwpe3ZhciB0PVtdO2Uuc2xpZGVzLmVhY2goKGZ1bmN0aW9uKGEpe3ZhciByPWUuZ2V0U2xpZGVDbGFzc2VzKGEpO3QucHVzaCh7c2xpZGVFbDphLGNsYXNzTmFtZXM6cn0pLGUuZW1pdCgiX3NsaWRlQ2xhc3MiLGEscil9KSksZS5lbWl0KCJfc2xpZGVDbGFzc2VzIix0KX19fSx7a2V5OiJzbGlkZXNQZXJWaWV3RHluYW1pYyIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06ImN1cnJlbnQiLHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXSxhPXRoaXMscj1hLnBhcmFtcyxpPWEuc2xpZGVzLG49YS5zbGlkZXNHcmlkLHM9YS5zbGlkZXNTaXplc0dyaWQsbz1hLnNpemUsbD1hLmFjdGl2ZUluZGV4LGQ9MTtpZihyLmNlbnRlcmVkU2xpZGVzKXtmb3IodmFyIGMscD1pW2xdLnN3aXBlclNsaWRlU2l6ZSx1PWwrMTt1PGkubGVuZ3RoO3UrPTEpaVt1XSYmIWMmJihkKz0xLChwKz1pW3VdLnN3aXBlclNsaWRlU2l6ZSk+byYmKGM9ITApKTtmb3IodmFyIGY9bC0xO2Y+PTA7Zi09MSlpW2ZdJiYhYyYmKGQrPTEsKHArPWlbZl0uc3dpcGVyU2xpZGVTaXplKT5vJiYoYz0hMCkpfWVsc2UgaWYoImN1cnJlbnQiPT09ZSlmb3IodmFyIGg9bCsxO2g8aS5sZW5ndGg7aCs9MSl7dmFyIHY9dD9uW2hdK3NbaF0tbltsXTxvOm5baF0tbltsXTxvO3YmJihkKz0xKX1lbHNlIGZvcih2YXIgbT1sLTE7bT49MDttLT0xKXt2YXIgZz1uW2xdLW5bbV08bztnJiYoZCs9MSl9cmV0dXJuIGR9fSx7a2V5OiJ1cGRhdGUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZihlJiYhZS5kZXN0cm95ZWQpe3ZhciB0PWUuc25hcEdyaWQsYT1lLnBhcmFtczthLmJyZWFrcG9pbnRzJiZlLnNldEJyZWFrcG9pbnQoKSxlLnVwZGF0ZVNpemUoKSxlLnVwZGF0ZVNsaWRlcygpLGUudXBkYXRlUHJvZ3Jlc3MoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSxlLnBhcmFtcy5mcmVlTW9kZSYmZS5wYXJhbXMuZnJlZU1vZGUuZW5hYmxlZD8ocigpLGUucGFyYW1zLmF1dG9IZWlnaHQmJmUudXBkYXRlQXV0b0hlaWdodCgpKTooKCJhdXRvIj09PWUucGFyYW1zLnNsaWRlc1BlclZpZXd8fGUucGFyYW1zLnNsaWRlc1BlclZpZXc+MSkmJmUuaXNFbmQmJiFlLnBhcmFtcy5jZW50ZXJlZFNsaWRlcz9lLnNsaWRlVG8oZS5zbGlkZXMubGVuZ3RoLTEsMCwhMSwhMCk6ZS5zbGlkZVRvKGUuYWN0aXZlSW5kZXgsMCwhMSwhMCkpfHxyKCksYS53YXRjaE92ZXJmbG93JiZ0IT09ZS5zbmFwR3JpZCYmZS5jaGVja092ZXJmbG93KCksZS5lbWl0KCJ1cGRhdGUiKX1mdW5jdGlvbiByKCl7dmFyIHQ9ZS5ydGxUcmFuc2xhdGU/LTEqZS50cmFuc2xhdGU6ZS50cmFuc2xhdGUsYT1NYXRoLm1pbihNYXRoLm1heCh0LGUubWF4VHJhbnNsYXRlKCkpLGUubWluVHJhbnNsYXRlKCkpO2Uuc2V0VHJhbnNsYXRlKGEpLGUudXBkYXRlQWN0aXZlSW5kZXgoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX19fSx7a2V5OiJjaGFuZ2VEaXJlY3Rpb24iLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PSEoYXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0pfHxhcmd1bWVudHNbMV0sYT10aGlzLHI9YS5wYXJhbXMuZGlyZWN0aW9uO3JldHVybiBlfHwoZT0iaG9yaXpvbnRhbCI9PT1yPyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwiKSxlPT09cnx8Imhvcml6b250YWwiIT09ZSYmInZlcnRpY2FsIiE9PWV8fChhLiRlbC5yZW1vdmVDbGFzcygiIi5jb25jYXQoYS5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcykuY29uY2F0KHIpKS5hZGRDbGFzcygiIi5jb25jYXQoYS5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcykuY29uY2F0KGUpKSxhLmVtaXRDb250YWluZXJDbGFzc2VzKCksYS5wYXJhbXMuZGlyZWN0aW9uPWUsYS5zbGlkZXMuZWFjaCgoZnVuY3Rpb24odCl7InZlcnRpY2FsIj09PWU/dC5zdHlsZS53aWR0aD0iIjp0LnN0eWxlLmhlaWdodD0iIn0pKSxhLmVtaXQoImNoYW5nZURpcmVjdGlvbiIpLHQmJmEudXBkYXRlKCkpLGF9fSx7a2V5OiJtb3VudCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztpZih0Lm1vdW50ZWQpcmV0dXJuITA7dmFyIGE9VChlfHx0LnBhcmFtcy5lbCk7aWYoIShlPWFbMF0pKXJldHVybiExO2Uuc3dpcGVyPXQ7dmFyIGk9ZnVuY3Rpb24oKXtyZXR1cm4iLiIuY29uY2F0KCh0LnBhcmFtcy53cmFwcGVyQ2xhc3N8fCIiKS50cmltKCkuc3BsaXQoIiAiKS5qb2luKCIuIikpfSxuPWZ1bmN0aW9uKCl7aWYoZSYmZS5zaGFkb3dSb290JiZlLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3Rvcil7dmFyIHQ9VChlLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihpKCkpKTtyZXR1cm4gdC5jaGlsZHJlbj1mdW5jdGlvbihlKXtyZXR1cm4gYS5jaGlsZHJlbihlKX0sdH1yZXR1cm4gYS5jaGlsZHJlbihpKCkpfSgpO2lmKDA9PT1uLmxlbmd0aCYmdC5wYXJhbXMuY3JlYXRlRWxlbWVudHMpe3ZhciBzPSgwLHIuTWUpKCkuY3JlYXRlRWxlbWVudCgiZGl2Iik7bj1UKHMpLHMuY2xhc3NOYW1lPXQucGFyYW1zLndyYXBwZXJDbGFzcyxhLmFwcGVuZChzKSxhLmNoaWxkcmVuKCIuIi5jb25jYXQodC5wYXJhbXMuc2xpZGVDbGFzcykpLmVhY2goKGZ1bmN0aW9uKGUpe24uYXBwZW5kKGUpfSkpfXJldHVybiBPYmplY3QuYXNzaWduKHQseyRlbDphLGVsOmUsJHdyYXBwZXJFbDpuLHdyYXBwZXJFbDpuWzBdLG1vdW50ZWQ6ITAscnRsOiJydGwiPT09ZS5kaXIudG9Mb3dlckNhc2UoKXx8InJ0bCI9PT1hLmNzcygiZGlyZWN0aW9uIikscnRsVHJhbnNsYXRlOiJob3Jpem9udGFsIj09PXQucGFyYW1zLmRpcmVjdGlvbiYmKCJydGwiPT09ZS5kaXIudG9Mb3dlckNhc2UoKXx8InJ0bCI9PT1hLmNzcygiZGlyZWN0aW9uIikpLHdyb25nUlRMOiItd2Via2l0LWJveCI9PT1uLmNzcygiZGlzcGxheSIpfSksITB9fSx7a2V5OiJpbml0Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0LmluaXRpYWxpemVkfHwhMT09PXQubW91bnQoZSl8fCh0LmVtaXQoImJlZm9yZUluaXQiKSx0LnBhcmFtcy5icmVha3BvaW50cyYmdC5zZXRCcmVha3BvaW50KCksdC5hZGRDbGFzc2VzKCksdC5wYXJhbXMubG9vcCYmdC5sb29wQ3JlYXRlKCksdC51cGRhdGVTaXplKCksdC51cGRhdGVTbGlkZXMoKSx0LnBhcmFtcy53YXRjaE92ZXJmbG93JiZ0LmNoZWNrT3ZlcmZsb3coKSx0LnBhcmFtcy5ncmFiQ3Vyc29yJiZ0LmVuYWJsZWQmJnQuc2V0R3JhYkN1cnNvcigpLHQucGFyYW1zLnByZWxvYWRJbWFnZXMmJnQucHJlbG9hZEltYWdlcygpLHQucGFyYW1zLmxvb3A/dC5zbGlkZVRvKHQucGFyYW1zLmluaXRpYWxTbGlkZSt0Lmxvb3BlZFNsaWRlcywwLHQucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCwhMSwhMCk6dC5zbGlkZVRvKHQucGFyYW1zLmluaXRpYWxTbGlkZSwwLHQucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCwhMSwhMCksdC5hdHRhY2hFdmVudHMoKSx0LmluaXRpYWxpemVkPSEwLHQuZW1pdCgiaW5pdCIpLHQuZW1pdCgiYWZ0ZXJJbml0IikpLHR9fSx7a2V5OiJkZXN0cm95Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPSEoYXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0pfHxhcmd1bWVudHNbMF0sdD0hKGFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdKXx8YXJndW1lbnRzWzFdLGE9dGhpcyxyPWEucGFyYW1zLGk9YS4kZWwsbj1hLiR3cmFwcGVyRWwscz1hLnNsaWRlcztyZXR1cm4gdm9pZCAwPT09YS5wYXJhbXN8fGEuZGVzdHJveWVkfHwoYS5lbWl0KCJiZWZvcmVEZXN0cm95IiksYS5pbml0aWFsaXplZD0hMSxhLmRldGFjaEV2ZW50cygpLHIubG9vcCYmYS5sb29wRGVzdHJveSgpLHQmJihhLnJlbW92ZUNsYXNzZXMoKSxpLnJlbW92ZUF0dHIoInN0eWxlIiksbi5yZW1vdmVBdHRyKCJzdHlsZSIpLHMmJnMubGVuZ3RoJiZzLnJlbW92ZUNsYXNzKFtyLnNsaWRlVmlzaWJsZUNsYXNzLHIuc2xpZGVBY3RpdmVDbGFzcyxyLnNsaWRlTmV4dENsYXNzLHIuc2xpZGVQcmV2Q2xhc3NdLmpvaW4oIiAiKSkucmVtb3ZlQXR0cigic3R5bGUiKS5yZW1vdmVBdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpKSxhLmVtaXQoImRlc3Ryb3kiKSxPYmplY3Qua2V5cyhhLmV2ZW50c0xpc3RlbmVycykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7YS5vZmYoZSl9KSksITEhPT1lJiYoYS4kZWxbMF0uc3dpcGVyPW51bGwsUChhKSksYS5kZXN0cm95ZWQ9ITApLG51bGx9fV0saT1be2tleToiZXh0ZW5kRGVmYXVsdHMiLHZhbHVlOmZ1bmN0aW9uKGUpe0EoVGUsZSl9fSx7a2V5OiJleHRlbmRlZERlZmF1bHRzIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gVGV9fSx7a2V5OiJkZWZhdWx0cyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG1lfX0se2tleToiaW5zdGFsbE1vZHVsZSIsdmFsdWU6ZnVuY3Rpb24odCl7ZS5wcm90b3R5cGUuX19tb2R1bGVzX198fChlLnByb3RvdHlwZS5fX21vZHVsZXNfXz1bXSk7dmFyIGE9ZS5wcm90b3R5cGUuX19tb2R1bGVzX187ImZ1bmN0aW9uIj09dHlwZW9mIHQmJmEuaW5kZXhPZih0KTwwJiZhLnB1c2godCl9fSx7a2V5OiJ1c2UiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpPyh0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLmluc3RhbGxNb2R1bGUodCl9KSksZSk6KGUuaW5zdGFsbE1vZHVsZSh0KSxlKX19XSxhJiZFZSh0LnByb3RvdHlwZSxhKSxpJiZFZSh0LGkpLGV9KCk7T2JqZWN0LmtleXMoU2UpLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5rZXlzKFNlW2VdKS5mb3JFYWNoKChmdW5jdGlvbih0KXtDZS5wcm90b3R5cGVbdF09U2VbZV1bdF19KSl9KSksQ2UudXNlKFtmdW5jdGlvbihlKXt2YXIgdD1lLnN3aXBlcixhPWUub24saT1lLmVtaXQsbj0oMCxyLkpqKSgpLHM9bnVsbCxvPWZ1bmN0aW9uKCl7dCYmIXQuZGVzdHJveWVkJiZ0LmluaXRpYWxpemVkJiYoaSgiYmVmb3JlUmVzaXplIiksaSgicmVzaXplIikpfSxsPWZ1bmN0aW9uKCl7dCYmIXQuZGVzdHJveWVkJiZ0LmluaXRpYWxpemVkJiZpKCJvcmllbnRhdGlvbmNoYW5nZSIpfTthKCJpbml0IiwoZnVuY3Rpb24oKXt0LnBhcmFtcy5yZXNpemVPYnNlcnZlciYmdm9pZCAwIT09bi5SZXNpemVPYnNlcnZlcj90JiYhdC5kZXN0cm95ZWQmJnQuaW5pdGlhbGl6ZWQmJihzPW5ldyBSZXNpemVPYnNlcnZlcigoZnVuY3Rpb24oZSl7dmFyIGE9dC53aWR0aCxyPXQuaGVpZ2h0LGk9YSxuPXI7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgYT1lLmNvbnRlbnRCb3hTaXplLHI9ZS5jb250ZW50UmVjdCxzPWUudGFyZ2V0O3MmJnMhPT10LmVsfHwoaT1yP3Iud2lkdGg6KGFbMF18fGEpLmlubGluZVNpemUsbj1yP3IuaGVpZ2h0OihhWzBdfHxhKS5ibG9ja1NpemUpfSkpLGk9PT1hJiZuPT09cnx8bygpfSkpLHMub2JzZXJ2ZSh0LmVsKSk6KG4uYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixvKSxuLmFkZEV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixsKSl9KSksYSgiZGVzdHJveSIsKGZ1bmN0aW9uKCl7cyYmcy51bm9ic2VydmUmJnQuZWwmJihzLnVub2JzZXJ2ZSh0LmVsKSxzPW51bGwpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixvKSxuLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixsKX0pKX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zd2lwZXIsYT1lLmV4dGVuZFBhcmFtcyxpPWUub24sbj1lLmVtaXQscz1bXSxvPSgwLHIuSmopKCksbD1mdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e30sYT1vLk11dGF0aW9uT2JzZXJ2ZXJ8fG8uV2Via2l0TXV0YXRpb25PYnNlcnZlcixyPW5ldyBhKChmdW5jdGlvbihlKXtpZigxIT09ZS5sZW5ndGgpe3ZhciB0PWZ1bmN0aW9uKCl7bigib2JzZXJ2ZXJVcGRhdGUiLGVbMF0pfTtvLnJlcXVlc3RBbmltYXRpb25GcmFtZT9vLnJlcXVlc3RBbmltYXRpb25GcmFtZSh0KTpvLnNldFRpbWVvdXQodCwwKX1lbHNlIG4oIm9ic2VydmVyVXBkYXRlIixlWzBdKX0pKTtyLm9ic2VydmUoZSx7YXR0cmlidXRlczp2b2lkIDA9PT10LmF0dHJpYnV0ZXN8fHQuYXR0cmlidXRlcyxjaGlsZExpc3Q6dm9pZCAwPT09dC5jaGlsZExpc3R8fHQuY2hpbGRMaXN0LGNoYXJhY3RlckRhdGE6dm9pZCAwPT09dC5jaGFyYWN0ZXJEYXRhfHx0LmNoYXJhY3RlckRhdGF9KSxzLnB1c2gocil9O2Eoe29ic2VydmVyOiExLG9ic2VydmVQYXJlbnRzOiExLG9ic2VydmVTbGlkZUNoaWxkcmVuOiExfSksaSgiaW5pdCIsKGZ1bmN0aW9uKCl7aWYodC5wYXJhbXMub2JzZXJ2ZXIpe2lmKHQucGFyYW1zLm9ic2VydmVQYXJlbnRzKWZvcih2YXIgZT10LiRlbC5wYXJlbnRzKCksYT0wO2E8ZS5sZW5ndGg7YSs9MSlsKGVbYV0pO2wodC4kZWxbMF0se2NoaWxkTGlzdDp0LnBhcmFtcy5vYnNlcnZlU2xpZGVDaGlsZHJlbn0pLGwodC4kd3JhcHBlckVsWzBdLHthdHRyaWJ1dGVzOiExfSl9fSkpLGkoImRlc3Ryb3kiLChmdW5jdGlvbigpe3MuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5kaXNjb25uZWN0KCl9KSkscy5zcGxpY2UoMCxzLmxlbmd0aCl9KSl9XSk7dmFyIE1lPUNlO2Z1bmN0aW9uIFBlKGUpe3JldHVybiBQZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0sUGUoZSl9ZnVuY3Rpb24ga2UoZSx0LGEsaSl7dmFyIG49KDAsci5NZSkoKTtyZXR1cm4gZS5wYXJhbXMuY3JlYXRlRWxlbWVudHMmJk9iamVjdC5rZXlzKGkpLmZvckVhY2goKGZ1bmN0aW9uKHIpe2lmKCFhW3JdJiYhMD09PWEuYXV0byl7dmFyIHM9ZS4kZWwuY2hpbGRyZW4oIi4iLmNvbmNhdChpW3JdKSlbMF07c3x8KChzPW4uY3JlYXRlRWxlbWVudCgiZGl2IikpLmNsYXNzTmFtZT1pW3JdLGUuJGVsLmFwcGVuZChzKSksYVtyXT1zLHRbcl09c319KSksYX1mdW5jdGlvbiAkZSgpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToiIjtyZXR1cm4iLiIuY29uY2F0KGUudHJpbSgpLnJlcGxhY2UoLyhbXC46IVwvXSkvZywiXFwkMSIpLnJlcGxhY2UoLyAvZywiLiIpKX1mdW5jdGlvbiB6ZShlKXtyZXR1cm4gemU9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9LHplKGUpfWZ1bmN0aW9uIE9lKGUpe3ZhciB0PXRoaXMsYT10LiR3cmFwcGVyRWwscj10LnBhcmFtcztpZihyLmxvb3AmJnQubG9vcERlc3Ryb3koKSwib2JqZWN0Ij09PXplKGUpJiYibGVuZ3RoImluIGUpZm9yKHZhciBpPTA7aTxlLmxlbmd0aDtpKz0xKWVbaV0mJmEuYXBwZW5kKGVbaV0pO2Vsc2UgYS5hcHBlbmQoZSk7ci5sb29wJiZ0Lmxvb3BDcmVhdGUoKSxyLm9ic2VydmVyfHx0LnVwZGF0ZSgpfWZ1bmN0aW9uIEllKGUpe3JldHVybiBJZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0sSWUoZSl9ZnVuY3Rpb24gTGUoZSl7dmFyIHQ9dGhpcyxhPXQucGFyYW1zLHI9dC4kd3JhcHBlckVsLGk9dC5hY3RpdmVJbmRleDthLmxvb3AmJnQubG9vcERlc3Ryb3koKTt2YXIgbj1pKzE7aWYoIm9iamVjdCI9PT1JZShlKSYmImxlbmd0aCJpbiBlKXtmb3IodmFyIHM9MDtzPGUubGVuZ3RoO3MrPTEpZVtzXSYmci5wcmVwZW5kKGVbc10pO249aStlLmxlbmd0aH1lbHNlIHIucHJlcGVuZChlKTthLmxvb3AmJnQubG9vcENyZWF0ZSgpLGEub2JzZXJ2ZXJ8fHQudXBkYXRlKCksdC5zbGlkZVRvKG4sMCwhMSl9ZnVuY3Rpb24gQWUoZSl7cmV0dXJuIEFlPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxBZShlKX1mdW5jdGlvbiBEZShlLHQpe3ZhciBhPXRoaXMscj1hLiR3cmFwcGVyRWwsaT1hLnBhcmFtcyxuPWEuYWN0aXZlSW5kZXg7aS5sb29wJiYobi09YS5sb29wZWRTbGlkZXMsYS5sb29wRGVzdHJveSgpLGEuc2xpZGVzPXIuY2hpbGRyZW4oIi4iLmNvbmNhdChpLnNsaWRlQ2xhc3MpKSk7dmFyIHM9YS5zbGlkZXMubGVuZ3RoO2lmKGU8PTApYS5wcmVwZW5kU2xpZGUodCk7ZWxzZSBpZihlPj1zKWEuYXBwZW5kU2xpZGUodCk7ZWxzZXtmb3IodmFyIG89bj5lP24rMTpuLGw9W10sZD1zLTE7ZD49ZTtkLT0xKXt2YXIgYz1hLnNsaWRlcy5lcShkKTtjLnJlbW92ZSgpLGwudW5zaGlmdChjKX1pZigib2JqZWN0Ij09PUFlKHQpJiYibGVuZ3RoImluIHQpe2Zvcih2YXIgcD0wO3A8dC5sZW5ndGg7cCs9MSl0W3BdJiZyLmFwcGVuZCh0W3BdKTtvPW4+ZT9uK3QubGVuZ3RoOm59ZWxzZSByLmFwcGVuZCh0KTtmb3IodmFyIHU9MDt1PGwubGVuZ3RoO3UrPTEpci5hcHBlbmQobFt1XSk7aS5sb29wJiZhLmxvb3BDcmVhdGUoKSxpLm9ic2VydmVyfHxhLnVwZGF0ZSgpLGkubG9vcD9hLnNsaWRlVG8obythLmxvb3BlZFNsaWRlcywwLCExKTphLnNsaWRlVG8obywwLCExKX19ZnVuY3Rpb24gamUoZSl7cmV0dXJuIGplPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxqZShlKX1mdW5jdGlvbiBHZShlKXt2YXIgdD10aGlzLGE9dC5wYXJhbXMscj10LiR3cmFwcGVyRWwsaT10LmFjdGl2ZUluZGV4O2EubG9vcCYmKGktPXQubG9vcGVkU2xpZGVzLHQubG9vcERlc3Ryb3koKSx0LnNsaWRlcz1yLmNoaWxkcmVuKCIuIi5jb25jYXQoYS5zbGlkZUNsYXNzKSkpO3ZhciBuLHM9aTtpZigib2JqZWN0Ij09PWplKGUpJiYibGVuZ3RoImluIGUpe2Zvcih2YXIgbz0wO288ZS5sZW5ndGg7bys9MSluPWVbb10sdC5zbGlkZXNbbl0mJnQuc2xpZGVzLmVxKG4pLnJlbW92ZSgpLG48cyYmKHMtPTEpO3M9TWF0aC5tYXgocywwKX1lbHNlIG49ZSx0LnNsaWRlc1tuXSYmdC5zbGlkZXMuZXEobikucmVtb3ZlKCksbjxzJiYocy09MSkscz1NYXRoLm1heChzLDApO2EubG9vcCYmdC5sb29wQ3JlYXRlKCksYS5vYnNlcnZlcnx8dC51cGRhdGUoKSxhLmxvb3A/dC5zbGlkZVRvKHMrdC5sb29wZWRTbGlkZXMsMCwhMSk6dC5zbGlkZVRvKHMsMCwhMSl9ZnVuY3Rpb24gQmUoKXtmb3IodmFyIGU9W10sdD0wO3Q8dGhpcy5zbGlkZXMubGVuZ3RoO3QrPTEpZS5wdXNoKHQpO3RoaXMucmVtb3ZlU2xpZGUoZSl9ZnVuY3Rpb24gTmUoZSl7dmFyIHQ9ZS5lZmZlY3QsYT1lLnN3aXBlcixyPWUub24saT1lLnNldFRyYW5zbGF0ZSxuPWUuc2V0VHJhbnNpdGlvbixzPWUub3ZlcndyaXRlUGFyYW1zLG89ZS5wZXJzcGVjdGl2ZTtyKCJiZWZvcmVJbml0IiwoZnVuY3Rpb24oKXtpZihhLnBhcmFtcy5lZmZlY3Q9PT10KXthLmNsYXNzTmFtZXMucHVzaCgiIi5jb25jYXQoYS5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcykuY29uY2F0KHQpKSxvJiZvKCkmJmEuY2xhc3NOYW1lcy5wdXNoKCIiLmNvbmNhdChhLnBhcmFtcy5jb250YWluZXJNb2RpZmllckNsYXNzLCIzZCIpKTt2YXIgZT1zP3MoKTp7fTtPYmplY3QuYXNzaWduKGEucGFyYW1zLGUpLE9iamVjdC5hc3NpZ24oYS5vcmlnaW5hbFBhcmFtcyxlKX19KSkscigic2V0VHJhbnNsYXRlIiwoZnVuY3Rpb24oKXthLnBhcmFtcy5lZmZlY3Q9PT10JiZpKCl9KSkscigic2V0VHJhbnNpdGlvbiIsKGZ1bmN0aW9uKGUscil7YS5wYXJhbXMuZWZmZWN0PT09dCYmbihyKX0pKX1mdW5jdGlvbiBYZShlLHQpe3JldHVybiBlLnRyYW5zZm9ybUVsP3QuZmluZChlLnRyYW5zZm9ybUVsKS5jc3MoeyJiYWNrZmFjZS12aXNpYmlsaXR5IjoiaGlkZGVuIiwiLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5IjoiaGlkZGVuIn0pOnR9ZnVuY3Rpb24gSGUoZSl7dmFyIHQ9ZS5zd2lwZXIsYT1lLmR1cmF0aW9uLHI9ZS50cmFuc2Zvcm1FbCxpPWUuYWxsU2xpZGVzLG49dC5zbGlkZXMscz10LmFjdGl2ZUluZGV4LG89dC4kd3JhcHBlckVsO2lmKHQucGFyYW1zLnZpcnR1YWxUcmFuc2xhdGUmJjAhPT1hKXt2YXIgbD0hMTsoaT9yP24uZmluZChyKTpuOnI/bi5lcShzKS5maW5kKHIpOm4uZXEocykpLnRyYW5zaXRpb25FbmQoKGZ1bmN0aW9uKCl7aWYoIWwmJnQmJiF0LmRlc3Ryb3llZCl7bD0hMCx0LmFuaW1hdGluZz0hMTtmb3IodmFyIGU9WyJ3ZWJraXRUcmFuc2l0aW9uRW5kIiwidHJhbnNpdGlvbmVuZCJdLGE9MDthPGUubGVuZ3RoO2ErPTEpby50cmlnZ2VyKGVbYV0pfX0pKX19ZnVuY3Rpb24gWWUoZSx0LGEpe3ZhciByPSJzd2lwZXItc2xpZGUtc2hhZG93Ii5jb25jYXQoYT8iLSIuY29uY2F0KGEpOiIiKSxpPWUudHJhbnNmb3JtRWw/dC5maW5kKGUudHJhbnNmb3JtRWwpOnQsbj1pLmNoaWxkcmVuKCIuIi5jb25jYXQocikpO3JldHVybiBuLmxlbmd0aHx8KG49VCgnPGRpdiBjbGFzcz0ic3dpcGVyLXNsaWRlLXNoYWRvdycuY29uY2F0KGE/Ii0iLmNvbmNhdChhKToiIiwnIj48L2Rpdj4nKSksaS5hcHBlbmQobikpLG59dmFyIFJlPVtmdW5jdGlvbihlKXt2YXIgdCxhPWUuc3dpcGVyLHI9ZS5leHRlbmRQYXJhbXMsaT1lLm9uO2Z1bmN0aW9uIG4oZSx0KXt2YXIgcj1hLnBhcmFtcy52aXJ0dWFsO2lmKHIuY2FjaGUmJmEudmlydHVhbC5jYWNoZVt0XSlyZXR1cm4gYS52aXJ0dWFsLmNhY2hlW3RdO3ZhciBpPXIucmVuZGVyU2xpZGU/VChyLnJlbmRlclNsaWRlLmNhbGwoYSxlLHQpKTpUKCc8ZGl2IGNsYXNzPSInLmNvbmNhdChhLnBhcmFtcy5zbGlkZUNsYXNzLCciIGRhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSInKS5jb25jYXQodCwnIj4nKS5jb25jYXQoZSwiPC9kaXY+IikpO3JldHVybiBpLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4Iil8fGkuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiLHQpLHIuY2FjaGUmJihhLnZpcnR1YWwuY2FjaGVbdF09aSksaX1mdW5jdGlvbiBzKGUpe3ZhciB0PWEucGFyYW1zLHI9dC5zbGlkZXNQZXJWaWV3LGk9dC5zbGlkZXNQZXJHcm91cCxzPXQuY2VudGVyZWRTbGlkZXMsbz1hLnBhcmFtcy52aXJ0dWFsLGw9by5hZGRTbGlkZXNCZWZvcmUsZD1vLmFkZFNsaWRlc0FmdGVyLGM9YS52aXJ0dWFsLHA9Yy5mcm9tLHU9Yy50byxmPWMuc2xpZGVzLGg9Yy5zbGlkZXNHcmlkLHY9Yy5vZmZzZXQ7YS5wYXJhbXMuY3NzTW9kZXx8YS51cGRhdGVBY3RpdmVJbmRleCgpO3ZhciBtLGcsdyxiPWEuYWN0aXZlSW5kZXh8fDA7bT1hLnJ0bFRyYW5zbGF0ZT8icmlnaHQiOmEuaXNIb3Jpem9udGFsKCk/ImxlZnQiOiJ0b3AiLHM/KGc9TWF0aC5mbG9vcihyLzIpK2krZCx3PU1hdGguZmxvb3Ioci8yKStpK2wpOihnPXIrKGktMSkrZCx3PWkrbCk7dmFyIHk9TWF0aC5tYXgoKGJ8fDApLXcsMCkseD1NYXRoLm1pbigoYnx8MCkrZyxmLmxlbmd0aC0xKSxFPShhLnNsaWRlc0dyaWRbeV18fDApLShhLnNsaWRlc0dyaWRbMF18fDApO2Z1bmN0aW9uIFMoKXthLnVwZGF0ZVNsaWRlcygpLGEudXBkYXRlUHJvZ3Jlc3MoKSxhLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSxhLmxhenkmJmEucGFyYW1zLmxhenkuZW5hYmxlZCYmYS5sYXp5LmxvYWQoKX1pZihPYmplY3QuYXNzaWduKGEudmlydHVhbCx7ZnJvbTp5LHRvOngsb2Zmc2V0OkUsc2xpZGVzR3JpZDphLnNsaWRlc0dyaWR9KSxwPT09eSYmdT09PXgmJiFlKXJldHVybiBhLnNsaWRlc0dyaWQhPT1oJiZFIT09diYmYS5zbGlkZXMuY3NzKG0sIiIuY29uY2F0KEUsInB4IikpLHZvaWQgYS51cGRhdGVQcm9ncmVzcygpO2lmKGEucGFyYW1zLnZpcnR1YWwucmVuZGVyRXh0ZXJuYWwpcmV0dXJuIGEucGFyYW1zLnZpcnR1YWwucmVuZGVyRXh0ZXJuYWwuY2FsbChhLHtvZmZzZXQ6RSxmcm9tOnksdG86eCxzbGlkZXM6ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD15O3Q8PXg7dCs9MSllLnB1c2goZlt0XSk7cmV0dXJuIGV9KCl9KSx2b2lkKGEucGFyYW1zLnZpcnR1YWwucmVuZGVyRXh0ZXJuYWxVcGRhdGUmJlMoKSk7dmFyIFQ9W10sQz1bXTtpZihlKWEuJHdyYXBwZXJFbC5maW5kKCIuIi5jb25jYXQoYS5wYXJhbXMuc2xpZGVDbGFzcykpLnJlbW92ZSgpO2Vsc2UgZm9yKHZhciBNPXA7TTw9dTtNKz0xKShNPHl8fE0+eCkmJmEuJHdyYXBwZXJFbC5maW5kKCIuIi5jb25jYXQoYS5wYXJhbXMuc2xpZGVDbGFzcywnW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSInKS5jb25jYXQoTSwnIl0nKSkucmVtb3ZlKCk7Zm9yKHZhciBQPTA7UDxmLmxlbmd0aDtQKz0xKVA+PXkmJlA8PXgmJih2b2lkIDA9PT11fHxlP0MucHVzaChQKTooUD51JiZDLnB1c2goUCksUDxwJiZULnB1c2goUCkpKTtDLmZvckVhY2goKGZ1bmN0aW9uKGUpe2EuJHdyYXBwZXJFbC5hcHBlbmQobihmW2VdLGUpKX0pKSxULnNvcnQoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQtZX0pKS5mb3JFYWNoKChmdW5jdGlvbihlKXthLiR3cmFwcGVyRWwucHJlcGVuZChuKGZbZV0sZSkpfSkpLGEuJHdyYXBwZXJFbC5jaGlsZHJlbigiLnN3aXBlci1zbGlkZSIpLmNzcyhtLCIiLmNvbmNhdChFLCJweCIpKSxTKCl9cih7dmlydHVhbDp7ZW5hYmxlZDohMSxzbGlkZXM6W10sY2FjaGU6ITAscmVuZGVyU2xpZGU6bnVsbCxyZW5kZXJFeHRlcm5hbDpudWxsLHJlbmRlckV4dGVybmFsVXBkYXRlOiEwLGFkZFNsaWRlc0JlZm9yZTowLGFkZFNsaWRlc0FmdGVyOjB9fSksYS52aXJ0dWFsPXtjYWNoZTp7fSxmcm9tOnZvaWQgMCx0bzp2b2lkIDAsc2xpZGVzOltdLG9mZnNldDowLHNsaWRlc0dyaWQ6W119LGkoImJlZm9yZUluaXQiLChmdW5jdGlvbigpe2EucGFyYW1zLnZpcnR1YWwuZW5hYmxlZCYmKGEudmlydHVhbC5zbGlkZXM9YS5wYXJhbXMudmlydHVhbC5zbGlkZXMsYS5jbGFzc05hbWVzLnB1c2goIiIuY29uY2F0KGEucGFyYW1zLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MsInZpcnR1YWwiKSksYS5wYXJhbXMud2F0Y2hTbGlkZXNQcm9ncmVzcz0hMCxhLm9yaWdpbmFsUGFyYW1zLndhdGNoU2xpZGVzUHJvZ3Jlc3M9ITAsYS5wYXJhbXMuaW5pdGlhbFNsaWRlfHxzKCkpfSkpLGkoInNldFRyYW5zbGF0ZSIsKGZ1bmN0aW9uKCl7YS5wYXJhbXMudmlydHVhbC5lbmFibGVkJiYoYS5wYXJhbXMuY3NzTW9kZSYmIWEuX2ltbWVkaWF0ZVZpcnR1YWw/KGNsZWFyVGltZW91dCh0KSx0PXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cygpfSksMTAwKSk6cygpKX0pKSxpKCJpbml0IHVwZGF0ZSByZXNpemUiLChmdW5jdGlvbigpe2EucGFyYW1zLnZpcnR1YWwuZW5hYmxlZCYmYS5wYXJhbXMuY3NzTW9kZSYmRChhLndyYXBwZXJFbCwiLS1zd2lwZXItdmlydHVhbC1zaXplIiwiIi5jb25jYXQoYS52aXJ0dWFsU2l6ZSwicHgiKSl9KSksT2JqZWN0LmFzc2lnbihhLnZpcnR1YWwse2FwcGVuZFNsaWRlOmZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT09UGUoZSkmJiJsZW5ndGgiaW4gZSlmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrPTEpZVt0XSYmYS52aXJ0dWFsLnNsaWRlcy5wdXNoKGVbdF0pO2Vsc2UgYS52aXJ0dWFsLnNsaWRlcy5wdXNoKGUpO3MoITApfSxwcmVwZW5kU2xpZGU6ZnVuY3Rpb24oZSl7dmFyIHQ9YS5hY3RpdmVJbmRleCxyPXQrMSxpPTE7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKz0xKWVbbl0mJmEudmlydHVhbC5zbGlkZXMudW5zaGlmdChlW25dKTtyPXQrZS5sZW5ndGgsaT1lLmxlbmd0aH1lbHNlIGEudmlydHVhbC5zbGlkZXMudW5zaGlmdChlKTtpZihhLnBhcmFtcy52aXJ0dWFsLmNhY2hlKXt2YXIgbz1hLnZpcnR1YWwuY2FjaGUsbD17fTtPYmplY3Qua2V5cyhvKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1vW2VdLGE9dC5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpO2EmJnQuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiLHBhcnNlSW50KGEsMTApK2kpLGxbcGFyc2VJbnQoZSwxMCkraV09dH0pKSxhLnZpcnR1YWwuY2FjaGU9bH1zKCEwKSxhLnNsaWRlVG8ociwwKX0scmVtb3ZlU2xpZGU6ZnVuY3Rpb24oZSl7aWYobnVsbCE9ZSl7dmFyIHQ9YS5hY3RpdmVJbmRleDtpZihBcnJheS5pc0FycmF5KGUpKWZvcih2YXIgcj1lLmxlbmd0aC0xO3I+PTA7ci09MSlhLnZpcnR1YWwuc2xpZGVzLnNwbGljZShlW3JdLDEpLGEucGFyYW1zLnZpcnR1YWwuY2FjaGUmJmRlbGV0ZSBhLnZpcnR1YWwuY2FjaGVbZVtyXV0sZVtyXTx0JiYodC09MSksdD1NYXRoLm1heCh0LDApO2Vsc2UgYS52aXJ0dWFsLnNsaWRlcy5zcGxpY2UoZSwxKSxhLnBhcmFtcy52aXJ0dWFsLmNhY2hlJiZkZWxldGUgYS52aXJ0dWFsLmNhY2hlW2VdLGU8dCYmKHQtPTEpLHQ9TWF0aC5tYXgodCwwKTtzKCEwKSxhLnNsaWRlVG8odCwwKX19LHJlbW92ZUFsbFNsaWRlczpmdW5jdGlvbigpe2EudmlydHVhbC5zbGlkZXM9W10sYS5wYXJhbXMudmlydHVhbC5jYWNoZSYmKGEudmlydHVhbC5jYWNoZT17fSkscyghMCksYS5zbGlkZVRvKDAsMCl9LHVwZGF0ZTpzfSl9LGZ1bmN0aW9uKGUpe3ZhciB0PWUuc3dpcGVyLGE9ZS5leHRlbmRQYXJhbXMsaT1lLm9uLG49ZS5lbWl0LHM9KDAsci5NZSkoKSxvPSgwLHIuSmopKCk7ZnVuY3Rpb24gbChlKXtpZih0LmVuYWJsZWQpe3ZhciBhPXQucnRsVHJhbnNsYXRlLHI9ZTtyLm9yaWdpbmFsRXZlbnQmJihyPXIub3JpZ2luYWxFdmVudCk7dmFyIGk9ci5rZXlDb2RlfHxyLmNoYXJDb2RlLGw9dC5wYXJhbXMua2V5Ym9hcmQucGFnZVVwRG93bixkPWwmJjMzPT09aSxjPWwmJjM0PT09aSxwPTM3PT09aSx1PTM5PT09aSxmPTM4PT09aSxoPTQwPT09aTtpZighdC5hbGxvd1NsaWRlTmV4dCYmKHQuaXNIb3Jpem9udGFsKCkmJnV8fHQuaXNWZXJ0aWNhbCgpJiZofHxjKSlyZXR1cm4hMTtpZighdC5hbGxvd1NsaWRlUHJldiYmKHQuaXNIb3Jpem9udGFsKCkmJnB8fHQuaXNWZXJ0aWNhbCgpJiZmfHxkKSlyZXR1cm4hMTtpZighKHIuc2hpZnRLZXl8fHIuYWx0S2V5fHxyLmN0cmxLZXl8fHIubWV0YUtleXx8cy5hY3RpdmVFbGVtZW50JiZzLmFjdGl2ZUVsZW1lbnQubm9kZU5hbWUmJigiaW5wdXQiPT09cy5hY3RpdmVFbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl8fCJ0ZXh0YXJlYSI9PT1zLmFjdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkpKXtpZih0LnBhcmFtcy5rZXlib2FyZC5vbmx5SW5WaWV3cG9ydCYmKGR8fGN8fHB8fHV8fGZ8fGgpKXt2YXIgdj0hMTtpZih0LiRlbC5wYXJlbnRzKCIuIi5jb25jYXQodC5wYXJhbXMuc2xpZGVDbGFzcykpLmxlbmd0aD4wJiYwPT09dC4kZWwucGFyZW50cygiLiIuY29uY2F0KHQucGFyYW1zLnNsaWRlQWN0aXZlQ2xhc3MpKS5sZW5ndGgpcmV0dXJuO3ZhciBtPXQuJGVsLGc9bVswXS5jbGllbnRXaWR0aCx3PW1bMF0uY2xpZW50SGVpZ2h0LGI9by5pbm5lcldpZHRoLHk9by5pbm5lckhlaWdodCx4PXQuJGVsLm9mZnNldCgpO2EmJih4LmxlZnQtPXQuJGVsWzBdLnNjcm9sbExlZnQpO2Zvcih2YXIgRT1bW3gubGVmdCx4LnRvcF0sW3gubGVmdCtnLHgudG9wXSxbeC5sZWZ0LHgudG9wK3ddLFt4LmxlZnQrZyx4LnRvcCt3XV0sUz0wO1M8RS5sZW5ndGg7Uys9MSl7dmFyIFQ9RVtTXTtpZihUWzBdPj0wJiZUWzBdPD1iJiZUWzFdPj0wJiZUWzFdPD15KXtpZigwPT09VFswXSYmMD09PVRbMV0pY29udGludWU7dj0hMH19aWYoIXYpcmV0dXJufXQuaXNIb3Jpem9udGFsKCk/KChkfHxjfHxwfHx1KSYmKHIucHJldmVudERlZmF1bHQ/ci5wcmV2ZW50RGVmYXVsdCgpOnIucmV0dXJuVmFsdWU9ITEpLCgoY3x8dSkmJiFhfHwoZHx8cCkmJmEpJiZ0LnNsaWRlTmV4dCgpLCgoZHx8cCkmJiFhfHwoY3x8dSkmJmEpJiZ0LnNsaWRlUHJldigpKTooKGR8fGN8fGZ8fGgpJiYoci5wcmV2ZW50RGVmYXVsdD9yLnByZXZlbnREZWZhdWx0KCk6ci5yZXR1cm5WYWx1ZT0hMSksKGN8fGgpJiZ0LnNsaWRlTmV4dCgpLChkfHxmKSYmdC5zbGlkZVByZXYoKSksbigia2V5UHJlc3MiLGkpfX19ZnVuY3Rpb24gZCgpe3Qua2V5Ym9hcmQuZW5hYmxlZHx8KFQocykub24oImtleWRvd24iLGwpLHQua2V5Ym9hcmQuZW5hYmxlZD0hMCl9ZnVuY3Rpb24gYygpe3Qua2V5Ym9hcmQuZW5hYmxlZCYmKFQocykub2ZmKCJrZXlkb3duIixsKSx0LmtleWJvYXJkLmVuYWJsZWQ9ITEpfXQua2V5Ym9hcmQ9e2VuYWJsZWQ6ITF9LGEoe2tleWJvYXJkOntlbmFibGVkOiExLG9ubHlJblZpZXdwb3J0OiEwLHBhZ2VVcERvd246ITB9fSksaSgiaW5pdCIsKGZ1bmN0aW9uKCl7dC5wYXJhbXMua2V5Ym9hcmQuZW5hYmxlZCYmZCgpfSkpLGkoImRlc3Ryb3kiLChmdW5jdGlvbigpe3Qua2V5Ym9hcmQuZW5hYmxlZCYmYygpfSkpLE9iamVjdC5hc3NpZ24odC5rZXlib2FyZCx7ZW5hYmxlOmQsZGlzYWJsZTpjfSl9LGZ1bmN0aW9uKGUpe3ZhciB0LGE9ZS5zd2lwZXIsaT1lLmV4dGVuZFBhcmFtcyxuPWUub24scz1lLmVtaXQsbz0oMCxyLkpqKSgpO2koe21vdXNld2hlZWw6e2VuYWJsZWQ6ITEscmVsZWFzZU9uRWRnZXM6ITEsaW52ZXJ0OiExLGZvcmNlVG9BeGlzOiExLHNlbnNpdGl2aXR5OjEsZXZlbnRzVGFyZ2V0OiJjb250YWluZXIiLHRocmVzaG9sZERlbHRhOm51bGwsdGhyZXNob2xkVGltZTpudWxsfX0pLGEubW91c2V3aGVlbD17ZW5hYmxlZDohMX07dmFyIGwsZD0kKCksYz1bXTtmdW5jdGlvbiBwKCl7YS5lbmFibGVkJiYoYS5tb3VzZUVudGVyZWQ9ITApfWZ1bmN0aW9uIHUoKXthLmVuYWJsZWQmJihhLm1vdXNlRW50ZXJlZD0hMSl9ZnVuY3Rpb24gZihlKXtyZXR1cm4hKGEucGFyYW1zLm1vdXNld2hlZWwudGhyZXNob2xkRGVsdGEmJmUuZGVsdGE8YS5wYXJhbXMubW91c2V3aGVlbC50aHJlc2hvbGREZWx0YSkmJighKGEucGFyYW1zLm1vdXNld2hlZWwudGhyZXNob2xkVGltZSYmJCgpLWQ8YS5wYXJhbXMubW91c2V3aGVlbC50aHJlc2hvbGRUaW1lKSYmKGUuZGVsdGE+PTYmJiQoKS1kPDYwfHwoZS5kaXJlY3Rpb248MD9hLmlzRW5kJiYhYS5wYXJhbXMubG9vcHx8YS5hbmltYXRpbmd8fChhLnNsaWRlTmV4dCgpLHMoInNjcm9sbCIsZS5yYXcpKTphLmlzQmVnaW5uaW5nJiYhYS5wYXJhbXMubG9vcHx8YS5hbmltYXRpbmd8fChhLnNsaWRlUHJldigpLHMoInNjcm9sbCIsZS5yYXcpKSxkPShuZXcgby5EYXRlKS5nZXRUaW1lKCksITEpKSl9ZnVuY3Rpb24gaChlKXt2YXIgcj1lO2lmKGEuZW5hYmxlZCl7dmFyIGk9YS5wYXJhbXMubW91c2V3aGVlbDthLnBhcmFtcy5jc3NNb2RlJiZyLnByZXZlbnREZWZhdWx0KCk7dmFyIG49YS4kZWw7aWYoImNvbnRhaW5lciIhPT1hLnBhcmFtcy5tb3VzZXdoZWVsLmV2ZW50c1RhcmdldCYmKG49VChhLnBhcmFtcy5tb3VzZXdoZWVsLmV2ZW50c1RhcmdldCkpLCFhLm1vdXNlRW50ZXJlZCYmIW5bMF0uY29udGFpbnMoci50YXJnZXQpJiYhaS5yZWxlYXNlT25FZGdlcylyZXR1cm4hMDtyLm9yaWdpbmFsRXZlbnQmJihyPXIub3JpZ2luYWxFdmVudCk7dmFyIG89MCxkPWEucnRsVHJhbnNsYXRlPy0xOjEscD1mdW5jdGlvbihlKXt2YXIgdD0wLGE9MCxyPTAsaT0wO3JldHVybiJkZXRhaWwiaW4gZSYmKGE9ZS5kZXRhaWwpLCJ3aGVlbERlbHRhImluIGUmJihhPS1lLndoZWVsRGVsdGEvMTIwKSwid2hlZWxEZWx0YVkiaW4gZSYmKGE9LWUud2hlZWxEZWx0YVkvMTIwKSwid2hlZWxEZWx0YVgiaW4gZSYmKHQ9LWUud2hlZWxEZWx0YVgvMTIwKSwiYXhpcyJpbiBlJiZlLmF4aXM9PT1lLkhPUklaT05UQUxfQVhJUyYmKHQ9YSxhPTApLHI9MTAqdCxpPTEwKmEsImRlbHRhWSJpbiBlJiYoaT1lLmRlbHRhWSksImRlbHRhWCJpbiBlJiYocj1lLmRlbHRhWCksZS5zaGlmdEtleSYmIXImJihyPWksaT0wKSwocnx8aSkmJmUuZGVsdGFNb2RlJiYoMT09PWUuZGVsdGFNb2RlPyhyKj00MCxpKj00MCk6KHIqPTgwMCxpKj04MDApKSxyJiYhdCYmKHQ9cjwxPy0xOjEpLGkmJiFhJiYoYT1pPDE/LTE6MSkse3NwaW5YOnQsc3Bpblk6YSxwaXhlbFg6cixwaXhlbFk6aX19KHIpO2lmKGkuZm9yY2VUb0F4aXMpaWYoYS5pc0hvcml6b250YWwoKSl7aWYoIShNYXRoLmFicyhwLnBpeGVsWCk+TWF0aC5hYnMocC5waXhlbFkpKSlyZXR1cm4hMDtvPS1wLnBpeGVsWCpkfWVsc2V7aWYoIShNYXRoLmFicyhwLnBpeGVsWSk+TWF0aC5hYnMocC5waXhlbFgpKSlyZXR1cm4hMDtvPS1wLnBpeGVsWX1lbHNlIG89TWF0aC5hYnMocC5waXhlbFgpPk1hdGguYWJzKHAucGl4ZWxZKT8tcC5waXhlbFgqZDotcC5waXhlbFk7aWYoMD09PW8pcmV0dXJuITA7aS5pbnZlcnQmJihvPS1vKTt2YXIgdT1hLmdldFRyYW5zbGF0ZSgpK28qaS5zZW5zaXRpdml0eTtpZih1Pj1hLm1pblRyYW5zbGF0ZSgpJiYodT1hLm1pblRyYW5zbGF0ZSgpKSx1PD1hLm1heFRyYW5zbGF0ZSgpJiYodT1hLm1heFRyYW5zbGF0ZSgpKSwoISFhLnBhcmFtcy5sb29wfHwhKHU9PT1hLm1pblRyYW5zbGF0ZSgpfHx1PT09YS5tYXhUcmFuc2xhdGUoKSkpJiZhLnBhcmFtcy5uZXN0ZWQmJnIuc3RvcFByb3BhZ2F0aW9uKCksYS5wYXJhbXMuZnJlZU1vZGUmJmEucGFyYW1zLmZyZWVNb2RlLmVuYWJsZWQpe3ZhciBoPXt0aW1lOiQoKSxkZWx0YTpNYXRoLmFicyhvKSxkaXJlY3Rpb246TWF0aC5zaWduKG8pfSx2PWwmJmgudGltZTxsLnRpbWUrNTAwJiZoLmRlbHRhPD1sLmRlbHRhJiZoLmRpcmVjdGlvbj09PWwuZGlyZWN0aW9uO2lmKCF2KXtsPXZvaWQgMCxhLnBhcmFtcy5sb29wJiZhLmxvb3BGaXgoKTt2YXIgbT1hLmdldFRyYW5zbGF0ZSgpK28qaS5zZW5zaXRpdml0eSxnPWEuaXNCZWdpbm5pbmcsdz1hLmlzRW5kO2lmKG0+PWEubWluVHJhbnNsYXRlKCkmJihtPWEubWluVHJhbnNsYXRlKCkpLG08PWEubWF4VHJhbnNsYXRlKCkmJihtPWEubWF4VHJhbnNsYXRlKCkpLGEuc2V0VHJhbnNpdGlvbigwKSxhLnNldFRyYW5zbGF0ZShtKSxhLnVwZGF0ZVByb2dyZXNzKCksYS51cGRhdGVBY3RpdmVJbmRleCgpLGEudXBkYXRlU2xpZGVzQ2xhc3NlcygpLCghZyYmYS5pc0JlZ2lubmluZ3x8IXcmJmEuaXNFbmQpJiZhLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSxhLnBhcmFtcy5mcmVlTW9kZS5zdGlja3kpe2NsZWFyVGltZW91dCh0KSx0PXZvaWQgMCxjLmxlbmd0aD49MTUmJmMuc2hpZnQoKTt2YXIgYj1jLmxlbmd0aD9jW2MubGVuZ3RoLTFdOnZvaWQgMCx5PWNbMF07aWYoYy5wdXNoKGgpLGImJihoLmRlbHRhPmIuZGVsdGF8fGguZGlyZWN0aW9uIT09Yi5kaXJlY3Rpb24pKWMuc3BsaWNlKDApO2Vsc2UgaWYoYy5sZW5ndGg+PTE1JiZoLnRpbWUteS50aW1lPDUwMCYmeS5kZWx0YS1oLmRlbHRhPj0xJiZoLmRlbHRhPD02KXt2YXIgeD1vPjA/Ljg6LjI7bD1oLGMuc3BsaWNlKDApLHQ9aygoZnVuY3Rpb24oKXthLnNsaWRlVG9DbG9zZXN0KGEucGFyYW1zLnNwZWVkLCEwLHZvaWQgMCx4KX0pLDApfXR8fCh0PWsoKGZ1bmN0aW9uKCl7bD1oLGMuc3BsaWNlKDApLGEuc2xpZGVUb0Nsb3Nlc3QoYS5wYXJhbXMuc3BlZWQsITAsdm9pZCAwLC41KX0pLDUwMCkpfWlmKHZ8fHMoInNjcm9sbCIsciksYS5wYXJhbXMuYXV0b3BsYXkmJmEucGFyYW1zLmF1dG9wbGF5RGlzYWJsZU9uSW50ZXJhY3Rpb24mJmEuYXV0b3BsYXkuc3RvcCgpLG09PT1hLm1pblRyYW5zbGF0ZSgpfHxtPT09YS5tYXhUcmFuc2xhdGUoKSlyZXR1cm4hMH19ZWxzZXt2YXIgRT17dGltZTokKCksZGVsdGE6TWF0aC5hYnMobyksZGlyZWN0aW9uOk1hdGguc2lnbihvKSxyYXc6ZX07Yy5sZW5ndGg+PTImJmMuc2hpZnQoKTt2YXIgUz1jLmxlbmd0aD9jW2MubGVuZ3RoLTFdOnZvaWQgMDtpZihjLnB1c2goRSksUz8oRS5kaXJlY3Rpb24hPT1TLmRpcmVjdGlvbnx8RS5kZWx0YT5TLmRlbHRhfHxFLnRpbWU+Uy50aW1lKzE1MCkmJmYoRSk6ZihFKSxmdW5jdGlvbihlKXt2YXIgdD1hLnBhcmFtcy5tb3VzZXdoZWVsO2lmKGUuZGlyZWN0aW9uPDApe2lmKGEuaXNFbmQmJiFhLnBhcmFtcy5sb29wJiZ0LnJlbGVhc2VPbkVkZ2VzKXJldHVybiEwfWVsc2UgaWYoYS5pc0JlZ2lubmluZyYmIWEucGFyYW1zLmxvb3AmJnQucmVsZWFzZU9uRWRnZXMpcmV0dXJuITA7cmV0dXJuITF9KEUpKXJldHVybiEwfXJldHVybiByLnByZXZlbnREZWZhdWx0P3IucHJldmVudERlZmF1bHQoKTpyLnJldHVyblZhbHVlPSExLCExfX1mdW5jdGlvbiB2KGUpe3ZhciB0PWEuJGVsOyJjb250YWluZXIiIT09YS5wYXJhbXMubW91c2V3aGVlbC5ldmVudHNUYXJnZXQmJih0PVQoYS5wYXJhbXMubW91c2V3aGVlbC5ldmVudHNUYXJnZXQpKSx0W2VdKCJtb3VzZWVudGVyIixwKSx0W2VdKCJtb3VzZWxlYXZlIix1KSx0W2VdKCJ3aGVlbCIsaCl9ZnVuY3Rpb24gbSgpe3JldHVybiBhLnBhcmFtcy5jc3NNb2RlPyhhLndyYXBwZXJFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsaCksITApOiFhLm1vdXNld2hlZWwuZW5hYmxlZCYmKHYoIm9uIiksYS5tb3VzZXdoZWVsLmVuYWJsZWQ9ITAsITApfWZ1bmN0aW9uIGcoKXtyZXR1cm4gYS5wYXJhbXMuY3NzTW9kZT8oYS53cmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcihldmVudCxoKSwhMCk6ISFhLm1vdXNld2hlZWwuZW5hYmxlZCYmKHYoIm9mZiIpLGEubW91c2V3aGVlbC5lbmFibGVkPSExLCEwKX1uKCJpbml0IiwoZnVuY3Rpb24oKXshYS5wYXJhbXMubW91c2V3aGVlbC5lbmFibGVkJiZhLnBhcmFtcy5jc3NNb2RlJiZnKCksYS5wYXJhbXMubW91c2V3aGVlbC5lbmFibGVkJiZtKCl9KSksbigiZGVzdHJveSIsKGZ1bmN0aW9uKCl7YS5wYXJhbXMuY3NzTW9kZSYmbSgpLGEubW91c2V3aGVlbC5lbmFibGVkJiZnKCl9KSksT2JqZWN0LmFzc2lnbihhLm1vdXNld2hlZWwse2VuYWJsZTptLGRpc2FibGU6Z30pfSxmdW5jdGlvbihlKXt2YXIgdD1lLnN3aXBlcixhPWUuZXh0ZW5kUGFyYW1zLHI9ZS5vbixpPWUuZW1pdDtmdW5jdGlvbiBuKGUpe3ZhciBhO3JldHVybiBlJiYoYT1UKGUpLHQucGFyYW1zLnVuaXF1ZU5hdkVsZW1lbnRzJiYic3RyaW5nIj09dHlwZW9mIGUmJmEubGVuZ3RoPjEmJjE9PT10LiRlbC5maW5kKGUpLmxlbmd0aCYmKGE9dC4kZWwuZmluZChlKSkpLGF9ZnVuY3Rpb24gcyhlLGEpe3ZhciByPXQucGFyYW1zLm5hdmlnYXRpb247ZSYmZS5sZW5ndGg+MCYmKGVbYT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKHIuZGlzYWJsZWRDbGFzcyksZVswXSYmIkJVVFRPTiI9PT1lWzBdLnRhZ05hbWUmJihlWzBdLmRpc2FibGVkPWEpLHQucGFyYW1zLndhdGNoT3ZlcmZsb3cmJnQuZW5hYmxlZCYmZVt0LmlzTG9ja2VkPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0oci5sb2NrQ2xhc3MpKX1mdW5jdGlvbiBvKCl7aWYoIXQucGFyYW1zLmxvb3Ape3ZhciBlPXQubmF2aWdhdGlvbixhPWUuJG5leHRFbDtzKGUuJHByZXZFbCx0LmlzQmVnaW5uaW5nKSxzKGEsdC5pc0VuZCl9fWZ1bmN0aW9uIGwoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHQuaXNCZWdpbm5pbmcmJiF0LnBhcmFtcy5sb29wfHx0LnNsaWRlUHJldigpfWZ1bmN0aW9uIGQoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHQuaXNFbmQmJiF0LnBhcmFtcy5sb29wfHx0LnNsaWRlTmV4dCgpfWZ1bmN0aW9uIGMoKXt2YXIgZT10LnBhcmFtcy5uYXZpZ2F0aW9uO2lmKHQucGFyYW1zLm5hdmlnYXRpb249a2UodCx0Lm9yaWdpbmFsUGFyYW1zLm5hdmlnYXRpb24sdC5wYXJhbXMubmF2aWdhdGlvbix7bmV4dEVsOiJzd2lwZXItYnV0dG9uLW5leHQiLHByZXZFbDoic3dpcGVyLWJ1dHRvbi1wcmV2In0pLGUubmV4dEVsfHxlLnByZXZFbCl7dmFyIGE9bihlLm5leHRFbCkscj1uKGUucHJldkVsKTthJiZhLmxlbmd0aD4wJiZhLm9uKCJjbGljayIsZCksciYmci5sZW5ndGg+MCYmci5vbigiY2xpY2siLGwpLE9iamVjdC5hc3NpZ24odC5uYXZpZ2F0aW9uLHskbmV4dEVsOmEsbmV4dEVsOmEmJmFbMF0sJHByZXZFbDpyLHByZXZFbDpyJiZyWzBdfSksdC5lbmFibGVkfHwoYSYmYS5hZGRDbGFzcyhlLmxvY2tDbGFzcyksciYmci5hZGRDbGFzcyhlLmxvY2tDbGFzcykpfX1mdW5jdGlvbiBwKCl7dmFyIGU9dC5uYXZpZ2F0aW9uLGE9ZS4kbmV4dEVsLHI9ZS4kcHJldkVsO2EmJmEubGVuZ3RoJiYoYS5vZmYoImNsaWNrIixkKSxhLnJlbW92ZUNsYXNzKHQucGFyYW1zLm5hdmlnYXRpb24uZGlzYWJsZWRDbGFzcykpLHImJnIubGVuZ3RoJiYoci5vZmYoImNsaWNrIixsKSxyLnJlbW92ZUNsYXNzKHQucGFyYW1zLm5hdmlnYXRpb24uZGlzYWJsZWRDbGFzcykpfWEoe25hdmlnYXRpb246e25leHRFbDpudWxsLHByZXZFbDpudWxsLGhpZGVPbkNsaWNrOiExLGRpc2FibGVkQ2xhc3M6InN3aXBlci1idXR0b24tZGlzYWJsZWQiLGhpZGRlbkNsYXNzOiJzd2lwZXItYnV0dG9uLWhpZGRlbiIsbG9ja0NsYXNzOiJzd2lwZXItYnV0dG9uLWxvY2sifX0pLHQubmF2aWdhdGlvbj17bmV4dEVsOm51bGwsJG5leHRFbDpudWxsLHByZXZFbDpudWxsLCRwcmV2RWw6bnVsbH0scigiaW5pdCIsKGZ1bmN0aW9uKCl7YygpLG8oKX0pKSxyKCJ0b0VkZ2UgZnJvbUVkZ2UgbG9jayB1bmxvY2siLChmdW5jdGlvbigpe28oKX0pKSxyKCJkZXN0cm95IiwoZnVuY3Rpb24oKXtwKCl9KSkscigiZW5hYmxlIGRpc2FibGUiLChmdW5jdGlvbigpe3ZhciBlPXQubmF2aWdhdGlvbixhPWUuJG5leHRFbCxyPWUuJHByZXZFbDthJiZhW3QuZW5hYmxlZD8icmVtb3ZlQ2xhc3MiOiJhZGRDbGFzcyJdKHQucGFyYW1zLm5hdmlnYXRpb24ubG9ja0NsYXNzKSxyJiZyW3QuZW5hYmxlZD8icmVtb3ZlQ2xhc3MiOiJhZGRDbGFzcyJdKHQucGFyYW1zLm5hdmlnYXRpb24ubG9ja0NsYXNzKX0pKSxyKCJjbGljayIsKGZ1bmN0aW9uKGUsYSl7dmFyIHI9dC5uYXZpZ2F0aW9uLG49ci4kbmV4dEVsLHM9ci4kcHJldkVsLG89YS50YXJnZXQ7aWYodC5wYXJhbXMubmF2aWdhdGlvbi5oaWRlT25DbGljayYmIVQobykuaXMocykmJiFUKG8pLmlzKG4pKXtpZih0LnBhZ2luYXRpb24mJnQucGFyYW1zLnBhZ2luYXRpb24mJnQucGFyYW1zLnBhZ2luYXRpb24uY2xpY2thYmxlJiYodC5wYWdpbmF0aW9uLmVsPT09b3x8dC5wYWdpbmF0aW9uLmVsLmNvbnRhaW5zKG8pKSlyZXR1cm47dmFyIGw7bj9sPW4uaGFzQ2xhc3ModC5wYXJhbXMubmF2aWdhdGlvbi5oaWRkZW5DbGFzcyk6cyYmKGw9cy5oYXNDbGFzcyh0LnBhcmFtcy5uYXZpZ2F0aW9uLmhpZGRlbkNsYXNzKSksaSghMD09PWw/Im5hdmlnYXRpb25TaG93IjoibmF2aWdhdGlvbkhpZGUiKSxuJiZuLnRvZ2dsZUNsYXNzKHQucGFyYW1zLm5hdmlnYXRpb24uaGlkZGVuQ2xhc3MpLHMmJnMudG9nZ2xlQ2xhc3ModC5wYXJhbXMubmF2aWdhdGlvbi5oaWRkZW5DbGFzcyl9fSkpLE9iamVjdC5hc3NpZ24odC5uYXZpZ2F0aW9uLHt1cGRhdGU6byxpbml0OmMsZGVzdHJveTpwfSl9LGZ1bmN0aW9uKGUpe3ZhciB0LGE9ZS5zd2lwZXIscj1lLmV4dGVuZFBhcmFtcyxpPWUub24sbj1lLmVtaXQscz0ic3dpcGVyLXBhZ2luYXRpb24iO3Ioe3BhZ2luYXRpb246e2VsOm51bGwsYnVsbGV0RWxlbWVudDoic3BhbiIsY2xpY2thYmxlOiExLGhpZGVPbkNsaWNrOiExLHJlbmRlckJ1bGxldDpudWxsLHJlbmRlclByb2dyZXNzYmFyOm51bGwscmVuZGVyRnJhY3Rpb246bnVsbCxyZW5kZXJDdXN0b206bnVsbCxwcm9ncmVzc2Jhck9wcG9zaXRlOiExLHR5cGU6ImJ1bGxldHMiLGR5bmFtaWNCdWxsZXRzOiExLGR5bmFtaWNNYWluQnVsbGV0czoxLGZvcm1hdEZyYWN0aW9uQ3VycmVudDpmdW5jdGlvbihlKXtyZXR1cm4gZX0sZm9ybWF0RnJhY3Rpb25Ub3RhbDpmdW5jdGlvbihlKXtyZXR1cm4gZX0sYnVsbGV0Q2xhc3M6IiIuY29uY2F0KHMsIi1idWxsZXQiKSxidWxsZXRBY3RpdmVDbGFzczoiIi5jb25jYXQocywiLWJ1bGxldC1hY3RpdmUiKSxtb2RpZmllckNsYXNzOiIiLmNvbmNhdChzLCItIiksY3VycmVudENsYXNzOiIiLmNvbmNhdChzLCItY3VycmVudCIpLHRvdGFsQ2xhc3M6IiIuY29uY2F0KHMsIi10b3RhbCIpLGhpZGRlbkNsYXNzOiIiLmNvbmNhdChzLCItaGlkZGVuIikscHJvZ3Jlc3NiYXJGaWxsQ2xhc3M6IiIuY29uY2F0KHMsIi1wcm9ncmVzc2Jhci1maWxsIikscHJvZ3Jlc3NiYXJPcHBvc2l0ZUNsYXNzOiIiLmNvbmNhdChzLCItcHJvZ3Jlc3NiYXItb3Bwb3NpdGUiKSxjbGlja2FibGVDbGFzczoiIi5jb25jYXQocywiLWNsaWNrYWJsZSIpLGxvY2tDbGFzczoiIi5jb25jYXQocywiLWxvY2siKSxob3Jpem9udGFsQ2xhc3M6IiIuY29uY2F0KHMsIi1ob3Jpem9udGFsIiksdmVydGljYWxDbGFzczoiIi5jb25jYXQocywiLXZlcnRpY2FsIil9fSksYS5wYWdpbmF0aW9uPXtlbDpudWxsLCRlbDpudWxsLGJ1bGxldHM6W119O3ZhciBvPTA7ZnVuY3Rpb24gbCgpe3JldHVybiFhLnBhcmFtcy5wYWdpbmF0aW9uLmVsfHwhYS5wYWdpbmF0aW9uLmVsfHwhYS5wYWdpbmF0aW9uLiRlbHx8MD09PWEucGFnaW5hdGlvbi4kZWwubGVuZ3RofWZ1bmN0aW9uIGQoZSx0KXt2YXIgcj1hLnBhcmFtcy5wYWdpbmF0aW9uLmJ1bGxldEFjdGl2ZUNsYXNzO2VbdF0oKS5hZGRDbGFzcygiIi5jb25jYXQociwiLSIpLmNvbmNhdCh0KSlbdF0oKS5hZGRDbGFzcygiIi5jb25jYXQociwiLSIpLmNvbmNhdCh0LCItIikuY29uY2F0KHQpKX1mdW5jdGlvbiBjKCl7dmFyIGU9YS5ydGwscj1hLnBhcmFtcy5wYWdpbmF0aW9uO2lmKCFsKCkpe3ZhciBpLHM9YS52aXJ0dWFsJiZhLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ/YS52aXJ0dWFsLnNsaWRlcy5sZW5ndGg6YS5zbGlkZXMubGVuZ3RoLGM9YS5wYWdpbmF0aW9uLiRlbCxwPWEucGFyYW1zLmxvb3A/TWF0aC5jZWlsKChzLTIqYS5sb29wZWRTbGlkZXMpL2EucGFyYW1zLnNsaWRlc1Blckdyb3VwKTphLnNuYXBHcmlkLmxlbmd0aDtpZihhLnBhcmFtcy5sb29wPygoaT1NYXRoLmNlaWwoKGEuYWN0aXZlSW5kZXgtYS5sb29wZWRTbGlkZXMpL2EucGFyYW1zLnNsaWRlc1Blckdyb3VwKSk+cy0xLTIqYS5sb29wZWRTbGlkZXMmJihpLT1zLTIqYS5sb29wZWRTbGlkZXMpLGk+cC0xJiYoaS09cCksaTwwJiYiYnVsbGV0cyIhPT1hLnBhcmFtcy5wYWdpbmF0aW9uVHlwZSYmKGk9cCtpKSk6aT12b2lkIDAhPT1hLnNuYXBJbmRleD9hLnNuYXBJbmRleDphLmFjdGl2ZUluZGV4fHwwLCJidWxsZXRzIj09PXIudHlwZSYmYS5wYWdpbmF0aW9uLmJ1bGxldHMmJmEucGFnaW5hdGlvbi5idWxsZXRzLmxlbmd0aD4wKXt2YXIgdSxmLGgsdj1hLnBhZ2luYXRpb24uYnVsbGV0cztpZihyLmR5bmFtaWNCdWxsZXRzJiYodD12LmVxKDApW2EuaXNIb3Jpem9udGFsKCk/Im91dGVyV2lkdGgiOiJvdXRlckhlaWdodCJdKCEwKSxjLmNzcyhhLmlzSG9yaXpvbnRhbCgpPyJ3aWR0aCI6ImhlaWdodCIsIiIuY29uY2F0KHQqKHIuZHluYW1pY01haW5CdWxsZXRzKzQpLCJweCIpKSxyLmR5bmFtaWNNYWluQnVsbGV0cz4xJiZ2b2lkIDAhPT1hLnByZXZpb3VzSW5kZXgmJigobys9aS1hLnByZXZpb3VzSW5kZXgpPnIuZHluYW1pY01haW5CdWxsZXRzLTE/bz1yLmR5bmFtaWNNYWluQnVsbGV0cy0xOm88MCYmKG89MCkpLGg9KChmPSh1PWktbykrKE1hdGgubWluKHYubGVuZ3RoLHIuZHluYW1pY01haW5CdWxsZXRzKS0xKSkrdSkvMiksdi5yZW1vdmVDbGFzcyhbIiIsIi1uZXh0IiwiLW5leHQtbmV4dCIsIi1wcmV2IiwiLXByZXYtcHJldiIsIi1tYWluIl0ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4iIi5jb25jYXQoci5idWxsZXRBY3RpdmVDbGFzcykuY29uY2F0KGUpfSkpLmpvaW4oIiAiKSksYy5sZW5ndGg+MSl2LmVhY2goKGZ1bmN0aW9uKGUpe3ZhciB0PVQoZSksYT10LmluZGV4KCk7YT09PWkmJnQuYWRkQ2xhc3Moci5idWxsZXRBY3RpdmVDbGFzcyksci5keW5hbWljQnVsbGV0cyYmKGE+PXUmJmE8PWYmJnQuYWRkQ2xhc3MoIiIuY29uY2F0KHIuYnVsbGV0QWN0aXZlQ2xhc3MsIi1tYWluIikpLGE9PT11JiZkKHQsInByZXYiKSxhPT09ZiYmZCh0LCJuZXh0IikpfSkpO2Vsc2V7dmFyIG09di5lcShpKSxnPW0uaW5kZXgoKTtpZihtLmFkZENsYXNzKHIuYnVsbGV0QWN0aXZlQ2xhc3MpLHIuZHluYW1pY0J1bGxldHMpe2Zvcih2YXIgdz12LmVxKHUpLGI9di5lcShmKSx5PXU7eTw9Zjt5Kz0xKXYuZXEoeSkuYWRkQ2xhc3MoIiIuY29uY2F0KHIuYnVsbGV0QWN0aXZlQ2xhc3MsIi1tYWluIikpO2lmKGEucGFyYW1zLmxvb3ApaWYoZz49di5sZW5ndGgtci5keW5hbWljTWFpbkJ1bGxldHMpe2Zvcih2YXIgeD1yLmR5bmFtaWNNYWluQnVsbGV0czt4Pj0wO3gtPTEpdi5lcSh2Lmxlbmd0aC14KS5hZGRDbGFzcygiIi5jb25jYXQoci5idWxsZXRBY3RpdmVDbGFzcywiLW1haW4iKSk7di5lcSh2Lmxlbmd0aC1yLmR5bmFtaWNNYWluQnVsbGV0cy0xKS5hZGRDbGFzcygiIi5jb25jYXQoci5idWxsZXRBY3RpdmVDbGFzcywiLXByZXYiKSl9ZWxzZSBkKHcsInByZXYiKSxkKGIsIm5leHQiKTtlbHNlIGQodywicHJldiIpLGQoYiwibmV4dCIpfX1pZihyLmR5bmFtaWNCdWxsZXRzKXt2YXIgRT1NYXRoLm1pbih2Lmxlbmd0aCxyLmR5bmFtaWNNYWluQnVsbGV0cys0KSxTPSh0KkUtdCkvMi1oKnQsQz1lPyJyaWdodCI6ImxlZnQiO3YuY3NzKGEuaXNIb3Jpem9udGFsKCk/QzoidG9wIiwiIi5jb25jYXQoUywicHgiKSl9fWlmKCJmcmFjdGlvbiI9PT1yLnR5cGUmJihjLmZpbmQoJGUoci5jdXJyZW50Q2xhc3MpKS50ZXh0KHIuZm9ybWF0RnJhY3Rpb25DdXJyZW50KGkrMSkpLGMuZmluZCgkZShyLnRvdGFsQ2xhc3MpKS50ZXh0KHIuZm9ybWF0RnJhY3Rpb25Ub3RhbChwKSkpLCJwcm9ncmVzc2JhciI9PT1yLnR5cGUpe3ZhciBNO009ci5wcm9ncmVzc2Jhck9wcG9zaXRlP2EuaXNIb3Jpem9udGFsKCk/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCI6YS5pc0hvcml6b250YWwoKT8iaG9yaXpvbnRhbCI6InZlcnRpY2FsIjt2YXIgUD0oaSsxKS9wLGs9MSwkPTE7Imhvcml6b250YWwiPT09TT9rPVA6JD1QLGMuZmluZCgkZShyLnByb2dyZXNzYmFyRmlsbENsYXNzKSkudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGVYKCIuY29uY2F0KGssIikgc2NhbGVZKCIpLmNvbmNhdCgkLCIpIikpLnRyYW5zaXRpb24oYS5wYXJhbXMuc3BlZWQpfSJjdXN0b20iPT09ci50eXBlJiZyLnJlbmRlckN1c3RvbT8oYy5odG1sKHIucmVuZGVyQ3VzdG9tKGEsaSsxLHApKSxuKCJwYWdpbmF0aW9uUmVuZGVyIixjWzBdKSk6bigicGFnaW5hdGlvblVwZGF0ZSIsY1swXSksYS5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmYS5lbmFibGVkJiZjW2EuaXNMb2NrZWQ/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXShyLmxvY2tDbGFzcyl9fWZ1bmN0aW9uIHAoKXt2YXIgZT1hLnBhcmFtcy5wYWdpbmF0aW9uO2lmKCFsKCkpe3ZhciB0PWEudmlydHVhbCYmYS5wYXJhbXMudmlydHVhbC5lbmFibGVkP2EudmlydHVhbC5zbGlkZXMubGVuZ3RoOmEuc2xpZGVzLmxlbmd0aCxyPWEucGFnaW5hdGlvbi4kZWwsaT0iIjtpZigiYnVsbGV0cyI9PT1lLnR5cGUpe3ZhciBzPWEucGFyYW1zLmxvb3A/TWF0aC5jZWlsKCh0LTIqYS5sb29wZWRTbGlkZXMpL2EucGFyYW1zLnNsaWRlc1Blckdyb3VwKTphLnNuYXBHcmlkLmxlbmd0aDthLnBhcmFtcy5mcmVlTW9kZSYmYS5wYXJhbXMuZnJlZU1vZGUuZW5hYmxlZCYmIWEucGFyYW1zLmxvb3AmJnM+dCYmKHM9dCk7Zm9yKHZhciBvPTA7bzxzO28rPTEpZS5yZW5kZXJCdWxsZXQ/aSs9ZS5yZW5kZXJCdWxsZXQuY2FsbChhLG8sZS5idWxsZXRDbGFzcyk6aSs9IjwiLmNvbmNhdChlLmJ1bGxldEVsZW1lbnQsJyBjbGFzcz0iJykuY29uY2F0KGUuYnVsbGV0Q2xhc3MsJyI+PC8nKS5jb25jYXQoZS5idWxsZXRFbGVtZW50LCI+Iik7ci5odG1sKGkpLGEucGFnaW5hdGlvbi5idWxsZXRzPXIuZmluZCgkZShlLmJ1bGxldENsYXNzKSl9ImZyYWN0aW9uIj09PWUudHlwZSYmKGk9ZS5yZW5kZXJGcmFjdGlvbj9lLnJlbmRlckZyYWN0aW9uLmNhbGwoYSxlLmN1cnJlbnRDbGFzcyxlLnRvdGFsQ2xhc3MpOic8c3BhbiBjbGFzcz0iJy5jb25jYXQoZS5jdXJyZW50Q2xhc3MsJyI+PC9zcGFuPicpKyIgLyAiKyc8c3BhbiBjbGFzcz0iJy5jb25jYXQoZS50b3RhbENsYXNzLCciPjwvc3Bhbj4nKSxyLmh0bWwoaSkpLCJwcm9ncmVzc2JhciI9PT1lLnR5cGUmJihpPWUucmVuZGVyUHJvZ3Jlc3NiYXI/ZS5yZW5kZXJQcm9ncmVzc2Jhci5jYWxsKGEsZS5wcm9ncmVzc2JhckZpbGxDbGFzcyk6JzxzcGFuIGNsYXNzPSInLmNvbmNhdChlLnByb2dyZXNzYmFyRmlsbENsYXNzLCciPjwvc3Bhbj4nKSxyLmh0bWwoaSkpLCJjdXN0b20iIT09ZS50eXBlJiZuKCJwYWdpbmF0aW9uUmVuZGVyIixhLnBhZ2luYXRpb24uJGVsWzBdKX19ZnVuY3Rpb24gdSgpe2EucGFyYW1zLnBhZ2luYXRpb249a2UoYSxhLm9yaWdpbmFsUGFyYW1zLnBhZ2luYXRpb24sYS5wYXJhbXMucGFnaW5hdGlvbix7ZWw6InN3aXBlci1wYWdpbmF0aW9uIn0pO3ZhciBlPWEucGFyYW1zLnBhZ2luYXRpb247aWYoZS5lbCl7dmFyIHQ9VChlLmVsKTswIT09dC5sZW5ndGgmJihhLnBhcmFtcy51bmlxdWVOYXZFbGVtZW50cyYmInN0cmluZyI9PXR5cGVvZiBlLmVsJiZ0Lmxlbmd0aD4xJiYodD1hLiRlbC5maW5kKGUuZWwpKS5sZW5ndGg+MSYmKHQ9dC5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBUKGUpLnBhcmVudHMoIi5zd2lwZXIiKVswXT09PWEuZWx9KSkpLCJidWxsZXRzIj09PWUudHlwZSYmZS5jbGlja2FibGUmJnQuYWRkQ2xhc3MoZS5jbGlja2FibGVDbGFzcyksdC5hZGRDbGFzcyhlLm1vZGlmaWVyQ2xhc3MrZS50eXBlKSx0LmFkZENsYXNzKGUubW9kaWZpZXJDbGFzcythLnBhcmFtcy5kaXJlY3Rpb24pLCJidWxsZXRzIj09PWUudHlwZSYmZS5keW5hbWljQnVsbGV0cyYmKHQuYWRkQ2xhc3MoIiIuY29uY2F0KGUubW9kaWZpZXJDbGFzcykuY29uY2F0KGUudHlwZSwiLWR5bmFtaWMiKSksbz0wLGUuZHluYW1pY01haW5CdWxsZXRzPDEmJihlLmR5bmFtaWNNYWluQnVsbGV0cz0xKSksInByb2dyZXNzYmFyIj09PWUudHlwZSYmZS5wcm9ncmVzc2Jhck9wcG9zaXRlJiZ0LmFkZENsYXNzKGUucHJvZ3Jlc3NiYXJPcHBvc2l0ZUNsYXNzKSxlLmNsaWNrYWJsZSYmdC5vbigiY2xpY2siLCRlKGUuYnVsbGV0Q2xhc3MpLChmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9VCh0aGlzKS5pbmRleCgpKmEucGFyYW1zLnNsaWRlc1Blckdyb3VwO2EucGFyYW1zLmxvb3AmJih0Kz1hLmxvb3BlZFNsaWRlcyksYS5zbGlkZVRvKHQpfSkpLE9iamVjdC5hc3NpZ24oYS5wYWdpbmF0aW9uLHskZWw6dCxlbDp0WzBdfSksYS5lbmFibGVkfHx0LmFkZENsYXNzKGUubG9ja0NsYXNzKSl9fWZ1bmN0aW9uIGYoKXt2YXIgZT1hLnBhcmFtcy5wYWdpbmF0aW9uO2lmKCFsKCkpe3ZhciB0PWEucGFnaW5hdGlvbi4kZWw7dC5yZW1vdmVDbGFzcyhlLmhpZGRlbkNsYXNzKSx0LnJlbW92ZUNsYXNzKGUubW9kaWZpZXJDbGFzcytlLnR5cGUpLHQucmVtb3ZlQ2xhc3MoZS5tb2RpZmllckNsYXNzK2EucGFyYW1zLmRpcmVjdGlvbiksYS5wYWdpbmF0aW9uLmJ1bGxldHMmJmEucGFnaW5hdGlvbi5idWxsZXRzLnJlbW92ZUNsYXNzJiZhLnBhZ2luYXRpb24uYnVsbGV0cy5yZW1vdmVDbGFzcyhlLmJ1bGxldEFjdGl2ZUNsYXNzKSxlLmNsaWNrYWJsZSYmdC5vZmYoImNsaWNrIiwkZShlLmJ1bGxldENsYXNzKSl9fWkoImluaXQiLChmdW5jdGlvbigpe3UoKSxwKCksYygpfSkpLGkoImFjdGl2ZUluZGV4Q2hhbmdlIiwoZnVuY3Rpb24oKXsoYS5wYXJhbXMubG9vcHx8dm9pZCAwPT09YS5zbmFwSW5kZXgpJiZjKCl9KSksaSgic25hcEluZGV4Q2hhbmdlIiwoZnVuY3Rpb24oKXthLnBhcmFtcy5sb29wfHxjKCl9KSksaSgic2xpZGVzTGVuZ3RoQ2hhbmdlIiwoZnVuY3Rpb24oKXthLnBhcmFtcy5sb29wJiYocCgpLGMoKSl9KSksaSgic25hcEdyaWRMZW5ndGhDaGFuZ2UiLChmdW5jdGlvbigpe2EucGFyYW1zLmxvb3B8fChwKCksYygpKX0pKSxpKCJkZXN0cm95IiwoZnVuY3Rpb24oKXtmKCl9KSksaSgiZW5hYmxlIGRpc2FibGUiLChmdW5jdGlvbigpe3ZhciBlPWEucGFnaW5hdGlvbi4kZWw7ZSYmZVthLmVuYWJsZWQ/InJlbW92ZUNsYXNzIjoiYWRkQ2xhc3MiXShhLnBhcmFtcy5wYWdpbmF0aW9uLmxvY2tDbGFzcyl9KSksaSgibG9jayB1bmxvY2siLChmdW5jdGlvbigpe2MoKX0pKSxpKCJjbGljayIsKGZ1bmN0aW9uKGUsdCl7dmFyIHI9dC50YXJnZXQsaT1hLnBhZ2luYXRpb24uJGVsO2lmKGEucGFyYW1zLnBhZ2luYXRpb24uZWwmJmEucGFyYW1zLnBhZ2luYXRpb24uaGlkZU9uQ2xpY2smJmkubGVuZ3RoPjAmJiFUKHIpLmhhc0NsYXNzKGEucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MpKXtpZihhLm5hdmlnYXRpb24mJihhLm5hdmlnYXRpb24ubmV4dEVsJiZyPT09YS5uYXZpZ2F0aW9uLm5leHRFbHx8YS5uYXZpZ2F0aW9uLnByZXZFbCYmcj09PWEubmF2aWdhdGlvbi5wcmV2RWwpKXJldHVybjt2YXIgcz1pLmhhc0NsYXNzKGEucGFyYW1zLnBhZ2luYXRpb24uaGlkZGVuQ2xhc3MpO24oITA9PT1zPyJwYWdpbmF0aW9uU2hvdyI6InBhZ2luYXRpb25IaWRlIiksaS50b2dnbGVDbGFzcyhhLnBhcmFtcy5wYWdpbmF0aW9uLmhpZGRlbkNsYXNzKX19KSksT2JqZWN0LmFzc2lnbihhLnBhZ2luYXRpb24se3JlbmRlcjpwLHVwZGF0ZTpjLGluaXQ6dSxkZXN0cm95OmZ9KX0sZnVuY3Rpb24oZSl7dmFyIHQsYSxpLG4scz1lLnN3aXBlcixvPWUuZXh0ZW5kUGFyYW1zLGw9ZS5vbixkPWUuZW1pdCxjPSgwLHIuTWUpKCkscD0hMSx1PW51bGwsZj1udWxsO2Z1bmN0aW9uIGgoKXtpZihzLnBhcmFtcy5zY3JvbGxiYXIuZWwmJnMuc2Nyb2xsYmFyLmVsKXt2YXIgZT1zLnNjcm9sbGJhcix0PXMucnRsVHJhbnNsYXRlLHI9cy5wcm9ncmVzcyxuPWUuJGRyYWdFbCxvPWUuJGVsLGw9cy5wYXJhbXMuc2Nyb2xsYmFyLGQ9YSxjPShpLWEpKnI7dD8oYz0tYyk+MD8oZD1hLWMsYz0wKTotYythPmkmJihkPWkrYyk6YzwwPyhkPWErYyxjPTApOmMrYT5pJiYoZD1pLWMpLHMuaXNIb3Jpem9udGFsKCk/KG4udHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgiLmNvbmNhdChjLCJweCwgMCwgMCkiKSksblswXS5zdHlsZS53aWR0aD0iIi5jb25jYXQoZCwicHgiKSk6KG4udHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwcHgsICIuY29uY2F0KGMsInB4LCAwKSIpKSxuWzBdLnN0eWxlLmhlaWdodD0iIi5jb25jYXQoZCwicHgiKSksbC5oaWRlJiYoY2xlYXJUaW1lb3V0KHUpLG9bMF0uc3R5bGUub3BhY2l0eT0xLHU9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtvWzBdLnN0eWxlLm9wYWNpdHk9MCxvLnRyYW5zaXRpb24oNDAwKX0pLDFlMykpfX1mdW5jdGlvbiB2KCl7aWYocy5wYXJhbXMuc2Nyb2xsYmFyLmVsJiZzLnNjcm9sbGJhci5lbCl7dmFyIGU9cy5zY3JvbGxiYXIsdD1lLiRkcmFnRWwscj1lLiRlbDt0WzBdLnN0eWxlLndpZHRoPSIiLHRbMF0uc3R5bGUuaGVpZ2h0PSIiLGk9cy5pc0hvcml6b250YWwoKT9yWzBdLm9mZnNldFdpZHRoOnJbMF0ub2Zmc2V0SGVpZ2h0LG49cy5zaXplLyhzLnZpcnR1YWxTaXplK3MucGFyYW1zLnNsaWRlc09mZnNldEJlZm9yZS0ocy5wYXJhbXMuY2VudGVyZWRTbGlkZXM/cy5zbmFwR3JpZFswXTowKSksYT0iYXV0byI9PT1zLnBhcmFtcy5zY3JvbGxiYXIuZHJhZ1NpemU/aSpuOnBhcnNlSW50KHMucGFyYW1zLnNjcm9sbGJhci5kcmFnU2l6ZSwxMCkscy5pc0hvcml6b250YWwoKT90WzBdLnN0eWxlLndpZHRoPSIiLmNvbmNhdChhLCJweCIpOnRbMF0uc3R5bGUuaGVpZ2h0PSIiLmNvbmNhdChhLCJweCIpLHJbMF0uc3R5bGUuZGlzcGxheT1uPj0xPyJub25lIjoiIixzLnBhcmFtcy5zY3JvbGxiYXIuaGlkZSYmKHJbMF0uc3R5bGUub3BhY2l0eT0wKSxzLnBhcmFtcy53YXRjaE92ZXJmbG93JiZzLmVuYWJsZWQmJmUuJGVsW3MuaXNMb2NrZWQ/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXShzLnBhcmFtcy5zY3JvbGxiYXIubG9ja0NsYXNzKX19ZnVuY3Rpb24gbShlKXtyZXR1cm4gcy5pc0hvcml6b250YWwoKT8idG91Y2hzdGFydCI9PT1lLnR5cGV8fCJ0b3VjaG1vdmUiPT09ZS50eXBlP2UudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRYOmUuY2xpZW50WDoidG91Y2hzdGFydCI9PT1lLnR5cGV8fCJ0b3VjaG1vdmUiPT09ZS50eXBlP2UudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZOmUuY2xpZW50WX1mdW5jdGlvbiBnKGUpe3ZhciByLG49cy5zY3JvbGxiYXIsbz1zLnJ0bFRyYW5zbGF0ZSxsPW4uJGVsO3I9KG0oZSktbC5vZmZzZXQoKVtzLmlzSG9yaXpvbnRhbCgpPyJsZWZ0IjoidG9wIl0tKG51bGwhPT10P3Q6YS8yKSkvKGktYSkscj1NYXRoLm1heChNYXRoLm1pbihyLDEpLDApLG8mJihyPTEtcik7dmFyIGQ9cy5taW5UcmFuc2xhdGUoKSsocy5tYXhUcmFuc2xhdGUoKS1zLm1pblRyYW5zbGF0ZSgpKSpyO3MudXBkYXRlUHJvZ3Jlc3MoZCkscy5zZXRUcmFuc2xhdGUoZCkscy51cGRhdGVBY3RpdmVJbmRleCgpLHMudXBkYXRlU2xpZGVzQ2xhc3NlcygpfWZ1bmN0aW9uIHcoZSl7dmFyIGE9cy5wYXJhbXMuc2Nyb2xsYmFyLHI9cy5zY3JvbGxiYXIsaT1zLiR3cmFwcGVyRWwsbj1yLiRlbCxvPXIuJGRyYWdFbDtwPSEwLHQ9ZS50YXJnZXQ9PT1vWzBdfHxlLnRhcmdldD09PW8/bShlKS1lLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVtzLmlzSG9yaXpvbnRhbCgpPyJsZWZ0IjoidG9wIl06bnVsbCxlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxpLnRyYW5zaXRpb24oMTAwKSxvLnRyYW5zaXRpb24oMTAwKSxnKGUpLGNsZWFyVGltZW91dChmKSxuLnRyYW5zaXRpb24oMCksYS5oaWRlJiZuLmNzcygib3BhY2l0eSIsMSkscy5wYXJhbXMuY3NzTW9kZSYmcy4kd3JhcHBlckVsLmNzcygic2Nyb2xsLXNuYXAtdHlwZSIsIm5vbmUiKSxkKCJzY3JvbGxiYXJEcmFnU3RhcnQiLGUpfWZ1bmN0aW9uIGIoZSl7dmFyIHQ9cy5zY3JvbGxiYXIsYT1zLiR3cmFwcGVyRWwscj10LiRlbCxpPXQuJGRyYWdFbDtwJiYoZS5wcmV2ZW50RGVmYXVsdD9lLnByZXZlbnREZWZhdWx0KCk6ZS5yZXR1cm5WYWx1ZT0hMSxnKGUpLGEudHJhbnNpdGlvbigwKSxyLnRyYW5zaXRpb24oMCksaS50cmFuc2l0aW9uKDApLGQoInNjcm9sbGJhckRyYWdNb3ZlIixlKSl9ZnVuY3Rpb24geShlKXt2YXIgdD1zLnBhcmFtcy5zY3JvbGxiYXIsYT1zLnNjcm9sbGJhcixyPXMuJHdyYXBwZXJFbCxpPWEuJGVsO3AmJihwPSExLHMucGFyYW1zLmNzc01vZGUmJihzLiR3cmFwcGVyRWwuY3NzKCJzY3JvbGwtc25hcC10eXBlIiwiIiksci50cmFuc2l0aW9uKCIiKSksdC5oaWRlJiYoY2xlYXJUaW1lb3V0KGYpLGY9aygoZnVuY3Rpb24oKXtpLmNzcygib3BhY2l0eSIsMCksaS50cmFuc2l0aW9uKDQwMCl9KSwxZTMpKSxkKCJzY3JvbGxiYXJEcmFnRW5kIixlKSx0LnNuYXBPblJlbGVhc2UmJnMuc2xpZGVUb0Nsb3Nlc3QoKSl9ZnVuY3Rpb24geChlKXt2YXIgdD1zLnNjcm9sbGJhcixhPXMudG91Y2hFdmVudHNUb3VjaCxyPXMudG91Y2hFdmVudHNEZXNrdG9wLGk9cy5wYXJhbXMsbj1zLnN1cHBvcnQsbz10LiRlbFswXSxsPSEoIW4ucGFzc2l2ZUxpc3RlbmVyfHwhaS5wYXNzaXZlTGlzdGVuZXJzKSYme3Bhc3NpdmU6ITEsY2FwdHVyZTohMX0sZD0hKCFuLnBhc3NpdmVMaXN0ZW5lcnx8IWkucGFzc2l2ZUxpc3RlbmVycykmJntwYXNzaXZlOiEwLGNhcHR1cmU6ITF9O2lmKG8pe3ZhciBwPSJvbiI9PT1lPyJhZGRFdmVudExpc3RlbmVyIjoicmVtb3ZlRXZlbnRMaXN0ZW5lciI7bi50b3VjaD8ob1twXShhLnN0YXJ0LHcsbCksb1twXShhLm1vdmUsYixsKSxvW3BdKGEuZW5kLHksZCkpOihvW3BdKHIuc3RhcnQsdyxsKSxjW3BdKHIubW92ZSxiLGwpLGNbcF0oci5lbmQseSxkKSl9fWZ1bmN0aW9uIEUoKXt2YXIgZT1zLnNjcm9sbGJhcix0PXMuJGVsO3MucGFyYW1zLnNjcm9sbGJhcj1rZShzLHMub3JpZ2luYWxQYXJhbXMuc2Nyb2xsYmFyLHMucGFyYW1zLnNjcm9sbGJhcix7ZWw6InN3aXBlci1zY3JvbGxiYXIifSk7dmFyIGE9cy5wYXJhbXMuc2Nyb2xsYmFyO2lmKGEuZWwpe3ZhciByPVQoYS5lbCk7cy5wYXJhbXMudW5pcXVlTmF2RWxlbWVudHMmJiJzdHJpbmciPT10eXBlb2YgYS5lbCYmci5sZW5ndGg+MSYmMT09PXQuZmluZChhLmVsKS5sZW5ndGgmJihyPXQuZmluZChhLmVsKSk7dmFyIGk9ci5maW5kKCIuIi5jb25jYXQocy5wYXJhbXMuc2Nyb2xsYmFyLmRyYWdDbGFzcykpOzA9PT1pLmxlbmd0aCYmKGk9VCgnPGRpdiBjbGFzcz0iJy5jb25jYXQocy5wYXJhbXMuc2Nyb2xsYmFyLmRyYWdDbGFzcywnIj48L2Rpdj4nKSksci5hcHBlbmQoaSkpLE9iamVjdC5hc3NpZ24oZSx7JGVsOnIsZWw6clswXSwkZHJhZ0VsOmksZHJhZ0VsOmlbMF19KSxhLmRyYWdnYWJsZSYmcy5wYXJhbXMuc2Nyb2xsYmFyLmVsJiZ4KCJvbiIpLHImJnJbcy5lbmFibGVkPyJyZW1vdmVDbGFzcyI6ImFkZENsYXNzIl0ocy5wYXJhbXMuc2Nyb2xsYmFyLmxvY2tDbGFzcyl9fWZ1bmN0aW9uIFMoKXtzLnBhcmFtcy5zY3JvbGxiYXIuZWwmJngoIm9mZiIpfW8oe3Njcm9sbGJhcjp7ZWw6bnVsbCxkcmFnU2l6ZToiYXV0byIsaGlkZTohMSxkcmFnZ2FibGU6ITEsc25hcE9uUmVsZWFzZTohMCxsb2NrQ2xhc3M6InN3aXBlci1zY3JvbGxiYXItbG9jayIsZHJhZ0NsYXNzOiJzd2lwZXItc2Nyb2xsYmFyLWRyYWcifX0pLHMuc2Nyb2xsYmFyPXtlbDpudWxsLGRyYWdFbDpudWxsLCRlbDpudWxsLCRkcmFnRWw6bnVsbH0sbCgiaW5pdCIsKGZ1bmN0aW9uKCl7RSgpLHYoKSxoKCl9KSksbCgidXBkYXRlIHJlc2l6ZSBvYnNlcnZlclVwZGF0ZSBsb2NrIHVubG9jayIsKGZ1bmN0aW9uKCl7digpfSkpLGwoInNldFRyYW5zbGF0ZSIsKGZ1bmN0aW9uKCl7aCgpfSkpLGwoInNldFRyYW5zaXRpb24iLChmdW5jdGlvbihlLHQpeyFmdW5jdGlvbihlKXtzLnBhcmFtcy5zY3JvbGxiYXIuZWwmJnMuc2Nyb2xsYmFyLmVsJiZzLnNjcm9sbGJhci4kZHJhZ0VsLnRyYW5zaXRpb24oZSl9KHQpfSkpLGwoImVuYWJsZSBkaXNhYmxlIiwoZnVuY3Rpb24oKXt2YXIgZT1zLnNjcm9sbGJhci4kZWw7ZSYmZVtzLmVuYWJsZWQ/InJlbW92ZUNsYXNzIjoiYWRkQ2xhc3MiXShzLnBhcmFtcy5zY3JvbGxiYXIubG9ja0NsYXNzKX0pKSxsKCJkZXN0cm95IiwoZnVuY3Rpb24oKXtTKCl9KSksT2JqZWN0LmFzc2lnbihzLnNjcm9sbGJhcix7dXBkYXRlU2l6ZTp2LHNldFRyYW5zbGF0ZTpoLGluaXQ6RSxkZXN0cm95OlN9KX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zd2lwZXIsYT1lLmV4dGVuZFBhcmFtcyxyPWUub247YSh7cGFyYWxsYXg6e2VuYWJsZWQ6ITF9fSk7dmFyIGk9ZnVuY3Rpb24oZSxhKXt2YXIgcj10LnJ0bCxpPVQoZSksbj1yPy0xOjEscz1pLmF0dHIoImRhdGEtc3dpcGVyLXBhcmFsbGF4Iil8fCIwIixvPWkuYXR0cigiZGF0YS1zd2lwZXItcGFyYWxsYXgteCIpLGw9aS5hdHRyKCJkYXRhLXN3aXBlci1wYXJhbGxheC15IiksZD1pLmF0dHIoImRhdGEtc3dpcGVyLXBhcmFsbGF4LXNjYWxlIiksYz1pLmF0dHIoImRhdGEtc3dpcGVyLXBhcmFsbGF4LW9wYWNpdHkiKTtpZihvfHxsPyhvPW98fCIwIixsPWx8fCIwIik6dC5pc0hvcml6b250YWwoKT8obz1zLGw9IjAiKToobD1zLG89IjAiKSxvPW8uaW5kZXhPZigiJSIpPj0wPyIiLmNvbmNhdChwYXJzZUludChvLDEwKSphKm4sIiUiKToiIi5jb25jYXQobyphKm4sInB4IiksbD1sLmluZGV4T2YoIiUiKT49MD8iIi5jb25jYXQocGFyc2VJbnQobCwxMCkqYSwiJSIpOiIiLmNvbmNhdChsKmEsInB4IiksbnVsbCE9Yyl7dmFyIHA9Yy0oYy0xKSooMS1NYXRoLmFicyhhKSk7aVswXS5zdHlsZS5vcGFjaXR5PXB9aWYobnVsbD09ZClpLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoIi5jb25jYXQobywiLCAiKS5jb25jYXQobCwiLCAwcHgpIikpO2Vsc2V7dmFyIHU9ZC0oZC0xKSooMS1NYXRoLmFicyhhKSk7aS50cmFuc2Zvcm0oInRyYW5zbGF0ZTNkKCIuY29uY2F0KG8sIiwgIikuY29uY2F0KGwsIiwgMHB4KSBzY2FsZSgiKS5jb25jYXQodSwiKSIpKX19LG49ZnVuY3Rpb24oKXt2YXIgZT10LiRlbCxhPXQuc2xpZGVzLHI9dC5wcm9ncmVzcyxuPXQuc25hcEdyaWQ7ZS5jaGlsZHJlbigiW2RhdGEtc3dpcGVyLXBhcmFsbGF4XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LXhdLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgteV0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC1vcGFjaXR5XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LXNjYWxlXSIpLmVhY2goKGZ1bmN0aW9uKGUpe2koZSxyKX0pKSxhLmVhY2goKGZ1bmN0aW9uKGUsYSl7dmFyIHM9ZS5wcm9ncmVzczt0LnBhcmFtcy5zbGlkZXNQZXJHcm91cD4xJiYiYXV0byIhPT10LnBhcmFtcy5zbGlkZXNQZXJWaWV3JiYocys9TWF0aC5jZWlsKGEvMiktcioobi5sZW5ndGgtMSkpLHM9TWF0aC5taW4oTWF0aC5tYXgocywtMSksMSksVChlKS5maW5kKCJbZGF0YS1zd2lwZXItcGFyYWxsYXhdLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgteF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC15XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LW9wYWNpdHldLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgtc2NhbGVdIikuZWFjaCgoZnVuY3Rpb24oZSl7aShlLHMpfSkpfSkpfTtyKCJiZWZvcmVJbml0IiwoZnVuY3Rpb24oKXt0LnBhcmFtcy5wYXJhbGxheC5lbmFibGVkJiYodC5wYXJhbXMud2F0Y2hTbGlkZXNQcm9ncmVzcz0hMCx0Lm9yaWdpbmFsUGFyYW1zLndhdGNoU2xpZGVzUHJvZ3Jlc3M9ITApfSkpLHIoImluaXQiLChmdW5jdGlvbigpe3QucGFyYW1zLnBhcmFsbGF4LmVuYWJsZWQmJm4oKX0pKSxyKCJzZXRUcmFuc2xhdGUiLChmdW5jdGlvbigpe3QucGFyYW1zLnBhcmFsbGF4LmVuYWJsZWQmJm4oKX0pKSxyKCJzZXRUcmFuc2l0aW9uIiwoZnVuY3Rpb24oZSxhKXt0LnBhcmFtcy5wYXJhbGxheC5lbmFibGVkJiZmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp0LnBhcmFtcy5zcGVlZDt0LiRlbC5maW5kKCJbZGF0YS1zd2lwZXItcGFyYWxsYXhdLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgteF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC15XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LW9wYWNpdHldLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgtc2NhbGVdIikuZWFjaCgoZnVuY3Rpb24odCl7dmFyIGE9VCh0KSxyPXBhcnNlSW50KGEuYXR0cigiZGF0YS1zd2lwZXItcGFyYWxsYXgtZHVyYXRpb24iKSwxMCl8fGU7MD09PWUmJihyPTApLGEudHJhbnNpdGlvbihyKX0pKX0oYSl9KSl9LGZ1bmN0aW9uKGUpe3ZhciB0PWUuc3dpcGVyLGE9ZS5leHRlbmRQYXJhbXMsaT1lLm9uLG49ZS5lbWl0LHM9KDAsci5KaikoKTthKHt6b29tOntlbmFibGVkOiExLG1heFJhdGlvOjMsbWluUmF0aW86MSx0b2dnbGU6ITAsY29udGFpbmVyQ2xhc3M6InN3aXBlci16b29tLWNvbnRhaW5lciIsem9vbWVkU2xpZGVDbGFzczoic3dpcGVyLXNsaWRlLXpvb21lZCJ9fSksdC56b29tPXtlbmFibGVkOiExfTt2YXIgbyxsLGQsYz0xLHA9ITEsdT17JHNsaWRlRWw6dm9pZCAwLHNsaWRlV2lkdGg6dm9pZCAwLHNsaWRlSGVpZ2h0OnZvaWQgMCwkaW1hZ2VFbDp2b2lkIDAsJGltYWdlV3JhcEVsOnZvaWQgMCxtYXhSYXRpbzozfSxmPXtpc1RvdWNoZWQ6dm9pZCAwLGlzTW92ZWQ6dm9pZCAwLGN1cnJlbnRYOnZvaWQgMCxjdXJyZW50WTp2b2lkIDAsbWluWDp2b2lkIDAsbWluWTp2b2lkIDAsbWF4WDp2b2lkIDAsbWF4WTp2b2lkIDAsd2lkdGg6dm9pZCAwLGhlaWdodDp2b2lkIDAsc3RhcnRYOnZvaWQgMCxzdGFydFk6dm9pZCAwLHRvdWNoZXNTdGFydDp7fSx0b3VjaGVzQ3VycmVudDp7fX0saD17eDp2b2lkIDAseTp2b2lkIDAscHJldlBvc2l0aW9uWDp2b2lkIDAscHJldlBvc2l0aW9uWTp2b2lkIDAscHJldlRpbWU6dm9pZCAwfSx2PTE7ZnVuY3Rpb24gbShlKXtpZihlLnRhcmdldFRvdWNoZXMubGVuZ3RoPDIpcmV0dXJuIDE7dmFyIHQ9ZS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYLGE9ZS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VZLHI9ZS50YXJnZXRUb3VjaGVzWzFdLnBhZ2VYLGk9ZS50YXJnZXRUb3VjaGVzWzFdLnBhZ2VZO3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3coci10LDIpK01hdGgucG93KGktYSwyKSl9ZnVuY3Rpb24gZyhlKXt2YXIgYT10LnN1cHBvcnQscj10LnBhcmFtcy56b29tO2lmKGw9ITEsZD0hMSwhYS5nZXN0dXJlcyl7aWYoInRvdWNoc3RhcnQiIT09ZS50eXBlfHwidG91Y2hzdGFydCI9PT1lLnR5cGUmJmUudGFyZ2V0VG91Y2hlcy5sZW5ndGg8MilyZXR1cm47bD0hMCx1LnNjYWxlU3RhcnQ9bShlKX11LiRzbGlkZUVsJiZ1LiRzbGlkZUVsLmxlbmd0aHx8KHUuJHNsaWRlRWw9VChlLnRhcmdldCkuY2xvc2VzdCgiLiIuY29uY2F0KHQucGFyYW1zLnNsaWRlQ2xhc3MpKSwwPT09dS4kc2xpZGVFbC5sZW5ndGgmJih1LiRzbGlkZUVsPXQuc2xpZGVzLmVxKHQuYWN0aXZlSW5kZXgpKSx1LiRpbWFnZUVsPXUuJHNsaWRlRWwuZmluZCgiLiIuY29uY2F0KHIuY29udGFpbmVyQ2xhc3MpKS5lcSgwKS5maW5kKCJpbWcsIHN2ZywgY2FudmFzLCBwaWN0dXJlLCAuc3dpcGVyLXpvb20tdGFyZ2V0IiksdS4kaW1hZ2VXcmFwRWw9dS4kaW1hZ2VFbC5wYXJlbnQoIi4iLmNvbmNhdChyLmNvbnRhaW5lckNsYXNzKSksdS5tYXhSYXRpbz11LiRpbWFnZVdyYXBFbC5hdHRyKCJkYXRhLXN3aXBlci16b29tIil8fHIubWF4UmF0aW8sMCE9PXUuJGltYWdlV3JhcEVsLmxlbmd0aCk/KHUuJGltYWdlRWwmJnUuJGltYWdlRWwudHJhbnNpdGlvbigwKSxwPSEwKTp1LiRpbWFnZUVsPXZvaWQgMH1mdW5jdGlvbiB3KGUpe3ZhciBhPXQuc3VwcG9ydCxyPXQucGFyYW1zLnpvb20saT10Lnpvb207aWYoIWEuZ2VzdHVyZXMpe2lmKCJ0b3VjaG1vdmUiIT09ZS50eXBlfHwidG91Y2htb3ZlIj09PWUudHlwZSYmZS50YXJnZXRUb3VjaGVzLmxlbmd0aDwyKXJldHVybjtkPSEwLHUuc2NhbGVNb3ZlPW0oZSl9dS4kaW1hZ2VFbCYmMCE9PXUuJGltYWdlRWwubGVuZ3RoPyhhLmdlc3R1cmVzP2kuc2NhbGU9ZS5zY2FsZSpjOmkuc2NhbGU9dS5zY2FsZU1vdmUvdS5zY2FsZVN0YXJ0KmMsaS5zY2FsZT51Lm1heFJhdGlvJiYoaS5zY2FsZT11Lm1heFJhdGlvLTErTWF0aC5wb3coaS5zY2FsZS11Lm1heFJhdGlvKzEsLjUpKSxpLnNjYWxlPHIubWluUmF0aW8mJihpLnNjYWxlPXIubWluUmF0aW8rMS1NYXRoLnBvdyhyLm1pblJhdGlvLWkuc2NhbGUrMSwuNSkpLHUuJGltYWdlRWwudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoIi5jb25jYXQoaS5zY2FsZSwiKSIpKSk6Imdlc3R1cmVjaGFuZ2UiPT09ZS50eXBlJiZnKGUpfWZ1bmN0aW9uIGIoZSl7dmFyIGE9dC5kZXZpY2Uscj10LnN1cHBvcnQsaT10LnBhcmFtcy56b29tLG49dC56b29tO2lmKCFyLmdlc3R1cmVzKXtpZighbHx8IWQpcmV0dXJuO2lmKCJ0b3VjaGVuZCIhPT1lLnR5cGV8fCJ0b3VjaGVuZCI9PT1lLnR5cGUmJmUuY2hhbmdlZFRvdWNoZXMubGVuZ3RoPDImJiFhLmFuZHJvaWQpcmV0dXJuO2w9ITEsZD0hMX11LiRpbWFnZUVsJiYwIT09dS4kaW1hZ2VFbC5sZW5ndGgmJihuLnNjYWxlPU1hdGgubWF4KE1hdGgubWluKG4uc2NhbGUsdS5tYXhSYXRpbyksaS5taW5SYXRpbyksdS4kaW1hZ2VFbC50cmFuc2l0aW9uKHQucGFyYW1zLnNwZWVkKS50cmFuc2Zvcm0oInRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgiLmNvbmNhdChuLnNjYWxlLCIpIikpLGM9bi5zY2FsZSxwPSExLDE9PT1uLnNjYWxlJiYodS4kc2xpZGVFbD12b2lkIDApKX1mdW5jdGlvbiB5KGUpe3ZhciBhPXQuem9vbTtpZih1LiRpbWFnZUVsJiYwIT09dS4kaW1hZ2VFbC5sZW5ndGgmJih0LmFsbG93Q2xpY2s9ITEsZi5pc1RvdWNoZWQmJnUuJHNsaWRlRWwpKXtmLmlzTW92ZWR8fChmLndpZHRoPXUuJGltYWdlRWxbMF0ub2Zmc2V0V2lkdGgsZi5oZWlnaHQ9dS4kaW1hZ2VFbFswXS5vZmZzZXRIZWlnaHQsZi5zdGFydFg9Tyh1LiRpbWFnZVdyYXBFbFswXSwieCIpfHwwLGYuc3RhcnRZPU8odS4kaW1hZ2VXcmFwRWxbMF0sInkiKXx8MCx1LnNsaWRlV2lkdGg9dS4kc2xpZGVFbFswXS5vZmZzZXRXaWR0aCx1LnNsaWRlSGVpZ2h0PXUuJHNsaWRlRWxbMF0ub2Zmc2V0SGVpZ2h0LHUuJGltYWdlV3JhcEVsLnRyYW5zaXRpb24oMCkpO3ZhciByPWYud2lkdGgqYS5zY2FsZSxpPWYuaGVpZ2h0KmEuc2NhbGU7aWYoIShyPHUuc2xpZGVXaWR0aCYmaTx1LnNsaWRlSGVpZ2h0KSl7aWYoZi5taW5YPU1hdGgubWluKHUuc2xpZGVXaWR0aC8yLXIvMiwwKSxmLm1heFg9LWYubWluWCxmLm1pblk9TWF0aC5taW4odS5zbGlkZUhlaWdodC8yLWkvMiwwKSxmLm1heFk9LWYubWluWSxmLnRvdWNoZXNDdXJyZW50Lng9InRvdWNobW92ZSI9PT1lLnR5cGU/ZS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYOmUucGFnZVgsZi50b3VjaGVzQ3VycmVudC55PSJ0b3VjaG1vdmUiPT09ZS50eXBlP2UudGFyZ2V0VG91Y2hlc1swXS5wYWdlWTplLnBhZ2VZLCFmLmlzTW92ZWQmJiFwKXtpZih0LmlzSG9yaXpvbnRhbCgpJiYoTWF0aC5mbG9vcihmLm1pblgpPT09TWF0aC5mbG9vcihmLnN0YXJ0WCkmJmYudG91Y2hlc0N1cnJlbnQueDxmLnRvdWNoZXNTdGFydC54fHxNYXRoLmZsb29yKGYubWF4WCk9PT1NYXRoLmZsb29yKGYuc3RhcnRYKSYmZi50b3VjaGVzQ3VycmVudC54PmYudG91Y2hlc1N0YXJ0LngpKXJldHVybiB2b2lkKGYuaXNUb3VjaGVkPSExKTtpZighdC5pc0hvcml6b250YWwoKSYmKE1hdGguZmxvb3IoZi5taW5ZKT09PU1hdGguZmxvb3IoZi5zdGFydFkpJiZmLnRvdWNoZXNDdXJyZW50Lnk8Zi50b3VjaGVzU3RhcnQueXx8TWF0aC5mbG9vcihmLm1heFkpPT09TWF0aC5mbG9vcihmLnN0YXJ0WSkmJmYudG91Y2hlc0N1cnJlbnQueT5mLnRvdWNoZXNTdGFydC55KSlyZXR1cm4gdm9pZChmLmlzVG91Y2hlZD0hMSl9ZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxmLmlzTW92ZWQ9ITAsZi5jdXJyZW50WD1mLnRvdWNoZXNDdXJyZW50LngtZi50b3VjaGVzU3RhcnQueCtmLnN0YXJ0WCxmLmN1cnJlbnRZPWYudG91Y2hlc0N1cnJlbnQueS1mLnRvdWNoZXNTdGFydC55K2Yuc3RhcnRZLGYuY3VycmVudFg8Zi5taW5YJiYoZi5jdXJyZW50WD1mLm1pblgrMS1NYXRoLnBvdyhmLm1pblgtZi5jdXJyZW50WCsxLC44KSksZi5jdXJyZW50WD5mLm1heFgmJihmLmN1cnJlbnRYPWYubWF4WC0xK01hdGgucG93KGYuY3VycmVudFgtZi5tYXhYKzEsLjgpKSxmLmN1cnJlbnRZPGYubWluWSYmKGYuY3VycmVudFk9Zi5taW5ZKzEtTWF0aC5wb3coZi5taW5ZLWYuY3VycmVudFkrMSwuOCkpLGYuY3VycmVudFk+Zi5tYXhZJiYoZi5jdXJyZW50WT1mLm1heFktMStNYXRoLnBvdyhmLmN1cnJlbnRZLWYubWF4WSsxLC44KSksaC5wcmV2UG9zaXRpb25YfHwoaC5wcmV2UG9zaXRpb25YPWYudG91Y2hlc0N1cnJlbnQueCksaC5wcmV2UG9zaXRpb25ZfHwoaC5wcmV2UG9zaXRpb25ZPWYudG91Y2hlc0N1cnJlbnQueSksaC5wcmV2VGltZXx8KGgucHJldlRpbWU9RGF0ZS5ub3coKSksaC54PShmLnRvdWNoZXNDdXJyZW50LngtaC5wcmV2UG9zaXRpb25YKS8oRGF0ZS5ub3coKS1oLnByZXZUaW1lKS8yLGgueT0oZi50b3VjaGVzQ3VycmVudC55LWgucHJldlBvc2l0aW9uWSkvKERhdGUubm93KCktaC5wcmV2VGltZSkvMixNYXRoLmFicyhmLnRvdWNoZXNDdXJyZW50LngtaC5wcmV2UG9zaXRpb25YKTwyJiYoaC54PTApLE1hdGguYWJzKGYudG91Y2hlc0N1cnJlbnQueS1oLnByZXZQb3NpdGlvblkpPDImJihoLnk9MCksaC5wcmV2UG9zaXRpb25YPWYudG91Y2hlc0N1cnJlbnQueCxoLnByZXZQb3NpdGlvblk9Zi50b3VjaGVzQ3VycmVudC55LGgucHJldlRpbWU9RGF0ZS5ub3coKSx1LiRpbWFnZVdyYXBFbC50cmFuc2Zvcm0oInRyYW5zbGF0ZTNkKCIuY29uY2F0KGYuY3VycmVudFgsInB4LCAiKS5jb25jYXQoZi5jdXJyZW50WSwicHgsMCkiKSl9fX1mdW5jdGlvbiB4KCl7dmFyIGU9dC56b29tO3UuJHNsaWRlRWwmJnQucHJldmlvdXNJbmRleCE9PXQuYWN0aXZlSW5kZXgmJih1LiRpbWFnZUVsJiZ1LiRpbWFnZUVsLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKDEpIiksdS4kaW1hZ2VXcmFwRWwmJnUuJGltYWdlV3JhcEVsLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoMCwwLDApIiksZS5zY2FsZT0xLGM9MSx1LiRzbGlkZUVsPXZvaWQgMCx1LiRpbWFnZUVsPXZvaWQgMCx1LiRpbWFnZVdyYXBFbD12b2lkIDApfWZ1bmN0aW9uIEUoZSl7dmFyIGEscixpLG4sbyxsLGQscCxoLHYsbSxnLHcsYix5LHgsRT10Lnpvb20sUz10LnBhcmFtcy56b29tOyh1LiRzbGlkZUVsfHwoZSYmZS50YXJnZXQmJih1LiRzbGlkZUVsPVQoZS50YXJnZXQpLmNsb3Nlc3QoIi4iLmNvbmNhdCh0LnBhcmFtcy5zbGlkZUNsYXNzKSkpLHUuJHNsaWRlRWx8fCh0LnBhcmFtcy52aXJ0dWFsJiZ0LnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQmJnQudmlydHVhbD91LiRzbGlkZUVsPXQuJHdyYXBwZXJFbC5jaGlsZHJlbigiLiIuY29uY2F0KHQucGFyYW1zLnNsaWRlQWN0aXZlQ2xhc3MpKTp1LiRzbGlkZUVsPXQuc2xpZGVzLmVxKHQuYWN0aXZlSW5kZXgpKSx1LiRpbWFnZUVsPXUuJHNsaWRlRWwuZmluZCgiLiIuY29uY2F0KFMuY29udGFpbmVyQ2xhc3MpKS5lcSgwKS5maW5kKCJpbWcsIHN2ZywgY2FudmFzLCBwaWN0dXJlLCAuc3dpcGVyLXpvb20tdGFyZ2V0IiksdS4kaW1hZ2VXcmFwRWw9dS4kaW1hZ2VFbC5wYXJlbnQoIi4iLmNvbmNhdChTLmNvbnRhaW5lckNsYXNzKSkpLHUuJGltYWdlRWwmJjAhPT11LiRpbWFnZUVsLmxlbmd0aCYmdS4kaW1hZ2VXcmFwRWwmJjAhPT11LiRpbWFnZVdyYXBFbC5sZW5ndGgpJiYodC5wYXJhbXMuY3NzTW9kZSYmKHQud3JhcHBlckVsLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLHQud3JhcHBlckVsLnN0eWxlLnRvdWNoQWN0aW9uPSJub25lIiksdS4kc2xpZGVFbC5hZGRDbGFzcygiIi5jb25jYXQoUy56b29tZWRTbGlkZUNsYXNzKSksdm9pZCAwPT09Zi50b3VjaGVzU3RhcnQueCYmZT8oYT0idG91Y2hlbmQiPT09ZS50eXBlP2UuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVg6ZS5wYWdlWCxyPSJ0b3VjaGVuZCI9PT1lLnR5cGU/ZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWTplLnBhZ2VZKTooYT1mLnRvdWNoZXNTdGFydC54LHI9Zi50b3VjaGVzU3RhcnQueSksRS5zY2FsZT11LiRpbWFnZVdyYXBFbC5hdHRyKCJkYXRhLXN3aXBlci16b29tIil8fFMubWF4UmF0aW8sYz11LiRpbWFnZVdyYXBFbC5hdHRyKCJkYXRhLXN3aXBlci16b29tIil8fFMubWF4UmF0aW8sZT8oeT11LiRzbGlkZUVsWzBdLm9mZnNldFdpZHRoLHg9dS4kc2xpZGVFbFswXS5vZmZzZXRIZWlnaHQsaT11LiRzbGlkZUVsLm9mZnNldCgpLmxlZnQrcy5zY3JvbGxYK3kvMi1hLG49dS4kc2xpZGVFbC5vZmZzZXQoKS50b3Arcy5zY3JvbGxZK3gvMi1yLGQ9dS4kaW1hZ2VFbFswXS5vZmZzZXRXaWR0aCxwPXUuJGltYWdlRWxbMF0ub2Zmc2V0SGVpZ2h0LGg9ZCpFLnNjYWxlLHY9cCpFLnNjYWxlLHc9LShtPU1hdGgubWluKHkvMi1oLzIsMCkpLGI9LShnPU1hdGgubWluKHgvMi12LzIsMCkpLChvPWkqRS5zY2FsZSk8bSYmKG89bSksbz53JiYobz13KSwobD1uKkUuc2NhbGUpPGcmJihsPWcpLGw+YiYmKGw9YikpOihvPTAsbD0wKSx1LiRpbWFnZVdyYXBFbC50cmFuc2l0aW9uKDMwMCkudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgiLmNvbmNhdChvLCJweCwgIikuY29uY2F0KGwsInB4LDApIikpLHUuJGltYWdlRWwudHJhbnNpdGlvbigzMDApLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKCIuY29uY2F0KEUuc2NhbGUsIikiKSkpfWZ1bmN0aW9uIFMoKXt2YXIgZT10Lnpvb20sYT10LnBhcmFtcy56b29tO3UuJHNsaWRlRWx8fCh0LnBhcmFtcy52aXJ0dWFsJiZ0LnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQmJnQudmlydHVhbD91LiRzbGlkZUVsPXQuJHdyYXBwZXJFbC5jaGlsZHJlbigiLiIuY29uY2F0KHQucGFyYW1zLnNsaWRlQWN0aXZlQ2xhc3MpKTp1LiRzbGlkZUVsPXQuc2xpZGVzLmVxKHQuYWN0aXZlSW5kZXgpLHUuJGltYWdlRWw9dS4kc2xpZGVFbC5maW5kKCIuIi5jb25jYXQoYS5jb250YWluZXJDbGFzcykpLmVxKDApLmZpbmQoImltZywgc3ZnLCBjYW52YXMsIHBpY3R1cmUsIC5zd2lwZXItem9vbS10YXJnZXQiKSx1LiRpbWFnZVdyYXBFbD11LiRpbWFnZUVsLnBhcmVudCgiLiIuY29uY2F0KGEuY29udGFpbmVyQ2xhc3MpKSksdS4kaW1hZ2VFbCYmMCE9PXUuJGltYWdlRWwubGVuZ3RoJiZ1LiRpbWFnZVdyYXBFbCYmMCE9PXUuJGltYWdlV3JhcEVsLmxlbmd0aCYmKHQucGFyYW1zLmNzc01vZGUmJih0LndyYXBwZXJFbC5zdHlsZS5vdmVyZmxvdz0iIix0LndyYXBwZXJFbC5zdHlsZS50b3VjaEFjdGlvbj0iIiksZS5zY2FsZT0xLGM9MSx1LiRpbWFnZVdyYXBFbC50cmFuc2l0aW9uKDMwMCkudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkiKSx1LiRpbWFnZUVsLnRyYW5zaXRpb24oMzAwKS50cmFuc2Zvcm0oInRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxKSIpLHUuJHNsaWRlRWwucmVtb3ZlQ2xhc3MoIiIuY29uY2F0KGEuem9vbWVkU2xpZGVDbGFzcykpLHUuJHNsaWRlRWw9dm9pZCAwKX1mdW5jdGlvbiBDKGUpe3ZhciBhPXQuem9vbTthLnNjYWxlJiYxIT09YS5zY2FsZT9TKCk6RShlKX1mdW5jdGlvbiBNKCl7dmFyIGU9dC5zdXBwb3J0O3JldHVybntwYXNzaXZlTGlzdGVuZXI6ISgidG91Y2hzdGFydCIhPT10LnRvdWNoRXZlbnRzLnN0YXJ0fHwhZS5wYXNzaXZlTGlzdGVuZXJ8fCF0LnBhcmFtcy5wYXNzaXZlTGlzdGVuZXJzKSYme3Bhc3NpdmU6ITAsY2FwdHVyZTohMX0sYWN0aXZlTGlzdGVuZXJXaXRoQ2FwdHVyZTohZS5wYXNzaXZlTGlzdGVuZXJ8fHtwYXNzaXZlOiExLGNhcHR1cmU6ITB9fX1mdW5jdGlvbiBQKCl7cmV0dXJuIi4iLmNvbmNhdCh0LnBhcmFtcy5zbGlkZUNsYXNzKX1mdW5jdGlvbiBrKGUpe3ZhciBhPU0oKS5wYXNzaXZlTGlzdGVuZXIscj1QKCk7dC4kd3JhcHBlckVsW2VdKCJnZXN0dXJlc3RhcnQiLHIsZyxhKSx0LiR3cmFwcGVyRWxbZV0oImdlc3R1cmVjaGFuZ2UiLHIsdyxhKSx0LiR3cmFwcGVyRWxbZV0oImdlc3R1cmVlbmQiLHIsYixhKX1mdW5jdGlvbiAkKCl7b3x8KG89ITAsaygib24iKSl9ZnVuY3Rpb24geigpe28mJihvPSExLGsoIm9mZiIpKX1mdW5jdGlvbiBJKCl7dmFyIGU9dC56b29tO2lmKCFlLmVuYWJsZWQpe2UuZW5hYmxlZD0hMDt2YXIgYT10LnN1cHBvcnQscj1NKCksaT1yLnBhc3NpdmVMaXN0ZW5lcixuPXIuYWN0aXZlTGlzdGVuZXJXaXRoQ2FwdHVyZSxzPVAoKTthLmdlc3R1cmVzPyh0LiR3cmFwcGVyRWwub24odC50b3VjaEV2ZW50cy5zdGFydCwkLGkpLHQuJHdyYXBwZXJFbC5vbih0LnRvdWNoRXZlbnRzLmVuZCx6LGkpKToidG91Y2hzdGFydCI9PT10LnRvdWNoRXZlbnRzLnN0YXJ0JiYodC4kd3JhcHBlckVsLm9uKHQudG91Y2hFdmVudHMuc3RhcnQscyxnLGkpLHQuJHdyYXBwZXJFbC5vbih0LnRvdWNoRXZlbnRzLm1vdmUscyx3LG4pLHQuJHdyYXBwZXJFbC5vbih0LnRvdWNoRXZlbnRzLmVuZCxzLGIsaSksdC50b3VjaEV2ZW50cy5jYW5jZWwmJnQuJHdyYXBwZXJFbC5vbih0LnRvdWNoRXZlbnRzLmNhbmNlbCxzLGIsaSkpLHQuJHdyYXBwZXJFbC5vbih0LnRvdWNoRXZlbnRzLm1vdmUsIi4iLmNvbmNhdCh0LnBhcmFtcy56b29tLmNvbnRhaW5lckNsYXNzKSx5LG4pfX1mdW5jdGlvbiBMKCl7dmFyIGU9dC56b29tO2lmKGUuZW5hYmxlZCl7dmFyIGE9dC5zdXBwb3J0O2UuZW5hYmxlZD0hMTt2YXIgcj1NKCksaT1yLnBhc3NpdmVMaXN0ZW5lcixuPXIuYWN0aXZlTGlzdGVuZXJXaXRoQ2FwdHVyZSxzPVAoKTthLmdlc3R1cmVzPyh0LiR3cmFwcGVyRWwub2ZmKHQudG91Y2hFdmVudHMuc3RhcnQsJCxpKSx0LiR3cmFwcGVyRWwub2ZmKHQudG91Y2hFdmVudHMuZW5kLHosaSkpOiJ0b3VjaHN0YXJ0Ij09PXQudG91Y2hFdmVudHMuc3RhcnQmJih0LiR3cmFwcGVyRWwub2ZmKHQudG91Y2hFdmVudHMuc3RhcnQscyxnLGkpLHQuJHdyYXBwZXJFbC5vZmYodC50b3VjaEV2ZW50cy5tb3ZlLHMsdyxuKSx0LiR3cmFwcGVyRWwub2ZmKHQudG91Y2hFdmVudHMuZW5kLHMsYixpKSx0LnRvdWNoRXZlbnRzLmNhbmNlbCYmdC4kd3JhcHBlckVsLm9mZih0LnRvdWNoRXZlbnRzLmNhbmNlbCxzLGIsaSkpLHQuJHdyYXBwZXJFbC5vZmYodC50b3VjaEV2ZW50cy5tb3ZlLCIuIi5jb25jYXQodC5wYXJhbXMuem9vbS5jb250YWluZXJDbGFzcykseSxuKX19T2JqZWN0LmRlZmluZVByb3BlcnR5KHQuem9vbSwic2NhbGUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sc2V0OmZ1bmN0aW9uKGUpe2lmKHYhPT1lKXt2YXIgdD11LiRpbWFnZUVsP3UuJGltYWdlRWxbMF06dm9pZCAwLGE9dS4kc2xpZGVFbD91LiRzbGlkZUVsWzBdOnZvaWQgMDtuKCJ6b29tQ2hhbmdlIixlLHQsYSl9dj1lfX0pLGkoImluaXQiLChmdW5jdGlvbigpe3QucGFyYW1zLnpvb20uZW5hYmxlZCYmSSgpfSkpLGkoImRlc3Ryb3kiLChmdW5jdGlvbigpe0woKX0pKSxpKCJ0b3VjaFN0YXJ0IiwoZnVuY3Rpb24oZSxhKXt0Lnpvb20uZW5hYmxlZCYmZnVuY3Rpb24oZSl7dmFyIGE9dC5kZXZpY2U7dS4kaW1hZ2VFbCYmMCE9PXUuJGltYWdlRWwubGVuZ3RoJiYoZi5pc1RvdWNoZWR8fChhLmFuZHJvaWQmJmUuY2FuY2VsYWJsZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGYuaXNUb3VjaGVkPSEwLGYudG91Y2hlc1N0YXJ0Lng9InRvdWNoc3RhcnQiPT09ZS50eXBlP2UudGFyZ2V0VG91Y2hlc1swXS5wYWdlWDplLnBhZ2VYLGYudG91Y2hlc1N0YXJ0Lnk9InRvdWNoc3RhcnQiPT09ZS50eXBlP2UudGFyZ2V0VG91Y2hlc1swXS5wYWdlWTplLnBhZ2VZKSl9KGEpfSkpLGkoInRvdWNoRW5kIiwoZnVuY3Rpb24oZSxhKXt0Lnpvb20uZW5hYmxlZCYmZnVuY3Rpb24oKXt2YXIgZT10Lnpvb207aWYodS4kaW1hZ2VFbCYmMCE9PXUuJGltYWdlRWwubGVuZ3RoKXtpZighZi5pc1RvdWNoZWR8fCFmLmlzTW92ZWQpcmV0dXJuIGYuaXNUb3VjaGVkPSExLHZvaWQoZi5pc01vdmVkPSExKTtmLmlzVG91Y2hlZD0hMSxmLmlzTW92ZWQ9ITE7dmFyIGE9MzAwLHI9MzAwLGk9aC54KmEsbj1mLmN1cnJlbnRYK2kscz1oLnkqcixvPWYuY3VycmVudFkrczswIT09aC54JiYoYT1NYXRoLmFicygobi1mLmN1cnJlbnRYKS9oLngpKSwwIT09aC55JiYocj1NYXRoLmFicygoby1mLmN1cnJlbnRZKS9oLnkpKTt2YXIgbD1NYXRoLm1heChhLHIpO2YuY3VycmVudFg9bixmLmN1cnJlbnRZPW87dmFyIGQ9Zi53aWR0aCplLnNjYWxlLGM9Zi5oZWlnaHQqZS5zY2FsZTtmLm1pblg9TWF0aC5taW4odS5zbGlkZVdpZHRoLzItZC8yLDApLGYubWF4WD0tZi5taW5YLGYubWluWT1NYXRoLm1pbih1LnNsaWRlSGVpZ2h0LzItYy8yLDApLGYubWF4WT0tZi5taW5ZLGYuY3VycmVudFg9TWF0aC5tYXgoTWF0aC5taW4oZi5jdXJyZW50WCxmLm1heFgpLGYubWluWCksZi5jdXJyZW50WT1NYXRoLm1heChNYXRoLm1pbihmLmN1cnJlbnRZLGYubWF4WSksZi5taW5ZKSx1LiRpbWFnZVdyYXBFbC50cmFuc2l0aW9uKGwpLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoIi5jb25jYXQoZi5jdXJyZW50WCwicHgsICIpLmNvbmNhdChmLmN1cnJlbnRZLCJweCwwKSIpKX19KCl9KSksaSgiZG91YmxlVGFwIiwoZnVuY3Rpb24oZSxhKXshdC5hbmltYXRpbmcmJnQucGFyYW1zLnpvb20uZW5hYmxlZCYmdC56b29tLmVuYWJsZWQmJnQucGFyYW1zLnpvb20udG9nZ2xlJiZDKGEpfSkpLGkoInRyYW5zaXRpb25FbmQiLChmdW5jdGlvbigpe3Quem9vbS5lbmFibGVkJiZ0LnBhcmFtcy56b29tLmVuYWJsZWQmJngoKX0pKSxpKCJzbGlkZUNoYW5nZSIsKGZ1bmN0aW9uKCl7dC56b29tLmVuYWJsZWQmJnQucGFyYW1zLnpvb20uZW5hYmxlZCYmdC5wYXJhbXMuY3NzTW9kZSYmeCgpfSkpLE9iamVjdC5hc3NpZ24odC56b29tLHtlbmFibGU6SSxkaXNhYmxlOkwsaW46RSxvdXQ6Uyx0b2dnbGU6Q30pfSxmdW5jdGlvbihlKXt2YXIgdD1lLnN3aXBlcixhPWUuZXh0ZW5kUGFyYW1zLGk9ZS5vbixuPWUuZW1pdDthKHtsYXp5OntjaGVja0luVmlldzohMSxlbmFibGVkOiExLGxvYWRQcmV2TmV4dDohMSxsb2FkUHJldk5leHRBbW91bnQ6MSxsb2FkT25UcmFuc2l0aW9uU3RhcnQ6ITEsc2Nyb2xsaW5nRWxlbWVudDoiIixlbGVtZW50Q2xhc3M6InN3aXBlci1sYXp5Iixsb2FkaW5nQ2xhc3M6InN3aXBlci1sYXp5LWxvYWRpbmciLGxvYWRlZENsYXNzOiJzd2lwZXItbGF6eS1sb2FkZWQiLHByZWxvYWRlckNsYXNzOiJzd2lwZXItbGF6eS1wcmVsb2FkZXIifX0pLHQubGF6eT17fTt2YXIgcz0hMSxvPSExO2Z1bmN0aW9uIGwoZSl7dmFyIGE9IShhcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSl8fGFyZ3VtZW50c1sxXSxyPXQucGFyYW1zLmxhenk7aWYodm9pZCAwIT09ZSYmMCE9PXQuc2xpZGVzLmxlbmd0aCl7dmFyIGk9dC52aXJ0dWFsJiZ0LnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQscz1pP3QuJHdyYXBwZXJFbC5jaGlsZHJlbigiLiIuY29uY2F0KHQucGFyYW1zLnNsaWRlQ2xhc3MsJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJykuY29uY2F0KGUsJyJdJykpOnQuc2xpZGVzLmVxKGUpLG89cy5maW5kKCIuIi5jb25jYXQoci5lbGVtZW50Q2xhc3MsIjpub3QoLiIpLmNvbmNhdChyLmxvYWRlZENsYXNzLCIpOm5vdCguIikuY29uY2F0KHIubG9hZGluZ0NsYXNzLCIpIikpOyFzLmhhc0NsYXNzKHIuZWxlbWVudENsYXNzKXx8cy5oYXNDbGFzcyhyLmxvYWRlZENsYXNzKXx8cy5oYXNDbGFzcyhyLmxvYWRpbmdDbGFzcyl8fG8ucHVzaChzWzBdKSwwIT09by5sZW5ndGgmJm8uZWFjaCgoZnVuY3Rpb24oZSl7dmFyIGk9VChlKTtpLmFkZENsYXNzKHIubG9hZGluZ0NsYXNzKTt2YXIgbz1pLmF0dHIoImRhdGEtYmFja2dyb3VuZCIpLGQ9aS5hdHRyKCJkYXRhLXNyYyIpLGM9aS5hdHRyKCJkYXRhLXNyY3NldCIpLHA9aS5hdHRyKCJkYXRhLXNpemVzIiksdT1pLnBhcmVudCgicGljdHVyZSIpO3QubG9hZEltYWdlKGlbMF0sZHx8byxjLHAsITEsKGZ1bmN0aW9uKCl7aWYobnVsbCE9dCYmdCYmKCF0fHx0LnBhcmFtcykmJiF0LmRlc3Ryb3llZCl7aWYobz8oaS5jc3MoImJhY2tncm91bmQtaW1hZ2UiLCd1cmwoIicuY29uY2F0KG8sJyIpJykpLGkucmVtb3ZlQXR0cigiZGF0YS1iYWNrZ3JvdW5kIikpOihjJiYoaS5hdHRyKCJzcmNzZXQiLGMpLGkucmVtb3ZlQXR0cigiZGF0YS1zcmNzZXQiKSkscCYmKGkuYXR0cigic2l6ZXMiLHApLGkucmVtb3ZlQXR0cigiZGF0YS1zaXplcyIpKSx1Lmxlbmd0aCYmdS5jaGlsZHJlbigic291cmNlIikuZWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9VChlKTt0LmF0dHIoImRhdGEtc3Jjc2V0IikmJih0LmF0dHIoInNyY3NldCIsdC5hdHRyKCJkYXRhLXNyY3NldCIpKSx0LnJlbW92ZUF0dHIoImRhdGEtc3Jjc2V0IikpfSkpLGQmJihpLmF0dHIoInNyYyIsZCksaS5yZW1vdmVBdHRyKCJkYXRhLXNyYyIpKSksaS5hZGRDbGFzcyhyLmxvYWRlZENsYXNzKS5yZW1vdmVDbGFzcyhyLmxvYWRpbmdDbGFzcykscy5maW5kKCIuIi5jb25jYXQoci5wcmVsb2FkZXJDbGFzcykpLnJlbW92ZSgpLHQucGFyYW1zLmxvb3AmJmEpe3ZhciBlPXMuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKTtpZihzLmhhc0NsYXNzKHQucGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpKWwodC4kd3JhcHBlckVsLmNoaWxkcmVuKCdbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicuY29uY2F0KGUsJyJdOm5vdCguJykuY29uY2F0KHQucGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MsIikiKSkuaW5kZXgoKSwhMSk7ZWxzZSBsKHQuJHdyYXBwZXJFbC5jaGlsZHJlbigiLiIuY29uY2F0KHQucGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MsJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJykuY29uY2F0KGUsJyJdJykpLmluZGV4KCksITEpfW4oImxhenlJbWFnZVJlYWR5IixzWzBdLGlbMF0pLHQucGFyYW1zLmF1dG9IZWlnaHQmJnQudXBkYXRlQXV0b0hlaWdodCgpfX0pKSxuKCJsYXp5SW1hZ2VMb2FkIixzWzBdLGlbMF0pfSkpfX1mdW5jdGlvbiBkKCl7dmFyIGU9dC4kd3JhcHBlckVsLGE9dC5wYXJhbXMscj10LnNsaWRlcyxpPXQuYWN0aXZlSW5kZXgsbj10LnZpcnR1YWwmJmEudmlydHVhbC5lbmFibGVkLHM9YS5sYXp5LGQ9YS5zbGlkZXNQZXJWaWV3O2Z1bmN0aW9uIGModCl7aWYobil7aWYoZS5jaGlsZHJlbigiLiIuY29uY2F0KGEuc2xpZGVDbGFzcywnW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSInKS5jb25jYXQodCwnIl0nKSkubGVuZ3RoKXJldHVybiEwfWVsc2UgaWYoclt0XSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBwKGUpe3JldHVybiBuP1QoZSkuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKTpUKGUpLmluZGV4KCl9aWYoImF1dG8iPT09ZCYmKGQ9MCksb3x8KG89ITApLHQucGFyYW1zLndhdGNoU2xpZGVzUHJvZ3Jlc3MpZS5jaGlsZHJlbigiLiIuY29uY2F0KGEuc2xpZGVWaXNpYmxlQ2xhc3MpKS5lYWNoKChmdW5jdGlvbihlKXtsKG4/VChlKS5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpOlQoZSkuaW5kZXgoKSl9KSk7ZWxzZSBpZihkPjEpZm9yKHZhciB1PWk7dTxpK2Q7dSs9MSljKHUpJiZsKHUpO2Vsc2UgbChpKTtpZihzLmxvYWRQcmV2TmV4dClpZihkPjF8fHMubG9hZFByZXZOZXh0QW1vdW50JiZzLmxvYWRQcmV2TmV4dEFtb3VudD4xKXtmb3IodmFyIGY9cy5sb2FkUHJldk5leHRBbW91bnQsaD1kLHY9TWF0aC5taW4oaStoK01hdGgubWF4KGYsaCksci5sZW5ndGgpLG09TWF0aC5tYXgoaS1NYXRoLm1heChoLGYpLDApLGc9aStkO2c8djtnKz0xKWMoZykmJmwoZyk7Zm9yKHZhciB3PW07dzxpO3crPTEpYyh3KSYmbCh3KX1lbHNle3ZhciBiPWUuY2hpbGRyZW4oIi4iLmNvbmNhdChhLnNsaWRlTmV4dENsYXNzKSk7Yi5sZW5ndGg+MCYmbChwKGIpKTt2YXIgeT1lLmNoaWxkcmVuKCIuIi5jb25jYXQoYS5zbGlkZVByZXZDbGFzcykpO3kubGVuZ3RoPjAmJmwocCh5KSl9fWZ1bmN0aW9uIGMoKXt2YXIgZT0oMCxyLkpqKSgpO2lmKHQmJiF0LmRlc3Ryb3llZCl7dmFyIGE9dC5wYXJhbXMubGF6eS5zY3JvbGxpbmdFbGVtZW50P1QodC5wYXJhbXMubGF6eS5zY3JvbGxpbmdFbGVtZW50KTpUKGUpLGk9YVswXT09PWUsbj1pP2UuaW5uZXJXaWR0aDphWzBdLm9mZnNldFdpZHRoLG89aT9lLmlubmVySGVpZ2h0OmFbMF0ub2Zmc2V0SGVpZ2h0LGw9dC4kZWwub2Zmc2V0KCkscD0hMTt0LnJ0bFRyYW5zbGF0ZSYmKGwubGVmdC09dC4kZWxbMF0uc2Nyb2xsTGVmdCk7Zm9yKHZhciB1PVtbbC5sZWZ0LGwudG9wXSxbbC5sZWZ0K3Qud2lkdGgsbC50b3BdLFtsLmxlZnQsbC50b3ArdC5oZWlnaHRdLFtsLmxlZnQrdC53aWR0aCxsLnRvcCt0LmhlaWdodF1dLGY9MDtmPHUubGVuZ3RoO2YrPTEpe3ZhciBoPXVbZl07aWYoaFswXT49MCYmaFswXTw9biYmaFsxXT49MCYmaFsxXTw9byl7aWYoMD09PWhbMF0mJjA9PT1oWzFdKWNvbnRpbnVlO3A9ITB9fXZhciB2PSEoInRvdWNoc3RhcnQiIT09dC50b3VjaEV2ZW50cy5zdGFydHx8IXQuc3VwcG9ydC5wYXNzaXZlTGlzdGVuZXJ8fCF0LnBhcmFtcy5wYXNzaXZlTGlzdGVuZXJzKSYme3Bhc3NpdmU6ITAsY2FwdHVyZTohMX07cD8oZCgpLGEub2ZmKCJzY3JvbGwiLGMsdikpOnN8fChzPSEwLGEub24oInNjcm9sbCIsYyx2KSl9fWkoImJlZm9yZUluaXQiLChmdW5jdGlvbigpe3QucGFyYW1zLmxhenkuZW5hYmxlZCYmdC5wYXJhbXMucHJlbG9hZEltYWdlcyYmKHQucGFyYW1zLnByZWxvYWRJbWFnZXM9ITEpfSkpLGkoImluaXQiLChmdW5jdGlvbigpe3QucGFyYW1zLmxhenkuZW5hYmxlZCYmKHQucGFyYW1zLmxhenkuY2hlY2tJblZpZXc/YygpOmQoKSl9KSksaSgic2Nyb2xsIiwoZnVuY3Rpb24oKXt0LnBhcmFtcy5mcmVlTW9kZSYmdC5wYXJhbXMuZnJlZU1vZGUuZW5hYmxlZCYmIXQucGFyYW1zLmZyZWVNb2RlLnN0aWNreSYmZCgpfSkpLGkoInNjcm9sbGJhckRyYWdNb3ZlIHJlc2l6ZSBfZnJlZU1vZGVOb01vbWVudHVtUmVsZWFzZSIsKGZ1bmN0aW9uKCl7dC5wYXJhbXMubGF6eS5lbmFibGVkJiYodC5wYXJhbXMubGF6eS5jaGVja0luVmlldz9jKCk6ZCgpKX0pKSxpKCJ0cmFuc2l0aW9uU3RhcnQiLChmdW5jdGlvbigpe3QucGFyYW1zLmxhenkuZW5hYmxlZCYmKHQucGFyYW1zLmxhenkubG9hZE9uVHJhbnNpdGlvblN0YXJ0fHwhdC5wYXJhbXMubGF6eS5sb2FkT25UcmFuc2l0aW9uU3RhcnQmJiFvKSYmKHQucGFyYW1zLmxhenkuY2hlY2tJblZpZXc/YygpOmQoKSl9KSksaSgidHJhbnNpdGlvbkVuZCIsKGZ1bmN0aW9uKCl7dC5wYXJhbXMubGF6eS5lbmFibGVkJiYhdC5wYXJhbXMubGF6eS5sb2FkT25UcmFuc2l0aW9uU3RhcnQmJih0LnBhcmFtcy5sYXp5LmNoZWNrSW5WaWV3P2MoKTpkKCkpfSkpLGkoInNsaWRlQ2hhbmdlIiwoZnVuY3Rpb24oKXt2YXIgZT10LnBhcmFtcyxhPWUubGF6eSxyPWUuY3NzTW9kZSxpPWUud2F0Y2hTbGlkZXNQcm9ncmVzcyxuPWUudG91Y2hSZWxlYXNlT25FZGdlcyxzPWUucmVzaXN0YW5jZVJhdGlvO2EuZW5hYmxlZCYmKHJ8fGkmJihufHwwPT09cykpJiZkKCl9KSksT2JqZWN0LmFzc2lnbih0Lmxhenkse2xvYWQ6ZCxsb2FkSW5TbGlkZTpsfSl9LGZ1bmN0aW9uKGUpe3ZhciB0PWUuc3dpcGVyLGE9ZS5leHRlbmRQYXJhbXMscj1lLm9uO2Z1bmN0aW9uIGkoZSx0KXt2YXIgYSxyLGksbixzLG89ZnVuY3Rpb24oZSx0KXtmb3Iocj0tMSxhPWUubGVuZ3RoO2Etcj4xOyllW2k9YStyPj4xXTw9dD9yPWk6YT1pO3JldHVybiBhfTtyZXR1cm4gdGhpcy54PWUsdGhpcy55PXQsdGhpcy5sYXN0SW5kZXg9ZS5sZW5ndGgtMSx0aGlzLmludGVycG9sYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBlPyhzPW8odGhpcy54LGUpLG49cy0xLChlLXRoaXMueFtuXSkqKHRoaXMueVtzXS10aGlzLnlbbl0pLyh0aGlzLnhbc10tdGhpcy54W25dKSt0aGlzLnlbbl0pOjB9LHRoaXN9ZnVuY3Rpb24gbigpe3QuY29udHJvbGxlci5jb250cm9sJiZ0LmNvbnRyb2xsZXIuc3BsaW5lJiYodC5jb250cm9sbGVyLnNwbGluZT12b2lkIDAsZGVsZXRlIHQuY29udHJvbGxlci5zcGxpbmUpfWEoe2NvbnRyb2xsZXI6e2NvbnRyb2w6dm9pZCAwLGludmVyc2U6ITEsYnk6InNsaWRlIn19KSx0LmNvbnRyb2xsZXI9e2NvbnRyb2w6dm9pZCAwfSxyKCJiZWZvcmVJbml0IiwoZnVuY3Rpb24oKXt0LmNvbnRyb2xsZXIuY29udHJvbD10LnBhcmFtcy5jb250cm9sbGVyLmNvbnRyb2x9KSkscigidXBkYXRlIiwoZnVuY3Rpb24oKXtuKCl9KSkscigicmVzaXplIiwoZnVuY3Rpb24oKXtuKCl9KSkscigib2JzZXJ2ZXJVcGRhdGUiLChmdW5jdGlvbigpe24oKX0pKSxyKCJzZXRUcmFuc2xhdGUiLChmdW5jdGlvbihlLGEscil7dC5jb250cm9sbGVyLmNvbnRyb2wmJnQuY29udHJvbGxlci5zZXRUcmFuc2xhdGUoYSxyKX0pKSxyKCJzZXRUcmFuc2l0aW9uIiwoZnVuY3Rpb24oZSxhLHIpe3QuY29udHJvbGxlci5jb250cm9sJiZ0LmNvbnRyb2xsZXIuc2V0VHJhbnNpdGlvbihhLHIpfSkpLE9iamVjdC5hc3NpZ24odC5jb250cm9sbGVyLHtzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oZSxhKXt2YXIgcixuLHM9dC5jb250cm9sbGVyLmNvbnRyb2wsbz10LmNvbnN0cnVjdG9yO2Z1bmN0aW9uIGwoZSl7dmFyIGE9dC5ydGxUcmFuc2xhdGU/LXQudHJhbnNsYXRlOnQudHJhbnNsYXRlOyJzbGlkZSI9PT10LnBhcmFtcy5jb250cm9sbGVyLmJ5JiYoIWZ1bmN0aW9uKGUpe3QuY29udHJvbGxlci5zcGxpbmV8fCh0LmNvbnRyb2xsZXIuc3BsaW5lPXQucGFyYW1zLmxvb3A/bmV3IGkodC5zbGlkZXNHcmlkLGUuc2xpZGVzR3JpZCk6bmV3IGkodC5zbmFwR3JpZCxlLnNuYXBHcmlkKSl9KGUpLG49LXQuY29udHJvbGxlci5zcGxpbmUuaW50ZXJwb2xhdGUoLWEpKSxuJiYiY29udGFpbmVyIiE9PXQucGFyYW1zLmNvbnRyb2xsZXIuYnl8fChyPShlLm1heFRyYW5zbGF0ZSgpLWUubWluVHJhbnNsYXRlKCkpLyh0Lm1heFRyYW5zbGF0ZSgpLXQubWluVHJhbnNsYXRlKCkpLG49KGEtdC5taW5UcmFuc2xhdGUoKSkqcitlLm1pblRyYW5zbGF0ZSgpKSx0LnBhcmFtcy5jb250cm9sbGVyLmludmVyc2UmJihuPWUubWF4VHJhbnNsYXRlKCktbiksZS51cGRhdGVQcm9ncmVzcyhuKSxlLnNldFRyYW5zbGF0ZShuLHQpLGUudXBkYXRlQWN0aXZlSW5kZXgoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX1pZihBcnJheS5pc0FycmF5KHMpKWZvcih2YXIgZD0wO2Q8cy5sZW5ndGg7ZCs9MSlzW2RdIT09YSYmc1tkXWluc3RhbmNlb2YgbyYmbChzW2RdKTtlbHNlIHMgaW5zdGFuY2VvZiBvJiZhIT09cyYmbChzKX0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlLGEpe3ZhciByLGk9dC5jb25zdHJ1Y3RvcixuPXQuY29udHJvbGxlci5jb250cm9sO2Z1bmN0aW9uIHMoYSl7YS5zZXRUcmFuc2l0aW9uKGUsdCksMCE9PWUmJihhLnRyYW5zaXRpb25TdGFydCgpLGEucGFyYW1zLmF1dG9IZWlnaHQmJmsoKGZ1bmN0aW9uKCl7YS51cGRhdGVBdXRvSGVpZ2h0KCl9KSksYS4kd3JhcHBlckVsLnRyYW5zaXRpb25FbmQoKGZ1bmN0aW9uKCl7biYmKGEucGFyYW1zLmxvb3AmJiJzbGlkZSI9PT10LnBhcmFtcy5jb250cm9sbGVyLmJ5JiZhLmxvb3BGaXgoKSxhLnRyYW5zaXRpb25FbmQoKSl9KSkpfWlmKEFycmF5LmlzQXJyYXkobikpZm9yKHI9MDtyPG4ubGVuZ3RoO3IrPTEpbltyXSE9PWEmJm5bcl1pbnN0YW5jZW9mIGkmJnMobltyXSk7ZWxzZSBuIGluc3RhbmNlb2YgaSYmYSE9PW4mJnMobil9fSl9LGZ1bmN0aW9uKGUpe3ZhciB0PWUuc3dpcGVyLGE9ZS5leHRlbmRQYXJhbXMscj1lLm9uO2Eoe2ExMXk6e2VuYWJsZWQ6ITAsbm90aWZpY2F0aW9uQ2xhc3M6InN3aXBlci1ub3RpZmljYXRpb24iLHByZXZTbGlkZU1lc3NhZ2U6IlByZXZpb3VzIHNsaWRlIixuZXh0U2xpZGVNZXNzYWdlOiJOZXh0IHNsaWRlIixmaXJzdFNsaWRlTWVzc2FnZToiVGhpcyBpcyB0aGUgZmlyc3Qgc2xpZGUiLGxhc3RTbGlkZU1lc3NhZ2U6IlRoaXMgaXMgdGhlIGxhc3Qgc2xpZGUiLHBhZ2luYXRpb25CdWxsZXRNZXNzYWdlOiJHbyB0byBzbGlkZSB7e2luZGV4fX0iLHNsaWRlTGFiZWxNZXNzYWdlOiJ7e2luZGV4fX0gLyB7e3NsaWRlc0xlbmd0aH19Iixjb250YWluZXJNZXNzYWdlOm51bGwsY29udGFpbmVyUm9sZURlc2NyaXB0aW9uTWVzc2FnZTpudWxsLGl0ZW1Sb2xlRGVzY3JpcHRpb25NZXNzYWdlOm51bGwsc2xpZGVSb2xlOiJncm91cCJ9fSk7dmFyIGk9bnVsbDtmdW5jdGlvbiBuKGUpe3ZhciB0PWk7MCE9PXQubGVuZ3RoJiYodC5odG1sKCIiKSx0Lmh0bWwoZSkpfWZ1bmN0aW9uIHMoZSl7ZS5hdHRyKCJ0YWJJbmRleCIsIjAiKX1mdW5jdGlvbiBvKGUpe2UuYXR0cigidGFiSW5kZXgiLCItMSIpfWZ1bmN0aW9uIGwoZSx0KXtlLmF0dHIoInJvbGUiLHQpfWZ1bmN0aW9uIGQoZSx0KXtlLmF0dHIoImFyaWEtcm9sZWRlc2NyaXB0aW9uIix0KX1mdW5jdGlvbiBjKGUsdCl7ZS5hdHRyKCJhcmlhLWxhYmVsIix0KX1mdW5jdGlvbiBwKGUpe2UuYXR0cigiYXJpYS1kaXNhYmxlZCIsITApfWZ1bmN0aW9uIHUoZSl7ZS5hdHRyKCJhcmlhLWRpc2FibGVkIiwhMSl9ZnVuY3Rpb24gZihlKXtpZigxMz09PWUua2V5Q29kZXx8MzI9PT1lLmtleUNvZGUpe3ZhciBhPXQucGFyYW1zLmExMXkscj1UKGUudGFyZ2V0KTt0Lm5hdmlnYXRpb24mJnQubmF2aWdhdGlvbi4kbmV4dEVsJiZyLmlzKHQubmF2aWdhdGlvbi4kbmV4dEVsKSYmKHQuaXNFbmQmJiF0LnBhcmFtcy5sb29wfHx0LnNsaWRlTmV4dCgpLHQuaXNFbmQ/bihhLmxhc3RTbGlkZU1lc3NhZ2UpOm4oYS5uZXh0U2xpZGVNZXNzYWdlKSksdC5uYXZpZ2F0aW9uJiZ0Lm5hdmlnYXRpb24uJHByZXZFbCYmci5pcyh0Lm5hdmlnYXRpb24uJHByZXZFbCkmJih0LmlzQmVnaW5uaW5nJiYhdC5wYXJhbXMubG9vcHx8dC5zbGlkZVByZXYoKSx0LmlzQmVnaW5uaW5nP24oYS5maXJzdFNsaWRlTWVzc2FnZSk6bihhLnByZXZTbGlkZU1lc3NhZ2UpKSx0LnBhZ2luYXRpb24mJnIuaXMoJGUodC5wYXJhbXMucGFnaW5hdGlvbi5idWxsZXRDbGFzcykpJiZyWzBdLmNsaWNrKCl9fWZ1bmN0aW9uIGgoKXtpZighdC5wYXJhbXMubG9vcCYmdC5uYXZpZ2F0aW9uKXt2YXIgZT10Lm5hdmlnYXRpb24sYT1lLiRuZXh0RWwscj1lLiRwcmV2RWw7ciYmci5sZW5ndGg+MCYmKHQuaXNCZWdpbm5pbmc/KHAociksbyhyKSk6KHUocikscyhyKSkpLGEmJmEubGVuZ3RoPjAmJih0LmlzRW5kPyhwKGEpLG8oYSkpOih1KGEpLHMoYSkpKX19ZnVuY3Rpb24gdigpe3JldHVybiB0LnBhZ2luYXRpb24mJnQucGFyYW1zLnBhZ2luYXRpb24uY2xpY2thYmxlJiZ0LnBhZ2luYXRpb24uYnVsbGV0cyYmdC5wYWdpbmF0aW9uLmJ1bGxldHMubGVuZ3RofXZhciBtPWZ1bmN0aW9uKGUsdCxhKXtzKGUpLCJCVVRUT04iIT09ZVswXS50YWdOYW1lJiYobChlLCJidXR0b24iKSxlLm9uKCJrZXlkb3duIixmKSksYyhlLGEpLGZ1bmN0aW9uKGUsdCl7ZS5hdHRyKCJhcmlhLWNvbnRyb2xzIix0KX0oZSx0KX07ZnVuY3Rpb24gZygpe3ZhciBlPXQucGFyYW1zLmExMXk7dC4kZWwuYXBwZW5kKGkpO3ZhciBhPXQuJGVsO2UuY29udGFpbmVyUm9sZURlc2NyaXB0aW9uTWVzc2FnZSYmZChhLGUuY29udGFpbmVyUm9sZURlc2NyaXB0aW9uTWVzc2FnZSksZS5jb250YWluZXJNZXNzYWdlJiZjKGEsZS5jb250YWluZXJNZXNzYWdlKTt2YXIgcixuPXQuJHdyYXBwZXJFbCxzPW4uYXR0cigiaWQiKXx8InN3aXBlci13cmFwcGVyLSIuY29uY2F0KGZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yb3VuZCgxNipNYXRoLnJhbmRvbSgpKS50b1N0cmluZygxNil9O3JldHVybiJ4Ii5yZXBlYXQoYXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjE2KS5yZXBsYWNlKC94L2csZSl9KDE2KSksbz10LnBhcmFtcy5hdXRvcGxheSYmdC5wYXJhbXMuYXV0b3BsYXkuZW5hYmxlZD8ib2ZmIjoicG9saXRlIjtyPXMsbi5hdHRyKCJpZCIsciksZnVuY3Rpb24oZSx0KXtlLmF0dHIoImFyaWEtbGl2ZSIsdCl9KG4sbyksZS5pdGVtUm9sZURlc2NyaXB0aW9uTWVzc2FnZSYmZChUKHQuc2xpZGVzKSxlLml0ZW1Sb2xlRGVzY3JpcHRpb25NZXNzYWdlKSxsKFQodC5zbGlkZXMpLGUuc2xpZGVSb2xlKTt2YXIgcCx1LGg9dC5wYXJhbXMubG9vcD90LnNsaWRlcy5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiFlLmNsYXNzTGlzdC5jb250YWlucyh0LnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKX0pKS5sZW5ndGg6dC5zbGlkZXMubGVuZ3RoO3Quc2xpZGVzLmVhY2goKGZ1bmN0aW9uKGEscil7dmFyIGk9VChhKSxuPXQucGFyYW1zLmxvb3A/cGFyc2VJbnQoaS5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpLDEwKTpyO2MoaSxlLnNsaWRlTGFiZWxNZXNzYWdlLnJlcGxhY2UoL1x7XHtpbmRleFx9XH0vLG4rMSkucmVwbGFjZSgvXHtce3NsaWRlc0xlbmd0aFx9XH0vLGgpKX0pKSx0Lm5hdmlnYXRpb24mJnQubmF2aWdhdGlvbi4kbmV4dEVsJiYocD10Lm5hdmlnYXRpb24uJG5leHRFbCksdC5uYXZpZ2F0aW9uJiZ0Lm5hdmlnYXRpb24uJHByZXZFbCYmKHU9dC5uYXZpZ2F0aW9uLiRwcmV2RWwpLHAmJnAubGVuZ3RoJiZtKHAscyxlLm5leHRTbGlkZU1lc3NhZ2UpLHUmJnUubGVuZ3RoJiZtKHUscyxlLnByZXZTbGlkZU1lc3NhZ2UpLHYoKSYmdC5wYWdpbmF0aW9uLiRlbC5vbigia2V5ZG93biIsJGUodC5wYXJhbXMucGFnaW5hdGlvbi5idWxsZXRDbGFzcyksZil9cigiYmVmb3JlSW5pdCIsKGZ1bmN0aW9uKCl7aT1UKCc8c3BhbiBjbGFzcz0iJy5jb25jYXQodC5wYXJhbXMuYTExeS5ub3RpZmljYXRpb25DbGFzcywnIiBhcmlhLWxpdmU9ImFzc2VydGl2ZSIgYXJpYS1hdG9taWM9InRydWUiPjwvc3Bhbj4nKSl9KSkscigiYWZ0ZXJJbml0IiwoZnVuY3Rpb24oKXt0LnBhcmFtcy5hMTF5LmVuYWJsZWQmJihnKCksaCgpKX0pKSxyKCJ0b0VkZ2UiLChmdW5jdGlvbigpe3QucGFyYW1zLmExMXkuZW5hYmxlZCYmaCgpfSkpLHIoImZyb21FZGdlIiwoZnVuY3Rpb24oKXt0LnBhcmFtcy5hMTF5LmVuYWJsZWQmJmgoKX0pKSxyKCJwYWdpbmF0aW9uVXBkYXRlIiwoZnVuY3Rpb24oKXt2YXIgZTt0LnBhcmFtcy5hMTF5LmVuYWJsZWQmJihlPXQucGFyYW1zLmExMXksdigpJiZ0LnBhZ2luYXRpb24uYnVsbGV0cy5lYWNoKChmdW5jdGlvbihhKXt2YXIgcj1UKGEpO3MociksdC5wYXJhbXMucGFnaW5hdGlvbi5yZW5kZXJCdWxsZXR8fChsKHIsImJ1dHRvbiIpLGMocixlLnBhZ2luYXRpb25CdWxsZXRNZXNzYWdlLnJlcGxhY2UoL1x7XHtpbmRleFx9XH0vLHIuaW5kZXgoKSsxKSkpfSkpKX0pKSxyKCJkZXN0cm95IiwoZnVuY3Rpb24oKXt2YXIgZSxhO3QucGFyYW1zLmExMXkuZW5hYmxlZCYmKGkmJmkubGVuZ3RoPjAmJmkucmVtb3ZlKCksdC5uYXZpZ2F0aW9uJiZ0Lm5hdmlnYXRpb24uJG5leHRFbCYmKGU9dC5uYXZpZ2F0aW9uLiRuZXh0RWwpLHQubmF2aWdhdGlvbiYmdC5uYXZpZ2F0aW9uLiRwcmV2RWwmJihhPXQubmF2aWdhdGlvbi4kcHJldkVsKSxlJiZlLm9mZigia2V5ZG93biIsZiksYSYmYS5vZmYoImtleWRvd24iLGYpLHYoKSYmdC5wYWdpbmF0aW9uLiRlbC5vZmYoImtleWRvd24iLCRlKHQucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MpLGYpKX0pKX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zd2lwZXIsYT1lLmV4dGVuZFBhcmFtcyxpPWUub247YSh7aGlzdG9yeTp7ZW5hYmxlZDohMSxyb290OiIiLHJlcGxhY2VTdGF0ZTohMSxrZXk6InNsaWRlcyJ9fSk7dmFyIG49ITEscz17fSxvPWZ1bmN0aW9uKGUpe3JldHVybiBlLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIi0iKS5yZXBsYWNlKC9bXlx3LV0rL2csIiIpLnJlcGxhY2UoLy0tKy9nLCItIikucmVwbGFjZSgvXi0rLywiIikucmVwbGFjZSgvLSskLywiIil9LGw9ZnVuY3Rpb24oZSl7dmFyIHQ9KDAsci5KaikoKSxhPShlP25ldyBVUkwoZSk6dC5sb2NhdGlvbikucGF0aG5hbWUuc2xpY2UoMSkuc3BsaXQoIi8iKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiIiIT09ZX0pKSxpPWEubGVuZ3RoO3JldHVybntrZXk6YVtpLTJdLHZhbHVlOmFbaS0xXX19LGQ9ZnVuY3Rpb24oZSxhKXt2YXIgaT0oMCxyLkpqKSgpO2lmKG4mJnQucGFyYW1zLmhpc3RvcnkuZW5hYmxlZCl7dmFyIHM7cz10LnBhcmFtcy51cmw/bmV3IFVSTCh0LnBhcmFtcy51cmwpOmkubG9jYXRpb247dmFyIGw9dC5zbGlkZXMuZXEoYSksZD1vKGwuYXR0cigiZGF0YS1oaXN0b3J5IikpO2lmKHQucGFyYW1zLmhpc3Rvcnkucm9vdC5sZW5ndGg+MCl7dmFyIGM9dC5wYXJhbXMuaGlzdG9yeS5yb290OyIvIj09PWNbYy5sZW5ndGgtMV0mJihjPWMuc2xpY2UoMCxjLmxlbmd0aC0xKSksZD0iIi5jb25jYXQoYywiLyIpLmNvbmNhdChlLCIvIikuY29uY2F0KGQpfWVsc2Ugcy5wYXRobmFtZS5pbmNsdWRlcyhlKXx8KGQ9IiIuY29uY2F0KGUsIi8iKS5jb25jYXQoZCkpO3ZhciBwPWkuaGlzdG9yeS5zdGF0ZTtwJiZwLnZhbHVlPT09ZHx8KHQucGFyYW1zLmhpc3RvcnkucmVwbGFjZVN0YXRlP2kuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe3ZhbHVlOmR9LG51bGwsZCk6aS5oaXN0b3J5LnB1c2hTdGF0ZSh7dmFsdWU6ZH0sbnVsbCxkKSl9fSxjPWZ1bmN0aW9uKGUsYSxyKXtpZihhKWZvcih2YXIgaT0wLG49dC5zbGlkZXMubGVuZ3RoO2k8bjtpKz0xKXt2YXIgcz10LnNsaWRlcy5lcShpKTtpZihvKHMuYXR0cigiZGF0YS1oaXN0b3J5IikpPT09YSYmIXMuaGFzQ2xhc3ModC5wYXJhbXMuc2xpZGVEdXBsaWNhdGVDbGFzcykpe3ZhciBsPXMuaW5kZXgoKTt0LnNsaWRlVG8obCxlLHIpfX1lbHNlIHQuc2xpZGVUbygwLGUscil9LHA9ZnVuY3Rpb24oKXtzPWwodC5wYXJhbXMudXJsKSxjKHQucGFyYW1zLnNwZWVkLHQucGF0aHMudmFsdWUsITEpfTtpKCJpbml0IiwoZnVuY3Rpb24oKXt0LnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQmJmZ1bmN0aW9uKCl7dmFyIGU9KDAsci5KaikoKTtpZih0LnBhcmFtcy5oaXN0b3J5KXtpZighZS5oaXN0b3J5fHwhZS5oaXN0b3J5LnB1c2hTdGF0ZSlyZXR1cm4gdC5wYXJhbXMuaGlzdG9yeS5lbmFibGVkPSExLHZvaWQodC5wYXJhbXMuaGFzaE5hdmlnYXRpb24uZW5hYmxlZD0hMCk7bj0hMCwoKHM9bCh0LnBhcmFtcy51cmwpKS5rZXl8fHMudmFsdWUpJiYoYygwLHMudmFsdWUsdC5wYXJhbXMucnVuQ2FsbGJhY2tzT25Jbml0KSx0LnBhcmFtcy5oaXN0b3J5LnJlcGxhY2VTdGF0ZXx8ZS5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIscCkpfX0oKX0pKSxpKCJkZXN0cm95IiwoZnVuY3Rpb24oKXt0LnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQmJmZ1bmN0aW9uKCl7dmFyIGU9KDAsci5KaikoKTt0LnBhcmFtcy5oaXN0b3J5LnJlcGxhY2VTdGF0ZXx8ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIscCl9KCl9KSksaSgidHJhbnNpdGlvbkVuZCBfZnJlZU1vZGVOb01vbWVudHVtUmVsZWFzZSIsKGZ1bmN0aW9uKCl7biYmZCh0LnBhcmFtcy5oaXN0b3J5LmtleSx0LmFjdGl2ZUluZGV4KX0pKSxpKCJzbGlkZUNoYW5nZSIsKGZ1bmN0aW9uKCl7biYmdC5wYXJhbXMuY3NzTW9kZSYmZCh0LnBhcmFtcy5oaXN0b3J5LmtleSx0LmFjdGl2ZUluZGV4KX0pKX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zd2lwZXIsYT1lLmV4dGVuZFBhcmFtcyxpPWUuZW1pdCxuPWUub24scz0hMSxvPSgwLHIuTWUpKCksbD0oMCxyLkpqKSgpO2Eoe2hhc2hOYXZpZ2F0aW9uOntlbmFibGVkOiExLHJlcGxhY2VTdGF0ZTohMSx3YXRjaFN0YXRlOiExfX0pO3ZhciBkPWZ1bmN0aW9uKCl7aSgiaGFzaENoYW5nZSIpO3ZhciBlPW8ubG9jYXRpb24uaGFzaC5yZXBsYWNlKCIjIiwiIik7aWYoZSE9PXQuc2xpZGVzLmVxKHQuYWN0aXZlSW5kZXgpLmF0dHIoImRhdGEtaGFzaCIpKXt2YXIgYT10LiR3cmFwcGVyRWwuY2hpbGRyZW4oIi4iLmNvbmNhdCh0LnBhcmFtcy5zbGlkZUNsYXNzLCdbZGF0YS1oYXNoPSInKS5jb25jYXQoZSwnIl0nKSkuaW5kZXgoKTtpZih2b2lkIDA9PT1hKXJldHVybjt0LnNsaWRlVG8oYSl9fSxjPWZ1bmN0aW9uKCl7aWYocyYmdC5wYXJhbXMuaGFzaE5hdmlnYXRpb24uZW5hYmxlZClpZih0LnBhcmFtcy5oYXNoTmF2aWdhdGlvbi5yZXBsYWNlU3RhdGUmJmwuaGlzdG9yeSYmbC5oaXN0b3J5LnJlcGxhY2VTdGF0ZSlsLmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsbnVsbCwiIyIuY29uY2F0KHQuc2xpZGVzLmVxKHQuYWN0aXZlSW5kZXgpLmF0dHIoImRhdGEtaGFzaCIpKXx8MCksaSgiaGFzaFNldCIpO2Vsc2V7dmFyIGU9dC5zbGlkZXMuZXEodC5hY3RpdmVJbmRleCksYT1lLmF0dHIoImRhdGEtaGFzaCIpfHxlLmF0dHIoImRhdGEtaGlzdG9yeSIpO28ubG9jYXRpb24uaGFzaD1hfHwiIixpKCJoYXNoU2V0Iil9fTtuKCJpbml0IiwoZnVuY3Rpb24oKXt0LnBhcmFtcy5oYXNoTmF2aWdhdGlvbi5lbmFibGVkJiZmdW5jdGlvbigpe2lmKCEoIXQucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWR8fHQucGFyYW1zLmhpc3RvcnkmJnQucGFyYW1zLmhpc3RvcnkuZW5hYmxlZCkpe3M9ITA7dmFyIGU9by5sb2NhdGlvbi5oYXNoLnJlcGxhY2UoIiMiLCIiKTtpZihlKWZvcih2YXIgYT0wLHI9dC5zbGlkZXMubGVuZ3RoO2E8cjthKz0xKXt2YXIgaT10LnNsaWRlcy5lcShhKTtpZigoaS5hdHRyKCJkYXRhLWhhc2giKXx8aS5hdHRyKCJkYXRhLWhpc3RvcnkiKSk9PT1lJiYhaS5oYXNDbGFzcyh0LnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSl7dmFyIG49aS5pbmRleCgpO3Quc2xpZGVUbyhuLDAsdC5wYXJhbXMucnVuQ2FsbGJhY2tzT25Jbml0LCEwKX19dC5wYXJhbXMuaGFzaE5hdmlnYXRpb24ud2F0Y2hTdGF0ZSYmVChsKS5vbigiaGFzaGNoYW5nZSIsZCl9fSgpfSkpLG4oImRlc3Ryb3kiLChmdW5jdGlvbigpe3QucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWQmJnQucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLndhdGNoU3RhdGUmJlQobCkub2ZmKCJoYXNoY2hhbmdlIixkKX0pKSxuKCJ0cmFuc2l0aW9uRW5kIF9mcmVlTW9kZU5vTW9tZW50dW1SZWxlYXNlIiwoZnVuY3Rpb24oKXtzJiZjKCl9KSksbigic2xpZGVDaGFuZ2UiLChmdW5jdGlvbigpe3MmJnQucGFyYW1zLmNzc01vZGUmJmMoKX0pKX0sZnVuY3Rpb24oZSl7dmFyIHQsYT1lLnN3aXBlcixpPWUuZXh0ZW5kUGFyYW1zLG49ZS5vbixzPWUuZW1pdDtmdW5jdGlvbiBvKCl7dmFyIGU9YS5zbGlkZXMuZXEoYS5hY3RpdmVJbmRleCkscj1hLnBhcmFtcy5hdXRvcGxheS5kZWxheTtlLmF0dHIoImRhdGEtc3dpcGVyLWF1dG9wbGF5IikmJihyPWUuYXR0cigiZGF0YS1zd2lwZXItYXV0b3BsYXkiKXx8YS5wYXJhbXMuYXV0b3BsYXkuZGVsYXkpLGNsZWFyVGltZW91dCh0KSx0PWsoKGZ1bmN0aW9uKCl7dmFyIGU7YS5wYXJhbXMuYXV0b3BsYXkucmV2ZXJzZURpcmVjdGlvbj9hLnBhcmFtcy5sb29wPyhhLmxvb3BGaXgoKSxlPWEuc2xpZGVQcmV2KGEucGFyYW1zLnNwZWVkLCEwLCEwKSxzKCJhdXRvcGxheSIpKTphLmlzQmVnaW5uaW5nP2EucGFyYW1zLmF1dG9wbGF5LnN0b3BPbkxhc3RTbGlkZT9kKCk6KGU9YS5zbGlkZVRvKGEuc2xpZGVzLmxlbmd0aC0xLGEucGFyYW1zLnNwZWVkLCEwLCEwKSxzKCJhdXRvcGxheSIpKTooZT1hLnNsaWRlUHJldihhLnBhcmFtcy5zcGVlZCwhMCwhMCkscygiYXV0b3BsYXkiKSk6YS5wYXJhbXMubG9vcD8oYS5sb29wRml4KCksZT1hLnNsaWRlTmV4dChhLnBhcmFtcy5zcGVlZCwhMCwhMCkscygiYXV0b3BsYXkiKSk6YS5pc0VuZD9hLnBhcmFtcy5hdXRvcGxheS5zdG9wT25MYXN0U2xpZGU/ZCgpOihlPWEuc2xpZGVUbygwLGEucGFyYW1zLnNwZWVkLCEwLCEwKSxzKCJhdXRvcGxheSIpKTooZT1hLnNsaWRlTmV4dChhLnBhcmFtcy5zcGVlZCwhMCwhMCkscygiYXV0b3BsYXkiKSksKGEucGFyYW1zLmNzc01vZGUmJmEuYXV0b3BsYXkucnVubmluZ3x8ITE9PT1lKSYmbygpfSkscil9ZnVuY3Rpb24gbCgpe3JldHVybiB2b2lkIDA9PT10JiYoIWEuYXV0b3BsYXkucnVubmluZyYmKGEuYXV0b3BsYXkucnVubmluZz0hMCxzKCJhdXRvcGxheVN0YXJ0IiksbygpLCEwKSl9ZnVuY3Rpb24gZCgpe3JldHVybiEhYS5hdXRvcGxheS5ydW5uaW5nJiYodm9pZCAwIT09dCYmKHQmJihjbGVhclRpbWVvdXQodCksdD12b2lkIDApLGEuYXV0b3BsYXkucnVubmluZz0hMSxzKCJhdXRvcGxheVN0b3AiKSwhMCkpfWZ1bmN0aW9uIGMoZSl7YS5hdXRvcGxheS5ydW5uaW5nJiYoYS5hdXRvcGxheS5wYXVzZWR8fCh0JiZjbGVhclRpbWVvdXQodCksYS5hdXRvcGxheS5wYXVzZWQ9ITAsMCE9PWUmJmEucGFyYW1zLmF1dG9wbGF5LndhaXRGb3JUcmFuc2l0aW9uP1sidHJhbnNpdGlvbmVuZCIsIndlYmtpdFRyYW5zaXRpb25FbmQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXthLiR3cmFwcGVyRWxbMF0uYWRkRXZlbnRMaXN0ZW5lcihlLHUpfSkpOihhLmF1dG9wbGF5LnBhdXNlZD0hMSxvKCkpKSl9ZnVuY3Rpb24gcCgpe3ZhciBlPSgwLHIuTWUpKCk7ImhpZGRlbiI9PT1lLnZpc2liaWxpdHlTdGF0ZSYmYS5hdXRvcGxheS5ydW5uaW5nJiZjKCksInZpc2libGUiPT09ZS52aXNpYmlsaXR5U3RhdGUmJmEuYXV0b3BsYXkucGF1c2VkJiYobygpLGEuYXV0b3BsYXkucGF1c2VkPSExKX1mdW5jdGlvbiB1KGUpe2EmJiFhLmRlc3Ryb3llZCYmYS4kd3JhcHBlckVsJiZlLnRhcmdldD09PWEuJHdyYXBwZXJFbFswXSYmKFsidHJhbnNpdGlvbmVuZCIsIndlYmtpdFRyYW5zaXRpb25FbmQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXthLiR3cmFwcGVyRWxbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHUpfSkpLGEuYXV0b3BsYXkucGF1c2VkPSExLGEuYXV0b3BsYXkucnVubmluZz9vKCk6ZCgpKX1mdW5jdGlvbiBmKCl7YS5wYXJhbXMuYXV0b3BsYXkuZGlzYWJsZU9uSW50ZXJhY3Rpb24/ZCgpOmMoKSxbInRyYW5zaXRpb25lbmQiLCJ3ZWJraXRUcmFuc2l0aW9uRW5kIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7YS4kd3JhcHBlckVsWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx1KX0pKX1mdW5jdGlvbiBoKCl7YS5wYXJhbXMuYXV0b3BsYXkuZGlzYWJsZU9uSW50ZXJhY3Rpb258fChhLmF1dG9wbGF5LnBhdXNlZD0hMSxvKCkpfWEuYXV0b3BsYXk9e3J1bm5pbmc6ITEscGF1c2VkOiExfSxpKHthdXRvcGxheTp7ZW5hYmxlZDohMSxkZWxheTozZTMsd2FpdEZvclRyYW5zaXRpb246ITAsZGlzYWJsZU9uSW50ZXJhY3Rpb246ITAsc3RvcE9uTGFzdFNsaWRlOiExLHJldmVyc2VEaXJlY3Rpb246ITEscGF1c2VPbk1vdXNlRW50ZXI6ITF9fSksbigiaW5pdCIsKGZ1bmN0aW9uKCl7YS5wYXJhbXMuYXV0b3BsYXkuZW5hYmxlZCYmKGwoKSwoMCxyLk1lKSgpLmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHApLGEucGFyYW1zLmF1dG9wbGF5LnBhdXNlT25Nb3VzZUVudGVyJiYoYS4kZWwub24oIm1vdXNlZW50ZXIiLGYpLGEuJGVsLm9uKCJtb3VzZWxlYXZlIixoKSkpfSkpLG4oImJlZm9yZVRyYW5zaXRpb25TdGFydCIsKGZ1bmN0aW9uKGUsdCxyKXthLmF1dG9wbGF5LnJ1bm5pbmcmJihyfHwhYS5wYXJhbXMuYXV0b3BsYXkuZGlzYWJsZU9uSW50ZXJhY3Rpb24/YS5hdXRvcGxheS5wYXVzZSh0KTpkKCkpfSkpLG4oInNsaWRlckZpcnN0TW92ZSIsKGZ1bmN0aW9uKCl7YS5hdXRvcGxheS5ydW5uaW5nJiYoYS5wYXJhbXMuYXV0b3BsYXkuZGlzYWJsZU9uSW50ZXJhY3Rpb24/ZCgpOmMoKSl9KSksbigidG91Y2hFbmQiLChmdW5jdGlvbigpe2EucGFyYW1zLmNzc01vZGUmJmEuYXV0b3BsYXkucGF1c2VkJiYhYS5wYXJhbXMuYXV0b3BsYXkuZGlzYWJsZU9uSW50ZXJhY3Rpb24mJm8oKX0pKSxuKCJkZXN0cm95IiwoZnVuY3Rpb24oKXthLiRlbC5vZmYoIm1vdXNlZW50ZXIiLGYpLGEuJGVsLm9mZigibW91c2VsZWF2ZSIsaCksYS5hdXRvcGxheS5ydW5uaW5nJiZkKCksKDAsci5NZSkoKS5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixwKX0pKSxPYmplY3QuYXNzaWduKGEuYXV0b3BsYXkse3BhdXNlOmMscnVuOm8sc3RhcnQ6bCxzdG9wOmR9KX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zd2lwZXIsYT1lLmV4dGVuZFBhcmFtcyxyPWUub247YSh7dGh1bWJzOntzd2lwZXI6bnVsbCxtdWx0aXBsZUFjdGl2ZVRodW1iczohMCxhdXRvU2Nyb2xsT2Zmc2V0OjAsc2xpZGVUaHVtYkFjdGl2ZUNsYXNzOiJzd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIix0aHVtYnNDb250YWluZXJDbGFzczoic3dpcGVyLXRodW1icyJ9fSk7dmFyIGk9ITEsbj0hMTtmdW5jdGlvbiBzKCl7dmFyIGU9dC50aHVtYnMuc3dpcGVyO2lmKGUpe3ZhciBhPWUuY2xpY2tlZEluZGV4LHI9ZS5jbGlja2VkU2xpZGU7aWYoIShyJiZUKHIpLmhhc0NsYXNzKHQucGFyYW1zLnRodW1icy5zbGlkZVRodW1iQWN0aXZlQ2xhc3MpfHxudWxsPT1hKSl7dmFyIGk7aWYoaT1lLnBhcmFtcy5sb29wP3BhcnNlSW50KFQoZS5jbGlja2VkU2xpZGUpLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IiksMTApOmEsdC5wYXJhbXMubG9vcCl7dmFyIG49dC5hY3RpdmVJbmRleDt0LnNsaWRlcy5lcShuKS5oYXNDbGFzcyh0LnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSYmKHQubG9vcEZpeCgpLHQuX2NsaWVudExlZnQ9dC4kd3JhcHBlckVsWzBdLmNsaWVudExlZnQsbj10LmFjdGl2ZUluZGV4KTt2YXIgcz10LnNsaWRlcy5lcShuKS5wcmV2QWxsKCdbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicuY29uY2F0KGksJyJdJykpLmVxKDApLmluZGV4KCksbz10LnNsaWRlcy5lcShuKS5uZXh0QWxsKCdbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicuY29uY2F0KGksJyJdJykpLmVxKDApLmluZGV4KCk7aT12b2lkIDA9PT1zP286dm9pZCAwPT09bz9zOm8tbjxuLXM/bzpzfXQuc2xpZGVUbyhpKX19fWZ1bmN0aW9uIG8oKXt2YXIgZT10LnBhcmFtcy50aHVtYnM7aWYoaSlyZXR1cm4hMTtpPSEwO3ZhciBhPXQuY29uc3RydWN0b3I7aWYoZS5zd2lwZXIgaW5zdGFuY2VvZiBhKXQudGh1bWJzLnN3aXBlcj1lLnN3aXBlcixPYmplY3QuYXNzaWduKHQudGh1bWJzLnN3aXBlci5vcmlnaW5hbFBhcmFtcyx7d2F0Y2hTbGlkZXNQcm9ncmVzczohMCxzbGlkZVRvQ2xpY2tlZFNsaWRlOiExfSksT2JqZWN0LmFzc2lnbih0LnRodW1icy5zd2lwZXIucGFyYW1zLHt3YXRjaFNsaWRlc1Byb2dyZXNzOiEwLHNsaWRlVG9DbGlja2VkU2xpZGU6ITF9KTtlbHNlIGlmKEkoZS5zd2lwZXIpKXt2YXIgcj1PYmplY3QuYXNzaWduKHt9LGUuc3dpcGVyKTtPYmplY3QuYXNzaWduKHIse3dhdGNoU2xpZGVzUHJvZ3Jlc3M6ITAsc2xpZGVUb0NsaWNrZWRTbGlkZTohMX0pLHQudGh1bWJzLnN3aXBlcj1uZXcgYShyKSxuPSEwfXJldHVybiB0LnRodW1icy5zd2lwZXIuJGVsLmFkZENsYXNzKHQucGFyYW1zLnRodW1icy50aHVtYnNDb250YWluZXJDbGFzcyksdC50aHVtYnMuc3dpcGVyLm9uKCJ0YXAiLHMpLCEwfWZ1bmN0aW9uIGwoZSl7dmFyIGE9dC50aHVtYnMuc3dpcGVyO2lmKGEpe3ZhciByPSJhdXRvIj09PWEucGFyYW1zLnNsaWRlc1BlclZpZXc/YS5zbGlkZXNQZXJWaWV3RHluYW1pYygpOmEucGFyYW1zLnNsaWRlc1BlclZpZXcsaT10LnBhcmFtcy50aHVtYnMuYXV0b1Njcm9sbE9mZnNldCxuPWkmJiFhLnBhcmFtcy5sb29wO2lmKHQucmVhbEluZGV4IT09YS5yZWFsSW5kZXh8fG4pe3ZhciBzLG8sbD1hLmFjdGl2ZUluZGV4O2lmKGEucGFyYW1zLmxvb3Ape2Euc2xpZGVzLmVxKGwpLmhhc0NsYXNzKGEucGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpJiYoYS5sb29wRml4KCksYS5fY2xpZW50TGVmdD1hLiR3cmFwcGVyRWxbMF0uY2xpZW50TGVmdCxsPWEuYWN0aXZlSW5kZXgpO3ZhciBkPWEuc2xpZGVzLmVxKGwpLnByZXZBbGwoJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJy5jb25jYXQodC5yZWFsSW5kZXgsJyJdJykpLmVxKDApLmluZGV4KCksYz1hLnNsaWRlcy5lcShsKS5uZXh0QWxsKCdbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicuY29uY2F0KHQucmVhbEluZGV4LCciXScpKS5lcSgwKS5pbmRleCgpO3M9dm9pZCAwPT09ZD9jOnZvaWQgMD09PWM/ZDpjLWw9PWwtZD9hLnBhcmFtcy5zbGlkZXNQZXJHcm91cD4xP2M6bDpjLWw8bC1kP2M6ZCxvPXQuYWN0aXZlSW5kZXg+dC5wcmV2aW91c0luZGV4PyJuZXh0IjoicHJldiJ9ZWxzZSBvPShzPXQucmVhbEluZGV4KT50LnByZXZpb3VzSW5kZXg/Im5leHQiOiJwcmV2IjtuJiYocys9Im5leHQiPT09bz9pOi0xKmkpLGEudmlzaWJsZVNsaWRlc0luZGV4ZXMmJmEudmlzaWJsZVNsaWRlc0luZGV4ZXMuaW5kZXhPZihzKTwwJiYoYS5wYXJhbXMuY2VudGVyZWRTbGlkZXM/cz1zPmw/cy1NYXRoLmZsb29yKHIvMikrMTpzK01hdGguZmxvb3Ioci8yKS0xOnM+bCYmYS5wYXJhbXMuc2xpZGVzUGVyR3JvdXAsYS5zbGlkZVRvKHMsZT8wOnZvaWQgMCkpfXZhciBwPTEsdT10LnBhcmFtcy50aHVtYnMuc2xpZGVUaHVtYkFjdGl2ZUNsYXNzO2lmKHQucGFyYW1zLnNsaWRlc1BlclZpZXc+MSYmIXQucGFyYW1zLmNlbnRlcmVkU2xpZGVzJiYocD10LnBhcmFtcy5zbGlkZXNQZXJWaWV3KSx0LnBhcmFtcy50aHVtYnMubXVsdGlwbGVBY3RpdmVUaHVtYnN8fChwPTEpLHA9TWF0aC5mbG9vcihwKSxhLnNsaWRlcy5yZW1vdmVDbGFzcyh1KSxhLnBhcmFtcy5sb29wfHxhLnBhcmFtcy52aXJ0dWFsJiZhLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQpZm9yKHZhciBmPTA7ZjxwO2YrPTEpYS4kd3JhcHBlckVsLmNoaWxkcmVuKCdbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicuY29uY2F0KHQucmVhbEluZGV4K2YsJyJdJykpLmFkZENsYXNzKHUpO2Vsc2UgZm9yKHZhciBoPTA7aDxwO2grPTEpYS5zbGlkZXMuZXEodC5yZWFsSW5kZXgraCkuYWRkQ2xhc3ModSl9fXQudGh1bWJzPXtzd2lwZXI6bnVsbH0scigiYmVmb3JlSW5pdCIsKGZ1bmN0aW9uKCl7dmFyIGU9dC5wYXJhbXMudGh1bWJzO2UmJmUuc3dpcGVyJiYobygpLGwoITApKX0pKSxyKCJzbGlkZUNoYW5nZSB1cGRhdGUgcmVzaXplIG9ic2VydmVyVXBkYXRlIiwoZnVuY3Rpb24oKXt0LnRodW1icy5zd2lwZXImJmwoKX0pKSxyKCJzZXRUcmFuc2l0aW9uIiwoZnVuY3Rpb24oZSxhKXt2YXIgcj10LnRodW1icy5zd2lwZXI7ciYmci5zZXRUcmFuc2l0aW9uKGEpfSkpLHIoImJlZm9yZURlc3Ryb3kiLChmdW5jdGlvbigpe3ZhciBlPXQudGh1bWJzLnN3aXBlcjtlJiZuJiZlJiZlLmRlc3Ryb3koKX0pKSxPYmplY3QuYXNzaWduKHQudGh1bWJzLHtpbml0Om8sdXBkYXRlOmx9KX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zd2lwZXIsYT1lLmV4dGVuZFBhcmFtcyxyPWUuZW1pdCxpPWUub25jZTthKHtmcmVlTW9kZTp7ZW5hYmxlZDohMSxtb21lbnR1bTohMCxtb21lbnR1bVJhdGlvOjEsbW9tZW50dW1Cb3VuY2U6ITAsbW9tZW50dW1Cb3VuY2VSYXRpbzoxLG1vbWVudHVtVmVsb2NpdHlSYXRpbzoxLHN0aWNreTohMSxtaW5pbXVtVmVsb2NpdHk6LjAyfX0pLE9iamVjdC5hc3NpZ24odCx7ZnJlZU1vZGU6e29uVG91Y2hNb3ZlOmZ1bmN0aW9uKCl7dmFyIGU9dC50b3VjaEV2ZW50c0RhdGEsYT10LnRvdWNoZXM7MD09PWUudmVsb2NpdGllcy5sZW5ndGgmJmUudmVsb2NpdGllcy5wdXNoKHtwb3NpdGlvbjphW3QuaXNIb3Jpem9udGFsKCk/InN0YXJ0WCI6InN0YXJ0WSJdLHRpbWU6ZS50b3VjaFN0YXJ0VGltZX0pLGUudmVsb2NpdGllcy5wdXNoKHtwb3NpdGlvbjphW3QuaXNIb3Jpem9udGFsKCk/ImN1cnJlbnRYIjoiY3VycmVudFkiXSx0aW1lOiQoKX0pfSxvblRvdWNoRW5kOmZ1bmN0aW9uKGUpe3ZhciBhPWUuY3VycmVudFBvcyxuPXQucGFyYW1zLHM9dC4kd3JhcHBlckVsLG89dC5ydGxUcmFuc2xhdGUsbD10LnNuYXBHcmlkLGQ9dC50b3VjaEV2ZW50c0RhdGEsYz0kKCktZC50b3VjaFN0YXJ0VGltZTtpZihhPC10Lm1pblRyYW5zbGF0ZSgpKXQuc2xpZGVUbyh0LmFjdGl2ZUluZGV4KTtlbHNlIGlmKGE+LXQubWF4VHJhbnNsYXRlKCkpdC5zbGlkZXMubGVuZ3RoPGwubGVuZ3RoP3Quc2xpZGVUbyhsLmxlbmd0aC0xKTp0LnNsaWRlVG8odC5zbGlkZXMubGVuZ3RoLTEpO2Vsc2V7aWYobi5mcmVlTW9kZS5tb21lbnR1bSl7aWYoZC52ZWxvY2l0aWVzLmxlbmd0aD4xKXt2YXIgcD1kLnZlbG9jaXRpZXMucG9wKCksdT1kLnZlbG9jaXRpZXMucG9wKCksZj1wLnBvc2l0aW9uLXUucG9zaXRpb24saD1wLnRpbWUtdS50aW1lO3QudmVsb2NpdHk9Zi9oLHQudmVsb2NpdHkvPTIsTWF0aC5hYnModC52ZWxvY2l0eSk8bi5mcmVlTW9kZS5taW5pbXVtVmVsb2NpdHkmJih0LnZlbG9jaXR5PTApLChoPjE1MHx8JCgpLXAudGltZT4zMDApJiYodC52ZWxvY2l0eT0wKX1lbHNlIHQudmVsb2NpdHk9MDt0LnZlbG9jaXR5Kj1uLmZyZWVNb2RlLm1vbWVudHVtVmVsb2NpdHlSYXRpbyxkLnZlbG9jaXRpZXMubGVuZ3RoPTA7dmFyIHY9MWUzKm4uZnJlZU1vZGUubW9tZW50dW1SYXRpbyxtPXQudmVsb2NpdHkqdixnPXQudHJhbnNsYXRlK207byYmKGc9LWcpO3ZhciB3LGIseT0hMSx4PTIwKk1hdGguYWJzKHQudmVsb2NpdHkpKm4uZnJlZU1vZGUubW9tZW50dW1Cb3VuY2VSYXRpbztpZihnPHQubWF4VHJhbnNsYXRlKCkpbi5mcmVlTW9kZS5tb21lbnR1bUJvdW5jZT8oZyt0Lm1heFRyYW5zbGF0ZSgpPC14JiYoZz10Lm1heFRyYW5zbGF0ZSgpLXgpLHc9dC5tYXhUcmFuc2xhdGUoKSx5PSEwLGQuYWxsb3dNb21lbnR1bUJvdW5jZT0hMCk6Zz10Lm1heFRyYW5zbGF0ZSgpLG4ubG9vcCYmbi5jZW50ZXJlZFNsaWRlcyYmKGI9ITApO2Vsc2UgaWYoZz50Lm1pblRyYW5zbGF0ZSgpKW4uZnJlZU1vZGUubW9tZW50dW1Cb3VuY2U/KGctdC5taW5UcmFuc2xhdGUoKT54JiYoZz10Lm1pblRyYW5zbGF0ZSgpK3gpLHc9dC5taW5UcmFuc2xhdGUoKSx5PSEwLGQuYWxsb3dNb21lbnR1bUJvdW5jZT0hMCk6Zz10Lm1pblRyYW5zbGF0ZSgpLG4ubG9vcCYmbi5jZW50ZXJlZFNsaWRlcyYmKGI9ITApO2Vsc2UgaWYobi5mcmVlTW9kZS5zdGlja3kpe2Zvcih2YXIgRSxTPTA7UzxsLmxlbmd0aDtTKz0xKWlmKGxbU10+LWcpe0U9UzticmVha31nPS0oZz1NYXRoLmFicyhsW0VdLWcpPE1hdGguYWJzKGxbRS0xXS1nKXx8Im5leHQiPT09dC5zd2lwZURpcmVjdGlvbj9sW0VdOmxbRS0xXSl9aWYoYiYmaSgidHJhbnNpdGlvbkVuZCIsKGZ1bmN0aW9uKCl7dC5sb29wRml4KCl9KSksMCE9PXQudmVsb2NpdHkpe2lmKHY9bz9NYXRoLmFicygoLWctdC50cmFuc2xhdGUpL3QudmVsb2NpdHkpOk1hdGguYWJzKChnLXQudHJhbnNsYXRlKS90LnZlbG9jaXR5KSxuLmZyZWVNb2RlLnN0aWNreSl7dmFyIFQ9TWF0aC5hYnMoKG8/LWc6ZyktdC50cmFuc2xhdGUpLEM9dC5zbGlkZXNTaXplc0dyaWRbdC5hY3RpdmVJbmRleF07dj1UPEM/bi5zcGVlZDpUPDIqQz8xLjUqbi5zcGVlZDoyLjUqbi5zcGVlZH19ZWxzZSBpZihuLmZyZWVNb2RlLnN0aWNreSlyZXR1cm4gdm9pZCB0LnNsaWRlVG9DbG9zZXN0KCk7bi5mcmVlTW9kZS5tb21lbnR1bUJvdW5jZSYmeT8odC51cGRhdGVQcm9ncmVzcyh3KSx0LnNldFRyYW5zaXRpb24odiksdC5zZXRUcmFuc2xhdGUoZyksdC50cmFuc2l0aW9uU3RhcnQoITAsdC5zd2lwZURpcmVjdGlvbiksdC5hbmltYXRpbmc9ITAscy50cmFuc2l0aW9uRW5kKChmdW5jdGlvbigpe3QmJiF0LmRlc3Ryb3llZCYmZC5hbGxvd01vbWVudHVtQm91bmNlJiYocigibW9tZW50dW1Cb3VuY2UiKSx0LnNldFRyYW5zaXRpb24obi5zcGVlZCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LnNldFRyYW5zbGF0ZSh3KSxzLnRyYW5zaXRpb25FbmQoKGZ1bmN0aW9uKCl7dCYmIXQuZGVzdHJveWVkJiZ0LnRyYW5zaXRpb25FbmQoKX0pKX0pLDApKX0pKSk6dC52ZWxvY2l0eT8ocigiX2ZyZWVNb2RlTm9Nb21lbnR1bVJlbGVhc2UiKSx0LnVwZGF0ZVByb2dyZXNzKGcpLHQuc2V0VHJhbnNpdGlvbih2KSx0LnNldFRyYW5zbGF0ZShnKSx0LnRyYW5zaXRpb25TdGFydCghMCx0LnN3aXBlRGlyZWN0aW9uKSx0LmFuaW1hdGluZ3x8KHQuYW5pbWF0aW5nPSEwLHMudHJhbnNpdGlvbkVuZCgoZnVuY3Rpb24oKXt0JiYhdC5kZXN0cm95ZWQmJnQudHJhbnNpdGlvbkVuZCgpfSkpKSk6dC51cGRhdGVQcm9ncmVzcyhnKSx0LnVwZGF0ZUFjdGl2ZUluZGV4KCksdC51cGRhdGVTbGlkZXNDbGFzc2VzKCl9ZWxzZXtpZihuLmZyZWVNb2RlLnN0aWNreSlyZXR1cm4gdm9pZCB0LnNsaWRlVG9DbG9zZXN0KCk7bi5mcmVlTW9kZSYmcigiX2ZyZWVNb2RlTm9Nb21lbnR1bVJlbGVhc2UiKX0oIW4uZnJlZU1vZGUubW9tZW50dW18fGM+PW4ubG9uZ1N3aXBlc01zKSYmKHQudXBkYXRlUHJvZ3Jlc3MoKSx0LnVwZGF0ZUFjdGl2ZUluZGV4KCksdC51cGRhdGVTbGlkZXNDbGFzc2VzKCkpfX19fSl9LGZ1bmN0aW9uKGUpe3ZhciB0LGEscixpPWUuc3dpcGVyOygwLGUuZXh0ZW5kUGFyYW1zKSh7Z3JpZDp7cm93czoxLGZpbGw6ImNvbHVtbiJ9fSksaS5ncmlkPXtpbml0U2xpZGVzOmZ1bmN0aW9uKGUpe3ZhciBuPWkucGFyYW1zLnNsaWRlc1BlclZpZXcscz1pLnBhcmFtcy5ncmlkLG89cy5yb3dzLGw9cy5maWxsO2E9dC9vLHI9TWF0aC5mbG9vcihlL28pLHQ9TWF0aC5mbG9vcihlL28pPT09ZS9vP2U6TWF0aC5jZWlsKGUvbykqbywiYXV0byIhPT1uJiYicm93Ij09PWwmJih0PU1hdGgubWF4KHQsbipvKSl9LHVwZGF0ZVNsaWRlOmZ1bmN0aW9uKGUsbixzLG8pe3ZhciBsLGQsYyxwPWkucGFyYW1zLHU9cC5zbGlkZXNQZXJHcm91cCxmPXAuc3BhY2VCZXR3ZWVuLGg9aS5wYXJhbXMuZ3JpZCx2PWgucm93cyxtPWguZmlsbDtpZigicm93Ij09PW0mJnU+MSl7dmFyIGc9TWF0aC5mbG9vcihlLyh1KnYpKSx3PWUtdip1KmcsYj0wPT09Zz91Ok1hdGgubWluKE1hdGguY2VpbCgocy1nKnYqdSkvdiksdSk7bD0oZD13LShjPU1hdGguZmxvb3Iody9iKSkqYitnKnUpK2MqdC92LG4uY3NzKHsiLXdlYmtpdC1vcmRlciI6bCxvcmRlcjpsfSl9ZWxzZSJjb2x1bW4iPT09bT8oYz1lLShkPU1hdGguZmxvb3IoZS92KSkqdiwoZD5yfHxkPT09ciYmYz09PXYtMSkmJihjKz0xKT49diYmKGM9MCxkKz0xKSk6ZD1lLShjPU1hdGguZmxvb3IoZS9hKSkqYTtuLmNzcyhvKCJtYXJnaW4tdG9wIiksMCE9PWM/ZiYmIiIuY29uY2F0KGYsInB4Iik6IiIpfSx1cGRhdGVXcmFwcGVyU2l6ZTpmdW5jdGlvbihlLGEscil7dmFyIG49aS5wYXJhbXMscz1uLnNwYWNlQmV0d2VlbixvPW4uY2VudGVyZWRTbGlkZXMsbD1uLnJvdW5kTGVuZ3RocyxkPWkucGFyYW1zLmdyaWQucm93cztpZihpLnZpcnR1YWxTaXplPShlK3MpKnQsaS52aXJ0dWFsU2l6ZT1NYXRoLmNlaWwoaS52aXJ0dWFsU2l6ZS9kKS1zLGkuJHdyYXBwZXJFbC5jc3MoZnVuY3Rpb24oZSx0LGEpe3JldHVybiB0IGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6YSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09YSxlfSh7fSxyKCJ3aWR0aCIpLCIiLmNvbmNhdChpLnZpcnR1YWxTaXplK3MsInB4IikpKSxvKXthLnNwbGljZSgwLGEubGVuZ3RoKTtmb3IodmFyIGM9W10scD0wO3A8YS5sZW5ndGg7cCs9MSl7dmFyIHU9YVtwXTtsJiYodT1NYXRoLmZsb29yKHUpKSxhW3BdPGkudmlydHVhbFNpemUrYVswXSYmYy5wdXNoKHUpfWEucHVzaC5hcHBseShhLGMpfX19fSxmdW5jdGlvbihlKXt2YXIgdD1lLnN3aXBlcjtPYmplY3QuYXNzaWduKHQse2FwcGVuZFNsaWRlOk9lLmJpbmQodCkscHJlcGVuZFNsaWRlOkxlLmJpbmQodCksYWRkU2xpZGU6RGUuYmluZCh0KSxyZW1vdmVTbGlkZTpHZS5iaW5kKHQpLHJlbW92ZUFsbFNsaWRlczpCZS5iaW5kKHQpfSl9LGZ1bmN0aW9uKGUpe3ZhciB0PWUuc3dpcGVyLGE9ZS5leHRlbmRQYXJhbXMscj1lLm9uO2Eoe2ZhZGVFZmZlY3Q6e2Nyb3NzRmFkZTohMSx0cmFuc2Zvcm1FbDpudWxsfX0pLE5lKHtlZmZlY3Q6ImZhZGUiLHN3aXBlcjp0LG9uOnIsc2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPXQuc2xpZGVzLGE9dC5wYXJhbXMuZmFkZUVmZmVjdCxyPTA7cjxlLmxlbmd0aDtyKz0xKXt2YXIgaT10LnNsaWRlcy5lcShyKSxuPS1pWzBdLnN3aXBlclNsaWRlT2Zmc2V0O3QucGFyYW1zLnZpcnR1YWxUcmFuc2xhdGV8fChuLT10LnRyYW5zbGF0ZSk7dmFyIHM9MDt0LmlzSG9yaXpvbnRhbCgpfHwocz1uLG49MCk7dmFyIG89dC5wYXJhbXMuZmFkZUVmZmVjdC5jcm9zc0ZhZGU/TWF0aC5tYXgoMS1NYXRoLmFicyhpWzBdLnByb2dyZXNzKSwwKToxK01hdGgubWluKE1hdGgubWF4KGlbMF0ucHJvZ3Jlc3MsLTEpLDApO1hlKGEsaSkuY3NzKHtvcGFjaXR5Om99KS50cmFuc2Zvcm0oInRyYW5zbGF0ZTNkKCIuY29uY2F0KG4sInB4LCAiKS5jb25jYXQocywicHgsIDBweCkiKSl9fSxzZXRUcmFuc2l0aW9uOmZ1bmN0aW9uKGUpe3ZhciBhPXQucGFyYW1zLmZhZGVFZmZlY3QudHJhbnNmb3JtRWw7KGE/dC5zbGlkZXMuZmluZChhKTp0LnNsaWRlcykudHJhbnNpdGlvbihlKSxIZSh7c3dpcGVyOnQsZHVyYXRpb246ZSx0cmFuc2Zvcm1FbDphLGFsbFNsaWRlczohMH0pfSxvdmVyd3JpdGVQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm57c2xpZGVzUGVyVmlldzoxLHNsaWRlc1Blckdyb3VwOjEsd2F0Y2hTbGlkZXNQcm9ncmVzczohMCxzcGFjZUJldHdlZW46MCx2aXJ0dWFsVHJhbnNsYXRlOiF0LnBhcmFtcy5jc3NNb2RlfX19KX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zd2lwZXIsYT1lLmV4dGVuZFBhcmFtcyxyPWUub247YSh7Y3ViZUVmZmVjdDp7c2xpZGVTaGFkb3dzOiEwLHNoYWRvdzohMCxzaGFkb3dPZmZzZXQ6MjAsc2hhZG93U2NhbGU6Ljk0fX0pLE5lKHtlZmZlY3Q6ImN1YmUiLHN3aXBlcjp0LG9uOnIsc2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7dmFyIGUsYT10LiRlbCxyPXQuJHdyYXBwZXJFbCxpPXQuc2xpZGVzLG49dC53aWR0aCxzPXQuaGVpZ2h0LG89dC5ydGxUcmFuc2xhdGUsbD10LnNpemUsZD10LmJyb3dzZXIsYz10LnBhcmFtcy5jdWJlRWZmZWN0LHA9dC5pc0hvcml6b250YWwoKSx1PXQudmlydHVhbCYmdC5wYXJhbXMudmlydHVhbC5lbmFibGVkLGY9MDtjLnNoYWRvdyYmKHA/KDA9PT0oZT1yLmZpbmQoIi5zd2lwZXItY3ViZS1zaGFkb3ciKSkubGVuZ3RoJiYoZT1UKCc8ZGl2IGNsYXNzPSJzd2lwZXItY3ViZS1zaGFkb3ciPjwvZGl2PicpLHIuYXBwZW5kKGUpKSxlLmNzcyh7aGVpZ2h0OiIiLmNvbmNhdChuLCJweCIpfSkpOjA9PT0oZT1hLmZpbmQoIi5zd2lwZXItY3ViZS1zaGFkb3ciKSkubGVuZ3RoJiYoZT1UKCc8ZGl2IGNsYXNzPSJzd2lwZXItY3ViZS1zaGFkb3ciPjwvZGl2PicpLGEuYXBwZW5kKGUpKSk7Zm9yKHZhciBoPTA7aDxpLmxlbmd0aDtoKz0xKXt2YXIgdj1pLmVxKGgpLG09aDt1JiYobT1wYXJzZUludCh2LmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IiksMTApKTt2YXIgZz05MCptLHc9TWF0aC5mbG9vcihnLzM2MCk7byYmKGc9LWcsdz1NYXRoLmZsb29yKC1nLzM2MCkpO3ZhciBiPU1hdGgubWF4KE1hdGgubWluKHZbMF0ucHJvZ3Jlc3MsMSksLTEpLHk9MCx4PTAsRT0wO20lND09MD8oeT00Ki13KmwsRT0wKToobS0xKSU0PT0wPyh5PTAsRT00Ki13KmwpOihtLTIpJTQ9PTA/KHk9bCs0KncqbCxFPWwpOihtLTMpJTQ9PTAmJih5PS1sLEU9MypsKzQqbCp3KSxvJiYoeT0teSkscHx8KHg9eSx5PTApO3ZhciBTPSJyb3RhdGVYKCIuY29uY2F0KHA/MDotZywiZGVnKSByb3RhdGVZKCIpLmNvbmNhdChwP2c6MCwiZGVnKSB0cmFuc2xhdGUzZCgiKS5jb25jYXQoeSwicHgsICIpLmNvbmNhdCh4LCJweCwgIikuY29uY2F0KEUsInB4KSIpO2lmKGI8PTEmJmI+LTEmJihmPTkwKm0rOTAqYixvJiYoZj05MCotbS05MCpiKSksdi50cmFuc2Zvcm0oUyksYy5zbGlkZVNoYWRvd3Mpe3ZhciBDPXA/di5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0Iik6di5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AiKSxNPXA/di5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCIpOnYuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIik7MD09PUMubGVuZ3RoJiYoQz1UKCc8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUtc2hhZG93LScuY29uY2F0KHA/ImxlZnQiOiJ0b3AiLCciPjwvZGl2PicpKSx2LmFwcGVuZChDKSksMD09PU0ubGVuZ3RoJiYoTT1UKCc8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUtc2hhZG93LScuY29uY2F0KHA/InJpZ2h0IjoiYm90dG9tIiwnIj48L2Rpdj4nKSksdi5hcHBlbmQoTSkpLEMubGVuZ3RoJiYoQ1swXS5zdHlsZS5vcGFjaXR5PU1hdGgubWF4KC1iLDApKSxNLmxlbmd0aCYmKE1bMF0uc3R5bGUub3BhY2l0eT1NYXRoLm1heChiLDApKX19aWYoci5jc3MoeyItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4iOiI1MCUgNTAlIC0iLmNvbmNhdChsLzIsInB4IiksInRyYW5zZm9ybS1vcmlnaW4iOiI1MCUgNTAlIC0iLmNvbmNhdChsLzIsInB4Iil9KSxjLnNoYWRvdylpZihwKWUudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwcHgsICIuY29uY2F0KG4vMitjLnNoYWRvd09mZnNldCwicHgsICIpLmNvbmNhdCgtbi8yLCJweCkgcm90YXRlWCg5MGRlZykgcm90YXRlWigwZGVnKSBzY2FsZSgiKS5jb25jYXQoYy5zaGFkb3dTY2FsZSwiKSIpKTtlbHNle3ZhciBQPU1hdGguYWJzKGYpLTkwKk1hdGguZmxvb3IoTWF0aC5hYnMoZikvOTApLGs9MS41LShNYXRoLnNpbigyKlAqTWF0aC5QSS8zNjApLzIrTWF0aC5jb3MoMipQKk1hdGguUEkvMzYwKS8yKSwkPWMuc2hhZG93U2NhbGUsej1jLnNoYWRvd1NjYWxlL2ssTz1jLnNoYWRvd09mZnNldDtlLnRyYW5zZm9ybSgic2NhbGUzZCgiLmNvbmNhdCgkLCIsIDEsICIpLmNvbmNhdCh6LCIpIHRyYW5zbGF0ZTNkKDBweCwgIikuY29uY2F0KHMvMitPLCJweCwgIikuY29uY2F0KC1zLzIveiwicHgpIHJvdGF0ZVgoLTkwZGVnKSIpKX12YXIgST1kLmlzU2FmYXJpfHxkLmlzV2ViVmlldz8tbC8yOjA7ci50cmFuc2Zvcm0oInRyYW5zbGF0ZTNkKDBweCwwLCIuY29uY2F0KEksInB4KSByb3RhdGVYKCIpLmNvbmNhdCh0LmlzSG9yaXpvbnRhbCgpPzA6ZiwiZGVnKSByb3RhdGVZKCIpLmNvbmNhdCh0LmlzSG9yaXpvbnRhbCgpPy1mOjAsImRlZykiKSl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSl7dmFyIGE9dC4kZWw7dC5zbGlkZXMudHJhbnNpdGlvbihlKS5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQiKS50cmFuc2l0aW9uKGUpLHQucGFyYW1zLmN1YmVFZmZlY3Quc2hhZG93JiYhdC5pc0hvcml6b250YWwoKSYmYS5maW5kKCIuc3dpcGVyLWN1YmUtc2hhZG93IikudHJhbnNpdGlvbihlKX0scGVyc3BlY3RpdmU6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sb3ZlcndyaXRlUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJue3NsaWRlc1BlclZpZXc6MSxzbGlkZXNQZXJHcm91cDoxLHdhdGNoU2xpZGVzUHJvZ3Jlc3M6ITAscmVzaXN0YW5jZVJhdGlvOjAsc3BhY2VCZXR3ZWVuOjAsY2VudGVyZWRTbGlkZXM6ITEsdmlydHVhbFRyYW5zbGF0ZTohMH19fSl9LGZ1bmN0aW9uKGUpe3ZhciB0PWUuc3dpcGVyLGE9ZS5leHRlbmRQYXJhbXMscj1lLm9uO2Eoe2ZsaXBFZmZlY3Q6e3NsaWRlU2hhZG93czohMCxsaW1pdFJvdGF0aW9uOiEwLHRyYW5zZm9ybUVsOm51bGx9fSksTmUoe2VmZmVjdDoiZmxpcCIsc3dpcGVyOnQsb246cixzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oKXtmb3IodmFyIGU9dC5zbGlkZXMsYT10LnJ0bFRyYW5zbGF0ZSxyPXQucGFyYW1zLmZsaXBFZmZlY3QsaT0wO2k8ZS5sZW5ndGg7aSs9MSl7dmFyIG49ZS5lcShpKSxzPW5bMF0ucHJvZ3Jlc3M7dC5wYXJhbXMuZmxpcEVmZmVjdC5saW1pdFJvdGF0aW9uJiYocz1NYXRoLm1heChNYXRoLm1pbihuWzBdLnByb2dyZXNzLDEpLC0xKSk7dmFyIG89blswXS5zd2lwZXJTbGlkZU9mZnNldCxsPS0xODAqcyxkPTAsYz10LnBhcmFtcy5jc3NNb2RlPy1vLXQudHJhbnNsYXRlOi1vLHA9MDtpZih0LmlzSG9yaXpvbnRhbCgpP2EmJihsPS1sKToocD1jLGM9MCxkPS1sLGw9MCksblswXS5zdHlsZS56SW5kZXg9LU1hdGguYWJzKE1hdGgucm91bmQocykpK2UubGVuZ3RoLHIuc2xpZGVTaGFkb3dzKXt2YXIgdT10LmlzSG9yaXpvbnRhbCgpP24uZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCIpOm4uZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIiksZj10LmlzSG9yaXpvbnRhbCgpP24uZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQiKTpuLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSIpOzA9PT11Lmxlbmd0aCYmKHU9WWUocixuLHQuaXNIb3Jpem9udGFsKCk/ImxlZnQiOiJ0b3AiKSksMD09PWYubGVuZ3RoJiYoZj1ZZShyLG4sdC5pc0hvcml6b250YWwoKT8icmlnaHQiOiJib3R0b20iKSksdS5sZW5ndGgmJih1WzBdLnN0eWxlLm9wYWNpdHk9TWF0aC5tYXgoLXMsMCkpLGYubGVuZ3RoJiYoZlswXS5zdHlsZS5vcGFjaXR5PU1hdGgubWF4KHMsMCkpfXZhciBoPSJ0cmFuc2xhdGUzZCgiLmNvbmNhdChjLCJweCwgIikuY29uY2F0KHAsInB4LCAwcHgpIHJvdGF0ZVgoIikuY29uY2F0KGQsImRlZykgcm90YXRlWSgiKS5jb25jYXQobCwiZGVnKSIpO1hlKHIsbikudHJhbnNmb3JtKGgpfX0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlKXt2YXIgYT10LnBhcmFtcy5mbGlwRWZmZWN0LnRyYW5zZm9ybUVsOyhhP3Quc2xpZGVzLmZpbmQoYSk6dC5zbGlkZXMpLnRyYW5zaXRpb24oZSkuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IikudHJhbnNpdGlvbihlKSxIZSh7c3dpcGVyOnQsZHVyYXRpb246ZSx0cmFuc2Zvcm1FbDphfSl9LHBlcnNwZWN0aXZlOmZ1bmN0aW9uKCl7cmV0dXJuITB9LG92ZXJ3cml0ZVBhcmFtczpmdW5jdGlvbigpe3JldHVybntzbGlkZXNQZXJWaWV3OjEsc2xpZGVzUGVyR3JvdXA6MSx3YXRjaFNsaWRlc1Byb2dyZXNzOiEwLHNwYWNlQmV0d2VlbjowLHZpcnR1YWxUcmFuc2xhdGU6IXQucGFyYW1zLmNzc01vZGV9fX0pfSxmdW5jdGlvbihlKXt2YXIgdD1lLnN3aXBlcixhPWUuZXh0ZW5kUGFyYW1zLHI9ZS5vbjthKHtjb3ZlcmZsb3dFZmZlY3Q6e3JvdGF0ZTo1MCxzdHJldGNoOjAsZGVwdGg6MTAwLHNjYWxlOjEsbW9kaWZpZXI6MSxzbGlkZVNoYWRvd3M6ITAsdHJhbnNmb3JtRWw6bnVsbH19KSxOZSh7ZWZmZWN0OiJjb3ZlcmZsb3ciLHN3aXBlcjp0LG9uOnIsc2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPXQud2lkdGgsYT10LmhlaWdodCxyPXQuc2xpZGVzLGk9dC5zbGlkZXNTaXplc0dyaWQsbj10LnBhcmFtcy5jb3ZlcmZsb3dFZmZlY3Qscz10LmlzSG9yaXpvbnRhbCgpLG89dC50cmFuc2xhdGUsbD1zP2UvMi1vOmEvMi1vLGQ9cz9uLnJvdGF0ZTotbi5yb3RhdGUsYz1uLmRlcHRoLHA9MCx1PXIubGVuZ3RoO3A8dTtwKz0xKXt2YXIgZj1yLmVxKHApLGg9aVtwXSx2PShsLWZbMF0uc3dpcGVyU2xpZGVPZmZzZXQtaC8yKS9oKm4ubW9kaWZpZXIsbT1zP2QqdjowLGc9cz8wOmQqdix3PS1jKk1hdGguYWJzKHYpLGI9bi5zdHJldGNoOyJzdHJpbmciPT10eXBlb2YgYiYmLTEhPT1iLmluZGV4T2YoIiUiKSYmKGI9cGFyc2VGbG9hdChuLnN0cmV0Y2gpLzEwMCpoKTt2YXIgeT1zPzA6Yip2LHg9cz9iKnY6MCxFPTEtKDEtbi5zY2FsZSkqTWF0aC5hYnModik7TWF0aC5hYnMoeCk8LjAwMSYmKHg9MCksTWF0aC5hYnMoeSk8LjAwMSYmKHk9MCksTWF0aC5hYnModyk8LjAwMSYmKHc9MCksTWF0aC5hYnMobSk8LjAwMSYmKG09MCksTWF0aC5hYnMoZyk8LjAwMSYmKGc9MCksTWF0aC5hYnMoRSk8LjAwMSYmKEU9MCk7dmFyIFM9InRyYW5zbGF0ZTNkKCIuY29uY2F0KHgsInB4LCIpLmNvbmNhdCh5LCJweCwiKS5jb25jYXQodywicHgpICByb3RhdGVYKCIpLmNvbmNhdChnLCJkZWcpIHJvdGF0ZVkoIikuY29uY2F0KG0sImRlZykgc2NhbGUoIikuY29uY2F0KEUsIikiKTtpZihYZShuLGYpLnRyYW5zZm9ybShTKSxmWzBdLnN0eWxlLnpJbmRleD0xLU1hdGguYWJzKE1hdGgucm91bmQodikpLG4uc2xpZGVTaGFkb3dzKXt2YXIgVD1zP2YuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCIpOmYuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIiksQz1zP2YuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQiKTpmLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSIpOzA9PT1ULmxlbmd0aCYmKFQ9WWUobixmLHM/ImxlZnQiOiJ0b3AiKSksMD09PUMubGVuZ3RoJiYoQz1ZZShuLGYscz8icmlnaHQiOiJib3R0b20iKSksVC5sZW5ndGgmJihUWzBdLnN0eWxlLm9wYWNpdHk9dj4wP3Y6MCksQy5sZW5ndGgmJihDWzBdLnN0eWxlLm9wYWNpdHk9LXY+MD8tdjowKX19fSxzZXRUcmFuc2l0aW9uOmZ1bmN0aW9uKGUpe3ZhciBhPXQucGFyYW1zLmNvdmVyZmxvd0VmZmVjdC50cmFuc2Zvcm1FbDsoYT90LnNsaWRlcy5maW5kKGEpOnQuc2xpZGVzKS50cmFuc2l0aW9uKGUpLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCIpLnRyYW5zaXRpb24oZSl9LHBlcnNwZWN0aXZlOmZ1bmN0aW9uKCl7cmV0dXJuITB9LG92ZXJ3cml0ZVBhcmFtczpmdW5jdGlvbigpe3JldHVybnt3YXRjaFNsaWRlc1Byb2dyZXNzOiEwfX19KX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zd2lwZXIsYT1lLmV4dGVuZFBhcmFtcyxyPWUub247YSh7Y3JlYXRpdmVFZmZlY3Q6e3RyYW5zZm9ybUVsOm51bGwsbGltaXRQcm9ncmVzczoxLHNoYWRvd1BlclByb2dyZXNzOiExLHByb2dyZXNzTXVsdGlwbGllcjoxLHBlcnNwZWN0aXZlOiEwLHByZXY6e3RyYW5zbGF0ZTpbMCwwLDBdLHJvdGF0ZTpbMCwwLDBdLG9wYWNpdHk6MSxzY2FsZToxfSxuZXh0Ont0cmFuc2xhdGU6WzAsMCwwXSxyb3RhdGU6WzAsMCwwXSxvcGFjaXR5OjEsc2NhbGU6MX19fSksTmUoe2VmZmVjdDoiY3JlYXRpdmUiLHN3aXBlcjp0LG9uOnIsc2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7dmFyIGU9dC5zbGlkZXMsYT10LiR3cmFwcGVyRWwscj10LnNsaWRlc1NpemVzR3JpZCxpPXQucGFyYW1zLmNyZWF0aXZlRWZmZWN0LG49aS5wcm9ncmVzc011bHRpcGxpZXIscz10LnBhcmFtcy5jZW50ZXJlZFNsaWRlcztpZihzKXt2YXIgbz1yWzBdLzItdC5wYXJhbXMuc2xpZGVzT2Zmc2V0QmVmb3JlfHwwO2EudHJhbnNmb3JtKCJ0cmFuc2xhdGVYKGNhbGMoNTAlIC0gIi5jb25jYXQobywicHgpKSIpKX1mb3IodmFyIGw9ZnVuY3Rpb24oYSl7dmFyIHI9ZS5lcShhKSxvPXJbMF0ucHJvZ3Jlc3MsbD1NYXRoLm1pbihNYXRoLm1heChyWzBdLnByb2dyZXNzLC1pLmxpbWl0UHJvZ3Jlc3MpLGkubGltaXRQcm9ncmVzcyksZD1sO3N8fChkPU1hdGgubWluKE1hdGgubWF4KHJbMF0ub3JpZ2luYWxQcm9ncmVzcywtaS5saW1pdFByb2dyZXNzKSxpLmxpbWl0UHJvZ3Jlc3MpKTt2YXIgYz1yWzBdLnN3aXBlclNsaWRlT2Zmc2V0LHA9W3QucGFyYW1zLmNzc01vZGU/LWMtdC50cmFuc2xhdGU6LWMsMCwwXSx1PVswLDAsMF0sZj0hMTt0LmlzSG9yaXpvbnRhbCgpfHwocFsxXT1wWzBdLHBbMF09MCk7dmFyIGg9e3RyYW5zbGF0ZTpbMCwwLDBdLHJvdGF0ZTpbMCwwLDBdLHNjYWxlOjEsb3BhY2l0eToxfTtsPDA/KGg9aS5uZXh0LGY9ITApOmw+MCYmKGg9aS5wcmV2LGY9ITApLHAuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXtwW3RdPSJjYWxjKCIuY29uY2F0KGUsInB4ICsgKCIpLmNvbmNhdChmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZToiIi5jb25jYXQoZSwicHgiKX0oaC50cmFuc2xhdGVbdF0pLCIgKiAiKS5jb25jYXQoTWF0aC5hYnMobCpuKSwiKSkiKX0pKSx1LmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7dVt0XT1oLnJvdGF0ZVt0XSpNYXRoLmFicyhsKm4pfSkpLHJbMF0uc3R5bGUuekluZGV4PS1NYXRoLmFicyhNYXRoLnJvdW5kKG8pKStlLmxlbmd0aDt2YXIgdj1wLmpvaW4oIiwgIiksbT0icm90YXRlWCgiLmNvbmNhdCh1WzBdLCJkZWcpIHJvdGF0ZVkoIikuY29uY2F0KHVbMV0sImRlZykgcm90YXRlWigiKS5jb25jYXQodVsyXSwiZGVnKSIpLGc9InNjYWxlKCIuY29uY2F0KGQ8MD8xKygxLWguc2NhbGUpKmQqbjoxLSgxLWguc2NhbGUpKmQqbiwiKSIpLHc9ZDwwPzErKDEtaC5vcGFjaXR5KSpkKm46MS0oMS1oLm9wYWNpdHkpKmQqbixiPSJ0cmFuc2xhdGUzZCgiLmNvbmNhdCh2LCIpICIpLmNvbmNhdChtLCIgIikuY29uY2F0KGcpO2lmKGYmJmguc2hhZG93fHwhZil7dmFyIHk9ci5jaGlsZHJlbigiLnN3aXBlci1zbGlkZS1zaGFkb3ciKTtpZigwPT09eS5sZW5ndGgmJmguc2hhZG93JiYoeT1ZZShpLHIpKSx5Lmxlbmd0aCl7dmFyIHg9aS5zaGFkb3dQZXJQcm9ncmVzcz9sKigxL2kubGltaXRQcm9ncmVzcyk6bDt5WzBdLnN0eWxlLm9wYWNpdHk9TWF0aC5taW4oTWF0aC5tYXgoTWF0aC5hYnMoeCksMCksMSl9fXZhciBFPVhlKGkscik7RS50cmFuc2Zvcm0oYikuY3NzKHtvcGFjaXR5Ond9KSxoLm9yaWdpbiYmRS5jc3MoInRyYW5zZm9ybS1vcmlnaW4iLGgub3JpZ2luKX0sZD0wO2Q8ZS5sZW5ndGg7ZCs9MSlsKGQpfSxzZXRUcmFuc2l0aW9uOmZ1bmN0aW9uKGUpe3ZhciBhPXQucGFyYW1zLmNyZWF0aXZlRWZmZWN0LnRyYW5zZm9ybUVsOyhhP3Quc2xpZGVzLmZpbmQoYSk6dC5zbGlkZXMpLnRyYW5zaXRpb24oZSkuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ciKS50cmFuc2l0aW9uKGUpLEhlKHtzd2lwZXI6dCxkdXJhdGlvbjplLHRyYW5zZm9ybUVsOmEsYWxsU2xpZGVzOiEwfSl9LHBlcnNwZWN0aXZlOmZ1bmN0aW9uKCl7cmV0dXJuIHQucGFyYW1zLmNyZWF0aXZlRWZmZWN0LnBlcnNwZWN0aXZlfSxvdmVyd3JpdGVQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm57d2F0Y2hTbGlkZXNQcm9ncmVzczohMCx2aXJ0dWFsVHJhbnNsYXRlOiF0LnBhcmFtcy5jc3NNb2RlfX19KX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zd2lwZXIsYT1lLmV4dGVuZFBhcmFtcyxyPWUub247YSh7Y2FyZHNFZmZlY3Q6e3NsaWRlU2hhZG93czohMCx0cmFuc2Zvcm1FbDpudWxsfX0pLE5lKHtlZmZlY3Q6ImNhcmRzIixzd2lwZXI6dCxvbjpyLHNldFRyYW5zbGF0ZTpmdW5jdGlvbigpe2Zvcih2YXIgZT10LnNsaWRlcyxhPXQuYWN0aXZlSW5kZXgscj10LnBhcmFtcy5jYXJkc0VmZmVjdCxpPXQudG91Y2hFdmVudHNEYXRhLG49aS5zdGFydFRyYW5zbGF0ZSxzPWkuaXNUb3VjaGVkLG89dC50cmFuc2xhdGUsbD0wO2w8ZS5sZW5ndGg7bCs9MSl7dmFyIGQ9ZS5lcShsKSxjPWRbMF0ucHJvZ3Jlc3MscD1NYXRoLm1pbihNYXRoLm1heChjLC00KSw0KSx1PWRbMF0uc3dpcGVyU2xpZGVPZmZzZXQ7dC5wYXJhbXMuY2VudGVyZWRTbGlkZXMmJiF0LnBhcmFtcy5jc3NNb2RlJiZ0LiR3cmFwcGVyRWwudHJhbnNmb3JtKCJ0cmFuc2xhdGVYKCIuY29uY2F0KHQubWluVHJhbnNsYXRlKCksInB4KSIpKSx0LnBhcmFtcy5jZW50ZXJlZFNsaWRlcyYmdC5wYXJhbXMuY3NzTW9kZSYmKHUtPWVbMF0uc3dpcGVyU2xpZGVPZmZzZXQpO3ZhciBmPXQucGFyYW1zLmNzc01vZGU/LXUtdC50cmFuc2xhdGU6LXUsaD0wLHY9LTEwMCpNYXRoLmFicyhwKSxtPTEsZz0tMipwLHc9OC0uNzUqTWF0aC5hYnMocCksYj0obD09PWF8fGw9PT1hLTEpJiZwPjAmJnA8MSYmKHN8fHQucGFyYW1zLmNzc01vZGUpJiZvPG4seT0obD09PWF8fGw9PT1hKzEpJiZwPDAmJnA+LTEmJihzfHx0LnBhcmFtcy5jc3NNb2RlKSYmbz5uO2lmKGJ8fHkpe3ZhciB4PU1hdGgucG93KDEtTWF0aC5hYnMoKE1hdGguYWJzKHApLS41KS8uNSksLjUpO2crPS0yOCpwKngsbSs9LS41Kngsdys9OTYqeCxoPSIiLmNvbmNhdCgtMjUqeCpNYXRoLmFicyhwKSwiJSIpfWlmKGY9cDwwPyJjYWxjKCIuY29uY2F0KGYsInB4ICsgKCIpLmNvbmNhdCh3Kk1hdGguYWJzKHApLCIlKSkiKTpwPjA/ImNhbGMoIi5jb25jYXQoZiwicHggKyAoLSIpLmNvbmNhdCh3Kk1hdGguYWJzKHApLCIlKSkiKToiIi5jb25jYXQoZiwicHgiKSwhdC5pc0hvcml6b250YWwoKSl7dmFyIEU9aDtoPWYsZj1FfXZhciBTPSIiLmNvbmNhdChwPDA/MSsoMS1tKSpwOjEtKDEtbSkqcCksVD0iXG4gICAgICAgIHRyYW5zbGF0ZTNkKCIuY29uY2F0KGYsIiwgIikuY29uY2F0KGgsIiwgIikuY29uY2F0KHYsInB4KVxuICAgICAgICByb3RhdGVaKCIpLmNvbmNhdChnLCJkZWcpXG4gICAgICAgIHNjYWxlKCIpLmNvbmNhdChTLCIpXG4gICAgICAiKTtpZihyLnNsaWRlU2hhZG93cyl7dmFyIEM9ZC5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdyIpOzA9PT1DLmxlbmd0aCYmKEM9WWUocixkKSksQy5sZW5ndGgmJihDWzBdLnN0eWxlLm9wYWNpdHk9TWF0aC5taW4oTWF0aC5tYXgoKE1hdGguYWJzKHApLS41KS8uNSwwKSwxKSl9ZFswXS5zdHlsZS56SW5kZXg9LU1hdGguYWJzKE1hdGgucm91bmQoYykpK2UubGVuZ3RoLFhlKHIsZCkudHJhbnNmb3JtKFQpfX0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlKXt2YXIgYT10LnBhcmFtcy5jYXJkc0VmZmVjdC50cmFuc2Zvcm1FbDsoYT90LnNsaWRlcy5maW5kKGEpOnQuc2xpZGVzKS50cmFuc2l0aW9uKGUpLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93IikudHJhbnNpdGlvbihlKSxIZSh7c3dpcGVyOnQsZHVyYXRpb246ZSx0cmFuc2Zvcm1FbDphfSl9LHBlcnNwZWN0aXZlOmZ1bmN0aW9uKCl7cmV0dXJuITB9LG92ZXJ3cml0ZVBhcmFtczpmdW5jdGlvbigpe3JldHVybnt3YXRjaFNsaWRlc1Byb2dyZXNzOiEwLHZpcnR1YWxUcmFuc2xhdGU6IXQucGFyYW1zLmNzc01vZGV9fX0pfV07TWUudXNlKFJlKX19XSk7DQo="}},"time_used":6006,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6006,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.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":"stylesheet","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:31.682Z","timestamp":1785137071682,"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 /_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 411227\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":20284,"size_decoded":4799,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-08-19T16:59:39.33062Z","times_seen":20668,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:31.973Z","timestamp":1785137071973,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=qIDWRSMhLXEwhRO4xETATQPR3jvQyZo5T4h1SiDwJZFeQABsv_T5rYcMTLyacdftQe1HFuTQYjCxldnVpZp74VYBMv_rUVwgOJ5HUwk7m3JIuCd9ZG52YE8hl7osllUIaKR2lm2Uof5aC684VV5dlQS3kmZBv5qVoUMTOzsGqPehMT1KjkhyJLxLtvige5qHG872p_pLGkmERGh0bmiKBMP7ZZDLQotiJ1KMNThxulgS-EDDia5j6Hykxc6wr_Ao78rVG6XGls6peXe6iAAIyvMNaTz8Cp_9-G3okp6kxCIuNJKmfPqv4_6k45-NAxJPqfBHRLWzFAp4sda6-ccaAA; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxjX2KroqfKVAw%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 150031\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 12:56:07 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:07 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 239304\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":442344,"size_decoded":150945,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (534)","md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uX0ZfdG9nZ2xlc19pbml0aWFsaXplPWZ1bmN0aW9uKGEpeyh0eXBlb2YgZ2xvYmFsVGhpcyE9PSJ1bmRlZmluZWQiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGYhPT0idW5kZWZpbmVkIj9zZWxmOnRoaXMpLl9GX3RvZ2dsZXNfZGVmYXVsdF9iYXNlPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4MCwgMHgyLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwp2YXIgZWEsZmEsZGEsbmEscWEsdWEsdmEsQmEsSWEsSmEsS2EsUGEsUmEsVmEsJGEsaGIsbWIsd2IsemIsQWIsRWIsQ2IsRmIsR2IsTmIsVGIsZmMsaGMsaWMsamMsa2MsbWMsbmMsb2MsdGMscWMsR2MsSWMsTGMsTmMsVWMsUWMsV2MsY2QsZmQsaGQsamQsa2QsbWQsb2Qsc2QsQWQsQmQsRWQsdWQsR2QsSGQsSmQsSWQsS2QsTGQsTWQsT2QsU2QsWWQsYmUsY2UsZWUsZmUsZ2UsaGUsaWUsamUsa2UscWUsbGUscmUsb2UscGUsdmUsdGUsc2UsdWUsd2UseGUseWUsemUsQ2UsRGUsRWUsRmUsSGUsS2UsTWUsTmUsT2UsUGUsUWUsVmUsWWUsUmUsWmUsYWYsV2UsVGUsaGYsbGYsbWYsbmYsb2YscmYsdGYseGYsemYsQ2YsS2YsTGYsUWYsRmYsU2YsT2YsTWYsTmYsVGYsUmYsV2YsVmYsWGYsWWYsWmYsYmcsZGcsZWcsZmcsY2csa2csbGcsaGcsZ2csaWcsamcscmcsc2csdGcsdmcseGcsemcsQWcsdWcsRWcsd2csRmcsRGcsSGcsSWcsSmcsT2csUmcsTmcsVGcsU2csVWcsWWcsWGcsYmgsJGcsClpnLGFoLFBnLGNoLGZoLGloLGpoLGtoLGxoLGdoLGhoLG5oLHVoLHZoLHdoLHhoLHloLEFoLEJoLENoLERoLEVoLEZoLEloLEpoLEtoLExoLE1oLE5oLE9oLFBoLFFoLFJoLFNoLFRoLFVoLFZoLGNpLGRpLGVpLGZpLGdpLGhpLGppLGtpLGxpLHBpLHFpLHJpLHNpLHZpLHdpLHhpLHlpLHppLEFpLEJpLERpLEVpLE1pLFRpLFlpLGFqLGRqLGNqLFhpLG9qLHhqLHdqLEFqLEJqLENqLEVqLEpqLEZqLEhqLElqLHZqLFFqLFpqLGJrLGNrLGFrLGVrLGhrLGlrLGZrLGtrLG1rLGxrLG9rLHBrLHFrLHNrLHJrLHZrLHlrLHhrLHprLEFrLEVrLEprLEtrLExrLFJrLFNrLFRrLFVrLFhrLFlrLFdrLFprLCRrLGJsLGNsLGRsLGhsLG5sLHFsLHNsLHRsLGdsLHVsLHZsLHBsLHJsLHlsLHpsLEJsLEVsLEhsLExsLE5sLE9sLFFsLFJsLFNsLFRsLFVsLFZsLFdsLFhsLFpsLGJtLGNtLGRtLGVtLGZtLGdtLGhtLGttLGxtLG1tLG9tLHRtLEFtLEJtLERtLENtLEdtLEhtLEVtLEZtLEltLEptLExtLE1tLApPbSxQbSxRbSxSbSxTbSxUbSxVbSxObSxXbSxYbSxZbSxabSxmbixnbixqbixsbixtbixvbixxbixybix2bix4bixBbix3bix6bixFbixLbixKbixNbixRbixSbixTbixUbixWbixabixXbixYbixZbiwkbixjbyxhbyxxbyx2byx3byxEbyxIbyxGbyxHbyxLbyxKbyxJbyxMbyxPbyxRbywkbyxZbyxXbyxTbyxpcCxlcCxmcCx0cCxycCxxcCxSbyx1cCxkcCxocCxzcCxhcCxUbyxWbyxabyxwcCxGcCxKcCxScCxTcCxVcCxZcCxUcCxhcSxjcSxkcSxlcSxmcSxocSxqcSxxcSxrYSxqYSxpYSxjYTtlYT1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPTA7YzxjYS5sZW5ndGg7YysrKWRhKGNhW2NdKyJBcnJheS5wcm90b3R5cGUuIithLGIpfTtmYT1mdW5jdGlvbihhLGIpe2ImJmRhKGEsYil9OwpkYT1mdW5jdGlvbihhLGIpe3ZhciBjPWlhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmamEoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTtuYT1mdW5jdGlvbihhLGIpe2EucHJvdG90eXBlPWthKGIucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2xhKGEsYik7YS56Yj1iLnByb3RvdHlwZX07cWE9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpfHwwO2E8MCYmKGErPXRoaXMubGVuZ3RoKTtpZighKGE8MHx8YT49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW2FdfTsKXy5yYT1mdW5jdGlvbihhLGIsYyl7YT1hLnNwbGl0KCIuIik7Yz1jfHxfLnU7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnNhKCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iIik7YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07dmE9ZnVuY3Rpb24oKXt9O18uc2E9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy53YT1mdW5jdGlvbihhKXthLlNsPXZvaWQgMDthLmpjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuU2w/YS5TbDphLlNsPW5ldyBhfX07Cl8ueGE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGIhPSJvYmplY3QiP2I6YT9BcnJheS5pc0FycmF5KGEpPyJhcnJheSI6YjoibnVsbCJ9O18ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54YShhKTtyZXR1cm4gYj09ImFycmF5Inx8Yj09Im9iamVjdCImJnR5cGVvZiBhLmxlbmd0aD09Im51bWJlciJ9O18uQWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTtCYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07Xy5DYT1mdW5jdGlvbihhLGIsYyl7Xy5DYT1CYTtyZXR1cm4gXy5DYS5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpfLkRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLkVhPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O18uRmE9ZnVuY3Rpb24oYSxiKXtfLnJhKGEsYil9O18uR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uSGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuemI9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLmJhc2U9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGs9MjtrPGFyZ3VtZW50cy5sZW5ndGg7aysrKWhbay0yXT1hcmd1bWVudHNba107cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsaCl9fTsKSWE9ZnVuY3Rpb24oYSwuLi5iKXtiPWIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighYilyZXR1cm4gYTt2YXIgYz1hLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIGM/YS5zbGljZSgwLGMuaW5kZXgrMSkrYisiJiIrYS5zbGljZShjLmluZGV4KzEpOmErKGEuaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrYn07SmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj8iJiIrYSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIifTsKS2E9ZnVuY3Rpb24oYSl7YT1hLkI7aWYoIWEpcmV0dXJuIiI7dmFyIGI9SmEoInVhcCIsYS5wbGF0Zm9ybSkrSmEoInVhcHYiLGEucGxhdGZvcm1WZXJzaW9uKStKYSgidWFmdiIsYS51YUZ1bGxWZXJzaW9uKStKYSgidWFhIixhLmFyY2hpdGVjdHVyZSkrSmEoInVhbSIsYS5tb2RlbCkrSmEoInVhYiIsYS5iaXRuZXNzKTthLmZ1bGxWZXJzaW9uTGlzdCYmKGIrPSImdWFmdmw9IitlbmNvZGVVUklDb21wb25lbnQoYS5mdWxsVmVyc2lvbkxpc3QubWFwKGM9PmVuY29kZVVSSUNvbXBvbmVudChjLmJyYW5kKSsiOyIrZW5jb2RlVVJJQ29tcG9uZW50KGMudmVyc2lvbikpLmpvaW4oInwiKSkpO2Eud293NjQhPW51bGwmJihiKz0iJnVhdz0iK051bWJlcihhLndvdzY0KSk7cmV0dXJuIGIuc2xpY2UoMSl9OwpfLkxhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLkxhKTtlbHNle2xldCBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfTtfLk1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgtYi5sZW5ndGg7cmV0dXJuIGM+PTAmJmEuaW5kZXhPZihiLGMpPT1jfTtQYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIU5hKXJldHVybiBhO3RyeXtsZXQgYj1jPT5jO2E9TmEuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChiKXt9cmV0dXJuIGF9O1JhPWZ1bmN0aW9uKCl7UWE9PT12b2lkIDAmJihRYT1QYSgpKTtyZXR1cm4gUWF9OwpfLlRhPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLlNhKGEpfTtfLlVhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlNhKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O1ZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU3RyaW5nKCkuaW5kZXhPZigiYCIpPT09LTF9O18uWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLldhfTtfLllhPWZ1bmN0aW9uKGEpe2lmKF8uWGEoYSkpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307JGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBaYShiPT5iLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6Iil9O18uYmI9ZnVuY3Rpb24oYSxiPV8uYWIpe2lmKF8uWGEoYSkpcmV0dXJuIGE7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2Mpe2xldCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIFphJiZkLmZiKGEpKXJldHVybiBuZXcgXy5XYShhKX19OwpfLmRiPWZ1bmN0aW9uKGEpe2EgaW5zdGFuY2VvZiBfLldhP2E9Xy5ZYShhKTphPWNiLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGF9O18uZWI9ZnVuY3Rpb24oYSxiPWB1bmV4cGVjdGVkIHZhbHVlICR7YX0hYCl7dGhyb3cgRXJyb3IoYik7fTtfLmdiPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlSFRNTChhKTphO3JldHVybiBuZXcgXy5mYihhKX07Xy5pYj1mdW5jdGlvbihhKXtyZXR1cm4gaGIoInNjcmlwdCIsYSl9O2hiPWZ1bmN0aW9uKGEsYj1kb2N1bWVudCl7YT1iLnF1ZXJ5U2VsZWN0b3I/LihgJHthfVtub25jZV1gKTtyZXR1cm4gYT09bnVsbD8iIjphLm5vbmNlfHxhLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18ua2I9ZnVuY3Rpb24oYSl7dmFyIGI9UmEoKTthPWI/Yi5jcmVhdGVTY3JpcHQoYSk6YTtyZXR1cm4gbmV3IF8uamIoYSl9OwpfLmxiPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmpiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O21iPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaWIoYS5vd25lckRvY3VtZW50KTtiJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpfTtfLm5iPWZ1bmN0aW9uKGEsYil7YS50ZXh0Q29udGVudD1fLmxiKGIpO21iKGEpfTtfLm9iPWZ1bmN0aW9uKGEsYil7YS5zcmM9Xy5VYShiKTttYihhKX07Xy5xYj1mdW5jdGlvbihhLGIsYyl7aWYoYiBpbnN0YW5jZW9mIF8uU2EpYS5ocmVmPV8uVWEoYikudG9TdHJpbmcoKSxhLnJlbD1jO2Vsc2V7aWYocGIuaW5kZXhPZihjKT09PS0xKXRocm93IEVycm9yKCJqYCIrYyk7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9YixhLnJlbD1jKX19O18uc2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX07Cl8udGI9ZnVuY3Rpb24oYSxiKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYix2b2lkIDApfTtfLnViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYSxiLHZvaWQgMCl9O18udmI9ZnVuY3Rpb24oYSxiKXthOntsZXQgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKGUgaW4gZCYmYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpe2I9ZTticmVhayBhfWI9LTF9cmV0dXJuIGI8MD9udWxsOnR5cGVvZiBhPT09InN0cmluZyI/YS5jaGFyQXQoYik6YVtiXX07d2I9ZnVuY3Rpb24oYSxiKXtfLnNiKGEsYik+PTB8fGEucHVzaChiKX07Xy54Yj1mdW5jdGlvbihhLGIpe2I9Xy5zYihhLGIpO3ZhciBjOyhjPWI+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfTsKXy55Yj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihiPjApe2xldCBjPUFycmF5KGIpO2ZvcihsZXQgZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt6Yj1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe2xldCBkPWFyZ3VtZW50c1tjXTtpZihfLnlhKGQpKXtsZXQgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IobGV0IGg9MDtoPGY7aCsrKWFbZStoXT1kW2hdfWVsc2UgYS5wdXNoKGQpfX07QWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz0wLGQ9bmV3IFNldDtjPGEubGVuZ3RoOyl7bGV0IGU9YVtjKytdO2QuaGFzKGUpfHwoZC5hZGQoZSksYVtiKytdPWUpfWEubGVuZ3RoPWJ9OwpfLkJiPWZ1bmN0aW9uKGEsYil7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Yn07CkViPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2EoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7YT09bnVsbCYmKGE9J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTphLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOmIsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgYz0hMTt0cnl7dmFyIGQ9YS5saW5lTnVtYmVyfHxhLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChmKXtkPSJOb3QgYXZhaWxhYmxlIixjPSEwfXRyeXt2YXIgZT1hLmZpbGVOYW1lfHxhLmZpbGVuYW1lfHxhLnNvdXJjZVVSTHx8Xy51LiRnb29nRGVidWdGbmFtZXx8Yn1jYXRjaChmKXtlPSJOb3QgYXZhaWxhYmxlIixjPSEwfWI9Q2IoYSk7aWYoISghYyYmYS5saW5lTnVtYmVyJiZhLmZpbGVOYW1lJiZhLnN0YWNrJiZhLm1lc3NhZ2UmJmEubmFtZSkpe2M9YS5tZXNzYWdlOwppZihjPT1udWxsKXtpZihhLmNvbnN0cnVjdG9yJiZhLmNvbnN0cnVjdG9yIGluc3RhbmNlb2YgRnVuY3Rpb24pe2lmKGEuY29uc3RydWN0b3IubmFtZSljPWEuY29uc3RydWN0b3IubmFtZTtlbHNlIGlmKGM9YS5jb25zdHJ1Y3RvcixEYltjXSljPURiW2NdO2Vsc2V7Yz1TdHJpbmcoYyk7aWYoIURiW2NdKXtsZXQgZj0vZnVuY3Rpb25ccysoW15cKF0rKS9tLmV4ZWMoYyk7RGJbY109Zj9mWzFdOiJbQW5vbnltb3VzXSJ9Yz1EYltjXX1jPSdVbmtub3duIEVycm9yIG9mIHR5cGUgIicrYysnIid9ZWxzZSBjPSJVbmtub3duIEVycm9yIG9mIHVua25vd24gdHlwZSI7dHlwZW9mIGEudG9TdHJpbmc9PT0iZnVuY3Rpb24iJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIT09YS50b1N0cmluZyYmKGMrPSI6ICIrYS50b1N0cmluZygpKX1yZXR1cm57bWVzc2FnZTpjLG5hbWU6YS5uYW1lfHwiVW5rbm93bkVycm9yIixsaW5lTnVtYmVyOmQsZmlsZU5hbWU6ZSxzdGFjazpifHwiTm90IGF2YWlsYWJsZSJ9fXJldHVybnttZXNzYWdlOmEubWVzc2FnZSwKbmFtZTphLm5hbWUsbGluZU51bWJlcjphLmxpbmVOdW1iZXIsZmlsZU5hbWU6YS5maWxlTmFtZSxzdGFjazpifX07CkNiPWZ1bmN0aW9uKGEsYil7Ynx8KGI9e30pO2JbRmIoYSldPSEwO3ZhciBjPWEuc3RhY2t8fCIiLGQ9YS5jYXVzZTtkJiYhYltGYihkKV0mJihjKz0iXG5DYXVzZWQgYnk6ICIsZC5zdGFjayYmZC5zdGFjay5pbmRleE9mKGQudG9TdHJpbmcoKSk9PTB8fChjKz10eXBlb2YgZD09PSJzdHJpbmciP2Q6ZC5tZXNzYWdlKyJcbiIpLGMrPUNiKGQsYikpO2E9YS5lcnJvcnM7aWYoQXJyYXkuaXNBcnJheShhKSl7ZD0xO2xldCBlO2ZvcihlPTA7ZTxhLmxlbmd0aCYmIShkPjQpO2UrKyliW0ZiKGFbZV0pXXx8KGMrPSJcbklubmVyIGVycm9yICIrZCsrICsiOiAiLGFbZV0uc3RhY2smJmFbZV0uc3RhY2suaW5kZXhPZihhW2VdLnRvU3RyaW5nKCkpPT0wfHwoYys9dHlwZW9mIGFbZV09PT0ic3RyaW5nIj9hW2VdOmFbZV0ubWVzc2FnZSsiXG4iKSxjKz1DYihhW2VdLGIpKTtlPGEubGVuZ3RoJiYoYys9IlxuLi4uICIrKGEubGVuZ3RoLWUpKyIgbW9yZSBpbm5lciBlcnJvcnMiKX1yZXR1cm4gY307CkZiPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO3R5cGVvZiBhLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmKGI9IiIrYSk7cmV0dXJuIGIrYS5zdGFja307R2I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoYSl9O18uSGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhLnJlcGxhY2UoL1wrL2csIiAiKSl9O18uSWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9IiI7YSYmKGsrPWErIjoiKTtjJiYoays9Ii8vIixiJiYoays9YisiQCIpLGsrPWMsZCYmKGsrPSI6IitkKSk7ZSYmKGsrPWUpO2YmJihrKz0iPyIrZik7aCYmKGsrPSIjIitoKTtyZXR1cm4ga307Xy5NYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRjaChLYil9O05iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5PYj1mdW5jdGlvbihhKXthPV8uTWIoYSlbMV18fG51bGw7IWEmJl8udS5zZWxmJiZfLnUuc2VsZi5sb2NhdGlvbiYmKGE9Xy51LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpO3JldHVybiBhP2EudG9Mb3dlckNhc2UoKToiIn07Xy5QYj1mdW5jdGlvbihhKXtyZXR1cm4gTmIoXy5NYihhKVszXXx8bnVsbCl9O18uUWI9ZnVuY3Rpb24oYSl7cmV0dXJuIE5iKF8uTWIoYSlbNV18fG51bGwpfTtfLlJiPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2xldCBkPWFbY10uaW5kZXhPZigiPSIpLGUsZj1udWxsO2Q+PTA/KGU9YVtjXS5zdWJzdHJpbmcoMCxkKSxmPWFbY10uc3Vic3RyaW5nKGQrMSkpOmU9YVtjXTtiKGUsZj9fLkhiKGYpOiIiKX19fTsKXy5TYj1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBhO3ZhciBjPWEuaW5kZXhPZigiIyIpO2M8MCYmKGM9YS5sZW5ndGgpO3ZhciBkPWEuaW5kZXhPZigiPyIpO2lmKGQ8MHx8ZD5jKXtkPWM7dmFyIGU9IiJ9ZWxzZSBlPWEuc3Vic3RyaW5nKGQrMSxjKTthPVthLnNsaWNlKDAsZCksZSxhLnNsaWNlKGMpXTtjPWFbMV07YVsxXT1iP2M/YysiJiIrYjpiOmM7cmV0dXJuIGFbMF0rKGFbMV0/Ij8iK2FbMV06IiIpK2FbMl19O1RiPWZ1bmN0aW9uKGEsYixjKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKVRiKGEsU3RyaW5nKGJbZF0pLGMpO2Vsc2UgYiE9bnVsbCYmYy5wdXNoKGErKGI9PT0iIj8iIjoiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSkpKX07Xy5VYj1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IGMgaW4gYSlUYihjLGFbY10sYik7cmV0dXJuIGIuam9pbigiJiIpfTsKXy5XYj1mdW5jdGlvbihhLGIpe2I9Xy5VYihiKTtyZXR1cm4gXy5TYihhLGIpfTtfLlhiPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1jLmxlbmd0aDsoYj1hLmluZGV4T2YoYyxiKSk+PTAmJmI8ZDspe3ZhciBmPWEuY2hhckNvZGVBdChiLTEpO2lmKGY9PTM4fHxmPT02MylpZihmPWEuY2hhckNvZGVBdChiK2UpLCFmfHxmPT02MXx8Zj09Mzh8fGY9PTM1KXJldHVybiBiO2IrPWUrMX1yZXR1cm4tMX07Xy5aYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc2VhcmNoKF8uWWIpLGQ9Xy5YYihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gXy5IYihhLnNsaWNlKGQsZSE9PS0xP2U6MCkpfTtfLiRiPWZ1bmN0aW9uKGEpe18udS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgYTt9LDApfTsKXy5hYz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT01NTI5NiYmZCsxPGEubGVuZ3RoJiYoYS5jaGFyQ29kZUF0KGQrMSkmNjQ1MTIpPT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gYn07Xy5iYz1mdW5jdGlvbigpe3ZhciBhPV8udS5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTsKZmM9ZnVuY3Rpb24oYSl7aWYoIWRjfHwhZWMpcmV0dXJuITE7Zm9yKGxldCBiPTA7YjxlYy5icmFuZHMubGVuZ3RoO2IrKyl7bGV0IHticmFuZDpjfT1lYy5icmFuZHNbYl07aWYoYyYmYy5pbmRleE9mKGEpIT0tMSlyZXR1cm4hMH1yZXR1cm4hMX07aGM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYmMoKS5pbmRleE9mKGEpIT0tMX07aWM9ZnVuY3Rpb24oKXtyZXR1cm4gZGM/ISFlYyYmZWMuYnJhbmRzLmxlbmd0aD4wOiExfTtqYz1mdW5jdGlvbigpe3JldHVybiBpYygpPyExOmhjKCJPcGVyYSIpfTtrYz1mdW5jdGlvbigpe3JldHVybiBoYygiRmlyZWZveCIpfHxoYygiRnhpT1MiKX07bWM9ZnVuY3Rpb24oKXtyZXR1cm4gaWMoKT9mYygiQ2hyb21pdW0iKTooaGMoIkNocm9tZSIpfHxoYygiQ3JpT1MiKSkmJiEoaWMoKT8wOmhjKCJFZGdlIikpfHxoYygiU2lsayIpfTtuYz1mdW5jdGlvbigpe3JldHVybiBkYz8hIWVjJiYhIWVjLnBsYXRmb3JtOiExfTsKb2M9ZnVuY3Rpb24oKXtyZXR1cm4gaGMoImlQaG9uZSIpJiYhaGMoImlQb2QiKSYmIWhjKCJpUGFkIil9O18ucGM9ZnVuY3Rpb24oYSl7Xy5wY1siICJdKGEpO3JldHVybiBhfTtfLnNjPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMCYmKGI9MCk7cWMoKTtiPXJjW2JdO2Zvcih2YXIgYz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKSxkPWJbNjRdfHwiIixlPTAsZj0wO2U8YS5sZW5ndGgtMjtlKz0zKXt2YXIgaD1hW2VdLGs9YVtlKzFdLGw9YVtlKzJdLG09YltoPj4yXTtoPWJbKGgmMyk8PDR8az4+NF07az1iWyhrJjE1KTw8MnxsPj42XTtsPWJbbCY2M107Y1tmKytdPW0raCtrK2x9bT0wO2w9ZDtzd2l0Y2goYS5sZW5ndGgtZSl7Y2FzZSAyOm09YVtlKzFdLGw9YlsobSYxNSk8PDJdfHxkO2Nhc2UgMTphPWFbZV0sY1tmXT1iW2E+PjJdK2JbKGEmMyk8PDR8bT4+NF0rbCtkfXJldHVybiBjLmpvaW4oIiIpfTsKXy51Yz1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aCxjPWIqMy80O2MlMz9jPU1hdGguZmxvb3IoYyk6Ij0uIi5pbmRleE9mKGFbYi0xXSkhPS0xJiYoYz0iPS4iLmluZGV4T2YoYVtiLTJdKSE9LTE/Yy0yOmMtMSk7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoYyksZT0wO3RjKGEsZnVuY3Rpb24oZil7ZFtlKytdPWZ9KTtyZXR1cm4gZSE9PWM/ZC5zdWJhcnJheSgwLGUpOmR9O3RjPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhlKXtmb3IoO2Q8YS5sZW5ndGg7KXtsZXQgZj1hLmNoYXJBdChkKyspLGg9dmNbZl07aWYoaCE9bnVsbClyZXR1cm4gaDtpZighL15bXHNceGEwXSokLy50ZXN0KGYpKXRocm93IEVycm9yKCJtYCIrZik7fXJldHVybiBlfXFjKCk7Zm9yKHZhciBkPTA7Oyl7bGV0IGU9YygtMSksZj1jKDApLGg9Yyg2NCksaz1jKDY0KTtpZihrPT09NjQmJmU9PT0tMSlicmVhaztiKGU8PDJ8Zj4+NCk7aCE9NjQmJihiKGY8PDQmMjQwfGg+PjIpLGshPTY0JiZiKGg8PDYmMTkyfGspKX19OwpxYz1mdW5jdGlvbigpe2lmKCF2Yyl7dmM9e307dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksYj1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXTtmb3IobGV0IGM9MDtjPDU7YysrKXtsZXQgZD1hLmNvbmNhdChiW2NdLnNwbGl0KCIiKSk7cmNbY109ZDtmb3IobGV0IGU9MDtlPGQubGVuZ3RoO2UrKyl7bGV0IGY9ZFtlXTt2Y1tmXT09PXZvaWQgMCYmKHZjW2ZdPWUpfX19fTtfLnhjPWZ1bmN0aW9uKGEsYil7aWYoYSE9bnVsbCl7dmFyIGM9d2M/Pyh3Yz17fSk7dmFyIGQ9Y1thXXx8MDtkPj1ifHwoY1thXT1kKzEsYT1FcnJvcigpLF8uQmIoYSwiaW5jaWRlbnQiKSxfLiRiKGEpKX19O18ueWM9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYiYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpfTsKXy5CYz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuaiE9PV8uemMmJiEhKDImKGEuRGFbXy5BY118MCkpOiEhKDImYikmJmEuaiE9PV8uemN9O18uQ2M9ZnVuY3Rpb24oYSl7YS51Sj0hMDtyZXR1cm4gYX07Xy5GYz1mdW5jdGlvbihhKXtpZihEYyhhKSl7aWYoIS9eXHMqKD86LT9bMS05XVxkKnwwKT9ccyokLy50ZXN0KGEpKXRocm93IEVycm9yKFN0cmluZyhhKSk7fWVsc2UgaWYoRWMoYSkmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihhKSl0aHJvdyBFcnJvcihTdHJpbmcoYSkpO3JldHVybiBCaWdJbnQoYSl9O0djPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtJYz1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLnhjKEhjLDEpfTsKTGM9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLkdhKF8uSmMpLGg7IWUmJmYmJihoPWFbZl0pJiZoLmN3KEljKTtmPVtdO3ZhciBrPWEubGVuZ3RoO2g9NDI5NDk2NzI5NTt2YXIgbD0hMSxtPSEhKGImNjQpLG49bT9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBwPWsmJmFbay0xXTtwIT1udWxsJiZ0eXBlb2YgcD09PSJvYmplY3QiJiZwLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhrLS0saD1rKTpwPXZvaWQgMDshbXx8YiYxMjh8fGV8fChsPSEwLGg9KEtjPz9HYykoaC1uLG4sYSxwLHZvaWQgMCkrbil9Yj12b2lkIDA7Zm9yKGU9MDtlPGs7ZSsrKXtsZXQgcj1hW2VdO2lmKHIhPW51bGwmJihyPWMocixkKSkhPW51bGwpaWYobSYmZT49aCl7bGV0IHQ9ZS1uOyhiPz8oYj17fSkpW3RdPXJ9ZWxzZSBmW2VdPXJ9aWYocClmb3IobGV0IHIgaW4gcCl7YT1wW3JdO2lmKGE9PW51bGx8fChhPWMoYSxkKSk9PW51bGwpY29udGludWU7az0rcjsKbGV0IHQ7bSYmIU51bWJlci5pc05hTihrKSYmKHQ9aytuKTxoP2ZbdF09YTooYj8/KGI9e30pKVtyXT1hfWImJihsP2YucHVzaChiKTpmW2hdPWIpO3JldHVybiBmfTtOYz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLk1jKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXtsZXQgYj1hW18uQWNdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYiYxP3ZvaWQgMDpMYyhhLGIsTmMpfWlmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBRYyhhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy5SYyYmYSBpbnN0YW5jZW9mIF8uUmMpcmV0dXJuIGEubygpO3JldHVybn1yZXR1cm4gYX07ClVjPWZ1bmN0aW9uKGEsYil7aWYoYil7S2M9Yj09bnVsbHx8Yj09PUdjfHxiW1NjXSE9PVRjP0djOmI7dHJ5e3JldHVybiBRYyhhKX1maW5hbGx5e0tjPXZvaWQgMH19cmV0dXJuIFFjKGEpfTtRYz1mdW5jdGlvbihhKXthPWEuRGE7cmV0dXJuIExjKGEsYVtfLkFjXXwwLE5jKX07Cl8uWGM9ZnVuY3Rpb24oYSxiLGMsZD0wKXtpZihhPT1udWxsKXt2YXIgZT0zMjtjPyhhPVtjXSxlfD0xMjgpOmE9W107YiYmKGU9ZSYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJzIik7ZT1hW18uQWNdfDA7aWYoVmMmJjEmZSl0aHJvdyBFcnJvcigidCIpOzIwNDgmZSYmISgyJmUpJiZXYygpO2lmKGUmMjU2KXRocm93IEVycm9yKCJ1Iik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJihhW18uQWNdPWV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigidiIpO2E6e2M9YTtlfD02NDt2YXIgZj1jLmxlbmd0aDtpZihmKXt2YXIgaD1mLTE7bGV0IGw9Y1toXTtpZihsIT1udWxsJiZ0eXBlb2YgbD09PSJvYmplY3QiJiZsLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtiPWUmMTI4PzA6LTE7aC09YjtpZihoPj0xMDI0KXRocm93IEVycm9yKCJ4Iik7Zm9yKHZhciBrIGluIGwpaWYoZj0rayxmPGgpY1tmKwpiXT1sW2tdLGRlbGV0ZSBsW2tdO2Vsc2UgYnJlYWs7ZT1lJi0xNjc2MDgzM3woaCYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoInkiKTtlPWUmLTE2NzYwODMzfChrJjEwMjMpPDwxNH19fWFbXy5BY109ZXw2NHxkO3JldHVybiBhfTtXYz1mdW5jdGlvbigpe2lmKFZjKXRocm93IEVycm9yKCJ3Iik7Xy54YyhZYyw1KX07CmNkPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYz1hW18uQWNdfDA7YS5sZW5ndGg9PT0wJiZjJjE/YT12b2lkIDA6YyYyfHwoIWJ8fDQwOTYmY3x8MTYmYz9hPV8uWmMoYSxjLCExLGImJiEoYyYxNikpOihhW18uQWNdfD0zNCxjJjQmJk9iamVjdC5mcmVlemUoYSkpKTtyZXR1cm4gYX1pZihhIT1udWxsJiZhW18uT2NdPT09Xy5QYylyZXR1cm4gYj1hLkRhLGM9YltfLkFjXXwwLF8uQmMoYSxjKT9hOl8uJGMoYSxiLGMpP18uYmQoYSxiKTpfLlpjKGIsYyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIF8uUmMmJmEgaW5zdGFuY2VvZiBfLlJjKXJldHVybiBhfTtfLmJkPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmo9Xy56Yyk7YS5vPV8uemM7cmV0dXJuIGF9OwpfLlpjPWZ1bmN0aW9uKGEsYixjLGQpe2Q/PyhkPSEhKDM0JmIpKTthPUxjKGEsYixjZCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDthW18uQWNdPWI7cmV0dXJuIGF9O18uJGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjJjI/ITA6YyYzMiYmIShjJjQwOTYpPyhiW18uQWNdPWN8MixhLmo9Xy56YywhMCk6ITF9O18uZWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uZGQoYS5EYSxiLGMsZSk7aWYoYiE9PW51bGx8fGQmJmEubyE9PV8uemMpcmV0dXJuIGJ9OwpfLmRkPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGI9PT0tMSlyZXR1cm4gbnVsbDt2YXIgZT1iKyhjPzA6LTEpLGY9YS5sZW5ndGgtMTtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpe3ZhciBoPWFbZl07aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yz1oW2JdO3ZhciBrPSEwfWVsc2UgaWYoZT09PWYpYz1oO2Vsc2UgcmV0dXJufWVsc2UgYz1hW2VdO2lmKGQmJmMhPW51bGwpe2Q9ZChjKTtpZihkPT1udWxsKXJldHVybiBkO2lmKCFPYmplY3QuaXMoZCxjKSlyZXR1cm4gaz9oW2JdPWQ6YVtlXT1kLGR9cmV0dXJuIGN9fTtmZD1mdW5jdGlvbigpe3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhyb3cgRXJyb3IoKTt9fTtPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxhLnByb3RvdHlwZSk7cmV0dXJuIGF9O18uZ2Q9ZnVuY3Rpb24oKXt9OwpoZD1mdW5jdGlvbihhKXt2YXIgYj0hMSxjO3JldHVybiBmdW5jdGlvbigpe2J8fChjPWEoKSxiPSEwKTtyZXR1cm4gY319O2pkPWZ1bmN0aW9uKGEpe3ZhciBiPWlkO2lmKGIpZm9yKGxldCBjIGluIGIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsYykmJmEoYltjXSxjLGIpfTtrZD1mdW5jdGlvbigpe3ZhciBhPVtdO2pkKGI9PnthLnB1c2goYil9KTtyZXR1cm4gYX07bWQ9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSxiPXt9O18udGIobGQoKSxjPT57YS5zYW5kYm94JiZhLnNhbmRib3guc3VwcG9ydHMmJmEuc2FuZGJveC5zdXBwb3J0cyhjKSYmKGJbY109ITApfSk7cmV0dXJuIGJ9O18ubmQ9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07b2Q9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgaW4gYSliLmNhbGwodm9pZCAwLGFbY10sYyxhKX07Cl8ucGQ9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9OwpfLnFkPWZ1bmN0aW9uKGEpe2lmKCFhfHx0eXBlb2YgYSE9PSJvYmplY3QiKXJldHVybiBhO2lmKHR5cGVvZiBhLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChhKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQoYSk7aWYoYSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKGEuZ2V0VGltZSgpKTt2YXIgYj1BcnJheS5pc0FycmF5KGEpP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KGEpfHxhIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO2ZvcihsZXQgYyBpbiBhKWJbY109Xy5xZChhW2NdKTtyZXR1cm4gYn07CnNkPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGM9YXJndW1lbnRzW2VdO2ZvcihkIGluIGMpYVtkXT1jW2RdO2ZvcihsZXQgZj0wO2Y8cmQubGVuZ3RoO2YrKyl7dmFyIGQ9cmRbZl07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZCkmJihhW2RdPWNbZF0pfX19O18ueGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bmV3IHVkKF8udmQoYSkpOndkfHwod2Q9bmV3IHVkKX07Xy55ZD1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLm5kKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLnpkPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKQWQ9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoZSl7ZSYmYi5hcHBlbmRDaGlsZCh0eXBlb2YgZT09PSJzdHJpbmciP2EuY3JlYXRlVGV4dE5vZGUoZSk6ZSl9Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV07IV8ueWEoZil8fF8uQWEoZikmJmYubm9kZVR5cGU+MD9kKGYpOl8udGIoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIj9fLnliKGYpOmYsZCl9fTtfLkNkPWZ1bmN0aW9uKGEpe3JldHVybiBCZChkb2N1bWVudCxhKX07QmQ9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5EZD1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5wYXJlbnROb2RlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTpudWxsfTsKXy52ZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Xy5GZD1mdW5jdGlvbihhKXtyZXR1cm4gYS50YWdOYW1lPT0iQSImJmEuaGFzQXR0cmlidXRlKCJocmVmIil8fGEudGFnTmFtZT09IklOUFVUInx8YS50YWdOYW1lPT0iVEVYVEFSRUEifHxhLnRhZ05hbWU9PSJTRUxFQ1QifHxhLnRhZ05hbWU9PSJCVVRUT04iPyFhLmRpc2FibGVkJiYoIWEuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHxFZChhKSk6YS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJkVkKGEpfTtFZD1mdW5jdGlvbihhKXthPWEudGFiSW5kZXg7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciImJmE+PTAmJmE8MzI3Njh9O3VkPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfHxfLnUuZG9jdW1lbnR8fGRvY3VtZW50fTsKR2Q9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigiQmAiK2EpO2lmKGMhPT0iaHR0cCImJmMhPT0iaHR0cHMiJiZjIT09ImNocm9tZS1leHRlbnNpb24iJiZjIT09Im1vei1leHRlbnNpb24iJiYKYyE9PSJmaWxlIiYmYyE9PSJhbmRyb2lkLWFwcCImJmMhPT0iY2hyb21lLXNlYXJjaCImJmMhPT0iY2hyb21lLXVudHJ1c3RlZCImJmMhPT0iY2hyb21lIiYmYyE9PSJhcHAiJiZjIT09ImRldnRvb2xzIil0aHJvdyBFcnJvcigiQ2AiK2MpO2E9IiI7dmFyIGQ9Yi5pbmRleE9mKCI6Iik7aWYoZCE9LTEpe3ZhciBlPWIuc3Vic3RyaW5nKGQrMSk7Yj1iLnN1YnN0cmluZygwLGQpO2lmKGM9PT0iaHR0cCImJmUhPT0iODAifHxjPT09Imh0dHBzIiYmZSE9PSI0NDMiKWE9IjoiK2V9cmV0dXJuIGMrIjovLyIrYithfTsKSGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7ZVswXT0xNzMyNTg0MTkzO2VbMV09NDAyMzIzMzQxNztlWzJdPTI1NjIzODMxMDI7ZVszXT0yNzE3MzM4Nzg7ZVs0XT0zMjg1Mzc3NTIwO249bT0wfWZ1bmN0aW9uIGIocCl7Zm9yKHZhciByPWgsdD0wO3Q8NjQ7dCs9NClyW3QvNF09cFt0XTw8MjR8cFt0KzFdPDwxNnxwW3QrMl08PDh8cFt0KzNdO2Zvcih0PTE2O3Q8ODA7dCsrKXA9clt0LTNdXnJbdC04XV5yW3QtMTRdXnJbdC0xNl0sclt0XT0ocDw8MXxwPj4+MzEpJjQyOTQ5NjcyOTU7cD1lWzBdO3ZhciB2PWVbMV0sej1lWzJdLEU9ZVszXSxBPWVbNF07Zm9yKHQ9MDt0PDgwO3QrKyl7aWYodDw0MClpZih0PDIwKXt2YXIgRj1FXnYmKHpeRSk7dmFyIEM9MTUxODUwMDI0OX1lbHNlIEY9dl56XkUsQz0xODU5Nzc1MzkzO2Vsc2UgdDw2MD8oRj12Jnp8RSYodnx6KSxDPTI0MDA5NTk3MDgpOihGPXZeel5FLEM9MzM5NTQ2OTc4Mik7Rj0oKHA8PDV8cD4+PjI3KSY0Mjk0OTY3Mjk1KStGKwpBK0Mrclt0XSY0Mjk0OTY3Mjk1O0E9RTtFPXo7ej0odjw8MzB8dj4+PjIpJjQyOTQ5NjcyOTU7dj1wO3A9Rn1lWzBdPWVbMF0rcCY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt2JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK3omNDI5NDk2NzI5NTtlWzNdPWVbM10rRSY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStBJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhwLHIpe2lmKHR5cGVvZiBwPT09InN0cmluZyIpe3A9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHApKTtmb3IodmFyIHQ9W10sdj0wLHo9cC5sZW5ndGg7djx6Oysrdil0LnB1c2gocC5jaGFyQ29kZUF0KHYpKTtwPXR9cnx8KHI9cC5sZW5ndGgpO3Q9MDtpZihtPT0wKWZvcig7dCs2NDxyOyliKHAuc2xpY2UodCx0KzY0KSksdCs9NjQsbis9NjQ7Zm9yKDt0PHI7KWlmKGZbbSsrXT1wW3QrK10sbisrLG09PTY0KWZvcihtPTAsYihmKTt0KzY0PHI7KWIocC5zbGljZSh0LHQrNjQpKSx0Kz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHA9W10scj0Kbio4O208NTY/YyhrLDU2LW0pOmMoayw2NC0obS01NikpO2Zvcih2YXIgdD02Mzt0Pj01Njt0LS0pZlt0XT1yJjI1NSxyPj4+PTg7YihmKTtmb3IodD1yPTA7dDw1O3QrKylmb3IodmFyIHY9MjQ7dj49MDt2LT04KXBbcisrXT1lW3RdPj52JjI1NTtyZXR1cm4gcH1mb3IodmFyIGU9W10sZj1bXSxoPVtdLGs9WzEyOF0sbD0xO2w8NjQ7KytsKWtbbF09MDt2YXIgbSxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxrdjpmdW5jdGlvbigpe2Zvcih2YXIgcD1kKCkscj0iIix0PTA7dDxwLmxlbmd0aDt0Kyspcis9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHBbdF0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHBbdF0lMTYpO3JldHVybiByfX19O0pkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TdHJpbmcoXy51LmxvY2F0aW9uLmhyZWYpO3JldHVybiBkJiZhJiZiP1tiLElkKEdkKGQpLGEsY3x8bnVsbCldLmpvaW4oIiAiKTpudWxsfTsKSWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnRiKGQsZnVuY3Rpb24oayl7ZS5wdXNoKGspfSksS2QoZS5qb2luKCIgIikpO3ZhciBmPVtdLGg9W107Xy50YihjLGZ1bmN0aW9uKGspe2gucHVzaChrLmtleSk7Zi5wdXNoKGsudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy50YihkLGZ1bmN0aW9uKGspe2UucHVzaChrKX0pO2E9S2QoZS5qb2luKCIgIikpO2E9W2MsYV07aC5sZW5ndGg9PTB8fGEucHVzaChoLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9O0tkPWZ1bmN0aW9uKGEpe3ZhciBiPUhkKCk7Yi51cGRhdGUoYSk7cmV0dXJuIGIua3YoKS50b0xvd2VyQ2FzZSgpfTtMZD1mdW5jdGlvbihhKXt0aGlzLmo9YXx8e2Nvb2tpZToiIn19OwpNZD1mdW5jdGlvbihhKXthPShhLmouY29va2llfHwiIikuc3BsaXQoIjsiKTt2YXIgYj1bXSxjPVtdO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZD1hW2ZdLnRyaW0oKTt2YXIgZT1kLmluZGV4T2YoIj0iKTtlPT0tMT8oYi5wdXNoKCIiKSxjLnB1c2goZCkpOihiLnB1c2goZC5zdWJzdHJpbmcoMCxlKSksYy5wdXNoKGQuc3Vic3RyaW5nKGUrMSkpKX1yZXR1cm57a2V5czpiLHZhbHVlczpjfX07Xy5OZD1mdW5jdGlvbigpe3ZhciBhPV8udS5fX1NBUElTSUR8fF8udS5fX0FQSVNJRHx8Xy51Ll9fM1BTQVBJU0lEfHxfLnUuX18xUFNBUElTSUR8fF8udS5fX09WRVJSSURFX1NJRDtpZihhKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoYT1uZXcgTGQoZG9jdW1lbnQpLGE9YS5nZXQoIlNBUElTSUQiKXx8YS5nZXQoIkFQSVNJRCIpfHxhLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8YS5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhYX07Ck9kPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8udVthXSl8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoYT0obmV3IExkKGRvY3VtZW50KSkuZ2V0KGIpKTtyZXR1cm4gYT9KZChhLGMsZCk6bnVsbH07Cl8uUGQ9ZnVuY3Rpb24oYSl7dmFyIGI9R2QoXy51Py5sb2NhdGlvbi5ocmVmKSxjPVtdO2lmKF8uTmQoKSl7Yj1iLmluZGV4T2YoImh0dHBzOiIpPT0wfHxiLmluZGV4T2YoImNocm9tZS1leHRlbnNpb246Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLXVudHJ1c3RlZDovL25ldy10YWItcGFnZSIpPT0wfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTA7dmFyIGQsZT0oZD1iKT9fLnUuX19TQVBJU0lEOl8udS5fX0FQSVNJRDtlfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KGU9bmV3IExkKGRvY3VtZW50KSxlPWUuZ2V0KGQ/IlNBUElTSUQiOiJBUElTSUQiKXx8ZS5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhkPWU/SmQoZSxkPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLGEpOm51bGwpJiZjLnB1c2goZCk7YiYmKChiPU9kKCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsYSkpJiZjLnB1c2goYiksKGE9T2QoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpfXJldHVybiBjLmxlbmd0aD09MD9udWxsOmMuam9pbigiICIpfTtTZD1mdW5jdGlvbihhKXtfLlFkP2EoXy5RZCk6KFJkPz8oUmQ9W10pKS5wdXNoKGEpfTtfLlZkPWZ1bmN0aW9uKCl7IV8uUWQmJl8uVGQmJl8uVWQoXy5UZCgpKTtyZXR1cm4gXy5RZH07Xy5VZD1mdW5jdGlvbihhKXtfLlFkPWE7UmQ/LmZvckVhY2goU2QpO1JkPXZvaWQgMH07Xy5XZD1mdW5jdGlvbihhKXtfLlFkJiZfLlFkLlJvKGEpfTtfLlhkPWZ1bmN0aW9uKCl7Xy5RZCYmXy5RZC55ZSgpfTsKWWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxfLnhkKCk7Yj1jLmo7dmFyIGQ9Yy5jcmVhdGVFbGVtZW50KCJTVFlMRSIpLGU9aGIoInN0eWxlIixiKTtlJiZkLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpO2QudHlwZT0idGV4dC9jc3MiO2M9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdO2Quc3R5bGVTaGVldD9kLnN0eWxlU2hlZXQuY3NzVGV4dD1hOmQuYXBwZW5kQ2hpbGQoYi5jcmVhdGVUZXh0Tm9kZShhKSk7Yy5hcHBlbmRDaGlsZChkKTtyZXR1cm4gZH07Xy5aZD1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07Xy4kZD1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWFyZ3VtZW50cy5sZW5ndGg7YjxjOysrYil7bGV0IGQ9YXJndW1lbnRzW2JdO18ueWEoZCk/Xy4kZC5hcHBseShudWxsLGQpOl8uWmQoZCl9fTtfLmFlPWZ1bmN0aW9uKCl7dGhpcy5ZPXRoaXMuWTt0aGlzLks9dGhpcy5LfTtiZT1mdW5jdGlvbigpe18uYWUuY2FsbCh0aGlzKX07CmNlPWZ1bmN0aW9uKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9O2VlPWZ1bmN0aW9uKGEsYil7Xy5hZS5jYWxsKHRoaXMpO3RoaXMuaj1hO3RoaXMuRD1iO3RoaXMuQj1kZT9udWxsOltdO3RoaXMudj1kZT9udWxsOltdO3RoaXMubz1kZT9udWxsOltdO3RoaXMuST0hMX07ZmU9ZnVuY3Rpb24oYSxiKXthLm98fChhLm89W10pO2Euby5wdXNoKG5ldyB2YS53ayhiLHZvaWQgMCkpfTtnZT1mdW5jdGlvbihhLGIsYyl7YS5CfHwoYS5CPVtdKTthLkIucHVzaChuZXcgdmEud2soYixjKSl9O2hlPWZ1bmN0aW9uKGEsYil7YS52fHwoYS52PVtdKTthLnYucHVzaChuZXcgdmEud2soYix2b2lkIDApKX07aWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl0cnl7YVtkXS5leGVjdXRlKGIpfWNhdGNoKGUpe18uJGIoZSksYy5wdXNoKGUpfWEubGVuZ3RoPTA7cmV0dXJuIGMubGVuZ3RoP2M6bnVsbH07amU9ZnVuY3Rpb24oKXt0aGlzLlk9bnVsbH07CmtlPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LGM9Yi5zdHlsZVNoZWV0cy5sZW5ndGgsZD1ZZChhLG5ldyB1ZChiKSk7ZC5zZXRBdHRyaWJ1dGUoImRhdGEtbGF0ZS1jc3MiLCIiKTtiLnN0eWxlU2hlZXRzLmxlbmd0aD09YysxJiZfLnZiKGIuc3R5bGVTaGVldHMsZT0+KGUub3duZXJOb2RlfHxlLm93bmluZ0VsZW1lbnQpPT1kKX07cWU9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz1sZShhKSxkPW5ldyBtZSxlPV8uTWIoYylbNV07b2QobmUsZnVuY3Rpb24oaCl7dmFyIGs9ZS5tYXRjaCgiLyIraCsiPShbXi9dKykiKTtrJiZvZShkLGgsa1sxXSl9KTt2YXIgZj0iIjtmPWEuaW5kZXhPZigiXy9zcy8iKSE9LTE/Il8vc3MvIjoiXy9qcy8iO3BlKGQsYS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpKTtpZighYilyZXR1cm4gZDsoYT1fLk1iKGMpWzZdfHxudWxsKSYmXy5SYihhLChoLGspPT57ZC52W2hdPWt9KTtyZXR1cm4gZH07CmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN0YXJ0c1dpdGgoImh0dHBzOi8vdWJlcnByb3h5LXBlbi1yZWRpcmVjdC5jb3JwLmdvb2dsZS5jb20vdWJlcnByb3h5L3Blbj91cmw9Iik/YS5zdWJzdHIoNjUpOmF9O3JlPWZ1bmN0aW9uKGEpe2E9Xy5RYihsZShhKSk7cmV0dXJuIGE9PT1udWxsPyExOlJlZ0V4cCgiKC9fL2pzLyl8KC9fL3NzLykiLCJnIikudGVzdChhKT8vXC9rPS8udGVzdChhKTohMX07b2U9ZnVuY3Rpb24oYSxiLGMpe2M/YS5qW2JdPWM6ZGVsZXRlIGEualtiXX07cGU9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnZlPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9ZD0+e2EualtkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EualtkXSl9O3NlKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5qfHxvZShhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuai5leGNtfHxhLmouZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksdGUoYSwiYnIiKSE9IjEiJiZ0ZShhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLHRlKGEsInJiIik9PSIxIiYmYygicmIiKSx0ZShhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLHVlKGEpIT09IiImJmMoInd0IiksYygiZ3NzbW9kdWxlc2V0cHJvdG8iKSxjKCJ1amciKSxjKCJzcCIpLGMoImljaGMiKSwKYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9O3RlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEualtiXT9hLmpbYl06bnVsbH07c2U9ZnVuY3Rpb24oYSl7YT10ZShhLCJtZCIpO3JldHVybiEhYSYmYSE9PSIwIn07dWU9ZnVuY3Rpb24oYSl7c3dpdGNoKHRlKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fTt3ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4bSIsYi5qb2luKCIsIikpKTpvZShhLCJleG0iLG51bGwpfTt4ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4Y20iLGIuam9pbigiLCIpKSk6b2UoYSwiZXhjbSIsbnVsbCl9Owp5ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10ZShhLCJtIikpP2Euc3BsaXQoIiwiKTpbXX07emU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iIGluc3RhbmNlb2YgTWFwP0FycmF5LmZyb20oYi5lbnRyaWVzKCkpLmZpbHRlcigoWyxkXSk9PmQmJmQuc2l6ZT4wKS5tYXAoKFtkLGVdKT0+e2U9QXJyYXkuZnJvbShlKTtlLmxlbmd0aD4xJiZlLnNvcnQoKTtyZXR1cm4gZCsiOiIrZS5qb2luKCIsIil9KTpPYmplY3Qua2V5cyhiKS5maWx0ZXIoZD0+ISFPYmplY3Qua2V5cyhiW2RdKS5sZW5ndGgpLm1hcChkPT57dmFyIGU9T2JqZWN0LmtleXMoYltkXSk7ZS5sZW5ndGg+MSYmZS5zb3J0KCk7cmV0dXJuIGQrIjoiK2Uuam9pbigiLCIpfSk7Yy5zb3J0KCk7b2UoYSwiZWUiLGMuam9pbigiOyIpKX07CkNlPWZ1bmN0aW9uKGEpe2E9dGUoYSwiZWUiKTtpZihBZSl7aWYoIWEpcmV0dXJuIG5ldyBNYXA7dmFyIGI9bmV3IE1hcCxjPWEuc3BsaXQoIjsiKTtmb3IodmFyIGQgb2YgYyl7bGV0IFtmLGhdPWQuc3BsaXQoIjoiKTtjPW5ldyBTZXQ7Yi5zZXQoZixjKTtmb3IodmFyIGUgb2YgaC5zcGxpdCgiLCIpKWMuYWRkKGUpfXJldHVybiBifWlmKCFhKXJldHVybnt9O2Q9e307ZT1hLnNwbGl0KCI7Iik7Zm9yKGIgb2YgZSl7bGV0IFtmLGhdPWIuc3BsaXQoIjoiKTtkW2ZdPXt9O2ZvcihjIG9mIGguc3BsaXQoIiwiKSlkW2ZdW2NdPSEwfXJldHVybiBkfTtEZT1mdW5jdGlvbihhKXtkZWxldGUgYS5qLm07ZGVsZXRlIGEuai5leG07ZGVsZXRlIGEuai5lZH07CkVlPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiZkb2N1bWVudCYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQmJihhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKSl7bGV0IGI9YS50YWdOYW1lLnRvVXBwZXJDYXNlKCk7aWYoYj09IlNDUklQVCJ8fGI9PSJMSU5LIilyZXR1cm4gYX1yZXR1cm4gbnVsbH07RmU9ZnVuY3Rpb24oYT0iIixiKXtpZihhJiZiKXRocm93IEVycm9yKCJMIik7dmFyIGM9IiI7dmFyIGQ9Xy51Ll9GX2pzVXJsOyhhPWJ8fEVlKGEpKSYmKGM9YS5zcmM/YS5zcmM6YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYoZCYmYyl7aWYoZCE9Yyl0aHJvdyBFcnJvcigiTWAiK2QrImAiK2MpO2M9ZH1lbHNlIGM9ZHx8YztpZighcmUoYykpdGhyb3cgRXJyb3IoIk4iKTtyZXR1cm4gY307CkhlPWZ1bmN0aW9uKCl7aWYoIUdlKXtHZT0hMDt0cnl7dmFyIGE9RmUoXy51Ll9GX2pzVXJsPyIiOiJiYXNlLWpzIil9Y2F0Y2goYyl7cmV0dXJufXZhciBiPUNlKHFlKGEpKTtpZihiIGluc3RhbmNlb2YgTWFwKWIuc2l6ZSE9PTAmJlNkKGM9Pntmb3IobGV0IFtkLGVdb2YgYi5lbnRyaWVzKCkpe2xldCBmPWQsaD1lO2ZvcihsZXQgayBvZiBoKWMubmkoZixrKX19KTtlbHNle2xldCBjPU9iamVjdC5rZXlzKGIpO2MubGVuZ3RoIT09MCYmU2QoZD0+e2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1iW2VdO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhmKSlkLm5pKGUsaCl9fSl9fX07Xy5KZT1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT0iZnVuY3Rpb24iPT10eXBlb2YgXy5JZSYmYSBpbnN0YW5jZW9mIF8uSWU/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMubz0hMX07CktlPWZ1bmN0aW9uKGEsYil7Xy5KZS5jYWxsKHRoaXMsYT9hLnR5cGU6IiIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLmo9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX07Ck1lPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5saXN0ZW5lcj1hO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1iO3RoaXMudHlwZT1jO3RoaXMuY2FwdHVyZT0hIWQ7dGhpcy5oYW5kbGVyPWU7dGhpcy5rZXk9KytMZTt0aGlzLk5oPXRoaXMuemk9ITF9O05lPWZ1bmN0aW9uKGEpe2EuTmg9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuaGFuZGxlcj1udWxsfTtPZT1mdW5jdGlvbihhKXt0aGlzLnNyYz1hO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuaj0wfTtQZT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudHlwZTtjIGluIGEubGlzdGVuZXJzJiZfLnhiKGEubGlzdGVuZXJzW2NdLGIpJiYoTmUoYiksYS5saXN0ZW5lcnNbY10ubGVuZ3RoPT0wJiYoZGVsZXRlIGEubGlzdGVuZXJzW2NdLGEuai0tKSl9OwpRZT1mdW5jdGlvbihhLGIsYyxkKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoOysrZSl7bGV0IGY9YVtlXTtpZighZi5OaCYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuaGFuZGxlcj09ZClyZXR1cm4gZX1yZXR1cm4tMX07Xy5TZT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gUmUoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylfLlNlKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1UZShjKTtyZXR1cm4gYSYmYVtVZV0/YS5saXN0ZW4oYixjLF8uQWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlZlKGEsYixjLCExLGQsZSl9OwpWZT1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoIk8iKTt2YXIgaD1fLkFhKGUpPyEhZS5jYXB0dXJlOiEhZSxrPVdlKGEpO2t8fChhW1hlXT1rPW5ldyBPZShhKSk7Yz1rLmFkZChiLGMsZCxoLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1ZZSgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpZT09PXZvaWQgMCYmKGU9ITEpLGEuYWRkRXZlbnRMaXN0ZW5lcihiLnRvU3RyaW5nKCksZCxlKTtlbHNlIGlmKGEuYXR0YWNoRXZlbnQpYS5hdHRhY2hFdmVudChaZShiLnRvU3RyaW5nKCkpLGQpO2Vsc2UgaWYoYS5hZGRMaXN0ZW5lciYmYS5yZW1vdmVMaXN0ZW5lcilhLmFkZExpc3RlbmVyKGQpO2Vsc2UgdGhyb3cgRXJyb3IoIlAiKTskZSsrO3JldHVybiBjfTtZZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYyl7cmV0dXJuIGIuY2FsbChhLnNyYyxhLmxpc3RlbmVyLGMpfXZhciBiPWFmO3JldHVybiBhfTsKUmU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylSZShhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9VGUoYyk7cmV0dXJuIGEmJmFbVWVdP18uYmYoYSxiLGMsXy5BYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6VmUoYSxiLGMsITAsZCxlKX07Xy5jZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy5jZihhLGJbZl0sYyxkLGUpO2Vsc2UoZD1fLkFhKGQpPyEhZC5jYXB0dXJlOiEhZCxjPVRlKGMpLGEmJmFbVWVdKT9hLm8ucmVtb3ZlKFN0cmluZyhiKSxjLGQsZSk6YSYmKGE9V2UoYSkpJiYoYj1hLmxpc3RlbmVyc1tiLnRvU3RyaW5nKCldLGE9LTEsYiYmKGE9UWUoYixjLGQsZSkpLChjPWE+LTE/YlthXTpudWxsKSYmXy5kZihjKSl9OwpfLmRmPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLk5oKXt2YXIgYj1hLnNyYztpZihiJiZiW1VlXSlQZShiLm8sYSk7ZWxzZXt2YXIgYz1hLnR5cGUsZD1hLnByb3h5O2IucmVtb3ZlRXZlbnRMaXN0ZW5lcj9iLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyxkLGEuY2FwdHVyZSk6Yi5kZXRhY2hFdmVudD9iLmRldGFjaEV2ZW50KFplKGMpLGQpOmIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXIoZCk7JGUtLTsoYz1XZShiKSk/KFBlKGMsYSksYy5qPT0wJiYoYy5zcmM9bnVsbCxiW1hlXT1udWxsKSk6TmUoYSl9fX07WmU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW4gZWY/ZWZbYV06ZWZbYV09Im9uIithfTthZj1mdW5jdGlvbihhLGIpe2lmKGEuTmgpYT0hMDtlbHNle2I9bmV3IEtlKGIsdGhpcyk7bGV0IGM9YS5saXN0ZW5lcixkPWEuaGFuZGxlcnx8YS5zcmM7YS56aSYmXy5kZihhKTthPWMuY2FsbChkLGIpfXJldHVybiBhfTsKV2U9ZnVuY3Rpb24oYSl7YT1hW1hlXTtyZXR1cm4gYSBpbnN0YW5jZW9mIE9lP2E6bnVsbH07VGU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbZmZdfHwoYVtmZl09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtmZl19O18uZ2Y9ZnVuY3Rpb24oKXtfLmFlLmNhbGwodGhpcyk7dGhpcy5vPW5ldyBPZSh0aGlzKTt0aGlzLkZhPXRoaXM7dGhpcy5NPW51bGx9O18uYmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYS5vLmFkZChTdHJpbmcoYiksYywhMCxkLGUpfTsKaGY9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLm8ubGlzdGVuZXJzW1N0cmluZyhiKV07aWYoIWIpcmV0dXJuITA7Yj1iLmNvbmNhdCgpO3ZhciBlPSEwO2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7KytmKXtsZXQgaD1iW2ZdO2lmKGgmJiFoLk5oJiZoLmNhcHR1cmU9PWMpe2xldCBrPWgubGlzdGVuZXIsbD1oLmhhbmRsZXJ8fGguc3JjO2guemkmJlBlKGEubyxoKTtlPWsuY2FsbChsLGQpIT09ITEmJmV9fXJldHVybiBlJiYhZC5kZWZhdWx0UHJldmVudGVkfTtsZj1mdW5jdGlvbigpe3ZhciBhPV8uamY7a2YuaW5zdGFuY2V8fChrZi5pbnN0YW5jZT1uZXcga2YoYSkpO3JldHVybiBrZi5pbnN0YW5jZX07Cm1mPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQj9hLkI6YS5CPW5ldyBQcm9taXNlKGFzeW5jIGM9Pnt2YXIgZD13aW5kb3cuQWJvcnRDb250cm9sbGVyP25ldyB3aW5kb3cuQWJvcnRDb250cm9sbGVyOnZvaWQgMCxlPWQ/LnNpZ25hbCxmPSExO3RyeXtkJiYoYS5qPWEuRGMucGIoKCk9PntkLmFib3J0KCl9LGJ8fDJFNCkpLGF3YWl0IGZldGNoKCIvZ2VuZXJhdGVfMjA0Iix7bWV0aG9kOiJIRUFEIixzaWduYWw6ZX0pLGY9ITB9Y2F0Y2h7Zj0hMX1maW5hbGx5e2EuQj12b2lkIDAsYS5qJiYoYS5EYy5BYShhLmopLGEuaj0wKSxmIT09YS5pc09ubGluZSYmKGEuaXNPbmxpbmU9ZixhLmlzT25saW5lP2EuZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTphLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxjKGYpfX0pfTsKbmY9ZnVuY3Rpb24oYSl7YS5EPWEuRGMucGIoYXN5bmMoKT0+e2EuaXNPbmxpbmU/d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHxhd2FpdCBtZihhKTphd2FpdCBtZihhKTtuZihhKX0sM0U0KX07b2Y9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKChjLGQpPT57YT1jO2I9ZH0pLHJlc29sdmU6YSxyZWplY3Q6Yn19O3JmPWZ1bmN0aW9uKGEpe3ZhciB7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH09b2YoKTtwZi5zZXQoYSx7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH0pO3FmfHwocWY9W10scXVldWVNaWNyb3Rhc2soKCk9Pnt2YXIgZT1bLi4ucWZdO3FmPW51bGw7dmFyIGY9Xy5WZCgpLmFmKGUpO2ZvcihsZXQgaCBvZiBlKWZbaF0udGhlbihwZi5nZXQoaCkucmVzb2x2ZSxwZi5nZXQoaCkucmVqZWN0KX0pKTtxZi5wdXNoKGEpO3JldHVybiBifTsKXy5zZj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTt0Zj1mdW5jdGlvbihhLGIpe2EuQihiKTthLm88MTAwJiYoYS5vKyssYi5uZXh0PWEuaixhLmo9Yil9O3hmPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9dWYucmVtb3ZlKCk7KXt0cnl7YS5mbi5jYWxsKGEuc2NvcGUpfWNhdGNoKGIpe18uJGIoYil9dGYodmYsYSl9d2Y9ITF9O18ueWY9ZnVuY3Rpb24oYSl7YS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITB9O3pmPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3RyeXtyZXR1cm4hIWEuJGdvb2dfVGhlbmFibGV9Y2F0Y2goYil7cmV0dXJuITF9fTsKXy5CZj1mdW5jdGlvbihhLGIpe3RoaXMuaj0wO3RoaXMuST12b2lkIDA7dGhpcy5CPXRoaXMubz10aGlzLnY9bnVsbDt0aGlzLkQ9dGhpcy5LPSExO2lmKGEhPV8uZ2QpdHJ5e2xldCBjPXRoaXM7YS5jYWxsKGIsZnVuY3Rpb24oZCl7Xy5BZihjLDIsZCl9LGZ1bmN0aW9uKGQpe18uQWYoYywzLGQpfSl9Y2F0Y2goYyl7Xy5BZih0aGlzLDMsYyl9fTtDZj1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5qPXRoaXMubz10aGlzLmNoaWxkPW51bGw7dGhpcy52PSExfTtfLkVmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1EZi5nZXQoKTtkLm89YTtkLmo9YjtkLmNvbnRleHQ9YztyZXR1cm4gZH07Xy5IZj1mdW5jdGlvbihhLGIsYyl7RmYoYSxiLGMsbnVsbCl8fEdmKF8uRGEoYixhKSl9OwpfLklmPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe3ZhciBkPWEubGVuZ3RoLGU9W107aWYoZCl7dmFyIGY9ZnVuY3Rpb24obCxtKXtkLS07ZVtsXT1tO2Q9PTAmJmIoZSl9LGg9ZnVuY3Rpb24obCl7YyhsKX07Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBrPWFbbF07Xy5IZihrLF8uRGEoZixsKSxoKX19ZWxzZSBiKGUpfSl9O0tmPWZ1bmN0aW9uKGEsYixjLGQpe18uSmYoYSxfLkVmKGJ8fF8uZ2QsY3x8bnVsbCxkKSl9OwpMZj1mdW5jdGlvbihhLGIpe2lmKGEuaj09MClpZihhLnYpe3ZhciBjPWEudjtpZihjLm8pe3ZhciBkPTAsZT1udWxsLGY9bnVsbDtmb3IobGV0IGg9Yy5vO2gmJihoLnZ8fChkKyssaC5jaGlsZD09YSYmKGU9aCksIShlJiZkPjEpKSk7aD1oLm5leHQpZXx8KGY9aCk7ZSYmKGMuaj09MCYmZD09MT9MZihjLGIpOihmPyhkPWYsZC5uZXh0PT1jLkImJihjLkI9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTpNZihjKSxOZihjLGUsMyxiKSkpfWEudj1udWxsfWVsc2UgXy5BZihhLDMsYil9O18uSmY9ZnVuY3Rpb24oYSxiKXthLm98fGEuaiE9MiYmYS5qIT0zfHxPZihhKTthLkI/YS5CLm5leHQ9YjphLm89YjthLkI9Yn07ClFmPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8uRWYobnVsbCxudWxsLG51bGwpO2UuY2hpbGQ9bmV3IF8uQmYoZnVuY3Rpb24oZixoKXtlLm89Yj9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yi5jYWxsKGQsayk7ZihsKX1jYXRjaChsKXtoKGwpfX06ZjtlLmo9Yz9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yy5jYWxsKGQsayk7bD09PXZvaWQgMCYmayBpbnN0YW5jZW9mIF8uUGY/aChrKTpmKGwpfWNhdGNoKGwpe2gobCl9fTpofSk7ZS5jaGlsZC52PWE7Xy5KZihhLGUpO3JldHVybiBlLmNoaWxkfTtfLkFmPWZ1bmN0aW9uKGEsYixjKXthLmo9PTAmJihhPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoIlEiKSksYS5qPTEsRmYoYyxhLm5CLGEub0IsYSl8fChhLkk9YyxhLmo9YixhLnY9bnVsbCxPZihhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy5QZnx8UmYoYSxjKSkpfTsKRmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSBpbnN0YW5jZW9mIF8uQmYpcmV0dXJuIEtmKGEsYixjLGQpLCEwO2lmKHpmKGEpKXJldHVybiBhLnRoZW4oYixjLGQpLCEwO2lmKF8uQWEoYSkpdHJ5e2xldCBlPWEudGhlbjtpZih0eXBlb2YgZT09PSJmdW5jdGlvbiIpcmV0dXJuIFNmKGEsZSxiLGMsZCksITB9Y2F0Y2goZSl7cmV0dXJuIGMuY2FsbChkLGUpLCEwfXJldHVybiExfTtTZj1mdW5jdGlvbihhLGIsYyxkLGUpe2Z1bmN0aW9uIGYobCl7a3x8KGs9ITAsZC5jYWxsKGUsbCkpfWZ1bmN0aW9uIGgobCl7a3x8KGs9ITAsYy5jYWxsKGUsbCkpfXZhciBrPSExO3RyeXtiLmNhbGwoYSxoLGYpfWNhdGNoKGwpe2YobCl9fTtPZj1mdW5jdGlvbihhKXthLkt8fChhLks9ITAsR2YoYS50dCxhKSl9O01mPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5vJiYoYj1hLm8sYS5vPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5vfHwoYS5CPW51bGwpO3JldHVybiBifTsKTmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09MyYmYi5qJiYhYi52KWZvcig7YSYmYS5EO2E9YS52KWEuRD0hMTtpZihiLmNoaWxkKWIuY2hpbGQudj1udWxsLFRmKGIsYyxkKTtlbHNlIHRyeXtiLnY/Yi5vLmNhbGwoYi5jb250ZXh0KTpUZihiLGMsZCl9Y2F0Y2goZSl7Xy5VZi5jYWxsKG51bGwsZSl9dGYoRGYsYil9O1RmPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Euby5jYWxsKGEuY29udGV4dCxjKTphLmomJmEuai5jYWxsKGEuY29udGV4dCxjKX07UmY9ZnVuY3Rpb24oYSxiKXthLkQ9ITA7R2YoZnVuY3Rpb24oKXthLkQmJl8uVWYuY2FsbChudWxsLGIpfSl9O18uUGY9ZnVuY3Rpb24oYSl7Xy5MYS5jYWxsKHRoaXMsYSl9O1dmPWZ1bmN0aW9uKGEpe3JldHVybiBWZihhKS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBKU09OLnBhcnNlKGIucmVzcG9uc2VUZXh0KX0pfTsKVmY9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuKG5ldyBfLkJmKGZ1bmN0aW9uKGQsZSl7dmFyIGY7dHJ5e2Mub3BlbigiR0VUIixhLCEwKX1jYXRjaChoKXtlKG5ldyBYZigiRXJyb3Igb3BlbmluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfWMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoYy5yZWFkeVN0YXRlPT00KXtfLnUuY2xlYXJUaW1lb3V0KGYpO3ZhciBoOyEoaD1fLnNmKGMuc3RhdHVzKSkmJihoPWMuc3RhdHVzPT09MCkmJihoPV8uT2IoYSksaD0hKGg9PSJodHRwInx8aD09Imh0dHBzInx8aD09IiIpKTtoP2QoYyk6ZShuZXcgWWYoYy5zdGF0dXMsYSxjKSl9fTtjLm9uZXJyb3I9ZnVuY3Rpb24oKXtlKG5ldyBYZigiTmV0d29yayBlcnJvciIsYSxjKSl9O2lmKGIuaGVhZGVycylmb3IobGV0IGggaW4gYi5oZWFkZXJzKXtsZXQgaz1iLmhlYWRlcnNbaF07ayE9bnVsbCYmYy5zZXRSZXF1ZXN0SGVhZGVyKGgsayl9Yi53aXRoQ3JlZGVudGlhbHMmJgooYy53aXRoQ3JlZGVudGlhbHM9Yi53aXRoQ3JlZGVudGlhbHMpO2IucmVzcG9uc2VUeXBlJiYoYy5yZXNwb25zZVR5cGU9Yi5yZXNwb25zZVR5cGUpO2IubWltZVR5cGUmJmMub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKTtiLnRpbWVvdXRNcz4wJiYoZj1fLnUuc2V0VGltZW91dChmdW5jdGlvbigpe2Mub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57fTtjLmFib3J0KCk7ZShuZXcgWmYoYSxjKSl9LGIudGltZW91dE1zKSk7dHJ5e2Muc2VuZChudWxsKX1jYXRjaChoKXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e30sXy51LmNsZWFyVGltZW91dChmKSxlKG5ldyBYZigiRXJyb3Igc2VuZGluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfX0pKS5LZyhmdW5jdGlvbihkKXtkIGluc3RhbmNlb2YgXy5QZiYmYy5hYm9ydCgpO3Rocm93IGQ7fSl9O1hmPWZ1bmN0aW9uKGEsYil7Xy5MYS5jYWxsKHRoaXMsYSsiLCB1cmw9IitiKTt0aGlzLnVybD1ifTsKWWY9ZnVuY3Rpb24oYSxiLGMpe1hmLmNhbGwodGhpcywiUmVxdWVzdCBGYWlsZWQsIHN0YXR1cz0iK2EsYixjKTt0aGlzLnN0YXR1cz1hfTtaZj1mdW5jdGlvbihhLGIpe1hmLmNhbGwodGhpcywiUmVxdWVzdCB0aW1lZCBvdXQiLGEsYil9O18uJGY9ZnVuY3Rpb24oYSxiLGMsZCxlPWIpe3ZhciBmPWIubGVuZ3RoLGg9KCk9PntmPTA7YS5vbmxvYWQ9bnVsbDthLm9uZXJyb3I9bnVsbDtrPSgpPT57fX0saz0oKT0+e2goKTt2YXIgbT1lLmZpbHRlcihuPT4hXy5WZCgpLkxhKG4pLmlzTG9hZGVkKCkpO20ubGVuZ3RoIT09MD9kKG0sYFJlc3BvbnNlIHdhcyBzdWNjZXNzZnVsIGJ1dCB3YXMgbWlzc2luZyBtb2R1bGUocykgJHttfS5gKTpjKCl9LGw9KCk9PntmLS07Zj09MCYmaygpfTtiLmZvckVhY2gobT0+e209Xy5WZCgpLkxhKG0pO20uaXNMb2FkZWQoKT9sKCk6KGZlKG0sbCksaGUobSxsKSl9KTthLm9ubG9hZD0oKT0+aygpO2Eub25lcnJvcj0oKT0+e2goKTtkKGIpfX07Cl8uYWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMSxkPVtdO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7KytlKXtsZXQgZj1iW2VdO2EuQltmXXx8KGEuQltmXT0hMCxhLloucHVzaChmKSxjPSEwLGQucHVzaChmKSl9YyYmKGEub2E9ITEpfTtiZz1mdW5jdGlvbihhLGIpe2lmKGIuaHJlZnx8Yi5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKWlmKGI9Yi5ocmVmfHxiLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIikscmUoYikmJiFxZShiKS5vLmVuZHNXaXRoKCJfL2pzLyIpKXtiPXllKHFlKGIpKTtmb3IobGV0IGMgb2YgYilhLmhhLmluY2x1ZGVzKGMpfHxhLmhhLnB1c2goYyl9fTtkZz1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPSgpPT57fSxmPSExKXtjZyhhLGIsKGgsayxsPWspPT57YS5NYSYmZj9hLlFhKGgsayxkLGUsbCk6YS5sb2FkKGgsayxkLGUsbCxjKX0sYyl8fGQoLTEpfTtlZz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmZpbHRlcihjPT4hYS5CW2NdKX07CmZnPWZ1bmN0aW9uKGEsYixjLHtZZDpkLG9uRXJyb3I6ZSxvblN1Y2Nlc3M6Zixmb3JjZVJlbG9hZDpofT17fSl7YS5NPWM7aWYoIWIpdGhyb3cgRXJyb3IoIlMiKTtpZihhLlZkKXtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIikpYmcoYSxrKTtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSliZyhhLGspfWRnKGEsZWcoYSxiKSxkLGUsZixoKX07CmNnPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEudilyZXR1cm4gYS52LnRoZW4oKCk9PntjZyhhLGIsYyxkKX0pLCEwO2lmKCFhLkQpe2xldCBmPVtdO3ZhciBlPU9iamVjdC5hc3NpZ24oe30sYS5CKTtnZyhhLGIsaD0+e2YucHVzaChoLmdldElkKCkpfSxkLGg9PiFoLmlzTG9hZGVkKCksZSk7Yj1mfWZvcihlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWIubGVuZ3RoLWUsaD1lPT0wP2I6Yi5zbGljZShlLGIubGVuZ3RoKSxrPWhnKGEsaCxkKSxsPV8uVWEoaykudG9TdHJpbmcoKTtmb3IoO2wubGVuZ3RoPmEuZGk7KWlmKGY+MSlmLT1NYXRoLmNlaWwoKGwubGVuZ3RoLWEuZGkpLzYpLGY9TWF0aC5tYXgoZiwxKSxoPWIuc2xpY2UoZSxlK2YpLGs9aGcoYSxoLGQpLGw9Xy5VYShrKS50b1N0cmluZygpO2Vsc2UgcmV0dXJuIGEuRD8oYS5EPSExLGEudj1pZyhhKS50aGVuKG09PntqZyhhLG0sZCl9KSxjZyhhLGIuc2xpY2UoZSksYyxkKSk6ITE7ZSs9ZjthLkQ/YyhrLGgpOmMoayxoLGU9PT1iLmxlbmd0aD8KYjpbXSl9cmV0dXJuITB9O2tnPWZ1bmN0aW9uKGEpe2Eub2F8fChhLm9hPSEwLGEuWi5zb3J0KCkpO3JldHVybiBhLlp9O2xnPWZ1bmN0aW9uKGEpe2E9YS5oYTthLnNvcnQoKTtyZXR1cm4gYX07aGc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLkQ/bWcoYS5ZLGIse2Nzc1Jvd0tleTphLkZhLEtlOmEueWEsWWQ6YyxtbjprZyhhKSxsbjpsZyhhKX0pOm5nKGEuWSxiLHtjc3NSb3dLZXk6YS5GYSxLZTphLnlhLG1uOmtnKGEpLGxuOmxnKGEpfSl9O18ub2c9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoOysrZCl7bGV0IGU9YltkXTthLkJbZV0mJihkZWxldGUgYS5CW2VdLF8ueGIoYS5aLGUpLGMucHVzaChlKSl9fTsKXy5wZz1mdW5jdGlvbihhLGIsYyxkLGUsZixoPWQpe2EuST1jO2EuZ2EuaW5zZXJ0QmVmb3JlKGMsYS5nYS5maXJzdENoaWxkKTtfLiRmKGMsZCwoKT0+e2MucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChjKTthLkk9PWMmJihhLkk9bnVsbCk7ZigpfSxrPT57Yy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGMpO2EuST09YyYmKGEuST1udWxsKTtfLm9nKGEsayk7YS52P2Eudi50aGVuKCgpPT57ZSgtMSxiKX0pOmUoLTEsYil9LGgpfTtnZz1mdW5jdGlvbihhLGIsYyxkLGUsZj17fSl7dmFyIGg9Xy5WZCgpO2ZvcihsZXQgayBvZiBiKXtiPWguTGEoayk7aWYoZltrXXx8ZSYmIWUoYikpY29udGludWU7ZltrXT0hMDtsZXQgbD1iLmp8fFtdO2lmKGQpe2xldCBtPVtdO2lmKGQgaW5zdGFuY2VvZiBNYXApe2xldCBuPWQuZ2V0KGspO24mJihtPUFycmF5LmZyb20obikpfWVsc2UgZFtrXSYmKG09T2JqZWN0LmtleXMoZFtrXSkpO2w9bC5jb25jYXQobSl9Z2coYSxsLGMsZCxlLGYpO2MoYil9fTsKaWc9ZnVuY3Rpb24oYSl7YT1hLlkuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwibWQiLCIxIik7cmV0dXJuIFdmKGEudG9TdHJpbmcoKSl9O2pnPWZ1bmN0aW9uKGEsYixjKXtfLlZkKCkuVGgoKGJ8fHt9KS5tb2R1bGVHcmFwaCk7Z2coYSxrZyhhKSxkPT57Xy5hZyhhLFtkLmdldElkKCldKX0sYyk7YS52PW51bGx9O3JnPWZ1bmN0aW9uKGEpe2E9YS5idWYuY2hhckNvZGVBdChhLnBvcysrKTtyZXR1cm4gcWdbYV19O3NnPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz0wO2Rve3ZhciBkPXJnKGEpO2J8PShkJjMxKTw8YztjKz01fXdoaWxlKGQmMzIpO3JldHVybiBiPDA/Yis0Mjk0OTY3Mjk2OmJ9O3RnPWZ1bmN0aW9uKGEsYil7dGhpcy5EPVtdO3RoaXMuWj1hO3RoaXMuVT1ifHxudWxsO3RoaXMuQj10aGlzLmo9ITE7dGhpcy52PXZvaWQgMDt0aGlzLk09dGhpcy5nYT10aGlzLkk9ITE7dGhpcy5LPTA7dGhpcy5vPW51bGw7dGhpcy5ZPTB9Owp2Zz1mdW5jdGlvbihhLGIsYyl7YS5qPSEwO2Eudj1jO2EuQj0hYjt1ZyhhKX07eGc9ZnVuY3Rpb24oYSl7aWYoYS5qKXtpZighYS5NKXRocm93IG5ldyB3ZyhhKTthLk09ITF9fTt6Zz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmo7ZXx8KGI9PT1jP2I9Yz0oMCxfLnlnKShiKTooYj0oMCxfLnlnKShiKSxjPSgwLF8ueWcpKGMpKSk7YS5ELnB1c2goW2IsYyxkXSk7ZSYmdWcoYSl9O0FnPWZ1bmN0aW9uKGEpe3JldHVybiBfLnViKGEuRCxmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9Owp1Zz1mdW5jdGlvbihhKXtpZihhLksmJmEuaiYmQWcoYSkpe3ZhciBiPWEuSyxjPUJnW2JdO2MmJihfLnUuY2xlYXJUaW1lb3V0KGMuaiksZGVsZXRlIEJnW2JdKTthLks9MH1hLm8mJihhLm8uWS0tLGRlbGV0ZSBhLm8pO2I9YS52O2Zvcih2YXIgZD1jPSExO2EuRC5sZW5ndGgmJiFhLkk7KXt2YXIgZT1hLkQuc2hpZnQoKSxmPWVbMF07bGV0IGs9ZVsxXTtlPWVbMl07aWYoZj1hLkI/azpmKXRyeXt2YXIgaD1mLmNhbGwoZXx8YS5VLGIpO2g9PT1DZyYmKGg9dm9pZCAwKTtoIT09dm9pZCAwJiYoYS5CPWEuQiYmKGg9PWJ8fGEuaXNFcnJvcihoKSksYS52PWI9aCk7aWYoemYoYil8fHR5cGVvZiBfLnUuUHJvbWlzZT09PSJmdW5jdGlvbiImJmIgaW5zdGFuY2VvZiBfLnUuUHJvbWlzZSlkPSEwLGEuST0hMH1jYXRjaChsKXtiPWwsYS5CPSEwLEFnKGEpfHwoYz0hMCl9fWEudj1iO2QmJihoPSgwLF8uQ2EpKGEuc3AsYSwhMCksZD0oMCxfLkNhKShhLnNwLGEsITEpLGIgaW5zdGFuY2VvZiB0Zz8KKHpnKGIsaCxkKSxiLmdhPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IERnKGIpLEJnW2Iual09YixhLks9Yi5qKX07RWc9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRnO2EudGhlbihmdW5jdGlvbihjKXtiLmNhbGxiYWNrKGMpfSxmdW5jdGlvbihjKXt4ZyhiKTt2ZyhiLCExLGMpfSk7cmV0dXJuIGJ9O3dnPWZ1bmN0aW9uKCl7Xy5MYS5jYWxsKHRoaXMpfTtGZz1mdW5jdGlvbigpe18uTGEuY2FsbCh0aGlzKX07RGc9ZnVuY3Rpb24oYSl7dGhpcy5qPV8udS5zZXRUaW1lb3V0KCgwLF8uQ2EpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLm89YX07CkhnPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnR5cGUpe2Nhc2UgR2cuVHlwZS5wbzpyZXR1cm4iVW5hdXRob3JpemVkIjtjYXNlIEdnLlR5cGUucGs6cmV0dXJuIkNvbnNlY3V0aXZlIGxvYWQgZmFpbHVyZXMiO2Nhc2UgR2cuVHlwZS5USU1FT1VUOnJldHVybiJUaW1lZCBvdXQiO2Nhc2UgR2cuVHlwZS5obzpyZXR1cm4iT3V0IG9mIGRhdGUgbW9kdWxlIGlkIjtjYXNlIEdnLlR5cGUudWs6cmV0dXJuIkluaXQgZXJyb3IiO2RlZmF1bHQ6cmV0dXJuYFVua25vd24gZmFpbHVyZSB0eXBlICR7YS50eXBlfWB9fTsKSWc9ZnVuY3Rpb24oKXt0aGlzLmhhPXRoaXMuWT1udWxsO3RoaXMuRD1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMuSz1bXTt0aGlzLlU9bmV3IFNldDt0aGlzLnY9W107dGhpcy5JPW5ldyBTZXQ7dGhpcy5qPUFlP25ldyBNYXA6e307dGhpcy5NPW5ldyBNYXA7dGhpcy5vPXRoaXMuWj1uZXcgdmEuT2coW10sIiIpO3RoaXMueWE9bnVsbDt0aGlzLmdhPW5ldyB0Zzt0aGlzLkZhPXRoaXMuUWE9dGhpcy5NYT10aGlzLm9hPSExfTtKZz1mdW5jdGlvbihhLGIpe18uTGEuY2FsbCh0aGlzLGBFcnJvciBsb2FkaW5nICR7YX06ICR7Yn1gKX07Ck9nPWZ1bmN0aW9uKGEsYil7aWYoIUtnKXtmb3IodmFyIGM9MDtjPDY0O2MrKylxZ1siQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckNvZGVBdChjKV09YztLZz0hMH1iPXtidWY6Yixwb3M6Mn07c2coYik7Yz1zZyhiKTt2YXIgZD1zZyhiKSsxLGU9QXJyYXkoYyksZj1BcnJheShjKSxoPUFycmF5KGMpO2Q9QXJyYXkoZCk7dmFyIGs9MCxsPTAsbT1iLmJ1ZixuPWIucG9zLHA9Yi5idWYuaW5kZXhPZigifCIsYi5wb3MpO2IucG9zPXArMTtmb3IocD0wO3A8YztwKyspe3ZhciByPXNnKGIpLHQ9ciYyLHY9ciYxO3I+Pj49Mjt2PyhrKz1yPj4+MV4tKHImMSkscj0ic3kiK2sudG9TdHJpbmcoMzYpKToodj1uLG4rPXIscj1tLnN1YnN0cmluZyh2LG4pKTtlW3BdPXI7dCYmKGRbbCsrXT1yKX1kW2xdPSIiO2IucG9zKys7bD1jJi0yO2s9YyYxO2ZvcihtPTA7bTxsO20rPTIpbj1yZyhiKSxoW21dPW4mNyxoW20rMV09Cm4+Pj4zJjc7ayYmKGs9cmcoYiksaFtsXT1rJjcpO2IucG9zKys7Zm9yKGw9MDtsPGM7bCsrKWhbbF09PT03JiYoaFtsXT1zZyhiKSk7Yi5wb3MrKztsPTA7Zm9yKGs9MDtrPGM7aysrKXttPWhba107bj1tPT09MD9MZzpBcnJheShtKTtmW2tdPW47cD1sO2Zvcih0PTA7dDxtO3QrKylwLT1zZyhiKSxuW3RdPWRbcF07ZFtsXT09PWVba10mJmwrK312YXIge2lkczp6LGRlcGVuZGVuY2llczpFfT17aWRzOmUsZGVwZW5kZW5jaWVzOmZ9O2ZvcihiPTA7Yjx6Lmxlbmd0aDtiKyspTmcoYSx6W2JdLEVbYl0pO2EuaGE9en07Umc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NYSxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoUGcoYSxjP1FnLk1zOlFnLklETEUpLGEuTWE9Yyk7Yj1hLkZxKCk7YiE9YS5RYSYmKFBnKGEsYj9RZy5odTpRZy5pdSksYS5RYT1iKX07Tmc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuRC5nZXQoYik7ZD9kLmo9YzphLkQuc2V0KGIsbmV3IHZhLk9nKGMsYikpfTsKVGc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoYik7Yj1bXTt2YXIgZT17fTtmb3IobGV0IGYgb2YgZCl7ZD1hLkxhKGYpO2lmKCFkKXRocm93IEVycm9yKCJVYCIrZik7bGV0IGg9bmV3IHRnO2VbZl09aDtkLmlzTG9hZGVkKCk/aC5jYWxsYmFjayhudWxsKTooU2coYSxmLGQsISFjLGgpLGEudWgoZil8fGIucHVzaChmKSl9Yi5sZW5ndGg+MCYmKGEuQi5zaXplPT09MD9hLnNqKGIpOihhLnYucHVzaChiKSxSZyhhKSkpO3JldHVybiBlfTtTZz1mdW5jdGlvbihhLGIsYyxkLGUpe2dlKGMsZS5jYWxsYmFjayxlKTtoZShjLGZ1bmN0aW9uKGYpe2Y9bmV3IEpnKGIsZik7eGcoZSk7dmcoZSwhMSxmKX0pO2EudWgoYik/ZCYmKGEuSS5hZGQoYiksUmcoYSkpOmQmJmEuSS5hZGQoYil9OwpVZz1mdW5jdGlvbihhLGIpe2lmKCFhLm8uaGFzKGIpJiYoYS5vLmFkZChiKSwhYS5qLlUuaGFzKGIpKSl7dmFyIGM9YS5qLkxhKGIpO2lmKGMmJiFjLmlzTG9hZGVkKCkpe2M9Yy5qO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKVVnKGEsY1tkXSk7YS5yZXN1bHQucHVzaChiKX19fTtZZz1mdW5jdGlvbihhLGIpe2I9Yi5maWx0ZXIoZT0+YS5ELmdldChlKS5pc0xvYWRlZCgpPyhfLnUuc2V0VGltZW91dCgoKT0+RXJyb3IoIlhgIitlKSwwKSwhMSk6ITApO2lmKFZnKXt2YXIgYz1uZXcgV2coYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspVWcoYyxiW2RdKTtjPWMucmVzdWx0fWVsc2V7Yz1bXTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWM9Yy5jb25jYXQoWGcoYSxiW2RdKSk7QWIoYyl9cmV0dXJuIWEub2EmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEudj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS52KSxbYl0pOmN9OwpYZz1mdW5jdGlvbihhLGIpe2lmKFZnKXJldHVybiBhPW5ldyBXZyhhKSxVZyhhLGIpLGEucmVzdWx0O3ZhciBjPVtdO2EuVS5oYXMoYil8fGMucHVzaChiKTtiPVtiXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YS5MYShiW2RdKS5qO2ZvcihsZXQgZj1lLmxlbmd0aC0xO2Y+PTA7Zi0tKXtsZXQgaD1lW2ZdO2EuTGEoaCkuaXNMb2FkZWQoKXx8YS5VLmhhcyhoKXx8KGMucHVzaChoKSxiLnB1c2goaCkpfX1jLnJldmVyc2UoKTtBYihjKTtyZXR1cm4gY307CmJoPWZ1bmN0aW9uKGEsYixjLGQsZSxmPTAsaD0hMSl7dmFyIGs9aD8wOmYrMTtmPV8ueWIoYyk7YS5LPWI7Zm9yKGxldCBsIG9mIGMpYS5VLmRlbGV0ZShsKTtpZihkPT00MDEpWmcoYSxuZXcgdmEub2IodmEub2IuVHlwZS5wbyxkKSksYS52Lmxlbmd0aD0wO2Vsc2UgaWYoZD09NDEwKSRnKGEsbmV3IHZhLm9iKHZhLm9iLlR5cGUuaG8sZCkpLGFoKGEpO2Vsc2UgaWYoaz49MylbLi4uYS5CXSwkZyhhLG5ldyB2YS5vYih2YS5vYi5UeXBlLnBrLGQsZixlKSksYWgoYSk7ZWxzZXtbLi4uYS5CXTtsZXQgbD1kPT04MDAxfHwhMTsoYz1NYXRoLnBvdyhrLDIpKjVFMyk/Xy51LnNldFRpbWVvdXQoKCk9PnthLnNqKGIsayxsKX0sYyk6YS5zaihiLGssbCl9fTskZz1mdW5jdGlvbihhLGIpe2EuSy5sZW5ndGg+MT9hLnY9YS5LLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS52KTpaZyhhLGIpfTsKWmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLks7YS5CLmNsZWFyKCk7dmFyIGQ9W107Zm9yKHZhciBlPTA7ZTxhLnYubGVuZ3RoO2UrKyl7dmFyIGY9YS52W2VdLmZpbHRlcihmdW5jdGlvbihoKXt2YXIgaz1YZyh0aGlzLGgpO3JldHVybiBfLnViKGMsZnVuY3Rpb24obCl7cmV0dXJuIF8uc2IoayxsKT49MH0pfSxhKTt6YihkLGYpfWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspd2IoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS52Lmxlbmd0aDtmKyspXy54YihhLnZbZl0sZFtlXSk7YS5JLmRlbGV0ZShkW2VdKX1pZihlPWEuTS5nZXQoUWcuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspe2xldCBoPWVbZl07Zm9yKGxldCBrPTA7azxkLmxlbmd0aDtrKyspaChRZy5FUlJPUixkW2tdLGIpfWZvcihkPTA7ZDxjLmxlbmd0aDtkKyspaWYoZT1hLkQuZ2V0KGNbZF0pKWUub25FcnJvcihiKTthLksubGVuZ3RoPTA7UmcoYSl9OwphaD1mdW5jdGlvbihhKXtmb3IoO2Eudi5sZW5ndGg7KXtsZXQgYj1hLnYuc2hpZnQoKS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIXRoaXMuTGEoYykuaXNMb2FkZWQoKX0sYSk7aWYoYi5sZW5ndGg+MCl7YS5zaihiKTtyZXR1cm59fVJnKGEpfTtQZz1mdW5jdGlvbihhLGIpe2E9YS5NLmdldChiKTtmb3IobGV0IGM9MDthJiZjPGEubGVuZ3RoO2MrKylhW2NdKGIpfTtjaD1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgZiBvZiBiKWI9YS5MYShmKSwhZS5oYXMoZikmJmQoYikmJihlLmFkZChmKSxjaChhLGIuanx8W10sYyxkLGUpLGMoYikpfTsKZmg9ZnVuY3Rpb24oKXt2YXIgYT17RXU6IkJBVENIIn0sYj1hLmNzc1Jvd0tleXx8IiIsYz1hLktlfHwiIjshYS54SSYmIWImJndpbmRvdyYmd2luZG93Ll9GX2Nzc1Jvd0tleSYmKGI9d2luZG93Ll9GX2Nzc1Jvd0tleSwhYyYmd2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlJiYoYz13aW5kb3cuX0ZfY29tYmluZWRTaWduYXR1cmUpKTtpZighYS5jc3NSb3dLZXkmJmImJnR5cGVvZiB3aW5kb3cuX0ZfaW5zdGFsbENzcyE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIloiKTt2YXIgZD1hLk5KfHxfLmRoLGU9RWUoImJhc2UtanMiKTtiPW5ldyBkKEdiKEZlKCIiLGUpKSxiLGMsITAsITEpO2M9YS5wTHx8ZSYmZS5oYXNBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik7ZT1hLmxJfHxlJiZlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKTtjJiYoYi5maT1jKTtlJiYoYi5XZz1lKTthLmRpJiYoYi5kaT1hLmRpKTthLmZldGNoUHJpb3JpdHkmJihiLmZldGNoUHJpb3JpdHk9YS5mZXRjaFByaW9yaXR5KTsKdmFyIGY9Xy5WZCgpO2YuWT1iO2YuUnIoITApO18uZWg9YS5FdT09PSJCQVRDSCI/cmY6aD0+UHJvbWlzZS5yZXNvbHZlKGYubG9hZChoKSl9O2loPWZ1bmN0aW9uKGEsYil7Yj1iLmZpbHRlcihjPT4hYS51aChjKSYmIWEuTGEoYykuaXNMb2FkZWQoKSk7Yi5sZW5ndGg+MCYmKGdoKGEsLi4uYiksYS5LLnB1c2goYiksaGgoYSkpfTtqaD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5CZigoYyxkKT0+e3ZhciBlPWEuTGEoYik7ZS5pc0xvYWRlZCgpP2MobnVsbCk6KGdlKGUsKCk9PntjKG51bGwpfSksaGUoZSxmPT57dmFyIGg9YEVycm9yIGxvYWRpbmcgJHtifTogJHtmfWA7ZiBpbnN0YW5jZW9mIHZhLm9iJiZmLnVybCYmKGg9YCR7aH0sIHJlcXVlc3RlZCB1cmw6ICR7Zi51cmwudG9TdHJpbmcoKX1gKTtkKEVycm9yKGgpKX0pKX0pfTsKa2g9ZnVuY3Rpb24oYSxiLGMsZD0oKT0+ITAsZT17fSl7Zm9yKGxldCBmIG9mIGIpYj1hLkxhKGYpLCFlW2ZdJiZkKGIpJiYoZVtmXT0hMCxraChhLGIuanx8W10sYyxkLGUpLGMoYikpfTtsaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57ZGVsZXRlIGEuRFtjXX0pfTtnaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57YS5EW2NdPSEwfSl9OwpoaD1mdW5jdGlvbihhKXtmb3IoO2EuQjxJbmZpbml0eSYmYS5LLmxlbmd0aD4wOyl7bGV0IGI9YS5LLnNoaWZ0KCkuZmlsdGVyKGM9PiFhLkxhKGMpLmlzTG9hZGVkKCkpO2lmKGIubGVuZ3RoPjApe2EuQisrO2xldCBjPSgpPT57YS5CLS07aGgoYSk7Yz0oKT0+e319O18uSWYoYi5tYXAoZj0+amgoYSxmKSkpLnRoZW4oKCk9PntjKCl9KTtsZXQgZD0wLGU9KCk9PntpZigoYS5qIGluc3RhbmNlb2YgTWFwP2Euai5zaXplPjA6T2JqZWN0LmtleXMoYS5qKS5sZW5ndGg+MCkmJiFhLlkuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLlksYixhLnYse1lkOmEuaixvbkVycm9yOihmLGgpPT57dmFyIGs9bWhbZCsrXTtrIT09dm9pZCAwP3NldFRpbWVvdXQoKCk9PntlKCl9LGspOihsaChhLC4uLmIpLGMoKSxiLmZvckVhY2gobD0+e2w9YS5MYShsKTtpZighbC5pc0xvYWRlZCgpKWwub25FcnJvcihuZXcgdmEub2IodmEub2IuVHlwZS5wayxmLGIsaCkpfSkpfX0pfTtlKCl9fX07Cm5oPWZ1bmN0aW9uKGEpe2Euaj09PS0xJiYoYS5qPWEuZGF0YS5yZWR1Y2UoKGIsYyxkKT0+YisoYz8yKipkOjApLDApKTtyZXR1cm4gYS5qfTtfLm9oPWZ1bmN0aW9uKCl7fTtfLnNoPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBwaHx8YSBpbnN0YW5jZW9mIHFofHxhIGluc3RhbmNlb2YgcmgpcmV0dXJuIGE7aWYodHlwZW9mIGEubmV4dD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hKTtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iKXJldHVybiBuZXcgcGgoKCk9PmFbU3ltYm9sLml0ZXJhdG9yXSgpKTtpZih0eXBlb2YgYS5iZD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hLmJkKCkpO3Rocm93IEVycm9yKCIkIik7fTtfLnRoPWZ1bmN0aW9uKGEpe18uYWUuY2FsbCh0aGlzKTt0aGlzLkQ9MTt0aGlzLnY9W107dGhpcy5CPTA7dGhpcy5qPVtdO3RoaXMubz17fTt0aGlzLkk9ISFhfTsKdWg9ZnVuY3Rpb24oYSxiLGMpe0dmKGZ1bmN0aW9uKCl7YS5hcHBseShiLGMpfSl9O3ZoPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTt3aD1mdW5jdGlvbihhKXt0aGlzLmo9YX07eGg9ZnVuY3Rpb24oYSl7dGhpcy5kYXRhPWF9O3loPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09dm9pZCAwfHxhIGluc3RhbmNlb2YgeGg/YTpuZXcgeGgoYSl9O18uemg9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O0FoPWZ1bmN0aW9uKCl7fTtCaD1mdW5jdGlvbigpe307Q2g9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5vPW51bGx9O0RoPWZ1bmN0aW9uKGEpe2lmKGEuaj09bnVsbCl0aHJvdyBFcnJvcigiYWEiKTthLmlzQXZhaWxhYmxlKCl8fF8uJGIoRXJyb3IoImFhIikpfTtFaD1mdW5jdGlvbigpe3ZhciBhPW51bGw7dHJ5e2E9Xy51LmxvY2FsU3RvcmFnZXx8bnVsbH1jYXRjaChiKXt9Q2guY2FsbCh0aGlzLGEpfTtGaD1mdW5jdGlvbihhLGIpe3RoaXMubz1hO3RoaXMuaj1iKyI6OiJ9OwpfLkdoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBFaDtyZXR1cm4gYi5pc0F2YWlsYWJsZSgpP2E/bmV3IEZoKGIsYSk6YjpudWxsfTsKSWg9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWEubGVuZ3RoLGU9MDtmb3IoYj0wO2I8ZDtiKyspe3ZhciBmPWEuY2hhckNvZGVBdChiKTtpZigoZiY2NDUxMik9PT01NTI5NiYmYisxPGQpe3ZhciBoPWEuY2hhckNvZGVBdChiKzEpOyhoJjY0NTEyKT09PTU2MzIwJiYoZj02NTUzNisoZi01NTI5Njw8MTApKyhoLTU2MzIwKSxiKyspfWUrPWY8MTI4PzE6ZjwyMDQ4PzI6Zjw2NTUzNj8zOjR9dmFyIGs9bmV3IEhoLnRmKGUpO2ZvcihiPWM9MDtjPGU7YisrKWY9YS5jaGFyQ29kZUF0KGIpLChmJjY0NTEyKT09PTU1Mjk2JiZiKzE8ZCYmKGg9YS5jaGFyQ29kZUF0KGIrMSksKGgmNjQ1MTIpPT09NTYzMjAmJihmPTY1NTM2KyhmLTU1Mjk2PDwxMCkrKGgtNTYzMjApLGIrKykpLGY8MTI4P2tbYysrXT1mOihmPDIwNDg/a1tjKytdPTE5MnxmPj4+NjooZjw2NTUzNj9rW2MrK109MjI0fGY+Pj4xMjooa1tjKytdPTI0MHxmPj4+MTgsa1tjKytdPTEyOHxmPj4+MTImNjMpLGtbYysrXT0xMjh8Zj4+Pgo2JjYzKSxrW2MrK109MTI4fGYmNjMpO3JldHVybiBrfTtKaD1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGg7LS1iPj0wOylhW2JdPTB9O0toPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5Zcj1hO3RoaXMuVXY9Yjt0aGlzLlR2PWM7dGhpcy54dj1kO3RoaXMuRnk9ZTt0aGlzLmVxPWEmJmEubGVuZ3RofTtMaD1mdW5jdGlvbihhLGIpe3RoaXMuRXA9YTt0aGlzLmxnPTA7dGhpcy56ZT1ifTtNaD1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWImMjU1O2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NX07Tmg9ZnVuY3Rpb24oYSxiLGMpe2EuaGI+MTYtYz8oYS5GYnw9Yjw8YS5oYiY2NTUzNSxNaChhLGEuRmIpLGEuRmI9Yj4+MTYtYS5oYixhLmhiKz1jLTE2KTooYS5GYnw9Yjw8YS5oYiY2NTUzNSxhLmhiKz1jKX07T2g9ZnVuY3Rpb24oYSxiLGMpe05oKGEsY1tiKjJdLGNbYioyKzFdKX07ClBoPWZ1bmN0aW9uKGEsYil7dmFyIGM9MDtkbyBjfD1hJjEsYT4+Pj0xLGM8PD0xO3doaWxlKC0tYj4wKTtyZXR1cm4gYz4+PjF9O1FoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1BcnJheSgxNiksZT0wLGY7Zm9yKGY9MTtmPD0xNTtmKyspZFtmXT1lPWUrY1tmLTFdPDwxO2ZvcihjPTA7Yzw9YjtjKyspZT1hW2MqMisxXSxlIT09MCYmKGFbYyoyXT1QaChkW2VdKyssZSkpfTtSaD1mdW5jdGlvbihhKXt2YXIgYjtmb3IoYj0wO2I8Mjg2O2IrKylhLlFiW2IqMl09MDtmb3IoYj0wO2I8MzA7YisrKWEuUGVbYioyXT0wO2ZvcihiPTA7YjwxOTtiKyspYS5xYltiKjJdPTA7YS5RYls1MTJdPTE7YS5DZD1hLkhnPTA7YS5rYz1hLm1hdGNoZXM9MH07U2g9ZnVuY3Rpb24oYSl7YS5oYj44P01oKGEsYS5GYik6YS5oYj4wJiYoYS5PYVthLnBlbmRpbmcrK109YS5GYik7YS5GYj0wO2EuaGI9MH07ClRoPWZ1bmN0aW9uKGEsYixjKXtTaChhKTtNaChhLGMpO01oKGEsfmMpO0hoLndmKGEuT2EsYS53aW5kb3csYixjLGEucGVuZGluZyk7YS5wZW5kaW5nKz1jfTtVaD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iKjIsZj1jKjI7cmV0dXJuIGFbZV08YVtmXXx8YVtlXT09PWFbZl0mJmRbYl08PWRbY119O1ZoPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YS5oZWFwW2NdLGU9Yzw8MTtlPD1hLnhkOyl7ZTxhLnhkJiZVaChiLGEuaGVhcFtlKzFdLGEuaGVhcFtlXSxhLmRlcHRoKSYmZSsrO2lmKFVoKGIsZCxhLmhlYXBbZV0sYS5kZXB0aCkpYnJlYWs7YS5oZWFwW2NdPWEuaGVhcFtlXTtjPWU7ZTw8PTF9YS5oZWFwW2NdPWR9OwpjaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MDtpZihhLmtjIT09MCl7ZG97dmFyIGU9YS5PYVthLllnK2QqMl08PDh8YS5PYVthLllnK2QqMisxXTt2YXIgZj1hLk9hW2Eua20rZF07ZCsrO2lmKGU9PT0wKU9oKGEsZixiKTtlbHNle3ZhciBoPVdoW2ZdO09oKGEsaCsyNTYrMSxiKTt2YXIgaz1YaFtoXTtrIT09MCYmKGYtPVloW2hdLE5oKGEsZixrKSk7ZS0tO2g9ZTwyNTY/WmhbZV06WmhbMjU2KyhlPj4+NyldO09oKGEsaCxjKTtrPSRoW2hdO2shPT0wJiYoZS09YmlbaF0sTmgoYSxlLGspKX19d2hpbGUoZDxhLmtjKX1PaChhLDI1NixiKX07CmRpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5FcCxkPWIuemUuWXIsZT1iLnplLmVxLGY9Yi56ZS54dixoLGs9LTE7YS54ZD0wO2EuWGY9NTczO2ZvcihoPTA7aDxmO2grKyljW2gqMl0hPT0wPyhhLmhlYXBbKythLnhkXT1rPWgsYS5kZXB0aFtoXT0wKTpjW2gqMisxXT0wO2Zvcig7YS54ZDwyOyl7dmFyIGw9YS5oZWFwWysrYS54ZF09azwyPysrazowO2NbbCoyXT0xO2EuZGVwdGhbbF09MDthLkNkLS07ZSYmKGEuSGctPWRbbCoyKzFdKX1iLmxnPWs7Zm9yKGg9YS54ZD4+MTtoPj0xO2gtLSlWaChhLGMsaCk7bD1mO2RvIGg9YS5oZWFwWzFdLGEuaGVhcFsxXT1hLmhlYXBbYS54ZC0tXSxWaChhLGMsMSksZD1hLmhlYXBbMV0sYS5oZWFwWy0tYS5YZl09aCxhLmhlYXBbLS1hLlhmXT1kLGNbbCoyXT1jW2gqMl0rY1tkKjJdLGEuZGVwdGhbbF09KGEuZGVwdGhbaF0+PWEuZGVwdGhbZF0/YS5kZXB0aFtoXTphLmRlcHRoW2RdKSsxLGNbaCoyKzFdPWNbZCoyKzFdPWwsYS5oZWFwWzFdPWwrKywKVmgoYSxjLDEpO3doaWxlKGEueGQ+PTIpO2EuaGVhcFstLWEuWGZdPWEuaGVhcFsxXTtoPWIuRXA7bD1iLmxnO2Q9Yi56ZS5ZcjtlPWIuemUuZXE7Zj1iLnplLlV2O3ZhciBtPWIuemUuVHYsbj1iLnplLkZ5LHAscj0wO2ZvcihwPTA7cDw9MTU7cCsrKWEua2RbcF09MDtoW2EuaGVhcFthLlhmXSoyKzFdPTA7Zm9yKGI9YS5YZisxO2I8NTczO2IrKyl7dmFyIHQ9YS5oZWFwW2JdO3A9aFtoW3QqMisxXSoyKzFdKzE7cD5uJiYocD1uLHIrKyk7aFt0KjIrMV09cDtpZighKHQ+bCkpe2Eua2RbcF0rKzt2YXIgdj0wO3Q+PW0mJih2PWZbdC1tXSk7dmFyIHo9aFt0KjJdO2EuQ2QrPXoqKHArdik7ZSYmKGEuSGcrPXoqKGRbdCoyKzFdK3YpKX19aWYociE9PTApe2Rve2ZvcihwPW4tMTthLmtkW3BdPT09MDspcC0tO2Eua2RbcF0tLTthLmtkW3ArMV0rPTI7YS5rZFtuXS0tO3ItPTJ9d2hpbGUocj4wKTtmb3IocD1uO3AhPT0wO3AtLSlmb3IodD1hLmtkW3BdO3QhPT0wOylkPWEuaGVhcFstLWJdLApkPmx8fChoW2QqMisxXSE9PXAmJihhLkNkKz0ocC1oW2QqMisxXSkqaFtkKjJdLGhbZCoyKzFdPXApLHQtLSl9UWgoYyxrLGEua2QpfTtlaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2JbKGMrMSkqMisxXT02NTUzNTtmb3IoZD0wO2Q8PWM7ZCsrKXt2YXIgbT1mO2Y9YlsoZCsxKSoyKzFdOysraDxrJiZtPT09Znx8KGg8bD9hLnFiW20qMl0rPWg6bSE9PTA/KG0hPT1lJiZhLnFiW20qMl0rKyxhLnFiWzMyXSsrKTpoPD0xMD9hLnFiWzM0XSsrOmEucWJbMzZdKyssaD0wLGU9bSxmPT09MD8oaz0xMzgsbD0zKTptPT09Zj8oaz02LGw9Myk6KGs9NyxsPTQpKX19OwpmaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2ZvcihkPTA7ZDw9YztkKyspe3ZhciBtPWY7Zj1iWyhkKzEpKjIrMV07aWYoISgrK2g8ayYmbT09PWYpKXtpZihoPGwpe2RvIE9oKGEsbSxhLnFiKTt3aGlsZSgtLWghPT0wKX1lbHNlIG0hPT0wPyhtIT09ZSYmKE9oKGEsbSxhLnFiKSxoLS0pLE9oKGEsMTYsYS5xYiksTmgoYSxoLTMsMikpOmg8PTEwPyhPaChhLDE3LGEucWIpLE5oKGEsaC0zLDMpKTooT2goYSwxOCxhLnFiKSxOaChhLGgtMTEsNykpO2g9MDtlPW07Zj09PTA/KGs9MTM4LGw9Myk6bT09PWY/KGs9NixsPTMpOihrPTcsbD00KX19fTsKZ2k9ZnVuY3Rpb24oYSl7dmFyIGI9NDA5MzYyNDQ0NyxjO2ZvcihjPTA7Yzw9MzE7YysrLGI+Pj49MSlpZihiJjEmJmEuUWJbYyoyXSE9PTApcmV0dXJuIDA7aWYoYS5RYlsxOF0hPT0wfHxhLlFiWzIwXSE9PTB8fGEuUWJbMjZdIT09MClyZXR1cm4gMTtmb3IoYz0zMjtjPDI1NjtjKyspaWYoYS5RYltjKjJdIT09MClyZXR1cm4gMTtyZXR1cm4gMH07aGk9ZnVuY3Rpb24oYSxiLGMpe2EuT2FbYS5ZZythLmtjKjJdPWI+Pj44JjI1NTthLk9hW2EuWWcrYS5rYyoyKzFdPWImMjU1O2EuT2FbYS5rbSthLmtjXT1jJjI1NTthLmtjKys7Yj09PTA/YS5RYltjKjJdKys6KGEubWF0Y2hlcysrLGItLSxhLlFiWyhXaFtjXSsyNTYrMSkqMl0rKyxhLlBlWyhiPDI1Nj9aaFtiXTpaaFsyNTYrKGI+Pj43KV0pKjJdKyspO3JldHVybiBhLmtjPT09YS5BaC0xfTtqaT1mdW5jdGlvbihhLGIpe2EubXNnPWlpW2JdO3JldHVybiBifTsKa2k9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj49MDspYVtiXT0wfTtsaT1mdW5jdGlvbihhKXt2YXIgYj1hLnN0YXRlLGM9Yi5wZW5kaW5nO2M+YS56YSYmKGM9YS56YSk7YyE9PTAmJihIaC53ZihhLm91dHB1dCxiLk9hLGIuSmgsYyxhLnFnKSxhLnFnKz1jLGIuSmgrPWMsYS5Fbis9YyxhLnphLT1jLGIucGVuZGluZy09YyxiLnBlbmRpbmc9PT0wJiYoYi5KaD0wKSl9OwpwaT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWI+PTA/YS5VYjotMSxkPWEuVi1hLlViLGU9MDtpZihhLmxldmVsPjApe2Eud2EuaWw9PT0yJiYoYS53YS5pbD1naShhKSk7ZGkoYSxhLnBqKTtkaShhLGEuSWkpO2VpKGEsYS5RYixhLnBqLmxnKTtlaShhLGEuUGUsYS5JaS5sZyk7ZGkoYSxhLlRvKTtmb3IoZT0xODtlPj0zJiZhLnFiW21pW2VdKjIrMV09PT0wO2UtLSk7YS5DZCs9MyooZSsxKSs1KzUrNDt2YXIgZj1hLkNkKzMrNz4+PjM7dmFyIGg9YS5IZyszKzc+Pj4zO2g8PWYmJihmPWgpfWVsc2UgZj1oPWQrNTtpZihkKzQ8PWYmJmMhPT0tMSlOaChhLGI/MTowLDMpLFRoKGEsYyxkKTtlbHNlIGlmKGEuc3RyYXRlZ3k9PT00fHxoPT09ZilOaChhLDIrKGI/MTowKSwzKSxjaShhLG5pLG9pKTtlbHNle05oKGEsNCsoYj8xOjApLDMpO2M9YS5wai5sZysxO2Q9YS5JaS5sZysxO2UrPTE7TmgoYSxjLTI1Nyw1KTtOaChhLGQtMSw1KTtOaChhLGUtNCw0KTtmb3IoZj0wO2Y8ZTtmKyspTmgoYSwKYS5xYlttaVtmXSoyKzFdLDMpO2ZpKGEsYS5RYixjLTEpO2ZpKGEsYS5QZSxkLTEpO2NpKGEsYS5RYixhLlBlKX1SaChhKTtiJiZTaChhKTthLlViPWEuVjtsaShhLndhKX07cWk9ZnVuY3Rpb24oYSxiKXthLk9hW2EucGVuZGluZysrXT1ifTtyaT1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NTthLk9hW2EucGVuZGluZysrXT1iJjI1NX07CnNpPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5OcSxkPWEuVixlPWEuWWIsZj1hLlNxLGg9YS5WPmEuQmItMjYyP2EuVi0oYS5CYi0yNjIpOjAsaz1hLndpbmRvdyxsPWEuQmUsbT1hLlVhLG49YS5WKzI1OCxwPWtbZCtlLTFdLHI9a1tkK2VdO2EuWWI+PWEuWXAmJihjPj49Mik7Zj5hLmRhJiYoZj1hLmRhKTtkb3t2YXIgdD1iO2lmKGtbdCtlXT09PXImJmtbdCtlLTFdPT09cCYma1t0XT09PWtbZF0mJmtbKyt0XT09PWtbZCsxXSl7ZCs9Mjtmb3IodCsrO2tbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZkPG47KTt0PTI1OC0obi1kKTtkPW4tMjU4O2lmKHQ+ZSl7YS5rZz1iO2U9dDtpZih0Pj1mKWJyZWFrO3A9a1tkK2UtMV07cj1rW2QrZV19fX13aGlsZSgoYj1tW2ImbF0pPmgmJi0tYyE9PTApOwpyZXR1cm4gZTw9YS5kYT9lOmEuZGF9Owp2aT1mdW5jdGlvbihhKXt2YXIgYj1hLkJiLGM7ZG97dmFyIGQ9YS5Lcy1hLmRhLWEuVjtpZihhLlY+PWIrKGItMjYyKSl7SGgud2YoYS53aW5kb3csYS53aW5kb3csYixiLDApO2Eua2ctPWI7YS5WLT1iO2EuVWItPWI7dmFyIGU9Yz1hLmFqO2Rve3ZhciBmPWEuaGVhZFstLWVdO2EuaGVhZFtlXT1mPj1iP2YtYjowfXdoaWxlKC0tYyk7ZT1jPWI7ZG8gZj1hLlVhWy0tZV0sYS5VYVtlXT1mPj1iP2YtYjowO3doaWxlKC0tYyk7ZCs9Yn1pZihhLndhLkRiPT09MClicmVhaztlPWEud2E7Yz1hLndpbmRvdztmPWEuVithLmRhO3ZhciBoPWUuRGI7aD5kJiYoaD1kKTtoPT09MD9jPTA6KGUuRGItPWgsSGgud2YoYyxlLmlucHV0LGUuZmYsaCxmKSxlLnN0YXRlLndyYXA9PT0xP2Uuc2E9dGkoZS5zYSxjLGgsZik6ZS5zdGF0ZS53cmFwPT09MiYmKGUuc2E9dWkoZS5zYSxjLGgsZikpLGUuZmYrPWgsZS5xZis9aCxjPWgpO2EuZGErPWM7aWYoYS5kYSthLnJiPj0zKWZvcihkPWEuVi1hLnJiLGEueGE9CmEud2luZG93W2RdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCsxXSkmYS52ZDthLnJiJiYhKGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCszLTFdKSZhLnZkLGEuVWFbZCZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWQsZCsrLGEucmItLSxhLmRhK2EucmI8Myk7KTt9d2hpbGUoYS5kYTwyNjImJmEud2EuRGIhPT0wKX07CndpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjOzspe2lmKGEuZGE8MjYyKXt2aShhKTtpZihhLmRhPDI2MiYmYj09PTApcmV0dXJuIDE7aWYoYS5kYT09PTApYnJlYWt9Yz0wO2EuZGE+PTMmJihhLnhhPShhLnhhPDxhLndkXmEud2luZG93W2EuViszLTFdKSZhLnZkLGM9YS5VYVthLlYmYS5CZV09YS5oZWFkW2EueGFdLGEuaGVhZFthLnhhXT1hLlYpO2MhPT0wJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYykpO2lmKGEuQmE+PTMpaWYoYz1oaShhLGEuVi1hLmtnLGEuQmEtMyksYS5kYS09YS5CYSxhLkJhPD1hLm9tJiZhLmRhPj0zKXthLkJhLS07ZG8gYS5WKyssYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWEuVjt3aGlsZSgtLWEuQmEhPT0wKTthLlYrK31lbHNlIGEuVis9YS5CYSxhLkJhPTAsYS54YT1hLndpbmRvd1thLlZdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbYS5WKwoxXSkmYS52ZDtlbHNlIGM9aGkoYSwwLGEud2luZG93W2EuVl0pLGEuZGEtLSxhLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9YS5WPDI/YS5WOjI7cmV0dXJuIGI9PT00PyhwaShhLCEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTsKeGk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZDs7KXtpZihhLmRhPDI2Mil7dmkoYSk7aWYoYS5kYTwyNjImJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWM9MDthLmRhPj0zJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxjPWEuVWFbYS5WJmEuQmVdPWEuaGVhZFthLnhhXSxhLmhlYWRbYS54YV09YS5WKTthLlliPWEuQmE7YS5Bcj1hLmtnO2EuQmE9MjtjIT09MCYmYS5ZYjxhLm9tJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYyksYS5CYTw9NSYmKGEuc3RyYXRlZ3k9PT0xfHxhLkJhPT09MyYmYS5WLWEua2c+NDA5NikmJihhLkJhPTIpKTtpZihhLlliPj0zJiZhLkJhPD1hLlliKXtkPWEuVithLmRhLTM7Yz1oaShhLGEuVi0xLWEuQXIsYS5ZYi0zKTthLmRhLT1hLlliLTE7YS5ZYi09MjtkbysrYS5WPD1kJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sCmEuaGVhZFthLnhhXT1hLlYpO3doaWxlKC0tYS5ZYiE9PTApO2EuY2Y9MDthLkJhPTI7YS5WKys7aWYoYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1lbHNlIGlmKGEuY2Ype2lmKChjPWhpKGEsMCxhLndpbmRvd1thLlYtMV0pKSYmcGkoYSwhMSksYS5WKyssYS5kYS0tLGEud2EuemE9PT0wKXJldHVybiAxfWVsc2UgYS5jZj0xLGEuVisrLGEuZGEtLX1hLmNmJiYoaGkoYSwwLGEud2luZG93W2EuVi0xXSksYS5jZj0wKTthLnJiPWEuVjwyP2EuVjoyO3JldHVybiBiPT09ND8ocGkoYSwhMCksYS53YS56YT09PTA/Mzo0KTphLmtjJiYocGkoYSwhMSksYS53YS56YT09PTApPzE6Mn07CnlpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQsZSxmPWEud2luZG93Ozspe2lmKGEuZGE8PTI1OCl7dmkoYSk7aWYoYS5kYTw9MjU4JiZiPT09MClyZXR1cm4gMTtpZihhLmRhPT09MClicmVha31hLkJhPTA7aWYoYS5kYT49MyYmYS5WPjAmJihkPWEuVi0xLGM9ZltkXSxjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdKSl7Zm9yKGU9YS5WKzI1ODtjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZkPGU7KTthLkJhPTI1OC0oZS1kKTthLkJhPmEuZGEmJihhLkJhPWEuZGEpfWEuQmE+PTM/KGM9aGkoYSwxLGEuQmEtMyksYS5kYS09YS5CYSxhLlYrPWEuQmEsYS5CYT0wKTooYz1oaShhLDAsYS53aW5kb3dbYS5WXSksYS5kYS0tLGEuVisrKTtpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsCiEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTt6aT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYzs7KXtpZihhLmRhPT09MCYmKHZpKGEpLGEuZGE9PT0wKSl7aWYoYj09PTApcmV0dXJuIDE7YnJlYWt9YS5CYT0wO2M9aGkoYSwwLGEud2luZG93W2EuVl0pO2EuZGEtLTthLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsITApLGEud2EuemE9PT0wPzM6NCk6YS5rYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKT8xOjJ9O0FpPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy50dz1hO3RoaXMuRXk9Yjt0aGlzLld5PWM7dGhpcy5EeT1kO3RoaXMua3c9ZX07CkJpPWZ1bmN0aW9uKCl7dGhpcy53YT1udWxsO3RoaXMuc3RhdHVzPTA7dGhpcy5PYT1udWxsO3RoaXMud3JhcD10aGlzLnBlbmRpbmc9dGhpcy5KaD10aGlzLm5jPTA7dGhpcy5xYT1udWxsO3RoaXMuemM9MDt0aGlzLm1ldGhvZD04O3RoaXMuaWc9LTE7dGhpcy5CZT10aGlzLk5uPXRoaXMuQmI9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuS3M9MDt0aGlzLmhlYWQ9dGhpcy5VYT1udWxsO3RoaXMuU3E9dGhpcy5ZcD10aGlzLnN0cmF0ZWd5PXRoaXMubGV2ZWw9dGhpcy5vbT10aGlzLk5xPXRoaXMuWWI9dGhpcy5kYT10aGlzLmtnPXRoaXMuVj10aGlzLmNmPXRoaXMuQXI9dGhpcy5CYT10aGlzLlViPXRoaXMud2Q9dGhpcy52ZD10aGlzLkxsPXRoaXMuYWo9dGhpcy54YT0wO3RoaXMuUWI9bmV3IEhoLlljKDExNDYpO3RoaXMuUGU9bmV3IEhoLlljKDEyMik7dGhpcy5xYj1uZXcgSGguWWMoNzgpO2tpKHRoaXMuUWIpO2tpKHRoaXMuUGUpO2tpKHRoaXMucWIpO3RoaXMuVG89dGhpcy5JaT0KdGhpcy5waj1udWxsO3RoaXMua2Q9bmV3IEhoLlljKDE2KTt0aGlzLmhlYXA9bmV3IEhoLlljKDU3Myk7a2kodGhpcy5oZWFwKTt0aGlzLlhmPXRoaXMueGQ9MDt0aGlzLmRlcHRoPW5ldyBIaC5ZYyg1NzMpO2tpKHRoaXMuZGVwdGgpO3RoaXMuaGI9dGhpcy5GYj10aGlzLnJiPXRoaXMubWF0Y2hlcz10aGlzLkhnPXRoaXMuQ2Q9dGhpcy5ZZz10aGlzLmtjPXRoaXMuQWg9dGhpcy5rbT0wfTsKRGk9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWEuc3RhdGV8fGI+NXx8YjwwKXJldHVybiBhP2ppKGEsLTIpOi0yO3ZhciBjPWEuc3RhdGU7aWYoIWEub3V0cHV0fHwhYS5pbnB1dCYmYS5EYiE9PTB8fGMuc3RhdHVzPT09NjY2JiZiIT09NClyZXR1cm4gamkoYSxhLnphPT09MD8tNTotMik7Yy53YT1hO3ZhciBkPWMuaWc7Yy5pZz1iO2lmKGMuc3RhdHVzPT09NDIpaWYoYy53cmFwPT09MilhLnNhPTAscWkoYywzMSkscWkoYywxMzkpLHFpKGMsOCksYy5xYT8ocWkoYywoYy5xYS50ZXh0PzE6MCkrKGMucWEuYmU/MjowKSsoYy5xYS5leHRyYT80OjApKyhjLnFhLm5hbWU/ODowKSsoYy5xYS5jb21tZW50PzE2OjApKSxxaShjLGMucWEudGltZSYyNTUpLHFpKGMsYy5xYS50aW1lPj44JjI1NSkscWkoYyxjLnFhLnRpbWU+PjE2JjI1NSkscWkoYyxjLnFhLnRpbWU+PjI0JjI1NSkscWkoYyxjLmxldmVsPT09OT8yOmMuc3RyYXRlZ3k+PTJ8fGMubGV2ZWw8Mj80OjApLHFpKGMsYy5xYS5vcyYyNTUpLApjLnFhLmV4dHJhJiZjLnFhLmV4dHJhLmxlbmd0aCYmKHFpKGMsYy5xYS5leHRyYS5sZW5ndGgmMjU1KSxxaShjLGMucWEuZXh0cmEubGVuZ3RoPj44JjI1NSkpLGMucWEuYmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmcsMCkpLGMuemM9MCxjLnN0YXR1cz02OSk6KHFpKGMsMCkscWkoYywwKSxxaShjLDApLHFpKGMsMCkscWkoYywwKSxxaShjLGMubGV2ZWw9PT05PzI6Yy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzQ6MCkscWkoYywzKSxjLnN0YXR1cz0xMTMpO2Vsc2V7dmFyIGU9OCsoYy5Obi04PDw0KTw8ODtlfD0oYy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzA6Yy5sZXZlbDw2PzE6Yy5sZXZlbD09PTY/MjozKTw8NjtjLlYhPT0wJiYoZXw9MzIpO2Muc3RhdHVzPTExMztyaShjLGUrKDMxLWUlMzEpKTtjLlYhPT0wJiYocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2Euc2E9MX1pZihjLnN0YXR1cz09PTY5KWlmKGMucWEuZXh0cmEpe2ZvcihlPWMucGVuZGluZztjLnpjPAooYy5xYS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoYy5wZW5kaW5nIT09Yy5uY3x8KGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZyE9PWMubmMpKTspcWkoYyxjLnFhLmV4dHJhW2MuemNdJjI1NSksYy56YysrO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2MuemM9PT1jLnFhLmV4dHJhLmxlbmd0aCYmKGMuemM9MCxjLnN0YXR1cz03Myl9ZWxzZSBjLnN0YXR1cz03MztpZihjLnN0YXR1cz09PTczKWlmKGMucWEubmFtZSl7ZT1jLnBlbmRpbmc7ZG97aWYoYy5wZW5kaW5nPT09Yy5uYyYmKGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZz09PWMubmMpKXt2YXIgZj0xO2JyZWFrfWY9Yy56YzxjLnFhLm5hbWUubGVuZ3RoP2MucWEubmFtZS5jaGFyQ29kZUF0KGMuemMrKykmCjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy56Yz0wLGMuc3RhdHVzPTkxKX1lbHNlIGMuc3RhdHVzPTkxO2lmKGMuc3RhdHVzPT09OTEpaWYoYy5xYS5jb21tZW50KXtlPWMucGVuZGluZztkb3tpZihjLnBlbmRpbmc9PT1jLm5jJiYoYy5xYS5iZSYmYy5wZW5kaW5nPmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmctZSxlKSksbGkoYSksZT1jLnBlbmRpbmcsYy5wZW5kaW5nPT09Yy5uYykpe2Y9MTticmVha31mPWMuemM8Yy5xYS5jb21tZW50Lmxlbmd0aD9jLnFhLmNvbW1lbnQuY2hhckNvZGVBdChjLnpjKyspJjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy5zdGF0dXM9MTAzKX1lbHNlIGMuc3RhdHVzPTEwMztjLnN0YXR1cz09PTEwMyYmCihjLnFhLmJlPyhjLnBlbmRpbmcrMj5jLm5jJiZsaShhKSxjLnBlbmRpbmcrMjw9Yy5uYyYmKHFpKGMsYS5zYSYyNTUpLHFpKGMsYS5zYT4+OCYyNTUpLGEuc2E9MCxjLnN0YXR1cz0xMTMpKTpjLnN0YXR1cz0xMTMpO2lmKGMucGVuZGluZyE9PTApe2lmKGxpKGEpLGEuemE9PT0wKXJldHVybiBjLmlnPS0xLDB9ZWxzZSBpZihhLkRiPT09MCYmKGI8PDEpLShiPjQ/OTowKTw9KGQ8PDEpLShkPjQ/OTowKSYmYiE9PTQpcmV0dXJuIGppKGEsLTUpO2lmKGMuc3RhdHVzPT09NjY2JiZhLkRiIT09MClyZXR1cm4gamkoYSwtNSk7aWYoYS5EYiE9PTB8fGMuZGEhPT0wfHxiIT09MCYmYy5zdGF0dXMhPT02NjYpe2Q9Yy5zdHJhdGVneT09PTI/emkoYyxiKTpjLnN0cmF0ZWd5PT09Mz95aShjLGIpOkNpW2MubGV2ZWxdLmt3KGMsYik7aWYoZD09PTN8fGQ9PT00KWMuc3RhdHVzPTY2NjtpZihkPT09MXx8ZD09PTMpcmV0dXJuIGEuemE9PT0wJiYoYy5pZz0tMSksMDtpZihkPT09MiYmKGI9PT0xPwooTmgoYywyLDMpLE9oKGMsMjU2LG5pKSxjLmhiPT09MTY/KE1oKGMsYy5GYiksYy5GYj0wLGMuaGI9MCk6Yy5oYj49OCYmKGMuT2FbYy5wZW5kaW5nKytdPWMuRmImMjU1LGMuRmI+Pj04LGMuaGItPTgpKTpiIT09NSYmKE5oKGMsMCwzKSxUaChjLDAsMCksYj09PTMmJihraShjLmhlYWQpLGMuZGE9PT0wJiYoYy5WPTAsYy5VYj0wLGMucmI9MCkpKSxsaShhKSxhLnphPT09MCkpcmV0dXJuIGMuaWc9LTEsMH1pZihiIT09NClyZXR1cm4gMDtpZihjLndyYXA8PTApcmV0dXJuIDE7Yy53cmFwPT09Mj8ocWkoYyxhLnNhJjI1NSkscWkoYyxhLnNhPj44JjI1NSkscWkoYyxhLnNhPj4xNiYyNTUpLHFpKGMsYS5zYT4+MjQmMjU1KSxxaShjLGEucWYmMjU1KSxxaShjLGEucWY+PjgmMjU1KSxxaShjLGEucWY+PjE2JjI1NSkscWkoYyxhLnFmPj4yNCYyNTUpKToocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2xpKGEpO2Mud3JhcD4wJiYoYy53cmFwPS1jLndyYXApO3JldHVybiBjLnBlbmRpbmchPT0KMD8wOjF9OwpFaT1mdW5jdGlvbihhKXtpZighKHRoaXMgaW5zdGFuY2VvZiBFaSkpcmV0dXJuIG5ldyBFaShhKTthPXRoaXMub3B0aW9ucz1IaC5hc3NpZ24oe2xldmVsOi0xLG1ldGhvZDo4LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6MCx0bzoiIn0sYXx8e30pO2EucmF3JiZhLndpbmRvd0JpdHM+MD9hLndpbmRvd0JpdHM9LWEud2luZG93Qml0czphLmd6aXAmJmEud2luZG93Qml0cz4wJiZhLndpbmRvd0JpdHM8MTYmJihhLndpbmRvd0JpdHMrPTE2KTt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ITE7dGhpcy5jaHVua3M9W107dGhpcy53YT1uZXcgRmk7dGhpcy53YS56YT0wO3ZhciBiPXRoaXMud2E7dmFyIGM9YS5sZXZlbCxkPWEubWV0aG9kLGU9YS53aW5kb3dCaXRzLGY9YS5tZW1MZXZlbCxoPWEuc3RyYXRlZ3k7aWYoYil7dmFyIGs9MTtjPT09LTEmJihjPTYpO2U8MD8oaz0wLGU9LWUpOmU+MTUmJihrPTIsZS09MTYpO2lmKGY8CjF8fGY+OXx8ZCE9PTh8fGU8OHx8ZT4xNXx8YzwwfHxjPjl8fGg8MHx8aD40KWI9amkoYiwtMik7ZWxzZXtlPT09OCYmKGU9OSk7dmFyIGw9bmV3IEJpO2Iuc3RhdGU9bDtsLndhPWI7bC53cmFwPWs7bC5xYT1udWxsO2wuTm49ZTtsLkJiPTE8PGwuTm47bC5CZT1sLkJiLTE7bC5MbD1mKzc7bC5haj0xPDxsLkxsO2wudmQ9bC5hai0xO2wud2Q9fn4oKGwuTGwrMy0xKS8zKTtsLndpbmRvdz1uZXcgSGgudGYobC5CYioyKTtsLmhlYWQ9bmV3IEhoLlljKGwuYWopO2wuVWE9bmV3IEhoLlljKGwuQmIpO2wuQWg9MTw8Zis2O2wubmM9bC5BaCo0O2wuT2E9bmV3IEhoLnRmKGwubmMpO2wuWWc9bC5BaDtsLmttPTMqbC5BaDtsLmxldmVsPWM7bC5zdHJhdGVneT1oO2wubWV0aG9kPWQ7aWYoYiYmYi5zdGF0ZSl7Yi5xZj1iLkVuPTA7Yi5pbD0yO2M9Yi5zdGF0ZTtjLnBlbmRpbmc9MDtjLkpoPTA7Yy53cmFwPDAmJihjLndyYXA9LWMud3JhcCk7Yy5zdGF0dXM9Yy53cmFwPzQyOjExMztiLnNhPQpjLndyYXA9PT0yPzA6MTtjLmlnPTA7aWYoIUdpKXtkPUFycmF5KDE2KTtmb3IoZj1oPTA7ZjwyODtmKyspZm9yKFloW2ZdPWgsZT0wO2U8MTw8WGhbZl07ZSsrKVdoW2grK109ZjtXaFtoLTFdPWY7Zm9yKGY9aD0wO2Y8MTY7ZisrKWZvcihiaVtmXT1oLGU9MDtlPDE8PCRoW2ZdO2UrKylaaFtoKytdPWY7Zm9yKGg+Pj03O2Y8MzA7ZisrKWZvcihiaVtmXT1oPDw3LGU9MDtlPDE8PCRoW2ZdLTc7ZSsrKVpoWzI1NitoKytdPWY7Zm9yKGU9MDtlPD0xNTtlKyspZFtlXT0wO2ZvcihlPTA7ZTw9MTQzOyluaVtlKjIrMV09OCxlKyssZFs4XSsrO2Zvcig7ZTw9MjU1OyluaVtlKjIrMV09OSxlKyssZFs5XSsrO2Zvcig7ZTw9Mjc5OyluaVtlKjIrMV09NyxlKyssZFs3XSsrO2Zvcig7ZTw9Mjg3OyluaVtlKjIrMV09OCxlKyssZFs4XSsrO1FoKG5pLDI4NyxkKTtmb3IoZT0wO2U8MzA7ZSsrKW9pW2UqMisxXT01LG9pW2UqMl09UGgoZSw1KTtIaT1uZXcgS2gobmksWGgsMjU3LDI4NiwxNSk7SWk9Cm5ldyBLaChvaSwkaCwwLDMwLDE1KTtKaT1uZXcgS2goW10sS2ksMCwxOSw3KTtHaT0hMH1jLnBqPW5ldyBMaChjLlFiLEhpKTtjLklpPW5ldyBMaChjLlBlLElpKTtjLlRvPW5ldyBMaChjLnFiLEppKTtjLkZiPTA7Yy5oYj0wO1JoKGMpO2M9MH1lbHNlIGM9amkoYiwtMik7Yz09PTAmJihiPWIuc3RhdGUsYi5Lcz0yKmIuQmIsa2koYi5oZWFkKSxiLm9tPUNpW2IubGV2ZWxdLkV5LGIuWXA9Q2lbYi5sZXZlbF0udHcsYi5TcT1DaVtiLmxldmVsXS5XeSxiLk5xPUNpW2IubGV2ZWxdLkR5LGIuVj0wLGIuVWI9MCxiLmRhPTAsYi5yYj0wLGIuQmE9Yi5ZYj0yLGIuY2Y9MCxiLnhhPTApO2I9Y319ZWxzZSBiPS0yO2lmKGIhPT0wKXRocm93IEVycm9yKGlpW2JdKTthLmhlYWRlciYmKGI9dGhpcy53YSkmJmIuc3RhdGUmJmIuc3RhdGUud3JhcD09PTImJihiLnN0YXRlLnFhPWEuaGVhZGVyKTtpZihhLmRpY3Rpb25hcnkpe3ZhciBtO3R5cGVvZiBhLmRpY3Rpb25hcnk9PT0ic3RyaW5nIj9tPQpJaChhLmRpY3Rpb25hcnkpOkxpLmNhbGwoYS5kaWN0aW9uYXJ5KT09PSJbb2JqZWN0IEFycmF5QnVmZmVyXSI/bT1uZXcgVWludDhBcnJheShhLmRpY3Rpb25hcnkpOm09YS5kaWN0aW9uYXJ5O2E9dGhpcy53YTtmPW07aD1mLmxlbmd0aDtpZihhJiZhLnN0YXRlKWlmKG09YS5zdGF0ZSxiPW0ud3JhcCxiPT09Mnx8Yj09PTEmJm0uc3RhdHVzIT09NDJ8fG0uZGEpYj0tMjtlbHNle2I9PT0xJiYoYS5zYT10aShhLnNhLGYsaCwwKSk7bS53cmFwPTA7aD49bS5CYiYmKGI9PT0wJiYoa2kobS5oZWFkKSxtLlY9MCxtLlViPTAsbS5yYj0wKSxjPW5ldyBIaC50ZihtLkJiKSxIaC53ZihjLGYsaC1tLkJiLG0uQmIsMCksZj1jLGg9bS5CYik7Yz1hLkRiO2Q9YS5mZjtlPWEuaW5wdXQ7YS5EYj1oO2EuZmY9MDthLmlucHV0PWY7Zm9yKHZpKG0pO20uZGE+PTM7KXtmPW0uVjtoPW0uZGEtMjtkbyBtLnhhPShtLnhhPDxtLndkXm0ud2luZG93W2YrMy0xXSkmbS52ZCxtLlVhW2YmbS5CZV09bS5oZWFkW20ueGFdLAptLmhlYWRbbS54YV09ZixmKys7d2hpbGUoLS1oKTttLlY9ZjttLmRhPTI7dmkobSl9bS5WKz1tLmRhO20uVWI9bS5WO20ucmI9bS5kYTttLmRhPTA7bS5CYT1tLlliPTI7bS5jZj0wO2EuZmY9ZDthLmlucHV0PWU7YS5EYj1jO20ud3JhcD1iO2I9MH1lbHNlIGI9LTI7aWYoYiE9PTApdGhyb3cgRXJyb3IoaWlbYl0pO3RoaXMuTUg9ITB9fTtNaT1mdW5jdGlvbihhLGIpe2I9PT0wJiYoYS5yZXN1bHQ9YS5vcHRpb25zLnRvPT09InN0cmluZyI/YS5jaHVua3Muam9pbigiIik6SGguTXAoYS5jaHVua3MpKTthLmNodW5rcz1bXTthLmVycj1iO2EubXNnPWEud2EubXNnfTtfLk5pPWZ1bmN0aW9uKGEpe3ZhciBiPWJ8fHt9O2IuZ3ppcD0hMDtiPW5ldyBFaShiKTtiLnB1c2goYSwhMCk7aWYoYi5lcnIpdGhyb3cgYi5tc2d8fGlpW2IuZXJyXTtyZXR1cm4gYi5yZXN1bHR9OwpfLk9pPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGg+MT9hW2JbMF1dPWJbMV06Yi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKGEsYlswXSl9O18uUWk9ZnVuY3Rpb24oLi4uYSl7Xy5PaShfLlBpLGFyZ3VtZW50cyl9O18udz1mdW5jdGlvbihhLGIpe3JldHVybiBhIGluIF8uUGk/Xy5QaVthXTpifTtfLlJpPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUGkuRVhQRVJJTUVOVF9GTEFHUztyZXR1cm4gYj9iW2FdOnZvaWQgMH07VGk9ZnVuY3Rpb24oYSl7U2kuZm9yRWFjaChiPT5iKGEpKX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmd2luZG93Lnl0ZXJyP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChiKXtfLlVpKGIpfX06YX07Cl8uVWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7Yj9iKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwKTooYj1fLncoIkVSUk9SUyIsW10pLGIucHVzaChbYSwiRVJST1IiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDBdKSxfLlFpKCJFUlJPUlMiLGIpKTtUaShhKX07Xy5XaT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPV8uc2EoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO2Y/ZihhLCJXQVJOSU5HIixiLGMsZCx2b2lkIDAsZSk6KGY9Xy53KCJFUlJPUlMiLFtdKSxmLnB1c2goW2EsIldBUk5JTkciLGIsYyxkLHZvaWQgMCxlXSksXy5RaSgiRVJST1JTIixmKSl9OwpZaT1mdW5jdGlvbihhLGIpe2I9YS5zcGxpdChiKTt2YXIgYz17fTtmb3IobGV0IGY9MCxoPWIubGVuZ3RoO2Y8aDtmKyspe2xldCBrPWJbZl0uc3BsaXQoIj0iKTtpZihrLmxlbmd0aD09PTEmJmtbMF18fGsubGVuZ3RoPT09Mil0cnl7bGV0IGw9WGkoa1swXXx8IiIpLG09WGkoa1sxXXx8IiIpO2lmKGwgaW4gYyl7bGV0IG49Y1tsXTtBcnJheS5pc0FycmF5KG4pP3piKG4sbSk6Y1tsXT1bbixtXX1lbHNlIGNbbF09bX1jYXRjaChsKXt2YXIgZD1sLGU9a1swXTtsZXQgbT1TdHJpbmcoWWkpO2QuYXJncz1be2tleTplLHZhbHVlOmtbMV0scXVlcnk6YSxtZXRob2Q6Wmk9PT1tPyJ1bmNoYW5nZWQiOm19XTskaS5oYXNPd25Qcm9wZXJ0eShlKXx8Xy5XaShkKX19cmV0dXJuIGN9Owphaj1mdW5jdGlvbihhKXt2YXIgYj1bXTtvZChhLChjLGQpPT57dmFyIGU9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSk7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO18udGIoYyxmPT57Zj09IiI/Yi5wdXNoKGUpOmIucHVzaChgJHtlfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZikpfWApfSl9KTtyZXR1cm4gYi5qb2luKCImIil9O18uYmo9ZnVuY3Rpb24oYSl7YS5jaGFyQXQoMCk9PT0iPyImJihhPWEuc3Vic3RyaW5nKDEpKTtyZXR1cm4gWWkoYSwiJiIpfTtkaj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCEwKX07Xy5laj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCExKX07CmNqPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnNwbGl0KCIjIiwyKTthPWRbMF07ZD1kLmxlbmd0aD4xPyIjIitkWzFdOiIiO3ZhciBlPWEuc3BsaXQoIj8iLDIpO2E9ZVswXTtlPV8uYmooZVsxXXx8IiIpO2ZvcihsZXQgZiBpbiBiKSFjJiZlIT09bnVsbCYmZiBpbiBlfHwoZVtmXT1iW2ZdKTtyZXR1cm4gXy5XYihhLGUpK2R9O18uZmo9ZnVuY3Rpb24oYSl7aWYoIWIpdmFyIGI9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIGM9Xy5NYihhKVsxXXx8bnVsbCxkPV8uUGIoYSk7YyYmZD8oYT1fLk1iKGEpLGI9Xy5NYihiKSxhPWFbM109PWJbM10mJmFbMV09PWJbMV0mJmFbNF09PWJbNF0pOmE9ZD9fLlBiKGIpPT09ZCYmKE51bWJlcihfLk1iKGIpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKF8uTWIoYSlbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gYX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEubWF0Y2goZ2opP2E6Xy5IYihhKX07Cl8ubGo9ZnVuY3Rpb24oYT1fLnNhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIil7dmFyIGI9aGosYz1PYmplY3QsZD1jLmFzc2lnbjthOnt0cnl7dmFyIGU9Yi5qLnRvcC5sb2NhdGlvbi5ocmVmfWNhdGNoKEEpe2U9MjticmVhayBhfWU9ZT9lPT09Yi5vLmxvY2F0aW9uLmhyZWY/MDoxOjJ9ZT17ZHQ6aWosZmxhc2g6IjAiLGZybTplfTt0cnl7ZS51X3R6PS0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCk7dHJ5e3ZhciBmPWpqLmhpc3RvcnkubGVuZ3RofWNhdGNoKEEpe2Y9MH1lLnVfaGlzPWY7ZS51X2g9amouc2NyZWVuPy5oZWlnaHQ7ZS51X3c9amouc2NyZWVuPy53aWR0aDtlLnVfYWg9amouc2NyZWVuPy5hdmFpbEhlaWdodDtlLnVfYXc9amouc2NyZWVuPy5hdmFpbFdpZHRoO2UudV9jZD1qai5zY3JlZW4/LmNvbG9yRGVwdGh9Y2F0Y2goQSl7fWY9Yi5qO3RyeXt2YXIgaD1mLnNjcmVlblg7dmFyIGs9Zi5zY3JlZW5ZfWNhdGNoKEEpe310cnl7dmFyIGw9Zi5vdXRlcldpZHRoOwp2YXIgbT1mLm91dGVySGVpZ2h0fWNhdGNoKEEpe310cnl7dmFyIG49Zi5pbm5lcldpZHRoO3ZhciBwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgcj1mLnNjcmVlbkxlZnQ7dmFyIHQ9Zi5zY3JlZW5Ub3B9Y2F0Y2goQSl7fXRyeXtuPWYuaW5uZXJXaWR0aCxwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgdj1mLnNjcmVlbi5hdmFpbFdpZHRoO3ZhciB6PWYuc2NyZWVuLmF2YWlsVG9wfWNhdGNoKEEpe31oPVtyLHQsaCxrLHYseixsLG0sbixwXTt0cnl7dmFyIEU9Xy55ZChiLmoudG9wfHx3aW5kb3cpLnJvdW5kKCl9Y2F0Y2goQSl7RT1uZXcgXy5uZCgtMTIyNDU5MzMsLTEyMjQ1OTMzKX1sPUU7RT1uZXcga2o7IlNWR0VsZW1lbnQiaW4gXy51JiYiY3JlYXRlRWxlbWVudE5TImluIF8udS5kb2N1bWVudCYmRS5zZXQoMCk7az1tZCgpO2tbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZFLnNldCgxKTtrWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmCkUuc2V0KDIpO18udS5jcnlwdG8mJl8udS5jcnlwdG8uc3VidGxlJiZFLnNldCgzKTsiVGV4dERlY29kZXIiaW4gXy51JiYiVGV4dEVuY29kZXIiaW4gXy51JiZFLnNldCg0KTtFPW5oKEUpO2s9bC5oZWlnaHQ7bD1sLndpZHRoO2g9aC5qb2luKCk7Yj1iLm87Yz1kLmNhbGwoYyxlLHtiYzpFLGJpaDprLGJpdzpsLGJyZGltOmgsdmlzOmIucHJlcmVuZGVyaW5nPzM6e3Zpc2libGU6MSxoaWRkZW46MixwcmVyZW5kZXI6MyxwcmV2aWV3OjQsdW5sb2FkZWQ6NSwiIjowfVtiLnZpc2liaWxpdHlTdGF0ZXx8Yi53ZWJraXRWaXNpYmlsaXR5U3RhdGV8fGIubW96VmlzaWJpbGl0eVN0YXRlfHwiIl0/PzAsd2dsOiEhamouV2ViR0xSZW5kZXJpbmdDb250ZXh0fSk7Yy5jYV90eXBlPSJpbWFnZSI7YSYmKGMuYmlkPWEpO3JldHVybiBjfTtfLm1qPWZ1bmN0aW9uKGEsYil7dHlwZW9mIGE9PT0iZnVuY3Rpb24iJiYoYT1fLlZpKGEpKTtyZXR1cm4gd2luZG93LnNldFRpbWVvdXQoYSxiKX07Cm9qPWZ1bmN0aW9uKCl7aWYoIW5qKXJldHVybiBudWxsO3ZhciBhPW5qKCk7cmV0dXJuIm9wZW4iaW4gYT9hOm51bGx9O18ucWo9ZnVuY3Rpb24oYSl7c3dpdGNoKF8ucGooYSkpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjAzOmNhc2UgMjA0OmNhc2UgMjA1OmNhc2UgMjA2OmNhc2UgMzA0OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtfLnBqPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYic3RhdHVzImluIGE/YS5zdGF0dXM6LTF9O18ueD1mdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmciJiZhPT09ImZhbHNlIj8hMTohIWF9O18uc2o9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTnVtYmVyKF8ucmooYSxiKXx8MCl9O18udGo9ZnVuY3Rpb24oYSl7YT1fLnJqKGEpO3JldHVybiBhIT09dm9pZCAwP1N0cmluZyhhKToiIn07Cl8ucmo9ZnVuY3Rpb24oYSxiKXthPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pW2FdO3JldHVybiBhIT09dm9pZCAwP2E6Yn07Xy51aj1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Xy53KCJFWFBFUklNRU5UU19GT1JDRURfRkxBR1MiLHt9KTtmb3IodmFyIGMgb2YgT2JqZWN0LmtleXMoYikpYS5wdXNoKHtrZXk6Yyx2YWx1ZTpTdHJpbmcoYltjXSl9KTtjPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhjKSlkLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZiW2RdPT09dm9pZCAwJiZhLnB1c2goe2tleTpkLHZhbHVlOlN0cmluZyhjW2RdKX0pO3JldHVybiBhfTsKeGo9ZnVuY3Rpb24oYSxiLGM9IkdFVCIsZD0iIixlLGYsaCxrPSExLGwpe3ZhciBtPW9qKCk7aWYoIW0pcmV0dXJuIG51bGw7dmFyIG49KCk9PnsobSYmInJlYWR5U3RhdGUiaW4gbT9tLnJlYWR5U3RhdGU6MCk9PT00JiZiJiZfLlZpKGIpKG0pfTsib25sb2FkZW5kImluIG0/bS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixuLCExKTptLm9ucmVhZHlzdGF0ZWNoYW5nZT1uO18ueCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYoYT12aihhKSk7bS5vcGVuKGMsYSwhMCk7ZiYmKG0ucmVzcG9uc2VUeXBlPWYpO2gmJihtLndpdGhDcmVkZW50aWFscz0hMCk7Yz1jPT09IlBPU1QiJiYod2luZG93LkZvcm1EYXRhPT09dm9pZCAwfHwhKGQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpO2lmKGU9d2ooYSxlKSlmb3IobGV0IHAgaW4gZSltLnNldFJlcXVlc3RIZWFkZXIocCxlW3BdKSwiY29udGVudC10eXBlIj09PXAudG9Mb3dlckNhc2UoKSYmKGM9ITEpO2MmJm0uc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwKImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpO2wmJiJvbnByb2dyZXNzImluIG0mJihtLm9ucHJvZ3Jlc3M9KCk9PntsKG0ucmVzcG9uc2VUZXh0KX0pO2lmKGsmJiJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUpe2E9e2V2ZW50U291cmNlRWxpZ2libGU6ITAsdHJpZ2dlckVsaWdpYmxlOiExfTt0cnl7bS5zZXRBdHRyaWJ1dGlvblJlcG9ydGluZyhhKX1jYXRjaChwKXtfLldpKHApfX1tLnNlbmQoZCk7cmV0dXJuIG19Owp3aj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPV8uZmooYSksZD1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpLGU9Xy54KCJ3ZWJfYWpheF9pZ25vcmVfZ2xvYmFsX2hlYWRlcnNfaWZfc2V0Iik7Zm9yKGxldCBrIGluIHlqKXtsZXQgbD1fLncoeWpba10pLG09az09PSJYLUdvb2ctQXV0aFVzZXIifHxrPT09IlgtR29vZy1QYWdlSWQiO2shPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxsfHwobD1fLncoIlZJU0lUT1JfREFUQSIpKTt2YXIgZjtpZighKGY9IWwpKXtpZighKGY9Y3x8KF8uUGIoYSk/ITE6ITApKSl7Zj1hO3ZhciBoO2lmKGg9Xy54KCJhZGRfYXV0aF9oZWFkZXJzX3RvX3JlbWFya2V0aW5nX2dvb2dsZV9kb3RfY29tX3BpbmciKSYmaz09PSJBdXRob3JpemF0aW9uIiYmKGQ9PT0iVFZIVE1MNSJ8fGQ9PT0iVFZIVE1MNV9VTlBMVUdHRUQifHxkPT09IlRWSFRNTDVfU0lNUExZIikpaD1fLlBiKGYpLGg9aCE9PW51bGw/aC5zcGxpdCgiLiIpLnJldmVyc2UoKTpudWxsLGg9aD09PQpudWxsPyExOmhbMV09PT0iZ29vZ2xlIj8hMDpoWzJdPT09Imdvb2dsZSI/aFswXT09PSJhdSImJmhbMV09PT0iY29tIj8hMDpoWzBdPT09InVrIiYmaFsxXT09PSJjbyI/ITA6ITE6ITE7aCYmKGY9Xy5RYihmKXx8IiIsZj1mLnNwbGl0KCIvIiksZj0iLyIrKGYubGVuZ3RoPjE/ZlsxXToiIiksaD1mPT09Ii9wYWdlYWQiKTtmPWg/ITA6ITF9Zj0hZn1mfHxlJiZiW2tdIT09dm9pZCAwfHxkPT09IlRWSFRNTDVfVU5QTFVHR0VEIiYmbXx8KGJba109bCl9IlgtR29vZy1FT00tVmlzaXRvci1JZCJpbiBiJiYiWC1Hb29nLVZpc2l0b3ItSWQiaW4gYiYmZGVsZXRlIGJbIlgtR29vZy1WaXNpdG9yLUlkIl07aWYoY3x8IV8uUGIoYSkpYlsiWC1Zb3VUdWJlLVV0Yy1PZmZzZXQiXT1TdHJpbmcoLShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSk7aWYoY3x8IV8uUGIoYSkpe2xldCBrO3RyeXtrPShuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmV9Y2F0Y2h7fWsmJgooYlsiWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPWspfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhYyYmXy5QYihhKXx8KGJbIlgtWW91VHViZS1BZC1TaWduYWxzIl09YWooXy5saigpKSk7cmV0dXJuIGJ9O0FqPWZ1bmN0aW9uKGEsYil7Yi5tZXRob2Q9IlBPU1QiO2IucG9zdFBhcmFtc3x8KGIucG9zdFBhcmFtcz17fSk7cmV0dXJuIF8uemooYSxiKX07Cl8uemo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmZvcm1hdHx8IkpTT04iO2E9QmooYSxiKTt2YXIgZD1DaihhLGIpLGU9ITEsZj1EaihhLGs9PntpZighZSl7ZT0hMDtoJiZ3aW5kb3cuY2xlYXJUaW1lb3V0KGgpO3ZhciBsPV8ucWooayksbT1udWxsLG49NDAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NTAwLHA9NTAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NjAwO2lmKGx8fG58fHApbT1FaihhLGMsayxiLmNvbnZlcnRUb1NhZmVIdG1sKTtsJiYobD1GaihjLGssbSkpO209bXx8e307bj1iLmNvbnRleHR8fF8udTtsP2Iub25TdWNjZXNzJiZiLm9uU3VjY2Vzcy5jYWxsKG4sayxtKTpiLm9uRXJyb3ImJmIub25FcnJvci5jYWxsKG4sayxtKTtiLm9uRmluaXNoJiZiLm9uRmluaXNoLmNhbGwobixrLG0pfX0sYi5tZXRob2QsZCxiLmhlYWRlcnMsYi5yZXNwb25zZVR5cGUsYi53aXRoQ3JlZGVudGlhbHMsITEsYi5vblByb2dyZXNzKTtkPWIudGltZW91dHx8MDtpZihiLm9uVGltZW91dCYmZD4wKXtsZXQgaz0KYi5vblRpbWVvdXQ7dmFyIGg9Xy5taigoKT0+e2V8fChlPSEwLGYuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLGsuY2FsbChiLmNvbnRleHR8fF8udSxmKSl9LGQpfXJldHVybiBmfTtCaj1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZURvbWFpbiYmKGE9ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIitkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSsoZG9jdW1lbnQubG9jYXRpb24ucG9ydD8iOiIrZG9jdW1lbnQubG9jYXRpb24ucG9ydDoiIikrYSk7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKTtpZihiPWIudXJsUGFyYW1zKWJbY10mJmRlbGV0ZSBiW2NdLGE9ZGooYSxiKTtyZXR1cm4gYX07CkNqPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKSxkPV8udygiWFNSRl9UT0tFTiIpLGU9Yi5wb3N0Qm9keXx8IiIsZj1iLnBvc3RQYXJhbXMsaD1fLncoIlhTUkZfRklFTERfTkFNRSIpLGs7Yi5oZWFkZXJzJiYoaz1iLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdKTtiLmV4Y2x1ZGVYc3JmfHxfLlBiKGEpJiYhYi53aXRoQ3JlZGVudGlhbHMmJl8uUGIoYSkhPT1kb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZXx8Yi5tZXRob2QhPT0iUE9TVCJ8fGsmJmshPT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkInx8Yi5wb3N0UGFyYW1zJiZiLnBvc3RQYXJhbXNbaF18fChmfHwoZj17fSksZltjXT1kKTtmJiZ0eXBlb2YgZT09PSJzdHJpbmciJiYoZT1fLmJqKGUpLHNkKGUsZiksZT1iLnBvc3RCb2R5Rm9ybWF0JiZiLnBvc3RCb2R5Rm9ybWF0PT09IkpTT04iP0pTT04uc3RyaW5naWZ5KGUpOl8uVWIoZSkpO2Y9ZXx8ZiYmIV8ucGQoZik7IUdqJiZmJiYKYi5tZXRob2QhPT0iUE9TVCImJihHaj0hMCxfLlVpKEVycm9yKCJjYSIpKSk7cmV0dXJuIGV9O0VqPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW51bGw7c3dpdGNoKGIpe2Nhc2UgIkpTT04iOmxldCBmO3RyeXtmPWMucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGQ9RXJyb3IoImRhIiksZC5wYXJhbXM9YSxfLldpKGQpLGg7fWE9Yy5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIil8fCIiO2lmKGYmJmEuaW5kZXhPZigianNvbiIpPj0wKXtmLnN1YnN0cmluZygwLDUpPT09IildfSdcbiImJihmPWYuc3Vic3RyaW5nKDUpKTt0cnl7ZT1KU09OLnBhcnNlKGYpfWNhdGNoKGgpe319YnJlYWs7Y2FzZSAiWE1MIjppZihhPShhPWMucmVzcG9uc2VYTUwpP0hqKGEpOm51bGwpZT17fSxfLnRiKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxoPT57ZVtoLnRhZ05hbWVdPUlqKGgpfSl9ZCYmSmooZSk7cmV0dXJuIGV9OwpKaj1mdW5jdGlvbihhKXtpZihfLkFhKGEpKWZvcihsZXQgYiBpbiBhKWI9PT0iaHRtbF9jb250ZW50Inx8Xy5NYShiLCJfaHRtbCIpP2FbYl09Xy5nYihhW2JdKTpKaihhW2JdKX07Rmo9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmIuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChhKXtjYXNlICJKU09OIjpyZXR1cm4hIWM7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKGMmJmMucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFjfX07SGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/KGE9KCJyZXNwb25zZVhNTCJpbiBhP2EucmVzcG9uc2VYTUw6YSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInJvb3QiKSkmJmEubGVuZ3RoPjA/YVswXTpudWxsOm51bGx9O0lqPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO18udGIoYS5jaGlsZE5vZGVzLGM9PntiKz1jLm5vZGVWYWx1ZX0pO3JldHVybiBifTsKdmo9ZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxjPV8uUGIoYSk7Xy54KCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IWMmJl8uZmooYSkmJihjPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgZD1fLlFiKGEpO2Q9KGM9YyYmKGMuZW5kc1dpdGgoInlvdXR1YmUuY29tIil8fGMuZW5kc1dpdGgoInlvdXR1YmUtbm9jb29raWUuY29tIikpKSYmZCYmZC5zdGFydHNXaXRoKCIvYXBpLyIpO2lmKCFjfHxkKXJldHVybiBhO3ZhciBlPV8uYmooYiksZj17fTtfLnRiKEtqLGg9PntlW2hdJiYoZltoXT1lW2hdKX0pO3JldHVybiBfLmVqKGEsZil9O18uTWo9ZnVuY3Rpb24oYSxiLGMsZD0ieW91dHViZS5jb20iLGU9ITEpe18uTGouc2V0KGEsYix7dmo6YyxwYXRoOiIvIixkb21haW46ZCxzZWN1cmU6ZX0pfTsKXy5Oaj1mdW5jdGlvbihhLGI9Ii8iLGM9InlvdXR1YmUuY29tIil7Xy5Mai5yZW1vdmUoYSxiLGMpfTtfLk9qPWZ1bmN0aW9uKCl7aWYoIV8udS5tYXRjaE1lZGlhKXJldHVybiJXRUJfRElTUExBWV9NT0RFX1VOS05PV04iO3RyeXtyZXR1cm4gXy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpfLnUubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogbWluaW1hbC11aSkiKS5tYXRjaGVzPyJXRUJfRElTUExBWV9NT0RFX01JTklNQUxfVUkiOl8udS5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSIpLm1hdGNoZXM/IldFQl9ESVNQTEFZX01PREVfRlVMTFNDUkVFTiI6Xy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChhKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwpfLlBqPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9W107IlVTRVJfU0VTU0lPTl9JRCJpbiBfLlBpJiZjLnB1c2goe2tleToidSIsdmFsdWU6Xy53KCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKGM9Xy5QZChjKSliLkF1dGhvcml6YXRpb249YyxjPWE9YT8uc2Vzc2lvbkluZGV4LGM9PT12b2lkIDAmJihjPU51bWJlcihfLncoIlNFU1NJT05fSU5ERVgiLDApKSxjPWlzTmFOKGMpPzA6YyksXy54KCJ2b2ljZV9zZWFyY2hfYXV0aF9oZWFkZXJfcmVtb3ZhbCIpfHwoYlsiWC1Hb29nLUF1dGhVc2VyIl09Yy50b1N0cmluZygpKSwiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiaW4gXy5QaXx8KGJbIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIF8uUGkmJihiWyJYLUdvb2ctUGFnZUlkIl09Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpKTtyZXR1cm4gYn07ClFqPWZ1bmN0aW9uKCl7dmFyIGE9Xy51Lm5hdmlnYXRvcjtyZXR1cm4gYT9hLmNvbm5lY3Rpb246dm9pZCAwfTtfLlNqPWZ1bmN0aW9uKCl7dmFyIGE9UWooKTtpZihhKXt2YXIgYj1SalthLnR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO2E9UmpbYS5lZmZlY3RpdmVUeXBlfHwidW5rbm93biJdfHwiQ09OTl9VTktOT1dOIjtiPT09IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiImJmEhPT0iQ09OTl9VTktOT1dOIiYmKGI9YSk7aWYoYiE9PSJDT05OX1VOS05PV04iKXJldHVybiBiO2lmKGEhPT0iQ09OTl9VTktOT1dOIilyZXR1cm4gYX19O18uVWo9ZnVuY3Rpb24oKXt2YXIgYT1RaigpO2lmKGE/LmVmZmVjdGl2ZVR5cGUpcmV0dXJuIFRqLmhhc093blByb3BlcnR5KGEuZWZmZWN0aXZlVHlwZSk/VGpbYS5lZmZlY3RpdmVUeXBlXToiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9VTktOT1dOIn07Xy5Xaj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gXy5WaigpLCEwfWNhdGNoKGEpe3JldHVybiExfX07Cl8uVmo9ZnVuY3Rpb24oYT0idW5rbm93biIpe2lmKF8udygiREFUQVNZTkNfSUQiKSE9PXZvaWQgMClyZXR1cm4gXy53KCJEQVRBU1lOQ19JRCIpO3Rocm93IG5ldyBfLlhqKCJEYXRhc3luYyBJRCBub3Qgc2V0IixhKTt9O18uWWo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDAsYil9O1pqPWZ1bmN0aW9uKGEsYil7dHJ5e2IoKX1jYXRjaChjKXthLkpiKGMpfX07Yms9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54KCJlbmFibGVfc2NoZWR1bGVyX3NpbXVsYXRlX3JhZiIpO2lmKGEub1s4XS5sZW5ndGgpe2lmKGEuaGEpcmV0dXJuIDQ7aWYoYil7aWYoIWEuaXNIaWRkZW4oKSlyZXR1cm4gYS5aPzM6NX1lbHNlIGlmKGFrKGEpKXJldHVybiAzfWZvcihsZXQgYz01O2M+PWEuQjtjLS0paWYoYS5vW2NdLmxlbmd0aD4wKXJldHVybiBjPjA/Yj9hLmlzSGlkZGVuKCk/MjphLlo/Mzo1OmFrKGEpPzM6MjoxO3JldHVybiAwfTsKY2s9ZnVuY3Rpb24oYSl7YS5nYS5sZW5ndGg9MDtmb3IobGV0IGI9NTtiPj0wO2ItLSlhLm9bYl0ubGVuZ3RoPTA7YS5vWzhdLmxlbmd0aD0wO2Eudj17fTthLnN0b3AoKX07YWs9ZnVuY3Rpb24oYSl7cmV0dXJuIWEuaXNIaWRkZW4oKSYmYS5afTtlaz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgZGspaWYoYS5vW2JdLmxlbmd0aClyZXR1cm4hMDtyZXR1cm4hMX07CmhrPWZ1bmN0aW9uKGEsYixjKXthLmhhJiZhLkk9PT00JiZhLmp8fGEuc3RvcCgpO2EuRD0hMDtiPV8uRWEoKSsoYnx8YS5NKTtmb3IodmFyIGQ9YS5vWzVdO2QubGVuZ3RoOyl7dmFyIGU9ZC5zaGlmdCgpLGY9YS52W2VdO2RlbGV0ZSBhLnZbZV07aWYoZil7ZT1hO3RyeXtmKGMpfWNhdGNoKGgpe2UuSmIoaCl9fX1mb3IoZD1hLm9bNF07ZC5sZW5ndGg7KWM9ZC5zaGlmdCgpLGY9YS52W2NdLGRlbGV0ZSBhLnZbY10sZiYmWmooYSxmKTtkPWEueWE/MDoxO2Q9YS5CPmQ/YS5COmQ7aWYoIShfLkVhKCk+PWIpKXtkb3thOntjPWE7Zj1kO2ZvcihlPTM7ZT49ZjtlLS0pe2xldCBoPWMub1tlXTtmb3IoO2gubGVuZ3RoOyl7bGV0IGs9aC5zaGlmdCgpLGw9Yy52W2tdO2RlbGV0ZSBjLnZba107aWYobCl7Yz1sO2JyZWFrIGF9fX1jPW51bGx9YyYmWmooYSxjKX13aGlsZShjJiZfLkVhKCk8Yil9YS5EPSExO2ZrKGEpO2EuTT1naztlayhhKSYmYS5zdGFydCgpfTsKaWs9ZnVuY3Rpb24oYSl7YS5zdG9wKCk7YS5EPSEwO2Zvcih2YXIgYj1fLkVhKCksYz1hLm9bOF07Yy5sZW5ndGg7KXtsZXQgZD1jLnNoaWZ0KCksZT1hLnZbZF07ZGVsZXRlIGEudltkXTtlJiZaaihhLGUpfWZrKGEpO2EuRD0hMTtlayhhKSYmYS5zdGFydCgpO2I9Xy5FYSgpLWI7YS5NLT1ifTtmaz1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWEuZ2EubGVuZ3RoO2I8YztiKyspe2xldCBkPWEuZ2FbYl07YS5vW2QucHJpb3JpdHldLnB1c2goZC5pZCl9YS5nYS5sZW5ndGg9MH07a2s9ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2lmKCFhfHxhLmlhKCkpYT1uZXcgamsoXy53KCJzY2hlZHVsZXIiKXx8e30pLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixhKTtyZXR1cm4gYX07Cm1rPWZ1bmN0aW9uKCl7bGsoKTt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2EmJihfLlpkKGEpLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixudWxsKSl9O2xrPWZ1bmN0aW9uKCl7Y2soa2soKSk7Zm9yKGxldCBhIGluIG5rKW5rLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgbmtbTnVtYmVyKGEpXX07b2s9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjKXJldHVybiBjPWM9PT12b2lkIDAsLWtrKCkuR2EoYSxiLGMpO3ZhciBkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dmFyIGU9a2soKS5HYShhLGIpO25rW2RdPWV9LGMpO3JldHVybiBkfTtwaz1mdW5jdGlvbihhKXtraygpLlUoYSl9O3FrPWZ1bmN0aW9uKGEpe3ZhciBiPWtrKCk7aWYoYTwwKWIuQWEoLWEpO2Vsc2V7dmFyIGM9bmtbYV07Yz8oYi5BYShjKSxkZWxldGUgbmtbYV0pOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9fTtzaz1mdW5jdGlvbigpe3JrKCl9Owpyaz1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGspO2trKCkuc3RhcnQoKX07dms9ZnVuY3Rpb24oKXtraygpLnBhdXNlKCk7d2luZG93LmNsZWFyVGltZW91dCh0ayk7dGs9d2luZG93LnNldFRpbWVvdXQoc2ssdWspfTt5az1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQod2spO3drPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57eGsoMCl9LHVrKX07eGs9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj1hO2Iuc3RhcnQoKX07ems9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj5hJiYoYi5CPWEsYi5zdGFydCgpKX07QWs9ZnVuY3Rpb24oKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHdrKTt2YXIgYT1raygpO2EuQj0wO2Euc3RhcnQoKX07Xy5Daz1mdW5jdGlvbigpe0JrLmluc3RhbmNlfHwoQmsuaW5zdGFuY2U9bmV3IEJrKTtyZXR1cm4gQmsuaW5zdGFuY2V9OwpFaz1mdW5jdGlvbigpe3JldHVybiBEaygpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTtfLklrPWZ1bmN0aW9uKGEpe0ZrfHwoXy5Haz9fLkdrLkpiKGEpOihfLkhrLnB1c2goe3R5cGU6IkVSUk9SIixwYXlsb2FkOmF9KSxfLkhrLmxlbmd0aD4xMCYmXy5Iay5zaGlmdCgpKSl9O0prPWZ1bmN0aW9uKGEsYil7Rmt8fChfLkdrP18uR2subG0oYSxiKTooXy5Iay5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOmEscGF5bG9hZDpifSksXy5Iay5sZW5ndGg+MTAmJl8uSGsuc2hpZnQoKSkpfTtLaz1mdW5jdGlvbihhKXtpZihhLmluZGV4T2YoIjoiKT49MCl0aHJvdyBFcnJvcigiaGEiKTt9O0xrPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN1YnN0cigwLGEuaW5kZXhPZigiOiIpKXx8YX07Xy5Naz1mdW5jdGlvbihhKXt2YXIgYj1fLmJjKCk7cmV0dXJuIGI/Yi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoYSk+PTA6ITF9OwpSaz1mdW5jdGlvbihhLGIsYyxkKXtiPUxrKGIpO3ZhciBlPWEgaW5zdGFuY2VvZiBFcnJvcj9hOkVycm9yKCJpYWAiK2EpO2lmKGUgaW5zdGFuY2VvZiBOaylyZXR1cm4gZTthPXtvYmplY3RTdG9yZU5hbWVzOmMsZGJOYW1lOmIsZGJWZXJzaW9uOmR9O2lmKGUubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IiKXJldHVybiBuZXcgTmsoIlFVT1RBX0VYQ0VFREVEIixhKTtpZihfLk9rJiZlLm5hbWU9PT0iVW5rbm93bkVycm9yIilyZXR1cm4gbmV3IE5rKCJRVU9UQV9NQVlCRV9FWENFRURFRCIsYSk7aWYoZSBpbnN0YW5jZW9mIFBrKXJldHVybiBuZXcgTmsoIk1JU1NJTkdfSU5ERVgiLHsuLi5hLG9iamVjdFN0b3JlOmUub2JqZWN0U3RvcmUsaW5kZXg6ZS5pbmRleH0pO2lmKGUubmFtZT09PSJJbnZhbGlkU3RhdGVFcnJvciImJlFrLnNvbWUoZj0+ZS5tZXNzYWdlLmluY2x1ZGVzKGYpKSlyZXR1cm4gbmV3IE5rKCJFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQiIsYSk7aWYoZS5uYW1lPT09CiJBYm9ydEVycm9yIilyZXR1cm4gbmV3IE5rKCJVTktOT1dOX0FCT1JUIixhLGUubWVzc2FnZSk7ZS5hcmdzPVt7Li4uYSxuYW1lOiJJZGJFcnJvciIsTW06ZS5uYW1lfV07ZS5sZXZlbD0iV0FSTklORyI7cmV0dXJuIGV9O1NrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1FaygpO3JldHVybiBuZXcgTmsoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOmEscHVibGljTmFtZTpiLHZlcnNpb246YyxoYXNTdWNjZWVkZWRPbmNlOmQ/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9O1RrPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCk7dGhyb3cgYTt9O1VrPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtYaz1mdW5jdGlvbihhLGIsYyxkLGUpe3RyeXtpZihhLnN0YXRlLnN0YXR1cyE9PSJGVUxGSUxMRUQiKXRocm93IEVycm9yKCJqYSIpO2xldCBmPWMoYS5zdGF0ZS52YWx1ZSk7ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfWNhdGNoKGYpe2UoZil9fTsKWWs9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0cnl7aWYoYS5zdGF0ZS5zdGF0dXMhPT0iUkVKRUNURUQiKXRocm93IEVycm9yKCJrYSIpO2xldCBmPWMoYS5zdGF0ZS5yZWFzb24pO2YgaW5zdGFuY2VvZiBfLlZrP1drKGEsYixmLGQsZSk6ZChmKX1jYXRjaChmKXtlKGYpfX07V2s9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPT09Yz9lKG5ldyBUeXBlRXJyb3IoImxhIikpOmMudGhlbihmPT57ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfSxmPT57ZShmKX0pfTtaaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9KCk9Pnt0cnl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWNjZXNzIixlKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixmKX1jYXRjaHt9fSxlPSgpPT57YihhLnJlc3VsdCk7ZCgpfSxmPSgpPT57YyhhLmVycm9yKTtkKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsZSk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZil9Owokaz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoKGIsYyk9PntaayhhLGIsYyl9KX07Ymw9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlZrKG5ldyBhbCgoYixjKT0+e1prKGEsYixjKX0pKX07Y2w9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChjLGQpPT57dmFyIGU9KCk9Pnt2YXIgZj1hP2IoYSk6bnVsbDtmP2YudGhlbihoPT57YT1oO2UoKX0sZCk6YygpfTtlKCl9KSl9O2RsPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiaWRiX2ltbWVkaWF0ZV9jb21taXQiKX07Cl8uaWw9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e21vZGU6InJlYWRvbmx5IixrYjohMSx0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiJ9O3R5cGVvZiBjPT09InN0cmluZyI/ZS5tb2RlPWM6T2JqZWN0LmFzc2lnbihlLGMpO2EudHJhbnNhY3Rpb25Db3VudCsrO2M9ZS5rYj8zOjE7Zm9yKHZhciBmPTAsaDshaDspe2YrKztsZXQgbj1NYXRoLnJvdW5kKCgwLF8uZWwpKCkpO3RyeXt2YXIgaz1hLmoudHJhbnNhY3Rpb24oYixlLm1vZGUpLGw9ZCxtPSEhZS5jb21taXQ7bGV0IHA9bmV3IGZsKGspLHI9YXdhaXQgZ2wocCxsLG0pLHQ9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKTtobChhLG4sdCxmLHZvaWQgMCxiLmpvaW4oKSxlKTtyZXR1cm4gcn1jYXRjaChwKXtsPU1hdGgucm91bmQoKDAsXy5lbCkoKSk7bGV0IHI9UmsocCxhLmoubmFtZSxiLmpvaW4oKSxhLmoudmVyc2lvbik7aWYociBpbnN0YW5jZW9mIE5rJiYhci5qfHxmPj1jKWhsKGEsbixsLGYscixiLmpvaW4oKSwKZSksaD1yfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9O18ua2w9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLmNyZWF0ZU9iamVjdFN0b3JlKGIsYyk7cmV0dXJuIG5ldyBqbChhKX07Xy5tbD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uaWwoYSxbYl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9Pl8ubGwoZC5vYmplY3RTdG9yZShiKSxjKSl9OwpobD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtiPWMtYjtlPyhlIGluc3RhbmNlb2YgTmsmJihlLnR5cGU9PT0iUVVPVEFfRVhDRUVERUQifHxlLnR5cGU9PT0iUVVPVEFfTUFZQkVfRVhDRUVERUQiKSYmSmsoIlFVT1RBX0VYQ0VFREVEIix7ZGJOYW1lOkxrKGEuai5uYW1lKSxvYmplY3RTdG9yZU5hbWVzOmYsdHJhbnNhY3Rpb25Db3VudDphLnRyYW5zYWN0aW9uQ291bnQsdHJhbnNhY3Rpb25Nb2RlOmgubW9kZX0pLGUgaW5zdGFuY2VvZiBOayYmZS50eXBlPT09IlVOS05PV05fQUJPUlQiJiYoYy09YS52LGM8MCYmYz49MjE0NzQ4MzY0OCYmKGM9MCksSmsoIlRSQU5TQUNUSU9OX1VORVhQRUNURURMWV9BQk9SVEVEIix7b2JqZWN0U3RvcmVOYW1lczpmLHRyYW5zYWN0aW9uRHVyYXRpb246Yix0cmFuc2FjdGlvbkNvdW50OmEudHJhbnNhY3Rpb25Db3VudCxkYkR1cmF0aW9uOmN9KSxhLm89ITApLG5sKGEsITEsZCxmLGIsaC50YWcpLF8uSWsoZSkpOm5sKGEsITAsZCxmLGIsaC50YWcpfTsKbmw9ZnVuY3Rpb24oYSxiLGMsZCxlLGY9IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiIpe0prKCJUUkFOU0FDVElPTl9FTkRFRCIse29iamVjdFN0b3JlTmFtZXM6ZCxjb25uZWN0aW9uSGFzVW5rbm93bkFib3J0ZWRUcmFuc2FjdGlvbjphLm8sZHVyYXRpb246ZSxpc1N1Y2Nlc3NmdWw6Yix0cnlDb3VudDpjLHRhZzpmfSl9O18ubGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYmwoYS5qLnB1dChiLHZvaWQgMCkpfTtfLm9sPWZ1bmN0aW9uKGEsYixjKXthLmouY3JlYXRlSW5kZXgoYixjLHt1bmlxdWU6ITF9KX07cWw9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLm9wZW5DdXJzb3IoYi5xdWVyeSxiLmRpcmVjdGlvbik7cmV0dXJuIHBsKGEpLnRoZW4oZD0+Y2woZCxjKSl9O3NsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGM9PmMuZGVsZXRlKCkudGhlbigoKT0+cmwoYykpKS50aGVuKCgpPT57fSl9Owp0bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtnbD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFByb21pc2UoKGUsZik9Pnt0cnl7bGV0IGg9YihhKTtjJiZhLmNvbW1pdCgpO2gudGhlbihrPT57ZShrKX0pLmNhdGNoKGYpfWNhdGNoKGgpe2YoaCksYS5hYm9ydCgpfX0pO3JldHVybiBQcm9taXNlLmFsbChbZCxhLmRvbmVdKS50aGVuKChbZV0pPT5lKX07dWw9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7cXVlcnk6ZD1udWxsLGRpcmVjdGlvbjplPSJuZXh0In09YjthPWEuai5vcGVuQ3Vyc29yKGQsZSk7cmV0dXJuIHBsKGEpLnRoZW4oZj0+Y2woZixjKSl9Owp2bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHVsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtwbD1mdW5jdGlvbihhKXtyZXR1cm4gYmwoYSkudGhlbihiPT5iP25ldyB3bChhLGIpOm51bGwpfTtybD1mdW5jdGlvbihhKXthLmN1cnNvci5jb250aW51ZSh2b2lkIDApO3JldHVybiBwbChhLnJlcXVlc3QpfTsKeWw9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgUHJvbWlzZSgoZCxlKT0+e3ZhciBmPWIhPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihhLGIpOnNlbGYuaW5kZXhlZERCLm9wZW4oYSk7dmFyIGg9Yy5ibG9ja2VkLGs9Yy5ibG9ja2luZyxsPWMuVEEsbT1jLnVwZ3JhZGUsbj1jLmNsb3NlZCxwLHI9KCk9PntwfHwocD1uZXcgeGwoZi5yZXN1bHQse2Nsb3NlZDpufSkpO3JldHVybiBwfTtmLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLHQ9Pnt0cnl7aWYodC5uZXdWZXJzaW9uPT09bnVsbCl0aHJvdyBFcnJvcigibmEiKTtpZihmLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigib2EiKTt0LmRhdGFMb3NzJiZ0LmRhdGFMb3NzIT09Im5vbmUiJiZKaygiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOnQuZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpMayhhKX0pO2xldCB2PXIoKSx6PW5ldyBmbChmLnRyYW5zYWN0aW9uKTttJiYKbSh2LEU9PnQub2xkVmVyc2lvbjxFJiZ0Lm5ld1ZlcnNpb24+PUUseik7ei5kb25lLmNhdGNoKEU9PntlKEUpfSl9Y2F0Y2godil7ZSh2KX19KTtmLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLCgpPT57dmFyIHQ9Zi5yZXN1bHQ7ayYmdC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIiwoKT0+e2socigpKX0pO3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57SmsoIklEQl9VTkVYUEVDVEVETFlfQ0xPU0VEIix7ZGJOYW1lOkxrKGEpLGRiVmVyc2lvbjp0LnZlcnNpb259KTtsJiZsKCl9KTtkKHIoKSl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2UoZi5lcnJvcil9KTtoJiZmLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLCgpPT57aCgpfSl9KX07emw9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiB5bChhLGIsYyl9OwpfLkFsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dHJ5e2xldCBjPXNlbGYuaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGEpLGQ9Yi5ibG9ja2VkO2QmJmMuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntkKCl9KTthd2FpdCAkayhjKX1jYXRjaChjKXt0aHJvdyBSayhjLGEsIiIsLTEpO319O0JsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBOaygiSU5DT01QQVRJQkxFX0RCX1ZFUlNJT04iLHtkYk5hbWU6YS5uYW1lLG9sZFZlcnNpb246YS5vcHRpb25zLnZlcnNpb24sbmV3VmVyc2lvbjpifSl9O18uQ2w9ZnVuY3Rpb24oYSxiKXtpZighYil0aHJvdyBTaygib3BlbldpdGhUb2tlbiIsTGsoYS5uYW1lKSk7cmV0dXJuIGEub3BlbigpfTsKRWw9YXN5bmMgZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5pbChhd2FpdCBfLkNsKERsLGIpLFsiZGF0YWJhc2VzIl0se2tiOiEwLG1vZGU6InJlYWR3cml0ZSJ9LGM9Pnt2YXIgZD1jLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKTtyZXR1cm4gZC5nZXQoYS5hY3R1YWxOYW1lKS50aGVuKGU9PntpZihlP2EuYWN0dWFsTmFtZSE9PWUuYWN0dWFsTmFtZXx8YS5wdWJsaWNOYW1lIT09ZS5wdWJsaWNOYW1lfHxhLnVzZXJJZGVudGlmaWVyIT09ZS51c2VySWRlbnRpZmllcjoxKXJldHVybiBfLmxsKGQsYSkudGhlbigoKT0+e30pfSl9KX07Xy5GbD1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBhPyhhd2FpdCBfLkNsKERsLGIpKS5kZWxldGUoImRhdGFiYXNlcyIsYSk6dm9pZCAwfTsKXy5HbD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I9YXdhaXQgXy5DbChEbCxiKTthd2FpdCBfLmlsKGIsWyJkYXRhYmFzZXMiXSx7a2I6ITAsbW9kZToicmVhZG9ubHkifSxkPT57Yy5sZW5ndGg9MDtyZXR1cm4gcWwoZC5vYmplY3RTdG9yZSgiZGF0YWJhc2VzIikse30sZT0+e2EoZS5jdXJzb3IudmFsdWUpJiZjLnB1c2goZS5jdXJzb3IudmFsdWUpO3JldHVybiBybChlKX0pfSk7cmV0dXJuIGN9O0hsPWZ1bmN0aW9uKGEpe3JldHVybiBfLkdsKGI9PmIucHVibGljTmFtZT09PSJMb2dzRGF0YWJhc2VWMiImJmIudXNlcklkZW50aWZpZXIhPT12b2lkIDAsYSl9OwpMbD1hc3luYyBmdW5jdGlvbigpe2lmKEVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIGE7aWYoYT1fLklsKWE9L1dlYktpdFwvKFswLTldKykvLmV4ZWMoXy5iYygpKSxhPSEhKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDApO2EmJihhPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKF8uYmMoKSksYT0hKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDIpKTtpZighKGE9YXx8Xy5KbCkpe3RyeXthPXNlbGY7dmFyIGI9ISEoYS5pbmRleGVkREImJmEuSURCSW5kZXgmJmEuSURCS2V5UmFuZ2UmJmEuSURCT2JqZWN0U3RvcmUpfWNhdGNoKGMpe2I9ITF9YT0hYn1pZihhfHwhKCJJREJUcmFuc2FjdGlvbiJpbiBzZWxmJiYib2JqZWN0U3RvcmVOYW1lcyJpbiBJREJUcmFuc2FjdGlvbi5wcm90b3R5cGUpKXJldHVybiExO3RyeXtyZXR1cm4gYXdhaXQgRWwoe2FjdHVhbE5hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLHB1YmxpY05hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLAp1c2VySWRlbnRpZmllcjp2b2lkIDB9LEtsKSxhd2FpdCBfLkZsKCJ5dC1pZGItdGVzdC1kby1ub3QtdXNlIixLbCksITB9Y2F0Y2goYyl7cmV0dXJuITF9fTtObD1mdW5jdGlvbigpe2lmKE1sIT09dm9pZCAwKXJldHVybiBNbDtGaz0hMDtyZXR1cm4gTWw9TGwoKS50aGVuKGE9PntGaz0hMTtpZihEaygpPy5vKCkpe3ZhciBiPXtoYXNTdWNjZWVkZWRPbmNlOkVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2V8fGF9O0RrKCk/LnNldCgiTEFTVF9SRVNVTFRfRU5UUllfS0VZIixiLDI1OTJFMywhMCl9cmV0dXJuIGF9KX07T2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zYSgieXRnbG9iYWwuaWRiVG9rZW5fIil8fHZvaWQgMH07Xy5QbD1mdW5jdGlvbigpe3ZhciBhPU9sKCk7cmV0dXJuIGE/UHJvbWlzZS5yZXNvbHZlKGEpOk5sKCkudGhlbihiPT57Yj8oXy5yYSgieXRnbG9iYWwuaWRiVG9rZW5fIixLbCksYj1LbCk6Yj12b2lkIDA7cmV0dXJuIGJ9KX07ClFsPWZ1bmN0aW9uKGEpe2lmKCFfLldqKCkpdGhyb3cgYT1uZXcgTmsoIkFVVEhfSU5WQUxJRCIse2RiTmFtZTphfSksXy5JayhhKSxhO3ZhciBiPV8uVmooKTtyZXR1cm57YWN0dWFsTmFtZTpgJHthfToke2J9YCxwdWJsaWNOYW1lOmEsdXNlcklkZW50aWZpZXI6Yn19OwpSbD1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1FcnJvcigpLnN0YWNrPz8iIixmPWF3YWl0IF8uUGwoKTtpZighZil0aHJvdyBiPVNrKCJvcGVuRGJJbXBsIixhLGIpLF8ueCgieXRpZGJfYXN5bmNfc3RhY2tfa2lsbHN3aXRjaCIpfHwoYi5zdGFjaz1gJHtiLnN0YWNrfVxuJHtlLnN1YnN0cmluZyhlLmluZGV4T2YoIlxuIikrMSl9YCksXy5JayhiKSxiO0trKGEpO2U9Yz97YWN0dWFsTmFtZTphLHB1YmxpY05hbWU6YSx1c2VySWRlbnRpZmllcjp2b2lkIDB9OlFsKGEpO3RyeXtyZXR1cm4gYXdhaXQgRWwoZSxmKSxhd2FpdCB6bChlLmFjdHVhbE5hbWUsYixkKX1jYXRjaChoKXt0cnl7YXdhaXQgXy5GbChlLmFjdHVhbE5hbWUsZil9Y2F0Y2h7fXRocm93IGg7fX07U2w9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiBSbChhLGIsITEsYyl9O1RsPWZ1bmN0aW9uKGEsYixjPXt9KXtyZXR1cm4gUmwoYSxiLCEwLGMpfTsKVWw9YXN5bmMgZnVuY3Rpb24oYSxiPXt9KXt2YXIgYz1hd2FpdCBfLlBsKCk7YyYmKEtrKGEpLGE9UWwoYSksYXdhaXQgXy5BbChhLmFjdHVhbE5hbWUsYiksYXdhaXQgXy5GbChhLmFjdHVhbE5hbWUsYykpfTtWbD1mdW5jdGlvbihhLGIsYyl7YT1hLm1hcChhc3luYyBkPT57YXdhaXQgXy5BbChkLmFjdHVhbE5hbWUsYik7YXdhaXQgXy5GbChkLmFjdHVhbE5hbWUsYyl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e30pfTtXbD1hc3luYyBmdW5jdGlvbigpe3ZhciBhPXt9LGI9YXdhaXQgXy5QbCgpO2lmKGIpe0trKCJMb2dzRGF0YWJhc2VWMiIpO3ZhciBjPWF3YWl0IEhsKGIpO2F3YWl0IFZsKGMsYSxiKX19O1hsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9YXdhaXQgXy5QbCgpO2MmJihLayhhKSxhd2FpdCBfLkFsKGEsYiksYXdhaXQgXy5GbChhLGMpKX07Wmw9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4oKT0+e2N8fChjPW5ldyBZbChhLGIpKTtyZXR1cm4gY319OwpfLiRsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFpsKGEsYil9O2JtPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKGFtKCksYSl9O2NtPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLHRpbWVzdGFtcDooMCxfLmVsKSgpfTtjPWF3YWl0IGJtKGMpO2F3YWl0IGMuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IF8ubWwoYywiaG90Q29uZmlnU3RvcmUiLGEpfTtkbT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLGNvbmZpZ0RhdGE6Yyx0aW1lc3RhbXA6KDAsXy5lbCkoKX07ZD1hd2FpdCBibShkKTthd2FpdCBkLmNsZWFyKCJjb2xkQ29uZmlnU3RvcmUiKTtyZXR1cm4gYXdhaXQgXy5tbChkLCJjb2xkQ29uZmlnU3RvcmUiLGEpfTsKZW09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBibShhKTt2YXIgYj12b2lkIDA7YXdhaXQgXy5pbChhLFsiY29sZENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImNvbGRDb25maWdTdG9yZSIpLmluZGV4KCJjb2xkVGltZXN0YW1wSW5kZXgiKSx7ZGlyZWN0aW9uOiJwcmV2In0sZD0+e2I9ZC5jdXJzb3IudmFsdWV9KSk7cmV0dXJuIGJ9O2ZtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgYm0oYSk7dmFyIGI9dm9pZCAwO2F3YWl0IF8uaWwoYSxbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGQ9PntiPWQuY3Vyc29yLnZhbHVlfSkpO3JldHVybiBifTsKZ209YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2lmKF8ueCgic3RhcnRfY2xpZW50X2djZiIpKXtjJiYoYS52PWMsXy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIsYS52fHxudWxsKSk7YS5CKGIpO2xldCBkPU9sKCk7ZCYmKGN8fChjPShhd2FpdCBmbShkKSk/LmNvbmZpZyksYXdhaXQgY20oYyxiLGQpKTtpZihjKXthPWEubztmb3IobGV0IGUgb2YgYS5qKWUoYyl9fX07aG09YXN5bmMgZnVuY3Rpb24oYSxiLGMpe18ueCgic3RhcnRfY2xpZW50X2djZiIpJiYoYS5jb2xkSGFzaERhdGE9YixfLnJhKCJ5dC5nY2YuY29uZmlnLmNvbGRIYXNoRGF0YSIsYS5jb2xkSGFzaERhdGF8fG51bGwpLGE9T2woKSkmJihjfHwoYz0oYXdhaXQgZW0oYSkpPy5jb25maWcpLGMmJmF3YWl0IGRtKGMsYixjLmNvbmZpZ0RhdGEsYSkpfTsKXy5qbT1mdW5jdGlvbigpe2lmKCFpbS5pbnN0YW5jZSl7dmFyIGE9bmV3IGltO2ltLmluc3RhbmNlPWF9YT1pbS5pbnN0YW5jZTt2YXIgYj0oMCxfLmVsKSgpLWEuajtpZighKGEuaiE9PTAmJmI8Xy5zaigic2VuZF9jb25maWdfaGFzaF90aW1lciIpKSl7Yj1fLnNhKCJ5dC5nY2YuY29uZmlnLmNvbGRDb25maWdEYXRhIik7dmFyIGM9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIpLGQ9Xy5zYSgieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiKTtiJiZjJiZkJiYoYS5qPSgwLF8uZWwpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpiLGhvdEhhc2hEYXRhOmMsY29sZEhhc2hEYXRhOmR9fX07a209ZnVuY3Rpb24oKXtyZXR1cm4iSU5ORVJUVUJFX0FQSV9LRVkiaW4gXy5QaSYmIklOTkVSVFVCRV9BUElfVkVSU0lPTiJpbiBfLlBpfTsKbG09ZnVuY3Rpb24oKXtyZXR1cm57aW5uZXJ0dWJlQXBpS2V5Ol8udygiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOl8udygiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIiksd3g6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfQ09ORklHX0lORk8iKSxtcTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIikscUo6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSksaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb246Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpLHl4Ol8udygiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSx4eDpfLncoIklOTkVSVFVCRV9DT05URVhUX0dMIikseng6Xy53KCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSIpfHwiIixBeDohIV8udygiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSkscko6ISFfLncoIklOTkVSVFVCRV9PTUlUX0FQSV9LRVlfV0hFTl9BVVRIX0hFQURFUl9JU19QUkVTRU5UIiwKITEpLGFwcEluc3RhbGxEYXRhOl8udygiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiKX19OwptbT1mdW5jdGlvbihhKXt2YXIgYj17Y2xpZW50OntobDphLnl4LGdsOmEueHgsY2xpZW50TmFtZTphLm1xLGNsaWVudFZlcnNpb246YS5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbixjb25maWdJbmZvOmEud3h9fTtuYXZpZ2F0b3IudXNlckFnZW50JiYoYi5jbGllbnQudXNlckFnZW50PVN0cmluZyhuYXZpZ2F0b3IudXNlckFnZW50KSk7dmFyIGM9Xy51LmRldmljZVBpeGVsUmF0aW87YyYmYyE9MSYmKGIuY2xpZW50LnNjcmVlbkRlbnNpdHlGbG9hdD1TdHJpbmcoYykpO2M9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpO2MhPT0iIiYmKGIuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49Yyk7Yz1fLnVqKCk7Yy5sZW5ndGg+MCYmKGIucmVxdWVzdD17aW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6Y30pO2M9YS5tcTtjIT09IldFQiImJmMhPT0iTVdFQiImJmMhPT0xJiZjIT09Mnx8IWJ8fChiLmNsaWVudC5tYWluQXBwV2ViSW5mbz1iLmNsaWVudC5tYWluQXBwV2ViSW5mbz8/e30sCmIuY2xpZW50Lm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSk7KGM9Xy5zYSgieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpKSYmYiYmKGIudGhpcmRQYXJ0eT17ZW1iZWRVcmw6Y30pO18ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGM9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5LGImJihiLmNsaWVudC5tZW1vcnlUb3RhbEtieXRlcz1gJHtjKjFFNn1gKSk7YS5hcHBJbnN0YWxsRGF0YSYmYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYi5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1hLmFwcEluc3RhbGxEYXRhKTsoYT1fLlNqKCkpJiZiJiYoYi5jbGllbnQuY29ubmVjdGlvblR5cGU9YSk7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGE9Xy5VaigpKSYmYiYmKGIuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPQphKTtpZihfLngoInN0YXJ0X2NsaWVudF9nY2YiKSl7dmFyIGQ9Xy5qbSgpO2QmJihhPWQuY29sZENvbmZpZ0RhdGEsYz1kLmNvbGRIYXNoRGF0YSxkPWQuaG90SGFzaERhdGEsYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYSYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YSksYyYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPWMpLGQmJihiLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWQpKSl9Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpJiYhXy54KCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoYi51c2VyPXtvbkJlaGFsZk9mVXNlcjpfLncoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIil9KTshXy54KCJmaWxsX2RlbGVnYXRlX2NvbnRleHRfaW5fZ2VsX2tpbGxzd2l0Y2giKSYmKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9TRVJJQUxJWkVEX0RFTEVHQVRJT05fQ09OVEVYVCIpKSYmKGIudXNlcj0Key4uLmIudXNlcixzZXJpYWxpemVkRGVsZWdhdGlvbkNvbnRleHQ6YX0pO2E9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO18ueCgiZW5hYmxlX3BlcnNpc3RlbnRfZGV2aWNlX3Rva2VuIikmJmE/LmNsaWVudD8ucm9sbG91dFRva2VuJiYoYi5jbGllbnQucm9sbG91dFRva2VuPWE/LmNsaWVudD8ucm9sbG91dFRva2VuKTthPU9iamVjdDtjPWEuYXNzaWduO2Q9Yi5jbGllbnQ7dmFyIGU9Xy53KCJERVZJQ0UiLCIiKSxmPXt9O2ZvcihsZXQgW2gsa11vZiBPYmplY3QuZW50cmllcyhfLmJqKGUpKSllPWgsZT09PSJjYnJhbmQiP2YuZGV2aWNlTWFrZT1rOmU9PT0iY21vZGVsIj9mLmRldmljZU1vZGVsPWs6ZT09PSJjYnIiP2YuYnJvd3Nlck5hbWU9azplPT09ImNicnZlciI/Zi5icm93c2VyVmVyc2lvbj1rOmU9PT0iY29zIj9mLm9zTmFtZT1rOmU9PT0iY29zdmVyIj9mLm9zVmVyc2lvbj1rOmU9PT0iY3BsYXRmb3JtIiYmKGYucGxhdGZvcm09ayk7Yi5jbGllbnQ9Yy5jYWxsKGEsZCxmKTsKXy54KCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoYi5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsYi5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIGJ9OwpvbT1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9e307Xy53KCJFT01fVklTSVRPUl9EQVRBIik/ZD17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Xy53KCJFT01fVklTSVRPUl9EQVRBIil9OmQ9eyJYLUdvb2ctVmlzaXRvci1JZCI6Yy52aXNpdG9yRGF0YXx8Xy53KCJWSVNJVE9SX0RBVEEiLCIiKX07aWYoYiYmYi5pbmNsdWRlcygid3d3LnlvdXR1YmUtbm9jb29raWUuY29tIikpcmV0dXJuIGQ7Yj1jLmF1dGhvcml6YXRpb258fF8udygiQVVUSE9SSVpBVElPTiIpO2J8fChhP2I9YEJlYXJlciAke18uc2EoImdhcGkuYXV0aC5nZXRUb2tlbiIpKCkuT0h9YDooXy5ubS5pbnN0YW5jZXx8KF8ubm0uaW5zdGFuY2U9bmV3IF8ubm0pLGE9Xy5QaigpLF8ueCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIGFbIlgtR29vZy1QYWdlSWQiXSxkPXsuLi5kLC4uLmF9KSk7YiYmKGQuQXV0aG9yaXphdGlvbj1iKTtyZXR1cm4gZH07Cl8ucG09ZnVuY3Rpb24oYSl7dGhpcy52ZXJzaW9uPTE7dGhpcy5hcmdzPWF9O18ucW09ZnVuY3Rpb24oYSxiKXt0aGlzLnRvcGljPWE7dGhpcy5qPWJ9O18uc209ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnJtKCk7YyYmYy5wdWJsaXNoLmNhbGwoYyxhLnRvU3RyaW5nKCksYSxiKX07Xy5ybT1mdW5jdGlvbigpe3JldHVybiBfLnNhKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKX07dG09ZnVuY3Rpb24oYSxiLGM9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixjLnNhbXBsZVJhdGUvMTAwKSYmXy5zbSgibWV0YV9sb2dnaW5nX2NzaV9ldmVudCIse3RpbWVyTmFtZTphLHRpbWVsaW5lRGF0YTpifSl9OwpBbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17c3RhcnRUaW1lOigwLF8uZWwpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD1fLnVtKGIpO2lmKGg9PW51bGx8fCEoaD5fLndtfHxoPF8ueG0pKXt2YXIgZj1fLk5pKCgwLF8ueW0pKGIpKTtsZXQgaz0oMCxfLmVsKSgpO2UudGlja3MuZ2VsYz1rO3ptKys7Xy54KCJnZWxfY29tcHJlc3Npb25fY3NpX2tpbGxzd2l0Y2giKXx8IV8ueCgibG9nX2dlbF9jb21wcmVzc2lvbl9sYXRlbmN5IikmJiFfLngoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeV9sciIpfHx0bSgiZ2VsX2NvbXByZXNzaW9uIixlLHtzYW1wbGVSYXRlOi4xfSk7Yy5oZWFkZXJzfHwoYy5oZWFkZXJzPXt9KTtjLmhlYWRlcnNbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7Yy5wb3N0Qm9keT1mO2MucG9zdFBhcmFtcz12b2lkIDB9ZChhLGMpfWNhdGNoKGgpe18uV2koaCksZChhLGMpfX07Cl8udW09ZnVuY3Rpb24oYSl7dHJ5e3JldHVybihuZXcgQmxvYihhLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksbnVsbH19O0JtPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5KYXx8YS54aX07RG09ZnVuY3Rpb24oYSl7Qm0oYSkmJiFhLmFoJiYoYS5PYz0hMCxhLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLmNiLk91KGEuSmEpLENtKGEpLGEuU2EuU2IoKSYmYS5vKCksYS5TYS5saXN0ZW4oYS5LbSxhLm8uYmluZChhKSksYS5TYS5saXN0ZW4oYS5GbSxhLnYuYmluZChhKSkpfTtDbT1mdW5jdGlvbihhKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInhhIik7YS5jYi5XcCgiUVVFVUVEIixhLkphKS50aGVuKGI9PntiJiYhRW0oYSxiLGEuQ3IpP2EuRGMucGIoYXN5bmMoKT0+e2IuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphKTtDbShhKX0pOmEuU2EuU2IoKSYmYS5vKCl9KX07CkdtPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoIUJtKGEpKXRocm93IEVycm9yKCJzYSIpO2IuaWQhPT12b2lkIDAmJihhd2FpdCBhLmNiLkF5KGIuaWQsYS5KYSl8fGEuVGYoRXJyb3IoInRhIikpKTtFbShhLGIsYS5Lcik/KGIuc2tpcFJldHJ5fHwoYj1GbShhLGIpKSxiJiYoYi5za2lwUmV0cnkmJmIuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSxhLkdkKGIudXJsLGIub3B0aW9ucywhIWIuc2tpcFJldHJ5KSkpOihhLlRmKEVycm9yKCJ1YSIpKSxiLmlkIT09dm9pZCAwJiZhd2FpdCBhLmNiLkZmKGIuaWQsYS5KYSkpfTtIbT1mdW5jdGlvbihhLGIpe2EuTHMmJiFhLlNhLlNiKCk/YS5McyhiKTphLmhhbmRsZUVycm9yKGIpfTtFbT1mdW5jdGlvbihhLGIsYyl7Yj1iLnRpbWVzdGFtcDtyZXR1cm4gYS5ub3coKS1iPj1jPyExOiEwfTsKRm09ZnVuY3Rpb24oYSxiKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInZhIik7dmFyIGM9Yi5vcHRpb25zLm9uRXJyb3I/Yi5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9O2Iub3B0aW9ucy5vbkVycm9yPWFzeW5jKGUsZik9Pnt2YXIgaD1JbShmKSxrPUptKGYpO2smJmEuS2EmJmEuS2EoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJmEuaGFuZGxlRXJyb3IoRXJyb3IoIndhIiksYi51cmwsZik7aWYoYS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmaHx8YS5LYSYmIWEuS2EoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmEucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPD1hLktqKWlmKGEuU2EuUWomJmF3YWl0IGEuU2EuUWooKSwhYS5TYS5TYigpKXtjKGUsZik7YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmYj8uaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCExKTtyZXR1cm59YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmCiFoJiZhLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5hLktqfHwoYS5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKyxiPy5pZCE9PXZvaWQgMCYmKGIuc2VuZENvdW50PGEuTXI/KGF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCEwLGs/ITE6dm9pZCAwKSxhLkRjLnBiKCgpPT57YS5TYS5TYigpJiZhLm8oKX0sYS5McikpOmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSksYyhlLGYpKX07dmFyIGQ9Yi5vcHRpb25zLm9uU3VjY2Vzcz9iLm9wdGlvbnMub25TdWNjZXNzOigpPT57fTtiLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKGUsZik9PntiPy5pZCE9PXZvaWQgMCYmYXdhaXQgYS5jYi5GZihiLmlkLGEuSmEpO2EuU2EuZWYmJmEuS2EmJmEuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmYS5TYS5lZighMCk7ZChlLGYpfTtyZXR1cm4gYn07SW09ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YT8uZXJyb3I/LmNvZGUpJiZhPj00MDAmJmE8PTU5OT8hMTohMH07CkptPWZ1bmN0aW9uKGEpe2E9YT8uZXJyb3I/LmNvZGU7cmV0dXJuIShhIT09NDAwJiZhIT09NDE1KX07CkxtPWZ1bmN0aW9uKCl7aWYoS20pcmV0dXJuIEttKCk7S209Xy4kbCgiTG9nc0RhdGFiYXNlVjIiLHtzZTp7TG9nc1JlcXVlc3RzU3RvcmU6e1BkOjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShhLGIsYyl7YigyKSYmXy5rbChhLCJMb2dzUmVxdWVzdHNTdG9yZSIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSk7YigzKTtiKDUpJiYoYz1jLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLGMuai5pbmRleE5hbWVzLmNvbnRhaW5zKCJuZXdSZXF1ZXN0IikmJmMuai5kZWxldGVJbmRleCgibmV3UmVxdWVzdCIpLF8ub2woYywibmV3UmVxdWVzdFYyIixbInN0YXR1cyIsImludGVyZmFjZSIsInRpbWVzdGFtcCJdKSk7Yig3KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInNhcGlzaWQiKSYmYS5qLmRlbGV0ZU9iamVjdFN0b3JlKCJzYXBpc2lkIik7Yig5KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoIlNXSGVhbHRoTG9nIikmJmEuai5kZWxldGVPYmplY3RTdG9yZSgiU1dIZWFsdGhMb2ciKX0sCnZlcnNpb246OX0pO3JldHVybiBLbSgpfTtNbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChMbSgpLGEpfTtPbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtiPWF3YWl0IE1tKGIpO2E9ey4uLmEsb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEub3B0aW9ucykpLGludGVyZmFjZTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwwKX07YT1hd2FpdCBfLm1sKGIsIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGF9OwpQbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9SRUFEIn0sdGlja3M6e319O2I9YXdhaXQgTW0oYik7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksZT1bYSxkLDBdO2Q9W2EsZCwoMCxfLmVsKSgpXTt2YXIgZj1JREJLZXlSYW5nZS5ib3VuZChlLGQpLGg9InByZXYiO18ueCgidXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzIikmJihoPSJuZXh0Iik7dmFyIGs9dm9pZCAwO2U9YT09PSJORVciPyJyZWFkd3JpdGUiOiJyZWFkb25seSI7Xy54KCJ1c2VfcmVhZG9ubHlfZm9yX2dldF9tb3N0X3JlY2VudF9ieV9zdGF0dXNfa2lsbHN3aXRjaCIpJiYoZT0icmVhZHdyaXRlIik7YXdhaXQgXy5pbChiLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTplLGtiOiEwfSxsPT51bChsLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmYsZGlyZWN0aW9uOmh9LG09PnttLmN1cnNvci52YWx1ZSYmKGs9bS5jdXJzb3IudmFsdWUsYT09PSJORVciJiYoay5zdGF0dXM9IlFVRVVFRCIsbS51cGRhdGUoaykpKX0pKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGt9O1FtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaWwoYXdhaXQgTW0oYiksWyJMb2dzUmVxdWVzdHNTdG9yZSJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT57dmFyIGQ9Yy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKTtyZXR1cm4gZC5nZXQoYSkudGhlbihlPT57aWYoZSlyZXR1cm4gZS5zdGF0dXM9IlFVRVVFRCIsXy5sbChkLGUpLnRoZW4oKCk9PmUpfSl9KX07ClJtPWFzeW5jIGZ1bmN0aW9uKGEsYixjPSEwLGQpe3JldHVybiBfLmlsKGF3YWl0IE1tKGIpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sZT0+e3ZhciBmPWUub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGYuZ2V0KGEpLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsYyYmKGguc2VuZENvdW50Kz0xKSxkIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWQpLF8ubGwoZixoKS50aGVuKCgpPT5oKSk6Xy5Way5yZXNvbHZlKHZvaWQgMCkpfSl9O1NtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuKGF3YWl0IE1tKGIpKS5kZWxldGUoIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKX07ClRtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgTW0oYSk7dmFyIGI9KDAsXy5lbCkoKS0yNTkyRTY7YXdhaXQgXy5pbChhLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sYz0+cWwoYy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxkPT57aWYoZC5jdXJzb3IudmFsdWUudGltZXN0YW1wPD1iKXJldHVybiBkLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGQpKX0pKX07VW09YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBXbCgpfTtObT1mdW5jdGlvbihhKXtfLngoIm53bF9jc2lfa2lsbHN3aXRjaCIpfHx0bSgibmV0d29ya2xlc3NfcGVyZm9ybWFuY2UiLGEse3NhbXBsZVJhdGU6MX0pfTtXbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChWbSgpLGEpfTsKWG09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBXbShhKTt2YXIgYj0oMCxfLmVsKSgpLTI1OTJFNjthd2FpdCBfLmlsKGEsWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT5xbChjLm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGQ9PntpZihkLmN1cnNvci52YWx1ZS50aW1lc3RhbXA8PWIpcmV0dXJuIGQuZGVsZXRlKCkudGhlbigoKT0+cmwoZCkpfSkpfTtZbT1hc3luYyBmdW5jdGlvbihhKXthd2FpdCAoYXdhaXQgV20oYSkpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKXy5hbj1mdW5jdGlvbihhLGIsYyxkLGU9IiIsZj0hMSxoPSExKXtpZihhKWlmKGMmJiFfLk1rKCJjb2JhbHQiKSlfLldpKG5ldyBfLlhqKCJMZWdhY3kgcmVmZXJyZXItc2NydWJiZWQgcGluZyBkZXRlY3RlZCIpKSxhJiZabShhLHZvaWQgMCx7c2NydWJSZWZlcnJlcjohMH0pO2Vsc2UgaWYoZSl4aihhLGIsIlBPU1QiLGUsZCk7ZWxzZSBpZihfLncoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8ZHx8aCl4aihhLGIsIkdFVCIsIiIsZCx2b2lkIDAsZixoKTtlbHNle2I6e3RyeXtjOnt2YXIgaz1uZXcgJG0oe3VybDphfSk7aWYoay5qLmRzaD09PSIxIil2YXIgbD1udWxsO2Vsc2V7dmFyIG09ay5qLmFlO2lmKG09PT0iMSIpe2xldCByPWsuai5hZHVybDtpZihyKXRyeXtsPXt2ZXJzaW9uOjMsbXY6ZGVjb2RlVVJJQ29tcG9uZW50KHIpLHp1OklhKGsubywiYWN0PTEiLCJyaT0xIixLYShrKSl9O2JyZWFrIGN9Y2F0Y2godCl7fX1sPW09PT0iMiI/e3ZlcnNpb246NCwKbXY6SWEoay5vLCJkY3Q9MSIsInN1aWQ9IitrLnYsInJpPTEiKSx6dTpJYShrLm8sImFjdD0xIiwicmk9MSIsInN1aWQ9IitrLnYpfTpudWxsfX1pZihsKXtsZXQgcj1fLlFiKGEpO3ZhciBuPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxfLlpiKGEsInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31uPSExfWlmKG4pe2I6e3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihhLCIiKSl7dmFyIHA9ITA7YnJlYWsgYn19Y2F0Y2gocil7fXA9ITF9cD8oYiYmYigpLGM9ITApOmM9ITF9ZWxzZSBjPSExO2N8fFptKGEsYil9fTsKWm09ZnVuY3Rpb24oYSxiLGM9e30pe3ZhciBkPW5ldyBJbWFnZSxlPSIiK2JuKys7Y25bZV09ZDtkLm9ubG9hZD1kLm9uZXJyb3I9KCk9PntiJiZjbltlXSYmYigpO2RlbGV0ZSBjbltlXX07Yy5zY3J1YlJlZmVycmVyJiYoZC5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtkLnNyYz1hfTtmbj1mdW5jdGlvbigpe2RufHwoZG49bmV3IF8uZW4oInl0Lm9mZmxpbmUiKSk7cmV0dXJuIGRufTtnbj1mdW5jdGlvbihhKXtpZihfLngoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIGI9Zm4oKS5nZXQoImVycm9ycyIsITApfHx7fTtiW2EubWVzc2FnZV09e25hbWU6YS5uYW1lLHN0YWNrOmEuc3RhY2t9O2EubGV2ZWwmJihiW2EubWVzc2FnZV0ubGV2ZWw9YS5sZXZlbCk7Zm4oKS5zZXQoImVycm9ycyIsYiwyNTkyRTMsITApfX07CmpuPWZ1bmN0aW9uKCl7aWYoIWhuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrUmVxdWVzdE1vbml0b3IuaW5zdGFuY2UiKXx8bmV3IGhuO18ucmEoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIsYSk7aG4uaW5zdGFuY2U9YX1yZXR1cm4gaG4uaW5zdGFuY2V9O2xuPWZ1bmN0aW9uKCl7aWYoIWtuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcga247Xy5yYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLGEpO2tuLmluc3RhbmNlPWF9cmV0dXJuIGtuLmluc3RhbmNlfTsKbW49ZnVuY3Rpb24oYSxiKXthLnJhdGVMaW1pdD9hLmo/KF8uamYuQWEoYS5EKSxhLkQ9Xy5qZi5wYigoKT0+e2EuQiE9PWImJihhLmRpc3BhdGNoRXZlbnQoYiksYS5CPWIsYS5qPSgwLF8uZWwpKCkpfSxhLnJhdGVMaW1pdC0oKDAsXy5lbCkoKS1hLmopKSk6KGEuZGlzcGF0Y2hFdmVudChiKSxhLkI9YixhLmo9KDAsXy5lbCkoKSk6YS5kaXNwYXRjaEV2ZW50KGIpfTsKXy5wbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Lm5ldHdvcmtsZXNzUmVxdWVzdENvbnRyb2xsZXIuaW5zdGFuY2UiKTthfHwoYT1uZXcgbm4sXy5yYSgieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsYSksXy54KCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJl8uUGwoKS50aGVuKGI9PnthLkphPWI7RG0oYSk7YS5CLnJlc29sdmUoKTthLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLkphJiZYbShhLkphKTtfLngoIm5ldHdvcmtsZXNzX2ltbWVkaWF0ZWx5X2Ryb3Bfc3dfaGVhbHRoX3N0b3JlIikmJm9uKGEpfSkpO3JldHVybiBhfTtvbj1hc3luYyBmdW5jdGlvbihhKXtpZighYS5KYSl0aHJvdyBTaygiY2xlYXJTV0hlYWx0aExvZ3NEYiIpO1ltKGEuSmEpLmNhdGNoKGI9PnthLmhhbmRsZUVycm9yKGIpfSl9Owpxbj1mdW5jdGlvbihhLGIsYyl7Yj1fLngoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sYik6YjtfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Yi5oZWFkZXJzJiZfLmZqKGEpJiYoYi5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxfLmVsKSgpKSkpOmIucG9zdFBhcmFtcz8ucmVxdWVzdFRpbWVNcyYmKGIucG9zdFBhcmFtcy5yZXF1ZXN0VGltZU1zPU1hdGgucm91bmQoKDAsXy5lbCkoKSkpO2MmJk9iamVjdC5rZXlzKGIpLmxlbmd0aD09PTA/Xy5hbihhKTpiLmNvbXByZXNzP2IucG9zdEJvZHk/KHR5cGVvZiBiLnBvc3RCb2R5IT09InN0cmluZyImJihiLnBvc3RCb2R5PUpTT04uc3RyaW5naWZ5KGIucG9zdEJvZHkpKSxBbShhLGIucG9zdEJvZHksYixfLnpqKSk6QW0oYSxKU09OLnN0cmluZ2lmeShiLnBvc3RQYXJhbXMpLGIsQWopOl8uemooYSxiKX07CnJuPWZ1bmN0aW9uKGEsYil7Xy54KCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiKSYmXy5maihhKSYmKGIuaGVhZGVyc3x8KGIuaGVhZGVycz17fSksYi5oZWFkZXJzWyJYLUdvb2ctRXZlbnQtVGltZSJdPUpTT04uc3RyaW5naWZ5KE1hdGgucm91bmQoKDAsXy5lbCkoKSkpKTtyZXR1cm4gYn07Xy5zbj1mdW5jdGlvbigpe3JldHVybiBfLlBiKGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCkpIT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSJ9Owp2bj1mdW5jdGlvbihhLGIsYyxkKXshXy53KCJWSVNJVE9SX0RBVEEiKSYmYiE9PSJ2aXNpdG9yX2lkIiYmTWF0aC5yYW5kb20oKTwuMDEmJl8uV2kobmV3IF8uWGooIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLGIsYyxkKSk7aWYoIWEuaXNSZWFkeSgpKXRocm93IGE9bmV3IF8uWGooImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixiLGMsZCksXy5VaShhKSxhO3ZhciBlPXtoZWFkZXJzOmQuaGVhZGVyc3x8e30sbWV0aG9kOiJQT1NUIixwb3N0UGFyYW1zOmMscG9zdEJvZHk6ZC5wb3N0Qm9keSxwb3N0Qm9keUZvcm1hdDpkLnBvc3RCb2R5Rm9ybWF0fHwiSlNPTiIsb25UaW1lb3V0OigpPT57ZC5vblRpbWVvdXQoKX0sb25GZXRjaFRpbWVvdXQ6ZC5vblRpbWVvdXQsb25TdWNjZXNzOihtLG4pPT57aWYoZC5vblN1Y2Nlc3MpZC5vblN1Y2Nlc3Mobil9LG9uRmV0Y2hTdWNjZXNzOm09PntpZihkLm9uU3VjY2VzcylkLm9uU3VjY2VzcyhtKX0sCm9uUHJvZ3Jlc3M6bT0+e2lmKGQub25Qcm9ncmVzcylkLm9uUHJvZ3Jlc3MobSl9LG9uRXJyb3I6KG0sbik9PntpZihkLm9uRXJyb3IpZC5vbkVycm9yKG4pfSxvbkZldGNoRXJyb3I6bT0+e2lmKGQub25FcnJvcilkLm9uRXJyb3IobSl9LHRpbWVvdXQ6ZC50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpkLmNvbXByZXNzfTtlLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwoZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO2M9IiI7dmFyIGY9YS5jb25maWdfLnp4O2YmJihjPWYpO2Y9YS5jb25maWdfLkF4fHwhMTt2YXIgaD1vbShmLGMsZCk7T2JqZWN0LmFzc2lnbihlLmhlYWRlcnMsaCk7ZS5oZWFkZXJzLkF1dGhvcml6YXRpb24mJiFjJiZmJiYoZS5oZWFkZXJzWyJ4LW9yaWdpbiJdPXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO3ZhciBrPWRqKGAke2N9JHtgL3lvdXR1YmVpLyR7YS5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7Yn1gfWAsCnthbHQ6Impzb24ifSksbD0obT0hMSk9Pnt0cnl7aWYobSYmZC5yZXRyeSYmIWQubmV0d29ya2xlc3NPcHRpb25zLmJ5cGFzc05ldHdvcmtsZXNzKWUubWV0aG9kPSJQT1NUIixkLm5ldHdvcmtsZXNzT3B0aW9ucy53cml0ZVRoZW5TZW5kP18ucG4oKS53cml0ZVRoZW5TZW5kKGssZSk6Xy5wbigpLnNlbmRBbmRXcml0ZShrLGUpO2Vsc2UgaWYoZC5jb21wcmVzcylpZihlLnBvc3RCb2R5KXtsZXQgbj1lLnBvc3RCb2R5O3R5cGVvZiBuIT09InN0cmluZyImJihuPUpTT04uc3RyaW5naWZ5KGUucG9zdEJvZHkpKTtBbShrLG4sZSxfLnpqKX1lbHNlIEFtKGssSlNPTi5zdHJpbmdpZnkoZS5wb3N0UGFyYW1zKSxlLEFqKTtlbHNlIEFqKGssZSl9Y2F0Y2gobil7aWYobi5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpXy5XaShFcnJvcigieWEiKSk7ZWxzZSB0aHJvdyBuO319OyhfLnNhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIpP18udG4uaXNOd2xJbml0aWFsaXplZDoKXy51bik/TmwoKS50aGVuKG09PntsKG0pfSk6bCghMSl9O18ueW49ZnVuY3Rpb24oYSwuLi5iKXtpZighd24oYSl8fGIuc29tZShjPT4hd24oYykpKXRocm93IEVycm9yKCJ6YSIpO2ZvcihsZXQgYyBvZiBiKXhuKGEsYyl9O3huPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIGluIGIpaWYod24oYltjXSkpe2lmKGMgaW4gYSYmIXduKGFbY10pKXRocm93IEVycm9yKCJBYSIpO2MgaW4gYXx8KGFbY109e30pO3huKGFbY10sYltjXSl9ZWxzZSBpZih6bihiW2NdKSl7aWYoYyBpbiBhJiYhem4oYVtjXSkpdGhyb3cgRXJyb3IoIkJhIik7YyBpbiBhfHwoYVtjXT1bXSk7QW4oYVtjXSxiW2NdKX1lbHNlIGFbY109YltjXTtyZXR1cm4gYX07QW49ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYil3bihjKT9hLnB1c2goeG4oe30sYykpOnpuKGMpP2EucHVzaChBbihbXSxjKSk6YS5wdXNoKGMpO3JldHVybiBhfTt3bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSl9Owp6bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmQXJyYXkuaXNBcnJheShhKX07Xy5Cbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoIl9sYWN0Iix3aW5kb3cpO3JldHVybiBhPT1udWxsPy0xOk1hdGgubWF4KERhdGUubm93KCktYSwwKX07Cl8uRG49ZnVuY3Rpb24oKXtpZih3aW5kb3cuY3J5cHRvJiZ3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGE9QXJyYXkoMTYpLGI9bmV3IFVpbnQ4QXJyYXkoMTYpO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY109YltjXTtyZXR1cm4gYX1jYXRjaChkKXt9YT1BcnJheSgxNik7Zm9yKGI9MDtiPDE2O2IrKyl7Yz1EYXRlLm5vdygpO2ZvcihsZXQgZD0wO2Q8YyUyMztkKyspYVtiXT1NYXRoLnJhbmRvbSgpO2FbYl09TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1Nil9aWYoQ24pZm9yKGI9MSxjPTA7YzxDbi5sZW5ndGg7YysrKWFbYiUxNl1ePWFbKGItMSklMTZdLzReQ24uY2hhckNvZGVBdChjKSxiKys7cmV0dXJuIGF9OwpFbj1mdW5jdGlvbigpe3ZhciBhPV8uRG4oKSxiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KGFbY10mNjMpKTtyZXR1cm4gYi5qb2luKCIiKX07Xy5Gbj1mdW5jdGlvbigpe3ZhciBhPV8udS55dExvZ2dpbmdEb2NEb2N1bWVudE5vbmNlXzthfHwoYT1FbigpLF8ucmEoInl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfIixhKSk7cmV0dXJuIGF9O18uR249ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliPWIqMzErYS5jaGFyQ29kZUF0KGMpLGM8YS5sZW5ndGgtMSYmKGIlPTB4ODAwMDAwMDAwMDAwKTtyZXR1cm4gYiUxRTV9O18uSW49ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBIbihhKX07CktuPWZ1bmN0aW9uKGEsYil7Yj1iLmp2O2lmKGEuai5oYXMoYikpcmV0dXJuIGEuai5nZXQoYikucHJvbWlzZTt2YXIgYz1KbihhLGIsW10sITApO2lmKGMhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShjKTt2YXIgZD17fTtkLnByb21pc2U9bmV3IFByb21pc2UoKGUsZik9PntkLlFoPWU7ZC5Rej1mfSk7YS5qLnNldChiLGQpO3JldHVybiBkLnByb21pc2V9OwpKbj1mdW5jdGlvbihhLGIsYyxkPSExKXtpZihjLmluZGV4T2YoYik+LTEpdGhyb3cgRXJyb3IoIkRhYCIrYik7aWYoYS5vLmhhcyhiKSlyZXR1cm4gYS5vLmdldChiKTtpZighYS52LmhhcyhiKSl7aWYoZClyZXR1cm47dGhyb3cgRXJyb3IoIkVhYCIrYik7fWQ9YS52LmdldChiKTtjLnB1c2goYik7aWYoZC5NYiE9PXZvaWQgMCl2YXIgZT1kLk1iO2Vsc2UgaWYoZC5XYyllPWRbXy5Mbl0/TW4oYSxkW18uTG5dLGMpOltdLGU9ZC5XYyguLi5lKTtlbHNlIGlmKGQuUGEpe2U9ZC5QYTtsZXQgZj1lW18uTG5dP01uKGEsZVtfLkxuXSxjKTpbXTtlPW5ldyBlKC4uLmYpfWVsc2UgdGhyb3cgRXJyb3IoIkZhYCIrYik7Yy5wb3AoKTtkLmdifHxhLm8uc2V0KGIsZSk7cmV0dXJuIGV9O01uPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj9iLm1hcChkPT5kIGluc3RhbmNlb2YgSG4/Sm4oYSxkLmtleSxjLCEwKTpKbihhLGQsYykpOltdfTtfLnk9ZnVuY3Rpb24oKXtObnx8KE5uPW5ldyBPbik7cmV0dXJuIE5ufTsKUW49ZnVuY3Rpb24oKXtyZXR1cm4iaDV2Y2MiaW4gUG4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlQmVnaW4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlRW5kPzE6InBlcmZvcm1hbmNlImluIFBuJiZQbi5wZXJmb3JtYW5jZS5tYXJrJiZQbi5wZXJmb3JtYW5jZS5tZWFzdXJlPzI6MH07Um49ZnVuY3Rpb24oYSl7dmFyIGI9UW4oKTtzd2l0Y2goYil7Y2FzZSAxOlBuLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsYSk7YnJlYWs7Y2FzZSAyOlBuLnBlcmZvcm1hbmNlLm1hcmsoYCR7YX0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpfLmViKGIsInVua25vd24gdHJhY2UgdHlwZSIpfX07ClNuPWZ1bmN0aW9uKGEpe3ZhciBiPVFuKCk7c3dpdGNoKGIpe2Nhc2UgMTpQbi5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixhKTticmVhaztjYXNlIDI6Yj1gJHthfS1zdGFydGA7bGV0IGM9YCR7YX0tZW5kYDtQbi5wZXJmb3JtYW5jZS5tYXJrKGMpO1BuLnBlcmZvcm1hbmNlLm1lYXN1cmUoYSxiLGMpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0Ol8uZWIoYiwidW5rbm93biB0cmFjZSB0eXBlIil9fTtUbj1mdW5jdGlvbihhKXt2YXIgYj1BcnJheS5mcm9tKGEuai5rZXlzKCkpLnNvcnQoKGMsZCk9PmEuZ2V0UHJpb3JpdHkoYS5qW2RdKS1hLmdldFByaW9yaXR5KGEualtjXSkpO2ZvcihsZXQgYyBvZiBiKWI9YS5qW2NdLGIuam9iSWQ9PT12b2lkIDB8fGIuTmp8fChhLnNjaGVkdWxlci5BYShiLmpvYklkKSxhLnNjaGVkdWxlci5HYShiLnhoLDEwKSl9OwpWbj1mdW5jdGlvbihhLGIsYyl7VW4mJmNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQmJmNvbnNvbGUuZ3JvdXBFbmQmJihjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGBbJHthLmNvbnN0cnVjdG9yLm5hbWV9XSAnJHthLnN0YXRlfScgdG8gJyR7Yn0nYCksY29uc29sZS5sb2coIndpdGggbWVzc2FnZTogIixjKSxjb25zb2xlLmdyb3VwRW5kKCkpfTtabj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmlsdGVyKGU9PihhLnY/P2UucHJpb3JpdHk/PzApPT09MTApLGQ9Yi5maWx0ZXIoZT0+KGEudj8/ZS5wcmlvcml0eT8/MCkhPT0xMCk7cmV0dXJuIGEuQi5GZz9hc3luYyguLi5lKT0+e2F3YWl0IFduKGMsLi4uZSk7WG4oYSxkLC4uLmUpfTooLi4uZSk9PntZbihjLC4uLmUpO1huKGEsZCwuLi5lKX19OwpXbj1hc3luYyBmdW5jdGlvbihhLC4uLmIpe3ZhciBjPV8uQ2soKTtmb3IobGV0IGQgb2YgYSl7bGV0IGU7Yy5VKCgpPT57JG4oZC5uYW1lKTt2YXIgZj1hbygoKT0+ZC5jYWxsYmFjayguLi5iKSk7KDAsXy5ibykoZik/ZT1fLngoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpP2YudGhlbigoKT0+e2NvKGQubmFtZSl9KTpmLnRoZW4oKCk9PntjbyhkLm5hbWUpfSxoPT57d2luZG93Lm9uZXJyb3I/LihoLm1lc3NhZ2UsIiIsMCwwLGgpO2NvKGQubmFtZSl9KTpjbyhkLm5hbWUpfSk7ZSYmYXdhaXQgZX19O1huPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPWIubWFwKGQ9Pih7eGg6KCk9PnskbihkLm5hbWUpO2FvKCgpPT5kLmNhbGxiYWNrKC4uLmMpKTtjbyhkLm5hbWUpfSxwcmlvcml0eTphLnY/P2QucHJpb3JpdHk/PzB9KSk7Yi5sZW5ndGgmJihhLmo9bmV3IGVvKGIpKX07ClluPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9Xy5DaygpO2ZvcihsZXQgZCBvZiBhKWMuVSgoKT0+eyRuKGQubmFtZSk7YW8oKCk9PmQuY2FsbGJhY2soLi4uYikpO2NvKGQubmFtZSl9KX07JG49ZnVuY3Rpb24oYSl7Zm8mJmEmJlJuKGEpfTtjbz1mdW5jdGlvbihhKXtmbyYmYSYmU24oYSl9O2FvPWZ1bmN0aW9uKGEpe2lmKF8ueCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIikpcmV0dXJuIGEoKTt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXt3aW5kb3cub25lcnJvcj8uKGIubWVzc2FnZSwiIiwwLDAsYil9fTtfLmlvPWZ1bmN0aW9uKCl7Z298fChnbz1uZXcgaG8pO3JldHVybiBnb307Xy5rbz1mdW5jdGlvbihhKXtyZXR1cm4gXy5zYSgieXRjc2kuIisoYXx8IiIpKyJkYXRhXyIpfHxfLmpvKGEpfTtfLmxvPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLm1ldGFkYXRhfHwoYS5tZXRhZGF0YT17fSk7cmV0dXJuIGEubWV0YWRhdGF9OwpfLm1vPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLnRpY2t8fChhLnRpY2s9e30pO3JldHVybiBhLnRpY2t9O18ubm89ZnVuY3Rpb24oYSl7YT1fLmtvKGEpO2lmKGEuZ2VsKXtsZXQgYj1hLmdlbDtiLmdlbEluZm9zfHwoYi5nZWxJbmZvcz17fSk7Yi5nZWxUaWNrc3x8KGIuZ2VsVGlja3M9e30pfWVsc2UgYS5nZWw9e2dlbFRpY2tzOnt9LGdlbEluZm9zOnt9fTtyZXR1cm4gYS5nZWx9O18ub289ZnVuY3Rpb24oYSl7YT1fLm5vKGEpO2EuZ2VsSW5mb3N8fChhLmdlbEluZm9zPXt9KTtyZXR1cm4gYS5nZWxJbmZvc307Xy5wbz1mdW5jdGlvbihhKXt2YXIgYj1fLmtvKGEpLm5vbmNlO2J8fChiPUVuKCksXy5rbyhhKS5ub25jZT1iKTtyZXR1cm4gYn07Xy5qbz1mdW5jdGlvbihhKXt2YXIgYj17dGljazp7fSxpbmZvOnt9fTtfLnJhKCJ5dGNzaS4iKyhhfHwiIikrImRhdGFfIixiKTtyZXR1cm4gYn07CnFvPWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXRjc2kuZGVidWciKTthfHwoYT1bXSxfLnJhKCJ5dGNzaS5kZWJ1ZyIsYSksXy5yYSgieXRjc2kucmVmZXJlbmNlIix7fSkpO3JldHVybiBhfTtfLnNvPWZ1bmN0aW9uKGEpe3ZhciBiPXFvKCk7Yi5wdXNoKGEpO18ueCgibGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZSIpJiZiLmxlbmd0aD5ybyYmYi5zcGxpY2UoMCxiLmxlbmd0aC1ybyl9O18udW89ZnVuY3Rpb24oYSl7YT1hfHwiIjt2YXIgYj1fLnRvKCk7aWYoYlthXSlyZXR1cm4gYlthXTt2YXIgYz17dGltZXJOYW1lOmEsaW5mbzp7fSx0aWNrOnt9LHNwYW46e30sanNwYkluZm86W119O18uc28oYyk7cmV0dXJuIGJbYV09Y307Xy50bz1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Y3NpLnJlZmVyZW5jZSIpO2lmKGEpcmV0dXJuIGE7cW8oKTtyZXR1cm4gXy5zYSgieXRjc2kucmVmZXJlbmNlIil9Owp2bz1mdW5jdGlvbihhKXtpZihhLm5hbWU9PT0iSmF2YUV4Y2VwdGlvbiIpcmV0dXJuITA7YT1hLnN0YWNrO3JldHVybiBhLmluY2x1ZGVzKCJjaHJvbWU6Ly8iKXx8YS5pbmNsdWRlcygiLWV4dGVuc2lvbjovLyIpfHxhLmluY2x1ZGVzKCJ3ZWJraXQtbWFza2VkLXVybDovLyIpfTt3bz1mdW5jdGlvbihhKXtpZighYS5zdGFjaylyZXR1cm4hMDt2YXIgYj0hYS5zdGFjay5pbmNsdWRlcygiXG4iKTtyZXR1cm4gYiYmYS5zdGFjay5pbmNsdWRlcygiRXJyb3JUeXBlOiAiKXx8YiYmYS5zdGFjay5pbmNsdWRlcygiQW5vbnltb3VzIGZ1bmN0aW9uIChVbmtub3duIHNjcmlwdCIpfHxhLnN0YWNrLnRvTG93ZXJDYXNlKCk9PT0ibm90IGF2YWlsYWJsZSJ8fGEuZmlsZU5hbWU9PT0idXNlci1zY3JpcHQifHxhLmZpbGVOYW1lLnN0YXJ0c1dpdGgoInVzZXItc2NyaXB0OiIpPyEwOiExfTsKXy5Cbz1mdW5jdGlvbigpe2lmKCF4byl7dmFyIGE9eG89bmV3IHlvO2EubGUubGVuZ3RoPTA7YS5TZC5sZW5ndGg9MDtfLnpvKGEsQW8pfXJldHVybiB4b307Xy56bz1mdW5jdGlvbihhLGIpe2IubGUmJmEubGUudW5zaGlmdC5hcHBseShhLmxlLGIubGUpO2IuU2QmJmEuU2QudW5zaGlmdC5hcHBseShhLlNkLGIuU2QpfTtfLkNvPWZ1bmN0aW9uKGEpe3JldHVybiBhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpfTsKXy5Fbz1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MCxlPSgpPT5hLmNoYXJDb2RlQXQoZCsrKTtkb3t2YXIgZj1EbyhlKTtpZihmPT09SW5maW5pdHkpYnJlYWs7bGV0IGg9Zj4+Mztzd2l0Y2goZiY3KXtjYXNlIDA6Zj1EbyhlKTtpZihoPT09YilyZXR1cm4gZjticmVhaztjYXNlIDE6aWYoaD09PWIpcmV0dXJuO2QrPTg7YnJlYWs7Y2FzZSAyOmY9RG8oZSk7aWYoaD09PWIpcmV0dXJuIGEuc3Vic3RyKGQsZik7ZCs9ZjticmVhaztjYXNlIDU6aWYoaD09PWIpcmV0dXJuO2QrPTQ7YnJlYWs7ZGVmYXVsdDpyZXR1cm59fXdoaWxlKGQ8Yyl9O0RvPWZ1bmN0aW9uKGEpe3ZhciBiPWEoKSxjPWImMTI3O2lmKGI8MTI4KXJldHVybiBjO2I9YSgpO2N8PShiJjEyNyk8PDc7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7Y3w9KGImMTI3KTw8MTQ7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7cmV0dXJuIGI8MTI4P2N8KGImMTI3KTw8MjE6SW5maW5pdHl9OwpIbz1mdW5jdGlvbihhLGIsYyxkKXtpZihhKWlmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBlPWQ7Zm9yKGQ9MDtkPGEubGVuZ3RoJiYhKGFbZF0mJihlKz1GbyhkLGFbZF0sYixjKSxlPjUwMCkpO2QrKyk7ZD1lfWVsc2UgaWYodHlwZW9mIGE9PT0ib2JqZWN0Iilmb3IoZSBpbiBhKXtpZihhW2VdKXthOnt2YXIgZj1lO3ZhciBoPWFbZV0saz1iLGw9YztpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxmIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZmIT09InRyYWNraW5nUGFyYW1zIil7Zj0wO2JyZWFrIGF9Zj0oaD1fLkVvKF8uQ28oaCksMikpP0ZvKGAke2Z9LnZlYCxoLGssbCk6MH1kKz1mO2QrPUZvKGUsYVtlXSxiLGMpO2lmKGQ+NTAwKWJyZWFrfX1lbHNlIGNbYl09R28oYSksZCs9Y1tiXS5sZW5ndGg7ZWxzZSBjW2JdPUdvKGEpLGQrPWNbYl0ubGVuZ3RoO3JldHVybiBkfTsKRm89ZnVuY3Rpb24oYSxiLGMsZCl7Yys9YC4ke2F9YDthPUdvKGIpO2RbY109YTtyZXR1cm4gYy5sZW5ndGgrYS5sZW5ndGh9O0dvPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4odHlwZW9mIGE9PT0ic3RyaW5nIj9hOlN0cmluZyhKU09OLnN0cmluZ2lmeShhKSkpLnN1YnN0cigwLDUwMCl9Y2F0Y2goYil7cmV0dXJuYHVuYWJsZSB0byBzZXJpYWxpemUgJHt0eXBlb2YgYX0gKCR7Yi5tZXNzYWdlfSlgfX07CktvPWZ1bmN0aW9uKGEsYil7dmFyIGM9SW8oYik7aWYoYS5qW2NdKXJldHVybiBhLmpbY107dmFyIGQ9T2JqZWN0LmtleXMoYS5zdG9yZSl8fFtdO2lmKGQubGVuZ3RoPD0xJiZJbyhiKT09PWRbMF0pcmV0dXJuIGQ7dmFyIGU9W107Zm9yKGxldCBoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWRbaF0uc3BsaXQoIi8iKTtpZihKbyhiLmF1dGgsa1swXSkpe3ZhciBmPWIuaXNKc3BiO0pvKGY9PT12b2lkIDA/InVuZGVmaW5lZCI6Zj8idHJ1ZSI6ImZhbHNlIixrWzFdKSYmSm8oYi5jdHRBdXRoSW5mbyxrWzJdKSYmKGY9Yi50aWVyLGY9Zj09PXZvaWQgMD8idW5kZWZpbmVkIjpKU09OLnN0cmluZ2lmeShmKSxKbyhmLGtbM10pJiZlLnB1c2goZFtoXSkpfX1yZXR1cm4gYS5qW2NdPWV9O0pvPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT12b2lkIDB8fGE9PT0idW5kZWZpbmVkIj8hMDphPT09Yn07CklvPWZ1bmN0aW9uKGEpe3JldHVyblthLmF1dGg9PT12b2lkIDA/InVuZGVmaW5lZCI6YS5hdXRoLGEuaXNKc3BiPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEuaXNKc3BiLGEuY3R0QXV0aEluZm89PT12b2lkIDA/InVuZGVmaW5lZCI6YS5jdHRBdXRoSW5mbyxhLnRpZXI9PT12b2lkIDA/InVuZGVmaW5lZCI6YS50aWVyXS5qb2luKCIvIil9O18uQj1mdW5jdGlvbihhLGIpe2lmKGEpcmV0dXJuIGFbYi5uYW1lXX07TG89ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJodG1sNV9zZW5kX3FvZV9vbl9nZWwiKXx8Xy54KCJ3ZWJfc2VuZF92c3MzX2lzb2xhdGVkX3BheWxvYWQiKX07T289ZnVuY3Rpb24oYSl7TW89YTtMbygpJiYoXy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1hKTtObz1uZXcgYX07UW89ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dC5sb2dnaW5nLmltcyIpO2F8fChhPW5ldyBQbyxfLnJhKCJ5dC5sb2dnaW5nLmltcyIsYSkpO3JldHVybiBhfTsKJG89ZnVuY3Rpb24oYSxiKXtpZihhLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe1JvKGEpO3ZhciBjPVNvKGEpLGQ9VG8oYS5wYXlsb2FkKXx8IiI7YTp7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7dmFyIGU9VW9bZHx8IiJdO3ZhciBmPV8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5ldmVudExvZ2dpbmdDb25maWc/LnBheWxvYWRQb2xpY2llcztpZihmKWZvcihsZXQgaD0wO2g8Zi5sZW5ndGg7aCsrKWlmKGZbaF0ucGF5bG9hZE51bWJlcj09PWUpe2U9ZltoXTticmVhayBhfX1lPXZvaWQgMH1mPTIwMDtpZihlKXtpZihlLmVuYWJsZWQ9PT0hMSYmIV8ueCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47Zj1WbyhlLnRpZXIpO2lmKGY9PT00MDApe1dvKGEsYik7cmV0dXJufX1Yb1tjXT0hMDtjPXtjdHRBdXRoSW5mbzpjLGlzSnNwYjohMSx0aWVyOmZ9O1FvKCkuc3RvcmVQYXlsb2FkKGMsCmEucGF5bG9hZCk7WW8oYixjLFpvKGQpKX19O1lvPWZ1bmN0aW9uKGEsYixjPSExKXthJiZPbyhhKTthPV8uc2ooInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8Xy5zaigidHZodG1sNV9sb2dnaW5nX21heF9iYXRjaCIpfHxfLnNqKCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giKXx8MTAwO3ZhciBkPSgwLF8uZWwpKCksZT1hcCghMSxiLnRpZXIpLGY9ZS5CO2MmJihlLmo9ITApO2M9MDtiJiYoYz1RbygpLmdldFNlcXVlbmNlQ291bnQoYikpO3ZhciBoPSgpPT57Xy5icCh7d3JpdGVUaGVuU2VuZDohMH0sdm9pZCAwLCExLGIudGllcil9O2M+PTFFMz9oKCk6Yz49YT9jcHx8KGNwPWRwKCgpPT57aCgpO2NwPXZvaWQgMH0sMCkpOmQtZj49MTAmJihlcCghMSxiLnRpZXIpLGUuQj1kKX07CldvPWZ1bmN0aW9uKGEsYil7aWYoYS5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtfLngoIm1vcmVfYWNjdXJhdGVfZ2VsX3BhcnNlciIpJiZRbygpLnN0b3JlUGF5bG9hZCh7aXNKc3BiOiExfSxhLnBheWxvYWQpO1JvKGEpO3ZhciBjPVNvKGEpLGQ9bmV3IE1hcDtkLnNldChjLFthLnBheWxvYWRdKTt2YXIgZT1UbyhhLnBheWxvYWQpfHwiIjsoYT1iP2I6TG8oKT9Nb3x8Xy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yX3x8bnVsbDpudWxsKSYmT28oYSk7cmV0dXJuIG5ldyBfLkJmKChmLGgpPT57Tm8mJk5vLmlzUmVhZHkoKT9mcChkLE5vLGYsaCx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFpvKGUpKTpmKCl9KX19OwpTbz1mdW5jdGlvbihhKXt2YXIgYj0iIjtpZihhLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24pYj0idmlzaXRvck9ubHlBcHByb3ZlZEtleSI7ZWxzZSBpZihhLmN0dEF1dGhJbmZvKXtiPWEuY3R0QXV0aEluZm87bGV0IGM9e307Yi52aWRlb0lkP2MudmlkZW9JZD1iLnZpZGVvSWQ6Yi5wbGF5bGlzdElkJiYoYy5wbGF5bGlzdElkPWIucGxheWxpc3RJZCk7Z3BbYS5jdHRBdXRoSW5mby50b2tlbl09YztiPWEuY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIGJ9OwpfLmJwPWZ1bmN0aW9uKGE9e30sYixjPSExLGQpe25ldyBfLkJmKChlLGYpPT57dmFyIGg9YXAoYyxkKSxrPWguajtoLmo9ITE7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSYmXy54KCJ3ZWJfdnNzX3JvdXRpbmdfY2hlY2tfYWxsX3RpZXJfcG9saWNpZXMiKSl7bGV0IGw9YXAoYywzMDApLG09YXAoYywyMDApO2s9a3x8bC5qfHxtLmo7bC5qPSExO20uaj0hMX1ocChoLnYpO2hwKGgubyk7aC5vPTA7Tm8mJk5vLmlzUmVhZHkoKT9kPT09dm9pZCAwJiZfLngoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2lwKGUsZixhLGIsYywzMDAsayk6aXAoZSxmLGEsYixjLGQsayk6KGVwKGMsZCksZSgpKX0pfTsKaXA9ZnVuY3Rpb24oYSxiLGM9e30sZCxlPSExLGY9MjAwLGg9ITEpe3ZhciBrPU5vLGw9bmV3IE1hcCxtPXtpc0pzcGI6ZSxjdHRBdXRoSW5mbzpkLHRpZXI6Zn07ZT17aXNKc3BiOmUsY3R0QXV0aEluZm86ZH07aWYoZCE9PXZvaWQgMClmPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W20sZV0sc2l6ZUxpbWl0OjFFM30pOlFvKCkuZXh0cmFjdE1hdGNoaW5nRW50cmllcyhlKSxsLnNldChkLGYpO2Vsc2UgZm9yKGxldCBuIG9mIE9iamVjdC5rZXlzKFhvKSlkPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W3tpc0pzcGI6ITEsY3R0QXV0aEluZm86bix0aWVyOmZ9LHtpc0pzcGI6ITEsY3R0QXV0aEluZm86bn1dLHNpemVMaW1pdDoxRTN9KTpRbygpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMSxjdHRBdXRoSW5mbzpufSksCmQubGVuZ3RoPjAmJmwuc2V0KG4sZCksKF8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJmMud3JpdGVUaGVuU2VuZHx8IV8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgWG9bbl07ZnAobCxrLGEsYixjLCExLGgpfTsKZXA9ZnVuY3Rpb24oYT0hMSxiPTIwMCl7dmFyIGM9KCk9PntfLmJwKHt3cml0ZVRoZW5TZW5kOiEwfSx2b2lkIDAsYSxiKX0sZD1hcChhLGIpLGU9ZD09PWpwfHxkPT09a3A/NUUzOmxwO18ueCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhZC5vJiYoZT1kcCgoKT0+e2MoKX0sZSksZC5vPWUpO2hwKGQudik7ZT1fLncoIkxPR0dJTkdfQkFUQ0hfVElNRU9VVCIsXy5zaigid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Xy54KCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmbXAmJihlPW5wKTtlPWRwKCgpPT57Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIik+MD9RbygpLmdldFNlcXVlbmNlQ291bnQoe2N0dEF1dGhJbmZvOnZvaWQgMCxpc0pzcGI6YSx0aWVyOmJ9KT49b3AmJmMoKTpjKCl9LGUpO2Qudj1lfTsKZnA9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9LGYsaCl7dmFyIGs9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKSxsPWEuc2l6ZSxtPXBwKGgpO2ZvcihsZXQgW24scF1vZiBhKXthPW47aD1wO2xldCByPV8ucWQoe2NvbnRleHQ6bW0oYi5jb25maWdffHxsbSgpKX0pO2lmKCFfLnlhKGgpJiYhXy54KCJ0aHJvd19lcnJfd2hlbl9sb2dldmVudF9tYWxmb3JtZWRfa2lsbHN3aXRjaCIpKXtkKCk7YnJlYWt9ci5ldmVudHM9aDsoaD1ncFthXSkmJnFwKHIsYSxoKTtkZWxldGUgZ3BbYV07bGV0IHQ9YT09PSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtycChyLGssdCk7Xy54KCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiKSYmKGUud3JpdGVUaGVuU2VuZD0hMSk7bGV0IHY9QT0+e18ueCgic3RhcnRfY2xpZW50X2djZiIpJiZfLmpmLnBiKGFzeW5jKCk9Pnthd2FpdCBzcChBKX0pO2wtLTtsfHxjKCl9LHo9MCxFPSgpPT57eisrO2lmKGUuYnlwYXNzTmV0d29ya2xlc3MmJno9PT0xKXRyeXt2bihiLG0scix0cCh7d3JpdGVUaGVuU2VuZDohMH0sCnQsdixFLGYpKSxtcD0hMX1jYXRjaChBKXtfLlVpKEEpLGQoKX1sLS07bHx8YygpfTt0cnl7dm4oYixtLHIsdHAoZSx0LHYsRSxmKSksbXA9ITF9Y2F0Y2goQSl7Xy5VaShBKSxkKCl9fX07dHA9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPXtyZXRyeTohMCxvblN1Y2Nlc3M6YyxvbkVycm9yOmQsbmV0d29ya2xlc3NPcHRpb25zOmEsZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpiLGJJOiEhZSxoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOl8ueCgiY29tcHJlc3NfZ2VsIil8fF8ueCgiY29tcHJlc3NfZ2VsX2xyIil9O3VwKCkmJihhLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLF8uZWwpKCkpKSk7cmV0dXJuIGF9OwpycD1mdW5jdGlvbihhLGIsYyl7dXAoKXx8KGEucmVxdWVzdFRpbWVNcz1TdHJpbmcoYikpO18ueCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYoYS51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFjJiYoYj1fLncoIkVWRU5UX0lEIikpJiYoKGM9Xy53KCJCQVRDSF9DTElFTlRfQ09VTlRFUiIpfHwwKXx8KGM9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKSxjKyssYz42NTUzNSYmKGM9MSksXy5RaSgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLGMpLGEuc2VyaWFsaXplZENsaWVudEV2ZW50SWQ9e3NlcmlhbGl6ZWRFdmVudElkOmIsY2xpZW50Q291bnRlcjpTdHJpbmcoYyl9KX07CnFwPWZ1bmN0aW9uKGEsYixjKXtpZihjLnZpZGVvSWQpdmFyIGQ9IlZJREVPIjtlbHNlIGlmKGMucGxheWxpc3RJZClkPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47YS5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPWM7YS5jb250ZXh0PWEuY29udGV4dHx8e307YS5jb250ZXh0LnVzZXI9YS5jb250ZXh0LnVzZXJ8fHt9O2EuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOmIsc2NvcGU6ZH1dfTsKUm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy50aigiaWxfcGF5bG9hZF9zY3JhcGluZyIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighXy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZW5hYmxlU2NyYXBpbmdGb3JUZXN0IikpaWYoYil2cD1bXSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiLCEwKSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIix2cCksXy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiwidmlzdWFsRWxlbWVudFNob3duIHZpc3VhbEVsZW1lbnRIaWRkZW4gdmlzdWFsRWxlbWVudEF0dGFjaGVkIHNjcmVlbkNyZWF0ZWQgdmlzdWFsRWxlbWVudEdlc3R1cmVkIHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLnNwbGl0KCIgIikpLF8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRQYXlsb2FkRnJvbUNsaWVudEV2ZW50c0Z1bmN0aW9uIiksCl8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZUNsaWVudEV2ZW50IiwhMCk7ZWxzZSByZXR1cm47Yj1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIik7dmFyIGM9Xy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiksZD1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGMmJmMubGVuZ3RoPj0xKWZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSsrKWEmJmEucGF5bG9hZFtjW2VdXSYmKGQ/Yi5wdXNoKGEucGF5bG9hZCk6Yi5wdXNoKChhPy5wYXlsb2FkKVtjW2VdXSkpO18ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLGIpfTt1cD1mdW5jdGlvbigpe3JldHVybiBfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil8fF8ueCgibHJfdXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiKX07CmRwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT09PSExP18ubWooYSxiKTpfLngoImxvZ2dpbmdfYXZvaWRfYmxvY2tpbmdfZHVyaW5nX25hdmlnYXRpb24iKXx8Xy54KCJscl9sb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIik/Xy5ZaigoKT0+e18uaW8oKS5jdXJyZW50U3RhdGU9PT0ibm9uZSI/YSgpOl8uaW8oKS5pbnN0YWxsKHtub25lOntjYWxsYmFjazphfX0pfSxiKTpfLllqKGEsYil9O2hwPWZ1bmN0aW9uKGEpe18ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT9fLmpmLkFhKGEpOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9OwpzcD1hc3luYyBmdW5jdGlvbihhKXthPWE/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIGI9Xy5CKGEsd3ApLGM9YT8uaG90SGFzaERhdGEsZD1fLkIoYSx4cCksZT1hPy5jb2xkSGFzaERhdGEsZj1fLnkoKS5yZXNvbHZlKF8uSW4oaW0pKTtmJiYoYyYmKGI/YXdhaXQgZ20oZixjLGIpOmF3YWl0IGdtKGYsYykpLGUmJihkP2F3YWl0IGhtKGYsZSxkKTphd2FpdCBobShmLGUpKSk7Yj1hPy5yYXdGaW5jaFN0YXRpY0NvbmZpZ0dyb3VwOyhhPWE/LmZpbmNoU3RhdGljSGFzaERhdGEpPyhjPV8ueSgpLnJlc29sdmUoXy5Jbih5cCkpKT9hd2FpdCBjLndLKHtjb25maWc6Ynx8e30saUk6YXx8IiJ9KTooYnx8YSkmJl8uV2kobmV3IF8uWGooIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UgaXMgbm90IHByZXNlbnQsIGJ1dCBGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LiIpKTpiJiZfLldpKG5ldyBfLlhqKCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFwPWZ1bmN0aW9uKGEsYj0yMDApe3JldHVybiBhP2I9PT0zMDA/anA6enA6Yj09PTMwMD9rcDpBcH07VG89ZnVuY3Rpb24oYSl7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGIgb2YgYSlpZihVb1tiXSlyZXR1cm4gYn07Vm89ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07Wm89ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0iZ2VsRGVidWdnaW5nRXZlbnQifHxhPT09IndhdGNoVGltZVNlZ21lbnQifTsKcHA9ZnVuY3Rpb24oYT0hMSl7cmV0dXJuIGEmJl8ueCgidnNzX3Rocm91Z2hfZ2VsX3ZpZGVvX3N0YXRzIik/InZpZGVvX3N0YXRzIjoibG9nX2V2ZW50In07Cl8uQ3A9ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9e30sZj1NYXRoLnJvdW5kKGQudGltZXN0YW1wfHwoMCxfLmVsKSgpKTtlLmV2ZW50VGltZU1zPWY8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/ZjowO2VbYV09YjthPV8uQm4oKTtlLmNvbnRleHQ9e2xhc3RBY3Rpdml0eU1zOlN0cmluZyhkLnRpbWVzdGFtcHx8IWlzRmluaXRlKGEpPy0xOmEpfTtkLnNlcXVlbmNlR3JvdXAmJiFfLngoIndlYl9nZWxfc2VxdWVuY2VfaW5mb19raWxsc3dpdGNoIikmJihhPWUuY29udGV4dCxiPWQuc2VxdWVuY2VHcm91cCxCcFtiXT1iIGluIEJwP0JwW2JdKzE6MCxhLnNlcXVlbmNlPXtpbmRleDpCcFtiXSxncm91cEtleTpifSxkLmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBCcFtkLnNlcXVlbmNlR3JvdXBdKTtfLngoIndlYl90YWdfYXV0b21hdGVkX2xvZ19ldmVudHMiKSYmKGUuY29udGV4dC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZT1kLmF1dG9tYXRlZExvZ0V2ZW50U291cmNlKTsoZC5zZW5kSXNvbGF0ZWRQYXlsb2FkPwpXbzokbykoe2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6ZSxjdHRBdXRoSW5mbzpkLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246ZC5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxjKX07Xy5FcD1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9RHA7Xy53KCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmRHA9PT1EcCYmKGQ9bnVsbCk7Xy5DcChhLGIsZCxjKX07CkZwPWZ1bmN0aW9uKGEsYj17fSl7aWYoYT1hLk5kKXtsZXQgYz1hLmZoLGQ9YS5BbDthPVtbImNvbXBvbmVudFN0YWNrIixhLmNvbXBvbmVudFN0YWNrXSxbIndpelRhZ05hbWUiLGEudGFnTmFtZV0sWyJ3aXpPd25lclRyYWNlIixhLnByPy5qb2luKCIgPiAiKV0sWyJlcnJvclNldmVyaXR5IixjPy50b1N0cmluZygpXSxbIndpekZlYXR1cmVGbGFncyIsZD9PYmplY3QuZW50cmllcyhkKS5qb2luKCJcbiIpOnZvaWQgMF1dO2ZvcihsZXQgW2UsZl1vZiBhKWE9ZixhIT09dm9pZCAwJiYoYltlXT1hKX1yZXR1cm4gYn07Xy5IcD1mdW5jdGlvbihhKXtfLkdwKGEpfTtfLklwPWZ1bmN0aW9uKGEpe18uR3AoYSwiV0FSTklORyIpfTsKXy5HcD1mdW5jdGlvbihhLGI9IkVSUk9SIixjLGQsZSxmPXt9LGg9ITEsayl7Zi5uYW1lPWN8fF8udygiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpO2YudmVyc2lvbj1kfHxfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7SnAoYSxmLGIsaCxrKX07CkpwPWZ1bmN0aW9uKGEsYixjPSJFUlJPUiIsZD0hMSxlKXtpZihhKXthLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZhLmxldmVsJiYoYz1hLmxldmVsKTtpZihfLngoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBmPWI7aWYoIWY/LmNvbXBvbmVudFN0YWNrKXt2YXIgaD1hLk5kPy5jb21wb25lbnRTdGFjaztoJiYoZnx8KGY9e30pLGYuY29tcG9uZW50U3RhY2s9aCl9Yj1mfHxifWVsc2UgYj1GcChhLGIpLGY9YS5OZD8uZmgsZiE9PXZvaWQgMCYmYyE9PSJJR05PUkVEIiYmKGM9Zj49Mz8iRVJST1IiOiJXQVJOSU5HIik7aWYoXy54KCJjb25zb2xlX2xvZ19qc19leGNlcHRpb25zIil8fFsidGVzdCIsImRldiIsImF1dG9wdXNoIiwic3RhZ2luZyJdLmluY2x1ZGVzKF8udygiU0VSVkVSX1ZFUlNJT04iKSkpZj1bXSxmLnB1c2goYE5hbWU6ICR7YS5uYW1lfWApLGYucHVzaChgTWVzc2FnZTogJHthLm1lc3NhZ2V9YCksYS5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJgpmLnB1c2goYEVycm9yIFBhcmFtczogJHtKU09OLnN0cmluZ2lmeShhLnBhcmFtcyl9YCksYS5oYXNPd25Qcm9wZXJ0eSgiYXJncyIpJiZmLnB1c2goYEVycm9yIGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYS5hcmdzKX1gKSxmLnB1c2goYEZpbGUgbmFtZTogJHthLmZpbGVOYW1lfWApLGYucHVzaChgU3RhY2t0cmFjZTogJHthLnN0YWNrfWApLGY9Zi5qb2luKCJcbiIpLHdpbmRvdy5jb25zb2xlLmxvZyhmLGEpO2lmKCEoS3A+PTUpKXtmPVtdO2ZvcihrIG9mIExwKXRyeXtrKCkmJmYucHVzaChrKCkpfWNhdGNoKEUpe312YXIgaz1mO2s9Wy4uLk1wLC4uLmtdO3ZhciBsPUViKGEpO2Y9bC5tZXNzYWdlfHwiVW5rbm93biBFcnJvciI7aD1sLm5hbWV8fCJVbmtub3duRXJyb3IiO3ZhciBtPWwuc3RhY2t8fGEuWEt8fCJOb3QgYXZhaWxhYmxlIjtpZihtLnN0YXJ0c1dpdGgoYCR7aH06ICR7Zn1gKSl7dmFyIG49bS5zcGxpdCgiXG4iKTtuLnNoaWZ0KCk7bT1uLmpvaW4oIlxuIil9bj1sLmxpbmVOdW1iZXJ8fAoiTm90IGF2YWlsYWJsZSI7bD1sLmZpbGVOYW1lfHwiTm90IGF2YWlsYWJsZSI7bGV0IHo9MDtpZihhLmhhc093blByb3BlcnR5KCJhcmdzIikmJmEuYXJncyYmYS5hcmdzLmxlbmd0aClmb3IodmFyIHA9MDtwPGEuYXJncy5sZW5ndGgmJiEoej1IbyhhLmFyZ3NbcF0sYHBhcmFtcy4ke3B9YCxiLHopLHo+PTUwMCk7cCsrKTtlbHNlIGlmKGEuaGFzT3duUHJvcGVydHkoInBhcmFtcyIpJiZhLnBhcmFtcyl7bGV0IEU9YS5wYXJhbXM7aWYodHlwZW9mIGEucGFyYW1zPT09Im9iamVjdCIpZm9yKHAgaW4gRSl7aWYoIUVbcF0pY29udGludWU7bGV0IEE9YHBhcmFtcy4ke3B9YCxGPUdvKEVbcF0pO2JbQV09Rjt6Kz1BLmxlbmd0aCtGLmxlbmd0aDtpZih6PjUwMClicmVha31lbHNlIGIucGFyYW1zPUdvKEUpfWlmKGsubGVuZ3RoKWZvcihwPTA7cDxrLmxlbmd0aCYmISh6PUhvKGtbcF0sYHBhcmFtcy5jb250ZXh0LiR7cH1gLGIseiksej49NTAwKTtwKyspO25hdmlnYXRvci52ZW5kb3ImJiFiLmhhc093blByb3BlcnR5KCJ2ZW5kb3IiKSYmCihiWyJkZXZpY2UudmVuZG9yIl09bmF2aWdhdG9yLnZlbmRvcik7cD17bWVzc2FnZTpmLG5hbWU6aCxsaW5lTnVtYmVyOm4sZmlsZU5hbWU6bCxzdGFjazptLHBhcmFtczpiLHNhbXBsZVdlaWdodDoxfTtiPU51bWJlcihhLmNvbHVtbk51bWJlcik7aXNOYU4oYil8fChwLmxpbmVOdW1iZXI9YCR7cC5saW5lTnVtYmVyfToke2J9YCk7aWYoYS5sZXZlbD09PSJJR05PUkVEIil2YXIgcj0wO2Vsc2UgYTp7YT1fLkJvKCk7Zm9yKHIgb2YgYS5sZSlpZihwLm1lc3NhZ2UmJnAubWVzc2FnZS5tYXRjaChyLldKKSl7cj1yLndlaWdodDticmVhayBhfWZvcih2YXIgdCBvZiBhLlNkKWlmKHQuY2FsbGJhY2socCkpe3I9dC53ZWlnaHQ7YnJlYWsgYX1yPTF9cC5zYW1wbGVXZWlnaHQ9cjtyPXA7Zm9yKHZhciB2IG9mIE5wKXtpZighdi5KaltyLm5hbWVdKWNvbnRpbnVlO3Q9di5KaltyLm5hbWVdO2ZvcihsZXQgRSBvZiB0KXt0PXIubWVzc2FnZS5tYXRjaChFLnJlZ2V4cCk7aWYoIXQpY29udGludWU7CnIucGFyYW1zWyJwYXJhbXMuZXJyb3Iub3JpZ2luYWwiXT10WzBdO2E9RS5ncm91cHM7cD17fTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXBbYVtiXV09dFtiKzFdLHIucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHthW2JdfWBdPXRbYisxXTtyLm1lc3NhZ2U9di5wbShwKTticmVha319ci5wYXJhbXN8fChyLnBhcmFtcz17fSk7dj1fLkJvKCk7ci5wYXJhbXNbInBhcmFtcy5lcnJvclNlcnZpY2VTaWduYXR1cmUiXT1gbXNnPSR7di5sZS5sZW5ndGh9JmNiPSR7di5TZC5sZW5ndGh9YDtyLnBhcmFtc1sicGFyYW1zLnNlcnZpY2VXb3JrZXIiXT0iZmFsc2UiO18udS5kb2N1bWVudCYmXy51LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihyLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3IE9wKFBwLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT1PcCYmKHIucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09CiJ0cnVlIik7d2luZG93Lnl0ZXJyJiZ0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKHIpO3Iuc2FtcGxlV2VpZ2h0PT09MHx8UXAuaGFzKHIubWVzc2FnZSl8fChkP1JwKHIsYyk6U3AocixjLGUpKX19fTtScD1mdW5jdGlvbihhLGI9IkVSUk9SIil7VHAoYixhKTtVcChhKX07ClNwPWZ1bmN0aW9uKGEsYj0iRVJST1IiLGMpe2lmKGI9PT0iRVJST1IiKXtfLlZwLnB1Ymxpc2goImhhbmRsZUVycm9yIixhKTtpZihfLngoInJlY29yZF9hcHBfY3Jhc2hlZF93ZWIiKSYmV3A9PT0wJiZhLnNhbXBsZVdlaWdodD09PTEpe1dwKys7bGV0IGQ9e2FwcENyYXNoVHlwZToiQVBQX0NSQVNIX1RZUEVfQlJFQUtQQUQifTtfLngoInJlcG9ydF9jbGllbnRfZXJyb3Jfd2l0aF9hcHBfY3Jhc2hfa3MiKXx8KGQuc3lzdGVtSGVhbHRoPXtjcmFzaERhdGE6e2NsaWVudEVycm9yOntsb2dNZXNzYWdlOnttZXNzYWdlOmEubWVzc2FnZX19fX0pO18uRXAoImFwcENyYXNoZWQiLGQpfVhwKyt9ZWxzZSBiPT09IldBUk5JTkciJiZfLlZwLnB1Ymxpc2goImhhbmRsZVdhcm5pbmciLGEpO18ueCgia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIikmJihjPVlwKGIsYSxjKSkmJihfLkVwKCJjbGllbnRFcnJvciIsYyksKGI9PT0iRVJST1IifHxfLngoImVycm9yc19mbHVzaF9nZWxfYWx3YXlzX2tpbGxzd2l0Y2giKSkmJgpfLmJwKHZvaWQgMCx2b2lkIDAsITEpKTtfLngoInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIil8fFRwKGIsYSk7VXAoYSl9O1VwPWZ1bmN0aW9uKGEpe3RyeXtRcC5hZGQoYS5tZXNzYWdlKX1jYXRjaChiKXt9S3ArK307CllwPWZ1bmN0aW9uKGEsYixjPXt9KXthOntmb3IoZCBvZiBacClpZihfLk1rKGQudG9Mb3dlckNhc2UoKSkpe3ZhciBkPSEwO2JyZWFrIGF9ZD0hMX1pZighZCl7dmFyIGU9e3N0YWNrVHJhY2U6Yi5zdGFja307Yi5maWxlTmFtZSYmKGUuZmlsZW5hbWU9Yi5maWxlTmFtZSk7ZD1iLmxpbmVOdW1iZXImJmIubGluZU51bWJlci5zcGxpdD9iLmxpbmVOdW1iZXIuc3BsaXQoIjoiKTpbXTtkLmxlbmd0aCE9PTAmJihkLmxlbmd0aCE9PTF8fGlzTmFOKE51bWJlcihkWzBdKSk/ZC5sZW5ndGghPT0yfHxpc05hTihOdW1iZXIoZFswXSkpfHxpc05hTihOdW1iZXIoZFsxXSkpfHwoZS5saW5lTnVtYmVyPU51bWJlcihkWzBdKSxlLmNvbHVtbk51bWJlcj1OdW1iZXIoZFsxXSkpOmUubGluZU51bWJlcj1OdW1iZXIoZFswXSkpO2Q9e2xldmVsOiJFUlJPUl9MRVZFTF9VTktOT1dOIixtZXNzYWdlOmIubWVzc2FnZSxlcnJvckNsYXNzTmFtZTpiLm5hbWUsc2FtcGxlV2VpZ2h0OmIuc2FtcGxlV2VpZ2h0fTsKYT09PSJFUlJPUiI/ZC5sZXZlbD0iRVJST1JfTEVWRUxfRVJST1IiOmE9PT0iV0FSTklORyImJihkLmxldmVsPSJFUlJPUl9MRVZFTF9XQVJOTklORyIpO2E9e2lzT2JmdXNjYXRlZDohMCxicm93c2VyU3RhY2tJbmZvOmV9O2MucGFnZVVybD13aW5kb3cubG9jYXRpb24uaHJlZjtjLmt2UGFpcnM9W107Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikmJihjLmV4cGVyaW1lbnRJZHM9Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikpO2U9Xy53KCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighXy5SaSgid2ViX2Rpc2FibGVfZ2VsX3N0cF9lY2F0Y2hlcl9raWxsc3dpdGNoIikmJmUpZm9yKHZhciBmIG9mIE9iamVjdC5rZXlzKGUpKWMua3ZQYWlycy5wdXNoKHtrZXk6Zix2YWx1ZTpTdHJpbmcoZVtmXSl9KTtpZihmPWIucGFyYW1zKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhmKSljLmt2UGFpcnMucHVzaCh7a2V5OmBjbGllbnQuJHtofWAsdmFsdWU6U3RyaW5nKGZbaF0pfSk7CmlmKGI9Yi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZCljLnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoYik7Yj1fLncoIlNFUlZFUl9OQU1FIik7aD1fLncoIlNFUlZFUl9WRVJTSU9OIik7YiYmaCYmKGMua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTpifSksYy5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJmMua3ZQYWlycy5wdXNoKHtrZXk6ImNsaWVudC5wbGF5ZXIudmVyc2lvbiIsdmFsdWU6Yn0pO3JldHVybntlcnJvck1ldGFkYXRhOmMsc3RhY2tUcmFjZTphLGxvZ01lc3NhZ2U6ZH19fTsKVHA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBhcmFtc3x8e307YT17dXJsUGFyYW1zOnthOiJsb2dlcnJvciIsdDoianNlcnJvciIsdHlwZTpiLm5hbWUsbXNnOmIubWVzc2FnZS5zdWJzdHIoMCwyNTApLGxpbmU6Yi5saW5lTnVtYmVyLGxldmVsOmEsImNsaWVudC5uYW1lIjpjLm5hbWV9LHBvc3RQYXJhbXM6e3VybDpfLncoIlBBR0VfTkFNRSIsd2luZG93LmxvY2F0aW9uLmhyZWYpLGZpbGU6Yi5maWxlTmFtZX0sbWV0aG9kOiJQT1NUIn07Yy52ZXJzaW9uJiYoYVsiY2xpZW50LnZlcnNpb24iXT1jLnZlcnNpb24pO2lmKGEucG9zdFBhcmFtcyl7Yi5zdGFjayYmKGEucG9zdFBhcmFtcy5zdGFjaz1iLnN0YWNrKTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYykpYS5wb3N0UGFyYW1zW2BjbGllbnQuJHtlfWBdPWNbZV07aWYoYj1fLncoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgZCBvZiBPYmplY3Qua2V5cyhiKSlhLnBvc3RQYXJhbXNbZF09CmJbZF07KGQ9Xy53KCJMQVZBX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImxhdmEudmVyc2lvbiJdPWQpO2Q9Xy53KCJTRVJWRVJfTkFNRSIpO2I9Xy53KCJTRVJWRVJfVkVSU0lPTiIpO2QmJmImJihhLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09ZCxhLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09Yik7KGQ9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImNsaWVudC5wbGF5ZXIudmVyc2lvbiJdPWQpfV8uemooYCR7Xy53KCJFQ0FUQ0hFUl9SRVBPUlRfSE9TVCIsIiIpfS9lcnJvcl8yMDRgLGEpfTthcT1mdW5jdGlvbigpeyRwLmluc3RhbmNlfHwoJHAuaW5zdGFuY2U9bmV3ICRwKTtyZXR1cm4gJHAuaW5zdGFuY2V9OwpjcT1mdW5jdGlvbihhLGIpe2JxW2JdPWJxW2JdfHx7Y291bnQ6MH07dmFyIGM9YnFbYl07Yy5jb3VudCsrO2MudGltZT0oMCxfLmVsKSgpO2Euanx8KGEuaj1fLllqKCgpPT57dmFyIGQ9KDAsXy5lbCkoKTtmb3IobGV0IGUgaW4gYnEpYnFbZV0mJmQtYnFbZV0udGltZT42RTQmJmRlbGV0ZSBicVtlXTthJiYoYS5qPTApfSw1RTMpKTtyZXR1cm4gYy5jb3VudD41PyhjLmNvdW50PT09NiYmTWF0aC5yYW5kb20oKSoxRTU8MSYmKGM9bmV3IF8uWGooIkNTSSBkYXRhIGV4Y2VlZGVkIGxvZ2dpbmcgbGltaXQgd2l0aCBrZXkiLGIuc3BsaXQoIl8iKSksYi5pbmRleE9mKCJwbGV2Iik+PTB8fF8uSXAoYykpLCEwKTohMX07ZHE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gXy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSlbYV19OwplcT1mdW5jdGlvbihhLGI9MCl7dmFyIGM9Xy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7Y3x8KGM9e30sXy5RaSgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsYykpO2NbYl09YX07ZnE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gYT09PTA/IlJPT1RfVkVfVFlQRSI6YFJPT1RfVkVfVFlQRS4ke2F9YH07Xy5ncT1mdW5jdGlvbihhPTApe3JldHVybiBfLncoZnEoYSkpfTtocT1mdW5jdGlvbigpe3ZhciBhPV8udygiY3NuLXRvLWN0dC1hdXRoLWluZm8iKTthfHwoYT17fSxfLlFpKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIsYSkpO3JldHVybiBhfTtfLmlxPWZ1bmN0aW9uKGE9MCl7YT1kcShhKTtpZighYSYmIV8udygiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO2F8fChhPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIGE/YTpudWxsfTtqcT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aHEoKTsoYz1fLmlxKGMpKSYmZGVsZXRlIGRbY107YiYmKGRbYV09Yil9OwpfLmtxPWZ1bmN0aW9uKGEpe3JldHVybiBocSgpW2FdfTtfLm1xPWZ1bmN0aW9uKGEsYixjPTAsZCl7aWYoYSE9PWRxKGMpfHxiIT09Xy53KGZxKGMpKSlpZihqcShhLGQsYyksZXEoYSxjKSxfLlFpKGZxKGMpLGIpLGI9KCk9PntzZXRUaW1lb3V0KCgpPT57YSYmXy5FcCgiZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQiLHtjbGllbnREb2N1bWVudE5vbmNlOmxxLGNsaWVudFNjcmVlbk5vbmNlOmF9KX0sMCl9LCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiaW4gd2luZG93KXRyeXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGIpfWNhdGNoKGUpe2IoKX1lbHNlIGIoKX07Xy5vcT1mdW5jdGlvbihhLGIpe18ubnEoIl9zdGFydCIsYSxiKX07Cl8ucHE9ZnVuY3Rpb24oYSxiKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGIpLmFjdGlvbkRpc2FibGVkKXt2YXIgYz1fLnVvKGJ8fCIiKTtfLnluKGMuaW5mbyxhKTthLmxvYWRUeXBlJiYoYz1hLmxvYWRUeXBlLF8ubG8oYikubG9hZFR5cGU9Yyk7Xy55bihfLm9vKGIpLGEpO2M9Xy5wbyhiKTtiPV8ua28oYikuY3R0QXV0aEluZm87YXEoKS5pbmZvKGEsYyxiKX19O3FxPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnVGlja3M/P1tdKS5tYXAoYT0+T2JqZWN0LnZhbHVlcyhhKVswXSl9OwpfLm5xPWZ1bmN0aW9uKGEsYixjKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGMpLmFjdGlvbkRpc2FibGVkKXt2YXIgZD1fLnBvKGMpLGU7aWYoZT1fLngoIndlYl9jc2lfZGVidWdfc2FtcGxlX2VuYWJsZWQiKSYmZCl7Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCkmJiFycSYmKHJxPSEwLF8ubnEoImdjZmwiLCgwLF8uZWwpKCksYykpO2U9Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCk/LmxvZ2dpbmdIb3RDb25maWc/LmNzaUNvbmZpZz8uZGVidWdTYW1wbGVXZWlnaHR8fDA7dmFyIGY7aWYoZj1lIT09MCliOntmPXFxKCk7aWYoZi5sZW5ndGg+MClmb3IodmFyIGg9MDtoPGYubGVuZ3RoO2grKylpZihhPT09ZltoXSl7Zj0hMDticmVhayBifWY9ITF9Zj8oZT1fLkduKGQpJWUhPT0wLF8ua28oYykuZGVidWdUaWNrc0V4Y2x1ZGVkTG9nZ2VkfHwoZj17fSxmLmRlYnVnVGlja3NFeGNsdWRlZD1lLF8ucHEoZixjKSksXy5rbyhjKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTplPSExfWlmKCFlKXtpZihhWzBdIT09Il8iJiYoZT1hLF8uc3EubWFyaykpe2Uuc3RhcnRzV2l0aCgibWFya18iKXx8KGU9Im1hcmtfIitlKTtjJiYoZSs9YCAoJHtjfSlgKTtmPWU7aD17fTtpZihiIT09dm9pZCAwJiYhXy54KCJ3ZWJfY3NpX2Rpc2FibGVfYWx0X3RpbWVfcGVyZm9ybWFuY2VfbWFyayIpKXtsZXQgbD1iO2w9Xy54KCJjc2lfdXNlX3BlcmZvcm1hbmNlX25hdmlnYXRpb25fdGltaW5nIik/bC1fLnNxLnRpbWVPcmlnaW46bC0oXy5zcS50aW1lT3JpZ2lufHxfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQpO2guc3RhcnRUaW1lPWx9Xy54KCJjc2lfZW5hYmxlX2Nocm9tZV9kZXZ0b29sc19wZXJmb3JtYW5jZV90aW1lbGluZV9pbnRlZ3JhdGlvbiIpJiYoaC5kZXRhaWw9e3ZJOntkYXRhVHlwZToibWFya2VyIixjb2xvcjoicHJpbWFyeSIsdG9vbHRpcFRleHQ6Zn19KTtmPU9iamVjdC5rZXlzKGgpLmxlbmd0aD4wP2g6dm9pZCAwO3RyeXtfLnNxLm1hcmsoZSxmKX1jYXRjaChsKXtfLnNxLm1hcmsoZSl9fWU9Cl8udW8oY3x8IiIpO2UudGlja1thXT1ifHwoMCxfLmVsKSgpO2lmKGUuY2FsbGJhY2smJmUuY2FsbGJhY2tbYV0pZm9yKHZhciBrIG9mIGUuY2FsbGJhY2tbYV0paygpO2s9Xy5ubyhjKTtrLmdlbFRpY2tzJiYoay5nZWxUaWNrc1thXT0hMCk7ZT1fLm1vKGMpO2s9Ynx8KDAsXy5lbCkoKTtlW2FdPWs7ZT1fLmtvKGMpLmN0dEF1dGhJbmZvO2E9PT0iX3N0YXJ0Ij8oYT1hcSgpLGNxKGEsYGJhc2VsaW5lXyR7ZH1gKXx8Xy5FcCgibGF0ZW5jeUFjdGlvbkJhc2VsaW5lZCIse2NsaWVudEFjdGlvbk5vbmNlOmR9LHt0aW1lc3RhbXA6YixjdHRBdXRoSW5mbzplfSkpOmFxKCkudGljayhhLGQsYixlKTtfLnRxKGMpO3JldHVybiBrfX19OwpfLnZxPWZ1bmN0aW9uKGEpe3ZhciBiPV8udXEoImFmdCIsYSk7aWYoYilyZXR1cm4gYjtiPV8udygoYXx8IiIpKyJUSU1JTkdfQUZUX0tFWVMiLFsib2wiXSk7dmFyIGM9Yi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxjO2QrKyl7bGV0IGU9Xy51cShiW2RdLGEpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIE5hTn07Xy51cT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5tbyhiKVthXSlyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIj9hOmFbYS5sZW5ndGgtMV19O18udHE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51cSgiX3N0YXJ0IixhKSxjPV8udnEoYSksZD0hd3E7YiYmYyYmZCYmKF8uc20oeHEsbmV3IHlxKE1hdGgucm91bmQoYy1iKSxhKSksd3E9ITApfTtfLnpxPWZ1bmN0aW9uKGEsYixjPSExKXtfLlZpKF8ucHEpKGEsYixjKX07Xy5BcT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uVmkoXy5ucSkoYSxiLGMpfTsKXy5CcT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZpKCgpPT57dmFyIGM9Xy5tbyhiKTtyZXR1cm4gYSBpbiBjfSkoKX07a2E9T2JqZWN0LmNyZWF0ZTtqYT1PYmplY3QuZGVmaW5lUHJvcGVydHk7aWE9Z2xvYmFsVGhpcztjYT0iSW50OCBVaW50OCBVaW50OENsYW1wZWQgSW50MTYgVWludDE2IEludDMyIFVpbnQzMiBGbG9hdDMyIEZsb2F0NjQiLnNwbGl0KCIgIik7aWEuQmlnSW50NjRBcnJheSYmKGNhLnB1c2goIkJpZ0ludDY0IiksY2EucHVzaCgiQmlnVWludDY0IikpO3ZhciBsYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZmEoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiYSIpfSk7CmZhKCJTdXBwcmVzc2VkRXJyb3IiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyxkLGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihjLGQsZSk7ZT1FcnJvcihlKTsic3RhY2siaW4gZSYmKHRoaXMuc3RhY2s9ZS5zdGFjayk7dGhpcy5tZXNzYWdlPWUubWVzc2FnZTt0aGlzLmVycm9yPWM7dGhpcy5zdXBwcmVzc2VkPWR9aWYoYSlyZXR1cm4gYTtuYShiLEVycm9yKTtiLnByb3RvdHlwZS5uYW1lPSJTdXBwcmVzc2VkRXJyb3IiO3JldHVybiBifSk7CmZhKCJTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtpZihiIGluc3RhbmNlb2YgUmVnRXhwJiYhYi5nbG9iYWwpdGhyb3cgbmV3IFR5cGVFcnJvcigiYiIpO3JldHVybiBiIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShiLGMpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhiKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxjKX19KTtmYSgiUHJvbWlzZS53aXRoUmVzb2x2ZXJzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7dmFyIGIsYztyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2I9ZDtjPWV9KSxyZXNvbHZlOmIscmVqZWN0OmN9fX0pOwpmYSgiT2JqZWN0Lmhhc093biIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixjKX19KTtmYSgiQXJyYXkucHJvdG90eXBlLmF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZWEoImF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZmEoIlN0cmluZy5wcm90b3R5cGUuYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6cWF9KTtfLl9EdW1wRXhjZXB0aW9uPXdpbmRvdy5fRHVtcEV4Y2VwdGlvbnx8ZnVuY3Rpb24oYSl7dGhyb3cgYTt9O3dpbmRvdy5fRHVtcEV4Y2VwdGlvbj1fLl9EdW1wRXhjZXB0aW9uO3dpbmRvdy55dGNzaSYmd2luZG93Lnl0Y3NpLnRpY2smJndpbmRvdy55dGNzaS50aWNrKCJyc2VzX2RwaiIpO18uQ3E9Xy5DcXx8e307Xy51PXRoaXN8fHNlbGY7Xy5EcT1fLnUuX0ZfdG9nZ2xlc19kZWZhdWx0X2Jhc2V8fFtdO3ZhLmdldD1mdW5jdGlvbigpe3JldHVybiBudWxsfTtfLmVoPW51bGw7Xy5FcT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt2YXIgJG09Y2xhc3N7Y29uc3RydWN0b3Ioe3VybDphLGtMOmJ9KXt0aGlzLm89YTt0aGlzLkI9Yjt0aGlzLnY9KG5ldyBEYXRlKS5nZXRUaW1lKCktMTcwNDA2NzJFNTt0aGlzLmo9e307Zm9yKHZhciBjPS9bPyZdKFteJj1dKyk9KFteJl0qKS9nO2I9Yy5leGVjKGEpOyl0aGlzLmpbYlsxXV09YlsyXX19O18uSGEoXy5MYSxFcnJvcik7Xy5MYS5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO3ZhciB3ZDt2YXIgTmE9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsUWE7Xy5TYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTtWYShhPT5hYGApfHxWYShhPT5hYFwwYCl8fFZhKGE9PmFgXG5gKXx8VmEoYT0+YWBcdTAwMDBgKTtfLldhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O18uRnE9bmV3IF8uV2EoImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7dmFyIFphLGNiO1phPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuZmI9YX19O18uR3E9bmV3IFphKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpO18uSHE9JGEoInRlbCIpO18uSXE9JGEoImRhdGEiKTtfLkpxPSRhKCJodHRwIik7Xy5LcT0kYSgiaHR0cHMiKTtfLkxxPSRhKCJmdHAiKTtfLk1xPSRhKCJtYWlsdG8iKTtfLk5xPSRhKCJpbnRlbnQiKTtfLk9xPSRhKCJzbXMiKTtfLlBxPSRhKCJ2bmQueW91dHViZSIpO18uYWI9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxXTtjYj0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18uZmI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qKyIifX07Xy5qYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTt2YXIgcGI9ImFsdGVybmF0ZSBhdXRob3IgYm9va21hcmsgY2Fub25pY2FsIGNpdGUgaGVscCBpY29uIGxpY2Vuc2UgbW9kdWxlcHJlbG9hZCBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpO3ZhciBEYj17fTt2YXIgS2I7S2I9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtfLlliPS8jfCQvO3ZhciBRcT0hIShfLkRxWzBdPj4yNSYxKSxScT0hIShfLkRxWzBdPj4yMCYxKSxTcT0hIShfLkRxWzBdPj4yNyYxKSxUcT0hIShfLkRxWzBdJjgpLFVxPSEhKF8uRHFbMF0mODE5MiksVnE9ISEoXy5EcVswXT4+MTkmMSksV3E9ISEoXy5EcVswXT4+MTcmMSksWHE9ISEoXy5EcVswXT4+MTgmMSk7dmFyIGRjLFZjLGRlLEFlLFZnO2RjPVFxP1NxOnVhKDYxMDQwMTMwMSwhMSk7Xy5ZcT1RcT9UcTp1YSg1MTM2NTk1MjMsITEpO1ZjPVFxP1JxfHwhVXE6dWEoNzQ4NDAyMTQ3LCEwKTtkZT1RcT9WcTp1YSg5MTk0NDQ4MjQsITEpO0FlPVFxP1dxOnVhKDkyODg3NTM5OCwhMSk7Vmc9UXE/WHE6dWEoNjgzNzQ5MjAxLCExKTt2YXIgZWMsWnE9Xy51Lm5hdmlnYXRvcjtlYz1acT9acS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7Xy5wY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgJHEsYXIsYnI7JHE9amMoKTthcj1pYygpPyExOmhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIik7Xy5KbD1oYygiRWRnZSIpO2JyPWhjKCJHZWNrbyIpJiYhKF8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIikpJiYhKGhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIikpJiYhaGMoIkVkZ2UiKTtfLmNyPV8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIik7Xy5kcj1fLmNyJiZoYygiTW9iaWxlIik7bmMoKXx8aGMoIk1hY2ludG9zaCIpO25jKCl8fGhjKCJXaW5kb3dzIik7KG5jKCk/ZWMucGxhdGZvcm09PT0iTGludXgiOmhjKCJMaW51eCIpKXx8bmMoKXx8aGMoIkNyT1MiKTtfLmVyPW5jKCk/ZWMucGxhdGZvcm09PT0iQW5kcm9pZCI6aGMoIkFuZHJvaWQiKTtvYygpO2hjKCJpUGFkIik7aGMoImlQb2QiKTtfLmZyPW9jKCl8fGhjKCJpUGFkIil8fGhjKCJpUG9kIik7Cl8uZ3I9Xy5iYygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigia2Fpb3MiKSE9LTE7a2MoKTtfLmhyPW9jKCl8fGhjKCJpUG9kIik7Xy5pcj1oYygiaVBhZCIpOyFoYygiQW5kcm9pZCIpfHxtYygpfHxrYygpfHxqYygpfHxoYygiU2lsayIpO21jKCk7Xy5Paz1oYygiU2FmYXJpIikmJiEobWMoKXx8KGljKCk/MDpoYygiQ29hc3QiKSl8fGpjKCl8fChpYygpPzA6aGMoIkVkZ2UiKSl8fChpYygpP2ZjKCJNaWNyb3NvZnQgRWRnZSIpOmhjKCJFZGcvIikpfHwoaWMoKT9mYygiT3BlcmEiKTpoYygiT1BSIikpfHxrYygpfHxoYygiU2lsayIpfHxoYygiQW5kcm9pZCIpKSYmIShvYygpfHxoYygiaVBhZCIpfHxoYygiaVBvZCIpKTt2YXIgcmM9e30sdmM9bnVsbDt2YXIgd2M9dm9pZCAwO3ZhciBIYyxZYyxTYztfLkpjPV8ueWMoKTtfLmpyPV8ueWMoKTtIYz1fLnljKCk7Xy5rcj1fLnljKCk7WWM9Xy55YygpO18uT2M9Xy55YygibV9tIiwhMCk7U2M9Xy55YygpO18ubHI9Xy55YygpO3ZhciBucjtfLkFjPV8ueWMoImphcyIsITApO25yPVtdO25yW18uQWNdPTc7Xy5tcj1PYmplY3QuZnJlZXplKG5yKTtfLlBjPXt9O18uemM9e307Xy5vcj1PYmplY3QuZnJlZXplKHt9KTtfLnByPV8uQ2MoYT0+YSE9PW51bGwmJmEhPT12b2lkIDApO3ZhciBFYyxEYztFYz1fLkNjKGE9PnR5cGVvZiBhPT09Im51bWJlciIpO0RjPV8uQ2MoYT0+dHlwZW9mIGE9PT0ic3RyaW5nIik7Xy5ibz1fLkNjKGE9PmEhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCImJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iKTtfLnFyPV8uQ2MoYT0+ISFhJiYodHlwZW9mIGE9PT0ib2JqZWN0Inx8dHlwZW9mIGE9PT0iZnVuY3Rpb24iKSk7dmFyIHJyLHNyO18uTWM9Xy5DYyhhPT5hPj1yciYmYTw9c3IpO3JyPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUik7c3I9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtfLnRyPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwO18udXI9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzVWludE46dm9pZCAwO18udnI9TnVtYmVyLmlzU2FmZUludGVnZXI7Xy53cj1OdW1iZXIuaXNGaW5pdGU7Xy54cj1NYXRoLnRydW5jO3ZhciBUYz17fTt2YXIgS2M7Xy55cj1fLkZjKDApO18uenI9ZmQoKTtfLkFyPWZkKCk7Xy5Ccj1mZCgpO18uQ3I9ZmQoKTtfLkRyPWZkKCk7Xy5Fcj1mZCgpO18uRnI9ZmQoKTtfLkdyPWZkKCk7Xy5Icj1mZCgpO18uSXI9ZmQoKTtfLkpyPWZkKCk7Xy5Lcj1mZCgpO18uTHI9ZmQoKTtfLk1yPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLkRhPV8uWGMoYSxiLGMsMjA0OCl9dG9KU09OKCl7cmV0dXJuIFVjKHRoaXMpfXNlcmlhbGl6ZShhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoVWModGhpcyxhKSl9Y2xvbmUoKXt2YXIgYT10aGlzLkRhLGI9YVtfLkFjXXwwO3JldHVybiBfLiRjKHRoaXMsYSxiKT9fLmJkKHRoaXMsYSwhMCk6bmV3IHRoaXMuY29uc3RydWN0b3IoXy5aYyhhLGIsITEpKX19O18uTXIucHJvdG90eXBlW18uT2NdPV8uUGM7dmFyIGpqPXdpbmRvdzsiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsCiJJTlBVVCJdKTt2YXIgaWQ9e1FCOiJhbGxvdy1mb3JtcyIsU0I6ImFsbG93LW1vZGFscyIsVEI6ImFsbG93LW9yaWVudGF0aW9uLWxvY2siLFVCOiJhbGxvdy1wb2ludGVyLWxvY2siLFZCOiJhbGxvdy1wb3B1cHMiLFdCOiJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giLFhCOiJhbGxvdy1wcmVzZW50YXRpb24iLFlCOiJhbGxvdy1zYW1lLW9yaWdpbiIsWkI6ImFsbG93LXNjcmlwdHMiLGFDOiJhbGxvdy10b3AtbmF2aWdhdGlvbiIsYkM6ImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJ9LGxkPWhkKCgpPT5rZCgpKTtfLmc9Xy5uZC5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLm5kKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTtfLmcuYXJlYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoKnRoaXMuaGVpZ2h0fTtfLmcuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5hcmVhKCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcuc2NhbGU9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoKj1hO3RoaXMuaGVpZ2h0Kj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTtyZXR1cm4gdGhpc307dmFyIHJkPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIik7dmFyIE9wPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE9PT1QcCYmYnx8IiJ9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qfX0sUHA9e307bmV3IE9wKFBwLCIiKTtfLmc9dWQucHJvdG90eXBlO18uZy5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihhLGIpe3JldHVybihifHx0aGlzLmopLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9O18uZy5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBCZCh0aGlzLmosYSl9O18uZy5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qLmNyZWF0ZVRleHROb2RlKFN0cmluZyhhKSl9O18uZy5hcHBlbmRDaGlsZD1mdW5jdGlvbihhLGIpe2EuYXBwZW5kQ2hpbGQoYil9O18uZy5hcHBlbmQ9ZnVuY3Rpb24oYSxiKXtBZChfLnZkKGEpLGEsYXJndW1lbnRzKX07Xy5nLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8uZy5yZW1vdmVOb2RlPV8uRGQ7Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEmJmI/YT09Ynx8YS5jb250YWlucyhiKTohMX07Xy5nLmlzRm9jdXNhYmxlPV8uRmQ7dmFyIGlqPShuZXcgRGF0ZSkuZ2V0VGltZSgpO18uZz1MZC5wcm90b3R5cGU7Xy5nLmlzRW5hYmxlZD1mdW5jdGlvbigpe2lmKCFfLnUubmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpcmV0dXJuITE7aWYoIXRoaXMuaXNFbXB0eSgpKXJldHVybiEwO3RoaXMuc2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiLCIxIix7dmo6NjB9KTtpZih0aGlzLmdldCgiVEVTVENPT0tJRVNFTkFCTEVEIikhPT0iMSIpcmV0dXJuITE7dGhpcy5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKXy5nLnNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7aWYodHlwZW9mIGM9PT0ib2JqZWN0Iil7dmFyIGU9Yy5zYW1lU2l0ZTtkPWMuc2VjdXJlfHwhMTt2YXIgZj1jLmRvbWFpbnx8dm9pZCAwO3ZhciBoPWMucGF0aHx8dm9pZCAwO3ZhciBrPWMudmp9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigiRGAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJFYCIrYik7az09PXZvaWQgMCYmKGs9LTEpO2M9Zj8iO2RvbWFpbj0iK2Y6IiI7aD1oPyI7cGF0aD0iK2g6IiI7ZD1kPyI7c2VjdXJlIjoiIjtrPWs8MD8iIjprPT0wPyI7ZXhwaXJlcz0iKyhuZXcgRGF0ZSgxOTcwLDEsMSkpLnRvVVRDU3RyaW5nKCk6IjtleHBpcmVzPSIrKG5ldyBEYXRlKERhdGUubm93KCkrayoxRTMpKS50b1VUQ1N0cmluZygpO3RoaXMuai5jb29raWU9YSsiPSIrYitjK2graytkKyhlIT1udWxsPyI7c2FtZXNpdGU9IitlOiIiKX07Cl8uZy5nZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hKyI9IixkPSh0aGlzLmouY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IobGV0IGU9MCxmO2U8ZC5sZW5ndGg7ZSsrKXtmPWRbZV0udHJpbSgpO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5nLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7dmo6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5nLnJkPWZ1bmN0aW9uKCl7cmV0dXJuIE1kKHRoaXMpLmtleXN9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiBNZCh0aGlzKS52YWx1ZXN9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuai5jb29raWV9O18uZy5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPU1kKHRoaXMpLmtleXM7Zm9yKGxldCBiPWEubGVuZ3RoLTE7Yj49MDtiLS0pdGhpcy5yZW1vdmUoYVtiXSl9OwpfLkxqPW5ldyBMZCh0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBSZDtfLk5yPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dmFyIGM9Y3x8W107dGhpcy52PWE7dGhpcy5vPWJ8fG51bGw7dGhpcy5qPVtdO3RoaXMuaj10aGlzLmouY29uY2F0KGMpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudn19O18uT3I9bmV3IF8uTnIoIm43M3F3ZiIsIm43M3F3ZiIpO18uYWUucHJvdG90eXBlLlk9ITE7Xy5hZS5wcm90b3R5cGUuaWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ZfTtfLmFlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5ZfHwodGhpcy5ZPSEwLHRoaXMubGEoKSl9O18uYWUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLmFlLnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuWT9iIT09dm9pZCAwP2EuY2FsbChiKTphKCk6KHRoaXMuS3x8KHRoaXMuSz1bXSksYiYmKGE9YS5iaW5kKGIpKSx0aGlzLksucHVzaChhKSl9O18uYWUucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7aWYodGhpcy5LKWZvcig7dGhpcy5LLmxlbmd0aDspdGhpcy5LLnNoaWZ0KCkoKX07dmE9dmF8fHt9O18uSGEoYmUsXy5hZSk7YmUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt9O2NlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEpe3RoaXMuaiYmKHRoaXMuai5jYWxsKHRoaXMub3x8bnVsbCxhKSx0aGlzLmo9dGhpcy5vPW51bGwpfTtjZS5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPW51bGx9O3ZhLndrPWNlO18uSGEoZWUsXy5hZSk7Xy5nPWVlLnByb3RvdHlwZTtfLmcuUGo9bnVsbDtfLmcuT3k9YmU7Xy5nLkFqPW51bGw7Xy5nLnN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5nLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRH07Xy5nLmlzTG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLkFqfTtfLmcueWU9ZnVuY3Rpb24oKXt0aGlzLkFqPW5ldyBiZX07Xy5nLm9uTG9hZD1mdW5jdGlvbihhKXt2YXIgYj1uZXcgdGhpcy5PeTtiLmluaXRpYWxpemUoYSgpKTt0aGlzLkFqPWI7aWYodGhpcy5vJiYoYj1pZSh0aGlzLm8sYSgpKSkpcmV0dXJuIGI7aWYodGhpcy5CJiYoYT1pZSh0aGlzLkIsYSgpKSkpcmV0dXJuIGE7dGhpcy52JiYodGhpcy52Lmxlbmd0aD0wKTtyZXR1cm4gbnVsbH07Cl8uZy5vbkVycm9yPWZ1bmN0aW9uKGEpe3RoaXMudiYmKGE9aWUodGhpcy52LGEpKSYmXy4kYihFcnJvcigiR2AiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuQiYmKHRoaXMuQi5sZW5ndGg9MCl9O18uZy5sYT1mdW5jdGlvbigpe2VlLnpiLmxhLmNhbGwodGhpcyk7Xy5aZCh0aGlzLkFqKTt0aGlzLlBqPW51bGx9O3ZhLk9nPWVlO3ZhciBRZz17RVJST1I6ImVycm9yIixJRExFOiJpZGxlIixNczoiYWN0aXZlIixpdToidXNlcklkbGUiLGh1OiJ1c2VyQWN0aXZlIn07Xy5nPWplLnByb3RvdHlwZTtfLmcuUnI9ZnVuY3Rpb24oKXt9O18uZy5UaD1mdW5jdGlvbigpe307Xy5nLm5pPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIkgiKTt9O18uZy5BZz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJJIik7fTtfLmcuVnA9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiExfTtfLmcuZW49ZnVuY3Rpb24oKXt9O18uZy5abj1mdW5jdGlvbigpe307dmFyIFByPWNsYXNze2luaXQoKXtfLkZhKCJfRl9pbnN0YWxsQ3NzIixhPT57YSYma2UoYSl9KX19O3ZhciBtZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLm89IiI7dGhpcy52PXt9fXRvU3RyaW5nKCl7dmFyIGE9dGhpcy5vK3ZlKHRoaXMpLGI9Xy5VYih0aGlzLnYpLGM9IiI7YiE9IiImJihjPSI/IitiKTtyZXR1cm4gYStjfWNsb25lKCl7dmFyIGE9bmV3IG1lO2Euaj17Li4udGhpcy5qfTthLm89dGhpcy5vO2Eudj17Li4udGhpcy52fTtyZXR1cm4gYX19LG5lPXt2RzoiayIsRUM6ImNrIix6RjoibSIsWUM6ImV4bSIsV0M6ImV4Y20iLExCOiJhbSIsUkI6ImFtYyIsbUY6Im1tIix0RzoicnQiLGJGOiJkIixYQzoiZWQiLGlIOiJzdiIsSkM6ImRlb2IiLHNDOiJjYiIsd0M6ImNjYiIsdEM6ImNiaSIsWUc6InJzIixCRzoic2RjaCIsY0Y6ImltIixLQzoiZGciLFVDOiJiciIsVEM6ImJyLWQiLFZDOiJyYiIsSUg6InpzIixFSDoid3QiLFpDOiJlZSIsaEg6InNtIix4RjoibWQiLFhFOiJnc3Ntb2R1bGVzZXRwcm90byIsQ0g6InVqZyIsQkg6InNwIixhRjoiaWNoYyIsWEc6InNsayIsCk1DOiJkdGkiLExDOiJkYndoIixlRjoiaWMifSxRcj1SZWdFeHAoIl4oZ2FwaVxcLik/bG9hZGVkKF9nfF9oKT8oX1swLTlhLXpdKykrJCIpLFJyPVJlZ0V4cCgiXlthLXpBLVowLTktXypdKyQiKTt2YXIgR2U9ITE7Xy55Zz10eXBlb2YgQXN5bmNDb250ZXh0IT09InVuZGVmaW5lZCImJnR5cGVvZiBBc3luY0NvbnRleHQuU25hcHNob3Q9PT0iZnVuY3Rpb24iP2E9PmEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpOmE9PmE7Xy5KZS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5vPSEwfTtfLkplLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5IYShLZSxfLkplKTsKS2UucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnR5cGU9YS50eXBlLGQ9YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7dGhpcy5jdXJyZW50VGFyZ2V0PWI7Yj1hLnJlbGF0ZWRUYXJnZXQ7Ynx8KGM9PSJtb3VzZW92ZXIiP2I9YS5mcm9tRWxlbWVudDpjPT0ibW91c2VvdXQiJiYoYj1hLnRvRWxlbWVudCkpO3RoaXMucmVsYXRlZFRhcmdldD1iO2Q/KHRoaXMuY2xpZW50WD1kLmNsaWVudFghPT12b2lkIDA/ZC5jbGllbnRYOmQucGFnZVgsdGhpcy5jbGllbnRZPWQuY2xpZW50WSE9PXZvaWQgMD9kLmNsaWVudFk6ZC5wYWdlWSx0aGlzLnNjcmVlblg9ZC5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1kLnNjcmVlbll8fDApOih0aGlzLm9mZnNldFg9Xy5jcnx8YS5vZmZzZXRYIT09dm9pZCAwP2Eub2Zmc2V0WDphLmxheWVyWCx0aGlzLm9mZnNldFk9Cl8uY3J8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8IiI7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwoYz09ImtleXByZXNzIj9hLmtleUNvZGU6MCk7dGhpcy5jdHJsS2V5PWEuY3RybEtleTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLnNoaWZ0S2V5PWEuc2hpZnRLZXk7dGhpcy5tZXRhS2V5PWEubWV0YUtleTt0aGlzLnBvaW50ZXJJZD1hLnBvaW50ZXJJZHx8MDt0aGlzLnBvaW50ZXJUeXBlPWEucG9pbnRlclR5cGU7dGhpcy5zdGF0ZT1hLnN0YXRlO3RoaXMudGltZVN0YW1wPQphLnRpbWVTdGFtcDt0aGlzLmo9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJktlLnpiLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9O0tlLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtLZS56Yi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKTt0aGlzLmouc3RvcFByb3BhZ2F0aW9uP3RoaXMuai5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLmouY2FuY2VsQnViYmxlPSEwfTtLZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtLZS56Yi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuajthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgVWU9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTt2YXIgTGU9MDtPZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5saXN0ZW5lcnNbZl07YXx8KGE9dGhpcy5saXN0ZW5lcnNbZl09W10sdGhpcy5qKyspO3ZhciBoPVFlKGEsYixkLGUpO2g+LTE/KGI9YVtoXSxjfHwoYi56aT0hMSkpOihiPW5ldyBNZShiLHRoaXMuc3JjLGYsISFkLGUpLGIuemk9YyxhLnB1c2goYikpO3JldHVybiBifTtPZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS50b1N0cmluZygpO2lmKCEoYSBpbiB0aGlzLmxpc3RlbmVycykpcmV0dXJuITE7dmFyIGU9dGhpcy5saXN0ZW5lcnNbYV07Yj1RZShlLGIsYyxkKTtyZXR1cm4gYj4tMT8oTmUoZVtiXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGUsYiwxKSxlLmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1thXSx0aGlzLmotLSksITApOiExfTt2YXIgWGU9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksZWY9e30sJGU9MCxmZj0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO18uSGEoXy5nZixfLmFlKTtfLmdmLnByb3RvdHlwZVtVZV09ITA7Xy5nPV8uZ2YucHJvdG90eXBlO18uZy5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uU2UodGhpcyxhLGIsYyxkKX07Xy5nLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5jZih0aGlzLGEsYixjLGQpfTsKXy5nLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLk07aWYoYylmb3IoYj1bXTtjO2M9Yy5NKWIucHVzaChjKTtjPXRoaXMuRmE7dmFyIGQ9YS50eXBlfHxhO2lmKHR5cGVvZiBhPT09InN0cmluZyIpYT1uZXcgXy5KZShhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uSmUpYS50YXJnZXQ9YS50YXJnZXR8fGM7ZWxzZXt2YXIgZT1hO2E9bmV3IF8uSmUoZCxjKTtzZChhLGUpfWU9ITA7dmFyIGY7aWYoYilmb3IoZj1iLmxlbmd0aC0xOyFhLm8mJmY+PTA7Zi0tKXt2YXIgaD1hLmN1cnJlbnRUYXJnZXQ9YltmXTtlPWhmKGgsZCwhMCxhKSYmZX1hLm98fChoPWEuY3VycmVudFRhcmdldD1jLGU9aGYoaCxkLCEwLGEpJiZlLGEub3x8KGU9aGYoaCxkLCExLGEpJiZlKSk7aWYoYilmb3IoZj0wOyFhLm8mJmY8Yi5sZW5ndGg7ZisrKWg9YS5jdXJyZW50VGFyZ2V0PWJbZl0sZT1oZihoLGQsITEsYSkmJmU7cmV0dXJuIGV9OwpfLmcubGE9ZnVuY3Rpb24oKXtfLmdmLnpiLmxhLmNhbGwodGhpcyk7dGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTt0aGlzLk09bnVsbH07Xy5nLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLmcucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGEpe2lmKHRoaXMubyl7dmFyIGI9dGhpcy5vO2E9YSYmYS50b1N0cmluZygpO2xldCBjPTA7Zm9yKGxldCBkIGluIGIubGlzdGVuZXJzKWlmKCFhfHxkPT1hKXtsZXQgZT1iLmxpc3RlbmVyc1tkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKykrK2MsTmUoZVtmXSk7ZGVsZXRlIGIubGlzdGVuZXJzW2RdO2Iuai0tfWI9Y31lbHNlIGI9MDtyZXR1cm4gYn07dmFyIGtmPWNsYXNzIGV4dGVuZHMgXy5nZntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuRD10aGlzLmo9MDt0aGlzLkRjPWE/P3twYjooYixjKT0+c2V0VGltZW91dChiLGMpLEFhOmI9PntjbGVhclRpbWVvdXQoYil9fTt0aGlzLmlzT25saW5lPXdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZT8/ITA7dGhpcy52PWFzeW5jKCk9Pnthd2FpdCBtZih0aGlzKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMudik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy52KTt0aGlzLkR8fG5mKHRoaXMpfWRpc3Bvc2UoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsdGhpcy52KTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIix0aGlzLnYpO3RoaXMuRGMuQWEodGhpcy5EKTtkZWxldGUga2YuaW5zdGFuY2V9U2IoKXtyZXR1cm4gdGhpcy5pc09ubGluZX19O3ZhciBxZj1udWxsLHBmPW5ldyBNYXA7dmFyIFNyPWE9PnthPWEuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwiZCIsIjAiKTt3ZShhLG51bGwpO3hlKGEsbnVsbCk7cmV0dXJuIGF9LFRyPSEwLFVyPShhLGIse2Nzc1Jvd0tleTpjLEtlOmQsWWQ6ZSxjYWxsYmFjazpmfT17fSk9PntpZihiKWZvcihsZXQgaCBvZiBiKWlmKCFSci50ZXN0KGgpKXRocm93IEVycm9yKCJKYCIraCk7b2UoYSwibSIsYi5qb2luKCIsIikpO2UmJnplKGEsZSk7YyYmKG9lKGEsImNrIixjKSxkP29lKGEsInJzIixkKTpUciYmKFRyPSExKSk7aWYoZil7aWYoZiE9bnVsbCYmIVFyLnRlc3QoZikpdGhyb3cgRXJyb3IoIktgIitmKTtvZShhLCJjYiIsZil9YT1hLnRvU3RyaW5nKCk7YS5sYXN0SW5kZXhPZigiLyIsMCk9PTAmJihiPV8uTWIoZG9jdW1lbnQubG9jYXRpb24uaHJlZiksYT1fLkliKGJbMV0sYlsyXSxiWzNdLGJbNF0pK2EpO3JldHVybiBfLlRhKGEpfSxuZz0oYSxiLHtsbjpjPVtdLGNzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofT0Ke30pPT57YT1TcihhKTt4ZShhLGMpO3JldHVybiBVcihhLGIse2Nzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofSl9LG1nPShhLGIse21uOmM9W10sbG46ZD1bXSxjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a309e30pPT57YT1TcihhKTtvZShhLCJkIiwiMSIpO3dlKGEsYyk7eGUoYSxkKTtyZXR1cm4gVXIoYSxiLHtjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a30pfTt2YXIgVnI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnY9YTt0aGlzLkI9Yjt0aGlzLm89MDt0aGlzLmo9bnVsbH1nZXQoKXtpZih0aGlzLm8+MCl7dGhpcy5vLS07dmFyIGE9dGhpcy5qO3RoaXMuaj1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMudigpO3JldHVybiBhfX07dmFyIFdyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPXRoaXMuaj1udWxsfWFkZChhLGIpe3ZhciBjPXZmLmdldCgpO2Muc2V0KGEsYik7dGhpcy5vP3RoaXMuby5uZXh0PWM6dGhpcy5qPWM7dGhpcy5vPWN9cmVtb3ZlKCl7dmFyIGE9bnVsbDt0aGlzLmomJihhPXRoaXMuaix0aGlzLmo9dGhpcy5qLm5leHQsdGhpcy5qfHwodGhpcy5vPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX19LHZmPW5ldyBWcigoKT0+bmV3IFhyLGE9PmEucmVzZXQoKSksWHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLmZuPW51bGx9c2V0KGEsYil7dGhpcy5mbj1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH1yZXNldCgpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZm49bnVsbH19O3ZhciBZcix3Zj0hMSx1Zj1uZXcgV3IsR2Y9KGEsYik9PntZcnx8WnIoKTt3Znx8KFlyKCksd2Y9ITApO3VmLmFkZChhLGIpfSxacj0oKT0+e3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO1lyPSgpPT57YS50aGVuKHhmKX19O0NmLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuY29udGV4dD10aGlzLmo9dGhpcy5vPXRoaXMuY2hpbGQ9bnVsbDt0aGlzLnY9ITF9O3ZhciBEZj1uZXcgVnIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IENmfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtfLkJmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUWYodGhpcywoMCxfLnlnKSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSwoMCxfLnlnKSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy55ZihfLkJmKTtfLmc9Xy5CZi5wcm90b3R5cGU7Xy5nLmZpbmFsbHk9ZnVuY3Rpb24oYSl7YT0oMCxfLnlnKShhKTtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntLZih0aGlzLGQ9PnthKCk7YihkKX0sZD0+e2EoKTtjKGQpfSl9KX07Xy5nLktnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFFmKHRoaXMsbnVsbCwoMCxfLnlnKShhKSxiKX07Xy5nLmNhdGNoPV8uQmYucHJvdG90eXBlLktnOwpfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaj09MCl7bGV0IGI9bmV3IF8uUGYoYSk7R2YoZnVuY3Rpb24oKXtMZih0aGlzLGIpfSx0aGlzKX19O18uZy5uQj1mdW5jdGlvbihhKXt0aGlzLmo9MDtfLkFmKHRoaXMsMixhKX07Xy5nLm9CPWZ1bmN0aW9uKGEpe3RoaXMuaj0wO18uQWYodGhpcywzLGEpfTtfLmcudHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1NZih0aGlzKTspTmYodGhpcyxhLHRoaXMuaix0aGlzLkkpO3RoaXMuSz0hMX07Xy5VZj1fLiRiO18uSGEoXy5QZixfLkxhKTtfLlBmLnByb3RvdHlwZS5uYW1lPSJjYW5jZWwiO18uSGEoWGYsXy5MYSk7WGYucHJvdG90eXBlLm5hbWU9IlhockVycm9yIjtfLkhhKFlmLFhmKTtZZi5wcm90b3R5cGUubmFtZT0iWGhySHR0cEVycm9yIjtfLkhhKFpmLFhmKTtaZi5wcm90b3R5cGUubmFtZT0iWGhyVGltZW91dEVycm9yIjtfLmRoPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQ9ITEsZT0hMSl7dGhpcy5ZPXFlKF8uVWEoYSkudG9TdHJpbmcoKSwhMCk7dGhpcy5GYT1iO3RoaXMueWE9Yzt0aGlzLkQ9ZDt0aGlzLkI9e307dGhpcy5NPW5ldyBNYXA7dGhpcy5aPVtdO3RoaXMub2E9ITA7dGhpcy5oYT0oYT10ZSh0aGlzLlksImV4Y20iKSk/YS5zcGxpdCgiLCIpOltdO3RoaXMuVmQ9ZTt0aGlzLmZpPSExO3RoaXMuV2c9ImFub255bW91cyI7dGhpcy5kaT00MDQzO3RoaXMuZ2E9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMudj10aGlzLkk9bnVsbDt0aGlzLkViPSEwO0hlKCk7dGhpcy5YPW51bGw7Xy5hZyh0aGlzLHllKHRoaXMuWSkpO3RoaXMuZmV0Y2hQcmlvcml0eT12b2lkIDA7dGhpcy5NYT0hMTt0aGlzLlUoKX1hc3luYyBRYSgpe3Rocm93IEVycm9yKCJUIik7fVUoKXt9bG9hZChhLGIsYyxkLGU9Yil7Xy5VYShhKTt2YXIgZj10aGlzLmZpLGg9dGhpcy5XZyxrPXRoaXMuZmV0Y2hQcmlvcml0eSwKbD1fLkNkKCJTQ1JJUFQiKTtfLm9iKGwsYSk7ZiYmKGwuY3Jvc3NPcmlnaW49aCk7bC5hc3luYz0hMTtrJiZsLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsayk7Xy5hZyh0aGlzLGIpO18ucGcodGhpcyxhLGwsYixjLGQsZSl9fTt2YXIgcWc9bmV3IFVpbnQ4QXJyYXkoMTIzKSxLZz0hMTt2YXIgTGc9W107Xy5nPXRnLnByb3RvdHlwZTtfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuail0aGlzLnYgaW5zdGFuY2VvZiB0ZyYmdGhpcy52LmNhbmNlbCgpO2Vsc2V7aWYodGhpcy5vKXtsZXQgYj10aGlzLm87ZGVsZXRlIHRoaXMubzthP2IuY2FuY2VsKGEpOihiLlktLSxiLlk8PTAmJmIuY2FuY2VsKCkpfXRoaXMuWj90aGlzLlouY2FsbCh0aGlzLlUsdGhpcyk6dGhpcy5NPSEwO3RoaXMuanx8KGE9bmV3IEZnKHRoaXMpLHhnKHRoaXMpLHZnKHRoaXMsITEsYSkpfX07Xy5nLnNwPWZ1bmN0aW9uKGEsYil7dGhpcy5JPSExO3ZnKHRoaXMsYSxiKX07Xy5nLmNhbGxiYWNrPWZ1bmN0aW9uKGEpe3hnKHRoaXMpO3ZnKHRoaXMsITAsYSl9O18uZy5maW5hbGx5PWZ1bmN0aW9uKGEpe3JldHVybiBFZyhuZXcgUHJvbWlzZSgoYixjKT0+e3pnKHRoaXMsZD0+e2EoKTtiKGQpfSxkPT57YSgpO2MoZCl9KX0pKX07Cl8uZy50aGVuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9bmV3IF8uQmYoZnVuY3Rpb24oaCxrKXtlPWg7ZD1rfSk7emcodGhpcyxlLGZ1bmN0aW9uKGgpe2ggaW5zdGFuY2VvZiBGZz9mLmNhbmNlbCgpOmQoaCk7cmV0dXJuIENnfSx0aGlzKTtyZXR1cm4gZi50aGVuKGEsYixjKX07Xy55Zih0Zyk7dGcucHJvdG90eXBlLmlzRXJyb3I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcn07dmFyIENnPXt9O18uSGEod2csXy5MYSk7d2cucHJvdG90eXBlLm1lc3NhZ2U9IkRlZmVycmVkIGhhcyBhbHJlYWR5IGZpcmVkIjt3Zy5wcm90b3R5cGUubmFtZT0iQWxyZWFkeUNhbGxlZEVycm9yIjtfLkhhKEZnLF8uTGEpO0ZnLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCB3YXMgY2FuY2VsZWQiO0ZnLnByb3RvdHlwZS5uYW1lPSJDYW5jZWxlZEVycm9yIjsKRGcucHJvdG90eXBlLnRocm93RXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgQmdbdGhpcy5qXTt0aHJvdyB0aGlzLm87fTt2YXIgQmc9e307dmFyIEdnPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXtzdXBlcigpO3RoaXMubmFtZT0iTW9kdWxlTG9hZEZhaWx1cmUiO3RoaXMudHlwZT1hO3RoaXMuc3RhdHVzPWI7dGhpcy5tbj1jO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9dG9TdHJpbmcoKXtyZXR1cm5gJHtIZyh0aGlzKX0gKCR7dGhpcy5zdGF0dXMhPXZvaWQgMD90aGlzLnN0YXR1czoiPyJ9KWB9fTt2YS5vYj1HZzt2YS5vYi5UeXBlPXtwbzowLHBrOjEsVElNRU9VVDoyLGhvOjMsdWs6NH07Xy5IYShJZyxqZSk7Xy5IYShKZyxfLkxhKTtfLmc9SWcucHJvdG90eXBlO18uZy5Scj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9OwpfLmcuVGg9ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJZykpdGhpcy5UaChhLGIpO2Vsc2UgaWYodHlwZW9mIGE9PT0ic3RyaW5nIil7aWYoYS5zdGFydHNXaXRoKCJkJCIpKXthPWEuc3Vic3RyaW5nKDIpO2Zvcih2YXIgYz1bXSxkPTAsZT1hLmluZGV4T2YoIi8iKSxmPTAsaD0hMSxrPTA7Oyl7dmFyIGw9aD9hLnN1YnN0cmluZyhmKTphLnN1YnN0cmluZyhmLGUpO2lmKGwubGVuZ3RoPT09MClkKyssZj0ic3kiK2QudG9TdHJpbmcoMzYpLGw9W107ZWxzZXt2YXIgbT1sLmluZGV4T2YoIjoiKTtpZihtPDApZj1sLGw9W107ZWxzZSBpZihtPT09bC5sZW5ndGgtMSlmPWwuc3Vic3RyaW5nKDAsbSksbD1BcnJheShjW2stMV0pO2Vsc2V7Zj1sLnN1YnN0cmluZygwLG0pO2w9bC5zdWJzdHJpbmcobSsxKS5zcGxpdCgiLCIpO209aztmb3IobGV0IG49MDtuPGwubGVuZ3RoO24rKyltLT1sW25dLmxlbmd0aD09PTA/MTpOdW1iZXIobFtuXSksbFtuXT1jW21dfW09MDtpZihmLmxlbmd0aD09PQowKW09MTtlbHNlIGlmKGYuY2hhckF0KDApPT09IisifHxmLmNoYXJBdCgwKT09PSItIiltPU51bWJlcihmKTttIT09MCYmKGQrPW0sZj0ic3kiK2QudG9TdHJpbmcoMzYpKX1jLnB1c2goZik7TmcodGhpcyxmLGwpO2lmKGgpYnJlYWs7Zj1lKzE7ZT1hLmluZGV4T2YoIi8iLGYpO2U9PT0tMSYmKGg9ITApO2srK310aGlzLmhhPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpT2codGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7az1hW2RdLnNwbGl0KCI6Iik7ZT1rWzBdO2g9W107aWYoa1sxXSlmb3IoaD1rWzFdLnNwbGl0KCIsIiksaz0wO2s8aC5sZW5ndGg7aysrKWhba109Y1twYXJzZUludChoW2tdLDM2KV07Yy5wdXNoKGUpO05nKHRoaXMsZSxoKX10aGlzLmhhPWN9aWYoYiYmYi5sZW5ndGgpe2ZvcihsZXQgbiBvZiBiKXRoaXMuQi5hZGQobik7dGhpcy55YT1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCk7Ck9iamVjdC5mcmVlemUodGhpcy5oYSk7dGhpcy5vPT10aGlzLlomJih0aGlzLm89bnVsbCwoYj10aGlzLloub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLFJnKHRoaXMpKX19O18uZy5MYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ELmdldChhKX07Xy5nLm5pPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5MYShhKTtjJiZjLmlzTG9hZGVkKCk/dGhpcy5sb2FkKGIpOnRoaXMuaiBpbnN0YW5jZW9mIE1hcD8oYz10aGlzLmouZ2V0KGEpLGN8fChjPW5ldyBTZXQsdGhpcy5qLnNldChhLGMpKSxjLmFkZChiKSk6KHRoaXMualthXXx8KHRoaXMualthXT17fSksdGhpcy5qW2FdW2JdPSEwKX07Cl8uZy5BZz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuaiBpbnN0YW5jZW9mIE1hcCl7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5kZWxldGUoYiksYy5zaXplPT09MCYmdGhpcy5qLmRlbGV0ZShhKSl9ZWxzZSBpZih0aGlzLmpbYV0pe2RlbGV0ZSB0aGlzLmpbYV1bYl07Zm9yKGMgaW4gdGhpcy5qW2FdKXJldHVybjtkZWxldGUgdGhpcy5qW2FdfX07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQi5zaXplPjB9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkkuc2l6ZT4wfTsKXy5nLnNqPWZ1bmN0aW9uKGEsYj0wLGMpe3ZhciBkPVlnKHRoaXMsYSk7dGhpcy5CPW5ldyBTZXQoZCk7dGhpcy5LPXRoaXMub2E/YTpfLnliKGQpO1JnKHRoaXMpO2lmKGQubGVuZ3RoIT09MCl7Zm9yKGxldCBlIG9mIGQpdGhpcy5VLmFkZChlKTthPXRoaXMuWTtpZighYSl0aHJvdyBFcnJvcigiViIpO2lmKCh0aGlzLmogaW5zdGFuY2VvZiBNYXA/dGhpcy5qLnNpemU+MDpPYmplY3Qua2V5cyh0aGlzLmopLmxlbmd0aD4wKSYmIWEuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLF8ueWIoZCksdGhpcy5ELHtZZDp0aGlzLmosb25FcnJvcjooZSxmLGgpPT5iaCh0aGlzLHRoaXMuSyxkLGUhPW51bGw/ZTp2b2lkIDAsZixiLCEhaCksb25UaW1lb3V0OigwLF8uQ2EpKHRoaXMud3csdGhpcyksZm9yY2VSZWxvYWQ6ISFjfSl9fTt2YXIgV2c9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5vPW5ldyBTZXQ7dGhpcy5yZXN1bHQ9W119fTtfLmc9SWcucHJvdG90eXBlOwpfLmcueWU9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPXRoaXMuby5nZXRJZCgpLGI9W107aWYodGhpcy5qIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmouZ2V0KGEpO2lmKGMpe2Zvcih2YXIgZCBvZiBBcnJheS5mcm9tKGMpKShjPXRoaXMuTGEoZCkpJiYhYy5pc0xvYWRlZCgpJiYodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpKGQ9dGhpcy5MYShjKSkmJiFkLmlzTG9hZGVkKCkmJih0aGlzLkFnKGEsYyksYi5wdXNoKGMpKTt0aGlzLmFmKGIpfXRoaXMuaWEoKXx8KChiPXRoaXMuRC5nZXQoYSkub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLHRoaXMuSS5kZWxldGUoYSksdGhpcy5CLmRlbGV0ZShhKSx0aGlzLkIuc2l6ZSE9PTB8fAphaCh0aGlzKSx0aGlzLnlhJiZhPT10aGlzLnlhJiYodGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCkpLFJnKHRoaXMpLHRoaXMubz1udWxsKX19O18uZy51aD1mdW5jdGlvbihhKXtpZih0aGlzLkIuaGFzKGEpKXJldHVybiEwO2ZvcihsZXQgYj0wO2I8dGhpcy52Lmxlbmd0aDtiKyspaWYoXy5zYih0aGlzLnZbYl0sYSk+PTApcmV0dXJuITA7cmV0dXJuITF9O18uZy5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRnKHRoaXMsW2FdLGIpW2FdfTtfLmcuYWY9ZnVuY3Rpb24oYSl7cmV0dXJuIFRnKHRoaXMsYSl9OwpfLmcuUm89ZnVuY3Rpb24oYSl7dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIj8odGhpcy55ZSgpLHRoaXMuRC5kZWxldGUoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiKSk6dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKTt2YXIgYj10aGlzLkQuZ2V0KGEpO2ImJmNoKHRoaXMsYi5qfHxbXSxjPT57Yy55ZSgpO3RoaXMuQi5kZWxldGUoYy5nZXRJZCgpKX0sYz0+IWMuaXNMb2FkZWQoKSxuZXcgU2V0KTtpZih0aGlzLm89dGhpcy5MYShhKSl0aGlzLm8uST0hMH07Xy5nLmVuPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLm8pe2xldCBiPW5ldyB2YS5PZyhbXSwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIpO3RoaXMuRC5zZXQoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiLGIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX07Xy5nLnd3PWZ1bmN0aW9uKCl7Wy4uLnRoaXMuQl07JGcodGhpcyxuZXcgdmEub2IodmEub2IuVHlwZS5USU1FT1VUKSk7YWgodGhpcyl9OwpfLmcuWm49ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpfHwoYT1bYV0pO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgYz1hW2VdLGQ9YjtsZXQgZj10aGlzLk0uZ2V0KGMpO2Y/Zi5wdXNoKGQpOnRoaXMuTS5zZXQoYyxbZF0pfX07Xy5nLmRpc3Bvc2U9ZnVuY3Rpb24oKXtfLiRkKEFycmF5LmZyb20odGhpcy5ELnZhbHVlcygpKSx0aGlzLlopO3RoaXMuRC5jbGVhcigpO3RoaXMuQi5jbGVhcigpO3RoaXMuSz1bXTt0aGlzLkkuY2xlYXIoKTt0aGlzLnY9W107dGhpcy5NLmNsZWFyKCk7dGhpcy5GYT0hMH07Xy5nLmlhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRmF9O18uVGQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IElnfTt2YXIgbWg9WzVFMywyRTRdLCRyPWNsYXNzIGV4dGVuZHMgamV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj1uZXcgTWFwO3RoaXMuRD1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuQj0wO3RoaXMuSz1bXTt0aGlzLmo9QWU/bmV3IE1hcDpPYmplY3QuY3JlYXRlKG51bGwpO3RoaXMubz10aGlzLkxhKCJ7YmFzZX0iKX1UaCgpe3RoaXMubyYmdGhpcy5vLmdldElkKCk9PSJ7YmFzZX0iJiZ0aGlzLnllKCl9TGEoYSl7dmFyIGI9dGhpcy52LmdldChhKTtifHwoYj1uZXcgdmEuT2coW10sYSksdGhpcy52LnNldChhLGIpKTtyZXR1cm4gYn1uaShhLGIpe2lmKHRoaXMuTGEoYSkuaXNMb2FkZWQoKSl0aGlzLmxvYWQoYik7ZWxzZSBpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe2xldCBjPXRoaXMuai5nZXQoYSk7Y3x8KGM9bmV3IFNldCx0aGlzLmouc2V0KGEsYykpO2MuYWRkKGIpfWVsc2UgdGhpcy5qW2FdfHwodGhpcy5qW2FdPXt9KSx0aGlzLmpbYV1bYl09ITB9QWcoYSxiKXtpZih0aGlzLmogaW5zdGFuY2VvZgpNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMuZGVsZXRlKGIpLGMuc2l6ZT09PTAmJnRoaXMuai5kZWxldGUoYSkpfWVsc2UgaWYodGhpcy5qW2FdKXtkZWxldGUgdGhpcy5qW2FdW2JdO2ZvcihjIGluIHRoaXMualthXSlyZXR1cm47ZGVsZXRlIHRoaXMualthXX19dWgoYSl7cmV0dXJuISF0aGlzLkRbYV19bG9hZChhKXtpaCh0aGlzLFthXSk7cmV0dXJuIGpoKHRoaXMsYSl9YWYoYSl7dmFyIGI9T2JqZWN0LmNyZWF0ZShudWxsKSxjPVtdO2EuZm9yRWFjaChkPT57YltkXXx8KGJbZF09amgodGhpcyxkKSxjLnB1c2goZCkpfSk7aWgodGhpcyxjKTtyZXR1cm4gYn1SbyhhKXt0aGlzLm8/LmdldElkKCk9PT0ic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCImJnRoaXMueWUoKTt2YXIgYj10aGlzLnYuZ2V0KGEpO2toKHRoaXMsYj8uc3QoKT8/W10sYz0+Yy55ZSgpLGM9PiFjLmlzTG9hZGVkKCkpO3RoaXMubz10aGlzLkxhKGEpfXllKCl7aWYodGhpcy5vKXt2YXIgYT10aGlzLm8uZ2V0SWQoKSwKYj1bXTtpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7aWYoYyl7Zm9yKGxldCBkIG9mIEFycmF5LmZyb20oYykpdGhpcy5MYShkKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpdGhpcy5MYShjKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGMpLGIucHVzaChjKSk7dGhpcy5hZihiKX10aGlzLm8ub25Mb2FkKCgpPT5udWxsKTt0aGlzLm89bnVsbDsoIXRoaXMudWgoYSkmJi9ec3lbMC05YS16XXswLDR9JC8udGVzdChhKXx8YT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikmJnRoaXMudi5kZWxldGUoYSk7bGgodGhpcyxhKX19ZW4oYSl7aWYoIXRoaXMubyl7bGV0IGI9bmV3IHZhLk9nKFtdLCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIik7dGhpcy52LnNldCgic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIsCmIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX19O3ZhciBraj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLmo9LTF9c2V0KGEsYj0hMCl7MDw9YSYmYTw1MiYmTnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5kYXRhW2FdIT09YiYmKHRoaXMuZGF0YVthXT1iLHRoaXMuaj0tMSl9Z2V0KGEpe3JldHVybiEhdGhpcy5kYXRhW2FdfX07Xy5vaC5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBfLmFzfTtfLmFzPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07Xy5vaC5wcm90b3R5cGUuYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIHBoPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hfWJkKCl7cmV0dXJuIG5ldyBxaCh0aGlzLm8oKSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubygpKX1qKCl7cmV0dXJuIG5ldyByaCh0aGlzLm8oKSl9fSxxaD1jbGFzcyBleHRlbmRzIF8ub2h7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm89YX1uZXh0KCl7cmV0dXJuIHRoaXMuby5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubyl9aigpe3JldHVybiBuZXcgcmgodGhpcy5vKX19LHJoPWNsYXNzIGV4dGVuZHMgcGh7Y29uc3RydWN0b3IoYSl7c3VwZXIoKCk9PmEpO3RoaXMudj1hfW5leHQoKXtyZXR1cm4gdGhpcy52Lm5leHQoKX19O3ZhciBicz1fLnUuSlNPTi5zdHJpbmdpZnk7Xy5jcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoYSxiKT0+e3RoaXMucmVzb2x2ZT1hO3RoaXMucmVqZWN0PWJ9KX19O18uSGEoXy50aCxfLmFlKTtfLmc9Xy50aC5wcm90b3R5cGU7Xy5nLnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5vW2FdO2R8fChkPXRoaXMub1thXT1bXSk7dmFyIGU9dGhpcy5EO3RoaXMualtlXT1hO3RoaXMualtlKzFdPWI7dGhpcy5qW2UrMl09Yzt0aGlzLkQ9ZSszO2QucHVzaChlKTtyZXR1cm4gZX07Xy5nLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXtpZihhPXRoaXMub1thXSl7bGV0IGQ9dGhpcy5qO2lmKGE9YS5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBkW2UrMV09PWImJmRbZSsyXT09Y30pKXJldHVybiB0aGlzLmNpKGEpfXJldHVybiExfTtfLmcuY2k9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5qW2FdO2lmKGIpe2xldCBjPXRoaXMub1tiXTt0aGlzLkIhPTA/KHRoaXMudi5wdXNoKGEpLHRoaXMualthKzFdPSgpPT57fSk6KGMmJl8ueGIoYyxhKSxkZWxldGUgdGhpcy5qW2FdLGRlbGV0ZSB0aGlzLmpbYSsxXSxkZWxldGUgdGhpcy5qW2ErMl0pfXJldHVybiEhYn07Cl8uZy5wdWJsaXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5vW2FdO2lmKGMpe2xldCBlPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7dmFyIGQ9YXJndW1lbnRzLmxlbmd0aDtsZXQgZjtmb3IoZj0xO2Y8ZDtmKyspZVtmLTFdPWFyZ3VtZW50c1tmXTtpZih0aGlzLkkpZm9yKGY9MDtmPGMubGVuZ3RoO2YrKylkPWNbZl0sdWgodGhpcy5qW2QrMV0sdGhpcy5qW2QrMl0sZSk7ZWxzZXt0aGlzLkIrKzt0cnl7Zm9yKGY9MCxkPWMubGVuZ3RoO2Y8ZCYmIXRoaXMuaWEoKTtmKyspe2xldCBoPWNbZl07dGhpcy5qW2grMV0uYXBwbHkodGhpcy5qW2grMl0sZSl9fWZpbmFsbHl7aWYodGhpcy5CLS0sdGhpcy52Lmxlbmd0aD4wJiZ0aGlzLkI9PTApZm9yKDtjPXRoaXMudi5wb3AoKTspdGhpcy5jaShjKX19cmV0dXJuIGYhPTB9cmV0dXJuITF9OwpfLmcuY2xlYXI9ZnVuY3Rpb24oYSl7aWYoYSl7bGV0IGI9dGhpcy5vW2FdO2ImJihiLmZvckVhY2godGhpcy5jaSx0aGlzKSxkZWxldGUgdGhpcy5vW2FdKX1lbHNlIHRoaXMuai5sZW5ndGg9MCx0aGlzLm89e319O18uZy5sYT1mdW5jdGlvbigpe18udGguemIubGEuY2FsbCh0aGlzKTt0aGlzLmNsZWFyKCk7dGhpcy52Lmxlbmd0aD0wfTt2aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMD90aGlzLmoucmVtb3ZlKGEpOnRoaXMuai5zZXQoYSxicyhiKSl9O3ZoLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dHJ5e3ZhciBiPXRoaXMuai5nZXQoYSl9Y2F0Y2goYyl7cmV0dXJufWlmKGIhPT1udWxsKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShiKX1jYXRjaChjKXt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fX07dmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLmoucmVtb3ZlKGEpfTtfLkhhKHdoLHZoKTt3aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7d2guemIuc2V0LmNhbGwodGhpcyxhLHloKGIpKX07d2gucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7YT13aC56Yi5nZXQuY2FsbCh0aGlzLGEpO2lmKGE9PT12b2lkIDB8fGEgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIGE7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO307d2gucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtpZihhPXRoaXMubyhhKSl7aWYoYT1hLmRhdGEsYT09PXZvaWQgMCl0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fWVsc2UgYT12b2lkIDA7cmV0dXJuIGF9O18uSGEoXy56aCx3aCk7Xy56aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXtpZihiPXloKGIpKXtpZihjKXtpZihjPF8uRWEoKSl7Xy56aC5wcm90b3R5cGUucmVtb3ZlLmNhbGwodGhpcyxhKTtyZXR1cm59Yi5leHBpcmF0aW9uPWN9Yi5jcmVhdGlvbj1fLkVhKCl9Xy56aC56Yi5zZXQuY2FsbCh0aGlzLGEsYil9O18uemgucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy56aC56Yi5vLmNhbGwodGhpcyxhKTtpZihiKXtsZXQgYz1iLmNyZWF0aW9uLGQ9Yi5leHBpcmF0aW9uO2lmKGQmJmQ8Xy5FYSgpfHxjJiZjPl8uRWEoKSlfLnpoLnByb3RvdHlwZS5yZW1vdmUuY2FsbCh0aGlzLGEpO2Vsc2UgcmV0dXJuIGJ9fTtfLkhhKEJoLEFoKTtCaC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITApKS5qKCl9O0JoLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBiIG9mIGEpdGhpcy5yZW1vdmUoYil9O18uSGEoQ2gsQmgpO18uZz1DaC5wcm90b3R5cGU7Xy5nLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5vPT09bnVsbCl7dmFyIGE9dGhpcy5qO2lmKGEpdHJ5e2Euc2V0SXRlbSgiX19zYWsiLCIxIik7YS5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBiPSEwfWNhdGNoKGMpe2I9YyBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKGMubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxjLmNvZGU9PT0yMnx8Yy5jb2RlPT09MTAxNHx8Yy5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJmEmJmEubGVuZ3RoIT09MH1lbHNlIGI9ITE7dGhpcy5vPWJ9cmV0dXJuIHRoaXMub307Cl8uZy5zZXQ9ZnVuY3Rpb24oYSxiKXtEaCh0aGlzKTt0cnl7dGhpcy5qLnNldEl0ZW0oYSxiKX1jYXRjaChjKXtpZih0aGlzLmoubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319O18uZy5nZXQ9ZnVuY3Rpb24oYSl7RGgodGhpcyk7YT10aGlzLmouZ2V0SXRlbShhKTtpZih0eXBlb2YgYSE9PSJzdHJpbmciJiZhIT09bnVsbCl0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybiBhfTtfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3RoaXMuai5yZW1vdmVJdGVtKGEpfTsKXy5nLmJkPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3ZhciBiPTAsYz10aGlzLmosZD1uZXcgXy5vaDtkLm5leHQ9ZnVuY3Rpb24oKXtpZihiPj1jLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZT1jLmtleShiKyspO2lmKGEpcmV0dXJue3ZhbHVlOmUsZG9uZTohMX07ZT1jLmdldEl0ZW0oZSk7aWYodHlwZW9mIGUhPT0ic3RyaW5nIil0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybnt2YWx1ZTplLGRvbmU6ITF9fTtyZXR1cm4gZH07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7RGgodGhpcyk7dGhpcy5qLmNsZWFyKCl9O18uZy5rZXk9ZnVuY3Rpb24oYSl7RGgodGhpcyk7cmV0dXJuIHRoaXMuai5rZXkoYSl9O18uSGEoRWgsQ2gpO18uSGEoRmgsQmgpO0ZoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm8uc2V0KHRoaXMuaithLGIpfTtGaC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm8uZ2V0KHRoaXMuaithKX07RmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLm8ucmVtb3ZlKHRoaXMuaithKX07RmgucHJvdG90eXBlLmJkPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub1tTeW1ib2wuaXRlcmF0b3JdKCksYz10aGlzLGQ9bmV3IF8ub2g7ZC5uZXh0PWZ1bmN0aW9uKCl7dmFyIGU9Yi5uZXh0KCk7aWYoZS5kb25lKXJldHVybiBlO2ZvcihlPWUudmFsdWU7ZS5zbGljZSgwLGMuai5sZW5ndGgpIT1jLmo7KXtlPWIubmV4dCgpO2lmKGUuZG9uZSlyZXR1cm4gZTtlPWUudmFsdWV9cmV0dXJue3ZhbHVlOmE/ZS5zbGljZShjLmoubGVuZ3RoKTpjLm8uZ2V0KGUpLGRvbmU6ITF9fTtyZXR1cm4gZH07dmFyIEhoPXt9LGRzPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MTZBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO0hoLmFzc2lnbj1mdW5jdGlvbihhKXtmb3IodmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2IubGVuZ3RoOyl7dmFyIGM9Yi5zaGlmdCgpO2lmKGMpe2lmKHR5cGVvZiBjIT09Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiYmFgIitjKTtmb3IodmFyIGQgaW4gYylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxkKSYmKGFbZF09Y1tkXSl9fXJldHVybiBhfTtIaC53bj1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09YilyZXR1cm4gYTtpZihhLnN1YmFycmF5KXJldHVybiBhLnN1YmFycmF5KDAsYik7YS5sZW5ndGg9YjtyZXR1cm4gYX07CnZhciBlcz17d2Y6ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiLnN1YmFycmF5JiZhLnN1YmFycmF5KWEuc2V0KGIuc3ViYXJyYXkoYyxjK2QpLGUpO2Vsc2UgZm9yKHZhciBmPTA7ZjxkO2YrKylhW2UrZl09YltjK2ZdfSxNcDpmdW5jdGlvbihhKXt2YXIgYixjO3ZhciBkPWM9MDtmb3IoYj1hLmxlbmd0aDtkPGI7ZCsrKWMrPWFbZF0ubGVuZ3RoO3ZhciBlPW5ldyBVaW50OEFycmF5KGMpO2Q9Yz0wO2ZvcihiPWEubGVuZ3RoO2Q8YjtkKyspe3ZhciBmPWFbZF07ZS5zZXQoZixjKTtjKz1mLmxlbmd0aH1yZXR1cm4gZX19LGdzPXt3ZjpmdW5jdGlvbihhLGIsYyxkLGUpe2Zvcih2YXIgZj0wO2Y8ZDtmKyspYVtlK2ZdPWJbYytmXX0sTXA6ZnVuY3Rpb24oYSl7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLGEpfX07CkhoLmpBPWZ1bmN0aW9uKCl7ZHM/KEhoLnRmPVVpbnQ4QXJyYXksSGguWWM9VWludDE2QXJyYXksSGguUXM9SW50MzJBcnJheSxIaC5hc3NpZ24oSGgsZXMpKTooSGgudGY9QXJyYXksSGguWWM9QXJyYXksSGguUXM9QXJyYXksSGguYXNzaWduKEhoLGdzKSl9O0hoLmpBKCk7dmFyIGhzPSEwO3RyeXtuZXcgVWludDhBcnJheSgxKX1jYXRjaChhKXtocz0hMX07dmFyIHRpPXt9O3RpPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEmNjU1MzV8MDthPWE+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgZjtjIT09MDspe2Y9Yz4yRTM/MkUzOmM7Yy09ZjtkbyBlPWUrYltkKytdfDAsYT1hK2V8MDt3aGlsZSgtLWYpO2UlPTY1NTIxO2ElPTY1NTIxfXJldHVybiBlfGE8PDE2fDB9O2Zvcih2YXIgdWk9e30saXMsanM9W10sa3M9MDtrczwyNTY7a3MrKyl7aXM9a3M7Zm9yKHZhciBscz0wO2xzPDg7bHMrKylpcz1pcyYxPzM5ODgyOTIzODReaXM+Pj4xOmlzPj4+MTtqc1trc109aXN9dWk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kK2M7Zm9yKGFePS0xO2Q8YztkKyspYT1hPj4+OF5qc1soYV5iW2RdKSYyNTVdO3JldHVybiBhXi0xfTt2YXIgaWk9e307aWk9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgWGg9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sJGg9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLEtpPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMyw3XSxtaT1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0sbmk9QXJyYXkoNTc2KTtKaChuaSk7dmFyIG9pPUFycmF5KDYwKTtKaChvaSk7dmFyIFpoPUFycmF5KDUxMik7SmgoWmgpO3ZhciBXaD1BcnJheSgyNTYpO0poKFdoKTt2YXIgWWg9QXJyYXkoMjkpO0poKFloKTt2YXIgYmk9QXJyYXkoMzApO0poKGJpKTt2YXIgSGksSWksSmksR2k9ITE7dmFyIENpOwpDaT1bbmV3IEFpKDAsMCwwLDAsZnVuY3Rpb24oYSxiKXt2YXIgYz02NTUzNTtmb3IoYz5hLm5jLTUmJihjPWEubmMtNSk7Oyl7aWYoYS5kYTw9MSl7dmkoYSk7aWYoYS5kYT09PTAmJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWEuVis9YS5kYTthLmRhPTA7dmFyIGQ9YS5VYitjO2lmKGEuVj09PTB8fGEuVj49ZClpZihhLmRhPWEuVi1kLGEuVj1kLHBpKGEsITEpLGEud2EuemE9PT0wKXJldHVybiAxO2lmKGEuVi1hLlViPj1hLkJiLTI2MiYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1hLnJiPTA7aWYoYj09PTQpcmV0dXJuIHBpKGEsITApLGEud2EuemE9PT0wPzM6NDthLlY+YS5VYiYmcGkoYSwhMSk7cmV0dXJuIDF9KSxuZXcgQWkoNCw0LDgsNCx3aSksbmV3IEFpKDQsNSwxNiw4LHdpKSxuZXcgQWkoNCw2LDMyLDMyLHdpKSxuZXcgQWkoNCw0LDE2LDE2LHhpKSxuZXcgQWkoOCwxNiwzMiwzMix4aSksbmV3IEFpKDgsMTYsMTI4LDEyOCx4aSksbmV3IEFpKDgsCjMyLDEyOCwyNTYseGkpLG5ldyBBaSgzMiwxMjgsMjU4LDEwMjQseGkpLG5ldyBBaSgzMiwyNTgsMjU4LDQwOTYseGkpXTt2YXIgRmk9e307Rmk9ZnVuY3Rpb24oKXt0aGlzLmlucHV0PW51bGw7dGhpcy5xZj10aGlzLkRiPXRoaXMuZmY9MDt0aGlzLm91dHB1dD1udWxsO3RoaXMuRW49dGhpcy56YT10aGlzLnFnPTA7dGhpcy5tc2c9IiI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuaWw9Mjt0aGlzLnNhPTB9O3ZhciBMaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwpFaS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMud2EsZD10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7dmFyIGU9Yj09PX5+Yj9iOmI9PT0hMD80OjA7dHlwZW9mIGE9PT0ic3RyaW5nIj9jLmlucHV0PUloKGEpOkxpLmNhbGwoYSk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2MuaW5wdXQ9bmV3IFVpbnQ4QXJyYXkoYSk6Yy5pbnB1dD1hO2MuZmY9MDtjLkRiPWMuaW5wdXQubGVuZ3RoO2Rve2MuemE9PT0wJiYoYy5vdXRwdXQ9bmV3IEhoLnRmKGQpLGMucWc9MCxjLnphPWQpO2E9RGkoYyxlKTtpZihhIT09MSYmYSE9PTApcmV0dXJuIE1pKHRoaXMsYSksdGhpcy5lbmRlZD0hMCwhMTtpZihjLnphPT09MHx8Yy5EYj09PTAmJihlPT09NHx8ZT09PTIpKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXt2YXIgZj1IaC53bihjLm91dHB1dCxjLnFnKTtiPWY7Zj1mLmxlbmd0aDtpZihmPDY1NTM3JiYoYi5zdWJhcnJheSYmCmhzfHwhYi5zdWJhcnJheSkpYj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsSGgud24oYixmKSk7ZWxzZXtmb3IodmFyIGg9IiIsaz0wO2s8ZjtrKyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShiW2tdKTtiPWh9dGhpcy5jaHVua3MucHVzaChiKX1lbHNlIGI9SGgud24oYy5vdXRwdXQsYy5xZyksdGhpcy5jaHVua3MucHVzaChiKX13aGlsZSgoYy5EYj4wfHxjLnphPT09MCkmJmEhPT0xKTtpZihlPT09NClyZXR1cm4oYz10aGlzLndhKSYmYy5zdGF0ZT8oZD1jLnN0YXRlLnN0YXR1cyxkIT09NDImJmQhPT02OSYmZCE9PTczJiZkIT09OTEmJmQhPT0xMDMmJmQhPT0xMTMmJmQhPT02NjY/YT1qaShjLC0yKTooYy5zdGF0ZT1udWxsLGE9ZD09PTExMz9qaShjLC0zKTowKSk6YT0tMixNaSh0aGlzLGEpLHRoaXMuZW5kZWQ9ITAsYT09PTA7ZT09PTImJihNaSh0aGlzLDApLGMuemE9MCk7cmV0dXJuITB9O18uST1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX19O3ZhciB4cD1uZXcgXy5JKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgd3A9bmV3IF8uSSgicmF3SG90Q29uZmlnR3JvdXAiKTt2YXIgbXM7bXM9Xy51LndpbmRvdztfLlBpPW1zPy55dD8uY29uZmlnX3x8bXM/Lnl0Y2ZnPy5kYXRhX3x8e307Xy5yYSgieXQuY29uZmlnXyIsXy5QaSk7dmFyIFNpPVtdO3ZhciBnaj0vXltcdy5dKiQvLCRpPXtxOiEwLHNlYXJjaF9xdWVyeTohMH0sWmk9U3RyaW5nKFlpKTt2YXIgaGo9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtfLnJhKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24oYSl7cmV0dXJuIGFqKF8ubGooYSkpfSk7Xy5FYSgpO25hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiIChDcktleSAiKTt2YXIgcXM7cXM9MDtfLnJzPV8uY3I/IndlYmtpdCI6YnI/Im1veiI6YXI/Im1zIjokcT8ibyI6IiI7Xy5yYSgieXREb21Eb21HZXROZXh0SWQiLF8uc2EoInl0RG9tRG9tR2V0TmV4dElkIil8fCgoKT0+KytxcykpO18uc3M9Xy51Lnl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzfHx7fTtfLnJhKCJ5dEV2ZW50c0V2ZW50c0xpc3RlbmVycyIsXy5zcyk7Xy50cz1fLnUueXRFdmVudHNFdmVudHNDb3VudGVyfHx7Y291bnQ6MH07Xy5yYSgieXRFdmVudHNFdmVudHNDb3VudGVyIixfLnRzKTtfLnVzPWhkKGZ1bmN0aW9uKCl7dmFyIGE9ITE7dHJ5e2xldCBiPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiY2FwdHVyZSIse2dldDpmdW5jdGlvbigpe2E9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsYil9Y2F0Y2goYil7fXJldHVybiBhfSk7dmFyIHZzO3ZzPXdpbmRvdztfLmVsPXZzLnl0Y3NpJiZ2cy55dGNzaS5ub3c/dnMueXRjc2kubm93OnZzLnBlcmZvcm1hbmNlJiZ2cy5wZXJmb3JtYW5jZS50aW1pbmcmJnZzLnBlcmZvcm1hbmNlLm5vdyYmdnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD8oKT0+dnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCt2cy5wZXJmb3JtYW5jZS5ub3coKTooKT0+KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIG5qPSJYTUxIdHRwUmVxdWVzdCJpbiBfLnU/KCk9Pm5ldyBYTUxIdHRwUmVxdWVzdDpudWxsO3ZhciB3cz0iYWJzb2x1dGVfZXhwZXJpbWVudHMgY2xpZW50X2Rldl9kb21haW4gY2xpZW50X2Rldl9leHBmbGFnIGNsaWVudF9kZXZfcmVnZXhfbWFwIGNsaWVudF9kZXZfcm9vdF91cmwgY2xpZW50X3JvbGxvdXRfb3ZlcnJpZGUgZXhwZmxhZyBmb3JjZWRDYXBhYmlsaXR5IGpzZmVhdCBqc21vZGUgbW9kcyB0aGVtZSIuc3BsaXQoIiAiKTtbLi4ud3NdO3ZhciB5aj17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxLaj1bImFwcCIsImRlYnVnY3NzIiwiZGVidWdqcyIsImV4cGZsYWciLCJmb3JjZV9hZF9wYXJhbXMiLCJmb3JjZV9hZF9lbmNyeXB0ZWQiLCJmb3JjZV92aXJhbF9hZF9yZXNwb25zZV9wYXJhbXMiLCJmb3JjZWRfZXhwZXJpbWVudHMiLCJpbm5lcnR1YmVfc25hcHNob3RzIiwiaW5uZXJ0dWJlX2dvbGRlbnMiLCJpbnRlcm5hbGNvdW50cnljb2RlIiwiaW50ZXJuYWxpcG92ZXJyaWRlIiwiYWJzb2x1dGVfZXhwZXJpbWVudHMiLCJjb25kaXRpb25hbF9leHBlcmltZW50cyIsInNiYiIsInNyX2Juc19hZGRyZXNzIiwuLi53c10sR2o9ITEsRGo9eGo7Xy5ubT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuem49ITB9fTtfLnhzPV8uc2EoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIil8fHt9O18ucmEoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIixfLnhzKTt2YXIgUmo9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LFRqPXsic2xvdy0yZyI6IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfU0xPV18yRyIsIjJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8yRyIsIjNnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRyIsIjRnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV80RyJ9O18uWGo9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEpO3RoaXMuYXJncz1bLi4uYl07T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfX07dmFyIHlzPWNsYXNze3BiKGEsYil7cmV0dXJuIHRoaXMuR2EoYSwxLGIpfVUoYSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEltbWVkaWF0ZUpvYiIpO2I/YihhKTphKCl9fTt2YXIgenM9MUUzLzYwLEFzPV8uc2ooIndlYl9lbXVsYXRlZF9pZGxlX2NhbGxiYWNrX2RlbGF5IiwzMDApLGdrPXpzLTMsZGs9WzgsNSw0LDMsMiwxLDBdLGprPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLnY9e307dGhpcy5vYT10aGlzLmo9MDt0aGlzLnBhdXNlZD10aGlzLkQ9ITE7dGhpcy5nYT1bXTt0aGlzLmhhPXRoaXMueWE9ITE7Zm9yKGxldCBiIG9mIGRrKXRoaXMub1tiXT1bXTt0aGlzLkI9MDt0aGlzLmV5PWEudGltZW91dHx8MTt0aGlzLk09Z2s7dGhpcy5JPTA7dGhpcy5NYT10aGlzLml5LmJpbmQodGhpcyk7dGhpcy5neD10aGlzLnp5LmJpbmQodGhpcyk7dGhpcy5mYz10aGlzLkViLmJpbmQodGhpcyk7dGhpcy5WZD10aGlzLmh5LmJpbmQodGhpcyk7dGhpcy5GbD10aGlzLlFhLmJpbmQodGhpcyk7dGhpcy51dz0oKT0+e3RoaXMuUWEocGVyZm9ybWFuY2Uubm93KCkpfTt0aGlzLkZhPSEhd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2smJgohIXdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2smJiFfLngoImRpc2FibGVfc2NoZWR1bGVyX3JlcXVlc3RJZGxlQ2FsbGJhY2siKTsoKHRoaXMuWj1hLnVzZVJhZiE9PSExJiYhIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKX1VKGEpe3ZhciBiPV8uRWEoKTtaaih0aGlzLGEpO2E9Xy5FYSgpLWI7dGhpcy5EfHwodGhpcy5NLT1hKX1HYShhLGIsYyl7Kyt0aGlzLm9hO2lmKGI9PT0xMClyZXR1cm4gdGhpcy5VKGEpLHRoaXMub2E7dmFyIGQ9dGhpcy5vYTt0aGlzLnZbZF09YTt0aGlzLkQmJiFjP3RoaXMuZ2EucHVzaCh7aWQ6ZCxwcmlvcml0eTpifSk6KHRoaXMub1tiXS5wdXNoKGQpLHRoaXMucGF1c2VkfHx0aGlzLkR8fCh0aGlzLmohPT0wJiZiayh0aGlzKSE9PXRoaXMuSSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSk7CnJldHVybiBkfUFhKGEpe2RlbGV0ZSB0aGlzLnZbYV19aXNIaWRkZW4oKXtyZXR1cm4hIWRvY3VtZW50LmhpZGRlbnx8ITF9SmIoYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhKX1oeShhKXt2YXIgYj12b2lkIDA7YSYmKGI9YS50aW1lUmVtYWluaW5nKCkpO3RoaXMueWE9ITA7aGsodGhpcyxiKTt0aGlzLnlhPSExfXp5KCl7aGsodGhpcyl9RWIoKXtpayh0aGlzKX1RYShhKXt0aGlzLmhhPSEwO3ZhciBiPWJrKHRoaXMpO2I9PT00JiZiIT09dGhpcy5JJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTtoayh0aGlzLHZvaWQgMCxhKTt0aGlzLmhhPSExfWl5KCl7dGhpcy5pc0hpZGRlbigpfHxpayh0aGlzKTt0aGlzLmomJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpfXJlcXVlc3RJZGxlQ2FsbGJhY2soYSl7cmV0dXJuIHRoaXMuRmE/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soYSx7dGltZW91dDozRTN9KTp3aW5kb3cuc2V0VGltZW91dChhLApBcyl9Y2FuY2VsSWRsZUNhbGxiYWNrKGEpe3RoaXMuRmE/d2luZG93LmNhbmNlbElkbGVDYWxsYmFjayhhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfXN0YXJ0KCl7dGhpcy5wYXVzZWQ9ITE7aWYodGhpcy5qPT09MClzd2l0Y2godGhpcy5JPWJrKHRoaXMpLHRoaXMuSSl7Y2FzZSAxOnRoaXMuaj10aGlzLnJlcXVlc3RJZGxlQ2FsbGJhY2sodGhpcy5WZCk7YnJlYWs7Y2FzZSAyOnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLmd4LHRoaXMuZXkpO2JyZWFrO2Nhc2UgMzp0aGlzLmo9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLkZsKTticmVhaztjYXNlIDQ6dGhpcy5qPXdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZmMsMCk7YnJlYWs7Y2FzZSA1OnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLnV3LHpzKX19cGF1c2UoKXt0aGlzLnN0b3AoKTt0aGlzLnBhdXNlZD0hMH1zdG9wKCl7aWYodGhpcy5qKXtzd2l0Y2godGhpcy5JKXtjYXNlIDE6dGhpcy5jYW5jZWxJZGxlQ2FsbGJhY2sodGhpcy5qKTsKYnJlYWs7Y2FzZSA1OmNhc2UgMjpjYXNlIDQ6d2luZG93LmNsZWFyVGltZW91dCh0aGlzLmopO2JyZWFrO2Nhc2UgMzp3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5qKX10aGlzLmo9MH19bGEoKXtjayh0aGlzKTt0aGlzLnN0b3AoKTsodGhpcy5afHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKTtzdXBlci5sYSgpfX07dmFyIG5rPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS50aW1lcklkTWFwXyIpfHx7fSx1az1fLnNqKCJrZXZsYXJfdHVuZXJfc2NoZWR1bGVyX3NvZnRfc3RhdGVfdGltZXJfbXMiLDgwMCksdGs9MCx3az0wO3ZhciBCaztCaz1jbGFzcyBleHRlbmRzIHlze0dhKGEsYixjKXtjIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGMpKSYmKGM9dm9pZCAwKTt2YXIgZD1fLnNhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIik7cmV0dXJuIGQ/ZChhLGIsYyk6Yz09PXZvaWQgMD8oYSgpLE5hTik6Xy5taihhLGN8fDApfUFhKGEpe2lmKGE9PT12b2lkIDB8fCFOdW1iZXIuaXNOYU4oTnVtYmVyKGEpKSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEpvYiIpO2I/YihhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfX1zdGFydCgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zdGFydCIpO2EmJmEoKX1wYXVzZSgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5wYXVzZSIpO2EmJmEoKX19O18uamY9Xy5DaygpOwpfLnNhKCJ5dC5zY2hlZHVsZXIuaW5pdGlhbGl6ZWQiKXx8KF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5kaXNwb3NlIixtayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEpvYiIsb2spLF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5hZGRJbW1lZGlhdGVKb2IiLHBrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIixxayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEFsbEpvYnMiLGxrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc3RhcnQiLHJrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UucGF1c2UiLHZrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc2V0UHJpb3JpdHlUaHJlc2hvbGQiLHhrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuZW5hYmxlUHJpb3JpdHlUaHJlc2hvbGQiLHprKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2xlYXJQcmlvcml0eVRocmVzaG9sZCIsQWspLF8ucmEoInl0LnNjaGVkdWxlci5pbml0aWFsaXplZCIsCiEwKSk7Xy5lbj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9KGE9Xy5HaChhKSk/bmV3IF8uemgoYSk6bnVsbDt0aGlzLnY9ZG9jdW1lbnQuZG9tYWlufHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9bygpe3JldHVybiEhdGhpcy5qfXNldChhLGIsYyxkKXtjPWN8fDMxMTA0RTM7dGhpcy5yZW1vdmUoYSk7aWYodGhpcy5vKCkpdHJ5e3RoaXMuai5zZXQoYSxiLERhdGUubm93KCkrYyoxRTMpO3JldHVybn1jYXRjaChmKXt9dmFyIGU9IiI7aWYoZCl0cnl7ZT1lc2NhcGUoYnMoYikpfWNhdGNoKGYpe3JldHVybn1lbHNlIGU9ZXNjYXBlKGIpO18uTWooYSxlLGMsdGhpcy52KX1nZXQoYSxiKXt2YXIgYz12b2lkIDAsZD0hdGhpcy5vKCk7aWYoIWQpdHJ5e2M9dGhpcy5qLmdldChhKX1jYXRjaChlKXtkPSEwfWlmKGQmJihjPV8uTGouZ2V0KGEsdm9pZCAwKSkmJihjPXVuZXNjYXBlKGMpLGIpKXRyeXtjPUpTT04ucGFyc2UoYyl9Y2F0Y2goZSl7dGhpcy5yZW1vdmUoYSksYz12b2lkIDB9cmV0dXJuIGN9cmVtb3ZlKGEpe3RoaXMubygpJiYKdGhpcy5qLnJlbW92ZShhKTtfLk5qKGEsIi8iLHRoaXMudil9fTt2YXIgRGs9KCgpPT57dmFyIGE7cmV0dXJuKCk9PnthfHwoYT1uZXcgXy5lbigieXRpZGIiKSk7cmV0dXJuIGF9fSkoKTt2YXIgRms7Xy5Iaz1bXTtGaz0hMTtfLklsPV8uaHJ8fF8uaXI7dmFyIEJzPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LENzPXtBVVRIX0lOVkFMSUQ6IkVSUk9SIixFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQjoiV0FSTklORyIsRVhQTElDSVRfQUJPUlQ6IklHTk9SRUQiLElEQl9OT1RfU1VQUE9SVEVEOiJFUlJPUiIsTUlTU0lOR19JTkRFWDoiV0FSTklORyIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJFUlJPUiIsCkRCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IldBUk5JTkciLFFVT1RBX0VYQ0VFREVEOiJXQVJOSU5HIixRVU9UQV9NQVlCRV9FWENFRURFRDoiV0FSTklORyIsVU5LTk9XTl9BQk9SVDoiV0FSTklORyIsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046IldBUk5JTkcifSxEcz17QVVUSF9JTlZBTElEOiExLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiExLEVYUExJQ0lUX0FCT1JUOiExLElEQl9OT1RfU1VQUE9SVEVEOiExLE1JU1NJTkdfSU5ERVg6ITEsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX1JFT1BFTkVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzohMSxRVU9UQV9FWENFRURFRDohMSxRVU9UQV9NQVlCRV9FWENFRURFRDohMCxVTktOT1dOX0FCT1JUOiEwLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiExfSwKTms9Y2xhc3MgZXh0ZW5kcyBfLlhqe2NvbnN0cnVjdG9yKGEsYj17fSxjPUJzW2FdLGQ9Q3NbYV0sZT1Ec1thXSl7c3VwZXIoYyx7bmFtZToiWXRJZGJLbm93bkVycm9yIixpc1N3OnNlbGYuZG9jdW1lbnQ9PT12b2lkIDAsaXNJZnJhbWU6c2VsZiE9PXNlbGYudG9wLHR5cGU6YSwuLi5ifSk7dGhpcy50eXBlPWE7dGhpcy5tZXNzYWdlPWM7dGhpcy5sZXZlbD1kO3RoaXMuaj1lO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLE5rLnByb3RvdHlwZSl9fSxFcz1jbGFzcyBleHRlbmRzIE5re2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOmIsZm91bmRPYmplY3RTdG9yZXM6YX0sQnMuTUlTU0lOR19PQkpFQ1RfU1RPUkVTKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxFcy5wcm90b3R5cGUpfX0sUGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5pbmRleD1hO3RoaXMub2JqZWN0U3RvcmU9CmI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUGsucHJvdG90eXBlKX19LFFrPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBhbDthbD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwpfLlZrPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuaj1bXTt0aGlzLm89W107YT1hLmo7dmFyIGI9ZD0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6ZH07Zm9yKGxldCBlIG9mIHRoaXMuaillKCl9fSxjPWQ9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIscmVhc29uOmR9O2ZvcihsZXQgZSBvZiB0aGlzLm8pZSgpfX07dHJ5e2EoYixjKX1jYXRjaChkKXtjKGQpfX1zdGF0aWMgYWxsKGEpe3JldHVybiBuZXcgXy5WayhuZXcgYWwoKGIsYyk9Pnt2YXIgZD1bXSxlPWEubGVuZ3RoO2U9PT0wJiZiKGQpO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7KytmKV8uVmsucmVzb2x2ZShhW2ZdKS50aGVuKGg9PntkW2ZdPWg7ZS0tO2U9PT0wJiZiKGQpfSkuY2F0Y2goaD0+e2MoaCl9KX0pKX1zdGF0aWMgcmVzb2x2ZShhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLApjKT0+e2EgaW5zdGFuY2VvZiBfLlZrP2EudGhlbihiLGMpOmIoYSl9KSl9c3RhdGljIHJlamVjdChhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLGMpPT57YyhhKX0pKX10aGVuKGEsYil7dmFyIGM9YT8/VWssZD1iPz9UaztyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChlLGYpPT57dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUEVORElORyI/KHRoaXMuai5wdXNoKCgpPT57WGsodGhpcyx0aGlzLGMsZSxmKX0pLHRoaXMuby5wdXNoKCgpPT57WWsodGhpcyx0aGlzLGQsZSxmKX0pKTp0aGlzLnN0YXRlLnN0YXR1cz09PSJGVUxGSUxMRUQiP1hrKHRoaXMsdGhpcyxjLGUsZik6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUkVKRUNURUQiJiZZayh0aGlzLHRoaXMsZCxlLGYpfSkpfWNhdGNoKGEpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGEpfX07dmFyIHhsPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vcHRpb25zPWI7dGhpcy50cmFuc2FjdGlvbkNvdW50PTA7dGhpcy52PU1hdGgucm91bmQoKDAsXy5lbCkoKSk7dGhpcy5vPSExfWFkZChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9PmQub2JqZWN0U3RvcmUoYSkuYWRkKGIsYykpfWNsZWFyKGEpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxiPT5iLm9iamVjdFN0b3JlKGEpLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5qLmNsb3NlKCk7dGhpcy5vcHRpb25zPy5jbG9zZWQmJnRoaXMub3B0aW9ucy5jbG9zZWQoKX1jb3VudChhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkb25seSIsa2I6ITAsY29tbWl0OmRsKCl9LGM9PmMub2JqZWN0U3RvcmUoYSkuY291bnQoYikpfWRlbGV0ZShhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLAprYjohMCxjb21taXQ6ZGwoKSYmIShiIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxjPT5jLm9iamVjdFN0b3JlKGEpLmRlbGV0ZShiKSl9Z2V0KGEsYil7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMCxjb21taXQ6ZGwoKX0sYz0+Yy5vYmplY3RTdG9yZShhKS5nZXQoYikpfWdldEFsbChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMH0sZD0+ZC5vYmplY3RTdG9yZShhKS5nZXRBbGwoYixjKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuai5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuai5uYW1lfX0samw9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YWRkKGEsYil7cmV0dXJuIGJsKHRoaXMuai5hZGQoYSxiKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLmouYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBibCh0aGlzLmouY2xlYXIoKSkudGhlbigoKT0+Cnt9KX1jb3VudChhKXtyZXR1cm4gYmwodGhpcy5qLmNvdW50KGEpKX1kZWxldGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJLZXlSYW5nZT9zbCh0aGlzLGEpOmJsKHRoaXMuai5kZWxldGUoYSkpfWdldChhKXtyZXR1cm4gYmwodGhpcy5qLmdldChhKSl9Z2V0QWxsKGEsYil7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/YmwodGhpcy5qLmdldEFsbChhLGIpKTp0bCh0aGlzLGEsYil9aW5kZXgoYSl7dHJ5e3JldHVybiBuZXcgRnModGhpcy5qLmluZGV4KGEpKX1jYXRjaChiKXtpZihiIGluc3RhbmNlb2YgRXJyb3ImJmIubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgUGsoYSx0aGlzLmoubmFtZSk7dGhyb3cgYjt9fWdldE5hbWUoKXtyZXR1cm4gdGhpcy5qLm5hbWV9a2V5UGF0aCgpe3JldHVybiB0aGlzLmoua2V5UGF0aH19LGZsPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubz1uZXcgTWFwO3RoaXMuYWJvcnRlZD0hMTsKdGhpcy5kb25lPW5ldyBQcm9taXNlKChiLGMpPT57dGhpcy5qLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e2IoKX0pO3RoaXMuai5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZD0+e2QuY3VycmVudFRhcmdldD09PWQudGFyZ2V0JiZjKHRoaXMuai5lcnJvcil9KTt0aGlzLmouYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGQ9dGhpcy5qLmVycm9yO2lmKGQpYyhkKTtlbHNlIGlmKCF0aGlzLmFib3J0ZWQpe2Q9Tms7dmFyIGU9dGhpcy5qLm9iamVjdFN0b3JlTmFtZXM7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDtoKyspe2xldCBrPWUuaXRlbShoKTtpZihrPT09bnVsbCl0aHJvdyBFcnJvcigibWEiKTtmLnB1c2goayl9ZD1uZXcgZCgiVU5LTk9XTl9BQk9SVCIse29iamVjdFN0b3JlTmFtZXM6Zi5qb2luKCksZGJOYW1lOnRoaXMuai5kYi5uYW1lLG1vZGU6dGhpcy5qLm1vZGV9KTtjKGQpfX0pfSl9YWJvcnQoKXt0aGlzLmouYWJvcnQoKTt0aGlzLmFib3J0ZWQ9CiEwO3Rocm93IG5ldyBOaygiRVhQTElDSVRfQUJPUlQiKTt9Y29tbWl0KCl7dGhpcy5hYm9ydGVkfHx0aGlzLmouY29tbWl0Py4oKX1vYmplY3RTdG9yZShhKXthPXRoaXMuai5vYmplY3RTdG9yZShhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2J8fChiPW5ldyBqbChhKSx0aGlzLm8uc2V0KGEsYikpO3JldHVybiBifX0sRnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Y291bnQoYSl7cmV0dXJuIGJsKHRoaXMuai5jb3VudChhKSl9ZGVsZXRlKGEpe3JldHVybiB1bCh0aGlzLHtxdWVyeTphfSxiPT5iLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGIpKSl9Z2V0KGEpe3JldHVybiBibCh0aGlzLmouZ2V0KGEpKX1nZXRBbGwoYSxiKXtyZXR1cm4iZ2V0QWxsImluIElEQkluZGV4LnByb3RvdHlwZT9ibCh0aGlzLmouZ2V0QWxsKGEsYikpOnZsKHRoaXMsYSxiKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuai5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLmoudW5pcXVlfX0sd2w9Y2xhc3N7Y29uc3RydWN0b3IoYSwKYil7dGhpcy5yZXF1ZXN0PWE7dGhpcy5jdXJzb3I9Yn1kZWxldGUoKXtyZXR1cm4gYmwodGhpcy5jdXJzb3IuZGVsZXRlKCkpLnRoZW4oKCk9Pnt9KX11cGRhdGUoYSl7cmV0dXJuIGJsKHRoaXMuY3Vyc29yLnVwZGF0ZShhKSl9fTt2YXIgR3M9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm5hbWU9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLnY9ITA7dGhpcy5EPXRoaXMuQj0wfW8oYSxiLGM9e30pe3JldHVybiB6bChhLGIsYyl9ZGVsZXRlKGE9e30pe3JldHVybiBfLkFsKHRoaXMubmFtZSxhKX1vcGVuKCl7aWYoIXRoaXMudil0aHJvdyBCbCh0aGlzKTtpZih0aGlzLmopcmV0dXJuIHRoaXMuajt2YXIgYSxiPSgpPT57dGhpcy5qPT09YSYmKHRoaXMuaj12b2lkIDApfSxjPXtibG9ja2luZzplPT57ZS5jbG9zZSgpfSxjbG9zZWQ6YixUQTpiLHVwZ3JhZGU6dGhpcy5vcHRpb25zLnVwZ3JhZGV9LGQ9YXN5bmMoKT0+e3ZhciBlPUVycm9yKCkuc3RhY2s/PyIiO3RyeXtsZXQgaz1hd2FpdCB0aGlzLm8odGhpcy5uYW1lLHRoaXMub3B0aW9ucy52ZXJzaW9uLGMpO3ZhciBmPWssaD10aGlzLm9wdGlvbnM7bGV0IGw9W107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGguc2UpKXtsZXQge1BkOm4seks6cD1OdW1iZXIuTUFYX1ZBTFVFfT0KaC5zZVttXTshKGYuai52ZXJzaW9uPj1uKXx8Zi5qLnZlcnNpb24+PXB8fGYuai5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKG0pfHxsLnB1c2gobSl9aWYobC5sZW5ndGghPT0wKXtsZXQgbT1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMuc2UpLG49ay5vYmplY3RTdG9yZU5hbWVzKCk7aWYodGhpcy5EPF8uc2ooInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIiwwKSlyZXR1cm4gdGhpcy5EKyssay5jbG9zZSgpLF8uSWsobmV3IE5rKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sZm91bmRPYmplY3RTdG9yZXM6bn0pKSxkKCk7aWYodGhpcy5CPF8uc2ooInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIiwxKSlyZXR1cm4gdGhpcy5CKyssYXdhaXQgdGhpcy5kZWxldGUoKSxfLklrKG5ldyBOaygiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sCmZvdW5kT2JqZWN0U3RvcmVzOm59KSksZCgpO3Rocm93IG5ldyBFcyhuLG0pO31yZXR1cm4ga31jYXRjaChrKXtpZihrIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP2submFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZrIGluc3RhbmNlb2YgRE9NRXJyb3I/ay5uYW1lPT09IlZlcnNpb25FcnJvciI6ayBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4gayYmay5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe2U9YXdhaXQgdGhpcy5vKHRoaXMubmFtZSx2b2lkIDAsey4uLmMsdXBncmFkZTp2b2lkIDB9KTtmPWUuai52ZXJzaW9uO2lmKHRoaXMub3B0aW9ucy52ZXJzaW9uIT09dm9pZCAwJiZmPnRoaXMub3B0aW9ucy52ZXJzaW9uKzEpdGhyb3cgZS5jbG9zZSgpLHRoaXMudj0hMSxCbCh0aGlzLGYpO3JldHVybiBlfWIoKTtrIGluc3RhbmNlb2YKRXJyb3ImJiFfLngoInl0aWRiX2FzeW5jX3N0YWNrX2tpbGxzd2l0Y2giKSYmKGsuc3RhY2s9YCR7ay5zdGFja31cbiR7ZS5zdWJzdHJpbmcoZS5pbmRleE9mKCJcbiIpKzEpfWApO3Rocm93IFJrKGssdGhpcy5uYW1lLCIiLHRoaXMub3B0aW9ucy52ZXJzaW9uPz8tMSk7fX07cmV0dXJuIHRoaXMuaj1hPWQoKX19O3ZhciBEbD1uZXcgR3MoIll0SWRiTWV0YSIse3NlOntkYXRhYmFzZXM6e1BkOjF9fSx1cGdyYWRlKGEsYil7YigxKSYmXy5rbChhLCJkYXRhYmFzZXMiLHtrZXlQYXRoOiJhY3R1YWxOYW1lIn0pfX0pO3ZhciBNbCxLbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fShuZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fSk7bmV3IF8uY3M7dmFyIFlsPWNsYXNzIGV4dGVuZHMgR3N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLGIpO3RoaXMub3B0aW9ucz1iO0trKGEpfW8oYSxiLGM9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP1RsOlNsKShhLGIsey4uLmN9KX1kZWxldGUoYT17fSl7cmV0dXJuKHRoaXMub3B0aW9ucy5zaGFyZWQ/WGw6VWwpKHRoaXMubmFtZSxhKX19O3ZhciBhbT1fLiRsKCJ5dEdjZkNvbmZpZyIse3NlOntjb2xkQ29uZmlnU3RvcmU6e1BkOjF9LGhvdENvbmZpZ1N0b3JlOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiYoXy5vbChfLmtsKGEsImhvdENvbmZpZ1N0b3JlIix7a2V5UGF0aDoia2V5IixhdXRvSW5jcmVtZW50OiEwfSksImhvdFRpbWVzdGFtcEluZGV4IiwidGltZXN0YW1wIiksXy5vbChfLmtsKGEsImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBIcz1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLmo9W107dmFyIGE9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RVcGRhdGVDYWxsYmFja3MiKTthPyh0aGlzLm89Wy4uLmFdLHRoaXMuaj1hKToodGhpcy5qPVtdLF8ucmEoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIix0aGlzLmopKX1sYSgpe2ZvcihsZXQgYiBvZiB0aGlzLm8pe3ZhciBhPXRoaXMuajtsZXQgYz1hLmluZGV4T2YoYik7Yz49MCYmYS5zcGxpY2UoYywxKX10aGlzLm8ubGVuZ3RoPTA7c3VwZXIubGEoKX19O3ZhciBpbT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj0wO3RoaXMubz1uZXcgSHN9d2ooKXtyZXR1cm4gXy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpPz9fLncoIlJBV19IT1RfQ09ORklHX0dST1VQIil9QihhKXt0aGlzLmhvdEhhc2hEYXRhPWE7Xy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIsdGhpcy5ob3RIYXNoRGF0YXx8bnVsbCl9fTt2YXIgSXM7SXM9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOm51bGw7Xy55bT1Jcz9hPT5Jcy5lbmNvZGUoYSk6YT0+e2E9Xy5hYyhhKTt2YXIgYj1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDtjKyspYltjXT1hW2NdO3JldHVybiBifTtfLnBtLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtfLnFtLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvcGljfTt2YXIgSnM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIil8fG5ldyBfLnRoO18udGgucHJvdG90eXBlLnN1YnNjcmliZT1fLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU7Xy50aC5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1fLnRoLnByb3RvdHlwZS5jaTtfLnRoLnByb3RvdHlwZS5wdWJsaXNoPV8udGgucHJvdG90eXBlLnB1Ymxpc2g7Xy50aC5wcm90b3R5cGUuY2xlYXI9Xy50aC5wcm90b3R5cGUuY2xlYXI7Xy5yYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixKcyk7Xy5Lcz1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Xy5yYSgieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixfLktzKTtfLkxzPV8uc2EoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLF8uTHMpO18uTXM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307Cl8ucmEoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixfLk1zKTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIsbnVsbCk7dmFyIHptO18ud209Xy5zaigibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KTtfLnhtPV8uc2ooIm1pbl9ib2R5X3NpemVfdG9fY29tcHJlc3MiLDUwMCk7em09MDt2YXIgTnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy54aT10aGlzLk9jPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuaj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9O3RoaXMuVGY9KCk9Pnt9O3RoaXMubm93PURhdGUubm93O3RoaXMuYWg9ITE7dGhpcy5ncz1hLmdzPz8xMDA7dGhpcy5Ncj1hLk1yPz8xO3RoaXMuS3I9YS5Lcj8/MjU5MkU2O3RoaXMuQ3I9YS5Dcj8/MTJFNDt0aGlzLkxyPWEuTHI/PzVFMzt0aGlzLkphPWEuSmE/P3ZvaWQgMDt0aGlzLk9pPSEhYS5PaTt0aGlzLkRpPWEuRGk/Py4xO3RoaXMuS2o9YS5Laj8/MTA7YS5oYW5kbGVFcnJvciYmKHRoaXMuaGFuZGxlRXJyb3I9YS5oYW5kbGVFcnJvcik7YS5UZiYmKHRoaXMuVGY9YS5UZik7YS5haCYmKHRoaXMuYWg9YS5haCk7YS54aSYmKHRoaXMueGk9YS54aSk7dGhpcy5LYT1hLkthO3RoaXMuRGM9YS5EYzt0aGlzLmNiPWEuY2I7dGhpcy5TYT1hLlNhO3RoaXMuR2Q9YS5HZDt0aGlzLkttPWEuS207CnRoaXMuRm09YS5GbTtCbSh0aGlzKSYmKCF0aGlzLkthfHx0aGlzLkthKCJuZXR3b3JrbGVzc19sb2dnaW5nIikpJiZEbSh0aGlzKX13cml0ZVRoZW5TZW5kKGEsYj17fSl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBjPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLmNiLnNldChjLHRoaXMuSmEpLnRoZW4oZD0+e2MuaWQ9ZDt0aGlzLlNhLlNiKCkmJkdtKHRoaXMsYyl9KS5jYXRjaChkPT57R20odGhpcyxjKTtIbSh0aGlzLGQpfSl9ZWxzZSB0aGlzLkdkKGEsYil9c2VuZFRoZW5Xcml0ZShhLGI9e30sYyl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBkPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiYoZC5za2lwUmV0cnk9Yyk7aWYodGhpcy5TYS5TYigpfHx0aGlzLkthJiYKdGhpcy5LYSgibndsX2FnZ3Jlc3NpdmVfc2VuZF90aGVuX3dyaXRlIikmJiFkLnNraXBSZXRyeSl7aWYoIWQuc2tpcFJldHJ5KXtsZXQgZT1iLm9uRXJyb3I/Yi5vbkVycm9yOigpPT57fTtiLm9uRXJyb3I9YXN5bmMoZixoKT0+e2F3YWl0IHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goaz0+e0htKHRoaXMsayl9KTtlKGYsaCl9fXRoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KX1lbHNlIHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goZT0+e3RoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KTtIbSh0aGlzLGUpfSl9ZWxzZSB0aGlzLkdkKGEsYix0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiZjKX1zZW5kQW5kV3JpdGUoYSxiPXt9KXtpZihCbSh0aGlzKSYmdGhpcy5PYyl7bGV0IGM9e3VybDphLG9wdGlvbnM6Yix0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9LGQ9ITEsZT1iLm9uU3VjY2Vzcz9iLm9uU3VjY2VzczooKT0+e307Yy5vcHRpb25zLm9uU3VjY2Vzcz0KKGYsaCk9PntjLmlkIT09dm9pZCAwP3RoaXMuY2IuRmYoYy5pZCx0aGlzLkphKTpkPSEwO3RoaXMuU2EuZWYmJnRoaXMuS2EmJnRoaXMuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmdGhpcy5TYS5lZighMCk7ZShmLGgpfTt0aGlzLkdkKGMudXJsLGMub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuY2Iuc2V0KGMsdGhpcy5KYSkudGhlbihmPT57Yy5pZD1mO2QmJnRoaXMuY2IuRmYoYy5pZCx0aGlzLkphKX0pLmNhdGNoKGY9PntIbSh0aGlzLGYpfSl9ZWxzZSB0aGlzLkdkKGEsYix2b2lkIDAsITApfW8oKXtpZighQm0odGhpcykpdGhyb3cgRXJyb3IoInJhIik7dGhpcy5qfHwodGhpcy5qPXRoaXMuRGMucGIoYXN5bmMoKT0+e3ZhciBhPWF3YWl0IHRoaXMuY2IuV3AoIk5FVyIsdGhpcy5KYSk7YT8oYXdhaXQgR20odGhpcyxhKSx0aGlzLmomJih0aGlzLmo9MCx0aGlzLm8oKSkpOnRoaXMudigpfSx0aGlzLmdzKSl9digpe3RoaXMuRGMuQWEodGhpcy5qKTt0aGlzLmo9MH19O3ZhciBLbTt2YXIgVW89e2FjY291bnRTdGF0ZUNoYW5nZVNpZ25lZEluOjIzLGFjY291bnRTdGF0ZUNoYW5nZVNpZ25lZE91dDoyNCxkZWxheWVkRXZlbnRNZXRyaWNDYXB0dXJlZDoxMSxsYXRlbmN5QWN0aW9uQmFzZWxpbmVkOjYsbGF0ZW5jeUFjdGlvbkluZm86NyxsYXRlbmN5QWN0aW9uVGlja2VkOjUsb2ZmbGluZVRyYW5zZmVyU3RhdHVzQ2hhbmdlZDoyLG9mZmxpbmVJbWFnZURvd25sb2FkOjMzNSxwbGF5YmFja1N0YXJ0U3RhdGVDaGFuZ2VkOjksc3lzdGVtSGVhbHRoQ2FwdHVyZWQ6MyxtYW5nb09uYm9hcmRpbmdDb21wbGV0ZWQ6MTAsbWFuZ29QdXNoTm90aWZpY2F0aW9uUmVjZWl2ZWQ6MjMwLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25FcnJvcjoxMjEsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN1bW1hcnk6MTIyLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QcmV1bmZvcmtEYlZlcnNpb25OdW1iZXI6MTMzLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QaG9uZU1ldGFkYXRhOjEzNCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVTdG9yYWdlOjEzNSwKbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN0ZXA6MTQyLG1hbmdvQXN5bmNBcGlNaWdyYXRpb25FdmVudDoyMjMsbWFuZ29Eb3dubG9hZFZpZGVvUmVzdWx0OjIyNCxtYW5nb0hvbWVwYWdlVmlkZW9Db3VudDoyNzksbWFuZ29Ib21lVjNTdGF0ZToyOTUsbWFuZ29JbWFnZUNsaWVudENhY2hlSGl0RXZlbnQ6MjczLHNkQ2FyZFN0YXR1c0NoYW5nZWQ6OTgsZnJhbWVzRHJvcHBlZDoxMix0aHVtYm5haWxIb3ZlcmVkOjEzLGRldmljZVJldGVudGlvbkluZm9DYXB0dXJlZDoxNCx0aHVtYm5haWxMb2FkZWQ6MTUsYmFja1RvQXBwRXZlbnQ6MzE4LHN0cmVhbWluZ1N0YXRzQ2FwdHVyZWQ6MTcsb2ZmbGluZVZpZGVvU2hhcmVkOjE5LGFwcENyYXNoZWQ6MjAseW91VGhlcmU6MjEsb2ZmbGluZVN0YXRlU25hcHNob3Q6MjIsbWR4U2Vzc2lvblN0YXJ0ZWQ6MjUsbWR4U2Vzc2lvbkNvbm5lY3RlZDoyNixtZHhTZXNzaW9uRGlzY29ubmVjdGVkOjI3LGJlZHJvY2tSZXNvdXJjZUNvbnN1bXB0aW9uU25hcHNob3Q6MjgsCm5leHRHZW5XYXRjaFdhdGNoU3dpcGVkOjI5LGtpZHNBY2NvdW50c1NuYXBzaG90OjMwLHplcm9TdGVwQ2hhbm5lbENyZWF0ZWQ6MzEsdHZodG1sNVNlYXJjaENvbXBsZXRlZDozMixvZmZsaW5lU2hhcmVQYWlyaW5nOjM0LG9mZmxpbmVTaGFyZVVubG9jazozNSxtZHhSb3V0ZURpc3RyaWJ1dGlvblNuYXBzaG90OjM2LGJlZHJvY2tSZXBldGl0aXZlQWN0aW9uVGltZWQ6MzcsdW5wbHVnZ2VkRGVncmFkYXRpb25JbmZvOjIyOSx1cGxvYWRNcDRIZWFkZXJNb3ZlZDozOCx1cGxvYWRWaWRlb1RyYW5zY29kZWQ6MzksdXBsb2FkUHJvY2Vzc29yU3RhcnRlZDo0Nix1cGxvYWRQcm9jZXNzb3JFbmRlZDo0Nyx1cGxvYWRQcm9jZXNzb3JSZWFkeTo5NCx1cGxvYWRQcm9jZXNzb3JSZXF1aXJlbWVudFBlbmRpbmc6OTUsdXBsb2FkUHJvY2Vzc29ySW50ZXJydXB0ZWQ6OTYsdXBsb2FkRnJvbnRlbmRFdmVudDoyNDEsYXNzZXRQYWNrRG93bmxvYWRTdGFydGVkOjQxLGFzc2V0UGFja0Rvd25sb2FkZWQ6NDIsCmFzc2V0UGFja0FwcGxpZWQ6NDMsYXNzZXRQYWNrRGVsZXRlZDo0NCxhcHBJbnN0YWxsQXR0cmlidXRpb25FdmVudDo0NTkscGxheWJhY2tTZXNzaW9uU3RvcHBlZDo0NSxhZEJsb2NrZXJNZXNzYWdpbmdTaG93bjo0OCxkaXN0cmlidXRpb25DaGFubmVsQ2FwdHVyZWQ6NDksZGF0YVBsYW5DcGlkUmVxdWVzdGVkOjUxLGRldGFpbGVkTmV0d29ya1R5cGVDYXB0dXJlZDo1MixzZW5kU3RhdGVVcGRhdGVkOjUzLHJlY2VpdmVTdGF0ZVVwZGF0ZWQ6NTQsc2VuZERlYnVnU3RhdGVVcGRhdGVkOjU1LHJlY2VpdmVEZWJ1Z1N0YXRlVXBkYXRlZDo1NixraWRzRXJyb3JlZDo1NyxtZHhNc25TZXNzaW9uU3RhdHNGaW5pc2hlZDo1OCxhcHBTZXR0aW5nc0NhcHR1cmVkOjU5LG1keFdlYlNvY2tldFNlcnZlckh0dHBFcnJvcjo2MCxtZHhXZWJTb2NrZXRTZXJ2ZXI6NjEsc3RhcnR1cENyYXNoZXNEZXRlY3RlZDo2Mixjb2xkU3RhcnRJbmZvOjQzNSxvZmZsaW5lUGxheWJhY2tTdGFydGVkOjYzLGxpdmVDaGF0TWVzc2FnZVNlbnQ6MjI1LApsaXZlQ2hhdFVzZXJQcmVzZW50OjQzNCxsaXZlQ2hhdEJlaW5nTW9kZXJhdGVkOjQ1NyxsaXZlQ2hhdEdpZnRCdXR0b25JbXByZXNzZWQ6NTU4LGxpdmVDcmVhdGlvbkNhbWVyYVVwZGF0ZWQ6NjQsbGl2ZUNyZWF0aW9uRW5jb2RpbmdDYXB0dXJlZDo2NSxsaXZlQ3JlYXRpb25FcnJvcjo2NixsaXZlQ3JlYXRpb25IZWFsdGhVcGRhdGVkOjY3LGxpdmVDcmVhdGlvblZpZGVvRWZmZWN0c0NhcHR1cmVkOjY4LGxpdmVDcmVhdGlvblN0YWdlT2NjdXJlZDo3NSxvZmZsaW5lU3lzdGVtRmFpbHVyZTo1NDYsbGl2ZUNyZWF0aW9uQnJvYWRjYXN0U2NoZWR1bGVkOjEyMyxsaXZlQ3JlYXRpb25BcmNoaXZlUmVwbGFjZW1lbnQ6MTQ5LGxpdmVDcmVhdGlvbkNvc3RyZWFtaW5nQ29ubmVjdGlvbjo0MjEsbGl2ZUNyZWF0aW9uUGxheWFibGVzTWV0cmljczo1MzMsbGl2ZUNyZWF0aW9uU3RyZWFtV2VicnRjU3RhdHM6Mjg4LGxpdmVDcmVhdGlvbldlYnJ0Y0Vycm9yOjUyNixtZHhTZXNzaW9uUmVjb3ZlcnlTdGFydGVkOjY5LAptZHhTZXNzaW9uUmVjb3ZlcnlDb21wbGV0ZWQ6NzAsbWR4U2Vzc2lvblJlY292ZXJ5U3RvcHBlZDo3MSx2aXN1YWxFbGVtZW50U2hvd246NzIsdmlzdWFsRWxlbWVudEhpZGRlbjo3Myx2aXN1YWxFbGVtZW50R2VzdHVyZWQ6NzgsdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZDoyMDgsc2NyZWVuQ3JlYXRlZDoxNTYscGxheWJhY2tBc3NvY2lhdGVkOjIwMix2aXN1YWxFbGVtZW50QXR0YWNoZWQ6MjE1LHBsYXliYWNrQ29udGV4dEV2ZW50OjIxNCxjbG91ZENhc3RpbmdQbGF5YmFja1N0YXJ0ZWQ6NzQsd2ViUGxheWVyQXBpQ2FsbGVkOjc2LHR2aHRtbDVBY2NvdW50RGlhbG9nT3BlbmVkOjc5LGZvcmVncm91bmRIZWFydGJlYXQ6ODAsZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQ6MTExLGtpZHNPZmZsaW5lU25hcHNob3Q6ODEsbWR4RW5jcnlwdGlvblNlc3Npb25TdGF0c0ZpbmlzaGVkOjgyLHBsYXllclJlcXVlc3RDb21wbGV0ZWQ6ODMsbGl0ZVNjaGVkdWxlclN0YXRpc3RpY3M6ODQsCm1keFNpZ25Jbjo4NSxzcGFjZWNhc3RNZXRhZGF0YUxvb2t1cFJlcXVlc3RlZDo4NixzcGFjZWNhc3RCYXRjaExvb2t1cFJlcXVlc3RlZDo4NyxzcGFjZWNhc3RTdW1tYXJ5UmVxdWVzdGVkOjg4LHNwYWNlY2FzdFBsYXliYWNrOjg5LHNwYWNlY2FzdERpc2NvdmVyeTo5MCx0dmh0bWw1TGF1bmNoVXJsQ29tcG9uZW50Q2hhbmdlZDo5MSxtZHhCYWNrZ3JvdW5kUGxheWJhY2tSZXF1ZXN0Q29tcGxldGVkOjkyLG1keEJyb2tlbkFkZGl0aW9uYWxEYXRhRGV2aWNlRGV0ZWN0ZWQ6OTMsdHZodG1sNUxvY2FsU3RvcmFnZTo5Nyx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXR1czoxNDcsYXV0b0NhcHRpb25zQXZhaWxhYmxlOjk5LHBsYXliYWNrU2NydWJiaW5nRXZlbnQ6MzM5LGZsZXh5U3RhdGU6MTAwLGludGVyZmFjZU9yaWVudGF0aW9uQ2FwdHVyZWQ6MTAxLG1haW5BcHBCcm93c2VGcmFnbWVudENhY2hlOjEwMixvZmZsaW5lQ2FjaGVWZXJpZmljYXRpb25GYWlsdXJlOjEwMyxvZmZsaW5lUGxheWJhY2tFeGNlcHRpb25EaWdlc3Q6MjE3LAp2ckNvcHJlc2VuY2VTdGF0czoxMDQsdnJDb3ByZXNlbmNlU3luY1N0YXRzOjEzMCx2ckNvcHJlc2VuY2VDb21tc1N0YXRzOjEzNyx2ckNvcHJlc2VuY2VQYXJ0eVN0YXRzOjE1Myx2ckNvcHJlc2VuY2VFbW9qaVN0YXRzOjIxMyx2ckNvcHJlc2VuY2VFdmVudDoxNDEsdnJDb3ByZXNlbmNlRmxvd1RyYW5zaXRFdmVudDoxNjAsdnJDb3dhdGNoUGFydHlFdmVudDo0OTIsdnJDb3dhdGNoVXNlclN0YXJ0T3JKb2luRXZlbnQ6NTA0LHZyUGxheWJhY2tFdmVudDozNDUsa2lkc0FnZUdhdGVUcmFja2luZzoxMDUsb2ZmbGluZURlbGF5QWxsb3dlZFRyYWNraW5nOjEwNixtYWluQXBwQXV0b09mZmxpbmVTdGF0ZToxMDcsdmlkZW9Bc1RodW1ibmFpbERvd25sb2FkOjEwOCx2aWRlb0FzVGh1bWJuYWlsUGxheWJhY2s6MTA5LGxpdGVTaG93TW9yZToxMTAscmVuZGVyaW5nRXJyb3I6MTE4LGtpZHNQcm9maWxlUGluR2F0ZVRyYWNraW5nOjExOSxhYnJUcmFqZWN0b3J5OjEyNCxzY3JvbGxFdmVudDoxMjUsCnN0cmVhbXpJbmNyZW1lbnRlZDoxMjYsa2lkc1Byb2ZpbGVTd2l0Y2hlclRyYWNraW5nOjEyNyxraWRzUHJvZmlsZUNyZWF0aW9uVHJhY2tpbmc6MTI5LGJ1eUZsb3dTdGFydGVkOjEzNixpbnRlZ3JhdGlvbkF0dHJpYnV0aW9uRXZlbnQ6NTU2LG1ic0Nvbm5lY3Rpb25Jbml0aWF0ZWQ6MTM4LG1ic1BsYXliYWNrSW5pdGlhdGVkOjEzOSxtYnNMb2FkQ2hpbGRyZW46MTQwLGxpdGVQcm9maWxlRmV0Y2hlcjoxNDQsbWR4UmVtb3RlVHJhbnNhY3Rpb246MTQ2LHJlZWxQbGF5YmFja0Vycm9yOjE0OCxyZWFjaGFiaWxpdHlEZXRlY3Rpb25FdmVudDoxNTAsbW9iaWxlUGxheWJhY2tFdmVudDoxNTEsY291cnRzaWRlUGxheWVyU3RhdGVDaGFuZ2VkOjE1MixtdXNpY1BlcnNpc3RlbnRDYWNoZUNoZWNrZWQ6MTU0LG11c2ljUGVyc2lzdGVudENhY2hlQ2xlYXJlZDoxNTUscGxheWJhY2tJbnRlcnJ1cHRlZDoxNTcscGxheWJhY2tJbnRlcnJ1cHRpb25SZXNvbHZlZDoxNTgsZml4Rm9wRmxvdzoxNTksCmFuckRldGVjdGlvbjoxNjEsYmFja3N0YWdlUG9zdENyZWF0aW9uRmxvd0VuZGVkOjE2MixjbGllbnRFcnJvcjoxNjMsZ2FtaW5nQWNjb3VudExpbmtTdGF0dXNDaGFuZ2VkOjE2NCxsaXRlSG91c2V3YXJtaW5nOjE2NSxidXlGbG93RXZlbnQ6MTY3LGtpZHNQYXJlbnRhbEdhdGVUcmFja2luZzoxNjgsa2lkc1NpZ25lZE91dFNldHRpbmdzU3RhdHVzOjQzNyxraWRzU2lnbmVkT3V0UGF1c2VIaXN0b3J5Rml4U3RhdHVzOjQzOCx0dmh0bWw1V2F0Y2hkb2dWaW9sYXRpb246NDQ0LHlwY1VwZ3JhZGVGbG93OjE2OSx5b25nbGVTdHVkeToxNzAseXBjVXBkYXRlRmxvd1N0YXJ0ZWQ6MTcxLHlwY1VwZGF0ZUZsb3dDYW5jZWxsZWQ6MTcyLHlwY1VwZGF0ZUZsb3dTdWNjZWVkZWQ6MTczLHlwY1VwZGF0ZUZsb3dGYWlsZWQ6MTc0LGxpdGVHcm93dGhraXRQcm9tbzoxNzUscGF5bWVudEZsb3dTdGFydGVkOjM0MSx0cmFuc2FjdGlvbkZsb3dTaG93UGF5bWVudERpYWxvZzo0MDUsdHJhbnNhY3Rpb25GbG93U3RhcnRlZDoxNzYsCnRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVN0YXJ0ZWQ6MjIyLHRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVNpZ25lZE91dFN0YXJ0ZWQ6MzgzLHRyYW5zYWN0aW9uRmxvd0NhbmNlbGxlZDoxNzcsdHJhbnNhY3Rpb25GbG93UGF5bWVudENhbGxCYWNrUmVjZWl2ZWQ6Mzg3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWJtaXR0ZWQ6NDYwLHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWNjZWVkZWQ6MzI5LHRyYW5zYWN0aW9uRmxvd1N1Y2NlZWRlZDoxNzgsdHJhbnNhY3Rpb25GbG93RmFpbGVkOjE3OSx0cmFuc2FjdGlvbkZsb3dQbGF5QmlsbGluZ0Nvbm5lY3Rpb25TdGFydEV2ZW50OjQyOCx0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdWNjZXNzOjQ1OCx0cmFuc2FjdGlvbkZsb3dFcnJvckV2ZW50OjQxMSxsaXRlVmlkZW9RdWFsaXR5Q2hhbmdlZDoxODAsd2F0Y2hCcmVha0VuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MTgxLHdhdGNoQnJlYWtGcmVxdWVuY3lTZXR0aW5nRXZlbnQ6MTgyLAp2aWRlb0VmZmVjdHNDYW1lcmFQZXJmb3JtYW5jZU1ldHJpY3M6MTgzLGFkTm90aWZ5OjE4NCxzdGFydHVwVGVsZW1ldHJ5OjE4NSxwbGF5YmFja09mZmxpbmVGYWxsYmFja1VzZWQ6MTg2LG91dE9mTWVtb3J5OjE4Nyx5cGNQYXVzZUZsb3dTdGFydGVkOjE4OCx5cGNQYXVzZUZsb3dDYW5jZWxsZWQ6MTg5LHlwY1BhdXNlRmxvd1N1Y2NlZWRlZDoxOTAseXBjUGF1c2VGbG93RmFpbGVkOjE5MSx1cGxvYWRGaWxlU2VsZWN0ZWQ6MTkyLHlwY1Jlc3VtZUZsb3dTdGFydGVkOjE5Myx5cGNSZXN1bWVGbG93Q2FuY2VsbGVkOjE5NCx5cGNSZXN1bWVGbG93U3VjY2VlZGVkOjE5NSx5cGNSZXN1bWVGbG93RmFpbGVkOjE5NixhZHNDbGllbnRTdGF0ZUNoYW5nZToxOTcseXBjQ2FuY2VsRmxvd1N0YXJ0ZWQ6MTk4LHlwY0NhbmNlbEZsb3dDYW5jZWxsZWQ6MTk5LHlwY0NhbmNlbEZsb3dTdWNjZWVkZWQ6MjAwLHlwY0NhbmNlbEZsb3dGYWlsZWQ6MjAxLHlwY0NhbmNlbEZsb3dHb1RvUGF5bWVudFByb2Nlc3Nvcjo0MDIsCnlwY0RlYWN0aXZhdGVGbG93U3RhcnRlZDozMjAseXBjUmVkZWVtRmxvd1N0YXJ0ZWQ6MjAzLHlwY1JlZGVlbUZsb3dDYW5jZWxsZWQ6MjA0LHlwY1JlZGVlbUZsb3dTdWNjZWVkZWQ6MjA1LHlwY1JlZGVlbUZsb3dGYWlsZWQ6MjA2LHlwY0ZhbWlseUNyZWF0ZUZsb3dTdGFydGVkOjI1OCx5cGNGYW1pbHlDcmVhdGVGbG93Q2FuY2VsbGVkOjI1OSx5cGNGYW1pbHlDcmVhdGVGbG93U3VjY2VlZGVkOjI2MCx5cGNGYW1pbHlDcmVhdGVGbG93RmFpbGVkOjI2MSx5cGNGYW1pbHlNYW5hZ2VGbG93U3RhcnRlZDoyNjIseXBjRmFtaWx5TWFuYWdlRmxvd0NhbmNlbGxlZDoyNjMseXBjRmFtaWx5TWFuYWdlRmxvd1N1Y2NlZWRlZDoyNjQseXBjRmFtaWx5TWFuYWdlRmxvd0ZhaWxlZDoyNjUscmVzdG9yZUNvbnRleHRFdmVudDoyMDcsZW1iZWRzQWRFdmVudDozMjcsYXV0b3BsYXlUcmlnZ2VyZWQ6MjA5LGNsaWVudERhdGFFcnJvckV2ZW50OjIxMCxleHBlcmltZW50YWxWc3NWYWxpZGF0aW9uOjIxMSwKdHZodG1sNVRyaWdnZXJlZEV2ZW50OjIxMix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxSZXN1bHQ6MjE2LHR2aHRtbDVGcmFtZXdvcmtzRmllbGRUcmlhbFN0YXJ0OjIyMCxtdXNpY09mZmxpbmVQcmVmZXJlbmNlczoyMTgsd2F0Y2hUaW1lU2VnbWVudDoyMTksYXBwV2lkdGhMYXlvdXRFcnJvcjoyMjEsYWNjb3VudFJlZ2lzdHJ5Q2hhbmdlOjIyNix1c2VyTWVudGlvbkF1dG9Db21wbGV0ZUJveEV2ZW50OjIyNyxkb3dubG9hZFJlY29tbWVuZGF0aW9uRW5hYmxlbWVudFNldHRpbmdFdmVudDoyMjgsbXVzaWNQbGF5YmFja0NvbnRlbnRNb2RlQ2hhbmdlRXZlbnQ6MjMxLG9mZmxpbmVEYk9wZW5Db21wbGV0ZWQ6MjMyLGtpZHNGbG93RXZlbnQ6MjMzLGtpZHNGbG93Q29ycHVzU2VsZWN0ZWRFdmVudDoyMzQsdmlkZW9FZmZlY3RzRXZlbnQ6MjM1LHVucGx1Z2dlZE9wc0VvZ0FuYWx5dGljc0V2ZW50OjIzNixwbGF5YmFja0F1ZGlvUm91dGVFdmVudDoyMzcsaW50ZXJhY3Rpb25Mb2dnaW5nRGVidWdNb2RlRXJyb3I6MjM4LApvZmZsaW5lWXRiUmVmcmVzaGVkOjIzOSxraWRzRmxvd0Vycm9yOjI0MCxtdXNpY0F1dG9wbGF5T25MYXVuY2hBdHRlbXB0ZWQ6MjQyLGRldmljZUNvbnRleHRBY3Rpdml0eUV2ZW50OjI0MyxkZXZpY2VDb250ZXh0RXZlbnQ6MjQ0LHRlbXBsYXRlUmVzb2x1dGlvbkV4Y2VwdGlvbjoyNDUsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RTZXJ2aWNlQ2FsbGVkOjI0NixlbWJlZHNTdG9yYWdlQWNjZXNzTm90Q2hlY2tlZDoyNDcsZW1iZWRzSGFzU3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNDgsZW1iZWRzSXRwUGxheWVkT25SZWxvYWQ6MjQ5LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzUmVzdWx0OjI1MCxlbWJlZHNTaG91bGRSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTEsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NTdGF0ZToyNTYsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NGYWlsZWRTdGF0ZToyNTcsZW1iZWRzSXRwV2F0Y2hMYXRlclJlc3VsdDoyNjYsc2VhcmNoU3VnZ2VzdERlY29kaW5nUGF5bG9hZEZhaWx1cmU6MjUyLApzaXJpU2hvcnRjdXRBY3RpdmF0ZWQ6MjUzLHR2aHRtbDVLZXlib2FyZFBlcmZvcm1hbmNlOjI1NCxsYXRlbmN5QWN0aW9uU3BhbjoyNTUsZWxlbWVudHNMb2c6MjY3LHl0YkZpbGVPcGVuZWQ6MjY4LHRmbGl0ZU1vZGVsRXJyb3I6MjY5LGFwaVRlc3Q6MjcwLHlvbmdsZVVzYlNldHVwOjI3MSx0b3VTdHJpa2VJbnRlcnN0aXRpYWxFdmVudDoyNzIsbGl0ZVN0cmVhbVRvU2F2ZToyNzQsYXBwQnVuZGxlQ2xpZW50RXZlbnQ6Mjc1LHl0YkZpbGVDcmVhdGlvbkZhaWxlZDoyNzYsYWROb3RpZnlGYWlsdXJlOjI3OCx5dGJUcmFuc2ZlckZhaWxlZDoyODAsYmxvY2tpbmdSZXF1ZXN0RmFpbGVkOjI4MSxsaXRlQWNjb3VudFNlbGVjdG9yOjI4MixsaXRlQWNjb3VudFVpQ2FsbGJhY2tzOjI4MyxkdW1teVBheWxvYWQ6Mjg0LGJyb3dzZVJlc3BvbnNlVmFsaWRhdGlvbkV2ZW50OjI4NSxlbnRpdGllc0Vycm9yOjI4NixtdXNpY0lvc0JhY2tncm91bmRGZXRjaDoyODcsbWR4Tm90aWZpY2F0aW9uRXZlbnQ6Mjg5LApsYXllcnNWYWxpZGF0aW9uRXJyb3I6MjkwLG11c2ljUHdhSW5zdGFsbGVkOjI5MSxsaXRlQWNjb3VudENsZWFudXA6MjkyLGh0bWw1UGxheWVySGVhbHRoRXZlbnQ6MjkzLHdhdGNoUmVzdG9yZUF0dGVtcHQ6Mjk0LGxpdGVBY2NvdW50U2lnbkluOjI5Nixub3RhaXJlRXZlbnQ6Mjk4LGtpZHNWb2ljZVNlYXJjaEV2ZW50OjI5OSxhZE5vdGlmeUZpbGxlZDozMDAsZGVsYXllZEV2ZW50RHJvcHBlZDozMDEsYW5hbHl0aWNzU2VhcmNoRXZlbnQ6MzAyLHN5c3RlbURhcmtUaGVtZU9wdE91dEV2ZW50OjMwMyxmbG93RXZlbnQ6MzA0LG5ldHdvcmtDb25uZWN0aXZpdHlCYXNlbGluZUV2ZW50OjMwNSx5dGJGaWxlSW1wb3J0ZWQ6MzA2LGRvd25sb2FkU3RyZWFtVXJsRXhwaXJlZDozMDcsZGlyZWN0U2lnbkluRXZlbnQ6MzA4LGx5cmljSW1wcmVzc2lvbkV2ZW50OjMwOSxhY2Nlc3NpYmlsaXR5U3RhdGVFdmVudDozMTAsdG9rZW5SZWZyZXNoRXZlbnQ6MzExLGdlbmVyaWNBdHRlc3RhdGlvbkV4ZWN1dGlvbjozMTIsCnR2aHRtbDVWaWRlb1NlZWs6MzEzLHVucGx1Z2dlZEF1dG9QYXVzZTozMTQsc2NydWJiaW5nRXZlbnQ6MzE1LGJlZHRpbWVSZW1pbmRlckV2ZW50OjMxNyx0dmh0bWw1VW5leHBlY3RlZFJlc3RhcnQ6MzE5LHR2aHRtbDVEZXZpY2VTdG9yYWdlU3RhdHM6NTM1LHR2aHRtbDVTdGFiaWxpdHlUcmFjZUV2ZW50OjQ3OCx0dmh0bWw1T3BlcmF0aW9uSGVhbHRoOjQ2Nyx0dmh0bWw1V2F0Y2hLZXlFdmVudDozMjEsdm9pY2VMYW5ndWFnZUNoYW5nZWQ6MzIyLHR2aHRtbDVMaXZlQ2hhdFN0YXR1czozMjMscGFyZW50VG9vbHNDb3JwdXNTZWxlY3RlZEV2ZW50OjMyNCxvZmZlckFkc0Vucm9sbG1lbnRJbml0aWF0ZWQ6MzI1LG5ldHdvcmtRdWFsaXR5SW50ZXJ2YWxFdmVudDozMjYsZGV2aWNlU3RhcnR1cE1ldHJpY3M6MzI4LGhlYXJ0YmVhdEFjdGlvblBsYXllclRyYW5zaXRpb25lZDozMzAsdHZodG1sNUxpZmVjeWNsZTozMzEsaGVhcnRiZWF0QWN0aW9uUGxheWVySGFsdGVkOjMzMixhZGFwdGl2ZUlubGluZU11dGVkU2V0dGluZ0V2ZW50OjMzMywKbWFpbkFwcExpYnJhcnlMb2FkaW5nU3RhdGU6MzM0LHRoaXJkUGFydHlMb2dNb25pdG9yaW5nRXZlbnQ6MzM2LGFwcFNoZWxsQXNzZXRMb2FkUmVwb3J0OjMzNyx0dmh0bWw1QW5kcm9pZEF0dGVzdGF0aW9uOjMzOCx0dmh0bWw1U3RhcnR1cFNvdW5kRXZlbnQ6MzQwLGlvc0JhY2tncm91bmRSZWZyZXNoVGFzazozNDIsaW9zQmFja2dyb3VuZFByb2Nlc3NpbmdUYXNrOjM0MyxzbGlFdmVudEJhdGNoOjM0NCxwb3N0SW1wcmVzc2lvbkV2ZW50OjM0NixtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdEV4cG9ydDozNDcsaWRiVW5leHBlY3RlZGx5Q2xvc2VkOjM0OCx2b2ljZVNlYXJjaEV2ZW50OjM0OSxtZHhTZXNzaW9uQ2FzdEV2ZW50OjM1MCxpZGJRdW90YUV4Y2VlZGVkOjM1MSxpZGJUcmFuc2FjdGlvbkVuZGVkOjM1MixpZGJUcmFuc2FjdGlvbkFib3J0ZWQ6MzUzLHR2aHRtbDVLZXlib2FyZExvZ2dpbmc6MzU0LGlkYklzU3VwcG9ydGVkQ29tcGxldGVkOjM1NSxjcmVhdG9yU3R1ZGlvTW9iaWxlRXZlbnQ6MzU2LAppZGJEYXRhQ29ycnVwdGVkOjM1NyxwYXJlbnRUb29sc0FwcENob3NlbkV2ZW50OjM1OCx3ZWJWaWV3Qm90dG9tU2hlZXRSZXNpemVkOjM1OSxhY3RpdmVTdGF0ZUNvbnRyb2xsZXJTY3JvbGxQZXJmb3JtYW5jZVN1bW1hcnk6MzYwLG5hdmlnYXRvclZhbGlkYXRpb246MzYxLG1keFNlc3Npb25IZWFydGJlYXQ6MzYyLGNsaWVudEhpbnRzUG9seWZpbGxEaWFnbm9zdGljczozNjMsY2xpZW50SGludHNQb2x5ZmlsbEV2ZW50OjM2NCxwcm9vZk9mT3JpZ2luVG9rZW5FcnJvcjozNjUsa2lkc0FkZGVkQWNjb3VudFN1bW1hcnk6MzY2LG11c2ljV2VhcmFibGVEZXZpY2U6MzY3LHlwY1JlZnVuZEZsb3dFdmVudDozNjgsdHZodG1sNVBsYXliYWNrTWVhc3VyZW1lbnRFdmVudDozNjksdHZodG1sNVdhdGVybWFya01lYXN1cmVtZW50RXZlbnQ6MzcwLGNsaWVudEV4cEdjZlByb3BhZ2F0aW9uRXZlbnQ6MzcxLG1haW5BcHBSZWZlcnJlckludGVudDozNzIsbGVhZGVyTG9ja0VuZGVkOjM3MyxsZWFkZXJMb2NrQWNxdWlyZWQ6Mzc0LApnb29nbGVIYXRzRXZlbnQ6Mzc1LHBlcnNpc3RlbnRMZW5zTGF1bmNoRXZlbnQ6Mzc2LHBhcmVudFRvb2xzQ2hpbGRXZWxjb21lQ2hvc2VuRXZlbnQ6Mzc4LGJyb3dzZVRodW1ibmFpbFByZWxvYWRFdmVudDozNzksZmluYWxQYXlsb2FkOjM4MCxtZHhEaWFsQWRkaXRpb25hbERhdGFVcGRhdGVFdmVudDozODEsd2ViT3JjaGVzdHJhdGlvblRhc2tMaWZlY3ljbGVSZWNvcmQ6MzgyLHN0YXJ0dXBTaWduYWxFdmVudDozODQsYWNjb3VudEVycm9yOjM4NSxnbXNEZXZpY2VDaGVja0V2ZW50OjM4NixhY2NvdW50U2VsZWN0b3JFdmVudDozODgsYWNjb3VudFVpQ2FsbGJhY2tzOjM4OSxtZHhEaWFsQWRkaXRpb25hbERhdGFQcm9iZUV2ZW50OjM5MCxkb3dubG9hZHNTZWFyY2hJY2luZ0FwaVN0YXRzOjM5MSxkb3dubG9hZHNTZWFyY2hJbmRleFVwZGF0ZWRFdmVudDozOTcsZG93bmxvYWRzU2VhcmNoSW5kZXhTbmFwc2hvdDozOTgsZGF0YVB1c2hDbGllbnRFdmVudDozOTIsa2lkc0NhdGVnb3J5U2VsZWN0ZWRFdmVudDozOTMsCm1keERldmljZU1hbmFnZW1lbnRTbmFwc2hvdEV2ZW50OjM5NCxwcmVmZXRjaFJlcXVlc3RlZDozOTUscHJlZmV0Y2hhYmxlQ29tbWFuZEV4ZWN1dGVkOjM5NixnZWxEZWJ1Z2dpbmdFdmVudDozOTksd2ViTGlua1R0c1BsYXlFbmQ6NDAwLGNsaXBWaWV3SW52YWxpZDo0MDEscGVyc2lzdGVudFN0b3JhZ2VTdGF0ZUNoZWNrZWQ6NDAzLGNhY2hlV2lwZW91dEV2ZW50OjQwNCxwbGF5ZXJFdmVudDo0MTAsc2Z2RWZmZWN0UGlwZWxpbmVTdGFydGVkRXZlbnQ6NDEyLHNmdkVmZmVjdFBpcGVsaW5lUGF1c2VkRXZlbnQ6NDI5LHNmdkVmZmVjdFBpcGVsaW5lRW5kZWRFdmVudDo0MTMsc2Z2RWZmZWN0Q2hvc2VuRXZlbnQ6NDE0LHNmdkVmZmVjdExvYWRlZEV2ZW50OjQxNSxzZnZFZmZlY3RVc2VySW50ZXJhY3Rpb25FdmVudDo0NjUsc2Z2RWZmZWN0Rmlyc3RGcmFtZVByb2Nlc3NlZExhdGVuY3lFdmVudDo0MTYsc2Z2RWZmZWN0QWdncmVnYXRlZEZyYW1lc1Byb2Nlc3NlZExhdGVuY3lFdmVudDo0MTcsCnNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNEcm9wcGVkRXZlbnQ6NDE4LHNmdkVmZmVjdFBpcGVsaW5lRXJyb3JFdmVudDo0MzAsc2Z2RWZmZWN0R3JhcGhGcm96ZW5FdmVudDo0MTksc2Z2RWZmZWN0R2xUaHJlYWRCbG9ja2VkRXZlbnQ6NDIwLG1kZVFvc0V2ZW50OjUxMCxtZGVWaWRlb0NoYW5nZWRFdmVudDo0NDIsbWRlUGxheWVyUGVyZm9ybWFuY2VNZXRyaWNzOjQ3MixtZGVFeHBvcnRlckV2ZW50OjQ5NyxnZW5lcmljQ2xpZW50RXhwZXJpbWVudEV2ZW50OjQyMyxob21lUHJlbG9hZFRhc2tTY2hlZHVsZWQ6NDI0LGhvbWVQcmVsb2FkVGFza0V4ZWN1dGVkOjQyNSxob21lUHJlbG9hZENhY2hlSGl0OjQyNixwb2x5bWVyUHJvcGVydHlDaGFuZ2VkSW5PYnNlcnZlcjo0MjcsYXBwbGljYXRpb25TdGFydGVkOjQzMSxuZXR3b3JrQ3JvbmV0UnR0QmF0Y2g6NDMyLG5ldHdvcmtDcm9uZXRSdHRTdW1tYXJ5OjQzMyxyZXBlYXRDaGFwdGVyTG9vcEV2ZW50OjQzNixzZWVrQ2FuY2VsbGF0aW9uRXZlbnQ6NDYyLApsb2NrTW9kZVRpbWVvdXRFdmVudDo0ODMsZXh0ZXJuYWxWaWRlb1NoYXJlVG9Zb3V0dWJlQXR0ZW1wdDo1MDEscGFyZW50Q29kZUV2ZW50OjUwMixvZmZsaW5lVHJhbnNmZXJTdGFydGVkOjQsbXVzaWNPZmZsaW5lTWl4dGFwZVByZWZlcmVuY2VzQ2hhbmdlZDoxNixtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uQXR0ZW1wdDo0MCxtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uRXJyb3I6NzcsZHR3c1BsYXliYWNrU3RhcnRlZDoxMTIsZHR3c1RpbGVGZXRjaFN0YXJ0ZWQ6MTEzLGR0d3NUaWxlRmV0Y2hDb21wbGV0ZWQ6MTE0LGR0d3NUaWxlRmV0Y2hTdGF0dXNDaGFuZ2VkOjE0NSxkdHdzS2V5ZnJhbWVEZWNvZGVyQnVmZmVyU2VudDoxMTUsZHR3c1RpbGVVbmRlcmZsb3dlZE9uTm9ua2V5ZnJhbWU6MTE2LGR0d3NCYWNrZmlsbEZldGNoU3RhdHVzQ2hhbmdlZDoxNDMsZHR3c0JhY2tmaWxsVW5kZXJmbG93ZWQ6MTE3LGR0d3NBZGFwdGl2ZUxldmVsQ2hhbmdlZDoxMjgsCmJsb2NraW5nVmlzaXRvcklkVGltZW91dDoyNzcsbGl0ZVNvY2lhbDoxOCxtb2JpbGVKc0ludm9jYXRpb246Mjk3LGJpc2NvdHRpQmFzZWREZXRlY3Rpb246NDM5LGNvV2F0Y2hTdGF0ZUNoYW5nZTo0NDAsZW1iZWRzVmlkZW9EYXRhRGlkQ2hhbmdlOjQ0MSxzaG9ydHNGaXJzdDo0NDMsY3J1aXNlQ29udHJvbEV2ZW50OjQ0NSxxb2VDbGllbnRMb2dnaW5nQ29udGV4dDo0NDYsYXR2UmVjb21tZW5kYXRpb25Kb2JFeGVjdXRlZDo0NDcsdHZodG1sNVVzZXJGZWVkYmFjazo0NDgscHJvZHVjZXJQcm9qZWN0Q3JlYXRlZDo0NDkscHJvZHVjZXJQcm9qZWN0T3BlbmVkOjQ1MCxwcm9kdWNlclByb2plY3REZWxldGVkOjQ1MSxwcm9kdWNlclByb2plY3RFbGVtZW50QWRkZWQ6NDUzLHByb2R1Y2VyUHJvamVjdEVsZW1lbnRSZW1vdmVkOjQ1NCxwcm9kdWNlckFwcFN0YXRlQ2hhbmdlOjUwOSxwcm9kdWNlclByb2plY3REaXNrSW5zdWZmaWNpZW50RXhwb3J0RmFpbHVyZTo1MTYscHJvZHVjZXJNZWRpYVNlcnZpY2VzUmVzZXREZXRhaWxzOjUyMiwKdHZodG1sNVNob3dDbG9ja0V2ZW50OjQ1NSxkZXZpY2VDYXBhYmlsaXR5Q2hlY2tNZXRyaWNzOjQ1Nix5b3V0dWJlQ2xlYXJjdXRFdmVudDo0NjEsb2ZmbGluZUJyb3dzZUZhbGxiYWNrRXZlbnQ6NDYzLGdldEN0dlRva2VuRXZlbnQ6NDY0LHN0YXJ0dXBEcm9wcGVkRnJhbWVzU3VtbWFyeTo0NjYsc2NyZWVuc2hvdEV2ZW50OjQ2OCxtaW5pQXBwUGxheUV2ZW50OjQ2OSxlbGVtZW50c0RlYnVnQ291bnRlcnM6NDcwLGZvbnRMb2FkRXZlbnQ6NDcxLHdlYktpbGxzd2l0Y2hSZWNlaXZlZDo0NzMsd2ViS2lsbHN3aXRjaEV4ZWN1dGVkOjQ3NCxjYW1lcmFPcGVuRXZlbnQ6NDc1LG1hbnVhbFNtb290aG5lc3NNZWFzdXJlbWVudDo0NzYsdHZodG1sNUFwcFF1YWxpdHlFdmVudDo0NzcscG9seW1lclByb3BlcnR5QWNjZXNzRXZlbnQ6NDc5LG1pbmlBcHBTZGtVc2FnZTo0ODAsY29iYWx0VGVsZW1ldHJ5RXZlbnQ6NDgxLGNyb3NzRGV2aWNlUGxheWJhY2s6NDgyLGNoYW5uZWxDcmVhdGVkV2l0aE9iYWtlSW1hZ2U6NDg0LApjaGFubmVsRWRpdGVkV2l0aE9iYWtlSW1hZ2U6NDg1LG9mZmxpbmVEZWxldGVFdmVudDo0ODYsY3Jvc3NEZXZpY2VOb3RpZmljYXRpb25UcmFuc2Zlcjo0ODcsYW5kcm9pZEludGVudEV2ZW50OjQ4OCx1bnBsdWdnZWRBbWJpZW50SW50ZXJsdWRlc0NvdW50ZXJmYWN0dWFsRXZlbnQ6NDg5LGtleVBsYXlzUGxheWJhY2s6NDkwLHNob3J0c0NyZWF0aW9uRmFsbGJhY2tFdmVudDo0OTMsdnNzRGF0YTo0OTEsY2FzdE1hdGNoOjQ5NCxtaW5pQXBwUGVyZm9ybWFuY2VNZXRyaWNzOjQ5NSx1c2VyRmVlZGJhY2tFdmVudDo0OTYsa2lkc0d1ZXN0U2Vzc2lvbk1pc21hdGNoOjQ5OCxtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdE1pZ3JhdGlvbkV2ZW50OjQ5OSxzbGVlcFRpbWVyU2Vzc2lvbkZpbmlzaEV2ZW50OjUwMCx3YXRjaEVwUHJvbW9Db25mbGljdDo1MDMsaW5uZXJ0dWJlUmVzcG9uc2VDYWNoZU1ldHJpY3M6NTA1LG1pbmlBcHBBZEV2ZW50OjUwNixkYXRhUGxhblVwc2VsbEV2ZW50OjUwNywKcHJvZHVjZXJQcm9qZWN0UmVuYW1lZDo1MDgscHJvZHVjZXJNZWRpYVNlbGVjdGlvbkV2ZW50OjUxMSxlbWJlZHNBdXRvcGxheVN0YXR1c0NoYW5nZWQ6NTEyLHJlbW90ZUNvbm5lY3RFdmVudDo1MTMsY29ubmVjdGVkU2Vzc2lvbk1pc2F0dHJpYnV0aW9uRXZlbnQ6NTE0LHByb2R1Y2VyUHJvamVjdEVsZW1lbnRNb2RpZmllZDo1MTUsYWRzU2VlbkNsaWVudExvZ2dpbmc6NTE3LHByb2R1Y2VyRXZlbnQ6NTE4LHR2aHRtbDVDbGVhblN0YXJ0OjUxOSxkZXZpY2VBY2NvdW50TWV0cmljc0V2ZW50OjUyMCxkZXJwTG9nRXZlbnQ6NTIxLHBsYXlhYmxlc1BvcnRhbEV2ZW50OjUyMyxpcFZhbGlkYXRpb25TdGFydGVkOjUyNCxpcFZhbGlkYXRpb25SZWNlaXZlZDo1MjUscmVlbHNTZXF1ZW5jZU11dGF0aW9uRXZlbnQ6NTI3LHdhdGNoWm9vbVN0YXRlQ2hhbmdlOjUyOCxtZXRhZGF0YUVkaXRvckV2ZW50OjUyOSxraWRzUHJpc21hRGVlcGxpbmtzRXZlbnQ6NTMwLGNyZWF0aW9uT3JjaGVzdHJhdGlvbkV2ZW50OjUzMSwKY29vcmRpbmF0ZWRTYW1wbGluZ1RyaWdnZXJlZDo1MzIscmVjYXBTY3JlZW5zaG90RXZlbnQ6NTM0LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXF1ZXN0RXZlbnQ6NTM2LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXNwb25zZUV2ZW50OjUzNyxzZXNzaW9uUmVwbGF5RXZlbnQ6NTM4LHNlc3Npb25SZXBsYXlTdGF0dXNFdmVudDo1MzksbG9nZ2luZ1JlbGlhYmlsaXR5UHJvYmU6NTQwLGtleVZhbHVlU3RvcmVTdGF0c0V2ZW50OjU0MSxkZXZpY2VMb2NhdGlvblBlcm1pc3Npb25FdmVudDo1NDIscmVtb3RlQ29udHJvbFN0YXJ0ZWQ6NTQzLHJlbW90ZUNvbnRyb2xDb21wbGV0ZWQ6NTQ0LHJlZWxzQWRzRXZlbnRzOjU0NSx5dGxyTG9hZGVyVGVzdEhhcm5lc3NFdmVudDo1NDcsYmlvbWV0cmljQXV0aGVudGljYXRpb25FdmVudDo1NDgsbWFpbkFwcExpZmVjeWNsZUV2ZW50OjU0OSxtdXNpY0Rvd25sb2FkQmFja2dyb3VuZENvbnRpbnVlZFByb2Nlc3NpbmdUYXNrOjU1MCxtdXNpY01ldGFkYXRhTWlzbWF0Y2hFdmVudDo1NTEsCnNjcm9sbFRvQ29tcG9uZW50Q29tcGxldGVkOjU1MixlbnRpdHlTdG9yZVRlbGVtZXRyeTo1NTMsc3RyZWFtaW5nRGFya0xhdW5jaEV2ZW50OjU1NCxjaGlsZEFjY291bnRzRGlzcGxheUV2ZW50OjU1NSx0dmZhc1BsYXliYWNrQ29udGV4dDo1NTcsbWRlQzJQYUV2ZW50OjU1OX07dmFyIFZtPV8uJGwoIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtzZTp7U1dIZWFsdGhMb2c6e1BkOjF9fSxzaGFyZWQ6ITAsdXBncmFkZTooYSxiKT0+e2IoMSkmJl8ub2woXy5rbChhLCJTV0hlYWx0aExvZyIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSksInN3SGVhbHRoTmV3UmVxdWVzdCIsWyJpbnRlcmZhY2UiLCJ0aW1lc3RhbXAiXSl9LHZlcnNpb246MX0pO3ZhciBjbj17fSxibj0wO3ZhciBkbjt2YXIgaG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9bmV3IE1hcDt0aGlzLm89ITF9cmVxdWVzdENvbXBsZXRlKGEsYil7YiYmKHRoaXMubz0hMCk7YT10aGlzLnJlbW92ZVBhcmFtcyhhKTt0aGlzLmouZ2V0KGEpfHx0aGlzLmouc2V0KGEsYil9aXNFbmRwb2ludENGUihhKXthPXRoaXMucmVtb3ZlUGFyYW1zKGEpO3JldHVybihhPXRoaXMuai5nZXQoYSkpPyExOmE9PT0hMSYmdGhpcy5vPyEwOm51bGx9cmVtb3ZlUGFyYW1zKGEpe3JldHVybiBhLnNwbGl0KCI/IilbMF19fTtobi5wcm90b3R5cGUucmVtb3ZlUGFyYW1zPWhuLnByb3RvdHlwZS5yZW1vdmVQYXJhbXM7aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI9aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI7aG4ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZT1obi5wcm90b3R5cGUucmVxdWVzdENvbXBsZXRlO2huLmdldEluc3RhbmNlPWpuO3ZhciBrbj1jbGFzcyBleHRlbmRzIF8uZ2Z7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj0hMTt0aGlzLmo9bGYoKTt0aGlzLmoubGlzdGVuKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PntpZih0aGlzLnYmJl8ueCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgYT1mbigpLmdldCgiZXJyb3JzIiwhMCk7aWYoYSl7Zm9yKGxldCBiIGluIGEpaWYoYVtiXSl7bGV0IGM9bmV3IF8uWGooYiwic2VudCB2aWEgb2ZmbGluZV9lcnJvcnMiKTtjLm5hbWU9YVtiXS5uYW1lO2Muc3RhY2s9YVtiXS5zdGFjaztjLmxldmVsPWFbYl0ubGV2ZWw7Xy5VaShjKX1mbigpLnNldCgiZXJyb3JzIix7fSwyNTkyRTMsITApfX19KX1TYigpe3JldHVybiB0aGlzLmouU2IoKX1lZihhKXt0aGlzLmouaXNPbmxpbmU9YX1xdygpe3ZhciBhPXdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO3JldHVybiBhPT09dm9pZCAwPyEwOmF9Q3YoKXt0aGlzLnY9ITB9bGlzdGVuKGEsYil7cmV0dXJuIHRoaXMuai5saXN0ZW4oYSwKYil9UWooYSl7cmV0dXJuIG1mKHRoaXMuaixhKX19O2tuLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1rbi5wcm90b3R5cGUuUWo7a24ucHJvdG90eXBlLmxpc3Rlbj1rbi5wcm90b3R5cGUubGlzdGVuO2tuLnByb3RvdHlwZS5lbmFibGVFcnJvckZsdXNoaW5nPWtuLnByb3RvdHlwZS5Ddjtrbi5wcm90b3R5cGUuZ2V0V2luZG93U3RhdHVzPWtuLnByb3RvdHlwZS5xdztrbi5wcm90b3R5cGUubmV0d29ya1N0YXR1c0hpbnQ9a24ucHJvdG90eXBlLmVmO2tuLnByb3RvdHlwZS5pc05ldHdvcmtBdmFpbGFibGU9a24ucHJvdG90eXBlLlNiO2tuLmdldEluc3RhbmNlPWxuO18uT3M9Y2xhc3MgZXh0ZW5kcyBfLmdme2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKCk7dGhpcy5qPXRoaXMuRD0wO3RoaXMudj1sbigpO3ZhciBiPV8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy52KTtiJiYoYS5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PWEucmF0ZUxpbWl0LGIoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e21uKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnttbih0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihiKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVNiKCl7dmFyIGE9Cl8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpO3JldHVybiBhP2EuYmluZCh0aGlzLnYpKCk6ITB9ZWYoYSl7dmFyIGI9Xy5zYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UubmV0d29ya1N0YXR1c0hpbnQiKS5iaW5kKHRoaXMudik7YiYmYihhKX1hc3luYyBRaihhKXt2YXIgYj1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdCIpLmJpbmQodGhpcy52KTtyZXR1cm4gXy54KCJza2lwX25ldHdvcmtfY2hlY2tfaWZfY2ZyIikmJmpuKCkuaXNFbmRwb2ludENGUigiZ2VuZXJhdGVfMjA0Iik/bmV3IFByb21pc2UoYz0+e3RoaXMuZWYod2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHwhMCk7Yyh0aGlzLlNiKCkpfSk6Yj9iKGEpOiEwfX07dmFyIFBzLG5uPWNsYXNzIGV4dGVuZHMgTnN7Y29uc3RydWN0b3IoKXtQc3x8KFBzPW5ldyBfLk9zKHtTSjohMCxKSTohMH0pKTtzdXBlcih7Y2I6e091OlRtLEZmOlNtLFdwOlBtLEF5OlFtLG5uOlJtLHNldDpPbX0sU2E6UHMsaGFuZGxlRXJyb3I6KGEsYixjKT0+e3ZhciBkPWM/LmVycm9yPy5jb2RlO2Q9PT00MDB8fGQ9PT00MTU/KGE9bmV3IF8uWGooYS5tZXNzYWdlLGIsYz8uZXJyb3I/LmNvZGUpLF8uV2koYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOl8uVWkoYSl9LFRmOl8uV2ksR2Q6cW4sbm93Ol8uZWwsTHM6Z24sRGM6Xy5DaygpLEttOiJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixGbToicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9mZmxpbmUiLE9pOiEwLERpOi4xLEtqOl8uc2ooInBvdGVudGlhbF9lc2ZfZXJyb3JfbGltaXQiLDEwKSxLYTpfLngsYWg6IShfLldqKCkmJl8uc24oKSl9KTt0aGlzLkI9bmV3IF8uY3M7Xy54KCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiYKVW0oKTtYbCgiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKGEsYil7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKGEsYil9c2VuZFRoZW5Xcml0ZShhLGIsYyl7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKGEsYixjKX1zZW5kQW5kV3JpdGUoYSxiKXtifHwoYj17fSk7Yj1ybihhLGIpO18uV2ooKXx8KHRoaXMuT2M9ITEpO3N1cGVyLnNlbmRBbmRXcml0ZShhLGIpfWF3YWl0SW5pdGlhbGl6YXRpb24oKXtyZXR1cm4gdGhpcy5CLnByb21pc2V9fTtfLnVuPSExO18udG49Xy51Lnl0TmV0d29ya2xlc3NMb2dnaW5nSW5pdGlhbGl6YXRpb25PcHRpb25zfHx7aXNOd2xJbml0aWFsaXplZDpfLnVufTtfLnJhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsXy50bik7dmFyIERwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY29uZmlnXz1udWxsO2E/dGhpcy5jb25maWdfPWE6a20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKX1pc1JlYWR5KCl7IXRoaXMuY29uZmlnXyYma20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciBRcztRcz1fLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZXx8bmV3IF8udGg7Xy5Scz1fLnUueXRQdWJzdWJQdWJzdWJTdWJzY3JpYmVkS2V5c3x8e307Xy5Tcz1fLnUueXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5c3x8e307Xy5Ucz1fLnUueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtfLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU9Xy50aC5wcm90b3R5cGUuc3Vic2NyaWJlO18udGgucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9Xy50aC5wcm90b3R5cGUuY2k7Xy50aC5wcm90b3R5cGUucHVibGlzaD1fLnRoLnByb3RvdHlwZS5wdWJsaXNoO18udGgucHJvdG90eXBlLmNsZWFyPV8udGgucHJvdG90eXBlLmNsZWFyO18ucmEoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLFFzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YlRvcGljVG9LZXlzIixfLlNzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YklzU3luY2hyb25vdXMiLF8uVHMpOwpfLnJhKCJ5dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzIixfLlJzKTt2YXIgQ249RGF0ZS5ub3coKS50b1N0cmluZygpO0RhdGUubm93KCk7Xy5Mbj1TeW1ib2woIkNhIik7dmFyIEhuPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMua2V5PWF9fTt2YXIgT249Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IE1hcDt0aGlzLm89bmV3IE1hcH1yZXNvbHZlKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLlVzJiZhIGluc3RhbmNlb2YgXy5Vcz9Lbih0aGlzLGEpOmEgaW5zdGFuY2VvZiBIbj9Kbih0aGlzLGEua2V5LFtdLCEwKTpKbih0aGlzLGEsW10pfX07Xy5Wcz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX10b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbigke3RoaXMubmFtZX0pYH19O3ZhciBObjt2YXIgUG49d2luZG93O3ZhciBmbz1fLngoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKSYmUW4oKSE9PTAsVW49Xy54KCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIik7dmFyIGVvPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc2NoZWR1bGVyPV8uQ2soKTt0aGlzLm89bmV3IF8uY3M7dGhpcy5qPWE7Zm9yKGxldCBjPTA7Yzx0aGlzLmoubGVuZ3RoO2MrKyl7bGV0IGQ9dGhpcy5qW2NdO2E9KCk9PntkLnhoKCk7dGhpcy5qW2NdLk5qPSEwO3RoaXMuai5ldmVyeShlPT5lLk5qPT09ITApJiZ0aGlzLm8ucmVzb2x2ZSgpfTt2YXIgYj10aGlzLmdldFByaW9yaXR5KGQpO2I9dGhpcy5zY2hlZHVsZXIuR2EoYSxiKTt0aGlzLmpbY109ey4uLmQseGg6YSxqb2JJZDpifX19Y2FuY2VsKCl7Zm9yKGxldCBhIG9mIHRoaXMuailhLmpvYklkPT09dm9pZCAwfHxhLk5qfHx0aGlzLnNjaGVkdWxlci5BYShhLmpvYklkKSxhLk5qPSEwO3RoaXMuby5yZXNvbHZlKCl9Z2V0UHJpb3JpdHkoYSl7cmV0dXJuIGEucHJpb3JpdHk/PzB9fTtfLldzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9YTt0aGlzLnBsdWdpbnM9W107dGhpcy52PXZvaWQgMDt0aGlzLkI9e307Zm8mJlJuKHRoaXMuc3RhdGUpfWdldCBjdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pbnN0YWxsKGEpe3RoaXMucGx1Z2lucy5wdXNoKGEpO3JldHVybiB0aGlzfXVuaW5zdGFsbCguLi5hKXthLmZvckVhY2goYj0+e2I9dGhpcy5wbHVnaW5zLmluZGV4T2YoYik7Yj4tMSYmdGhpcy5wbHVnaW5zLnNwbGljZShiLDEpfSl9dHJhbnNpdGlvbihhLGIpe2ZvJiZTbih0aGlzLnN0YXRlKTt2YXIgYz10aGlzLnRyYW5zaXRpb25zLmZpbmQoZD0+QXJyYXkuaXNBcnJheShkLmZyb20pP2QuZnJvbS5maW5kKGU9PmU9PT10aGlzLnN0YXRlJiZkLnRvPT09YSk6ZC5mcm9tPT09dGhpcy5zdGF0ZSYmZC50bz09PWEpO2lmKGMpe3RoaXMuaiYmKFRuKHRoaXMuaiksdGhpcy5qPXZvaWQgMCk7Vm4odGhpcyxhLGIpO3RoaXMuc3RhdGU9YTtmbyYmUm4odGhpcy5zdGF0ZSk7CmM9Yy5hY3Rpb24uYmluZCh0aGlzKTtsZXQgZD10aGlzLnBsdWdpbnMuZmlsdGVyKGU9PmVbYV0pLm1hcChlPT5lW2FdKTtjKFpuKHRoaXMsZCksYil9ZWxzZSB0aHJvdyBFcnJvcigiR2FgIit0aGlzLnN0YXRlKyJgIithKTt9fTt2YXIgaG89Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoIm5vbmUiKTt0aGlzLm89bnVsbDt0aGlzLnY9MTA7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206Im5vbmUiLHRvOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86Im5vbmUiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOigpPT57fX0se2Zyb206Im5vbmUiLHRvOiJub25lIixhY3Rpb246KCk9Pnt9fV19RChhLGIpe3RoaXMubz1fLllqKCgpPT57dGhpcy5jdXJyZW50U3RhdGU9PT0iYXBwbGljYXRpb25fbmF2aWdhdGluZyImJnRoaXMudHJhbnNpdGlvbigibm9uZSIpfSw1RTMpO2EoYj8uZXZlbnQpfUsoYSxiKXt0aGlzLm8mJihfLmpmLkFhKHRoaXMubyksdGhpcy5vPW51bGwpO2EoYj8uZXZlbnQpfX0sZ287dmFyIHJvPV8uc2ooInl0Y3NpX2RlYnVnX21heF9zaXplIiwxMDApO3ZhciBYcz0wO3ZhciB5cT1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhcmd1bWVudHMpO3RoaXMuaj1hO3RoaXMudGltZXI9Yn19LHhxPW5ldyBfLnFtKCJhZnQtcmVjb3JkZWQiLHlxKTt2YXIgTnA9W3twbTphPT5gQ2Fubm90IHJlYWQgcHJvcGVydHkgJyR7YS5rZXl9J2AsSmo6e0Vycm9yOlt7cmVnZXhwOi8oUGVybWlzc2lvbiBkZW5pZWQpIHRvIGFjY2VzcyBwcm9wZXJ0eSAiKFteJ10rKSIvLGdyb3VwczpbInJlYXNvbiIsImtleSJdfV0sVHlwZUVycm9yOlt7cmVnZXhwOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovXHU2NWUwXHU2Y2Q1XHU4M2I3XHU1M2Q2XHU2NzJhXHU1YjlhXHU0ZTQ5XHU2MjE2IChudWxsfHVuZGVmaW5lZCkgXHU1ZjE1XHU3NTI4XHU3Njg0XHU1YzVlXHU2MDI3XHUyMDFjKFteXHUyMDFkXSspXHUyMDFkLyxncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7cmVnZXhwOi9cdWM4MTVcdWM3NThcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzRjIFx1YjYxMFx1YjI5NCAobnVsbHx1bmRlZmluZWQpIFx1Y2MzOFx1Yzg3MFx1Yzc3OCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNWM2XHVjMmI1XHViMmM4XHViMmU0Li8sCmdyb3VwczpbInZhbHVlIiwia2V5Il19LHtyZWdleHA6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHtyZWdleHA6L1VuYWJsZSB0byBnZXQgcHJvcGVydHkgJyhbXiddKyknIG9mICh1bmRlZmluZWQgb3IgbnVsbCkgcmVmZXJlbmNlLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7cmVnZXhwOi8obnVsbCkgaXMgbm90IGFuIG9iamVjdCBcKGV2YWx1YXRpbmcgJyg/OihbXi5dKylcLik/KFteJ10rKSdcKS8sZ3JvdXBzOlsidmFsdWUiLCJiYXNlIiwia2V5Il19XX19LHtwbTphPT5gQ2Fubm90IGNhbGwgJyR7YS5rZXl9J2AsSmo6e1R5cGVFcnJvcjpbe3JlZ2V4cDovKD86KFteIF0rKT9cLik/KFteIF0rKSBpcyBub3QgYSBmdW5jdGlvbi8sZ3JvdXBzOlsiYmFzZSIsImtleSJdfSx7cmVnZXhwOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLywKZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovT2JqZWN0ICguKikgaGFzIG5vIG1ldGhvZCAnKFteIF0rKScvLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3JlZ2V4cDovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovXHUzMGFhXHUzMGQ2XHUzMGI4XHUzMGE3XHUzMGFmXHUzMGM4XHUzMDZmICcoW14nXSspJyBcdTMwZDdcdTMwZWRcdTMwZDFcdTMwYzZcdTMwYTNcdTMwN2VcdTMwNWZcdTMwNmZcdTMwZTFcdTMwYmRcdTMwYzNcdTMwYzlcdTMwOTJcdTMwYjVcdTMwZGRcdTMwZmNcdTMwYzhcdTMwNTdcdTMwNjZcdTMwNDRcdTMwN2VcdTMwNWJcdTMwOTMvLGdyb3VwczpbImtleSJdfSx7cmVnZXhwOi9cdWFjMWNcdWNjYjRcdWFjMDAgJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc3NFx1YjA5OCBcdWJhNTRcdWMxMWNcdWI0ZGNcdWI5N2MgXHVjOWMwXHVjNmQwXHVkNTU4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJrZXkiXX1dfX0se3BtOmE9PmAke2Eua2V5fSBpcyBub3QgZGVmaW5lZGAsSmo6e1JlZmVyZW5jZUVycm9yOlt7cmVnZXhwOi8oLiopIGlzIG5vdCBkZWZpbmVkLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgQW89e2xlOltdLFNkOlt7Y2FsbGJhY2s6dm8sd2VpZ2h0OjUwMH0se2NhbGxiYWNrOndvLHdlaWdodDo1MDB9XX07dmFyIHlvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5TZD1bXTt0aGlzLmxlPVtdfX0seG87Xy5WcD1uZXcgXy50aDt2YXIgdnA9W107Xy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZEdlbFBheWxvYWRzIixmdW5jdGlvbigpe3JldHVybiB2cH0pO3ZhciBQbz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RvcmU9e307dGhpcy5qPXt9fXN0b3JlUGF5bG9hZChhLGIpe2E9SW8oYSk7dGhpcy5zdG9yZVthXT90aGlzLnN0b3JlW2FdLnB1c2goYik6KHRoaXMuaj17fSx0aGlzLnN0b3JlW2FdPVtiXSk7Xy54KCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmKGI9bmV3IEN1c3RvbUV2ZW50KCJUUkFOU1BPUlRJTkdfTkVXX0VWRU5UIiksd2luZG93LmRpc3BhdGNoRXZlbnQoYikpO3JldHVybiBhfXNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXtpZighYS5rZXlzLmxlbmd0aClyZXR1cm5bXTt2YXIgYj1Lbyh0aGlzLGEua2V5cy5zcGxpY2UoMCwxKVswXSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl0aGlzLnN0b3JlW2JbZF1dJiZhLnNpemVMaW1pdCYmKHRoaXMuc3RvcmVbYltkXV0ubGVuZ3RoPD1hLnNpemVMaW1pdD8oYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0pLGRlbGV0ZSB0aGlzLnN0b3JlW2JbZF1dKToKYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0uc3BsaWNlKDAsYS5zaXplTGltaXQpKSk7YT8uc2l6ZUxpbWl0JiZjLmxlbmd0aDxhPy5zaXplTGltaXQmJihhLnNpemVMaW1pdC09Yy5sZW5ndGgsYy5wdXNoKC4uLnRoaXMuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKGEpKSk7cmV0dXJuIGN9ZXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXthPUtvKHRoaXMsYSk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspdGhpcy5zdG9yZVthW2NdXSYmKGIucHVzaCguLi50aGlzLnN0b3JlW2FbY11dKSxkZWxldGUgdGhpcy5zdG9yZVthW2NdXSk7cmV0dXJuIGJ9Z2V0U2VxdWVuY2VDb3VudChhKXthPUtvKHRoaXMsYSk7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliKz10aGlzLnN0b3JlW2FbY11dPy5sZW5ndGh8fDA7cmV0dXJuIGJ9fTtQby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudD1Qby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudDsKUG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM9UG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM7UG8ucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcz1Qby5wcm90b3R5cGUuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzO1BvLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ9UG8ucHJvdG90eXBlLnN0b3JlUGF5bG9hZDt2YXIgeXA9bmV3IF8uVnMoIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UiKTt2YXIgbnA9Xy5zaigiaW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCIsMkUzKSxscD1fLnNqKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCksb3A9Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIiw1KSxObz12b2lkIDAsTW89bnVsbCxZcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj10aGlzLm89dGhpcy52PTA7dGhpcy5qPSExfX0sQXA9bmV3IFlzLHpwPW5ldyBZcyxrcD1uZXcgWXMsanA9bmV3IFlzLGNwLG1wPSEwLGdwPV8udS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O18ucmEoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZ3ApO3ZhciBYbz17fTt2YXIgQnA9Xy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsQnApO3ZhciBRcD1uZXcgU2V0LEtwPTAsWHA9MCxXcD0wLE1wPVtdLExwPVtdLFpwPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO3ZhciBacz17YV9iaWRfZjo0ODIsYV9iaWRfczo0ODEsYWE6MixhYWNpOjQzMyxhYWNyOjQzNCxhYl9yOjExLGFiX3M6MTAsYWJjOjU3OSxhYzoxOTMsYWNjOjUxMSxhY2k6NTEyLGFkXzBfZToxMyxhZF8wX3M6MTIsYWRfYmw6MTQsYWRfaToxNSxhZF9tYnM6MTYsYWRfcHI6NTYyLGFkX3ZpOjE3LGFkX3ZpcjoxOCxhZGE6MTk0LGFkYmNfZjo1NzYsYWRjOjE5NSxhZGZsX2Y6MTksYWRmbF9zOjIwLGFkbDoxOTYsYWRuczoxOTcsYWRzX2U6MjIsYWRzX3M6MjEsYWZiOjUxMyxhZmM6MTk4LGFmbDoxOTksYWZ0OjEsYWhiOjUxNCxhaToyMDAsYWlzX2E6NTAzLGFpc19yOjUwMixhaXNmOjIzLGFpc2k6MjQsYWlzcjoyNSxhaXNzOjI2LGFtbDoyMDEsYXBhX2E6MjAzLGFwYV9iOjIwMixhcGJzOjIwNCxhcHBfbDozLGFwcF9zaTo2MTIsYXBwX3NpZTo2NjEsYXBwZGVsX2k6MjcsYXBwaV9lOjYxNixhcHBpX3M6NjE1LGFwcjoyMDUsYXByZXM6NDM2LGFwc3VzOjQzNSxhcjoyMDYsYXI0MGs6MjgsCmFyYl9mOjUwNCxhcmM6MjA3LGFyZXE6MjA4LGFyZmI6MjksYXJpOjQsYXJyOjIwOSxhcnJoOjMwLGFzY2U6Nzg4LGFzY2Y6Nzg5LGFzY3M6Nzg3LGFzaXNmYjozMSxhc2lzcjozMixhc2lzcmg6MzMsYXNpc3M6MzQsYXNyOjIxMCxhc3luY19vcmNoX3RfYWN0OjcxMixhc3luY19vcmNoX3Rfbm90aWZ5OjcxMSxhdHJyOjUxNSxhdHJzOjUxNixhdHRfZToyMTEsYXR0X2Y6MjEyLGF0dF9mYzo3OTcsYXR0X2Zycjo3OTYsYXR0X2ZzOjc5MyxhdHRfZnNyOjc5NSxhdHRfcG5hOjc5NCxhdHRfczoyMTMsYXR0X3diOjIxNCxhd2ZsX2Y6NTU3LGF3Zmxfczo1NTgsYmFzZV9qc19yOjQ0MSxiY3A6MjE1LGJmOjIxNixiZ19lOjIxNyxiZ19pOjIxOCxiZ19sOjIyMCxiZ19zOjIyMSxiZ192OjIxOSxicGRfYzo0ODQsYnBkX3M6NDgzLGJwdDoyMjMsYnJfZTozNyxicl9sZDozOCxicl9scnByOjM5LGJyX2xycjo0MCxicl9sd206NTc3LGJyX3I6NDEsYnJfczo0MixicmVyOjM1LGJyZXM6MzYsYnJucjo0MywKYnJuczo0NCxicnBlOjQ1LGJycHM6NDYsYnJyX2U6NDcsYnJyX2k6NDgsYnJyX2l1czo0OSxiczoyMjIsY19jOjUwLGNfY3M6NTEsY19jc2ZzOjUyLGNfZDo1MyxjX2xhZjo1OSxjX2xhczo1OCxjX3JuZjo0MzgsY19ybnM6NDM3LGNjOjQ2NyxjY19jOjU0LGNjX2NmOjU2LGNjX2NzYWxhOjU1LGNjX2xhOjU3LGNmZzoyMjQsY2hsczoyMjUsY2hwczoyMjYsY2w6NDgwLGNtYzoyMjcsY21kX2g6NjI5LGNtaGw6MjI5LGNtaToyMjgsY21sOjIzMCxjbXA6Nzc5LGNtdjoyMzEsY3B0OjIzMixjcjozNjQsY3JfZXJyOjY2OSxjcl9yOjY3MCxjcl9zOjY2OCxjc2w6MjMzLGNzcl90OjYzMSxjdDo1LGN0X2xpOjYwLGRfbDo2MSxkX2xhZjo2MixkX2xhcjo2MyxkX2xhczo2NCxkX2xmOjY1LGRfbHM6NjYsZF9sdzo2NyxkX2x3Zjo2OCxkX2x3czo2OSxkYXNfYzozNjYsZGFzX3M6MzY1LGRjcDoyMzQsZGdfcGJfYzoyMzYsZGdfcGJfcjoyMzcsZGdfcGJfczoyMzUsZGhpYzoyMzgsZGw6MjM5LGRuc186MjQwLApkcm1fZ2tfZjozODgsZHJtX2drX3M6Mzg3LGRybV9rcl9yOjM5Mixkcm1fa3JfczozOTEsZHJtX25ldF9yOjM5MCxkcm1fbmV0X3M6Mzg5LGRybV9wYl9mOjM4Nixkcm1fcGJfczozODUsZHNfYWM6NzM2LGRzX2FzOjczNSxkc19jbGM6NzQwLGRzX2NzOjczNyxkc19kYzo3MzksZHNfZHM6NzM4LGVtcGE6NDMyLGVtcHU6NDMxLGVucF9lcnI6Njg1LGVucF9maTo2ODQsZW5wX3N0OjY4Myxlb3ByX3I6NjczLGVwX2FfcHJfcjo1MzIsZXBfYV9wcl9zOjUzMSxlcF9oYXZfZW5kOjUyNixlcF9oYXZfc3RhcnQ6NTI1LGVwX2luaXRfYXI6Njk5LGVwX2luaXRfY3VlOjYzNSxlcF9pbml0X2N1czo2MzQsZXBfaW5pdF9lcGU6NjM3LGVwX2luaXRfZXBzOjYzNixlcF9pbml0X2lqZTo2MzksZXBfaW5pdF9panM6NjM4LGVwX2luaXRfcHI6NTI3LGVwX2luaXRfcmU6NjQxLGVwX2luaXRfcnM6NjQwLGVwX2luaXRfd2VlOjY0MyxlcF9pbml0X3dlczo2NDIsZXBfbWFfcmVwcjo1NDMsZXBfbWFfcnI6NTMzLAplcF9tYV9zZXByOjU0MixlcF9tYV9zcHI6NTM0LGVwX3BfbDo1MzAsZXBfcHJfcjo1MjksZXBfcHJfczo1MjgsZXBfcl9wcmVfcjo1NDEsZXBfcl9ycjo1MzUsZXBfcl9zbWFyOjUzNixlcF9yZWNfZW5kOjUzOCxlcF9yZWNfc3RhcnQ6NTM3LGVwX3JlcHNfZW5kOjU0MCxlcF9yZXBzX3N0YXJ0OjUzOSxlcGU6NjE4LGVwczo2MTcsZXJfY2w6NjUzLGVyX25zOjY1Mixlcl9wZTo2NTAsZXJfcHM6NjQ5LGVyX3M6NjQ4LGVyX3NfbnI6NzkwLGVyX3NfbnM6Nzg0LGVyX3Q6NjUxLGZhYl9yOjI0NixmY2Jfcjo1MDYsZmlyZTo3MCxmaXJzOjcxLGZtdGg6MjQxLGZvb3RfanM6MjQyLGZwdDoyNDMsZnJfczo1NjEsZnM6MjQ0LGZzYzoyNDUsZnNzYjBfYTo3NSxmc3NiMF9mcjo3NCxmc3NiMF9ucjo3Myxmc3NiMF9uczo3MixmdF86NDM5LGZ0bDo3LGZ0cjo0NzUsZnZiX3I6MjQ3LGZ2ZjoyNDgsZnlkX2dmOjc2NyxmeWRfZ3M6NzY2LGdjYzoyNDksZ2NmbDoyNTAsZ2Nzcjo3NixnZXBfZXJyOjgwMCwKZ2VwX3JlcTo3OTgsZ2VwX3Jlczo3OTksZ2dzcjo3NyxnaXdhX2E6NjI3LGdpd2FfZDo2MjgsZ2xjOjU5MyxnbGU6MjUxLGdsczoyNTIsZ3BlOjI1MyxncmM6MjU0LGdyaXdfbnI6Nzg2LGdyaXdfbnM6Nzg1LGdzX3I6NzM0LGdzX3M6NzMzLGdzbWQ6NTg2LGd1X3I6NjIwLGd2OjQ4NSxnd19haWVyOjc3MSxnd19hcmY6NzcyLGd3X2FybmFmOjc3NSxnd19hcm5uYWY6Nzc2LGd3X2FybnM6Nzc3LGd3X2FybnN1Ojc3OCxnd19hcnM6Nzc0LGd3X2Fyc3U6NzczLGd3X21hYWY6NjMzLGd3X21hYXM6NjMyLGhiZmc6Njc3LGhnY3I6MjU1LGhyOjI1NixocmU6MzYzLGhyczozNjIsaHM6MzczLGh0bWxfZmJfcjo3NTUsaHRtbF9mZTo3NDgsaHRtbF9mczo3NDcsaHRtbF9md2U6NzUyLGh0bWxfZndzOjc1MSxodG1sX2pjZTo3NTQsaHRtbF9qY3M6NzUzLGh0bWxfbGJfcjo3NTYsaHRtbF9zZTo3NTAsaHRtbF9zczo3NDksaV9ycDo0NzcsaV9ycTo0NzYsaXBfczo2NDYsaXBjOjI1NyxpcHM6MjU4LAppc21wX2E6ODM2LGlzbXBfYzo4MzgsaXNtcF9kOjgzOSxpc21wX2k6ODM1LGlzbXBfcDo4NDAsaXNtcF9yYzo4MzcsaXRfZ3A6NzgsaXZfczo1MDUsanNwOjI1OSxqc3I6MjYwLGtZVExhdGVuY3lNREVQcm9kdWN0U3RpY2tlckVkaXRvckNhbmNlbGxlZDo4MDEsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yRmluaXNoZWQ6ODAyLGwyczoyNjEsbGNfZnJyOjY2MCxsY19zX3M6NjU5LGxjX3NfdTo2NTgsbGNwOjI2MixsZF9zOjQ0MCxsaW06MjYzLGxwY2Y6MjY0LGxwY3M6MjY1LGxwczoyNjYsbHNfYzozNjgsbHNfczozNjcsbHNzOjI2NyxsdjoyNjgsbWFfY2w6NTUxLG1hX2Zmcjo1NTIsbWFfZnVhOjU1NCxtYV9ncjo1NTMsbWFfaWw6NTczLG1haW46NzksbWFpbl9qc19yOjQ0MixtYWluX2pzX3JxOjQ0MyxtYl9zOjUwNyxtYmFwX2M6Mzg0LG1iY19hbGM6NzMyLG1iY19hc2w6NzMxLG1iY19jOjM3NSxtYmNfczozNzQsbWJnY2hpZF9ycjo3NDQsbWJnY2hpZF9yczo3NDYsCm1iZ3JfcmY6NjU3LG1iZ3JfcnI6Mzc5LG1iZ3JfcnM6Mzc4LG1ibGNfYzozNzcsbWJsY19zOjM3NixtYmxjaGlkX2M6NzQ1LG1ibGNoaWRfczo3NDMsbWJsY3JpZF9jOjc0MixtYmxjcmlkX3M6NzQxLG1ic19jOjM4MSxtYnNfcnI6MzgzLG1ic19yczozODIsbWJzX3M6MzgwLG1keF9jY3A6ODAsbWR4X2Njczo4MSxtZHhfY2NzdDo4MixtZHhfY3I6ODMsbWR4X2NzOjg0LG1keF9sczo4NSxtZHhfb2ZmOjg2LG1keF9zYzo4NyxtZV9iOjU1NSxtZV9jOjY4NyxtZV9mOjU1NixtZV9mYTo2ODgsbWVzdl9zOjUwOSxtbV9pZTo3MjAsbW1faXM6NzE5LG1yYzoyNjksbXJzOjI3MCxtc2E6MjcxLG1zdGk6ODgsbXN0cjo4OSxuX2N0OjcwMixuX3NyOjY5NyxuX3N3OjY5OCwibmNbMC05XSI6MjcyLG5jbDoyNzMsbmN0OjI3NCxuZDoyNzUsbmRuc2U6Mjc2LG5kbnNzOjI3NywibnBbMC05XSI6Mjc4LG5yOjI3OSxucmU6MjgwLG5yZXFzOjI4MSxucmVzZToyODIsbnJlc3M6MjgzLG5ycnBzOjkwLApucnM6Mjg0LG5zdGNwczoyODUsbnRjcGU6Mjg2LG50Y3BzOjI4Nyxud3A6Mjg4LG9hZDJzOjQyNSxvYWZzX3I6NDA3LG9hZnNfcnA6NDA5LG9haXNyOjQwNSxvYXIyczo0MTIsb2FycDJzOjQyNyxvY3NpX3o6OTEsb2N0azo2MjEsb2N0cDo2MjIsb2ZhcnA6NDIzLG9mZG86NDAwLG9mZG9zOjM5OCxvZnI6NDE3LG9mdnJwOjQyNCxvZ3NmX2M6Mzk1LG9nc2ZfczozOTQsb2hyX3I6NzY1LG9ocl9zOjc2NCxvbDo2LG9sX2k6OCxvbG9jX2U6ODMwLG9sb2Nfc2E6ODI5LG9sb2Nfc3M6ODI4LG9tZF9jOjQyMixvbWRfczo0MjEsb21wX2M6NDE5LG9tcF9yOjQxOCxvcGZjOjY4MCxvcHJfcjo0MTQsb3ByZF9zOjQxNSxvcHJnejJfZTo4NDIsb3ByZ3oyX2Y6ODQzLG9wcmd6Ml9zOjg0MSxvcHJnel9zOjY4OSxvcHJyOjQxNixvcjEwMGs6NDExLG9yX2ZlOjQyOSxvcl9mczo0MzAsb3JfaTozOTMsb3JfcDozOTcsb3JjaF9yX2Q6Njk0LG9yY2hfcl9zOjY5NSxvcmNoX3RfcG1kOjc3MCxvcmNoX3RfcG1zOjc2OSwKb3JjaF90X3RjZWQ6NzA4LG9yY2hfdF90Y2VzOjcwNSxvcmNoX3RfdGQ6NjkyLG9yY2hfdF90bWQ6ODA0LG9yY2hfdF90bXM6ODAzLG9yY2hfdF91ZDo2OTMsb3JjaF90X3VzOjY5NixvcmZiOjQwNCxvcmhfcjo0MDMsb3Jtazo0MjAsb3JxcGJfYTo4MzEsb3JxcGJfZTo4MzQsb3JxcGJfczo4MzIsb3JxcGJfdzo4MzMsb3Nkbzo0MDEsb3Nkb2Y6NDAyLG9zZG9zOjM5OSxvc29yOjM5NixvdmQyczo0MjYsb3Zmc19yOjQwOCxvdmZzX3JwOjQxMCxvdmlzcjo0MDYsb3ZyMnM6NDEzLG92cnAyczo0MjgscGFjOjI4OSxwYXJpOjUxNyxwYXQ6MjkwLHBiMF9zOjYxMSxwYl9ycV9hdXRoejo0NDYscGJfcnFfY3R0X2NmbTo0NDcscGJjX2U6NjYzLHBiY19zOjY2MixwYmZfYzo5MixwYnA6NDg2LHBicmVzdW1lOjI5MixwYnM6NDg3LHBidToyOTMscGM6NDg4LHBjYzo1NDYscGNlOjU0NyxwY3E6NTQ0LHBjcjo1NDUscGN1X2FwOjgwOSxwY3VfY2U6NTgxLHBjdV9jczo1ODAscGN1X3JlOjgwOCxwY3VfcnM6ODA3LApwY3Vfczo4MDUscGN1X3NlOjgwNixwZGE6Mjk0LHBkYzoyOTUscGRyOjI5NixwZToyOTcscGVtX3I6NDQ0LHBlbV9ycTo0NDUscGZqZTozMDkscGZycjozMDUscGZyczozMDYscGZzOjMwNyxwZnQ6MzA4LHBmdF9pOjkzLHBsX2M6MjkxLHBsX2k6NDg5LHBsX2ludDo0OTAscGxfcjo0OTEscGxfcmM6NzAzLHBsX3M6NDkyLHBsX3NzOjQ5MyxwbGV2OjMxMCxwbGpzX3I6NDQ4LHBsanNfcnE6NDQ5LHBsdnM6NzIzLHBvdF9hZjo5Nyxwb3RfYXM6OTYscG90X2NtZTo1NjkscG90X2NtZjoyOTkscG90X2NtczoyOTgscG90X2NzbWU6NTcwLHBvdF9jc21mOjMwMSxwb3RfY3NtczozMDAscG90X2lmOjMwNCxwb3RfaW5pdGY6OTUscG90X2lzYzozMDIscG90X2lzdDozMDMscG90X3NlOjU2NSxwb3Rfc2Y6NTY0LHBvdF9zczo1NjMscG90X3hlOjU2OCxwb3RfeGY6NTY3LHBvdF94czo1NjYscG90cGU6OTQscHB1Ojk4LHByb2Nfazo2MTMscHJvY19rX2w6NjE0LHBzOjMxMSxwc19iczo2NDcscHNfYzo0OTQsCnBzX2VzOjk5LHBzX3BhOjY4MSxwc19waWhmOjU5Nyxwc19waWhzOjU5Nixwc19yOjM2MCxwc19zOjM2MSxwc19zZ2Y6NTk1LHBzX3Nnczo1OTQscHNucjo0OTUscHNuczo0OTYscHNwZToxMDAscHNwczoxMDEscHRfbWU6ODE1LHB0X21mOjgxNCxwdF9tczo4MTMscHRfcGllOjgxMixwdF9waWY6ODExLHB0X3Bpczo4MTAscHRfcGlzaDo2MDYscHZyaTo1MTgscHdjOjMxMixxb2VzOjMxMyxyX2Nfc2xkOjQ1MCxyX2Nfc3JxOjQ1MSxyX2Nvbm5lY3RfYmFja2VuZDo0NTIscl9jb25uZWN0X2JhY2tlbmRfc3VjY2Vzczo0NTMscl9jb25uZWN0ZWQ6NDU0LHJfY29uc3RydWN0aW9uOjQ1NSxyX2Rpc2Nvbm5lY3RlZDo0NTYscl9lYmk6NjY0LHJfZW9kOjU4NSxyX2Y6NDU3LHJfb3I6NzEzLHJfcGw6MTA1LHJfcHM6MTA2LHJfcnFfcGx5OjQ1OCxyX3NfcGx5bHN0OjQ1OSxyX3NfdmlkOjQ2MCxyX3N0YXR1c191cGRhdGU6NDYxLHJfdHI6MTA3LHJfdnRjOjEwNCxyX3dpcGJjOjU4NCxyX3ducjo3OTIsCnJfd25zOjc5MSxyX3dycjoxMDMscl93cnM6MTAyLHJfd3NycDo2MDkscl93c3JyOjYwOCxyX3dzcnM6NjA3LHJjdl86MzE0LHJlbW92ZV9zcGxhc2g6NDYyLHJlcV86MzE1LHJmZzozMTYscmdyX25yZjo2MDAscmdyX3M6NTk5LHJwZTo4MTYscnBseV9ycWQ6NDYzLHJwczo4MTcscnNfczo1MDgscnNhZV9wYzozMzIscnNhZV9wZWo6MzM0LHJzYWVfcGo6MzMzLHJzYmVfcGM6MzIzLHJzYmVfcGVqOjMyNSxyc2JlX3BqOjMyNCxyc2VfcGM6MzIwLHJzZV9wZWo6MzIyLHJzZV9wajozMjEscnNlZl9wYzozMjkscnNlZl9wZWo6MzMxLHJzZWZfcGo6MzMwLHJzZXNfcGM6MzI2LHJzZXNfcGVqOjMyOCxyc2VzX3BqOjMyNyxyc2ZfcGM6MzE3LHJzZl9wZWo6MzE5LHJzZl9wajozMTgscnRpbWVfOjMzNSxydXJsX2U6MTA4LHJ1cmxfcjoxMDkscnVybF9zOjExMCxydXJscGU6MTExLHJ1cmxwczoxMTIsczN0X3I6NDcyLHNhX2Y6NjI0LHNhX2ZvOjYyNSxzYV9zOjYyMyxzYWZfZnA6NjY1LHNhZl9yOjY2NiwKc2FmX3JlOjY2NyxzYXNfaTo2MjYsc2NnYXRfZmZzOjU2MCxzY2dhdF9mczo1NTksc2RhX2Y6NjA1LHNkYV9pOjYwNCxzZGFfcmVjcDo2MDEsc2RhX3JzcHA6NjAzLHNkYV9yc3ByOjYwMixzZGxfZTo2NTUsc2RsX3M6NjU0LHNkbF90OjY1NixzZl9pOjExMyxzZ3NjX3I6NzgxLHNnc2Nfczo3ODAsc2hvd19jYWxsX3RvX2Nhc3Q6NDY0LHNocmJfYzoxNjUsc2hyb19jOjE3MCxzaHJvX3I6MTY3LHNocnBfYzoxNjksc2hycF9sZDoxNjYsc2hycF9wOjE2OCxzb19yOjExOSxzb19yZToxMTgsc29fcnE6MTIwLHNwYToxMTQsc3BkOjExNSxzcGY6MTE2LHNwbnJfaDo2NzIsc3Bucl9zOjY3MSxzcHI6Njc4LHNyX2U6MTE3LHNyX3A6MTIxLHNyX3BhOjEyMixzcl9yOjEyMyxzcl9yZToxMjQsc3JfczoxMjUsc3JfdWk6MTI2LHNydDozMzYsc3Nfcjo0Njksc3Nfczo0Njgsc3Nfc2Zfczo3MjQsc3Nfc2Zfdzo3MjUsc3NucjoxMjcsc3NuczoxMjgsc3RjcF86MzM3LHN0ZV9hbGY6NTg5LHN0ZV9jOjU5MiwKc3RlX2VsZjo1OTAsc3RlX2Y6NTkxLHN0ZV9mdGw6NTg4LHN0ZV9sOjU4NyxzdHRzX2I6NTgyLHN0dHNfZjo1ODMsc3R2c19mOjY5MSxzdHZzX3M6NjkwLHN2ZTo0NjYsc3ZzOjQ2NSxzd19mYjo1MTAsc3dfaTo3ODMsc3dfcjo0OTcsc3dfczo0OTgsc3dzbnI6ODE5LHN3c25zOjgxOCxzd3NwZTo4MjEsc3dzcHM6ODIwLHRjcF86MzM4LHRlbnhfbDo0NzEsdGVueF9yOjQ3MCx0aDBfaDo2MTAsdGgwX25jOjY3NSx0aDBfbmU6Njc2LHRoMF9ucjoxMjksdGgwX25zOjY3NCx0aF9jXzE6NzA5LHRoX2RfMTo3MTAsdGhfbF8xOjEzMCx0aF9zXzE6NTc4LHRoc2IwX2ZyOjEzNCx0aHNiMF9uZToxMzEsdGhzYjBfbnI6MTMyLHRoc2IwX25zOjEzMyx0dGM6MzM5LHR0Y3I6MzQwLHVpX2w6MTM1LHVpYmZfYzoxNDEsdWliZl9yOjE0Myx1aWJmX3M6MTQyLHVpc2ZfcjoxNDQsdWl3d2FfYmM6NjE5LHVpd3dhX2M6MTM2LHVpd3dhX2U6MTQwLHVpd3dhX3ByOjEzOSx1aXd3YV9yOjEzOCx1aXd3YV9zOjEzNywKdWxyc19jOjM3MCx1bHJzX3M6MzY5LHVua25vd246MCx1cjozNDEsdmM6NjgyLHZjYzo1MTksdmNpOjUyMCx2ZGE6MzQyLHZkZXVjOjM0Myx2ZGV1cjozNDQsdmRldXM6MzQ1LHZkbnM6MzQ2LHZmYjo1MjEsdmZwOjM0Nyx2aGI6NTIyLHZpcjozNDgsdmlyYzozNDksdmlzX2E6NTAwLHZpc19yOjQ5OSx2aXNmOjE0NSx2aXNpOjE0Nix2aXNyOjE0Nyx2aXNzOjE0OCx2b3pfY3g6MTc5LHZvel9lb3U6MTg3LHZvel9lcnI6MTg0LHZvel9lcnJfbXM6MTgwLHZvel9lcnJfbm1wOjE4MSx2b3pfZXJyX29mZjoxODMsdm96X2Vycl91YXI6MTgyLHZvel9mdHI6MTg4LHZvel9mdmM6MTg5LHZvel9scl9sc286MTg1LHZvel9scl9tZDoxODYsdm96X21mOjE3Mix2b3pfbXM6MTcxLHZvel9ycWY6MTc0LHZvel9ycXM6MTczLHZvel9zZjoxNzgsdm96X3NzOjE3Nyx2b3pfdnA6MTc1LHZvel92dDoxNzYsdnBsOjM1MCx2cjozNTEsdnIxMDBrOjE0OSx2cmJfZjo1MDEsdnJjOjM1Mix2cmVxOjM1Myx2cmZiOjE1MCwKdnJpOjksdnJyOjM1NCx2cnJfcjo0NzQsdnJyX3M6NDczLHZycmg6MTUxLHZzaXNmYjoxNTIsdnNpc3I6MTUzLHZzaXNyaDoxNTQsdnNpc3M6MTU1LHZ0YTozNTUsdnRycjo1MjMsdnRyczo1MjQsd19zdDoxNTYsd2FzbV9mYTo4MjYsd2FzbV9mZXJyOjgyNyx3YXNtX2Z3OjgyNSx3YXNtX3M6ODI0LHdjOjM3Mix3Y3I6MzU2LHdlYmZlX2U6NzI4LHdlYmZlX2dibV9yOjc1OCx3ZWJmZV9nYm1fczo3NTcsd2ViZmVfZ2xfcjo3NjIsd2ViZmVfZ2xfczo3NjEsd2ViZmVfZ3Nfcjo3NjAsd2ViZmVfZ3Nfczo3NTksd2ViZmVfZ3VzX3I6NzMwLHdlYmZlX2d1c19zOjcyOSx3ZWJmZV9ndm1fczo3NjMsd2ViZmVfczo3Mjcsd2ZmZTozNTcsd2ZmczozNTgsd2ZnOjM1OSx3bl9lOjE2Mix3bl9sOjM3MSx3bl9yOjE1OSx3bl9ycDo0Nzgsd25fczoxNjAsd25fc2w6MTYxLHdubDoxNTgsd25sX2Q6ODIzLHdubF9tcDo1NzEsd25sX3BkOjgyMix3bmxyOjU3Mix3bmxzOjE1Nyx3bnBlOjE2Myx3bnBzOjE2NCwKd3A6NDc5LHdzX2NlOjE5MCx3c19zczoxOTEsd3Nfc3NyOjE5Mix5Y2VjOjU0OSx5Y2VmOjU0OCx5Y2Z0cjo2NDUseWNpZjo1NTAseWNtc2Y6NjQ0LHljcmM6NzE4LHljcmY6NzE3LHljcnM6NzE0LHljcnNjOjcxNSx5Y3J1ZWE6NzE2fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsXy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fSk7dmFyIGJxPV8udS55dExvZ2dpbmdMYXRlbmN5VXNhZ2VTdGF0c198fHt9O18ucmEoInl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzXyIsYnEpOwp2YXIgJHA9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9MH10aWNrKGEsYixjLGQpe2NxKHRoaXMsYHRpY2tfJHthfV8ke2J9YCl8fChjPXt0aW1lc3RhbXA6YyxjdHRBdXRoSW5mbzpkfSxiPXt0aWNrTmFtZTphLGNsaWVudEFjdGlvbk5vbmNlOmJ9LF8ueCgieW91dHViZV93ZWJfY3NpX3RpY2tzX21pZ3JhdGlvbiIpJiYoYT1ac1thXSxhIT09dm9pZCAwJiYoYi50aWNrPWEsZGVsZXRlIGIudGlja05hbWUpKSxfLkVwKCJsYXRlbmN5QWN0aW9uVGlja2VkIixiLGMpKX1pbmZvKGEsYixjKXt2YXIgZD1PYmplY3Qua2V5cyhhKS5qb2luKCIiKTtjcSh0aGlzLGBpbmZvXyR7ZH1fJHtifWApfHwoYT1PYmplY3QuYXNzaWduKHt9LGEpLGEuY2xpZW50QWN0aW9uTm9uY2U9YixfLkVwKCJsYXRlbmN5QWN0aW9uSW5mbyIsYSx7Y3R0QXV0aEluZm86Y30pKX1qc3BiSW5mbygpe31zcGFuKGEsYixjLGQpe3ZhciBlPU9iamVjdC5rZXlzKGEpLmpvaW4oIiIpO2lmKGR8fCFjcSh0aGlzLGBzcGFuXyR7ZX1fJHtifWApKWEuY2xpZW50QWN0aW9uTm9uY2U9CmIsXy5FcCgibGF0ZW5jeUFjdGlvblNwYW4iLGEse2N0dEF1dGhJbmZvOmN9KX19O3ZhciAkcyxhdDskcz13aW5kb3c7YXQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnRpbWluZz17fTt0aGlzLmNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1zQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9O3RoaXMub0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fX19O18uc3E9JHMucGVyZm9ybWFuY2V8fCRzLm1velBlcmZvcm1hbmNlfHwkcy5tc1BlcmZvcm1hbmNlfHwkcy53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IGF0O3ZhciBscT1fLkZuKCk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Um9vdFZlVHlwZSIsXy5ncSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3VycmVudENzbiIsXy5pcSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3R0QXV0aEluZm8iLF8ua3EpO18ucmEoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLF8ubXEpO3ZhciB3cSxycTt3cT0hMTtycT0hMTtfLmJ0PSgwLF8uQ2EpKF8uc3EuY2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3Eud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubW96Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubXNDbGVhclJlc291cmNlVGltaW5nc3x8Xy5zcS5vQ2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uZ2QsXy5zcSk7dmFyIGR0OwpfLmN0PV8uVmkoZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7aWYoIV8ueCgid2ViX2NzaV9hY3Rpb25fc2FtcGxpbmdfZW5hYmxlZCIpfHwhXy5rbyhmKS5hY3Rpb25EaXNhYmxlZCl7dmFyIGs9aD8uc3BhblN0YXR1cyxsPWg/LnJvb3RTcGFuTm9uY2U7bGV0IG09Xy5ubyhmKTttLmdlbFNwYW5zP20uZ2VsU3BhbnNbYV09ITA6bS5nZWxTcGFucz17W2FdOiEwfTtYcysrO2E9e3NwYW5OYW1lOmEsc3Bhbkxlbmd0aFVzZWM6U3RyaW5nKE1hdGgucm91bmQoYioxRTMpKSxzcGFuTm9uY2U6WHMscm9vdFNwYW5Ob25jZTpsfHxYc307ayYmKGEuc3BhblN0YXR1cz1rKTtkJiYoYS5zcGFuSW5mbz1kKTtlJiYoYS5wYXJlbnRTcGFuTm9uY2U9ZSk7YyYmKGEuc3BhblN0YXJ0VGltZVVzZWM9U3RyaW5nKE1hdGgucm91bmQoYyoxRTMpKSk7Yz1hO18udW8oZnx8IiIpLnNwYW5bU3RyaW5nKGMuc3Bhbk5hbWUpXT1jO2Q9Xy5ubyhmKTtkLmdlbFNwYW5zfHwoZC5nZWxTcGFucz17fSk7Xy55bihkLmdlbFNwYW5zLGMpOwpkPV8ucG8oZik7Zj1fLmtvKGYpLmN0dEF1dGhJbmZvO2FxKCkuc3BhbihjLGQsZixoPy5xdSk7cmV0dXJuIGMuc3Bhbk5vbmNlfX0pO2R0PXdpbmRvdztkdC55dGNzaSYmKGR0Lnl0Y3NpLmluZm9HZWw9Xy56cSxkdC55dGNzaS50aWNrPV8uQXEpO3ZhciBldDtldD1uZXcgXy5jcztfLmZ0PWV0LnByb21pc2U7KGZ1bmN0aW9uKGEpe18uQXEoIm1tX2lzIik7dmFyIGI9bmV3ICRyO18uVWQoYik7Xy54KCJ3ZWJfZW5hYmxlX2xhenlfY3NzIikmJihuZXcgUHIpLmluaXQoKTtiLmVuKCgpPT57ZmgoKTtfLkFxKCJtbV9pZSIpO2E/LigpfSk7Yi5abihRZy5FUlJPUiwoYyxkLGUpPT57Xy5VaShFcnJvcigiSGFgIitkKyJgIitlKSl9KX0pKCgpPT57ZXQucmVzb2x2ZSgpfSk7Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZT1mdW5jdGlvbihhLGIpe2lmKCFfLlFkKXtpZighXy5UZClyZXR1cm47Xy5VZChfLlRkKCkpfV8uUWQuVGgoYSxiKX07Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZSgncm9vdC9zeTAvbjczcXdmOjEvc3kxL3N5MjozL2l1VDVPYzo0L3N5My9VVUpxVmU6MSw2L3N5NS9zeTQ6OC9NcEp3WmM6MSw2LDkvc3k2L3N5Nzo4L3N5ODpjL3N5Yy9zeWc6YixlL3N5aDpmL3N5YS9zeTFmL3N5M2M6aS9zeTNxOmkvc3k1YS9zeTU2L3N5NTgvc3k1YjpqLGssbCxtLG4vc3k1OTpqLG0sbi9zeTNkL3N5OTozLGMsZyxoL3N5ay9zeTU3L3N5YjpzL3N5ZDo4LGUvc3k1YzpqLGwsbSxuL3N5NWU6ayxxLHcvc3llL3N5Zi9zeWkvc3lqL3N5bC9zeW0vc3kxaC9zeTFlL3N5MWw6MTUvc3kzODoxNCwxNi9zeXA6MSw5LGMvc3l1OmMvc3lzOmQsMTgsMTkvc3kxaS9zeTJkL3N5Mms6MWEvc3kyajoxZC9zeTJ3OjFhL3N5MTkvc3kxcC9zeTIxL3N5Mm0vc3kybjoxai9zeTFiL3N5MXovc3kydS9zeTFrOmMsdiwxaCwxaSwxaywxbCwxbSwxbi9zeTJsL3N5MXU6MWcsMW4vc3kzMS9zeXY6Yy9zeTEwOjE4L3N5ejoxdC9zeXk6MWEvc3kzNjpjL3N5M2Y6Yy9zeTFtOmIsMWYsMXEsMXIsMXMsMXUsMXYsMXcsMXgvc3kyci9zeTNlL3N5M2E6aC9zeTEyOjFhL3N5M2c6MXUvc3kzaDoxOS9zeTFxOmcsaixxLDFvLDFwLDF5LDF6LDIwLDIxLDIyLDIzLDI0L3N5M2k6MXovc3kzbToxZS9zeTQzOjFlL3N5NDQ6MWUvc3k0ZjoxZS9zeTQ3OjFlL3N5NGc6MWUvc3k0aC9zeTRpOjE5L3N5eDoxYS9zeXQ6MWEvc3lyOjJnL3N5MTg6MWQsMXMsMmYsMmgvc3kyby9zeTMyL3N5M2I6MTksMW8sMXUvc3l3OjE4L3N5MTc6MjEsMm0vc3kzay9zeTFuOjFvLDFzLDJoLDJuLDJvL3N5M2o6MXcsMmssMmwsMnAvc3kxdi9zeTF5L3N5MnM6MTYvc3kyei9zeTFkL3N5M3Q6MTkvc3k0ajpqLGsscSwxZiwxdSwxdywxeCwyaywydi9zeTRkOmMsMWIvc3k0azoxOCwxcy9zeTQxOmMvc3k0MjoxOSwzMC9zeTJjOjExLDI1LDI2LDI3LDI4LDI5LDJhLDJiLDJjLDJkLDJlLDJpLDJqLDJxLDJyLDJzLDJ0LDJ1LDJ3LDJ4LDJ5LDJ6LDMxL3N5MWo6MTYvc3kyNDozMy9zeTRsOjE5LDMwL3N5MjM6MW8vc3kyNS9zeTJpOjE5LDM3L3N5NDYvc3k0cTozMiwzNiwzOCwzOS9zeW46MTcsMWMsMzQsMzUsM2Evc3kzMy9zeTJ2OjE4L3N5MWE6ayxtLHQsdSwyNSwyZiwybCwzYywzZC9zeTRuL3N5NG86M2Yvc3kzeC9zeTN6L3N5NHA6aixrLDFhLDFzLDF1LDF3LDF4LDNnLDNoLDNpL3N5Mjkvc3kzbDoxZS9zeTFvOjFtL3N5Mmg6M20vc3kxNDoxdCwyMi9zeTJmOmosayxxLDFzLDF3LDF4LDIzLDNvL3N5Mmcvc3kzcy9zeTQwOjFvL3N5M3Ivc3kzdS9zeTN2L3N5MWcvc3kzcC9zeTN3OmIsaiwxYSwxcywxdywxeCwyMywzaCwzdi9zeTN5OjFlL3N5M286MjUsMmksMmwsMncsM2ksM3AsM3IsM3QsM3UsM3csM3gsM3ksM3ovc3kxcjoyaywycywydCwzMSwzbiwzcSwzcyw0MC9zeTRzL3N5MnEvc3kyeS9zeTJ0OjFuLDNkL3N5NHUvc3k0dDoxZS9zeTI3OjFiLDF2LDF3LDNxLDQ2LDQ3L3N5MnA6MWUvc3kzbjoxZS9zeTQ1OjFlL3N5MjYvc3k0ODoxZS9zeTQ5OjFlL3N5NGEvc3k0Yjo0Zi9zeTRjOjNvLDRnL3N5Mjg6MjUsMjYsMjcsMmIsMmksMnAsMncsMnksNGMsNGQsNGUsNGgvc3k0ZToxZS9zeTJhOmssMjgsMnYsMzgsMzksNGEsNGIsNGksNGovc3kxdC9zeTRtOjE2L3N5MmI6MzIsMzUsMzgsMzksM28sNGwsNG0vc3kyZTozayw0MS9zeTIyL3N5MzAvc3k1MjoxOSwxcywyMy9zeTU0OjFhL3N5Mzcvc3kyMDoxaS9zeTM1OjFzLDF1LDF3LDJnL3N5MzQ6aywxbiwxeiwydCwzYyw0dCw0dSw0di9zeTE1OjF1L3N5cTp3LDEwLDNiLDNlLDNqLDNsLDQyLDQzLDQ0LDQ1LDQ4LDQ5LDRrLDRuLDRvLDRwLDRxLDRyLDRzLDR3LDR4L3N5NHcvc3lvOm8scCxyLDR5LDR6L3N5MTE6ZCwxOC9zeTEzOjF1LDIyLDUxL3N5MTY6Mm0vc3kxdy9zeTUxOjFmLDNwLDQ2LDRyLDR2L3N5Mngvc3kxeDo0eSw1NCw1NSw1Ni9zeTR2OmosayxxLDFhLDF3LDIzLDNyLDQ1LDR6L3N5Mzkvc3kxczo0cS9zeTR6OjFlL3N5NWQ6MWUvc3k1MDpqLHEsMXksMjgsMmEsMmIsMmksMmwsM28sNWEsNWIsNWMvc3k0cjoxZS9zeTR4OmssMW4sMXosNHYvc3k0eTpzLDJ1LDNjL3N5NTMvc3k1NToxOCwxcy9zeTFjOjQseCx5LDUwLDUyLDUzLDU3LDU4LDU5LDVkLDVlLDVmLDVnLDVoLDVpL3N5NWYvc3k1Zy9zeTVpL3N5NWsvc3k1bC9zeTVtL3N5NW4vc3k1bzoxOC9zeTVqL3N5NWg6NCx6LDUwLDU4LDVhLDVoLDVtLDVuLDVvLDVwLDVxLDVyLDVzL3N5NXA6NWosNXQvYmFzZTpkLHIsdSx2LHkseiwxMCwxMSwxMiwxMy9zeTVxL3N5NXIvc3k1czpjLGgvc3k1dDoybSwzbiwzbyw0eC9zeTdkL3N5NXU6MWwsMm8sNXIsNjAvc3k3cS9zeTZ0L3N5ODU6MTYvc3k4NDpqLDFyLDF3LDIzLDI4LDJpLDM1LDN0LDUzLDVpLDYzLDY0L3N5NXY6MTMsNTEsNjIsNjUvc3k2Yy9zeTZzOjQxL3N5ODY6MzUsNjQsNjgvc3k3bDpqLGsscSwxZSwxZiwxdSwxdywzbywzdSwzdi9zeTY3L3N5NXc6MzIsMzgsNDUsNXosNjYsNjcsNjksNmEsNmIvc3k1eC9zeTdlOjNkLDNtLDYwL3N5OHM6NmUvc3k5czoxZS9zeTV5OmYsaiwxaywxdywyMiwyMyw1YSw1biw2Ziw2Zy9zeTdyOjE0LDR0L3N5NmI6MnQsMzMvc3k1ejozNSwzZiwzayw0MSw0cCw2aSw2ai9zeTd6OjFlL3N5NjI6aC9zeThuOjFvLDFzL3N5NjA6MWIsMmQsMm4sNDEsNDYsNDcsNmwsNm0sNm4vc3k4bTpqLHEsMWcsMXcsMXgsMjMsNm4vc3k4bzoxNi9zeTc3L3N5Nnc6aiwxciwxdywyOCwyYSwyYywyaSwzayw1Yiw2ci9zeTdpL3N5OGwvc3k2MTp6LDEyLDJwLDJyLDM1LDNkLDQxLDR1LDU5LDVpLDV5LDV6LDYxLDZtLDZwLDZxLDZzLDZ0LDZ1L3N5NjM6MjUsMmksNGUvc3k2NDprLDI1LDI3LDJkLDJpLDJxLDRnL3N5NmQvc3k2OToxbiw0Ziw2Mi9zeTY4OjFlLDZ6L3N5N3Avc3k4YS9zeThjOjFlL3N5NjU6MWIsMjksMnAsM2csNmssNnUsNnksNzAsNzEsNzIsNzMvc3k2ei9zeTY2OjFjLDJrLDJyLDM1LDNzLDQwLDR3LDVmLDVnLDVuLDVvLDV6LDZmLDZqLDc1L3N5N286aixrLDFhLDFxLDF3LDF4LDF6LDNnL3N5Nmsvc3k2YTo1Nyw2eiw3MSw3Nyw3OC9zeThrOjFlL3N5OGY6MWUvc3k2ZToxNSwxdywyaSwzMCwzbyw0OSw0YSw0aiw0eiw3YSw3Yi9zeTZmOjFvLDFzLDF3LDI4LDJhLDJ1LDM1LDNrLDNyLDV6LDZlLDZxLDZyL3N5N2o6YywxaCwxaiwzNy9zeTdrOjFvLDM4LDM5LDZhL3N5Nmc6MWMsM2EsNDQsNGwsNW8sNXAsNjEsNjcsNzgsN2UsN2Yvc3k2aDozZSw0Miw0cSw2Myw2OC9zeTZpOmoscSwxNiwxOCwxdywzNS9zeTZyL3N5Nmo6MjUsMjcsMmksM28sN2UsN2ovc3k2bDoxNywyMywyOCwyaywydCwzMSwzayw1cS9zeThiOjJkL3N5ODA6MmQsN2ovc3k2eToxYiwyNSwyNywyaSwycCw0Yyw2MSw3Myw3bSw3bi9zeTZ4OjJiLDJlLDJ3LDRoLDVoLDcyLDdvL3N5Nm06MmEsNDEsN3Avc3k3eDoxZS9zeTd5OjJpLDdyL3N5OHI6MWIsMWcsMXUsMXcsMnAsM3MsNGMsNmwsN24sN3Mvc3k2bjoyYyw0MSw0dSw1OSw3NSw3byw3dC9zeThoOjFlL3N5Nm86MmksN2UsN3Yvc3k2cDoxaywxeiwzNSwzbyw0bSw0diw1bS9zeTZxOmssMjUsMjgsMmkvc3k2dS9zeTZ2OmosMTgsMXcvc3k3My9zeTcwOjFxLDFzLDF3LDJzLDJ0LDMxLDQ2LDQ3LDVnLDgxL3N5NzEvc3k4OToxZS9zeTcyOmosaywxeSwyaSwzMSwzZywzbyw1Niw1aSw2aSw3ciw4NC9zeTc0OjF3LDI4LDJpLDNyL3N5NzU6aixrLHEsMWEsMXcsM2csM3Qvc3k3NjoyNSwyaSw3My9zeTc4OmoscSwxNiwxbywxdSwxdywyYSwyaSwzNSwzbyw2ci9zeTc5OjJpLDdlLDdmL3N5ODI6MWUvc3k4MzoxZS9zeTdhOjFwLDF4LDIwLDJiLDJqLDJ3LDN4LDRhLDRiLDRkLDVoLDV3LDV5LDY2LDZ0LDcwLDcyLDdhLDd2LDhiLDhjL3N5N2I6NmYsN28sN3osOGMvc3k3YzpxLDFrLDF3LDF4LDJmLDMxLDZkLDZnLDZqL3N5N2Y6NDEsN2wvc3k3Zzo0MS9zeTdoOmosMXksMXovc3k3bToyNSwyNiwyaS9zeTduOmoscSwxOCwxdywxei9zeTdzL3N5N3U6MjAvc3k3dDoyNSwzbyw1aCw4bCw4bS9zeTd2OjFiLDFlLDI1LDJwLDhsL3N5N3c6MW8sNmwsN24sN3Mvc3k4MToyNSwyaSw0aCw4Yiw4Yy9zeTg3OmosMXksMXosMjAsNWgvc3k4ODo3Nyw4NS9zeThkOjExLDJyLDM0LDM1LDQxL3N5OGU6MmksMzgsN2IsN2Uvc3k4ZzoxZSwyNSwydy9zeThpOjFjLDMyLDNvLDdlL3N5OGo6MzgsNDEsN2Uvc3k4cToyNSwyYiwyaSwycCw4Yy9zeThwOjQxLDZ1LDZ6LDdwLDd0LDh5L3N5OHQ6NG8sN2Uvc3k4dToxYiwyNSwyNiw0Mi9zeTh2OjF5L3N5OHg6MWUvc3k4dzpqLHEsMXcsMmksM2csOTMvc3k4eTprLDFiLDI1LDJwLDYxLDgzL3N5OHo6aiwxdywyYSwyaSwzdCw4My9zeTkwOjF3LDJpLDNnLDgxLDkzL3N5OTE6aixxLDFiLDF5LDJlL3N5OTI6aywxYiwxeSwyMywyNiwycCw3ciw3eiw4NCw4Ni9zeTkzOjExLDJvLDJ0LDQwLDhkL3N5OTQ6aixrLHEsMWYsMXYsMXcsMXgsMjMsMnosNjEvc3k5NToyNSw0Miw4bS9zeTk2OmosayxxLDFlLDFvLDF5LDMxLDR1LDU5LDYxL3N5OTc6aixrLDF6LDNvLDR2LDVnL3N5OTg6MXcsMmEsMzUsNG0sNTQsNnIvc3k5OToxdywyNCwyYSwydywzNSwzdywzeCw0bSw1NCw2ci9zeTlhOmosaywxdSwxdywzNi9zeTliOmosayxxLDF5LDIzLDJ6LDN0LDQzLDZ5LDdtL3N5OWM6MjUsMjYsMjcsMmIsN3Qvc3k5ZDo3by9zeTllOjFvLDFzLDF3LDIzLDRzLDZiL3N5OWY6aywyNSw3dC9zeTlnOmssMjUsMzEsM2wsM3IsNHUsNTksNWQvc3k5aDoyNSwyNywyaS9zeTlpOmssMTEsMjUsMjgsMmksM3IsNGYsNXkvc3k5ajpqLGsscSwxeSwybCwyciwzMSw0dSw1OS9zeTlrOjI3LDQxL3N5OWw6MXcsMjgsMmksMzEsM3IsNHUsNTkvc3k5bTprLDI1LDJsLDMxLDR1LDU5L3N5OW46MjUvc3k5bzprLDI1LDJ0LDMxLDM1LDNpLDNvLDN6LDR1LDU5L3N5OXA6MjUsMm8sMzEsNHUsNTkvc3k5cToyNSwyNyw3dCw4Yy9zeTlyOmssMjUsMmYsMmwsM2wsNXMsNmcvc3k5dDoyaSw1Yy9zeTl1OnMsMXMsMXcsMjMsMnUsM2MsNTIsNmQvc3k5djozNSwzayw0MSw2ai9zeTl3OjQwL3N5OXg6aixxLDE4LDF3LDM1LDRtLDU0L2Jhc2Vfc3luY19tb2RfY2h1bms6NXYvcjlLTWpiOjhqL1ZjR1M4OjhrL3pDa0tCYzoyeC9pNlhvbWU6OHYvbk81ZFRkOjd4L090S1NKZTozai9udlg0VmI6M3kvRGx2RjFkOjQxLGFiL2Y5MHRDYjo3bC9WYlhyVWU6OGcsYWMsYWQvcEVTbERiOjhpL0ttQmZjYzo5NS9TVTN1aTo5aS9SYXE0Y2I6OHAvakJpc2FmOjU1L1B6VWRaYjo0OC9xVExkUTo4bi9XcWxjVmI6OG8vUUhBdGVmOjh0LGFjL1VBOEdTZTo4eCxhYy9MVmlNTTo3NixhYi9wZXZ0dmM6OWYvaXpqbVA6OWcvamd4OG1lOmExLGFjL3VobExHYjo2cy9GcUhjR2U6OWIvY3lDVmxkOjRpL29QcDVMZTo4Mi9BNG9BVmU6OTcvT3NtNDljOjg2L1BEdjZNZTo5OSxheS9vc1R0eGU6OHEvcVZEZ0JkOjhyL0hEbVUxZTo3dC9MSFA3SmQ6N28vVHUzTUI6N3AsYjMvRnNvWHpjOjdxLGFjLGI0L2lhaTJpYzo5Mi90UGdZemQ6ODcvYTY2TGZlOjk0L0lXcFVyZjo4OC9kSGNvSWY6OTYvb1hCV0hmOjk4L0lUdUNVYjo2cC9OcjBrZmU6ODUvYWNGdVZjOjhzLGJkL21tMk4wYzo5aC9oYjBXbWY6N2QvaE5lbHZkOmEzL3I1Q09IZjo3aS9aUUt4MToycS9wZTJvamI6MzIsYTcsYmovaGFvdU9lOjg5L2pKZkNvZDphMixhYi93U240YWM6NnYsYWMsYXQsYmMvaGExSWk6OHkvT003eG9iOjh6LGFjLGIyLGI0LGJvL0ZpTkdPYzo2ayxhYy9Xc2lNaWM6Nm8sYWMvVUFNNW06NzQsYnEvRDlXTWQ6NncveTlub09iOjZ4LGJqL1cwZ1NLYjo2OSxhYy9Id2xPaGQ6NjUvaGpyTm46ODAvdkRjazFkOjRuLGJrL0h4amxiYjozYixiay9uMERIZzo3eS9uQnZCeWQ6OWosYjIvZURVRG9jOjlrLGIzL1ZPVVA5ZDo4ZCxidy9iemowamQ6OWEsYWIsYzMvdVJJYUM6OW0sYjIvY2dTRW9iOjljL1hlUlhCZDo5ZC9zNjQ5ajo5cS91U3hkbmI6OXMvV2ZmNkJkOjd1LGFjLGIyLGIzL1UzbXpzZDo5dC95UDBKQmQ6OXUvUnFhSnNkOjl2L0UzSGViYzo5dy9wMXZFU2Q6YTAvQVQ4TFRlOjl5L3NET1RHZTo5bi9lY3VQQWM6NmgvTlFjMUlkOjhmL0ZRZElKZTo5ei9ibFpaWGU6OGgsYWMvZ0FPWXg6NmEvSU5jMUVmOjdnLGJrLGNtL2xQV2prYjo0byxhYy9vakdUNmQ6OHUvZDJMVHhiOjRrLGF2L0haNDFPZDo4dyxiay9lM1V0Vzo4ZSxiMy9hVTFHVGI6OTAsY28vSWJ4eE9lOjkxL3ZpVVdWOjU4L0R2WkM5OjlsL2ZBemRUOjZjLGJrLGJ2LGJ3LGNtL2ZnbEpOYjo4YSxjbS9pbFFTQWY6OW8vVWtadVdiOjlyLGFjL2w4YUtEYjo3ay9jbnE1UWI6OXgsYjIvbjlESkJmOjd3L2ZLRThxZDo3Yy9uN2VvMjo5cC9SWmVrSjo5ZS9RbWtNRTo3aCxhYy9OdWlsdWU6NzksYWEsYWosYWssYnksYnosY28sY3EvbWVIOUViOjUsNXQsYWEsYWssYnksYnosY28sY3EsY3YveUVmTkZiOjVqLGFqLGQ5L3I3OERyYjo1dSxhaixkOScsWydzeTEnLCdzeTUnLCdzeTYnLCdzeTcnLCdzeTgnLCdzeWMnLCdzeWcnLCdzeWgnLCdzeWEnLCdzeTknLCdzeWsnLCdzeWInLCdzeWQnLCdzeWUnLCdzeWYnLCdzeWknLCdzeWonLCdzeWwnLCdzeW0nLCdiYXNlJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUHQsUXQsVnQ7Xy5NdD1mdW5jdGlvbihhKXt2YXIgYj1fLmpmO2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyliLkFhKGFbY10pfTtfLk50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uamYuR2EoYSw0LGIpfTtfLk90PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe2MoYSl9KX07UHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn07UXQ9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9OwpfLlJ0PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpQdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiPV8uc2IoYSxiKT49MCk7cmV0dXJuIGJ9O18uU3Q9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighXy5SdChhLGIpKXtsZXQgYz1QdChhKTtRdChhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX07Xy5UdD1mdW5jdGlvbihhLGIpe2EuY2xhc3NMaXN0P2EuY2xhc3NMaXN0LnJlbW92ZShiKTpfLlJ0KGEsYikmJlF0KGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0OlB0KGEpLm1hdGNoKC9cUysvZyl8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbigiICIpKX07Cl8uVXQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLkNhKShhLmhhbmRsZUV2ZW50LGEpO2Vsc2UgdGhyb3cgRXJyb3IoIk9hIik7cmV0dXJuIE51bWJlcihiKT4yMTQ3NDgzNjQ3Py0xOl8udS5zZXRUaW1lb3V0KGEsYnx8MCl9O1Z0PWZ1bmN0aW9uKGEpe2Euaj1fLlV0KCgpPT57YS5qPW51bGw7YS5vJiYhYS5CJiYoYS5vPSExLFZ0KGEpKX0sYS5JKTt2YXIgYj1hLkQ7YS5EPW51bGw7YS5NLmFwcGx5KG51bGwsYil9O18uV3Q9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3RoaXMuTT1jIT1udWxsP2EuYmluZChjKTphO3RoaXMuST1iO3RoaXMuRD1udWxsO3RoaXMubz0hMTt0aGlzLkI9MDt0aGlzLmo9bnVsbH12KGEpe3RoaXMuRD1hcmd1bWVudHM7dGhpcy5qfHx0aGlzLkI/dGhpcy5vPSEwOlZ0KHRoaXMpfXN0b3AoKXt0aGlzLmomJihfLnUuY2xlYXJUaW1lb3V0KHRoaXMuaiksdGhpcy5qPW51bGwsdGhpcy5vPSExLHRoaXMuRD1udWxsKX1wYXVzZSgpe3RoaXMuQisrfXJlc3VtZSgpe3RoaXMuQi0tO3RoaXMuQnx8IXRoaXMub3x8dGhpcy5qfHwodGhpcy5vPSExLFZ0KHRoaXMpKX1sYSgpe3N1cGVyLmxhKCk7dGhpcy5zdG9wKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZQoqLwp2YXIgc3UscXUsb3UsdXUsbnUsenUsQXUsRHUsR3UsSHUsSXUsTnUsVHUsVnUsJHUsaXYsbXYscXYscnY7Xy5YdD1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH07Xy5ZdD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLGQ9Yy5yZXNvbHZlKF8uSW4oYSkpO2Q/KGIoZCksUHJvbWlzZS5yZXNvbHZlKGQpKTpjLnJlc29sdmUobmV3IF8uVXMoYSkpLnRoZW4oZT0+e2IoZSk7cmV0dXJuIGV9KX07Xy4kdD1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O18uWnQ9YTtyZXR1cm4gYn07Xy5idT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PV8uYXV8fGE/Lm5hbWU9PT0iXHUwMjc1Tm90Rm91bmQifTtfLmN1PWZ1bmN0aW9uKGEsYil7aWYoYT8uaWEpdGhyb3cgRXJyb3IoIlNhYCIrU3RyaW5nKGEuZGVidWdOYW1lKSk7Zm9yKDthIT09dm9pZCAwOyl7bGV0IGM9YTtpZihjLlJoKXJldHVybiBjLlJoKGIse29wdGlvbmFsOiEwfSk7YT1hLnBhcmVudH1yZXR1cm4gXy5hdX07Cl8uZHU9ZnVuY3Rpb24oYSl7cmV0dXJue2Rlc2NyaXB0aW9uOmEsQ2I6e016OiJyb290Iix0b2tlbjpTeW1ib2woYSksS3A6dm9pZCAwLHZhbHVlOnZvaWQgMH19fTtfLmV1PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYSYmYj9gJHthfV9fJHtifWA6YT8/Yj8/Y307Xy5ndT1mdW5jdGlvbihhLGIpe3JldHVybnsuLi5fLmR1KGI/PyIiKSxbXy5mdV06ITAsZGVidWdOYW1lOmI/PyJbY29udGV4dF0iLGRlZmF1bHRWYWx1ZTphPy5kZWZhdWx0VmFsdWUscmVxdWlyZWQ6IWF8fCFPYmplY3QuaGFzT3duKGEsImRlZmF1bHRWYWx1ZSIpLGlkOmIsT0s6dm9pZCAwfX07Xy5odT1mdW5jdGlvbihhLGIpe2I9Xy5jdShiLGEpO2lmKF8uYnUoYikpe2lmKGEucmVxdWlyZWQpdGhyb3cgRXJyb3IoImpiYCIrYS5kZWJ1Z05hbWUpO3JldHVybiBhLmRlZmF1bHRWYWx1ZX1yZXR1cm4gYn07Xy5pdT1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QuaXMoYSxiKX07Cl8ua3U9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5qdTtfLmp1PWE7cmV0dXJuIGJ9O18ucHU9ZnVuY3Rpb24oYSl7aWYobHUpdGhyb3cgRXJyb3IoImgiKTtpZihfLmp1IT09bnVsbCl7Xy5qdS5pcChhKTt2YXIgYj1fLmp1LmtmO2lmKGI9PT12b2lkIDB8fGIuTWghPT1hKXt2YXIgYz12b2lkIDAsZD1fLmp1LmNuO2lmKGQmJihjPWIhPT12b2lkIDA/Yi5yZTpfLmp1LnByb2R1Y2VycyxjIT09dm9pZCAwJiZjLk1oPT09YSkpe18uanUua2Y9YztjLkhxPWEudmVyc2lvbjtjLm9qPV8ubXU7cmV0dXJufXZhciBlPWEuVWc7aWYoZT09PXZvaWQgMHx8ZS5EZiE9PV8uanV8fGQmJmUub2ohPT1fLm11KWQ9bnUoXy5qdSksYz17TWg6YSxEZjpfLmp1LHJlOmMsTWo6dm9pZCAwLG9qOl8ubXUsSHE6YS52ZXJzaW9uLHFlOnZvaWQgMH0sXy5qdS5rZj1jLGIhPT12b2lkIDA/Yi5yZT1jOl8uanUucHJvZHVjZXJzPWMsZCYmb3UoYSxjKX19fTsKXy5ydT1mdW5jdGlvbihhKXtpZighbnUoYSl8fGEuUGIpaWYoYS5QYnx8YS5yaiE9PV8ubXUpKGEuWG0oYSl8fHF1KGEpKSYmYS5ZbShhKSxhLlBiPSExLGEucmo9Xy5tdX07c3U9ZnVuY3Rpb24oYSl7aWYoYS5jb25zdW1lcnMhPT12b2lkIDApe3ZhciBiPWx1O2x1PSEwO3RyeXtmb3IobGV0IGM9YS5jb25zdW1lcnM7YyE9PXZvaWQgMDtjPWMucWUpe2xldCBkPWMuRGY7ZC5QYnx8KGQuUGI9ITAsc3UoZCksZC5ocD8uKGQpKX19ZmluYWxseXtsdT1ifX19O18udHU9ZnVuY3Rpb24oYSl7aWYoYSl7aWYoYS5rZj8ub2o9PT1fLm11KXtsZXQgYj1hLnByb2R1Y2Vycztmb3IoO2IhPT12b2lkIDA7KWIub2o9bnVsbCxiPWIucmV9YS5rZj12b2lkIDA7YS5jbj0hMH1yZXR1cm4gXy5rdShhKX07Cl8udnU9ZnVuY3Rpb24oYSl7YS5jbj0hMTt2YXIgYj1hLmtmLGM9YiE9PXZvaWQgMD9iLnJlOmEucHJvZHVjZXJzO2lmKGMhPT12b2lkIDApe2lmKG51KGEpKXtkbyBjPXV1KGMpO3doaWxlKGMhPT12b2lkIDApfWIhPT12b2lkIDA/Yi5yZT12b2lkIDA6YS5wcm9kdWNlcnM9dm9pZCAwfX07cXU9ZnVuY3Rpb24oYSl7Zm9yKGE9YS5wcm9kdWNlcnM7YSE9PXZvaWQgMDthPWEucmUpe2xldCBiPWEuTWgsYz1hLkhxO2lmKGMhPT1iLnZlcnNpb24pcmV0dXJuITA7Xy5ydShiKTtpZihjIT09Yi52ZXJzaW9uKXJldHVybiEwfXJldHVybiExfTtvdT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWcsZD1udShhKTtjIT09dm9pZCAwPyhiLnFlPWMucWUsYy5xZT1iKTooYi5xZT12b2lkIDAsYS5jb25zdW1lcnM9Yik7Yi5Naj1jO2EuVWc9YjtpZighZClmb3IoYT1hLnByb2R1Y2VyczthIT09dm9pZCAwO2E9YS5yZSlvdShhLk1oLGEpfTsKdXU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NaCxjPWEucmUsZD1hLnFlLGU9YS5NajthLnFlPXZvaWQgMDthLk1qPXZvaWQgMDtkIT09dm9pZCAwP2QuTWo9ZTpiLlVnPWU7aWYoZSE9PXZvaWQgMCllLnFlPWQ7ZWxzZSBpZihiLmNvbnN1bWVycz1kLCFudShiKSlmb3IoYT1iLnByb2R1Y2VyczthIT09dm9pZCAwOylhPXV1KGEpO3JldHVybiBjfTtudT1mdW5jdGlvbihhKXtyZXR1cm4gYS5ncHx8YS5jb25zdW1lcnMhPT12b2lkIDB9O18ud3U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpO307Xy55dT1mdW5jdGlvbihhLGIpe18uanU/LkxlIT09ITF8fF8ud3UoYSk7YS5lcXVhbChhLnZhbHVlLGIpfHwoYS52YWx1ZT1iLGEudmVyc2lvbisrLF8ubXUrKyxzdShhKSx4dT8uKGEpKX07enU9ZnVuY3Rpb24oYSxiKXtiLnptPXZvaWQgMDthLlpqP2EuWmouem09YjphLlVrPWI7YS5aaj1ifTtBdT1mdW5jdGlvbihhLGIpe3p1KGEse1tTeW1ib2wuZGlzcG9zZV06Yn0pfTsKXy5CdT1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O2ImJiFiLmlhJiYoenUoYixhKSxhLnBhcmVudD1iKX07RHU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEuVWs7Yjspe2xldCBjPWIuem07Xy5DdShiKTtiPWN9YS5Vaz12b2lkIDA7YS5aaj12b2lkIDB9O18uQ3U9ZnVuY3Rpb24oYSl7YS5pYXx8KGEuaWE9ITAsYVtTeW1ib2wuZGlzcG9zZV0/LigpLGEucGFyZW50PXZvaWQgMCxEdShhKSl9O18uRnU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5xcikoYSkmJl8uRXUgaW4gYX07R3U9ZnVuY3Rpb24oYT1fLlp0KXtmb3IoO2E7KXtpZihfLkZ1KGEpKXJldHVybiBhO2E9YS5wYXJlbnQ/P251bGx9cmV0dXJuIG51bGx9O0h1PWZ1bmN0aW9uKGE9Xy5adCl7Zm9yKHZhciBiPVtdO2E7KV8uRnUoYSkmJmIucHVzaChhLmRlYnVnTmFtZSksYT1hLnBhcmVudD8/bnVsbDtyZXR1cm4gYn07Ckl1PWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiZhLm5hbWUhPT12b2lkIDAmJmEubGohPT12b2lkIDAmJmEucGFyZW50IT09dm9pZCAwfTtfLkx1PWZ1bmN0aW9uKCl7dmFyIGE9ey4uLkp1fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhKdSkuZm9yRWFjaChiPT57Xy5LdVtiXSE9PXZvaWQgMCYmKGFbYl09Xy5LdVtiXSl9KTtyZXR1cm4gYX07Xy5SdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5NdTtiJiYoXy5NdT1iKTt0cnl7cmV0dXJuIGM9PW51bGw/YSgpOmEuY2FsbChjKX1jYXRjaChlKXtOdShlLF8uTXUpO2lmKGUhPT1PdSl7Xy5QdT1fLk11O2E9W107Zm9yKGI9Xy5adDtiOylhLnB1c2goYi5kZWJ1Z05hbWU/PyJbY29udGV4dF0iKSxiPWIucGFyZW50Pz9udWxsO18uUXU9YS5yZXZlcnNlKCl9T3U9ZTt0aHJvdyBlO31maW5hbGx5e18uTXU9ZH19OwpOdT1mdW5jdGlvbihhLGIpe3RyeXtsZXQgYz1fLlN1KGIpO2lmKGMmJiFhLk5kPy5jb21wb25lbnRTdGFjayYmKGEuTmQ/YS5OZC5jb21wb25lbnRTdGFja3x8KGEuTmQuY29tcG9uZW50U3RhY2s9Yyk6YS5OZD17Y29tcG9uZW50U3RhY2s6Y30sXy5LdS5Cdikpe2xldCBkPWAke2EubWVzc2FnZX1cblxuQ29tcG9uZW50IHN0YWNrOiAke2N9YDthLnN0YWNrJiYoYS5zdGFjaz1hLnN0YWNrLnJlcGxhY2UoYS5tZXNzYWdlLGQpKTthLm1lc3NhZ2U9ZH19Y2F0Y2h7fX07VHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgNDpjYXNlIDM6cmV0dXJuInNldmVyZSI7Y2FzZSAyOnJldHVybiJ3YXJuaW5nIjtjYXNlIDE6Y2FzZSAwOnJldHVybiJpbmZvIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpfLlV1PWZ1bmN0aW9uKGEsYixjKXtpZihhLk5kKXJldHVybiBhO3RyeXtsZXQgZD0oYT09PU91P18uUHU6bnVsbCk/P18uTXU7TnUoYSxkKTthLk5kPXtjb21wb25lbnRTdGFjazpfLlN1KGQpLGZoOmIsQWw6Xy5MdSgpLHRhZ05hbWU6YyxwcjpfLlF1Py5zbGljZSgpPz9bXX07YS5yZXBvcnRTZXZlcml0eT1UdShiKX1jYXRjaHt9cmV0dXJuIGF9O1Z1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9IiI7YjwyMCYmYTspYys9YCR7YCQkWElEOiR7YS5uYW1lfSQkYH0gPiBgLGE9YS5wYXJlbnQsYisrO3JldHVybiBjLnNsaWNlKDAsLTMpfTtfLlN1PWZ1bmN0aW9uKGEpe3JldHVybiBJdShhKXx8YT09PW51bGw/VnUoYSk6Xy5LdS5GcD8oYT1HdShhKSxIdShhKS5zbGljZSgwLDIwKS5tYXAoYj0+YCQkWElEOiR7Yn0kJGApLmpvaW4oIiA+ICIpKToiIn07Cl8uWXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5adDtpZihiKXt2YXIgYz1fLk11O0F1KGIsKCk9Pnt2YXIgZD1fLmt1KF8uV3U/PyhfLld1PU9iamVjdC5jcmVhdGUoey4uLl8uWHUsTGU6ITB9KSkpO3RyeXtfLlJ1KCgpPT52b2lkIGEoKSxjKX1jYXRjaChlKXt0aHJvdyBfLlV1KGUsNCksZTt9ZmluYWxseXtfLmt1KGQpfX0pfWVsc2UgXy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlhhIiksMik7fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIiRhIiksMik7fSl9OyR1PWZ1bmN0aW9uKGEpe3ZhciBiPSgpPT57Xy5wdShhKTtyZXR1cm4gYS52YWx1ZX07YltfLlp1XT1hO3JldHVybltiLGM9PntfLnl1KGEsYyl9LGM9PntfLmp1Py5MZSE9PSExfHxfLnd1KGEpO18ueXUoYSxjKGEudmFsdWUpKX1dfTsKXy5KPWZ1bmN0aW9uKGEsYixjPSIiKXt2YXIgZD1PYmplY3QuY3JlYXRlKGF2KTtkLnZhbHVlPWE7Yj8uZXF1YWxzIT09dm9pZCAwJiYoZC5lcXVhbD1iLmVxdWFscyk7ZC5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW3NpZ25hbF0iKTtyZXR1cm4gJHUoZCl9O18uZnY9ZnVuY3Rpb24oYSl7aWYoIWEuaWEpc3dpdGNoKGEuZWZmZWN0VHlwZSl7Y2FzZSBidjpfLmN2LnNjaGVkdWxlKGEpO2JyZWFrO2Nhc2UgXy5kdjpldi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5lZmZlY3RUeXBlLHZvaWQgMCl9fTtfLmp2PWZ1bmN0aW9uKCl7aWYoXy5ndj4wKV8uS3UuUmkmJl8uY3YuZmx1c2goKTtlbHNle2ZvcihsZXQgYSBvZiBodilhLmZsdXNoKCk7aXYoKX19O2l2PWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGxldCBhIG9mIGt2KWEuZmx1c2goKX07Cm12PWZ1bmN0aW9uKGEpe3ZhciBiPWEuaXNGbHVzaGluZzthLmlzRmx1c2hpbmc9ITA7dHJ5e2xldCBjPTA7Zm9yKDtjPGEuWmI7KXtsZXQgZD1hLkRkW2NdO2EuRGRbY109dm9pZCAwO2MrKztpZighZHx8IWQuUGIpY29udGludWU7bGV0IGU9W2RdLGY9ZDtmb3IoO2YucGFyZW50IT09dm9pZCAwOylmPWYucGFyZW50LCgwLF8ubHYpKGYpJiZmLlBiJiZlLnB1c2goZik7Zm9yKDtlLmxlbmd0aD4wOyllLnBvcCgpLnJ1bigpfWEuWmI9MH1maW5hbGx5e2EuaXNGbHVzaGluZz1ifX07Xy5vdj1mdW5jdGlvbihhLGI9Xy5adCl7aWYoYiYmIWIuaWEmJihiPV8uaHUobnYsYiksYj8ucmVwb3J0RXJyb3IpKXtiLnJlcG9ydEVycm9yKGEpO3JldHVybn10aHJvdyBhO307Cl8ucHY9ZnVuY3Rpb24oYSxiLGMpe2E9T2JqZWN0LmNyZWF0ZShhKTtiJiYoYS5mbj1iKTtjJiYoYS5kZWJ1Z05hbWU9Yyk7Xy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlRhIiksMik7fSk6Xy5adD09PW51bGw/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoImNiIiksMik7fSk6Xy5CdShhKTthLmNvbXBvbmVudFN0YWNrPV8uTXU7cmV0dXJuIGF9O3F2PWZ1bmN0aW9uKGEpe2lmKCFhLmlhKXtpZihsdSl0aHJvdyBfLlV1KEVycm9yKCJ4YiIpLDQpO3ZhciBiPV8uJHQoYSk7dHJ5e18uUnUoKCk9PnthLlBiPSExO2lmKCEoYS52ZXJzaW9uPjApfHxxdShhKSl7YS52ZXJzaW9uKys7dmFyIGM9Xy50dShhKTt0cnl7YS5WaygpLGEuZm4oKX1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX19fSxhLmNvbXBvbmVudFN0YWNrLGEpfWNhdGNoKGMpe18uVXUoYyw0KSxfLm92KGMpfWZpbmFsbHl7Xy4kdChiKX19fTsKcnY9ZnVuY3Rpb24oYSl7dmFyIGI9RXJyb3IoIlphYCIrYS5kZWJ1Z05hbWUpO18uVXUoYiw0KTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgYjt9KX07Xy50dj1mdW5jdGlvbihhLGIpe2E9Xy5wdihzdixhLGIpO18uZnYoYSl9O18udXY9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz17cGFyZW50OnZvaWQgMCxpYTohMSxVazp2b2lkIDAsWmo6dm9pZCAwLHptOnZvaWQgMH07YiYmXy5CdShjKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18udnY9ZnVuY3Rpb24oKXt9O18ud3Y9ZnVuY3Rpb24oKXt9O18ueHY9ZnVuY3Rpb24oKXt9O18uQnY9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8ueXZ8fF8uanU9PT1fLnp2KXRocm93IF8uVXUoRXJyb3IoIllhIiksNCk7cmV0dXJuIHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9hKCk6YT8uW0F2XT9hLmdldCgpOmF9O18uQ3Y9ZnVuY3Rpb24oKXt9O18uRHY9e307Cl8uVXM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qdj1hfX07Xy5Fdj1fLnUuSlNPTi5wYXJzZTtuZXcgY2xhc3MgZXh0ZW5kcyBfLmFle2luaXQoKXt9fTtfLkVhKCk7Xy5adD12b2lkIDA7Xy5hdT1TeW1ib2woImRiIik7dmFyIEZ2LGJ2O0Z2PVN5bWJvbCgiZWIiKTtidj1TeW1ib2woImZiIik7Xy5kdj1TeW1ib2woImdiIik7Xy5sdj1fLkNjKGE9PigwLF8ucXIpKGEpJiZGdiBpbiBhKTtfLmZ1PVN5bWJvbCgiaGIiKTt2YXIgbHU7Xy5qdT1udWxsO2x1PSExO18ubXU9MTtfLlp1PVN5bWJvbCgia2IiKTtfLlh1PXt2ZXJzaW9uOjAscmo6MCxQYjohMSxwcm9kdWNlcnM6dm9pZCAwLGtmOnZvaWQgMCxjb25zdW1lcnM6dm9pZCAwLFVnOnZvaWQgMCxjbjohMSxMZTohMSxncDohMSxraW5kOiJ1bmtub3duIixYbTooKT0+ITEsWW06KCk9Pnt9LGhwOigpPT57fSxpcDooKT0+e319O18uR3Y9U3ltYm9sKCJsYiIpO18uSHY9U3ltYm9sKCJtYiIpO18uSXY9U3ltYm9sKCJuYiIpO3ZhciBKdj17Li4uXy5YdSxncDohMCxMZTohMCxQYjohMCxraW5kOiJlZmZlY3QifTt2YXIgeHU9bnVsbCxhdj17Li4uXy5YdSxlcXVhbDpfLml1LHZhbHVlOnZvaWQgMCxraW5kOiJzaWduYWwifTtfLkt2PVN5bWJvbCgib2IiKTtfLkx2PVN5bWJvbCgicGIiKTtfLk12PVN5bWJvbCgicWIiKTtfLkV1PVN5bWJvbCgicmIiKTt2YXIgSnU9e3l2OiEwLEJ2OiExLEZwOl8uWXEsR3A6Xy5ZcSxHdjohMSxyaTohMSxISTohMCxSaTohMSxKcTohMX07Xy5LdT17YXR0cmlidXRlczp7fSxoYW5kbGVFcnJvcihhKXt0aHJvdyBhO30sLi4uSnV9O3ZhciBPdTtfLk11PW51bGw7Xy5QdT1udWxsO18uTnY9bmV3IFNldDtfLk92PW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe319O3ZhciBQdixTdixUdixWdixXdixYdixldixodixrdixadjtfLmd2PTA7UHY9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmlzRmx1c2hpbmc9ITE7dGhpcy5EZD1bXTt0aGlzLlpiPTB9c2NoZWR1bGUoYSl7dGhpcy5EZFt0aGlzLlpiKytdPWF9Y2xlYXIoKXtmb3IobGV0IGE9MDthPHRoaXMuWmI7YSsrKXRoaXMuRGRbYV09dm9pZCAwO3RoaXMuWmI9MH19O18uUXY9U3ltYm9sKCJ3YiIpO1N2PWNsYXNzIGV4dGVuZHMgUHZ7Zmx1c2goKXtpZih0aGlzLlpiIT09MCl7Zm9yKHZhciBhPTA7YTx0aGlzLlpiOyl7bGV0IGI9dGhpcy5EZFthXTt0aGlzLkRkW2FdPXZvaWQgMDthKys7aWYoYil0cnl7Yi5ydW4oKX1jYXRjaChjKXtSdihjKX19dGhpcy5aYj0wfX19O1R2PWNsYXNzIGV4dGVuZHMgU3Z7fTtfLlV2PW5ldyBUdjtWdj1jbGFzcyBleHRlbmRzIFB2e2ZsdXNoKCl7dGhpcy5aYj09PTB8fHRoaXMuaXNGbHVzaGluZ3x8bXYodGhpcyl9fTsKV3Y9Y2xhc3MgZXh0ZW5kcyBWdntzY2hlZHVsZShhKXthLnZlcnNpb249PT0wP2EucnVuKCk6c3VwZXIuc2NoZWR1bGUoYSl9Zmx1c2goKXtpZih0aGlzLlpiIT09MClpZihfLkt1LlJpKXtsZXQgYT17RGQ6dGhpcy5EZCxaYjp0aGlzLlpiLGlzRmx1c2hpbmc6ITF9O3RoaXMuRGQ9W107dGhpcy5aYj0wO212KGEpfWVsc2UgdGhpcy5pc0ZsdXNoaW5nfHxtdih0aGlzKX19O18uY3Y9bmV3IFd2O1h2PWNsYXNzIGV4dGVuZHMgVnZ7fTtldj1uZXcgWHY7aHY9W18uY3ZdO2t2PVtfLlV2LGV2XTtfLll2PVsuLi5odiwuLi5rdl07WnY9W107eHU9KCk9PntfLmp2KCk7Zm9yKGxldCBhIG9mIFp2KWEoKX07dmFyIFJ2PV8uJGI7dmFyIG52PV8uZ3Uoe2RlZmF1bHRWYWx1ZTpudWxsfSwiaW0xTWtmIik7Xy4kdj17Li4uSnYsW0Z2XTohMCxlZmZlY3RUeXBlOmJ2LEVKOiEwLGhwOl8uZnYscnVuKCl7cXYodGhpcyl9LFZrKCl7RHUodGhpcyl9LGNvbXBvbmVudFN0YWNrOnZvaWQgMCxkZWJ1Z05hbWU6IltlZmZlY3RdIixkZXN0cm95KCl7aWYobnUodGhpcykpe2xldCBhPXRoaXMucHJvZHVjZXJzO2Zvcig7YSE9PXZvaWQgMDspYT11dShhKX10aGlzLlVnPXRoaXMuY29uc3VtZXJzPXRoaXMua2Y9dGhpcy5wcm9kdWNlcnM9dm9pZCAwO18uQ3UodGhpcyk7dGhpcy5QYj0hMX0sW1N5bWJvbC5kaXNwb3NlXSgpe3RoaXMuZGVzdHJveSgpfX07dmFyIGF3O2F3PXtpcDpydn07Xy55dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7Xy56dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7dmFyIHN2PXsuLi5fLiR2LGVmZmVjdFR5cGU6YnZ9O18uYnc9e1BIKCl7fSxlSygpe30sWUgoKXt9LFNvKCl7fSxRSCgpe30sSmkoKXt9LEdmKCl7fSxIZigpe30sS2koKXt9fTt2YXIgQXY9U3ltYm9sKCJLYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZXc7Xy5jdz1mdW5jdGlvbihhLC4uLmIpe2EuYXJnc3x8KGEuYXJncz1bXSk7QXJyYXkuaXNBcnJheShhLmFyZ3MpJiZhLmFyZ3MucHVzaCguLi5iKX07Xy5kdz1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSl7bGV0IGM9Xy5id1tiXSxkPWFbYl07Xy5id1tiXT0oLi4uZSk9PntjKC4uLmUpO2QoLi4uZSl9fX07Xy5mdz1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsXy5FcSkmJmFbXy5FcV18fChhW18uRXFdPSsrZXcpfTtfLmd3PWZ1bmN0aW9uKGEsYixjKXthJiYhYyYmKGE9YS5wYXJlbnROb2RlKTtmb3IoYz0wO2E7KXtpZihiKGEpKXJldHVybiBhO2E9YS5wYXJlbnROb2RlO2MrK31yZXR1cm4gbnVsbH07Xy5odz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSk/Xy5UYShhKTpudWxsOm51bGx9OwpfLml3PWZ1bmN0aW9uKGEpe2lmKF8uWnQpdGhyb3cgXy5VdShFcnJvcigiYWIiKSw0KTtyZXR1cm4gXy51dihiPT57Xy5ZdSgoKT0+e30pO2EoYil9LCExKX07ZXc9MDt2YXIganc7anc9e25hbWU6IjxSb290PiIscHJvcHM6e30sS3o6e30sZWZmZWN0czpbXSxkSTpbXSxnSTooKT0+e30sW1N5bWJvbCgiSmIiKV06ITB9OyhuZXcgV2Vha01hcCkuc2V0KGp3Lkt6LHtuYW1lOmp3Lm5hbWUscHJvcHM6ancucHJvcHN9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHN3LHl3LHR3LHJ3O18ua3c9ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBhO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPWFbXy5BY118MDtjPWR8YyYzMnxjJjI7YyE9PWQmJihhW18uQWNdPWMpO3JldHVybiBuZXcgYihhKX19O18ubHc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5EYSxjPWJbXy5BY118MDtyZXR1cm4gXy5CYyhhLGMpP18uJGMoYSxiLGMpP18uYmQoYSxiLCEwKTpuZXcgYS5jb25zdHJ1Y3RvcihfLlpjKGIsYywhMSkpOmF9O18ubXc9ZnVuY3Rpb24oYSl7aWYoYS5qIT09Xy56YylyZXR1cm4hMTt2YXIgYj1hLkRhO2I9Xy5aYyhiLGJbXy5BY118MCk7YltfLkFjXXw9MjA0ODthLkRhPWI7YS5qPXZvaWQgMDthLm89dm9pZCAwO3JldHVybiEwfTtfLm53PWZ1bmN0aW9uKGEpe2lmKCFfLm13KGEpJiZfLkJjKGEsYS5EYVtfLkFjXXwwKSl0aHJvdyBFcnJvcigpO307Cl8ub3c9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uQWNdfDApO2ImMzImJiEoYiY0MDk2KSYmKGFbXy5BY109Ynw0MDk2KX07Xy5wdz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWMrKGU/MDotMSksaD1hLmxlbmd0aC0xO2lmKGg+PTErKGU/MDotMSkmJmY+PWgpe2xldCBrPWFbaF07aWYoayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4ga1tjXT1kLGJ9aWYoZjw9aClyZXR1cm4gYVtmXT1kLGI7ZCE9PXZvaWQgMCYmKGg9KGI/PyhiPWFbXy5BY118MCkpPj4xNCYxMDIzfHw1MzY4NzA5MTIsYz49aD9kIT1udWxsJiYoYVtoKyhlPzA6LTEpXT17W2NdOmR9KTphW2ZdPWQpO3JldHVybiBifTtfLnF3PWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7dmFyIGU9YS5EYTtfLnB3KGUsZVtfLkFjXXwwLGIsYyxkKTtyZXR1cm4gYX07c3c9ZnVuY3Rpb24oYSl7cmV0dXJuIHJ3W2FdfHwiIn07Cl8udXc9ZnVuY3Rpb24oYSl7YT10dy50ZXN0KGEpP2EucmVwbGFjZSh0dyxzdyk6YTthPWF0b2IoYSk7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWJbY109YS5jaGFyQ29kZUF0KGMpO3JldHVybiBifTtfLnd3PWZ1bmN0aW9uKGEpe2lmKF8udnchPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dmFyIGI9YS5qO2I9PW51bGx8fGIhPW51bGwmJmIgaW5zdGFuY2VvZiBVaW50OEFycmF5fHwodHlwZW9mIGI9PT0ic3RyaW5nIj9iPV8udXcoYik6KF8ueGEoYiksYj1udWxsKSk7cmV0dXJuIGI9PW51bGw/YjphLmo9Yn07Xy54dz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJib29sZWFuIil0aHJvdyBFcnJvcigicmAiK18ueGEoYSkrImAiK2EpO3JldHVybiBhfTsKeXc9ZnVuY3Rpb24oKXt2YXIgYT1fLkRuKCk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIi5jaGFyQXQoYVtjXSY2MykpO3JldHVybiBiLmpvaW4oIiIpfTt0dz0vWy1fLl0vZztydz17Ii0iOiIrIixfOiIvIiwiLiI6Ij0ifTtfLnZ3PXt9O18uenc9bmV3IF8uSSgid2ViQ29tbWFuZE1ldGFkYXRhIik7Xy5Bdz1uZXcgXy5JKCJ3YXRjaEVuZHBvaW50Iik7Xy5Cdz1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1hfX07Xy5Ddz1uZXcgXy5xbSgic2NyZWVuLWNyZWF0ZWQiLF8uQncpO18uRHc9eXc7Xy5Fdz1uZXcgTWFwO18uRnc9bmV3IE1hcDtfLkd3PW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBRdyxSdyxhYWEsYmFhLFh3LFN3LGF4LEx3LGNhYSxZdyxadztfLkh3PWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhLGIsdm9pZCAwKX07Xy5Jdz1mdW5jdGlvbihhKXthPUVycm9yKGEpO18uQmIoYSwid2FybmluZyIpO3JldHVybiBhfTtfLkp3PWZ1bmN0aW9uKGEpe2E9PW51bGwmJihhPXZvaWQgMCk7cmV0dXJuIGF9O18uS3c9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1fLkp3KGMpO18ucXcoYSxiLGMsZCk7YyYmIV8uQmMoYykmJl8ub3coYS5EYSk7cmV0dXJuIGF9O18uTXc9ZnVuY3Rpb24oKXtyZXR1cm4gTHd8fChMdz1uZXcgXy5SYyhudWxsLF8udncpKX07Cl8uTnc9ZnVuY3Rpb24oYSxiKXtpZihhIT1udWxsKWlmKHR5cGVvZiBhPT09InN0cmluZyIpYT1hP25ldyBfLlJjKGEsXy52dyk6Xy5NdygpO2Vsc2UgaWYoYS5jb25zdHJ1Y3RvciE9PV8uUmMpaWYoYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpYT1hLmxlbmd0aD9uZXcgXy5SYyhuZXcgVWludDhBcnJheShhKSxfLnZ3KTpfLk13KCk7ZWxzZXtpZighYil0aHJvdyBFcnJvcigpO2E9dm9pZCAwfXJldHVybiBhfTtfLk93PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgXy5JdygiaW50MzIiKTtpZighKDAsXy53cikoYSkpdGhyb3cgXy5JdygiaW50MzIiKTtyZXR1cm4gYXwwfTtfLlB3PWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6Xy5PdyhhKX07ClF3PWZ1bmN0aW9uKGEpe3ZhciBiPV8ucm0oKTtpZighYilyZXR1cm4gMDt2YXIgYz1iLnN1YnNjcmliZShfLkN3LnRvU3RyaW5nKCksKGQsZSk9Pnt2YXIgZj1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIpO2YmJmY9PWN8fChmPSgpPT57aWYoXy5Lc1tjXSl0cnl7aWYoZSYmXy5DdyBpbnN0YW5jZW9mIF8ucW0mJl8uQ3chPWQpdHJ5e3t2YXIgaD1fLkN3Lmosaz1lO2lmKCFrLmFyZ3N8fCFrLnZlcnNpb24pdGhyb3cgRXJyb3IoInBhIik7bGV0IGw7dHJ5e2lmKCFoLkFlKXtsZXQgbT1uZXcgaDtoLkFlPW0udmVyc2lvbn1sPWguQWV9Y2F0Y2gobSl7fWlmKCFsfHxrLnZlcnNpb24hPWwpdGhyb3cgRXJyb3IoInFhIik7dHJ5e2U9UmVmbGVjdC5jb25zdHJ1Y3QoaCxfLnliKGsuYXJncykpfWNhdGNoKG0pe3Rocm93IG0ubWVzc2FnZT0ieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6ICIrbS5tZXNzYWdlLG07fX19Y2F0Y2gobCl7dGhyb3cgbC5tZXNzYWdlPSJ5dC5wdWJzdWIyLnB1YnN1YjIgY3Jvc3MtYmluYXJ5IGNvbnZlcnNpb24gZXJyb3IgZm9yICIrCl8uQ3cudG9TdHJpbmcoKSsiOiAiK2wubWVzc2FnZSxsO31hLmNhbGwod2luZG93LGUpfWNhdGNoKGwpe18uVWkobCl9fSxfLk1zW18uQ3cudG9TdHJpbmcoKV0/Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/Xy5qZi5wYihmKTpfLm1qKGYsMCk6ZigpKX0pO18uS3NbY109ITA7Xy5Mc1tfLkN3LnRvU3RyaW5nKCldfHwoXy5Mc1tfLkN3LnRvU3RyaW5nKCldPVtdKTtfLkxzW18uQ3cudG9TdHJpbmcoKV0ucHVzaChjKTtyZXR1cm4gY307Unc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ybSgpO2ImJih0eXBlb2YgYT09PSJudW1iZXIiJiYoYT1bYV0pLF8udGIoYSxjPT57Yi51bnN1YnNjcmliZUJ5S2V5KGMpO2RlbGV0ZSBfLktzW2NdfSkpfTthYWE9ZnVuY3Rpb24oKXt2YXIgYT1TdyxiPVF3KGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7UncoYil9KTtyZXR1cm4gYn07Xy5Vdz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uVHcoe3RyYWNraW5nUGFyYW1zOmF9KX07Cl8uVnc9ZnVuY3Rpb24oYT0wKXtyZXR1cm4oYT1fLmdxKGEpKT9uZXcgXy5Udyh7dmVUeXBlOmEseW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTtiYWE9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhfLncoImNsaWVudC1zY3JlZW4tbm9uY2Utc3RvcmUiLHt9KSkuZmlsdGVyKGE9PmEhPT12b2lkIDApfTtfLld3PWZ1bmN0aW9uKGEsYil7Xy54KCJsb2dfc2VxdWVuY2VfaW5mb19vbl9nZWxfd2ViIikmJihhLnNlcXVlbmNlR3JvdXA9Yik7cmV0dXJuIGF9O1h3PWZ1bmN0aW9uKGEsYil7cmV0dXJuYCR7YS5nZXRBc0pzb24oKS52ZVR5cGV9JHthLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke2J9YH07U3c9ZnVuY3Rpb24oYSl7aWYoWXcpe2ZvcihsZXQgYiBvZiBZdyliLnBheWxvYWQmJihiLnBheWxvYWQuY3NuPWEuY3NuLF8uRXAoYi5wYXlsb2FkTmFtZSxiLnBheWxvYWQsYi5vcHRpb25zKSk7WXcubGVuZ3RoPTB9Wnc9MH07Cl8uJHc9ZnVuY3Rpb24oYSxiLGMpe1l3LnB1c2goe3BheWxvYWROYW1lOmEscGF5bG9hZDpjLEpKOnZvaWQgMCxvcHRpb25zOmJ9KTtad3x8KFp3PWFhYSgpKX07Xy5ieD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7YXgoYSxiLGMsW2RdLGUsZil9OwpheD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7T2JqZWN0LmFzc2lnbihmLF8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMH0sYikpO2ZvcihsZXQgayBvZiBkKXt2YXIgaD1rLmdldEFzSnNvbigpOyhfLnBkKGgpfHwhaC50cmFja2luZ1BhcmFtcyYmIWgudmVUeXBlKSYmXy5JcChFcnJvcigiTGIiKSk7aWYoXy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXtsZXQgbD1YdyhrLGIpO2lmKGgudmVUeXBlJiYhXy5Gdy5oYXMobCkmJiFfLkd3LmhhcyhsKSYmIWUpe2lmKCFfLngoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxfLkV3LnNpemU8MUUzKXtfLkV3LnNldChsLFthLGIsYyxrXSk7cmV0dXJufV8ueCgiaWxfYXR0YWNoX2NhY2hlX2xpbWl0IikmJl8uRXcuc2l6ZT4xRTMmJl8uSXAobmV3IF8uWGooIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPVh3KGMsYik7Xy5Fdy5oYXMoaCk/Xy5jeChjLGIpOl8uR3cuc2V0KGgsITApfX1kPQpkLmZpbHRlcihrPT57ay5jc24hPT1iPyhrLmNzbj1iLGs9ITApOms9ITE7cmV0dXJuIGt9KTtjPXtjc246YixwYXJlbnRWZTpjLmdldEFzSnNvbigpLGNoaWxkVmVzOl8uSHcoZCxrPT5rLmdldEFzSnNvbigpKX07Yj09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGYsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsYSxmKTpfLkVwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsZil9O18uY3g9ZnVuY3Rpb24oYSxiKXthPVh3KGEsYik7Xy5Fdy5oYXMoYSkmJihiPV8uRXcuZ2V0KGEpfHxbXSxfLmJ4KGJbMF0sYlsxXSxiWzJdLGJbM10sITApLF8uRXcuZGVsZXRlKGEpKX07Xy5keD1mdW5jdGlvbihhLGIpe2lmKF8ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7dmFyIGM9WHcoYSxiKTtfLkZ3LnNldChjLCEwKTtfLmN4KGEsYil9fTsKXy5leD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLmR4KGMsYik7ZD1kfHwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyI7Zj1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6aH0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxnZXN0dXJlVHlwZTpkfTtlJiYoYy5jbGllbnREYXRhPWUpO2I9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudEdlc3R1cmVkIixmLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGEsZik6Xy5FcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGYpfTtfLmZ4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtfLmV4KGEsYixjLHZvaWQgMCxkLGUsZil9O18uaHg9ZnVuY3Rpb24oKXtneC5pbnN0YW5jZXx8KGd4Lmluc3RhbmNlPW5ldyBneCk7cmV0dXJuIGd4Lmluc3RhbmNlfTsKXy5qeD1mdW5jdGlvbihhLGIsYyxkPTAsZSl7YS5vLmhhcyhlKXx8YS5vLnNldChlLG5ldyBTZXQpO3ZhciBmPWN8fF8uVncoZCk7Zj1gJHtiLnRvU3RyaW5nKCl9fCR7Zj9mLnRvU3RyaW5nKCk6IiJ9YDthLm8uZ2V0KGUpLmhhcyhmKXx8KF8uaXgoYSxiLGMsZCksYS5vLmdldChlKS5hZGQoZikpfTtfLml4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9PntpZihhLmouaGFzKGQpKXJldHVybiBhLlkucHVzaChbYixjXSksITA7dmFyIGU9Xy5pcShkKSxmPWN8fF8uVncoZCk7aWYoZSYmZil7aWYoXy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpKXtsZXQgaD1hLnYuZ2V0KGYudG9TdHJpbmcoKSk7aD9oLnB1c2goYik6KGEuSS5zZXQoZi50b1N0cmluZygpLGYpLGEudi5zZXQoZi50b1N0cmluZygpLFtiXSkpO2EuWnx8KGEuWj1fLllqKCgpPT57Xy5reChhLGUpfSwxMjAwKSl9ZWxzZSBfLmJ4KGEuY2xpZW50LGUsZixiKTtyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpfLmx4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9Pnt2YXIgZT1fLlV3KGIpLGY9Xy5pcShkKTtmJiYhYS5qLmhhcyhkKT9fLmp4KGEsZSxjLGQsZik6Xy5peChhLGUsYyxkKTtyZXR1cm4gZX0pKCl9O18ua3g9ZnVuY3Rpb24oYSxiKXtpZihiPT09dm9pZCAwKXtsZXQgYz1iYWEoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdIT09dm9pZCAwJiZfLmt4KGEsY1tkXSl9ZWxzZSBhLnYuZm9yRWFjaCgoYyxkKT0+eyhkPWEuSS5nZXQoZCkpJiZheChhLmNsaWVudCxiLGQsYyl9KSxhLnYuY2xlYXIoKSxhLkkuY2xlYXIoKSxhLlo9dm9pZCAwfTsKXy5teD1mdW5jdGlvbihhLGIsYyxkPTApe3ZhciBlPV8uaXEoZCk7Yj1ifHxfLlZ3KGQpO2UmJmImJihhPWEuY2xpZW50LGQ9Xy5Xdyh7Y3R0QXV0aEluZm86Xy5rcShlKXx8dm9pZCAwfSxlKSxjPXtjc246ZSx2ZTpiLmdldEFzSnNvbigpLGNsaWVudERhdGE6Y30sZT09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixkLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIsYyxhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLGMsZCkpfTsKXy5SYz1jbGFzc3tvKCl7dmFyIGE9dGhpcy5qO2lmKGE9PW51bGwpYT0iIjtlbHNlIGlmKHR5cGVvZiBhIT09InN0cmluZyIpe2xldCBiPSIiLGM9MCxkPWEubGVuZ3RoLTEwMjQwO2Zvcig7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPXRoaXMuaj1idG9hKGIpfXJldHVybiBhfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5qPT1udWxsfXNpemVCeXRlcygpe3ZhciBhPV8ud3codGhpcyk7cmV0dXJuIGE/YS5sZW5ndGg6MH1jb25zdHJ1Y3RvcihhLGIpe2lmKGIhPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dGhpcy5qPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJuIik7fX07CmNhYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9c2V0VHJhY2tpbmdQYXJhbXMoYSl7cmV0dXJuIF8ucXcodGhpcywxLF8uTncoYSwhMSkpfX07Cl8uVHc9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Z2V0QXNKc29uKCl7dmFyIGE9e307dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09dm9pZCAwP2EudHJhY2tpbmdQYXJhbXM9dGhpcy5qLnRyYWNraW5nUGFyYW1zOihhLnZlVHlwZT10aGlzLmoudmVUeXBlLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJihhLnZlQ291bnRlcj10aGlzLmoudmVDb3VudGVyKSx0aGlzLmouZWxlbWVudEluZGV4IT09dm9pZCAwJiYoYS5lbGVtZW50SW5kZXg9dGhpcy5qLmVsZW1lbnRJbmRleCkpO3RoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCYmKGEuZGF0YUVsZW1lbnQ9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNvbigpKTt0aGlzLmoueW91dHViZURhdGEhPT12b2lkIDAmJihhLnlvdXR1YmVEYXRhPXRoaXMuai55b3V0dWJlRGF0YSk7dGhpcy5qLmlzQ291bnRlcmZhY3R1YWwmJihhLmlzQ291bnRlcmZhY3R1YWw9ITApO3JldHVybiBhfWdldEFzSnNwYigpe3ZhciBhPW5ldyBjYWE7dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09CnZvaWQgMD9hLnNldFRyYWNraW5nUGFyYW1zKHRoaXMuai50cmFja2luZ1BhcmFtcyk6KHRoaXMuai52ZVR5cGUhPT12b2lkIDAmJl8ucXcoYSwyLF8uUHcodGhpcy5qLnZlVHlwZSkpLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJl8ucXcoYSw2LF8uUHcodGhpcy5qLnZlQ291bnRlcikpLHRoaXMuai5lbGVtZW50SW5kZXghPT12b2lkIDAmJl8ucXcoYSwzLF8uUHcodGhpcy5qLmVsZW1lbnRJbmRleCkpLHRoaXMuai5pc0NvdW50ZXJmYWN0dWFsJiZfLnF3KGEsNSxfLnh3KCEwKSkpO2lmKHRoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIGI9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNwYigpO18uS3coYSw3LGIpfXRoaXMuai55b3V0dWJlRGF0YSE9PXZvaWQgMCYmXy5LdyhhLDgsdGhpcy5qLmpzcGJZb3V0dWJlRGF0YSk7cmV0dXJuIGF9dG9TdHJpbmcoKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRBc0pzb24oKSl9aXNDbGllbnRWZSgpe3JldHVybiF0aGlzLmoudHJhY2tpbmdQYXJhbXMmJgohIXRoaXMuai52ZVR5cGV9Z2V0TG9nZ2luZ0RpcmVjdGl2ZXMoKXtyZXR1cm4gdGhpcy5qLmxvZ2dpbmdEaXJlY3RpdmVzfX07WXc9W107Wnc9MDtfLm54PW5ldyBfLkkoImludGVyYWN0aW9uTG9nZ2luZ0NvbW1hbmRNZXRhZGF0YSIpO18uZGFhPW5ldyBfLkkoIndhdGNoUGxheWxpc3RFbmRwb2ludCIpO18uZWFhPW5ldyBfLkkoInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTtfLm94PVN5bWJvbCgiTWIiKTtfLnB4PW5ldyBXZWFrTWFwO3ZhciBneD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuWT1bXTt0aGlzLk09W107dGhpcy5LPW5ldyBNYXA7dGhpcy5nYT1uZXcgTWFwO3RoaXMuRD1bXTt0aGlzLlU9W107dGhpcy52PW5ldyBNYXA7dGhpcy5JPW5ldyBNYXA7dGhpcy5vPW5ldyBNYXA7dGhpcy5qPW5ldyBTZXQ7dGhpcy5oYT1uZXcgTWFwfUNmKGEsYixjPTApe2lmKCFhKXJldHVybiExO2M9Xy5pcShjKTtpZighYylyZXR1cm4hMTtfLmZ4KHRoaXMuY2xpZW50LGMsXy5VdyhhKSxiKTtyZXR1cm4hMH1jbGlja0NvbW1hbmQoYSxiLGM9MCl7cmV0dXJuIHRoaXMuQ2YoYS5jbGlja1RyYWNraW5nUGFyYW1zLGIsYyl9c3RhdGVDaGFuZ2VkKGEsYixjPTApe3RoaXMudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChfLlV3KGEpLGIsYyl9dmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChhLGIsYz0wKXtjPT09MCYmdGhpcy5qLmhhcyhjKT90aGlzLk0ucHVzaChbYSxiXSk6Xy5teCh0aGlzLGEsYixjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeXgsengsZ2FhLEh4LEl4LGZhYSxBeCxDeDtfLnF4PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5HYShiLDMsYyl9O18ucng9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDIsYil9O18uc3g9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hfDA6dm9pZCAwfTtfLnR4PWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnN4KF8uZWQoYSxiKSk/P2N9O18udXg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBoPWZhYSsrO3JldHVybiBuZXcgXy5Udyh7dmVUeXBlOmEsdmVDb3VudGVyOmgsZWxlbWVudEluZGV4OmMsZGF0YUVsZW1lbnQ6Yix5b3V0dWJlRGF0YTpkLGpzcGJZb3V0dWJlRGF0YTplLGxvZ2dpbmdEaXJlY3RpdmVzOmZ9KX07Cl8udng9ZnVuY3Rpb24oYSxiLGMsZD0hMSxlLGYpe3ZhciBoPWQ/MTY6ODtkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmQsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6Zn0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6aH07ZSYmKGMuY2xpZW50RGF0YT1lKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGQsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixjLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYyxkKX07Cl8ud3g9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLmR4KGMsYik7ZT1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6ZX0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6MX07ZCYmKGMuY2xpZW50RGF0YT1kKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRTaG93biIsZSxjKTphP18uQ3AoInZpc3VhbEVsZW1lbnRTaG93biIsYyxhLGUpOl8uRXAoInZpc3VhbEVsZW1lbnRTaG93biIsYyxlKX07Xy54eD1mdW5jdGlvbihhKXtpZihhPT09d2luZG93KXJldHVybiBudWxsO3ZhciBiPWEucGFyZW50RWxlbWVudDtyZXR1cm4gYj9iOnR5cGVvZiBTaGFkb3dSb290IT09InVuZGVmaW5lZCImJmEuZ2V0Um9vdE5vZGUhPW51bGwmJihhPWEuZ2V0Um9vdE5vZGUoKSxhIGluc3RhbmNlb2YgU2hhZG93Um9vdCk/YS5ob3N0OndpbmRvd307Cnl4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmlxKGMpO3JldHVybiBhLmNzbj09PW51bGx8fGQ9PT1hLmNzbnx8Yz9kOihhPW5ldyBfLlhqKCJWaXNpYmlsaXR5TG9nZ2VyIGNhbGxlZCBiZWZvcmUgbmV3U2NyZWVuIix7Y2FsbGVyOmIudGFnTmFtZSxwcmV2aW91c19jc246YS5jc24sY3VycmVudF9jc246ZH0pLF8uSXAoYSksbnVsbCl9O3p4PWZ1bmN0aW9uKGEsYil7YT1hLmdldERhdGEoYik7cmV0dXJuIE1hdGguZmxvb3IoTnVtYmVyKGEmJmEubG9nZ2luZ0RpcmVjdGl2ZXMmJmEubG9nZ2luZ0RpcmVjdGl2ZXMudmlzaWJpbGl0eSYmYS5sb2dnaW5nRGlyZWN0aXZlcy52aXNpYmlsaXR5LnR5cGVzfHwiIikpfHwxfTtfLkJ4PWZ1bmN0aW9uKCl7QXguaW5zdGFuY2V8fChBeC5pbnN0YW5jZT1uZXcgQXgpO3JldHVybiBBeC5pbnN0YW5jZX07Xy5EeD1mdW5jdGlvbigpe0N4Lmluc3RhbmNlfHwoQ3guaW5zdGFuY2U9bmV3IEN4KX07Cl8uRXg9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uVmkoKCk9PntpZighYi52ZVR5cGUpcmV0dXJuIF8uSHAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihiLnZpc2liaWxpdHlUeXBlcyl7dmFyIGU9Yi52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChmLGgpPT5mfGgpO2U9e3Zpc2liaWxpdHk6e3R5cGVzOlN0cmluZyhlKX19fWU9Xy51eChiLnZlVHlwZSxiLnZpc3VhbEVsZW1lbnQsYi5lbGVtZW50SW5kZXgsYi5jbGllbnRZb3VUdWJlRGF0YSx2b2lkIDAsZSk7cmV0dXJuIF8uaXgoYSxlLGMsZCk/ZTpudWxsfSkoKX07Xy5GeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9OwpfLkd4PWZ1bmN0aW9uKGEsYil7YT1hLmpmPz9hO2ZvcihsZXQgYyBvZiBhLnZpc2liaWxpdHlNb25pdG9yS2V5c3x8W10pYi5yZihjKTthLnZpc2liaWxpdHlNb25pdG9yS2V5cz12b2lkIDB9O18uSng9ZnVuY3Rpb24oYSxiKXtpZihfLmlxKCkpe2lmKF8ueCgia2V2bGFyX3ZpbWlvX3VzZV9zaGFyZWRfbW9uaXRvciIpKUh4KGEsYi5kYXRhKTtlbHNlIGlmKCFIeChhLGIuZGF0YSkpcmV0dXJuO3ZhciBjPWIuZGF0YSxkPUl4KGMpO2lmKF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSlfLkd4KGEsYi5vYnNlcnZlcik7ZWxzZXt2YXIgZT1hLmpmPz9hO2UudHJhY2tlZFBhcmFtcyYmZS50cmFja2VkUGFyYW1zIT09ZCYmXy5HeChhLGIub2JzZXJ2ZXIpfWU9YS5qZj8/YTshY3x8ZS5kYXRhJiZlLmRhdGE9PT1jfHwoZS5kYXRhPWMpO2dhYShhLGIpO2UudHJhY2tlZFBhcmFtcz1kfX07CmdhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIub2JzZXJ2ZXI7aWYoIWMmJl8ueCgid2ViX3NraXBfbWlzc2luZ192aW1pb19vYnNlcnZlciIpKV8uSXAobmV3IF8uWGooIlZpc2liaWxpdHlPYnNlcnZlciBpcyBub3QgZGVmaW5lZC4iLGEudGFnTmFtZSxhLnRyYWNrZWRQYXJhbXMsYi5kYXRhPy50cmFja2luZ1BhcmFtcyxiLmRhdGE/LmxvZ2dpbmdEaXJlY3RpdmVzKSk7ZWxzZXt2YXIgZD1iLmxheWVyLGU9Yi5OYnx8KCgpPT57fSksZj1iLkxqLGg9YS5qZj8/YSxrPVtdO2IuZWImJmsucHVzaChjLm9ic2VydmUoYSwoKT0+e2IueEEmJmIueEEoKXx8KF8uRHgoKSxfLlZpKF8uQngoKS5ZKS5iaW5kKF8uQngoKSkoaCx2b2lkIDAsZCw3KSk7ZSghMCl9LGIuZWIpKTtiLk5jJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9PntfLkR4KCk7Xy5WaShfLkJ4KCkuSSkuYmluZChfLkJ4KCkpKGgsdm9pZCAwLGQsNyk7ZSghMSl9LGIuTmMpKTtiLkxoJiZmJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9Pgp7ZigpfSxiLkxoKSk7aC52aXNpYmlsaXR5TW9uaXRvcktleXM9a319OwpIeD1mdW5jdGlvbihhLGIpe2E9YS5qZj8/YTtpZihhLnZpc3VhbEVsZW1lbnQmJiFiKXJldHVybiEwO2lmKCFiKXJldHVybiExO3ZhciBjPSExO18ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmKGM9ISFiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSk7dmFyIGQ9SXgoYik7aWYoIWQmJiFjKXJldHVybiExO18ueCgibXdlYl9jb21wb25lbnRfdmlzaWJpbGl0eV9sb2dnaW5nIikmJihhLnZlQ29udGFpbmVyfHwoYS52ZUNvbnRhaW5lcj17fSksYS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtcz1kKTtpZihhLnRyYWNrZWRQYXJhbXMmJmEudHJhY2tlZFBhcmFtcz09PWR8fF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmYS52aXN1YWxFbGVtZW50Py5pc0NsaWVudFZlKCkmJihjPWEudmlzdWFsRWxlbWVudD8uZ2V0QXNKc3BiKCksXy50eChjLDIpPT09Yi5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGUmJgpfLnR4KGMsMywtMSk9PT1iLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LmVsZW1lbnRJbmRleCkpcmV0dXJuITE7Xy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWNfbG9nZ2luZyIpJiYhYS52aXN1YWxFbGVtZW50JiZiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSYmKGM9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlLGQ9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuZWxlbWVudEluZGV4LGI9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuY2xpZW50WW91dHViZURhdGEsYS52aXN1YWxFbGVtZW50PV8uRXgoXy5oeCgpLHt2ZVR5cGU6YyxlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTpifSkpO3JldHVybiEwfTsKSXg9ZnVuY3Rpb24oYSl7aWYoYT8ucmVuZGVyZXJDb250ZXh0KXtsZXQgYj1fLkIoYS5yZW5kZXJlckNvbnRleHQsXy5LeCk7aWYoYj8ubG9nZ2luZ0RpcmVjdGl2ZXMpcmV0dXJuIGIubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXN9cmV0dXJuIGE/LmxvZ2dpbmdEaXJlY3RpdmVzP2EubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXM6YT8udHJhY2tpbmdQYXJhbXN9O2ZhYT0xOwpBeD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgU2V0O3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMuY2xpZW50PXZvaWQgMDt0aGlzLmNzbj1udWxsfUsoKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Xy5pcSgpfWNsZWFyKCl7dGhpcy5ELmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5jc249bnVsbH1ZKGEsYixjLGQpe3ZhciBlPXRoaXMuaihhKSxmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuRC5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkQuYWRkKGYpO3RoaXMuby5zZXQoZiwhMCk7YS5pbXByZXNzaW9uTG9nJiYhYiYmYS5pbXByZXNzaW9uTG9nKCk7aWYoZXx8YS52aXN1YWxFbGVtZW50KWlmKGM9eXgodGhpcyxhLGMpKXt2YXIgaz0hIXRoaXMuZ2V0RGF0YShhKT8ubG9nZ2luZ0RpcmVjdGl2ZXM7aWYoengodGhpcyxhKXx8aylmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Cl8uVXcoZSksYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhfHwoYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhPXt9KSxlPWEuaW50ZXJhY3Rpb25Mb2dnaW5nQ2xpZW50RGF0YSxrfHxiP3p4KHRoaXMsYSkmND9ofHwoYT10aGlzLmNsaWVudCxfLmR4KGYsYyksZD1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGMpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxjKSxiPXtjc246Yyx2ZTpmLmdldEFzSnNvbigpLGV2ZW50VHlwZTo0fSxlJiYoYi5jbGllbnREYXRhPWUpLGM9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudFNob3duIixkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFNob3duIixiLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudFNob3duIixiLGQpKTp6eCh0aGlzLGEpJjEmJiFiJiZfLnd4KHRoaXMuY2xpZW50LGMsZixlLGQpOl8ud3godGhpcy5jbGllbnQsYyxmLGUsZCl9fUkoYSxiLGMsZCl7dmFyIGU9dGhpcy5qKGEpLApmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuQi5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkIuYWRkKGYpO3RoaXMuby5zZXQoZiwhMSk7aWYoaD09PSExKXJldHVybiEwO2lmKCFlJiYhYS52aXN1YWxFbGVtZW50KXJldHVybiExO2M9eXgodGhpcyxhLGMpO2lmKCFjfHwhengodGhpcyxhKSYmdGhpcy5nZXREYXRhKGEpPy5sb2dnaW5nRGlyZWN0aXZlcylyZXR1cm4hMTtlPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Xy5VdyhlKTt6eCh0aGlzLGEpJjg/Xy52eCh0aGlzLmNsaWVudCxjLGUsdm9pZCAwLHZvaWQgMCxkKTp6eCh0aGlzLGEpJjImJiFiJiYoYT10aGlzLmNsaWVudCxkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpkfSxjKSxiPXtjc246Yyx2ZTplLmdldEFzSnNvbigpLGV2ZW50VHlwZToyfSxjPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLApkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYixhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGIsZCkpO3JldHVybiEwfWooYSl7dmFyIGI9dGhpcy5nZXREYXRhKGEpO3JldHVybiBfLngoImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCIpJiZiPy5jb250ZXh0Py5sb2dnaW5nQ29udGV4dD8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5jb250ZXh0LmxvZ2dpbmdDb250ZXh0LmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zfHwiIjpiPy5yZW5kZXJlckNvbnRleHQ/LmxvZ2dpbmdDb250ZXh0Py5sb2dnaW5nRGlyZWN0aXZlcz9iLnJlbmRlcmVyQ29udGV4dC5sb2dnaW5nQ29udGV4dC5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6YS52ZUNvbnRhaW5lcj8udHJhY2tpbmdQYXJhbXM/YS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtczoKYj8udHJhY2tpbmdQYXJhbXN8fCIifXYoYSl7aWYoXy54KCJ3aXpfbmV4dF9jbGllbnRfdmVfcGFyZW50X2ZpeCIpKXt2YXIgYj10aGlzLmooYSk7cmV0dXJuIGEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Yj9fLlV3KGIpOihhPV8ueHgoYSkpP3RoaXMudihhKTpudWxsfWI9dGhpcy5qKGEpO3JldHVybiBhLnZpc3VhbEVsZW1lbnQ/YS52aXN1YWxFbGVtZW50OmI/Xy5VdyhiKTphLnBhcmVudEVsZW1lbnQ/dGhpcy52KGEucGFyZW50RWxlbWVudCk6bnVsbH1nZXREYXRhKGEpe3ZhciBiPWEuZGF0YXx8YS5wcm9wcz8uZGF0YTtpZighYnx8YS5pc1dlYkNvbXBvbmVudFdyYXBwZXIpYj1fLnB4LmdldChhKT8uW18ub3hdO3JldHVybiBifX07Q3g9Y2xhc3N7Y2xlYXIoKXtfLlZpKF8uQngoKS5jbGVhcikuYmluZChfLkJ4KCkpKCl9fTtfLkt4PW5ldyBfLkkoImxvZ2dpbmdDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTHg9bmV3IF8uVnMoIlZJU0lCSUxJVFlfT0JTRVJWRVIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE94LFB4LFF4LFN4LFR4LFZ4LGhhYSxpYWEsamFhLCR4LGF5LGN5LGJ5LGthYSxkeSxsYWEsZXksZ3ksaHksaXksb3kscHkscXkscnksdHksdnksb2FhLHBhYSxreTtfLk14PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ITE7ZD1fLmRkKGEsZCxlLGg9Pnt2YXIgaz1fLmt3KGgsYyxiKTtmPWshPT1oJiZrIT1udWxsO3JldHVybiBrfSk7aWYoZCE9bnVsbClyZXR1cm4gZiYmIV8uQmMoZCkmJl8ub3coYSxiKSxkfTtfLk54PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuRGEsZj1lW18uQWNdfDA7Yj1fLk14KGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5BY118MDtpZighXy5CYyhhLGYpKXtsZXQgaD1fLmx3KGIpO2ghPT1iJiYoXy5tdyhhKSYmKGU9YS5EYSxmPWVbXy5BY118MCksYj1oLGY9Xy5wdyhlLGYsYyxiLGQpLF8ub3coZSxmKSl9cmV0dXJuIGJ9OwpPeD1mdW5jdGlvbihhKXthLlp8fChhLlo9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9O1B4PWZ1bmN0aW9uKGEsYil7aWYoYS5yYSl7YS5EJiYoY2xlYXJUaW1lb3V0KGEuRCksYS5EPW51bGwpO2xldCBjPWEucmE7YS5yYT1udWxsO2J8fGEuZGlzcGF0Y2hFdmVudCgicmVhZHkiKTt0cnl7Yy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbH1jYXRjaChkKXt9fX07UXg9ZnVuY3Rpb24oYSxiKXthLmo9ITE7YS5yYSYmKGEudj0hMCxhLnJhLmFib3J0KCksYS52PSExKTthLkI9YjtPeChhKTtQeChhKX07Xy5SeD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEucmE/YS5yYS5yZWFkeVN0YXRlOjApPjI/YS5yYS5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTsKU3g9ZnVuY3Rpb24oYSl7aWYoYS5qJiZ0eXBlb2YgXy5DcSE9InVuZGVmaW5lZCIpaWYoYS5JJiYoYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk9PTQpc2V0VGltZW91dChhLmdyLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSxhLmlzQ29tcGxldGUoKSl7YS5qPSExO3RyeXtpZihhLmlzU3VjY2VzcygpKWEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle3RyeXt2YXIgYj0oYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk+Mj9hLnJhLnN0YXR1c1RleHQ6IiJ9Y2F0Y2goYyl7Yj0iIn1hLkI9YisiIFsiK18uUngoYSkrIl0iO094KGEpfX1maW5hbGx5e1B4KGEpfX19OwpUeD1mdW5jdGlvbigpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLmo9ITE7dGhpcy5yYT1udWxsO3RoaXMuQj10aGlzLmhhPSIiO3RoaXMudj10aGlzLmdhPXRoaXMuST10aGlzLlo9ITE7dGhpcy5VPTA7dGhpcy5EPW51bGw7dGhpcy55YT0iIjt0aGlzLm9hPSExfTtfLlV4PWZ1bmN0aW9uKGEpe18uRHgoKTtyZXR1cm4gXy5WaShfLkJ4KCkudikuYmluZChfLkJ4KCkpKGEpfTtWeD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiKSYmYi5jbGllbnRWZVNwZWM/KGI9Xy51eChiLmNsaWVudFZlU3BlYy51aVR5cGUsdm9pZCAwLGIuY2xpZW50VmVTcGVjLmVsZW1lbnRJbmRleCxiLmNsaWVudFZlU3BlYy5jbGllbnRZb3V0dWJlRGF0YSx2b2lkIDAsYiksXy5peChhLGIsYyxkKT9iOm51bGwpOmIudHJhY2tpbmdQYXJhbXM/Xy5seChhLGIudHJhY2tpbmdQYXJhbXMsYyxkKTpudWxsfTsKXy5XeD1mdW5jdGlvbihhLGIsYyxkLGUpe18ubncoYSk7dmFyIGY9YS5EYTtfLnB3KGYsZltfLkFjXXwwLGIsKGQ9PT0iMCI/TnVtYmVyKGMpPT09MDpjPT09ZCk/dm9pZCAwOmMsZSk7cmV0dXJuIGF9O18uWHg9ZnVuY3Rpb24oYSxiKXtpZihiPT1udWxsfHxiPT0iIilyZXR1cm4gbmV3IGE7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJ6Iik7YltfLkFjXXw9MzI7cmV0dXJuIG5ldyBhKGIpfTtfLll4PWZ1bmN0aW9uKGEsLi4uYil7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLlRhKGFbMF0pO3ZhciBjPWFbMF07Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy5UYShjKX07Xy5aeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9OwpoYWE9ZnVuY3Rpb24oYSl7aWYoYS5NYyYmdHlwZW9mIGEuTWM9PSJmdW5jdGlvbiIpcmV0dXJuIGEuTWMoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhLnNwbGl0KCIiKTtpZihfLnlhKGEpKXtsZXQgYj1bXSxjPWEubGVuZ3RoO2ZvcihsZXQgZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLlp4KGEpfTsKaWFhPWZ1bmN0aW9uKGEpe2lmKGEucmQmJnR5cGVvZiBhLnJkPT0iZnVuY3Rpb24iKXJldHVybiBhLnJkKCk7aWYoIWEuTWN8fHR5cGVvZiBhLk1jIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy55YShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7bGV0IGI9W107YT1hLmxlbmd0aDtmb3IobGV0IGM9MDtjPGE7YysrKWIucHVzaChjKTtyZXR1cm4gYn1yZXR1cm4gXy5GeChhKX19fTsKamFhPWZ1bmN0aW9uKGEsYixjKXtpZihhLmZvckVhY2gmJnR5cGVvZiBhLmZvckVhY2g9PSJmdW5jdGlvbiIpYS5mb3JFYWNoKGIsYyk7ZWxzZSBpZihfLnlhKGEpfHx0eXBlb2YgYT09PSJzdHJpbmciKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpO2Vsc2V7bGV0IGQ9aWFhKGEpLGU9aGFhKGEpLGY9ZS5sZW5ndGg7Zm9yKGxldCBoPTA7aDxmO2grKyliLmNhbGwoYyxlW2hdLGQmJmRbaF0sYSl9fTskeD1mdW5jdGlvbihhLGIpe3RoaXMubz10aGlzLmo9bnVsbDt0aGlzLnY9YXx8bnVsbDt0aGlzLkI9ISFifTtheT1mdW5jdGlvbihhKXthLmp8fChhLmo9bmV3IE1hcCxhLm89MCxhLnYmJl8uUmIoYS52LGZ1bmN0aW9uKGIsYyl7YS5hZGQoXy5IYihiKSxjKX0pKX07Y3k9ZnVuY3Rpb24oYSxiKXtheShhKTtiPWJ5KGEsYik7cmV0dXJuIGEuai5oYXMoYil9O2J5PWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7YS5CJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBifTsKa2FhPWZ1bmN0aW9uKGEsYil7YiYmIWEuQiYmKGF5KGEpLGEudj1udWxsLGEuai5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSx0aGlzLnJlbW92ZShlKSxjLmxlbmd0aD4wJiYodGhpcy52PW51bGwsdGhpcy5qLnNldChieSh0aGlzLGUpLF8ueWIoYykpLHRoaXMubys9Yy5sZW5ndGgpKX0sYSkpO2EuQj1ifTtkeT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn07bGFhPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9OwpleT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/KGE9ZW5jb2RlVVJJKGEpLnJlcGxhY2UoYixsYWEpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYSk6bnVsbH07Cl8uZnk9ZnVuY3Rpb24oYSl7dGhpcy5vPXRoaXMuST10aGlzLkI9IiI7dGhpcy5ZPW51bGw7dGhpcy52PXRoaXMuaj0iIjt0aGlzLkQ9ITE7dmFyIGI7YSBpbnN0YW5jZW9mIF8uZnk/KHRoaXMuRD1hLkQsZ3kodGhpcyxhLkIpLHRoaXMuST1hLkksdGhpcy5vPWEubyxoeSh0aGlzLGEuWSksdGhpcy5qPWEuaixpeSh0aGlzLGEuSy5jbG9uZSgpKSx0aGlzLnY9YS52KTphJiYoYj1fLk1iKFN0cmluZyhhKSkpPyh0aGlzLkQ9ITEsZ3kodGhpcyxiWzFdfHwiIiwhMCksdGhpcy5JPWR5KGJbMl18fCIiKSx0aGlzLm89ZHkoYlszXXx8IiIsITApLGh5KHRoaXMsYls0XSksdGhpcy5qPWR5KGJbNV18fCIiLCEwKSxpeSh0aGlzLGJbNl18fCIiLCEwKSx0aGlzLnY9ZHkoYls3XXx8IiIpKToodGhpcy5EPSExLHRoaXMuSz1uZXcgJHgobnVsbCx0aGlzLkQpKX07Z3k9ZnVuY3Rpb24oYSxiLGMpe2EuQj1jP2R5KGIsITApOmI7YS5CJiYoYS5CPWEuQi5yZXBsYWNlKC86JC8sIiIpKX07Cmh5PWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI8MCl0aHJvdyBFcnJvcigiS2FgIitiKTthLlk9Yn1lbHNlIGEuWT1udWxsfTtpeT1mdW5jdGlvbihhLGIsYyl7YiBpbnN0YW5jZW9mICR4PyhhLks9YixrYWEoYS5LLGEuRCkpOihjfHwoYj1leShiLG1hYSkpLGEuSz1uZXcgJHgoYixhLkQpKX07Xy5qeT1mdW5jdGlvbihhLGIpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLnY9YXx8MTt0aGlzLmo9Ynx8Xy51O3RoaXMuQj0oMCxfLkNhKSh0aGlzLmFCLHRoaXMpO3RoaXMuRD1fLkVhKCl9O18ubHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9bmV3IFR4O2t5LnB1c2goayk7YiYmay5saXN0ZW4oImNvbXBsZXRlIixiKTtfLmJmKGssInJlYWR5IixrLlB1KTtmJiYoay5VPU1hdGgubWF4KDAsZikpO2gmJihrLm9hPWgpO2suc2VuZChhLGMsZCxlKX07Xy5teT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYS5yZWdpc3Rlci52YWx1ZXMoKSliLnpnKCJBQk9SVEVEIil9OwpfLm55PWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2goYi50eXBlKXtjYXNlICJtYXBwaW5nIjpyZXR1cm4gYi52YWx1ZTtjYXNlICJmYWN0b3J5IjpyZXR1cm4gYj1iLnZhbHVlKCksYS5tYXBwaW5ncy5zZXQoYy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSksYjtkZWZhdWx0OnJldHVybiBfLmViKGIsdm9pZCAwKX19OwpveT1mdW5jdGlvbihhLGIsYyl7aWYoXy54KCJkZWJ1Z193ZWJfdmVfZGF0YSIpKXt2YXIgZD1fLkIoYz8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlczshZCYmYyYmKGQ9Yy5sb2dnaW5nRGlyZWN0aXZlcyk7YTp7aWYoZD1jPy50cmFja2luZ1BhcmFtcz8/ZD8udHJhY2tpbmdQYXJhbXMpdHJ5e3ZhciBlPV8uQ28oZCk7aWYoZSl7bGV0IGg9Xy5FbyhlLDEpLGs9Xy5FbyhlLDIpO2U9e307aCE9PXZvaWQgMCYmKGUuR3M9TnVtYmVyKGgpKTtrIT09dm9pZCAwJiYoZS52ZVR5cGU9TnVtYmVyKGspKTt2YXIgZj1lO2JyZWFrIGF9fWNhdGNoKGgpe31mPXZvaWQgMH1mPy52ZVR5cGUhPT12b2lkIDAmJihhLmRhdGFzZXQudmU9U3RyaW5nKGYudmVUeXBlKSk7Zj8uR3MhPT12b2lkIDAmJihhLmRhdGFzZXQudmVJbmRleD1TdHJpbmcoZi5HcykpOyhjPWM/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSl8fChjPWIudmVUeXBlfHxiLmxvZ2dpbmdDb25maWc/LnZlVHlwZSk7CmMmJihhLmRhdGFzZXQudmU9U3RyaW5nKGMpKX19O3B5PWZ1bmN0aW9uKGEpe3JldHVybiBhLmxheWVyIT09dm9pZCAwP2EubGF5ZXI6YS5wYXJlbnQ/cHkoYS5wYXJlbnQpOmEubGF5ZXI9MH07cXk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnB4LmdldChhKXx8e1plOmJ9O2MuWmU9YjtfLnB4LnNldChhLGMpO2EuZ2V0U2NyZWVuTGF5ZXI9KCk9PnB5KGMuWmUpfTtyeT1mdW5jdGlvbihhKXtmb3IoYT1hLnBhcmVudE5vZGU7YSYmIV8ucHguZ2V0KGEpPy5XeCYmIShhLmpmPz9hKS5ESjspYT1hLnBhcmVudE5vZGV8fGEuaG9zdDtpZihhKXJldHVybiBfLnB4LmdldChhKX07Xy5zeT1mdW5jdGlvbihhKXtpZihhKXtfLnB4LmRlbGV0ZShhKTtsZXQgYj1fLnkoKS5yZXNvbHZlKF8uTHgpO18uR3goYSxiKX19OwpfLnV5PWZ1bmN0aW9uKGEsYixjPSExKXtpZihjKXtpZihjPWEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpLGIuZGF0YSYmIWIuQkl8fGMpXy50digoKT0+e3ZhciBkPV8uQnYoYi5kYXRhKTt0eShhLGQpO295KGEsYixkKX0sImEiKSxfLll1KCgpPT52b2lkIF8uc3koYSkpfWVsc2UgdHlwZW9mIGIuZGF0YSE9PSJmdW5jdGlvbiImJihjPWIuZGF0YSx0eShhLGMpLG95KGEsYixjKSl9Owp0eT1mdW5jdGlvbihhLGIpe25hYSsrO3Z5KGEsYikmJl8uQ2soKS5HYSgoKT0+e18ucXgoXy5DaygpLCgpPT57aWYodnkoYSxiKSYmYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudD09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYSl7dmFyIGM7aWYoYS5nZXRBdHRyaWJ1dGUoImxheWVyIikpe3ZhciBkPWM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJsYXllciIpKSxlPV8ucHguZ2V0KGEpO2U/ZS5aZS5sYXllcj1kOnF5KGEsbmV3IHd5KGQpKTsoZD1yeShhKSkmJl8ucHguZ2V0KGEpPy5aZS5zZXRQYXJlbnQoZC5aZSl9ZWxzZShjPV8ucHguZ2V0KGEpKT9jPXB5KGMuWmUpOihjPXB5LGQ9bmV3IHd5LChlPXJ5KGEpKSYmZC5zZXRQYXJlbnQoZS5aZSkscXkoYSxkKSxjPWMoZCkpO2M/PyhjPTApO2Q9YS5nZXRBdHRyaWJ1dGUoImNsaWVudC12ZS10eXBlIik7ZT1OdW1iZXIoZCk7dmFyIGY9ITE7ZD0hMTt2YXIgaD1fLnB4LmdldChhKTtoJiYoaFtfLm94XSE9PWJ8fGUmJl8ucHguZ2V0KGEpPy5VZD09PQp2b2lkIDApJiYoaFtfLm94XT1iLGY9ZD1oLld4PSEwKTtfLnB4LmhhcyhhKSYmKF8ucHguZ2V0KGEpLlVkPWUpO2EudmlzdWFsRWxlbWVudCYmKGQ9ITApO3ZhciBrO18ueCgid2l6X25leHRfbGRfZml4X2NsaWVudF92ZV9zcGVjIik/az1fLkIoYj8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM6az1iPy5sb2dnaW5nRGlyZWN0aXZlcztfLngoIndpel9uZXh0X2NsaWVudF92ZV9wYXJlbnRfZml4Iik/ayYmKGsuY2xpZW50VmVTcGVjfHxrLnRyYWNraW5nUGFyYW1zKSYmKGg9KGg9Xy54eChhKSk/Xy5VeChoKTpudWxsLGs9VngoXy5oeCgpLGssaHx8dm9pZCAwLGMpKSYmKGEudmlzdWFsRWxlbWVudD1rKTprJiZrLmNsaWVudFZlU3BlYyYmKGg9Xy5VeChhKSxrPVZ4KF8uaHgoKSxrLGh8fHZvaWQgMCxjKSkmJihhLnZpc3VhbEVsZW1lbnQ9ayk7IWEudmlzdWFsRWxlbWVudCYmZSYmZiYmKGEudmVUeXBlPWUsaz12b2lkIDAsCl8ueCgid2l6X25leHRfY2xpZW50X3ZlX3BhcmVudF9maXgiKSYmKGU9Xy54eChhKSkmJihrPV8uVXgoZSkpLGs9Xy5FeChfLmh4KCksYSxrLGMpLGEudmlzdWFsRWxlbWVudD1rKTtkJiYoaz1fLnkoKS5yZXNvbHZlKF8uTHgpLF8uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmssbGF5ZXI6YyxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifSxOYzp7VmI6ITEsc3RhdGU6ImhpZGRlbiJ9fSkpfX0sMCl9LDgpfTt2eT1mdW5jdGlvbihhLGIpe3JldHVybiBiPy50cmFja2luZ1BhcmFtc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXN8fF8uQihiPy5yZW5kZXJlckNvbnRleHQsXy5LeCl8fGEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpPyEwOiExfTtvYWE9L15odHRwcz8kL2k7cGFhPVsiUE9TVCIsIlBVVCJdO2t5PVtdO18uSGEoVHgsXy5nZik7Xy5nPVR4LnByb3RvdHlwZTtfLmcuUHU9ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKTtfLnhiKGt5LHRoaXMpfTsKXy5nLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5yYSl0aHJvdyBFcnJvcigiUGFgIit0aGlzLmhhKyJgIithKTtiPWI/Yi50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuaGE9YTt0aGlzLkI9IiI7dGhpcy5aPSExO3RoaXMuaj0hMDt0aGlzLnJhPW5ldyBYTUxIdHRwUmVxdWVzdDt0aGlzLnJhLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLnlnKSgoMCxfLkNhKSh0aGlzLmdyLHRoaXMpKTt0cnl7dGhpcy5nYT0hMCx0aGlzLnJhLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuZ2E9ITF9Y2F0Y2goZil7UXgodGhpcyxmKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKWZvcihsZXQgZiBvZiBkLmtleXMoKSljLnNldChmLApkLmdldChmKSk7ZWxzZSB0aHJvdyBFcnJvcigiUWFgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmPT4iY29udGVudC10eXBlIj09Zi50b0xvd2VyQ2FzZSgpKTtlPV8udS5Gb3JtRGF0YSYmYSBpbnN0YW5jZW9mIF8udS5Gb3JtRGF0YTshKF8uc2IocGFhLGIpPj0wKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Zm9yKGxldCBbZixoXW9mIGMpdGhpcy5yYS5zZXRSZXF1ZXN0SGVhZGVyKGYsaCk7dGhpcy55YSYmKHRoaXMucmEucmVzcG9uc2VUeXBlPXRoaXMueWEpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5yYSYmdGhpcy5yYS53aXRoQ3JlZGVudGlhbHMhPT10aGlzLm9hJiYodGhpcy5yYS53aXRoQ3JlZGVudGlhbHM9dGhpcy5vYSk7dHJ5e3RoaXMuRCYmKGNsZWFyVGltZW91dCh0aGlzLkQpLHRoaXMuRD1udWxsKSx0aGlzLlU+MCYmKHRoaXMuRD1zZXRUaW1lb3V0KHRoaXMuZEIuYmluZCh0aGlzKSwKdGhpcy5VKSksdGhpcy5JPSEwLHRoaXMucmEuc2VuZChhKSx0aGlzLkk9ITF9Y2F0Y2goZil7UXgodGhpcyxmKX19O18uZy5kQj1mdW5jdGlvbigpe3R5cGVvZiBfLkNxIT0idW5kZWZpbmVkIiYmdGhpcy5yYSYmKHRoaXMuQj0iVGltZWQgb3V0IGFmdGVyICIrdGhpcy5VKyJtcywgYWJvcnRpbmciLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTtfLmcuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJhJiZ0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxQeCh0aGlzKSl9O18uZy5sYT1mdW5jdGlvbigpe3RoaXMucmEmJih0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEpLFB4KHRoaXMsITApKTtUeC56Yi5sYS5jYWxsKHRoaXMpfTsKXy5nLmdyPWZ1bmN0aW9uKCl7dGhpcy5pYSgpfHwodGhpcy5nYXx8dGhpcy5JfHx0aGlzLnY/U3godGhpcyk6dGhpcy5seigpKX07Xy5nLmx6PWZ1bmN0aW9uKCl7U3godGhpcyl9O18uZy5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5yYX07Xy5nLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yYT90aGlzLnJhLnJlYWR5U3RhdGU6MCk9PTR9O18uZy5pc1N1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYT1fLlJ4KHRoaXMpLGI7aWYoIShiPV8uc2YoYSkpKXtpZihhPWE9PT0wKWE9Xy5PYihTdHJpbmcodGhpcy5oYSkpLGE9IW9hYS50ZXN0KGEpO2I9YX1yZXR1cm4gYn07Xy5nLmdldExhc3RFcnJvcj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgdGhpcy5CPT09InN0cmluZyI/dGhpcy5COlN0cmluZyh0aGlzLkIpfTtfLmc9JHgucHJvdG90eXBlOwpfLmcuYWRkPWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO3ZhciBjPXRoaXMuai5nZXQoYSk7Y3x8dGhpcy5qLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7YXkodGhpcyk7YT1ieSh0aGlzLGEpO3JldHVybiB0aGlzLmouaGFzKGEpPyh0aGlzLnY9bnVsbCx0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoLHRoaXMuai5kZWxldGUoYSkpOiExfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy52PW51bGw7dGhpcy5vPTB9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7YXkodGhpcyk7cmV0dXJuIHRoaXMubz09MH07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtheSh0aGlzKTt0aGlzLmouZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Cl8uZy5yZD1mdW5jdGlvbigpe2F5KHRoaXMpO3ZhciBhPUFycmF5LmZyb20odGhpcy5qLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5qLmtleXMoKSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YVtkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyljLnB1c2goYltkXSl9cmV0dXJuIGN9O18uZy5NYz1mdW5jdGlvbihhKXtheSh0aGlzKTt2YXIgYj1bXTtpZih0eXBlb2YgYT09PSJzdHJpbmciKWN5KHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMuai5nZXQoYnkodGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmoudmFsdWVzKCkpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9OwpfLmcuc2V0PWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO2N5KHRoaXMsYSkmJih0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoKTt0aGlzLmouc2V0KGEsW2JdKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gYjthPXRoaXMuTWMoYSk7cmV0dXJuIGEubGVuZ3RoPjA/U3RyaW5nKGFbMF0pOmJ9OwpfLmcudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLnYpcmV0dXJuIHRoaXMudjtpZighdGhpcy5qKXJldHVybiIiO3ZhciBhPVtdLGI9QXJyYXkuZnJvbSh0aGlzLmoua2V5cygpKTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGM9YltkXTtsZXQgZT1lbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKTtjPXRoaXMuTWMoYyk7Zm9yKGxldCBmPTA7ZjxjLmxlbmd0aDtmKyspe2xldCBoPWU7Y1tmXSE9PSIiJiYoaCs9Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoY1tmXSkpKTthLnB1c2goaCl9fXJldHVybiB0aGlzLnY9YS5qb2luKCImIil9O18uZy5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyAkeDthLnY9dGhpcy52O3RoaXMuaiYmKGEuaj1uZXcgTWFwKHRoaXMuaiksYS5vPXRoaXMubyk7cmV0dXJuIGF9OwpfLmcuZXh0ZW5kPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YXJndW1lbnRzLmxlbmd0aDtiKyspamFhKGFyZ3VtZW50c1tiXSxmdW5jdGlvbihjLGQpe3RoaXMuYWRkKGQsYyl9LHRoaXMpfTt2YXIgeHk9L1sjXC9cP0BdL2cscWFhPS9bI1w/XS9nLHJhYT0vWyNcPzpdL2csc2FhPS8jL2csbWFhPS9bI1w/QF0vZzsKXy5meS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMuQjtiJiZhLnB1c2goZXkoYix4eSwhMCksIjoiKTt2YXIgYz10aGlzLm87aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkkpJiZhLnB1c2goZXkoYix4eSwhMCksIkAiKSxhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSkucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYz10aGlzLlksYyE9bnVsbCYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5qKXRoaXMubyYmYy5jaGFyQXQoMCkhPSIvIiYmYS5wdXNoKCIvIiksYS5wdXNoKGV5KGMsYy5jaGFyQXQoMCk9PSIvIj9xYWE6cmFhLCEwKSk7KGM9dGhpcy5LLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMudikmJmEucHVzaCgiIyIsZXkoYyxzYWEpKTtyZXR1cm4gYS5qb2luKCIiKX07Cl8uZnkucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jbG9uZSgpLGM9ISFhLkI7Yz9neShiLGEuQik6Yz0hIWEuSTtjP2IuST1hLkk6Yz0hIWEubztjP2Iubz1hLm86Yz1hLlkhPW51bGw7dmFyIGQ9YS5qO2lmKGMpaHkoYixhLlkpO2Vsc2UgaWYoYz0hIWEuail7aWYoZC5jaGFyQXQoMCkhPSIvIilpZih0aGlzLm8mJiF0aGlzLmopZD0iLyIrZDtlbHNle3ZhciBlPWIuai5sYXN0SW5kZXhPZigiLyIpO2UhPS0xJiYoZD1iLmouc2xpY2UoMCxlKzEpK2QpfWU9ZDtpZihlPT0iLi4ifHxlPT0iLiIpZD0iIjtlbHNlIGlmKGUuaW5kZXhPZigiLi8iKSE9LTF8fGUuaW5kZXhPZigiLy4iKSE9LTEpe2Q9ZS5sYXN0SW5kZXhPZigiLyIsMCk9PTA7ZT1lLnNwbGl0KCIvIik7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDspe2xldCBrPWVbaCsrXTtrPT0iLiI/ZCYmaD09ZS5sZW5ndGgmJmYucHVzaCgiIik6az09Ii4uIj8oKGYubGVuZ3RoPjF8fGYubGVuZ3RoPT0KMSYmZlswXSE9IiIpJiZmLnBvcCgpLGQmJmg9PWUubGVuZ3RoJiZmLnB1c2goIiIpKTooZi5wdXNoKGspLGQ9ITApfWQ9Zi5qb2luKCIvIil9ZWxzZSBkPWV9Yz9iLmo9ZDpjPWEuSy50b1N0cmluZygpIT09IiI7Yz9peShiLGEuSy5jbG9uZSgpKTpjPSEhYS52O2MmJihiLnY9YS52KTtyZXR1cm4gYn07Xy5meS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uZnkodGhpcyl9O18uZnkucHJvdG90eXBlLmFtPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uSGEoXy5qeSxfLmdmKTtfLmc9Xy5qeS5wcm90b3R5cGU7Xy5nLmVuYWJsZWQ9ITE7Xy5nLnNjPW51bGw7Xy5nLnNldEludGVydmFsPWZ1bmN0aW9uKGEpe3RoaXMudj1hO3RoaXMuc2MmJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnNjJiZ0aGlzLnN0b3AoKX07Cl8uZy5hQj1mdW5jdGlvbigpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9Xy5FYSgpLXRoaXMuRDthPjAmJmE8dGhpcy52Ki44P3RoaXMuc2M9dGhpcy5qLnNldFRpbWVvdXQodGhpcy5CLHRoaXMudi1hKToodGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKSx0aGlzLmRpc3BhdGNoRXZlbnQoInRpY2siKSx0aGlzLmVuYWJsZWQmJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpKX19O18uZy5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnNjfHwodGhpcy5zYz10aGlzLmouc2V0VGltZW91dCh0aGlzLkIsdGhpcy52KSx0aGlzLkQ9Xy5FYSgpKX07Xy5nLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKX07Xy5nLmxhPWZ1bmN0aW9uKCl7Xy5qeS56Yi5sYS5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLmp9O18uQXk9bmV3IF8uSSgiY29udGludWF0aW9uQ29tbWFuZCIpO18uQnk9bmV3IF8uSSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO18uQ3k9bmV3IF8uSSgidW5kb0ZlZWRiYWNrRW5kcG9pbnQiKTtfLkR5PW5ldyBfLkkoInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgdGFhO3RhYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVnaXN0ZXI9bmV3IE1hcH1jbGVhcigpe18ubXkodGhpcyk7dGhpcy5yZWdpc3Rlci5jbGVhcigpfX07Xy5FeT1uZXcgdGFhO3ZhciB1YWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e319Y29udGFpbnMoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmosYSl9Z2V0KGEpe2lmKHRoaXMuY29udGFpbnMoYSkpcmV0dXJuIHRoaXMualthXX1zZXQoYSxiKXt0aGlzLmpbYV09Yn1yZCgpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmopfXJlbW92ZShhKXtkZWxldGUgdGhpcy5qW2FdfX07Xy5HeT1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcHBpbmdzPW5ldyB1YWE7dGhpcy5qPW5ldyBTZXR9Z2V0KGEpe3ZhciBiPXRoaXMubWFwcGluZ3MuZ2V0KGEudG9TdHJpbmcoKSk7cmV0dXJuIF8ubnkodGhpcyxiLGEpfW9uTG9hZEVycm9yKGEpe3RoaXMuai5hZGQoYSk7cmV0dXJuKCk9Pnt0aGlzLmouZGVsZXRlKGEpfX19O18uSHk9bmV3IF8uVnMoIkFTWU5DX0lOTkVSVFVCRV9UUkFOU1BPUlRfVE9LRU4iKTtfLkl5PW5ldyBfLlZzKCJJTk5FUlRVQkVfVFJBTlNQT1JUX1RPS0VOIik7Xy5KeT1uZXcgXy5WcygiUkVTUE9OU0VfUFJPQ0VTU09SX01BUF9UT0tFTiIpO3ZhciB3eT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmxheWVyPWF9c2V0UGFyZW50KGEpe3RoaXMucGFyZW50PWF9fTt2YXIgbmFhPTA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udmFhPSJwbGF5ZXJfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB4YWEseWFhLHphYSxWeSwkeSxheixieixjeixBYWEsaHosQmFhLENhYSxpeixreixFYWEsdHosd2FhLFJ5LFN5LEhhYSxJYWEsRGFhLEZhYSxkeixqeixleixmejtfLkt5PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkJmKXJldHVybiBhO3ZhciBiPW5ldyBfLkJmKF8uZ2QpO18uQWYoYiwyLGEpO3JldHVybiBifTtfLkx5PWZ1bmN0aW9uKGEsYil7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18uTXk9ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYyliPTMxKmIrYS5jaGFyQ29kZUF0KGMpPj4+MDtyZXR1cm4gYn07Xy5OeT1mdW5jdGlvbihhKXthPV8uTWIoYSk7cmV0dXJuIF8uSWIobnVsbCxudWxsLG51bGwsbnVsbCxhWzVdLGFbNl0sYVs3XSl9O18uT3k9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCIjIik7cmV0dXJuIGI8MD9hOmEuc2xpY2UoMCxiKX07Cl8uUHk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5zZWFyY2goXy5ZYiksZD0wLGUsZj1bXTsoZT1fLlhiKGEsZCxiLGMpKT49MDspZi5wdXNoKGEuc3Vic3RyaW5nKGQsZSkpLGQ9TWF0aC5taW4oYS5pbmRleE9mKCImIixlKSsxfHxjLGMpO2YucHVzaChhLnNsaWNlKGQpKTtyZXR1cm4gZi5qb2luKCIiKS5yZXBsYWNlKHdhYSwiJDEiKX07eGFhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iJjEyOD8wOi0xLGU9YS5sZW5ndGgsZjtpZihmPSEhZSlmPWFbZS0xXSxmPWYhPW51bGwmJnR5cGVvZiBmPT09Im9iamVjdCImJmYuY29uc3RydWN0b3I9PT1PYmplY3Q7dmFyIGg9ZSsoZj8tMTowKTtmb3IoYj1iJjEyOD8xOjA7YjxoO2IrKyljKGItZCxhW2JdKTtpZihmKXthPWFbZS0xXTtmb3IobGV0IGsgaW4gYSkhaXNOYU4oaykmJmMoK2ssYVtrXSl9fTtfLlF5PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iKXJldHVybiBhO2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuISFhfTsKeWFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uR2EoXy5KYyk7cmV0dXJuIGI/YVtiXTp2b2lkIDB9O3phYT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOnJldHVybiBSeXx8KFJ5PVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/U3l8fChTeT1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fTtfLlR5PWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDI1NiZhKX07Xy5VeT1mdW5jdGlvbihhLGIpe3JldHVybiBhPSgyJmI/YXwyOmEmLTMpJi0yNzN9O1Z5PWZ1bmN0aW9uKGEsYil7MiZiJiYoYXw9Mik7cmV0dXJuIGF8MX07Cl8uV3k9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCxrKXt2YXIgbD1fLkJjKGEsYyk7Zj1sPzE6ZjtoPSEhaHx8Zj09PTM7bD1rJiYhbDsoZj09PTJ8fGwpJiZfLm13KGEpJiYoYj1hLkRhLGM9YltfLkFjXXwwKTthPV8uZGQoYixlKTtrPUFycmF5LmlzQXJyYXkoYSk/YTpfLm1yO3ZhciBtPWs9PT1fLm1yPzc6a1tfLkFjXXwwLG49VnkobSxjKTtpZihhPSEoNCZuKSl7dmFyIHA9ayxyPWM7bGV0IHQ9ISEoMiZuKTt0JiYocnw9Mik7bGV0IHY9IXQsej0hMCxFPTAsQT0wO2Zvcig7RTxwLmxlbmd0aDtFKyspe2xldCBGPV8ua3cocFtFXSxkLHIpO2lmKEYgaW5zdGFuY2VvZiBkKXtpZighdCl7bGV0IEM9Xy5CYyhGKTt2JiYodj0hQyk7eiYmKHo9Qyl9cFtBKytdPUZ9fUE8RSYmKHAubGVuZ3RoPUEpO258PTQ7bj16P24mLTQwOTc6bnw0MDk2O249dj9ufDg6biYtOX1uIT09bSYmKGtbXy5BY109biwyJm4mJk9iamVjdC5mcmVlemUoaykpO2lmKGwmJiEoOCZufHwhay5sZW5ndGgmJihmPT09MXx8CihmIT09ND8wOjImbnx8ISgxNiZuKSYmMzImYykpKSl7Xy5UeShuKSYmKGs9Wy4uLmtdLG49Xy5VeShuLGMpLGM9Xy5wdyhiLGMsZSxrKSk7ZD1rO2w9bjtmb3IobT0wO208ZC5sZW5ndGg7bSsrKXA9ZFttXSxuPV8ubHcocCkscCE9PW4mJihkW21dPW4pO2x8PTg7bj1sPWQubGVuZ3RoP2x8NDA5NjpsJi00MDk3O2tbXy5BY109bn1kPWs7bD1rPW47Zj09PTF8fChmIT09ND8wOjIma3x8ISgxNiZrKSYmMzImYyk/Xy5UeShrKXx8KGt8PSFkLmxlbmd0aHx8YSYmISg0MDk2JmspfHwzMiZjJiYhKDQwOTYma3x8MTYmayk/MjoyNTYsayE9PWwmJihkW18uQWNdPWspLE9iamVjdC5mcmVlemUoZCkpOihmPT09MiYmXy5UeShrKSYmKGQ9Wy4uLmRdLGw9MCxrPV8uVXkoayxjKSxjPV8ucHcoYixjLGUsZCkpLF8uVHkoayl8fChofHwoa3w9MTYpLGshPT1sJiYoZFtfLkFjXT1rKSkpOzIma3x8ISg0MDk2Jmt8fDE2JmspfHxfLm93KGIsYyk7cmV0dXJuIGR9OwpfLlh5PWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj4+PTc7YS5qLnB1c2goYil9O18uWXk9ZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCE9PTAmJihhLnYucHVzaChiKSxhLm8rPWIubGVuZ3RoKX07Xy5aeT1mdW5jdGlvbihhLGIsYyl7Xy5YeShhLmosYio4K2MpfTskeT1mdW5jdGlvbihhLGIpe18uWnkoYSxiLDIpO2I9YS5qLmVuZCgpO18uWXkoYSxiKTtiLnB1c2goYS5vKTtyZXR1cm4gYn07YXo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBvcCgpO2ZvcihjPWEubythLmoubGVuZ3RoKCktYztjPjEyNzspYi5wdXNoKGMmMTI3fDEyOCksYz4+Pj03LGEubysrO2IucHVzaChjKTthLm8rK307Yno9ZnVuY3Rpb24oYSxiKXtpZihhIGluc3RhbmNlb2YgXy5NcilyZXR1cm4gYS5EYTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBfLlhjKGEsYlswXSxiWzFdKX07CmN6PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtBYWE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSkmJiEhYS5sZW5ndGgmJnR5cGVvZiBhWzBdPT09Im51bWJlciImJmFbMF0+MH07Cmh6PWZ1bmN0aW9uKGEpe3ZhciBiPUJhYSxjPUNhYSxkPWFbZHpdO2lmKGQpcmV0dXJuIGQ7ZD17fTtkLlpIPWE7ZC5PcT16YWEoYVswXSk7dmFyIGU9YVsxXSxmPTE7ZSYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQuZXh0ZW5zaW9ucz1lLGU9YVsrK2ZdLHR5cGVvZiBlPT09ImZ1bmN0aW9uIiYmKGQuU3g9ITAsZXo/Pyhlej1lKSxmej8/KGZ6PWFbZisxXSksZT1hW2YrPTJdKSk7Zm9yKHZhciBoPXt9O2UmJkFhYShlKTspe2Zvcih2YXIgaz0wO2s8ZS5sZW5ndGg7aysrKWhbZVtrXV09ZTtlPWFbKytmXX1mb3Ioaz0xO2UhPT12b2lkIDA7KXt0eXBlb2YgZT09PSJudW1iZXIiJiYoays9ZSxlPWFbKytmXSk7bGV0IG47dmFyIGw9dm9pZCAwO2UgaW5zdGFuY2VvZiBfLmd6P249ZToobj1EYWEsZi0tKTtpZihuPy5vKXtlPWFbKytmXTtsPWE7dmFyIG09Zjt0eXBlb2YgZT09PSJmdW5jdGlvbiImJihlPWUoKSxsW21dPWUpO2w9ZX1lPWFbKytmXTttPWsrMTt0eXBlb2YgZT09PSJudW1iZXIiJiYKZTwwJiYobS09ZSxlPWFbKytmXSk7Zm9yKDtrPG07aysrKXtsZXQgcD1oW2tdO2w/YyhkLGssbixsLHApOmIoZCxrLG4scCl9fXJldHVybiBhW2R6XT1kfTtCYWE9ZnVuY3Rpb24oYSxiLGMpe2FbYl09Yy5qfTtDYWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixoPWMuajthW2JdPShrLGwsbSk9PmgoayxsLG0sZnx8KGY9aHooZCkuT3EpLGV8fChlPWl6KGQpKSl9O2l6PWZ1bmN0aW9uKGEpe3ZhciBiPWFbanpdO2lmKCFiKXtsZXQgYz1oeihhKTtiPShkLGUpPT5reihkLGUsYyk7YVtqel09Yn1yZXR1cm4gYn07a3o9ZnVuY3Rpb24oYSxiLGMpe3hhYShhLGFbXy5BY118MCwoZCxlKT0+e2lmKGUhPW51bGwpe3ZhciBmPUVhYShjLGQpO2Y/ZihiLGUsZCk6ZDw1MDB8fF8ueGMoXy5rciwzKX19KTsoYT15YWEoYSkpJiZhLmN3KChkLGUsZik9PntfLll5KGIsYi5qLmVuZCgpKTtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKV8uWXkoYixfLnd3KGZbZF0pfHxuZXcgVWludDhBcnJheSgwKSl9KX07CkVhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWFbYl07aWYoYylyZXR1cm4gYztpZihjPWEuZXh0ZW5zaW9ucylpZihjPWNbYl0pe2M9QXJyYXkuaXNBcnJheShjKT9jWzBdaW5zdGFuY2VvZiBfLmd6P2M6W0ZhYSxjXTpbYyx2b2lkIDBdO3ZhciBkPWNbMF0uajtpZihjPWNbMV0pe2xldCBlPWl6KGMpLGY9aHooYykuT3E7Yz1hLlN4P2Z6KGYsZSk6KGgsayxsKT0+ZChoLGssbCxmLGUpfWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtfLmx6PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9O18ubXo9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5ReShiKTtiIT1udWxsJiYoXy5aeShhLGMsMCksYS5qLmoucHVzaChiPzE6MCkpfTtfLm56PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtfLnB6PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfLm96KHRoaXMsYSl9fTsKXy5xej1mdW5jdGlvbigpe2lmKCFfLkxqLmlzRW5hYmxlZCgpKXJldHVybiExO2lmKCFfLkxqLmlzRW1wdHkoKSlyZXR1cm4hMDtfLkxqLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse3ZqOjYwfSk7aWYoXy5Mai5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpIT09IjEiKXJldHVybiExO18uTGoucmVtb3ZlKCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH07Xy5yej1mdW5jdGlvbigpe3JldHVybihfLmhyfHxfLmlyKSYmXy5NaygiYXBwbGV3ZWJraXQiKSYmIV8uTWsoInZlcnNpb24iKSYmKCFfLk1rKCJzYWZhcmkiKXx8Xy5NaygiZ3NhLyIpKX07Xy5zej1mdW5jdGlvbigpe3JldHVybiBfLk5kKCl8fF8ucnooKXx8Xy5lciYmXy5NaygidmVyc2lvbi8iKT8hMDpfLncoIkVPTV9WSVNJVE9SX0RBVEEiKT8hMTohMH07Cl8udXo9ZnVuY3Rpb24oYSxiLGMsZD0hMCl7dmFyIGU9Xy53KCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiLFtdKSxmPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2YmJmUucHVzaChmKTtmPV8uUGIoYSk7aWYoXy5zYihlLGYpPj0wfHwhZiYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTApaWYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksXy5MeShlLGEpLGE9ZS5ocmVmKWlmKGE9Xy5OeShhKSxhPV8uT3koYSkpZCYmIWIuY3NuJiYoYi5pdGN0fHxiLnZlZCkmJihiPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl9LGIpKSxjPyhjPXBhcnNlSW50KGMsMTApLGlzRmluaXRlKGMpJiZjPjAmJnR6KGEsYixjKSk6dHooYSxiKX07dHo9ZnVuY3Rpb24oYSxiLGMpe2E9Xy52eihhKTtiPWI/Xy5VYihiKToiIjtjPWN8fDU7Xy5zeigpJiZfLk1qKGEsYixjKX07Xy52ej1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgR2FhKWE9Xy5QeShhLGIpO3JldHVybiJTVC0iK18uTXkoYSkudG9TdHJpbmcoMzYpfTsKXy53ej17fTt3YWE9L1s/Jl0oJHwjKS87SGFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLmoubGVuZ3RofWVuZCgpe3ZhciBhPXRoaXMuajt0aGlzLmo9W107cmV0dXJuIGF9d3JpdGVVaW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfXdyaXRlSW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfX07SWFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52PVtdO3RoaXMubz0wO3RoaXMuaj1uZXcgSGFhfX07Xy5nej1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO2E9Xy5HYShfLnpyKTt0aGlzLm89ISFhJiZiPT09YXx8ITF9fTtEYWE9bmV3IF8uZ3ooY3osXy56cik7RmFhPW5ldyBfLmd6KGN6LF8uenIpO2R6PVN5bWJvbCgpO2p6PVN5bWJvbCgpOwpfLm96PShhLGIpPT57dmFyIGM9bmV3IElhYTtreihhLkRhLGMsaHooYikpO18uWXkoYyxjLmouZW5kKCkpO2E9bmV3IFVpbnQ4QXJyYXkoYy5vKTtiPWMudjt2YXIgZD1iLmxlbmd0aCxlPTA7Zm9yKGxldCBmPTA7ZjxkO2YrKyl7bGV0IGg9YltmXTthLnNldChoLGUpO2UrPWgubGVuZ3RofWMudj1bYV07cmV0dXJuIGF9O18ueHo9Xy5seihfLm16LF8uQXIpOwpfLnl6PWZ1bmN0aW9uKGEsYixjPV8uenIpe3JldHVybiBuZXcgXy5neihiLGMpfShmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaigpIT09MilyZXR1cm4hMTt2YXIgZj1hLm87ZD1fLlhjKHZvaWQgMCxkWzBdLGRbMV0pO3ZhciBoPWJbXy5BY118MDtpZihoJjIpdGhyb3cgRXJyb3IoKTt2YXIgaz1oJjEyOD9fLnd6OnZvaWQgMCxsPV8uZGQoYixjLGspO2w9QXJyYXkuaXNBcnJheShsKT9sOl8ubXI7dmFyIG09bD09PV8ubXI/NzpsW18uQWNdfDAsbj1WeShtLGgpO2lmKDImbnx8Xy5UeShuKXx8MTYmbiluPT09bXx8Xy5UeShuKXx8KGxbXy5BY109biksbD1bLi4ubF0sbT0wLG49Xy5VeShuLGgpLF8ucHcoYixoLGMsbCxrKTtuJj0tMTM7biE9PW0mJihsW18uQWNdPW4pO2wucHVzaChkKTtmLmNhbGwoYSxkLGUpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8ubnooYSxiW2ZdLGMsZCxlKTsKYT1iW18uQWNdfDA7YSYxfHwoYltfLkFjXT1hfDEpfX0pO18ueno9bmV3IF8uSSgic2lnbmFsU2VydmljZUVuZHBvaW50Iik7Xy5Bej1uZXcgXy5JKCJwbGF5bGlzdEVkaXRFbmRwb2ludCIpO3ZhciBHYWE9ImFic29sdXRlX2V4cGVyaW1lbnRzIGFwcCBjb25kaXRpb25hbF9leHBlcmltZW50cyBkZWJ1Z2NzcyBkZWJ1Z2pzIGV4cGZsYWcgZm9yY2VkX2V4cGVyaW1lbnRzIHBiaiBwYmpyZWxvYWQgc2JiIHNwZiBzcGZyZWxvYWQgc3JfYm5zX2FkZHJlc3Mgc3R0aWNrIi5zcGxpdCgiICIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRXosRnosQnosR3osSmFhO18uQ3o9ZnVuY3Rpb24oYSl7cmV0dXJuISEoKEJ6KGBmJHtNYXRoLmZsb29yKGEvMzEpKzF9YCl8fDApJjE8PGElMzEpfTtfLkR6PWZ1bmN0aW9uKGEsYil7dmFyIGM9YGYke01hdGguZmxvb3IoYS8zMSkrMX1gO2E9MTw8YSUzMTt2YXIgZD1CeihjKXx8MDtkPWI/ZHxhOmQmfmE7ZD09PTA/ZGVsZXRlIF8ueHNbY106Xy54c1tjXT1kLnRvU3RyaW5nKDE2KS50b1N0cmluZygpfTtFej1mdW5jdGlvbihhKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChhKSl0aHJvdyBFcnJvcigiZmFgIithKTt9O0Z6PWZ1bmN0aW9uKGEpe2lmKCEvXlx3KyQvLnRlc3QoYSkpdGhyb3cgRXJyb3IoImdhYCIrYSk7fTtCej1mdW5jdGlvbihhKXthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChhKT9wYXJzZUludChhLDE2KTpudWxsfTsKXy5Iej1mdW5jdGlvbigpe0d6fHwoR3o9bmV3IEphYSk7cmV0dXJuIEd6fTtfLkl6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT57aWYoXy5CcShhKSlyZXR1cm4hMTtfLkFxKGEsdm9pZCAwLHZvaWQgMCk7cmV0dXJuITB9KSgpfTsKSmFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPV8udygiQUxUX1BSRUZfQ09PS0lFX05BTUUiLCJQUkVGIik7dGhpcy5vPV8udygiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIGE9Xy5Mai5nZXQodGhpcy5qLHZvaWQgMCk7YSYmdGhpcy5wYXJzZShhKX1nZXQoYSxiKXtGeihhKTtFeihhKTthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGw/YTpiP2I6IiJ9c2V0KGEsYil7RnooYSk7RXooYSk7aWYoYj09bnVsbCl0aHJvdyBFcnJvcigiZWEiKTtfLnhzW2FdPWIudG9TdHJpbmcoKX1yZW1vdmUoYSl7RnooYSk7RXooYSk7ZGVsZXRlIF8ueHNbYV19c2F2ZSgpe18uTWoodGhpcy5qLHRoaXMuZHVtcCgpLDYzMDcyRTMsdGhpcy5vLCEwKX1jbGVhcigpe2ZvcihsZXQgYSBpbiBfLnhzKWRlbGV0ZSBfLnhzW2FdfWR1bXAoKXt2YXIgYT1bXTtmb3IobGV0IGIgaW4gXy54cylfLnhzLmhhc093blByb3BlcnR5KGIpJiYKYS5wdXNoKGAke2J9PWArZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhfLnhzW2JdKSkpO3JldHVybiBhLmpvaW4oIiYiKX1wYXJzZShhKXthPWRlY29kZVVSSUNvbXBvbmVudChhKS5zcGxpdCgiJiIpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgYj1hW2NdLnNwbGl0KCI9Iik7bGV0IGQ9YlswXTsoYj1iWzFdKSYmKF8ueHNbZF09Yi50b1N0cmluZygpKX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExhYSxLYWE7Xy5Kej1mdW5jdGlvbihhLGIpe2Eudi5zZXQoYi5qYSxiKTt2YXIgYz1hLmouZ2V0KGIuamEpO2lmKGMpdHJ5e2MuUWgoYS5yZXNvbHZlKGIuamEpKX1jYXRjaChkKXtjLlF6KGQpfX07Xy5Lej1mdW5jdGlvbihhLGI9Xy5hYil7cmV0dXJuIF8uYmIoYSxiKXx8Xy5GcX07Xy5Mej1mdW5jdGlvbigpe3JldHVybiBfLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07Xy5Nej1mdW5jdGlvbihhLGIpe3ZhciBjPV8uTHooKTtpZihjJiZiKXtsZXQgZD1jLnN1YnNjcmliZShhLGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLGY9KCk9PntfLlJzW2RdJiZiLmFwcGx5JiZ0eXBlb2YgYi5hcHBseT09ImZ1bmN0aW9uIiYmYi5hcHBseSh3aW5kb3csZSl9O3RyeXtfLlRzW2FdP2YoKTpfLm1qKGYsMCl9Y2F0Y2goaCl7Xy5VaShoKX19LHZvaWQgMCk7Xy5Sc1tkXT0hMDtfLlNzW2FdfHwoXy5Tc1thXT1bXSk7Xy5Tc1thXS5wdXNoKGQpO3JldHVybiBkfXJldHVybiAwfTsKXy5Oej1mdW5jdGlvbihhKXt2YXIgYj1fLkx6KCk7YiYmKHR5cGVvZiBhPT09Im51bWJlciI/YT1bYV06dHlwZW9mIGE9PT0ic3RyaW5nIiYmKGE9W3BhcnNlSW50KGEsMTApXSksXy50YihhLGM9PntiLnVuc3Vic2NyaWJlQnlLZXkoYyk7ZGVsZXRlIF8uUnNbY119KSl9O18uT3o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkx6KCk7cmV0dXJuIGM/Yy5wdWJsaXNoLmFwcGx5KGMsYXJndW1lbnRzKTohMX07Xy5Qej1mdW5jdGlvbihhKXtyZXR1cm4gS2FhW2FdfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9O0xhYT1mdW5jdGlvbigpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZT8uKCJtYXJrIik7YSYmYS5mb3JFYWNoKGI9PntiLm5hbWUuc3RhcnRzV2l0aCgibWFya18iKSYmXy5zcS5jbGVhck1hcmtzPy4oYi5uYW1lKX0pfTtfLlF6PWZ1bmN0aW9uKGEpe18ucmEoInl0Z2xvYmFsLnRpbWluZyIrKGF8fCIiKSsicmVhZHlfIiwhMCl9OwpfLlJ6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT5fLkJxKCJfc3RhcnQiLGEpKSgpfTtfLlN6PWZ1bmN0aW9uKGEpe18uVmkoKCk9PntfLlJ6KGEpJiZfLkFxKCJhYSIsdm9pZCAwLGEpO3ZhciBiPWF8fCIiLGM9Xy50bygpO2NbYl0mJmRlbGV0ZSBjW2JdO3ZhciBkPXt0aW1lck5hbWU6YixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07Xy5zbyhkKTtjW2JdPWQ7Xy5qbyhhKTsoMCxfLmJ0KSgpO0xhYSgpO2F8fChfLncoIlRJTUlOR19BQ1RJT04iKSYmXy5RaSgiUFJFVklPVVNfQUNUSU9OIixfLncoIlRJTUlOR19BQ1RJT04iKSksXy5RaSgiVElNSU5HX0FDVElPTiIsIiIpKX0pKCl9OwpfLlR6PWZ1bmN0aW9uKGEsYj17fSxjLGQpe18uVmkoKCk9Pnt2YXIgZT1jP2M6YTtfLlN6KGUpO3ZhciBmPWIuc2FtcGxlUmF0ZTtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fGY9PT12b2lkIDB8fGY8PTEpZj0hMTtlbHNle3ZhciBoPV8ucG8oZSk7Zj1fLkduKGgpJWYhPT0wfWYmJihfLmtvKGUpLmFjdGlvbkRpc2FibGVkPSEwKTtfLnVvKGV8fCIiKS5pbmZvLmFjdGlvblR5cGU9YTtiLmN0dEF1dGhJbmZvJiYoXy5rbyhlKS5jdHRBdXRoSW5mbz1iLmN0dEF1dGhJbmZvKTtfLlFpKGUrIlRJTUlOR19BQ1RJT04iLGEpO18uVmkoXy5vcSkoYi5zdGFydFRpbWUsZSk7Zj17YWN0aW9uVHlwZTpkfHxfLlB6KGEpfTtiLlRKJiYoZi5wcmV2aW91c0FjdGlvbj1fLlB6KF8udygiVElNSU5HX0FDVElPTiIpKSk7KGg9Xy5pcSgpKSYmaCE9PSJVTkRFRklORURfQ1NOIiYmKGYuY2xpZW50U2NyZWVuTm9uY2U9aCk7Xy56cShmLGUpO18uUXooZSl9KSgpfTsKS2FhPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9O18uVXo9bmV3IF8uSSgiZmVlZGJhY2tFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZ6PWZ1bmN0aW9uKGEsYil7aWYoYiE9PW51bGwmJmIhPT12b2lkIDApe2lmKHR5cGVvZiBiIT09Im9iamVjdCImJnR5cGVvZiBiIT09ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJkIik7aWYoYz09PXZvaWQgMCl7aWYoIVN5bWJvbC5kaXNwb3NlKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTt2YXIgYz1iW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgYyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZyIpO2Euc3RhY2sucHVzaCh7dmFsdWU6YixkaXNwb3NlOmMsYXN5bmM6ITF9KX1yZXR1cm4gYn07Cl8uV3o9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihmKXthLmVycm9yPWEuaGFzRXJyb3I/bmV3IFN1cHByZXNzZWRFcnJvcihmLGEuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpmO2EuaGFzRXJyb3I9ITB9ZnVuY3Rpb24gYygpe2Zvcig7ZD1hLnN0YWNrLnBvcCgpOyl0cnl7aWYoIWQuYXN5bmMmJmU9PT0xKXJldHVybiBlPTAsYS5zdGFjay5wdXNoKGQpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYyk7aWYoZC5kaXNwb3NlKXt2YXIgZj1kLmRpc3Bvc2UuY2FsbChkLnZhbHVlKTtpZihkLmFzeW5jKXJldHVybiBlfD0yLFByb21pc2UucmVzb2x2ZShmKS50aGVuKGMsZnVuY3Rpb24oaCl7YihoKTtyZXR1cm4gYygpfSl9ZWxzZSBlfD0xfWNhdGNoKGgpe2IoaCl9aWYoZT09PTEpcmV0dXJuIGEuaGFzRXJyb3I/UHJvbWlzZS5yZWplY3QoYS5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKCk7aWYoYS5oYXNFcnJvcil0aHJvdyBhLmVycm9yO312YXIgZCwKZT0wO2MoKX07Xy5Yej1mdW5jdGlvbigpe3RyeXtyZXR1cm4hIXNlbGYubG9jYWxTdG9yYWdlfWNhdGNoe3JldHVybiExfX07Xy5Zej1uZXcgXy5JKCJzaGFyZUVuZHBvaW50Iik7Xy5aej1uZXcgXy5JKCJzaGFyZUVudGl0eUVuZHBvaW50Iik7Xy5NYWE9bmV3IF8uSSgic2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtfLk5hYT1uZXcgXy5JKCJ3ZWJQbGF5ZXJTaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFBPWZ1bmN0aW9uKGEsYj17fSxjKXthPShhPWEgaW4gXy4kej9fLiR6W2FdOmMpfHwiIjtmb3IobGV0IGQgaW4gYiljPSgpPT5TdHJpbmcoYltkXSksYT1hLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFwkXFx7IitkKyJcXH0iLCJnaSIpLGMpLGE9YS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrZCwiZ2kiKSxjKTtyZXR1cm4gYX07Xy4kej13aW5kb3cueXQmJndpbmRvdy55dC5tc2dzX3x8d2luZG93Lnl0Y2ZnJiZ3aW5kb3cueXRjZmcubXNnc3x8e307Xy5yYSgieXQubXNnc18iLF8uJHopOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY0E7Xy5iQT1mdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoIjoiKTtyZXR1cm4gYj09PS0xP3tNbTphfTp7TW06YS5zdWJzdHJpbmcoMCxiKSxkYXRhc3luY0lkOmEuc3Vic3RyaW5nKGIrMSl9fTtfLmVBPWFzeW5jIGZ1bmN0aW9uKCl7cmV0dXJuIGNBIT09dm9pZCAwP2NBOmNBPW5ldyBQcm9taXNlKGFzeW5jIGE9Pnt0cnl7YXdhaXQgXy5kQS5vcGVuKCJ0ZXN0LW9ubHkiKSxhd2FpdCBfLmRBLmRlbGV0ZSgidGVzdC1vbmx5Iil9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIEVycm9yJiZiLm5hbWU9PT0iU2VjdXJpdHlFcnJvciIpe2EoITEpO3JldHVybn19YSgiY2FjaGVzImluIHdpbmRvdyl9KX07Xy5kQT1fLnUuY2FjaGVzOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdBPW5ldyBXZWFrTWFwO18uaEE9bmV3IFNldDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiYmFzZSIpOwp2YXIgQVosQlosQ1osY3JhLERaLGVyYSxFWixGWixIWixLWixMWixNWixmcmEsUFosUVosU1osZ3JhLFZaLGNfLGRfLGVfLGZfLGdfLGhfLGlfLGpfLGtfLGlyYSxqcmEsa3JhLGxyYSxucmEsbV8sbl8sb18scF8scV8scl8sc18sdF8sdV8sdl8sd18seF8scHJhLHlfLHpfLHFyYSxBXyxycmEsc3JhLHRyYSxCXyxDXyxEXyxGXyxHXyxIXyxJXyxKXyxLXyxMXyxNXyxPXyxQXyxRXyxSXyxTXyxocmEsdXJhLHZyYSxUXyxVXyxWXyxXXyxYXyxZXyx3cmEsJF8sYTAsYjAseHJhLGQwLHlyYSxlMCx6cmEsQnJhLENyYSxEcmEsZzAsRXJhLEZyYSxHcmEsaDAsaTAsbDAsSHJhLGswLGowLG4wLElyYSxKcmEsbzAsS3JhLHAwLHEwLHIwLExyYSxNcmEsTnJhLE9yYSxQcmEsUXJhLHQwLHYwLHcwLHgwLFNyYSxUcmEseTAsQTAsQjAsQzAsRDAsRTAsRzAsVXJhLFZyYSxIMCxXcmEsWHJhLFlyYSxJMCxKMCxTMCxUMCxQMCxVMCxMMCxRMCxLMCxPMCxNMCxOMCxacmEsUjAsJHJhLFYwLGFzYSxjc2EsClgwLFkwLFowLCQwLGExLGRzYSxiMSxjMSxlc2EsZnNhLGdzYSxkMSxmMSxoc2EsZzEsanNhLGtzYSxqMSxsc2EsazEsbDEsbTEsbXNhLHIxLHNzYSx1c2EsdjEseTEsdzEsdnNhLHhzYSxCMSxDMSxEMSx5c2EsRTEsRjEsQXNhLEJzYSx6c2EsQ3NhLEVzYSxGc2EsR3NhLHFzYSxvMSxuc2EsSTEsSHNhLEcxLElzYSxKc2EsSzEsTTEsTjEsS3NhLE8xLFAxLExzYSxSMSxPc2EsUHNhLFJzYSxRMSxVMSxXMSxUc2EsJDEsWDEsVXNhLFZzYSxXc2EsWHNhLGF0YSxidGEsZjIsJHNhLFpzYSxhMixlMixiMixjdGEsZzIsaDIsaTIsazIsbDIsZXRhLGZ0YSxndGEsbjIscDIsbzIsdDIsanRhLHIyLGl0YSx3Mix2MixtdGEsbnRhLG90YSxwdGEseDIseTIsejIsQTIsQzIsdXRhLHZ0YSxFMixGMix3dGEsRzIseXRhLFpfLEkyLEoyLEwyLHp0YSxOMixPMixQMixCdGEsUTIsRHRhLFMyLFQyLFUyLEV0YSxWMixXMixGdGEsR3RhLGEzLGIzLEl0YSxlMyxKdGEsZDMsZjMsS3RhLEx0YSxNdGEsYzMsSHRhLApoMyxOdGEsazMsT3RhLFB0YSxRdGEsbTMsbjMsbDMsUnRhLG8zLHAzLFN0YSxxMyxUdGEscjMsczMsdzMsVXRhLHgzLHkzLFZ0YSxZdGEsWnRhLEMzLEQzLEUzLCR0YSxidWEsY3VhLEczLGR1YSxldWEsWHRhLEgzLEkzLGZ1YSxndWEsYzQsZDQsZTQsaHVhLGY0LGl1YSxqdWEsWXNhLGh0YSxrdWEsbnVhLGc0LGk0LHB1YSxoNCxrNCxzdWEsdHVhLGw0LG00LHZ1YSx3dWEsbzQseHVhLHl1YSxxNCx6dWEsQXVhLEJ1YSxEdWEsR3VhLHY0LEp1YSx3NCxJdWEsSHVhLEt1YSx4NCx5NCx6NCxBNCxENCxDNCxCNCxFNCxNdWEsRjQsT3VhLFB1YSxRdWEsUnVhLFN1YSxUdWEsVXVhLEk0LEs0LFp1YSwkdWEsUTQsTTQsVnVhLFI0LFM0LGF2YSxidmEsY3ZhLGR2YSxkcmEsQTMsR1osSVosSlosTl8sTlosT1osUlosVFosVVosJFosYV8sYl8sWlosWVosV1osWFosbF8sRV8sb3JhLFY0LGV2YSxXNCxYNCxmdmEsWTQsWjQsZ3ZhLGh2YSxpdmEsanZhLGt2YSwkNCxsdmEsbXZhLGE1LG52YSxiNSwKYzUsb3ZhLHB2YTtBWj1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O0JaPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5xdyhhLGIsQVooYykpfTtDWj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCl7aWYoISgwLF8ud3IpKGMpKXRocm93IF8uSXcoImVudW0iKTtjfD0wfXJldHVybiBfLnF3KGEsYixjKX07Y3JhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaChhLmNoYXJDb2RlQXQoYykpO3JldHVybiBifTtEWj1mdW5jdGlvbihhLGIpe3JldHVybiBhW2JdKyhhW2IrMV08PDgpKyhhW2IrMl08PDE2KSsoYVtiKzNdPDwyNCl9OwplcmE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2MtPWQ7Yy09ZTtjXj1lPj4+MTM7ZC09ZTtkLT1jO2RePWM8PDg7ZS09YztlLT1kO2VePWQ+Pj4xMztjLT1kO2MtPWU7Y149ZT4+PjEyO2QtPWU7ZC09YztkXj1jPDwxNjtlLT1jO2UtPWQ7ZV49ZD4+PjU7Yy09ZDtjLT1lO2NePWU+Pj4zO2QtPWU7ZC09YztkXj1jPDwxMDtlLT1jO2UtPWQ7ZV49ZD4+PjE1fWE9Y3JhKGEpO2Zvcih2YXIgYz0yNjU0NDM1NzY5LGQ9MjY1NDQzNTc2OSxlPTMxNDE1OTI2NSxmPWEubGVuZ3RoLGg9ZixrPTA7aD49MTI7aC09MTIsays9MTIpYys9RFooYSxrKSxkKz1EWihhLGsrNCksZSs9RFooYSxrKzgpLGIoKTtlKz1mO3N3aXRjaChoKXtjYXNlIDExOmUrPWFbaysxMF08PDI0O2Nhc2UgMTA6ZSs9YVtrKzldPDwxNjtjYXNlIDk6ZSs9YVtrKzhdPDw4O2Nhc2UgODpkKz1hW2srN108PDI0O2Nhc2UgNzpkKz1hW2srNl08PDE2O2Nhc2UgNjpkKz1hW2srNV08PDg7Y2FzZSA1OmQrPWFbays0XTtjYXNlIDQ6Yys9CmFbayszXTw8MjQ7Y2FzZSAzOmMrPWFbaysyXTw8MTY7Y2FzZSAyOmMrPWFbaysxXTw8ODtjYXNlIDE6Yys9YVtrXX1iKCk7cmV0dXJuIGRyYS50b1N0cmluZyhlKX07RVo9ZnVuY3Rpb24oYSxiKXthLmFkZE9uRGlzcG9zZUNhbGxiYWNrKF8uRGEoXy5aZCxiKSl9O0ZaPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVWludDhBcnJheShfLnd3KGEpfHwwKX07SFo9ZnVuY3Rpb24oYSl7cmV0dXJuKEdafHwoR1o9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKGEpfTtLWj1mdW5jdGlvbihhKXt2YXIgYj1hPj4+MDtJWj1iO0paPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfTtMWj1mdW5jdGlvbihhKXtpZihhPDApe0taKC1hKTthPUlaO3ZhciBiPUpaO2I9fmI7YT9hPX5hKzE6Yis9MTtsZXQgW2MsZF09W2EsYl07SVo9Yz4+PjA7Slo9ZD4+PjB9ZWxzZSBLWihhKX07Ck1aPWZ1bmN0aW9uKGEpe2EubGVuZ3RoPDE2P0xaKE51bWJlcihhKSk6KGE9QmlnSW50KGEpLElaPU51bWJlcihhJkJpZ0ludCg0Mjk0OTY3Mjk1KSk+Pj4wLEpaPU51bWJlcihhPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSkpfTsKZnJhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIG5ldyBOWihfLnV3KGEpLCEwKTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBuZXcgTloobmV3IFVpbnQ4QXJyYXkoYSksITApO2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybiBuZXcgTlooYSwhMSk7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKXJldHVybiBhPW5ldyBVaW50OEFycmF5KGEpLG5ldyBOWihhLCExKTtpZihhLmNvbnN0cnVjdG9yPT09Xy5SYyl7bGV0IGI9Xy53dyhhKXx8bmV3IFVpbnQ4QXJyYXkoMCk7cmV0dXJuIG5ldyBOWihiLCEwLGEpfWlmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBhPWEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5P2E6bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCksbmV3IE5aKGEsITEpO3Rocm93IEVycm9yKCk7fTsKUFo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubz09PTA/bmV3IE9aKDAsMSt+YS5qKTpuZXcgT1oofmEubysxLH5hLmopfTtRWj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IE9aKGEmNDI5NDk2NzI5NSxNYXRoLmZsb29yKGEvNDI5NDk2NzI5NikpfTtTWj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gUlp8fChSWj1uZXcgT1ooMCwwKSk7aWYoIS9eXGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtNWihhKTtyZXR1cm4gbmV3IE9aKElaLEpaKX07Z3JhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVFooYSY0Mjk0OTY3Mjk1LE1hdGguZmxvb3IoYS80Mjk0OTY3Mjk2KSl9O1ZaPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBVWnx8KFVaPW5ldyBUWigwLDApKTtpZighL14tP1xkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7TVooYSk7cmV0dXJuIG5ldyBUWihJWixKWil9OwpjXz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIEJpZ0ludDY0QXJyYXkhPT0idW5kZWZpbmVkIilyZXR1cm4gV1p8fChXWj1uZXcgQmlnSW50NjRBcnJheSgxKSxYWj1uZXcgVWludDMyQXJyYXkoV1ouYnVmZmVyKSxXWlswXT1CaWdJbnQoMSksWVo9WFpbMF09PT0xKSxXWlswXT1hLGE9WVo/MDoxLG5ldyBiKFhaW2FdLFhaWzEtYV0pO1pafHwoJFo9QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSxhXz1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLGJfPUJpZ0ludCg0Mjk0OTY3Mjk1KSxaWj1CaWdJbnQoMzIpKTtpZihhPj0kWiYmYTw9YV8pcmV0dXJuIGMoTnVtYmVyKGEpKTthPUJpZ0ludC5hc1VpbnROKDY0LGEpO3JldHVybiBuZXcgYihOdW1iZXIoYSZiXyksTnVtYmVyKGE+PlpaKSl9O2RfPWZ1bmN0aW9uKGEsYixjKXtmb3IoO2M+MHx8Yj4xMjc7KWEuai5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5qLnB1c2goYil9OwplXz1mdW5jdGlvbihhLGIpe2Euai5wdXNoKGI+Pj4wJjI1NSk7YS5qLnB1c2goYj4+PjgmMjU1KTthLmoucHVzaChiPj4+MTYmMjU1KTthLmoucHVzaChiPj4+MjQmMjU1KX07Zl89ZnVuY3Rpb24oYSxiKXtpZihiPj0wKV8uWHkoYSxiKTtlbHNle2ZvcihsZXQgYz0wO2M8OTtjKyspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj49NzthLmoucHVzaCgxKX19O2dfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjpTWihhKX19O2hfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjphLmxlbmd0aCYmYVswXT09PSItIj9TWihhLnN1YnN0cmluZygxKSk6U1ooYSl9fTsKaV89ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKGdfKGMpLF8uWnkoYSxiLDEpLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOmE9YS5qO0taKGMpO2VfKGEsSVopO2VfKGEsSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhjLE9aLFFaKTthPWEuajtiPWMuajtlXyhhLGMubyk7ZV8oYSxiKTticmVhaztkZWZhdWx0OmM9U1ooYyksYT1hLmosYj1jLmosZV8oYSxjLm8pLGVfKGEsYil9fTtqXz1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKGM9cGFyc2VJbnQoYywxMCksXy5aeShhLGIsMCksZl8oYS5qLGMpKX07a189ZnVuY3Rpb24oYSxiLGMpe18uWnkoYSxiLDIpO18uWHkoYS5qLGMubGVuZ3RoKTtfLll5KGEsYS5qLmVuZCgpKTtfLll5KGEsYyl9OwppcmE9ZnVuY3Rpb24oYSl7dmFyIGI9InRydWUiLnRvU3RyaW5nKCksYz1baHJhYGRhdGEtYF07aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJoIik7aWYoYy5tYXAoZD0+e2lmKGQgaW5zdGFuY2VvZiBsXylkPWQuajtlbHNlIHRocm93IEVycm9yKCJoIik7cmV0dXJuIGR9KS5ldmVyeShkPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoZCkhPT0wKSl0aHJvdyBFcnJvcigiaWBkYXRhLWxvYWRlZCIpO2Euc2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIsYil9O2pyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYSxiLHZvaWQgMCl9O2tyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYSxiLHtkdXJhdGlvbjowfSl9O2xyYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPmI/MTphPGI/LTE6MH07Cm5yYT1mdW5jdGlvbigpe3ZhciBhPW1yYTtyZXR1cm4gXy5DYyhiPT57Zm9yKGxldCBjIGluIGEpaWYoYj09PWFbY10mJiEvXlswLTldKyQvLnRlc3QoYykpcmV0dXJuITA7cmV0dXJuITF9KX07bV89ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO3ZhciBjO2I8PTIwOTcxNTE/Yz0iIisoNDI5NDk2NzI5NipiK2EpOmM9IiIrKEJpZ0ludChiKTw8QmlnSW50KDMyKXxCaWdJbnQoYSkpO3JldHVybiBjfTtuXz1mdW5jdGlvbihhLGIpe3ZhciBjPWIqNDI5NDk2NzI5NisoYT4+PjApO3JldHVybiBOdW1iZXIuaXNTYWZlSW50ZWdlcihjKT9jOm1fKGEsYil9O29fPWZ1bmN0aW9uKCl7dmFyIGE9SVosYj1KWixjO2ImMjE0NzQ4MzY0OD9jPSIiKyhCaWdJbnQoYnwwKTw8QmlnSW50KDMyKXxCaWdJbnQoYT4+PjApKTpjPW1fKGEsYik7cmV0dXJuIGN9OwpwXz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IEVycm9yKCJxYCIrdHlwZW9mIGErImAiK2EpO3JldHVybiBhfTtxXz1mdW5jdGlvbihhKXtpZihhPT1udWxsfHx0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiBhO2lmKGE9PT0iTmFOInx8YT09PSJJbmZpbml0eSJ8fGE9PT0iLUluZmluaXR5IilyZXR1cm4gTnVtYmVyKGEpfTtyXz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4oMCxfLndyKShhKTtjYXNlICJzdHJpbmciOnJldHVybiBvcmEudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07c189ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hPj4+MDp2b2lkIDB9Owp0Xz1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLnhyKShOdW1iZXIoYSkpO2lmKCgwLF8udnIpKGIpKXJldHVybiBfLkZjKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxCaWdJbnQoYSkpKX07dV89ZnVuY3Rpb24oYSl7dmFyIGI9KDAsXy54cikoTnVtYmVyKGEpKTtpZigoMCxfLnZyKShiKSlyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtiPWEubGVuZ3RoOyhhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3Iil8fChNWihhKSxhPW9fKCkpO3JldHVybiBhfTsKdl89ZnVuY3Rpb24oYSl7YT0oMCxfLnhyKShhKTtpZighKDAsXy52cikoYSkpe0xaKGEpO3ZhciBiPUlaLGM9Slo7aWYoYT1jJjIxNDc0ODM2NDgpYj1+YisxPj4+MCxjPX5jPj4+MCxiPT0wJiYoYz1jKzE+Pj4wKTtiPW5fKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O3dfPWZ1bmN0aW9uKGEpe2E9KDAsXy54cikoYSk7KDAsXy52cikoYSk/YT1TdHJpbmcoYSk6KExaKGEpLGE9b18oKSk7cmV0dXJuIGF9O3hfPWZ1bmN0aW9uKGEpe3JldHVybigwLF8udnIpKGEpP18uRmModl8oYSkpOl8uRmMod18oYSkpfTsKcHJhPWZ1bmN0aW9uKGEpe3ZhciBiPXZvaWQgMDtiPTEwMjQ7aWYoIXJfKGEpKXRocm93IF8uSXcoImludDY0Iik7dmFyIGM9dHlwZW9mIGE7c3dpdGNoKGIpe2Nhc2UgNTEyOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIHdfKGEpfWNhc2UgMTAyNDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gdF8oYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4geF8oYSl9Y2FzZSAwOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBfLkZjKCgwLF8udHIpKDY0LGEpKTtkZWZhdWx0OnJldHVybiB2XyhhKX1kZWZhdWx0OnJldHVybiBfLmViKGIsIlVua25vd24gZm9ybWF0IHJlcXVlc3RlZCB0eXBlIGZvciBpbnQ2NCIpfX07CnlfPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6cHJhKGEpfTt6Xz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtpZihhPT1udWxsKXJldHVybiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7aWYocl8oYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj90XyhhKTp4XyhhKX07cXJhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7dmFyIGI9dHlwZW9mIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2lmKHJfKGEpKXtpZihiPT09InN0cmluZyIpcmV0dXJuIHVfKGEpO2lmKGI9PT0ibnVtYmVyIilyZXR1cm4gdl8oYSl9fTsKQV89ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTt2YXIgYj10eXBlb2YgYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIFN0cmluZygoMCxfLnVyKSg2NCxhKSk7aWYocl8oYSkpe2lmKGI9PT0ic3RyaW5nIilyZXR1cm4gYj0oMCxfLnhyKShOdW1iZXIoYSkpLCgwLF8udnIpKGIpJiZiPj0wP2E9U3RyaW5nKGIpOihiPWEuaW5kZXhPZigiLiIpLGIhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSksYVswXT09PSItIj9iPSExOihiPWEubGVuZ3RoLGI9YjwyMD8hMDpiPT09MjAmJmE8PSIxODQ0Njc0NDA3MzcwOTU1MTYxNSIpLGJ8fChNWihhKSxhPW1fKElaLEpaKSkpLGE7aWYoYj09PSJudW1iZXIiKXJldHVybiBhPSgwLF8ueHIpKGEpLGE+PTAmJigwLF8udnIpKGEpfHwoTFooYSksYT1uXyhJWixKWikpLGF9fTtycmE9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJzdHJpbmcifHxhIGluc3RhbmNlb2YgXy5SYylyZXR1cm4gYX07CnNyYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O3RyYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5OdyhhLCEwKX07Ql89ZnVuY3Rpb24oYSl7YT1fLmVkKGEsMSx2b2lkIDAsdm9pZCAwLHRyYSk7cmV0dXJuIGE9PW51bGw/Xy5NdygpOmF9OwpDXz1mdW5jdGlvbihhLGIsYyl7Xy5udyhhKTt2YXIgZD1hLkRhLGU9ZFtfLkFjXXwwO2lmKGI9PW51bGwpcmV0dXJuIF8ucHcoZCxlLDMpLGE7dmFyIGY9Yj09PV8ubXI/NzpiW18uQWNdfDAsaD1mLGs9Xy5UeShmKSxsPWt8fE9iamVjdC5pc0Zyb3plbihiKTtrfHwoZj0wKTtsfHwoYj1bLi4uYl0saD0wLGY9Xy5VeShmLGUpLGw9ITEpO2Z8PTU7az0oNCZmPzUxMiZmPzUxMjoxMDI0JmY/MTAyNDowOnZvaWQgMCk/PzEwMjQ7Znw9aztmb3IobGV0IG09MDttPGIubGVuZ3RoO20rKyl7bGV0IG49YlttXSxwPWMobixrKTtPYmplY3QuaXMobixwKXx8KGwmJihiPVsuLi5iXSxoPTAsZj1fLlV5KGYsZSksbD0hMSksYlttXT1wKX1mIT09aCYmKGwmJihiPVsuLi5iXSxmPV8uVXkoZixlKSksYltfLkFjXT1mKTtfLnB3KGQsZSwzLGIpO3JldHVybiBhfTsKRF89ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5nZXQoZCk7aWYoZSE9bnVsbClyZXR1cm4gZTtlPTA7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspe2xldCBoPWRbZl07Xy5kZChiLGgpIT1udWxsJiYoZSE9PTAmJihjPV8ucHcoYixjLGUpKSxlPWgpfWEuc2V0KGQsZSk7cmV0dXJuIGV9O0ZfPWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7YT1hLkRhO3ZhciBlPWFbXy5BY118MDtpZihkPT1udWxsKXt2YXIgZj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2lmKERfKGYsYSxlLGMpPT09YilmLnNldChjLDApO2Vsc2UgcmV0dXJufWVsc2V7Zj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2xldCBoPURfKGYsYSxlLGMpO2ghPT1iJiYoaCYmKGU9Xy5wdyhhLGUsaCkpLGYuc2V0KGMsYikpfV8ucHcoYSxlLGIsZCl9O0dfPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkRhO3JldHVybiBfLld5KGEsZCxkW18uQWNdfDAsYixjLHZvaWQgMD09PV8ub3I/Mjo0LCExLCEwKX07CkhfPWZ1bmN0aW9uKGEsYixjKXtfLm53KGEpO3ZhciBkPWEuRGEsZT1kW18uQWNdfDA7aWYoYz09bnVsbClyZXR1cm4gXy5wdyhkLGUsYiksYTt2YXIgZj1jPT09Xy5tcj83OmNbXy5BY118MCxoPWYsaz1fLlR5KGYpLGw9a3x8T2JqZWN0LmlzRnJvemVuKGMpLG09ITAsbj0hMDtmb3IobGV0IHI9MDtyPGMubGVuZ3RoO3IrKyl7dmFyIHA9Y1tyXTtrfHwocD1fLkJjKHApLG0mJihtPSFwKSxuJiYobj1wKSl9a3x8KGY9bT8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7bCYmZj09PWh8fChjPVsuLi5jXSxoPTAsZj1fLlV5KGYsZSkpO2YhPT1oJiYoY1tfLkFjXT1mKTtlPV8ucHcoZCxlLGIsYyk7MiZmfHwhKDQwOTYmZnx8MTYmZil8fF8ub3coZCxlKTtyZXR1cm4gYX07SV89ZnVuY3Rpb24oYSxiLGM9Xy55cil7cmV0dXJuIF8uZWQoYSxiLHZvaWQgMCx2b2lkIDAsel8pPz9jfTtKXz1mdW5jdGlvbihhLGIsYz0iIixkKXtyZXR1cm4gXy5YdChfLmVkKGEsYixkKSk/P2N9OwpLXz1mdW5jdGlvbihhKXthPV8uZWQoYSwxKTtyZXR1cm4oYT09bnVsbD9hOigwLF8ud3IpKGEpP2F8MDp2b2lkIDApPz8wfTtMXz1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSl7dmFyIGQ9YltfLkFjXXwwO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe2xldCBoPWEoYltlXSk7aCE9bnVsbCYmKGJbZisrXT1oKX1mPGUmJihiLmxlbmd0aD1mKTthPWR8MTtjJiYoYT0oYXw0KSYtMTUzNyk7YSE9PWQmJihiW18uQWNdPWEpO2MmJmEmMiYmT2JqZWN0LmZyZWV6ZShiKTtyZXR1cm4gYn19O01fPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9OwpPXz1mdW5jdGlvbihhLGIsYyl7Yj1xXyhiKTtiIT1udWxsJiYoXy5aeShhLGMsMSksYT1hLmosYz1OX3x8KE5fPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxjLnNldEZsb2F0NjQoMCwrYiwhMCksSVo9Yy5nZXRVaW50MzIoMCwhMCksSlo9Yy5nZXRVaW50MzIoNCwhMCksZV8oYSxJWiksZV8oYSxKWikpfTtQXz1mdW5jdGlvbihhLGIsYyl7Yj1xcmEoYik7aWYoYiE9bnVsbCl7c3dpdGNoKHR5cGVvZiBiKXtjYXNlICJzdHJpbmciOlZaKGIpfWlmKGIhPW51bGwpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLFRaLGdyYSk7ZF8oYS5qLGMubyxjLmopO2JyZWFrO2RlZmF1bHQ6Yz1WWihiKSxkXyhhLmosYy5vLGMuail9fX07UV89ZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksZl8oYS5qLGIpKX07ClJfPWZ1bmN0aW9uKGEsYixjKXtiPV8uWHQoYik7YiE9bnVsbCYma18oYSxjLEhaKGIpKX07U189ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pl8uWHgoYSxiKX07aHJhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgbF8oYVswXS50b0xvd2VyQ2FzZSgpKX07Xy5lVj1mdW5jdGlvbihhLGIpe3RoaXMueD1hIT09dm9pZCAwP2E6MDt0aGlzLnk9YiE9PXZvaWQgMD9iOjB9O3VyYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gXy5zcylpZihhLmNhbGwodm9pZCAwLF8uc3NbYl0sYixfLnNzKSlyZXR1cm4gYn07dnJhPWZ1bmN0aW9uKGEsYil7aWYoYSE9PW51bGwmJmIgaW4gYSl0aHJvdyBFcnJvcigiQWAiK2IpO2FbYl09ITB9O1RfPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09bnVsbCYmInByaXZlbWJlZCJpbiBhP2EucHJpdmVtYmVkOiExfTtVXz1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9OwpWXz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudDtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj9iLmdldEVsZW1lbnRCeUlkKGEpOmF9O1dfPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07WF89ZnVuY3Rpb24oYSl7dHlwZW9mIGE9PSJudW1iZXIiJiYoYT1NYXRoLnJvdW5kKGEpKyJweCIpO3JldHVybiBhfTtZXz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVNhZmVTY3JpcHRXcmFwcGVkVmFsdWUpP18ua2IoYSk6bnVsbDpudWxsfTt3cmE9ZnVuY3Rpb24oKXt2YXIgYT1aXztfLnNhKCJ5dC5hZHMuYmlzY290dGkuZ2V0SWRfIil8fF8ucmEoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iLGEpfTskXz1mdW5jdGlvbihhKXtfLnJhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIsYSl9OwphMD1mdW5jdGlvbihhKXtyZXR1cm4gYS5pbmRleE9mKCI/IikhPT0tMT8oYT0oYXx8IiIpLnNwbGl0KCIjIilbMF0sYT1hLnNwbGl0KCI/IiwyKSxfLmJqKGEubGVuZ3RoPjE/YVsxXTphWzBdKSk6e319O2IwPWZ1bmN0aW9uKGEpe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IGI9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDthLmo9YS5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO2Eubz1hLmNsaWVudFkrYn19Owp4cmE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5hZGRFdmVudExpc3RlbmVyJiYoYiE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P2IhPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9iPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoYj0iTW96TW91c2VQaXhlbFNjcm9sbCIpOmI9Im1vdXNlb3V0IjpiPSJtb3VzZW92ZXIiKTtyZXR1cm4gdXJhKGU9Pnt2YXIgZj10eXBlb2YgZVs0XT09PSJib29sZWFuIiYmZVs0XT09ISFkLGg7aWYoaD1fLkFhKGVbNF0pJiZfLkFhKGQpKWE6e2g9ZVs0XTtmb3IobGV0IGsgaW4gaClpZighKGsgaW4gZCl8fGhba10hPT1kW2tdKXtoPSExO2JyZWFrIGF9Zm9yKGxldCBrIGluIGQpaWYoIShrIGluIGgpKXtoPSExO2JyZWFrIGF9aD0hMH1yZXR1cm4hIWUubGVuZ3RoJiZlWzBdPT1hJiZlWzFdPT1iJiZlWzJdPT1jJiYoZnx8aCl9KX07CmQwPWZ1bmN0aW9uKGEsYixjLGQ9e30pe2lmKCFhfHwhYS5hZGRFdmVudExpc3RlbmVyJiYhYS5hdHRhY2hFdmVudClyZXR1cm4iIjt2YXIgZT14cmEoYSxiLGMsZCk7aWYoZSlyZXR1cm4gZTtlPSsrXy50cy5jb3VudCsiIjt2YXIgZj0hKGIhPSJtb3VzZWVudGVyIiYmYiE9Im1vdXNlbGVhdmUifHwhYS5hZGRFdmVudExpc3RlbmVyfHwib25tb3VzZWVudGVyImluIGRvY3VtZW50KTt2YXIgaD1mP2s9PntrPW5ldyBjMChrKTtpZighXy5ndyhrLnJlbGF0ZWRUYXJnZXQsbD0+bD09YSwhMCkpcmV0dXJuIGsuY3VycmVudFRhcmdldD1hLGsudHlwZT1iLGMuY2FsbChhLGspfTprPT57az1uZXcgYzAoayk7ay5jdXJyZW50VGFyZ2V0PWE7cmV0dXJuIGMuY2FsbChhLGspfTtoPV8uVmkoaCk7YS5hZGRFdmVudExpc3RlbmVyPyhiPT0ibW91c2VlbnRlciImJmY/Yj0ibW91c2VvdmVyIjpiPT0ibW91c2VsZWF2ZSImJmY/Yj0ibW91c2VvdXQiOmI9PSJtb3VzZXdoZWVsIiYmIk1vekJveFNpemluZyJpbgpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJihiPSJNb3pNb3VzZVBpeGVsU2Nyb2xsIiksKDAsXy51cykoKXx8dHlwZW9mIGQ9PT0iYm9vbGVhbiI/YS5hZGRFdmVudExpc3RlbmVyKGIsaCxkKTphLmFkZEV2ZW50TGlzdGVuZXIoYixoLCEhZC5jYXB0dXJlKSk6YS5hdHRhY2hFdmVudChgb24ke2J9YCxoKTtfLnNzW2VdPVthLGIsYyxoLGRdO3JldHVybiBlfTt5cmE9ZnVuY3Rpb24oYSl7YSYmKHR5cGVvZiBhPT0ic3RyaW5nIiYmKGE9W2FdKSxfLnRiKGEsYj0+e2lmKGIgaW4gXy5zcyl7dmFyIGM9Xy5zc1tiXTtsZXQgZD1jWzBdLGU9Y1sxXSxmPWNbM107Yz1jWzRdO2QucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oMCxfLnVzKSgpfHx0eXBlb2YgYz09PSJib29sZWFuIj9kLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxmLGMpOmQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGYsISFjLmNhcHR1cmUpOmQuZGV0YWNoRXZlbnQmJmQuZGV0YWNoRXZlbnQoYG9uJHtlfWAsZik7ZGVsZXRlIF8uc3NbYl19fSkpfTsKZTA9ZnVuY3Rpb24oYSl7dGhpcy5NPWE7dGhpcy5qPW51bGw7dGhpcy5CPTA7dGhpcy5JPW51bGw7dGhpcy5EPTA7dGhpcy5vPVtdO2ZvcihhPTA7YTw0O2ErKyl0aGlzLm8ucHVzaCgwKTt0aGlzLnY9MDt0aGlzLlo9ZDAod2luZG93LCJtb3VzZW1vdmUiLCgwLF8uQ2EpKHRoaXMuZ2EsdGhpcykpO2E9KDAsXy5DYSkodGhpcy5VLHRoaXMpO3R5cGVvZiBhPT09ImZ1bmN0aW9uIiYmKGE9Xy5WaShhKSk7dGhpcy5oYT13aW5kb3cuc2V0SW50ZXJ2YWwoYSwyNSl9O3pyYT1mdW5jdGlvbigpe3ZhciBhPV8ucmooImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxiPT5OdW1iZXIoYnx8MCkpOltOdW1iZXIoYXx8MCldfTsKQnJhPWZ1bmN0aW9uKCl7KHtoYW5kbGVFcnJvcjphPV8uSHAsbG06Yj1fLkVwfT17fSk7dmFyIGE7Zm9yKF8uR2s9bmV3IEFyYShhLGIpO18uSGsubGVuZ3RoPjA7KXt2YXIgYj1fLkhrLnNoaWZ0KCk7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRVJST1IiOl8uR2suSmIoYi5wYXlsb2FkKTticmVhaztjYXNlICJFVkVOVCI6Xy5Hay5sbShiLmV2ZW50VHlwZSxiLnBheWxvYWQpfX19O0NyYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2woZD0+Yz9kLnVzZXJJZGVudGlmaWVyIT09dm9pZCAwJiYhYS5pbmNsdWRlcyhkLnVzZXJJZGVudGlmaWVyKSYmYy5pbmNsdWRlcyhkLnB1YmxpY05hbWUpOmQudXNlcklkZW50aWZpZXIhPT12b2lkIDAmJiFhLmluY2x1ZGVzKGQudXNlcklkZW50aWZpZXIpLGIpfTsKRHJhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVmooIll0SWRiTWV0YSBoYXNBbnlNZXRhIG90aGVyIik7cmV0dXJuKGF3YWl0IF8uR2woYz0+Yy51c2VySWRlbnRpZmllciE9PXZvaWQgMCYmYy51c2VySWRlbnRpZmllciE9PWIsYSkpLmxlbmd0aD4wfTtnMD1mdW5jdGlvbihhLGIpe2YwfHwoZjA9Xy5qZi5wYihhc3luYygpPT57dmFyIGM9YXdhaXQgXy5QbCgpO2lmKGMpe3ZhciBkPSEwO3RyeXtsZXQgZT1hd2FpdCBDcmEoYSxjLGIpO2lmKGUubGVuZ3RoKXtsZXQgZj1lWzBdO2F3YWl0IF8uQWwoZi5hY3R1YWxOYW1lKTthd2FpdCBfLkZsKGYuYWN0dWFsTmFtZSxjKX1lbHNlIGQ9ITF9Y2F0Y2goZSl7Xy5JayhlKSxkPSExfV8uamYuQWEoZjApO2YwPTA7ZCYmZzAoYSxiKX19KSl9O0VyYT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPWF3YWl0IF8uUGwoKTtyZXR1cm4gYT9EcmEoYSk6ITF9OwpGcmE9ZnVuY3Rpb24oYSl7KDAsXy5lbCkoKTtpZighYS5ib2R5KXJldHVybiBhO3RyeXtsZXQgYj10eXBlb2YgYS5ib2R5PT09InN0cmluZyI/YS5ib2R5OkpTT04uc3RyaW5naWZ5KGEuYm9keSksYz1iO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe2xldCBkPV8udW0oYik7aWYoZCE9bnVsbCYmKGQ+Xy53bXx8ZDxfLnhtKSlyZXR1cm4gYTtjPV8uTmkoKDAsXy55bSkoYikpOygwLF8uZWwpKCl9YS5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihhLmhlYWRlcnN8fHt9KX07YS5ib2R5PWM7cmV0dXJuIGF9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksYX19O0dyYT1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8uUGwoKSYmKF8uV2ooKXx8Xy54KCJud2xfaW5pdF9yZXF1aXJlX2RhdGFzeW5jX2lkX2tpbGxzd2l0Y2giKSkmJl8uc24oKSYmKF8udW49ITAsXy50bi5pc053bEluaXRpYWxpemVkPV8udW4sYXdhaXQgXy5wbigpLmF3YWl0SW5pdGlhbGl6YXRpb24oKSl9OwpoMD1mdW5jdGlvbihhKXtfLlNzW2FdJiYoYT1fLlNzW2FdLF8udGIoYSxiPT57Xy5Sc1tiXSYmZGVsZXRlIF8uUnNbYl19KSxhLmxlbmd0aD0wKX07aTA9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5MeigpO2lmKGIpaWYoYi5jbGVhcihhKSxhKWgwKGEpO2Vsc2UgZm9yKGxldCBjIGluIF8uU3MpaDAoYyl9O2wwPWZ1bmN0aW9uKHt1SzphPSExLE1JOmI9ITB9PXt9KXtpZihfLnNhKCJfbGFjdCIsd2luZG93KT09bnVsbCl7dmFyIGM9cGFyc2VJbnQoXy53KCJMQUNUIiksMTApO2M9aXNGaW5pdGUoYyk/RGF0ZS5ub3coKS1NYXRoLm1heChjLDApOi0xO18ucmEoIl9sYWN0IixjLHdpbmRvdyk7Xy5yYSgiX2ZhY3QiLGMsd2luZG93KTtjPT0tMSYmajAoKTtIcmEoYSxiKTtuZXcgZTAoKCk9PntrMCgibW91c2UiLDEwMCl9KX19OwpIcmE9ZnVuY3Rpb24oYT0hMSxiPSEwKXt2YXIgYz13aW5kb3c7ZDAoYy5kb2N1bWVudCwia2V5ZG93biIsajApO2QwKGMuZG9jdW1lbnQsImtleXVwIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2Vkb3duIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2V1cCIsajApO2E/ZDAoYywidG91Y2htb3ZlIiwoKT0+e2swKCJ0b3VjaG1vdmUiLDIwMCl9LHtwYXNzaXZlOiEwfSk6KGQwKGMsInJlc2l6ZSIsKCk9PntrMCgicmVzaXplIiwyMDApfSksYiYmZDAoYywic2Nyb2xsIiwoKT0+e2swKCJzY3JvbGwiLDIwMCl9KSk7ZDAoYy5kb2N1bWVudCwidG91Y2hzdGFydCIsajAse3Bhc3NpdmU6ITB9KTtkMChjLmRvY3VtZW50LCJ0b3VjaGVuZCIsajAse3Bhc3NpdmU6ITB9KX07azA9ZnVuY3Rpb24oYSxiKXttMFthXXx8KG0wW2FdPSEwLF8uamYucGIoKCk9PntqMCgpO20wW2FdPSExfSxiKSl9OwpqMD1mdW5jdGlvbigpe18uc2EoIl9sYWN0Iix3aW5kb3cpPT1udWxsJiZsMCgpO3ZhciBhPURhdGUubm93KCk7Xy5yYSgiX2xhY3QiLGEsd2luZG93KTtfLnNhKCJfZmFjdCIsd2luZG93KT09LTEmJl8ucmEoIl9mYWN0IixhLHdpbmRvdyk7KGE9Xy5zYSgieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJmEoKX07bjA9ZnVuY3Rpb24oKXt2YXIgYT1fLmtvKCk7YS5pbmZvfHwoYS5pbmZvPXt9KTtyZXR1cm4gYS5pbmZvfTtJcmE9ZnVuY3Rpb24oKXt2YXIgYT1fLm5vKCk7YS5wcmVMb2dnZWRHZWxJbmZvc3x8KGEucHJlTG9nZ2VkR2VsSW5mb3M9W10pO3JldHVybiBhLnByZUxvZ2dlZEdlbEluZm9zfTsKSnJhPWZ1bmN0aW9uKGEsYj0iVW5rbm93biBmaWxlIixjPTAsZCxlLGYpe3ZhciBoPSExLGs9Xy5SaSgibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIik7aWYoayYmTWF0aC5yYW5kb20oKTxrKWg9ITA7ZWxzZXtrPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtmb3IobGV0IGw9MCxtPWsubGVuZ3RoO2w8bTtsKyspaWYoa1tsXS5zcmMuaW5kZXhPZigiL2RlYnVnLSIpPjApe2g9ITA7YnJlYWt9fWgmJihoPSExLGU/aD0hMDoodHlwZW9mIGE9PT0ic3RyaW5nIj9rPWE6RXJyb3JFdmVudCYmYSBpbnN0YW5jZW9mIEVycm9yRXZlbnQ/KGg9ITAsaz1hLm1lc3NhZ2UsYj1hLmZpbGVuYW1lLGM9YS5saW5lbm8sZD1hLmNvbG5vKTooaz0iVW5rbm93biBlcnJvciIsYj0iVW5rbm93biBmaWxlIixjPTApLGU9bmV3IF8uWGooayksZS5uYW1lPSJVbmhhbmRsZWRXaW5kb3dFcnJvciIsZS5tZXNzYWdlPWssZS5maWxlTmFtZT1iLGUubGluZU51bWJlcj1jLGlzTmFOKGQpPwpkZWxldGUgZS5jb2x1bW5OdW1iZXI6ZS5jb2x1bW5OdW1iZXI9ZCksZiYmXy5jdyhlLGYpLGg/Xy5HcChlKTpfLklwKGUpKX07bzA9ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIEVycm9yP18uR3AoYSk6KGE9Xy5BYShhKT9KU09OLnN0cmluZ2lmeShhKTpTdHJpbmcoYSksYT1uZXcgXy5YaihhKSxhLm5hbWU9IlJlamVjdGVkUHJvbWlzZUVycm9yIixfLklwKGEpKX07S3JhPWZ1bmN0aW9uKCl7Xy50YihfLncoIkVSUk9SUyIpfHxbXSxhPT57Xy5HcC5hcHBseShudWxsLGEpfSk7Xy5RaSgiRVJST1JTIixbXSl9O3AwPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueCgiY3NpX3VzZV90aW1lX29yaWdpbiIpfHxfLngoImNzaV91c2VfdGltZV9vcmlnaW5fdHZodG1sNSIpKSYmXy5zcS50aW1lT3JpZ2luP01hdGguZmxvb3IoXy5zcS50aW1lT3JpZ2luKTpfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9O3EwPWZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnJvdW5kKHAwKCkrYSl9OwpyMD1mdW5jdGlvbigpe3ZhciBhO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpPyhhPV8uc3E/LmdldEVudHJpZXNCeVR5cGU/LigibmF2aWdhdGlvbiIpPy5bMF0/LnRvSlNPTj8uKCkpPyhhLnJlcXVlc3RTdGFydD1xMChhLnJlcXVlc3RTdGFydCksYS5yZXNwb25zZUVuZD1xMChhLnJlc3BvbnNlRW5kKSxhLnJlZGlyZWN0U3RhcnQ9cTAoYS5yZWRpcmVjdFN0YXJ0KSxhLnJlZGlyZWN0RW5kPXEwKGEucmVkaXJlY3RFbmQpLGEuZG9tYWluTG9va3VwRW5kPXEwKGEuZG9tYWluTG9va3VwRW5kKSxhLmNvbm5lY3RTdGFydD1xMChhLmNvbm5lY3RTdGFydCksYS5jb25uZWN0RW5kPXEwKGEuY29ubmVjdEVuZCksYS5yZXNwb25zZVN0YXJ0PXEwKGEucmVzcG9uc2VTdGFydCksYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQ9cTAoYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQpLGEuZG9tYWluTG9va3VwU3RhcnQ9cTAoYS5kb21haW5Mb29rdXBTdGFydCksYS5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZz0KITApOmE9Xy5zcS50aW1pbmc6YT1fLngoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfLnNxLnRpbWluZykpOl8uc3EudGltaW5nO3JldHVybiBhfTtMcmE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtpZigidmlzaWJpbGl0eVN0YXRlImluIGEpYT1hLnZpc2liaWxpdHlTdGF0ZTtlbHNle3ZhciBiPV8ucnMrIlZpc2liaWxpdHlTdGF0ZSI7YT1iIGluIGE/YVtiXTp2b2lkIDB9c3dpdGNoKGEpe2Nhc2UgImhpZGRlbiI6cmV0dXJuIDA7Y2FzZSAidmlzaWJsZSI6cmV0dXJuIDE7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4gMjtjYXNlICJ1bmxvYWRlZCI6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4tMX19OwpNcmE9ZnVuY3Rpb24oKXtpZihfLnNxLmdldEVudHJpZXNCeVR5cGUpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKTtpZihhPV8udmIoYSxjPT5jLm5hbWU9PT0iZmlyc3QtcGFpbnQiKSlyZXR1cm4gcTAoYS5zdGFydFRpbWUpfXZhciBiO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP2I9Xy5zcS5nZXRFbnRyaWVzQnlUeXBlKCJmaXJzdC1wYWludCIpWzBdLnN0YXJ0VGltZTpiPV8uc3EudGltaW5nLmFLO3JldHVybiBiP01hdGgubWF4KDAsYik6MH07Ck5yYT1mdW5jdGlvbigpe3ZhciBhPV8udygiVElNSU5HX0lORk8iLHt9KSxiPXt9LGM9KGQsZSxmKT0+e2U9ZS5tYXRjaCgiX3JpZCIpP2Uuc3BsaXQoIl9yaWQiKVswXTplO3R5cGVvZiBmPT09Im51bWJlciImJihmPUpTT04uc3RyaW5naWZ5KGYpKTtkLnJlcXVlc3RJZHM/ZC5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OmUsaWQ6Zn0pOmQucmVxdWVzdElkcz1be2VuZHBvaW50OmUsaWQ6Zn1dfTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2E9ZDtsZXQgZj1lO3N3aXRjaChhKXtjYXNlICJHZXRCcm93c2VfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRHdWlkZV9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldEhvbWVfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRQbGF5ZXJfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZWFyY2hfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZXR0aW5nc19yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldFRyZW5kaW5nX3JpZCI6YyhiLAphLGYpO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgInl0X3JlZCI6Yi5pc1JlZFN1YnNjcmliZXI9ISFmO2JyZWFrO2Nhc2UgInl0X2FkIjpiLmlzTW9uZXRpemVkPSEhZn19cmV0dXJuIGJ9O09yYT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxiPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTtiPWpyYShiLGM9PmMubmFtZS5pbmRleE9mKGAke2F9Ly9mb250cy5nc3RhdGljLmNvbS9zL2ApPT09MCk7KGI9a3JhKGIsKGMsZCk9PmQuZHVyYXRpb24+Yy5kdXJhdGlvbj9kOmMpKSYmYi5zdGFydFRpbWU+MCYmYi5yZXNwb25zZUVuZD4wJiYoXy5ucSgid2ZmcyIscTAoYi5zdGFydFRpbWUpKSxfLm5xKCJ3ZmZlIixxMChiLnJlc3BvbnNlRW5kKSkpfTsKUHJhPWZ1bmN0aW9uKGEsYil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCFhKXJldHVybiExO3ZhciBjPSIiLGQ9YS5ub2RlTmFtZTtkPT09IlNDUklQVCI/KGM9YS5zcmMsY3x8KGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGltaW5nLWhyZWYiKSkmJihjPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtjKSk6ZD09PSJMSU5LIiYmKGM9YS5ocmVmKTtfLmliKGRvY3VtZW50KSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixfLmliKGRvY3VtZW50KSk7cmV0dXJuIGM/KGE9Xy5zcS5nZXRFbnRyaWVzQnlOYW1lKGMpKSYmYVswXSYmKGE9YVswXSxjPXAwKCksXy5ucSgicnNmXyIrYixjK01hdGgucm91bmQoYS5mZXRjaFN0YXJ0KSksXy5ucSgicnNlXyIrYixjK01hdGgucm91bmQoYS5yZXNwb25zZUVuZCkpLGEudHJhbnNmZXJTaXplIT09dm9pZCAwJiZhLnRyYW5zZmVyU2l6ZT09PTApPyEwOiExOiExfTsKUXJhPWZ1bmN0aW9uKCl7dmFyIGE9SXJhKCksYj1fLm9vKCksYz12b2lkIDA7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBrPWFbZF07aWYoay5sb2FkVHlwZSl7Yz1rLmxvYWRUeXBlO2JyZWFrfX1pZihfLmxvKCkubG9hZFR5cGU9PT0iY29sZCImJihiLmxvYWRUeXBlPT09ImNvbGQifHxjPT09ImNvbGQiKSl7Yz1fLm1vKCk7ZD1fLm5vKCk7ZD1kLmdlbFRpY2tzP2QuZ2VsVGlja3M6ZC5nZWxUaWNrcz17fTtmb3IodmFyIGUgaW4gYyllIGluIGR8fHR5cGVvZiBjW2VdPT09Im51bWJlciImJl8ubnEoZSxfLnVxKGUpKTt2YXIgZj17fSxoPSExO2U9az0+e18ueW4oYixrKTtfLnluKGYsayk7aD0hMH07Zm9yKGxldCBrIG9mIGEpZShrKTtoJiZfLnBxKGYpfX07CnQwPWZ1bmN0aW9uKGEsYil7Xy5WaSgoKT0+e18udW8oIiIpLmluZm8uYWN0aW9uVHlwZT1hO2ImJl8uUWkoIlRJTUlOR19BRlRfS0VZUyIsYik7Xy5RaSgiVElNSU5HX0FDVElPTiIsYSk7dmFyIGM9TnJhKCk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJl8ucHEoYyk7Yz17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6Xy5QeihfLncoIlRJTUlOR19BQ1RJT04iKSl9O3ZhciBkPV8udygiUFJFVklPVVNfQUNUSU9OIik7ZCYmKGMucHJldmlvdXNBY3Rpb249Xy5QeihkKSk7aWYoZD1fLncoIkNMSUVOVF9QUk9UT0NPTCIpKWMuaHR0cFByb3RvY29sPWQ7aWYoZD1fLncoIkNMSUVOVF9UUkFOU1BPUlQiKSljLnRyYW5zcG9ydFByb3RvY29sPWQ7KGQ9Xy5pcSgpKSYmZCE9PSJVTkRFRklORURfQ1NOIiYmKGMuY2xpZW50U2NyZWVuTm9uY2U9ZCk7ZD1McmEoKTtpZihkPT09MXx8ZD09PS0xKWMuaXNWaXNpYmxlPSEwO18ubG8oKTtuMCgpO2MubG9hZFR5cGU9ImNvbGQiO2Q9bjAoKTt2YXIgZT0KcjAoKSxmPXAwKCksaD1fLncoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtoPjAmJiFfLngoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJihmPWgpO2YmJihfLm5xKCJzcnQiLGUucmVzcG9uc2VTdGFydCksZC5wcmVyZW5kZXIhPT0xJiZfLm9xKGYpKTtkPU1yYSgpO2Q+MCYmXy5ucSgiZnB0IixkKTtkPXIwKCk7ZC5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmXy5wcSh7cGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOiEwfSx2b2lkIDApO18ubnEoIm5yZXFzIixkLnJlcXVlc3RTdGFydCx2b2lkIDApO18ubnEoIm5yZXNzIixkLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTtfLm5xKCJucmVzZSIsZC5yZXNwb25zZUVuZCx2b2lkIDApO2QucmVkaXJlY3RFbmQtZC5yZWRpcmVjdFN0YXJ0PjAmJihfLm5xKCJucnMiLGQucmVkaXJlY3RTdGFydCx2b2lkIDApLF8ubnEoIm5yZSIsZC5yZWRpcmVjdEVuZCx2b2lkIDApKTtkLmRvbWFpbkxvb2t1cEVuZC0KZC5kb21haW5Mb29rdXBTdGFydD4wJiYoXy5ucSgibmRuc3MiLGQuZG9tYWluTG9va3VwU3RhcnQsdm9pZCAwKSxfLm5xKCJuZG5zZSIsZC5kb21haW5Mb29rdXBFbmQsdm9pZCAwKSk7ZC5jb25uZWN0RW5kLWQuY29ubmVjdFN0YXJ0PjAmJihfLm5xKCJudGNwcyIsZC5jb25uZWN0U3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO2Quc2VjdXJlQ29ubmVjdGlvblN0YXJ0Pj1wMCgpJiZkLmNvbm5lY3RFbmQtZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQ+MCYmKF8ubnEoIm5zdGNwcyIsZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO18uc3EmJiJnZXRFbnRyaWVzQnlUeXBlImluIF8uc3EmJk9yYSgpO2Q9W107aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmXy5zcSYmXy5zcS5nZXRFbnRyaWVzQnlOYW1lKWZvcih2YXIgayBpbiBzMClzMC5oYXNPd25Qcm9wZXJ0eShrKSYmKGU9CnMwW2tdLFByYShrLGUpJiZkLnB1c2goZSkpO2lmKGQubGVuZ3RoPjApe2MucmVzb3VyY2VJbmZvPVtdO2ZvcihsZXQgbCBvZiBkKWMucmVzb3VyY2VJbmZvLnB1c2goe3Jlc291cmNlQ2FjaGU6bH0pfV8ucHEoYyk7UXJhKCk7Xy5ReigpO2s9Xy53KCJUSU1JTkdfQUNUSU9OIik7Xy5zYSgieXRnbG9iYWwudGltaW5ncmVhZHlfIikmJmsmJl8uUnooKSYmXy52cSgpJiZfLnRxKCl9KSgpfTt2MD1mdW5jdGlvbihhKXtpZighXy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4iIjthPV8uUWIoYSl8fCIiO3ZhciBiPU9iamVjdC5rZXlzKHUwKTtmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKyl7bGV0IGQ9YltjXTtpZihhLmluY2x1ZGVzKGQpKXJldHVybiBkfXJldHVybiIifTsKdzA9ZnVuY3Rpb24oYSl7aWYoIV8ueCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXUwW2FdO3JldHVybiBiPyhfLkl6KGIpLCgpPT57dmFyIGM9Xy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oYz1ScmFbYV0pP18uSXooYyk6ITE6ITE7cmV0dXJuIGN9KTooKT0+e319O3gwPWZ1bmN0aW9uKGEpe18uVmkoKCk9PntpZighXy5SeigiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIil8fF8uQnEoYSwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIikpcmV0dXJuITE7Xy5BcShhLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7cmV0dXJuITB9KSgpfTtTcmE9ZnVuY3Rpb24oKXtfLlZpKCgpPT57dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthPT09Xy5wbygpJiZfLkFxKCJvbCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9KSgpfTsKVHJhPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsNCx2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uVGEoYSl9O3kwPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRhKGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEpfTtBMD1mdW5jdGlvbigpe3JldHVybiB6MC5sb2FkZWR8fCh6MC5sb2FkZWQ9ImxvYWRlZCIucmVwbGFjZSgvXC0oW2Etel0pL2csKGEsYik9PmIudG9VcHBlckNhc2UoKSkpfTtCMD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldOmEuZ2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIpOm51bGx9O0MwPWZ1bmN0aW9uKGEpe2EmJihhLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldPSJ0cnVlIjppcmEoYSkpfTsKRDA9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO18uTHkoYixhKTtyZXR1cm5ganMtJHtfLk15KGIuaHJlZi5yZXBsYWNlKC9eW2EtekEtWl0rOlwvXC8vLCIvLyIpKX1gfTtFMD1mdW5jdGlvbihhKXthPUQwKGEpO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpO2ImJihpMChhKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpfTtHMD1mdW5jdGlvbihhLGIpe2EmJmImJihhPWAke18uZncoYil9YCwoYT1GMFthXSkmJl8uTnooYSkpfTsKVXJhPWZ1bmN0aW9uKGEsYixjLGQ9bnVsbCl7dmFyIGU9Xy5DZCgiU0NSSVBUIik7ZS5pZD1iO2Uub25sb2FkPSgpPT57YyYmc2V0VGltZW91dChjLDApfTtlLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e3N3aXRjaChlLnJlYWR5U3RhdGUpe2Nhc2UgImxvYWRlZCI6Y2FzZSAiY29tcGxldGUiOmUub25sb2FkKCl9fTtkJiZlLnNldEF0dHJpYnV0ZSgibm9uY2UiLGQpO18ub2IoZSx0eXBlb2YgYT09PSJzdHJpbmciP3kwKGEpOmEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShlLGEuZmlyc3RDaGlsZCk7cmV0dXJuIGV9OwpWcmE9ZnVuY3Rpb24oYSxiLGM9bnVsbCl7dmFyIGQ9RDAodHlwZW9mIGE9PT0ic3RyaW5nIj9hOmEudG9TdHJpbmcoKSksZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKSxmPWUmJkIwKGUpLGg9ZSYmIWY7Zj9iJiZiKCk6KGImJihmPV8uTXooZCxiKSxiPWAke18uZncoYil9YCxGMFtiXT1mKSxofHwoZT1VcmEoYSxkLCgpPT57QjAoZSl8fChDMChlKSxfLk96KGQpLF8ubWooKCk9PntpMChkKX0sMCkpfSxjKSkpfTtIMD1mdW5jdGlvbihhLGIsYz1udWxsKXtWcmEoYSxiLGMpfTtXcmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DZCgiQSIpO18uTHkoYixuZXcgXy5XYShhKSk7cmV0dXJuYGNzcy0ke18uTXkoYi5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIikpfWB9OwpYcmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtkLmlkPWI7ZC5vbmxvYWQ9KCk9PntjJiZzZXRUaW1lb3V0KGMsMCl9O2E9eTAoYSk7Xy5xYihkLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGR9O1lyYT1mdW5jdGlvbihhKXt2YXIgYj1XcmEoYSksYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxkPWMmJkIwKGMpO2R8fGMmJiFkfHwoYz1YcmEoYSxiLCgpPT57aWYoIUIwKGMpKXtDMChjKTtfLk96KGIpO2xldCBlPV8uRGEoaTAsYik7Xy5taihlLDApfX0pKX07CkkwPWZ1bmN0aW9uKGEpe2EuRmE9ITE7aWYoYS5oYSlmb3IodmFyIGIgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShiKSYmYS5oYShiLGEualtiXSk7Zm9yKGxldCBjIGluIGEuSSlhLkkuaGFzT3duUHJvcGVydHkoYykmJmNsZWFyVGltZW91dChOdW1iZXIoYykpO2EuST17fTthLkI9bnVsbDthLmhhPW51bGw7Yj1hLmFwaTtmb3IobGV0IGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoYltjXT1udWxsKTtiLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PnthLmFkZEV2ZW50TGlzdGVuZXIoYyxkKX07Yi5yZW1vdmVFdmVudExpc3RlbmVyPShjLGQpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCl9O2IuZGVzdHJveT0oKT0+e2EuZGlzcG9zZSgpfTtiLmdldExhc3RFcnJvcj0oKT0+YS5nZXRMYXN0RXJyb3IoKTtiLmdldFBsYXllclR5cGU9KCk9PmEuZ2V0UGxheWVyVHlwZSgpO2IuZ2V0Q3VycmVudFZpZGVvQ29uZmlnPSgpPT5hLk1hO2IubG9hZE5ld1ZpZGVvQ29uZmlnPWM9Pgp7YS5sb2FkTmV3VmlkZW9Db25maWcoYyl9O2IuaXNSZWFkeT0oKT0+YS5pc1JlYWR5KCl9O0owPWZ1bmN0aW9uKGEpe3ZhciBiO2Eud2ViUGxheWVyQ29udGV4dENvbmZpZz9iPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkOmI9YS5jb25maWcuYXR0cnMuaWQ7YS5lbGVtZW50SWQ9Ynx8YS5lbGVtZW50SWQ7YS5lbGVtZW50SWQ9PT0idmlkZW8tcGxheWVyIiYmKGEuZWxlbWVudElkPWEucGxheWVySWQsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEucGxheWVySWQ6YS5jb25maWcuYXR0cnMuaWQ9YS5wbGF5ZXJJZCk7YS5vPy5pZD09PWEuZWxlbWVudElkJiYoYS5lbGVtZW50SWQ9YCR7YS5lbGVtZW50SWR9LXBsYXllcmAsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEuZWxlbWVudElkOmEuY29uZmlnLmF0dHJzLmlkPWEuZWxlbWVudElkKX07ClMwPWZ1bmN0aW9uKGEpe2lmKCFhLmlhKCkmJiFhLlUpe3ZhciBiPUswKGEpO2lmKGImJihMMChhKT8iaHRtbDUiOm51bGwpPT09Imh0bWw1IilhLlo9Imh0bWw1IixhLmlzUmVhZHkoKXx8TTAoYSk7ZWxzZSBpZihOMChhKSxhLlo9Imh0bWw1IixiJiZhLnYmJmEudGFyZ2V0RWxlbWVudClhLnRhcmdldEVsZW1lbnQuYXBwZW5kQ2hpbGQoYS52KSxNMChhKTtlbHNle2EuY29uZmlnJiYoYS5jb25maWcubG9hZGVkPSEwKTtsZXQgYz0hMTthLkQ9KCk9PntjPSEwO3ZhciBkPU8wKGEsInBsYXllcl9ib290c3RyYXBfbWV0aG9kIik/Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZUFsdGVybmF0ZSIpfHxfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIik6Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3ZhciBlPWEuY29uZmlnP1AwKGEuY29uZmlnKTp2b2lkIDA7ZCYmZChhLnRhcmdldEVsZW1lbnQsZSxhLndlYlBsYXllckNvbnRleHRDb25maWcsCmEuRWIpO00wKGEpfTthLlU9ITA7Yj9hLkQoKTooSDAoUTAoYSksYS5EKSwoYj1acmEoYSkpJiZZcmEoYnx8IiIpLFIwKGEpJiYhYyYmXy5yYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIsbnVsbCkpfX19O1QwPWZ1bmN0aW9uKGEpe2EuY29uZmlnJiZhLmNvbmZpZy5sb2FkZWQhPT0hMCYmKGEuY29uZmlnLmxvYWRlZD0hMCwhYS5jb25maWcuYXJnc3x8YS5jb25maWcuYXJncy5hdXRvcGxheSE9PSIwIiYmYS5jb25maWcuYXJncy5hdXRvcGxheSE9PTAmJmEuY29uZmlnLmFyZ3MuYXV0b3BsYXkhPT0hMT9hLmFwaS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncz8/bnVsbCk6YS5hcGkuY3VlVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncykpfTtQMD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpe2xldCBkPWFbY107YltjXT10eXBlb2YgZD09PSJvYmplY3QiP1VfKGQpOmR9cmV0dXJuIGJ9OwpVMD1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYodHlwZW9mIGI9PT0ic3RyaW5nIil7aWYoYS55YVtiXSlyZXR1cm4gYS55YVtiXTtjPSguLi5kKT0+e3ZhciBlPV8uc2EoYik7aWYoZSl0cnl7ZS5hcHBseShfLnUsZCl9Y2F0Y2goZil7dGhyb3cgZD1uZXcgXy5YaigiUGxheWVyUHJveHkgZXJyb3Igd2hlbiBleGVjdXRpbmcgY2FsbGJhY2siLHtlcnJvcjpmfSksZC5sZXZlbD0iRVJST1IiLGQ7fX07YS55YVtiXT1jfXJldHVybiBjP2M6bnVsbH07TDA9ZnVuY3Rpb24oYSl7dmFyIGI9Vl8oYS5lbGVtZW50SWQpOyFiJiZhLm8mJmEuby5xdWVyeVNlbGVjdG9yJiYoYj1hLm8ucXVlcnlTZWxlY3RvcihgIyR7YS5lbGVtZW50SWR9YCkpO3JldHVybiBifTtRMD1mdW5jdGlvbihhKXtyZXR1cm4gYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5qc1VybDooYT1hLmNvbmZpZy5hc3NldHMpP2EuanM6IiJ9OwpLMD1mdW5jdGlvbihhKXt2YXIgYj0hMCxjPUwwKGEpO2MmJmEuY29uZmlnJiYoYj1jLmRhdGFzZXQudmVyc2lvbj09PVEwKGEpKTtyZXR1cm4gYiYmISFfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIil9O08wPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnKXZhciBjPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5zZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzO2Vsc2UgYS5jb25maWc/LmFyZ3MmJihjPWEuY29uZmlnLmFyZ3MuZmZsYWdzKTtyZXR1cm4oY3x8IiIpLnNwbGl0KCImIikuaW5jbHVkZXMoYCR7Yn09dHJ1ZWApfTsKTTA9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7bGV0IGI9TDAoYSksYz0hMTtiJiZiLmdldEFwaUludGVyZmFjZSYmYi5nZXRBcGlJbnRlcmZhY2UoKSYmKGM9ITApO2M/KGEuVT0hMSwhTzAoYSwiaHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoIikmJmI/LmlzTm90U2VydmFibGUmJmEuY29uZmlnJiZiPy5pc05vdFNlcnZhYmxlKGEuY29uZmlnLmFyZ3M/LnZpZGVvX2lkKXx8JHJhKGEpKTphLlFhPXNldFRpbWVvdXQoKCk9PntNMChhKX0sNTApfX07TjA9ZnVuY3Rpb24oYSl7YS5jYW5jZWwoKTtJMChhKTthLlo9bnVsbDthLmNvbmZpZyYmKGEuY29uZmlnLmxvYWRlZD0hMSk7dmFyIGI9TDAoYSk7YiYmKEswKGEpfHwhUjAoYSk/YS52PWI6KGImJmIuZGVzdHJveSYmYi5kZXN0cm95KCksYS52PW51bGwpKTthLnRhcmdldEVsZW1lbnQmJldfKGEudGFyZ2V0RWxlbWVudCl9OwpacmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEud2ViUGxheWVyQ29udGV4dENvbmZpZz9hLndlYlBsYXllckNvbnRleHRDb25maWcuY3NzVXJsOihhPWEuY29uZmlnLmFzc2V0cyk/YS5jc3M6IiJ9O1IwPWZ1bmN0aW9uKGEpe2E9YS5jb25maWc/LmFyZ3M/LmZmbGFncztyZXR1cm4hIWEmJmEuaW5kZXhPZigicGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb249dHJ1ZSIpIT09LTF9OwokcmE9ZnVuY3Rpb24oYSl7STAoYSk7YS5GYT0hMDt2YXIgYj1MMChhKTtpZihiKXthLkI9VjAoYSxiLCJhZGRFdmVudExpc3RlbmVyIik7YS5oYT1WMChhLGIsInJlbW92ZUV2ZW50TGlzdGVuZXIiKTtsZXQgYz1iLmdldEFwaUludGVyZmFjZSgpO2M9Yy5jb25jYXQoYi5nZXRJbnRlcm5hbEFwaUludGVyZmFjZSgpKTtsZXQgZD1hLmFwaTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXTtkW2ZdfHwoZFtmXT1WMChhLGIsZikpfX1mb3IobGV0IGMgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShjKSYmYS5CJiZhLkIoYyxhLmpbY10pO1QwKGEpO2Eub2EmJmEub2EoYS5hcGkpO2EuTS5wdWJsaXNoKCJvblJlYWR5IixhLmFwaSl9OwpWMD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YltjXTtyZXR1cm4oLi4uZSk9Pnt0cnl7cmV0dXJuIGEubGFzdEVycm9yPW51bGwsZC5hcHBseShiLGUpfWNhdGNoKGYpe2lmKGMhPT0ic2VuZEFiYW5kb25tZW50UGluZyIpdGhyb3cgZi5wYXJhbXM9YyxhLmxhc3RFcnJvcj1mLGU9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIGluIG1ldGhvZCBjYWxsIix7ZXJyb3I6ZixtZXRob2Q6YyxwbGF5ZXJJZDphLnBsYXllcklkfSksZS5sZXZlbD0iV0FSTklORyIsZTt9fX07CmFzYT1mdW5jdGlvbihhLGIpe3ZhciBjPWQ9Pnt2YXIgZT0oKT0+e2EuaWEoKTtpZighYS5pYSgpKXRyeXthLk0ucHVibGlzaChiLGQ/P3ZvaWQgMCl9Y2F0Y2goaCl7dmFyIGY9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIHdoZW4gY3JlYXRpbmcgZ2xvYmFsIGNhbGxiYWNrIix7ZXJyb3I6aC5tZXNzYWdlLGV2ZW50OmIscGxheWVySWQ6YS5wbGF5ZXJJZCxkYXRhOmQsb3JpZ2luYWxTdGFjazpoLnN0YWNrLGNvbXBvbmVudFN0YWNrOmguY29tcG9uZW50U3RhY2t9KTtmLmxldmVsPSJXQVJOSU5HIjt0aHJvdyBmO319O2lmKE8wKGEsIndlYl9wbGF5ZXJfcHVibGlzaF9ldmVudHNfaW1tZWRpYXRlbHkiKSllKCk7ZWxzZXtsZXQgZj1zZXRUaW1lb3V0KCgpPT57ZSgpO3ZhciBoPWEuSSxrPVN0cmluZyhmKTtrIGluIGgmJmRlbGV0ZSBoW2tdfSwwKTt2cmEoYS5JLFN0cmluZyhmKSl9fTtyZXR1cm4gYS5qW2JdPWN9Owpjc2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz0icGxheWVyIjtjPXR5cGVvZiBjPT09InN0cmluZyI/Vl8oYyk6Yzt2YXIgZD1gJHtfLnZhYX1fJHtfLmZ3KGMpfWAsZT1XMFtkXTtlPW5ldyBic2EoYyxkLGEsYik7VzBbZF09ZTtlLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57ZGVsZXRlIFcwW2UuZ2V0SWQoKV19KTtyZXR1cm4gZS5hcGl9O1gwPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O18ueCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKGIucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIGE9Xy5laihhLGIpfTtZMD1mdW5jdGlvbihhKXt2YXIgYj1fLncoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIik7YiYmKGE9U3RyaW5nKGIpK1N0cmluZyhfLk55KGEpKSk7cmV0dXJuIGF9OwpaMD1mdW5jdGlvbihhLGI9IlBPU1QiKXthPXttZXRob2Q6Yixtb2RlOl8uZmooYSk/InNhbWUtb3JpZ2luIjoiY29ycyIsY3JlZGVudGlhbHM6Xy5maihhKT8ic2FtZS1vcmlnaW4iOiJpbmNsdWRlIn07Yj17fTt2YXIgYz17fTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYikpYltkXSYmKGNbZF09YltkXSk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJihhLmhlYWRlcnM9Yyk7cmV0dXJuIGF9OyQwPWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19O2ExPWZ1bmN0aW9uKGEpe2lmKF8uWHooKSl7dmFyIGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpYj0kMChjKSxiPT09dm9pZCAwfHxhLmluY2x1ZGVzKGIpfHxzZWxmLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07CmRzYT1mdW5jdGlvbigpe2lmKCFfLlh6KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpaWYoYj0kMChjKSxiIT09dm9pZCAwJiZiIT09YSlyZXR1cm4hMDtyZXR1cm4hMX07YjE9ZnVuY3Rpb24oYSl7Xy5PaShfLiR6LGFyZ3VtZW50cyl9O2MxPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGF3YWl0IF8uZUEoKSl7dmFyIGI9W10sYz1hd2FpdCBfLmRBLmtleXMoKTtmb3IobGV0IGQgb2YgYykoe2RhdGFzeW5jSWQ6Y309Xy5iQShkKSksIWN8fGEuaW5jbHVkZXMoYyl8fGIucHVzaChfLmRBLmRlbGV0ZShkKSk7UHJvbWlzZS5hbGwoYikudGhlbihkPT5kLnNvbWUoZT0+ZSkpfX07CmVzYT1hc3luYyBmdW5jdGlvbigpe2lmKCFhd2FpdCBfLmVBKCkpcmV0dXJuITE7dmFyIGE9Xy5WaigiY2FjaGUgY29udGFpbnMgb3RoZXIiKSxiPWF3YWl0IF8uZEEua2V5cygpO2ZvcihsZXQgYyBvZiBiKWlmKHtkYXRhc3luY0lkOmJ9PV8uYkEoYyksYiYmYiE9PWEpcmV0dXJuITA7cmV0dXJuITF9O2ZzYT1mdW5jdGlvbihhKXtpZihfLmhBLmhhcyhhKSYmXy5mQSYmKF8uZkE/LnRhZ05hbWUudG9Mb3dlckNhc2UoKT8/IiIpPT09YSl7bGV0IGI7KGI9Xy5mQSkubWk/PyhiLm1pPTApO18uZkEubWkrKztpZihfLmZBLm1pPjEpdGhyb3cgRXJyb3IoIlBiIik7cmV0dXJuIF8uZkF9fTtnc2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpPz8iIjtfLmZBIT09YSYmYi5pbmNsdWRlcygiLSIpJiZfLmdBLnNldChhLCEwKX07ZDE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2goYSl7cmV0dXJuITB9fTsKZjE9ZnVuY3Rpb24oYT0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3ZhciBjPXdpbmRvdz09PXdpbmRvdy50b3A/d2luZG93OmQxKCk/d2luZG93OndpbmRvdy50b3AsZD1jW2FdO2Q/LmJldmFzcnM/YihuZXcgZTEoZC5iZXZhc3JzKSk6KGR8fChkPXtucWZiZWw6W119LGNbYV09ZCksZC5ucWZiZWwucHVzaChlPT57YihuZXcgZTEoZSkpfSkpfSl9O2hzYT1mdW5jdGlvbihhKXthLmohPT12b2lkIDAmJihhLm8uZm9yRWFjaChiPT57YS5qPy5yZW1vdmVFdmVudExpc3RlbmVyKGIsYS52KX0pLGEuaj12b2lkIDApfTtnMT1mdW5jdGlvbihhKXt2YXIgYj17S2M6YS5jLHNsOmEuZSxMeTphLm1jPz8hMSxNeTphLm1lPz8hMX07YS5jbyYmKGIueWk9e1hvOmEuY28uYyxBdTphLmNvLmEsSkE6YS5jby5zfSk7cmV0dXJuIGJ9Owpqc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGFzeW5jKCk9Pnt2YXIgYj1hd2FpdCBhKCk7cmV0dXJue2Y6KCk9PmIueWcucHJvbWlzZSxjOmM9PntpZihjPjE1MCl2YXIgZD0hMTtlbHNlIHRyeXtiLmNhY2hlPW5ldyBpc2EoYyxiLlgpLGQ9ITB9Y2F0Y2goZSl7Yi5yZXBvcnRFcnJvcihuZXcgaDEoMjIsIkdCSjppbml0IixlKSksZD0hMX1yZXR1cm4gZH0sbTpjPT5iLm9lKGcxKGMpKSxtd3M6Yz0+Yi56aihnMShjKSl9fX07CmtzYT1mdW5jdGlvbihhLGIsYz0iYmV2YXNyc2ciKXtiPXtzOmY9PmEuc25hcHNob3Qoey4uLihmLmMmJntLYzpmLmN9KSwuLi4oZi5zJiZ7WWo6Zi5zfSksVUs6Zi5wPz8hMH0pLGU6Zj0+dm9pZCBhLkloPy4oZiksYzooZixoKT0+YS5CaShmLGgpLHA6YS5DZyxsOigpPT5hLlZoKCksd3BjOmI/anNhKGIpOnZvaWQgMH07dmFyIGQ9d2luZG93PT09d2luZG93LnRvcD93aW5kb3c6ZDEoKT93aW5kb3c6d2luZG93LnRvcCxlPWRbY107aWYoZSl7ZS5iZXZhc3JzPWI7aWYoZS5ucWZiZWwhPT12b2lkIDApZm9yKGxldCBmIG9mIGUubnFmYmVsKWYoYik7ZS5ucWZiZWw9dm9pZCAwfWVsc2UgZT17YmV2YXNyczpiLG5xZmJlbDp2b2lkIDB9LGRbY109ZX07ajE9ZnVuY3Rpb24oYSl7dmFyIGI9W107R18oYSxpMSw2KS5mb3JFYWNoKGM9PntfLnR4KGMsMik8PTUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTsKbHNhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO0dfKGEsaTEsNikuZm9yRWFjaChjPT57Xy50eChjLDIpPjUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTtrMT1mdW5jdGlvbihhKXthLnRoZW4oKCk9Pnt9LCgpPT57fSl9O2wxPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6YX19O20xPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MyxmaWVsZE5hbWU6YX19O21zYT1mdW5jdGlvbihhLGIpe3JldHVybiBDXyhhLGIsXy5Pdyl9OwpyMT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgbjE7Yj1CWihiLDEsYS5vKTt2YXIgYz1uc2EoYSk7Yj1DXyhiLGMsc3JhKTtjPVtdO3ZhciBkPVtdO2Zvcih2YXIgZSBvZiBhLmoua2V5cygpKWQucHVzaChlLnNwbGl0KCIsIikpO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKyspe2xldCBwPWRbZV07dmFyIGY9YS52LGg9bzEoYSwuLi5wKXx8W107bGV0IHI9W107Zm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sJiZsLmo7bD1uZXcgb3NhO3N3aXRjaChmKXtjYXNlIDM6bT1OdW1iZXIobSk7TnVtYmVyLmlzRmluaXRlKG0pJiZGXyhsLDEscDEseV8obSkpO2JyZWFrO2Nhc2UgMjpGXyhsLDIscDEscF8oTnVtYmVyKG0pKSl9ci5wdXNoKGwpfWZvcihmPTA7ZjxyLmxlbmd0aDtmKyspe2s9cltmXTtoPW5ldyBwc2E7aD1fLkt3KGgsMixrKTtrPVtdO2w9cXNhKGEpO2ZvcihtPTA7bTxsLmxlbmd0aDttKyspe3ZhciBuPWxbbV07bGV0IHQ9cFttXSx2PW5ldyByc2E7c3dpdGNoKG4pe2Nhc2UgMzpGXyh2LAoxLHExLEFaKFN0cmluZyh0KSkpO2JyZWFrO2Nhc2UgMjpuPU51bWJlcih0KTtOdW1iZXIuaXNGaW5pdGUobikmJkZfKHYsMixxMSxfLlB3KG4pKTticmVhaztjYXNlIDE6Rl8odiwzLHExLF8ueHcodD09PSJ0cnVlIikpfWsucHVzaCh2KX1IXyhoLDEsayk7Yy5wdXNoKGgpfX1IXyhiLDQsYyk7cmV0dXJuIGJ9O3NzYT1mdW5jdGlvbihhKXtIXyhzMSwxLGEpfTsKdXNhPWZ1bmN0aW9uKGEsYj10MSl7aWYoIXUxKXthPWEubmF2aWdhdG9yPy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoImtlIikpO3NzYSgoYS5icmFuZHN8fFtdKS5tYXAoZD0+e3ZhciBlPW5ldyB0c2E7ZT1CWihlLDEsZC5icmFuZCk7cmV0dXJuIEJaKGUsMixkLnZlcnNpb24pfSkpO3R5cGVvZiBhLm1vYmlsZT09PSJib29sZWFuIiYmXy5xdyhzMSwyLF8ueHcoYS5tb2JpbGUpKTt1MT1hLmdldEhpZ2hFbnRyb3B5VmFsdWVzKGIpfXZhciBjPW5ldyBTZXQoYik7cmV0dXJuIHUxLnRoZW4oZD0+e3ZhciBlPXMxLmNsb25lKCk7Yy5oYXMoInBsYXRmb3JtIikmJkJaKGUsMyxkLnBsYXRmb3JtKTtjLmhhcygicGxhdGZvcm1WZXJzaW9uIikmJkJaKGUsNCxkLnBsYXRmb3JtVmVyc2lvbik7CmMuaGFzKCJhcmNoaXRlY3R1cmUiKSYmQlooZSw1LGQuYXJjaGl0ZWN0dXJlKTtjLmhhcygibW9kZWwiKSYmQlooZSw2LGQubW9kZWwpO2MuaGFzKCJ1YUZ1bGxWZXJzaW9uIikmJkJaKGUsNyxkLnVhRnVsbFZlcnNpb24pO3JldHVybiBlLnNlcmlhbGl6ZSgpfSkuY2F0Y2goKCk9PnMxLnNlcmlhbGl6ZSgpKX07djE9ZnVuY3Rpb24oYSl7cmV0dXJuIENaKGEsMSwxKX07eTE9ZnVuY3Rpb24oYSxiKXtfLkt3KGEuaiwxLGIpO0tfKGIpfHx2MShiKTthLnlkfHwoYj13MShhKSxKXyhiLDUpfHxCWihiLDUsYS5sb2NhbGUpKTthLnYmJihiPXcxKGEpLF8uTngoYix4MSw5KXx8Xy5LdyhiLDksYS52KSl9O3cxPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTngoYS5qLHoxLDEpO2J8fChiPW5ldyB6MSx5MShhLGIpKTthPWI7Yj1fLk54KGEsQTEsMTEpO2J8fChiPW5ldyBBMSxfLkt3KGEsMTEsYikpO3JldHVybiBifTt2c2E9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnhzYT1mdW5jdGlvbihhKXt2YXIgYj1hLnlkP3ZvaWQgMDpfLnpkKCk7Yj91c2EoYix0MSkudGhlbihjPT57YS52PXdzYShjPz8iW10iKTtjPXcxKGEpO18uS3coYyw5LGEudik7cmV0dXJuITB9KS5jYXRjaCgoKT0+ITEpOlByb21pc2UucmVzb2x2ZSghMSl9O0IxPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQj1hO3RoaXMuRD1iO3RoaXMubz10aGlzLmo9YTt0aGlzLks9Y3x8MDt0aGlzLkk9ZHx8Mn07QzE9ZnVuY3Rpb24oYSl7YS5vPU1hdGgubWluKGEuRCxhLm8qYS5JKTthLmo9TWF0aC5taW4oYS5ELGEubysoYS5LP01hdGgucm91bmQoYS5LKihNYXRoLnJhbmRvbSgpLS41KSoyKmEubyk6MCkpO2EudisrfTtEMT1mdW5jdGlvbigpe3JldHVybiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn07CnlzYT1mdW5jdGlvbihhLGIpe2lmKCFhLk1hKXJldHVybigpPT57fTt2YXIgYz0oKT0+e2EuZmx1c2goKX07cmV0dXJuIGI/KCk9PntiKCkudGhlbihjKX06Y307RTE9ZnVuY3Rpb24oYSl7YS52LmlzRmluYWw9ITA7YS5mbHVzaCgpO2Eudi5pc0ZpbmFsPSExfTtGMT1mdW5jdGlvbihhKXthLlV8fChhLlU9RDEoKSk7dHJ5e3JldHVybihuZXcgVVJMKGEuVSkpLnRvU3RyaW5nKCl9Y2F0Y2goYil7cmV0dXJuKG5ldyBVUkwoYS5VLF8uemQoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07QXNhPWZ1bmN0aW9uKGEpe3pzYShhLChiLGMpPT57Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwianNvbiIpO3ZhciBkPSExO3RyeXtkPV8uemQoKS5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihiLnRvU3RyaW5nKCksYy5zZXJpYWxpemUoKSl9Y2F0Y2h7fWR8fChhLlo9ITEpO3JldHVybiBkfSl9OwpCc2E9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPWEud2l0aENyZWRlbnRpYWxzKXt2YXIgZT17fSxmPW5ldyBVUkwoRjEoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5zZXNzaW9uSW5kZXgmJihlWyJYLUdvb2ctQXV0aFVzZXIiXT1hLnNlc3Npb25JbmRleCxmLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixhLnNlc3Npb25JbmRleCkpO2EucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTphLnBhZ2VJZH0pLGYuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixhLnBhZ2VJZCkpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixHdToxLE9qOmUscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHRpbWVvdXRNaWxsaXM6YS50aW1lb3V0TWlsbGlzfX07CnpzYT1mdW5jdGlvbihhLGIpe2lmKGEuai5sZW5ndGghPT0wKXt2YXIgYz1uZXcgVVJMKEYxKGEpKTtjLnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBkPWEuU2YoKTtkJiZjLnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGQpO2Muc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEuc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihkPTA7ZDwxMCYmYS5qLmxlbmd0aDsrK2Qpe2xldCBlPWEuai5zbGljZSgwLDMyKSxmPWEudi5idWlsZChlLGEuQixhLkksYS5sZixhLmhhLGEuZ2EpO2lmKCFiKGMudG9TdHJpbmcoKSxmKSl7KythLkk7YnJlYWt9YS5CPTA7YS5JPTA7YS5oYT0wO2EuZ2E9MDthLmo9YS5qLnNsaWNlKGUubGVuZ3RoKX1hLm8uZW5hYmxlZCYmYS5vLnN0b3AoKX19O0NzYT1mdW5jdGlvbihhLGIpe2EuYnVpbGRMYWJlbD1iO3JldHVybiBhfTtFc2E9ZnVuY3Rpb24oYSl7YS5uZXR3b3JrPW5ldyBEc2E7cmV0dXJuIGF9O0ZzYT1mdW5jdGlvbihhLGIpe2Euaj1ifTsKR3NhPWZ1bmN0aW9uKGEpe2Eubz0hMDtyZXR1cm4gYX07cXNhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZpZWxkcy5tYXAoYj0+Yi5maWVsZFR5cGUpfTtvMT1mdW5jdGlvbihhLC4uLmIpe2I9RzEoLi4uYik7cmV0dXJuIGEuai5oYXMoYik/YS5qLmdldChiKTp2b2lkIDB9O25zYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5maWVsZHMubWFwKGI9PmIuZmllbGROYW1lKX07STE9ZnVuY3Rpb24oYSxiLC4uLmMpe2M9RzEoLi4uYyk7YS5qLnNldChjLFtuZXcgSDEoYildKX07SHNhPWZ1bmN0aW9uKGEsYiwuLi5jKXt2YXIgZD1vMShhLC4uLmMpO2Q/ZC5wdXNoKG5ldyBIMShiKSk6STEoYSxiLC4uLmMpfTtHMT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYT9hLmpvaW4oIiwiKToia2V5In07SXNhPWZ1bmN0aW9uKGEsLi4uYil7cmV0dXJuKGE9bzEoYSwuLi5iKSkmJmEubGVuZ3RoP2FbMF06dm9pZCAwfTsKSnNhPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9MCxkPUlzYShhLC4uLmIpO2QmJihjPWQuaik7STEoYSxjKzEsLi4uYil9O0sxPWZ1bmN0aW9uKGEsYiwuLi5jKXthLnYuaGFzKGIpfHxhLnYuc2V0KGIsbmV3IEoxKGIsYykpfTtNMT1mdW5jdGlvbihhLGIsLi4uYyl7YS52LmhhcyhiKXx8YS52LnNldChiLG5ldyBMMShiLGMpKX07TjE9ZnVuY3Rpb24oYSl7YS5vLmVuYWJsZWR8fGEuby5zdGFydCgpO2EuSSsrO2EuST49YS5CJiZhLkQoKX07S3NhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0uY2xlYXIoKX07TzE9ZnVuY3Rpb24oYSxiLC4uLmMpeyhiPWEuaihiKSkmJmIgaW5zdGFuY2VvZiBMMSYmKEpzYShiLC4uLmMpLE4xKGEpKX07ClAxPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19OwpMc2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTtSMT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9UTEoKTtiPWIoKTthLnYoYyxRMSgpLWQpO3JldHVybiBifTtPc2E9ZnVuY3Rpb24oYSxiLGMsZCl7YT1Hc2EoRXNhKENzYShuZXcgUzEsYSkpKS5ubCgpO2IubGVuZ3RoJiZGc2EoYSxtc2EobmV3IE1zYSxiKSk7ZCE9PXZvaWQgMCYmKGEuTmU9ZCk7dmFyIGU9bmV3IE5zYShhLmJ1aWxkKCkpO0VaKGUsYSk7dmFyIGY9bmV3IFQxKHtmbHVzaChoKXt0cnl7ZS5mbHVzaChoKX1jYXRjaChrKXtjKGspfX19KTtmLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtmLkQoKX1maW5hbGx5e2UuZGlzcG9zZSgpfX0pfSk7Zi5CPTFFNTtmLmZsdXNoSW50ZXJ2YWw9M0U0O2Yuby5zZXRJbnRlcnZhbCgzRTQpO3JldHVybiBmfTsKUHNhPWZ1bmN0aW9uKGEpe2lmKGEudGltZXI9PT12b2lkIDApe2xldCBiPU1hdGgubWF4KDAsYS5qK2Euby1RMSgpKTthLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0cnl7YS5jYWxsYmFjaygpfWZpbmFsbHl7YS5qPVExKCksYS50aW1lcj12b2lkIDB9fSxiKX19O1JzYT1mdW5jdGlvbihhLGI9W10pe3JldHVybiBuZXcgUXNhKGEsYil9O1ExPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9O1UxPWZ1bmN0aW9uKGEsYil7aWYoYS5kaXNhYmxlKXJldHVybiBuZXcgU3NhO2I9Yj9qMShiKTpbXTtyZXR1cm4gUnNhKHttYjphLm1iLHpsOmEuU3Ysbm06YS5LeSxOZTphLk5lLEZqOmEuRmosSWc6YS5JZ30sYil9O1cxPWZ1bmN0aW9uKCl7VjEuaW5zdGFuY2V8fChWMS5pbnN0YW5jZT1uZXcgVjEpO3JldHVybiBWMS5pbnN0YW5jZX07ClRzYT1mdW5jdGlvbihhLGIsYyxkKXtpZighYiYmIWMpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFkKXJldHVybiBYMShiLGMpO3ZhciBlOyhlPWEucHJvbWlzZXMpW2RdfHwoZVtkXT1uZXcgUHJvbWlzZSgoZixoKT0+e1gxKGIsYykudGhlbigoKT0+e2Euaj1kO2YoKX0saz0+e2RlbGV0ZSBhLnByb21pc2VzW2RdO2goayl9KX0pKTtyZXR1cm4gYS5wcm9taXNlc1tkXX07JDE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVHNhKGEsXy5OeChiLFkxLDEsXy53eiksXy5OeChiLFoxLDIsXy53eiksSl8oYiwzLHZvaWQgMCxfLnd6KSl9O1gxPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/VXNhKGIpOmE/VnNhKGEpOlByb21pc2UucmVzb2x2ZSgpfTsKVXNhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e3ZhciBkPV8uQ2QoIlNDUklQVCIpLGU9VHJhKGEpO18ub2IoZCxlKTtkLm9ubG9hZD0oKT0+e18uRGQoZCk7YigpfTtkLm9uZXJyb3I9KCk9PntfLkRkKGQpO2MoRXJyb3IoInFlIikpfTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChkKX0pfTtWc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKGI9Pnt2YXIgYz1fLkNkKCJTQ1JJUFQiKTtpZihhKXt2YXIgZD1fLlh0KF8uZWQoYSw2LHZvaWQgMCxfLkR2KSk7ZD1kPT09bnVsbHx8ZD09PXZvaWQgMD9udWxsOl8ua2IoZCl9ZWxzZSBkPW51bGw7Xy5uYihjLGQpOyhkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKGMpO18uRGQoYyk7YigpfSl9OwpXc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDEsQVooYiksIiIpfTtYc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDIsQVooYiksIiIpfTsKYXRhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQ9VzEoKSxlPVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGYpe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCBrPW51bGw7aWYoaCl7YTIoYSw3KTt0cnl7az1hd2FpdCBiMihoLnNuYXBzaG90KHt9KSxmLmF2LCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKG4pe2s9IkU6VUNFIn19bGV0IGwsbT1uZXcgQjEoaD9mLkp2OmYuS3YsZi5MdixmLk12LGYuSXYpO2ZvcihsZXQgbj0xO248PWYubWF4QXR0ZW1wdHM7bisrKXtpZihuIT09MSl7YTIoYSwwKTthLmo9bmV3IGMyKG0uaixmLmVrLGYubHMpO2xldCBwPWF3YWl0IGEuai5wcm9taXNlO2Euaj12b2lkIDA7cD09PTE/KG49MSxtLnJlc2V0KCkpOkMxKG0pfXRyeXtsZXQgcDtjP3A9YzooYTIoYSw1KSxwPWF3YWl0IGIyKFlzYShiLGQuaixrKSxmLlZ2LCgpPT5Qcm9taXNlLnJlamVjdChFcnJvcigic2UiKSkpKTthMihhLDMpO2F3YWl0IGIyKCQxKGQscCksZi5xeSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInRlIikpKTsKYTIoYSw4KTthd2FpdCBlO2xldCByPW5ldyBkMih7Y2hhbGxlbmdlOnAsbmc6YS5vcHRpb25zLm5nLEZzOmEub3B0aW9ucy5Gc30pO2F3YWl0IGIyKHIuQ2csZi5tQSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInVlIikpKTtsPXI7YnJlYWt9Y2F0Y2gocCl7YS5oYW5kbGVFcnJvcihwKSxlMihhKX19aWYoYS5pYSgpKWJyZWFrO2wmJihjPXZvaWQgMCxac2EoYSxoKSxoPWwsJHNhKGEsbCksZTIoYSkpO2EyKGEsMik7YS5qPW5ldyBjMihmLkZyLGYuZWssZi5scyk7YS5pc1BhdXNlZCYmYS5qLnBhdXNlKCk7YXdhaXQgYS5qLnByb21pc2U7YS5qPXZvaWQgMDtpZihhLmlhKCkpYnJlYWt9aD8uZGlzcG9zZSgpfTsKYnRhPWZ1bmN0aW9uKGEpe2EuTT1FcnJvcigicmUiKTthLkQucmVzb2x2ZSgpO2sxKGEuSS5wcm9taXNlKTthLkkucmVqZWN0KEVycm9yKCJyZSIpKTthLlguZGlzcG9zZSgpO1Byb21pc2UuYWxsKGEuQikudGhlbihhc3luYygpPT57YS5vPy5kaXNwb3NlKCk7YS5vPXZvaWQgMH0pO2EuQj1bXTthLmo/Lm8oKTtrMShhLnYucHJvbWlzZSk7YS52LnJlamVjdChFcnJvcigicmUiKSl9O2YyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5HajthLkdqPSgpPT57YygpO2IoKX19OyRzYT1mdW5jdGlvbihhLGIpe2EuaWEoKXx8KGEubz1iLGEuWC51cGRhdGUoYi5WaCgpKSxhLkQucmVzb2x2ZSgpLGEuSS5yZXNvbHZlKHZvaWQgMCksYS5HaigpKX07WnNhPWZ1bmN0aW9uKGEsYil7YiYmKFByb21pc2UuYWxsKGEuQikudGhlbigoKT0+dm9pZCBiLmRpc3Bvc2UoKSksYS5CPVtdKX07YTI9ZnVuY3Rpb24oYSxiKXthLlo9YjthLm9wdGlvbnMuaks/LihiKX07CmUyPWZ1bmN0aW9uKGEpe2EuaWEoKXx8KGEudi5yZXNvbHZlKCksYS52PW5ldyBfLmNzKX07YjI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2M9KG5ldyBQcm9taXNlKGU9PntkPXNldFRpbWVvdXQoZSxiKX0pKS50aGVuKGMpO2sxKGMpO3JldHVybiBQcm9taXNlLnJhY2UoW2EuZmluYWxseSgoKT0+dm9pZCBjbGVhclRpbWVvdXQoZCkpLGNdKX07Y3RhPWZ1bmN0aW9uKGEsYil7YS5lbmRUaW1lTXM9RGF0ZS5ub3coKStiO2EudGljaygpfTtnMj1mdW5jdGlvbihhKXthLmomJihjbGVhclRpbWVvdXQoYS5qKSxhLmo9bnVsbCl9O2gyPWZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oYSxiKSwhMH1jYXRjaChjKXtyZXR1cm4hMX19OwppMj1mdW5jdGlvbihhLGI9MCxjPWEubGVuZ3RoLGQpe3ZhciBlPTA7Zm9yKGQmJihlPWkyKGQpKTtiPGM7YisrKWU9ZHRhKDMxLGUpKyh0eXBlb2YgYT09PSJzdHJpbmciP2EuY2hhckNvZGVBdChiKTphW2JdKXwwO3JldHVybiBlfTtrMj1mdW5jdGlvbihhKXt2YXIgW2IsY109W2kyKGEsMCxhLmxlbmd0aD4+MSxqMiksaTIoYSxhLmxlbmd0aD4+MSldO3JldHVybiBiLnRvU3RyaW5nKDE2KStjLnRvU3RyaW5nKDE2KX07CmwyPWZ1bmN0aW9uKGEsYil7dmFyIGM9W2kyKGIsMCxiLmxlbmd0aD4+MSx2b2lkIDApLGkyKGIsYi5sZW5ndGg+PjEpXTthPW5ldyBVaW50MzJBcnJheShhLmJ1ZmZlcik7Yj1hWzBdO3ZhciBbZCxlXT1jO2ZvcihjPTE7YzxhLmxlbmd0aDtjKz0yKXt2YXIgZj1iLGg9YyxrPWQsbD1lO2ZvcihsZXQgbT0wO208MjI7bSsrKWg9aD4+Pjh8aDw8MjQsaCs9ZnwwLGhePWsrMzgyOTMsZj1mPDwzfGY+Pj4yOSxmXj1oLGw9bD4+Pjh8bDw8MjQsbCs9a3wwLGxePW0rMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1sO2Y9W2YsaF07YVtjXV49ZlswXTtjKzE8YS5sZW5ndGgmJihhW2MrMV1ePWZbMV0pfX07CmV0YT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSg0LShqMi5sZW5ndGgrYy5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2YrajIubGVuZ3RoKzQrYy5sZW5ndGgpLGs9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxsPTA7ay5zZXRVaW50MzIobCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO2w9bCs0K2Y7aC5zZXQoajIsbCk7bCs9ajIubGVuZ3RoO2suc2V0VWludDMyKGwsZSk7aC5zZXQoYyxsKzQpO2wyKGgsZCk7cmV0dXJuIGEucmIoYixtPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShtKSk/aDIoYixfLnNjKGgpKT8icyI6InQiOiJpIn07CmZ0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShhKTtpZighYylyZXR1cm5bIm0iXTt0cnl7dmFyIGQ9Xy51YyhjKTtsMihkLGIpfWNhdGNoKGUpe3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJjIl19Zm9yKGI9NDtiPDcmJmRbYl09PT0wOyliKys7Zm9yKGM9MDtjPGoyLmxlbmd0aDtjKyspaWYoZFtiKytdIT09ajJbY10pcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShhKSxbImQiXTtjPShuZXcgRGF0YVZpZXcoZC5idWZmZXIpKS5nZXRVaW50MzIoYik7cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpPj1jPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJlIl0pOlsiYSIsbmV3IFVpbnQ4QXJyYXkoZC5idWZmZXIsYis0KV19OwpndGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJpVTVxLSFPOUAkIik7aWYoIWIpcmV0dXJuIG5ldyBtMihhKTt2YXIgYz1iLnNwbGl0KCIsIik7aWYoYy5sZW5ndGg8MilyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IG0yKGEpO2I9Yy5zbGljZSgxKTtiLmxlbmd0aD09PTEmJmJbMF09PT0iIiYmKGI9W10pO2M9TnVtYmVyKGNbMF0pO3JldHVybiBpc05hTihjKXx8YzwwfHxjPmIubGVuZ3RoPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImlVNXEtIU85QCQiKSxuZXcgbTIoYSkpOm5ldyBtMihhLGMsYil9O24yPWZ1bmN0aW9uKGEsYil7dmFyIGM9c2V0VGltZW91dCgoKT0+e2Eudi5yZXNvbHZlKCl9LGIpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGMpKX07CnAyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YCR7YihhLmVycm9yLm1lc3NhZ2UpfToke2IoYS5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtiPWMubGVuZ3RoKzE7Yz1vMihjKTt2YXIgZD1uZXcgVWludDhBcnJheSg0K2MubGVuZ3RoKTtkLnNldChbNDIsYiYxMjd8MTI4LGI+PjcsYS5lcnJvci5jb2RlXSk7ZC5zZXQoYyw0KTtyZXR1cm4gZH07bzI9ZnVuY3Rpb24oYSl7cmV0dXJuIGdsb2JhbFRoaXMuVGV4dEVuY29kZXI/KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpOl8uYWMoYSl9Owp0Mj1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YS52Kys7dmFyIGM9bmV3IF8uY3M7YS52bSBpbnN0YW5jZW9mIHEyJiZhLnZtLkIucHVzaChjLnByb21pc2UpO2lmKGEuUW4pe2xldCBmPW5ldyBfLmNzO3NldFRpbWVvdXQoKCk9PnZvaWQgZi5yZXNvbHZlKCkpO2F3YWl0IGYucHJvbWlzZX12YXIgZD1hLlguc2hhcmUoKTt0cnl7YS5zdGF0ZT01O2xldCBmPVtdLGg9YXdhaXQgYjIoYS52bS5zbmFwc2hvdCh7S2M6e30sSXM6Zn0pLGEuTGcuQkEsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxNSwiTURBOlRpbWVvdXQiKSkpO3IyKGEsIk1EQTpEaXNwb3NlZCIpO2xldCBrPWZbMF07YS5zdGF0ZT02O2xldCBsPWF3YWl0IGIyKGh0YShhLm9kLGgpLGEuTGcuV3YsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxMCwiQldCOlRpbWVvdXQiKSkpO3IyKGEsIkJXQjpEaXNwb3NlZCIpO2Euc3RhdGU9NztiPVIxKGQsKCk9Pnt2YXIgbT1pdGEoYSxsLGMsayk7bS52LnByb21pc2UudGhlbigoKT0+CnZvaWQgYS5CKCkpO3JldHVybiBtfSwiaSIpfWNhdGNoKGYpe2I/LmRpc3Bvc2UoKTtpZighYS5vKXtsZXQgaD1qdGEoYSxmKTtjLnJlc29sdmUoKTt2YXIgZTtpZihlPWEudm0gaW5zdGFuY2VvZiBxMiYmYS52PDIpYTppZihmIGluc3RhbmNlb2YgaDEpZT1mLmNvZGUhPT0zMiYmZi5jb2RlIT09MjAmJmYuY29kZSE9PTEwO2Vsc2V7aWYoZiBpbnN0YW5jZW9mIHMyKXN3aXRjaChmLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6ZT0hMTticmVhayBhfWU9ITB9aWYoZSl7bGV0IGs9c2V0VGltZW91dCgoKT0+dm9pZCBhLkIoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKGEuaj82RTQ6MUUzKSk7YS5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQoaykpO3JldHVybn1hLm89aH1kLkpiKGEuaj8xMzoxNCk7YS55Zy5yZWplY3QoYS5vKTtyZXR1cm59ZmluYWxseXtkLmRpc3Bvc2UoKX1hLnN0YXRlPTg7YS52PTA7YS5qPy5kaXNwb3NlKCk7CmEuaj1iO2EueWcucmVzb2x2ZSgpfTtqdGE9ZnVuY3Rpb24oYSxiKXtpZighKGIgaW5zdGFuY2VvZiBoMSkpaWYoYiBpbnN0YW5jZW9mIHMyKXtsZXQgYz1FcnJvcihiLnRvU3RyaW5nKCkpO2Muc3RhY2s9Yi5zdGFjaztiPW5ldyBoMSgxMSwiRUJIOkVycm9yIixjKX1lbHNlIGI9bmV3IGgxKDEyLCJCU086VW5rbm93biIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O3IyPWZ1bmN0aW9uKGEsYil7aWYoYS5pYSgpKXRocm93IG5ldyBoMShhLmo/MjA6MzIsYik7fTsKaXRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPShzXyhfLmVkKGIsMikpPz8wKSoxRTM7aWYoZTw9MCl0aHJvdyBuZXcgaDEoMzEsIlRUTTpJbnZhbGlkIik7aWYoSl8oYiw0KSlyZXR1cm4gbmV3IGt0YShhLlgsSl8oYiw0KSxlKTtpZighKHNfKF8uZWQoYiwzKSk/PzApKXJldHVybiBuZXcgbHRhKGEuWCxGWihCXyhiKSksZSk7aWYoIWQpdGhyb3cgbmV3IGgxKDQsIlBNRDpVbmRlZmluZWQiKTtkPWQoRlooQl8oYikpKTtpZih0eXBlb2YgZCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IGgxKDE2LCJBUEY6RmFpbGVkIik7YS5EPU1hdGguZmxvb3IoKERhdGUubm93KCkrZSkvMUUzKTthPW5ldyB1MihhLlgsZCxzXyhfLmVkKGIsMykpPz8wLGUpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgYy5yZXNvbHZlKCkpO3JldHVybiBhfTsKdzI9ZnVuY3Rpb24oYSxiLGMpe3RyeXtpZihhLmlhKCkpdGhyb3cgbmV3IGgxKDIxLCJCTlQ6ZGlzcG9zZWQiKTtpZighYS5qJiZhLm8pdGhyb3cgYS5vO3JldHVybiBtdGEoYSxiLGMpPz9udGEoYSxiLGMpPz9vdGEoYSxiLGMpfWNhdGNoKGQpe2lmKCFiLk15KXRocm93IHYyKGEsZCk7cmV0dXJuIHB0YShhLGMsZCl9fTt2Mj1mdW5jdGlvbihhLGIpe2I9YiBpbnN0YW5jZW9mIGgxP2I6bmV3IGgxKDUsIlRWRDplcnJvciIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O210YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuaj8uc20oKCk9PngyKGEsYiksYyxkPT57aWYoYS5qIGluc3RhbmNlb2YgdTImJmIueWk/LkpBKXRyeXthLmNhY2hlPy5qKHgyKGEsYiksZCxiLnlpLlhvLGEuRC0xMjApfWNhdGNoKGUpe2EucmVwb3J0RXJyb3IobmV3IGgxKDI0LCJFTFg6d3JpdGUiLGUpKX19KX07Cm50YT1mdW5jdGlvbihhLGIsYyl7aWYoYi55aT8uQXUpdHJ5e2xldCBkPWEuY2FjaGU/Lm8oeDIoYSxiKSxiLnlpLlhvKTtyZXR1cm4gZD9jP1IxKGEuWCwoKT0+Xy5zYyhkLDIpLCJhIik6ZDp2b2lkIDB9Y2F0Y2goZCl7YS5yZXBvcnRFcnJvcihuZXcgaDEoMjMsIlJYTzpyZWFkIixkKSl9fTtvdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZighYi5MeSl0aHJvdyBuZXcgaDEoMjksIlNERjpub3RyZWFkeSIpO3JldHVybiBfLlZ6KGQsbmV3IHF0YShhLlgsYS5zdGF0ZSkpLnNtKCgpPT54MihhLGIpLGMpfWNhdGNoKGUpe2QuZXJyb3I9ZSxkLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihkKX19OwpwdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZT12MihhLGMpO3JldHVybiBfLlZ6KGQsbmV3IHJ0YShhLlgsZSkpLnNtKCgpPT5bXSxiKX1jYXRjaChlKXtkLmVycm9yPWUsZC5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooZCl9fTt4Mj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnNsP2Iuc2w6Yi5LYz9SMShhLlgsKCk9PmIuc2w9bzIoYi5LYyksImMiKTpbXX07eTI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PSJcciJ8fGE9PSJcbiJ8fGE9PSIgInx8YT09Ilx0In07ejI9ZnVuY3Rpb24oKXt0aGlzLk09bnVsbDt0aGlzLlk9W107dGhpcy5JPSIiO3RoaXMuVT1bXTt0aGlzLnY9dGhpcy5vPTA7dGhpcy5EPSExO3RoaXMuSz0wO3RoaXMuWj0vW1xcIl0vZzt0aGlzLmo9dGhpcy5CPTB9OwpBMj1mdW5jdGlvbihhLGIsYyl7YS5CPTM7YS5NPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIithLnYrIi8iK2MrIi4gV2l0aCBpbnB1dDpcbiIrYjt0aHJvdyBFcnJvcihhLk0pO307QzI9ZnVuY3Rpb24oKXt2YXIgYT1VXyhzdGEpLGI7cmV0dXJuKG5ldyBfLkJmKChjLGQpPT57YS5vblN1Y2Nlc3M9ZT0+e18ucWooZSk/YyhuZXcgdHRhKGUpKTpkKG5ldyBCMihgUmVxdWVzdCBmYWlsZWQsIHN0YXR1cz0ke18ucGooZSl9YCwibmV0LmJhZHN0YXR1cyIpKX07YS5vbkVycm9yPSgpPT57ZChuZXcgQjIoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIikpfTthLm9uVGltZW91dD0oKT0+e2QobmV3IEIyKCJSZXF1ZXN0IHRpbWVkIG91dCIsIm5ldC50aW1lb3V0IikpfTtiPV8uemooIi8vZ29vZ2xlYWRzLmcuZG91YmxlY2xpY2submV0L3BhZ2VhZC9pZCIsYSl9KSkuS2coYz0+e2MgaW5zdGFuY2VvZiBfLlBmJiZiPy5hYm9ydCgpO3JldHVybiBfLk90KGMpfSl9Owp1dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0yO2Eubz1ifTt2dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0xO2Eubz1ifTtFMj1mdW5jdGlvbihhPW51bGwpe3ZhciBiPW5ldyBEMjt1dGEoYixhKTtyZXR1cm4gYn07RjI9ZnVuY3Rpb24oYT1udWxsKXt2YXIgYj1uZXcgRDI7dnRhKGIsYSk7cmV0dXJuIGJ9O3d0YT1mdW5jdGlvbihhKXt2YXIgYj1hLmRvY2lkfHxhLnZpZGVvX2lkfHxhLnZpZGVvSWR8fGEuaWQ7aWYoYilyZXR1cm4gYjtiPWEucmF3X3BsYXllcl9yZXNwb25zZTtifHwoYT1hLnBsYXllcl9yZXNwb25zZSkmJihiPUpTT04ucGFyc2UoYSkpO3JldHVybiBiJiZiLnZpZGVvRGV0YWlscyYmYi52aWRlb0RldGFpbHMudmlkZW9JZHx8bnVsbH07CkcyPWZ1bmN0aW9uKGEpe3ZhciBiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIjt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoInlvdXR1YmVlZHVjYXRpb24uY29tIikmJihiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKTt2YXIgYz1hLnJhd19lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7aWYoIWMmJihhPWEuZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlKSl0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpe3JldHVybiBifWlmKGMpYTp7YT14dGE7Zm9yKGxldCBkIGluIGEpaWYoYVtkXT09Yy5lbWJlZGRlZFBsYXllck1vZGUpe2I9YVtkXTticmVhayBhfX1yZXR1cm4gYn07Cnl0YT1mdW5jdGlvbigpe2lmKF8ueCgiZGlzYWJsZV9iaXNjb3R0aV9mZXRjaF9lbnRpcmVseV9mb3JfYWxsX3dlYl9jbGllbnRzIikpcmV0dXJuIEVycm9yKCJ2ZSIpO2lmKCFfLnN6KCkpcmV0dXJuIEVycm9yKCJ3ZSIpO3ZhciBhPV8udygiUExBWUVSX1ZBUlMiLHt9KTtpZihUXyhhKT09IjEiKXJldHVybiBFcnJvcigieGUiKTtpZihHMihhKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKXJldHVybiBFcnJvcigieWUiKX07Wl89ZnVuY3Rpb24oKXt2YXIgYT15dGEoKTtpZihhIT09dm9pZCAwKXJldHVybiBfLk90KGEpO0gyfHwoSDI9QzIoKS50aGVuKEkyKS5LZyhiPT5KMigyLGIpKSk7cmV0dXJuIEgyfTsKSTI9ZnVuY3Rpb24oYSl7YT1hLmoucmVzcG9uc2VUZXh0O2lmKGEubGFzdEluZGV4T2YoIildfSciLDApIT0wKXRocm93IG5ldyBLMjthPUpTT04ucGFyc2UoYS5zdWJzdHIoNCkpO2lmKChhLnR5cGV8fDEpPjEpdGhyb3cgbmV3IEsyO2E9YS5pZDskXyhhKTtIMj1GMihhKTtMMigxOEU1LDIpO3JldHVybiBhfTtKMj1mdW5jdGlvbihhLGIpe2I9bmV3IE0yKGIpOyRfKCIiKTtIMj1FMihiKTthPjAmJkwyKDEyRTQsYS0xKTt0aHJvdyBiO307TDI9ZnVuY3Rpb24oYSxiKXtfLm1qKGZ1bmN0aW9uKCl7QzIoKS50aGVuKEkyLGM9PkoyKGIsYykpLktnKF8uZ2QpfSxhKX07enRhPWZ1bmN0aW9uKCl7dHJ5e2xldCBhPV8uc2EoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iKTtyZXR1cm4gYT9hKCk6Wl8oKX1jYXRjaChhKXtyZXR1cm4gXy5PdChhKX19OwpOMj1mdW5jdGlvbigpe3ZhciBhPSExO3RyeXthPSEhd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInNlc3Npb25fbG9naW5pbmZvIil9Y2F0Y2h7YT0hMH1yZXR1cm4oXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIikmJmF9OwpPMj1mdW5jdGlvbigpe3RyeXt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic3RpY2tpbmVzc19yZWxvYWQiKTt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKTtfLlFpKCJMT0dJTl9JTkZPIiwiIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oImZyb21fc3dpdGNoX2FjY291bnQiLCIxIik7dmFyIGE7bGV0IGM9QXRhO2N8fChjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwZXJzaXN0X2lkZW50aXR5IikpO2lmKGE9Yyl7dmFyIGI9YS5zcmM/KG5ldyBVUkwoYS5zcmMpKS5vcmlnaW46IioiO2EuY29udGVudFdpbmRvdz8ucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiY2xlYXIifSxiKX19Y2F0Y2h7fX07ClAyPWZ1bmN0aW9uKGEpe2lmKGEpaWYoYS5zdGFydHNXaXRoKCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vQWRkU2Vzc2lvbiIpKU8yKCk7ZWxzZSBpZihhLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKSlPMigpO2Vsc2V7dmFyIGI7aWYoYj1hLnN0YXJ0c1dpdGgoImh0dHBzOi8vbXlhY2NvdW50Lmdvb2dsZS5jb20iKSliPShhIGluc3RhbmNlb2YgXy5meT9hLmNsb25lKCk6bmV3IF8uZnkoYSkpLmouZW5kc1dpdGgoIi95b3V0dWJlb3B0aW9ucyIpO2ImJk8yKCl9aWYoXy53KCJMT0dHRURfSU4iLCEwKSYmTjIoKSl7Yj1fLncoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBjPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2MmJmIucHVzaChjKTtjPV8uUGIoYSk7Xy5zYihiLGMpPj0wfHwhYyYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTA/KGI9Xy5OeShhKSwoYj1fLk95KGIpKT8oYj1fLnZ6KGIpLApiPShiPV8uTGouZ2V0KGIsdm9pZCAwKXx8bnVsbCk/Xy5iaihiKTp7fSk6Yj1udWxsKTpiPW51bGw7Yj09bnVsbCYmKGI9e30pO2M9Yjt2YXIgZD12b2lkIDA7TjIoKT8oZHx8KGQ9Xy53KCJMT0dJTl9JTkZPIikpLGQ/KGMuc2Vzc2lvbl9sb2dpbmluZm89ZCxjPSEwKTpjPSExKTpjPSExO2MmJl8udXooYSxiKX19O0J0YT1mdW5jdGlvbihhLGI9e30sYz0hMSl7dmFyIGQ9Xy53KCJFVkVOVF9JRCIpO2QmJihiLmVpfHwoYi5laT1kKSk7YiYmXy51eihhLGIpO2lmKGMpcmV0dXJuITE7UDIoYSk7Yj13aW5kb3c7YT1fLldiKGEse30pO1AyKGEpO2E9Xy5LeihhKTtiPWIubG9jYXRpb247YT1fLmRiKGEpO2EhPT12b2lkIDAmJihiLmhyZWY9YSk7cmV0dXJuITB9O1EyPWZ1bmN0aW9uKGEpe2lmKFRfKF8udygiUExBWUVSX1ZBUlMiLHt9KSkhPSIxIil7YSYmd3JhKCk7dHJ5e3p0YSgpLnRoZW4oKCk9Pnt9LCgpPT57fSksXy5taihRMiwxOEU1KX1jYXRjaChiKXtfLlVpKGIpfX19OwpEdGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cubG9jYXRpb24uaHJlZjtpZihfLngoImtldmxhcl9kaXNhYmxlX3RoZW1lX3BhcmFtIikpcmV0dXJuIG51bGw7Xy5RYihhKTt0cnl7bGV0IGI9YTAoYSkudGhlbWU7cmV0dXJuIEN0YS5nZXQoYil8fG51bGx9Y2F0Y2goYil7fXJldHVybiBudWxsfTsKUzI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFIyO2lmKGEuaW50ZXJwcmV0ZXJKYXZhc2NyaXB0KXt2YXIgYz1ZXyhhLmludGVycHJldGVySmF2YXNjcmlwdCk7Yz1fLmxiKGMpLnRvU3RyaW5nKCk7dmFyIGQ9bmV3IFkxO0JaKGQsNixjKTtfLkt3KGIsMSxkLF8ud3opfWVsc2UgYS5pbnRlcnByZXRlclVybCYmKGM9Xy5odyhhLmludGVycHJldGVyVXJsKSxjPV8uVWEoYykudG9TdHJpbmcoKSxkPW5ldyBaMSxCWihkLDQsYyksXy5LdyhiLDIsZCxfLnd6KSk7YS5pbnRlcnByZXRlckhhc2gmJl8uV3goYiwzLEFaKGEuaW50ZXJwcmV0ZXJIYXNoKSwiIixfLnd6KTthLnByb2dyYW0mJl8uV3goYiw0LEFaKGEucHJvZ3JhbSksIiIsXy53eik7YS5nbG9iYWxOYW1lJiZfLld4KGIsNSxBWihhLmdsb2JhbE5hbWUpLCIiLF8ud3opO2EuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2ImJl8uV3goYiw3LEFaKGEuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2IpLCIiLF8ud3opO3JldHVybiBifTsKVDI9ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjIG9mIGEpYT1jLnNwbGl0KCI9IiksYS5sZW5ndGg9PT0yJiYoYlthWzBdXT1hWzFdKTtyZXR1cm4gYn07VTI9ZnVuY3Rpb24oYSl7cmV0dXJuIE51bWJlcihhLnQpfHw3MjAwfTtFdGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT13aW5kb3c7YXdhaXQgZjEoVjIoKSk7dmFyIGI9YS5iZ2V2bWM7aWYoIWIpdGhyb3cgRXJyb3IoInplIik7cmV0dXJue3BhdXNlOigpPT57Yi5wKCl9LHJlc3VtZTooKT0+e2IucigpfSxjaGVja0ZvclJlZnJlc2g6KCk9PmIuY3IoKX19O1YyPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiYmdfc3RfaHIiKT8iaGF2dW9rbWhocy0wIjpgaGF2dW9rbWhocy0ke01hdGguZmxvb3IoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZT8udGltZU9yaWdpbnx8MCl9YH07VzI9ZnVuY3Rpb24oYSl7d2luZG93LmJnZW5zPWF9OwpGdGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPXdpbmRvdztiLm50cGV2YXNycyE9PXZvaWQgMD9hKG5ldyBYMihiLm50cGV2YXNycykpOihiLm50cHFmYmVsPT09dm9pZCAwJiYoYi5udHBxZmJlbD1bXSksYi5udHBxZmJlbC5wdXNoKGM9PnthKG5ldyBYMihjKSl9KSl9KX07Ckd0YT1mdW5jdGlvbigpe2lmKF8uc3ooKSl7dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIse30pO2lmKFRfKGEpIT0iMSImJkcyKGEpIT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCIpe3ZhciBiPSgpPT57WTI9ITA7Imdvb2dsZV9hZF9zdGF0dXMiaW4gd2luZG93P18uUWkoIkRDTEtTVEFUIiwxKTpfLlFpKCJEQ0xLU1RBVCIsMil9O3RyeXtsZXQgYz1fLmliKGRvY3VtZW50KTtIMChaMixiLGMpfWNhdGNoKGMpe30kMi5wdXNoKF8uamYucGIoKCk9PntpZighKFkyfHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7RzAoWjIudG9TdHJpbmcoKSxiKX1jYXRjaChjKXt9WTI9ITA7Xy5RaSgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07YTM9ZnVuY3Rpb24oKXt2YXIgYT1OdW1iZXIoXy53KCJEQ0xLU1RBVCIsMCkpO3JldHVybiBpc05hTihhKT8wOmF9O2IzPWZ1bmN0aW9uKGEsYil7YS5qPWJ9OwpJdGE9YXN5bmMgZnVuY3Rpb24oYSl7aWYoXy51Lnl0QXRQJiYhXy54KCJ5dGF0cF9rcyIpKXt2YXIgYj1hd2FpdCBfLnUueXRBdFA7ZGVsZXRlIF8udS55dEF0UDt2YXIgYz1iPy5SO3ZhciBkPWI/LlQ7Yj1IdGEoYyk7bGV0IGY9ISFkO2Euby5vKGM/Yj9mPzc6MTA6Zj8xOjg6Zj8yOjksYS52KyspO2lmKCFjfHxiKWM9YXdhaXQgYS5SZihjMyhkLG51bGwpKSxjPUpTT04uc3RyaW5naWZ5KGMpO18udS55dEF0UkM/Xy51Lnl0QXRSQyhjKTpfLklwKEVycm9yKCJBZSIpKX1lbHNlIF8udS55dEF0UkM/Xy5yeChhc3luYygpPT57ZD1fLnUueXRBdFQ7ZGVsZXRlIF8udS55dEF0VDtpZihfLnUueXRBdFJDKXthLm8ubygyLGEudisrKTt2YXIgZj1hd2FpdCBhLlJmKGMzKGQsbnVsbCkpO18udS55dEF0UkMmJl8udS55dEF0UkMoSlNPTi5zdHJpbmdpZnkoZikpfWVsc2UgYS5vLm8oNixhLnYrKyl9LF8uc2ooImF0dF9pbml0X2RlbGF5IiwwKSk6KGQ9Xy51Lnl0QXRULGRlbGV0ZSBfLnUueXRBdFQsCmEuby5vKDEsYS52KyspKTtjPWF3YWl0IEZ0YSgpO2MuYmluZElubmVydHViZUNoYWxsZW5nZUZldGNoZXIoZj0+e2Euby5vKDMsYS52KyspO3JldHVybiBhLlJmKGMzKGQsZikpfSk7Yy5yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhmPT57Zj1mLmNoYWxsZW5nZTtpZighZil0aHJvdyBFcnJvcigiQmUiKTtmPXtjaGFsbGVuZ2U6ZixCZjpUMihmKSx2bTplLGJnQ2hhbGxlbmdlOm5ldyBSMn07Zj1Qcm9taXNlLnJlc29sdmUoZik7YS5qPWZ9KTt2YXIgZT1hd2FpdCBmMShWMigpKTtjPWMuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKS5jaGFsbGVuZ2U7aWYoIWMpdGhyb3cgRXJyb3IoIkNlIik7cmV0dXJue2NoYWxsZW5nZTpjLEJmOlQyKGMpLHZtOmUsYmdDaGFsbGVuZ2U6bmV3IFIyfX07CmUzPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPWMzKHZvaWQgMCxXMSgpLmopO3RyeXt2YXIgYz1hd2FpdCBKdGEoYSxiKX1jYXRjaChmKXtyZXR1cm4gXy5JcChFcnJvcigiRGUiKSksZDMoYSw4NjRFNSkse2NoYWxsZW5nZToiIixCZjp7fSx2bTp2b2lkIDAsYmdDaGFsbGVuZ2U6dm9pZCAwfX1iPWMueXo7dmFyIGQ9Yy56ejtkMyhhLFUyKGQpKjFFMyk7YT12b2lkIDA7aWYoImMxYSJpbiBkJiZjLmJnQ2hhbGxlbmdlKXt2YXIgZT1TMihjLmJnQ2hhbGxlbmdlKTt0cnl7YXdhaXQgJDEoVzEoKSxlKX1jYXRjaChmKXtyZXR1cm4gXy5JcChmKSx7Y2hhbGxlbmdlOmIsQmY6ZCx2bTphLGJnQ2hhbGxlbmdlOmV9fXRyeXthPW5ldyBkMih7Y2hhbGxlbmdlOmUsbmc6e21iOiJhR0lmIn19KSxhd2FpdCBhLkNnfWNhdGNoKGYpe18uSXAoZiksYT12b2lkIDB9fXJldHVybntjaGFsbGVuZ2U6YixCZjpkLHZtOmEsYmdDaGFsbGVuZ2U6ZX19OwpKdGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dm9pZCAwLGQ9MDtkPDU7KXtpZihkPjApe2xldCBlPTFFMypNYXRoLnBvdygyLGQtMSkrTWF0aC5yYW5kb20oKSoxRTM7YXdhaXQgbmV3IFByb21pc2UoZj0+e18uWWooKCk9PntmKHZvaWQgMCl9LGUpfSl9dHJ5e2Euby5vKDQsYS52KyspO2xldCBlPWF3YWl0IGEuUmYoYik7cmV0dXJuIEt0YShlKX1jYXRjaChlKXtjPWUsZSBpbnN0YW5jZW9mIEVycm9yJiZfLklwKGUpfWQrK310aHJvdyBjO307ZDM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EYXRlLm5vdygpK2IsZD1hc3luYygpPT57dmFyIGU9Yy1EYXRlLm5vdygpO2U8MUUzP2F3YWl0IEx0YShhKTpfLllqKGQsTWF0aC5taW4oZSw2RTQpKX07ZCgpfTtmMz1hc3luYyBmdW5jdGlvbihhLGIpe1cyKDIpO3RyeXtsZXQgYz1hd2FpdCBhLm5ldHdvcmsuUmYoYik7Yz9jLmNoYWxsZW5nZSYmIWMuYmdDaGFsbGVuZ2U/VzIoMSk6VzIoNCk6VzIoMyk7cmV0dXJuIGN9Y2F0Y2goYyl7VzIoMyl9fTsKS3RhPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCJFZSIpO2lmKCFhLmNoYWxsZW5nZSl0aHJvdyBFcnJvcigiRmUiKTt2YXIgYj1hLmNoYWxsZW5nZSxjPVQyKGIpO2lmKCJjMWEiaW4gYyYmKCFhLmJnQ2hhbGxlbmdlfHwhYS5iZ0NoYWxsZW5nZS5wcm9ncmFtKSl0aHJvdyBFcnJvcigiR2UiKTtyZXR1cm57Li4uYSx5ejpiLHp6OmN9fTtMdGE9YXN5bmMgZnVuY3Rpb24oYSl7dmFyIGI9YXdhaXQgUHJvbWlzZS5yYWNlKFthLmosbnVsbF0pLGM9ZTMoYSk7YS5qPWM7Yj8udm0/LmRpc3Bvc2UoKX07TXRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLllqKCgpPT57YyhiKCkpfSxhKX0pfTtjMz1mdW5jdGlvbihhLGIpe3ZhciBjPXtlbmdhZ2VtZW50VHlwZToiRU5HQUdFTUVOVF9UWVBFX1VOQk9VTkQifTthJiYoYy5lYWNyVG9rZW49YSk7YiYmKGMuaW50ZXJwcmV0ZXJIYXNoPWIpO3JldHVybiBjfTsKSHRhPWZ1bmN0aW9uKGEpe2lmKCFhfHwhXy54KCJyb3NjYXMiKSlyZXR1cm4hMTt0cnl7dmFyIGI9SlNPTi5wYXJzZShhKX1jYXRjaChjKXtyZXR1cm4hMX1hPWIuY2hhbGxlbmdlO2lmKCFhKXJldHVybiExO2I9VDIoYSk7YT1OdW1iZXIoYi5jKXx8dm9pZCAwO2I9VTIoYik7cmV0dXJuISFhJiZEYXRlLm5vdygpPihhK2IpKjFFM307aDM9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPWczLlVOS05PV05fSU5URVJGQUNFO2lmKGIpe2I9bmV3IFJlZ0V4cChiKTtmb3IodmFyIGMgb2YgYSlpZihiLmV4ZWMoYykpcmV0dXJuIGN9dmFyIGQ9W107T2JqZWN0LmVudHJpZXMoZzMpLmZvckVhY2goKFtlLGZdKT0+eyJVTktOT1dOX0lOVEVSRkFDRSIhPT1lJiZkLnB1c2goZil9KTtjPW5ldyBSZWdFeHAoZC5qb2luKCJ8IikpO2Euc29ydCgoZSxmKT0+ZS5sZW5ndGgtZi5sZW5ndGgpO2ZvcihsZXQgZSBvZiBhKWlmKCFjLmV4ZWMoZSkpcmV0dXJuIGU7cmV0dXJuIGFbMF19OwpOdGE9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntFbDpuZXcgaTMoKGMsZCk9PnthPWM7Yj1kfSkscmVzb2x2ZTphLHJlamVjdDpifX07azM9ZnVuY3Rpb24oYSl7cmV0dXJuIGozKGEpP2E6KDAsXy5ibykoYSk/bmV3IGkzKChiLGMpPT57YS50aGVuKGIsYyl9KTpuZXcgaTMoYj0+e2IoYSl9KX07T3RhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgaTMoKGIsYyk9PntjKGEpfSl9O1B0YT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGszKGEoKSl9Y2F0Y2goYil7cmV0dXJuIE90YShiKX19O1F0YT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntsMyhhLGIsYyl9KX07bTM9ZnVuY3Rpb24oYSl7cmV0dXJuIFF0YShhKX07bjM9ZnVuY3Rpb24oYSl7aWYoYS5qPT09ImZ1bGZpbGxlZCIpe3ZhciBiPWEubzthLm89W107YS52PVtdO2Zvcih2YXIgYyBvZiBiKWMoYS5yZXN1bHQpfWVsc2UgaWYoYS5qPT09InJlamVjdGVkIil7Yz1hLnY7YS5vPVtdO2Eudj1bXTtmb3IoYiBvZiBjKWIoYS5lcnJvcil9fTsKbDM9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7RWw6ZCxyZXNvbHZlOmUscmVqZWN0OmZ9PU50YSgpO2Euby5wdXNoKGg9PntpZihiKXRyeXtsZXQgaz1iKGgpO2Uoayl9Y2F0Y2goayl7ZihrKX1lbHNlIGUoaCl9KTthLnYucHVzaChoPT57aWYoYyl0cnl7bGV0IGs9YyhoKTtlKGspfWNhdGNoKGspe2Yoayl9ZWxzZSBmKGgpfSk7bjMoYSk7cmV0dXJuIGR9O1J0YT1mdW5jdGlvbihhLGIpe3JldHVybiBsMyhhLHZvaWQgMCxiKX07bzM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gU3RhKGIuY2FsbChhKSl9O3AzPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbiooKXtyZXR1cm4geWllbGR7RWw6azMoYSl9fSgpfTtTdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIFB0YSgoKT0+cTMoYSxhLm5leHQoKSkpfTtxMz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmRvbmU/azMoYi52YWx1ZSk6UnRhKGwzKGIudmFsdWUuRWwsYz0+cTMoYSxhLm5leHQoYykpKSxjPT5xMyhhLGEudGhyb3coYykpKX07ClR0YT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPV8ueSgpLnJlc29sdmUoXy5JeSk7aWYoYSl7aWYoYT1hd2FpdCBhLlFpKHtzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiR0VUX0RBVEFTWU5DX0lEUyJ9fSkpe2lmKGEuZXJyb3JNZXRhZGF0YSl7Xy5JcChFcnJvcigiSGVgIithLmVycm9yTWV0YWRhdGEuc3RhdHVzKyJgIithLmVycm9yKSk7cmV0dXJufXJldHVybiBhLnRJfV8uSXAoRXJyb3IoIkllIikpfWVsc2UgXy5JcChFcnJvcigiSmUiKSl9OwpyMz1mdW5jdGlvbihhLGIpe2lmKGIuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPWIsdHlwZW9mIGIuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBjPU51bWJlcihiLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxjKjFFMyk7YS5vJiZfLk1qKCJDT05TSVNURU5DWSIsYi5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzLGMsdm9pZCAwLCEwKX19O3MzPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgXy5lbigieXQtY2xpZW50LWxvY2F0aW9uIik6YS5sb2NhbFN0b3JhZ2V9Owp3Mz1mdW5jdGlvbihhLGI9ITEsYz0hMSl7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO2lmKCFkKXJldHVybiBfLkdwKEVycm9yKCJNZSIpKSx7fTtkPV8ucWQoZCk7Xy54KCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGQuY2xpY2tUcmFja2luZztkLmNsaWVudHx8KGQuY2xpZW50PXt9KTt2YXIgZT1kLmNsaWVudDtlLmNsaWVudE5hbWU9PT0iTVdFQiImJmUuY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGUuY2xpZW50Rm9ybUZhY3Rvcj1fLncoIklTX1RBQkxFVCIpPyJMQVJHRV9GT1JNX0ZBQ1RPUiI6IlNNQUxMX0ZPUk1fRkFDVE9SIik7ZS5zY3JlZW5XaWR0aFBvaW50cz13aW5kb3cuaW5uZXJXaWR0aDtlLnNjcmVlbkhlaWdodFBvaW50cz13aW5kb3cuaW5uZXJIZWlnaHQ7ZS5zY3JlZW5QaXhlbERlbnNpdHk9TWF0aC5yb3VuZCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk7ZS5zY3JlZW5EZW5zaXR5RmxvYXQ9CndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO2UudXRjT2Zmc2V0TWludXRlcz0tTWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO18uSHooKTt2YXIgZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO18uQ3ooMTY1KT9mPSJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjpfLkN6KDE3NCk/Zj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiOiFfLngoImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiKSYmd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWUpIikubWF0Y2hlcyYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzJiYoZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyIpO2Y9RHRhKCl8fGY7ZS51c2VySW50ZXJmYWNlVGhlbWU9ZjtfLngoIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSIpJiZfLnUuZG9jdW1lbnQmJgooZS5hcHBsaWNhdGlvblN0YXRlPV8udS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFiKXtpZihmPV8uU2ooKSllLmNvbm5lY3Rpb25UeXBlPWY7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGY9Xy5VaigpKSYmKGQuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPWYpfV8ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGQuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke18udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSoxRTZ9YCk7aWYoXy54KCJ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmUiKSl7dmFyIGg9Xy5qbSgpO2lmKGgpe2Y9aC5jb2xkQ29uZmlnRGF0YTtsZXQgbj1oLmNvbGRIYXNoRGF0YTtoPWguaG90SGFzaERhdGE7ZC5jbGllbnQuY29uZmlnSW5mbz1kLmNsaWVudC5jb25maWdJbmZvfHx7fTtmJiYKKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9Zik7biYmKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPW4pO2gmJihkLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWgpfX1mPWEwKF8udS5sb2NhdGlvbi5ocmVmKTshXy54KCJ3ZWJfcG9wdWxhdGVfaW50ZXJuYWxfZ2VvX2tpbGxzd2l0Y2giKSYmZi5pbnRlcm5hbGNvdW50cnljb2RlJiYoZS5pbnRlcm5hbEdlbz1mLmludGVybmFsY291bnRyeWNvZGUpO2UuY2xpZW50TmFtZT09PSJNV0VCInx8ZS5jbGllbnROYW1lPT09IldFQiI/KGUubWFpbkFwcFdlYkluZm98fChlLm1haW5BcHBXZWJJbmZvPXt9KSxlLm1haW5BcHBXZWJJbmZvLmdyYWZ0VXJsPV8udS5sb2NhdGlvbi5ocmVmLF8ueCgia2V2bGFyX3dvZmZsZSIpJiZ0My5pbnN0YW5jZSYmKGY9dDMuaW5zdGFuY2UsZS5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hZi5qJiZmLm8/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6CiJQV0FfSU5TVEFMTEFCSUxJVFlfU1RBVFVTX1VOS05PV04iKSxlLm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSxlLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmUuY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFfLngoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJihmPV8udygiTElWSU5HX1JPT01fQVBQX1FVQUxJVFkiKSkmJihlLnR2QXBwSW5mbz1PYmplY3QuYXNzaWduKGUudHZBcHBJbmZvfHx7fSx7YXBwUXVhbGl0eTpmfSkpLGY9Xy53KCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoZS50dkFwcEluZm89T2JqZWN0LmFzc2lnbihlLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpmfSkpO2lmKCFfLngoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIGs9CihuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7YnJlYWsgYX1jYXRjaHt9az12b2lkIDB9ayYmKGUudGltZVpvbmU9ayl9KGs9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpKT9lLmV4cGVyaW1lbnRzVG9rZW49azpkZWxldGUgZS5leHBlcmltZW50c1Rva2VuO2U9Xy51aigpO3UzLmluc3RhbmNlfHwodTMuaW5zdGFuY2U9bmV3IHUzKTtrPV8uWngodTMuaW5zdGFuY2Uuaik7ZC5yZXF1ZXN0PXsuLi5kLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6ZSxjb25zaXN0ZW5jeVRva2VuSmFyczprfTshXy54KCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihlPV8udygiSU5ORVJUVUJFX0NPTlRFWFRfUFJFUVVFU1RfQ09OVEVYVCIpKSYmKGQucmVxdWVzdC5leHRlcm5hbFByZXF1ZXN0Q29udGV4dD1lKTtrPV8uSHooKTtlPV8uQ3ooNTgpO2s9ay5nZXQoImdzbWwiLCIiKTtkLnVzZXI9ey4uLmQudXNlcn07ZSYmKGQudXNlci5lbmFibGVTYWZldHlNb2RlPQplKTtrJiYoZC51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO18ueCgid2FybV9vcF9jc25fY2xlYW51cCIpP2MmJihiPV8uaXEoKSkmJihkLmNsaWVudFNjcmVlbk5vbmNlPWIpOiFiJiYoYj1fLmlxKCkpJiYoZC5jbGllbnRTY3JlZW5Ob25jZT1iKTthJiYoZC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmF9KTtpZihhPV8uc2EoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWQucmVtb3RlQ2xpZW50PWE7djMuamMoKS5zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChkKTt0cnl7dmFyIGw9Xy5saigpLG09bC5iaWQ7ZGVsZXRlIGwuYmlkO2QuYWRTaWduYWxzSW5mbz17cGFyYW1zOltdLGJpZDptfTtmb3IobGV0IFtuLHBdb2YgT2JqZWN0LmVudHJpZXMobCkpbD1uLG09cCxkLmFkU2lnbmFsc0luZm8ucGFyYW1zPy5wdXNoKHtrZXk6bCx2YWx1ZTpgJHttfWB9KTtpZihkLmNsaWVudD8uY2xpZW50TmFtZT09PSJUVkhUTUw1Inx8ZC5jbGllbnQ/LmNsaWVudE5hbWU9PT0KIlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IG49Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO24uYWRTaWduYWxzSW5mbyYmKGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkPW4uYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkLGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkU2lnbmFsVHlwZT0iREVWSUNFX0lEX1RZUEVfQ09OTkVDVEVEX1RWX0lGQSIsZC5hZFNpZ25hbHNJbmZvLmxpbWl0QWRUcmFja2luZz1uLmFkU2lnbmFsc0luZm8ubGltaXRBZFRyYWNraW5nLG4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMhPT12b2lkIDAmJihkLmFkU2lnbmFsc0luZm8uYXRUcmFja2luZ01hbmFnZXJBdXRob3JpemF0aW9uU3RhdHVzPW4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMpKX19Y2F0Y2gobil7Xy5HcChuKX1yZXR1cm4gZH07ClV0YT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO3ZhciBjPV8uQihhLF8uenopPy5zaWduYWw7aWYoYyYmYi5IZClyZXR1cm4hIWIuSGRbY107aWYoKGM9Xy5CKGEsXy5BeSk/LnJlcXVlc3QpJiZiLlZnKXJldHVybiEhYi5WZ1tjXTtmb3IobGV0IGQgaW4gYSlpZihiLkZpW2RdKXJldHVybiEwO3JldHVybiExfTsKeDM9ZnVuY3Rpb24oYSl7dmFyIGI9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Xy53KCJFT01fVklTSVRPUl9EQVRBIik/YlsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09Xy53KCJFT01fVklTSVRPUl9EQVRBIik6Xy53KCJWSVNJVE9SX0RBVEEiKSYmKGJbIlgtR29vZy1WaXNpdG9yLUlkIl09Xy53KCJWSVNJVE9SX0RBVEEiKSk7YlsiWC1Zb3V0dWJlLUJvb3RzdHJhcC1Mb2dnZWQtSW4iXT1fLncoIkxPR0dFRF9JTiIsITEpO18udygiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKGJbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1fLncoIkRFQlVHX1NFVFRJTkdTX01FVEFEQVRBIikpO2EhPT0iY29ycyImJigoYT1fLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpJiYoYlsiWC1Zb3V0dWJlLUNsaWVudC1OYW1lIl09YSksKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKGJbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQphKSwoYT1fLncoIkNIUk9NRV9DT05ORUNURURfSEVBREVSIikpJiYoYlsiWC1Zb3V0dWJlLUNocm9tZS1Db25uZWN0ZWQiXT1hKSwoYT1fLncoIkRPTUFJTl9BRE1JTl9TVEFURSIpKSYmKGJbIlgtWW91dHViZS1Eb21haW4tQWRtaW4tU3RhdGUiXT1hKSwoYT12My5qYygpLmdldFhHZW9IZWFkZXI/LigpKSYmKGJbIlgtR2VvIl09YSkpOyhhPV8udygiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoYlsiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1hKTtyZXR1cm4gYn07eTM9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pm5ldyBhfTsKVnRhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHozLmluc3RhbmNlIT09dm9pZCAwKXtpZihkPXozLmluc3RhbmNlLGE9W2EhPT1kLnYsYiE9PWQuU2EsYyE9PWQubywhMSwhMSwhMSwhMV0sYS5zb21lKGU9PmUpKXRocm93IG5ldyBfLlhqKCJJbm5lclR1YmVUcmFuc3BvcnRTZXJ2aWNlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQiLGEpO31lbHNlIHozLmluc3RhbmNlPW5ldyB6MyhhLGIsYyxkKX07Cll0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWAveW91dHViZWkvdjEvJHtoMyhXdGEpfWAsZD17UmQ6e2lkZW50aXR5OkEzfX07aWYoXy54KCJtYXdfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0Iil8fF8ueCgiYWxsX3dlYl9uZXR3b3JrX21hY2hpbmVfcmF3X3JlcXVlc3QiKSl7bGV0IGY9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGYpcmV0dXJuIG0zKFh0YShmLHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6dm9pZCAwLGNvbmZpZzpkLGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbihoPT5oLCgpPT57fSl9dmFyIGU9KCk9Pnt9O2U9dzAodjAoYykpO2IuY29udGV4dHx8KGIuY29udGV4dD13Myh2b2lkIDAsITApKTtyZXR1cm4gbmV3IF8uQmYoYXN5bmMgZj0+e3ZhciBoPVkwKGMpO2g9Xy5maihoKT8ic2FtZS1vcmlnaW4iOiJjb3JzIjtoPWEuby56bj9DMyhkLGgpOmF3YWl0IEQzKGQsaCk7dmFyIGs9WDAoWTAoYykpOwprPXtpbnB1dDprLHdiOlowKGspLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6ZH07ZihFMyhhLGssaCxlKSl9KX07WnRhPWZ1bmN0aW9uKGEsYil7YTp7YT1hLnY7dmFyIGM9Xy5CKGIsXy56eik/LnNpZ25hbDtpZihjJiZhLkhkJiYoYz1hLkhkW2NdKSl7dmFyIGQ9YygpO2JyZWFrIGF9aWYoKGM9Xy5CKGIsXy5BeSk/LnJlcXVlc3QpJiZhLlZnJiYoYz1hLlZnW2NdKSl7ZD1jKCk7YnJlYWsgYX1mb3IoZCBpbiBiKWlmKGEuRmlbZF0mJihiPWEuRmlbZF0pKXtkPWIoKTticmVhayBhfWQ9dm9pZCAwfWlmKGQhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShkKX07QzM9ZnVuY3Rpb24oYSxiKXthPV8uUGooe3Nlc3Npb25JbmRleDphPy5SZD8uc2Vzc2lvbkluZGV4fSk7cmV0dXJuey4uLngzKGIpLC4uLmF9fTsKRDM9YXN5bmMgZnVuY3Rpb24oYSxiKXthPWF3YWl0IF8uS3koXy5Qaih7c2Vzc2lvbkluZGV4OmE/LlJkPy5zZXNzaW9uSW5kZXh9KSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Li4ueDMoYiksLi4uYX0pfTsKRTM9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD0oKT0+e30pe2F3YWl0ICR0YShiKTt2YXIgZT1iLmNvbmZpZz8ucmVxdWVzdEtleTtpZihlJiZhLmouaGFzKGUpKXZhciBmPWEuai5nZXQoZSk7ZWxzZSBmPUpTT04uc3RyaW5naWZ5KGIuaW5uZXJUdWJlUmVxdWVzdCksYi53Yj17Li4uYi53YixoZWFkZXJzOnsuLi4oYi53Yj8uaGVhZGVycz8/e30pLC4uLmN9fSxjPXsuLi5iLndifSxiLndiLm1ldGhvZD09PSJQT1NUIiYmKGM9ey4uLmMsYm9keTpmfSksYi5jb25maWc/LmtuJiZfLkFxKGIuY29uZmlnLmtuKSxmPWEuU2EuZmV0Y2goYi5pbnB1dCxjLGIuY29uZmlnKSxlJiZhLmouc2V0KGUsZik7aWYoKGY9YXdhaXQgZikmJiJlcnJvciJpbiBmJiZmPy5lcnJvcj8uZGV0YWlscyl7Yz1mLmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGMpKGM9aFsiQHR5cGUiXSkmJmF1YS5pbmRleE9mKGMpPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sZj1oKX1lJiZhLmouaGFzKGUpJiZhLmouZGVsZXRlKGUpOwpiLmNvbmZpZz8ucG4mJl8uQXEoYi5jb25maWcucG4pO2J1YShhLGYsYik7Yi5jb25maWc/Lkl6JiZfLkFxKGIuY29uZmlnLkl6KTtkKCk7cmV0dXJuIGZ8fHZvaWQgMH07JHRhPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGE/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe2E9YS5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBiIG9mW10pYXdhaXQgYi5CcihhKX19O2J1YT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmIWI/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZhLkIpZm9yKGxldCBkIG9mIEYzKWEuQltkXSYmYS5CW2RdLmhhbmRsZVJlc3BvbnNlKGIsYyl9O2N1YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG8zKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Xy5LeShfLlBqKHtzZXNzaW9uSW5kZXg6Yj8uUmQ/LnNlc3Npb25JbmRleH0pKTtkPXlpZWxkKnAzKGszKGQpKTtyZXR1cm57Li4ueDMoYyksLi4uZH19KCl9KX07CkczPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09MXx8YT09PTJ9O2R1YT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQsZT1fLkIoYixfLkF5KT8ucmVxdWVzdDtlJiZhLmouVmcmJihkPWEuai5WZ1tlXSk7ZHx8Y3x8KGU9Xy5CKGIsXy56eik/LnNpZ25hbCkmJmEuai5IZCYmKGQ9YS5qLkhkW2VdKTtpZighZCYmKGE9Yz9hLmouYUw6YS5qLkZpKSlmb3IobGV0IGYgaW4gYilpZihhW2ZdKXtkPWFbZl07YnJlYWt9aWYoIWQpe2lmKGMpdGhyb3cgRXJyb3IoIlFlIik7dGhyb3cgRXJyb3IoIlJlIik7fWI9ZCgpO3JldHVybiBrMyhiKX07ZXVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJDT01NQU5EX0lOSVQiLGIpfTtYdGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ydW4oIlJFUVVFU1RfSU5JVCIsYil9O0gzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJQUk9DRVNTX1JFU1BPTlNFIixiLCJSZXNwb25zZU1hY2hpbmUgKENhY2hlKSIpfTsKSTM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnJ1bigiSU5JVCIsYixjIT09dm9pZCAwP2BSZXNwb25zZU1hY2hpbmUgKENodW5rICR7Y30pYDoiUmVzcG9uc2VNYWNoaW5lIil9OwpmdWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKTtfLkp6KGEse2phOkozLFdjOigpPT5uZXcgTWFwfSk7Xy5KeihhLHtqYTpLMyxQYTpLMyxnYjohMH0pO18uSnooYSx7amE6TDMsUGE6TDMsZ2I6ITB9KTtfLkp6KGEse2phOk0zLFBhOk0zLGdiOiEwfSk7Xy5KeihhLHtqYTpOMyxQYTpOMyxnYjohMH0pO18uSnooYSx7amE6TzMsUGE6TzMsZ2I6ITB9KTtfLkp6KGEse2phOlAzLFBhOlAzLGdiOiEwfSk7Xy5KeihhLHtqYTpRMyxQYTpRMyxnYjohMH0pO18uSnooYSx7amE6UjMsUGE6UjMsZ2I6ITB9KTtfLkp6KGEse2phOlMzLFBhOlMzLGdiOiEwfSk7Xy5KeihhLHtqYTpUMyxQYTpUMyxnYjohMH0pO18uSnooYSx7amE6VTMsV2M6KGIsYyxkLGUsZixoLGssbCxtLG4pPT4oe0NPTU1BTkRfSU5JVDpsLFJFUVVFU1RfSU5JVDptLENBQ0hFOmMsTE9DQUxfUk9VVEVSOmssQ09OVEVYVDpkLEFVVEg6YixERURVUEU6ZSxGRVRDSDpoLFJFVFJZOm4sRkFMTEJBQ0s6Zn0pLFtfLkxuXTpbSzMsTDMsCk0zLE4zLE8zLFAzLFEzLFIzLFMzLFQzXSxnYjohMH0pO18uSnooYSx7amE6QjMsV2M6Yj0+KCk9Pm5ldyBWMyhiKSxbXy5Mbl06W1UzXSxnYjohMH0pO18uSnooYSx7amE6VzMsUGE6VzMsZ2I6ITB9KTtfLkp6KGEse2phOlgzLFBhOlgzLGdiOiEwfSk7Xy5KeihhLHtqYTpZMyxQYTpZMyxnYjohMH0pO18uSnooYSx7amE6WjMsUGE6WjMsZ2I6ITB9KTtfLkp6KGEse2phOiQzLFdjOihiLGMsZCxlKT0+KHtJTklUOmUsRVJST1JfVU5QQUNLRVI6YyxQUk9DRVNTX1JFU1BPTlNFOmQsQ0FMTEJBQ0tfRElTUEFUQ0hFUjpifSksW18uTG5dOltXMyxYMyxZMyxaM10sZ2I6ITB9KTtfLkp6KGEse2phOmE0LFdjOmI9PigpPT5uZXcgYjQoYiksW18uTG5dOlskM10sZ2I6ITB9KX07Cmd1YT1mdW5jdGlvbigpe18ucmEoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIsXy5HcCk7S3JhKCk7Xy56byhfLkJvKCkse30pO3dpbmRvdy5vbmVycm9yPUpyYTtfLlVmPW8wO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGE9PntpZihhLnJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKXtsZXQgYj1hLnJlYXNvbjtfLmN3KGIse3NvdXJjZToidW5oYW5kbGVkcmVqZWN0aW9uIn0pO2IubmFtZT09PSJBYm9ydEVycm9yIiYmKGIubGV2ZWw9IldBUk5JTkciKX1vMChhLnJlYXNvbik7YS5wcmV2ZW50RGVmYXVsdCgpfSl9O2M0PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiEhc2VsZi5zZXNzaW9uU3RvcmFnZX1jYXRjaHtyZXR1cm4hMX19O2Q0PWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19OwplND1mdW5jdGlvbihhKXtpZihjNCgpKXt2YXIgYj1PYmplY3Qua2V5cyh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpO2ZvcihsZXQgYyBvZiBiKWI9ZDQoYyksYj09PXZvaWQgMHx8YS5pbmNsdWRlcyhiKXx8c2VsZi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07aHVhPWZ1bmN0aW9uKCl7aWYoIWM0KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LnNlc3Npb25TdG9yYWdlKTtmb3IobGV0IGMgb2YgYilpZihiPWQ0KGMpLGIhPT12b2lkIDAmJmIhPT1hKXJldHVybiEwO3JldHVybiExfTtmND1mdW5jdGlvbigpe1R0YSgpLnRoZW4oYT0+e2EmJihnMChhKSxjMShhKSxhMShhKSxlNChhKSl9KX07Cml1YT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLk9zO18uamYucGIoYXN5bmMoKT0+e2lmKCFfLngoInl0aWRiX2NsZWFyX29wdGltaXphdGlvbnNfa2lsbHN3aXRjaCIpKXt2YXIgYj1fLlZqKCJjbGVhciIpO2lmKGIuc3RhcnRzV2l0aCgiViIpJiZiLmVuZHNXaXRoKCJ8fCIpKXtiPVtiXTtnMChiKTtjMShiKTthMShiKTtlNChiKTtyZXR1cm59Yj1kc2EoKTtsZXQgYz1odWEoKSxkPWF3YWl0IGVzYSgpLGU9YXdhaXQgRXJhKCk7aWYoIShifHxjfHxkfHxlKSlyZXR1cm59YS5TYigpP2Y0KCk6Xy5iZihhLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixmNCl9KX07anVhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57d2luZG93LnNldFRpbWVvdXQoYixhKX0pfTsKWXNhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXtfLlR6KCJhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2giKTtfLkFxKCJhdHRfZnMiLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7aWYoIWEuail0aHJvdyBuZXcgczIoOSwiTWlzc2luZyBmZXRjaGVyIik7dmFyIGQ9YXdhaXQgYS5qKGIsYyk7Yj1kPy5iZ0NoYWxsZW5nZTtpZighYil0aHJvdyBuZXcgczIoMTUsIk1pc3NpbmcgZmllbGQiKTthLm89ZDthLnYuZm9yRWFjaChlPT57ZShkKX0pO2E9UzIoYik7Xy5BcSgiYXR0X2ZjIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO18uU3ooImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBhfTsKaHRhPWFzeW5jIGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW5ldyBCMSgxMDAsM0U1LC4yNSwyKSxkPXZvaWQgMDtjLnY8MTA7KXRyeXtyZXR1cm4gYy52PjAmJmF3YWl0IGp1YShjLmopLGF3YWl0IGt1YShhLGIpfWNhdGNoKGUpe2Q9ZSBpbnN0YW5jZW9mIHMyP2U6bmV3IHMyKDksZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToiVW5rbm93biIpLEMxKGMpfWlmKGQpdGhyb3cgZDt0aHJvdyBuZXcgczIoOSwiVW5rbm93biBlcnJvciIpO307Cmt1YT1mdW5jdGlvbihhLGIpe2I9V3NhKFhzYShuZXcgbHVhLGIpLGEucmVxdWVzdEtleSk7dmFyIGM9bmV3IF8uY3MsZD1hLkQoKTtkLm9wZW4oIlBPU1QiLGEuQik7ZC5zZXRSZXF1ZXN0SGVhZGVyKCJYLUdvb2ctQXBpLUtleSIsIkFJemFTeUR5VDVXMEpoNDlGMzBQcXF0eWZkZjdwRExGS0xKb0FudyIpO2Quc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiIpO2Qub25sb2FkPSgpPT57aWYoXy5xaihkKSl7bGV0IGU9bXVhKGQucmVzcG9uc2VUZXh0KTtjLnJlc29sdmUoZSl9ZWxzZSBjLnJlamVjdChuZXcgczIoUDEoXy5waihkKSksZC5zdGF0dXNUZXh0KSl9O2Qub25lcnJvcj0oKT0+e2MucmVqZWN0KG5ldyBzMihQMShfLnBqKGQpKSxkLnN0YXR1c1RleHQpKX07ZC5zZW5kKGIuc2VyaWFsaXplKCkpO3JldHVybiBjLnByb21pc2V9OwpudWE9ZnVuY3Rpb24oYSl7dmFyIGI9e2JpY2Y6ZD0+e2Euaj1kfSxibGM6KCk9PmEuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKSxiY3I6ZD0+e2Eudi5wdXNoKGQpfX0sYz13aW5kb3c7Yy5udHBldmFzcnM9YjtpZihjLm50cHFmYmVsIT09dm9pZCAwKWZvcihsZXQgZCBvZiBjLm50cHFmYmVsKWQoYik7Yy5udHBxZmJlbD12b2lkIDB9O2c0PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBFcnJvcil7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhLCJXQVJOSU5HIil9fTtpND1mdW5jdGlvbihhLGIpe2E9bmV3IG91YShhLGIpO3B1YShhKTtiPy5DSXx8aDQoYSl9OwpwdWE9ZnVuY3Rpb24oYSl7aWYoIWEudm0pe3ZhciBiPXttYXhBdHRlbXB0czo1LEZyOmEudHRsU2Vjb25kcyoxRTN9O2EuWGcueXRjc2k/LnRpY2s/LigicG90X2lzdCIpO2Eudm09YS5Icyh7b2Q6YS5vZCxuZzp7ZGlzYWJsZTpfLngoImh0bWw1X3dlYl9wb19kaXNhYmxlX3JlbW90ZV9sb2dnaW5nIiksbWI6ImFHSWYiLFN2OnpyYSgpLEt5Ol8ueCgid3BvX2Rpc19sZmRtcyIpPzA6MUUzLElnOmQ9Pnt2YXIgZT1qNC5nZXQoZCk7ZXx8KGU9bmV3IHF1YShkKSxlPW5ldyBUMShlKSxqNC5zZXQoZCxlKSk7cmV0dXJuIGV9fSxMZzpiLHN4OmEuYmdDaGFsbGVuZ2UsRWo6ZzR9KTthLmo9RGF0ZS5ub3coKTtmMihhLnZtLCgpPT57YS5qPURhdGUubm93KCl9KTthLlhnLmJnZXZtYz17cDooKT0+e2Eudm0/LnBhdXNlKCl9LHI6KCk9PnthLnZtPy5yZXN1bWUoKX0sY3I6KCk9PmEudm0/LmNoZWNrRm9yUmVmcmVzaCgpPz9Qcm9taXNlLnJlc29sdmUoKX07a3NhKGEudm0sYXN5bmMoKT0+aDQoYSksClYyKCkpO3ZhciBjPWEudi5iaW5kKGEpO2EueW0mJmEudHRsU2Vjb25kcz4wJiZhLnltLnRoZW4oZD0+e2QubGlzdGVuKCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixjKX0pO2EuR3IoYyl9fTtoND1mdW5jdGlvbihhKXtpZihhLm8pcmV0dXJuIGEubztpZighYS52bSl0aHJvdyBFcnJvcigiVGUiKTthLm89bmV3IHJ1YSh7dm06YS52bSxvZDphLm9kLFFuOiEwLG9uRXJyb3I6ZzQsTGc6YS5Kc30pO3JldHVybiBhLm99O2s0PWZ1bmN0aW9uKGEpe3RyeXtsZXQgYj1KU09OLnBhcnNlKGEpO2lmKGIuYmdDaGFsbGVuZ2UpcmV0dXJuIGJ9Y2F0Y2goYil7fX07CnN1YT1mdW5jdGlvbihhPXdpbmRvdyl7dmFyIGI9e30sYz1hLnl0QXRSO2I/LmtxPy5EcigpO2lmKGMpe2lmKGM9azQoYykpYj8ua3E/LnpnKCJTVUNDRVNTIiksaTQoYyxiKTthLnl0QXRSPXZvaWQgMH1lbHNlIGEueXRBdFJDPWQ9PntpZihkPWs0KGQpKWI/LmtxPy56ZygiU1VDQ0VTUyIpLGk0KGQsYiksYS55dEF0UkM9dm9pZCAwfX07CnR1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7Yz8oYS5TKDIpLEgwKHkwKGMpLCgpPT57d2luZG93LnRyYXlyaWRlP2w0KGEsZCxlKTooYS5TKDMpLEUwKGMpLF8uSXAobmV3IF8uWGooIkJMOlVMQiIsYCR7Y31gKSkpfSxmKSk6Yj8oZj1fLkNkKCJTQ1JJUFQiKSxiIGluc3RhbmNlb2YgXy5qYj9fLm5iKGYsYik6Zi50ZXh0Q29udGVudD1iLGYubm9uY2U9Xy5pYihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChmKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGYpLHdpbmRvdy50cmF5cmlkZT9sNChhLGQsZSk6KGEuUyg0KSxfLklwKG5ldyBfLlhqKCJCTDpVTEJKIikpKSk6Xy5JcChuZXcgXy5YaigiQkw6VUxWIikpfTsKbDQ9ZnVuY3Rpb24oYSxiLGMpe2EuUyg1KTt2YXIgZD0hIWEuaiYmdXVhLmluY2x1ZGVzKF8uUGIoYS5qKXx8IiIpO3RyeXtsZXQgZT1uZXcgZDIoe3Byb2dyYW06YixnbG9iYWxOYW1lOiJ0cmF5cmlkZSIsbmc6e2Rpc2FibGU6IV8ueCgiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyIpfHwhXy54KCJhdHRfc2tpcF9tZXRyaWNzX2Zvcl9jb29raWVsZXNzX2RvbWFpbnNfa3MiKSYmZCxtYjoiYUdJZiJ9fSk7ZS5DZy50aGVuKCgpPT57YS5TKDYpO2MmJmMoYil9KTthLm8oZSl9Y2F0Y2goZSl7YS5TKDcpLGUgaW5zdGFuY2VvZiBFcnJvciYmXy5JcChlKX19O200PWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXQuYWJ1c2UucGxheWVyQXR0TG9hZGVyIik7cmV0dXJuIGEmJlsiYmd2bWEiLCJiZ3ZtYiIsImJndm1jIl0uZXZlcnkoYj0+YiBpbiBhKT9hOm51bGx9Owp2dWE9ZnVuY3Rpb24oKXt2YXIgYT1fLncoIkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UUyIpO2lmKGEpe3ZhciBiPW5yYSgpO2ZvcihsZXQgYyBvZiBhKWIoYykmJl8uRXAoImdlbmVyaWNDbGllbnRFeHBlcmltZW50RXZlbnQiLHtldmVudFR5cGU6Y30pO2RlbGV0ZSBfLlBpLkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UU319O3d1YT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qKXtsZXQgZD1fLlFiKF8uUHkoYiwia2V5IikpfHwiL1VOS05PV05fUEFUSCI7YS5qLnN0YXJ0KGQpfWE9YztfLngoInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCIpJiYoYT1GcmEoYykpO3JldHVybiBuZXcgd2luZG93LlJlcXVlc3QoYixhKX07Cm80PWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihmPy5hYm9ydGVkKXJldHVybiBiLmNhbmNlbCgpLGQ7dmFyIHt2YWx1ZTpoLGRvbmU6a309YXdhaXQgYi5yZWFkKCk7aWYoaylyZXR1cm4gYS5qPy5zdWNjZXNzKCksZDt0cnl7dmFyIGw9Yy5wYXJzZShoKX1jYXRjaChtKXt0aHJvdyBuZXcgbjQoIkZhaWxlZCB0byBwYXJzZSBzdHJlYW1pbmcgcmVzcG9uc2UiLGgpO31pZihsIT1udWxsKWZvcihsZXQgbSBvZiBsKWQucHVzaChtKSxlPy4obSk7cmV0dXJuIG80KGEsYixjLGQsZSxmKX07eHVhPWZ1bmN0aW9uKCl7dmFyIGE9bmF2aWdhdG9yO3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZT8ucXVlcnlVc2FnZUFuZFF1b3RhP2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZS5xdWVyeVVzYWdlQW5kUXVvdGEoKGQsZSk9PntiKHt1c2FnZTpkLHF1b3RhOmV9KX0sZD0+e2MoZCl9KTpjKEVycm9yKCJWZSIpKX0pfTsKeXVhPWZ1bmN0aW9uKGEsYil7cDQuamMoKS5lc3RpbWF0ZSgpLnRoZW4oYz0+e2EuaigiaWRiUXVvdGFFeGNlZWRlZCIsey4uLmIsaXNTdzpzZWxmLmRvY3VtZW50PT09dm9pZCAwLGlzSWZyYW1lOnNlbGYhPT1zZWxmLnRvcCxkZXZpY2VTdG9yYWdlVXNhZ2VNYnl0ZXM6cTQoYz8udXNhZ2UpLGRldmljZVN0b3JhZ2VRdW90YU1ieXRlczpxNChjPy5xdW90YSl9KX0pfTtxND1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0idW5kZWZpbmVkIj8iLTEiOlN0cmluZyhNYXRoLmNlaWwoYS8xMDQ4NTc2KSl9Owp6dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17ZXJyb3JTZXZlcml0eTpiLmZoLnRvU3RyaW5nKCksd2l6RmVhdHVyZUZsYWdzOk9iamVjdC5lbnRyaWVzKGIuQWwpLmpvaW4oIlxuIil9O2I9Yi5maDtiPT09Mz9fLkdwKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTpiPT09MiYmXy5HcChhLCJXQVJOSU5HIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTtfLngoImNvd19pZl9lcnJvcnNfaW5fcG9wdXAiKSYmYj09PTMmJmEubWVzc2FnZS5pbmRleE9mKCI8SWY+IikhPT0tMSYmd2luZG93LmFsZXJ0KGEubWVzc2FnZSl9OwpBdWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW51bGw7YyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P2Q9YzohXy54KCJsb2dnaW5nX25lc3RlZF9jb21wb25lbnRfa3MiKSYmQXJyYXkuaXNBcnJheShjKSYmYy5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KGNbMF0pJiZjWzBdLmxlbmd0aD09PTEmJmNbMF1bMF1pbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoZD1jWzBdWzBdKTthLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZkJiZiJiYhXy54KCJjb3dfbG9nZ2luZ19pbl9jb21wb25lbnRfd3JhcHBlciIpJiZfLnV5KGQsYiwhMCl9O0J1YT1mdW5jdGlvbigpe18ueCgiY293X2xvZ2dpbmdfaW5fY29tcG9uZW50X3dyYXBwZXIiKT8oXy5Ddj0oYSxiKT0+e2IgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmXy51eShiLGEsITApfSxfLnZ2PSgpPT57fSk6KF8uQ3Y9KCk9Pnt9LF8udnY9QXVhKX07CkR1YT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpO18uSnooYSx7amE6cjQsUGE6czR9KTtfLkp6KGEse2phOnQ0LFBhOl8ubm19KTt2YXIgYj12My5qYygpLGM9YS5yZXNvbHZlKHQ0KSxkPWEucmVzb2x2ZShyNCksZT17fTtiJiYoZS5jbGllbnRfbG9jYXRpb249Yik7Xy5KeihhLHtqYTp1NCxNYjpDdWF9KTtfLkp6KGEse2phOl8uSnksTWI6ZX0pO18ueCgibWF3X2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmZnVhKCk7VnRhKGEucmVzb2x2ZSh1NCksZCxjLGEucmVzb2x2ZShfLkp5KSk7Xy5KeihhLHtqYTpfLkl5LE1iOnozLmluc3RhbmNlfSl9O0d1YT1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPW51bGwpe2I9bmV3IEV1YShhLGIsYyxkLGUpO0Z1YS5zZXQoYSxiKX07CnY0PWZ1bmN0aW9uKGEpe2lmKCFhLm9uUmVhZHlQYXRjaEFwcGxpZWQpe3ZhciBiPWEuYWRkRXZlbnRMaXN0ZW5lcjthLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PntjPT09Im9uUmVhZHkiP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntkKGEpfSk6Yi5jYWxsKGEsYyxkKX07YS5vblJlYWR5UGF0Y2hBcHBsaWVkPSEwfX07SnVhPWZ1bmN0aW9uKGEpe2lmKF8uc2EoInl0LnBsYXllci5BcHBsaWNhdGlvbi5jcmVhdGUiKSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dzQoYSl9KTtlbHNle0h1YShfLmh3KGEud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmwpLCgpPT57dzQoYSl9LCgpPT57YS5pYSgpfHxhLkVqKCl9KTtsZXQgYj1hLndlYlBsYXllckNvbnRleHRDb25maWcudHJ1c3RlZENzc1VybDtiJiZJdWEoXy5odyhiKSl9fTsKdzQ9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7dmFyIGI9Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3RyeXthLmFwaT1iKGEuY29udGFpbmVyLHthcmdzOmEucGxheWVyVmFyc30sYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnLHZvaWQgMCkuZ2V0SW50ZXJuYWxBcGkoKSx2NChhLmFwaSksYS5hcGkuaXNSZWFkeT0oKT0+ITAsYS5qKGEuYXBpKX1jYXRjaChjKXt0aHJvdyBhLkVqKCksYzt9fX07SXVhPWZ1bmN0aW9uKGEpe3ZhciBiPWB5dHAtJHthLnRvU3RyaW5nKCl9YDtpZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYikpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmlkPWI7Xy5xYihjLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYyl9fTsKSHVhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1geXRwLSR7YS50b1N0cmluZygpfWAsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKTtpZihlKWUuZGF0YXNldC5mYWlsZWQ/YygpOmUuZGF0YXNldC5sb2FkZWQ/YigpOihlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2MoKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9PntiKCl9KSk7ZWxzZXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtmLmlkPWQ7Zi5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntmLmRhdGFzZXQuZmFpbGVkPSJ0cnVlIjtjKCl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Zi5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7YigpfSk7Xy5vYihmLGEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShmLGEuZmlyc3RDaGlsZCl9fTsKS3VhPWZ1bmN0aW9uKGEpe18udygiRU5BQkxFX1dFQlZJRVdfQVBJIikmJndpbmRvdy55dHdlYnZpZXdwbGF5ZXImJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+e3RyeXtsZXQgZD1KU09OLnBhcnNlKGIuZGF0YSksZT1kLm1ldGhvZE5hbWUsZj1kLmFyZ3N8fFtdO2E6e2ZvcihsZXQgaCBvZiBmKWlmKFN0cmluZyhoKS5pbmNsdWRlcygiamF2YXNjcmlwdDoiKSl7dmFyIGM9ITA7YnJlYWsgYX1jPSExfWlmKGMpdGhyb3cgRXJyb3IoIldlYCIrZSsiYCIrZik7aWYoZSYmdHlwZW9mIGFbZV09PT0iZnVuY3Rpb24iKWFbZV0oLi4uZik7ZWxzZSB0aHJvdyBFcnJvcigiWGVgIitlKTt9Y2F0Y2goZCl7Xy5HcChkKX19KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25QbGF5ZXJSZWFkeSJ9KSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApiPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25TdGF0ZUNoYW5nZSIsc3RhdGU6Yn0pKX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYj0+e3dpbmRvdy55dHdlYnZpZXdwbGF5ZXIucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6Im9uRXJyb3IiLGVycm9yQ29kZTpifSkpfSkpfTt4ND1mdW5jdGlvbihhKXtyZXR1cm4oYS5zZWFyY2goImN1ZSIpPT09MHx8YS5zZWFyY2goImxvYWQiKT09PTApJiZhIT09ImxvYWRNb2R1bGUifTsKeTQ9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJue3ZpZGVvSWQ6YSxzdGFydFNlY29uZHM6YixzdWdnZXN0ZWRRdWFsaXR5OmN9O2I9e307Zm9yKGxldCBlIG9mIEx1YSlhW2VdJiYoYltlXT1hW2VdKTtpZihhPWEuZW1iZWRDb25maWd8fGEuZW1iZWRfY29uZmlnKXthOmlmKHR5cGVvZiBhPT09InN0cmluZyIpdmFyIGQ9YTtlbHNle2lmKF8uQWEoYSkpdHJ5e2Q9SlNPTi5zdHJpbmdpZnkoYSk7YnJlYWsgYX1jYXRjaChlKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLGUpfWQ9dm9pZCAwfWIuZW1iZWRfY29uZmlnPWR9cmV0dXJuIGJ9Owp6ND1mdW5jdGlvbihhLGIsYyxkKXtpZihfLkFhKGEpJiYhQXJyYXkuaXNBcnJheShhKSl7Yj0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtjPXt9O2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe2xldCBlPWJbZF07YVtlXSYmKGNbZV09YVtlXSl9cmV0dXJuIGN9Yj17aW5kZXg6YixzdGFydFNlY29uZHM6YyxzdWdnZXN0ZWRRdWFsaXR5OmR9O3R5cGVvZiBhPT09InN0cmluZyImJmEubGVuZ3RoPT09MTY/Yi5saXN0PSJQTCIrYTpiLnBsYXlsaXN0PWE7cmV0dXJuIGJ9O0E0PWZ1bmN0aW9uKGEsYixjKXthLkIucHVzaCh7ZXZlbnRUeXBlOmIsbGlzdGVuZXI6Y30pO2EuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixjKX07CkQ0PWZ1bmN0aW9uKGEpe2lmKGEuailpZihhLnYpYS5zZW5kTWVzc2FnZSgiYWxyZWFkeUluaXRpYWxpemVkIik7ZWxzZSBpZihhLk0pe2Eudj0hMDthLk09ITE7YS5zZW5kTWVzc2FnZSgiaW5pdGlhbERlbGl2ZXJ5IixCNChhKSk7YS5zZW5kTWVzc2FnZSgib25SZWFkeSIpO18uQXEoImVwX2luaXRfYXIiKTtmb3IobGV0IGIgb2YgYS5VKUM0KGEsYik7YS5VPVtdfX07QzQ9ZnVuY3Rpb24oYSxiLGM9YS5qKXtpZihjKXtiLmNoYW5uZWw9IndpZGdldCI7YS5zZXNzaW9uSWQmJihiLmlkPWEuc2Vzc2lvbklkKTt0cnl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkoYik7Yy5wb3N0TWVzc2FnZShkLGEudGFyZ2V0T3JpZ2luKX1jYXRjaChkKXtfLklwKGQpfX19OwpCND1mdW5jdGlvbihhKXtpZighYS5hcGkpcmV0dXJuIG51bGw7dmFyIGI9YS5hcGkuZ2V0QXBpSW50ZXJmYWNlKCk7Xy54YihiLCJnZXRWaWRlb0RhdGEiKTt2YXIgYz17YXBpSW50ZXJmYWNlOmJ9O2ZvcihsZXQgZT0wLGY9Yi5sZW5ndGg7ZTxmO2UrKyl7bGV0IGg9YltlXTtpZihoLnNlYXJjaCgiZ2V0Iik9PT0wfHxoLnNlYXJjaCgiaXMiKT09PTApe3ZhciBkPTA7aC5zZWFyY2goImdldCIpPT09MD9kPTM6aC5zZWFyY2goImlzIik9PT0wJiYoZD0yKTtkPWguY2hhckF0KGQpLnRvTG93ZXJDYXNlKCkraC5zdWJzdHJpbmcoZCsxKTt0cnl7bGV0IGs9YS5hcGlbaF0oKTtjW2RdPWt9Y2F0Y2goayl7fX19Yy52aWRlb0RhdGE9YS5hcGkuZ2V0VmlkZW9EYXRhKCk7Yy5jdXJyZW50VGltZUxhc3RVcGRhdGVkXz1EYXRlLm5vdygpLzFFMztyZXR1cm4gY307RTQ9ZnVuY3Rpb24oYSxiKXthLnNlbmRNZXNzYWdlKCJpbmZvRGVsaXZlcnkiLGIpfTsKTXVhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2I9PT0ib25FcnJvciI/YS5hcGkubG9nQXBpQ2FsbChgJHtifSBpbnZvY2F0aW9uYCxjLGQpOmEuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk7YS5zZW5kTWVzc2FnZShiLGQpfX07RjQ9ZnVuY3Rpb24oYSxiLGMpe2EuaWEoKXx8KGI9e2lkOmEuaWQsY29tbWFuZDpifSxjJiYoYi5kYXRhPWMpLE51YS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShiKSxhLm9yaWdpbikpfTtPdWE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSAib25SZWFkeSI6cmV0dXJuO2Nhc2UgIm9uU3RhdGVDaGFuZ2UiOnJldHVybntwbGF5ZXJTdGF0ZTpifTtjYXNlICJvblBsYXliYWNrUXVhbGl0eUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUXVhbGl0eTpifTtjYXNlICJvblBsYXliYWNrUmF0ZUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJvbkVycm9yIjpyZXR1cm57ZXJyb3JDb2RlOmJ9fWlmKGIhPW51bGwpcmV0dXJue3ZhbHVlOmJ9fTsKUHVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgImxvYWRWaWRlb0J5SWQiOnJldHVyblt5NChiKV07Y2FzZSAiY3VlVmlkZW9CeUlkIjpyZXR1cm5beTQoYildO2Nhc2UgImxvYWRWaWRlb0J5UGxheWVyVmFycyI6cmV0dXJuW2JdO2Nhc2UgImN1ZVZpZGVvQnlQbGF5ZXJWYXJzIjpyZXR1cm5bYl07Y2FzZSAibG9hZFBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgImN1ZVBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgInNlZWtUbyI6cmV0dXJuW2Iuc2Vjb25kcyxiLmFsbG93U2Vla0FoZWFkXTtjYXNlICJwbGF5VmlkZW9BdCI6cmV0dXJuW2IuaW5kZXhdO2Nhc2UgInNldFZvbHVtZSI6cmV0dXJuW2Iudm9sdW1lXTtjYXNlICJzZXRQbGF5YmFja1F1YWxpdHkiOnJldHVybltiLnN1Z2dlc3RlZFF1YWxpdHldO2Nhc2UgInNldFBsYXliYWNrUmF0ZSI6cmV0dXJuW2Iuc3VnZ2VzdGVkUmF0ZV07Y2FzZSAic2V0TG9vcCI6cmV0dXJuW2IubG9vcFBsYXlsaXN0c107Y2FzZSAic2V0U2h1ZmZsZSI6cmV0dXJuW2Iuc2h1ZmZsZVBsYXlsaXN0XTsKY2FzZSAiZ2V0T3B0aW9ucyI6cmV0dXJuW2IubW9kdWxlXTtjYXNlICJnZXRPcHRpb24iOnJldHVybltiLm1vZHVsZSxiLm9wdGlvbl07Y2FzZSAic2V0T3B0aW9uIjpyZXR1cm5bYi5tb2R1bGUsYi5vcHRpb24sYi52YWx1ZV07Y2FzZSAiaGFuZGxlR2xvYmFsS2V5RG93biI6cmV0dXJuW2Iua2V5Q29kZSxiLnNoaWZ0S2V5LGIuY3RybEtleSxiLmFsdEtleSxiLm1ldGFLZXksYi5rZXksYi5jb2RlXX1yZXR1cm5bXX07ClF1YT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJpc011dGVkIjpyZXR1cm57bXV0ZWQ6Yn07Y2FzZSAiZ2V0Vm9sdW1lIjpyZXR1cm57dm9sdW1lOmJ9O2Nhc2UgImdldFBsYXliYWNrUmF0ZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJnZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzIjpyZXR1cm57YXZhaWxhYmxlUGxheWJhY2tSYXRlczpifTtjYXNlICJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIjpyZXR1cm57dmlkZW9Mb2FkZWRGcmFjdGlvbjpifTtjYXNlICJnZXRQbGF5ZXJTdGF0ZSI6cmV0dXJue3BsYXllclN0YXRlOmJ9O2Nhc2UgImdldEN1cnJlbnRUaW1lIjpyZXR1cm57Y3VycmVudFRpbWU6Yn07Y2FzZSAiZ2V0UGxheWJhY2tRdWFsaXR5IjpyZXR1cm57cGxheWJhY2tRdWFsaXR5OmJ9O2Nhc2UgImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiOnJldHVybnthdmFpbGFibGVRdWFsaXR5TGV2ZWxzOmJ9O2Nhc2UgImdldER1cmF0aW9uIjpyZXR1cm57ZHVyYXRpb246Yn07CmNhc2UgImdldFZpZGVvVXJsIjpyZXR1cm57dmlkZW9Vcmw6Yn07Y2FzZSAiZ2V0VmlkZW9FbWJlZENvZGUiOnJldHVybnt2aWRlb0VtYmVkQ29kZTpifTtjYXNlICJnZXRQbGF5bGlzdCI6cmV0dXJue3BsYXlsaXN0OmJ9O2Nhc2UgImdldFBsYXlsaXN0SW5kZXgiOnJldHVybntwbGF5bGlzdEluZGV4OmJ9O2Nhc2UgImdldE9wdGlvbnMiOnJldHVybntvcHRpb25zOmJ9O2Nhc2UgImdldE9wdGlvbiI6cmV0dXJue29wdGlvbjpifX19O1J1YT1mdW5jdGlvbigpe3JldHVybiBHNC5pc0luaXRpYWxpemVkKCl9O1N1YT1mdW5jdGlvbihhPXt9KXtyZXR1cm4gRzQuaW52b2tlKGEpfTtUdWE9ZnVuY3Rpb24oKXtpZihfLncoIkVOQUJMRV9KU19BUEkiKSl7dmFyIGE9Yj0+e0g0PWI7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEpfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYSl9fTsKVXVhPWZ1bmN0aW9uKCl7Xy5BcSgiZXBfaW5pdF93ZXMiKTt2YXIgYT1fLncoIlBMQVlFUl9DT05GSUciKTtpZighYSl7dmFyIGI9Xy53KCJQTEFZRVJfVkFSUyIpO2ImJihhPXthcmdzOmJ9KX1RMighMCk7YS5hcmdzLnBzPT09Imd2biImJihkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmRDb2xvcj0idHJhbnNwYXJlbnQiKTthLmF0dHJzfHwoYS5hdHRycz17d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsaWQ6InZpZGVvLXBsYXllciJ9KTtiPWRvY3VtZW50LnJlZmVycmVyO3dpbmRvdyE9PXdpbmRvdy50b3AmJmImJmIhPT1kb2N1bWVudC5VUkwmJihhLmFyZ3MubG9hZGVyVXJsPWIpO2I9Xy53KCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyIpPy5XRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUjtpZighYi5zZXJpYWxpemVkRm9yY2VkRXhwZXJpbWVudElkcyl7bGV0IGM9YTAod2luZG93LmxvY2F0aW9uLmhyZWYpO2MuZm9yY2VkX2V4cGVyaW1lbnRzJiYKKGIuc2VyaWFsaXplZEZvcmNlZEV4cGVyaW1lbnRJZHM9Yy5mb3JjZWRfZXhwZXJpbWVudHMpfWEuYXJncz8uYXV0b3BsYXk/dDAoIndhdGNoIixbInBicyIsInBidSIsInBicCJdKTphLmFyZ3MmJnd0YShhLmFyZ3MpP3QwKCJ2aWRlb19wcmV2aWV3IixbIm9sIl0pOnQwKCJlbWJlZF9ub192aWRlbyIsWyJlcF9pbml0X2FyIl0pO18ueCgiZW1iZWRzX3VzZV9wbGF5ZXJfaW5zdGFuY2VzX2xpYnJhcnkiKXx8Xy53KCJFTkFCTEVfV0VCVklFV19BUEkiKT8oR3VhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKSxiLGM9PntfLncoIkVOQUJMRV9XRUJWSUVXX0FQSSIpPyhjPWMuZ2V0VHJ1c3RlZEFwaSgpLHY0KGMpLEt1YShjKSk6KEk0KGMpLEo0KGMpKX0sKCk9Pnt0aHJvdyBFcnJvcigiWWUiKTt9LGEuYXJncyksXy53KCJFTkFCTEVfV0VCVklFV19BUEkiKXx8SzQoKSxfLkFxKCJlcF9pbml0X3dlZSIpKTooYT1jc2EoYSxiKSxJNChhKSxLNCgpLF8uQXEoImVwX2luaXRfd2VlIiksCko0KGEpKX07STQ9ZnVuY3Rpb24oYSl7TDQ9YTtMNC5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpO0w0LmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLFZ1YSk7YT1fLncoIlBPU1RfTUVTU0FHRV9JRCIsInBsYXllciIpO3ZhciBiPV8udygiUE9TVF9NRVNTQUdFX09SSUdJTiIpO18udygiRU5BQkxFX0pTX0FQSSIpP040PW5ldyBXdWE6Xy53KCJFTkFCTEVfUE9TVF9BUEkiKSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmdHlwZW9mIGI9PT0ic3RyaW5nIiYmKE40PW5ldyBYdWEoYSxiKSk7SDQ9dm9pZCAwfTsKSzQ9ZnVuY3Rpb24oKXtHdGEoKTtfLngoInl0aWRiX2NyZWF0ZV9sb2dnZXJfZW1iZWRfa2lsbHN3aXRjaCIpfHxCcmEoKTtPNC5qfHwoTzQuaj1uZXcgTzQpO080LmouaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6KCk9PntfLmJwKCl9fX0pO18uSWx8fEdyYSgpO0R1YSgpO18uamYucGIoKCk9PntfLnkoKS5yZXNvbHZlKF8uSXkpO2l1YSgpfSk7c2V0VGltZW91dCgoKT0+e18ueCgiYXR0bXVzaSIpJiZzdWEod2luZG93KTt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5JeSkpO2lmKGEpe2E9bmV3IFl1YShhKTt2YXIgYj17cHJlbG9hZDohXy54KCJlbmFibGVfcnRhX25waSIpLHpzOl8ueCgiYXR0bXVzaSIpfTtiPU9iamVjdC5hc3NpZ24oe3ByZWxvYWQ6ITB9LGIpO2xldCBkPWIuQUk/dm9pZCAwOm5ldyBfLk9zO1A0Lmluc3RhbmNlPW5ldyBQNChhLGIsZCk7YT1QNC5pbnN0YW5jZTtpZigoXy54KCJhdHRtdXNpIil8fF8ueCgiYXR0bXVzaXciKSkmJl8ueCgiYXR0bXVzaV91ZSIpKXthPQp7czphLkIuYmluZChhKSxpcjphLkQuYmluZChhKX07Yj13aW5kb3c7Yi5hdHRtcD1hO2lmKGIuYXR0bXEhPT12b2lkIDApZm9yKHZhciBjIG9mIGIuYXR0bXEpYyhhKTtiLmF0dG1xPXZvaWQgMH1lbHNlIGM9YS5CLmJpbmQoYSksXy5yYSgieXQuYWJhLmF0dCIsYyksYz1hLkQuYmluZChhKSxfLnJhKCJ5dC5hYmEuYXR0MiIsYyl9fSxfLnNqKCJhdHRfaW5pdF9kZWxheSIsMjAwKSk7Xy5ZaigoKT0+e2lmKF8ueCgiZW5hYmxlX3p3X3BpbmciKSl7dmFyIGE9Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiLCJVTktOT1dOX0lOVEVSRkFDRSIpLGI9Ii9lc3RhYmxpc2hfenciO2lmKGE9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiIpYj0iL2VtYmVkL2VzdGFibGlzaF96dyI7ZWxzZSBpZihhPT09IlRWSFRNTDUifHxhPT09IlRWSFRNTDVfU0lNUExZIiliPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS90di9lc3RhYmxpc2hfenciO18udygiQ09PS0lFTEVTUyIsITEpJiZhPT09IldFQl9FTUJFRERFRF9QTEFZRVIiPwooYT1uZXcgSGVhZGVycyxhLnNldCgiWC1Hb29nLVZpc2l0b3ItSWQiLF8udygiVklTSVRPUl9EQVRBIikpLGZldGNoKGIse21ldGhvZDoiR0VUIixtb2RlOiJuby1jb3JzIixoZWFkZXJzOmF9KSk6ZmV0Y2goYix7bWV0aG9kOiJHRVQiLG1vZGU6Im5vLWNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfX0pfTtadWE9ZnVuY3Rpb24oKXtRNCgpfTskdWE9ZnVuY3Rpb24oYSl7YS5wZXJzaXN0ZWR8fFE0KCl9OwpRND1mdW5jdGlvbigpe1NyYSgpO3ZhciBhPV8uSHooKSxiPV8uQ3ooMTE5KSxjPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjE7ZG9jdW1lbnQuYm9keSYmXy5SdChkb2N1bWVudC5ib2R5LCJleHAtaW52ZXJ0LWxvZ28iKSYmKGMmJiFfLlJ0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKT9fLlN0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKTohYyYmXy5SdChkb2N1bWVudC5ib2R5LCJpbnZlcnRlZC1oZHBpIikmJl8uVHQoZG9jdW1lbnQuYm9keSwiaW52ZXJ0ZWQtaGRwaSIpKTtiIT1jJiYoXy5EeigxMTksYyksYS5zYXZlKCkpfTtNND1mdW5jdGlvbigpe1I0KCl9O1Z1YT1mdW5jdGlvbigpe18uQXEoImVwX2luaXRfcHIiKTtSNCgpfTtSND1mdW5jdGlvbigpe3ZhciBhPUw0LmdldFZpZGVvRGF0YSgxKTthPWEudGl0bGU/YS50aXRsZSsiIC0gWW91VHViZSI6IllvdVR1YmUiO2RvY3VtZW50LnRpdGxlIT09YSYmKGRvY3VtZW50LnRpdGxlPWEpfTsKUzQ9ZnVuY3Rpb24oKXtMNCYmTDQuc2VuZEFiYW5kb25tZW50UGluZyYmTDQuc2VuZEFiYW5kb25tZW50UGluZygpO18udygiUExfQVRUIikmJkc0LmRpc3Bvc2UoKTtfLk10KCQyKTskMi5sZW5ndGg9MDtFMChaMi50b1N0cmluZygpKTtZMj0hMTtfLlFpKCJEQ0xLU1RBVCIsMCk7Xy4kZChONCk7TDQmJihMNC5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpLEw0LmRlc3Ryb3koKSxMND1udWxsKX07YXZhPWZ1bmN0aW9uKGEpe18ueCgiZW1iZWRzX3dlYl9lbmFibGVfZGlzcG9zZV9wbGF5ZXJfaWZfcGFnZV9ub3RfY2FjaGVkX2tpbGxzd2l0Y2giKT9TNCgpOmEucGVyc2lzdGVkfHxTNCgpfTsKYnZhPWZ1bmN0aW9uKCl7VDR8fChfLmR3KHtKaShhKXthLnByb3BzLmRhdGEmJihhLmVsLmRhdGE9YS5wcm9wcy5kYXRhKX0sS2koYSxiLGMpe2EuZWw/Yi5kYXRhIT09Yy5kYXRhJiYoYS5lbC5kYXRhPWMuZGF0YSk6Xy5JcChuZXcgXy5YaigiSURPTSBjb21wb25lbnQgZWwgaXMgbnVsbCIsYS5qPy5aYykpfX0pLFQ0PSEwKX07Y3ZhPXtFSzohMH07ZHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPVU0O3RoaXMuaj0xNzUyMzczNzU7dGhpcy5jdG9yPWE7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5vPV8uTng7dGhpcy5kZWZhdWx0VmFsdWU9dm9pZCAwO3RoaXMudj1iLm1lc3NhZ2VJZCE9bnVsbD9fLnd6OnZvaWQgMH1yZWdpc3Rlcigpe18ucGModGhpcyl9fTsKZHJhPXt0b1N0cmluZzpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7YS09LTIxNDc0ODM2NDg7YltjKytdPSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIi5jaGFyQXQoYSU1Mik7Zm9yKGE9TWF0aC5mbG9vcihhLzUyKTthPjA7KWJbYysrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkiLmNoYXJBdChhJTYyKSxhPU1hdGguZmxvb3IoYS82Mik7cmV0dXJuIGIuam9pbigiIil9fTtBMz17aWRlbnRpdHlUeXBlOiJVTkFVVEhFTlRJQ0FURURfSURFTlRJVFlfVFlQRV9VTktOT1dOIn07SVo9MDtKWj0wO05aPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmJ1ZmZlcj1hO2lmKGMmJiFiKXRocm93IEVycm9yKCk7fX07T1o9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YT4+PjA7dGhpcy5qPWI+Pj4wfX07ClRaPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPWE+Pj4wO3RoaXMuaj1iPj4+MH19O2xfPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O0VfPV8ueWMoKTtvcmE9L14tPyhbMS05XVswLTldKnwwKShcLlswLTldKyk/JC87VjQ9Xy5seihPXyxfLkpyKTtldmE9Xy5seihPXyxfLkpyKTtXND1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPXFfKGIpO2IhPW51bGwmJihfLlp5KGEsYyw1KSxhPWEuaixjPU5ffHwoTl89bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLGMuc2V0RmxvYXQzMigwLCtiLCEwKSxKWj0wLElaPWMuZ2V0VWludDMyKDAsITApLGVfKGEsSVopKX0sXy5Jcik7WDQ9Xy5seihQXyxfLkZyKTtmdmE9Xy5seihQXyxfLkZyKTsKWTQ9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1BXyhiKTtpZihiIT1udWxsJiYoZ18oYiksYiE9bnVsbCkpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLE9aLFFaKTtkXyhhLmosYy5vLGMuaik7YnJlYWs7ZGVmYXVsdDpjPVNaKGIpLGRfKGEuaixjLm8sYy5qKX19LF8uR3IpO1o0PV8ubHooUV8sXy5Dcik7Z3ZhPV8ubHooUV8sXy5Dcik7Cmh2YT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPUFfKGIpO2lmKGIhPW51bGwpc3dpdGNoKGhfKGIpLF8uWnkoYSxjLDEpLGE9YS5qLGhfKGIpLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmI8MD8oYj1QWihRWigtYikpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpKTooS1ooYiksZV8oYSxJWiksZV8oYSxKWikpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yj1iPEJpZ0ludCgwKT9QWihjXygtYixPWixRWikpOmNfKGIsT1osUVopO2M9Yi5qO2VfKGEsYi5vKTtlXyhhLGMpO2JyZWFrO2RlZmF1bHQ6Yj1iLmxlbmd0aCYmYlswXT09PSItIj9QWihTWihiLnN1YnN0cmluZygxKSkpOlNaKGIpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpfX0sXy5Icik7aXZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2lfKGEsYyxBXyhiKSl9LF8uSHIpO2p2YT1NXyhmdW5jdGlvbihhLGIsYyl7Yj1MXyhBXyxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWlfKGEsYyxiW2RdKX0sXy5Icik7Cmt2YT1fLmx6KF8ubXosXy5Bcik7JDQ9Xy5seihSXyxfLkJyKTtsdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5YdCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLEhaKGYpKX19LF8uQnIpO212YT1fLmx6KFJfLF8uQnIpO2E1PW5ldyBfLmd6KF8ubnosXy56cik7bnZhPU1fKGZ1bmN0aW9uKGEsYixjKXtiPUxfKHJyYSxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLGZyYShmKS5idWZmZXIpfX0sXy5Lcik7YjU9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1zXyhiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksXy5YeShhLmosYikpfSxfLkRyKTtjNT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtqXyhhLGMsXy5zeChiKSl9LF8uTHIpOwpvdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5zeCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWpfKGEsYyxiW2RdKX0sXy5Mcik7cHZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiYoXy5aeShhLGMsNSksYT1hLmosYS5qLnB1c2goYj4+PjAmMjU1KSxhLmoucHVzaChiPj4+OCYyNTUpLGEuai5wdXNoKGI+Pj4xNiYyNTUpLGEuai5wdXNoKGI+Pj4yNCYyNTUpKX0sXy5Fcik7Xy5nPV8uZVYucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5lVih0aGlzLngsdGhpcy55KX07Xy5nLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uZVYmJih0aGlzPT1hPyEwOnRoaXMmJmE/dGhpcy54PT1hLngmJnRoaXMueT09YS55OiExKX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uZy50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgXy5lVj8odGhpcy54Kz1hLngsdGhpcy55Kz1hLnkpOih0aGlzLngrPU51bWJlcihhKSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy55Kz1iKSk7cmV0dXJuIHRoaXN9O18uZy5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMueCo9YTt0aGlzLnkqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTsKdmFyIHF2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxydmE9e3N0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjoxLHN0b3BQcm9wYWdhdGlvbjoxLHByZXZlbnRNb3VzZUV2ZW50OjEscHJldmVudE1hbmlwdWxhdGlvbjoxLHByZXZlbnREZWZhdWx0OjEsbGF5ZXJYOjEsbGF5ZXJZOjEsc2NyZWVuWDoxLHNjcmVlblk6MSxzY2FsZToxLHJvdGF0aW9uOjEsd2Via2l0TW92ZW1lbnRYOjEsd2Via2l0TW92ZW1lbnRZOjF9LGMwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudHlwZT0iIjt0aGlzLnN0YXRlPXRoaXMuc291cmNlPXRoaXMuZGF0YT10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmN0cmxLZXk9dGhpcy5hbHRLZXk9ITE7dGhpcy5yb3RhdGlvbj10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPQowO3RoaXMuc2NhbGU9MTt0aGlzLmNoYW5nZWRUb3VjaGVzPXRoaXMudG91Y2hlcz1udWxsO3RyeXtpZihhPWF8fHdpbmRvdy5ldmVudCl7dGhpcy5ldmVudD1hO2ZvcihsZXQgZCBpbiBhKWQgaW4gcnZhfHwodGhpc1tkXT1hW2RdKTt0aGlzLnNjYWxlPWEuc2NhbGU7dGhpcy5yb3RhdGlvbj1hLnJvdGF0aW9uO3ZhciBiPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7YiYmYi5ub2RlVHlwZT09MyYmKGI9Yi5wYXJlbnROb2RlKTt0aGlzLnRhcmdldD1iO3ZhciBjPWEucmVsYXRlZFRhcmdldDtpZihjKXRyeXtjPWMubm9kZU5hbWU/YzpudWxsfWNhdGNoKGQpe2M9bnVsbH1lbHNlIHRoaXMudHlwZT09Im1vdXNlb3ZlciI/Yz1hLmZyb21FbGVtZW50OnRoaXMudHlwZT09Im1vdXNlb3V0IiYmKGM9YS50b0VsZW1lbnQpO3RoaXMucmVsYXRlZFRhcmdldD1jO3RoaXMuY2xpZW50WD1hLmNsaWVudFghPXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWDt0aGlzLmNsaWVudFk9YS5jbGllbnRZIT12b2lkIDA/CmEuY2xpZW50WTphLnBhZ2VZO3RoaXMua2V5Q29kZT1hLmtleUNvZGU/YS5rZXlDb2RlOmEud2hpY2g7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwodGhpcy50eXBlPT0ia2V5cHJlc3MiP3RoaXMua2V5Q29kZTowKTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMuaj1hLnBhZ2VYO3RoaXMubz1hLnBhZ2VZfX1jYXRjaChkKXt9fXByZXZlbnREZWZhdWx0KCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQucmV0dXJuVmFsdWU9ITEsdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCYmdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpKX1zdG9wUHJvcGFnYXRpb24oKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkpfXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJgoodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX07Xy5IYShlMCxfLmFlKTtlMC5wcm90b3R5cGUuZ2E9ZnVuY3Rpb24oYSl7YS5qPT09dm9pZCAwJiZiMChhKTt2YXIgYj1hLmo7YS5vPT09dm9pZCAwJiZiMChhKTt0aGlzLmo9bmV3IF8uZVYoYixhLm8pfTsKZTAucHJvdG90eXBlLlU9ZnVuY3Rpb24oKXtpZih0aGlzLmope3ZhciBhPSgwLF8uZWwpKCk7aWYodGhpcy5CIT0wKXt2YXIgYj10aGlzLkksYz10aGlzLmosZD1iLngtYy54O2I9Yi55LWMueTtkPU1hdGguc3FydChkKmQrYipiKS8oYS10aGlzLkIpO3RoaXMub1t0aGlzLnZdPU1hdGguYWJzKChkLXRoaXMuRCkvdGhpcy5EKT4uNT8xOjA7Yj0wO2ZvcihjPTA7Yzw0O2MrKyliKz10aGlzLm9bY118fDA7Yj49MyYmdGhpcy5NKCk7dGhpcy5EPWR9dGhpcy5CPWE7dGhpcy5JPXRoaXMuajt0aGlzLnY9KHRoaXMudisxKSU0fX07ZTAucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7d2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5oYSk7eXJhKHRoaXMuWil9Owp2YXIgdDM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPXZvaWQgMDt0aGlzLmo9ITE7YS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixiPT57Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1ifSk7YS5hZGRFdmVudExpc3RlbmVyKCJhcHBpbnN0YWxsZWQiLCgpPT57dGhpcy5qPSEwfSx7b25jZTohMH0pfX0sZjA9MCx1MD17bmV4dDoid25fcyIsYnJvd3NlOiJicl9zIixzZWFyY2g6InNyX3MiLHJlZWw6InJfd3JzIixwbGF5ZXI6InBzX3MifSxScmE9e25leHQ6InduX3IiLGJyb3dzZToiYnJfciIsc2VhcmNoOiJzcl9yIixyZWVsOiJyX3dyciIscGxheWVyOiJwc19yIn0sbTA9e30sczA9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLAonbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciJdJzoicGMiLCdzY3JpcHRbbmFtZT0iZGVza3RvcF9wb2x5bWVyL2Rlc2t0b3BfcG9seW1lciJdJzoiZHBqIiwnbGlua1tyZWw9ImltcG9ydCJdW25hbWU9ImRlc2t0b3BfcG9seW1lciJdJzoiZHBoIiwnc2NyaXB0W25hbWU9Im1vYmlsZS1jMyJdJzoibWNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGUtYzMiXSc6Im1jYyIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy1waG9uZS9iYXNlIl0nOiJtY3BwaiIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy10YWJsZXQvYmFzZSJdJzoibWNwdGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwKJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0ibW9iaWxlX2JsYXplcl9jc3MiXSc6Im1iYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9pbl91c2Vyc19tb2QiXSc6Im1ibGl1aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9vdXRfdXNlcnNfbW9kIl0nOiJtYmxvdWoiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl9ub25jb3JlX21vZCJdJzoibWJuaiIsIiNwbGF5ZXJfY3NzIjoibWJwYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2Rlc2t0b3BwbGF5ZXJfbW9kIl0nOiJtYnBqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX3RhYmxldF9jc3MiXSc6Im1idGMiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSwKWTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sWjE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sejA9e30sZDU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YT1hfHx7fTt2YXIgYj17fSxjPXt9O3RoaXMudXJsPWEudXJsfHwiIjt0aGlzLmFyZ3M9YS5hcmdzfHxVXyhiKTt0aGlzLmFzc2V0cz1hLmFzc2V0c3x8e307dGhpcy5hdHRycz1hLmF0dHJzfHxVXyhjKTt0aGlzLmZhbGxiYWNrPWEuZmFsbGJhY2t8fG51bGw7dGhpcy5mYWxsYmFja01lc3NhZ2U9YS5mYWxsYmFja01lc3NhZ2V8fG51bGw7dGhpcy5odG1sNT0hIWEuaHRtbDU7dGhpcy5kaXNhYmxlPWEuZGlzYWJsZXx8e307dGhpcy5sb2FkZWQ9ISFhLmxvYWRlZDt0aGlzLm1lc3NhZ2VzPWEubWVzc2FnZXN8fHt9fWNsb25lKCl7dmFyIGE9bmV3IGQ1O2ZvcihsZXQgYiBpbiB0aGlzKWlmKHRoaXMuaGFzT3duUHJvcGVydHkoYikpe2xldCBjPXRoaXNbYl07Xy54YShjKT09CiJvYmplY3QiP2FbYl09VV8oYyk6YVtiXT1jfXJldHVybiBhfX0sRjA9e30sYnNhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMucGxheWVySWQ9Yjt0aGlzLndlYlBsYXllckNvbnRleHRDb25maWc9ZDt0aGlzLkViPXZvaWQgMDt0aGlzLkZhPSExO3RoaXMuYXBpPXt9O3RoaXMuaGE9dGhpcy5CPW51bGw7dGhpcy5NPW5ldyBfLnRoO3RoaXMuaj17fTt0aGlzLlo9dGhpcy5vYT10aGlzLmVsZW1lbnRJZD10aGlzLk1hPXRoaXMuY29uZmlnPW51bGw7dGhpcy5VPSExO3RoaXMudj10aGlzLkQ9bnVsbDt0aGlzLnlhPXt9O3RoaXMuZmM9WyJvblJlYWR5Il07dGhpcy5sYXN0RXJyb3I9bnVsbDt0aGlzLlFhPU5hTjt0aGlzLkk9e307dGhpcy5nYT0wO3RoaXMubz10aGlzLnRhcmdldEVsZW1lbnQ9YTtFWih0aGlzLHRoaXMuTSk7STAodGhpcyk7Yz90aGlzLmdhPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmxvYWROZXdWaWRlb0NvbmZpZyhjKX0sMCk6CmQmJihKMCh0aGlzKSxTMCh0aGlzKSl9Z2V0SWQoKXtyZXR1cm4gdGhpcy5wbGF5ZXJJZH1sb2FkTmV3VmlkZW9Db25maWcoYSl7aWYoIXRoaXMuaWEoKSl7dGhpcy5nYSYmKGNsZWFyVGltZW91dCh0aGlzLmdhKSx0aGlzLmdhPTApO3ZhciBiPWF8fHt9O2IgaW5zdGFuY2VvZiBkNXx8KGI9bmV3IGQ1KGIpKTt0aGlzLmNvbmZpZz1iO3RoaXMuc2V0Q29uZmlnKGEpO1MwKHRoaXMpO3RoaXMuaXNSZWFkeSgpJiZUMCh0aGlzKX19c2V0Q29uZmlnKGEpe3RoaXMuTWE9YTt0aGlzLmNvbmZpZz1QMChhKTtKMCh0aGlzKTt0aGlzLm9hfHwodGhpcy5vYT1VMCh0aGlzLHRoaXMuY29uZmlnLmFyZ3M/LmpzYXBpY2FsbGJhY2t8fCJvbllvdVR1YmVQbGF5ZXJSZWFkeSIpKTt0aGlzLmNvbmZpZy5hcmdzP3RoaXMuY29uZmlnLmFyZ3MuanNhcGljYWxsYmFjaz1udWxsOnRoaXMuY29uZmlnLmFyZ3M9e2pzYXBpY2FsbGJhY2s6bnVsbH07aWYodGhpcy5jb25maWc/LmF0dHJzKXthPXRoaXMuY29uZmlnLmF0dHJzOwpsZXQgYj1hLndpZHRoO2ImJnRoaXMubyYmKHRoaXMuby5zdHlsZS53aWR0aD1YXyhOdW1iZXIoYil8fGIpKTsoYT1hLmhlaWdodCkmJnRoaXMubyYmKHRoaXMuby5zdHlsZS5oZWlnaHQ9WF8oTnVtYmVyKGEpfHxhKSl9fWlzUmVhZHkoKXtyZXR1cm4gdGhpcy5GYX1hZGRFdmVudExpc3RlbmVyKGEsYil7dGhpcy5pYSgpO3ZhciBjPVUwKHRoaXMsYik7YyYmKF8uc2IodGhpcy5mYyxhKT49MHx8dGhpcy5qW2FdfHwoYj1hc2EodGhpcyxhKSx0aGlzLkImJnRoaXMuQihhLGIpKSx0aGlzLk0uc3Vic2NyaWJlKGEsYyksYT09PSJvblJlYWR5IiYmdGhpcy5pc1JlYWR5KCkmJnNldFRpbWVvdXQoKCk9PntjKHRoaXMuYXBpKX0sMCkpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKXt0aGlzLmlhKCl8fChiPVUwKHRoaXMsYikpJiZ0aGlzLk0udW5zdWJzY3JpYmUoYSxiKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIHRoaXMuWnx8KEwwKHRoaXMpPyJodG1sNSI6bnVsbCl9Z2V0TGFzdEVycm9yKCl7cmV0dXJuIHRoaXMubGFzdEVycm9yfWNhbmNlbCgpe3RoaXMuRCYmCkcwKFEwKHRoaXMpLHRoaXMuRCk7Y2xlYXJUaW1lb3V0KHRoaXMuUWEpO3RoaXMuVT0hMX1sYSgpe04wKHRoaXMpO2lmKHRoaXMudiYmdGhpcy5jb25maWcmJnRoaXMudi5kZXN0cm95KXRyeXt0aGlzLnYuZGVzdHJveSgpfWNhdGNoKGIpe3ZhciBhPW5ldyBfLlhqKCJQbGF5ZXJQcm94eSBlcnJvciBkdXJpbmcgZGlzcG9zYWwiLHtlcnJvcjpifSk7YS5sZXZlbD0iRVJST1IiO3Rocm93IGE7fXRoaXMueWE9bnVsbDtmb3IoYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgdGhpcy5qW2FdO3RoaXMuTWE9dGhpcy5jb25maWc9dGhpcy5hcGk9bnVsbDtkZWxldGUgdGhpcy50YXJnZXRFbGVtZW50O2RlbGV0ZSB0aGlzLm87c3VwZXIubGEoKX19LFcwPXt9LHh0YT17U0M6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1VOS05PV04iLFBDOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIixSQzoiRU1CRURERURfUExBWUVSX01PREVfUEZQIixRQzoiRU1CRURERURfUExBWUVSX01PREVfUEZMIn07dmFyIGgxPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGM9RXJyb3IoKSl7c3VwZXIoKTt0aGlzLmNvZGU9YTtiKz0iOiI7YyBpbnN0YW5jZW9mIEVycm9yPyh0aGlzLm1lc3NhZ2U9YitjLm1lc3NhZ2UsdGhpcy5zdGFjaz1jLnN0YWNrfHwiIik6KHRoaXMubWVzc2FnZT1iK1N0cmluZyhjKSx0aGlzLnN0YWNrPSIiKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgZTE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy52bT1hO3RoaXMubz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTt0aGlzLmo9dm9pZCAwO3RoaXMuQ2c9dGhpcy52bS5wO3RoaXMudj10aGlzLkloLmJpbmQodGhpcyk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBoc2EodGhpcykpfXNuYXBzaG90KGEpe3JldHVybiB0aGlzLnZtLnMoey4uLihhLktjJiZ7YzphLktjfSksCi4uLihhLllqJiZ7czphLllqfSksLi4uKGEueG4hPT12b2lkIDAmJntwOmEueG59KX0pfUloKGEpe3RoaXMudm0uZShhKX1CaShhLGIpe3JldHVybiB0aGlzLnZtLmMoYSxiLCExKX1WaCgpe3JldHVybiB0aGlzLnZtLmwoKX19O3ZhciBzdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmhhPTF9c2hhcmUoKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoImplIik7dGhpcy5oYSsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuaGF8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciB0dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWE7SzEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsbTEoIm1rIikpfXJlY29yZChhLGIpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIpfX0sdXZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLG0xKCJtbiIpLGwxKCJhYyIpLGwxKCJzYyIpLG0xKCJyayIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMsZCxlLGYpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLGEsYixjLGQsZSxmKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIil9fSx2dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52PWE7TTEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2VjIixtMSgiZW4iKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwKIi9jbGllbnRfc3RyZWFtei9iZy9lYyIsYSxiKX1qKCl7cmV0dXJuIHRoaXMudi5qKCIvY2xpZW50X3N0cmVhbXovYmcvZWMiKX19LHd2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvZWwiLG0xKCJlbiIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYSxiLGMpfWooKXtyZXR1cm4gdGhpcy5vLmooIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0seHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLGwxKCJlYyIpLG0xKCJtayIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LHl2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIiwKbDEoImNzIiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0senZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixtMSgiYXYiKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LEF2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsbTEoInN1IiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxCdmE9CmNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixtMSgibWsiKSl9cmVjb3JkKGEsYil7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiKX19LEN2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbTEoImV0IiksbTEoIm1rIikpfXJlY29yZChhLGIsYyl7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGEsYixjKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIpfX07dmFyIE1zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgcnNhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHExPVsxLDIsM107dmFyIG9zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxwMT1bMSwyLDNdO3ZhciBwc2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIER2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgRXZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGU1PVsxLDIsM107dmFyIG4xPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O24xLnByb3RvdHlwZS52PV8ucHooWzAsJDQsWzAsZTUsYTUsWzAsJDQsLTEsXy54el0sYTUsWzAsJDQsLTEsWjQsXy54el0sYTUsWzAsJDRdXSxsdmEsXy55eixbMCxfLnl6LFswLHExLG12YSxndmEsa3ZhXSxbMCxwMSxmdmEsZXZhLGE1LFswLF8ueXosWzAsVjQsWDRdXV1dLGl2YSxqdmFdKTt2YXIgRnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBHdmE9Y2xhc3N7YXN5bmMgY29tcHJlc3MoYSl7dmFyIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO2I9Yi53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBiLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKSk7YXdhaXQgYi5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBjKX1pc1N1cHBvcnRlZChhKXtyZXR1cm4gYTwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIGY1PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy5jYWxsYmFjaz1iO3RoaXMuZW5hYmxlZD0hMTt0aGlzLmo9KCk9Pl8uRWEoKTt0aGlzLm89dGhpcy5qKCl9c2V0SW50ZXJ2YWwoYSl7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy50aW1lciYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMudGltZXImJnRoaXMuc3RvcCgpfXN0YXJ0KCl7dGhpcy5lbmFibGVkPSEwO3RoaXMudGltZXJ8fCh0aGlzLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zKSx0aGlzLm89dGhpcy5qKCkpfXN0b3AoKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9dGljaygpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9TWF0aC5tYXgodGhpcy5qKCktdGhpcy5vLDApO2E8dGhpcy5pbnRlcnZhbE1zKi44P3RoaXMudGltZXI9CnNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zLWEpOih0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKSx0aGlzLmNhbGxiYWNrKCksdGhpcy5lbmFibGVkJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH19O3ZhciBIdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIEl2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgSnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1XaSgpe3JldHVybiBLXyh0aGlzKX19O3ZhciB0c2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHgxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHdzYT1TXyh4MSk7dmFyIEExPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciB0MT1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sczE9bmV3IHgxLHUxPW51bGw7dmFyIHoxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBLdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNCl9fTt2YXIgZzU9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMzcpfX07dmFyIEx2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxOSl9VWgoYSl7cmV0dXJuIENaKHRoaXMsMixhKX19O3ZhciBNdmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPSExKXt0aGlzLnlkPWI7dGhpcy52PXRoaXMubG9jYWxlPW51bGw7dGhpcy5vPTA7dGhpcy5pc0ZpbmFsPSExO3RoaXMuaj1uZXcgTHZhO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMuai5VaChhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgibGFuZyIpKTt5MSh0aGlzLG5ldyB6MSl9VWgoYSl7dGhpcy5qLlVoKGEpO3JldHVybiB0aGlzfWJ1aWxkKGEsYj0wLGM9MCxkPW51bGwsZT0wLGY9MCl7aWYoIXRoaXMueWQpe3ZhciBoPXcxKHRoaXMpO3ZhciBrPW5ldyBKdmE7az1DWihrLDEsdGhpcy5vKTtrPV8ucXcoaywyLF8ueHcodGhpcy5pc0ZpbmFsKSk7Yz1fLnF3KGssMyxfLlB3KGM+MD9jOnZvaWQgMCkpO2U9Xy5xdyhjLDQsXy5QdyhlPjA/ZTp2b2lkIDApKTtmPV8ucXcoZSw1LF8uUHcoZj4wP2Y6dm9pZCAwKSk7ZT1mLkRhO2M9ZVtfLkFjXXwwO2Y9Xy5CYyhmLGMpP2Y6Xy4kYyhmLAplLGMpP18uYmQoZixlKTpuZXcgZi5jb25zdHJ1Y3RvcihfLlpjKGUsYywhMCkpO18uS3coaCwxMCxmKX1oPXRoaXMuai5jbG9uZSgpO2Y9RGF0ZS5ub3coKS50b1N0cmluZygpO2g9Xy5xdyhoLDQseV8oZikpO2E9YS5zbGljZSgpO2E9SF8oaCwzLGEpO2QmJihoPW5ldyBIdmEsZD1fLnF3KGgsMTMsXy5QdyhkKSksaD1uZXcgSXZhLGQ9Xy5LdyhoLDIsZCksaD1uZXcgS3ZhLGQ9Xy5LdyhoLDEsZCksZD1DWihkLDIsOSksXy5LdyhhLDE4LGQpKTtiJiZfLnF3KGEsMTQseV8oYikpO3JldHVybiBhfX07QjEucHJvdG90eXBlLnY9MDtCMS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPXRoaXMuQjt0aGlzLnY9MH07dmFyIFU0PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDgpfX0sTnZhPVNfKFU0KTt2YXIgaDU7aDU9bmV3IGR2YShjbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIE92YT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmNvbXBvbmVudElkPSIiO3RoaXMuaj1bXTt0aGlzLlFhPSIiO3RoaXMucGFnZUlkPW51bGw7dGhpcy5FYj10aGlzLm9hPS0xO3RoaXMuTT10aGlzLmV4cGVyaW1lbnRJZHM9bnVsbDt0aGlzLmdhPXRoaXMuaGE9dGhpcy5JPXRoaXMuQj0wO3RoaXMuZmM9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLnlhPSExO3RoaXMubG9nU291cmNlPWEubG9nU291cmNlO3RoaXMuU2Y9YS5TZnx8KCgpPT57fSk7dGhpcy52PW5ldyBNdmEoYS5sb2dTb3VyY2UsYS55ZCk7dGhpcy5uZXR3b3JrPWEubmV0d29ya3x8bnVsbDt0aGlzLmxmPWEubGZ8fG51bGw7dGhpcy5idWZmZXJTaXplPTFFMzt0aGlzLlU9YS50Qnx8bnVsbDt0aGlzLnNlc3Npb25JbmRleD1hLnNlc3Npb25JbmRleHx8bnVsbDt0aGlzLlpnPWEuWmd8fCExO3RoaXMuWD1udWxsO3RoaXMud2l0aENyZWRlbnRpYWxzPSFhLm5sO3RoaXMueWQ9CmEueWR8fCExO3RoaXMuWj0hdGhpcy55ZCYmISFfLnpkKCkmJiEhXy56ZCgpLm5hdmlnYXRvciYmXy56ZCgpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuTWE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKEQxKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoRDEoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGI9djEobmV3IHoxKTt5MSh0aGlzLnYsYik7dGhpcy5EPW5ldyBCMSgxRTQsM0U1LC4xKTthPXlzYSh0aGlzLGEuTm8pO3RoaXMubz1uZXcgZjUodGhpcy5ELmosYSk7dGhpcy5GYT1uZXcgZjUoNkU1LGEpO3RoaXMuWmd8fHRoaXMuRmEuc3RhcnQoKTt0aGlzLnlkfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIiYmRTEodGhpcyl9KSxfLnpkKCk/LmFkZEV2ZW50TGlzdGVuZXI/LigicGFnZWhpZGUiLCgpPT4Ke0UxKHRoaXMpfSkpfWxhKCl7RTEodGhpcyk7dGhpcy5vLnN0b3AoKTt0aGlzLkZhLnN0b3AoKTtzdXBlci5sYSgpfWRpc3BhdGNoKGEpe2lmKGEgaW5zdGFuY2VvZiBnNSl0aGlzLmxvZyhhKTtlbHNlIHRyeXt2YXIgYj1uZXcgZzUsYz1hLnNlcmlhbGl6ZSgpO3ZhciBkPUJaKGIsOCxjKTt0aGlzLmxvZyhkKX1jYXRjaHt9fWxvZyhhKXtpZih0aGlzLk1hKXthPWEuY2xvbmUoKTt2YXIgYj10aGlzLmZjKys7YT1fLnF3KGEsMjEseV8oYikpO3RoaXMuY29tcG9uZW50SWQmJkJaKGEsMjYsdGhpcy5jb21wb25lbnRJZCk7Yj1hO3t2YXIgYz1fLmVkKGIsMSk7bGV0IGQ9dHlwZW9mIGM7Yz1jPT1udWxsP2M6ZD09PSJiaWdpbnQiP1N0cmluZygoMCxfLnRyKSg2NCxjKSk6cl8oYyk/ZD09PSJzdHJpbmciP3VfKGMpOnZfKGMpOnZvaWQgMH1jPT1udWxsJiYoYz1EYXRlLm5vdygpLGM9TnVtYmVyLmlzRmluaXRlKGMpP2MudG9TdHJpbmcoKToiMCIsXy5xdyhiLDEseV8oYykpKTtjPV8uZWQoYiwKMTUsdm9pZCAwLHZvaWQgMCx6Xyk7YyE9bnVsbCYmKHR5cGVvZiBjPT09ImJpZ2ludCI/KDAsXy5NYykoYyk/Yz1OdW1iZXIoYyk6KGM9KDAsXy50cikoNjQsYyksYz0oMCxfLk1jKShjKT9OdW1iZXIoYyk6U3RyaW5nKGMpKTpjPXJfKGMpP3R5cGVvZiBjPT09Im51bWJlciI/dl8oYyk6dV8oYyk6dm9pZCAwKTtjPT1udWxsJiZfLnF3KGIsMTUseV8oKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKjYwKSk7dGhpcy5leHBlcmltZW50SWRzJiYoYz10aGlzLmV4cGVyaW1lbnRJZHMuY2xvbmUoKSxfLkt3KGIsMTYsYykpO2I9dGhpcy5qLmxlbmd0aC10aGlzLmJ1ZmZlclNpemUrMTtiPjAmJih0aGlzLmouc3BsaWNlKDAsYiksdGhpcy5CKz1iKTt0aGlzLmoucHVzaChhKTt0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCl9fWZsdXNoKGEsYil7aWYodGhpcy5qLmxlbmd0aD09PTApYSYmYSgpO2Vsc2UgaWYodGhpcy55YSYmdGhpcy5aKXRoaXMudi5vPTMsQXNhKHRoaXMpOwplbHNle3ZhciBjPURhdGUubm93KCk7aWYodGhpcy5FYj5jJiZ0aGlzLm9hPGMpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLm5ldHdvcmsmJih0eXBlb2YgdGhpcy5uZXR3b3JrLldpPT09ImZ1bmN0aW9uIj92c2EodGhpcy52LHRoaXMubmV0d29yay5XaSgpKTp0aGlzLnYubz0wKTt2YXIgZD10aGlzLnYuYnVpbGQodGhpcy5qLHRoaXMuQix0aGlzLkksdGhpcy5sZix0aGlzLmhhLHRoaXMuZ2EpLGU9dGhpcy5TZigpO2lmKGUmJnRoaXMuUWE9PT1lKWImJmIoInN0YWxlLWF1dGgtdG9rZW4iKTtlbHNle3RoaXMuaj1bXTt0aGlzLm8uZW5hYmxlZCYmdGhpcy5vLnN0b3AoKTt0aGlzLkI9MDtjPWQuc2VyaWFsaXplKCk7bGV0IGY7dGhpcy5NJiZ0aGlzLk0uaXNTdXBwb3J0ZWQoYy5sZW5ndGgpJiYoZj10aGlzLk0uY29tcHJlc3MoYykpO2xldCBoPUJzYSh0aGlzLGMsZSksaz1uPT57dGhpcy5ELnJlc2V0KCk7dGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKTtpZihuKXt2YXIgcD0KbnVsbDt0cnl7dmFyIHI9SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShuLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cD1OdmEocil9Y2F0Y2godil7fWlmKHApe249TnVtYmVyKElfKHAsMSxfLkZjKCItMSIpKSk7bj4wJiYodGhpcy5vYT1EYXRlLm5vdygpLHRoaXMuRWI9dGhpcy5vYStuKTtuPWg1Lmo7KHI9Xy5HYShfLkpjKSkmJnAuRGFbcl0/LltuXSE9bnVsbCYmXy54YyhfLmpyLDMpO249aDUuajtpZihfLkdhKF8ubHIpJiZfLkdhKF8uSmMpJiZ2b2lkIDA9PT1fLmxyKXtyPXAuRGE7dmFyIHQ9cltfLkpjXTtpZih0JiYodD10LkZLKSl0cnl7dChyLG4sY3ZhKX1jYXRjaCh2KXtfLiRiKHYpfX1wPWg1LmN0b3I/aDUubyhwLGg1LmN0b3IsaDUuaixoNS52KTpoNS5vKHAsaDUuaixudWxsLGg1LnYpO2lmKHA9cD09PW51bGw/dm9pZCAwOnApcD1fLnR4KHAsMSwtMSkscCE9PS0xJiYodGhpcy5EPW5ldyBCMShwPDE/MTpwLDNFNSwuMSksdGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKSl9fWEmJgphKCk7dGhpcy5JPTB9LGw9KG4scCk9Pnt2YXIgcj1HXyhkLGc1LDMpO3ZhciB0PU51bWJlcihJXyhkLDE0KSk7QzEodGhpcy5EKTt0aGlzLm8uc2V0SW50ZXJ2YWwodGhpcy5ELmopO249PT00MDEmJmUmJih0aGlzLlFhPWUpO3QmJih0aGlzLkIrPXQpO3A9PT12b2lkIDAmJihwPXRoaXMuaXNSZXRyeWFibGUobikpO3AmJih0aGlzLmo9ci5jb25jYXQodGhpcy5qKSx0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCkpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIsbik7Kyt0aGlzLkl9LG09KCk9Pnt0aGlzLm5ldHdvcmsmJnRoaXMubmV0d29yay5zZW5kKGgsayxsKX07Zj9mLnRoZW4obj0+e2guT2pbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5PalsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PW47aC5HdT0yO20oKX0sKCk9PnttKCl9KTptKCl9fX19aXNSZXRyeWFibGUoYSl7cmV0dXJuIDUwMDw9YSYmYTw2MDB8fGE9PT00MDF8fAphPT09MH19O3ZhciBQdmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnB1PXR5cGVvZiBBYm9ydENvbnRyb2xsZXIhPT0idW5kZWZpbmVkIn1hc3luYyBzZW5kKGEsYixjKXt2YXIgZD10aGlzLnB1P25ldyBBYm9ydENvbnRyb2xsZXI6dm9pZCAwLGU9ZCYmYS50aW1lb3V0TWlsbGlzPjA/c2V0VGltZW91dCgoKT0+e2QuYWJvcnQoKX0sYS50aW1lb3V0TWlsbGlzKTp2b2lkIDA7dHJ5e2xldCBmPWF3YWl0IGZldGNoKGEudXJsLHttZXRob2Q6YS5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5hLk9qfSwuLi4oYS5ib2R5JiZ7Ym9keTphLmJvZHl9KSwuLi4oYS53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6YS50aW1lb3V0TWlsbGlzJiZkP2Quc2lnbmFsOm51bGx9KTtmLnN0YXR1cz09PTIwMD9iPy4oYXdhaXQgZi50ZXh0KCkpOmM/LihmLnN0YXR1cyl9Y2F0Y2goZil7c3dpdGNoKGY/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOmM/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6Yz8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGUpfX1XaSgpe3JldHVybiA0fX07dmFyIFMxPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5OZT0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5qPXRoaXMubGY9bnVsbDt0aGlzLm89ITE7dGhpcy5wYWdlSWQ9bnVsbDt0aGlzLmJ1ZmZlclNpemU9dm9pZCAwO3RoaXMuWD1udWxsfW5sKCl7dGhpcy52PSEwO3JldHVybiB0aGlzfWJ1aWxkKCl7dGhpcy5uZXR3b3JrfHwodGhpcy5uZXR3b3JrPW5ldyBQdmEpO3ZhciBhPW5ldyBPdmEoe2xvZ1NvdXJjZTp0aGlzLmxvZ1NvdXJjZSxTZjp0aGlzLlNmP3RoaXMuU2Y6Xy5QZCxzZXNzaW9uSW5kZXg6dGhpcy5zZXNzaW9uSW5kZXgsdEI6dGhpcy5OZSx5ZDohMSxaZzohMSxubDp0aGlzLnYsTm86dGhpcy5ObyxuZXR3b3JrOnRoaXMubmV0d29ya30pOwpFWih0aGlzLGEpO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIGI9dGhpcy5idWlsZExhYmVsLGM9dzEoYS52KTtCWihjLDcsYil9YS5NPW5ldyBHdmE7dGhpcy5jb21wb25lbnRJZCYmKGEuY29tcG9uZW50SWQ9dGhpcy5jb21wb25lbnRJZCk7dGhpcy5sZiYmKGEubGY9dGhpcy5sZik7dGhpcy5wYWdlSWQmJihhLnBhZ2VJZD10aGlzLnBhZ2VJZCk7dGhpcy5qJiYoKGM9dGhpcy5qKT8oYS5leHBlcmltZW50SWRzfHwoYS5leHBlcmltZW50SWRzPW5ldyBxdmEpLGI9YS5leHBlcmltZW50SWRzLGM9Yy5zZXJpYWxpemUoKSxCWihiLDQsYykpOmEuZXhwZXJpbWVudElkcyYmXy5xdyhhLmV4cGVyaW1lbnRJZHMsNCkpO3RoaXMubyYmKGEueWE9YS5aKTt4c2EoYS52KTt0aGlzLmJ1ZmZlclNpemUmJihhLmJ1ZmZlclNpemU9dGhpcy5idWZmZXJTaXplKTt0aGlzLm5ldHdvcmsuVWgmJnRoaXMubmV0d29yay5VaCh0aGlzLmxvZ1NvdXJjZSk7dGhpcy5uZXR3b3JrLmlBJiZ0aGlzLm5ldHdvcmsuaUEoYSk7CnJldHVybiBhfX07dmFyIE5zYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7YXx8KGE9bmV3IFMxLGEuY29tcG9uZW50SWQ9IiIsRVoodGhpcyxhKSxhPWEuYnVpbGQoKSk7dGhpcy5qPWF9Zmx1c2goYSl7YT1hfHxbXTtpZihhLmxlbmd0aCl7bGV0IGI9bmV3IEZ2YSxjPVtdO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hW2RdLGY9cjEoZSk7Yy5wdXNoKGYpO2UuY2xlYXIoKX1IXyhiLDEsYyk7dGhpcy5qLmRpc3BhdGNoKGIpO3RoaXMuai5mbHVzaCgpfX19O3ZhciBIMT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBpNT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5vPWE7dGhpcy52PWI7dGhpcy5maWVsZHM9Y3x8W107dGhpcy5qPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmouY2xlYXIoKX19O3ZhciBMMT1jbGFzcyBleHRlbmRzIGk1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSwzLGIpfX07dmFyIEoxPWNsYXNzIGV4dGVuZHMgaTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLDIsYil9cmVjb3JkKGEsLi4uYil7SHNhKHRoaXMsYSwuLi5iKX19O3ZhciBUMT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlo9YTt0aGlzLkk9MDt0aGlzLkI9MTAwO3RoaXMuTT0hMTt0aGlzLnY9bmV3IE1hcDt0aGlzLlU9bmV3IFNldDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMubz1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuby5saXN0ZW4oInRpY2siLHRoaXMuRCwhMSx0aGlzKTtFWih0aGlzLHRoaXMubyl9c2VuZElzb2xhdGVkUGF5bG9hZChhKXt0aGlzLk09YTt0aGlzLkI9MX1EKCl7dmFyIGE9Wy4uLnRoaXMudi52YWx1ZXMoKV0uZmlsdGVyKGI9PmIuai5zaXplKTthLmxlbmd0aCYmdGhpcy5aLmZsdXNoKGEsdGhpcy5NKTtLc2EoYSk7dGhpcy5JPTA7dGhpcy5vLmVuYWJsZWQmJnRoaXMuby5zdG9wKCl9aihhKXtyZXR1cm4gdGhpcy5VLmhhcyhhKT92b2lkIDA6dGhpcy52LmdldChhKX1yZWNvcmQoYSxiLC4uLmMpeyhhPXRoaXMuaihhKSkmJmEgaW5zdGFuY2VvZiBKMSYmKGEucmVjb3JkKGIsCi4uLmMpLE4xKHRoaXMpKX19O3ZhciBzMj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy5jb2RlPWE7dGhpcy5tZXRhZGF0YT17fTt0aGlzLm5hbWU9IlJwY0Vycm9yIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9dG9TdHJpbmcoKXt2YXIgYT1gUnBjRXJyb3IoJHtMc2EodGhpcy5jb2RlKXx8U3RyaW5nKHRoaXMuY29kZSl9KWA7dGhpcy5tZXNzYWdlJiYoYSs9IjogIit0aGlzLm1lc3NhZ2UpO3JldHVybiBhfX07dmFyIERzYT1jbGFzc3tzZW5kKGEsYj0oKT0+e30sYz0oKT0+e30pe18ubHkoYS51cmwsZD0+e2Q9ZC50YXJnZXQ7aWYoZC5pc1N1Y2Nlc3MoKSl7dHJ5e3ZhciBlPWQucmE/ZC5yYS5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goZil7ZT0iIn1iKGUpfWVsc2UgYyhfLlJ4KGQpKX0sYS5yZXF1ZXN0VHlwZSxhLmJvZHksYS5PaixhLnRpbWVvdXRNaWxsaXMsYS53aXRoQ3JlZGVudGlhbHMpfVdpKCl7cmV0dXJuIDF9fTt2YXIgajU9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9YTt0aGlzLmV2ZW50PWI7dGhpcy5zdGFydFRpbWU9UTEoKX1kb25lKCl7dGhpcy5YLnYodGhpcy5ldmVudCxRMSgpLXRoaXMuc3RhcnRUaW1lKX19LGs1PWNsYXNzIGV4dGVuZHMgc3Zhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKX19LFNzYT1jbGFzcyBleHRlbmRzIGs1e0IoKXt9aigpe312KCl7fUpiKCl7fU0oKXt9SSgpe31vKCl7fVooKXt9RCgpe31VKCl7fX0sUXZhPWNsYXNzIGV4dGVuZHMgazV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHRoaXMuWC5kaXNwb3NlKCkpfXVwZGF0ZShhKXt0aGlzLlguZGlzcG9zZSgpO3RoaXMuWD1hfWooYSl7dGhpcy5YLmooYSl9dihhLGIpe3RoaXMuWC52KGEsYil9SmIoYSl7dGhpcy5YLkpiKGEpfU0oYSl7dGhpcy5YLk0oYSl9SShhLGIpe3RoaXMuWC5JKGEsYil9bygpe3RoaXMuWC5vKCl9WihhKXt0aGlzLlguWihhKX1EKGEpe3RoaXMuWC5EKGEpfVUoYSl7dGhpcy5YLlUoYSl9QihhKXt0aGlzLlguQihhKX19LApSdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmNhbGxiYWNrPWE7dGhpcy5vPWI7dGhpcy5qPS1iO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpKX19LFN2YT1jbGFzcyBleHRlbmRzIGs1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLm1ldHJpY3M9YTt0aGlzLm1iPWJ9QihhKXt0aGlzLm1ldHJpY3MuQUEucmVjb3JkKGEsdGhpcy5tYil9aihhKXt0aGlzLm1ldHJpY3MuZXZlbnRDb3VudC5vKGEsdGhpcy5tYil9dihhLGIpe3RoaXMubWV0cmljcy5Odi5yZWNvcmQoYixhLHRoaXMubWIpfUpiKGEpe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lm8oYSx0aGlzLm1iKX1aKGEpe3RoaXMubWV0cmljcy5KQi5vKGEsdGhpcy5tYil9RChhKXt0aGlzLm1ldHJpY3MuSnUubyhhLHRoaXMubWIpfVUoYSl7dGhpcy5tZXRyaWNzLklCLm8oYSx0aGlzLm1iKX1NKGEpe3RoaXMubWV0cmljcy5wYXlsb2FkU2l6ZS5yZWNvcmQoYSwKdGhpcy5tYil9SShhLGIpe3RoaXMubWV0cmljcy5YeS5yZWNvcmQoYixhLHRoaXMubWIpfX0sUXNhPWNsYXNzIGV4dGVuZHMgU3Zhe2NvbnN0cnVjdG9yKGEsYj1bXSl7dmFyIGM9e21iOmEubWJ8fCJfIix6bDphLnpsfHxbXSxubTphLm5tfDAsTmU6YS5OZSxGajphLkZqfHwoKCk9Pnt9KSxJZzphLklnfHwoKGUsZik9Pk9zYShlLGYsYy5GaixjLk5lKSl9LGQ9Yy5JZygiNTMiLGMuemwuY29uY2F0KGIpKTtzdXBlcih7QUE6bmV3IHR2YShkKSxlcnJvckNvdW50Om5ldyB4dmEoZCksZXZlbnRDb3VudDpuZXcgdnZhKGQpLE52Om5ldyB3dmEoZCkseUw6bmV3IHV2YShkKSxKQjpuZXcgeXZhKGQpLEp1Om5ldyB6dmEoZCksSUI6bmV3IEF2YShkKSxwYXlsb2FkU2l6ZTpuZXcgQnZhKGQpLFh5Om5ldyBDdmEoZCl9LGMubWIpO3RoaXMub3B0aW9ucz1jO3RoaXMuc2VydmljZT1kO3RoaXMub2E9IWEuSWc7dGhpcy5nYT1uZXcgUnZhKCgpPT52b2lkIHRoaXMuc2VydmljZS5EKCksYy5ubSk7CnRoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9Pnt0aGlzLmdhLmRpc3Bvc2UoKTt0aGlzLm9hJiZ0aGlzLnNlcnZpY2UuZGlzcG9zZSgpfSk7Yi5zbGljZSgpLnNvcnQobHJhKX1vKCl7UHNhKHRoaXMuZ2EpfX07dmFyIFIyPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDAsUjIubWVzc2FnZUlkKX19LFR2YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSYmIV8uQmMoYikpfShSMik7UjIubWVzc2FnZUlkPSJiZmtqIjt2YXIgaTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGw1PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFV2YT1TXyhsNSk7dmFyIGQyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMudj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKTt0aGlzLmo9bmV3IGw1O2lmKCJjaGFsbGVuZ2UiaW4gYSYmVHZhKGEuY2hhbGxlbmdlKSl7dmFyIGI9Sl8oYS5jaGFsbGVuZ2UsNCx2b2lkIDAsXy53eik7dmFyIGM9Sl8oYS5jaGFsbGVuZ2UsNSx2b2lkIDAsXy53eik7Sl8oYS5jaGFsbGVuZ2UsNyx2b2lkIDAsXy53eikmJih0aGlzLmo9VXZhKEpfKGEuY2hhbGxlbmdlLDcsdm9pZCAwLF8ud3opKSl9ZWxzZSh7cHJvZ3JhbTpiLGdsb2JhbE5hbWU6Y309YSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjayhhc3luYygpPT57dmFyIHt1QTpufT1hd2FpdCB0aGlzLm87bj8uKCl9KTt0aGlzLlg9VTEoYS5uZ3x8e30sdGhpcy5qKTtFWih0aGlzLHRoaXMuWCk7dmFyIGQ9bmV3IF8uY3M7dGhpcy5vPWQucHJvbWlzZTt0aGlzLlguaigidCIpO3ZhciBlPXRoaXMuWC5zaGFyZSgpLGY9bmV3IGo1KGUsCiJ0IiksaD0obixwLHIsdCk9PntpZighdGhpcy5YLmlhKCkpe3ZhciB2PSJrIjtwP3Y9ImgiOnImJih2PSJ1Iik7diE9PSJrIj90IT09MCYmKHRoaXMuWC5qKHYpLHRoaXMuWC52KHYsbikpOnRoaXMudjw9MD8odGhpcy5YLmoodiksdGhpcy5YLnYodixuKSx0aGlzLnY9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIwMCkpOnRoaXMudi0tfX0saz0obixwLHIsdCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57Zi5kb25lKCk7ZS5vKCk7ZS5kaXNwb3NlKCk7ZC5yZXNvbHZlKHt5dTpuLHVBOnAsQXo6cixOdTp0fSl9KX0sbD1bKG4scCk9Pnt0aGlzLlgudihuLHApfSxuPT57dGhpcy5YLkpiKG4pfSxuPT57dGhpcy5YLk0obil9LChuLHApPT57dGhpcy5YLkkobixwKX1dO2lmKCFfLnVbY10pdGhyb3cgdGhpcy5YLkpiKDI1KSxFcnJvcigibmUiKTtpZighXy51W2NdLmEpdGhyb3cgdGhpcy5YLkpiKDI2KSxFcnJvcigib2UiKTt0cnl7bGV0IG49Xy51W2NdLmE7Yz1bXTtsZXQgcD0KW107dmFyIG09ajEodGhpcy5qKTtmb3IobGV0IHY9MDt2PG0ubGVuZ3RoO3YrKyljLnB1c2gobVt2XSkscC5wdXNoKDEpO2xldCByPWxzYSh0aGlzLmopO2ZvcihtPTA7bTxyLmxlbmd0aDttKyspYy5wdXNoKHJbbV0pLHAucHVzaCgyKTtsZXQgW3RdPW4oYixrLCEwLGEuRnMsaCxbYyxwXSxKXyh0aGlzLmosNSksITEsbCk7dGhpcy5CPXQ7dGhpcy5DZz1kLnByb21pc2UudGhlbigoKT0+e30pfWNhdGNoKG4pe3Rocm93IHRoaXMuWC5KYigyOCksbjt9fXNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLlguaigibiIpO3ZhciBiPXRoaXMuWC5zaGFyZSgpO3JldHVybiB0aGlzLm8udGhlbigoe3l1OmN9KT0+bmV3IFByb21pc2UoZD0+e3ZhciBlPW5ldyBqNShiLCJuIik7YyhmPT57ZS5kb25lKCk7Yi5CKGYubGVuZ3RoKTtiLm8oKTtiLmRpc3Bvc2UoKTtkKGYpfSxbYS5LYyxhLllqLGEuSXMsYS54bl0pfSkpfVhyKGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTsKdGhpcy5YLmooIm4iKTt2YXIgYj1SMSh0aGlzLlgsKCk9PnRoaXMuQihbYS5LYyxhLllqLGEuSXMsYS54bl0pLCJuIik7dGhpcy5YLkIoYi5sZW5ndGgpO3RoaXMuWC5vKCk7cmV0dXJuIGJ9SWgoYSl7dGhpcy5vLnRoZW4oKHtBejpifSk9PntiPy4oYSl9KX1CaShhLGIpe3JldHVybiB0aGlzLm8udGhlbigoe051OmN9KT0+Yz8uKGEsYiwhMSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX07dmFyIFYxPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5wcm9taXNlcz17fTt0aGlzLmo9bnVsbH19O3ZhciBsdWE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHEyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMub3B0aW9ucz1hO3RoaXMuST1uZXcgXy5jczt0aGlzLkNnPXRoaXMuSS5wcm9taXNlO3RoaXMuRD1uZXcgXy5jczt0aGlzLlo9MTt0aGlzLnY9bmV3IF8uY3M7dGhpcy5CPVtdO3RoaXMuaXNQYXVzZWQ9ITE7dGhpcy5Haj1hLkdqfHwoKCk9Pnt9KTt0aGlzLlg9bmV3IFF2YShVMShhLm5nfHx7fSkpO2F0YSh0aGlzLGEub2QsYS5zeCxhLkhLLGEuTkssey4uLlZ2YSwuLi4oYS5MZ3x8e30pfSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBidGEodGhpcykpfWFzeW5jIHNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLm98fHRoaXMuTXx8YXdhaXQgdGhpcy5ELnByb21pc2U7aWYodGhpcy5vKXJldHVybiBhd2FpdCB0aGlzLm8uc25hcHNob3QoYSk7dGhyb3cgdGhpcy5NO31wYXVzZSgpe3RoaXMuaWEoKXx8dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9CiEwLHRoaXMuaiYmdGhpcy5qLnBhdXNlKCkpfXJlc3VtZSgpeyF0aGlzLmlhKCkmJnRoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMuaiYmdGhpcy5qLnJlc3VtZSgpKX1hc3luYyBjaGVja0ZvclJlZnJlc2goKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoInBlIik7aWYodGhpcy5qKXt2YXIgYT10aGlzLmo7YS5pc0V4cGlyZWQoKT8oZzIoYSksYS5RaCgwKSxhPSEwKTphPSExO2EmJmF3YWl0IHRoaXMudi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy52LnByb21pc2V9YXN5bmMgVSgpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLmo/Lm8oKTthd2FpdCB0aGlzLnYucHJvbWlzZX1JaChhKXt0aGlzLm8/LkloPy4oYSl9QmkoYSxiKXtyZXR1cm4gdGhpcy5vPy5CaT8uKGEsYik/P1Byb21pc2UucmVzb2x2ZSgpfWhhbmRsZUVycm9yKGEpe3RoaXMuaWEoKXx8KHRoaXMuTT1hLHRoaXMuRC5yZXNvbHZlKCksdGhpcy5vcHRpb25zLkVqPy4oYSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX0sClZ2YT17RnI6NDMyRTUsZWs6M0U1LGxzOjEwLGF2OjFFNCxWdjozRTQscXk6M0U0LG1BOjZFNCxLdjoxRTMsSnY6NkU0LEx2OjZFNSxNdjouMjUsSXY6MixtYXhBdHRlbXB0czoxMH0sYzI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuZW5kVGltZU1zPTA7dGhpcy5qPW51bGw7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnRpY2s9KCk9PntpZighdGhpcy5pc1BhdXNlZCl7dmFyIGQ9dGhpcy5lbmRUaW1lTXMtRGF0ZS5ub3coKTtkPD10aGlzLnY/KHRoaXMuaj1udWxsLHRoaXMuUWgoMCkpOnRoaXMuaj1zZXRUaW1lb3V0KHRoaXMudGljayxNYXRoLm1pbihkLHRoaXMuZWspKX19O3RoaXMuZWs9Yjt0aGlzLnY9Yzt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZD0+e3RoaXMuUWg9ZH0pO2N0YSh0aGlzLGEpfXBhdXNlKCl7dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9ITAsZzIodGhpcykpfXJlc3VtZSgpe3RoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMudGljaygpKX1vKCl7ZzIodGhpcyk7CnRoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlFoKDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIGR0YT1NYXRoLmltdWw/PygoYSxiKT0+YSpifDApLGoyPVsxOTYsMjAwLDIyNCwxOF0sbTI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPTAsYz1bXSl7dGhpcy5tYXhJdGVtcz1hO3RoaXMuaj1iO3RoaXMubz1jfXNlcmlhbGl6ZSgpe3JldHVybiBTdHJpbmcodGhpcy5qKSsiLCIrdGhpcy5vLmpvaW4oKX1yYihhLGIpe3ZhciBjPXZvaWQgMDtpZih0aGlzLm9bdGhpcy5qXSE9PWEpe2xldCBkPXRoaXMuby5pbmRleE9mKGEpO2QhPT0tMT8odGhpcy5vLnNwbGljZShkLDEpLGQ8dGhpcy5qJiZ0aGlzLmotLSx0aGlzLm8uc3BsaWNlKHRoaXMuaiwwLGEpKTooYz10aGlzLm9bdGhpcy5qXSx0aGlzLm9bdGhpcy5qXT1hKX10aGlzLmo9KHRoaXMuaisxKSV0aGlzLm1heEl0ZW1zO2E9aDIoImlVNXEtIU85QCQiLHRoaXMuc2VyaWFsaXplKCkpO2MmJmEmJmIoYyk7cmV0dXJuIGF9fSxpc2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9Yjt0cnl7dmFyIGM9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmISFnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW19Y2F0Y2goZCl7Yz0hMX1jJiYodGhpcy5pbmRleD1ndGEoYSkpfWooYSxiLGMsZCl7dmFyIGU9dGhpcy5pbmRleD9SMSh0aGlzLlgsKCk9PmV0YSh0aGlzLmluZGV4LGsyKGEpLGIsYyxkKSwiVyIpOiJ1Ijt0aGlzLlguVShlKX1vKGEsYil7dmFyIFtjLGRdPXRoaXMuaW5kZXg/UjEodGhpcy5YLCgpPT5mdGEoazIoYSksYiksIlIiKTpbInUiXTt0aGlzLlguRChjKTtyZXR1cm4gZH19O3ZhciBtNT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLnY9bmV3IF8uY3N9emooYSxiKXt2YXIgYz10aGlzLm9lKGEpO2I/LihjKTtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnNjKGMsMiksdGhpcy5vKX1zbShhLGIsYyl7cmV0dXJuIFIxKHRoaXMuWCwoKT0+Yj90aGlzLnpqKGEsYyk6dGhpcy5vZShhLGMpLHRoaXMuail9fSx1Mj1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKGEpO3RoaXMuQj1iO3RoaXMuST1jO3RoaXMuaj0ibSI7dGhpcy5vPSJ4Ijt0aGlzLkQ9MDtuMih0aGlzLGQpfW9lKGEsYil7dGhpcy5YLmoodGhpcy5qKTsrK3RoaXMuRD49dGhpcy5JJiZ0aGlzLnYucmVzb2x2ZSgpO3ZhciBjPWEoKTthPVIxKHRoaXMuWCwoKT0+dGhpcy5CKGMpLCJDIik7aWYoYT09PXZvaWQgMCl0aHJvdyBuZXcgaDEoMTcsIllOSjpVbmRlZmluZWQiKTtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaDEoMTgsCiJPRE06SW52YWxpZCIpO2I/LihhKTtyZXR1cm4gYX19LGx0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhKTt0aGlzLkI9Yjt0aGlzLmo9ImYiO3RoaXMubz0ieiI7bjIodGhpcyxjKX1vZSgpe3JldHVybiB0aGlzLkJ9fSxrdGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYSk7dGhpcy5CPWI7dGhpcy5qPSJ3Ijt0aGlzLm89InoiO24yKHRoaXMsYyl9b2UoKXtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnVjKHRoaXMuQiksImQiKX16aigpe3JldHVybiB0aGlzLkJ9fSxydGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGEpO3RoaXMuZXJyb3I9Yjt0aGlzLmo9ImUiO3RoaXMubz0ieSJ9b2UoKXtpZih0aGlzLkIpcmV0dXJuIHRoaXMuQjt0aGlzLkI9cDIodGhpcyxhPT4iXyIrZXJhKGEpKTtyZXR1cm4gcDIodGhpcyxhPT5hKX19LHF0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7CnRoaXMuY2xpZW50U3RhdGU9Yjt0aGlzLmo9IlMiO3RoaXMubz0icSJ9b2UoKXt2YXIgYT1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxiPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sYz1iLmNvbmNhdChbMCx0aGlzLmNsaWVudFN0YXRlXSxbYT4+MjQmMjU1LGE+PjE2JjI1NSxhPj44JjI1NSxhJjI1NV0pO2E9bmV3IFVpbnQ4QXJyYXkoMitjLmxlbmd0aCk7YVswXT0zNDthWzFdPWMubGVuZ3RoO2Euc2V0KGMsMik7Yz1hLnN1YmFycmF5KDIpO2I9Yi5sZW5ndGg7Zm9yKGxldCBkPWI7ZDxjLmxlbmd0aDsrK2QpY1tkXV49Y1tkJWJdO3RoaXMuWC5aKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBhfX07dmFyIFd2YT17V3Y6M0U0LEJBOjJFNH0scnVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMueWc9bmV3IF8uY3M7dGhpcy52PTA7dGhpcy5vPXZvaWQgMDt0aGlzLnN0YXRlPTI7dGhpcy52bT1hLnZtO3RoaXMub2Q9YS5vZDt0aGlzLkxnPXsuLi5XdmEsLi4uKGEuTGd8fHt9KX07dGhpcy5YPWEudm0uVmgoKTt0aGlzLm9uRXJyb3I9YS5vbkVycm9yPz8oKCk9Pnt9KTt0aGlzLlFuPWEuUW58fCExO2lmKFh2YShhKSl7bGV0IGQ9dGhpcy52bTt0aGlzLkI9KCk9PmQuVSgpLmNhdGNoKGU9Pnt0aGlzLm89ZT10aGlzLnJlcG9ydEVycm9yKG5ldyBoMSh0aGlzLmo/MjA6MzIsIlRSRzpEaXNwb3NlZCIsZSkpO3RoaXMuaj8uZGlzcG9zZSgpO3RoaXMuaj12b2lkIDA7dGhpcy55Zy5yZWplY3QoZSl9KTtmMihkLCgpPT52b2lkIHQyKHRoaXMpKTtkLlo9PT0yJiZ0Mih0aGlzKX1lbHNlIHRoaXMuQj1hLmlLLHQyKHRoaXMpO3ZhciBiPXRoaXMuWC5zaGFyZSgpOwpiLmooIm8iKTt2YXIgYz1uZXcgajUoYiwibyIpO3RoaXMueWcucHJvbWlzZS50aGVuKCgpPT57Yy5kb25lKCk7Yi5vKCk7Yi5kaXNwb3NlKCl9LCgpPT52b2lkIGIuZGlzcG9zZSgpKTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5qPyh0aGlzLmouZGlzcG9zZSgpLHRoaXMuaj12b2lkIDApOnRoaXMubz90aGlzLlgubygpOih0aGlzLm89dGhpcy5yZXBvcnRFcnJvcihuZXcgaDEoMzIsIlROUDpEaXNwb3NlZCIpKSx0aGlzLlgubygpLHRoaXMueWcucmVqZWN0KHRoaXMubykpfSk7RVoodGhpcyx0aGlzLlgpfW9lKGEpe3JldHVybiB3Mih0aGlzLHsuLi5hfSwhMSl9emooYSl7cmV0dXJuIHcyKHRoaXMsey4uLmF9LCEwKX1yZXBvcnRFcnJvcihhKXt0aGlzLlguSmIoYS5jb2RlKTt0aGlzLm9uRXJyb3IoYSk7cmV0dXJuIGF9fSxYdmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+e2lmKCEoMCxfLnFyKShiKSlyZXR1cm4hMTtmb3IobGV0IFtjLGRdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2xldCBlPQpjLGY9ZDtpZighKGUgaW4gYikpe2lmKGYuQko9PT0hMCljb250aW51ZTtyZXR1cm4hMX1pZighZihiW2VdKSlyZXR1cm4hMX1yZXR1cm4hMH0pfSh7dm06ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfShxMil9LCIiKTt2YXIgWnZhPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoIW41KXtuNT1uZXcgVDEobmV3IFl2YSk7dmFyIGE9Xy5zaigiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2NvdW50IiwtMSk7YSE9PS0xJiYobjUuQj1hKX10aGlzLnY9YT1uNTtNMShhLCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixsMSgidHlwZSIpLGwxKCJzZXF1ZW5jZSIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiKX19O3ZhciBtdWE9U18oY2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0pO3ZhciAkdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIG81PVswLHB2YSwtMV07dmFyIHA1PVswLGh2YSwtMV07dmFyIGF3YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgYndhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1oYXNBdHRyaWJ1dGVzKCl7dmFyIGE9dGhpcy5EYTtyZXR1cm4gXy5NeChhLGFbXy5BY118MCxhd2EsMTkpIT09dm9pZCAwfX07dmFyIGN3YT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+Xy5veihiLGEpfShbMCxjNSwtMSxYNCwkNCxvNSwtMSxXNCxaNCxjNSxwNSwkNCxjNSwtMSxbMCxvNSwtMV0sWjQsWTQscDUsVzQsWzAsMSxaNCwtNCxWNCxbMCxXNCwtMSxaNF0sJDQsVzQsXy55eixbMCxjNSxaNF0sWjQsLTEsYzUsLTIsVzQsLTEsYzUsVzQsYzUsWjQsWzAsMyxaNCwtMSw0LG52YV0sVjQsYjUsWzAsYzUsLTEsJDRdLF8ueHpdLCQ0LG92YSxfLnl6LFswLHA1LF8ueXosWzAsJDQsYzVdLFc0LGM1LC0xXSwxLF8ueXosWzAsWTQsLTEsYjVdLGM1LHA1XSk7ejIucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIhPTN9O3oyLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj09PTJ9Owp6Mi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2Zvcig7cDxhLmxlbmd0aDspaWYoeTIoYVtwXSkpcCsrLGYudisrO2Vsc2UgYnJlYWs7cmV0dXJuIHA8bH1mdW5jdGlvbiBjKCl7Zm9yKHZhciB0Ozspe3Q9YVtwKytdO2lmKCF0KWJyZWFrO2YudisrO3N3aXRjaChmLmope2Nhc2UgMDp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6eTIodCl8fEEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDc6Y2FzZSAyOmlmKHkyKHQpKWNvbnRpbnVlO2lmKGYuaj09PTcpaC5wdXNoKDgpO2Vsc2UgaWYodD09PSJ9Iil7ZSgie30iKTtmLmo9ZCgpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDMpO3Q9PT0nIic/Zi5qPTY6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgODpjYXNlIDM6aWYoeTIodCkpY29udGludWU7dD09PSI6Ij8oZi5qPT09MyYmKGgucHVzaCgzKSxmLm8rKyksZi5qPTEpOnQ9PT0ifSI/KGYuby0tLGUoKSxmLmo9ZCgpKTp0PT09IiwiPyhmLmo9PT0zJiZoLnB1c2goMyksCmYuaj03KTpBMihmLGEscCk7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZih5Mih0KSljb250aW51ZTtpZihmLmo9PT00KWlmKGYubysrLGYuaj0xLHQ9PT0iXSIpe2Yuby0tO2lmKGYubz09PTApe2Yuaj01O3JldHVybn1lKCJbXSIpO2Yuaj1kKCk7Y29udGludWV9ZWxzZSBoLnB1c2goNSk7dD09PSciJz9mLmo9Njp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6dD09PSJ0Ij9mLmo9OTp0PT09ImYiP2Yuaj0xMjp0PT09Im4iP2Yuaj0xNjp0IT09Ii0iJiYoIjAxMjM0NTY3ODkiLmluZGV4T2YodCkhPT0tMT9mLmo9MjA6QTIoZixhLHApKTtjb250aW51ZTtjYXNlIDU6aWYodD09PSIsIiloLnB1c2goNSksZi5qPTEsZi5vPT09MSYmKG49cCk7ZWxzZSBpZih0PT09Il0iKXtmLm8tLTtpZihmLm89PT0wKXJldHVybjtlKCk7Zi5qPWQoKX1lbHNlIGlmKHkyKHQpKWNvbnRpbnVlO2Vsc2UgQTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgNjpsZXQgdj1wO2E6Zm9yKDs7KXtmb3IoO2YuSz4wOylpZih0PQphW3ArK10sZi5LPT09ND9mLks9MDpmLksrKywhdClicmVhayBhO2lmKHQ9PT0nIicmJiFmLkQpe2Yuaj1kKCk7YnJlYWt9aWYodD09PSJcXCImJiFmLkQmJihmLkQ9ITAsdD1hW3ArK10sIXQpKWJyZWFrO2lmKGYuRClpZihmLkQ9ITEsdD09PSJ1IiYmKGYuSz0xKSx0PWFbcCsrXSljb250aW51ZTtlbHNlIGJyZWFrO2subGFzdEluZGV4PXA7dD1rLmV4ZWMoYSk7aWYoIXQpe3A9YS5sZW5ndGgrMTticmVha31wPXQuaW5kZXgrMTt0PWFbdC5pbmRleF07aWYoIXQpYnJlYWt9Zi52Kz1wLXY7Y29udGludWU7Y2FzZSA5OmlmKCF0KWNvbnRpbnVlO3Q9PT0iciI/Zi5qPTEwOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDEwOmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTExOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDExOmlmKCF0KWNvbnRpbnVlO3Q9PT0iZSI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxMjppZighdCljb250aW51ZTt0PT09ImEiP2Yuaj0xMzpBMihmLGEsCnApO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIXQpY29udGludWU7dD09PSJsIj9mLmo9MTQ6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIXQpY29udGludWU7dD09PSJzIj9mLmo9MTU6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTU6aWYoIXQpY29udGludWU7dD09PSJlIj9mLmo9ZCgpOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE2OmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTE3OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE3OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPTE4OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE4OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxOTp0PT09Ii4iP2Yuaj0yMDpBMihmLGEscCk7Y29udGludWU7Y2FzZSAyMDppZigiMDEyMzQ1Njc4OS5lRSstIi5pbmRleE9mKHQpIT09LTEpY29udGludWU7ZWxzZSBwLS0sZi52LS0sZi5qPWQoKTtjb250aW51ZTtkZWZhdWx0OkEyKGYsYSxwKX19fQpmdW5jdGlvbiBkKCl7dmFyIHQ9aC5wb3AoKTtyZXR1cm4gdCE9bnVsbD90OjF9ZnVuY3Rpb24gZSh0KXtmLm8+MXx8KHR8fCh0PW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSxwKTphLnN1YnN0cmluZyhuLHApKSxmLlkucHVzaChKU09OLnBhcnNlKHQpKSxuPXApfWZvcih2YXIgZj10aGlzLGg9Zi5VLGs9Zi5aLGw9YS5sZW5ndGgsbT0wLG49LTEscD0wO3A8bDspc3dpdGNoKGYuQil7Y2FzZSAzOnJldHVybiBBMihmLGEscCksbnVsbDtjYXNlIDI6cmV0dXJuIGIoKSYmQTIoZixhLHApLG51bGw7Y2FzZSAwOmlmKGIoKSl7dmFyIHI9YVtwKytdO2YudisrO2lmKHI9PT0iWyIpe2YuQj0xO209cDtmLmo9NDtjb250aW51ZX1lbHNlIEEyKGYsYSxwKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIGMoKSxmLm89PT0wJiZmLmo9PTU/KGYuQj0yLGYuST1hLnN1YnN0cmluZyhwKSk6Zi5JPW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSk6YS5zdWJzdHJpbmcobiksZi5ZLmxlbmd0aD4wPyhyPWYuWSwKZi5ZPVtdLHIpOm51bGx9cmV0dXJuIG51bGx9O3ZhciBtcmE9e0dFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfVU5LTk9XTiIsQUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9GT1JfVEVTVElORyIsa0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fSE9NRV9UVEwiLHdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU1RBUlRfVE9fU0hPUlRTX0FOQUxZU0lTX1NMSUNFIixvRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RFVklDRV9MQVlFUl9TTElDRSIsRkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VTklGSUVEX0xBWUVSX1NMSUNFIixKRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1ZJU0lUT1JfTEFZRVJfU0xJQ0UiLHVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0hPV19TSEVFVF9DT01NQU5EX0hBTkRMRVJfQkxPQ0siLApNRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dJWl9ORVhUX01JR1JBVEVEX0NPTVBPTkVOVCIsTEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XSVpfTkVYVF9DSEFOTkVMX05BTUVfVE9PTFRJUCIscEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVElPTl9MT0NLX1NVUFBPUlRFRCIsekU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9USEVBVEVSX01PREVfRU5BQkxFRCIsU0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9TSE9XX1BJTl9TVUdHRVNUSU9OIixSRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfTE9OR19QUkVTU19FRFVfVE9BU1QiLFFFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfU0hPV19BTUJJRU5UIixBRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RJTUVfV0FUQ0hFRF9QQU5FTCIsCnJFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0VBUkNIX0ZST01fU0VBUkNIX0JBUl9PVkVSTEFZIixURToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfVk9JQ0VfU0VBUkNIX0VEVV9UT0FTVCIseUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVUdHRVNURURfTEFOR1VBR0VfU0VMRUNURUQiLFVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfVFJJR0dFUl9TSE9SVFNfUElQIixKRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lOX1pQX1ZPSUNFX0NSQVNIWV9TRVQiLGdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX1NVUFBSRVNTRUQiLGZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX0FMTE9XRUQiLGlFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9QVUxMX1RPX1JFRlJFU0hfQVRURU1QVCIsCk5FOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfQkxPQ0tfS0FCVUtJIixqRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1JFRUxfVEFMTF9TQ1JFRU4iLGhFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9OT1JNQUxfU0NSRUVOIixoRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9FTkFCTEVEIixnRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9ESVNBQkxFRCIsaUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9BVVRPUExBWV9FTkFCTEVEIixqRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0NBU1RfTUFUQ0hfT0NDVVJSRUQiLHREOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRU1DM0RTX0VMSUdJQkxFIix3RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VORFNDUkVFTl9UUklHR0VSRUQiLApkRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BPU1RQTEFZX1RSSUdHRVJFRCIsY0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9QT1NUUExBWV9MQUNUX1RIUkVTSE9MRF9FWENFRURFRCIsQ0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1NUQVRFX01BVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT04iLEVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hBQkxFX09OX1JFTU9URV9DT05ORUNUSU9OIixERDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfTUlTQVRUUklCVVRFRF9PTl9SRU1PVEVfQ09OTkVDVElPTiIsSEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1RWX0lTX1NJR05FRF9JTl9PTl9SRU1PVEVfQ09OTkVDVElPTiIsREU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9UVl9TVEFSVF9UWVBFX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLApFRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWX1NUQVJUX1RZUEVfTk9OX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLFlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfT05fUkVNT1RFX0NPTk5FQ1RJT04iLG5EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9WQUxJRCIsbEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9DT0JBTFRfUEVSU0lTVEVOVF9TRVRUSU5HU19URVNUX0lOVkFMSUQiLG1EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9VTkRFRklORUQiLGtEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9ERUZJTkVEIixNRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xBQ1RfVEhSRVNIT0xEX0VYQ0VFREVEIiwKcUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1VORF9UUklQX0hBTkRMSU5HX09OX1JFTU9URV9DT05ORUNUSU9OIixHRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfU1dJVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT05fQkVGT1JFX0FQUF9SRUxPQUQiLEZEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hFRF9PTl9SRU1PVEVfQ09OTkVDVElPTl9BRlRFUl9BUFBfUkVMT0FEIix1RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19JTkVMSUdJQkxFIixCRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfTUlEX1JPTExfVEhSRVNIT0xEX1JFQUNIRUQiLHlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfUEVORElORyIsCnhEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfQUNUSVZBVEVEIix2RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19NMl9FTElHSUJMRSIsbkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX0xBTkRTQ0FQRSIsb0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX1BPUlRSQUlUIixzRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQkVEU19GQUNFT0ZGX1VJX0VWRU5UIix6RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VYUF9DT0JBTFRfSFRUUDNfQ09ORklHX1JFQ0VJVkVEIixyRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VMSUdJQkxFX1RPX1NVUFBSRVNTX1RSQU5TUE9SVF9DT05UUk9MU19CVVRUT05TIiwKSEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VU0VSX0hBU19USEVBVEVSX01PREVfQ09PS0lFX0VOQUJMRUQiLHFEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRE9DVU1FTlRfUElDVFVSRV9JTl9QSUNUVVJFX1NVUFBPUlRFRCIsdEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSE9SVFNfTk9OX0RFRkFVTFRfQVNQRUNUX1JBVElPIixiRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BMQVlFUl9JTl9TUVVFRVpFQkFDSyIsTkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9MSVZFX0NSRUFUT1JfQVJfR0lGVF9SRUNFSVZFRCIsbUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVRVUk5FRF9UT19WSURFT19BRlRFUl9GQUlMRURfQVRURU1QVF9UT19CQUNLR1JPVU5EIixPRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX0VOVEVSX0FVVE9fWk9PTSIsClpEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUEFTU0lWRV9JTl9DT05UUk9MIixhRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BBU1NJVkVfSU5fVFJFQVRNRU5UIixwRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RJU0FCTEVfUExBWUVSX09QRU5fT05fRlVMTFNDUkVFTiIsVEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfUkVDT05ORUNUX1dJVEhfUkVUUlkiLHZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0lOR0xFX0NPTFVNTl9HUklEX1RSSUdHRVJFRCIsUEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfQ09OTkVDVElPTl9USU1FT1VUIixPRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xJVkVfR0hPU1RfTE9BRElOR19FTElHSUJMRSIseEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVFJFQU1FRF9HRVRfV0FUQ0hfU1VQUE9SVEVEIiwKS0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XRUJWSUVXX0NPTlRBSU5FUiIsUEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9FTlRFUl9QSVAiLGVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTF9FTElHSUJMRSIsVkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX0JST0FEIixYRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX09GRkxJTkVfUkVDT1ZFUllfVU5QTEFZQUJMRSIsV0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX1NUUklDVCIsS0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JT1NfU0hPUlRfT1JJRU5UQVRJT05fQ0hBTkdFIixDRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfUExBWUVSX0VSUk9SX09WRVJMQVlfVFJJR0dFUkVEIiwKc0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSEFERVJfTElHSFRfRU5BQkxFRCIsSUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUWV9NSVNNQVRDSF9ERVRFQ1RFRCIsbEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fU0hPUlRTX1RSSUdHRVJFRCIsQkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9HUldTX0NVU1RPTV9SRVRSWV9DQUxMRUQiLFNEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfVE9LRU5fTUlTTUFUQ0giLFJEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfUEFZTE9BRF9UT0tFTl9NSVNTSU5HIixRRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX01EWF9NT0JJTEVfVU5MT0NLX0dBVEVfVE9LRU5fTUlTU0lORyIsClVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTVVTSUNfT0ZGTElORV9IT01FX1NNQVJUX0RPV05MT0FEU19QUk9NT19DSEVDSyIsTEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JUEFEX0RFU0tUT1BfTUFUQ0gifTt2YXIgZHdhPW5ldyBfLkkoInN1YnNjcmliZUVuZHBvaW50Iik7dmFyIEIyPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGAke2F9LCBlcnJvckNvZGU9JHtifWApO3RoaXMuZXJyb3JDb2RlPWI7dGhpcy5uYW1lPSJQcm9taXNlQWpheEVycm9yIn19LHR0YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBEMj1jbGFzc3tjb25zdHJ1Y3RvcihhPW51bGwpe3RoaXMudj1hO3RoaXMuaj0wO3RoaXMubz1udWxsfXRoZW4oYSxiLGMpe3JldHVybiB0aGlzLnY/dGhpcy52LnRoZW4oYSxiLGMpOnRoaXMuaj09PTEmJmE/KGE9YS5jYWxsKGMsdGhpcy5vKSkmJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iP2E6RjIoYSk6dGhpcy5qPT09MiYmYj8oYT1iLmNhbGwoYyx0aGlzLm8pKSYmdHlwZW9mIGEudGhlbj09PSJmdW5jdGlvbiI/YTpFMihhKTp0aGlzfWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT0yfX07Xy55ZihEMik7dmFyIE0yPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLm1lc3NhZ2V8fGEuZGVzY3JpcHRpb258fGEubmFtZSk7dGhpcy5pc01pc3Npbmc9YSBpbnN0YW5jZW9mIEsyO3RoaXMuaXNUaW1lb3V0PWEgaW5zdGFuY2VvZiBCMiYmYS5lcnJvckNvZGU9PSJuZXQudGltZW91dCI7dGhpcy5pc0NhbmNlbGVkPWEgaW5zdGFuY2VvZiBfLlBmfX07TTIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpRXJyb3IiO3ZhciBLMj1jbGFzcyBleHRlbmRzIF8uTGF7Y29uc3RydWN0b3IoKXtzdXBlcigiQmlzY290dGkgSUQgaXMgbWlzc2luZyBmcm9tIHNlcnZlciIpfX07SzIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpTWlzc2luZ0Vycm9yIjt2YXIgc3RhPXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHRpbWVvdXQ6NUUzLHdpdGhDcmVkZW50aWFsczohMH0sSDI9bnVsbDt2YXIgV3RhPVsiYXR0L2dldCJdLGV3YT1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLGZ3YT1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0scTU9WyJmZWVkYmFjayJdLGd3YT1bIm5vdGlmaWNhdGlvbi9tb2RpZnlfY2hhbm5lbF9wcmVmZXJlbmNlIl0saHdhPVsiYnJvd3NlL2VkaXRfcGxheWxpc3QiXSxpd2E9WyJzdWJzY3JpcHRpb24vc3Vic2NyaWJlIl0sandhPVsic3Vic2NyaXB0aW9uL3Vuc3Vic2NyaWJlIl07dmFyIHI1PWNsYXNze2ZsdXNoKGE9W10sYj0hMSl7aWYoXy54KCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBjIG9mIGEpYT1yMShjKSx0aGlzLmomJl8uS3coYSwyLHRoaXMuaiksYT17c2VyaWFsaXplZEluY3JlbWVudEJhdGNoOl8uc2MoYS52KCkpfSxfLkVwKCJzdHJlYW16SW5jcmVtZW50ZWQiLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6Yn0pfX0sWXZhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0scXVhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt2YXIgYj1uZXcgRXZhO3ZhciBjPW5ldyBEdmE7Yz1CWihjLDEsImJvdGd1YXJkIik7YT1CWihjLDIsYSk7YT1fLkp3KGEpO0ZfKGIsMSxlNSxhKTthJiYhXy5CYyhhKSYmXy5vdyhiLkRhKTt0aGlzLmo9Yn19O3ZhciBuNSxqND1uZXcgTWFwO3ZhciBBdGE9bnVsbDt2YXIgQ3RhPW5ldyBNYXAoW1siZGFyayIsIlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiXSxbImxpZ2h0IiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiXV0pO3ZhciBYMj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihhKXt0aGlzLmouYmljZihhKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhhKXt0aGlzLmouYmNyKGEpfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuai5ibGMoKX19O3ZhciAkMj1bXSxaMj0oMCxfLll4KWBodHRwczovL3N0YXRpYy5kb3VibGVjbGljay5uZXQvaW5zdHJlYW0vYWRfc3RhdHVzLmpzYCxZMj0hMTt2YXIgczU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9fTtbbmV3IHM1KCJiLmZfIiksbmV3IHM1KCJqLnNfIiksbmV3IHM1KCJyLnNfIiksbmV3IHM1KCJlLmhfIiksbmV3IHM1KCJpLnNfIiksbmV3IHM1KCJzLnRfIiksbmV3IHM1KCJwLmhfIiksbmV3IHM1KCJzLmlfIiksbmV3IHM1KCJmLmlfIiksbmV3IHM1KCJhLmJfIiksbmV3IHM1KCJhLm9fIiksbmV3IHM1KCJnLm9fIiksbmV3IHM1KCJwLmlfIiksbmV3IHM1KCJwLm1fIiksbmV3IHM1KCJuLmtfIiksbmV3IHM1KCJpLmZfIiksbmV3IHM1KCJhLnNfIiksbmV3IHM1KCJtLmNfIiksbmV3IHM1KCJuLmhfIiksbmV3IHM1KCJvLnBfIiksbmV3IHM1KCJtLnBfIiksbmV3IHM1KCJvLmFfIiksbmV3IHM1KCJkLnBfIiksbmV3IHM1KCJlLmlfIildLnJlZHVjZSgoYSxiKT0+e2FbYi5qXT1iO3JldHVybiBhfSx7fSk7dmFyIFA0PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm5ldHdvcms9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLks9Yzt0aGlzLnY9MDt0aGlzLmo9bnVsbDt0aGlzLm89bmV3IFp2YTtiLnpzP2IzKHRoaXMsSXRhKHRoaXMpKTpiLnByZWxvYWQmJmIzKHRoaXMsbmV3IFByb21pc2UoZD0+e18uWWooKCk9PntkKGUzKHRoaXMpKX0sMCl9KSl9YXN5bmMgRCgpe3JldHVybiEhYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmosbnVsbF0pfWFzeW5jIEIoYSxiLGMpe3RoaXMuaj09PW51bGwmJmIzKHRoaXMsZTModGhpcykpO3ZhciBkPSExLGU9e307cmV0dXJuIFByb21pc2UucmFjZShbKGFzeW5jKCk9Pnt0aGlzLm9wdGlvbnMuUUkmJnRoaXMub3B0aW9ucy56cyYmYXdhaXQgKGF3YWl0IEV0YSgpKT8uY2hlY2tGb3JSZWZyZXNoKCk7dmFyIGY9YXdhaXQgdGhpcy5qO2UuY2hhbGxlbmdlPWYuY2hhbGxlbmdlO2lmKGYudm0pe3ZhciBoPXtjOmYuY2hhbGxlbmdlLGU6YSwuLi5ifTt0cnl7ZD0KITA7bGV0IGs7KGs9YXdhaXQgZi52bS5zbmFwc2hvdCh7S2M6aH0pKT9lLndlYlJlc3BvbnNlPWs6ZS5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe2UuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gZi5CZiYmKGUuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO2E9PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmKGY9Zi5CZixoPXt9LGYuYzZhJiYoaC5yZXBvcnRpbmdTdGF0dXM9U3RyaW5nKE51bWJlcihmLmMpXmEzKCkpKSxmLmM2YiYmKGguYnJvYWRTcGVjdHJ1bURldGVjdGlvblJlc3VsdD1TdHJpbmcoTnVtYmVyKGYuYyleTnVtYmVyKF8udygiQ0FUU1RBVCIsMCkpKSksZS5hZGJsb2NrUmVwb3J0aW5nPWgpO3JldHVybiBlfSkoKSxNdGEoYywoKT0+e3ZhciBmPU9iamVjdC5hc3NpZ24oe30sZSk7ZCYmKGYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTsKcmV0dXJuIGZ9KV0pfWFzeW5jIFJmKGEpe3ZhciBiPXRoaXMuSztpZighYnx8Yi5TYigpKXJldHVybiBmMyh0aGlzLGEpO3gwKCJhdHRfcG5hIik7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLmJmKGIsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57ZjModGhpcyxhKS50aGVuKGMpfSl9KX19O3ZhciBnMz17V0VCX1VOUExVR0dFRDoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT05CT0FSRElORzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT1BTOiJedW5wbHVnZ2VkLyIsV0VCX1VOUExVR0dFRF9QVUJMSUM6Il51bnBsdWdnZWQvIixXRUJfQ1JFQVRPUjoiXmNyZWF0b3IvIixXRUJfS0lEUzoiXmtpZHMvIixXRUJfRVhQRVJJTUVOVFM6Il5leHBlcmltZW50cy8iLFdFQl9NVVNJQzoiXm11c2ljLyIsV0VCX1JFTUlYOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebWFpbl9hcHAvfF5zZnYvIn07dmFyIFl1YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1hc3luYyBSZihhKXt4MCgiYXR0X2ZzciIpO2E9YXdhaXQgWXRhKHRoaXMuaixhKTt4MCgiYXR0X2ZyciIpO3JldHVybiBhfX07dmFyIGkzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj0icGVuZGluZyI7dGhpcy5vPVtdO3RoaXMudj1bXTt0cnl7YSh0aGlzLkIuYmluZCh0aGlzKSx0aGlzLnJlamVjdC5iaW5kKHRoaXMpKX1jYXRjaChiKXt0aGlzLnJlamVjdChiKX19c3RhdGUoKXtyZXR1cm4gdGhpcy5pc0Z1bGZpbGxlZCgpP3tzdGF0ZToiZnVsZmlsbGVkIix2YWx1ZTp0aGlzLnJlc3VsdH06dGhpcy5pc1JlamVjdGVkKCk/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fWlzRnVsZmlsbGVkKCl7cmV0dXJuIHRoaXMuaj09PSJmdWxmaWxsZWQifWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT09InJlamVjdGVkIn1pc1BlbmRpbmcoKXtyZXR1cm4gdGhpcy5qPT09InBlbmRpbmcifUIoYSl7KDAsXy5ibykoYSl8fGozKGEpP2wzKGszKGEpLHRoaXMuQi5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLmo9ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9CmEsbjModGhpcykpfXJlamVjdChhKXt0aGlzLmo9InJlamVjdGVkIjt0aGlzLmVycm9yPWE7bjModGhpcyl9fSxqMz1fLkNjKGE9PigwLF8ucXIpKGEpP2EgaW5zdGFuY2VvZiBpMzohMSk7dmFyIHQ1PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXJ1bihhLGIpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7dmFyIGM9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBkPWEsZT1iLGY9W107Oyl7Zi5wdXNoKFN0cmluZyhkKSk7ZT15aWVsZCpwMyhjLmpbZF0uZXhlY3V0ZShlKSk7aWYoZS5uZXh0U3RhdGU9PT0iRE9ORSIpcmV0dXJuIGYucHVzaCgiRE9ORSIpLGUudmFsdWU7aWYoZS5uZXh0U3RhdGU9PT0iRkFJTEVEIil0aHJvdyBmLnB1c2goYEZBSUxFRCgke2UuZXJyb3IubWVzc2FnZXx8ImVycm9yIn0pYCksZS5lcnJvcjtkPWUubmV4dFN0YXRlO2U9ZS5wYXJhbXN9fSgpfSl9fTt2YXIgdTU9Y2xhc3N7fTt2YXIgdTM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e307aWYodGhpcy5vPV8ucXooKSl7bGV0IGE9Xy5Mai5nZXQoIkNPTlNJU1RFTkNZIix2b2lkIDApO2EmJnIzKHRoaXMse2VuY3J5cHRlZFRva2VuSmFyQ29udGVudHM6YX0pfX1oYW5kbGVSZXNwb25zZShhLGIpe2lmKCFiKXRocm93IEVycm9yKCJLZSIpO2I9Yi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ/LnJlcXVlc3Q/LmNvbnNpc3RlbmN5VG9rZW5KYXJzfHxbXTsoYT1hLnJlc3BvbnNlQ29udGV4dD8uY29uc2lzdGVuY3lUb2tlbkphcikmJnRoaXMucmVwbGFjZShiLGEpfXJlcGxhY2UoYSxiKXtmb3IobGV0IGMgb2YgYSlkZWxldGUgdGhpcy5qW2MuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50c107cjModGhpcyxiKX19O3ZhciBrd2E9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLmpvaW4oIi4iKSx2Mz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMudj0tMTt2YXIgYT1fLncoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1IiYmKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmKGE9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIpKTthJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49YSx0aGlzLm89dGhpcy5qPXZvaWQgMCl9c3RhdGljIGpjKCl7djU9Xy5zYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIik7djV8fCh2NT1uZXcgdjMsXy5yYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIix2NSkpO3JldHVybiB2NX1zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChhKXthLmNsaWVudHx8KGEuY2xpZW50PQp7fSk7aWYodGhpcy5qKWEuY2xpZW50LmxvY2F0aW9uSW5mb3x8KGEuY2xpZW50LmxvY2F0aW9uSW5mbz17fSksYS5jbGllbnQubG9jYXRpb25JbmZvLmxhdGl0dWRlRTc9TWF0aC5mbG9vcih0aGlzLmouY29vcmRzLmxhdGl0dWRlKjFFNyksYS5jbGllbnQubG9jYXRpb25JbmZvLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5qLmNvb3Jkcy5sb25naXR1ZGUqMUU3KSxhLmNsaWVudC5sb2NhdGlvbkluZm8uaG9yaXpvbnRhbEFjY3VyYWN5TWV0ZXJzPU1hdGgucm91bmQodGhpcy5qLmNvb3Jkcy5hY2N1cmFjeSksYS5jbGllbnQubG9jYXRpb25JbmZvLmZvcmNlTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuUmVmcmVzaD0hMDtlbHNlIGlmKHRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4pYS5jbGllbnQubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPXRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW59Z2V0WEdlb0hlYWRlcigpe2lmKHRoaXMubyl7dmFyIGE9CnRoaXMubzt2YXIgYj1NYXRoLmZsb29yKGEuY29vcmRzLmxvbmdpdHVkZSoxRTcpO3ZhciBjPU1hdGguZmxvb3IoYS5jb29yZHMubGF0aXR1ZGUqMUU3KTt2YXIgZD1uZXcgJHZhO2M9Xy5xdyhkLDEsXy5QdyhjKSk7Yj1fLnF3KGMsMixfLlB3KGIpKTtjPW5ldyBid2E7Yz1DWihjLDEsMSk7Yz1DWihjLDIsMTIpO2M9Q1ooYyw5LDgpO2M9Xy5xdyhjLDMseV8oYS50aW1lc3RhbXAqMUUzKSk7YT1fLnF3KGMsNyxwXyhhLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTthPUNaKGEsMjUsMik7YT1fLkt3KGEsNSxiKTthPWB3ICR7Xy5zYyhjd2EoYSksNCl9YH1lbHNlIGE9bnVsbDtyZXR1cm4gYX1oYW5kbGVSZXNwb25zZShhKXthPWEucmVzcG9uc2VDb250ZXh0Py5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW47YSE9PXZvaWQgMCYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPWEsdGhpcy5vPXRoaXMuaj12b2lkIDAsXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8KKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsYSwxNTU1MkUzKTpfLk1qKCJZVF9DTCIsSlNPTi5zdHJpbmdpZnkoe2xvY3RvazphfSksMTU1NTJFMyxrd2EsITApKX1jbGVhckxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbihhKXthPT09IlRWSFRNTDUiPyh0aGlzLmxvY2FsU3RvcmFnZT1zMyh0aGlzKSkmJnRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZSgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKTpfLk5qKCJZVF9DTCIpO3RoaXMuQj12b2lkIDA7dGhpcy52IT09LTEmJihjbGVhclRpbWVvdXQodGhpcy52KSx0aGlzLnY9LTEpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7dGhpcy5vPXRoaXMuaj12b2lkIDB9Z2V0Q3VycmVudFBvc2l0aW9uRnJvbUdlb2xvY2F0aW9uKGEpe2lmKCEobmF2aWdhdG9yJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24mJm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24pKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiTGUiKSk7CnZhciBiPSExLGM9MUU0O18udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihiPSEwLGM9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChkLGUpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmPT57dGhpcy5vPWE/LmFkZFRvSGVhZGVycz9mOnZvaWQgMDt0aGlzLmo9ZjtkKGYpfSxmPT57ZShmKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpiLG1heGltdW1BZ2U6MCx0aW1lb3V0OmN9KX0pfWNyZWF0ZVVucGx1Z2dlZExvY2F0aW9uSW5mbyhhKXt2YXIgYj17fTthPWEuY29vcmRzO2E/LmxhdGl0dWRlJiYoYi5sYXRpdHVkZUU3PU1hdGguZmxvb3IoYS5sYXRpdHVkZSoxRTcpKTthPy5sb25naXR1ZGUmJihiLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IoYS5sb25naXR1ZGUqMUU3KSk7YT8uYWNjdXJhY3kmJihiLmxvY2F0aW9uUmFkaXVzTWV0ZXJzPU1hdGgucm91bmQoYS5hY2N1cmFjeSkpO3JldHVybiBifWNyZWF0ZUxvY2F0aW9uSW5mbyhhKXt2YXIgYj0Ke307YT1hLmNvb3JkczthPy5sYXRpdHVkZSYmKGIubGF0aXR1ZGVFNz1NYXRoLmZsb29yKGEubGF0aXR1ZGUqMUU3KSk7YT8ubG9uZ2l0dWRlJiYoYi5sb25naXR1ZGVFNz1NYXRoLmZsb29yKGEubG9uZ2l0dWRlKjFFNykpO3JldHVybiBifX0sdjU7dmFyIEYzPSJ0b2tlbnMgY29uc2lzdGVuY3kgc2VydmljZV9wYXJhbXMgbXNzIGNsaWVudF9sb2NhdGlvbiBlbnRpdGllcyBhZGJsb2NrX2RldGVjdGlvbiByZXNwb25zZV9yZWNlaXZlZF9jb21tYW5kcyBzdG9yZSBtYW5pZmVzdCBwbGF5ZXJfcHJlbG9hZCBzaG9ydHNfcHJlZmV0Y2ggcmVzb2x2ZV91cmxfcHJlZmV0Y2giLnNwbGl0KCIgIik7dmFyIGx3YT1jbGFzc3tEKGEsYj17fSxjPUEzKXt2YXIgZD17Y29udGV4dDp3MyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMsITEsdGhpcy5CKX07dmFyIGU9dGhpcy5vKGEpO2lmKGUpe3RoaXMuaihkLGUsYik7ZT1gL3lvdXR1YmVpL3YxLyR7aDModGhpcy52KCkpfWA7dmFyIGY9Xy5CKGEuY29tbWFuZE1ldGFkYXRhLF8uencpPy5hcGlVcmw7ZiYmKGU9Zik7ZT1YMChZMChlKSk7Zj17Y29tbWFuZDphLC4uLih2b2lkIDApfTtkPXtpbnB1dDplLHdiOlowKGUpLGlubmVyVHViZVJlcXVlc3Q6ZCxjb25maWc6Zn07ZC5jb25maWcuUmQ/ZC5jb25maWcuUmQuaWRlbnRpdHk9YzpkLmNvbmZpZy5SZD17aWRlbnRpdHk6Y307KGE9dGhpcy5LKGEpKSYmIWQuY29uZmlnLnJlcXVlc3RLZXkmJihkLmNvbmZpZy5yZXF1ZXN0S2V5PWEpO2IuYWJvcnRTaWduYWwmJihkLndiLnNpZ25hbD1iLmFib3J0U2lnbmFsKTtyZXR1cm4gZH1iPW5ldyBfLlhqKCJFcnJvcjogRmFpbGVkIHRvIGNyZWF0ZSBSZXF1ZXN0IGZyb20gQ29tbWFuZC4iLAphKTtfLkdwKGIpfWdldCBCKCl7cmV0dXJuITF9Sygpe319LHc1PWNsYXNzIGV4dGVuZHMgbHdhe0soYSl7cmV0dXJuIF8uQihhLmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucmVxdWVzdEtleT8/dm9pZCAwfX07dmFyIG13YT17R0VUX0RBVEFTWU5DX0lEUzp5MyhjbGFzcyBleHRlbmRzIHc1e0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50Iix3YjpaMCgiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX12KCl7cmV0dXJuW119bygpe31qKCl7fX0pfTt2YXIgVTM9bmV3IF8uVnMoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLEIzPW5ldyBfLlZzKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLEozPW5ldyBfLlZzKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBhdWE9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLHozPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMudj1hO3RoaXMuU2E9Yjt0aGlzLm89Yzt0aGlzLkI9ZDt0aGlzLmo9bmV3IE1hcDthLkhkfHwoYS5IZD17fSk7YS5IZD17Li4ubXdhLC4uLmEuSGR9fVFpKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGMpcmV0dXJuIG0zKGV1YShjLHtjb21tYW5kOmEsZm9ybTpiLGlkZW50aXR5OkEzfSkpLnRoZW4oZT0+ZSwoKT0+e30pO3ZhciBkPVp0YSh0aGlzLAphKTtyZXR1cm4gZD9uZXcgXy5CZihhc3luYyhlLGYpPT57dmFyIGg9KGF3YWl0IGQpLkQoYSxiLEEzKTtoPyhQMihoLmlucHV0KSxmPWgud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMCxmPXRoaXMuby56bj9DMyhoLmNvbmZpZyxmKTphd2FpdCBEMyhoLmNvbmZpZyxmKSxlKEUzKHRoaXMsaCxmKSkpOmYobmV3IF8uWGooIkVycm9yOiBGYWlsZWQgdG8gYnVpbGQgcmVxdWVzdCBmb3IgY29tbWFuZCIsYSkpfSk6Xy5PdChuZXcgXy5YaigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZCIsYSkpfUp3KGEpe3JldHVybiBVdGEoYSx0aGlzLnYpfX07dmFyIHg1PW5ldyBfLlZzKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIHU0PW5ldyBfLlZzKCJFTkRQT0lOVF9NQVAiKTt2YXIgdDQ9bmV3IF8uVnMoIkFVVEhfU0VSVklDRV9UT0tFTiIpO3ZhciBLMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWEueXRSZXF1ZXN0O1AyKGMuaW5wdXQpO3ZhciBkPWMud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMDtpZihiLmouem4pe2xldCBlPV8uUGooe3Nlc3Npb25JbmRleDpjLmNvbmZpZz8uUmQ/LnNlc3Npb25JbmRleH0pO2Q9ey4uLngzKGQpLC4uLmV9fWVsc2UgZD15aWVsZCpwMyhjdWEoYixjLmNvbmZpZyxkKSk7Yy53Yj17Li4uYy53YixoZWFkZXJzOnsuLi4oYy53Yj8uaGVhZGVycz8/e30pLC4uLmR9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczphfX0oKX0pfX07SzNbXy5Mbl09W3Q0XTt2YXIgJDM9bmV3IF8uVnMoIlJFU1BPTlNFX01BQ0hJTkVfUkVHSVNUUllfVE9LRU4iKSxhND1uZXcgXy5WcygiUkVTUE9OU0VfTUFDSElORV9GQUNUT1JZX1RPS0VOIik7dmFyIEwzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuaj1hO3RoaXMubz1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWEueXRSZXF1ZXN0LGU9ZC5jb25maWc/LktBPy5aSztpZihlJiZiJiZiLmhhcyhlKSYmIWQuY29uZmlnPy5LQT8uZGlzYWJsZUNhY2hlKXt2YXIgZj15aWVsZCpwMyhrMyhiLmdldChlKSkpO2lmKGYmJiFmLmlzRXhwaXJlZCgpKXJldHVybiBkPWYuaigpLF8ueCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFmLmlzUHJvY2Vzc2VkKCk/KGY9YygpLGQ9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOmQseXRSZXF1ZXN0OmEueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6YS5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmR9KSksCnlpZWxkKnAzKGszKGIuaihlKSkpLHtuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmR9KTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpkfX1yZXR1cm57bmV4dFN0YXRlOiJMT0NBTF9ST1VURVIiLHBhcmFtczphfX0oKX0pfX07TDNbXy5Mbl09W2E0LF8uSW4obmV3IF8uVnMoIkVQSEVNRVJBTF9TVE9SRV9UT0tFTiIpKV07dmFyIE0zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qLGQ9YS55dFJlcXVlc3QsZT1kPy5pbm5lclR1YmVSZXF1ZXN0Py5jb250ZXh0O2lmKCFlKXJldHVybiBrMyh7bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6YX0pO3ZhciBmPVtdO2lmKGMmJmMubGVuZ3RoPjApZm9yKGxldCBoIG9mIGMpYz1oLkJyKGQpLGMudiYmZi5wdXNoKGMudik7Zm9yKGxldCBoIG9mIGJ8fFtdKWguQnIoZSk7cmV0dXJuIGYubGVuZ3RoPjA/bzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt5aWVsZCpwMyhrMyhQcm9taXNlLmFsbChmKSkpO3JldHVybntuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfX0oKX0pOmszKHtuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfSl9fTtNM1tfLkxuXT1bXy5JbihuZXcgXy5WcygiQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpLF8uSW4obmV3IF8uVnMoIkFTWU5DX0NPTlRFWFRfUFJPQ0VTU09SX01BUCIpKV07dmFyIE4zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLnl0UmVxdWVzdC5jb25maWc/LnJlcXVlc3RLZXk7cmV0dXJuIGMmJmIuaGFzKGMpJiYoYz1iLmdldChjKSxjPXlpZWxkKnAzKGszKGMpKSk/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Y306e25leHRTdGF0ZToiRkVUQ0giLHBhcmFtczphfX0oKX0pfX07TjNbXy5Mbl09W0ozXTt2YXIgTzM9Y2xhc3MgZXh0ZW5kcyB1NXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5vPWE7dGhpcy5qPWJ9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLmosYz10aGlzLm87cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9YS55dFJlcXVlc3QsZT1hLmNodW5rQ2FsbGJhY2ssZj17dHlwZToiUEFHRV9DT05UUkFDVCJ9O2lmKGI/LmNJKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KSl7bGV0IGs9eWllbGQqcDMoazMoYi5PSihkLmlucHV0LGQuaW5uZXJUdWJlUmVxdWVzdCkpKTtpZihrKXtsZXQgbD0hMTt2YXIgaD1mdW5jdGlvbihtLG4pe3JldHVybiBmdW5jdGlvbiooKXt2YXIgcD1jKCk7eWllbGQqcDMoSDMocCx7d2lyZVJlc3BvbnNlOm4seXRSZXF1ZXN0OmQsY2h1bmtDYWxsYmFjazplLHJlc3BvbnNlUGF5bG9hZDpmfSkpO2w9ITB9KCl9O2sucGxheWVyUmVzcG9uc2UmJih5aWVsZCpoKGsucGxheWVyUmVzcG9uc2Use3BsYXllclJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2V9KSk7Cmsud2F0Y2hOZXh0UmVzcG9uc2UmJih5aWVsZCpoKGsud2F0Y2hOZXh0UmVzcG9uc2Use3dhdGNoTmV4dFJlc3BvbnNlOmsud2F0Y2hOZXh0UmVzcG9uc2V9KSk7bHx8KGg9YygpLHlpZWxkKnAzKEgzKGgse3dpcmVSZXNwb25zZTprLHl0UmVxdWVzdDpkLGNodW5rQ2FsbGJhY2s6ZSxyZXNwb25zZVBheWxvYWQ6Zn0pKSk7aWYoZSlyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTpmfTtoPWYuY29udGVudHx8Zi5wbGF5ZXJ8fGYuZG47cmV0dXJuIGYudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmaD97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpofTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTprfX19cmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiTmUiKX19KCl9KX19O08zW18uTG5dPVthNCxfLkluKHg1KV07dmFyIHk1PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYix7c3RhdHVzOmMsLi4uW119KTt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1jO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciByND1uZXcgXy5WcygiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFAzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLlNhPWE7dGhpcy5qPWI7dGhpcy52PWM7dGhpcy5vPWR9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLlNhLGM9dGhpcy5qLGQ9dGhpcy52LGU9dGhpcy5vO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBmPWEueXRSZXF1ZXN0LGg9YS5jaHVua0NhbGxiYWNrLGs9Zi5jb25maWc/LnJlcXVlc3RLZXksbD1KU09OLnN0cmluZ2lmeShmLmlubmVyVHViZVJlcXVlc3QpLG09ey4uLmYud2IsYm9keTpmLndiLm1ldGhvZD09PSJQT1NUIj9sOnZvaWQgMH07Zi5jb25maWc/LmtuJiZfLkFxKGYuY29uZmlnLmtuKTt2YXIgbj17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHA9MCxyPXo9PntJMyhkKCkse3dpcmVSZXNwb25zZTp6LHl0UmVxdWVzdDpmLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6bn0scCsrKX07bD0oKT0+aD9iLmZldGNoKGYuaW5wdXQsCm0sZi5jb25maWcscik6Yi5mZXRjaChmLmlucHV0LG0sZi5jb25maWcpO3RyeXt2YXIgdD1lP2UuSksoZixsKTpsKCl9Y2F0Y2goeil7dD1Qcm9taXNlLnJlamVjdCh6KX1rJiZjJiZjLnNldChrLHQpO3RyeXt2YXIgdj15aWVsZCpwMyhrMyh0KSl9Y2F0Y2goeil7cmV0dXJuIF8ueCgid2ViX2VuYWJsZV9yZXRyaWVzIikmJih2PXogaW5zdGFuY2VvZiBUeXBlRXJyb3ImJnoubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giPzE6MCxHMyh2KSk/e25leHRTdGF0ZToiUkVUUlkiLHBhcmFtczp7Li4uYSxlcnJvcjpuZXcgeTUodix6Lm1lc3NhZ2UpLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fX1rJiZjJiZjLmRlbGV0ZShrKTt3MCh2MChmLmlucHV0KSkoKTtmLmNvbmZpZz8ucG4mJl8uQXEoZi5jb25maWcucG4pO2lmKCF2KXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fTtpZih2JiZ0eXBlb2Ygdj09PQoib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodikmJihrPXYsay5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJihrPWsuZXJyb3JNZXRhZGF0YS5zdGF0dXMsdD1rPT09NTAzfHxrPT09NTA0fHxrPT09NDI5PzI6az49NDAwJiZrPDUwMHx8az49NTAwPzM6MCxHMyh0KSYmXy54KCJ3ZWJfZW5hYmxlX3JldHJpZXMiKSkpKXJldHVybntuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLmEsZXJyb3I6bmV3IHk1KHQsYEhUVFAgU3RhdHVzICR7a31gLGspLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OyFoJiZ2JiYoaz1kKCksaz15aWVsZCpwMyhJMyhrLHt3aXJlUmVzcG9uc2U6dix5dFJlcXVlc3Q6ZixyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifX0pKSx0PWsuY29udGVudHx8ay5wbGF5ZXJ8fGsuZG4say50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZ0JiYodj10KSk7az12O2lmKEFycmF5LmlzQXJyYXkodikpaWYodj12LmZpbHRlcih6PT4hKHoucGxheWVyUmVzcG9uc2V8fAp6LndhdGNoTmV4dFJlc3BvbnNlfHx6KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLHYubGVuZ3RoPT09MSlrPXZbMF07ZWxzZSBpZih2Lmxlbmd0aD4xKWs9di5maW5kKHo9Pnoud2F0Y2hOZXh0UmVzcG9uc2UpfHx2WzBdO2Vsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiT2UiKX07cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aCYmIV8ueCgid2ViX25tX2ZldGNoX2NodW5rX2NhbGxiYWNrX2tzIik/bjprfX0oKX0pfX07UDNbXy5Mbl09W3I0LEozLGE0LF8uSW4obmV3IF8uVnMoIlJFUVVFU1RfU0VRVUVOQ0lORyIpKV07dmFyIFEzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5qLGM9dGhpcy5vLGQ9YS55dFJlcXVlc3Q7cmV0dXJuIGI/LlBLKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KT9vMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBlPXlpZWxkKnAzKGszKGIuUEooZC5pbnB1dCxkLmlubmVyVHViZVJlcXVlc3QpKSksZj1jKCk7aWYoZS5wbGF5ZXJSZXNwb25zZSYmZS53YXRjaE5leHRSZXNwb25zZSl7dmFyIGg9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTplLnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZS5wbGF5ZXJSZXNwb25zZX0pKTtoPXlpZWxkKnAzKEgzKGYsCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOmUud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDphLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTplLndhdGNoTmV4dFJlc3BvbnNlfSkpfWVsc2UgaD15aWVsZCpwMyhIMyhmLHt3aXJlUmVzcG9uc2U6ZSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZX0pKTtmPWguY29udGVudHx8aC5wbGF5ZXJ8fGguZG47aC50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZmJiYoZT1mKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTplfX0oKX0pOmszKHtuZXh0U3RhdGU6IkNPTlRFWFQiLHBhcmFtczphfSl9fTtRM1tfLkxuXT1bYTQsXy5Jbih4NSldO3ZhciBSMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3RyeXt2YXIgYz15aWVsZCpwMyhkdWEoYixhLmNvbW1hbmQsISFhLmNodW5rQ2FsbGJhY2spKX1jYXRjaChkKXtyZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOmR9fXJldHVybihjPWMuRChhLmNvbW1hbmQsYS5mb3JtLGEuaWRlbnRpdHkpKT97bmV4dFN0YXRlOiJDQUNIRSIscGFyYW1zOnt5dFJlcXVlc3Q6YyxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFja319OntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIlBlIil9fSgpfSl9fTtSM1tfLkxuXT1bdTRdO3ZhciBTMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6ZCxjb25maWc6ZT17UmQ6e2lkZW50aXR5OkEzfX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTpmPSEwLGNodW5rQ2FsbGJhY2s6aH09YTtiLmNvbnRleHR8fChiLmNvbnRleHQ9dzMoZCxmKSk7dmFyIGs9WDAoWTAoYykpO3JldHVybntuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDp7aW5wdXQ6ayx3YjpaMChrKSxpbm5lclR1YmVSZXF1ZXN0OmIsY29uZmlnOmV9LGNodW5rQ2FsbGJhY2s6aH19fSgpfSl9fTt2YXIgVjM9Y2xhc3MgZXh0ZW5kcyB0NXt9O1YzW18uTG5dPVtVM107dmFyIFQzPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLnl0UmVxdWVzdCxjPWEuZXJyb3IsZD1hLmF0dGVtcHQsZT1hLmNodW5rQ2FsbGJhY2ssZj1iLmNvbmZpZz8uREs7aWYoIShmJiZjIGluc3RhbmNlb2YgeTUmJkczKGMudHlwZSkpfHxkPihmLm1heFJldHJpZXM/PzApKXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZX19O3ZhciBoPShjPWYuWEgpP2MuY0ooZCk6LTE7aD09PS0xJiYoaD0xRTMpO2YuQ3khPT12b2lkIDAmJihoPU1hdGgubWluKGgsZi5DeSkpO3lpZWxkKnAzKGszKG5ldyBQcm9taXNlKGs9PntfLk50KGssaCl9KSkpO3JldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZSxhdHRlbXB0OmR9fX0oKX0pfX07dmFyIFczPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLmNodW5rQ2FsbGJhY2ssYz1hLnJlc3BvbnNlUGF5bG9hZCxkPWEud2lyZVJlc3BvbnNlO2ImJihiKGMpLCJwbGF5ZXJSZXNwb25zZSJpbiBkJiZkLnBsYXllclJlc3BvbnNlJiYoXy5DaygpLChiPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpKSYmYig0KSkpO3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmN9fSgpfSl9fTt2YXIgbndhPVsidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5Ccm93c2VSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGxheWVyUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBhbmVsUmVzcG9uc2UiXSxYMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGI9YS5vbmVQbGF0Zm9ybUVycm9yO2lmKGImJiJkZXRhaWxzImluIGImJmIuZGV0YWlscyl7Yj1iLmRldGFpbHM7Zm9yKGxldCBjIG9mIGIpaWYoKGI9Y1siQHR5cGUiXSkmJm53YS5pbmRleE9mKGIpPi0xKXJldHVybiBkZWxldGUgY1siQHR5cGUiXSx7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIiwKcGFyYW1zOnsuLi5hLGV4dHJhY3RlZFJlc3BvbnNlOmN9fX1yZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOkVycm9yKCJTZSIpfX0oKX0pfX07dmFyIFkzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLmV4dHJhY3RlZFJlc3BvbnNlLGQ9YS55dFJlcXVlc3QsZT1hLnJlc3BvbnNlUGF5bG9hZCxmPWEud2lyZVJlc3BvbnNlO2lmKGMmJiEoImNvZGUiaW4gY3x8ImVycm9yImluIGMpJiYhYy5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2YgRjMpYltoXSYmYltoXS5oYW5kbGVSZXNwb25zZShjLGQpO2Yud2F0Y2hOZXh0UmVzcG9uc2V8fGYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2Yud2F0Y2hOZXh0UmVzcG9uc2U/ZS5jb250ZW50PWYud2F0Y2hOZXh0UmVzcG9uc2U6ZS5jb250ZW50PWYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmYucGxheWVyUmVzcG9uc2U/ZS5wbGF5ZXI9Zi5wbGF5ZXJSZXNwb25zZTpmLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CmUuZG49Zi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmUuY29udGVudD1mO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczphfX0oKX0pfX07WTNbXy5Mbl09W18uSnldO3ZhciBiND1jbGFzcyBleHRlbmRzIHQ1e307YjRbXy5Mbl09WyQzXTt2YXIgWjM9Y2xhc3MgZXh0ZW5kcyB1NXtleGVjdXRlKGEpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPWEud2lyZVJlc3BvbnNlLGM7QXJyYXkuaXNBcnJheShiKT9jPWJbMF06dHlwZW9mIGI9PT0ib2JqZWN0IiYmYiE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gYnx8IndhdGNoTmV4dFJlc3BvbnNlImluIGJ8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gYnx8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gYik/Yz1iLnBsYXllclJlc3BvbnNlfHxiLndhdGNoTmV4dFJlc3BvbnNlfHxiLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Yi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmM9YjtyZXR1cm4gYyYmImVycm9yImluIGM/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4uYSxvbmVQbGF0Zm9ybUVycm9yOmMuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLmEsZXh0cmFjdGVkUmVzcG9uc2U6Y319fSgpfSl9fTt2YXIgb3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBpd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxkd2EpfHx2b2lkIDB9aihhLGIsYz17fSl7Yi5jaGFubmVsSWRzJiYoYS5jaGFubmVsSWRzPWIuY2hhbm5lbElkcyk7Yi5zaWxvTmFtZSYmKGEuc2lsb05hbWU9Yi5zaWxvTmFtZSk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yy5ib3RndWFyZFJlc3BvbnNlJiYoYS5ib3RndWFyZFJlc3BvbnNlPWMuYm90Z3VhcmRSZXNwb25zZSk7Yy5mZWF0dXJlJiYoYS5jbGllbnRGZWF0dXJlPWMuZmVhdHVyZSl9fTt2YXIgcHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBqd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLkR5KXx8dm9pZCAwfWooYSxiKXtiLmNoYW5uZWxJZHMmJihhLmNoYW5uZWxJZHM9Yi5jaGFubmVsSWRzKTtiLnNpbG9OYW1lJiYoYS5zaWxvTmFtZT1iLnNpbG9OYW1lKTtiLnBhcmFtcyYmKGEucGFyYW1zPWIucGFyYW1zKX19O3ZhciB6NT1jbGFzcyBleHRlbmRzIHc1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5JPWF9digpe3JldHVybiBld2F9byhhKXtyZXR1cm4gXy5CKGEsXy5aeil8fF8uQihhLF8uTWFhKXx8Xy5CKGEsXy5Zeil9aihhLGIpe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtiLmNsaWVudFBhcmFtSWRlbnRpZmllciYmdGhpcy5JPy5qKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKGEuY2xpZW50UGFyYW1zPXRoaXMuSS5vKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSl9fTt6NVtfLkxuXT1bbmV3IF8uVnMoIlNIQVJFX0NMSUVOVF9QQVJBTVNfUFJPVklERVJfVE9LRU4iKV07dmFyIHF3YT1jbGFzcyBleHRlbmRzIHc1e3YoKXtyZXR1cm4gcTV9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLlV6KXx8dm9pZCAwfWooYSxiLGMpe2EuZmVlZGJhY2tUb2tlbnM9W107Yi5mZWVkYmFja1Rva2VuJiZhLmZlZWRiYWNrVG9rZW5zLnB1c2goYi5mZWVkYmFja1Rva2VuKTtpZihiPWIuY3BufHxjLmNwbilhLmZlZWRiYWNrQ29udGV4dD17Y3BuOmJ9O2EuaXNGZWVkYmFja1Rva2VuVW5lbmNyeXB0ZWQ9ISFjLmlzX2ZlZWRiYWNrX3Rva2VuX3VuZW5jcnlwdGVkO2Euc2hvdWxkTWVyZ2U9ITE7Yy5leHRyYV9mZWVkYmFja190b2tlbnMmJihhLnNob3VsZE1lcmdlPSEwLGEuZmVlZGJhY2tUb2tlbnM9YS5mZWVkYmFja1Rva2Vucy5jb25jYXQoYy5leHRyYV9mZWVkYmFja190b2tlbnMpKX19O3ZhciByd2E9Y2xhc3MgZXh0ZW5kcyB3NXt2KCl7cmV0dXJuIHE1fW8oYSl7cmV0dXJuIF8uQihhLF8uQ3kpfWdldCBCKCl7cmV0dXJuITB9aihhLGIpe2IudW5kb1Rva2VuJiYoYS5mZWVkYmFja1Rva2Vucz1bYi51bmRvVG9rZW5dKTtiLmlzVW5kb1Rva2VuVW5lbmNyeXB0ZWQmJihhLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPWIuaXNVbmRvVG9rZW5VbmVuY3J5cHRlZCl9fTt2YXIgc3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBnd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5CeSl8fHZvaWQgMH1qKGEsYil7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5zZWNvbmRhcnlQYXJhbXMmJihhLnNlY29uZGFyeVBhcmFtcz1iLnNlY29uZGFyeVBhcmFtcyl9fTt2YXIgdHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBod2F9byhhKXtyZXR1cm4gXy5CKGEsXy5Beil8fHZvaWQgMH1qKGEsYil7Yi5hY3Rpb25zJiYoYS5hY3Rpb25zPWIuYWN0aW9ucyk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5wbGF5bGlzdElkJiYoYS5wbGF5bGlzdElkPWIucGxheWxpc3RJZCl9fTt2YXIgdXdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBmd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5OYWEpfWooYSxiLGM9e30pe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtjLmluY2x1ZGVMaXN0SWQmJihhLmluY2x1ZGVMaXN0SWQ9ITApfX07dmFyIHZ3YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5yZXF1ZXN0S2V5PWE7dGhpcy5CPWI7dGhpcy5vPWM7dGhpcy5EPSgpPT5uZXcgWE1MSHR0cFJlcXVlc3Q7dGhpcy5qPXZvaWQgMDt0aGlzLnY9W119Z2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKXtyZXR1cm4gdGhpcy5vfX07dmFyIG91YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj0wO3RoaXMuWGc9Yj8uWGc/P3dpbmRvdzt0aGlzLnltPWI/LnltO3RoaXMucmVxdWVzdEtleT1iPy5yZXF1ZXN0S2V5Pz8oXy50aigicGFyX2Jpcl9rZXkiKXx8Ik80M3owZHBqaGdYMjBTQ3g0S0FvIik7dGhpcy5Icz1iPy5Icz8/KGQ9Pm5ldyBxMihkKSk7dmFyIGM9Yj8uVkk/PygoZCxlLGYpPT5uZXcgdndhKGQsZSxmKSk7dGhpcy5iZ0NoYWxsZW5nZT1TMihhLmJnQ2hhbGxlbmdlKTt0aGlzLnR0bFNlY29uZHM9VTIoVDIoYS5jaGFsbGVuZ2V8fCIiKSk7dGhpcy5vZD1jKHRoaXMucmVxdWVzdEtleSxfLngoInBhcl9hdF9lcCIpP1sid3d3LnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSJdLmluY2x1ZGVzKF8udS5sb2NhdGlvbi5ob3N0bmFtZSk/Ii9hcGkvam5uL3YxL0dlbmVyYXRlSVQiOiJodHRwczovL2pubi1wYS5nb29nbGVhcGlzLmNvbS8kcnBjL2dvb2dsZS5pbnRlcm5hbC53YWEudjEuV2FhL0dlbmVyYXRlSVQiOgoiaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20vJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixhKTt0aGlzLkpzPWI/LkpzO251YSh0aGlzLm9kKTt0aGlzLkdyPWI/LkdyPz8oZD0+e18uU2UodGhpcy5YZy5kb2N1bWVudCwidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pnt0aGlzLlhnLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIiYmZCgpfSl9KX12KCl7RGF0ZS5ub3coKT50aGlzLmordGhpcy50dGxTZWNvbmRzKjFFMyYmdGhpcy52bT8uVSgpfX07dmFyIHV1YT1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSx3d2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy52bT1udWxsO3RoaXMuaj12b2lkIDB9aW5pdGlhbGl6ZShhLGIsYyxkKXt0aGlzLmo9ZDtpZihhLnByb2dyYW0pe3ZhciBlO2Q9YS5pbnRlcnByZXRlclVybD8/bnVsbDthLmludGVycHJldGVyU2FmZVNjcmlwdD9lPVlfKGEuaW50ZXJwcmV0ZXJTYWZlU2NyaXB0KTplPWEuaW50ZXJwcmV0ZXJTY3JpcHQ/P251bGw7YS5pbnRlcnByZXRlclNhZmVVcmwmJihkPV8uaHcoYS5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO3R1YSh0aGlzLGUsZCxhLnByb2dyYW0sYixjKX1lbHNlIF8uSXAoRXJyb3IoIlVlIikpfWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy52KCl9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PQoyfWludm9rZShhPXt9KXtyZXR1cm4gdGhpcy52KCk/dGhpcy5CKHtLYzphfSk6bnVsbH1kaXNwb3NlKCl7dGhpcy5vKG51bGwpO3RoaXMuUyg4KX12KCl7cmV0dXJuISF0aGlzLnZtfUIoYSl7cmV0dXJuIHRoaXMudm0uWHIoYSl9byhhKXtfLlpkKHRoaXMudm0pO3RoaXMudm09YX1TKGEpe3RoaXMuc3RhdGU9YX19O3ZhciB4d2E9Y2xhc3MgZXh0ZW5kcyB3d2F7byhhKXttNCgpPy5iZ3ZtYSgpO2lmKGEpe2xldCBiPXtiZ3ZtYTphLmRpc3Bvc2UuYmluZChhKSxiZ3ZtYjphLnNuYXBzaG90LmJpbmQoYSksYmd2bWM6YS5Yci5iaW5kKGEpfTtfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLGIpO18uRmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsYz0+YS5zbmFwc2hvdChjKSl9ZWxzZSBfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLF8ucmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9digpe3JldHVybiEhbTQoKX1CKGEpe3JldHVybiBtNCgpLmJndm1jKGEpfX07dmFyIHl3YT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoKXtzdXBlcigiZG9jdW1lbnRfYWN0aXZlIik7dGhpcy52PTEwO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF9hY3RpdmUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIsYWN0aW9uOnRoaXMuWX0se2Zyb206ImRvY3VtZW50X2FjdGl2ZSIsdG86ImRvY3VtZW50X2Rpc3Bvc2VkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZmx1c2hfbG9ncyIsYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJmbHVzaF9sb2dzIiwKYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOigpPT57fX0se2Zyb206ImZsdXNoX2xvZ3MiLHRvOiJkb2N1bWVudF9hY3RpdmUiLGFjdGlvbjp0aGlzLkR9XTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLGE9Pnt0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIix7ZXZlbnQ6YX0pO2EucGVyc2lzdGVkPT09ITEmJih0aGlzLm89bmV3IE1hcCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIse2V2ZW50OmF9KX0pfVkoYSxiKXtpZighdGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiKSYmKGEoYj8uZXZlbnQpLGI/LmV2ZW50Py5kZWZhdWx0UHJldmVudGVkfHwKYj8uZXZlbnQ/LnJldHVyblZhbHVlKSl7Yi5ldmVudC5yZXR1cm5WYWx1ZXx8KGIuZXZlbnQucmV0dXJuVmFsdWU9ITApO2IuZXZlbnQuZGVmYXVsdFByZXZlbnRlZHx8Yi5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIik7cmV0dXJufXRoaXMuby5zZXQoImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIiwhMCk7dGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWQiKT90aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKTp0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIil9SyhhLGIpe3RoaXMuby5nZXQoImRvY3VtZW50X2Rpc3Bvc2VkIik/dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9hY3RpdmUiKTooYShiPy5ldmVudCksdGhpcy5vLnNldCgiZG9jdW1lbnRfZGlzcG9zZWQiLCEwKSx0aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKSl9SShhLGIpe2EoYj8uZXZlbnQpO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIil9RCgpe3RoaXMubz0KbmV3IE1hcH19O3ZhciB6d2E9Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoImRvY3VtZW50X3Zpc2liaWxpdHlfdW5rbm93biIpO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF92aXNpYmlsaXR5X3Vua25vd24iLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfYmFja2dyb3VuZGVkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X3Zpc2libGUiLHRvOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLAphY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X3Zpc2libGUiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfaGlkZGVuIix0bzoiZG9jdW1lbnRfdmlzaWJsZSIsYWN0aW9uOnRoaXMuRH0se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2JhY2tncm91bmRlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X2JhY2tncm91bmRlZCIsdG86ImRvY3VtZW50X2hpZGRlbiIsCmFjdGlvbjp0aGlzLm99LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfV07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIj90aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X3Zpc2libGUiLHtldmVudDphfSk6dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9oaWRkZW4iLHtldmVudDphfSl9KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHtldmVudDphfSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLAphPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHtldmVudDphfSl9KSl9RChhLGIpe2EoYj8uZXZlbnQpO18ueCgidmlzaWJpbGl0eV9saWZlY3ljbGVzX2R5bmFtaWNfYmFja2dyb3VuZGluZyIpJiZ0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2ZvcmVncm91bmRlZCIpfW8oYSxiKXthKGI/LmV2ZW50KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmdGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiKX1LKGEsYil7YShiPy5ldmVudCl9SShhLGIpe2EoYj8uZXZlbnQpfX07dmFyIEF3YT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj1uZXcgeXdhO3RoaXMuRD1uZXcgendhfWluc3RhbGwoLi4uYSl7YS5mb3JFYWNoKGI9Pnt0aGlzLkIuaW5zdGFsbChiKX0pO2EuZm9yRWFjaChiPT57dGhpcy5ELmluc3RhbGwoYil9KX19O3ZhciBPND1jbGFzcyBleHRlbmRzIEF3YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5qfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmdGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5vfX0pO3RoaXMuaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6dGhpcy52fX0pO18ueCgid2ViX2xvZ19jZmdfY2VlX2tzIil8fF8uWWoodnVhKX12KCl7Xy5FcCgiZmluYWxQYXlsb2FkIix7Y3NuOl8uaXEoKX0pfWooKXtfLm15KF8uRXkpO18uRnkhPW51bGwmJl8uRnkuZmx1c2goKX1vKCl7Xy5reChfLmh4KCkpfX07dmFyIG40PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEsYik7dGhpcy5lcnJvclR5cGU9MTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgczQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YXN5bmMgZmV0Y2goYSxiLGMsZCl7YT13dWEodGhpcyxhLGIpO3RyeXtsZXQgZT1hd2FpdCBmZXRjaChhKTtpZihkJiZlLm9rJiZlLmJvZHkmJnR5cGVvZiBlLmJvZHkuZ2V0UmVhZGVyPT09ImZ1bmN0aW9uIil7bGV0IGY9ZS5jbG9uZSgpLmJvZHkuZ2V0UmVhZGVyKCkse3ZhbHVlOmh9PWF3YWl0IGYucmVhZCgpO2YuY2FuY2VsKCkuY2F0Y2goKCk9Pnt9KTtpZihoJiZoWzBdPT09OTEpe2xldCBrPWUuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBvNCh0aGlzLGssbmV3IHoyLFtdLGQpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZShlLGMpfWNhdGNoKGUpe2lmKF8uSXAoZSksYz8uUHYmJmUgaW5zdGFuY2VvZiBuNCYmZS5lcnJvclR5cGU9PT0xKXRocm93IGU7fX1oYW5kbGVSZXNwb25zZShhLGIpe3ZhciBjPWEudGV4dCgpLnRoZW4oZD0+e2lmKGI/Lmd5JiYKYS5vaylyZXR1cm4gXy5YeChiLmd5LGQpO2Q9ZC5yZXBsYWNlKCIpXX0nIiwiIik7aWYoYj8uUHYmJmQpdHJ5e3ZhciBlPUpTT04ucGFyc2UoZCl9Y2F0Y2goZil7dGhyb3cgbmV3IG40KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiBlPz9KU09OLnBhcnNlKGQpfSk7YS5yZWRpcmVjdGVkfHxhLm9rP3RoaXMuaiYmdGhpcy5qLnN1Y2Nlc3MoKToodGhpcy5qJiZ0aGlzLmouU0koKSxjPWMudGhlbihkPT57Xy5JcChuZXcgXy5YaigiRXJyb3I6IEFQSSBmZXRjaCBmYWlsZWQiLGEuc3RhdHVzLGEudXJsLGQpKTtyZXR1cm57Li4uZCxlcnJvck1ldGFkYXRhOntzdGF0dXM6YS5zdGF0dXN9fX0pKTtyZXR1cm4gY319O3M0W18uTG5dPVtfLkluKG5ldyBfLlZzKCJORVRXT1JLX1NMSV9UT0tFTiIpKV07dmFyIHA0PWNsYXNze3N0YXRpYyBqYygpe3ZhciBhPV8uc2EoInl0Z2xvYmFsLnN0b3JhZ2VfIik7YXx8KGE9bmV3IHA0LF8ucmEoInl0Z2xvYmFsLnN0b3JhZ2VfIixhKSk7cmV0dXJuIGF9YXN5bmMgZXN0aW1hdGUoKXt2YXIgYT1uYXZpZ2F0b3I7aWYoYS5zdG9yYWdlPy5lc3RpbWF0ZSlyZXR1cm4gYS5zdG9yYWdlLmVzdGltYXRlKCk7aWYoYS53ZWJraXRUZW1wb3JhcnlTdG9yYWdlPy5xdWVyeVVzYWdlQW5kUXVvdGEpcmV0dXJuIHh1YSgpfWFzeW5jIHBlcnNpc3QoKXt2YXIgYT1uYXZpZ2F0b3I7cmV0dXJuIGEuc3RvcmFnZT8ucGVyc2lzdD9hd2FpdCBhLnN0b3JhZ2U/LnBlcnNpc3QoKT8iUEVSU0lTVEVEX1NUQVRFX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX1NVUFBPUlRFRCJ9fTtfLnJhKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixwNCk7dmFyIEFyYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaGFuZGxlRXJyb3I9YTt0aGlzLmo9Yjt0aGlzLm89ITE7c2VsZi5kb2N1bWVudD09PXZvaWQgMHx8c2VsZi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgpPT57dGhpcy5vPSEwfSk7dGhpcy52PU1hdGgucmFuZG9tKCk8PS4yfUpiKGEpe3RoaXMuaGFuZGxlRXJyb3IoYSl9bG0oYSxiKXtzd2l0Y2goYSl7Y2FzZSAiSURCX0RBVEFfQ09SUlVQVEVEIjpfLngoImlkYl9kYXRhX2NvcnJ1cHRlZF9raWxsc3dpdGNoIil8fHRoaXMuaigiaWRiRGF0YUNvcnJ1cHRlZCIsYik7YnJlYWs7Y2FzZSAiSURCX1VORVhQRUNURURMWV9DTE9TRUQiOnRoaXMuaigiaWRiVW5leHBlY3RlZGx5Q2xvc2VkIixiKTticmVhaztjYXNlICJJU19TVVBQT1JURURfQ09NUExFVEVEIjpfLngoImlkYl9pc19zdXBwb3J0ZWRfY29tcGxldGVkX2tpbGxzd2l0Y2giKXx8dGhpcy5qKCJpZGJJc1N1cHBvcnRlZENvbXBsZXRlZCIsYik7YnJlYWs7CmNhc2UgIlFVT1RBX0VYQ0VFREVEIjp5dWEodGhpcyxiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9FTkRFRCI6dGhpcy52JiZNYXRoLnJhbmRvbSgpPD0uMSYmdGhpcy5qKCJpZGJUcmFuc2FjdGlvbkVuZGVkIixiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCI6dGhpcy5qKCJpZGJUcmFuc2FjdGlvbkFib3J0ZWQiLHsuLi5iLGhhc1dpbmRvd1VubG9hZGVkOnRoaXMub30pfX19O3ZhciBBNT0hMTt2YXIgQ3VhPXtGaTp7ZmVlZGJhY2tFbmRwb2ludDp5Myhxd2EpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6eTMoc3dhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDp5Myh0d2EpLHNoYXJlRW50aXR5RW5kcG9pbnQ6eTMoejUpLHN1YnNjcmliZUVuZHBvaW50OnkzKG93YSksdW5kb0ZlZWRiYWNrRW5kcG9pbnQ6eTMocndhKSx1bnN1YnNjcmliZUVuZHBvaW50OnkzKHB3YSksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6eTModXdhKX19O3ZhciBGdWE9bmV3IE1hcCxFdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMud2ViUGxheWVyQ29udGV4dENvbmZpZz1iO3RoaXMuaj1jO3RoaXMuRWo9ZDt0aGlzLnBsYXllclZhcnM9ZTtKdWEodGhpcyl9bGEoKXt0aGlzLmFwaSYmdGhpcy5hcGkuZGVzdHJveSgpO1dfKHRoaXMuY29udGFpbmVyKTtzdXBlci5sYSgpfX07dmFyIEJ3YT17WyJhcGkuaW52YWxpZHBhcmFtIl06MixhdXRoOjE1MCxbImRybS5hdXRoIl06MTUwLFsiaGVhcnRiZWF0Lm5ldCJdOjE1MCxbImhlYXJ0YmVhdC5zZXJ2ZXJlcnJvciJdOjE1MCxbImhlYXJ0YmVhdC5zdG9wIl06MTUwLFsiaHRtbDUudW5zdXBwb3J0ZWRhZHMiXTo1LFsiZm10Lm5vbmVhdmFpbGFibGUiXTo1LFsiZm10LmRlY29kZSJdOjUsWyJmbXQudW5wbGF5YWJsZSJdOjUsWyJodG1sNS5taXNzaW5nYXBpIl06NSxbImh0bWw1LnVuc3VwcG9ydGVkbGl2ZSJdOjUsWyJkcm0udW5hdmFpbGFibGUiXTo1LFsibXJtLmJsb2NrZWQiXToxNTEsWyJlbWJlZGRlci5pZGVudGl0eS5kZW5pZWQiXToxNTIsWyJlbWJlZGRlci5pZGVudGl0eS5taXNzaW5nLnJlZmVycmVyIl06MTUzfTt2YXIgTHVhPW5ldyBTZXQoImVuZFNlY29uZHMgc3RhcnRTZWNvbmRzIG1lZGlhQ29udGVudFVybCBzdWdnZXN0ZWRRdWFsaXR5IHZpZGVvSWQgcmN0IHJjdG4gcGxheW11dGVkIG11dGVkX2F1dG9wbGF5X2R1cmF0aW9uX21vZGUiLnNwbGl0KCIgIikpO3ZhciBXdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7dmFyIGE9TDQsYj1INDtzdXBlcigpO3RoaXMuYXBpPWE7dGhpcy52PXRoaXMuTT0hMTt0aGlzLlU9W107dGhpcy5aPXt9O3RoaXMuQj1bXTt0aGlzLm89W107dGhpcy5oYT0hMTt0aGlzLnNlc3Npb25JZD10aGlzLmo9bnVsbDt0aGlzLnRhcmdldE9yaWdpbj0iKiI7dGhpcy5nYT1fLngoIndlYl9wbGF5ZXJfc3BsaXRfZXZlbnRfYnVzX2lmcmFtZSIpO3RoaXMuST1fLncoIlBPU1RfTUVTU0FHRV9PUklHSU4iKXx8YCR7ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfWA7dGhpcy5EPWM9Pnt0aGlzLm9uTWVzc2FnZShjKX07QjUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5EKTtpZihhPV8udygiV0lER0VUX0lEIikpdGhpcy5zZXNzaW9uSWQ9YTtiJiZ0aGlzLkQoYik7QTQodGhpcywib25SZWFkeSIsKCk9Pnt0aGlzLk09ITA7dmFyIGM9dGhpcy5hcGkuZ2V0VmlkZW9EYXRhKCk7CmMuaXNQbGF5YWJsZXx8KHRoaXMuaGE9ITAsdGhpcy5lcnJvckNvZGU9KGM9Yy5lcnJvckNvZGUpP0J3YVtjXXx8NTo1LHRoaXMuc2VuZE1lc3NhZ2UoIm9uRXJyb3IiLE51bWJlcih0aGlzLmVycm9yQ29kZSkpKTtENCh0aGlzKTt0aGlzLmp8fHRoaXMudnx8d2luZG93LnBhcmVudD09PXdpbmRvd3x8IXRoaXMuc2Vzc2lvbklkfHxDNCh0aGlzLHtldmVudDoicmVhZHlUb0xpc3RlbiJ9LHdpbmRvdy5wYXJlbnQpfSk7QTQodGhpcywib25WaWRlb1Byb2dyZXNzIix0aGlzLmZjLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uVm9sdW1lQ2hhbmdlIix0aGlzLlZkLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uQXBpQ2hhbmdlIix0aGlzLm9hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tRdWFsaXR5Q2hhbmdlIix0aGlzLk1hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tSYXRlQ2hhbmdlIix0aGlzLlFhLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uU3RhdGVDaGFuZ2UiLHRoaXMuRWIuYmluZCh0aGlzKSk7CkE0KHRoaXMsIm9uV2ViZ2xTZXR0aW5nc0NoYW5nZWQiLHRoaXMuRmwuYmluZCh0aGlzKSk7QTQodGhpcywib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLHRoaXMueWEuYmluZCh0aGlzKSk7QTQodGhpcywiY2FwdGlvbnNzZXR0aW5nc2NoYW5nZWQiLHRoaXMuRmEuYmluZCh0aGlzKSl9c2VuZE1lc3NhZ2UoYSxiKXthPXtldmVudDphLGluZm86Yj09PXZvaWQgMD9udWxsOmJ9O3RoaXMudj9DNCh0aGlzLGEpOnRoaXMuVS5wdXNoKGEpfUViKGEpe2E9e3BsYXllclN0YXRlOmEsY3VycmVudFRpbWU6dGhpcy5hcGkuZ2V0Q3VycmVudFRpbWUoKSxkdXJhdGlvbjp0aGlzLmFwaS5nZXREdXJhdGlvbigpLHZpZGVvRGF0YTp0aGlzLmFwaS5nZXRWaWRlb0RhdGEoKSx2aWRlb1N0YXJ0Qnl0ZXM6MCx2aWRlb0J5dGVzVG90YWw6dGhpcy5hcGkuZ2V0VmlkZW9CeXRlc1RvdGFsKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCkscGxheWJhY2tRdWFsaXR5OnRoaXMuYXBpLmdldFBsYXliYWNrUXVhbGl0eSgpLAphdmFpbGFibGVRdWFsaXR5TGV2ZWxzOnRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSxjdXJyZW50VGltZUxhc3RVcGRhdGVkXzpEYXRlLm5vdygpLzFFMyxwbGF5YmFja1JhdGU6dGhpcy5hcGkuZ2V0UGxheWJhY2tSYXRlKCksbWVkaWFSZWZlcmVuY2VUaW1lOnRoaXMuYXBpLmdldE1lZGlhUmVmZXJlbmNlVGltZSgpfTt0aGlzLmFwaS5nZXRWaWRlb1VybCYmKGEudmlkZW9Vcmw9dGhpcy5hcGkuZ2V0VmlkZW9VcmwoKSk7dGhpcy5hcGkuZ2V0VmlkZW9Db250ZW50UmVjdCYmKGEudmlkZW9Db250ZW50UmVjdD10aGlzLmFwaS5nZXRWaWRlb0NvbnRlbnRSZWN0KCkpO3RoaXMuYXBpLmdldFByb2dyZXNzU3RhdGUmJihhLnByb2dyZXNzU3RhdGU9dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSgpKTt0aGlzLmFwaS5nZXRQbGF5bGlzdCYmKGEucGxheWxpc3Q9dGhpcy5hcGkuZ2V0UGxheWxpc3QoKSk7dGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCYmKGEucGxheWxpc3RJbmRleD0KdGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCgpKTtFNCh0aGlzLGEpfU1hKGEpe2E9e3BsYXliYWNrUXVhbGl0eTphfTt0aGlzLmFwaS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzJiYoYS5hdmFpbGFibGVRdWFsaXR5TGV2ZWxzPXRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSk7dGhpcy5hcGkuZ2V0UHJlZmVycmVkUXVhbGl0eSYmKGEucHJlZmVycmVkUXVhbGl0eT10aGlzLmFwaS5nZXRQcmVmZXJyZWRRdWFsaXR5KCkpO0U0KHRoaXMsYSl9UWEoYSl7RTQodGhpcyx7cGxheWJhY2tSYXRlOmF9KX1vYSgpe3ZhciBhPXRoaXMuYXBpLmdldE9wdGlvbnMoKSxiPXtuYW1lc3BhY2VzOmF9O2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyl7bGV0IGU9YVtjXSxmPXRoaXMuYXBpLmdldE9wdGlvbnMoZSk7YltlXT17b3B0aW9uczpmfTtmb3IobGV0IGg9MCxrPWYubGVuZ3RoO2g8aztoKyspe2xldCBsPWZbaF0sbT10aGlzLmFwaS5nZXRPcHRpb24oZSxsKTtiW2VdW2xdPQptfX10aGlzLnNlbmRNZXNzYWdlKCJhcGlJbmZvRGVsaXZlcnkiLGIpfVZkKCl7RTQodGhpcyx7bXV0ZWQ6dGhpcy5hcGkuaXNNdXRlZCgpLHZvbHVtZTp0aGlzLmFwaS5nZXRWb2x1bWUoKX0pfWZjKGEpe2E9e2N1cnJlbnRUaW1lOmEsdmlkZW9CeXRlc0xvYWRlZDp0aGlzLmFwaS5nZXRWaWRlb0J5dGVzTG9hZGVkKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCksY3VycmVudFRpbWVMYXN0VXBkYXRlZF86RGF0ZS5ub3coKS8xRTMscGxheWJhY2tSYXRlOnRoaXMuYXBpLmdldFBsYXliYWNrUmF0ZSgpLG1lZGlhUmVmZXJlbmNlVGltZTp0aGlzLmFwaS5nZXRNZWRpYVJlZmVyZW5jZVRpbWUoKX07dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSYmKGEucHJvZ3Jlc3NTdGF0ZT10aGlzLmFwaS5nZXRQcm9ncmVzc1N0YXRlKCkpO0U0KHRoaXMsYSl9RmwoKXtFNCh0aGlzLHtzcGhlcmljYWxQcm9wZXJ0aWVzOnRoaXMuYXBpLmdldFNwaGVyaWNhbFByb3BlcnRpZXMoKX0pfXlhKCl7aWYodGhpcy5hcGkuZ2V0Q2FwdGlvblRyYWNrcyl7bGV0IGE9CntjYXB0aW9uVHJhY2tzOnRoaXMuYXBpLmdldENhcHRpb25UcmFja3MoKX07RTQodGhpcyxhKX19RmEoKXtpZih0aGlzLmFwaS5nZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3Mpe2xldCBhPXtzdWJ0aXRsZXNVc2VyU2V0dGluZ3M6dGhpcy5hcGkuZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKCl9O0U0KHRoaXMsYSl9fW9uTWVzc2FnZShhKXtpZighKHRoaXMuSSE9PSIqIiYmYS5vcmlnaW4hPT10aGlzLkl8fHRoaXMuaiYmYS5zb3VyY2UhPT10aGlzLmp8fHR5cGVvZiBhLmRhdGEhPT0ic3RyaW5nIikpe3RyeXt2YXIgYj1KU09OLnBhcnNlKGEuZGF0YSl9Y2F0Y2goZil7cmV0dXJufWlmKGIpc3dpdGNoKGIuZXZlbnQpe2Nhc2UgImxpc3RlbmluZyI6dmFyIGM9YS5zb3VyY2U7YT1hLm9yaWdpbjtiPWIuaWQ7YSE9PSJudWxsIiYmKHRoaXMuST10aGlzLnRhcmdldE9yaWdpbj1hKTt0aGlzLmo9Yzt0aGlzLnNlc3Npb25JZD1iO0Q0KHRoaXMpO2JyZWFrO2Nhc2UgImNvbW1hbmQiOmM9Yi5mdW5jOwp2YXIgZD1iLmFyZ3M7aWYoYz09PSJhZGRFdmVudExpc3RlbmVyIiYmZCliPWRbMF0sYz1hLm9yaWdpbixiPT09Im9uUmVhZHkiP3RoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk6Yj09PSJvbkVycm9yIiYmdGhpcy5oYSYmKHRoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyx0aGlzLmVycm9yQ29kZSksdGhpcy5lcnJvckNvZGU9dm9pZCAwKSx0aGlzLmFwaS5sb2dBcGlDYWxsKGAke2J9IHJlZ2lzdHJhdGlvbmAsYyksdGhpcy5aW2JdfHxiPT09Im9uUmVhZHkifHwoYT1NdWEodGhpcyxiLGMpLHRoaXMuby5wdXNoKHtldmVudFR5cGU6YixsaXN0ZW5lcjphLG9yaWdpbjpjfSksdGhpcy5nYT90aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoImFkZEV2ZW50TGlzdGVuZXIiLFtiLGFdLGMpOnRoaXMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixhKSx0aGlzLlpbYl09ITApO2Vsc2UgaWYoYj1jLGM9ZCxhPWEub3JpZ2luLHRoaXMuYXBpLmlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUoYiwKYSkpe2M9Y3x8W107aWYoYy5sZW5ndGg+MCYmeDQoYikpe3ZhciBlPWM7aWYoXy5BYShlWzBdKSYmIUFycmF5LmlzQXJyYXkoZVswXSkpZD1lWzBdO2Vsc2Ugc3dpdGNoKGQ9e30sYil7Y2FzZSAibG9hZFZpZGVvQnlJZCI6Y2FzZSAiY3VlVmlkZW9CeUlkIjpkPXk0KGVbMF0sZVsxXSE9PXZvaWQgMD9OdW1iZXIoZVsxXSk6dm9pZCAwLGVbMl0pO2JyZWFrO2Nhc2UgImxvYWRWaWRlb0J5VXJsIjpjYXNlICJjdWVWaWRlb0J5VXJsIjpkPWVbMF07dHlwZW9mIGQ9PT0ic3RyaW5nIiYmKGQ9e21lZGlhQ29udGVudFVybDpkLHN0YXJ0U2Vjb25kczplWzFdIT09dm9pZCAwP051bWJlcihlWzFdKTp2b2lkIDAsc3VnZ2VzdGVkUXVhbGl0eTplWzJdfSk7Yjp7aWYoKGU9ZC5tZWRpYUNvbnRlbnRVcmwpJiYoZT0vXC8oW3ZlXXxlbWJlZClcLyhbXiM/XSspLy5leGVjKGUpKSYmZVsyXSl7ZT1lWzJdO2JyZWFrIGJ9ZT1udWxsfWQudmlkZW9JZD1lO2Q9eTQoZCk7YnJlYWs7Y2FzZSAibG9hZFBsYXlsaXN0IjpjYXNlICJjdWVQbGF5bGlzdCI6ZD0KejQoZVswXSxlWzFdLGVbMl0sZVszXSl9Yy5sZW5ndGg9MTtjWzBdPWR9dGhpcy5hcGkuaGFuZGxlRXh0ZXJuYWxDYWxsKGIsYyxhKTt4NChiKSYmRTQodGhpcyxCNCh0aGlzKSl9fX19bGEoKXtzdXBlci5sYSgpO0I1LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuRCk7Zm9yKHZhciBhPTA7YTx0aGlzLkIubGVuZ3RoO2ErKyl7dmFyIGI9dGhpcy5CW2FdO3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYi5ldmVudFR5cGUsYi5saXN0ZW5lcil9dGhpcy5CPVtdO2ZvcihhPTA7YTx0aGlzLm8ubGVuZ3RoO2ErKyliPXRoaXMub1thXSx0aGlzLmdhP3RoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgicmVtb3ZlRXZlbnRMaXN0ZW5lciIsW2IuZXZlbnRUeXBlLGIubGlzdGVuZXJdLGIub3JpZ2luKTp0aGlzLmFwaS5yZW1vdmVFdmVudExpc3RlbmVyKGIuZXZlbnRUeXBlLGIubGlzdGVuZXIpO3RoaXMubz1bXX19LEI1PXdpbmRvdzt2YXIgWHVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3ZhciBjPUw0O3N1cGVyKCk7dGhpcy5hcGk9Yzt0aGlzLmlkPWE7dGhpcy5vcmlnaW49Yjt0aGlzLmo9e307dGhpcy52PV8ueCgid2ViX3BsYXllcl9zcGxpdF9ldmVudF9idXNfaWZyYW1lIik7dGhpcy5vPWQ9Pnt0aGlzLm9uTWVzc2FnZShkKX07QzUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5vKTtGNCh0aGlzLCJSRUNFSVZJTkciKX1hZGRMaXN0ZW5lcihhLGIpe2lmKCEoYSBpbiB0aGlzLmopKXt2YXIgYz10aGlzLkIuYmluZCh0aGlzLGEpO3RoaXMualthXT1jO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLGMsYil9fUIoYSxiKXt0aGlzLmlhKCl8fEY0KHRoaXMsYSxPdWEoYSxiKSl9cmVtb3ZlTGlzdGVuZXIoYSxiKXthIGluIHRoaXMuaiYmKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLHRoaXMualthXSxiKSxkZWxldGUgdGhpcy5qW2FdKX1hZGRFdmVudExpc3RlbmVyKGEsYixjKXt0aGlzLnY/CmE9PT0ib25SZWFkeSI/dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpOnRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgiYWRkRXZlbnRMaXN0ZW5lciIsW2EsYl0sY3x8bnVsbCk6dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpe3RoaXMudj9hPT09Im9uUmVhZHkiP3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKTp0aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoInJlbW92ZUV2ZW50TGlzdGVuZXIiLFthLGJdLGN8fG51bGwpOnRoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKX1vbk1lc3NhZ2UoYSl7aWYoYS5vcmlnaW49PT10aGlzLm9yaWdpbil7dmFyIGI9YS5kYXRhO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe3RyeXtiPUpTT04ucGFyc2UoYil9Y2F0Y2goZSl7cmV0dXJufWlmKGIuY29tbWFuZCl7dmFyIGM9Yi5jb21tYW5kO2I9Yi5kYXRhO2E9YS5vcmlnaW47aWYoIXRoaXMuaWEoKSl7dmFyIGQ9CmJ8fHt9O3N3aXRjaChjKXtjYXNlICJhZGRFdmVudExpc3RlbmVyIjp0eXBlb2YgZC5ldmVudD09PSJzdHJpbmciJiZ0aGlzLmFkZExpc3RlbmVyKGQuZXZlbnQsYSk7YnJlYWs7Y2FzZSAicmVtb3ZlRXZlbnRMaXN0ZW5lciI6dHlwZW9mIGQuZXZlbnQ9PT0ic3RyaW5nIiYmdGhpcy5yZW1vdmVMaXN0ZW5lcihkLmV2ZW50LGEpO2JyZWFrO2RlZmF1bHQ6dGhpcy5hcGkuaXNSZWFkeSgpJiZ0aGlzLmFwaS5pc0V4dGVybmFsTWV0aG9kQXZhaWxhYmxlKGMsYXx8bnVsbCkmJihiPVB1YShjLGJ8fHt9KSxiPXRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbChjLGIsYXx8bnVsbCksKGI9UXVhKGMsYikpJiZGNCh0aGlzLGMsYikpfX19fX19bGEoKXtDNS5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLm8pO2ZvcihsZXQgYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGEpO3N1cGVyLmxhKCl9fSxDNT13aW5kb3csTnVhPQp3aW5kb3cucGFyZW50O3ZhciBHND1uZXcgeHdhO3ZhciBMND1udWxsLE40PW51bGwsSjQ9KCk9Pnt9LEg0O3ZhciBUND0hMTtfLmZ0LnRoZW4oKCk9PntfLkFxKCJlcF9pbml0X2N1cyIpO2lmKCFBNSl7QTU9ITA7dmFyIGE9Xy54KCJlbmFibGVfd2l6X2NvbnRleHRfcGVyX2NvbXBvbmVudCIpfHwhMTtPYmplY3QuYXNzaWduKF8uS3Use1JpOiEwLEdwOmEsRnA6YSxHdjpfLngoIndlYl9pbmNsdWRlX2Nvd190cmFjaW5nIiksaGFuZGxlRXJyb3I6enVhfSk7QnVhKCk7Xy53dj1mc2E7Xy54dj1nc2F9YnZhKCk7Xy5BcSgiZXBfaW5pdF9lcHMiKTtfLnJhKCJ5dC5zZXRDb25maWciLF8uUWkpO18ucmEoInl0LmNvbmZpZy5zZXQiLF8uUWkpO18ucmEoInl0LnNldE1zZyIsYjEpO18ucmEoInl0Lm1zZ3Muc2V0IixiMSk7Xy5yYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIixfLkdwKTtfLnJhKCJ3cml0ZUVtYmVkIixVdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5ib3RndWFyZEluaXRpYWxpemVkIixfLnNhKCJ5dC5hYnVzZS5wbGF5ZXIuYm90Z3VhcmRJbml0aWFsaXplZCIpfHxSdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIsCl8uc2EoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIpfHxTdWEpO18ucmEoInl0LmFidXNlLmRjbGtzdGF0dXMuY2hlY2tEY2xrU3RhdHVzIixfLnNhKCJ5dC5hYnVzZS5kY2xrc3RhdHVzLmNoZWNrRGNsa1N0YXR1cyIpfHxhMyk7Xy5yYSgieXQucGxheWVyLmV4cG9ydHMubmF2aWdhdGUiLF8uc2EoInl0LnBsYXllci5leHBvcnRzLm5hdmlnYXRlIil8fEJ0YSk7Xy5yYSgieXQudXRpbC5hY3Rpdml0eS5pbml0IixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmluaXQiKXx8bDApO18ucmEoInl0LnV0aWwuYWN0aXZpdHkuZ2V0VGltZVNpbmNlQWN0aXZlIixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmdldFRpbWVTaW5jZUFjdGl2ZSIpfHxfLkJuKTtfLnJhKCJ5dC51dGlsLmFjdGl2aXR5LnNldFRpbWVzdGFtcCIsXy5zYSgieXQudXRpbC5hY3Rpdml0eS5zZXRUaW1lc3RhbXAiKXx8ajApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixfLlZpKFp1YSkpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsCl8uVmkoJHVhKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixfLlZpKGF2YSkpO2d1YSgpO1R1YSgpO18uQXEoImVwX2luaXRfZXBlIik7SjQ9Xy5ENTtfLkFxKCJlcF9pbml0X2N1ZSIpfSk7Xy5ENT0oKT0+e307Cl8uRDU9ZnVuY3Rpb24oYSl7KDAsXy5laCkoInI3OERyYiIpLnRoZW4oKCk9PnsoMCxfLnp5KShhKX0pfTsKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-152f4.js?id=e5ad66f4adccff7218db","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.436Z","timestamp":1785137065436,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/vendor_utils-152f4.js?id=e5ad66f4adccff7218db HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 09:35:32 GMT\r\naccept-ranges: bytes\r\netag: \"1d8257409e424e4\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":208612,"size_decoded":62070,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (64821), with no line terminators","md5":"fea56fd96354fa39c31443bd64f33113","sha1":"3ec554ecbdcc734a7c61d206ae32823ec35f481a","sha256":"030cf31881ec06d3f5088e9b910554abe754f95a1d6569cf9f1685772f0ac65c","sha512":"7bb391e29c03ecdaa60d462fcb1238370b978ef5bc9e6b4727798ef1bc27cede2c132f951974eaca92890b764f26ccc5b4dbb89724c1dcfdc2a6db88afc5d999","ssdeep":"3072:Llj/xczFkGQyzrERXR+Wc2eS30qfv+O+Kqx7:Ll/UkGQxyWneVdVKqx7","tlshash":"7a140899b1c6b03547ab2075506f040bf23e6a69a40ec4e0f179e8d5bcb884e917bf7d","first_seen":"2025-10-27T18:25:33.062235Z","last_seen":"2026-07-27T07:25:28.833219Z","times_seen":6,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua0F2YXRyYWRlcnM9c2VsZi53ZWJwYWNrQ2h1bmtBdmF0cmFkZXJzfHxbXSkucHVzaChbWzg0OV0sezc1NjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigyMzY0NSksYT1uLm4ocikoKSgoZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19KSk7YS5wdXNoKFt0LmlkLCIudmJ0LWF1dGNvbXBsZXRlLWxpc3RbZGF0YS12LWEwZTg3ZGU0XXttYXgtaGVpZ2h0OjM1MHB4O292ZXJmbG93LXk6YXV0bztwYWRkaW5nLXRvcDo1cHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo5OTl9IiwiIl0pLGUuWj1hfSw2NTIwNjpmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtyZXR1cm4gcj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH0scih0KX1mdW5jdGlvbiBhKHQsZSxuKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW4sdH1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHR9KHQpfHxmdW5jdGlvbih0LGUpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgU3ltYm9sfHwhKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCkpKXJldHVybjt2YXIgbj1bXSxyPSEwLGE9ITEsaT12b2lkIDA7dHJ5e2Zvcih2YXIgbyxzPXRbU3ltYm9sLml0ZXJhdG9yXSgpOyEocj0obz1zLm5leHQoKSkuZG9uZSkmJihuLnB1c2goby52YWx1ZSksIWV8fG4ubGVuZ3RoIT09ZSk7cj0hMCk7fWNhdGNoKHQpe2E9ITAsaT10fWZpbmFsbHl7dHJ5e3J8fG51bGw9PXMucmV0dXJufHxzLnJldHVybigpfWZpbmFsbHl7aWYoYSl0aHJvdyBpfX1yZXR1cm4gbn0odCxlKXx8cyh0LGUpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gbCh0KX0odCl8fGZ1bmN0aW9uKHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KHQpKXJldHVybiBBcnJheS5mcm9tKHQpfSh0KXx8cyh0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBzKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBsKHQsZSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09biYmdC5jb25zdHJ1Y3RvciYmKG49dC5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PW58fCJTZXQiPT09bj9BcnJheS5mcm9tKHQpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/bCh0LGUpOnZvaWQgMH19ZnVuY3Rpb24gbCh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KGUpO248ZTtuKyspcltuXT10W25dO3JldHVybiByfW4uZChlLHtLOmZ1bmN0aW9uKCl7cmV0dXJuIEtlfX0pO3ZhciB1PSJhc2MiLGM9ImRlc2MiLGQ9Im5vbmUiLGY9InJlY29yZHMiLHA9WzEwLDIwLDMwLDQwLDUwXSxoPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp2b2lkIDAhPT1uLmc/bi5nOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnt9O3ZhciB2LGcsbT0odj1mdW5jdGlvbih0LGUpe3ZhciBuPSJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fIixyPTkwMDcxOTkyNTQ3NDA5OTEsYT0iW29iamVjdCBBcmd1bWVudHNdIixpPSJbb2JqZWN0IEFycmF5XSIsbz0iW29iamVjdCBCb29sZWFuXSIscz0iW29iamVjdCBEYXRlXSIsbD0iW29iamVjdCBFcnJvcl0iLHU9IltvYmplY3QgRnVuY3Rpb25dIixjPSJbb2JqZWN0IE1hcF0iLGQ9IltvYmplY3QgTnVtYmVyXSIsZj0iW29iamVjdCBPYmplY3RdIixwPSJbb2JqZWN0IFByb21pc2VdIix2PSJbb2JqZWN0IFJlZ0V4cF0iLGc9IltvYmplY3QgU2V0XSIsbT0iW29iamVjdCBTdHJpbmddIix5PSJbb2JqZWN0IFN5bWJvbF0iLGI9IltvYmplY3QgV2Vha01hcF0iLHc9IltvYmplY3QgQXJyYXlCdWZmZXJdIixfPSJbb2JqZWN0IERhdGFWaWV3XSIsQz0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyx4PS9eKD86MHxbMS05XVxkKikkLyxUPXt9O1RbIltvYmplY3QgRmxvYXQzMkFycmF5XSJdPVRbIltvYmplY3QgRmxvYXQ2NEFycmF5XSJdPVRbIltvYmplY3QgSW50OEFycmF5XSJdPVRbIltvYmplY3QgSW50MTZBcnJheV0iXT1UWyJbb2JqZWN0IEludDMyQXJyYXldIl09VFsiW29iamVjdCBVaW50OEFycmF5XSJdPVRbIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIl09VFsiW29iamVjdCBVaW50MTZBcnJheV0iXT1UWyJbb2JqZWN0IFVpbnQzMkFycmF5XSJdPSEwLFRbYV09VFtpXT1UW3ddPVRbb109VFtfXT1UW3NdPVRbbF09VFt1XT1UW2NdPVRbZF09VFtmXT1UW3ZdPVRbZ109VFttXT1UW2JdPSExO3ZhciBQPSJvYmplY3QiPT10eXBlb2YgaCYmaCYmaC5PYmplY3Q9PT1PYmplY3QmJmgsUz0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLGs9UHx8U3x8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxPPWUmJiFlLm5vZGVUeXBlJiZlLCQ9TyYmdCYmIXQubm9kZVR5cGUmJnQsQT0kJiYkLmV4cG9ydHM9PT1PLEQ9QSYmUC5wcm9jZXNzLFI9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIEQmJkQuYmluZGluZyYmRC5iaW5kaW5nKCJ1dGlsIil9Y2F0Y2godCl7fX0oKSxFPVImJlIuaXNUeXBlZEFycmF5O2Z1bmN0aW9uIEYodCxlKXtmb3IodmFyIG49LTEscj1udWxsPT10PzA6dC5sZW5ndGg7KytuPHI7KWlmKGUodFtuXSxuLHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIE0odCl7dmFyIGU9LTEsbj1BcnJheSh0LnNpemUpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQscil7blsrK2VdPVtyLHRdfSkpLG59ZnVuY3Rpb24gSSh0KXt2YXIgZT0tMSxuPUFycmF5KHQuc2l6ZSk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7blsrK2VdPXR9KSksbn12YXIgTixqLEwsVT1BcnJheS5wcm90b3R5cGUsSD1GdW5jdGlvbi5wcm90b3R5cGUsQj1PYmplY3QucHJvdG90eXBlLHo9a1siX19jb3JlLWpzX3NoYXJlZF9fIl0scT1ILnRvU3RyaW5nLFk9Qi5oYXNPd25Qcm9wZXJ0eSxXPShOPS9bXi5dKyQvLmV4ZWMoeiYmei5rZXlzJiZ6LmtleXMuSUVfUFJPVE98fCIiKSk/IlN5bWJvbChzcmMpXzEuIitOOiIiLFY9Qi50b1N0cmluZyxLPVJlZ0V4cCgiXiIrcS5jYWxsKFkpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpLFE9QT9rLkJ1ZmZlcjp2b2lkIDAsRz1rLlN5bWJvbCxKPWsuVWludDhBcnJheSxYPUIucHJvcGVydHlJc0VudW1lcmFibGUsWj1VLnNwbGljZSx0dD1HP0cudG9TdHJpbmdUYWc6dm9pZCAwLGV0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsbnQ9UT9RLmlzQnVmZmVyOnZvaWQgMCxydD0oaj1PYmplY3Qua2V5cyxMPU9iamVjdCxmdW5jdGlvbih0KXtyZXR1cm4gaihMKHQpKX0pLGF0PVJ0KGssIkRhdGFWaWV3IiksaXQ9UnQoaywiTWFwIiksb3Q9UnQoaywiUHJvbWlzZSIpLHN0PVJ0KGssIlNldCIpLGx0PVJ0KGssIldlYWtNYXAiKSx1dD1SdChPYmplY3QsImNyZWF0ZSIpLGN0PUl0KGF0KSxkdD1JdChpdCksZnQ9SXQob3QpLHB0PUl0KHN0KSxodD1JdChsdCksdnQ9Rz9HLnByb3RvdHlwZTp2b2lkIDAsZ3Q9dnQ/dnQudmFsdWVPZjp2b2lkIDA7ZnVuY3Rpb24gbXQodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciByPXRbZV07dGhpcy5zZXQoclswXSxyWzFdKX19ZnVuY3Rpb24geXQodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciByPXRbZV07dGhpcy5zZXQoclswXSxyWzFdKX19ZnVuY3Rpb24gYnQodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciByPXRbZV07dGhpcy5zZXQoclswXSxyWzFdKX19ZnVuY3Rpb24gd3QodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuX19kYXRhX189bmV3IGJ0OysrZTxuOyl0aGlzLmFkZCh0W2VdKX1mdW5jdGlvbiBfdCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyB5dCh0KTt0aGlzLnNpemU9ZS5zaXplfWZ1bmN0aW9uIEN0KHQsZSl7dmFyIG49THQodCkscj0hbiYmanQodCksYT0hbiYmIXImJlV0KHQpLGk9IW4mJiFyJiYhYSYmWXQodCksbz1ufHxyfHxhfHxpLHM9bz9mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj0tMSxyPUFycmF5KHQpOysrbjx0OylyW25dPWUobik7cmV0dXJuIHJ9KHQubGVuZ3RoLFN0cmluZyk6W10sbD1zLmxlbmd0aDtmb3IodmFyIHUgaW4gdCkhZSYmIVkuY2FsbCh0LHUpfHxvJiYoImxlbmd0aCI9PXV8fGEmJigib2Zmc2V0Ij09dXx8InBhcmVudCI9PXUpfHxpJiYoImJ1ZmZlciI9PXV8fCJieXRlTGVuZ3RoIj09dXx8ImJ5dGVPZmZzZXQiPT11KXx8TXQodSxsKSl8fHMucHVzaCh1KTtyZXR1cm4gc31mdW5jdGlvbiB4dCh0LGUpe2Zvcih2YXIgbj10Lmxlbmd0aDtuLS07KWlmKE50KHRbbl1bMF0sZSkpcmV0dXJuIG47cmV0dXJuLTF9ZnVuY3Rpb24gVHQodCl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwPT09dD8iW29iamVjdCBVbmRlZmluZWRdIjoiW29iamVjdCBOdWxsXSI6dHQmJnR0IGluIE9iamVjdCh0KT9mdW5jdGlvbih0KXt2YXIgZT1ZLmNhbGwodCx0dCksbj10W3R0XTt0cnl7dFt0dF09dm9pZCAwO3ZhciByPSEwfWNhdGNoKHQpe312YXIgYT1WLmNhbGwodCk7cmV0dXJuIHImJihlP3RbdHRdPW46ZGVsZXRlIHRbdHRdKSxhfSh0KTpmdW5jdGlvbih0KXtyZXR1cm4gVi5jYWxsKHQpfSh0KX1mdW5jdGlvbiBQdCh0KXtyZXR1cm4gcXQodCkmJlR0KHQpPT1hfWZ1bmN0aW9uIFN0KHQsZSxuLHIsdSl7cmV0dXJuIHQ9PT1lfHwobnVsbD09dHx8bnVsbD09ZXx8IXF0KHQpJiYhcXQoZSk/dCE9dCYmZSE9ZTpmdW5jdGlvbih0LGUsbixyLHUscCl7dmFyIGg9THQodCksYj1MdChlKSxDPWg/aTpGdCh0KSx4PWI/aTpGdChlKSxUPShDPUM9PWE/ZjpDKT09ZixQPSh4PXg9PWE/Zjp4KT09ZixTPUM9PXg7aWYoUyYmVXQodCkpe2lmKCFVdChlKSlyZXR1cm4hMTtoPSEwLFQ9ITF9aWYoUyYmIVQpcmV0dXJuIHB8fChwPW5ldyBfdCksaHx8WXQodCk/JHQodCxlLG4scix1LHApOmZ1bmN0aW9uKHQsZSxuLHIsYSxpLHUpe3N3aXRjaChuKXtjYXNlIF86aWYodC5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fHQuYnl0ZU9mZnNldCE9ZS5ieXRlT2Zmc2V0KXJldHVybiExO3Q9dC5idWZmZXIsZT1lLmJ1ZmZlcjtjYXNlIHc6cmV0dXJuISh0LmJ5dGVMZW5ndGghPWUuYnl0ZUxlbmd0aHx8IWkobmV3IEoodCksbmV3IEooZSkpKTtjYXNlIG86Y2FzZSBzOmNhc2UgZDpyZXR1cm4gTnQoK3QsK2UpO2Nhc2UgbDpyZXR1cm4gdC5uYW1lPT1lLm5hbWUmJnQubWVzc2FnZT09ZS5tZXNzYWdlO2Nhc2UgdjpjYXNlIG06cmV0dXJuIHQ9PWUrIiI7Y2FzZSBjOnZhciBmPU07Y2FzZSBnOnZhciBwPTEmcjtpZihmfHwoZj1JKSx0LnNpemUhPWUuc2l6ZSYmIXApcmV0dXJuITE7dmFyIGg9dS5nZXQodCk7aWYoaClyZXR1cm4gaD09ZTtyfD0yLHUuc2V0KHQsZSk7dmFyIGI9JHQoZih0KSxmKGUpLHIsYSxpLHUpO3JldHVybiB1LmRlbGV0ZSh0KSxiO2Nhc2UgeTppZihndClyZXR1cm4gZ3QuY2FsbCh0KT09Z3QuY2FsbChlKX1yZXR1cm4hMX0odCxlLEMsbixyLHUscCk7aWYoISgxJm4pKXt2YXIgaz1UJiZZLmNhbGwodCwiX193cmFwcGVkX18iKSxPPVAmJlkuY2FsbChlLCJfX3dyYXBwZWRfXyIpO2lmKGt8fE8pe3ZhciAkPWs/dC52YWx1ZSgpOnQsQT1PP2UudmFsdWUoKTplO3JldHVybiBwfHwocD1uZXcgX3QpLHUoJCxBLG4scixwKX19cmV0dXJuISFTJiYocHx8KHA9bmV3IF90KSxmdW5jdGlvbih0LGUsbixyLGEsaSl7dmFyIG89MSZuLHM9QXQodCksbD1zLmxlbmd0aCx1PUF0KGUpLmxlbmd0aDtpZihsIT11JiYhbylyZXR1cm4hMTtmb3IodmFyIGM9bDtjLS07KXt2YXIgZD1zW2NdO2lmKCEobz9kIGluIGU6WS5jYWxsKGUsZCkpKXJldHVybiExfXZhciBmPWkuZ2V0KHQpO2lmKGYmJmkuZ2V0KGUpKXJldHVybiBmPT1lO3ZhciBwPSEwO2kuc2V0KHQsZSksaS5zZXQoZSx0KTtmb3IodmFyIGg9bzsrK2M8bDspe3ZhciB2PXRbZD1zW2NdXSxnPWVbZF07aWYocil2YXIgbT1vP3IoZyx2LGQsZSx0LGkpOnIodixnLGQsdCxlLGkpO2lmKCEodm9pZCAwPT09bT92PT09Z3x8YSh2LGcsbixyLGkpOm0pKXtwPSExO2JyZWFrfWh8fChoPSJjb25zdHJ1Y3RvciI9PWQpfWlmKHAmJiFoKXt2YXIgeT10LmNvbnN0cnVjdG9yLGI9ZS5jb25zdHJ1Y3Rvcjt5PT1ifHwhKCJjb25zdHJ1Y3RvciJpbiB0KXx8ISgiY29uc3RydWN0b3IiaW4gZSl8fCJmdW5jdGlvbiI9PXR5cGVvZiB5JiZ5IGluc3RhbmNlb2YgeSYmImZ1bmN0aW9uIj09dHlwZW9mIGImJmIgaW5zdGFuY2VvZiBifHwocD0hMSl9cmV0dXJuIGkuZGVsZXRlKHQpLGkuZGVsZXRlKGUpLHB9KHQsZSxuLHIsdSxwKSl9KHQsZSxuLHIsU3QsdSkpfWZ1bmN0aW9uIGt0KHQpe3JldHVybiEoIXp0KHQpfHxmdW5jdGlvbih0KXtyZXR1cm4hIVcmJlcgaW4gdH0odCkpJiYoSHQodCk/SzpDKS50ZXN0KEl0KHQpKX1mdW5jdGlvbiBPdCh0KXtpZihuPShlPXQpJiZlLmNvbnN0cnVjdG9yLHI9ImZ1bmN0aW9uIj09dHlwZW9mIG4mJm4ucHJvdG90eXBlfHxCLGUhPT1yKXJldHVybiBydCh0KTt2YXIgZSxuLHIsYT1bXTtmb3IodmFyIGkgaW4gT2JqZWN0KHQpKVkuY2FsbCh0LGkpJiYiY29uc3RydWN0b3IiIT1pJiZhLnB1c2goaSk7cmV0dXJuIGF9ZnVuY3Rpb24gJHQodCxlLG4scixhLGkpe3ZhciBvPTEmbixzPXQubGVuZ3RoLGw9ZS5sZW5ndGg7aWYocyE9bCYmIShvJiZsPnMpKXJldHVybiExO3ZhciB1PWkuZ2V0KHQpO2lmKHUmJmkuZ2V0KGUpKXJldHVybiB1PT1lO3ZhciBjPS0xLGQ9ITAsZj0yJm4/bmV3IHd0OnZvaWQgMDtmb3IoaS5zZXQodCxlKSxpLnNldChlLHQpOysrYzxzOyl7dmFyIHA9dFtjXSxoPWVbY107aWYocil2YXIgdj1vP3IoaCxwLGMsZSx0LGkpOnIocCxoLGMsdCxlLGkpO2lmKHZvaWQgMCE9PXYpe2lmKHYpY29udGludWU7ZD0hMTticmVha31pZihmKXtpZighRihlLChmdW5jdGlvbih0LGUpe2lmKG89ZSwhZi5oYXMobykmJihwPT09dHx8YShwLHQsbixyLGkpKSlyZXR1cm4gZi5wdXNoKGUpO3ZhciBvfSkpKXtkPSExO2JyZWFrfX1lbHNlIGlmKHAhPT1oJiYhYShwLGgsbixyLGkpKXtkPSExO2JyZWFrfX1yZXR1cm4gaS5kZWxldGUodCksaS5kZWxldGUoZSksZH1mdW5jdGlvbiBBdCh0KXtyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3ZhciByPWUodCk7cmV0dXJuIEx0KHQpP3I6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49LTEscj1lLmxlbmd0aCxhPXQubGVuZ3RoOysrbjxyOyl0W2Erbl09ZVtuXTtyZXR1cm4gdH0ocixuKHQpKX0odCxXdCxFdCl9ZnVuY3Rpb24gRHQodCxlKXt2YXIgbixyLGE9dC5fX2RhdGFfXztyZXR1cm4oInN0cmluZyI9PShyPXR5cGVvZihuPWUpKXx8Im51bWJlciI9PXJ8fCJzeW1ib2wiPT1yfHwiYm9vbGVhbiI9PXI/Il9fcHJvdG9fXyIhPT1uOm51bGw9PT1uKT9hWyJzdHJpbmciPT10eXBlb2YgZT8ic3RyaW5nIjoiaGFzaCJdOmEubWFwfWZ1bmN0aW9uIFJ0KHQsZSl7dmFyIG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dD92b2lkIDA6dFtlXX0odCxlKTtyZXR1cm4ga3Qobik/bjp2b2lkIDB9bXQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz11dD91dChudWxsKTp7fSx0aGlzLnNpemU9MH0sbXQucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX0sbXQucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9fZGF0YV9fO2lmKHV0KXt2YXIgcj1lW3RdO3JldHVybiByPT09bj92b2lkIDA6cn1yZXR1cm4gWS5jYWxsKGUsdCk/ZVt0XTp2b2lkIDB9LG10LnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXztyZXR1cm4gdXQ/dm9pZCAwIT09ZVt0XTpZLmNhbGwoZSx0KX0sbXQucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLHJbdF09dXQmJnZvaWQgMD09PWU/bjplLHRoaXN9LHl0LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9LHl0LnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPXh0KGUsdCk7cmV0dXJuIShuPDB8fChuPT1lLmxlbmd0aC0xP2UucG9wKCk6Wi5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwwKSl9LHl0LnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPXh0KGUsdCk7cmV0dXJuIG48MD92b2lkIDA6ZVtuXVsxXX0seXQucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4geHQodGhpcy5fX2RhdGFfXyx0KT4tMX0seXQucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX18scj14dChuLHQpO3JldHVybiByPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bcl1bMV09ZSx0aGlzfSxidC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBtdCxtYXA6bmV3KGl0fHx5dCksc3RyaW5nOm5ldyBtdH19LGJ0LnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIGU9RHQodGhpcyx0KS5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX0sYnQucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gRHQodGhpcyx0KS5nZXQodCl9LGJ0LnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIER0KHRoaXMsdCkuaGFzKHQpfSxidC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQsZSl7dmFyIG49RHQodGhpcyx0KSxyPW4uc2l6ZTtyZXR1cm4gbi5zZXQodCxlKSx0aGlzLnNpemUrPW4uc2l6ZT09cj8wOjEsdGhpc30sd3QucHJvdG90eXBlLmFkZD13dC5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCxuKSx0aGlzfSx3dC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyh0KX0sX3QucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1uZXcgeXQsdGhpcy5zaXplPTB9LF90LnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWUuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemU9ZS5zaXplLG59LF90LnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uZ2V0KHQpfSxfdC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyh0KX0sX3QucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187aWYobiBpbnN0YW5jZW9mIHl0KXt2YXIgcj1uLl9fZGF0YV9fO2lmKCFpdHx8ci5sZW5ndGg8MTk5KXJldHVybiByLnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK24uc2l6ZSx0aGlzO249dGhpcy5fX2RhdGFfXz1uZXcgYnQocil9cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplPW4uc2l6ZSx0aGlzfTt2YXIgRXQ9ZXQ/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9T2JqZWN0KHQpLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoLGE9MCxpPVtdOysrbjxyOyl7dmFyIG89dFtuXTtlKG8sbix0KSYmKGlbYSsrXT1vKX1yZXR1cm4gaX0oZXQodCksKGZ1bmN0aW9uKGUpe3JldHVybiBYLmNhbGwodCxlKX0pKSl9OmZ1bmN0aW9uKCl7cmV0dXJuW119LEZ0PVR0O2Z1bmN0aW9uIE10KHQsZSl7cmV0dXJuISEoZT1udWxsPT1lP3I6ZSkmJigibnVtYmVyIj09dHlwZW9mIHR8fHgudGVzdCh0KSkmJnQ+LTEmJnQlMT09MCYmdDxlfWZ1bmN0aW9uIEl0KHQpe2lmKG51bGwhPXQpe3RyeXtyZXR1cm4gcS5jYWxsKHQpfWNhdGNoKHQpe310cnl7cmV0dXJuIHQrIiJ9Y2F0Y2godCl7fX1yZXR1cm4iIn1mdW5jdGlvbiBOdCh0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX0oYXQmJkZ0KG5ldyBhdChuZXcgQXJyYXlCdWZmZXIoMSkpKSE9X3x8aXQmJkZ0KG5ldyBpdCkhPWN8fG90JiZGdChvdC5yZXNvbHZlKCkpIT1wfHxzdCYmRnQobmV3IHN0KSE9Z3x8bHQmJkZ0KG5ldyBsdCkhPWIpJiYoRnQ9ZnVuY3Rpb24odCl7dmFyIGU9VHQodCksbj1lPT1mP3QuY29uc3RydWN0b3I6dm9pZCAwLHI9bj9JdChuKToiIjtpZihyKXN3aXRjaChyKXtjYXNlIGN0OnJldHVybiBfO2Nhc2UgZHQ6cmV0dXJuIGM7Y2FzZSBmdDpyZXR1cm4gcDtjYXNlIHB0OnJldHVybiBnO2Nhc2UgaHQ6cmV0dXJuIGJ9cmV0dXJuIGV9KTt2YXIganQ9UHQoZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKT9QdDpmdW5jdGlvbih0KXtyZXR1cm4gcXQodCkmJlkuY2FsbCh0LCJjYWxsZWUiKSYmIVguY2FsbCh0LCJjYWxsZWUiKX0sTHQ9QXJyYXkuaXNBcnJheSxVdD1udHx8ZnVuY3Rpb24oKXtyZXR1cm4hMX07ZnVuY3Rpb24gSHQodCl7aWYoIXp0KHQpKXJldHVybiExO3ZhciBlPVR0KHQpO3JldHVybiBlPT11fHwiW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iPT1lfHwiW29iamVjdCBBc3luY0Z1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IFByb3h5XSI9PWV9ZnVuY3Rpb24gQnQodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PXJ9ZnVuY3Rpb24genQodCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuIG51bGwhPXQmJigib2JqZWN0Ij09ZXx8ImZ1bmN0aW9uIj09ZSl9ZnVuY3Rpb24gcXQodCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH12YXIgWXQ9RT9mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fShFKTpmdW5jdGlvbih0KXtyZXR1cm4gcXQodCkmJkJ0KHQubGVuZ3RoKSYmISFUW1R0KHQpXX07ZnVuY3Rpb24gV3QodCl7cmV0dXJuIG51bGwhPShlPXQpJiZCdChlLmxlbmd0aCkmJiFIdChlKT9DdCh0KTpPdCh0KTt2YXIgZX10LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gU3QodCxlKX19LHYoZz17ZXhwb3J0czp7fX0sZy5leHBvcnRzKSxnLmV4cG9ydHMpLHk9e2E6WyJhIiwiw6AiLCLDoSIsIsOiIiwiw6MiLCLDpCIsIsOlIiwiw6YiLCLEgSIsIsSDIiwixIUiLCLHjiIsIsefIiwix6EiLCLHuyIsIsiBIiwiyIMiLCLIpyIsIsmQIiwiyZEiLCLJkiIsIs2jIiwi0LAiLCLTkSIsItOTIiwi4bWDIiwi4bWEIiwi4baPIiwi4biBIiwi4bqaIiwi4bqhIiwi4bqjIiwi4bqlIiwi4bqnIiwi4bqpIiwi4bqrIiwi4bqtIiwi4bqvIiwi4bqxIiwi4bqzIiwi4bq1Iiwi4bq3Iiwi4oKQIiwi4rGlIiwi772BIl0sYjpbImIiLCLGgCIsIsaDIiwiyZMiLCLhlq8iLCLhtYciLCLhtawiLCLhtoAiLCLhuIMiLCLhuIUiLCLhuIciLCLvvYIiXSxjOlsiYyIsIsOnIiwixIciLCLEiSIsIsSLIiwixI0iLCLGiCIsIsi8IiwiyZUiLCLNqCIsIuG0hCIsIuG2nCIsIuG4iSIsIuKGhCIsIu+9gyJdLGQ6WyJkIiwixI8iLCLEkSIsIsaLIiwixowiLCLIoSIsIsmWIiwiyZciLCLNqSIsIuG1iCIsIuG1rSIsIuG2gSIsIuG2kSIsIuG4iyIsIuG4jSIsIuG4jyIsIuG4kSIsIuG4kyIsIu+9hCJdLGU6WyJlIiwiw6giLCLDqSIsIsOqIiwiw6siLCLEkyIsIsSVIiwixJciLCLEmSIsIsSbIiwix50iLCLIhSIsIsiHIiwiyKkiLCLJhyIsIsmYIiwizaQiLCLhtYkiLCLhtpIiLCLhuJUiLCLhuJciLCLhuJkiLCLhuJsiLCLhuJ0iLCLhurkiLCLhursiLCLhur0iLCLhur8iLCLhu4EiLCLhu4MiLCLhu4UiLCLhu4ciLCLigpEiLCLvvYUiXSxmOlsiZiIsIsaSIiwi4bWuIiwi4baCIiwi4bagIiwi4bifIiwi772GIl0sZzpbImciLCLEnSIsIsSfIiwixKEiLCLEoyIsIselIiwix6ciLCLHtSIsIsmgIiwiyaEiLCLhtY0iLCLhtbciLCLhtbkiLCLhtoMiLCLhtqIiLCLhuKEiLCLvvYciXSxoOlsiaCIsIsSlIiwixKciLCLGlSIsIsifIiwiyaUiLCLJpiIsIsquIiwiyq8iLCLKsCIsIsqxIiwizaoiLCLSuiIsItK7Iiwi4ZGLIiwi4bajIiwi4bijIiwi4bilIiwi4binIiwi4bipIiwi4birIiwi4rGoIiwi772IIl0saTpbImkiLCLDrCIsIsOtIiwiw64iLCLDryIsIsSpIiwixKsiLCLErSIsIsSvIiwix5AiLCLIiSIsIsiLIiwiyagiLCLNpSIsIuG0iSIsIuG1jiIsIuG1oiIsIuG2liIsIuG2pCIsIuG4rSIsIuG4ryIsIuG7iSIsIuG7iyIsIu+9iSJdLGo6WyJqIiwixLUiLCLHsCIsIsmJIiwiyp0iLCLKsiIsIuG2oSIsIuG2qCIsIu+9iiJdLGs6WyJrIiwixLciLCLGmSIsIsepIiwiyp4iLCLhtY8iLCLhtoQiLCLhuLEiLCLhuLMiLCLhuLUiLCLisaoiLCLvvYsiXSxsOlsibCIsIsS6IiwixLwiLCLEviIsIsWAIiwixYIiLCLGmiIsIsi0IiwiyasiLCLJrCIsIsmtIiwiy6EiLCLhtoUiLCLhtqkiLCLhtqoiLCLhuLciLCLhuLkiLCLhuLsiLCLhuL0iLCLihJMiLCLisaEiXSxtOlsibSIsIsmvIiwiybAiLCLJsSIsIs2rIiwi4bSfIiwi4bWQIiwi4bWaIiwi4bWvIiwi4baGIiwi4basIiwi4batIiwi4bi/Iiwi4bmBIiwi4bmDIiwi446hIiwi446lIiwi772NIl0sbjpbIm4iLCLDsSIsIsWEIiwixYYiLCLFiCIsIsWJIiwixp4iLCLHuSIsIsi1IiwiybIiLCLJsyIsIuG1sCIsIuG2hyIsIuG2riIsIuG2ryIsIuG5hSIsIuG5hyIsIuG5iSIsIuG5iyIsIuKBvyIsIu+9jiJdLG86WyJvIiwiw7IiLCLDsyIsIsO0Iiwiw7UiLCLDtiIsIsO4IiwixY0iLCLFjyIsIsWRIiwixqEiLCLHkiIsIserIiwix60iLCLHvyIsIsiNIiwiyI8iLCLIqyIsIsitIiwiyK8iLCLIsSIsIsm1IiwizaYiLCLQviIsItOnIiwi06kiLCLhtI8iLCLhtJEiLCLhtJMiLCLhtLwiLCLhtZIiLCLhtrEiLCLhuY0iLCLhuY8iLCLhuZEiLCLhuZMiLCLhu40iLCLhu48iLCLhu5EiLCLhu5MiLCLhu5UiLCLhu5ciLCLhu5kiLCLhu5siLCLhu50iLCLhu58iLCLhu6EiLCLhu6MiLCLigpIiLCLvvY8iLCLwkJCsIl0scDpbInAiLCLhtZYiLCLhtbEiLCLhtb0iLCLhtogiLCLhuZUiLCLhuZciLCLvvZAiXSxxOlsicSIsIsmLIiwiyqAiLCLhm6kiLCLvvZEiXSxyOlsiciIsIsWVIiwixZciLCLFmSIsIsiRIiwiyJMiLCLJjSIsIsm5IiwiybsiLCLKsyIsIsq0IiwiyrUiLCLNrCIsIuG1oyIsIuG1siIsIuG2iSIsIuG5mSIsIuG5myIsIuG5nSIsIuG5nyJdLHM6WyJzIiwixZsiLCLFnSIsIsWfIiwixaEiLCLImSIsIsqCIiwi4ZSGIiwi4baKIiwi4bmhIiwi4bmjIiwi4bmlIiwi4bmnIiwi4bmpIiwi772TIl0sdDpbInQiLCLFoyIsIsWlIiwixaciLCLGqyIsIsatIiwiyJsiLCLKhyIsIs2tIiwi4bWAIiwi4bWXIiwi4bW1Iiwi4ba1Iiwi4bmrIiwi4bmtIiwi4bmvIiwi4bmxIiwi4bqXIiwi772UIl0sdTpbInUiLCLDuSIsIsO6Iiwiw7siLCLDvCIsIsWpIiwixasiLCLFrSIsIsWvIiwixbEiLCLFsyIsIsawIiwix5QiLCLHliIsIseYIiwix5oiLCLHnCIsIsiVIiwiyJciLCLNpyIsIt+OIiwi4bWYIiwi4bWkIiwi4bmzIiwi4bm1Iiwi4bm3Iiwi4bm5Iiwi4bm7Iiwi4bulIiwi4bunIiwi4bupIiwi4burIiwi4butIiwi4buvIiwi4buxIiwi772VIl0sdjpbInYiLCLKiyIsIs2uIiwi4bWbIiwi4bWlIiwi4ba5Iiwi4bm9Iiwi4bm/Iiwi4rGxIiwi772WIiwi4rG0Il0sdzpbInciLCLFtSIsIsq3Iiwi4bWCIiwi4bqBIiwi4bqDIiwi4bqFIiwi4bqHIiwi4bqJIiwi4bqYIiwi4rGzIiwi772XIl0seDpbIngiLCLMvSIsIs2TIiwi4baNIiwiza8iLCLhuosiLCLhuo0iLCLigpMiLCLvvZgiXSx5OlsieSIsIsO9Iiwiw78iLCLFtyIsIsizIiwiyY8iLCLKuCIsIuG6jyIsIuG7syIsIuG7tSIsIuG7tyIsIuG7uSIsIu+9mSJdLHo6WyJ6IiwixboiLCLFvCIsIsW+IiwixrYiLCLIpSIsIsmAIiwiypAiLCLKkSIsIuGZhiIsIuGZhyIsIuG2uyIsIuG2vCIsIuG2vSIsIuG6kSIsIuG6kyIsIuG6lSIsIuKxrCIsIu+9miJdfSxiPWZ1bmN0aW9uKCl7dmFyIHQ9e307Zm9yKHZhciBlIGluIHkpe3ZhciBuPXlbZV07Zm9yKHZhciByIGluIG4pe3ZhciBhPW5bcl07YSE9PWUmJih0W2FdPWUpfX1yZXR1cm4gdH0oKSx3PS9bXmEtejAtOVxzLC4tXS8sXz1mdW5jdGlvbih0KXtpZigtMT09PXQuc2VhcmNoKHcpKXJldHVybiB0O2Zvcih2YXIgZT0iIixuPXQubGVuZ3RoLHI9MDtyPG47cisrKXt2YXIgYT10LmNoYXJBdChyKTtlKz1hIGluIGI/YlthXTphfXJldHVybiBlfSxDPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoL1tcXF4kKis/LigpfFtcXXt9XS9nLCJcXCQmIil9LHg9e2Zvcm1hdDpmdW5jdGlvbih0KXtyZXR1cm4gdH0sZmlsdGVyUHJlZGljYXRlOmZ1bmN0aW9uKHQsZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXSxyPWFyZ3VtZW50cy5sZW5ndGg+MyYmdm9pZCAwIT09YXJndW1lbnRzWzNdJiZhcmd1bWVudHNbM107aWYobnVsbD09dClyZXR1cm4hMTt2YXIgYT1uP1N0cmluZyh0KS50b0xvd2VyQ2FzZSgpOl8oQyhTdHJpbmcodCkpLnRvTG93ZXJDYXNlKCkpLGk9bj9lLnRvTG93ZXJDYXNlKCk6XyhDKGUpLnRvTG93ZXJDYXNlKCkpO3JldHVybiByP2E9PT1pOmEuaW5kZXhPZihpKT4tMX0sY29tcGFyZTpmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIG51bGw9PXQ/IiI6XyhTdHJpbmcodCkudG9Mb3dlckNhc2UoKSl9cmV0dXJuKHQ9bih0KSk8KGU9bihlKSk/LTE6dD5lPzE6MH19O2Z1bmN0aW9uIFQodCxlLG4scixhLGksbyxzLGwsdSl7ImJvb2xlYW4iIT10eXBlb2YgbyYmKGw9cyxzPW8sbz0hMSk7Y29uc3QgYz0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uLm9wdGlvbnM6bjtsZXQgZDtpZih0JiZ0LnJlbmRlciYmKGMucmVuZGVyPXQucmVuZGVyLGMuc3RhdGljUmVuZGVyRm5zPXQuc3RhdGljUmVuZGVyRm5zLGMuX2NvbXBpbGVkPSEwLGEmJihjLmZ1bmN0aW9uYWw9ITApKSxyJiYoYy5fc2NvcGVJZD1yKSxpPyhkPWZ1bmN0aW9uKHQpeyh0PXR8fHRoaXMuJHZub2RlJiZ0aGlzLiR2bm9kZS5zc3JDb250ZXh0fHx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuJHZub2RlJiZ0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCl8fCJ1bmRlZmluZWQiPT10eXBlb2YgX19WVUVfU1NSX0NPTlRFWFRfX3x8KHQ9X19WVUVfU1NSX0NPTlRFWFRfXyksZSYmZS5jYWxsKHRoaXMsbCh0KSksdCYmdC5fcmVnaXN0ZXJlZENvbXBvbmVudHMmJnQuX3JlZ2lzdGVyZWRDb21wb25lbnRzLmFkZChpKX0sYy5fc3NyUmVnaXN0ZXI9ZCk6ZSYmKGQ9bz9mdW5jdGlvbih0KXtlLmNhbGwodGhpcyx1KHQsdGhpcy4kcm9vdC4kb3B0aW9ucy5zaGFkb3dSb290KSl9OmZ1bmN0aW9uKHQpe2UuY2FsbCh0aGlzLHModCkpfSksZClpZihjLmZ1bmN0aW9uYWwpe2NvbnN0IHQ9Yy5yZW5kZXI7Yy5yZW5kZXI9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZC5jYWxsKG4pLHQoZSxuKX19ZWxzZXtjb25zdCB0PWMuYmVmb3JlQ3JlYXRlO2MuYmVmb3JlQ3JlYXRlPXQ/W10uY29uY2F0KHQsZCk6W2RdfXJldHVybiBufXZhciBQPXtuYW1lOiJWZ3RQYWdpbmF0aW9uIixwcm9wczp7c3R5bGVDbGFzczp7ZGVmYXVsdDoidGFibGUgdGFibGUtYm9yZGVyZWQifSx0b3RhbDp7ZGVmYXVsdDpudWxsfSxwZXJQYWdlOnt9LHJ0bDp7ZGVmYXVsdDohMX0scGVyUGFnZURyb3Bkb3duRW5hYmxlZDp7ZGVmYXVsdDohMH0sY3VzdG9tUm93c1BlclBhZ2VEcm9wZG93bjp7ZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0scGFnaW5hdGVEcm9wZG93bkFsbG93QWxsOntkZWZhdWx0OiEwfSxtb2RlOntkZWZhdWx0OmZ9LGp1bXBGaXJzdE9yTGFzdDp7ZGVmYXVsdDohMX0sZmlyc3RUZXh0OntkZWZhdWx0OiJGaXJzdCJ9LGxhc3RUZXh0OntkZWZhdWx0OiJMYXN0In0sbmV4dFRleHQ6e2RlZmF1bHQ6Ik5leHQifSxwcmV2VGV4dDp7ZGVmYXVsdDoiUHJldiJ9LHJvd3NQZXJQYWdlVGV4dDp7ZGVmYXVsdDoiUm93cyBwZXIgcGFnZToifSxvZlRleHQ6e2RlZmF1bHQ6Im9mIn0scGFnZVRleHQ6e2RlZmF1bHQ6InBhZ2UifSxhbGxUZXh0OntkZWZhdWx0OiJBbGwifSxpbmZvRm46e2RlZmF1bHQ6bnVsbH19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57aWQ6dGhpcy5nZXRJZCgpLGN1cnJlbnRQYWdlOjEscHJldlBhZ2U6MCxjdXJyZW50UGVyUGFnZToxMCxyb3dzUGVyUGFnZU9wdGlvbnM6W119fSx3YXRjaDp7cGVyUGFnZTp7aGFuZGxlcjpmdW5jdGlvbih0LGUpe3RoaXMuaGFuZGxlUGVyUGFnZSgpLHRoaXMucGVyUGFnZUNoYW5nZWQoZSl9LGltbWVkaWF0ZTohMH0sY3VzdG9tUm93c1BlclBhZ2VEcm9wZG93bjpmdW5jdGlvbigpe3RoaXMuaGFuZGxlUGVyUGFnZSgpfSx0b3RhbDp7aGFuZGxlcjpmdW5jdGlvbih0LGUpey0xPT09dGhpcy5yb3dzUGVyUGFnZU9wdGlvbnMuaW5kZXhPZih0aGlzLmN1cnJlbnRQZXJQYWdlKSYmKHRoaXMuY3VycmVudFBlclBhZ2U9dCl9fX0sY29tcHV0ZWQ6e3BhZ2VzQ291bnQ6ZnVuY3Rpb24oKXtpZigtMT09PXRoaXMuY3VycmVudFBlclBhZ2UpcmV0dXJuIDE7dmFyIHQ9TWF0aC5mbG9vcih0aGlzLnRvdGFsL3RoaXMuY3VycmVudFBlclBhZ2UpO3JldHVybiAwPT09dGhpcy50b3RhbCV0aGlzLmN1cnJlbnRQZXJQYWdlP3Q6dCsxfSxmaXJzdElzUG9zc2libGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJyZW50UGFnZT4xfSxsYXN0SXNQb3NzaWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnRQYWdlPE1hdGguY2VpbCh0aGlzLnRvdGFsL3RoaXMuY3VycmVudFBlclBhZ2UpfSxuZXh0SXNQb3NzaWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnRQYWdlPHRoaXMucGFnZXNDb3VudH0scHJldklzUG9zc2libGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJyZW50UGFnZT4xfX0sbWV0aG9kczp7Z2V0SWQ6ZnVuY3Rpb24oKXtyZXR1cm4idmd0LXNlbGVjdC1ycHAtIi5jb25jYXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKkRhdGUubm93KCkpKX0sY2hhbmdlUGFnZTpmdW5jdGlvbih0KXt2YXIgZT0hKGFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdKXx8YXJndW1lbnRzWzFdO3Q+MCYmdGhpcy50b3RhbD50aGlzLmN1cnJlbnRQZXJQYWdlKih0LTEpJiYodGhpcy5wcmV2UGFnZT10aGlzLmN1cnJlbnRQYWdlLHRoaXMuY3VycmVudFBhZ2U9dCx0aGlzLnBhZ2VDaGFuZ2VkKGUpKX0sZmlyc3RQYWdlOmZ1bmN0aW9uKCl7dGhpcy5maXJzdElzUG9zc2libGUmJih0aGlzLmN1cnJlbnRQYWdlPTEsdGhpcy5wcmV2UGFnZT0wLHRoaXMucGFnZUNoYW5nZWQoKSl9LGxhc3RQYWdlOmZ1bmN0aW9uKCl7dGhpcy5sYXN0SXNQb3NzaWJsZSYmKHRoaXMuY3VycmVudFBhZ2U9dGhpcy5wYWdlc0NvdW50LHRoaXMucHJldj10aGlzLmN1cnJlbnRQYWdlLTEsdGhpcy5wYWdlQ2hhbmdlZCgpKX0sbmV4dFBhZ2U6ZnVuY3Rpb24oKXt0aGlzLm5leHRJc1Bvc3NpYmxlJiYodGhpcy5wcmV2UGFnZT10aGlzLmN1cnJlbnRQYWdlLCsrdGhpcy5jdXJyZW50UGFnZSx0aGlzLnBhZ2VDaGFuZ2VkKCkpfSxwcmV2aW91c1BhZ2U6ZnVuY3Rpb24oKXt0aGlzLnByZXZJc1Bvc3NpYmxlJiYodGhpcy5wcmV2UGFnZT10aGlzLmN1cnJlbnRQYWdlLC0tdGhpcy5jdXJyZW50UGFnZSx0aGlzLnBhZ2VDaGFuZ2VkKCkpfSxwYWdlQ2hhbmdlZDpmdW5jdGlvbigpe3ZhciB0PSEoYXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0pfHxhcmd1bWVudHNbMF0sZT17Y3VycmVudFBhZ2U6dGhpcy5jdXJyZW50UGFnZSxwcmV2UGFnZTp0aGlzLnByZXZQYWdlfTt0fHwoZS5ub0VtaXQ9ITApLHRoaXMuJGVtaXQoInBhZ2UtY2hhbmdlZCIsZSl9LHBlclBhZ2VDaGFuZ2VkOmZ1bmN0aW9uKHQpe3QmJnRoaXMuJGVtaXQoInBlci1wYWdlLWNoYW5nZWQiLHtjdXJyZW50UGVyUGFnZTp0aGlzLmN1cnJlbnRQZXJQYWdlfSksdGhpcy5jaGFuZ2VQYWdlKDEsITEpfSxoYW5kbGVQZXJQYWdlOmZ1bmN0aW9uKCl7aWYobnVsbCE9PXRoaXMuY3VzdG9tUm93c1BlclBhZ2VEcm9wZG93biYmQXJyYXkuaXNBcnJheSh0aGlzLmN1c3RvbVJvd3NQZXJQYWdlRHJvcGRvd24pJiYwIT09dGhpcy5jdXN0b21Sb3dzUGVyUGFnZURyb3Bkb3duLmxlbmd0aD90aGlzLnJvd3NQZXJQYWdlT3B0aW9ucz1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuY3VzdG9tUm93c1BlclBhZ2VEcm9wZG93bikpOnRoaXMucm93c1BlclBhZ2VPcHRpb25zPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocCkpLHRoaXMucGVyUGFnZSl7dGhpcy5jdXJyZW50UGVyUGFnZT10aGlzLnBlclBhZ2U7Zm9yKHZhciB0PSExLGU9MDtlPHRoaXMucm93c1BlclBhZ2VPcHRpb25zLmxlbmd0aDtlKyspdGhpcy5yb3dzUGVyUGFnZU9wdGlvbnNbZV09PT10aGlzLnBlclBhZ2UmJih0PSEwKTt0fHwtMT09PXRoaXMucGVyUGFnZXx8dGhpcy5yb3dzUGVyUGFnZU9wdGlvbnMudW5zaGlmdCh0aGlzLnBlclBhZ2UpfWVsc2UgdGhpcy5jdXJyZW50UGVyUGFnZT0xMH19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt9LGNvbXBvbmVudHM6eyJwYWdpbmF0aW9uLXBhZ2UtaW5mbyI6VCh7cmVuZGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJkaXYiLHtzdGF0aWNDbGFzczoiZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWluZm8ifSxbdC5pbmZvRm4/bigiZGl2IixbdC5fdigiXG4gICAgIit0Ll9zKHQuaW5mb0ZuKHQuaW5mb1BhcmFtcykpKyJcbiAgIildKToicGFnZXMiPT09dC5tb2RlP24oImZvcm0iLHtvbjp7c3VibWl0OmZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKX19fSxbbigibGFiZWwiLHtzdGF0aWNDbGFzczoicGFnZS1pbmZvX19sYWJlbCIsYXR0cnM6e2Zvcjp0LmlkfX0sW24oInNwYW4iLFt0Ll92KHQuX3ModC5wYWdlVGV4dCkpXSksdC5fdigiICIpLG4oImlucHV0Iix7c3RhdGljQ2xhc3M6ImZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1pbmZvX19jdXJyZW50LWVudHJ5IixhdHRyczp7aWQ6dC5pZCwiYXJpYS1kZXNjcmliZWRieSI6ImNoYW5nZS1wYWdlLWhpbnQiLCJhcmlhLWNvbnRyb2xzIjoidmdiLXRhYmxlIix0eXBlOiJ0ZXh0In0sZG9tUHJvcHM6e3ZhbHVlOnQuY3VycmVudFBhZ2V9LG9uOntrZXl1cDpmdW5jdGlvbihlKXtyZXR1cm4hZS50eXBlLmluZGV4T2YoImtleSIpJiZ0Ll9rKGUua2V5Q29kZSwiZW50ZXIiLDEzLGUua2V5LCJFbnRlciIpP251bGw6KGUuc3RvcFByb3BhZ2F0aW9uKCksdC5jaGFuZ2VQYWdlKGUpKX19fSksdC5fdigiICIpLG4oInNwYW4iLFt0Ll92KHQuX3ModC5wYWdlSW5mbykpXSldKSx0Ll92KCIgIiksbigic3BhbiIse3N0YXRpY1N0eWxlOntkaXNwbGF5OiJub25lIn0sYXR0cnM6e2lkOiJjaGFuZ2UtcGFnZS1oaW50In19LFt0Ll92KCJcbiAgICAgIFR5cGUgYSBwYWdlIG51bWJlciBhbmQgcHJlc3MgRW50ZXIgdG8gY2hhbmdlIHRoZSBwYWdlLlxuICAgICIpXSldKTpuKCJkaXYiLFt0Ll92KCJcbiAgICAiK3QuX3ModC5yZWNvcmRJbmZvKSsiXG4gICIpXSldKX0sc3RhdGljUmVuZGVyRm5zOltdfSx1bmRlZmluZWQse25hbWU6IlZndFBhZ2luYXRpb25QYWdlSW5mbyIscHJvcHM6e2N1cnJlbnRQYWdlOntkZWZhdWx0OjF9LGxhc3RQYWdlOntkZWZhdWx0OjF9LHRvdGFsUmVjb3Jkczp7ZGVmYXVsdDowfSxvZlRleHQ6e2RlZmF1bHQ6Im9mIix0eXBlOlN0cmluZ30scGFnZVRleHQ6e2RlZmF1bHQ6InBhZ2UiLHR5cGU6U3RyaW5nfSxjdXJyZW50UGVyUGFnZTp7fSxtb2RlOntkZWZhdWx0OmZ9LGluZm9Gbjp7ZGVmYXVsdDpudWxsfX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntpZDp0aGlzLmdldElkKCl9fSxjb21wdXRlZDp7cGFnZUluZm86ZnVuY3Rpb24oKXtyZXR1cm4iIi5jb25jYXQodGhpcy5vZlRleHQsIiAiKS5jb25jYXQodGhpcy5sYXN0UGFnZSl9LGZpcnN0UmVjb3JkT25QYWdlOmZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMuY3VycmVudFBhZ2UtMSkqdGhpcy5jdXJyZW50UGVyUGFnZSsxfSxsYXN0UmVjb3JkT25QYWdlOmZ1bmN0aW9uKCl7cmV0dXJuLTE9PT10aGlzLmN1cnJlbnRQZXJQYWdlP3RoaXMudG90YWxSZWNvcmRzOk1hdGgubWluKHRoaXMudG90YWxSZWNvcmRzLHRoaXMuY3VycmVudFBhZ2UqdGhpcy5jdXJyZW50UGVyUGFnZSl9LHJlY29yZEluZm86ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmZpcnN0UmVjb3JkT25QYWdlLGU9dGhpcy5sYXN0UmVjb3JkT25QYWdlO3JldHVybiAwPT09ZSYmKHQ9MCksIiIuY29uY2F0KHQsIiAtICIpLmNvbmNhdChlLCIgIikuY29uY2F0KHRoaXMub2ZUZXh0LCIgIikuY29uY2F0KHRoaXMudG90YWxSZWNvcmRzKX0saW5mb1BhcmFtczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuZmlyc3RSZWNvcmRPblBhZ2UsZT10aGlzLmxhc3RSZWNvcmRPblBhZ2U7cmV0dXJuIDA9PT1lJiYodD0wKSx7Zmlyc3RSZWNvcmRPblBhZ2U6dCxsYXN0UmVjb3JkT25QYWdlOmUsdG90YWxSZWNvcmRzOnRoaXMudG90YWxSZWNvcmRzLGN1cnJlbnRQYWdlOnRoaXMuY3VycmVudFBhZ2UsdG90YWxQYWdlOnRoaXMubGFzdFBhZ2V9fX0sbWV0aG9kczp7Z2V0SWQ6ZnVuY3Rpb24oKXtyZXR1cm4idmd0LXBhZ2UtaW5wdXQtIi5jb25jYXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKkRhdGUubm93KCkpKX0sY2hhbmdlUGFnZTpmdW5jdGlvbih0KXt2YXIgZT1wYXJzZUludCh0LnRhcmdldC52YWx1ZSwxMCk7aWYoTnVtYmVyLmlzTmFOKGUpfHxlPnRoaXMubGFzdFBhZ2V8fGU8MSlyZXR1cm4gdC50YXJnZXQudmFsdWU9dGhpcy5jdXJyZW50UGFnZSwhMTt0LnRhcmdldC52YWx1ZT1lLHRoaXMuJGVtaXQoInBhZ2UtY2hhbmdlZCIsZSl9fSxtb3VudGVkOmZ1bmN0aW9uKCl7fSxjb21wb25lbnRzOnt9fSwiZGF0YS12LTM0N2NiY2ZhIixmYWxzZSx1bmRlZmluZWQsITEsdm9pZCAwLHZvaWQgMCx2b2lkIDApfX0sUz1UKHtyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oImRpdiIse3N0YXRpY0NsYXNzOiJ2Z3Qtd3JhcF9fZm9vdGVyIHZndC1jbGVhcmZpeCJ9LFt0LnBlclBhZ2VEcm9wZG93bkVuYWJsZWQ/bigiZGl2Iix7c3RhdGljQ2xhc3M6ImZvb3Rlcl9fcm93LWNvdW50IHZndC1wdWxsLWxlZnQifSxbbigiZm9ybSIsW24oImxhYmVsIix7c3RhdGljQ2xhc3M6ImZvb3Rlcl9fcm93LWNvdW50X19sYWJlbCIsYXR0cnM6e2Zvcjp0LmlkfX0sW3QuX3YodC5fcyh0LnJvd3NQZXJQYWdlVGV4dCkrIjoiKV0pLHQuX3YoIiAiKSxuKCJzZWxlY3QiLHtkaXJlY3RpdmVzOlt7bmFtZToibW9kZWwiLHJhd05hbWU6InYtbW9kZWwiLHZhbHVlOnQuY3VycmVudFBlclBhZ2UsZXhwcmVzc2lvbjoiY3VycmVudFBlclBhZ2UifV0sc3RhdGljQ2xhc3M6ImZvb3Rlcl9fcm93LWNvdW50X19zZWxlY3QiLGF0dHJzOntpZDp0LmlkLGF1dG9jb21wbGV0ZToib2ZmIixuYW1lOiJwZXJQYWdlU2VsZWN0IiwiYXJpYS1jb250cm9scyI6InZndC10YWJsZSJ9LG9uOntjaGFuZ2U6W2Z1bmN0aW9uKGUpe3ZhciBuPUFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChlLnRhcmdldC5vcHRpb25zLChmdW5jdGlvbih0KXtyZXR1cm4gdC5zZWxlY3RlZH0pKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiJfdmFsdWUiaW4gdD90Ll92YWx1ZTp0LnZhbHVlfSkpO3QuY3VycmVudFBlclBhZ2U9ZS50YXJnZXQubXVsdGlwbGU/bjpuWzBdfSx0LnBlclBhZ2VDaGFuZ2VkXX19LFt0Ll9sKHQucm93c1BlclBhZ2VPcHRpb25zLChmdW5jdGlvbihlLHIpe3JldHVybiBuKCJvcHRpb24iLHtrZXk6cixkb21Qcm9wczp7dmFsdWU6ZX19LFt0Ll92KCJcbiAgICAgICAgICAiK3QuX3MoZSkrIlxuICAgICAgICAiKV0pfSkpLHQuX3YoIiAiKSx0LnBhZ2luYXRlRHJvcGRvd25BbGxvd0FsbD9uKCJvcHRpb24iLHtkb21Qcm9wczp7dmFsdWU6LTF9fSxbdC5fdih0Ll9zKHQuYWxsVGV4dCkpXSk6dC5fZSgpXSwyKV0pXSk6dC5fZSgpLHQuX3YoIiAiKSxuKCJkaXYiLHtzdGF0aWNDbGFzczoiZm9vdGVyX19uYXZpZ2F0aW9uIHZndC1wdWxsLXJpZ2h0In0sW24oInBhZ2luYXRpb24tcGFnZS1pbmZvIix7YXR0cnM6eyJ0b3RhbC1yZWNvcmRzIjp0LnRvdGFsLCJsYXN0LXBhZ2UiOnQucGFnZXNDb3VudCwiY3VycmVudC1wYWdlIjp0LmN1cnJlbnRQYWdlLCJjdXJyZW50LXBlci1wYWdlIjp0LmN1cnJlbnRQZXJQYWdlLCJvZi10ZXh0Ijp0Lm9mVGV4dCwicGFnZS10ZXh0Ijp0LnBhZ2VUZXh0LCJpbmZvLWZuIjp0LmluZm9Gbixtb2RlOnQubW9kZX0sb246eyJwYWdlLWNoYW5nZWQiOnQuY2hhbmdlUGFnZX19KSx0Ll92KCIgIiksdC5qdW1wRmlyc3RPckxhc3Q/bigiYnV0dG9uIix7c3RhdGljQ2xhc3M6ImZvb3Rlcl9fbmF2aWdhdGlvbl9fcGFnZS1idG4iLGNsYXNzOntkaXNhYmxlZDohdC5maXJzdElzUG9zc2libGV9LGF0dHJzOnt0eXBlOiJidXR0b24iLCJhcmlhLWNvbnRyb2xzIjoidmd0LXRhYmxlIn0sb246e2NsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiBlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0LmZpcnN0UGFnZShlKX19fSxbbigic3BhbiIse3N0YXRpY0NsYXNzOiJjaGV2cm9uIixjbGFzczp7bGVmdDohdC5ydGwscmlnaHQ6dC5ydGx9LGF0dHJzOnsiYXJpYS1oaWRkZW4iOiJ0cnVlIn19KSx0Ll92KCIgIiksbigic3BhbiIsW3QuX3YodC5fcyh0LmZpcnN0VGV4dCkpXSldKTp0Ll9lKCksdC5fdigiICIpLG4oImJ1dHRvbiIse3N0YXRpY0NsYXNzOiJmb290ZXJfX25hdmlnYXRpb25fX3BhZ2UtYnRuIixjbGFzczp7ZGlzYWJsZWQ6IXQucHJldklzUG9zc2libGV9LGF0dHJzOnt0eXBlOiJidXR0b24iLCJhcmlhLWNvbnRyb2xzIjoidmd0LXRhYmxlIn0sb246e2NsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiBlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0LnByZXZpb3VzUGFnZShlKX19fSxbbigic3BhbiIse3N0YXRpY0NsYXNzOiJjaGV2cm9uIixjbGFzczp7bGVmdDohdC5ydGwscmlnaHQ6dC5ydGx9LGF0dHJzOnsiYXJpYS1oaWRkZW4iOiJ0cnVlIn19KSx0Ll92KCIgIiksbigic3BhbiIsW3QuX3YodC5fcyh0LnByZXZUZXh0KSldKV0pLHQuX3YoIiAiKSxuKCJidXR0b24iLHtzdGF0aWNDbGFzczoiZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0biIsY2xhc3M6e2Rpc2FibGVkOiF0Lm5leHRJc1Bvc3NpYmxlfSxhdHRyczp7dHlwZToiYnV0dG9uIiwiYXJpYS1jb250cm9scyI6InZndC10YWJsZSJ9LG9uOntjbGljazpmdW5jdGlvbihlKXtyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksdC5uZXh0UGFnZShlKX19fSxbbigic3BhbiIsW3QuX3YodC5fcyh0Lm5leHRUZXh0KSldKSx0Ll92KCIgIiksbigic3BhbiIse3N0YXRpY0NsYXNzOiJjaGV2cm9uIixjbGFzczp7cmlnaHQ6IXQucnRsLGxlZnQ6dC5ydGx9LGF0dHJzOnsiYXJpYS1oaWRkZW4iOiJ0cnVlIn19KV0pLHQuX3YoIiAiKSx0Lmp1bXBGaXJzdE9yTGFzdD9uKCJidXR0b24iLHtzdGF0aWNDbGFzczoiZm9vdGVyX19uYXZpZ2F0aW9uX19wYWdlLWJ0biIsY2xhc3M6e2Rpc2FibGVkOiF0Lmxhc3RJc1Bvc3NpYmxlfSxhdHRyczp7dHlwZToiYnV0dG9uIiwiYXJpYS1jb250cm9scyI6InZndC10YWJsZSJ9LG9uOntjbGljazpmdW5jdGlvbihlKXtyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksdC5sYXN0UGFnZShlKX19fSxbbigic3BhbiIsW3QuX3YodC5fcyh0Lmxhc3RUZXh0KSldKSx0Ll92KCIgIiksbigic3BhbiIse3N0YXRpY0NsYXNzOiJjaGV2cm9uIixjbGFzczp7cmlnaHQ6IXQucnRsLGxlZnQ6dC5ydGx9LGF0dHJzOnsiYXJpYS1oaWRkZW4iOiJ0cnVlIn19KV0pOnQuX2UoKV0sMSldKX0sc3RhdGljUmVuZGVyRm5zOltdfSx1bmRlZmluZWQsUCx1bmRlZmluZWQsZmFsc2UsdW5kZWZpbmVkLCExLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxrPVQoe3JlbmRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gdC5zaG93Q29udHJvbEJhcj9uKCJkaXYiLHtzdGF0aWNDbGFzczoidmd0LWdsb2JhbC1zZWFyY2ggdmd0LWNsZWFyZml4In0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJ2Z3QtZ2xvYmFsLXNlYXJjaF9faW5wdXQgdmd0LXB1bGwtbGVmdCJ9LFt0LnNlYXJjaEVuYWJsZWQ/bigiZm9ybSIse2F0dHJzOntyb2xlOiJzZWFyY2gifSxvbjp7c3VibWl0OmZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKX19fSxbbigibGFiZWwiLHthdHRyczp7Zm9yOnQuaWR9fSxbdC5fbSgwKSx0Ll92KCIgIiksbigic3BhbiIse3N0YXRpY0NsYXNzOiJzci1vbmx5In0sW3QuX3YoIlNlYXJjaCIpXSldKSx0Ll92KCIgIiksbigiaW5wdXQiLHtzdGF0aWNDbGFzczoidmd0LWlucHV0IHZndC1wdWxsLWxlZnQiLGF0dHJzOntpZDp0LmlkLHR5cGU6InRleHQiLHBsYWNlaG9sZGVyOnQuZ2xvYmFsU2VhcmNoUGxhY2Vob2xkZXJ9LGRvbVByb3BzOnt2YWx1ZTp0LnZhbHVlfSxvbjp7aW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHQudXBkYXRlVmFsdWUoZS50YXJnZXQudmFsdWUpfSxrZXl1cDpmdW5jdGlvbihlKXtyZXR1cm4hZS50eXBlLmluZGV4T2YoImtleSIpJiZ0Ll9rKGUua2V5Q29kZSwiZW50ZXIiLDEzLGUua2V5LCJFbnRlciIpP251bGw6dC5lbnRlcmVkKGUudGFyZ2V0LnZhbHVlKX19fSldKTp0Ll9lKCldKSx0Ll92KCIgIiksbigiZGl2Iix7c3RhdGljQ2xhc3M6InZndC1nbG9iYWwtc2VhcmNoX19hY3Rpb25zIHZndC1wdWxsLXJpZ2h0In0sW3QuX3QoImludGVybmFsLXRhYmxlLWFjdGlvbnMiKV0sMildKTp0Ll9lKCl9LHN0YXRpY1JlbmRlckZuczpbZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRjcmVhdGVFbGVtZW50LGU9dGhpcy5fc2VsZi5fY3x8dDtyZXR1cm4gZSgic3BhbiIse3N0YXRpY0NsYXNzOiJpbnB1dF9faWNvbiIsYXR0cnM6eyJhcmlhLWhpZGRlbiI6InRydWUifX0sW2UoImRpdiIse3N0YXRpY0NsYXNzOiJtYWduaWZ5aW5nLWdsYXNzIn0pXSl9XX0sdW5kZWZpbmVkLHtuYW1lOiJWZ3RHbG9iYWxTZWFyY2giLHByb3BzOlsidmFsdWUiLCJzZWFyY2hFbmFibGVkIiwiZ2xvYmFsU2VhcmNoUGxhY2Vob2xkZXIiXSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2dsb2JhbFNlYXJjaFRlcm06bnVsbCxpZDp0aGlzLmdldElkKCl9fSxjb21wdXRlZDp7c2hvd0NvbnRyb2xCYXI6ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuc2VhcmNoRW5hYmxlZHx8ISghdGhpcy4kc2xvdHN8fCF0aGlzLiRzbG90c1siaW50ZXJuYWwtdGFibGUtYWN0aW9ucyJdKX19LG1ldGhvZHM6e3VwZGF0ZVZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMuJGVtaXQoImlucHV0Iix0KSx0aGlzLiRlbWl0KCJvbi1rZXl1cCIsdCl9LGVudGVyZWQ6ZnVuY3Rpb24odCl7dGhpcy4kZW1pdCgib24tZW50ZXIiLHQpfSxnZXRJZDpmdW5jdGlvbigpe3JldHVybiJ2Z3Qtc2VhcmNoLSIuY29uY2F0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpEYXRlLm5vdygpKSl9fX0sdW5kZWZpbmVkLGZhbHNlLHVuZGVmaW5lZCwhMSx2b2lkIDAsdm9pZCAwLHZvaWQgMCksTz17bmFtZToiVmd0RmlsdGVyUm93Iixwcm9wczpbImxpbmVOdW1iZXJzIiwiY29sdW1ucyIsInR5cGVkQ29sdW1ucyIsImdsb2JhbFNlYXJjaEVuYWJsZWQiLCJzZWxlY3RhYmxlIiwibW9kZSJdLHdhdGNoOntjb2x1bW5zOntoYW5kbGVyOmZ1bmN0aW9uKHQsZSl7dGhpcy5wb3B1bGF0ZUluaXRpYWxGaWx0ZXJzKCl9LGRlZXA6ITAsaW1tZWRpYXRlOiEwfX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntjb2x1bW5GaWx0ZXJzOnt9LHRpbWVyOm51bGx9fSxjb21wdXRlZDp7aGFzRmlsdGVyUm93OmZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDx0aGlzLmNvbHVtbnMubGVuZ3RoO3QrKyl7dmFyIGU9dGhpcy5jb2x1bW5zW3RdO2lmKGUuZmlsdGVyT3B0aW9ucyYmZS5maWx0ZXJPcHRpb25zLmVuYWJsZWQpcmV0dXJuITB9cmV0dXJuITF9fSxtZXRob2RzOntmaWVsZEtleTpmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdCYmdC5uYW1lP3QubmFtZTp0fSxyZXNldDpmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdJiZhcmd1bWVudHNbMF07dGhpcy5jb2x1bW5GaWx0ZXJzPXt9LHQmJnRoaXMuJGVtaXQoImZpbHRlci1jaGFuZ2VkIix0aGlzLmNvbHVtbkZpbHRlcnMpfSxpc0ZpbHRlcmFibGU6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZmlsdGVyT3B0aW9ucyYmdC5maWx0ZXJPcHRpb25zLmVuYWJsZWR9LGlzRHJvcGRvd246ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaXNGaWx0ZXJhYmxlKHQpJiZ0LmZpbHRlck9wdGlvbnMuZmlsdGVyRHJvcGRvd25JdGVtcyYmdC5maWx0ZXJPcHRpb25zLmZpbHRlckRyb3Bkb3duSXRlbXMubGVuZ3RofSxpc0Ryb3Bkb3duT2JqZWN0czpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pc0Ryb3Bkb3duKHQpJiYib2JqZWN0Ij09PXIodC5maWx0ZXJPcHRpb25zLmZpbHRlckRyb3Bkb3duSXRlbXNbMF0pfSxpc0Ryb3Bkb3duQXJyYXk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaXNEcm9wZG93bih0KSYmIm9iamVjdCIhPT1yKHQuZmlsdGVyT3B0aW9ucy5maWx0ZXJEcm9wZG93bkl0ZW1zWzBdKX0sZ2V0Q2xhc3NlczpmdW5jdGlvbih0KXt2YXIgZT0iZmlsdGVyLXRoIjtyZXR1cm4gdC5maWx0ZXJPcHRpb25zJiZ0LmZpbHRlck9wdGlvbnMuc3R5bGVDbGFzcz9bZV0uY29uY2F0KG8odC5maWx0ZXJPcHRpb25zLnN0eWxlQ2xhc3Muc3BsaXQoIiAiKSkpLmpvaW4oIiAiKTplfSxnZXRQbGFjZWhvbGRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pc0ZpbHRlcmFibGUodCkmJnQuZmlsdGVyT3B0aW9ucy5wbGFjZWhvbGRlcnx8IkZpbHRlciAiLmNvbmNhdCh0LmxhYmVsKX0sZ2V0TmFtZTpmdW5jdGlvbih0KXtyZXR1cm4idmd0LSIuY29uY2F0KHRoaXMuZmllbGRLZXkodC5maWVsZCkpfSx1cGRhdGVGaWx0ZXJzT25FbnRlcjpmdW5jdGlvbih0LGUpe3RoaXMudGltZXImJmNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnVwZGF0ZUZpbHRlcnNJbW1lZGlhdGVseSh0LmZpZWxkLGUpfSx1cGRhdGVGaWx0ZXJzT25LZXl1cDpmdW5jdGlvbih0LGUpeyJlbnRlciIhPT10LmZpbHRlck9wdGlvbnMudHJpZ2dlciYmdGhpcy51cGRhdGVGaWx0ZXJzKHQsZSl9LHVwZGF0ZVNsb3RGaWx0ZXI6ZnVuY3Rpb24odCxlKXt2YXIgbj10LmZpbHRlck9wdGlvbnMuc2xvdEZpbHRlckZpZWxkfHx0LmZpZWxkOyJmdW5jdGlvbiI9PXR5cGVvZiB0LmZpbHRlck9wdGlvbnMuZm9ybWF0VmFsdWUmJihlPXQuZmlsdGVyT3B0aW9ucy5mb3JtYXRWYWx1ZShlKSksdGhpcy51cGRhdGVGaWx0ZXJzSW1tZWRpYXRlbHkobixlKX0sdXBkYXRlRmlsdGVyczpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7dGhpcy50aW1lciYmY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtuLnVwZGF0ZUZpbHRlcnNJbW1lZGlhdGVseSh0LmZpZWxkLGUpfSksNDAwKX0sdXBkYXRlRmlsdGVyc0ltbWVkaWF0ZWx5OmZ1bmN0aW9uKHQsZSl7dGhpcy4kc2V0KHRoaXMuY29sdW1uRmlsdGVycyx0aGlzLmZpZWxkS2V5KHQpLGUpLHRoaXMuJGVtaXQoImZpbHRlci1jaGFuZ2VkIix0aGlzLmNvbHVtbkZpbHRlcnMpfSxwb3B1bGF0ZUluaXRpYWxGaWx0ZXJzOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDx0aGlzLmNvbHVtbnMubGVuZ3RoO3QrKyl7dmFyIGU9dGhpcy5jb2x1bW5zW3RdO3RoaXMuaXNGaWx0ZXJhYmxlKGUpJiZ2b2lkIDAhPT1lLmZpbHRlck9wdGlvbnMuZmlsdGVyVmFsdWUmJm51bGwhPT1lLmZpbHRlck9wdGlvbnMuZmlsdGVyVmFsdWUmJnRoaXMuJHNldCh0aGlzLmNvbHVtbkZpbHRlcnMsdGhpcy5maWVsZEtleShlLmZpZWxkKSxlLmZpbHRlck9wdGlvbnMuZmlsdGVyVmFsdWUpfXRoaXMuJGVtaXQoImZpbHRlci1jaGFuZ2VkIix0aGlzLmNvbHVtbkZpbHRlcnMpfX19LCQ9VCh7cmVuZGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiB0Lmhhc0ZpbHRlclJvdz9uKCJ0ciIsW3QubGluZU51bWJlcnM/bigidGgiKTp0Ll9lKCksdC5fdigiICIpLHQuc2VsZWN0YWJsZT9uKCJ0aCIpOnQuX2UoKSx0Ll92KCIgIiksdC5fbCh0LmNvbHVtbnMsKGZ1bmN0aW9uKGUscil7cmV0dXJuIGUuaGlkZGVuP3QuX2UoKTpuKCJ0aCIse2tleTpyLGNsYXNzOnQuZ2V0Q2xhc3NlcyhlKX0sW3QuX3QoImNvbHVtbi1maWx0ZXIiLFt0LmlzRmlsdGVyYWJsZShlKT9uKCJkaXYiLFt0LmlzRHJvcGRvd24oZSk/dC5fZSgpOm4oImlucHV0Iix7c3RhdGljQ2xhc3M6InZndC1pbnB1dCIsYXR0cnM6e25hbWU6dC5nZXROYW1lKGUpLHR5cGU6InRleHQiLHBsYWNlaG9sZGVyOnQuZ2V0UGxhY2Vob2xkZXIoZSl9LGRvbVByb3BzOnt2YWx1ZTp0LmNvbHVtbkZpbHRlcnNbdC5maWVsZEtleShlLmZpZWxkKV19LG9uOntrZXl1cDpmdW5jdGlvbihuKXtyZXR1cm4hbi50eXBlLmluZGV4T2YoImtleSIpJiZ0Ll9rKG4ua2V5Q29kZSwiZW50ZXIiLDEzLG4ua2V5LCJFbnRlciIpP251bGw6dC51cGRhdGVGaWx0ZXJzT25FbnRlcihlLG4udGFyZ2V0LnZhbHVlKX0saW5wdXQ6ZnVuY3Rpb24obil7cmV0dXJuIHQudXBkYXRlRmlsdGVyc09uS2V5dXAoZSxuLnRhcmdldC52YWx1ZSl9fX0pLHQuX3YoIiAiKSx0LmlzRHJvcGRvd25BcnJheShlKT9uKCJzZWxlY3QiLHtzdGF0aWNDbGFzczoidmd0LXNlbGVjdCIsYXR0cnM6e25hbWU6dC5nZXROYW1lKGUpfSxkb21Qcm9wczp7dmFsdWU6dC5jb2x1bW5GaWx0ZXJzW3QuZmllbGRLZXkoZS5maWVsZCldfSxvbjp7Y2hhbmdlOmZ1bmN0aW9uKG4pe3JldHVybiB0LnVwZGF0ZUZpbHRlcnNJbW1lZGlhdGVseShlLmZpZWxkLG4udGFyZ2V0LnZhbHVlKX19fSxbbigib3B0aW9uIix7a2V5OiItMSIsYXR0cnM6e3ZhbHVlOiIifX0sW3QuX3YodC5fcyh0LmdldFBsYWNlaG9sZGVyKGUpKSldKSx0Ll92KCIgIiksdC5fbChlLmZpbHRlck9wdGlvbnMuZmlsdGVyRHJvcGRvd25JdGVtcywoZnVuY3Rpb24oZSxyKXtyZXR1cm4gbigib3B0aW9uIix7a2V5OnIsZG9tUHJvcHM6e3ZhbHVlOmV9fSxbdC5fdigiXG4gICAgICAgICAgICAgICIrdC5fcyhlKSsiXG4gICAgICAgICAgICAiKV0pfSkpXSwyKTp0Ll9lKCksdC5fdigiICIpLHQuaXNEcm9wZG93bk9iamVjdHMoZSk/bigic2VsZWN0Iix7c3RhdGljQ2xhc3M6InZndC1zZWxlY3QiLGF0dHJzOntuYW1lOnQuZ2V0TmFtZShlKX0sZG9tUHJvcHM6e3ZhbHVlOnQuY29sdW1uRmlsdGVyc1t0LmZpZWxkS2V5KGUuZmllbGQpXX0sb246e2NoYW5nZTpmdW5jdGlvbihuKXtyZXR1cm4gdC51cGRhdGVGaWx0ZXJzSW1tZWRpYXRlbHkoZS5maWVsZCxuLnRhcmdldC52YWx1ZSl9fX0sW24oIm9wdGlvbiIse2tleToiLTEiLGF0dHJzOnt2YWx1ZToiIn19LFt0Ll92KHQuX3ModC5nZXRQbGFjZWhvbGRlcihlKSkpXSksdC5fdigiICIpLHQuX2woZS5maWx0ZXJPcHRpb25zLmZpbHRlckRyb3Bkb3duSXRlbXMsKGZ1bmN0aW9uKGUscil7cmV0dXJuIG4oIm9wdGlvbiIse2tleTpyLGRvbVByb3BzOnt2YWx1ZTplLnZhbHVlfX0sW3QuX3YodC5fcyhlLnRleHQpKV0pfSkpXSwyKTp0Ll9lKCldKTp0Ll9lKCldLHtjb2x1bW46ZSx1cGRhdGVGaWx0ZXJzOnQudXBkYXRlU2xvdEZpbHRlcn0pXSwyKX0pKV0sMik6dC5fZSgpfSxzdGF0aWNSZW5kZXJGbnM6W119LHVuZGVmaW5lZCxPLCJkYXRhLXYtNjg2OWJmMWMiLGZhbHNlLHVuZGVmaW5lZCwhMSx2b2lkIDAsdm9pZCAwLHZvaWQgMCk7ZnVuY3Rpb24gQSh0KXtyZXR1cm4gdC5maXJzdFNvcnRUeXBlfHwiYXNjIn1mdW5jdGlvbiBEKHQsZSl7cmV0dXJuIGM9PT1BKGUpJiZ0PT09dT9kOnQ9PT11P2M6Yz09PUEoZSkmJnQ9PT1jP3U6dD09PWM/ZDpjPT09QShlKSYmdD09PWQ/Yzp1fXZhciBSPXtuYW1lOiJWZ3RUYWJsZUhlYWRlciIscHJvcHM6e2xpbmVOdW1iZXJzOntkZWZhdWx0OiExLHR5cGU6Qm9vbGVhbn0sc2VsZWN0YWJsZTp7ZGVmYXVsdDohMSx0eXBlOkJvb2xlYW59LGFsbFNlbGVjdGVkOntkZWZhdWx0OiExLHR5cGU6Qm9vbGVhbn0sYWxsU2VsZWN0ZWRJbmRldGVybWluYXRlOntkZWZhdWx0OiExLHR5cGU6Qm9vbGVhbn0sY29sdW1uczp7dHlwZTpBcnJheX0sbW9kZTp7dHlwZTpTdHJpbmd9LHR5cGVkQ29sdW1uczp7fSxzb3J0YWJsZTp7dHlwZTpCb29sZWFufSxtdWx0aXBsZUNvbHVtblNvcnQ6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxnZXRDbGFzc2VzOnt0eXBlOkZ1bmN0aW9ufSxzZWFyY2hFbmFibGVkOnt0eXBlOkJvb2xlYW59LHRhYmxlUmVmOnt9LHBhZ2luYXRlZDp7fX0sd2F0Y2g6e2NvbHVtbnM6e2hhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLnNldENvbHVtblN0eWxlcygpfSxpbW1lZGlhdGU6ITB9LHRhYmxlUmVmOntoYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5zZXRDb2x1bW5TdHlsZXMoKX0saW1tZWRpYXRlOiEwfSxwYWdpbmF0ZWQ6e2hhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLnRhYmxlUmVmJiZ0aGlzLnNldENvbHVtblN0eWxlcygpfSxkZWVwOiEwfX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntjaGVja0JveFRoU3R5bGU6e30sbGluZU51bWJlclRoU3R5bGU6e30sY29sdW1uU3R5bGVzOltdLHNvcnRzOltdLHJvOm51bGx9fSxjb21wdXRlZDp7fSxtZXRob2RzOntyZXNldDpmdW5jdGlvbigpe3RoaXMuJHJlZnNbImZpbHRlci1yb3ciXS5yZXNldCghMCl9LHRvZ2dsZVNlbGVjdEFsbDpmdW5jdGlvbigpe3RoaXMuJGVtaXQoIm9uLXRvZ2dsZS1zZWxlY3QtYWxsIil9LGlzU29ydGFibGVDb2x1bW46ZnVuY3Rpb24odCl7dmFyIGU9dC5zb3J0YWJsZTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBlP2U6dGhpcy5zb3J0YWJsZX0sc29ydDpmdW5jdGlvbih0LGUpe3RoaXMuaXNTb3J0YWJsZUNvbHVtbihlKSYmKHQuc2hpZnRLZXkmJnRoaXMubXVsdGlwbGVDb2x1bW5Tb3J0P3RoaXMuc29ydHM9ZnVuY3Rpb24odCxlKXt2YXIgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWlmKGUuZmllbGQ9PT10W25dLmZpZWxkKXJldHVybiBuO3JldHVybi0xfSh0LGUpO3JldHVybi0xPT09bj90LnB1c2goe2ZpZWxkOmUuZmllbGQsdHlwZTpBKGUpfSk6dFtuXS50eXBlPUQodFtuXS50eXBlLGUpLHR9KHRoaXMuc29ydHMsZSk6dGhpcy5zb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIDE9PT10Lmxlbmd0aCYmdFswXS5maWVsZD09PWUuZmllbGQ/dFswXS50eXBlOnZvaWQgMH0odCxlKSxyPUQobixlKTtyZXR1cm5be2ZpZWxkOmUuZmllbGQsdHlwZTpuP3I6QShlKX1dfSh0aGlzLnNvcnRzLGUpLHRoaXMuJGVtaXQoIm9uLXNvcnQtY2hhbmdlIix0aGlzLnNvcnRzKSl9LHNldEluaXRpYWxTb3J0OmZ1bmN0aW9uKHQpe3RoaXMuc29ydHM9dCx0aGlzLiRlbWl0KCJvbi1zb3J0LWNoYW5nZSIsdGhpcy5zb3J0cyl9LGdldENvbHVtblNvcnQ6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0aGlzLnNvcnRzLmxlbmd0aDtlKz0xKWlmKHRoaXMuc29ydHNbZV0uZmllbGQ9PT10LmZpZWxkKXJldHVybiB0aGlzLnNvcnRzW2VdLnR5cGV8fCJhc2MiO3JldHVybiBudWxsfSxnZXRDb2x1bW5Tb3J0TG9uZzpmdW5jdGlvbih0KXtyZXR1cm4iYXNjIj09PXRoaXMuZ2V0Q29sdW1uU29ydCh0KT8iYXNjZW5kaW5nIjoiZGVzY2VuZGluZyJ9LGdldEhlYWRlckNsYXNzZXM6ZnVuY3Rpb24odCxlKXtyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSx0aGlzLmdldENsYXNzZXMoZSwidGgiKSx7c29ydGFibGU6dGhpcy5pc1NvcnRhYmxlQ29sdW1uKHQpLCJzb3J0aW5nIHNvcnRpbmctZGVzYyI6ImRlc2MiPT09dGhpcy5nZXRDb2x1bW5Tb3J0KHQpLCJzb3J0aW5nIHNvcnRpbmctYXNjIjoiYXNjIj09PXRoaXMuZ2V0Q29sdW1uU29ydCh0KX0pfSxmaWx0ZXJSb3dzOmZ1bmN0aW9uKHQpe3RoaXMuJGVtaXQoImZpbHRlci1jaGFuZ2VkIix0KX0sZ2V0V2lkdGhTdHlsZTpmdW5jdGlvbih0KXtyZXR1cm4gd2luZG93JiZ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSYmdD97d2lkdGg6d2luZG93LmdldENvbXB1dGVkU3R5bGUodCxudWxsKS53aWR0aH06e3dpZHRoOiJhdXRvIn19LHNldENvbHVtblN0eWxlczpmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTx0aGlzLmNvbHVtbnMubGVuZ3RoO2UrKylpZih0aGlzLnRhYmxlUmVmKXt2YXIgbj0wO3RoaXMuc2VsZWN0YWJsZSYmbisrLHRoaXMubGluZU51bWJlcnMmJm4rKzt2YXIgcj10aGlzLnRhYmxlUmVmLnJvd3NbMF0uY2VsbHNbZStuXTt0LnB1c2godGhpcy5nZXRXaWR0aFN0eWxlKHIpKX1lbHNlIHQucHVzaCh7bWluV2lkdGg6dGhpcy5jb2x1bW5zW2VdLndpZHRoP3RoaXMuY29sdW1uc1tlXS53aWR0aDoiYXV0byIsbWF4V2lkdGg6dGhpcy5jb2x1bW5zW2VdLndpZHRoP3RoaXMuY29sdW1uc1tlXS53aWR0aDoiYXV0byIsd2lkdGg6dGhpcy5jb2x1bW5zW2VdLndpZHRoP3RoaXMuY29sdW1uc1tlXS53aWR0aDoiYXV0byJ9KTt0aGlzLmNvbHVtblN0eWxlcz10fSxnZXRDb2x1bW5TdHlsZTpmdW5jdGlvbih0LGUpe3ZhciBuPXttaW5XaWR0aDp0LndpZHRoP3Qud2lkdGg6ImF1dG8iLG1heFdpZHRoOnQud2lkdGg/dC53aWR0aDoiYXV0byIsd2lkdGg6dC53aWR0aD90LndpZHRoOiJhdXRvIn07aWYodGhpcy50YWJsZVJlZil7dGhpcy5zZWxlY3RhYmxlJiZlKyssdGhpcy5saW5lTnVtYmVycyYmZSsrO3ZhciByPXRoaXMudGFibGVSZWYucm93c1swXS5jZWxsc1tlXSxhPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHIsbnVsbCk7bi53aWR0aD1hLndpZHRofXJldHVybiBufX0sbW91bnRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy4kbmV4dFRpY2soKGZ1bmN0aW9uKCl7IlJlc2l6ZU9ic2VydmVyImluIHdpbmRvdyYmKHQucm89bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbigpe3Quc2V0Q29sdW1uU3R5bGVzKCl9KSksdC5yby5vYnNlcnZlKHQuJHBhcmVudC4kZWwpLHQudGFibGVSZWYmJkFycmF5LmZyb20odC4kcGFyZW50LiRyZWZzWyJ0YWJsZS1oZWFkZXItcHJpbWFyeSJdLiRlbC5jaGlsZHJlblswXS5jaGlsZHJlbikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dC5yby5vYnNlcnZlKGUpfSkpKX0pKX0sYmVmb3JlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMucm8mJnRoaXMucm8uZGlzY29ubmVjdCgpfSxjb21wb25lbnRzOnsidmd0LWZpbHRlci1yb3ciOiR9fSxFPVQoe3JlbmRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidGhlYWQiLFtuKCJ0ciIsW3QubGluZU51bWJlcnM/bigidGgiLHtzdGF0aWNDbGFzczoibGluZS1udW1iZXJzIixhdHRyczp7c2NvcGU6ImNvbCJ9fSk6dC5fZSgpLHQuX3YoIiAiKSx0LnNlbGVjdGFibGU/bigidGgiLHtzdGF0aWNDbGFzczoidmd0LWNoZWNrYm94LWNvbCIsYXR0cnM6e3Njb3BlOiJjb2wifX0sW24oImlucHV0Iix7YXR0cnM6e3R5cGU6ImNoZWNrYm94In0sZG9tUHJvcHM6e2NoZWNrZWQ6dC5hbGxTZWxlY3RlZCxpbmRldGVybWluYXRlOnQuYWxsU2VsZWN0ZWRJbmRldGVybWluYXRlfSxvbjp7Y2hhbmdlOnQudG9nZ2xlU2VsZWN0QWxsfX0pXSk6dC5fZSgpLHQuX3YoIiAiKSx0Ll9sKHQuY29sdW1ucywoZnVuY3Rpb24oZSxyKXtyZXR1cm4gZS5oaWRkZW4/dC5fZSgpOm4oInRoIix7a2V5OnIsY2xhc3M6dC5nZXRIZWFkZXJDbGFzc2VzKGUsciksc3R5bGU6dC5jb2x1bW5TdHlsZXNbcl0sYXR0cnM6e3Njb3BlOiJjb2wiLHRpdGxlOmUudG9vbHRpcCwiYXJpYS1zb3J0Ijp0LmdldENvbHVtblNvcnRMb25nKGUpLCJhcmlhLWNvbnRyb2xzIjoiY29sLSIrcn19LFt0Ll90KCJ0YWJsZS1jb2x1bW4iLFt0Ll92KCJcbiAgICAgICAgIit0Ll9zKGUubGFiZWwpKyJcbiAgICAgICIpXSx7Y29sdW1uOmV9KSx0Ll92KCIgIiksdC5pc1NvcnRhYmxlQ29sdW1uKGUpP24oImJ1dHRvbiIse29uOntjbGljazpmdW5jdGlvbihuKXtyZXR1cm4gdC5zb3J0KG4sZSl9fX0sW24oInNwYW4iLHtzdGF0aWNDbGFzczoic3Itb25seSJ9LFt0Ll92KCJcbiAgICAgICAgICBTb3J0IHRhYmxlIGJ5ICIrdC5fcyhlLmxhYmVsKSsiIGluICIrdC5fcyh0LmdldENvbHVtblNvcnRMb25nKGUpKSsiIG9yZGVyXG4gICAgICAgICAgIildKV0pOnQuX2UoKV0sMil9KSldLDIpLHQuX3YoIiAiKSxuKCJ2Z3QtZmlsdGVyLXJvdyIse3JlZjoiZmlsdGVyLXJvdyIsdGFnOiJ0ciIsYXR0cnM6eyJnbG9iYWwtc2VhcmNoLWVuYWJsZWQiOnQuc2VhcmNoRW5hYmxlZCwibGluZS1udW1iZXJzIjp0LmxpbmVOdW1iZXJzLHNlbGVjdGFibGU6dC5zZWxlY3RhYmxlLGNvbHVtbnM6dC5jb2x1bW5zLG1vZGU6dC5tb2RlLCJ0eXBlZC1jb2x1bW5zIjp0LnR5cGVkQ29sdW1uc30sb246eyJmaWx0ZXItY2hhbmdlZCI6dC5maWx0ZXJSb3dzfSxzY29wZWRTbG90czp0Ll91KFt7a2V5OiJjb2x1bW4tZmlsdGVyIixmbjpmdW5jdGlvbihlKXtyZXR1cm5bdC5fdCgiY29sdW1uLWZpbHRlciIsbnVsbCx7Y29sdW1uOmUuY29sdW1uLHVwZGF0ZUZpbHRlcnM6ZS51cGRhdGVGaWx0ZXJzfSldfX1dLG51bGwsITApfSldLDEpfSxzdGF0aWNSZW5kZXJGbnM6W119LHVuZGVmaW5lZCxSLHVuZGVmaW5lZCxmYWxzZSx1bmRlZmluZWQsITEsdm9pZCAwLHZvaWQgMCx2b2lkIDApLEY9VCh7cmVuZGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ0ciIsWyJzcGFuIj09PXQuaGVhZGVyUm93Lm1vZGU/bigidGgiLHtzdGF0aWNDbGFzczoidmd0LWxlZnQtYWxpZ24gdmd0LXJvdy1oZWFkZXIiLGF0dHJzOntjb2xzcGFuOnQuZnVsbENvbHNwYW59fSxbdC5zZWxlY3RBbGxCeUdyb3VwP1t0Ll90KCJ0YWJsZS1oZWFkZXItZ3JvdXAtc2VsZWN0IixbbigiaW5wdXQiLHthdHRyczp7dHlwZToiY2hlY2tib3gifSxkb21Qcm9wczp7Y2hlY2tlZDp0LmFsbFNlbGVjdGVkfSxvbjp7Y2hhbmdlOmZ1bmN0aW9uKGUpe3JldHVybiB0LnRvZ2dsZVNlbGVjdEdyb3VwKGUpfX19KV0se2NvbHVtbnM6dC5jb2x1bW5zLHJvdzp0LmhlYWRlclJvd30pXTp0Ll9lKCksdC5fdigiICIpLG4oInNwYW4iLHtvbjp7Y2xpY2s6ZnVuY3Rpb24oZSl7dC5jb2xsYXBzYWJsZSYmdC4kZW1pdCgidmd0RXhwYW5kIiwhdC5oZWFkZXJSb3cudmd0SXNFeHBhbmRlZCl9fX0sW3QuY29sbGFwc2FibGU/bigic3BhbiIse3N0YXRpY0NsYXNzOiJ0cmlhbmdsZSIsY2xhc3M6e2V4cGFuZDp0LmhlYWRlclJvdy52Z3RJc0V4cGFuZGVkfX0pOnQuX2UoKSx0Ll92KCIgIiksdC5fdCgidGFibGUtaGVhZGVyLXJvdyIsW3QuaGVhZGVyUm93Lmh0bWw/bigic3BhbiIse2RvbVByb3BzOntpbm5lckhUTUw6dC5fcyh0LmhlYWRlclJvdy5sYWJlbCl9fSk6bigic3BhbiIsW3QuX3YoIlxuICAgICAgICAgICIrdC5fcyh0LmhlYWRlclJvdy5sYWJlbCkrIlxuICAgICAgICAiKV0pXSx7cm93OnQuaGVhZGVyUm93fSldLDIpXSwyKTp0Ll9lKCksdC5fdigiICIpLCJzcGFuIiE9PXQuaGVhZGVyUm93Lm1vZGUmJnQubGluZU51bWJlcnM/bigidGgiLHtzdGF0aWNDbGFzczoidmd0LXJvdy1oZWFkZXIifSk6dC5fZSgpLHQuX3YoIiAiKSwic3BhbiIhPT10LmhlYWRlclJvdy5tb2RlJiZ0LnNlbGVjdGFibGU/bigidGgiLHtzdGF0aWNDbGFzczoidmd0LXJvdy1oZWFkZXIifSxbdC5zZWxlY3RBbGxCeUdyb3VwP1t0Ll90KCJ0YWJsZS1oZWFkZXItZ3JvdXAtc2VsZWN0IixbbigiaW5wdXQiLHthdHRyczp7dHlwZToiY2hlY2tib3gifSxkb21Qcm9wczp7Y2hlY2tlZDp0LmFsbFNlbGVjdGVkfSxvbjp7Y2hhbmdlOmZ1bmN0aW9uKGUpe3JldHVybiB0LnRvZ2dsZVNlbGVjdEdyb3VwKGUpfX19KV0se2NvbHVtbnM6dC5jb2x1bW5zLHJvdzp0LmhlYWRlclJvd30pXTp0Ll9lKCldLDIpOnQuX2UoKSx0Ll92KCIgIiksdC5fbCh0LmNvbHVtbnMsKGZ1bmN0aW9uKGUscil7cmV0dXJuInNwYW4iPT09dC5oZWFkZXJSb3cubW9kZXx8ZS5oaWRkZW4/dC5fZSgpOm4oInRoIix7a2V5OnIsc3RhdGljQ2xhc3M6InZndC1yb3ctaGVhZGVyIixjbGFzczp0LmdldENsYXNzZXMociwidGQiKSxvbjp7Y2xpY2s6ZnVuY3Rpb24oZSl7dC5jb2x1bW5Db2xsYXBzYWJsZShyKSYmdC4kZW1pdCgidmd0RXhwYW5kIiwhdC5oZWFkZXJSb3cudmd0SXNFeHBhbmRlZCl9fX0sW3QuY29sdW1uQ29sbGFwc2FibGUocik/bigic3BhbiIse3N0YXRpY0NsYXNzOiJ0cmlhbmdsZSIsY2xhc3M6e2V4cGFuZDp0LmhlYWRlclJvdy52Z3RJc0V4cGFuZGVkfX0pOnQuX2UoKSx0Ll92KCIgIiksdC5fdCgidGFibGUtaGVhZGVyLXJvdyIsW2UuaHRtbD90Ll9lKCk6bigic3BhbiIsW3QuX3YoIlxuICAgICAgICAiK3QuX3ModC5jb2xsZWN0Rm9ybWF0dGVkKHQuaGVhZGVyUm93LGUsITApKSsiXG4gICAgICAiKV0pLHQuX3YoIiAiKSxlLmh0bWw/bigic3BhbiIse2RvbVByb3BzOntpbm5lckhUTUw6dC5fcyh0LmNvbGxlY3RGb3JtYXR0ZWQodC5oZWFkZXJSb3csZSwhMCkpfX0pOnQuX2UoKV0se3Jvdzp0LmhlYWRlclJvdyxjb2x1bW46ZSxmb3JtYXR0ZWRSb3c6dC5mb3JtYXR0ZWRSb3codC5oZWFkZXJSb3csITApfSldLDIpfSkpXSwyKX0sc3RhdGljUmVuZGVyRm5zOltdfSx1bmRlZmluZWQse25hbWU6IlZndEhlYWRlclJvdyIscHJvcHM6e2hlYWRlclJvdzp7dHlwZTpPYmplY3R9LGNvbHVtbnM6e3R5cGU6QXJyYXl9LGxpbmVOdW1iZXJzOnt0eXBlOkJvb2xlYW59LHNlbGVjdGFibGU6e3R5cGU6Qm9vbGVhbn0sc2VsZWN0QWxsQnlHcm91cDp7dHlwZTpCb29sZWFufSxjb2xsYXBzYWJsZTp7dHlwZTpbQm9vbGVhbixOdW1iZXJdLGRlZmF1bHQ6ITF9LGNvbGxlY3RGb3JtYXR0ZWQ6e3R5cGU6RnVuY3Rpb259LGZvcm1hdHRlZFJvdzp7dHlwZTpGdW5jdGlvbn0sZ2V0Q2xhc3Nlczp7dHlwZTpGdW5jdGlvbn0sZnVsbENvbHNwYW46e3R5cGU6TnVtYmVyfSxncm91cEluZGV4Ont0eXBlOk51bWJlcn19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57fX0sY29tcHV0ZWQ6e2FsbFNlbGVjdGVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5oZWFkZXJSb3c7dGhpcy5ncm91cENoaWxkT2JqZWN0O3JldHVybiB0LmNoaWxkcmVuLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQudmd0U2VsZWN0ZWR9KSkubGVuZ3RoPT09dC5jaGlsZHJlbi5sZW5ndGh9fSxtZXRob2RzOntjb2x1bW5Db2xsYXBzYWJsZTpmdW5jdGlvbih0KXtyZXR1cm4hMD09PXRoaXMuY29sbGFwc2FibGU/MD09PXQ6dD09PXRoaXMuY29sbGFwc2FibGV9LHRvZ2dsZVNlbGVjdEdyb3VwOmZ1bmN0aW9uKHQpe3RoaXMuJGVtaXQoIm9uLXNlbGVjdC1ncm91cC1jaGFuZ2UiLHtncm91cEluZGV4OnRoaXMuZ3JvdXBJbmRleCxjaGVja2VkOnQudGFyZ2V0LmNoZWNrZWR9KX19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt9LGNvbXBvbmVudHM6e319LHVuZGVmaW5lZCxmYWxzZSx1bmRlZmluZWQsITEsdm9pZCAwLHZvaWQgMCx2b2lkIDApO2Z1bmN0aW9uIE0odCl7aWYobnVsbD09PXR8fCEwPT09dHx8ITE9PT10KXJldHVybiBOYU47dmFyIGU9TnVtYmVyKHQpO3JldHVybiBpc05hTihlKT9lOmU8MD9NYXRoLmNlaWwoZSk6TWF0aC5mbG9vcihlKX1mdW5jdGlvbiBJKHQsZSl7aWYoZS5sZW5ndGg8dCl0aHJvdyBuZXcgVHlwZUVycm9yKHQrIiBhcmd1bWVudCIrKHQ+MT8icyI6IiIpKyIgcmVxdWlyZWQsIGJ1dCBvbmx5ICIrZS5sZW5ndGgrIiBwcmVzZW50Iil9ZnVuY3Rpb24gTih0KXtJKDEsYXJndW1lbnRzKTt2YXIgZT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk7cmV0dXJuIHQgaW5zdGFuY2VvZiBEYXRlfHwib2JqZWN0Ij09dHlwZW9mIHQmJiJbb2JqZWN0IERhdGVdIj09PWU/bmV3IERhdGUodC5nZXRUaW1lKCkpOiJudW1iZXIiPT10eXBlb2YgdHx8IltvYmplY3QgTnVtYmVyXSI9PT1lP25ldyBEYXRlKHQpOigic3RyaW5nIiE9dHlwZW9mIHQmJiJbb2JqZWN0IFN0cmluZ10iIT09ZXx8InVuZGVmaW5lZCI9PXR5cGVvZiBjb25zb2xlfHwoY29uc29sZS53YXJuKCJTdGFydGluZyB3aXRoIHYyLjAuMC1iZXRhLjEgZGF0ZS1mbnMgZG9lc24ndCBhY2NlcHQgc3RyaW5ncyBhcyBkYXRlIGFyZ3VtZW50cy4gUGxlYXNlIHVzZSBgcGFyc2VJU09gIHRvIHBhcnNlIHN0cmluZ3MuIFNlZTogaHR0cHM6Ly9naXQuaW8vZmp1bGUiKSxjb25zb2xlLndhcm4oKG5ldyBFcnJvcikuc3RhY2spKSxuZXcgRGF0ZShOYU4pKX1mdW5jdGlvbiBqKHQsZSl7SSgyLGFyZ3VtZW50cyk7dmFyIG49Tih0KS5nZXRUaW1lKCkscj1NKGUpO3JldHVybiBuZXcgRGF0ZShuK3IpfXZhciBMPTZlNDtmdW5jdGlvbiBVKHQpe3JldHVybiB0LmdldFRpbWUoKSVMfWZ1bmN0aW9uIEgodCl7dmFyIGU9bmV3IERhdGUodC5nZXRUaW1lKCkpLG49TWF0aC5jZWlsKGUuZ2V0VGltZXpvbmVPZmZzZXQoKSk7ZS5zZXRTZWNvbmRzKDAsMCk7dmFyIHI9bj4wPyhMK1UoZSkpJUw6VShlKTtyZXR1cm4gbipMK3J9ZnVuY3Rpb24gQih0KXtJKDEsYXJndW1lbnRzKTt2YXIgZT1OKHQpO3JldHVybiFpc05hTihlKX12YXIgej17bGVzc1RoYW5YU2Vjb25kczp7b25lOiJsZXNzIHRoYW4gYSBzZWNvbmQiLG90aGVyOiJsZXNzIHRoYW4ge3tjb3VudH19IHNlY29uZHMifSx4U2Vjb25kczp7b25lOiIxIHNlY29uZCIsb3RoZXI6Int7Y291bnR9fSBzZWNvbmRzIn0saGFsZkFNaW51dGU6ImhhbGYgYSBtaW51dGUiLGxlc3NUaGFuWE1pbnV0ZXM6e29uZToibGVzcyB0aGFuIGEgbWludXRlIixvdGhlcjoibGVzcyB0aGFuIHt7Y291bnR9fSBtaW51dGVzIn0seE1pbnV0ZXM6e29uZToiMSBtaW51dGUiLG90aGVyOiJ7e2NvdW50fX0gbWludXRlcyJ9LGFib3V0WEhvdXJzOntvbmU6ImFib3V0IDEgaG91ciIsb3RoZXI6ImFib3V0IHt7Y291bnR9fSBob3VycyJ9LHhIb3Vyczp7b25lOiIxIGhvdXIiLG90aGVyOiJ7e2NvdW50fX0gaG91cnMifSx4RGF5czp7b25lOiIxIGRheSIsb3RoZXI6Int7Y291bnR9fSBkYXlzIn0sYWJvdXRYV2Vla3M6e29uZToiYWJvdXQgMSB3ZWVrIixvdGhlcjoiYWJvdXQge3tjb3VudH19IHdlZWtzIn0seFdlZWtzOntvbmU6IjEgd2VlayIsb3RoZXI6Int7Y291bnR9fSB3ZWVrcyJ9LGFib3V0WE1vbnRoczp7b25lOiJhYm91dCAxIG1vbnRoIixvdGhlcjoiYWJvdXQge3tjb3VudH19IG1vbnRocyJ9LHhNb250aHM6e29uZToiMSBtb250aCIsb3RoZXI6Int7Y291bnR9fSBtb250aHMifSxhYm91dFhZZWFyczp7b25lOiJhYm91dCAxIHllYXIiLG90aGVyOiJhYm91dCB7e2NvdW50fX0geWVhcnMifSx4WWVhcnM6e29uZToiMSB5ZWFyIixvdGhlcjoie3tjb3VudH19IHllYXJzIn0sb3ZlclhZZWFyczp7b25lOiJvdmVyIDEgeWVhciIsb3RoZXI6Im92ZXIge3tjb3VudH19IHllYXJzIn0sYWxtb3N0WFllYXJzOntvbmU6ImFsbW9zdCAxIHllYXIiLG90aGVyOiJhbG1vc3Qge3tjb3VudH19IHllYXJzIn19O2Z1bmN0aW9uIHEodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPWV8fHt9LHI9bi53aWR0aD9TdHJpbmcobi53aWR0aCk6dC5kZWZhdWx0V2lkdGg7cmV0dXJuIHQuZm9ybWF0c1tyXXx8dC5mb3JtYXRzW3QuZGVmYXVsdFdpZHRoXX19dmFyIFk9e2RhdGU6cSh7Zm9ybWF0czp7ZnVsbDoiRUVFRSwgTU1NTSBkbywgeSIsbG9uZzoiTU1NTSBkbywgeSIsbWVkaXVtOiJNTU0gZCwgeSIsc2hvcnQ6Ik1NL2RkL3l5eXkifSxkZWZhdWx0V2lkdGg6ImZ1bGwifSksdGltZTpxKHtmb3JtYXRzOntmdWxsOiJoOm1tOnNzIGEgenp6eiIsbG9uZzoiaDptbTpzcyBhIHoiLG1lZGl1bToiaDptbTpzcyBhIixzaG9ydDoiaDptbSBhIn0sZGVmYXVsdFdpZHRoOiJmdWxsIn0pLGRhdGVUaW1lOnEoe2Zvcm1hdHM6e2Z1bGw6Int7ZGF0ZX19ICdhdCcge3t0aW1lfX0iLGxvbmc6Int7ZGF0ZX19ICdhdCcge3t0aW1lfX0iLG1lZGl1bToie3tkYXRlfX0sIHt7dGltZX19IixzaG9ydDoie3tkYXRlfX0sIHt7dGltZX19In0sZGVmYXVsdFdpZHRoOiJmdWxsIn0pfSxXPXtsYXN0V2VlazoiJ2xhc3QnIGVlZWUgJ2F0JyBwIix5ZXN0ZXJkYXk6Iid5ZXN0ZXJkYXkgYXQnIHAiLHRvZGF5OiIndG9kYXkgYXQnIHAiLHRvbW9ycm93OiIndG9tb3Jyb3cgYXQnIHAiLG5leHRXZWVrOiJlZWVlICdhdCcgcCIsb3RoZXI6IlAifTtmdW5jdGlvbiBWKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciByLGE9bnx8e307aWYoImZvcm1hdHRpbmciPT09KGEuY29udGV4dD9TdHJpbmcoYS5jb250ZXh0KToic3RhbmRhbG9uZSIpJiZ0LmZvcm1hdHRpbmdWYWx1ZXMpe3ZhciBpPXQuZGVmYXVsdEZvcm1hdHRpbmdXaWR0aHx8dC5kZWZhdWx0V2lkdGgsbz1hLndpZHRoP1N0cmluZyhhLndpZHRoKTppO3I9dC5mb3JtYXR0aW5nVmFsdWVzW29dfHx0LmZvcm1hdHRpbmdWYWx1ZXNbaV19ZWxzZXt2YXIgcz10LmRlZmF1bHRXaWR0aCxsPWEud2lkdGg/U3RyaW5nKGEud2lkdGgpOnQuZGVmYXVsdFdpZHRoO3I9dC52YWx1ZXNbbF18fHQudmFsdWVzW3NdfXJldHVybiByW3QuYXJndW1lbnRDYWxsYmFjaz90LmFyZ3VtZW50Q2FsbGJhY2soZSk6ZV19fXZhciBLPXtvcmRpbmFsTnVtYmVyOmZ1bmN0aW9uKHQsZSl7dmFyIG49TnVtYmVyKHQpLHI9biUxMDA7aWYocj4yMHx8cjwxMClzd2l0Y2gociUxMCl7Y2FzZSAxOnJldHVybiBuKyJzdCI7Y2FzZSAyOnJldHVybiBuKyJuZCI7Y2FzZSAzOnJldHVybiBuKyJyZCJ9cmV0dXJuIG4rInRoIn0sZXJhOlYoe3ZhbHVlczp7bmFycm93OlsiQiIsIkEiXSxhYmJyZXZpYXRlZDpbIkJDIiwiQUQiXSx3aWRlOlsiQmVmb3JlIENocmlzdCIsIkFubm8gRG9taW5pIl19LGRlZmF1bHRXaWR0aDoid2lkZSJ9KSxxdWFydGVyOlYoe3ZhbHVlczp7bmFycm93OlsiMSIsIjIiLCIzIiwiNCJdLGFiYnJldmlhdGVkOlsiUTEiLCJRMiIsIlEzIiwiUTQiXSx3aWRlOlsiMXN0IHF1YXJ0ZXIiLCIybmQgcXVhcnRlciIsIjNyZCBxdWFydGVyIiwiNHRoIHF1YXJ0ZXIiXX0sZGVmYXVsdFdpZHRoOiJ3aWRlIixhcmd1bWVudENhbGxiYWNrOmZ1bmN0aW9uKHQpe3JldHVybiBOdW1iZXIodCktMX19KSxtb250aDpWKHt2YWx1ZXM6e25hcnJvdzpbIkoiLCJGIiwiTSIsIkEiLCJNIiwiSiIsIkoiLCJBIiwiUyIsIk8iLCJOIiwiRCJdLGFiYnJldmlhdGVkOlsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sd2lkZTpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl19LGRlZmF1bHRXaWR0aDoid2lkZSJ9KSxkYXk6Vih7dmFsdWVzOntuYXJyb3c6WyJTIiwiTSIsIlQiLCJXIiwiVCIsIkYiLCJTIl0sc2hvcnQ6WyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLGFiYnJldmlhdGVkOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sd2lkZTpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il19LGRlZmF1bHRXaWR0aDoid2lkZSJ9KSxkYXlQZXJpb2Q6Vih7dmFsdWVzOntuYXJyb3c6e2FtOiJhIixwbToicCIsbWlkbmlnaHQ6Im1pIixub29uOiJuIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sYWJicmV2aWF0ZWQ6e2FtOiJBTSIscG06IlBNIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6Im1vcm5pbmciLGFmdGVybm9vbjoiYWZ0ZXJub29uIixldmVuaW5nOiJldmVuaW5nIixuaWdodDoibmlnaHQifSx3aWRlOnthbToiYS5tLiIscG06InAubS4iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoibW9ybmluZyIsYWZ0ZXJub29uOiJhZnRlcm5vb24iLGV2ZW5pbmc6ImV2ZW5pbmciLG5pZ2h0OiJuaWdodCJ9fSxkZWZhdWx0V2lkdGg6IndpZGUiLGZvcm1hdHRpbmdWYWx1ZXM6e25hcnJvdzp7YW06ImEiLHBtOiJwIixtaWRuaWdodDoibWkiLG5vb246Im4iLG1vcm5pbmc6ImluIHRoZSBtb3JuaW5nIixhZnRlcm5vb246ImluIHRoZSBhZnRlcm5vb24iLGV2ZW5pbmc6ImluIHRoZSBldmVuaW5nIixuaWdodDoiYXQgbmlnaHQifSxhYmJyZXZpYXRlZDp7YW06IkFNIixwbToiUE0iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoiaW4gdGhlIG1vcm5pbmciLGFmdGVybm9vbjoiaW4gdGhlIGFmdGVybm9vbiIsZXZlbmluZzoiaW4gdGhlIGV2ZW5pbmciLG5pZ2h0OiJhdCBuaWdodCJ9LHdpZGU6e2FtOiJhLm0uIixwbToicC5tLiIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJpbiB0aGUgbW9ybmluZyIsYWZ0ZXJub29uOiJpbiB0aGUgYWZ0ZXJub29uIixldmVuaW5nOiJpbiB0aGUgZXZlbmluZyIsbmlnaHQ6ImF0IG5pZ2h0In19LGRlZmF1bHRGb3JtYXR0aW5nV2lkdGg6IndpZGUifSl9O2Z1bmN0aW9uIFEodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIHI9U3RyaW5nKGUpLGE9bnx8e30saT1hLndpZHRoLG89aSYmdC5tYXRjaFBhdHRlcm5zW2ldfHx0Lm1hdGNoUGF0dGVybnNbdC5kZWZhdWx0TWF0Y2hXaWR0aF0scz1yLm1hdGNoKG8pO2lmKCFzKXJldHVybiBudWxsO3ZhciBsLHU9c1swXSxjPWkmJnQucGFyc2VQYXR0ZXJuc1tpXXx8dC5wYXJzZVBhdHRlcm5zW3QuZGVmYXVsdFBhcnNlV2lkdGhdO3JldHVybiBsPSJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYyk/ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKylpZihlKHRbbl0pKXJldHVybiBufShjLChmdW5jdGlvbih0KXtyZXR1cm4gdC50ZXN0KHUpfSkpOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuIGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eShuKSYmZSh0W25dKSlyZXR1cm4gbn0oYywoZnVuY3Rpb24odCl7cmV0dXJuIHQudGVzdCh1KX0pKSxsPXQudmFsdWVDYWxsYmFjaz90LnZhbHVlQ2FsbGJhY2sobCk6bCx7dmFsdWU6bD1hLnZhbHVlQ2FsbGJhY2s/YS52YWx1ZUNhbGxiYWNrKGwpOmwscmVzdDpyLnNsaWNlKHUubGVuZ3RoKX19fXZhciBHLEo9e29yZGluYWxOdW1iZXI6KEc9e21hdGNoUGF0dGVybjovXihcZCspKHRofHN0fG5kfHJkKT8vaSxwYXJzZVBhdHRlcm46L1xkKy9pLHZhbHVlQ2FsbGJhY2s6ZnVuY3Rpb24odCl7cmV0dXJuIHBhcnNlSW50KHQsMTApfX0sZnVuY3Rpb24odCxlKXt2YXIgbj1TdHJpbmcodCkscj1lfHx7fSxhPW4ubWF0Y2goRy5tYXRjaFBhdHRlcm4pO2lmKCFhKXJldHVybiBudWxsO3ZhciBpPWFbMF0sbz1uLm1hdGNoKEcucGFyc2VQYXR0ZXJuKTtpZighbylyZXR1cm4gbnVsbDt2YXIgcz1HLnZhbHVlQ2FsbGJhY2s/Ry52YWx1ZUNhbGxiYWNrKG9bMF0pOm9bMF07cmV0dXJue3ZhbHVlOnM9ci52YWx1ZUNhbGxiYWNrP3IudmFsdWVDYWxsYmFjayhzKTpzLHJlc3Q6bi5zbGljZShpLmxlbmd0aCl9fSksZXJhOlEoe21hdGNoUGF0dGVybnM6e25hcnJvdzovXihifGEpL2ksYWJicmV2aWF0ZWQ6L14oYlwuP1xzP2NcLj98YlwuP1xzP2NcLj9ccz9lXC4/fGFcLj9ccz9kXC4/fGNcLj9ccz9lXC4/KS9pLHdpZGU6L14oYmVmb3JlIGNocmlzdHxiZWZvcmUgY29tbW9uIGVyYXxhbm5vIGRvbWluaXxjb21tb24gZXJhKS9pfSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczp7YW55OlsvXmIvaSwvXihhfGMpL2ldfSxkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pLHF1YXJ0ZXI6USh7bWF0Y2hQYXR0ZXJuczp7bmFycm93Oi9eWzEyMzRdL2ksYWJicmV2aWF0ZWQ6L15xWzEyMzRdL2ksd2lkZTovXlsxMjM0XSh0aHxzdHxuZHxyZCk/IHF1YXJ0ZXIvaX0sZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6e2FueTpbLzEvaSwvMi9pLC8zL2ksLzQvaV19LGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkiLHZhbHVlQ2FsbGJhY2s6ZnVuY3Rpb24odCl7cmV0dXJuIHQrMX19KSxtb250aDpRKHttYXRjaFBhdHRlcm5zOntuYXJyb3c6L15bamZtYXNvbmRdL2ksYWJicmV2aWF0ZWQ6L14oamFufGZlYnxtYXJ8YXByfG1heXxqdW58anVsfGF1Z3xzZXB8b2N0fG5vdnxkZWMpL2ksd2lkZTovXihqYW51YXJ5fGZlYnJ1YXJ5fG1hcmNofGFwcmlsfG1heXxqdW5lfGp1bHl8YXVndXN0fHNlcHRlbWJlcnxvY3RvYmVyfG5vdmVtYmVyfGRlY2VtYmVyKS9pfSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczp7bmFycm93OlsvXmovaSwvXmYvaSwvXm0vaSwvXmEvaSwvXm0vaSwvXmovaSwvXmovaSwvXmEvaSwvXnMvaSwvXm8vaSwvXm4vaSwvXmQvaV0sYW55OlsvXmphL2ksL15mL2ksL15tYXIvaSwvXmFwL2ksL15tYXkvaSwvXmp1bi9pLC9eanVsL2ksL15hdS9pLC9ecy9pLC9eby9pLC9ebi9pLC9eZC9pXX0sZGVmYXVsdFBhcnNlV2lkdGg6ImFueSJ9KSxkYXk6USh7bWF0Y2hQYXR0ZXJuczp7bmFycm93Oi9eW3NtdHdmXS9pLHNob3J0Oi9eKHN1fG1vfHR1fHdlfHRofGZyfHNhKS9pLGFiYnJldmlhdGVkOi9eKHN1bnxtb258dHVlfHdlZHx0aHV8ZnJpfHNhdCkvaSx3aWRlOi9eKHN1bmRheXxtb25kYXl8dHVlc2RheXx3ZWRuZXNkYXl8dGh1cnNkYXl8ZnJpZGF5fHNhdHVyZGF5KS9pfSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczp7bmFycm93OlsvXnMvaSwvXm0vaSwvXnQvaSwvXncvaSwvXnQvaSwvXmYvaSwvXnMvaV0sYW55OlsvXnN1L2ksL15tL2ksL150dS9pLC9edy9pLC9edGgvaSwvXmYvaSwvXnNhL2ldfSxkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pLGRheVBlcmlvZDpRKHttYXRjaFBhdHRlcm5zOntuYXJyb3c6L14oYXxwfG1pfG58KGluIHRoZXxhdCkgKG1vcm5pbmd8YWZ0ZXJub29ufGV2ZW5pbmd8bmlnaHQpKS9pLGFueTovXihbYXBdXC4/XHM/bVwuP3xtaWRuaWdodHxub29ufChpbiB0aGV8YXQpIChtb3JuaW5nfGFmdGVybm9vbnxldmVuaW5nfG5pZ2h0KSkvaX0sZGVmYXVsdE1hdGNoV2lkdGg6ImFueSIscGFyc2VQYXR0ZXJuczp7YW55OnthbTovXmEvaSxwbTovXnAvaSxtaWRuaWdodDovXm1pL2ksbm9vbjovXm5vL2ksbW9ybmluZzovbW9ybmluZy9pLGFmdGVybm9vbjovYWZ0ZXJub29uL2ksZXZlbmluZzovZXZlbmluZy9pLG5pZ2h0Oi9uaWdodC9pfX0sZGVmYXVsdFBhcnNlV2lkdGg6ImFueSJ9KX0sWD17Y29kZToiZW4tVVMiLGZvcm1hdERpc3RhbmNlOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcjtyZXR1cm4gbj1ufHx7fSxyPSJzdHJpbmciPT10eXBlb2Ygelt0XT96W3RdOjE9PT1lP3pbdF0ub25lOnpbdF0ub3RoZXIucmVwbGFjZSgie3tjb3VudH19IixlKSxuLmFkZFN1ZmZpeD9uLmNvbXBhcmlzb24+MD8iaW4gIityOnIrIiBhZ28iOnJ9LGZvcm1hdExvbmc6WSxmb3JtYXRSZWxhdGl2ZTpmdW5jdGlvbih0LGUsbixyKXtyZXR1cm4gV1t0XX0sbG9jYWxpemU6SyxtYXRjaDpKLG9wdGlvbnM6e3dlZWtTdGFydHNPbjowLGZpcnN0V2Vla0NvbnRhaW5zRGF0ZToxfX07ZnVuY3Rpb24gWih0LGUpe0koMixhcmd1bWVudHMpO3ZhciBuPU0oZSk7cmV0dXJuIGoodCwtbil9ZnVuY3Rpb24gdHQodCxlKXtmb3IodmFyIG49dDwwPyItIjoiIixyPU1hdGguYWJzKHQpLnRvU3RyaW5nKCk7ci5sZW5ndGg8ZTspcj0iMCIrcjtyZXR1cm4gbityfXZhciBldD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuZ2V0VVRDRnVsbFllYXIoKSxyPW4+MD9uOjEtbjtyZXR1cm4gdHQoInl5Ij09PWU/ciUxMDA6cixlLmxlbmd0aCl9LG50PWZ1bmN0aW9uKHQsZSl7dmFyIG49dC5nZXRVVENNb250aCgpO3JldHVybiJNIj09PWU/U3RyaW5nKG4rMSk6dHQobisxLDIpfSxydD1mdW5jdGlvbih0LGUpe3JldHVybiB0dCh0LmdldFVUQ0RhdGUoKSxlLmxlbmd0aCl9LGF0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHR0KHQuZ2V0VVRDSG91cnMoKSUxMnx8MTIsZS5sZW5ndGgpfSxpdD1mdW5jdGlvbih0LGUpe3JldHVybiB0dCh0LmdldFVUQ0hvdXJzKCksZS5sZW5ndGgpfSxvdD1mdW5jdGlvbih0LGUpe3JldHVybiB0dCh0LmdldFVUQ01pbnV0ZXMoKSxlLmxlbmd0aCl9LHN0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHR0KHQuZ2V0VVRDU2Vjb25kcygpLGUubGVuZ3RoKX0sbHQ9ZnVuY3Rpb24odCxlKXt2YXIgbj1lLmxlbmd0aCxyPXQuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7cmV0dXJuIHR0KE1hdGguZmxvb3IocipNYXRoLnBvdygxMCxuLTMpKSxlLmxlbmd0aCl9LHV0PTg2NGU1O2Z1bmN0aW9uIGN0KHQpe0koMSxhcmd1bWVudHMpO3ZhciBlPTEsbj1OKHQpLHI9bi5nZXRVVENEYXkoKSxhPShyPGU/NzowKStyLWU7cmV0dXJuIG4uc2V0VVRDRGF0ZShuLmdldFVUQ0RhdGUoKS1hKSxuLnNldFVUQ0hvdXJzKDAsMCwwLDApLG59ZnVuY3Rpb24gZHQodCl7SSgxLGFyZ3VtZW50cyk7dmFyIGU9Tih0KSxuPWUuZ2V0VVRDRnVsbFllYXIoKSxyPW5ldyBEYXRlKDApO3Iuc2V0VVRDRnVsbFllYXIobisxLDAsNCksci5zZXRVVENIb3VycygwLDAsMCwwKTt2YXIgYT1jdChyKSxpPW5ldyBEYXRlKDApO2kuc2V0VVRDRnVsbFllYXIobiwwLDQpLGkuc2V0VVRDSG91cnMoMCwwLDAsMCk7dmFyIG89Y3QoaSk7cmV0dXJuIGUuZ2V0VGltZSgpPj1hLmdldFRpbWUoKT9uKzE6ZS5nZXRUaW1lKCk+PW8uZ2V0VGltZSgpP246bi0xfWZ1bmN0aW9uIGZ0KHQpe0koMSxhcmd1bWVudHMpO3ZhciBlPWR0KHQpLG49bmV3IERhdGUoMCk7bi5zZXRVVENGdWxsWWVhcihlLDAsNCksbi5zZXRVVENIb3VycygwLDAsMCwwKTt2YXIgcj1jdChuKTtyZXR1cm4gcn12YXIgcHQ9NjA0OGU1O2Z1bmN0aW9uIGh0KHQpe0koMSxhcmd1bWVudHMpO3ZhciBlPU4odCksbj1jdChlKS5nZXRUaW1lKCktZnQoZSkuZ2V0VGltZSgpO3JldHVybiBNYXRoLnJvdW5kKG4vcHQpKzF9ZnVuY3Rpb24gdnQodCxlKXtJKDEsYXJndW1lbnRzKTt2YXIgbj1lfHx7fSxyPW4ubG9jYWxlLGE9ciYmci5vcHRpb25zJiZyLm9wdGlvbnMud2Vla1N0YXJ0c09uLGk9bnVsbD09YT8wOk0oYSksbz1udWxsPT1uLndlZWtTdGFydHNPbj9pOk0obi53ZWVrU3RhcnRzT24pO2lmKCEobz49MCYmbzw9NikpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIndlZWtTdGFydHNPbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNiBpbmNsdXNpdmVseSIpO3ZhciBzPU4odCksbD1zLmdldFVUQ0RheSgpLHU9KGw8bz83OjApK2wtbztyZXR1cm4gcy5zZXRVVENEYXRlKHMuZ2V0VVRDRGF0ZSgpLXUpLHMuc2V0VVRDSG91cnMoMCwwLDAsMCksc31mdW5jdGlvbiBndCh0LGUpe0koMSxhcmd1bWVudHMpO3ZhciBuPU4odCxlKSxyPW4uZ2V0VVRDRnVsbFllYXIoKSxhPWV8fHt9LGk9YS5sb2NhbGUsbz1pJiZpLm9wdGlvbnMmJmkub3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGUscz1udWxsPT1vPzE6TShvKSxsPW51bGw9PWEuZmlyc3RXZWVrQ29udGFpbnNEYXRlP3M6TShhLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7aWYoIShsPj0xJiZsPD03KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiZmlyc3RXZWVrQ29udGFpbnNEYXRlIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA3IGluY2x1c2l2ZWx5Iik7dmFyIHU9bmV3IERhdGUoMCk7dS5zZXRVVENGdWxsWWVhcihyKzEsMCxsKSx1LnNldFVUQ0hvdXJzKDAsMCwwLDApO3ZhciBjPXZ0KHUsZSksZD1uZXcgRGF0ZSgwKTtkLnNldFVUQ0Z1bGxZZWFyKHIsMCxsKSxkLnNldFVUQ0hvdXJzKDAsMCwwLDApO3ZhciBmPXZ0KGQsZSk7cmV0dXJuIG4uZ2V0VGltZSgpPj1jLmdldFRpbWUoKT9yKzE6bi5nZXRUaW1lKCk+PWYuZ2V0VGltZSgpP3I6ci0xfWZ1bmN0aW9uIG10KHQsZSl7SSgxLGFyZ3VtZW50cyk7dmFyIG49ZXx8e30scj1uLmxvY2FsZSxhPXImJnIub3B0aW9ucyYmci5vcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSxpPW51bGw9PWE/MTpNKGEpLG89bnVsbD09bi5maXJzdFdlZWtDb250YWluc0RhdGU/aTpNKG4uZmlyc3RXZWVrQ29udGFpbnNEYXRlKSxzPWd0KHQsZSksbD1uZXcgRGF0ZSgwKTtsLnNldFVUQ0Z1bGxZZWFyKHMsMCxvKSxsLnNldFVUQ0hvdXJzKDAsMCwwLDApO3ZhciB1PXZ0KGwsZSk7cmV0dXJuIHV9dmFyIHl0PTYwNDhlNTtmdW5jdGlvbiBidCh0LGUpe0koMSxhcmd1bWVudHMpO3ZhciBuPU4odCkscj12dChuLGUpLmdldFRpbWUoKS1tdChuLGUpLmdldFRpbWUoKTtyZXR1cm4gTWF0aC5yb3VuZChyL3l0KSsxfXZhciB3dD0ibWlkbmlnaHQiLF90PSJub29uIixDdD0ibW9ybmluZyIseHQ9ImFmdGVybm9vbiIsVHQ9ImV2ZW5pbmciLFB0PSJuaWdodCIsU3Q9e0c6ZnVuY3Rpb24odCxlLG4pe3ZhciByPXQuZ2V0VVRDRnVsbFllYXIoKT4wPzE6MDtzd2l0Y2goZSl7Y2FzZSJHIjpjYXNlIkdHIjpjYXNlIkdHRyI6cmV0dXJuIG4uZXJhKHIse3dpZHRoOiJhYmJyZXZpYXRlZCJ9KTtjYXNlIkdHR0dHIjpyZXR1cm4gbi5lcmEocix7d2lkdGg6Im5hcnJvdyJ9KTtkZWZhdWx0OnJldHVybiBuLmVyYShyLHt3aWR0aDoid2lkZSJ9KX19LHk6ZnVuY3Rpb24odCxlLG4pe2lmKCJ5byI9PT1lKXt2YXIgcj10LmdldFVUQ0Z1bGxZZWFyKCksYT1yPjA/cjoxLXI7cmV0dXJuIG4ub3JkaW5hbE51bWJlcihhLHt1bml0OiJ5ZWFyIn0pfXJldHVybiBldCh0LGUpfSxZOmZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBhPWd0KHQsciksaT1hPjA/YToxLWE7cmV0dXJuIllZIj09PWU/dHQoaSUxMDAsMik6IllvIj09PWU/bi5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6InllYXIifSk6dHQoaSxlLmxlbmd0aCl9LFI6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdHQoZHQodCksZS5sZW5ndGgpfSx1OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHR0KHQuZ2V0VVRDRnVsbFllYXIoKSxlLmxlbmd0aCl9LFE6ZnVuY3Rpb24odCxlLG4pe3ZhciByPU1hdGguY2VpbCgodC5nZXRVVENNb250aCgpKzEpLzMpO3N3aXRjaChlKXtjYXNlIlEiOnJldHVybiBTdHJpbmcocik7Y2FzZSJRUSI6cmV0dXJuIHR0KHIsMik7Y2FzZSJRbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcihyLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UiUVFRIjpyZXR1cm4gbi5xdWFydGVyKHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIlFRUVFRIjpyZXR1cm4gbi5xdWFydGVyKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gbi5xdWFydGVyKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0scTpmdW5jdGlvbih0LGUsbil7dmFyIHI9TWF0aC5jZWlsKCh0LmdldFVUQ01vbnRoKCkrMSkvMyk7c3dpdGNoKGUpe2Nhc2UicSI6cmV0dXJuIFN0cmluZyhyKTtjYXNlInFxIjpyZXR1cm4gdHQociwyKTtjYXNlInFvIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKHIse3VuaXQ6InF1YXJ0ZXIifSk7Y2FzZSJxcXEiOnJldHVybiBuLnF1YXJ0ZXIocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UicXFxcXEiOnJldHVybiBuLnF1YXJ0ZXIocix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiBuLnF1YXJ0ZXIocix7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fSxNOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj10LmdldFVUQ01vbnRoKCk7c3dpdGNoKGUpe2Nhc2UiTSI6Y2FzZSJNTSI6cmV0dXJuIG50KHQsZSk7Y2FzZSJNbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcihyKzEse3VuaXQ6Im1vbnRoIn0pO2Nhc2UiTU1NIjpyZXR1cm4gbi5tb250aChyLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJNTU1NTSI6cmV0dXJuIG4ubW9udGgocix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBuLm1vbnRoKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sTDpmdW5jdGlvbih0LGUsbil7dmFyIHI9dC5nZXRVVENNb250aCgpO3N3aXRjaChlKXtjYXNlIkwiOnJldHVybiBTdHJpbmcocisxKTtjYXNlIkxMIjpyZXR1cm4gdHQocisxLDIpO2Nhc2UiTG8iOnJldHVybiBuLm9yZGluYWxOdW1iZXIocisxLHt1bml0OiJtb250aCJ9KTtjYXNlIkxMTCI6cmV0dXJuIG4ubW9udGgocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiTExMTEwiOnJldHVybiBuLm1vbnRoKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gbi5tb250aChyLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LHc6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9YnQodCxyKTtyZXR1cm4id28iPT09ZT9uLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoid2VlayJ9KTp0dChhLGUubGVuZ3RoKX0sSTpmdW5jdGlvbih0LGUsbil7dmFyIHI9aHQodCk7cmV0dXJuIklvIj09PWU/bi5vcmRpbmFsTnVtYmVyKHIse3VuaXQ6IndlZWsifSk6dHQocixlLmxlbmd0aCl9LGQ6ZnVuY3Rpb24odCxlLG4pe3JldHVybiJkbyI9PT1lP24ub3JkaW5hbE51bWJlcih0LmdldFVUQ0RhdGUoKSx7dW5pdDoiZGF0ZSJ9KTpydCh0LGUpfSxEOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1mdW5jdGlvbih0KXtJKDEsYXJndW1lbnRzKTt2YXIgZT1OKHQpLG49ZS5nZXRUaW1lKCk7ZS5zZXRVVENNb250aCgwLDEpLGUuc2V0VVRDSG91cnMoMCwwLDAsMCk7dmFyIHI9ZS5nZXRUaW1lKCksYT1uLXI7cmV0dXJuIE1hdGguZmxvb3IoYS91dCkrMX0odCk7cmV0dXJuIkRvIj09PWU/bi5vcmRpbmFsTnVtYmVyKHIse3VuaXQ6ImRheU9mWWVhciJ9KTp0dChyLGUubGVuZ3RoKX0sRTpmdW5jdGlvbih0LGUsbil7dmFyIHI9dC5nZXRVVENEYXkoKTtzd2l0Y2goZSl7Y2FzZSJFIjpjYXNlIkVFIjpjYXNlIkVFRSI6cmV0dXJuIG4uZGF5KHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFIjpyZXR1cm4gbi5kYXkocix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFRSI6cmV0dXJuIG4uZGF5KHIse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBuLmRheShyLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LGU6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9dC5nZXRVVENEYXkoKSxpPShhLXIud2Vla1N0YXJ0c09uKzgpJTd8fDc7c3dpdGNoKGUpe2Nhc2UiZSI6cmV0dXJuIFN0cmluZyhpKTtjYXNlImVlIjpyZXR1cm4gdHQoaSwyKTtjYXNlImVvIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6ImRheSJ9KTtjYXNlImVlZSI6cmV0dXJuIG4uZGF5KGEse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImVlZWVlIjpyZXR1cm4gbi5kYXkoYSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImVlZWVlZSI6cmV0dXJuIG4uZGF5KGEse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBuLmRheShhLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LGM6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9dC5nZXRVVENEYXkoKSxpPShhLXIud2Vla1N0YXJ0c09uKzgpJTd8fDc7c3dpdGNoKGUpe2Nhc2UiYyI6cmV0dXJuIFN0cmluZyhpKTtjYXNlImNjIjpyZXR1cm4gdHQoaSxlLmxlbmd0aCk7Y2FzZSJjbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcihpLHt1bml0OiJkYXkifSk7Y2FzZSJjY2MiOnJldHVybiBuLmRheShhLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjYyI6cmV0dXJuIG4uZGF5KGEse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjY2MiOnJldHVybiBuLmRheShhLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gbi5kYXkoYSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fSxpOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj10LmdldFVUQ0RheSgpLGE9MD09PXI/NzpyO3N3aXRjaChlKXtjYXNlImkiOnJldHVybiBTdHJpbmcoYSk7Y2FzZSJpaSI6cmV0dXJuIHR0KGEsZS5sZW5ndGgpO2Nhc2UiaW8iOnJldHVybiBuLm9yZGluYWxOdW1iZXIoYSx7dW5pdDoiZGF5In0pO2Nhc2UiaWlpIjpyZXR1cm4gbi5kYXkocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiaWlpaWkiOnJldHVybiBuLmRheShyLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiaWlpaWlpIjpyZXR1cm4gbi5kYXkocix7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIG4uZGF5KHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sYTpmdW5jdGlvbih0LGUsbil7dmFyIHI9dC5nZXRVVENIb3VycygpLzEyPj0xPyJwbSI6ImFtIjtzd2l0Y2goZSl7Y2FzZSJhIjpjYXNlImFhIjpyZXR1cm4gbi5kYXlQZXJpb2Qocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiYWFhIjpyZXR1cm4gbi5kYXlQZXJpb2Qocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLnRvTG93ZXJDYXNlKCk7Y2FzZSJhYWFhYSI6cmV0dXJuIG4uZGF5UGVyaW9kKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gbi5kYXlQZXJpb2Qocix7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSxiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcixhPXQuZ2V0VVRDSG91cnMoKTtzd2l0Y2gocj0xMj09PWE/X3Q6MD09PWE/d3Q6YS8xMj49MT8icG0iOiJhbSIsZSl7Y2FzZSJiIjpjYXNlImJiIjpyZXR1cm4gbi5kYXlQZXJpb2Qocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiYmJiIjpyZXR1cm4gbi5kYXlQZXJpb2Qocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLnRvTG93ZXJDYXNlKCk7Y2FzZSJiYmJiYiI6cmV0dXJuIG4uZGF5UGVyaW9kKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gbi5kYXlQZXJpb2Qocix7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSxCOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcixhPXQuZ2V0VVRDSG91cnMoKTtzd2l0Y2gocj1hPj0xNz9UdDphPj0xMj94dDphPj00P0N0OlB0LGUpe2Nhc2UiQiI6Y2FzZSJCQiI6Y2FzZSJCQkIiOnJldHVybiBuLmRheVBlcmlvZChyLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJCQkJCQiI6cmV0dXJuIG4uZGF5UGVyaW9kKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gbi5kYXlQZXJpb2Qocix7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSxoOmZ1bmN0aW9uKHQsZSxuKXtpZigiaG8iPT09ZSl7dmFyIHI9dC5nZXRVVENIb3VycygpJTEyO3JldHVybiAwPT09ciYmKHI9MTIpLG4ub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pfXJldHVybiBhdCh0LGUpfSxIOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4iSG8iPT09ZT9uLm9yZGluYWxOdW1iZXIodC5nZXRVVENIb3VycygpLHt1bml0OiJob3VyIn0pOml0KHQsZSl9LEs6ZnVuY3Rpb24odCxlLG4pe3ZhciByPXQuZ2V0VVRDSG91cnMoKSUxMjtyZXR1cm4iS28iPT09ZT9uLm9yZGluYWxOdW1iZXIocix7dW5pdDoiaG91ciJ9KTp0dChyLGUubGVuZ3RoKX0sazpmdW5jdGlvbih0LGUsbil7dmFyIHI9dC5nZXRVVENIb3VycygpO3JldHVybiAwPT09ciYmKHI9MjQpLCJrbyI9PT1lP24ub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pOnR0KHIsZS5sZW5ndGgpfSxtOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4ibW8iPT09ZT9uLm9yZGluYWxOdW1iZXIodC5nZXRVVENNaW51dGVzKCkse3VuaXQ6Im1pbnV0ZSJ9KTpvdCh0LGUpfSxzOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4ic28iPT09ZT9uLm9yZGluYWxOdW1iZXIodC5nZXRVVENTZWNvbmRzKCkse3VuaXQ6InNlY29uZCJ9KTpzdCh0LGUpfSxTOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGx0KHQsZSl9LFg6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9KHIuX29yaWdpbmFsRGF0ZXx8dCkuZ2V0VGltZXpvbmVPZmZzZXQoKTtpZigwPT09YSlyZXR1cm4iWiI7c3dpdGNoKGUpe2Nhc2UiWCI6cmV0dXJuIE90KGEpO2Nhc2UiWFhYWCI6Y2FzZSJYWCI6cmV0dXJuICR0KGEpO2RlZmF1bHQ6cmV0dXJuICR0KGEsIjoiKX19LHg6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9KHIuX29yaWdpbmFsRGF0ZXx8dCkuZ2V0VGltZXpvbmVPZmZzZXQoKTtzd2l0Y2goZSl7Y2FzZSJ4IjpyZXR1cm4gT3QoYSk7Y2FzZSJ4eHh4IjpjYXNlInh4IjpyZXR1cm4gJHQoYSk7ZGVmYXVsdDpyZXR1cm4gJHQoYSwiOiIpfX0sTzpmdW5jdGlvbih0LGUsbixyKXt2YXIgYT0oci5fb3JpZ2luYWxEYXRlfHx0KS5nZXRUaW1lem9uZU9mZnNldCgpO3N3aXRjaChlKXtjYXNlIk8iOmNhc2UiT08iOmNhc2UiT09PIjpyZXR1cm4iR01UIitrdChhLCI6Iik7ZGVmYXVsdDpyZXR1cm4iR01UIiskdChhLCI6Iil9fSx6OmZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBhPShyLl9vcmlnaW5hbERhdGV8fHQpLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKGUpe2Nhc2UieiI6Y2FzZSJ6eiI6Y2FzZSJ6enoiOnJldHVybiJHTVQiK2t0KGEsIjoiKTtkZWZhdWx0OnJldHVybiJHTVQiKyR0KGEsIjoiKX19LHQ6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9ci5fb3JpZ2luYWxEYXRlfHx0O3JldHVybiB0dChNYXRoLmZsb29yKGEuZ2V0VGltZSgpLzFlMyksZS5sZW5ndGgpfSxUOmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB0dCgoci5fb3JpZ2luYWxEYXRlfHx0KS5nZXRUaW1lKCksZS5sZW5ndGgpfX07ZnVuY3Rpb24ga3QodCxlKXt2YXIgbj10PjA/Ii0iOiIrIixyPU1hdGguYWJzKHQpLGE9TWF0aC5mbG9vcihyLzYwKSxpPXIlNjA7aWYoMD09PWkpcmV0dXJuIG4rU3RyaW5nKGEpO3ZhciBvPWV8fCIiO3JldHVybiBuK1N0cmluZyhhKStvK3R0KGksMil9ZnVuY3Rpb24gT3QodCxlKXtyZXR1cm4gdCU2MD09MD8odD4wPyItIjoiKyIpK3R0KE1hdGguYWJzKHQpLzYwLDIpOiR0KHQsZSl9ZnVuY3Rpb24gJHQodCxlKXt2YXIgbj1lfHwiIixyPXQ+MD8iLSI6IisiLGE9TWF0aC5hYnModCk7cmV0dXJuIHIrdHQoTWF0aC5mbG9vcihhLzYwKSwyKStuK3R0KGElNjAsMil9ZnVuY3Rpb24gQXQodCxlKXtzd2l0Y2godCl7Y2FzZSJQIjpyZXR1cm4gZS5kYXRlKHt3aWR0aDoic2hvcnQifSk7Y2FzZSJQUCI6cmV0dXJuIGUuZGF0ZSh7d2lkdGg6Im1lZGl1bSJ9KTtjYXNlIlBQUCI6cmV0dXJuIGUuZGF0ZSh7d2lkdGg6ImxvbmcifSk7ZGVmYXVsdDpyZXR1cm4gZS5kYXRlKHt3aWR0aDoiZnVsbCJ9KX19ZnVuY3Rpb24gRHQodCxlKXtzd2l0Y2godCl7Y2FzZSJwIjpyZXR1cm4gZS50aW1lKHt3aWR0aDoic2hvcnQifSk7Y2FzZSJwcCI6cmV0dXJuIGUudGltZSh7d2lkdGg6Im1lZGl1bSJ9KTtjYXNlInBwcCI6cmV0dXJuIGUudGltZSh7d2lkdGg6ImxvbmcifSk7ZGVmYXVsdDpyZXR1cm4gZS50aW1lKHt3aWR0aDoiZnVsbCJ9KX19dmFyIFJ0PXtwOkR0LFA6ZnVuY3Rpb24odCxlKXt2YXIgbixyPXQubWF0Y2goLyhQKykocCspPy8pLGE9clsxXSxpPXJbMl07aWYoIWkpcmV0dXJuIEF0KHQsZSk7c3dpdGNoKGEpe2Nhc2UiUCI6bj1lLmRhdGVUaW1lKHt3aWR0aDoic2hvcnQifSk7YnJlYWs7Y2FzZSJQUCI6bj1lLmRhdGVUaW1lKHt3aWR0aDoibWVkaXVtIn0pO2JyZWFrO2Nhc2UiUFBQIjpuPWUuZGF0ZVRpbWUoe3dpZHRoOiJsb25nIn0pO2JyZWFrO2RlZmF1bHQ6bj1lLmRhdGVUaW1lKHt3aWR0aDoiZnVsbCJ9KX1yZXR1cm4gbi5yZXBsYWNlKCJ7e2RhdGV9fSIsQXQoYSxlKSkucmVwbGFjZSgie3t0aW1lfX0iLER0KGksZSkpfX0sRXQ9WyJEIiwiREQiXSxGdD1bIllZIiwiWVlZWSJdO2Z1bmN0aW9uIE10KHQpe3JldHVybi0xIT09RXQuaW5kZXhPZih0KX1mdW5jdGlvbiBJdCh0KXtyZXR1cm4tMSE9PUZ0LmluZGV4T2YodCl9ZnVuY3Rpb24gTnQodCxlLG4pe2lmKCJZWVlZIj09PXQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlVzZSBgeXl5eWAgaW5zdGVhZCBvZiBgWVlZWWAgKGluIGAiLmNvbmNhdChlLCJgKSBmb3IgZm9ybWF0dGluZyB5ZWFycyB0byB0aGUgaW5wdXQgYCIpLmNvbmNhdChuLCJgOyBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyIikpO2lmKCJZWSI9PT10KXRocm93IG5ldyBSYW5nZUVycm9yKCJVc2UgYHl5YCBpbnN0ZWFkIG9mIGBZWWAgKGluIGAiLmNvbmNhdChlLCJgKSBmb3IgZm9ybWF0dGluZyB5ZWFycyB0byB0aGUgaW5wdXQgYCIpLmNvbmNhdChuLCJgOyBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyIikpO2lmKCJEIj09PXQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlVzZSBgZGAgaW5zdGVhZCBvZiBgRGAgKGluIGAiLmNvbmNhdChlLCJgKSBmb3IgZm9ybWF0dGluZyBkYXlzIG9mIHRoZSBtb250aCB0byB0aGUgaW5wdXQgYCIpLmNvbmNhdChuLCJgOyBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyIikpO2lmKCJERCI9PT10KXRocm93IG5ldyBSYW5nZUVycm9yKCJVc2UgYGRkYCBpbnN0ZWFkIG9mIGBERGAgKGluIGAiLmNvbmNhdChlLCJgKSBmb3IgZm9ybWF0dGluZyBkYXlzIG9mIHRoZSBtb250aCB0byB0aGUgaW5wdXQgYCIpLmNvbmNhdChuLCJgOyBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyIikpfXZhciBqdD0vW3lZUXFNTHdJZERlY2loSEtrbXNdb3woXHcpXDEqfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLEx0PS9QK3ArfFArfHArfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLFV0PS9eJyhbXl0qPyknPyQvLEh0PS8nJy9nLEJ0PS9bYS16QS1aXS87ZnVuY3Rpb24genQodCl7cmV0dXJuIHQubWF0Y2goVXQpWzFdLnJlcGxhY2UoSHQsIiciKX1mdW5jdGlvbiBxdCh0LGUpe2lmKG51bGw9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiYXNzaWduIHJlcXVpcmVzIHRoYXQgaW5wdXQgcGFyYW1ldGVyIG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO2Zvcih2YXIgbiBpbiBlPWV8fHt9KWUuaGFzT3duUHJvcGVydHkobikmJih0W25dPWVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIFl0KHQsZSxuKXtJKDIsYXJndW1lbnRzKTt2YXIgcj1ufHx7fSxhPXIubG9jYWxlLGk9YSYmYS5vcHRpb25zJiZhLm9wdGlvbnMud2Vla1N0YXJ0c09uLG89bnVsbD09aT8wOk0oaSkscz1udWxsPT1yLndlZWtTdGFydHNPbj9vOk0oci53ZWVrU3RhcnRzT24pO2lmKCEocz49MCYmczw9NikpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIndlZWtTdGFydHNPbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNiBpbmNsdXNpdmVseSIpO3ZhciBsPU4odCksdT1NKGUpLGM9bC5nZXRVVENEYXkoKSxkPXUlNyxmPShkKzcpJTcscD0oZjxzPzc6MCkrdS1jO3JldHVybiBsLnNldFVUQ0RhdGUobC5nZXRVVENEYXRlKCkrcCksbH12YXIgV3Q9L14oMVswLTJdfDA/XGQpLyxWdD0vXigzWzAtMV18WzAtMl0/XGQpLyxLdD0vXigzNlswLTZdfDNbMC01XVxkfFswLTJdP1xkP1xkKS8sUXQ9L14oNVswLTNdfFswLTRdP1xkKS8sR3Q9L14oMlswLTNdfFswLTFdP1xkKS8sSnQ9L14oMlswLTRdfFswLTFdP1xkKS8sWHQ9L14oMVswLTFdfDA/XGQpLyxadD0vXigxWzAtMl18MD9cZCkvLHRlPS9eWzAtNV0/XGQvLGVlPS9eWzAtNV0/XGQvLG5lPS9eXGQvLHJlPS9eXGR7MSwyfS8sYWU9L15cZHsxLDN9LyxpZT0vXlxkezEsNH0vLG9lPS9eLT9cZCsvLHNlPS9eLT9cZC8sbGU9L14tP1xkezEsMn0vLHVlPS9eLT9cZHsxLDN9LyxjZT0vXi0/XGR7MSw0fS8sZGU9L14oWystXSkoXGR7Mn0pKFxkezJ9KT98Wi8sZmU9L14oWystXSkoXGR7Mn0pKFxkezJ9KXxaLyxwZT0vXihbKy1dKShcZHsyfSkoXGR7Mn0pKChcZHsyfSkpP3xaLyxoZT0vXihbKy1dKShcZHsyfSk6KFxkezJ9KXxaLyx2ZT0vXihbKy1dKShcZHsyfSk6KFxkezJ9KSg6KFxkezJ9KSk/fFovO2Z1bmN0aW9uIGdlKHQsZSxuKXt2YXIgcj1lLm1hdGNoKHQpO2lmKCFyKXJldHVybiBudWxsO3ZhciBhPXBhcnNlSW50KHJbMF0sMTApO3JldHVybnt2YWx1ZTpuP24oYSk6YSxyZXN0OmUuc2xpY2UoclswXS5sZW5ndGgpfX1mdW5jdGlvbiBtZSh0LGUpe3ZhciBuPWUubWF0Y2godCk7cmV0dXJuIG4/IloiPT09blswXT97dmFsdWU6MCxyZXN0OmUuc2xpY2UoMSl9Ont2YWx1ZTooIisiPT09blsxXT8xOi0xKSooMzZlNSooblsyXT9wYXJzZUludChuWzJdLDEwKTowKSs2ZTQqKG5bM10/cGFyc2VJbnQoblszXSwxMCk6MCkrMWUzKihuWzVdP3BhcnNlSW50KG5bNV0sMTApOjApKSxyZXN0OmUuc2xpY2UoblswXS5sZW5ndGgpfTpudWxsfWZ1bmN0aW9uIHllKHQsZSl7cmV0dXJuIGdlKG9lLHQsZSl9ZnVuY3Rpb24gYmUodCxlLG4pe3N3aXRjaCh0KXtjYXNlIDE6cmV0dXJuIGdlKG5lLGUsbik7Y2FzZSAyOnJldHVybiBnZShyZSxlLG4pO2Nhc2UgMzpyZXR1cm4gZ2UoYWUsZSxuKTtjYXNlIDQ6cmV0dXJuIGdlKGllLGUsbik7ZGVmYXVsdDpyZXR1cm4gZ2UobmV3IFJlZ0V4cCgiXlxcZHsxLCIrdCsifSIpLGUsbil9fWZ1bmN0aW9uIHdlKHQsZSxuKXtzd2l0Y2godCl7Y2FzZSAxOnJldHVybiBnZShzZSxlLG4pO2Nhc2UgMjpyZXR1cm4gZ2UobGUsZSxuKTtjYXNlIDM6cmV0dXJuIGdlKHVlLGUsbik7Y2FzZSA0OnJldHVybiBnZShjZSxlLG4pO2RlZmF1bHQ6cmV0dXJuIGdlKG5ldyBSZWdFeHAoIl4tP1xcZHsxLCIrdCsifSIpLGUsbil9fWZ1bmN0aW9uIF9lKHQpe3N3aXRjaCh0KXtjYXNlIm1vcm5pbmciOnJldHVybiA0O2Nhc2UiZXZlbmluZyI6cmV0dXJuIDE3O2Nhc2UicG0iOmNhc2Uibm9vbiI6Y2FzZSJhZnRlcm5vb24iOnJldHVybiAxMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBDZSh0LGUpe3ZhciBuLHI9ZT4wLGE9cj9lOjEtZTtpZihhPD01MCluPXR8fDEwMDtlbHNle3ZhciBpPWErNTA7bj10KzEwMCpNYXRoLmZsb29yKGkvMTAwKS0odD49aSUxMDA/MTAwOjApfXJldHVybiByP246MS1ufXZhciB4ZT1bMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdLFRlPVszMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07ZnVuY3Rpb24gUGUodCl7cmV0dXJuIHQlNDAwPT0wfHx0JTQ9PTAmJnQlMTAwIT0wfXZhciBTZT17Rzp7cHJpb3JpdHk6MTQwLHBhcnNlOmZ1bmN0aW9uKHQsZSxuLHIpe3N3aXRjaChlKXtjYXNlIkciOmNhc2UiR0ciOmNhc2UiR0dHIjpyZXR1cm4gbi5lcmEodCx7d2lkdGg6ImFiYnJldmlhdGVkIn0pfHxuLmVyYSh0LHt3aWR0aDoibmFycm93In0pO2Nhc2UiR0dHR0ciOnJldHVybiBuLmVyYSh0LHt3aWR0aDoibmFycm93In0pO2RlZmF1bHQ6cmV0dXJuIG4uZXJhKHQse3dpZHRoOiJ3aWRlIn0pfHxuLmVyYSh0LHt3aWR0aDoiYWJicmV2aWF0ZWQifSl8fG4uZXJhKHQse3dpZHRoOiJuYXJyb3cifSl9fSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIGUuZXJhPW4sdC5zZXRVVENGdWxsWWVhcihuLDAsMSksdC5zZXRVVENIb3VycygwLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJSIiwidSIsInQiLCJUIl19LHk6e3ByaW9yaXR5OjEzMCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXt2YXIgYT1mdW5jdGlvbih0KXtyZXR1cm57eWVhcjp0LGlzVHdvRGlnaXRZZWFyOiJ5eSI9PT1lfX07c3dpdGNoKGUpe2Nhc2UieSI6cmV0dXJuIGJlKDQsdCxhKTtjYXNlInlvIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6InllYXIiLHZhbHVlQ2FsbGJhY2s6YX0pO2RlZmF1bHQ6cmV0dXJuIGJlKGUubGVuZ3RoLHQsYSl9fSx2YWxpZGF0ZTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIGUuaXNUd29EaWdpdFllYXJ8fGUueWVhcj4wfSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9dC5nZXRVVENGdWxsWWVhcigpO2lmKG4uaXNUd29EaWdpdFllYXIpe3ZhciBpPUNlKG4ueWVhcixhKTtyZXR1cm4gdC5zZXRVVENGdWxsWWVhcihpLDAsMSksdC5zZXRVVENIb3VycygwLDAsMCwwKSx0fXZhciBvPSJlcmEiaW4gZSYmMSE9PWUuZXJhPzEtbi55ZWFyOm4ueWVhcjtyZXR1cm4gdC5zZXRVVENGdWxsWWVhcihvLDAsMSksdC5zZXRVVENIb3VycygwLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJZIiwiUiIsInUiLCJ3IiwiSSIsImkiLCJlIiwiYyIsInQiLCJUIl19LFk6e3ByaW9yaXR5OjEzMCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXt2YXIgYT1mdW5jdGlvbih0KXtyZXR1cm57eWVhcjp0LGlzVHdvRGlnaXRZZWFyOiJZWSI9PT1lfX07c3dpdGNoKGUpe2Nhc2UiWSI6cmV0dXJuIGJlKDQsdCxhKTtjYXNlIllvIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6InllYXIiLHZhbHVlQ2FsbGJhY2s6YX0pO2RlZmF1bHQ6cmV0dXJuIGJlKGUubGVuZ3RoLHQsYSl9fSx2YWxpZGF0ZTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIGUuaXNUd29EaWdpdFllYXJ8fGUueWVhcj4wfSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9Z3QodCxyKTtpZihuLmlzVHdvRGlnaXRZZWFyKXt2YXIgaT1DZShuLnllYXIsYSk7cmV0dXJuIHQuc2V0VVRDRnVsbFllYXIoaSwwLHIuZmlyc3RXZWVrQ29udGFpbnNEYXRlKSx0LnNldFVUQ0hvdXJzKDAsMCwwLDApLHZ0KHQscil9dmFyIG89ImVyYSJpbiBlJiYxIT09ZS5lcmE/MS1uLnllYXI6bi55ZWFyO3JldHVybiB0LnNldFVUQ0Z1bGxZZWFyKG8sMCxyLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSksdC5zZXRVVENIb3VycygwLDAsMCwwKSx2dCh0LHIpfSxpbmNvbXBhdGlibGVUb2tlbnM6WyJ5IiwiUiIsInUiLCJRIiwicSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiaSIsInQiLCJUIl19LFI6e3ByaW9yaXR5OjEzMCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXtyZXR1cm4gd2UoIlIiPT09ZT80OmUubGVuZ3RoLHQpfSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9bmV3IERhdGUoMCk7cmV0dXJuIGEuc2V0VVRDRnVsbFllYXIobiwwLDQpLGEuc2V0VVRDSG91cnMoMCwwLDAsMCksY3QoYSl9LGluY29tcGF0aWJsZVRva2VuczpbIkciLCJ5IiwiWSIsInUiLCJRIiwicSIsIk0iLCJMIiwidyIsImQiLCJEIiwiZSIsImMiLCJ0IiwiVCJdfSx1Ontwcmlvcml0eToxMzAscGFyc2U6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIHdlKCJ1Ij09PWU/NDplLmxlbmd0aCx0KX0sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB0LnNldFVUQ0Z1bGxZZWFyKG4sMCwxKSx0LnNldFVUQ0hvdXJzKDAsMCwwLDApLHR9LGluY29tcGF0aWJsZVRva2VuczpbIkciLCJ5IiwiWSIsIlIiLCJ3IiwiSSIsImkiLCJlIiwiYyIsInQiLCJUIl19LFE6e3ByaW9yaXR5OjEyMCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXtzd2l0Y2goZSl7Y2FzZSJRIjpjYXNlIlFRIjpyZXR1cm4gYmUoZS5sZW5ndGgsdCk7Y2FzZSJRbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcih0LHt1bml0OiJxdWFydGVyIn0pO2Nhc2UiUVFRIjpyZXR1cm4gbi5xdWFydGVyKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8bi5xdWFydGVyKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJRUVFRUSI6cmV0dXJuIG4ucXVhcnRlcih0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIG4ucXVhcnRlcih0LHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8bi5xdWFydGVyKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8bi5xdWFydGVyKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSx2YWxpZGF0ZTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIGU+PTEmJmU8PTR9LHNldDpmdW5jdGlvbih0LGUsbixyKXtyZXR1cm4gdC5zZXRVVENNb250aCgzKihuLTEpLDEpLHQuc2V0VVRDSG91cnMoMCwwLDAsMCksdH0saW5jb21wYXRpYmxlVG9rZW5zOlsiWSIsIlIiLCJxIiwiTSIsIkwiLCJ3IiwiSSIsImQiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX0scTp7cHJpb3JpdHk6MTIwLHBhcnNlOmZ1bmN0aW9uKHQsZSxuLHIpe3N3aXRjaChlKXtjYXNlInEiOmNhc2UicXEiOnJldHVybiBiZShlLmxlbmd0aCx0KTtjYXNlInFvIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6InF1YXJ0ZXIifSk7Y2FzZSJxcXEiOnJldHVybiBuLnF1YXJ0ZXIodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxuLnF1YXJ0ZXIodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlInFxcXFxIjpyZXR1cm4gbi5xdWFydGVyKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gbi5xdWFydGVyKHQse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxuLnF1YXJ0ZXIodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxuLnF1YXJ0ZXIodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LHZhbGlkYXRlOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT49MSYmZTw9NH0sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB0LnNldFVUQ01vbnRoKDMqKG4tMSksMSksdC5zZXRVVENIb3VycygwLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJZIiwiUiIsIlEiLCJNIiwiTCIsInciLCJJIiwiZCIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfSxNOntwcmlvcml0eToxMTAscGFyc2U6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9ZnVuY3Rpb24odCl7cmV0dXJuIHQtMX07c3dpdGNoKGUpe2Nhc2UiTSI6cmV0dXJuIGdlKFd0LHQsYSk7Y2FzZSJNTSI6cmV0dXJuIGJlKDIsdCxhKTtjYXNlIk1vIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6Im1vbnRoIix2YWx1ZUNhbGxiYWNrOmF9KTtjYXNlIk1NTSI6cmV0dXJuIG4ubW9udGgodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxuLm1vbnRoKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJNTU1NTSI6cmV0dXJuIG4ubW9udGgodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBuLm1vbnRoKHQse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxuLm1vbnRoKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8bi5tb250aCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sdmFsaWRhdGU6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlPj0wJiZlPD0xMX0sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB0LnNldFVUQ01vbnRoKG4sMSksdC5zZXRVVENIb3VycygwLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJZIiwiUiIsInEiLCJRIiwiTCIsInciLCJJIiwiRCIsImkiLCJlIiwiYyIsInQiLCJUIl19LEw6e3ByaW9yaXR5OjExMCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXt2YXIgYT1mdW5jdGlvbih0KXtyZXR1cm4gdC0xfTtzd2l0Y2goZSl7Y2FzZSJMIjpyZXR1cm4gZ2UoV3QsdCxhKTtjYXNlIkxMIjpyZXR1cm4gYmUoMix0LGEpO2Nhc2UiTG8iOnJldHVybiBuLm9yZGluYWxOdW1iZXIodCx7dW5pdDoibW9udGgiLHZhbHVlQ2FsbGJhY2s6YX0pO2Nhc2UiTExMIjpyZXR1cm4gbi5tb250aCh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fG4ubW9udGgodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlIkxMTExMIjpyZXR1cm4gbi5tb250aCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2RlZmF1bHQ6cmV0dXJuIG4ubW9udGgodCx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fG4ubW9udGgodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxuLm1vbnRoKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fSx2YWxpZGF0ZTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIGU+PTAmJmU8PTExfSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIHQuc2V0VVRDTW9udGgobiwxKSx0LnNldFVUQ0hvdXJzKDAsMCwwLDApLHR9LGluY29tcGF0aWJsZVRva2VuczpbIlkiLCJSIiwicSIsIlEiLCJNIiwidyIsIkkiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX0sdzp7cHJpb3JpdHk6MTAwLHBhcnNlOmZ1bmN0aW9uKHQsZSxuLHIpe3N3aXRjaChlKXtjYXNlInciOnJldHVybiBnZShRdCx0KTtjYXNlIndvIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6IndlZWsifSk7ZGVmYXVsdDpyZXR1cm4gYmUoZS5sZW5ndGgsdCl9fSx2YWxpZGF0ZTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIGU+PTEmJmU8PTUzfSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIHZ0KGZ1bmN0aW9uKHQsZSxuKXtJKDIsYXJndW1lbnRzKTt2YXIgcj1OKHQpLGE9TShlKSxpPWJ0KHIsbiktYTtyZXR1cm4gci5zZXRVVENEYXRlKHIuZ2V0VVRDRGF0ZSgpLTcqaSkscn0odCxuLHIpLHIpfSxpbmNvbXBhdGlibGVUb2tlbnM6WyJ5IiwiUiIsInUiLCJxIiwiUSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiaSIsInQiLCJUIl19LEk6e3ByaW9yaXR5OjEwMCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXtzd2l0Y2goZSl7Y2FzZSJJIjpyZXR1cm4gZ2UoUXQsdCk7Y2FzZSJJbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcih0LHt1bml0OiJ3ZWVrIn0pO2RlZmF1bHQ6cmV0dXJuIGJlKGUubGVuZ3RoLHQpfX0sdmFsaWRhdGU6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlPj0xJiZlPD01M30sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBjdChmdW5jdGlvbih0LGUpe0koMixhcmd1bWVudHMpO3ZhciBuPU4odCkscj1NKGUpLGE9aHQobiktcjtyZXR1cm4gbi5zZXRVVENEYXRlKG4uZ2V0VVRDRGF0ZSgpLTcqYSksbn0odCxuLHIpLHIpfSxpbmNvbXBhdGlibGVUb2tlbnM6WyJ5IiwiWSIsInUiLCJxIiwiUSIsIk0iLCJMIiwidyIsImQiLCJEIiwiZSIsImMiLCJ0IiwiVCJdfSxkOntwcmlvcml0eTo5MCxzdWJQcmlvcml0eToxLHBhcnNlOmZ1bmN0aW9uKHQsZSxuLHIpe3N3aXRjaChlKXtjYXNlImQiOnJldHVybiBnZShWdCx0KTtjYXNlImRvIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6ImRhdGUifSk7ZGVmYXVsdDpyZXR1cm4gYmUoZS5sZW5ndGgsdCl9fSx2YWxpZGF0ZTpmdW5jdGlvbih0LGUsbil7dmFyIHI9UGUodC5nZXRVVENGdWxsWWVhcigpKSxhPXQuZ2V0VVRDTW9udGgoKTtyZXR1cm4gcj9lPj0xJiZlPD1UZVthXTplPj0xJiZlPD14ZVthXX0sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB0LnNldFVUQ0RhdGUobiksdC5zZXRVVENIb3VycygwLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJZIiwiUiIsInEiLCJRIiwidyIsIkkiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX0sRDp7cHJpb3JpdHk6OTAsc3ViUHJpb3JpdHk6MSxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXtzd2l0Y2goZSl7Y2FzZSJEIjpjYXNlIkREIjpyZXR1cm4gZ2UoS3QsdCk7Y2FzZSJEbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcih0LHt1bml0OiJkYXRlIn0pO2RlZmF1bHQ6cmV0dXJuIGJlKGUubGVuZ3RoLHQpfX0sdmFsaWRhdGU6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBQZSh0LmdldFVUQ0Z1bGxZZWFyKCkpP2U+PTEmJmU8PTM2NjplPj0xJiZlPD0zNjV9LHNldDpmdW5jdGlvbih0LGUsbixyKXtyZXR1cm4gdC5zZXRVVENNb250aCgwLG4pLHQuc2V0VVRDSG91cnMoMCwwLDAsMCksdH0saW5jb21wYXRpYmxlVG9rZW5zOlsiWSIsIlIiLCJxIiwiUSIsIk0iLCJMIiwidyIsIkkiLCJkIiwiRSIsImkiLCJlIiwiYyIsInQiLCJUIl19LEU6e3ByaW9yaXR5OjkwLHBhcnNlOmZ1bmN0aW9uKHQsZSxuLHIpe3N3aXRjaChlKXtjYXNlIkUiOmNhc2UiRUUiOmNhc2UiRUVFIjpyZXR1cm4gbi5kYXkodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxuLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fG4uZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJFRUVFRSI6cmV0dXJuIG4uZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJFRUVFRUUiOnJldHVybiBuLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fG4uZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gbi5kYXkodCx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fG4uZGF5KHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8bi5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxuLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sdmFsaWRhdGU6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlPj0wJiZlPD02fSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuKHQ9WXQodCxuLHIpKS5zZXRVVENIb3VycygwLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX0sZTp7cHJpb3JpdHk6OTAscGFyc2U6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9ZnVuY3Rpb24odCl7dmFyIGU9NypNYXRoLmZsb29yKCh0LTEpLzcpO3JldHVybih0K3Iud2Vla1N0YXJ0c09uKzYpJTcrZX07c3dpdGNoKGUpe2Nhc2UiZSI6Y2FzZSJlZSI6cmV0dXJuIGJlKGUubGVuZ3RoLHQsYSk7Y2FzZSJlbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcih0LHt1bml0OiJkYXkiLHZhbHVlQ2FsbGJhY2s6YX0pO2Nhc2UiZWVlIjpyZXR1cm4gbi5kYXkodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxuLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fG4uZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZSI6cmV0dXJuIG4uZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZWUiOnJldHVybiBuLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fG4uZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gbi5kYXkodCx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fG4uZGF5KHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8bi5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxuLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sdmFsaWRhdGU6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlPj0wJiZlPD02fSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuKHQ9WXQodCxuLHIpKS5zZXRVVENIb3VycygwLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJ5IiwiUiIsInUiLCJxIiwiUSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiRSIsImkiLCJjIiwidCIsIlQiXX0sYzp7cHJpb3JpdHk6OTAscGFyc2U6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9ZnVuY3Rpb24odCl7dmFyIGU9NypNYXRoLmZsb29yKCh0LTEpLzcpO3JldHVybih0K3Iud2Vla1N0YXJ0c09uKzYpJTcrZX07c3dpdGNoKGUpe2Nhc2UiYyI6Y2FzZSJjYyI6cmV0dXJuIGJlKGUubGVuZ3RoLHQsYSk7Y2FzZSJjbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcih0LHt1bml0OiJkYXkiLHZhbHVlQ2FsbGJhY2s6YX0pO2Nhc2UiY2NjIjpyZXR1cm4gbi5kYXkodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxuLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fG4uZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjYyI6cmV0dXJuIG4uZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjY2MiOnJldHVybiBuLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fG4uZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gbi5kYXkodCx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fG4uZGF5KHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8bi5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxuLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX0sdmFsaWRhdGU6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlPj0wJiZlPD02fSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuKHQ9WXQodCxuLHIpKS5zZXRVVENIb3VycygwLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJ5IiwiUiIsInUiLCJxIiwiUSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiRSIsImkiLCJlIiwidCIsIlQiXX0saTp7cHJpb3JpdHk6OTAscGFyc2U6ZnVuY3Rpb24odCxlLG4scil7dmFyIGE9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10Pzc6dH07c3dpdGNoKGUpe2Nhc2UiaSI6Y2FzZSJpaSI6cmV0dXJuIGJlKGUubGVuZ3RoLHQpO2Nhc2UiaW8iOnJldHVybiBuLm9yZGluYWxOdW1iZXIodCx7dW5pdDoiZGF5In0pO2Nhc2UiaWlpIjpyZXR1cm4gbi5kYXkodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIix2YWx1ZUNhbGxiYWNrOmF9KXx8bi5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIix2YWx1ZUNhbGxiYWNrOmF9KXx8bi5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyIsdmFsdWVDYWxsYmFjazphfSk7Y2FzZSJpaWlpaSI6cmV0dXJuIG4uZGF5KHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmciLHZhbHVlQ2FsbGJhY2s6YX0pO2Nhc2UiaWlpaWlpIjpyZXR1cm4gbi5kYXkodCx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIix2YWx1ZUNhbGxiYWNrOmF9KXx8bi5kYXkodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyIsdmFsdWVDYWxsYmFjazphfSk7ZGVmYXVsdDpyZXR1cm4gbi5kYXkodCx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmciLHZhbHVlQ2FsbGJhY2s6YX0pfHxuLmRheSh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmciLHZhbHVlQ2FsbGJhY2s6YX0pfHxuLmRheSh0LHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmciLHZhbHVlQ2FsbGJhY2s6YX0pfHxuLmRheSh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIix2YWx1ZUNhbGxiYWNrOmF9KX19LHZhbGlkYXRlOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT49MSYmZTw9N30sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB0PWZ1bmN0aW9uKHQsZSl7SSgyLGFyZ3VtZW50cyk7dmFyIG49TShlKTtuJTc9PTAmJihuLT03KTt2YXIgcj0xLGE9Tih0KSxpPWEuZ2V0VVRDRGF5KCksbz0oKG4lNys3KSU3PHI/NzowKStuLWk7cmV0dXJuIGEuc2V0VVRDRGF0ZShhLmdldFVUQ0RhdGUoKStvKSxhfSh0LG4sciksdC5zZXRVVENIb3VycygwLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJ5IiwiWSIsInUiLCJxIiwiUSIsIk0iLCJMIiwidyIsImQiLCJEIiwiRSIsImUiLCJjIiwidCIsIlQiXX0sYTp7cHJpb3JpdHk6ODAscGFyc2U6ZnVuY3Rpb24odCxlLG4scil7c3dpdGNoKGUpe2Nhc2UiYSI6Y2FzZSJhYSI6Y2FzZSJhYWEiOnJldHVybiBuLmRheVBlcmlvZCh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fG4uZGF5UGVyaW9kKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJhYWFhYSI6cmV0dXJuIG4uZGF5UGVyaW9kKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gbi5kYXlQZXJpb2QodCx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fG4uZGF5UGVyaW9kKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8bi5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LHNldDpmdW5jdGlvbih0LGUsbixyKXtyZXR1cm4gdC5zZXRVVENIb3VycyhfZShuKSwwLDAsMCksdH0saW5jb21wYXRpYmxlVG9rZW5zOlsiYiIsIkIiLCJIIiwiSyIsImsiLCJ0IiwiVCJdfSxiOntwcmlvcml0eTo4MCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXtzd2l0Y2goZSl7Y2FzZSJiIjpjYXNlImJiIjpjYXNlImJiYiI6cmV0dXJuIG4uZGF5UGVyaW9kKHQse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8bi5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImJiYmJiIjpyZXR1cm4gbi5kYXlQZXJpb2QodCx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBuLmRheVBlcmlvZCh0LHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8bi5kYXlQZXJpb2QodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxuLmRheVBlcmlvZCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB0LnNldFVUQ0hvdXJzKF9lKG4pLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJhIiwiQiIsIkgiLCJLIiwiayIsInQiLCJUIl19LEI6e3ByaW9yaXR5OjgwLHBhcnNlOmZ1bmN0aW9uKHQsZSxuLHIpe3N3aXRjaChlKXtjYXNlIkIiOmNhc2UiQkIiOmNhc2UiQkJCIjpyZXR1cm4gbi5kYXlQZXJpb2QodCx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxuLmRheVBlcmlvZCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiQkJCQkIiOnJldHVybiBuLmRheVBlcmlvZCh0LHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIG4uZGF5UGVyaW9kKHQse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxuLmRheVBlcmlvZCh0LHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fG4uZGF5UGVyaW9kKHQse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIHQuc2V0VVRDSG91cnMoX2UobiksMCwwLDApLHR9LGluY29tcGF0aWJsZVRva2VuczpbImEiLCJiIiwidCIsIlQiXX0saDp7cHJpb3JpdHk6NzAscGFyc2U6ZnVuY3Rpb24odCxlLG4scil7c3dpdGNoKGUpe2Nhc2UiaCI6cmV0dXJuIGdlKFp0LHQpO2Nhc2UiaG8iOnJldHVybiBuLm9yZGluYWxOdW1iZXIodCx7dW5pdDoiaG91ciJ9KTtkZWZhdWx0OnJldHVybiBiZShlLmxlbmd0aCx0KX19LHZhbGlkYXRlOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT49MSYmZTw9MTJ9LHNldDpmdW5jdGlvbih0LGUsbixyKXt2YXIgYT10LmdldFVUQ0hvdXJzKCk+PTEyO3JldHVybiBhJiZuPDEyP3Quc2V0VVRDSG91cnMobisxMiwwLDAsMCk6YXx8MTIhPT1uP3Quc2V0VVRDSG91cnMobiwwLDAsMCk6dC5zZXRVVENIb3VycygwLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJIIiwiSyIsImsiLCJ0IiwiVCJdfSxIOntwcmlvcml0eTo3MCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXtzd2l0Y2goZSl7Y2FzZSJIIjpyZXR1cm4gZ2UoR3QsdCk7Y2FzZSJIbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcih0LHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIGJlKGUubGVuZ3RoLHQpfX0sdmFsaWRhdGU6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlPj0wJiZlPD0yM30sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB0LnNldFVUQ0hvdXJzKG4sMCwwLDApLHR9LGluY29tcGF0aWJsZVRva2VuczpbImEiLCJiIiwiaCIsIksiLCJrIiwidCIsIlQiXX0sSzp7cHJpb3JpdHk6NzAscGFyc2U6ZnVuY3Rpb24odCxlLG4scil7c3dpdGNoKGUpe2Nhc2UiSyI6cmV0dXJuIGdlKFh0LHQpO2Nhc2UiS28iOnJldHVybiBuLm9yZGluYWxOdW1iZXIodCx7dW5pdDoiaG91ciJ9KTtkZWZhdWx0OnJldHVybiBiZShlLmxlbmd0aCx0KX19LHZhbGlkYXRlOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT49MCYmZTw9MTF9LHNldDpmdW5jdGlvbih0LGUsbixyKXtyZXR1cm4gdC5nZXRVVENIb3VycygpPj0xMiYmbjwxMj90LnNldFVUQ0hvdXJzKG4rMTIsMCwwLDApOnQuc2V0VVRDSG91cnMobiwwLDAsMCksdH0saW5jb21wYXRpYmxlVG9rZW5zOlsiYSIsImIiLCJoIiwiSCIsImsiLCJ0IiwiVCJdfSxrOntwcmlvcml0eTo3MCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXtzd2l0Y2goZSl7Y2FzZSJrIjpyZXR1cm4gZ2UoSnQsdCk7Y2FzZSJrbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcih0LHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIGJlKGUubGVuZ3RoLHQpfX0sdmFsaWRhdGU6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlPj0xJiZlPD0yNH0sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBhPW48PTI0P24lMjQ6bjtyZXR1cm4gdC5zZXRVVENIb3VycyhhLDAsMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJhIiwiYiIsImgiLCJIIiwiSyIsInQiLCJUIl19LG06e3ByaW9yaXR5OjYwLHBhcnNlOmZ1bmN0aW9uKHQsZSxuLHIpe3N3aXRjaChlKXtjYXNlIm0iOnJldHVybiBnZSh0ZSx0KTtjYXNlIm1vIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKHQse3VuaXQ6Im1pbnV0ZSJ9KTtkZWZhdWx0OnJldHVybiBiZShlLmxlbmd0aCx0KX19LHZhbGlkYXRlOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT49MCYmZTw9NTl9LHNldDpmdW5jdGlvbih0LGUsbixyKXtyZXR1cm4gdC5zZXRVVENNaW51dGVzKG4sMCwwKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJ0IiwiVCJdfSxzOntwcmlvcml0eTo1MCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXtzd2l0Y2goZSl7Y2FzZSJzIjpyZXR1cm4gZ2UoZWUsdCk7Y2FzZSJzbyI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcih0LHt1bml0OiJzZWNvbmQifSk7ZGVmYXVsdDpyZXR1cm4gYmUoZS5sZW5ndGgsdCl9fSx2YWxpZGF0ZTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIGU+PTAmJmU8PTU5fSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIHQuc2V0VVRDU2Vjb25kcyhuLDApLHR9LGluY29tcGF0aWJsZVRva2VuczpbInQiLCJUIl19LFM6e3ByaW9yaXR5OjMwLHBhcnNlOmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBiZShlLmxlbmd0aCx0LChmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5mbG9vcih0Kk1hdGgucG93KDEwLDMtZS5sZW5ndGgpKX0pKX0sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB0LnNldFVUQ01pbGxpc2Vjb25kcyhuKSx0fSxpbmNvbXBhdGlibGVUb2tlbnM6WyJ0IiwiVCJdfSxYOntwcmlvcml0eToxMCxwYXJzZTpmdW5jdGlvbih0LGUsbixyKXtzd2l0Y2goZSl7Y2FzZSJYIjpyZXR1cm4gbWUoZGUsdCk7Y2FzZSJYWCI6cmV0dXJuIG1lKGZlLHQpO2Nhc2UiWFhYWCI6cmV0dXJuIG1lKHBlLHQpO2Nhc2UiWFhYWFgiOnJldHVybiBtZSh2ZSx0KTtkZWZhdWx0OnJldHVybiBtZShoZSx0KX19LHNldDpmdW5jdGlvbih0LGUsbixyKXtyZXR1cm4gZS50aW1lc3RhbXBJc1NldD90Om5ldyBEYXRlKHQuZ2V0VGltZSgpLW4pfSxpbmNvbXBhdGlibGVUb2tlbnM6WyJ0IiwiVCIsIngiXX0seDp7cHJpb3JpdHk6MTAscGFyc2U6ZnVuY3Rpb24odCxlLG4scil7c3dpdGNoKGUpe2Nhc2UieCI6cmV0dXJuIG1lKGRlLHQpO2Nhc2UieHgiOnJldHVybiBtZShmZSx0KTtjYXNlInh4eHgiOnJldHVybiBtZShwZSx0KTtjYXNlInh4eHh4IjpyZXR1cm4gbWUodmUsdCk7ZGVmYXVsdDpyZXR1cm4gbWUoaGUsdCl9fSxzZXQ6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIGUudGltZXN0YW1wSXNTZXQ/dDpuZXcgRGF0ZSh0LmdldFRpbWUoKS1uKX0saW5jb21wYXRpYmxlVG9rZW5zOlsidCIsIlQiLCJYIl19LHQ6e3ByaW9yaXR5OjQwLHBhcnNlOmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB5ZSh0KX0sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybltuZXcgRGF0ZSgxZTMqbikse3RpbWVzdGFtcElzU2V0OiEwfV19LGluY29tcGF0aWJsZVRva2VuczoiKiJ9LFQ6e3ByaW9yaXR5OjIwLHBhcnNlOmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiB5ZSh0KX0sc2V0OmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybltuZXcgRGF0ZShuKSx7dGltZXN0YW1wSXNTZXQ6ITB9XX0saW5jb21wYXRpYmxlVG9rZW5zOiIqIn19LGtlPS9beVlRcU1Md0lkRGVjaWhIS2ttc11vfChcdylcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csT2U9L1ArcCt8UCt8cCt8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csJGU9L14nKFteXSo/KSc/JC8sQWU9LycnL2csRGU9L1xTLyxSZT0vW2EtekEtWl0vO2Z1bmN0aW9uIEVlKHQsZSxuLHIpe0koMyxhcmd1bWVudHMpO3ZhciBhPVN0cmluZyh0KSxpPVN0cmluZyhlKSxvPXJ8fHt9LHM9by5sb2NhbGV8fFg7aWYoIXMubWF0Y2gpdGhyb3cgbmV3IFJhbmdlRXJyb3IoImxvY2FsZSBtdXN0IGNvbnRhaW4gbWF0Y2ggcHJvcGVydHkiKTt2YXIgbD1zLm9wdGlvbnMmJnMub3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGUsdT1udWxsPT1sPzE6TShsKSxjPW51bGw9PW8uZmlyc3RXZWVrQ29udGFpbnNEYXRlP3U6TShvLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7aWYoIShjPj0xJiZjPD03KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiZmlyc3RXZWVrQ29udGFpbnNEYXRlIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA3IGluY2x1c2l2ZWx5Iik7dmFyIGQ9cy5vcHRpb25zJiZzLm9wdGlvbnMud2Vla1N0YXJ0c09uLGY9bnVsbD09ZD8wOk0oZCkscD1udWxsPT1vLndlZWtTdGFydHNPbj9mOk0oby53ZWVrU3RhcnRzT24pO2lmKCEocD49MCYmcDw9NikpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIndlZWtTdGFydHNPbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNiBpbmNsdXNpdmVseSIpO2lmKCIiPT09aSlyZXR1cm4iIj09PWE/TihuKTpuZXcgRGF0ZShOYU4pO3ZhciBoLHY9e2ZpcnN0V2Vla0NvbnRhaW5zRGF0ZTpjLHdlZWtTdGFydHNPbjpwLGxvY2FsZTpzfSxnPVt7cHJpb3JpdHk6MTAsc3ViUHJpb3JpdHk6LTEsc2V0OkZlLGluZGV4OjB9XSxtPWkubWF0Y2goT2UpLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9dFswXTtyZXR1cm4icCI9PT1lfHwiUCI9PT1lPygwLFJ0W2VdKSh0LHMuZm9ybWF0TG9uZyx2KTp0fSkpLmpvaW4oIiIpLm1hdGNoKGtlKSx5PVtdO2ZvcihoPTA7aDxtLmxlbmd0aDtoKyspe3ZhciBiPW1baF07IW8udXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zJiZJdChiKSYmTnQoYixpLHQpLCFvLnVzZUFkZGl0aW9uYWxEYXlPZlllYXJUb2tlbnMmJk10KGIpJiZOdChiLGksdCk7dmFyIHc9YlswXSxfPVNlW3ddO2lmKF8pe3ZhciBDPV8uaW5jb21wYXRpYmxlVG9rZW5zO2lmKEFycmF5LmlzQXJyYXkoQykpe2Zvcih2YXIgeD12b2lkIDAsVD0wO1Q8eS5sZW5ndGg7VCsrKXt2YXIgUD15W1RdLnRva2VuO2lmKC0xIT09Qy5pbmRleE9mKFApfHxQPT09dyl7eD15W1RdO2JyZWFrfX1pZih4KXRocm93IG5ldyBSYW5nZUVycm9yKCJUaGUgZm9ybWF0IHN0cmluZyBtdXN0bid0IGNvbnRhaW4gYCIuY29uY2F0KHguZnVsbFRva2VuLCJgIGFuZCBgIikuY29uY2F0KGIsImAgYXQgdGhlIHNhbWUgdGltZSIpKX1lbHNlIGlmKCIqIj09PV8uaW5jb21wYXRpYmxlVG9rZW5zJiZ5Lmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiVGhlIGZvcm1hdCBzdHJpbmcgbXVzdG4ndCBjb250YWluIGAiLmNvbmNhdChiLCJgIGFuZCBhbnkgb3RoZXIgdG9rZW4gYXQgdGhlIHNhbWUgdGltZSIpKTt5LnB1c2goe3Rva2VuOncsZnVsbFRva2VuOmJ9KTt2YXIgUz1fLnBhcnNlKGEsYixzLm1hdGNoLHYpO2lmKCFTKXJldHVybiBuZXcgRGF0ZShOYU4pO2cucHVzaCh7cHJpb3JpdHk6Xy5wcmlvcml0eSxzdWJQcmlvcml0eTpfLnN1YlByaW9yaXR5fHwwLHNldDpfLnNldCx2YWxpZGF0ZTpfLnZhbGlkYXRlLHZhbHVlOlMudmFsdWUsaW5kZXg6Zy5sZW5ndGh9KSxhPVMucmVzdH1lbHNle2lmKHcubWF0Y2goUmUpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIrdysiYCIpO2lmKCInJyI9PT1iP2I9IiciOiInIj09PXcmJihiPU1lKGIpKSwwIT09YS5pbmRleE9mKGIpKXJldHVybiBuZXcgRGF0ZShOYU4pO2E9YS5zbGljZShiLmxlbmd0aCl9fWlmKGEubGVuZ3RoPjAmJkRlLnRlc3QoYSkpcmV0dXJuIG5ldyBEYXRlKE5hTik7dmFyIGs9Zy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnByaW9yaXR5fSkpLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUtdH0pKS5maWx0ZXIoKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbi5pbmRleE9mKHQpPT09ZX0pKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBnLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUucHJpb3JpdHk9PT10fSkpLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuc3ViUHJpb3JpdHktdC5zdWJQcmlvcml0eX0pKX0pKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdfSkpLE89TihuKTtpZihpc05hTihPKSlyZXR1cm4gbmV3IERhdGUoTmFOKTt2YXIgJD1aKE8sSChPKSksQT17fTtmb3IoaD0wO2g8ay5sZW5ndGg7aCsrKXt2YXIgRD1rW2hdO2lmKEQudmFsaWRhdGUmJiFELnZhbGlkYXRlKCQsRC52YWx1ZSx2KSlyZXR1cm4gbmV3IERhdGUoTmFOKTt2YXIgUj1ELnNldCgkLEEsRC52YWx1ZSx2KTtSWzBdPygkPVJbMF0scXQoQSxSWzFdKSk6JD1SfXJldHVybiAkfWZ1bmN0aW9uIEZlKHQsZSl7aWYoZS50aW1lc3RhbXBJc1NldClyZXR1cm4gdDt2YXIgbj1uZXcgRGF0ZSgwKTtyZXR1cm4gbi5zZXRGdWxsWWVhcih0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpLHQuZ2V0VVRDRGF0ZSgpKSxuLnNldEhvdXJzKHQuZ2V0VVRDSG91cnMoKSx0LmdldFVUQ01pbnV0ZXMoKSx0LmdldFVUQ1NlY29uZHMoKSx0LmdldFVUQ01pbGxpc2Vjb25kcygpKSxufWZ1bmN0aW9uIE1lKHQpe3JldHVybiB0Lm1hdGNoKCRlKVsxXS5yZXBsYWNlKEFlLCInIil9dmFyIEllPU9iamVjdC5hc3NpZ24oe30seCk7SWUuaXNSaWdodD0hMCxJZS5jb21wYXJlPWZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3JldHVybiBuJiZuLmRhdGVJbnB1dEZvcm1hdD9FZSgiIi5jb25jYXQodCksIiIuY29uY2F0KG4uZGF0ZUlucHV0Rm9ybWF0KSxuZXcgRGF0ZSk6dH1yZXR1cm4gdD1yKHQpLGU9cihlKSxCKHQpP0IoZSk/ZnVuY3Rpb24odCxlKXtJKDIsYXJndW1lbnRzKTt2YXIgbj1OKHQpLHI9TihlKSxhPW4uZ2V0VGltZSgpLXIuZ2V0VGltZSgpO3JldHVybiBhPDA/LTE6YT4wPzE6YX0odCxlKToxOi0xfSxJZS5mb3JtYXQ9ZnVuY3Rpb24odCxlKXtpZihudWxsPT10KXJldHVybiIiO3ZhciBuPUVlKHQsZS5kYXRlSW5wdXRGb3JtYXQsbmV3IERhdGUpO3JldHVybiBCKG4pP2Z1bmN0aW9uKHQsZSxuKXtJKDIsYXJndW1lbnRzKTt2YXIgcj1TdHJpbmcoZSksYT1ufHx7fSxpPWEubG9jYWxlfHxYLG89aS5vcHRpb25zJiZpLm9wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlLHM9bnVsbD09bz8xOk0obyksbD1udWxsPT1hLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT9zOk0oYS5maXJzdFdlZWtDb250YWluc0RhdGUpO2lmKCEobD49MSYmbDw9NykpdGhyb3cgbmV3IFJhbmdlRXJyb3IoImZpcnN0V2Vla0NvbnRhaW5zRGF0ZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNyBpbmNsdXNpdmVseSIpO3ZhciB1PWkub3B0aW9ucyYmaS5vcHRpb25zLndlZWtTdGFydHNPbixjPW51bGw9PXU/MDpNKHUpLGQ9bnVsbD09YS53ZWVrU3RhcnRzT24/YzpNKGEud2Vla1N0YXJ0c09uKTtpZighKGQ+PTAmJmQ8PTYpKXRocm93IG5ldyBSYW5nZUVycm9yKCJ3ZWVrU3RhcnRzT24gbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDYgaW5jbHVzaXZlbHkiKTtpZighaS5sb2NhbGl6ZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigibG9jYWxlIG11c3QgY29udGFpbiBsb2NhbGl6ZSBwcm9wZXJ0eSIpO2lmKCFpLmZvcm1hdExvbmcpdGhyb3cgbmV3IFJhbmdlRXJyb3IoImxvY2FsZSBtdXN0IGNvbnRhaW4gZm9ybWF0TG9uZyBwcm9wZXJ0eSIpO3ZhciBmPU4odCk7aWYoIUIoZikpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO3ZhciBwPUgoZiksaD1aKGYscCksdj17Zmlyc3RXZWVrQ29udGFpbnNEYXRlOmwsd2Vla1N0YXJ0c09uOmQsbG9jYWxlOmksX29yaWdpbmFsRGF0ZTpmfTtyZXR1cm4gci5tYXRjaChMdCkubWFwKChmdW5jdGlvbih0KXt2YXIgZT10WzBdO3JldHVybiJwIj09PWV8fCJQIj09PWU/KDAsUnRbZV0pKHQsaS5mb3JtYXRMb25nLHYpOnR9KSkuam9pbigiIikubWF0Y2goanQpLm1hcCgoZnVuY3Rpb24obil7aWYoIicnIj09PW4pcmV0dXJuIiciO3ZhciByPW5bMF07aWYoIiciPT09cilyZXR1cm4genQobik7dmFyIG89U3Rbcl07aWYobylyZXR1cm4hYS51c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnMmJkl0KG4pJiZOdChuLGUsdCksIWEudXNlQWRkaXRpb25hbERheU9mWWVhclRva2VucyYmTXQobikmJk50KG4sZSx0KSxvKGgsbixpLmxvY2FsaXplLHYpO2lmKHIubWF0Y2goQnQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIrcisiYCIpO3JldHVybiBufSkpLmpvaW4oIiIpfShuLGUuZGF0ZU91dHB1dEZvcm1hdCk6KGNvbnNvbGUuZXJyb3IoJ05vdCBhIHZhbGlkIGRhdGU6ICInLmNvbmNhdCh0LCciJykpLG51bGwpfTt2YXIgTmU9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsZGVmYXVsdDpJZX0pLGplPU9iamVjdC5hc3NpZ24oe30seCk7amUuaXNSaWdodD0hMCxqZS5maWx0ZXJQcmVkaWNhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gMD09PWplLmNvbXBhcmUodCxlKX0samUuY29tcGFyZT1mdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIG51bGw9PXQ/LTEvMDp0LmluZGV4T2YoIi4iKT49MD9wYXJzZUZsb2F0KHQpOnBhcnNlSW50KHQsMTApfXJldHVybih0PSJudW1iZXIiPT10eXBlb2YgdD90Om4odCkpPChlPSJudW1iZXIiPT10eXBlb2YgZT9lOm4oZSkpPy0xOnQ+ZT8xOjB9O3ZhciBMZT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxkZWZhdWx0OmplfSksVWU9T2JqZWN0LmFzc2lnbih7fSxqZSk7VWUuZm9ybWF0PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10PyIiOnBhcnNlRmxvYXQoTWF0aC5yb3VuZCgxMDAqdCkvMTAwKS50b0ZpeGVkKDIpfTt2YXIgSGU9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsZGVmYXVsdDpVZX0pLEJlPU9iamVjdC5hc3NpZ24oe30samUpO0JlLmZvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD8iIjoiIi5jb25jYXQocGFyc2VGbG9hdCgxMDAqdCkudG9GaXhlZCgyKSwiJSIpfTt2YXIgemU9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsZGVmYXVsdDpCZX0pLHFlPU9iamVjdC5hc3NpZ24oe30seCk7cWUuaXNSaWdodD0hMCxxZS5maWx0ZXJQcmVkaWNhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gMD09PXFlLmNvbXBhcmUodCxlKX0scWUuY29tcGFyZT1mdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgdD90PzE6MDoic3RyaW5nIj09dHlwZW9mIHQ/InRydWUiPT09dD8xOjA6LTEvMH1yZXR1cm4odD1uKHQpKTwoZT1uKGUpKT8tMTp0PmU/MTowfTt2YXIgWWU9e30sV2U9e2RhdGU6TmUsZGVjaW1hbDpIZSxudW1iZXI6TGUscGVyY2VudGFnZTp6ZSxib29sZWFuOk9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGRlZmF1bHQ6cWV9KX07T2JqZWN0LmtleXMoV2UpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXQucmVwbGFjZSgvXlwuXC8vLCIiKS5yZXBsYWNlKC9cLmpzLywiIik7WWVbZV09V2VbdF0uZGVmYXVsdH0pKTt2YXIgVmU9e25hbWU6InZ1ZS1nb29kLXRhYmxlIixwcm9wczp7aXNMb2FkaW5nOntkZWZhdWx0Om51bGwsdHlwZTpCb29sZWFufSxtYXhIZWlnaHQ6e2RlZmF1bHQ6bnVsbCx0eXBlOlN0cmluZ30sZml4ZWRIZWFkZXI6Qm9vbGVhbix0aGVtZTp7ZGVmYXVsdDoiIn0sbW9kZTp7ZGVmYXVsdDoibG9jYWwifSx0b3RhbFJvd3M6e30sc3R5bGVDbGFzczp7ZGVmYXVsdDoidmd0LXRhYmxlIGJvcmRlcmVkIn0sY29sdW1uczp7fSxyb3dzOnt9LGxpbmVOdW1iZXJzOkJvb2xlYW4scmVzcG9uc2l2ZTp7ZGVmYXVsdDohMCx0eXBlOkJvb2xlYW59LHJ0bDpCb29sZWFuLHJvd1N0eWxlQ2xhc3M6e2RlZmF1bHQ6bnVsbCx0eXBlOltGdW5jdGlvbixTdHJpbmddfSxjb21wYWN0TW9kZTpCb29sZWFuLGdyb3VwT3B0aW9uczp7ZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybntlbmFibGVkOiExLGNvbGxhcHNhYmxlOiExLHJvd0tleTpudWxsfX19LHNlbGVjdE9wdGlvbnM6e2RlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm57ZW5hYmxlZDohMSxzZWxlY3Rpb25JbmZvQ2xhc3M6IiIsc2VsZWN0aW9uVGV4dDoicm93cyBzZWxlY3RlZCIsY2xlYXJTZWxlY3Rpb25UZXh0OiJjbGVhciIsZGlzYWJsZVNlbGVjdEluZm86ITEsc2VsZWN0QWxsQnlHcm91cDohMX19fSxzb3J0T3B0aW9uczp7ZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybntlbmFibGVkOiEwLG11bHRpcGxlQ29sdW1uczohMCxpbml0aWFsU29ydEJ5Ont9fX19LHBhZ2luYXRpb25PcHRpb25zOntkZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIGEodD17ZW5hYmxlZDohMSxwb3NpdGlvbjoiYm90dG9tIixwZXJQYWdlOjEwLHBlclBhZ2VEcm9wZG93bjpudWxsLHBlclBhZ2VEcm9wZG93bkVuYWJsZWQ6ITB9LCJwb3NpdGlvbiIsImJvdHRvbSIpLGEodCwiZHJvcGRvd25BbGxvd0FsbCIsITApLGEodCwibW9kZSIsInJlY29yZHMiKSxhKHQsImluZm9GbiIsbnVsbCksYSh0LCJqdW1wRmlyc3RPckxhc3QiLCExKSx0fX0sc2VhcmNoT3B0aW9uczp7ZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybntlbmFibGVkOiExLHRyaWdnZXI6bnVsbCxleHRlcm5hbFF1ZXJ5Om51bGwsc2VhcmNoRm46bnVsbCxwbGFjZWhvbGRlcjoiU2VhcmNoIFRhYmxlIn19fX0sZGF0YTpmdW5jdGlvbigpe3JldHVybnt0YWJsZUxvYWRpbmc6ITEsZmlyc3RUZXh0OiJGaXJzdCIsbGFzdFRleHQ6Ikxhc3QiLG5leHRUZXh0OiJOZXh0IixwcmV2VGV4dDoiUHJldmlvdXMiLHJvd3NQZXJQYWdlVGV4dDoiUm93cyBwZXIgcGFnZSIsb2ZUZXh0OiJvZiIsYWxsVGV4dDoiQWxsIixwYWdlVGV4dDoicGFnZSIsc2VsZWN0YWJsZTohMSxzZWxlY3RPbkNoZWNrYm94T25seTohMSxzZWxlY3RBbGxCeVBhZ2U6ITAsZGlzYWJsZVNlbGVjdEluZm86ITEsc2VsZWN0aW9uSW5mb0NsYXNzOiIiLHNlbGVjdGlvblRleHQ6InJvd3Mgc2VsZWN0ZWQiLGNsZWFyU2VsZWN0aW9uVGV4dDoiY2xlYXIiLG1haW50YWluRXhwYW5kZWQ6ITAsZXhwYW5kZWRSb3dLZXlzOm5ldyBTZXQsc29ydGFibGU6ITAsZGVmYXVsdFNvcnRCeTpudWxsLG11bHRpcGxlQ29sdW1uU29ydDohMCxzZWFyY2hFbmFibGVkOiExLHNlYXJjaFRyaWdnZXI6bnVsbCxleHRlcm5hbFNlYXJjaFF1ZXJ5Om51bGwsc2VhcmNoRm46bnVsbCxzZWFyY2hQbGFjZWhvbGRlcjoiU2VhcmNoIFRhYmxlIixzZWFyY2hTa2lwRGlhY3JpdGljczohMSxwZXJQYWdlOm51bGwscGFnaW5hdGU6ITEscGFnaW5hdGVPblRvcDohMSxwYWdpbmF0ZU9uQm90dG9tOiEwLGN1c3RvbVJvd3NQZXJQYWdlRHJvcGRvd246W10scGFnaW5hdGVEcm9wZG93bkFsbG93QWxsOiEwLHBhZ2luYXRpb25Nb2RlOiJyZWNvcmRzIixwYWdpbmF0aW9uSW5mb0ZuOm51bGwsY3VycmVudFBhZ2U6MSxjdXJyZW50UGVyUGFnZToxMCxzb3J0czpbXSxnbG9iYWxTZWFyY2hUZXJtOiIiLGZpbHRlcmVkUm93czpbXSxjb2x1bW5GaWx0ZXJzOnt9LGZvcmNlU2VhcmNoOiExLHNvcnRDaGFuZ2VkOiExLGRhdGFUeXBlczpZZXx8e319fSx3YXRjaDp7cm93czp7aGFuZGxlcjpmdW5jdGlvbigpe3RoaXMuJGVtaXQoInVwZGF0ZTppc0xvYWRpbmciLCExKSx0aGlzLmZpbHRlclJvd3ModGhpcy5jb2x1bW5GaWx0ZXJzLCExKX0sZGVlcDohMCxpbW1lZGlhdGU6ITB9LHNlbGVjdE9wdGlvbnM6e2hhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLmluaXRpYWxpemVTZWxlY3QoKX0sZGVlcDohMCxpbW1lZGlhdGU6ITB9LHBhZ2luYXRpb25PcHRpb25zOntoYW5kbGVyOmZ1bmN0aW9uKHQsZSl7bSh0LGUpfHx0aGlzLmluaXRpYWxpemVQYWdpbmF0aW9uKCl9LGRlZXA6ITAsaW1tZWRpYXRlOiEwfSxzZWFyY2hPcHRpb25zOntoYW5kbGVyOmZ1bmN0aW9uKCl7dm9pZCAwIT09dGhpcy5zZWFyY2hPcHRpb25zLmV4dGVybmFsUXVlcnkmJnRoaXMuc2VhcmNoT3B0aW9ucy5leHRlcm5hbFF1ZXJ5IT09dGhpcy5zZWFyY2hUZXJtJiYodGhpcy5leHRlcm5hbFNlYXJjaFF1ZXJ5PXRoaXMuc2VhcmNoT3B0aW9ucy5leHRlcm5hbFF1ZXJ5LHRoaXMuaGFuZGxlU2VhcmNoKCkpLHRoaXMuaW5pdGlhbGl6ZVNlYXJjaCgpfSxkZWVwOiEwLGltbWVkaWF0ZTohMH0sc29ydE9wdGlvbnM6e2hhbmRsZXI6ZnVuY3Rpb24odCxlKXttKHQsZSl8fHRoaXMuaW5pdGlhbGl6ZVNvcnQoKX0sZGVlcDohMH0sc2VsZWN0ZWRSb3dzOmZ1bmN0aW9uKHQsZSl7bSh0LGUpfHx0aGlzLiRlbWl0KCJvbi1zZWxlY3RlZC1yb3dzLWNoYW5nZSIse3NlbGVjdGVkUm93czp0aGlzLnNlbGVjdGVkUm93c30pfX0sY29tcHV0ZWQ6e3RhYmxlU3R5bGVzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29tcGFjdE1vZGU/dGhpcy50YWJsZVN0eWxlQ2xhc3Nlcysidmd0LWNvbXBhY3QiOnRoaXMudGFibGVTdHlsZUNsYXNzZXN9LGhhc0Zvb3RlclNsb3Q6ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuJHNsb3RzWyJ0YWJsZS1hY3Rpb25zLWJvdHRvbSJdfSx3cmFwcGVyU3R5bGVzOmZ1bmN0aW9uKCl7cmV0dXJue292ZXJmbG93OiJzY3JvbGwteSIsbWF4SGVpZ2h0OnRoaXMubWF4SGVpZ2h0P3RoaXMubWF4SGVpZ2h0OiJhdXRvIn19LHJvd0tleUZpZWxkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ3JvdXBPcHRpb25zLnJvd0tleXx8InZndF9oZWFkZXJfaWQifSxoYXNIZWFkZXJSb3dUZW1wbGF0ZTpmdW5jdGlvbigpe3JldHVybiEhdGhpcy4kc2xvdHNbInRhYmxlLWhlYWRlci1yb3ciXXx8ISF0aGlzLiRzY29wZWRTbG90c1sidGFibGUtaGVhZGVyLXJvdyJdfSxzaG93RW1wdHlTbG90OmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMucGFnaW5hdGVkLmxlbmd0aHx8Im5vIGdyb3VwcyI9PT10aGlzLnBhZ2luYXRlZFswXS5sYWJlbCYmIXRoaXMucGFnaW5hdGVkWzBdLmNoaWxkcmVuLmxlbmd0aH0sYWxsU2VsZWN0ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWxlY3RlZFJvd0NvdW50PjAmJih0aGlzLnNlbGVjdEFsbEJ5UGFnZSYmdGhpcy5zZWxlY3RlZFBhZ2VSb3dzQ291bnQ9PT10aGlzLnRvdGFsUGFnZVJvd0NvdW50fHwhdGhpcy5zZWxlY3RBbGxCeVBhZ2UmJnRoaXMuc2VsZWN0ZWRSb3dDb3VudD09PXRoaXMudG90YWxSb3dDb3VudCl9LGFsbFNlbGVjdGVkSW5kZXRlcm1pbmF0ZTpmdW5jdGlvbigpe3JldHVybiF0aGlzLmFsbFNlbGVjdGVkJiYodGhpcy5zZWxlY3RBbGxCeVBhZ2UmJnRoaXMuc2VsZWN0ZWRQYWdlUm93c0NvdW50PjB8fCF0aGlzLnNlbGVjdEFsbEJ5UGFnZSYmdGhpcy5zZWxlY3RlZFJvd0NvdW50PjApfSxzZWxlY3Rpb25JbmZvOmZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KHRoaXMuc2VsZWN0ZWRSb3dDb3VudCwiICIpLmNvbmNhdCh0aGlzLnNlbGVjdGlvblRleHQpfSxzZWxlY3RlZFJvd0NvdW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2VsZWN0ZWRSb3dzLmxlbmd0aH0sc2VsZWN0ZWRQYWdlUm93c0NvdW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2VsZWN0ZWRQYWdlUm93cy5sZW5ndGh9LHNlbGVjdGVkUGFnZVJvd3M6ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5wYWdpbmF0ZWQuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5jaGlsZHJlbi5mb3JFYWNoKChmdW5jdGlvbihlKXtlLnZndFNlbGVjdGVkJiZ0LnB1c2goZSl9KSl9KSksdH0sc2VsZWN0ZWRSb3dzOmZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMucHJvY2Vzc2VkUm93cy5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmNoaWxkcmVuLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Uudmd0U2VsZWN0ZWQmJnQucHVzaChlKX0pKX0pKSx0LnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQub3JpZ2luYWxJbmRleC1lLm9yaWdpbmFsSW5kZXh9KSl9LGZ1bGxDb2xzcGFuOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PTAsZT0wO2U8dGhpcy5jb2x1bW5zLmxlbmd0aDtlKz0xKXRoaXMuY29sdW1uc1tlXS5oaWRkZW58fCh0Kz0xKTtyZXR1cm4gdGhpcy5saW5lTnVtYmVycyYmdCsrLHRoaXMuc2VsZWN0YWJsZSYmdCsrLHR9LGdyb3VwSGVhZGVyT25Ub3A6ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMuZ3JvdXBPcHRpb25zJiZ0aGlzLmdyb3VwT3B0aW9ucy5lbmFibGVkJiZ0aGlzLmdyb3VwT3B0aW9ucy5oZWFkZXJQb3NpdGlvbiYmImJvdHRvbSI9PT10aGlzLmdyb3VwT3B0aW9ucy5oZWFkZXJQb3NpdGlvbikmJiEoIXRoaXMuZ3JvdXBPcHRpb25zfHwhdGhpcy5ncm91cE9wdGlvbnMuZW5hYmxlZCl9LGdyb3VwSGVhZGVyT25Cb3R0b206ZnVuY3Rpb24oKXtyZXR1cm4hISh0aGlzLmdyb3VwT3B0aW9ucyYmdGhpcy5ncm91cE9wdGlvbnMuZW5hYmxlZCYmdGhpcy5ncm91cE9wdGlvbnMuaGVhZGVyUG9zaXRpb24mJiJib3R0b20iPT09dGhpcy5ncm91cE9wdGlvbnMuaGVhZGVyUG9zaXRpb24pfSx0b3RhbFJvd0NvdW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJvY2Vzc2VkUm93cy5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrKGUuY2hpbGRyZW4/ZS5jaGlsZHJlbi5sZW5ndGg6MCl9KSwwKX0sdG90YWxQYWdlUm93Q291bnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYWdpbmF0ZWQucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiB0KyhlLmNoaWxkcmVuP2UuY2hpbGRyZW4ubGVuZ3RoOjApfSksMCl9LHdyYXBTdHlsZUNsYXNzZXM6ZnVuY3Rpb24oKXt2YXIgdD0idmd0LXdyYXAiO3JldHVybiB0aGlzLnJ0bCYmKHQrPSIgcnRsIiksdCs9IiAiLmNvbmNhdCh0aGlzLnRoZW1lKX0sdGFibGVTdHlsZUNsYXNzZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnN0eWxlQ2xhc3M7cmV0dXJuIHQrPSIgIi5jb25jYXQodGhpcy50aGVtZSl9LHNlYXJjaFRlcm06ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9dGhpcy5leHRlcm5hbFNlYXJjaFF1ZXJ5P3RoaXMuZXh0ZXJuYWxTZWFyY2hRdWVyeTp0aGlzLmdsb2JhbFNlYXJjaFRlcm19LGdsb2JhbFNlYXJjaEFsbG93ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hKCF0aGlzLnNlYXJjaEVuYWJsZWR8fCF0aGlzLmdsb2JhbFNlYXJjaFRlcm18fCJlbnRlciI9PT10aGlzLnNlYXJjaFRyaWdnZXIpfHwobnVsbCE9dGhpcy5leHRlcm5hbFNlYXJjaFF1ZXJ5JiYiZW50ZXIiIT09dGhpcy5zZWFyY2hUcmlnZ2VyfHwhIXRoaXMuZm9yY2VTZWFyY2gmJih0aGlzLmZvcmNlU2VhcmNoPSExLCEwKSl9LHByb2Nlc3NlZFJvd3M6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5maWx0ZXJlZFJvd3M7aWYoInJlbW90ZSI9PT10aGlzLm1vZGUpcmV0dXJuIGU7aWYodGhpcy5nbG9iYWxTZWFyY2hBbGxvd2VkKXt2YXIgbj1bXTt0aGlzLmZpbHRlcmVkUm93cy5mb3JFYWNoKChmdW5jdGlvbih0KXtuLnB1c2guYXBwbHkobixvKHQuY2hpbGRyZW4pKX0pKTt2YXIgcj1bXTtuLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0wO248dC5jb2x1bW5zLmxlbmd0aDtuKz0xKXt2YXIgYT10LmNvbHVtbnNbbl07aWYoIWEuZ2xvYmFsU2VhcmNoRGlzYWJsZWQpaWYodC5zZWFyY2hGbil7aWYodC5zZWFyY2hGbihlLGEsdC5jb2xsZWN0Rm9ybWF0dGVkKGUsYSksdC5zZWFyY2hUZXJtKSl7ci5wdXNoKGUpO2JyZWFrfX1lbHNlIGlmKHguZmlsdGVyUHJlZGljYXRlKHQuY29sbGVjdEZvcm1hdHRlZChlLGEpLHQuc2VhcmNoVGVybSx0LnNlYXJjaFNraXBEaWFjcml0aWNzKSl7ci5wdXNoKGUpO2JyZWFrfX19KSksdGhpcy4kZW1pdCgib24tc2VhcmNoIix7c2VhcmNoVGVybTp0aGlzLnNlYXJjaFRlcm0scm93Q291bnQ6ci5sZW5ndGh9KSxlPVtdLHRoaXMuZmlsdGVyZWRSb3dzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBuPXQudmd0X2hlYWRlcl9pZCxhPXIuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC52Z3RfaWQ9PT1ufSkpO2lmKGEubGVuZ3RoKXt2YXIgaT1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHQpKTtpLmNoaWxkcmVuPWEsZS5wdXNoKGkpfX0pKX1yZXR1cm4gdGhpcy5zb3J0cy5sZW5ndGgmJmUuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5jaGlsZHJlbi5zb3J0KChmdW5jdGlvbihlLG4pe2Zvcih2YXIgcixhPTA7YTx0LnNvcnRzLmxlbmd0aDthKz0xKXt2YXIgaT10LnNvcnRzW2FdO2lmKGkudHlwZT09PWQpcj1yfHxlLm9yaWdpbmFsSW5kZXgtbi5vcmlnaW5hbEluZGV4O2Vsc2V7dmFyIG89dC5nZXRDb2x1bW5Gb3JGaWVsZChpLmZpZWxkKSxzPXQuY29sbGVjdChlLGkuZmllbGQpLGw9dC5jb2xsZWN0KG4saS5maWVsZCksdT1vLnNvcnRGbjtyPXUmJiJmdW5jdGlvbiI9PXR5cGVvZiB1P3J8fHUocyxsLG8sZSxuKSooaS50eXBlPT09Yz8tMToxKTpyfHxvLnR5cGVEZWYuY29tcGFyZShzLGwsbykqKGkudHlwZT09PWM/LTE6MSl9fXJldHVybiByfSkpfSkpLCJlbnRlciI9PT10aGlzLnNlYXJjaFRyaWdnZXImJih0aGlzLmZpbHRlcmVkUm93cz1lKSxlfSxwYWdpbmF0ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKCF0aGlzLnByb2Nlc3NlZFJvd3MubGVuZ3RoKXJldHVybltdO2lmKCJyZW1vdGUiPT09dGhpcy5tb2RlKXJldHVybiB0aGlzLnByb2Nlc3NlZFJvd3M7dmFyIGU9W107aWYodGhpcy5wcm9jZXNzZWRSb3dzLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByO3QuZ3JvdXBPcHRpb25zLmVuYWJsZWQmJmUucHVzaChuKSwocj1lKS5wdXNoLmFwcGx5KHIsbyhuLmNoaWxkcmVuKSl9KSksdGhpcy5wYWdpbmF0ZSl7dmFyIG49KHRoaXMuY3VycmVudFBhZ2UtMSkqdGhpcy5jdXJyZW50UGVyUGFnZTsobj49ZS5sZW5ndGh8fC0xPT09dGhpcy5jdXJyZW50UGVyUGFnZSkmJih0aGlzLmN1cnJlbnRQYWdlPTEsbj0wKTt2YXIgcj1lLmxlbmd0aCsxOy0xIT09dGhpcy5jdXJyZW50UGVyUGFnZSYmKHI9dGhpcy5jdXJyZW50UGFnZSp0aGlzLmN1cnJlbnRQZXJQYWdlKSxlPWUuc2xpY2UobixyKX12YXIgYT1bXTtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZih2b2lkIDAhPT1lLnZndF9oZWFkZXJfaWQpe3QuaGFuZGxlRXhwYW5kZWQoZSk7dmFyIG49SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShlKSk7bi5jaGlsZHJlbj1bXSxhLnB1c2gobil9ZWxzZXt2YXIgcj1hLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnZndF9oZWFkZXJfaWQ9PT1lLnZndF9pZH0pKTtyfHwocj10LnByb2Nlc3NlZFJvd3MuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudmd0X2hlYWRlcl9pZD09PWUudmd0X2lkfSkpKSYmKChyPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocikpKS5jaGlsZHJlbj1bXSxhLnB1c2gocikpLHIuY2hpbGRyZW4ucHVzaChlKX19KSksYX0sb3JpZ2luYWxSb3dzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5yb3dzJiZ0aGlzLnJvd3MubGVuZ3RoP0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5yb3dzKSk6W10sZT1bXTtlPXRoaXMuZ3JvdXBPcHRpb25zLmVuYWJsZWQ/dGhpcy5oYW5kbGVHcm91cGVkKHQpOnRoaXMuaGFuZGxlR3JvdXBlZChbe2xhYmVsOiJubyBncm91cHMiLGNoaWxkcmVuOnR9XSk7dmFyIG49MDtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmNoaWxkcmVuLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Qub3JpZ2luYWxJbmRleD1uKyt9KSl9KSksZX0sdHlwZWRDb2x1bW5zOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuY29sdW1ucyxlPTA7ZTx0aGlzLmNvbHVtbnMubGVuZ3RoO2UrKyl7dmFyIG49dFtlXTtuLnR5cGVEZWY9dGhpcy5kYXRhVHlwZXNbbi50eXBlXXx8eH1yZXR1cm4gdH0saGFzUm93Q2xpY2tMaXN0ZW5lcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLiRsaXN0ZW5lcnMmJnRoaXMuJGxpc3RlbmVyc1sib24tcm93LWNsaWNrIl19fSxtZXRob2RzOntoYW5kbGVFeHBhbmRlZDpmdW5jdGlvbih0KXt0aGlzLm1haW50YWluRXhwYW5kZWQmJnRoaXMuZXhwYW5kZWRSb3dLZXlzLmhhcyh0W3RoaXMucm93S2V5RmllbGRdKT90aGlzLiRzZXQodCwidmd0SXNFeHBhbmRlZCIsITApOnRoaXMuJHNldCh0LCJ2Z3RJc0V4cGFuZGVkIiwhMSl9LHRvZ2dsZUV4cGFuZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy5maWx0ZXJlZFJvd3MuZmluZCgoZnVuY3Rpb24obil7cmV0dXJuIG5bZS5yb3dLZXlGaWVsZF09PT10fSkpO24mJnRoaXMuJHNldChuLCJ2Z3RJc0V4cGFuZGVkIiwhbi52Z3RJc0V4cGFuZGVkKSx0aGlzLm1haW50YWluRXhwYW5kZWQmJm4udmd0SXNFeHBhbmRlZD90aGlzLmV4cGFuZGVkUm93S2V5cy5hZGQoblt0aGlzLnJvd0tleUZpZWxkXSk6dGhpcy5leHBhbmRlZFJvd0tleXMuZGVsZXRlKG5bdGhpcy5yb3dLZXlGaWVsZF0pfSxleHBhbmRBbGw6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuZmlsdGVyZWRSb3dzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuJHNldChlLCJ2Z3RJc0V4cGFuZGVkIiwhMCksdC5tYWludGFpbkV4cGFuZGVkJiZ0LmV4cGFuZGVkUm93S2V5cy5hZGQoZVt0LnJvd0tleUZpZWxkXSl9KSl9LGNvbGxhcHNlQWxsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLmZpbHRlcmVkUm93cy5mb3JFYWNoKChmdW5jdGlvbihlKXt0LiRzZXQoZSwidmd0SXNFeHBhbmRlZCIsITEpLHQuZXhwYW5kZWRSb3dLZXlzLmNsZWFyKCl9KSl9LGdldENvbHVtbkZvckZpZWxkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dGhpcy50eXBlZENvbHVtbnMubGVuZ3RoO2UrPTEpaWYodGhpcy50eXBlZENvbHVtbnNbZV0uZmllbGQ9PT10KXJldHVybiB0aGlzLnR5cGVkQ29sdW1uc1tlXX0saGFuZGxlU2VhcmNoOmZ1bmN0aW9uKCl7dGhpcy5yZXNldFRhYmxlKCksInJlbW90ZSI9PT10aGlzLm1vZGUmJnRoaXMuJGVtaXQoIm9uLXNlYXJjaCIse3NlYXJjaFRlcm06dGhpcy5zZWFyY2hUZXJtfSl9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5pbml0aWFsaXplU29ydCgpLHRoaXMuY2hhbmdlUGFnZSgxKSx0aGlzLiRyZWZzWyJ0YWJsZS1oZWFkZXItcHJpbWFyeSJdLnJlc2V0KCEwKSx0aGlzLiRyZWZzWyJ0YWJsZS1oZWFkZXItc2Vjb25kYXJ5Il0mJnRoaXMuJHJlZnNbInRhYmxlLWhlYWRlci1zZWNvbmRhcnkiXS5yZXNldCghMCl9LGVtaXRTZWxlY3RlZFJvd3M6ZnVuY3Rpb24oKXt0aGlzLiRlbWl0KCJvbi1zZWxlY3QtYWxsIix7c2VsZWN0ZWQ6dGhpcy5zZWxlY3RlZFJvd0NvdW50PT09dGhpcy50b3RhbFJvd0NvdW50LHNlbGVjdGVkUm93czp0aGlzLnNlbGVjdGVkUm93c30pfSx1bnNlbGVjdEFsbEludGVybmFsOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7KHRoaXMuc2VsZWN0QWxsQnlQYWdlJiYhdD90aGlzLnBhZ2luYXRlZDp0aGlzLmZpbHRlcmVkUm93cykuZm9yRWFjaCgoZnVuY3Rpb24odCxuKXt0LmNoaWxkcmVuLmZvckVhY2goKGZ1bmN0aW9uKHQsbil7ZS4kc2V0KHQsInZndFNlbGVjdGVkIiwhMSl9KSl9KSksdGhpcy5lbWl0U2VsZWN0ZWRSb3dzKCl9LHRvZ2dsZVNlbGVjdEFsbDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5hbGxTZWxlY3RlZD90aGlzLnVuc2VsZWN0QWxsSW50ZXJuYWwoKTooKHRoaXMuc2VsZWN0QWxsQnlQYWdlP3RoaXMucGFnaW5hdGVkOnRoaXMuZmlsdGVyZWRSb3dzKS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmNoaWxkcmVuLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuJHNldChlLCJ2Z3RTZWxlY3RlZCIsITApfSkpfSkpLHRoaXMuZW1pdFNlbGVjdGVkUm93cygpKX0sdG9nZ2xlU2VsZWN0R3JvdXA6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2UuY2hpbGRyZW4uZm9yRWFjaCgoZnVuY3Rpb24oZSl7bi4kc2V0KGUsInZndFNlbGVjdGVkIix0LmNoZWNrZWQpfSkpfSxjaGFuZ2VQYWdlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMucGFnaW5hdGUsbj10aGlzLiRyZWZzLHI9bi5wYWdpbmF0aW9uQm90dG9tLGE9bi5wYWdpbmF0aW9uVG9wO2UmJih0aGlzLnBhZ2luYXRlT25Ub3AmJmEmJihhLmN1cnJlbnRQYWdlPXQpLHRoaXMucGFnaW5hdGVPbkJvdHRvbSYmciYmKHIuY3VycmVudFBhZ2U9dCksdGhpcy5jdXJyZW50UGFnZT10KX0scGFnZUNoYW5nZWRFdmVudDpmdW5jdGlvbigpe3JldHVybntjdXJyZW50UGFnZTp0aGlzLmN1cnJlbnRQYWdlLGN1cnJlbnRQZXJQYWdlOnRoaXMuY3VycmVudFBlclBhZ2UsdG90YWw6TWF0aC5mbG9vcih0aGlzLnRvdGFsUm93Q291bnQvdGhpcy5jdXJyZW50UGVyUGFnZSl9fSxwYWdlQ2hhbmdlZDpmdW5jdGlvbih0KXtpZih0aGlzLmN1cnJlbnRQYWdlPXQuY3VycmVudFBhZ2UsIXQubm9FbWl0KXt2YXIgZT10aGlzLnBhZ2VDaGFuZ2VkRXZlbnQoKTtlLnByZXZQYWdlPXQucHJldlBhZ2UsdGhpcy4kZW1pdCgib24tcGFnZS1jaGFuZ2UiLGUpLCJyZW1vdGUiPT09dGhpcy5tb2RlJiZ0aGlzLiRlbWl0KCJ1cGRhdGU6aXNMb2FkaW5nIiwhMCl9fSxwZXJQYWdlQ2hhbmdlZDpmdW5jdGlvbih0KXt0aGlzLmN1cnJlbnRQZXJQYWdlPXQuY3VycmVudFBlclBhZ2U7dmFyIGU9dGhpcy5wYWdpbmF0aW9uT3B0aW9ucy5wb3NpdGlvbjshdGhpcy4kcmVmcy5wYWdpbmF0aW9uVG9wfHwidG9wIiE9PWUmJiJib3RoIiE9PWV8fCh0aGlzLiRyZWZzLnBhZ2luYXRpb25Ub3AuY3VycmVudFBlclBhZ2U9dGhpcy5jdXJyZW50UGVyUGFnZSksIXRoaXMuJHJlZnMucGFnaW5hdGlvbkJvdHRvbXx8ImJvdHRvbSIhPT1lJiYiYm90aCIhPT1lfHwodGhpcy4kcmVmcy5wYWdpbmF0aW9uQm90dG9tLmN1cnJlbnRQZXJQYWdlPXRoaXMuY3VycmVudFBlclBhZ2UpO3ZhciBuPXRoaXMucGFnZUNoYW5nZWRFdmVudCgpO3RoaXMuJGVtaXQoIm9uLXBlci1wYWdlLWNoYW5nZSIsbiksInJlbW90ZSI9PT10aGlzLm1vZGUmJnRoaXMuJGVtaXQoInVwZGF0ZTppc0xvYWRpbmciLCEwKX0sY2hhbmdlU29ydDpmdW5jdGlvbih0KXt0aGlzLnNvcnRzPXQsdGhpcy4kZW1pdCgib24tc29ydC1jaGFuZ2UiLHQpLHRoaXMuY2hhbmdlUGFnZSgxKSwicmVtb3RlIiE9PXRoaXMubW9kZT90aGlzLnNvcnRDaGFuZ2VkPSEwOnRoaXMuJGVtaXQoInVwZGF0ZTppc0xvYWRpbmciLCEwKX0sb25DaGVja2JveENsaWNrZWQ6ZnVuY3Rpb24odCxlLG4pe3RoaXMuJHNldCh0LCJ2Z3RTZWxlY3RlZCIsIXQudmd0U2VsZWN0ZWQpLHRoaXMuJGVtaXQoIm9uLXJvdy1jbGljayIse3Jvdzp0LHBhZ2VJbmRleDplLHNlbGVjdGVkOiEhdC52Z3RTZWxlY3RlZCxldmVudDpufSl9LG9uUm93RG91YmxlQ2xpY2tlZDpmdW5jdGlvbih0LGUsbil7dGhpcy4kZW1pdCgib24tcm93LWRibGNsaWNrIix7cm93OnQscGFnZUluZGV4OmUsc2VsZWN0ZWQ6ISF0LnZndFNlbGVjdGVkLGV2ZW50Om59KX0sb25Sb3dDbGlja2VkOmZ1bmN0aW9uKHQsZSxuKXt0aGlzLnNlbGVjdGFibGUmJiF0aGlzLnNlbGVjdE9uQ2hlY2tib3hPbmx5JiZ0aGlzLiRzZXQodCwidmd0U2VsZWN0ZWQiLCF0LnZndFNlbGVjdGVkKSx0aGlzLiRlbWl0KCJvbi1yb3ctY2xpY2siLHtyb3c6dCxwYWdlSW5kZXg6ZSxzZWxlY3RlZDohIXQudmd0U2VsZWN0ZWQsZXZlbnQ6bn0pfSxvblJvd0F1eENsaWNrZWQ6ZnVuY3Rpb24odCxlLG4pe3RoaXMuJGVtaXQoIm9uLXJvdy1hdXgtY2xpY2siLHtyb3c6dCxwYWdlSW5kZXg6ZSxzZWxlY3RlZDohIXQudmd0U2VsZWN0ZWQsZXZlbnQ6bn0pfSxvbkNlbGxDbGlja2VkOmZ1bmN0aW9uKHQsZSxuLHIpe3RoaXMuJGVtaXQoIm9uLWNlbGwtY2xpY2siLHtyb3c6dCxjb2x1bW46ZSxyb3dJbmRleDpuLGV2ZW50OnJ9KX0sb25Nb3VzZWVudGVyOmZ1bmN0aW9uKHQsZSl7dGhpcy4kZW1pdCgib24tcm93LW1vdXNlZW50ZXIiLHtyb3c6dCxwYWdlSW5kZXg6ZX0pfSxvbk1vdXNlbGVhdmU6ZnVuY3Rpb24odCxlKXt0aGlzLiRlbWl0KCJvbi1yb3ctbW91c2VsZWF2ZSIse3Jvdzp0LHBhZ2VJbmRleDplfSl9LHNlYXJjaFRhYmxlT25FbnRlcjpmdW5jdGlvbigpeyJlbnRlciI9PT10aGlzLnNlYXJjaFRyaWdnZXImJih0aGlzLmhhbmRsZVNlYXJjaCgpLHRoaXMuZmlsdGVyZWRSb3dzPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5vcmlnaW5hbFJvd3MpKSx0aGlzLmZvcmNlU2VhcmNoPSEwLHRoaXMuc29ydENoYW5nZWQ9ITApfSxzZWFyY2hUYWJsZU9uS2V5VXA6ZnVuY3Rpb24oKXsiZW50ZXIiIT09dGhpcy5zZWFyY2hUcmlnZ2VyJiZ0aGlzLmhhbmRsZVNlYXJjaCgpfSxyZXNldFRhYmxlOmZ1bmN0aW9uKCl7dGhpcy51bnNlbGVjdEFsbEludGVybmFsKCEwKSx0aGlzLmNoYW5nZVBhZ2UoMSl9LGNvbGxlY3Q6ZnVuY3Rpb24odCxlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOiJzdHJpbmciPT10eXBlb2YgZT9mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LHI9ZS5zcGxpdCgiLiIpLGE9MDthPHIubGVuZ3RoO2ErKyl7aWYobnVsbD09bilyZXR1cm47bj1uW3JbYV1dfXJldHVybiBufSh0LGUpOnZvaWQgMH0sY29sbGVjdEZvcm1hdHRlZDpmdW5jdGlvbih0LGUpe3ZhciBuLHI9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXTtpZih2b2lkIDA9PT0obj1yJiZlLmhlYWRlckZpZWxkP3RoaXMuY29sbGVjdCh0LGUuaGVhZGVyRmllbGQpOnRoaXMuY29sbGVjdCh0LGUuZmllbGQpKSlyZXR1cm4iIjtpZihlLmZvcm1hdEZuJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5mb3JtYXRGbilyZXR1cm4gZS5mb3JtYXRGbihuLHQpO3ZhciBhPWUudHlwZURlZjthfHwoYT10aGlzLmRhdGFUeXBlc1tlLnR5cGVdfHx4KTt2YXIgaT1hLmZvcm1hdChuLGUpO3JldHVybiF0aGlzLmNvbXBhY3RNb2RlfHwiIiE9aSYmbnVsbCE9aT9pOiItIn0sZm9ybWF0dGVkUm93OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSYmYXJndW1lbnRzWzFdLG49e30scj0wO3I8dGhpcy50eXBlZENvbHVtbnMubGVuZ3RoO3IrKyl7dmFyIGE9dGhpcy50eXBlZENvbHVtbnNbcl07YS5maWVsZCYmKG5bYS5maWVsZF09dGhpcy5jb2xsZWN0Rm9ybWF0dGVkKHQsYSxlKSl9cmV0dXJuIG59LGdldENsYXNzZXM6ZnVuY3Rpb24odCxlLG4pe3ZhciByPXRoaXMudHlwZWRDb2x1bW5zW3RdLGE9ci50eXBlRGVmLGk9clsiIi5jb25jYXQoZSwiQ2xhc3MiKV0sbz1hLmlzUmlnaHQ7dGhpcy5ydGwmJihvPSEwKTt2YXIgcz17InZndC1yaWdodC1hbGlnbiI6bywidmd0LWxlZnQtYWxpZ24iOiFvfTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgaT9zW2kobildPSEwOiJzdHJpbmciPT10eXBlb2YgaSYmKHNbaV09ITApLHN9LGZpbHRlclJvd3M6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPSEoYXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0pfHxhcmd1bWVudHNbMV07dGhpcy5jb2x1bW5GaWx0ZXJzPXQ7dmFyIGE9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLm9yaWdpbmFsUm93cykpLGk9ITE7aWYodGhpcy5jb2x1bW5GaWx0ZXJzJiZPYmplY3Qua2V5cyh0aGlzLmNvbHVtbkZpbHRlcnMpLmxlbmd0aCl7dmFyIG89ZnVuY3Rpb24oKXtpZigoInJlbW90ZSIhPT1lLm1vZGV8fG4pJiZlLmNoYW5nZVBhZ2UoMSksbiYmZS4kZW1pdCgib24tY29sdW1uLWZpbHRlciIse2NvbHVtbkZpbHRlcnM6ZS5jb2x1bW5GaWx0ZXJzfSksInJlbW90ZSI9PT1lLm1vZGUpcmV0dXJuIG4/ZS4kZW1pdCgidXBkYXRlOmlzTG9hZGluZyIsITApOmUuZmlsdGVyZWRSb3dzPWEse3Y6dm9pZCAwfTtmb3IodmFyIHQ9ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQubmFtZT90Lm5hbWU6dH0sbz1mdW5jdGlvbihuKXt2YXIgbz1lLnR5cGVkQ29sdW1uc1tuXTtlLmNvbHVtbkZpbHRlcnNbdChvLmZpZWxkKV0mJihpPSEwLGEuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIGE9bi5jaGlsZHJlbi5maWx0ZXIoKGZ1bmN0aW9uKG4pe3JldHVybiBvLmZpbHRlck9wdGlvbnMmJiJmdW5jdGlvbiI9PXR5cGVvZiBvLmZpbHRlck9wdGlvbnMuZmlsdGVyRm4/by5maWx0ZXJPcHRpb25zLmZpbHRlckZuKGUuY29sbGVjdChuLG8uZmllbGQpLGUuY29sdW1uRmlsdGVyc1t0KG8uZmllbGQpXSk6by50eXBlRGVmLmZpbHRlclByZWRpY2F0ZShlLmNvbGxlY3QobixvLmZpZWxkKSxlLmNvbHVtbkZpbHRlcnNbdChvLmZpZWxkKV0sITEsby5maWx0ZXJPcHRpb25zJiYib2JqZWN0Ij09PXIoby5maWx0ZXJPcHRpb25zLmZpbHRlckRyb3Bkb3duSXRlbXMpKX0pKTtuLmNoaWxkcmVuPWF9KSkpfSxzPTA7czxlLnR5cGVkQ29sdW1ucy5sZW5ndGg7cysrKW8ocyl9KCk7aWYoIm9iamVjdCI9PT1yKG8pKXJldHVybiBvLnZ9dGhpcy5maWx0ZXJlZFJvd3M9aT9hLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQuY2hpbGRyZW4mJnQuY2hpbGRyZW4ubGVuZ3RofSkpOmF9LGdldEN1cnJlbnRJbmRleDpmdW5jdGlvbih0KXtmb3IodmFyIGU9MCxuPSExLHI9MDtyPHRoaXMucGFnaW5hdGVkLmxlbmd0aDtyKz0xKXt2YXIgYT10aGlzLnBhZ2luYXRlZFtyXS5jaGlsZHJlbjtpZihhJiZhLmxlbmd0aClmb3IodmFyIGk9MDtpPGEubGVuZ3RoO2krPTEpe2lmKGFbaV0ub3JpZ2luYWxJbmRleD09PXQpe249ITA7YnJlYWt9ZSs9MX1pZihuKWJyZWFrfXJldHVybih0aGlzLmN1cnJlbnRQYWdlLTEpKnRoaXMuY3VycmVudFBlclBhZ2UrZSsxfSxnZXRSb3dTdHlsZUNsYXNzOmZ1bmN0aW9uKHQpe3ZhciBlLG49IiI7cmV0dXJuIHRoaXMuaGFzUm93Q2xpY2tMaXN0ZW5lciYmKG4rPSJjbGlja2FibGUiKSwoZT0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5yb3dTdHlsZUNsYXNzP3RoaXMucm93U3R5bGVDbGFzcyh0KTp0aGlzLnJvd1N0eWxlQ2xhc3MpJiYobis9IiAiLmNvbmNhdChlKSksbn0saGFuZGxlR3JvdXBlZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQsbil7dC52Z3RfaGVhZGVyX2lkPW4sZS5ncm91cE9wdGlvbnMubWFpbnRhaW5FeHBhbmRlZCYmZS5leHBhbmRlZFJvd0tleXMuaGFzKHRbZS5ncm91cE9wdGlvbnMucm93S2V5XSkmJmUuJHNldCh0LCJ2Z3RJc0V4cGFuZGVkIiwhMCksdC5jaGlsZHJlbi5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnZndF9pZD1ufSkpfSkpLHR9LGluaXRpYWxpemVQYWdpbmF0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMucGFnaW5hdGlvbk9wdGlvbnMsbj1lLmVuYWJsZWQscj1lLnBlclBhZ2UsYT1lLnBvc2l0aW9uLG89ZS5wZXJQYWdlRHJvcGRvd24scz1lLnBlclBhZ2VEcm9wZG93bkVuYWJsZWQsbD1lLmRyb3Bkb3duQWxsb3dBbGwsdT1lLmZpcnN0TGFiZWwsYz1lLmxhc3RMYWJlbCxkPWUubmV4dExhYmVsLGY9ZS5wcmV2TGFiZWwscD1lLnJvd3NQZXJQYWdlTGFiZWwsaD1lLm9mTGFiZWwsdj1lLnBhZ2VMYWJlbCxnPWUuYWxsTGFiZWwsbT1lLnNldEN1cnJlbnRQYWdlLHk9ZS5tb2RlLGI9ZS5pbmZvRm47aWYoImJvb2xlYW4iPT10eXBlb2YgbiYmKHRoaXMucGFnaW5hdGU9biksIm51bWJlciI9PXR5cGVvZiByJiYodGhpcy5wZXJQYWdlPXIpLCJ0b3AiPT09YT8odGhpcy5wYWdpbmF0ZU9uVG9wPSEwLHRoaXMucGFnaW5hdGVPbkJvdHRvbT0hMSk6ImJvdGgiPT09YSYmKHRoaXMucGFnaW5hdGVPblRvcD0hMCx0aGlzLnBhZ2luYXRlT25Cb3R0b209ITApLEFycmF5LmlzQXJyYXkobykmJm8ubGVuZ3RoJiYodGhpcy5jdXN0b21Sb3dzUGVyUGFnZURyb3Bkb3duPW8sIXRoaXMucGVyUGFnZSkpe3ZhciB3PWkobywxKTt0aGlzLnBlclBhZ2U9d1swXX0iYm9vbGVhbiI9PXR5cGVvZiBzJiYodGhpcy5wZXJQYWdlRHJvcGRvd25FbmFibGVkPXMpLCJib29sZWFuIj09dHlwZW9mIGwmJih0aGlzLnBhZ2luYXRlRHJvcGRvd25BbGxvd0FsbD1sKSwic3RyaW5nIj09dHlwZW9mIHkmJih0aGlzLnBhZ2luYXRpb25Nb2RlPXkpLCJzdHJpbmciPT10eXBlb2YgdSYmKHRoaXMuZmlyc3RUZXh0PXUpLCJzdHJpbmciPT10eXBlb2YgYyYmKHRoaXMubGFzdFRleHQ9YyksInN0cmluZyI9PXR5cGVvZiBkJiYodGhpcy5uZXh0VGV4dD1kKSwic3RyaW5nIj09dHlwZW9mIGYmJih0aGlzLnByZXZUZXh0PWYpLCJzdHJpbmciPT10eXBlb2YgcCYmKHRoaXMucm93c1BlclBhZ2VUZXh0PXApLCJzdHJpbmciPT10eXBlb2YgaCYmKHRoaXMub2ZUZXh0PWgpLCJzdHJpbmciPT10eXBlb2YgdiYmKHRoaXMucGFnZVRleHQ9diksInN0cmluZyI9PXR5cGVvZiBnJiYodGhpcy5hbGxUZXh0PWcpLCJudW1iZXIiPT10eXBlb2YgbSYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LmNoYW5nZVBhZ2UobSl9KSw1MDApLCJmdW5jdGlvbiI9PXR5cGVvZiBiJiYodGhpcy5wYWdpbmF0aW9uSW5mb0ZuPWIpfSxpbml0aWFsaXplU2VhcmNoOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zZWFyY2hPcHRpb25zLGU9dC5lbmFibGVkLG49dC50cmlnZ2VyLHI9dC5leHRlcm5hbFF1ZXJ5LGE9dC5zZWFyY2hGbixpPXQucGxhY2Vob2xkZXIsbz10LnNraXBEaWFjcml0aWNzOyJib29sZWFuIj09dHlwZW9mIGUmJih0aGlzLnNlYXJjaEVuYWJsZWQ9ZSksImVudGVyIj09PW4mJih0aGlzLnNlYXJjaFRyaWdnZXI9biksInN0cmluZyI9PXR5cGVvZiByJiYodGhpcy5leHRlcm5hbFNlYXJjaFF1ZXJ5PXIpLCJmdW5jdGlvbiI9PXR5cGVvZiBhJiYodGhpcy5zZWFyY2hGbj1hKSwic3RyaW5nIj09dHlwZW9mIGkmJih0aGlzLnNlYXJjaFBsYWNlaG9sZGVyPWkpLCJib29sZWFuIj09dHlwZW9mIG8mJih0aGlzLnNlYXJjaFNraXBEaWFjcml0aWNzPW8pfSxpbml0aWFsaXplU29ydDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuc29ydE9wdGlvbnMsZT10LmVuYWJsZWQsbj10LmluaXRpYWxTb3J0QnksYT10Lm11bHRpcGxlQ29sdW1ucyxpPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobnx8e30pKTtpZigiYm9vbGVhbiI9PXR5cGVvZiBlJiYodGhpcy5zb3J0YWJsZT1lKSwiYm9vbGVhbiI9PXR5cGVvZiBhJiYodGhpcy5tdWx0aXBsZUNvbHVtblNvcnQ9YSksIm9iamVjdCI9PT1yKGkpKXt2YXIgbz10aGlzLmZpeGVkSGVhZGVyP3RoaXMuJHJlZnNbInRhYmxlLWhlYWRlci1zZWNvbmRhcnkiXTp0aGlzLiRyZWZzWyJ0YWJsZS1oZWFkZXItcHJpbWFyeSJdO2lmKEFycmF5LmlzQXJyYXkoaSkpby5zZXRJbml0aWFsU29ydChpKTtlbHNlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpLCJmaWVsZCIpJiZvLnNldEluaXRpYWxTb3J0KFtpXSl9fSxpbml0aWFsaXplU2VsZWN0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zZWxlY3RPcHRpb25zLGU9dC5lbmFibGVkLG49dC5zZWxlY3Rpb25JbmZvQ2xhc3Mscj10LnNlbGVjdGlvblRleHQsYT10LmNsZWFyU2VsZWN0aW9uVGV4dCxpPXQuc2VsZWN0T25DaGVja2JveE9ubHksbz10LnNlbGVjdEFsbEJ5UGFnZSxzPXQuZGlzYWJsZVNlbGVjdEluZm8sbD10LnNlbGVjdEFsbEJ5R3JvdXA7ImJvb2xlYW4iPT10eXBlb2YgZSYmKHRoaXMuc2VsZWN0YWJsZT1lKSwiYm9vbGVhbiI9PXR5cGVvZiBpJiYodGhpcy5zZWxlY3RPbkNoZWNrYm94T25seT1pKSwiYm9vbGVhbiI9PXR5cGVvZiBvJiYodGhpcy5zZWxlY3RBbGxCeVBhZ2U9byksImJvb2xlYW4iPT10eXBlb2YgbCYmKHRoaXMuc2VsZWN0QWxsQnlHcm91cD1sKSwiYm9vbGVhbiI9PXR5cGVvZiBzJiYodGhpcy5kaXNhYmxlU2VsZWN0SW5mbz1zKSwic3RyaW5nIj09dHlwZW9mIG4mJih0aGlzLnNlbGVjdGlvbkluZm9DbGFzcz1uKSwic3RyaW5nIj09dHlwZW9mIHImJih0aGlzLnNlbGVjdGlvblRleHQ9ciksInN0cmluZyI9PXR5cGVvZiBhJiYodGhpcy5jbGVhclNlbGVjdGlvblRleHQ9YSl9fSxtb3VudGVkOmZ1bmN0aW9uKCl7dGhpcy5wZXJQYWdlJiYodGhpcy5jdXJyZW50UGVyUGFnZT10aGlzLnBlclBhZ2UpLHRoaXMuaW5pdGlhbGl6ZVNvcnQoKX0sY29tcG9uZW50czp7InZndC1wYWdpbmF0aW9uIjpTLCJ2Z3QtZ2xvYmFsLXNlYXJjaCI6aywidmd0LWhlYWRlci1yb3ciOkYsInZndC10YWJsZS1oZWFkZXIiOkV9fSxLZT1UKHtyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oImRpdiIse2NsYXNzOnQud3JhcFN0eWxlQ2xhc3Nlc30sW3QuaXNMb2FkaW5nP24oImRpdiIse3N0YXRpY0NsYXNzOiJ2Z3QtbG9hZGluZyB2Z3QtY2VudGVyLWFsaWduIn0sW3QuX3QoImxvYWRpbmdDb250ZW50Iixbbigic3BhbiIse3N0YXRpY0NsYXNzOiJ2Z3QtbG9hZGluZ19fY29udGVudCJ9LFt0Ll92KCJcbiAgICAgICAgTG9hZGluZy4uLlxuICAgICAgIildKV0pXSwyKTp0Ll9lKCksdC5fdigiICIpLG4oImRpdiIse3N0YXRpY0NsYXNzOiJ2Z3QtaW5uZXItd3JhcCIsY2xhc3M6eyJpcy1sb2FkaW5nIjp0LmlzTG9hZGluZ319LFt0LnBhZ2luYXRlJiZ0LnBhZ2luYXRlT25Ub3A/dC5fdCgicGFnaW5hdGlvbi10b3AiLFtuKCJ2Z3QtcGFnaW5hdGlvbiIse3JlZjoicGFnaW5hdGlvblRvcCIsYXR0cnM6e3BlclBhZ2U6dC5wZXJQYWdlLHJ0bDp0LnJ0bCx0b3RhbDp0LnRvdGFsUm93c3x8dC50b3RhbFJvd0NvdW50LG1vZGU6dC5wYWdpbmF0aW9uTW9kZSxqdW1wRmlyc3RPckxhc3Q6dC5wYWdpbmF0aW9uT3B0aW9ucy5qdW1wRmlyc3RPckxhc3QsZmlyc3RUZXh0OnQuZmlyc3RUZXh0LGxhc3RUZXh0OnQubGFzdFRleHQsbmV4dFRleHQ6dC5uZXh0VGV4dCxwcmV2VGV4dDp0LnByZXZUZXh0LHJvd3NQZXJQYWdlVGV4dDp0LnJvd3NQZXJQYWdlVGV4dCxwZXJQYWdlRHJvcGRvd25FbmFibGVkOnQucGFnaW5hdGlvbk9wdGlvbnMucGVyUGFnZURyb3Bkb3duRW5hYmxlZCxjdXN0b21Sb3dzUGVyUGFnZURyb3Bkb3duOnQuY3VzdG9tUm93c1BlclBhZ2VEcm9wZG93bixwYWdpbmF0ZURyb3Bkb3duQWxsb3dBbGw6dC5wYWdpbmF0ZURyb3Bkb3duQWxsb3dBbGwsb2ZUZXh0OnQub2ZUZXh0LHBhZ2VUZXh0OnQucGFnZVRleHQsYWxsVGV4dDp0LmFsbFRleHQsImluZm8tZm4iOnQucGFnaW5hdGlvbkluZm9Gbn0sb246eyJwYWdlLWNoYW5nZWQiOnQucGFnZUNoYW5nZWQsInBlci1wYWdlLWNoYW5nZWQiOnQucGVyUGFnZUNoYW5nZWR9fSldLHtwYWdlQ2hhbmdlZDp0LnBhZ2VDaGFuZ2VkLHBlclBhZ2VDaGFuZ2VkOnQucGVyUGFnZUNoYW5nZWQsdG90YWw6dC50b3RhbFJvd3N8fHQudG90YWxSb3dDb3VudH0pOnQuX2UoKSx0Ll92KCIgIiksbigidmd0LWdsb2JhbC1zZWFyY2giLHthdHRyczp7InNlYXJjaC1lbmFibGVkIjp0LnNlYXJjaEVuYWJsZWQmJm51bGw9PXQuZXh0ZXJuYWxTZWFyY2hRdWVyeSwiZ2xvYmFsLXNlYXJjaC1wbGFjZWhvbGRlciI6dC5zZWFyY2hQbGFjZWhvbGRlcn0sb246eyJvbi1rZXl1cCI6dC5zZWFyY2hUYWJsZU9uS2V5VXAsIm9uLWVudGVyIjp0LnNlYXJjaFRhYmxlT25FbnRlcn0sbW9kZWw6e3ZhbHVlOnQuZ2xvYmFsU2VhcmNoVGVybSxjYWxsYmFjazpmdW5jdGlvbihlKXt0Lmdsb2JhbFNlYXJjaFRlcm09ZX0sZXhwcmVzc2lvbjoiZ2xvYmFsU2VhcmNoVGVybSJ9fSxbbigidGVtcGxhdGUiLHtzbG90OiJpbnRlcm5hbC10YWJsZS1hY3Rpb25zIn0sW3QuX3QoInRhYmxlLWFjdGlvbnMiKV0sMildLDIpLHQuX3YoIiAiKSx0LnNlbGVjdGVkUm93Q291bnQmJiF0LmRpc2FibGVTZWxlY3RJbmZvP24oImRpdiIse3N0YXRpY0NsYXNzOiJ2Z3Qtc2VsZWN0aW9uLWluZm8tcm93IGNsZWFyZml4IixjbGFzczp0LnNlbGVjdGlvbkluZm9DbGFzc30sW3QuX3YoIlxuICAgICAgIit0Ll9zKHQuc2VsZWN0aW9uSW5mbykrIlxuICAgICAgIiksbigiYSIse2F0dHJzOntocmVmOiIifSxvbjp7Y2xpY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx0LnVuc2VsZWN0QWxsSW50ZXJuYWwoITApfX19LFt0Ll92KCJcbiAgICAgICAgIit0Ll9zKHQuY2xlYXJTZWxlY3Rpb25UZXh0KSsiXG4gICAgICAiKV0pLHQuX3YoIiAiKSxuKCJkaXYiLHtzdGF0aWNDbGFzczoidmd0LXNlbGVjdGlvbi1pbmZvLXJvd19fYWN0aW9ucyB2Z3QtcHVsbC1yaWdodCJ9LFt0Ll90KCJzZWxlY3RlZC1yb3ctYWN0aW9ucyIpXSwyKV0pOnQuX2UoKSx0Ll92KCIgIiksbigiZGl2Iix7c3RhdGljQ2xhc3M6InZndC1maXhlZC1oZWFkZXIifSxbdC5maXhlZEhlYWRlcj9uKCJ0YWJsZSIse2NsYXNzOnQudGFibGVTdHlsZUNsYXNzZXMsYXR0cnM6e2lkOiJ2Z3QtdGFibGUifX0sW24oImNvbGdyb3VwIix0Ll9sKHQuY29sdW1ucywoZnVuY3Rpb24odCxlKXtyZXR1cm4gbigiY29sIix7a2V5OmUsYXR0cnM6e2lkOiJjb2wtIitlfX0pfSkpLDApLHQuX3YoIiAiKSxuKCJ2Z3QtdGFibGUtaGVhZGVyIix7cmVmOiJ0YWJsZS1oZWFkZXItc2Vjb25kYXJ5Iix0YWc6InRoZWFkIixhdHRyczp7Y29sdW1uczp0LmNvbHVtbnMsImxpbmUtbnVtYmVycyI6dC5saW5lTnVtYmVycyxzZWxlY3RhYmxlOnQuc2VsZWN0YWJsZSwiYWxsLXNlbGVjdGVkIjp0LmFsbFNlbGVjdGVkLCJhbGwtc2VsZWN0ZWQtaW5kZXRlcm1pbmF0ZSI6dC5hbGxTZWxlY3RlZEluZGV0ZXJtaW5hdGUsbW9kZTp0Lm1vZGUsc29ydGFibGU6dC5zb3J0YWJsZSwibXVsdGlwbGUtY29sdW1uLXNvcnQiOnQubXVsdGlwbGVDb2x1bW5Tb3J0LCJ0eXBlZC1jb2x1bW5zIjp0LnR5cGVkQ29sdW1ucyxnZXRDbGFzc2VzOnQuZ2V0Q2xhc3NlcyxzZWFyY2hFbmFibGVkOnQuc2VhcmNoRW5hYmxlZCxwYWdpbmF0ZWQ6dC5wYWdpbmF0ZWQsInRhYmxlLXJlZiI6dC4kcmVmcy50YWJsZX0sb246eyJvbi10b2dnbGUtc2VsZWN0LWFsbCI6dC50b2dnbGVTZWxlY3RBbGwsIm9uLXNvcnQtY2hhbmdlIjp0LmNoYW5nZVNvcnQsImZpbHRlci1jaGFuZ2VkIjp0LmZpbHRlclJvd3N9LHNjb3BlZFNsb3RzOnQuX3UoW3trZXk6InRhYmxlLWNvbHVtbiIsZm46ZnVuY3Rpb24oZSl7cmV0dXJuW3QuX3QoInRhYmxlLWNvbHVtbiIsW24oInNwYW4iLFt0Ll92KHQuX3MoZS5jb2x1bW4ubGFiZWwpKV0pXSx7Y29sdW1uOmUuY29sdW1ufSldfX0se2tleToiY29sdW1uLWZpbHRlciIsZm46ZnVuY3Rpb24oZSl7cmV0dXJuW3QuX3QoImNvbHVtbi1maWx0ZXIiLG51bGwse2NvbHVtbjplLmNvbHVtbix1cGRhdGVGaWx0ZXJzOmUudXBkYXRlRmlsdGVyc30pXX19XSxudWxsLCEwKX0pXSwxKTp0Ll9lKCldKSx0Ll92KCIgIiksbigiZGl2Iix7Y2xhc3M6eyJ2Z3QtcmVzcG9uc2l2ZSI6dC5yZXNwb25zaXZlfSxzdHlsZTp0LndyYXBwZXJTdHlsZXN9LFtuKCJ0YWJsZSIse3JlZjoidGFibGUiLGNsYXNzOnQudGFibGVTdHlsZXMsYXR0cnM6e2lkOiJ2Z3QtdGFibGUifX0sW24oImNvbGdyb3VwIix0Ll9sKHQuY29sdW1ucywoZnVuY3Rpb24odCxlKXtyZXR1cm4gbigiY29sIix7a2V5OmUsYXR0cnM6e2lkOiJjb2wtIitlfX0pfSkpLDApLHQuX3YoIiAiKSxuKCJ2Z3QtdGFibGUtaGVhZGVyIix7cmVmOiJ0YWJsZS1oZWFkZXItcHJpbWFyeSIsdGFnOiJ0aGVhZCIsYXR0cnM6e2NvbHVtbnM6dC5jb2x1bW5zLCJsaW5lLW51bWJlcnMiOnQubGluZU51bWJlcnMsc2VsZWN0YWJsZTp0LnNlbGVjdGFibGUsImFsbC1zZWxlY3RlZCI6dC5hbGxTZWxlY3RlZCwiYWxsLXNlbGVjdGVkLWluZGV0ZXJtaW5hdGUiOnQuYWxsU2VsZWN0ZWRJbmRldGVybWluYXRlLG1vZGU6dC5tb2RlLHNvcnRhYmxlOnQuc29ydGFibGUsIm11bHRpcGxlLWNvbHVtbi1zb3J0Ijp0Lm11bHRpcGxlQ29sdW1uU29ydCwidHlwZWQtY29sdW1ucyI6dC50eXBlZENvbHVtbnMsZ2V0Q2xhc3Nlczp0LmdldENsYXNzZXMsc2VhcmNoRW5hYmxlZDp0LnNlYXJjaEVuYWJsZWR9LG9uOnsib24tdG9nZ2xlLXNlbGVjdC1hbGwiOnQudG9nZ2xlU2VsZWN0QWxsLCJvbi1zb3J0LWNoYW5nZSI6dC5jaGFuZ2VTb3J0LCJmaWx0ZXItY2hhbmdlZCI6dC5maWx0ZXJSb3dzfSxzY29wZWRTbG90czp0Ll91KFt7a2V5OiJ0YWJsZS1jb2x1bW4iLGZuOmZ1bmN0aW9uKGUpe3JldHVyblt0Ll90KCJ0YWJsZS1jb2x1bW4iLFtuKCJzcGFuIixbdC5fdih0Ll9zKGUuY29sdW1uLmxhYmVsKSldKV0se2NvbHVtbjplLmNvbHVtbn0pXX19LHtrZXk6ImNvbHVtbi1maWx0ZXIiLGZuOmZ1bmN0aW9uKGUpe3JldHVyblt0Ll90KCJjb2x1bW4tZmlsdGVyIixudWxsLHtjb2x1bW46ZS5jb2x1bW4sdXBkYXRlRmlsdGVyczplLnVwZGF0ZUZpbHRlcnN9KV19fV0sbnVsbCwhMCl9KSx0Ll92KCIgIiksdC5fbCh0LnBhZ2luYXRlZCwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gbigidGJvZHkiLHtrZXk6cn0sW3QuZ3JvdXBIZWFkZXJPblRvcD9uKCJ2Z3QtaGVhZGVyLXJvdyIse2NsYXNzOnQuZ2V0Um93U3R5bGVDbGFzcyhlKSxhdHRyczp7ImhlYWRlci1yb3ciOmUsY29sdW1uczp0LmNvbHVtbnMsImxpbmUtbnVtYmVycyI6dC5saW5lTnVtYmVycyxzZWxlY3RhYmxlOnQuc2VsZWN0YWJsZSwic2VsZWN0LWFsbC1ieS1ncm91cCI6dC5zZWxlY3RBbGxCeUdyb3VwLGNvbGxhcHNhYmxlOnQuZ3JvdXBPcHRpb25zLmNvbGxhcHNhYmxlLCJjb2xsZWN0LWZvcm1hdHRlZCI6dC5jb2xsZWN0Rm9ybWF0dGVkLCJmb3JtYXR0ZWQtcm93Ijp0LmZvcm1hdHRlZFJvdywiZ2V0LWNsYXNzZXMiOnQuZ2V0Q2xhc3NlcywiZnVsbC1jb2xzcGFuIjp0LmZ1bGxDb2xzcGFuLGdyb3VwSW5kZXg6cn0sb246e3ZndEV4cGFuZDpmdW5jdGlvbihuKXtyZXR1cm4gdC50b2dnbGVFeHBhbmQoZVt0LnJvd0tleUZpZWxkXSl9LCJvbi1zZWxlY3QtZ3JvdXAtY2hhbmdlIjpmdW5jdGlvbihuKXtyZXR1cm4gdC50b2dnbGVTZWxlY3RHcm91cChuLGUpfX0sc2NvcGVkU2xvdHM6dC5fdShbe2tleToidGFibGUtaGVhZGVyLXJvdyIsZm46ZnVuY3Rpb24oZSl7cmV0dXJuIHQuaGFzSGVhZGVyUm93VGVtcGxhdGU/W3QuX3QoInRhYmxlLWhlYWRlci1yb3ciLG51bGwse2NvbHVtbjplLmNvbHVtbixmb3JtYXR0ZWRSb3c6ZS5mb3JtYXR0ZWRSb3cscm93OmUucm93fSldOnZvaWQgMH19XSxudWxsLCEwKX0pOnQuX2UoKSx0Ll92KCIgIiksdC5fbChlLmNoaWxkcmVuLChmdW5jdGlvbihyLGEpe3JldHVybiF0Lmdyb3VwT3B0aW9ucy5jb2xsYXBzYWJsZXx8ZS52Z3RJc0V4cGFuZGVkP24oInRyIix7a2V5OnIub3JpZ2luYWxJbmRleCxjbGFzczp0LmdldFJvd1N0eWxlQ2xhc3Mociksb246e21vdXNlZW50ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHQub25Nb3VzZWVudGVyKHIsYSl9LG1vdXNlbGVhdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQub25Nb3VzZWxlYXZlKHIsYSl9LGRibGNsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0Lm9uUm93RG91YmxlQ2xpY2tlZChyLGEsZSl9LGNsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0Lm9uUm93Q2xpY2tlZChyLGEsZSl9LGF1eGNsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0Lm9uUm93QXV4Q2xpY2tlZChyLGEsZSl9fX0sW3QubGluZU51bWJlcnM/bigidGgiLHtzdGF0aWNDbGFzczoibGluZS1udW1iZXJzIn0sW3QuX3YoIlxuICAgICAgICAgICAgICAiK3QuX3ModC5nZXRDdXJyZW50SW5kZXgoci5vcmlnaW5hbEluZGV4KSkrIlxuICAgICAgICAgICAgIildKTp0Ll9lKCksdC5fdigiICIpLHQuc2VsZWN0YWJsZT9uKCJ0aCIse3N0YXRpY0NsYXNzOiJ2Z3QtY2hlY2tib3gtY29sIixvbjp7Y2xpY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5vbkNoZWNrYm94Q2xpY2tlZChyLGEsZSl9fX0sW24oImlucHV0Iix7YXR0cnM6e3R5cGU6ImNoZWNrYm94IixkaXNhYmxlZDpyLnZndERpc2FibGVkfSxkb21Qcm9wczp7Y2hlY2tlZDpyLnZndFNlbGVjdGVkfX0pXSk6dC5fZSgpLHQuX3YoIiAiKSx0Ll9sKHQuY29sdW1ucywoZnVuY3Rpb24oZSxpKXtyZXR1cm4hZS5oaWRkZW4mJmUuZmllbGQ/bigidGQiLHtrZXk6aSxjbGFzczp0LmdldENsYXNzZXMoaSwidGQiLHIpLGF0dHJzOnsiZGF0YS1sYWJlbCI6dC5jb21wYWN0TW9kZT9lLmxhYmVsOnZvaWQgMH0sb246e2NsaWNrOmZ1bmN0aW9uKG4pe3JldHVybiB0Lm9uQ2VsbENsaWNrZWQocixlLGEsbil9fX0sW3QuX3QoInRhYmxlLXJvdyIsW2UuaHRtbD9uKCJzcGFuIix7ZG9tUHJvcHM6e2lubmVySFRNTDp0Ll9zKHQuY29sbGVjdChyLGUuZmllbGQpKX19KTpuKCJzcGFuIixbdC5fdigiXG4gICAgICAgICAgICAgICAgICAiK3QuX3ModC5jb2xsZWN0Rm9ybWF0dGVkKHIsZSkpKyJcbiAgICAgICAgICAgICAgICAiKV0pXSx7cm93OnIsY29sdW1uOmUsZm9ybWF0dGVkUm93OnQuZm9ybWF0dGVkUm93KHIpLGluZGV4OmF9KV0sMik6dC5fZSgpfSkpXSwyKTp0Ll9lKCl9KSksdC5fdigiICIpLHQuZ3JvdXBIZWFkZXJPbkJvdHRvbT9uKCJ2Z3QtaGVhZGVyLXJvdyIse2F0dHJzOnsiaGVhZGVyLXJvdyI6ZSxjb2x1bW5zOnQuY29sdW1ucywibGluZS1udW1iZXJzIjp0LmxpbmVOdW1iZXJzLHNlbGVjdGFibGU6dC5zZWxlY3RhYmxlLCJzZWxlY3QtYWxsLWJ5LWdyb3VwIjp0LnNlbGVjdEFsbEJ5R3JvdXAsImNvbGxlY3QtZm9ybWF0dGVkIjp0LmNvbGxlY3RGb3JtYXR0ZWQsImZvcm1hdHRlZC1yb3ciOnQuZm9ybWF0dGVkUm93LCJnZXQtY2xhc3NlcyI6dC5nZXRDbGFzc2VzLCJmdWxsLWNvbHNwYW4iOnQuZnVsbENvbHNwYW4sZ3JvdXBJbmRleDp0LmluZGV4fSxvbjp7Im9uLXNlbGVjdC1ncm91cC1jaGFuZ2UiOmZ1bmN0aW9uKG4pe3JldHVybiB0LnRvZ2dsZVNlbGVjdEdyb3VwKG4sZSl9fSxzY29wZWRTbG90czp0Ll91KFt7a2V5OiJ0YWJsZS1oZWFkZXItcm93IixmbjpmdW5jdGlvbihlKXtyZXR1cm4gdC5oYXNIZWFkZXJSb3dUZW1wbGF0ZT9bdC5fdCgidGFibGUtaGVhZGVyLXJvdyIsbnVsbCx7Y29sdW1uOmUuY29sdW1uLGZvcm1hdHRlZFJvdzplLmZvcm1hdHRlZFJvdyxyb3c6ZS5yb3d9KV06dm9pZCAwfX1dLG51bGwsITApfSk6dC5fZSgpXSwyKX0pKSx0Ll92KCIgIiksdC5zaG93RW1wdHlTbG90P24oInRib2R5IixbbigidHIiLFtuKCJ0ZCIse2F0dHJzOntjb2xzcGFuOnQuZnVsbENvbHNwYW59fSxbdC5fdCgiZW1wdHlzdGF0ZSIsW24oImRpdiIse3N0YXRpY0NsYXNzOiJ2Z3QtY2VudGVyLWFsaWduIHZndC10ZXh0LWRpc2FibGVkIn0sW3QuX3YoIlxuICAgICAgICAgICAgICAgICAgTm8gZGF0YSBmb3IgdGFibGVcbiAgICAgICAgICAgICAgICAiKV0pXSldLDIpXSldKTp0Ll9lKCldLDIpXSksdC5fdigiICIpLHQuaGFzRm9vdGVyU2xvdD9uKCJkaXYiLHtzdGF0aWNDbGFzczoidmd0LXdyYXBfX2FjdGlvbnMtZm9vdGVyIn0sW3QuX3QoInRhYmxlLWFjdGlvbnMtYm90dG9tIildLDIpOnQuX2UoKSx0Ll92KCIgIiksdC5wYWdpbmF0ZSYmdC5wYWdpbmF0ZU9uQm90dG9tP3QuX3QoInBhZ2luYXRpb24tYm90dG9tIixbbigidmd0LXBhZ2luYXRpb24iLHtyZWY6InBhZ2luYXRpb25Cb3R0b20iLGF0dHJzOntwZXJQYWdlOnQucGVyUGFnZSxydGw6dC5ydGwsdG90YWw6dC50b3RhbFJvd3N8fHQudG90YWxSb3dDb3VudCxtb2RlOnQucGFnaW5hdGlvbk1vZGUsanVtcEZpcnN0T3JMYXN0OnQucGFnaW5hdGlvbk9wdGlvbnMuanVtcEZpcnN0T3JMYXN0LGZpcnN0VGV4dDp0LmZpcnN0VGV4dCxsYXN0VGV4dDp0Lmxhc3RUZXh0LG5leHRUZXh0OnQubmV4dFRleHQscHJldlRleHQ6dC5wcmV2VGV4dCxyb3dzUGVyUGFnZVRleHQ6dC5yb3dzUGVyUGFnZVRleHQscGVyUGFnZURyb3Bkb3duRW5hYmxlZDp0LnBhZ2luYXRpb25PcHRpb25zLnBlclBhZ2VEcm9wZG93bkVuYWJsZWQsY3VzdG9tUm93c1BlclBhZ2VEcm9wZG93bjp0LmN1c3RvbVJvd3NQZXJQYWdlRHJvcGRvd24scGFnaW5hdGVEcm9wZG93bkFsbG93QWxsOnQucGFnaW5hdGVEcm9wZG93bkFsbG93QWxsLG9mVGV4dDp0Lm9mVGV4dCxwYWdlVGV4dDp0LnBhZ2VUZXh0LGFsbFRleHQ6dC5hbGxUZXh0LCJpbmZvLWZuIjp0LnBhZ2luYXRpb25JbmZvRm59LG9uOnsicGFnZS1jaGFuZ2VkIjp0LnBhZ2VDaGFuZ2VkLCJwZXItcGFnZS1jaGFuZ2VkIjp0LnBlclBhZ2VDaGFuZ2VkfX0pXSx7cGFnZUNoYW5nZWQ6dC5wYWdlQ2hhbmdlZCxwZXJQYWdlQ2hhbmdlZDp0LnBlclBhZ2VDaGFuZ2VkLHRvdGFsOnQudG90YWxSb3dzfHx0LnRvdGFsUm93Q291bnR9KTp0Ll9lKCldLDIpXSl9LHN0YXRpY1JlbmRlckZuczpbXX0sdW5kZWZpbmVkLFZlLHVuZGVmaW5lZCxmYWxzZSx1bmRlZmluZWQsITEsdm9pZCAwLHZvaWQgMCx2b2lkIDApLFFlPXtpbnN0YWxsOmZ1bmN0aW9uKHQsZSl7dC5jb21wb25lbnQoS2UubmFtZSxLZSl9fTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LlZ1ZSYmd2luZG93LlZ1ZS51c2UoUWUpfSwyNTkwMDpmdW5jdGlvbih0LGUsbil7bi5kKGUse1o6ZnVuY3Rpb24oKXtyZXR1cm4gaH19KTt2YXIgcj17bmFtZToiVnVlQm9vdHN0cmFwVHlwZWFoZWFkTGlzdEl0ZW0iLHByb3BzOntkYXRhOnt9LGh0bWxUZXh0Ont0eXBlOlN0cmluZ30sYmFja2dyb3VuZFZhcmlhbnQ6e3R5cGU6U3RyaW5nfSx0ZXh0VmFyaWFudDp7dHlwZTpTdHJpbmd9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2FjdGl2ZTohMX19LGNvbXB1dGVkOnt0ZXh0Q2xhc3NlczpmdW5jdGlvbigpe3ZhciB0PSIiO3JldHVybiB0Kz10aGlzLmFjdGl2ZT8iYWN0aXZlIjoiIix0Kz10aGlzLmJhY2tncm91bmRWYXJpYW50PyIgYmctIi5jb25jYXQodGhpcy5iYWNrZ3JvdW5kVmFyaWFudCk6IiIsdCs9dGhpcy50ZXh0VmFyaWFudD8iIHRleHQtIi5jb25jYXQodGhpcy50ZXh0VmFyaWFudCk6IiIsInZic3QtaXRlbSBsaXN0LWdyb3VwLWl0ZW0gbGlzdC1ncm91cC1pdGVtLWFjdGlvbiAiLmNvbmNhdCh0KX19fSxhPW4oNTE5MDApO2Z1bmN0aW9uIGkodCl7cmV0dXJuIHQucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7Iil9dmFyIG89e25hbWU6IlZ1ZUJvb3RzdHJhcFR5cGVhaGVhZExpc3QiLGNvbXBvbmVudHM6e1Z1ZUJvb3RzdHJhcFR5cGVhaGVhZExpc3RJdGVtOigwLGEuWikociwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oImEiLHtjbGFzczp0LnRleHRDbGFzc2VzLGF0dHJzOnt0YWJpbmRleDoiMCIsaHJlZjoiIyJ9LG9uOnttb3VzZW92ZXI6ZnVuY3Rpb24oZSl7dC5hY3RpdmU9ITB9LG1vdXNlb3V0OmZ1bmN0aW9uKGUpe3QuYWN0aXZlPSExfX19LFt0Ll90KCJzdWdnZXN0aW9uIiwoZnVuY3Rpb24oKXtyZXR1cm5bbigic3BhbiIse2RvbVByb3BzOntpbm5lckhUTUw6dC5fcyh0Lmh0bWxUZXh0KX19KV19KSxudWxsLHtkYXRhOnQuZGF0YSxodG1sVGV4dDp0Lmh0bWxUZXh0fSldLDIpfSksW10sITEsbnVsbCxudWxsLG51bGwpLmV4cG9ydHN9LHByb3BzOntkYXRhOnt0eXBlOkFycmF5LHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpmdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEFycmF5fX0scXVlcnk6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGJhY2tncm91bmRWYXJpYW50Ont0eXBlOlN0cmluZ30sdGV4dFZhcmlhbnQ6e3R5cGU6U3RyaW5nfSxtYXhNYXRjaGVzOnt0eXBlOk51bWJlcixkZWZhdWx0OjEwfSxtaW5NYXRjaGluZ0NoYXJzOnt0eXBlOk51bWJlcixkZWZhdWx0OjJ9fSxjb21wdXRlZDp7aGlnaGxpZ2h0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gZnVuY3Rpb24oZSl7aWYoZT1pKGUpLDA9PT10LnF1ZXJ5Lmxlbmd0aClyZXR1cm4gZTt2YXIgbj1uZXcgUmVnRXhwKHQuZXNjYXBlZFF1ZXJ5LCJnaSIpO3JldHVybiBlLnJlcGxhY2UobiwiPHN0cm9uZz4kJjwvc3Ryb25nPiIpfX0sZXNjYXBlZFF1ZXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGkodGhpcy5xdWVyeSkucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xdXFxdL2csIlxcJCYiKX0sbWF0Y2hlZEl0ZW1zOmZ1bmN0aW9uKCl7aWYoMD09PXRoaXMucXVlcnkubGVuZ3RofHx0aGlzLnF1ZXJ5Lmxlbmd0aDx0aGlzLm1pbk1hdGNoaW5nQ2hhcnMpcmV0dXJuW107dmFyIHQ9bmV3IFJlZ0V4cCh0aGlzLmVzY2FwZWRRdWVyeSwiZ2kiKTtyZXR1cm4gdGhpcy5kYXRhLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPT1lLnRleHQubWF0Y2godCl9KSkuc29ydCgoZnVuY3Rpb24oZSxuKXt2YXIgcj1lLnRleHQuaW5kZXhPZihlLnRleHQubWF0Y2godClbMF0pLGE9bi50ZXh0LmluZGV4T2Yobi50ZXh0Lm1hdGNoKHQpWzBdKTtyZXR1cm4gcjxhPy0xOnI+YT8xOjB9KSkuc2xpY2UoMCx0aGlzLm1heE1hdGNoZXMpfX0sbWV0aG9kczp7aGFuZGxlSGl0OmZ1bmN0aW9uKHQsZSl7dGhpcy4kZW1pdCgiaGl0Iix0KSxlLnByZXZlbnREZWZhdWx0KCl9fX0scz0oMCxhLlopKG8sKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJkaXYiLHtzdGF0aWNDbGFzczoibGlzdC1ncm91cCBzaGFkb3cifSx0Ll9sKHQubWF0Y2hlZEl0ZW1zLChmdW5jdGlvbihlLHIpe3JldHVybiBuKCJ2dWUtYm9vdHN0cmFwLXR5cGVhaGVhZC1saXN0LWl0ZW0iLHtrZXk6cixhdHRyczp7ZGF0YTplLmRhdGEsImh0bWwtdGV4dCI6dC5oaWdobGlnaHQoZS50ZXh0KSwiYmFja2dyb3VuZC12YXJpYW50Ijp0LmJhY2tncm91bmRWYXJpYW50LCJ0ZXh0LXZhcmlhbnQiOnQudGV4dFZhcmlhbnR9LG5hdGl2ZU9uOntjbGljazpmdW5jdGlvbihuKXtyZXR1cm4gdC5oYW5kbGVIaXQoZSxuKX19LHNjb3BlZFNsb3RzOnQuX3UoW3trZXk6InN1Z2dlc3Rpb24iLGZuOmZ1bmN0aW9uKGUpe3ZhciBuPWUuZGF0YSxyPWUuaHRtbFRleHQ7cmV0dXJuIHQuJHNjb3BlZFNsb3RzLnN1Z2dlc3Rpb24/W3QuX3QoInN1Z2dlc3Rpb24iLG51bGwsbnVsbCx7ZGF0YTpuLGh0bWxUZXh0OnJ9KV06dm9pZCAwfX1dLG51bGwsITApfSl9KSksMSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCkuZXhwb3J0cyxsPW4oOTEwMzMpLHU9e25hbWU6IlZ1ZUJvb3RzdHJhcFR5cGVoZWFkIixjb21wb25lbnRzOntWdWVCb290c3RyYXBUeXBlYWhlYWRMaXN0OnN9LHByb3BzOntzaXplOnt0eXBlOlN0cmluZyxkZWZhdWx0Om51bGwsdmFsaWRhdG9yOmZ1bmN0aW9uKHQpe3JldHVyblsibGciLCJzbSJdLmluZGV4T2YodCk+LTF9fSx2YWx1ZTp7dHlwZTpTdHJpbmd9LGRhdGE6e3R5cGU6QXJyYXkscmVxdWlyZWQ6ITAsdmFsaWRhdG9yOmZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgQXJyYXl9fSxzZXJpYWxpemVyOnt0eXBlOkZ1bmN0aW9uLGRlZmF1bHQ6ZnVuY3Rpb24odCl7cmV0dXJuIHR9LHZhbGlkYXRvcjpmdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEZ1bmN0aW9ufX0sYmFja2dyb3VuZFZhcmlhbnQ6U3RyaW5nLHRleHRWYXJpYW50OlN0cmluZyxpbnB1dENsYXNzOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxtYXhNYXRjaGVzOnt0eXBlOk51bWJlcixkZWZhdWx0OjEwfSxtaW5NYXRjaGluZ0NoYXJzOnt0eXBlOk51bWJlcixkZWZhdWx0OjJ9LHBsYWNlaG9sZGVyOlN0cmluZyxwcmVwZW5kOlN0cmluZyxhcHBlbmQ6U3RyaW5nfSxjb21wdXRlZDp7c2l6ZUNsYXNzZXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplPyJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC0iLmNvbmNhdCh0aGlzLnNpemUpOiJpbnB1dC1ncm91cCJ9LGZvcm1hdHRlZERhdGE6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmRhdGEgaW5zdGFuY2VvZiBBcnJheT90aGlzLmRhdGEubWFwKChmdW5jdGlvbihlLG4pe3JldHVybntpZDpuLGRhdGE6ZSx0ZXh0OnQuc2VyaWFsaXplcihlKX19KSk6W119fSxtZXRob2RzOntyZXNpemVMaXN0OmZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10aGlzLiRyZWZzLmxpc3QuJGVsLnN0eWxlO2lmKG4ud2lkdGg9ZS53aWR0aCsicHgiLHRoaXMuJHJlZnMucHJlcGVuZERpdil7dmFyIHI9dGhpcy4kcmVmcy5wcmVwZW5kRGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO24ubWFyZ2luTGVmdD1yLndpZHRoKyJweCJ9fSxoYW5kbGVIaXQ6ZnVuY3Rpb24odCl7dm9pZCAwIT09dGhpcy52YWx1ZSYmdGhpcy4kZW1pdCgiaW5wdXQiLHQudGV4dCksdGhpcy5pbnB1dFZhbHVlPXQudGV4dCx0aGlzLiRlbWl0KCJoaXQiLHQuZGF0YSksdGhpcy4kcmVmcy5pbnB1dC5ibHVyKCksdGhpcy5pc0ZvY3VzZWQ9ITF9LGhhbmRsZUJsdXI6ZnVuY3Rpb24odCl7dmFyIGU9dC5yZWxhdGVkVGFyZ2V0O2UmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJ2YnN0LWl0ZW0iKXx8KHRoaXMuaXNGb2N1c2VkPSExKX0saGFuZGxlSW5wdXQ6ZnVuY3Rpb24odCl7dGhpcy5pbnB1dFZhbHVlPXQsdm9pZCAwIT09dGhpcy52YWx1ZSYmdGhpcy4kZW1pdCgiaW5wdXQiLHQpfX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntpc0ZvY3VzZWQ6ITEsaW5wdXRWYWx1ZToiIn19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuJF9ybz1uZXcgbC5aKChmdW5jdGlvbihlKXt0LnJlc2l6ZUxpc3QodC4kcmVmcy5pbnB1dCl9KSksdGhpcy4kX3JvLm9ic2VydmUodGhpcy4kcmVmcy5pbnB1dCksdGhpcy4kX3JvLm9ic2VydmUodGhpcy4kcmVmcy5saXN0LiRlbCl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLiRfcm8uZGlzY29ubmVjdCgpfX0sYz1uKDkzMzc5KSxkPW4ubihjKSxmPW4oNzU2KSxwPXtpbnNlcnQ6ImhlYWQiLHNpbmdsZXRvbjohMX0saD0oZCgpKGYuWixwKSxmLloubG9jYWxzLCgwLGEuWikodSwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oImRpdiIsW24oImRpdiIse2NsYXNzOnQuc2l6ZUNsYXNzZXN9LFt0LiRzbG90cy5wcmVwZW5kfHx0LnByZXBlbmQ/bigiZGl2Iix7cmVmOiJwcmVwZW5kRGl2IixzdGF0aWNDbGFzczoiaW5wdXQtZ3JvdXAtcHJlcGVuZCJ9LFt0Ll90KCJwcmVwZW5kIiwoZnVuY3Rpb24oKXtyZXR1cm5bbigic3BhbiIse3N0YXRpY0NsYXNzOiJpbnB1dC1ncm91cC10ZXh0In0sW3QuX3YodC5fcyh0LnByZXBlbmQpKV0pXX0pKV0sMik6dC5fZSgpLHQuX3YoIiAiKSxuKCJpbnB1dCIse3JlZjoiaW5wdXQiLGNsYXNzOiJmb3JtLWNvbnRyb2wgIit0LmlucHV0Q2xhc3MsYXR0cnM6e3R5cGU6InNlYXJjaCIscGxhY2Vob2xkZXI6dC5wbGFjZWhvbGRlciwiYXJpYS1sYWJlbCI6dC5wbGFjZWhvbGRlcixhdXRvY29tcGxldGU6Im9mZiJ9LGRvbVByb3BzOnt2YWx1ZTp0LmlucHV0VmFsdWV9LG9uOntmb2N1czpmdW5jdGlvbihlKXt0LmlzRm9jdXNlZD0hMH0sYmx1cjp0LmhhbmRsZUJsdXIsaW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuaGFuZGxlSW5wdXQoZS50YXJnZXQudmFsdWUpfX19KSx0Ll92KCIgIiksdC4kc2xvdHMuYXBwZW5kfHx0LmFwcGVuZD9uKCJkaXYiLHtzdGF0aWNDbGFzczoiaW5wdXQtZ3JvdXAtYXBwZW5kIn0sW3QuX3QoImFwcGVuZCIsKGZ1bmN0aW9uKCl7cmV0dXJuW24oInNwYW4iLHtzdGF0aWNDbGFzczoiaW5wdXQtZ3JvdXAtdGV4dCJ9LFt0Ll92KHQuX3ModC5hcHBlbmQpKV0pXX0pKV0sMik6dC5fZSgpXSksdC5fdigiICIpLG4oInZ1ZS1ib290c3RyYXAtdHlwZWFoZWFkLWxpc3QiLHtkaXJlY3RpdmVzOlt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1ZTp0LmlzRm9jdXNlZCYmdC5kYXRhLmxlbmd0aD4wLGV4cHJlc3Npb246ImlzRm9jdXNlZCAmJiBkYXRhLmxlbmd0aCA+IDAifV0scmVmOiJsaXN0IixzdGF0aWNDbGFzczoidmJ0LWF1dGNvbXBsZXRlLWxpc3QiLGF0dHJzOntxdWVyeTp0LmlucHV0VmFsdWUsZGF0YTp0LmZvcm1hdHRlZERhdGEsImJhY2tncm91bmQtdmFyaWFudCI6dC5iYWNrZ3JvdW5kVmFyaWFudCwidGV4dC12YXJpYW50Ijp0LnRleHRWYXJpYW50LG1heE1hdGNoZXM6dC5tYXhNYXRjaGVzLG1pbk1hdGNoaW5nQ2hhcnM6dC5taW5NYXRjaGluZ0NoYXJzfSxvbjp7aGl0OnQuaGFuZGxlSGl0fSxzY29wZWRTbG90czp0Ll91KFt0Ll9sKHQuJHNjb3BlZFNsb3RzLChmdW5jdGlvbihlLG4pe3JldHVybntrZXk6bixmbjpmdW5jdGlvbihlKXt2YXIgcj1lLmRhdGEsYT1lLmh0bWxUZXh0O3JldHVyblt0Ll90KG4sbnVsbCxudWxsLHtkYXRhOnIsaHRtbFRleHQ6YX0pXX19fSkpXSxudWxsLCEwKX0pXSwxKX0pLFtdLCExLG51bGwsImEwZTg3ZGU0IixudWxsKS5leHBvcnRzKX0sNTE5MDA6ZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scixhLGksbyxzKXt2YXIgbCx1PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Qub3B0aW9uczp0O2lmKGUmJih1LnJlbmRlcj1lLHUuc3RhdGljUmVuZGVyRm5zPW4sdS5fY29tcGlsZWQ9ITApLHImJih1LmZ1bmN0aW9uYWw9ITApLGkmJih1Ll9zY29wZUlkPSJkYXRhLXYtIitpKSxvPyhsPWZ1bmN0aW9uKHQpeyh0PXR8fHRoaXMuJHZub2RlJiZ0aGlzLiR2bm9kZS5zc3JDb250ZXh0fHx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuJHZub2RlJiZ0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCl8fCJ1bmRlZmluZWQiPT10eXBlb2YgX19WVUVfU1NSX0NPTlRFWFRfX3x8KHQ9X19WVUVfU1NSX0NPTlRFWFRfXyksYSYmYS5jYWxsKHRoaXMsdCksdCYmdC5fcmVnaXN0ZXJlZENvbXBvbmVudHMmJnQuX3JlZ2lzdGVyZWRDb21wb25lbnRzLmFkZChvKX0sdS5fc3NyUmVnaXN0ZXI9bCk6YSYmKGw9cz9mdW5jdGlvbigpe2EuY2FsbCh0aGlzLCh1LmZ1bmN0aW9uYWw/dGhpcy5wYXJlbnQ6dGhpcykuJHJvb3QuJG9wdGlvbnMuc2hhZG93Um9vdCl9OmEpLGwpaWYodS5mdW5jdGlvbmFsKXt1Ll9pbmplY3RTdHlsZXM9bDt2YXIgYz11LnJlbmRlcjt1LnJlbmRlcj1mdW5jdGlvbih0LGUpe3JldHVybiBsLmNhbGwoZSksYyh0LGUpfX1lbHNle3ZhciBkPXUuYmVmb3JlQ3JlYXRlO3UuYmVmb3JlQ3JlYXRlPWQ/W10uY29uY2F0KGQsbCk6W2xdfXJldHVybntleHBvcnRzOnQsb3B0aW9uczp1fX1uLmQoZSx7WjpmdW5jdGlvbigpe3JldHVybiByfX0pfSw3MDUzODpmdW5jdGlvbih0LGUsbil7LyohCiogVnVlLmpzIHYyLjYuMTQKKiAoYykgMjAxNC0yMDIxIEV2YW4gWW91CiogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLgoqL3ZhciByPU9iamVjdC5mcmVlemUoe30pO2Z1bmN0aW9uIGEodCl7cmV0dXJuIG51bGw9PXR9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gbnVsbCE9dH1mdW5jdGlvbiBvKHQpe3JldHVybiEwPT09dH1mdW5jdGlvbiBzKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdHx8Im51bWJlciI9PXR5cGVvZiB0fHwic3ltYm9sIj09dHlwZW9mIHR8fCJib29sZWFuIj09dHlwZW9mIHR9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdH12YXIgdT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIGModCl7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT11LmNhbGwodCl9ZnVuY3Rpb24gZCh0KXtyZXR1cm4iW29iamVjdCBSZWdFeHBdIj09PXUuY2FsbCh0KX1mdW5jdGlvbiBmKHQpe3ZhciBlPXBhcnNlRmxvYXQoU3RyaW5nKHQpKTtyZXR1cm4gZT49MCYmTWF0aC5mbG9vcihlKT09PWUmJmlzRmluaXRlKHQpfWZ1bmN0aW9uIHAodCl7cmV0dXJuIGkodCkmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4mJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmNhdGNofWZ1bmN0aW9uIGgodCl7cmV0dXJuIG51bGw9PXQ/IiI6QXJyYXkuaXNBcnJheSh0KXx8Yyh0KSYmdC50b1N0cmluZz09PXU/SlNPTi5zdHJpbmdpZnkodCxudWxsLDIpOlN0cmluZyh0KX1mdW5jdGlvbiB2KHQpe3ZhciBlPXBhcnNlRmxvYXQodCk7cmV0dXJuIGlzTmFOKGUpP3Q6ZX1mdW5jdGlvbiBnKHQsZSl7Zm9yKHZhciBuPU9iamVjdC5jcmVhdGUobnVsbCkscj10LnNwbGl0KCIsIiksYT0wO2E8ci5sZW5ndGg7YSsrKW5bclthXV09ITA7cmV0dXJuIGU/ZnVuY3Rpb24odCl7cmV0dXJuIG5bdC50b0xvd2VyQ2FzZSgpXX06ZnVuY3Rpb24odCl7cmV0dXJuIG5bdF19fXZhciBtPWcoInNsb3QsY29tcG9uZW50IiwhMCkseT1nKCJrZXkscmVmLHNsb3Qsc2xvdC1zY29wZSxpcyIpO2Z1bmN0aW9uIGIodCxlKXtpZih0Lmxlbmd0aCl7dmFyIG49dC5pbmRleE9mKGUpO2lmKG4+LTEpcmV0dXJuIHQuc3BsaWNlKG4sMSl9fXZhciB3PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gXyh0LGUpe3JldHVybiB3LmNhbGwodCxlKX1mdW5jdGlvbiBDKHQpe3ZhciBlPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBlW25dfHwoZVtuXT10KG4pKX19dmFyIHg9Ly0oXHcpL2csVD1DKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKHgsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/ZS50b1VwcGVyQ2FzZSgpOiIifSkpfSkpLFA9QygoZnVuY3Rpb24odCl7cmV0dXJuIHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKX0pKSxTPS9cQihbQS1aXSkvZyxrPUMoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoUywiLSQxIikudG9Mb3dlckNhc2UoKX0pKTt2YXIgTz1GdW5jdGlvbi5wcm90b3R5cGUuYmluZD9mdW5jdGlvbih0LGUpe3JldHVybiB0LmJpbmQoZSl9OmZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbihuKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoO3JldHVybiByP3I+MT90LmFwcGx5KGUsYXJndW1lbnRzKTp0LmNhbGwoZSxuKTp0LmNhbGwoZSl9cmV0dXJuIG4uX2xlbmd0aD10Lmxlbmd0aCxufTtmdW5jdGlvbiAkKHQsZSl7ZT1lfHwwO2Zvcih2YXIgbj10Lmxlbmd0aC1lLHI9bmV3IEFycmF5KG4pO24tLTspcltuXT10W24rZV07cmV0dXJuIHJ9ZnVuY3Rpb24gQSh0LGUpe2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gdH1mdW5jdGlvbiBEKHQpe2Zvcih2YXIgZT17fSxuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXSYmQShlLHRbbl0pO3JldHVybiBlfWZ1bmN0aW9uIFIodCxlLG4pe312YXIgRT1mdW5jdGlvbih0LGUsbil7cmV0dXJuITF9LEY9ZnVuY3Rpb24odCl7cmV0dXJuIHR9O2Z1bmN0aW9uIE0odCxlKXtpZih0PT09ZSlyZXR1cm4hMDt2YXIgbj1sKHQpLHI9bChlKTtpZighbnx8IXIpcmV0dXJuIW4mJiFyJiZTdHJpbmcodCk9PT1TdHJpbmcoZSk7dHJ5e3ZhciBhPUFycmF5LmlzQXJyYXkodCksaT1BcnJheS5pc0FycmF5KGUpO2lmKGEmJmkpcmV0dXJuIHQubGVuZ3RoPT09ZS5sZW5ndGgmJnQuZXZlcnkoKGZ1bmN0aW9uKHQsbil7cmV0dXJuIE0odCxlW25dKX0pKTtpZih0IGluc3RhbmNlb2YgRGF0ZSYmZSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIHQuZ2V0VGltZSgpPT09ZS5nZXRUaW1lKCk7aWYoYXx8aSlyZXR1cm4hMTt2YXIgbz1PYmplY3Qua2V5cyh0KSxzPU9iamVjdC5rZXlzKGUpO3JldHVybiBvLmxlbmd0aD09PXMubGVuZ3RoJiZvLmV2ZXJ5KChmdW5jdGlvbihuKXtyZXR1cm4gTSh0W25dLGVbbl0pfSkpfWNhdGNoKHQpe3JldHVybiExfX1mdW5jdGlvbiBJKHQsZSl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspaWYoTSh0W25dLGUpKXJldHVybiBuO3JldHVybi0xfWZ1bmN0aW9uIE4odCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7ZXx8KGU9ITAsdC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfX12YXIgaj0iZGF0YS1zZXJ2ZXItcmVuZGVyZWQiLEw9WyJjb21wb25lbnQiLCJkaXJlY3RpdmUiLCJmaWx0ZXIiXSxVPVsiYmVmb3JlQ3JlYXRlIiwiY3JlYXRlZCIsImJlZm9yZU1vdW50IiwibW91bnRlZCIsImJlZm9yZVVwZGF0ZSIsInVwZGF0ZWQiLCJiZWZvcmVEZXN0cm95IiwiZGVzdHJveWVkIiwiYWN0aXZhdGVkIiwiZGVhY3RpdmF0ZWQiLCJlcnJvckNhcHR1cmVkIiwic2VydmVyUHJlZmV0Y2giXSxIPXtvcHRpb25NZXJnZVN0cmF0ZWdpZXM6T2JqZWN0LmNyZWF0ZShudWxsKSxzaWxlbnQ6ITEscHJvZHVjdGlvblRpcDohMSxkZXZ0b29sczohMSxwZXJmb3JtYW5jZTohMSxlcnJvckhhbmRsZXI6bnVsbCx3YXJuSGFuZGxlcjpudWxsLGlnbm9yZWRFbGVtZW50czpbXSxrZXlDb2RlczpPYmplY3QuY3JlYXRlKG51bGwpLGlzUmVzZXJ2ZWRUYWc6RSxpc1Jlc2VydmVkQXR0cjpFLGlzVW5rbm93bkVsZW1lbnQ6RSxnZXRUYWdOYW1lc3BhY2U6UixwYXJzZVBsYXRmb3JtVGFnTmFtZTpGLG11c3RVc2VQcm9wOkUsYXN5bmM6ITAsX2xpZmVjeWNsZUhvb2tzOlV9LEI9L2EtekEtWlx1MDBCN1x1MDBDMC1cdTAwRDZcdTAwRDgtXHUwMEY2XHUwMEY4LVx1MDM3RFx1MDM3Ri1cdTFGRkZcdTIwMEMtXHUyMDBEXHUyMDNGLVx1MjA0MFx1MjA3MC1cdTIxOEZcdTJDMDAtXHUyRkVGXHUzMDAxLVx1RDdGRlx1RjkwMC1cdUZEQ0ZcdUZERjAtXHVGRkZELztmdW5jdGlvbiB6KHQpe3ZhciBlPSh0KyIiKS5jaGFyQ29kZUF0KDApO3JldHVybiAzNj09PWV8fDk1PT09ZX1mdW5jdGlvbiBxKHQsZSxuLHIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohIXIsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSl9dmFyIFk9bmV3IFJlZ0V4cCgiW14iK0Iuc291cmNlKyIuJF9cXGRdIik7dmFyIFcsVj0iX19wcm90b19fImlue30sSz0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyxRPSJ1bmRlZmluZWQiIT10eXBlb2YgV1hFbnZpcm9ubWVudCYmISFXWEVudmlyb25tZW50LnBsYXRmb3JtLEc9USYmV1hFbnZpcm9ubWVudC5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpLEo9SyYmd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSxYPUomJi9tc2llfHRyaWRlbnQvLnRlc3QoSiksWj1KJiZKLmluZGV4T2YoIm1zaWUgOS4wIik+MCx0dD1KJiZKLmluZGV4T2YoImVkZ2UvIik+MCxldD0oSiYmSi5pbmRleE9mKCJhbmRyb2lkIiksSiYmL2lwaG9uZXxpcGFkfGlwb2R8aW9zLy50ZXN0KEopfHwiaW9zIj09PUcpLG50PShKJiYvY2hyb21lXC9cZCsvLnRlc3QoSiksSiYmL3BoYW50b21qcy8udGVzdChKKSxKJiZKLm1hdGNoKC9maXJlZm94XC8oXGQrKS8pKSxydD17fS53YXRjaCxhdD0hMTtpZihLKXRyeXt2YXIgaXQ9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KGl0LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7YXQ9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QtcGFzc2l2ZSIsbnVsbCxpdCl9Y2F0Y2godCl7fXZhciBvdD1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1XJiYoVz0hSyYmIVEmJnZvaWQgMCE9PW4uZyYmKG4uZy5wcm9jZXNzJiYic2VydmVyIj09PW4uZy5wcm9jZXNzLmVudi5WVUVfRU5WKSksV30sc3Q9SyYmd2luZG93Ll9fVlVFX0RFVlRPT0xTX0dMT0JBTF9IT09LX187ZnVuY3Rpb24gbHQodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQmJi9uYXRpdmUgY29kZS8udGVzdCh0LnRvU3RyaW5nKCkpfXZhciB1dCxjdD0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmbHQoU3ltYm9sKSYmInVuZGVmaW5lZCIhPXR5cGVvZiBSZWZsZWN0JiZsdChSZWZsZWN0Lm93bktleXMpO3V0PSJ1bmRlZmluZWQiIT10eXBlb2YgU2V0JiZsdChTZXQpP1NldDpmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLnNldD1PYmplY3QuY3JlYXRlKG51bGwpfXJldHVybiB0LnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuITA9PT10aGlzLnNldFt0XX0sdC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3RoaXMuc2V0W3RdPSEwfSx0LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuc2V0PU9iamVjdC5jcmVhdGUobnVsbCl9LHR9KCk7dmFyIGR0PVIsZnQ9MCxwdD1mdW5jdGlvbigpe3RoaXMuaWQ9ZnQrKyx0aGlzLnN1YnM9W119O3B0LnByb3RvdHlwZS5hZGRTdWI9ZnVuY3Rpb24odCl7dGhpcy5zdWJzLnB1c2godCl9LHB0LnByb3RvdHlwZS5yZW1vdmVTdWI9ZnVuY3Rpb24odCl7Yih0aGlzLnN1YnMsdCl9LHB0LnByb3RvdHlwZS5kZXBlbmQ9ZnVuY3Rpb24oKXtwdC50YXJnZXQmJnB0LnRhcmdldC5hZGREZXAodGhpcyl9LHB0LnByb3RvdHlwZS5ub3RpZnk9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnN1YnMuc2xpY2UoKTtmb3IodmFyIGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspdFtlXS51cGRhdGUoKX0scHQudGFyZ2V0PW51bGw7dmFyIGh0PVtdO2Z1bmN0aW9uIHZ0KHQpe2h0LnB1c2godCkscHQudGFyZ2V0PXR9ZnVuY3Rpb24gZ3QoKXtodC5wb3AoKSxwdC50YXJnZXQ9aHRbaHQubGVuZ3RoLTFdfXZhciBtdD1mdW5jdGlvbih0LGUsbixyLGEsaSxvLHMpe3RoaXMudGFnPXQsdGhpcy5kYXRhPWUsdGhpcy5jaGlsZHJlbj1uLHRoaXMudGV4dD1yLHRoaXMuZWxtPWEsdGhpcy5ucz12b2lkIDAsdGhpcy5jb250ZXh0PWksdGhpcy5mbkNvbnRleHQ9dm9pZCAwLHRoaXMuZm5PcHRpb25zPXZvaWQgMCx0aGlzLmZuU2NvcGVJZD12b2lkIDAsdGhpcy5rZXk9ZSYmZS5rZXksdGhpcy5jb21wb25lbnRPcHRpb25zPW8sdGhpcy5jb21wb25lbnRJbnN0YW5jZT12b2lkIDAsdGhpcy5wYXJlbnQ9dm9pZCAwLHRoaXMucmF3PSExLHRoaXMuaXNTdGF0aWM9ITEsdGhpcy5pc1Jvb3RJbnNlcnQ9ITAsdGhpcy5pc0NvbW1lbnQ9ITEsdGhpcy5pc0Nsb25lZD0hMSx0aGlzLmlzT25jZT0hMSx0aGlzLmFzeW5jRmFjdG9yeT1zLHRoaXMuYXN5bmNNZXRhPXZvaWQgMCx0aGlzLmlzQXN5bmNQbGFjZWhvbGRlcj0hMX0seXQ9e2NoaWxkOntjb25maWd1cmFibGU6ITB9fTt5dC5jaGlsZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb21wb25lbnRJbnN0YW5jZX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobXQucHJvdG90eXBlLHl0KTt2YXIgYnQ9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9IiIpO3ZhciBlPW5ldyBtdDtyZXR1cm4gZS50ZXh0PXQsZS5pc0NvbW1lbnQ9ITAsZX07ZnVuY3Rpb24gd3QodCl7cmV0dXJuIG5ldyBtdCh2b2lkIDAsdm9pZCAwLHZvaWQgMCxTdHJpbmcodCkpfWZ1bmN0aW9uIF90KHQpe3ZhciBlPW5ldyBtdCh0LnRhZyx0LmRhdGEsdC5jaGlsZHJlbiYmdC5jaGlsZHJlbi5zbGljZSgpLHQudGV4dCx0LmVsbSx0LmNvbnRleHQsdC5jb21wb25lbnRPcHRpb25zLHQuYXN5bmNGYWN0b3J5KTtyZXR1cm4gZS5ucz10Lm5zLGUuaXNTdGF0aWM9dC5pc1N0YXRpYyxlLmtleT10LmtleSxlLmlzQ29tbWVudD10LmlzQ29tbWVudCxlLmZuQ29udGV4dD10LmZuQ29udGV4dCxlLmZuT3B0aW9ucz10LmZuT3B0aW9ucyxlLmZuU2NvcGVJZD10LmZuU2NvcGVJZCxlLmFzeW5jTWV0YT10LmFzeW5jTWV0YSxlLmlzQ2xvbmVkPSEwLGV9dmFyIEN0PUFycmF5LnByb3RvdHlwZSx4dD1PYmplY3QuY3JlYXRlKEN0KTtbInB1c2giLCJwb3AiLCJzaGlmdCIsInVuc2hpZnQiLCJzcGxpY2UiLCJzb3J0IiwicmV2ZXJzZSJdLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPUN0W3RdO3EoeHQsdCwoZnVuY3Rpb24oKXtmb3IodmFyIG49W10scj1hcmd1bWVudHMubGVuZ3RoO3ItLTspbltyXT1hcmd1bWVudHNbcl07dmFyIGEsaT1lLmFwcGx5KHRoaXMsbiksbz10aGlzLl9fb2JfXztzd2l0Y2godCl7Y2FzZSJwdXNoIjpjYXNlInVuc2hpZnQiOmE9bjticmVhaztjYXNlInNwbGljZSI6YT1uLnNsaWNlKDIpfXJldHVybiBhJiZvLm9ic2VydmVBcnJheShhKSxvLmRlcC5ub3RpZnkoKSxpfSkpfSkpO3ZhciBUdD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh4dCksUHQ9ITA7ZnVuY3Rpb24gU3QodCl7UHQ9dH12YXIga3Q9ZnVuY3Rpb24odCl7dGhpcy52YWx1ZT10LHRoaXMuZGVwPW5ldyBwdCx0aGlzLnZtQ291bnQ9MCxxKHQsIl9fb2JfXyIsdGhpcyksQXJyYXkuaXNBcnJheSh0KT8oVj9mdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9KHQseHQpOmZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIHI9MCxhPW4ubGVuZ3RoO3I8YTtyKyspe3ZhciBpPW5bcl07cSh0LGksZVtpXSl9fSh0LHh0LFR0KSx0aGlzLm9ic2VydmVBcnJheSh0KSk6dGhpcy53YWxrKHQpfTtmdW5jdGlvbiBPdCh0LGUpe3ZhciBuO2lmKGwodCkmJiEodCBpbnN0YW5jZW9mIG10KSlyZXR1cm4gXyh0LCJfX29iX18iKSYmdC5fX29iX18gaW5zdGFuY2VvZiBrdD9uPXQuX19vYl9fOlB0JiYhb3QoKSYmKEFycmF5LmlzQXJyYXkodCl8fGModCkpJiZPYmplY3QuaXNFeHRlbnNpYmxlKHQpJiYhdC5faXNWdWUmJihuPW5ldyBrdCh0KSksZSYmbiYmbi52bUNvdW50Kyssbn1mdW5jdGlvbiAkdCh0LGUsbixyLGEpe3ZhciBpPW5ldyBwdCxvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxlKTtpZighb3x8ITEhPT1vLmNvbmZpZ3VyYWJsZSl7dmFyIHM9byYmby5nZXQsbD1vJiZvLnNldDtzJiYhbHx8MiE9PWFyZ3VtZW50cy5sZW5ndGh8fChuPXRbZV0pO3ZhciB1PSFhJiZPdChuKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgZT1zP3MuY2FsbCh0KTpuO3JldHVybiBwdC50YXJnZXQmJihpLmRlcGVuZCgpLHUmJih1LmRlcC5kZXBlbmQoKSxBcnJheS5pc0FycmF5KGUpJiZSdChlKSkpLGV9LHNldDpmdW5jdGlvbihlKXt2YXIgcj1zP3MuY2FsbCh0KTpuO2U9PT1yfHxlIT1lJiZyIT1yfHxzJiYhbHx8KGw/bC5jYWxsKHQsZSk6bj1lLHU9IWEmJk90KGUpLGkubm90aWZ5KCkpfX0pfX1mdW5jdGlvbiBBdCh0LGUsbil7aWYoQXJyYXkuaXNBcnJheSh0KSYmZihlKSlyZXR1cm4gdC5sZW5ndGg9TWF0aC5tYXgodC5sZW5ndGgsZSksdC5zcGxpY2UoZSwxLG4pLG47aWYoZSBpbiB0JiYhKGUgaW4gT2JqZWN0LnByb3RvdHlwZSkpcmV0dXJuIHRbZV09bixuO3ZhciByPXQuX19vYl9fO3JldHVybiB0Ll9pc1Z1ZXx8ciYmci52bUNvdW50P246cj8oJHQoci52YWx1ZSxlLG4pLHIuZGVwLm5vdGlmeSgpLG4pOih0W2VdPW4sbil9ZnVuY3Rpb24gRHQodCxlKXtpZihBcnJheS5pc0FycmF5KHQpJiZmKGUpKXQuc3BsaWNlKGUsMSk7ZWxzZXt2YXIgbj10Ll9fb2JfXzt0Ll9pc1Z1ZXx8biYmbi52bUNvdW50fHxfKHQsZSkmJihkZWxldGUgdFtlXSxuJiZuLmRlcC5ub3RpZnkoKSl9fWZ1bmN0aW9uIFJ0KHQpe2Zvcih2YXIgZT12b2lkIDAsbj0wLHI9dC5sZW5ndGg7bjxyO24rKykoZT10W25dKSYmZS5fX29iX18mJmUuX19vYl9fLmRlcC5kZXBlbmQoKSxBcnJheS5pc0FycmF5KGUpJiZSdChlKX1rdC5wcm90b3R5cGUud2Fsaz1mdW5jdGlvbih0KXtmb3IodmFyIGU9T2JqZWN0LmtleXModCksbj0wO248ZS5sZW5ndGg7bisrKSR0KHQsZVtuXSl9LGt0LnByb3RvdHlwZS5vYnNlcnZlQXJyYXk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKU90KHRbZV0pfTt2YXIgRXQ9SC5vcHRpb25NZXJnZVN0cmF0ZWdpZXM7ZnVuY3Rpb24gRnQodCxlKXtpZighZSlyZXR1cm4gdDtmb3IodmFyIG4scixhLGk9Y3Q/UmVmbGVjdC5vd25LZXlzKGUpOk9iamVjdC5rZXlzKGUpLG89MDtvPGkubGVuZ3RoO28rKykiX19vYl9fIiE9PShuPWlbb10pJiYocj10W25dLGE9ZVtuXSxfKHQsbik/ciE9PWEmJmMocikmJmMoYSkmJkZ0KHIsYSk6QXQodCxuLGEpKTtyZXR1cm4gdH1mdW5jdGlvbiBNdCh0LGUsbil7cmV0dXJuIG4/ZnVuY3Rpb24oKXt2YXIgcj0iZnVuY3Rpb24iPT10eXBlb2YgZT9lLmNhbGwobixuKTplLGE9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dC5jYWxsKG4sbik6dDtyZXR1cm4gcj9GdChyLGEpOmF9OmU/dD9mdW5jdGlvbigpe3JldHVybiBGdCgiZnVuY3Rpb24iPT10eXBlb2YgZT9lLmNhbGwodGhpcyx0aGlzKTplLCJmdW5jdGlvbiI9PXR5cGVvZiB0P3QuY2FsbCh0aGlzLHRoaXMpOnQpfTplOnR9ZnVuY3Rpb24gSXQodCxlKXt2YXIgbj1lP3Q/dC5jb25jYXQoZSk6QXJyYXkuaXNBcnJheShlKT9lOltlXTp0O3JldHVybiBuP2Z1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTA7bjx0Lmxlbmd0aDtuKyspLTE9PT1lLmluZGV4T2YodFtuXSkmJmUucHVzaCh0W25dKTtyZXR1cm4gZX0obik6bn1mdW5jdGlvbiBOdCh0LGUsbixyKXt2YXIgYT1PYmplY3QuY3JlYXRlKHR8fG51bGwpO3JldHVybiBlP0EoYSxlKTphfUV0LmRhdGE9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBuP010KHQsZSxuKTplJiYiZnVuY3Rpb24iIT10eXBlb2YgZT90Ok10KHQsZSl9LFUuZm9yRWFjaCgoZnVuY3Rpb24odCl7RXRbdF09SXR9KSksTC5mb3JFYWNoKChmdW5jdGlvbih0KXtFdFt0KyJzIl09TnR9KSksRXQud2F0Y2g9ZnVuY3Rpb24odCxlLG4scil7aWYodD09PXJ0JiYodD12b2lkIDApLGU9PT1ydCYmKGU9dm9pZCAwKSwhZSlyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0fHxudWxsKTtpZighdClyZXR1cm4gZTt2YXIgYT17fTtmb3IodmFyIGkgaW4gQShhLHQpLGUpe3ZhciBvPWFbaV0scz1lW2ldO28mJiFBcnJheS5pc0FycmF5KG8pJiYobz1bb10pLGFbaV09bz9vLmNvbmNhdChzKTpBcnJheS5pc0FycmF5KHMpP3M6W3NdfXJldHVybiBhfSxFdC5wcm9wcz1FdC5tZXRob2RzPUV0LmluamVjdD1FdC5jb21wdXRlZD1mdW5jdGlvbih0LGUsbixyKXtpZighdClyZXR1cm4gZTt2YXIgYT1PYmplY3QuY3JlYXRlKG51bGwpO3JldHVybiBBKGEsdCksZSYmQShhLGUpLGF9LEV0LnByb3ZpZGU9TXQ7dmFyIGp0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWU/dDplfTtmdW5jdGlvbiBMdCh0LGUsbil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUub3B0aW9ucyksZnVuY3Rpb24odCxlKXt2YXIgbj10LnByb3BzO2lmKG4pe3ZhciByLGEsaT17fTtpZihBcnJheS5pc0FycmF5KG4pKWZvcihyPW4ubGVuZ3RoO3ItLTspInN0cmluZyI9PXR5cGVvZihhPW5bcl0pJiYoaVtUKGEpXT17dHlwZTpudWxsfSk7ZWxzZSBpZihjKG4pKWZvcih2YXIgbyBpbiBuKWE9bltvXSxpW1QobyldPWMoYSk/YTp7dHlwZTphfTt0LnByb3BzPWl9fShlKSxmdW5jdGlvbih0LGUpe3ZhciBuPXQuaW5qZWN0O2lmKG4pe3ZhciByPXQuaW5qZWN0PXt9O2lmKEFycmF5LmlzQXJyYXkobikpZm9yKHZhciBhPTA7YTxuLmxlbmd0aDthKyspcltuW2FdXT17ZnJvbTpuW2FdfTtlbHNlIGlmKGMobikpZm9yKHZhciBpIGluIG4pe3ZhciBvPW5baV07cltpXT1jKG8pP0Eoe2Zyb206aX0sbyk6e2Zyb206b319fX0oZSksZnVuY3Rpb24odCl7dmFyIGU9dC5kaXJlY3RpdmVzO2lmKGUpZm9yKHZhciBuIGluIGUpe3ZhciByPWVbbl07ImZ1bmN0aW9uIj09dHlwZW9mIHImJihlW25dPXtiaW5kOnIsdXBkYXRlOnJ9KX19KGUpLCFlLl9iYXNlJiYoZS5leHRlbmRzJiYodD1MdCh0LGUuZXh0ZW5kcyxuKSksZS5taXhpbnMpKWZvcih2YXIgcj0wLGE9ZS5taXhpbnMubGVuZ3RoO3I8YTtyKyspdD1MdCh0LGUubWl4aW5zW3JdLG4pO3ZhciBpLG89e307Zm9yKGkgaW4gdClzKGkpO2ZvcihpIGluIGUpXyh0LGkpfHxzKGkpO2Z1bmN0aW9uIHMocil7dmFyIGE9RXRbcl18fGp0O29bcl09YSh0W3JdLGVbcl0sbixyKX1yZXR1cm4gb31mdW5jdGlvbiBVdCh0LGUsbixyKXtpZigic3RyaW5nIj09dHlwZW9mIG4pe3ZhciBhPXRbZV07aWYoXyhhLG4pKXJldHVybiBhW25dO3ZhciBpPVQobik7aWYoXyhhLGkpKXJldHVybiBhW2ldO3ZhciBvPVAoaSk7cmV0dXJuIF8oYSxvKT9hW29dOmFbbl18fGFbaV18fGFbb119fWZ1bmN0aW9uIEh0KHQsZSxuLHIpe3ZhciBhPWVbdF0saT0hXyhuLHQpLG89blt0XSxzPVl0KEJvb2xlYW4sYS50eXBlKTtpZihzPi0xKWlmKGkmJiFfKGEsImRlZmF1bHQiKSlvPSExO2Vsc2UgaWYoIiI9PT1vfHxvPT09ayh0KSl7dmFyIGw9WXQoU3RyaW5nLGEudHlwZSk7KGw8MHx8czxsKSYmKG89ITApfWlmKHZvaWQgMD09PW8pe289ZnVuY3Rpb24odCxlLG4pe2lmKCFfKGUsImRlZmF1bHQiKSlyZXR1cm47dmFyIHI9ZS5kZWZhdWx0OzA7aWYodCYmdC4kb3B0aW9ucy5wcm9wc0RhdGEmJnZvaWQgMD09PXQuJG9wdGlvbnMucHJvcHNEYXRhW25dJiZ2b2lkIDAhPT10Ll9wcm9wc1tuXSlyZXR1cm4gdC5fcHJvcHNbbl07cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHImJiJGdW5jdGlvbiIhPT16dChlLnR5cGUpP3IuY2FsbCh0KTpyfShyLGEsdCk7dmFyIHU9UHQ7U3QoITApLE90KG8pLFN0KHUpfXJldHVybiBvfXZhciBCdD0vXlxzKmZ1bmN0aW9uIChcdyspLztmdW5jdGlvbiB6dCh0KXt2YXIgZT10JiZ0LnRvU3RyaW5nKCkubWF0Y2goQnQpO3JldHVybiBlP2VbMV06IiJ9ZnVuY3Rpb24gcXQodCxlKXtyZXR1cm4genQodCk9PT16dChlKX1mdW5jdGlvbiBZdCh0LGUpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiBxdChlLHQpPzA6LTE7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKWlmKHF0KGVbbl0sdCkpcmV0dXJuIG47cmV0dXJuLTF9ZnVuY3Rpb24gV3QodCxlLG4pe3Z0KCk7dHJ5e2lmKGUpZm9yKHZhciByPWU7cj1yLiRwYXJlbnQ7KXt2YXIgYT1yLiRvcHRpb25zLmVycm9yQ2FwdHVyZWQ7aWYoYSlmb3IodmFyIGk9MDtpPGEubGVuZ3RoO2krKyl0cnl7aWYoITE9PT1hW2ldLmNhbGwocix0LGUsbikpcmV0dXJufWNhdGNoKHQpe0t0KHQsciwiZXJyb3JDYXB0dXJlZCBob29rIil9fUt0KHQsZSxuKX1maW5hbGx5e2d0KCl9fWZ1bmN0aW9uIFZ0KHQsZSxuLHIsYSl7dmFyIGk7dHJ5eyhpPW4/dC5hcHBseShlLG4pOnQuY2FsbChlKSkmJiFpLl9pc1Z1ZSYmcChpKSYmIWkuX2hhbmRsZWQmJihpLmNhdGNoKChmdW5jdGlvbih0KXtyZXR1cm4gV3QodCxyLGErIiAoUHJvbWlzZS9hc3luYykiKX0pKSxpLl9oYW5kbGVkPSEwKX1jYXRjaCh0KXtXdCh0LHIsYSl9cmV0dXJuIGl9ZnVuY3Rpb24gS3QodCxlLG4pe2lmKEguZXJyb3JIYW5kbGVyKXRyeXtyZXR1cm4gSC5lcnJvckhhbmRsZXIuY2FsbChudWxsLHQsZSxuKX1jYXRjaChlKXtlIT09dCYmUXQoZSxudWxsLCJjb25maWcuZXJyb3JIYW5kbGVyIil9UXQodCxlLG4pfWZ1bmN0aW9uIFF0KHQsZSxuKXtpZighSyYmIVF8fCJ1bmRlZmluZWQiPT10eXBlb2YgY29uc29sZSl0aHJvdyB0O2NvbnNvbGUuZXJyb3IodCl9dmFyIEd0LEp0PSExLFh0PVtdLFp0PSExO2Z1bmN0aW9uIHRlKCl7WnQ9ITE7dmFyIHQ9WHQuc2xpY2UoMCk7WHQubGVuZ3RoPTA7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXSgpfWlmKCJ1bmRlZmluZWQiIT10eXBlb2YgUHJvbWlzZSYmbHQoUHJvbWlzZSkpe3ZhciBlZT1Qcm9taXNlLnJlc29sdmUoKTtHdD1mdW5jdGlvbigpe2VlLnRoZW4odGUpLGV0JiZzZXRUaW1lb3V0KFIpfSxKdD0hMH1lbHNlIGlmKFh8fCJ1bmRlZmluZWQiPT10eXBlb2YgTXV0YXRpb25PYnNlcnZlcnx8IWx0KE11dGF0aW9uT2JzZXJ2ZXIpJiYiW29iamVjdCBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdIiE9PU11dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSlHdD0idW5kZWZpbmVkIiE9dHlwZW9mIHNldEltbWVkaWF0ZSYmbHQoc2V0SW1tZWRpYXRlKT9mdW5jdGlvbigpe3NldEltbWVkaWF0ZSh0ZSl9OmZ1bmN0aW9uKCl7c2V0VGltZW91dCh0ZSwwKX07ZWxzZXt2YXIgbmU9MSxyZT1uZXcgTXV0YXRpb25PYnNlcnZlcih0ZSksYWU9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKG5lKSk7cmUub2JzZXJ2ZShhZSx7Y2hhcmFjdGVyRGF0YTohMH0pLEd0PWZ1bmN0aW9uKCl7bmU9KG5lKzEpJTIsYWUuZGF0YT1TdHJpbmcobmUpfSxKdD0hMH1mdW5jdGlvbiBpZSh0LGUpe3ZhciBuO2lmKFh0LnB1c2goKGZ1bmN0aW9uKCl7aWYodCl0cnl7dC5jYWxsKGUpfWNhdGNoKHQpe1d0KHQsZSwibmV4dFRpY2siKX1lbHNlIG4mJm4oZSl9KSksWnR8fChadD0hMCxHdCgpKSwhdCYmInVuZGVmaW5lZCIhPXR5cGVvZiBQcm9taXNlKXJldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCl7bj10fSkpfXZhciBvZT1uZXcgdXQ7ZnVuY3Rpb24gc2UodCl7bGUodCxvZSksb2UuY2xlYXIoKX1mdW5jdGlvbiBsZSh0LGUpe3ZhciBuLHIsYT1BcnJheS5pc0FycmF5KHQpO2lmKCEoIWEmJiFsKHQpfHxPYmplY3QuaXNGcm96ZW4odCl8fHQgaW5zdGFuY2VvZiBtdCkpe2lmKHQuX19vYl9fKXt2YXIgaT10Ll9fb2JfXy5kZXAuaWQ7aWYoZS5oYXMoaSkpcmV0dXJuO2UuYWRkKGkpfWlmKGEpZm9yKG49dC5sZW5ndGg7bi0tOylsZSh0W25dLGUpO2Vsc2UgZm9yKG49KHI9T2JqZWN0LmtleXModCkpLmxlbmd0aDtuLS07KWxlKHRbcltuXV0sZSl9fXZhciB1ZT1DKChmdW5jdGlvbih0KXt2YXIgZT0iJiI9PT10LmNoYXJBdCgwKSxuPSJ+Ij09PSh0PWU/dC5zbGljZSgxKTp0KS5jaGFyQXQoMCkscj0iISI9PT0odD1uP3Quc2xpY2UoMSk6dCkuY2hhckF0KDApO3JldHVybntuYW1lOnQ9cj90LnNsaWNlKDEpOnQsb25jZTpuLGNhcHR1cmU6cixwYXNzaXZlOmV9fSkpO2Z1bmN0aW9uIGNlKHQsZSl7ZnVuY3Rpb24gbigpe3ZhciB0PWFyZ3VtZW50cyxyPW4uZm5zO2lmKCFBcnJheS5pc0FycmF5KHIpKXJldHVybiBWdChyLG51bGwsYXJndW1lbnRzLGUsInYtb24gaGFuZGxlciIpO2Zvcih2YXIgYT1yLnNsaWNlKCksaT0wO2k8YS5sZW5ndGg7aSsrKVZ0KGFbaV0sbnVsbCx0LGUsInYtb24gaGFuZGxlciIpfXJldHVybiBuLmZucz10LG59ZnVuY3Rpb24gZGUodCxlLG4scixpLHMpe3ZhciBsLHUsYyxkO2ZvcihsIGluIHQpdT10W2xdLGM9ZVtsXSxkPXVlKGwpLGEodSl8fChhKGMpPyhhKHUuZm5zKSYmKHU9dFtsXT1jZSh1LHMpKSxvKGQub25jZSkmJih1PXRbbF09aShkLm5hbWUsdSxkLmNhcHR1cmUpKSxuKGQubmFtZSx1LGQuY2FwdHVyZSxkLnBhc3NpdmUsZC5wYXJhbXMpKTp1IT09YyYmKGMuZm5zPXUsdFtsXT1jKSk7Zm9yKGwgaW4gZSlhKHRbbF0pJiZyKChkPXVlKGwpKS5uYW1lLGVbbF0sZC5jYXB0dXJlKX1mdW5jdGlvbiBmZSh0LGUsbil7dmFyIHI7dCBpbnN0YW5jZW9mIG10JiYodD10LmRhdGEuaG9va3x8KHQuZGF0YS5ob29rPXt9KSk7dmFyIHM9dFtlXTtmdW5jdGlvbiBsKCl7bi5hcHBseSh0aGlzLGFyZ3VtZW50cyksYihyLmZucyxsKX1hKHMpP3I9Y2UoW2xdKTppKHMuZm5zKSYmbyhzLm1lcmdlZCk/KHI9cykuZm5zLnB1c2gobCk6cj1jZShbcyxsXSksci5tZXJnZWQ9ITAsdFtlXT1yfWZ1bmN0aW9uIHBlKHQsZSxuLHIsYSl7aWYoaShlKSl7aWYoXyhlLG4pKXJldHVybiB0W25dPWVbbl0sYXx8ZGVsZXRlIGVbbl0sITA7aWYoXyhlLHIpKXJldHVybiB0W25dPWVbcl0sYXx8ZGVsZXRlIGVbcl0sITB9cmV0dXJuITF9ZnVuY3Rpb24gaGUodCl7cmV0dXJuIHModCk/W3d0KHQpXTpBcnJheS5pc0FycmF5KHQpP2dlKHQpOnZvaWQgMH1mdW5jdGlvbiB2ZSh0KXtyZXR1cm4gaSh0KSYmaSh0LnRleHQpJiYhMT09PXQuaXNDb21tZW50fWZ1bmN0aW9uIGdlKHQsZSl7dmFyIG4scixsLHUsYz1bXTtmb3Iobj0wO248dC5sZW5ndGg7bisrKWEocj10W25dKXx8ImJvb2xlYW4iPT10eXBlb2Ygcnx8KHU9Y1tsPWMubGVuZ3RoLTFdLEFycmF5LmlzQXJyYXkocik/ci5sZW5ndGg+MCYmKHZlKChyPWdlKHIsKGV8fCIiKSsiXyIrbikpWzBdKSYmdmUodSkmJihjW2xdPXd0KHUudGV4dCtyWzBdLnRleHQpLHIuc2hpZnQoKSksYy5wdXNoLmFwcGx5KGMscikpOnMocik/dmUodSk/Y1tsXT13dCh1LnRleHQrcik6IiIhPT1yJiZjLnB1c2god3QocikpOnZlKHIpJiZ2ZSh1KT9jW2xdPXd0KHUudGV4dCtyLnRleHQpOihvKHQuX2lzVkxpc3QpJiZpKHIudGFnKSYmYShyLmtleSkmJmkoZSkmJihyLmtleT0iX192bGlzdCIrZSsiXyIrbisiX18iKSxjLnB1c2gocikpKTtyZXR1cm4gY31mdW5jdGlvbiBtZSh0LGUpe2lmKHQpe2Zvcih2YXIgbj1PYmplY3QuY3JlYXRlKG51bGwpLHI9Y3Q/UmVmbGVjdC5vd25LZXlzKHQpOk9iamVjdC5rZXlzKHQpLGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIGk9clthXTtpZigiX19vYl9fIiE9PWkpe2Zvcih2YXIgbz10W2ldLmZyb20scz1lO3M7KXtpZihzLl9wcm92aWRlZCYmXyhzLl9wcm92aWRlZCxvKSl7bltpXT1zLl9wcm92aWRlZFtvXTticmVha31zPXMuJHBhcmVudH1pZighcylpZigiZGVmYXVsdCJpbiB0W2ldKXt2YXIgbD10W2ldLmRlZmF1bHQ7bltpXT0iZnVuY3Rpb24iPT10eXBlb2YgbD9sLmNhbGwoZSk6bH1lbHNlIDB9fXJldHVybiBufX1mdW5jdGlvbiB5ZSh0LGUpe2lmKCF0fHwhdC5sZW5ndGgpcmV0dXJue307Zm9yKHZhciBuPXt9LHI9MCxhPXQubGVuZ3RoO3I8YTtyKyspe3ZhciBpPXRbcl0sbz1pLmRhdGE7aWYobyYmby5hdHRycyYmby5hdHRycy5zbG90JiZkZWxldGUgby5hdHRycy5zbG90LGkuY29udGV4dCE9PWUmJmkuZm5Db250ZXh0IT09ZXx8IW98fG51bGw9PW8uc2xvdCkobi5kZWZhdWx0fHwobi5kZWZhdWx0PVtdKSkucHVzaChpKTtlbHNle3ZhciBzPW8uc2xvdCxsPW5bc118fChuW3NdPVtdKTsidGVtcGxhdGUiPT09aS50YWc/bC5wdXNoLmFwcGx5KGwsaS5jaGlsZHJlbnx8W10pOmwucHVzaChpKX19Zm9yKHZhciB1IGluIG4pblt1XS5ldmVyeShiZSkmJmRlbGV0ZSBuW3VdO3JldHVybiBufWZ1bmN0aW9uIGJlKHQpe3JldHVybiB0LmlzQ29tbWVudCYmIXQuYXN5bmNGYWN0b3J5fHwiICI9PT10LnRleHR9ZnVuY3Rpb24gd2UodCl7cmV0dXJuIHQuaXNDb21tZW50JiZ0LmFzeW5jRmFjdG9yeX1mdW5jdGlvbiBfZSh0LGUsbil7dmFyIGEsaT1PYmplY3Qua2V5cyhlKS5sZW5ndGg+MCxvPXQ/ISF0LiRzdGFibGU6IWkscz10JiZ0LiRrZXk7aWYodCl7aWYodC5fbm9ybWFsaXplZClyZXR1cm4gdC5fbm9ybWFsaXplZDtpZihvJiZuJiZuIT09ciYmcz09PW4uJGtleSYmIWkmJiFuLiRoYXNOb3JtYWwpcmV0dXJuIG47Zm9yKHZhciBsIGluIGE9e30sdCl0W2xdJiYiJCIhPT1sWzBdJiYoYVtsXT1DZShlLGwsdFtsXSkpfWVsc2UgYT17fTtmb3IodmFyIHUgaW4gZSl1IGluIGF8fChhW3VdPXhlKGUsdSkpO3JldHVybiB0JiZPYmplY3QuaXNFeHRlbnNpYmxlKHQpJiYodC5fbm9ybWFsaXplZD1hKSxxKGEsIiRzdGFibGUiLG8pLHEoYSwiJGtleSIscykscShhLCIkaGFzTm9ybWFsIixpKSxhfWZ1bmN0aW9uIENlKHQsZSxuKXt2YXIgcj1mdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg/bi5hcHBseShudWxsLGFyZ3VtZW50cyk6bih7fSksZT0odD10JiYib2JqZWN0Ij09dHlwZW9mIHQmJiFBcnJheS5pc0FycmF5KHQpP1t0XTpoZSh0KSkmJnRbMF07cmV0dXJuIHQmJighZXx8MT09PXQubGVuZ3RoJiZlLmlzQ29tbWVudCYmIXdlKGUpKT92b2lkIDA6dH07cmV0dXJuIG4ucHJveHkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse2dldDpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSkscn1mdW5jdGlvbiB4ZSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0W2VdfX1mdW5jdGlvbiBUZSh0LGUpe3ZhciBuLHIsYSxvLHM7aWYoQXJyYXkuaXNBcnJheSh0KXx8InN0cmluZyI9PXR5cGVvZiB0KWZvcihuPW5ldyBBcnJheSh0Lmxlbmd0aCkscj0wLGE9dC5sZW5ndGg7cjxhO3IrKyluW3JdPWUodFtyXSxyKTtlbHNlIGlmKCJudW1iZXIiPT10eXBlb2YgdClmb3Iobj1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspbltyXT1lKHIrMSxyKTtlbHNlIGlmKGwodCkpaWYoY3QmJnRbU3ltYm9sLml0ZXJhdG9yXSl7bj1bXTtmb3IodmFyIHU9dFtTeW1ib2wuaXRlcmF0b3JdKCksYz11Lm5leHQoKTshYy5kb25lOyluLnB1c2goZShjLnZhbHVlLG4ubGVuZ3RoKSksYz11Lm5leHQoKX1lbHNlIGZvcihvPU9iamVjdC5rZXlzKHQpLG49bmV3IEFycmF5KG8ubGVuZ3RoKSxyPTAsYT1vLmxlbmd0aDtyPGE7cisrKXM9b1tyXSxuW3JdPWUodFtzXSxzLHIpO3JldHVybiBpKG4pfHwobj1bXSksbi5faXNWTGlzdD0hMCxufWZ1bmN0aW9uIFBlKHQsZSxuLHIpe3ZhciBhLGk9dGhpcy4kc2NvcGVkU2xvdHNbdF07aT8obj1ufHx7fSxyJiYobj1BKEEoe30sciksbikpLGE9aShuKXx8KCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UoKTplKSk6YT10aGlzLiRzbG90c1t0XXx8KCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UoKTplKTt2YXIgbz1uJiZuLnNsb3Q7cmV0dXJuIG8/dGhpcy4kY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiLHtzbG90Om99LGEpOmF9ZnVuY3Rpb24gU2UodCl7cmV0dXJuIFV0KHRoaXMuJG9wdGlvbnMsImZpbHRlcnMiLHQpfHxGfWZ1bmN0aW9uIGtlKHQsZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/LTE9PT10LmluZGV4T2YoZSk6dCE9PWV9ZnVuY3Rpb24gT2UodCxlLG4scixhKXt2YXIgaT1ILmtleUNvZGVzW2VdfHxuO3JldHVybiBhJiZyJiYhSC5rZXlDb2Rlc1tlXT9rZShhLHIpOmk/a2UoaSx0KTpyP2socikhPT1lOnZvaWQgMD09PXR9ZnVuY3Rpb24gJGUodCxlLG4scixhKXtpZihuKWlmKGwobikpe3ZhciBpO0FycmF5LmlzQXJyYXkobikmJihuPUQobikpO3ZhciBvPWZ1bmN0aW9uKG8pe2lmKCJjbGFzcyI9PT1vfHwic3R5bGUiPT09b3x8eShvKSlpPXQ7ZWxzZXt2YXIgcz10LmF0dHJzJiZ0LmF0dHJzLnR5cGU7aT1yfHxILm11c3RVc2VQcm9wKGUscyxvKT90LmRvbVByb3BzfHwodC5kb21Qcm9wcz17fSk6dC5hdHRyc3x8KHQuYXR0cnM9e30pfXZhciBsPVQobyksdT1rKG8pO2wgaW4gaXx8dSBpbiBpfHwoaVtvXT1uW29dLGEmJigodC5vbnx8KHQub249e30pKVsidXBkYXRlOiIrb109ZnVuY3Rpb24odCl7bltvXT10fSkpfTtmb3IodmFyIHMgaW4gbilvKHMpfWVsc2U7cmV0dXJuIHR9ZnVuY3Rpb24gQWUodCxlKXt2YXIgbj10aGlzLl9zdGF0aWNUcmVlc3x8KHRoaXMuX3N0YXRpY1RyZWVzPVtdKSxyPW5bdF07cmV0dXJuIHImJiFlfHxSZShyPW5bdF09dGhpcy4kb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnNbdF0uY2FsbCh0aGlzLl9yZW5kZXJQcm94eSxudWxsLHRoaXMpLCJfX3N0YXRpY19fIit0LCExKSxyfWZ1bmN0aW9uIERlKHQsZSxuKXtyZXR1cm4gUmUodCwiX19vbmNlX18iK2UrKG4/Il8iK246IiIpLCEwKSx0fWZ1bmN0aW9uIFJlKHQsZSxuKXtpZihBcnJheS5pc0FycmF5KHQpKWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRbcl0mJiJzdHJpbmciIT10eXBlb2YgdFtyXSYmRWUodFtyXSxlKyJfIityLG4pO2Vsc2UgRWUodCxlLG4pfWZ1bmN0aW9uIEVlKHQsZSxuKXt0LmlzU3RhdGljPSEwLHQua2V5PWUsdC5pc09uY2U9bn1mdW5jdGlvbiBGZSh0LGUpe2lmKGUpaWYoYyhlKSl7dmFyIG49dC5vbj10Lm9uP0Eoe30sdC5vbik6e307Zm9yKHZhciByIGluIGUpe3ZhciBhPW5bcl0saT1lW3JdO25bcl09YT9bXS5jb25jYXQoYSxpKTppfX1lbHNlO3JldHVybiB0fWZ1bmN0aW9uIE1lKHQsZSxuLHIpe2U9ZXx8eyRzdGFibGU6IW59O2Zvcih2YXIgYT0wO2E8dC5sZW5ndGg7YSsrKXt2YXIgaT10W2FdO0FycmF5LmlzQXJyYXkoaSk/TWUoaSxlLG4pOmkmJihpLnByb3h5JiYoaS5mbi5wcm94eT0hMCksZVtpLmtleV09aS5mbil9cmV0dXJuIHImJihlLiRrZXk9ciksZX1mdW5jdGlvbiBJZSh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bis9Mil7dmFyIHI9ZVtuXTsic3RyaW5nIj09dHlwZW9mIHImJnImJih0W2Vbbl1dPWVbbisxXSl9cmV0dXJuIHR9ZnVuY3Rpb24gTmUodCxlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/ZSt0OnR9ZnVuY3Rpb24gamUodCl7dC5fbz1EZSx0Ll9uPXYsdC5fcz1oLHQuX2w9VGUsdC5fdD1QZSx0Ll9xPU0sdC5faT1JLHQuX209QWUsdC5fZj1TZSx0Ll9rPU9lLHQuX2I9JGUsdC5fdj13dCx0Ll9lPWJ0LHQuX3U9TWUsdC5fZz1GZSx0Ll9kPUllLHQuX3A9TmV9ZnVuY3Rpb24gTGUodCxlLG4sYSxpKXt2YXIgcyxsPXRoaXMsdT1pLm9wdGlvbnM7XyhhLCJfdWlkIik/KHM9T2JqZWN0LmNyZWF0ZShhKSkuX29yaWdpbmFsPWE6KHM9YSxhPWEuX29yaWdpbmFsKTt2YXIgYz1vKHUuX2NvbXBpbGVkKSxkPSFjO3RoaXMuZGF0YT10LHRoaXMucHJvcHM9ZSx0aGlzLmNoaWxkcmVuPW4sdGhpcy5wYXJlbnQ9YSx0aGlzLmxpc3RlbmVycz10Lm9ufHxyLHRoaXMuaW5qZWN0aW9ucz1tZSh1LmluamVjdCxhKSx0aGlzLnNsb3RzPWZ1bmN0aW9uKCl7cmV0dXJuIGwuJHNsb3RzfHxfZSh0LnNjb3BlZFNsb3RzLGwuJHNsb3RzPXllKG4sYSkpLGwuJHNsb3RzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywic2NvcGVkU2xvdHMiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBfZSh0LnNjb3BlZFNsb3RzLHRoaXMuc2xvdHMoKSl9fSksYyYmKHRoaXMuJG9wdGlvbnM9dSx0aGlzLiRzbG90cz10aGlzLnNsb3RzKCksdGhpcy4kc2NvcGVkU2xvdHM9X2UodC5zY29wZWRTbG90cyx0aGlzLiRzbG90cykpLHUuX3Njb3BlSWQ/dGhpcy5fYz1mdW5jdGlvbih0LGUsbixyKXt2YXIgaT1XZShzLHQsZSxuLHIsZCk7cmV0dXJuIGkmJiFBcnJheS5pc0FycmF5KGkpJiYoaS5mblNjb3BlSWQ9dS5fc2NvcGVJZCxpLmZuQ29udGV4dD1hKSxpfTp0aGlzLl9jPWZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBXZShzLHQsZSxuLHIsZCl9fWZ1bmN0aW9uIFVlKHQsZSxuLHIsYSl7dmFyIGk9X3QodCk7cmV0dXJuIGkuZm5Db250ZXh0PW4saS5mbk9wdGlvbnM9cixlLnNsb3QmJigoaS5kYXRhfHwoaS5kYXRhPXt9KSkuc2xvdD1lLnNsb3QpLGl9ZnVuY3Rpb24gSGUodCxlKXtmb3IodmFyIG4gaW4gZSl0W1QobildPWVbbl19amUoTGUucHJvdG90eXBlKTt2YXIgQmU9e2luaXQ6ZnVuY3Rpb24odCxlKXtpZih0LmNvbXBvbmVudEluc3RhbmNlJiYhdC5jb21wb25lbnRJbnN0YW5jZS5faXNEZXN0cm95ZWQmJnQuZGF0YS5rZWVwQWxpdmUpe3ZhciBuPXQ7QmUucHJlcGF0Y2gobixuKX1lbHNleyh0LmNvbXBvbmVudEluc3RhbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49e19pc0NvbXBvbmVudDohMCxfcGFyZW50Vm5vZGU6dCxwYXJlbnQ6ZX0scj10LmRhdGEuaW5saW5lVGVtcGxhdGU7aShyKSYmKG4ucmVuZGVyPXIucmVuZGVyLG4uc3RhdGljUmVuZGVyRm5zPXIuc3RhdGljUmVuZGVyRm5zKTtyZXR1cm4gbmV3IHQuY29tcG9uZW50T3B0aW9ucy5DdG9yKG4pfSh0LG5uKSkuJG1vdW50KGU/dC5lbG06dm9pZCAwLGUpfX0scHJlcGF0Y2g6ZnVuY3Rpb24odCxlKXt2YXIgbj1lLmNvbXBvbmVudE9wdGlvbnM7IWZ1bmN0aW9uKHQsZSxuLGEsaSl7MDt2YXIgbz1hLmRhdGEuc2NvcGVkU2xvdHMscz10LiRzY29wZWRTbG90cyxsPSEhKG8mJiFvLiRzdGFibGV8fHMhPT1yJiYhcy4kc3RhYmxlfHxvJiZ0LiRzY29wZWRTbG90cy4ka2V5IT09by4ka2V5fHwhbyYmdC4kc2NvcGVkU2xvdHMuJGtleSksdT0hIShpfHx0LiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbnx8bCk7dC4kb3B0aW9ucy5fcGFyZW50Vm5vZGU9YSx0LiR2bm9kZT1hLHQuX3Zub2RlJiYodC5fdm5vZGUucGFyZW50PWEpO2lmKHQuJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuPWksdC4kYXR0cnM9YS5kYXRhLmF0dHJzfHxyLHQuJGxpc3RlbmVycz1ufHxyLGUmJnQuJG9wdGlvbnMucHJvcHMpe1N0KCExKTtmb3IodmFyIGM9dC5fcHJvcHMsZD10LiRvcHRpb25zLl9wcm9wS2V5c3x8W10sZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgcD1kW2ZdLGg9dC4kb3B0aW9ucy5wcm9wcztjW3BdPUh0KHAsaCxlLHQpfVN0KCEwKSx0LiRvcHRpb25zLnByb3BzRGF0YT1lfW49bnx8cjt2YXIgdj10LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7dC4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzPW4sZW4odCxuLHYpLHUmJih0LiRzbG90cz15ZShpLGEuY29udGV4dCksdC4kZm9yY2VVcGRhdGUoKSk7MH0oZS5jb21wb25lbnRJbnN0YW5jZT10LmNvbXBvbmVudEluc3RhbmNlLG4ucHJvcHNEYXRhLG4ubGlzdGVuZXJzLGUsbi5jaGlsZHJlbil9LGluc2VydDpmdW5jdGlvbih0KXt2YXIgZSxuPXQuY29udGV4dCxyPXQuY29tcG9uZW50SW5zdGFuY2U7ci5faXNNb3VudGVkfHwoci5faXNNb3VudGVkPSEwLGxuKHIsIm1vdW50ZWQiKSksdC5kYXRhLmtlZXBBbGl2ZSYmKG4uX2lzTW91bnRlZD8oKGU9cikuX2luYWN0aXZlPSExLGNuLnB1c2goZSkpOm9uKHIsITApKX0sZGVzdHJveTpmdW5jdGlvbih0KXt2YXIgZT10LmNvbXBvbmVudEluc3RhbmNlO2UuX2lzRGVzdHJveWVkfHwodC5kYXRhLmtlZXBBbGl2ZT9zbihlLCEwKTplLiRkZXN0cm95KCkpfX0semU9T2JqZWN0LmtleXMoQmUpO2Z1bmN0aW9uIHFlKHQsZSxuLHMsdSl7aWYoIWEodCkpe3ZhciBjPW4uJG9wdGlvbnMuX2Jhc2U7aWYobCh0KSYmKHQ9Yy5leHRlbmQodCkpLCJmdW5jdGlvbiI9PXR5cGVvZiB0KXt2YXIgZDtpZihhKHQuY2lkKSYmKHQ9ZnVuY3Rpb24odCxlKXtpZihvKHQuZXJyb3IpJiZpKHQuZXJyb3JDb21wKSlyZXR1cm4gdC5lcnJvckNvbXA7aWYoaSh0LnJlc29sdmVkKSlyZXR1cm4gdC5yZXNvbHZlZDt2YXIgbj1RZTtuJiZpKHQub3duZXJzKSYmLTE9PT10Lm93bmVycy5pbmRleE9mKG4pJiZ0Lm93bmVycy5wdXNoKG4pO2lmKG8odC5sb2FkaW5nKSYmaSh0LmxvYWRpbmdDb21wKSlyZXR1cm4gdC5sb2FkaW5nQ29tcDtpZihuJiYhaSh0Lm93bmVycykpe3ZhciByPXQub3duZXJzPVtuXSxzPSEwLHU9bnVsbCxjPW51bGw7bi4kb24oImhvb2s6ZGVzdHJveWVkIiwoZnVuY3Rpb24oKXtyZXR1cm4gYihyLG4pfSkpO3ZhciBkPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLG49ci5sZW5ndGg7ZTxuO2UrKylyW2VdLiRmb3JjZVVwZGF0ZSgpO3QmJihyLmxlbmd0aD0wLG51bGwhPT11JiYoY2xlYXJUaW1lb3V0KHUpLHU9bnVsbCksbnVsbCE9PWMmJihjbGVhclRpbWVvdXQoYyksYz1udWxsKSl9LGY9TigoZnVuY3Rpb24obil7dC5yZXNvbHZlZD1HZShuLGUpLHM/ci5sZW5ndGg9MDpkKCEwKX0pKSxoPU4oKGZ1bmN0aW9uKGUpe2kodC5lcnJvckNvbXApJiYodC5lcnJvcj0hMCxkKCEwKSl9KSksdj10KGYsaCk7cmV0dXJuIGwodikmJihwKHYpP2EodC5yZXNvbHZlZCkmJnYudGhlbihmLGgpOnAodi5jb21wb25lbnQpJiYodi5jb21wb25lbnQudGhlbihmLGgpLGkodi5lcnJvcikmJih0LmVycm9yQ29tcD1HZSh2LmVycm9yLGUpKSxpKHYubG9hZGluZykmJih0LmxvYWRpbmdDb21wPUdlKHYubG9hZGluZyxlKSwwPT09di5kZWxheT90LmxvYWRpbmc9ITA6dT1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3U9bnVsbCxhKHQucmVzb2x2ZWQpJiZhKHQuZXJyb3IpJiYodC5sb2FkaW5nPSEwLGQoITEpKX0pLHYuZGVsYXl8fDIwMCkpLGkodi50aW1lb3V0KSYmKGM9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtjPW51bGwsYSh0LnJlc29sdmVkKSYmaChudWxsKX0pLHYudGltZW91dCkpKSkscz0hMSx0LmxvYWRpbmc/dC5sb2FkaW5nQ29tcDp0LnJlc29sdmVkfX0oZD10LGMpLHZvaWQgMD09PXQpKXJldHVybiBmdW5jdGlvbih0LGUsbixyLGEpe3ZhciBpPWJ0KCk7cmV0dXJuIGkuYXN5bmNGYWN0b3J5PXQsaS5hc3luY01ldGE9e2RhdGE6ZSxjb250ZXh0Om4sY2hpbGRyZW46cix0YWc6YX0saX0oZCxlLG4scyx1KTtlPWV8fHt9LEFuKHQpLGkoZS5tb2RlbCkmJmZ1bmN0aW9uKHQsZSl7dmFyIG49dC5tb2RlbCYmdC5tb2RlbC5wcm9wfHwidmFsdWUiLHI9dC5tb2RlbCYmdC5tb2RlbC5ldmVudHx8ImlucHV0IjsoZS5hdHRyc3x8KGUuYXR0cnM9e30pKVtuXT1lLm1vZGVsLnZhbHVlO3ZhciBhPWUub258fChlLm9uPXt9KSxvPWFbcl0scz1lLm1vZGVsLmNhbGxiYWNrO2kobyk/KEFycmF5LmlzQXJyYXkobyk/LTE9PT1vLmluZGV4T2Yocyk6byE9PXMpJiYoYVtyXT1bc10uY29uY2F0KG8pKTphW3JdPXN9KHQub3B0aW9ucyxlKTt2YXIgZj1mdW5jdGlvbih0LGUsbil7dmFyIHI9ZS5vcHRpb25zLnByb3BzO2lmKCFhKHIpKXt2YXIgbz17fSxzPXQuYXR0cnMsbD10LnByb3BzO2lmKGkocyl8fGkobCkpZm9yKHZhciB1IGluIHIpe3ZhciBjPWsodSk7cGUobyxsLHUsYywhMCl8fHBlKG8scyx1LGMsITEpfXJldHVybiBvfX0oZSx0KTtpZihvKHQub3B0aW9ucy5mdW5jdGlvbmFsKSlyZXR1cm4gZnVuY3Rpb24odCxlLG4sYSxvKXt2YXIgcz10Lm9wdGlvbnMsbD17fSx1PXMucHJvcHM7aWYoaSh1KSlmb3IodmFyIGMgaW4gdSlsW2NdPUh0KGMsdSxlfHxyKTtlbHNlIGkobi5hdHRycykmJkhlKGwsbi5hdHRycyksaShuLnByb3BzKSYmSGUobCxuLnByb3BzKTt2YXIgZD1uZXcgTGUobixsLG8sYSx0KSxmPXMucmVuZGVyLmNhbGwobnVsbCxkLl9jLGQpO2lmKGYgaW5zdGFuY2VvZiBtdClyZXR1cm4gVWUoZixuLGQucGFyZW50LHMpO2lmKEFycmF5LmlzQXJyYXkoZikpe2Zvcih2YXIgcD1oZShmKXx8W10saD1uZXcgQXJyYXkocC5sZW5ndGgpLHY9MDt2PHAubGVuZ3RoO3YrKyloW3ZdPVVlKHBbdl0sbixkLnBhcmVudCxzKTtyZXR1cm4gaH19KHQsZixlLG4scyk7dmFyIGg9ZS5vbjtpZihlLm9uPWUubmF0aXZlT24sbyh0Lm9wdGlvbnMuYWJzdHJhY3QpKXt2YXIgdj1lLnNsb3Q7ZT17fSx2JiYoZS5zbG90PXYpfSFmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5ob29rfHwodC5ob29rPXt9KSxuPTA7bjx6ZS5sZW5ndGg7bisrKXt2YXIgcj16ZVtuXSxhPWVbcl0saT1CZVtyXTthPT09aXx8YSYmYS5fbWVyZ2VkfHwoZVtyXT1hP1llKGksYSk6aSl9fShlKTt2YXIgZz10Lm9wdGlvbnMubmFtZXx8dTtyZXR1cm4gbmV3IG10KCJ2dWUtY29tcG9uZW50LSIrdC5jaWQrKGc/Ii0iK2c6IiIpLGUsdm9pZCAwLHZvaWQgMCx2b2lkIDAsbix7Q3Rvcjp0LHByb3BzRGF0YTpmLGxpc3RlbmVyczpoLHRhZzp1LGNoaWxkcmVuOnN9LGQpfX19ZnVuY3Rpb24gWWUodCxlKXt2YXIgbj1mdW5jdGlvbihuLHIpe3QobixyKSxlKG4scil9O3JldHVybiBuLl9tZXJnZWQ9ITAsbn1mdW5jdGlvbiBXZSh0LGUsbixyLGEsdSl7cmV0dXJuKEFycmF5LmlzQXJyYXkobil8fHMobikpJiYoYT1yLHI9bixuPXZvaWQgMCksbyh1KSYmKGE9MiksZnVuY3Rpb24odCxlLG4scixhKXtpZihpKG4pJiZpKG4uX19vYl9fKSlyZXR1cm4gYnQoKTtpKG4pJiZpKG4uaXMpJiYoZT1uLmlzKTtpZighZSlyZXR1cm4gYnQoKTswO0FycmF5LmlzQXJyYXkocikmJiJmdW5jdGlvbiI9PXR5cGVvZiByWzBdJiYoKG49bnx8e30pLnNjb3BlZFNsb3RzPXtkZWZhdWx0OnJbMF19LHIubGVuZ3RoPTApOzI9PT1hP3I9aGUocik6MT09PWEmJihyPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKEFycmF5LmlzQXJyYXkodFtlXSkpcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sdCk7cmV0dXJuIHR9KHIpKTt2YXIgbyxzO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7dmFyIHU7cz10LiR2bm9kZSYmdC4kdm5vZGUubnN8fEguZ2V0VGFnTmFtZXNwYWNlKGUpLG89SC5pc1Jlc2VydmVkVGFnKGUpP25ldyBtdChILnBhcnNlUGxhdGZvcm1UYWdOYW1lKGUpLG4scix2b2lkIDAsdm9pZCAwLHQpOm4mJm4ucHJlfHwhaSh1PVV0KHQuJG9wdGlvbnMsImNvbXBvbmVudHMiLGUpKT9uZXcgbXQoZSxuLHIsdm9pZCAwLHZvaWQgMCx0KTpxZSh1LG4sdCxyLGUpfWVsc2Ugbz1xZShlLG4sdCxyKTtyZXR1cm4gQXJyYXkuaXNBcnJheShvKT9vOmkobyk/KGkocykmJlZlKG8scyksaShuKSYmZnVuY3Rpb24odCl7bCh0LnN0eWxlKSYmc2UodC5zdHlsZSk7bCh0LmNsYXNzKSYmc2UodC5jbGFzcyl9KG4pLG8pOmJ0KCl9KHQsZSxuLHIsYSl9ZnVuY3Rpb24gVmUodCxlLG4pe2lmKHQubnM9ZSwiZm9yZWlnbk9iamVjdCI9PT10LnRhZyYmKGU9dm9pZCAwLG49ITApLGkodC5jaGlsZHJlbikpZm9yKHZhciByPTAscz10LmNoaWxkcmVuLmxlbmd0aDtyPHM7cisrKXt2YXIgbD10LmNoaWxkcmVuW3JdO2kobC50YWcpJiYoYShsLm5zKXx8byhuKSYmInN2ZyIhPT1sLnRhZykmJlZlKGwsZSxuKX19dmFyIEtlLFFlPW51bGw7ZnVuY3Rpb24gR2UodCxlKXtyZXR1cm4odC5fX2VzTW9kdWxlfHxjdCYmIk1vZHVsZSI9PT10W1N5bWJvbC50b1N0cmluZ1RhZ10pJiYodD10LmRlZmF1bHQpLGwodCk/ZS5leHRlbmQodCk6dH1mdW5jdGlvbiBKZSh0KXtpZihBcnJheS5pc0FycmF5KHQpKWZvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXt2YXIgbj10W2VdO2lmKGkobikmJihpKG4uY29tcG9uZW50T3B0aW9ucyl8fHdlKG4pKSlyZXR1cm4gbn19ZnVuY3Rpb24gWGUodCxlKXtLZS4kb24odCxlKX1mdW5jdGlvbiBaZSh0LGUpe0tlLiRvZmYodCxlKX1mdW5jdGlvbiB0bih0LGUpe3ZhciBuPUtlO3JldHVybiBmdW5jdGlvbiByKCl7dmFyIGE9ZS5hcHBseShudWxsLGFyZ3VtZW50cyk7bnVsbCE9PWEmJm4uJG9mZih0LHIpfX1mdW5jdGlvbiBlbih0LGUsbil7S2U9dCxkZShlLG58fHt9LFhlLFplLHRuLHQpLEtlPXZvaWQgMH12YXIgbm49bnVsbDtmdW5jdGlvbiBybih0KXt2YXIgZT1ubjtyZXR1cm4gbm49dCxmdW5jdGlvbigpe25uPWV9fWZ1bmN0aW9uIGFuKHQpe2Zvcig7dCYmKHQ9dC4kcGFyZW50KTspaWYodC5faW5hY3RpdmUpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gb24odCxlKXtpZihlKXtpZih0Ll9kaXJlY3RJbmFjdGl2ZT0hMSxhbih0KSlyZXR1cm59ZWxzZSBpZih0Ll9kaXJlY3RJbmFjdGl2ZSlyZXR1cm47aWYodC5faW5hY3RpdmV8fG51bGw9PT10Ll9pbmFjdGl2ZSl7dC5faW5hY3RpdmU9ITE7Zm9yKHZhciBuPTA7bjx0LiRjaGlsZHJlbi5sZW5ndGg7bisrKW9uKHQuJGNoaWxkcmVuW25dKTtsbih0LCJhY3RpdmF0ZWQiKX19ZnVuY3Rpb24gc24odCxlKXtpZighKGUmJih0Ll9kaXJlY3RJbmFjdGl2ZT0hMCxhbih0KSl8fHQuX2luYWN0aXZlKSl7dC5faW5hY3RpdmU9ITA7Zm9yKHZhciBuPTA7bjx0LiRjaGlsZHJlbi5sZW5ndGg7bisrKXNuKHQuJGNoaWxkcmVuW25dKTtsbih0LCJkZWFjdGl2YXRlZCIpfX1mdW5jdGlvbiBsbih0LGUpe3Z0KCk7dmFyIG49dC4kb3B0aW9uc1tlXSxyPWUrIiBob29rIjtpZihuKWZvcih2YXIgYT0wLGk9bi5sZW5ndGg7YTxpO2ErKylWdChuW2FdLHQsbnVsbCx0LHIpO3QuX2hhc0hvb2tFdmVudCYmdC4kZW1pdCgiaG9vazoiK2UpLGd0KCl9dmFyIHVuPVtdLGNuPVtdLGRuPXt9LGZuPSExLHBuPSExLGhuPTA7dmFyIHZuPTAsZ249RGF0ZS5ub3c7aWYoSyYmIVgpe3ZhciBtbj13aW5kb3cucGVyZm9ybWFuY2U7bW4mJiJmdW5jdGlvbiI9PXR5cGVvZiBtbi5ub3cmJmduKCk+ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50IikudGltZVN0YW1wJiYoZ249ZnVuY3Rpb24oKXtyZXR1cm4gbW4ubm93KCl9KX1mdW5jdGlvbiB5bigpe3ZhciB0LGU7Zm9yKHZuPWduKCkscG49ITAsdW4uc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5pZC1lLmlkfSkpLGhuPTA7aG48dW4ubGVuZ3RoO2huKyspKHQ9dW5baG5dKS5iZWZvcmUmJnQuYmVmb3JlKCksZT10LmlkLGRuW2VdPW51bGwsdC5ydW4oKTt2YXIgbj1jbi5zbGljZSgpLHI9dW4uc2xpY2UoKTtobj11bi5sZW5ndGg9Y24ubGVuZ3RoPTAsZG49e30sZm49cG49ITEsZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXS5faW5hY3RpdmU9ITAsb24odFtlXSwhMCl9KG4pLGZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoO2Zvcig7ZS0tOyl7dmFyIG49dFtlXSxyPW4udm07ci5fd2F0Y2hlcj09PW4mJnIuX2lzTW91bnRlZCYmIXIuX2lzRGVzdHJveWVkJiZsbihyLCJ1cGRhdGVkIil9fShyKSxzdCYmSC5kZXZ0b29scyYmc3QuZW1pdCgiZmx1c2giKX12YXIgYm49MCx3bj1mdW5jdGlvbih0LGUsbixyLGEpe3RoaXMudm09dCxhJiYodC5fd2F0Y2hlcj10aGlzKSx0Ll93YXRjaGVycy5wdXNoKHRoaXMpLHI/KHRoaXMuZGVlcD0hIXIuZGVlcCx0aGlzLnVzZXI9ISFyLnVzZXIsdGhpcy5sYXp5PSEhci5sYXp5LHRoaXMuc3luYz0hIXIuc3luYyx0aGlzLmJlZm9yZT1yLmJlZm9yZSk6dGhpcy5kZWVwPXRoaXMudXNlcj10aGlzLmxhenk9dGhpcy5zeW5jPSExLHRoaXMuY2I9bix0aGlzLmlkPSsrYm4sdGhpcy5hY3RpdmU9ITAsdGhpcy5kaXJ0eT10aGlzLmxhenksdGhpcy5kZXBzPVtdLHRoaXMubmV3RGVwcz1bXSx0aGlzLmRlcElkcz1uZXcgdXQsdGhpcy5uZXdEZXBJZHM9bmV3IHV0LHRoaXMuZXhwcmVzc2lvbj0iIiwiZnVuY3Rpb24iPT10eXBlb2YgZT90aGlzLmdldHRlcj1lOih0aGlzLmdldHRlcj1mdW5jdGlvbih0KXtpZighWS50ZXN0KHQpKXt2YXIgZT10LnNwbGl0KCIuIik7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXtpZighdClyZXR1cm47dD10W2Vbbl1dfXJldHVybiB0fX19KGUpLHRoaXMuZ2V0dGVyfHwodGhpcy5nZXR0ZXI9UikpLHRoaXMudmFsdWU9dGhpcy5sYXp5P3ZvaWQgMDp0aGlzLmdldCgpfTt3bi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7dmFyIHQ7dnQodGhpcyk7dmFyIGU9dGhpcy52bTt0cnl7dD10aGlzLmdldHRlci5jYWxsKGUsZSl9Y2F0Y2godCl7aWYoIXRoaXMudXNlcil0aHJvdyB0O1d0KHQsZSwnZ2V0dGVyIGZvciB3YXRjaGVyICInK3RoaXMuZXhwcmVzc2lvbisnIicpfWZpbmFsbHl7dGhpcy5kZWVwJiZzZSh0KSxndCgpLHRoaXMuY2xlYW51cERlcHMoKX1yZXR1cm4gdH0sd24ucHJvdG90eXBlLmFkZERlcD1mdW5jdGlvbih0KXt2YXIgZT10LmlkO3RoaXMubmV3RGVwSWRzLmhhcyhlKXx8KHRoaXMubmV3RGVwSWRzLmFkZChlKSx0aGlzLm5ld0RlcHMucHVzaCh0KSx0aGlzLmRlcElkcy5oYXMoZSl8fHQuYWRkU3ViKHRoaXMpKX0sd24ucHJvdG90eXBlLmNsZWFudXBEZXBzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuZGVwcy5sZW5ndGg7dC0tOyl7dmFyIGU9dGhpcy5kZXBzW3RdO3RoaXMubmV3RGVwSWRzLmhhcyhlLmlkKXx8ZS5yZW1vdmVTdWIodGhpcyl9dmFyIG49dGhpcy5kZXBJZHM7dGhpcy5kZXBJZHM9dGhpcy5uZXdEZXBJZHMsdGhpcy5uZXdEZXBJZHM9bix0aGlzLm5ld0RlcElkcy5jbGVhcigpLG49dGhpcy5kZXBzLHRoaXMuZGVwcz10aGlzLm5ld0RlcHMsdGhpcy5uZXdEZXBzPW4sdGhpcy5uZXdEZXBzLmxlbmd0aD0wfSx3bi5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5sYXp5P3RoaXMuZGlydHk9ITA6dGhpcy5zeW5jP3RoaXMucnVuKCk6ZnVuY3Rpb24odCl7dmFyIGU9dC5pZDtpZihudWxsPT1kbltlXSl7aWYoZG5bZV09ITAscG4pe2Zvcih2YXIgbj11bi5sZW5ndGgtMTtuPmhuJiZ1bltuXS5pZD50LmlkOyluLS07dW4uc3BsaWNlKG4rMSwwLHQpfWVsc2UgdW4ucHVzaCh0KTtmbnx8KGZuPSEwLGllKHluKSl9fSh0aGlzKX0sd24ucHJvdG90eXBlLnJ1bj1mdW5jdGlvbigpe2lmKHRoaXMuYWN0aXZlKXt2YXIgdD10aGlzLmdldCgpO2lmKHQhPT10aGlzLnZhbHVlfHxsKHQpfHx0aGlzLmRlZXApe3ZhciBlPXRoaXMudmFsdWU7aWYodGhpcy52YWx1ZT10LHRoaXMudXNlcil7dmFyIG49J2NhbGxiYWNrIGZvciB3YXRjaGVyICInK3RoaXMuZXhwcmVzc2lvbisnIic7VnQodGhpcy5jYix0aGlzLnZtLFt0LGVdLHRoaXMudm0sbil9ZWxzZSB0aGlzLmNiLmNhbGwodGhpcy52bSx0LGUpfX19LHduLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbigpe3RoaXMudmFsdWU9dGhpcy5nZXQoKSx0aGlzLmRpcnR5PSExfSx3bi5wcm90b3R5cGUuZGVwZW5kPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuZGVwcy5sZW5ndGg7dC0tOyl0aGlzLmRlcHNbdF0uZGVwZW5kKCl9LHduLnByb3RvdHlwZS50ZWFyZG93bj1mdW5jdGlvbigpe2lmKHRoaXMuYWN0aXZlKXt0aGlzLnZtLl9pc0JlaW5nRGVzdHJveWVkfHxiKHRoaXMudm0uX3dhdGNoZXJzLHRoaXMpO2Zvcih2YXIgdD10aGlzLmRlcHMubGVuZ3RoO3QtLTspdGhpcy5kZXBzW3RdLnJlbW92ZVN1Yih0aGlzKTt0aGlzLmFjdGl2ZT0hMX19O3ZhciBfbj17ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OlIsc2V0OlJ9O2Z1bmN0aW9uIENuKHQsZSxuKXtfbi5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tlXVtuXX0sX24uc2V0PWZ1bmN0aW9uKHQpe3RoaXNbZV1bbl09dH0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbixfbil9ZnVuY3Rpb24geG4odCl7dC5fd2F0Y2hlcnM9W107dmFyIGU9dC4kb3B0aW9ucztlLnByb3BzJiZmdW5jdGlvbih0LGUpe3ZhciBuPXQuJG9wdGlvbnMucHJvcHNEYXRhfHx7fSxyPXQuX3Byb3BzPXt9LGE9dC4kb3B0aW9ucy5fcHJvcEtleXM9W107dC4kcGFyZW50JiZTdCghMSk7dmFyIGk9ZnVuY3Rpb24oaSl7YS5wdXNoKGkpO3ZhciBvPUh0KGksZSxuLHQpOyR0KHIsaSxvKSxpIGluIHR8fENuKHQsIl9wcm9wcyIsaSl9O2Zvcih2YXIgbyBpbiBlKWkobyk7U3QoITApfSh0LGUucHJvcHMpLGUubWV0aG9kcyYmZnVuY3Rpb24odCxlKXt0LiRvcHRpb25zLnByb3BzO2Zvcih2YXIgbiBpbiBlKXRbbl09ImZ1bmN0aW9uIiE9dHlwZW9mIGVbbl0/UjpPKGVbbl0sdCl9KHQsZS5tZXRob2RzKSxlLmRhdGE/ZnVuY3Rpb24odCl7dmFyIGU9dC4kb3B0aW9ucy5kYXRhO2MoZT10Ll9kYXRhPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2Z1bmN0aW9uKHQsZSl7dnQoKTt0cnl7cmV0dXJuIHQuY2FsbChlLGUpfWNhdGNoKHQpe3JldHVybiBXdCh0LGUsImRhdGEoKSIpLHt9fWZpbmFsbHl7Z3QoKX19KGUsdCk6ZXx8e30pfHwoZT17fSk7dmFyIG49T2JqZWN0LmtleXMoZSkscj10LiRvcHRpb25zLnByb3BzLGE9KHQuJG9wdGlvbnMubWV0aG9kcyxuLmxlbmd0aCk7Zm9yKDthLS07KXt2YXIgaT1uW2FdOzAsciYmXyhyLGkpfHx6KGkpfHxDbih0LCJfZGF0YSIsaSl9T3QoZSwhMCl9KHQpOk90KHQuX2RhdGE9e30sITApLGUuY29tcHV0ZWQmJmZ1bmN0aW9uKHQsZSl7dmFyIG49dC5fY29tcHV0ZWRXYXRjaGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHI9b3QoKTtmb3IodmFyIGEgaW4gZSl7dmFyIGk9ZVthXSxvPSJmdW5jdGlvbiI9PXR5cGVvZiBpP2k6aS5nZXQ7MCxyfHwoblthXT1uZXcgd24odCxvfHxSLFIsVG4pKSxhIGluIHR8fFBuKHQsYSxpKX19KHQsZS5jb21wdXRlZCksZS53YXRjaCYmZS53YXRjaCE9PXJ0JiZmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKXt2YXIgcj1lW25dO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKHZhciBhPTA7YTxyLmxlbmd0aDthKyspT24odCxuLHJbYV0pO2Vsc2UgT24odCxuLHIpfX0odCxlLndhdGNoKX12YXIgVG49e2xhenk6ITB9O2Z1bmN0aW9uIFBuKHQsZSxuKXt2YXIgcj0hb3QoKTsiZnVuY3Rpb24iPT10eXBlb2Ygbj8oX24uZ2V0PXI/U24oZSk6a24obiksX24uc2V0PVIpOihfbi5nZXQ9bi5nZXQ/ciYmITEhPT1uLmNhY2hlP1NuKGUpOmtuKG4uZ2V0KTpSLF9uLnNldD1uLnNldHx8UiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSxfbil9ZnVuY3Rpb24gU24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fY29tcHV0ZWRXYXRjaGVycyYmdGhpcy5fY29tcHV0ZWRXYXRjaGVyc1t0XTtpZihlKXJldHVybiBlLmRpcnR5JiZlLmV2YWx1YXRlKCkscHQudGFyZ2V0JiZlLmRlcGVuZCgpLGUudmFsdWV9fWZ1bmN0aW9uIGtuKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmNhbGwodGhpcyx0aGlzKX19ZnVuY3Rpb24gT24odCxlLG4scil7cmV0dXJuIGMobikmJihyPW4sbj1uLmhhbmRsZXIpLCJzdHJpbmciPT10eXBlb2YgbiYmKG49dFtuXSksdC4kd2F0Y2goZSxuLHIpfXZhciAkbj0wO2Z1bmN0aW9uIEFuKHQpe3ZhciBlPXQub3B0aW9ucztpZih0LnN1cGVyKXt2YXIgbj1Bbih0LnN1cGVyKTtpZihuIT09dC5zdXBlck9wdGlvbnMpe3Quc3VwZXJPcHRpb25zPW47dmFyIHI9ZnVuY3Rpb24odCl7dmFyIGUsbj10Lm9wdGlvbnMscj10LnNlYWxlZE9wdGlvbnM7Zm9yKHZhciBhIGluIG4pblthXSE9PXJbYV0mJihlfHwoZT17fSksZVthXT1uW2FdKTtyZXR1cm4gZX0odCk7ciYmQSh0LmV4dGVuZE9wdGlvbnMsciksKGU9dC5vcHRpb25zPUx0KG4sdC5leHRlbmRPcHRpb25zKSkubmFtZSYmKGUuY29tcG9uZW50c1tlLm5hbWVdPXQpfX1yZXR1cm4gZX1mdW5jdGlvbiBEbih0KXt0aGlzLl9pbml0KHQpfWZ1bmN0aW9uIFJuKHQpe3QuY2lkPTA7dmFyIGU9MTt0LmV4dGVuZD1mdW5jdGlvbih0KXt0PXR8fHt9O3ZhciBuPXRoaXMscj1uLmNpZCxhPXQuX0N0b3J8fCh0Ll9DdG9yPXt9KTtpZihhW3JdKXJldHVybiBhW3JdO3ZhciBpPXQubmFtZXx8bi5vcHRpb25zLm5hbWU7dmFyIG89ZnVuY3Rpb24odCl7dGhpcy5faW5pdCh0KX07cmV0dXJuKG8ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobi5wcm90b3R5cGUpKS5jb25zdHJ1Y3Rvcj1vLG8uY2lkPWUrKyxvLm9wdGlvbnM9THQobi5vcHRpb25zLHQpLG8uc3VwZXI9bixvLm9wdGlvbnMucHJvcHMmJmZ1bmN0aW9uKHQpe3ZhciBlPXQub3B0aW9ucy5wcm9wcztmb3IodmFyIG4gaW4gZSlDbih0LnByb3RvdHlwZSwiX3Byb3BzIixuKX0obyksby5vcHRpb25zLmNvbXB1dGVkJiZmdW5jdGlvbih0KXt2YXIgZT10Lm9wdGlvbnMuY29tcHV0ZWQ7Zm9yKHZhciBuIGluIGUpUG4odC5wcm90b3R5cGUsbixlW25dKX0obyksby5leHRlbmQ9bi5leHRlbmQsby5taXhpbj1uLm1peGluLG8udXNlPW4udXNlLEwuZm9yRWFjaCgoZnVuY3Rpb24odCl7b1t0XT1uW3RdfSkpLGkmJihvLm9wdGlvbnMuY29tcG9uZW50c1tpXT1vKSxvLnN1cGVyT3B0aW9ucz1uLm9wdGlvbnMsby5leHRlbmRPcHRpb25zPXQsby5zZWFsZWRPcHRpb25zPUEoe30sby5vcHRpb25zKSxhW3JdPW8sb319ZnVuY3Rpb24gRW4odCl7cmV0dXJuIHQmJih0LkN0b3Iub3B0aW9ucy5uYW1lfHx0LnRhZyl9ZnVuY3Rpb24gRm4odCxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90LmluZGV4T2YoZSk+LTE6InN0cmluZyI9PXR5cGVvZiB0P3Quc3BsaXQoIiwiKS5pbmRleE9mKGUpPi0xOiEhZCh0KSYmdC50ZXN0KGUpfWZ1bmN0aW9uIE1uKHQsZSl7dmFyIG49dC5jYWNoZSxyPXQua2V5cyxhPXQuX3Zub2RlO2Zvcih2YXIgaSBpbiBuKXt2YXIgbz1uW2ldO2lmKG8pe3ZhciBzPW8ubmFtZTtzJiYhZShzKSYmSW4obixpLHIsYSl9fX1mdW5jdGlvbiBJbih0LGUsbixyKXt2YXIgYT10W2VdOyFhfHxyJiZhLnRhZz09PXIudGFnfHxhLmNvbXBvbmVudEluc3RhbmNlLiRkZXN0cm95KCksdFtlXT1udWxsLGIobixlKX0hZnVuY3Rpb24odCl7dC5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztlLl91aWQ9JG4rKyxlLl9pc1Z1ZT0hMCx0JiZ0Ll9pc0NvbXBvbmVudD9mdW5jdGlvbih0LGUpe3ZhciBuPXQuJG9wdGlvbnM9T2JqZWN0LmNyZWF0ZSh0LmNvbnN0cnVjdG9yLm9wdGlvbnMpLHI9ZS5fcGFyZW50Vm5vZGU7bi5wYXJlbnQ9ZS5wYXJlbnQsbi5fcGFyZW50Vm5vZGU9cjt2YXIgYT1yLmNvbXBvbmVudE9wdGlvbnM7bi5wcm9wc0RhdGE9YS5wcm9wc0RhdGEsbi5fcGFyZW50TGlzdGVuZXJzPWEubGlzdGVuZXJzLG4uX3JlbmRlckNoaWxkcmVuPWEuY2hpbGRyZW4sbi5fY29tcG9uZW50VGFnPWEudGFnLGUucmVuZGVyJiYobi5yZW5kZXI9ZS5yZW5kZXIsbi5zdGF0aWNSZW5kZXJGbnM9ZS5zdGF0aWNSZW5kZXJGbnMpfShlLHQpOmUuJG9wdGlvbnM9THQoQW4oZS5jb25zdHJ1Y3RvciksdHx8e30sZSksZS5fcmVuZGVyUHJveHk9ZSxlLl9zZWxmPWUsZnVuY3Rpb24odCl7dmFyIGU9dC4kb3B0aW9ucyxuPWUucGFyZW50O2lmKG4mJiFlLmFic3RyYWN0KXtmb3IoO24uJG9wdGlvbnMuYWJzdHJhY3QmJm4uJHBhcmVudDspbj1uLiRwYXJlbnQ7bi4kY2hpbGRyZW4ucHVzaCh0KX10LiRwYXJlbnQ9bix0LiRyb290PW4/bi4kcm9vdDp0LHQuJGNoaWxkcmVuPVtdLHQuJHJlZnM9e30sdC5fd2F0Y2hlcj1udWxsLHQuX2luYWN0aXZlPW51bGwsdC5fZGlyZWN0SW5hY3RpdmU9ITEsdC5faXNNb3VudGVkPSExLHQuX2lzRGVzdHJveWVkPSExLHQuX2lzQmVpbmdEZXN0cm95ZWQ9ITF9KGUpLGZ1bmN0aW9uKHQpe3QuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHQuX2hhc0hvb2tFdmVudD0hMTt2YXIgZT10LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7ZSYmZW4odCxlKX0oZSksZnVuY3Rpb24odCl7dC5fdm5vZGU9bnVsbCx0Ll9zdGF0aWNUcmVlcz1udWxsO3ZhciBlPXQuJG9wdGlvbnMsbj10LiR2bm9kZT1lLl9wYXJlbnRWbm9kZSxhPW4mJm4uY29udGV4dDt0LiRzbG90cz15ZShlLl9yZW5kZXJDaGlsZHJlbixhKSx0LiRzY29wZWRTbG90cz1yLHQuX2M9ZnVuY3Rpb24oZSxuLHIsYSl7cmV0dXJuIFdlKHQsZSxuLHIsYSwhMSl9LHQuJGNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSxuLHIsYSl7cmV0dXJuIFdlKHQsZSxuLHIsYSwhMCl9O3ZhciBpPW4mJm4uZGF0YTskdCh0LCIkYXR0cnMiLGkmJmkuYXR0cnN8fHIsbnVsbCwhMCksJHQodCwiJGxpc3RlbmVycyIsZS5fcGFyZW50TGlzdGVuZXJzfHxyLG51bGwsITApfShlKSxsbihlLCJiZWZvcmVDcmVhdGUiKSxmdW5jdGlvbih0KXt2YXIgZT1tZSh0LiRvcHRpb25zLmluamVjdCx0KTtlJiYoU3QoITEpLE9iamVjdC5rZXlzKGUpLmZvckVhY2goKGZ1bmN0aW9uKG4peyR0KHQsbixlW25dKX0pKSxTdCghMCkpfShlKSx4bihlKSxmdW5jdGlvbih0KXt2YXIgZT10LiRvcHRpb25zLnByb3ZpZGU7ZSYmKHQuX3Byb3ZpZGVkPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuY2FsbCh0KTplKX0oZSksbG4oZSwiY3JlYXRlZCIpLGUuJG9wdGlvbnMuZWwmJmUuJG1vdW50KGUuJG9wdGlvbnMuZWwpfX0oRG4pLGZ1bmN0aW9uKHQpe3ZhciBlPXtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGF0YX19LG49e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcm9wc319O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwiJGRhdGEiLGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwiJHByb3BzIixuKSx0LnByb3RvdHlwZS4kc2V0PUF0LHQucHJvdG90eXBlLiRkZWxldGU9RHQsdC5wcm90b3R5cGUuJHdhdGNoPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj10aGlzO2lmKGMoZSkpcmV0dXJuIE9uKHIsdCxlLG4pOyhuPW58fHt9KS51c2VyPSEwO3ZhciBhPW5ldyB3bihyLHQsZSxuKTtpZihuLmltbWVkaWF0ZSl7dmFyIGk9J2NhbGxiYWNrIGZvciBpbW1lZGlhdGUgd2F0Y2hlciAiJythLmV4cHJlc3Npb24rJyInO3Z0KCksVnQoZSxyLFthLnZhbHVlXSxyLGkpLGd0KCl9cmV0dXJuIGZ1bmN0aW9uKCl7YS50ZWFyZG93bigpfX19KERuKSxmdW5jdGlvbih0KXt2YXIgZT0vXmhvb2s6Lzt0LnByb3RvdHlwZS4kb249ZnVuY3Rpb24odCxuKXt2YXIgcj10aGlzO2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKHZhciBhPTAsaT10Lmxlbmd0aDthPGk7YSsrKXIuJG9uKHRbYV0sbik7ZWxzZShyLl9ldmVudHNbdF18fChyLl9ldmVudHNbdF09W10pKS5wdXNoKG4pLGUudGVzdCh0KSYmKHIuX2hhc0hvb2tFdmVudD0hMCk7cmV0dXJuIHJ9LHQucHJvdG90eXBlLiRvbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztmdW5jdGlvbiByKCl7bi4kb2ZmKHQsciksZS5hcHBseShuLGFyZ3VtZW50cyl9cmV0dXJuIHIuZm49ZSxuLiRvbih0LHIpLG59LHQucHJvdG90eXBlLiRvZmY9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBuLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSxuO2lmKEFycmF5LmlzQXJyYXkodCkpe2Zvcih2YXIgcj0wLGE9dC5sZW5ndGg7cjxhO3IrKyluLiRvZmYodFtyXSxlKTtyZXR1cm4gbn12YXIgaSxvPW4uX2V2ZW50c1t0XTtpZighbylyZXR1cm4gbjtpZighZSlyZXR1cm4gbi5fZXZlbnRzW3RdPW51bGwsbjtmb3IodmFyIHM9by5sZW5ndGg7cy0tOylpZigoaT1vW3NdKT09PWV8fGkuZm49PT1lKXtvLnNwbGljZShzLDEpO2JyZWFrfXJldHVybiBufSx0LnByb3RvdHlwZS4kZW1pdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZS5fZXZlbnRzW3RdO2lmKG4pe249bi5sZW5ndGg+MT8kKG4pOm47Zm9yKHZhciByPSQoYXJndW1lbnRzLDEpLGE9J2V2ZW50IGhhbmRsZXIgZm9yICInK3QrJyInLGk9MCxvPW4ubGVuZ3RoO2k8bztpKyspVnQobltpXSxlLHIsZSxhKX1yZXR1cm4gZX19KERuKSxmdW5jdGlvbih0KXt0LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcyxyPW4uJGVsLGE9bi5fdm5vZGUsaT1ybihuKTtuLl92bm9kZT10LG4uJGVsPWE/bi5fX3BhdGNoX18oYSx0KTpuLl9fcGF0Y2hfXyhuLiRlbCx0LGUsITEpLGkoKSxyJiYoci5fX3Z1ZV9fPW51bGwpLG4uJGVsJiYobi4kZWwuX192dWVfXz1uKSxuLiR2bm9kZSYmbi4kcGFyZW50JiZuLiR2bm9kZT09PW4uJHBhcmVudC5fdm5vZGUmJihuLiRwYXJlbnQuJGVsPW4uJGVsKX0sdC5wcm90b3R5cGUuJGZvcmNlVXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5fd2F0Y2hlciYmdGhpcy5fd2F0Y2hlci51cGRhdGUoKX0sdC5wcm90b3R5cGUuJGRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKCF0Ll9pc0JlaW5nRGVzdHJveWVkKXtsbih0LCJiZWZvcmVEZXN0cm95IiksdC5faXNCZWluZ0Rlc3Ryb3llZD0hMDt2YXIgZT10LiRwYXJlbnQ7IWV8fGUuX2lzQmVpbmdEZXN0cm95ZWR8fHQuJG9wdGlvbnMuYWJzdHJhY3R8fGIoZS4kY2hpbGRyZW4sdCksdC5fd2F0Y2hlciYmdC5fd2F0Y2hlci50ZWFyZG93bigpO2Zvcih2YXIgbj10Ll93YXRjaGVycy5sZW5ndGg7bi0tOyl0Ll93YXRjaGVyc1tuXS50ZWFyZG93bigpO3QuX2RhdGEuX19vYl9fJiZ0Ll9kYXRhLl9fb2JfXy52bUNvdW50LS0sdC5faXNEZXN0cm95ZWQ9ITAsdC5fX3BhdGNoX18odC5fdm5vZGUsbnVsbCksbG4odCwiZGVzdHJveWVkIiksdC4kb2ZmKCksdC4kZWwmJih0LiRlbC5fX3Z1ZV9fPW51bGwpLHQuJHZub2RlJiYodC4kdm5vZGUucGFyZW50PW51bGwpfX19KERuKSxmdW5jdGlvbih0KXtqZSh0LnByb3RvdHlwZSksdC5wcm90b3R5cGUuJG5leHRUaWNrPWZ1bmN0aW9uKHQpe3JldHVybiBpZSh0LHRoaXMpfSx0LnByb3RvdHlwZS5fcmVuZGVyPWZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLG49ZS4kb3B0aW9ucyxyPW4ucmVuZGVyLGE9bi5fcGFyZW50Vm5vZGU7YSYmKGUuJHNjb3BlZFNsb3RzPV9lKGEuZGF0YS5zY29wZWRTbG90cyxlLiRzbG90cyxlLiRzY29wZWRTbG90cykpLGUuJHZub2RlPWE7dHJ5e1FlPWUsdD1yLmNhbGwoZS5fcmVuZGVyUHJveHksZS4kY3JlYXRlRWxlbWVudCl9Y2F0Y2gobil7V3QobixlLCJyZW5kZXIiKSx0PWUuX3Zub2RlfWZpbmFsbHl7UWU9bnVsbH1yZXR1cm4gQXJyYXkuaXNBcnJheSh0KSYmMT09PXQubGVuZ3RoJiYodD10WzBdKSx0IGluc3RhbmNlb2YgbXR8fCh0PWJ0KCkpLHQucGFyZW50PWEsdH19KERuKTt2YXIgTm49W1N0cmluZyxSZWdFeHAsQXJyYXldLGpuPXtuYW1lOiJrZWVwLWFsaXZlIixhYnN0cmFjdDohMCxwcm9wczp7aW5jbHVkZTpObixleGNsdWRlOk5uLG1heDpbU3RyaW5nLE51bWJlcl19LG1ldGhvZHM6e2NhY2hlVk5vZGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5jYWNoZSxuPXQua2V5cyxyPXQudm5vZGVUb0NhY2hlLGE9dC5rZXlUb0NhY2hlO2lmKHIpe3ZhciBpPXIudGFnLG89ci5jb21wb25lbnRJbnN0YW5jZSxzPXIuY29tcG9uZW50T3B0aW9ucztlW2FdPXtuYW1lOkVuKHMpLHRhZzppLGNvbXBvbmVudEluc3RhbmNlOm99LG4ucHVzaChhKSx0aGlzLm1heCYmbi5sZW5ndGg+cGFyc2VJbnQodGhpcy5tYXgpJiZJbihlLG5bMF0sbix0aGlzLl92bm9kZSksdGhpcy52bm9kZVRvQ2FjaGU9bnVsbH19fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5jYWNoZT1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMua2V5cz1bXX0sZGVzdHJveWVkOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuY2FjaGUpSW4odGhpcy5jYWNoZSx0LHRoaXMua2V5cyl9LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuY2FjaGVWTm9kZSgpLHRoaXMuJHdhdGNoKCJpbmNsdWRlIiwoZnVuY3Rpb24oZSl7TW4odCwoZnVuY3Rpb24odCl7cmV0dXJuIEZuKGUsdCl9KSl9KSksdGhpcy4kd2F0Y2goImV4Y2x1ZGUiLChmdW5jdGlvbihlKXtNbih0LChmdW5jdGlvbih0KXtyZXR1cm4hRm4oZSx0KX0pKX0pKX0sdXBkYXRlZDpmdW5jdGlvbigpe3RoaXMuY2FjaGVWTm9kZSgpfSxyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRzbG90cy5kZWZhdWx0LGU9SmUodCksbj1lJiZlLmNvbXBvbmVudE9wdGlvbnM7aWYobil7dmFyIHI9RW4obiksYT10aGlzLmluY2x1ZGUsaT10aGlzLmV4Y2x1ZGU7aWYoYSYmKCFyfHwhRm4oYSxyKSl8fGkmJnImJkZuKGkscikpcmV0dXJuIGU7dmFyIG89dGhpcy5jYWNoZSxzPXRoaXMua2V5cyxsPW51bGw9PWUua2V5P24uQ3Rvci5jaWQrKG4udGFnPyI6OiIrbi50YWc6IiIpOmUua2V5O29bbF0/KGUuY29tcG9uZW50SW5zdGFuY2U9b1tsXS5jb21wb25lbnRJbnN0YW5jZSxiKHMsbCkscy5wdXNoKGwpKToodGhpcy52bm9kZVRvQ2FjaGU9ZSx0aGlzLmtleVRvQ2FjaGU9bCksZS5kYXRhLmtlZXBBbGl2ZT0hMH1yZXR1cm4gZXx8dCYmdFswXX19LExuPXtLZWVwQWxpdmU6am59OyFmdW5jdGlvbih0KXt2YXIgZT17Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEh9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiY29uZmlnIixlKSx0LnV0aWw9e3dhcm46ZHQsZXh0ZW5kOkEsbWVyZ2VPcHRpb25zOkx0LGRlZmluZVJlYWN0aXZlOiR0fSx0LnNldD1BdCx0LmRlbGV0ZT1EdCx0Lm5leHRUaWNrPWllLHQub2JzZXJ2YWJsZT1mdW5jdGlvbih0KXtyZXR1cm4gT3QodCksdH0sdC5vcHRpb25zPU9iamVjdC5jcmVhdGUobnVsbCksTC5mb3JFYWNoKChmdW5jdGlvbihlKXt0Lm9wdGlvbnNbZSsicyJdPU9iamVjdC5jcmVhdGUobnVsbCl9KSksdC5vcHRpb25zLl9iYXNlPXQsQSh0Lm9wdGlvbnMuY29tcG9uZW50cyxMbiksZnVuY3Rpb24odCl7dC51c2U9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faW5zdGFsbGVkUGx1Z2luc3x8KHRoaXMuX2luc3RhbGxlZFBsdWdpbnM9W10pO2lmKGUuaW5kZXhPZih0KT4tMSlyZXR1cm4gdGhpczt2YXIgbj0kKGFyZ3VtZW50cywxKTtyZXR1cm4gbi51bnNoaWZ0KHRoaXMpLCJmdW5jdGlvbiI9PXR5cGVvZiB0Lmluc3RhbGw/dC5pbnN0YWxsLmFwcGx5KHQsbik6ImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQuYXBwbHkobnVsbCxuKSxlLnB1c2godCksdGhpc319KHQpLGZ1bmN0aW9uKHQpe3QubWl4aW49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucz1MdCh0aGlzLm9wdGlvbnMsdCksdGhpc319KHQpLFJuKHQpLGZ1bmN0aW9uKHQpe0wuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dFtlXT1mdW5jdGlvbih0LG4pe3JldHVybiBuPygiY29tcG9uZW50Ij09PWUmJmMobikmJihuLm5hbWU9bi5uYW1lfHx0LG49dGhpcy5vcHRpb25zLl9iYXNlLmV4dGVuZChuKSksImRpcmVjdGl2ZSI9PT1lJiYiZnVuY3Rpb24iPT10eXBlb2YgbiYmKG49e2JpbmQ6bix1cGRhdGU6bn0pLHRoaXMub3B0aW9uc1tlKyJzIl1bdF09bixuKTp0aGlzLm9wdGlvbnNbZSsicyJdW3RdfX0pKX0odCl9KERuKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRG4ucHJvdG90eXBlLCIkaXNTZXJ2ZXIiLHtnZXQ6b3R9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRG4ucHJvdG90eXBlLCIkc3NyQ29udGV4dCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiR2bm9kZSYmdGhpcy4kdm5vZGUuc3NyQ29udGV4dH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRG4sIkZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0Iix7dmFsdWU6TGV9KSxEbi52ZXJzaW9uPSIyLjYuMTQiO3ZhciBVbj1nKCJzdHlsZSxjbGFzcyIpLEhuPWcoImlucHV0LHRleHRhcmVhLG9wdGlvbixzZWxlY3QscHJvZ3Jlc3MiKSxCbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuInZhbHVlIj09PW4mJkhuKHQpJiYiYnV0dG9uIiE9PWV8fCJzZWxlY3RlZCI9PT1uJiYib3B0aW9uIj09PXR8fCJjaGVja2VkIj09PW4mJiJpbnB1dCI9PT10fHwibXV0ZWQiPT09biYmInZpZGVvIj09PXR9LHpuPWcoImNvbnRlbnRlZGl0YWJsZSxkcmFnZ2FibGUsc3BlbGxjaGVjayIpLHFuPWcoImV2ZW50cyxjYXJldCx0eXBpbmcscGxhaW50ZXh0LW9ubHkiKSxZbj1nKCJhbGxvd2Z1bGxzY3JlZW4sYXN5bmMsYXV0b2ZvY3VzLGF1dG9wbGF5LGNoZWNrZWQsY29tcGFjdCxjb250cm9scyxkZWNsYXJlLGRlZmF1bHQsZGVmYXVsdGNoZWNrZWQsZGVmYXVsdG11dGVkLGRlZmF1bHRzZWxlY3RlZCxkZWZlcixkaXNhYmxlZCxlbmFibGVkLGZvcm1ub3ZhbGlkYXRlLGhpZGRlbixpbmRldGVybWluYXRlLGluZXJ0LGlzbWFwLGl0ZW1zY29wZSxsb29wLG11bHRpcGxlLG11dGVkLG5vaHJlZixub3Jlc2l6ZSxub3NoYWRlLG5vdmFsaWRhdGUsbm93cmFwLG9wZW4scGF1c2VvbmV4aXQscmVhZG9ubHkscmVxdWlyZWQscmV2ZXJzZWQsc2NvcGVkLHNlYW1sZXNzLHNlbGVjdGVkLHNvcnRhYmxlLHRydWVzcGVlZCx0eXBlbXVzdG1hdGNoLHZpc2libGUiKSxXbj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsVm49ZnVuY3Rpb24odCl7cmV0dXJuIjoiPT09dC5jaGFyQXQoNSkmJiJ4bGluayI9PT10LnNsaWNlKDAsNSl9LEtuPWZ1bmN0aW9uKHQpe3JldHVybiBWbih0KT90LnNsaWNlKDYsdC5sZW5ndGgpOiIifSxRbj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dHx8ITE9PT10fTtmdW5jdGlvbiBHbih0KXtmb3IodmFyIGU9dC5kYXRhLG49dCxyPXQ7aShyLmNvbXBvbmVudEluc3RhbmNlKTspKHI9ci5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUpJiZyLmRhdGEmJihlPUpuKHIuZGF0YSxlKSk7Zm9yKDtpKG49bi5wYXJlbnQpOyluJiZuLmRhdGEmJihlPUpuKGUsbi5kYXRhKSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7aWYoaSh0KXx8aShlKSlyZXR1cm4gWG4odCxabihlKSk7cmV0dXJuIiJ9KGUuc3RhdGljQ2xhc3MsZS5jbGFzcyl9ZnVuY3Rpb24gSm4odCxlKXtyZXR1cm57c3RhdGljQ2xhc3M6WG4odC5zdGF0aWNDbGFzcyxlLnN0YXRpY0NsYXNzKSxjbGFzczppKHQuY2xhc3MpP1t0LmNsYXNzLGUuY2xhc3NdOmUuY2xhc3N9fWZ1bmN0aW9uIFhuKHQsZSl7cmV0dXJuIHQ/ZT90KyIgIitlOnQ6ZXx8IiJ9ZnVuY3Rpb24gWm4odCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/ZnVuY3Rpb24odCl7Zm9yKHZhciBlLG49IiIscj0wLGE9dC5sZW5ndGg7cjxhO3IrKylpKGU9Wm4odFtyXSkpJiYiIiE9PWUmJihuJiYobis9IiAiKSxuKz1lKTtyZXR1cm4gbn0odCk6bCh0KT9mdW5jdGlvbih0KXt2YXIgZT0iIjtmb3IodmFyIG4gaW4gdCl0W25dJiYoZSYmKGUrPSIgIiksZSs9bik7cmV0dXJuIGV9KHQpOiJzdHJpbmciPT10eXBlb2YgdD90OiIifXZhciB0cj17c3ZnOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsbWF0aDoiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCJ9LGVyPWcoImh0bWwsYm9keSxiYXNlLGhlYWQsbGluayxtZXRhLHN0eWxlLHRpdGxlLGFkZHJlc3MsYXJ0aWNsZSxhc2lkZSxmb290ZXIsaGVhZGVyLGgxLGgyLGgzLGg0LGg1LGg2LGhncm91cCxuYXYsc2VjdGlvbixkaXYsZGQsZGwsZHQsZmlnY2FwdGlvbixmaWd1cmUscGljdHVyZSxocixpbWcsbGksbWFpbixvbCxwLHByZSx1bCxhLGIsYWJicixiZGksYmRvLGJyLGNpdGUsY29kZSxkYXRhLGRmbixlbSxpLGtiZCxtYXJrLHEscnAscnQscnRjLHJ1YnkscyxzYW1wLHNtYWxsLHNwYW4sc3Ryb25nLHN1YixzdXAsdGltZSx1LHZhcix3YnIsYXJlYSxhdWRpbyxtYXAsdHJhY2ssdmlkZW8sZW1iZWQsb2JqZWN0LHBhcmFtLHNvdXJjZSxjYW52YXMsc2NyaXB0LG5vc2NyaXB0LGRlbCxpbnMsY2FwdGlvbixjb2wsY29sZ3JvdXAsdGFibGUsdGhlYWQsdGJvZHksdGQsdGgsdHIsYnV0dG9uLGRhdGFsaXN0LGZpZWxkc2V0LGZvcm0saW5wdXQsbGFiZWwsbGVnZW5kLG1ldGVyLG9wdGdyb3VwLG9wdGlvbixvdXRwdXQscHJvZ3Jlc3Msc2VsZWN0LHRleHRhcmVhLGRldGFpbHMsZGlhbG9nLG1lbnUsbWVudWl0ZW0sc3VtbWFyeSxjb250ZW50LGVsZW1lbnQsc2hhZG93LHRlbXBsYXRlLGJsb2NrcXVvdGUsaWZyYW1lLHRmb290IiksbnI9Zygic3ZnLGFuaW1hdGUsY2lyY2xlLGNsaXBwYXRoLGN1cnNvcixkZWZzLGRlc2MsZWxsaXBzZSxmaWx0ZXIsZm9udC1mYWNlLGZvcmVpZ25vYmplY3QsZyxnbHlwaCxpbWFnZSxsaW5lLG1hcmtlcixtYXNrLG1pc3NpbmctZ2x5cGgscGF0aCxwYXR0ZXJuLHBvbHlnb24scG9seWxpbmUscmVjdCxzd2l0Y2gsc3ltYm9sLHRleHQsdGV4dHBhdGgsdHNwYW4sdXNlLHZpZXciLCEwKSxycj1mdW5jdGlvbih0KXtyZXR1cm4gZXIodCl8fG5yKHQpfTtmdW5jdGlvbiBhcih0KXtyZXR1cm4gbnIodCk/InN2ZyI6Im1hdGgiPT09dD8ibWF0aCI6dm9pZCAwfXZhciBpcj1PYmplY3QuY3JlYXRlKG51bGwpO3ZhciBvcj1nKCJ0ZXh0LG51bWJlcixwYXNzd29yZCxzZWFyY2gsZW1haWwsdGVsLHVybCIpO2Z1bmN0aW9uIHNyKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KTtyZXR1cm4gZXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iil9cmV0dXJuIHR9dmFyIGxyPU9iamVjdC5mcmVlemUoe2NyZWF0ZUVsZW1lbnQ6ZnVuY3Rpb24odCxlKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiJzZWxlY3QiIT09dHx8ZS5kYXRhJiZlLmRhdGEuYXR0cnMmJnZvaWQgMCE9PWUuZGF0YS5hdHRycy5tdWx0aXBsZSYmbi5zZXRBdHRyaWJ1dGUoIm11bHRpcGxlIiwibXVsdGlwbGUiKSxufSxjcmVhdGVFbGVtZW50TlM6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHRyW3RdLGUpfSxjcmVhdGVUZXh0Tm9kZTpmdW5jdGlvbih0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodCl9LGNyZWF0ZUNvbW1lbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQodCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUsbil7dC5pbnNlcnRCZWZvcmUoZSxuKX0scmVtb3ZlQ2hpbGQ6ZnVuY3Rpb24odCxlKXt0LnJlbW92ZUNoaWxkKGUpfSxhcHBlbmRDaGlsZDpmdW5jdGlvbih0LGUpe3QuYXBwZW5kQ2hpbGQoZSl9LHBhcmVudE5vZGU6ZnVuY3Rpb24odCl7cmV0dXJuIHQucGFyZW50Tm9kZX0sbmV4dFNpYmxpbmc6ZnVuY3Rpb24odCl7cmV0dXJuIHQubmV4dFNpYmxpbmd9LHRhZ05hbWU6ZnVuY3Rpb24odCl7cmV0dXJuIHQudGFnTmFtZX0sc2V0VGV4dENvbnRlbnQ6ZnVuY3Rpb24odCxlKXt0LnRleHRDb250ZW50PWV9LHNldFN0eWxlU2NvcGU6ZnVuY3Rpb24odCxlKXt0LnNldEF0dHJpYnV0ZShlLCIiKX19KSx1cj17Y3JlYXRlOmZ1bmN0aW9uKHQsZSl7Y3IoZSl9LHVwZGF0ZTpmdW5jdGlvbih0LGUpe3QuZGF0YS5yZWYhPT1lLmRhdGEucmVmJiYoY3IodCwhMCksY3IoZSkpfSxkZXN0cm95OmZ1bmN0aW9uKHQpe2NyKHQsITApfX07ZnVuY3Rpb24gY3IodCxlKXt2YXIgbj10LmRhdGEucmVmO2lmKGkobikpe3ZhciByPXQuY29udGV4dCxhPXQuY29tcG9uZW50SW5zdGFuY2V8fHQuZWxtLG89ci4kcmVmcztlP0FycmF5LmlzQXJyYXkob1tuXSk/YihvW25dLGEpOm9bbl09PT1hJiYob1tuXT12b2lkIDApOnQuZGF0YS5yZWZJbkZvcj9BcnJheS5pc0FycmF5KG9bbl0pP29bbl0uaW5kZXhPZihhKTwwJiZvW25dLnB1c2goYSk6b1tuXT1bYV06b1tuXT1hfX12YXIgZHI9bmV3IG10KCIiLHt9LFtdKSxmcj1bImNyZWF0ZSIsImFjdGl2YXRlIiwidXBkYXRlIiwicmVtb3ZlIiwiZGVzdHJveSJdO2Z1bmN0aW9uIHByKHQsZSl7cmV0dXJuIHQua2V5PT09ZS5rZXkmJnQuYXN5bmNGYWN0b3J5PT09ZS5hc3luY0ZhY3RvcnkmJih0LnRhZz09PWUudGFnJiZ0LmlzQ29tbWVudD09PWUuaXNDb21tZW50JiZpKHQuZGF0YSk9PT1pKGUuZGF0YSkmJmZ1bmN0aW9uKHQsZSl7aWYoImlucHV0IiE9PXQudGFnKXJldHVybiEwO3ZhciBuLHI9aShuPXQuZGF0YSkmJmkobj1uLmF0dHJzKSYmbi50eXBlLGE9aShuPWUuZGF0YSkmJmkobj1uLmF0dHJzKSYmbi50eXBlO3JldHVybiByPT09YXx8b3IocikmJm9yKGEpfSh0LGUpfHxvKHQuaXNBc3luY1BsYWNlaG9sZGVyKSYmYShlLmFzeW5jRmFjdG9yeS5lcnJvcikpfWZ1bmN0aW9uIGhyKHQsZSxuKXt2YXIgcixhLG89e307Zm9yKHI9ZTtyPD1uOysrcilpKGE9dFtyXS5rZXkpJiYob1thXT1yKTtyZXR1cm4gb312YXIgdnI9e2NyZWF0ZTpncix1cGRhdGU6Z3IsZGVzdHJveTpmdW5jdGlvbih0KXtncih0LGRyKX19O2Z1bmN0aW9uIGdyKHQsZSl7KHQuZGF0YS5kaXJlY3RpdmVzfHxlLmRhdGEuZGlyZWN0aXZlcykmJmZ1bmN0aW9uKHQsZSl7dmFyIG4scixhLGk9dD09PWRyLG89ZT09PWRyLHM9eXIodC5kYXRhLmRpcmVjdGl2ZXMsdC5jb250ZXh0KSxsPXlyKGUuZGF0YS5kaXJlY3RpdmVzLGUuY29udGV4dCksdT1bXSxjPVtdO2ZvcihuIGluIGwpcj1zW25dLGE9bFtuXSxyPyhhLm9sZFZhbHVlPXIudmFsdWUsYS5vbGRBcmc9ci5hcmcsd3IoYSwidXBkYXRlIixlLHQpLGEuZGVmJiZhLmRlZi5jb21wb25lbnRVcGRhdGVkJiZjLnB1c2goYSkpOih3cihhLCJiaW5kIixlLHQpLGEuZGVmJiZhLmRlZi5pbnNlcnRlZCYmdS5wdXNoKGEpKTtpZih1Lmxlbmd0aCl7dmFyIGQ9ZnVuY3Rpb24oKXtmb3IodmFyIG49MDtuPHUubGVuZ3RoO24rKyl3cih1W25dLCJpbnNlcnRlZCIsZSx0KX07aT9mZShlLCJpbnNlcnQiLGQpOmQoKX1jLmxlbmd0aCYmZmUoZSwicG9zdHBhdGNoIiwoZnVuY3Rpb24oKXtmb3IodmFyIG49MDtuPGMubGVuZ3RoO24rKyl3cihjW25dLCJjb21wb25lbnRVcGRhdGVkIixlLHQpfSkpO2lmKCFpKWZvcihuIGluIHMpbFtuXXx8d3Ioc1tuXSwidW5iaW5kIix0LHQsbyl9KHQsZSl9dmFyIG1yPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24geXIodCxlKXt2YXIgbixyLGE9T2JqZWN0LmNyZWF0ZShudWxsKTtpZighdClyZXR1cm4gYTtmb3Iobj0wO248dC5sZW5ndGg7bisrKShyPXRbbl0pLm1vZGlmaWVyc3x8KHIubW9kaWZpZXJzPW1yKSxhW2JyKHIpXT1yLHIuZGVmPVV0KGUuJG9wdGlvbnMsImRpcmVjdGl2ZXMiLHIubmFtZSk7cmV0dXJuIGF9ZnVuY3Rpb24gYnIodCl7cmV0dXJuIHQucmF3TmFtZXx8dC5uYW1lKyIuIitPYmplY3Qua2V5cyh0Lm1vZGlmaWVyc3x8e30pLmpvaW4oIi4iKX1mdW5jdGlvbiB3cih0LGUsbixyLGEpe3ZhciBpPXQuZGVmJiZ0LmRlZltlXTtpZihpKXRyeXtpKG4uZWxtLHQsbixyLGEpfWNhdGNoKHIpe1d0KHIsbi5jb250ZXh0LCJkaXJlY3RpdmUgIit0Lm5hbWUrIiAiK2UrIiBob29rIil9fXZhciBfcj1bdXIsdnJdO2Z1bmN0aW9uIENyKHQsZSl7dmFyIG49ZS5jb21wb25lbnRPcHRpb25zO2lmKCEoaShuKSYmITE9PT1uLkN0b3Iub3B0aW9ucy5pbmhlcml0QXR0cnN8fGEodC5kYXRhLmF0dHJzKSYmYShlLmRhdGEuYXR0cnMpKSl7dmFyIHIsbyxzPWUuZWxtLGw9dC5kYXRhLmF0dHJzfHx7fSx1PWUuZGF0YS5hdHRyc3x8e307Zm9yKHIgaW4gaSh1Ll9fb2JfXykmJih1PWUuZGF0YS5hdHRycz1BKHt9LHUpKSx1KW89dVtyXSxsW3JdIT09byYmeHIocyxyLG8sZS5kYXRhLnByZSk7Zm9yKHIgaW4oWHx8dHQpJiZ1LnZhbHVlIT09bC52YWx1ZSYmeHIocywidmFsdWUiLHUudmFsdWUpLGwpYSh1W3JdKSYmKFZuKHIpP3MucmVtb3ZlQXR0cmlidXRlTlMoV24sS24ocikpOnpuKHIpfHxzLnJlbW92ZUF0dHJpYnV0ZShyKSl9fWZ1bmN0aW9uIHhyKHQsZSxuLHIpe3J8fHQudGFnTmFtZS5pbmRleE9mKCItIik+LTE/VHIodCxlLG4pOlluKGUpP1FuKG4pP3QucmVtb3ZlQXR0cmlidXRlKGUpOihuPSJhbGxvd2Z1bGxzY3JlZW4iPT09ZSYmIkVNQkVEIj09PXQudGFnTmFtZT8idHJ1ZSI6ZSx0LnNldEF0dHJpYnV0ZShlLG4pKTp6bihlKT90LnNldEF0dHJpYnV0ZShlLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIFFuKGUpfHwiZmFsc2UiPT09ZT8iZmFsc2UiOiJjb250ZW50ZWRpdGFibGUiPT09dCYmcW4oZSk/ZToidHJ1ZSJ9KGUsbikpOlZuKGUpP1FuKG4pP3QucmVtb3ZlQXR0cmlidXRlTlMoV24sS24oZSkpOnQuc2V0QXR0cmlidXRlTlMoV24sZSxuKTpUcih0LGUsbil9ZnVuY3Rpb24gVHIodCxlLG4pe2lmKFFuKG4pKXQucmVtb3ZlQXR0cmlidXRlKGUpO2Vsc2V7aWYoWCYmIVomJiJURVhUQVJFQSI9PT10LnRhZ05hbWUmJiJwbGFjZWhvbGRlciI9PT1lJiYiIiE9PW4mJiF0Ll9faWVwaCl7dmFyIHI9ZnVuY3Rpb24oZSl7ZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImlucHV0IixyKX07dC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsciksdC5fX2llcGg9ITB9dC5zZXRBdHRyaWJ1dGUoZSxuKX19dmFyIFByPXtjcmVhdGU6Q3IsdXBkYXRlOkNyfTtmdW5jdGlvbiBTcih0LGUpe3ZhciBuPWUuZWxtLHI9ZS5kYXRhLG89dC5kYXRhO2lmKCEoYShyLnN0YXRpY0NsYXNzKSYmYShyLmNsYXNzKSYmKGEobyl8fGEoby5zdGF0aWNDbGFzcykmJmEoby5jbGFzcykpKSl7dmFyIHM9R24oZSksbD1uLl90cmFuc2l0aW9uQ2xhc3NlcztpKGwpJiYocz1YbihzLFpuKGwpKSkscyE9PW4uX3ByZXZDbGFzcyYmKG4uc2V0QXR0cmlidXRlKCJjbGFzcyIscyksbi5fcHJldkNsYXNzPXMpfX12YXIga3IsT3IsJHIsQXIsRHIsUnIsRXI9e2NyZWF0ZTpTcix1cGRhdGU6U3J9LEZyPS9bXHcpLitcLV8kXF1dLztmdW5jdGlvbiBNcih0KXt2YXIgZSxuLHIsYSxpLG89ITEscz0hMSxsPSExLHU9ITEsYz0wLGQ9MCxmPTAscD0wO2ZvcihyPTA7cjx0Lmxlbmd0aDtyKyspaWYobj1lLGU9dC5jaGFyQ29kZUF0KHIpLG8pMzk9PT1lJiY5MiE9PW4mJihvPSExKTtlbHNlIGlmKHMpMzQ9PT1lJiY5MiE9PW4mJihzPSExKTtlbHNlIGlmKGwpOTY9PT1lJiY5MiE9PW4mJihsPSExKTtlbHNlIGlmKHUpNDc9PT1lJiY5MiE9PW4mJih1PSExKTtlbHNlIGlmKDEyNCE9PWV8fDEyND09PXQuY2hhckNvZGVBdChyKzEpfHwxMjQ9PT10LmNoYXJDb2RlQXQoci0xKXx8Y3x8ZHx8Zil7c3dpdGNoKGUpe2Nhc2UgMzQ6cz0hMDticmVhaztjYXNlIDM5Om89ITA7YnJlYWs7Y2FzZSA5NjpsPSEwO2JyZWFrO2Nhc2UgNDA6ZisrO2JyZWFrO2Nhc2UgNDE6Zi0tO2JyZWFrO2Nhc2UgOTE6ZCsrO2JyZWFrO2Nhc2UgOTM6ZC0tO2JyZWFrO2Nhc2UgMTIzOmMrKzticmVhaztjYXNlIDEyNTpjLS19aWYoNDc9PT1lKXtmb3IodmFyIGg9ci0xLHY9dm9pZCAwO2g+PTAmJiIgIj09PSh2PXQuY2hhckF0KGgpKTtoLS0pO3YmJkZyLnRlc3Qodil8fCh1PSEwKX19ZWxzZSB2b2lkIDA9PT1hPyhwPXIrMSxhPXQuc2xpY2UoMCxyKS50cmltKCkpOmcoKTtmdW5jdGlvbiBnKCl7KGl8fChpPVtdKSkucHVzaCh0LnNsaWNlKHAscikudHJpbSgpKSxwPXIrMX1pZih2b2lkIDA9PT1hP2E9dC5zbGljZSgwLHIpLnRyaW0oKTowIT09cCYmZygpLGkpZm9yKHI9MDtyPGkubGVuZ3RoO3IrKylhPUlyKGEsaVtyXSk7cmV0dXJuIGF9ZnVuY3Rpb24gSXIodCxlKXt2YXIgbj1lLmluZGV4T2YoIigiKTtpZihuPDApcmV0dXJuJ19mKCInK2UrJyIpKCcrdCsiKSI7dmFyIHI9ZS5zbGljZSgwLG4pLGE9ZS5zbGljZShuKzEpO3JldHVybidfZigiJytyKyciKSgnK3QrKCIpIiE9PWE/IiwiK2E6YSl9ZnVuY3Rpb24gTnIodCxlKXtjb25zb2xlLmVycm9yKCJbVnVlIGNvbXBpbGVyXTogIit0KX1mdW5jdGlvbiBqcih0LGUpe3JldHVybiB0P3QubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdFtlXX0pKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpOltdfWZ1bmN0aW9uIExyKHQsZSxuLHIsYSl7KHQucHJvcHN8fCh0LnByb3BzPVtdKSkucHVzaChLcih7bmFtZTplLHZhbHVlOm4sZHluYW1pYzphfSxyKSksdC5wbGFpbj0hMX1mdW5jdGlvbiBVcih0LGUsbixyLGEpeyhhP3QuZHluYW1pY0F0dHJzfHwodC5keW5hbWljQXR0cnM9W10pOnQuYXR0cnN8fCh0LmF0dHJzPVtdKSkucHVzaChLcih7bmFtZTplLHZhbHVlOm4sZHluYW1pYzphfSxyKSksdC5wbGFpbj0hMX1mdW5jdGlvbiBIcih0LGUsbixyKXt0LmF0dHJzTWFwW2VdPW4sdC5hdHRyc0xpc3QucHVzaChLcih7bmFtZTplLHZhbHVlOm59LHIpKX1mdW5jdGlvbiBCcih0LGUsbixyLGEsaSxvLHMpeyh0LmRpcmVjdGl2ZXN8fCh0LmRpcmVjdGl2ZXM9W10pKS5wdXNoKEtyKHtuYW1lOmUscmF3TmFtZTpuLHZhbHVlOnIsYXJnOmEsaXNEeW5hbWljQXJnOmksbW9kaWZpZXJzOm99LHMpKSx0LnBsYWluPSExfWZ1bmN0aW9uIHpyKHQsZSxuKXtyZXR1cm4gbj8iX3AoIitlKycsIicrdCsnIiknOnQrZX1mdW5jdGlvbiBxcih0LGUsbixhLGksbyxzLGwpe3ZhciB1OyhhPWF8fHIpLnJpZ2h0P2w/ZT0iKCIrZSsiKT09PSdjbGljayc/J2NvbnRleHRtZW51JzooIitlKyIpIjoiY2xpY2siPT09ZSYmKGU9ImNvbnRleHRtZW51IixkZWxldGUgYS5yaWdodCk6YS5taWRkbGUmJihsP2U9IigiK2UrIik9PT0nY2xpY2snPydtb3VzZXVwJzooIitlKyIpIjoiY2xpY2siPT09ZSYmKGU9Im1vdXNldXAiKSksYS5jYXB0dXJlJiYoZGVsZXRlIGEuY2FwdHVyZSxlPXpyKCIhIixlLGwpKSxhLm9uY2UmJihkZWxldGUgYS5vbmNlLGU9enIoIn4iLGUsbCkpLGEucGFzc2l2ZSYmKGRlbGV0ZSBhLnBhc3NpdmUsZT16cigiJiIsZSxsKSksYS5uYXRpdmU/KGRlbGV0ZSBhLm5hdGl2ZSx1PXQubmF0aXZlRXZlbnRzfHwodC5uYXRpdmVFdmVudHM9e30pKTp1PXQuZXZlbnRzfHwodC5ldmVudHM9e30pO3ZhciBjPUtyKHt2YWx1ZTpuLnRyaW0oKSxkeW5hbWljOmx9LHMpO2EhPT1yJiYoYy5tb2RpZmllcnM9YSk7dmFyIGQ9dVtlXTtBcnJheS5pc0FycmF5KGQpP2k/ZC51bnNoaWZ0KGMpOmQucHVzaChjKTp1W2VdPWQ/aT9bYyxkXTpbZCxjXTpjLHQucGxhaW49ITF9ZnVuY3Rpb24gWXIodCxlLG4pe3ZhciByPVdyKHQsIjoiK2UpfHxXcih0LCJ2LWJpbmQ6IitlKTtpZihudWxsIT1yKXJldHVybiBNcihyKTtpZighMSE9PW4pe3ZhciBhPVdyKHQsZSk7aWYobnVsbCE9YSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkoYSl9fWZ1bmN0aW9uIFdyKHQsZSxuKXt2YXIgcjtpZihudWxsIT0ocj10LmF0dHJzTWFwW2VdKSlmb3IodmFyIGE9dC5hdHRyc0xpc3QsaT0wLG89YS5sZW5ndGg7aTxvO2krKylpZihhW2ldLm5hbWU9PT1lKXthLnNwbGljZShpLDEpO2JyZWFrfXJldHVybiBuJiZkZWxldGUgdC5hdHRyc01hcFtlXSxyfWZ1bmN0aW9uIFZyKHQsZSl7Zm9yKHZhciBuPXQuYXR0cnNMaXN0LHI9MCxhPW4ubGVuZ3RoO3I8YTtyKyspe3ZhciBpPW5bcl07aWYoZS50ZXN0KGkubmFtZSkpcmV0dXJuIG4uc3BsaWNlKHIsMSksaX19ZnVuY3Rpb24gS3IodCxlKXtyZXR1cm4gZSYmKG51bGwhPWUuc3RhcnQmJih0LnN0YXJ0PWUuc3RhcnQpLG51bGwhPWUuZW5kJiYodC5lbmQ9ZS5lbmQpKSx0fWZ1bmN0aW9uIFFyKHQsZSxuKXt2YXIgcj1ufHx7fSxhPXIubnVtYmVyLGk9IiQkdiIsbz1pO3IudHJpbSYmKG89Iih0eXBlb2YgJCR2ID09PSAnc3RyaW5nJz8gJCR2LnRyaW0oKTogJCR2KSIpLGEmJihvPSJfbigiK28rIikiKTt2YXIgcz1HcihlLG8pO3QubW9kZWw9e3ZhbHVlOiIoIitlKyIpIixleHByZXNzaW9uOkpTT04uc3RyaW5naWZ5KGUpLGNhbGxiYWNrOiJmdW5jdGlvbiAoJCR2KSB7IitzKyJ9In19ZnVuY3Rpb24gR3IodCxlKXt2YXIgbj1mdW5jdGlvbih0KXtpZih0PXQudHJpbSgpLGtyPXQubGVuZ3RoLHQuaW5kZXhPZigiWyIpPDB8fHQubGFzdEluZGV4T2YoIl0iKTxrci0xKXJldHVybihBcj10Lmxhc3RJbmRleE9mKCIuIikpPi0xP3tleHA6dC5zbGljZSgwLEFyKSxrZXk6JyInK3Quc2xpY2UoQXIrMSkrJyInfTp7ZXhwOnQsa2V5Om51bGx9O09yPXQsQXI9RHI9UnI9MDtmb3IoOyFYcigpOylacigkcj1KcigpKT9lYSgkcik6OTE9PT0kciYmdGEoJHIpO3JldHVybntleHA6dC5zbGljZSgwLERyKSxrZXk6dC5zbGljZShEcisxLFJyKX19KHQpO3JldHVybiBudWxsPT09bi5rZXk/dCsiPSIrZToiJHNldCgiK24uZXhwKyIsICIrbi5rZXkrIiwgIitlKyIpIn1mdW5jdGlvbiBKcigpe3JldHVybiBPci5jaGFyQ29kZUF0KCsrQXIpfWZ1bmN0aW9uIFhyKCl7cmV0dXJuIEFyPj1rcn1mdW5jdGlvbiBacih0KXtyZXR1cm4gMzQ9PT10fHwzOT09PXR9ZnVuY3Rpb24gdGEodCl7dmFyIGU9MTtmb3IoRHI9QXI7IVhyKCk7KWlmKFpyKHQ9SnIoKSkpZWEodCk7ZWxzZSBpZig5MT09PXQmJmUrKyw5Mz09PXQmJmUtLSwwPT09ZSl7UnI9QXI7YnJlYWt9fWZ1bmN0aW9uIGVhKHQpe2Zvcih2YXIgZT10OyFYcigpJiYodD1KcigpKSE9PWU7KTt9dmFyIG5hLHJhPSJfX3IiO2Z1bmN0aW9uIGFhKHQsZSxuKXt2YXIgcj1uYTtyZXR1cm4gZnVuY3Rpb24gYSgpe3ZhciBpPWUuYXBwbHkobnVsbCxhcmd1bWVudHMpO251bGwhPT1pJiZzYSh0LGEsbixyKX19dmFyIGlhPUp0JiYhKG50JiZOdW1iZXIobnRbMV0pPD01Myk7ZnVuY3Rpb24gb2EodCxlLG4scil7aWYoaWEpe3ZhciBhPXZuLGk9ZTtlPWkuX3dyYXBwZXI9ZnVuY3Rpb24odCl7aWYodC50YXJnZXQ9PT10LmN1cnJlbnRUYXJnZXR8fHQudGltZVN0YW1wPj1hfHx0LnRpbWVTdGFtcDw9MHx8dC50YXJnZXQub3duZXJEb2N1bWVudCE9PWRvY3VtZW50KXJldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19bmEuYWRkRXZlbnRMaXN0ZW5lcih0LGUsYXQ/e2NhcHR1cmU6bixwYXNzaXZlOnJ9Om4pfWZ1bmN0aW9uIHNhKHQsZSxuLHIpeyhyfHxuYSkucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGUuX3dyYXBwZXJ8fGUsbil9ZnVuY3Rpb24gbGEodCxlKXtpZighYSh0LmRhdGEub24pfHwhYShlLmRhdGEub24pKXt2YXIgbj1lLmRhdGEub258fHt9LHI9dC5kYXRhLm9ufHx7fTtuYT1lLmVsbSxmdW5jdGlvbih0KXtpZihpKHQuX19yKSl7dmFyIGU9WD8iY2hhbmdlIjoiaW5wdXQiO3RbZV09W10uY29uY2F0KHQuX19yLHRbZV18fFtdKSxkZWxldGUgdC5fX3J9aSh0Ll9fYykmJih0LmNoYW5nZT1bXS5jb25jYXQodC5fX2MsdC5jaGFuZ2V8fFtdKSxkZWxldGUgdC5fX2MpfShuKSxkZShuLHIsb2Esc2EsYWEsZS5jb250ZXh0KSxuYT12b2lkIDB9fXZhciB1YSxjYT17Y3JlYXRlOmxhLHVwZGF0ZTpsYX07ZnVuY3Rpb24gZGEodCxlKXtpZighYSh0LmRhdGEuZG9tUHJvcHMpfHwhYShlLmRhdGEuZG9tUHJvcHMpKXt2YXIgbixyLG89ZS5lbG0scz10LmRhdGEuZG9tUHJvcHN8fHt9LGw9ZS5kYXRhLmRvbVByb3BzfHx7fTtmb3IobiBpbiBpKGwuX19vYl9fKSYmKGw9ZS5kYXRhLmRvbVByb3BzPUEoe30sbCkpLHMpbiBpbiBsfHwob1tuXT0iIik7Zm9yKG4gaW4gbCl7aWYocj1sW25dLCJ0ZXh0Q29udGVudCI9PT1ufHwiaW5uZXJIVE1MIj09PW4pe2lmKGUuY2hpbGRyZW4mJihlLmNoaWxkcmVuLmxlbmd0aD0wKSxyPT09c1tuXSljb250aW51ZTsxPT09by5jaGlsZE5vZGVzLmxlbmd0aCYmby5yZW1vdmVDaGlsZChvLmNoaWxkTm9kZXNbMF0pfWlmKCJ2YWx1ZSI9PT1uJiYiUFJPR1JFU1MiIT09by50YWdOYW1lKXtvLl92YWx1ZT1yO3ZhciB1PWEocik/IiI6U3RyaW5nKHIpO2ZhKG8sdSkmJihvLnZhbHVlPXUpfWVsc2UgaWYoImlubmVySFRNTCI9PT1uJiZucihvLnRhZ05hbWUpJiZhKG8uaW5uZXJIVE1MKSl7KHVhPXVhfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrcisiPC9zdmc+Ijtmb3IodmFyIGM9dWEuZmlyc3RDaGlsZDtvLmZpcnN0Q2hpbGQ7KW8ucmVtb3ZlQ2hpbGQoby5maXJzdENoaWxkKTtmb3IoO2MuZmlyc3RDaGlsZDspby5hcHBlbmRDaGlsZChjLmZpcnN0Q2hpbGQpfWVsc2UgaWYociE9PXNbbl0pdHJ5e29bbl09cn1jYXRjaCh0KXt9fX19ZnVuY3Rpb24gZmEodCxlKXtyZXR1cm4hdC5jb21wb3NpbmcmJigiT1BUSU9OIj09PXQudGFnTmFtZXx8ZnVuY3Rpb24odCxlKXt2YXIgbj0hMDt0cnl7bj1kb2N1bWVudC5hY3RpdmVFbGVtZW50IT09dH1jYXRjaCh0KXt9cmV0dXJuIG4mJnQudmFsdWUhPT1lfSh0LGUpfHxmdW5jdGlvbih0LGUpe3ZhciBuPXQudmFsdWUscj10Ll92TW9kaWZpZXJzO2lmKGkocikpe2lmKHIubnVtYmVyKXJldHVybiB2KG4pIT09dihlKTtpZihyLnRyaW0pcmV0dXJuIG4udHJpbSgpIT09ZS50cmltKCl9cmV0dXJuIG4hPT1lfSh0LGUpKX12YXIgcGE9e2NyZWF0ZTpkYSx1cGRhdGU6ZGF9LGhhPUMoKGZ1bmN0aW9uKHQpe3ZhciBlPXt9LG49LzooLispLztyZXR1cm4gdC5zcGxpdCgvOyg/IVteKF0qXCkpL2cpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKHQpe3ZhciByPXQuc3BsaXQobik7ci5sZW5ndGg+MSYmKGVbclswXS50cmltKCldPXJbMV0udHJpbSgpKX19KSksZX0pKTtmdW5jdGlvbiB2YSh0KXt2YXIgZT1nYSh0LnN0eWxlKTtyZXR1cm4gdC5zdGF0aWNTdHlsZT9BKHQuc3RhdGljU3R5bGUsZSk6ZX1mdW5jdGlvbiBnYSh0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT9EKHQpOiJzdHJpbmciPT10eXBlb2YgdD9oYSh0KTp0fXZhciBtYSx5YT0vXi0tLyxiYT0vXHMqIWltcG9ydGFudCQvLHdhPWZ1bmN0aW9uKHQsZSxuKXtpZih5YS50ZXN0KGUpKXQuc3R5bGUuc2V0UHJvcGVydHkoZSxuKTtlbHNlIGlmKGJhLnRlc3QobikpdC5zdHlsZS5zZXRQcm9wZXJ0eShrKGUpLG4ucmVwbGFjZShiYSwiIiksImltcG9ydGFudCIpO2Vsc2V7dmFyIHI9Q2EoZSk7aWYoQXJyYXkuaXNBcnJheShuKSlmb3IodmFyIGE9MCxpPW4ubGVuZ3RoO2E8aTthKyspdC5zdHlsZVtyXT1uW2FdO2Vsc2UgdC5zdHlsZVtyXT1ufX0sX2E9WyJXZWJraXQiLCJNb3oiLCJtcyJdLENhPUMoKGZ1bmN0aW9uKHQpe2lmKG1hPW1hfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiZmlsdGVyIiE9PSh0PVQodCkpJiZ0IGluIG1hKXJldHVybiB0O2Zvcih2YXIgZT10LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSksbj0wO248X2EubGVuZ3RoO24rKyl7dmFyIHI9X2Fbbl0rZTtpZihyIGluIG1hKXJldHVybiByfX0pKTtmdW5jdGlvbiB4YSh0LGUpe3ZhciBuPWUuZGF0YSxyPXQuZGF0YTtpZighKGEobi5zdGF0aWNTdHlsZSkmJmEobi5zdHlsZSkmJmEoci5zdGF0aWNTdHlsZSkmJmEoci5zdHlsZSkpKXt2YXIgbyxzLGw9ZS5lbG0sdT1yLnN0YXRpY1N0eWxlLGM9ci5ub3JtYWxpemVkU3R5bGV8fHIuc3R5bGV8fHt9LGQ9dXx8YyxmPWdhKGUuZGF0YS5zdHlsZSl8fHt9O2UuZGF0YS5ub3JtYWxpemVkU3R5bGU9aShmLl9fb2JfXyk/QSh7fSxmKTpmO3ZhciBwPWZ1bmN0aW9uKHQsZSl7dmFyIG4scj17fTtpZihlKWZvcih2YXIgYT10O2EuY29tcG9uZW50SW5zdGFuY2U7KShhPWEuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlKSYmYS5kYXRhJiYobj12YShhLmRhdGEpKSYmQShyLG4pOyhuPXZhKHQuZGF0YSkpJiZBKHIsbik7Zm9yKHZhciBpPXQ7aT1pLnBhcmVudDspaS5kYXRhJiYobj12YShpLmRhdGEpKSYmQShyLG4pO3JldHVybiByfShlLCEwKTtmb3IocyBpbiBkKWEocFtzXSkmJndhKGwscywiIik7Zm9yKHMgaW4gcCkobz1wW3NdKSE9PWRbc10mJndhKGwscyxudWxsPT1vPyIiOm8pfX12YXIgVGE9e2NyZWF0ZTp4YSx1cGRhdGU6eGF9LFBhPS9ccysvO2Z1bmN0aW9uIFNhKHQsZSl7aWYoZSYmKGU9ZS50cmltKCkpKWlmKHQuY2xhc3NMaXN0KWUuaW5kZXhPZigiICIpPi0xP2Uuc3BsaXQoUGEpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNsYXNzTGlzdC5hZGQoZSl9KSk6dC5jbGFzc0xpc3QuYWRkKGUpO2Vsc2V7dmFyIG49IiAiKyh0LmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpKyIgIjtuLmluZGV4T2YoIiAiK2UrIiAiKTwwJiZ0LnNldEF0dHJpYnV0ZSgiY2xhc3MiLChuK2UpLnRyaW0oKSl9fWZ1bmN0aW9uIGthKHQsZSl7aWYoZSYmKGU9ZS50cmltKCkpKWlmKHQuY2xhc3NMaXN0KWUuaW5kZXhPZigiICIpPi0xP2Uuc3BsaXQoUGEpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNsYXNzTGlzdC5yZW1vdmUoZSl9KSk6dC5jbGFzc0xpc3QucmVtb3ZlKGUpLHQuY2xhc3NMaXN0Lmxlbmd0aHx8dC5yZW1vdmVBdHRyaWJ1dGUoImNsYXNzIik7ZWxzZXtmb3IodmFyIG49IiAiKyh0LmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpKyIgIixyPSIgIitlKyIgIjtuLmluZGV4T2Yocik+PTA7KW49bi5yZXBsYWNlKHIsIiAiKTsobj1uLnRyaW0oKSk/dC5zZXRBdHRyaWJ1dGUoImNsYXNzIixuKTp0LnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKX19ZnVuY3Rpb24gT2EodCl7aWYodCl7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXt2YXIgZT17fTtyZXR1cm4hMSE9PXQuY3NzJiZBKGUsJGEodC5uYW1lfHwidiIpKSxBKGUsdCksZX1yZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/JGEodCk6dm9pZCAwfX12YXIgJGE9QygoZnVuY3Rpb24odCl7cmV0dXJue2VudGVyQ2xhc3M6dCsiLWVudGVyIixlbnRlclRvQ2xhc3M6dCsiLWVudGVyLXRvIixlbnRlckFjdGl2ZUNsYXNzOnQrIi1lbnRlci1hY3RpdmUiLGxlYXZlQ2xhc3M6dCsiLWxlYXZlIixsZWF2ZVRvQ2xhc3M6dCsiLWxlYXZlLXRvIixsZWF2ZUFjdGl2ZUNsYXNzOnQrIi1sZWF2ZS1hY3RpdmUifX0pKSxBYT1LJiYhWixEYT0idHJhbnNpdGlvbiIsUmE9ImFuaW1hdGlvbiIsRWE9InRyYW5zaXRpb24iLEZhPSJ0cmFuc2l0aW9uZW5kIixNYT0iYW5pbWF0aW9uIixJYT0iYW5pbWF0aW9uZW5kIjtBYSYmKHZvaWQgMD09PXdpbmRvdy5vbnRyYW5zaXRpb25lbmQmJnZvaWQgMCE9PXdpbmRvdy5vbndlYmtpdHRyYW5zaXRpb25lbmQmJihFYT0iV2Via2l0VHJhbnNpdGlvbiIsRmE9IndlYmtpdFRyYW5zaXRpb25FbmQiKSx2b2lkIDA9PT13aW5kb3cub25hbmltYXRpb25lbmQmJnZvaWQgMCE9PXdpbmRvdy5vbndlYmtpdGFuaW1hdGlvbmVuZCYmKE1hPSJXZWJraXRBbmltYXRpb24iLElhPSJ3ZWJraXRBbmltYXRpb25FbmQiKSk7dmFyIE5hPUs/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpzZXRUaW1lb3V0OmZ1bmN0aW9uKHQpe3JldHVybiB0KCl9O2Z1bmN0aW9uIGphKHQpe05hKChmdW5jdGlvbigpe05hKHQpfSkpfWZ1bmN0aW9uIExhKHQsZSl7dmFyIG49dC5fdHJhbnNpdGlvbkNsYXNzZXN8fCh0Ll90cmFuc2l0aW9uQ2xhc3Nlcz1bXSk7bi5pbmRleE9mKGUpPDAmJihuLnB1c2goZSksU2EodCxlKSl9ZnVuY3Rpb24gVWEodCxlKXt0Ll90cmFuc2l0aW9uQ2xhc3NlcyYmYih0Ll90cmFuc2l0aW9uQ2xhc3NlcyxlKSxrYSh0LGUpfWZ1bmN0aW9uIEhhKHQsZSxuKXt2YXIgcj16YSh0LGUpLGE9ci50eXBlLGk9ci50aW1lb3V0LG89ci5wcm9wQ291bnQ7aWYoIWEpcmV0dXJuIG4oKTt2YXIgcz1hPT09RGE/RmE6SWEsbD0wLHU9ZnVuY3Rpb24oKXt0LnJlbW92ZUV2ZW50TGlzdGVuZXIocyxjKSxuKCl9LGM9ZnVuY3Rpb24oZSl7ZS50YXJnZXQ9PT10JiYrK2w+PW8mJnUoKX07c2V0VGltZW91dCgoZnVuY3Rpb24oKXtsPG8mJnUoKX0pLGkrMSksdC5hZGRFdmVudExpc3RlbmVyKHMsYyl9dmFyIEJhPS9cYih0cmFuc2Zvcm18YWxsKSgsfCQpLztmdW5jdGlvbiB6YSh0LGUpe3ZhciBuLHI9d2luZG93LmdldENvbXB1dGVkU3R5bGUodCksYT0ocltFYSsiRGVsYXkiXXx8IiIpLnNwbGl0KCIsICIpLGk9KHJbRWErIkR1cmF0aW9uIl18fCIiKS5zcGxpdCgiLCAiKSxvPXFhKGEsaSkscz0ocltNYSsiRGVsYXkiXXx8IiIpLnNwbGl0KCIsICIpLGw9KHJbTWErIkR1cmF0aW9uIl18fCIiKS5zcGxpdCgiLCAiKSx1PXFhKHMsbCksYz0wLGQ9MDtyZXR1cm4gZT09PURhP28+MCYmKG49RGEsYz1vLGQ9aS5sZW5ndGgpOmU9PT1SYT91PjAmJihuPVJhLGM9dSxkPWwubGVuZ3RoKTpkPShuPShjPU1hdGgubWF4KG8sdSkpPjA/bz51P0RhOlJhOm51bGwpP249PT1EYT9pLmxlbmd0aDpsLmxlbmd0aDowLHt0eXBlOm4sdGltZW91dDpjLHByb3BDb3VudDpkLGhhc1RyYW5zZm9ybTpuPT09RGEmJkJhLnRlc3QocltFYSsiUHJvcGVydHkiXSl9fWZ1bmN0aW9uIHFhKHQsZSl7Zm9yKDt0Lmxlbmd0aDxlLmxlbmd0aDspdD10LmNvbmNhdCh0KTtyZXR1cm4gTWF0aC5tYXguYXBwbHkobnVsbCxlLm1hcCgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gWWEoZSkrWWEodFtuXSl9KSkpfWZ1bmN0aW9uIFlhKHQpe3JldHVybiAxZTMqTnVtYmVyKHQuc2xpY2UoMCwtMSkucmVwbGFjZSgiLCIsIi4iKSl9ZnVuY3Rpb24gV2EodCxlKXt2YXIgbj10LmVsbTtpKG4uX2xlYXZlQ2IpJiYobi5fbGVhdmVDYi5jYW5jZWxsZWQ9ITAsbi5fbGVhdmVDYigpKTt2YXIgcj1PYSh0LmRhdGEudHJhbnNpdGlvbik7aWYoIWEocikmJiFpKG4uX2VudGVyQ2IpJiYxPT09bi5ub2RlVHlwZSl7Zm9yKHZhciBvPXIuY3NzLHM9ci50eXBlLHU9ci5lbnRlckNsYXNzLGM9ci5lbnRlclRvQ2xhc3MsZD1yLmVudGVyQWN0aXZlQ2xhc3MsZj1yLmFwcGVhckNsYXNzLHA9ci5hcHBlYXJUb0NsYXNzLGg9ci5hcHBlYXJBY3RpdmVDbGFzcyxnPXIuYmVmb3JlRW50ZXIsbT1yLmVudGVyLHk9ci5hZnRlckVudGVyLGI9ci5lbnRlckNhbmNlbGxlZCx3PXIuYmVmb3JlQXBwZWFyLF89ci5hcHBlYXIsQz1yLmFmdGVyQXBwZWFyLHg9ci5hcHBlYXJDYW5jZWxsZWQsVD1yLmR1cmF0aW9uLFA9bm4sUz1ubi4kdm5vZGU7UyYmUy5wYXJlbnQ7KVA9Uy5jb250ZXh0LFM9Uy5wYXJlbnQ7dmFyIGs9IVAuX2lzTW91bnRlZHx8IXQuaXNSb290SW5zZXJ0O2lmKCFrfHxffHwiIj09PV8pe3ZhciBPPWsmJmY/Zjp1LCQ9ayYmaD9oOmQsQT1rJiZwP3A6YyxEPWsmJnd8fGcsUj1rJiYiZnVuY3Rpb24iPT10eXBlb2YgXz9fOm0sRT1rJiZDfHx5LEY9ayYmeHx8YixNPXYobChUKT9ULmVudGVyOlQpOzA7dmFyIEk9ITEhPT1vJiYhWixqPVFhKFIpLEw9bi5fZW50ZXJDYj1OKChmdW5jdGlvbigpe0kmJihVYShuLEEpLFVhKG4sJCkpLEwuY2FuY2VsbGVkPyhJJiZVYShuLE8pLEYmJkYobikpOkUmJkUobiksbi5fZW50ZXJDYj1udWxsfSkpO3QuZGF0YS5zaG93fHxmZSh0LCJpbnNlcnQiLChmdW5jdGlvbigpe3ZhciBlPW4ucGFyZW50Tm9kZSxyPWUmJmUuX3BlbmRpbmcmJmUuX3BlbmRpbmdbdC5rZXldO3ImJnIudGFnPT09dC50YWcmJnIuZWxtLl9sZWF2ZUNiJiZyLmVsbS5fbGVhdmVDYigpLFImJlIobixMKX0pKSxEJiZEKG4pLEkmJihMYShuLE8pLExhKG4sJCksamEoKGZ1bmN0aW9uKCl7VWEobixPKSxMLmNhbmNlbGxlZHx8KExhKG4sQSksanx8KEthKE0pP3NldFRpbWVvdXQoTCxNKTpIYShuLHMsTCkpKX0pKSksdC5kYXRhLnNob3cmJihlJiZlKCksUiYmUihuLEwpKSxJfHxqfHxMKCl9fX1mdW5jdGlvbiBWYSh0LGUpe3ZhciBuPXQuZWxtO2kobi5fZW50ZXJDYikmJihuLl9lbnRlckNiLmNhbmNlbGxlZD0hMCxuLl9lbnRlckNiKCkpO3ZhciByPU9hKHQuZGF0YS50cmFuc2l0aW9uKTtpZihhKHIpfHwxIT09bi5ub2RlVHlwZSlyZXR1cm4gZSgpO2lmKCFpKG4uX2xlYXZlQ2IpKXt2YXIgbz1yLmNzcyxzPXIudHlwZSx1PXIubGVhdmVDbGFzcyxjPXIubGVhdmVUb0NsYXNzLGQ9ci5sZWF2ZUFjdGl2ZUNsYXNzLGY9ci5iZWZvcmVMZWF2ZSxwPXIubGVhdmUsaD1yLmFmdGVyTGVhdmUsZz1yLmxlYXZlQ2FuY2VsbGVkLG09ci5kZWxheUxlYXZlLHk9ci5kdXJhdGlvbixiPSExIT09byYmIVosdz1RYShwKSxfPXYobCh5KT95LmxlYXZlOnkpOzA7dmFyIEM9bi5fbGVhdmVDYj1OKChmdW5jdGlvbigpe24ucGFyZW50Tm9kZSYmbi5wYXJlbnROb2RlLl9wZW5kaW5nJiYobi5wYXJlbnROb2RlLl9wZW5kaW5nW3Qua2V5XT1udWxsKSxiJiYoVWEobixjKSxVYShuLGQpKSxDLmNhbmNlbGxlZD8oYiYmVWEobix1KSxnJiZnKG4pKTooZSgpLGgmJmgobikpLG4uX2xlYXZlQ2I9bnVsbH0pKTttP20oeCk6eCgpfWZ1bmN0aW9uIHgoKXtDLmNhbmNlbGxlZHx8KCF0LmRhdGEuc2hvdyYmbi5wYXJlbnROb2RlJiYoKG4ucGFyZW50Tm9kZS5fcGVuZGluZ3x8KG4ucGFyZW50Tm9kZS5fcGVuZGluZz17fSkpW3Qua2V5XT10KSxmJiZmKG4pLGImJihMYShuLHUpLExhKG4sZCksamEoKGZ1bmN0aW9uKCl7VWEobix1KSxDLmNhbmNlbGxlZHx8KExhKG4sYyksd3x8KEthKF8pP3NldFRpbWVvdXQoQyxfKTpIYShuLHMsQykpKX0pKSkscCYmcChuLEMpLGJ8fHd8fEMoKSl9fWZ1bmN0aW9uIEthKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdCYmIWlzTmFOKHQpfWZ1bmN0aW9uIFFhKHQpe2lmKGEodCkpcmV0dXJuITE7dmFyIGU9dC5mbnM7cmV0dXJuIGkoZSk/UWEoQXJyYXkuaXNBcnJheShlKT9lWzBdOmUpOih0Ll9sZW5ndGh8fHQubGVuZ3RoKT4xfWZ1bmN0aW9uIEdhKHQsZSl7ITAhPT1lLmRhdGEuc2hvdyYmV2EoZSl9dmFyIEphPWZ1bmN0aW9uKHQpe3ZhciBlLG4scj17fSxsPXQubW9kdWxlcyx1PXQubm9kZU9wcztmb3IoZT0wO2U8ZnIubGVuZ3RoOysrZSlmb3IocltmcltlXV09W10sbj0wO248bC5sZW5ndGg7KytuKWkobFtuXVtmcltlXV0pJiZyW2ZyW2VdXS5wdXNoKGxbbl1bZnJbZV1dKTtmdW5jdGlvbiBjKHQpe3ZhciBlPXUucGFyZW50Tm9kZSh0KTtpKGUpJiZ1LnJlbW92ZUNoaWxkKGUsdCl9ZnVuY3Rpb24gZCh0LGUsbixhLHMsbCxjKXtpZihpKHQuZWxtKSYmaShsKSYmKHQ9bFtjXT1fdCh0KSksdC5pc1Jvb3RJbnNlcnQ9IXMsIWZ1bmN0aW9uKHQsZSxuLGEpe3ZhciBzPXQuZGF0YTtpZihpKHMpKXt2YXIgbD1pKHQuY29tcG9uZW50SW5zdGFuY2UpJiZzLmtlZXBBbGl2ZTtpZihpKHM9cy5ob29rKSYmaShzPXMuaW5pdCkmJnModCwhMSksaSh0LmNvbXBvbmVudEluc3RhbmNlKSlyZXR1cm4gZih0LGUpLHAobix0LmVsbSxhKSxvKGwpJiZmdW5jdGlvbih0LGUsbixhKXt2YXIgbyxzPXQ7Zm9yKDtzLmNvbXBvbmVudEluc3RhbmNlOylpZihpKG89KHM9cy5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUpLmRhdGEpJiZpKG89by50cmFuc2l0aW9uKSl7Zm9yKG89MDtvPHIuYWN0aXZhdGUubGVuZ3RoOysrbylyLmFjdGl2YXRlW29dKGRyLHMpO2UucHVzaChzKTticmVha31wKG4sdC5lbG0sYSl9KHQsZSxuLGEpLCEwfX0odCxlLG4sYSkpe3ZhciBkPXQuZGF0YSx2PXQuY2hpbGRyZW4sZz10LnRhZztpKGcpPyh0LmVsbT10Lm5zP3UuY3JlYXRlRWxlbWVudE5TKHQubnMsZyk6dS5jcmVhdGVFbGVtZW50KGcsdCkseSh0KSxoKHQsdixlKSxpKGQpJiZtKHQsZSkscChuLHQuZWxtLGEpKTpvKHQuaXNDb21tZW50KT8odC5lbG09dS5jcmVhdGVDb21tZW50KHQudGV4dCkscChuLHQuZWxtLGEpKToodC5lbG09dS5jcmVhdGVUZXh0Tm9kZSh0LnRleHQpLHAobix0LmVsbSxhKSl9fWZ1bmN0aW9uIGYodCxlKXtpKHQuZGF0YS5wZW5kaW5nSW5zZXJ0KSYmKGUucHVzaC5hcHBseShlLHQuZGF0YS5wZW5kaW5nSW5zZXJ0KSx0LmRhdGEucGVuZGluZ0luc2VydD1udWxsKSx0LmVsbT10LmNvbXBvbmVudEluc3RhbmNlLiRlbCx2KHQpPyhtKHQsZSkseSh0KSk6KGNyKHQpLGUucHVzaCh0KSl9ZnVuY3Rpb24gcCh0LGUsbil7aSh0KSYmKGkobik/dS5wYXJlbnROb2RlKG4pPT09dCYmdS5pbnNlcnRCZWZvcmUodCxlLG4pOnUuYXBwZW5kQ2hpbGQodCxlKSl9ZnVuY3Rpb24gaCh0LGUsbil7aWYoQXJyYXkuaXNBcnJheShlKSl7MDtmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcilkKGVbcl0sbix0LmVsbSxudWxsLCEwLGUscil9ZWxzZSBzKHQudGV4dCkmJnUuYXBwZW5kQ2hpbGQodC5lbG0sdS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcodC50ZXh0KSkpfWZ1bmN0aW9uIHYodCl7Zm9yKDt0LmNvbXBvbmVudEluc3RhbmNlOyl0PXQuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlO3JldHVybiBpKHQudGFnKX1mdW5jdGlvbiBtKHQsbil7Zm9yKHZhciBhPTA7YTxyLmNyZWF0ZS5sZW5ndGg7KythKXIuY3JlYXRlW2FdKGRyLHQpO2koZT10LmRhdGEuaG9vaykmJihpKGUuY3JlYXRlKSYmZS5jcmVhdGUoZHIsdCksaShlLmluc2VydCkmJm4ucHVzaCh0KSl9ZnVuY3Rpb24geSh0KXt2YXIgZTtpZihpKGU9dC5mblNjb3BlSWQpKXUuc2V0U3R5bGVTY29wZSh0LmVsbSxlKTtlbHNlIGZvcih2YXIgbj10O247KWkoZT1uLmNvbnRleHQpJiZpKGU9ZS4kb3B0aW9ucy5fc2NvcGVJZCkmJnUuc2V0U3R5bGVTY29wZSh0LmVsbSxlKSxuPW4ucGFyZW50O2koZT1ubikmJmUhPT10LmNvbnRleHQmJmUhPT10LmZuQ29udGV4dCYmaShlPWUuJG9wdGlvbnMuX3Njb3BlSWQpJiZ1LnNldFN0eWxlU2NvcGUodC5lbG0sZSl9ZnVuY3Rpb24gYih0LGUsbixyLGEsaSl7Zm9yKDtyPD1hOysrcilkKG5bcl0saSx0LGUsITEsbixyKX1mdW5jdGlvbiB3KHQpe3ZhciBlLG4sYT10LmRhdGE7aWYoaShhKSlmb3IoaShlPWEuaG9vaykmJmkoZT1lLmRlc3Ryb3kpJiZlKHQpLGU9MDtlPHIuZGVzdHJveS5sZW5ndGg7KytlKXIuZGVzdHJveVtlXSh0KTtpZihpKGU9dC5jaGlsZHJlbikpZm9yKG49MDtuPHQuY2hpbGRyZW4ubGVuZ3RoOysrbil3KHQuY2hpbGRyZW5bbl0pfWZ1bmN0aW9uIF8odCxlLG4pe2Zvcig7ZTw9bjsrK2Upe3ZhciByPXRbZV07aShyKSYmKGkoci50YWcpPyhDKHIpLHcocikpOmMoci5lbG0pKX19ZnVuY3Rpb24gQyh0LGUpe2lmKGkoZSl8fGkodC5kYXRhKSl7dmFyIG4sYT1yLnJlbW92ZS5sZW5ndGgrMTtmb3IoaShlKT9lLmxpc3RlbmVycys9YTplPWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbigpezA9PS0tbi5saXN0ZW5lcnMmJmModCl9cmV0dXJuIG4ubGlzdGVuZXJzPWUsbn0odC5lbG0sYSksaShuPXQuY29tcG9uZW50SW5zdGFuY2UpJiZpKG49bi5fdm5vZGUpJiZpKG4uZGF0YSkmJkMobixlKSxuPTA7bjxyLnJlbW92ZS5sZW5ndGg7KytuKXIucmVtb3ZlW25dKHQsZSk7aShuPXQuZGF0YS5ob29rKSYmaShuPW4ucmVtb3ZlKT9uKHQsZSk6ZSgpfWVsc2UgYyh0LmVsbSl9ZnVuY3Rpb24geCh0LGUsbixyKXtmb3IodmFyIGE9bjthPHI7YSsrKXt2YXIgbz1lW2FdO2lmKGkobykmJnByKHQsbykpcmV0dXJuIGF9fWZ1bmN0aW9uIFQodCxlLG4scyxsLGMpe2lmKHQhPT1lKXtpKGUuZWxtKSYmaShzKSYmKGU9c1tsXT1fdChlKSk7dmFyIGY9ZS5lbG09dC5lbG07aWYobyh0LmlzQXN5bmNQbGFjZWhvbGRlcikpaShlLmFzeW5jRmFjdG9yeS5yZXNvbHZlZCk/ayh0LmVsbSxlLG4pOmUuaXNBc3luY1BsYWNlaG9sZGVyPSEwO2Vsc2UgaWYobyhlLmlzU3RhdGljKSYmbyh0LmlzU3RhdGljKSYmZS5rZXk9PT10LmtleSYmKG8oZS5pc0Nsb25lZCl8fG8oZS5pc09uY2UpKSllLmNvbXBvbmVudEluc3RhbmNlPXQuY29tcG9uZW50SW5zdGFuY2U7ZWxzZXt2YXIgcCxoPWUuZGF0YTtpKGgpJiZpKHA9aC5ob29rKSYmaShwPXAucHJlcGF0Y2gpJiZwKHQsZSk7dmFyIGc9dC5jaGlsZHJlbixtPWUuY2hpbGRyZW47aWYoaShoKSYmdihlKSl7Zm9yKHA9MDtwPHIudXBkYXRlLmxlbmd0aDsrK3Apci51cGRhdGVbcF0odCxlKTtpKHA9aC5ob29rKSYmaShwPXAudXBkYXRlKSYmcCh0LGUpfWEoZS50ZXh0KT9pKGcpJiZpKG0pP2chPT1tJiZmdW5jdGlvbih0LGUsbixyLG8pe3ZhciBzLGwsYyxmPTAscD0wLGg9ZS5sZW5ndGgtMSx2PWVbMF0sZz1lW2hdLG09bi5sZW5ndGgtMSx5PW5bMF0sdz1uW21dLEM9IW87Zm9yKDtmPD1oJiZwPD1tOylhKHYpP3Y9ZVsrK2ZdOmEoZyk/Zz1lWy0taF06cHIodix5KT8oVCh2LHkscixuLHApLHY9ZVsrK2ZdLHk9blsrK3BdKTpwcihnLHcpPyhUKGcsdyxyLG4sbSksZz1lWy0taF0sdz1uWy0tbV0pOnByKHYsdyk/KFQodix3LHIsbixtKSxDJiZ1Lmluc2VydEJlZm9yZSh0LHYuZWxtLHUubmV4dFNpYmxpbmcoZy5lbG0pKSx2PWVbKytmXSx3PW5bLS1tXSk6cHIoZyx5KT8oVChnLHkscixuLHApLEMmJnUuaW5zZXJ0QmVmb3JlKHQsZy5lbG0sdi5lbG0pLGc9ZVstLWhdLHk9blsrK3BdKTooYShzKSYmKHM9aHIoZSxmLGgpKSxhKGw9aSh5LmtleSk/c1t5LmtleV06eCh5LGUsZixoKSk/ZCh5LHIsdCx2LmVsbSwhMSxuLHApOnByKGM9ZVtsXSx5KT8oVChjLHkscixuLHApLGVbbF09dm9pZCAwLEMmJnUuaW5zZXJ0QmVmb3JlKHQsYy5lbG0sdi5lbG0pKTpkKHkscix0LHYuZWxtLCExLG4scCkseT1uWysrcF0pO2Y+aD9iKHQsYShuW20rMV0pP251bGw6blttKzFdLmVsbSxuLHAsbSxyKTpwPm0mJl8oZSxmLGgpfShmLGcsbSxuLGMpOmkobSk/KGkodC50ZXh0KSYmdS5zZXRUZXh0Q29udGVudChmLCIiKSxiKGYsbnVsbCxtLDAsbS5sZW5ndGgtMSxuKSk6aShnKT9fKGcsMCxnLmxlbmd0aC0xKTppKHQudGV4dCkmJnUuc2V0VGV4dENvbnRlbnQoZiwiIik6dC50ZXh0IT09ZS50ZXh0JiZ1LnNldFRleHRDb250ZW50KGYsZS50ZXh0KSxpKGgpJiZpKHA9aC5ob29rKSYmaShwPXAucG9zdHBhdGNoKSYmcCh0LGUpfX19ZnVuY3Rpb24gUCh0LGUsbil7aWYobyhuKSYmaSh0LnBhcmVudCkpdC5wYXJlbnQuZGF0YS5wZW5kaW5nSW5zZXJ0PWU7ZWxzZSBmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcillW3JdLmRhdGEuaG9vay5pbnNlcnQoZVtyXSl9dmFyIFM9ZygiYXR0cnMsY2xhc3Msc3RhdGljQ2xhc3Msc3RhdGljU3R5bGUsa2V5Iik7ZnVuY3Rpb24gayh0LGUsbixyKXt2YXIgYSxzPWUudGFnLGw9ZS5kYXRhLHU9ZS5jaGlsZHJlbjtpZihyPXJ8fGwmJmwucHJlLGUuZWxtPXQsbyhlLmlzQ29tbWVudCkmJmkoZS5hc3luY0ZhY3RvcnkpKXJldHVybiBlLmlzQXN5bmNQbGFjZWhvbGRlcj0hMCwhMDtpZihpKGwpJiYoaShhPWwuaG9vaykmJmkoYT1hLmluaXQpJiZhKGUsITApLGkoYT1lLmNvbXBvbmVudEluc3RhbmNlKSkpcmV0dXJuIGYoZSxuKSwhMDtpZihpKHMpKXtpZihpKHUpKWlmKHQuaGFzQ2hpbGROb2RlcygpKWlmKGkoYT1sKSYmaShhPWEuZG9tUHJvcHMpJiZpKGE9YS5pbm5lckhUTUwpKXtpZihhIT09dC5pbm5lckhUTUwpcmV0dXJuITF9ZWxzZXtmb3IodmFyIGM9ITAsZD10LmZpcnN0Q2hpbGQscD0wO3A8dS5sZW5ndGg7cCsrKXtpZighZHx8IWsoZCx1W3BdLG4scikpe2M9ITE7YnJlYWt9ZD1kLm5leHRTaWJsaW5nfWlmKCFjfHxkKXJldHVybiExfWVsc2UgaChlLHUsbik7aWYoaShsKSl7dmFyIHY9ITE7Zm9yKHZhciBnIGluIGwpaWYoIVMoZykpe3Y9ITAsbShlLG4pO2JyZWFrfSF2JiZsLmNsYXNzJiZzZShsLmNsYXNzKX19ZWxzZSB0LmRhdGEhPT1lLnRleHQmJih0LmRhdGE9ZS50ZXh0KTtyZXR1cm4hMH1yZXR1cm4gZnVuY3Rpb24odCxlLG4scyl7aWYoIWEoZSkpe3ZhciBsLGM9ITEsZj1bXTtpZihhKHQpKWM9ITAsZChlLGYpO2Vsc2V7dmFyIHA9aSh0Lm5vZGVUeXBlKTtpZighcCYmcHIodCxlKSlUKHQsZSxmLG51bGwsbnVsbCxzKTtlbHNle2lmKHApe2lmKDE9PT10Lm5vZGVUeXBlJiZ0Lmhhc0F0dHJpYnV0ZShqKSYmKHQucmVtb3ZlQXR0cmlidXRlKGopLG49ITApLG8obikmJmsodCxlLGYpKXJldHVybiBQKGUsZiwhMCksdDtsPXQsdD1uZXcgbXQodS50YWdOYW1lKGwpLnRvTG93ZXJDYXNlKCkse30sW10sdm9pZCAwLGwpfXZhciBoPXQuZWxtLGc9dS5wYXJlbnROb2RlKGgpO2lmKGQoZSxmLGguX2xlYXZlQ2I/bnVsbDpnLHUubmV4dFNpYmxpbmcoaCkpLGkoZS5wYXJlbnQpKWZvcih2YXIgbT1lLnBhcmVudCx5PXYoZSk7bTspe2Zvcih2YXIgYj0wO2I8ci5kZXN0cm95Lmxlbmd0aDsrK2Ipci5kZXN0cm95W2JdKG0pO2lmKG0uZWxtPWUuZWxtLHkpe2Zvcih2YXIgQz0wO0M8ci5jcmVhdGUubGVuZ3RoOysrQylyLmNyZWF0ZVtDXShkcixtKTt2YXIgeD1tLmRhdGEuaG9vay5pbnNlcnQ7aWYoeC5tZXJnZWQpZm9yKHZhciBTPTE7Uzx4LmZucy5sZW5ndGg7UysrKXguZm5zW1NdKCl9ZWxzZSBjcihtKTttPW0ucGFyZW50fWkoZyk/XyhbdF0sMCwwKTppKHQudGFnKSYmdyh0KX19cmV0dXJuIFAoZSxmLGMpLGUuZWxtfWkodCkmJncodCl9fSh7bm9kZU9wczpscixtb2R1bGVzOltQcixFcixjYSxwYSxUYSxLP3tjcmVhdGU6R2EsYWN0aXZhdGU6R2EscmVtb3ZlOmZ1bmN0aW9uKHQsZSl7ITAhPT10LmRhdGEuc2hvdz9WYSh0LGUpOmUoKX19Ont9XS5jb25jYXQoX3IpfSk7WiYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIiwoZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3QmJnQudm1vZGVsJiZpaSh0LCJpbnB1dCIpfSkpO3ZhciBYYT17aW5zZXJ0ZWQ6ZnVuY3Rpb24odCxlLG4scil7InNlbGVjdCI9PT1uLnRhZz8oci5lbG0mJiFyLmVsbS5fdk9wdGlvbnM/ZmUobiwicG9zdHBhdGNoIiwoZnVuY3Rpb24oKXtYYS5jb21wb25lbnRVcGRhdGVkKHQsZSxuKX0pKTpaYSh0LGUsbi5jb250ZXh0KSx0Ll92T3B0aW9ucz1bXS5tYXAuY2FsbCh0Lm9wdGlvbnMsbmkpKTooInRleHRhcmVhIj09PW4udGFnfHxvcih0LnR5cGUpKSYmKHQuX3ZNb2RpZmllcnM9ZS5tb2RpZmllcnMsZS5tb2RpZmllcnMubGF6eXx8KHQuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIscmkpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLGFpKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYWkpLFomJih0LnZtb2RlbD0hMCkpKX0sY29tcG9uZW50VXBkYXRlZDpmdW5jdGlvbih0LGUsbil7aWYoInNlbGVjdCI9PT1uLnRhZyl7WmEodCxlLG4uY29udGV4dCk7dmFyIHI9dC5fdk9wdGlvbnMsYT10Ll92T3B0aW9ucz1bXS5tYXAuY2FsbCh0Lm9wdGlvbnMsbmkpO2lmKGEuc29tZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4hTSh0LHJbZV0pfSkpKSh0Lm11bHRpcGxlP2UudmFsdWUuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIGVpKHQsYSl9KSk6ZS52YWx1ZSE9PWUub2xkVmFsdWUmJmVpKGUudmFsdWUsYSkpJiZpaSh0LCJjaGFuZ2UiKX19fTtmdW5jdGlvbiBaYSh0LGUsbil7dGkodCxlLG4pLChYfHx0dCkmJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dGkodCxlLG4pfSksMCl9ZnVuY3Rpb24gdGkodCxlLG4pe3ZhciByPWUudmFsdWUsYT10Lm11bHRpcGxlO2lmKCFhfHxBcnJheS5pc0FycmF5KHIpKXtmb3IodmFyIGksbyxzPTAsbD10Lm9wdGlvbnMubGVuZ3RoO3M8bDtzKyspaWYobz10Lm9wdGlvbnNbc10sYSlpPUkocixuaShvKSk+LTEsby5zZWxlY3RlZCE9PWkmJihvLnNlbGVjdGVkPWkpO2Vsc2UgaWYoTShuaShvKSxyKSlyZXR1cm4gdm9pZCh0LnNlbGVjdGVkSW5kZXghPT1zJiYodC5zZWxlY3RlZEluZGV4PXMpKTthfHwodC5zZWxlY3RlZEluZGV4PS0xKX19ZnVuY3Rpb24gZWkodCxlKXtyZXR1cm4gZS5ldmVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIU0oZSx0KX0pKX1mdW5jdGlvbiBuaSh0KXtyZXR1cm4iX3ZhbHVlImluIHQ/dC5fdmFsdWU6dC52YWx1ZX1mdW5jdGlvbiByaSh0KXt0LnRhcmdldC5jb21wb3Npbmc9ITB9ZnVuY3Rpb24gYWkodCl7dC50YXJnZXQuY29tcG9zaW5nJiYodC50YXJnZXQuY29tcG9zaW5nPSExLGlpKHQudGFyZ2V0LCJpbnB1dCIpKX1mdW5jdGlvbiBpaSh0LGUpe3ZhciBuPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJIVE1MRXZlbnRzIik7bi5pbml0RXZlbnQoZSwhMCwhMCksdC5kaXNwYXRjaEV2ZW50KG4pfWZ1bmN0aW9uIG9pKHQpe3JldHVybiF0LmNvbXBvbmVudEluc3RhbmNlfHx0LmRhdGEmJnQuZGF0YS50cmFuc2l0aW9uP3Q6b2kodC5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUpfXZhciBzaT17YmluZDpmdW5jdGlvbih0LGUsbil7dmFyIHI9ZS52YWx1ZSxhPShuPW9pKG4pKS5kYXRhJiZuLmRhdGEudHJhbnNpdGlvbixpPXQuX192T3JpZ2luYWxEaXNwbGF5PSJub25lIj09PXQuc3R5bGUuZGlzcGxheT8iIjp0LnN0eWxlLmRpc3BsYXk7ciYmYT8obi5kYXRhLnNob3c9ITAsV2EobiwoZnVuY3Rpb24oKXt0LnN0eWxlLmRpc3BsYXk9aX0pKSk6dC5zdHlsZS5kaXNwbGF5PXI/aToibm9uZSJ9LHVwZGF0ZTpmdW5jdGlvbih0LGUsbil7dmFyIHI9ZS52YWx1ZTshciE9IWUub2xkVmFsdWUmJigobj1vaShuKSkuZGF0YSYmbi5kYXRhLnRyYW5zaXRpb24/KG4uZGF0YS5zaG93PSEwLHI/V2EobiwoZnVuY3Rpb24oKXt0LnN0eWxlLmRpc3BsYXk9dC5fX3ZPcmlnaW5hbERpc3BsYXl9KSk6VmEobiwoZnVuY3Rpb24oKXt0LnN0eWxlLmRpc3BsYXk9Im5vbmUifSkpKTp0LnN0eWxlLmRpc3BsYXk9cj90Ll9fdk9yaWdpbmFsRGlzcGxheToibm9uZSIpfSx1bmJpbmQ6ZnVuY3Rpb24odCxlLG4scixhKXthfHwodC5zdHlsZS5kaXNwbGF5PXQuX192T3JpZ2luYWxEaXNwbGF5KX19LGxpPXttb2RlbDpYYSxzaG93OnNpfSx1aT17bmFtZTpTdHJpbmcsYXBwZWFyOkJvb2xlYW4sY3NzOkJvb2xlYW4sbW9kZTpTdHJpbmcsdHlwZTpTdHJpbmcsZW50ZXJDbGFzczpTdHJpbmcsbGVhdmVDbGFzczpTdHJpbmcsZW50ZXJUb0NsYXNzOlN0cmluZyxsZWF2ZVRvQ2xhc3M6U3RyaW5nLGVudGVyQWN0aXZlQ2xhc3M6U3RyaW5nLGxlYXZlQWN0aXZlQ2xhc3M6U3RyaW5nLGFwcGVhckNsYXNzOlN0cmluZyxhcHBlYXJBY3RpdmVDbGFzczpTdHJpbmcsYXBwZWFyVG9DbGFzczpTdHJpbmcsZHVyYXRpb246W051bWJlcixTdHJpbmcsT2JqZWN0XX07ZnVuY3Rpb24gY2kodCl7dmFyIGU9dCYmdC5jb21wb25lbnRPcHRpb25zO3JldHVybiBlJiZlLkN0b3Iub3B0aW9ucy5hYnN0cmFjdD9jaShKZShlLmNoaWxkcmVuKSk6dH1mdW5jdGlvbiBkaSh0KXt2YXIgZT17fSxuPXQuJG9wdGlvbnM7Zm9yKHZhciByIGluIG4ucHJvcHNEYXRhKWVbcl09dFtyXTt2YXIgYT1uLl9wYXJlbnRMaXN0ZW5lcnM7Zm9yKHZhciBpIGluIGEpZVtUKGkpXT1hW2ldO3JldHVybiBlfWZ1bmN0aW9uIGZpKHQsZSl7aWYoL1xkLWtlZXAtYWxpdmUkLy50ZXN0KGUudGFnKSlyZXR1cm4gdCgia2VlcC1hbGl2ZSIse3Byb3BzOmUuY29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGF9KX12YXIgcGk9ZnVuY3Rpb24odCl7cmV0dXJuIHQudGFnfHx3ZSh0KX0saGk9ZnVuY3Rpb24odCl7cmV0dXJuInNob3ciPT09dC5uYW1lfSx2aT17bmFtZToidHJhbnNpdGlvbiIscHJvcHM6dWksYWJzdHJhY3Q6ITAscmVuZGVyOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLiRzbG90cy5kZWZhdWx0O2lmKG4mJihuPW4uZmlsdGVyKHBpKSkubGVuZ3RoKXswO3ZhciByPXRoaXMubW9kZTswO3ZhciBhPW5bMF07aWYoZnVuY3Rpb24odCl7Zm9yKDt0PXQucGFyZW50OylpZih0LmRhdGEudHJhbnNpdGlvbilyZXR1cm4hMH0odGhpcy4kdm5vZGUpKXJldHVybiBhO3ZhciBpPWNpKGEpO2lmKCFpKXJldHVybiBhO2lmKHRoaXMuX2xlYXZpbmcpcmV0dXJuIGZpKHQsYSk7dmFyIG89Il9fdHJhbnNpdGlvbi0iK3RoaXMuX3VpZCsiLSI7aS5rZXk9bnVsbD09aS5rZXk/aS5pc0NvbW1lbnQ/bysiY29tbWVudCI6bytpLnRhZzpzKGkua2V5KT8wPT09U3RyaW5nKGkua2V5KS5pbmRleE9mKG8pP2kua2V5Om8raS5rZXk6aS5rZXk7dmFyIGw9KGkuZGF0YXx8KGkuZGF0YT17fSkpLnRyYW5zaXRpb249ZGkodGhpcyksdT10aGlzLl92bm9kZSxjPWNpKHUpO2lmKGkuZGF0YS5kaXJlY3RpdmVzJiZpLmRhdGEuZGlyZWN0aXZlcy5zb21lKGhpKSYmKGkuZGF0YS5zaG93PSEwKSxjJiZjLmRhdGEmJiFmdW5jdGlvbih0LGUpe3JldHVybiBlLmtleT09PXQua2V5JiZlLnRhZz09PXQudGFnfShpLGMpJiYhd2UoYykmJighYy5jb21wb25lbnRJbnN0YW5jZXx8IWMuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlLmlzQ29tbWVudCkpe3ZhciBkPWMuZGF0YS50cmFuc2l0aW9uPUEoe30sbCk7aWYoIm91dC1pbiI9PT1yKXJldHVybiB0aGlzLl9sZWF2aW5nPSEwLGZlKGQsImFmdGVyTGVhdmUiLChmdW5jdGlvbigpe2UuX2xlYXZpbmc9ITEsZS4kZm9yY2VVcGRhdGUoKX0pKSxmaSh0LGEpO2lmKCJpbi1vdXQiPT09cil7aWYod2UoaSkpcmV0dXJuIHU7dmFyIGYscD1mdW5jdGlvbigpe2YoKX07ZmUobCwiYWZ0ZXJFbnRlciIscCksZmUobCwiZW50ZXJDYW5jZWxsZWQiLHApLGZlKGQsImRlbGF5TGVhdmUiLChmdW5jdGlvbih0KXtmPXR9KSl9fXJldHVybiBhfX19LGdpPUEoe3RhZzpTdHJpbmcsbW92ZUNsYXNzOlN0cmluZ30sdWkpO2Z1bmN0aW9uIG1pKHQpe3QuZWxtLl9tb3ZlQ2ImJnQuZWxtLl9tb3ZlQ2IoKSx0LmVsbS5fZW50ZXJDYiYmdC5lbG0uX2VudGVyQ2IoKX1mdW5jdGlvbiB5aSh0KXt0LmRhdGEubmV3UG9zPXQuZWxtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWZ1bmN0aW9uIGJpKHQpe3ZhciBlPXQuZGF0YS5wb3Msbj10LmRhdGEubmV3UG9zLHI9ZS5sZWZ0LW4ubGVmdCxhPWUudG9wLW4udG9wO2lmKHJ8fGEpe3QuZGF0YS5tb3ZlZD0hMDt2YXIgaT10LmVsbS5zdHlsZTtpLnRyYW5zZm9ybT1pLldlYmtpdFRyYW5zZm9ybT0idHJhbnNsYXRlKCIrcisicHgsIithKyJweCkiLGkudHJhbnNpdGlvbkR1cmF0aW9uPSIwcyJ9fWRlbGV0ZSBnaS5tb2RlO3ZhciB3aT17VHJhbnNpdGlvbjp2aSxUcmFuc2l0aW9uR3JvdXA6e3Byb3BzOmdpLGJlZm9yZU1vdW50OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuX3VwZGF0ZTt0aGlzLl91cGRhdGU9ZnVuY3Rpb24obixyKXt2YXIgYT1ybih0KTt0Ll9fcGF0Y2hfXyh0Ll92bm9kZSx0LmtlcHQsITEsITApLHQuX3Zub2RlPXQua2VwdCxhKCksZS5jYWxsKHQsbixyKX19LHJlbmRlcjpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy50YWd8fHRoaXMuJHZub2RlLmRhdGEudGFnfHwic3BhbiIsbj1PYmplY3QuY3JlYXRlKG51bGwpLHI9dGhpcy5wcmV2Q2hpbGRyZW49dGhpcy5jaGlsZHJlbixhPXRoaXMuJHNsb3RzLmRlZmF1bHR8fFtdLGk9dGhpcy5jaGlsZHJlbj1bXSxvPWRpKHRoaXMpLHM9MDtzPGEubGVuZ3RoO3MrKyl7dmFyIGw9YVtzXTtpZihsLnRhZylpZihudWxsIT1sLmtleSYmMCE9PVN0cmluZyhsLmtleSkuaW5kZXhPZigiX192bGlzdCIpKWkucHVzaChsKSxuW2wua2V5XT1sLChsLmRhdGF8fChsLmRhdGE9e30pKS50cmFuc2l0aW9uPW87ZWxzZTt9aWYocil7Zm9yKHZhciB1PVtdLGM9W10sZD0wO2Q8ci5sZW5ndGg7ZCsrKXt2YXIgZj1yW2RdO2YuZGF0YS50cmFuc2l0aW9uPW8sZi5kYXRhLnBvcz1mLmVsbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuW2Yua2V5XT91LnB1c2goZik6Yy5wdXNoKGYpfXRoaXMua2VwdD10KGUsbnVsbCx1KSx0aGlzLnJlbW92ZWQ9Y31yZXR1cm4gdChlLG51bGwsaSl9LHVwZGF0ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnByZXZDaGlsZHJlbixlPXRoaXMubW92ZUNsYXNzfHwodGhpcy5uYW1lfHwidiIpKyItbW92ZSI7dC5sZW5ndGgmJnRoaXMuaGFzTW92ZSh0WzBdLmVsbSxlKSYmKHQuZm9yRWFjaChtaSksdC5mb3JFYWNoKHlpKSx0LmZvckVhY2goYmkpLHRoaXMuX3JlZmxvdz1kb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCx0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKHQuZGF0YS5tb3ZlZCl7dmFyIG49dC5lbG0scj1uLnN0eWxlO0xhKG4sZSksci50cmFuc2Zvcm09ci5XZWJraXRUcmFuc2Zvcm09ci50cmFuc2l0aW9uRHVyYXRpb249IiIsbi5hZGRFdmVudExpc3RlbmVyKEZhLG4uX21vdmVDYj1mdW5jdGlvbiB0KHIpe3ImJnIudGFyZ2V0IT09bnx8ciYmIS90cmFuc2Zvcm0kLy50ZXN0KHIucHJvcGVydHlOYW1lKXx8KG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihGYSx0KSxuLl9tb3ZlQ2I9bnVsbCxVYShuLGUpKX0pfX0pKSl9LG1ldGhvZHM6e2hhc01vdmU6ZnVuY3Rpb24odCxlKXtpZighQWEpcmV0dXJuITE7aWYodGhpcy5faGFzTW92ZSlyZXR1cm4gdGhpcy5faGFzTW92ZTt2YXIgbj10LmNsb25lTm9kZSgpO3QuX3RyYW5zaXRpb25DbGFzc2VzJiZ0Ll90cmFuc2l0aW9uQ2xhc3Nlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtrYShuLHQpfSkpLFNhKG4sZSksbi5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLiRlbC5hcHBlbmRDaGlsZChuKTt2YXIgcj16YShuKTtyZXR1cm4gdGhpcy4kZWwucmVtb3ZlQ2hpbGQobiksdGhpcy5faGFzTW92ZT1yLmhhc1RyYW5zZm9ybX19fX07RG4uY29uZmlnLm11c3RVc2VQcm9wPUJuLERuLmNvbmZpZy5pc1Jlc2VydmVkVGFnPXJyLERuLmNvbmZpZy5pc1Jlc2VydmVkQXR0cj1VbixEbi5jb25maWcuZ2V0VGFnTmFtZXNwYWNlPWFyLERuLmNvbmZpZy5pc1Vua25vd25FbGVtZW50PWZ1bmN0aW9uKHQpe2lmKCFLKXJldHVybiEwO2lmKHJyKHQpKXJldHVybiExO2lmKHQ9dC50b0xvd2VyQ2FzZSgpLG51bGwhPWlyW3RdKXJldHVybiBpclt0XTt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiB0LmluZGV4T2YoIi0iKT4tMT9pclt0XT1lLmNvbnN0cnVjdG9yPT09d2luZG93LkhUTUxVbmtub3duRWxlbWVudHx8ZS5jb25zdHJ1Y3Rvcj09PXdpbmRvdy5IVE1MRWxlbWVudDppclt0XT0vSFRNTFVua25vd25FbGVtZW50Ly50ZXN0KGUudG9TdHJpbmcoKSl9LEEoRG4ub3B0aW9ucy5kaXJlY3RpdmVzLGxpKSxBKERuLm9wdGlvbnMuY29tcG9uZW50cyx3aSksRG4ucHJvdG90eXBlLl9fcGF0Y2hfXz1LP0phOlIsRG4ucHJvdG90eXBlLiRtb3VudD1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbih0LGUsbil7dmFyIHI7cmV0dXJuIHQuJGVsPWUsdC4kb3B0aW9ucy5yZW5kZXJ8fCh0LiRvcHRpb25zLnJlbmRlcj1idCksbG4odCwiYmVmb3JlTW91bnQiKSxyPWZ1bmN0aW9uKCl7dC5fdXBkYXRlKHQuX3JlbmRlcigpLG4pfSxuZXcgd24odCxyLFIse2JlZm9yZTpmdW5jdGlvbigpe3QuX2lzTW91bnRlZCYmIXQuX2lzRGVzdHJveWVkJiZsbih0LCJiZWZvcmVVcGRhdGUiKX19LCEwKSxuPSExLG51bGw9PXQuJHZub2RlJiYodC5faXNNb3VudGVkPSEwLGxuKHQsIm1vdW50ZWQiKSksdH0odGhpcyx0PXQmJks/c3IodCk6dm9pZCAwLGUpfSxLJiZzZXRUaW1lb3V0KChmdW5jdGlvbigpe0guZGV2dG9vbHMmJnN0JiZzdC5lbWl0KCJpbml0IixEbil9KSwwKTt2YXIgX2k9L1x7XHsoKD86Lnxccj9cbikrPylcfVx9L2csQ2k9L1stLiorP14ke30oKXxbXF1cL1xcXS9nLHhpPUMoKGZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0ucmVwbGFjZShDaSwiXFwkJiIpLG49dFsxXS5yZXBsYWNlKENpLCJcXCQmIik7cmV0dXJuIG5ldyBSZWdFeHAoZSsiKCg/Oi58XFxuKSs/KSIrbiwiZyIpfSkpO3ZhciBUaT17c3RhdGljS2V5czpbInN0YXRpY0NsYXNzIl0sdHJhbnNmb3JtTm9kZTpmdW5jdGlvbih0LGUpe2Uud2Fybjt2YXIgbj1Xcih0LCJjbGFzcyIpO24mJih0LnN0YXRpY0NsYXNzPUpTT04uc3RyaW5naWZ5KG4pKTt2YXIgcj1Zcih0LCJjbGFzcyIsITEpO3ImJih0LmNsYXNzQmluZGluZz1yKX0sZ2VuRGF0YTpmdW5jdGlvbih0KXt2YXIgZT0iIjtyZXR1cm4gdC5zdGF0aWNDbGFzcyYmKGUrPSJzdGF0aWNDbGFzczoiK3Quc3RhdGljQ2xhc3MrIiwiKSx0LmNsYXNzQmluZGluZyYmKGUrPSJjbGFzczoiK3QuY2xhc3NCaW5kaW5nKyIsIiksZX19O3ZhciBQaSxTaT17c3RhdGljS2V5czpbInN0YXRpY1N0eWxlIl0sdHJhbnNmb3JtTm9kZTpmdW5jdGlvbih0LGUpe2Uud2Fybjt2YXIgbj1Xcih0LCJzdHlsZSIpO24mJih0LnN0YXRpY1N0eWxlPUpTT04uc3RyaW5naWZ5KGhhKG4pKSk7dmFyIHI9WXIodCwic3R5bGUiLCExKTtyJiYodC5zdHlsZUJpbmRpbmc9cil9LGdlbkRhdGE6ZnVuY3Rpb24odCl7dmFyIGU9IiI7cmV0dXJuIHQuc3RhdGljU3R5bGUmJihlKz0ic3RhdGljU3R5bGU6Iit0LnN0YXRpY1N0eWxlKyIsIiksdC5zdHlsZUJpbmRpbmcmJihlKz0ic3R5bGU6KCIrdC5zdHlsZUJpbmRpbmcrIiksIiksZX19LGtpPWZ1bmN0aW9uKHQpe3JldHVybihQaT1QaXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD10LFBpLnRleHRDb250ZW50fSxPaT1nKCJhcmVhLGJhc2UsYnIsY29sLGVtYmVkLGZyYW1lLGhyLGltZyxpbnB1dCxpc2luZGV4LGtleWdlbixsaW5rLG1ldGEscGFyYW0sc291cmNlLHRyYWNrLHdiciIpLCRpPWcoImNvbGdyb3VwLGRkLGR0LGxpLG9wdGlvbnMscCx0ZCx0Zm9vdCx0aCx0aGVhZCx0cixzb3VyY2UiKSxBaT1nKCJhZGRyZXNzLGFydGljbGUsYXNpZGUsYmFzZSxibG9ja3F1b3RlLGJvZHksY2FwdGlvbixjb2wsY29sZ3JvdXAsZGQsZGV0YWlscyxkaWFsb2csZGl2LGRsLGR0LGZpZWxkc2V0LGZpZ2NhcHRpb24sZmlndXJlLGZvb3Rlcixmb3JtLGgxLGgyLGgzLGg0LGg1LGg2LGhlYWQsaGVhZGVyLGhncm91cCxocixodG1sLGxlZ2VuZCxsaSxtZW51aXRlbSxtZXRhLG9wdGdyb3VwLG9wdGlvbixwYXJhbSxycCxydCxzb3VyY2Usc3R5bGUsc3VtbWFyeSx0Ym9keSx0ZCx0Zm9vdCx0aCx0aGVhZCx0aXRsZSx0cix0cmFjayIpLERpPS9eXHMqKFteXHMiJzw+XC89XSspKD86XHMqKD0pXHMqKD86IihbXiJdKikiK3wnKFteJ10qKScrfChbXlxzIic9PD5gXSspKSk/LyxSaT0vXlxzKigoPzp2LVtcdy1dKzp8QHw6fCMpXFtbXj1dKz9cXVteXHMiJzw+XC89XSopKD86XHMqKD0pXHMqKD86IihbXiJdKikiK3wnKFteJ10qKScrfChbXlxzIic9PD5gXSspKSk/LyxFaT0iW2EtekEtWl9dW1xcLVxcLjAtOV9hLXpBLVoiK0Iuc291cmNlKyJdKiIsRmk9IigoPzoiK0VpKyJcXDopPyIrRWkrIikiLE1pPW5ldyBSZWdFeHAoIl48IitGaSksSWk9L15ccyooXC8/KT4vLE5pPW5ldyBSZWdFeHAoIl48XFwvIitGaSsiW14+XSo+Iiksamk9L148IURPQ1RZUEUgW14+XSs+L2ksTGk9L148IVwtLS8sVWk9L148IVxbLyxIaT1nKCJzY3JpcHQsc3R5bGUsdGV4dGFyZWEiLCEwKSxCaT17fSx6aT17IiZsdDsiOiI8IiwiJmd0OyI6Ij4iLCImcXVvdDsiOiciJywiJmFtcDsiOiImIiwiJiMxMDsiOiJcbiIsIiYjOTsiOiJcdCIsIiYjMzk7IjoiJyJ9LHFpPS8mKD86bHR8Z3R8cXVvdHxhbXB8IzM5KTsvZyxZaT0vJig/Omx0fGd0fHF1b3R8YW1wfCMzOXwjMTB8IzkpOy9nLFdpPWcoInByZSx0ZXh0YXJlYSIsITApLFZpPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJldpKHQpJiYiXG4iPT09ZVswXX07ZnVuY3Rpb24gS2kodCxlKXt2YXIgbj1lP1lpOnFpO3JldHVybiB0LnJlcGxhY2UobiwoZnVuY3Rpb24odCl7cmV0dXJuIHppW3RdfSkpfXZhciBRaSxHaSxKaSxYaSxaaSx0byxlbyxubyxybz0vXkB8XnYtb246Lyxhbz0vXnYtfF5AfF46fF4jLyxpbz0vKFtcc1xTXSo/KVxzKyg/OmlufG9mKVxzKyhbXHNcU10qKS8sb289LywoW14sXH1cXV0qKSg/OiwoW14sXH1cXV0qKSk/JC8sc289L15cKHxcKSQvZyxsbz0vXlxbLipcXSQvLHVvPS86KC4qKSQvLGNvPS9eOnxeXC58XnYtYmluZDovLGZvPS9cLlteLlxdXSsoPz1bXlxdXSokKS9nLHBvPS9edi1zbG90KDp8JCl8XiMvLGhvPS9bXHJcbl0vLHZvPS9bIFxmXHRcclxuXSsvZyxnbz1DKGtpKSxtbz0iX2VtcHR5XyI7ZnVuY3Rpb24geW8odCxlLG4pe3JldHVybnt0eXBlOjEsdGFnOnQsYXR0cnNMaXN0OmUsYXR0cnNNYXA6UG8oZSkscmF3QXR0cnNNYXA6e30scGFyZW50Om4sY2hpbGRyZW46W119fWZ1bmN0aW9uIGJvKHQsZSl7UWk9ZS53YXJufHxOcix0bz1lLmlzUHJlVGFnfHxFLGVvPWUubXVzdFVzZVByb3B8fEUsbm89ZS5nZXRUYWdOYW1lc3BhY2V8fEU7dmFyIG49ZS5pc1Jlc2VydmVkVGFnfHxFOyhmdW5jdGlvbih0KXtyZXR1cm4hKCEodC5jb21wb25lbnR8fHQuYXR0cnNNYXBbIjppcyJdfHx0LmF0dHJzTWFwWyJ2LWJpbmQ6aXMiXSkmJih0LmF0dHJzTWFwLmlzP24odC5hdHRyc01hcC5pcyk6bih0LnRhZykpKX0pLEppPWpyKGUubW9kdWxlcywidHJhbnNmb3JtTm9kZSIpLFhpPWpyKGUubW9kdWxlcywicHJlVHJhbnNmb3JtTm9kZSIpLFppPWpyKGUubW9kdWxlcywicG9zdFRyYW5zZm9ybU5vZGUiKSxHaT1lLmRlbGltaXRlcnM7dmFyIHIsYSxpPVtdLG89ITEhPT1lLnByZXNlcnZlV2hpdGVzcGFjZSxzPWUud2hpdGVzcGFjZSxsPSExLHU9ITE7ZnVuY3Rpb24gYyh0KXtpZihkKHQpLGx8fHQucHJvY2Vzc2VkfHwodD13byh0LGUpKSxpLmxlbmd0aHx8dD09PXJ8fHIuaWYmJih0LmVsc2VpZnx8dC5lbHNlKSYmQ28ocix7ZXhwOnQuZWxzZWlmLGJsb2NrOnR9KSxhJiYhdC5mb3JiaWRkZW4paWYodC5lbHNlaWZ8fHQuZWxzZSlvPXQscz1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5sZW5ndGg7ZS0tOyl7aWYoMT09PXRbZV0udHlwZSlyZXR1cm4gdFtlXTt0LnBvcCgpfX0oYS5jaGlsZHJlbikscyYmcy5pZiYmQ28ocyx7ZXhwOm8uZWxzZWlmLGJsb2NrOm99KTtlbHNle2lmKHQuc2xvdFNjb3BlKXt2YXIgbj10LnNsb3RUYXJnZXR8fCciZGVmYXVsdCInOyhhLnNjb3BlZFNsb3RzfHwoYS5zY29wZWRTbG90cz17fSkpW25dPXR9YS5jaGlsZHJlbi5wdXNoKHQpLHQucGFyZW50PWF9dmFyIG8sczt0LmNoaWxkcmVuPXQuY2hpbGRyZW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4hdC5zbG90U2NvcGV9KSksZCh0KSx0LnByZSYmKGw9ITEpLHRvKHQudGFnKSYmKHU9ITEpO2Zvcih2YXIgYz0wO2M8WmkubGVuZ3RoO2MrKylaaVtjXSh0LGUpfWZ1bmN0aW9uIGQodCl7aWYoIXUpZm9yKHZhciBlOyhlPXQuY2hpbGRyZW5bdC5jaGlsZHJlbi5sZW5ndGgtMV0pJiYzPT09ZS50eXBlJiYiICI9PT1lLnRleHQ7KXQuY2hpbGRyZW4ucG9wKCl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuLHIsYT1bXSxpPWUuZXhwZWN0SFRNTCxvPWUuaXNVbmFyeVRhZ3x8RSxzPWUuY2FuQmVMZWZ0T3BlblRhZ3x8RSxsPTA7dDspe2lmKG49dCxyJiZIaShyKSl7dmFyIHU9MCxjPXIudG9Mb3dlckNhc2UoKSxkPUJpW2NdfHwoQmlbY109bmV3IFJlZ0V4cCgiKFtcXHNcXFNdKj8pKDwvIitjKyJbXj5dKj4pIiwiaSIpKSxmPXQucmVwbGFjZShkLChmdW5jdGlvbih0LG4scil7cmV0dXJuIHU9ci5sZW5ndGgsSGkoYyl8fCJub3NjcmlwdCI9PT1jfHwobj1uLnJlcGxhY2UoLzwhXC0tKFtcc1xTXSo/KS0tPi9nLCIkMSIpLnJlcGxhY2UoLzwhXFtDREFUQVxbKFtcc1xTXSo/KV1dPi9nLCIkMSIpKSxWaShjLG4pJiYobj1uLnNsaWNlKDEpKSxlLmNoYXJzJiZlLmNoYXJzKG4pLCIifSkpO2wrPXQubGVuZ3RoLWYubGVuZ3RoLHQ9ZixTKGMsbC11LGwpfWVsc2V7dmFyIHA9dC5pbmRleE9mKCI8Iik7aWYoMD09PXApe2lmKExpLnRlc3QodCkpe3ZhciBoPXQuaW5kZXhPZigiLS1ceDNlIik7aWYoaD49MCl7ZS5zaG91bGRLZWVwQ29tbWVudCYmZS5jb21tZW50KHQuc3Vic3RyaW5nKDQsaCksbCxsK2grMykseChoKzMpO2NvbnRpbnVlfX1pZihVaS50ZXN0KHQpKXt2YXIgdj10LmluZGV4T2YoIl0+Iik7aWYodj49MCl7eCh2KzIpO2NvbnRpbnVlfX12YXIgZz10Lm1hdGNoKGppKTtpZihnKXt4KGdbMF0ubGVuZ3RoKTtjb250aW51ZX12YXIgbT10Lm1hdGNoKE5pKTtpZihtKXt2YXIgeT1sO3gobVswXS5sZW5ndGgpLFMobVsxXSx5LGwpO2NvbnRpbnVlfXZhciBiPVQoKTtpZihiKXtQKGIpLFZpKGIudGFnTmFtZSx0KSYmeCgxKTtjb250aW51ZX19dmFyIHc9dm9pZCAwLF89dm9pZCAwLEM9dm9pZCAwO2lmKHA+PTApe2ZvcihfPXQuc2xpY2UocCk7IShOaS50ZXN0KF8pfHxNaS50ZXN0KF8pfHxMaS50ZXN0KF8pfHxVaS50ZXN0KF8pfHwoQz1fLmluZGV4T2YoIjwiLDEpKTwwKTspcCs9QyxfPXQuc2xpY2UocCk7dz10LnN1YnN0cmluZygwLHApfXA8MCYmKHc9dCksdyYmeCh3Lmxlbmd0aCksZS5jaGFycyYmdyYmZS5jaGFycyh3LGwtdy5sZW5ndGgsbCl9aWYodD09PW4pe2UuY2hhcnMmJmUuY2hhcnModCk7YnJlYWt9fWZ1bmN0aW9uIHgoZSl7bCs9ZSx0PXQuc3Vic3RyaW5nKGUpfWZ1bmN0aW9uIFQoKXt2YXIgZT10Lm1hdGNoKE1pKTtpZihlKXt2YXIgbixyLGE9e3RhZ05hbWU6ZVsxXSxhdHRyczpbXSxzdGFydDpsfTtmb3IoeChlWzBdLmxlbmd0aCk7IShuPXQubWF0Y2goSWkpKSYmKHI9dC5tYXRjaChSaSl8fHQubWF0Y2goRGkpKTspci5zdGFydD1sLHgoclswXS5sZW5ndGgpLHIuZW5kPWwsYS5hdHRycy5wdXNoKHIpO2lmKG4pcmV0dXJuIGEudW5hcnlTbGFzaD1uWzFdLHgoblswXS5sZW5ndGgpLGEuZW5kPWwsYX19ZnVuY3Rpb24gUCh0KXt2YXIgbj10LnRhZ05hbWUsbD10LnVuYXJ5U2xhc2g7aSYmKCJwIj09PXImJkFpKG4pJiZTKHIpLHMobikmJnI9PT1uJiZTKG4pKTtmb3IodmFyIHU9byhuKXx8ISFsLGM9dC5hdHRycy5sZW5ndGgsZD1uZXcgQXJyYXkoYyksZj0wO2Y8YztmKyspe3ZhciBwPXQuYXR0cnNbZl0saD1wWzNdfHxwWzRdfHxwWzVdfHwiIix2PSJhIj09PW4mJiJocmVmIj09PXBbMV0/ZS5zaG91bGREZWNvZGVOZXdsaW5lc0ZvckhyZWY6ZS5zaG91bGREZWNvZGVOZXdsaW5lcztkW2ZdPXtuYW1lOnBbMV0sdmFsdWU6S2koaCx2KX19dXx8KGEucHVzaCh7dGFnOm4sbG93ZXJDYXNlZFRhZzpuLnRvTG93ZXJDYXNlKCksYXR0cnM6ZCxzdGFydDp0LnN0YXJ0LGVuZDp0LmVuZH0pLHI9biksZS5zdGFydCYmZS5zdGFydChuLGQsdSx0LnN0YXJ0LHQuZW5kKX1mdW5jdGlvbiBTKHQsbixpKXt2YXIgbyxzO2lmKG51bGw9PW4mJihuPWwpLG51bGw9PWkmJihpPWwpLHQpZm9yKHM9dC50b0xvd2VyQ2FzZSgpLG89YS5sZW5ndGgtMTtvPj0wJiZhW29dLmxvd2VyQ2FzZWRUYWchPT1zO28tLSk7ZWxzZSBvPTA7aWYobz49MCl7Zm9yKHZhciB1PWEubGVuZ3RoLTE7dT49bzt1LS0pZS5lbmQmJmUuZW5kKGFbdV0udGFnLG4saSk7YS5sZW5ndGg9byxyPW8mJmFbby0xXS50YWd9ZWxzZSJiciI9PT1zP2Uuc3RhcnQmJmUuc3RhcnQodCxbXSwhMCxuLGkpOiJwIj09PXMmJihlLnN0YXJ0JiZlLnN0YXJ0KHQsW10sITEsbixpKSxlLmVuZCYmZS5lbmQodCxuLGkpKX1TKCl9KHQse3dhcm46UWksZXhwZWN0SFRNTDplLmV4cGVjdEhUTUwsaXNVbmFyeVRhZzplLmlzVW5hcnlUYWcsY2FuQmVMZWZ0T3BlblRhZzplLmNhbkJlTGVmdE9wZW5UYWcsc2hvdWxkRGVjb2RlTmV3bGluZXM6ZS5zaG91bGREZWNvZGVOZXdsaW5lcyxzaG91bGREZWNvZGVOZXdsaW5lc0ZvckhyZWY6ZS5zaG91bGREZWNvZGVOZXdsaW5lc0ZvckhyZWYsc2hvdWxkS2VlcENvbW1lbnQ6ZS5jb21tZW50cyxvdXRwdXRTb3VyY2VSYW5nZTplLm91dHB1dFNvdXJjZVJhbmdlLHN0YXJ0OmZ1bmN0aW9uKHQsbixvLHMsZCl7dmFyIGY9YSYmYS5uc3x8bm8odCk7WCYmInN2ZyI9PT1mJiYobj1mdW5jdGlvbih0KXtmb3IodmFyIGU9W10sbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO1NvLnRlc3Qoci5uYW1lKXx8KHIubmFtZT1yLm5hbWUucmVwbGFjZShrbywiIiksZS5wdXNoKHIpKX1yZXR1cm4gZX0obikpO3ZhciBwLGg9eW8odCxuLGEpO2YmJihoLm5zPWYpLCJzdHlsZSIhPT0ocD1oKS50YWcmJigic2NyaXB0IiE9PXAudGFnfHxwLmF0dHJzTWFwLnR5cGUmJiJ0ZXh0L2phdmFzY3JpcHQiIT09cC5hdHRyc01hcC50eXBlKXx8b3QoKXx8KGguZm9yYmlkZGVuPSEwKTtmb3IodmFyIHY9MDt2PFhpLmxlbmd0aDt2KyspaD1YaVt2XShoLGUpfHxoO2x8fCghZnVuY3Rpb24odCl7bnVsbCE9V3IodCwidi1wcmUiKSYmKHQucHJlPSEwKX0oaCksaC5wcmUmJihsPSEwKSksdG8oaC50YWcpJiYodT0hMCksbD9mdW5jdGlvbih0KXt2YXIgZT10LmF0dHJzTGlzdCxuPWUubGVuZ3RoO2lmKG4pZm9yKHZhciByPXQuYXR0cnM9bmV3IEFycmF5KG4pLGE9MDthPG47YSsrKXJbYV09e25hbWU6ZVthXS5uYW1lLHZhbHVlOkpTT04uc3RyaW5naWZ5KGVbYV0udmFsdWUpfSxudWxsIT1lW2FdLnN0YXJ0JiYoclthXS5zdGFydD1lW2FdLnN0YXJ0LHJbYV0uZW5kPWVbYV0uZW5kKTtlbHNlIHQucHJlfHwodC5wbGFpbj0hMCl9KGgpOmgucHJvY2Vzc2VkfHwoX28oaCksZnVuY3Rpb24odCl7dmFyIGU9V3IodCwidi1pZiIpO2lmKGUpdC5pZj1lLENvKHQse2V4cDplLGJsb2NrOnR9KTtlbHNle251bGwhPVdyKHQsInYtZWxzZSIpJiYodC5lbHNlPSEwKTt2YXIgbj1Xcih0LCJ2LWVsc2UtaWYiKTtuJiYodC5lbHNlaWY9bil9fShoKSxmdW5jdGlvbih0KXtudWxsIT1Xcih0LCJ2LW9uY2UiKSYmKHQub25jZT0hMCl9KGgpKSxyfHwocj1oKSxvP2MoaCk6KGE9aCxpLnB1c2goaCkpfSxlbmQ6ZnVuY3Rpb24odCxlLG4pe3ZhciByPWlbaS5sZW5ndGgtMV07aS5sZW5ndGgtPTEsYT1pW2kubGVuZ3RoLTFdLGMocil9LGNoYXJzOmZ1bmN0aW9uKHQsZSxuKXtpZihhJiYoIVh8fCJ0ZXh0YXJlYSIhPT1hLnRhZ3x8YS5hdHRyc01hcC5wbGFjZWhvbGRlciE9PXQpKXt2YXIgcixpLGMsZD1hLmNoaWxkcmVuO2lmKHQ9dXx8dC50cmltKCk/InNjcmlwdCI9PT0ocj1hKS50YWd8fCJzdHlsZSI9PT1yLnRhZz90OmdvKHQpOmQubGVuZ3RoP3M/ImNvbmRlbnNlIj09PXMmJmhvLnRlc3QodCk/IiI6IiAiOm8/IiAiOiIiOiIiKXV8fCJjb25kZW5zZSIhPT1zfHwodD10LnJlcGxhY2Uodm8sIiAiKSksIWwmJiIgIiE9PXQmJihpPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZT94aShlKTpfaTtpZihuLnRlc3QodCkpe2Zvcih2YXIgcixhLGksbz1bXSxzPVtdLGw9bi5sYXN0SW5kZXg9MDtyPW4uZXhlYyh0KTspeyhhPXIuaW5kZXgpPmwmJihzLnB1c2goaT10LnNsaWNlKGwsYSkpLG8ucHVzaChKU09OLnN0cmluZ2lmeShpKSkpO3ZhciB1PU1yKHJbMV0udHJpbSgpKTtvLnB1c2goIl9zKCIrdSsiKSIpLHMucHVzaCh7IkBiaW5kaW5nIjp1fSksbD1hK3JbMF0ubGVuZ3RofXJldHVybiBsPHQubGVuZ3RoJiYocy5wdXNoKGk9dC5zbGljZShsKSksby5wdXNoKEpTT04uc3RyaW5naWZ5KGkpKSkse2V4cHJlc3Npb246by5qb2luKCIrIiksdG9rZW5zOnN9fX0odCxHaSkpP2M9e3R5cGU6MixleHByZXNzaW9uOmkuZXhwcmVzc2lvbix0b2tlbnM6aS50b2tlbnMsdGV4dDp0fToiICI9PT10JiZkLmxlbmd0aCYmIiAiPT09ZFtkLmxlbmd0aC0xXS50ZXh0fHwoYz17dHlwZTozLHRleHQ6dH0pLGMmJmQucHVzaChjKX19LGNvbW1lbnQ6ZnVuY3Rpb24odCxlLG4pe2lmKGEpe3ZhciByPXt0eXBlOjMsdGV4dDp0LGlzQ29tbWVudDohMH07MCxhLmNoaWxkcmVuLnB1c2gocil9fX0pLHJ9ZnVuY3Rpb24gd28odCxlKXt2YXIgbjshZnVuY3Rpb24odCl7dmFyIGU9WXIodCwia2V5Iik7aWYoZSl7dC5rZXk9ZX19KHQpLHQucGxhaW49IXQua2V5JiYhdC5zY29wZWRTbG90cyYmIXQuYXR0cnNMaXN0Lmxlbmd0aCxmdW5jdGlvbih0KXt2YXIgZT1Zcih0LCJyZWYiKTtlJiYodC5yZWY9ZSx0LnJlZkluRm9yPWZ1bmN0aW9uKHQpe3ZhciBlPXQ7Zm9yKDtlOyl7aWYodm9pZCAwIT09ZS5mb3IpcmV0dXJuITA7ZT1lLnBhcmVudH1yZXR1cm4hMX0odCkpfSh0KSxmdW5jdGlvbih0KXt2YXIgZTsidGVtcGxhdGUiPT09dC50YWc/KGU9V3IodCwic2NvcGUiKSx0LnNsb3RTY29wZT1lfHxXcih0LCJzbG90LXNjb3BlIikpOihlPVdyKHQsInNsb3Qtc2NvcGUiKSkmJih0LnNsb3RTY29wZT1lKTt2YXIgbj1Zcih0LCJzbG90Iik7biYmKHQuc2xvdFRhcmdldD0nIiInPT09bj8nImRlZmF1bHQiJzpuLHQuc2xvdFRhcmdldER5bmFtaWM9ISghdC5hdHRyc01hcFsiOnNsb3QiXSYmIXQuYXR0cnNNYXBbInYtYmluZDpzbG90Il0pLCJ0ZW1wbGF0ZSI9PT10LnRhZ3x8dC5zbG90U2NvcGV8fFVyKHQsInNsb3QiLG4sZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5yYXdBdHRyc01hcFsiOiIrZV18fHQucmF3QXR0cnNNYXBbInYtYmluZDoiK2VdfHx0LnJhd0F0dHJzTWFwW2VdfSh0LCJzbG90IikpKTtpZigidGVtcGxhdGUiPT09dC50YWcpe3ZhciByPVZyKHQscG8pO2lmKHIpezA7dmFyIGE9eG8ociksaT1hLm5hbWUsbz1hLmR5bmFtaWM7dC5zbG90VGFyZ2V0PWksdC5zbG90VGFyZ2V0RHluYW1pYz1vLHQuc2xvdFNjb3BlPXIudmFsdWV8fG1vfX1lbHNle3ZhciBzPVZyKHQscG8pO2lmKHMpezA7dmFyIGw9dC5zY29wZWRTbG90c3x8KHQuc2NvcGVkU2xvdHM9e30pLHU9eG8ocyksYz11Lm5hbWUsZD11LmR5bmFtaWMsZj1sW2NdPXlvKCJ0ZW1wbGF0ZSIsW10sdCk7Zi5zbG90VGFyZ2V0PWMsZi5zbG90VGFyZ2V0RHluYW1pYz1kLGYuY2hpbGRyZW49dC5jaGlsZHJlbi5maWx0ZXIoKGZ1bmN0aW9uKHQpe2lmKCF0LnNsb3RTY29wZSlyZXR1cm4gdC5wYXJlbnQ9ZiwhMH0pKSxmLnNsb3RTY29wZT1zLnZhbHVlfHxtbyx0LmNoaWxkcmVuPVtdLHQucGxhaW49ITF9fX0odCksInNsb3QiPT09KG49dCkudGFnJiYobi5zbG90TmFtZT1ZcihuLCJuYW1lIikpLGZ1bmN0aW9uKHQpe3ZhciBlOyhlPVlyKHQsImlzIikpJiYodC5jb21wb25lbnQ9ZSk7bnVsbCE9V3IodCwiaW5saW5lLXRlbXBsYXRlIikmJih0LmlubGluZVRlbXBsYXRlPSEwKX0odCk7Zm9yKHZhciByPTA7cjxKaS5sZW5ndGg7cisrKXQ9Smlbcl0odCxlKXx8dDtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGUsbixyLGEsaSxvLHMsbCx1PXQuYXR0cnNMaXN0O2ZvcihlPTAsbj11Lmxlbmd0aDtlPG47ZSsrKXtpZihyPWE9dVtlXS5uYW1lLGk9dVtlXS52YWx1ZSxhby50ZXN0KHIpKWlmKHQuaGFzQmluZGluZ3M9ITAsKG89VG8oci5yZXBsYWNlKGFvLCIiKSkpJiYocj1yLnJlcGxhY2UoZm8sIiIpKSxjby50ZXN0KHIpKXI9ci5yZXBsYWNlKGNvLCIiKSxpPU1yKGkpLChsPWxvLnRlc3QocikpJiYocj1yLnNsaWNlKDEsLTEpKSxvJiYoby5wcm9wJiYhbCYmImlubmVySHRtbCI9PT0ocj1UKHIpKSYmKHI9ImlubmVySFRNTCIpLG8uY2FtZWwmJiFsJiYocj1UKHIpKSxvLnN5bmMmJihzPUdyKGksIiRldmVudCIpLGw/cXIodCwnInVwZGF0ZToiKygnK3IrIikiLHMsbnVsbCwhMSwwLHVbZV0sITApOihxcih0LCJ1cGRhdGU6IitUKHIpLHMsbnVsbCwhMSwwLHVbZV0pLGsocikhPT1UKHIpJiZxcih0LCJ1cGRhdGU6IitrKHIpLHMsbnVsbCwhMSwwLHVbZV0pKSkpLG8mJm8ucHJvcHx8IXQuY29tcG9uZW50JiZlbyh0LnRhZyx0LmF0dHJzTWFwLnR5cGUscik/THIodCxyLGksdVtlXSxsKTpVcih0LHIsaSx1W2VdLGwpO2Vsc2UgaWYocm8udGVzdChyKSlyPXIucmVwbGFjZShybywiIiksKGw9bG8udGVzdChyKSkmJihyPXIuc2xpY2UoMSwtMSkpLHFyKHQscixpLG8sITEsMCx1W2VdLGwpO2Vsc2V7dmFyIGM9KHI9ci5yZXBsYWNlKGFvLCIiKSkubWF0Y2godW8pLGQ9YyYmY1sxXTtsPSExLGQmJihyPXIuc2xpY2UoMCwtKGQubGVuZ3RoKzEpKSxsby50ZXN0KGQpJiYoZD1kLnNsaWNlKDEsLTEpLGw9ITApKSxCcih0LHIsYSxpLGQsbCxvLHVbZV0pfWVsc2UgVXIodCxyLEpTT04uc3RyaW5naWZ5KGkpLHVbZV0pLCF0LmNvbXBvbmVudCYmIm11dGVkIj09PXImJmVvKHQudGFnLHQuYXR0cnNNYXAudHlwZSxyKSYmTHIodCxyLCJ0cnVlIix1W2VdKX19KHQpLHR9ZnVuY3Rpb24gX28odCl7dmFyIGU7aWYoZT1Xcih0LCJ2LWZvciIpKXt2YXIgbj1mdW5jdGlvbih0KXt2YXIgZT10Lm1hdGNoKGlvKTtpZighZSlyZXR1cm47dmFyIG49e307bi5mb3I9ZVsyXS50cmltKCk7dmFyIHI9ZVsxXS50cmltKCkucmVwbGFjZShzbywiIiksYT1yLm1hdGNoKG9vKTthPyhuLmFsaWFzPXIucmVwbGFjZShvbywiIikudHJpbSgpLG4uaXRlcmF0b3IxPWFbMV0udHJpbSgpLGFbMl0mJihuLml0ZXJhdG9yMj1hWzJdLnRyaW0oKSkpOm4uYWxpYXM9cjtyZXR1cm4gbn0oZSk7biYmQSh0LG4pfX1mdW5jdGlvbiBDbyh0LGUpe3QuaWZDb25kaXRpb25zfHwodC5pZkNvbmRpdGlvbnM9W10pLHQuaWZDb25kaXRpb25zLnB1c2goZSl9ZnVuY3Rpb24geG8odCl7dmFyIGU9dC5uYW1lLnJlcGxhY2UocG8sIiIpO3JldHVybiBlfHwiIyIhPT10Lm5hbWVbMF0mJihlPSJkZWZhdWx0IiksbG8udGVzdChlKT97bmFtZTplLnNsaWNlKDEsLTEpLGR5bmFtaWM6ITB9OntuYW1lOiciJytlKyciJyxkeW5hbWljOiExfX1mdW5jdGlvbiBUbyh0KXt2YXIgZT10Lm1hdGNoKGZvKTtpZihlKXt2YXIgbj17fTtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXtuW3Quc2xpY2UoMSldPSEwfSkpLG59fWZ1bmN0aW9uIFBvKHQpe2Zvcih2YXIgZT17fSxuPTAscj10Lmxlbmd0aDtuPHI7bisrKWVbdFtuXS5uYW1lXT10W25dLnZhbHVlO3JldHVybiBlfXZhciBTbz0vXnhtbG5zOk5TXGQrLyxrbz0vXk5TXGQrOi87ZnVuY3Rpb24gT28odCl7cmV0dXJuIHlvKHQudGFnLHQuYXR0cnNMaXN0LnNsaWNlKCksdC5wYXJlbnQpfXZhciAkbz1bVGksU2kse3ByZVRyYW5zZm9ybU5vZGU6ZnVuY3Rpb24odCxlKXtpZigiaW5wdXQiPT09dC50YWcpe3ZhciBuLHI9dC5hdHRyc01hcDtpZighclsidi1tb2RlbCJdKXJldHVybjtpZigoclsiOnR5cGUiXXx8clsidi1iaW5kOnR5cGUiXSkmJihuPVlyKHQsInR5cGUiKSksci50eXBlfHxufHwhclsidi1iaW5kIl18fChuPSIoIityWyJ2LWJpbmQiXSsiKS50eXBlIiksbil7dmFyIGE9V3IodCwidi1pZiIsITApLGk9YT8iJiYoIithKyIpIjoiIixvPW51bGwhPVdyKHQsInYtZWxzZSIsITApLHM9V3IodCwidi1lbHNlLWlmIiwhMCksbD1Pbyh0KTtfbyhsKSxIcihsLCJ0eXBlIiwiY2hlY2tib3giKSx3byhsLGUpLGwucHJvY2Vzc2VkPSEwLGwuaWY9IigiK24rIik9PT0nY2hlY2tib3gnIitpLENvKGwse2V4cDpsLmlmLGJsb2NrOmx9KTt2YXIgdT1Pbyh0KTtXcih1LCJ2LWZvciIsITApLEhyKHUsInR5cGUiLCJyYWRpbyIpLHdvKHUsZSksQ28obCx7ZXhwOiIoIituKyIpPT09J3JhZGlvJyIraSxibG9jazp1fSk7dmFyIGM9T28odCk7cmV0dXJuIFdyKGMsInYtZm9yIiwhMCksSHIoYywiOnR5cGUiLG4pLHdvKGMsZSksQ28obCx7ZXhwOmEsYmxvY2s6Y30pLG8/bC5lbHNlPSEwOnMmJihsLmVsc2VpZj1zKSxsfX19fV07dmFyIEFvLERvLFJvPXttb2RlbDpmdW5jdGlvbih0LGUsbil7bjt2YXIgcj1lLnZhbHVlLGE9ZS5tb2RpZmllcnMsaT10LnRhZyxvPXQuYXR0cnNNYXAudHlwZTtpZih0LmNvbXBvbmVudClyZXR1cm4gUXIodCxyLGEpLCExO2lmKCJzZWxlY3QiPT09aSkhZnVuY3Rpb24odCxlLG4pe3ZhciByPSd2YXIgJCRzZWxlY3RlZFZhbCA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCgkZXZlbnQudGFyZ2V0Lm9wdGlvbnMsZnVuY3Rpb24obyl7cmV0dXJuIG8uc2VsZWN0ZWR9KS5tYXAoZnVuY3Rpb24obyl7dmFyIHZhbCA9ICJfdmFsdWUiIGluIG8gPyBvLl92YWx1ZSA6IG8udmFsdWU7cmV0dXJuICcrKG4mJm4ubnVtYmVyPyJfbih2YWwpIjoidmFsIikrIn0pOyI7cj1yKyIgIitHcihlLCIkZXZlbnQudGFyZ2V0Lm11bHRpcGxlID8gJCRzZWxlY3RlZFZhbCA6ICQkc2VsZWN0ZWRWYWxbMF0iKSxxcih0LCJjaGFuZ2UiLHIsbnVsbCwhMCl9KHQscixhKTtlbHNlIGlmKCJpbnB1dCI9PT1pJiYiY2hlY2tib3giPT09bykhZnVuY3Rpb24odCxlLG4pe3ZhciByPW4mJm4ubnVtYmVyLGE9WXIodCwidmFsdWUiKXx8Im51bGwiLGk9WXIodCwidHJ1ZS12YWx1ZSIpfHwidHJ1ZSIsbz1Zcih0LCJmYWxzZS12YWx1ZSIpfHwiZmFsc2UiO0xyKHQsImNoZWNrZWQiLCJBcnJheS5pc0FycmF5KCIrZSsiKT9faSgiK2UrIiwiK2ErIik+LTEiKygidHJ1ZSI9PT1pPyI6KCIrZSsiKSI6IjpfcSgiK2UrIiwiK2krIikiKSkscXIodCwiY2hhbmdlIiwidmFyICQkYT0iK2UrIiwkJGVsPSRldmVudC50YXJnZXQsJCRjPSQkZWwuY2hlY2tlZD8oIitpKyIpOigiK28rIik7aWYoQXJyYXkuaXNBcnJheSgkJGEpKXt2YXIgJCR2PSIrKHI/Il9uKCIrYSsiKSI6YSkrIiwkJGk9X2koJCRhLCQkdik7aWYoJCRlbC5jaGVja2VkKXskJGk8MCYmKCIrR3IoZSwiJCRhLmNvbmNhdChbJCR2XSkiKSsiKX1lbHNleyQkaT4tMSYmKCIrR3IoZSwiJCRhLnNsaWNlKDAsJCRpKS5jb25jYXQoJCRhLnNsaWNlKCQkaSsxKSkiKSsiKX19ZWxzZXsiK0dyKGUsIiQkYyIpKyJ9IixudWxsLCEwKX0odCxyLGEpO2Vsc2UgaWYoImlucHV0Ij09PWkmJiJyYWRpbyI9PT1vKSFmdW5jdGlvbih0LGUsbil7dmFyIHI9biYmbi5udW1iZXIsYT1Zcih0LCJ2YWx1ZSIpfHwibnVsbCI7THIodCwiY2hlY2tlZCIsIl9xKCIrZSsiLCIrKGE9cj8iX24oIithKyIpIjphKSsiKSIpLHFyKHQsImNoYW5nZSIsR3IoZSxhKSxudWxsLCEwKX0odCxyLGEpO2Vsc2UgaWYoImlucHV0Ij09PWl8fCJ0ZXh0YXJlYSI9PT1pKSFmdW5jdGlvbih0LGUsbil7dmFyIHI9dC5hdHRyc01hcC50eXBlOzA7dmFyIGE9bnx8e30saT1hLmxhenksbz1hLm51bWJlcixzPWEudHJpbSxsPSFpJiYicmFuZ2UiIT09cix1PWk/ImNoYW5nZSI6InJhbmdlIj09PXI/cmE6ImlucHV0IixjPSIkZXZlbnQudGFyZ2V0LnZhbHVlIjtzJiYoYz0iJGV2ZW50LnRhcmdldC52YWx1ZS50cmltKCkiKTtvJiYoYz0iX24oIitjKyIpIik7dmFyIGQ9R3IoZSxjKTtsJiYoZD0iaWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpcmV0dXJuOyIrZCk7THIodCwidmFsdWUiLCIoIitlKyIpIikscXIodCx1LGQsbnVsbCwhMCksKHN8fG8pJiZxcih0LCJibHVyIiwiJGZvcmNlVXBkYXRlKCkiKX0odCxyLGEpO2Vsc2V7aWYoIUguaXNSZXNlcnZlZFRhZyhpKSlyZXR1cm4gUXIodCxyLGEpLCExfXJldHVybiEwfSx0ZXh0OmZ1bmN0aW9uKHQsZSl7ZS52YWx1ZSYmTHIodCwidGV4dENvbnRlbnQiLCJfcygiK2UudmFsdWUrIikiLGUpfSxodG1sOmZ1bmN0aW9uKHQsZSl7ZS52YWx1ZSYmTHIodCwiaW5uZXJIVE1MIiwiX3MoIitlLnZhbHVlKyIpIixlKX19LEVvPXtleHBlY3RIVE1MOiEwLG1vZHVsZXM6JG8sZGlyZWN0aXZlczpSbyxpc1ByZVRhZzpmdW5jdGlvbih0KXtyZXR1cm4icHJlIj09PXR9LGlzVW5hcnlUYWc6T2ksbXVzdFVzZVByb3A6Qm4sY2FuQmVMZWZ0T3BlblRhZzokaSxpc1Jlc2VydmVkVGFnOnJyLGdldFRhZ05hbWVzcGFjZTphcixzdGF0aWNLZXlzOmZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jb25jYXQoZS5zdGF0aWNLZXlzfHxbXSl9KSxbXSkuam9pbigiLCIpfSgkbyl9LEZvPUMoKGZ1bmN0aW9uKHQpe3JldHVybiBnKCJ0eXBlLHRhZyxhdHRyc0xpc3QsYXR0cnNNYXAscGxhaW4scGFyZW50LGNoaWxkcmVuLGF0dHJzLHN0YXJ0LGVuZCxyYXdBdHRyc01hcCIrKHQ/IiwiK3Q6IiIpKX0pKTtmdW5jdGlvbiBNbyh0LGUpe3QmJihBbz1GbyhlLnN0YXRpY0tleXN8fCIiKSxEbz1lLmlzUmVzZXJ2ZWRUYWd8fEUsSW8odCksTm8odCwhMSkpfWZ1bmN0aW9uIElvKHQpe2lmKHQuc3RhdGljPWZ1bmN0aW9uKHQpe2lmKDI9PT10LnR5cGUpcmV0dXJuITE7aWYoMz09PXQudHlwZSlyZXR1cm4hMDtyZXR1cm4hKCF0LnByZSYmKHQuaGFzQmluZGluZ3N8fHQuaWZ8fHQuZm9yfHxtKHQudGFnKXx8IURvKHQudGFnKXx8ZnVuY3Rpb24odCl7Zm9yKDt0LnBhcmVudDspe2lmKCJ0ZW1wbGF0ZSIhPT0odD10LnBhcmVudCkudGFnKXJldHVybiExO2lmKHQuZm9yKXJldHVybiEwfXJldHVybiExfSh0KXx8IU9iamVjdC5rZXlzKHQpLmV2ZXJ5KEFvKSkpfSh0KSwxPT09dC50eXBlKXtpZighRG8odC50YWcpJiYic2xvdCIhPT10LnRhZyYmbnVsbD09dC5hdHRyc01hcFsiaW5saW5lLXRlbXBsYXRlIl0pcmV0dXJuO2Zvcih2YXIgZT0wLG49dC5jaGlsZHJlbi5sZW5ndGg7ZTxuO2UrKyl7dmFyIHI9dC5jaGlsZHJlbltlXTtJbyhyKSxyLnN0YXRpY3x8KHQuc3RhdGljPSExKX1pZih0LmlmQ29uZGl0aW9ucylmb3IodmFyIGE9MSxpPXQuaWZDb25kaXRpb25zLmxlbmd0aDthPGk7YSsrKXt2YXIgbz10LmlmQ29uZGl0aW9uc1thXS5ibG9jaztJbyhvKSxvLnN0YXRpY3x8KHQuc3RhdGljPSExKX19fWZ1bmN0aW9uIE5vKHQsZSl7aWYoMT09PXQudHlwZSl7aWYoKHQuc3RhdGljfHx0Lm9uY2UpJiYodC5zdGF0aWNJbkZvcj1lKSx0LnN0YXRpYyYmdC5jaGlsZHJlbi5sZW5ndGgmJigxIT09dC5jaGlsZHJlbi5sZW5ndGh8fDMhPT10LmNoaWxkcmVuWzBdLnR5cGUpKXJldHVybiB2b2lkKHQuc3RhdGljUm9vdD0hMCk7aWYodC5zdGF0aWNSb290PSExLHQuY2hpbGRyZW4pZm9yKHZhciBuPTAscj10LmNoaWxkcmVuLmxlbmd0aDtuPHI7bisrKU5vKHQuY2hpbGRyZW5bbl0sZXx8ISF0LmZvcik7aWYodC5pZkNvbmRpdGlvbnMpZm9yKHZhciBhPTEsaT10LmlmQ29uZGl0aW9ucy5sZW5ndGg7YTxpO2ErKylObyh0LmlmQ29uZGl0aW9uc1thXS5ibG9jayxlKX19dmFyIGpvPS9eKFtcdyRfXSt8XChbXildKj9cKSlccyo9PnxeZnVuY3Rpb24oPzpccytbXHckXSspP1xzKlwoLyxMbz0vXChbXildKj9cKTsqJC8sVW89L15bQS1aYS16XyRdW1x3JF0qKD86XC5bQS1aYS16XyRdW1x3JF0qfFxbJ1teJ10qPyddfFxbIlteIl0qPyJdfFxbXGQrXXxcW1tBLVphLXpfJF1bXHckXSpdKSokLyxIbz17ZXNjOjI3LHRhYjo5LGVudGVyOjEzLHNwYWNlOjMyLHVwOjM4LGxlZnQ6MzcscmlnaHQ6MzksZG93bjo0MCxkZWxldGU6WzgsNDZdfSxCbz17ZXNjOlsiRXNjIiwiRXNjYXBlIl0sdGFiOiJUYWIiLGVudGVyOiJFbnRlciIsc3BhY2U6WyIgIiwiU3BhY2ViYXIiXSx1cDpbIlVwIiwiQXJyb3dVcCJdLGxlZnQ6WyJMZWZ0IiwiQXJyb3dMZWZ0Il0scmlnaHQ6WyJSaWdodCIsIkFycm93UmlnaHQiXSxkb3duOlsiRG93biIsIkFycm93RG93biJdLGRlbGV0ZTpbIkJhY2tzcGFjZSIsIkRlbGV0ZSIsIkRlbCJdfSx6bz1mdW5jdGlvbih0KXtyZXR1cm4iaWYoIit0KyIpcmV0dXJuIG51bGw7In0scW89e3N0b3A6IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiLHByZXZlbnQ6IiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyIsc2VsZjp6bygiJGV2ZW50LnRhcmdldCAhPT0gJGV2ZW50LmN1cnJlbnRUYXJnZXQiKSxjdHJsOnpvKCIhJGV2ZW50LmN0cmxLZXkiKSxzaGlmdDp6bygiISRldmVudC5zaGlmdEtleSIpLGFsdDp6bygiISRldmVudC5hbHRLZXkiKSxtZXRhOnpvKCIhJGV2ZW50Lm1ldGFLZXkiKSxsZWZ0OnpvKCInYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMCIpLG1pZGRsZTp6bygiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDEiKSxyaWdodDp6bygiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDIiKX07ZnVuY3Rpb24gWW8odCxlKXt2YXIgbj1lPyJuYXRpdmVPbjoiOiJvbjoiLHI9IiIsYT0iIjtmb3IodmFyIGkgaW4gdCl7dmFyIG89V28odFtpXSk7dFtpXSYmdFtpXS5keW5hbWljP2ErPWkrIiwiK28rIiwiOnIrPSciJytpKyciOicrbysiLCJ9cmV0dXJuIHI9InsiK3Iuc2xpY2UoMCwtMSkrIn0iLGE/bisiX2QoIityKyIsWyIrYS5zbGljZSgwLC0xKSsiXSkiOm4rcn1mdW5jdGlvbiBXbyh0KXtpZighdClyZXR1cm4iZnVuY3Rpb24oKXt9IjtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiJbIit0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIFdvKHQpfSkpLmpvaW4oIiwiKSsiXSI7dmFyIGU9VW8udGVzdCh0LnZhbHVlKSxuPWpvLnRlc3QodC52YWx1ZSkscj1Vby50ZXN0KHQudmFsdWUucmVwbGFjZShMbywiIikpO2lmKHQubW9kaWZpZXJzKXt2YXIgYT0iIixpPSIiLG89W107Zm9yKHZhciBzIGluIHQubW9kaWZpZXJzKWlmKHFvW3NdKWkrPXFvW3NdLEhvW3NdJiZvLnB1c2gocyk7ZWxzZSBpZigiZXhhY3QiPT09cyl7dmFyIGw9dC5tb2RpZmllcnM7aSs9em8oWyJjdHJsIiwic2hpZnQiLCJhbHQiLCJtZXRhIl0uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4hbFt0XX0pKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiIkZXZlbnQuIit0KyJLZXkifSkpLmpvaW4oInx8IikpfWVsc2Ugby5wdXNoKHMpO3JldHVybiBvLmxlbmd0aCYmKGErPWZ1bmN0aW9uKHQpe3JldHVybiJpZighJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykmJiIrdC5tYXAoVm8pLmpvaW4oIiYmIikrIilyZXR1cm4gbnVsbDsifShvKSksaSYmKGErPWkpLCJmdW5jdGlvbigkZXZlbnQpeyIrYSsoZT8icmV0dXJuICIrdC52YWx1ZSsiLmFwcGx5KG51bGwsIGFyZ3VtZW50cykiOm4/InJldHVybiAoIit0LnZhbHVlKyIpLmFwcGx5KG51bGwsIGFyZ3VtZW50cykiOnI/InJldHVybiAiK3QudmFsdWU6dC52YWx1ZSkrIn0ifXJldHVybiBlfHxuP3QudmFsdWU6ImZ1bmN0aW9uKCRldmVudCl7Iisocj8icmV0dXJuICIrdC52YWx1ZTp0LnZhbHVlKSsifSJ9ZnVuY3Rpb24gVm8odCl7dmFyIGU9cGFyc2VJbnQodCwxMCk7aWYoZSlyZXR1cm4iJGV2ZW50LmtleUNvZGUhPT0iK2U7dmFyIG49SG9bdF0scj1Cb1t0XTtyZXR1cm4iX2soJGV2ZW50LmtleUNvZGUsIitKU09OLnN0cmluZ2lmeSh0KSsiLCIrSlNPTi5zdHJpbmdpZnkobikrIiwkZXZlbnQua2V5LCIrSlNPTi5zdHJpbmdpZnkocikrIikifXZhciBLbz17b246ZnVuY3Rpb24odCxlKXt0LndyYXBMaXN0ZW5lcnM9ZnVuY3Rpb24odCl7cmV0dXJuIl9nKCIrdCsiLCIrZS52YWx1ZSsiKSJ9fSxiaW5kOmZ1bmN0aW9uKHQsZSl7dC53cmFwRGF0YT1mdW5jdGlvbihuKXtyZXR1cm4iX2IoIituKyIsJyIrdC50YWcrIicsIitlLnZhbHVlKyIsIisoZS5tb2RpZmllcnMmJmUubW9kaWZpZXJzLnByb3A/InRydWUiOiJmYWxzZSIpKyhlLm1vZGlmaWVycyYmZS5tb2RpZmllcnMuc3luYz8iLHRydWUiOiIiKSsiKSJ9fSxjbG9hazpSfSxRbz1mdW5jdGlvbih0KXt0aGlzLm9wdGlvbnM9dCx0aGlzLndhcm49dC53YXJufHxOcix0aGlzLnRyYW5zZm9ybXM9anIodC5tb2R1bGVzLCJ0cmFuc2Zvcm1Db2RlIiksdGhpcy5kYXRhR2VuRm5zPWpyKHQubW9kdWxlcywiZ2VuRGF0YSIpLHRoaXMuZGlyZWN0aXZlcz1BKEEoe30sS28pLHQuZGlyZWN0aXZlcyk7dmFyIGU9dC5pc1Jlc2VydmVkVGFnfHxFO3RoaXMubWF5YmVDb21wb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuISF0LmNvbXBvbmVudHx8IWUodC50YWcpfSx0aGlzLm9uY2VJZD0wLHRoaXMuc3RhdGljUmVuZGVyRm5zPVtdLHRoaXMucHJlPSExfTtmdW5jdGlvbiBHbyh0LGUpe3ZhciBuPW5ldyBRbyhlKTtyZXR1cm57cmVuZGVyOiJ3aXRoKHRoaXMpe3JldHVybiAiKyh0PyJzY3JpcHQiPT09dC50YWc/Im51bGwiOkpvKHQsbik6J19jKCJkaXYiKScpKyJ9IixzdGF0aWNSZW5kZXJGbnM6bi5zdGF0aWNSZW5kZXJGbnN9fWZ1bmN0aW9uIEpvKHQsZSl7aWYodC5wYXJlbnQmJih0LnByZT10LnByZXx8dC5wYXJlbnQucHJlKSx0LnN0YXRpY1Jvb3QmJiF0LnN0YXRpY1Byb2Nlc3NlZClyZXR1cm4gWG8odCxlKTtpZih0Lm9uY2UmJiF0Lm9uY2VQcm9jZXNzZWQpcmV0dXJuIFpvKHQsZSk7aWYodC5mb3ImJiF0LmZvclByb2Nlc3NlZClyZXR1cm4gbnModCxlKTtpZih0LmlmJiYhdC5pZlByb2Nlc3NlZClyZXR1cm4gdHModCxlKTtpZigidGVtcGxhdGUiIT09dC50YWd8fHQuc2xvdFRhcmdldHx8ZS5wcmUpe2lmKCJzbG90Ij09PXQudGFnKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciBuPXQuc2xvdE5hbWV8fCciZGVmYXVsdCInLHI9b3ModCxlKSxhPSJfdCgiK24rKHI/IixmdW5jdGlvbigpe3JldHVybiAiK3IrIn0iOiIiKSxpPXQuYXR0cnN8fHQuZHluYW1pY0F0dHJzP3VzKCh0LmF0dHJzfHxbXSkuY29uY2F0KHQuZHluYW1pY0F0dHJzfHxbXSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm57bmFtZTpUKHQubmFtZSksdmFsdWU6dC52YWx1ZSxkeW5hbWljOnQuZHluYW1pY319KSkpOm51bGwsbz10LmF0dHJzTWFwWyJ2LWJpbmQiXTshaSYmIW98fHJ8fChhKz0iLG51bGwiKTtpJiYoYSs9IiwiK2kpO28mJihhKz0oaT8iIjoiLG51bGwiKSsiLCIrbyk7cmV0dXJuIGErIikifSh0LGUpO3ZhciBuO2lmKHQuY29tcG9uZW50KW49ZnVuY3Rpb24odCxlLG4pe3ZhciByPWUuaW5saW5lVGVtcGxhdGU/bnVsbDpvcyhlLG4sITApO3JldHVybiJfYygiK3QrIiwiK3JzKGUsbikrKHI/IiwiK3I6IiIpKyIpIn0odC5jb21wb25lbnQsdCxlKTtlbHNle3ZhciByOyghdC5wbGFpbnx8dC5wcmUmJmUubWF5YmVDb21wb25lbnQodCkpJiYocj1ycyh0LGUpKTt2YXIgYT10LmlubGluZVRlbXBsYXRlP251bGw6b3ModCxlLCEwKTtuPSJfYygnIit0LnRhZysiJyIrKHI/IiwiK3I6IiIpKyhhPyIsIithOiIiKSsiKSJ9Zm9yKHZhciBpPTA7aTxlLnRyYW5zZm9ybXMubGVuZ3RoO2krKyluPWUudHJhbnNmb3Jtc1tpXSh0LG4pO3JldHVybiBufXJldHVybiBvcyh0LGUpfHwidm9pZCAwIn1mdW5jdGlvbiBYbyh0LGUpe3Quc3RhdGljUHJvY2Vzc2VkPSEwO3ZhciBuPWUucHJlO3JldHVybiB0LnByZSYmKGUucHJlPXQucHJlKSxlLnN0YXRpY1JlbmRlckZucy5wdXNoKCJ3aXRoKHRoaXMpe3JldHVybiAiK0pvKHQsZSkrIn0iKSxlLnByZT1uLCJfbSgiKyhlLnN0YXRpY1JlbmRlckZucy5sZW5ndGgtMSkrKHQuc3RhdGljSW5Gb3I/Iix0cnVlIjoiIikrIikifWZ1bmN0aW9uIFpvKHQsZSl7aWYodC5vbmNlUHJvY2Vzc2VkPSEwLHQuaWYmJiF0LmlmUHJvY2Vzc2VkKXJldHVybiB0cyh0LGUpO2lmKHQuc3RhdGljSW5Gb3Ipe2Zvcih2YXIgbj0iIixyPXQucGFyZW50O3I7KXtpZihyLmZvcil7bj1yLmtleTticmVha31yPXIucGFyZW50fXJldHVybiBuPyJfbygiK0pvKHQsZSkrIiwiK2Uub25jZUlkKysrIiwiK24rIikiOkpvKHQsZSl9cmV0dXJuIFhvKHQsZSl9ZnVuY3Rpb24gdHModCxlLG4scil7cmV0dXJuIHQuaWZQcm9jZXNzZWQ9ITAsZXModC5pZkNvbmRpdGlvbnMuc2xpY2UoKSxlLG4scil9ZnVuY3Rpb24gZXModCxlLG4scil7aWYoIXQubGVuZ3RoKXJldHVybiByfHwiX2UoKSI7dmFyIGE9dC5zaGlmdCgpO3JldHVybiBhLmV4cD8iKCIrYS5leHArIik/IitpKGEuYmxvY2spKyI6Iitlcyh0LGUsbixyKToiIitpKGEuYmxvY2spO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG4/bih0LGUpOnQub25jZT9abyh0LGUpOkpvKHQsZSl9fWZ1bmN0aW9uIG5zKHQsZSxuLHIpe3ZhciBhPXQuZm9yLGk9dC5hbGlhcyxvPXQuaXRlcmF0b3IxPyIsIit0Lml0ZXJhdG9yMToiIixzPXQuaXRlcmF0b3IyPyIsIit0Lml0ZXJhdG9yMjoiIjtyZXR1cm4gdC5mb3JQcm9jZXNzZWQ9ITAsKHJ8fCJfbCIpKyIoKCIrYSsiKSxmdW5jdGlvbigiK2krbytzKyIpe3JldHVybiAiKyhufHxKbykodCxlKSsifSkifWZ1bmN0aW9uIHJzKHQsZSl7dmFyIG49InsiLHI9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmRpcmVjdGl2ZXM7aWYoIW4pcmV0dXJuO3ZhciByLGEsaSxvLHM9ImRpcmVjdGl2ZXM6WyIsbD0hMTtmb3Iocj0wLGE9bi5sZW5ndGg7cjxhO3IrKyl7aT1uW3JdLG89ITA7dmFyIHU9ZS5kaXJlY3RpdmVzW2kubmFtZV07dSYmKG89ISF1KHQsaSxlLndhcm4pKSxvJiYobD0hMCxzKz0ne25hbWU6IicraS5uYW1lKyciLHJhd05hbWU6IicraS5yYXdOYW1lKyciJysoaS52YWx1ZT8iLHZhbHVlOigiK2kudmFsdWUrIiksZXhwcmVzc2lvbjoiK0pTT04uc3RyaW5naWZ5KGkudmFsdWUpOiIiKSsoaS5hcmc/Iixhcmc6IisoaS5pc0R5bmFtaWNBcmc/aS5hcmc6JyInK2kuYXJnKyciJyk6IiIpKyhpLm1vZGlmaWVycz8iLG1vZGlmaWVyczoiK0pTT04uc3RyaW5naWZ5KGkubW9kaWZpZXJzKToiIikrIn0sIil9aWYobClyZXR1cm4gcy5zbGljZSgwLC0xKSsiXSJ9KHQsZSk7ciYmKG4rPXIrIiwiKSx0LmtleSYmKG4rPSJrZXk6Iit0LmtleSsiLCIpLHQucmVmJiYobis9InJlZjoiK3QucmVmKyIsIiksdC5yZWZJbkZvciYmKG4rPSJyZWZJbkZvcjp0cnVlLCIpLHQucHJlJiYobis9InByZTp0cnVlLCIpLHQuY29tcG9uZW50JiYobis9J3RhZzoiJyt0LnRhZysnIiwnKTtmb3IodmFyIGE9MDthPGUuZGF0YUdlbkZucy5sZW5ndGg7YSsrKW4rPWUuZGF0YUdlbkZuc1thXSh0KTtpZih0LmF0dHJzJiYobis9ImF0dHJzOiIrdXModC5hdHRycykrIiwiKSx0LnByb3BzJiYobis9ImRvbVByb3BzOiIrdXModC5wcm9wcykrIiwiKSx0LmV2ZW50cyYmKG4rPVlvKHQuZXZlbnRzLCExKSsiLCIpLHQubmF0aXZlRXZlbnRzJiYobis9WW8odC5uYXRpdmVFdmVudHMsITApKyIsIiksdC5zbG90VGFyZ2V0JiYhdC5zbG90U2NvcGUmJihuKz0ic2xvdDoiK3Quc2xvdFRhcmdldCsiLCIpLHQuc2NvcGVkU2xvdHMmJihuKz1mdW5jdGlvbih0LGUsbil7dmFyIHI9dC5mb3J8fE9iamVjdC5rZXlzKGUpLnNvbWUoKGZ1bmN0aW9uKHQpe3ZhciBuPWVbdF07cmV0dXJuIG4uc2xvdFRhcmdldER5bmFtaWN8fG4uaWZ8fG4uZm9yfHxhcyhuKX0pKSxhPSEhdC5pZjtpZighcilmb3IodmFyIGk9dC5wYXJlbnQ7aTspe2lmKGkuc2xvdFNjb3BlJiZpLnNsb3RTY29wZSE9PW1vfHxpLmZvcil7cj0hMDticmVha31pLmlmJiYoYT0hMCksaT1pLnBhcmVudH12YXIgbz1PYmplY3Qua2V5cyhlKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBpcyhlW3RdLG4pfSkpLmpvaW4oIiwiKTtyZXR1cm4ic2NvcGVkU2xvdHM6X3UoWyIrbysiXSIrKHI/IixudWxsLHRydWUiOiIiKSsoIXImJmE/IixudWxsLGZhbHNlLCIrZnVuY3Rpb24odCl7dmFyIGU9NTM4MSxuPXQubGVuZ3RoO2Zvcig7bjspZT0zMyplXnQuY2hhckNvZGVBdCgtLW4pO3JldHVybiBlPj4+MH0obyk6IiIpKyIpIn0odCx0LnNjb3BlZFNsb3RzLGUpKyIsIiksdC5tb2RlbCYmKG4rPSJtb2RlbDp7dmFsdWU6Iit0Lm1vZGVsLnZhbHVlKyIsY2FsbGJhY2s6Iit0Lm1vZGVsLmNhbGxiYWNrKyIsZXhwcmVzc2lvbjoiK3QubW9kZWwuZXhwcmVzc2lvbisifSwiKSx0LmlubGluZVRlbXBsYXRlKXt2YXIgaT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuY2hpbGRyZW5bMF07MDtpZihuJiYxPT09bi50eXBlKXt2YXIgcj1HbyhuLGUub3B0aW9ucyk7cmV0dXJuImlubGluZVRlbXBsYXRlOntyZW5kZXI6ZnVuY3Rpb24oKXsiK3IucmVuZGVyKyJ9LHN0YXRpY1JlbmRlckZuczpbIityLnN0YXRpY1JlbmRlckZucy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbigpeyIrdCsifSJ9KSkuam9pbigiLCIpKyJdfSJ9fSh0LGUpO2kmJihuKz1pKyIsIil9cmV0dXJuIG49bi5yZXBsYWNlKC8sJC8sIiIpKyJ9Iix0LmR5bmFtaWNBdHRycyYmKG49Il9iKCIrbisnLCInK3QudGFnKyciLCcrdXModC5keW5hbWljQXR0cnMpKyIpIiksdC53cmFwRGF0YSYmKG49dC53cmFwRGF0YShuKSksdC53cmFwTGlzdGVuZXJzJiYobj10LndyYXBMaXN0ZW5lcnMobikpLG59ZnVuY3Rpb24gYXModCl7cmV0dXJuIDE9PT10LnR5cGUmJigic2xvdCI9PT10LnRhZ3x8dC5jaGlsZHJlbi5zb21lKGFzKSl9ZnVuY3Rpb24gaXModCxlKXt2YXIgbj10LmF0dHJzTWFwWyJzbG90LXNjb3BlIl07aWYodC5pZiYmIXQuaWZQcm9jZXNzZWQmJiFuKXJldHVybiB0cyh0LGUsaXMsIm51bGwiKTtpZih0LmZvciYmIXQuZm9yUHJvY2Vzc2VkKXJldHVybiBucyh0LGUsaXMpO3ZhciByPXQuc2xvdFNjb3BlPT09bW8/IiI6U3RyaW5nKHQuc2xvdFNjb3BlKSxhPSJmdW5jdGlvbigiK3IrIil7cmV0dXJuICIrKCJ0ZW1wbGF0ZSI9PT10LnRhZz90LmlmJiZuPyIoIit0LmlmKyIpPyIrKG9zKHQsZSl8fCJ1bmRlZmluZWQiKSsiOnVuZGVmaW5lZCI6b3ModCxlKXx8InVuZGVmaW5lZCI6Sm8odCxlKSkrIn0iLGk9cj8iIjoiLHByb3h5OnRydWUiO3JldHVybiJ7a2V5OiIrKHQuc2xvdFRhcmdldHx8JyJkZWZhdWx0IicpKyIsZm46IithK2krIn0ifWZ1bmN0aW9uIG9zKHQsZSxuLHIsYSl7dmFyIGk9dC5jaGlsZHJlbjtpZihpLmxlbmd0aCl7dmFyIG89aVswXTtpZigxPT09aS5sZW5ndGgmJm8uZm9yJiYidGVtcGxhdGUiIT09by50YWcmJiJzbG90IiE9PW8udGFnKXt2YXIgcz1uP2UubWF5YmVDb21wb25lbnQobyk/IiwxIjoiLDAiOiIiO3JldHVybiIiKyhyfHxKbykobyxlKStzfXZhciBsPW4/ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49MCxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBhPXRbcl07aWYoMT09PWEudHlwZSl7aWYoc3MoYSl8fGEuaWZDb25kaXRpb25zJiZhLmlmQ29uZGl0aW9ucy5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gc3ModC5ibG9jayl9KSkpe249MjticmVha30oZShhKXx8YS5pZkNvbmRpdGlvbnMmJmEuaWZDb25kaXRpb25zLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQuYmxvY2spfSkpKSYmKG49MSl9fXJldHVybiBufShpLGUubWF5YmVDb21wb25lbnQpOjAsdT1hfHxscztyZXR1cm4iWyIraS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB1KHQsZSl9KSkuam9pbigiLCIpKyJdIisobD8iLCIrbDoiIil9fWZ1bmN0aW9uIHNzKHQpe3JldHVybiB2b2lkIDAhPT10LmZvcnx8InRlbXBsYXRlIj09PXQudGFnfHwic2xvdCI9PT10LnRhZ31mdW5jdGlvbiBscyh0LGUpe3JldHVybiAxPT09dC50eXBlP0pvKHQsZSk6Mz09PXQudHlwZSYmdC5pc0NvbW1lbnQ/ZnVuY3Rpb24odCl7cmV0dXJuIl9lKCIrSlNPTi5zdHJpbmdpZnkodC50ZXh0KSsiKSJ9KHQpOmZ1bmN0aW9uKHQpe3JldHVybiJfdigiKygyPT09dC50eXBlP3QuZXhwcmVzc2lvbjpjcyhKU09OLnN0cmluZ2lmeSh0LnRleHQpKSkrIikifSh0KX1mdW5jdGlvbiB1cyh0KXtmb3IodmFyIGU9IiIsbj0iIixyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBhPXRbcl0saT1jcyhhLnZhbHVlKTthLmR5bmFtaWM/bis9YS5uYW1lKyIsIitpKyIsIjplKz0nIicrYS5uYW1lKyciOicraSsiLCJ9cmV0dXJuIGU9InsiK2Uuc2xpY2UoMCwtMSkrIn0iLG4/Il9kKCIrZSsiLFsiK24uc2xpY2UoMCwtMSkrIl0pIjplfWZ1bmN0aW9uIGNzKHQpe3JldHVybiB0LnJlcGxhY2UoL1x1MjAyOC9nLCJcXHUyMDI4IikucmVwbGFjZSgvXHUyMDI5L2csIlxcdTIwMjkiKX1uZXcgUmVnRXhwKCJcXGIiKyJkbyxpZixmb3IsbGV0LG5ldyx0cnksdmFyLGNhc2UsZWxzZSx3aXRoLGF3YWl0LGJyZWFrLGNhdGNoLGNsYXNzLGNvbnN0LHN1cGVyLHRocm93LHdoaWxlLHlpZWxkLGRlbGV0ZSxleHBvcnQsaW1wb3J0LHJldHVybixzd2l0Y2gsZGVmYXVsdCxleHRlbmRzLGZpbmFsbHksY29udGludWUsZGVidWdnZXIsZnVuY3Rpb24sYXJndW1lbnRzIi5zcGxpdCgiLCIpLmpvaW4oIlxcYnxcXGIiKSsiXFxiIiksbmV3IFJlZ0V4cCgiXFxiIisiZGVsZXRlLHR5cGVvZix2b2lkIi5zcGxpdCgiLCIpLmpvaW4oIlxccypcXChbXlxcKV0qXFwpfFxcYiIpKyJcXHMqXFwoW15cXCldKlxcKSIpO2Z1bmN0aW9uIGRzKHQsZSl7dHJ5e3JldHVybiBuZXcgRnVuY3Rpb24odCl9Y2F0Y2gobil7cmV0dXJuIGUucHVzaCh7ZXJyOm4sY29kZTp0fSksUn19ZnVuY3Rpb24gZnModCl7dmFyIGU9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gZnVuY3Rpb24obixyLGEpeyhyPUEoe30scikpLndhcm47ZGVsZXRlIHIud2Fybjt2YXIgaT1yLmRlbGltaXRlcnM/U3RyaW5nKHIuZGVsaW1pdGVycykrbjpuO2lmKGVbaV0pcmV0dXJuIGVbaV07dmFyIG89dChuLHIpO3ZhciBzPXt9LGw9W107cmV0dXJuIHMucmVuZGVyPWRzKG8ucmVuZGVyLGwpLHMuc3RhdGljUmVuZGVyRm5zPW8uc3RhdGljUmVuZGVyRm5zLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGRzKHQsbCl9KSksZVtpXT1zfX12YXIgcHMsaHMsdnM9KHBzPWZ1bmN0aW9uKHQsZSl7dmFyIG49Ym8odC50cmltKCksZSk7ITEhPT1lLm9wdGltaXplJiZNbyhuLGUpO3ZhciByPUdvKG4sZSk7cmV0dXJue2FzdDpuLHJlbmRlcjpyLnJlbmRlcixzdGF0aWNSZW5kZXJGbnM6ci5zdGF0aWNSZW5kZXJGbnN9fSxmdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUsbil7dmFyIHI9T2JqZWN0LmNyZWF0ZSh0KSxhPVtdLGk9W107aWYobilmb3IodmFyIG8gaW4gbi5tb2R1bGVzJiYoci5tb2R1bGVzPSh0Lm1vZHVsZXN8fFtdKS5jb25jYXQobi5tb2R1bGVzKSksbi5kaXJlY3RpdmVzJiYoci5kaXJlY3RpdmVzPUEoT2JqZWN0LmNyZWF0ZSh0LmRpcmVjdGl2ZXN8fG51bGwpLG4uZGlyZWN0aXZlcykpLG4pIm1vZHVsZXMiIT09byYmImRpcmVjdGl2ZXMiIT09byYmKHJbb109bltvXSk7ci53YXJuPWZ1bmN0aW9uKHQsZSxuKXsobj9pOmEpLnB1c2godCl9O3ZhciBzPXBzKGUudHJpbSgpLHIpO3JldHVybiBzLmVycm9ycz1hLHMudGlwcz1pLHN9cmV0dXJue2NvbXBpbGU6ZSxjb21waWxlVG9GdW5jdGlvbnM6ZnMoZSl9fSksZ3M9dnMoRW8pLG1zPShncy5jb21waWxlLGdzLmNvbXBpbGVUb0Z1bmN0aW9ucyk7ZnVuY3Rpb24geXModCl7cmV0dXJuKGhzPWhzfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPXQ/JzxhIGhyZWY9IlxuIi8+JzonPGRpdiBhPSJcbiIvPicsaHMuaW5uZXJIVE1MLmluZGV4T2YoIiYjMTA7Iik+MH12YXIgYnM9ISFLJiZ5cyghMSksd3M9ISFLJiZ5cyghMCksX3M9QygoZnVuY3Rpb24odCl7dmFyIGU9c3IodCk7cmV0dXJuIGUmJmUuaW5uZXJIVE1MfSkpLENzPURuLnByb3RvdHlwZS4kbW91bnQ7RG4ucHJvdG90eXBlLiRtb3VudD1mdW5jdGlvbih0LGUpe2lmKCh0PXQmJnNyKHQpKT09PWRvY3VtZW50LmJvZHl8fHQ9PT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpcmV0dXJuIHRoaXM7dmFyIG49dGhpcy4kb3B0aW9ucztpZighbi5yZW5kZXIpe3ZhciByPW4udGVtcGxhdGU7aWYocilpZigic3RyaW5nIj09dHlwZW9mIHIpIiMiPT09ci5jaGFyQXQoMCkmJihyPV9zKHIpKTtlbHNle2lmKCFyLm5vZGVUeXBlKXJldHVybiB0aGlzO3I9ci5pbm5lckhUTUx9ZWxzZSB0JiYocj1mdW5jdGlvbih0KXtpZih0Lm91dGVySFRNTClyZXR1cm4gdC5vdXRlckhUTUw7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuYXBwZW5kQ2hpbGQodC5jbG9uZU5vZGUoITApKSxlLmlubmVySFRNTH0odCkpO2lmKHIpezA7dmFyIGE9bXMocix7b3V0cHV0U291cmNlUmFuZ2U6ITEsc2hvdWxkRGVjb2RlTmV3bGluZXM6YnMsc2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmOndzLGRlbGltaXRlcnM6bi5kZWxpbWl0ZXJzLGNvbW1lbnRzOm4uY29tbWVudHN9LHRoaXMpLGk9YS5yZW5kZXIsbz1hLnN0YXRpY1JlbmRlckZucztuLnJlbmRlcj1pLG4uc3RhdGljUmVuZGVyRm5zPW99fXJldHVybiBDcy5jYWxsKHRoaXMsdCxlKX0sRG4uY29tcGlsZT1tcyxlLlo9RG59fV0pOw=="}},"time_used":5460,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5460,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-2df7c.js?id=62794247c0cf9c1a5d5e","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.437Z","timestamp":1785137065437,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/vendor_utils-2df7c.js?id=62794247c0cf9c1a5d5e HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 09:35:32 GMT\r\naccept-ranges: bytes\r\netag: \"1d8257409e57881\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":160385,"size_decoded":55776,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65499), with no line terminators","md5":"b157559c6507f6118d8dba0120464382","sha1":"8398c64d3a8fb4a54acc3853c9fd4057f4e373c9","sha256":"d09b4f698fa75fddb4b4f20d05b5c80de5b84b7a3e68c40a840d9e6cf8a40fa6","sha512":"1d880c69fcab430115bf7714207d1ed334a614513d98337d3ee14cf823cd82cd3d41219cf0ea89b23436e14017ad7e56253eed77ff12c1b12e6bcc169d671904","ssdeep":"1536:x6nR5ixLYqgZwHqnchkUzdwfXTN4r2/pddy4Z5LXYEdZoh9UMgLeqHqpsh9j9:osqodYKwyNOo/UMgLeqHqp8","tlshash":"0ff3a1ccbac2f06543a3a576817f400bf23a2e55b80f9594d16ad4d4bc7898f9137e2d","first_seen":"2025-10-27T18:25:33.018467Z","last_seen":"2026-07-27T07:25:28.877157Z","times_seen":6,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rQXZhdHJhZGVycz1zZWxmLndlYnBhY2tDaHVua0F2YXRyYWRlcnN8fFtdKS5wdXNoKFtbNTFdLHs4NzM3NzpmdW5jdGlvbih0LG4scil7cig5MTAzOCkscig3OTc1MykscigyNjU3Mikscig1MjI2Mikscig5MjIyMikscig1MDU0NSkscigyNjU0MSkscig0MzI5MCkscig1NzMyNykscig2OTgyNikscigzNDU1Mykscig4NDk0NCkscig4NjUzNSkscig4OTU1NCkscigyNjY5OSkscig4Mjc3Mikscig2Njk5Mikscig2OTYwMCkscig5NDk4NikscigyMTI0OSkscig4NTgyNykscig5NjY0NCkscig2NTA2OSkscig0NzA0Mikscig1MjEyKSxyKDI3MDcpLHIoMzg3MDYpLHIoNDA1NjEpLHIoMzM3OTIpLHIoOTkyNDQpLHIoNDE1MzkpLHIoNzg3ODMpO3ZhciBlPXIoNDA4NTcpO3QuZXhwb3J0cz1lLkFycmF5fSw5OTE5NzpmdW5jdGlvbih0LG4scil7dmFyIGU9cig0Nzk3Niksbz1yKDQ2OTM4KSxpPVN0cmluZy5wcm90b3R5cGU7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBuPXQuc3RhcnRzV2l0aDtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR8fHQ9PT1pfHxlKGksdCkmJm49PT1pLnN0YXJ0c1dpdGg/bzpufX0sNjk3ODk6ZnVuY3Rpb24odCxuLHIpe3IoOTY1Mykscig5MzI5OSkscigzNTE5MikscigzMzE2MSkscig0NDA0OCkscig3ODI4NSkscig0NDM2Mykscig1NTk5NCkscig2MTg3NCkscig5NDk0KSxyKDU2OTc3KSxyKDU1MTQ3KTt2YXIgZT1yKDQwODU3KTt0LmV4cG9ydHM9ZS5OdW1iZXJ9LDI0NjY3OmZ1bmN0aW9uKHQsbixyKXtyKDI2ODMzKTt2YXIgZT1yKDQwODU3KTt0LmV4cG9ydHM9ZS5PYmplY3QudmFsdWVzfSw3NDU2NzpmdW5jdGlvbih0LG4scil7cig4MjQ4MSk7dmFyIGU9cigyNjQ5KTt0LmV4cG9ydHM9ZSgiU3RyaW5nIiwicmVwZWF0Iil9LDQ2OTM4OmZ1bmN0aW9uKHQsbixyKXtyKDIzMTU3KTt2YXIgZT1yKDk4NzcwKTt0LmV4cG9ydHM9ZSgiU3RyaW5nIikuc3RhcnRzV2l0aH0sODE4MTc6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMzY1ODMpO3QuZXhwb3J0cz1lfSw5MjAwNzpmdW5jdGlvbih0LG4scil7dmFyIGU9cigzMDg1NSk7dC5leHBvcnRzPWV9LDE5NjYyOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoNjA2MTQpLGk9cig2NjMzMCksdT1lLlR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYobyh0KSlyZXR1cm4gdDt0aHJvdyB1KGkodCkrIiBpcyBub3QgYSBmdW5jdGlvbiIpfX0sMzk0ODM6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cig0NDExKSxpPXIoNjYzMzApLHU9ZS5UeXBlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKG8odCkpcmV0dXJuIHQ7dGhyb3cgdShpKHQpKyIgaXMgbm90IGEgY29uc3RydWN0b3IiKX19LDk2MDc3OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoNjA2MTQpLGk9ZS5TdHJpbmcsdT1lLlR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIm9iamVjdCI9PXR5cGVvZiB0fHxvKHQpKXJldHVybiB0O3Rocm93IHUoIkNhbid0IHNldCAiK2kodCkrIiBhcyBhIHByb3RvdHlwZSIpfX0sNTEyMjM6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNTExMiksbz1yKDcwMDMwKSxpPXIoMzA3MCksdT1lKCJ1bnNjb3BhYmxlcyIpLGE9QXJyYXkucHJvdG90eXBlO251bGw9PWFbdV0mJmkuZihhLHUse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTpvKG51bGwpfSksdC5leHBvcnRzPWZ1bmN0aW9uKHQpe2FbdV1bdF09ITB9fSwzMTUzMDpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoMjg3MTApLmNoYXJBdDt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIpe3JldHVybiBuKyhyP2UodCxuKS5sZW5ndGg6MSl9fSwyNTc4NzpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCksbz1yKDQ3OTc2KSxpPWUuVHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe2lmKG8obix0KSlyZXR1cm4gdDt0aHJvdyBpKCJJbmNvcnJlY3QgaW52b2NhdGlvbiIpfX0sMTk2NzA6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cig3MDExMSksaT1lLlN0cmluZyx1PWUuVHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihvKHQpKXJldHVybiB0O3Rocm93IHUoaSh0KSsiIGlzIG5vdCBhbiBvYmplY3QiKX19LDEwNDg6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDQ3OTA4KSxvPXIoNTE0MDApLGk9cigyNjI0NCksdT1NYXRoLm1pbjt0LmV4cG9ydHM9W10uY29weVdpdGhpbnx8ZnVuY3Rpb24odCxuKXt2YXIgcj1lKHRoaXMpLGE9aShyKSxjPW8odCxhKSxmPW8obixhKSxzPWFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwLGw9dSgodm9pZCAwPT09cz9hOm8ocyxhKSktZixhLWMpLGg9MTtmb3IoZjxjJiZjPGYrbCYmKGg9LTEsZis9bC0xLGMrPWwtMSk7bC0tPjA7KWYgaW4gcj9yW2NdPXJbZl06ZGVsZXRlIHJbY10sYys9aCxmKz1oO3JldHVybiByfX0sMjEyODU6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDQ3OTA4KSxvPXIoNTE0MDApLGk9cigyNjI0NCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbj1lKHRoaXMpLHI9aShuKSx1PWFyZ3VtZW50cy5sZW5ndGgsYT1vKHU+MT9hcmd1bWVudHNbMV06dm9pZCAwLHIpLGM9dT4yP2FyZ3VtZW50c1syXTp2b2lkIDAsZj12b2lkIDA9PT1jP3I6byhjLHIpO2Y+YTspblthKytdPXQ7cmV0dXJuIG59fSwxODUzMzpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoNDIwOTIpLmZvckVhY2gsbz1yKDkzNDEpKCJmb3JFYWNoIik7dC5leHBvcnRzPW8/W10uZm9yRWFjaDpmdW5jdGlvbih0KXtyZXR1cm4gZSh0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0sNDg0NTc6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDE3ODU0KSxvPXIoNDk5NzQpLGk9cig0NjkxNiksdT1yKDQ3OTA4KSxhPXIoNTM0MTEpLGM9cig5NzY1OSksZj1yKDQ0MTEpLHM9cigyNjI0NCksbD1yKDg2MTM1KSxoPXIoMTg1NTQpLHA9cig3MTI0Niksdj1lLkFycmF5O3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgbj11KHQpLHI9Zih0aGlzKSxlPWFyZ3VtZW50cy5sZW5ndGgsZz1lPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxkPXZvaWQgMCE9PWc7ZCYmKGc9byhnLGU+Mj9hcmd1bWVudHNbMl06dm9pZCAwKSk7dmFyIHksXyxiLG0seCx3LE89cChuKSxFPTA7aWYoIU98fHRoaXM9PXYmJmMoTykpZm9yKHk9cyhuKSxfPXI/bmV3IHRoaXMoeSk6dih5KTt5PkU7RSsrKXc9ZD9nKG5bRV0sRSk6bltFXSxsKF8sRSx3KTtlbHNlIGZvcih4PShtPWgobixPKSkubmV4dCxfPXI/bmV3IHRoaXM6W107IShiPWkoeCxtKSkuZG9uZTtFKyspdz1kP2EobSxnLFtiLnZhbHVlLEVdLCEwKTpiLnZhbHVlLGwoXyxFLHcpO3JldHVybiBfLmxlbmd0aD1FLF99fSw0MTMxODpmdW5jdGlvbih0LG4scil7dmFyIGU9cig0NTY1Niksbz1yKDUxNDAwKSxpPXIoMjYyNDQpLHU9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4scix1KXt2YXIgYSxjPWUobiksZj1pKGMpLHM9byh1LGYpO2lmKHQmJnIhPXIpe2Zvcig7Zj5zOylpZigoYT1jW3MrK10pIT1hKXJldHVybiEwfWVsc2UgZm9yKDtmPnM7cysrKWlmKCh0fHxzIGluIGMpJiZjW3NdPT09cilyZXR1cm4gdHx8c3x8MDtyZXR1cm4hdCYmLTF9fTt0LmV4cG9ydHM9e2luY2x1ZGVzOnUoITApLGluZGV4T2Y6dSghMSl9fSw0MjA5MjpmdW5jdGlvbih0LG4scil7dmFyIGU9cig0OTk3NCksbz1yKDE3MDIpLGk9cig2ODM2MSksdT1yKDQ3OTA4KSxhPXIoMjYyNDQpLGM9cig2NTQxNyksZj1vKFtdLnB1c2gpLHM9ZnVuY3Rpb24odCl7dmFyIG49MT09dCxyPTI9PXQsbz0zPT10LHM9ND09dCxsPTY9PXQsaD03PT10LHA9NT09dHx8bDtyZXR1cm4gZnVuY3Rpb24odixnLGQseSl7Zm9yKHZhciBfLGIsbT11KHYpLHg9aShtKSx3PWUoZyxkKSxPPWEoeCksRT0wLFM9eXx8YyxBPW4/Uyh2LE8pOnJ8fGg/Uyh2LDApOnZvaWQgMDtPPkU7RSsrKWlmKChwfHxFIGluIHgpJiYoYj13KF89eFtFXSxFLG0pLHQpKWlmKG4pQVtFXT1iO2Vsc2UgaWYoYilzd2l0Y2godCl7Y2FzZSAzOnJldHVybiEwO2Nhc2UgNTpyZXR1cm4gXztjYXNlIDY6cmV0dXJuIEU7Y2FzZSAyOmYoQSxfKX1lbHNlIHN3aXRjaCh0KXtjYXNlIDQ6cmV0dXJuITE7Y2FzZSA3OmYoQSxfKX1yZXR1cm4gbD8tMTpvfHxzP3M6QX19O3QuZXhwb3J0cz17Zm9yRWFjaDpzKDApLG1hcDpzKDEpLGZpbHRlcjpzKDIpLHNvbWU6cygzKSxldmVyeTpzKDQpLGZpbmQ6cyg1KSxmaW5kSW5kZXg6cyg2KSxmaWx0ZXJSZWplY3Q6cyg3KX19LDg2NTgzOmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cigyMjEwNCksbz1yKDQ1NjU2KSxpPXIoMTkzMDMpLHU9cigyNjI0NCksYT1yKDkzNDEpLGM9TWF0aC5taW4sZj1bXS5sYXN0SW5kZXhPZixzPSEhZiYmMS9bMV0ubGFzdEluZGV4T2YoMSwtMCk8MCxsPWEoImxhc3RJbmRleE9mIiksaD1zfHwhbDt0LmV4cG9ydHM9aD9mdW5jdGlvbih0KXtpZihzKXJldHVybiBlKGYsdGhpcyxhcmd1bWVudHMpfHwwO3ZhciBuPW8odGhpcykscj11KG4pLGE9ci0xO2Zvcihhcmd1bWVudHMubGVuZ3RoPjEmJihhPWMoYSxpKGFyZ3VtZW50c1sxXSkpKSxhPDAmJihhPXIrYSk7YT49MDthLS0paWYoYSBpbiBuJiZuW2FdPT09dClyZXR1cm4gYXx8MDtyZXR1cm4tMX06Zn0sODExOTQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNDcyOTMpLG89cig1MTEyKSxpPXIoNzM5MiksdT1vKCJzcGVjaWVzIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBpPj01MXx8IWUoKGZ1bmN0aW9uKCl7dmFyIG49W107cmV0dXJuKG4uY29uc3RydWN0b3I9e30pW3VdPWZ1bmN0aW9uKCl7cmV0dXJue2ZvbzoxfX0sMSE9PW5bdF0oQm9vbGVhbikuZm9vfSkpfX0sOTM0MTpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoNDcyOTMpO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe3ZhciByPVtdW3RdO3JldHVybiEhciYmZSgoZnVuY3Rpb24oKXtyLmNhbGwobnVsbCxufHxmdW5jdGlvbigpe3Rocm93IDF9LDEpfSkpfX0sNTM2NzE6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cigxOTY2MiksaT1yKDQ3OTA4KSx1PXIoNjgzNjEpLGE9cigyNjI0NCksYz1lLlR5cGVFcnJvcixmPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIsZSxmKXtvKHIpO3ZhciBzPWkobiksbD11KHMpLGg9YShzKSxwPXQ/aC0xOjAsdj10Py0xOjE7aWYoZTwyKWZvcig7Oyl7aWYocCBpbiBsKXtmPWxbcF0scCs9djticmVha31pZihwKz12LHQ/cDwwOmg8PXApdGhyb3cgYygiUmVkdWNlIG9mIGVtcHR5IGFycmF5IHdpdGggbm8gaW5pdGlhbCB2YWx1ZSIpfWZvcig7dD9wPj0wOmg+cDtwKz12KXAgaW4gbCYmKGY9cihmLGxbcF0scCxzKSk7cmV0dXJuIGZ9fTt0LmV4cG9ydHM9e2xlZnQ6ZighMSkscmlnaHQ6ZighMCl9fSw1MDIwNjpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzAyKTt0LmV4cG9ydHM9ZShbXS5zbGljZSl9LDk0MzYyOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDUwMjA2KSxvPU1hdGguZmxvb3IsaT1mdW5jdGlvbih0LG4pe3ZhciByPXQubGVuZ3RoLGM9byhyLzIpO3JldHVybiByPDg/dSh0LG4pOmEodCxpKGUodCwwLGMpLG4pLGkoZSh0LGMpLG4pLG4pfSx1PWZ1bmN0aW9uKHQsbil7Zm9yKHZhciByLGUsbz10Lmxlbmd0aCxpPTE7aTxvOyl7Zm9yKGU9aSxyPXRbaV07ZSYmbih0W2UtMV0scik+MDspdFtlXT10Wy0tZV07ZSE9PWkrKyYmKHRbZV09cil9cmV0dXJuIHR9LGE9ZnVuY3Rpb24odCxuLHIsZSl7Zm9yKHZhciBvPW4ubGVuZ3RoLGk9ci5sZW5ndGgsdT0wLGE9MDt1PG98fGE8aTspdFt1K2FdPXU8byYmYTxpP2Uoblt1XSxyW2FdKTw9MD9uW3UrK106clthKytdOnU8bz9uW3UrK106clthKytdO3JldHVybiB0fTt0LmV4cG9ydHM9aX0sNzc0NzU6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cig0MzE1NyksaT1yKDQ0MTEpLHU9cig3MDExMSksYT1yKDUxMTIpKCJzcGVjaWVzIiksYz1lLkFycmF5O3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4gbyh0KSYmKG49dC5jb25zdHJ1Y3RvciwoaShuKSYmKG49PT1jfHxvKG4ucHJvdG90eXBlKSl8fHUobikmJm51bGw9PT0obj1uW2FdKSkmJihuPXZvaWQgMCkpLHZvaWQgMD09PW4/YzpufX0sNjU0MTc6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNzc0NzUpO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe3JldHVybiBuZXcoZSh0KSkoMD09PW4/MDpuKX19LDUzNDExOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE5NjcwKSxvPXIoOTkyMTIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4scixpKXt0cnl7cmV0dXJuIGk/bihlKHIpWzBdLHJbMV0pOm4ocil9Y2F0Y2gobil7byh0LCJ0aHJvdyIsbil9fX0sMTcwNzI6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNTExMikoIml0ZXJhdG9yIiksbz0hMTt0cnl7dmFyIGk9MCx1PXtuZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6ISFpKyt9fSxyZXR1cm46ZnVuY3Rpb24oKXtvPSEwfX07dVtlXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxBcnJheS5mcm9tKHUsKGZ1bmN0aW9uKCl7dGhyb3cgMn0pKX1jYXRjaCh0KXt9dC5leHBvcnRzPWZ1bmN0aW9uKHQsbil7aWYoIW4mJiFvKXJldHVybiExO3ZhciByPSExO3RyeXt2YXIgaT17fTtpW2VdPWZ1bmN0aW9uKCl7cmV0dXJue25leHQ6ZnVuY3Rpb24oKXtyZXR1cm57ZG9uZTpyPSEwfX19fSx0KGkpfWNhdGNoKHQpe31yZXR1cm4gcn19LDg0MzI2OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3MDIpLG89ZSh7fS50b1N0cmluZyksaT1lKCIiLnNsaWNlKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGkobyh0KSw4LC0xKX19LDcwNjQ4OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoNTE2OTQpLGk9cig2MDYxNCksdT1yKDg0MzI2KSxhPXIoNTExMikoInRvU3RyaW5nVGFnIiksYz1lLk9iamVjdCxmPSJBcmd1bWVudHMiPT11KGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk7dC5leHBvcnRzPW8/dTpmdW5jdGlvbih0KXt2YXIgbixyLGU7cmV0dXJuIHZvaWQgMD09PXQ/IlVuZGVmaW5lZCI6bnVsbD09PXQ/Ik51bGwiOiJzdHJpbmciPT10eXBlb2Yocj1mdW5jdGlvbih0LG4pe3RyeXtyZXR1cm4gdFtuXX1jYXRjaCh0KXt9fShuPWModCksYSkpP3I6Zj91KG4pOiJPYmplY3QiPT0oZT11KG4pKSYmaShuLmNhbGxlZSk/IkFyZ3VtZW50cyI6ZX19LDk5OTIwOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDkyNTk3KSxvPXIoNTM4ODcpLGk9cigzMTIzNiksdT1yKDMwNzApO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe2Zvcih2YXIgcj1vKG4pLGE9dS5mLGM9aS5mLGY9MDtmPHIubGVuZ3RoO2YrKyl7dmFyIHM9cltmXTtlKHQscyl8fGEodCxzLGMobixzKSl9fX0sODQ5NjQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNTExMikoIm1hdGNoIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBuPS8uLzt0cnl7Ii8uLyJbdF0obil9Y2F0Y2gocil7dHJ5e3JldHVybiBuW2VdPSExLCIvLi8iW3RdKG4pfWNhdGNoKHQpe319cmV0dXJuITF9fSw0OTkyMDpmdW5jdGlvbih0LG4scil7dmFyIGU9cig0NzI5Myk7dC5leHBvcnRzPSFlKChmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPW51bGwsT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyB0KSE9PXQucHJvdG90eXBlfSkpfSwyNDk5NDpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoMTMzODMpLkl0ZXJhdG9yUHJvdG90eXBlLG89cig3MDAzMCksaT1yKDc5MTE0KSx1PXIoNTgwMDMpLGE9cig5NzQ5NyksYz1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIpe3ZhciBmPW4rIiBJdGVyYXRvciI7cmV0dXJuIHQucHJvdG90eXBlPW8oZSx7bmV4dDppKDEscil9KSx1KHQsZiwhMSwhMCksYVtmXT1jLHR9fSw2ODg4MDpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxOTc4MSksbz1yKDMwNzApLGk9cig3OTExNCk7dC5leHBvcnRzPWU/ZnVuY3Rpb24odCxuLHIpe3JldHVybiBvLmYodCxuLGkoMSxyKSl9OmZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gdFtuXT1yLHR9fSw3OTExNDpmdW5jdGlvbih0KXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtyZXR1cm57ZW51bWVyYWJsZTohKDEmdCksY29uZmlndXJhYmxlOiEoMiZ0KSx3cml0YWJsZTohKDQmdCksdmFsdWU6bn19fSw4NjEzNTpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoMzQ5NDgpLG89cigzMDcwKSxpPXIoNzkxMTQpO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4scil7dmFyIHU9ZShuKTt1IGluIHQ/by5mKHQsdSxpKDAscikpOnRbdV09cn19LDcwNjU0OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDQ2OTE2KSxpPXIoMzE5MTMpLHU9cig3NjUzMCksYT1yKDYwNjE0KSxjPXIoMjQ5OTQpLGY9cig3OTUxOCkscz1yKDI3Njc0KSxsPXIoNTgwMDMpLGg9cig2ODg4MCkscD1yKDMxMzIwKSx2PXIoNTExMiksZz1yKDk3NDk3KSxkPXIoMTMzODMpLHk9dS5QUk9QRVIsXz11LkNPTkZJR1VSQUJMRSxiPWQuSXRlcmF0b3JQcm90b3R5cGUsbT1kLkJVR0dZX1NBRkFSSV9JVEVSQVRPUlMseD12KCJpdGVyYXRvciIpLHc9ImtleXMiLE89InZhbHVlcyIsRT0iZW50cmllcyIsUz1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIsdSx2LGQsQSl7YyhyLG4sdSk7dmFyIGosUixJLGs9ZnVuY3Rpb24odCl7aWYodD09PXYmJk4pcmV0dXJuIE47aWYoIW0mJnQgaW4gUClyZXR1cm4gUFt0XTtzd2l0Y2godCl7Y2FzZSB3OmNhc2UgTzpjYXNlIEU6cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyByKHRoaXMsdCl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgcih0aGlzKX19LEw9bisiIEl0ZXJhdG9yIixUPSExLFA9dC5wcm90b3R5cGUsTT1QW3hdfHxQWyJAQGl0ZXJhdG9yIl18fHYmJlBbdl0sTj0hbSYmTXx8ayh2KSxVPSJBcnJheSI9PW4mJlAuZW50cmllc3x8TTtpZihVJiYoaj1mKFUuY2FsbChuZXcgdCkpKSE9PU9iamVjdC5wcm90b3R5cGUmJmoubmV4dCYmKGl8fGYoaik9PT1ifHwocz9zKGosYik6YShqW3hdKXx8cChqLHgsUykpLGwoaixMLCEwLCEwKSxpJiYoZ1tMXT1TKSkseSYmdj09TyYmTSYmTS5uYW1lIT09TyYmKCFpJiZfP2goUCwibmFtZSIsTyk6KFQ9ITAsTj1mdW5jdGlvbigpe3JldHVybiBvKE0sdGhpcyl9KSksdilpZihSPXt2YWx1ZXM6ayhPKSxrZXlzOmQ/TjprKHcpLGVudHJpZXM6ayhFKX0sQSlmb3IoSSBpbiBSKShtfHxUfHwhKEkgaW4gUCkpJiZwKFAsSSxSW0ldKTtlbHNlIGUoe3RhcmdldDpuLHByb3RvOiEwLGZvcmNlZDptfHxUfSxSKTtyZXR1cm4gaSYmIUF8fFBbeF09PT1OfHxwKFAseCxOLHtuYW1lOnZ9KSxnW25dPU4sUn19LDk3MjM1OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDQwODU3KSxvPXIoOTI1OTcpLGk9cig2MDYxKSx1PXIoMzA3MCkuZjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIG49ZS5TeW1ib2x8fChlLlN5bWJvbD17fSk7byhuLHQpfHx1KG4sdCx7dmFsdWU6aS5mKHQpfSl9fSwxOTc4MTpmdW5jdGlvbih0LG4scil7dmFyIGU9cig0NzI5Myk7dC5leHBvcnRzPSFlKChmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sMSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSlbMV19KSl9LDgwMzE3OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoNzAxMTEpLGk9ZS5kb2N1bWVudCx1PW8oaSkmJm8oaS5jcmVhdGVFbGVtZW50KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHU/aS5jcmVhdGVFbGVtZW50KHQpOnt9fX0sNDgzMjQ6ZnVuY3Rpb24odCl7dC5leHBvcnRzPXtDU1NSdWxlTGlzdDowLENTU1N0eWxlRGVjbGFyYXRpb246MCxDU1NWYWx1ZUxpc3Q6MCxDbGllbnRSZWN0TGlzdDowLERPTVJlY3RMaXN0OjAsRE9NU3RyaW5nTGlzdDowLERPTVRva2VuTGlzdDoxLERhdGFUcmFuc2Zlckl0ZW1MaXN0OjAsRmlsZUxpc3Q6MCxIVE1MQWxsQ29sbGVjdGlvbjowLEhUTUxDb2xsZWN0aW9uOjAsSFRNTEZvcm1FbGVtZW50OjAsSFRNTFNlbGVjdEVsZW1lbnQ6MCxNZWRpYUxpc3Q6MCxNaW1lVHlwZUFycmF5OjAsTmFtZWROb2RlTWFwOjAsTm9kZUxpc3Q6MSxQYWludFJlcXVlc3RMaXN0OjAsUGx1Z2luOjAsUGx1Z2luQXJyYXk6MCxTVkdMZW5ndGhMaXN0OjAsU1ZHTnVtYmVyTGlzdDowLFNWR1BhdGhTZWdMaXN0OjAsU1ZHUG9pbnRMaXN0OjAsU1ZHU3RyaW5nTGlzdDowLFNWR1RyYW5zZm9ybUxpc3Q6MCxTb3VyY2VCdWZmZXJMaXN0OjAsU3R5bGVTaGVldExpc3Q6MCxUZXh0VHJhY2tDdWVMaXN0OjAsVGV4dFRyYWNrTGlzdDowLFRvdWNoTGlzdDowfX0sOTg1MDk6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoODAzMTcpKCJzcGFuIikuY2xhc3NMaXN0LG89ZSYmZS5jb25zdHJ1Y3RvciYmZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGU7dC5leHBvcnRzPW89PT1PYmplY3QucHJvdG90eXBlP3ZvaWQgMDpvfSw2ODg4NjpmdW5jdGlvbih0LG4scil7dmFyIGU9cig4ODExMykubWF0Y2goL2ZpcmVmb3hcLyhcZCspL2kpO3QuZXhwb3J0cz0hIWUmJitlWzFdfSw3ODcxOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvd30sMzAyNTY6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoODgxMTMpO3QuZXhwb3J0cz0vTVNJRXxUcmlkZW50Ly50ZXN0KGUpfSw3MTUyODpmdW5jdGlvbih0LG4scil7dmFyIGU9cig4ODExMyksbz1yKDE3ODU0KTt0LmV4cG9ydHM9L2lwYWR8aXBob25lfGlwb2QvaS50ZXN0KGUpJiZ2b2lkIDAhPT1vLlBlYmJsZX0sNjgzMzpmdW5jdGlvbih0LG4scil7dmFyIGU9cig4ODExMyk7dC5leHBvcnRzPS8oPzppcGFkfGlwaG9uZXxpcG9kKS4qYXBwbGV3ZWJraXQvaS50ZXN0KGUpfSwzNTI2ODpmdW5jdGlvbih0LG4scil7dmFyIGU9cig4NDMyNiksbz1yKDE3ODU0KTt0LmV4cG9ydHM9InByb2Nlc3MiPT1lKG8ucHJvY2Vzcyl9LDcxMDM2OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDg4MTEzKTt0LmV4cG9ydHM9L3dlYjBzKD8hLipjaHJvbWUpL2kudGVzdChlKX0sODgxMTM6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMzUwMDUpO3QuZXhwb3J0cz1lKCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiKXx8IiJ9LDczOTI6ZnVuY3Rpb24odCxuLHIpe3ZhciBlLG8saT1yKDE3ODU0KSx1PXIoODgxMTMpLGE9aS5wcm9jZXNzLGM9aS5EZW5vLGY9YSYmYS52ZXJzaW9uc3x8YyYmYy52ZXJzaW9uLHM9ZiYmZi52ODtzJiYobz0oZT1zLnNwbGl0KCIuIikpWzBdPjAmJmVbMF08ND8xOisoZVswXStlWzFdKSksIW8mJnUmJighKGU9dS5tYXRjaCgvRWRnZVwvKFxkKykvKSl8fGVbMV0+PTc0KSYmKGU9dS5tYXRjaCgvQ2hyb21lXC8oXGQrKS8pKSYmKG89K2VbMV0pLHQuZXhwb3J0cz1vfSw5ODAwODpmdW5jdGlvbih0LG4scil7dmFyIGU9cig4ODExMykubWF0Y2goL0FwcGxlV2ViS2l0XC8oXGQrKVwuLyk7dC5leHBvcnRzPSEhZSYmK2VbMV19LDI2NDk6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cigxNzAyKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtyZXR1cm4gbyhlW3RdLnByb3RvdHlwZVtuXSl9fSw5ODc3MDpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBlW3RdLnByb3RvdHlwZX19LDgwNzQ4OmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1bImNvbnN0cnVjdG9yIiwiaGFzT3duUHJvcGVydHkiLCJpc1Byb3RvdHlwZU9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJ0b0xvY2FsZVN0cmluZyIsInRvU3RyaW5nIiwidmFsdWVPZiJdfSw4MjEwOTpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCksbz1yKDMxMjM2KS5mLGk9cig2ODg4MCksdT1yKDMxMzIwKSxhPXIoODM1MDUpLGM9cig5OTkyMCksZj1yKDU0NzA1KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXt2YXIgcixzLGwsaCxwLHY9dC50YXJnZXQsZz10Lmdsb2JhbCxkPXQuc3RhdDtpZihyPWc/ZTpkP2Vbdl18fGEodix7fSk6KGVbdl18fHt9KS5wcm90b3R5cGUpZm9yKHMgaW4gbil7aWYoaD1uW3NdLGw9dC5ub1RhcmdldEdldD8ocD1vKHIscykpJiZwLnZhbHVlOnJbc10sIWYoZz9zOnYrKGQ/Ii4iOiIjIikrcyx0LmZvcmNlZCkmJnZvaWQgMCE9PWwpe2lmKHR5cGVvZiBoPT10eXBlb2YgbCljb250aW51ZTtjKGgsbCl9KHQuc2hhbXx8bCYmbC5zaGFtKSYmaShoLCJzaGFtIiwhMCksdShyLHMsaCx0KX19fSw0NzI5MzpmdW5jdGlvbih0KXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiEhdCgpfWNhdGNoKHQpe3JldHVybiEwfX19LDI3MDA3OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7cig3NDkxNik7dmFyIGU9cigxNzAyKSxvPXIoMzEzMjApLGk9cigyMjI2MSksdT1yKDQ3MjkzKSxhPXIoNTExMiksYz1yKDY4ODgwKSxmPWEoInNwZWNpZXMiKSxzPVJlZ0V4cC5wcm90b3R5cGU7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbixyLGwpe3ZhciBoPWEodCkscD0hdSgoZnVuY3Rpb24oKXt2YXIgbj17fTtyZXR1cm4gbltoXT1mdW5jdGlvbigpe3JldHVybiA3fSw3IT0iIlt0XShuKX0pKSx2PXAmJiF1KChmdW5jdGlvbigpe3ZhciBuPSExLHI9L2EvO3JldHVybiJzcGxpdCI9PT10JiYoKHI9e30pLmNvbnN0cnVjdG9yPXt9LHIuY29uc3RydWN0b3JbZl09ZnVuY3Rpb24oKXtyZXR1cm4gcn0sci5mbGFncz0iIixyW2hdPS8uL1toXSksci5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIG49ITAsbnVsbH0scltoXSgiIiksIW59KSk7aWYoIXB8fCF2fHxyKXt2YXIgZz1lKC8uL1toXSksZD1uKGgsIiJbdF0sKGZ1bmN0aW9uKHQsbixyLG8sdSl7dmFyIGE9ZSh0KSxjPW4uZXhlYztyZXR1cm4gYz09PWl8fGM9PT1zLmV4ZWM/cCYmIXU/e2RvbmU6ITAsdmFsdWU6ZyhuLHIsbyl9Ontkb25lOiEwLHZhbHVlOmEocixuLG8pfTp7ZG9uZTohMX19KSk7byhTdHJpbmcucHJvdG90eXBlLHQsZFswXSksbyhzLGgsZFsxXSl9bCYmYyhzW2hdLCJzaGFtIiwhMCl9fSw2NzkwOmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cigxNzg1NCksbz1yKDQzMTU3KSxpPXIoMjYyNDQpLHU9cig0OTk3NCksYT1lLlR5cGVFcnJvcixjPWZ1bmN0aW9uKHQsbixyLGUsZixzLGwsaCl7Zm9yKHZhciBwLHYsZz1mLGQ9MCx5PSEhbCYmdShsLGgpO2Q8ZTspe2lmKGQgaW4gcil7aWYocD15P3kocltkXSxkLG4pOnJbZF0scz4wJiZvKHApKXY9aShwKSxnPWModCxuLHAsdixnLHMtMSktMTtlbHNle2lmKGc+PTkwMDcxOTkyNTQ3NDA5OTEpdGhyb3cgYSgiRXhjZWVkIHRoZSBhY2NlcHRhYmxlIGFycmF5IGxlbmd0aCIpO3RbZ109cH1nKyt9ZCsrfXJldHVybiBnfTt0LmV4cG9ydHM9Y30sMjIxMDQ6ZnVuY3Rpb24odCl7dmFyIG49RnVuY3Rpb24ucHJvdG90eXBlLHI9bi5hcHBseSxlPW4uYmluZCxvPW4uY2FsbDt0LmV4cG9ydHM9Im9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiZSZWZsZWN0LmFwcGx5fHwoZT9vLmJpbmQocik6ZnVuY3Rpb24oKXtyZXR1cm4gby5hcHBseShyLGFyZ3VtZW50cyl9KX0sNDk5NzQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTcwMiksbz1yKDE5NjYyKSxpPWUoZS5iaW5kKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtyZXR1cm4gbyh0KSx2b2lkIDA9PT1uP3Q6aT9pKHQsbik6ZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShuLGFyZ3VtZW50cyl9fX0sNDY5MTY6ZnVuY3Rpb24odCl7dmFyIG49RnVuY3Rpb24ucHJvdG90eXBlLmNhbGw7dC5leHBvcnRzPW4uYmluZD9uLmJpbmQobik6ZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseShuLGFyZ3VtZW50cyl9fSw3NjUzMDpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxOTc4MSksbz1yKDkyNTk3KSxpPUZ1bmN0aW9uLnByb3RvdHlwZSx1PWUmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsYT1vKGksIm5hbWUiKSxjPWEmJiJzb21ldGhpbmciPT09ZnVuY3Rpb24oKXt9Lm5hbWUsZj1hJiYoIWV8fGUmJnUoaSwibmFtZSIpLmNvbmZpZ3VyYWJsZSk7dC5leHBvcnRzPXtFWElTVFM6YSxQUk9QRVI6YyxDT05GSUdVUkFCTEU6Zn19LDE3MDI6ZnVuY3Rpb24odCl7dmFyIG49RnVuY3Rpb24ucHJvdG90eXBlLHI9bi5iaW5kLGU9bi5jYWxsLG89ciYmci5iaW5kKGUpO3QuZXhwb3J0cz1yP2Z1bmN0aW9uKHQpe3JldHVybiB0JiZvKGUsdCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZmdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHQsYXJndW1lbnRzKX19fSwzNTAwNTpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCksbz1yKDYwNjE0KSxpPWZ1bmN0aW9uKHQpe3JldHVybiBvKHQpP3Q6dm9pZCAwfTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP2koZVt0XSk6ZVt0XSYmZVt0XVtuXX19LDcxMjQ2OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDcwNjQ4KSxvPXIoNTgxNzMpLGk9cig5NzQ5NyksdT1yKDUxMTIpKCJpdGVyYXRvciIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihudWxsIT10KXJldHVybiBvKHQsdSl8fG8odCwiQEBpdGVyYXRvciIpfHxpW2UodCldfX0sMTg1NTQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cig0NjkxNiksaT1yKDE5NjYyKSx1PXIoMTk2NzApLGE9cig2NjMzMCksYz1yKDcxMjQ2KSxmPWUuVHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg8Mj9jKHQpOm47aWYoaShyKSlyZXR1cm4gdShvKHIsdCkpO3Rocm93IGYoYSh0KSsiIGlzIG5vdCBpdGVyYWJsZSIpfX0sNTgxNzM6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTk2NjIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe3ZhciByPXRbbl07cmV0dXJuIG51bGw9PXI/dm9pZCAwOmUocil9fSwxMDY0NzpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzAyKSxvPXIoNDc5MDgpLGk9TWF0aC5mbG9vcix1PWUoIiIuY2hhckF0KSxhPWUoIiIucmVwbGFjZSksYz1lKCIiLnNsaWNlKSxmPS9cJChbJCYnYF18XGR7MSwyfXw8W14+XSo+KS9nLHM9L1wkKFskJidgXXxcZHsxLDJ9KS9nO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4scixlLGwsaCl7dmFyIHA9cit0Lmxlbmd0aCx2PWUubGVuZ3RoLGc9cztyZXR1cm4gdm9pZCAwIT09bCYmKGw9byhsKSxnPWYpLGEoaCxnLChmdW5jdGlvbihvLGEpe3ZhciBmO3N3aXRjaCh1KGEsMCkpe2Nhc2UiJCI6cmV0dXJuIiQiO2Nhc2UiJiI6cmV0dXJuIHQ7Y2FzZSJgIjpyZXR1cm4gYyhuLDAscik7Y2FzZSInIjpyZXR1cm4gYyhuLHApO2Nhc2UiPCI6Zj1sW2MoYSwxLC0xKV07YnJlYWs7ZGVmYXVsdDp2YXIgcz0rYTtpZigwPT09cylyZXR1cm4gbztpZihzPnYpe3ZhciBoPWkocy8xMCk7cmV0dXJuIDA9PT1oP286aDw9dj92b2lkIDA9PT1lW2gtMV0/dShhLDEpOmVbaC0xXSt1KGEsMSk6b31mPWVbcy0xXX1yZXR1cm4gdm9pZCAwPT09Zj8iIjpmfSkpfX0sMTc4NTQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lk1hdGg9PU1hdGgmJnR9O3QuZXhwb3J0cz1lKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyl8fGUoIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyl8fGUoIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmKXx8ZSgib2JqZWN0Ij09dHlwZW9mIHIuZyYmci5nKXx8ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30oKXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKX0sOTI1OTc6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTcwMiksbz1yKDQ3OTA4KSxpPWUoe30uaGFzT3duUHJvcGVydHkpO3QuZXhwb3J0cz1PYmplY3QuaGFzT3dufHxmdW5jdGlvbih0LG4pe3JldHVybiBpKG8odCksbil9fSwzNTAxOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz17fX0sODQyOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXt2YXIgcj1lLmNvbnNvbGU7ciYmci5lcnJvciYmKDE9PWFyZ3VtZW50cy5sZW5ndGg/ci5lcnJvcih0KTpyLmVycm9yKHQsbikpfX0sNjA0OTA6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMzUwMDUpO3QuZXhwb3J0cz1lKCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIpfSw2NDY2NDpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxOTc4MSksbz1yKDQ3MjkzKSxpPXIoODAzMTcpO3QuZXhwb3J0cz0hZSYmIW8oKGZ1bmN0aW9uKCl7cmV0dXJuIDchPU9iamVjdC5kZWZpbmVQcm9wZXJ0eShpKCJkaXYiKSwiYSIse2dldDpmdW5jdGlvbigpe3JldHVybiA3fX0pLmF9KSl9LDY4MzYxOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoMTcwMiksaT1yKDQ3MjkzKSx1PXIoODQzMjYpLGE9ZS5PYmplY3QsYz1vKCIiLnNwbGl0KTt0LmV4cG9ydHM9aSgoZnVuY3Rpb24oKXtyZXR1cm4hYSgieiIpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApfSkpP2Z1bmN0aW9uKHQpe3JldHVybiJTdHJpbmciPT11KHQpP2ModCwiIik6YSh0KX06YX0sNzk1ODc6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNjA2MTQpLG89cig3MDExMSksaT1yKDI3Njc0KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIpe3ZhciB1LGE7cmV0dXJuIGkmJmUodT1uLmNvbnN0cnVjdG9yKSYmdSE9PXImJm8oYT11LnByb3RvdHlwZSkmJmEhPT1yLnByb3RvdHlwZSYmaSh0LGEpLHR9fSw0Mjc4ODpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzAyKSxvPXIoNjA2MTQpLGk9cig1NDY1KSx1PWUoRnVuY3Rpb24udG9TdHJpbmcpO28oaS5pbnNwZWN0U291cmNlKXx8KGkuaW5zcGVjdFNvdXJjZT1mdW5jdGlvbih0KXtyZXR1cm4gdSh0KX0pLHQuZXhwb3J0cz1pLmluc3BlY3RTb3VyY2V9LDI5OTA5OmZ1bmN0aW9uKHQsbixyKXt2YXIgZSxvLGksdT1yKDY4NTM2KSxhPXIoMTc4NTQpLGM9cigxNzAyKSxmPXIoNzAxMTEpLHM9cig2ODg4MCksbD1yKDkyNTk3KSxoPXIoNTQ2NSkscD1yKDYyMDApLHY9cigzNTAxKSxnPSJPYmplY3QgYWxyZWFkeSBpbml0aWFsaXplZCIsZD1hLlR5cGVFcnJvcix5PWEuV2Vha01hcDtpZih1fHxoLnN0YXRlKXt2YXIgXz1oLnN0YXRlfHwoaC5zdGF0ZT1uZXcgeSksYj1jKF8uZ2V0KSxtPWMoXy5oYXMpLHg9YyhfLnNldCk7ZT1mdW5jdGlvbih0LG4pe2lmKG0oXyx0KSl0aHJvdyBuZXcgZChnKTtyZXR1cm4gbi5mYWNhZGU9dCx4KF8sdCxuKSxufSxvPWZ1bmN0aW9uKHQpe3JldHVybiBiKF8sdCl8fHt9fSxpPWZ1bmN0aW9uKHQpe3JldHVybiBtKF8sdCl9fWVsc2V7dmFyIHc9cCgic3RhdGUiKTt2W3ddPSEwLGU9ZnVuY3Rpb24odCxuKXtpZihsKHQsdykpdGhyb3cgbmV3IGQoZyk7cmV0dXJuIG4uZmFjYWRlPXQscyh0LHcsbiksbn0sbz1mdW5jdGlvbih0KXtyZXR1cm4gbCh0LHcpP3Rbd106e319LGk9ZnVuY3Rpb24odCl7cmV0dXJuIGwodCx3KX19dC5leHBvcnRzPXtzZXQ6ZSxnZXQ6byxoYXM6aSxlbmZvcmNlOmZ1bmN0aW9uKHQpe3JldHVybiBpKHQpP28odCk6ZSh0LHt9KX0sZ2V0dGVyRm9yOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgcjtpZighZihuKXx8KHI9byhuKSkudHlwZSE9PXQpdGhyb3cgZCgiSW5jb21wYXRpYmxlIHJlY2VpdmVyLCAiK3QrIiByZXF1aXJlZCIpO3JldHVybiByfX19fSw5NzY1OTpmdW5jdGlvbih0LG4scil7dmFyIGU9cig1MTEyKSxvPXIoOTc0OTcpLGk9ZSgiaXRlcmF0b3IiKSx1PUFycmF5LnByb3RvdHlwZTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMCE9PXQmJihvLkFycmF5PT09dHx8dVtpXT09PXQpfX0sNDMxNTc6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoODQzMjYpO3QuZXhwb3J0cz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iQXJyYXkiPT1lKHQpfX0sNjA2MTQ6ZnVuY3Rpb24odCl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fX0sNDQxMTpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzAyKSxvPXIoNDcyOTMpLGk9cig2MDYxNCksdT1yKDcwNjQ4KSxhPXIoMzUwMDUpLGM9cig0Mjc4OCksZj1mdW5jdGlvbigpe30scz1bXSxsPWEoIlJlZmxlY3QiLCJjb25zdHJ1Y3QiKSxoPS9eXHMqKD86Y2xhc3N8ZnVuY3Rpb24pXGIvLHA9ZShoLmV4ZWMpLHY9IWguZXhlYyhmKSxnPWZ1bmN0aW9uKHQpe2lmKCFpKHQpKXJldHVybiExO3RyeXtyZXR1cm4gbChmLHMsdCksITB9Y2F0Y2godCl7cmV0dXJuITF9fTt0LmV4cG9ydHM9IWx8fG8oKGZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIGcoZy5jYWxsKXx8IWcoT2JqZWN0KXx8IWcoKGZ1bmN0aW9uKCl7dD0hMH0pKXx8dH0pKT9mdW5jdGlvbih0KXtpZighaSh0KSlyZXR1cm4hMTtzd2l0Y2godSh0KSl7Y2FzZSJBc3luY0Z1bmN0aW9uIjpjYXNlIkdlbmVyYXRvckZ1bmN0aW9uIjpjYXNlIkFzeW5jR2VuZXJhdG9yRnVuY3Rpb24iOnJldHVybiExfXJldHVybiB2fHwhIXAoaCxjKHQpKX06Z30sNTQ3MDU6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNDcyOTMpLG89cig2MDYxNCksaT0vI3xcLnByb3RvdHlwZVwuLyx1PWZ1bmN0aW9uKHQsbil7dmFyIHI9Y1thKHQpXTtyZXR1cm4gcj09c3x8ciE9ZiYmKG8obik/ZShuKTohIW4pfSxhPXUubm9ybWFsaXplPWZ1bmN0aW9uKHQpe3JldHVybiBTdHJpbmcodCkucmVwbGFjZShpLCIuIikudG9Mb3dlckNhc2UoKX0sYz11LmRhdGE9e30sZj11Lk5BVElWRT0iTiIscz11LlBPTFlGSUxMPSJQIjt0LmV4cG9ydHM9dX0sNTU5ODg6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNzAxMTEpLG89TWF0aC5mbG9vcjt0LmV4cG9ydHM9TnVtYmVyLmlzSW50ZWdlcnx8ZnVuY3Rpb24odCl7cmV0dXJuIWUodCkmJmlzRmluaXRlKHQpJiZvKHQpPT09dH19LDcwMTExOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDYwNjE0KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0P251bGwhPT10OmUodCl9fSwzMTkxMzpmdW5jdGlvbih0KXt0LmV4cG9ydHM9ITF9LDQ3ODUwOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDcwMTExKSxvPXIoODQzMjYpLGk9cig1MTEyKSgibWF0Y2giKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIG47cmV0dXJuIGUodCkmJih2b2lkIDAhPT0obj10W2ldKT8hIW46IlJlZ0V4cCI9PW8odCkpfX0sNTIxOTA6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cigzNTAwNSksaT1yKDYwNjE0KSx1PXIoNDc5NzYpLGE9cig0MzMwNyksYz1lLk9iamVjdDt0LmV4cG9ydHM9YT9mdW5jdGlvbih0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3ZhciBuPW8oIlN5bWJvbCIpO3JldHVybiBpKG4pJiZ1KG4ucHJvdG90eXBlLGModCkpfX0sMjA0MDg6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cig0OTk3NCksaT1yKDQ2OTE2KSx1PXIoMTk2NzApLGE9cig2NjMzMCksYz1yKDk3NjU5KSxmPXIoMjYyNDQpLHM9cig0Nzk3NiksbD1yKDE4NTU0KSxoPXIoNzEyNDYpLHA9cig5OTIxMiksdj1lLlR5cGVFcnJvcixnPWZ1bmN0aW9uKHQsbil7dGhpcy5zdG9wcGVkPXQsdGhpcy5yZXN1bHQ9bn0sZD1nLnByb3RvdHlwZTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIpe3ZhciBlLHksXyxiLG0seCx3LE89ciYmci50aGF0LEU9ISghcnx8IXIuQVNfRU5UUklFUyksUz0hKCFyfHwhci5JU19JVEVSQVRPUiksQT0hKCFyfHwhci5JTlRFUlJVUFRFRCksaj1vKG4sTyksUj1mdW5jdGlvbih0KXtyZXR1cm4gZSYmcChlLCJub3JtYWwiLHQpLG5ldyBnKCEwLHQpfSxJPWZ1bmN0aW9uKHQpe3JldHVybiBFPyh1KHQpLEE/aih0WzBdLHRbMV0sUik6aih0WzBdLHRbMV0pKTpBP2oodCxSKTpqKHQpfTtpZihTKWU9dDtlbHNle2lmKCEoeT1oKHQpKSl0aHJvdyB2KGEodCkrIiBpcyBub3QgaXRlcmFibGUiKTtpZihjKHkpKXtmb3IoXz0wLGI9Zih0KTtiPl87XysrKWlmKChtPUkodFtfXSkpJiZzKGQsbSkpcmV0dXJuIG07cmV0dXJuIG5ldyBnKCExKX1lPWwodCx5KX1mb3IoeD1lLm5leHQ7ISh3PWkoeCxlKSkuZG9uZTspe3RyeXttPUkody52YWx1ZSl9Y2F0Y2godCl7cChlLCJ0aHJvdyIsdCl9aWYoIm9iamVjdCI9PXR5cGVvZiBtJiZtJiZzKGQsbSkpcmV0dXJuIG19cmV0dXJuIG5ldyBnKCExKX19LDk5MjEyOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDQ2OTE2KSxvPXIoMTk2NzApLGk9cig1ODE3Myk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbixyKXt2YXIgdSxhO28odCk7dHJ5e2lmKCEodT1pKHQsInJldHVybiIpKSl7aWYoInRocm93Ij09PW4pdGhyb3cgcjtyZXR1cm4gcn11PWUodSx0KX1jYXRjaCh0KXthPSEwLHU9dH1pZigidGhyb3ciPT09bil0aHJvdyByO2lmKGEpdGhyb3cgdTtyZXR1cm4gbyh1KSxyfX0sMTMzODM6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZSxvLGksdT1yKDQ3MjkzKSxhPXIoNjA2MTQpLGM9cig3MDAzMCksZj1yKDc5NTE4KSxzPXIoMzEzMjApLGw9cig1MTEyKSxoPXIoMzE5MTMpLHA9bCgiaXRlcmF0b3IiKSx2PSExO1tdLmtleXMmJigibmV4dCJpbihpPVtdLmtleXMoKSk/KG89ZihmKGkpKSkhPT1PYmplY3QucHJvdG90eXBlJiYoZT1vKTp2PSEwKSxudWxsPT1lfHx1KChmdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiBlW3BdLmNhbGwodCkhPT10fSkpP2U9e306aCYmKGU9YyhlKSksYShlW3BdKXx8cyhlLHAsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksdC5leHBvcnRzPXtJdGVyYXRvclByb3RvdHlwZTplLEJVR0dZX1NBRkFSSV9JVEVSQVRPUlM6dn19LDk3NDk3OmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz17fX0sMjYyNDQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc0NjYpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gZSh0Lmxlbmd0aCl9fSw5NTk0ODpmdW5jdGlvbih0LG4scil7dmFyIGUsbyxpLHUsYSxjLGYscyxsPXIoMTc4NTQpLGg9cig0OTk3NCkscD1yKDMxMjM2KS5mLHY9cigyMDI2MSkuc2V0LGc9cig2ODMzKSxkPXIoNzE1MjgpLHk9cig3MTAzNiksXz1yKDM1MjY4KSxiPWwuTXV0YXRpb25PYnNlcnZlcnx8bC5XZWJLaXRNdXRhdGlvbk9ic2VydmVyLG09bC5kb2N1bWVudCx4PWwucHJvY2Vzcyx3PWwuUHJvbWlzZSxPPXAobCwicXVldWVNaWNyb3Rhc2siKSxFPU8mJk8udmFsdWU7RXx8KGU9ZnVuY3Rpb24oKXt2YXIgdCxuO2ZvcihfJiYodD14LmRvbWFpbikmJnQuZXhpdCgpO287KXtuPW8uZm4sbz1vLm5leHQ7dHJ5e24oKX1jYXRjaCh0KXt0aHJvdyBvP3UoKTppPXZvaWQgMCx0fX1pPXZvaWQgMCx0JiZ0LmVudGVyKCl9LGd8fF98fHl8fCFifHwhbT8hZCYmdyYmdy5yZXNvbHZlPygoZj13LnJlc29sdmUodm9pZCAwKSkuY29uc3RydWN0b3I9dyxzPWgoZi50aGVuLGYpLHU9ZnVuY3Rpb24oKXtzKGUpfSk6Xz91PWZ1bmN0aW9uKCl7eC5uZXh0VGljayhlKX06KHY9aCh2LGwpLHU9ZnVuY3Rpb24oKXt2KGUpfSk6KGE9ITAsYz1tLmNyZWF0ZVRleHROb2RlKCIiKSxuZXcgYihlKS5vYnNlcnZlKGMse2NoYXJhY3RlckRhdGE6ITB9KSx1PWZ1bmN0aW9uKCl7Yy5kYXRhPWE9IWF9KSksdC5leHBvcnRzPUV8fGZ1bmN0aW9uKHQpe3ZhciBuPXtmbjp0LG5leHQ6dm9pZCAwfTtpJiYoaS5uZXh0PW4pLG98fChvPW4sdSgpKSxpPW59fSwxMzM2NjpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCk7dC5leHBvcnRzPWUuUHJvbWlzZX0sMzAxMzM6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNzM5Miksbz1yKDQ3MjkzKTt0LmV4cG9ydHM9ISFPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiYhbygoZnVuY3Rpb24oKXt2YXIgdD1TeW1ib2woKTtyZXR1cm4hU3RyaW5nKHQpfHwhKE9iamVjdCh0KWluc3RhbmNlb2YgU3ltYm9sKXx8IVN5bWJvbC5zaGFtJiZlJiZlPDQxfSkpfSw1OTA6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNDcyOTMpLG89cig1MTEyKSxpPXIoMzE5MTMpLHU9bygiaXRlcmF0b3IiKTt0LmV4cG9ydHM9IWUoKGZ1bmN0aW9uKCl7dmFyIHQ9bmV3IFVSTCgiYj9hPTEmYj0yJmM9MyIsImh0dHA6Ly9hIiksbj10LnNlYXJjaFBhcmFtcyxyPSIiO3JldHVybiB0LnBhdGhuYW1lPSJjJTIwZCIsbi5mb3JFYWNoKChmdW5jdGlvbih0LGUpe24uZGVsZXRlKCJiIikscis9ZSt0fSkpLGkmJiF0LnRvSlNPTnx8IW4uc29ydHx8Imh0dHA6Ly9hL2MlMjBkP2E9MSZjPTMiIT09dC5ocmVmfHwiMyIhPT1uLmdldCgiYyIpfHwiYT0xIiE9PVN0cmluZyhuZXcgVVJMU2VhcmNoUGFyYW1zKCI/YT0xIikpfHwhblt1XXx8ImEiIT09bmV3IFVSTCgiaHR0cHM6Ly9hQGIiKS51c2VybmFtZXx8ImIiIT09bmV3IFVSTFNlYXJjaFBhcmFtcyhuZXcgVVJMU2VhcmNoUGFyYW1zKCJhPWIiKSkuZ2V0KCJhIil8fCJ4bi0tZTFheWJjIiE9PW5ldyBVUkwoImh0dHA6Ly/RgtC10YHRgiIpLmhvc3R8fCIjJUQwJUIxIiE9PW5ldyBVUkwoImh0dHA6Ly9hI9CxIikuaGFzaHx8ImExYzMiIT09cnx8IngiIT09bmV3IFVSTCgiaHR0cDovL3giLHZvaWQgMCkuaG9zdH0pKX0sNjg1MzY6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cig2MDYxNCksaT1yKDQyNzg4KSx1PWUuV2Vha01hcDt0LmV4cG9ydHM9byh1KSYmL25hdGl2ZSBjb2RlLy50ZXN0KGkodSkpfSw3ODUyMzpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoMTk2NjIpLG89ZnVuY3Rpb24odCl7dmFyIG4scjt0aGlzLnByb21pc2U9bmV3IHQoKGZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwIT09bnx8dm9pZCAwIT09cil0aHJvdyBUeXBlRXJyb3IoIkJhZCBQcm9taXNlIGNvbnN0cnVjdG9yIik7bj10LHI9ZX0pKSx0aGlzLnJlc29sdmU9ZShuKSx0aGlzLnJlamVjdD1lKHIpfTt0LmV4cG9ydHMuZj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IG8odCl9fSwzOTI5OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoNDc4NTApLGk9ZS5UeXBlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKG8odCkpdGhyb3cgaSgiVGhlIG1ldGhvZCBkb2Vzbid0IGFjY2VwdCByZWd1bGFyIGV4cHJlc3Npb25zIik7cmV0dXJuIHR9fSw3NzAyMzpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCkuaXNGaW5pdGU7dC5leHBvcnRzPU51bWJlci5pc0Zpbml0ZXx8ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZlKHQpfX0sMjgxNDpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCksbz1yKDQ3MjkzKSxpPXIoMTcwMiksdT1yKDQxMzQwKSxhPXIoNTMxMTEpLnRyaW0sYz1yKDgxMzYxKSxmPWkoIiIuY2hhckF0KSxzPWUucGFyc2VGbG9hdCxsPWUuU3ltYm9sLGg9bCYmbC5pdGVyYXRvcixwPTEvcyhjKyItMCIpIT0tMS8wfHxoJiYhbygoZnVuY3Rpb24oKXtzKE9iamVjdChoKSl9KSk7dC5leHBvcnRzPXA/ZnVuY3Rpb24odCl7dmFyIG49YSh1KHQpKSxyPXMobik7cmV0dXJuIDA9PT1yJiYiLSI9PWYobiwwKT8tMDpyfTpzfSw4MzAwOTpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCksbz1yKDQ3MjkzKSxpPXIoMTcwMiksdT1yKDQxMzQwKSxhPXIoNTMxMTEpLnRyaW0sYz1yKDgxMzYxKSxmPWUucGFyc2VJbnQscz1lLlN5bWJvbCxsPXMmJnMuaXRlcmF0b3IsaD0vXlsrLV0/MHgvaSxwPWkoaC5leGVjKSx2PTghPT1mKGMrIjA4Iil8fDIyIT09ZihjKyIweDE2Iil8fGwmJiFvKChmdW5jdGlvbigpe2YoT2JqZWN0KGwpKX0pKTt0LmV4cG9ydHM9dj9mdW5jdGlvbih0LG4pe3ZhciByPWEodSh0KSk7cmV0dXJuIGYocixuPj4+MHx8KHAoaCxyKT8xNjoxMCkpfTpmfSwyMTU3NDpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoMTk3ODEpLG89cigxNzAyKSxpPXIoNDY5MTYpLHU9cig0NzI5MyksYT1yKDgxOTU2KSxjPXIoMjUxODEpLGY9cig1NTI5Nikscz1yKDQ3OTA4KSxsPXIoNjgzNjEpLGg9T2JqZWN0LmFzc2lnbixwPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx2PW8oW10uY29uY2F0KTt0LmV4cG9ydHM9IWh8fHUoKGZ1bmN0aW9uKCl7aWYoZSYmMSE9PWgoe2I6MX0saChwKHt9LCJhIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtwKHRoaXMsImIiLHt2YWx1ZTozLGVudW1lcmFibGU6ITF9KX19KSx7YjoyfSkpLmIpcmV0dXJuITA7dmFyIHQ9e30sbj17fSxyPVN5bWJvbCgpLG89ImFiY2RlZmdoaWprbG1ub3BxcnN0IjtyZXR1cm4gdFtyXT03LG8uc3BsaXQoIiIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe25bdF09dH0pKSw3IT1oKHt9LHQpW3JdfHxhKGgoe30sbikpLmpvaW4oIiIpIT1vfSkpP2Z1bmN0aW9uKHQsbil7Zm9yKHZhciByPXModCksbz1hcmd1bWVudHMubGVuZ3RoLHU9MSxoPWMuZixwPWYuZjtvPnU7KWZvcih2YXIgZyxkPWwoYXJndW1lbnRzW3UrK10pLHk9aD92KGEoZCksaChkKSk6YShkKSxfPXkubGVuZ3RoLGI9MDtfPmI7KWc9eVtiKytdLGUmJiFpKHAsZCxnKXx8KHJbZ109ZFtnXSk7cmV0dXJuIHJ9Omh9LDcwMDMwOmZ1bmN0aW9uKHQsbixyKXt2YXIgZSxvPXIoMTk2NzApLGk9cigzNjA0OCksdT1yKDgwNzQ4KSxhPXIoMzUwMSksYz1yKDYwNDkwKSxmPXIoODAzMTcpLHM9cig2MjAwKSxsPXMoIklFX1BST1RPIiksaD1mdW5jdGlvbigpe30scD1mdW5jdGlvbih0KXtyZXR1cm4iPHNjcmlwdD4iK3QrIjwvIisic2NyaXB0PiJ9LHY9ZnVuY3Rpb24odCl7dC53cml0ZShwKCIiKSksdC5jbG9zZSgpO3ZhciBuPXQucGFyZW50V2luZG93Lk9iamVjdDtyZXR1cm4gdD1udWxsLG59LGc9ZnVuY3Rpb24oKXt0cnl7ZT1uZXcgQWN0aXZlWE9iamVjdCgiaHRtbGZpbGUiKX1jYXRjaCh0KXt9dmFyIHQsbjtnPSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQuZG9tYWluJiZlP3YoZSk6KChuPWYoImlmcmFtZSIpKS5zdHlsZS5kaXNwbGF5PSJub25lIixjLmFwcGVuZENoaWxkKG4pLG4uc3JjPVN0cmluZygiamF2YXNjcmlwdDoiKSwodD1uLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQpLm9wZW4oKSx0LndyaXRlKHAoImRvY3VtZW50LkY9T2JqZWN0IikpLHQuY2xvc2UoKSx0LkYpOnYoZSk7Zm9yKHZhciByPXUubGVuZ3RoO3ItLTspZGVsZXRlIGcucHJvdG90eXBlW3Vbcl1dO3JldHVybiBnKCl9O2FbbF09ITAsdC5leHBvcnRzPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKHQsbil7dmFyIHI7cmV0dXJuIG51bGwhPT10PyhoLnByb3RvdHlwZT1vKHQpLHI9bmV3IGgsaC5wcm90b3R5cGU9bnVsbCxyW2xdPXQpOnI9ZygpLHZvaWQgMD09PW4/cjppKHIsbil9fSwzNjA0ODpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxOTc4MSksbz1yKDMwNzApLGk9cigxOTY3MCksdT1yKDQ1NjU2KSxhPXIoODE5NTYpO3QuZXhwb3J0cz1lP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzOmZ1bmN0aW9uKHQsbil7aSh0KTtmb3IodmFyIHIsZT11KG4pLGM9YShuKSxmPWMubGVuZ3RoLHM9MDtmPnM7KW8uZih0LHI9Y1tzKytdLGVbcl0pO3JldHVybiB0fX0sMzA3MDpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCksbz1yKDE5NzgxKSxpPXIoNjQ2NjQpLHU9cigxOTY3MCksYT1yKDM0OTQ4KSxjPWUuVHlwZUVycm9yLGY9T2JqZWN0LmRlZmluZVByb3BlcnR5O24uZj1vP2Y6ZnVuY3Rpb24odCxuLHIpe2lmKHUodCksbj1hKG4pLHUociksaSl0cnl7cmV0dXJuIGYodCxuLHIpfWNhdGNoKHQpe31pZigiZ2V0ImluIHJ8fCJzZXQiaW4gcil0aHJvdyBjKCJBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCIpO3JldHVybiJ2YWx1ZSJpbiByJiYodFtuXT1yLnZhbHVlKSx0fX0sMzEyMzY6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTk3ODEpLG89cig0NjkxNiksaT1yKDU1Mjk2KSx1PXIoNzkxMTQpLGE9cig0NTY1NiksYz1yKDM0OTQ4KSxmPXIoOTI1OTcpLHM9cig2NDY2NCksbD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO24uZj1lP2w6ZnVuY3Rpb24odCxuKXtpZih0PWEodCksbj1jKG4pLHMpdHJ5e3JldHVybiBsKHQsbil9Y2F0Y2godCl7fWlmKGYodCxuKSlyZXR1cm4gdSghbyhpLmYsdCxuKSx0W25dKX19LDExNTY6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoODQzMjYpLG89cig0NTY1NiksaT1yKDgwMDYpLmYsdT1yKDUwMjA2KSxhPSJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzP09iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHdpbmRvdyk6W107dC5leHBvcnRzLmY9ZnVuY3Rpb24odCl7cmV0dXJuIGEmJiJXaW5kb3ciPT1lKHQpP2Z1bmN0aW9uKHQpe3RyeXtyZXR1cm4gaSh0KX1jYXRjaCh0KXtyZXR1cm4gdShhKX19KHQpOmkobyh0KSl9fSw4MDA2OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE2MzI0KSxvPXIoODA3NDgpLmNvbmNhdCgibGVuZ3RoIiwicHJvdG90eXBlIik7bi5mPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzfHxmdW5jdGlvbih0KXtyZXR1cm4gZSh0LG8pfX0sMjUxODE6ZnVuY3Rpb24odCxuKXtuLmY9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sc30sNzk1MTg6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cig5MjU5NyksaT1yKDYwNjE0KSx1PXIoNDc5MDgpLGE9cig2MjAwKSxjPXIoNDk5MjApLGY9YSgiSUVfUFJPVE8iKSxzPWUuT2JqZWN0LGw9cy5wcm90b3R5cGU7dC5leHBvcnRzPWM/cy5nZXRQcm90b3R5cGVPZjpmdW5jdGlvbih0KXt2YXIgbj11KHQpO2lmKG8obixmKSlyZXR1cm4gbltmXTt2YXIgcj1uLmNvbnN0cnVjdG9yO3JldHVybiBpKHIpJiZuIGluc3RhbmNlb2Ygcj9yLnByb3RvdHlwZTpuIGluc3RhbmNlb2Ygcz9sOm51bGx9fSw0Nzk3NjpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzAyKTt0LmV4cG9ydHM9ZSh7fS5pc1Byb3RvdHlwZU9mKX0sMTYzMjQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTcwMiksbz1yKDkyNTk3KSxpPXIoNDU2NTYpLHU9cig0MTMxOCkuaW5kZXhPZixhPXIoMzUwMSksYz1lKFtdLnB1c2gpO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe3ZhciByLGU9aSh0KSxmPTAscz1bXTtmb3IociBpbiBlKSFvKGEscikmJm8oZSxyKSYmYyhzLHIpO2Zvcig7bi5sZW5ndGg+ZjspbyhlLHI9bltmKytdKSYmKH51KHMscil8fGMocyxyKSk7cmV0dXJuIHN9fSw4MTk1NjpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNjMyNCksbz1yKDgwNzQ4KTt0LmV4cG9ydHM9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3JldHVybiBlKHQsbyl9fSw1NTI5NjpmdW5jdGlvbih0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Isbz1lJiYhci5jYWxsKHsxOjJ9LDEpO24uZj1vP2Z1bmN0aW9uKHQpe3ZhciBuPWUodGhpcyx0KTtyZXR1cm4hIW4mJm4uZW51bWVyYWJsZX06cn0sMjc2NzQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTcwMiksbz1yKDE5NjcwKSxpPXIoOTYwNzcpO3QuZXhwb3J0cz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fCgiX19wcm90b19fImlue30/ZnVuY3Rpb24oKXt2YXIgdCxuPSExLHI9e307dHJ5eyh0PWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCJfX3Byb3RvX18iKS5zZXQpKShyLFtdKSxuPXIgaW5zdGFuY2VvZiBBcnJheX1jYXRjaCh0KXt9cmV0dXJuIGZ1bmN0aW9uKHIsZSl7cmV0dXJuIG8ociksaShlKSxuP3QocixlKTpyLl9fcHJvdG9fXz1lLHJ9fSgpOnZvaWQgMCl9LDQ0Njk5OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE5NzgxKSxvPXIoMTcwMiksaT1yKDgxOTU2KSx1PXIoNDU2NTYpLGE9byhyKDU1Mjk2KS5mKSxjPW8oW10ucHVzaCksZj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7Zm9yKHZhciByLG89dShuKSxmPWkobykscz1mLmxlbmd0aCxsPTAsaD1bXTtzPmw7KXI9ZltsKytdLGUmJiFhKG8scil8fGMoaCx0P1tyLG9bcl1dOm9bcl0pO3JldHVybiBofX07dC5leHBvcnRzPXtlbnRyaWVzOmYoITApLHZhbHVlczpmKCExKX19LDkwMjg4OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig1MTY5NCksbz1yKDcwNjQ4KTt0LmV4cG9ydHM9ZT97fS50b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJbb2JqZWN0ICIrbyh0aGlzKSsiXSJ9fSw5MjE0MDpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCksbz1yKDQ2OTE2KSxpPXIoNjA2MTQpLHU9cig3MDExMSksYT1lLlR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXt2YXIgcixlO2lmKCJzdHJpbmciPT09biYmaShyPXQudG9TdHJpbmcpJiYhdShlPW8ocix0KSkpcmV0dXJuIGU7aWYoaShyPXQudmFsdWVPZikmJiF1KGU9byhyLHQpKSlyZXR1cm4gZTtpZigic3RyaW5nIiE9PW4mJmkocj10LnRvU3RyaW5nKSYmIXUoZT1vKHIsdCkpKXJldHVybiBlO3Rocm93IGEoIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZSIpfX0sNTM4ODc6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMzUwMDUpLG89cigxNzAyKSxpPXIoODAwNiksdT1yKDI1MTgxKSxhPXIoMTk2NzApLGM9byhbXS5jb25jYXQpO3QuZXhwb3J0cz1lKCJSZWZsZWN0Iiwib3duS2V5cyIpfHxmdW5jdGlvbih0KXt2YXIgbj1pLmYoYSh0KSkscj11LmY7cmV0dXJuIHI/YyhuLHIodCkpOm59fSw0MDg1NzpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCk7dC5leHBvcnRzPWV9LDEyNTM0OmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXt0cnl7cmV0dXJue2Vycm9yOiExLHZhbHVlOnQoKX19Y2F0Y2godCl7cmV0dXJue2Vycm9yOiEwLHZhbHVlOnR9fX19LDY5NDc4OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE5NjcwKSxvPXIoNzAxMTEpLGk9cig3ODUyMyk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbil7aWYoZSh0KSxvKG4pJiZuLmNvbnN0cnVjdG9yPT09dClyZXR1cm4gbjt2YXIgcj1pLmYodCk7cmV0dXJuKDAsci5yZXNvbHZlKShuKSxyLnByb21pc2V9fSwxMjI0ODpmdW5jdGlvbih0LG4scil7dmFyIGU9cigzMTMyMCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbixyKXtmb3IodmFyIG8gaW4gbillKHQsbyxuW29dLHIpO3JldHVybiB0fX0sMzEzMjA6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cig2MDYxNCksaT1yKDkyNTk3KSx1PXIoNjg4ODApLGE9cig4MzUwNSksYz1yKDQyNzg4KSxmPXIoMjk5MDkpLHM9cig3NjUzMCkuQ09ORklHVVJBQkxFLGw9Zi5nZXQsaD1mLmVuZm9yY2UscD1TdHJpbmcoU3RyaW5nKS5zcGxpdCgiU3RyaW5nIik7KHQuZXhwb3J0cz1mdW5jdGlvbih0LG4scixjKXt2YXIgZixsPSEhYyYmISFjLnVuc2FmZSx2PSEhYyYmISFjLmVudW1lcmFibGUsZz0hIWMmJiEhYy5ub1RhcmdldEdldCxkPWMmJnZvaWQgMCE9PWMubmFtZT9jLm5hbWU6bjtvKHIpJiYoIlN5bWJvbCgiPT09U3RyaW5nKGQpLnNsaWNlKDAsNykmJihkPSJbIitTdHJpbmcoZCkucmVwbGFjZSgvXlN5bWJvbFwoKFteKV0qKVwpLywiJDEiKSsiXSIpLCghaShyLCJuYW1lIil8fHMmJnIubmFtZSE9PWQpJiZ1KHIsIm5hbWUiLGQpLChmPWgocikpLnNvdXJjZXx8KGYuc291cmNlPXAuam9pbigic3RyaW5nIj09dHlwZW9mIGQ/ZDoiIikpKSx0IT09ZT8obD8hZyYmdFtuXSYmKHY9ITApOmRlbGV0ZSB0W25dLHY/dFtuXT1yOnUodCxuLHIpKTp2P3Rbbl09cjphKG4scil9KShGdW5jdGlvbi5wcm90b3R5cGUsInRvU3RyaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gbyh0aGlzKSYmbCh0aGlzKS5zb3VyY2V8fGModGhpcyl9KSl9LDk3NjUxOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoNDY5MTYpLGk9cigxOTY3MCksdT1yKDYwNjE0KSxhPXIoODQzMjYpLGM9cigyMjI2MSksZj1lLlR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuKXt2YXIgcj10LmV4ZWM7aWYodShyKSl7dmFyIGU9byhyLHQsbik7cmV0dXJuIG51bGwhPT1lJiZpKGUpLGV9aWYoIlJlZ0V4cCI9PT1hKHQpKXJldHVybiBvKGMsdCxuKTt0aHJvdyBmKCJSZWdFeHAjZXhlYyBjYWxsZWQgb24gaW5jb21wYXRpYmxlIHJlY2VpdmVyIil9fSwyMjI2MTpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlLG8saT1yKDQ2OTE2KSx1PXIoMTcwMiksYT1yKDQxMzQwKSxjPXIoNjcwNjYpLGY9cig1Mjk5OSkscz1yKDcyMzA5KSxsPXIoNzAwMzApLGg9cigyOTkwOSkuZ2V0LHA9cig5NDQxKSx2PXIoMzgxNzMpLGc9cygibmF0aXZlLXN0cmluZy1yZXBsYWNlIixTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpLGQ9UmVnRXhwLnByb3RvdHlwZS5leGVjLHk9ZCxfPXUoIiIuY2hhckF0KSxiPXUoIiIuaW5kZXhPZiksbT11KCIiLnJlcGxhY2UpLHg9dSgiIi5zbGljZSksdz0obz0vYiovZyxpKGQsZT0vYS8sImEiKSxpKGQsbywiYSIpLDAhPT1lLmxhc3RJbmRleHx8MCE9PW8ubGFzdEluZGV4KSxPPWYuVU5TVVBQT1JURURfWXx8Zi5CUk9LRU5fQ0FSRVQsRT12b2lkIDAhPT0vKCk/Py8uZXhlYygiIilbMV07KHd8fEV8fE98fHB8fHYpJiYoeT1mdW5jdGlvbih0KXt2YXIgbixyLGUsbyx1LGYscyxwPXRoaXMsdj1oKHApLFM9YSh0KSxBPXYucmF3O2lmKEEpcmV0dXJuIEEubGFzdEluZGV4PXAubGFzdEluZGV4LG49aSh5LEEsUykscC5sYXN0SW5kZXg9QS5sYXN0SW5kZXgsbjt2YXIgaj12Lmdyb3VwcyxSPU8mJnAuc3RpY2t5LEk9aShjLHApLGs9cC5zb3VyY2UsTD0wLFQ9UztpZihSJiYoST1tKEksInkiLCIiKSwtMT09PWIoSSwiZyIpJiYoSSs9ImciKSxUPXgoUyxwLmxhc3RJbmRleCkscC5sYXN0SW5kZXg+MCYmKCFwLm11bHRpbGluZXx8cC5tdWx0aWxpbmUmJiJcbiIhPT1fKFMscC5sYXN0SW5kZXgtMSkpJiYoaz0iKD86ICIraysiKSIsVD0iICIrVCxMKyspLHI9bmV3IFJlZ0V4cCgiXig/OiIraysiKSIsSSkpLEUmJihyPW5ldyBSZWdFeHAoIl4iK2srIiQoPyFcXHMpIixJKSksdyYmKGU9cC5sYXN0SW5kZXgpLG89aShkLFI/cjpwLFQpLFI/bz8oby5pbnB1dD14KG8uaW5wdXQsTCksb1swXT14KG9bMF0sTCksby5pbmRleD1wLmxhc3RJbmRleCxwLmxhc3RJbmRleCs9b1swXS5sZW5ndGgpOnAubGFzdEluZGV4PTA6dyYmbyYmKHAubGFzdEluZGV4PXAuZ2xvYmFsP28uaW5kZXgrb1swXS5sZW5ndGg6ZSksRSYmbyYmby5sZW5ndGg+MSYmaShnLG9bMF0sciwoZnVuY3Rpb24oKXtmb3IodT0xO3U8YXJndW1lbnRzLmxlbmd0aC0yO3UrKyl2b2lkIDA9PT1hcmd1bWVudHNbdV0mJihvW3VdPXZvaWQgMCl9KSksbyYmailmb3Ioby5ncm91cHM9Zj1sKG51bGwpLHU9MDt1PGoubGVuZ3RoO3UrKylmWyhzPWpbdV0pWzBdXT1vW3NbMV1dO3JldHVybiBvfSksdC5leHBvcnRzPXl9LDY3MDY2OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cigxOTY3MCk7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxuPSIiO3JldHVybiB0Lmdsb2JhbCYmKG4rPSJnIiksdC5pZ25vcmVDYXNlJiYobis9ImkiKSx0Lm11bHRpbGluZSYmKG4rPSJtIiksdC5kb3RBbGwmJihuKz0icyIpLHQudW5pY29kZSYmKG4rPSJ1IiksdC5zdGlja3kmJihuKz0ieSIpLG59fSw1Mjk5OTpmdW5jdGlvbih0LG4scil7dmFyIGU9cig0NzI5Myksbz1yKDE3ODU0KS5SZWdFeHA7bi5VTlNVUFBPUlRFRF9ZPWUoKGZ1bmN0aW9uKCl7dmFyIHQ9bygiYSIsInkiKTtyZXR1cm4gdC5sYXN0SW5kZXg9MixudWxsIT10LmV4ZWMoImFiY2QiKX0pKSxuLkJST0tFTl9DQVJFVD1lKChmdW5jdGlvbigpe3ZhciB0PW8oIl5yIiwiZ3kiKTtyZXR1cm4gdC5sYXN0SW5kZXg9MixudWxsIT10LmV4ZWMoInN0ciIpfSkpfSw5NDQxOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDQ3MjkzKSxvPXIoMTc4NTQpLlJlZ0V4cDt0LmV4cG9ydHM9ZSgoZnVuY3Rpb24oKXt2YXIgdD1vKCIuIiwicyIpO3JldHVybiEodC5kb3RBbGwmJnQuZXhlYygiXG4iKSYmInMiPT09dC5mbGFncyl9KSl9LDM4MTczOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDQ3MjkzKSxvPXIoMTc4NTQpLlJlZ0V4cDt0LmV4cG9ydHM9ZSgoZnVuY3Rpb24oKXt2YXIgdD1vKCIoPzxhPmIpIiwiZyIpO3JldHVybiJiIiE9PXQuZXhlYygiYiIpLmdyb3Vwcy5hfHwiYmMiIT09ImIiLnJlcGxhY2UodCwiJDxhPmMiKX0pKX0sODQ0ODg6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLlR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYobnVsbD09dCl0aHJvdyBlKCJDYW4ndCBjYWxsIG1ldGhvZCBvbiAiK3QpO3JldHVybiB0fX0sODExNTA6ZnVuY3Rpb24odCl7dC5leHBvcnRzPU9iamVjdC5pc3x8ZnVuY3Rpb24odCxuKXtyZXR1cm4gdD09PW4/MCE9PXR8fDEvdD09MS9uOnQhPXQmJm4hPW59fSw4MzUwNTpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCksbz1PYmplY3QuZGVmaW5lUHJvcGVydHk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbil7dHJ5e28oZSx0LHt2YWx1ZTpuLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pfWNhdGNoKHIpe2VbdF09bn1yZXR1cm4gbn19LDk2MzQwOmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cigzNTAwNSksbz1yKDMwNzApLGk9cig1MTEyKSx1PXIoMTk3ODEpLGE9aSgic3BlY2llcyIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgbj1lKHQpLHI9by5mO3UmJm4mJiFuW2FdJiZyKG4sYSx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzfX0pfX0sNTgwMDM6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMzA3MCkuZixvPXIoOTI1OTcpLGk9cig1MTEyKSgidG9TdHJpbmdUYWciKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxuLHIpe3QmJiFvKHQ9cj90OnQucHJvdG90eXBlLGkpJiZlKHQsaSx7Y29uZmlndXJhYmxlOiEwLHZhbHVlOm59KX19LDYyMDA6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNzIzMDkpLG89cig2OTcxMSksaT1lKCJrZXlzIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBpW3RdfHwoaVt0XT1vKHQpKX19LDU0NjU6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cig4MzUwNSksaT0iX19jb3JlLWpzX3NoYXJlZF9fIix1PWVbaV18fG8oaSx7fSk7dC5leHBvcnRzPXV9LDcyMzA5OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDMxOTEzKSxvPXIoNTQ2NSk7KHQuZXhwb3J0cz1mdW5jdGlvbih0LG4pe3JldHVybiBvW3RdfHwob1t0XT12b2lkIDAhPT1uP246e30pfSkoInZlcnNpb25zIixbXSkucHVzaCh7dmVyc2lvbjoiMy4xOS4xIixtb2RlOmU/InB1cmUiOiJnbG9iYWwiLGNvcHlyaWdodDoiwqkgMjAyMSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSJ9KX0sMzY3MDc6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTk2NzApLG89cigzOTQ4MyksaT1yKDUxMTIpKCJzcGVjaWVzIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbil7dmFyIHIsdT1lKHQpLmNvbnN0cnVjdG9yO3JldHVybiB2b2lkIDA9PT11fHxudWxsPT0ocj1lKHUpW2ldKT9uOm8ocil9fSwyODcxMDpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzAyKSxvPXIoMTkzMDMpLGk9cig0MTM0MCksdT1yKDg0NDg4KSxhPWUoIiIuY2hhckF0KSxjPWUoIiIuY2hhckNvZGVBdCksZj1lKCIiLnNsaWNlKSxzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIpe3ZhciBlLHMsbD1pKHUobikpLGg9byhyKSxwPWwubGVuZ3RoO3JldHVybiBoPDB8fGg+PXA/dD8iIjp2b2lkIDA6KGU9YyhsLGgpKTw1NTI5Nnx8ZT41NjMxOXx8aCsxPT09cHx8KHM9YyhsLGgrMSkpPDU2MzIwfHxzPjU3MzQzP3Q/YShsLGgpOmU6dD9mKGwsaCxoKzIpOnMtNTYzMjArKGUtNTUyOTY8PDEwKSs2NTUzNn19O3QuZXhwb3J0cz17Y29kZUF0OnMoITEpLGNoYXJBdDpzKCEwKX19LDMzMTk3OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cigxNzg1NCksbz1yKDE3MDIpLGk9MjE0NzQ4MzY0Nyx1PS9bXlwwLVx1MDA3RV0vLGE9L1suXHUzMDAyXHVGRjBFXHVGRjYxXS9nLGM9Ik92ZXJmbG93OiBpbnB1dCBuZWVkcyB3aWRlciBpbnRlZ2VycyB0byBwcm9jZXNzIixmPWUuUmFuZ2VFcnJvcixzPW8oYS5leGVjKSxsPU1hdGguZmxvb3IsaD1TdHJpbmcuZnJvbUNoYXJDb2RlLHA9bygiIi5jaGFyQ29kZUF0KSx2PW8oW10uam9pbiksZz1vKFtdLnB1c2gpLGQ9bygiIi5yZXBsYWNlKSx5PW8oIiIuc3BsaXQpLF89bygiIi50b0xvd2VyQ2FzZSksYj1mdW5jdGlvbih0KXtyZXR1cm4gdCsyMis3NSoodDwyNil9LG09ZnVuY3Rpb24odCxuLHIpe3ZhciBlPTA7Zm9yKHQ9cj9sKHQvNzAwKTp0Pj4xLHQrPWwodC9uKTt0PjQ1NTtlKz0zNil0PWwodC8zNSk7cmV0dXJuIGwoZSszNip0Lyh0KzM4KSl9LHg9ZnVuY3Rpb24odCl7dmFyIG49W107dD1mdW5jdGlvbih0KXtmb3IodmFyIG49W10scj0wLGU9dC5sZW5ndGg7cjxlOyl7dmFyIG89cCh0LHIrKyk7aWYobz49NTUyOTYmJm88PTU2MzE5JiZyPGUpe3ZhciBpPXAodCxyKyspOzU2MzIwPT0oNjQ1MTImaSk/ZyhuLCgoMTAyMyZvKTw8MTApKygxMDIzJmkpKzY1NTM2KTooZyhuLG8pLHItLSl9ZWxzZSBnKG4sbyl9cmV0dXJuIG59KHQpO3ZhciByLGUsbz10Lmxlbmd0aCx1PTEyOCxhPTAscz03Mjtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKShlPXRbcl0pPDEyOCYmZyhuLGgoZSkpO3ZhciBkPW4ubGVuZ3RoLHk9ZDtmb3IoZCYmZyhuLCItIik7eTxvOyl7dmFyIF89aTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKShlPXRbcl0pPj11JiZlPF8mJihfPWUpO3ZhciB4PXkrMTtpZihfLXU+bCgoaS1hKS94KSl0aHJvdyBmKGMpO2ZvcihhKz0oXy11KSp4LHU9XyxyPTA7cjx0Lmxlbmd0aDtyKyspe2lmKChlPXRbcl0pPHUmJisrYT5pKXRocm93IGYoYyk7aWYoZT09dSl7Zm9yKHZhciB3PWEsTz0zNjs7Tys9MzYpe3ZhciBFPU88PXM/MTpPPj1zKzI2PzI2Ok8tcztpZih3PEUpYnJlYWs7dmFyIFM9dy1FLEE9MzYtRTtnKG4saChiKEUrUyVBKSkpLHc9bChTL0EpfWcobixoKGIodykpKSxzPW0oYSx4LHk9PWQpLGE9MCwrK3l9fSsrYSwrK3V9cmV0dXJuIHYobiwiIil9O3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgbixyLGU9W10sbz15KGQoXyh0KSxhLCIuIiksIi4iKTtmb3Iobj0wO248by5sZW5ndGg7bisrKXI9b1tuXSxnKGUscyh1LHIpPyJ4bi0tIit4KHIpOnIpO3JldHVybiB2KGUsIi4iKX19LDM4NDE1OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cigxNzg1NCksbz1yKDE5MzAzKSxpPXIoNDEzNDApLHU9cig4NDQ4OCksYT1lLlJhbmdlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBuPWkodSh0aGlzKSkscj0iIixlPW8odCk7aWYoZTwwfHxlPT0xLzApdGhyb3cgYSgiV3JvbmcgbnVtYmVyIG9mIHJlcGV0aXRpb25zIik7Zm9yKDtlPjA7KGU+Pj49MSkmJihuKz1uKSkxJmUmJihyKz1uKTtyZXR1cm4gcn19LDUzMTExOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3MDIpLG89cig4NDQ4OCksaT1yKDQxMzQwKSx1PXIoODEzNjEpLGE9ZSgiIi5yZXBsYWNlKSxjPSJbIit1KyJdIixmPVJlZ0V4cCgiXiIrYytjKyIqIikscz1SZWdFeHAoYytjKyIqJCIpLGw9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciByPWkobyhuKSk7cmV0dXJuIDEmdCYmKHI9YShyLGYsIiIpKSwyJnQmJihyPWEocixzLCIiKSkscn19O3QuZXhwb3J0cz17c3RhcnQ6bCgxKSxlbmQ6bCgyKSx0cmltOmwoMyl9fSwyMDI2MTpmdW5jdGlvbih0LG4scil7dmFyIGUsbyxpLHUsYT1yKDE3ODU0KSxjPXIoMjIxMDQpLGY9cig0OTk3NCkscz1yKDYwNjE0KSxsPXIoOTI1OTcpLGg9cig0NzI5MykscD1yKDYwNDkwKSx2PXIoNTAyMDYpLGc9cig4MDMxNyksZD1yKDY4MzMpLHk9cigzNTI2OCksXz1hLnNldEltbWVkaWF0ZSxiPWEuY2xlYXJJbW1lZGlhdGUsbT1hLnByb2Nlc3MseD1hLkRpc3BhdGNoLHc9YS5GdW5jdGlvbixPPWEuTWVzc2FnZUNoYW5uZWwsRT1hLlN0cmluZyxTPTAsQT17fSxqPSJvbnJlYWR5c3RhdGVjaGFuZ2UiO3RyeXtlPWEubG9jYXRpb259Y2F0Y2godCl7fXZhciBSPWZ1bmN0aW9uKHQpe2lmKGwoQSx0KSl7dmFyIG49QVt0XTtkZWxldGUgQVt0XSxuKCl9fSxJPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe1IodCl9fSxrPWZ1bmN0aW9uKHQpe1IodC5kYXRhKX0sTD1mdW5jdGlvbih0KXthLnBvc3RNZXNzYWdlKEUodCksZS5wcm90b2NvbCsiLy8iK2UuaG9zdCl9O18mJmJ8fChfPWZ1bmN0aW9uKHQpe3ZhciBuPXYoYXJndW1lbnRzLDEpO3JldHVybiBBWysrU109ZnVuY3Rpb24oKXtjKHModCk/dDp3KHQpLHZvaWQgMCxuKX0sbyhTKSxTfSxiPWZ1bmN0aW9uKHQpe2RlbGV0ZSBBW3RdfSx5P289ZnVuY3Rpb24odCl7bS5uZXh0VGljayhJKHQpKX06eCYmeC5ub3c/bz1mdW5jdGlvbih0KXt4Lm5vdyhJKHQpKX06TyYmIWQ/KHU9KGk9bmV3IE8pLnBvcnQyLGkucG9ydDEub25tZXNzYWdlPWssbz1mKHUucG9zdE1lc3NhZ2UsdSkpOmEuYWRkRXZlbnRMaXN0ZW5lciYmcyhhLnBvc3RNZXNzYWdlKSYmIWEuaW1wb3J0U2NyaXB0cyYmZSYmImZpbGU6IiE9PWUucHJvdG9jb2wmJiFoKEwpPyhvPUwsYS5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixrLCExKSk6bz1qIGluIGcoInNjcmlwdCIpP2Z1bmN0aW9uKHQpe3AuYXBwZW5kQ2hpbGQoZygic2NyaXB0IikpLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3AucmVtb3ZlQ2hpbGQodGhpcyksUih0KX19OmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoSSh0KSwwKX0pLHQuZXhwb3J0cz17c2V0Ol8sY2xlYXI6Yn19LDUwODYzOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3MDIpO3QuZXhwb3J0cz1lKDEuLnZhbHVlT2YpfSw1MTQwMDpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxOTMwMyksbz1NYXRoLm1heCxpPU1hdGgubWluO3QuZXhwb3J0cz1mdW5jdGlvbih0LG4pe3ZhciByPWUodCk7cmV0dXJuIHI8MD9vKHIrbiwwKTppKHIsbil9fSw0NTY1NjpmdW5jdGlvbih0LG4scil7dmFyIGU9cig2ODM2MSksbz1yKDg0NDg4KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGUobyh0KSl9fSwxOTMwMzpmdW5jdGlvbih0KXt2YXIgbj1NYXRoLmNlaWwscj1NYXRoLmZsb29yO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT0rdDtyZXR1cm4gZSE9ZXx8MD09PWU/MDooZT4wP3I6bikoZSl9fSwxNzQ2NjpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxOTMwMyksbz1NYXRoLm1pbjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQ+MD9vKGUodCksOTAwNzE5OTI1NDc0MDk5MSk6MH19LDQ3OTA4OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoODQ0ODgpLGk9ZS5PYmplY3Q7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBpKG8odCkpfX0sNTc1OTM6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTc4NTQpLG89cig0NjkxNiksaT1yKDcwMTExKSx1PXIoNTIxOTApLGE9cig1ODE3MyksYz1yKDkyMTQwKSxmPXIoNTExMikscz1lLlR5cGVFcnJvcixsPWYoInRvUHJpbWl0aXZlIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsbil7aWYoIWkodCl8fHUodCkpcmV0dXJuIHQ7dmFyIHIsZT1hKHQsbCk7aWYoZSl7aWYodm9pZCAwPT09biYmKG49ImRlZmF1bHQiKSxyPW8oZSx0LG4pLCFpKHIpfHx1KHIpKXJldHVybiByO3Rocm93IHMoIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZSIpfXJldHVybiB2b2lkIDA9PT1uJiYobj0ibnVtYmVyIiksYyh0LG4pfX0sMzQ5NDg6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNTc1OTMpLG89cig1MjE5MCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBuPWUodCwic3RyaW5nIik7cmV0dXJuIG8obik/bjpuKyIifX0sNTE2OTQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXt9O2Vbcig1MTEyKSgidG9TdHJpbmdUYWciKV09InoiLHQuZXhwb3J0cz0iW29iamVjdCB6XSI9PT1TdHJpbmcoZSl9LDQxMzQwOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoNzA2NDgpLGk9ZS5TdHJpbmc7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJTeW1ib2wiPT09byh0KSl0aHJvdyBUeXBlRXJyb3IoIkNhbm5vdCBjb252ZXJ0IGEgU3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nIik7cmV0dXJuIGkodCl9fSw2NjMzMDpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCkuU3RyaW5nO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt0cnl7cmV0dXJuIGUodCl9Y2F0Y2godCl7cmV0dXJuIk9iamVjdCJ9fX0sNjk3MTE6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTcwMiksbz0wLGk9TWF0aC5yYW5kb20oKSx1PWUoMS4udG9TdHJpbmcpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4iU3ltYm9sKCIrKHZvaWQgMD09PXQ/IiI6dCkrIilfIit1KCsrbytpLDM2KX19LDQzMzA3OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDMwMTMzKTt0LmV4cG9ydHM9ZSYmIVN5bWJvbC5zaGFtJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcn0sNjA2MTpmdW5jdGlvbih0LG4scil7dmFyIGU9cig1MTEyKTtuLmY9ZX0sNTExMjpmdW5jdGlvbih0LG4scil7dmFyIGU9cigxNzg1NCksbz1yKDcyMzA5KSxpPXIoOTI1OTcpLHU9cig2OTcxMSksYT1yKDMwMTMzKSxjPXIoNDMzMDcpLGY9bygid2tzIikscz1lLlN5bWJvbCxsPXMmJnMuZm9yLGg9Yz9zOnMmJnMud2l0aG91dFNldHRlcnx8dTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIWkoZix0KXx8IWEmJiJzdHJpbmciIT10eXBlb2YgZlt0XSl7dmFyIG49IlN5bWJvbC4iK3Q7YSYmaShzLHQpP2ZbdF09c1t0XTpmW3RdPWMmJmw/bChuKTpoKG4pfXJldHVybiBmW3RdfX0sODEzNjE6ZnVuY3Rpb24odCl7dC5leHBvcnRzPSJcdFxuXHZcZlxyIMKg4ZqA4oCA4oCB4oCC4oCD4oCE4oCF4oCG4oCH4oCI4oCJ4oCK4oCv4oGf44CAXHUyMDI4XHUyMDI5XHVmZWZmIn0sNTIyNjI6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDgyMTA5KSxvPXIoNDc5MDgpLGk9cigyNjI0NCksdT1yKDE5MzAzKSxhPXIoNTEyMjMpO2Uoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwfSx7YXQ6ZnVuY3Rpb24odCl7dmFyIG49byh0aGlzKSxyPWkobiksZT11KHQpLGE9ZT49MD9lOnIrZTtyZXR1cm4gYTwwfHxhPj1yP3ZvaWQgMDpuW2FdfX0pLGEoImF0Iil9LDkyMjIyOmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDE3ODU0KSxpPXIoNDcyOTMpLHU9cig0MzE1NyksYT1yKDcwMTExKSxjPXIoNDc5MDgpLGY9cigyNjI0NCkscz1yKDg2MTM1KSxsPXIoNjU0MTcpLGg9cig4MTE5NCkscD1yKDUxMTIpLHY9cig3MzkyKSxnPXAoImlzQ29uY2F0U3ByZWFkYWJsZSIpLGQ9OTAwNzE5OTI1NDc0MDk5MSx5PSJNYXhpbXVtIGFsbG93ZWQgaW5kZXggZXhjZWVkZWQiLF89by5UeXBlRXJyb3IsYj12Pj01MXx8IWkoKGZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRbZ109ITEsdC5jb25jYXQoKVswXSE9PXR9KSksbT1oKCJjb25jYXQiKSx4PWZ1bmN0aW9uKHQpe2lmKCFhKHQpKXJldHVybiExO3ZhciBuPXRbZ107cmV0dXJuIHZvaWQgMCE9PW4/ISFuOnUodCl9O2Uoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDohYnx8IW19LHtjb25jYXQ6ZnVuY3Rpb24odCl7dmFyIG4scixlLG8saSx1PWModGhpcyksYT1sKHUsMCksaD0wO2ZvcihuPS0xLGU9YXJndW1lbnRzLmxlbmd0aDtuPGU7bisrKWlmKHgoaT0tMT09PW4/dTphcmd1bWVudHNbbl0pKXtpZihoKyhvPWYoaSkpPmQpdGhyb3cgXyh5KTtmb3Iocj0wO3I8bztyKyssaCsrKXIgaW4gaSYmcyhhLGgsaVtyXSl9ZWxzZXtpZihoPj1kKXRocm93IF8oeSk7cyhhLGgrKyxpKX1yZXR1cm4gYS5sZW5ndGg9aCxhfX0pfSw1MDU0NTpmdW5jdGlvbih0LG4scil7dmFyIGU9cig4MjEwOSksbz1yKDEwNDgpLGk9cig1MTIyMyk7ZSh7dGFyZ2V0OiJBcnJheSIscHJvdG86ITB9LHtjb3B5V2l0aGluOm99KSxpKCJjb3B5V2l0aGluIil9LDI2NTQxOmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDQyMDkyKS5ldmVyeTtlKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IXIoOTM0MSkoImV2ZXJ5Iil9LHtldmVyeTpmdW5jdGlvbih0KXtyZXR1cm4gbyh0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pfSw0MzI5MDpmdW5jdGlvbih0LG4scil7dmFyIGU9cig4MjEwOSksbz1yKDIxMjg1KSxpPXIoNTEyMjMpO2Uoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwfSx7ZmlsbDpvfSksaSgiZmlsbCIpfSw1NzMyNzpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoODIxMDkpLG89cig0MjA5MikuZmlsdGVyO2Uoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDohcig4MTE5NCkoImZpbHRlciIpfSx7ZmlsdGVyOmZ1bmN0aW9uKHQpe3JldHVybiBvKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSl9LDM0NTUzOmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDQyMDkyKS5maW5kSW5kZXgsaT1yKDUxMjIzKSx1PSJmaW5kSW5kZXgiLGE9ITA7dSBpbltdJiZBcnJheSgxKS5maW5kSW5kZXgoKGZ1bmN0aW9uKCl7YT0hMX0pKSxlKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6YX0se2ZpbmRJbmRleDpmdW5jdGlvbih0KXtyZXR1cm4gbyh0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pLGkodSl9LDY5ODI2OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDQyMDkyKS5maW5kLGk9cig1MTIyMyksdT0iZmluZCIsYT0hMDt1IGluW10mJkFycmF5KDEpLmZpbmQoKGZ1bmN0aW9uKCl7YT0hMX0pKSxlKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6YX0se2ZpbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIG8odGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KSxpKHUpfSw4NjUzNTpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoODIxMDkpLG89cig2NzkwKSxpPXIoMTk2NjIpLHU9cig0NzkwOCksYT1yKDI2MjQ0KSxjPXIoNjU0MTcpO2Uoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwfSx7ZmxhdE1hcDpmdW5jdGlvbih0KXt2YXIgbixyPXUodGhpcyksZT1hKHIpO3JldHVybiBpKHQpLChuPWMociwwKSkubGVuZ3RoPW8obixyLHIsZSwwLDEsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCksbn19KX0sODQ5NDQ6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDgyMTA5KSxvPXIoNjc5MCksaT1yKDQ3OTA4KSx1PXIoMjYyNDQpLGE9cigxOTMwMyksYz1yKDY1NDE3KTtlKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMH0se2ZsYXQ6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoP2FyZ3VtZW50c1swXTp2b2lkIDAsbj1pKHRoaXMpLHI9dShuKSxlPWMobiwwKTtyZXR1cm4gZS5sZW5ndGg9byhlLG4sbixyLDAsdm9pZCAwPT09dD8xOmEodCkpLGV9fSl9LDg5NTU0OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDE4NTMzKTtlKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6W10uZm9yRWFjaCE9b30se2ZvckVhY2g6b30pfSw5MTAzODpmdW5jdGlvbih0LG4scil7dmFyIGU9cig4MjEwOSksbz1yKDQ4NDU3KTtlKHt0YXJnZXQ6IkFycmF5IixzdGF0OiEwLGZvcmNlZDohcigxNzA3MikoKGZ1bmN0aW9uKHQpe0FycmF5LmZyb20odCl9KSl9LHtmcm9tOm99KX0sMjY2OTk6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDgyMTA5KSxvPXIoNDEzMTgpLmluY2x1ZGVzLGk9cig1MTIyMyk7ZSh7dGFyZ2V0OiJBcnJheSIscHJvdG86ITB9LHtpbmNsdWRlczpmdW5jdGlvbih0KXtyZXR1cm4gbyh0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pLGkoImluY2x1ZGVzIil9LDgyNzcyOmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDE3MDIpLGk9cig0MTMxOCkuaW5kZXhPZix1PXIoOTM0MSksYT1vKFtdLmluZGV4T2YpLGM9ISFhJiYxL2EoWzFdLDEsLTApPDAsZj11KCJpbmRleE9mIik7ZSh7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOmN8fCFmfSx7aW5kZXhPZjpmdW5jdGlvbih0KXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMDtyZXR1cm4gYz9hKHRoaXMsdCxuKXx8MDppKHRoaXMsdCxuKX19KX0sNzk3NTM6ZnVuY3Rpb24odCxuLHIpe3IoODIxMDkpKHt0YXJnZXQ6IkFycmF5IixzdGF0OiEwfSx7aXNBcnJheTpyKDQzMTU3KX0pfSw2Njk5MjpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoNDU2NTYpLG89cig1MTIyMyksaT1yKDk3NDk3KSx1PXIoMjk5MDkpLGE9cig3MDY1NCksYz0iQXJyYXkgSXRlcmF0b3IiLGY9dS5zZXQscz11LmdldHRlckZvcihjKTt0LmV4cG9ydHM9YShBcnJheSwiQXJyYXkiLChmdW5jdGlvbih0LG4pe2YodGhpcyx7dHlwZTpjLHRhcmdldDplKHQpLGluZGV4OjAsa2luZDpufSl9KSwoZnVuY3Rpb24oKXt2YXIgdD1zKHRoaXMpLG49dC50YXJnZXQscj10LmtpbmQsZT10LmluZGV4Kys7cmV0dXJuIW58fGU+PW4ubGVuZ3RoPyh0LnRhcmdldD12b2lkIDAse3ZhbHVlOnZvaWQgMCxkb25lOiEwfSk6ImtleXMiPT1yP3t2YWx1ZTplLGRvbmU6ITF9OiJ2YWx1ZXMiPT1yP3t2YWx1ZTpuW2VdLGRvbmU6ITF9Ont2YWx1ZTpbZSxuW2VdXSxkb25lOiExfX0pLCJ2YWx1ZXMiKSxpLkFyZ3VtZW50cz1pLkFycmF5LG8oImtleXMiKSxvKCJ2YWx1ZXMiKSxvKCJlbnRyaWVzIil9LDY5NjAwOmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDE3MDIpLGk9cig2ODM2MSksdT1yKDQ1NjU2KSxhPXIoOTM0MSksYz1vKFtdLmpvaW4pLGY9aSE9T2JqZWN0LHM9YSgiam9pbiIsIiwiKTtlKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6Znx8IXN9LHtqb2luOmZ1bmN0aW9uKHQpe3JldHVybiBjKHUodGhpcyksdm9pZCAwPT09dD8iLCI6dCl9fSl9LDk0OTg2OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDgyMTA5KSxvPXIoODY1ODMpO2Uoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDpvIT09W10ubGFzdEluZGV4T2Z9LHtsYXN0SW5kZXhPZjpvfSl9LDIxMjQ5OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDQyMDkyKS5tYXA7ZSh7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFyKDgxMTk0KSgibWFwIil9LHttYXA6ZnVuY3Rpb24odCl7cmV0dXJuIG8odGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KX0sMjY1NzI6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDgyMTA5KSxvPXIoMTc4NTQpLGk9cig0NzI5MyksdT1yKDQ0MTEpLGE9cig4NjEzNSksYz1vLkFycmF5O2Uoe3RhcmdldDoiQXJyYXkiLHN0YXQ6ITAsZm9yY2VkOmkoKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4hKGMub2YuY2FsbCh0KWluc3RhbmNlb2YgdCl9KSl9LHtvZjpmdW5jdGlvbigpe2Zvcih2YXIgdD0wLG49YXJndW1lbnRzLmxlbmd0aCxyPW5ldyh1KHRoaXMpP3RoaXM6Yykobik7bj50OylhKHIsdCxhcmd1bWVudHNbdCsrXSk7cmV0dXJuIHIubGVuZ3RoPW4scn19KX0sOTY2NDQ6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDgyMTA5KSxvPXIoNTM2NzEpLnJpZ2h0LGk9cig5MzQxKSx1PXIoNzM5MiksYT1yKDM1MjY4KTtlKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IWkoInJlZHVjZVJpZ2h0Iil8fCFhJiZ1Pjc5JiZ1PDgzfSx7cmVkdWNlUmlnaHQ6ZnVuY3Rpb24odCl7cmV0dXJuIG8odGhpcyx0LGFyZ3VtZW50cy5sZW5ndGgsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pfSw4NTgyNzpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoODIxMDkpLG89cig1MzY3MSkubGVmdCxpPXIoOTM0MSksdT1yKDczOTIpLGE9cigzNTI2OCk7ZSh7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFpKCJyZWR1Y2UiKXx8IWEmJnU+NzkmJnU8ODN9LHtyZWR1Y2U6ZnVuY3Rpb24odCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aDtyZXR1cm4gbyh0aGlzLHQsbixuPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSl9LDY1MDY5OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDE3MDIpLGk9cig0MzE1NyksdT1vKFtdLnJldmVyc2UpLGE9WzEsMl07ZSh7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOlN0cmluZyhhKT09PVN0cmluZyhhLnJldmVyc2UoKSl9LHtyZXZlcnNlOmZ1bmN0aW9uKCl7cmV0dXJuIGkodGhpcykmJih0aGlzLmxlbmd0aD10aGlzLmxlbmd0aCksdSh0aGlzKX19KX0sNDcwNDI6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDgyMTA5KSxvPXIoMTc4NTQpLGk9cig0MzE1NyksdT1yKDQ0MTEpLGE9cig3MDExMSksYz1yKDUxNDAwKSxmPXIoMjYyNDQpLHM9cig0NTY1NiksbD1yKDg2MTM1KSxoPXIoNTExMikscD1yKDgxMTk0KSx2PXIoNTAyMDYpLGc9cCgic2xpY2UiKSxkPWgoInNwZWNpZXMiKSx5PW8uQXJyYXksXz1NYXRoLm1heDtlKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IWd9LHtzbGljZTpmdW5jdGlvbih0LG4pe3ZhciByLGUsbyxoPXModGhpcykscD1mKGgpLGc9Yyh0LHApLGI9Yyh2b2lkIDA9PT1uP3A6bixwKTtpZihpKGgpJiYocj1oLmNvbnN0cnVjdG9yLCh1KHIpJiYocj09PXl8fGkoci5wcm90b3R5cGUpKXx8YShyKSYmbnVsbD09PShyPXJbZF0pKSYmKHI9dm9pZCAwKSxyPT09eXx8dm9pZCAwPT09cikpcmV0dXJuIHYoaCxnLGIpO2ZvcihlPW5ldyh2b2lkIDA9PT1yP3k6cikoXyhiLWcsMCkpLG89MDtnPGI7ZysrLG8rKylnIGluIGgmJmwoZSxvLGhbZ10pO3JldHVybiBlLmxlbmd0aD1vLGV9fSl9LDUyMTI6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDgyMTA5KSxvPXIoNDIwOTIpLnNvbWU7ZSh7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFyKDkzNDEpKCJzb21lIil9LHtzb21lOmZ1bmN0aW9uKHQpe3JldHVybiBvKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSl9LDI3MDc6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDgyMTA5KSxvPXIoMTcwMiksaT1yKDE5NjYyKSx1PXIoNDc5MDgpLGE9cigyNjI0NCksYz1yKDQxMzQwKSxmPXIoNDcyOTMpLHM9cig5NDM2MiksbD1yKDkzNDEpLGg9cig2ODg4NikscD1yKDMwMjU2KSx2PXIoNzM5MiksZz1yKDk4MDA4KSxkPVtdLHk9byhkLnNvcnQpLF89byhkLnB1c2gpLGI9ZigoZnVuY3Rpb24oKXtkLnNvcnQodm9pZCAwKX0pKSxtPWYoKGZ1bmN0aW9uKCl7ZC5zb3J0KG51bGwpfSkpLHg9bCgic29ydCIpLHc9IWYoKGZ1bmN0aW9uKCl7aWYodilyZXR1cm4gdjw3MDtpZighKGgmJmg+Mykpe2lmKHApcmV0dXJuITA7aWYoZylyZXR1cm4gZzw2MDM7dmFyIHQsbixyLGUsbz0iIjtmb3IodD02NTt0PDc2O3QrKyl7c3dpdGNoKG49U3RyaW5nLmZyb21DaGFyQ29kZSh0KSx0KXtjYXNlIDY2OmNhc2UgNjk6Y2FzZSA3MDpjYXNlIDcyOnI9MzticmVhaztjYXNlIDY4OmNhc2UgNzE6cj00O2JyZWFrO2RlZmF1bHQ6cj0yfWZvcihlPTA7ZTw0NztlKyspZC5wdXNoKHtrOm4rZSx2OnJ9KX1mb3IoZC5zb3J0KChmdW5jdGlvbih0LG4pe3JldHVybiBuLnYtdC52fSkpLGU9MDtlPGQubGVuZ3RoO2UrKyluPWRbZV0uay5jaGFyQXQoMCksby5jaGFyQXQoby5sZW5ndGgtMSkhPT1uJiYobys9bik7cmV0dXJuIkRHQkVGSEFDSUpLIiE9PW99fSkpO2Uoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDpifHwhbXx8IXh8fCF3fSx7c29ydDpmdW5jdGlvbih0KXt2b2lkIDAhPT10JiZpKHQpO3ZhciBuPXUodGhpcyk7aWYodylyZXR1cm4gdm9pZCAwPT09dD95KG4pOnkobix0KTt2YXIgcixlLG89W10sZj1hKG4pO2ZvcihlPTA7ZTxmO2UrKyllIGluIG4mJl8obyxuW2VdKTtmb3IocyhvLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIpe3JldHVybiB2b2lkIDA9PT1yPy0xOnZvaWQgMD09PW4/MTp2b2lkIDAhPT10Pyt0KG4scil8fDA6YyhuKT5jKHIpPzE6LTF9fSh0KSkscj1vLmxlbmd0aCxlPTA7ZTxyOyluW2VdPW9bZSsrXTtmb3IoO2U8ZjspZGVsZXRlIG5bZSsrXTtyZXR1cm4gbn19KX0sMzg3MDY6ZnVuY3Rpb24odCxuLHIpe3IoOTYzNDApKCJBcnJheSIpfSw0MDU2MTpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoODIxMDkpLG89cigxNzg1NCksaT1yKDUxNDAwKSx1PXIoMTkzMDMpLGE9cigyNjI0NCksYz1yKDQ3OTA4KSxmPXIoNjU0MTcpLHM9cig4NjEzNSksbD1yKDgxMTk0KSgic3BsaWNlIiksaD1vLlR5cGVFcnJvcixwPU1hdGgubWF4LHY9TWF0aC5taW4sZz05MDA3MTk5MjU0NzQwOTkxLGQ9Ik1heGltdW0gYWxsb3dlZCBsZW5ndGggZXhjZWVkZWQiO2Uoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDohbH0se3NwbGljZTpmdW5jdGlvbih0LG4pe3ZhciByLGUsbyxsLHksXyxiPWModGhpcyksbT1hKGIpLHg9aSh0LG0pLHc9YXJndW1lbnRzLmxlbmd0aDtpZigwPT09dz9yPWU9MDoxPT09dz8ocj0wLGU9bS14KToocj13LTIsZT12KHAodShuKSwwKSxtLXgpKSxtK3ItZT5nKXRocm93IGgoZCk7Zm9yKG89ZihiLGUpLGw9MDtsPGU7bCsrKSh5PXgrbClpbiBiJiZzKG8sbCxiW3ldKTtpZihvLmxlbmd0aD1lLHI8ZSl7Zm9yKGw9eDtsPG0tZTtsKyspXz1sK3IsKHk9bCtlKWluIGI/YltfXT1iW3ldOmRlbGV0ZSBiW19dO2ZvcihsPW07bD5tLWUrcjtsLS0pZGVsZXRlIGJbbC0xXX1lbHNlIGlmKHI+ZSlmb3IobD1tLWU7bD54O2wtLSlfPWwrci0xLCh5PWwrZS0xKWluIGI/YltfXT1iW3ldOmRlbGV0ZSBiW19dO2ZvcihsPTA7bDxyO2wrKyliW2wreF09YXJndW1lbnRzW2wrMl07cmV0dXJuIGIubGVuZ3RoPW0tZStyLG99fSl9LDk5MjQ0OmZ1bmN0aW9uKHQsbixyKXtyKDUxMjIzKSgiZmxhdE1hcCIpfSwzMzc5MjpmdW5jdGlvbih0LG4scil7cig1MTIyMykoImZsYXQiKX0sNjgzMDk6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMTk3ODEpLG89cig3NjUzMCkuRVhJU1RTLGk9cigxNzAyKSx1PXIoMzA3MCkuZixhPUZ1bmN0aW9uLnByb3RvdHlwZSxjPWkoYS50b1N0cmluZyksZj0vXlxzKmZ1bmN0aW9uIChbXiAoXSopLyxzPWkoZi5leGVjKTtlJiYhbyYmdShhLCJuYW1lIix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3RyeXtyZXR1cm4gcyhmLGModGhpcykpWzFdfWNhdGNoKHQpe3JldHVybiIifX19KX0sOTY1MzpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoMTk3ODEpLG89cigxNzg1NCksaT1yKDE3MDIpLHU9cig1NDcwNSksYT1yKDMxMzIwKSxjPXIoOTI1OTcpLGY9cig3OTU4Nykscz1yKDQ3OTc2KSxsPXIoNTIxOTApLGg9cig1NzU5MykscD1yKDQ3MjkzKSx2PXIoODAwNikuZixnPXIoMzEyMzYpLmYsZD1yKDMwNzApLmYseT1yKDUwODYzKSxfPXIoNTMxMTEpLnRyaW0sYj0iTnVtYmVyIixtPW8uTnVtYmVyLHg9bS5wcm90b3R5cGUsdz1vLlR5cGVFcnJvcixPPWkoIiIuc2xpY2UpLEU9aSgiIi5jaGFyQ29kZUF0KSxTPWZ1bmN0aW9uKHQpe3ZhciBuPWgodCwibnVtYmVyIik7cmV0dXJuImJpZ2ludCI9PXR5cGVvZiBuP246QShuKX0sQT1mdW5jdGlvbih0KXt2YXIgbixyLGUsbyxpLHUsYSxjLGY9aCh0LCJudW1iZXIiKTtpZihsKGYpKXRocm93IHcoIkNhbm5vdCBjb252ZXJ0IGEgU3ltYm9sIHZhbHVlIHRvIGEgbnVtYmVyIik7aWYoInN0cmluZyI9PXR5cGVvZiBmJiZmLmxlbmd0aD4yKWlmKGY9XyhmKSw0Mz09PShuPUUoZiwwKSl8fDQ1PT09bil7aWYoODg9PT0ocj1FKGYsMikpfHwxMjA9PT1yKXJldHVybiBOYU59ZWxzZSBpZig0OD09PW4pe3N3aXRjaChFKGYsMSkpe2Nhc2UgNjY6Y2FzZSA5ODplPTIsbz00OTticmVhaztjYXNlIDc5OmNhc2UgMTExOmU9OCxvPTU1O2JyZWFrO2RlZmF1bHQ6cmV0dXJuK2Z9Zm9yKHU9KGk9TyhmLDIpKS5sZW5ndGgsYT0wO2E8dTthKyspaWYoKGM9RShpLGEpKTw0OHx8Yz5vKXJldHVybiBOYU47cmV0dXJuIHBhcnNlSW50KGksZSl9cmV0dXJuK2Z9O2lmKHUoYiwhbSgiIDBvMSIpfHwhbSgiMGIxIil8fG0oIisweDEiKSkpe2Zvcih2YXIgaixSPWZ1bmN0aW9uKHQpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg8MT8wOm0oUyh0KSkscj10aGlzO3JldHVybiBzKHgscikmJnAoKGZ1bmN0aW9uKCl7eShyKX0pKT9mKE9iamVjdChuKSxyLFIpOm59LEk9ZT92KG0pOiJNQVhfVkFMVUUsTUlOX1ZBTFVFLE5hTixORUdBVElWRV9JTkZJTklUWSxQT1NJVElWRV9JTkZJTklUWSxFUFNJTE9OLE1BWF9TQUZFX0lOVEVHRVIsTUlOX1NBRkVfSU5URUdFUixpc0Zpbml0ZSxpc0ludGVnZXIsaXNOYU4saXNTYWZlSW50ZWdlcixwYXJzZUZsb2F0LHBhcnNlSW50LGZyb21TdHJpbmcscmFuZ2UiLnNwbGl0KCIsIiksaz0wO0kubGVuZ3RoPms7aysrKWMobSxqPUlba10pJiYhYyhSLGopJiZkKFIsaixnKG0saikpO1IucHJvdG90eXBlPXgseC5jb25zdHJ1Y3Rvcj1SLGEobyxiLFIpfX0sOTMyOTk6ZnVuY3Rpb24odCxuLHIpe3IoODIxMDkpKHt0YXJnZXQ6Ik51bWJlciIsc3RhdDohMH0se0VQU0lMT046TWF0aC5wb3coMiwtNTIpfSl9LDM1MTkyOmZ1bmN0aW9uKHQsbixyKXtyKDgyMTA5KSh7dGFyZ2V0OiJOdW1iZXIiLHN0YXQ6ITB9LHtpc0Zpbml0ZTpyKDc3MDIzKX0pfSwzMzE2MTpmdW5jdGlvbih0LG4scil7cig4MjEwOSkoe3RhcmdldDoiTnVtYmVyIixzdGF0OiEwfSx7aXNJbnRlZ2VyOnIoNTU5ODgpfSl9LDQ0MDQ4OmZ1bmN0aW9uKHQsbixyKXtyKDgyMTA5KSh7dGFyZ2V0OiJOdW1iZXIiLHN0YXQ6ITB9LHtpc05hTjpmdW5jdGlvbih0KXtyZXR1cm4gdCE9dH19KX0sNzgyODU6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoODIxMDkpLG89cig1NTk4OCksaT1NYXRoLmFicztlKHt0YXJnZXQ6Ik51bWJlciIsc3RhdDohMH0se2lzU2FmZUludGVnZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG8odCkmJmkodCk8PTkwMDcxOTkyNTQ3NDA5OTF9fSl9LDQ0MzYzOmZ1bmN0aW9uKHQsbixyKXtyKDgyMTA5KSh7dGFyZ2V0OiJOdW1iZXIiLHN0YXQ6ITB9LHtNQVhfU0FGRV9JTlRFR0VSOjkwMDcxOTkyNTQ3NDA5OTF9KX0sNTU5OTQ6ZnVuY3Rpb24odCxuLHIpe3IoODIxMDkpKHt0YXJnZXQ6Ik51bWJlciIsc3RhdDohMH0se01JTl9TQUZFX0lOVEVHRVI6LTkwMDcxOTkyNTQ3NDA5OTF9KX0sNjE4NzQ6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoODIxMDkpLG89cigyODE0KTtlKHt0YXJnZXQ6Ik51bWJlciIsc3RhdDohMCxmb3JjZWQ6TnVtYmVyLnBhcnNlRmxvYXQhPW99LHtwYXJzZUZsb2F0Om99KX0sOTQ5NDpmdW5jdGlvbih0LG4scil7dmFyIGU9cig4MjEwOSksbz1yKDgzMDA5KTtlKHt0YXJnZXQ6Ik51bWJlciIsc3RhdDohMCxmb3JjZWQ6TnVtYmVyLnBhcnNlSW50IT1vfSx7cGFyc2VJbnQ6b30pfSw1Njk3NzpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoODIxMDkpLG89cigxNzg1NCksaT1yKDE3MDIpLHU9cigxOTMwMyksYT1yKDUwODYzKSxjPXIoMzg0MTUpLGY9cig0NzI5Mykscz1vLlJhbmdlRXJyb3IsbD1vLlN0cmluZyxoPU1hdGguZmxvb3IscD1pKGMpLHY9aSgiIi5zbGljZSksZz1pKDEuLnRvRml4ZWQpLGQ9ZnVuY3Rpb24odCxuLHIpe3JldHVybiAwPT09bj9yOm4lMj09MT9kKHQsbi0xLHIqdCk6ZCh0KnQsbi8yLHIpfSx5PWZ1bmN0aW9uKHQsbixyKXtmb3IodmFyIGU9LTEsbz1yOysrZTw2OylvKz1uKnRbZV0sdFtlXT1vJTFlNyxvPWgoby8xZTcpfSxfPWZ1bmN0aW9uKHQsbil7Zm9yKHZhciByPTYsZT0wOy0tcj49MDspZSs9dFtyXSx0W3JdPWgoZS9uKSxlPWUlbioxZTd9LGI9ZnVuY3Rpb24odCl7Zm9yKHZhciBuPTYscj0iIjstLW4+PTA7KWlmKCIiIT09cnx8MD09PW58fDAhPT10W25dKXt2YXIgZT1sKHRbbl0pO3I9IiI9PT1yP2U6citwKCIwIiw3LWUubGVuZ3RoKStlfXJldHVybiByfTtlKHt0YXJnZXQ6Ik51bWJlciIscHJvdG86ITAsZm9yY2VkOmYoKGZ1bmN0aW9uKCl7cmV0dXJuIjAuMDAwIiE9PWcoOGUtNSwzKXx8IjEiIT09ZyguOSwwKXx8IjEuMjUiIT09ZygxLjI1NSwyKXx8IjEwMDAwMDAwMDAwMDAwMDAxMjgiIT09ZygweGRlMGI2YjNhNzY0MDA4MCwwKX0pKXx8IWYoKGZ1bmN0aW9uKCl7Zyh7fSl9KSl9LHt0b0ZpeGVkOmZ1bmN0aW9uKHQpe3ZhciBuLHIsZSxvLGk9YSh0aGlzKSxjPXUodCksZj1bMCwwLDAsMCwwLDBdLGg9IiIsZz0iMCI7aWYoYzwwfHxjPjIwKXRocm93IHMoIkluY29ycmVjdCBmcmFjdGlvbiBkaWdpdHMiKTtpZihpIT1pKXJldHVybiJOYU4iO2lmKGk8PS0xZTIxfHxpPj0xZTIxKXJldHVybiBsKGkpO2lmKGk8MCYmKGg9Ii0iLGk9LWkpLGk+MWUtMjEpaWYocj0obj1mdW5jdGlvbih0KXtmb3IodmFyIG49MCxyPXQ7cj49NDA5Njspbis9MTIsci89NDA5Njtmb3IoO3I+PTI7KW4rPTEsci89MjtyZXR1cm4gbn0oaSpkKDIsNjksMSkpLTY5KTwwP2kqZCgyLC1uLDEpOmkvZCgyLG4sMSkscio9NDUwMzU5OTYyNzM3MDQ5Niwobj01Mi1uKT4wKXtmb3IoeShmLDAsciksZT1jO2U+PTc7KXkoZiwxZTcsMCksZS09Nztmb3IoeShmLGQoMTAsZSwxKSwwKSxlPW4tMTtlPj0yMzspXyhmLDE8PDIzKSxlLT0yMztfKGYsMTw8ZSkseShmLDEsMSksXyhmLDIpLGc9YihmKX1lbHNlIHkoZiwwLHIpLHkoZiwxPDwtbiwwKSxnPWIoZikrcCgiMCIsYyk7cmV0dXJuIGc9Yz4wP2grKChvPWcubGVuZ3RoKTw9Yz8iMC4iK3AoIjAiLGMtbykrZzp2KGcsMCxvLWMpKyIuIit2KGcsby1jKSk6aCtnfX0pfSw1NTE0NzpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoODIxMDkpLG89cigxNzAyKSxpPXIoNDcyOTMpLHU9cig1MDg2MyksYT1vKDEuLnRvUHJlY2lzaW9uKTtlKHt0YXJnZXQ6Ik51bWJlciIscHJvdG86ITAsZm9yY2VkOmkoKGZ1bmN0aW9uKCl7cmV0dXJuIjEiIT09YSgxLHZvaWQgMCl9KSl8fCFpKChmdW5jdGlvbigpe2Eoe30pfSkpfSx7dG9QcmVjaXNpb246ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQ/YSh1KHRoaXMpKTphKHUodGhpcyksdCl9fSl9LDY5NzIwOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDgyMTA5KSxvPXIoNDQ2OTkpLmVudHJpZXM7ZSh7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITB9LHtlbnRyaWVzOmZ1bmN0aW9uKHQpe3JldHVybiBvKHQpfX0pfSw0Nzk0MTpmdW5jdGlvbih0LG4scil7dmFyIGU9cig4MjEwOSksbz1yKDQ3OTA4KSxpPXIoODE5NTYpO2Uoe3RhcmdldDoiT2JqZWN0IixzdGF0OiEwLGZvcmNlZDpyKDQ3MjkzKSgoZnVuY3Rpb24oKXtpKDEpfSkpfSx7a2V5czpmdW5jdGlvbih0KXtyZXR1cm4gaShvKHQpKX19KX0sNDE1Mzk6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoNTE2OTQpLG89cigzMTMyMCksaT1yKDkwMjg4KTtlfHxvKE9iamVjdC5wcm90b3R5cGUsInRvU3RyaW5nIixpLHt1bnNhZmU6ITB9KX0sMjY4MzM6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoODIxMDkpLG89cig0NDY5OSkudmFsdWVzO2Uoe3RhcmdldDoiT2JqZWN0IixzdGF0OiEwfSx7dmFsdWVzOmZ1bmN0aW9uKHQpe3JldHVybiBvKHQpfX0pfSw4ODY3NDpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlLG8saSx1LGE9cig4MjEwOSksYz1yKDMxOTEzKSxmPXIoMTc4NTQpLHM9cigzNTAwNSksbD1yKDQ2OTE2KSxoPXIoMTMzNjYpLHA9cigzMTMyMCksdj1yKDEyMjQ4KSxnPXIoMjc2NzQpLGQ9cig1ODAwMykseT1yKDk2MzQwKSxfPXIoMTk2NjIpLGI9cig2MDYxNCksbT1yKDcwMTExKSx4PXIoMjU3ODcpLHc9cig0Mjc4OCksTz1yKDIwNDA4KSxFPXIoMTcwNzIpLFM9cigzNjcwNyksQT1yKDIwMjYxKS5zZXQsaj1yKDk1OTQ4KSxSPXIoNjk0NzgpLEk9cig4NDIpLGs9cig3ODUyMyksTD1yKDEyNTM0KSxUPXIoMjk5MDkpLFA9cig1NDcwNSksTT1yKDUxMTIpLE49cig3ODcxKSxVPXIoMzUyNjgpLEM9cig3MzkyKSxGPU0oInNwZWNpZXMiKSxCPSJQcm9taXNlIix6PVQuZ2V0LFc9VC5zZXQsRD1ULmdldHRlckZvcihCKSxxPWgmJmgucHJvdG90eXBlLCQ9aCxHPXEsVj1mLlR5cGVFcnJvcixIPWYuZG9jdW1lbnQsSz1mLnByb2Nlc3MsWT1rLmYsWj1ZLEo9ISEoSCYmSC5jcmVhdGVFdmVudCYmZi5kaXNwYXRjaEV2ZW50KSxYPWIoZi5Qcm9taXNlUmVqZWN0aW9uRXZlbnQpLFE9InVuaGFuZGxlZHJlamVjdGlvbiIsdHQ9ITEsbnQ9UChCLChmdW5jdGlvbigpe3ZhciB0PXcoJCksbj10IT09U3RyaW5nKCQpO2lmKCFuJiY2Nj09PUMpcmV0dXJuITA7aWYoYyYmIUcuZmluYWxseSlyZXR1cm4hMDtpZihDPj01MSYmL25hdGl2ZSBjb2RlLy50ZXN0KHQpKXJldHVybiExO3ZhciByPW5ldyAkKChmdW5jdGlvbih0KXt0KDEpfSkpLGU9ZnVuY3Rpb24odCl7dCgoZnVuY3Rpb24oKXt9KSwoZnVuY3Rpb24oKXt9KSl9O3JldHVybihyLmNvbnN0cnVjdG9yPXt9KVtGXT1lLCEodHQ9ci50aGVuKChmdW5jdGlvbigpe30pKWluc3RhbmNlb2YgZSl8fCFuJiZOJiYhWH0pKSxydD1udHx8IUUoKGZ1bmN0aW9uKHQpeyQuYWxsKHQpLmNhdGNoKChmdW5jdGlvbigpe30pKX0pKSxldD1mdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4hKCFtKHQpfHwhYihuPXQudGhlbikpJiZufSxvdD1mdW5jdGlvbih0LG4pe2lmKCF0Lm5vdGlmaWVkKXt0Lm5vdGlmaWVkPSEwO3ZhciByPXQucmVhY3Rpb25zO2ooKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPXQudmFsdWUsbz0xPT10LnN0YXRlLGk9MDtyLmxlbmd0aD5pOyl7dmFyIHUsYSxjLGY9cltpKytdLHM9bz9mLm9rOmYuZmFpbCxoPWYucmVzb2x2ZSxwPWYucmVqZWN0LHY9Zi5kb21haW47dHJ5e3M/KG98fCgyPT09dC5yZWplY3Rpb24mJmN0KHQpLHQucmVqZWN0aW9uPTEpLCEwPT09cz91PWU6KHYmJnYuZW50ZXIoKSx1PXMoZSksdiYmKHYuZXhpdCgpLGM9ITApKSx1PT09Zi5wcm9taXNlP3AoVigiUHJvbWlzZS1jaGFpbiBjeWNsZSIpKTooYT1ldCh1KSk/bChhLHUsaCxwKTpoKHUpKTpwKGUpfWNhdGNoKHQpe3YmJiFjJiZ2LmV4aXQoKSxwKHQpfX10LnJlYWN0aW9ucz1bXSx0Lm5vdGlmaWVkPSExLG4mJiF0LnJlamVjdGlvbiYmdXQodCl9KSl9fSxpdD1mdW5jdGlvbih0LG4scil7dmFyIGUsbztKPygoZT1ILmNyZWF0ZUV2ZW50KCJFdmVudCIpKS5wcm9taXNlPW4sZS5yZWFzb249cixlLmluaXRFdmVudCh0LCExLCEwKSxmLmRpc3BhdGNoRXZlbnQoZSkpOmU9e3Byb21pc2U6bixyZWFzb246cn0sIVgmJihvPWZbIm9uIit0XSk/byhlKTp0PT09USYmSSgiVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uIixyKX0sdXQ9ZnVuY3Rpb24odCl7bChBLGYsKGZ1bmN0aW9uKCl7dmFyIG4scj10LmZhY2FkZSxlPXQudmFsdWU7aWYoYXQodCkmJihuPUwoKGZ1bmN0aW9uKCl7VT9LLmVtaXQoInVuaGFuZGxlZFJlamVjdGlvbiIsZSxyKTppdChRLHIsZSl9KSksdC5yZWplY3Rpb249VXx8YXQodCk/MjoxLG4uZXJyb3IpKXRocm93IG4udmFsdWV9KSl9LGF0PWZ1bmN0aW9uKHQpe3JldHVybiAxIT09dC5yZWplY3Rpb24mJiF0LnBhcmVudH0sY3Q9ZnVuY3Rpb24odCl7bChBLGYsKGZ1bmN0aW9uKCl7dmFyIG49dC5mYWNhZGU7VT9LLmVtaXQoInJlamVjdGlvbkhhbmRsZWQiLG4pOml0KCJyZWplY3Rpb25oYW5kbGVkIixuLHQudmFsdWUpfSkpfSxmdD1mdW5jdGlvbih0LG4scil7cmV0dXJuIGZ1bmN0aW9uKGUpe3QobixlLHIpfX0sc3Q9ZnVuY3Rpb24odCxuLHIpe3QuZG9uZXx8KHQuZG9uZT0hMCxyJiYodD1yKSx0LnZhbHVlPW4sdC5zdGF0ZT0yLG90KHQsITApKX0sbHQ9ZnVuY3Rpb24odCxuLHIpe2lmKCF0LmRvbmUpe3QuZG9uZT0hMCxyJiYodD1yKTt0cnl7aWYodC5mYWNhZGU9PT1uKXRocm93IFYoIlByb21pc2UgY2FuJ3QgYmUgcmVzb2x2ZWQgaXRzZWxmIik7dmFyIGU9ZXQobik7ZT9qKChmdW5jdGlvbigpe3ZhciByPXtkb25lOiExfTt0cnl7bChlLG4sZnQobHQscix0KSxmdChzdCxyLHQpKX1jYXRjaChuKXtzdChyLG4sdCl9fSkpOih0LnZhbHVlPW4sdC5zdGF0ZT0xLG90KHQsITEpKX1jYXRjaChuKXtzdCh7ZG9uZTohMX0sbix0KX19fTtpZihudCYmKEc9KCQ9ZnVuY3Rpb24odCl7eCh0aGlzLEcpLF8odCksbChlLHRoaXMpO3ZhciBuPXoodGhpcyk7dHJ5e3QoZnQobHQsbiksZnQoc3QsbikpfWNhdGNoKHQpe3N0KG4sdCl9fSkucHJvdG90eXBlLChlPWZ1bmN0aW9uKHQpe1codGhpcyx7dHlwZTpCLGRvbmU6ITEsbm90aWZpZWQ6ITEscGFyZW50OiExLHJlYWN0aW9uczpbXSxyZWplY3Rpb246ITEsc3RhdGU6MCx2YWx1ZTp2b2lkIDB9KX0pLnByb3RvdHlwZT12KEcse3RoZW46ZnVuY3Rpb24odCxuKXt2YXIgcj1EKHRoaXMpLGU9ci5yZWFjdGlvbnMsbz1ZKFModGhpcywkKSk7cmV0dXJuIG8ub2s9IWIodCl8fHQsby5mYWlsPWIobikmJm4sby5kb21haW49VT9LLmRvbWFpbjp2b2lkIDAsci5wYXJlbnQ9ITAsZVtlLmxlbmd0aF09bywwIT1yLnN0YXRlJiZvdChyLCExKSxvLnByb21pc2V9LGNhdGNoOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLHQpfX0pLG89ZnVuY3Rpb24oKXt2YXIgdD1uZXcgZSxuPXoodCk7dGhpcy5wcm9taXNlPXQsdGhpcy5yZXNvbHZlPWZ0KGx0LG4pLHRoaXMucmVqZWN0PWZ0KHN0LG4pfSxrLmY9WT1mdW5jdGlvbih0KXtyZXR1cm4gdD09PSR8fHQ9PT1pP25ldyBvKHQpOloodCl9LCFjJiZiKGgpJiZxIT09T2JqZWN0LnByb3RvdHlwZSkpe3U9cS50aGVuLHR0fHwocChxLCJ0aGVuIiwoZnVuY3Rpb24odCxuKXt2YXIgcj10aGlzO3JldHVybiBuZXcgJCgoZnVuY3Rpb24odCxuKXtsKHUscix0LG4pfSkpLnRoZW4odCxuKX0pLHt1bnNhZmU6ITB9KSxwKHEsImNhdGNoIixHLmNhdGNoLHt1bnNhZmU6ITB9KSk7dHJ5e2RlbGV0ZSBxLmNvbnN0cnVjdG9yfWNhdGNoKHQpe31nJiZnKHEsRyl9YSh7Z2xvYmFsOiEwLHdyYXA6ITAsZm9yY2VkOm50fSx7UHJvbWlzZTokfSksZCgkLEIsITEsITApLHkoQiksaT1zKEIpLGEoe3RhcmdldDpCLHN0YXQ6ITAsZm9yY2VkOm50fSx7cmVqZWN0OmZ1bmN0aW9uKHQpe3ZhciBuPVkodGhpcyk7cmV0dXJuIGwobi5yZWplY3Qsdm9pZCAwLHQpLG4ucHJvbWlzZX19KSxhKHt0YXJnZXQ6QixzdGF0OiEwLGZvcmNlZDpjfHxudH0se3Jlc29sdmU6ZnVuY3Rpb24odCl7cmV0dXJuIFIoYyYmdGhpcz09PWk/JDp0aGlzLHQpfX0pLGEoe3RhcmdldDpCLHN0YXQ6ITAsZm9yY2VkOnJ0fSx7YWxsOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMscj1ZKG4pLGU9ci5yZXNvbHZlLG89ci5yZWplY3QsaT1MKChmdW5jdGlvbigpe3ZhciByPV8obi5yZXNvbHZlKSxpPVtdLHU9MCxhPTE7Tyh0LChmdW5jdGlvbih0KXt2YXIgYz11KyssZj0hMTthKyssbChyLG4sdCkudGhlbigoZnVuY3Rpb24odCl7Znx8KGY9ITAsaVtjXT10LC0tYXx8ZShpKSl9KSxvKX0pKSwtLWF8fGUoaSl9KSk7cmV0dXJuIGkuZXJyb3ImJm8oaS52YWx1ZSksci5wcm9taXNlfSxyYWNlOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMscj1ZKG4pLGU9ci5yZWplY3Qsbz1MKChmdW5jdGlvbigpe3ZhciBvPV8obi5yZXNvbHZlKTtPKHQsKGZ1bmN0aW9uKHQpe2wobyxuLHQpLnRoZW4oci5yZXNvbHZlLGUpfSkpfSkpO3JldHVybiBvLmVycm9yJiZlKG8udmFsdWUpLHIucHJvbWlzZX19KX0sNzQ5MTY6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDgyMTA5KSxvPXIoMjIyNjEpO2Uoe3RhcmdldDoiUmVnRXhwIixwcm90bzohMCxmb3JjZWQ6Ly4vLmV4ZWMhPT1vfSx7ZXhlYzpvfSl9LDM5NzE0OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cigxNzAyKSxvPXIoNzY1MzApLlBST1BFUixpPXIoMzEzMjApLHU9cigxOTY3MCksYT1yKDQ3OTc2KSxjPXIoNDEzNDApLGY9cig0NzI5Mykscz1yKDY3MDY2KSxsPSJ0b1N0cmluZyIsaD1SZWdFeHAucHJvdG90eXBlLHA9aC50b1N0cmluZyx2PWUocyksZz1mKChmdW5jdGlvbigpe3JldHVybiIvYS9iIiE9cC5jYWxsKHtzb3VyY2U6ImEiLGZsYWdzOiJiIn0pfSkpLGQ9byYmcC5uYW1lIT1sOyhnfHxkKSYmaShSZWdFeHAucHJvdG90eXBlLGwsKGZ1bmN0aW9uKCl7dmFyIHQ9dSh0aGlzKSxuPWModC5zb3VyY2UpLHI9dC5mbGFncztyZXR1cm4iLyIrbisiLyIrYyh2b2lkIDA9PT1yJiZhKGgsdCkmJiEoImZsYWdzImluIGgpP3YodCk6cil9KSx7dW5zYWZlOiEwfSl9LDMyMDIzOmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9cig4MjEwOSksbz1yKDE3MDIpLGk9cigzOTI5KSx1PXIoODQ0ODgpLGE9cig0MTM0MCksYz1yKDg0OTY0KSxmPW8oIiIuaW5kZXhPZik7ZSh7dGFyZ2V0OiJTdHJpbmciLHByb3RvOiEwLGZvcmNlZDohYygiaW5jbHVkZXMiKX0se2luY2x1ZGVzOmZ1bmN0aW9uKHQpe3JldHVybiEhfmYoYSh1KHRoaXMpKSxhKGkodCkpLGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KX0sNzg3ODM6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDI4NzEwKS5jaGFyQXQsbz1yKDQxMzQwKSxpPXIoMjk5MDkpLHU9cig3MDY1NCksYT0iU3RyaW5nIEl0ZXJhdG9yIixjPWkuc2V0LGY9aS5nZXR0ZXJGb3IoYSk7dShTdHJpbmcsIlN0cmluZyIsKGZ1bmN0aW9uKHQpe2ModGhpcyx7dHlwZTphLHN0cmluZzpvKHQpLGluZGV4OjB9KX0pLChmdW5jdGlvbigpe3ZhciB0LG49Zih0aGlzKSxyPW4uc3RyaW5nLG89bi5pbmRleDtyZXR1cm4gbz49ci5sZW5ndGg/e3ZhbHVlOnZvaWQgMCxkb25lOiEwfToodD1lKHIsbyksbi5pbmRleCs9dC5sZW5ndGgse3ZhbHVlOnQsZG9uZTohMX0pfSkpfSw4MjQ4MTpmdW5jdGlvbih0LG4scil7cig4MjEwOSkoe3RhcmdldDoiU3RyaW5nIixwcm90bzohMH0se3JlcGVhdDpyKDM4NDE1KX0pfSwxNTMwNjpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoMjIxMDQpLG89cig0NjkxNiksaT1yKDE3MDIpLHU9cigyNzAwNyksYT1yKDQ3MjkzKSxjPXIoMTk2NzApLGY9cig2MDYxNCkscz1yKDE5MzAzKSxsPXIoMTc0NjYpLGg9cig0MTM0MCkscD1yKDg0NDg4KSx2PXIoMzE1MzApLGc9cig1ODE3MyksZD1yKDEwNjQ3KSx5PXIoOTc2NTEpLF89cig1MTEyKSgicmVwbGFjZSIpLGI9TWF0aC5tYXgsbT1NYXRoLm1pbix4PWkoW10uY29uY2F0KSx3PWkoW10ucHVzaCksTz1pKCIiLmluZGV4T2YpLEU9aSgiIi5zbGljZSksUz0iJDAiPT09ImEiLnJlcGxhY2UoLy4vLCIkMCIpLEE9ISEvLi9bX10mJiIiPT09Ly4vW19dKCJhIiwiJDAiKTt1KCJyZXBsYWNlIiwoZnVuY3Rpb24odCxuLHIpe3ZhciBpPUE/IiQiOiIkMCI7cmV0dXJuW2Z1bmN0aW9uKHQscil7dmFyIGU9cCh0aGlzKSxpPW51bGw9PXQ/dm9pZCAwOmcodCxfKTtyZXR1cm4gaT9vKGksdCxlLHIpOm8obixoKGUpLHQscil9LGZ1bmN0aW9uKHQsbyl7dmFyIHU9Yyh0aGlzKSxhPWgodCk7aWYoInN0cmluZyI9PXR5cGVvZiBvJiYtMT09PU8obyxpKSYmLTE9PT1PKG8sIiQ8Iikpe3ZhciBwPXIobix1LGEsbyk7aWYocC5kb25lKXJldHVybiBwLnZhbHVlfXZhciBnPWYobyk7Z3x8KG89aChvKSk7dmFyIF89dS5nbG9iYWw7aWYoXyl7dmFyIFM9dS51bmljb2RlO3UubGFzdEluZGV4PTB9Zm9yKHZhciBBPVtdOzspe3ZhciBqPXkodSxhKTtpZihudWxsPT09ailicmVhaztpZih3KEEsaiksIV8pYnJlYWs7IiI9PT1oKGpbMF0pJiYodS5sYXN0SW5kZXg9dihhLGwodS5sYXN0SW5kZXgpLFMpKX1mb3IodmFyIFIsST0iIixrPTAsTD0wO0w8QS5sZW5ndGg7TCsrKXtmb3IodmFyIFQ9aCgoaj1BW0xdKVswXSksUD1iKG0ocyhqLmluZGV4KSxhLmxlbmd0aCksMCksTT1bXSxOPTE7TjxqLmxlbmd0aDtOKyspdyhNLHZvaWQgMD09PShSPWpbTl0pP1I6U3RyaW5nKFIpKTt2YXIgVT1qLmdyb3VwcztpZihnKXt2YXIgQz14KFtUXSxNLFAsYSk7dm9pZCAwIT09VSYmdyhDLFUpO3ZhciBGPWgoZShvLHZvaWQgMCxDKSl9ZWxzZSBGPWQoVCxhLFAsTSxVLG8pO1A+PWsmJihJKz1FKGEsayxQKStGLGs9UCtULmxlbmd0aCl9cmV0dXJuIEkrRShhLGspfV19KSwhIWEoKGZ1bmN0aW9uKCl7dmFyIHQ9Ly4vO3JldHVybiB0LmV4ZWM9ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdC5ncm91cHM9e2E6IjcifSx0fSwiNyIhPT0iIi5yZXBsYWNlKHQsIiQ8YT4iKX0pKXx8IVN8fEEpfSw2NDc2NTpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoNDY5MTYpLG89cigyNzAwNyksaT1yKDE5NjcwKSx1PXIoODQ0ODgpLGE9cig4MTE1MCksYz1yKDQxMzQwKSxmPXIoNTgxNzMpLHM9cig5NzY1MSk7bygic2VhcmNoIiwoZnVuY3Rpb24odCxuLHIpe3JldHVybltmdW5jdGlvbihuKXt2YXIgcj11KHRoaXMpLG89bnVsbD09bj92b2lkIDA6ZihuLHQpO3JldHVybiBvP2UobyxuLHIpOm5ldyBSZWdFeHAobilbdF0oYyhyKSl9LGZ1bmN0aW9uKHQpe3ZhciBlPWkodGhpcyksbz1jKHQpLHU9cihuLGUsbyk7aWYodS5kb25lKXJldHVybiB1LnZhbHVlO3ZhciBmPWUubGFzdEluZGV4O2EoZiwwKXx8KGUubGFzdEluZGV4PTApO3ZhciBsPXMoZSxvKTtyZXR1cm4gYShlLmxhc3RJbmRleCxmKXx8KGUubGFzdEluZGV4PWYpLG51bGw9PT1sPy0xOmwuaW5kZXh9XX0pKX0sMjMxMjM6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDIyMTA0KSxvPXIoNDY5MTYpLGk9cigxNzAyKSx1PXIoMjcwMDcpLGE9cig0Nzg1MCksYz1yKDE5NjcwKSxmPXIoODQ0ODgpLHM9cigzNjcwNyksbD1yKDMxNTMwKSxoPXIoMTc0NjYpLHA9cig0MTM0MCksdj1yKDU4MTczKSxnPXIoNTAyMDYpLGQ9cig5NzY1MSkseT1yKDIyMjYxKSxfPXIoNTI5OTkpLGI9cig0NzI5MyksbT1fLlVOU1VQUE9SVEVEX1kseD00Mjk0OTY3Mjk1LHc9TWF0aC5taW4sTz1bXS5wdXNoLEU9aSgvLi8uZXhlYyksUz1pKE8pLEE9aSgiIi5zbGljZSksaj0hYigoZnVuY3Rpb24oKXt2YXIgdD0vKD86KS8sbj10LmV4ZWM7dC5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2YXIgcj0iYWIiLnNwbGl0KHQpO3JldHVybiAyIT09ci5sZW5ndGh8fCJhIiE9PXJbMF18fCJiIiE9PXJbMV19KSk7dSgic3BsaXQiLChmdW5jdGlvbih0LG4scil7dmFyIGk7cmV0dXJuIGk9ImMiPT0iYWJiYyIuc3BsaXQoLyhiKSovKVsxXXx8NCE9InRlc3QiLnNwbGl0KC8oPzopLywtMSkubGVuZ3RofHwyIT0iYWIiLnNwbGl0KC8oPzphYikqLykubGVuZ3RofHw0IT0iLiIuc3BsaXQoLyguPykoLj8pLykubGVuZ3RofHwiLiIuc3BsaXQoLygpKCkvKS5sZW5ndGg+MXx8IiIuc3BsaXQoLy4/LykubGVuZ3RoP2Z1bmN0aW9uKHQscil7dmFyIGk9cChmKHRoaXMpKSx1PXZvaWQgMD09PXI/eDpyPj4+MDtpZigwPT09dSlyZXR1cm5bXTtpZih2b2lkIDA9PT10KXJldHVybltpXTtpZighYSh0KSlyZXR1cm4gbyhuLGksdCx1KTtmb3IodmFyIGMscyxsLGg9W10sdj0odC5pZ25vcmVDYXNlPyJpIjoiIikrKHQubXVsdGlsaW5lPyJtIjoiIikrKHQudW5pY29kZT8idSI6IiIpKyh0LnN0aWNreT8ieSI6IiIpLGQ9MCxfPW5ldyBSZWdFeHAodC5zb3VyY2UsdisiZyIpOyhjPW8oeSxfLGkpKSYmISgocz1fLmxhc3RJbmRleCk+ZCYmKFMoaCxBKGksZCxjLmluZGV4KSksYy5sZW5ndGg+MSYmYy5pbmRleDxpLmxlbmd0aCYmZShPLGgsZyhjLDEpKSxsPWNbMF0ubGVuZ3RoLGQ9cyxoLmxlbmd0aD49dSkpOylfLmxhc3RJbmRleD09PWMuaW5kZXgmJl8ubGFzdEluZGV4Kys7cmV0dXJuIGQ9PT1pLmxlbmd0aD8hbCYmRShfLCIiKXx8UyhoLCIiKTpTKGgsQShpLGQpKSxoLmxlbmd0aD51P2coaCwwLHUpOmh9OiIwIi5zcGxpdCh2b2lkIDAsMCkubGVuZ3RoP2Z1bmN0aW9uKHQscil7cmV0dXJuIHZvaWQgMD09PXQmJjA9PT1yP1tdOm8obix0aGlzLHQscil9Om4sW2Z1bmN0aW9uKG4scil7dmFyIGU9Zih0aGlzKSx1PW51bGw9PW4/dm9pZCAwOnYobix0KTtyZXR1cm4gdT9vKHUsbixlLHIpOm8oaSxwKGUpLG4scil9LGZ1bmN0aW9uKHQsZSl7dmFyIG89Yyh0aGlzKSx1PXAodCksYT1yKGksbyx1LGUsaSE9PW4pO2lmKGEuZG9uZSlyZXR1cm4gYS52YWx1ZTt2YXIgZj1zKG8sUmVnRXhwKSx2PW8udW5pY29kZSxnPShvLmlnbm9yZUNhc2U/ImkiOiIiKSsoby5tdWx0aWxpbmU/Im0iOiIiKSsoby51bmljb2RlPyJ1IjoiIikrKG0/ImciOiJ5IikseT1uZXcgZihtPyJeKD86IitvLnNvdXJjZSsiKSI6byxnKSxfPXZvaWQgMD09PWU/eDplPj4+MDtpZigwPT09XylyZXR1cm5bXTtpZigwPT09dS5sZW5ndGgpcmV0dXJuIG51bGw9PT1kKHksdSk/W3VdOltdO2Zvcih2YXIgYj0wLE89MCxFPVtdO088dS5sZW5ndGg7KXt5Lmxhc3RJbmRleD1tPzA6Tzt2YXIgaixSPWQoeSxtP0EodSxPKTp1KTtpZihudWxsPT09Unx8KGo9dyhoKHkubGFzdEluZGV4KyhtP086MCkpLHUubGVuZ3RoKSk9PT1iKU89bCh1LE8sdik7ZWxzZXtpZihTKEUsQSh1LGIsTykpLEUubGVuZ3RoPT09XylyZXR1cm4gRTtmb3IodmFyIEk9MTtJPD1SLmxlbmd0aC0xO0krKylpZihTKEUsUltJXSksRS5sZW5ndGg9PT1fKXJldHVybiBFO089Yj1qfX1yZXR1cm4gUyhFLEEodSxiKSksRX1dfSksIWosbSl9LDIzMTU3OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGUsbz1yKDgyMTA5KSxpPXIoMTcwMiksdT1yKDMxMjM2KS5mLGE9cigxNzQ2NiksYz1yKDQxMzQwKSxmPXIoMzkyOSkscz1yKDg0NDg4KSxsPXIoODQ5NjQpLGg9cigzMTkxMykscD1pKCIiLnN0YXJ0c1dpdGgpLHY9aSgiIi5zbGljZSksZz1NYXRoLm1pbixkPWwoInN0YXJ0c1dpdGgiKTtvKHt0YXJnZXQ6IlN0cmluZyIscHJvdG86ITAsZm9yY2VkOiEhKGh8fGR8fChlPXUoU3RyaW5nLnByb3RvdHlwZSwic3RhcnRzV2l0aCIpLCFlfHxlLndyaXRhYmxlKSkmJiFkfSx7c3RhcnRzV2l0aDpmdW5jdGlvbih0KXt2YXIgbj1jKHModGhpcykpO2YodCk7dmFyIHI9YShnKGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLG4ubGVuZ3RoKSksZT1jKHQpO3JldHVybiBwP3AobixlLHIpOnYobixyLHIrZS5sZW5ndGgpPT09ZX19KX0sNDE4MTc6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1yKDgyMTA5KSxvPXIoMTk3ODEpLGk9cigxNzg1NCksdT1yKDE3MDIpLGE9cig5MjU5NyksYz1yKDYwNjE0KSxmPXIoNDc5NzYpLHM9cig0MTM0MCksbD1yKDMwNzApLmYsaD1yKDk5OTIwKSxwPWkuU3ltYm9sLHY9cCYmcC5wcm90b3R5cGU7aWYobyYmYyhwKSYmKCEoImRlc2NyaXB0aW9uImluIHYpfHx2b2lkIDAhPT1wKCkuZGVzY3JpcHRpb24pKXt2YXIgZz17fSxkPWZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aDwxfHx2b2lkIDA9PT1hcmd1bWVudHNbMF0/dm9pZCAwOnMoYXJndW1lbnRzWzBdKSxuPWYodix0aGlzKT9uZXcgcCh0KTp2b2lkIDA9PT10P3AoKTpwKHQpO3JldHVybiIiPT09dCYmKGdbbl09ITApLG59O2goZCxwKSxkLnByb3RvdHlwZT12LHYuY29uc3RydWN0b3I9ZDt2YXIgeT0iU3ltYm9sKHRlc3QpIj09U3RyaW5nKHAoInRlc3QiKSksXz11KHYudG9TdHJpbmcpLGI9dSh2LnZhbHVlT2YpLG09L15TeW1ib2xcKCguKilcKVteKV0rJC8seD11KCIiLnJlcGxhY2UpLHc9dSgiIi5zbGljZSk7bCh2LCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgdD1iKHRoaXMpLG49Xyh0KTtpZihhKGcsdCkpcmV0dXJuIiI7dmFyIHI9eT93KG4sNywtMSk6eChuLG0sIiQxIik7cmV0dXJuIiI9PT1yP3ZvaWQgMDpyfX0pLGUoe2dsb2JhbDohMCxmb3JjZWQ6ITB9LHtTeW1ib2w6ZH0pfX0sMzIxNjU6ZnVuY3Rpb24odCxuLHIpe3IoOTcyMzUpKCJpdGVyYXRvciIpfSw4MjUyNjpmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO3ZhciBlPXIoODIxMDkpLG89cigxNzg1NCksaT1yKDM1MDA1KSx1PXIoMjIxMDQpLGE9cig0NjkxNiksYz1yKDE3MDIpLGY9cigzMTkxMykscz1yKDE5NzgxKSxsPXIoMzAxMzMpLGg9cig0NzI5MykscD1yKDkyNTk3KSx2PXIoNDMxNTcpLGc9cig2MDYxNCksZD1yKDcwMTExKSx5PXIoNDc5NzYpLF89cig1MjE5MCksYj1yKDE5NjcwKSxtPXIoNDc5MDgpLHg9cig0NTY1Niksdz1yKDM0OTQ4KSxPPXIoNDEzNDApLEU9cig3OTExNCksUz1yKDcwMDMwKSxBPXIoODE5NTYpLGo9cig4MDA2KSxSPXIoMTE1NiksST1yKDI1MTgxKSxrPXIoMzEyMzYpLEw9cigzMDcwKSxUPXIoNTUyOTYpLFA9cig1MDIwNiksTT1yKDMxMzIwKSxOPXIoNzIzMDkpLFU9cig2MjAwKSxDPXIoMzUwMSksRj1yKDY5NzExKSxCPXIoNTExMiksej1yKDYwNjEpLFc9cig5NzIzNSksRD1yKDU4MDAzKSxxPXIoMjk5MDkpLCQ9cig0MjA5MikuZm9yRWFjaCxHPVUoImhpZGRlbiIpLFY9IlN5bWJvbCIsSD1CKCJ0b1ByaW1pdGl2ZSIpLEs9cS5zZXQsWT1xLmdldHRlckZvcihWKSxaPU9iamVjdC5wcm90b3R5cGUsSj1vLlN5bWJvbCxYPUomJkoucHJvdG90eXBlLFE9by5UeXBlRXJyb3IsdHQ9by5RT2JqZWN0LG50PWkoIkpTT04iLCJzdHJpbmdpZnkiKSxydD1rLmYsZXQ9TC5mLG90PVIuZixpdD1ULmYsdXQ9YyhbXS5wdXNoKSxhdD1OKCJzeW1ib2xzIiksY3Q9Tigib3Atc3ltYm9scyIpLGZ0PU4oInN0cmluZy10by1zeW1ib2wtcmVnaXN0cnkiKSxzdD1OKCJzeW1ib2wtdG8tc3RyaW5nLXJlZ2lzdHJ5IiksbHQ9Tigid2tzIiksaHQ9IXR0fHwhdHQucHJvdG90eXBlfHwhdHQucHJvdG90eXBlLmZpbmRDaGlsZCxwdD1zJiZoKChmdW5jdGlvbigpe3JldHVybiA3IT1TKGV0KHt9LCJhIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV0KHRoaXMsImEiLHt2YWx1ZTo3fSkuYX19KSkuYX0pKT9mdW5jdGlvbih0LG4scil7dmFyIGU9cnQoWixuKTtlJiZkZWxldGUgWltuXSxldCh0LG4sciksZSYmdCE9PVomJmV0KFosbixlKX06ZXQsdnQ9ZnVuY3Rpb24odCxuKXt2YXIgcj1hdFt0XT1TKFgpO3JldHVybiBLKHIse3R5cGU6Vix0YWc6dCxkZXNjcmlwdGlvbjpufSksc3x8KHIuZGVzY3JpcHRpb249bikscn0sZ3Q9ZnVuY3Rpb24odCxuLHIpe3Q9PT1aJiZndChjdCxuLHIpLGIodCk7dmFyIGU9dyhuKTtyZXR1cm4gYihyKSxwKGF0LGUpPyhyLmVudW1lcmFibGU/KHAodCxHKSYmdFtHXVtlXSYmKHRbR11bZV09ITEpLHI9UyhyLHtlbnVtZXJhYmxlOkUoMCwhMSl9KSk6KHAodCxHKXx8ZXQodCxHLEUoMSx7fSkpLHRbR11bZV09ITApLHB0KHQsZSxyKSk6ZXQodCxlLHIpfSxkdD1mdW5jdGlvbih0LG4pe2IodCk7dmFyIHI9eChuKSxlPUEocikuY29uY2F0KG10KHIpKTtyZXR1cm4gJChlLChmdW5jdGlvbihuKXtzJiYhYSh5dCxyLG4pfHxndCh0LG4scltuXSl9KSksdH0seXQ9ZnVuY3Rpb24odCl7dmFyIG49dyh0KSxyPWEoaXQsdGhpcyxuKTtyZXR1cm4hKHRoaXM9PT1aJiZwKGF0LG4pJiYhcChjdCxuKSkmJighKHJ8fCFwKHRoaXMsbil8fCFwKGF0LG4pfHxwKHRoaXMsRykmJnRoaXNbR11bbl0pfHxyKX0sX3Q9ZnVuY3Rpb24odCxuKXt2YXIgcj14KHQpLGU9dyhuKTtpZihyIT09Wnx8IXAoYXQsZSl8fHAoY3QsZSkpe3ZhciBvPXJ0KHIsZSk7cmV0dXJuIW98fCFwKGF0LGUpfHxwKHIsRykmJnJbR11bZV18fChvLmVudW1lcmFibGU9ITApLG99fSxidD1mdW5jdGlvbih0KXt2YXIgbj1vdCh4KHQpKSxyPVtdO3JldHVybiAkKG4sKGZ1bmN0aW9uKHQpe3AoYXQsdCl8fHAoQyx0KXx8dXQocix0KX0pKSxyfSxtdD1mdW5jdGlvbih0KXt2YXIgbj10PT09WixyPW90KG4/Y3Q6eCh0KSksZT1bXTtyZXR1cm4gJChyLChmdW5jdGlvbih0KXshcChhdCx0KXx8biYmIXAoWix0KXx8dXQoZSxhdFt0XSl9KSksZX07KGx8fChKPWZ1bmN0aW9uKCl7aWYoeShYLHRoaXMpKXRocm93IFEoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO3ZhciB0PWFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9PKGFyZ3VtZW50c1swXSk6dm9pZCAwLG49Rih0KSxyPWZ1bmN0aW9uKHQpe3RoaXM9PT1aJiZhKHIsY3QsdCkscCh0aGlzLEcpJiZwKHRoaXNbR10sbikmJih0aGlzW0ddW25dPSExKSxwdCh0aGlzLG4sRSgxLHQpKX07cmV0dXJuIHMmJmh0JiZwdChaLG4se2NvbmZpZ3VyYWJsZTohMCxzZXQ6cn0pLHZ0KG4sdCl9LE0oWD1KLnByb3RvdHlwZSwidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBZKHRoaXMpLnRhZ30pKSxNKEosIndpdGhvdXRTZXR0ZXIiLChmdW5jdGlvbih0KXtyZXR1cm4gdnQoRih0KSx0KX0pKSxULmY9eXQsTC5mPWd0LGsuZj1fdCxqLmY9Ui5mPWJ0LEkuZj1tdCx6LmY9ZnVuY3Rpb24odCl7cmV0dXJuIHZ0KEIodCksdCl9LHMmJihldChYLCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWSh0aGlzKS5kZXNjcmlwdGlvbn19KSxmfHxNKFosInByb3BlcnR5SXNFbnVtZXJhYmxlIix5dCx7dW5zYWZlOiEwfSkpKSxlKHtnbG9iYWw6ITAsd3JhcDohMCxmb3JjZWQ6IWwsc2hhbTohbH0se1N5bWJvbDpKfSksJChBKGx0KSwoZnVuY3Rpb24odCl7Vyh0KX0pKSxlKHt0YXJnZXQ6VixzdGF0OiEwLGZvcmNlZDohbH0se2ZvcjpmdW5jdGlvbih0KXt2YXIgbj1PKHQpO2lmKHAoZnQsbikpcmV0dXJuIGZ0W25dO3ZhciByPUoobik7cmV0dXJuIGZ0W25dPXIsc3Rbcl09bixyfSxrZXlGb3I6ZnVuY3Rpb24odCl7aWYoIV8odCkpdGhyb3cgUSh0KyIgaXMgbm90IGEgc3ltYm9sIik7aWYocChzdCx0KSlyZXR1cm4gc3RbdF19LHVzZVNldHRlcjpmdW5jdGlvbigpe2h0PSEwfSx1c2VTaW1wbGU6ZnVuY3Rpb24oKXtodD0hMX19KSxlKHt0YXJnZXQ6Ik9iamVjdCIsc3RhdDohMCxmb3JjZWQ6IWwsc2hhbTohc30se2NyZWF0ZTpmdW5jdGlvbih0LG4pe3JldHVybiB2b2lkIDA9PT1uP1ModCk6ZHQoUyh0KSxuKX0sZGVmaW5lUHJvcGVydHk6Z3QsZGVmaW5lUHJvcGVydGllczpkdCxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6X3R9KSxlKHt0YXJnZXQ6Ik9iamVjdCIsc3RhdDohMCxmb3JjZWQ6IWx9LHtnZXRPd25Qcm9wZXJ0eU5hbWVzOmJ0LGdldE93blByb3BlcnR5U3ltYm9sczptdH0pLGUoe3RhcmdldDoiT2JqZWN0IixzdGF0OiEwLGZvcmNlZDpoKChmdW5jdGlvbigpe0kuZigxKX0pKX0se2dldE93blByb3BlcnR5U3ltYm9sczpmdW5jdGlvbih0KXtyZXR1cm4gSS5mKG0odCkpfX0pLG50KSYmZSh7dGFyZ2V0OiJKU09OIixzdGF0OiEwLGZvcmNlZDohbHx8aCgoZnVuY3Rpb24oKXt2YXIgdD1KKCk7cmV0dXJuIltudWxsXSIhPW50KFt0XSl8fCJ7fSIhPW50KHthOnR9KXx8Int9IiE9bnQoT2JqZWN0KHQpKX0pKX0se3N0cmluZ2lmeTpmdW5jdGlvbih0LG4scil7dmFyIGU9UChhcmd1bWVudHMpLG89bjtpZigoZChuKXx8dm9pZCAwIT09dCkmJiFfKHQpKXJldHVybiB2KG4pfHwobj1mdW5jdGlvbih0LG4pe2lmKGcobykmJihuPWEobyx0aGlzLHQsbikpLCFfKG4pKXJldHVybiBufSksZVsxXT1uLHUobnQsbnVsbCxlKX19KTtpZighWFtIXSl7dmFyIHh0PVgudmFsdWVPZjtNKFgsSCwoZnVuY3Rpb24odCl7cmV0dXJuIGEoeHQsdGhpcyl9KSl9RChKLFYpLENbR109ITB9LDU0NzQ3OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoNDgzMjQpLGk9cig5ODUwOSksdT1yKDE4NTMzKSxhPXIoNjg4ODApLGM9ZnVuY3Rpb24odCl7aWYodCYmdC5mb3JFYWNoIT09dSl0cnl7YSh0LCJmb3JFYWNoIix1KX1jYXRjaChuKXt0LmZvckVhY2g9dX19O2Zvcih2YXIgZiBpbiBvKW9bZl0mJmMoZVtmXSYmZVtmXS5wcm90b3R5cGUpO2MoaSl9LDMzOTQ4OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDE3ODU0KSxvPXIoNDgzMjQpLGk9cig5ODUwOSksdT1yKDY2OTkyKSxhPXIoNjg4ODApLGM9cig1MTEyKSxmPWMoIml0ZXJhdG9yIikscz1jKCJ0b1N0cmluZ1RhZyIpLGw9dS52YWx1ZXMsaD1mdW5jdGlvbih0LG4pe2lmKHQpe2lmKHRbZl0hPT1sKXRyeXthKHQsZixsKX1jYXRjaChuKXt0W2ZdPWx9aWYodFtzXXx8YSh0LHMsbiksb1tuXSlmb3IodmFyIHIgaW4gdSlpZih0W3JdIT09dVtyXSl0cnl7YSh0LHIsdVtyXSl9Y2F0Y2gobil7dFtyXT11W3JdfX19O2Zvcih2YXIgcCBpbiBvKWgoZVtwXSYmZVtwXS5wcm90b3R5cGUscCk7aChpLCJET01Ub2tlbkxpc3QiKX0sNDE2Mzc6ZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtyKDY2OTkyKTt2YXIgZT1yKDgyMTA5KSxvPXIoMTc4NTQpLGk9cigzNTAwNSksdT1yKDQ2OTE2KSxhPXIoMTcwMiksYz1yKDU5MCksZj1yKDMxMzIwKSxzPXIoMTIyNDgpLGw9cig1ODAwMyksaD1yKDI0OTk0KSxwPXIoMjk5MDkpLHY9cigyNTc4NyksZz1yKDYwNjE0KSxkPXIoOTI1OTcpLHk9cig0OTk3NCksXz1yKDcwNjQ4KSxiPXIoMTk2NzApLG09cig3MDExMSkseD1yKDQxMzQwKSx3PXIoNzAwMzApLE89cig3OTExNCksRT1yKDE4NTU0KSxTPXIoNzEyNDYpLEE9cig1MTEyKSxqPXIoOTQzNjIpLFI9QSgiaXRlcmF0b3IiKSxJPSJVUkxTZWFyY2hQYXJhbXMiLGs9IlVSTFNlYXJjaFBhcmFtc0l0ZXJhdG9yIixMPXAuc2V0LFQ9cC5nZXR0ZXJGb3IoSSksUD1wLmdldHRlckZvcihrKSxNPWkoImZldGNoIiksTj1pKCJSZXF1ZXN0IiksVT1pKCJIZWFkZXJzIiksQz1OJiZOLnByb3RvdHlwZSxGPVUmJlUucHJvdG90eXBlLEI9by5SZWdFeHAsej1vLlR5cGVFcnJvcixXPW8uZGVjb2RlVVJJQ29tcG9uZW50LEQ9by5lbmNvZGVVUklDb21wb25lbnQscT1hKCIiLmNoYXJBdCksJD1hKFtdLmpvaW4pLEc9YShbXS5wdXNoKSxWPWEoIiIucmVwbGFjZSksSD1hKFtdLnNoaWZ0KSxLPWEoW10uc3BsaWNlKSxZPWEoIiIuc3BsaXQpLFo9YSgiIi5zbGljZSksSj0vXCsvZyxYPUFycmF5KDQpLFE9ZnVuY3Rpb24odCl7cmV0dXJuIFhbdC0xXXx8KFhbdC0xXT1CKCIoKD86JVtcXGRhLWZdezJ9KXsiK3QrIn0pIiwiZ2kiKSl9LHR0PWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gVyh0KX1jYXRjaChuKXtyZXR1cm4gdH19LG50PWZ1bmN0aW9uKHQpe3ZhciBuPVYodCxKLCIgIikscj00O3RyeXtyZXR1cm4gVyhuKX1jYXRjaCh0KXtmb3IoO3I7KW49VihuLFEoci0tKSx0dCk7cmV0dXJuIG59fSxydD0vWyEnKCl+XXwlMjAvZyxldD17IiEiOiIlMjEiLCInIjoiJTI3IiwiKCI6IiUyOCIsIikiOiIlMjkiLCJ+IjoiJTdFIiwiJTIwIjoiKyJ9LG90PWZ1bmN0aW9uKHQpe3JldHVybiBldFt0XX0saXQ9ZnVuY3Rpb24odCl7cmV0dXJuIFYoRCh0KSxydCxvdCl9LHV0PWZ1bmN0aW9uKHQsbil7aWYobilmb3IodmFyIHIsZSxvPVkobiwiJiIpLGk9MDtpPG8ubGVuZ3RoOykocj1vW2krK10pLmxlbmd0aCYmKGU9WShyLCI9IiksRyh0LHtrZXk6bnQoSChlKSksdmFsdWU6bnQoJChlLCI9IikpfSkpfSxhdD1mdW5jdGlvbih0KXt0aGlzLmVudHJpZXMubGVuZ3RoPTAsdXQodGhpcy5lbnRyaWVzLHQpfSxjdD1mdW5jdGlvbih0LG4pe2lmKHQ8bil0aHJvdyB6KCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpfSxmdD1oKChmdW5jdGlvbih0LG4pe0wodGhpcyx7dHlwZTprLGl0ZXJhdG9yOkUoVCh0KS5lbnRyaWVzKSxraW5kOm59KX0pLCJJdGVyYXRvciIsKGZ1bmN0aW9uKCl7dmFyIHQ9UCh0aGlzKSxuPXQua2luZCxyPXQuaXRlcmF0b3IubmV4dCgpLGU9ci52YWx1ZTtyZXR1cm4gci5kb25lfHwoci52YWx1ZT0ia2V5cyI9PT1uP2Uua2V5OiJ2YWx1ZXMiPT09bj9lLnZhbHVlOltlLmtleSxlLnZhbHVlXSkscn0pKSxzdD1mdW5jdGlvbigpe3YodGhpcyxsdCk7dmFyIHQsbixyLGUsbyxpLGEsYyxmLHM9YXJndW1lbnRzLmxlbmd0aD4wP2FyZ3VtZW50c1swXTp2b2lkIDAsbD10aGlzLGg9W107aWYoTChsLHt0eXBlOkksZW50cmllczpoLHVwZGF0ZVVSTDpmdW5jdGlvbigpe30sdXBkYXRlU2VhcmNoUGFyYW1zOmF0fSksdm9pZCAwIT09cylpZihtKHMpKWlmKHQ9UyhzKSlmb3Iocj0obj1FKHMsdCkpLm5leHQ7IShlPXUocixuKSkuZG9uZTspe2lmKGk9KG89RShiKGUudmFsdWUpKSkubmV4dCwoYT11KGksbykpLmRvbmV8fChjPXUoaSxvKSkuZG9uZXx8IXUoaSxvKS5kb25lKXRocm93IHooIkV4cGVjdGVkIHNlcXVlbmNlIHdpdGggbGVuZ3RoIDIiKTtHKGgse2tleTp4KGEudmFsdWUpLHZhbHVlOngoYy52YWx1ZSl9KX1lbHNlIGZvcihmIGluIHMpZChzLGYpJiZHKGgse2tleTpmLHZhbHVlOngoc1tmXSl9KTtlbHNlIHV0KGgsInN0cmluZyI9PXR5cGVvZiBzPyI/Ij09PXEocywwKT9aKHMsMSk6czp4KHMpKX0sbHQ9c3QucHJvdG90eXBlO2lmKHMobHQse2FwcGVuZDpmdW5jdGlvbih0LG4pe2N0KGFyZ3VtZW50cy5sZW5ndGgsMik7dmFyIHI9VCh0aGlzKTtHKHIuZW50cmllcyx7a2V5OngodCksdmFsdWU6eChuKX0pLHIudXBkYXRlVVJMKCl9LGRlbGV0ZTpmdW5jdGlvbih0KXtjdChhcmd1bWVudHMubGVuZ3RoLDEpO2Zvcih2YXIgbj1UKHRoaXMpLHI9bi5lbnRyaWVzLGU9eCh0KSxvPTA7bzxyLmxlbmd0aDspcltvXS5rZXk9PT1lP0socixvLDEpOm8rKztuLnVwZGF0ZVVSTCgpfSxnZXQ6ZnVuY3Rpb24odCl7Y3QoYXJndW1lbnRzLmxlbmd0aCwxKTtmb3IodmFyIG49VCh0aGlzKS5lbnRyaWVzLHI9eCh0KSxlPTA7ZTxuLmxlbmd0aDtlKyspaWYobltlXS5rZXk9PT1yKXJldHVybiBuW2VdLnZhbHVlO3JldHVybiBudWxsfSxnZXRBbGw6ZnVuY3Rpb24odCl7Y3QoYXJndW1lbnRzLmxlbmd0aCwxKTtmb3IodmFyIG49VCh0aGlzKS5lbnRyaWVzLHI9eCh0KSxlPVtdLG89MDtvPG4ubGVuZ3RoO28rKyluW29dLmtleT09PXImJkcoZSxuW29dLnZhbHVlKTtyZXR1cm4gZX0saGFzOmZ1bmN0aW9uKHQpe2N0KGFyZ3VtZW50cy5sZW5ndGgsMSk7Zm9yKHZhciBuPVQodGhpcykuZW50cmllcyxyPXgodCksZT0wO2U8bi5sZW5ndGg7KWlmKG5bZSsrXS5rZXk9PT1yKXJldHVybiEwO3JldHVybiExfSxzZXQ6ZnVuY3Rpb24odCxuKXtjdChhcmd1bWVudHMubGVuZ3RoLDEpO2Zvcih2YXIgcixlPVQodGhpcyksbz1lLmVudHJpZXMsaT0hMSx1PXgodCksYT14KG4pLGM9MDtjPG8ubGVuZ3RoO2MrKykocj1vW2NdKS5rZXk9PT11JiYoaT9LKG8sYy0tLDEpOihpPSEwLHIudmFsdWU9YSkpO2l8fEcobyx7a2V5OnUsdmFsdWU6YX0pLGUudXBkYXRlVVJMKCl9LHNvcnQ6ZnVuY3Rpb24oKXt2YXIgdD1UKHRoaXMpO2oodC5lbnRyaWVzLChmdW5jdGlvbih0LG4pe3JldHVybiB0LmtleT5uLmtleT8xOi0xfSkpLHQudXBkYXRlVVJMKCl9LGZvckVhY2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBuLHI9VCh0aGlzKS5lbnRyaWVzLGU9eSh0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKSxvPTA7bzxyLmxlbmd0aDspZSgobj1yW28rK10pLnZhbHVlLG4ua2V5LHRoaXMpfSxrZXlzOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBmdCh0aGlzLCJrZXlzIil9LHZhbHVlczpmdW5jdGlvbigpe3JldHVybiBuZXcgZnQodGhpcywidmFsdWVzIil9LGVudHJpZXM6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGZ0KHRoaXMsImVudHJpZXMiKX19LHtlbnVtZXJhYmxlOiEwfSksZihsdCxSLGx0LmVudHJpZXMse25hbWU6ImVudHJpZXMifSksZihsdCwidG9TdHJpbmciLChmdW5jdGlvbigpe2Zvcih2YXIgdCxuPVQodGhpcykuZW50cmllcyxyPVtdLGU9MDtlPG4ubGVuZ3RoOyl0PW5bZSsrXSxHKHIsaXQodC5rZXkpKyI9IitpdCh0LnZhbHVlKSk7cmV0dXJuICQociwiJiIpfSkse2VudW1lcmFibGU6ITB9KSxsKHN0LEkpLGUoe2dsb2JhbDohMCxmb3JjZWQ6IWN9LHtVUkxTZWFyY2hQYXJhbXM6c3R9KSwhYyYmZyhVKSl7dmFyIGh0PWEoRi5oYXMpLHB0PWEoRi5zZXQpLHZ0PWZ1bmN0aW9uKHQpe2lmKG0odCkpe3ZhciBuLHI9dC5ib2R5O2lmKF8ocik9PT1JKXJldHVybiBuPXQuaGVhZGVycz9uZXcgVSh0LmhlYWRlcnMpOm5ldyBVLGh0KG4sImNvbnRlbnQtdHlwZSIpfHxwdChuLCJjb250ZW50LXR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD1VVEYtOCIpLHcodCx7Ym9keTpPKDAseChyKSksaGVhZGVyczpPKDAsbil9KX1yZXR1cm4gdH07aWYoZyhNKSYmZSh7Z2xvYmFsOiEwLGVudW1lcmFibGU6ITAsZm9yY2VkOiEwfSx7ZmV0Y2g6ZnVuY3Rpb24odCl7cmV0dXJuIE0odCxhcmd1bWVudHMubGVuZ3RoPjE/dnQoYXJndW1lbnRzWzFdKTp7fSl9fSksZyhOKSl7dmFyIGd0PWZ1bmN0aW9uKHQpe3JldHVybiB2KHRoaXMsQyksbmV3IE4odCxhcmd1bWVudHMubGVuZ3RoPjE/dnQoYXJndW1lbnRzWzFdKTp7fSl9O0MuY29uc3RydWN0b3I9Z3QsZ3QucHJvdG90eXBlPUMsZSh7Z2xvYmFsOiEwLGZvcmNlZDohMH0se1JlcXVlc3Q6Z3R9KX19dC5leHBvcnRzPXtVUkxTZWFyY2hQYXJhbXM6c3QsZ2V0U3RhdGU6VH19LDYwMjg1OmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7cig3ODc4Myk7dmFyIGUsbz1yKDgyMTA5KSxpPXIoMTk3ODEpLHU9cig1OTApLGE9cigxNzg1NCksYz1yKDQ5OTc0KSxmPXIoNDY5MTYpLHM9cigxNzAyKSxsPXIoMzYwNDgpLGg9cigzMTMyMCkscD1yKDI1Nzg3KSx2PXIoOTI1OTcpLGc9cigyMTU3NCksZD1yKDQ4NDU3KSx5PXIoNTAyMDYpLF89cigyODcxMCkuY29kZUF0LGI9cigzMzE5NyksbT1yKDQxMzQwKSx4PXIoNTgwMDMpLHc9cig0MTYzNyksTz1yKDI5OTA5KSxFPU8uc2V0LFM9Ty5nZXR0ZXJGb3IoIlVSTCIpLEE9dy5VUkxTZWFyY2hQYXJhbXMsaj13LmdldFN0YXRlLFI9YS5VUkwsST1hLlR5cGVFcnJvcixrPWEucGFyc2VJbnQsTD1NYXRoLmZsb29yLFQ9TWF0aC5wb3csUD1zKCIiLmNoYXJBdCksTT1zKC8uLy5leGVjKSxOPXMoW10uam9pbiksVT1zKDEuLnRvU3RyaW5nKSxDPXMoW10ucG9wKSxGPXMoW10ucHVzaCksQj1zKCIiLnJlcGxhY2UpLHo9cyhbXS5zaGlmdCksVz1zKCIiLnNwbGl0KSxEPXMoIiIuc2xpY2UpLHE9cygiIi50b0xvd2VyQ2FzZSksJD1zKFtdLnVuc2hpZnQpLEc9IkludmFsaWQgc2NoZW1lIixWPSJJbnZhbGlkIGhvc3QiLEg9IkludmFsaWQgcG9ydCIsSz0vW2Etel0vaSxZPS9bXGQrLS5hLXpdL2ksWj0vXGQvLEo9L14weC9pLFg9L15bMC03XSskLyxRPS9eXGQrJC8sdHQ9L15bXGRhLWZdKyQvaSxudD0vW1wwXHRcblxyICMlLzo8Pj9AW1xcXF1efF0vLHJ0PS9bXDBcdFxuXHIgIy86PD4/QFtcXFxdXnxdLyxldD0vXltcdTAwMDAtXHUwMDIwXSt8W1x1MDAwMC1cdTAwMjBdKyQvZyxvdD0vW1x0XG5ccl0vZyxpdD1mdW5jdGlvbih0LG4pe3ZhciByLGUsbztpZigiWyI9PVAobiwwKSl7aWYoIl0iIT1QKG4sbi5sZW5ndGgtMSkpcmV0dXJuIFY7aWYoIShyPWF0KEQobiwxLC0xKSkpKXJldHVybiBWO3QuaG9zdD1yfWVsc2UgaWYoZ3QodCkpe2lmKG49YihuKSxNKG50LG4pKXJldHVybiBWO2lmKG51bGw9PT0ocj11dChuKSkpcmV0dXJuIFY7dC5ob3N0PXJ9ZWxzZXtpZihNKHJ0LG4pKXJldHVybiBWO2ZvcihyPSIiLGU9ZChuKSxvPTA7bzxlLmxlbmd0aDtvKyspcis9cHQoZVtvXSxmdCk7dC5ob3N0PXJ9fSx1dD1mdW5jdGlvbih0KXt2YXIgbixyLGUsbyxpLHUsYSxjPVcodCwiLiIpO2lmKGMubGVuZ3RoJiYiIj09Y1tjLmxlbmd0aC0xXSYmYy5sZW5ndGgtLSwobj1jLmxlbmd0aCk+NClyZXR1cm4gdDtmb3Iocj1bXSxlPTA7ZTxuO2UrKyl7aWYoIiI9PShvPWNbZV0pKXJldHVybiB0O2lmKGk9MTAsby5sZW5ndGg+MSYmIjAiPT1QKG8sMCkmJihpPU0oSixvKT8xNjo4LG89RChvLDg9PWk/MToyKSksIiI9PT1vKXU9MDtlbHNle2lmKCFNKDEwPT1pP1E6OD09aT9YOnR0LG8pKXJldHVybiB0O3U9ayhvLGkpfUYocix1KX1mb3IoZT0wO2U8bjtlKyspaWYodT1yW2VdLGU9PW4tMSl7aWYodT49VCgyNTYsNS1uKSlyZXR1cm4gbnVsbH1lbHNlIGlmKHU+MjU1KXJldHVybiBudWxsO2ZvcihhPUMociksZT0wO2U8ci5sZW5ndGg7ZSsrKWErPXJbZV0qVCgyNTYsMy1lKTtyZXR1cm4gYX0sYXQ9ZnVuY3Rpb24odCl7dmFyIG4scixlLG8saSx1LGEsYz1bMCwwLDAsMCwwLDAsMCwwXSxmPTAscz1udWxsLGw9MCxoPWZ1bmN0aW9uKCl7cmV0dXJuIFAodCxsKX07aWYoIjoiPT1oKCkpe2lmKCI6IiE9UCh0LDEpKXJldHVybjtsKz0yLHM9KytmfWZvcig7aCgpOyl7aWYoOD09ZilyZXR1cm47aWYoIjoiIT1oKCkpe2ZvcihuPXI9MDtyPDQmJk0odHQsaCgpKTspbj0xNipuK2soaCgpLDE2KSxsKysscisrO2lmKCIuIj09aCgpKXtpZigwPT1yKXJldHVybjtpZihsLT1yLGY+NilyZXR1cm47Zm9yKGU9MDtoKCk7KXtpZihvPW51bGwsZT4wKXtpZighKCIuIj09aCgpJiZlPDQpKXJldHVybjtsKyt9aWYoIU0oWixoKCkpKXJldHVybjtmb3IoO00oWixoKCkpOyl7aWYoaT1rKGgoKSwxMCksbnVsbD09PW8pbz1pO2Vsc2V7aWYoMD09bylyZXR1cm47bz0xMCpvK2l9aWYobz4yNTUpcmV0dXJuO2wrK31jW2ZdPTI1NipjW2ZdK28sMiE9KytlJiY0IT1lfHxmKyt9aWYoNCE9ZSlyZXR1cm47YnJlYWt9aWYoIjoiPT1oKCkpe2lmKGwrKywhaCgpKXJldHVybn1lbHNlIGlmKGgoKSlyZXR1cm47Y1tmKytdPW59ZWxzZXtpZihudWxsIT09cylyZXR1cm47bCsrLHM9KytmfX1pZihudWxsIT09cylmb3IodT1mLXMsZj03OzAhPWYmJnU+MDspYT1jW2ZdLGNbZi0tXT1jW3MrdS0xXSxjW3MrLS11XT1hO2Vsc2UgaWYoOCE9ZilyZXR1cm47cmV0dXJuIGN9LGN0PWZ1bmN0aW9uKHQpe3ZhciBuLHIsZSxvO2lmKCJudW1iZXIiPT10eXBlb2YgdCl7Zm9yKG49W10scj0wO3I8NDtyKyspJChuLHQlMjU2KSx0PUwodC8yNTYpO3JldHVybiBOKG4sIi4iKX1pZigib2JqZWN0Ij09dHlwZW9mIHQpe2ZvcihuPSIiLGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBuPW51bGwscj0xLGU9bnVsbCxvPTAsaT0wO2k8ODtpKyspMCE9PXRbaV0/KG8+ciYmKG49ZSxyPW8pLGU9bnVsbCxvPTApOihudWxsPT09ZSYmKGU9aSksKytvKTtyZXR1cm4gbz5yJiYobj1lLHI9byksbn0odCkscj0wO3I8ODtyKyspbyYmMD09PXRbcl18fChvJiYobz0hMSksZT09PXI/KG4rPXI/IjoiOiI6OiIsbz0hMCk6KG4rPVUodFtyXSwxNikscjw3JiYobis9IjoiKSkpO3JldHVybiJbIituKyJdIn1yZXR1cm4gdH0sZnQ9e30sc3Q9Zyh7fSxmdCx7IiAiOjEsJyInOjEsIjwiOjEsIj4iOjEsImAiOjF9KSxsdD1nKHt9LHN0LHsiIyI6MSwiPyI6MSwieyI6MSwifSI6MX0pLGh0PWcoe30sbHQseyIvIjoxLCI6IjoxLCI7IjoxLCI9IjoxLCJAIjoxLCJbIjoxLCJcXCI6MSwiXSI6MSwiXiI6MSwifCI6MX0pLHB0PWZ1bmN0aW9uKHQsbil7dmFyIHI9Xyh0LDApO3JldHVybiByPjMyJiZyPDEyNyYmIXYobix0KT90OmVuY29kZVVSSUNvbXBvbmVudCh0KX0sdnQ9e2Z0cDoyMSxmaWxlOm51bGwsaHR0cDo4MCxodHRwczo0NDMsd3M6ODAsd3NzOjQ0M30sZ3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHYodnQsdC5zY2hlbWUpfSxkdD1mdW5jdGlvbih0KXtyZXR1cm4iIiE9dC51c2VybmFtZXx8IiIhPXQucGFzc3dvcmR9LHl0PWZ1bmN0aW9uKHQpe3JldHVybiF0Lmhvc3R8fHQuY2Fubm90QmVBQmFzZVVSTHx8ImZpbGUiPT10LnNjaGVtZX0sX3Q9ZnVuY3Rpb24odCxuKXt2YXIgcjtyZXR1cm4gMj09dC5sZW5ndGgmJk0oSyxQKHQsMCkpJiYoIjoiPT0ocj1QKHQsMSkpfHwhbiYmInwiPT1yKX0sYnQ9ZnVuY3Rpb24odCl7dmFyIG47cmV0dXJuIHQubGVuZ3RoPjEmJl90KEQodCwwLDIpKSYmKDI9PXQubGVuZ3RofHwiLyI9PT0obj1QKHQsMikpfHwiXFwiPT09bnx8Ij8iPT09bnx8IiMiPT09bil9LG10PWZ1bmN0aW9uKHQpe3ZhciBuPXQucGF0aCxyPW4ubGVuZ3RoOyFyfHwiZmlsZSI9PXQuc2NoZW1lJiYxPT1yJiZfdChuWzBdLCEwKXx8bi5sZW5ndGgtLX0seHQ9ZnVuY3Rpb24odCl7cmV0dXJuIi4iPT09dHx8IiUyZSI9PT1xKHQpfSx3dD17fSxPdD17fSxFdD17fSxTdD17fSxBdD17fSxqdD17fSxSdD17fSxJdD17fSxrdD17fSxMdD17fSxUdD17fSxQdD17fSxNdD17fSxOdD17fSxVdD17fSxDdD17fSxGdD17fSxCdD17fSx6dD17fSxXdD17fSxEdD17fSxxdD1mdW5jdGlvbih0LG4scixvKXt2YXIgaSx1LGEsYyxmLHM9cnx8d3QsbD0wLGg9IiIscD0hMSxnPSExLF89ITE7Zm9yKHJ8fCh0LnNjaGVtZT0iIix0LnVzZXJuYW1lPSIiLHQucGFzc3dvcmQ9IiIsdC5ob3N0PW51bGwsdC5wb3J0PW51bGwsdC5wYXRoPVtdLHQucXVlcnk9bnVsbCx0LmZyYWdtZW50PW51bGwsdC5jYW5ub3RCZUFCYXNlVVJMPSExLG49QihuLGV0LCIiKSksbj1CKG4sb3QsIiIpLGk9ZChuKTtsPD1pLmxlbmd0aDspe3N3aXRjaCh1PWlbbF0scyl7Y2FzZSB3dDppZighdXx8IU0oSyx1KSl7aWYocilyZXR1cm4gRztzPUV0O2NvbnRpbnVlfWgrPXEodSkscz1PdDticmVhaztjYXNlIE90OmlmKHUmJihNKFksdSl8fCIrIj09dXx8Ii0iPT11fHwiLiI9PXUpKWgrPXEodSk7ZWxzZXtpZigiOiIhPXUpe2lmKHIpcmV0dXJuIEc7aD0iIixzPUV0LGw9MDtjb250aW51ZX1pZihyJiYoZ3QodCkhPXYodnQsaCl8fCJmaWxlIj09aCYmKGR0KHQpfHxudWxsIT09dC5wb3J0KXx8ImZpbGUiPT10LnNjaGVtZSYmIXQuaG9zdCkpcmV0dXJuO2lmKHQuc2NoZW1lPWgscilyZXR1cm4gdm9pZChndCh0KSYmdnRbdC5zY2hlbWVdPT10LnBvcnQmJih0LnBvcnQ9bnVsbCkpO2g9IiIsImZpbGUiPT10LnNjaGVtZT9zPU50Omd0KHQpJiZvJiZvLnNjaGVtZT09dC5zY2hlbWU/cz1TdDpndCh0KT9zPUl0OiIvIj09aVtsKzFdPyhzPUF0LGwrKyk6KHQuY2Fubm90QmVBQmFzZVVSTD0hMCxGKHQucGF0aCwiIikscz16dCl9YnJlYWs7Y2FzZSBFdDppZighb3x8by5jYW5ub3RCZUFCYXNlVVJMJiYiIyIhPXUpcmV0dXJuIEc7aWYoby5jYW5ub3RCZUFCYXNlVVJMJiYiIyI9PXUpe3Quc2NoZW1lPW8uc2NoZW1lLHQucGF0aD15KG8ucGF0aCksdC5xdWVyeT1vLnF1ZXJ5LHQuZnJhZ21lbnQ9IiIsdC5jYW5ub3RCZUFCYXNlVVJMPSEwLHM9RHQ7YnJlYWt9cz0iZmlsZSI9PW8uc2NoZW1lP050Omp0O2NvbnRpbnVlO2Nhc2UgU3Q6aWYoIi8iIT11fHwiLyIhPWlbbCsxXSl7cz1qdDtjb250aW51ZX1zPWt0LGwrKzticmVhaztjYXNlIEF0OmlmKCIvIj09dSl7cz1MdDticmVha31zPUJ0O2NvbnRpbnVlO2Nhc2UganQ6aWYodC5zY2hlbWU9by5zY2hlbWUsdT09ZSl0LnVzZXJuYW1lPW8udXNlcm5hbWUsdC5wYXNzd29yZD1vLnBhc3N3b3JkLHQuaG9zdD1vLmhvc3QsdC5wb3J0PW8ucG9ydCx0LnBhdGg9eShvLnBhdGgpLHQucXVlcnk9by5xdWVyeTtlbHNlIGlmKCIvIj09dXx8IlxcIj09dSYmZ3QodCkpcz1SdDtlbHNlIGlmKCI/Ij09dSl0LnVzZXJuYW1lPW8udXNlcm5hbWUsdC5wYXNzd29yZD1vLnBhc3N3b3JkLHQuaG9zdD1vLmhvc3QsdC5wb3J0PW8ucG9ydCx0LnBhdGg9eShvLnBhdGgpLHQucXVlcnk9IiIscz1XdDtlbHNle2lmKCIjIiE9dSl7dC51c2VybmFtZT1vLnVzZXJuYW1lLHQucGFzc3dvcmQ9by5wYXNzd29yZCx0Lmhvc3Q9by5ob3N0LHQucG9ydD1vLnBvcnQsdC5wYXRoPXkoby5wYXRoKSx0LnBhdGgubGVuZ3RoLS0scz1CdDtjb250aW51ZX10LnVzZXJuYW1lPW8udXNlcm5hbWUsdC5wYXNzd29yZD1vLnBhc3N3b3JkLHQuaG9zdD1vLmhvc3QsdC5wb3J0PW8ucG9ydCx0LnBhdGg9eShvLnBhdGgpLHQucXVlcnk9by5xdWVyeSx0LmZyYWdtZW50PSIiLHM9RHR9YnJlYWs7Y2FzZSBSdDppZighZ3QodCl8fCIvIiE9dSYmIlxcIiE9dSl7aWYoIi8iIT11KXt0LnVzZXJuYW1lPW8udXNlcm5hbWUsdC5wYXNzd29yZD1vLnBhc3N3b3JkLHQuaG9zdD1vLmhvc3QsdC5wb3J0PW8ucG9ydCxzPUJ0O2NvbnRpbnVlfXM9THR9ZWxzZSBzPWt0O2JyZWFrO2Nhc2UgSXQ6aWYocz1rdCwiLyIhPXV8fCIvIiE9UChoLGwrMSkpY29udGludWU7bCsrO2JyZWFrO2Nhc2Uga3Q6aWYoIi8iIT11JiYiXFwiIT11KXtzPUx0O2NvbnRpbnVlfWJyZWFrO2Nhc2UgTHQ6aWYoIkAiPT11KXtwJiYoaD0iJTQwIitoKSxwPSEwLGE9ZChoKTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIG09YVtiXTtpZigiOiIhPW18fF8pe3ZhciB4PXB0KG0saHQpO18/dC5wYXNzd29yZCs9eDp0LnVzZXJuYW1lKz14fWVsc2UgXz0hMH1oPSIifWVsc2UgaWYodT09ZXx8Ii8iPT11fHwiPyI9PXV8fCIjIj09dXx8IlxcIj09dSYmZ3QodCkpe2lmKHAmJiIiPT1oKXJldHVybiJJbnZhbGlkIGF1dGhvcml0eSI7bC09ZChoKS5sZW5ndGgrMSxoPSIiLHM9VHR9ZWxzZSBoKz11O2JyZWFrO2Nhc2UgVHQ6Y2FzZSBQdDppZihyJiYiZmlsZSI9PXQuc2NoZW1lKXtzPUN0O2NvbnRpbnVlfWlmKCI6IiE9dXx8Zyl7aWYodT09ZXx8Ii8iPT11fHwiPyI9PXV8fCIjIj09dXx8IlxcIj09dSYmZ3QodCkpe2lmKGd0KHQpJiYiIj09aClyZXR1cm4gVjtpZihyJiYiIj09aCYmKGR0KHQpfHxudWxsIT09dC5wb3J0KSlyZXR1cm47aWYoYz1pdCh0LGgpKXJldHVybiBjO2lmKGg9IiIscz1GdCxyKXJldHVybjtjb250aW51ZX0iWyI9PXU/Zz0hMDoiXSI9PXUmJihnPSExKSxoKz11fWVsc2V7aWYoIiI9PWgpcmV0dXJuIFY7aWYoYz1pdCh0LGgpKXJldHVybiBjO2lmKGg9IiIscz1NdCxyPT1QdClyZXR1cm59YnJlYWs7Y2FzZSBNdDppZighTShaLHUpKXtpZih1PT1lfHwiLyI9PXV8fCI/Ij09dXx8IiMiPT11fHwiXFwiPT11JiZndCh0KXx8cil7aWYoIiIhPWgpe3ZhciB3PWsoaCwxMCk7aWYodz42NTUzNSlyZXR1cm4gSDt0LnBvcnQ9Z3QodCkmJnc9PT12dFt0LnNjaGVtZV0/bnVsbDp3LGg9IiJ9aWYocilyZXR1cm47cz1GdDtjb250aW51ZX1yZXR1cm4gSH1oKz11O2JyZWFrO2Nhc2UgTnQ6aWYodC5zY2hlbWU9ImZpbGUiLCIvIj09dXx8IlxcIj09dSlzPVV0O2Vsc2V7aWYoIW98fCJmaWxlIiE9by5zY2hlbWUpe3M9QnQ7Y29udGludWV9aWYodT09ZSl0Lmhvc3Q9by5ob3N0LHQucGF0aD15KG8ucGF0aCksdC5xdWVyeT1vLnF1ZXJ5O2Vsc2UgaWYoIj8iPT11KXQuaG9zdD1vLmhvc3QsdC5wYXRoPXkoby5wYXRoKSx0LnF1ZXJ5PSIiLHM9V3Q7ZWxzZXtpZigiIyIhPXUpe2J0KE4oeShpLGwpLCIiKSl8fCh0Lmhvc3Q9by5ob3N0LHQucGF0aD15KG8ucGF0aCksbXQodCkpLHM9QnQ7Y29udGludWV9dC5ob3N0PW8uaG9zdCx0LnBhdGg9eShvLnBhdGgpLHQucXVlcnk9by5xdWVyeSx0LmZyYWdtZW50PSIiLHM9RHR9fWJyZWFrO2Nhc2UgVXQ6aWYoIi8iPT11fHwiXFwiPT11KXtzPUN0O2JyZWFrfW8mJiJmaWxlIj09by5zY2hlbWUmJiFidChOKHkoaSxsKSwiIikpJiYoX3Qoby5wYXRoWzBdLCEwKT9GKHQucGF0aCxvLnBhdGhbMF0pOnQuaG9zdD1vLmhvc3QpLHM9QnQ7Y29udGludWU7Y2FzZSBDdDppZih1PT1lfHwiLyI9PXV8fCJcXCI9PXV8fCI/Ij09dXx8IiMiPT11KXtpZighciYmX3QoaCkpcz1CdDtlbHNlIGlmKCIiPT1oKXtpZih0Lmhvc3Q9IiIscilyZXR1cm47cz1GdH1lbHNle2lmKGM9aXQodCxoKSlyZXR1cm4gYztpZigibG9jYWxob3N0Ij09dC5ob3N0JiYodC5ob3N0PSIiKSxyKXJldHVybjtoPSIiLHM9RnR9Y29udGludWV9aCs9dTticmVhaztjYXNlIEZ0OmlmKGd0KHQpKXtpZihzPUJ0LCIvIiE9dSYmIlxcIiE9dSljb250aW51ZX1lbHNlIGlmKHJ8fCI/IiE9dSlpZihyfHwiIyIhPXUpe2lmKHUhPWUmJihzPUJ0LCIvIiE9dSkpY29udGludWV9ZWxzZSB0LmZyYWdtZW50PSIiLHM9RHQ7ZWxzZSB0LnF1ZXJ5PSIiLHM9V3Q7YnJlYWs7Y2FzZSBCdDppZih1PT1lfHwiLyI9PXV8fCJcXCI9PXUmJmd0KHQpfHwhciYmKCI/Ij09dXx8IiMiPT11KSl7aWYoIi4uIj09PShmPXEoZj1oKSl8fCIlMmUuIj09PWZ8fCIuJTJlIj09PWZ8fCIlMmUlMmUiPT09Zj8obXQodCksIi8iPT11fHwiXFwiPT11JiZndCh0KXx8Rih0LnBhdGgsIiIpKTp4dChoKT8iLyI9PXV8fCJcXCI9PXUmJmd0KHQpfHxGKHQucGF0aCwiIik6KCJmaWxlIj09dC5zY2hlbWUmJiF0LnBhdGgubGVuZ3RoJiZfdChoKSYmKHQuaG9zdCYmKHQuaG9zdD0iIiksaD1QKGgsMCkrIjoiKSxGKHQucGF0aCxoKSksaD0iIiwiZmlsZSI9PXQuc2NoZW1lJiYodT09ZXx8Ij8iPT11fHwiIyI9PXUpKWZvcig7dC5wYXRoLmxlbmd0aD4xJiYiIj09PXQucGF0aFswXTspeih0LnBhdGgpOyI/Ij09dT8odC5xdWVyeT0iIixzPVd0KToiIyI9PXUmJih0LmZyYWdtZW50PSIiLHM9RHQpfWVsc2UgaCs9cHQodSxsdCk7YnJlYWs7Y2FzZSB6dDoiPyI9PXU/KHQucXVlcnk9IiIscz1XdCk6IiMiPT11Pyh0LmZyYWdtZW50PSIiLHM9RHQpOnUhPWUmJih0LnBhdGhbMF0rPXB0KHUsZnQpKTticmVhaztjYXNlIFd0OnJ8fCIjIiE9dT91IT1lJiYoIiciPT11JiZndCh0KT90LnF1ZXJ5Kz0iJTI3Ijp0LnF1ZXJ5Kz0iIyI9PXU/IiUyMyI6cHQodSxmdCkpOih0LmZyYWdtZW50PSIiLHM9RHQpO2JyZWFrO2Nhc2UgRHQ6dSE9ZSYmKHQuZnJhZ21lbnQrPXB0KHUsc3QpKX1sKyt9fSwkdD1mdW5jdGlvbih0KXt2YXIgbixyLGU9cCh0aGlzLEd0KSxvPWFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLHU9bSh0KSxhPUUoZSx7dHlwZToiVVJMIn0pO2lmKHZvaWQgMCE9PW8pdHJ5e249UyhvKX1jYXRjaCh0KXtpZihyPXF0KG49e30sbShvKSkpdGhyb3cgSShyKX1pZihyPXF0KGEsdSxudWxsLG4pKXRocm93IEkocik7dmFyIGM9YS5zZWFyY2hQYXJhbXM9bmV3IEEscz1qKGMpO3MudXBkYXRlU2VhcmNoUGFyYW1zKGEucXVlcnkpLHMudXBkYXRlVVJMPWZ1bmN0aW9uKCl7YS5xdWVyeT1tKGMpfHxudWxsfSxpfHwoZS5ocmVmPWYoVnQsZSksZS5vcmlnaW49ZihIdCxlKSxlLnByb3RvY29sPWYoS3QsZSksZS51c2VybmFtZT1mKFl0LGUpLGUucGFzc3dvcmQ9ZihadCxlKSxlLmhvc3Q9ZihKdCxlKSxlLmhvc3RuYW1lPWYoWHQsZSksZS5wb3J0PWYoUXQsZSksZS5wYXRobmFtZT1mKHRuLGUpLGUuc2VhcmNoPWYobm4sZSksZS5zZWFyY2hQYXJhbXM9ZihybixlKSxlLmhhc2g9ZihlbixlKSl9LEd0PSR0LnByb3RvdHlwZSxWdD1mdW5jdGlvbigpe3ZhciB0PVModGhpcyksbj10LnNjaGVtZSxyPXQudXNlcm5hbWUsZT10LnBhc3N3b3JkLG89dC5ob3N0LGk9dC5wb3J0LHU9dC5wYXRoLGE9dC5xdWVyeSxjPXQuZnJhZ21lbnQsZj1uKyI6IjtyZXR1cm4gbnVsbCE9PW8/KGYrPSIvLyIsZHQodCkmJihmKz1yKyhlPyI6IitlOiIiKSsiQCIpLGYrPWN0KG8pLG51bGwhPT1pJiYoZis9IjoiK2kpKToiZmlsZSI9PW4mJihmKz0iLy8iKSxmKz10LmNhbm5vdEJlQUJhc2VVUkw/dVswXTp1Lmxlbmd0aD8iLyIrTih1LCIvIik6IiIsbnVsbCE9PWEmJihmKz0iPyIrYSksbnVsbCE9PWMmJihmKz0iIyIrYyksZn0sSHQ9ZnVuY3Rpb24oKXt2YXIgdD1TKHRoaXMpLG49dC5zY2hlbWUscj10LnBvcnQ7aWYoImJsb2IiPT1uKXRyeXtyZXR1cm4gbmV3ICR0KG4ucGF0aFswXSkub3JpZ2lufWNhdGNoKHQpe3JldHVybiJudWxsIn1yZXR1cm4iZmlsZSIhPW4mJmd0KHQpP24rIjovLyIrY3QodC5ob3N0KSsobnVsbCE9PXI/IjoiK3I6IiIpOiJudWxsIn0sS3Q9ZnVuY3Rpb24oKXtyZXR1cm4gUyh0aGlzKS5zY2hlbWUrIjoifSxZdD1mdW5jdGlvbigpe3JldHVybiBTKHRoaXMpLnVzZXJuYW1lfSxadD1mdW5jdGlvbigpe3JldHVybiBTKHRoaXMpLnBhc3N3b3JkfSxKdD1mdW5jdGlvbigpe3ZhciB0PVModGhpcyksbj10Lmhvc3Qscj10LnBvcnQ7cmV0dXJuIG51bGw9PT1uPyIiOm51bGw9PT1yP2N0KG4pOmN0KG4pKyI6IityfSxYdD1mdW5jdGlvbigpe3ZhciB0PVModGhpcykuaG9zdDtyZXR1cm4gbnVsbD09PXQ/IiI6Y3QodCl9LFF0PWZ1bmN0aW9uKCl7dmFyIHQ9Uyh0aGlzKS5wb3J0O3JldHVybiBudWxsPT09dD8iIjptKHQpfSx0bj1mdW5jdGlvbigpe3ZhciB0PVModGhpcyksbj10LnBhdGg7cmV0dXJuIHQuY2Fubm90QmVBQmFzZVVSTD9uWzBdOm4ubGVuZ3RoPyIvIitOKG4sIi8iKToiIn0sbm49ZnVuY3Rpb24oKXt2YXIgdD1TKHRoaXMpLnF1ZXJ5O3JldHVybiB0PyI/Iit0OiIifSxybj1mdW5jdGlvbigpe3JldHVybiBTKHRoaXMpLnNlYXJjaFBhcmFtc30sZW49ZnVuY3Rpb24oKXt2YXIgdD1TKHRoaXMpLmZyYWdtZW50O3JldHVybiB0PyIjIit0OiIifSxvbj1mdW5jdGlvbih0LG4pe3JldHVybntnZXQ6dCxzZXQ6bixjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH19O2lmKGkmJmwoR3Qse2hyZWY6b24oVnQsKGZ1bmN0aW9uKHQpe3ZhciBuPVModGhpcykscj1tKHQpLGU9cXQobixyKTtpZihlKXRocm93IEkoZSk7aihuLnNlYXJjaFBhcmFtcykudXBkYXRlU2VhcmNoUGFyYW1zKG4ucXVlcnkpfSkpLG9yaWdpbjpvbihIdCkscHJvdG9jb2w6b24oS3QsKGZ1bmN0aW9uKHQpe3ZhciBuPVModGhpcyk7cXQobixtKHQpKyI6Iix3dCl9KSksdXNlcm5hbWU6b24oWXQsKGZ1bmN0aW9uKHQpe3ZhciBuPVModGhpcykscj1kKG0odCkpO2lmKCF5dChuKSl7bi51c2VybmFtZT0iIjtmb3IodmFyIGU9MDtlPHIubGVuZ3RoO2UrKyluLnVzZXJuYW1lKz1wdChyW2VdLGh0KX19KSkscGFzc3dvcmQ6b24oWnQsKGZ1bmN0aW9uKHQpe3ZhciBuPVModGhpcykscj1kKG0odCkpO2lmKCF5dChuKSl7bi5wYXNzd29yZD0iIjtmb3IodmFyIGU9MDtlPHIubGVuZ3RoO2UrKyluLnBhc3N3b3JkKz1wdChyW2VdLGh0KX19KSksaG9zdDpvbihKdCwoZnVuY3Rpb24odCl7dmFyIG49Uyh0aGlzKTtuLmNhbm5vdEJlQUJhc2VVUkx8fHF0KG4sbSh0KSxUdCl9KSksaG9zdG5hbWU6b24oWHQsKGZ1bmN0aW9uKHQpe3ZhciBuPVModGhpcyk7bi5jYW5ub3RCZUFCYXNlVVJMfHxxdChuLG0odCksUHQpfSkpLHBvcnQ6b24oUXQsKGZ1bmN0aW9uKHQpe3ZhciBuPVModGhpcyk7eXQobil8fCgiIj09KHQ9bSh0KSk/bi5wb3J0PW51bGw6cXQobix0LE10KSl9KSkscGF0aG5hbWU6b24odG4sKGZ1bmN0aW9uKHQpe3ZhciBuPVModGhpcyk7bi5jYW5ub3RCZUFCYXNlVVJMfHwobi5wYXRoPVtdLHF0KG4sbSh0KSxGdCkpfSkpLHNlYXJjaDpvbihubiwoZnVuY3Rpb24odCl7dmFyIG49Uyh0aGlzKTsiIj09KHQ9bSh0KSk/bi5xdWVyeT1udWxsOigiPyI9PVAodCwwKSYmKHQ9RCh0LDEpKSxuLnF1ZXJ5PSIiLHF0KG4sdCxXdCkpLGoobi5zZWFyY2hQYXJhbXMpLnVwZGF0ZVNlYXJjaFBhcmFtcyhuLnF1ZXJ5KX0pKSxzZWFyY2hQYXJhbXM6b24ocm4pLGhhc2g6b24oZW4sKGZ1bmN0aW9uKHQpe3ZhciBuPVModGhpcyk7IiIhPSh0PW0odCkpPygiIyI9PVAodCwwKSYmKHQ9RCh0LDEpKSxuLmZyYWdtZW50PSIiLHF0KG4sdCxEdCkpOm4uZnJhZ21lbnQ9bnVsbH0pKX0pLGgoR3QsInRvSlNPTiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGYoVnQsdGhpcyl9KSx7ZW51bWVyYWJsZTohMH0pLGgoR3QsInRvU3RyaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gZihWdCx0aGlzKX0pLHtlbnVtZXJhYmxlOiEwfSksUil7dmFyIHVuPVIuY3JlYXRlT2JqZWN0VVJMLGFuPVIucmV2b2tlT2JqZWN0VVJMO3VuJiZoKCR0LCJjcmVhdGVPYmplY3RVUkwiLGModW4sUikpLGFuJiZoKCR0LCJyZXZva2VPYmplY3RVUkwiLGMoYW4sUikpfXgoJHQsIlVSTCIpLG8oe2dsb2JhbDohMCxmb3JjZWQ6IXUsc2hhbTohaX0se1VSTDokdH0pfSw4NzE0OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1yKDg3Mzc3KTt0LmV4cG9ydHM9ZX0sMzY1ODM6ZnVuY3Rpb24odCxuLHIpe3ZhciBlPXIoMjQ2NjcpO3QuZXhwb3J0cz1lfSwzMDg1NTpmdW5jdGlvbih0LG4scil7dmFyIGU9cig3NDU2Nyk7dC5leHBvcnRzPWV9LDY3ODEwOmZ1bmN0aW9uKCl7IWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpdHJ5e3ZhciB0PW5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRlc3QiLHtjYW5jZWxhYmxlOiEwfSk7aWYodC5wcmV2ZW50RGVmYXVsdCgpLCEwIT09dC5kZWZhdWx0UHJldmVudGVkKXRocm93IG5ldyBFcnJvcigiQ291bGQgbm90IHByZXZlbnQgZGVmYXVsdCIpfWNhdGNoKHQpe3ZhciBuPWZ1bmN0aW9uKHQsbil7dmFyIHIsZTtyZXR1cm4obj1ufHx7fSkuYnViYmxlcz0hIW4uYnViYmxlcyxuLmNhbmNlbGFibGU9ISFuLmNhbmNlbGFibGUsKHI9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50IikpLmluaXRDdXN0b21FdmVudCh0LG4uYnViYmxlcyxuLmNhbmNlbGFibGUsbi5kZXRhaWwpLGU9ci5wcmV2ZW50RGVmYXVsdCxyLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7ZS5jYWxsKHRoaXMpO3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiZGVmYXVsdFByZXZlbnRlZCIse2dldDpmdW5jdGlvbigpe3JldHVybiEwfX0pfWNhdGNoKHQpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH19LHJ9O24ucHJvdG90eXBlPXdpbmRvdy5FdmVudC5wcm90b3R5cGUsd2luZG93LkN1c3RvbUV2ZW50PW59fSgpfSw5NjQ4NjpmdW5jdGlvbih0LG4scil7dmFyIGU7dD1yLm5tZCh0KSxmdW5jdGlvbigpe3ZhciBvLGk9IkV4cGVjdGVkIGEgZnVuY3Rpb24iLHU9Il9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iLGE9Il9fbG9kYXNoX3BsYWNlaG9sZGVyX18iLGM9MTYsZj0zMixzPTY0LGw9MTI4LGg9MjU2LHA9MS8wLHY9OTAwNzE5OTI1NDc0MDk5MSxnPU5hTixkPTQyOTQ5NjcyOTUseT1bWyJhcnkiLGxdLFsiYmluZCIsMV0sWyJiaW5kS2V5IiwyXSxbImN1cnJ5Iiw4XSxbImN1cnJ5UmlnaHQiLGNdLFsiZmxpcCIsNTEyXSxbInBhcnRpYWwiLGZdLFsicGFydGlhbFJpZ2h0IixzXSxbInJlYXJnIixoXV0sXz0iW29iamVjdCBBcmd1bWVudHNdIixiPSJbb2JqZWN0IEFycmF5XSIsbT0iW29iamVjdCBCb29sZWFuXSIseD0iW29iamVjdCBEYXRlXSIsdz0iW29iamVjdCBFcnJvcl0iLE89IltvYmplY3QgRnVuY3Rpb25dIixFPSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsUz0iW29iamVjdCBNYXBdIixBPSJbb2JqZWN0IE51bWJlcl0iLGo9IltvYmplY3QgT2JqZWN0XSIsUj0iW29iamVjdCBQcm9taXNlXSIsST0iW29iamVjdCBSZWdFeHBdIixrPSJbb2JqZWN0IFNldF0iLEw9IltvYmplY3QgU3RyaW5nXSIsVD0iW29iamVjdCBTeW1ib2xdIixQPSJbb2JqZWN0IFdlYWtNYXBdIixNPSJbb2JqZWN0IEFycmF5QnVmZmVyXSIsTj0iW29iamVjdCBEYXRhVmlld10iLFU9IltvYmplY3QgRmxvYXQzMkFycmF5XSIsQz0iW29iamVjdCBGbG9hdDY0QXJyYXldIixGPSJbb2JqZWN0IEludDhBcnJheV0iLEI9IltvYmplY3QgSW50MTZBcnJheV0iLHo9IltvYmplY3QgSW50MzJBcnJheV0iLFc9IltvYmplY3QgVWludDhBcnJheV0iLEQ9IltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIixxPSJbb2JqZWN0IFVpbnQxNkFycmF5XSIsJD0iW29iamVjdCBVaW50MzJBcnJheV0iLEc9L1xiX19wIFwrPSAnJzsvZyxWPS9cYihfX3AgXCs9KSAnJyBcKy9nLEg9LyhfX2VcKC4qP1wpfFxiX190XCkpIFwrXG4nJzsvZyxLPS8mKD86YW1wfGx0fGd0fHF1b3R8IzM5KTsvZyxZPS9bJjw+IiddL2csWj1SZWdFeHAoSy5zb3VyY2UpLEo9UmVnRXhwKFkuc291cmNlKSxYPS88JS0oW1xzXFNdKz8pJT4vZyxRPS88JShbXHNcU10rPyklPi9nLHR0PS88JT0oW1xzXFNdKz8pJT4vZyxudD0vXC58XFsoPzpbXltcXV0qfChbIiddKSg/Oig/IVwxKVteXFxdfFxcLikqP1wxKVxdLyxydD0vXlx3KiQvLGV0PS9bXi5bXF1dK3xcWyg/OigtP1xkKyg/OlwuXGQrKT8pfChbIiddKSgoPzooPyFcMilbXlxcXXxcXC4pKj8pXDIpXF18KD89KD86XC58XFtcXSkoPzpcLnxcW1xdfCQpKS9nLG90PS9bXFxeJC4qKz8oKVtcXXt9fF0vZyxpdD1SZWdFeHAob3Quc291cmNlKSx1dD0vXlxzKy8sYXQ9L1xzLyxjdD0vXHsoPzpcblwvXCogXFt3cmFwcGVkIHdpdGggLitcXSBcKlwvKT9cbj8vLGZ0PS9ce1xuXC9cKiBcW3dyYXBwZWQgd2l0aCAoLispXF0gXCovLHN0PS8sPyAmIC8sbHQ9L1teXHgwMC1ceDJmXHgzYS1ceDQwXHg1Yi1ceDYwXHg3Yi1ceDdmXSsvZyxodD0vWygpPSx7fVxbXF1cL1xzXS8scHQ9L1xcKFxcKT8vZyx2dD0vXCRceyhbXlxcfV0qKD86XFwuW15cXH1dKikqKVx9L2csZ3Q9L1x3KiQvLGR0PS9eWy0rXTB4WzAtOWEtZl0rJC9pLHl0PS9eMGJbMDFdKyQvaSxfdD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxidD0vXjBvWzAtN10rJC9pLG10PS9eKD86MHxbMS05XVxkKikkLyx4dD0vW1x4YzAtXHhkNlx4ZDgtXHhmNlx4ZjgtXHhmZlx1MDEwMC1cdTAxN2ZdL2csd3Q9LygkXikvLE90PS9bJ1xuXHJcdTIwMjhcdTIwMjlcXF0vZyxFdD0iXFx1MDMwMC1cXHUwMzZmXFx1ZmUyMC1cXHVmZTJmXFx1MjBkMC1cXHUyMGZmIixTdD0iXFx1MjcwMC1cXHUyN2JmIixBdD0iYS16XFx4ZGYtXFx4ZjZcXHhmOC1cXHhmZiIsanQ9IkEtWlxceGMwLVxceGQ2XFx4ZDgtXFx4ZGUiLFJ0PSJcXHVmZTBlXFx1ZmUwZiIsSXQ9IlxceGFjXFx4YjFcXHhkN1xceGY3XFx4MDAtXFx4MmZcXHgzYS1cXHg0MFxceDViLVxceDYwXFx4N2ItXFx4YmZcXHUyMDAwLVxcdTIwNmYgXFx0XFx4MGJcXGZcXHhhMFxcdWZlZmZcXG5cXHJcXHUyMDI4XFx1MjAyOVxcdTE2ODBcXHUxODBlXFx1MjAwMFxcdTIwMDFcXHUyMDAyXFx1MjAwM1xcdTIwMDRcXHUyMDA1XFx1MjAwNlxcdTIwMDdcXHUyMDA4XFx1MjAwOVxcdTIwMGFcXHUyMDJmXFx1MjA1ZlxcdTMwMDAiLGt0PSJbJ+KAmV0iLEx0PSJbXFx1ZDgwMC1cXHVkZmZmXSIsVHQ9IlsiK0l0KyJdIixQdD0iWyIrRXQrIl0iLE10PSJcXGQrIixOdD0iW1xcdTI3MDAtXFx1MjdiZl0iLFV0PSJbIitBdCsiXSIsQ3Q9IlteXFx1ZDgwMC1cXHVkZmZmIitJdCtNdCtTdCtBdCtqdCsiXSIsRnQ9IlxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXSIsQnQ9IlteXFx1ZDgwMC1cXHVkZmZmXSIsenQ9Iig/OlxcdWQ4M2NbXFx1ZGRlNi1cXHVkZGZmXSl7Mn0iLFd0PSJbXFx1ZDgwMC1cXHVkYmZmXVtcXHVkYzAwLVxcdWRmZmZdIixEdD0iWyIranQrIl0iLHF0PSIoPzoiK1V0KyJ8IitDdCsiKSIsJHQ9Iig/OiIrRHQrInwiK0N0KyIpIixHdD0iKD86WyfigJldKD86ZHxsbHxtfHJlfHN8dHx2ZSkpPyIsVnQ9Iig/Olsn4oCZXSg/OkR8TEx8TXxSRXxTfFR8VkUpKT8iLEh0PSIoPzoiK1B0KyJ8IitGdCsiKSIrIj8iLEt0PSJbXFx1ZmUwZVxcdWZlMGZdPyIsWXQ9S3QrSHQrKCIoPzpcXHUyMDBkKD86IitbQnQsenQsV3RdLmpvaW4oInwiKSsiKSIrS3QrSHQrIikqIiksWnQ9Iig/OiIrW050LHp0LFd0XS5qb2luKCJ8IikrIikiK1l0LEp0PSIoPzoiK1tCdCtQdCsiPyIsUHQsenQsV3QsTHRdLmpvaW4oInwiKSsiKSIsWHQ9UmVnRXhwKGt0LCJnIiksUXQ9UmVnRXhwKFB0LCJnIiksdG49UmVnRXhwKEZ0KyIoPz0iK0Z0KyIpfCIrSnQrWXQsImciKSxubj1SZWdFeHAoW0R0KyI/IitVdCsiKyIrR3QrIig/PSIrW1R0LER0LCIkIl0uam9pbigifCIpKyIpIiwkdCsiKyIrVnQrIig/PSIrW1R0LER0K3F0LCIkIl0uam9pbigifCIpKyIpIixEdCsiPyIrcXQrIisiK0d0LER0KyIrIitWdCwiXFxkKig/OjFTVHwyTkR8M1JEfCg/IVsxMjNdKVxcZFRIKSg/PVxcYnxbYS16X10pIiwiXFxkKig/OjFzdHwybmR8M3JkfCg/IVsxMjNdKVxcZHRoKSg/PVxcYnxbQS1aX10pIixNdCxadF0uam9pbigifCIpLCJnIikscm49UmVnRXhwKCJbXFx1MjAwZFxcdWQ4MDAtXFx1ZGZmZiIrRXQrUnQrIl0iKSxlbj0vW2Etel1bQS1aXXxbQS1aXXsyfVthLXpdfFswLTldW2EtekEtWl18W2EtekEtWl1bMC05XXxbXmEtekEtWjAtOSBdLyxvbj1bIkFycmF5IiwiQnVmZmVyIiwiRGF0YVZpZXciLCJEYXRlIiwiRXJyb3IiLCJGbG9hdDMyQXJyYXkiLCJGbG9hdDY0QXJyYXkiLCJGdW5jdGlvbiIsIkludDhBcnJheSIsIkludDE2QXJyYXkiLCJJbnQzMkFycmF5IiwiTWFwIiwiTWF0aCIsIk9iamVjdCIsIlByb21pc2UiLCJSZWdFeHAiLCJTZXQiLCJTdHJpbmciLCJTeW1ib2wiLCJUeXBlRXJyb3IiLCJVaW50OEFycmF5IiwiVWludDhDbGFtcGVkQXJyYXkiLCJVaW50MTZBcnJheSIsIlVpbnQzMkFycmF5IiwiV2Vha01hcCIsIl8iLCJjbGVhclRpbWVvdXQiLCJpc0Zpbml0ZSIsInBhcnNlSW50Iiwic2V0VGltZW91dCJdLHVuPS0xLGFuPXt9O2FuW1VdPWFuW0NdPWFuW0ZdPWFuW0JdPWFuW3pdPWFuW1ddPWFuW0RdPWFuW3FdPWFuWyRdPSEwLGFuW19dPWFuW2JdPWFuW01dPWFuW21dPWFuW05dPWFuW3hdPWFuW3ddPWFuW09dPWFuW1NdPWFuW0FdPWFuW2pdPWFuW0ldPWFuW2tdPWFuW0xdPWFuW1BdPSExO3ZhciBjbj17fTtjbltfXT1jbltiXT1jbltNXT1jbltOXT1jblttXT1jblt4XT1jbltVXT1jbltDXT1jbltGXT1jbltCXT1jblt6XT1jbltTXT1jbltBXT1jbltqXT1jbltJXT1jbltrXT1jbltMXT1jbltUXT1jbltXXT1jbltEXT1jbltxXT1jblskXT0hMCxjblt3XT1jbltPXT1jbltQXT0hMTt2YXIgZm49eyJcXCI6IlxcIiwiJyI6IiciLCJcbiI6Im4iLCJcciI6InIiLCJcdTIwMjgiOiJ1MjAyOCIsIlx1MjAyOSI6InUyMDI5In0sc249cGFyc2VGbG9hdCxsbj1wYXJzZUludCxobj0ib2JqZWN0Ij09dHlwZW9mIHIuZyYmci5nJiZyLmcuT2JqZWN0PT09T2JqZWN0JiZyLmcscG49Im9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmJiZzZWxmLk9iamVjdD09PU9iamVjdCYmc2VsZix2bj1obnx8cG58fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCksZ249biYmIW4ubm9kZVR5cGUmJm4sZG49Z24mJnQmJiF0Lm5vZGVUeXBlJiZ0LHluPWRuJiZkbi5leHBvcnRzPT09Z24sX249eW4mJmhuLnByb2Nlc3MsYm49ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9ZG4mJmRuLnJlcXVpcmUmJmRuLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8X24mJl9uLmJpbmRpbmcmJl9uLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpLG1uPWJuJiZibi5pc0FycmF5QnVmZmVyLHhuPWJuJiZibi5pc0RhdGUsd249Ym4mJmJuLmlzTWFwLE9uPWJuJiZibi5pc1JlZ0V4cCxFbj1ibiYmYm4uaXNTZXQsU249Ym4mJmJuLmlzVHlwZWRBcnJheTtmdW5jdGlvbiBBbih0LG4scil7c3dpdGNoKHIubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChuKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChuLHJbMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKG4sclswXSxyWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChuLHJbMF0sclsxXSxyWzJdKX1yZXR1cm4gdC5hcHBseShuLHIpfWZ1bmN0aW9uIGpuKHQsbixyLGUpe2Zvcih2YXIgbz0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK288aTspe3ZhciB1PXRbb107bihlLHUscih1KSx0KX1yZXR1cm4gZX1mdW5jdGlvbiBSbih0LG4pe2Zvcih2YXIgcj0tMSxlPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8ZSYmITEhPT1uKHRbcl0scix0KTspO3JldHVybiB0fWZ1bmN0aW9uIEluKHQsbil7Zm9yKHZhciByPW51bGw9PXQ/MDp0Lmxlbmd0aDtyLS0mJiExIT09bih0W3JdLHIsdCk7KTtyZXR1cm4gdH1mdW5jdGlvbiBrbih0LG4pe2Zvcih2YXIgcj0tMSxlPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8ZTspaWYoIW4odFtyXSxyLHQpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIExuKHQsbil7Zm9yKHZhciByPS0xLGU9bnVsbD09dD8wOnQubGVuZ3RoLG89MCxpPVtdOysrcjxlOyl7dmFyIHU9dFtyXTtuKHUscix0KSYmKGlbbysrXT11KX1yZXR1cm4gaX1mdW5jdGlvbiBUbih0LG4pe3JldHVybiEhKG51bGw9PXQ/MDp0Lmxlbmd0aCkmJkRuKHQsbiwwKT4tMX1mdW5jdGlvbiBQbih0LG4scil7Zm9yKHZhciBlPS0xLG89bnVsbD09dD8wOnQubGVuZ3RoOysrZTxvOylpZihyKG4sdFtlXSkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gTW4odCxuKXtmb3IodmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGgsbz1BcnJheShlKTsrK3I8ZTspb1tyXT1uKHRbcl0scix0KTtyZXR1cm4gb31mdW5jdGlvbiBObih0LG4pe2Zvcih2YXIgcj0tMSxlPW4ubGVuZ3RoLG89dC5sZW5ndGg7KytyPGU7KXRbbytyXT1uW3JdO3JldHVybiB0fWZ1bmN0aW9uIFVuKHQsbixyLGUpe3ZhciBvPS0xLGk9bnVsbD09dD8wOnQubGVuZ3RoO2ZvcihlJiZpJiYocj10Wysrb10pOysrbzxpOylyPW4ocix0W29dLG8sdCk7cmV0dXJuIHJ9ZnVuY3Rpb24gQ24odCxuLHIsZSl7dmFyIG89bnVsbD09dD8wOnQubGVuZ3RoO2ZvcihlJiZvJiYocj10Wy0tb10pO28tLTspcj1uKHIsdFtvXSxvLHQpO3JldHVybiByfWZ1bmN0aW9uIEZuKHQsbil7Zm9yKHZhciByPS0xLGU9bnVsbD09dD8wOnQubGVuZ3RoOysrcjxlOylpZihuKHRbcl0scix0KSlyZXR1cm4hMDtyZXR1cm4hMX12YXIgQm49Vm4oImxlbmd0aCIpO2Z1bmN0aW9uIHpuKHQsbixyKXt2YXIgZTtyZXR1cm4gcih0LChmdW5jdGlvbih0LHIsbyl7aWYobih0LHIsbykpcmV0dXJuIGU9ciwhMX0pKSxlfWZ1bmN0aW9uIFduKHQsbixyLGUpe2Zvcih2YXIgbz10Lmxlbmd0aCxpPXIrKGU/MTotMSk7ZT9pLS06KytpPG87KWlmKG4odFtpXSxpLHQpKXJldHVybiBpO3JldHVybi0xfWZ1bmN0aW9uIERuKHQsbixyKXtyZXR1cm4gbj09bj9mdW5jdGlvbih0LG4scil7dmFyIGU9ci0xLG89dC5sZW5ndGg7Zm9yKDsrK2U8bzspaWYodFtlXT09PW4pcmV0dXJuIGU7cmV0dXJuLTF9KHQsbixyKTpXbih0LCRuLHIpfWZ1bmN0aW9uIHFuKHQsbixyLGUpe2Zvcih2YXIgbz1yLTEsaT10Lmxlbmd0aDsrK288aTspaWYoZSh0W29dLG4pKXJldHVybiBvO3JldHVybi0xfWZ1bmN0aW9uICRuKHQpe3JldHVybiB0IT10fWZ1bmN0aW9uIEduKHQsbil7dmFyIHI9bnVsbD09dD8wOnQubGVuZ3RoO3JldHVybiByP1luKHQsbikvcjpnfWZ1bmN0aW9uIFZuKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbnVsbD09bj9vOm5bdF19fWZ1bmN0aW9uIEhuKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbnVsbD09dD9vOnRbbl19fWZ1bmN0aW9uIEtuKHQsbixyLGUsbyl7cmV0dXJuIG8odCwoZnVuY3Rpb24odCxvLGkpe3I9ZT8oZT0hMSx0KTpuKHIsdCxvLGkpfSkpLHJ9ZnVuY3Rpb24gWW4odCxuKXtmb3IodmFyIHIsZT0tMSxpPXQubGVuZ3RoOysrZTxpOyl7dmFyIHU9bih0W2VdKTt1IT09byYmKHI9cj09PW8/dTpyK3UpfXJldHVybiByfWZ1bmN0aW9uIFpuKHQsbil7Zm9yKHZhciByPS0xLGU9QXJyYXkodCk7KytyPHQ7KWVbcl09bihyKTtyZXR1cm4gZX1mdW5jdGlvbiBKbih0KXtyZXR1cm4gdD90LnNsaWNlKDAsZ3IodCkrMSkucmVwbGFjZSh1dCwiIik6dH1mdW5jdGlvbiBYbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHQobil9fWZ1bmN0aW9uIFFuKHQsbil7cmV0dXJuIE1uKG4sKGZ1bmN0aW9uKG4pe3JldHVybiB0W25dfSkpfWZ1bmN0aW9uIHRyKHQsbil7cmV0dXJuIHQuaGFzKG4pfWZ1bmN0aW9uIG5yKHQsbil7Zm9yKHZhciByPS0xLGU9dC5sZW5ndGg7KytyPGUmJkRuKG4sdFtyXSwwKT4tMTspO3JldHVybiByfWZ1bmN0aW9uIHJyKHQsbil7Zm9yKHZhciByPXQubGVuZ3RoO3ItLSYmRG4obix0W3JdLDApPi0xOyk7cmV0dXJuIHJ9ZnVuY3Rpb24gZXIodCxuKXtmb3IodmFyIHI9dC5sZW5ndGgsZT0wO3ItLTspdFtyXT09PW4mJisrZTtyZXR1cm4gZX12YXIgb3I9SG4oeyLDgCI6IkEiLCLDgSI6IkEiLCLDgiI6IkEiLCLDgyI6IkEiLCLDhCI6IkEiLCLDhSI6IkEiLCLDoCI6ImEiLCLDoSI6ImEiLCLDoiI6ImEiLCLDoyI6ImEiLCLDpCI6ImEiLCLDpSI6ImEiLCLDhyI6IkMiLCLDpyI6ImMiLCLDkCI6IkQiLCLDsCI6ImQiLCLDiCI6IkUiLCLDiSI6IkUiLCLDiiI6IkUiLCLDiyI6IkUiLCLDqCI6ImUiLCLDqSI6ImUiLCLDqiI6ImUiLCLDqyI6ImUiLCLDjCI6IkkiLCLDjSI6IkkiLCLDjiI6IkkiLCLDjyI6IkkiLCLDrCI6ImkiLCLDrSI6ImkiLCLDriI6ImkiLCLDryI6ImkiLCLDkSI6Ik4iLCLDsSI6Im4iLCLDkiI6Ik8iLCLDkyI6Ik8iLCLDlCI6Ik8iLCLDlSI6Ik8iLCLDliI6Ik8iLCLDmCI6Ik8iLCLDsiI6Im8iLCLDsyI6Im8iLCLDtCI6Im8iLCLDtSI6Im8iLCLDtiI6Im8iLCLDuCI6Im8iLCLDmSI6IlUiLCLDmiI6IlUiLCLDmyI6IlUiLCLDnCI6IlUiLCLDuSI6InUiLCLDuiI6InUiLCLDuyI6InUiLCLDvCI6InUiLCLDnSI6IlkiLCLDvSI6InkiLCLDvyI6InkiLCLDhiI6IkFlIiwiw6YiOiJhZSIsIsOeIjoiVGgiLCLDviI6InRoIiwiw58iOiJzcyIsIsSAIjoiQSIsIsSCIjoiQSIsIsSEIjoiQSIsIsSBIjoiYSIsIsSDIjoiYSIsIsSFIjoiYSIsIsSGIjoiQyIsIsSIIjoiQyIsIsSKIjoiQyIsIsSMIjoiQyIsIsSHIjoiYyIsIsSJIjoiYyIsIsSLIjoiYyIsIsSNIjoiYyIsIsSOIjoiRCIsIsSQIjoiRCIsIsSPIjoiZCIsIsSRIjoiZCIsIsSSIjoiRSIsIsSUIjoiRSIsIsSWIjoiRSIsIsSYIjoiRSIsIsSaIjoiRSIsIsSTIjoiZSIsIsSVIjoiZSIsIsSXIjoiZSIsIsSZIjoiZSIsIsSbIjoiZSIsIsScIjoiRyIsIsSeIjoiRyIsIsSgIjoiRyIsIsSiIjoiRyIsIsSdIjoiZyIsIsSfIjoiZyIsIsShIjoiZyIsIsSjIjoiZyIsIsSkIjoiSCIsIsSmIjoiSCIsIsSlIjoiaCIsIsSnIjoiaCIsIsSoIjoiSSIsIsSqIjoiSSIsIsSsIjoiSSIsIsSuIjoiSSIsIsSwIjoiSSIsIsSpIjoiaSIsIsSrIjoiaSIsIsStIjoiaSIsIsSvIjoiaSIsIsSxIjoiaSIsIsS0IjoiSiIsIsS1IjoiaiIsIsS2IjoiSyIsIsS3IjoiayIsIsS4IjoiayIsIsS5IjoiTCIsIsS7IjoiTCIsIsS9IjoiTCIsIsS/IjoiTCIsIsWBIjoiTCIsIsS6IjoibCIsIsS8IjoibCIsIsS+IjoibCIsIsWAIjoibCIsIsWCIjoibCIsIsWDIjoiTiIsIsWFIjoiTiIsIsWHIjoiTiIsIsWKIjoiTiIsIsWEIjoibiIsIsWGIjoibiIsIsWIIjoibiIsIsWLIjoibiIsIsWMIjoiTyIsIsWOIjoiTyIsIsWQIjoiTyIsIsWNIjoibyIsIsWPIjoibyIsIsWRIjoibyIsIsWUIjoiUiIsIsWWIjoiUiIsIsWYIjoiUiIsIsWVIjoiciIsIsWXIjoiciIsIsWZIjoiciIsIsWaIjoiUyIsIsWcIjoiUyIsIsWeIjoiUyIsIsWgIjoiUyIsIsWbIjoicyIsIsWdIjoicyIsIsWfIjoicyIsIsWhIjoicyIsIsWiIjoiVCIsIsWkIjoiVCIsIsWmIjoiVCIsIsWjIjoidCIsIsWlIjoidCIsIsWnIjoidCIsIsWoIjoiVSIsIsWqIjoiVSIsIsWsIjoiVSIsIsWuIjoiVSIsIsWwIjoiVSIsIsWyIjoiVSIsIsWpIjoidSIsIsWrIjoidSIsIsWtIjoidSIsIsWvIjoidSIsIsWxIjoidSIsIsWzIjoidSIsIsW0IjoiVyIsIsW1IjoidyIsIsW2IjoiWSIsIsW3IjoieSIsIsW4IjoiWSIsIsW5IjoiWiIsIsW7IjoiWiIsIsW9IjoiWiIsIsW6IjoieiIsIsW8IjoieiIsIsW+IjoieiIsIsSyIjoiSUoiLCLEsyI6ImlqIiwixZIiOiJPZSIsIsWTIjoib2UiLCLFiSI6IiduIiwixb8iOiJzIn0pLGlyPUhuKHsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsJyInOiImcXVvdDsiLCInIjoiJiMzOTsifSk7ZnVuY3Rpb24gdXIodCl7cmV0dXJuIlxcIitmblt0XX1mdW5jdGlvbiBhcih0KXtyZXR1cm4gcm4udGVzdCh0KX1mdW5jdGlvbiBjcih0KXt2YXIgbj0tMSxyPUFycmF5KHQuc2l6ZSk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXtyWysrbl09W2UsdF19KSkscn1mdW5jdGlvbiBmcih0LG4pe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gdChuKHIpKX19ZnVuY3Rpb24gc3IodCxuKXtmb3IodmFyIHI9LTEsZT10Lmxlbmd0aCxvPTAsaT1bXTsrK3I8ZTspe3ZhciB1PXRbcl07dSE9PW4mJnUhPT1hfHwodFtyXT1hLGlbbysrXT1yKX1yZXR1cm4gaX1mdW5jdGlvbiBscih0KXt2YXIgbj0tMSxyPUFycmF5KHQuc2l6ZSk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7clsrK25dPXR9KSkscn1mdW5jdGlvbiBocih0KXt2YXIgbj0tMSxyPUFycmF5KHQuc2l6ZSk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7clsrK25dPVt0LHRdfSkpLHJ9ZnVuY3Rpb24gcHIodCl7cmV0dXJuIGFyKHQpP2Z1bmN0aW9uKHQpe3ZhciBuPXRuLmxhc3RJbmRleD0wO2Zvcig7dG4udGVzdCh0KTspKytuO3JldHVybiBufSh0KTpCbih0KX1mdW5jdGlvbiB2cih0KXtyZXR1cm4gYXIodCk/ZnVuY3Rpb24odCl7cmV0dXJuIHQubWF0Y2godG4pfHxbXX0odCk6ZnVuY3Rpb24odCl7cmV0dXJuIHQuc3BsaXQoIiIpfSh0KX1mdW5jdGlvbiBncih0KXtmb3IodmFyIG49dC5sZW5ndGg7bi0tJiZhdC50ZXN0KHQuY2hhckF0KG4pKTspO3JldHVybiBufXZhciBkcj1Ibih7IiZhbXA7IjoiJiIsIiZsdDsiOiI8IiwiJmd0OyI6Ij4iLCImcXVvdDsiOiciJywiJiMzOTsiOiInIn0pO3ZhciB5cj1mdW5jdGlvbiB0KG4pe3ZhciByLGU9KG49bnVsbD09bj92bjp5ci5kZWZhdWx0cyh2bi5PYmplY3QoKSxuLHlyLnBpY2sodm4sb24pKSkuQXJyYXksYXQ9bi5EYXRlLEV0PW4uRXJyb3IsU3Q9bi5GdW5jdGlvbixBdD1uLk1hdGgsanQ9bi5PYmplY3QsUnQ9bi5SZWdFeHAsSXQ9bi5TdHJpbmcsa3Q9bi5UeXBlRXJyb3IsTHQ9ZS5wcm90b3R5cGUsVHQ9U3QucHJvdG90eXBlLFB0PWp0LnByb3RvdHlwZSxNdD1uWyJfX2NvcmUtanNfc2hhcmVkX18iXSxOdD1UdC50b1N0cmluZyxVdD1QdC5oYXNPd25Qcm9wZXJ0eSxDdD0wLEZ0PShyPS9bXi5dKyQvLmV4ZWMoTXQmJk10LmtleXMmJk10LmtleXMuSUVfUFJPVE98fCIiKSk/IlN5bWJvbChzcmMpXzEuIityOiIiLEJ0PVB0LnRvU3RyaW5nLHp0PU50LmNhbGwoanQpLFd0PXZuLl8sRHQ9UnQoIl4iK050LmNhbGwoVXQpLnJlcGxhY2Uob3QsIlxcJCYiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcKCl8IGZvciAuKz8oPz1cXFxdKS9nLCIkMS4qPyIpKyIkIikscXQ9eW4/bi5CdWZmZXI6bywkdD1uLlN5bWJvbCxHdD1uLlVpbnQ4QXJyYXksVnQ9cXQ/cXQuYWxsb2NVbnNhZmU6byxIdD1mcihqdC5nZXRQcm90b3R5cGVPZixqdCksS3Q9anQuY3JlYXRlLFl0PVB0LnByb3BlcnR5SXNFbnVtZXJhYmxlLFp0PUx0LnNwbGljZSxKdD0kdD8kdC5pc0NvbmNhdFNwcmVhZGFibGU6byx0bj0kdD8kdC5pdGVyYXRvcjpvLHJuPSR0PyR0LnRvU3RyaW5nVGFnOm8sZm49ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9dmkoanQsImRlZmluZVByb3BlcnR5Iik7cmV0dXJuIHQoe30sIiIse30pLHR9Y2F0Y2godCl7fX0oKSxobj1uLmNsZWFyVGltZW91dCE9PXZuLmNsZWFyVGltZW91dCYmbi5jbGVhclRpbWVvdXQscG49YXQmJmF0Lm5vdyE9PXZuLkRhdGUubm93JiZhdC5ub3csZ249bi5zZXRUaW1lb3V0IT09dm4uc2V0VGltZW91dCYmbi5zZXRUaW1lb3V0LGRuPUF0LmNlaWwsX249QXQuZmxvb3IsYm49anQuZ2V0T3duUHJvcGVydHlTeW1ib2xzLEJuPXF0P3F0LmlzQnVmZmVyOm8sSG49bi5pc0Zpbml0ZSxfcj1MdC5qb2luLGJyPWZyKGp0LmtleXMsanQpLG1yPUF0Lm1heCx4cj1BdC5taW4sd3I9YXQubm93LE9yPW4ucGFyc2VJbnQsRXI9QXQucmFuZG9tLFNyPUx0LnJldmVyc2UsQXI9dmkobiwiRGF0YVZpZXciKSxqcj12aShuLCJNYXAiKSxScj12aShuLCJQcm9taXNlIiksSXI9dmkobiwiU2V0Iiksa3I9dmkobiwiV2Vha01hcCIpLExyPXZpKGp0LCJjcmVhdGUiKSxUcj1rciYmbmV3IGtyLFByPXt9LE1yPVdpKEFyKSxOcj1XaShqciksVXI9V2koUnIpLENyPVdpKElyKSxGcj1XaShrciksQnI9JHQ/JHQucHJvdG90eXBlOm8senI9QnI/QnIudmFsdWVPZjpvLFdyPUJyP0JyLnRvU3RyaW5nOm87ZnVuY3Rpb24gRHIodCl7aWYob2EodCkmJiFIdSh0KSYmISh0IGluc3RhbmNlb2YgVnIpKXtpZih0IGluc3RhbmNlb2YgR3IpcmV0dXJuIHQ7aWYoVXQuY2FsbCh0LCJfX3dyYXBwZWRfXyIpKXJldHVybiBEaSh0KX1yZXR1cm4gbmV3IEdyKHQpfXZhciBxcj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIGZ1bmN0aW9uKG4pe2lmKCFlYShuKSlyZXR1cm57fTtpZihLdClyZXR1cm4gS3Qobik7dC5wcm90b3R5cGU9bjt2YXIgcj1uZXcgdDtyZXR1cm4gdC5wcm90b3R5cGU9byxyfX0oKTtmdW5jdGlvbiAkcigpe31mdW5jdGlvbiBHcih0LG4pe3RoaXMuX193cmFwcGVkX189dCx0aGlzLl9fYWN0aW9uc19fPVtdLHRoaXMuX19jaGFpbl9fPSEhbix0aGlzLl9faW5kZXhfXz0wLHRoaXMuX192YWx1ZXNfXz1vfWZ1bmN0aW9uIFZyKHQpe3RoaXMuX193cmFwcGVkX189dCx0aGlzLl9fYWN0aW9uc19fPVtdLHRoaXMuX19kaXJfXz0xLHRoaXMuX19maWx0ZXJlZF9fPSExLHRoaXMuX19pdGVyYXRlZXNfXz1bXSx0aGlzLl9fdGFrZUNvdW50X189ZCx0aGlzLl9fdmlld3NfXz1bXX1mdW5jdGlvbiBIcih0KXt2YXIgbj0tMSxyPW51bGw9PXQ/MDp0Lmxlbmd0aDtmb3IodGhpcy5jbGVhcigpOysrbjxyOyl7dmFyIGU9dFtuXTt0aGlzLnNldChlWzBdLGVbMV0pfX1mdW5jdGlvbiBLcih0KXt2YXIgbj0tMSxyPW51bGw9PXQ/MDp0Lmxlbmd0aDtmb3IodGhpcy5jbGVhcigpOysrbjxyOyl7dmFyIGU9dFtuXTt0aGlzLnNldChlWzBdLGVbMV0pfX1mdW5jdGlvbiBZcih0KXt2YXIgbj0tMSxyPW51bGw9PXQ/MDp0Lmxlbmd0aDtmb3IodGhpcy5jbGVhcigpOysrbjxyOyl7dmFyIGU9dFtuXTt0aGlzLnNldChlWzBdLGVbMV0pfX1mdW5jdGlvbiBacih0KXt2YXIgbj0tMSxyPW51bGw9PXQ/MDp0Lmxlbmd0aDtmb3IodGhpcy5fX2RhdGFfXz1uZXcgWXI7KytuPHI7KXRoaXMuYWRkKHRbbl0pfWZ1bmN0aW9uIEpyKHQpe3ZhciBuPXRoaXMuX19kYXRhX189bmV3IEtyKHQpO3RoaXMuc2l6ZT1uLnNpemV9ZnVuY3Rpb24gWHIodCxuKXt2YXIgcj1IdSh0KSxlPSFyJiZWdSh0KSxvPSFyJiYhZSYmSnUodCksaT0hciYmIWUmJiFvJiZoYSh0KSx1PXJ8fGV8fG98fGksYT11P1puKHQubGVuZ3RoLEl0KTpbXSxjPWEubGVuZ3RoO2Zvcih2YXIgZiBpbiB0KSFuJiYhVXQuY2FsbCh0LGYpfHx1JiYoImxlbmd0aCI9PWZ8fG8mJigib2Zmc2V0Ij09Znx8InBhcmVudCI9PWYpfHxpJiYoImJ1ZmZlciI9PWZ8fCJieXRlTGVuZ3RoIj09Znx8ImJ5dGVPZmZzZXQiPT1mKXx8eGkoZixjKSl8fGEucHVzaChmKTtyZXR1cm4gYX1mdW5jdGlvbiBRcih0KXt2YXIgbj10Lmxlbmd0aDtyZXR1cm4gbj90W1plKDAsbi0xKV06b31mdW5jdGlvbiB0ZSh0LG4pe3JldHVybiBGaShUbyh0KSxmZShuLDAsdC5sZW5ndGgpKX1mdW5jdGlvbiBuZSh0KXtyZXR1cm4gRmkoVG8odCkpfWZ1bmN0aW9uIHJlKHQsbixyKXsociE9PW8mJiFxdSh0W25dLHIpfHxyPT09byYmIShuIGluIHQpKSYmYWUodCxuLHIpfWZ1bmN0aW9uIGVlKHQsbixyKXt2YXIgZT10W25dO1V0LmNhbGwodCxuKSYmcXUoZSxyKSYmKHIhPT1vfHxuIGluIHQpfHxhZSh0LG4scil9ZnVuY3Rpb24gb2UodCxuKXtmb3IodmFyIHI9dC5sZW5ndGg7ci0tOylpZihxdSh0W3JdWzBdLG4pKXJldHVybiByO3JldHVybi0xfWZ1bmN0aW9uIGllKHQsbixyLGUpe3JldHVybiB2ZSh0LChmdW5jdGlvbih0LG8saSl7bihlLHQscih0KSxpKX0pKSxlfWZ1bmN0aW9uIHVlKHQsbil7cmV0dXJuIHQmJlBvKG4sTWEobiksdCl9ZnVuY3Rpb24gYWUodCxuLHIpeyJfX3Byb3RvX18iPT1uJiZmbj9mbih0LG4se2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOnIsd3JpdGFibGU6ITB9KTp0W25dPXJ9ZnVuY3Rpb24gY2UodCxuKXtmb3IodmFyIHI9LTEsaT1uLmxlbmd0aCx1PWUoaSksYT1udWxsPT10OysrcjxpOyl1W3JdPWE/bzpJYSh0LG5bcl0pO3JldHVybiB1fWZ1bmN0aW9uIGZlKHQsbixyKXtyZXR1cm4gdD09dCYmKHIhPT1vJiYodD10PD1yP3Q6ciksbiE9PW8mJih0PXQ+PW4/dDpuKSksdH1mdW5jdGlvbiBzZSh0LG4scixlLGksdSl7dmFyIGEsYz0xJm4sZj0yJm4scz00Jm47aWYociYmKGE9aT9yKHQsZSxpLHUpOnIodCkpLGEhPT1vKXJldHVybiBhO2lmKCFlYSh0KSlyZXR1cm4gdDt2YXIgbD1IdSh0KTtpZihsKXtpZihhPWZ1bmN0aW9uKHQpe3ZhciBuPXQubGVuZ3RoLHI9bmV3IHQuY29uc3RydWN0b3Iobik7biYmInN0cmluZyI9PXR5cGVvZiB0WzBdJiZVdC5jYWxsKHQsImluZGV4IikmJihyLmluZGV4PXQuaW5kZXgsci5pbnB1dD10LmlucHV0KTtyZXR1cm4gcn0odCksIWMpcmV0dXJuIFRvKHQsYSl9ZWxzZXt2YXIgaD15aSh0KSxwPWg9PU98fGg9PUU7aWYoSnUodCkpcmV0dXJuIEFvKHQsYyk7aWYoaD09anx8aD09X3x8cCYmIWkpe2lmKGE9Znx8cD97fTpiaSh0KSwhYylyZXR1cm4gZj9mdW5jdGlvbih0LG4pe3JldHVybiBQbyh0LGRpKHQpLG4pfSh0LGZ1bmN0aW9uKHQsbil7cmV0dXJuIHQmJlBvKG4sTmEobiksdCl9KGEsdCkpOmZ1bmN0aW9uKHQsbil7cmV0dXJuIFBvKHQsZ2kodCksbil9KHQsdWUoYSx0KSl9ZWxzZXtpZighY25baF0pcmV0dXJuIGk/dDp7fTthPWZ1bmN0aW9uKHQsbixyKXt2YXIgZT10LmNvbnN0cnVjdG9yO3N3aXRjaChuKXtjYXNlIE06cmV0dXJuIGpvKHQpO2Nhc2UgbTpjYXNlIHg6cmV0dXJuIG5ldyBlKCt0KTtjYXNlIE46cmV0dXJuIGZ1bmN0aW9uKHQsbil7dmFyIHI9bj9qbyh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9KHQscik7Y2FzZSBVOmNhc2UgQzpjYXNlIEY6Y2FzZSBCOmNhc2UgejpjYXNlIFc6Y2FzZSBEOmNhc2UgcTpjYXNlICQ6cmV0dXJuIFJvKHQscik7Y2FzZSBTOmNhc2UgazpyZXR1cm4gbmV3IGU7Y2FzZSBBOmNhc2UgTDpyZXR1cm4gbmV3IGUodCk7Y2FzZSBJOnJldHVybiBmdW5jdGlvbih0KXt2YXIgbj1uZXcgdC5jb25zdHJ1Y3Rvcih0LnNvdXJjZSxndC5leGVjKHQpKTtyZXR1cm4gbi5sYXN0SW5kZXg9dC5sYXN0SW5kZXgsbn0odCk7Y2FzZSBUOnJldHVybiBvPXQsenI/anQoenIuY2FsbChvKSk6e319dmFyIG99KHQsaCxjKX19dXx8KHU9bmV3IEpyKTt2YXIgdj11LmdldCh0KTtpZih2KXJldHVybiB2O3Uuc2V0KHQsYSksZmEodCk/dC5mb3JFYWNoKChmdW5jdGlvbihlKXthLmFkZChzZShlLG4scixlLHQsdSkpfSkpOmlhKHQpJiZ0LmZvckVhY2goKGZ1bmN0aW9uKGUsbyl7YS5zZXQobyxzZShlLG4scixvLHQsdSkpfSkpO3ZhciBnPWw/bzoocz9mP2FpOnVpOmY/TmE6TWEpKHQpO3JldHVybiBSbihnfHx0LChmdW5jdGlvbihlLG8pe2cmJihlPXRbbz1lXSksZWUoYSxvLHNlKGUsbixyLG8sdCx1KSl9KSksYX1mdW5jdGlvbiBsZSh0LG4scil7dmFyIGU9ci5sZW5ndGg7aWYobnVsbD09dClyZXR1cm4hZTtmb3IodD1qdCh0KTtlLS07KXt2YXIgaT1yW2VdLHU9bltpXSxhPXRbaV07aWYoYT09PW8mJiEoaSBpbiB0KXx8IXUoYSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gaGUodCxuLHIpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBrdChpKTtyZXR1cm4gTWkoKGZ1bmN0aW9uKCl7dC5hcHBseShvLHIpfSksbil9ZnVuY3Rpb24gcGUodCxuLHIsZSl7dmFyIG89LTEsaT1Ubix1PSEwLGE9dC5sZW5ndGgsYz1bXSxmPW4ubGVuZ3RoO2lmKCFhKXJldHVybiBjO3ImJihuPU1uKG4sWG4ocikpKSxlPyhpPVBuLHU9ITEpOm4ubGVuZ3RoPj0yMDAmJihpPXRyLHU9ITEsbj1uZXcgWnIobikpO3Q6Zm9yKDsrK288YTspe3ZhciBzPXRbb10sbD1udWxsPT1yP3M6cihzKTtpZihzPWV8fDAhPT1zP3M6MCx1JiZsPT1sKXtmb3IodmFyIGg9ZjtoLS07KWlmKG5baF09PT1sKWNvbnRpbnVlIHQ7Yy5wdXNoKHMpfWVsc2UgaShuLGwsZSl8fGMucHVzaChzKX1yZXR1cm4gY31Eci50ZW1wbGF0ZVNldHRpbmdzPXtlc2NhcGU6WCxldmFsdWF0ZTpRLGludGVycG9sYXRlOnR0LHZhcmlhYmxlOiIiLGltcG9ydHM6e186RHJ9fSxEci5wcm90b3R5cGU9JHIucHJvdG90eXBlLERyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1EcixHci5wcm90b3R5cGU9cXIoJHIucHJvdG90eXBlKSxHci5wcm90b3R5cGUuY29uc3RydWN0b3I9R3IsVnIucHJvdG90eXBlPXFyKCRyLnByb3RvdHlwZSksVnIucHJvdG90eXBlLmNvbnN0cnVjdG9yPVZyLEhyLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189THI/THIobnVsbCk6e30sdGhpcy5zaXplPTB9LEhyLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5oYXModCkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW3RdO3JldHVybiB0aGlzLnNpemUtPW4/MTowLG59LEhyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5fX2RhdGFfXztpZihMcil7dmFyIHI9blt0XTtyZXR1cm4gcj09PXU/bzpyfXJldHVybiBVdC5jYWxsKG4sdCk/blt0XTpvfSxIci5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIExyP25bdF0hPT1vOlV0LmNhbGwobix0KX0sSHIucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LG4pe3ZhciByPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLHJbdF09THImJm49PT1vP3U6bix0aGlzfSxLci5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPVtdLHRoaXMuc2l6ZT0wfSxLci5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuX19kYXRhX18scj1vZShuLHQpO3JldHVybiEocjwwKSYmKHI9PW4ubGVuZ3RoLTE/bi5wb3AoKTpadC5jYWxsKG4sciwxKSwtLXRoaXMuc2l6ZSwhMCl9LEtyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5fX2RhdGFfXyxyPW9lKG4sdCk7cmV0dXJuIHI8MD9vOm5bcl1bMV19LEtyLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIG9lKHRoaXMuX19kYXRhX18sdCk+LTF9LEtyLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxuKXt2YXIgcj10aGlzLl9fZGF0YV9fLGU9b2Uocix0KTtyZXR1cm4gZTwwPygrK3RoaXMuc2l6ZSxyLnB1c2goW3Qsbl0pKTpyW2VdWzFdPW4sdGhpc30sWXIucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5zaXplPTAsdGhpcy5fX2RhdGFfXz17aGFzaDpuZXcgSHIsbWFwOm5ldyhqcnx8S3IpLHN0cmluZzpuZXcgSHJ9fSxZci5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciBuPWhpKHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPW4/MTowLG59LFlyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGhpKHRoaXMsdCkuZ2V0KHQpfSxZci5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiBoaSh0aGlzLHQpLmhhcyh0KX0sWXIucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LG4pe3ZhciByPWhpKHRoaXMsdCksZT1yLnNpemU7cmV0dXJuIHIuc2V0KHQsbiksdGhpcy5zaXplKz1yLnNpemU9PWU/MDoxLHRoaXN9LFpyLnByb3RvdHlwZS5hZGQ9WnIucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uc2V0KHQsdSksdGhpc30sWnIucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9LEpyLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189bmV3IEtyLHRoaXMuc2l6ZT0wfSxKci5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuX19kYXRhX18scj1uLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPW4uc2l6ZSxyfSxKci5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX0sSnIucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9LEpyLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxuKXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKHIgaW5zdGFuY2VvZiBLcil7dmFyIGU9ci5fX2RhdGFfXztpZighanJ8fGUubGVuZ3RoPDE5OSlyZXR1cm4gZS5wdXNoKFt0LG5dKSx0aGlzLnNpemU9KytyLnNpemUsdGhpcztyPXRoaXMuX19kYXRhX189bmV3IFlyKGUpfXJldHVybiByLnNldCh0LG4pLHRoaXMuc2l6ZT1yLnNpemUsdGhpc307dmFyIHZlPVVvKHdlKSxnZT1VbyhPZSwhMCk7ZnVuY3Rpb24gZGUodCxuKXt2YXIgcj0hMDtyZXR1cm4gdmUodCwoZnVuY3Rpb24odCxlLG8pe3JldHVybiByPSEhbih0LGUsbyl9KSkscn1mdW5jdGlvbiB5ZSh0LG4scil7Zm9yKHZhciBlPS0xLGk9dC5sZW5ndGg7KytlPGk7KXt2YXIgdT10W2VdLGE9bih1KTtpZihudWxsIT1hJiYoYz09PW8/YT09YSYmIWxhKGEpOnIoYSxjKSkpdmFyIGM9YSxmPXV9cmV0dXJuIGZ9ZnVuY3Rpb24gX2UodCxuKXt2YXIgcj1bXTtyZXR1cm4gdmUodCwoZnVuY3Rpb24odCxlLG8pe24odCxlLG8pJiZyLnB1c2godCl9KSkscn1mdW5jdGlvbiBiZSh0LG4scixlLG8pe3ZhciBpPS0xLHU9dC5sZW5ndGg7Zm9yKHJ8fChyPW1pKSxvfHwobz1bXSk7KytpPHU7KXt2YXIgYT10W2ldO24+MCYmcihhKT9uPjE/YmUoYSxuLTEscixlLG8pOk5uKG8sYSk6ZXx8KG9bby5sZW5ndGhdPWEpfXJldHVybiBvfXZhciBtZT1DbygpLHhlPUNvKCEwKTtmdW5jdGlvbiB3ZSh0LG4pe3JldHVybiB0JiZtZSh0LG4sTWEpfWZ1bmN0aW9uIE9lKHQsbil7cmV0dXJuIHQmJnhlKHQsbixNYSl9ZnVuY3Rpb24gRWUodCxuKXtyZXR1cm4gTG4obiwoZnVuY3Rpb24obil7cmV0dXJuIHRhKHRbbl0pfSkpfWZ1bmN0aW9uIFNlKHQsbil7Zm9yKHZhciByPTAsZT0obj13byhuLHQpKS5sZW5ndGg7bnVsbCE9dCYmcjxlOyl0PXRbemkobltyKytdKV07cmV0dXJuIHImJnI9PWU/dDpvfWZ1bmN0aW9uIEFlKHQsbixyKXt2YXIgZT1uKHQpO3JldHVybiBIdSh0KT9lOk5uKGUscih0KSl9ZnVuY3Rpb24gamUodCl7cmV0dXJuIG51bGw9PXQ/dD09PW8/IltvYmplY3QgVW5kZWZpbmVkXSI6IltvYmplY3QgTnVsbF0iOnJuJiZybiBpbiBqdCh0KT9mdW5jdGlvbih0KXt2YXIgbj1VdC5jYWxsKHQscm4pLHI9dFtybl07dHJ5e3Rbcm5dPW87dmFyIGU9ITB9Y2F0Y2godCl7fXZhciBpPUJ0LmNhbGwodCk7ZSYmKG4/dFtybl09cjpkZWxldGUgdFtybl0pO3JldHVybiBpfSh0KTpmdW5jdGlvbih0KXtyZXR1cm4gQnQuY2FsbCh0KX0odCl9ZnVuY3Rpb24gUmUodCxuKXtyZXR1cm4gdD5ufWZ1bmN0aW9uIEllKHQsbil7cmV0dXJuIG51bGwhPXQmJlV0LmNhbGwodCxuKX1mdW5jdGlvbiBrZSh0LG4pe3JldHVybiBudWxsIT10JiZuIGluIGp0KHQpfWZ1bmN0aW9uIExlKHQsbixyKXtmb3IodmFyIGk9cj9QbjpUbix1PXRbMF0ubGVuZ3RoLGE9dC5sZW5ndGgsYz1hLGY9ZShhKSxzPTEvMCxsPVtdO2MtLTspe3ZhciBoPXRbY107YyYmbiYmKGg9TW4oaCxYbihuKSkpLHM9eHIoaC5sZW5ndGgscyksZltjXT0hciYmKG58fHU+PTEyMCYmaC5sZW5ndGg+PTEyMCk/bmV3IFpyKGMmJmgpOm99aD10WzBdO3ZhciBwPS0xLHY9ZlswXTt0OmZvcig7KytwPHUmJmwubGVuZ3RoPHM7KXt2YXIgZz1oW3BdLGQ9bj9uKGcpOmc7aWYoZz1yfHwwIT09Zz9nOjAsISh2P3RyKHYsZCk6aShsLGQscikpKXtmb3IoYz1hOy0tYzspe3ZhciB5PWZbY107aWYoISh5P3RyKHksZCk6aSh0W2NdLGQscikpKWNvbnRpbnVlIHR9diYmdi5wdXNoKGQpLGwucHVzaChnKX19cmV0dXJuIGx9ZnVuY3Rpb24gVGUodCxuLHIpe3ZhciBlPW51bGw9PSh0PWtpKHQsbj13byhuLHQpKSk/dDp0W3ppKFFpKG4pKV07cmV0dXJuIG51bGw9PWU/bzpBbihlLHQscil9ZnVuY3Rpb24gUGUodCl7cmV0dXJuIG9hKHQpJiZqZSh0KT09X31mdW5jdGlvbiBNZSh0LG4scixlLGkpe3JldHVybiB0PT09bnx8KG51bGw9PXR8fG51bGw9PW58fCFvYSh0KSYmIW9hKG4pP3QhPXQmJm4hPW46ZnVuY3Rpb24odCxuLHIsZSxpLHUpe3ZhciBhPUh1KHQpLGM9SHUobiksZj1hP2I6eWkodCkscz1jP2I6eWkobiksbD0oZj1mPT1fP2o6Zik9PWosaD0ocz1zPT1fP2o6cyk9PWoscD1mPT1zO2lmKHAmJkp1KHQpKXtpZighSnUobikpcmV0dXJuITE7YT0hMCxsPSExfWlmKHAmJiFsKXJldHVybiB1fHwodT1uZXcgSnIpLGF8fGhhKHQpP29pKHQsbixyLGUsaSx1KTpmdW5jdGlvbih0LG4scixlLG8saSx1KXtzd2l0Y2gocil7Y2FzZSBOOmlmKHQuYnl0ZUxlbmd0aCE9bi5ieXRlTGVuZ3RofHx0LmJ5dGVPZmZzZXQhPW4uYnl0ZU9mZnNldClyZXR1cm4hMTt0PXQuYnVmZmVyLG49bi5idWZmZXI7Y2FzZSBNOnJldHVybiEodC5ieXRlTGVuZ3RoIT1uLmJ5dGVMZW5ndGh8fCFpKG5ldyBHdCh0KSxuZXcgR3QobikpKTtjYXNlIG06Y2FzZSB4OmNhc2UgQTpyZXR1cm4gcXUoK3QsK24pO2Nhc2UgdzpyZXR1cm4gdC5uYW1lPT1uLm5hbWUmJnQubWVzc2FnZT09bi5tZXNzYWdlO2Nhc2UgSTpjYXNlIEw6cmV0dXJuIHQ9PW4rIiI7Y2FzZSBTOnZhciBhPWNyO2Nhc2Ugazp2YXIgYz0xJmU7aWYoYXx8KGE9bHIpLHQuc2l6ZSE9bi5zaXplJiYhYylyZXR1cm4hMTt2YXIgZj11LmdldCh0KTtpZihmKXJldHVybiBmPT1uO2V8PTIsdS5zZXQodCxuKTt2YXIgcz1vaShhKHQpLGEobiksZSxvLGksdSk7cmV0dXJuIHUuZGVsZXRlKHQpLHM7Y2FzZSBUOmlmKHpyKXJldHVybiB6ci5jYWxsKHQpPT16ci5jYWxsKG4pfXJldHVybiExfSh0LG4sZixyLGUsaSx1KTtpZighKDEmcikpe3ZhciB2PWwmJlV0LmNhbGwodCwiX193cmFwcGVkX18iKSxnPWgmJlV0LmNhbGwobiwiX193cmFwcGVkX18iKTtpZih2fHxnKXt2YXIgZD12P3QudmFsdWUoKTp0LHk9Zz9uLnZhbHVlKCk6bjtyZXR1cm4gdXx8KHU9bmV3IEpyKSxpKGQseSxyLGUsdSl9fWlmKCFwKXJldHVybiExO3JldHVybiB1fHwodT1uZXcgSnIpLGZ1bmN0aW9uKHQsbixyLGUsaSx1KXt2YXIgYT0xJnIsYz11aSh0KSxmPWMubGVuZ3RoLHM9dWkobikubGVuZ3RoO2lmKGYhPXMmJiFhKXJldHVybiExO3ZhciBsPWY7Zm9yKDtsLS07KXt2YXIgaD1jW2xdO2lmKCEoYT9oIGluIG46VXQuY2FsbChuLGgpKSlyZXR1cm4hMX12YXIgcD11LmdldCh0KSx2PXUuZ2V0KG4pO2lmKHAmJnYpcmV0dXJuIHA9PW4mJnY9PXQ7dmFyIGc9ITA7dS5zZXQodCxuKSx1LnNldChuLHQpO3ZhciBkPWE7Zm9yKDsrK2w8Zjspe3ZhciB5PXRbaD1jW2xdXSxfPW5baF07aWYoZSl2YXIgYj1hP2UoXyx5LGgsbix0LHUpOmUoeSxfLGgsdCxuLHUpO2lmKCEoYj09PW8/eT09PV98fGkoeSxfLHIsZSx1KTpiKSl7Zz0hMTticmVha31kfHwoZD0iY29uc3RydWN0b3IiPT1oKX1pZihnJiYhZCl7dmFyIG09dC5jb25zdHJ1Y3Rvcix4PW4uY29uc3RydWN0b3I7bT09eHx8ISgiY29uc3RydWN0b3IiaW4gdCl8fCEoImNvbnN0cnVjdG9yImluIG4pfHwiZnVuY3Rpb24iPT10eXBlb2YgbSYmbSBpbnN0YW5jZW9mIG0mJiJmdW5jdGlvbiI9PXR5cGVvZiB4JiZ4IGluc3RhbmNlb2YgeHx8KGc9ITEpfXJldHVybiB1LmRlbGV0ZSh0KSx1LmRlbGV0ZShuKSxnfSh0LG4scixlLGksdSl9KHQsbixyLGUsTWUsaSkpfWZ1bmN0aW9uIE5lKHQsbixyLGUpe3ZhciBpPXIubGVuZ3RoLHU9aSxhPSFlO2lmKG51bGw9PXQpcmV0dXJuIXU7Zm9yKHQ9anQodCk7aS0tOyl7dmFyIGM9cltpXTtpZihhJiZjWzJdP2NbMV0hPT10W2NbMF1dOiEoY1swXWluIHQpKXJldHVybiExfWZvcig7KytpPHU7KXt2YXIgZj0oYz1yW2ldKVswXSxzPXRbZl0sbD1jWzFdO2lmKGEmJmNbMl0pe2lmKHM9PT1vJiYhKGYgaW4gdCkpcmV0dXJuITF9ZWxzZXt2YXIgaD1uZXcgSnI7aWYoZSl2YXIgcD1lKHMsbCxmLHQsbixoKTtpZighKHA9PT1vP01lKGwscywzLGUsaCk6cCkpcmV0dXJuITF9fXJldHVybiEwfWZ1bmN0aW9uIFVlKHQpe3JldHVybiEoIWVhKHQpfHwobj10LEZ0JiZGdCBpbiBuKSkmJih0YSh0KT9EdDpfdCkudGVzdChXaSh0KSk7dmFyIG59ZnVuY3Rpb24gQ2UodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpudWxsPT10P3VjOiJvYmplY3QiPT10eXBlb2YgdD9IdSh0KT9xZSh0WzBdLHRbMV0pOkRlKHQpOmdjKHQpfWZ1bmN0aW9uIEZlKHQpe2lmKCFBaSh0KSlyZXR1cm4gYnIodCk7dmFyIG49W107Zm9yKHZhciByIGluIGp0KHQpKVV0LmNhbGwodCxyKSYmImNvbnN0cnVjdG9yIiE9ciYmbi5wdXNoKHIpO3JldHVybiBufWZ1bmN0aW9uIEJlKHQpe2lmKCFlYSh0KSlyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49W107aWYobnVsbCE9dClmb3IodmFyIHIgaW4ganQodCkpbi5wdXNoKHIpO3JldHVybiBufSh0KTt2YXIgbj1BaSh0KSxyPVtdO2Zvcih2YXIgZSBpbiB0KSgiY29uc3RydWN0b3IiIT1lfHwhbiYmVXQuY2FsbCh0LGUpKSYmci5wdXNoKGUpO3JldHVybiByfWZ1bmN0aW9uIHplKHQsbil7cmV0dXJuIHQ8bn1mdW5jdGlvbiBXZSh0LG4pe3ZhciByPS0xLG89WXUodCk/ZSh0Lmxlbmd0aCk6W107cmV0dXJuIHZlKHQsKGZ1bmN0aW9uKHQsZSxpKXtvWysrcl09bih0LGUsaSl9KSksb31mdW5jdGlvbiBEZSh0KXt2YXIgbj1waSh0KTtyZXR1cm4gMT09bi5sZW5ndGgmJm5bMF1bMl0/UmkoblswXVswXSxuWzBdWzFdKTpmdW5jdGlvbihyKXtyZXR1cm4gcj09PXR8fE5lKHIsdCxuKX19ZnVuY3Rpb24gcWUodCxuKXtyZXR1cm4gT2kodCkmJmppKG4pP1JpKHppKHQpLG4pOmZ1bmN0aW9uKHIpe3ZhciBlPUlhKHIsdCk7cmV0dXJuIGU9PT1vJiZlPT09bj9rYShyLHQpOk1lKG4sZSwzKX19ZnVuY3Rpb24gJGUodCxuLHIsZSxpKXt0IT09biYmbWUobiwoZnVuY3Rpb24odSxhKXtpZihpfHwoaT1uZXcgSnIpLGVhKHUpKSFmdW5jdGlvbih0LG4scixlLGksdSxhKXt2YXIgYz1UaSh0LHIpLGY9VGkobixyKSxzPWEuZ2V0KGYpO2lmKHMpcmV0dXJuIHZvaWQgcmUodCxyLHMpO3ZhciBsPXU/dShjLGYscisiIix0LG4sYSk6byxoPWw9PT1vO2lmKGgpe3ZhciBwPUh1KGYpLHY9IXAmJkp1KGYpLGc9IXAmJiF2JiZoYShmKTtsPWYscHx8dnx8Zz9IdShjKT9sPWM6WnUoYyk/bD1UbyhjKTp2PyhoPSExLGw9QW8oZiwhMCkpOmc/KGg9ITEsbD1SbyhmLCEwKSk6bD1bXTphYShmKXx8VnUoZik/KGw9YyxWdShjKT9sPW1hKGMpOmVhKGMpJiYhdGEoYyl8fChsPWJpKGYpKSk6aD0hMX1oJiYoYS5zZXQoZixsKSxpKGwsZixlLHUsYSksYS5kZWxldGUoZikpO3JlKHQscixsKX0odCxuLGEsciwkZSxlLGkpO2Vsc2V7dmFyIGM9ZT9lKFRpKHQsYSksdSxhKyIiLHQsbixpKTpvO2M9PT1vJiYoYz11KSxyZSh0LGEsYyl9fSksTmEpfWZ1bmN0aW9uIEdlKHQsbil7dmFyIHI9dC5sZW5ndGg7aWYocilyZXR1cm4geGkobis9bjwwP3I6MCxyKT90W25dOm99ZnVuY3Rpb24gVmUodCxuLHIpe249bi5sZW5ndGg/TW4obiwoZnVuY3Rpb24odCl7cmV0dXJuIEh1KHQpP2Z1bmN0aW9uKG4pe3JldHVybiBTZShuLDE9PT10Lmxlbmd0aD90WzBdOnQpfTp0fSkpOlt1Y107dmFyIGU9LTE7bj1NbihuLFhuKGxpKCkpKTt2YXIgbz1XZSh0LChmdW5jdGlvbih0LHIsbyl7dmFyIGk9TW4obiwoZnVuY3Rpb24obil7cmV0dXJuIG4odCl9KSk7cmV0dXJue2NyaXRlcmlhOmksaW5kZXg6KytlLHZhbHVlOnR9fSkpO3JldHVybiBmdW5jdGlvbih0LG4pe3ZhciByPXQubGVuZ3RoO2Zvcih0LnNvcnQobik7ci0tOyl0W3JdPXRbcl0udmFsdWU7cmV0dXJuIHR9KG8sKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGZ1bmN0aW9uKHQsbixyKXt2YXIgZT0tMSxvPXQuY3JpdGVyaWEsaT1uLmNyaXRlcmlhLHU9by5sZW5ndGgsYT1yLmxlbmd0aDtmb3IoOysrZTx1Oyl7dmFyIGM9SW8ob1tlXSxpW2VdKTtpZihjKXJldHVybiBlPj1hP2M6YyooImRlc2MiPT1yW2VdPy0xOjEpfXJldHVybiB0LmluZGV4LW4uaW5kZXh9KHQsbixyKX0pKX1mdW5jdGlvbiBIZSh0LG4scil7Zm9yKHZhciBlPS0xLG89bi5sZW5ndGgsaT17fTsrK2U8bzspe3ZhciB1PW5bZV0sYT1TZSh0LHUpO3IoYSx1KSYmbm8oaSx3byh1LHQpLGEpfXJldHVybiBpfWZ1bmN0aW9uIEtlKHQsbixyLGUpe3ZhciBvPWU/cW46RG4saT0tMSx1PW4ubGVuZ3RoLGE9dDtmb3IodD09PW4mJihuPVRvKG4pKSxyJiYoYT1Nbih0LFhuKHIpKSk7KytpPHU7KWZvcih2YXIgYz0wLGY9bltpXSxzPXI/cihmKTpmOyhjPW8oYSxzLGMsZSkpPi0xOylhIT09dCYmWnQuY2FsbChhLGMsMSksWnQuY2FsbCh0LGMsMSk7cmV0dXJuIHR9ZnVuY3Rpb24gWWUodCxuKXtmb3IodmFyIHI9dD9uLmxlbmd0aDowLGU9ci0xO3ItLTspe3ZhciBvPW5bcl07aWYocj09ZXx8byE9PWkpe3ZhciBpPW87eGkobyk/WnQuY2FsbCh0LG8sMSk6cG8odCxvKX19cmV0dXJuIHR9ZnVuY3Rpb24gWmUodCxuKXtyZXR1cm4gdCtfbihFcigpKihuLXQrMSkpfWZ1bmN0aW9uIEplKHQsbil7dmFyIHI9IiI7aWYoIXR8fG48MXx8bj52KXJldHVybiByO2Rve24lMiYmKHIrPXQpLChuPV9uKG4vMikpJiYodCs9dCl9d2hpbGUobik7cmV0dXJuIHJ9ZnVuY3Rpb24gWGUodCxuKXtyZXR1cm4gTmkoSWkodCxuLHVjKSx0KyIiKX1mdW5jdGlvbiBRZSh0KXtyZXR1cm4gUXIocWEodCkpfWZ1bmN0aW9uIHRvKHQsbil7dmFyIHI9cWEodCk7cmV0dXJuIEZpKHIsZmUobiwwLHIubGVuZ3RoKSl9ZnVuY3Rpb24gbm8odCxuLHIsZSl7aWYoIWVhKHQpKXJldHVybiB0O2Zvcih2YXIgaT0tMSx1PShuPXdvKG4sdCkpLmxlbmd0aCxhPXUtMSxjPXQ7bnVsbCE9YyYmKytpPHU7KXt2YXIgZj16aShuW2ldKSxzPXI7aWYoIl9fcHJvdG9fXyI9PT1mfHwiY29uc3RydWN0b3IiPT09Znx8InByb3RvdHlwZSI9PT1mKXJldHVybiB0O2lmKGkhPWEpe3ZhciBsPWNbZl07KHM9ZT9lKGwsZixjKTpvKT09PW8mJihzPWVhKGwpP2w6eGkobltpKzFdKT9bXTp7fSl9ZWUoYyxmLHMpLGM9Y1tmXX1yZXR1cm4gdH12YXIgcm89VHI/ZnVuY3Rpb24odCxuKXtyZXR1cm4gVHIuc2V0KHQsbiksdH06dWMsZW89Zm4/ZnVuY3Rpb24odCxuKXtyZXR1cm4gZm4odCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTplYyhuKSx3cml0YWJsZTohMH0pfTp1YztmdW5jdGlvbiBvbyh0KXtyZXR1cm4gRmkocWEodCkpfWZ1bmN0aW9uIGlvKHQsbixyKXt2YXIgbz0tMSxpPXQubGVuZ3RoO248MCYmKG49LW4+aT8wOmkrbiksKHI9cj5pP2k6cik8MCYmKHIrPWkpLGk9bj5yPzA6ci1uPj4+MCxuPj4+PTA7Zm9yKHZhciB1PWUoaSk7KytvPGk7KXVbb109dFtvK25dO3JldHVybiB1fWZ1bmN0aW9uIHVvKHQsbil7dmFyIHI7cmV0dXJuIHZlKHQsKGZ1bmN0aW9uKHQsZSxvKXtyZXR1cm4hKHI9bih0LGUsbykpfSkpLCEhcn1mdW5jdGlvbiBhbyh0LG4scil7dmFyIGU9MCxvPW51bGw9PXQ/ZTp0Lmxlbmd0aDtpZigibnVtYmVyIj09dHlwZW9mIG4mJm49PW4mJm88PTIxNDc0ODM2NDcpe2Zvcig7ZTxvOyl7dmFyIGk9ZStvPj4+MSx1PXRbaV07bnVsbCE9PXUmJiFsYSh1KSYmKHI/dTw9bjp1PG4pP2U9aSsxOm89aX1yZXR1cm4gb31yZXR1cm4gY28odCxuLHVjLHIpfWZ1bmN0aW9uIGNvKHQsbixyLGUpe3ZhciBpPTAsdT1udWxsPT10PzA6dC5sZW5ndGg7aWYoMD09PXUpcmV0dXJuIDA7Zm9yKHZhciBhPShuPXIobikpIT1uLGM9bnVsbD09PW4sZj1sYShuKSxzPW49PT1vO2k8dTspe3ZhciBsPV9uKChpK3UpLzIpLGg9cih0W2xdKSxwPWghPT1vLHY9bnVsbD09PWgsZz1oPT1oLGQ9bGEoaCk7aWYoYSl2YXIgeT1lfHxnO2Vsc2UgeT1zP2cmJihlfHxwKTpjP2cmJnAmJihlfHwhdik6Zj9nJiZwJiYhdiYmKGV8fCFkKTohdiYmIWQmJihlP2g8PW46aDxuKTt5P2k9bCsxOnU9bH1yZXR1cm4geHIodSw0Mjk0OTY3Mjk0KX1mdW5jdGlvbiBmbyh0LG4pe2Zvcih2YXIgcj0tMSxlPXQubGVuZ3RoLG89MCxpPVtdOysrcjxlOyl7dmFyIHU9dFtyXSxhPW4/bih1KTp1O2lmKCFyfHwhcXUoYSxjKSl7dmFyIGM9YTtpW28rK109MD09PXU/MDp1fX1yZXR1cm4gaX1mdW5jdGlvbiBzbyh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQ/dDpsYSh0KT9nOit0fWZ1bmN0aW9uIGxvKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gdDtpZihIdSh0KSlyZXR1cm4gTW4odCxsbykrIiI7aWYobGEodCkpcmV0dXJuIFdyP1dyLmNhbGwodCk6IiI7dmFyIG49dCsiIjtyZXR1cm4iMCI9PW4mJjEvdD09LTEvMD8iLTAiOm59ZnVuY3Rpb24gaG8odCxuLHIpe3ZhciBlPS0xLG89VG4saT10Lmxlbmd0aCx1PSEwLGE9W10sYz1hO2lmKHIpdT0hMSxvPVBuO2Vsc2UgaWYoaT49MjAwKXt2YXIgZj1uP251bGw6WG8odCk7aWYoZilyZXR1cm4gbHIoZik7dT0hMSxvPXRyLGM9bmV3IFpyfWVsc2UgYz1uP1tdOmE7dDpmb3IoOysrZTxpOyl7dmFyIHM9dFtlXSxsPW4/bihzKTpzO2lmKHM9cnx8MCE9PXM/czowLHUmJmw9PWwpe2Zvcih2YXIgaD1jLmxlbmd0aDtoLS07KWlmKGNbaF09PT1sKWNvbnRpbnVlIHQ7biYmYy5wdXNoKGwpLGEucHVzaChzKX1lbHNlIG8oYyxsLHIpfHwoYyE9PWEmJmMucHVzaChsKSxhLnB1c2gocykpfXJldHVybiBhfWZ1bmN0aW9uIHBvKHQsbil7cmV0dXJuIG51bGw9PSh0PWtpKHQsbj13byhuLHQpKSl8fGRlbGV0ZSB0W3ppKFFpKG4pKV19ZnVuY3Rpb24gdm8odCxuLHIsZSl7cmV0dXJuIG5vKHQsbixyKFNlKHQsbikpLGUpfWZ1bmN0aW9uIGdvKHQsbixyLGUpe2Zvcih2YXIgbz10Lmxlbmd0aCxpPWU/bzotMTsoZT9pLS06KytpPG8pJiZuKHRbaV0saSx0KTspO3JldHVybiByP2lvKHQsZT8wOmksZT9pKzE6byk6aW8odCxlP2krMTowLGU/bzppKX1mdW5jdGlvbiB5byh0LG4pe3ZhciByPXQ7cmV0dXJuIHIgaW5zdGFuY2VvZiBWciYmKHI9ci52YWx1ZSgpKSxVbihuLChmdW5jdGlvbih0LG4pe3JldHVybiBuLmZ1bmMuYXBwbHkobi50aGlzQXJnLE5uKFt0XSxuLmFyZ3MpKX0pLHIpfWZ1bmN0aW9uIF9vKHQsbixyKXt2YXIgbz10Lmxlbmd0aDtpZihvPDIpcmV0dXJuIG8/aG8odFswXSk6W107Zm9yKHZhciBpPS0xLHU9ZShvKTsrK2k8bzspZm9yKHZhciBhPXRbaV0sYz0tMTsrK2M8bzspYyE9aSYmKHVbaV09cGUodVtpXXx8YSx0W2NdLG4scikpO3JldHVybiBobyhiZSh1LDEpLG4scil9ZnVuY3Rpb24gYm8odCxuLHIpe2Zvcih2YXIgZT0tMSxpPXQubGVuZ3RoLHU9bi5sZW5ndGgsYT17fTsrK2U8aTspe3ZhciBjPWU8dT9uW2VdOm87cihhLHRbZV0sYyl9cmV0dXJuIGF9ZnVuY3Rpb24gbW8odCl7cmV0dXJuIFp1KHQpP3Q6W119ZnVuY3Rpb24geG8odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDp1Y31mdW5jdGlvbiB3byh0LG4pe3JldHVybiBIdSh0KT90Ok9pKHQsbik/W3RdOkJpKHhhKHQpKX12YXIgT289WGU7ZnVuY3Rpb24gRW8odCxuLHIpe3ZhciBlPXQubGVuZ3RoO3JldHVybiByPXI9PT1vP2U6ciwhbiYmcj49ZT90OmlvKHQsbixyKX12YXIgU289aG58fGZ1bmN0aW9uKHQpe3JldHVybiB2bi5jbGVhclRpbWVvdXQodCl9O2Z1bmN0aW9uIEFvKHQsbil7aWYobilyZXR1cm4gdC5zbGljZSgpO3ZhciByPXQubGVuZ3RoLGU9VnQ/VnQocik6bmV3IHQuY29uc3RydWN0b3Iocik7cmV0dXJuIHQuY29weShlKSxlfWZ1bmN0aW9uIGpvKHQpe3ZhciBuPW5ldyB0LmNvbnN0cnVjdG9yKHQuYnl0ZUxlbmd0aCk7cmV0dXJuIG5ldyBHdChuKS5zZXQobmV3IEd0KHQpKSxufWZ1bmN0aW9uIFJvKHQsbil7dmFyIHI9bj9qbyh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQubGVuZ3RoKX1mdW5jdGlvbiBJbyh0LG4pe2lmKHQhPT1uKXt2YXIgcj10IT09byxlPW51bGw9PT10LGk9dD09dCx1PWxhKHQpLGE9biE9PW8sYz1udWxsPT09bixmPW49PW4scz1sYShuKTtpZighYyYmIXMmJiF1JiZ0Pm58fHUmJmEmJmYmJiFjJiYhc3x8ZSYmYSYmZnx8IXImJmZ8fCFpKXJldHVybiAxO2lmKCFlJiYhdSYmIXMmJnQ8bnx8cyYmciYmaSYmIWUmJiF1fHxjJiZyJiZpfHwhYSYmaXx8IWYpcmV0dXJuLTF9cmV0dXJuIDB9ZnVuY3Rpb24ga28odCxuLHIsbyl7Zm9yKHZhciBpPS0xLHU9dC5sZW5ndGgsYT1yLmxlbmd0aCxjPS0xLGY9bi5sZW5ndGgscz1tcih1LWEsMCksbD1lKGYrcyksaD0hbzsrK2M8ZjspbFtjXT1uW2NdO2Zvcig7KytpPGE7KShofHxpPHUpJiYobFtyW2ldXT10W2ldKTtmb3IoO3MtLTspbFtjKytdPXRbaSsrXTtyZXR1cm4gbH1mdW5jdGlvbiBMbyh0LG4scixvKXtmb3IodmFyIGk9LTEsdT10Lmxlbmd0aCxhPS0xLGM9ci5sZW5ndGgsZj0tMSxzPW4ubGVuZ3RoLGw9bXIodS1jLDApLGg9ZShsK3MpLHA9IW87KytpPGw7KWhbaV09dFtpXTtmb3IodmFyIHY9aTsrK2Y8czspaFt2K2ZdPW5bZl07Zm9yKDsrK2E8YzspKHB8fGk8dSkmJihoW3YrclthXV09dFtpKytdKTtyZXR1cm4gaH1mdW5jdGlvbiBUbyh0LG4pe3ZhciByPS0xLG89dC5sZW5ndGg7Zm9yKG58fChuPWUobykpOysrcjxvOyluW3JdPXRbcl07cmV0dXJuIG59ZnVuY3Rpb24gUG8odCxuLHIsZSl7dmFyIGk9IXI7cnx8KHI9e30pO2Zvcih2YXIgdT0tMSxhPW4ubGVuZ3RoOysrdTxhOyl7dmFyIGM9blt1XSxmPWU/ZShyW2NdLHRbY10sYyxyLHQpOm87Zj09PW8mJihmPXRbY10pLGk/YWUocixjLGYpOmVlKHIsYyxmKX1yZXR1cm4gcn1mdW5jdGlvbiBNbyh0LG4pe3JldHVybiBmdW5jdGlvbihyLGUpe3ZhciBvPUh1KHIpP2puOmllLGk9bj9uKCk6e307cmV0dXJuIG8ocix0LGxpKGUsMiksaSl9fWZ1bmN0aW9uIE5vKHQpe3JldHVybiBYZSgoZnVuY3Rpb24obixyKXt2YXIgZT0tMSxpPXIubGVuZ3RoLHU9aT4xP3JbaS0xXTpvLGE9aT4yP3JbMl06bztmb3IodT10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2YgdT8oaS0tLHUpOm8sYSYmd2koclswXSxyWzFdLGEpJiYodT1pPDM/bzp1LGk9MSksbj1qdChuKTsrK2U8aTspe3ZhciBjPXJbZV07YyYmdChuLGMsZSx1KX1yZXR1cm4gbn0pKX1mdW5jdGlvbiBVbyh0LG4pe3JldHVybiBmdW5jdGlvbihyLGUpe2lmKG51bGw9PXIpcmV0dXJuIHI7aWYoIVl1KHIpKXJldHVybiB0KHIsZSk7Zm9yKHZhciBvPXIubGVuZ3RoLGk9bj9vOi0xLHU9anQocik7KG4/aS0tOisraTxvKSYmITEhPT1lKHVbaV0saSx1KTspO3JldHVybiByfX1mdW5jdGlvbiBDbyh0KXtyZXR1cm4gZnVuY3Rpb24obixyLGUpe2Zvcih2YXIgbz0tMSxpPWp0KG4pLHU9ZShuKSxhPXUubGVuZ3RoO2EtLTspe3ZhciBjPXVbdD9hOisrb107aWYoITE9PT1yKGlbY10sYyxpKSlicmVha31yZXR1cm4gbn19ZnVuY3Rpb24gRm8odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciByPWFyKG49eGEobikpP3ZyKG4pOm8sZT1yP3JbMF06bi5jaGFyQXQoMCksaT1yP0VvKHIsMSkuam9pbigiIik6bi5zbGljZSgxKTtyZXR1cm4gZVt0XSgpK2l9fWZ1bmN0aW9uIEJvKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gVW4odGMoVmEobikucmVwbGFjZShYdCwiIikpLHQsIiIpfX1mdW5jdGlvbiB6byh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1hcmd1bWVudHM7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG5ldyB0O2Nhc2UgMTpyZXR1cm4gbmV3IHQoblswXSk7Y2FzZSAyOnJldHVybiBuZXcgdChuWzBdLG5bMV0pO2Nhc2UgMzpyZXR1cm4gbmV3IHQoblswXSxuWzFdLG5bMl0pO2Nhc2UgNDpyZXR1cm4gbmV3IHQoblswXSxuWzFdLG5bMl0sblszXSk7Y2FzZSA1OnJldHVybiBuZXcgdChuWzBdLG5bMV0sblsyXSxuWzNdLG5bNF0pO2Nhc2UgNjpyZXR1cm4gbmV3IHQoblswXSxuWzFdLG5bMl0sblszXSxuWzRdLG5bNV0pO2Nhc2UgNzpyZXR1cm4gbmV3IHQoblswXSxuWzFdLG5bMl0sblszXSxuWzRdLG5bNV0sbls2XSl9dmFyIHI9cXIodC5wcm90b3R5cGUpLGU9dC5hcHBseShyLG4pO3JldHVybiBlYShlKT9lOnJ9fWZ1bmN0aW9uIFdvKHQpe3JldHVybiBmdW5jdGlvbihuLHIsZSl7dmFyIGk9anQobik7aWYoIVl1KG4pKXt2YXIgdT1saShyLDMpO249TWEobikscj1mdW5jdGlvbih0KXtyZXR1cm4gdShpW3RdLHQsaSl9fXZhciBhPXQobixyLGUpO3JldHVybiBhPi0xP2lbdT9uW2FdOmFdOm99fWZ1bmN0aW9uIERvKHQpe3JldHVybiBpaSgoZnVuY3Rpb24obil7dmFyIHI9bi5sZW5ndGgsZT1yLHU9R3IucHJvdG90eXBlLnRocnU7Zm9yKHQmJm4ucmV2ZXJzZSgpO2UtLTspe3ZhciBhPW5bZV07aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGEpdGhyb3cgbmV3IGt0KGkpO2lmKHUmJiFjJiYid3JhcHBlciI9PWZpKGEpKXZhciBjPW5ldyBHcihbXSwhMCl9Zm9yKGU9Yz9lOnI7KytlPHI7KXt2YXIgZj1maShhPW5bZV0pLHM9IndyYXBwZXIiPT1mP2NpKGEpOm87Yz1zJiZFaShzWzBdKSYmNDI0PT1zWzFdJiYhc1s0XS5sZW5ndGgmJjE9PXNbOV0/Y1tmaShzWzBdKV0uYXBwbHkoYyxzWzNdKToxPT1hLmxlbmd0aCYmRWkoYSk/Y1tmXSgpOmMudGhydShhKX1yZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMsZT10WzBdO2lmKGMmJjE9PXQubGVuZ3RoJiZIdShlKSlyZXR1cm4gYy5wbGFudChlKS52YWx1ZSgpO2Zvcih2YXIgbz0wLGk9cj9uW29dLmFwcGx5KHRoaXMsdCk6ZTsrK288cjspaT1uW29dLmNhbGwodGhpcyxpKTtyZXR1cm4gaX19KSl9ZnVuY3Rpb24gcW8odCxuLHIsaSx1LGEsYyxmLHMsaCl7dmFyIHA9biZsLHY9MSZuLGc9MiZuLGQ9MjQmbix5PTUxMiZuLF89Zz9vOnpvKHQpO3JldHVybiBmdW5jdGlvbiBvKCl7Zm9yKHZhciBsPWFyZ3VtZW50cy5sZW5ndGgsYj1lKGwpLG09bDttLS07KWJbbV09YXJndW1lbnRzW21dO2lmKGQpdmFyIHg9c2kobyksdz1lcihiLHgpO2lmKGkmJihiPWtvKGIsaSx1LGQpKSxhJiYoYj1MbyhiLGEsYyxkKSksbC09dyxkJiZsPGgpe3ZhciBPPXNyKGIseCk7cmV0dXJuIFpvKHQsbixxbyxvLnBsYWNlaG9sZGVyLHIsYixPLGYscyxoLWwpfXZhciBFPXY/cjp0aGlzLFM9Zz9FW3RdOnQ7cmV0dXJuIGw9Yi5sZW5ndGgsZj9iPUxpKGIsZik6eSYmbD4xJiZiLnJldmVyc2UoKSxwJiZzPGwmJihiLmxlbmd0aD1zKSx0aGlzJiZ0aGlzIT09dm4mJnRoaXMgaW5zdGFuY2VvZiBvJiYoUz1ffHx6byhTKSksUy5hcHBseShFLGIpfX1mdW5jdGlvbiAkbyh0LG4pe3JldHVybiBmdW5jdGlvbihyLGUpe3JldHVybiBmdW5jdGlvbih0LG4scixlKXtyZXR1cm4gd2UodCwoZnVuY3Rpb24odCxvLGkpe24oZSxyKHQpLG8saSl9KSksZX0ocix0LG4oZSkse30pfX1mdW5jdGlvbiBHbyh0LG4pe3JldHVybiBmdW5jdGlvbihyLGUpe3ZhciBpO2lmKHI9PT1vJiZlPT09bylyZXR1cm4gbjtpZihyIT09byYmKGk9ciksZSE9PW8pe2lmKGk9PT1vKXJldHVybiBlOyJzdHJpbmciPT10eXBlb2Ygcnx8InN0cmluZyI9PXR5cGVvZiBlPyhyPWxvKHIpLGU9bG8oZSkpOihyPXNvKHIpLGU9c28oZSkpLGk9dChyLGUpfXJldHVybiBpfX1mdW5jdGlvbiBWbyh0KXtyZXR1cm4gaWkoKGZ1bmN0aW9uKG4pe3JldHVybiBuPU1uKG4sWG4obGkoKSkpLFhlKChmdW5jdGlvbihyKXt2YXIgZT10aGlzO3JldHVybiB0KG4sKGZ1bmN0aW9uKHQpe3JldHVybiBBbih0LGUscil9KSl9KSl9KSl9ZnVuY3Rpb24gSG8odCxuKXt2YXIgcj0obj1uPT09bz8iICI6bG8obikpLmxlbmd0aDtpZihyPDIpcmV0dXJuIHI/SmUobix0KTpuO3ZhciBlPUplKG4sZG4odC9wcihuKSkpO3JldHVybiBhcihuKT9Fbyh2cihlKSwwLHQpLmpvaW4oIiIpOmUuc2xpY2UoMCx0KX1mdW5jdGlvbiBLbyh0KXtyZXR1cm4gZnVuY3Rpb24obixyLGkpe3JldHVybiBpJiYibnVtYmVyIiE9dHlwZW9mIGkmJndpKG4scixpKSYmKHI9aT1vKSxuPWRhKG4pLHI9PT1vPyhyPW4sbj0wKTpyPWRhKHIpLGZ1bmN0aW9uKHQsbixyLG8pe2Zvcih2YXIgaT0tMSx1PW1yKGRuKChuLXQpLyhyfHwxKSksMCksYT1lKHUpO3UtLTspYVtvP3U6KytpXT10LHQrPXI7cmV0dXJuIGF9KG4scixpPWk9PT1vP248cj8xOi0xOmRhKGkpLHQpfX1mdW5jdGlvbiBZbyh0KXtyZXR1cm4gZnVuY3Rpb24obixyKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIG4mJiJzdHJpbmciPT10eXBlb2Ygcnx8KG49YmEobikscj1iYShyKSksdChuLHIpfX1mdW5jdGlvbiBabyh0LG4scixlLGksdSxhLGMsbCxoKXt2YXIgcD04Jm47bnw9cD9mOnMsNCYobiY9fihwP3M6ZikpfHwobiY9LTQpO3ZhciB2PVt0LG4saSxwP3U6byxwP2E6byxwP286dSxwP286YSxjLGwsaF0sZz1yLmFwcGx5KG8sdik7cmV0dXJuIEVpKHQpJiZQaShnLHYpLGcucGxhY2Vob2xkZXI9ZSxVaShnLHQsbil9ZnVuY3Rpb24gSm8odCl7dmFyIG49QXRbdF07cmV0dXJuIGZ1bmN0aW9uKHQscil7aWYodD1iYSh0KSwocj1udWxsPT1yPzA6eHIoeWEociksMjkyKSkmJkhuKHQpKXt2YXIgZT0oeGEodCkrImUiKS5zcGxpdCgiZSIpO3JldHVybisoKGU9KHhhKG4oZVswXSsiZSIrKCtlWzFdK3IpKSkrImUiKS5zcGxpdCgiZSIpKVswXSsiZSIrKCtlWzFdLXIpKX1yZXR1cm4gbih0KX19dmFyIFhvPUlyJiYxL2xyKG5ldyBJcihbLC0wXSkpWzFdPT1wP2Z1bmN0aW9uKHQpe3JldHVybiBuZXcgSXIodCl9OmxjO2Z1bmN0aW9uIFFvKHQpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgcj15aShuKTtyZXR1cm4gcj09Uz9jcihuKTpyPT1rP2hyKG4pOmZ1bmN0aW9uKHQsbil7cmV0dXJuIE1uKG4sKGZ1bmN0aW9uKG4pe3JldHVybltuLHRbbl1dfSkpfShuLHQobikpfX1mdW5jdGlvbiB0aSh0LG4scix1LHAsdixnLGQpe3ZhciB5PTImbjtpZigheSYmImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IGt0KGkpO3ZhciBfPXU/dS5sZW5ndGg6MDtpZihffHwobiY9LTk3LHU9cD1vKSxnPWc9PT1vP2c6bXIoeWEoZyksMCksZD1kPT09bz9kOnlhKGQpLF8tPXA/cC5sZW5ndGg6MCxuJnMpe3ZhciBiPXUsbT1wO3U9cD1vfXZhciB4PXk/bzpjaSh0KSx3PVt0LG4scix1LHAsYixtLHYsZyxkXTtpZih4JiZmdW5jdGlvbih0LG4pe3ZhciByPXRbMV0sZT1uWzFdLG89cnxlLGk9bzwxMzEsdT1lPT1sJiY4PT1yfHxlPT1sJiZyPT1oJiZ0WzddLmxlbmd0aDw9bls4XXx8Mzg0PT1lJiZuWzddLmxlbmd0aDw9bls4XSYmOD09cjtpZighaSYmIXUpcmV0dXJuIHQ7MSZlJiYodFsyXT1uWzJdLG98PTEmcj8wOjQpO3ZhciBjPW5bM107aWYoYyl7dmFyIGY9dFszXTt0WzNdPWY/a28oZixjLG5bNF0pOmMsdFs0XT1mP3NyKHRbM10sYSk6bls0XX0oYz1uWzVdKSYmKGY9dFs1XSx0WzVdPWY/TG8oZixjLG5bNl0pOmMsdFs2XT1mP3NyKHRbNV0sYSk6bls2XSk7KGM9bls3XSkmJih0WzddPWMpO2UmbCYmKHRbOF09bnVsbD09dFs4XT9uWzhdOnhyKHRbOF0sbls4XSkpO251bGw9PXRbOV0mJih0WzldPW5bOV0pO3RbMF09blswXSx0WzFdPW99KHcseCksdD13WzBdLG49d1sxXSxyPXdbMl0sdT13WzNdLHA9d1s0XSwhKGQ9d1s5XT13WzldPT09bz95PzA6dC5sZW5ndGg6bXIod1s5XS1fLDApKSYmMjQmbiYmKG4mPS0yNSksbiYmMSE9bilPPTg9PW58fG49PWM/ZnVuY3Rpb24odCxuLHIpe3ZhciBpPXpvKHQpO3JldHVybiBmdW5jdGlvbiB1KCl7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGgsYz1lKGEpLGY9YSxzPXNpKHUpO2YtLTspY1tmXT1hcmd1bWVudHNbZl07dmFyIGw9YTwzJiZjWzBdIT09cyYmY1thLTFdIT09cz9bXTpzcihjLHMpO3JldHVybihhLT1sLmxlbmd0aCk8cj9abyh0LG4scW8sdS5wbGFjZWhvbGRlcixvLGMsbCxvLG8sci1hKTpBbih0aGlzJiZ0aGlzIT09dm4mJnRoaXMgaW5zdGFuY2VvZiB1P2k6dCx0aGlzLGMpfX0odCxuLGQpOm4hPWYmJjMzIT1ufHxwLmxlbmd0aD9xby5hcHBseShvLHcpOmZ1bmN0aW9uKHQsbixyLG8pe3ZhciBpPTEmbix1PXpvKHQpO3JldHVybiBmdW5jdGlvbiBuKCl7Zm9yKHZhciBhPS0xLGM9YXJndW1lbnRzLmxlbmd0aCxmPS0xLHM9by5sZW5ndGgsbD1lKHMrYyksaD10aGlzJiZ0aGlzIT09dm4mJnRoaXMgaW5zdGFuY2VvZiBuP3U6dDsrK2Y8czspbFtmXT1vW2ZdO2Zvcig7Yy0tOylsW2YrK109YXJndW1lbnRzWysrYV07cmV0dXJuIEFuKGgsaT9yOnRoaXMsbCl9fSh0LG4scix1KTtlbHNlIHZhciBPPWZ1bmN0aW9uKHQsbixyKXt2YXIgZT0xJm4sbz16byh0KTtyZXR1cm4gZnVuY3Rpb24gbigpe3JldHVybih0aGlzJiZ0aGlzIT09dm4mJnRoaXMgaW5zdGFuY2VvZiBuP286dCkuYXBwbHkoZT9yOnRoaXMsYXJndW1lbnRzKX19KHQsbixyKTtyZXR1cm4gVWkoKHg/cm86UGkpKE8sdyksdCxuKX1mdW5jdGlvbiBuaSh0LG4scixlKXtyZXR1cm4gdD09PW98fHF1KHQsUHRbcl0pJiYhVXQuY2FsbChlLHIpP246dH1mdW5jdGlvbiByaSh0LG4scixlLGksdSl7cmV0dXJuIGVhKHQpJiZlYShuKSYmKHUuc2V0KG4sdCksJGUodCxuLG8scmksdSksdS5kZWxldGUobikpLHR9ZnVuY3Rpb24gZWkodCl7cmV0dXJuIGFhKHQpP286dH1mdW5jdGlvbiBvaSh0LG4scixlLGksdSl7dmFyIGE9MSZyLGM9dC5sZW5ndGgsZj1uLmxlbmd0aDtpZihjIT1mJiYhKGEmJmY+YykpcmV0dXJuITE7dmFyIHM9dS5nZXQodCksbD11LmdldChuKTtpZihzJiZsKXJldHVybiBzPT1uJiZsPT10O3ZhciBoPS0xLHA9ITAsdj0yJnI/bmV3IFpyOm87Zm9yKHUuc2V0KHQsbiksdS5zZXQobix0KTsrK2g8Yzspe3ZhciBnPXRbaF0sZD1uW2hdO2lmKGUpdmFyIHk9YT9lKGQsZyxoLG4sdCx1KTplKGcsZCxoLHQsbix1KTtpZih5IT09byl7aWYoeSljb250aW51ZTtwPSExO2JyZWFrfWlmKHYpe2lmKCFGbihuLChmdW5jdGlvbih0LG4pe2lmKCF0cih2LG4pJiYoZz09PXR8fGkoZyx0LHIsZSx1KSkpcmV0dXJuIHYucHVzaChuKX0pKSl7cD0hMTticmVha319ZWxzZSBpZihnIT09ZCYmIWkoZyxkLHIsZSx1KSl7cD0hMTticmVha319cmV0dXJuIHUuZGVsZXRlKHQpLHUuZGVsZXRlKG4pLHB9ZnVuY3Rpb24gaWkodCl7cmV0dXJuIE5pKElpKHQsbyxLaSksdCsiIil9ZnVuY3Rpb24gdWkodCl7cmV0dXJuIEFlKHQsTWEsZ2kpfWZ1bmN0aW9uIGFpKHQpe3JldHVybiBBZSh0LE5hLGRpKX12YXIgY2k9VHI/ZnVuY3Rpb24odCl7cmV0dXJuIFRyLmdldCh0KX06bGM7ZnVuY3Rpb24gZmkodCl7Zm9yKHZhciBuPXQubmFtZSsiIixyPVByW25dLGU9VXQuY2FsbChQcixuKT9yLmxlbmd0aDowO2UtLTspe3ZhciBvPXJbZV0saT1vLmZ1bmM7aWYobnVsbD09aXx8aT09dClyZXR1cm4gby5uYW1lfXJldHVybiBufWZ1bmN0aW9uIHNpKHQpe3JldHVybihVdC5jYWxsKERyLCJwbGFjZWhvbGRlciIpP0RyOnQpLnBsYWNlaG9sZGVyfWZ1bmN0aW9uIGxpKCl7dmFyIHQ9RHIuaXRlcmF0ZWV8fGFjO3JldHVybiB0PXQ9PT1hYz9DZTp0LGFyZ3VtZW50cy5sZW5ndGg/dChhcmd1bWVudHNbMF0sYXJndW1lbnRzWzFdKTp0fWZ1bmN0aW9uIGhpKHQsbil7dmFyIHIsZSxvPXQuX19kYXRhX187cmV0dXJuKCJzdHJpbmciPT0oZT10eXBlb2Yocj1uKSl8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09cjpudWxsPT09cik/b1sic3RyaW5nIj09dHlwZW9mIG4/InN0cmluZyI6Imhhc2giXTpvLm1hcH1mdW5jdGlvbiBwaSh0KXtmb3IodmFyIG49TWEodCkscj1uLmxlbmd0aDtyLS07KXt2YXIgZT1uW3JdLG89dFtlXTtuW3JdPVtlLG8samkobyldfXJldHVybiBufWZ1bmN0aW9uIHZpKHQsbil7dmFyIHI9ZnVuY3Rpb24odCxuKXtyZXR1cm4gbnVsbD09dD9vOnRbbl19KHQsbik7cmV0dXJuIFVlKHIpP3I6b312YXIgZ2k9Ym4/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9anQodCksTG4oYm4odCksKGZ1bmN0aW9uKG4pe3JldHVybiBZdC5jYWxsKHQsbil9KSkpfTpfYyxkaT1ibj9mdW5jdGlvbih0KXtmb3IodmFyIG49W107dDspTm4obixnaSh0KSksdD1IdCh0KTtyZXR1cm4gbn06X2MseWk9amU7ZnVuY3Rpb24gX2kodCxuLHIpe2Zvcih2YXIgZT0tMSxvPShuPXdvKG4sdCkpLmxlbmd0aCxpPSExOysrZTxvOyl7dmFyIHU9emkobltlXSk7aWYoIShpPW51bGwhPXQmJnIodCx1KSkpYnJlYWs7dD10W3VdfXJldHVybiBpfHwrK2UhPW8/aTohIShvPW51bGw9PXQ/MDp0Lmxlbmd0aCkmJnJhKG8pJiZ4aSh1LG8pJiYoSHUodCl8fFZ1KHQpKX1mdW5jdGlvbiBiaSh0KXtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdC5jb25zdHJ1Y3Rvcnx8QWkodCk/e306cXIoSHQodCkpfWZ1bmN0aW9uIG1pKHQpe3JldHVybiBIdSh0KXx8VnUodCl8fCEhKEp0JiZ0JiZ0W0p0XSl9ZnVuY3Rpb24geGkodCxuKXt2YXIgcj10eXBlb2YgdDtyZXR1cm4hIShuPW51bGw9PW4/djpuKSYmKCJudW1iZXIiPT1yfHwic3ltYm9sIiE9ciYmbXQudGVzdCh0KSkmJnQ+LTEmJnQlMT09MCYmdDxufWZ1bmN0aW9uIHdpKHQsbixyKXtpZighZWEocikpcmV0dXJuITE7dmFyIGU9dHlwZW9mIG47cmV0dXJuISEoIm51bWJlciI9PWU/WXUocikmJnhpKG4sci5sZW5ndGgpOiJzdHJpbmciPT1lJiZuIGluIHIpJiZxdShyW25dLHQpfWZ1bmN0aW9uIE9pKHQsbil7aWYoSHUodCkpcmV0dXJuITE7dmFyIHI9dHlwZW9mIHQ7cmV0dXJuISgibnVtYmVyIiE9ciYmInN5bWJvbCIhPXImJiJib29sZWFuIiE9ciYmbnVsbCE9dCYmIWxhKHQpKXx8KHJ0LnRlc3QodCl8fCFudC50ZXN0KHQpfHxudWxsIT1uJiZ0IGluIGp0KG4pKX1mdW5jdGlvbiBFaSh0KXt2YXIgbj1maSh0KSxyPURyW25dO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByfHwhKG4gaW4gVnIucHJvdG90eXBlKSlyZXR1cm4hMTtpZih0PT09cilyZXR1cm4hMDt2YXIgZT1jaShyKTtyZXR1cm4hIWUmJnQ9PT1lWzBdfShBciYmeWkobmV3IEFyKG5ldyBBcnJheUJ1ZmZlcigxKSkpIT1OfHxqciYmeWkobmV3IGpyKSE9U3x8UnImJnlpKFJyLnJlc29sdmUoKSkhPVJ8fElyJiZ5aShuZXcgSXIpIT1rfHxrciYmeWkobmV3IGtyKSE9UCkmJih5aT1mdW5jdGlvbih0KXt2YXIgbj1qZSh0KSxyPW49PWo/dC5jb25zdHJ1Y3RvcjpvLGU9cj9XaShyKToiIjtpZihlKXN3aXRjaChlKXtjYXNlIE1yOnJldHVybiBOO2Nhc2UgTnI6cmV0dXJuIFM7Y2FzZSBVcjpyZXR1cm4gUjtjYXNlIENyOnJldHVybiBrO2Nhc2UgRnI6cmV0dXJuIFB9cmV0dXJuIG59KTt2YXIgU2k9TXQ/dGE6YmM7ZnVuY3Rpb24gQWkodCl7dmFyIG49dCYmdC5jb25zdHJ1Y3RvcjtyZXR1cm4gdD09PSgiZnVuY3Rpb24iPT10eXBlb2YgbiYmbi5wcm90b3R5cGV8fFB0KX1mdW5jdGlvbiBqaSh0KXtyZXR1cm4gdD09dCYmIWVhKHQpfWZ1bmN0aW9uIFJpKHQsbil7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBudWxsIT1yJiYoclt0XT09PW4mJihuIT09b3x8dCBpbiBqdChyKSkpfX1mdW5jdGlvbiBJaSh0LG4scil7cmV0dXJuIG49bXIobj09PW8/dC5sZW5ndGgtMTpuLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciBvPWFyZ3VtZW50cyxpPS0xLHU9bXIoby5sZW5ndGgtbiwwKSxhPWUodSk7KytpPHU7KWFbaV09b1tuK2ldO2k9LTE7Zm9yKHZhciBjPWUobisxKTsrK2k8bjspY1tpXT1vW2ldO3JldHVybiBjW25dPXIoYSksQW4odCx0aGlzLGMpfX1mdW5jdGlvbiBraSh0LG4pe3JldHVybiBuLmxlbmd0aDwyP3Q6U2UodCxpbyhuLDAsLTEpKX1mdW5jdGlvbiBMaSh0LG4pe2Zvcih2YXIgcj10Lmxlbmd0aCxlPXhyKG4ubGVuZ3RoLHIpLGk9VG8odCk7ZS0tOyl7dmFyIHU9bltlXTt0W2VdPXhpKHUscik/aVt1XTpvfXJldHVybiB0fWZ1bmN0aW9uIFRpKHQsbil7aWYoKCJjb25zdHJ1Y3RvciIhPT1ufHwiZnVuY3Rpb24iIT10eXBlb2YgdFtuXSkmJiJfX3Byb3RvX18iIT1uKXJldHVybiB0W25dfXZhciBQaT1DaShybyksTWk9Z258fGZ1bmN0aW9uKHQsbil7cmV0dXJuIHZuLnNldFRpbWVvdXQodCxuKX0sTmk9Q2koZW8pO2Z1bmN0aW9uIFVpKHQsbixyKXt2YXIgZT1uKyIiO3JldHVybiBOaSh0LGZ1bmN0aW9uKHQsbil7dmFyIHI9bi5sZW5ndGg7aWYoIXIpcmV0dXJuIHQ7dmFyIGU9ci0xO3JldHVybiBuW2VdPShyPjE/IiYgIjoiIikrbltlXSxuPW4uam9pbihyPjI/IiwgIjoiICIpLHQucmVwbGFjZShjdCwie1xuLyogW3dyYXBwZWQgd2l0aCAiK24rIl0gKi9cbiIpfShlLGZ1bmN0aW9uKHQsbil7cmV0dXJuIFJuKHksKGZ1bmN0aW9uKHIpe3ZhciBlPSJfLiIrclswXTtuJnJbMV0mJiFUbih0LGUpJiZ0LnB1c2goZSl9KSksdC5zb3J0KCl9KGZ1bmN0aW9uKHQpe3ZhciBuPXQubWF0Y2goZnQpO3JldHVybiBuP25bMV0uc3BsaXQoc3QpOltdfShlKSxyKSkpfWZ1bmN0aW9uIENpKHQpe3ZhciBuPTAscj0wO3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXdyKCksaT0xNi0oZS1yKTtpZihyPWUsaT4wKXtpZigrK24+PTgwMClyZXR1cm4gYXJndW1lbnRzWzBdfWVsc2Ugbj0wO3JldHVybiB0LmFwcGx5KG8sYXJndW1lbnRzKX19ZnVuY3Rpb24gRmkodCxuKXt2YXIgcj0tMSxlPXQubGVuZ3RoLGk9ZS0xO2ZvcihuPW49PT1vP2U6bjsrK3I8bjspe3ZhciB1PVplKHIsaSksYT10W3VdO3RbdV09dFtyXSx0W3JdPWF9cmV0dXJuIHQubGVuZ3RoPW4sdH12YXIgQmk9ZnVuY3Rpb24odCl7dmFyIG49Q3UodCwoZnVuY3Rpb24odCl7cmV0dXJuIDUwMD09PXIuc2l6ZSYmci5jbGVhcigpLHR9KSkscj1uLmNhY2hlO3JldHVybiBufSgoZnVuY3Rpb24odCl7dmFyIG49W107cmV0dXJuIDQ2PT09dC5jaGFyQ29kZUF0KDApJiZuLnB1c2goIiIpLHQucmVwbGFjZShldCwoZnVuY3Rpb24odCxyLGUsbyl7bi5wdXNoKGU/by5yZXBsYWNlKHB0LCIkMSIpOnJ8fHQpfSkpLG59KSk7ZnVuY3Rpb24gemkodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0fHxsYSh0KSlyZXR1cm4gdDt2YXIgbj10KyIiO3JldHVybiIwIj09biYmMS90PT0tMS8wPyItMCI6bn1mdW5jdGlvbiBXaSh0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIE50LmNhbGwodCl9Y2F0Y2godCl7fXRyeXtyZXR1cm4gdCsiIn1jYXRjaCh0KXt9fXJldHVybiIifWZ1bmN0aW9uIERpKHQpe2lmKHQgaW5zdGFuY2VvZiBWcilyZXR1cm4gdC5jbG9uZSgpO3ZhciBuPW5ldyBHcih0Ll9fd3JhcHBlZF9fLHQuX19jaGFpbl9fKTtyZXR1cm4gbi5fX2FjdGlvbnNfXz1Ubyh0Ll9fYWN0aW9uc19fKSxuLl9faW5kZXhfXz10Ll9faW5kZXhfXyxuLl9fdmFsdWVzX189dC5fX3ZhbHVlc19fLG59dmFyIHFpPVhlKChmdW5jdGlvbih0LG4pe3JldHVybiBadSh0KT9wZSh0LGJlKG4sMSxadSwhMCkpOltdfSkpLCRpPVhlKChmdW5jdGlvbih0LG4pe3ZhciByPVFpKG4pO3JldHVybiBadShyKSYmKHI9byksWnUodCk/cGUodCxiZShuLDEsWnUsITApLGxpKHIsMikpOltdfSkpLEdpPVhlKChmdW5jdGlvbih0LG4pe3ZhciByPVFpKG4pO3JldHVybiBadShyKSYmKHI9byksWnUodCk/cGUodCxiZShuLDEsWnUsITApLG8scik6W119KSk7ZnVuY3Rpb24gVmkodCxuLHIpe3ZhciBlPW51bGw9PXQ/MDp0Lmxlbmd0aDtpZighZSlyZXR1cm4tMTt2YXIgbz1udWxsPT1yPzA6eWEocik7cmV0dXJuIG88MCYmKG89bXIoZStvLDApKSxXbih0LGxpKG4sMyksbyl9ZnVuY3Rpb24gSGkodCxuLHIpe3ZhciBlPW51bGw9PXQ/MDp0Lmxlbmd0aDtpZighZSlyZXR1cm4tMTt2YXIgaT1lLTE7cmV0dXJuIHIhPT1vJiYoaT15YShyKSxpPXI8MD9tcihlK2ksMCk6eHIoaSxlLTEpKSxXbih0LGxpKG4sMyksaSwhMCl9ZnVuY3Rpb24gS2kodCl7cmV0dXJuKG51bGw9PXQ/MDp0Lmxlbmd0aCk/YmUodCwxKTpbXX1mdW5jdGlvbiBZaSh0KXtyZXR1cm4gdCYmdC5sZW5ndGg/dFswXTpvfXZhciBaaT1YZSgoZnVuY3Rpb24odCl7dmFyIG49TW4odCxtbyk7cmV0dXJuIG4ubGVuZ3RoJiZuWzBdPT09dFswXT9MZShuKTpbXX0pKSxKaT1YZSgoZnVuY3Rpb24odCl7dmFyIG49UWkodCkscj1Nbih0LG1vKTtyZXR1cm4gbj09PVFpKHIpP249bzpyLnBvcCgpLHIubGVuZ3RoJiZyWzBdPT09dFswXT9MZShyLGxpKG4sMikpOltdfSkpLFhpPVhlKChmdW5jdGlvbih0KXt2YXIgbj1RaSh0KSxyPU1uKHQsbW8pO3JldHVybihuPSJmdW5jdGlvbiI9PXR5cGVvZiBuP246bykmJnIucG9wKCksci5sZW5ndGgmJnJbMF09PT10WzBdP0xlKHIsbyxuKTpbXX0pKTtmdW5jdGlvbiBRaSh0KXt2YXIgbj1udWxsPT10PzA6dC5sZW5ndGg7cmV0dXJuIG4/dFtuLTFdOm99dmFyIHR1PVhlKG51KTtmdW5jdGlvbiBudSh0LG4pe3JldHVybiB0JiZ0Lmxlbmd0aCYmbiYmbi5sZW5ndGg/S2UodCxuKTp0fXZhciBydT1paSgoZnVuY3Rpb24odCxuKXt2YXIgcj1udWxsPT10PzA6dC5sZW5ndGgsZT1jZSh0LG4pO3JldHVybiBZZSh0LE1uKG4sKGZ1bmN0aW9uKHQpe3JldHVybiB4aSh0LHIpPyt0OnR9KSkuc29ydChJbykpLGV9KSk7ZnVuY3Rpb24gZXUodCl7cmV0dXJuIG51bGw9PXQ/dDpTci5jYWxsKHQpfXZhciBvdT1YZSgoZnVuY3Rpb24odCl7cmV0dXJuIGhvKGJlKHQsMSxadSwhMCkpfSkpLGl1PVhlKChmdW5jdGlvbih0KXt2YXIgbj1RaSh0KTtyZXR1cm4gWnUobikmJihuPW8pLGhvKGJlKHQsMSxadSwhMCksbGkobiwyKSl9KSksdXU9WGUoKGZ1bmN0aW9uKHQpe3ZhciBuPVFpKHQpO3JldHVybiBuPSJmdW5jdGlvbiI9PXR5cGVvZiBuP246byxobyhiZSh0LDEsWnUsITApLG8sbil9KSk7ZnVuY3Rpb24gYXUodCl7aWYoIXR8fCF0Lmxlbmd0aClyZXR1cm5bXTt2YXIgbj0wO3JldHVybiB0PUxuKHQsKGZ1bmN0aW9uKHQpe2lmKFp1KHQpKXJldHVybiBuPW1yKHQubGVuZ3RoLG4pLCEwfSkpLFpuKG4sKGZ1bmN0aW9uKG4pe3JldHVybiBNbih0LFZuKG4pKX0pKX1mdW5jdGlvbiBjdSh0LG4pe2lmKCF0fHwhdC5sZW5ndGgpcmV0dXJuW107dmFyIHI9YXUodCk7cmV0dXJuIG51bGw9PW4/cjpNbihyLChmdW5jdGlvbih0KXtyZXR1cm4gQW4obixvLHQpfSkpfXZhciBmdT1YZSgoZnVuY3Rpb24odCxuKXtyZXR1cm4gWnUodCk/cGUodCxuKTpbXX0pKSxzdT1YZSgoZnVuY3Rpb24odCl7cmV0dXJuIF9vKExuKHQsWnUpKX0pKSxsdT1YZSgoZnVuY3Rpb24odCl7dmFyIG49UWkodCk7cmV0dXJuIFp1KG4pJiYobj1vKSxfbyhMbih0LFp1KSxsaShuLDIpKX0pKSxodT1YZSgoZnVuY3Rpb24odCl7dmFyIG49UWkodCk7cmV0dXJuIG49ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpvLF9vKExuKHQsWnUpLG8sbil9KSkscHU9WGUoYXUpO3ZhciB2dT1YZSgoZnVuY3Rpb24odCl7dmFyIG49dC5sZW5ndGgscj1uPjE/dFtuLTFdOm87cmV0dXJuIHI9ImZ1bmN0aW9uIj09dHlwZW9mIHI/KHQucG9wKCkscik6byxjdSh0LHIpfSkpO2Z1bmN0aW9uIGd1KHQpe3ZhciBuPURyKHQpO3JldHVybiBuLl9fY2hhaW5fXz0hMCxufWZ1bmN0aW9uIGR1KHQsbil7cmV0dXJuIG4odCl9dmFyIHl1PWlpKChmdW5jdGlvbih0KXt2YXIgbj10Lmxlbmd0aCxyPW4/dFswXTowLGU9dGhpcy5fX3dyYXBwZWRfXyxpPWZ1bmN0aW9uKG4pe3JldHVybiBjZShuLHQpfTtyZXR1cm4hKG4+MXx8dGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgpJiZlIGluc3RhbmNlb2YgVnImJnhpKHIpPygoZT1lLnNsaWNlKHIsK3IrKG4/MTowKSkpLl9fYWN0aW9uc19fLnB1c2goe2Z1bmM6ZHUsYXJnczpbaV0sdGhpc0FyZzpvfSksbmV3IEdyKGUsdGhpcy5fX2NoYWluX18pLnRocnUoKGZ1bmN0aW9uKHQpe3JldHVybiBuJiYhdC5sZW5ndGgmJnQucHVzaChvKSx0fSkpKTp0aGlzLnRocnUoaSl9KSk7dmFyIF91PU1vKChmdW5jdGlvbih0LG4scil7VXQuY2FsbCh0LHIpPysrdFtyXTphZSh0LHIsMSl9KSk7dmFyIGJ1PVdvKFZpKSxtdT1XbyhIaSk7ZnVuY3Rpb24geHUodCxuKXtyZXR1cm4oSHUodCk/Um46dmUpKHQsbGkobiwzKSl9ZnVuY3Rpb24gd3UodCxuKXtyZXR1cm4oSHUodCk/SW46Z2UpKHQsbGkobiwzKSl9dmFyIE91PU1vKChmdW5jdGlvbih0LG4scil7VXQuY2FsbCh0LHIpP3Rbcl0ucHVzaChuKTphZSh0LHIsW25dKX0pKTt2YXIgRXU9WGUoKGZ1bmN0aW9uKHQsbixyKXt2YXIgbz0tMSxpPSJmdW5jdGlvbiI9PXR5cGVvZiBuLHU9WXUodCk/ZSh0Lmxlbmd0aCk6W107cmV0dXJuIHZlKHQsKGZ1bmN0aW9uKHQpe3VbKytvXT1pP0FuKG4sdCxyKTpUZSh0LG4scil9KSksdX0pKSxTdT1NbygoZnVuY3Rpb24odCxuLHIpe2FlKHQscixuKX0pKTtmdW5jdGlvbiBBdSh0LG4pe3JldHVybihIdSh0KT9NbjpXZSkodCxsaShuLDMpKX12YXIganU9TW8oKGZ1bmN0aW9uKHQsbixyKXt0W3I/MDoxXS5wdXNoKG4pfSksKGZ1bmN0aW9uKCl7cmV0dXJuW1tdLFtdXX0pKTt2YXIgUnU9WGUoKGZ1bmN0aW9uKHQsbil7aWYobnVsbD09dClyZXR1cm5bXTt2YXIgcj1uLmxlbmd0aDtyZXR1cm4gcj4xJiZ3aSh0LG5bMF0sblsxXSk/bj1bXTpyPjImJndpKG5bMF0sblsxXSxuWzJdKSYmKG49W25bMF1dKSxWZSh0LGJlKG4sMSksW10pfSkpLEl1PXBufHxmdW5jdGlvbigpe3JldHVybiB2bi5EYXRlLm5vdygpfTtmdW5jdGlvbiBrdSh0LG4scil7cmV0dXJuIG49cj9vOm4sbj10JiZudWxsPT1uP3QubGVuZ3RoOm4sdGkodCxsLG8sbyxvLG8sbil9ZnVuY3Rpb24gTHUodCxuKXt2YXIgcjtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcga3QoaSk7cmV0dXJuIHQ9eWEodCksZnVuY3Rpb24oKXtyZXR1cm4tLXQ+MCYmKHI9bi5hcHBseSh0aGlzLGFyZ3VtZW50cykpLHQ8PTEmJihuPW8pLHJ9fXZhciBUdT1YZSgoZnVuY3Rpb24odCxuLHIpe3ZhciBlPTE7aWYoci5sZW5ndGgpe3ZhciBvPXNyKHIsc2koVHUpKTtlfD1mfXJldHVybiB0aSh0LGUsbixyLG8pfSkpLFB1PVhlKChmdW5jdGlvbih0LG4scil7dmFyIGU9MztpZihyLmxlbmd0aCl7dmFyIG89c3IocixzaShQdSkpO2V8PWZ9cmV0dXJuIHRpKG4sZSx0LHIsbyl9KSk7ZnVuY3Rpb24gTXUodCxuLHIpe3ZhciBlLHUsYSxjLGYscyxsPTAsaD0hMSxwPSExLHY9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IGt0KGkpO2Z1bmN0aW9uIGcobil7dmFyIHI9ZSxpPXU7cmV0dXJuIGU9dT1vLGw9bixjPXQuYXBwbHkoaSxyKX1mdW5jdGlvbiBkKHQpe3JldHVybiBsPXQsZj1NaShfLG4pLGg/Zyh0KTpjfWZ1bmN0aW9uIHkodCl7dmFyIHI9dC1zO3JldHVybiBzPT09b3x8cj49bnx8cjwwfHxwJiZ0LWw+PWF9ZnVuY3Rpb24gXygpe3ZhciB0PUl1KCk7aWYoeSh0KSlyZXR1cm4gYih0KTtmPU1pKF8sZnVuY3Rpb24odCl7dmFyIHI9bi0odC1zKTtyZXR1cm4gcD94cihyLGEtKHQtbCkpOnJ9KHQpKX1mdW5jdGlvbiBiKHQpe3JldHVybiBmPW8sdiYmZT9nKHQpOihlPXU9byxjKX1mdW5jdGlvbiBtKCl7dmFyIHQ9SXUoKSxyPXkodCk7aWYoZT1hcmd1bWVudHMsdT10aGlzLHM9dCxyKXtpZihmPT09bylyZXR1cm4gZChzKTtpZihwKXJldHVybiBTbyhmKSxmPU1pKF8sbiksZyhzKX1yZXR1cm4gZj09PW8mJihmPU1pKF8sbikpLGN9cmV0dXJuIG49YmEobil8fDAsZWEocikmJihoPSEhci5sZWFkaW5nLGE9KHA9Im1heFdhaXQiaW4gcik/bXIoYmEoci5tYXhXYWl0KXx8MCxuKTphLHY9InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOnYpLG0uY2FuY2VsPWZ1bmN0aW9uKCl7ZiE9PW8mJlNvKGYpLGw9MCxlPXM9dT1mPW99LG0uZmx1c2g9ZnVuY3Rpb24oKXtyZXR1cm4gZj09PW8/YzpiKEl1KCkpfSxtfXZhciBOdT1YZSgoZnVuY3Rpb24odCxuKXtyZXR1cm4gaGUodCwxLG4pfSkpLFV1PVhlKChmdW5jdGlvbih0LG4scil7cmV0dXJuIGhlKHQsYmEobil8fDAscil9KSk7ZnVuY3Rpb24gQ3UodCxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9biYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IGt0KGkpO3ZhciByPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLG89bj9uLmFwcGx5KHRoaXMsZSk6ZVswXSxpPXIuY2FjaGU7aWYoaS5oYXMobykpcmV0dXJuIGkuZ2V0KG8pO3ZhciB1PXQuYXBwbHkodGhpcyxlKTtyZXR1cm4gci5jYWNoZT1pLnNldChvLHUpfHxpLHV9O3JldHVybiByLmNhY2hlPW5ldyhDdS5DYWNoZXx8WXIpLHJ9ZnVuY3Rpb24gRnUodCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IGt0KGkpO3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cztzd2l0Y2gobi5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4hdC5jYWxsKHRoaXMpO2Nhc2UgMTpyZXR1cm4hdC5jYWxsKHRoaXMsblswXSk7Y2FzZSAyOnJldHVybiF0LmNhbGwodGhpcyxuWzBdLG5bMV0pO2Nhc2UgMzpyZXR1cm4hdC5jYWxsKHRoaXMsblswXSxuWzFdLG5bMl0pfXJldHVybiF0LmFwcGx5KHRoaXMsbil9fUN1LkNhY2hlPVlyO3ZhciBCdT1PbygoZnVuY3Rpb24odCxuKXt2YXIgcj0obj0xPT1uLmxlbmd0aCYmSHUoblswXSk/TW4oblswXSxYbihsaSgpKSk6TW4oYmUobiwxKSxYbihsaSgpKSkpLmxlbmd0aDtyZXR1cm4gWGUoKGZ1bmN0aW9uKGUpe2Zvcih2YXIgbz0tMSxpPXhyKGUubGVuZ3RoLHIpOysrbzxpOyllW29dPW5bb10uY2FsbCh0aGlzLGVbb10pO3JldHVybiBBbih0LHRoaXMsZSl9KSl9KSksenU9WGUoKGZ1bmN0aW9uKHQsbil7dmFyIHI9c3IobixzaSh6dSkpO3JldHVybiB0aSh0LGYsbyxuLHIpfSkpLFd1PVhlKChmdW5jdGlvbih0LG4pe3ZhciByPXNyKG4sc2koV3UpKTtyZXR1cm4gdGkodCxzLG8sbixyKX0pKSxEdT1paSgoZnVuY3Rpb24odCxuKXtyZXR1cm4gdGkodCxoLG8sbyxvLG4pfSkpO2Z1bmN0aW9uIHF1KHQsbil7cmV0dXJuIHQ9PT1ufHx0IT10JiZuIT1ufXZhciAkdT1ZbyhSZSksR3U9WW8oKGZ1bmN0aW9uKHQsbil7cmV0dXJuIHQ+PW59KSksVnU9UGUoZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKT9QZTpmdW5jdGlvbih0KXtyZXR1cm4gb2EodCkmJlV0LmNhbGwodCwiY2FsbGVlIikmJiFZdC5jYWxsKHQsImNhbGxlZSIpfSxIdT1lLmlzQXJyYXksS3U9bW4/WG4obW4pOmZ1bmN0aW9uKHQpe3JldHVybiBvYSh0KSYmamUodCk9PU19O2Z1bmN0aW9uIFl1KHQpe3JldHVybiBudWxsIT10JiZyYSh0Lmxlbmd0aCkmJiF0YSh0KX1mdW5jdGlvbiBadSh0KXtyZXR1cm4gb2EodCkmJll1KHQpfXZhciBKdT1Cbnx8YmMsWHU9eG4/WG4oeG4pOmZ1bmN0aW9uKHQpe3JldHVybiBvYSh0KSYmamUodCk9PXh9O2Z1bmN0aW9uIFF1KHQpe2lmKCFvYSh0KSlyZXR1cm4hMTt2YXIgbj1qZSh0KTtyZXR1cm4gbj09d3x8IltvYmplY3QgRE9NRXhjZXB0aW9uXSI9PW58fCJzdHJpbmciPT10eXBlb2YgdC5tZXNzYWdlJiYic3RyaW5nIj09dHlwZW9mIHQubmFtZSYmIWFhKHQpfWZ1bmN0aW9uIHRhKHQpe2lmKCFlYSh0KSlyZXR1cm4hMTt2YXIgbj1qZSh0KTtyZXR1cm4gbj09T3x8bj09RXx8IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iPT1ufHwiW29iamVjdCBQcm94eV0iPT1ufWZ1bmN0aW9uIG5hKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdD09eWEodCl9ZnVuY3Rpb24gcmEodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PXZ9ZnVuY3Rpb24gZWEodCl7dmFyIG49dHlwZW9mIHQ7cmV0dXJuIG51bGwhPXQmJigib2JqZWN0Ij09bnx8ImZ1bmN0aW9uIj09bil9ZnVuY3Rpb24gb2EodCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH12YXIgaWE9d24/WG4od24pOmZ1bmN0aW9uKHQpe3JldHVybiBvYSh0KSYmeWkodCk9PVN9O2Z1bmN0aW9uIHVhKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdHx8b2EodCkmJmplKHQpPT1BfWZ1bmN0aW9uIGFhKHQpe2lmKCFvYSh0KXx8amUodCkhPWopcmV0dXJuITE7dmFyIG49SHQodCk7aWYobnVsbD09PW4pcmV0dXJuITA7dmFyIHI9VXQuY2FsbChuLCJjb25zdHJ1Y3RvciIpJiZuLmNvbnN0cnVjdG9yO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiByJiZyIGluc3RhbmNlb2YgciYmTnQuY2FsbChyKT09enR9dmFyIGNhPU9uP1huKE9uKTpmdW5jdGlvbih0KXtyZXR1cm4gb2EodCkmJmplKHQpPT1JfTt2YXIgZmE9RW4/WG4oRW4pOmZ1bmN0aW9uKHQpe3JldHVybiBvYSh0KSYmeWkodCk9PWt9O2Z1bmN0aW9uIHNhKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdHx8IUh1KHQpJiZvYSh0KSYmamUodCk9PUx9ZnVuY3Rpb24gbGEodCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHxvYSh0KSYmamUodCk9PVR9dmFyIGhhPVNuP1huKFNuKTpmdW5jdGlvbih0KXtyZXR1cm4gb2EodCkmJnJhKHQubGVuZ3RoKSYmISFhbltqZSh0KV19O3ZhciBwYT1Zbyh6ZSksdmE9WW8oKGZ1bmN0aW9uKHQsbil7cmV0dXJuIHQ8PW59KSk7ZnVuY3Rpb24gZ2EodCl7aWYoIXQpcmV0dXJuW107aWYoWXUodCkpcmV0dXJuIHNhKHQpP3ZyKHQpOlRvKHQpO2lmKHRuJiZ0W3RuXSlyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHZhciBuLHI9W107IShuPXQubmV4dCgpKS5kb25lOylyLnB1c2gobi52YWx1ZSk7cmV0dXJuIHJ9KHRbdG5dKCkpO3ZhciBuPXlpKHQpO3JldHVybihuPT1TP2NyOm49PWs/bHI6cWEpKHQpfWZ1bmN0aW9uIGRhKHQpe3JldHVybiB0Pyh0PWJhKHQpKT09PXB8fHQ9PT0tMS8wPzE3OTc2OTMxMzQ4NjIzMTU3ZTI5MioodDwwPy0xOjEpOnQ9PXQ/dDowOjA9PT10P3Q6MH1mdW5jdGlvbiB5YSh0KXt2YXIgbj1kYSh0KSxyPW4lMTtyZXR1cm4gbj09bj9yP24tcjpuOjB9ZnVuY3Rpb24gX2EodCl7cmV0dXJuIHQ/ZmUoeWEodCksMCxkKTowfWZ1bmN0aW9uIGJhKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZihsYSh0KSlyZXR1cm4gZztpZihlYSh0KSl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9ZWEobik/bisiIjpufWlmKCJzdHJpbmciIT10eXBlb2YgdClyZXR1cm4gMD09PXQ/dDordDt0PUpuKHQpO3ZhciByPXl0LnRlc3QodCk7cmV0dXJuIHJ8fGJ0LnRlc3QodCk/bG4odC5zbGljZSgyKSxyPzI6OCk6ZHQudGVzdCh0KT9nOit0fWZ1bmN0aW9uIG1hKHQpe3JldHVybiBQbyh0LE5hKHQpKX1mdW5jdGlvbiB4YSh0KXtyZXR1cm4gbnVsbD09dD8iIjpsbyh0KX12YXIgd2E9Tm8oKGZ1bmN0aW9uKHQsbil7aWYoQWkobil8fFl1KG4pKVBvKG4sTWEobiksdCk7ZWxzZSBmb3IodmFyIHIgaW4gbilVdC5jYWxsKG4scikmJmVlKHQscixuW3JdKX0pKSxPYT1ObygoZnVuY3Rpb24odCxuKXtQbyhuLE5hKG4pLHQpfSkpLEVhPU5vKChmdW5jdGlvbih0LG4scixlKXtQbyhuLE5hKG4pLHQsZSl9KSksU2E9Tm8oKGZ1bmN0aW9uKHQsbixyLGUpe1BvKG4sTWEobiksdCxlKX0pKSxBYT1paShjZSk7dmFyIGphPVhlKChmdW5jdGlvbih0LG4pe3Q9anQodCk7dmFyIHI9LTEsZT1uLmxlbmd0aCxpPWU+Mj9uWzJdOm87Zm9yKGkmJndpKG5bMF0sblsxXSxpKSYmKGU9MSk7KytyPGU7KWZvcih2YXIgdT1uW3JdLGE9TmEodSksYz0tMSxmPWEubGVuZ3RoOysrYzxmOyl7dmFyIHM9YVtjXSxsPXRbc107KGw9PT1vfHxxdShsLFB0W3NdKSYmIVV0LmNhbGwodCxzKSkmJih0W3NdPXVbc10pfXJldHVybiB0fSkpLFJhPVhlKChmdW5jdGlvbih0KXtyZXR1cm4gdC5wdXNoKG8scmkpLEFuKENhLG8sdCl9KSk7ZnVuY3Rpb24gSWEodCxuLHIpe3ZhciBlPW51bGw9PXQ/bzpTZSh0LG4pO3JldHVybiBlPT09bz9yOmV9ZnVuY3Rpb24ga2EodCxuKXtyZXR1cm4gbnVsbCE9dCYmX2kodCxuLGtlKX12YXIgTGE9JG8oKGZ1bmN0aW9uKHQsbixyKXtudWxsIT1uJiYiZnVuY3Rpb24iIT10eXBlb2Ygbi50b1N0cmluZyYmKG49QnQuY2FsbChuKSksdFtuXT1yfSksZWModWMpKSxUYT0kbygoZnVuY3Rpb24odCxuLHIpe251bGwhPW4mJiJmdW5jdGlvbiIhPXR5cGVvZiBuLnRvU3RyaW5nJiYobj1CdC5jYWxsKG4pKSxVdC5jYWxsKHQsbik/dFtuXS5wdXNoKHIpOnRbbl09W3JdfSksbGkpLFBhPVhlKFRlKTtmdW5jdGlvbiBNYSh0KXtyZXR1cm4gWXUodCk/WHIodCk6RmUodCl9ZnVuY3Rpb24gTmEodCl7cmV0dXJuIFl1KHQpP1hyKHQsITApOkJlKHQpfXZhciBVYT1ObygoZnVuY3Rpb24odCxuLHIpeyRlKHQsbixyKX0pKSxDYT1ObygoZnVuY3Rpb24odCxuLHIsZSl7JGUodCxuLHIsZSl9KSksRmE9aWkoKGZ1bmN0aW9uKHQsbil7dmFyIHI9e307aWYobnVsbD09dClyZXR1cm4gcjt2YXIgZT0hMTtuPU1uKG4sKGZ1bmN0aW9uKG4pe3JldHVybiBuPXdvKG4sdCksZXx8KGU9bi5sZW5ndGg+MSksbn0pKSxQbyh0LGFpKHQpLHIpLGUmJihyPXNlKHIsNyxlaSkpO2Zvcih2YXIgbz1uLmxlbmd0aDtvLS07KXBvKHIsbltvXSk7cmV0dXJuIHJ9KSk7dmFyIEJhPWlpKChmdW5jdGlvbih0LG4pe3JldHVybiBudWxsPT10P3t9OmZ1bmN0aW9uKHQsbil7cmV0dXJuIEhlKHQsbiwoZnVuY3Rpb24obixyKXtyZXR1cm4ga2EodCxyKX0pKX0odCxuKX0pKTtmdW5jdGlvbiB6YSh0LG4pe2lmKG51bGw9PXQpcmV0dXJue307dmFyIHI9TW4oYWkodCksKGZ1bmN0aW9uKHQpe3JldHVyblt0XX0pKTtyZXR1cm4gbj1saShuKSxIZSh0LHIsKGZ1bmN0aW9uKHQscil7cmV0dXJuIG4odCxyWzBdKX0pKX12YXIgV2E9UW8oTWEpLERhPVFvKE5hKTtmdW5jdGlvbiBxYSh0KXtyZXR1cm4gbnVsbD09dD9bXTpRbih0LE1hKHQpKX12YXIgJGE9Qm8oKGZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gbj1uLnRvTG93ZXJDYXNlKCksdCsocj9HYShuKTpuKX0pKTtmdW5jdGlvbiBHYSh0KXtyZXR1cm4gUWEoeGEodCkudG9Mb3dlckNhc2UoKSl9ZnVuY3Rpb24gVmEodCl7cmV0dXJuKHQ9eGEodCkpJiZ0LnJlcGxhY2UoeHQsb3IpLnJlcGxhY2UoUXQsIiIpfXZhciBIYT1CbygoZnVuY3Rpb24odCxuLHIpe3JldHVybiB0KyhyPyItIjoiIikrbi50b0xvd2VyQ2FzZSgpfSkpLEthPUJvKChmdW5jdGlvbih0LG4scil7cmV0dXJuIHQrKHI/IiAiOiIiKStuLnRvTG93ZXJDYXNlKCl9KSksWWE9Rm8oInRvTG93ZXJDYXNlIik7dmFyIFphPUJvKChmdW5jdGlvbih0LG4scil7cmV0dXJuIHQrKHI/Il8iOiIiKStuLnRvTG93ZXJDYXNlKCl9KSk7dmFyIEphPUJvKChmdW5jdGlvbih0LG4scil7cmV0dXJuIHQrKHI/IiAiOiIiKStRYShuKX0pKTt2YXIgWGE9Qm8oKGZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gdCsocj8iICI6IiIpK24udG9VcHBlckNhc2UoKX0pKSxRYT1GbygidG9VcHBlckNhc2UiKTtmdW5jdGlvbiB0Yyh0LG4scil7cmV0dXJuIHQ9eGEodCksKG49cj9vOm4pPT09bz9mdW5jdGlvbih0KXtyZXR1cm4gZW4udGVzdCh0KX0odCk/ZnVuY3Rpb24odCl7cmV0dXJuIHQubWF0Y2gobm4pfHxbXX0odCk6ZnVuY3Rpb24odCl7cmV0dXJuIHQubWF0Y2gobHQpfHxbXX0odCk6dC5tYXRjaChuKXx8W119dmFyIG5jPVhlKChmdW5jdGlvbih0LG4pe3RyeXtyZXR1cm4gQW4odCxvLG4pfWNhdGNoKHQpe3JldHVybiBRdSh0KT90Om5ldyBFdCh0KX19KSkscmM9aWkoKGZ1bmN0aW9uKHQsbil7cmV0dXJuIFJuKG4sKGZ1bmN0aW9uKG4pe249emkobiksYWUodCxuLFR1KHRbbl0sdCkpfSkpLHR9KSk7ZnVuY3Rpb24gZWModCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fXZhciBvYz1EbygpLGljPURvKCEwKTtmdW5jdGlvbiB1Yyh0KXtyZXR1cm4gdH1mdW5jdGlvbiBhYyh0KXtyZXR1cm4gQ2UoImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzZSh0LDEpKX12YXIgY2M9WGUoKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBUZShyLHQsbil9fSkpLGZjPVhlKChmdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gVGUodCxyLG4pfX0pKTtmdW5jdGlvbiBzYyh0LG4scil7dmFyIGU9TWEobiksbz1FZShuLGUpO251bGwhPXJ8fGVhKG4pJiYoby5sZW5ndGh8fCFlLmxlbmd0aCl8fChyPW4sbj10LHQ9dGhpcyxvPUVlKG4sTWEobikpKTt2YXIgaT0hKGVhKHIpJiYiY2hhaW4iaW4gciYmIXIuY2hhaW4pLHU9dGEodCk7cmV0dXJuIFJuKG8sKGZ1bmN0aW9uKHIpe3ZhciBlPW5bcl07dFtyXT1lLHUmJih0LnByb3RvdHlwZVtyXT1mdW5jdGlvbigpe3ZhciBuPXRoaXMuX19jaGFpbl9fO2lmKGl8fG4pe3ZhciByPXQodGhpcy5fX3dyYXBwZWRfXyksbz1yLl9fYWN0aW9uc19fPVRvKHRoaXMuX19hY3Rpb25zX18pO3JldHVybiBvLnB1c2goe2Z1bmM6ZSxhcmdzOmFyZ3VtZW50cyx0aGlzQXJnOnR9KSxyLl9fY2hhaW5fXz1uLHJ9cmV0dXJuIGUuYXBwbHkodCxObihbdGhpcy52YWx1ZSgpXSxhcmd1bWVudHMpKX0pfSkpLHR9ZnVuY3Rpb24gbGMoKXt9dmFyIGhjPVZvKE1uKSxwYz1WbyhrbiksdmM9Vm8oRm4pO2Z1bmN0aW9uIGdjKHQpe3JldHVybiBPaSh0KT9Wbih6aSh0KSk6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBTZShuLHQpfX0odCl9dmFyIGRjPUtvKCkseWM9S28oITApO2Z1bmN0aW9uIF9jKCl7cmV0dXJuW119ZnVuY3Rpb24gYmMoKXtyZXR1cm4hMX12YXIgbWM9R28oKGZ1bmN0aW9uKHQsbil7cmV0dXJuIHQrbn0pLDApLHhjPUpvKCJjZWlsIiksd2M9R28oKGZ1bmN0aW9uKHQsbil7cmV0dXJuIHQvbn0pLDEpLE9jPUpvKCJmbG9vciIpO3ZhciBFYyxTYz1HbygoZnVuY3Rpb24odCxuKXtyZXR1cm4gdCpufSksMSksQWM9Sm8oInJvdW5kIiksamM9R28oKGZ1bmN0aW9uKHQsbil7cmV0dXJuIHQtbn0pLDApO3JldHVybiBEci5hZnRlcj1mdW5jdGlvbih0LG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBrdChpKTtyZXR1cm4gdD15YSh0KSxmdW5jdGlvbigpe2lmKC0tdDwxKXJldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LERyLmFyeT1rdSxEci5hc3NpZ249d2EsRHIuYXNzaWduSW49T2EsRHIuYXNzaWduSW5XaXRoPUVhLERyLmFzc2lnbldpdGg9U2EsRHIuYXQ9QWEsRHIuYmVmb3JlPUx1LERyLmJpbmQ9VHUsRHIuYmluZEFsbD1yYyxEci5iaW5kS2V5PVB1LERyLmNhc3RBcnJheT1mdW5jdGlvbigpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybltdO3ZhciB0PWFyZ3VtZW50c1swXTtyZXR1cm4gSHUodCk/dDpbdF19LERyLmNoYWluPWd1LERyLmNodW5rPWZ1bmN0aW9uKHQsbixyKXtuPShyP3dpKHQsbixyKTpuPT09byk/MTptcih5YShuKSwwKTt2YXIgaT1udWxsPT10PzA6dC5sZW5ndGg7aWYoIWl8fG48MSlyZXR1cm5bXTtmb3IodmFyIHU9MCxhPTAsYz1lKGRuKGkvbikpO3U8aTspY1thKytdPWlvKHQsdSx1Kz1uKTtyZXR1cm4gY30sRHIuY29tcGFjdD1mdW5jdGlvbih0KXtmb3IodmFyIG49LTEscj1udWxsPT10PzA6dC5sZW5ndGgsZT0wLG89W107KytuPHI7KXt2YXIgaT10W25dO2kmJihvW2UrK109aSl9cmV0dXJuIG99LERyLmNvbmNhdD1mdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg7aWYoIXQpcmV0dXJuW107Zm9yKHZhciBuPWUodC0xKSxyPWFyZ3VtZW50c1swXSxvPXQ7by0tOyluW28tMV09YXJndW1lbnRzW29dO3JldHVybiBObihIdShyKT9UbyhyKTpbcl0sYmUobiwxKSl9LERyLmNvbmQ9ZnVuY3Rpb24odCl7dmFyIG49bnVsbD09dD8wOnQubGVuZ3RoLHI9bGkoKTtyZXR1cm4gdD1uP01uKHQsKGZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0WzFdKXRocm93IG5ldyBrdChpKTtyZXR1cm5bcih0WzBdKSx0WzFdXX0pKTpbXSxYZSgoZnVuY3Rpb24ocil7Zm9yKHZhciBlPS0xOysrZTxuOyl7dmFyIG89dFtlXTtpZihBbihvWzBdLHRoaXMscikpcmV0dXJuIEFuKG9bMV0sdGhpcyxyKX19KSl9LERyLmNvbmZvcm1zPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgbj1NYSh0KTtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIGxlKHIsdCxuKX19KHNlKHQsMSkpfSxEci5jb25zdGFudD1lYyxEci5jb3VudEJ5PV91LERyLmNyZWF0ZT1mdW5jdGlvbih0LG4pe3ZhciByPXFyKHQpO3JldHVybiBudWxsPT1uP3I6dWUocixuKX0sRHIuY3Vycnk9ZnVuY3Rpb24gdChuLHIsZSl7dmFyIGk9dGkobiw4LG8sbyxvLG8sbyxyPWU/bzpyKTtyZXR1cm4gaS5wbGFjZWhvbGRlcj10LnBsYWNlaG9sZGVyLGl9LERyLmN1cnJ5UmlnaHQ9ZnVuY3Rpb24gdChuLHIsZSl7dmFyIGk9dGkobixjLG8sbyxvLG8sbyxyPWU/bzpyKTtyZXR1cm4gaS5wbGFjZWhvbGRlcj10LnBsYWNlaG9sZGVyLGl9LERyLmRlYm91bmNlPU11LERyLmRlZmF1bHRzPWphLERyLmRlZmF1bHRzRGVlcD1SYSxEci5kZWZlcj1OdSxEci5kZWxheT1VdSxEci5kaWZmZXJlbmNlPXFpLERyLmRpZmZlcmVuY2VCeT0kaSxEci5kaWZmZXJlbmNlV2l0aD1HaSxEci5kcm9wPWZ1bmN0aW9uKHQsbixyKXt2YXIgZT1udWxsPT10PzA6dC5sZW5ndGg7cmV0dXJuIGU/aW8odCwobj1yfHxuPT09bz8xOnlhKG4pKTwwPzA6bixlKTpbXX0sRHIuZHJvcFJpZ2h0PWZ1bmN0aW9uKHQsbixyKXt2YXIgZT1udWxsPT10PzA6dC5sZW5ndGg7cmV0dXJuIGU/aW8odCwwLChuPWUtKG49cnx8bj09PW8/MTp5YShuKSkpPDA/MDpuKTpbXX0sRHIuZHJvcFJpZ2h0V2hpbGU9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdCYmdC5sZW5ndGg/Z28odCxsaShuLDMpLCEwLCEwKTpbXX0sRHIuZHJvcFdoaWxlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIHQmJnQubGVuZ3RoP2dvKHQsbGkobiwzKSwhMCk6W119LERyLmZpbGw9ZnVuY3Rpb24odCxuLHIsZSl7dmFyIGk9bnVsbD09dD8wOnQubGVuZ3RoO3JldHVybiBpPyhyJiYibnVtYmVyIiE9dHlwZW9mIHImJndpKHQsbixyKSYmKHI9MCxlPWkpLGZ1bmN0aW9uKHQsbixyLGUpe3ZhciBpPXQubGVuZ3RoO2Zvcigocj15YShyKSk8MCYmKHI9LXI+aT8wOmkrciksKGU9ZT09PW98fGU+aT9pOnlhKGUpKTwwJiYoZSs9aSksZT1yPmU/MDpfYShlKTtyPGU7KXRbcisrXT1uO3JldHVybiB0fSh0LG4scixlKSk6W119LERyLmZpbHRlcj1mdW5jdGlvbih0LG4pe3JldHVybihIdSh0KT9MbjpfZSkodCxsaShuLDMpKX0sRHIuZmxhdE1hcD1mdW5jdGlvbih0LG4pe3JldHVybiBiZShBdSh0LG4pLDEpfSxEci5mbGF0TWFwRGVlcD1mdW5jdGlvbih0LG4pe3JldHVybiBiZShBdSh0LG4pLHApfSxEci5mbGF0TWFwRGVwdGg9ZnVuY3Rpb24odCxuLHIpe3JldHVybiByPXI9PT1vPzE6eWEociksYmUoQXUodCxuKSxyKX0sRHIuZmxhdHRlbj1LaSxEci5mbGF0dGVuRGVlcD1mdW5jdGlvbih0KXtyZXR1cm4obnVsbD09dD8wOnQubGVuZ3RoKT9iZSh0LHApOltdfSxEci5mbGF0dGVuRGVwdGg9ZnVuY3Rpb24odCxuKXtyZXR1cm4obnVsbD09dD8wOnQubGVuZ3RoKT9iZSh0LG49bj09PW8/MTp5YShuKSk6W119LERyLmZsaXA9ZnVuY3Rpb24odCl7cmV0dXJuIHRpKHQsNTEyKX0sRHIuZmxvdz1vYyxEci5mbG93UmlnaHQ9aWMsRHIuZnJvbVBhaXJzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbj0tMSxyPW51bGw9PXQ/MDp0Lmxlbmd0aCxlPXt9OysrbjxyOyl7dmFyIG89dFtuXTtlW29bMF1dPW9bMV19cmV0dXJuIGV9LERyLmZ1bmN0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9bXTpFZSh0LE1hKHQpKX0sRHIuZnVuY3Rpb25zSW49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106RWUodCxOYSh0KSl9LERyLmdyb3VwQnk9T3UsRHIuaW5pdGlhbD1mdW5jdGlvbih0KXtyZXR1cm4obnVsbD09dD8wOnQubGVuZ3RoKT9pbyh0LDAsLTEpOltdfSxEci5pbnRlcnNlY3Rpb249WmksRHIuaW50ZXJzZWN0aW9uQnk9SmksRHIuaW50ZXJzZWN0aW9uV2l0aD1YaSxEci5pbnZlcnQ9TGEsRHIuaW52ZXJ0Qnk9VGEsRHIuaW52b2tlTWFwPUV1LERyLml0ZXJhdGVlPWFjLERyLmtleUJ5PVN1LERyLmtleXM9TWEsRHIua2V5c0luPU5hLERyLm1hcD1BdSxEci5tYXBLZXlzPWZ1bmN0aW9uKHQsbil7dmFyIHI9e307cmV0dXJuIG49bGkobiwzKSx3ZSh0LChmdW5jdGlvbih0LGUsbyl7YWUocixuKHQsZSxvKSx0KX0pKSxyfSxEci5tYXBWYWx1ZXM9ZnVuY3Rpb24odCxuKXt2YXIgcj17fTtyZXR1cm4gbj1saShuLDMpLHdlKHQsKGZ1bmN0aW9uKHQsZSxvKXthZShyLGUsbih0LGUsbykpfSkpLHJ9LERyLm1hdGNoZXM9ZnVuY3Rpb24odCl7cmV0dXJuIERlKHNlKHQsMSkpfSxEci5tYXRjaGVzUHJvcGVydHk9ZnVuY3Rpb24odCxuKXtyZXR1cm4gcWUodCxzZShuLDEpKX0sRHIubWVtb2l6ZT1DdSxEci5tZXJnZT1VYSxEci5tZXJnZVdpdGg9Q2EsRHIubWV0aG9kPWNjLERyLm1ldGhvZE9mPWZjLERyLm1peGluPXNjLERyLm5lZ2F0ZT1GdSxEci5udGhBcmc9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9eWEodCksWGUoKGZ1bmN0aW9uKG4pe3JldHVybiBHZShuLHQpfSkpfSxEci5vbWl0PUZhLERyLm9taXRCeT1mdW5jdGlvbih0LG4pe3JldHVybiB6YSh0LEZ1KGxpKG4pKSl9LERyLm9uY2U9ZnVuY3Rpb24odCl7cmV0dXJuIEx1KDIsdCl9LERyLm9yZGVyQnk9ZnVuY3Rpb24odCxuLHIsZSl7cmV0dXJuIG51bGw9PXQ/W106KEh1KG4pfHwobj1udWxsPT1uP1tdOltuXSksSHUocj1lP286cil8fChyPW51bGw9PXI/W106W3JdKSxWZSh0LG4scikpfSxEci5vdmVyPWhjLERyLm92ZXJBcmdzPUJ1LERyLm92ZXJFdmVyeT1wYyxEci5vdmVyU29tZT12YyxEci5wYXJ0aWFsPXp1LERyLnBhcnRpYWxSaWdodD1XdSxEci5wYXJ0aXRpb249anUsRHIucGljaz1CYSxEci5waWNrQnk9emEsRHIucHJvcGVydHk9Z2MsRHIucHJvcGVydHlPZj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PXQ/bzpTZSh0LG4pfX0sRHIucHVsbD10dSxEci5wdWxsQWxsPW51LERyLnB1bGxBbGxCeT1mdW5jdGlvbih0LG4scil7cmV0dXJuIHQmJnQubGVuZ3RoJiZuJiZuLmxlbmd0aD9LZSh0LG4sbGkociwyKSk6dH0sRHIucHVsbEFsbFdpdGg9ZnVuY3Rpb24odCxuLHIpe3JldHVybiB0JiZ0Lmxlbmd0aCYmbiYmbi5sZW5ndGg/S2UodCxuLG8scik6dH0sRHIucHVsbEF0PXJ1LERyLnJhbmdlPWRjLERyLnJhbmdlUmlnaHQ9eWMsRHIucmVhcmc9RHUsRHIucmVqZWN0PWZ1bmN0aW9uKHQsbil7cmV0dXJuKEh1KHQpP0xuOl9lKSh0LEZ1KGxpKG4sMykpKX0sRHIucmVtb3ZlPWZ1bmN0aW9uKHQsbil7dmFyIHI9W107aWYoIXR8fCF0Lmxlbmd0aClyZXR1cm4gcjt2YXIgZT0tMSxvPVtdLGk9dC5sZW5ndGg7Zm9yKG49bGkobiwzKTsrK2U8aTspe3ZhciB1PXRbZV07bih1LGUsdCkmJihyLnB1c2godSksby5wdXNoKGUpKX1yZXR1cm4gWWUodCxvKSxyfSxEci5yZXN0PWZ1bmN0aW9uKHQsbil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IGt0KGkpO3JldHVybiBYZSh0LG49bj09PW8/bjp5YShuKSl9LERyLnJldmVyc2U9ZXUsRHIuc2FtcGxlU2l6ZT1mdW5jdGlvbih0LG4scil7cmV0dXJuIG49KHI/d2kodCxuLHIpOm49PT1vKT8xOnlhKG4pLChIdSh0KT90ZTp0bykodCxuKX0sRHIuc2V0PWZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gbnVsbD09dD90Om5vKHQsbixyKX0sRHIuc2V0V2l0aD1mdW5jdGlvbih0LG4scixlKXtyZXR1cm4gZT0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOm8sbnVsbD09dD90Om5vKHQsbixyLGUpfSxEci5zaHVmZmxlPWZ1bmN0aW9uKHQpe3JldHVybihIdSh0KT9uZTpvbykodCl9LERyLnNsaWNlPWZ1bmN0aW9uKHQsbixyKXt2YXIgZT1udWxsPT10PzA6dC5sZW5ndGg7cmV0dXJuIGU/KHImJiJudW1iZXIiIT10eXBlb2YgciYmd2kodCxuLHIpPyhuPTAscj1lKToobj1udWxsPT1uPzA6eWEobikscj1yPT09bz9lOnlhKHIpKSxpbyh0LG4scikpOltdfSxEci5zb3J0Qnk9UnUsRHIuc29ydGVkVW5pcT1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5sZW5ndGg/Zm8odCk6W119LERyLnNvcnRlZFVuaXFCeT1mdW5jdGlvbih0LG4pe3JldHVybiB0JiZ0Lmxlbmd0aD9mbyh0LGxpKG4sMikpOltdfSxEci5zcGxpdD1mdW5jdGlvbih0LG4scil7cmV0dXJuIHImJiJudW1iZXIiIT10eXBlb2YgciYmd2kodCxuLHIpJiYobj1yPW8pLChyPXI9PT1vP2Q6cj4+PjApPyh0PXhhKHQpKSYmKCJzdHJpbmciPT10eXBlb2Ygbnx8bnVsbCE9biYmIWNhKG4pKSYmIShuPWxvKG4pKSYmYXIodCk/RW8odnIodCksMCxyKTp0LnNwbGl0KG4scik6W119LERyLnNwcmVhZD1mdW5jdGlvbih0LG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBrdChpKTtyZXR1cm4gbj1udWxsPT1uPzA6bXIoeWEobiksMCksWGUoKGZ1bmN0aW9uKHIpe3ZhciBlPXJbbl0sbz1FbyhyLDAsbik7cmV0dXJuIGUmJk5uKG8sZSksQW4odCx0aGlzLG8pfSkpfSxEci50YWlsPWZ1bmN0aW9uKHQpe3ZhciBuPW51bGw9PXQ/MDp0Lmxlbmd0aDtyZXR1cm4gbj9pbyh0LDEsbik6W119LERyLnRha2U9ZnVuY3Rpb24odCxuLHIpe3JldHVybiB0JiZ0Lmxlbmd0aD9pbyh0LDAsKG49cnx8bj09PW8/MTp5YShuKSk8MD8wOm4pOltdfSxEci50YWtlUmlnaHQ9ZnVuY3Rpb24odCxuLHIpe3ZhciBlPW51bGw9PXQ/MDp0Lmxlbmd0aDtyZXR1cm4gZT9pbyh0LChuPWUtKG49cnx8bj09PW8/MTp5YShuKSkpPDA/MDpuLGUpOltdfSxEci50YWtlUmlnaHRXaGlsZT1mdW5jdGlvbih0LG4pe3JldHVybiB0JiZ0Lmxlbmd0aD9nbyh0LGxpKG4sMyksITEsITApOltdfSxEci50YWtlV2hpbGU9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdCYmdC5sZW5ndGg/Z28odCxsaShuLDMpKTpbXX0sRHIudGFwPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG4odCksdH0sRHIudGhyb3R0bGU9ZnVuY3Rpb24odCxuLHIpe3ZhciBlPSEwLG89ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IGt0KGkpO3JldHVybiBlYShyKSYmKGU9ImxlYWRpbmciaW4gcj8hIXIubGVhZGluZzplLG89InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOm8pLE11KHQsbix7bGVhZGluZzplLG1heFdhaXQ6bix0cmFpbGluZzpvfSl9LERyLnRocnU9ZHUsRHIudG9BcnJheT1nYSxEci50b1BhaXJzPVdhLERyLnRvUGFpcnNJbj1EYSxEci50b1BhdGg9ZnVuY3Rpb24odCl7cmV0dXJuIEh1KHQpP01uKHQsemkpOmxhKHQpP1t0XTpUbyhCaSh4YSh0KSkpfSxEci50b1BsYWluT2JqZWN0PW1hLERyLnRyYW5zZm9ybT1mdW5jdGlvbih0LG4scil7dmFyIGU9SHUodCksbz1lfHxKdSh0KXx8aGEodCk7aWYobj1saShuLDQpLG51bGw9PXIpe3ZhciBpPXQmJnQuY29uc3RydWN0b3I7cj1vP2U/bmV3IGk6W106ZWEodCkmJnRhKGkpP3FyKEh0KHQpKTp7fX1yZXR1cm4obz9Sbjp3ZSkodCwoZnVuY3Rpb24odCxlLG8pe3JldHVybiBuKHIsdCxlLG8pfSkpLHJ9LERyLnVuYXJ5PWZ1bmN0aW9uKHQpe3JldHVybiBrdSh0LDEpfSxEci51bmlvbj1vdSxEci51bmlvbkJ5PWl1LERyLnVuaW9uV2l0aD11dSxEci51bmlxPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9obyh0KTpbXX0sRHIudW5pcUJ5PWZ1bmN0aW9uKHQsbil7cmV0dXJuIHQmJnQubGVuZ3RoP2hvKHQsbGkobiwyKSk6W119LERyLnVuaXFXaXRoPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG49ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpvLHQmJnQubGVuZ3RoP2hvKHQsbyxuKTpbXX0sRHIudW5zZXQ9ZnVuY3Rpb24odCxuKXtyZXR1cm4gbnVsbD09dHx8cG8odCxuKX0sRHIudW56aXA9YXUsRHIudW56aXBXaXRoPWN1LERyLnVwZGF0ZT1mdW5jdGlvbih0LG4scil7cmV0dXJuIG51bGw9PXQ/dDp2byh0LG4seG8ocikpfSxEci51cGRhdGVXaXRoPWZ1bmN0aW9uKHQsbixyLGUpe3JldHVybiBlPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6byxudWxsPT10P3Q6dm8odCxuLHhvKHIpLGUpfSxEci52YWx1ZXM9cWEsRHIudmFsdWVzSW49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106UW4odCxOYSh0KSl9LERyLndpdGhvdXQ9ZnUsRHIud29yZHM9dGMsRHIud3JhcD1mdW5jdGlvbih0LG4pe3JldHVybiB6dSh4byhuKSx0KX0sRHIueG9yPXN1LERyLnhvckJ5PWx1LERyLnhvcldpdGg9aHUsRHIuemlwPXB1LERyLnppcE9iamVjdD1mdW5jdGlvbih0LG4pe3JldHVybiBibyh0fHxbXSxufHxbXSxlZSl9LERyLnppcE9iamVjdERlZXA9ZnVuY3Rpb24odCxuKXtyZXR1cm4gYm8odHx8W10sbnx8W10sbm8pfSxEci56aXBXaXRoPXZ1LERyLmVudHJpZXM9V2EsRHIuZW50cmllc0luPURhLERyLmV4dGVuZD1PYSxEci5leHRlbmRXaXRoPUVhLHNjKERyLERyKSxEci5hZGQ9bWMsRHIuYXR0ZW1wdD1uYyxEci5jYW1lbENhc2U9JGEsRHIuY2FwaXRhbGl6ZT1HYSxEci5jZWlsPXhjLERyLmNsYW1wPWZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gcj09PW8mJihyPW4sbj1vKSxyIT09byYmKHI9KHI9YmEocikpPT1yP3I6MCksbiE9PW8mJihuPShuPWJhKG4pKT09bj9uOjApLGZlKGJhKHQpLG4scil9LERyLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBzZSh0LDQpfSxEci5jbG9uZURlZXA9ZnVuY3Rpb24odCl7cmV0dXJuIHNlKHQsNSl9LERyLmNsb25lRGVlcFdpdGg9ZnVuY3Rpb24odCxuKXtyZXR1cm4gc2UodCw1LG49ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpvKX0sRHIuY2xvbmVXaXRoPWZ1bmN0aW9uKHQsbil7cmV0dXJuIHNlKHQsNCxuPSJmdW5jdGlvbiI9PXR5cGVvZiBuP246byl9LERyLmNvbmZvcm1zVG89ZnVuY3Rpb24odCxuKXtyZXR1cm4gbnVsbD09bnx8bGUodCxuLE1hKG4pKX0sRHIuZGVidXJyPVZhLERyLmRlZmF1bHRUbz1mdW5jdGlvbih0LG4pe3JldHVybiBudWxsPT10fHx0IT10P246dH0sRHIuZGl2aWRlPXdjLERyLmVuZHNXaXRoPWZ1bmN0aW9uKHQsbixyKXt0PXhhKHQpLG49bG8obik7dmFyIGU9dC5sZW5ndGgsaT1yPXI9PT1vP2U6ZmUoeWEociksMCxlKTtyZXR1cm4oci09bi5sZW5ndGgpPj0wJiZ0LnNsaWNlKHIsaSk9PW59LERyLmVxPXF1LERyLmVzY2FwZT1mdW5jdGlvbih0KXtyZXR1cm4odD14YSh0KSkmJkoudGVzdCh0KT90LnJlcGxhY2UoWSxpcik6dH0sRHIuZXNjYXBlUmVnRXhwPWZ1bmN0aW9uKHQpe3JldHVybih0PXhhKHQpKSYmaXQudGVzdCh0KT90LnJlcGxhY2Uob3QsIlxcJCYiKTp0fSxEci5ldmVyeT1mdW5jdGlvbih0LG4scil7dmFyIGU9SHUodCk/a246ZGU7cmV0dXJuIHImJndpKHQsbixyKSYmKG49byksZSh0LGxpKG4sMykpfSxEci5maW5kPWJ1LERyLmZpbmRJbmRleD1WaSxEci5maW5kS2V5PWZ1bmN0aW9uKHQsbil7cmV0dXJuIHpuKHQsbGkobiwzKSx3ZSl9LERyLmZpbmRMYXN0PW11LERyLmZpbmRMYXN0SW5kZXg9SGksRHIuZmluZExhc3RLZXk9ZnVuY3Rpb24odCxuKXtyZXR1cm4gem4odCxsaShuLDMpLE9lKX0sRHIuZmxvb3I9T2MsRHIuZm9yRWFjaD14dSxEci5mb3JFYWNoUmlnaHQ9d3UsRHIuZm9ySW49ZnVuY3Rpb24odCxuKXtyZXR1cm4gbnVsbD09dD90Om1lKHQsbGkobiwzKSxOYSl9LERyLmZvckluUmlnaHQ9ZnVuY3Rpb24odCxuKXtyZXR1cm4gbnVsbD09dD90OnhlKHQsbGkobiwzKSxOYSl9LERyLmZvck93bj1mdW5jdGlvbih0LG4pe3JldHVybiB0JiZ3ZSh0LGxpKG4sMykpfSxEci5mb3JPd25SaWdodD1mdW5jdGlvbih0LG4pe3JldHVybiB0JiZPZSh0LGxpKG4sMykpfSxEci5nZXQ9SWEsRHIuZ3Q9JHUsRHIuZ3RlPUd1LERyLmhhcz1mdW5jdGlvbih0LG4pe3JldHVybiBudWxsIT10JiZfaSh0LG4sSWUpfSxEci5oYXNJbj1rYSxEci5oZWFkPVlpLERyLmlkZW50aXR5PXVjLERyLmluY2x1ZGVzPWZ1bmN0aW9uKHQsbixyLGUpe3Q9WXUodCk/dDpxYSh0KSxyPXImJiFlP3lhKHIpOjA7dmFyIG89dC5sZW5ndGg7cmV0dXJuIHI8MCYmKHI9bXIobytyLDApKSxzYSh0KT9yPD1vJiZ0LmluZGV4T2YobixyKT4tMTohIW8mJkRuKHQsbixyKT4tMX0sRHIuaW5kZXhPZj1mdW5jdGlvbih0LG4scil7dmFyIGU9bnVsbD09dD8wOnQubGVuZ3RoO2lmKCFlKXJldHVybi0xO3ZhciBvPW51bGw9PXI/MDp5YShyKTtyZXR1cm4gbzwwJiYobz1tcihlK28sMCkpLERuKHQsbixvKX0sRHIuaW5SYW5nZT1mdW5jdGlvbih0LG4scil7cmV0dXJuIG49ZGEobikscj09PW8/KHI9bixuPTApOnI9ZGEociksZnVuY3Rpb24odCxuLHIpe3JldHVybiB0Pj14cihuLHIpJiZ0PG1yKG4scil9KHQ9YmEodCksbixyKX0sRHIuaW52b2tlPVBhLERyLmlzQXJndW1lbnRzPVZ1LERyLmlzQXJyYXk9SHUsRHIuaXNBcnJheUJ1ZmZlcj1LdSxEci5pc0FycmF5TGlrZT1ZdSxEci5pc0FycmF5TGlrZU9iamVjdD1adSxEci5pc0Jvb2xlYW49ZnVuY3Rpb24odCl7cmV0dXJuITA9PT10fHwhMT09PXR8fG9hKHQpJiZqZSh0KT09bX0sRHIuaXNCdWZmZXI9SnUsRHIuaXNEYXRlPVh1LERyLmlzRWxlbWVudD1mdW5jdGlvbih0KXtyZXR1cm4gb2EodCkmJjE9PT10Lm5vZGVUeXBlJiYhYWEodCl9LERyLmlzRW1wdHk9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4hMDtpZihZdSh0KSYmKEh1KHQpfHwic3RyaW5nIj09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0LnNwbGljZXx8SnUodCl8fGhhKHQpfHxWdSh0KSkpcmV0dXJuIXQubGVuZ3RoO3ZhciBuPXlpKHQpO2lmKG49PVN8fG49PWspcmV0dXJuIXQuc2l6ZTtpZihBaSh0KSlyZXR1cm4hRmUodCkubGVuZ3RoO2Zvcih2YXIgciBpbiB0KWlmKFV0LmNhbGwodCxyKSlyZXR1cm4hMTtyZXR1cm4hMH0sRHIuaXNFcXVhbD1mdW5jdGlvbih0LG4pe3JldHVybiBNZSh0LG4pfSxEci5pc0VxdWFsV2l0aD1mdW5jdGlvbih0LG4scil7dmFyIGU9KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cjpvKT9yKHQsbik6bztyZXR1cm4gZT09PW8/TWUodCxuLG8scik6ISFlfSxEci5pc0Vycm9yPVF1LERyLmlzRmluaXRlPWZ1bmN0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdCYmSG4odCl9LERyLmlzRnVuY3Rpb249dGEsRHIuaXNJbnRlZ2VyPW5hLERyLmlzTGVuZ3RoPXJhLERyLmlzTWFwPWlhLERyLmlzTWF0Y2g9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdD09PW58fE5lKHQsbixwaShuKSl9LERyLmlzTWF0Y2hXaXRoPWZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gcj0iZnVuY3Rpb24iPT10eXBlb2Ygcj9yOm8sTmUodCxuLHBpKG4pLHIpfSxEci5pc05hTj1mdW5jdGlvbih0KXtyZXR1cm4gdWEodCkmJnQhPSt0fSxEci5pc05hdGl2ZT1mdW5jdGlvbih0KXtpZihTaSh0KSl0aHJvdyBuZXcgRXQoIlVuc3VwcG9ydGVkIGNvcmUtanMgdXNlLiBUcnkgaHR0cHM6Ly9ucG1zLmlvL3NlYXJjaD9xPXBvbnlmaWxsLiIpO3JldHVybiBVZSh0KX0sRHIuaXNOaWw9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR9LERyLmlzTnVsbD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXR9LERyLmlzTnVtYmVyPXVhLERyLmlzT2JqZWN0PWVhLERyLmlzT2JqZWN0TGlrZT1vYSxEci5pc1BsYWluT2JqZWN0PWFhLERyLmlzUmVnRXhwPWNhLERyLmlzU2FmZUludGVnZXI9ZnVuY3Rpb24odCl7cmV0dXJuIG5hKHQpJiZ0Pj0tOTAwNzE5OTI1NDc0MDk5MSYmdDw9dn0sRHIuaXNTZXQ9ZmEsRHIuaXNTdHJpbmc9c2EsRHIuaXNTeW1ib2w9bGEsRHIuaXNUeXBlZEFycmF5PWhhLERyLmlzVW5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiB0PT09b30sRHIuaXNXZWFrTWFwPWZ1bmN0aW9uKHQpe3JldHVybiBvYSh0KSYmeWkodCk9PVB9LERyLmlzV2Vha1NldD1mdW5jdGlvbih0KXtyZXR1cm4gb2EodCkmJiJbb2JqZWN0IFdlYWtTZXRdIj09amUodCl9LERyLmpvaW49ZnVuY3Rpb24odCxuKXtyZXR1cm4gbnVsbD09dD8iIjpfci5jYWxsKHQsbil9LERyLmtlYmFiQ2FzZT1IYSxEci5sYXN0PVFpLERyLmxhc3RJbmRleE9mPWZ1bmN0aW9uKHQsbixyKXt2YXIgZT1udWxsPT10PzA6dC5sZW5ndGg7aWYoIWUpcmV0dXJuLTE7dmFyIGk9ZTtyZXR1cm4gciE9PW8mJihpPShpPXlhKHIpKTwwP21yKGUraSwwKTp4cihpLGUtMSkpLG49PW4/ZnVuY3Rpb24odCxuLHIpe2Zvcih2YXIgZT1yKzE7ZS0tOylpZih0W2VdPT09bilyZXR1cm4gZTtyZXR1cm4gZX0odCxuLGkpOlduKHQsJG4saSwhMCl9LERyLmxvd2VyQ2FzZT1LYSxEci5sb3dlckZpcnN0PVlhLERyLmx0PXBhLERyLmx0ZT12YSxEci5tYXg9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQubGVuZ3RoP3llKHQsdWMsUmUpOm99LERyLm1heEJ5PWZ1bmN0aW9uKHQsbil7cmV0dXJuIHQmJnQubGVuZ3RoP3llKHQsbGkobiwyKSxSZSk6b30sRHIubWVhbj1mdW5jdGlvbih0KXtyZXR1cm4gR24odCx1Yyl9LERyLm1lYW5CeT1mdW5jdGlvbih0LG4pe3JldHVybiBHbih0LGxpKG4sMikpfSxEci5taW49ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQubGVuZ3RoP3llKHQsdWMsemUpOm99LERyLm1pbkJ5PWZ1bmN0aW9uKHQsbil7cmV0dXJuIHQmJnQubGVuZ3RoP3llKHQsbGkobiwyKSx6ZSk6b30sRHIuc3R1YkFycmF5PV9jLERyLnN0dWJGYWxzZT1iYyxEci5zdHViT2JqZWN0PWZ1bmN0aW9uKCl7cmV0dXJue319LERyLnN0dWJTdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIn0sRHIuc3R1YlRydWU9ZnVuY3Rpb24oKXtyZXR1cm4hMH0sRHIubXVsdGlwbHk9U2MsRHIubnRoPWZ1bmN0aW9uKHQsbil7cmV0dXJuIHQmJnQubGVuZ3RoP0dlKHQseWEobikpOm99LERyLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdm4uXz09PXRoaXMmJih2bi5fPVd0KSx0aGlzfSxEci5ub29wPWxjLERyLm5vdz1JdSxEci5wYWQ9ZnVuY3Rpb24odCxuLHIpe3Q9eGEodCk7dmFyIGU9KG49eWEobikpP3ByKHQpOjA7aWYoIW58fGU+PW4pcmV0dXJuIHQ7dmFyIG89KG4tZSkvMjtyZXR1cm4gSG8oX24obykscikrdCtIbyhkbihvKSxyKX0sRHIucGFkRW5kPWZ1bmN0aW9uKHQsbixyKXt0PXhhKHQpO3ZhciBlPShuPXlhKG4pKT9wcih0KTowO3JldHVybiBuJiZlPG4/dCtIbyhuLWUscik6dH0sRHIucGFkU3RhcnQ9ZnVuY3Rpb24odCxuLHIpe3Q9eGEodCk7dmFyIGU9KG49eWEobikpP3ByKHQpOjA7cmV0dXJuIG4mJmU8bj9IbyhuLWUscikrdDp0fSxEci5wYXJzZUludD1mdW5jdGlvbih0LG4scil7cmV0dXJuIHJ8fG51bGw9PW4/bj0wOm4mJihuPStuKSxPcih4YSh0KS5yZXBsYWNlKHV0LCIiKSxufHwwKX0sRHIucmFuZG9tPWZ1bmN0aW9uKHQsbixyKXtpZihyJiYiYm9vbGVhbiIhPXR5cGVvZiByJiZ3aSh0LG4scikmJihuPXI9bykscj09PW8mJigiYm9vbGVhbiI9PXR5cGVvZiBuPyhyPW4sbj1vKToiYm9vbGVhbiI9PXR5cGVvZiB0JiYocj10LHQ9bykpLHQ9PT1vJiZuPT09bz8odD0wLG49MSk6KHQ9ZGEodCksbj09PW8/KG49dCx0PTApOm49ZGEobikpLHQ+bil7dmFyIGU9dDt0PW4sbj1lfWlmKHJ8fHQlMXx8biUxKXt2YXIgaT1FcigpO3JldHVybiB4cih0K2kqKG4tdCtzbigiMWUtIisoKGkrIiIpLmxlbmd0aC0xKSkpLG4pfXJldHVybiBaZSh0LG4pfSxEci5yZWR1Y2U9ZnVuY3Rpb24odCxuLHIpe3ZhciBlPUh1KHQpP1VuOktuLG89YXJndW1lbnRzLmxlbmd0aDwzO3JldHVybiBlKHQsbGkobiw0KSxyLG8sdmUpfSxEci5yZWR1Y2VSaWdodD1mdW5jdGlvbih0LG4scil7dmFyIGU9SHUodCk/Q246S24sbz1hcmd1bWVudHMubGVuZ3RoPDM7cmV0dXJuIGUodCxsaShuLDQpLHIsbyxnZSl9LERyLnJlcGVhdD1mdW5jdGlvbih0LG4scil7cmV0dXJuIG49KHI/d2kodCxuLHIpOm49PT1vKT8xOnlhKG4pLEplKHhhKHQpLG4pfSxEci5yZXBsYWNlPWZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLG49eGEodFswXSk7cmV0dXJuIHQubGVuZ3RoPDM/bjpuLnJlcGxhY2UodFsxXSx0WzJdKX0sRHIucmVzdWx0PWZ1bmN0aW9uKHQsbixyKXt2YXIgZT0tMSxpPShuPXdvKG4sdCkpLmxlbmd0aDtmb3IoaXx8KGk9MSx0PW8pOysrZTxpOyl7dmFyIHU9bnVsbD09dD9vOnRbemkobltlXSldO3U9PT1vJiYoZT1pLHU9ciksdD10YSh1KT91LmNhbGwodCk6dX1yZXR1cm4gdH0sRHIucm91bmQ9QWMsRHIucnVuSW5Db250ZXh0PXQsRHIuc2FtcGxlPWZ1bmN0aW9uKHQpe3JldHVybihIdSh0KT9RcjpRZSkodCl9LERyLnNpemU9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gMDtpZihZdSh0KSlyZXR1cm4gc2EodCk/cHIodCk6dC5sZW5ndGg7dmFyIG49eWkodCk7cmV0dXJuIG49PVN8fG49PWs/dC5zaXplOkZlKHQpLmxlbmd0aH0sRHIuc25ha2VDYXNlPVphLERyLnNvbWU9ZnVuY3Rpb24odCxuLHIpe3ZhciBlPUh1KHQpP0ZuOnVvO3JldHVybiByJiZ3aSh0LG4scikmJihuPW8pLGUodCxsaShuLDMpKX0sRHIuc29ydGVkSW5kZXg9ZnVuY3Rpb24odCxuKXtyZXR1cm4gYW8odCxuKX0sRHIuc29ydGVkSW5kZXhCeT1mdW5jdGlvbih0LG4scil7cmV0dXJuIGNvKHQsbixsaShyLDIpKX0sRHIuc29ydGVkSW5kZXhPZj1mdW5jdGlvbih0LG4pe3ZhciByPW51bGw9PXQ/MDp0Lmxlbmd0aDtpZihyKXt2YXIgZT1hbyh0LG4pO2lmKGU8ciYmcXUodFtlXSxuKSlyZXR1cm4gZX1yZXR1cm4tMX0sRHIuc29ydGVkTGFzdEluZGV4PWZ1bmN0aW9uKHQsbil7cmV0dXJuIGFvKHQsbiwhMCl9LERyLnNvcnRlZExhc3RJbmRleEJ5PWZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gY28odCxuLGxpKHIsMiksITApfSxEci5zb3J0ZWRMYXN0SW5kZXhPZj1mdW5jdGlvbih0LG4pe2lmKG51bGw9PXQ/MDp0Lmxlbmd0aCl7dmFyIHI9YW8odCxuLCEwKS0xO2lmKHF1KHRbcl0sbikpcmV0dXJuIHJ9cmV0dXJuLTF9LERyLnN0YXJ0Q2FzZT1KYSxEci5zdGFydHNXaXRoPWZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gdD14YSh0KSxyPW51bGw9PXI/MDpmZSh5YShyKSwwLHQubGVuZ3RoKSxuPWxvKG4pLHQuc2xpY2UocixyK24ubGVuZ3RoKT09bn0sRHIuc3VidHJhY3Q9amMsRHIuc3VtPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9Zbih0LHVjKTowfSxEci5zdW1CeT1mdW5jdGlvbih0LG4pe3JldHVybiB0JiZ0Lmxlbmd0aD9Zbih0LGxpKG4sMikpOjB9LERyLnRlbXBsYXRlPWZ1bmN0aW9uKHQsbixyKXt2YXIgZT1Eci50ZW1wbGF0ZVNldHRpbmdzO3ImJndpKHQsbixyKSYmKG49byksdD14YSh0KSxuPUVhKHt9LG4sZSxuaSk7dmFyIGksdSxhPUVhKHt9LG4uaW1wb3J0cyxlLmltcG9ydHMsbmkpLGM9TWEoYSksZj1RbihhLGMpLHM9MCxsPW4uaW50ZXJwb2xhdGV8fHd0LGg9Il9fcCArPSAnIixwPVJ0KChuLmVzY2FwZXx8d3QpLnNvdXJjZSsifCIrbC5zb3VyY2UrInwiKyhsPT09dHQ/dnQ6d3QpLnNvdXJjZSsifCIrKG4uZXZhbHVhdGV8fHd0KS5zb3VyY2UrInwkIiwiZyIpLHY9Ii8vIyBzb3VyY2VVUkw9IisoVXQuY2FsbChuLCJzb3VyY2VVUkwiKT8obi5zb3VyY2VVUkwrIiIpLnJlcGxhY2UoL1xzL2csIiAiKToibG9kYXNoLnRlbXBsYXRlU291cmNlc1siKyArK3VuKyJdIikrIlxuIjt0LnJlcGxhY2UocCwoZnVuY3Rpb24obixyLGUsbyxhLGMpe3JldHVybiBlfHwoZT1vKSxoKz10LnNsaWNlKHMsYykucmVwbGFjZShPdCx1ciksciYmKGk9ITAsaCs9IicgK1xuX19lKCIrcisiKSArXG4nIiksYSYmKHU9ITAsaCs9Iic7XG4iK2ErIjtcbl9fcCArPSAnIiksZSYmKGgrPSInICtcbigoX190ID0gKCIrZSsiKSkgPT0gbnVsbCA/ICcnIDogX190KSArXG4nIikscz1jK24ubGVuZ3RoLG59KSksaCs9Iic7XG4iO3ZhciBnPVV0LmNhbGwobiwidmFyaWFibGUiKSYmbi52YXJpYWJsZTtpZihnKXtpZihodC50ZXN0KGcpKXRocm93IG5ldyBFdCgiSW52YWxpZCBgdmFyaWFibGVgIG9wdGlvbiBwYXNzZWQgaW50byBgXy50ZW1wbGF0ZWAiKX1lbHNlIGg9IndpdGggKG9iaikge1xuIitoKyJcbn1cbiI7aD0odT9oLnJlcGxhY2UoRywiIik6aCkucmVwbGFjZShWLCIkMSIpLnJlcGxhY2UoSCwiJDE7IiksaD0iZnVuY3Rpb24oIisoZ3x8Im9iaiIpKyIpIHtcbiIrKGc/IiI6Im9iaiB8fCAob2JqID0ge30pO1xuIikrInZhciBfX3QsIF9fcCA9ICcnIisoaT8iLCBfX2UgPSBfLmVzY2FwZSI6IiIpKyh1PyIsIF9faiA9IEFycmF5LnByb3RvdHlwZS5qb2luO1xuZnVuY3Rpb24gcHJpbnQoKSB7IF9fcCArPSBfX2ouY2FsbChhcmd1bWVudHMsICcnKSB9XG4iOiI7XG4iKStoKyJyZXR1cm4gX19wXG59Ijt2YXIgZD1uYygoZnVuY3Rpb24oKXtyZXR1cm4gU3QoYyx2KyJyZXR1cm4gIitoKS5hcHBseShvLGYpfSkpO2lmKGQuc291cmNlPWgsUXUoZCkpdGhyb3cgZDtyZXR1cm4gZH0sRHIudGltZXM9ZnVuY3Rpb24odCxuKXtpZigodD15YSh0KSk8MXx8dD52KXJldHVybltdO3ZhciByPWQsZT14cih0LGQpO249bGkobiksdC09ZDtmb3IodmFyIG89Wm4oZSxuKTsrK3I8dDspbihyKTtyZXR1cm4gb30sRHIudG9GaW5pdGU9ZGEsRHIudG9JbnRlZ2VyPXlhLERyLnRvTGVuZ3RoPV9hLERyLnRvTG93ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHhhKHQpLnRvTG93ZXJDYXNlKCl9LERyLnRvTnVtYmVyPWJhLERyLnRvU2FmZUludGVnZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHQ/ZmUoeWEodCksLTkwMDcxOTkyNTQ3NDA5OTEsdik6MD09PXQ/dDowfSxEci50b1N0cmluZz14YSxEci50b1VwcGVyPWZ1bmN0aW9uKHQpe3JldHVybiB4YSh0KS50b1VwcGVyQ2FzZSgpfSxEci50cmltPWZ1bmN0aW9uKHQsbixyKXtpZigodD14YSh0KSkmJihyfHxuPT09bykpcmV0dXJuIEpuKHQpO2lmKCF0fHwhKG49bG8obikpKXJldHVybiB0O3ZhciBlPXZyKHQpLGk9dnIobik7cmV0dXJuIEVvKGUsbnIoZSxpKSxycihlLGkpKzEpLmpvaW4oIiIpfSxEci50cmltRW5kPWZ1bmN0aW9uKHQsbixyKXtpZigodD14YSh0KSkmJihyfHxuPT09bykpcmV0dXJuIHQuc2xpY2UoMCxncih0KSsxKTtpZighdHx8IShuPWxvKG4pKSlyZXR1cm4gdDt2YXIgZT12cih0KTtyZXR1cm4gRW8oZSwwLHJyKGUsdnIobikpKzEpLmpvaW4oIiIpfSxEci50cmltU3RhcnQ9ZnVuY3Rpb24odCxuLHIpe2lmKCh0PXhhKHQpKSYmKHJ8fG49PT1vKSlyZXR1cm4gdC5yZXBsYWNlKHV0LCIiKTtpZighdHx8IShuPWxvKG4pKSlyZXR1cm4gdDt2YXIgZT12cih0KTtyZXR1cm4gRW8oZSxucihlLHZyKG4pKSkuam9pbigiIil9LERyLnRydW5jYXRlPWZ1bmN0aW9uKHQsbil7dmFyIHI9MzAsZT0iLi4uIjtpZihlYShuKSl7dmFyIGk9InNlcGFyYXRvciJpbiBuP24uc2VwYXJhdG9yOmk7cj0ibGVuZ3RoImluIG4/eWEobi5sZW5ndGgpOnIsZT0ib21pc3Npb24iaW4gbj9sbyhuLm9taXNzaW9uKTplfXZhciB1PSh0PXhhKHQpKS5sZW5ndGg7aWYoYXIodCkpe3ZhciBhPXZyKHQpO3U9YS5sZW5ndGh9aWYocj49dSlyZXR1cm4gdDt2YXIgYz1yLXByKGUpO2lmKGM8MSlyZXR1cm4gZTt2YXIgZj1hP0VvKGEsMCxjKS5qb2luKCIiKTp0LnNsaWNlKDAsYyk7aWYoaT09PW8pcmV0dXJuIGYrZTtpZihhJiYoYys9Zi5sZW5ndGgtYyksY2EoaSkpe2lmKHQuc2xpY2UoYykuc2VhcmNoKGkpKXt2YXIgcyxsPWY7Zm9yKGkuZ2xvYmFsfHwoaT1SdChpLnNvdXJjZSx4YShndC5leGVjKGkpKSsiZyIpKSxpLmxhc3RJbmRleD0wO3M9aS5leGVjKGwpOyl2YXIgaD1zLmluZGV4O2Y9Zi5zbGljZSgwLGg9PT1vP2M6aCl9fWVsc2UgaWYodC5pbmRleE9mKGxvKGkpLGMpIT1jKXt2YXIgcD1mLmxhc3RJbmRleE9mKGkpO3A+LTEmJihmPWYuc2xpY2UoMCxwKSl9cmV0dXJuIGYrZX0sRHIudW5lc2NhcGU9ZnVuY3Rpb24odCl7cmV0dXJuKHQ9eGEodCkpJiZaLnRlc3QodCk/dC5yZXBsYWNlKEssZHIpOnR9LERyLnVuaXF1ZUlkPWZ1bmN0aW9uKHQpe3ZhciBuPSsrQ3Q7cmV0dXJuIHhhKHQpK259LERyLnVwcGVyQ2FzZT1YYSxEci51cHBlckZpcnN0PVFhLERyLmVhY2g9eHUsRHIuZWFjaFJpZ2h0PXd1LERyLmZpcnN0PVlpLHNjKERyLChFYz17fSx3ZShEciwoZnVuY3Rpb24odCxuKXtVdC5jYWxsKERyLnByb3RvdHlwZSxuKXx8KEVjW25dPXQpfSkpLEVjKSx7Y2hhaW46ITF9KSxEci5WRVJTSU9OPSI0LjE3LjIxIixSbihbImJpbmQiLCJiaW5kS2V5IiwiY3VycnkiLCJjdXJyeVJpZ2h0IiwicGFydGlhbCIsInBhcnRpYWxSaWdodCJdLChmdW5jdGlvbih0KXtEclt0XS5wbGFjZWhvbGRlcj1Ecn0pKSxSbihbImRyb3AiLCJ0YWtlIl0sKGZ1bmN0aW9uKHQsbil7VnIucHJvdG90eXBlW3RdPWZ1bmN0aW9uKHIpe3I9cj09PW8/MTptcih5YShyKSwwKTt2YXIgZT10aGlzLl9fZmlsdGVyZWRfXyYmIW4/bmV3IFZyKHRoaXMpOnRoaXMuY2xvbmUoKTtyZXR1cm4gZS5fX2ZpbHRlcmVkX18/ZS5fX3Rha2VDb3VudF9fPXhyKHIsZS5fX3Rha2VDb3VudF9fKTplLl9fdmlld3NfXy5wdXNoKHtzaXplOnhyKHIsZCksdHlwZTp0KyhlLl9fZGlyX188MD8iUmlnaHQiOiIiKX0pLGV9LFZyLnByb3RvdHlwZVt0KyJSaWdodCJdPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnJldmVyc2UoKVt0XShuKS5yZXZlcnNlKCl9fSkpLFJuKFsiZmlsdGVyIiwibWFwIiwidGFrZVdoaWxlIl0sKGZ1bmN0aW9uKHQsbil7dmFyIHI9bisxLGU9MT09cnx8Mz09cjtWci5wcm90b3R5cGVbdF09ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5jbG9uZSgpO3JldHVybiBuLl9faXRlcmF0ZWVzX18ucHVzaCh7aXRlcmF0ZWU6bGkodCwzKSx0eXBlOnJ9KSxuLl9fZmlsdGVyZWRfXz1uLl9fZmlsdGVyZWRfX3x8ZSxufX0pKSxSbihbImhlYWQiLCJsYXN0Il0sKGZ1bmN0aW9uKHQsbil7dmFyIHI9InRha2UiKyhuPyJSaWdodCI6IiIpO1ZyLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpe3JldHVybiB0aGlzW3JdKDEpLnZhbHVlKClbMF19fSkpLFJuKFsiaW5pdGlhbCIsInRhaWwiXSwoZnVuY3Rpb24odCxuKXt2YXIgcj0iZHJvcCIrKG4/IiI6IlJpZ2h0Iik7VnIucHJvdG90eXBlW3RdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX19maWx0ZXJlZF9fP25ldyBWcih0aGlzKTp0aGlzW3JdKDEpfX0pKSxWci5wcm90b3R5cGUuY29tcGFjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcih1Yyl9LFZyLnByb3RvdHlwZS5maW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmZpbHRlcih0KS5oZWFkKCl9LFZyLnByb3RvdHlwZS5maW5kTGFzdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXZlcnNlKCkuZmluZCh0KX0sVnIucHJvdG90eXBlLmludm9rZU1hcD1YZSgoZnVuY3Rpb24odCxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD9uZXcgVnIodGhpcyk6dGhpcy5tYXAoKGZ1bmN0aW9uKHIpe3JldHVybiBUZShyLHQsbil9KSl9KSksVnIucHJvdG90eXBlLnJlamVjdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5maWx0ZXIoRnUobGkodCkpKX0sVnIucHJvdG90eXBlLnNsaWNlPWZ1bmN0aW9uKHQsbil7dD15YSh0KTt2YXIgcj10aGlzO3JldHVybiByLl9fZmlsdGVyZWRfXyYmKHQ+MHx8bjwwKT9uZXcgVnIocik6KHQ8MD9yPXIudGFrZVJpZ2h0KC10KTp0JiYocj1yLmRyb3AodCkpLG4hPT1vJiYocj0obj15YShuKSk8MD9yLmRyb3BSaWdodCgtbik6ci50YWtlKG4tdCkpLHIpfSxWci5wcm90b3R5cGUudGFrZVJpZ2h0V2hpbGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmV2ZXJzZSgpLnRha2VXaGlsZSh0KS5yZXZlcnNlKCl9LFZyLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFrZShkKX0sd2UoVnIucHJvdG90eXBlLChmdW5jdGlvbih0LG4pe3ZhciByPS9eKD86ZmlsdGVyfGZpbmR8bWFwfHJlamVjdCl8V2hpbGUkLy50ZXN0KG4pLGU9L14oPzpoZWFkfGxhc3QpJC8udGVzdChuKSxpPURyW2U/InRha2UiKygibGFzdCI9PW4/IlJpZ2h0IjoiIik6bl0sdT1lfHwvXmZpbmQvLnRlc3Qobik7aSYmKERyLnByb3RvdHlwZVtuXT1mdW5jdGlvbigpe3ZhciBuPXRoaXMuX193cmFwcGVkX18sYT1lP1sxXTphcmd1bWVudHMsYz1uIGluc3RhbmNlb2YgVnIsZj1hWzBdLHM9Y3x8SHUobiksbD1mdW5jdGlvbih0KXt2YXIgbj1pLmFwcGx5KERyLE5uKFt0XSxhKSk7cmV0dXJuIGUmJmg/blswXTpufTtzJiZyJiYiZnVuY3Rpb24iPT10eXBlb2YgZiYmMSE9Zi5sZW5ndGgmJihjPXM9ITEpO3ZhciBoPXRoaXMuX19jaGFpbl9fLHA9ISF0aGlzLl9fYWN0aW9uc19fLmxlbmd0aCx2PXUmJiFoLGc9YyYmIXA7aWYoIXUmJnMpe249Zz9uOm5ldyBWcih0aGlzKTt2YXIgZD10LmFwcGx5KG4sYSk7cmV0dXJuIGQuX19hY3Rpb25zX18ucHVzaCh7ZnVuYzpkdSxhcmdzOltsXSx0aGlzQXJnOm99KSxuZXcgR3IoZCxoKX1yZXR1cm4gdiYmZz90LmFwcGx5KHRoaXMsYSk6KGQ9dGhpcy50aHJ1KGwpLHY/ZT9kLnZhbHVlKClbMF06ZC52YWx1ZSgpOmQpfSl9KSksUm4oWyJwb3AiLCJwdXNoIiwic2hpZnQiLCJzb3J0Iiwic3BsaWNlIiwidW5zaGlmdCJdLChmdW5jdGlvbih0KXt2YXIgbj1MdFt0XSxyPS9eKD86cHVzaHxzb3J0fHVuc2hpZnQpJC8udGVzdCh0KT8idGFwIjoidGhydSIsZT0vXig/OnBvcHxzaGlmdCkkLy50ZXN0KHQpO0RyLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cztpZihlJiYhdGhpcy5fX2NoYWluX18pe3ZhciBvPXRoaXMudmFsdWUoKTtyZXR1cm4gbi5hcHBseShIdShvKT9vOltdLHQpfXJldHVybiB0aGlzW3JdKChmdW5jdGlvbihyKXtyZXR1cm4gbi5hcHBseShIdShyKT9yOltdLHQpfSkpfX0pKSx3ZShWci5wcm90b3R5cGUsKGZ1bmN0aW9uKHQsbil7dmFyIHI9RHJbbl07aWYocil7dmFyIGU9ci5uYW1lKyIiO1V0LmNhbGwoUHIsZSl8fChQcltlXT1bXSksUHJbZV0ucHVzaCh7bmFtZTpuLGZ1bmM6cn0pfX0pKSxQcltxbyhvLDIpLm5hbWVdPVt7bmFtZToid3JhcHBlciIsZnVuYzpvfV0sVnIucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IFZyKHRoaXMuX193cmFwcGVkX18pO3JldHVybiB0Ll9fYWN0aW9uc19fPVRvKHRoaXMuX19hY3Rpb25zX18pLHQuX19kaXJfXz10aGlzLl9fZGlyX18sdC5fX2ZpbHRlcmVkX189dGhpcy5fX2ZpbHRlcmVkX18sdC5fX2l0ZXJhdGVlc19fPVRvKHRoaXMuX19pdGVyYXRlZXNfXyksdC5fX3Rha2VDb3VudF9fPXRoaXMuX190YWtlQ291bnRfXyx0Ll9fdmlld3NfXz1Ubyh0aGlzLl9fdmlld3NfXyksdH0sVnIucHJvdG90eXBlLnJldmVyc2U9ZnVuY3Rpb24oKXtpZih0aGlzLl9fZmlsdGVyZWRfXyl7dmFyIHQ9bmV3IFZyKHRoaXMpO3QuX19kaXJfXz0tMSx0Ll9fZmlsdGVyZWRfXz0hMH1lbHNlKHQ9dGhpcy5jbG9uZSgpKS5fX2Rpcl9fKj0tMTtyZXR1cm4gdH0sVnIucHJvdG90eXBlLnZhbHVlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fX3dyYXBwZWRfXy52YWx1ZSgpLG49dGhpcy5fX2Rpcl9fLHI9SHUodCksZT1uPDAsbz1yP3QubGVuZ3RoOjAsaT1mdW5jdGlvbih0LG4scil7dmFyIGU9LTEsbz1yLmxlbmd0aDtmb3IoOysrZTxvOyl7dmFyIGk9cltlXSx1PWkuc2l6ZTtzd2l0Y2goaS50eXBlKXtjYXNlImRyb3AiOnQrPXU7YnJlYWs7Y2FzZSJkcm9wUmlnaHQiOm4tPXU7YnJlYWs7Y2FzZSJ0YWtlIjpuPXhyKG4sdCt1KTticmVhaztjYXNlInRha2VSaWdodCI6dD1tcih0LG4tdSl9fXJldHVybntzdGFydDp0LGVuZDpufX0oMCxvLHRoaXMuX192aWV3c19fKSx1PWkuc3RhcnQsYT1pLmVuZCxjPWEtdSxmPWU/YTp1LTEscz10aGlzLl9faXRlcmF0ZWVzX18sbD1zLmxlbmd0aCxoPTAscD14cihjLHRoaXMuX190YWtlQ291bnRfXyk7aWYoIXJ8fCFlJiZvPT1jJiZwPT1jKXJldHVybiB5byh0LHRoaXMuX19hY3Rpb25zX18pO3ZhciB2PVtdO3Q6Zm9yKDtjLS0mJmg8cDspe2Zvcih2YXIgZz0tMSxkPXRbZis9bl07KytnPGw7KXt2YXIgeT1zW2ddLF89eS5pdGVyYXRlZSxiPXkudHlwZSxtPV8oZCk7aWYoMj09YilkPW07ZWxzZSBpZighbSl7aWYoMT09Yiljb250aW51ZSB0O2JyZWFrIHR9fXZbaCsrXT1kfXJldHVybiB2fSxEci5wcm90b3R5cGUuYXQ9eXUsRHIucHJvdG90eXBlLmNoYWluPWZ1bmN0aW9uKCl7cmV0dXJuIGd1KHRoaXMpfSxEci5wcm90b3R5cGUuY29tbWl0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBHcih0aGlzLnZhbHVlKCksdGhpcy5fX2NoYWluX18pfSxEci5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3RoaXMuX192YWx1ZXNfXz09PW8mJih0aGlzLl9fdmFsdWVzX189Z2EodGhpcy52YWx1ZSgpKSk7dmFyIHQ9dGhpcy5fX2luZGV4X18+PXRoaXMuX192YWx1ZXNfXy5sZW5ndGg7cmV0dXJue2RvbmU6dCx2YWx1ZTp0P286dGhpcy5fX3ZhbHVlc19fW3RoaXMuX19pbmRleF9fKytdfX0sRHIucHJvdG90eXBlLnBsYW50PWZ1bmN0aW9uKHQpe2Zvcih2YXIgbixyPXRoaXM7ciBpbnN0YW5jZW9mICRyOyl7dmFyIGU9RGkocik7ZS5fX2luZGV4X189MCxlLl9fdmFsdWVzX189byxuP2kuX193cmFwcGVkX189ZTpuPWU7dmFyIGk9ZTtyPXIuX193cmFwcGVkX199cmV0dXJuIGkuX193cmFwcGVkX189dCxufSxEci5wcm90b3R5cGUucmV2ZXJzZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX193cmFwcGVkX187aWYodCBpbnN0YW5jZW9mIFZyKXt2YXIgbj10O3JldHVybiB0aGlzLl9fYWN0aW9uc19fLmxlbmd0aCYmKG49bmV3IFZyKHRoaXMpKSwobj1uLnJldmVyc2UoKSkuX19hY3Rpb25zX18ucHVzaCh7ZnVuYzpkdSxhcmdzOltldV0sdGhpc0FyZzpvfSksbmV3IEdyKG4sdGhpcy5fX2NoYWluX18pfXJldHVybiB0aGlzLnRocnUoZXUpfSxEci5wcm90b3R5cGUudG9KU09OPURyLnByb3RvdHlwZS52YWx1ZU9mPURyLnByb3RvdHlwZS52YWx1ZT1mdW5jdGlvbigpe3JldHVybiB5byh0aGlzLl9fd3JhcHBlZF9fLHRoaXMuX19hY3Rpb25zX18pfSxEci5wcm90b3R5cGUuZmlyc3Q9RHIucHJvdG90eXBlLmhlYWQsdG4mJihEci5wcm90b3R5cGVbdG5dPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxEcn0oKTt2bi5fPXlyLChlPWZ1bmN0aW9uKCl7cmV0dXJuIHlyfS5jYWxsKG4scixuLHQpKT09PW98fCh0LmV4cG9ydHM9ZSl9LmNhbGwodGhpcyl9LDkxMDMzOmZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7dmFyIGU9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1hcClyZXR1cm4gTWFwO2Z1bmN0aW9uIHQodCxuKXt2YXIgcj0tMTtyZXR1cm4gdC5zb21lKChmdW5jdGlvbih0LGUpe3JldHVybiB0WzBdPT09biYmKHI9ZSwhMCl9KSkscn1yZXR1cm4gZnVuY3Rpb24oKXtmdW5jdGlvbiBuKCl7dGhpcy5fX2VudHJpZXNfXz1bXX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLCJzaXplIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX19lbnRyaWVzX18ubGVuZ3RofSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLG4ucHJvdG90eXBlLmdldD1mdW5jdGlvbihuKXt2YXIgcj10KHRoaXMuX19lbnRyaWVzX18sbiksZT10aGlzLl9fZW50cmllc19fW3JdO3JldHVybiBlJiZlWzFdfSxuLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24obixyKXt2YXIgZT10KHRoaXMuX19lbnRyaWVzX18sbik7fmU/dGhpcy5fX2VudHJpZXNfX1tlXVsxXT1yOnRoaXMuX19lbnRyaWVzX18ucHVzaChbbixyXSl9LG4ucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihuKXt2YXIgcj10aGlzLl9fZW50cmllc19fLGU9dChyLG4pO35lJiZyLnNwbGljZShlLDEpfSxuLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24obil7cmV0dXJuISF+dCh0aGlzLl9fZW50cmllc19fLG4pfSxuLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19lbnRyaWVzX18uc3BsaWNlKDApfSxuLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKHQsbil7dm9pZCAwPT09biYmKG49bnVsbCk7Zm9yKHZhciByPTAsZT10aGlzLl9fZW50cmllc19fO3I8ZS5sZW5ndGg7cisrKXt2YXIgbz1lW3JdO3QuY2FsbChuLG9bMV0sb1swXSl9fSxufSgpfSgpLG89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJndpbmRvdy5kb2N1bWVudD09PWRvY3VtZW50LGk9dm9pZCAwIT09ci5nJiZyLmcuTWF0aD09PU1hdGg/ci5nOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZi5NYXRoPT09TWF0aD9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cuTWF0aD09PU1hdGg/d2luZG93OkZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCksdT0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lP3JlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKGkpOmZ1bmN0aW9uKHQpe3JldHVybiBzZXRUaW1lb3V0KChmdW5jdGlvbigpe3JldHVybiB0KERhdGUubm93KCkpfSksMWUzLzYwKX07dmFyIGE9WyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiLCJ3aWR0aCIsImhlaWdodCIsInNpemUiLCJ3ZWlnaHQiXSxjPSJ1bmRlZmluZWQiIT10eXBlb2YgTXV0YXRpb25PYnNlcnZlcixmPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMuY29ubmVjdGVkXz0hMSx0aGlzLm11dGF0aW9uRXZlbnRzQWRkZWRfPSExLHRoaXMubXV0YXRpb25zT2JzZXJ2ZXJfPW51bGwsdGhpcy5vYnNlcnZlcnNfPVtdLHRoaXMub25UcmFuc2l0aW9uRW5kXz10aGlzLm9uVHJhbnNpdGlvbkVuZF8uYmluZCh0aGlzKSx0aGlzLnJlZnJlc2g9ZnVuY3Rpb24odCxuKXt2YXIgcj0hMSxlPSExLG89MDtmdW5jdGlvbiBpKCl7ciYmKHI9ITEsdCgpKSxlJiZjKCl9ZnVuY3Rpb24gYSgpe3UoaSl9ZnVuY3Rpb24gYygpe3ZhciB0PURhdGUubm93KCk7aWYocil7aWYodC1vPDIpcmV0dXJuO2U9ITB9ZWxzZSByPSEwLGU9ITEsc2V0VGltZW91dChhLG4pO289dH1yZXR1cm4gY30odGhpcy5yZWZyZXNoLmJpbmQodGhpcyksMjApfXJldHVybiB0LnByb3RvdHlwZS5hZGRPYnNlcnZlcj1mdW5jdGlvbih0KXt+dGhpcy5vYnNlcnZlcnNfLmluZGV4T2YodCl8fHRoaXMub2JzZXJ2ZXJzXy5wdXNoKHQpLHRoaXMuY29ubmVjdGVkX3x8dGhpcy5jb25uZWN0XygpfSx0LnByb3RvdHlwZS5yZW1vdmVPYnNlcnZlcj1mdW5jdGlvbih0KXt2YXIgbj10aGlzLm9ic2VydmVyc18scj1uLmluZGV4T2YodCk7fnImJm4uc3BsaWNlKHIsMSksIW4ubGVuZ3RoJiZ0aGlzLmNvbm5lY3RlZF8mJnRoaXMuZGlzY29ubmVjdF8oKX0sdC5wcm90b3R5cGUucmVmcmVzaD1mdW5jdGlvbigpe3RoaXMudXBkYXRlT2JzZXJ2ZXJzXygpJiZ0aGlzLnJlZnJlc2goKX0sdC5wcm90b3R5cGUudXBkYXRlT2JzZXJ2ZXJzXz1mdW5jdGlvbigpe3ZhciB0PXRoaXMub2JzZXJ2ZXJzXy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdhdGhlckFjdGl2ZSgpLHQuaGFzQWN0aXZlKCl9KSk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuYnJvYWRjYXN0QWN0aXZlKCl9KSksdC5sZW5ndGg+MH0sdC5wcm90b3R5cGUuY29ubmVjdF89ZnVuY3Rpb24oKXtvJiYhdGhpcy5jb25uZWN0ZWRfJiYoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsdGhpcy5vblRyYW5zaXRpb25FbmRfKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLnJlZnJlc2gpLGM/KHRoaXMubXV0YXRpb25zT2JzZXJ2ZXJfPW5ldyBNdXRhdGlvbk9ic2VydmVyKHRoaXMucmVmcmVzaCksdGhpcy5tdXRhdGlvbnNPYnNlcnZlcl8ub2JzZXJ2ZShkb2N1bWVudCx7YXR0cmlidXRlczohMCxjaGlsZExpc3Q6ITAsY2hhcmFjdGVyRGF0YTohMCxzdWJ0cmVlOiEwfSkpOihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLHRoaXMucmVmcmVzaCksdGhpcy5tdXRhdGlvbkV2ZW50c0FkZGVkXz0hMCksdGhpcy5jb25uZWN0ZWRfPSEwKX0sdC5wcm90b3R5cGUuZGlzY29ubmVjdF89ZnVuY3Rpb24oKXtvJiZ0aGlzLmNvbm5lY3RlZF8mJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0aGlzLm9uVHJhbnNpdGlvbkVuZF8pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMucmVmcmVzaCksdGhpcy5tdXRhdGlvbnNPYnNlcnZlcl8mJnRoaXMubXV0YXRpb25zT2JzZXJ2ZXJfLmRpc2Nvbm5lY3QoKSx0aGlzLm11dGF0aW9uRXZlbnRzQWRkZWRfJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLHRoaXMucmVmcmVzaCksdGhpcy5tdXRhdGlvbnNPYnNlcnZlcl89bnVsbCx0aGlzLm11dGF0aW9uRXZlbnRzQWRkZWRfPSExLHRoaXMuY29ubmVjdGVkXz0hMSl9LHQucHJvdG90eXBlLm9uVHJhbnNpdGlvbkVuZF89ZnVuY3Rpb24odCl7dmFyIG49dC5wcm9wZXJ0eU5hbWUscj12b2lkIDA9PT1uPyIiOm47YS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4hIX5yLmluZGV4T2YodCl9KSkmJnRoaXMucmVmcmVzaCgpfSx0LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zdGFuY2VffHwodGhpcy5pbnN0YW5jZV89bmV3IHQpLHRoaXMuaW5zdGFuY2VffSx0Lmluc3RhbmNlXz1udWxsLHR9KCkscz1mdW5jdGlvbih0LG4pe2Zvcih2YXIgcj0wLGU9T2JqZWN0LmtleXMobik7cjxlLmxlbmd0aDtyKyspe3ZhciBvPWVbcl07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbyx7dmFsdWU6bltvXSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfXJldHVybiB0fSxsPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld3x8aX0saD1fKDAsMCwwLDApO2Z1bmN0aW9uIHAodCl7cmV0dXJuIHBhcnNlRmxvYXQodCl8fDB9ZnVuY3Rpb24gdih0KXtmb3IodmFyIG49W10scj0xO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspbltyLTFdPWFyZ3VtZW50c1tyXTtyZXR1cm4gbi5yZWR1Y2UoKGZ1bmN0aW9uKG4scil7cmV0dXJuIG4rcCh0WyJib3JkZXItIityKyItd2lkdGgiXSl9KSwwKX1mdW5jdGlvbiBnKHQpe3ZhciBuPXQuY2xpZW50V2lkdGgscj10LmNsaWVudEhlaWdodDtpZighbiYmIXIpcmV0dXJuIGg7dmFyIGU9bCh0KS5nZXRDb21wdXRlZFN0eWxlKHQpLG89ZnVuY3Rpb24odCl7Zm9yKHZhciBuPXt9LHI9MCxlPVsidG9wIiwicmlnaHQiLCJib3R0b20iLCJsZWZ0Il07cjxlLmxlbmd0aDtyKyspe3ZhciBvPWVbcl0saT10WyJwYWRkaW5nLSIrb107bltvXT1wKGkpfXJldHVybiBufShlKSxpPW8ubGVmdCtvLnJpZ2h0LHU9by50b3Arby5ib3R0b20sYT1wKGUud2lkdGgpLGM9cChlLmhlaWdodCk7aWYoImJvcmRlci1ib3giPT09ZS5ib3hTaXppbmcmJihNYXRoLnJvdW5kKGEraSkhPT1uJiYoYS09dihlLCJsZWZ0IiwicmlnaHQiKStpKSxNYXRoLnJvdW5kKGMrdSkhPT1yJiYoYy09dihlLCJ0b3AiLCJib3R0b20iKSt1KSksIWZ1bmN0aW9uKHQpe3JldHVybiB0PT09bCh0KS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnR9KHQpKXt2YXIgZj1NYXRoLnJvdW5kKGEraSktbixzPU1hdGgucm91bmQoYyt1KS1yOzEhPT1NYXRoLmFicyhmKSYmKGEtPWYpLDEhPT1NYXRoLmFicyhzKSYmKGMtPXMpfXJldHVybiBfKG8ubGVmdCxvLnRvcCxhLGMpfXZhciBkPSJ1bmRlZmluZWQiIT10eXBlb2YgU1ZHR3JhcGhpY3NFbGVtZW50P2Z1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgbCh0KS5TVkdHcmFwaGljc0VsZW1lbnR9OmZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgbCh0KS5TVkdFbGVtZW50JiYiZnVuY3Rpb24iPT10eXBlb2YgdC5nZXRCQm94fTtmdW5jdGlvbiB5KHQpe3JldHVybiBvP2QodCk/ZnVuY3Rpb24odCl7dmFyIG49dC5nZXRCQm94KCk7cmV0dXJuIF8oMCwwLG4ud2lkdGgsbi5oZWlnaHQpfSh0KTpnKHQpOmh9ZnVuY3Rpb24gXyh0LG4scixlKXtyZXR1cm57eDp0LHk6bix3aWR0aDpyLGhlaWdodDplfX12YXIgYj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5icm9hZGNhc3RXaWR0aD0wLHRoaXMuYnJvYWRjYXN0SGVpZ2h0PTAsdGhpcy5jb250ZW50UmVjdF89XygwLDAsMCwwKSx0aGlzLnRhcmdldD10fXJldHVybiB0LnByb3RvdHlwZS5pc0FjdGl2ZT1mdW5jdGlvbigpe3ZhciB0PXkodGhpcy50YXJnZXQpO3JldHVybiB0aGlzLmNvbnRlbnRSZWN0Xz10LHQud2lkdGghPT10aGlzLmJyb2FkY2FzdFdpZHRofHx0LmhlaWdodCE9PXRoaXMuYnJvYWRjYXN0SGVpZ2h0fSx0LnByb3RvdHlwZS5icm9hZGNhc3RSZWN0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jb250ZW50UmVjdF87cmV0dXJuIHRoaXMuYnJvYWRjYXN0V2lkdGg9dC53aWR0aCx0aGlzLmJyb2FkY2FzdEhlaWdodD10LmhlaWdodCx0fSx0fSgpLG09ZnVuY3Rpb24odCxuKXt2YXIgcixlLG8saSx1LGEsYyxmPShlPShyPW4pLngsbz1yLnksaT1yLndpZHRoLHU9ci5oZWlnaHQsYT0idW5kZWZpbmVkIiE9dHlwZW9mIERPTVJlY3RSZWFkT25seT9ET01SZWN0UmVhZE9ubHk6T2JqZWN0LGM9T2JqZWN0LmNyZWF0ZShhLnByb3RvdHlwZSkscyhjLHt4OmUseTpvLHdpZHRoOmksaGVpZ2h0OnUsdG9wOm8scmlnaHQ6ZStpLGJvdHRvbTp1K28sbGVmdDplfSksYyk7cyh0aGlzLHt0YXJnZXQ6dCxjb250ZW50UmVjdDpmfSl9LHg9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsbixyKXtpZih0aGlzLmFjdGl2ZU9ic2VydmF0aW9uc189W10sdGhpcy5vYnNlcnZhdGlvbnNfPW5ldyBlLCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZSBjYWxsYmFjayBwcm92aWRlZCBhcyBwYXJhbWV0ZXIgMSBpcyBub3QgYSBmdW5jdGlvbi4iKTt0aGlzLmNhbGxiYWNrXz10LHRoaXMuY29udHJvbGxlcl89bix0aGlzLmNhbGxiYWNrQ3R4Xz1yfXJldHVybiB0LnByb3RvdHlwZS5vYnNlcnZlPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoIjEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5IDAgcHJlc2VudC4iKTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEVsZW1lbnQmJkVsZW1lbnQgaW5zdGFuY2VvZiBPYmplY3Qpe2lmKCEodCBpbnN0YW5jZW9mIGwodCkuRWxlbWVudCkpdGhyb3cgbmV3IFR5cGVFcnJvcigncGFyYW1ldGVyIDEgaXMgbm90IG9mIHR5cGUgIkVsZW1lbnQiLicpO3ZhciBuPXRoaXMub2JzZXJ2YXRpb25zXztuLmhhcyh0KXx8KG4uc2V0KHQsbmV3IGIodCkpLHRoaXMuY29udHJvbGxlcl8uYWRkT2JzZXJ2ZXIodGhpcyksdGhpcy5jb250cm9sbGVyXy5yZWZyZXNoKCkpfX0sdC5wcm90b3R5cGUudW5vYnNlcnZlPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoIjEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5IDAgcHJlc2VudC4iKTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEVsZW1lbnQmJkVsZW1lbnQgaW5zdGFuY2VvZiBPYmplY3Qpe2lmKCEodCBpbnN0YW5jZW9mIGwodCkuRWxlbWVudCkpdGhyb3cgbmV3IFR5cGVFcnJvcigncGFyYW1ldGVyIDEgaXMgbm90IG9mIHR5cGUgIkVsZW1lbnQiLicpO3ZhciBuPXRoaXMub2JzZXJ2YXRpb25zXztuLmhhcyh0KSYmKG4uZGVsZXRlKHQpLG4uc2l6ZXx8dGhpcy5jb250cm9sbGVyXy5yZW1vdmVPYnNlcnZlcih0aGlzKSl9fSx0LnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7dGhpcy5jbGVhckFjdGl2ZSgpLHRoaXMub2JzZXJ2YXRpb25zXy5jbGVhcigpLHRoaXMuY29udHJvbGxlcl8ucmVtb3ZlT2JzZXJ2ZXIodGhpcyl9LHQucHJvdG90eXBlLmdhdGhlckFjdGl2ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5jbGVhckFjdGl2ZSgpLHRoaXMub2JzZXJ2YXRpb25zXy5mb3JFYWNoKChmdW5jdGlvbihuKXtuLmlzQWN0aXZlKCkmJnQuYWN0aXZlT2JzZXJ2YXRpb25zXy5wdXNoKG4pfSkpfSx0LnByb3RvdHlwZS5icm9hZGNhc3RBY3RpdmU9ZnVuY3Rpb24oKXtpZih0aGlzLmhhc0FjdGl2ZSgpKXt2YXIgdD10aGlzLmNhbGxiYWNrQ3R4XyxuPXRoaXMuYWN0aXZlT2JzZXJ2YXRpb25zXy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbSh0LnRhcmdldCx0LmJyb2FkY2FzdFJlY3QoKSl9KSk7dGhpcy5jYWxsYmFja18uY2FsbCh0LG4sdCksdGhpcy5jbGVhckFjdGl2ZSgpfX0sdC5wcm90b3R5cGUuY2xlYXJBY3RpdmU9ZnVuY3Rpb24oKXt0aGlzLmFjdGl2ZU9ic2VydmF0aW9uc18uc3BsaWNlKDApfSx0LnByb3RvdHlwZS5oYXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hY3RpdmVPYnNlcnZhdGlvbnNfLmxlbmd0aD4wfSx0fSgpLHc9InVuZGVmaW5lZCIhPXR5cGVvZiBXZWFrTWFwP25ldyBXZWFrTWFwOm5ldyBlLE89ZnVuY3Rpb24gdChuKXtpZighKHRoaXMgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24uIik7aWYoIWFyZ3VtZW50cy5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgMCBwcmVzZW50LiIpO3ZhciByPWYuZ2V0SW5zdGFuY2UoKSxlPW5ldyB4KG4scix0aGlzKTt3LnNldCh0aGlzLGUpfTtbIm9ic2VydmUiLCJ1bm9ic2VydmUiLCJkaXNjb25uZWN0Il0uZm9yRWFjaCgoZnVuY3Rpb24odCl7Ty5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXt2YXIgbjtyZXR1cm4obj13LmdldCh0aGlzKSlbdF0uYXBwbHkobixhcmd1bWVudHMpfX0pKTt2YXIgRT12b2lkIDAhPT1pLlJlc2l6ZU9ic2VydmVyP2kuUmVzaXplT2JzZXJ2ZXI6TztuLlo9RX19XSk7DQo="}},"time_used":5643,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5643,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"i.ytimg.com/vi_webp/tp6uF-bPG6E/default.webp","fqdn":"i.ytimg.com","domain":"ytimg.com","tld":"com"},"ip":{"addr":"142.250.178.86","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:26.369Z","timestamp":1785137066369,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"edgestatic.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:24 GMT","end":"Mon, 21 Sep 2026 08:37:23 GMT"},"fingerprint":{"sha1":"99:EB:44:FC:A9:EB:62:72:A5:7C:E5:77:BF:06:63:47:1B:54:C7:D7","sha256":"CD:4A:F6:7A:9F:60:AA:84:9F:37:94:1B:BE:E7:AB:41:46:38:9E:68:4A:4F:36:B3:D0:84:EC:FA:44:D7:A9:DD"}}},"request":{"raw":"GET /vi_webp/tp6uF-bPG6E/default.webp HTTP/1.1\r\nHost: i.ytimg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 1892\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 07:24:26 GMT\r\nexpires: Mon, 27 Jul 2026 09:24:26 GMT\r\ncache-control: public, max-age=7200\r\netag: \"1668838491\"\r\ncontent-type: image/webp\r\nvary: Origin\r\nage: 0\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":null,"data":{"size":1892,"size_decoded":2519,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image, VP8 encoding, 120x90, Scaling: [none]x[none], YUV color, decoders should clamp","md5":"f5769470cf3a99030c36c63387607262","sha1":"c26439c0a64974ca9d95381dba428218959fca29","sha256":"2c390966d2d9fc8847a530be2fc14f11cf1430b8192dc0f81e89f134bfb2771d","sha512":"b6173a279123143ed84af3f9a264b0d01776d7ae06f0172ef2733436123e3d12b374227aa84d0d7a5b099c47a05bf7f57947a08a01d8fcb7a028cdb403610158","ssdeep":"","tlshash":"4041f91897907cc66a1e5c16960695acd03f0036dd4cc22db6578a880f66b46a7b29cd","first_seen":"2026-07-27T05:02:02.467493Z","last_seen":"2026-07-27T07:25:17.862294Z","times_seen":2,"resource_available":false,"data":"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"}},"time_used":83,"timings":{"blocked":0,"dns":2,"connect":17,"send":0,"wait":28,"receive":0,"ssl":37},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.116.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:26.940Z","timestamp":1785137066940,"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":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"POST /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Api-Key: AIzaSyDyT5W0Jh49F30Pqqtyfdf7pDLFKLJoAnw\r\nContent-Type: application/json+protobuf\r\nContent-Length: 1800\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":1800,"data":"[\"O43z0dpjhgX20SCx4KAo\",\"$mAc5B2NRAAYuiqQtDoretL4VnB_PJ3enAEABEArZ1EoS5wE7Xtk97WcGpPmKlYTZlOJJ--P4c4OmRKTXdaH8gx2VRosuEjKhFX4eUzRmpzjbXOMUkOmHUHzHngAAAOvOAAAAEPQBB-IAUi_Sd-6LKfkONycRLRc6ZfoEwpN2YvESkgZ8alH2SX5pfq8AaGFqKK1S1gUzjXf8ObamjBhorP1NQp6pL_4CPuEQNSG8POddFzcvnN16uECbNPMFBHITKKt1sRLQDeKc9oOXVCjeD2BYpJMWxRfRFd9wt8Q4WDHKw0fD7nHnuMnYqpTXsS5K7V8TdObjejBj-scqxL8FfvznX3ozoWsMPW5VyBk_X6DFWF40hY9Xkfa8T9Iq0Iru4PTnirR7kHsEfGI-lI7bwfRf2HuZY5lZ-rhqZNvmdcvrA3KptqJX3qNLZhFi97ozhS40UV_RZdCTywfBPsOifAKNIdhXZnXN-FCIg52W2E_8p_c5NdA_NiNcKLcOyIKGF1R2oU8yOsNs_VPz1zcric5SHKtxAVQ2n7v7jSt1PyWLCnNiyZK_LrBpEh_YJOkAhervcBgjeMuo6YYBhjQ9qr43HT7Hu0Xlhyz5QgOlwOmQCqtHo_HfuLL2ihfEO5Zn2Sw-MwHEzV47if1mNJjsmpcd_9vGb3GrkPEyuYnDuZGflpXl_WqhNGYRgYwsFNd803tYAVPCRg-fxXvA54lrIYVaJG6SLPWGxnXorzYaSHs0TZhy71Y2_mTq-sL1bjrCM3Bp4EKEjzcis-Tec1Is-Dmh2ZIoIt2qtKFiB8SbQt9HnWKPguvyJ55mXcWXwrHuEoXWe88EEt6gIohtUVRxPzkO2VoYYWkCbYNY_xaGI7vYjdvldbnk3s3_JnInRiqCP3ZLNdCf_FnVnY6kq3A_vHgf0vdx6udAMZtb1L-ikddkPtu6ryEYKsqE_anfSlZidNKX0OqEcFFxlSlN4saKudbJe-eLGa4P05WHUFHr33WziboaguvppmJUpNatbVgAlG_nQ0xtuDXmWzaJp-RU0gz3Tbr80OOLPmkzehfPyCNoC4BAqYSZ9mNkkjVLzboaCHcpuxKy5njp-oni_Bny-E3zoFraSBbZODOY7AwL779yRNS_z0sfj5jxc61wEMew4UMkeRXkPWnaca8BTBHMcZgkK_3ccVDC0PiVYtqr13aaj1CVEgsXJIF5DJLIQhtwyse6ZQmiYp84HejcEarGx2KkfCyhRm0-K3qIyUmxE358q7uegFaSLa3D773cFCP5OcPLRQ5jS5SCvCOduwdJgU6y6no7GzW1ztCQLWqux7EGdb_3i0d5gasrrKnIgz2Xj0AEUMJesifIivKJP74B0aM7y0PmKEDbxSRBl7uS1lko51Xzte5NDKeT2kMeQMvE8eQS4vFvkCOmSuZr9VeH-vSY67JLG9JamRh6ARPesaW7_brnLNEMVXjig5__Yf39q7_Lwm7NPzp49CClieL0f6kgR2nJZkCy5WsI5rgYPA1V7IW4gPavAjYhleCIfAjFAEjBBSfYEDOK-MuW023APdpIg82ftGK0ioLYe5bJE7CPyxumNJ-9qZFPEmLmoDaBaUNFHHnRDUa5_wB8UX9_cwuTrHRH10CeBuvTP2FueNEtyMILqB3cTZfPcLg26_IKZkQhRzc5PGeuxZrEuq__httipN9AoweGK70vK_UC3PXSTAurH3v2t6eQbRSh1dvqCKcCrzLRUouUMLx3poIcGEvtosa9eLV38dvOFnYYjSNV\"]"}},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/json+protobuf; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 07:24:27 GMT\r\nserver: ESF\r\ncontent-length: 118\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\naccess-control-allow-origin: https://www.youtube.com\r\naccess-control-allow-credentials: true\r\naccess-control-expose-headers: vary,vary,vary,content-encoding,date,server,content-length\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":null,"data":{"size":98,"size_decoded":662,"mime_type":"application/json+protobuf; charset=UTF-8","magic":"JSON text data","md5":"e5032eb43d9859fa6629677865c5bf5b","sha1":"9af5c3fb1846e217114046f3f441bb29d4ce7361","sha256":"f1f4625b47f6d0a97ec11e3de9c3f322e5c9e43abd890974a1908dd7b949a50b","sha512":"76d209e9afdf9e771be0889eda16d27661836c6a5d02f62cffb7a2c5f5fa3951916c8d629234b76f70da8894a5cce7fd736635530c44e1239fce657e19f04ae5","ssdeep":"","tlshash":"84b0122d015d2513cb7a11eb73e69d0991150bcc445c07218161cf7224832503c7763c","first_seen":"2026-07-27T07:25:17.863396Z","last_seen":"2026-07-27T07:25:17.863396Z","times_seen":1,"resource_available":false,"data":"WyJqSThNWW10ZE5NNW1kbjZ5UUxBZGNJTkE1N3pZSGp3VFJzSytaT1d1SVVKU0NYZFJpUUpINFpodVd0bzg5d3d5WDJWOExWakxUQzdTcVlaaHI3Y0kiLDQzMjAwLDEwMF0="}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":2,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.116.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:26.942Z","timestamp":1785137066942,"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":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"OPTIONS /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-type,x-goog-api-key\r\nReferer: https://www.youtube.com/\r\nOrigin: https://www.youtube.com\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=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: https://www.youtube.com\r\nvary: origin, referer, x-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT\r\naccess-control-allow-headers: content-type,x-goog-api-key\r\naccess-control-max-age: 3600\r\ndate: Mon, 27 Jul 2026 07:24:26 GMT\r\ncontent-type: text/html\r\nserver: ESF\r\ncontent-length: 0\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":null,"data":{"size":0,"size_decoded":555,"mime_type":"text/html","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.88462Z","times_seen":17976927,"resource_available":true,"data":""}},"time_used":54,"timings":{"blocked":0,"dns":0,"connect":8,"send":0,"wait":20,"receive":0,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/www.googletagmanager.com/gtm5445.html?id=GTM-P98KR6D","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:30.818Z","timestamp":1785137070818,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /www.googletagmanager.com/gtm5445.html?id=GTM-P98KR6D HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:30 GMT\r\ncontent-length: 0\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":0,"size_decoded":175,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.88462Z","times_seen":17976927,"resource_available":true,"data":""}},"time_used":1915,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1915,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:31.685Z","timestamp":1785137071685,"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 /_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 67956\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:00:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:00:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 20:35:41 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 393867\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":null,"data":{"size":194344,"size_decoded":68816,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2519)","md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T19:37:31.609707Z","times_seen":2601,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKdmFyIEdnLEhnLElnLFhnLGNoLGloLGpoLGxoLG1oLG9oLHNoLHVoLHRoLEFoLEJoLEZoLERoLEVoLERnO18uRWc9ZnVuY3Rpb24oYSl7aWYoRGcudGVzdChhKSlyZXR1cm4gYX07Xy5GZz1mdW5jdGlvbihhLGIpe2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyfHwoYS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODI9e30pO2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyLnNldmVyaXR5PWJ9O0dnPWZ1bmN0aW9uKGEpe2lmKCFfLlVhfHwhXy5WYSlyZXR1cm4hMTtmb3IodmFyIGI9MDtiPF8uVmEuYnJhbmRzLmxlbmd0aDtiKyspe3ZhciBjPV8uVmEuYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9O0hnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiRmlyZWZveCIpfHxfLncoIkZ4aU9TIil9OwpJZz1mdW5jdGlvbigpe3JldHVybiBfLldhKCk/R2coIkNocm9taXVtIik6KF8udygiQ2hyb21lIil8fF8udygiQ3JpT1MiKSkmJiEoXy5XYSgpPzA6Xy53KCJFZGdlIikpfHxfLncoIlNpbGsiKX07Xy5KZz1mdW5jdGlvbigpe3JldHVybiBfLncoIlNhZmFyaSIpJiYhKElnKCl8fChfLldhKCk/MDpfLncoIkNvYXN0IikpfHxfLlhhKCl8fChfLldhKCk/MDpfLncoIkVkZ2UiKSl8fChfLldhKCk/R2coIk1pY3Jvc29mdCBFZGdlIik6Xy53KCJFZGcvIikpfHwoXy5XYSgpP0dnKCJPcGVyYSIpOl8udygiT1BSIikpfHxIZygpfHxfLncoIlNpbGsiKXx8Xy53KCJBbmRyb2lkIikpfTtfLktnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiQW5kcm9pZCIpJiYhKElnKCl8fEhnKCl8fF8uWGEoKXx8Xy53KCJTaWxrIikpfTsKXy5NZz1mdW5jdGlvbihhLGIpe2lmKGEhPW51bGwpe3ZhciBjO3ZhciBkPShjPUxnKSE9bnVsbD9jOkxnPXt9O2M9ZFthXXx8MDtjPj1ifHwoZFthXT1jKzEsYT1FcnJvcigpLF8uRmcoYSwiaW5jaWRlbnQiKSxfLnJiKGEpKX19O18uTmc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgpPT09InN5bWJvbCI/KGM9PT12b2lkIDA/MDpjKSYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpOmJ9O18uUmc9ZnVuY3Rpb24oYSxiKXtfLk9nfHxfLkggaW4gYXx8UGcoYSxRZyk7YVtfLkhdfD1ifTtfLlNnPWZ1bmN0aW9uKGEsYil7Xy5PZ3x8Xy5IIGluIGF8fFBnKGEsUWcpO2FbXy5IXT1ifTtfLlRnPWZ1bmN0aW9uKGEpe18uUmcoYSwzNCk7cmV0dXJuIGF9O18uVWc9ZnVuY3Rpb24oYSl7Xy5SZyhhLDgxOTIpO3JldHVybiBhfTsKXy5XZz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuZyE9PV8uVmcmJiEhKDImKGEuSltfLkhdfDApKTohISgyJmIpJiZhLmchPT1fLlZnfTtYZz1mdW5jdGlvbihhKXthLlRsPSEwO3JldHVybiBhfTtfLmJoPWZ1bmN0aW9uKGEpe3ZhciBiPWE7aWYoWWcoYikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChiKSl0aHJvdyBFcnJvcihTdHJpbmcoYikpO31lbHNlIGlmKFpnKGIpJiYhTnVtYmVyLmlzU2FmZUludGVnZXIoYikpdGhyb3cgRXJyb3IoU3RyaW5nKGIpKTtyZXR1cm4gJGc/QmlnSW50KGEpOmE9YWgoYSk/YT8iMSI6IjAiOllnKGEpP2EudHJpbSgpfHwiMCI6U3RyaW5nKGEpfTsKY2g9ZnVuY3Rpb24oYSxiKXtpZihhLmxlbmd0aD5iLmxlbmd0aClyZXR1cm4hMTtpZihhLmxlbmd0aDxiLmxlbmd0aHx8YT09PWIpcmV0dXJuITA7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1iW2NdO2lmKGQ+ZSlyZXR1cm4hMTtpZihkPGUpcmV0dXJuITB9fTtfLmhoPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEhPW51bGwmJmFbZGhdPT09ZWgpcmV0dXJuIGE7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGM/ZCYyP2JbXy5maF18fChiW18uZmhdPV8uZ2goYikpOm5ldyBiOnZvaWQgMDtjPWFbXy5IXXwwO2Q9Y3xkJjMyfGQmMjtkIT09YyYmXy5TZyhhLGQpO3JldHVybiBuZXcgYihhKX07Xy5naD1mdW5jdGlvbihhKXthPW5ldyBhO18uVGcoYS5KKTtyZXR1cm4gYX07aWg9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2poPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsKbGg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9Xy5oaChhLGQsYyxmKTtlJiYoYT1fLmtoKGEpKTtyZXR1cm4gYX07bWg9ZnVuY3Rpb24oYSl7cmV0dXJuW2EsdGhpcy5nZXQoYSldfTtvaD1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLk1nKG5oLDEpfTsKc2g9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLnBoKF8ucWgpLGc7IWUmJl8uT2cmJmYmJihnPWFbZl0pJiZnLlRrKG9oKTtmPVtdO3ZhciBoPWEubGVuZ3RoO2c9NDI5NDk2NzI5NTt2YXIgaz0hMSxsPSEhKGImNjQpLG49bD9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBxPWgmJmFbaC0xXTtxIT1udWxsJiZ0eXBlb2YgcT09PSJvYmplY3QiJiZxLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhoLS0sZz1oKTpxPXZvaWQgMDtpZihsJiYhKGImMTI4KSYmIWUpe2s9ITA7dmFyIHA7Zz0oKHA9cmgpIT1udWxsP3A6aWgpKGctbixuLGEscSx2b2lkIDApK259fWI9dm9pZCAwO2ZvcihlPTA7ZTxoO2UrKylpZihwPWFbZV0scCE9bnVsbCYmKHA9YyhwLGQpKSE9bnVsbClpZihsJiZlPj1nKXt2YXIgcj1lLW4sdD12b2lkIDA7KCh0PWIpIT1udWxsP3Q6Yj17fSlbcl09cH1lbHNlIGZbZV09cDtpZihxKWZvcih2YXIgQSBpbiBxKWE9cVtBXSxhIT0KbnVsbCYmKGE9YyhhLGQpKSE9bnVsbCYmKGg9K0EsZT12b2lkIDAsbCYmIU51bWJlci5pc05hTihoKSYmKGU9aCtuKTxnP2ZbZV09YTooaD12b2lkIDAsKChoPWIpIT1udWxsP2g6Yj17fSlbQV09YSkpO2ImJihrP2YucHVzaChiKTpmW2ddPWIpO3JldHVybiBmfTt1aD1mdW5jdGlvbihhKXthWzBdPXRoKGFbMF0pO2FbMV09dGgoYVsxXSk7cmV0dXJuIGF9Owp0aD1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLnZoKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYj1hW18uSF18MDtyZXR1cm4gYS5sZW5ndGg9PT0wJiZiJjE/dm9pZCAwOnNoKGEsYix0aCl9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gXy53aChhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGEuZygpO2lmKGEgaW5zdGFuY2VvZiBfLnloKXJldHVybiBhPWEuc2l6ZSE9PTA/Xy56aChhLHVoKTp2b2lkIDAsYTtyZXR1cm59cmV0dXJuIGF9O18ud2g9ZnVuY3Rpb24oYSl7YT1hLko7cmV0dXJuIHNoKGEsYVtfLkhdfDAsdGgpfTsKXy5JPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQWgoYSxiLGMsMjA0OCl9OwpBaD1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/MDpkO2lmKGE9PW51bGwpe3ZhciBlPTMyO2M/KGE9W2NdLGV8PTEyOCk6YT1bXTtiJiYoZT1lJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQpfWVsc2V7aWYoIUFycmF5LmlzQXJyYXkoYSkpdGhyb3cgRXJyb3IoImJhIik7ZT1hW18uSF18MDtpZihfLk1jJiYxJmUpdGhyb3cgRXJyb3IoImNhIik7MjA0OCZlJiYhKDImZSkmJkJoKCk7aWYoZSYyNTYpdGhyb3cgRXJyb3IoImRhIik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJl8uU2coYSxlfGQpLGE7aWYoYyYmKGV8PTEyOCxjIT09YVswXSkpdGhyb3cgRXJyb3IoImVhIik7YTp7Yz1hO2V8PTY0O3ZhciBmPWMubGVuZ3RoO2lmKGYpe3ZhciBnPWYtMSxoPWNbZ107aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yj1lJjEyOD8wOi0xO2ctPWI7aWYoZz49MTAyNCl0aHJvdyBFcnJvcigiZ2EiKTtmb3IodmFyIGsgaW4gaClmPStrLApmPGcmJihjW2YrYl09aFtrXSxkZWxldGUgaFtrXSk7ZT1lJi0xNjc2MDgzM3woZyYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoImhhIik7ZT1lJi0xNjc2MDgzM3woayYxMDIzKTw8MTR9fX1fLlNnKGEsZXw2NHxkKTtyZXR1cm4gYX07Qmg9ZnVuY3Rpb24oKXtpZihfLk1jKXRocm93IEVycm9yKCJmYSIpO18uTWcoQ2gsNSl9OwpGaD1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09Im9iamVjdCIpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGM9YVtfLkhdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYyYxP3ZvaWQgMDpEaChhLGMsYil9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gRWgoYSk7aWYoYSBpbnN0YW5jZW9mIF8ueWgpe2I9YS5LYjtpZihiJjIpcmV0dXJuIGE7aWYoIWEuc2l6ZSlyZXR1cm47Yz1fLlRnKF8uemgoYSkpO2lmKGEuR2IpZm9yKGE9MDthPGMubGVuZ3RoO2ErKyl7dmFyIGQ9Y1thXSxlPWRbMV07ZT09bnVsbHx8dHlwZW9mIGUhPT0ib2JqZWN0Ij9lPXZvaWQgMDplIT1udWxsJiZlW2RoXT09PWVoP2U9RWgoZSk6QXJyYXkuaXNBcnJheShlKT9lPURoKGUsZVtfLkhdfDAsISEoYiYzMikpOmU9dm9pZCAwO2RbMV09ZX1yZXR1cm4gY31pZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGF9OwpEaD1mdW5jdGlvbihhLGIsYyl7aWYoYiYyKXJldHVybiBhOyFjfHw0MDk2JmJ8fDE2JmI/YT1fLkdoKGEsYiwhMSxjJiYhKGImMTYpKTooXy5SZyhhLDM0KSxiJjQmJk9iamVjdC5mcmVlemUoYSkpO3JldHVybiBhfTtfLkhoPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmc9Xy5WZyk7YS5oPV8uVmc7cmV0dXJuIGF9O0VoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/YTpfLkloKGEsYixjKT9fLkhoKGEsYik6Xy5HaChiLGMpfTtfLkdoPWZ1bmN0aW9uKGEsYixjLGQpe2QhPW51bGx8fChkPSEhKDM0JmIpKTthPXNoKGEsYixGaCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDtfLlNnKGEsYik7cmV0dXJuIGF9OwpfLmtoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/Xy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSk6YX07Xy5JaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMmMj8hMDpjJjMyJiYhKGMmNDA5Nik/KF8uU2coYixjfDIpLGEuZz1fLlZnLCEwKTohMX07Xy5waD1mdW5jdGlvbihhKXtyZXR1cm4gYX07RGc9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaTtfLkpoPUhnKCk7Xy5LaD1fLlphKCl8fF8udygiaVBvZCIpO18uTGg9Xy53KCJpUGFkIik7Xy5NaD1fLktnKCk7Xy5OaD1JZygpO18uT2g9Xy5KZygpJiYhXy4kYSgpO18uUGg9IV8uU2MmJnR5cGVvZiBidG9hPT09ImZ1bmN0aW9uIjt2YXIgTGc9dm9pZCAwO3ZhciBRaCxuaCxDaCxkaDtfLk9nPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sKCk9PT0ic3ltYm9sIjtRaD1fLk5nKCJqYXMiLHZvaWQgMCwhMCk7Xy5maD1fLk5nKHZvaWQgMCwiMGRpIik7Xy5xaD1fLk5nKHZvaWQgMCxTeW1ib2woKSk7Xy5SaD1fLk5nKHZvaWQgMCwiMHViIik7bmg9Xy5OZyh2b2lkIDAsIjB1YnMiKTtDaD1fLk5nKHZvaWQgMCwiMGFjdGsiKTtkaD1fLk5nKCJtX20iLCJYbCIsITApO18uU2g9Xy5OZygpO3ZhciBRZyxQZyxVaDtRZz17ZWk6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9fTtQZz1PYmplY3QuZGVmaW5lUHJvcGVydGllcztfLkg9Xy5PZz9RaDoiZWkiO1VoPVtdO18uU2coVWgsNyk7Xy5UaD1PYmplY3QuZnJlZXplKFVoKTt2YXIgZWgsVmg7ZWg9e307Xy5WZz17fTtWaD1mdW5jdGlvbihhLGIsYyl7dGhpcy5nPWE7dGhpcy5oPWI7dGhpcy5qPWN9O1ZoLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nLm5leHQoKTthLmRvbmV8fChhLnZhbHVlPXRoaXMuaC5jYWxsKHRoaXMuaixhLnZhbHVlKSk7cmV0dXJuIGF9O1ZoLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O18uV2g9T2JqZWN0LmZyZWV6ZSh7fSk7Xy5YaD1PYmplY3QuZnJlZXplKHt9KTt2YXIgWmc9WGcoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSxZZz1YZyhmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLGFoPVhnKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO3ZhciAkZz10eXBlb2YgXy52LkJpZ0ludD09PSJmdW5jdGlvbiImJnR5cGVvZiBfLnYuQmlnSW50KDApPT09ImJpZ2ludCI7dmFyICRoLFloLGFpLFpoO18udmg9WGcoZnVuY3Rpb24oYSl7cmV0dXJuICRnP2E+PVloJiZhPD1aaDphWzBdPT09Ii0iP2NoKGEsJGgpOmNoKGEsYWkpfSk7JGg9TnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIudG9TdHJpbmcoKTtZaD0kZz9CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpOnZvaWQgMDthaT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUi50b1N0cmluZygpO1poPSRnP0JpZ0ludChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik6dm9pZCAwO18uYmk9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzSW50Tjp2b2lkIDA7Xy5jaT1OdW1iZXIuaXNTYWZlSW50ZWdlcjtfLmRpPU51bWJlci5pc0Zpbml0ZTtfLmVpPU1hdGgudHJ1bmM7dmFyIGZpPWZ1bmN0aW9uKCl7dHJ5e3ZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuKDAsXy5UYikoTWFwLFtdLHRoaXMuY29uc3RydWN0b3IpfTtfLkIoYSxNYXApO18uUWMobmV3IGEpO3JldHVybiExfWNhdGNoKGIpe3JldHVybiEwfX0oKSxnaT1mdW5jdGlvbigpe3RoaXMuZz1uZXcgTWFwfSxoaSxpaTtfLm09Z2kucHJvdG90eXBlO18ubS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5nZXQoYSl9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmcuc2V0KGEsYik7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTtfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2E9dGhpcy5nLmRlbGV0ZShhKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGF9O18ubS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nLmhhcyhhKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmVudHJpZXMoKX07Cl8ubS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5rZXlzKCl9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmcuZm9yRWFjaChhLGIpfTtnaS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVudHJpZXMoKX07aGk9ZnVuY3Rpb24oKXtpZihmaSlyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKGdpLnByb3RvdHlwZSxNYXAucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhnaS5wcm90b3R5cGUse3NpemU6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITB9fSksZ2k7dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4oMCxfLlRiKShNYXAsW10sdGhpcy5jb25zdHJ1Y3Rvcil9O18uQihhLE1hcCk7cmV0dXJuIGF9KCk7Cl8ueWg9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1jPT09dm9pZCAwP2poOmM7ZD1kPT09dm9pZCAwP2poOmQ7dmFyIGU9aGkuY2FsbCh0aGlzKXx8dGhpcztlLktiPWFbXy5IXXwwO2UuR2I9YjtlLmFkPWM7ZS5rZz1lLkdiP2xoOmQ7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspe3ZhciBnPWFbZl0saD1jKGdbMF0sITEsITApLGs9Z1sxXTtiP2s9PT12b2lkIDAmJihrPW51bGwpOms9ZChnWzFdLCExLCEwLHZvaWQgMCx2b2lkIDAsZS5LYik7aGkucHJvdG90eXBlLnNldC5jYWxsKGUsaCxrKX1yZXR1cm4gZX07Xy5CKF8ueWgsaGkpO2lpPWZ1bmN0aW9uKGEpe2lmKGEuS2ImMil0aHJvdyBFcnJvcigiYWEiKTt9O18uemg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5VZyhBcnJheS5mcm9tKGhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwoYSksYikpfTtfLm09Xy55aC5wcm90b3R5cGU7Xy5tLmNsZWFyPWZ1bmN0aW9uKCl7aWkodGhpcyk7aGkucHJvdG90eXBlLmNsZWFyLmNhbGwodGhpcyl9OwpfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2lpKHRoaXMpO3JldHVybiBoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyx0aGlzLmFkKGEsITAsITEpKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsbWgsdGhpcyl9ZWxzZSBhPWhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsXy55aC5wcm90b3R5cGUuZ2V0LHRoaXMpfWVsc2UgYT1oaS5wcm90b3R5cGUudmFsdWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9OwpfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3RoaXMuR2I/aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGZ1bmN0aW9uKGMsZCxlKXthLmNhbGwoYixlLmdldChkKSxkLGUpfSk6aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGEsYil9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtpaSh0aGlzKTthPXRoaXMuYWQoYSwhMCwhMSk7cmV0dXJuIGE9PW51bGw/dGhpczpiPT1udWxsPyhoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyxhKSx0aGlzKTpoaS5wcm90b3R5cGUuc2V0LmNhbGwodGhpcyxhLHRoaXMua2coYiwhMCwhMCx0aGlzLkdiLCExLHRoaXMuS2IpKX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gaGkucHJvdG90eXBlLmhhcy5jYWxsKHRoaXMsdGhpcy5hZChhLCExLCExKSl9OwpfLm0uZ2V0PWZ1bmN0aW9uKGEpe2E9dGhpcy5hZChhLCExLCExKTt2YXIgYj1oaS5wcm90b3R5cGUuZ2V0LmNhbGwodGhpcyxhKTtpZihiIT09dm9pZCAwKXt2YXIgYz10aGlzLkdiO3JldHVybiBjPyhjPXRoaXMua2coYiwhMSwhMCxjLHRoaXMuTmssdGhpcy5LYiksYyE9PWImJmhpLnByb3RvdHlwZS5zZXQuY2FsbCh0aGlzLGEsYyksYyk6Yn19O18ueWgucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbnRyaWVzKCl9O18ueWgucHJvdG90eXBlLnRvSlNPTj12b2lkIDA7dmFyIHJoO18uamk9Xy5iaCgwKTtfLko9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSj1fLkkoYSxiLGMpfTtfLkoucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiBfLndoKHRoaXMpfTtfLkoucHJvdG90eXBlW2RoXT1laDtfLkoucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSi50b1N0cmluZygpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExpLE1pLE5pLE9pLFJpLFBpLFFpLFNpLFVpLFdpLFhpO18ua2k9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5lYy5hcHBseSgxLGFyZ3VtZW50cyk7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLk1hKGFbMF0pO2Zvcih2YXIgYz1hWzBdLGQ9MDtkPGIubGVuZ3RoO2QrKyljKz1lbmNvZGVVUklDb21wb25lbnQoYltkXSkrYVtkKzFdO3JldHVybiBfLk1hKGMpfTtfLmxpPWZ1bmN0aW9uKGEpe18uUmcoYSwzMik7cmV0dXJuIGF9O18ubWk9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpfTtfLm5pPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09ImJvb2xlYW4iKXRocm93IEVycm9yKCIkYCIrXy5vYyhhKSsiYCIrYSk7cmV0dXJuIGF9O18ub2k9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PT0iYm9vbGVhbiIpcmV0dXJuIGE7aWYodHlwZW9mIGE9PT0ibnVtYmVyIilyZXR1cm4hIWF9OwpfLnBpPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsfHx0eXBlb2YgYT09PSJzdHJpbmciP2E6dm9pZCAwfTtfLnFpPWZ1bmN0aW9uKGEpe2lmKGEuZyE9PV8uVmcpcmV0dXJuITE7dmFyIGI9YS5KO2I9Xy5HaChiLGJbXy5IXXwwKTtfLlJnKGIsMjA0OCk7YS5KPWI7YS5nPXZvaWQgMDthLmg9dm9pZCAwO3JldHVybiEwfTtfLnJpPWZ1bmN0aW9uKGEpe2lmKCFfLnFpKGEpJiZfLldnKGEsYS5KW18uSF18MCkpdGhyb3cgRXJyb3IoKTt9O18uc2k9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uSF18MCk7YiYzMiYmIShiJjQwOTYpJiZfLlNnKGEsYnw0MDk2KX07Cl8udGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jKyhlPzA6LTEpLGc9YS5sZW5ndGgtMTtpZihnPj0xKyhlPzA6LTEpJiZmPj1nKXt2YXIgaD1hW2ddO2lmKGghPW51bGwmJnR5cGVvZiBoPT09Im9iamVjdCImJmguY29uc3RydWN0b3I9PT1PYmplY3QpcmV0dXJuIGhbY109ZCxifWlmKGY8PWcpcmV0dXJuIGFbZl09ZCxiO2lmKGQhPT12b2lkIDApe3ZhciBrO2c9KChrPWIpIT1udWxsP2s6Yj1hW18uSF18MCk+PjE0JjEwMjN8fDUzNjg3MDkxMjtjPj1nP2QhPW51bGwmJihmPXt9LGFbZysoZT8wOi0xKV09KGZbY109ZCxmKSk6YVtmXT1kfXJldHVybiBifTtfLkJpPWZ1bmN0aW9uKGEsYil7YT1fLnVpKGEsYix2b2lkIDApO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6Xy5UaH07Xy5DaT1mdW5jdGlvbihhLGIpezImYiYmKGF8PTIpO3JldHVybiBhfDF9O18uRGk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT0oMiZiP2F8MjphJi0zKSYtMjczfTsKXy5FaT1mdW5jdGlvbihhKXtyZXR1cm4hISgyJmEpJiYhISg0JmEpfHwhISgyNTYmYSl9O18uRmk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1iO2Y9PT0xfHwoZiE9PTQ/MDoyJmJ8fCEoMTYmYikmJjMyJmQpP18uRWkoYil8fChifD0hYS5sZW5ndGh8fGcmJiEoNDA5NiZiKXx8MzImZCYmISg0MDk2JmJ8fDE2JmIpPzI6MjU2LGIhPT1rJiZfLlNnKGEsYiksT2JqZWN0LmZyZWV6ZShhKSk6KGY9PT0yJiZfLkVpKGIpJiYoYT1fLm1pKGEpLGs9MCxiPV8uRGkoYixkKSxkPV8udGkoYyxkLGUsYSkpLF8uRWkoYil8fChofHwoYnw9MTYpLGIhPT1rJiZfLlNnKGEsYikpKTsyJmJ8fCEoNDA5NiZifHwxNiZiKXx8Xy5zaShjLGQpO3JldHVybiBhfTtfLkdpPWZ1bmN0aW9uKGEsYixjLGQpe18ucmkoYSk7dmFyIGU9YS5KO18udGkoZSxlW18uSF18MCxiLChkPT09IjAiP051bWJlcihjKT09PTA6Yz09PWQpP3ZvaWQgMDpjKTtyZXR1cm4gYX07Cl8uSGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMTtkPV8udWkoYSxkLGUsZnVuY3Rpb24oZyl7dmFyIGg9Xy5oaChnLGMsITEsYik7Zj1oIT09ZyYmaCE9bnVsbDtyZXR1cm4gaH0pO2lmKGQhPW51bGwpcmV0dXJuIGYmJiFfLldnKGQpJiZfLnNpKGEsYiksZH07Cl8uSWk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1fLldnKGEsYyk7Zj1rPzE6ZjtnPSEhZ3x8Zj09PTM7az1oJiYhazsoZj09PTJ8fGspJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7YT1fLkJpKGIsZSk7dmFyIGw9YT09PV8uVGg/NzphW18uSF18MCxuPV8uQ2kobCxjKTtpZihoPSEoNCZuKSl7dmFyIHE9YSxwPWMscj0hISgyJm4pO3ImJihwfD0yKTtmb3IodmFyIHQ9IXIsQT0hMCxEPTAsRT0wO0Q8cS5sZW5ndGg7RCsrKXt2YXIgYmE9Xy5oaChxW0RdLGQsITEscCk7aWYoYmEgaW5zdGFuY2VvZiBkKXtpZighcil7dmFyIFo9Xy5XZyhiYSk7dCYmKHQ9IVopO0EmJihBPVopfXFbRSsrXT1iYX19RTxEJiYocS5sZW5ndGg9RSk7bnw9NDtuPUE/biYtNDA5NzpufDQwOTY7bj10P258ODpuJi05fW4hPT1sJiYoXy5TZyhhLG4pLDImbiYmT2JqZWN0LmZyZWV6ZShhKSk7aWYoayYmISg4Jm58fCFhLmxlbmd0aCYmKGY9PT0xfHwoZiE9PTQ/MDoyJm58fCEoMTYmbikmJgozMiZjKSkpKXtfLkVpKG4pJiYoYT1fLm1pKGEpLG49Xy5EaShuLGMpLGM9Xy50aShiLGMsZSxhKSk7ZD1hO2s9bjtmb3IobD0wO2w8ZC5sZW5ndGg7bCsrKXE9ZFtsXSxuPV8ua2gocSkscSE9PW4mJihkW2xdPW4pO2t8PTg7bj1rPWQubGVuZ3RoP2t8NDA5NjprJi00MDk3O18uU2coYSxuKX1yZXR1cm4gYT1fLkZpKGEsbixiLGMsZSxmLGgsZyl9O18uSmk9ZnVuY3Rpb24oYSl7YT09bnVsbCYmKGE9dm9pZCAwKTtyZXR1cm4gYX07Xy5LaT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJpYWAiK18ub2MoYikrImAiK2IpO18uVGcoYik7cmV0dXJuIG5ldyBhKGIpfX07TGk9ZnVuY3Rpb24oYSl7aWYoYS5HKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTthLkc9ITB9O01pPWZ1bmN0aW9uKGEsYil7YS5sPXtiZjpiLENmOiEwfTthLmc9YS5DfHxhLm99OwpOaT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9O18uSz1mdW5jdGlvbihhKXtyZXR1cm4gTmkoYSxhKX07T2k9ZnVuY3Rpb24oYSl7dGhpcy5nPW5ldyBfLkY7dGhpcy5oPWF9O1JpPWZ1bmN0aW9uKGEsYil7TGkoYS5nKTt2YXIgYz1hLmcuQTtpZihjKXJldHVybiBQaShhLCJyZXR1cm4iaW4gYz9jWyJyZXR1cm4iXTpmdW5jdGlvbihkKXtyZXR1cm57dmFsdWU6ZCxkb25lOiEwfX0sYixhLmcucmV0dXJuKTthLmcucmV0dXJuKGIpO3JldHVybiBRaShhKX07UGk9ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e3ZhciBlPWIuY2FsbChhLmcuQSxjKTtfLmNjKGUpO2lmKCFlLmRvbmUpcmV0dXJuIGEuZy5HPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5nLkE9bnVsbCxNaShhLmcsZyksUWkoYSl9YS5nLkE9bnVsbDtkLmNhbGwoYS5nLGYpO3JldHVybiBRaShhKX07ClFpPWZ1bmN0aW9uKGEpe2Zvcig7YS5nLmc7KXRyeXt2YXIgYj1hLmgoYS5nKTtpZihiKXJldHVybiBhLmcuRz0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChjKXthLmcuaj12b2lkIDAsTWkoYS5nLGMpfWEuZy5HPSExO2lmKGEuZy5sKXtiPWEuZy5sO2EuZy5sPW51bGw7aWYoYi5DZil0aHJvdyBiLmJmO3JldHVybnt2YWx1ZTpiLnJldHVybixkb25lOiEwfX1yZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fTsKU2k9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BLm5leHQsYixhLmcuSSk6KGEuZy5JKGIpLGI9UWkoYSkpO3JldHVybiBifTt0aGlzLnRocm93PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BWyJ0aHJvdyJdLGIsYS5nLkkpOihNaShhLmcsYiksYj1RaShhKSk7cmV0dXJuIGJ9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBSaShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319O1VpPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZCl7cmV0dXJuIGEubmV4dChkKX1mdW5jdGlvbiBjKGQpe3JldHVybiBhLnRocm93KGQpfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2Z1bmN0aW9uIGYoZyl7Zy5kb25lP2QoZy52YWx1ZSk6UHJvbWlzZS5yZXNvbHZlKGcudmFsdWUpLnRoZW4oYixjKS50aGVuKGYsZSl9ZihhLm5leHQoKSl9KX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gVWkobmV3IFNpKG5ldyBPaShhKSkpfTsKV2k9ZnVuY3Rpb24oYSl7cmV0dXJuIFN0cmluZyhhKS5yZXBsYWNlKC9cLShbYS16XSkvZyxmdW5jdGlvbihiLGMpe3JldHVybiBjLnRvVXBwZXJDYXNlKCl9KX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShSZWdFeHAoIihefFtcXHNdKykoW2Etel0pIiwiZyIpLGZ1bmN0aW9uKGIsYyxkKXtyZXR1cm4gYytkLnRvVXBwZXJDYXNlKCl9KX07Xy5ZaT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5vZSlyZXR1cm4gYTt2YXIgYj1uZXcgXy5vZShfLmxlKTtfLm5lKGIsMixhKTtyZXR1cm4gYn07Cl8udWk9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYj09PS0xKXJldHVybiBudWxsO3ZhciBlPWIrKGM/MDotMSksZj1hLmxlbmd0aC0xO2lmKCEoZjwxKyhjPzA6LTEpKSl7aWYoZT49Zil7dmFyIGc9YVtmXTtpZihnIT1udWxsJiZ0eXBlb2YgZz09PSJvYmplY3QiJiZnLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtjPWdbYl07dmFyIGg9ITB9ZWxzZSBpZihlPT09ZiljPWc7ZWxzZSByZXR1cm59ZWxzZSBjPWFbZV07aWYoZCYmYyE9bnVsbCl7ZD1kKGMpO2lmKGQ9PW51bGwpcmV0dXJuIGQ7aWYoIU9iamVjdC5pcyhkLGMpKXJldHVybiBoP2dbYl09ZDphW2VdPWQsZH1yZXR1cm4gY319O18uWmk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8udWkoYS5KLGIsYyxlKTtpZihiIT09bnVsbHx8ZCYmYS5oIT09Xy5WZylyZXR1cm4gYn07Xy4kaT1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLko7Xy50aShkLGRbXy5IXXwwLGIsYyk7cmV0dXJuIGF9OwpfLmFqPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Xy5XaD8yOjR9O18uYmo9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5KLGY9ZVtfLkhdfDA7Yj1fLkhpKGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5IXXwwO2lmKCFfLldnKGEsZikpe3ZhciBnPV8ua2goYik7ZyE9PWImJihfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCksYj1nLGY9Xy50aShlLGYsYyxiLGQpLF8uc2koZSxmKSl9cmV0dXJuIGJ9O18uY2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuSjtyZXR1cm4gXy5JaShhLGQsZFtfLkhdfDAsYixjLF8uYWooKSwhMSwhMCl9O18uTD1mdW5jdGlvbihhLGIsYyl7Yz1fLkppKGMpO18uJGkoYSxiLGMpO2MmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9O18uTT1mdW5jdGlvbihhLGIpe3ZhciBjPWM9PT12b2lkIDA/ITE6YzthPV8ub2koXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPyIiOmM7dmFyIGQ7cmV0dXJuKGQ9Xy5waShfLlppKGEsYikpKSE9bnVsbD9kOmN9O18uZGo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPzA6YzthPV8uWmkoYSxiKTthPWE9PW51bGw/YTooMCxfLmRpKShhKT9hfDA6dm9pZCAwO3JldHVybiBhIT1udWxsP2E6Y307Xy5laj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2koYSxiLGM9PW51bGw/YzpfLm5pKGMpLCExKX07Xy5maj1mdW5jdGlvbihhLGIpe2lmKGI9PW51bGx8fGI9PSIiKXJldHVybiBuZXcgYTtiPUpTT04ucGFyc2UoYik7aWYoIUFycmF5LmlzQXJyYXkoYikpdGhyb3cgRXJyb3IoImphIik7cmV0dXJuIG5ldyBhKF8ubGkoYikpfTt2YXIgaWosZ2osamo7Xy5oaj1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilnaihhLGMsYik7ZWxzZSBmb3IodmFyIGQgaW4gYilnaihhLGJbZF0sZCl9O2lqPS9eLS0uKy87Z2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWpqW2NdO2lmKCFkKXt2YXIgZT1XaShjKTtkPWU7YS5zdHlsZVtlXT09PXZvaWQgMCYmKGU9KF8uVmM/IldlYmtpdCI6Xy5VYz8iTW96IjpudWxsKStYaShlKSxhLnN0eWxlW2VdIT09dm9pZCAwJiYoZD1lKSk7ampbY109ZH0oYz1kKSYmKGlqLnRlc3QoYyk/YS5zdHlsZS5zZXRQcm9wZXJ0eShjLGIpOmEuc3R5bGVbY109Yil9O2pqPXt9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgbGosb2oscGoscWosdGosdWosdmosd2oseGoseWosQWosQ2osRGosRWosRmosR2osSGosSWosS2osTmosT2osWGosWWosYmssbmosbWosY2ssZWsscmosc2osemosbms7Xy5raj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5EYylyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTtsaj1mdW5jdGlvbihhKXt2YXIgYj1hLkosYz1iW18uSF18MDtyZXR1cm4gXy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSl9Owpvaj1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPTApO2lmKCFtail7bWo9e307Zm9yKHZhciBjPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLGQ9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl0sZT0wO2U8NTtlKyspe3ZhciBmPWMuY29uY2F0KGRbZV0uc3BsaXQoIiIpKTtualtlXT1mO2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO21qW2hdPT09dm9pZCAwJiYobWpbaF09Zyl9fX1iPW5qW2JdO2M9QXJyYXkoTWF0aC5mbG9vcihhLmxlbmd0aC8zKSk7ZD1iWzY0XXx8IiI7Zm9yKGU9Zj0wO2Y8YS5sZW5ndGgtMjtmKz0zKXt2YXIgaz1hW2ZdLGw9YVtmKzFdO2g9YVtmKzJdO2c9YltrPj4yXTtrPWJbKGsmMyk8PDR8bD4+NF07bD1iWyhsJjE1KTw8MnxoPj42XTtoPWJbaCY2M107Y1tlKytdPWcraytsK2h9Zz0wO2g9ZDtzd2l0Y2goYS5sZW5ndGgtZil7Y2FzZSAyOmc9CmFbZisxXSxoPWJbKGcmMTUpPDwyXXx8ZDtjYXNlIDE6YT1hW2ZdLGNbZV09YlthPj4yXStiWyhhJjMpPDw0fGc+PjRdK2grZH1yZXR1cm4gYy5qb2luKCIiKX07cGo9ZnVuY3Rpb24oYSl7YT1FcnJvcihhKTtfLkZnKGEsIndhcm5pbmciKTtyZXR1cm4gYX07cWo9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiJ9O3RqPWZ1bmN0aW9uKGEpe3ZhciBiPWE+Pj4wO3JqPWI7c2o9KGEtYikvNDI5NDk2NzI5Nj4+PjB9O3VqPWZ1bmN0aW9uKGEsYil7Yj1+YjthP2E9fmErMTpiKz0xO3JldHVyblthLGJdfTt2aj1mdW5jdGlvbihhKXtpZihhPDApe3RqKC1hKTt2YXIgYj1fLkModWoocmosc2opKTthPWIubmV4dCgpLnZhbHVlO2I9Yi5uZXh0KCkudmFsdWU7cmo9YT4+PjA7c2o9Yj4+PjB9ZWxzZSB0aihhKX07d2o9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7cmV0dXJuIjAwMDAwMDAiLnNsaWNlKGEubGVuZ3RoKSthfTsKeGo9ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO2lmKGI8PTIwOTcxNTEpdmFyIGM9IiIrKDQyOTQ5NjcyOTYqYithKTtlbHNlIHFqKCk/Yz0iIisoQmlnSW50KGIpPDxCaWdJbnQoMzIpfEJpZ0ludChhKSk6KGM9KGE+Pj4yNHxiPDw4KSYxNjc3NzIxNSxiPWI+PjE2JjY1NTM1LGE9KGEmMTY3NzcyMTUpK2MqNjc3NzIxNitiKjY3MTA2NTYsYys9Yio4MTQ3NDk3LGIqPTIsYT49MUU3JiYoYys9YS8xRTc+Pj4wLGElPTFFNyksYz49MUU3JiYoYis9Yy8xRTc+Pj4wLGMlPTFFNyksYz1iK3dqKGMpK3dqKGEpKTtyZXR1cm4gY307eWo9ZnVuY3Rpb24oKXt2YXIgYT1yaixiPXNqO2ImMjE0NzQ4MzY0OD9xaigpP2E9IiIrKEJpZ0ludChifDApPDxCaWdJbnQoMzIpfEJpZ0ludChhPj4+MCkpOihiPV8uQyh1aihhLGIpKSxhPWIubmV4dCgpLnZhbHVlLGI9Yi5uZXh0KCkudmFsdWUsYT0iLSIreGooYSxiKSk6YT14aihhLGIpO3JldHVybiBhfTsKQWo9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlICJiaWdpbnQiOnJldHVybiEwO2Nhc2UgIm51bWJlciI6cmV0dXJuKDAsXy5kaSkoYSk7Y2FzZSAic3RyaW5nIjpyZXR1cm4gemoudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07Xy5Caj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IHBqKCJpbnQzMiIpO2lmKCEoMCxfLmRpKShhKSl0aHJvdyBwaigiaW50MzIiKTtyZXR1cm4gYXwwfTtDaj1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKHR5cGVvZiBhPT09InN0cmluZyImJmEpYT0rYTtlbHNlIGlmKHR5cGVvZiBhIT09Im51bWJlciIpcmV0dXJuO3JldHVybigwLF8uZGkpKGEpP2F8MDp2b2lkIDB9OwpEaj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3IilyZXR1cm4gYTtpZihhLmxlbmd0aDwxNil2aihOdW1iZXIoYSkpO2Vsc2UgaWYocWooKSlhPUJpZ0ludChhKSxyaj1OdW1iZXIoYSZCaWdJbnQoNDI5NDk2NzI5NSkpPj4+MCxzaj1OdW1iZXIoYT4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpO2Vsc2V7Yj0rKGFbMF09PT0iLSIpO3NqPXJqPTA7Zm9yKHZhciBjPWEubGVuZ3RoLGQ9YixlPShjLWIpJTYrYjtlPD1jO2Q9ZSxlKz02KWQ9TnVtYmVyKGEuc2xpY2UoZCxlKSksc2oqPTFFNixyaj1yaioxRTYrZCxyaj49NDI5NDk2NzI5NiYmKHNqKz1NYXRoLnRydW5jKHJqLzQyOTQ5NjcyOTYpLHNqPj4+PTAscmo+Pj49MCk7YiYmKGI9Xy5DKHVqKHJqLHNqKSksYT1iLm5leHQoKS52YWx1ZSxiPWIubmV4dCgpLnZhbHVlLApyaj1hLHNqPWIpfXJldHVybiB5aigpfTtFaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBfLmJoKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gcWooKT9fLmJoKCgwLF8uYmkpKDY0LEJpZ0ludChhKSkpOl8uYmgoRGooYSkpfTtGaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBTdHJpbmcoYik7Yj1hLmluZGV4T2YoIi4iKTtiIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYikpO3JldHVybiBEaihhKX07CkdqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7aWYoISgwLF8uY2kpKGEpKXt2aihhKTt2YXIgYj1yaixjPXNqO2lmKGE9YyYyMTQ3NDgzNjQ4KWI9fmIrMT4+PjAsYz1+Yz4+PjAsYj09MCYmKGM9YysxPj4+MCk7dmFyIGQ9Yyo0Mjk0OTY3Mjk2KyhiPj4+MCk7Yj1OdW1iZXIuaXNTYWZlSW50ZWdlcihkKT9kOnhqKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O0hqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7KDAsXy5jaSkoYSk/YT1TdHJpbmcoYSk6KHZqKGEpLGE9eWooKSk7cmV0dXJuIGF9O0lqPWZ1bmN0aW9uKGEpe3JldHVybigwLF8uY2kpKGEpP18uYmgoR2ooYSkpOl8uYmgoSGooYSkpfTsKXy5Kaj1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YiE9bnVsbHx8KGI9MTAyNCk7aWYoIUFqKGEpKXRocm93IHBqKCJpbnQ2NCIpO3ZhciBjPXR5cGVvZiBhO3N3aXRjaChiKXtjYXNlIDUxMjpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gU3RyaW5nKCgwLF8uYmkpKDY0LGEpKTtkZWZhdWx0OnJldHVybiBIaihhKX1jYXNlIDEwMjQ6c3dpdGNoKGMpe2Nhc2UgInN0cmluZyI6cmV0dXJuIEVqKGEpO2Nhc2UgImJpZ2ludCI6cmV0dXJuIF8uYmgoKDAsXy5iaSkoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIElqKGEpfWNhc2UgMDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5iaCgoMCxfLmJpKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4gR2ooYSl9ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5rbm93biBmb3JtYXQgcmVxdWVzdGVkIHR5cGUgZm9yIGludDY0Iik7fX07CktqPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBfLmJoKCgwLF8uYmkpKDY0LGEpKTtpZihBaihhKSlyZXR1cm4gYj09PSJzdHJpbmciP0VqKGEpOklqKGEpfTtfLkxqPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwmJnR5cGVvZiBhIT09InN0cmluZyIpdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX07Xy5Naj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIF8uZmooYSxiKX19OwpOaj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtlWzBdPTE3MzI1ODQxOTM7ZVsxXT00MDIzMjMzNDE3O2VbMl09MjU2MjM4MzEwMjtlWzNdPTI3MTczMzg3ODtlWzRdPTMyODUzNzc1MjA7bj1sPTB9ZnVuY3Rpb24gYihxKXtmb3IodmFyIHA9ZyxyPTA7cjw2NDtyKz00KXBbci80XT1xW3JdPDwyNHxxW3IrMV08PDE2fHFbcisyXTw8OHxxW3IrM107Zm9yKHI9MTY7cjw4MDtyKyspcT1wW3ItM11ecFtyLThdXnBbci0xNF1ecFtyLTE2XSxwW3JdPShxPDwxfHE+Pj4zMSkmNDI5NDk2NzI5NTtxPWVbMF07dmFyIHQ9ZVsxXSxBPWVbMl0sRD1lWzNdLEU9ZVs0XTtmb3Iocj0wO3I8ODA7cisrKXtpZihyPDQwKWlmKHI8MjApe3ZhciBiYT1EXnQmKEFeRCk7dmFyIFo9MTUxODUwMDI0OX1lbHNlIGJhPXReQV5ELFo9MTg1OTc3NTM5MztlbHNlIHI8NjA/KGJhPXQmQXxEJih0fEEpLFo9MjQwMDk1OTcwOCk6KGJhPXReQV5ELFo9MzM5NTQ2OTc4Mik7YmE9KChxPDw1fHE+Pj4yNykmNDI5NDk2NzI5NSkrCmJhK0UrWitwW3JdJjQyOTQ5NjcyOTU7RT1EO0Q9QTtBPSh0PDwzMHx0Pj4+MikmNDI5NDk2NzI5NTt0PXE7cT1iYX1lWzBdPWVbMF0rcSY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt0JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK0EmNDI5NDk2NzI5NTtlWzNdPWVbM10rRCY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStFJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhxLHApe2lmKHR5cGVvZiBxPT09InN0cmluZyIpe3E9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHEpKTtmb3IodmFyIHI9W10sdD0wLEE9cS5sZW5ndGg7dDxBOysrdClyLnB1c2gocS5jaGFyQ29kZUF0KHQpKTtxPXJ9cHx8KHA9cS5sZW5ndGgpO3I9MDtpZihsPT0wKWZvcig7cis2NDxwOyliKHEuc2xpY2UocixyKzY0KSkscis9NjQsbis9NjQ7Zm9yKDtyPHA7KWlmKGZbbCsrXT1xW3IrK10sbisrLGw9PTY0KWZvcihsPTAsYihmKTtyKzY0PHA7KWIocS5zbGljZShyLHIrNjQpKSxyKz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHE9W10sCnA9bio4O2w8NTY/YyhoLDU2LWwpOmMoaCw2NC0obC01NikpO2Zvcih2YXIgcj02MztyPj01NjtyLS0pZltyXT1wJjI1NSxwPj4+PTg7YihmKTtmb3Iocj1wPTA7cjw1O3IrKylmb3IodmFyIHQ9MjQ7dD49MDt0LT04KXFbcCsrXT1lW3JdPj50JjI1NTtyZXR1cm4gcX1mb3IodmFyIGU9W10sZj1bXSxnPVtdLGg9WzEyOF0saz0xO2s8NjQ7KytrKWhba109MDt2YXIgbCxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxmaDpmdW5jdGlvbigpe2Zvcih2YXIgcT1kKCkscD0iIixyPTA7cjxxLmxlbmd0aDtyKyspcCs9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHFbcl0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHFbcl0lMTYpO3JldHVybiBwfX19O09qPWZ1bmN0aW9uKCl7dGhpcy5nPWRvY3VtZW50fHx7Y29va2llOiIifX07ClhqPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP1BqOmI7aWYoIVFqKXt2YXIgYzthPShjPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6Yy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoIm9hIikpO1JqKChhLmJyYW5kc3x8W10pLm1hcChmdW5jdGlvbihlKXt2YXIgZj1uZXcgU2o7Zj1fLlRqKGYsMSxlLmJyYW5kKTtyZXR1cm4gXy5UaihmLDIsZS52ZXJzaW9uKX0pKTt0eXBlb2YgYS5tb2JpbGU9PT0iYm9vbGVhbiImJl8uVWooVmosMixhLm1vYmlsZSk7UWo9YS5nZXRIaWdoRW50cm9weVZhbHVlcyhiKX12YXIgZD1uZXcgU2V0KGIpO3JldHVybiBRai50aGVuKGZ1bmN0aW9uKGUpe3ZhciBmPWxqKFZqKTtkLmhhcygicGxhdGZvcm0iKSYmXy5UaihmLDMsZS5wbGF0Zm9ybSk7ZC5oYXMoInBsYXRmb3JtVmVyc2lvbiIpJiYKXy5UaihmLDQsZS5wbGF0Zm9ybVZlcnNpb24pO2QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmXy5UaihmLDUsZS5hcmNoaXRlY3R1cmUpO2QuaGFzKCJtb2RlbCIpJiZfLlRqKGYsNixlLm1vZGVsKTtkLmhhcygidWFGdWxsVmVyc2lvbiIpJiZfLlRqKGYsNyxlLnVhRnVsbFZlcnNpb24pO3JldHVybiBfLldqKGYpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gXy5XaihWail9KX07WWo9ZnVuY3Rpb24oYSl7dGhpcy5nPXRoaXMuaD10aGlzLmo9YX07Xy5aaj1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZD1jLnNsaWNlKCk7ZC5wdXNoLmFwcGx5KGQsYXJndW1lbnRzKTtyZXR1cm4gYS5hcHBseSh0aGlzLGQpfX07Xy5haz1mdW5jdGlvbihhLGIpe2EucWE/YigpOihhLld8fChhLlc9W10pLGEuVy5wdXNoKGIpKX07Yms9e1psOiEwfTtfLldqPWZ1bmN0aW9uKGEpe3JldHVybiBKU09OLnN0cmluZ2lmeShfLndoKGEpKX07Cm5qPXt9O21qPW51bGw7Y2s9e307Xy54aD1mdW5jdGlvbihhLGIpe2lmKGIhPT1jayl0aHJvdyBFcnJvcigiWiIpO3RoaXMubz1hO2lmKGEhPW51bGwmJmEubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiWSIpO307Xy54aC5wcm90b3R5cGUuZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMubztpZihhPT1udWxsKWE9IiI7ZWxzZSBpZih0eXBlb2YgYSE9PSJzdHJpbmciKXtpZihfLlBoKXtmb3IodmFyIGI9IiIsYz0wLGQ9YS5sZW5ndGgtMTAyNDA7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPWJ0b2EoYil9ZWxzZSBhPW9qKGEpO2E9dGhpcy5vPWF9cmV0dXJuIGF9O18uZGs9Xy5OZyh2b2lkIDAsIjFvYSIpO2VrPXt9O3JqPTA7c2o9MDt6aj0vXi0/KFsxLTldWzAtOV0qfDApKFwuWzAtOV0rKT8kLzsKXy5maz1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLkosZT1kW18uSF18MDtpZihjPT1udWxsKXJldHVybiBfLnRpKGQsZSxiKSxhO2Zvcih2YXIgZj1jPT09Xy5UaD83OmNbXy5IXXwwLGc9ZixoPV8uRWkoZiksaz1ofHxPYmplY3QuaXNGcm96ZW4oYyksbD0hMCxuPSEwLHE9MDtxPGMubGVuZ3RoO3ErKyl7dmFyIHA9Y1txXTtofHwocD1fLldnKHApLGwmJihsPSFwKSxuJiYobj1wKSl9aHx8KGY9bD8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7ayYmZj09PWd8fChjPV8ubWkoYyksZz0wLGY9Xy5EaShmLGUpKTtmIT09ZyYmXy5TZyhjLGYpO2U9Xy50aShkLGUsYixjKTsyJmZ8fCEoNDA5NiZmfHwxNiZmKXx8Xy5zaShkLGUpO3JldHVybiBhfTtfLmdrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/MDpjO2E9Q2ooXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLmhrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/Xy5qaTpjO2E9Xy5aaShhLGIsdm9pZCAwLHZvaWQgMCxLaik7cmV0dXJuIGEhPW51bGw/YTpjfTtfLlVqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8ubmkoYykpfTtfLmlrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uQmooYykpfTtfLmprPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uSmooYykpfTtfLlRqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsXy5MaihjKSl9O18ua2s9ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpe2lmKCEoMCxfLmRpKShjKSl0aHJvdyBwaigiZW51bSIpO2N8PTB9cmV0dXJuIF8uJGkoYSxiLGMpfTsKbms9ZnVuY3Rpb24oKXt2YXIgYT1sayxiPW1rO3RoaXMuZz0xNzUyMzczNzU7dGhpcy5MYj1iO3RoaXMuaD1fLmJqO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLmo9YS5XbCE9bnVsbD9lazp2b2lkIDB9O25rLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbigpe18uUWModGhpcyl9O3ZhciBvaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIob2ssXy5KKTt2YXIgcGs9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigia2FgIithKTtpZihjIT09Imh0dHAiJiZjIT09Imh0dHBzIiYmYyE9PSJjaHJvbWUtZXh0ZW5zaW9uIiYmYyE9PSJtb3otZXh0ZW5zaW9uIiYmCmMhPT0iZmlsZSImJmMhPT0iYW5kcm9pZC1hcHAiJiZjIT09ImNocm9tZS1zZWFyY2giJiZjIT09ImNocm9tZS11bnRydXN0ZWQiJiZjIT09ImNocm9tZSImJmMhPT0iYXBwIiYmYyE9PSJkZXZ0b29scyIpdGhyb3cgRXJyb3IoImxhYCIrYyk7YT0iIjt2YXIgZD1iLmluZGV4T2YoIjoiKTtpZihkIT0tMSl7dmFyIGU9Yi5zdWJzdHJpbmcoZCsxKTtiPWIuc3Vic3RyaW5nKDAsZCk7aWYoYz09PSJodHRwIiYmZSE9PSI4MCJ8fGM9PT0iaHR0cHMiJiZlIT09IjQ0MyIpYT0iOiIrZX1yZXR1cm4gYysiOi8vIitiK2F9O3ZhciByaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9U3RyaW5nKF8udi5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gZCYmYSYmYj9bYixxayhwayhkKSxhLGN8fG51bGwpXS5qb2luKCIgIik6bnVsbH0scWs9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnZjKGQsZnVuY3Rpb24oaCl7ZS5wdXNoKGgpfSksc2soZS5qb2luKCIgIikpO3ZhciBmPVtdLGc9W107Xy52YyhjLGZ1bmN0aW9uKGgpe2cucHVzaChoLmtleSk7Zi5wdXNoKGgudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy52YyhkLGZ1bmN0aW9uKGgpe2UucHVzaChoKX0pO2E9c2soZS5qb2luKCIgIikpO2E9W2MsYV07Zy5sZW5ndGg9PTB8fGEucHVzaChnLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9LHNrPWZ1bmN0aW9uKGEpe3ZhciBiPQpOaigpO2IudXBkYXRlKGEpO3JldHVybiBiLmZoKCkudG9Mb3dlckNhc2UoKX07Xy5tPU9qLnByb3RvdHlwZTtfLm0uc2V0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTtpZih0eXBlb2YgYz09PSJvYmplY3QiKXt2YXIgZT1jLnNhbWVTaXRlO2Q9Yy5zZWN1cmV8fCExO3ZhciBmPWMuZG9tYWlufHx2b2lkIDA7dmFyIGc9Yy5wYXRofHx2b2lkIDA7dmFyIGg9Yy5CaX1pZigvWzs9XHNdLy50ZXN0KGEpKXRocm93IEVycm9yKCJtYWAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJuYWAiK2IpO2g9PT12b2lkIDAmJihoPS0xKTt0aGlzLmcuY29va2llPWErIj0iK2IrKGY/Ijtkb21haW49IitmOiIiKSsoZz8iO3BhdGg9IitnOiIiKSsoaDwwPyIiOmg9PTA/IjtleHBpcmVzPSIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKToiO2V4cGlyZXM9IisobmV3IERhdGUoRGF0ZS5ub3coKStoKjFFMykpLnRvVVRDU3RyaW5nKCkpKyhkPyI7c2VjdXJlIjoiIikrKGUhPW51bGw/IjtzYW1lc2l0ZT0iK2U6IiIpfTsKXy5tLmdldD1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hKyI9IixkPSh0aGlzLmcuY29va2llfHwiIikuc3BsaXQoIjsiKSxlPTAsZjtlPGQubGVuZ3RoO2UrKyl7Zj1fLkFjKGRbZV0pO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5tLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7Qmk6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5tLk9jPWZ1bmN0aW9uKCl7cmV0dXJuIHRrKHRoaXMpLmtleXN9O18ubS5pYj1mdW5jdGlvbigpe3JldHVybiB0ayh0aGlzKS52YWx1ZXN9O18ubS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT10ayh0aGlzKS5rZXlzLGI9YS5sZW5ndGgtMTtiPj0wO2ItLSl0aGlzLnJlbW92ZShhW2JdKX07CnZhciB0az1mdW5jdGlvbihhKXthPShhLmcuY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IodmFyIGI9W10sYz1bXSxkLGUsZj0wO2Y8YS5sZW5ndGg7ZisrKWU9Xy5BYyhhW2ZdKSxkPWUuaW5kZXhPZigiPSIpLGQ9PS0xPyhiLnB1c2goIiIpLGMucHVzaChlKSk6KGIucHVzaChlLnN1YnN0cmluZygwLGQpKSxjLnB1c2goZS5zdWJzdHJpbmcoZCsxKSkpO3JldHVybntrZXlzOmIsdmFsdWVzOmN9fTt2YXIgdWs9ZnVuY3Rpb24oYSxiLGMsZCl7KGE9Xy52W2FdKXx8dHlwZW9mIGRvY3VtZW50PT09InVuZGVmaW5lZCJ8fChhPShuZXcgT2opLmdldChiKSk7cmV0dXJuIGE/cmsoYSxjLGQpOm51bGx9LHZrPWZ1bmN0aW9uKGEpe3ZhciBiPXBrKF8udj09bnVsbD92b2lkIDA6Xy52LmxvY2F0aW9uLmhyZWYpLGM9W10sZDsoZD1fLnYuX19TQVBJU0lEfHxfLnYuX19BUElTSUR8fF8udi5fXzNQU0FQSVNJRHx8Xy52Ll9fMVBTQVBJU0lEfHxfLnYuX19PVkVSUklERV9TSUQpP2Q9ITA6KHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoZD1uZXcgT2osZD1kLmdldCgiU0FQSVNJRCIpfHxkLmdldCgiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpfHxkLmdldCgiX19TZWN1cmUtMVBBUElTSUQiKSksZD0hIWQpO2QmJihkPShiPWIuaW5kZXhPZigiaHR0cHM6Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLWV4dGVuc2lvbjoiKT09MHx8Yi5pbmRleE9mKCJjaHJvbWUtdW50cnVzdGVkOi8vbmV3LXRhYi1wYWdlIik9PQowfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTApP18udi5fX1NBUElTSUQ6Xy52Ll9fQVBJU0lELGR8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoZD1uZXcgT2osZD1kLmdldChiPyJTQVBJU0lEIjoiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpKSwoZD1kP3JrKGQsYj8iU0FQSVNJREhBU0giOiJBUElTSURIQVNIIixhKTpudWxsKSYmYy5wdXNoKGQpLGImJigoYj11aygiX18xUFNBUElTSUQiLCJfX1NlY3VyZS0xUEFQSVNJRCIsIlNBUElTSUQxUEhBU0giLGEpKSYmYy5wdXNoKGIpLChhPXVrKCJfXzNQU0FQSVNJRCIsIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpKTtyZXR1cm4gYy5sZW5ndGg9PTA/bnVsbDpjLmpvaW4oIiAiKX07dmFyIHdrPWZ1bmN0aW9uKCl7fSx4az1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtyZXR1cm4gXy5WaShmdW5jdGlvbihmKXtzd2l0Y2goZi5nKXtjYXNlIDE6cmV0dXJuIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpLGQ9Yi53cml0YWJsZS5nZXRXcml0ZXIoKSxmLmgoZC53cml0ZSgobmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoYSkpLDIpO2Nhc2UgMjpyZXR1cm4gZi5oKGQuY2xvc2UoKSwzKTtjYXNlIDM6cmV0dXJuIGU9VWludDhBcnJheSxmLmgoYyw0KTtjYXNlIDQ6cmV0dXJuIGYucmV0dXJuKG5ldyBlKGYuaikpfX0pfTt3ay5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE8MTAyND8hMTp0eXBlb2YgQ29tcHJlc3Npb25TdHJlYW0hPT0idW5kZWZpbmVkIn07dmFyIHlrPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5vPWI7dGhpcy5nPSExO3RoaXMuaj1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTt0aGlzLmw9dGhpcy5qKCl9LHprPWZ1bmN0aW9uKGEsYil7YS5oPWI7YS50aW1lciYmYS5nPyhhLnN0b3AoKSxhLnN0YXJ0KCkpOmEudGltZXImJmEuc3RvcCgpfTt5ay5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZz0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaCksdGhpcy5sPXRoaXMuaigpKX07eWsucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmc9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9Owp5ay5wcm90b3R5cGUudGljaz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5nKXt2YXIgYj1NYXRoLm1heCh0aGlzLmooKS10aGlzLmwsMCk7Yjx0aGlzLmgqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaC1iKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5vKCksdGhpcy5nJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH07dmFyIEFrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihBayxfLkopO3ZhciBCaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQmssXy5KKTt2YXIgQ2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKENrLF8uSik7Q2sucHJvdG90eXBlLlBkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIFNqPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihTaixfLkopO3ZhciBEaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoRGssXy5KKTt2YXIgUmo9ZnVuY3Rpb24oYSl7Xy5mayhWaiwxLGEpfSxFaz1fLk1qKERrKTt2YXIgRms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEZrLF8uSik7dmFyIFBqPVsicGxhdGZvcm0iLCJwbGF0Zm9ybVZlcnNpb24iLCJhcmNoaXRlY3R1cmUiLCJtb2RlbCIsInVhRnVsbFZlcnNpb24iXSxWaj1uZXcgRGssUWo9bnVsbDt2YXIgR2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEdrLF8uSik7dmFyIEhrPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtrKGEsMSwxKX07dmFyIElrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihJayxfLkopO0lrLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07SWsucHJvdG90eXBlLmNiPWZ1bmN0aW9uKGEpe18uVGoodGhpcywyLGEpfTt2YXIgSms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhLDQpfTtfLkIoSmssXy5KKTtfLktrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwzNyl9O18uQihfLktrLF8uSik7Xy5Lay5wcm90b3R5cGUuY2I9ZnVuY3Rpb24oYSl7Xy5yaSh0aGlzKTt2YXIgYj10aGlzLkosYz1fLklpKHRoaXMsYixiW18uSF18MCxJaywzLDIsITApO2lmKHR5cGVvZiBhIT09Im51bWJlciJ8fGE8MHx8YT5jLmxlbmd0aCl0aHJvdyBFcnJvcigpO2EhPXZvaWQgMD9jLnNwbGljZShhLDEsdm9pZCAwKTpjLnB1c2godm9pZCAwKTt2YXIgZD1hPWM9PT1fLlRoPzc6Y1tfLkhdfDAsZT1fLldnKCk7ZT8oYSY9LTksYy5sZW5ndGg9PT0xJiYoYSY9LTQwOTcpKTphfD00MDk2O2EhPT1kJiZfLlNnKGMsYSk7ZXx8Xy5zaShiKX07Xy5Maz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlRqKGEsOCxiKX07dmFyIE1rPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwxOSl9O18uQihNayxfLkopO01rLnByb3RvdHlwZS52Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5rayh0aGlzLDIsYSl9O3ZhciBPaz1mdW5jdGlvbihhLGIpe3RoaXMuYWI9Yj1iPT09dm9pZCAwPyExOmI7dGhpcy5qPXRoaXMubG9jYWxlPW51bGw7dGhpcy5oPTA7dGhpcy5sPSExO3RoaXMuZz1uZXcgTWs7TnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5nLnZjKGEpO2J8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO05rKHRoaXMsbmV3IEdrKX07T2sucHJvdG90eXBlLnZjPWZ1bmN0aW9uKGEpe3RoaXMuZy52YyhhKTtyZXR1cm4gdGhpc307CnZhciBOaz1mdW5jdGlvbihhLGIpe18uTChhLmcsMSxiKTtfLmRqKGIsMSl8fEhrKGIpO2EuYWJ8fChiPVBrKGEpLF8uTihiLDUpfHxfLlRqKGIsNSxhLmxvY2FsZSkpO2EuaiYmKGI9UGsoYSksXy5iaihiLERrLDkpfHxfLkwoYiw5LGEuaikpfSxRaz1mdW5jdGlvbihhLGIpe2EuaD1ifSxSaz1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwP1BqOmI7dmFyIGM9YS5hYj92b2lkIDA6Xy5tYigpO2M/WGooYyxiKS50aGVuKGZ1bmN0aW9uKGQpe2Euaj1FayhkIT1udWxsP2Q6IltdIik7ZD1QayhhKTtfLkwoZCw5LGEuaik7cmV0dXJuITB9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSk6UHJvbWlzZS5yZXNvbHZlKCExKX0sUGs9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5iaihhLmcsR2ssMSk7Ynx8KGI9bmV3IEdrLE5rKGEsYikpO2E9YjtiPV8uYmooYSxGaywxMSk7Ynx8KGI9bmV3IEZrLF8uTChhLDExLGIpKTtyZXR1cm4gYn0sU2s9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Yz1jPT09CnZvaWQgMD8wOmM7ZD1kPT09dm9pZCAwPzA6ZDtlPWU9PT12b2lkIDA/bnVsbDplO2Y9Zj09PXZvaWQgMD8wOmY7Zz1nPT09dm9pZCAwPzA6ZztpZighYS5hYil7dmFyIGg9UGsoYSk7dmFyIGs9bmV3IENrO2s9Xy5rayhrLDEsYS5oKTtrPV8uVWooaywyLGEubCk7ZD1fLmlrKGssMyxkPjA/ZDp2b2lkIDApO2Q9Xy5payhkLDQsZj4wP2Y6dm9pZCAwKTtkPV8uaWsoZCw1LGc+MD9nOnZvaWQgMCk7Zj1kLko7Zz1mW18uSF18MDtkPV8uV2coZCxnKT9kOl8uSWgoZCxmLGcpP18uSGgoZCxmKTpuZXcgZC5jb25zdHJ1Y3RvcihfLkdoKGYsZywhMCkpO18uTChoLDEwLGQpfWE9bGooYS5nKTtoPURhdGUubm93KCkudG9TdHJpbmcoKTthPV8uJGkoYSw0LGg9PW51bGw/aDpfLkpqKGgpKTtiPV8uZmsoYSwzLGIuc2xpY2UoKSk7ZSYmKGE9bmV3IEFrLGU9Xy5payhhLDEzLGUpLGE9bmV3IEJrLGU9Xy5MKGEsMixlKSxhPW5ldyBKayxlPV8uTChhLDEsZSksZT1fLmtrKGUsMiw5KSxfLkwoYiwxOCwKZSkpO2MmJl8uamsoYiwxNCxjKTtyZXR1cm4gYn07WWoucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5nPXRoaXMuaD10aGlzLmp9O1lqLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciBsaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEsOCl9O18uQihsayxfLkopO3ZhciBUaz1fLk1qKGxrKTt2YXIgbWs9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG1rLF8uSik7dmFyIFVrO1VrPW5ldyBuazt2YXIgWWs9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dmFyIGI9dGhpczt0aGlzLmc9W107dGhpcy5sYT0iIjt0aGlzLks9dGhpcy5MPSExO3RoaXMucmE9dGhpcy5JPS0xO3RoaXMuUj0hMTt0aGlzLkQ9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5BPXRoaXMubD0wO3RoaXMuQz1udWxsO3RoaXMuRj10aGlzLkc9MDt0aGlzLndhPTE7dGhpcy53Yz0wO3RoaXMuT2I9YS5PYjt0aGlzLnRiPWEudGJ8fGZ1bmN0aW9uKCl7fTt0aGlzLmo9bmV3IE9rKGEuT2IsYS5hYik7dGhpcy56YT1hLnphfHxudWxsO3RoaXMuQ2I9YS5DYnx8bnVsbDt0aGlzLkI9YS5hanx8bnVsbDt0aGlzLm1iPWEubWJ8fG51bGw7dGhpcy5jYz1hLmNjfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz0hYS5NYzt0aGlzLmFiPWEuYWJ8fCExO3RoaXMuVD0hdGhpcy5hYiYmISFfLm1iKCkmJiEhXy5tYigpLm5hdmlnYXRvciYmXy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUD10eXBlb2YgVVJMU2VhcmNoUGFyYW1zIT09CiJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKFZrKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoVmsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGM9SGsobmV3IEdrKTtOayh0aGlzLmosYyk7dGhpcy5vPW5ldyBZaigxRTQpO2E9V2sodGhpcyxhLk9lKTt0aGlzLmg9bmV3IHlrKHRoaXMuby5NYSgpLGEpO3RoaXMuTz1uZXcgeWsoNkU1LGEpO3RoaXMuY2N8fHRoaXMuTy5zdGFydCgpO2lmKCF0aGlzLmFiKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKXtYayhiKTt2YXIgZjsoZj1iLkMpPT1udWxsfHxmLmZsdXNoKCl9fSk7dmFyIGQsZTsoZD1fLm1iKCkpPT1udWxsfHwoZT1kLmFkZEV2ZW50TGlzdGVuZXIpPT1udWxsfHxlLmNhbGwoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7WGsoYik7dmFyIGY7KGY9Yi5DKT09bnVsbHx8Zi5mbHVzaCgpfSl9fSxaayxibCwKJGs7Xy5CKFlrLF8udSk7dmFyIFdrPWZ1bmN0aW9uKGEsYil7aWYoIWEuUClyZXR1cm4gZnVuY3Rpb24oKXt9O3ZhciBjPWZ1bmN0aW9uKCl7YS5mbHVzaCgpfTtyZXR1cm4gYj9mdW5jdGlvbigpe2IoKS50aGVuKGMpfTpjfTtZay5wcm90b3R5cGUuTT1mdW5jdGlvbigpe1hrKHRoaXMpO3RoaXMuaC5zdG9wKCk7dGhpcy5PLnN0b3AoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Wms9ZnVuY3Rpb24oYSl7YS5CfHwoYS5CPVZrKCkpO3RyeXtyZXR1cm4obmV3IFVSTChhLkIpKS50b1N0cmluZygpfWNhdGNoKGIpe3JldHVybihuZXcgVVJMKGEuQixfLm1iKCkubG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX19O18uYWw9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2YgXy5LaylhLmxvZyhiKTtlbHNlIHRyeXt2YXIgYz1fLkxrKG5ldyBfLktrLF8uV2ooYikpO2EubG9nKGMpfWNhdGNoKGQpeyRrKGEsNCwxKX19OwpibD1mdW5jdGlvbihhLGIpe2Eubz1uZXcgWWooYjwxPzE6Yik7emsoYS5oLGEuby5NYSgpKX07JGs9ZnVuY3Rpb24oYSxiLGMpe2EuQyYmYS5DLlNsKGIsYyl9OwpZay5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGEpeyRrKHRoaXMsMiwxKTtpZih0aGlzLlApe2E9bGooYSk7dmFyIGI9dGhpcy53YSsrO2I9YT1fLmprKGEsMjEsYik7dmFyIGM9Xy5aaShiLDEpO3ZhciBkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT10eXBlb2YgYztkPWM9PW51bGw/YzplPT09ImJpZ2ludCI/U3RyaW5nKCgwLF8uYmkpKDY0LGMpKTpBaihjKT9lPT09InN0cmluZyI/RmooYyk6ZD9IaihjKTpHaihjKTp2b2lkIDA7ZD09bnVsbCYmKGQ9RGF0ZS5ub3coKSxkPU51bWJlci5pc0Zpbml0ZShkKT9kLnRvU3RyaW5nKCk6IjAiLF8uJGkoYiwxLGQ9PW51bGw/ZDpfLkpqKGQpKSk7ZD1fLlppKGIsMTUsdm9pZCAwLHZvaWQgMCxLaik7ZCE9bnVsbCYmKHR5cGVvZiBkPT09ImJpZ2ludCI/KDAsXy52aCkoZCk/ZD1OdW1iZXIoZCk6KGQ9KDAsXy5iaSkoNjQsZCksZD0oMCxfLnZoKShkKT9OdW1iZXIoZCk6U3RyaW5nKGQpKTpkPUFqKGQpP3R5cGVvZiBkPT09Im51bWJlciI/R2ooZCk6CkZqKGQpOnZvaWQgMCk7ZCE9bnVsbHx8Xy5qayhiLDE1LChuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MCk7dGhpcy5leHBlcmltZW50SWRzJiYoZD1saih0aGlzLmV4cGVyaW1lbnRJZHMpLF8uTChiLDE2LGQpKTskayh0aGlzLDEsMSk7Yj10aGlzLmcubGVuZ3RoLTFFMysxO2I+MCYmKHRoaXMuZy5zcGxpY2UoMCxiKSx0aGlzLmwrPWIsJGsodGhpcywzLGIpKTt0aGlzLmcucHVzaChhKTt0aGlzLmNjfHx0aGlzLmguZ3x8dGhpcy5oLnN0YXJ0KCl9fTsKWWsucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcztpZih0aGlzLmcubGVuZ3RoPT09MClhJiZhKCk7ZWxzZXt2YXIgZD1EYXRlLm5vdygpO2lmKHRoaXMucmE+ZCYmdGhpcy5JPGQpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLnphJiYodHlwZW9mIHRoaXMuemEuUGQ9PT0iZnVuY3Rpb24iP1FrKHRoaXMuaix0aGlzLnphLlBkKCkpOnRoaXMuai5oPTApO3ZhciBlPXRoaXMuZy5sZW5ndGgsZj1Tayh0aGlzLmosdGhpcy5nLHRoaXMubCx0aGlzLkEsdGhpcy5DYix0aGlzLkcsdGhpcy5GKSxnPXRoaXMudGIoKTtpZihnJiZ0aGlzLmxhPT09ZyliJiZiKCJzdGFsZS1hdXRoLXRva2VuIik7ZWxzZXt0aGlzLmc9W107dGhpcy5oLmcmJnRoaXMuaC5zdG9wKCk7dGhpcy5sPTA7ZD1fLldqKGYpO3ZhciBoO3RoaXMuRCYmdGhpcy5ELlRhKGQubGVuZ3RoKSYmKGg9eGsoZCkpO3ZhciBrPWNsKHRoaXMsZCxnKSxsPWZ1bmN0aW9uKHApe2Muby5yZXNldCgpO3prKGMuaCwKYy5vLk1hKCkpO2lmKHApe3ZhciByPW51bGw7dHJ5e3ZhciB0PUpTT04uc3RyaW5naWZ5KEpTT04ucGFyc2UocC5yZXBsYWNlKCIpXX0nXG4iLCIiKSkpO3I9VGsodCl9Y2F0Y2goRSl7fWlmKHIpe3A9TnVtYmVyKF8uaGsociwxLF8uYmgoIi0xIikpKTtwPjAmJihjLkk9RGF0ZS5ub3coKSxjLnJhPWMuSStwKTtwPVVrLmc7dD1fLnBoKF8ucWgpO3ZhciBBO18uT2cmJnQmJigoQT1yLkpbdF0pPT1udWxsP3ZvaWQgMDpBW3BdKSE9bnVsbCYmXy5NZyhfLlJoLDMpO2E6e0E9VWsuZzt2YXIgRD1EPT09dm9pZCAwPyExOkQ7aWYoXy5waChfLlNoKSYmXy5waChfLnFoKSYmdm9pZCAwPT09Xy5TaCl7cD1yLko7dD1wW18ucWhdO2lmKCF0KWJyZWFrIGE7aWYodD10LmJtKXRyeXt0KHAsQSxiayk7YnJlYWsgYX1jYXRjaChFKXtfLnJiKEUpfX1EJiYoRD1yLkosKHA9Xy5waChfLnFoKSkmJnAgaW4gRCYmKEQ9RFtwXSkmJmRlbGV0ZSBEW0FdKX1EPVVrLkxiP1VrLmgocixVay5MYixVay5nLFVrLmopOgpVay5oKHIsVWsuZyxudWxsLFVrLmopO2lmKEQ9RD09PW51bGw/dm9pZCAwOkQpRD1fLmdrKEQsMSwtMSksRCE9PS0xJiYoYy5SfHxibChjLEQpKX19YSYmYSgpO2MuQT0wfSxuPWZ1bmN0aW9uKHAscil7dmFyIHQ9Xy5jaihmLF8uS2ssMyk7dmFyIEE9TnVtYmVyKF8uaGsoZiwxNCkpLEQ9Yy5vO0QuZz1NYXRoLm1pbigzRTUsRC5nKjIpO0QuaD1NYXRoLm1pbigzRTUsRC5nK01hdGgucm91bmQoLjEqKE1hdGgucmFuZG9tKCktLjUpKjIqRC5nKSk7emsoYy5oLGMuby5NYSgpKTtwPT09NDAxJiZnJiYoYy5sYT1nKTtBJiYoYy5sKz1BKTtyPT09dm9pZCAwJiYocj01MDA8PXAmJnA8NjAwfHxwPT09NDAxfHxwPT09MCk7ciYmKGMuZz10LmNvbmNhdChjLmcpLGMuY2N8fGMuaC5nfHxjLmguc3RhcnQoKSk7JGsoYyw3LDEpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIscCk7KytjLkF9LHE9ZnVuY3Rpb24oKXtjLnphJiZjLnphLnNlbmQoayxsLG4pfTtoP2gudGhlbihmdW5jdGlvbihwKXskayhjLAo1LGUpO2submVbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7ay5uZVsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7ay5ib2R5PXA7ay5aZz0yO3EoKX0sZnVuY3Rpb24oKXskayhjLDYsZSk7cSgpfSk6cSgpfX19fTsKdmFyIGNsPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/bnVsbDpjO3ZhciBkPWQ9PT12b2lkIDA/YS53aXRoQ3JlZGVudGlhbHM6ZDt2YXIgZT17fSxmPW5ldyBVUkwoWmsoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5tYiYmKGVbIlgtR29vZy1BdXRoVXNlciJdPWEubWIsZi5zZWFyY2hQYXJhbXMuc2V0KCJhdXRodXNlciIsYS5tYikpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixaZzoxLG5lOmUsTGk6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHdjOmEud2N9fSxYaz1mdW5jdGlvbihhKXthLmoubD0hMDthLkwmJihhLmouaD0zLGRsKGEpKTthLksmJihhLmouaD0yLGVsKGEpKTthLmZsdXNoKCk7YS5qLmw9ITF9LGRsPWZ1bmN0aW9uKGEpe2ZsKGEsMzIsMTAsZnVuY3Rpb24oYixjKXtiPW5ldyBVUkwoYik7Yi5zZWFyY2hQYXJhbXMuc2V0KCJmb3JtYXQiLCJqc29uIik7dmFyIGQ9ITE7dHJ5e2Q9Xy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uKGIudG9TdHJpbmcoKSwKXy5XaihjKSl9Y2F0Y2goZSl7fWR8fChhLlQ9ITEpO3JldHVybiBkfSl9LGVsPWZ1bmN0aW9uKGEpe2ZsKGEsNiw1LGZ1bmN0aW9uKGIsYyl7Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwiYmFzZTY0anNvbiIpO3ZhciBkPWIuc2VhcmNoUGFyYW1zLGU9ZC5zZXQ7Yz1fLldqKGMpO2Zvcih2YXIgZj1bXSxnPTAsaD0wO2g8Yy5sZW5ndGg7aCsrKXt2YXIgaz1jLmNoYXJDb2RlQXQoaCk7az4yNTUmJihmW2crK109ayYyNTUsaz4+PTgpO2ZbZysrXT1rfWM9b2ooZiwzKTtlLmNhbGwoZCwicCIsYyk7Yj1iLnRvU3RyaW5nKCk7aWYoYi5sZW5ndGg+MTUzNjApcmV0dXJuITE7KG5ldyBJbWFnZSkuc3JjPWI7cmV0dXJuITB9KX0sZmw9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5nLmxlbmd0aCE9PTApe3ZhciBlPW5ldyBVUkwoWmsoYSkpO2Uuc2VhcmNoUGFyYW1zLmRlbGV0ZSgiZm9ybWF0Iik7dmFyIGY9YS50YigpO2YmJmUuc2VhcmNoUGFyYW1zLnNldCgiYXV0aCIsCmYpO2Uuc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEubWJ8fCIwIik7Zm9yKGY9MDtmPGMmJmEuZy5sZW5ndGg7KytmKXt2YXIgZz1hLmcuc2xpY2UoMCxiKSxoPVNrKGEuaixnLGEubCxhLkEsYS5DYixhLkcsYS5GKTtpZighZChlLnRvU3RyaW5nKCksaCkpeysrYS5BO2JyZWFrfWEubD0wO2EuQT0wO2EuRz0wO2EuRj0wO2EuZz1hLmcuc2xpY2UoZy5sZW5ndGgpfWEuaC5nJiZhLmguc3RvcCgpfX0sVms9ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSJ9O3ZhciBnbD1mdW5jdGlvbigpe3RoaXMuVmc9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifTsKZ2wucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMsZSxmLGcsaCxrLGwsbixxLHAscjtyZXR1cm4gXy5WaShmdW5jdGlvbih0KXtzd2l0Y2godC5nKXtjYXNlIDE6cmV0dXJuIGY9KGU9ZC5WZz9uZXcgQWJvcnRDb250cm9sbGVyOnZvaWQgMCkmJmEud2M+MD9zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5hYm9ydCgpfSxhLndjKTp2b2lkIDAsdC5GKDIsMyksZz1PYmplY3QuYXNzaWduKHt9LHttZXRob2Q6YS5MaSxoZWFkZXJzOk9iamVjdC5hc3NpZ24oe30sYS5uZSl9LGEuYm9keSYme2JvZHk6YS5ib2R5fSxhLndpdGhDcmVkZW50aWFscyYme2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0se3NpZ25hbDphLndjJiZlP2Uuc2lnbmFsOm51bGx9KSx0LmgoZmV0Y2goYS51cmwsZyksNSk7Y2FzZSA1Omg9dC5qO2lmKGguc3RhdHVzIT09MjAwKXsoaz1jKT09bnVsbHx8ayhoLnN0YXR1cyk7dC54YSgzKTticmVha31pZigobD1iKT09bnVsbCl7dC54YSg3KTticmVha31yZXR1cm4gdC5oKGgudGV4dCgpLAo4KTtjYXNlIDg6bCh0LmopO2Nhc2UgNzpjYXNlIDM6dC5MKCk7Y2xlYXJUaW1lb3V0KGYpO3QucWEoMCk7YnJlYWs7Y2FzZSAyOm49dC5EKCk7c3dpdGNoKChxPW4pPT1udWxsP3ZvaWQgMDpxLm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOihwPWMpPT1udWxsfHxwKDQwOCk7YnJlYWs7ZGVmYXVsdDoocj1jKT09bnVsbHx8cig0MDApfXQueGEoMyl9fSl9O2dsLnByb3RvdHlwZS5QZD1mdW5jdGlvbigpe3JldHVybiA0fTtfLmhsPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyIwIjpiO18udS5jYWxsKHRoaXMpO3RoaXMuT2I9YTt0aGlzLm1iPWI7dGhpcy5BPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjt0aGlzLmc9dGhpcy5DYj10aGlzLnphPXRoaXMuaD1udWxsO3RoaXMubD10aGlzLm89ITE7dGhpcy5qPW51bGx9O18uQihfLmhsLF8udSk7Xy5pbD1mdW5jdGlvbihhLGIpe2EudGI9YjtyZXR1cm4gYX07Xy5qbD1mdW5jdGlvbihhKXthLm89ITA7cmV0dXJuIGF9O18uaGwucHJvdG90eXBlLk1jPWZ1bmN0aW9uKCl7dGhpcy5CPSEwO3JldHVybiB0aGlzfTsKXy5rbD1mdW5jdGlvbihhKXthLnphfHwoYS56YT1uZXcgZ2wpO3ZhciBiPW5ldyBZayh7T2I6YS5PYix0YjphLnRiP2EudGI6dmssbWI6YS5tYixhajphLkEsYWI6ITEsY2M6ITEsTWM6YS5CLE9lOmEuT2UsemE6YS56YX0pO18uYWsoYSxfLlpqKF8ucGEsYikpO2lmKGEuaCl7dmFyIGM9YS5oLGQ9UGsoYi5qKTtfLlRqKGQsNyxjKX1iLkQ9bmV3IHdrO2EuQ2ImJihiLkNiPWEuQ2IpO2EuZyYmKChkPWEuZyk/KGIuZXhwZXJpbWVudElkc3x8KGIuZXhwZXJpbWVudElkcz1uZXcgb2spLGM9Yi5leHBlcmltZW50SWRzLGQ9Xy5XaihkKSxfLlRqKGMsNCxkKSk6Yi5leHBlcmltZW50SWRzJiZfLiRpKGIuZXhwZXJpbWVudElkcyw0KSk7YS5vJiYoYi5MPWEubyYmYi5UKTthLmwmJihiLks9YS5sKTthLmomJihjPWEuaixiLlI9ITAsYmwoYixjKSk7UmsoYi5qKTthLnphLnZjJiZhLnphLnZjKGEuT2IpO2EuemEuUWkmJmEuemEuUWkoYik7cmV0dXJuIGJ9O18ubGw9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKF8ubGwsXy5KKTtfLm09Xy5sbC5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDE2KX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMTYsYSl9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywxKX07Xy5tLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMSxhKX07Xy5tLk9kPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcyw1Myl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1sPWZ1bmN0aW9uKGEpe3ZhciBiPV8uS2EoKTthPWI/Yi5jcmVhdGVIVE1MKGEpOmE7cmV0dXJuIG5ldyBfLkRjKGEpfTtfLm5sPWZ1bmN0aW9uKGEsYil7Yj1fLkVnKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18ub2w9e307Xy5wbD1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5wbC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTtfLnFsPXt9O18uemY9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiSyIpO307Xy56Zi5wcm90b3R5cGUuSmQ9bnVsbDtfLnpmLnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnR9O18uemYucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Xy56Zi5wcm90b3R5cGUuVGI9ZnVuY3Rpb24oKXtpZih0aGlzLlpiIT09Xy5xbCl0aHJvdyBFcnJvcigiTCIpO3JldHVybiBfLm1sKHRoaXMudG9TdHJpbmcoKSl9O3ZhciBybD1mdW5jdGlvbigpe18uemYuY2FsbCh0aGlzKX07Cl8uRyhybCxfLnpmKTtybC5wcm90b3R5cGUuWmI9Xy5xbDt2YXIgc2w9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uRyhzbCxfLnpmKTtzbC5wcm90b3R5cGUuWmI9Xy5vbDtzbC5wcm90b3R5cGUuSmQ9MTtzbC5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5wbCh0aGlzLnRvU3RyaW5nKCkpfTtfLnRsPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyl7dGhpcy5jb250ZW50PWN9Yi5wcm90b3R5cGU9YS5wcm90b3R5cGU7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7Yz1uZXcgYihTdHJpbmcoYykpO2QhPT12b2lkIDAmJihjLkpkPWQpO3JldHVybiBjfX0ocmwpO18udWw9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjKXt0aGlzLmNvbnRlbnQ9Y31iLnByb3RvdHlwZT1hLnByb3RvdHlwZTtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBiKFN0cmluZyhjKSl9fShzbCk7Xy52bD1SZWdFeHAucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzdGlja3kiKTtfLndsPW5ldyBSZWdFeHAoKF8udmw/IiI6Il4iKSsiKD86IXwvPyhbYS16QS1aXVthLXpBLVowLTk6LV0qKSkiLF8udmw/Imd5IjoiZyIpO18ueGw9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uQihfLnhsLHJsKTsKXy54bC5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtpZih0aGlzLmNvbnRlbnQhPT12b2lkIDApcmV0dXJuIHRoaXMuY29udGVudDtmb3IodmFyIGE9IiIsYj1fLkModGhpcy5VKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSlhKz1jLnZhbHVlO3JldHVybiBhfTtfLnhsLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hKCl9O18ueWw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7dGhpcy5jb250ZW50PSIifWEucHJvdG90eXBlPV8ueGwucHJvdG90eXBlO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgYX19KCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW5fY3NzIik7CgpfLm1hKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW4iKTsKLyoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgemw9ZnVuY3Rpb24oYSxiKXt0aGlzLng9YSE9PXZvaWQgMD9hOjA7dGhpcy55PWIhPT12b2lkIDA/YjowfSxBbD1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ7Zm9yKGQgaW4gYSljW2RdPWIuY2FsbCh2b2lkIDAsYVtkXSxkLGEpO3JldHVybiBjfSxCbD1mdW5jdGlvbihhLGIpe3ZhciBjPWIuY3JlYXRlUmFuZ2UoKTtjLnNlbGVjdE5vZGUoYi5ib2R5KTthPV8ubWwoYSk7cmV0dXJuIGMuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KF8ua2ooYSkpfSxDbD1mdW5jdGlvbihhKXthPWEubm9kZU5hbWU7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YToiRk9STSJ9LERsPWZ1bmN0aW9uKGEpe2E9YS5ub2RlVHlwZTtyZXR1cm4gYT09PTF8fHR5cGVvZiBhIT09Im51bWJlciJ9LEVsPWZ1bmN0aW9uKGEsYixjKXthLnNldEF0dHJpYnV0ZShiLGMpfSxGbD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYShhKX0sR2w9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5yaShhKTt2YXIgZT1hLkosZj1lW18uSF18CjA7aWYoYz09bnVsbClyZXR1cm4gXy50aShlLGYsYiksYTt2YXIgZz1jPT09Xy5UaD83OmNbXy5IXXwwLGg9ZyxrPV8uRWkoZyksbD1rfHxPYmplY3QuaXNGcm96ZW4oYyk7a3x8KGc9MCk7bHx8KGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSk7Z3w9NTtrPTQmZz81MTImZz81MTI6MTAyNCZnPzEwMjQ6MDp2b2lkIDA7az1rIT1udWxsP2s6MTAyNDtnfD1rO2Zvcih2YXIgbj0wO248Yy5sZW5ndGg7bisrKXt2YXIgcT1jW25dLHA9ZChxLGspO09iamVjdC5pcyhxLHApfHwobCYmKGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSksY1tuXT1wKX1nIT09aCYmKGwmJihjPV8ubWkoYyksZz1fLkRpKGcsZikpLF8uU2coYyxnKSk7Xy50aShlLGYsYixjKTtyZXR1cm4gYX0sSGw9ZnVuY3Rpb24oYSl7aWYoXy5PZyl7dmFyIGI7cmV0dXJuKGI9YVtfLmRrXSkhPW51bGw/YjphW18uZGtdPW5ldyBNYXB9aWYoXy5kayBpbiBhKXJldHVybiBhW18uZGtdO2I9bmV3IE1hcDtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwKXy5kayx7dmFsdWU6Yn0pO3JldHVybiBifSxJbD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmdldChkKTtpZihlIT1udWxsKXJldHVybiBlO2Zvcih2YXIgZj1lPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBnPWRbZl07Xy51aShiLGcpIT1udWxsJiYoZSE9PTAmJihjPV8udGkoYixjLGUpKSxlPWcpfWEuc2V0KGQsZSk7cmV0dXJuIGV9LEpsPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM7Zm9yKGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9LEtsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/MTowfSxMbD1mdW5jdGlvbihhLGIpe3ZhciBjPTA7YT0oMCxfLkFjKShTdHJpbmcoYSkpLnNwbGl0KCIuIik7Yj0oMCxfLkFjKShTdHJpbmcoYikpLnNwbGl0KCIuIik7Zm9yKHZhciBkPU1hdGgubWF4KGEubGVuZ3RoLGIubGVuZ3RoKSxlPTA7Yz09MCYmZTxkO2UrKyl7dmFyIGY9YVtlXXx8IiIsZz1iW2VdfHwiIjtkb3tmPS8oXGQqKShcRCopKC4qKS8uZXhlYyhmKXx8WyIiLCIiLCIiLAoiIl07Zz0vKFxkKikoXEQqKSguKikvLmV4ZWMoZyl8fFsiIiwiIiwiIiwiIl07aWYoZlswXS5sZW5ndGg9PTAmJmdbMF0ubGVuZ3RoPT0wKWJyZWFrO2M9S2woZlsxXS5sZW5ndGg9PTA/MDpwYXJzZUludChmWzFdLDEwKSxnWzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KGdbMV0sMTApKXx8S2woZlsyXS5sZW5ndGg9PTAsZ1syXS5sZW5ndGg9PTApfHxLbChmWzJdLGdbMl0pO2Y9ZlszXTtnPWdbM119d2hpbGUoYz09MCl9cmV0dXJuIGN9LE1sPWZ1bmN0aW9uKGEpe2lmKC9eKHNjcmlwdHxzdHlsZSkkL2kudGVzdChhLnRhZ05hbWUpKXRocm93IEVycm9yKCJ0Iik7fSxObD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5wbClyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fSxPbD1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8nL2csCiImYXBvczsiKX0sUGw9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLkRjP2E6Xy5tbChPbChTdHJpbmcoYSkpKX0sUWw9ZnVuY3Rpb24oYSl7dmFyIGI9e25vbmNlOl8uT2EoInNjcmlwdCIsZG9jdW1lbnQpfTthPV8uUmEoYSkudG9TdHJpbmcoKTt2YXIgYz0iPHNjcmlwdCI7aWYoYj09bnVsbD8wOmIuaWQpYys9JyBpZD0iJytPbChiLmlkKSsnIic7aWYoYj09bnVsbD8wOmIubm9uY2UpYys9JyBub25jZT0iJytPbChiLm5vbmNlKSsnIic7aWYoYj09bnVsbD8wOmIudHlwZSljKz0nIHR5cGU9IicrT2woYi50eXBlKSsnIic7aWYoYj09bnVsbD8wOmIuZGVmZXIpYys9IiBkZWZlciI7cmV0dXJuIF8ubWwoYysoIj4iK2ErIlx4M2Mvc2NyaXB0PiIpKX0sUmw9ZnVuY3Rpb24oYSl7dmFyIGI9UGwoIiIpO3JldHVybiBfLm1sKGEubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBfLmtqKFBsKGMpKX0pLmpvaW4oXy5raihiKS50b1N0cmluZygpKSl9LFNsPWZ1bmN0aW9uKGEpe3JldHVybiBSbChhKX0sClZsPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iIixjPU9iamVjdC5rZXlzKGEpLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9Y1tkXSxmPWFbZV07aWYoIVRsLnRlc3QoZSkpdGhyb3cgRXJyb3IoInQiKTtpZihmIT09dm9pZCAwJiZmIT09bnVsbCl7aWYoL15vbi4vaS50ZXN0KGUpKXRocm93IEVycm9yKCJ0Iik7VWwuaW5kZXhPZihlLnRvTG93ZXJDYXNlKCkpIT09LTEmJihmPV8uRWcoU3RyaW5nKGYpKXx8ImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7Zj1lKyc9IicrUGwoU3RyaW5nKGYpKSsnIic7Yis9IiAiK2Z9fXJldHVybiBifSxZbD1mdW5jdGlvbihhKXt2YXIgYj17fTtpZighVGwudGVzdCgiYm9keSIpKXRocm93IEVycm9yKCJ0Iik7aWYoV2wuaW5kZXhPZigiQk9EWSIpIT09LTEpdGhyb3cgRXJyb3IoInQiKTt2YXIgYz0iPGJvZHkiO2ImJihjKz1WbChiKSk7QXJyYXkuaXNBcnJheShhKXx8KGE9YT09PXZvaWQgMD9bXTpbYV0pO1hsLmluZGV4T2YoIkJPRFkiKSE9PS0xPwpjKz0iPiI6KGE9U2woYS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQgaW5zdGFuY2VvZiBfLkRjP2Q6UGwoU3RyaW5nKGQpKX0pKSxjKz0iPiIrYS50b1N0cmluZygpKyI8L2JvZHk+Iik7cmV0dXJuIF8ubWwoYyl9LFpsPWZ1bmN0aW9uKGEpe3RoaXMuaD10aGlzLkI9dGhpcy5sPSIiO3RoaXMuQz1udWxsO3RoaXMuQT10aGlzLmo9IiI7dGhpcy5vPSExO3ZhciBiO2EgaW5zdGFuY2VvZiBabD8odGhpcy5vPWEubywkbCh0aGlzLGEubCksdGhpcy5CPWEuQixhbSh0aGlzLGEuaCksYm0odGhpcyxhLkMpLGNtKHRoaXMsYS5qKSxkbSh0aGlzLGVtKGEuZykpLHRoaXMuQT1hLkEpOmEmJihiPVN0cmluZyhhKS5tYXRjaChfLnJmKSk/KHRoaXMubz0hMSwkbCh0aGlzLGJbMV18fCIiLCEwKSx0aGlzLkI9Zm0oYlsyXXx8IiIpLGFtKHRoaXMsYlszXXx8IiIsITApLGJtKHRoaXMsYls0XSksY20odGhpcyxiWzVdfHwiIiwhMCksZG0odGhpcyxiWzZdfHwiIiwhMCksdGhpcy5BPWZtKGJbN118fCIiKSk6Cih0aGlzLm89ITEsdGhpcy5nPW5ldyBnbShudWxsLHRoaXMubykpfSxobT1mdW5jdGlvbihhKXtyZXR1cm4gXy55YShhKT9hLlRiJiYoYT1hLlRiKCksYSBpbnN0YW5jZW9mIF8uRGMpP2E6UGwoInpTb3l6Iik6UGwoU3RyaW5nKGEpKX0saW09ZnVuY3Rpb24oYSxiKXtiJiZiLmg/Yi5oKGEpOihiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpfSxrbT1mdW5jdGlvbihhLGIpe2E6aWYoYj1hKGJ8fGptLHZvaWQgMCksYT1fLmxiKCksYiYmYi5nP2E9Yi5nKCk6KGE9YS5jcmVhdGVFbGVtZW50KCJESVYiKSxiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpLGEuY2hpbGROb2Rlcy5sZW5ndGg9PTEmJihiPWEuZmlyc3RDaGlsZCxiLm5vZGVUeXBlPT0xKSl7YT1iO2JyZWFrIGF9cmV0dXJuIGF9LG1tPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIik7YT1sbShhLGIpO2I9Yi5ib2R5O2IuYXBwZW5kQ2hpbGQoYSk7Yj0obmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKGIpOwpiPWIuc2xpY2UoYi5pbmRleE9mKCI+IikrMSxiLmxhc3RJbmRleE9mKCI8LyIpKTtyZXR1cm4gXy5tbChiKX0sbm09ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigpO3JldHVybiBhfSxvbT1mdW5jdGlvbihhLGIsYyl7aWYoYilyZXR1cm4gbm0oYSk7dmFyIGQ7cmV0dXJuKGQ9Xy5waShhKSkhPW51bGw/ZDpjPyIiOnZvaWQgMH0scm09ZnVuY3Rpb24oKXtyZXR1cm4gcG18fChwbT1uZXcgXy55aChfLlRnKFtdKSx2b2lkIDAsdm9pZCAwLHZvaWQgMCxxbSkpfSxzbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkosZj1lW18uSF18MDtjPV8uV2coYSxmKT8xOmM7ZD0hIWR8fGM9PT0zO2M9PT0yJiZfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCk7YT1fLkJpKGUsYik7dmFyIGc9YT09PV8uVGg/NzphW18uSF18MCxoPV8uQ2koZyxmKTt2YXIgaz00Jmg/ITE6ITA7aWYoayl7NCZoJiYoYT1fLm1pKGEpLGc9MCxoPV8uRGkoaCxmKSxmPV8udGkoZSwKZixiLGEpKTtmb3IodmFyIGw9MCxuPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBxPV8ucGkoYVtsXSk7cSE9bnVsbCYmKGFbbisrXT1xKX1uPGwmJihhLmxlbmd0aD1uKTtoPShofDQpJi01MTM7aCY9LTEwMjU7aCY9LTQwOTd9aCE9PWcmJihfLlNnKGEsaCksMiZoJiZPYmplY3QuZnJlZXplKGEpKTtyZXR1cm4gYT1fLkZpKGEsaCxlLGYsYixjLGssZCl9LHVtPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRtOyFkJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7dmFyIGY9Xy51aShiLDEpO2E9ITE7aWYoZj09bnVsbCl7aWYoZClyZXR1cm4gcm0oKTtmPVtdfWVsc2UgaWYoZi5jb25zdHJ1Y3Rvcj09PV8ueWgpaWYoZi5LYiYyJiYhZClmPV8uemgoZik7ZWxzZSByZXR1cm4gZjtlbHNlIEFycmF5LmlzQXJyYXkoZik/YT0hISgoZltfLkhdfDApJjIpOmY9W107aWYoZCl7aWYoIWYubGVuZ3RoKXJldHVybiBybSgpO2F8fChhPSEwLF8uVGcoZikpfWVsc2UgaWYoYSl7YT0hMTtfLlVnKGYpOwpkPV8ubWkoZik7Zm9yKGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIGc9ZFtmXT1fLm1pKGRbZl0pO0FycmF5LmlzQXJyYXkoZ1sxXSkmJihnWzFdPV8uVGcoZ1sxXSkpfWY9Xy5VZyhkKX0hYSYmYyYzMiYmXy5saShmKTtlPW5ldyBfLnloKGYsZSxvbSx2b2lkIDApO2M9Xy50aShiLGMsMSxlKTthfHxfLnNpKGIsYyk7cmV0dXJuIGV9LHZtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMudG9wPWE7dGhpcy5yaWdodD1iO3RoaXMuYm90dG9tPWM7dGhpcy5sZWZ0PWR9LHdtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9LHhtPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9YS5sZW5ndGgsZT0wLGY9W10sZyxoLGs9MDtrPGQ7KXtzd2l0Y2goZSl7Y2FzZSAwOnZhciBsPWEuaW5kZXhPZigiPCIsayk7aWYobDwwKXtpZihjLmxlbmd0aD09PTApcmV0dXJuIGE7Yy5wdXNoKGEuc3Vic3RyaW5nKGspKTtrPWR9ZWxzZSBjLnB1c2goYS5zdWJzdHJpbmcoaywKbCkpLGg9bCxrPWwrMSxfLnZsPyhfLndsLmxhc3RJbmRleD1rLGw9Xy53bC5leGVjKGEpKTooXy53bC5sYXN0SW5kZXg9MCxsPV8ud2wuZXhlYyhhLnN1YnN0cmluZyhrKSkpLGw/KGY9WyI8IixsWzBdXSxnPWxbMV0sZT0xLGsrPWxbMF0ubGVuZ3RoKTpjLnB1c2goIjwiKTticmVhaztjYXNlIDE6bD1hLmNoYXJBdChrKyspO3N3aXRjaChsKXtjYXNlICInIjpjYXNlICciJzp2YXIgbj1hLmluZGV4T2YobCxrKTtuPDA/az1kOihmLnB1c2gobCxhLnN1YnN0cmluZyhrLG4rMSkpLGs9bisxKTticmVhaztjYXNlICI+IjpmLnB1c2gobCk7Yy5wdXNoKGIoZi5qb2luKCIiKSxnKSk7ZT0wO2Y9W107aD1nPW51bGw7YnJlYWs7ZGVmYXVsdDpmLnB1c2gobCl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31lPT09MSYmaz49ZCYmKGs9aCsxLGMucHVzaCgiPCIpLGU9MCxmPVtdLGg9Zz1udWxsKX1yZXR1cm4gYy5qb2luKCIiKX0sRG09ZnVuY3Rpb24oKXt2YXIgYT15bShfLmpsKF8uaWwoem0oKSwKZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0pLk1jKCkpKSxiPUFtKCkubWFwKGZ1bmN0aW9uKGMpe3ZhciBkO2E6e3ZhciBlPWMubztpZihlPT1udWxsKWM9bnVsbDtlbHNlIGlmKHR5cGVvZiBlPT09Im51bWJlciIpYz1lO2Vsc2V7aWYodHlwZW9mIGU9PT0ic3RyaW5nIil7dmFyIGY9TnVtYmVyKGUpO2lmKCFpc05hTihmKSYmKGYhPT0wfHxlLnRyaW0oKS5sZW5ndGghPT0wKSl7Yz1mO2JyZWFrIGF9fXRocm93IEJtKGMsIm51bWJlciIpO319cmV0dXJuKGQ9YykhPW51bGw/ZDowfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjPjB9KTtiLmxlbmd0aD4wJiYoYj1DbShiKSxhLmc9Yik7cmV0dXJuIF8ua2woYSl9LEVtPWZ1bmN0aW9uKGEpe3JldHVybiJ0cmFuc2xhdGU6IithfSxLbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRm07Yj1fLlRqKGIsMSxhLm5hbWUpO3ZhciBjPUdtKGEuc3RhcnRUaW1lKTtiPV8uTChiLDIsYyk7YT1IbShhLmR1cmF0aW9uKTthPV8uTChiLDMsYSk7Yj1uZXcgSW07CnJldHVybiBKbShhLDUsYil9LEdtPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBMbTtiLnNldFNlY29uZHMoTWF0aC5mbG9vcihhLzFFMykpO2E9TWF0aC5yb3VuZChhJTFFMyoxRTYpO18uR2koYiwyLGE9PW51bGw/YTpfLkJqKGEpLDApO3JldHVybiBifSxIbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgTW07Yi5zZXRTZWNvbmRzKE1hdGguZmxvb3IoYS8xRTMpKTthPU1hdGgucm91bmQoYSUxRTMqMUU2KTtfLkdpKGIsMixhPT1udWxsP2E6Xy5CaihhKSwwKTtyZXR1cm4gYn0sTm09ZnVuY3Rpb24oYSl7cmV0dXJuIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiYoYT1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGEsIm1hcmsiKSxhLmxlbmd0aD09MSk/YVswXTpudWxsfSxPbT1mdW5jdGlvbihhLGIpe3JldHVybiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UubWVhc3VyZT9wZXJmb3JtYW5jZS5tZWFzdXJlKGEsYil8fG51bGw6bnVsbH0sUm09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPQpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2Quc3BsaWNlKDAsMik7ZD0ibCIrYS50b1N0cmluZygxNikrImkiK2IudG9TdHJpbmcoMTYpKyhkLmxlbmd0aD8iLSIrZC5qb2luKCJfIik6IiIpO1BtP1BtLnB1c2goZCk6UW0oZCl9LFZtPWZ1bmN0aW9uKCl7dmFyIGE9U218fChTbT1UbSgnW251bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiKGZ1bmN0aW9uKCl7XCd1c2Ugc3RyaWN0XCc7dmFyIGZcXHUwMDNkdHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzXFx1MDAzZFxcdTAwM2RcXCJmdW5jdGlvblxcIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxjLGIpe2lmKGFcXHUwMDNkXFx1MDAzZEFycmF5LnByb3RvdHlwZXx8YVxcdTAwM2RcXHUwMDNkT2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2NdXFx1MDAzZGIudmFsdWU7cmV0dXJuIGF9O2Z1bmN0aW9uIGcoYSl7YVxcdTAwM2RbXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsVGhpc1xcdTAwMjZcXHUwMDI2Z2xvYmFsVGhpcyxhLFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHdpbmRvd1xcdTAwMjZcXHUwMDI2d2luZG93LFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHNlbGZcXHUwMDI2XFx1MDAyNnNlbGYsXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsXFx1MDAyNlxcdTAwMjZnbG9iYWxdO2Zvcih2YXIgY1xcdTAwM2QwO2NcXHUwMDNjYS5sZW5ndGg7KytjKXt2YXIgYlxcdTAwM2RhW2NdO2lmKGJcXHUwMDI2XFx1MDAyNmIuTWF0aFxcdTAwM2RcXHUwMDNkTWF0aClyZXR1cm4gYn10aHJvdyBFcnJvcihcXCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0XFwiKTt9dmFyIGhcXHUwMDNkZyh0aGlzKTtcXG5mdW5jdGlvbiBrKGEsYyl7aWYoYylhOnt2YXIgYlxcdTAwM2RoO2FcXHUwMDNkYS5zcGxpdChcXCIuXFwiKTtmb3IodmFyIGRcXHUwMDNkMDtkXFx1MDAzY2EubGVuZ3RoLTE7ZCsrKXt2YXIgZVxcdTAwM2RhW2RdO2lmKCEoZSBpbiBiKSlicmVhayBhO2JcXHUwMDNkYltlXX1hXFx1MDAzZGFbYS5sZW5ndGgtMV07ZFxcdTAwM2RiW2FdO2NcXHUwMDNkYyhkKTtjIVxcdTAwM2RkXFx1MDAyNlxcdTAwMjZjIVxcdTAwM2RudWxsXFx1MDAyNlxcdTAwMjZmKGIsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX19ayhcXCJnbG9iYWxUaGlzXFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxofSk7LypcXG5cXG4gQ29weXJpZ2h0IEdvb2dsZSBMTENcXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcXG4qL1xcbnZhciBsXFx1MDAzZGdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLG07ZnVuY3Rpb24gbigpe3ZhciBhXFx1MDAzZG51bGw7aWYoIWwpcmV0dXJuIGE7dHJ5e3ZhciBjXFx1MDAzZGZ1bmN0aW9uKGIpe3JldHVybiBifTthXFx1MDAzZGwuY3JlYXRlUG9saWN5KFxcImdvb2cjaHRtbFxcIix7Y3JlYXRlSFRNTDpjLGNyZWF0ZVNjcmlwdDpjLGNyZWF0ZVNjcmlwdFVSTDpjfSl9Y2F0Y2goYil7fXJldHVybiBhfTtmdW5jdGlvbiBwKGEpe3RoaXMuZ1xcdTAwM2RhfXAucHJvdG90eXBlLnRvU3RyaW5nXFx1MDAzZGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZytcXCJcXCJ9O2Z1bmN0aW9uIHEoYSl7bVxcdTAwM2RcXHUwMDNkXFx1MDAzZHZvaWQgMFxcdTAwMjZcXHUwMDI2KG1cXHUwMDNkbigpKTthXFx1MDAzZG0/bS5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IHAoYSl9O2lmKCFmdW5jdGlvbigpe2lmKHNlbGYub3JpZ2luKXJldHVybiBzZWxmLm9yaWdpblxcdTAwM2RcXHUwMDNkXFx1MDAzZFxcIm51bGxcXCI7aWYobG9jYXRpb24uaG9zdCFcXHUwMDNkXFx1MDAzZFxcIlxcIilyZXR1cm4hMTt0cnl7cmV0dXJuIHdpbmRvdy5wYXJlbnQuZXNjYXBlKFxcIlxcIiksITF9Y2F0Y2goYSl7cmV0dXJuITB9fSgpKXRocm93IEVycm9yKFxcInNhbmRib3hpbmcgZXJyb3JcXCIpO1xcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxcIm1lc3NhZ2VcXCIsZnVuY3Rpb24oYSl7dmFyIGNcXHUwMDNkYS5wb3J0c1swXTthXFx1MDAzZGEuZGF0YTt2YXIgYlxcdTAwM2RhLmNhbGxiYWNrTmFtZS5zcGxpdChcXCIuXFwiKSxkXFx1MDAzZHdpbmRvdztiWzBdXFx1MDAzZFxcdTAwM2RcXHUwMDNkXFwid2luZG93XFwiXFx1MDAyNlxcdTAwMjZiLnNoaWZ0KCk7Zm9yKHZhciBlXFx1MDAzZDA7ZVxcdTAwM2NiLmxlbmd0aC0xO2UrKylkW2JbZV1dXFx1MDAzZHt9LGRcXHUwMDNkZFtiW2VdXTtkW2JbYi5sZW5ndGgtMV1dXFx1MDAzZGZ1bmN0aW9uKHIpe2MucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkocikpfTtiXFx1MDAzZGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFwic2NyaXB0XFwiKTthXFx1MDAzZHEoYS51cmwpO2lmKGEgaW5zdGFuY2VvZiBwKWFcXHUwMDNkYS5nO2Vsc2UgdGhyb3cgRXJyb3IoXFwiXFwiKTtiLnNyY1xcdTAwM2RhO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYil9LCEwKTt9KS5jYWxsKHRoaXMpO1xcbiJdJykpOwppZighYSlyZXR1cm4gbnVsbDthPV8ucGkoXy5aaShhLDYsdm9pZCAwLFVtKSk7dmFyIGI7YT09PW51bGx8fGE9PT12b2lkIDA/Yj1udWxsOmI9Xy5RYShhKTtyZXR1cm4gYn0sV209ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSljPWMudmFsdWUsYltjLmxhbmd1YWdlXT1jLm5hbWU7cmV0dXJuIGJ9LFhtPWZ1bmN0aW9uKCl7fSxZbT1mdW5jdGlvbihhLGIpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmw9bmV3IF8uSGIodGhpcyk7dGhpcy5RYihhfHxudWxsKTtiJiYodGhpcy5VYj1iKX0sYm49ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLngodGhpcy5nLCJmb2N1cyIsdGhpcywhMCk7dGhpcy5qPV8ueCh0aGlzLmcsImJsdXIiLHRoaXMsITApfSxjbj1mdW5jdGlvbigpe30sZG49ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZWxlbWVudD1hO3RoaXMuaj1iO3RoaXMubD1jfSxlbj1mdW5jdGlvbihhLApiKXt0aGlzLmc9YSBpbnN0YW5jZW9mIHpsP2E6bmV3IHpsKGEsYil9LGZuPWZ1bmN0aW9uKGEsYil7dGhpcy5vPWJ8fHZvaWQgMDtZbS5jYWxsKHRoaXMsYSl9LE89ZnVuY3Rpb24oYSxiLGMpe3RoaXMuRz1jfHwoYT9fLmxiKGduKGEpKTpfLmxiKCkpO2ZuLmNhbGwodGhpcyx0aGlzLkcuUygiRElWIix7c3R5bGU6InBvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTsifSkpO3RoaXMucmE9bmV3IHpsKDEsMSk7dGhpcy5BPW5ldyBTZXQ7dGhpcy5DPW51bGw7YSYmdGhpcy5hdHRhY2goYSk7YiE9bnVsbCYmdGhpcy5LYShiKX0saG49ZnVuY3Rpb24oYSl7YT1hLmNsYXNzTmFtZTtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaCgvXFMrL2cpfHxbXX0sa249ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWMubGVuZ3RoK2QubGVuZ3RoO2puKGMsZCk7YS5jbGFzc05hbWU9Yy5qb2luKCIgIik7CnJldHVybiBjLmxlbmd0aD09ZX0sbW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWxuKGMsZCk7YS5jbGFzc05hbWU9ZS5qb2luKCIgIik7cmV0dXJuIGUubGVuZ3RoPT1jLmxlbmd0aC1kLmxlbmd0aH0sam49ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKylfLnRhKGEsYltjXSl8fGEucHVzaChiW2NdKX0sbG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIV8udGEoYixjKX0pfSxubj1mdW5jdGlvbihhLGIpe3JldHVybiBfLnRhKGhuKGEpLGIpfSxvbj1mdW5jdGlvbihhLGIsYyl7Yz9rbihhLGIpOm1uKGEsYil9LHRuPWZ1bmN0aW9uKGEpe3JldHVybiBwbihuZXcgcW4sc20oYSwxLF8uYWooKSkubWFwKGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bmV3IHJuO2I9c24oZCwxLGIpO2lmKHNtKGEsMixfLmFqKCkpLmxlbmd0aD5jKXtkPXNtKGEsMiwKMywhMCk7aWYodHlwZW9mIGMhPT0ibnVtYmVyInx8YzwwfHxjPj1kLmxlbmd0aCl0aHJvdyBFcnJvcigpO3NuKGIsMyxkW2NdKX1yZXR1cm4gYn0pKX0sdW49ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHJuO2I9c24oYiwxLGFbMF0pO2EubGVuZ3RoPT09MyYmc24oYiwzLGFbMl0pO3JldHVybiBifSx2bj1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaihhLHJuLDEpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gXy5OKGIsMyk/W18uTihiLDEpLDIwMCxfLk4oYiwzKV06W18uTihiLDEpLDIwMF19KX0sd249ZnVuY3Rpb24oKXt9LHhuPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmg9YXx8Xy5sYigpO3RoaXMubGE9bnVsbDt0aGlzLmpiPSExO3RoaXMuQz1udWxsO3RoaXMuTz12b2lkIDA7dGhpcy5SPXRoaXMuRj10aGlzLks9bnVsbDt0aGlzLndhPSExfSx5bj1mdW5jdGlvbihhKXt2YXIgYj1fLmxiKCksYz1iLmcsZD1iLmNyZWF0ZUVsZW1lbnQoIlNUWUxFIiksZT1fLk9hKCJzdHlsZSIsCmMpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7ZC50eXBlPSJ0ZXh0L2NzcyI7Yj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJIRUFEIilbMF07ZC5zdHlsZVNoZWV0P2Quc3R5bGVTaGVldC5jc3NUZXh0PWE6ZC5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKGEpKTtiLmFwcGVuZENoaWxkKGQpO3JldHVybiBkfSxDbj1mdW5jdGlvbigpe2Zvcih2YXIgYSBpbiBPYmplY3QucHJvdG90eXBlKXtfLnpjPWZ1bmN0aW9uKGQsZSxmKXtmb3IodmFyIGcgaW4gZClkW2ddIT09T2JqZWN0LnByb3RvdHlwZVtnXSYmZS5jYWxsKGYsZFtnXSxnLGQpfTticmVha312YXIgYj1EYXRlLm5vdygpLGM9em4oQW4pO2MmJnR5cGVvZiBjPT0iZnVuY3Rpb24iJiYoQm49PTE/YygpOmZ1bmN0aW9uIGUoKXt2YXIgZj1kb2N1bWVudC5yZWFkeVN0YXRlO18ub2MoZik9PSJ1bmRlZmluZWQifHxmPT0iY29tcGxldGUifHxmPT0iaW50ZXJhY3RpdmUifHxEYXRlLm5vdygpLWI+PTJFND9jKCk6d2luZG93LnNldFRpbWVvdXQoZSwKNTAwKX0oKSl9O18ubT16bC5wcm90b3R5cGU7Xy5tLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsJiYodGhpcz09YT8hMDp0aGlzJiZhP3RoaXMueD09YS54JiZ0aGlzLnk9PWEueTohMSl9O18ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguY2VpbCh0aGlzLngpO3RoaXMueT1NYXRoLmNlaWwodGhpcy55KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLm0ucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLngrPWEueCx0aGlzLnkrPWEueSk6KHRoaXMueCs9TnVtYmVyKGEpLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnkrPWIpKTtyZXR1cm4gdGhpc307CnZhciBEbj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IHpsKGEueCxhLnkpfSxFbj1bImRhdGE6IiwiaHR0cDoiLCJodHRwczoiLCJtYWlsdG86IiwiZnRwOiJdLEZuPWZ1bmN0aW9uKGEpe3ZhciBiPTE7YT1hLnNwbGl0KCI6Iik7Zm9yKHZhciBjPVtdO2I+MCYmYS5sZW5ndGg7KWMucHVzaChhLnNoaWZ0KCkpLGItLTthLmxlbmd0aCYmYy5wdXNoKGEuam9pbigiOiIpKTtyZXR1cm4gY30sR249ZnVuY3Rpb24oYSxiLGMpe2M9YS5nLmdldChjKTtyZXR1cm4oYz09bnVsbD8wOmMuaGFzKGIpKT9jLmdldChiKTphLmwuaGFzKGIpP3t1YToxfTooYz1hLm8uZ2V0KGIpKT9jOmEuaCYmW10uY29uY2F0KF8uJGIoYS5oKSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gYi5pbmRleE9mKGQpPT09MH0pP3t1YToxfTp7dWE6MH19LEhuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1DbChiKTtjPWMuY3JlYXRlRWxlbWVudChkKTtiPWIuYXR0cmlidXRlcztmb3IodmFyIGU9Xy5DKGIpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPQplLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtmPWcubmFtZTtnPWcudmFsdWU7dmFyIGg9R24oYS5nLGYsZCksazthOntpZihrPWguY29uZGl0aW9ucyl7az1fLkMoayk7Zm9yKHZhciBsPWsubmV4dCgpOyFsLmRvbmU7bD1rLm5leHQoKSl7dmFyIG49Xy5DKGwudmFsdWUpO2w9bi5uZXh0KCkudmFsdWU7bj1uLm5leHQoKS52YWx1ZTt2YXIgcT12b2lkIDA7aWYoKGw9KHE9Yi5nZXROYW1lZEl0ZW0obCkpPT1udWxsP3ZvaWQgMDpxLnZhbHVlKSYmIW4uaGFzKGwpKXtrPSExO2JyZWFrIGF9fX1rPSEwfWlmKGspc3dpdGNoKGgudWEpe2Nhc2UgMTpFbChjLGYsZyk7YnJlYWs7Y2FzZSAyOnRocm93IEVycm9yKCk7Y2FzZSAzOkVsKGMsZixnLnRvTG93ZXJDYXNlKCkpO2JyZWFrO2Nhc2UgNDpFbChjLGYsZyk7YnJlYWs7Y2FzZSA1OkVsKGMsZixnKTticmVhaztjYXNlIDY6RWwoYyxmLGcpO2JyZWFrO2Nhc2UgNzphOmlmKGg9dm9pZCAwLGs9ZyxfLkNjKXt0cnl7aD1uZXcgVVJMKGspfWNhdGNoKHApe2g9CiJodHRwczoiO2JyZWFrIGF9aD1oLnByb3RvY29sfWVsc2UgYjp7aD1rO2s9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtrLmhyZWY9aH1jYXRjaChwKXtoPXZvaWQgMDticmVhayBifWg9ay5wcm90b2NvbDtoPWg9PT0iOiJ8fGg9PT0iIj8iaHR0cHM6IjpofWc9aCE9PXZvaWQgMCYmRW4uaW5kZXhPZihoLnRvTG93ZXJDYXNlKCkpIT09LTE/ZzoiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiO0VsKGMsZixnKX19cmV0dXJuIGN9LGxtPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5xZDthPUJsKGEsYik7YT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGEsNSxmdW5jdGlvbihoKXtpZihoLm5vZGVUeXBlPT09MyloPTE7ZWxzZSBpZihEbChoKSlpZihoPUNsKGgpLGg9PT1udWxsKWg9MjtlbHNle3ZhciBrPWMuZztoPWghPT0iRk9STSImJihrLmouaGFzKGgpfHxrLmcuaGFzKGgpKT8xOjJ9ZWxzZSBoPTI7cmV0dXJuIGh9KTtmb3IodmFyIGQ9YS5uZXh0Tm9kZSgpLGU9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksCmY9ZTtkIT09bnVsbDspe3ZhciBnPXZvaWQgMDtpZihkLm5vZGVUeXBlPT09MylnPWMuY3JlYXRlVGV4dE5vZGUoZC5kYXRhKTtlbHNlIGlmKERsKGQpKWc9SG4oYyxkLGIpO2Vsc2UgdGhyb3cgRXJyb3IoInQiKTtmLmFwcGVuZENoaWxkKGcpO2lmKGQ9YS5maXJzdENoaWxkKCkpZj1nO2Vsc2UgZm9yKDshKGQ9YS5uZXh0U2libGluZygpKSYmKGQ9YS5wYXJlbnROb2RlKCkpOylmPWYucGFyZW50Tm9kZX1yZXR1cm4gZX0sSW49ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYj1iJiZiIT0iKiI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6IiIpP2EucXVlcnlTZWxlY3RvckFsbChiKTphLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIil9LEpuPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8uVmN8fGEuY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP2EuYm9keXx8YS5kb2N1bWVudEVsZW1lbnQ6YS5kb2N1bWVudEVsZW1lbnR9LEtuPWZ1bmN0aW9uKGEpe3ZhciBiPQpKbihhKTthPWEuZGVmYXVsdFZpZXc7cmV0dXJuIG5ldyB6bCgoYT09bnVsbD92b2lkIDA6YS5wYWdlWE9mZnNldCl8fGIuc2Nyb2xsTGVmdCwoYT09bnVsbD92b2lkIDA6YS5wYWdlWU9mZnNldCl8fGIuc2Nyb2xsVG9wKX0sTG49ZnVuY3Rpb24oYSl7dmFyIGI9e307YT0oYS5nJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPj0yP2EuZy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8IiI6IiIpLnNwbGl0KCJcclxuIik7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoIS9eW1xzXHhhMF0qJC8udGVzdChhW2NdKSl7dmFyIGQ9Rm4oYVtjXSksZT1kWzBdO2Q9ZFsxXTtpZih0eXBlb2YgZD09PSJzdHJpbmciKXtkPWQudHJpbSgpO3ZhciBmPWJbZV18fFtdO2JbZV09ZjtmLnB1c2goZCl9fXJldHVybiBBbChiLGZ1bmN0aW9uKGcpe3JldHVybiBnLmpvaW4oIiwgIil9KX0sTW49WzQsNSw2XSxKbT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9TW47Yz1fLkppKGMpO2E6e3ZhciBlPWM7Xy5yaShhKTsKdmFyIGY9YS5KLGc9ZltfLkhdfDA7aWYoZT09bnVsbCl7dmFyIGg9SGwoZik7aWYoSWwoaCxmLGcsZCk9PT1iKWguc2V0KGQsMCk7ZWxzZSBicmVhayBhfWVsc2V7aD1IbChmKTt2YXIgaz1JbChoLGYsZyxkKTtrIT09YiYmKGsmJihnPV8udGkoZixnLGspKSxoLnNldChkLGIpKX1fLnRpKGYsZyxiLGUpfWMmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9LExtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihMbSxfLkopO0xtLnByb3RvdHlwZS5nZXRTZWNvbmRzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaGsodGhpcywxKX07TG0ucHJvdG90eXBlLnNldFNlY29uZHM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR2kodGhpcywxLGE9PW51bGw/YTpfLkpqKGEpLCIwIil9O3ZhciBNbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoTW0sXy5KKTtNbS5wcm90b3R5cGUuZ2V0U2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiBfLmhrKHRoaXMsMSl9OwpNbS5wcm90b3R5cGUuc2V0U2Vjb25kcz1mdW5jdGlvbihhKXtyZXR1cm4gXy5HaSh0aGlzLDEsYT09bnVsbD9hOl8uSmooYSksIjAiKX07dmFyIE5uPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLktrO3JldHVybiBfLmlrKGIsMTEsYSl9LHptPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8uaGwoMTg3MSwiMCIpO2EuQT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20vZWxlbWVudC9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjtyZXR1cm4gYX0seW09ZnVuY3Rpb24oYSl7YS5oPU9uO3JldHVybiBhfSxJbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoSW0sXy5KKTt2YXIgUG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFBuLF8uSik7dmFyIEZtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihGbSxfLkopO3ZhciBRbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoUW4sXy5KKTt2YXIgUm49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Cl8uQihSbixfLkopO3ZhciBTbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoU24sXy5KKTt2YXIgVG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFRuLF8uSik7CnZhciBVbj1mdW5jdGlvbihhKXtfLnJpKGEpO2E9YS5KO3ZhciBiPWFbXy5IXXwwLGM9Xy51aShhLDExMiksZD12b2lkIDA9PT1fLlhoLGU9Xy5oaChjLFRuLCFkLGIpOyFkfHxlPyhlPV8ua2goZSksYyE9PWUmJihiPV8udGkoYSxiLDExMixlKSxfLnNpKGEsYikpLGE9ZSk6YT12b2lkIDA7cmV0dXJuIGF9LFZuPWZ1bmN0aW9uKGEsYil7YS5VIT09dm9pZCAwP2EuVS5wdXNoKGIpOmEuY29udGVudCs9YjtyZXR1cm4gYX0sV249ZnVuY3Rpb24oYSxiKXthLlUhPT12b2lkIDA/YS5VLnB1c2goYik6YiBpbnN0YW5jZW9mIF8ueGw/Yi5jb250ZW50IT09dm9pZCAwP2EuY29udGVudCs9Yi5tYSgpOihhLlU9W2EuY29udGVudCxiXSxhLmNvbnRlbnQ9dm9pZCAwKTphLmNvbnRlbnQrPWI7cmV0dXJuIGF9LFhuPWZ1bmN0aW9uKGEpe3ZhciBiO2E9Xy5DKChiPWEuVSkhPW51bGw/YjpbXSk7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWlmKGI9Yi52YWx1ZSxiIGluc3RhbmNlb2YKXy54bCYmWG4oYikpcmV0dXJuITA7cmV0dXJuITF9LFpuPWZ1bmN0aW9uKGEsYil7Yj1ZbihifHx7fSxhLmg/YS5oLmdldERhdGEoKTp7fSk7YS5nKG51bGwsYi5aYik7cmV0dXJuIGIuaigpfSwkbj17fSxhbz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgemwoYS54LWIueCxhLnktYi55KX0sYm89LyYvZyxjbz0vPC9nLGVvPS8+L2csZm89LyIvZyxnbz0vJy9nLGhvPS9ceDAwL2csaW89L1tceDAwJjw+IiddLyxqbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9ceGEwfFsgXHRdKy9nLCIgIil9LGtvPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1tcc1x4YTBdKyQvLCIiKX0sbG89ZnVuY3Rpb24oYSl7aW8udGVzdChhKSYmKGEuaW5kZXhPZigiJiIpIT0tMSYmKGE9YS5yZXBsYWNlKGJvLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShjbywiJmx0OyIpKSxhLmluZGV4T2YoIj4iKSE9LTEmJihhPWEucmVwbGFjZShlbywiJmd0OyIpKSxhLmluZGV4T2YoJyInKSE9Ci0xJiYoYT1hLnJlcGxhY2UoZm8sIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZShnbywiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2UoaG8sIiYjMDsiKSkpO3JldHVybiBhfSxtbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mKFteO10rKTsvZyxmdW5jdGlvbihiLGMpe3N3aXRjaChjKXtjYXNlICJhbXAiOnJldHVybiImIjtjYXNlICJsdCI6cmV0dXJuIjwiO2Nhc2UgImd0IjpyZXR1cm4iPiI7Y2FzZSAicXVvdCI6cmV0dXJuJyInO2RlZmF1bHQ6cmV0dXJuIGMuY2hhckF0KDApIT0iIyJ8fChjPU51bWJlcigiMCIrYy5zbGljZSgxKSksaXNOYU4oYykpP2I6U3RyaW5nLmZyb21DaGFyQ29kZShjKX19KX0sbm89LyYoW147XHM8Jl0rKTs/L2csb289ZnVuY3Rpb24oYSl7dmFyIGI9eyImYW1wOyI6IiYiLCImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIid9O3ZhciBjPV8udi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKcmV0dXJuIGEucmVwbGFjZShubyxmdW5jdGlvbihkLGUpe3ZhciBmPWJbZF07aWYoZilyZXR1cm4gZjtlLmNoYXJBdCgwKT09IiMiJiYoZT1OdW1iZXIoIjAiK2Uuc2xpY2UoMSkpLGlzTmFOKGUpfHwoZj1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpKSk7Znx8KGY9Xy5tbChkKyIgIiksYy5ub2RlVHlwZT09PTEmJk1sKGMpLGMuaW5uZXJIVE1MPV8ua2ooZiksZj1jLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnNsaWNlKDAsLTEpKTtyZXR1cm4gYltkXT1mfSl9LHBvPWZ1bmN0aW9uKGEpe3JldHVybiBhLmluZGV4T2YoIiYiKSE9LTE/ImRvY3VtZW50ImluIF8udj9vbyhhKTptbyhhKTphfSxybz1mdW5jdGlvbihhKXt2YXIgYj1xbztyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIjcuMCIpP2JbIjcuMCJdOmJbIjcuMCJdPWEoIjcuMCIpfSxxbz17fSxzbz1mdW5jdGlvbigpe3JldHVybiBybyhmdW5jdGlvbigpe3JldHVybiBMbChfLmpkLCI3LjAiKT49MH0pfSwKVGw9L15bYS16XVthLXpcZC1dKiQvaSxXbD0iQVBQTEVUIEJBU0UgRU1CRUQgSUZSQU1FIExJTksgTUFUSCBNRVRBIE9CSkVDVCBTQ1JJUFQgU1RZTEUgU1ZHIFRFTVBMQVRFIi5zcGxpdCgiICIpLFhsPSJBUkVBIEJSIENPTCBDT01NQU5EIEhSIElNRyBJTlBVVCBLRVlHRU4gUEFSQU0gU09VUkNFIFRSQUNLIFdCUiIuc3BsaXQoIiAiKSxVbD1bImFjdGlvbiIsImZvcm1hY3Rpb24iLCJocmVmIl0sdG89ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IE1hcH07CnRvLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPVBsKCJfc2FmZXZhbHVlc19mb3JtYXRfbWFya2VyXzoiKS50b1N0cmluZygpO2E9UGwoYSkudG9TdHJpbmcoKS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxceyIrYysiW1xcdyYjO10rXFx9IiwiZyIpLGZ1bmN0aW9uKGQpe3ZhciBlO2lmKGU9Yi5nLmdldChkKSl7ZD0iIjtzd2l0Y2goZS50eXBlKXtjYXNlICJodG1sIjpkPWUueGY7YnJlYWs7Y2FzZSAic3RhcnRUYWciOmQ9IjwiK2UudGFnTmFtZStlLmF0dHJpYnV0ZXMrIj4iO2JyZWFrO2Nhc2UgImVuZFRhZyI6ZD0iPC8iK2UudGFnTmFtZSsiPiJ9ZT1kfWVsc2UgZT1kO3JldHVybiBlfSk7cmV0dXJuIF8ubWwoYSl9O3RvLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKGEpe3JldHVybiB1byh0aGlzLHt0eXBlOiJodG1sIix4ZjpQbChhKS50b1N0cmluZygpfSl9Owp2YXIgdW89ZnVuY3Rpb24oYSxiKXt2YXIgYz0ie19zYWZldmFsdWVzX2Zvcm1hdF9tYXJrZXJfOiIrYS5nLnNpemUrIl8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpKyJ9IjthLmcuc2V0KFBsKGMpLnRvU3RyaW5nKCksYik7cmV0dXJuIGN9LGduPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKGRvY3VtZW50LGEpfSx2bz1mdW5jdGlvbihhKXt2YXIgYj1hfHxkb2N1bWVudDtiLmdldEVsZW1lbnRzQnlDbGFzc05hbWU/YT1iLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIilbMF06KGI9ZG9jdW1lbnQsYT0oYXx8YikucXVlcnlTZWxlY3RvcigiLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIikpO3JldHVybiBhfHxudWxsfSx3bz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ueWQoZG9jdW1lbnQsYXJndW1lbnRzKX0seG89ZnVuY3Rpb24oYSxiKXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwKYi5uZXh0U2libGluZyl9LHlvPWZ1bmN0aW9uKGEpe3JldHVybiBfLnlhKGEpJiZhLm5vZGVUeXBlPT0xfSx6bz1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVudFdpbmRvdy5kb2N1bWVudH0sQW89ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmNvbnRlbnRXaW5kb3d8fChhLmNvbnRlbnREb2N1bWVudD9fLm1iKGEuY29udGVudERvY3VtZW50KTpudWxsKX1jYXRjaChiKXt9cmV0dXJuIG51bGx9LEJvPXtTQ1JJUFQ6MSxTVFlMRToxLEhFQUQ6MSxJRlJBTUU6MSxPQkpFQ1Q6MX0sQ289e0lNRzoiICIsQlI6IlxuIn0sRG89ZnVuY3Rpb24oYSxiLGMpe2lmKCEoYS5ub2RlTmFtZSBpbiBCbykpaWYoYS5ub2RlVHlwZT09MyljP2IucHVzaChTdHJpbmcoYS5ub2RlVmFsdWUpLnJlcGxhY2UoLyhcclxufFxyfFxuKS9nLCIiKSk6Yi5wdXNoKGEubm9kZVZhbHVlKTtlbHNlIGlmKGEubm9kZU5hbWUgaW4gQ28pYi5wdXNoKENvW2Eubm9kZU5hbWVdKTtlbHNlIGZvcihhPQphLmZpcnN0Q2hpbGQ7YTspRG8oYSxiLGMpLGE9YS5uZXh0U2libGluZ30sRW89ZnVuY3Rpb24oYSl7dmFyIGI9W107RG8oYSxiLCEwKTthPWIuam9pbigiIik7YT1hLnJlcGxhY2UoLyBceEFEIC9nLCIgIikucmVwbGFjZSgvXHhBRC9nLCIiKTthPWEucmVwbGFjZSgvXHUyMDBCL2csIiIpO2E9YS5yZXBsYWNlKC8gKy9nLCIgIik7YSE9IiAiJiYoYT1hLnJlcGxhY2UoL15ccyovLCIiKSk7cmV0dXJuIGF9LEZvPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnByb21pc2U9YTt0aGlzLnJlc29sdmU9Yjt0aGlzLnJlamVjdD1jfSxHbz1mdW5jdGlvbigpe3ZhciBhLGIsYz1uZXcgXy5vZShmdW5jdGlvbihkLGUpe2E9ZDtiPWV9KTtyZXR1cm4gbmV3IEZvKGMsYSxiKX0sSG89ZnVuY3Rpb24oYSl7aWYoYS5pYiYmdHlwZW9mIGEuaWI9PSJmdW5jdGlvbiIpcmV0dXJuIGEuaWIoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmCmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20oYS52YWx1ZXMoKSk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gYS5zcGxpdCgiIik7aWYoXy5xYShhKSl7Zm9yKHZhciBiPVtdLGM9YS5sZW5ndGgsZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifWI9W107Yz0wO2ZvcihkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9LElvPWZ1bmN0aW9uKGEpe2lmKGEuT2MmJnR5cGVvZiBhLk9jPT0iZnVuY3Rpb24iKXJldHVybiBhLk9jKCk7aWYoIWEuaWJ8fHR5cGVvZiBhLmliIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy5xYShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7dmFyIGI9W107YT1hLmxlbmd0aDtmb3IodmFyIGM9MDtjPGE7YysrKWIucHVzaChjKTsKcmV0dXJuIGJ9Yj1bXTtjPTA7Zm9yKHZhciBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9fX0sSm89ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZm9yRWFjaCYmdHlwZW9mIGEuZm9yRWFjaD09ImZ1bmN0aW9uIilhLmZvckVhY2goYixjKTtlbHNlIGlmKF8ucWEoYSl8fHR5cGVvZiBhPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsYyk7ZWxzZSBmb3IodmFyIGQ9SW8oYSksZT1IbyhhKSxmPWUubGVuZ3RoLGc9MDtnPGY7ZysrKWIuY2FsbChjLGVbZ10sZCYmZFtnXSxhKX0sZ209ZnVuY3Rpb24oYSxiKXt0aGlzLmg9dGhpcy5nPW51bGw7dGhpcy5qPWF8fG51bGw7dGhpcy5sPSEhYn0sS289ZnVuY3Rpb24oYSl7YS5nfHwoYS5nPW5ldyBNYXAsYS5oPTAsYS5qJiZfLkViKGEuaixmdW5jdGlvbihiLGMpe2EuYWRkKF8uRGIoYiksYyl9KSl9OwpnbS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7S28odGhpcyk7dGhpcy5qPW51bGw7YT1Mbyh0aGlzLGEpO3ZhciBjPXRoaXMuZy5nZXQoYSk7Y3x8dGhpcy5nLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLmgrPTE7cmV0dXJuIHRoaXN9O2dtLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSl7S28odGhpcyk7YT1Mbyh0aGlzLGEpO3JldHVybiB0aGlzLmcuaGFzKGEpPyh0aGlzLmo9bnVsbCx0aGlzLmgtPXRoaXMuZy5nZXQoYSkubGVuZ3RoLHRoaXMuZy5kZWxldGUoYSkpOiExfTtnbS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmc9dGhpcy5qPW51bGw7dGhpcy5oPTB9O3ZhciBNbz1mdW5jdGlvbihhLGIpe0tvKGEpO2I9TG8oYSxiKTtyZXR1cm4gYS5nLmhhcyhiKX07Xy5tPWdtLnByb3RvdHlwZTsKXy5tLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmcuZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Xy5tLk9jPWZ1bmN0aW9uKCl7S28odGhpcyk7Zm9yKHZhciBhPUFycmF5LmZyb20odGhpcy5nLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5nLmtleXMoKSksYz1bXSxkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWFbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWMucHVzaChiW2RdKTtyZXR1cm4gY307Xy5tLmliPWZ1bmN0aW9uKGEpe0tvKHRoaXMpO3ZhciBiPVtdO2lmKHR5cGVvZiBhPT09InN0cmluZyIpTW8odGhpcyxhKSYmKGI9Yi5jb25jYXQodGhpcy5nLmdldChMbyh0aGlzLGEpKSkpO2Vsc2V7YT1BcnJheS5mcm9tKHRoaXMuZy52YWx1ZXMoKSk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYj1iLmNvbmNhdChhW2NdKX1yZXR1cm4gYn07Cl8ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmo9bnVsbDthPUxvKHRoaXMsYSk7TW8odGhpcyxhKSYmKHRoaXMuaC09dGhpcy5nLmdldChhKS5sZW5ndGgpO3RoaXMuZy5zZXQoYSxbYl0pO3RoaXMuaCs9MTtyZXR1cm4gdGhpc307Xy5tLmdldD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2E9dGhpcy5pYihhKTtyZXR1cm4gYS5sZW5ndGg+MD9TdHJpbmcoYVswXSk6Yn07dmFyIE5vPWZ1bmN0aW9uKGEsYixjKXthLnJlbW92ZShiKTtjLmxlbmd0aD4wJiYoYS5qPW51bGwsYS5nLnNldChMbyhhLGIpLF8ud2EoYykpLGEuaCs9Yy5sZW5ndGgpfTsKZ20ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5qKXJldHVybiB0aGlzLmo7aWYoIXRoaXMuZylyZXR1cm4iIjtmb3IodmFyIGE9W10sYj1BcnJheS5mcm9tKHRoaXMuZy5rZXlzKCkpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPV8uR2IoZCk7ZD10aGlzLmliKGQpO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1lO2RbZl0hPT0iIiYmKGcrPSI9IitfLkdiKGRbZl0pKTthLnB1c2goZyl9fXJldHVybiB0aGlzLmo9YS5qb2luKCImIil9Owp2YXIgZW09ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IGdtO2Iuaj1hLmo7YS5nJiYoYi5nPW5ldyBNYXAoYS5nKSxiLmg9YS5oKTtyZXR1cm4gYn0sTG89ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmwmJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGJ9LE9vPWZ1bmN0aW9uKGEsYil7YiYmIWEubCYmKEtvKGEpLGEuaj1udWxsLGEuZy5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSxObyh0aGlzLGUsYykpfSxhKSk7YS5sPWJ9O2dtLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylKbyhhcmd1bWVudHNbYl0sZnVuY3Rpb24oYyxkKXt0aGlzLmFkZChkLGMpfSx0aGlzKX07CnZhciBQbz0vWyNcL1w/QF0vZyxRbz0vWyNcP10vZyxSbz0vWyNcPzpdL2csU289LyMvZyxmbT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn0sVG89L1sjXD9AXS9nLFVvPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9LFZvPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj8oYT1lbmNvZGVVUkkoYSkucmVwbGFjZShiLFVvKSxjJiYoYT1hLnJlcGxhY2UoLyUyNShbMC05YS1mQS1GXXsyfSkvZywiJSQxIikpLGEpOm51bGx9OwpabC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMubDtiJiZhLnB1c2goVm8oYixQbywhMCksIjoiKTt2YXIgYz10aGlzLmg7aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkIpJiZhLnB1c2goVm8oYixQbywhMCksIkAiKSxhLnB1c2goXy5HYihjKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxjPXRoaXMuQyxjIT1udWxsJiZhLnB1c2goIjoiLFN0cmluZyhjKSk7aWYoYz10aGlzLmopdGhpcy5oJiZjLmNoYXJBdCgwKSE9Ii8iJiZhLnB1c2goIi8iKSxhLnB1c2goVm8oYyxjLmNoYXJBdCgwKT09Ii8iP1FvOlJvLCEwKSk7KGM9dGhpcy5nLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMuQSkmJmEucHVzaCgiIyIsVm8oYyxTbykpO3JldHVybiBhLmpvaW4oIiIpfTsKWmwucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFpsKHRoaXMpLGM9ISFhLmw7Yz8kbChiLGEubCk6Yz0hIWEuQjtjP2IuQj1hLkI6Yz0hIWEuaDtjP2FtKGIsYS5oKTpjPWEuQyE9bnVsbDt2YXIgZD1hLmo7aWYoYylibShiLGEuQyk7ZWxzZSBpZihjPSEhYS5qKXtpZihkLmNoYXJBdCgwKSE9Ii8iKWlmKHRoaXMuaCYmIXRoaXMuailkPSIvIitkO2Vsc2V7dmFyIGU9Yi5qLmxhc3RJbmRleE9mKCIvIik7ZSE9LTEmJihkPWIuai5zbGljZSgwLGUrMSkrZCl9ZT1kO2lmKGU9PSIuLiJ8fGU9PSIuIilkPSIiO2Vsc2UgaWYoZS5pbmRleE9mKCIuLyIpIT0tMXx8ZS5pbmRleE9mKCIvLiIpIT0tMSl7ZD1lLmxhc3RJbmRleE9mKCIvIiwwKT09MDtlPWUuc3BsaXQoIi8iKTtmb3IodmFyIGY9W10sZz0wO2c8ZS5sZW5ndGg7KXt2YXIgaD1lW2crK107aD09Ii4iP2QmJmc9PWUubGVuZ3RoJiZmLnB1c2goIiIpOmg9PSIuLiI/KChmLmxlbmd0aD4xfHxmLmxlbmd0aD09CjEmJmZbMF0hPSIiKSYmZi5wb3AoKSxkJiZnPT1lLmxlbmd0aCYmZi5wdXNoKCIiKSk6KGYucHVzaChoKSxkPSEwKX1kPWYuam9pbigiLyIpfWVsc2UgZD1lfWM/Y20oYixkKTpjPWEuZy50b1N0cmluZygpIT09IiI7Yz9kbShiLGVtKGEuZykpOmM9ISFhLkE7YyYmKGIuQT1hLkEpO3JldHVybiBifTsKdmFyICRsPWZ1bmN0aW9uKGEsYixjKXthLmw9Yz9mbShiLCEwKTpiO2EubCYmKGEubD1hLmwucmVwbGFjZSgvOiQvLCIiKSk7cmV0dXJuIGF9LGFtPWZ1bmN0aW9uKGEsYixjKXthLmg9Yz9mbShiLCEwKTpiO3JldHVybiBhfSxibT1mdW5jdGlvbihhLGIpe2lmKGIpe2I9TnVtYmVyKGIpO2lmKGlzTmFOKGIpfHxiPDApdGhyb3cgRXJyb3IoIkhgIitiKTthLkM9Yn1lbHNlIGEuQz1udWxsfSxjbT1mdW5jdGlvbihhLGIsYyl7YS5qPWM/Zm0oYiwhMCk6YjtyZXR1cm4gYX0sZG09ZnVuY3Rpb24oYSxiLGMpe2IgaW5zdGFuY2VvZiBnbT8oYS5nPWIsT28oYS5nLGEubykpOihjfHwoYj1WbyhiLFRvKSksYS5nPW5ldyBnbShiLGEubykpfSxXbz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFpsP25ldyBabChhKTpuZXcgWmwoYSl9LFhvPWZ1bmN0aW9uKGEpe3ZhciBiPUlvKGEpO2lmKHR5cGVvZiBiPT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiSiIpO3ZhciBjPW5ldyBnbShudWxsKTsKYT1IbyhhKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXSxmPWFbZF07QXJyYXkuaXNBcnJheShmKT9ObyhjLGUsZik6Yy5hZGQoZSxmKX1yZXR1cm4gY30sWW89e30sWm89e30sJG89e30sYXA9e30sam09e30scW09e30scG0sVW09e30sYnA9ZnVuY3Rpb24oYSxiLGMpe2E9YS5KO3JldHVybiBfLkhpKGEsYVtfLkhdfDAsYixjKXx8YltfLmZoXXx8KGJbXy5maF09Xy5naChiKSl9LHNuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5HaShhLGIsXy5MaihjKSwiIil9O18ubT12bS5wcm90b3R5cGU7Xy5tLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzJiZhP2EgaW5zdGFuY2VvZiB2bT9hLmxlZnQ+PXRoaXMubGVmdCYmYS5yaWdodDw9dGhpcy5yaWdodCYmYS50b3A+PXRoaXMudG9wJiZhLmJvdHRvbTw9dGhpcy5ib3R0b206YS54Pj10aGlzLmxlZnQmJmEueDw9dGhpcy5yaWdodCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLmJvdHRvbTohMX07Cl8ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLnJpZ2h0PU1hdGguY2VpbCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLmNlaWwodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmNlaWwodGhpcy5sZWZ0KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy5yaWdodD1NYXRoLmZsb29yKHRoaXMucmlnaHQpO3RoaXMuYm90dG9tPU1hdGguZmxvb3IodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7cmV0dXJuIHRoaXN9O18ubS5yb3VuZD1mdW5jdGlvbigpe3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMucmlnaHQ9TWF0aC5yb3VuZCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLnJvdW5kKHRoaXMuYm90dG9tKTt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3JldHVybiB0aGlzfTsKXy5tLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiB6bD8odGhpcy5sZWZ0Kz1hLngsdGhpcy5yaWdodCs9YS54LHRoaXMudG9wKz1hLnksdGhpcy5ib3R0b20rPWEueSk6KHRoaXMubGVmdCs9YSx0aGlzLnJpZ2h0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9Yix0aGlzLmJvdHRvbSs9YikpO3JldHVybiB0aGlzfTtfLm09d20ucHJvdG90eXBlO18ubS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsP2EueD49dGhpcy5sZWZ0JiZhLng8PXRoaXMubGVmdCt0aGlzLndpZHRoJiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMudG9wK3RoaXMuaGVpZ2h0OnRoaXMubGVmdDw9YS5sZWZ0JiZ0aGlzLmxlZnQrdGhpcy53aWR0aD49YS5sZWZ0K2Eud2lkdGgmJnRoaXMudG9wPD1hLnRvcCYmdGhpcy50b3ArdGhpcy5oZWlnaHQ+PWEudG9wK2EuaGVpZ2h0fTsKXy5tLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLm0uZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5mbG9vcih0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguZmxvb3IodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5tLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGgucm91bmQodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLnJvdW5kKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKdmFyIGNwPWZ1bmN0aW9uKGEsYil7YTp7dmFyIGM9Xy5zZChhKTtpZihjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjPWMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKSl7Yz1jW2JdfHxjLmdldFByb3BlcnR5VmFsdWUoYil8fCIiO2JyZWFrIGF9Yz0iIn1yZXR1cm4gY3x8KGEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlW2JdOm51bGwpfHxhLnN0eWxlJiZhLnN0eWxlW2JdfSxkcD1mdW5jdGlvbihhKXt0eXBlb2YgYT09Im51bWJlciImJihhKz0icHgiKTtyZXR1cm4gYX0sZXA9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2Ygemwpe3ZhciBjPWIueDtiPWIueX1lbHNlIGM9YixiPXZvaWQgMDthLnN0eWxlLmxlZnQ9ZHAoYyk7YS5zdHlsZS50b3A9ZHAoYil9LGZwPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaChiKXtyZXR1cm57bGVmdDowLHRvcDowLHJpZ2h0OjAsCmJvdHRvbTowfX19LGdwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1jcChhLCJwb3NpdGlvbiIpLGQ9Yz09ImZpeGVkInx8Yz09ImFic29sdXRlIjtmb3IoYT1hLnBhcmVudE5vZGU7YSYmYSE9YjthPWEucGFyZW50Tm9kZSlpZihhLm5vZGVUeXBlPT0xMSYmYS5ob3N0JiYoYT1hLmhvc3QpLGM9Y3AoYSwicG9zaXRpb24iKSxkPWQmJmM9PSJzdGF0aWMiJiZhIT1iLmRvY3VtZW50RWxlbWVudCYmYSE9Yi5ib2R5LCFkJiYoYS5zY3JvbGxXaWR0aD5hLmNsaWVudFdpZHRofHxhLnNjcm9sbEhlaWdodD5hLmNsaWVudEhlaWdodHx8Yz09ImZpeGVkInx8Yz09ImFic29sdXRlInx8Yz09InJlbGF0aXZlIikpcmV0dXJuIGE7cmV0dXJuIG51bGx9LGhwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1uZXcgemwoMCwwKTtpZihhPT0oYj9fLnNkKGIpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpcmV0dXJuIGM7YT1mcChhKTtiPV8ubGIoYik7Yj1LbihiLmcpO2MueD1hLmxlZnQrYi54OwpjLnk9YS50b3ArYi55O3JldHVybiBjfSxpcD1mdW5jdGlvbihhKXtmb3IodmFyIGI9bmV3IHZtKDAsSW5maW5pdHksSW5maW5pdHksMCksYz1fLmxiKGEpLGQ9Yy5nLmJvZHksZT1jLmcuZG9jdW1lbnRFbGVtZW50LGY9Sm4oYy5nKTthPWdwKGEpOylpZigoIV8uVmN8fGEuY2xpZW50SGVpZ2h0IT0wfHxhIT1kKSYmYSE9ZCYmYSE9ZSYmY3AoYSwib3ZlcmZsb3ciKSE9InZpc2libGUiKXt2YXIgZz1ocChhKSxoPW5ldyB6bChhLmNsaWVudExlZnQsYS5jbGllbnRUb3ApO2cueCs9aC54O2cueSs9aC55O2IudG9wPU1hdGgubWF4KGIudG9wLGcueSk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGcueCthLmNsaWVudFdpZHRoKTtiLmJvdHRvbT1NYXRoLm1pbihiLmJvdHRvbSxnLnkrYS5jbGllbnRIZWlnaHQpO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZy54KX1kPWYuc2Nyb2xsTGVmdDtmPWYuc2Nyb2xsVG9wO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZCk7Yi50b3A9TWF0aC5tYXgoYi50b3AsCmYpO2M9Xy5pYihjLmcuZGVmYXVsdFZpZXd8fHdpbmRvdyk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGQrYy53aWR0aCk7Yi5ib3R0b209TWF0aC5taW4oYi5ib3R0b20sZitjLmhlaWdodCk7cmV0dXJuIGIudG9wPj0wJiZiLmxlZnQ+PTAmJmIuYm90dG9tPmIudG9wJiZiLnJpZ2h0PmIubGVmdD9iOm51bGx9LGpwPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IHpsKDAsMCksZD1fLm1iKF8uc2QoYSkpO2E6e3RyeXtfLlFjKGQucGFyZW50KTt2YXIgZT0hMDticmVhayBhfWNhdGNoKGYpe31lPSExfWlmKCFlKXJldHVybiBjO2RvIGQ9PWI/ZT1ocChhKTooZT1mcChhKSxlPW5ldyB6bChlLmxlZnQsZS50b3ApKSxjLngrPWUueCxjLnkrPWUueTt3aGlsZShkJiZkIT1iJiZkIT1kLnBhcmVudCYmKGE9ZC5mcmFtZUVsZW1lbnQpJiYoZD1kLnBhcmVudCkpO3JldHVybiBjfSxscD1mdW5jdGlvbihhKXt2YXIgYj1rcDtpZihjcChhLCJkaXNwbGF5IikhPSJub25lIilyZXR1cm4gYihhKTt2YXIgYz0KYS5zdHlsZSxkPWMuZGlzcGxheSxlPWMudmlzaWJpbGl0eSxmPWMucG9zaXRpb247Yy52aXNpYmlsaXR5PSJoaWRkZW4iO2MucG9zaXRpb249ImFic29sdXRlIjtjLmRpc3BsYXk9ImlubGluZSI7YT1iKGEpO2MuZGlzcGxheT1kO2MucG9zaXRpb249ZjtjLnZpc2liaWxpdHk9ZTtyZXR1cm4gYX0sa3A9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVpZ2h0LGQ9Xy5WYyYmIWImJiFjO3JldHVybihiPT09dm9pZCAwfHxkKSYmYS5nZXRCb3VuZGluZ0NsaWVudFJlY3Q/KGE9ZnAoYSksbmV3IF8uQ2EoYS5yaWdodC1hLmxlZnQsYS5ib3R0b20tYS50b3ApKTpuZXcgXy5DYShiLGMpfSxtcD1mdW5jdGlvbihhLGIpe2Euc3R5bGUuZGlzcGxheT1iPyIiOiJub25lIn0sbnA9ZnVuY3Rpb24oYSxiKXtiPV8ubGIoYik7dmFyIGM9SW4oYi5nLCJIRUFEIilbMF07aWYoIWMpe3ZhciBkPUluKGIuZywiQk9EWSIpWzBdO2M9Yi5TKCJIRUFEIik7ZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLApkKX1kPWIuUygiU1RZTEUiKTt2YXIgZT1fLk9hKCJzdHlsZSIsZG9jdW1lbnQpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7YT1ObChhKTtfLnYudHJ1c3RlZFR5cGVzP18uQ2QoZCxhKTpkLmlubmVySFRNTD1hO2IuYXBwZW5kQ2hpbGQoYyxkKX0sb3A9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkNhKGEub2Zmc2V0V2lkdGgsYS5vZmZzZXRIZWlnaHQpfSxwcD1mdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO18uVWM/YS5Nb3pCb3hTaXppbmc9YzpfLlZjP2EuV2Via2l0Qm94U2l6aW5nPWM6YS5ib3hTaXppbmc9YzthLndpZHRoPU1hdGgubWF4KGIud2lkdGgsMCkrInB4IjthLmhlaWdodD1NYXRoLm1heChiLmhlaWdodCwwKSsicHgifSxxcD1mdW5jdGlvbihhLGIpe3BwKGEsYiwiY29udGVudC1ib3giKX0scnA9ZnVuY3Rpb24oYSl7aWYoYSE9bnVsbClzd2l0Y2goYS5KZCl7Y2FzZSAxOnJldHVybiAxO2Nhc2UgLTE6cmV0dXJuLTE7Y2FzZSAwOnJldHVybiAwfXJldHVybiBudWxsfSwKc3A9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLnhsP1huKGEpPyEwOiEhYS5tYSgpOmEgaW5zdGFuY2VvZiBfLnpmPyEhYS5tYSgpOiEhYX0sdHA9LzwvZyx1cD1mdW5jdGlvbihhLGIpe2E9YS5yZXBsYWNlKC88XC8vZywiPFxcLyIpLnJlcGxhY2UoL1xdXF0+L2csIl1dXFw+Iik7cmV0dXJuIGI/YS5yZXBsYWNlKC97L2csIiBcXHsiKS5yZXBsYWNlKC99L2csIiBcXH0iKS5yZXBsYWNlKC9cL1wqL2csIi8gKiIpLnJlcGxhY2UoL1xcJC8sIlxcICIpOmF9LHZwPWZ1bmN0aW9uKGEpe2E9U3RyaW5nKGEpO2Zvcih2YXIgYj1mdW5jdGlvbihkLGUsZil7Zm9yKHZhciBnPU1hdGgubWluKGUubGVuZ3RoLWYsZC5sZW5ndGgpLGg9MDtoPGc7aCsrKXt2YXIgaz1lW2YraF07aWYoZFtoXSE9PSgiQSI8PWsmJms8PSJaIj9rLnRvTG93ZXJDYXNlKCk6aykpcmV0dXJuITF9cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoIjwiLGMpKSE9LTE7KXtpZihiKCJceDNjL3NjcmlwdCIsCmEsYyl8fGIoIlx4M2MhLS0iLGEsYykpcmV0dXJuInpTb3l6IjtjKz0xfXJldHVybiBhfSx3cD1mdW5jdGlvbihhLGIpe3JldHVybiBhIT1udWxsJiZhLlpiPT09Yn0seHA9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsJG8pP2EubWEoKTphIGluc3RhbmNlb2YgXy5MYT9fLk5hKGEpLnRvU3RyaW5nKCk6ImFib3V0OmludmFsaWQjelNveXoifSx6cD1mdW5jdGlvbigpe3ZhciBhO3dwKCIiLGFwKT9hPSIiLm1hKCk6YT15cC50ZXN0KCIiKT8iIjoielNveXoiO3dwKGEsYXApJiYoYT1hLm1hKCkpO3JldHVybihhJiYhYS5zdGFydHNXaXRoKCIgIik/IiAiOiIiKSthfSxBcD1mdW5jdGlvbihhKXtyZXR1cm4gd3AoYSxfLm9sKT91cChhLm1hKCksITEpOmE9PW51bGw/IiI6YSBpbnN0YW5jZW9mIF8ucGw/dXAoTmwoYSksITEpOnVwKFN0cmluZyhhKSwhMCl9LEJwPXsiXHgwMCI6IiYjMDsiLCJcdCI6IiYjOTsiLCJcbiI6IiYjMTA7IiwiXHYiOiImIzExOyIsIlxmIjoiJiMxMjsiLCJcciI6IiYjMTM7IiwKIiAiOiImIzMyOyIsJyInOiImcXVvdDsiLCImIjoiJmFtcDsiLCInIjoiJiMzOTsiLCItIjoiJiM0NTsiLCIvIjoiJiM0NzsiLCI8IjoiJmx0OyIsIj0iOiImIzYxOyIsIj4iOiImZ3Q7IiwiYCI6IiYjOTY7IiwiXHUwMDg1IjoiJiMxMzM7IiwiXHUwMGEwIjoiJiMxNjA7IiwiXHUyMDI4IjoiJiM4MjMyOyIsIlx1MjAyOSI6IiYjODIzMzsifSxDcD1mdW5jdGlvbihhKXtyZXR1cm4gQnBbYV19LERwPXsiXHgwMCI6IlxceDAwIiwiXGIiOiJcXHgwOCIsIlx0IjoiXFx0IiwiXG4iOiJcXG4iLCJcdiI6IlxceDBiIiwiXGYiOiJcXGYiLCJcciI6IlxcciIsJyInOiJcXHgyMiIsJDoiXFx4MjQiLCImIjoiXFx4MjYiLCInIjoiXFx4MjciLCIoIjoiXFx4MjgiLCIpIjoiXFx4MjkiLCIqIjoiXFx4MmEiLCIrIjoiXFx4MmIiLCIsIjoiXFx4MmMiLCItIjoiXFx4MmQiLCIuIjoiXFx4MmUiLCIvIjoiXFwvIiwiOiI6IlxceDNhIiwiPCI6IlxceDNjIiwiPSI6IlxceDNkIiwiPiI6IlxceDNlIiwiPyI6IlxceDNmIiwKIlsiOiJcXHg1YiIsIlxcIjoiXFxcXCIsIl0iOiJcXHg1ZCIsIl4iOiJcXHg1ZSIsInsiOiJcXHg3YiIsInwiOiJcXHg3YyIsIn0iOiJcXHg3ZCIsIlx1MDA4NSI6IlxceDg1IiwiXHUyMDI4IjoiXFx1MjAyOCIsIlx1MjAyOSI6IlxcdTIwMjkifSxFcD1mdW5jdGlvbihhKXtyZXR1cm4gRHBbYV19LEZwPXsiXHgwMCI6IlxcMCAiLCJcYiI6IlxcOCAiLCJcdCI6IlxcOSAiLCJcbiI6IlxcYSAiLCJcdiI6IlxcYiAiLCJcZiI6IlxcYyAiLCJcciI6IlxcZCAiLCciJzoiXFwyMiAiLCImIjoiXFwyNiAiLCInIjoiXFwyNyAiLCIoIjoiXFwyOCAiLCIpIjoiXFwyOSAiLCIqIjoiXFwyYSAiLCIvIjoiXFwyZiAiLCI6IjoiXFwzYSAiLCI7IjoiXFwzYiAiLCI8IjoiXFwzYyAiLCI9IjoiXFwzZCAiLCI+IjoiXFwzZSAiLCJAIjoiXFw0MCAiLCJcXCI6IlxcNWMgIiwieyI6IlxcN2IgIiwifSI6IlxcN2QgIiwiXHUwMDg1IjoiXFw4NSAiLCJcdTAwYTAiOiJcXGEwICIsIlx1MjAyOCI6IlxcMjAyOCAiLAoiXHUyMDI5IjoiXFwyMDI5ICJ9LEdwPWZ1bmN0aW9uKGEpe3JldHVybiBGcFthXX0sSHA9eyJceDAwIjoiJTAwIiwiXHUwMDAxIjoiJTAxIiwiXHUwMDAyIjoiJTAyIiwiXHUwMDAzIjoiJTAzIiwiXHUwMDA0IjoiJTA0IiwiXHUwMDA1IjoiJTA1IiwiXHUwMDA2IjoiJTA2IiwiXHUwMDA3IjoiJTA3IiwiXGIiOiIlMDgiLCJcdCI6IiUwOSIsIlxuIjoiJTBBIiwiXHYiOiIlMEIiLCJcZiI6IiUwQyIsIlxyIjoiJTBEIiwiXHUwMDBlIjoiJTBFIiwiXHUwMDBmIjoiJTBGIiwiXHUwMDEwIjoiJTEwIiwiXHUwMDExIjoiJTExIiwiXHUwMDEyIjoiJTEyIiwiXHUwMDEzIjoiJTEzIiwiXHUwMDE0IjoiJTE0IiwiXHUwMDE1IjoiJTE1IiwiXHUwMDE2IjoiJTE2IiwiXHUwMDE3IjoiJTE3IiwiXHUwMDE4IjoiJTE4IiwiXHUwMDE5IjoiJTE5IiwiXHUwMDFhIjoiJTFBIiwiXHUwMDFiIjoiJTFCIiwiXHUwMDFjIjoiJTFDIiwiXHUwMDFkIjoiJTFEIiwiXHUwMDFlIjoiJTFFIiwiXHUwMDFmIjoiJTFGIiwKIiAiOiIlMjAiLCciJzoiJTIyIiwiJyI6IiUyNyIsIigiOiIlMjgiLCIpIjoiJTI5IiwiPCI6IiUzQyIsIj4iOiIlM0UiLCJcXCI6IiU1QyIsInsiOiIlN0IiLCJ9IjoiJTdEIiwiXHUwMDdmIjoiJTdGIiwiXHUwMDg1IjoiJUMyJTg1IiwiXHUwMGEwIjoiJUMyJUEwIiwiXHUyMDI4IjoiJUUyJTgwJUE4IiwiXHUyMDI5IjoiJUUyJTgwJUE5IiwiXHVmZjAxIjoiJUVGJUJDJTgxIiwiXHVmZjAzIjoiJUVGJUJDJTgzIiwiXHVmZjA0IjoiJUVGJUJDJTg0IiwiXHVmZjA2IjoiJUVGJUJDJTg2IiwiXHVmZjA3IjoiJUVGJUJDJTg3IiwiXHVmZjA4IjoiJUVGJUJDJTg4IiwiXHVmZjA5IjoiJUVGJUJDJTg5IiwiXHVmZjBhIjoiJUVGJUJDJThBIiwiXHVmZjBiIjoiJUVGJUJDJThCIiwiXHVmZjBjIjoiJUVGJUJDJThDIiwiXHVmZjBmIjoiJUVGJUJDJThGIiwiXHVmZjFhIjoiJUVGJUJDJTlBIiwiXHVmZjFiIjoiJUVGJUJDJTlCIiwiXHVmZjFkIjoiJUVGJUJDJTlEIiwiXHVmZjFmIjoiJUVGJUJDJTlGIiwKIlx1ZmYyMCI6IiVFRiVCQyVBMCIsIlx1ZmYzYiI6IiVFRiVCQyVCQiIsIlx1ZmYzZCI6IiVFRiVCQyVCRCJ9LElwPWZ1bmN0aW9uKGEpe3JldHVybiBIcFthXX0sSnA9L1tceDAwXHgyMlx4MjZceDI3XHgzY1x4M2VdL2csS3A9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsXy5xbCk/YTphIGluc3RhbmNlb2YgXy5EYz8oMCxfLnRsKShfLmtqKGEpLnRvU3RyaW5nKCkpOigwLF8udGwpKFN0cmluZyhTdHJpbmcoYSkpLnJlcGxhY2UoSnAsQ3ApLHJwKGEpKX0sTHA9L1tceDAwXHgyMlx4MjdceDNjXHgzZV0vZyxNcD1mdW5jdGlvbihhKXtyZXR1cm4geG0oU3RyaW5nKGEpLGZ1bmN0aW9uKCl7cmV0dXJuIiJ9KS5yZXBsYWNlKHRwLCImbHQ7Iil9LFA9ZnVuY3Rpb24oYSl7d3AoYSxfLnFsKT8oYT1NcChhLm1hKCkpLGE9U3RyaW5nKGEpLnJlcGxhY2UoTHAsQ3ApKTphPVN0cmluZyhhKS5yZXBsYWNlKEpwLENwKTtyZXR1cm4gYX0sTnA9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI2XHgyN1x4MmRcL1x4M2MtXHgzZWBceDg1XHhhMFx1MjAyOFx1MjAyOV0vZywKT3A9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI3XHgyZFwvXHgzYy1ceDNlYFx4ODVceGEwXHUyMDI4XHUyMDI5XS9nLFBwPS9bXHgwMFx4MDgtXHgwZFx4MjJceDI2XHgyN1wvXHgzYy1ceDNlXHg1Yi1ceDVkXHg3Ylx4N2RceDg1XHUyMDI4XHUyMDI5XS9nLFFwPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIiBudWxsICI7aWYod3AoYSxZbykpcmV0dXJuIGEubWEoKTtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gXy5SYShhKS50b1N0cmluZygpO3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpyZXR1cm4iICIrYSsiICI7ZGVmYXVsdDpyZXR1cm4iJyIrU3RyaW5nKFN0cmluZyhhKSkucmVwbGFjZShQcCxFcCkrIicifX0sUnA9L1tceDAwXHgwOC1ceDBkXHgyMlx4MjYtXHgyYVwvXHgzYS1ceDNlQFxcXHg3Ylx4N2RceDg1XHhhMFx1MjAyOFx1MjAyOV0vZyxTcD0vW1x4MDAtIFx4MjJceDI3LVx4MjlceDNjXHgzZVxcXHg3Ylx4N2RceDdmXHg4NVx4YTBcdTIwMjhcdTIwMjlcdWZmMDFcdWZmMDNcdWZmMDRcdWZmMDYtXHVmZjBjXHVmZjBmXHVmZjFhXHVmZjFiXHVmZjFkXHVmZjFmXHVmZjIwXHVmZjNiXHVmZjNkXS9nLApUcD0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxVcD1mdW5jdGlvbihhKXt3cChhLFpvKXx8d3AoYSwkbyk/YT1TdHJpbmcoYSkucmVwbGFjZShTcCxJcCk6YSBpbnN0YW5jZW9mIF8uTGE/KGE9Xy5OYShhKS50b1N0cmluZygpLGE9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApKTooYT1TdHJpbmcoYSksYT1UcC50ZXN0KGEpP2EucmVwbGFjZShTcCxJcCk6ImFib3V0OmludmFsaWQjelNveXoiKTtyZXR1cm4gYX0sVnA9L15bXiY6XC8/I10qKD86W1wvPyNdfCQpfF5odHRwcz86fF5maWxlc3lzdGVtOmh0dHBzPzp8XmZ0cDp8XmRhdGE6aW1hZ2VcL1thLXowLTkrLV0rO2Jhc2U2NCxbYS16MC05K1wvXSs9KiR8XmJsb2I6L2ksV3A9ZnVuY3Rpb24oYSl7d3AoYSxabyl8fHdwKGEsJG8pP2E9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApOmEgaW5zdGFuY2VvZiBfLkxhPyhhPV8uTmEoYSkudG9TdHJpbmcoKSxhPVN0cmluZyhhKS5yZXBsYWNlKFNwLApJcCkpOihhPVN0cmluZyhhKSxhPVZwLnRlc3QoYSk/YS5yZXBsYWNlKFNwLElwKToiYWJvdXQ6aW52YWxpZCN6U295eiIpO3JldHVybiBhfSx5cD0vXig/IW9ufHNyY3woPzphY3Rpb258YXJjaGl2ZXxiYWNrZ3JvdW5kfGNpdGV8Y2xhc3NpZHxjb2RlYmFzZXxjb250ZW50fGRhdGF8ZHN5bmN8aHJlZnxodHRwLWVxdWl2fGxvbmdkZXNjfHN0eWxlfHVzZW1hcClccyokKSg/OlthLXowLTlfJDotXSopJC9pLFhwPS9eW2EtekEtWjAtOStcL18tXSs9ezAsMn0kLyxZcD1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtyZXR1cm4gWHAudGVzdChhKT9hOiJ6U295eiJ9LFpwPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihacCxfLkopO3ZhciBDbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgWnA7cmV0dXJuIEdsKGIsMyxhLF8uQmopfTt2YXIgJHA9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKCRwLF8uSik7JHAucHJvdG90eXBlLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDIpfTskcC5wcm90b3R5cGUuTmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMixhKX07JHAucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDMpfTskcC5wcm90b3R5cGUubmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMyxhKX07dmFyIGFxPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihhcSxfLkopO3ZhciBicT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoYnEsXy5KKTt2YXIgY3E9Xy5NaihicSk7dmFyIGRxPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhfX0sZXE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoLTI7Yys9Myl7dmFyIGQ9Yi5jaGFyQXQoYysyKTtkPWQ+PSJhIj9kLmNoYXJDb2RlQXQoMCktODc6TnVtYmVyKGQpO2Q9Yi5jaGFyQXQoYysxKT09IisiP2E+Pj5kOmE8PGQ7YT1iLmNoYXJBdChjKT09IisiP2ErZCY0Mjk0OTY3Mjk1OmFeZH1yZXR1cm4gYX0sZ3E9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWZxLnNwbGl0KCIuIiksYz1OdW1iZXIoYlswXSl8fDAsZD1bXSxlPTAsZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZz1hLmNoYXJDb2RlQXQoZik7ZzwxMjg/ZFtlKytdPWc6KGc8MjA0OD9kW2UrK109Zz4+NnwxOTI6KChnJjY0NTEyKT09NTUyOTYmJmYrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChmKzEpJjY0NTEyKT09NTYzMjA/KGc9NjU1MzYrKChnJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2YpJjEwMjMpLGRbZSsrXT0KZz4+MTh8MjQwLGRbZSsrXT1nPj4xMiY2M3wxMjgpOmRbZSsrXT1nPj4xMnwyMjQsZFtlKytdPWc+PjYmNjN8MTI4KSxkW2UrK109ZyY2M3wxMjgpfWE9Yztmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKWErPWRbZV0sYT1lcShhLCIrLWFeKzYiKTthPWVxKGEsIistM14rYistZiIpO2FePU51bWJlcihiWzFdKXx8MDthPDAmJihhPShhJjIxNDc0ODM2NDcpKzIxNDc0ODM2NDgpO2I9YSUxRTY7cmV0dXJuIGIudG9TdHJpbmcoKSsiLiIrKGJeYyl9LGhxPWZ1bmN0aW9uKCl7dmFyIGE9ZHEoU3RyaW5nLmZyb21DaGFyQ29kZSgxMTYpKSxiPWRxKFN0cmluZy5mcm9tQ2hhckNvZGUoMTA3KSk7YT1bYSgpLGEoKV07YVsxXT1iKCk7cmV0dXJuIGEuam9pbigiIil9O3ZhciBpcT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoaXEsXy5KKTt2YXIganE9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKGpxLF8uSik7dmFyIGtxPV8uTWooanEpO3ZhciBscT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIobHEsXy5KKTt2YXIgT249IiIsbXE9InByb2QiLG5xPSIiLG9xPSJlbiIsQW49IiIscHE9bmV3IGpxLHFxPSExLHJxPW5ldyBEYXRlLHNxPXt9LEJuPTAsdHE9InRlIixmcT0iIix1cT0iIix2cT0iaHR0cHM6Ly8iLHdxPSIiLHhxPSIiLHlxPSIiLHpxPSIiLEFxPSIiLEJxPSIiLENxPSJodHRwczovL3d3dy5nb29nbGUuY29tL2ltYWdlcy9jbGVhcmRvdC5naWYiLERxPSJodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlbG9nby8xeC9nb29nbGVsb2dvX2NvbG9yXzY4eDI4ZHAucG5nIixFcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMXgvdHJhbnNsYXRlXzI0ZHAucG5nIixGcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl80MngxNmRwLnBuZyIsR3E9Imh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20iLEhxPSIiLElxPSIiLEpxPSIiLEtxPQpmdW5jdGlvbigpe0hxPSIvLyIrQnErIi90cmFuc2xhdGVfc3VnZ2VzdGlvbj9jbGllbnQ9Iit0cTtJcT0iLy8iK3VxKyIvdHJhbnNsYXRlX3ZvdGluZz9jbGllbnQ9Iit0cTtKcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zdXBwb3J0L3RyYW5zbGF0ZSIrKG9xPT0iZW4iPyIiOiIjZ29vZ3RyYW5zL2VuLyIrb3EpfSxMcT1mdW5jdGlvbihhKXtPbj13aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUudnx8IiI7bXE9YS5fY2Vudnx8InByb2QiO25xPWEuVWd8fCIiO29xPWEuX2NsfHwiZW4iO0FuPWEuX2N1YztwcT1hLl9jZWY/a3EoYS5fY2VmKTpuZXcganE7cXE9YS5fY25hZDtycT1hLl9jZXN0fHxuZXcgRGF0ZTtzcT1hLl9jbmFsfHx7fTtCbj1hLl9jYW09PSJsaWIiPzE6MDt0cT0oYS5fY2FjfHwidGUiKSsoQm49PTE/Il9saWIiOiIiKTtmcT1mdW5jdGlvbigpe2Z1bmN0aW9uIGIoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGV9fQp2YXIgYz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNyksZD1iKFN0cmluZy5mcm9tQ2hhckNvZGUoMTE2KSk7Yz1iKGMpO2Q9W2QoKSxkKCldO2RbMV09YygpO3JldHVybiBhWyJfYyIrZC5qb2luKGMoKSldfHwiIn0oKTt1cT1hLl9wYWh8fCIiO3ZxPWEuX3Bhc3x8Imh0dHBzOi8vIjt3cT1hLl9wYml8fCIiO3hxPWEuX3BjaXx8IiI7eXE9YS5fcGxsYXx8IiI7enE9YS5fcGxpfHwiIjtBcT1hLl9wc3x8IiI7QnE9YS5fcHVofHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKX07d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlLl9jb25zdD9McSh3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpOkxxKHtfY2FjOiIiLF9jYW06IiIsX2NlZjoiIixfY2VzdDpuZXcgRGF0ZSxfY2VudjoiIixVZzoiIixfY2dhazoiIixfY2psYzoiIixfY2w6IiIsX2NsbDoiIixfY3VjOiIiLF9jbmFkOiExLF9jbmFsOnt9LENrOiIiLF9wYWg6IiIsX3BhczoiIixfcGJpOiIiLF9wY2k6IiIsX3BoZjoiIixfcGxpOiIiLF9wbGxhOiIiLF9wbWk6IiIsX3BzOiIiLF9wdGE6IiIsX3B1aDoiIn0pO3ZhciBNcT1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMubz1ifSxCbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgVHlwZUVycm9yKCJxYWAiK2IrImAiK2EuZysiYCIrYS5vKyJgIit0eXBlb2YgYS5vKX07TXEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vO2lmKGE9PW51bGwpYT1udWxsO2Vsc2UgaWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBCbSh0aGlzLCJzdHJpbmciKTtpZihhPT09bnVsbCl0aHJvdyBFcnJvcigicGFgIit0aGlzLmcpO3JldHVybiBhfTsKdmFyIEFtPWZ1bmN0aW9uKCl7dmFyIGE9YT09PXZvaWQgMD93aW5kb3c6YTthPWE9PT12b2lkIDA/d2luZG93OmE7YT1hPT09dm9pZCAwP3dpbmRvdzphO2E9YS5XSVpfZ2xvYmFsX2RhdGE7YT1uZXcgTXEoInhXdXVHYyIsYSYmInhXdXVHYyJpbiBhP2EueFd1dUdjOm51bGwpO3ZhciBiPVtdLGM9TnEoYSk7cmV0dXJuIGM9PT1udWxsP09xKGEsYik6Y30sTnE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vO2lmKGI9PW51bGwpcmV0dXJuIG51bGw7QXJyYXkuaXNBcnJheShiKXx8KHR5cGVvZiBiIT09InN0cmluZyI/Yj1bYl06KGI9Yi50cmltKCksYj1iPT0iIj9bXTpiLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnRyaW0oKX0pKSk7cmV0dXJuIE9xKGEsYil9LE9xPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nKyJbIjtyZXR1cm4gQXJyYXkuZnJvbShiLGZ1bmN0aW9uKGQsZSl7cmV0dXJuIG5ldyBNcShjK2UrIl0iLGQpfSl9OwpNcS5wcm90b3R5cGUub2JqZWN0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubztpZihiPT1udWxsKXtpZihhPT09dm9pZCAwKXRocm93IEVycm9yKCJwYWAiK3RoaXMuZyk7cmV0dXJuIGF9aWYodHlwZW9mIGI9PT0ib2JqZWN0IiYmYi5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7YT17fTt2YXIgYz10aGlzLmcrIi4iLGQ7Zm9yKGQgaW4gYilhW2RdPW5ldyBNcShjK2QsYltkXSk7cmV0dXJuIGF9dGhyb3cgQm0odGhpcywib2JqZWN0Iik7fTt2YXIgUHE9ZnVuY3Rpb24oKXt2YXIgYTt0aGlzLmc9YT1hPT09dm9pZCAwP0RtKCk6YX07UHEucHJvdG90eXBlLmxvZz1mdW5jdGlvbihhKXtfLmFsKHRoaXMuZyxhKX07dmFyIFFxPW5ldyBQcTt2YXIgUnE9RW0oImluaXRpYWxpemVkIiksU3E9RW0oImluaXRpYXRlZCIpLFRxPUVtKCJyZXN0b3JlZCIpLFVxPUVtKCJwYWdlX2xvYWRfdG9faW5pdGlhbGl6ZWQiKSxWcT1FbSgiaW5pdGlhbGl6YXRpb25fdG9fdHJhbnNsYXRpb25fdHJpZ2dlcmVkIik7dmFyIFdxPWZ1bmN0aW9uKGEpe3ZhciBiPSJ4YiI7aWYoYS54YiYmYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4gYS54YjtiPW5ldyBhO3JldHVybiBhLnhiPWJ9Oy8qCgpNYXRoLnV1aWQuanMgKHYxLjQpCmh0dHA6Ly93d3cuYnJvb2ZhLmNvbQptYWlsdG86cm9iZXJ0QGJyb29mYS5jb20KQ29weXJpZ2h0IChjKSAyMDEwIFJvYmVydCBLaWVmZmVyCkR1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzLgoqLwp2YXIgWHE9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7Zm9yKHZhciBZcSxacT1BcnJheSgzNiksJHE9MCxhcixicj0wO2JyPDM2O2JyKyspYnI9PTh8fGJyPT0xM3x8YnI9PTE4fHxicj09MjM/WnFbYnJdPSItIjpicj09MTQ/WnFbYnJdPSI0IjooJHE8PTImJigkcT0zMzU1NDQzMitNYXRoLnJhbmRvbSgpKjE2Nzc3MjE2fDApLGFyPSRxJjE1LCRxPj49NCxacVticl09WHFbYnI9PTE5P2FyJjN8ODphcl0pO1lxPVpxLmpvaW4oIiIpOwp2YXIgY3I9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1hPWE9PT12b2lkIDA/WXE6YTt0aGlzLkViPWI9PT12b2lkIDA/IiI6Yjt0aGlzLkZiPWM9PT12b2lkIDA/IiI6Y30sZ3I9ZnVuY3Rpb24oYSl7dmFyIGI9ZHIoYSw3KTtlcihhLGIpO2ZyKGIsNyl9LGhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5sYj09PXZvaWQgMD8wOmIubGI7dmFyIGQ9Yi5NZj09PXZvaWQgMD8wOmIuTWY7dmFyIGU9Yi5nZz09PXZvaWQgMD8wOmIuZ2c7dmFyIGY9Yi5MZj09PXZvaWQgMD8wOmIuTGY7Yj1kcihhLDgpO2VyKGEsYik7YT1uZXcgUm47Yz1fLmlrKGEsMSxjKTtkPV8uaWsoYywzLGQpO2U9Xy5payhkLDIsZSk7ZT1fLmlrKGUsNCxmKTtmPVVuKGIpO18uTChmLDYsZSk7TWF0aC5yYW5kb20oKT49LjAwNXx8KGI9Xy5MayhObig4KSxfLldqKGIpKSxRcS5sb2coYikpfSxkcj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBfLmxsO2M9Xy5UaihjLDUwLG9xKTt2YXIgZD1uZXcgVG47Yj1fLmtrKGQsMSxiKTsKYj1fLlRqKGIsMix0cSk7YT1fLlRqKGIsMyxhLmcpO3JldHVybiBfLkwoYywxMTIsYSl9LGZyPWZ1bmN0aW9uKGEsYil7YT1fLkxrKE5uKGIpLF8uV2ooYSkpO1FxLmxvZyhhKX0sZXI9ZnVuY3Rpb24oYSxiKXtiLk5hKGEuRWIpO2IubmEoYS5GYil9O3ZhciBpcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7KytjKWJbYVtjXV09ITA7cmV0dXJuIGJ9LGpyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hP1thXTpbXTt0aGlzLmc9WzBdO3RoaXMuaj0hMX07anIucHJvdG90eXBlLnBhc3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmp9O2pyLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhKXtpZih0aGlzLmopcmV0dXJuIGF8fGZ1bmN0aW9uKCl7fTt0aGlzLmcucHVzaCgwKTt2YXIgYj10aGlzLmcubGVuZ3RoLTE7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe3RoaXMuZ1tiXSsrO2EmJmEuYXBwbHkobnVsbCxhcmd1bWVudHMpO2tyKHRoaXMpfSx0aGlzKX07CmpyLnByb3RvdHlwZS5kZWxheT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qP2E6KDAsXy55KShmdW5jdGlvbigpe2lmKHRoaXMuailhLmFwcGx5KG51bGwsYXJndW1lbnRzKTtlbHNle3ZhciBiPWFyZ3VtZW50czt0aGlzLmgucHVzaChmdW5jdGlvbigpe2EuYXBwbHkobnVsbCxiKX0pfX0sdGhpcyl9O2pyLnByb3RvdHlwZS5maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLmdbMF09MTtrcih0aGlzKX07CnZhciBrcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEuZy5sZW5ndGg7KytiKWlmKGEuZ1tiXT09MClyZXR1cm47YS5qPSEwO2ZvcihiPTA7YjxhLmgubGVuZ3RoOysrYil7dmFyIGM9YS5oW2JdO2EuaFtiXT1udWxsO2MuY2FsbCgpfWEuaD1bXTthLmc9W119LGxyPWZ1bmN0aW9uKGEpe3RoaXMuaj1hO3RoaXMuaD10aGlzLmc9ITF9LG1yPWZ1bmN0aW9uKGEsYil7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe2ImJmIuYXBwbHkobnVsbCxhcmd1bWVudHMpO3RoaXMuaD90aGlzLmd8fCh0aGlzLmouY2FsbCgpLHRoaXMuZz0hMCk6dGhpcy5nPSEwfSxhKX07bHIucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe3RoaXMuaHx8KHRoaXMuaD0hMCx0aGlzLmcmJnRoaXMuai5jYWxsKCkpfTt2YXIgbnI9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuQj1hO3RoaXMuQT1jfHwwO3RoaXMuaj10aGlzLmg9ITF9LG9yPWZ1bmN0aW9uKGEpe2EuaHx8YS5vKCl9Owpuci5wcm90b3R5cGUubz1mdW5jdGlvbigpeyh0aGlzLmg9KHRoaXMuaj0hIXRoaXMuQi5jYWxsKCkpfHwtLXRoaXMuQTw9MCk/KHRoaXMuZy5jYWxsKG51bGwsdGhpcy5qKSx0aGlzLmw9MCk6dGhpcy5sPXdpbmRvdy5zZXRUaW1lb3V0KCgwLF8ueSkodGhpcy5vLHRoaXMpLDMwKX07bnIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe3RoaXMubCYmd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmwpO3RoaXMuaD0hMDt0aGlzLmcuY2FsbChudWxsLHRoaXMuail9Owp2YXIgcHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oKXthLmRpc3BhdGNoRXZlbnQoYil9fSxxcj1mdW5jdGlvbihhKXthPV8uQWMoYSkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCJfIiwiLSIpO2lmKGE9PSJ6aC1jbiIpcmV0dXJuInpoLUNOIjtpZihhPT0iemgtdHciKXJldHVybiJ6aC1UVyI7dmFyIGI9YS5pbmRleE9mKCItIik7YT1iPj0wP2Euc3Vic3RyaW5nKDAsYik6YTtyZXR1cm4gYT09InpoIj8iemgtQ04iOmF9LHJyPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM7Zm9yKGMgaW4gYSlpZihhW2NdIT09T2JqZWN0LnByb3RvdHlwZVtjXSl7dmFyIGQ9Xy5HYihjKTtpZihfLm9jKGFbY10pPT0iYXJyYXkiKWZvcih2YXIgZT0wO2U8YVtjXS5sZW5ndGg7KytlKWIucHVzaChkKyI9IitfLkdiKGFbY11bZV0pKTtlbHNlIGIucHVzaChkKyI9IitfLkdiKGFbY10pKX1yZXR1cm4gYi5qb2luKCImIil9LFFtPWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTtiLm5jYT1hO2IuY2xpZW50PXRxOwpPbiYmKGIubG9nbGQ9InYiK09uKTt2YXIgYz1uZXcgSW1hZ2U7Yy5zcmM9Ii8vIitCcSsiL2dlbjIwND8iK3JyKGIpO2Mub25sb2FkPWZ1bmN0aW9uKCl7Yy5vbmxvYWQ9bnVsbH19LHRyPWZ1bmN0aW9uKGEsYil7aWYoKF8uU2N8fF8uUmMpJiZ3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUhPWRvY3VtZW50LmRvbWFpbil7c3I9c3I/c3IrMToxO3ZhciBjPSJmIitzcisiXyIrRGF0ZS5ub3coKS50b1N0cmluZygzNik7d2luZG93W2NdPWZ1bmN0aW9uKCl7d2luZG93W2NdPXZvaWQgMDthLnNyYz0iIyI7YiYmd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiKCl9LDApfTthLnNyYz0iamF2YXNjcmlwdDp2b2lkKGRvY3VtZW50LndyaXRlKFwiPHNjcmlwdD5kb2N1bWVudC5kb21haW49JyIrZG9jdW1lbnQuZG9tYWluKyInO3BhcmVudFsnIitjKyInXSgpO1x4M2Mvc2NyaXB0PlwiKSkifWVsc2UgYiYmYigpfSxzcix1cj1mdW5jdGlvbigpe3ZhciBhPXt9O3RyeXtmb3IodmFyIGIgaW4gT2JqZWN0LnByb3RvdHlwZSl7dmFyIGM9Ck9iamVjdC5wcm90b3R5cGVbYl07ZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbYl07YVtiXT1jfX1jYXRjaChkKXtyZXR1cm57fX1yZXR1cm4gYX0sdnI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpT2JqZWN0LnByb3RvdHlwZVtiXT1hW2JdfSx3cj1mdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSlyZXR1cm4hMTtyZXR1cm4hMH0seHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSE9ImF1dG8iJiZhIT0iemgtQ04iJiZhPT1ifSx5cj1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5oYXNoLm1hdGNoKC9nb29nbGVcLnRyYW5zbGF0ZVwuZWxlbWVudFwuc3A9KFteJl0rKS8pO3JldHVybiBhJiZhWzFdP2FbMV06bnVsbH07dmFyIFBtPW51bGwsenI9bnVsbCxBcj1mdW5jdGlvbigpe307QXIucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkIGluIGMpY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0mJihiW2RdPXR5cGVvZiBjW2RdPT09ImZ1bmN0aW9uIj9jW2RdOl8uWmooUm0sYSxOdW1iZXIoY1tkXSkpKX07dmFyIENyPWZ1bmN0aW9uKCl7UG0mJkJyKCk7UG09W107enI9Xy54KHdpbmRvdywicGFnZWhpZGUiLGZ1bmN0aW9uKCl7QnIoKX0pfSxCcj1mdW5jdGlvbigpe3pyJiYoXy5WZCh6ciksenI9bnVsbCk7UG0mJlBtLmxlbmd0aCYmUW0oUG0uam9pbigiIikpO1BtPW51bGx9LERyPW5ldyBBcjt2YXIgRXI9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEVyLF8uSik7dmFyIFRtPV8uS2koRXIpO3ZhciBTbTt2YXIgRnI9ZnVuY3Rpb24oYSl7dGhpcy51cmw9YTt0aGlzLnRpbWVvdXQ9LTE7dGhpcy5qPXRoaXMuaD0iY2FsbGJhY2siO3RoaXMuZz10aGlzLndiPW51bGx9LEpyPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7YS5nPUdvKCk7dmFyIGM9bmV3IFpsKGEudXJsKSxkPW5ldyBNYXA7YS5qJiZkLnNldChhLmosYS5oKTtjLmcuZXh0ZW5kKFhvKGIpLGQpO0dyKGEpLnRoZW4oZnVuY3Rpb24oKXtIcihhLGMudG9TdHJpbmcoKSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEuZy5wcm9taXNlfSkudGhlbihmdW5jdGlvbigpe0lyKGEpfSxmdW5jdGlvbigpe0lyKGEpfSk7YS50aW1lb3V0PjAmJihhLmw9c2V0VGltZW91dChmdW5jdGlvbigpe2EuZy5yZWplY3QoRXJyb3IoInJhIikpfSxhLnRpbWVvdXQpKTtyZXR1cm4gYS5nLnByb21pc2V9LEhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1lc3NhZ2VDaGFubmVsO2Eud2IuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7dXJsOmIsCmNhbGxiYWNrTmFtZTphLmh9LCIqIixbYy5wb3J0Ml0pO2MucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKGQpe3ZhciBlPXt9O2EubCE9PXZvaWQgMCYmKGNsZWFyVGltZW91dChhLmwpLGEubD12b2lkIDApO2QuZGF0YT09PXZvaWQgMCYmYS5nLnJlamVjdChFcnJvcigic2EiKSk7dHlwZW9mIGQuZGF0YSE9PSJzdHJpbmciJiZhLmcucmVqZWN0KEVycm9yKCJ0YSIpKTt0cnl7ZT1KU09OLnBhcnNlKGQuZGF0YSl9Y2F0Y2goZil7YS5nLnJlamVjdChFcnJvcigidWFgIitmLm1lc3NhZ2UpKX1hLmcucmVzb2x2ZShlKX19LEdyPWZ1bmN0aW9uKGEpe3ZhciBiPUdvKCksYz1fLndkKGRvY3VtZW50LCJJRlJBTUUiKTtpZighYy5zYW5kYm94KXRocm93IEVycm9yKCJ2YSIpO2Muc2FuZGJveC52YWx1ZT0iYWxsb3ctc2NyaXB0cyI7Yy5zdHlsZS5kaXNwbGF5PSJub25lIjthLndiPWM7YT1WbSgpO2E9U2woW18ubWwoIjwhRE9DVFlQRSBodG1sPiIpLFlsKFFsKGEpKV0pO2Muc3JjZG9jPV8ua2ooYSk7CmE9RmwoImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9VVRGLTg7YmFzZTY0LCIrYnRvYShfLmtqKGEpLnRvU3RyaW5nKCkpKTtjLnNyYz1fLk5hKGEpLnRvU3RyaW5nKCk7Yy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe3JldHVybiBiLnJlc29sdmUoYyl9LCExKTtjLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbihkKXtiLnJlamVjdChkIGluc3RhbmNlb2YgRXJyb3I/ZDpFcnJvcihTdHJpbmcoZCkpKX0sITEpO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChjKTtyZXR1cm4gYi5wcm9taXNlfSxJcj1mdW5jdGlvbihhKXthLndiIT09bnVsbCYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZChhLndiKSxhLndiPW51bGwpfTt2YXIgS3I9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9bmV3IFpsKGEpO2lmKGIpZm9yKHZhciBjIGluIGIpYltjXSE9PU9iamVjdC5wcm90b3R5cGVbY10mJnRoaXMuZy5nLnNldChjLGJbY10pfTtfLkIoS3IsXy51KTtLci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07S3IucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGEoKX07S3IucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5ZaShudWxsKX07S3IucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe307dmFyIExyPWZ1bmN0aW9uKGEsYixjKXtLci5jYWxsKHRoaXMsYSxiKTthPXRoaXMuaD1uZXcgRnIodGhpcy5nKTthLmg9ImNhbGxiYWNrIjthLmo9Yz09PXZvaWQgMD8iY2FsbGJhY2siOmN9O18uQihMcixLcik7THIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuITB9OwpMci5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhKXtyZXR1cm4gSnIodGhpcy5oLGEpfTtMci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2EuY2FuY2VsKCl9O3ZhciBNcj1mdW5jdGlvbihhLGIpe0tyLmNhbGwodGhpcyxhLGIpO3RoaXMuaD17fTt0aGlzLmo9MH07Xy5CKE1yLEtyKTtNci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Ck1yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz11cigpLGQ9Kyt0aGlzLmosZT17fSxmPXt9OyJxImluIGEmJihmLnE9YS5xLGRlbGV0ZSBhLnEpO2UuaGE9bmV3IF8uV2Y7dGhpcy5nLmguZW5kc1dpdGgoIi5jb3JwLmdvb2dsZS5jb20iKSYmKGUuaGEuQz0hMCk7dmFyIGc9bmV3IF8ub2UoZnVuY3Rpb24oaCxrKXtfLngoZS5oYSwiY29tcGxldGUiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpe2lmKF8uZ2coZS5oYSkpe3ZhciBsPV8uaWcoZS5oYSk7TnIoYixkKTtyZXR1cm4gaChsKX1iLnhpKCk7bD1fLmlnKGUuaGEpO05yKGIsZCk7cmV0dXJuIGsobCl9fSk7Xy54KGUuaGEsInRpbWVvdXQiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpcmV0dXJuIGIuemkoKSxOcihiLGQpLGsoKX0pfSk7ZS5oYS5zZW5kKHRoaXMuZy50b1N0cmluZygpKyImIitycihhKSwiUE9TVCIscnIoZikseyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSk7CnRoaXMuaFtkXT1lO3ZyKGMpO3JldHVybiBnfTtNci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuaFthXTtiJiYoYi5SZT0hMCxOcih0aGlzLGEpKX07dmFyIE5yPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5oW2JdO2MmJihjLmhhJiYoYy5oYS5kaXNwb3NlKCksYy5oYT1udWxsKSxkZWxldGUgYS5oW2JdKX07TXIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtLci5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO2Zvcih2YXIgYSBpbiB0aGlzLmgpdGhpcy5jYW5jZWwoYSl9O0RyLmF0dGFjaCgxNzE3MCxNci5wcm90b3R5cGUse3ppOjEseGk6Mn0pO3ZhciBPcj1mdW5jdGlvbihhLGIsYyl7S3IuY2FsbCh0aGlzLGEsYyk7dGhpcy5oPWIucHJveHlJc1N1cHBvcnRlZDt0aGlzLmo9ZnVuY3Rpb24oZCxlLGYpe3JldHVybiBfLllpKGIucHJveHlTZW5kKGQsZSxmKSl9O3RoaXMubD1iLnByb3h5Q2FuY2VsfTtfLkIoT3IsS3IpO09yLnByb3RvdHlwZS5UYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmgoKX07Ck9yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaih0aGlzLmcudG9TdHJpbmcoKSxhLGIpfTtPci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3RoaXMubChhKX07dmFyIFByPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPWI/YjpudWxsfTtfLkIoUHIsXy51KTtQci5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTt2YXIgUnI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy51LmNhbGwodGhpcyk7dmFyIGU7Yj9lPXtjbGllbnQ6Yn06ZT17YW5ubzozLGNsaWVudDp0cSxmb3JtYXQ6Imh0bWwiLHY6IjEuMCJ9O2MmJihlLnNwPWMpO2Uua2V5PWE7T24mJihlLmxvZ2xkPSJ2IitPbik7dGhpcy5nPW51bGw7dGhpcy5oPXtIZjozMDB9O2E9dGhpcy5BPW5ldyBQcihlLGQpO2I9dnEreXE7dGhpcy5vPWEuZz9uZXcgT3IoYixhLmcse2NsaWVudDp0cX0pOm5ldyBMcihiLHtjbGllbnQ6dHF9KTthPXRoaXMuQTtpZihhLmcpe2lmKCFhLmcpdGhyb3cgRXJyb3IoIndhIik7YT1be3ZhOm5ldyBPcih2cSt1cSsiL3RyYW5zbGF0ZV9hL3QiLGEuZyxhLmgpLGNlOjE5MDAsSWY6NDI5NDk2NzI5NSxHZjotMSxXZjowLEtkOiExfV19ZWxzZSBhPVt7dmE6bmV3IE1yKHZxK3VxKyIvdHJhbnNsYXRlX2EvdCIsYS5oKSxjZTozMDcyMCxJZjo0Mjk0OTY3Mjk1LEdmOi0xLFdmOjAsS2Q6ITF9XTt0aGlzLkI9bmV3IFFyKGEpO3RoaXMuaj0KITE7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil0aGlzLmo9dGhpcy5qfHxhW2JdLnZhLlRhKCk7dGhpcy5qfHx0aGlzLm5pKCl9O18uQihScixfLnUpO1JyLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKGEpe3RoaXMuQ3x8KHRoaXMuQz0hMCx0aGlzLkIuc3RhcnQoKDAsXy55KShmdW5jdGlvbihiKXtiJiYodGhpcy5nPWIsdGhpcy5oLnZhPWIudmEpO2EoKX0sdGhpcykpKX07UnIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07UnIucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZyE9PW51bGwmJnRoaXMuZy52YSE9PW51bGwmJnRoaXMuZy52YS5TYSgpfTsKdmFyIFNyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17cTpjLnN1YnN0cmluZygwLGEuaC5IZiksc2w6ImF1dG8iLHRsOiJlbiJ9O3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihlLGYpe2EuaC52YS5zZW5kKGQsYikudGhlbihmdW5jdGlvbihnKXt0cnl7dmFyIGg9SlNPTi5wYXJzZShnKTtlKGgmJmhbMV18fG51bGwpfWNhdGNoKGspe2UobnVsbCl9fSxmdW5jdGlvbihnKXtyZXR1cm4gZihnfHxudWxsKX0pfSl9OwpSci5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGs9dGhpcyxsPXtxOmIsc2w6Yyx0bDpkfTtsLnRjPWU7ZiYmKGwuY3R0PTEpO2cmJihsLmRvbT0xKTtoJiYobC5zcj0xKTtsW2hxKCldPWdxKGIuam9pbigiIikpO3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihuLHEpe2suZy52YS5zZW5kKGwsYSkudGhlbihmdW5jdGlvbihwKXtpZihwKXtpZih0eXBlb2YgcCE9PSJvYmplY3QiKXRyeXtwPUpTT04ucGFyc2UocCl9Y2F0Y2goQSl7ay5taSgpO3EoKTtyZXR1cm59aWYoXy5vYyhwKSE9ImFycmF5Iil2YXIgcj1bW3AsMjAwXV07ZWxzZSBpZihwLmxlbmd0aD09MiYmXy5vYyhwWzBdKSE9ImFycmF5IiYmXy5vYyhwWzFdKSE9ImFycmF5IilyPVtbcFswXSwyMDAscFsxXV0sW3BbMV0sMjAwLHBbMV1dXTtlbHNle3I9W107Zm9yKHZhciB0PTA7dDxwLmxlbmd0aDsrK3Qpclt0XT1fLm9jKHBbdF0pIT0iYXJyYXkiP1twW3RdLDIwMF06W3BbdF1bMF0sCjIwMCxwW3RdWzFdXX1uKHIpfWVsc2UgcSgpfSl9KX07dmFyIFRyPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIF8ub2U/Yi50aGVuKGZ1bmN0aW9uKGMpe2EuZy52YS5jYW5jZWwoYyl9KTphLmcudmEuY2FuY2VsKGIpfTtSci5wcm90b3R5cGUubD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuS2Q/dGhpcy5nLmNlLShuZXcgWmwodGhpcy5nLnZhLmcpKS50b1N0cmluZygpLmxlbmd0aDp0aGlzLmcuY2V9O1JyLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nJiYodGhpcy5nLnZhLmRpc3Bvc2UoKSx0aGlzLmcudmE9bnVsbCk7dGhpcy5oLnZhPW51bGw7dGhpcy5vLmRpc3Bvc2UoKTt0aGlzLm89bnVsbH07RHIuYXR0YWNoKDczNjEsUnIucHJvdG90eXBlLHtuaTpmdW5jdGlvbigpe1FtKCJ0ZV9hdSIpfX0pO0RyLmF0dGFjaCg0NzUwNCxSci5wcm90b3R5cGUse21pOmZ1bmN0aW9uKCl7UW0oInRlX2FmYnIiKX19KTsKdmFyIFFyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtRci5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5qPTA7VXIodGhpcyl9O3ZhciBVcj1mdW5jdGlvbihhKXtpZihhLmo+PWEuaC5sZW5ndGgpYS5nKG51bGwpO2Vsc2V7dmFyIGI9YS5oW2EuaisrXTtiLklpP29yKG5ldyBucigoMCxfLnkpKGIudmEuU2EsYi52YSksKDAsXy55KShmdW5jdGlvbihjKXtjP3RoaXMuZyhiKTpVcih0aGlzKX0sYSksYi5JaSkpOmIudmEuU2EoKT9hLmcoYik6VXIoYSl9fTt2YXIgVnI9aXIoIkEgQUJCUiBBQ1JPTllNIEIgQkFTRUZPTlQgQkRPIEJJRyBDSVRFIERGTiBFTSBGT05UIEkgSU5QVVQgTk9CUiBMQUJFTCBRIFJUIFMgU01BTEwgU1BBTiBTVFJJS0UgU1RST05HIFNVQiBTVVAgVEVYVEFSRUEgVFQgVSBWQVIiLnNwbGl0KCIgIikpLFdyPWlyKCJBUFBMRVQgQVJFQSBCQVNFIEZSQU1FIEZSQU1FU0VUIEhSIExJTksgTUVUQSBOT0ZSQU1FUyBOT1NDUklQVCBJTlBVVCBURVhUQVJFQSBUSVRMRSIuc3BsaXQoIiAiKSksWHI9aXIoIkJSIENPREUgSU1HIEtCRCBNQVAgT0JKRUNUIFBBUkFNIFJQIFNDUklQVCBTVFlMRSBXQlIgc3ZnIi5zcGxpdCgiICIpKSxZcj1pcihbInN1Ym1pdCIsImJ1dHRvbiJdKTtYbS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBacn07dmFyIFpyPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07WG0ucHJvdG90eXBlLm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIGFzPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5oPSEhYjt0aGlzLm5vZGU9bnVsbDt0aGlzLmc9MDt0aGlzLmo9ITE7dGhpcy5sPSFjO2EmJiRyKHRoaXMsYSxkKTt0aGlzLmRlcHRoPWUhPXZvaWQgMD9lOnRoaXMuZ3x8MDt0aGlzLmgmJih0aGlzLmRlcHRoKj0tMSl9O18uRyhhcyxYbSk7dmFyICRyPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEubm9kZT1iKWEuZz10eXBlb2YgYz09PSJudW1iZXIiP2M6YS5ub2RlLm5vZGVUeXBlIT0xPzA6YS5oPy0xOjE7dHlwZW9mIGQ9PT0ibnVtYmVyIiYmKGEuZGVwdGg9ZCl9LGJzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaD8tMToxO2EuZz09YiYmKGEuZz1iKi0xLGEuZGVwdGgrPWEuZyooYS5oPy0xOjEpKX07CmFzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7aWYodGhpcy5qKXtpZighdGhpcy5ub2RlfHx0aGlzLmwmJnRoaXMuZGVwdGg9PTApcmV0dXJuIFpyO3ZhciBhPXRoaXMubm9kZTt2YXIgYj10aGlzLmg/LTE6MTtpZih0aGlzLmc9PWIpe3ZhciBjPXRoaXMuaD9hLmxhc3RDaGlsZDphLmZpcnN0Q2hpbGQ7Yz8kcih0aGlzLGMpOiRyKHRoaXMsYSxiKi0xKX1lbHNlKGM9dGhpcy5oP2EucHJldmlvdXNTaWJsaW5nOmEubmV4dFNpYmxpbmcpPyRyKHRoaXMsYyk6JHIodGhpcyxhLnBhcmVudE5vZGUsYiotMSk7dGhpcy5kZXB0aCs9dGhpcy5nKih0aGlzLmg/LTE6MSl9ZWxzZSB0aGlzLmo9ITA7cmV0dXJuKGE9dGhpcy5ub2RlKT97dmFsdWU6YSxkb25lOiExfTpacn07YXMucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlPT10aGlzLm5vZGUmJighdGhpcy5ub2RlfHxhLmc9PXRoaXMuZyl9Owphcy5wcm90b3R5cGUuc3BsaWNlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubm9kZSxjPXRoaXMuaD8xOi0xO3RoaXMuZz09YyYmKHRoaXMuZz1jKi0xLHRoaXMuZGVwdGgrPXRoaXMuZyoodGhpcy5oPy0xOjEpKTt0aGlzLmg9IXRoaXMuaDthcy5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMpO3RoaXMuaD0hdGhpcy5oO2M9Xy5xYShhcmd1bWVudHNbMF0pP2FyZ3VtZW50c1swXTphcmd1bWVudHM7Zm9yKHZhciBkPWMubGVuZ3RoLTE7ZD49MDtkLS0peG8oY1tkXSxiKTtfLkFkKGIpfTt2YXIgZHM9ZnVuY3Rpb24oYSxiKXt0aGlzLmw9ITE7dGhpcy5qPV8uU2M/W106bnVsbDt0aGlzLmg9W107dGhpcy5kb25lPSExO2Zvcih0aGlzLmc9bmV3IGFzKGEsITEsYixhLm5vZGVUeXBlPT09Mz8wOjEsMSk7YT1hLnBhcmVudE5vZGU7KWNzKHRoaXMsYSwhMCk7dGhpcy5oLnB1c2goITEpO3RoaXMuaC5yZXZlcnNlKCk7Zm9yKGE9MTthPHRoaXMuaC5sZW5ndGg7KythKXRoaXMuaFthXT09bnVsbCYmKHRoaXMuaFthXT10aGlzLmhbYS0xXSl9LGNzPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6Yzt2YXIgZD0oYi5zdHlsZSYmYi5zdHlsZS53aGl0ZVNwYWNlfHwiIikuc3Vic3RyaW5nKDAsMyk7ZD09PSJwcmUifHwhZCYmYi50YWdOYW1lPT09IlBSRSI/YS5oLnB1c2goITApOmQmJmQhPT0icHJlIj9hLmgucHVzaCghMSk6Yz9hLmgucHVzaChudWxsKTphLmgucHVzaChhLmhbYS5oLmxlbmd0aC0xXSl9LGVzPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5oW2EuaC5sZW5ndGgtCjFdfTtkcy5wcm90b3R5cGUubm9kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcubm9kZX07ZHMucHJvdG90eXBlLmRlcHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5kZXB0aH07CmRzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZz09PS0xJiZ0aGlzLmoubGVuZ3RoLS07dGhpcy5nLmc9PT0tMSYmdGhpcy5oLmxlbmd0aC0tO2lmKHRoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZyE9PTEmJiF0aGlzLmcubm9kZS5uZXh0U2libGluZykkcih0aGlzLmcsdGhpcy5qW3RoaXMuai5sZW5ndGgtMV0sLTEsdGhpcy5nLmRlcHRoLTEpO2Vsc2V7dmFyIGE9dGhpcy5nLm5leHQoKTt0aGlzLmw9ITA7aWYoYS5kb25lKXt0aGlzLmRvbmU9ITA7cmV0dXJufXRoaXMuaiYmdGhpcy5nLmc9PT0xJiZ0aGlzLmoucHVzaCh0aGlzLmcubm9kZSl9dGhpcy5nLmc9PT0xJiZ0aGlzLmwmJmNzKHRoaXMsdGhpcy5nLm5vZGUpfWNhdGNoKGIpe3RoaXMud2koYiksdGhpcy5kb25lPSEwfX07RHIuYXR0YWNoKDUyNzU0LGRzLnByb3RvdHlwZSx7d2k6MX0pO3ZhciBRPXt9LGZzPWZ1bmN0aW9uKCl7UVswXT0iT3ZlcnNldHQiO1FbMV09IkF2YnJ5dCI7UVsyXT0iTHVrayI7UVszXT1mdW5jdGlvbihhKXtyZXR1cm4iR29vZ2xlIGhhciBvdmVyc2F0dCBkZW5uZSBzaWRlbiB0aWwgIithKyIgYXV0b21hdGlzayJ9O1FbNF09ZnVuY3Rpb24oYSl7cmV0dXJuIk92ZXJzYXR0IHRpbDogIithfTtRWzVdPSJGZWlsOiBUamVuZXJlbiBrdW5uZSBpa2tlIGZ1bGxmXHUwMGY4cmUgZm9yZXNwXHUwMGY4cnNlbGVuLiBQclx1MDBmOHYgcFx1MDBlNSBueXR0IHNlbmVyZS4iO1FbNl09IkxlcyBtZXIiO1FbN109ZnVuY3Rpb24oYSl7cmV0dXJuIkRyZXZldCBhdiAiK2F9O1FbOF09Ik92ZXJzZXR0ZXIiO1FbOV09Ik92ZXJzZXR0ZWxzZSBwXHUwMGU1Z1x1MDBlNXIiO1FbMTBdPWZ1bmN0aW9uKGEpe3JldHVybiJWaWwgZHUgb3ZlcnNldHRlIGRlbm5lIHNpZGVuIHRpbCAiK2ErIiBtZWQgR29vZ2xlIE92ZXJzZXR0ZXI/In07UVsxMV09ZnVuY3Rpb24oYSl7cmV0dXJuIlZpcyBkZW5uZSBzaWRlbiBwXHUwMGU1OiAiKwphfTtRWzEyXT0iVmlzIG9yaWdpbmFsIjtRWzEzXT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgbG9rYWxlIGZpbGVuIHNlbmRlcyB0aWwgR29vZ2xlIHZpYSBlbiBzaWtrZXIgdGlsa29ibGluZyBmb3IgXHUwMGU1IGJsaSBvdmVyc2F0dC4iO1FbMTRdPSJJbm5ob2xkZXQgcFx1MDBlNSBkZW5uZSBzaWtyZSBzaWRlbiBzZW5kZXMgdGlsIEdvb2dsZSB2aWEgZW4gc2lra2VyIHRpbGtvYmxpbmcgZm9yIFx1MDBlNSBibGkgb3ZlcnNhdHQuIjtRWzE1XT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgaW50cmFuZXR0c2lkZW4gc2VuZGVzIHRpbCBHb29nbGUgdmlhIGVuIHNpa2tlciB0aWxrb2JsaW5nIGZvciBcdTAwZTUgYmxpIG92ZXJzYXR0LiI7UVsxNl09IlZlbGcgc3ByXHUwMGU1ayI7UVsxN109ZnVuY3Rpb24oYSl7cmV0dXJuIlNsXHUwMGU1IGF2IG92ZXJzZXR0ZWxzZSB0aWwgIithfTtRWzE4XT1mdW5jdGlvbihhKXtyZXR1cm4iRGVha3RpdmVyIGZvcjogIithfTtRWzE5XT0iU2tqdWwgYWxsdGlkIjsKUVsyMF09Ik9yaWdpbmFsdGVrc3Q6IjtRWzIxXT0iQmlkcmEgbWVkIGVuIGJlZHJlIG92ZXJzZXR0ZWxzZSI7UVsyMl09IkJpZHJhIjtRWzIzXT0iT3ZlcnNldHQgYWx0IjtRWzI0XT0iR2plbm9wcHJldHQgYWx0IjtRWzI1XT0iQXZicnl0IGFsdCI7UVsyNl09Ik92ZXJzZXR0IGRlbGVuZSB0aWwgbWl0dCBzcHJcdTAwZTVrIjtRWzI3XT1mdW5jdGlvbihhKXtyZXR1cm4iT3ZlcnNldHQgYWx0IHRpbCAiK2F9O1FbMjhdPSJWaXMgb3BwcmlubmVsaWdlIHNwclx1MDBlNWsiO1FbMjldPSJBbHRlcm5hdGl2ZXIiO1FbMzBdPSJTbFx1MDBlNSBhdiBvdmVyc2V0dGVsc2UgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbMzFdPW51bGw7UVszMl09IlZpcyBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzMzXT0iS2xpa2sgcFx1MDBlNSBvcmQgb3ZlbmZvciBmb3IgXHUwMGU1IGZcdTAwZTUgYWx0ZXJuYXRpdmUgb3ZlcnNldHRlbHNlciI7UVszNF09IkJydWsiO1FbMzVdPSJEcmEgbWVkIFNoaWZ0LXRhc3QgZm9yIFx1MDBlNSBlbmRyZSByZWtrZWZcdTAwZjhsZ2UiOwpRWzM2XT0iS2xpa2sgZm9yIFx1MDBlNSBzZSBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzM3XT0iSG9sZCBuZWRlIFNoaWZ0LXRhc3Rlbiwga2xpa2ssIG9nIGRyYSBkZXJldHRlciBvcmRlbmUgb3ZlbmZvciBmb3IgXHUwMGU1IGVuZHJlIHBcdTAwZTUgcmVra2VmXHUwMGY4bGdlbi4iO1FbMzhdPSJUYWtrIGZvciBhdCBkdSBiaWRyYXIgbWVkIG92ZXJzZXR0ZWxzZXNmb3JzbGFnZXQgZGl0dCB0aWwgR29vZ2xlIE92ZXJzZXR0ZXIuIjtRWzM5XT0iQWRtaW5pc3RyZXIgb3ZlcnNldHRpbmcgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbNDBdPSJLbGlrayBwXHUwMGU1IGV0IG9yZCBmb3IgXHUwMGU1IHNlIGFsdGVybmF0aXZlIG92ZXJzZXR0ZWxzZXIsIGVsbGVyIGRvYmJlbHRrbGlrayBmb3IgXHUwMGU1IHJlZGlnZXJlIGRpcmVrdGUiO1FbNDFdPSJPcHByaW5uZWxpZyB0ZWtzdCI7UVs0Ml09Ik92ZXJzZXR0ZXIiO1FbNDNdPSJPdmVyc2V0dCI7UVs0NF09IlJldHRpbmdlbiBkaW4gZXIgc2VuZHQgaW5uLiI7ClFbNDVdPSJGZWlsOiBTcHJcdTAwZTVrZXQgdGlsIG5ldHRzaWRlbiBzdFx1MDBmOHR0ZXMgaWtrZS4iO1FbNDZdPSJNb2R1bCBmb3Igc3ByXHUwMGU1a292ZXJzZXR0aW5nIjtRWzQ3XT0iR2kgZW4gdnVyZGVyaW5nIGF2IGRlbm5lIG92ZXJzZXR0ZWxzZW4iO1FbNDhdPSJUaWxiYWtlbWVsZGluZ2VuIGRpbiBicnVrZXMgZm9yIFx1MDBlNSBnalx1MDBmOHJlIEdvb2dsZSBPdmVyc2V0dGVyIGJlZHJlIjtRWzQ5XT0iR29kIG92ZXJzZXR0ZWxzZSI7UVs1MF09IkRcdTAwZTVybGlnIG92ZXJzZXR0ZWxzZSI7UVs1MV09Ik92ZXJzZXR0ZWxzZSJ9O3ZhciBncz1mdW5jdGlvbigpe3JldHVybiJbbXNnX3VuZGVmaW5lZF0ifSxSPXt9OwooZnVuY3Rpb24oKXt2YXIgYT1mdW5jdGlvbihiKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYn19O1I9e0llOmEoMCksbWc6YSgxKSxBZTphKDIpLFdqOmEoMyksRGc6YSg0KSxDZTphKDUpLHdnOmEoNDUpLHhnOmEoNiksemc6YSg3KSx3ZDphKDgpLEVnOmEoOSksc2s6YSgxMCksSmc6YSgxMSksQWc6YSgxMiksbGs6YSgxMyksQ2c6YSgxNCksa2s6YSgxNSksQmc6YSgxNiksdms6YSgxNyksRmc6YSgxOCksamo6YSgxOSksVWo6YSgyMCksSWo6YSgyMSksbWs6YSgyMiksZWs6YSgyMyksZGs6YSgyNCksYms6YSgyNSksdGs6YSgyNikscms6YSgyNyksY2s6YSgyOCkseWc6YSgyOSksR2c6YSgzMCksaWo6YSgzMiksZ2o6YSgzMyksd2s6YSgzNCkseGo6YSgzNSkscGo6YSgzNiksd2o6YSgzNyksbms6YSgzOCksUWo6YSgzOSksaGo6YSg0MCksVmo6YSg0MSksRWU6YSg0NiksWGo6YSg0NyksSGo6YSg0OCksR2o6YSg0OSksRmo6YSg1MCksdWs6YSg1MSl9fSkoKTtSLkNsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMF19OwpSLlprPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMV19O1IuYmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVsyXX07Ui5ubD1mdW5jdGlvbigpe3JldHVybiBRWzNdfTtSLkRsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbNF19O1IuZmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1XX07Ui5obD1mdW5jdGlvbigpe3JldHVybiBRWzQ1XX07Ui5pbD1mdW5jdGlvbigpe3JldHVybiBRWzZdfTtSLm9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbN119O1IuR2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs4XX07Ui5JbD1mdW5jdGlvbigpe3JldHVybiBRWzldfTtSLkZsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTBdfTtSLk9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTFdfTtSLnBsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTJdfTtSLnlsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTNdfTtSLnpsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTRdfTtSLnhsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTVdfTtSLnFsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTZdfTsKUi5MbD1mdW5jdGlvbigpe3JldHVybiBRWzE3XX07Ui5LbD1mdW5jdGlvbigpe3JldHVybiBRWzE4XX07Ui5Zaz1mdW5jdGlvbigpe3JldHVybiBRWzE5XX07Ui5sbD1mdW5jdGlvbigpe3JldHVybiBRWzIwXX07Ui5zaD1mdW5jdGlvbigpe3JldHVybiBRWzQxXX07Ui5lbD1mdW5jdGlvbigpe3JldHVybiBRWzIxXX07Ui5BbD1mdW5jdGlvbigpe3JldHVybiBRWzIyXX07Ui53bD1mdW5jdGlvbigpe3JldHVybiBRWzIzXX07Ui52bD1mdW5jdGlvbigpe3JldHVybiBRWzI0XX07Ui5ybD1mdW5jdGlvbigpe3JldHVybiBRWzI1XX07Ui5IbD1mdW5jdGlvbigpe3JldHVybiBRWzI2XX07Ui5FbD1mdW5jdGlvbigpe3JldHVybiBRWzI3XX07Ui51bD1mdW5jdGlvbigpe3JldHVybiBRWzI4XX07Ui5rbD1mdW5jdGlvbigpe3JldHVybiBRWzI5XX07Ui5NbD1mdW5jdGlvbigpe3JldHVybiBRWzMwXX07Ui5qbD1mdW5jdGlvbigpe3JldHVybiBRWzM5XX07Ui5Yaz1mdW5jdGlvbigpe3JldHVybiBRWzMyXX07ClIuVms9ZnVuY3Rpb24oKXtyZXR1cm4gUVszM119O1IuV2s9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0MF19O1IuTmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNF19O1IuZGw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNV19O1IuYWw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNl19O1IuY2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVszN119O1IuQmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszOF19O1IuZ2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0Nl19O1IudGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0N119O1Iucmg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OF19O1IucWg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OV19O1IucGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MF19O1IuSmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MV19O3ZhciBocz1SO3ZhciBpcz1ocy5zaCxqcz1ocy50aCxrcz1ocy5yaCxscz1ocy5xaCxtcz1ocy5waDt2YXIgcHM9ZnVuY3Rpb24oYSl7dmFyIGI9YS5kaXI7YT1hLmNqO3JldHVybiBWbihXbihWbihXbihWbihfLnlsKCksJzxkaXYgaWQ9Imdvb2ctZ3QtdHQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItTDdsYmtiIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsgYm9yZGVyLXJhZGl1czogMTJweDsgbWFyZ2luOiAwIDAgMCAtMjNweDsgcGFkZGluZzogMDsgZm9udC1mYW1pbHk6IFwnR29vZ2xlIFNhbnNcJywgQXJpYWwsIHNhbnMtc2VyaWY7IiBkYXRhLWlkPSIiPjxkaXYgaWQ9Imdvb2ctZ3QtdnQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kIikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VZDdmciIpKyciPjxpbWcgc3JjPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS9wcm9kdWN0bG9nb3MvdHJhbnNsYXRlL3YxNC8yNHB4LnN2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBhbHQ9IiIvPjxkaXYgY2xhc3M9IicrCihiPT09InJ0bCI/IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGQiKSsiICI6IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1pM2pNOGMiKSsiICIpKyciIGRpcj0iJytQKGIpKyciPicrS3AoaXMoKSkrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtazc3SWlmIikrJyI+PGRpdiBpZD0iZ29vZy1ndC1vcmlnaW5hbC10ZXh0IiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLW5WTWZjZC1mbWNtUyIpKyIgIitQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1heEFWMSIpKyciPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIikrIiAiK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIikrIiAiK1AoYikrJyIgZGlyPSInK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2IiKSsKJyI+JytLcChqcygpKSsnPC9kaXY+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2UiKSsnIj4nK0twKGtzKCkpKyc8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLXhnb3Y1IikrIiAiK1AoYikrJyI+JyksYj09PSJydGwiP1duKFduKF8ueWwoKSxucygpKSxvcygpKTpXbihXbihfLnlsKCksb3MoKSksbnMoKSkpLCI8L2Rpdj48L2Rpdj4iKSwoMCxfLnRsKSgnPGRpdiBpZD0iZ29vZy1ndC12b3RpbmdIaWRkZW5QYW5lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48Zm9ybSBpZD0iZ29vZy1ndC12b3RpbmdGb3JtIiBhY3Rpb249IicrUChVcChhKSkrJyIgbWV0aG9kPSJwb3N0IiB0YXJnZXQ9InZvdGluZ0ZyYW1lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic2wiIGlkPSJnb29nLWd0LXZvdGluZ0lucHV0U3JjTGFuZyIvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0bCIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRUcmdMYW5nIi8+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InF1ZXJ5IiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZ3RyYW5zIiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFRyZ1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idm90ZSIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRWb3RlIi8+PC9mb3JtPjxpZnJhbWUgbmFtZT0idm90aW5nRnJhbWUiIGZyYW1lQm9yZGVyPTA+PC9pZnJhbWU+PC9kaXY+JykpLAoiPC9kaXY+PC9kaXY+Iil9LG9zPWZ1bmN0aW9uKCl7dmFyIGE9Xy55bCgpLGI9bHMoKTtiPVZuKGEsJzxidXR0b24gaWQ9Imdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2YiKSsnIiB0aXRsZT0iJytQKGIpKyciIGFyaWEtbGFiZWw9IicrUChiKSsnIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3BhbiBpZD0iZ29vZy1ndC10aHVtYlVwSWNvbiI+Jyk7dmFyIGM9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMjEgN2gtNi4zMWwuOTUtNC41Ny4wMy0uMzJjMC0uNDEtLjE3LS43OS0uNDQtMS4wNkwxNC4xNyAwUzcuMDggNi44NSA3IDdIMnYxM2gxNmMuODMgMCAxLjU0LS41IDEuODQtMS4yMmwzLjAyLTcuMDVjLjA5LS4yMy4xNC0uNDcuMTQtLjczVjljMC0xLjEtLjktMi0yLTJ6TTcgMThINFY5aDN2OXptMTQtN2wtMyA3SDlWOGw0LjM0LTQuMzRMMTIgOWg5djJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iVXBJY29uRmlsbGVkIj4nKTtjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTIxIDdoLTYuMzFsLjk1LTQuNTcuMDMtLjMyYzAtLjQxLS4xNy0uNzktLjQ0LTEuMDZMMTQuMTcgMFM3LjA4IDYuODUgNyA3djEzaDExYy44MyAwIDEuNTQtLjUgMS44NC0xLjIybDMuMDItNy4wNWMuMDktLjIzLjE0LS40Ny4xNC0uNzNWOWMwLTEuMS0uOS0yLTItMnpNNSA3SDF2MTNoNFY3eiIvPjwvc3ZnPicpO1ZuKFduKGIsYyksIjwvc3Bhbj48L2J1dHRvbj4iKTtyZXR1cm4gYX0sbnM9ZnVuY3Rpb24oKXt2YXIgYT1fLnlsKCksYj1tcygpO2I9Vm4oYSwnPGJ1dHRvbiBpZD0iZ29vZy1ndC10aHVtYkRvd25CdXR0b24iIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicrClAoIlZJcGdKZC15QVdORWItaHZoZ05kLWJnbTZzZiIpKyciIHRpdGxlPSInK1AoYikrJyIgYXJpYS1sYWJlbD0iJytQKGIpKyciIGFyaWEtcHJlc3NlZD0iZmFsc2UiPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb24iPicpO3ZhciBjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTMgMTdoNi4zMWwtLjk1IDQuNTctLjAzLjMyYzAgLjQxLjE3Ljc5LjQ0IDEuMDZMOS44MyAyNHM3LjA5LTYuODUgNy4xNy03aDVWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnpNMTcgNmgzdjloLTNWNnpNMyAxM2wzLTdoOXYxMGwtNC4zNCA0LjM0TDEyIDE1SDN2LTJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb25GaWxsZWQiPicpO2M9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMyAxN2g2LjMxbC0uOTUgNC41Ny0uMDMuMzJjMCAuNDEuMTcuNzkuNDQgMS4wNkw5LjgzIDI0czcuMDktNi44NSA3LjE3LTdWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnptMTYgMGg0VjRoLTR2MTN6Ii8+PC9zdmc+Jyk7Vm4oV24oYixjKSwiPC9zcGFuPjwvYnV0dG9uPiIpO3JldHVybiBhfTt2YXIgcXM9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIiljJiYoYT0oMCxfLnkpKGEsYykpO2Vsc2UgaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLnkpKGEuaGFuZGxlRXZlbnQsYSk7ZWxzZSB0aHJvdyBFcnJvcigieGEiKTtyZXR1cm4gTnVtYmVyKGIpPjIxNDc0ODM2NDc/LTE6Xy52LnNldFRpbWVvdXQoYSxifHwwKX07dmFyIHJzPWZ1bmN0aW9uKCl7aWYoXy5aYyl7dmFyIGE9L1dpbmRvd3MgTlQgKFswLTkuXSspLztyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiMCJ9cmV0dXJuIF8uWWM/KGE9LzFbMHwxXVtfLl1bMC05Xy5dKy8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMF0ucmVwbGFjZSgvXy9nLCIuIik6IjEwIik6Xy4kYz8oYT0vQW5kcm9pZFxzKyhbXlwpO10rKShcKXw7KS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV06IiIpOl8uYWR8fF8uYmR8fF8uY2Q/KGE9Lyg/OmlQaG9uZXxDUFUpXHMrT1NccysoXFMrKS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV0ucmVwbGFjZSgvXy9nLCIuIik6IiIpOiIifSgpO3ZhciBzcz1mdW5jdGlvbihhKXtyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiIn0sdHM9ZnVuY3Rpb24oKXtpZihfLkpoKXJldHVybiBzcygvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoXy5TY3x8Xy5UY3x8Xy5SYylyZXR1cm4gXy5qZDtpZihfLk5oKXtpZihfLiRhKCl8fF8uYWIoKSl7dmFyIGE9c3MoL0NyaU9TXC8oWzAtOS5dKykvKTtpZihhKXJldHVybiBhfXJldHVybiBzcygvQ2hyb21lXC8oWzAtOS5dKykvKX1pZihfLk9oJiYhXy4kYSgpKXJldHVybiBzcygvVmVyc2lvblwvKFswLTkuXSspLyk7aWYoXy5LaHx8Xy5MaCl7aWYoYT0vVmVyc2lvblwvKFxTKykuKk1vYmlsZVwvKFxTKykvLmV4ZWMoXy5UYSgpKSlyZXR1cm4gYVsxXSsiLiIrYVsyXX1lbHNlIGlmKF8uTWgpcmV0dXJuKGE9c3MoL0FuZHJvaWRccysoWzAtOS5dKykvKSk/YTpzcygvVmVyc2lvblwvKFswLTkuXSspLyk7cmV0dXJuIiJ9KCk7Xy5HKFltLF8uaGIpO18ubT1ZbS5wcm90b3R5cGU7Xy5tLkVhPW51bGw7Xy5tLkRjPSEwO18ubS5OZT1udWxsO18ubS56Yj0hMTtfLm0uWmQ9LTE7Xy5tLlViPSJ0b2dnbGVfZGlzcGxheSI7Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5FYX07Xy5tLlFiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuemIpdGhyb3cgRXJyb3IoInlhIik7dGhpcy5FYT1hfTtfLm0ucmU9ZnVuY3Rpb24oYSl7aWYodGhpcy56Yil0aHJvdyBFcnJvcigieWEiKTt0aGlzLkRjPWF9O18ubS5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56Yn07Cl8ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkwmJnRoaXMuTC5zdG9wKCk7dGhpcy5LJiZ0aGlzLksuc3RvcCgpO2lmKGEpe2lmKCF0aGlzLnpiJiZ0aGlzLnVkKCkpe2lmKCF0aGlzLkVhKXRocm93IEVycm9yKCJ6YSIpO3RoaXMucGIoKTthPV8uc2QodGhpcy5FYSk7dGhpcy5EYyYmKHRoaXMubC5OKGEsIm1vdXNlZG93biIsdGhpcy5OZiwhMCksdGhpcy5sLk4oYSwiYmx1ciIsdGhpcy5FaSkpO3RoaXMuVWI9PSJ0b2dnbGVfZGlzcGxheSI/KHRoaXMuRWEuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsbXAodGhpcy5FYSwhMCkpOnRoaXMuVWI9PSJtb3ZlX29mZnNjcmVlbiImJnRoaXMucGIoKTt0aGlzLnpiPSEwO3RoaXMuWmQ9RGF0ZS5ub3coKTt0aGlzLkw/KF8uTmQodGhpcy5MLCJlbmQiLHRoaXMuT2YsITEsdGhpcyksdGhpcy5MLnBsYXkoKSk6dGhpcy5PZigpfX1lbHNlIHVzKHRoaXMpfTtfLm0ucGI9ZnVuY3Rpb24oKXt9Owp2YXIgdXM9ZnVuY3Rpb24oYSxiKXthLnpiJiZhLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImJlZm9yZWhpZGUiLHRhcmdldDpifSkmJihhLmwmJl8uUmYoYS5sKSxhLnpiPSExLGEuSz8oXy5OZChhLkssImVuZCIsXy5aaihhLlNlLGIpLCExLGEpLGEuSy5wbGF5KCkpOmEuU2UoYikpfTtfLm09WW0ucHJvdG90eXBlO18ubS5TZT1mdW5jdGlvbihhKXt0aGlzLlViPT0idG9nZ2xlX2Rpc3BsYXkiP3RoaXMuYWkoKTp0aGlzLlViPT0ibW92ZV9vZmZzY3JlZW4iJiYodGhpcy5FYS5zdHlsZS50b3A9Ii0xMDAwMHB4Iik7dGhpcy5nZShhKX07Xy5tLmFpPWZ1bmN0aW9uKCl7dGhpcy5FYS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO21wKHRoaXMuRWEsITEpfTtfLm0udWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KCJiZWZvcmVzaG93Iil9O18ubS5PZj1mdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCgic2hvdyIpfTsKXy5tLmdlPWZ1bmN0aW9uKGEpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiaGlkZSIsdGFyZ2V0OmF9KX07Xy5tLk5mPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7Xy5CZCh0aGlzLkVhLGEpfHx2cyh0aGlzLGEpfHxEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzLGEpfTtfLm0uRWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZCh0aGlzLkVhKTtpZih0eXBlb2YgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9InVuZGVmaW5lZCIpe2lmKGE9Yi5hY3RpdmVFbGVtZW50LCFhfHxfLkJkKHRoaXMuRWEsYSl8fGEudGFnTmFtZT09IkJPRFkifHx2cyh0aGlzLGEpKXJldHVybn1lbHNlIGlmKGEudGFyZ2V0IT1iKXJldHVybjtEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzKX07dmFyIHZzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueGMoYS5OZXx8W10sZnVuY3Rpb24oYyl7cmV0dXJuIGI9PT1jfHxfLkJkKGMsYil9KX07ClltLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7WW0uZWEuTS5jYWxsKHRoaXMpO3RoaXMubC5kaXNwb3NlKCk7Xy5wYSh0aGlzLkwpO18ucGEodGhpcy5LKTtkZWxldGUgdGhpcy5FYTtkZWxldGUgdGhpcy5sO2RlbGV0ZSB0aGlzLk5lfTtfLkcoYm4sXy5oYik7Ym4ucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLmRiKGEuZyk7Yi50eXBlPWEudHlwZT09ImZvY3VzaW4ifHxhLnR5cGU9PSJmb2N1cyI/ImZvY3VzaW4iOiJmb2N1c291dCI7dGhpcy5kaXNwYXRjaEV2ZW50KGIpfTtibi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe2JuLmVhLk0uY2FsbCh0aGlzKTtfLlZkKHRoaXMuaCk7Xy5WZCh0aGlzLmopO2RlbGV0ZSB0aGlzLmd9O2NuLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7fTt2YXIgeXM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg7aWYoaD1jLm9mZnNldFBhcmVudCl7dmFyIGs9aC50YWdOYW1lPT0iSFRNTCJ8fGgudGFnTmFtZT09IkJPRFkiO2lmKCFrfHxjcChoLCJwb3NpdGlvbiIpIT0ic3RhdGljIil7dmFyIGw9aHAoaCk7aWYoIWspe2s9InJ0bCI9PWNwKGgsImRpcmVjdGlvbiIpO3ZhciBuO2lmKG49ayl7bj1fLk9oJiZMbCh0cywxMCk+PTA7dmFyIHE7aWYocT1fLmRkKXE9TGwocnMsMTApPj0wO3ZhciBwPV8uTmgmJkxsKHRzLDg1KT49MDtuPV8uVWN8fG58fHF8fHB9az1uPy1oLnNjcm9sbExlZnQ6ayYmY3AoaCwib3ZlcmZsb3dYIikhPSJ2aXNpYmxlIj9oLnNjcm9sbFdpZHRoLWguY2xpZW50V2lkdGgtaC5zY3JvbGxMZWZ0Omguc2Nyb2xsTGVmdDtsPWFvKGwsbmV3IHpsKGssaC5zY3JvbGxUb3ApKX19fWg9bHx8bmV3IHpsO2w9aHAoYSk7az1scChhKTtsPW5ldyB3bShsLngsbC55LGsud2lkdGgsay5oZWlnaHQpO2lmKGs9aXAoYSkpcD0KbmV3IHdtKGsubGVmdCxrLnRvcCxrLnJpZ2h0LWsubGVmdCxrLmJvdHRvbS1rLnRvcCksaz1NYXRoLm1heChsLmxlZnQscC5sZWZ0KSxuPU1hdGgubWluKGwubGVmdCtsLndpZHRoLHAubGVmdCtwLndpZHRoKSxrPD1uJiYocT1NYXRoLm1heChsLnRvcCxwLnRvcCkscD1NYXRoLm1pbihsLnRvcCtsLmhlaWdodCxwLnRvcCtwLmhlaWdodCkscTw9cCYmKGwubGVmdD1rLGwudG9wPXEsbC53aWR0aD1uLWssbC5oZWlnaHQ9cC1xKSk7bj1fLmxiKGEpO2s9Xy5sYihjKTtuLmchPWsuZyYmKG49bi5nLmJvZHksaz1qcChuLGsuZy5kZWZhdWx0Vmlldyksaz1hbyhrLGhwKG4pKSxsLmxlZnQrPWsueCxsLnRvcCs9ay55KTthPXdzKGEsYik7Yj1sLmxlZnQ7YSY0P2IrPWwud2lkdGg6YSYyJiYoYis9bC53aWR0aC8yKTtiPW5ldyB6bChiLGwudG9wKyhhJjE/bC5oZWlnaHQ6MCkpO2I9YW8oYixoKTtlJiYoYi54Kz0oYSY0Py0xOjEpKmUueCxiLnkrPShhJjE/LTE6MSkqZS55KTt2YXIgcjtnJiYocj0KaXAoYykpJiYoci50b3AtPWgueSxyLnJpZ2h0LT1oLngsci5ib3R0b20tPWgueSxyLmxlZnQtPWgueCk7cmV0dXJuIHhzKGIsYyxkLGYscixnKX0seHM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9RG4oYSk7dmFyIGc9d3MoYixjKTtjPWxwKGIpO3ZhciBoPW5ldyBfLkNhKGMud2lkdGgsYy5oZWlnaHQpO2E9RG4oYSk7aD1uZXcgXy5DYShoLndpZHRoLGguaGVpZ2h0KTt2YXIgaz0wO2lmKGR8fGchPTApZyY0P2EueC09aC53aWR0aCsoZD9kLnJpZ2h0OjApOmcmMj9hLngtPWgud2lkdGgvMjpkJiYoYS54Kz1kLmxlZnQpLGcmMT9hLnktPWguaGVpZ2h0KyhkP2QuYm90dG9tOjApOmQmJihhLnkrPWQudG9wKTtmJiYoZT8oZD1oLGc9MCwoZiY2NSk9PTY1JiYoYS54PGUubGVmdHx8YS54Pj1lLnJpZ2h0KSYmKGYmPS0yKSwoZiYxMzIpPT0xMzImJihhLnk8ZS50b3B8fGEueT49ZS5ib3R0b20pJiYoZiY9LTUpLGEueDxlLmxlZnQmJmYmMSYmKGEueD1lLmxlZnQsZ3w9MSksZiYxNiYmKGs9CmEueCxhLng8ZS5sZWZ0JiYoYS54PWUubGVmdCxnfD00KSxhLngrZC53aWR0aD5lLnJpZ2h0JiYoZC53aWR0aD1NYXRoLm1pbihlLnJpZ2h0LWEueCxrK2Qud2lkdGgtZS5sZWZ0KSxkLndpZHRoPU1hdGgubWF4KGQud2lkdGgsMCksZ3w9NCkpLGEueCtkLndpZHRoPmUucmlnaHQmJmYmMSYmKGEueD1NYXRoLm1heChlLnJpZ2h0LWQud2lkdGgsZS5sZWZ0KSxnfD0xKSxmJjImJihnfD0oYS54PGUubGVmdD8xNjowKXwoYS54K2Qud2lkdGg+ZS5yaWdodD8zMjowKSksYS55PGUudG9wJiZmJjQmJihhLnk9ZS50b3AsZ3w9MiksZiYzMiYmKGs9YS55LGEueTxlLnRvcCYmKGEueT1lLnRvcCxnfD04KSxhLnkrZC5oZWlnaHQ+ZS5ib3R0b20mJihkLmhlaWdodD1NYXRoLm1pbihlLmJvdHRvbS1hLnksaytkLmhlaWdodC1lLnRvcCksZC5oZWlnaHQ9TWF0aC5tYXgoZC5oZWlnaHQsMCksZ3w9OCkpLGEueStkLmhlaWdodD5lLmJvdHRvbSYmZiY0JiYoYS55PU1hdGgubWF4KGUuYm90dG9tLWQuaGVpZ2h0LAplLnRvcCksZ3w9MiksZiY4JiYoZ3w9KGEueTxlLnRvcD82NDowKXwoYS55K2QuaGVpZ2h0PmUuYm90dG9tPzEyODowKSksZT1nKTplPTI1NixrPWUpO2U9bmV3IHdtKDAsMCwwLDApO2UubGVmdD1hLng7ZS50b3A9YS55O2Uud2lkdGg9aC53aWR0aDtlLmhlaWdodD1oLmhlaWdodDthPWs7aWYoYSY0OTYpcmV0dXJuIGE7ZXAoYixuZXcgemwoZS5sZWZ0LGUudG9wKSk7aD1uZXcgXy5DYShlLndpZHRoLGUuaGVpZ2h0KTtfLnljKGMsaCl8fHBwKGIsaCwiYm9yZGVyLWJveCIpO3JldHVybiBhfSx3cz1mdW5jdGlvbihhLGIpe3JldHVybihiJjgmJiJydGwiPT1jcChhLCJkaXJlY3Rpb24iKT9iXjQ6YikmLTl9O18uRyhkbixjbik7ZG4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLHZvaWQgMCxjLHRoaXMubCl9O18uRyhlbixjbik7ZW4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKChhP18uc2QoYSk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudCwwLGEsYix0aGlzLmcsYyxudWxsKX07Xy5HKGZuLFltKTtmbi5wcm90b3R5cGUucGI9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPSF0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLlViIT0ibW92ZV9vZmZzY3JlZW4iLGI9dGhpcy5IKCk7YSYmKGIuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixtcChiLCEwKSk7dGhpcy5vLmgoYiw4LHRoaXMuWGIpO2EmJm1wKGIsITEpfX07Xy5HKE8sZm4pO3ZhciB6cz1bXTtfLm09Ty5wcm90b3R5cGU7Xy5tLnlhPW51bGw7Xy5tLmNsYXNzTmFtZT0iVklwZ0pkLXN1RU9kYyI7Xy5tLlpmPTUwMDtfLm0ud2Y9MDtfLm0uYXR0YWNoPWZ1bmN0aW9uKGEpe2E9Z24oYSk7dGhpcy5BLmFkZChhKTtfLngoYSwibW91c2VvdmVyIix0aGlzLlVkLCExLHRoaXMpO18ueChhLCJtb3VzZW91dCIsdGhpcy5OYiwhMSx0aGlzKTtfLngoYSwibW91c2Vtb3ZlIix0aGlzLmdiLCExLHRoaXMpO18ueChhLCJmb2N1cyIsdGhpcy5mYiwhMSx0aGlzKTtfLngoYSwiYmx1ciIsdGhpcy5OYiwhMSx0aGlzKX07Xy5tLmRldGFjaD1mdW5jdGlvbihhKXt2YXIgYj10aGlzO2E/KGE9Z24oYSksQXModGhpcyxhKSx0aGlzLkEuZGVsZXRlKGEpKToodGhpcy5BLmZvckVhY2goZnVuY3Rpb24oYyl7QXMoYixjKX0pLHRoaXMuQS5jbGVhcigpKX07CnZhciBBcz1mdW5jdGlvbihhLGIpe18uVWQoYiwibW91c2VvdmVyIixhLlVkLCExLGEpO18uVWQoYiwibW91c2VvdXQiLGEuTmIsITEsYSk7Xy5VZChiLCJtb3VzZW1vdmUiLGEuZ2IsITEsYSk7Xy5VZChiLCJmb2N1cyIsYS5mYiwhMSxhKTtfLlVkKGIsImJsdXIiLGEuTmIsITEsYSl9O08ucHJvdG90eXBlLkthPWZ1bmN0aW9uKGEpe18uQ2QodGhpcy5IKCksYSl9OwpPLnByb3RvdHlwZS5RYj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkgoKTtiJiZfLkFkKGIpO08uZWEuUWIuY2FsbCh0aGlzLGEpO2E/KGI9dGhpcy5HLmcuYm9keSxiLmluc2VydEJlZm9yZShhLGIubGFzdENoaWxkKSxfLnBhKHRoaXMuQyksdGhpcy5DPW5ldyBibih0aGlzLkgoKSksXy5hayh0aGlzLF8uWmooXy5wYSx0aGlzLkMpKSxfLngodGhpcy5DLCJmb2N1c2luIix0aGlzLkQsdm9pZCAwLHRoaXMpLF8ueCh0aGlzLkMsImZvY3Vzb3V0Iix0aGlzLlQsdm9pZCAwLHRoaXMpKTooXy5wYSh0aGlzLkMpLHRoaXMuQz1udWxsKX07Ty5wcm90b3R5cGUudmQ9ZnVuY3Rpb24oKXtyZXR1cm4gRW8odGhpcy5IKCkpfTt2YXIgQnM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuRj9hLmlzVmlzaWJsZSgpPzQ6MTphLkk/MzphLmlzVmlzaWJsZSgpPzI6MH07Ck8ucHJvdG90eXBlLnVkPWZ1bmN0aW9uKCl7aWYoIVltLnByb3RvdHlwZS51ZC5jYWxsKHRoaXMpKXJldHVybiExO2lmKHRoaXMuZylmb3IodmFyIGEsYj0wO2E9enNbYl07YisrKV8uQmQoYS5IKCksdGhpcy5nKXx8YS5wYSghMSk7Xy51YSh6cyx0aGlzKTthPXRoaXMuSCgpO2EuY2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lO3RoaXMuRCgpO18ueChhLCJtb3VzZW92ZXIiLHRoaXMuVWMsITEsdGhpcyk7Xy54KGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO0NzKHRoaXMpO3JldHVybiEwfTsKTy5wcm90b3R5cGUuZ2U9ZnVuY3Rpb24oKXtfLnZhKHpzLHRoaXMpO2Zvcih2YXIgYT10aGlzLkgoKSxiLGM9MDtiPXpzW2NdO2MrKyliLmcmJl8uQmQoYSxiLmcpJiZiLnBhKCExKTt0aGlzLkhiJiZ0aGlzLkhiLlQoKTtfLlVkKGEsIm1vdXNlb3ZlciIsdGhpcy5VYywhMSx0aGlzKTtfLlVkKGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO3RoaXMuZz12b2lkIDA7QnModGhpcyk9PTAmJih0aGlzLlA9ITEpO1ltLnByb3RvdHlwZS5nZS5jYWxsKHRoaXMpfTtPLnByb3RvdHlwZS5kZT1mdW5jdGlvbihhLGIpe3RoaXMuZz09YSYmdGhpcy5BLmhhcyh0aGlzLmcpJiYodGhpcy5QfHwhdGhpcy5JZD8odGhpcy5wYSghMSksdGhpcy5pc1Zpc2libGUoKXx8KHRoaXMuZz1hLHRoaXMubz1ifHxuZXcgRHMoRG4odGhpcy5yYSkpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMucGIoKSx0aGlzLnBhKCEwKSkpOnRoaXMuZz12b2lkIDApO3RoaXMuRj12b2lkIDB9OwpPLnByb3RvdHlwZS5GYz1mdW5jdGlvbihhKXt0aGlzLkk9dm9pZCAwO2lmKGE9PXRoaXMuZyl7YT10aGlzLkc7dmFyIGI9YS5nO3RyeXt2YXIgYz1iJiZiLmFjdGl2ZUVsZW1lbnQ7dmFyIGQ9YyYmYy5ub2RlTmFtZT9jOm51bGx9Y2F0Y2goZSl7ZD1udWxsfWQ9ZCYmdGhpcy5IKCkmJmEuY29udGFpbnModGhpcy5IKCksZCk7dGhpcy55YSE9bnVsbCYmKHRoaXMueWE9PXRoaXMuSCgpfHx0aGlzLkEuaGFzKHRoaXMueWEpKXx8ZHx8dGhpcy5JYSYmdGhpcy5JYS55YXx8dGhpcy5wYSghMSl9fTt2YXIgRXM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1LbihhLkcuZyk7YS5yYS54PWIuY2xpZW50WCtjLng7YS5yYS55PWIuY2xpZW50WStjLnl9O08ucHJvdG90eXBlLlVkPWZ1bmN0aW9uKGEpe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmcmJih0aGlzLmc9YixHcyh0aGlzLGIpLEhzKHRoaXMpLEVzKHRoaXMsYSkpfTsKdmFyIEZzPWZ1bmN0aW9uKGEsYil7dHJ5e2Zvcig7YiYmIWEuQS5oYXMoYik7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBifWNhdGNoKGMpe3JldHVybiBudWxsfX07Ty5wcm90b3R5cGUuZ2I9ZnVuY3Rpb24oYSl7RXModGhpcyxhKTt0aGlzLlA9ITB9O08ucHJvdG90eXBlLmZiPWZ1bmN0aW9uKGEpe3RoaXMueWE9YT1Gcyh0aGlzLGEudGFyZ2V0KTt0aGlzLlA9ITA7aWYodGhpcy5nIT1hKXt0aGlzLmc9YTt2YXIgYj1uZXcgSXModGhpcy55YSk7dGhpcy5EKCk7R3ModGhpcyxhLGIpO0hzKHRoaXMpfX07dmFyIEhzPWZ1bmN0aW9uKGEpe2lmKGEuZylmb3IodmFyIGIsYz0wO2I9enNbY107YysrKV8uQmQoYi5IKCksYS5nKSYmKGIuSWE9YSxhLkhiPWIpfTsKTy5wcm90b3R5cGUuTmI9ZnVuY3Rpb24oYSl7dmFyIGI9RnModGhpcyxhLnRhcmdldCksYz1Gcyh0aGlzLGEucmVsYXRlZFRhcmdldCk7YiE9YyYmKGI9PXRoaXMueWEmJih0aGlzLnlhPW51bGwpLENzKHRoaXMpLHRoaXMuUD0hMSwhdGhpcy5pc1Zpc2libGUoKXx8YS5yZWxhdGVkVGFyZ2V0JiZfLkJkKHRoaXMuSCgpLGEucmVsYXRlZFRhcmdldCk/dGhpcy5nPXZvaWQgMDp0aGlzLlQoKSl9O08ucHJvdG90eXBlLlVjPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5IKCk7dGhpcy55YSE9YSYmKHRoaXMuRCgpLHRoaXMueWE9YSl9O08ucHJvdG90eXBlLlRjPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuSCgpO3RoaXMueWEhPWJ8fGEucmVsYXRlZFRhcmdldCYmXy5CZChiLGEucmVsYXRlZFRhcmdldCl8fCh0aGlzLnlhPW51bGwsdGhpcy5UKCkpfTsKdmFyIEdzPWZ1bmN0aW9uKGEsYixjKXthLkZ8fChhLkY9cXMoKDAsXy55KShhLmRlLGEsYixjKSxhLlpmKSl9LENzPWZ1bmN0aW9uKGEpe2EuRiYmKF8udi5jbGVhclRpbWVvdXQoYS5GKSxhLkY9dm9pZCAwKX07Ty5wcm90b3R5cGUuVD1mdW5jdGlvbigpe0JzKHRoaXMpPT0yJiYodGhpcy5JPXFzKCgwLF8ueSkodGhpcy5GYyx0aGlzLHRoaXMuZyksdGhpcy53ZikpfTtPLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7dGhpcy5JJiYoXy52LmNsZWFyVGltZW91dCh0aGlzLkkpLHRoaXMuST12b2lkIDApfTtPLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dGhpcy5wYSghMSk7Q3ModGhpcyk7dGhpcy5kZXRhY2goKTt0aGlzLkgoKSYmXy5BZCh0aGlzLkgoKSk7dGhpcy55YT1udWxsO2RlbGV0ZSB0aGlzLkc7Ty5lYS5NLmNhbGwodGhpcyl9O3ZhciBEcz1mdW5jdGlvbihhLGIpe2VuLmNhbGwodGhpcyxhLGIpfTtfLkcoRHMsZW4pOwpEcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7Yj1pcCgoYT9fLnNkKGEpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpO2M9Yz9uZXcgdm0oYy50b3ArMTAsYy5yaWdodCxjLmJvdHRvbSxjLmxlZnQrMTApOm5ldyB2bSgxMCwwLDAsMTApO3hzKHRoaXMuZyxhLDgsYyxiLDkpJjQ5NiYmeHModGhpcy5nLGEsOCxjLGIsNSl9O3ZhciBJcz1mdW5jdGlvbihhKXtkbi5jYWxsKHRoaXMsYSw1KX07Xy5HKElzLGRuKTtJcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IHpsKDEwLDApO3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLGQsYyw5KSY0OTYmJnlzKHRoaXMuZWxlbWVudCw0LGEsMSxkLGMsNSl9O3ZhciBKcz1mdW5jdGlvbigpe08uY2FsbCh0aGlzKTt0aGlzLmxhPW51bGw7dGhpcy5SPW5ldyBfLkhiKHRoaXMpO3RoaXMuQj10aGlzLmo9dGhpcy5oPXRoaXMud2E9bnVsbDt0aGlzLk89ITB9O18uQihKcyxPKTtfLm09SnMucHJvdG90eXBlO18ubS5rYT1mdW5jdGlvbigpe3RoaXMuTz0hMTt2YXIgYT1fLnhmLnRlc3Qob3EpPyJydGwiOiJsdHIiO3RoaXMuUWIoa20ocHMse1VsOkVxLE9rOkNxLFJsOnhxLGRpcjphLGNqOklxfSkpO3RoaXMuY2xhc3NOYW1lKz0iIFZJcGdKZC15QVdORWItTDdsYmtiIHNraXB0cmFuc2xhdGUiOyhhPSEoIXRoaXMuSCgpfHwhdGhpcy5CKSkmJnRoaXMuUi5OKHdpbmRvdywicmVzaXplIiwoMCxfLnkpKHRoaXMucGIsdGhpcykpO3JldHVybiBhfTtfLm0uZGU9ZnVuY3Rpb24oYSxiKXt0aGlzLmxhPWE7Ty5wcm90b3R5cGUuZGUuY2FsbCh0aGlzLGEsYik7dGhpcy5IKCkuc3R5bGUuZGlzcGxheT0iYmxvY2sifTsKXy5tLlVkPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLk8pe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmc/KHRoaXMuZz1iLEdzKHRoaXMsYiksSHModGhpcyksRXModGhpcyxhKSk6R3ModGhpcyxiKX19O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5SJiZ0aGlzLlIuZGlzcG9zZSgpO3RoaXMuQj10aGlzLmxhPXRoaXMuUj1udWxsO08ucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Xy5tLnJlPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaXNWaXNpYmxlKCkpe2E9KHRoaXMuRGM9YSk/dGhpcy5sLk46dGhpcy5sLnljO3ZhciBiPV8uc2QodGhpcy5IKCkpO2EuY2FsbCh0aGlzLmwsYiwibW91c2Vkb3duIix0aGlzLk5mLCEwKX1lbHNlIE8ucHJvdG90eXBlLnJlLmNhbGwodGhpcyxhKX07Xy5tLlFiPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLlFiLmNhbGwodGhpcyxhKTthJiYodGhpcy5CPXZvKGEpKX07Cl8ubS5wYj1mdW5jdGlvbihhLGIpe3ZhciBjPWhwKGRvY3VtZW50LmJvZHkpLnk7aWYodGhpcy5vKXsodGhpcy5vfHxudWxsKS5nLnkrPWM7Ty5wcm90b3R5cGUucGIuY2FsbCh0aGlzKTt2YXIgZD1wYXJzZUludCh0aGlzLkgoKS5zdHlsZS5sZWZ0LDEwKTthPXBhcnNlSW50KHRoaXMuSCgpLnN0eWxlLnRvcCwxMCktKGE/MDpjKTtiJiYoYj10aGlzLlhifHx7fSxhLT1iLnRvcHx8MTAsZC09Yi5sZWZ0fHwxMCk7YS09YzsodGhpcy5vfHxudWxsKS5nLnk9YTsodGhpcy5vfHxudWxsKS5nLng9ZDtjPW5ldyB6bChkLGEpO2VwKHRoaXMuSCgpLGMpfX07Xy5tLnBhPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLnBhLmNhbGwodGhpcyxhKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtfLm0ubmE9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O18ubS5LYT1mdW5jdGlvbihhKXthPWE/Xy5BYyhhKToiIjt0aGlzLkI/Xy5DZCh0aGlzLkIsYSk6Ty5wcm90b3R5cGUuS2EuY2FsbCh0aGlzLGEpfTsKXy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaH07Xy5tLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5tLnZkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj9Fbyh0aGlzLkIpOk8ucHJvdG90eXBlLnZkLmNhbGwodGhpcyl9O18ubS5OYj1mdW5jdGlvbihhKXt0aGlzLk98fE8ucHJvdG90eXBlLk5iLmNhbGwodGhpcyxhKX07Xy5tLlVjPWZ1bmN0aW9uKGEpe3RoaXMuT3x8Ty5wcm90b3R5cGUuVWMuY2FsbCh0aGlzLGEpfTtfLm0uVGM9ZnVuY3Rpb24oYSl7dGhpcy5PfHxPLnByb3RvdHlwZS5UYy5jYWxsKHRoaXMsYSl9O3ZhciBLcz1mdW5jdGlvbigpe3RoaXMuaD1uZXcgTWFwO3RoaXMuZz1XcShjcil9LE9zPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09TXMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDUpO2VyKGQsZSk7ZnIoZSw1KX1OcyhjLE1zKX0sITEpfSxRcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10aHVtYkRvd25CdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09UHMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDYpO2VyKGQsZSk7ZnIoZSw2KX1OcyhjLFBzKX0sITEpfSxUcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10dCIpLGM9Yi5kYXRhc2V0LGQ9Z24oImdvb2ctZ3Qtdm90aW5nSW5wdXRTcmNMYW5nIiksZT1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFRyZ0xhbmciKSwKZj1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiKSxnPWduKCJnb29nLWd0LXZvdGluZ0lucHV0VHJnVGV4dCIpLGg9dm8oKSxrPWduKCJnb29nLWd0LXRyYW5zbGF0aW9uIiksbD1hLmgsbj1hLmc7d2luZG93LmRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiZ29vZy1ndC1wb3B1cFNob3duIixmdW5jdGlvbihxKXt2YXIgcD1kcihuLDQpO2VyKG4scCk7ZnIocCw0KTtxPXEuZGV0YWlsO3A9U3RyaW5nKHEuR2QpO3E9cS5YaTtjLmlkPXA7cD1sLmdldChwKXx8UnM7U3MocCk7Yi5zdHlsZS53aWR0aD1NYXRoLm1heChNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aC0xNiw1MzYpLDI4OCkrInB4IjtwPXEuSmEoKXx8IiI7dmFyIHI9cS5vYSgpfHwiIjtkLnZhbHVlPXA7ZS52YWx1ZT1yO2YudmFsdWU9cS52ZCgpO2cudmFsdWU9cS53YTtrJiYoay5pbm5lclRleHQ9cS53YSk7Yi5sYW5nPW9xO2gubGFuZz1wO2smJihrLmxhbmc9cik7Xy54Zi50ZXN0KHApJiYoaC5jbGFzc0xpc3QuYWRkKCJydGwiKSwKaC5kaXI9InJ0bCIpO2smJl8ueGYudGVzdChyKSYmKGsuY2xhc3NMaXN0LmFkZCgicnRsIiksay5kaXI9InJ0bCIpfSwhMSl9LFNzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWduKCJnb29nLWd0LXRodW1iVXBJY29uIiksZD1nbigiZ29vZy1ndC10aHVtYlVwSWNvbkZpbGxlZCIpLGU9Z24oImdvb2ctZ3QtdGh1bWJEb3duQnV0dG9uIiksZj1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uIiksZz1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uRmlsbGVkIik7Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Yy5zdHlsZS5kaXNwbGF5PSIiO2Quc3R5bGUuZGlzcGxheT0ibm9uZSI7ZS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Zi5zdHlsZS5kaXNwbGF5PSIiO2cuc3R5bGUuZGlzcGxheT0ibm9uZSI7c3dpdGNoKGEpe2Nhc2UgTXM6Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsInRydWUiKTtjLnN0eWxlLmRpc3BsYXk9CiJub25lIjtkLnN0eWxlLmRpc3BsYXk9IiI7YnJlYWs7Y2FzZSBQczplLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwidHJ1ZSIpLGYuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS5kaXNwbGF5PSIifWduKCJnb29nLWd0LXZvdGluZ0lucHV0Vm90ZSIpLnZhbHVlPWF9LExzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXR0IikuZGF0YXNldDtyZXR1cm4gYS5nZXQoYi5pZCl9LE5zPWZ1bmN0aW9uKGEsYil7THMoYSk9PT1iJiYoYj1Scyk7U3MoYik7dmFyIGM9Z24oImdvb2ctZ3QtdHQiKS5kYXRhc2V0O2Euc2V0KGMuaWQsYik7Z24oImdvb2ctZ3Qtdm90aW5nRm9ybSIpLnN1Ym1pdCgpfSxScz0oMCkudG9TdHJpbmcoKSxNcz0oMSkudG9TdHJpbmcoKSxQcz0oMikudG9TdHJpbmcoKTt2YXIgVXM9ZnVuY3Rpb24oYSl7dGhpcy5BPWE7dGhpcy5sPXRoaXMuaD10aGlzLm89dGhpcy5qPS0xO3RoaXMuZz0hMTt0aGlzLkM9MDt0aGlzLkQ9IiI7dGhpcy5GPTB9O1VzLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe2lmKCF0aGlzLmcpe3RoaXMuZz0hMDt2YXIgYT1bXSxiO2ZvcihiPTA7YjwxNTtiKyspYVtiXT1YcVswfE1hdGgucmFuZG9tKCkqNjJdO3RoaXMuRD1hLmpvaW4oIiIpO3RoaXMuQz0wO3RoaXMubD10aGlzLmg9dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkY9RGF0ZS5ub3coKTtxcyh0aGlzLkIsMUU0LHRoaXMpfX07VXMucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmc9ITEsVnModGhpcykpfTtVcy5wcm90b3R5cGUuQj1mdW5jdGlvbigpe3RoaXMuZyYmKFZzKHRoaXMpLHFzKHRoaXMuQiwxRTMsdGhpcykpfTsKdmFyIFZzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuQS5sLGM9YS5BLkEsZD1hLkEuaixlPWEuQS5vO2lmKGEuaiE9Ynx8YS5vIT1jfHxhLmghPWR8fGEubCE9ZSl7dmFyIGY9e307Zi5jdD1iO2YuY3Y9YztmLmN0cz1kO2YuY3ZzPWU7Zi5zaWQ9YS5EO2Yuc2VxPWEuQysrO2YudGF0PURhdGUubm93KCktYS5GO2lmKGEuaj49MHx8YS5vPj0wfHxhLmg+PTB8fGEubD49MClmLnB0PWEuaixmLnB2PWEubyxmLnB0cz1hLmgsZi5wdnM9YS5sO1FtKCJ0ZV92IixmKTthLmo9YjthLm89YzthLmg9ZDthLmw9ZX19O3ZhciBXcz1mdW5jdGlvbigpe3RoaXMubz10aGlzLmo9dGhpcy5BPXRoaXMubD0wO3RoaXMuZz1bXTt0aGlzLmg9Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoMCxfLnkpKHRoaXMuQix0aGlzKSk6bnVsbH07V3MucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIpe3RoaXMuais9Yjt2YXIgYz10aGlzLmcubGVuZ3RoO3RoaXMuZy5wdXNoKGIpO2ZvcihiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBkPWFbYl07eW8oZCk/KGRbWHNdPWMsdGhpcy5sKz1FbyhkKS5sZW5ndGgsdGhpcy5oJiZ0aGlzLmgub2JzZXJ2ZShkKSk6dGhpcy5GZihkLm5vZGVUeXBlKX19O1dzLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07eW8oYyk/KGNbWHNdPXZvaWQgMCx0aGlzLmgmJnRoaXMuaC51bm9ic2VydmUoYykpOnRoaXMuRmYoYy5ub2RlVHlwZSl9fTsKV3MucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5vPXRoaXMuaj10aGlzLkE9dGhpcy5sPTA7dGhpcy5nPVtdfTtXcy5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXTtpZihjLmludGVyc2VjdGlvblJhdGlvPjAmJmMudGFyZ2V0W1hzXSE9bnVsbCl7dGhpcy5BKz1FbyhjLnRhcmdldCkubGVuZ3RoO3ZhciBkPWMudGFyZ2V0W1hzXTt0aGlzLm8rPXRoaXMuZ1tkXTt0aGlzLmdbZF09MDtkZWxldGUgYy50YXJnZXRbWHNdfX19O0RyLmF0dGFjaCgzNjU0NixXcy5wcm90b3R5cGUse0ZmOjF9KTt2YXIgWHM9Il9ndF8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyKTt2YXIgWXM9e307WXMuYWRkPWtuO1lzLkRrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1obihhKTt0eXBlb2YgYj09PSJzdHJpbmciP18udmEoZCxiKTpBcnJheS5pc0FycmF5KGIpJiYoZD1sbihkLGIpKTt0eXBlb2YgYyE9PSJzdHJpbmcifHxfLnRhKGQsYyk/QXJyYXkuaXNBcnJheShjKSYmam4oZCxjKTpkLnB1c2goYyk7YS5jbGFzc05hbWU9ZC5qb2luKCIgIil9O1lzLmVuYWJsZT1vbjtZcy5nZXQ9aG47WXMuaGFzPW5uO1lzLnJlbW92ZT1tbjtZcy5zZXQ9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTmFtZT1ifTtZcy5obT1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWhuKGEpLGU9ITEsZj0wO2Y8ZC5sZW5ndGg7ZisrKWRbZl09PWImJihkLnNwbGljZShmLS0sMSksZT0hMCk7ZSYmKGQucHVzaChjKSxhLmNsYXNzTmFtZT1kLmpvaW4oIiAiKSk7cmV0dXJuIGV9O1lzLnRvZ2dsZT1mdW5jdGlvbihhLGIpe3ZhciBjPSFubihhLGIpO29uKGEsYixjKTtyZXR1cm4gY307dmFyIFpzPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTthPWF8fHt9O3RoaXMuZz1KbChhKTt0aGlzLmcuaGM9YS5oYyE9PXZvaWQgMD9hLmhjOjE7dGhpcy5nLnZlPSEhYS52ZTt0aGlzLmcuYmg9cGFyc2VJbnQoYS5iaCwxMCl8fDMwMDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5PWEudHJhY2tWaXNpYmlsaXR5fHwhMTt0aGlzLmcuYXBpS2V5PWEuYXBpS2V5fHwiIjt0aGlzLkM9MDt0aGlzLmw9e307dGhpcy5CPW51bGw7dGhpcy5GPXRoaXMuRD0iIjt0aGlzLm89bmV3IF8uSGIodGhpcyk7dGhpcy5BPXRoaXMuaj10aGlzLmg9bnVsbDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5JiZfLnYuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIhPW51bGwmJih0aGlzLmo9bmV3IFdzLHRoaXMuQT1uZXcgVXModGhpcy5qKSk7dGhpcy5oPW5ldyBKcyh7U2k6dGhpcy5nLlNpfSk7dGhpcy5oLndmPTMwMDt0aGlzLmguWmY9MUUzO3RoaXMuaC5yZSghMCk7dGhpcy5vLk4odGhpcy5oLCJzaG93IiwoMCxfLnkpKHRoaXMub2csCnRoaXMpKTt0aGlzLm8uTih0aGlzLmgsImhpZGUiLCgwLF8ueSkodGhpcy5uZyx0aGlzKSk7dGhpcy5oLmthKCk7YT1uZXcgS3M7Z24oImdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIpJiYoT3MoYSksUXMoYSksVHMoYSkpfTtfLkIoWnMsXy5oYik7dmFyICRzPWZ1bmN0aW9uKGEpe2EuQSYmYS5BLnN0b3AoKTtmb3IodmFyIGIgaW4gYS5sKXt2YXIgYz1hLGQ9Yy5sW2JdO2lmKGQpe2MuaiYmYy5qLmRldGFjaChkLkFhKTtmb3IodmFyIGU9MDtlPGQuQWEubGVuZ3RoOysrZSlkLkFhW2VdJiZjLmRldGFjaChkLkFhW2VdKTtkZWxldGUgYy5sW2JdfX1hLmomJmEuai5yZXNldCgpfTtfLm09WnMucHJvdG90eXBlO18ubS5hdHRhY2g9ZnVuY3Rpb24oYSxiKXtiJiYoYi5HZD1hLHRoaXMuaC5hdHRhY2goYikpfTtfLm0uZGV0YWNoPWZ1bmN0aW9uKGEpe2EmJnRoaXMuaC5kZXRhY2goYSl9OwpfLm0ub2c9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgubGE7YT1hP2EuR2Q6dm9pZCAwO2lmKGEhPT12b2lkIDApe3ZhciBiPXRoaXMubFthXTthdCh0aGlzLHRoaXMuQiwhMSk7dGhpcy5CPWE7YXQodGhpcyxhKTt0aGlzLmguTmEoYi5UaSk7dGhpcy5oLm5hKGIuVmkpO3ZhciBjPWIuWjt0aGlzLmgud2E9YyYmXy5BYyhjKTt0aGlzLmguS2EoYi50ZXh0KX1hPW5ldyBDdXN0b21FdmVudCgiZ29vZy1ndC1wb3B1cFNob3duIix7ZGV0YWlsOntHZDphLFhpOnRoaXMuaH19KTt3aW5kb3cuZG9jdW1lbnQuYm9keS5kaXNwYXRjaEV2ZW50KGEpfTtfLm0ubmc9ZnVuY3Rpb24oKXthdCh0aGlzLHRoaXMuQiwhMSl9O18ubS5NPWZ1bmN0aW9uKCl7JHModGhpcyk7dGhpcy5oJiYodGhpcy5oLmRpc3Bvc2UoKSx0aGlzLmg9bnVsbCk7dGhpcy5vJiYodGhpcy5vLmRpc3Bvc2UoKSx0aGlzLm89bnVsbCk7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTsKdmFyIGF0PWZ1bmN0aW9uKGEsYixjKXtpZihhPWEubFtiXSlmb3IoYz1jfHx0eXBlb2YgYz09InVuZGVmaW5lZCIsYj0wO2I8YS5BYS5sZW5ndGg7KytiKWlmKGEuQWFbYl0pWXNbYz8iYWRkIjoicmVtb3ZlIl0oYS5BYVtiXSwiVklwZ0pkLXlBV05FYi1WSXBnSmQtZm1jbVMtc241NFEiKX07dmFyIGJ0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKWlmKGFbYl0mJmFbYl0ubm9kZSlyZXR1cm4gYVtiXS5ub2RlO3JldHVybiBudWxsfSxmdD1mdW5jdGlvbihhKXt2YXIgYj1idChhKTtpZighYilyZXR1cm4gbnVsbDt2YXIgYz1bXSxkPVtdLGU9W107Yj1uZXcgZHMoYiwhMCk7dmFyIGY9YVthLmxlbmd0aC0xXS5ub2RlLGc9MCxoPSExO2Rve2IubmV4dCgpO3ZhciBrPWIubm9kZSgpO2lmKCFrKWJyZWFrO3ZhciBsPWIuZy5nLG49Yi5kZXB0aCgpO2ZvcihsPT0xJiYtLW47ZzxhLmxlbmd0aCYmIWFbZ10ubm9kZTspKytnO2s9PWFbZ10ubm9kZXx8IWgmJmw9PTEmJihrIT1udWxsJiZrLnByZXZpb3VzU2libGluZz09bnVsbD8wOiFjdChkdChrKSkpPyhsPWV0KGspLGQucHVzaCh7bm9kZTpsLEthOmZ1bmN0aW9uKCl7fX0pLGVbZC5sZW5ndGgtMV09bixrLnBhcmVudE5vZGUmJmsucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxrKSxrPT1hW2ddLm5vZGUmJgooY1tnKytdPWQubGVuZ3RoLTEsaD0hMCkpOmg9ITF9d2hpbGUoayE9Zik7cmV0dXJue3plOmUsR2k6YyxkaTpkfX0sY3Q9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJlhyW2EudGFnTmFtZV19LGR0PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIG51bGw7Zm9yKGE9YS5wcmV2aW91c1NpYmxpbmc7YSE9bnVsbCYmYSE9bnVsbCYmYS5ub2RlVHlwZT09MyYmXy5BYyhFbyhhKSk9PSIiOylhPWEucHJldmlvdXNTaWJsaW5nO3JldHVybiBhfSxqdD1mdW5jdGlvbihhLGIsYyxkLGUsZil7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1bXTtmb3IodmFyIGc9MDtnPGEubGVuZ3RoOysrZyl0aGlzLmcucHVzaCgibm9kZVR5cGUiaW4gYVtnXT9ndChhW2ddKTphW2ddKSxodChhW2ddLm5vZGUpO3RoaXMubD1iO3RoaXMuRD1kfHwwO3RoaXMuUj1lfHwwO3RoaXMuQz1jO3RoaXMuQj1mfHxudWxsO3RoaXMuSz10aGlzLkc9dGhpcy5MPSExO3RoaXMubz1bXTt0aGlzLkE9W107dGhpcy5oPVtdOwp0aGlzLk89W107bmV3IF8uSGIodGhpcyk7dGhpcy5qPXRoaXMuST0hMX0sZ3Q7Xy5CKGp0LF8uaGIpOwp2YXIgbXQ9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuITE7aWYoYS5ub2RlVHlwZSE9M3x8IV8uU2MpcmV0dXJuIGt0IGluIGEmJiEhYVtrdF07aWYoIWEucGFyZW50Tm9kZSlyZXR1cm4hMDtpZighKGx0IGluIGEucGFyZW50Tm9kZSkpcmV0dXJuITE7dmFyIGI9YS5wYXJlbnROb2RlW2x0XTtpZighYnx8IWJbYS5ub2RlVmFsdWVdKXJldHVybiExO2I9YlthLm5vZGVWYWx1ZV07Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDsrK2MpaWYoYltjXT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sbnQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4iIjtpZihhLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJuIFN0cmluZyhkb2N1bWVudC50aXRsZSk7YS5ub2RlVHlwZT09Mz9iPSJub2RlVmFsdWUiOmJ8fChiPSJ2YWx1ZSIpO3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoYik/U3RyaW5nKGEuZ2V0QXR0cmlidXRlKGIpKTp0eXBlb2YgYVtiXT09PSJzdHJpbmciP1N0cmluZyhhW2JdKToKIiJ9O2p0LnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmx9Owp2YXIgb3Q9ZnVuY3Rpb24oYSxiLGMpe2I9e1BmOmIsaGU6YyxVOltdfTthLmgucHVzaChiKTtyZXR1cm4gYn0scXQ9ZnVuY3Rpb24oYSl7aWYoIWEuaiYmYS5MJiYhYS5HJiYhYS5LKXthLkc9ITA7dmFyIGI7aWYoYj1wdChhLmcpKXtiPWEuZzt2YXIgYz1hLmg7aWYoYi5sZW5ndGg9PTEmJmJbMF0mJmJbMF0ueGUpe2Zvcih2YXIgZD1bXSxlPTA7ZTxjLmxlbmd0aDsrK2UpZm9yKHZhciBmPTA7ZjxjW2VdLlUubGVuZ3RoOysrZilkLnB1c2goY1tlXS5VW2ZdLlopO2JbMF0uS2EoZC5qb2luKCIgIiksYlswXS5ub2RlKTtiPSEwfWVsc2UgYj0hMTtiPSFifWlmKGImJihiPWZ0KGEuZykpKXthLkE9Yi5HaTthLm89Yi5kaTtkPWEuZztlPWEuQTtmPWEubzt2YXIgZz1iLnplO2M9W107Zm9yKHZhciBoPTA7aDxkLmxlbmd0aDsrK2gpaWYoY1toXT1bXSxkW2hdLm5vZGUmJmVbaF0hPT12b2lkIDApZm9yKHZhciBrPTA7azxmLmxlbmd0aDsrK2spaWYoIShnW2tdPmdbZVtoXV0pKXtpZihnW2tdPT0KZ1tlW2hdXSl7aWYoZltrXS5ub2RlLnBhcmVudE5vZGUhPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWVsc2V7Zm9yKHZhciBsPWdbZVtoXV0tZ1trXSxuPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlO2wtLSYmbiYmbiE9ZltrXS5ub2RlLnBhcmVudE5vZGU7KW49bi5wYXJlbnROb2RlO2lmKG4hPWZba10ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWNbaF0ucHVzaChrKX1kPWEuZztlPWEuaDtmPS0xO2ZvcihnPWUubGVuZ3RoLTE7Zz49MDstLWcpZm9yKGg9ZVtnXSxrPWguVS5sZW5ndGgtMTtrPj0wOy0taylpZihsPWguVVtrXSwhKGwuWDwwKSYmZFtsLlhdJiZkW2wuWF0ubm9kZSlpZihmPDApbC5YYz1pcihjW2wuWF0pLGY9Y1tsLlhdW2NbbC5YXS5sZW5ndGgtMV07ZWxzZSBmb3Iobj1jW2wuWF0ubGVuZ3RoLTE7bj49MDstLW4paWYoY1tsLlhdW25dPD1mKXtsLlhjPWlyKGNbbC5YXS5zbGljZSgwLG4rMSkpO2Y9Y1tsLlhdW25dO2JyZWFrfWZvcihjPWU9MDtjPGEuaC5sZW5ndGg7KytjKXtkPQphLmhbY107Zj1hLmc7Zz1kO2g9Yi56ZTtrPWEuQTtsPSIiO2ZvcihuPTA7bjxnLlUubGVuZ3RoOysrbil7dmFyIHE9Zy5VW25dO2wrPXEuWjtpZihxLlg8MCl7dmFyIHA9LTEscj0tMSx0PWtbZy5VW24tMV0uWF07dCE9PXZvaWQgMCYmKHA9aFt0XSk7bjxnLlUubGVuZ3RoLTEmJih0PWtbZy5VW24rMV0uWF0sdCE9PXZvaWQgMCYmKHI9aFt0XSkpO2lmKHA+PTB8fHI+PTApYTppZih0PShwPDB8fHI8cCkmJm48Zy5VLmxlbmd0aC0xLHA9ZixyPXEscT1nLlVbdD9uKzE6bi0xXSwhKHEuWD49cC5sZW5ndGh8fHBbcS5YXS5ub2RlPT1udWxsKSl7cD1yLlo7ci5aPSIiO2lmKC9eICskLy50ZXN0KHApJiYocj10P3EuWi5jaGFyQ29kZUF0KDApOnEuWi5jaGFyQ29kZUF0KHEuWi5sZW5ndGgtMSksMzU4NDw9ciYmcjw9MzcxMXx8MTIyODg8PXImJnI8PTEyMzUxfHwxMjM1Mjw9ciYmcjw9MTI1NDN8fDEyNzg0PD1yJiZyPD0xMjc5OXx8MTk5Njg8PXImJnI8PTQwOTU5fHw2NTI4MDw9ciYmcjw9CjY1NTE5KSlicmVhayBhO3EuWj10P3ArcS5aOnEuWitwfX19Zj1sO2c9YS5nO2g9ZDtrPWEubztsPWIuemU7bj1hLkE7cT1bXTtmb3IocD0wO3A8aC5VLmxlbmd0aCYmIShlPj1rLmxlbmd0aCk7KytwKWlmKHI9aC5VW3BdLHIuWGMmJiEoci5YPDApJiZnW3IuWF0ubm9kZSYmci5aKWlmKGU9PW5bci5YXXx8ZSBpbiByLlhjJiYoIShlKzEgaW4gci5YYyl8fGUrMSE9bltyLlhdKSl7aWYoa1tlXSYma1tlXS5ub2RlKXt0PWV0KGtbZV0ubm9kZSk7cS5wdXNoKHQpO2Zvcih2YXIgQT1rW2VdLm5vZGUsRD1sW25bci5YXV0tbFtlXSxFPXQsYmE9Z1tyLlhdLm5vZGUucGFyZW50Tm9kZSxaPUU7YmEmJkQtLTspWj1iYS5jbG9uZU5vZGUoITEpLFouYXBwZW5kQ2hpbGQoRSksYmE9YmEucGFyZW50Tm9kZSxFPVo7QS5hcHBlbmRDaGlsZChaKTtBPWdbci5YXS5ub2RlO2dbci5YXS5yZD9nW3IuWF0uemZ8fHQuYXBwZW5kQ2hpbGQoQSk6KEE9Z1tyLlhdLm5vZGUuY2xvbmVOb2RlKCExKSxBLmlkJiYKKEEuaWQ9IiIpLHQuYXBwZW5kQ2hpbGQoQSkpO2dbci5YXS5LYShyLlosQSl9fWVsc2UrK2UsLS1wO2c9cTtuPWEuZztxPWQ7aD1hLkM7aWYocS5QZiloPXEuUGY7ZWxzZXtsPW4ubGVuZ3RoO2s9LTE7Zm9yKHA9MDtwPHEuVS5sZW5ndGg7KytwKXI9cS5VW3BdLlgscj49MCYmbltyXSYmbltyXS5ub2RlJiYoaz1NYXRoLm1heChrLHIpLGw9TWF0aC5taW4obCxyKSk7Zm9yKG49IiI7bDw9azsrK2wpaFtsXSYmKG4rPWhbbF0pO2g9bn1sPWE7bj1nO3E9aDtpZihsLkIpe2lmKGwuQi5nLmhjIT0zKXtnPWwuTztoPWcucHVzaDtrPWwuQjtkPWQuaGU7ZD1rLmxbKytrLkNdPXtpZDprLkMudG9TdHJpbmcoKSxSazpsLHRleHQ6cSxmbTpkfHxxLFo6ZixUaTprLkQsVmk6ay5GLEFhOm59O2ZvcihmPTA7ZjxuLmxlbmd0aDsrK2YpbltmXSYmay5hdHRhY2goZC5pZCxuW2ZdKTtrLmomJmsuai5hdHRhY2gobixxLmxlbmd0aCk7ay5BJiZrLkEuc3RhcnQoKTtoLmNhbGwoZyxkLmlkKX19ZWxzZSBmb3IoZD0KMDtkPG4ubGVuZ3RoOysrZCluW2RdLnRpdGxlPXF9Yj1hLmc7Zm9yKGM9MDtjPGIubGVuZ3RoOysrYyliW2NdLm5vZGUmJiFiW2NdLnJkJiZfLkFkKGJbY10ubm9kZSk7Yj1hLmc7Yz1hLm87YT1hLkE7Zm9yKGU9ZD0wO2U8Yy5sZW5ndGg7KytlKWlmKGY9Y1tlXS5ub2RlKXtmb3IoO2Q8Yi5sZW5ndGgmJmU+YVtkXTspZCsrOyhkPj1iLmxlbmd0aHx8ZSE9YVtkXSkmJiFmLmZpcnN0Q2hpbGQmJihfLkFkKGYpLGNbZV0ubm9kZT1udWxsKX19fX07Cmp0LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5HKWlmKHRoaXMuRz0hMSx0aGlzLkImJiRzKHRoaXMuQiksdGhpcy5PPVtdLHB0KHRoaXMubyksdGhpcy5nLmxlbmd0aD09MSYmdGhpcy5nWzBdLnhlKXRoaXMuZ1swXS5LYSh0aGlzLkNbMF0sdGhpcy5nWzBdLm5vZGUpO2Vsc2V7Zm9yKHZhciBhPTAsYj0wO2I8dGhpcy5vLmxlbmd0aDsrK2Ipe3ZhciBjPXRoaXMub1tiXS5ub2RlO2lmKGMpe2Zvcig7YTx0aGlzLmcubGVuZ3RoJiZiPnRoaXMuQVthXTspe3ZhciBkPWErKzt0aGlzLmdbZF0ubm9kZSYmKHJ0KHRoaXMuZ1tkXS5ub2RlKSx0aGlzLmdbZF0ubm9kZT1udWxsKX1pZihhPHRoaXMuZy5sZW5ndGgmJmI9PXRoaXMuQVthXSYmdGhpcy5nW2FdLm5vZGUpe3RoaXMuZ1thXS56Znx8KF8uemQoYyksYy5hcHBlbmRDaGlsZCh0aGlzLmdbYV0ubm9kZSkpO3RoaXMuZ1thXS5LYSh0aGlzLkNbYV0sdGhpcy5nW2FdLm5vZGUpO2ErKzt2YXIgZT1jLnBhcmVudE5vZGU7CmlmKGUmJmUubm9kZVR5cGUhPTExKWlmKGMucmVtb3ZlTm9kZSljLnJlbW92ZU5vZGUoITEpO2Vsc2V7Zm9yKDtkPWMuZmlyc3RDaGlsZDspZS5pbnNlcnRCZWZvcmUoZCxjKTtfLkFkKGMpfX1lbHNlIF8uQWQoYyl9fXRoaXMubz1bXX19O2p0LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpO2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpdGhpcy5nW2FdLm5vZGUmJnJ0KHRoaXMuZ1thXS5ub2RlKTt0aGlzLmc9bnVsbH07CnZhciBodD1mdW5jdGlvbihhKXtpZihhKWlmKGEubm9kZVR5cGU9PTMmJl8uU2Mpe2x0IGluIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlW2x0XXx8KGEucGFyZW50Tm9kZVtsdF09e30pO3ZhciBiPWEucGFyZW50Tm9kZVtsdF07YlthLm5vZGVWYWx1ZV18fChiW2Eubm9kZVZhbHVlXT1bXSk7Yj1iW2Eubm9kZVZhbHVlXTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYylpZihiW2NdPT1hKXJldHVybjtiLnB1c2goYSl9ZWxzZSBhW2t0XT0xfSxydD1mdW5jdGlvbihhKXtpZighYXx8YS5ub2RlVHlwZT09MyYmXy5TYyl7dmFyIGI9YS5wYXJlbnROb2RlO2lmKGImJmx0IGluIGIpe3ZhciBjPWJbbHRdO2lmKGMmJmEmJmNbYS5ub2RlVmFsdWVdKXt2YXIgZD1jW2Eubm9kZVZhbHVlXTtpZihkKWZvcih2YXIgZT0wO2U8ZC5sZW5ndGg7KytlKWlmKGRbZV09PWEpe2Quc3BsaWNlKGUsMSk7YnJlYWt9ZC5sZW5ndGg9PTAmJmRlbGV0ZSBjW2Eubm9kZVZhbHVlXX1pZihjJiZ3cihjKSl0cnl7ZGVsZXRlIGJbbHRdfWNhdGNoKGYpe2JbbHRdPQoiIn19fWVsc2UgaWYoa3QgaW4gYSl0cnl7ZGVsZXRlIGFba3RdfWNhdGNoKGYpe2Fba3RdPSIifX0scHQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpdHJ5e2FbYl0ubm9kZSYmIWFbYl0ubm9kZS5wYXJlbnROb2RlJiYoYVtiXS5ub2RlPW51bGwpfWNhdGNoKGMpe2FbYl0ubm9kZT1udWxsfWZvcihiPWEubGVuZ3RoLTE7Yj49MCYmIWFbYl0ubm9kZTstLWIpO2EubGVuZ3RoPWIrMTtyZXR1cm4gYS5sZW5ndGh9LGV0PWZ1bmN0aW9uKGEpe2E9YS5vd25lckRvY3VtZW50P2Eub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb250Iik6Xy53ZChkb2N1bWVudCwiZm9udCIpO2h0KGEpO2Euc3R5bGUudmVydGljYWxBbGlnbj0iaW5oZXJpdCI7Xy5vaShfLlppKHBxLDIpKSYmKGEuZGlyPSJhdXRvIik7cmV0dXJuIGF9LHN0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEuZy5sZW5ndGg7YysrKXt2YXIgZD1hLmdbY10ubm9kZTtkIT1udWxsJiYKYi5hZGQoZCl9cmV0dXJuIGJ9LHR0PWZ1bmN0aW9uKCl7dGhpcy5oPXt9O3RoaXMuZz17fX07dHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmhbYV0hPW51bGx8fHRoaXMuZ1thXSE9bnVsbHx8YiYmKGEgaW4gdGhpcy5ofHxhIGluIHRoaXMuZyl9O3R0LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihhLGIpe3RoaXMuZ1thXT1ifTt0dC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2RlbGV0ZSB0aGlzLmdbYV07ZGVsZXRlIHRoaXMuaFthXX07dHQucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nW2FdO2J8fChiPXRoaXMuaFthXSx0aGlzLmdbYV09Yik7cmV0dXJuIGJ9O3ZhciBrdD0iX2d0XyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpLGx0PSJfZ3RuXyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpOwooZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGMpe2RvY3VtZW50LnRpdGxlPWN9dmFyIGI9e307Z3Q9ZnVuY3Rpb24oYyxkKXtpZihjLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJue25vZGU6YyxLYTphLHJkOiEwLHpmOiEwLHhlOiEwfTtpZihjLm5vZGVUeXBlPT0zKXJldHVybntub2RlOmMsS2E6ZnVuY3Rpb24oZSxmKXtfLkNkKGYsZSl9fTtkfHwoZD0idmFsdWUiKTtiW2RdfHwoYltkXT1mdW5jdGlvbihlLGYpe2Yuc2V0QXR0cmlidXRlJiZmLnNldEF0dHJpYnV0ZShkLGUpO3R5cGVvZiBlPT09InN0cmluZyImJihmW2RdPWUpfSk7Yz17bm9kZTpjLEthOmJbZF0scmQ6ITB9O2QhPSJ2YWx1ZSImJihjLnhlPSEwKTtyZXR1cm4gY319KSgpOwp2YXIgdXQ9ZnVuY3Rpb24oYSxiLGMsZCl7ZD1kLmZpcnN0Q2hpbGQmJmQuZmlyc3RDaGlsZC5ub2RlVHlwZT09Mz9kLmZpcnN0Q2hpbGQubm9kZVZhbHVlOkVvKGQpO2Q9e1g6YyxaOnBvKGQpfTthLnB1c2goZCk7YltjXT9iW2NdLmVuZD1kOmJbY109e3N0YXJ0OmQsZW5kOmR9O3JldHVybiBkfSx2dD1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1hLmZpcnN0Q2hpbGQ7YztjPWIpYj1jLm5leHRTaWJsaW5nLGMubm9kZVR5cGUhPTMmJihjPT1hLmZpcnN0Q2hpbGQ/YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMsYSk6eG8oYyxhKSx2dChjKSl9O3ZhciB3dD1mdW5jdGlvbigpe3RoaXMuZz1bXX07d3QucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXt0aGlzLmcucHVzaChhKX07dmFyIHh0PWZ1bmN0aW9uKCl7dGhpcy5nPVtdfTtfLkIoeHQsd3QpO3h0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7aWYoYSlmb3IoO2EoKTspO307eHQuZz1mdW5jdGlvbigpe3JldHVybiBXcSh4dCl9O3ZhciB6dD1mdW5jdGlvbihhKXt0aGlzLmc9W107dGhpcy5oPS41O3l0KHRoaXMsYSk7dGhpcy5sPTA7dGhpcy5qPSEwO3RoaXMubz0oMCxfLnkpKHRoaXMuQSx0aGlzKX07Xy5CKHp0LHd0KTt2YXIgeXQ9ZnVuY3Rpb24oYSxiKXtiPjE/YS5oPTE6YjwuMDAxP2EuaD0uMDAxOmImJihhLmg9Yil9O3p0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7d3QucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMsYSk7dGhpcy5qJiZBdCh0aGlzKX07dmFyIEF0PWZ1bmN0aW9uKGEpe2Euaj0hMTt3aW5kb3cuc2V0VGltZW91dChhLm8sTWF0aC5taW4oYS5sLDVFMykpfTsKenQucHJvdG90eXBlLkE9ZnVuY3Rpb24oKXt2YXIgYT0obmV3IERhdGUpLmdldFRpbWUoKTtkb3t0aGlzLmcubGVuZ3RoJiYodGhpcy5nWzBdJiZ0aGlzLmdbMF0oKXx8dGhpcy5nLnNoaWZ0KCkpO3ZhciBiPSEhdGhpcy5nLmxlbmd0aDt2YXIgYz05NSp0aGlzLmgrNTt2YXIgZD0obmV3IERhdGUpLmdldFRpbWUoKS1hfXdoaWxlKGImJmQ8Yyk7dGhpcy5sPU1hdGguY2VpbChkKigxL3RoaXMuaC0xKSkrMTtiP0F0KHRoaXMpOnRoaXMuaj0hMH07dmFyIEJ0PWZ1bmN0aW9uKGEsYil7dGhpcy5EPWF8fG51bGw7dGhpcy5JPWJ8fHh0LmcoKTt0aGlzLkI9dGhpcy5BPXRoaXMuRz1udWxsO3RoaXMubD10aGlzLmo9ITE7dGhpcy5vPW51bGw7dGhpcy5nPVtdO3RoaXMuaD0wfSxDdD1mdW5jdGlvbihhLGIpe2Euanx8KGEuRz1iKX0sRHQ9ZnVuY3Rpb24oYSxiLGMpe2EuQT1jPygwLF8ueSkoYixjKTpifSxFdD1mdW5jdGlvbihhLGIsYyl7YS5CPWM/KDAsXy55KShiLGMpOmJ9LEZ0PWZ1bmN0aW9uKGEsYil7YS5qfHwoYS5qPSEwLGEuRj1iLGEuaCsrLGEubz1hLkcsYS5DKCkpfTtCdC5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuaCsrO3RoaXMuaj0hMTt0aGlzLmc9W119Owp2YXIgR3Q9ZnVuY3Rpb24oYSl7aWYoIWEuailyZXR1cm4gbnVsbDtmb3IodmFyIGI9ITEsYz0wO2M8YS5nLmxlbmd0aDsrK2MpaWYoYS5nW2NdLnRhcmdldD09PWEpe2EuZ1tjXS5yZWFkeT0hMTthLmdbY10uaGc9YS5oKzE7Yj0hMDticmVha31ifHxhLmcucHVzaCh7dGFyZ2V0OmEscmVhZHk6ITEsaGc6YS5oKzF9KTtyZXR1cm4oMCxfLnkpKGEuQyxhLGEsYS5oKzEpfSxIdD1mdW5jdGlvbihhKXtpZighYS5qKXJldHVybiEwO2Zvcih2YXIgYj0wO2I8YS5nLmxlbmd0aDsrK2IpaWYoYS5nW2JdLnRhcmdldD09PWEmJmEuZ1tiXS5oZz09YS5oKXJldHVybiBhLmdbYl0ucmVhZHk7cmV0dXJuITB9OwpCdC5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuail7aWYoYSlmb3IodmFyIGM9MDtjPHRoaXMuZy5sZW5ndGg7KytjKWlmKHRoaXMuZ1tjXS50YXJnZXQ9PT1hKXt0aGlzLmdbY10ucmVhZHk9ITA7YnJlYWt9dGhpcy5sfHx0aGlzLkkuYWRkKCgwLF8ueSkodGhpcy5XLHRoaXMsYnx8dGhpcy5oKSl9fTsKQnQucHJvdG90eXBlLlc9ZnVuY3Rpb24oYSl7aWYodGhpcy5oIT1hKXJldHVybiExO2E9dGhpcy5vO2lmKGE9PUl0KXJldHVybiB0aGlzLnN0b3AoKSx0aGlzLkEmJnRoaXMuQS5jYWxsKHRoaXMuRCx0aGlzLHRoaXMuRiksITE7dGhpcy5sPSEwO3RyeXt2YXIgYj1hLmNhbGwodGhpcy5ELHRoaXMsdGhpcy5GKTtpZighYil0aHJvdyBFcnJvcigpO31jYXRjaChjKXt0aGlzLnN0b3AoKTthPWM7aWYodGhpcy5CKXRoaXMuQi5jYWxsKHRoaXMuRCxhLHRoaXMsdGhpcy5GKTtlbHNlIHRocm93IGE7cmV0dXJuITF9ZmluYWxseXt0aGlzLmw9ITF9YiE9SnQmJih0aGlzLm89Yix0aGlzLmgrKyx0aGlzLkMoKSk7cmV0dXJuITF9O3ZhciBKdD1mdW5jdGlvbigpe30sSXQ9ZnVuY3Rpb24oKXt9O3ZhciBLdD1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEuY2xhc3NOYW1lPT0ic3RyaW5nIj9hLmNsYXNzTmFtZTphLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifSxMdD1mdW5jdGlvbihhLGIpe3R5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU9YjphLnNldEF0dHJpYnV0ZSYmYS5zZXRBdHRyaWJ1dGUoImNsYXNzIixiKX0sTXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QuY29udGFpbnMoYik6Xy50YShhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiKX0sTnQ9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighTXQoYSxiKSl7dmFyIGM9S3QoYSk7THQoYSxjKyhjLmxlbmd0aD4wPyIgIitiOmIpKX19LE90PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QucmVtb3ZlKGIpOk10KGEsYikmJgpMdChhLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxmdW5jdGlvbihjKXtyZXR1cm4gYyE9Yn0pLmpvaW4oIiAiKSl9O3ZhciBRdD1mdW5jdGlvbihhLGIsYyxkLGUpe2I9Ynx8e307dGhpcy5XPWV8fFtdO3RoaXMuQT1bXTt0aGlzLkY9W107UHQodGhpcyxhfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYi5WZj09PXZvaWQgMHx8ISFiLlZmKTt0aGlzLkM9Y3x8anQ7dGhpcy5EPWIubGk7dGhpcy5qPXRoaXMuZz10aGlzLm89dGhpcy5kYz1udWxsO3RoaXMuQj0hIWIuYmo7dGhpcy5MPSEhYi5aaTt0aGlzLks9dGhpcy5CPzI3OjEzO3RoaXMuST0hMDt0aGlzLkc9W107dGhpcy5sPW5ldyBCdCh0aGlzLGQpfSxSdD1mdW5jdGlvbihhLGIsYyxkKXthLmwuanx8KGI9e2RnOmIsYWc6YyxBYTpbXSxRZjpbXSxyYjpbXSx0ZXh0TGVuZ3RoOjAsc2l6ZTowLGNvbnRpbnVvdXM6ITB9LGEuZGM9bnVsbCxDdChhLmwsYS5oKSxEdChhLmwsZCksRXQoYS5sLCgwLF8ueSkoZnVuY3Rpb24oZSl7dGhpcy51aShlKTtkKCl9LGEpKSxGdChhLmwsYikpfSxTdD1mdW5jdGlvbihhLGIpe3JldHVybiBhLkFhLmxlbmd0aD4wPwpuZXcgYihhLkFhLGEucmIuam9pbigiIiksYS5RZixhLnRleHRMZW5ndGgsYS5zaXplKTpudWxsfSxUdD1mdW5jdGlvbihhLGIpe2lmKCFhLmopcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2lmKCFiLmNvbnRpbnVvdXMmJmIuQWEubGVuZ3RoPjApcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2IuY29udGludW91cz1hLmouS2Y7YTp7dmFyIGM9YS5qO3ZhciBkPWEuSztpZihiLnNpemU+Yi5hZ3x8Yi50ZXh0TGVuZ3RoPmIuZGcpYz0hMTtlbHNle3ZhciBlPWMuc2l6ZSxmPWMudGV4dC5sZW5ndGg7aWYoYi5BYS5sZW5ndGghPTAmJihlKz1iLkFhLmxlbmd0aD09MT9iLnNpemUrZCtkOmIuc2l6ZStkLGYrPWIudGV4dExlbmd0aCxlPmIuYWd8fGY+Yi5kZykpe2M9ITE7YnJlYWsgYX1iLnNpemU9ZTtiLnRleHRMZW5ndGg9ZjtiLkFhLnB1c2goYy5ub2RlKTtiLlFmLnB1c2goYy50ZXh0KTtkPWIuQWEubGVuZ3RoLTE7ZD09MD9iLnJiLnB1c2goYy5MZCk6KGQ9PTEmJihiLnJiWzBdPSI8YSBpPTA+IisKYi5yYlswXSsiPC9hPiIpLGIucmIucHVzaCgiPGEgaT0iK2QrIj4iKSxiLnJiLnB1c2goYy5MZCksYi5yYi5wdXNoKCI8L2E+IikpO2M9ITB9fWlmKGMpcmV0dXJuIGEuaj1udWxsLCExO2EuZGM9U3QoYixhLkMpO3JldHVybiEwfSxVdD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bnQoYixjKTtkJiZfLkFjKGpvKGQpKSYmYS5HLnB1c2goe25vZGU6YixZZzpjLHRleHQ6ZH0pfTsKUXQucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2lmKHRoaXMuaiYmVHQodGhpcyxiKSlyZXR1cm4gSXQ7aWYoIXRoaXMuZyl7dGhpcy5JPSEhdGhpcy5BLmxlbmd0aDtpZighdGhpcy5BLmxlbmd0aCYmKGE9dGhpcy5HLnNoaWZ0KCkpKXJldHVybiB0aGlzLmo9e0tmOiExLG5vZGU6Z3QoYS5ub2RlLGEuWWcpLHRleHQ6YS50ZXh0LExkOmxvKGEudGV4dCksc2l6ZTp0aGlzLkI/Xy5HYihhLnRleHQpLmxlbmd0aDphLnRleHQubGVuZ3RofSxiLmNvbnRpbnVvdXM9ITEsVHQodGhpcyxiKSxJdDthPXRoaXMuQS5zaGlmdCgpfHx0aGlzLkYuc2hpZnQoKTtpZighYSlyZXR1cm4gdGhpcy5qPW51bGwsVHQodGhpcyxiKSxJdDt0aGlzLm89W2EuWWldO3RoaXMuZz1uZXcgZHMoYS5yb290KX10aGlzLmcubmV4dCgpO2lmKHRoaXMuZy5kb25lKXJldHVybiB0aGlzLmc9bnVsbCxiLmNvbnRpbnVvdXM9ITEsdGhpcy5oO2E9dGhpcy5nLm5vZGUoKTt2YXIgZD10aGlzLmcuZy5nOwppZihkPT0tMSlyZXR1cm4gVnQodGhpcyksV3QoYSl8fChiLmNvbnRpbnVvdXM9ITEpLHRoaXMuaDtYdCh0aGlzLGEpO2Q9ZD09MTt2YXIgZT0hIWEmJihhLm5vZGVUeXBlPT0zJiZ0eXBlb2YgYS5ub2RlVmFsdWU9PT0ic3RyaW5nInx8YS50YWdOYW1lPT0iVElUTEUiJiZ0eXBlb2YgYS52YWx1ZT09PSJzdHJpbmcifHxhLnRhZ05hbWU9PSJURVhUQVJFQSImJk10KGEsInRyYW5zbGF0ZSIpfHxhLnRhZ05hbWU9PSJJTlBVVCImJihZclthLnR5cGVdfHxNdChhLCJ0cmFuc2xhdGUiKSkpO2lmKChlfHxkKSYmdGhpcy5JJiYhWXQoYSkpcmV0dXJuIFB0KHRoaXMsYSxadCh0aGlzKSwhMCksYnModGhpcy5nLmcpLFZ0KHRoaXMpLHRoaXMuaDtpZihkJiZadCh0aGlzKSYmKHRoaXMuTCYmVXQodGhpcyxhLCJ0aXRsZSIpLFV0KHRoaXMsYSwiYWx0IiksVXQodGhpcyxhLCJwbGFjZWhvbGRlciIpLFV0KHRoaXMsYSwiYXJpYS1sYWJlbCIpLFV0KHRoaXMsYSwiYXJpYS1wbGFjZWhvbGRlciIpLFV0KHRoaXMsCmEsImFyaWEtcm9sZWRlc2NyaXB0aW9uIiksVXQodGhpcyxhLCJhcmlhLXZhbHVldGV4dCIpLGVzKHRoaXMuZykpKWZvcih2YXIgZj1hLmZpcnN0Q2hpbGQ7Zjspe2lmKGYubm9kZVR5cGU9PTMpe3ZhciBnPWYubm9kZVZhbHVlLnNwbGl0KCJcbiIpO2lmKGcubGVuZ3RoPjJ8fGcubGVuZ3RoPT0yJiZfLkFjKGdbMF0pIT0iIiYmXy5BYyhnWzFdKSE9IiIpe2Yubm9kZVZhbHVlPWdbMF07Zm9yKHZhciBoPTE7aDxnLmxlbmd0aDsrK2gpe3ZhciBrPV8uc2QoYSkuY3JlYXRlRWxlbWVudCgiZm9udCIpO3RoaXMuVy5wdXNoKGspO3hvKGssZik7Zj1rO3hvKF8uc2QoYSkuY3JlYXRlVGV4dE5vZGUoIlxuIitnW2hdKSxmKTtmPWYubmV4dFNpYmxpbmd9fX1mPWYubmV4dFNpYmxpbmd9YS5zaGFkb3dSb290JiZBcnJheS5mcm9tKGEuc2hhZG93Um9vdC5jaGlsZE5vZGVzKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe1B0KGMscixadChjKSl9KTtpZihlKXticyh0aGlzLmcuZyk7aWYoWnQodGhpcykpe3ZhciBsPQpudChhKTtpZihfLkFjKGpvKGwpKSYmKHRoaXMuaj17S2Y6ITAsbm9kZTpndChhKSx0ZXh0OmwsTGQ6bG8obCksc2l6ZTp0aGlzLkI/Xy5HYihsKS5sZW5ndGg6bC5sZW5ndGh9LFR0KHRoaXMsYikpKXJldHVybiBWdCh0aGlzKSxJdH1WdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGQpe2lmKCR0KGEpfHwhYS5maXJzdENoaWxkJiZhLnRhZ05hbWUhPSJJRlJBTUUiJiZhLnRhZ05hbWUhPSJSVUJZIilyZXR1cm4gYi5jb250aW51b3VzPWIuY29udGludW91cyYmISFYclthLnRhZ05hbWVdLGJzKHRoaXMuZy5nKSxWdCh0aGlzKSx0aGlzLmg7aWYoYS50YWdOYW1lPT0iUlVCWSIpe3RyeXtsPV8uQyhhLmNoaWxkTm9kZXMpO2Zvcih2YXIgbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBxPW4udmFsdWU7cS5ub2RlVHlwZSE9MyYmUHQodGhpcyxxLFp0KHRoaXMpKX19Y2F0Y2gocil7fWJzKHRoaXMuZy5nKTtWdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGEudGFnTmFtZT09IklGUkFNRSIpe3RyeXtpZighYS5zcmMubWF0Y2goL2h0dHBzPzpcL1wvLyl8fApfLkNiKGEuc3JjLm1hdGNoKF8ucmYpWzNdfHxudWxsKT09d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKXt2YXIgcD16byhhKS5kb2N1bWVudEVsZW1lbnQ7cCYmUHQodGhpcyxwLFp0KHRoaXMpKX19Y2F0Y2gocil7fWIuY29udGludW91cz0hMTticyh0aGlzLmcuZyk7VnQodGhpcyk7cmV0dXJuIHRoaXMuaH1adCh0aGlzKSYmV3QoYSk/dGhpcy5EJiZhLnRhZ05hbWU9PSJBIiYmYS5ocmVmJiZ0aGlzLkQoYSk6Yi5jb250aW51b3VzPSExO3JldHVybiB0aGlzLmh9YnModGhpcy5nLmcpO1Z0KHRoaXMpO3JldHVybiB0aGlzLmh9Owp2YXIgJHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG10KGEpfHxhLm5vZGVUeXBlIT0zJiYoIWEudGFnTmFtZXx8V3JbYS50YWdOYW1lXXx8WHJbYS50YWdOYW1lXXx8TXQoYSwic2tpcHRyYW5zbGF0ZSIpKX0sYXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZChhKTtyZXR1cm4gYi5kZWZhdWx0VmlldyYmYi5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlP2IuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpOmEuY3VycmVudFN0eWxlfSxZdD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09Mz8hMDphLm5vZGVUeXBlIT0xPyExOmEub2Zmc2V0V2lkdGgmJmEub2Zmc2V0SGVpZ2h0PyEwOihhPWF1KGEpLCEhYSYmYS5kaXNwbGF5IT0ibm9uZSImJmEudmlzaWJpbGl0eSE9ImhpZGRlbiIpfSxXdD1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlPT0zKXJldHVybiEwO2lmKGEubm9kZVR5cGUhPTEpcmV0dXJuITE7dmFyIGI9YXUoYSk7cmV0dXJuISFWclthLnRhZ05hbWVdJiYKKCFifHwhYi5kaXNwbGF5fHxiLmRpc3BsYXk9PSJpbmxpbmUiKX0sUHQ9ZnVuY3Rpb24oYSxiLGMsZCl7KGQ/YS5GOmEuQSkucHVzaCh7cm9vdDpiLFlpOmM9PT12b2lkIDB8fGN9KX0sWnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub1thLm8ubGVuZ3RoLTFdfSxYdD1mdW5jdGlvbihhLGIpe2I9IW10KGIpJiYoYi5ub2RlVHlwZT09JG4mJlp0KGEpfHwhKE10KGIsIm5vdHJhbnNsYXRlIil8fGIuYXR0cmlidXRlcyYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09Im5vIikmJihNdChiLCJ0cmFuc2xhdGUiKXx8ISFiLmF0dHJpYnV0ZXMmJiEhYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09InllcyJ8fFp0KGEpKSk7YS5vLnB1c2goYil9LFZ0PWZ1bmN0aW9uKGEpe2Euby5wb3AoKX0sYnU9e307RHIuYXR0YWNoKDU3NjIsUXQucHJvdG90eXBlLHt1aToxfSk7dmFyIGN1PWZ1bmN0aW9uKCl7Xy51LmNhbGwodGhpcyk7dGhpcy5nPVtdfTtfLkIoY3UsXy51KTtjdS5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe3FzKHRoaXMuaCwwLHRoaXMpfTtjdS5wcm90b3R5cGUuaD1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpXy5BZCh0aGlzLmdbYV0pO3RoaXMuZz1bXX07Y3UucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKX07dmFyIGR1PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7YS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3lvKGMpP2IuYWRkKGMpOihjPWMucGFyZW50RWxlbWVudHx8bnVsbCxjIT1udWxsJiZiLmFkZChjKSl9KTtyZXR1cm4gYn07dmFyIGV1PWZ1bmN0aW9uKGEpe3RoaXMuaD0hMDt0aGlzLmw9YTt0aGlzLmo9ITE7dGhpcy5nPVtdfTtldS5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmpvaW4oIiIpfTt2YXIgZnU9ZnVuY3Rpb24oYSxiKXt0aGlzLm89YTt0aGlzLmw9ITA7dGhpcy5qPWI7dGhpcy5nPW51bGw7dGhpcy5oPTB9LGd1PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubD8oYigoMCxfLnkpKGEuQSxhKSxhLm8sYS5qPyJlbiI6IiIpLCEwKTohMX07ZnUucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuaD1jO2EoKX07dmFyIGh1PWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5EPSEhYjt0aGlzLmc9dGhpcy5DPTA7dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkE9dGhpcy5CPXRoaXMuaD0wfSxrdT1mdW5jdGlvbihhLGIsYyl7YS5EJiYoYi09OSk7Zm9yKHZhciBkPSIiLGU9MCxmPWEuQztmPGEubC5sZW5ndGg7KytmKXt2YXIgZz1hLmwuY2hhckF0KGYpLGg9Zy5jaGFyQ29kZUF0KDApO2UrKzthLmgrPWEuRD9oPD0xMjc/aDw9MzJ8fGl1W2hdPzM6MTpoPD0yMDQ3fHxoPj01NTI5NiYmaDw9NTYzMTl8fGg+PTU2MzIwJiZoPD01NzM0Mz82Ojk6MTtoPWEuaD49YjtqdVtnXT8oYS5vPWYsYS5CPWEuaCxoPWh8fGU+Yyk6Zz09IiAiJiYoYS5qPWYsYS5BPWEuaCxoPWh8fGU+Yyk7aWYoaClyZXR1cm4gYS5vPj0wPyhkPWEubC5zdWJzdHJpbmcoYS5nLGEubysxKSxhLmgtPWEuQixhLmc9YS5vKzEsYS5vPj1hLmo/KGEuaj0tMSxhLkE9MCk6YS5BLT1hLkIsYS5vPS0xLGEuQj0wKTphLmo+PTA/KGQ9YS5sLnN1YnN0cmluZyhhLmcsCmEuaisxKSxhLmgtPWEuQSxhLmc9YS5qKzEsYS5qPS0xLGEuQT0wKTooZD1hLmwuc3Vic3RyaW5nKGEuZyxmKzEpLGEuaD0wLGEuZz1mKzEsYS5vPWEuaj0tMSxhLkE9YS5CPTApLGEuQz1mKzEsZH1hLmc8YS5sLmxlbmd0aCYmKGQ9YS5sLnN1YnN0cmluZyhhLmcpLGEuZz1hLmwubGVuZ3RoKTtyZXR1cm4gZH0sanU9aXIoWyIuIiwiLCIsIjoiLCJcXD8iLCIhIl0pLGx1PVsiLiIsIj8iLCIhIl0saXU9aXIoWzM0LDM1LDM2LDM3LDM4LDQzLDQ0LDQ3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDkxLDkyLDkzLDk0LDk2LDEyMywxMjQsMTI1LDEyN10pO3ZhciB0bT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIodG0sXy5KKTt2YXIgbXU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG11LF8uSik7dmFyIG51PWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihudSxfLkopO3ZhciBvdT1bMSwyXTt2YXIgcHU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKHB1LF8uSik7cHUucHJvdG90eXBlLlJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIHF1PV8uS2kocHUpO3ZhciBydTt2YXIgc3U9ZnVuY3Rpb24oKXt0aGlzLmhhPW5ldyBfLldmfSx0dT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7cmV0dXJuIF8uVmkoZnVuY3Rpb24oZSl7Yz1jbShhbSgkbChuZXcgWmwsImh0dHBzIiksYi5ob3N0KSxiLnBhdGgpO2Q9bmV3IFByb21pc2UoZnVuY3Rpb24oZixnKXtfLk5kKGEuaGEsInN1Y2Nlc3MiLGZ1bmN0aW9uKCl7Zih7Y29kZTpfLmhnKGEuaGEpLGhlYWRlcnM6TG4oYS5oYSksYm9keTpfLmlnKGEuaGEpfSl9KTtfLk5kKGEuaGEsImVycm9yIixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSk7Xy5OZChhLmhhLCJ0aW1lb3V0IixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSl9KTthLmhhLnNlbmQoYyxiLm1ldGhvZCxiLmJvZHksYi5oZWFkZXJzKTtyZXR1cm4gZS5yZXR1cm4oZCl9KX07dmFyIHJuPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihybixfLkopO3ZhciBxbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIocW4sXy5KKTt2YXIgcG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5mayhhLDEsYil9O3ZhciB3dT1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmO3JldHVybiBfLlZpKGZ1bmN0aW9uKGcpe2lmKGcuZz09MSl7Yj1ydXx8KHJ1PXF1KCdbMixudWxsLFtbW1siYXV0b3B1c2giLFsiYXV0b3B1c2gtdHJhbnNsYXRlLXBhLnNhbmRib3guZ29vZ2xlYXBpcy5jb20iXV0sWyJzdGFnaW5nIixbImRhaWx5MS10cmFuc2xhdGUtcGEuc2FuZGJveC5nb29nbGVhcGlzLmNvbSJdXSxbInByb2QiLFsidHJhbnNsYXRlLXBhLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC1ldSIsWyJ0cmFuc2xhdGUtcGEuZXUucmVwLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC11cyIsWyJ0cmFuc2xhdGUtcGEudXMucmVwLmdvb2dsZWFwaXMuY29tIl1dXV1dXScpKTtjPW1xO25xJiYoYz1jKyItIitucSk7dmFyIGg9YnAoYixudSwzKTt2YXIgaz1oLko7az1JbChIbChrKSxrLHZvaWQgMCxvdSk7aD1icChoLG11LGs9PT0xPzE6LTEpO2s9aC5KO3ZhciBsPWtbXy5IXXwwO2g9dW0oaCxrLGwsXy5XZyhoLGwpKS5nZXQoYyk7CmQ9Xy5OKGgsMSk7aD1uZXcgJHA7az1zbShhLDEsXy5haigpKTtoPUdsKGgsMSxrLG5tKS5OYShhLkphKCkpLm5hKGEub2EoKSk7az1uZXcgYXE7aD1fLkwoaywxLGgpO2g9c24oaCwyLHRxKTtfLk0ocHEsNykmJl8uZWooaCw0LCEwKTtlPWg7Zy5GKDIpO3JldHVybiBnLmgodnUoZCxlKSw0KX1pZihnLmchPTIpcmV0dXJuIGY9Zy5qLGcucmV0dXJuKHRuKGYpKTtnLkQoKTtyZXR1cm4gZy5yZXR1cm4oUHJvbWlzZS5yZWplY3QoRXJyb3IoIkFhIikpKX0pfSx2dT1mdW5jdGlvbihhLGIpe3ZhciBjPXh1LGQsZSxmLGc7cmV0dXJuIF8uVmkoZnVuY3Rpb24oaCl7aWYoaC5nPT0xKXJldHVybiBkPXtob3N0OmEscGF0aDoiL3YxL3RyYW5zbGF0ZUh0bWwiLG1ldGhvZDoiUE9TVCIsaGVhZGVyczp7IlgtZ29vZy1hcGkta2V5IjoiQUl6YVN5QVRCWGFqdnpRTFRESEVRYmNwcTBJaGUwdldESG1PNTIwIiwiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiJ9LGJvZHk6Xy5XaihiKX0sCmU9Yy5nKCksaC5GKDIpLGguaCh0dShlLGQpLDQpO2lmKGguZyE9MilyZXR1cm4gZj1oLmosaC5yZXR1cm4oY3EoZi5ib2R5KSk7Zz1oLkQoKTtyZXR1cm4gaC5yZXR1cm4oUHJvbWlzZS5yZWplY3QoZykpfSl9O3ZhciB4dT1uZXcgZnVuY3Rpb24oKXt0aGlzLmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHN1fX0seXU9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9LHp1PWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO3JldHVybiBfLlZpKGZ1bmN0aW9uKGYpe2lmKGYuZz09MSlyZXR1cm4gc20oYiwxLF8uYWooKSkubGVuZ3RoPT09MD9mLnJldHVybihuZXcgcW4pOl8uTShwcSw4KT9mLnJldHVybih3dShiKSk6Zi5oKGEuZy50cmFuc2xhdGUoY3x8ZnVuY3Rpb24oKXt9LHNtKGIsMSxfLmFqKF8uV2gpKSxiLkphKCksYi5vYSgpLDAsITEpLDIpO2Q9Zi5qO2U9ZC5tYXAodW4pO3JldHVybiBmLnJldHVybihwbihuZXcgcW4sZSkpfSl9O3ZhciBBdT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQXUsXy5KKTt2YXIgQnU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEF1O3JldHVybiBHbChiLDEsYSxubSl9O0F1LnByb3RvdHlwZS5KYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07QXUucHJvdG90eXBlLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDIsYSl9O0F1LnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywzKX07QXUucHJvdG90eXBlLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDMsYSl9O3ZhciBDdT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5CPWR8fGZ1bmN0aW9uKCl7fTt0aGlzLlA9Znx8ZnVuY3Rpb24oKXt9O3RoaXMuUj0hIWU7dGhpcy5qPWEuZy5JZjt0aGlzLmw9MDt0aGlzLkk9ZnVuY3Rpb24oKXt9O3RoaXMuRD1jO3RoaXMuRj10aGlzLmg9dGhpcy5vPTA7dGhpcy5nPW51bGw7dGhpcy5XPTA7dGhpcy5sYT0hMTt0aGlzLlQ9YS5nLkdmO3RoaXMuSz1bXTt0aGlzLnFiPTA7dGhpcy5MPWEuZy5LZDt0aGlzLkE9YS5sKCk7dGhpcy53YT10aGlzLlI/MTo2O3RoaXMuSWE9YS5nLldmO3RoaXMucWE9Yjt0aGlzLkM9W107dGhpcy5PPWF9O0N1LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5DLmxlbmd0aDsrK2EpdGhpcy5DW2FdLnN0b3AoKTtmb3IoYT0wO2E8dGhpcy5LLmxlbmd0aDsrK2EpVHIodGhpcy5PLHRoaXMuS1thXSl9Owp2YXIgRHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2EuST0oMCxfLnkpKGZ1bmN0aW9uKCl7KytjPT10aGlzLkMubGVuZ3RoJiZiKCl9LGEpfSxFdT1mdW5jdGlvbihhLGIsYyl7YS5CPWZ1bmN0aW9uKCl7fTthLnFhPWI7YS5nPW51bGw7YS5xYj0wO2EuQz1bXTthLkk9ZnVuY3Rpb24oKXt9O2EuRD1jfSxGdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5oPT0wJiYoYS5oPWI/M0UzOmEuQSwhY3x8Yzw9YS5BKSl7YS5vPWEuaDtyZXR1cm59ZG8gYj1hLmgsYS5oPGEuQSYmKGEuaCo9YS53YSxhLmg+YS5BJiYoYS5oPWEuQSkpO3doaWxlKGIhPWEuaCYmYyYmYS5oPGMpO2Eubz1hLmh9LEd1PWZ1bmN0aW9uKGEsYil7dmFyIGM9YiE9bnVsbCxkPSFjJiYhYS5sYTsoZHx8YykmJmEuQigxMDAsZCxiKX0sSHU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuTD9hLmcuUjphLmcubWEoKS5sZW5ndGh9LEl1PWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBRdChhLnFhLnNoaWZ0KCkse2JqOmEuTCxsaTpiLApWZjohMCxaaTohIWN9LGZ1bmN0aW9uKCl7dmFyIGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbmV3IGp0KGYuc2hpZnQoKSxmLnNoaWZ0KCksZi5zaGlmdCgpLGYuc2hpZnQoKSxmLnNoaWZ0KCksYyxkKX0sYS5ELGUpfSxLdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5UPjAmJmIubGIoKT49YS5UKXJldHVybiEwO2lmKEh1KGEpPmEuaCl7aWYoYi5sYigpPjApcmV0dXJuITA7RnUoYSxjLEh1KGEpKTtmb3IodmFyIGQ9YS5nLm1hKCksZT1uZXcgaHUoZCxhLkwpLGY7Zj1rdShlLGEuaCxhLmopOylpZihsdS5pbmRleE9mKGYuY2hhckF0KGYubGVuZ3RoLTEpKTwwJiZiLksrKyxiLmwucHVzaChuZXcgZnUoW2ZdLCExKSksYS5sKz1mLmxlbmd0aCxhLmotPWYubGVuZ3RoLGEuajw9MCl7Yi5GPWQuc3Vic3RyaW5nKGUuZyk7YnJlYWt9ZWxzZSBGdShhLGMpO0p1KGIsYS5nLCEwKTthLmc9bnVsbDtyZXR1cm4hMH1pZihIdShhKT5hLm8pcmV0dXJuITA7SnUoYiwKYS5nLCEwKTthLm8tPUh1KGEpK2EuSWE7YS5sKz1hLmcuRDthLmotPWEuZy5EO2EuZz1udWxsO3JldHVybiExfSxMdT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz17WmE6MH07Yy5aYTxhLmxlbmd0aDtjPXtaYTpjLlphfSxjLlphKyspYVtjLlphXS5sZW5ndGg+MSYmYVtjLlphXVsxXT09PTIwMD9iLnB1c2guYXBwbHkoYixfLiRiKGFbYy5aYV1bMF0udG9TdHJpbmcoKS5zcGxpdCgiJmx0O2V4dHJhX2lkXzEmZ3Q7IikubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm5bZS50cmltKCksYVtkLlphXVsxXV19fShjKSkpKTpiLnB1c2goYVtjLlphXSk7cmV0dXJuIGJ9LE11PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGssbCxuO3JldHVybiBfLlZpKGZ1bmN0aW9uKHEpe3N3aXRjaChxLmcpe2Nhc2UgMTp2YXIgcD1wcTtpZihfLmJqKHAsaXEsNikpe3ZhciByPV8uYmoocCxpcSw2KSx0PV8uTShyLDEpO3A9Xy5NKHAsMyl8fHQ/KHQ/c20ociw0LF8uYWooKSk6CnNtKHAsNCxfLmFqKCkpKS5pbmNsdWRlcyhkLnRvTG93ZXJDYXNlKCkrIl8iK2UudG9Mb3dlckNhc2UoKSk6ITF9ZWxzZSBwPSExO2Y9cDtpZihmKXt2YXIgQT1BPT09dm9pZCAwPzNFMzpBO2lmKHA9Xy5iaihwcSxpcSw2KSlwPV8uYmoocHEsaXEsNikscD1fLk0ocCwxKTtpZihwKXtwPV8uYmoocHEsaXEsNik7QT1fLmdrKHAsMyk7cD1fLmdrKHAsMik7cj1bXTtmb3IodD0wO3Q8Yy5sZW5ndGg7dCsrKXt2YXIgRD1bY1t0XV0sRT1jW3RdLmxlbmd0aDtpZihjW3RdLnNwbGl0KCIgIikubGVuZ3RoPD1wKWZvcig7dCsxPGMubGVuZ3RoJiZFPEE7KUQucHVzaChjW3QrMV0pLEUrPWNbdCsxXS5sZW5ndGgrMisxOCx0Kys7ci5wdXNoKEQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1yfWVsc2V7cD1bXTtmb3Iocj0wO3I8Yy5sZW5ndGg7KXt0PVtdO2ZvcihFPTA7cjxjLmxlbmd0aDspe0Q9Y1tyXTt2YXIgYmE9RC5sZW5ndGg7RT10Lmxlbmd0aD09PTA/YmE6RSsyMCtiYTtpZihFPgpBJiZ0Lmxlbmd0aD4wKWJyZWFrO3QucHVzaChEKTtyKyt9dC5sZW5ndGg+MCYmcC5wdXNoKHQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1wfX1lbHNlIEE9YztnPUE7aD16dShuZXcgeXUoYS5PKSxCdShnKS5OYShkKS5uYShlKSxiKTtxLkYoMik7cmV0dXJuIHEuaChoLDQpO2Nhc2UgNDprPXEuajtsPXZuKGspO249Zj9MdShsKTpsO2IobiwyMDApO3EuSygzKTticmVhaztjYXNlIDI6cS5EKCksYihbXSw1MDApO2Nhc2UgMzpyZXR1cm4gYS5LLnB1c2goaCkscS5yZXR1cm4oaCl9fSl9O3ZhciBOdT1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMubD1iO3RoaXMuaj17cm9vdE1hcmdpbjphfTt0aGlzLmc9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5oLHRoaXMpLHRoaXMuail9O18uQihOdSxfLnUpO051LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nPW51bGx9O051LnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0uaW50ZXJzZWN0aW9uUmF0aW8+MCl7dGhpcy5sKCk7YnJlYWt9fTtOdS5wcm90b3R5cGUudHJhY2s9ZnVuY3Rpb24oYSl7Sm8oYSwoMCxfLnkpKHRoaXMuZy5vYnNlcnZlLHRoaXMuZykpfTt2YXIgT3U9ZnVuY3Rpb24oYSl7dmFyIGI9YSE9bnVsbD9hOnt9LGM9Yi5JayxkPWIuS2ssZT1iLkVrLGY9Yi5MayxnPWIuSGssaD1iLkprLGs9Yi5GayxsPWIuR2s7YT1fLnlsKCk7IWwmJnNwKGMpPyhlPSEhZSxmPSEhZixiPWImJmIuUWssYz0oMCxfLnRsKShzcChjKT8iPHNjcmlwdCIrKGI/JyBub25jZT0iJytQKFlwKGIpKSsnIic6IiIpKyI+d2luZG93WydwcENvbmZpZyddID0ge3Byb2R1Y3ROYW1lOiAiK3ZwKFFwKGQhPW51bGw/ZDoidW5rbm93biIpKSsiLCBkZWxldGVJc0VuZm9yY2VkOiAiK3ZwKFFwKGUpKSsiLCBzZWFsSXNFbmZvcmNlZDogIit2cChRcChmKSkrIiwgaGVhcnRiZWF0UmF0ZTogIit2cChRcChnIT1udWxsP2c6LjUpKSsiLCBwZXJpb2RpY1JlcG9ydGluZ1JhdGVNaWxsaXM6ICIrdnAoUXAoaCE9bnVsbD9oOjZFNCkpKyIsIGRpc2FibGVBbGxSZXBvcnRpbmc6ICIrdnAoUXAoayE9bnVsbD9rOiExKSkrIn07Iit2cChRcChjIT1udWxsP2M6IiIpKSsiXHgzYy9zY3JpcHQ+IjoKIiIpKTpjPSIiO3JldHVybiBXbihhLGMpfTt2YXIgUHU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy50bCkoJzxzcGFuIGlkPSInK1AoYS5pZCkrJyI+PC9zcGFuPicpfSxRdT1mdW5jdGlvbihhKXt2YXIgYj1hLmlkLGM9YS5SZjtyZXR1cm4oMCxfLnRsKShLcChhLlNmKSsnPGRpdiBpZD0iJytQKGIpKyciPjwvZGl2PicrS3AoYykpfSxZbj1mdW5jdGlvbihhKXt2YXIgYj1hLnRvcCxjPWEubGVmdCxkPWEuYm90dG9tLGU9YS5yaWdodCxmPWEuaWQ7cmV0dXJuKDAsXy51bCkoIi4iK0FwKGEuY2xhc3NOYW1lKSsiIHt6LWluZGV4Ojk5OTk5OTk7IG92ZXJmbG93OnZpc2libGU7IHBvc2l0aW9uOmZpeGVkOyBfcG9zaXRpb246YWJzb2x1dGU7IisoYnx8Yj09PTA/InRvcDoiK0FwKGIpKyJweDsgX3RvcDpleHByZXNzaW9uKCgiK0FwKGIpKyIrKGhhY2sxPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSkrJ3B4Jyk7IjoidG9wOmF1dG87IikrKGN8fGM9PT0wPyJsZWZ0OiIrQXAoYykrCiJweDsgX2xlZnQ6ZXhwcmVzc2lvbigoIitBcChjKSsiKyhoYWNrMj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoibGVmdDphdXRvOyIpKyhkfHxkPT09MD8iYm90dG9tOiIrQXAoZCkrInB4OyBfdG9wOmV4cHJlc3Npb24oKC0iK0FwKGQpKyItZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIrU3RyaW5nKGYpLnJlcGxhY2UoUnAsR3ApKyInKS5vZmZzZXRIZWlnaHQrKGhhY2szPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KSsoaGFjazQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKSsncHgnKTsiOiJib3R0b206YXV0bzsiKSsoZXx8ZT09PTA/InJpZ2h0OiIrQXAoZSkrInB4OyBfbGVmdDpleHByZXNzaW9uKCgtIitBcChlKSsiLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciKwpTdHJpbmcoZikucmVwbGFjZShScCxHcCkrIicpLm9mZnNldFdpZHRoKyhoYWNrNT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh8fGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpKyhoYWNrNj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoicmlnaHQ6YXV0bzsiKSsifSIpfSxSdT1mdW5jdGlvbigpe3JldHVybigwLF8udGwpKCc8ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15ZiIpKyciPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08iKSsnIj48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUiKSsnIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgNjYgNjYiPjxjaXJjbGUgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtSnQ1Y0siKSsKJyIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCIvPjwvc3ZnPjwvZGl2PjwvZGl2PicpfTt3bi54Yj12b2lkIDA7d24uZz1mdW5jdGlvbigpe3JldHVybiB3bi54Yj93bi54Yjp3bi54Yj1uZXcgd259O3duLnByb3RvdHlwZS5nPTA7Xy5HKHhuLF8uaGIpO18ubT14bi5wcm90b3R5cGU7Xy5tLmNpPXduLmcoKTtfLm0uUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYXx8KHRoaXMubGE9IjoiKyh0aGlzLmNpLmcrKykudG9TdHJpbmcoMzYpKX07Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DfTtfLm0ubmQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5LJiZ0aGlzLkshPWEpdGhyb3cgRXJyb3IoIkNhIik7eG4uZWEubmQuY2FsbCh0aGlzLGEpfTtfLm0uUz1mdW5jdGlvbigpe3RoaXMuQz10aGlzLmguY3JlYXRlRWxlbWVudCgiRElWIil9O18ubS5rYT1mdW5jdGlvbihhKXtTdSh0aGlzLGEpfTtfLm0ucWM9ZnVuY3Rpb24oYSl7U3UodGhpcyxhLnBhcmVudE5vZGUsYSl9O3ZhciBTdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qYil0aHJvdyBFcnJvcigiRGEiKTthLkN8fGEuUygpO2I/Yi5pbnNlcnRCZWZvcmUoYS5DLGN8fG51bGwpOmEuaC5nLmJvZHkuYXBwZW5kQ2hpbGQoYS5DKTthLksmJiFhLksuamJ8fGEuTGEoKX07Cl8ubT14bi5wcm90b3R5cGU7Xy5tLmFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuamIpdGhyb3cgRXJyb3IoIkRhIik7aWYoYSl7dGhpcy53YT0hMDt2YXIgYj1fLnNkKGEpO3RoaXMuaCYmdGhpcy5oLmc9PWJ8fCh0aGlzLmg9Xy5sYihhKSk7dGhpcy5PYShhKTt0aGlzLkxhKCl9ZWxzZSB0aHJvdyBFcnJvcigiRWEiKTt9O18ubS5PYT1mdW5jdGlvbihhKXt0aGlzLkM9YX07Xy5tLkxhPWZ1bmN0aW9uKCl7dGhpcy5qYj0hMDtUdSh0aGlzLGZ1bmN0aW9uKGEpeyFhLmpiJiZhLkgoKSYmYS5MYSgpfSl9O18ubS5zYT1mdW5jdGlvbigpe1R1KHRoaXMsZnVuY3Rpb24oYSl7YS5qYiYmYS5zYSgpfSk7dGhpcy5PJiZfLlJmKHRoaXMuTyk7dGhpcy5qYj0hMX07Cl8ubS5NPWZ1bmN0aW9uKCl7dGhpcy5qYiYmdGhpcy5zYSgpO3RoaXMuTyYmKHRoaXMuTy5kaXNwb3NlKCksZGVsZXRlIHRoaXMuTyk7VHUodGhpcyxmdW5jdGlvbihhKXthLmRpc3Bvc2UoKX0pOyF0aGlzLndhJiZ0aGlzLkMmJl8uQWQodGhpcy5DKTt0aGlzLks9dGhpcy5DPXRoaXMuUj10aGlzLkY9bnVsbDt4bi5lYS5NLmNhbGwodGhpcyl9O3ZhciBTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuUmEoKSsiLiIrYn0sVHU9ZnVuY3Rpb24oYSxiKXthLkYmJmEuRi5mb3JFYWNoKGIsdm9pZCAwKX07CnhuLnByb3RvdHlwZS5pZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W107dGhpcy5GJiZ0aGlzLkYubGVuZ3RoIT0wOyl7dmFyIGM9YixkPWMucHVzaCxlPXRoaXMuRj90aGlzLkZbMF18fG51bGw6bnVsbCxmPWE7aWYoZSl7dmFyIGc9dHlwZW9mIGU9PT0ic3RyaW5nIj9lOmUuUmEoKTt0aGlzLlImJmc/KGU9dGhpcy5SLGU9KGUhPT1udWxsJiZnIGluIGU/ZVtnXTp2b2lkIDApfHxudWxsKTplPW51bGw7aWYoZyYmZSl7dmFyIGg9dGhpcy5SO2cgaW4gaCYmZGVsZXRlIGhbZ107Xy52YSh0aGlzLkYsZSk7ZiYmKGUuc2EoKSxlLkMmJl8uQWQoZS5DKSk7Zj1lO2lmKGY9PW51bGwpdGhyb3cgRXJyb3IoIkJhIik7Zi5LPW51bGw7eG4uZWEubmQuY2FsbChmLG51bGwpfX1pZighZSl0aHJvdyBFcnJvcigiRmEiKTtkLmNhbGwoYyxlKX1yZXR1cm4gYn07dmFyIFV1PWZ1bmN0aW9uKCl7eG4uY2FsbCh0aGlzKX07Xy5CKFV1LHhuKTtVdS5wcm90b3R5cGUuUz1mdW5jdGlvbigpe3RoaXMuT2Eoa20oUnUpKX07VXUucHJvdG90eXBlLk9hPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfTtVdS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe050KHRoaXMuSCgpLCJWSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdjIik7TnQodGhpcy5IKCkuZmlyc3RDaGlsZCwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08tdGk2aEdjIil9O3ZhciBWdT1mdW5jdGlvbihhKXtPdChhLkgoKSwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtd09ITXlmLXRpNmhHYyIpO090KGEuSCgpLmZpcnN0Q2hpbGQsIlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHYyIpfTt2YXIgV3U9ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IFV1O3RoaXMuZy5TKCk7dGhpcy5nLmthKCk7dGhpcy5oPTB9O1d1LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuaD0wO1Z1KHRoaXMuZyl9O3ZhciBYdT1XcShjciksWXU9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt0aGlzLmw9YTt0aGlzLmc9Yjt0aGlzLkM9W107dGhpcy5GPW51bGw7dGhpcy5vPWM7dGhpcy5oPWQ7dGhpcy5qPWU7dGhpcy5xYT1mO3RoaXMuTz1nO3RoaXMuRD10aGlzLkE9bnVsbDt0aGlzLkI9aHx8bnVsbDt0aGlzLlc9dGhpcy5JPSExO3RoaXMuRz17fTt0aGlzLkw9WHU7dGhpcy5LPTB9LFp1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEubGVuZ3RoO2MrKylzdChhW2NdKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3JldHVybiBiLmFkZChkKX0pO3JldHVybiBifTsKWXUucHJvdG90eXBlLnRyYWNrVmlzaWJpbGl0eT1mdW5jdGlvbihhKXt0aGlzLkE9bmV3IE51KCIyMDBweCIsKDAsXy55KSh0aGlzLlIsdGhpcyxhKSk7dGhpcy5BLnRyYWNrKGR1KFp1KFtdLmNvbmNhdCh0aGlzLmcsdGhpcy5DKSkpKTt0aGlzLkQ9bmV3IE51KCIwcHgiLCgwLF8ueSkodGhpcy5QLHRoaXMpKTt0aGlzLkQudHJhY2soZHUoWnUoW10uY29uY2F0KHRoaXMuZyx0aGlzLkMpKSkpfTtZdS5wcm90b3R5cGUuUj1mdW5jdGlvbihhKXt0aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpO2EoKX07WXUucHJvdG90eXBlLlA9ZnVuY3Rpb24oKXt0aGlzLkk9ITA7JHUodGhpcyk7aWYoIXRoaXMuVyYmdGhpcy5CKXt2YXIgYT10aGlzLkI7YS5oKys9PTAmJmEuZy5zaG93KCl9fTt2YXIgJHU9ZnVuY3Rpb24oYSl7YS5EJiYoYS5ELmcuZGlzY29ubmVjdCgpLGEuRD1udWxsKX07Cll1LnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7aWYodGhpcy5JJiYhdGhpcy5XJiZ0aGlzLkIpe3ZhciBhPXRoaXMuQjstLWEuaD09MCYmVnUoYS5nKX10aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpOyR1KHRoaXMpO2F2KHRoaXMpfTt2YXIgSnU9ZnVuY3Rpb24oYSxiLGMpe2M/KGEuZy5wdXNoKGIpLGEuR1tiLm1hKCldPSEwKTphLkMucHVzaChiKX07WXUucHJvdG90eXBlLmxiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5sZW5ndGgrdGhpcy5DLmxlbmd0aH07dmFyIGJ2PWZ1bmN0aW9uKGEpe2lmKGEubC5sZW5ndGg9PTApe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmcubGVuZ3RoOysrYyliLnB1c2goYS5nW2NdLm1hKCkpO2EubC5wdXNoKG5ldyBmdShiLCExKSl9fTsKWXUucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7ZCsrO2Q9PWMmJmUoKX1idih0aGlzKTtmb3IodmFyIGM9MCxkPTAsZT1mdW5jdGlvbigpe30sZj10aGlzLm8sZz10aGlzLmgsaD10aGlzLmosaz0wO2s8dGhpcy5sLmxlbmd0aDsrK2spZ3UodGhpcy5sW2tdLGZ1bmN0aW9uKGwsbixxKXtyZXR1cm4gTXUoZixfLlpqKGwsYiksbixxfHxnLGgpfSkmJmMrKztjIT0wJiYoZT1HdChhKSk7cmV0dXJuIGN9O3ZhciBhdj1mdW5jdGlvbihhKXtpZihhLmcubGVuZ3RoPjApe2lmKGEuZy5sZW5ndGg9PTEmJmEubC5sZW5ndGg+MSl7dmFyIGI9MTt2YXIgYz1hLmwubGVuZ3RofWVsc2UgYj1jPWEuZy5sZW5ndGg7dmFyIGQ9YS5nLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5EfSkucmVkdWNlKGZ1bmN0aW9uKGUsZil7cmV0dXJuIGUrZn0pO2hyKGEuTCx7bGI6YixNZjpjLGdnOmQsTGY6YS5LfSl9fTt2YXIgY3Y9e2FtOiJOb3RvIFNhbnMgRXRoaW9waWMiLGJlcjoiTm90byBTYW5zIFRpZmluYWdoIiwiYm0tTmtvbyI6Ik5vdG8gU2FucyBOS28iLGJuOiJMb2hpdCBCZW5nYWxpIixibzoiTm90byBTZXJpZiBUaWJldGFuIixkdjoiTm90byBTYW5zIFRoYWFuYSIsZHo6Ik5vdG8gU2VyaWYgVGliZXRhbiIsaXU6Ik5vdG8gU2FucyBDYW5hZGlhbiBBYm9yaWdpbmFsIixrbToiTm9rb3JhIixsbzoiRGh5YW5hIixtbDoiTm90byBTYW5zIE1hbGF5YWxhbSIsIm1uaS1NdGVpIjoiTm90byBTYW5zIE1lZXRlaSBNYXllayIsbXk6Ik5vdG8gU2FucyBNeWFubWFyIiwicGEtQXJhYiI6Ik5vdG8gTmFzdGFsaXEgVXJkdSIscHM6Ik5vdG8gTmFza2ggQXJhYmljIixzYXQ6Ik5vdG8gU2FucyBPbCBDaGlraSIsc2Q6Ik5vdG8gTmFza2ggQXJhYmljIixzaToiTm90byBTYW5zIFNpbmhhbGEiLHRhOiJMb2hpdCBUYW1pbCIseXVlOiJDaG9jb2xhdGUgQ2xhc3NpY2FsIFNhbnMifSxkdj17fSxldj0oZHZbIkNob2NvbGF0ZSBDbGFzc2ljYWwgU2FucyJdPQoiL2NzczI/ZmFtaWx5PUNob2NvbGF0ZStDbGFzc2ljYWwrU2FucyIsZHYuRGh5YW5hPSIvY3NzP2ZhbWlseT1EaHlhbmEiLGR2WyJMb2hpdCBCZW5nYWxpIl09Ii9jc3M/ZmFtaWx5PUxvaGl0K0JlbmdhbGkiLGR2WyJMb2hpdCBUYW1pbCJdPSIvY3NzP2ZhbWlseT1Mb2hpdCtUYW1pbCIsZHYuTm9rb3JhPSIvY3NzP2ZhbWlseT1Ob2tvcmEiLGR2WyJOb3RvIE5hc2toIEFyYWJpYyJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc2toYXJhYmljLmNzcyIsZHZbIk5vdG8gTmFzdGFsaXEgVXJkdSJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc3RhbGlxdXJkdS5jc3MiLGR2WyJOb3RvIFNhbnMgQ2FuYWRpYW4gQWJvcmlnaW5hbCJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNjYW5hZGlhbmFib3JpZ2luYWwuY3NzIixkdlsiTm90byBTYW5zIEV0aGlvcGljIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc2V0aGlvcGljLmNzcyIsZHZbIk5vdG8gU2FucyBNYWxheWFsYW0iXT0iL2Vhcmx5YWNjZXNzL25vdG9zYW5zbWFsYXlhbGFtLmNzcyIsCmR2WyJOb3RvIFNhbnMgTWVldGVpIE1heWVrIl09Ii9jc3M/ZmFtaWx5PU5vdG8rU2FucytNZWV0ZWkrTWF5ZWsiLGR2WyJOb3RvIFNhbnMgTXlhbm1hciJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNteWFubWFyLmNzcyIsZHZbIk5vdG8gU2FucyBOS28iXT0iL2Nzcz9mYW1pbHk9Tm90bytTYW5zK05LbyIsZHZbIk5vdG8gU2FucyBPbCBDaGlraSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNvbGNoaWtpLmNzcyIsZHZbIk5vdG8gU2FucyBTaW5oYWxhIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3NpbmhhbGEuY3NzIixkdlsiTm90byBTYW5zIFRoYWFuYSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnN0aGFhbmEuY3NzIixkdlsiTm90byBTYW5zIFRpZmluYWdoIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3RpZmluYWdoLmNzcyIsZHZbIk5vdG8gU2VyaWYgVGliZXRhbiJdPSIvY3NzP2ZhbWlseT1Ob3RvK1NlcmlmK1RpYmV0YW4iLGR2KSxmdj1mdW5jdGlvbigpe3RoaXMuZz1bXX07CmZ2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPV8uQyh0aGlzLmcpLGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWIudmFsdWUucmVtb3ZlKCk7dGhpcy5nPVtdfTt2YXIgZ3Y9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9W107dGhpcy5sPVtdO3RoaXMuaD1hO3RoaXMuaj1ifTtfLkIoZ3YsXy51KTtndi5wcm90b3R5cGUubz1mdW5jdGlvbihhKXt2YXIgYj1fLkFjKGEuaHJlZik7Yi5pbmRleE9mKCJqYXZhc2NyaXB0OiIpPT0wfHxiLmluZGV4T2YoIiMiKT49MHx8KHRoaXMubC5wdXNoKGEuaHJlZiksdGhpcy5nLnB1c2goYSksYS5ocmVmPWIrIiNnb29ndHJhbnMvIit0aGlzLmgrIi8iK3RoaXMuail9O2d2LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5yZXN0b3JlKCl9O2d2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxlbmd0aCl7Zm9yKHZhciBhPTA7YTx0aGlzLmcubGVuZ3RoOysrYSl0aGlzLmdbYV0uaHJlZj10aGlzLmxbYV07dGhpcy5nPVtdO3RoaXMubD1bXX19O3ZhciBodj1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLnhmLnRlc3QoYik/InRyYW5zbGF0ZWQtcnRsIjoidHJhbnNsYXRlZC1sdHIiO2E9W10uY29uY2F0KHRoaXMuZyk7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil5byhhW2JdKSYmTnQoYVtiXSx0aGlzLmgpfTtfLkIoaHYsXy51KTtodi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpfTtodi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe2Zvcih2YXIgYT1bXS5jb25jYXQodGhpcy5nKSxiPTA7YjxhLmxlbmd0aDsrK2IpeW8oYVtiXSkmJk90KGFbYl0sdGhpcy5oKX07dmFyIGl2PWZ1bmN0aW9uKGEsYixjKXt0aGlzLmc9M0UzO3RoaXMuaD1bXTt0aGlzLmo9bnVsbDt0aGlzLm89YTt0aGlzLkViPWI7dGhpcy5GYj1jO3RoaXMubD1hJiZ0eXBlb2YgYS5sPT09ImZ1bmN0aW9uIj9hLmwoKXx8MThFMzoxOEUzfSxrdj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxrLGwsbixxO3JldHVybiBfLlZpKGZ1bmN0aW9uKHApe3N3aXRjaChwLmcpe2Nhc2UgMTpjPWxvKGIpO2Q9W107aWYoYy5sZW5ndGg+YS5nKWZvcihlPW5ldyBodShjLCExKSxmPSIiO2Y9a3UoZSxhLmcpOylkLnB1c2goZiksYS5nPGEubCYmKGEuZyo9NixhLmc+YS5sJiYoYS5nPWEubCkpO2Vsc2UgZC5wdXNoKGMpO2c9W107aD1fLkMoZCk7az1oLm5leHQoKTtjYXNlIDI6aWYoay5kb25lKXtwLnhhKDQpO2JyZWFrfWw9ay52YWx1ZTtuPWc7cT1uLnB1c2g7cmV0dXJuIHAuaChqdihhLGwpLDUpO2Nhc2UgNTpxLmNhbGwobixwLmopO2s9aC5uZXh0KCk7cC54YSgyKTticmVhaztjYXNlIDQ6cmV0dXJuIHAucmV0dXJuKHBvKGcuam9pbigiIikpKX19KX0sCmp2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGMsZCl7YS5oLnB1c2goe3RleHQ6YixyZXNvbHZlOmMscmVqZWN0OmR9KTthLmp8fChhLmo9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXthLmZsdXNoKCl9LDUwKSl9KX07aXYucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5qPW51bGw7aWYodGhpcy5oLmxlbmd0aCE9PTApe3ZhciBhPXRoaXMuaDt0aGlzLmg9W107dmFyIGI9bmV3IHl1KHRoaXMubyk7YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyYzp2b2lkIDB9LGM9YS5uZXh0KCkpZC5yYz1jLnZhbHVlLGM9QnUoW2QucmMudGV4dF0pLk5hKHRoaXMuRWIpLm5hKHRoaXMuRmIpLHp1KGIsYyxmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpeyhmPXZuKGYpWzBdKSYmZlsxXT09PTIwMD9lLnJjLnJlc29sdmUoZlswXS50b1N0cmluZygpKTplLnJjLnJlamVjdCgiVHJhbnNsYXRpb24gZmFpbGVkIil9fShkKSkuY2F0Y2goZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2UucmMucmVqZWN0KGYpfX0oZCkpfX07dmFyIGx2PWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLGwpe18udS5jYWxsKHRoaXMpO3RoaXMuQz1hO3RoaXMuRmM9Yjt0aGlzLmxmPW5ldyBmdjt0aGlzLmZiPWN8fG51bGw7dGhpcy5JYT1sfHxudWxsO3RoaXMuSz1udWxsO3RoaXMuSWQ9ISFkO3RoaXMuamk9ZXx8InRyYW5zcGFyZW50Ijt0aGlzLmlpPSEhZjt0aGlzLkY9W107dGhpcy55Zj10aGlzLkk9dGhpcy5nPSExO3RoaXMubz1ofHxuZXcgdHQ7dGhpcy5EaT0haDt0aGlzLndhPWd8fHh0LmcoKTt0aGlzLlVlPW5ldyBjdTt0aGlzLkhiPXRoaXMuZ2I9dGhpcy5SPSExO3RoaXMuZGY9dGhpcy5BPS41O3RoaXMuamY9LjAxO3RoaXMuRD1uZXcgenQodGhpcy5BKTt0aGlzLmxhPSh0aGlzLkI9dGhpcy5yYT0hIWspP25ldyBNdXRhdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5RaCx0aGlzKSk6bnVsbDt0aGlzLkw9dGhpcy5YZT10aGlzLmo9dGhpcy5oPW51bGw7dGhpcy5QPTA7dGhpcy5PPW5ldyBNYXA7Xy54KHdpbmRvdywiYmx1ciIsCnRoaXMudGYsITAsdGhpcyk7Xy54KHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O18uQihsdixfLnUpO18ubT1sdi5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaD90aGlzLmg6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo/dGhpcy5qOiIifTtfLm0uZ2g9ZnVuY3Rpb24oYSl7dGhpcy5vaS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Xy5tLmFmPWZ1bmN0aW9uKGEpe3RoaXMucGkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMubCYmdGhpcy5sKDAsITEsMSl9O18ubS5oaD1mdW5jdGlvbihhKXt0aGlzLnJpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLmwmJnRoaXMubCgwLCExLDEpfTtfLm0uaWg9ZnVuY3Rpb24oYSl7dGhpcy50aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Cl8ubS50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkfHxhIT10aGlzLmh8fGIhPXRoaXMuailtdih0aGlzKSx0aGlzLkRpJiYodGhpcy5vPW5ldyB0dCk7ZWxzZSBpZih0aGlzLmcpcmV0dXJuO3RoaXMubD1jO3RoaXMuQWk9ZTt0aGlzLkI9dGhpcy5yYTt0aGlzLmxhJiZ0aGlzLmxhLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxjaGlsZExpc3Q6ITAsY2hhcmFjdGVyRGF0YTohMCxzdWJ0cmVlOiEwfSk7dGhpcy5nPSEwO3RoaXMuaD1hO3RoaXMuaj1iO3RoaXMuSWQmJih0aGlzLks9bmV3IGd2KGEsYikpO3RoaXMuSGI9dGhpcy5oPT0iYXV0byI7dGhpcy5mYiYmKGM9dGhpcy5mYixhJiYoYy5EPWEpLGImJihjLkY9YikpO3RoaXMuWGI9bmV3IGh2KHRoaXMuQyx0aGlzLmopO2IgaW4gY3YmJihhPXRoaXMubGYsYiBpbiBjdiYmKGI9Y3ZbYl0sYz0iQGltcG9ydCB1cmwoIitXbygiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSIpLnJlc29sdmUoV28oZXZbYl0pKS50b1N0cmluZygpKwoiKTsiLGM9eW4oYyksYS5nLnB1c2goYyksYj15bignYm9keSB7Zm9udC1mYW1pbHk6IicrYisnIiwiR29vZ2xlIFNhbnMiLCJOb3RvIFNhbnMiLHNhbnMtc2VyaWYgIWltcG9ydGFudH0nKSxhLmcucHVzaChiKSkpO18ub2koXy5aaShwcSw5KSk/KHRoaXMuWGU9bmV3IGl2KHRoaXMuRmMsdGhpcy5oLHRoaXMuaiksdGhpcy5QPTAsbnYodGhpcyksdGhpcy5QPT09MCYmdGhpcy5sJiZ0aGlzLmwoMTAwLCEwKSk6dGhpcy5HPW92KHRoaXMpOyhiPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGwpJiZwdihiLHRoaXMuail9Owp2YXIgb3Y9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJ0KGEsYS53YSk7Q3QoYixhLnNmKTtFdChiLCgwLF8ueSkoYS5naCxhKSk7RnQoYixuZXcgQ3UoYS5GYyxbXS5jb25jYXQoYS5DKSxhLndhLGEubCxhLkIsYS5BaSkpO3JldHVybiBifSxudj1mdW5jdGlvbihhKXthLkw9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGIpe2IuZm9yRWFjaChmdW5jdGlvbihjKXtpZihjLmlzSW50ZXJzZWN0aW5nKXt2YXIgZD1jLmJvdW5kaW5nQ2xpZW50UmVjdDtkJiZkLndpZHRoPT09MCYmZC5oZWlnaHQ9PT0wfHwocXYoYSxjLnRhcmdldCksYS5MLnVub2JzZXJ2ZShjLnRhcmdldCkpfX0pfSk7W10uY29uY2F0KGEuQykuZm9yRWFjaChmdW5jdGlvbihiKXtydihhLGIpfSl9LHJ2PWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITA6YztpZighUXR8fCEkdChiKSl7YS5FZj09PXZvaWQgMCYmKGEuRWY9ISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9Imdvb2dsZSJdW2NvbnRlbnQ9Im5vdHJhbnNsYXRlIl0sIG1ldGFbbmFtZT0icm9ib3RzIl1bY29udGVudD0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJnb29nbGUiXVt2YWx1ZT0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJ0cmFuc2xhdGUiXVtjb250ZW50PSJubyJdJykpOwppZihhLkVmKWM9ITE7ZWxzZSBpZihiLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIjtRdCYmYnUmJihkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIik7ZD1iLmNsYXNzTGlzdCYmYi5jbGFzc0xpc3QuY29udGFpbnMoZCl8fGIuZ2V0QXR0cmlidXRlJiZiLmdldEF0dHJpYnV0ZSgidHJhbnNsYXRlIik9PT0ibm8iO2U9Yi5jbGFzc0xpc3QmJmIuY2xhc3NMaXN0LmNvbnRhaW5zKGUpfHxiLmdldEF0dHJpYnV0ZSYmYi5nZXRBdHRyaWJ1dGUoInRyYW5zbGF0ZSIpPT09InllcyI7Yz1kPyExOmU/ITA6Y31pZihiLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpYyYmXy5BYyhiLnRleHRDb250ZW50KSYmYi5wYXJlbnRFbGVtZW50JiZhLkwub2JzZXJ2ZShiLnBhcmVudEVsZW1lbnQpO2Vsc2UgaWYoYi5jaGlsZE5vZGVzKWZvcihlPTA7ZTxiLmNoaWxkTm9kZXMubGVuZ3RoO2UrKylydihhLGIuY2hpbGROb2Rlc1tlXSwKYyl9fSxxdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz17fSxkPTA7ZDxiLmNoaWxkTm9kZXMubGVuZ3RoO2M9e2tiOnZvaWQgMH0sZCsrKWMua2I9Yi5jaGlsZE5vZGVzW2RdLGMua2Iubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmXy5BYyhjLmtiLnRleHRDb250ZW50KSYmKGEuUCsrLGEuTy5oYXMoYy5rYil8fGEuTy5zZXQoYy5rYixjLmtiLnRleHRDb250ZW50KSxrdihhLlhlLGMua2IudGV4dENvbnRlbnQpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2Uua2IudGV4dENvbnRlbnQ9Zn19KGMpKS5jYXRjaChmdW5jdGlvbigpe30pLmZpbmFsbHkoZnVuY3Rpb24oKXthLlAtLTthLlA9PT0wJiZhLmwmJmEubCgxMDAsITApfSkpfTtsdi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe212KHRoaXMpO3RoaXMuVWUucmVzdG9yZSgpO3ZhciBhPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGw7YSYmcHYoYSx0aGlzLkphKCkpfTsKbHYucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKTtfLlVkKHdpbmRvdywiYmx1ciIsdGhpcy50ZiwhMCx0aGlzKTtfLlVkKHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O3ZhciBzdj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT13cihhLm8uaCksZj1uZXcgQnQoYSxiLkQpO2IuQy5wdXNoKGYpO0R0KGYsYi5JKTtGdShiLGUpO0N0KGYsZHx8YS5wZik7Yj1jfHxuZXcgWXUoW10sW10sYixhLkphKCksYS5vYSgpLGEueWYsYS5JLGEuSWEpO0V0KGYsYS5VaCxhKTthLkImJkR0KGYsYi5kb25lLGIpO0Z0KGYsYil9O18ubT1sdi5wcm90b3R5cGU7Xy5tLlVoPWZ1bmN0aW9uKGEsYixjKXtjLmRvbmUoKTt0aGlzLkk/dGhpcy5paChhKTp0aGlzLmhoKGEpO2Muby5JKCl9O18ubS51Zj1mdW5jdGlvbigpe3RoaXMuUj0hMTt0aGlzLlQ9MDt5dCh0aGlzLkQsdGhpcy5BKX07Cl8ubS50Zj1mdW5jdGlvbihhKXthLnRhcmdldD09d2luZG93JiYodGhpcy5SPSEwLHRoaXMuVD0wLHl0KHRoaXMuRCwuMDEpKX07Xy5tLlFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZyYmdGhpcy5CKWlmKF8ub2koXy5aaShwcSw5KSkpZm9yKHZhciBiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBjPWFbYl0uYWRkZWROb2RlcztpZihjKWZvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXJ2KHRoaXMsY1tkXSl9ZWxzZXtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0udGFyZ2V0JiZhW2JdLnRhcmdldC5jbGFzc05hbWUmJnR5cGVvZiBhW2JdLnRhcmdldC5jbGFzc05hbWU9PT0ic3RyaW5nIiYmKGFbYl0udGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCJ0cmFuc2xhdGUiKT49MHx8YVtiXS50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoImdvb2ctIik9PTApKXJldHVybjt0aGlzLndhLmFkZCgoMCxfLnkpKHRoaXMuTWksdGhpcykpfX07Cl8ubS5NaT1mdW5jdGlvbigpe3RoaXMuST0hMDt0aGlzLkcmJih0aGlzLkcuc3RvcCgpLHRoaXMuRz1vdih0aGlzKSk7cmV0dXJuITF9O18ubS5zZj1mdW5jdGlvbihhLGIpe0R1KGIsR3QoYSkpO3N2KHRoaXMsYik7cmV0dXJuIHRoaXMuWWh9O18ubS5ZaD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O2lmKCFIdChhKSlyZXR1cm4gSnQ7aWYoIXRoaXMuQilmb3IoYT0wO2E8dGhpcy5GLmxlbmd0aDsrK2Epe3ZhciBjPWIsZD0oMCxfLnkpKHRoaXMuTWUsdGhpcyxiLHRoaXMuRlthXSk7Yy5ELmFkZChkKX1yZXR1cm4gdGhpcy5YaH07Cl8ubS5uZj1mdW5jdGlvbihhLGIpe2lmKHRoaXMuVCYmIXRoaXMuUil7YT0obmV3IERhdGUpLmdldFRpbWUoKS10aGlzLlQ7dmFyIGM9dGhpcy5BO2E8OTAwJiZjPi4wMT9jPU1hdGgubWF4KGMqLjksLjAxKTphPjExMDAmJmM8LjUmJihjPU1hdGgubWluKGMqMS41LC41KSk7dGhpcy5BPWM7dGhpcy5nYj90aGlzLmpmPS4wMTp0aGlzLmRmPXRoaXMuQX10aGlzLkk9dGhpcy5nPSEwO3RoaXMuVD0obmV3IERhdGUpLmdldFRpbWUoKTt0aGlzLkNpIT0oYT1kb2N1bWVudC5ib2R5LmlubmVyVGV4dHx8ZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudHx8ZG9jdW1lbnQuYm9keS5pbm5lckhUTUwpPyh0aGlzLkNpPWEsYT0hMCk6YT0hMTthPyh0aGlzLmdiPSExLHRoaXMuQT10aGlzLmRmLHRoaXMuUnx8eXQodGhpcy5ELHRoaXMuQSksRXUoYixbXS5jb25jYXQodGhpcy5DKSx0aGlzLkQpLGE9bmV3IEJ0KHRoaXMsdGhpcy5EKSxDdChhLHRoaXMuc2YpLEV0KGEsKDAsXy55KSh0aGlzLmFmLHRoaXMpKSwKRnQoYSxiKSx0aGlzLkc9YSk6KHRoaXMuZ2I9ITAsdGhpcy5BPXRoaXMuamYsdGhpcy5SfHx5dCh0aGlzLkQsdGhpcy5BKSxhPW5ldyBCdCh0aGlzLHRoaXMuRCksQ3QoYSx0aGlzLm5mKSxFdChhLCgwLF8ueSkodGhpcy5hZix0aGlzKSksRnQoYSxiKSx0aGlzLkc9YSk7cmV0dXJuIEl0fTtfLm0uWGg9ZnVuY3Rpb24oYSxiKXtpZighdGhpcy5nKXJldHVybiBJdDt0aGlzLkk9dGhpcy5nPSExO3RoaXMuSGI/R3UoYiwhMCk6KEd1KGIpLGIuUChiLmwpKTtpZih0aGlzLmlpKXJldHVybiB0aGlzLm5mO2IuY2xlYXIoKTtyZXR1cm4gSXR9Owp2YXIgdXY9ZnVuY3Rpb24oYSxiLGMpe2E6e3ZhciBkPXR2KGEpLGU9YS5mYixmPWEuamksZz1hLlVlLmc7Yj1HdChiKTtpZighYy5HKXtpZihjLnFhLmxlbmd0aD09MCl7Yy5sPT0wJiZjLnFiPT0wJiZjLkIoMCwhMCk7Yz0hMTticmVhayBhfWMuRz1JdShjLGQsZSxmLGcpfWMucmE9ITA7UnQoYy5HLGMuaixjLmgsYik7Yz0hMH1yZXR1cm4gYz9hLnBmOmEuU2N9LHR2PWZ1bmN0aW9uKGEpe3JldHVybiBhLklkPygwLF8ueSkoYS5LLm8sYS5LKTpmdW5jdGlvbigpe319O18ubT1sdi5wcm90b3R5cGU7Cl8ubS5wZj1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O3ZhciBjPWIubztpZihjLmc9PW51bGwpe2lmKCFjLnJhKXJldHVybiB1dih0aGlzLGEsYi5vKTtpZighSHQoYSkpcmV0dXJuIEp0O2MucmE9ITE7Yy5nPWMuRy5kY3x8bnVsbDt2YXIgZD1jLmc/Yy5nOmMuRz1udWxsO2lmKCFkKXJldHVybiB1dih0aGlzLGEsYi5vKTt0aGlzLkYucHVzaChkKTt2YXIgZT1kLm1hKCk7aWYodGhpcy5vLmhhcyhlLCF0aGlzLkIpfHxiLkdbZV0hPW51bGwmJmIuR1tlXSlyZXR1cm4gZT1jLmcuRCxjLmwrPWUsYy5qLT1lLGMuZz1udWxsLHRoaXMuQiYmSnUoYixkLCExKSx1dih0aGlzLGEsYi5vKTtlPXRoaXMubztkPWQubWEoKTtlLmdbZF09bnVsbH1iLmxiKCk+MCYmeXQodGhpcy5ELC41KTtyZXR1cm4gS3UoYyxiLHdyKHRoaXMuby5oKSk/dGhpcy5TYzp1dih0aGlzLGEsYi5vKX07Cl8ubS5TYz1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmd8fGIubGIoKT09MClyZXR1cm4gSXQ7c3YodGhpcyxiLm8pO3JldHVybiB0aGlzLkI/KGIudHJhY2tWaXNpYmlsaXR5KEd0KGEpKSx0aGlzLlpoKTpiLnRyYW5zbGF0ZShhKT09MD9JdDp0aGlzLnJmfTtfLm0uWmg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5nP0h0KGEpP2IudHJhbnNsYXRlKGEpPT0wP0l0OnRoaXMucmY6SnQ6SXR9OwpfLm0uTWU9ZnVuY3Rpb24oYSxiKXtiLmomJnRoaXMuby5yZW1vdmUoYi5sKTtpZighdGhpcy5nKXJldHVybiExO2lmKHRoaXMuby5oYXMoYi5tYSgpLCExKSl7dmFyIGM9dGhpcy5vO2MuaGFzKGIubCwhMSk/KGIuaD1jLnJlYWQoYi5sKSxiLkw9ITApOihjLnJlbW92ZShiLmwpLGIuaj0hMCk7cXQoYil9ZWxzZSBpZihjPXRoaXMubyxiLmopYy5yZW1vdmUoYi5sKTtlbHNlIGlmKGIuRil7dmFyIGQ9Yi5GLnJlcGxhY2UoLzxhIC9nLCI8c3BhbiAiKS5yZXBsYWNlKC9cL2E+L2csIi9zcGFuPiIpO2IuTD0hMDtkZWxldGUgYi5GO2IuRj1udWxsO2IuaD1bXTt2YXIgZT1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLGY9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTttcChmLCExKTtkPWQuaW5kZXhPZigiPGk+Iik+PTA/ZDoiPGI+IitkKyI8L2I+IjtkPV8uS2IoZCk7ZD1fLm1sKGQpO2Yubm9kZVR5cGU9PT0xJiZNbChmKTtmLmlubmVySFRNTD1fLmtqKGQpOwplLmJvZHkuYXBwZW5kQ2hpbGQoZik7ZT1bXTtmb3IoZD1mLmZpcnN0Q2hpbGQ7ZDtkPWQubmV4dFNpYmxpbmcpaWYoZC50YWdOYW1lPT0iSSIpdmFyIGc9b3QoYixFbyhkKSxkLmlubmVySFRNTCk7ZWxzZSBpZihkLnRhZ05hbWU9PSJCIil7Z3x8KGc9b3QoYiwiIiwiIikpO2lmKGIuZy5sZW5ndGg9PTEpdXQoZy5VLGUsMCxkKTtlbHNle3ZhciBoPWU7dmFyIGs9ZDt2YXIgbD1iLmc7Zz1nLlU7Zm9yKHZhciBuPVtdLHE9ay5maXJzdENoaWxkO3E7cT1wKXt2YXIgcD1xLm5leHRTaWJsaW5nO3Z0KHEpfWZvcihwPWsuZmlyc3RDaGlsZDtwO3A9cC5uZXh0U2libGluZylwLmF0dHJpYnV0ZXMmJnAuYXR0cmlidXRlcy5pPyhrPXBhcnNlSW50KHAuYXR0cmlidXRlcy5pLm5vZGVWYWx1ZSwxMCksIWlzTmFOKGspJiZrPj0wJiZrPGwubGVuZ3RoJiYobFtrXS5yZCYmbltrXT9uW2tdLlorPXAuZmlyc3RDaGlsZCYmcC5maXJzdENoaWxkLm5vZGVUeXBlPT0zP3AuZmlyc3RDaGlsZC5ub2RlVmFsdWU6CkVvKHApOm5ba109dXQoZyxoLGsscCkpKTpwLm5vZGVUeXBlPT0zJiZnLnB1c2goe1g6LTEsWjpwbyhwLm5vZGVWYWx1ZSl9KTtnIT1udWxsJiZnLmxlbmd0aD4wJiZnWzBdLlg9PS0xJiYoZy5sZW5ndGg9PTE/Z1swXS5YPTA6KGdbMV0uWj1nWzBdLlorZ1sxXS5aLGcuc2hpZnQoKSkpfWc9dm9pZCAwfWQ9Yi5oO2ZvcihoPTA7aDxkLmxlbmd0aC0xOysraClsPWRbaF0sZz1rbyhsLlVbbC5VLmxlbmd0aC0xXS5aKSxnPWcuY2hhckNvZGVBdChnLmxlbmd0aC0xKSwxMjI4ODw9ZyYmZzw9MTIzNTF8fDY1MjgwPD1nJiZnPD02NTUxOXx8KGwuVVtsLlUubGVuZ3RoLTFdLlorPSIgIik7Xy5BZChmKTtmb3IoZj0wO2Y8Yi5nLmxlbmd0aDsrK2YpZjxlLmxlbmd0aCYmZjxiLkMubGVuZ3RoJiZlW2ZdIT1udWxsJiYoZD1iLkNbZl0saD1lW2ZdLnN0YXJ0LGghPW51bGwmJihsPWQuc3Vic3RyaW5nKDAsZC5sZW5ndGgtZC5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikubGVuZ3RoKSxsPT0iICImJgoobD0iIiksbCYmKGguWj1sK2guWi5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikpKSxoPWVbZl0uZW5kLGghPW51bGwmJihkPWQuc3Vic3RyaW5nKGtvKGQpLmxlbmd0aCksZD09IiAiJiYoZD0iIiksZCYmKGguWj1rbyhoLlopK2QpKSk7Yi5oLmxlbmd0aCE9MXx8Yi5oWzBdLmhlfHwoYi5oWzBdLmhlPWIubCk7Yy53cml0ZShiLmwsYi5oKTtxdChiKX1iLkl8fCh0aGlzLkhiPSExKTtjPWIuaj8hMDp2b2lkIDA7YS5XKz1iLkQ7YyE9bnVsbCYmKGEubGE9ITApO2I9TWF0aC5taW4oTWF0aC5mbG9vcihhLlcqMTAwL2EubCksMTAwKTtpZihhLkYhPWJ8fGMpYS5GPWIsYS5SPyhhLkIoYS5GLCEwLGMpLGEuUChhLlcpKTphLkIoYS5GLCExLGMpO3JldHVybiExfTsKXy5tLnJmPWZ1bmN0aW9uKGEsYil7aWYoIXRoaXMuZylyZXR1cm4gSXQ7aWYoIUh0KGEpKXJldHVybiBKdDtpZihiLmxiKCk+MSl7YT1iLmxbMF07dmFyIGM9Yi5nO2lmKGEuanx8Yy5sZW5ndGg9PTB8fGEuZz09bnVsbHx8YS5nLmxlbmd0aD09MClhPW51bGw7ZWxzZXtmb3IodmFyIGQ9W10sZT1bXSxmPTA7ZjxhLmcubGVuZ3RoJiZmPGMubGVuZ3RoOysrZil7dmFyIGc9YS5nW2ZdO2cmJmdbMF0mJmdbMV09PTIwMHx8KGUucHVzaChjW2ZdKSxkLnB1c2goYS5vW2ZdKSl9YT1lLmxlbmd0aD4wP3tOaTpuZXcgZnUoZCwhMCksT2k6ZX06bnVsbH1hPWE/bmV3IFl1KFthLk5pXSxhLk9pLGIubyxiLmgsYi5qLGIucWEsYi5PLGIuQik6bnVsbDthIT1udWxsJiZzdih0aGlzLGIubyxhLHRoaXMuU2MpfWVsc2V7YT0hMTtmb3IoYz0wO2M8Yi5sLmxlbmd0aDsrK2MpZD1iLmxbY10sZC5qfHxkLmg9PTIwMCYmZC5nJiZkLmdbMF0/ZD1kLmw9ITE6KGQuaj0hMCxkPWQubD0hMCksYT1kfHxhO2lmKGEpcmV0dXJuIHRoaXMuU2N9ZD0KdGhpcy5KYSgpO2E9dGhpcy5vYSgpO2lmKGIuZy5sZW5ndGg+MSlpZihjPWIubFswXSxlPWQ9PSJhdXRvIixkPWIuZyxjLmg9PTIwMClmb3IoZj0wO2Y8Yy5nLmxlbmd0aCYmZjxkLmxlbmd0aDsrK2YpaWYoKGc9Yy5nW2ZdKSYmZ1sxXT09MjAwKXt2YXIgaD1nWzJdLGs9ZFtmXSxsPWssbj1oIT1udWxsJiZoPT1hO2wuRj1nWzBdO24hPT12b2lkIDAmJihsLks9bik7ay5JPWUmJmg9PW51bGx9ZWxzZSBkW2ZdLmo9ITA7ZWxzZSBmb3IoYT0wO2E8ZC5sZW5ndGg7KythKWRbYV0uaj0hMDtlbHNle2M9bmV3IGV1KGQ9PSJhdXRvIik7Zm9yKGQ9MDtkPGIubC5sZW5ndGg7KytkKWY9Yi5sW2RdLGU9YSxmLmg9PTIwMCYmZi5nJiZmLmdbMF0/KGY9Zi5nWzBdLGMuZy5wdXNoKGZbMF0pLGY9ZlsyXSxjLmg9Yy5oJiZmIT1udWxsJiZmPT1lLGYhPW51bGwmJihjLmw9ITEpKTpjLmo9ITA7Yi5GIT1udWxsJiYoYy5nLnB1c2goYi5GKSxiLkY9bnVsbCk7aWYoYT1iLmdbMF0pZD1jLm1hKCksZT1jLmgsCmEuRj1kLGUhPT12b2lkIDAmJihhLks9ZSksYS5JPWMubCxhLmo9Yy5qfWlmKHRoaXMuQil7YT0oMCxfLnkpKHRoaXMuTWUsdGhpcyk7Zm9yKGM9MDtjPGIuZy5sZW5ndGg7YysrKWEoYi5vLGIuZ1tjXSk7Zm9yKGM9MDtjPGIuQy5sZW5ndGg7YysrKWEoYi5vLGIuQ1tjXSk7JHUoYik7Yi5XPSEwO2IuSSYmYi5CJiYoYj1iLkIsLS1iLmg9PTAmJlZ1KGIuZykpfXJldHVybiBJdH07CnZhciBtdj1mdW5jdGlvbihhKXthLmxhJiZhLmxhLmRpc2Nvbm5lY3QoKTthLklhJiZhLklhLnJlc2V0KCk7YS5nJiYoYS5HJiZhLkcuc3RvcCgpLGEuZz0hMSxhLkk9ITEpO2lmKGEuRi5sZW5ndGgpe2Zvcih2YXIgYj0wO2I8YS5GLmxlbmd0aDsrK2IpYS5GW2JdLmRpc3Bvc2UoKTthLkY9W119YS5LIT1udWxsJiYoYS5LLnJlc3RvcmUoKSxhLks9bnVsbCk7YS5YYiE9bnVsbCYmKGEuWGIucmVzdG9yZSgpLGEuWGI9bnVsbCk7YS5PJiZhLk8uc2l6ZT4wJiYoYS5PLmZvckVhY2goZnVuY3Rpb24oYyxkKXtkLnRleHRDb250ZW50PWN9KSxhLk8uY2xlYXIoKSk7YS5MJiYoYS5MLmRpc2Nvbm5lY3QoKSxhLkw9bnVsbCk7YS5sZi5yZXN0b3JlKCl9LHB2PWZ1bmN0aW9uKGEsYil7YS5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIikmJmEuc2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIsYik7YS5nZXRBdHRyaWJ1dGUoImxhbmciKSYmYS5zZXRBdHRyaWJ1dGUoImxhbmciLGIpfTsKRHIuYXR0YWNoKDMwNDYsbHYucHJvdG90eXBlLHtvaToxLHJpOjIscGk6Myx0aTo0fSk7dmFyIHZ2PVdxKGNyKSx3dj1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayxsLG4pe18udS5jYWxsKHRoaXMpO3RoaXMuTz1ifHxudWxsO3RoaXMuSz0hIWM7dGhpcy5HPWR8fCJ0cmFuc3BhcmVudCI7dGhpcy5EPWZ8fCIiO2I9Z3x8e2ZldGNoU3RhcnQ6MCxTazowfTthPWIuZmV0Y2hTdGFydHx8MDtiPWIuZmV0Y2hFbmR8fDA7dGhpcy5GPWEmJmI/Yi1hOjA7dGhpcy5SPURhdGUubm93KCktcnE7dGhpcy5BPSExO3RoaXMuZz1uZXcgUnIoZXx8IiIsdm9pZCAwLGYsbik7dGhpcy5JPW5ldyB6dCgxKTt0aGlzLkI9bmV3IHR0O3RoaXMubD1udWxsO3RoaXMuQz0hMDt0aGlzLm89Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsO3RoaXMuTD1ofHxudWxsO2U9bmV3IGpyO2Y9bmV3IGxyKHRoaXMuZy5pbml0aWFsaXplLmJpbmQodGhpcy5nLGUucmVnaXN0ZXIoKSkpO3RoaXMuemM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy56Yyx0aGlzKSkpO3RoaXMuUGM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5QYywKdGhpcykpKTt0aGlzLnFkPW1yKGYsZS5kZWxheSgoMCxfLnkpKHRoaXMucWQsdGhpcykpKTt0aGlzLnJlc3RvcmU9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5yZXN0b3JlLHRoaXMpKSk7Zi5maW5pc2goKTtlLmZpbmlzaCgpO3BlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiZwZXJmb3JtYW5jZS5tYXJrKFJxLHZvaWQgMCk7ZT1kcih2diwxKTtmPW5ldyBRbjtmPV8uVGooZiwxLHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO2E6e2lmKHBlcmZvcm1hbmNlJiYoaD1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIiksaC5sZW5ndGg9PTEpKXtoPWhbMF07YnJlYWsgYX1oPW51bGx9aCYmKG49bmV3IEZtLG49Xy5UaihuLDEsIiIpLGE9R20oaC5zdGFydFRpbWUpLG49Xy5MKG4sMixhKSxhPUhtKGguZHVyYXRpb24pLG49Xy5MKG4sMyxhKSxhPW5ldyBQbixhPV8uVGooYSwxLGguaW5pdGlhdG9yVHlwZSksYT1fLlRqKGEsMixoLm5leHRIb3BQcm90b2NvbCksCmI9R20oaC53b3JrZXJTdGFydHx8MCksYT1fLkwoYSwzLGIpLGI9R20oaC5yZWRpcmVjdFN0YXJ0KSxhPV8uTChhLDQsYiksYj1HbShoLnJlZGlyZWN0U3RhcnQpLGE9Xy5MKGEsNCxiKSxiPUdtKGgucmVkaXJlY3RFbmQpLGE9Xy5MKGEsNSxiKSxiPUdtKGguZmV0Y2hTdGFydCksYT1fLkwoYSw2LGIpLGI9R20oaC5kb21haW5Mb29rdXBTdGFydCksYT1fLkwoYSw3LGIpLGI9R20oaC5kb21haW5Mb29rdXBFbmQpLGE9Xy5MKGEsOCxiKSxiPUdtKGguY29ubmVjdFN0YXJ0KSxhPV8uTChhLDksYiksYj1HbShoLmNvbm5lY3RFbmQpLGE9Xy5MKGEsMTAsYiksYj1HbShoLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksYT1fLkwoYSwxMSxiKSxiPUdtKGgucmVzcG9uc2VTdGFydCksYT1fLkwoYSwxMyxiKSxiPUdtKGgucmVzcG9uc2VFbmQpLGE9Xy5MKGEsMTQsYiksYT1fLmprKGEsMTUsaC50cmFuc2ZlclNpemUpLGE9Xy5qayhhLDE2LGguZW5jb2RlZEJvZHlTaXplKSxhPV8uamsoYSwxNyxoLmRlY29kZWRCb2R5U2l6ZSksCm49Sm0obiw2LGEpLF8uTChmLDMsbiksbj1ObShScSkpJiYoaD1PbShVcSx7c3RhcnQ6aC5yZXNwb25zZUVuZCxlbmQ6bi5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSkpJiYocGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMoVXEpLGg9S20oaCksXy5MKGYsNCxoKSxoPVVuKGUpLF8uTChoLDQsZikpO2ZyKGUsMSl9O18uRyh3dixfLnUpO0RyLmF0dGFjaCgxNDA5Nyx3di5wcm90b3R5cGUse2JlOmZ1bmN0aW9uKCl7UW0odGhpcy5nLlRhKCk/InRlX2FmYXMiOiJ0ZV9hZmF1Iil9fSk7Xy5tPXd2LnByb3RvdHlwZTtfLm0uUGk9ZnVuY3Rpb24oYSl7dGhpcy5vPWF9O18ubS5TYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuVGEoKX07Cl8ubS56Yz1mdW5jdGlvbihhLGIpe3RoaXMuZy5TYSgpP3RoaXMuZy5vLnNlbmQoe2Rpc3BsYXlfbGFuZ3VhZ2U6YixrZXk6IkFJemFTeUJXRGowUUp2Vkl4OFhPaFJlZ1hYNV9TclJXeGhUNUhzNCJ9LGEpLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGEoYyl9KToodGhpcy5iZSgpLGEobnVsbCkpfTsKXy5tLlBjPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nO2lmKGIpYShiKTtlbHNlIGlmKHRoaXMuZy5TYSgpKXtiPW5ldyBhcyhkb2N1bWVudC5ib2R5LCExLCExLDEsMSk7Zm9yKHZhciBjPVtdLGQ9MCxlPXRoaXMuZy5oLkhmO2MubGVuZ3RoK2Q8ZTspe3ZhciBmPWIubmV4dCgpO2lmKGYuZG9uZSlicmVhaztmPWYudmFsdWU7Yi5nPT0xJiYkdChmKT9icyhiKTpmLm5vZGVUeXBlPT0zJiYoZj1fLkFjKGpvKGYubm9kZVZhbHVlKSkpJiYoYy5wdXNoKGYpLGQrPWYubGVuZ3RoKX1Tcih0aGlzLmcsYSxjLmpvaW4oIiAiKSkudGhlbihmdW5jdGlvbihnKXthKGcpfSxmdW5jdGlvbihnKXtyZXR1cm4gYShudWxsLGcpfSl9ZWxzZSB0aGlzLmJlKCksYShudWxsLCEwKX07Cl8ubS5xZD1mdW5jdGlvbihhLGIsYyxkLGUpe3Z2LkViPWE7dnYuRmI9Yjt2YXIgZj1kcih2diwyKTtlcih2dixmKTt2YXIgZz1ObShScSk7aWYoZyl7dmFyIGg9Tm0oU3EpO2lmKGgpe3ZhciBrPU9tKFZxLHtzdGFydDpnLnN0YXJ0VGltZSxlbmQ6aC5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSk7ayYmKGc9VW4oZiksaD1uZXcgU24saz1LbShrKSxoPV8uTChoLDEsayksXy5MKGcsNSxoKSxwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhWcSkpfX1mcihmLDIpO2Y9e2RldGFpbDp7c291cmNlTGFuZ3VhZ2U6YSx0YXJnZXRMYW5ndWFnZTpifX07cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoU3EsZik7Zj1EYXRlLm5vdygpO0NyKCk7aWYoIWF8fHhyKGEsYikpYT0iYXV0byI7aWYoZXx8YSE9dGhpcy5ofHxiIT10aGlzLmopdGhpcy5CPW5ldyB0dDt0aGlzLmg9YTt0aGlzLmo9CmI7dGhpcy5nLlNhKCk/KGQ9ZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMubCYmdGhpcy5sLmRpc3Bvc2UoKSx0aGlzLmw9bmV3IGx2KGQsdGhpcy5nLHRoaXMuTyx0aGlzLkssdGhpcy5HLCEwLHRoaXMuSSx0aGlzLkIsdGhpcy5vLHRoaXMuTCksdGhpcy5sLnlmPXRoaXMuQSx0aGlzLkM9ITAsdGhpcy5sLnRyYW5zbGF0ZShhLGIsYyxlLCgwLF8ueSkodGhpcy55aSx0aGlzLGYsYSxiKSkpOih0aGlzLmJlKCksYygwLCExLCEwKSl9O18ubS5wZz1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5sJiZ0aGlzLmwuZ307Xy5tLllmPWZ1bmN0aW9uKGEpe3RoaXMuQT1hfTtfLm0ucmVzdG9yZT1mdW5jdGlvbigpe3ZhciBhPWRyKHZ2LDMpO2VyKHZ2LGEpO2ZyKGEsMyk7cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoVHEsdm9pZCAwKTtDcigpO3RoaXMuZy5TYSgpJiZ0aGlzLmwmJnRoaXMubC5yZXN0b3JlKCl9OwpfLm0uTT1mdW5jdGlvbigpe0JyKCk7d3YuZWEuTS5jYWxsKHRoaXMpO3RoaXMuZy5kaXNwb3NlKCk7dGhpcy5sPXRoaXMuZz1udWxsO3RoaXMuQj1uZXcgdHR9OwpfLm0ueWk9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5DJiYodGhpcy5DPSExLGI9e3NsOmIsdGw6Yyx0ZXh0bGVuOmR9LHRoaXMuQSYmKGIuY3R0PSIxIiksdGhpcy5EIT0iIiYmKGIuc3A9dGhpcy5EKSxiLnR0dD1EYXRlLm5vdygpLWEsYi50dGw9dGhpcy5SLHRoaXMuRiYmKGIudHRmPXRoaXMuRiksdGhpcy5vJiYoYi5zcj0xKSxhPXBxLGM9W10sXy5vaShfLlppKGEsMikpJiZjLnB1c2goInNkYSIpLF8ub2koXy5aaShhLDMpKSYmYy5wdXNoKCJlZWlzIiksZD1fLmJqKGEsaXEsNiksXy5vaShfLlppKGQsMSkpJiZjLnB1c2goImVzdHMiKSxfLm9pKF8uWmkoYSw3KSkmJmMucHVzaCgiZWhjbSIpLF8ub2koXy5aaShhLDgpKSYmYy5wdXNoKCJlb3BhIiksXy5vaShfLlppKGEsOSkpJiZjLnB1c2goImVhZHQiKSxiLmVmPWMuam9pbigiLCIpLFFtKCJ0ZV90aW1lIixiKSl9O3ZhciB4dj1mdW5jdGlvbihhKXt4bi5jYWxsKHRoaXMsYSk7dGhpcy5BPW5ldyBfLkhiKHRoaXMpfTtfLkIoeHYseG4pO3h2LnByb3RvdHlwZS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpO2EuY2xhc3NOYW1lPSJnb29nLXRlLWNvbWJvIjthLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsUi5FZSk7dGhpcy5PYShhKX07eHYucHJvdG90eXBlLkxhPWZ1bmN0aW9uKCl7eG4ucHJvdG90eXBlLkxhLmNhbGwodGhpcyk7dGhpcy5aZSgpfTt4di5wcm90b3R5cGUuWmU9ZnVuY3Rpb24oKXtfLngodGhpcy5IKCksImNoYW5nZSIscHIodGhpcywiY2hhbmdlIikpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTt4di5wcm90b3R5cGUuc2E9ZnVuY3Rpb24oKXt4bi5wcm90b3R5cGUuc2EuY2FsbCh0aGlzKTt0aGlzLkEuZGlzcG9zZSgpO3RoaXMuQT1udWxsfTsKdmFyIHl2PWZ1bmN0aW9uKGEsYil7YS5IKCkucGFyZW50Tm9kZSE9YiYmKGEuSCgpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYS5IKCkpLGIuYXBwZW5kQ2hpbGQoYS5IKCkpKX07Xy5tPXh2LnByb3RvdHlwZTtfLm0udWM9ZnVuY3Rpb24oYSl7dGhpcy5oLmllKHRoaXMuSCgpKTtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dmFyIGM9dGhpcy5oLlMoIk9QVElPTiIse3ZhbHVlOmJ9KTt0aGlzLmguU2IoYyxhW2JdKTt0aGlzLkgoKS5hcHBlbmRDaGlsZChjKX10aGlzLkgoKS5zZWxlY3RlZEluZGV4PTB9O18ubS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkgoKS52YWx1ZX07Xy5tLmNiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuSCgpLnZhbHVlIT1hKWZvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpe3RoaXMuSCgpLnNlbGVjdGVkSW5kZXg9YjticmVha319OwpfLm0uQWM9ZnVuY3Rpb24oYSl7aWYoXy5vYyhhKT09InVuZGVmaW5lZCIpcmV0dXJuIHRoaXMuSCgpLm9wdGlvbnMuaXRlbSh0aGlzLkgoKS5zZWxlY3RlZEluZGV4KS50ZXh0O2Zvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpcmV0dXJuIGMudGV4dH07Xy5tLlJiPWZ1bmN0aW9uKGEpe3RoaXMuSCgpLmRpc2FibGVkPSFhfTt2YXIgenY9ZnVuY3Rpb24oYSl7eHYuY2FsbCh0aGlzLGEpfTtfLkIoenYseHYpO3p2LnByb3RvdHlwZS5uYj1mdW5jdGlvbihhKXt0aGlzLnVjLmNhbGwodGhpcyxhKX07dmFyIEF2PWZ1bmN0aW9uKGEsYil7eHYuY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLm9lPXRoaXMuZy5vZXx8MTE7dGhpcy5nLnBkPXRoaXMuZy5wZCE9MDt0aGlzLmcuZWI9QXF9O18uQihBdix4dik7Xy5tPUF2LnByb3RvdHlwZTtfLm0uS2M9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiR2EiKTt9OwpfLm0uUz1mdW5jdGlvbigpe3RoaXMuS2MoKTt0aGlzLkQ9dGhpcy5IKCk7dGhpcy5sPXdvKCJJRlJBTUUiLHtmcmFtZUJvcmRlcjowLCJjbGFzcyI6IlZJcGdKZC1aVmk5b2QteGwwN09iLU9FVm1jZCBza2lwdHJhbnNsYXRlIix0aXRsZTpSLkVlfSk7dGhpcy5sLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiO21wKHRoaXMubCwhMSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmwpfTsKXy5tLlplPWZ1bmN0aW9uKCl7dmFyIGE9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIixiPV8uTGIodGhpcy5nLmViKSxjPVModGhpcywibWVudUJvZHkiKTt0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMucWcpO3RyKHRoaXMubCwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGQ9em8odGhpcy5sKSxlPXt9LGY9ZSYmZS5UZTtlPVduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoZSkpO2Y9JzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURjgiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicrUCh4cChiKSkrJyInKyhmPycgbm9uY2U9IicrUChZcChmKSkrJyInOiIiKSsnPjwvaGVhZD48Ym9keSBzY3JvbGw9Im5vIiBzdHlsZT0ibWFyZ2luOjBweDtvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciIG1hcmdpbkhlaWdodD0wIG1hcmdpbldpZHRoPTAgbGVmdE1hcmdpbj0wIHRvcE1hcmdpbj0wIGJvcmRlcj0wPjxkaXYgaWQ9IicrClAoYykrJyIgY2xhc3M9JztpZih3cCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLF8ucWwpKXt2YXIgZz1NcCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLm1hKCkpO2c9U3RyaW5nKGcpLnJlcGxhY2UoT3AsQ3ApfWVsc2UgZz0iVklwZ0pkLVpWaTlvZC14bDA3T2IiLnJlcGxhY2UoTnAsQ3ApO2U9Vm4oZSxmK2crIj48L2Rpdj48L2JvZHk+IikuVGIoKTtkLndyaXRlKF8ua2ooZSkpO2QuY2xvc2UoKX0sdGhpcykpfTtfLm0ucWc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5sKSk7dGhpcy5MPXRoaXMuai5IKFModGhpcywibWVudUJvZHkiKSk7dGhpcy5BLk4odGhpcy5ELCJjbGljayIsdGhpcy5UZCk7Xy5TYz90aGlzLkEuTih0aGlzLmwsImJsdXIiLHRoaXMuUmMpOnRoaXMuQS5OKEFvKHRoaXMubCksImJsdXIiLHRoaXMuUmMpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7eHYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7Xy5BZCh0aGlzLmwpO3RoaXMuRD10aGlzLlQ9dGhpcy5CPXRoaXMuTD10aGlzLmo9dGhpcy5sPW51bGx9O18ubS5xZj1mdW5jdGlvbihhKXt0aGlzLm8hPWEuY3VycmVudFRhcmdldC52YWx1ZSYmKHRoaXMuY2IoYS5jdXJyZW50VGFyZ2V0LnZhbHVlKSx0aGlzLmRpc3BhdGNoRXZlbnQoImNoYW5nZSIpKTt0aGlzLlJjKCl9O18ubS5UZD1mdW5jdGlvbigpe0J2KHRoaXMpO0FvKHRoaXMubCkuZm9jdXMoKTt0aGlzLnJhPSEwfTtfLm0uUmM9ZnVuY3Rpb24oKXt0aGlzLnJhJiYodGhpcy5yYT0hMSxCdih0aGlzLCExKSxfLm1iKF8uc2QodGhpcy5EKSkuZm9jdXMoKSl9O18ubS5rZT1mdW5jdGlvbigpe307Xy5tLmxlPWZ1bmN0aW9uKCl7fTsKdmFyIEJ2PWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGI9PSJ1bmRlZmluZWQifHxiKXthLmxlKCk7Yj1qcChhLkQsd2luZG93KTt2YXIgYz1iLnkrYS5ELm9mZnNldEhlaWdodCxkPWIueS1hLkcuaGVpZ2h0LGU9Yi54LGY9Yi54K2EuRC5vZmZzZXRXaWR0aC1hLkcud2lkdGg7aWYoXy5TYyYmIXNvKCkpe3ZhciBnPWRvY3VtZW50LmJvZHk7Yy09Zy5vZmZzZXRUb3A7ZC09Zy5vZmZzZXRUb3A7ZS09Zy5vZmZzZXRMZWZ0O2YtPWcub2Zmc2V0TGVmdH1lbHNlIGc9S24oZG9jdW1lbnQpLGMtPWcueSxkLT1nLnksZS09Zy54LGYtPWcueDtnPV8uaWIod2luZG93KTtiLnk9Yi55PD1nLmhlaWdodC1hLkcuaGVpZ2h0P2M6ZDtiLnk+Zy5oZWlnaHQtYS5HLmhlaWdodCYmKGIueT1nLmhlaWdodC1hLkcuaGVpZ2h0KTtiLnk8MCYmKGIueT0wKTtfLnhmLnRlc3Qob3EpP2IueD1mPj0wP2Y6ZTpiLng9ZTw9Zy53aWR0aC1hLkcud2lkdGg/ZTpmO2IueD5nLndpZHRoLWEuRy53aWR0aCYmKGIueD1nLndpZHRoLQphLkcud2lkdGgpO2IueDwwJiYoYi54PTApO2VwKGEubCxiKTttcChhLmwsITApO0N2KGEpfWVsc2UgYS5rZSgpLG1wKGEubCwhMSl9O18ubT1Bdi5wcm90b3R5cGU7Xy5tLk1hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub307Cl8ubS51Yz1mdW5jdGlvbihhKXt0aGlzLmouaWUodGhpcy5MKTttcCh0aGlzLmwsITApO3RoaXMuSWE9YTt0aGlzLkI9W107Zm9yKHZhciBiIGluIGEpaWYoYVtiXSE9PU9iamVjdC5wcm90b3R5cGVbYl0paWYoYVtiXT09Ii0tLSIpe3ZhciBjPXtsaW5rOnRoaXMuai5TKCJESVYiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWhnRFV3ZSIsdmFsdWU6Yn0pLGdpOiEwfTt0aGlzLkIucHVzaChjKX1lbHNle2M9e2xpbms6dGhpcy5qLlMoIkEiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiLGhyZWY6IiMiLHZhbHVlOmJ9KX07dGhpcy5CLnB1c2goYyk7dmFyIGQ9dGhpcy5qLlMoIkRJViIse3N0eWxlOiJ3aGl0ZS1zcGFjZTpub3dyYXAifSk7dGhpcy5qLmFwcGVuZENoaWxkKGMubGluayxkKTt0aGlzLmcucGQmJnRoaXMuai5hcHBlbmRDaGlsZChkLHRoaXMuai5TKCJTUEFOIix7Y2xhc3NOYW1lOiJpbmRpY2F0b3IifSwiXHUyMDNhIikpOwp0aGlzLmouYXBwZW5kQ2hpbGQoZCx0aGlzLmouUygiU1BBTiIse2NsYXNzTmFtZToidGV4dCJ9LHR5cGVvZiBhW2JdPT09ImZ1bmN0aW9uIj9hW2JdKCk6YVtiXSkpO3RoaXMuQS5OKGMubGluaywiY2xpY2siLHRoaXMucWYpfWE9dGhpcy5CLmxlbmd0aC0xO2E9TWF0aC5yb3VuZCgoYS1hJXRoaXMuZy5vZSkvdGhpcy5nLm9lKSsxO3RoaXMuVD10aGlzLmouUygiVEFCTEUiLHtjZWxsc3BhY2luZzowLGNlbGxwYWRkaW5nOjAsYm9yZGVyOjB9KTtjPXRoaXMuai5TKCJUQk9EWSIpO2I9dGhpcy5qLlMoIlRSIix7dmFsaWduOiJ0b3AifSk7dGhpcy5MLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC12SDFHbWYiO3RoaXMuai5hcHBlbmRDaGlsZCh0aGlzLkwsdGhpcy5UKTt0aGlzLmouYXBwZW5kQ2hpbGQodGhpcy5ULGMpO3RoaXMuai5hcHBlbmRDaGlsZChjLGIpO2ZvcihkPWM9MDtjPGE7KytjKXt2YXIgZT10aGlzLmouUygiVEQiKTt0aGlzLmouYXBwZW5kQ2hpbGQoYixlKTtmb3IodmFyIGY9CjA7ZjwxMSYmZDx0aGlzLkIubGVuZ3RoOysrZiwrK2QpdGhpcy5qLmFwcGVuZENoaWxkKGUsdGhpcy5CW2RdLmxpbmspO2MhPWEtMSYmKGU9dGhpcy5qLlMoIlREIix7ImNsYXNzIjoiVklwZ0pkLVpWaTlvZC12SDFHbWYtS3JoUE5iIn0sIlx1MDBhMCIpLHRoaXMuai5hcHBlbmRDaGlsZChiLGUpKX10aGlzLm89bnVsbDt0aGlzLmNiKHRoaXMuQlswXS5saW5rLnZhbHVlKTtDdih0aGlzKTttcCh0aGlzLmwsITEpfTtfLm0uQWM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuSWFbXy5vYyhhKT09InVuZGVmaW5lZCI/dGhpcy5vOmFdfTtfLm0ubWU9ZnVuY3Rpb24oKXt9OwpfLm0uY2I9ZnVuY3Rpb24oYSl7aWYodGhpcy5vIT1hKXt0aGlzLkFjKGEpJiYodGhpcy5vPWEsdGhpcy5tZSgpKTtmb3IodmFyIGI9MDtiPHRoaXMuQi5sZW5ndGg7KytiKXt2YXIgYz10aGlzLkJbYl07Yy5naXx8KGMubGluay5jbGFzc05hbWU9Yy5saW5rLnZhbHVlPT1hJiZ0aGlzLmcucGQ/IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiOiJWSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIiKX19fTt2YXIgQ3Y9ZnVuY3Rpb24oYSl7cXAoYS5MLG9wKGEuVCkpO3FwKGEubCxvcChhLkwpKTthLkc9b3AoYS5sKX0sRHY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKX07Xy5CKER2LEF2KTtfLm09RHYucHJvdG90eXBlOwpfLm0uS2M9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguUygiYSIseyJhcmlhLWhhc3BvcHVwIjoidHJ1ZSJ9KTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVkIjtfLm5sKGEsIiMiKTt0aGlzLkk9dGhpcy5oLlMoIlNQQU4iKTthLmFwcGVuZENoaWxkKHRoaXMuSSk7dGhpcy5QPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHN0eWxlOiJiYWNrZ3JvdW5kLWltYWdlOnVybCgiK3hxKyIpO2JhY2tncm91bmQtcG9zaXRpb246LTE0cHggMHB4O2JvcmRlcjpub25lIix3aWR0aDoxNCxoZWlnaHQ6MTR9KTthLmFwcGVuZENoaWxkKHRoaXMuUCk7dGhpcy5PYShhKX07Xy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImJhY2tncm91bmRQb3NpdGlvbiIsIi0xNHB4IDBweCIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMHB4IDBweCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7QXYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7dGhpcy5QPXRoaXMuST1udWxsfTtfLm0ubWU9ZnVuY3Rpb24oKXt0aGlzLmguU2IodGhpcy5JLHRoaXMuQWModGhpcy5vKXx8IiIpfTtfLm0ubmI9ZnVuY3Rpb24oYSl7dGhpcy51Yy5jYWxsKHRoaXMsYSl9O3ZhciBFdj1mdW5jdGlvbihhLGIpe0F2LmNhbGwodGhpcyxhLGIpfTtfLkIoRXYsQXYpO18ubT1Fdi5wcm90b3R5cGU7Cl8ubS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5TKCJhIix7ImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pO2EuY2xhc3NOYW1lPSJWSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQiO18ubmwoYSwiIyIpO3RoaXMuST10aGlzLmguUygiU1BBTiIpO2EuYXBwZW5kQ2hpbGQodGhpcy5JKTthLmFwcGVuZENoaWxkKHRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHdpZHRoOjEsaGVpZ2h0OjF9KSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiU1BBTiIse3N0eWxlOiJib3JkZXItbGVmdDoxcHggc29saWQgI2JiYiJ9LCJcdTIwMGIiKSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiSU1HIix7c3JjOkNxLGFsdDoiIix3aWR0aDoxLGhlaWdodDoxfSkpO3RoaXMuUD10aGlzLmguUygic3BhbiIse3N0eWxlOiJjb2xvcjojNzY3Njc2IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sIlx1MjViYyIpO2EuYXBwZW5kQ2hpbGQodGhpcy5QKTt0aGlzLk9hKGEpfTsKXy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImNvbG9yIiwiIzliOWI5YiIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiY29sb3IiLCIjZDVkNWQ1Iil9O18ubS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuUD10aGlzLkk9bnVsbH07Xy5tLm1lPWZ1bmN0aW9uKCl7dGhpcy5oLlNiKHRoaXMuSSx0aGlzLkFjKHRoaXMubyl8fCIiKX07Xy5tLm5iPWZ1bmN0aW9uKGEpe3RoaXMudWMuY2FsbCh0aGlzLGEpfTt2YXIgRnY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKTt0aGlzLmcucGQ9ITF9O18uQihGdixBdik7CkZ2LnByb3RvdHlwZS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC1MZ2JzU2UiO3ZhciBiPXRoaXMuaC5TKCJESVYiLHtzdHlsZToiYmFja2dyb3VuZDogdXJsKCIrd3ErIikgcmVwZWF0LXggMCAtMzlweCJ9KTthLmFwcGVuZENoaWxkKGIpO3RoaXMuST10aGlzLmguY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7Yi5hcHBlbmRDaGlsZCh0aGlzLkkpO3RoaXMuT2EoYSl9O0Z2LnByb3RvdHlwZS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuST1udWxsfTtGdi5wcm90b3R5cGUucWY9ZnVuY3Rpb24oYSl7dGhpcy5jYihhLmN1cnJlbnRUYXJnZXQudmFsdWUpO3RoaXMuZGlzcGF0Y2hFdmVudCgiY2hhbmdlIik7dGhpcy5SYygpfTt2YXIgR3Y9ZnVuY3Rpb24oYSxiKXt4bi5jYWxsKHRoaXMsYik7dGhpcy5nPWEmJkpsKGEpfHx7fTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhHdix4bik7dmFyIEh2PXt6azowLEtqOjEsaGs6Mn07Xy5tPUd2LnByb3RvdHlwZTsKXy5tLlM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguY3JlYXRlRWxlbWVudCgiZGl2Iik7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO050KGEsImdvb2ctdGUtZ2FkZ2V0Iik7YS5kaXI9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIjttcChhLCExKTtpZih0aGlzLmcubGF5b3V0PT0yKWltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjoiIn0pKTtlbHNle3ZhciBiPW5ldyB0bztpZihzcChfLlNjJiYhc28oKSkpdmFyIGM9IjxzcGFuIHN0eWxlPVwiZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoxNXB4OyB3aWR0aDo1MXB4O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlciggc3JjPSciK1N0cmluZyhGcSkucmVwbGFjZShScCxHcCkrIicsc2l6aW5nTWV0aG9kPSdzY2FsZScpO1wiPjwvc3Bhbj4iO2Vsc2UgYz1ocy53ZCxjPSc8aW1nIHNyYz0iJytQKFdwKEZxKSkrCiciIHdpZHRoPSIzN3B4IiBoZWlnaHQ9IjE0cHgiIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OiAzcHgiIGFsdD0iR29vZ2xlICcrUChjKSsnIj4nO3ZhciBkPWhzLndkO3ZhciBlPSgwLF8udGwpKCc8c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6bm93cmFwIj48YSBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIGhyZWY9IicrUChVcChHcSkpKyciIHRhcmdldD0iX2JsYW5rIj4nK2MrS3AoZCkrIjwvYT48L3NwYW4+Iik7Yz1iLmZvcm1hdDtkPVI7dmFyIGY9ZC56ZztlPWUuVGIoKTtlPXVvKGIse3R5cGU6Imh0bWwiLHhmOl8ua2ooZSkudG9TdHJpbmcoKX0pO2I9Yy5jYWxsKGIsZi5jYWxsKGQsZSkpO2ltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjp0aGlzLmcubGF5b3V0PT0xP1JsKFsiXHUwMGEwIiwiXHUwMGEwIixiXSk6Yn0pKX10aGlzLk9hKGEpfTsKXy5tLkxhPWZ1bmN0aW9uKCl7R3YuZWEuTGEuY2FsbCh0aGlzKTt0aGlzLmw9dGhpcy5nLmxheW91dD09Mj9uZXcgRXYobnVsbCx0aGlzLmgpOm5ldyB6dih0aGlzLmgpO3RoaXMuai5OKHRoaXMubCwiY2hhbmdlIixwcih0aGlzLCJjaGdfdGd0X2xhbmciKSk7dGhpcy5qLk4odGhpcy5sLCJsb2FkIix0aGlzLnJnKTt2YXIgYT10aGlzLmguSChTKHRoaXMsInRhcmdldExhbmd1YWdlIikpO2lmKHRoaXMuZy5sYXlvdXQ9PTIpe3ZhciBiPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsImNsYXNzIjoiZ29vZy10ZS1nYWRnZXQtaWNvbiIsYWx0OiIifSk7Yi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9InVybCgiK3hxKyIpIjtiLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbj0iLTY1cHggMHB4Ijt2YXIgYz10aGlzLmguUygiU1BBTiIse3N0eWxlOiJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIn0pO2EuYXBwZW5kQ2hpbGQoYik7YS5hcHBlbmRDaGlsZChjKTt0aGlzLmwua2EoYyk7YS5zdHlsZS53aGl0ZVNwYWNlPQoibm93cmFwIjthLmNsYXNzTmFtZT0iZ29vZy10ZS1nYWRnZXQtc2ltcGxlIn1lbHNlIHRoaXMubC5rYShhKSx0aGlzLmcubGF5b3V0PT0xJiYoYS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiKX07Xy5tLnJnPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxheW91dD09Mil7dmFyIGE9dGhpcy5sLGI9dGhpcy5oLkgoUyh0aGlzLCJ0YXJnZXRMYW5ndWFnZSIpKTthLkEueWMoYS5ELCJjbGljayIsYS5UZCk7YS5EPWI7YS5BLk4oYS5ELCJjbGljayIsYS5UZCl9dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9O18ubS5zYT1mdW5jdGlvbigpe0d2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5qLmRpc3Bvc2UoKTt0aGlzLmo9bnVsbDt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsfTtfLm0ub2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLk1hKCl9O18ubS5uYT1mdW5jdGlvbihhKXthPT0iIj90aGlzLkwmJnRoaXMubC5uYih0aGlzLkwpOnRoaXMuSSYmdGhpcy5sLm5iKHRoaXMuSSk7dGhpcy5sLmNiKGEpfTsKXy5tLnBhPWZ1bmN0aW9uKGEpe21wKHRoaXMuSCgpLGEpfTtfLm0uUmI9ZnVuY3Rpb24oYSl7dGhpcy5sLlJiKGEpfTtfLm0udWU9ZnVuY3Rpb24oYSxiKXt0aGlzLkw9YTt0aGlzLkk9Yn07dmFyIEl2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLmVifHwodGhpcy5nLmViPUFxKTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhJdix4bik7dmFyIEp2PXtwazoxLHFrOjIsbGo6Myxrajo0fTtfLm09SXYucHJvdG90eXBlO18ubS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuRz0hMTttcChhLCExKTt2YXIgYj1TKHRoaXMsImNvbnRhaW5lciIpO2I9KDAsXy50bCkoJzxpZnJhbWUgaWQ9IicrUChiKSsnIiBmcmFtZUJvcmRlcj0wIHNyYz0iamF2YXNjcmlwdDpcJ1wnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVNtZlotT0VWbWNkIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtJdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1TKHRoaXMsInRyYW5zbGF0ZSIpLGQ9Q3EsZT14cTt0aGlzLkgoKS5pZD1TKHRoaXMsImZsb2F0Q29udGFpbmVyIik7dmFyIGY9e2lkOnRoaXMuSCgpLmlkLGNsYXNzTmFtZToiZ29vZy10ZS1mdGFiLWZsb2F0In07dGhpcy5IKCkuY2xhc3NOYW1lKz0iIGdvb2ctdGUtZnRhYi1mbG9hdCI7c3dpdGNoKHRoaXMuZy5OYyl7Y2FzZSAyOnZhciBnPSJnb29nLXRlLWZsb2F0LXRvcCI7Zi50b3A9MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgMzpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgNDpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLmxlZnQ9MjA7YnJlYWs7ZGVmYXVsdDpnPSJnb29nLXRlLWZsb2F0LXRvcCIsZi50b3A9MCxmLmxlZnQ9MjB9bnAoWm4obmV3IF8ueWYsCmYpLHRoaXMuSCgpKTt0aGlzLkI9dGhpcy5oLkgoUyh0aGlzLCJjb250YWluZXIiKSk7dGhpcy5qLk4odGhpcy5CLCJsb2FkIix0aGlzLnNnKTt0cih0aGlzLkIsKDAsXy55KShmdW5jdGlvbigpe3ZhciBoPXpvKHRoaXMuQiksaz1nLGw9e30sbj1sJiZsLlRlLHE9aHMuSWU7az1WbihXbihWbihfLnlsKCksIjxoZWFkPiIpLE91KGwpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJytQKHhwKGIpKSsnIicrKG4/JyBub25jZT0iJytQKFlwKG4pKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtU21mWiIpKyIgIitQKGspKyciIHNjcm9sbD0ibm8iIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciPjxhIGlkPSInK1AoYykrJyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBjbGFzcz0iJysKUCgiVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCIpKyciPjxpbWcgc3JjPSInK1AoV3AoZCkpKyciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnK1AoV3AoZSkpKycpO2JhY2tncm91bmQtcG9zaXRpb246LTY1cHggMHB4Ij48c3Bhbj4nK0twKHEpKyI8L3NwYW4+PC9hPjwvYm9keT4iKS5UYigpO2gud3JpdGUoXy5raihrKSk7aC5jbG9zZSgpfSx0aGlzKSl9O18ubS5zZz1mdW5jdGlvbigpe3RoaXMubD0obmV3IF8ucmQoem8odGhpcy5CKSkpLkgoUyh0aGlzLCJ0cmFuc2xhdGUiKSk7dGhpcy5qLk4odGhpcy5sLCJjbGljayIscHIodGhpcywiY2xrX3RyYW5zIikpO21wKHRoaXMuSCgpLCEwKTt2YXIgYT1vcCh0aGlzLmwpO21wKHRoaXMuSCgpLCExKTtxcCh0aGlzLkIsYSk7cXAodGhpcy5IKCksYSk7dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9OwpfLm0uc2E9ZnVuY3Rpb24oKXtJdi5lYS5zYS5jYWxsKHRoaXMpO3RoaXMuai5kaXNwb3NlKCk7dGhpcy5qPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMubD10aGlzLkI9bnVsbH07Xy5tLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkd9O18ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkc9YTttcCh0aGlzLkgoKSxhKX07dmFyIEt2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmc9YSYmSmwoYSl8fHt9O3RoaXMuZy5lYj1BcTt0aGlzLmcud2U9ITE7Xy5oaih0aGlzLmguZy5ib2R5LCJwb3NpdGlvbiIsInJlbGF0aXZlIik7Xy5NaHx8Xy5oaih0aGlzLmguZy5ib2R5LCJtaW5IZWlnaHQiLCIxMDAlIik7Xy5oaih0aGlzLmguZy5kb2N1bWVudEVsZW1lbnQsImhlaWdodCIsIjEwMCUiKTtfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjBweCIpO18uU2MmJih3aW5kb3cuX2Jhbm5lcnF1aXJrZml4bGVmdD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkudG9wTWFyZ2luLDEwKS00MCl9O18uRyhLdix4bik7Xy5tPUt2LnByb3RvdHlwZTtfLm0ua2E9ZnVuY3Rpb24oKXt0aGlzLnFjKHRoaXMuaC5nLmJvZHkuZmlyc3RDaGlsZCl9OwpfLm0uUz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLkc9ITE7bXAoYSwhMSk7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO3ZhciBiPVModGhpcywiY29udGFpbmVyIik7Yj0oMCxfLnRsKSgnPGlmcmFtZSBpZD0iJytQKGIpKyciIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2QiKSsnIHNraXB0cmFuc2xhdGUiIGZyYW1lQm9yZGVyPTAgc3JjPSIjIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtLdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1DcSxkPUdxLGU9RHEsZj14cSxnPVModGhpcywicHJvbXB0U2VjdGlvbiIpLGg9Uyh0aGlzLCJjb25maXJtIiksaz1TKHRoaXMsInByb2dyZXNzU2VjdGlvbiIpLGw9Uyh0aGlzLCJwcm9ncmVzc1ZhbHVlIiksbj16cSxxPVModGhpcywiY2FuY2VsIikscD1TKHRoaXMsImZpbmlzaFNlY3Rpb24iKSxyPVModGhpcywicmVzdG9yZSIpLHQ9Uyh0aGlzLCJlcnJvclNlY3Rpb24iKSxBPVModGhpcywiZXJyb3JDb250ZW50IiksRD1TKHRoaXMsImNsb3NlIiksRT1TKHRoaXMsIm5vQXV0b1BvcHVwIiksYmEsWj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJwcm9tcHRTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsInByb21wdFRhcmdldExhbmciKX0pKTt2YXIgdmk9bW0oUi5KZy5hcHBseShudWxsLApaKSk7Wj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJmaW5pc2hTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsImZpbmlzaFRhcmdldExhbmciKX0pKTt2YXIgd2k9bW0oUi5EZy5hcHBseShudWxsLFopKTt0aGlzLmcuY2cmJihiYT10aGlzLmcuY2cpO3RoaXMuQj10aGlzLmguSChTKHRoaXMsImNvbnRhaW5lciIpKTt0aGlzLkEuTih0aGlzLkIsImxvYWQiLHRoaXMudGcpO3RyKHRoaXMuQiwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGFnPXpvKHRoaXMuQiksWGM9YmEsTGQ9e30sRGU9TGQmJkxkLlRlLEVlPWhzLndkLHhpPWhzLkllLGJnPWhzLkVnLHlpPWhzLm1nLHppPWhzLkFnLGNnPWhzLkFlLEFpPWhzLkFlO1hjPVZuKFduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoTGQpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJysKUCh4cChiKSkrJyInKyhEZT8nIG5vbmNlPSInK1AoWXAoRGUpKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYiIpKyciIHNjcm9sbD0ibm8iIGJvcmRlcj0wIGRpcj0iJytQKGEpKyciPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9MTAwJSBoZWlnaHQ9MTAwJT48dHIgdmFsaWduPW1pZGRsZT48dGQgd2lkdGg9MSBub3dyYXA+PGEgaHJlZj0iJytQKFVwKGQpKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iJytQKFdwKGUpKSsnIiBhbHQ9Ikdvb2dsZSAnK1AoRWUpKyciPjwvYT48L3RkPicrKHNwKFhjKT8nPHRkIHdpZHRoPTE+PGltZyBzcmM9IicrUChXcChjKSkrJyIgd2lkdGg9IjkiIGhlaWdodD0iMTUiIHRpdGxlPSInK1AoWGMpKyciIGFsdD0iJytQKFhjKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJysKUChXcChmKSkrJyk7YmFja2dyb3VuZC1wb3NpdGlvbjotNTZweCAwcHg7bWFyZ2luOjAgNHB4Ij48L3RkPic6IiIpKyc8dGQgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZSIpKyciPjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgaGVpZ2h0PTEwMCU+PHRyIGlkPSInK1AoZykrJyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgdmFsaWduPW1pZGRsZT48dGQgbm93cmFwPjxzcGFuIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMiKSsnIj4nK0twKHZpKSsnPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKGgpKyciPjxiPicrS3AoeGkpKyc8L2I+PC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48dGQgY2xhc3M9IicrClAoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKEUpKyciPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIgaWQ9IicrUChrKSsnIiBzdHlsZT0iZGlzcGxheTpub25lIiB2YWxpZ249bWlkZGxlPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcChiZykrJyZuYnNwOzxzcGFuIGRpcj0ibHRyIj4oPGIgaWQ9IicrUChsKSsnIj48L2I+JSk8L3NwYW4+Jm5ic3A7PGltZyBzcmM9IicrUChXcChuKSkrJyI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKHEpKyciPicrS3AoeWkpKwonPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHApKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcCh3aSkrJzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrJyI+PC90ZD48dGQgbm93cmFwPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1MZ2JzU2UiKSsnIj48ZGl2PjxidXR0b24gaWQ9IicrUChyKSsnIj4nK0twKHppKSsnPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHQpKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHZhbGlnbj1taWRkbGU+PHRkPjxzcGFuIGlkPSInK1AoQSkrJyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLWJOOTdQYyIpKyciPjwvc3Bhbj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrCiciPjwvdGQ+PHRkIHdpZHRoPTEgaWQ9Im9wdGlvbnMiPjwvdGQ+PHRkIHdpZHRoPTE+PGEgaWQ9IicrUChEKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGQiKSsnIiBocmVmPSIjIiB0aXRsZT0iJytQKGNnKSsnIj48aW1nIHNyYz0iJytQKFdwKGMpKSsnIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGFsdD0iJytQKEFpKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJytQKFdwKGYpKSsnKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOHB4IDBweCI+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT4nKS5UYigpO2FnLndyaXRlKF8ua2ooWGMpKTthZy5jbG9zZSgpfSx0aGlzKSl9OwpfLm0udGc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5CKSk7THYodGhpcyxSLkNlKTtpZih0aGlzLmcuZWI9PUFxKXt2YXIgYT0idXJsKCIrd3ErIikiO18uaGoodGhpcy5qLmcuYm9keSwiYmFja2dyb3VuZEltYWdlIixhKTtmb3IodmFyIGI9dGhpcy5qLmcuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXS5wYXJlbnROb2RlO18uaGooZCwiYmFja2dyb3VuZEltYWdlIixhKTtfLmhqKGQsImJhY2tncm91bmRSZXBlYXQiLCJyZXBlYXQteCIpO18uaGooZCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMCAtMzlweCIpfX10aGlzLmcud2UmJih0aGlzLm89bmV3IER2KHRoaXMuZyx0aGlzLmopKTt0aGlzLmw9bmV3IER2KHRoaXMuZyx0aGlzLmopO3RoaXMuRD1uZXcgRnYodGhpcy5nLHRoaXMuaik7dGhpcy5BLk4odGhpcy5qLkgoUyh0aGlzLCJjb25maXJtIikpLCJjbGljayIscHIodGhpcywiY2xrX2NvbmZpcm0iKSk7CnRoaXMuQS5OKHRoaXMuai5IKFModGhpcywiY2FuY2VsIikpLCJjbGljayIscHIodGhpcywiY2xrX2NhbmNlbCIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsInJlc3RvcmUiKSksImNsaWNrIixwcih0aGlzLCJjbGtfcmVzdG9yZSIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsImNsb3NlIikpLCJjbGljayIscHIodGhpcywiY2xrX2Nsb3NlIikpO3RoaXMuUD10aGlzLmouSChTKHRoaXMsIm5vQXV0b1BvcHVwIikpO3RoaXMuQS5OKHRoaXMuUCwiY2xpY2siLHByKHRoaXMsImNsa19ub19hcCIpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywiY2hhbmdlIixwcih0aGlzLCJjaGdfc3JjX2xhbmciKSk7dGhpcy5BLk4odGhpcy5sLCJjaGFuZ2UiLHByKHRoaXMsImNoZ190Z3RfbGFuZyIpKTt0aGlzLkEuTih0aGlzLkQsImNoYW5nZSIsdGhpcy5SaCk7YT1uZXcganIoKDAsXy55KSh0aGlzLnVnLHRoaXMpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywibG9hZCIsYS5yZWdpc3RlcigpKTsKdGhpcy5BLk4odGhpcy5sLCJsb2FkIixhLnJlZ2lzdGVyKCkpO3RoaXMuQS5OKHRoaXMuRCwibG9hZCIsYS5yZWdpc3RlcigpKTthLmZpbmlzaCgpO3RoaXMubyYmdGhpcy5vLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0U291cmNlTGFuZyIpKSk7dGhpcy5sLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0VGFyZ2V0TGFuZyIpKSk7dGhpcy5ELmthKHRoaXMuai5IKCJvcHRpb25zIikpfTtfLm0udWc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLkQsYj1SLnlnO18uemQoYS5JKTthLkkuYXBwZW5kQ2hpbGQoYS5oLmNyZWF0ZVRleHROb2RlKGIrIlx1MDBhMFx1MjViYyIpKTt0aGlzLkQudWMoe3R1cm5fb2ZmX3NpdGU6Ui5HZyxzMToiLS0tIixsZWFybl9tb3JlOlIueGd9KTt0aGlzLmRpc3BhdGNoRXZlbnQoImxvYWQiKX07Xy5tLlJoPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuRC5NYSgpKXtjYXNlICJsZWFybl9tb3JlIjp3aW5kb3cub3BlbihKcSwiX2JsYW5rIik7YnJlYWs7Y2FzZSAidHVybl9vZmZfc2l0ZSI6dGhpcy5kaXNwYXRjaEV2ZW50KCJjbGtfbm9fYXBfc2l0ZSIpfX07Cl8ubS5zYT1mdW5jdGlvbigpe3RoaXMucGEoITEpO0t2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5BLmRpc3Bvc2UoKTt0aGlzLkE9bnVsbDt0aGlzLm8mJih0aGlzLm8uZGlzcG9zZSgpLHRoaXMubz1udWxsKTt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsO3RoaXMuRC5kaXNwb3NlKCk7dGhpcy5EPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMuYWM9dGhpcy5qPW51bGx9O18ubS5KYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm8/dGhpcy5vLk1hKCk6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmwuTWEoKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMubyYmdGhpcy5vLmNiKGEpO3RoaXMuVCYmdGhpcy5UW2FdJiZ0aGlzLmouU2IodGhpcy5QLFIuRmcodGhpcy5UW2FdKSl9O18ubS5uYT1mdW5jdGlvbihhKXt0aGlzLmwuY2IoYSl9Owp2YXIgTXY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5hYyE9Yil7YS5hYz1iO2lmKGI9PTApe2EubyYmeXYoYS5vLGEuai5IKFMoYSwicHJvbXB0U291cmNlTGFuZyIpKSk7aWYoYS5MKXt2YXIgZT1hLm9hKCk7YS5sLm5iKGEuTCk7YS5uYShlKX15dihhLmwsYS5qLkgoUyhhLCJwcm9tcHRUYXJnZXRMYW5nIikpKX1lbHNlIGI9PTImJihhLm8mJnl2KGEubyxhLmouSChTKGEsImZpbmlzaFNvdXJjZUxhbmciKSkpLGEuSSYmKGU9YS5vYSgpLGEubC5uYihhLkkpLGEubmEoZSkpLHl2KGEubCxhLmouSChTKGEsImZpbmlzaFRhcmdldExhbmciKSkpKTtlPXt9O2VbLTFdPWEuai5IKFMoYSwiZXJyb3JTZWN0aW9uIikpO2VbMF09YS5qLkgoUyhhLCJwcm9tcHRTZWN0aW9uIikpO2VbMV09YS5qLkgoUyhhLCJwcm9ncmVzc1NlY3Rpb24iKSk7ZVsyXT1hLmouSChTKGEsImZpbmlzaFNlY3Rpb24iKSk7Zm9yKHZhciBmIGluIGUpZVtmXSE9PU9iamVjdC5wcm90b3R5cGVbZl0mJm1wKGVbZl0sZj09CmIpfWMmJmEucGEoITApO2EuUC5wYXJlbnROb2RlLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT1kPyJibG9jayI6Im5vbmUifTtLdi5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR307Ckt2LnByb3RvdHlwZS5wYT1mdW5jdGlvbihhKXtpZih0aGlzLkchPWEpe3RoaXMuRz1hO2lmKF8uU2MpdmFyIGI9cGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksYz1wYXJzZUludCgiMCIrdGhpcy5oLmcuYm9keS50b3BNYXJnaW4sMTApO3ZhciBkPXRoaXMuaC5nLmNvbXBhdE1vZGU9PSJCYWNrQ29tcGF0IjthPyhfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjQwcHgiKSxtcCh0aGlzLkgoKSwhMCksXy5TYyYmKHNvKCk/KHdpbmRvdy5fYmFubmVycXVpcmtmaXhsZWZ0PXdpbmRvdy5fYmFubmVycXVpcmtmaXh0b3A9MCxkJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yys0MCkpOmQ/KHRoaXMuaC5nLmJvZHkudG9wTWFyZ2luPWMrNDAsd2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9d2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0wKTood2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9LWIsd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tYy00MCkpKTooXy5oaih0aGlzLmguZy5ib2R5LAoidG9wIiwiMHB4IiksbXAodGhpcy5IKCksITEpLGQmJmM+PTQwJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yy00MCkpfX07dmFyIE52PWZ1bmN0aW9uKGEsYil7YS5qLlNiKGEuai5IKFMoYSwicHJvZ3Jlc3NWYWx1ZSIpKSxiKX0sTHY9ZnVuY3Rpb24oYSxiKXthLmouU2IoYS5qLkgoUyhhLCJlcnJvckNvbnRlbnQiKSksYil9O0t2LnByb3RvdHlwZS51ZT1mdW5jdGlvbihhLGIpe3RoaXMuTD1hO3RoaXMuST1iO3RoaXMubC5uYihhKX07dmFyIFB2PWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7Xy5vYyhhKT09InN0cmluZyImJihiPWEsYT17fSk7Xy5vYyhiKT09InN0cmluZyImJihiPWduKFN0cmluZyhiKSkpO3RoaXMuVD1iO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmxhPXZvaWQgMDthPU9iamVjdChhKTt0aGlzLm89ImF1dG8iOyEoYj13aW5kb3cucGFyZW50IT13aW5kb3cpJiYoYj0oIXdpbmRvdy5leHRlcm5hbHx8IXdpbmRvdy5leHRlcm5hbC5nb29nbGVUb29sYmFyVmVyc2lvbnx8cGFyc2VGbG9hdCh3aW5kb3cuZXh0ZXJuYWwuZ29vZ2xlVG9vbGJhclZlcnNpb24pPDYuMikmJighd2luZG93Lmd0YkV4dGVybmFsfHwhd2luZG93Lmd0YkV4dGVybmFsLmlzVHJhbnNsYXRlRW5hYmxlZHx8IXdpbmRvdy5ndGJFeHRlcm5hbC5pc1RyYW5zbGF0ZUVuYWJsZWQoKSkpJiYoYj1uYXZpZ2F0b3IuYXBwVmVyc2lvbiYmbmF2aWdhdG9yLmFwcFZlcnNpb24ubWF0Y2goL1xzQ2hyb21lXC8oKFxkKylcLihcZCspXC5bXGRcLl0rKVxzLyksCmI9IShiJiZiWzJdJiZiWzNdJiZOdW1iZXIoYlsyXSkqMUUzK051bWJlcihiWzNdKT49NDAwMSkpO3RoaXMuZz17RWQ6YixoZjohMSxGZDpudWxsLEVjOm51bGwsWGQ6W10sY2Y6W10sZGg6ITEsUGI6ITEsYXBpS2V5OiIiLGxheW91dDowLFZlOiExfTt0aGlzLklhPXtlYjpBcSxjZzp2cT09Imh0dHBzOi8vIj9SLkNnOm51bGx9O3RoaXMuUD17ZWI6QXEsTmM6bnVsbH07YSYmKCJhdXRvRGlzcGxheSJpbiBhJiYodGhpcy5nLkVkPXRoaXMuZy5FZCYmISFhLmF1dG9EaXNwbGF5KSwibXVsdGlsYW5ndWFnZVBhZ2UiaW4gYSYmKHRoaXMuZy5QYj0hIWEubXVsdGlsYW5ndWFnZVBhZ2UpLCJsYXlvdXQiaW4gYSYmKHRoaXMuZy5sYXlvdXQ9YS5sYXlvdXQpLGEucGFnZUxhbmd1YWdlJiYodGhpcy5nLmRkPXFyKGEucGFnZUxhbmd1YWdlKSksYS5pbmNsdWRlZExhbmd1YWdlcyYmKHRoaXMuZy5YZD1hLmluY2x1ZGVkTGFuZ3VhZ2VzLnNwbGl0KCIsIikpLGEuZXhjbHVkZWRMYW5ndWFnZXMmJgoodGhpcy5nLmNmPWEuZXhjbHVkZWRMYW5ndWFnZXMuc3BsaXQoIiwiKSksYS5yZW1vdGVBcGlQcm94eUhhbmRsZXJzJiYodGhpcy5sYT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLHRoaXMuZy5kZCYmKHRoaXMubz10aGlzLmcuZGQpLGEua2V5JiYodGhpcy5nLmFwaUtleT1hLmtleSksdGhpcy5QLk5jPU51bWJlcihhLmZsb2F0UG9zaXRpb24pfHx0aGlzLlAuTmMsImRpc2FibGVBdXRvVHJhbnNsYXRpb24iaW4gYSYmKHRoaXMuZy5WZT0hIWEuZGlzYWJsZUF1dG9UcmFuc2xhdGlvbikpOyF0aGlzLmcuVmUmJk92KHRoaXMpJiYodGhpcy5nLmhmPSEwKTt0aGlzLkM9e307aWYoKGE9ZG9jdW1lbnQuY29va2llLm1hdGNoKC8oXnw7IClnb29ndHJhbnNvcHQ9KC4qPykoO3wkKS8pKSYmYVsyXSlmb3IodGhpcy5DPXt9LGE9Xy5EYihhWzJdKS5zcGxpdCgifCIpLGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXS5zcGxpdCgiPSIpO2NbMF0mJih0aGlzLkNbY1swXV09Y1sxXSl9dGhpcy53YT0KbmV3IFpzKHthcGlLZXk6dGhpcy5nLmFwaUtleSxoYzoxLHZlOiEwLGdtOkhxfSx7Y2xpZW50OnRxLHU6d2luZG93LmxvY2F0aW9uLmhyZWZ9KTt0aGlzLkY9bmV3IHd2KHZvaWQgMCx0aGlzLndhLHZvaWQgMCx2b2lkIDAsdGhpcy5nLmFwaUtleSx2b2lkIDAsdm9pZCAwLG5ldyBXdSx2b2lkIDAsdm9pZCAwLHRoaXMubGEpO3RoaXMuRz0hMTt0aGlzLkEuTih3aW5kb3csInBhZ2VoaWRlIix0aGlzLmRpc3Bvc2UpO3RoaXMuSz1uZXcganIoKDAsXy55KSh0aGlzLk1oLHRoaXMpKTt0aGlzLkk9bmV3IGpyKCgwLF8ueSkodGhpcy5PaCx0aGlzKSk7dGhpcy5PPW5ldyBscigoMCxfLnkpKHRoaXMua2ksdGhpcykpO3RoaXMuaD1uZXcgS3YodGhpcy5JYSk7dGhpcy5GLnpjKHRoaXMuSy5yZWdpc3RlcigoMCxfLnkpKHRoaXMuSmgsdGhpcykpLG9xKTt0aGlzLlQ/KHRoaXMubD1uZXcgR3YodGhpcy5nKSx0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMuSy5yZWdpc3RlcigpKSx0aGlzLkEuTih0aGlzLmwsCiJjaGdfdGd0X2xhbmciLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkloLHRoaXMpKSkpLHRoaXMubC5rYSh0aGlzLlQpKTp0aGlzLlAuTmMmJih0aGlzLkI9bmV3IEl2KHRoaXMuUCksdGhpcy5BLk4odGhpcy5CLCJsb2FkIix0aGlzLksucmVnaXN0ZXIoKSksdGhpcy5BLk4odGhpcy5CLCJjbGtfdHJhbnMiLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkdoLHRoaXMpKSkpLHRoaXMuQi5rYSgpKTshdGhpcy5nLmRkJiZ0aGlzLmcuZGgmJnRoaXMuRi5QYyh0aGlzLksucmVnaXN0ZXIoKDAsXy55KSh0aGlzLkVoLHRoaXMpKSk7dGhpcy5LLmZpbmlzaCgpfTtfLkIoUHYsXy51KTsKdmFyIE92PWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZixnKXtpZihmPV8uRGIoZikubWF0Y2goIl5cXCgoKFthLXpBLVpcXC1fXSopXFx8KT8oW2EtekEtWlxcLV9dKilcXCl8Xi8oKFthLXpBLVpcXC1fXSopLyk/KFthLXpBLVpcXC1fXSopIikpe2lmKGZbM10pcmV0dXJuIGcuZy5GZD1mWzJdLGcuZy5FYz1mWzNdLCEwO2lmKGZbNl0pcmV0dXJuIGcuZy5GZD1mWzVdLGcuZy5FYz1mWzZdLCEwfXJldHVybiExfXZhciBjPXt1cmw6ZnVuY3Rpb24oKXt2YXIgZj13aW5kb3cubG9jYXRpb24uaHJlZi5tYXRjaCgvIy4qZ29vZ3RyYW5zKC4qKS8pO3JldHVybiBmJiZmWzFdfSxjb29raWU6ZnVuY3Rpb24oKXt2YXIgZj1kb2N1bWVudC5jb29raWUubWF0Y2goLyhefDsgKWdvb2d0cmFucz0oLio/KSg7fCQpLyk7cmV0dXJuIGYmJmZbMl19fSxkO2ZvcihkIGluIGMpaWYoY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0pe3ZhciBlPWNbZF0oKTtpZihlJiZiKGUsYSkpcmV0dXJuIGR9cmV0dXJuIiJ9LApRdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKTtjLmxlbmd0aD4yOyljLnNoaWZ0KCk7Yz0iO2RvbWFpbj0iK2Muam9pbigiLiIpO2IhPW51bGw/YT1hKyI9IitiOihiPW5ldyBEYXRlLGIuc2V0VGltZShiLmdldFRpbWUoKS0xKSxhPWErIj1ub25lO2V4cGlyZXM9IitiLnRvR01UU3RyaW5nKCkpO2ErPSI7cGF0aD0vIjtkb2N1bWVudC5jb29raWU9YTt0cnl7ZG9jdW1lbnQuY29va2llPWErY31jYXRjaChkKXt9fSxSdj1mdW5jdGlvbihhLGIpe3ZhciBjPW51bGw7YiE9PXZvaWQgMCYmKGM9YSE9PXZvaWQgMD8iLyIrYSsiLyIrYjoiLyIrYik7UXYoImdvb2d0cmFucyIsYyl9O18ubT1Qdi5wcm90b3R5cGU7Cl8ubS5KaD1mdW5jdGlvbihhKXt0aGlzLmo9cXIob3EpO2E9YXx8e307dmFyIGI9YS50YXJnZXRMYW5ndWFnZXN8fFtdO3RoaXMuTD17c2w6V20oYS5zb3VyY2VMYW5ndWFnZXN8fFtdKSx0bDpXbShiKX07dGhpcy5EPXt9O3RoaXMuUj17fTthPSF0aGlzLmcuWGQubGVuZ3RoO2I9aXIodGhpcy5nLlhkKTt2YXIgYz1pcih0aGlzLmcuY2YpO3RoaXMuRFtvcV09IiI7dGhpcy5SW29xXT0iIjtmb3IodmFyIGQgaW4gdGhpcy5MLnRsKXRoaXMuTC50bFtkXT09PU9iamVjdC5wcm90b3R5cGVbZF18fCEoYXx8ZCBpbiBiKXx8ZCBpbiBjfHwodGhpcy5SW2RdPXRoaXMuTC50bFtkXSxkPT10aGlzLmcuZGQmJiF0aGlzLmcuUGIpfHwodGhpcy5EW2RdPXRoaXMuTC50bFtkXSk7dGhpcy5EW29xXXx8ZGVsZXRlIHRoaXMuRFtvcV07dGhpcy5SW29xXXx8ZGVsZXRlIHRoaXMuUltvcV07dGhpcy5yYT1KbCh0aGlzLkwuc2wpfTtfLm0uRWg9ZnVuY3Rpb24oYSl7YSYmKHRoaXMubz1xcihhKSl9OwpfLm0uTWg9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5LO2lmKHRoaXMuTCl7dGhpcy5vPXRoaXMub3x8dGhpcy5nLkZkO3RoaXMuaj10aGlzLmcuRWN8fHRoaXMuajt2YXIgYT10aGlzLmcuaGZ8fHRoaXMuZy5FZCYmdGhpcy5vIT10aGlzLmomJiEodGhpcy5vIGluIHNxKSYmdGhpcy5DLm9zIT0iMSImJnRoaXMuQ1sibyIrdGhpcy5vXSE9IjEiO3RoaXMubz09InpoLVRXIiYmKHRoaXMubz0iemgtQ04iKTt0aGlzLnJhW3RoaXMub118fChhPSExLHRoaXMubz0iYXV0byIpO2lmKCF0aGlzLkRbdGhpcy5qXSlpZihhPSExLHRoaXMuRC5lbil0aGlzLmo9ImVuIjtlbHNlIGZvcih2YXIgYiBpbiB0aGlzLkQpaWYodGhpcy5EW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dGhpcy5qPWI7YnJlYWt9aWYodGhpcy5sKXtiPXRoaXMuRDt2YXIgYz17IiI6Ui5CZ30sZDtmb3IoZCBpbiBiKWJbZF0hPT1PYmplY3QucHJvdG90eXBlW2RdJiYoY1tkXT1iW2RdKTt0aGlzLmwudWUoYyx0aGlzLlIpO3RoaXMubC5uYSgiIil9IXFxJiYKYT90aGlzLmcuRWM/bXIodGhpcy5PLHRoaXMuSS5kZWxheSgoMCxfLnkpKHRoaXMub2QsdGhpcywhMCwhMCkpKS5jYWxsKCk6KHRoaXMuRz0hMCxtcih0aGlzLk8sdGhpcy5JLmRlbGF5KCgwLF8ueSkodGhpcy5vZCx0aGlzKSkpLmNhbGwoKSxRbSgidGVfYXAiLHtzbDp0aGlzLm99KSk6KHRoaXMuQiYmdGhpcy5CLnBhKCEwKSx0aGlzLmwmJnRoaXMubC5wYSghMCkpO3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UmJnRoaXMuUmIoITEpO3RoaXMuTy5maW5pc2goKX19OwpfLm0uT2g9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgsYj10aGlzLnJhO2EubyYmYS5vLm5iKGIpO2EuVD1iO3RoaXMuaC51ZSh0aGlzLkQsdGhpcy5SKTt0aGlzLmguTmEodGhpcy5vKTt0aGlzLmgubmEodGhpcy5qKTt0aGlzLkEuTih0aGlzLmgsImNsa19jb25maXJtIix0aGlzLnloKTt0aGlzLkEuTih0aGlzLmgsImNsa19jYW5jZWwiLHRoaXMueGgpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX3Jlc3RvcmUiLHRoaXMuUmQpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX2Nsb3NlIix0aGlzLlFjKTt0aGlzLkEuTih0aGlzLmgsImNsa19ub19hcCIsdGhpcy56aCk7dGhpcy5BLk4odGhpcy5oLCJjbGtfbm9fYXBfc2l0ZSIsdGhpcy5BaCk7dGhpcy5BLk4odGhpcy5oLCJjaGdfc3JjX2xhbmciLHRoaXMubWYpO3RoaXMuQS5OKHRoaXMuaCwiY2hnX3RndF9sYW5nIix0aGlzLm1mKTt0aGlzLmwmJnRoaXMubC5wYSghMCl9OwpfLm0ua2k9ZnVuY3Rpb24oKXt0aGlzLkEuTih0aGlzLmgsImxvYWQiLHRoaXMuSS5yZWdpc3RlcigpKTt0aGlzLmgua2EoKTt0aGlzLkkuZmluaXNoKCl9O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5GLnJlc3RvcmUoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLkYuZGlzcG9zZSgpO3RoaXMuQS5kaXNwb3NlKCk7dGhpcy5BPW51bGw7dGhpcy5oJiZ0aGlzLmguZGlzcG9zZSgpO3RoaXMuaD1udWxsO3RoaXMuQiYmdGhpcy5CLmRpc3Bvc2UoKTt0aGlzLkI9bnVsbDt0aGlzLmwmJnRoaXMubC5kaXNwb3NlKCk7dGhpcy5UPXRoaXMubD1udWxsfTtfLm0ueWg9ZnVuY3Rpb24oKXshdGhpcy5oLmlzVmlzaWJsZSgpfHwhdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpfHwodGhpcy5HJiZRbSgidGVfYXB0Iix7c2w6dGhpcy5vfSksU3YodGhpcywhMSksdGhpcy5sJiZ0aGlzLmwubmEodGhpcy5oLm9hKCkpKX07Cl8ubS54aD1mdW5jdGlvbigpe3RoaXMuaC5pc1Zpc2libGUoKSYmKFR2KHRoaXMpLE12KHRoaXMuaCwwKSx0aGlzLmwmJnRoaXMubC5uYSgiIikpfTtfLm0uUmQ9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJihUdih0aGlzKSxNdih0aGlzLmgsMCkpO3RoaXMubCYmdGhpcy5sLm5hKCIiKX07Xy5tLlFjPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5HJiYodGhpcy5HPSExLFFtKCJ0ZV9hcGMiLHtzbDp0aGlzLm99KSksVHYodGhpcyksdGhpcy5oLnBhKCExKSx0aGlzLmwmJnRoaXMubC5uYSgiIiksdGhpcy5CJiZ0aGlzLkIucGEoITApKX07Xy5tLnpoPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5DWyJvIit0aGlzLm9dPSIxIixRbSgidGVfYXByIix7c2w6dGhpcy5vfSksdGhpcy5HPSExLHRoaXMuUWMoKSl9OwpfLm0uQWg9ZnVuY3Rpb24oKXtpZih0aGlzLmguaXNWaXNpYmxlKCkpe3RoaXMuRz0hMTt0aGlzLkMub3M9IjEiO3ZhciBhPW51bGw7aWYodGhpcy5DKXthPVtdO2Zvcih2YXIgYiBpbiB0aGlzLkMpdGhpcy5DW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSYmYS5wdXNoKGIrIj0iK3RoaXMuQ1tiXSk7YT1hLmpvaW4oInwiKX1RdigiZ29vZ3RyYW5zb3B0IixhKTt0aGlzLlFjKCl9fTtfLm0ubWY9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJighdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5vPXRoaXMuaC5KYSgpfHx0aGlzLm8sdGhpcy5qPXRoaXMuaC5vYSgpLHRoaXMuaC5hYz09MiYmKHRoaXMubCYmdGhpcy5sLm5hKHRoaXMuaC5vYSgpKSxTdih0aGlzKSkpKX07Xy5tLm9kPWZ1bmN0aW9uKGEsYil7dGhpcy5oLmlzVmlzaWJsZSgpfHwodGhpcy5CJiZ0aGlzLkIucGEoITEpLGE/U3YodGhpcyxiKTpNdih0aGlzLmgsMCwhMCx0aGlzLkcpKX07Cl8ubS5SaT1mdW5jdGlvbihhLGIpe21yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLm9kLHRoaXMsYSxiKSkpLmNhbGwoKX07Xy5tLkdoPWZ1bmN0aW9uKCl7dGhpcy5vZCh0aGlzLmguYWM9PTIpfTtfLm0uSWg9ZnVuY3Rpb24oKXt0aGlzLmwub2EoKT8hdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5qPXRoaXMubC5vYSgpLHRoaXMuaC5uYSh0aGlzLmopLFN2KHRoaXMpKTp0aGlzLmwubmEodGhpcy5qKX07CnZhciBTdj1mdW5jdGlvbihhLGIpe2lmKHdpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UpdHJ5e3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UuZ2V0SW5zdGFuY2UoKS5yZXN0b3JlKCl9Y2F0Y2goYyl7fVJ2KGEubyxhLmopO2EuRz0hMTshYiYmYS5vIGluIHNxJiZRbSgidGVfYXBlIix7c2w6YS5vfSk7TnYoYS5oLDApO012KGEuaCwxLCEwKTthLkYuWWYoISFiKTt3aW5kb3cuc2V0VGltZW91dCgoMCxfLnkpKGEuRi5xZCxhLkYsYS5nLlBiPyJhdXRvIjphLm8sYS5qLCgwLF8ueSkoYS5mYixhKSx2b2lkIDAsdm9pZCAwKSwwKX07ClB2LnByb3RvdHlwZS5mYj1mdW5jdGlvbihhLGIsYyl7dHlwZW9mIHRoaXMuZ2I9PSJmdW5jdGlvbiImJnRoaXMuZ2IoKTt0aGlzLmguaXNWaXNpYmxlKCkmJnRoaXMuaC5hYz09MSYmKGM/KFR2KHRoaXMpLE12KHRoaXMuaCwtMSwhMCksYz09Mj9Mdih0aGlzLmgsUi53Zyk6THYodGhpcy5oLFIuQ2UpKTooTnYodGhpcy5oLGEpLGImJih0aGlzLmwmJnRoaXMubC5uYSh0aGlzLmopLHRoaXMuaC5OYSh0aGlzLm8pLE12KHRoaXMuaCwyKSkpKX07dmFyIFR2PWZ1bmN0aW9uKGEpe1J2KCk7d2luZG93LnNldFRpbWVvdXQoKDAsXy55KShhLkYucmVzdG9yZSxhLkYsbnVsbCksMCl9O1B2LnByb3RvdHlwZS5SYj1mdW5jdGlvbihhKXthfHx0aGlzLlFjKCk7dGhpcy5sJiZ0aGlzLmwuUmIoYSk7dGhpcy5CJiZ0aGlzLkIucGEoYSl9O3ZhciB6bj1mdW5jdGlvbihhKXtpZihhJiYoYT1TdHJpbmcoYSksYT1hLnNwbGl0KCIuIiksYS5sZW5ndGgpKXtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyl7dmFyIGQ9YVtjXTtpZighKGQmJmQgaW4gYikpcmV0dXJuO2I9YltkXX1yZXR1cm4gYn19O3ZhciBVdj1udWxsLFZ2PWZ1bmN0aW9uKGEpe2lmKCFVdil7dmFyIGIsYyxkLGU7YSYmKCJrZXkiaW4gYSYmKGI9YS5rZXkpLCJzZXJ2ZXJQYXJhbXMiaW4gYSYmKGM9YS5zZXJ2ZXJQYXJhbXMpLCJ0aW1lSW5mbyJpbiBhJiYoZD1hLnRpbWVJbmZvKSwicmVtb3RlQXBpUHJveHlIYW5kbGVycyJpbiBhJiYoZT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLChhPXlyKCkpJiYoYz1hKSk7YT0wO2lmKHRxPT0idGVfbGliInx8Xy5XYylhPTM7VXY9bmV3IHd2KHZvaWQgMCxuZXcgWnMoe2FwaUtleTpiLGhjOmEsdmU6ITAsdHJhY2tWaXNpYmlsaXR5OmM9PSJ0dmlzIn0pLHZvaWQgMCx2b2lkIDAsYixjLGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsZSk7VXYuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9O1V2LmlzQXZhaWxhYmxlPVV2LlNhO1V2LmdldFN1cHBvcnRlZExhbmd1YWdlcz1Vdi56YztVdi5nZXRQYWdlTGFuZ3VhZ2U9VXYuUGM7VXYuc2V0Q2xpY2tUaHJvdWdoPVV2LllmO1V2LnRyYW5zbGF0ZVBhZ2U9ClV2LnFkO1V2LnJlc3RvcmU9VXYucmVzdG9yZTtVdi5pc1RyYW5zbGF0aW5nPVV2LnBnO1V2LnNldENoZWNrVmlzaWJpbGl0eT1Vdi5QaX1yZXR1cm4gVXZ9O1Z2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFV2fTt2YXIgV3Y9bnVsbCxYdj1mdW5jdGlvbihhLGIpe1d2fHwoV3Y9bmV3IFB2KGEsYiksV3YuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9KTtyZXR1cm4gV3Z9O1h2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFd2fTsKdmFyIFl2PWZ1bmN0aW9uKCl7dmFyIGE9em4oImdvb2dsZS50cmFuc2xhdGUubSIpO2F8fChmcygpLF8ucmMoImdvb2dsZS50cmFuc2xhdGUubSIsUSksYT1RKTtpZihhKWZvcih2YXIgYiBpbiBSKWlmKFJbYl0hPT1PYmplY3QucHJvdG90eXBlW1JbYl1dJiZSW2JdKXt2YXIgYz1SW2JdKCk7UltiXT1hW2NdP2FbY106Z3N9Xy5vaShfLlppKHBxLDEpKSYmKGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxiLnRleHRDb250ZW50PSJcbiAgLnRyYW5zbGF0ZWQtbHRye1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50cmFuc2xhdGVkLXJ0bHtcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgIixhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYXx8KGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaGVhZCIpLGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LApjLmluc2VydEJlZm9yZShhLGMuZmlyc3RDaGlsZCkpLGEuYXBwZW5kQ2hpbGQoYikpO0JuPT0xPyhfLnJjKCJnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UiLFZ2KSxRbSgidGVfbGkiKSk6KF8ucmMoImdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudCIsWHYpLFB2LnByb3RvdHlwZS5kaXNwb3NlPVB2LnByb3RvdHlwZS5kaXNwb3NlLFB2LnByb3RvdHlwZS5zaG93QmFubmVyPVB2LnByb3RvdHlwZS5SaSxQdi5wcm90b3R5cGUuc2V0RW5hYmxlZD1Qdi5wcm90b3R5cGUuUmIsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LkZsb2F0UG9zaXRpb24iLEp2KSxKdi5UT1BfTEVGVD0xLEp2LlRPUF9SSUdIVD0yLEp2LkJPVFRPTV9SSUdIVD0zLEp2LkJPVFRPTV9MRUZUPTQsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LklubGluZUxheW91dCIsSHYpLEh2LlZFUlRJQ0FMPTAsSHYuSE9SSVpPTlRBTD0xLEh2LlNJTVBMRT0KMik7Q24oKX07CmlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpWXYoKTtlbHNlIGlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fcHJvdG9Db25maWcpe3JxPW5ldyBEYXRlO3ZhciBadj1uZXcgbHEod2luZG93Lmdvb2dsZS50cmFuc2xhdGUuX3Byb3RvQ29uZmlnKTtPbj1fLk4oWnYsMjIpfHwiIjttcT1fLk4oWnYsNil8fCJwcm9kIjtucT1fLk4oWnYsMTIpfHwiIjtvcT1fLk4oWnYsMSl8fCJlbiI7QW49Xy5OKFp2LDIpfHwiIjt2YXIgJHY7KCR2PV8uYmooWnYsanEsMykpJiYocHE9JHYpO18uTihadiw4KTtxcT1fLk0oWnYsMTcpO3NxPXt9O3ZhciBhdzthdz1zbShadiwxOCxfLmFqKCkpO2Zvcih2YXIgYnc9MDtidzxhdy5sZW5ndGg7YncrKylzcVthd1tid11dPSEwO0JuPV8uTihadiw1KT09ImxpYiI/MTowO3RxPShfLk4oWnYsNCl8fCJ0ZSIpKwooQm49PTE/Il9saWIiOiIiKTtmcT1fLk4oWnYsOSl8fCIiO3ZhciBjdzsoY3c9Xy5OKFp2LDEwKSl8fChjdz1fLk4oWnYsMTEpKTt1cT1jd3x8IiI7dnE9Imh0dHBzOi8vIjt2YXIgZHc7ZHc9Xy5OKFp2LDEzKTt2YXIgZXc9dnErKGR3fHwiIikrIi90cmFuc2xhdGVfc3RhdGljLyI7d3E9ZXcrImltZy90ZV9iay5naWYiO3hxPWV3KyJpbWcvdGVfY3RybDMuZ2lmIjt6cT1ldysiaW1nL2xvYWRpbmcuZ2lmIjtBcT1fLk4oWnYsMTQpfHwiIjt5cT1fLk4oWnYsMTUpfHwiIjtCcT1fLk4oWnYsMTYpfHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKTtZdigpfTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCg=="}},"time_used":91,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":17,"receive":26,"ssl":31},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:31.990Z","timestamp":1785137071990,"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/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.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://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.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: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 364044\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-19T17:45:05.827193Z","times_seen":969820,"resource_available":false,"data":"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"}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":18,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/webfonts/fa-duotone-900.woff2","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.220Z","timestamp":1785137065220,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/webfonts/fa-duotone-900.woff2 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 182080\r\ncontent-type: font/woff2\r\nlast-modified: Sat, 19 Feb 2022 08:52:00 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256df505bf40\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":182080,"size_decoded":182379,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 182080, version 331.-31196","md5":"923bc494d832c471ee7b45ba38205fb9","sha1":"558c7db7ab18d197eeba1e911bdde4e25dd821b0","sha256":"84f582c87b5a6f8a98b40aa9fba6bf25375f68f264ba921ab315c85976eda547","sha512":"c7cb863e31585968fc92da81966da4eb3ab1be76f5fdfd770031f8760bcdb1779afcf2dbcfcd3f71fe8693ca40a557398afe6d5a240b6d7d4e2c980016a49b73","ssdeep":"3072:mqyGU3DfbZW9RiRAwzMSHcgm4uU3+2S7YGTdUAjmbjzEwJg36FUnB:mqqTbZ/KS8gU4S7HyXbjXJ+9B","tlshash":"fd0422e082dc5fab93eb30c3eeb2f146408675656d9b00d12864dfc28f41f69f499ad9","first_seen":"2023-05-01T23:27:15Z","last_seen":"2026-08-17T03:47:01.295317Z","times_seen":336,"resource_available":false,"data":"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"}},"time_used":4210,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3111,"receive":1099,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/assets/js/jquery-3.4.1.min.js","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.452Z","timestamp":1785137065452,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /assets/js/jquery-3.4.1.min.js HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Mon, 07 Mar 2022 21:04:18 GMT\r\naccept-ranges: bytes\r\netag: \"1d83266e8bb6d51\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":88145,"size_decoded":31084,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65451)","md5":"220afd743d9e9643852e31a135a9f3ae","sha1":"88523924351bac0b5d560fe0c5781e2556e7693d","sha256":"0925e8ad7bd971391a8b1e98be8e87a6971919eb5b60c196485941c3c1df089a","sha512":"6e722fce1e8553be592b1a741972c7f5b7b0cdafce230e9d2d587d20283482881c96660682e4095a5f14df45a96ec193a9b222030c53b1b7bbe8312b2eae440d","ssdeep":"1536:yTExXUZinxD7oPEZxkMV4SYKFMbRHZ6H5HOHCWrcElzuu7BRCKKBEqBsojZlOPma:ygZm0H5HO5+gCKWZyPmHQ47GKe","tlshash":"338319dd72c6706257b761ba00bf540bf236599e6c4d4410f124e8eabc78a4a823bf7d","first_seen":"2023-03-07T01:02:34Z","last_seen":"2026-08-19T17:04:21.679057Z","times_seen":139404,"resource_available":true,"data":"LyohIGpRdWVyeSB2My40LjEgfCAoYykgSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovCiFmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0Ijsib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmIm9iamVjdCI9PXR5cGVvZiBtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lLmRvY3VtZW50P3QoZSwhMCk6ZnVuY3Rpb24oZSl7aWYoIWUuZG9jdW1lbnQpdGhyb3cgbmV3IEVycm9yKCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50Iik7cmV0dXJuIHQoZSl9OnQoZSl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKEMsZSl7InVzZSBzdHJpY3QiO3ZhciB0PVtdLEU9Qy5kb2N1bWVudCxyPU9iamVjdC5nZXRQcm90b3R5cGVPZixzPXQuc2xpY2UsZz10LmNvbmNhdCx1PXQucHVzaCxpPXQuaW5kZXhPZixuPXt9LG89bi50b1N0cmluZyx2PW4uaGFzT3duUHJvcGVydHksYT12LnRvU3RyaW5nLGw9YS5jYWxsKE9iamVjdCkseT17fSxtPWZ1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYibnVtYmVyIiE9dHlwZW9mIGUubm9kZVR5cGV9LHg9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUmJmU9PT1lLndpbmRvd30sYz17dHlwZTohMCxzcmM6ITAsbm9uY2U6ITAsbm9Nb2R1bGU6ITB9O2Z1bmN0aW9uIGIoZSx0LG4pe3ZhciByLGksbz0obj1ufHxFKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpZihvLnRleHQ9ZSx0KWZvcihyIGluIGMpKGk9dFtyXXx8dC5nZXRBdHRyaWJ1dGUmJnQuZ2V0QXR0cmlidXRlKHIpKSYmby5zZXRBdHRyaWJ1dGUocixpKTtuLmhlYWQuYXBwZW5kQ2hpbGQobykucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKX1mdW5jdGlvbiB3KGUpe3JldHVybiBudWxsPT1lP2UrIiI6Im9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZT9uW28uY2FsbChlKV18fCJvYmplY3QiOnR5cGVvZiBlfXZhciBmPSIzLjQuMSIsaz1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgay5mbi5pbml0KGUsdCl9LHA9L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nO2Z1bmN0aW9uIGQoZSl7dmFyIHQ9ISFlJiYibGVuZ3RoImluIGUmJmUubGVuZ3RoLG49dyhlKTtyZXR1cm4hbShlKSYmIXgoZSkmJigiYXJyYXkiPT09bnx8MD09PXR8fCJudW1iZXIiPT10eXBlb2YgdCYmMDx0JiZ0LTEgaW4gZSl9ay5mbj1rLnByb3RvdHlwZT17anF1ZXJ5OmYsY29uc3RydWN0b3I6ayxsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHMuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3MuY2FsbCh0aGlzKTplPDA/dGhpc1tlK3RoaXMubGVuZ3RoXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9ay5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksZSk7cmV0dXJuIHQucHJldk9iamVjdD10aGlzLHR9LGVhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIGsuZWFjaCh0aGlzLGUpfSxtYXA6ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGsubWFwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gbi5jYWxsKGUsdCxlKX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2socy5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxlcTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmxlbmd0aCxuPStlKyhlPDA/dDowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soMDw9biYmbjx0P1t0aGlzW25dXTpbXSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IoKX0scHVzaDp1LHNvcnQ6dC5zb3J0LHNwbGljZTp0LnNwbGljZX0say5leHRlbmQ9ay5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG4scixpLG8sYT1hcmd1bWVudHNbMF18fHt9LHM9MSx1PWFyZ3VtZW50cy5sZW5ndGgsbD0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgYSYmKGw9YSxhPWFyZ3VtZW50c1tzXXx8e30scysrKSwib2JqZWN0Ij09dHlwZW9mIGF8fG0oYSl8fChhPXt9KSxzPT09dSYmKGE9dGhpcyxzLS0pO3M8dTtzKyspaWYobnVsbCE9KGU9YXJndW1lbnRzW3NdKSlmb3IodCBpbiBlKXI9ZVt0XSwiX19wcm90b19fIiE9PXQmJmEhPT1yJiYobCYmciYmKGsuaXNQbGFpbk9iamVjdChyKXx8KGk9QXJyYXkuaXNBcnJheShyKSkpPyhuPWFbdF0sbz1pJiYhQXJyYXkuaXNBcnJheShuKT9bXTppfHxrLmlzUGxhaW5PYmplY3Qobik/bjp7fSxpPSExLGFbdF09ay5leHRlbmQobCxvLHIpKTp2b2lkIDAhPT1yJiYoYVt0XT1yKSk7cmV0dXJuIGF9LGsuZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhmK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKGUpfSxub29wOmZ1bmN0aW9uKCl7fSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciB0LG47cmV0dXJuISghZXx8IltvYmplY3QgT2JqZWN0XSIhPT1vLmNhbGwoZSkpJiYoISh0PXIoZSkpfHwiZnVuY3Rpb24iPT10eXBlb2Yobj12LmNhbGwodCwiY29uc3RydWN0b3IiKSYmdC5jb25zdHJ1Y3RvcikmJmEuY2FsbChuKT09PWwpfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oZSx0KXtiKGUse25vbmNlOnQmJnQubm9uY2V9KX0sZWFjaDpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MDtpZihkKGUpKXtmb3Iobj1lLmxlbmd0aDtyPG47cisrKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVha31lbHNlIGZvcihyIGluIGUpaWYoITE9PT10LmNhbGwoZVtyXSxyLGVbcl0pKWJyZWFrO3JldHVybiBlfSx0cmltOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOihlKyIiKS5yZXBsYWNlKHAsIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10fHxbXTtyZXR1cm4gbnVsbCE9ZSYmKGQoT2JqZWN0KGUpKT9rLm1lcmdlKG4sInN0cmluZyI9PXR5cGVvZiBlP1tlXTplKTp1LmNhbGwobixlKSksbn0saW5BcnJheTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PXQ/LTE6aS5jYWxsKHQsZSxuKX0sbWVyZ2U6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49K3QubGVuZ3RoLHI9MCxpPWUubGVuZ3RoO3I8bjtyKyspZVtpKytdPXRbcl07cmV0dXJuIGUubGVuZ3RoPWksZX0sZ3JlcDpmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPVtdLGk9MCxvPWUubGVuZ3RoLGE9IW47aTxvO2krKykhdChlW2ldLGkpIT09YSYmci5wdXNoKGVbaV0pO3JldHVybiByfSxtYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz0wLGE9W107aWYoZChlKSlmb3Iocj1lLmxlbmd0aDtvPHI7bysrKW51bGwhPShpPXQoZVtvXSxvLG4pKSYmYS5wdXNoKGkpO2Vsc2UgZm9yKG8gaW4gZSludWxsIT0oaT10KGVbb10sbyxuKSkmJmEucHVzaChpKTtyZXR1cm4gZy5hcHBseShbXSxhKX0sZ3VpZDoxLHN1cHBvcnQ6eX0pLCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihrLmZuW1N5bWJvbC5pdGVyYXRvcl09dFtTeW1ib2wuaXRlcmF0b3JdKSxrLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGUsdCl7blsiW29iamVjdCAiK3QrIl0iXT10LnRvTG93ZXJDYXNlKCl9KTt2YXIgaD1mdW5jdGlvbihuKXt2YXIgZSxkLGIsbyxpLGgsZixnLHcsdSxsLFQsQyxhLEUsdixzLGMseSxrPSJzaXp6bGUiKzEqbmV3IERhdGUsbT1uLmRvY3VtZW50LFM9MCxyPTAscD11ZSgpLHg9dWUoKSxOPXVlKCksQT11ZSgpLEQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PXQmJihsPSEwKSwwfSxqPXt9Lmhhc093blByb3BlcnR5LHQ9W10scT10LnBvcCxMPXQucHVzaCxIPXQucHVzaCxPPXQuc2xpY2UsUD1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKylpZihlW25dPT09dClyZXR1cm4gbjtyZXR1cm4tMX0sUj0iY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLE09IltcXHgyMFxcdFxcclxcblxcZl0iLEk9Iig/OlxcXFwufFtcXHctXXxbXlwwLVxceGEwXSkrIixXPSJcXFsiK00rIiooIitJKyIpKD86IitNKyIqKFsqXiR8IX5dPz0pIitNKyIqKD86JygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCJ8KCIrSSsiKSl8KSIrTSsiKlxcXSIsJD0iOigiK0krIikoPzpcXCgoKCcoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwiKXwoKD86XFxcXC58W15cXFxcKClbXFxdXXwiK1crIikqKXwuKilcXCl8KSIsRj1uZXcgUmVnRXhwKE0rIisiLCJnIiksQj1uZXcgUmVnRXhwKCJeIitNKyIrfCgoPzpefFteXFxcXF0pKD86XFxcXC4pKikiK00rIiskIiwiZyIpLF89bmV3IFJlZ0V4cCgiXiIrTSsiKiwiK00rIioiKSx6PW5ldyBSZWdFeHAoIl4iK00rIiooWz4rfl18IitNKyIpIitNKyIqIiksVT1uZXcgUmVnRXhwKE0rInw+IiksWD1uZXcgUmVnRXhwKCQpLFY9bmV3IFJlZ0V4cCgiXiIrSSsiJCIpLEc9e0lEOm5ldyBSZWdFeHAoIl4jKCIrSSsiKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitJKyIpIiksVEFHOm5ldyBSZWdFeHAoIl4oIitJKyJ8WypdKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrVyksUFNFVURPOm5ldyBSZWdFeHAoIl4iKyQpLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTSsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTSsiKig/OihbKy1dfCkiK00rIiooXFxkKyl8KSkiK00rIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK1IrIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitNKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK00rIiooKD86LVxcZCk/XFxkKikiK00rIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L0hUTUwkL2ksUT0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLEo9L15oXGQkL2ksSz0vXltee10rXHtccypcW25hdGl2ZSBcdy8sWj0vXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLGVlPS9bK35dLyx0ZT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK00rIj98KCIrTSsiKXwuKSIsImlnIiksbmU9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPSIweCIrdC02NTUzNjtyZXR1cm4gciE9cnx8bj90OnI8MD9TdHJpbmcuZnJvbUNoYXJDb2RlKHIrNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUocj4+MTB8NTUyOTYsMTAyMyZyfDU2MzIwKX0scmU9LyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15cMC1ceDFmXHg3Zi1cdUZGRkZcdy1dL2csaWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD8iXDAiPT09ZT8iXHVmZmZkIjplLnNsaWNlKDAsLTEpKyJcXCIrZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpLnRvU3RyaW5nKDE2KSsiICI6IlxcIitlfSxvZT1mdW5jdGlvbigpe1QoKX0sYWU9YmUoZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lLmRpc2FibGVkJiYiZmllbGRzZXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfSx7ZGlyOiJwYXJlbnROb2RlIixuZXh0OiJsZWdlbmQifSk7dHJ5e0guYXBwbHkodD1PLmNhbGwobS5jaGlsZE5vZGVzKSxtLmNoaWxkTm9kZXMpLHRbbS5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZSl7SD17YXBwbHk6dC5sZW5ndGg/ZnVuY3Rpb24oZSx0KXtMLmFwcGx5KGUsTy5jYWxsKHQpKX06ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmxlbmd0aCxyPTA7d2hpbGUoZVtuKytdPXRbcisrXSk7ZS5sZW5ndGg9bi0xfX19ZnVuY3Rpb24gc2UodCxlLG4scil7dmFyIGksbyxhLHMsdSxsLGMsZj1lJiZlLm93bmVyRG9jdW1lbnQscD1lP2Uubm9kZVR5cGU6OTtpZihuPW58fFtdLCJzdHJpbmciIT10eXBlb2YgdHx8IXR8fDEhPT1wJiY5IT09cCYmMTEhPT1wKXJldHVybiBuO2lmKCFyJiYoKGU/ZS5vd25lckRvY3VtZW50fHxlOm0pIT09QyYmVChlKSxlPWV8fEMsRSkpe2lmKDExIT09cCYmKHU9Wi5leGVjKHQpKSlpZihpPXVbMV0pe2lmKDk9PT1wKXtpZighKGE9ZS5nZXRFbGVtZW50QnlJZChpKSkpcmV0dXJuIG47aWYoYS5pZD09PWkpcmV0dXJuIG4ucHVzaChhKSxufWVsc2UgaWYoZiYmKGE9Zi5nZXRFbGVtZW50QnlJZChpKSkmJnkoZSxhKSYmYS5pZD09PWkpcmV0dXJuIG4ucHVzaChhKSxufWVsc2V7aWYodVsyXSlyZXR1cm4gSC5hcHBseShuLGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUodCkpLG47aWYoKGk9dVszXSkmJmQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KG4sZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGkpKSxufWlmKGQucXNhJiYhQVt0KyIgIl0mJighdnx8IXYudGVzdCh0KSkmJigxIT09cHx8Im9iamVjdCIhPT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpKXtpZihjPXQsZj1lLDE9PT1wJiZVLnRlc3QodCkpeyhzPWUuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXMucmVwbGFjZShyZSxpZSk6ZS5zZXRBdHRyaWJ1dGUoImlkIixzPWspLG89KGw9aCh0KSkubGVuZ3RoO3doaWxlKG8tLSlsW29dPSIjIitzKyIgIit4ZShsW29dKTtjPWwuam9pbigiLCIpLGY9ZWUudGVzdCh0KSYmeWUoZS5wYXJlbnROb2RlKXx8ZX10cnl7cmV0dXJuIEguYXBwbHkobixmLnF1ZXJ5U2VsZWN0b3JBbGwoYykpLG59Y2F0Y2goZSl7QSh0LCEwKX1maW5hbGx5e3M9PT1rJiZlLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBnKHQucmVwbGFjZShCLCIkMSIpLGUsbixyKX1mdW5jdGlvbiB1ZSgpe3ZhciByPVtdO3JldHVybiBmdW5jdGlvbiBlKHQsbil7cmV0dXJuIHIucHVzaCh0KyIgIik+Yi5jYWNoZUxlbmd0aCYmZGVsZXRlIGVbci5zaGlmdCgpXSxlW3QrIiAiXT1ufX1mdW5jdGlvbiBsZShlKXtyZXR1cm4gZVtrXT0hMCxlfWZ1bmN0aW9uIGNlKGUpe3ZhciB0PUMuY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKTt0cnl7cmV0dXJuISFlKHQpfWNhdGNoKGUpe3JldHVybiExfWZpbmFsbHl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksdD1udWxsfX1mdW5jdGlvbiBmZShlLHQpe3ZhciBuPWUuc3BsaXQoInwiKSxyPW4ubGVuZ3RoO3doaWxlKHItLSliLmF0dHJIYW5kbGVbbltyXV09dH1mdW5jdGlvbiBwZShlLHQpe3ZhciBuPXQmJmUscj1uJiYxPT09ZS5ub2RlVHlwZSYmMT09PXQubm9kZVR5cGUmJmUuc291cmNlSW5kZXgtdC5zb3VyY2VJbmRleDtpZihyKXJldHVybiByO2lmKG4pd2hpbGUobj1uLm5leHRTaWJsaW5nKWlmKG49PT10KXJldHVybi0xO3JldHVybiBlPzE6LTF9ZnVuY3Rpb24gZGUodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiJpbnB1dCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJmUudHlwZT09PXR9fWZ1bmN0aW9uIGhlKG4pe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT10fHwiYnV0dG9uIj09PXQpJiZlLnR5cGU9PT1ufX1mdW5jdGlvbiBnZSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuImZvcm0iaW4gZT9lLnBhcmVudE5vZGUmJiExPT09ZS5kaXNhYmxlZD8ibGFiZWwiaW4gZT8ibGFiZWwiaW4gZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5kaXNhYmxlZD09PXQ6ZS5kaXNhYmxlZD09PXQ6ZS5pc0Rpc2FibGVkPT09dHx8ZS5pc0Rpc2FibGVkIT09IXQmJmFlKGUpPT09dDplLmRpc2FibGVkPT09dDoibGFiZWwiaW4gZSYmZS5kaXNhYmxlZD09PXR9fWZ1bmN0aW9uIHZlKGEpe3JldHVybiBsZShmdW5jdGlvbihvKXtyZXR1cm4gbz0rbyxsZShmdW5jdGlvbihlLHQpe3ZhciBuLHI9YShbXSxlLmxlbmd0aCxvKSxpPXIubGVuZ3RoO3doaWxlKGktLSllW249cltpXV0mJihlW25dPSEodFtuXT1lW25dKSl9KX0pfWZ1bmN0aW9uIHllKGUpe3JldHVybiBlJiYidW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJmV9Zm9yKGUgaW4gZD1zZS5zdXBwb3J0PXt9LGk9c2UuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5uYW1lc3BhY2VVUkksbj0oZS5vd25lckRvY3VtZW50fHxlKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIVkudGVzdCh0fHxuJiZuLm5vZGVOYW1lfHwiSFRNTCIpfSxUPXNlLnNldERvY3VtZW50PWZ1bmN0aW9uKGUpe3ZhciB0LG4scj1lP2Uub3duZXJEb2N1bWVudHx8ZTptO3JldHVybiByIT09QyYmOT09PXIubm9kZVR5cGUmJnIuZG9jdW1lbnRFbGVtZW50JiYoYT0oQz1yKS5kb2N1bWVudEVsZW1lbnQsRT0haShDKSxtIT09QyYmKG49Qy5kZWZhdWx0VmlldykmJm4udG9wIT09biYmKG4uYWRkRXZlbnRMaXN0ZW5lcj9uLmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsb2UsITEpOm4uYXR0YWNoRXZlbnQmJm4uYXR0YWNoRXZlbnQoIm9udW5sb2FkIixvZSkpLGQuYXR0cmlidXRlcz1jZShmdW5jdGlvbihlKXtyZXR1cm4gZS5jbGFzc05hbWU9ImkiLCFlLmdldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIil9KSxkLmdldEVsZW1lbnRzQnlUYWdOYW1lPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmFwcGVuZENoaWxkKEMuY3JlYXRlQ29tbWVudCgiIikpLCFlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RofSksZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPUsudGVzdChDLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpLGQuZ2V0QnlJZD1jZShmdW5jdGlvbihlKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChlKS5pZD1rLCFDLmdldEVsZW1lbnRzQnlOYW1lfHwhQy5nZXRFbGVtZW50c0J5TmFtZShrKS5sZW5ndGh9KSxkLmdldEJ5SWQ/KGIuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh0ZSxuZSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaWQiKT09PXR9fSxiLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQmJkUpe3ZhciBuPXQuZ2V0RWxlbWVudEJ5SWQoZSk7cmV0dXJuIG4/W25dOltdfX0pOihiLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2UodGUsbmUpO3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD0idW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0QXR0cmlidXRlTm9kZSYmZS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiB0JiZ0LnZhbHVlPT09bn19LGIuZmluZC5JRD1mdW5jdGlvbihlLHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgdC5nZXRFbGVtZW50QnlJZCYmRSl7dmFyIG4scixpLG89dC5nZXRFbGVtZW50QnlJZChlKTtpZihvKXtpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb107aT10LmdldEVsZW1lbnRzQnlOYW1lKGUpLHI9MDt3aGlsZShvPWlbcisrXSlpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb119cmV0dXJuW119fSksYi5maW5kLlRBRz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGUsdCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRzQnlUYWdOYW1lP3QuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk6ZC5xc2E/dC5xdWVyeVNlbGVjdG9yQWxsKGUpOnZvaWQgMH06ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9MCxvPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk7aWYoIioiPT09ZSl7d2hpbGUobj1vW2krK10pMT09PW4ubm9kZVR5cGUmJnIucHVzaChuKTtyZXR1cm4gcn1yZXR1cm4gb30sYi5maW5kLkNMQVNTPWQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oZSx0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmRSlyZXR1cm4gdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUpfSxzPVtdLHY9W10sKGQucXNhPUsudGVzdChDLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGNlKGZ1bmN0aW9uKGUpe2EuYXBwZW5kQ2hpbGQoZSkuaW5uZXJIVE1MPSI8YSBpZD0nIitrKyInPjwvYT48c2VsZWN0IGlkPSciK2srIi1cclxcJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsZS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmdi5wdXNoKCJbKl4kXT0iK00rIiooPzonJ3xcIlwiKSIpLGUucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8di5wdXNoKCJcXFsiK00rIiooPzp2YWx1ZXwiK1IrIikiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49IitrKyItXSIpLmxlbmd0aHx8di5wdXNoKCJ+PSIpLGUucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHYucHVzaCgiOmNoZWNrZWQiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIitrKyIrKiIpLmxlbmd0aHx8di5wdXNoKCIuIy4rWyt+XSIpfSksY2UoZnVuY3Rpb24oZSl7ZS5pbm5lckhUTUw9IjxhIGhyZWY9JycgZGlzYWJsZWQ9J2Rpc2FibGVkJz48L2E+PHNlbGVjdCBkaXNhYmxlZD0nZGlzYWJsZWQnPjxvcHRpb24vPjwvc2VsZWN0PiI7dmFyIHQ9Qy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3Quc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksZS5hcHBlbmRDaGlsZCh0KS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmdi5wdXNoKCJuYW1lIitNKyIqWypeJHwhfl0/PSIpLDIhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RoJiZ2LnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIiksYS5hcHBlbmRDaGlsZChlKS5kaXNhYmxlZD0hMCwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKCI6ZGlzYWJsZWQiKS5sZW5ndGgmJnYucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSx2LnB1c2goIiwuKjoiKX0pKSwoZC5tYXRjaGVzU2VsZWN0b3I9Sy50ZXN0KGM9YS5tYXRjaGVzfHxhLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8YS5tb3pNYXRjaGVzU2VsZWN0b3J8fGEub01hdGNoZXNTZWxlY3Rvcnx8YS5tc01hdGNoZXNTZWxlY3RvcikpJiZjZShmdW5jdGlvbihlKXtkLmRpc2Nvbm5lY3RlZE1hdGNoPWMuY2FsbChlLCIqIiksYy5jYWxsKGUsIltzIT0nJ106eCIpLHMucHVzaCgiIT0iLCQpfSksdj12Lmxlbmd0aCYmbmV3IFJlZ0V4cCh2LmpvaW4oInwiKSkscz1zLmxlbmd0aCYmbmV3IFJlZ0V4cChzLmpvaW4oInwiKSksdD1LLnRlc3QoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbikseT10fHxLLnRlc3QoYS5jb250YWlucyk/ZnVuY3Rpb24oZSx0KXt2YXIgbj05PT09ZS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLHI9dCYmdC5wYXJlbnROb2RlO3JldHVybiBlPT09cnx8ISghcnx8MSE9PXIubm9kZVR5cGV8fCEobi5jb250YWlucz9uLmNvbnRhaW5zKHIpOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJjE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24ocikpKX06ZnVuY3Rpb24oZSx0KXtpZih0KXdoaWxlKHQ9dC5wYXJlbnROb2RlKWlmKHQ9PT1lKXJldHVybiEwO3JldHVybiExfSxEPXQ/ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gbD0hMCwwO3ZhciBuPSFlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uLSF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uO3JldHVybiBufHwoMSYobj0oZS5vd25lckRvY3VtZW50fHxlKT09PSh0Lm93bmVyRG9jdW1lbnR8fHQpP2UuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCk6MSl8fCFkLnNvcnREZXRhY2hlZCYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKT09PW4/ZT09PUN8fGUub3duZXJEb2N1bWVudD09PW0mJnkobSxlKT8tMTp0PT09Q3x8dC5vd25lckRvY3VtZW50PT09bSYmeShtLHQpPzE6dT9QKHUsZSktUCh1LHQpOjA6NCZuPy0xOjEpfTpmdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBsPSEwLDA7dmFyIG4scj0wLGk9ZS5wYXJlbnROb2RlLG89dC5wYXJlbnROb2RlLGE9W2VdLHM9W3RdO2lmKCFpfHwhbylyZXR1cm4gZT09PUM/LTE6dD09PUM/MTppPy0xOm8/MTp1P1AodSxlKS1QKHUsdCk6MDtpZihpPT09bylyZXR1cm4gcGUoZSx0KTtuPWU7d2hpbGUobj1uLnBhcmVudE5vZGUpYS51bnNoaWZ0KG4pO249dDt3aGlsZShuPW4ucGFyZW50Tm9kZSlzLnVuc2hpZnQobik7d2hpbGUoYVtyXT09PXNbcl0pcisrO3JldHVybiByP3BlKGFbcl0sc1tyXSk6YVtyXT09PW0/LTE6c1tyXT09PW0/MTowfSksQ30sc2UubWF0Y2hlcz1mdW5jdGlvbihlLHQpe3JldHVybiBzZShlLG51bGwsbnVsbCx0KX0sc2UubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7aWYoKGUub3duZXJEb2N1bWVudHx8ZSkhPT1DJiZUKGUpLGQubWF0Y2hlc1NlbGVjdG9yJiZFJiYhQVt0KyIgIl0mJighc3x8IXMudGVzdCh0KSkmJighdnx8IXYudGVzdCh0KSkpdHJ5e3ZhciBuPWMuY2FsbChlLHQpO2lmKG58fGQuZGlzY29ubmVjdGVkTWF0Y2h8fGUuZG9jdW1lbnQmJjExIT09ZS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gbn1jYXRjaChlKXtBKHQsITApfXJldHVybiAwPHNlKHQsQyxudWxsLFtlXSkubGVuZ3RofSxzZS5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybihlLm93bmVyRG9jdW1lbnR8fGUpIT09QyYmVChlKSx5KGUsdCl9LHNlLmF0dHI9ZnVuY3Rpb24oZSx0KXsoZS5vd25lckRvY3VtZW50fHxlKSE9PUMmJlQoZSk7dmFyIG49Yi5hdHRySGFuZGxlW3QudG9Mb3dlckNhc2UoKV0scj1uJiZqLmNhbGwoYi5hdHRySGFuZGxlLHQudG9Mb3dlckNhc2UoKSk/bihlLHQsIUUpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09cj9yOmQuYXR0cmlidXRlc3x8IUU/ZS5nZXRBdHRyaWJ1dGUodCk6KHI9ZS5nZXRBdHRyaWJ1dGVOb2RlKHQpKSYmci5zcGVjaWZpZWQ/ci52YWx1ZTpudWxsfSxzZS5lc2NhcGU9ZnVuY3Rpb24oZSl7cmV0dXJuKGUrIiIpLnJlcGxhY2UocmUsaWUpfSxzZS5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrZSl9LHNlLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj1bXSxyPTAsaT0wO2lmKGw9IWQuZGV0ZWN0RHVwbGljYXRlcyx1PSFkLnNvcnRTdGFibGUmJmUuc2xpY2UoMCksZS5zb3J0KEQpLGwpe3doaWxlKHQ9ZVtpKytdKXQ9PT1lW2ldJiYocj1uLnB1c2goaSkpO3doaWxlKHItLSllLnNwbGljZShuW3JdLDEpfXJldHVybiB1PW51bGwsZX0sbz1zZS5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG49IiIscj0wLGk9ZS5ub2RlVHlwZTtpZihpKXtpZigxPT09aXx8OT09PWl8fDExPT09aSl7aWYoInN0cmluZyI9PXR5cGVvZiBlLnRleHRDb250ZW50KXJldHVybiBlLnRleHRDb250ZW50O2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZyluKz1vKGUpfWVsc2UgaWYoMz09PWl8fDQ9PT1pKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKHQ9ZVtyKytdKW4rPW8odCk7cmV0dXJuIG59LChiPXNlLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmxlLG1hdGNoOkcsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ+Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0ucmVwbGFjZSh0ZSxuZSksZVszXT0oZVszXXx8ZVs0XXx8ZVs1XXx8IiIpLnJlcGxhY2UodGUsbmUpLCJ+PSI9PT1lWzJdJiYoZVszXT0iICIrZVszXSsiICIpLGUuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS50b0xvd2VyQ2FzZSgpLCJudGgiPT09ZVsxXS5zbGljZSgwLDMpPyhlWzNdfHxzZS5lcnJvcihlWzBdKSxlWzRdPSsoZVs0XT9lWzVdKyhlWzZdfHwxKToyKigiZXZlbiI9PT1lWzNdfHwib2RkIj09PWVbM10pKSxlWzVdPSsoZVs3XStlWzhdfHwib2RkIj09PWVbM10pKTplWzNdJiZzZS5lcnJvcihlWzBdKSxlfSxQU0VVRE86ZnVuY3Rpb24oZSl7dmFyIHQsbj0hZVs2XSYmZVsyXTtyZXR1cm4gRy5DSElMRC50ZXN0KGVbMF0pP251bGw6KGVbM10/ZVsyXT1lWzRdfHxlWzVdfHwiIjpuJiZYLnRlc3QobikmJih0PWgobiwhMCkpJiYodD1uLmluZGV4T2YoIikiLG4ubGVuZ3RoLXQpLW4ubGVuZ3RoKSYmKGVbMF09ZVswXS5zbGljZSgwLHQpLGVbMl09bi5zbGljZSgwLHQpKSxlLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKS50b0xvd2VyQ2FzZSgpO3JldHVybiIqIj09PWU/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXR9fSxDTEFTUzpmdW5jdGlvbihlKXt2YXIgdD1wW2UrIiAiXTtyZXR1cm4gdHx8KHQ9bmV3IFJlZ0V4cCgiKF58IitNKyIpIitlKyIoIitNKyJ8JCkiKSkmJnAoZSxmdW5jdGlvbihlKXtyZXR1cm4gdC50ZXN0KCJzdHJpbmciPT10eXBlb2YgZS5jbGFzc05hbWUmJmUuY2xhc3NOYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpfSl9LEFUVFI6ZnVuY3Rpb24obixyLGkpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1zZS5hdHRyKGUsbik7cmV0dXJuIG51bGw9PXQ/IiE9Ij09PXI6IXJ8fCh0Kz0iIiwiPSI9PT1yP3Q9PT1pOiIhPSI9PT1yP3QhPT1pOiJePSI9PT1yP2kmJjA9PT10LmluZGV4T2YoaSk6Iio9Ij09PXI/aSYmLTE8dC5pbmRleE9mKGkpOiIkPSI9PT1yP2kmJnQuc2xpY2UoLWkubGVuZ3RoKT09PWk6In49Ij09PXI/LTE8KCIgIit0LnJlcGxhY2UoRiwiICIpKyIgIikuaW5kZXhPZihpKToifD0iPT09ciYmKHQ9PT1pfHx0LnNsaWNlKDAsaS5sZW5ndGgrMSk9PT1pKyItIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oaCxlLHQsZyx2KXt2YXIgeT0ibnRoIiE9PWguc2xpY2UoMCwzKSxtPSJsYXN0IiE9PWguc2xpY2UoLTQpLHg9Im9mLXR5cGUiPT09ZTtyZXR1cm4gMT09PWcmJjA9PT12P2Z1bmN0aW9uKGUpe3JldHVybiEhZS5wYXJlbnROb2RlfTpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGw9eSE9PW0/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixjPWUucGFyZW50Tm9kZSxmPXgmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxwPSFuJiYheCxkPSExO2lmKGMpe2lmKHkpe3doaWxlKGwpe2E9ZTt3aGlsZShhPWFbbF0paWYoeD9hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1mOjE9PT1hLm5vZGVUeXBlKXJldHVybiExO3U9bD0ib25seSI9PT1oJiYhdSYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZih1PVttP2MuZmlyc3RDaGlsZDpjLmxhc3RDaGlsZF0sbSYmcCl7ZD0ocz0ocj0oaT0obz0oYT1jKVtrXXx8KGFba109e30pKVthLnVuaXF1ZUlEXXx8KG9bYS51bmlxdWVJRF09e30pKVtoXXx8W10pWzBdPT09UyYmclsxXSkmJnJbMl0sYT1zJiZjLmNoaWxkTm9kZXNbc107d2hpbGUoYT0rK3MmJmEmJmFbbF18fChkPXM9MCl8fHUucG9wKCkpaWYoMT09PWEubm9kZVR5cGUmJisrZCYmYT09PWUpe2lbaF09W1MscyxkXTticmVha319ZWxzZSBpZihwJiYoZD1zPShyPShpPShvPShhPWUpW2tdfHwoYVtrXT17fSkpW2EudW5pcXVlSURdfHwob1thLnVuaXF1ZUlEXT17fSkpW2hdfHxbXSlbMF09PT1TJiZyWzFdKSwhMT09PWQpd2hpbGUoYT0rK3MmJmEmJmFbbF18fChkPXM9MCl8fHUucG9wKCkpaWYoKHg/YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ZjoxPT09YS5ub2RlVHlwZSkmJisrZCYmKHAmJigoaT0obz1hW2tdfHwoYVtrXT17fSkpW2EudW5pcXVlSURdfHwob1thLnVuaXF1ZUlEXT17fSkpW2hdPVtTLGRdKSxhPT09ZSkpYnJlYWs7cmV0dXJuKGQtPXYpPT09Z3x8ZCVnPT0wJiYwPD1kL2d9fX0sUFNFVURPOmZ1bmN0aW9uKGUsbyl7dmFyIHQsYT1iLnBzZXVkb3NbZV18fGIuc2V0RmlsdGVyc1tlLnRvTG93ZXJDYXNlKCldfHxzZS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiK2UpO3JldHVybiBhW2tdP2Eobyk6MTxhLmxlbmd0aD8odD1bZSxlLCIiLG9dLGIuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eShlLnRvTG93ZXJDYXNlKCkpP2xlKGZ1bmN0aW9uKGUsdCl7dmFyIG4scj1hKGUsbyksaT1yLmxlbmd0aDt3aGlsZShpLS0pZVtuPVAoZSxyW2ldKV09ISh0W25dPXJbaV0pfSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGEoZSwwLHQpfSk6YX19LHBzZXVkb3M6e25vdDpsZShmdW5jdGlvbihlKXt2YXIgcj1bXSxpPVtdLHM9ZihlLnJlcGxhY2UoQiwiJDEiKSk7cmV0dXJuIHNba10/bGUoZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbz1zKGUsbnVsbCxyLFtdKSxhPWUubGVuZ3RoO3doaWxlKGEtLSkoaT1vW2FdKSYmKGVbYV09ISh0W2FdPWkpKX0pOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gclswXT1lLHMocixudWxsLG4saSksclswXT1udWxsLCFpLnBvcCgpfX0pLGhhczpsZShmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIDA8c2UodCxlKS5sZW5ndGh9fSksY29udGFpbnM6bGUoZnVuY3Rpb24odCl7cmV0dXJuIHQ9dC5yZXBsYWNlKHRlLG5lKSxmdW5jdGlvbihlKXtyZXR1cm4tMTwoZS50ZXh0Q29udGVudHx8byhlKSkuaW5kZXhPZih0KX19KSxsYW5nOmxlKGZ1bmN0aW9uKG4pe3JldHVybiBWLnRlc3Qobnx8IiIpfHxzZS5lcnJvcigidW5zdXBwb3J0ZWQgbGFuZzogIituKSxuPW4ucmVwbGFjZSh0ZSxuZSkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbihlKXt2YXIgdDtkb3tpZih0PUU/ZS5sYW5nOmUuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpfHxlLmdldEF0dHJpYnV0ZSgibGFuZyIpKXJldHVybih0PXQudG9Mb3dlckNhc2UoKSk9PT1ufHwwPT09dC5pbmRleE9mKG4rIi0iKX13aGlsZSgoZT1lLnBhcmVudE5vZGUpJiYxPT09ZS5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGUpe3ZhciB0PW4ubG9jYXRpb24mJm4ubG9jYXRpb24uaGFzaDtyZXR1cm4gdCYmdC5zbGljZSgxKT09PWUuaWR9LHJvb3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1hfSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PUMuYWN0aXZlRWxlbWVudCYmKCFDLmhhc0ZvY3VzfHxDLmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmdlKCExKSxkaXNhYmxlZDpnZSghMCksY2hlY2tlZDpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiEhZS5jaGVja2VkfHwib3B0aW9uIj09PXQmJiEhZS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxlbXB0eTpmdW5jdGlvbihlKXtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpaWYoZS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIWIucHNldWRvcy5lbXB0eShlKX0saGVhZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBKLnRlc3QoZS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBRLnRlc3QoZS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09ZS50eXBlJiYobnVsbD09KHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PXQudG9Mb3dlckNhc2UoKSl9LGZpcnN0OnZlKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDp2ZShmdW5jdGlvbihlLHQpe3JldHVyblt0LTFdfSksZXE6dmUoZnVuY3Rpb24oZSx0LG4pe3JldHVybltuPDA/bit0Om5dfSksZXZlbjp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLG9kZDp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0xO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLGx0OnZlKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9bjwwP24rdDp0PG4/dDpuOzA8PS0tcjspZS5wdXNoKHIpO3JldHVybiBlfSksZ3Q6dmUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om47KytyPHQ7KWUucHVzaChyKTtyZXR1cm4gZX0pfX0pLnBzZXVkb3MubnRoPWIucHNldWRvcy5lcSx7cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pYi5wc2V1ZG9zW2VdPWRlKGUpO2ZvcihlIGlue3N1Ym1pdDohMCxyZXNldDohMH0pYi5wc2V1ZG9zW2VdPWhlKGUpO2Z1bmN0aW9uIG1lKCl7fWZ1bmN0aW9uIHhlKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgscj0iIjt0PG47dCsrKXIrPWVbdF0udmFsdWU7cmV0dXJuIHJ9ZnVuY3Rpb24gYmUocyxlLHQpe3ZhciB1PWUuZGlyLGw9ZS5uZXh0LGM9bHx8dSxmPXQmJiJwYXJlbnROb2RlIj09PWMscD1yKys7cmV0dXJuIGUuZmlyc3Q/ZnVuY3Rpb24oZSx0LG4pe3doaWxlKGU9ZVt1XSlpZigxPT09ZS5ub2RlVHlwZXx8ZilyZXR1cm4gcyhlLHQsbik7cmV0dXJuITF9OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYT1bUyxwXTtpZihuKXt3aGlsZShlPWVbdV0paWYoKDE9PT1lLm5vZGVUeXBlfHxmKSYmcyhlLHQsbikpcmV0dXJuITB9ZWxzZSB3aGlsZShlPWVbdV0paWYoMT09PWUubm9kZVR5cGV8fGYpaWYoaT0obz1lW2tdfHwoZVtrXT17fSkpW2UudW5pcXVlSURdfHwob1tlLnVuaXF1ZUlEXT17fSksbCYmbD09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSllPWVbdV18fGU7ZWxzZXtpZigocj1pW2NdKSYmclswXT09PVMmJnJbMV09PT1wKXJldHVybiBhWzJdPXJbMl07aWYoKGlbY109YSlbMl09cyhlLHQsbikpcmV0dXJuITB9cmV0dXJuITF9fWZ1bmN0aW9uIHdlKGkpe3JldHVybiAxPGkubGVuZ3RoP2Z1bmN0aW9uKGUsdCxuKXt2YXIgcj1pLmxlbmd0aDt3aGlsZShyLS0paWYoIWlbcl0oZSx0LG4pKXJldHVybiExO3JldHVybiEwfTppWzBdfWZ1bmN0aW9uIFRlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGE9W10scz0wLHU9ZS5sZW5ndGgsbD1udWxsIT10O3M8dTtzKyspKG89ZVtzXSkmJihuJiYhbihvLHIsaSl8fChhLnB1c2gobyksbCYmdC5wdXNoKHMpKSk7cmV0dXJuIGF9ZnVuY3Rpb24gQ2UoZCxoLGcsdix5LGUpe3JldHVybiB2JiYhdltrXSYmKHY9Q2UodikpLHkmJiF5W2tdJiYoeT1DZSh5LGUpKSxsZShmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscz1bXSx1PVtdLGw9dC5sZW5ndGgsYz1lfHxmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPTAsaT10Lmxlbmd0aDtyPGk7cisrKXNlKGUsdFtyXSxuKTtyZXR1cm4gbn0oaHx8IioiLG4ubm9kZVR5cGU/W25dOm4sW10pLGY9IWR8fCFlJiZoP2M6VGUoYyxzLGQsbixyKSxwPWc/eXx8KGU/ZDpsfHx2KT9bXTp0OmY7aWYoZyYmZyhmLHAsbixyKSx2KXtpPVRlKHAsdSksdihpLFtdLG4sciksbz1pLmxlbmd0aDt3aGlsZShvLS0pKGE9aVtvXSkmJihwW3Vbb11dPSEoZlt1W29dXT1hKSl9aWYoZSl7aWYoeXx8ZCl7aWYoeSl7aT1bXSxvPXAubGVuZ3RoO3doaWxlKG8tLSkoYT1wW29dKSYmaS5wdXNoKGZbb109YSk7eShudWxsLHA9W10saSxyKX1vPXAubGVuZ3RoO3doaWxlKG8tLSkoYT1wW29dKSYmLTE8KGk9eT9QKGUsYSk6c1tvXSkmJihlW2ldPSEodFtpXT1hKSl9fWVsc2UgcD1UZShwPT09dD9wLnNwbGljZShsLHAubGVuZ3RoKTpwKSx5P3kobnVsbCx0LHAscik6SC5hcHBseSh0LHApfSl9ZnVuY3Rpb24gRWUoZSl7Zm9yKHZhciBpLHQsbixyPWUubGVuZ3RoLG89Yi5yZWxhdGl2ZVtlWzBdLnR5cGVdLGE9b3x8Yi5yZWxhdGl2ZVsiICJdLHM9bz8xOjAsdT1iZShmdW5jdGlvbihlKXtyZXR1cm4gZT09PWl9LGEsITApLGw9YmUoZnVuY3Rpb24oZSl7cmV0dXJuLTE8UChpLGUpfSxhLCEwKSxjPVtmdW5jdGlvbihlLHQsbil7dmFyIHI9IW8mJihufHx0IT09dyl8fCgoaT10KS5ub2RlVHlwZT91KGUsdCxuKTpsKGUsdCxuKSk7cmV0dXJuIGk9bnVsbCxyfV07czxyO3MrKylpZih0PWIucmVsYXRpdmVbZVtzXS50eXBlXSljPVtiZSh3ZShjKSx0KV07ZWxzZXtpZigodD1iLmZpbHRlcltlW3NdLnR5cGVdLmFwcGx5KG51bGwsZVtzXS5tYXRjaGVzKSlba10pe2ZvcihuPSsrcztuPHI7bisrKWlmKGIucmVsYXRpdmVbZVtuXS50eXBlXSlicmVhaztyZXR1cm4gQ2UoMTxzJiZ3ZShjKSwxPHMmJnhlKGUuc2xpY2UoMCxzLTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09ZVtzLTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2UoQiwiJDEiKSx0LHM8biYmRWUoZS5zbGljZShzLG4pKSxuPHImJkVlKGU9ZS5zbGljZShuKSksbjxyJiZ4ZShlKSl9Yy5wdXNoKHQpfXJldHVybiB3ZShjKX1yZXR1cm4gbWUucHJvdG90eXBlPWIuZmlsdGVycz1iLnBzZXVkb3MsYi5zZXRGaWx0ZXJzPW5ldyBtZSxoPXNlLnRva2VuaXplPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzLHUsbD14W2UrIiAiXTtpZihsKXJldHVybiB0PzA6bC5zbGljZSgwKTthPWUscz1bXSx1PWIucHJlRmlsdGVyO3doaWxlKGEpe2ZvcihvIGluIG4mJiEocj1fLmV4ZWMoYSkpfHwociYmKGE9YS5zbGljZShyWzBdLmxlbmd0aCl8fGEpLHMucHVzaChpPVtdKSksbj0hMSwocj16LmV4ZWMoYSkpJiYobj1yLnNoaWZ0KCksaS5wdXNoKHt2YWx1ZTpuLHR5cGU6clswXS5yZXBsYWNlKEIsIiAiKX0pLGE9YS5zbGljZShuLmxlbmd0aCkpLGIuZmlsdGVyKSEocj1HW29dLmV4ZWMoYSkpfHx1W29dJiYhKHI9dVtvXShyKSl8fChuPXIuc2hpZnQoKSxpLnB1c2goe3ZhbHVlOm4sdHlwZTpvLG1hdGNoZXM6cn0pLGE9YS5zbGljZShuLmxlbmd0aCkpO2lmKCFuKWJyZWFrfXJldHVybiB0P2EubGVuZ3RoOmE/c2UuZXJyb3IoZSk6eChlLHMpLnNsaWNlKDApfSxmPXNlLmNvbXBpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbix2LHksbSx4LHIsaT1bXSxvPVtdLGE9TltlKyIgIl07aWYoIWEpe3R8fCh0PWgoZSkpLG49dC5sZW5ndGg7d2hpbGUobi0tKShhPUVlKHRbbl0pKVtrXT9pLnB1c2goYSk6by5wdXNoKGEpOyhhPU4oZSwodj1vLG09MDwoeT1pKS5sZW5ndGgseD0wPHYubGVuZ3RoLHI9ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdT0wLGw9IjAiLGM9ZSYmW10sZj1bXSxwPXcsZD1lfHx4JiZiLmZpbmQuVEFHKCIqIixpKSxoPVMrPW51bGw9PXA/MTpNYXRoLnJhbmRvbSgpfHwuMSxnPWQubGVuZ3RoO2ZvcihpJiYodz10PT09Q3x8dHx8aSk7bCE9PWcmJm51bGwhPShvPWRbbF0pO2wrKyl7aWYoeCYmbyl7YT0wLHR8fG8ub3duZXJEb2N1bWVudD09PUN8fChUKG8pLG49IUUpO3doaWxlKHM9dlthKytdKWlmKHMobyx0fHxDLG4pKXtyLnB1c2gobyk7YnJlYWt9aSYmKFM9aCl9bSYmKChvPSFzJiZvKSYmdS0tLGUmJmMucHVzaChvKSl9aWYodSs9bCxtJiZsIT09dSl7YT0wO3doaWxlKHM9eVthKytdKXMoYyxmLHQsbik7aWYoZSl7aWYoMDx1KXdoaWxlKGwtLSljW2xdfHxmW2xdfHwoZltsXT1xLmNhbGwocikpO2Y9VGUoZil9SC5hcHBseShyLGYpLGkmJiFlJiYwPGYubGVuZ3RoJiYxPHUreS5sZW5ndGgmJnNlLnVuaXF1ZVNvcnQocil9cmV0dXJuIGkmJihTPWgsdz1wKSxjfSxtP2xlKHIpOnIpKSkuc2VsZWN0b3I9ZX1yZXR1cm4gYX0sZz1zZS5zZWxlY3Q9ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHMsdSxsPSJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLGM9IXImJmgoZT1sLnNlbGVjdG9yfHxlKTtpZihuPW58fFtdLDE9PT1jLmxlbmd0aCl7aWYoMjwobz1jWzBdPWNbMF0uc2xpY2UoMCkpLmxlbmd0aCYmIklEIj09PShhPW9bMF0pLnR5cGUmJjk9PT10Lm5vZGVUeXBlJiZFJiZiLnJlbGF0aXZlW29bMV0udHlwZV0pe2lmKCEodD0oYi5maW5kLklEKGEubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSx0KXx8W10pWzBdKSlyZXR1cm4gbjtsJiYodD10LnBhcmVudE5vZGUpLGU9ZS5zbGljZShvLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1pPUcubmVlZHNDb250ZXh0LnRlc3QoZSk/MDpvLmxlbmd0aDt3aGlsZShpLS0pe2lmKGE9b1tpXSxiLnJlbGF0aXZlW3M9YS50eXBlXSlicmVhaztpZigodT1iLmZpbmRbc10pJiYocj11KGEubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSxlZS50ZXN0KG9bMF0udHlwZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpKSl7aWYoby5zcGxpY2UoaSwxKSwhKGU9ci5sZW5ndGgmJnhlKG8pKSlyZXR1cm4gSC5hcHBseShuLHIpLG47YnJlYWt9fX1yZXR1cm4obHx8ZihlLGMpKShyLHQsIUUsbiwhdHx8ZWUudGVzdChlKSYmeWUodC5wYXJlbnROb2RlKXx8dCksbn0sZC5zb3J0U3RhYmxlPWsuc3BsaXQoIiIpLnNvcnQoRCkuam9pbigiIik9PT1rLGQuZGV0ZWN0RHVwbGljYXRlcz0hIWwsVCgpLGQuc29ydERldGFjaGVkPWNlKGZ1bmN0aW9uKGUpe3JldHVybiAxJmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oQy5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpKX0pLGNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD0iPGEgaHJlZj0nIyc+PC9hPiIsIiMiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl8fGZlKCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoIixmdW5jdGlvbihlLHQsbil7aWYoIW4pcmV0dXJuIGUuZ2V0QXR0cmlidXRlKHQsInR5cGUiPT09dC50b0xvd2VyQ2FzZSgpPzE6Mil9KSxkLmF0dHJpYnV0ZXMmJmNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD0iPGlucHV0Lz4iLGUuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIiksIiI9PT1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfSl8fGZlKCJ2YWx1ZSIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuJiYiaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiBlLmRlZmF1bHRWYWx1ZX0pLGNlKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKX0pfHxmZShSLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZighbilyZXR1cm4hMD09PWVbdF0/dC50b0xvd2VyQ2FzZSgpOihyPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJnIuc3BlY2lmaWVkP3IudmFsdWU6bnVsbH0pLHNlfShDKTtrLmZpbmQ9aCxrLmV4cHI9aC5zZWxlY3RvcnMsay5leHByWyI6Il09ay5leHByLnBzZXVkb3Msay51bmlxdWVTb3J0PWsudW5pcXVlPWgudW5pcXVlU29ydCxrLnRleHQ9aC5nZXRUZXh0LGsuaXNYTUxEb2M9aC5pc1hNTCxrLmNvbnRhaW5zPWguY29udGFpbnMsay5lc2NhcGVTZWxlY3Rvcj1oLmVzY2FwZTt2YXIgVD1mdW5jdGlvbihlLHQsbil7dmFyIHI9W10saT12b2lkIDAhPT1uO3doaWxlKChlPWVbdF0pJiY5IT09ZS5ub2RlVHlwZSlpZigxPT09ZS5ub2RlVHlwZSl7aWYoaSYmayhlKS5pcyhuKSlicmVhaztyLnB1c2goZSl9cmV0dXJuIHJ9LFM9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpMT09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59LE49ay5leHByLm1hdGNoLm5lZWRzQ29udGV4dDtmdW5jdGlvbiBBKGUsdCl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXQudG9Mb3dlckNhc2UoKX12YXIgRD0vXjwoW2Etel1bXlwvXDA+Olx4MjBcdFxyXG5cZl0qKVtceDIwXHRcclxuXGZdKlwvPz4oPzo8XC9cMT58KSQvaTtmdW5jdGlvbiBqKGUsbixyKXtyZXR1cm4gbShuKT9rLmdyZXAoZSxmdW5jdGlvbihlLHQpe3JldHVybiEhbi5jYWxsKGUsdCxlKSE9PXJ9KTpuLm5vZGVUeXBlP2suZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09biE9PXJ9KToic3RyaW5nIiE9dHlwZW9mIG4/ay5ncmVwKGUsZnVuY3Rpb24oZSl7cmV0dXJuLTE8aS5jYWxsKG4sZSkhPT1yfSk6ay5maWx0ZXIobixlLHIpfWsuZmlsdGVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10WzBdO3JldHVybiBuJiYoZT0iOm5vdCgiK2UrIikiKSwxPT09dC5sZW5ndGgmJjE9PT1yLm5vZGVUeXBlP2suZmluZC5tYXRjaGVzU2VsZWN0b3IocixlKT9bcl06W106ay5maW5kLm1hdGNoZXMoZSxrLmdyZXAodCxmdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV9KSl9LGsuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzLmxlbmd0aCxpPXRoaXM7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB0aGlzLnB1c2hTdGFjayhrKGUpLmZpbHRlcihmdW5jdGlvbigpe2Zvcih0PTA7dDxyO3QrKylpZihrLmNvbnRhaW5zKGlbdF0sdGhpcykpcmV0dXJuITB9KSk7Zm9yKG49dGhpcy5wdXNoU3RhY2soW10pLHQ9MDt0PHI7dCsrKWsuZmluZChlLGlbdF0sbik7cmV0dXJuIDE8cj9rLnVuaXF1ZVNvcnQobik6bn0sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhqKHRoaXMsZXx8W10sITEpKX0sbm90OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhqKHRoaXMsZXx8W10sITApKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuISFqKHRoaXMsInN0cmluZyI9PXR5cGVvZiBlJiZOLnRlc3QoZSk/ayhlKTplfHxbXSwhMSkubGVuZ3RofX0pO3ZhciBxLEw9L14oPzpccyooPFtcd1xXXSs+KVtePl0qfCMoW1x3LV0rKSkkLzsoay5mbi5pbml0PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpO2lmKCFlKXJldHVybiB0aGlzO2lmKG49bnx8cSwic3RyaW5nIj09dHlwZW9mIGUpe2lmKCEocj0iPCI9PT1lWzBdJiYiPiI9PT1lW2UubGVuZ3RoLTFdJiYzPD1lLmxlbmd0aD9bbnVsbCxlLG51bGxdOkwuZXhlYyhlKSl8fCFyWzFdJiZ0KXJldHVybiF0fHx0LmpxdWVyeT8odHx8bikuZmluZChlKTp0aGlzLmNvbnN0cnVjdG9yKHQpLmZpbmQoZSk7aWYoclsxXSl7aWYodD10IGluc3RhbmNlb2Ygaz90WzBdOnQsay5tZXJnZSh0aGlzLGsucGFyc2VIVE1MKHJbMV0sdCYmdC5ub2RlVHlwZT90Lm93bmVyRG9jdW1lbnR8fHQ6RSwhMCkpLEQudGVzdChyWzFdKSYmay5pc1BsYWluT2JqZWN0KHQpKWZvcihyIGluIHQpbSh0aGlzW3JdKT90aGlzW3JdKHRbcl0pOnRoaXMuYXR0cihyLHRbcl0pO3JldHVybiB0aGlzfXJldHVybihpPUUuZ2V0RWxlbWVudEJ5SWQoclsyXSkpJiYodGhpc1swXT1pLHRoaXMubGVuZ3RoPTEpLHRoaXN9cmV0dXJuIGUubm9kZVR5cGU/KHRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0oZSk/dm9pZCAwIT09bi5yZWFkeT9uLnJlYWR5KGUpOmUoayk6ay5tYWtlQXJyYXkoZSx0aGlzKX0pLnByb3RvdHlwZT1rLmZuLHE9ayhFKTt2YXIgSD0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxPPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O2Z1bmN0aW9uIFAoZSx0KXt3aGlsZSgoZT1lW3RdKSYmMSE9PWUubm9kZVR5cGUpO3JldHVybiBlfWsuZm4uZXh0ZW5kKHtoYXM6ZnVuY3Rpb24oZSl7dmFyIHQ9ayhlLHRoaXMpLG49dC5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxuO2UrKylpZihrLmNvbnRhaW5zKHRoaXMsdFtlXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MCxpPXRoaXMubGVuZ3RoLG89W10sYT0ic3RyaW5nIiE9dHlwZW9mIGUmJmsoZSk7aWYoIU4udGVzdChlKSlmb3IoO3I8aTtyKyspZm9yKG49dGhpc1tyXTtuJiZuIT09dDtuPW4ucGFyZW50Tm9kZSlpZihuLm5vZGVUeXBlPDExJiYoYT8tMTxhLmluZGV4KG4pOjE9PT1uLm5vZGVUeXBlJiZrLmZpbmQubWF0Y2hlc1NlbGVjdG9yKG4sZSkpKXtvLnB1c2gobik7YnJlYWt9cmV0dXJuIHRoaXMucHVzaFN0YWNrKDE8by5sZW5ndGg/ay51bmlxdWVTb3J0KG8pOm8pfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/aS5jYWxsKGsoZSksdGhpc1swXSk6aS5jYWxsKHRoaXMsZS5qcXVlcnk/ZVswXTplKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnB1c2hTdGFjayhrLnVuaXF1ZVNvcnQoay5tZXJnZSh0aGlzLmdldCgpLGsoZSx0KSkpKX0sYWRkQmFjazpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihlKSl9fSksay5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBUKGUsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVChlLCJwYXJlbnROb2RlIixuKX0sbmV4dDpmdW5jdGlvbihlKXtyZXR1cm4gUChlLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGUpe3JldHVybiBQKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBUKGUsIm5leHRTaWJsaW5nIil9LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIFQoZSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIFQoZSwibmV4dFNpYmxpbmciLG4pfSxwcmV2VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBUKGUsInByZXZpb3VzU2libGluZyIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe3JldHVybiBTKChlLnBhcmVudE5vZGV8fHt9KS5maXJzdENoaWxkLGUpfSxjaGlsZHJlbjpmdW5jdGlvbihlKXtyZXR1cm4gUyhlLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGUuY29udGVudERvY3VtZW50P2UuY29udGVudERvY3VtZW50OihBKGUsInRlbXBsYXRlIikmJihlPWUuY29udGVudHx8ZSksay5tZXJnZShbXSxlLmNoaWxkTm9kZXMpKX19LGZ1bmN0aW9uKHIsaSl7ay5mbltyXT1mdW5jdGlvbihlLHQpe3ZhciBuPWsubWFwKHRoaXMsaSxlKTtyZXR1cm4iVW50aWwiIT09ci5zbGljZSgtNSkmJih0PWUpLHQmJiJzdHJpbmciPT10eXBlb2YgdCYmKG49ay5maWx0ZXIodCxuKSksMTx0aGlzLmxlbmd0aCYmKE9bcl18fGsudW5pcXVlU29ydChuKSxILnRlc3QocikmJm4ucmV2ZXJzZSgpKSx0aGlzLnB1c2hTdGFjayhuKX19KTt2YXIgUj0vW15ceDIwXHRcclxuXGZdKy9nO2Z1bmN0aW9uIE0oZSl7cmV0dXJuIGV9ZnVuY3Rpb24gSShlKXt0aHJvdyBlfWZ1bmN0aW9uIFcoZSx0LG4scil7dmFyIGk7dHJ5e2UmJm0oaT1lLnByb21pc2UpP2kuY2FsbChlKS5kb25lKHQpLmZhaWwobik6ZSYmbShpPWUudGhlbik/aS5jYWxsKGUsdCxuKTp0LmFwcGx5KHZvaWQgMCxbZV0uc2xpY2UocikpfWNhdGNoKGUpe24uYXBwbHkodm9pZCAwLFtlXSl9fWsuQ2FsbGJhY2tzPWZ1bmN0aW9uKHIpe3ZhciBlLG47cj0ic3RyaW5nIj09dHlwZW9mIHI/KGU9cixuPXt9LGsuZWFjaChlLm1hdGNoKFIpfHxbXSxmdW5jdGlvbihlLHQpe25bdF09ITB9KSxuKTprLmV4dGVuZCh7fSxyKTt2YXIgaSx0LG8sYSxzPVtdLHU9W10sbD0tMSxjPWZ1bmN0aW9uKCl7Zm9yKGE9YXx8ci5vbmNlLG89aT0hMDt1Lmxlbmd0aDtsPS0xKXt0PXUuc2hpZnQoKTt3aGlsZSgrK2w8cy5sZW5ndGgpITE9PT1zW2xdLmFwcGx5KHRbMF0sdFsxXSkmJnIuc3RvcE9uRmFsc2UmJihsPXMubGVuZ3RoLHQ9ITEpfXIubWVtb3J5fHwodD0hMSksaT0hMSxhJiYocz10P1tdOiIiKX0sZj17YWRkOmZ1bmN0aW9uKCl7cmV0dXJuIHMmJih0JiYhaSYmKGw9cy5sZW5ndGgtMSx1LnB1c2godCkpLGZ1bmN0aW9uIG4oZSl7ay5lYWNoKGUsZnVuY3Rpb24oZSx0KXttKHQpP3IudW5pcXVlJiZmLmhhcyh0KXx8cy5wdXNoKHQpOnQmJnQubGVuZ3RoJiYic3RyaW5nIiE9PXcodCkmJm4odCl9KX0oYXJndW1lbnRzKSx0JiYhaSYmYygpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gay5lYWNoKGFyZ3VtZW50cyxmdW5jdGlvbihlLHQpe3ZhciBuO3doaWxlKC0xPChuPWsuaW5BcnJheSh0LHMsbikpKXMuc3BsaWNlKG4sMSksbjw9bCYmbC0tfSksdGhpc30saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlPy0xPGsuaW5BcnJheShlLHMpOjA8cy5sZW5ndGh9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIHMmJihzPVtdKSx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGE9dT1bXSxzPXQ9IiIsdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hc30sbG9jazpmdW5jdGlvbigpe3JldHVybiBhPXU9W10sdHx8aXx8KHM9dD0iIiksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFhfSxmaXJlV2l0aDpmdW5jdGlvbihlLHQpe3JldHVybiBhfHwodD1bZSwodD10fHxbXSkuc2xpY2U/dC5zbGljZSgpOnRdLHUucHVzaCh0KSxpfHxjKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gZi5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIW99fTtyZXR1cm4gZn0say5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGUpe3ZhciBvPVtbIm5vdGlmeSIsInByb2dyZXNzIixrLkNhbGxiYWNrcygibWVtb3J5Iiksay5DYWxsYmFja3MoIm1lbW9yeSIpLDJdLFsicmVzb2x2ZSIsImRvbmUiLGsuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLGsuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLDAsInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixrLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxrLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwxLCJyZWplY3RlZCJdXSxpPSJwZW5kaW5nIixhPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBpfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gcy5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LCJjYXRjaCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGEudGhlbihudWxsLGUpfSxwaXBlOmZ1bmN0aW9uKCl7dmFyIGk9YXJndW1lbnRzO3JldHVybiBrLkRlZmVycmVkKGZ1bmN0aW9uKHIpe2suZWFjaChvLGZ1bmN0aW9uKGUsdCl7dmFyIG49bShpW3RbNF1dKSYmaVt0WzRdXTtzW3RbMV1dKGZ1bmN0aW9uKCl7dmFyIGU9biYmbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZSYmbShlLnByb21pc2UpP2UucHJvbWlzZSgpLnByb2dyZXNzKHIubm90aWZ5KS5kb25lKHIucmVzb2x2ZSkuZmFpbChyLnJlamVjdCk6clt0WzBdKyJXaXRoIl0odGhpcyxuP1tlXTphcmd1bWVudHMpfSl9KSxpPW51bGx9KS5wcm9taXNlKCl9LHRoZW46ZnVuY3Rpb24odCxuLHIpe3ZhciB1PTA7ZnVuY3Rpb24gbChpLG8sYSxzKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj10aGlzLHI9YXJndW1lbnRzLGU9ZnVuY3Rpb24oKXt2YXIgZSx0O2lmKCEoaTx1KSl7aWYoKGU9YS5hcHBseShuLHIpKT09PW8ucHJvbWlzZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZW5hYmxlIHNlbGYtcmVzb2x1dGlvbiIpO3Q9ZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpJiZlLnRoZW4sbSh0KT9zP3QuY2FsbChlLGwodSxvLE0scyksbCh1LG8sSSxzKSk6KHUrKyx0LmNhbGwoZSxsKHUsbyxNLHMpLGwodSxvLEkscyksbCh1LG8sTSxvLm5vdGlmeVdpdGgpKSk6KGEhPT1NJiYobj12b2lkIDAscj1bZV0pLChzfHxvLnJlc29sdmVXaXRoKShuLHIpKX19LHQ9cz9lOmZ1bmN0aW9uKCl7dHJ5e2UoKX1jYXRjaChlKXtrLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2smJmsuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayhlLHQuc3RhY2tUcmFjZSksdTw9aSsxJiYoYSE9PUkmJihuPXZvaWQgMCxyPVtlXSksby5yZWplY3RXaXRoKG4scikpfX07aT90KCk6KGsuRGVmZXJyZWQuZ2V0U3RhY2tIb29rJiYodC5zdGFja1RyYWNlPWsuRGVmZXJyZWQuZ2V0U3RhY2tIb29rKCkpLEMuc2V0VGltZW91dCh0KSl9fXJldHVybiBrLkRlZmVycmVkKGZ1bmN0aW9uKGUpe29bMF1bM10uYWRkKGwoMCxlLG0ocik/cjpNLGUubm90aWZ5V2l0aCkpLG9bMV1bM10uYWRkKGwoMCxlLG0odCk/dDpNKSksb1syXVszXS5hZGQobCgwLGUsbShuKT9uOkkpKX0pLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZT9rLmV4dGVuZChlLGEpOmF9fSxzPXt9O3JldHVybiBrLmVhY2gobyxmdW5jdGlvbihlLHQpe3ZhciBuPXRbMl0scj10WzVdO2FbdFsxXV09bi5hZGQsciYmbi5hZGQoZnVuY3Rpb24oKXtpPXJ9LG9bMy1lXVsyXS5kaXNhYmxlLG9bMy1lXVszXS5kaXNhYmxlLG9bMF1bMl0ubG9jayxvWzBdWzNdLmxvY2spLG4uYWRkKHRbM10uZmlyZSksc1t0WzBdXT1mdW5jdGlvbigpe3JldHVybiBzW3RbMF0rIldpdGgiXSh0aGlzPT09cz92b2lkIDA6dGhpcyxhcmd1bWVudHMpLHRoaXN9LHNbdFswXSsiV2l0aCJdPW4uZmlyZVdpdGh9KSxhLnByb21pc2UocyksZSYmZS5jYWxsKHMscyksc30sd2hlbjpmdW5jdGlvbihlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoLHQ9bixyPUFycmF5KHQpLGk9cy5jYWxsKGFyZ3VtZW50cyksbz1rLkRlZmVycmVkKCksYT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7clt0XT10aGlzLGlbdF09MTxhcmd1bWVudHMubGVuZ3RoP3MuY2FsbChhcmd1bWVudHMpOmUsLS1ufHxvLnJlc29sdmVXaXRoKHIsaSl9fTtpZihuPD0xJiYoVyhlLG8uZG9uZShhKHQpKS5yZXNvbHZlLG8ucmVqZWN0LCFuKSwicGVuZGluZyI9PT1vLnN0YXRlKCl8fG0oaVt0XSYmaVt0XS50aGVuKSkpcmV0dXJuIG8udGhlbigpO3doaWxlKHQtLSlXKGlbdF0sYSh0KSxvLnJlamVjdCk7cmV0dXJuIG8ucHJvbWlzZSgpfX0pO3ZhciAkPS9eKEV2YWx8SW50ZXJuYWx8UmFuZ2V8UmVmZXJlbmNlfFN5bnRheHxUeXBlfFVSSSlFcnJvciQvO2suRGVmZXJyZWQuZXhjZXB0aW9uSG9vaz1mdW5jdGlvbihlLHQpe0MuY29uc29sZSYmQy5jb25zb2xlLndhcm4mJmUmJiQudGVzdChlLm5hbWUpJiZDLmNvbnNvbGUud2FybigialF1ZXJ5LkRlZmVycmVkIGV4Y2VwdGlvbjogIitlLm1lc3NhZ2UsZS5zdGFjayx0KX0say5yZWFkeUV4Y2VwdGlvbj1mdW5jdGlvbihlKXtDLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9O3ZhciBGPWsuRGVmZXJyZWQoKTtmdW5jdGlvbiBCKCl7RS5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixCKSxDLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLEIpLGsucmVhZHkoKX1rLmZuLnJlYWR5PWZ1bmN0aW9uKGUpe3JldHVybiBGLnRoZW4oZSlbImNhdGNoIl0oZnVuY3Rpb24oZSl7ay5yZWFkeUV4Y2VwdGlvbihlKX0pLHRoaXN9LGsuZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLHJlYWR5OmZ1bmN0aW9uKGUpeyghMD09PWU/LS1rLnJlYWR5V2FpdDprLmlzUmVhZHkpfHwoay5pc1JlYWR5PSEwKSE9PWUmJjA8LS1rLnJlYWR5V2FpdHx8Ri5yZXNvbHZlV2l0aChFLFtrXSl9fSksay5yZWFkeS50aGVuPUYudGhlbiwiY29tcGxldGUiPT09RS5yZWFkeVN0YXRlfHwibG9hZGluZyIhPT1FLnJlYWR5U3RhdGUmJiFFLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9DLnNldFRpbWVvdXQoay5yZWFkeSk6KEUuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQiksQy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixCKSk7dmFyIF89ZnVuY3Rpb24oZSx0LG4scixpLG8sYSl7dmFyIHM9MCx1PWUubGVuZ3RoLGw9bnVsbD09bjtpZigib2JqZWN0Ij09PXcobikpZm9yKHMgaW4gaT0hMCxuKV8oZSx0LHMsbltzXSwhMCxvLGEpO2Vsc2UgaWYodm9pZCAwIT09ciYmKGk9ITAsbShyKXx8KGE9ITApLGwmJihhPyh0LmNhbGwoZSxyKSx0PW51bGwpOihsPXQsdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGwuY2FsbChrKGUpLG4pfSkpLHQpKWZvcig7czx1O3MrKyl0KGVbc10sbixhP3I6ci5jYWxsKGVbc10scyx0KGVbc10sbikpKTtyZXR1cm4gaT9lOmw/dC5jYWxsKGUpOnU/dChlWzBdLG4pOm99LHo9L14tbXMtLyxVPS8tKFthLXpdKS9nO2Z1bmN0aW9uIFgoZSx0KXtyZXR1cm4gdC50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIFYoZSl7cmV0dXJuIGUucmVwbGFjZSh6LCJtcy0iKS5yZXBsYWNlKFUsWCl9dmFyIEc9ZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfHw5PT09ZS5ub2RlVHlwZXx8IStlLm5vZGVUeXBlfTtmdW5jdGlvbiBZKCl7dGhpcy5leHBhbmRvPWsuZXhwYW5kbytZLnVpZCsrfVkudWlkPTEsWS5wcm90b3R5cGU9e2NhY2hlOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4gdHx8KHQ9e30sRyhlKSYmKGUubm9kZVR5cGU/ZVt0aGlzLmV4cGFuZG9dPXQ6T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdGhpcy5leHBhbmRvLHt2YWx1ZTp0LGNvbmZpZ3VyYWJsZTohMH0pKSksdH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpPXRoaXMuY2FjaGUoZSk7aWYoInN0cmluZyI9PXR5cGVvZiB0KWlbVih0KV09bjtlbHNlIGZvcihyIGluIHQpaVtWKHIpXT10W3JdO3JldHVybiBpfSxnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLmNhY2hlKGUpOmVbdGhpcy5leHBhbmRvXSYmZVt0aGlzLmV4cGFuZG9dW1YodCldfSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB2b2lkIDA9PT10fHx0JiYic3RyaW5nIj09dHlwZW9mIHQmJnZvaWQgMD09PW4/dGhpcy5nZXQoZSx0KToodGhpcy5zZXQoZSx0LG4pLHZvaWQgMCE9PW4/bjp0KX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1lW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09cil7aWYodm9pZCAwIT09dCl7bj0odD1BcnJheS5pc0FycmF5KHQpP3QubWFwKFYpOih0PVYodCkpaW4gcj9bdF06dC5tYXRjaChSKXx8W10pLmxlbmd0aDt3aGlsZShuLS0pZGVsZXRlIHJbdFtuXV19KHZvaWQgMD09PXR8fGsuaXNFbXB0eU9iamVjdChyKSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT12b2lkIDA6ZGVsZXRlIGVbdGhpcy5leHBhbmRvXSl9fSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4gdm9pZCAwIT09dCYmIWsuaXNFbXB0eU9iamVjdCh0KX19O3ZhciBRPW5ldyBZLEo9bmV3IFksSz0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLFo9L1tBLVpdL2c7ZnVuY3Rpb24gZWUoZSx0LG4pe3ZhciByLGk7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpaWYocj0iZGF0YS0iK3QucmVwbGFjZShaLCItJCYiKS50b0xvd2VyQ2FzZSgpLCJzdHJpbmciPT10eXBlb2Yobj1lLmdldEF0dHJpYnV0ZShyKSkpe3RyeXtuPSJ0cnVlIj09PShpPW4pfHwiZmFsc2UiIT09aSYmKCJudWxsIj09PWk/bnVsbDppPT09K2krIiI/K2k6Sy50ZXN0KGkpP0pTT04ucGFyc2UoaSk6aSl9Y2F0Y2goZSl7fUouc2V0KGUsdCxuKX1lbHNlIG49dm9pZCAwO3JldHVybiBufWsuZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiBKLmhhc0RhdGEoZSl8fFEuaGFzRGF0YShlKX0sZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEouYWNjZXNzKGUsdCxuKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe0oucmVtb3ZlKGUsdCl9LF9kYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gUS5hY2Nlc3MoZSx0LG4pfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe1EucmVtb3ZlKGUsdCl9fSksay5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24obixlKXt2YXIgdCxyLGksbz10aGlzWzBdLGE9byYmby5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PW4pe2lmKHRoaXMubGVuZ3RoJiYoaT1KLmdldChvKSwxPT09by5ub2RlVHlwZSYmIVEuZ2V0KG8sImhhc0RhdGFBdHRycyIpKSl7dD1hLmxlbmd0aDt3aGlsZSh0LS0pYVt0XSYmMD09PShyPWFbdF0ubmFtZSkuaW5kZXhPZigiZGF0YS0iKSYmKHI9VihyLnNsaWNlKDUpKSxlZShvLHIsaVtyXSkpO1Euc2V0KG8sImhhc0RhdGFBdHRycyIsITApfXJldHVybiBpfXJldHVybiJvYmplY3QiPT10eXBlb2Ygbj90aGlzLmVhY2goZnVuY3Rpb24oKXtKLnNldCh0aGlzLG4pfSk6Xyh0aGlzLGZ1bmN0aW9uKGUpe3ZhciB0O2lmKG8mJnZvaWQgMD09PWUpcmV0dXJuIHZvaWQgMCE9PSh0PUouZ2V0KG8sbikpP3Q6dm9pZCAwIT09KHQ9ZWUobyxuKSk/dDp2b2lkIDA7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7Si5zZXQodGhpcyxuLGUpfSl9LG51bGwsZSwxPGFyZ3VtZW50cy5sZW5ndGgsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe0oucmVtb3ZlKHRoaXMsZSl9KX19KSxrLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fCJmeCIpKyJxdWV1ZSIscj1RLmdldChlLHQpLG4mJighcnx8QXJyYXkuaXNBcnJheShuKT9yPVEuYWNjZXNzKGUsdCxrLm1ha2VBcnJheShuKSk6ci5wdXNoKG4pKSxyfHxbXX0sZGVxdWV1ZTpmdW5jdGlvbihlLHQpe3Q9dHx8ImZ4Ijt2YXIgbj1rLnF1ZXVlKGUsdCkscj1uLmxlbmd0aCxpPW4uc2hpZnQoKSxvPWsuX3F1ZXVlSG9va3MoZSx0KTsiaW5wcm9ncmVzcyI9PT1pJiYoaT1uLnNoaWZ0KCksci0tKSxpJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSBvLnN0b3AsaS5jYWxsKGUsZnVuY3Rpb24oKXtrLmRlcXVldWUoZSx0KX0sbykpLCFyJiZvJiZvLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oZSx0KXt2YXIgbj10KyJxdWV1ZUhvb2tzIjtyZXR1cm4gUS5nZXQoZSxuKXx8US5hY2Nlc3MoZSxuLHtlbXB0eTprLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXtRLnJlbW92ZShlLFt0KyJxdWV1ZSIsbl0pfSl9KX19KSxrLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24odCxuKXt2YXIgZT0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgdCYmKG49dCx0PSJmeCIsZS0tKSxhcmd1bWVudHMubGVuZ3RoPGU/ay5xdWV1ZSh0aGlzWzBdLHQpOnZvaWQgMD09PW4/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1rLnF1ZXVlKHRoaXMsdCxuKTtrLl9xdWV1ZUhvb2tzKHRoaXMsdCksImZ4Ij09PXQmJiJpbnByb2dyZXNzIiE9PWVbMF0mJmsuZGVxdWV1ZSh0aGlzLHQpfSl9LGRlcXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2suZGVxdWV1ZSh0aGlzLGUpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucXVldWUoZXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTEsaT1rLkRlZmVycmVkKCksbz10aGlzLGE9dGhpcy5sZW5ndGgscz1mdW5jdGlvbigpey0tcnx8aS5yZXNvbHZlV2l0aChvLFtvXSl9OyJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPXZvaWQgMCksZT1lfHwiZngiO3doaWxlKGEtLSkobj1RLmdldChvW2FdLGUrInF1ZXVlSG9va3MiKSkmJm4uZW1wdHkmJihyKyssbi5lbXB0eS5hZGQocykpO3JldHVybiBzKCksaS5wcm9taXNlKHQpfX0pO3ZhciB0ZT0vWystXT8oPzpcZCpcLnwpXGQrKD86W2VFXVsrLV0/XGQrfCkvLnNvdXJjZSxuZT1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrdGUrIikoW2EteiVdKikkIiwiaSIpLHJlPVsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0saWU9RS5kb2N1bWVudEVsZW1lbnQsb2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGsuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfSxhZT17Y29tcG9zZWQ6ITB9O2llLmdldFJvb3ROb2RlJiYob2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGsuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfHxlLmdldFJvb3ROb2RlKGFlKT09PWUub3duZXJEb2N1bWVudH0pO3ZhciBzZT1mdW5jdGlvbihlLHQpe3JldHVybiJub25lIj09PShlPXR8fGUpLnN0eWxlLmRpc3BsYXl8fCIiPT09ZS5zdHlsZS5kaXNwbGF5JiZvZShlKSYmIm5vbmUiPT09ay5jc3MoZSwiZGlzcGxheSIpfSx1ZT1mdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGE9e307Zm9yKG8gaW4gdClhW29dPWUuc3R5bGVbb10sZS5zdHlsZVtvXT10W29dO2ZvcihvIGluIGk9bi5hcHBseShlLHJ8fFtdKSx0KWUuc3R5bGVbb109YVtvXTtyZXR1cm4gaX07ZnVuY3Rpb24gbGUoZSx0LG4scil7dmFyIGksbyxhPTIwLHM9cj9mdW5jdGlvbigpe3JldHVybiByLmN1cigpfTpmdW5jdGlvbigpe3JldHVybiBrLmNzcyhlLHQsIiIpfSx1PXMoKSxsPW4mJm5bM118fChrLmNzc051bWJlclt0XT8iIjoicHgiKSxjPWUubm9kZVR5cGUmJihrLmNzc051bWJlclt0XXx8InB4IiE9PWwmJit1KSYmbmUuZXhlYyhrLmNzcyhlLHQpKTtpZihjJiZjWzNdIT09bCl7dS89MixsPWx8fGNbM10sYz0rdXx8MTt3aGlsZShhLS0pay5zdHlsZShlLHQsYytsKSwoMS1vKSooMS0obz1zKCkvdXx8LjUpKTw9MCYmKGE9MCksYy89bztjKj0yLGsuc3R5bGUoZSx0LGMrbCksbj1ufHxbXX1yZXR1cm4gbiYmKGM9K2N8fCt1fHwwLGk9blsxXT9jKyhuWzFdKzEpKm5bMl06K25bMl0sciYmKHIudW5pdD1sLHIuc3RhcnQ9YyxyLmVuZD1pKSksaX12YXIgY2U9e307ZnVuY3Rpb24gZmUoZSx0KXtmb3IodmFyIG4scixpLG8sYSxzLHUsbD1bXSxjPTAsZj1lLmxlbmd0aDtjPGY7YysrKShyPWVbY10pLnN0eWxlJiYobj1yLnN0eWxlLmRpc3BsYXksdD8oIm5vbmUiPT09biYmKGxbY109US5nZXQociwiZGlzcGxheSIpfHxudWxsLGxbY118fChyLnN0eWxlLmRpc3BsYXk9IiIpKSwiIj09PXIuc3R5bGUuZGlzcGxheSYmc2UocikmJihsW2NdPSh1PWE9bz12b2lkIDAsYT0oaT1yKS5vd25lckRvY3VtZW50LHM9aS5ub2RlTmFtZSwodT1jZVtzXSl8fChvPWEuYm9keS5hcHBlbmRDaGlsZChhLmNyZWF0ZUVsZW1lbnQocykpLHU9ay5jc3MobywiZGlzcGxheSIpLG8ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKSwibm9uZSI9PT11JiYodT0iYmxvY2siKSxjZVtzXT11KSkpKToibm9uZSIhPT1uJiYobFtjXT0ibm9uZSIsUS5zZXQociwiZGlzcGxheSIsbikpKTtmb3IoYz0wO2M8ZjtjKyspbnVsbCE9bFtjXSYmKGVbY10uc3R5bGUuZGlzcGxheT1sW2NdKTtyZXR1cm4gZX1rLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbigpe3JldHVybiBmZSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBmZSh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGUpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGU/ZT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtzZSh0aGlzKT9rKHRoaXMpLnNob3coKTprKHRoaXMpLmhpZGUoKX0pfX0pO3ZhciBwZT0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSxkZT0vPChbYS16XVteXC9cMD5ceDIwXHRcclxuXGZdKikvaSxoZT0vXiR8Xm1vZHVsZSR8XC8oPzpqYXZhfGVjbWEpc2NyaXB0L2ksZ2U9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLHRoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTtmdW5jdGlvbiB2ZShlLHQpe3ZhciBuO3JldHVybiBuPSJ1bmRlZmluZWQiIT10eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZT9lLmdldEVsZW1lbnRzQnlUYWdOYW1lKHR8fCIqIik6InVuZGVmaW5lZCIhPXR5cGVvZiBlLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKHR8fCIqIik6W10sdm9pZCAwPT09dHx8dCYmQShlLHQpP2subWVyZ2UoW2VdLG4pOm59ZnVuY3Rpb24geWUoZSx0KXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspUS5zZXQoZVtuXSwiZ2xvYmFsRXZhbCIsIXR8fFEuZ2V0KHRbbl0sImdsb2JhbEV2YWwiKSl9Z2Uub3B0Z3JvdXA9Z2Uub3B0aW9uLGdlLnRib2R5PWdlLnRmb290PWdlLmNvbGdyb3VwPWdlLmNhcHRpb249Z2UudGhlYWQsZ2UudGg9Z2UudGQ7dmFyIG1lLHhlLGJlPS88fCYjP1x3KzsvO2Z1bmN0aW9uIHdlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGEscyx1LGwsYyxmPXQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHA9W10sZD0wLGg9ZS5sZW5ndGg7ZDxoO2QrKylpZigobz1lW2RdKXx8MD09PW8paWYoIm9iamVjdCI9PT13KG8pKWsubWVyZ2UocCxvLm5vZGVUeXBlP1tvXTpvKTtlbHNlIGlmKGJlLnRlc3Qobykpe2E9YXx8Zi5hcHBlbmRDaGlsZCh0LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxzPShkZS5leGVjKG8pfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLHU9Z2Vbc118fGdlLl9kZWZhdWx0LGEuaW5uZXJIVE1MPXVbMV0ray5odG1sUHJlZmlsdGVyKG8pK3VbMl0sYz11WzBdO3doaWxlKGMtLSlhPWEubGFzdENoaWxkO2subWVyZ2UocCxhLmNoaWxkTm9kZXMpLChhPWYuZmlyc3RDaGlsZCkudGV4dENvbnRlbnQ9IiJ9ZWxzZSBwLnB1c2godC5jcmVhdGVUZXh0Tm9kZShvKSk7Zi50ZXh0Q29udGVudD0iIixkPTA7d2hpbGUobz1wW2QrK10paWYociYmLTE8ay5pbkFycmF5KG8scikpaSYmaS5wdXNoKG8pO2Vsc2UgaWYobD1vZShvKSxhPXZlKGYuYXBwZW5kQ2hpbGQobyksInNjcmlwdCIpLGwmJnllKGEpLG4pe2M9MDt3aGlsZShvPWFbYysrXSloZS50ZXN0KG8udHlwZXx8IiIpJiZuLnB1c2gobyl9cmV0dXJuIGZ9bWU9RS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkuYXBwZW5kQ2hpbGQoRS5jcmVhdGVFbGVtZW50KCJkaXYiKSksKHhlPUUuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkuc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSx4ZS5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIikseGUuc2V0QXR0cmlidXRlKCJuYW1lIiwidCIpLG1lLmFwcGVuZENoaWxkKHhlKSx5LmNoZWNrQ2xvbmU9bWUuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLG1lLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIseS5ub0Nsb25lQ2hlY2tlZD0hIW1lLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZTt2YXIgVGU9L15rZXkvLENlPS9eKD86bW91c2V8cG9pbnRlcnxjb250ZXh0bWVudXxkcmFnfGRyb3ApfGNsaWNrLyxFZT0vXihbXi5dKikoPzpcLiguKyl8KS87ZnVuY3Rpb24ga2UoKXtyZXR1cm4hMH1mdW5jdGlvbiBTZSgpe3JldHVybiExfWZ1bmN0aW9uIE5lKGUsdCl7cmV0dXJuIGU9PT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gRS5hY3RpdmVFbGVtZW50fWNhdGNoKGUpe319KCk9PSgiZm9jdXMiPT09dCl9ZnVuY3Rpb24gQWUoZSx0LG4scixpLG8pe3ZhciBhLHM7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtmb3IocyBpbiJzdHJpbmciIT10eXBlb2YgbiYmKHI9cnx8bixuPXZvaWQgMCksdClBZShlLHMsbixyLHRbc10sbyk7cmV0dXJuIGV9aWYobnVsbD09ciYmbnVsbD09aT8oaT1uLHI9bj12b2lkIDApOm51bGw9PWkmJigic3RyaW5nIj09dHlwZW9mIG4/KGk9cixyPXZvaWQgMCk6KGk9cixyPW4sbj12b2lkIDApKSwhMT09PWkpaT1TZTtlbHNlIGlmKCFpKXJldHVybiBlO3JldHVybiAxPT09byYmKGE9aSwoaT1mdW5jdGlvbihlKXtyZXR1cm4gaygpLm9mZihlKSxhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPWsuZ3VpZCsrKSksZS5lYWNoKGZ1bmN0aW9uKCl7ay5ldmVudC5hZGQodGhpcyx0LGkscixuKX0pfWZ1bmN0aW9uIERlKGUsaSxvKXtvPyhRLnNldChlLGksITEpLGsuZXZlbnQuYWRkKGUsaSx7bmFtZXNwYWNlOiExLGhhbmRsZXI6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPVEuZ2V0KHRoaXMsaSk7aWYoMSZlLmlzVHJpZ2dlciYmdGhpc1tpXSl7aWYoci5sZW5ndGgpKGsuZXZlbnQuc3BlY2lhbFtpXXx8e30pLmRlbGVnYXRlVHlwZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKHI9cy5jYWxsKGFyZ3VtZW50cyksUS5zZXQodGhpcyxpLHIpLHQ9byh0aGlzLGkpLHRoaXNbaV0oKSxyIT09KG49US5nZXQodGhpcyxpKSl8fHQ/US5zZXQodGhpcyxpLCExKTpuPXt9LHIhPT1uKXJldHVybiBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKSxuLnZhbHVlfWVsc2Ugci5sZW5ndGgmJihRLnNldCh0aGlzLGkse3ZhbHVlOmsuZXZlbnQudHJpZ2dlcihrLmV4dGVuZChyWzBdLGsuRXZlbnQucHJvdG90eXBlKSxyLnNsaWNlKDEpLHRoaXMpfSksZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fSkpOnZvaWQgMD09PVEuZ2V0KGUsaSkmJmsuZXZlbnQuYWRkKGUsaSxrZSl9ay5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbih0LGUsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1RLmdldCh0KTtpZih2KXtuLmhhbmRsZXImJihuPShvPW4pLmhhbmRsZXIsaT1vLnNlbGVjdG9yKSxpJiZrLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGllLGkpLG4uZ3VpZHx8KG4uZ3VpZD1rLmd1aWQrKyksKHU9di5ldmVudHMpfHwodT12LmV2ZW50cz17fSksKGE9di5oYW5kbGUpfHwoYT12LmhhbmRsZT1mdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGsmJmsuZXZlbnQudHJpZ2dlcmVkIT09ZS50eXBlP2suZXZlbnQuZGlzcGF0Y2guYXBwbHkodCxhcmd1bWVudHMpOnZvaWQgMH0pLGw9KGU9KGV8fCIiKS5tYXRjaChSKXx8WyIiXSkubGVuZ3RoO3doaWxlKGwtLSlkPWc9KHM9RWUuZXhlYyhlW2xdKXx8W10pWzFdLGg9KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxkJiYoZj1rLmV2ZW50LnNwZWNpYWxbZF18fHt9LGQ9KGk/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGQsZj1rLmV2ZW50LnNwZWNpYWxbZF18fHt9LGM9ay5leHRlbmQoe3R5cGU6ZCxvcmlnVHlwZTpnLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6aSxuZWVkc0NvbnRleHQ6aSYmay5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGkpLG5hbWVzcGFjZTpoLmpvaW4oIi4iKX0sbyksKHA9dVtkXSl8fCgocD11W2RdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZi5zZXR1cCYmITEhPT1mLnNldHVwLmNhbGwodCxyLGgsYSl8fHQuYWRkRXZlbnRMaXN0ZW5lciYmdC5hZGRFdmVudExpc3RlbmVyKGQsYSkpLGYuYWRkJiYoZi5hZGQuY2FsbCh0LGMpLGMuaGFuZGxlci5ndWlkfHwoYy5oYW5kbGVyLmd1aWQ9bi5ndWlkKSksaT9wLnNwbGljZShwLmRlbGVnYXRlQ291bnQrKywwLGMpOnAucHVzaChjKSxrLmV2ZW50Lmdsb2JhbFtkXT0hMCl9fSxyZW1vdmU6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdSxsLGMsZixwLGQsaCxnLHY9US5oYXNEYXRhKGUpJiZRLmdldChlKTtpZih2JiYodT12LmV2ZW50cykpe2w9KHQ9KHR8fCIiKS5tYXRjaChSKXx8WyIiXSkubGVuZ3RoO3doaWxlKGwtLSlpZihkPWc9KHM9RWUuZXhlYyh0W2xdKXx8W10pWzFdLGg9KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxkKXtmPWsuZXZlbnQuc3BlY2lhbFtkXXx8e30scD11W2Q9KHI/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGRdfHxbXSxzPXNbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK2guam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksYT1vPXAubGVuZ3RoO3doaWxlKG8tLSljPXBbb10sIWkmJmchPT1jLm9yaWdUeXBlfHxuJiZuLmd1aWQhPT1jLmd1aWR8fHMmJiFzLnRlc3QoYy5uYW1lc3BhY2UpfHxyJiZyIT09Yy5zZWxlY3RvciYmKCIqKiIhPT1yfHwhYy5zZWxlY3Rvcil8fChwLnNwbGljZShvLDEpLGMuc2VsZWN0b3ImJnAuZGVsZWdhdGVDb3VudC0tLGYucmVtb3ZlJiZmLnJlbW92ZS5jYWxsKGUsYykpO2EmJiFwLmxlbmd0aCYmKGYudGVhcmRvd24mJiExIT09Zi50ZWFyZG93bi5jYWxsKGUsaCx2LmhhbmRsZSl8fGsucmVtb3ZlRXZlbnQoZSxkLHYuaGFuZGxlKSxkZWxldGUgdVtkXSl9ZWxzZSBmb3IoZCBpbiB1KWsuZXZlbnQucmVtb3ZlKGUsZCt0W2xdLG4sciwhMCk7ay5pc0VtcHR5T2JqZWN0KHUpJiZRLnJlbW92ZShlLCJoYW5kbGUgZXZlbnRzIil9fSxkaXNwYXRjaDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscz1rLmV2ZW50LmZpeChlKSx1PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSxsPShRLmdldCh0aGlzLCJldmVudHMiKXx8e30pW3MudHlwZV18fFtdLGM9ay5ldmVudC5zcGVjaWFsW3MudHlwZV18fHt9O2Zvcih1WzBdPXMsdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspdVt0XT1hcmd1bWVudHNbdF07aWYocy5kZWxlZ2F0ZVRhcmdldD10aGlzLCFjLnByZURpc3BhdGNofHwhMSE9PWMucHJlRGlzcGF0Y2guY2FsbCh0aGlzLHMpKXthPWsuZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLHMsbCksdD0wO3doaWxlKChpPWFbdCsrXSkmJiFzLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpe3MuY3VycmVudFRhcmdldD1pLmVsZW0sbj0wO3doaWxlKChvPWkuaGFuZGxlcnNbbisrXSkmJiFzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpcy5ybmFtZXNwYWNlJiYhMSE9PW8ubmFtZXNwYWNlJiYhcy5ybmFtZXNwYWNlLnRlc3Qoby5uYW1lc3BhY2UpfHwocy5oYW5kbGVPYmo9byxzLmRhdGE9by5kYXRhLHZvaWQgMCE9PShyPSgoay5ldmVudC5zcGVjaWFsW28ub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxvLmhhbmRsZXIpLmFwcGx5KGkuZWxlbSx1KSkmJiExPT09KHMucmVzdWx0PXIpJiYocy5wcmV2ZW50RGVmYXVsdCgpLHMuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gYy5wb3N0RGlzcGF0Y2gmJmMucG9zdERpc3BhdGNoLmNhbGwodGhpcyxzKSxzLnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzPVtdLHU9dC5kZWxlZ2F0ZUNvdW50LGw9ZS50YXJnZXQ7aWYodSYmbC5ub2RlVHlwZSYmISgiY2xpY2siPT09ZS50eXBlJiYxPD1lLmJ1dHRvbikpZm9yKDtsIT09dGhpcztsPWwucGFyZW50Tm9kZXx8dGhpcylpZigxPT09bC5ub2RlVHlwZSYmKCJjbGljayIhPT1lLnR5cGV8fCEwIT09bC5kaXNhYmxlZCkpe2ZvcihvPVtdLGE9e30sbj0wO248dTtuKyspdm9pZCAwPT09YVtpPShyPXRbbl0pLnNlbGVjdG9yKyIgIl0mJihhW2ldPXIubmVlZHNDb250ZXh0Py0xPGsoaSx0aGlzKS5pbmRleChsKTprLmZpbmQoaSx0aGlzLG51bGwsW2xdKS5sZW5ndGgpLGFbaV0mJm8ucHVzaChyKTtvLmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6b30pfXJldHVybiBsPXRoaXMsdTx0Lmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6dC5zbGljZSh1KX0pLHN9LGFkZFByb3A6ZnVuY3Rpb24odCxlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoay5FdmVudC5wcm90b3R5cGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0Om0oZSk/ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIGUodGhpcy5vcmlnaW5hbEV2ZW50KX06ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFt0XX0sc2V0OmZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmV9KX19KX0sZml4OmZ1bmN0aW9uKGUpe3JldHVybiBlW2suZXhwYW5kb10/ZTpuZXcgay5FdmVudChlKX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGNsaWNrOntzZXR1cDpmdW5jdGlvbihlKXt2YXIgdD10aGlzfHxlO3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJkEodCwiaW5wdXQiKSYmRGUodCwiY2xpY2siLGtlKSwhMX0sdHJpZ2dlcjpmdW5jdGlvbihlKXt2YXIgdD10aGlzfHxlO3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJkEodCwiaW5wdXQiKSYmRGUodCwiY2xpY2siKSwhMH0sX2RlZmF1bHQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7cmV0dXJuIHBlLnRlc3QodC50eXBlKSYmdC5jbGljayYmQSh0LCJpbnB1dCIpJiZRLmdldCh0LCJjbGljayIpfHxBKHQsImEiKX19LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZvaWQgMCE9PWUucmVzdWx0JiZlLm9yaWdpbmFsRXZlbnQmJihlLm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWU9ZS5yZXN1bHQpfX19fSxrLnJlbW92ZUV2ZW50PWZ1bmN0aW9uKGUsdCxuKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4pfSxrLkV2ZW50PWZ1bmN0aW9uKGUsdCl7aWYoISh0aGlzIGluc3RhbmNlb2Ygay5FdmVudCkpcmV0dXJuIG5ldyBrLkV2ZW50KGUsdCk7ZSYmZS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9ZSx0aGlzLnR5cGU9ZS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWUuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09ZS5kZWZhdWx0UHJldmVudGVkJiYhMT09PWUucmV0dXJuVmFsdWU/a2U6U2UsdGhpcy50YXJnZXQ9ZS50YXJnZXQmJjM9PT1lLnRhcmdldC5ub2RlVHlwZT9lLnRhcmdldC5wYXJlbnROb2RlOmUudGFyZ2V0LHRoaXMuY3VycmVudFRhcmdldD1lLmN1cnJlbnRUYXJnZXQsdGhpcy5yZWxhdGVkVGFyZ2V0PWUucmVsYXRlZFRhcmdldCk6dGhpcy50eXBlPWUsdCYmay5leHRlbmQodGhpcyx0KSx0aGlzLnRpbWVTdGFtcD1lJiZlLnRpbWVTdGFtcHx8RGF0ZS5ub3coKSx0aGlzW2suZXhwYW5kb109ITB9LGsuRXZlbnQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjprLkV2ZW50LGlzRGVmYXVsdFByZXZlbnRlZDpTZSxpc1Byb3BhZ2F0aW9uU3RvcHBlZDpTZSxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpTZSxpc1NpbXVsYXRlZDohMSxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1rZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5wcmV2ZW50RGVmYXVsdCgpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1rZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wUHJvcGFnYXRpb24oKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9a2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LGsuZWFjaCh7YWx0S2V5OiEwLGJ1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxjaGFuZ2VkVG91Y2hlczohMCxjdHJsS2V5OiEwLGRldGFpbDohMCxldmVudFBoYXNlOiEwLG1ldGFLZXk6ITAscGFnZVg6ITAscGFnZVk6ITAsc2hpZnRLZXk6ITAsdmlldzohMCwiY2hhciI6ITAsY29kZTohMCxjaGFyQ29kZTohMCxrZXk6ITAsa2V5Q29kZTohMCxidXR0b246ITAsYnV0dG9uczohMCxjbGllbnRYOiEwLGNsaWVudFk6ITAsb2Zmc2V0WDohMCxvZmZzZXRZOiEwLHBvaW50ZXJJZDohMCxwb2ludGVyVHlwZTohMCxzY3JlZW5YOiEwLHNjcmVlblk6ITAsdGFyZ2V0VG91Y2hlczohMCx0b0VsZW1lbnQ6ITAsdG91Y2hlczohMCx3aGljaDpmdW5jdGlvbihlKXt2YXIgdD1lLmJ1dHRvbjtyZXR1cm4gbnVsbD09ZS53aGljaCYmVGUudGVzdChlLnR5cGUpP251bGwhPWUuY2hhckNvZGU/ZS5jaGFyQ29kZTplLmtleUNvZGU6IWUud2hpY2gmJnZvaWQgMCE9PXQmJkNlLnRlc3QoZS50eXBlKT8xJnQ/MToyJnQ/Mzo0JnQ/MjowOmUud2hpY2h9fSxrLmV2ZW50LmFkZFByb3ApLGsuZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVuY3Rpb24oZSx0KXtrLmV2ZW50LnNwZWNpYWxbZV09e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIERlKHRoaXMsZSxOZSksITF9LHRyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gRGUodGhpcyxlKSwhMH0sZGVsZWdhdGVUeXBlOnR9fSksay5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQifSxmdW5jdGlvbihlLGkpe2suZXZlbnQuc3BlY2lhbFtlXT17ZGVsZWdhdGVUeXBlOmksYmluZFR5cGU6aSxoYW5kbGU6ZnVuY3Rpb24oZSl7dmFyIHQsbj1lLnJlbGF0ZWRUYXJnZXQscj1lLmhhbmRsZU9iajtyZXR1cm4gbiYmKG49PT10aGlzfHxrLmNvbnRhaW5zKHRoaXMsbikpfHwoZS50eXBlPXIub3JpZ1R5cGUsdD1yLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUudHlwZT1pKSx0fX19KSxrLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIEFlKHRoaXMsZSx0LG4scil9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gQWUodGhpcyxlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoZSYmZS5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIHI9ZS5oYW5kbGVPYmosayhlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/ci5vcmlnVHlwZSsiLiIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpcztpZigib2JqZWN0Ij09dHlwZW9mIGUpe2ZvcihpIGluIGUpdGhpcy5vZmYoaSx0LGVbaV0pO3JldHVybiB0aGlzfXJldHVybiExIT09dCYmImZ1bmN0aW9uIiE9dHlwZW9mIHR8fChuPXQsdD12b2lkIDApLCExPT09biYmKG49U2UpLHRoaXMuZWFjaChmdW5jdGlvbigpe2suZXZlbnQucmVtb3ZlKHRoaXMsZSxuLHQpfSl9fSk7dmFyIGplPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0qKVtePl0qKVwvPi9naSxxZT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxMZT0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxIZT0vXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2c7ZnVuY3Rpb24gT2UoZSx0KXtyZXR1cm4gQShlLCJ0YWJsZSIpJiZBKDExIT09dC5ub2RlVHlwZT90OnQuZmlyc3RDaGlsZCwidHIiKSYmayhlKS5jaGlsZHJlbigidGJvZHkiKVswXXx8ZX1mdW5jdGlvbiBQZShlKXtyZXR1cm4gZS50eXBlPShudWxsIT09ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSkrIi8iK2UudHlwZSxlfWZ1bmN0aW9uIFJlKGUpe3JldHVybiJ0cnVlLyI9PT0oZS50eXBlfHwiIikuc2xpY2UoMCw1KT9lLnR5cGU9ZS50eXBlLnNsaWNlKDUpOmUucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksZX1mdW5jdGlvbiBNZShlLHQpe3ZhciBuLHIsaSxvLGEscyx1LGw7aWYoMT09PXQubm9kZVR5cGUpe2lmKFEuaGFzRGF0YShlKSYmKG89US5hY2Nlc3MoZSksYT1RLnNldCh0LG8pLGw9by5ldmVudHMpKWZvcihpIGluIGRlbGV0ZSBhLmhhbmRsZSxhLmV2ZW50cz17fSxsKWZvcihuPTAscj1sW2ldLmxlbmd0aDtuPHI7bisrKWsuZXZlbnQuYWRkKHQsaSxsW2ldW25dKTtKLmhhc0RhdGEoZSkmJihzPUouYWNjZXNzKGUpLHU9ay5leHRlbmQoe30scyksSi5zZXQodCx1KSl9fWZ1bmN0aW9uIEllKG4scixpLG8pe3I9Zy5hcHBseShbXSxyKTt2YXIgZSx0LGEscyx1LGwsYz0wLGY9bi5sZW5ndGgscD1mLTEsZD1yWzBdLGg9bShkKTtpZihofHwxPGYmJiJzdHJpbmciPT10eXBlb2YgZCYmIXkuY2hlY2tDbG9uZSYmTGUudGVzdChkKSlyZXR1cm4gbi5lYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PW4uZXEoZSk7aCYmKHJbMF09ZC5jYWxsKHRoaXMsZSx0Lmh0bWwoKSkpLEllKHQscixpLG8pfSk7aWYoZiYmKHQ9KGU9d2UocixuWzBdLm93bmVyRG9jdW1lbnQsITEsbixvKSkuZmlyc3RDaGlsZCwxPT09ZS5jaGlsZE5vZGVzLmxlbmd0aCYmKGU9dCksdHx8bykpe2ZvcihzPShhPWsubWFwKHZlKGUsInNjcmlwdCIpLFBlKSkubGVuZ3RoO2M8ZjtjKyspdT1lLGMhPT1wJiYodT1rLmNsb25lKHUsITAsITApLHMmJmsubWVyZ2UoYSx2ZSh1LCJzY3JpcHQiKSkpLGkuY2FsbChuW2NdLHUsYyk7aWYocylmb3IobD1hW2EubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsay5tYXAoYSxSZSksYz0wO2M8cztjKyspdT1hW2NdLGhlLnRlc3QodS50eXBlfHwiIikmJiFRLmFjY2Vzcyh1LCJnbG9iYWxFdmFsIikmJmsuY29udGFpbnMobCx1KSYmKHUuc3JjJiYibW9kdWxlIiE9PSh1LnR5cGV8fCIiKS50b0xvd2VyQ2FzZSgpP2suX2V2YWxVcmwmJiF1Lm5vTW9kdWxlJiZrLl9ldmFsVXJsKHUuc3JjLHtub25jZTp1Lm5vbmNlfHx1LmdldEF0dHJpYnV0ZSgibm9uY2UiKX0pOmIodS50ZXh0Q29udGVudC5yZXBsYWNlKEhlLCIiKSx1LGwpKX1yZXR1cm4gbn1mdW5jdGlvbiBXZShlLHQsbil7Zm9yKHZhciByLGk9dD9rLmZpbHRlcih0LGUpOmUsbz0wO251bGwhPShyPWlbb10pO28rKylufHwxIT09ci5ub2RlVHlwZXx8ay5jbGVhbkRhdGEodmUocikpLHIucGFyZW50Tm9kZSYmKG4mJm9lKHIpJiZ5ZSh2ZShyLCJzY3JpcHQiKSksci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpKTtyZXR1cm4gZX1rLmV4dGVuZCh7aHRtbFByZWZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKGplLCI8JDE+PC8kMj4iKX0sY2xvbmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdSxsLGM9ZS5jbG9uZU5vZGUoITApLGY9b2UoZSk7aWYoISh5Lm5vQ2xvbmVDaGVja2VkfHwxIT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlfHxrLmlzWE1MRG9jKGUpKSlmb3IoYT12ZShjKSxyPTAsaT0obz12ZShlKSkubGVuZ3RoO3I8aTtyKyspcz1vW3JdLHU9YVtyXSx2b2lkIDAsImlucHV0Ij09PShsPXUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkmJnBlLnRlc3Qocy50eXBlKT91LmNoZWNrZWQ9cy5jaGVja2VkOiJpbnB1dCIhPT1sJiYidGV4dGFyZWEiIT09bHx8KHUuZGVmYXVsdFZhbHVlPXMuZGVmYXVsdFZhbHVlKTtpZih0KWlmKG4pZm9yKG89b3x8dmUoZSksYT1hfHx2ZShjKSxyPTAsaT1vLmxlbmd0aDtyPGk7cisrKU1lKG9bcl0sYVtyXSk7ZWxzZSBNZShlLGMpO3JldHVybiAwPChhPXZlKGMsInNjcmlwdCIpKS5sZW5ndGgmJnllKGEsIWYmJnZlKGUsInNjcmlwdCIpKSxjfSxjbGVhbkRhdGE6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4scixpPWsuZXZlbnQuc3BlY2lhbCxvPTA7dm9pZCAwIT09KG49ZVtvXSk7bysrKWlmKEcobikpe2lmKHQ9bltRLmV4cGFuZG9dKXtpZih0LmV2ZW50cylmb3IociBpbiB0LmV2ZW50cylpW3JdP2suZXZlbnQucmVtb3ZlKG4scik6ay5yZW1vdmVFdmVudChuLHIsdC5oYW5kbGUpO25bUS5leHBhbmRvXT12b2lkIDB9bltKLmV4cGFuZG9dJiYobltKLmV4cGFuZG9dPXZvaWQgMCl9fX0pLGsuZm4uZXh0ZW5kKHtkZXRhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIFdlKHRoaXMsZSwhMCl9LHJlbW92ZTpmdW5jdGlvbihlKXtyZXR1cm4gV2UodGhpcyxlKX0sdGV4dDpmdW5jdGlvbihlKXtyZXR1cm4gXyh0aGlzLGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lP2sudGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuZWFjaChmdW5jdGlvbigpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHwodGhpcy50ZXh0Q29udGVudD1lKX0pfSxudWxsLGUsYXJndW1lbnRzLmxlbmd0aCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiBJZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXsxIT09dGhpcy5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8T2UodGhpcyxlKS5hcHBlbmRDaGlsZChlKX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIEllKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgdD1PZSh0aGlzLGUpO3QuaW5zZXJ0QmVmb3JlKGUsdC5maXJzdENoaWxkKX19KX0sYmVmb3JlOmZ1bmN0aW9uKCl7cmV0dXJuIEllKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMpfSl9LGFmdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIEllKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSl9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDtudWxsIT0oZT10aGlzW3RdKTt0KyspMT09PWUubm9kZVR5cGUmJihrLmNsZWFuRGF0YSh2ZShlLCExKSksZS50ZXh0Q29udGVudD0iIik7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9bnVsbCE9ZSYmZSx0PW51bGw9PXQ/ZTp0LHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGsuY2xvbmUodGhpcyxlLHQpfSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIF8odGhpcyxmdW5jdGlvbihlKXt2YXIgdD10aGlzWzBdfHx7fSxuPTAscj10aGlzLmxlbmd0aDtpZih2b2lkIDA9PT1lJiYxPT09dC5ub2RlVHlwZSlyZXR1cm4gdC5pbm5lckhUTUw7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYhcWUudGVzdChlKSYmIWdlWyhkZS5leGVjKGUpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7ZT1rLmh0bWxQcmVmaWx0ZXIoZSk7dHJ5e2Zvcig7bjxyO24rKykxPT09KHQ9dGhpc1tuXXx8e30pLm5vZGVUeXBlJiYoay5jbGVhbkRhdGEodmUodCwhMSkpLHQuaW5uZXJIVE1MPWUpO3Q9MH1jYXRjaChlKXt9fXQmJnRoaXMuZW1wdHkoKS5hcHBlbmQoZSl9LG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gSWUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5wYXJlbnROb2RlO2suaW5BcnJheSh0aGlzLG4pPDAmJihrLmNsZWFuRGF0YSh2ZSh0aGlzKSksdCYmdC5yZXBsYWNlQ2hpbGQoZSx0aGlzKSl9LG4pfX0pLGsuZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGUsYSl7ay5mbltlXT1mdW5jdGlvbihlKXtmb3IodmFyIHQsbj1bXSxyPWsoZSksaT1yLmxlbmd0aC0xLG89MDtvPD1pO28rKyl0PW89PT1pP3RoaXM6dGhpcy5jbG9uZSghMCksayhyW29dKVthXSh0KSx1LmFwcGx5KG4sdC5nZXQoKSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG4pfX0pO3ZhciAkZT1uZXcgUmVnRXhwKCJeKCIrdGUrIikoPyFweClbYS16JV0rJCIsImkiKSxGZT1mdW5jdGlvbihlKXt2YXIgdD1lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIHQmJnQub3BlbmVyfHwodD1DKSx0LmdldENvbXB1dGVkU3R5bGUoZSl9LEJlPW5ldyBSZWdFeHAocmUuam9pbigifCIpLCJpIik7ZnVuY3Rpb24gX2UoZSx0LG4pe3ZhciByLGksbyxhLHM9ZS5zdHlsZTtyZXR1cm4obj1ufHxGZShlKSkmJigiIiE9PShhPW4uZ2V0UHJvcGVydHlWYWx1ZSh0KXx8blt0XSl8fG9lKGUpfHwoYT1rLnN0eWxlKGUsdCkpLCF5LnBpeGVsQm94U3R5bGVzKCkmJiRlLnRlc3QoYSkmJkJlLnRlc3QodCkmJihyPXMud2lkdGgsaT1zLm1pbldpZHRoLG89cy5tYXhXaWR0aCxzLm1pbldpZHRoPXMubWF4V2lkdGg9cy53aWR0aD1hLGE9bi53aWR0aCxzLndpZHRoPXIscy5taW5XaWR0aD1pLHMubWF4V2lkdGg9bykpLHZvaWQgMCE9PWE/YSsiIjphfWZ1bmN0aW9uIHplKGUsdCl7cmV0dXJue2dldDpmdW5jdGlvbigpe2lmKCFlKCkpcmV0dXJuKHRoaXMuZ2V0PXQpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkZWxldGUgdGhpcy5nZXR9fX0hZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7aWYodSl7cy5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4O3dpZHRoOjYwcHg7bWFyZ2luLXRvcDoxcHg7cGFkZGluZzowO2JvcmRlcjowIix1LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OnNjcm9sbDttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3dpZHRoOjYwJTt0b3A6MSUiLGllLmFwcGVuZENoaWxkKHMpLmFwcGVuZENoaWxkKHUpO3ZhciBlPUMuZ2V0Q29tcHV0ZWRTdHlsZSh1KTtuPSIxJSIhPT1lLnRvcCxhPTEyPT09dChlLm1hcmdpbkxlZnQpLHUuc3R5bGUucmlnaHQ9IjYwJSIsbz0zNj09PXQoZS5yaWdodCkscj0zNj09PXQoZS53aWR0aCksdS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGk9MTI9PT10KHUub2Zmc2V0V2lkdGgvMyksaWUucmVtb3ZlQ2hpbGQocyksdT1udWxsfX1mdW5jdGlvbiB0KGUpe3JldHVybiBNYXRoLnJvdW5kKHBhcnNlRmxvYXQoZSkpfXZhciBuLHIsaSxvLGEscz1FLmNyZWF0ZUVsZW1lbnQoImRpdiIpLHU9RS5jcmVhdGVFbGVtZW50KCJkaXYiKTt1LnN0eWxlJiYodS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iY29udGVudC1ib3giLHUuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iIix5LmNsZWFyQ2xvbmVTdHlsZT0iY29udGVudC1ib3giPT09dS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCxrLmV4dGVuZCh5LHtib3hTaXppbmdSZWxpYWJsZTpmdW5jdGlvbigpe3JldHVybiBlKCkscn0scGl4ZWxCb3hTdHlsZXM6ZnVuY3Rpb24oKXtyZXR1cm4gZSgpLG99LHBpeGVsUG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gZSgpLG59LHJlbGlhYmxlTWFyZ2luTGVmdDpmdW5jdGlvbigpe3JldHVybiBlKCksYX0sc2Nyb2xsYm94U2l6ZTpmdW5jdGlvbigpe3JldHVybiBlKCksaX19KSl9KCk7dmFyIFVlPVsiV2Via2l0IiwiTW96IiwibXMiXSxYZT1FLmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLFZlPXt9O2Z1bmN0aW9uIEdlKGUpe3ZhciB0PWsuY3NzUHJvcHNbZV18fFZlW2VdO3JldHVybiB0fHwoZSBpbiBYZT9lOlZlW2VdPWZ1bmN0aW9uKGUpe3ZhciB0PWVbMF0udG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG49VWUubGVuZ3RoO3doaWxlKG4tLSlpZigoZT1VZVtuXSt0KWluIFhlKXJldHVybiBlfShlKXx8ZSl9dmFyIFllPS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxRZT0vXi0tLyxKZT17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJsb2NrIn0sS2U9e2xldHRlclNwYWNpbmc6IjAiLGZvbnRXZWlnaHQ6IjQwMCJ9O2Z1bmN0aW9uIFplKGUsdCxuKXt2YXIgcj1uZS5leGVjKHQpO3JldHVybiByP01hdGgubWF4KDAsclsyXS0obnx8MCkpKyhyWzNdfHwicHgiKTp0fWZ1bmN0aW9uIGV0KGUsdCxuLHIsaSxvKXt2YXIgYT0id2lkdGgiPT09dD8xOjAscz0wLHU9MDtpZihuPT09KHI/ImJvcmRlciI6ImNvbnRlbnQiKSlyZXR1cm4gMDtmb3IoO2E8NDthKz0yKSJtYXJnaW4iPT09biYmKHUrPWsuY3NzKGUsbityZVthXSwhMCxpKSkscj8oImNvbnRlbnQiPT09biYmKHUtPWsuY3NzKGUsInBhZGRpbmciK3JlW2FdLCEwLGkpKSwibWFyZ2luIiE9PW4mJih1LT1rLmNzcyhlLCJib3JkZXIiK3JlW2FdKyJXaWR0aCIsITAsaSkpKToodSs9ay5jc3MoZSwicGFkZGluZyIrcmVbYV0sITAsaSksInBhZGRpbmciIT09bj91Kz1rLmNzcyhlLCJib3JkZXIiK3JlW2FdKyJXaWR0aCIsITAsaSk6cys9ay5jc3MoZSwiYm9yZGVyIityZVthXSsiV2lkdGgiLCEwLGkpKTtyZXR1cm4hciYmMDw9byYmKHUrPU1hdGgubWF4KDAsTWF0aC5jZWlsKGVbIm9mZnNldCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSldLW8tdS1zLS41KSl8fDApLHV9ZnVuY3Rpb24gdHQoZSx0LG4pe3ZhciByPUZlKGUpLGk9KCF5LmJveFNpemluZ1JlbGlhYmxlKCl8fG4pJiYiYm9yZGVyLWJveCI9PT1rLmNzcyhlLCJib3hTaXppbmciLCExLHIpLG89aSxhPV9lKGUsdCxyKSxzPSJvZmZzZXQiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpO2lmKCRlLnRlc3QoYSkpe2lmKCFuKXJldHVybiBhO2E9ImF1dG8ifXJldHVybigheS5ib3hTaXppbmdSZWxpYWJsZSgpJiZpfHwiYXV0byI9PT1hfHwhcGFyc2VGbG9hdChhKSYmImlubGluZSI9PT1rLmNzcyhlLCJkaXNwbGF5IiwhMSxyKSkmJmUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgmJihpPSJib3JkZXItYm94Ij09PWsuY3NzKGUsImJveFNpemluZyIsITEsciksKG89cyBpbiBlKSYmKGE9ZVtzXSkpLChhPXBhcnNlRmxvYXQoYSl8fDApK2V0KGUsdCxufHwoaT8iYm9yZGVyIjoiY29udGVudCIpLG8scixhKSsicHgifWZ1bmN0aW9uIG50KGUsdCxuLHIsaSl7cmV0dXJuIG5ldyBudC5wcm90b3R5cGUuaW5pdChlLHQsbixyLGkpfWsuZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGUsdCl7aWYodCl7dmFyIG49X2UoZSwib3BhY2l0eSIpO3JldHVybiIiPT09bj8iMSI6bn19fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsZ3JpZEFyZWE6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TdGFydDohMCxncmlkUm93OiEwLGdyaWRSb3dFbmQ6ITAsZ3JpZFJvd1N0YXJ0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6e30sc3R5bGU6ZnVuY3Rpb24oZSx0LG4scil7aWYoZSYmMyE9PWUubm9kZVR5cGUmJjghPT1lLm5vZGVUeXBlJiZlLnN0eWxlKXt2YXIgaSxvLGEscz1WKHQpLHU9UWUudGVzdCh0KSxsPWUuc3R5bGU7aWYodXx8KHQ9R2UocykpLGE9ay5jc3NIb29rc1t0XXx8ay5jc3NIb29rc1tzXSx2b2lkIDA9PT1uKXJldHVybiBhJiYiZ2V0ImluIGEmJnZvaWQgMCE9PShpPWEuZ2V0KGUsITEscikpP2k6bFt0XTsic3RyaW5nIj09PShvPXR5cGVvZiBuKSYmKGk9bmUuZXhlYyhuKSkmJmlbMV0mJihuPWxlKGUsdCxpKSxvPSJudW1iZXIiKSxudWxsIT1uJiZuPT1uJiYoIm51bWJlciIhPT1vfHx1fHwobis9aSYmaVszXXx8KGsuY3NzTnVtYmVyW3NdPyIiOiJweCIpKSx5LmNsZWFyQ2xvbmVTdHlsZXx8IiIhPT1ufHwwIT09dC5pbmRleE9mKCJiYWNrZ3JvdW5kIil8fChsW3RdPSJpbmhlcml0IiksYSYmInNldCJpbiBhJiZ2b2lkIDA9PT0obj1hLnNldChlLG4scikpfHwodT9sLnNldFByb3BlcnR5KHQsbik6bFt0XT1uKSl9fSxjc3M6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHM9Vih0KTtyZXR1cm4gUWUudGVzdCh0KXx8KHQ9R2UocykpLChhPWsuY3NzSG9va3NbdF18fGsuY3NzSG9va3Nbc10pJiYiZ2V0ImluIGEmJihpPWEuZ2V0KGUsITAsbikpLHZvaWQgMD09PWkmJihpPV9lKGUsdCxyKSksIm5vcm1hbCI9PT1pJiZ0IGluIEtlJiYoaT1LZVt0XSksIiI9PT1ufHxuPyhvPXBhcnNlRmxvYXQoaSksITA9PT1ufHxpc0Zpbml0ZShvKT9vfHwwOmkpOml9fSksay5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihlLHUpe2suY3NzSG9va3NbdV09e2dldDpmdW5jdGlvbihlLHQsbil7aWYodClyZXR1cm4hWWUudGVzdChrLmNzcyhlLCJkaXNwbGF5IikpfHxlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiZlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoP3R0KGUsdSxuKTp1ZShlLEplLGZ1bmN0aW9uKCl7cmV0dXJuIHR0KGUsdSxuKX0pfSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9RmUoZSksbz0heS5zY3JvbGxib3hTaXplKCkmJiJhYnNvbHV0ZSI9PT1pLnBvc2l0aW9uLGE9KG98fG4pJiYiYm9yZGVyLWJveCI9PT1rLmNzcyhlLCJib3hTaXppbmciLCExLGkpLHM9bj9ldChlLHUsbixhLGkpOjA7cmV0dXJuIGEmJm8mJihzLT1NYXRoLmNlaWwoZVsib2Zmc2V0Iit1WzBdLnRvVXBwZXJDYXNlKCkrdS5zbGljZSgxKV0tcGFyc2VGbG9hdChpW3VdKS1ldChlLHUsImJvcmRlciIsITEsaSktLjUpKSxzJiYocj1uZS5leGVjKHQpKSYmInB4IiE9PShyWzNdfHwicHgiKSYmKGUuc3R5bGVbdV09dCx0PWsuY3NzKGUsdSkpLFplKDAsdCxzKX19fSksay5jc3NIb29rcy5tYXJnaW5MZWZ0PXplKHkucmVsaWFibGVNYXJnaW5MZWZ0LGZ1bmN0aW9uKGUsdCl7aWYodClyZXR1cm4ocGFyc2VGbG9hdChfZShlLCJtYXJnaW5MZWZ0IikpfHxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtdWUoZSx7bWFyZ2luTGVmdDowfSxmdW5jdGlvbigpe3JldHVybiBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnR9KSkrInB4In0pLGsuZWFjaCh7bWFyZ2luOiIiLHBhZGRpbmc6IiIsYm9yZGVyOiJXaWR0aCJ9LGZ1bmN0aW9uKGksbyl7ay5jc3NIb29rc1tpK29dPXtleHBhbmQ6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsbj17fSxyPSJzdHJpbmciPT10eXBlb2YgZT9lLnNwbGl0KCIgIik6W2VdO3Q8NDt0KyspbltpK3JlW3RdK29dPXJbdF18fHJbdC0yXXx8clswXTtyZXR1cm4gbn19LCJtYXJnaW4iIT09aSYmKGsuY3NzSG9va3NbaStvXS5zZXQ9WmUpfSksay5mbi5leHRlbmQoe2NzczpmdW5jdGlvbihlLHQpe3JldHVybiBfKHRoaXMsZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz17fSxhPTA7aWYoQXJyYXkuaXNBcnJheSh0KSl7Zm9yKHI9RmUoZSksaT10Lmxlbmd0aDthPGk7YSsrKW9bdFthXV09ay5jc3MoZSx0W2FdLCExLHIpO3JldHVybiBvfXJldHVybiB2b2lkIDAhPT1uP2suc3R5bGUoZSx0LG4pOmsuY3NzKGUsdCl9LGUsdCwxPGFyZ3VtZW50cy5sZW5ndGgpfX0pLCgoay5Ud2Vlbj1udCkucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpudCxpbml0OmZ1bmN0aW9uKGUsdCxuLHIsaSxvKXt0aGlzLmVsZW09ZSx0aGlzLnByb3A9bix0aGlzLmVhc2luZz1pfHxrLmVhc2luZy5fZGVmYXVsdCx0aGlzLm9wdGlvbnM9dCx0aGlzLnN0YXJ0PXRoaXMubm93PXRoaXMuY3VyKCksdGhpcy5lbmQ9cix0aGlzLnVuaXQ9b3x8KGsuY3NzTnVtYmVyW25dPyIiOiJweCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgZT1udC5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gZSYmZS5nZXQ/ZS5nZXQodGhpcyk6bnQucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKX0scnVuOmZ1bmN0aW9uKGUpe3ZhciB0LG49bnQucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMub3B0aW9ucy5kdXJhdGlvbj90aGlzLnBvcz10PWsuZWFzaW5nW3RoaXMuZWFzaW5nXShlLHRoaXMub3B0aW9ucy5kdXJhdGlvbiplLDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pOnRoaXMucG9zPXQ9ZSx0aGlzLm5vdz0odGhpcy5lbmQtdGhpcy5zdGFydCkqdCt0aGlzLnN0YXJ0LHRoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSxuJiZuLnNldD9uLnNldCh0aGlzKTpudC5wcm9wSG9va3MuX2RlZmF1bHQuc2V0KHRoaXMpLHRoaXN9fSkuaW5pdC5wcm90b3R5cGU9bnQucHJvdG90eXBlLChudC5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIDEhPT1lLmVsZW0ubm9kZVR5cGV8fG51bGwhPWUuZWxlbVtlLnByb3BdJiZudWxsPT1lLmVsZW0uc3R5bGVbZS5wcm9wXT9lLmVsZW1bZS5wcm9wXToodD1rLmNzcyhlLmVsZW0sZS5wcm9wLCIiKSkmJiJhdXRvIiE9PXQ/dDowfSxzZXQ6ZnVuY3Rpb24oZSl7ay5meC5zdGVwW2UucHJvcF0/ay5meC5zdGVwW2UucHJvcF0oZSk6MSE9PWUuZWxlbS5ub2RlVHlwZXx8IWsuY3NzSG9va3NbZS5wcm9wXSYmbnVsbD09ZS5lbGVtLnN0eWxlW0dlKGUucHJvcCldP2UuZWxlbVtlLnByb3BdPWUubm93Omsuc3R5bGUoZS5lbGVtLGUucHJvcCxlLm5vdytlLnVuaXQpfX19KS5zY3JvbGxUb3A9bnQucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihlKXtlLmVsZW0ubm9kZVR5cGUmJmUuZWxlbS5wYXJlbnROb2RlJiYoZS5lbGVtW2UucHJvcF09ZS5ub3cpfX0say5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihlKXtyZXR1cm4gZX0sc3dpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuLjUtTWF0aC5jb3MoZSpNYXRoLlBJKS8yfSxfZGVmYXVsdDoic3dpbmcifSxrLmZ4PW50LnByb3RvdHlwZS5pbml0LGsuZnguc3RlcD17fTt2YXIgcnQsaXQsb3QsYXQsc3Q9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLHV0PS9xdWV1ZUhvb2tzJC87ZnVuY3Rpb24gbHQoKXtpdCYmKCExPT09RS5oaWRkZW4mJkMucmVxdWVzdEFuaW1hdGlvbkZyYW1lP0MucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGx0KTpDLnNldFRpbWVvdXQobHQsay5meC5pbnRlcnZhbCksay5meC50aWNrKCkpfWZ1bmN0aW9uIGN0KCl7cmV0dXJuIEMuc2V0VGltZW91dChmdW5jdGlvbigpe3J0PXZvaWQgMH0pLHJ0PURhdGUubm93KCl9ZnVuY3Rpb24gZnQoZSx0KXt2YXIgbixyPTAsaT17aGVpZ2h0OmV9O2Zvcih0PXQ/MTowO3I8NDtyKz0yLXQpaVsibWFyZ2luIisobj1yZVtyXSldPWlbInBhZGRpbmciK25dPWU7cmV0dXJuIHQmJihpLm9wYWNpdHk9aS53aWR0aD1lKSxpfWZ1bmN0aW9uIHB0KGUsdCxuKXtmb3IodmFyIHIsaT0oZHQudHdlZW5lcnNbdF18fFtdKS5jb25jYXQoZHQudHdlZW5lcnNbIioiXSksbz0wLGE9aS5sZW5ndGg7bzxhO28rKylpZihyPWlbb10uY2FsbChuLHQsZSkpcmV0dXJuIHJ9ZnVuY3Rpb24gZHQobyxlLHQpe3ZhciBuLGEscj0wLGk9ZHQucHJlZmlsdGVycy5sZW5ndGgscz1rLkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRlIHUuZWxlbX0pLHU9ZnVuY3Rpb24oKXtpZihhKXJldHVybiExO2Zvcih2YXIgZT1ydHx8Y3QoKSx0PU1hdGgubWF4KDAsbC5zdGFydFRpbWUrbC5kdXJhdGlvbi1lKSxuPTEtKHQvbC5kdXJhdGlvbnx8MCkscj0wLGk9bC50d2VlbnMubGVuZ3RoO3I8aTtyKyspbC50d2VlbnNbcl0ucnVuKG4pO3JldHVybiBzLm5vdGlmeVdpdGgobyxbbCxuLHRdKSxuPDEmJmk/dDooaXx8cy5ub3RpZnlXaXRoKG8sW2wsMSwwXSkscy5yZXNvbHZlV2l0aChvLFtsXSksITEpfSxsPXMucHJvbWlzZSh7ZWxlbTpvLHByb3BzOmsuZXh0ZW5kKHt9LGUpLG9wdHM6ay5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e30sZWFzaW5nOmsuZWFzaW5nLl9kZWZhdWx0fSx0KSxvcmlnaW5hbFByb3BlcnRpZXM6ZSxvcmlnaW5hbE9wdGlvbnM6dCxzdGFydFRpbWU6cnR8fGN0KCksZHVyYXRpb246dC5kdXJhdGlvbix0d2VlbnM6W10sY3JlYXRlVHdlZW46ZnVuY3Rpb24oZSx0KXt2YXIgbj1rLlR3ZWVuKG8sbC5vcHRzLGUsdCxsLm9wdHMuc3BlY2lhbEVhc2luZ1tlXXx8bC5vcHRzLmVhc2luZyk7cmV0dXJuIGwudHdlZW5zLnB1c2gobiksbn0sc3RvcDpmdW5jdGlvbihlKXt2YXIgdD0wLG49ZT9sLnR3ZWVucy5sZW5ndGg6MDtpZihhKXJldHVybiB0aGlzO2ZvcihhPSEwO3Q8bjt0KyspbC50d2VlbnNbdF0ucnVuKDEpO3JldHVybiBlPyhzLm5vdGlmeVdpdGgobyxbbCwxLDBdKSxzLnJlc29sdmVXaXRoKG8sW2wsZV0pKTpzLnJlamVjdFdpdGgobyxbbCxlXSksdGhpc319KSxjPWwucHJvcHM7Zm9yKCFmdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvLGE7Zm9yKG4gaW4gZSlpZihpPXRbcj1WKG4pXSxvPWVbbl0sQXJyYXkuaXNBcnJheShvKSYmKGk9b1sxXSxvPWVbbl09b1swXSksbiE9PXImJihlW3JdPW8sZGVsZXRlIGVbbl0pLChhPWsuY3NzSG9va3Nbcl0pJiYiZXhwYW5kImluIGEpZm9yKG4gaW4gbz1hLmV4cGFuZChvKSxkZWxldGUgZVtyXSxvKW4gaW4gZXx8KGVbbl09b1tuXSx0W25dPWkpO2Vsc2UgdFtyXT1pfShjLGwub3B0cy5zcGVjaWFsRWFzaW5nKTtyPGk7cisrKWlmKG49ZHQucHJlZmlsdGVyc1tyXS5jYWxsKGwsbyxjLGwub3B0cykpcmV0dXJuIG0obi5zdG9wKSYmKGsuX3F1ZXVlSG9va3MobC5lbGVtLGwub3B0cy5xdWV1ZSkuc3RvcD1uLnN0b3AuYmluZChuKSksbjtyZXR1cm4gay5tYXAoYyxwdCxsKSxtKGwub3B0cy5zdGFydCkmJmwub3B0cy5zdGFydC5jYWxsKG8sbCksbC5wcm9ncmVzcyhsLm9wdHMucHJvZ3Jlc3MpLmRvbmUobC5vcHRzLmRvbmUsbC5vcHRzLmNvbXBsZXRlKS5mYWlsKGwub3B0cy5mYWlsKS5hbHdheXMobC5vcHRzLmFsd2F5cyksay5meC50aW1lcihrLmV4dGVuZCh1LHtlbGVtOm8sYW5pbTpsLHF1ZXVlOmwub3B0cy5xdWV1ZX0pKSxsfWsuQW5pbWF0aW9uPWsuZXh0ZW5kKGR0LHt0d2VlbmVyczp7IioiOltmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuY3JlYXRlVHdlZW4oZSx0KTtyZXR1cm4gbGUobi5lbGVtLGUsbmUuZXhlYyh0KSxuKSxufV19LHR3ZWVuZXI6ZnVuY3Rpb24oZSx0KXttKGUpPyh0PWUsZT1bIioiXSk6ZT1lLm1hdGNoKFIpO2Zvcih2YXIgbixyPTAsaT1lLmxlbmd0aDtyPGk7cisrKW49ZVtyXSxkdC50d2VlbmVyc1tuXT1kdC50d2VlbmVyc1tuXXx8W10sZHQudHdlZW5lcnNbbl0udW5zaGlmdCh0KX0scHJlZmlsdGVyczpbZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdSxsLGMsZj0id2lkdGgiaW4gdHx8ImhlaWdodCJpbiB0LHA9dGhpcyxkPXt9LGg9ZS5zdHlsZSxnPWUubm9kZVR5cGUmJnNlKGUpLHY9US5nZXQoZSwiZnhzaG93Iik7Zm9yKHIgaW4gbi5xdWV1ZXx8KG51bGw9PShhPWsuX3F1ZXVlSG9va3MoZSwiZngiKSkudW5xdWV1ZWQmJihhLnVucXVldWVkPTAscz1hLmVtcHR5LmZpcmUsYS5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7YS51bnF1ZXVlZHx8cygpfSksYS51bnF1ZXVlZCsrLHAuYWx3YXlzKGZ1bmN0aW9uKCl7cC5hbHdheXMoZnVuY3Rpb24oKXthLnVucXVldWVkLS0say5xdWV1ZShlLCJmeCIpLmxlbmd0aHx8YS5lbXB0eS5maXJlKCl9KX0pKSx0KWlmKGk9dFtyXSxzdC50ZXN0KGkpKXtpZihkZWxldGUgdFtyXSxvPW98fCJ0b2dnbGUiPT09aSxpPT09KGc/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWl8fCF2fHx2b2lkIDA9PT12W3JdKWNvbnRpbnVlO2c9ITB9ZFtyXT12JiZ2W3JdfHxrLnN0eWxlKGUscil9aWYoKHU9IWsuaXNFbXB0eU9iamVjdCh0KSl8fCFrLmlzRW1wdHlPYmplY3QoZCkpZm9yKHIgaW4gZiYmMT09PWUubm9kZVR5cGUmJihuLm92ZXJmbG93PVtoLm92ZXJmbG93LGgub3ZlcmZsb3dYLGgub3ZlcmZsb3dZXSxudWxsPT0obD12JiZ2LmRpc3BsYXkpJiYobD1RLmdldChlLCJkaXNwbGF5IikpLCJub25lIj09PShjPWsuY3NzKGUsImRpc3BsYXkiKSkmJihsP2M9bDooZmUoW2VdLCEwKSxsPWUuc3R5bGUuZGlzcGxheXx8bCxjPWsuY3NzKGUsImRpc3BsYXkiKSxmZShbZV0pKSksKCJpbmxpbmUiPT09Y3x8ImlubGluZS1ibG9jayI9PT1jJiZudWxsIT1sKSYmIm5vbmUiPT09ay5jc3MoZSwiZmxvYXQiKSYmKHV8fChwLmRvbmUoZnVuY3Rpb24oKXtoLmRpc3BsYXk9bH0pLG51bGw9PWwmJihjPWguZGlzcGxheSxsPSJub25lIj09PWM/IiI6YykpLGguZGlzcGxheT0iaW5saW5lLWJsb2NrIikpLG4ub3ZlcmZsb3cmJihoLm92ZXJmbG93PSJoaWRkZW4iLHAuYWx3YXlzKGZ1bmN0aW9uKCl7aC5vdmVyZmxvdz1uLm92ZXJmbG93WzBdLGgub3ZlcmZsb3dYPW4ub3ZlcmZsb3dbMV0saC5vdmVyZmxvd1k9bi5vdmVyZmxvd1syXX0pKSx1PSExLGQpdXx8KHY/ImhpZGRlbiJpbiB2JiYoZz12LmhpZGRlbik6dj1RLmFjY2VzcyhlLCJmeHNob3ciLHtkaXNwbGF5Omx9KSxvJiYodi5oaWRkZW49IWcpLGcmJmZlKFtlXSwhMCkscC5kb25lKGZ1bmN0aW9uKCl7Zm9yKHIgaW4gZ3x8ZmUoW2VdKSxRLnJlbW92ZShlLCJmeHNob3ciKSxkKWsuc3R5bGUoZSxyLGRbcl0pfSkpLHU9cHQoZz92W3JdOjAscixwKSxyIGluIHZ8fCh2W3JdPXUuc3RhcnQsZyYmKHUuZW5kPXUuc3RhcnQsdS5zdGFydD0wKSl9XSxwcmVmaWx0ZXI6ZnVuY3Rpb24oZSx0KXt0P2R0LnByZWZpbHRlcnMudW5zaGlmdChlKTpkdC5wcmVmaWx0ZXJzLnB1c2goZSl9fSksay5zcGVlZD1mdW5jdGlvbihlLHQsbil7dmFyIHI9ZSYmIm9iamVjdCI9PXR5cGVvZiBlP2suZXh0ZW5kKHt9LGUpOntjb21wbGV0ZTpufHwhbiYmdHx8bShlKSYmZSxkdXJhdGlvbjplLGVhc2luZzpuJiZ0fHx0JiYhbSh0KSYmdH07cmV0dXJuIGsuZngub2ZmP3IuZHVyYXRpb249MDoibnVtYmVyIiE9dHlwZW9mIHIuZHVyYXRpb24mJihyLmR1cmF0aW9uIGluIGsuZnguc3BlZWRzP3IuZHVyYXRpb249ay5meC5zcGVlZHNbci5kdXJhdGlvbl06ci5kdXJhdGlvbj1rLmZ4LnNwZWVkcy5fZGVmYXVsdCksbnVsbCE9ci5xdWV1ZSYmITAhPT1yLnF1ZXVlfHwoci5xdWV1ZT0iZngiKSxyLm9sZD1yLmNvbXBsZXRlLHIuY29tcGxldGU9ZnVuY3Rpb24oKXttKHIub2xkKSYmci5vbGQuY2FsbCh0aGlzKSxyLnF1ZXVlJiZrLmRlcXVldWUodGhpcyxyLnF1ZXVlKX0scn0say5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5maWx0ZXIoc2UpLmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6dH0sZSxuLHIpfSxhbmltYXRlOmZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBpPWsuaXNFbXB0eU9iamVjdCh0KSxvPWsuc3BlZWQoZSxuLHIpLGE9ZnVuY3Rpb24oKXt2YXIgZT1kdCh0aGlzLGsuZXh0ZW5kKHt9LHQpLG8pOyhpfHxRLmdldCh0aGlzLCJmaW5pc2giKSkmJmUuc3RvcCghMCl9O3JldHVybiBhLmZpbmlzaD1hLGl8fCExPT09by5xdWV1ZT90aGlzLmVhY2goYSk6dGhpcy5xdWV1ZShvLnF1ZXVlLGEpfSxzdG9wOmZ1bmN0aW9uKGksZSxvKXt2YXIgYT1mdW5jdGlvbihlKXt2YXIgdD1lLnN0b3A7ZGVsZXRlIGUuc3RvcCx0KG8pfTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGkmJihvPWUsZT1pLGk9dm9pZCAwKSxlJiYhMSE9PWkmJnRoaXMucXVldWUoaXx8ImZ4IixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9ITAsdD1udWxsIT1pJiZpKyJxdWV1ZUhvb2tzIixuPWsudGltZXJzLHI9US5nZXQodGhpcyk7aWYodClyW3RdJiZyW3RdLnN0b3AmJmEoclt0XSk7ZWxzZSBmb3IodCBpbiByKXJbdF0mJnJbdF0uc3RvcCYmdXQudGVzdCh0KSYmYShyW3RdKTtmb3IodD1uLmxlbmd0aDt0LS07KW5bdF0uZWxlbSE9PXRoaXN8fG51bGwhPWkmJm5bdF0ucXVldWUhPT1pfHwoblt0XS5hbmltLnN0b3AobyksZT0hMSxuLnNwbGljZSh0LDEpKTshZSYmb3x8ay5kZXF1ZXVlKHRoaXMsaSl9KX0sZmluaXNoOmZ1bmN0aW9uKGEpe3JldHVybiExIT09YSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGUsdD1RLmdldCh0aGlzKSxuPXRbYSsicXVldWUiXSxyPXRbYSsicXVldWVIb29rcyJdLGk9ay50aW1lcnMsbz1uP24ubGVuZ3RoOjA7Zm9yKHQuZmluaXNoPSEwLGsucXVldWUodGhpcyxhLFtdKSxyJiZyLnN0b3AmJnIuc3RvcC5jYWxsKHRoaXMsITApLGU9aS5sZW5ndGg7ZS0tOylpW2VdLmVsZW09PT10aGlzJiZpW2VdLnF1ZXVlPT09YSYmKGlbZV0uYW5pbS5zdG9wKCEwKSxpLnNwbGljZShlLDEpKTtmb3IoZT0wO2U8bztlKyspbltlXSYmbltlXS5maW5pc2gmJm5bZV0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIHQuZmluaXNofSl9fSksay5lYWNoKFsidG9nZ2xlIiwic2hvdyIsImhpZGUiXSxmdW5jdGlvbihlLHIpe3ZhciBpPWsuZm5bcl07ay5mbltyXT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PWV8fCJib29sZWFuIj09dHlwZW9mIGU/aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hbmltYXRlKGZ0KHIsITApLGUsdCxuKX19KSxrLmVhY2goe3NsaWRlRG93bjpmdCgic2hvdyIpLHNsaWRlVXA6ZnQoImhpZGUiKSxzbGlkZVRvZ2dsZTpmdCgidG9nZ2xlIiksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihlLHIpe2suZm5bZV09ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLmFuaW1hdGUocixlLHQsbil9fSksay50aW1lcnM9W10say5meC50aWNrPWZ1bmN0aW9uKCl7dmFyIGUsdD0wLG49ay50aW1lcnM7Zm9yKHJ0PURhdGUubm93KCk7dDxuLmxlbmd0aDt0KyspKGU9blt0XSkoKXx8blt0XSE9PWV8fG4uc3BsaWNlKHQtLSwxKTtuLmxlbmd0aHx8ay5meC5zdG9wKCkscnQ9dm9pZCAwfSxrLmZ4LnRpbWVyPWZ1bmN0aW9uKGUpe2sudGltZXJzLnB1c2goZSksay5meC5zdGFydCgpfSxrLmZ4LmludGVydmFsPTEzLGsuZnguc3RhcnQ9ZnVuY3Rpb24oKXtpdHx8KGl0PSEwLGx0KCkpfSxrLmZ4LnN0b3A9ZnVuY3Rpb24oKXtpdD1udWxsfSxrLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxrLmZuLmRlbGF5PWZ1bmN0aW9uKHIsZSl7cmV0dXJuIHI9ay5meCYmay5meC5zcGVlZHNbcl18fHIsZT1lfHwiZngiLHRoaXMucXVldWUoZSxmdW5jdGlvbihlLHQpe3ZhciBuPUMuc2V0VGltZW91dChlLHIpO3Quc3RvcD1mdW5jdGlvbigpe0MuY2xlYXJUaW1lb3V0KG4pfX0pfSxvdD1FLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksYXQ9RS5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKS5hcHBlbmRDaGlsZChFLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKSxvdC50eXBlPSJjaGVja2JveCIseS5jaGVja09uPSIiIT09b3QudmFsdWUseS5vcHRTZWxlY3RlZD1hdC5zZWxlY3RlZCwob3Q9RS5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS52YWx1ZT0idCIsb3QudHlwZT0icmFkaW8iLHkucmFkaW9WYWx1ZT0idCI9PT1vdC52YWx1ZTt2YXIgaHQsZ3Q9ay5leHByLmF0dHJIYW5kbGU7ay5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gXyh0aGlzLGsuYXR0cixlLHQsMTxhcmd1bWVudHMubGVuZ3RoKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ay5yZW1vdmVBdHRyKHRoaXMsZSl9KX19KSxrLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGUuZ2V0QXR0cmlidXRlP2sucHJvcChlLHQsbik6KDE9PT1vJiZrLmlzWE1MRG9jKGUpfHwoaT1rLmF0dHJIb29rc1t0LnRvTG93ZXJDYXNlKCldfHwoay5leHByLm1hdGNoLmJvb2wudGVzdCh0KT9odDp2b2lkIDApKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgay5yZW1vdmVBdHRyKGUsdCk6aSYmInNldCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6KGUuc2V0QXR0cmlidXRlKHQsbisiIiksbik6aSYmImdldCJpbiBpJiZudWxsIT09KHI9aS5nZXQoZSx0KSk/cjpudWxsPT0ocj1rLmZpbmQuYXR0cihlLHQpKT92b2lkIDA6cil9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGUsdCl7aWYoIXkucmFkaW9WYWx1ZSYmInJhZGlvIj09PXQmJkEoZSwiaW5wdXQiKSl7dmFyIG49ZS52YWx1ZTtyZXR1cm4gZS5zZXRBdHRyaWJ1dGUoInR5cGUiLHQpLG4mJihlLnZhbHVlPW4pLHR9fX19LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10JiZ0Lm1hdGNoKFIpO2lmKGkmJjE9PT1lLm5vZGVUeXBlKXdoaWxlKG49aVtyKytdKWUucmVtb3ZlQXR0cmlidXRlKG4pfX0pLGh0PXtzZXQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiExPT09dD9rLnJlbW92ZUF0dHIoZSxuKTplLnNldEF0dHJpYnV0ZShuLG4pLG59fSxrLmVhY2goay5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cdysvZyksZnVuY3Rpb24oZSx0KXt2YXIgYT1ndFt0XXx8ay5maW5kLmF0dHI7Z3RbdF09ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz10LnRvTG93ZXJDYXNlKCk7cmV0dXJuIG58fChpPWd0W29dLGd0W29dPXIscj1udWxsIT1hKGUsdCxuKT9vOm51bGwsZ3Rbb109aSkscn19KTt2YXIgdnQ9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSx5dD0vXig/OmF8YXJlYSkkL2k7ZnVuY3Rpb24gbXQoZSl7cmV0dXJuKGUubWF0Y2goUil8fFtdKS5qb2luKCIgIil9ZnVuY3Rpb24geHQoZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9ZnVuY3Rpb24gYnQoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZToic3RyaW5nIj09dHlwZW9mIGUmJmUubWF0Y2goUil8fFtdfWsuZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIF8odGhpcyxrLnByb3AsZSx0LDE8YXJndW1lbnRzLmxlbmd0aCl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2RlbGV0ZSB0aGlzW2sucHJvcEZpeFtlXXx8ZV19KX19KSxrLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4gMT09PW8mJmsuaXNYTUxEb2MoZSl8fCh0PWsucHJvcEZpeFt0XXx8dCxpPWsucHJvcEhvb2tzW3RdKSx2b2lkIDAhPT1uP2kmJiJzZXQiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOmVbdF09bjppJiYiZ2V0ImluIGkmJm51bGwhPT0ocj1pLmdldChlLHQpKT9yOmVbdF19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihlKXt2YXIgdD1rLmZpbmQuYXR0cihlLCJ0YWJpbmRleCIpO3JldHVybiB0P3BhcnNlSW50KHQsMTApOnZ0LnRlc3QoZS5ub2RlTmFtZSl8fHl0LnRlc3QoZS5ub2RlTmFtZSkmJmUuaHJlZj8wOi0xfX19LHByb3BGaXg6eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUifX0pLHkub3B0U2VsZWN0ZWR8fChrLnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxudWxsfSxzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3QmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCl9fSksay5lYWNoKFsidGFiSW5kZXgiLCJyZWFkT25seSIsIm1heExlbmd0aCIsImNlbGxTcGFjaW5nIiwiY2VsbFBhZGRpbmciLCJyb3dTcGFuIiwiY29sU3BhbiIsInVzZU1hcCIsImZyYW1lQm9yZGVyIiwiY29udGVudEVkaXRhYmxlIl0sZnVuY3Rpb24oKXtrLnByb3BGaXhbdGhpcy50b0xvd2VyQ2FzZSgpXT10aGlzfSksay5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKHQpe3ZhciBlLG4scixpLG8sYSxzLHU9MDtpZihtKHQpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7ayh0aGlzKS5hZGRDbGFzcyh0LmNhbGwodGhpcyxlLHh0KHRoaXMpKSl9KTtpZigoZT1idCh0KSkubGVuZ3RoKXdoaWxlKG49dGhpc1t1KytdKWlmKGk9eHQobikscj0xPT09bi5ub2RlVHlwZSYmIiAiK210KGkpKyIgIil7YT0wO3doaWxlKG89ZVthKytdKXIuaW5kZXhPZigiICIrbysiICIpPDAmJihyKz1vKyIgIik7aSE9PShzPW10KHIpKSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixzKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCl7dmFyIGUsbixyLGksbyxhLHMsdT0wO2lmKG0odCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtrKHRoaXMpLnJlbW92ZUNsYXNzKHQuY2FsbCh0aGlzLGUseHQodGhpcykpKX0pO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLmF0dHIoImNsYXNzIiwiIik7aWYoKGU9YnQodCkpLmxlbmd0aCl3aGlsZShuPXRoaXNbdSsrXSlpZihpPXh0KG4pLHI9MT09PW4ubm9kZVR5cGUmJiIgIittdChpKSsiICIpe2E9MDt3aGlsZShvPWVbYSsrXSl3aGlsZSgtMTxyLmluZGV4T2YoIiAiK28rIiAiKSlyPXIucmVwbGFjZSgiICIrbysiICIsIiAiKTtpIT09KHM9bXQocikpJiZuLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHMpfXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihpLHQpe3ZhciBvPXR5cGVvZiBpLGE9InN0cmluZyI9PT1vfHxBcnJheS5pc0FycmF5KGkpO3JldHVybiJib29sZWFuIj09dHlwZW9mIHQmJmE/dD90aGlzLmFkZENsYXNzKGkpOnRoaXMucmVtb3ZlQ2xhc3MoaSk6bShpKT90aGlzLmVhY2goZnVuY3Rpb24oZSl7ayh0aGlzKS50b2dnbGVDbGFzcyhpLmNhbGwodGhpcyxlLHh0KHRoaXMpLHQpLHQpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGUsdCxuLHI7aWYoYSl7dD0wLG49ayh0aGlzKSxyPWJ0KGkpO3doaWxlKGU9clt0KytdKW4uaGFzQ2xhc3MoZSk/bi5yZW1vdmVDbGFzcyhlKTpuLmFkZENsYXNzKGUpfWVsc2Ugdm9pZCAwIT09aSYmImJvb2xlYW4iIT09b3x8KChlPXh0KHRoaXMpKSYmUS5zZXQodGhpcywiX19jbGFzc05hbWVfXyIsZSksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKCJjbGFzcyIsZXx8ITE9PT1pPyIiOlEuZ2V0KHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpKX0pfSxoYXNDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLHI9MDt0PSIgIitlKyIgIjt3aGlsZShuPXRoaXNbcisrXSlpZigxPT09bi5ub2RlVHlwZSYmLTE8KCIgIittdCh4dChuKSkrIiAiKS5pbmRleE9mKHQpKXJldHVybiEwO3JldHVybiExfX0pO3ZhciB3dD0vXHIvZztrLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKG4pe3ZhciByLGUsaSx0PXRoaXNbMF07cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bShuKSx0aGlzLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ7MT09PXRoaXMubm9kZVR5cGUmJihudWxsPT0odD1pP24uY2FsbCh0aGlzLGUsayh0aGlzKS52YWwoKSk6bik/dD0iIjoibnVtYmVyIj09dHlwZW9mIHQ/dCs9IiI6QXJyYXkuaXNBcnJheSh0KSYmKHQ9ay5tYXAodCxmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjplKyIifSkpLChyPWsudmFsSG9va3NbdGhpcy50eXBlXXx8ay52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmInNldCJpbiByJiZ2b2lkIDAhPT1yLnNldCh0aGlzLHQsInZhbHVlIil8fCh0aGlzLnZhbHVlPXQpKX0pKTp0PyhyPWsudmFsSG9va3NbdC50eXBlXXx8ay52YWxIb29rc1t0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmImdldCJpbiByJiZ2b2lkIDAhPT0oZT1yLmdldCh0LCJ2YWx1ZSIpKT9lOiJzdHJpbmciPT10eXBlb2YoZT10LnZhbHVlKT9lLnJlcGxhY2Uod3QsIiIpOm51bGw9PWU/IiI6ZTp2b2lkIDB9fSksay5leHRlbmQoe3ZhbEhvb2tzOntvcHRpb246e2dldDpmdW5jdGlvbihlKXt2YXIgdD1rLmZpbmQuYXR0cihlLCJ2YWx1ZSIpO3JldHVybiBudWxsIT10P3Q6bXQoay50ZXh0KGUpKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPWUub3B0aW9ucyxvPWUuc2VsZWN0ZWRJbmRleCxhPSJzZWxlY3Qtb25lIj09PWUudHlwZSxzPWE/bnVsbDpbXSx1PWE/bysxOmkubGVuZ3RoO2ZvcihyPW88MD91OmE/bzowO3I8dTtyKyspaWYoKChuPWlbcl0pLnNlbGVjdGVkfHxyPT09bykmJiFuLmRpc2FibGVkJiYoIW4ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IUEobi5wYXJlbnROb2RlLCJvcHRncm91cCIpKSl7aWYodD1rKG4pLnZhbCgpLGEpcmV0dXJuIHQ7cy5wdXNoKHQpfXJldHVybiBzfSxzZXQ6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGk9ZS5vcHRpb25zLG89ay5tYWtlQXJyYXkodCksYT1pLmxlbmd0aDt3aGlsZShhLS0pKChyPWlbYV0pLnNlbGVjdGVkPS0xPGsuaW5BcnJheShrLnZhbEhvb2tzLm9wdGlvbi5nZXQociksbykpJiYobj0hMCk7cmV0dXJuIG58fChlLnNlbGVjdGVkSW5kZXg9LTEpLG99fX19KSxrLmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtrLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBlLmNoZWNrZWQ9LTE8ay5pbkFycmF5KGsoZSkudmFsKCksdCl9fSx5LmNoZWNrT258fChrLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6ZS52YWx1ZX0pfSkseS5mb2N1c2luPSJvbmZvY3VzaW4iaW4gQzt2YXIgVHQ9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvLEN0PWZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9O2suZXh0ZW5kKGsuZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHMsdSxsLGMsZixwPVtufHxFXSxkPXYuY2FsbChlLCJ0eXBlIik/ZS50eXBlOmUsaD12LmNhbGwoZSwibmFtZXNwYWNlIik/ZS5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihvPWY9YT1uPW58fEUsMyE9PW4ubm9kZVR5cGUmJjghPT1uLm5vZGVUeXBlJiYhVHQudGVzdChkK2suZXZlbnQudHJpZ2dlcmVkKSYmKC0xPGQuaW5kZXhPZigiLiIpJiYoZD0oaD1kLnNwbGl0KCIuIikpLnNoaWZ0KCksaC5zb3J0KCkpLHU9ZC5pbmRleE9mKCI6Iik8MCYmIm9uIitkLChlPWVbay5leHBhbmRvXT9lOm5ldyBrLkV2ZW50KGQsIm9iamVjdCI9PXR5cGVvZiBlJiZlKSkuaXNUcmlnZ2VyPXI/MjozLGUubmFtZXNwYWNlPWguam9pbigiLiIpLGUucm5hbWVzcGFjZT1lLm5hbWVzcGFjZT9uZXcgUmVnRXhwKCIoXnxcXC4pIitoLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpOm51bGwsZS5yZXN1bHQ9dm9pZCAwLGUudGFyZ2V0fHwoZS50YXJnZXQ9biksdD1udWxsPT10P1tlXTprLm1ha2VBcnJheSh0LFtlXSksYz1rLmV2ZW50LnNwZWNpYWxbZF18fHt9LHJ8fCFjLnRyaWdnZXJ8fCExIT09Yy50cmlnZ2VyLmFwcGx5KG4sdCkpKXtpZighciYmIWMubm9CdWJibGUmJiF4KG4pKXtmb3Iocz1jLmRlbGVnYXRlVHlwZXx8ZCxUdC50ZXN0KHMrZCl8fChvPW8ucGFyZW50Tm9kZSk7bztvPW8ucGFyZW50Tm9kZSlwLnB1c2gobyksYT1vO2E9PT0obi5vd25lckRvY3VtZW50fHxFKSYmcC5wdXNoKGEuZGVmYXVsdFZpZXd8fGEucGFyZW50V2luZG93fHxDKX1pPTA7d2hpbGUoKG89cFtpKytdKSYmIWUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlmPW8sZS50eXBlPTE8aT9zOmMuYmluZFR5cGV8fGQsKGw9KFEuZ2V0KG8sImV2ZW50cyIpfHx7fSlbZS50eXBlXSYmUS5nZXQobywiaGFuZGxlIikpJiZsLmFwcGx5KG8sdCksKGw9dSYmb1t1XSkmJmwuYXBwbHkmJkcobykmJihlLnJlc3VsdD1sLmFwcGx5KG8sdCksITE9PT1lLnJlc3VsdCYmZS5wcmV2ZW50RGVmYXVsdCgpKTtyZXR1cm4gZS50eXBlPWQscnx8ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8Yy5fZGVmYXVsdCYmITEhPT1jLl9kZWZhdWx0LmFwcGx5KHAucG9wKCksdCl8fCFHKG4pfHx1JiZtKG5bZF0pJiYheChuKSYmKChhPW5bdV0pJiYoblt1XT1udWxsKSxrLmV2ZW50LnRyaWdnZXJlZD1kLGUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmZi5hZGRFdmVudExpc3RlbmVyKGQsQ3QpLG5bZF0oKSxlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkmJmYucmVtb3ZlRXZlbnRMaXN0ZW5lcihkLEN0KSxrLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsYSYmKG5bdV09YSkpLGUucmVzdWx0fX0sc2ltdWxhdGU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWsuZXh0ZW5kKG5ldyBrLkV2ZW50LG4se3R5cGU6ZSxpc1NpbXVsYXRlZDohMH0pO2suZXZlbnQudHJpZ2dlcihyLG51bGwsdCl9fSksay5mbi5leHRlbmQoe3RyaWdnZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ay5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXNbMF07aWYobilyZXR1cm4gay5ldmVudC50cmlnZ2VyKGUsdCxuLCEwKX19KSx5LmZvY3VzaW58fGsuZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVuY3Rpb24obixyKXt2YXIgaT1mdW5jdGlvbihlKXtrLmV2ZW50LnNpbXVsYXRlKHIsZS50YXJnZXQsay5ldmVudC5maXgoZSkpfTtrLmV2ZW50LnNwZWNpYWxbcl09e3NldHVwOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLHQ9US5hY2Nlc3MoZSxyKTt0fHxlLmFkZEV2ZW50TGlzdGVuZXIobixpLCEwKSxRLmFjY2VzcyhlLHIsKHR8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyx0PVEuYWNjZXNzKGUsciktMTt0P1EuYWNjZXNzKGUscix0KTooZS5yZW1vdmVFdmVudExpc3RlbmVyKG4saSwhMCksUS5yZW1vdmUoZSxyKSl9fX0pO3ZhciBFdD1DLmxvY2F0aW9uLGt0PURhdGUubm93KCksU3Q9L1w/LztrLnBhcnNlWE1MPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIG51bGw7dHJ5e3Q9KG5ldyBDLkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsInRleHQveG1sIil9Y2F0Y2goZSl7dD12b2lkIDB9cmV0dXJuIHQmJiF0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8ay5lcnJvcigiSW52YWxpZCBYTUw6ICIrZSksdH07dmFyIE50PS9cW1xdJC8sQXQ9L1xyP1xuL2csRHQ9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLGp0PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBxdChuLGUscixpKXt2YXIgdDtpZihBcnJheS5pc0FycmF5KGUpKWsuZWFjaChlLGZ1bmN0aW9uKGUsdCl7cnx8TnQudGVzdChuKT9pKG4sdCk6cXQobisiWyIrKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9dD9lOiIiKSsiXSIsdCxyLGkpfSk7ZWxzZSBpZihyfHwib2JqZWN0IiE9PXcoZSkpaShuLGUpO2Vsc2UgZm9yKHQgaW4gZSlxdChuKyJbIit0KyJdIixlW3RdLHIsaSl9ay5wYXJhbT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9W10saT1mdW5jdGlvbihlLHQpe3ZhciBuPW0odCk/dCgpOnQ7cltyLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpKyI9IitlbmNvZGVVUklDb21wb25lbnQobnVsbD09bj8iIjpuKX07aWYobnVsbD09ZSlyZXR1cm4iIjtpZihBcnJheS5pc0FycmF5KGUpfHxlLmpxdWVyeSYmIWsuaXNQbGFpbk9iamVjdChlKSlrLmVhY2goZSxmdW5jdGlvbigpe2kodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IobiBpbiBlKXF0KG4sZVtuXSx0LGkpO3JldHVybiByLmpvaW4oIiYiKX0say5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBrLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9ay5wcm9wKHRoaXMsImVsZW1lbnRzIik7cmV0dXJuIGU/ay5tYWtlQXJyYXkoZSk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciBlPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYhayh0aGlzKS5pcygiOmRpc2FibGVkIikmJmp0LnRlc3QodGhpcy5ub2RlTmFtZSkmJiFEdC50ZXN0KGUpJiYodGhpcy5jaGVja2VkfHwhcGUudGVzdChlKSl9KS5tYXAoZnVuY3Rpb24oZSx0KXt2YXIgbj1rKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1uP251bGw6QXJyYXkuaXNBcnJheShuKT9rLm1hcChuLGZ1bmN0aW9uKGUpe3JldHVybntuYW1lOnQubmFtZSx2YWx1ZTplLnJlcGxhY2UoQXQsIlxyXG4iKX19KTp7bmFtZTp0Lm5hbWUsdmFsdWU6bi5yZXBsYWNlKEF0LCJcclxuIil9fSkuZ2V0KCl9fSk7dmFyIEx0PS8lMjAvZyxIdD0vIy4qJC8sT3Q9LyhbPyZdKV89W14mXSovLFB0PS9eKC4qPyk6WyBcdF0qKFteXHJcbl0qKSQvZ20sUnQ9L14oPzpHRVR8SEVBRCkkLyxNdD0vXlwvXC8vLEl0PXt9LFd0PXt9LCR0PSIqLyIuY29uY2F0KCIqIiksRnQ9RS5jcmVhdGVFbGVtZW50KCJhIik7ZnVuY3Rpb24gQnQobyl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7InN0cmluZyIhPXR5cGVvZiBlJiYodD1lLGU9IioiKTt2YXIgbixyPTAsaT1lLnRvTG93ZXJDYXNlKCkubWF0Y2goUil8fFtdO2lmKG0odCkpd2hpbGUobj1pW3IrK10pIisiPT09blswXT8obj1uLnNsaWNlKDEpfHwiKiIsKG9bbl09b1tuXXx8W10pLnVuc2hpZnQodCkpOihvW25dPW9bbl18fFtdKS5wdXNoKHQpfX1mdW5jdGlvbiBfdCh0LGksbyxhKXt2YXIgcz17fSx1PXQ9PT1XdDtmdW5jdGlvbiBsKGUpe3ZhciByO3JldHVybiBzW2VdPSEwLGsuZWFjaCh0W2VdfHxbXSxmdW5jdGlvbihlLHQpe3ZhciBuPXQoaSxvLGEpO3JldHVybiJzdHJpbmciIT10eXBlb2Ygbnx8dXx8c1tuXT91PyEocj1uKTp2b2lkIDA6KGkuZGF0YVR5cGVzLnVuc2hpZnQobiksbChuKSwhMSl9KSxyfXJldHVybiBsKGkuZGF0YVR5cGVzWzBdKXx8IXNbIioiXSYmbCgiKiIpfWZ1bmN0aW9uIHp0KGUsdCl7dmFyIG4scixpPWsuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zfHx7fTtmb3IobiBpbiB0KXZvaWQgMCE9PXRbbl0mJigoaVtuXT9lOnJ8fChyPXt9KSlbbl09dFtuXSk7cmV0dXJuIHImJmsuZXh0ZW5kKCEwLGUsciksZX1GdC5ocmVmPUV0LmhyZWYsay5leHRlbmQoe2FjdGl2ZTowLGxhc3RNb2RpZmllZDp7fSxldGFnOnt9LGFqYXhTZXR0aW5nczp7dXJsOkV0LmhyZWYsdHlwZToiR0VUIixpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLnRlc3QoRXQucHJvdG9jb2wpLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6JHQsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L1xieG1sXGIvLGh0bWw6L1xiaHRtbC8sanNvbjovXGJqc29uXGIvfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0Iixqc29uOiJyZXNwb25zZUpTT04ifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjpTdHJpbmcsInRleHQgaHRtbCI6ITAsInRleHQganNvbiI6SlNPTi5wYXJzZSwidGV4dCB4bWwiOmsucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0P3p0KHp0KGUsay5hamF4U2V0dGluZ3MpLHQpOnp0KGsuYWpheFNldHRpbmdzLGUpfSxhamF4UHJlZmlsdGVyOkJ0KEl0KSxhamF4VHJhbnNwb3J0OkJ0KFd0KSxhamF4OmZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBlJiYodD1lLGU9dm9pZCAwKSx0PXR8fHt9O3ZhciBjLGYscCxuLGQscixoLGcsaSxvLHY9ay5hamF4U2V0dXAoe30sdCkseT12LmNvbnRleHR8fHYsbT12LmNvbnRleHQmJih5Lm5vZGVUeXBlfHx5LmpxdWVyeSk/ayh5KTprLmV2ZW50LHg9ay5EZWZlcnJlZCgpLGI9ay5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksdz12LnN0YXR1c0NvZGV8fHt9LGE9e30scz17fSx1PSJjYW5jZWxlZCIsVD17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGgpe2lmKCFuKXtuPXt9O3doaWxlKHQ9UHQuZXhlYyhwKSluW3RbMV0udG9Mb3dlckNhc2UoKSsiICJdPShuW3RbMV0udG9Mb3dlckNhc2UoKSsiICJdfHxbXSkuY29uY2F0KHRbMl0pfXQ9bltlLnRvTG93ZXJDYXNlKCkrIiAiXX1yZXR1cm4gbnVsbD09dD9udWxsOnQuam9pbigiLCAiKX0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIGg/cDpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWgmJihlPXNbZS50b0xvd2VyQ2FzZSgpXT1zW2UudG9Mb3dlckNhc2UoKV18fGUsYVtlXT10KSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1oJiYodi5taW1lVHlwZT1lKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYoaClULmFsd2F5cyhlW1Quc3RhdHVzXSk7ZWxzZSBmb3IodCBpbiBlKXdbdF09W3dbdF0sZVt0XV07cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGUpe3ZhciB0PWV8fHU7cmV0dXJuIGMmJmMuYWJvcnQodCksbCgwLHQpLHRoaXN9fTtpZih4LnByb21pc2UoVCksdi51cmw9KChlfHx2LnVybHx8RXQuaHJlZikrIiIpLnJlcGxhY2UoTXQsRXQucHJvdG9jb2wrIi8vIiksdi50eXBlPXQubWV0aG9kfHx0LnR5cGV8fHYubWV0aG9kfHx2LnR5cGUsdi5kYXRhVHlwZXM9KHYuZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChSKXx8WyIiXSxudWxsPT12LmNyb3NzRG9tYWluKXtyPUUuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtyLmhyZWY9di51cmwsci5ocmVmPXIuaHJlZix2LmNyb3NzRG9tYWluPUZ0LnByb3RvY29sKyIvLyIrRnQuaG9zdCE9ci5wcm90b2NvbCsiLy8iK3IuaG9zdH1jYXRjaChlKXt2LmNyb3NzRG9tYWluPSEwfX1pZih2LmRhdGEmJnYucHJvY2Vzc0RhdGEmJiJzdHJpbmciIT10eXBlb2Ygdi5kYXRhJiYodi5kYXRhPWsucGFyYW0odi5kYXRhLHYudHJhZGl0aW9uYWwpKSxfdChJdCx2LHQsVCksaClyZXR1cm4gVDtmb3IoaSBpbihnPWsuZXZlbnQmJnYuZ2xvYmFsKSYmMD09ay5hY3RpdmUrKyYmay5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKSx2LnR5cGU9di50eXBlLnRvVXBwZXJDYXNlKCksdi5oYXNDb250ZW50PSFSdC50ZXN0KHYudHlwZSksZj12LnVybC5yZXBsYWNlKEh0LCIiKSx2Lmhhc0NvbnRlbnQ/di5kYXRhJiZ2LnByb2Nlc3NEYXRhJiYwPT09KHYuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmKHYuZGF0YT12LmRhdGEucmVwbGFjZShMdCwiKyIpKToobz12LnVybC5zbGljZShmLmxlbmd0aCksdi5kYXRhJiYodi5wcm9jZXNzRGF0YXx8InN0cmluZyI9PXR5cGVvZiB2LmRhdGEpJiYoZis9KFN0LnRlc3QoZik/IiYiOiI/Iikrdi5kYXRhLGRlbGV0ZSB2LmRhdGEpLCExPT09di5jYWNoZSYmKGY9Zi5yZXBsYWNlKE90LCIkMSIpLG89KFN0LnRlc3QoZik/IiYiOiI/IikrIl89IitrdCsrK28pLHYudXJsPWYrbyksdi5pZk1vZGlmaWVkJiYoay5sYXN0TW9kaWZpZWRbZl0mJlQuc2V0UmVxdWVzdEhlYWRlcigiSWYtTW9kaWZpZWQtU2luY2UiLGsubGFzdE1vZGlmaWVkW2ZdKSxrLmV0YWdbZl0mJlQuc2V0UmVxdWVzdEhlYWRlcigiSWYtTm9uZS1NYXRjaCIsay5ldGFnW2ZdKSksKHYuZGF0YSYmdi5oYXNDb250ZW50JiYhMSE9PXYuY29udGVudFR5cGV8fHQuY29udGVudFR5cGUpJiZULnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsdi5jb250ZW50VHlwZSksVC5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLHYuZGF0YVR5cGVzWzBdJiZ2LmFjY2VwdHNbdi5kYXRhVHlwZXNbMF1dP3YuYWNjZXB0c1t2LmRhdGFUeXBlc1swXV0rKCIqIiE9PXYuZGF0YVR5cGVzWzBdPyIsICIrJHQrIjsgcT0wLjAxIjoiIik6di5hY2NlcHRzWyIqIl0pLHYuaGVhZGVycylULnNldFJlcXVlc3RIZWFkZXIoaSx2LmhlYWRlcnNbaV0pO2lmKHYuYmVmb3JlU2VuZCYmKCExPT09di5iZWZvcmVTZW5kLmNhbGwoeSxULHYpfHxoKSlyZXR1cm4gVC5hYm9ydCgpO2lmKHU9ImFib3J0IixiLmFkZCh2LmNvbXBsZXRlKSxULmRvbmUodi5zdWNjZXNzKSxULmZhaWwodi5lcnJvciksYz1fdChXdCx2LHQsVCkpe2lmKFQucmVhZHlTdGF0ZT0xLGcmJm0udHJpZ2dlcigiYWpheFNlbmQiLFtULHZdKSxoKXJldHVybiBUO3YuYXN5bmMmJjA8di50aW1lb3V0JiYoZD1DLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtULmFib3J0KCJ0aW1lb3V0Iil9LHYudGltZW91dCkpO3RyeXtoPSExLGMuc2VuZChhLGwpfWNhdGNoKGUpe2lmKGgpdGhyb3cgZTtsKC0xLGUpfX1lbHNlIGwoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIGwoZSx0LG4scil7dmFyIGksbyxhLHMsdSxsPXQ7aHx8KGg9ITAsZCYmQy5jbGVhclRpbWVvdXQoZCksYz12b2lkIDAscD1yfHwiIixULnJlYWR5U3RhdGU9MDxlPzQ6MCxpPTIwMDw9ZSYmZTwzMDB8fDMwND09PWUsbiYmKHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHM9ZS5jb250ZW50cyx1PWUuZGF0YVR5cGVzO3doaWxlKCIqIj09PXVbMF0pdS5zaGlmdCgpLHZvaWQgMD09PXImJihyPWUubWltZVR5cGV8fHQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihyKWZvcihpIGluIHMpaWYoc1tpXSYmc1tpXS50ZXN0KHIpKXt1LnVuc2hpZnQoaSk7YnJlYWt9aWYodVswXWluIG4pbz11WzBdO2Vsc2V7Zm9yKGkgaW4gbil7aWYoIXVbMF18fGUuY29udmVydGVyc1tpKyIgIit1WzBdXSl7bz1pO2JyZWFrfWF8fChhPWkpfW89b3x8YX1pZihvKXJldHVybiBvIT09dVswXSYmdS51bnNoaWZ0KG8pLG5bb119KHYsVCxuKSkscz1mdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LGw9e30sYz1lLmRhdGFUeXBlcy5zbGljZSgpO2lmKGNbMV0pZm9yKGEgaW4gZS5jb252ZXJ0ZXJzKWxbYS50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbYV07bz1jLnNoaWZ0KCk7d2hpbGUobylpZihlLnJlc3BvbnNlRmllbGRzW29dJiYobltlLnJlc3BvbnNlRmllbGRzW29dXT10KSwhdSYmciYmZS5kYXRhRmlsdGVyJiYodD1lLmRhdGFGaWx0ZXIodCxlLmRhdGFUeXBlKSksdT1vLG89Yy5zaGlmdCgpKWlmKCIqIj09PW8pbz11O2Vsc2UgaWYoIioiIT09dSYmdSE9PW8pe2lmKCEoYT1sW3UrIiAiK29dfHxsWyIqICIrb10pKWZvcihpIGluIGwpaWYoKHM9aS5zcGxpdCgiICIpKVsxXT09PW8mJihhPWxbdSsiICIrc1swXV18fGxbIiogIitzWzBdXSkpeyEwPT09YT9hPWxbaV06ITAhPT1sW2ldJiYobz1zWzBdLGMudW5zaGlmdChzWzFdKSk7YnJlYWt9aWYoITAhPT1hKWlmKGEmJmVbInRocm93cyJdKXQ9YSh0KTtlbHNlIHRyeXt0PWEodCl9Y2F0Y2goZSl7cmV0dXJue3N0YXRlOiJwYXJzZXJlcnJvciIsZXJyb3I6YT9lOiJObyBjb252ZXJzaW9uIGZyb20gIit1KyIgdG8gIitvfX19cmV0dXJue3N0YXRlOiJzdWNjZXNzIixkYXRhOnR9fSh2LHMsVCxpKSxpPyh2LmlmTW9kaWZpZWQmJigodT1ULmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYoay5sYXN0TW9kaWZpZWRbZl09dSksKHU9VC5nZXRSZXNwb25zZUhlYWRlcigiZXRhZyIpKSYmKGsuZXRhZ1tmXT11KSksMjA0PT09ZXx8IkhFQUQiPT09di50eXBlP2w9Im5vY29udGVudCI6MzA0PT09ZT9sPSJub3Rtb2RpZmllZCI6KGw9cy5zdGF0ZSxvPXMuZGF0YSxpPSEoYT1zLmVycm9yKSkpOihhPWwsIWUmJmx8fChsPSJlcnJvciIsZTwwJiYoZT0wKSkpLFQuc3RhdHVzPWUsVC5zdGF0dXNUZXh0PSh0fHxsKSsiIixpP3gucmVzb2x2ZVdpdGgoeSxbbyxsLFRdKTp4LnJlamVjdFdpdGgoeSxbVCxsLGFdKSxULnN0YXR1c0NvZGUodyksdz12b2lkIDAsZyYmbS50cmlnZ2VyKGk/ImFqYXhTdWNjZXNzIjoiYWpheEVycm9yIixbVCx2LGk/bzphXSksYi5maXJlV2l0aCh5LFtULGxdKSxnJiYobS50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFtULHZdKSwtLWsuYWN0aXZlfHxrLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIikpKX1yZXR1cm4gVH0sZ2V0SlNPTjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGsuZ2V0KGUsdCxuLCJqc29uIil9LGdldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiBrLmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX19KSxrLmVhY2goWyJnZXQiLCJwb3N0Il0sZnVuY3Rpb24oZSxpKXtrW2ldPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBtKHQpJiYocj1yfHxuLG49dCx0PXZvaWQgMCksay5hamF4KGsuZXh0ZW5kKHt1cmw6ZSx0eXBlOmksZGF0YVR5cGU6cixkYXRhOnQsc3VjY2VzczpufSxrLmlzUGxhaW5PYmplY3QoZSkmJmUpKX19KSxrLl9ldmFsVXJsPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGsuYWpheCh7dXJsOmUsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0IixjYWNoZTohMCxhc3luYzohMSxnbG9iYWw6ITEsY29udmVydGVyczp7InRleHQgc2NyaXB0IjpmdW5jdGlvbigpe319LGRhdGFGaWx0ZXI6ZnVuY3Rpb24oZSl7ay5nbG9iYWxFdmFsKGUsdCl9fSl9LGsuZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0aGlzWzBdJiYobShlKSYmKGU9ZS5jYWxsKHRoaXNbMF0pKSx0PWsoZSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJnQuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLHQubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dGhpczt3aGlsZShlLmZpcnN0RWxlbWVudENoaWxkKWU9ZS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gZX0pLmFwcGVuZCh0aGlzKSksdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKG4pe3JldHVybiBtKG4pP3RoaXMuZWFjaChmdW5jdGlvbihlKXtrKHRoaXMpLndyYXBJbm5lcihuLmNhbGwodGhpcyxlKSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1rKHRoaXMpLHQ9ZS5jb250ZW50cygpO3QubGVuZ3RoP3Qud3JhcEFsbChuKTplLmFwcGVuZChuKX0pfSx3cmFwOmZ1bmN0aW9uKHQpe3ZhciBuPW0odCk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtrKHRoaXMpLndyYXBBbGwobj90LmNhbGwodGhpcyxlKTp0KX0pfSx1bndyYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGFyZW50KGUpLm5vdCgiYm9keSIpLmVhY2goZnVuY3Rpb24oKXtrKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KSx0aGlzfX0pLGsuZXhwci5wc2V1ZG9zLmhpZGRlbj1mdW5jdGlvbihlKXtyZXR1cm4hay5leHByLnBzZXVkb3MudmlzaWJsZShlKX0say5leHByLnBzZXVkb3MudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4hIShlLm9mZnNldFdpZHRofHxlLm9mZnNldEhlaWdodHx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl9LGsuYWpheFNldHRpbmdzLnhocj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IEMuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX07dmFyIFV0PXswOjIwMCwxMjIzOjIwNH0sWHQ9ay5hamF4U2V0dGluZ3MueGhyKCk7eS5jb3JzPSEhWHQmJiJ3aXRoQ3JlZGVudGlhbHMiaW4gWHQseS5hamF4PVh0PSEhWHQsay5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGkpe3ZhciBvLGE7aWYoeS5jb3JzfHxYdCYmIWkuY3Jvc3NEb21haW4pcmV0dXJue3NlbmQ6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPWkueGhyKCk7aWYoci5vcGVuKGkudHlwZSxpLnVybCxpLmFzeW5jLGkudXNlcm5hbWUsaS5wYXNzd29yZCksaS54aHJGaWVsZHMpZm9yKG4gaW4gaS54aHJGaWVsZHMpcltuXT1pLnhockZpZWxkc1tuXTtmb3IobiBpbiBpLm1pbWVUeXBlJiZyLm92ZXJyaWRlTWltZVR5cGUmJnIub3ZlcnJpZGVNaW1lVHlwZShpLm1pbWVUeXBlKSxpLmNyb3NzRG9tYWlufHxlWyJYLVJlcXVlc3RlZC1XaXRoIl18fChlWyJYLVJlcXVlc3RlZC1XaXRoIl09IlhNTEh0dHBSZXF1ZXN0IiksZSlyLnNldFJlcXVlc3RIZWFkZXIobixlW25dKTtvPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe28mJihvPWE9ci5vbmxvYWQ9ci5vbmVycm9yPXIub25hYm9ydD1yLm9udGltZW91dD1yLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLCJhYm9ydCI9PT1lP3IuYWJvcnQoKToiZXJyb3IiPT09ZT8ibnVtYmVyIiE9dHlwZW9mIHIuc3RhdHVzP3QoMCwiZXJyb3IiKTp0KHIuc3RhdHVzLHIuc3RhdHVzVGV4dCk6dChVdFtyLnN0YXR1c118fHIuc3RhdHVzLHIuc3RhdHVzVGV4dCwidGV4dCIhPT0oci5yZXNwb25zZVR5cGV8fCJ0ZXh0Iil8fCJzdHJpbmciIT10eXBlb2Ygci5yZXNwb25zZVRleHQ/e2JpbmFyeTpyLnJlc3BvbnNlfTp7dGV4dDpyLnJlc3BvbnNlVGV4dH0sci5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkpfX0sci5vbmxvYWQ9bygpLGE9ci5vbmVycm9yPXIub250aW1lb3V0PW8oImVycm9yIiksdm9pZCAwIT09ci5vbmFib3J0P3Iub25hYm9ydD1hOnIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PXIucmVhZHlTdGF0ZSYmQy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7byYmYSgpfSl9LG89bygiYWJvcnQiKTt0cnl7ci5zZW5kKGkuaGFzQ29udGVudCYmaS5kYXRhfHxudWxsKX1jYXRjaChlKXtpZihvKXRocm93IGV9fSxhYm9ydDpmdW5jdGlvbigpe28mJm8oKX19fSksay5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe2UuY3Jvc3NEb21haW4mJihlLmNvbnRlbnRzLnNjcmlwdD0hMSl9KSxrLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6L1xiKD86amF2YXxlY21hKXNjcmlwdFxiL30sY29udmVydGVyczp7InRleHQgc2NyaXB0IjpmdW5jdGlvbihlKXtyZXR1cm4gay5nbG9iYWxFdmFsKGUpLGV9fX0pLGsuYWpheFByZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihlKXt2b2lkIDA9PT1lLmNhY2hlJiYoZS5jYWNoZT0hMSksZS5jcm9zc0RvbWFpbiYmKGUudHlwZT0iR0VUIil9KSxrLmFqYXhUcmFuc3BvcnQoInNjcmlwdCIsZnVuY3Rpb24obil7dmFyIHIsaTtpZihuLmNyb3NzRG9tYWlufHxuLnNjcmlwdEF0dHJzKXJldHVybntzZW5kOmZ1bmN0aW9uKGUsdCl7cj1rKCI8c2NyaXB0PiIpLmF0dHIobi5zY3JpcHRBdHRyc3x8e30pLnByb3Aoe2NoYXJzZXQ6bi5zY3JpcHRDaGFyc2V0LHNyYzpuLnVybH0pLm9uKCJsb2FkIGVycm9yIixpPWZ1bmN0aW9uKGUpe3IucmVtb3ZlKCksaT1udWxsLGUmJnQoImVycm9yIj09PWUudHlwZT80MDQ6MjAwLGUudHlwZSl9KSxFLmhlYWQuYXBwZW5kQ2hpbGQoclswXSl9LGFib3J0OmZ1bmN0aW9uKCl7aSYmaSgpfX19KTt2YXIgVnQsR3Q9W10sWXQ9Lyg9KVw/KD89JnwkKXxcP1w/LztrLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU9R3QucG9wKCl8fGsuZXhwYW5kbysiXyIra3QrKztyZXR1cm4gdGhpc1tlXT0hMCxlfX0pLGsuYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPSExIT09ZS5qc29ucCYmKFl0LnRlc3QoZS51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgZS5kYXRhJiYwPT09KGUuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmWXQudGVzdChlLmRhdGEpJiYiZGF0YSIpO2lmKGF8fCJqc29ucCI9PT1lLmRhdGFUeXBlc1swXSlyZXR1cm4gcj1lLmpzb25wQ2FsbGJhY2s9bShlLmpzb25wQ2FsbGJhY2spP2UuanNvbnBDYWxsYmFjaygpOmUuanNvbnBDYWxsYmFjayxhP2VbYV09ZVthXS5yZXBsYWNlKFl0LCIkMSIrcik6ITEhPT1lLmpzb25wJiYoZS51cmwrPShTdC50ZXN0KGUudXJsKT8iJiI6Ij8iKStlLmpzb25wKyI9IityKSxlLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gb3x8ay5lcnJvcihyKyIgd2FzIG5vdCBjYWxsZWQiKSxvWzBdfSxlLmRhdGFUeXBlc1swXT0ianNvbiIsaT1DW3JdLENbcl09ZnVuY3Rpb24oKXtvPWFyZ3VtZW50c30sbi5hbHdheXMoZnVuY3Rpb24oKXt2b2lkIDA9PT1pP2soQykucmVtb3ZlUHJvcChyKTpDW3JdPWksZVtyXSYmKGUuanNvbnBDYWxsYmFjaz10Lmpzb25wQ2FsbGJhY2ssR3QucHVzaChyKSksbyYmbShpKSYmaShvWzBdKSxvPWk9dm9pZCAwfSksInNjcmlwdCJ9KSx5LmNyZWF0ZUhUTUxEb2N1bWVudD0oKFZ0PUUuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKS5ib2R5KS5pbm5lckhUTUw9Ijxmb3JtPjwvZm9ybT48Zm9ybT48L2Zvcm0+IiwyPT09VnQuY2hpbGROb2Rlcy5sZW5ndGgpLGsucGFyc2VIVE1MPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGU/W106KCJib29sZWFuIj09dHlwZW9mIHQmJihuPXQsdD0hMSksdHx8KHkuY3JlYXRlSFRNTERvY3VtZW50Pygocj0odD1FLmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIikpLmNyZWF0ZUVsZW1lbnQoImJhc2UiKSkuaHJlZj1FLmxvY2F0aW9uLmhyZWYsdC5oZWFkLmFwcGVuZENoaWxkKHIpKTp0PUUpLG89IW4mJltdLChpPUQuZXhlYyhlKSk/W3QuY3JlYXRlRWxlbWVudChpWzFdKV06KGk9d2UoW2VdLHQsbyksbyYmby5sZW5ndGgmJmsobykucmVtb3ZlKCksay5tZXJnZShbXSxpLmNoaWxkTm9kZXMpKSk7dmFyIHIsaSxvfSxrLmZuLmxvYWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPXRoaXMscz1lLmluZGV4T2YoIiAiKTtyZXR1cm4tMTxzJiYocj1tdChlLnNsaWNlKHMpKSxlPWUuc2xpY2UoMCxzKSksbSh0KT8obj10LHQ9dm9pZCAwKTp0JiYib2JqZWN0Ij09dHlwZW9mIHQmJihpPSJQT1NUIiksMDxhLmxlbmd0aCYmay5hamF4KHt1cmw6ZSx0eXBlOml8fCJHRVQiLGRhdGFUeXBlOiJodG1sIixkYXRhOnR9KS5kb25lKGZ1bmN0aW9uKGUpe289YXJndW1lbnRzLGEuaHRtbChyP2soIjxkaXY+IikuYXBwZW5kKGsucGFyc2VIVE1MKGUpKS5maW5kKHIpOmUpfSkuYWx3YXlzKG4mJmZ1bmN0aW9uKGUsdCl7YS5lYWNoKGZ1bmN0aW9uKCl7bi5hcHBseSh0aGlzLG98fFtlLnJlc3BvbnNlVGV4dCx0LGVdKX0pfSksdGhpc30say5lYWNoKFsiYWpheFN0YXJ0IiwiYWpheFN0b3AiLCJhamF4Q29tcGxldGUiLCJhamF4RXJyb3IiLCJhamF4U3VjY2VzcyIsImFqYXhTZW5kIl0sZnVuY3Rpb24oZSx0KXtrLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9uKHQsZSl9fSksay5leHByLnBzZXVkb3MuYW5pbWF0ZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGsuZ3JlcChrLnRpbWVycyxmdW5jdGlvbihlKXtyZXR1cm4gdD09PWUuZWxlbX0pLmxlbmd0aH0say5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGw9ay5jc3MoZSwicG9zaXRpb24iKSxjPWsoZSksZj17fTsic3RhdGljIj09PWwmJihlLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIpLHM9Yy5vZmZzZXQoKSxvPWsuY3NzKGUsInRvcCIpLHU9ay5jc3MoZSwibGVmdCIpLCgiYWJzb2x1dGUiPT09bHx8ImZpeGVkIj09PWwpJiYtMTwobyt1KS5pbmRleE9mKCJhdXRvIik/KGE9KHI9Yy5wb3NpdGlvbigpKS50b3AsaT1yLmxlZnQpOihhPXBhcnNlRmxvYXQobyl8fDAsaT1wYXJzZUZsb2F0KHUpfHwwKSxtKHQpJiYodD10LmNhbGwoZSxuLGsuZXh0ZW5kKHt9LHMpKSksbnVsbCE9dC50b3AmJihmLnRvcD10LnRvcC1zLnRvcCthKSxudWxsIT10LmxlZnQmJihmLmxlZnQ9dC5sZWZ0LXMubGVmdCtpKSwidXNpbmciaW4gdD90LnVzaW5nLmNhbGwoZSxmKTpjLmNzcyhmKX19LGsuZm4uZXh0ZW5kKHtvZmZzZXQ6ZnVuY3Rpb24odCl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09dD90aGlzOnRoaXMuZWFjaChmdW5jdGlvbihlKXtrLm9mZnNldC5zZXRPZmZzZXQodGhpcyx0LGUpfSk7dmFyIGUsbixyPXRoaXNbMF07cmV0dXJuIHI/ci5nZXRDbGllbnRSZWN0cygpLmxlbmd0aD8oZT1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49ci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHt0b3A6ZS50b3Arbi5wYWdlWU9mZnNldCxsZWZ0OmUubGVmdCtuLnBhZ2VYT2Zmc2V0fSk6e3RvcDowLGxlZnQ6MH06dm9pZCAwfSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBlLHQsbixyPXRoaXNbMF0saT17dG9wOjAsbGVmdDowfTtpZigiZml4ZWQiPT09ay5jc3MociwicG9zaXRpb24iKSl0PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZWxzZXt0PXRoaXMub2Zmc2V0KCksbj1yLm93bmVyRG9jdW1lbnQsZT1yLm9mZnNldFBhcmVudHx8bi5kb2N1bWVudEVsZW1lbnQ7d2hpbGUoZSYmKGU9PT1uLmJvZHl8fGU9PT1uLmRvY3VtZW50RWxlbWVudCkmJiJzdGF0aWMiPT09ay5jc3MoZSwicG9zaXRpb24iKSllPWUucGFyZW50Tm9kZTtlJiZlIT09ciYmMT09PWUubm9kZVR5cGUmJigoaT1rKGUpLm9mZnNldCgpKS50b3ArPWsuY3NzKGUsImJvcmRlclRvcFdpZHRoIiwhMCksaS5sZWZ0Kz1rLmNzcyhlLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSl9cmV0dXJue3RvcDp0LnRvcC1pLnRvcC1rLmNzcyhyLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OnQubGVmdC1pLmxlZnQtay5jc3MociwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBlPXRoaXMub2Zmc2V0UGFyZW50O3doaWxlKGUmJiJzdGF0aWMiPT09ay5jc3MoZSwicG9zaXRpb24iKSllPWUub2Zmc2V0UGFyZW50O3JldHVybiBlfHxpZX0pfX0pLGsuZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbih0LGkpe3ZhciBvPSJwYWdlWU9mZnNldCI9PT1pO2suZm5bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIF8odGhpcyxmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoeChlKT9yPWU6OT09PWUubm9kZVR5cGUmJihyPWUuZGVmYXVsdFZpZXcpLHZvaWQgMD09PW4pcmV0dXJuIHI/cltpXTplW3RdO3I/ci5zY3JvbGxUbyhvP3IucGFnZVhPZmZzZXQ6bixvP246ci5wYWdlWU9mZnNldCk6ZVt0XT1ufSx0LGUsYXJndW1lbnRzLmxlbmd0aCl9fSksay5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGUsbil7ay5jc3NIb29rc1tuXT16ZSh5LnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybiB0PV9lKGUsbiksJGUudGVzdCh0KT9rKGUpLnBvc2l0aW9uKClbbl0rInB4Ijp0fSl9KSxrLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLHMpe2suZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpzLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24ocixvKXtrLmZuW29dPWZ1bmN0aW9uKGUsdCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aCYmKHJ8fCJib29sZWFuIiE9dHlwZW9mIGUpLGk9cnx8KCEwPT09ZXx8ITA9PT10PyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gXyh0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4geChlKT8wPT09by5pbmRleE9mKCJvdXRlciIpP2VbImlubmVyIithXTplLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09ZS5ub2RlVHlwZT8ocj1lLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChlLmJvZHlbInNjcm9sbCIrYV0sclsic2Nyb2xsIithXSxlLmJvZHlbIm9mZnNldCIrYV0sclsib2Zmc2V0IithXSxyWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09bj9rLmNzcyhlLHQsaSk6ay5zdHlsZShlLHQsbixpKX0scyxuP2U6dm9pZCAwLG4pfX0pfSksay5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHNjcm9sbCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGUsbil7ay5mbltuXT1mdW5jdGlvbihlLHQpe3JldHVybiAwPGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vbihuLG51bGwsZSx0KTp0aGlzLnRyaWdnZXIobil9fSksay5mbi5leHRlbmQoe2hvdmVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubW91c2VlbnRlcihlKS5tb3VzZWxlYXZlKHR8fGUpfX0pLGsuZm4uZXh0ZW5kKHtiaW5kOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5vbihlLG51bGwsdCxuKX0sdW5iaW5kOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub2ZmKGUsbnVsbCx0KX0sZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMub24odCxlLG4scil9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmKHQsZXx8IioqIixuKX19KSxrLnByb3h5PWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpO2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKG49ZVt0XSx0PWUsZT1uKSxtKGUpKXJldHVybiByPXMuY2FsbChhcmd1bWVudHMsMiksKGk9ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0fHx0aGlzLHIuY29uY2F0KHMuY2FsbChhcmd1bWVudHMpKSl9KS5ndWlkPWUuZ3VpZD1lLmd1aWR8fGsuZ3VpZCsrLGl9LGsuaG9sZFJlYWR5PWZ1bmN0aW9uKGUpe2U/ay5yZWFkeVdhaXQrKzprLnJlYWR5KCEwKX0say5pc0FycmF5PUFycmF5LmlzQXJyYXksay5wYXJzZUpTT049SlNPTi5wYXJzZSxrLm5vZGVOYW1lPUEsay5pc0Z1bmN0aW9uPW0say5pc1dpbmRvdz14LGsuY2FtZWxDYXNlPVYsay50eXBlPXcsay5ub3c9RGF0ZS5ub3csay5pc051bWVyaWM9ZnVuY3Rpb24oZSl7dmFyIHQ9ay50eXBlKGUpO3JldHVybigibnVtYmVyIj09PXR8fCJzdHJpbmciPT09dCkmJiFpc05hTihlLXBhcnNlRmxvYXQoZSkpfSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoImpxdWVyeSIsW10sZnVuY3Rpb24oKXtyZXR1cm4ga30pO3ZhciBRdD1DLmpRdWVyeSxKdD1DLiQ7cmV0dXJuIGsubm9Db25mbGljdD1mdW5jdGlvbihlKXtyZXR1cm4gQy4kPT09ayYmKEMuJD1KdCksZSYmQy5qUXVlcnk9PT1rJiYoQy5qUXVlcnk9UXQpLGt9LGV8fChDLmpRdWVyeT1DLiQ9ayksa30pOwo="}},"time_used":5996,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5996,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/translate_a/element.js?cb=googleTranslateElementInit","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.78","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.453Z","timestamp":1785137065453,"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":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /translate_a/element.js?cb=googleTranslateElementInit HTTP/1.1\r\nHost: translate.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/javascript; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 07:24:25 GMT\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":75427,"size_decoded":27153,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2543)","md5":"7caee5334c5c4934bcda1ce615f50b08","sha1":"e30db3277098371b3c740159bb18656d4a865033","sha256":"6d17efa27992fe6a37e9064e83a6cbd97576e9bcc1dd861cc5a0f373c54d6007","sha512":"e834d96e9ce7d0a8fccb8c3888a45c3e0349a17fbef0eb7a570a6eb173f2473b9eb0f4e2ba096899e75e30fbd46d25348b27b7bcecd974cbd25fa2627baaf546","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECi9wNWF0:XDD4U6KKZgtBgtCij0","tlshash":"0273b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf594d453bf7d","first_seen":"2026-07-27T07:00:57.382728Z","last_seen":"2026-07-27T08:00:33.965588Z","times_seen":143,"resource_available":true,"data":"CiAgICAvLyBnby9tc3Mtc2V0dXAjNy1sb2FkLXRoZS1qcy1vci1jc3MtZnJvbS15b3VyLWluaXRpYWwtcGFnZQogICAgaWYoIXdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSkgewogICAgICBjb25zdCBfRHVtcEV4Y2VwdGlvbiA9IHdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSB8fCBmdW5jdGlvbihlKSB7CiAgICAgICAgdGhyb3cgZTsKICAgICAgfTsKICAgICAgd2luZG93WydfRHVtcEV4Y2VwdGlvbiddID0gX0R1bXBFeGNlcHRpb247CiAgICB9CiAgInVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKXy5fRl90b2dnbGVzX2luaXRpYWxpemU9ZnVuY3Rpb24oYSl7KHR5cGVvZiBnbG9iYWxUaGlzIT09InVuZGVmaW5lZCI/Z2xvYmFsVGhpczp0eXBlb2Ygc2VsZiE9PSJ1bmRlZmluZWQiP3NlbGY6dGhpcykuX0ZfdG9nZ2xlc19kZWZhdWx0X3RyPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4NzAwODAwNCwgMHgwLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwp2YXIgYWEsY2EsZmEsamEscmEseGEsQmEsRGEsRmEsR2EsSWEsWWEsYmIsZmIsZ2IsamIsa2IsbmIscGIscWIsc2IsdWIsdmIsQWIsQmIsRmIsSWIsSmIsTWIsTmIsT2IsUWIsU2IseixSYixVYixZYixaYixhYyxiYzthYT1mdW5jdGlvbihhLGIpe2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsYWEpO2Vsc2V7dmFyIGM9RXJyb3IoKS5zdGFjaztjJiYodGhpcy5zdGFjaz1jKX1hJiYodGhpcy5tZXNzYWdlPVN0cmluZyhhKSk7YiE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Yil9O2NhPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIlcyIpO2Zvcih2YXIgYz0iIixkPWEubGVuZ3RoLTEsZT0wO2U8ZDtlKyspYys9YVtlXSsoZTxiLmxlbmd0aD9iW2VdOiIlcyIpO2FhLmNhbGwodGhpcyxjK2FbZF0pfTtmYT1mdW5jdGlvbihhKXtpZihfLmRhKWEoXy5kYSk7ZWxzZXt2YXIgYjsoKGI9ZWEpIT1udWxsP2I6ZWE9W10pLnB1c2goYSl9fTsKamE9ZnVuY3Rpb24oKXshXy5kYSYmXy5oYSYmXy5pYSgpO3JldHVybiBfLmRhfTtfLmlhPWZ1bmN0aW9uKCl7Xy5kYT1fLmhhKCk7dmFyIGE7KGE9ZWEpPT1udWxsfHxhLmZvckVhY2goZmEpO2VhPXZvaWQgMH07Xy5sYT1mdW5jdGlvbihhKXtfLmRhJiZrYShhKX07Xy5tYT1mdW5jdGlvbigpe18uZGEmJl8uZGEubWQoKX07Xy5vYT1mdW5jdGlvbihhLGIpe2IuaGFzT3duUHJvcGVydHkoImRpc3BsYXlOYW1lIil8fChiLmRpc3BsYXlOYW1lPWEudG9TdHJpbmcoKSk7YltuYV09YX07Xy5wYT1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07cmE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz1hcmd1bWVudHMubGVuZ3RoO2I8YzsrK2Ipe3ZhciBkPWFyZ3VtZW50c1tiXTtfLnFhKGQpP3JhLmFwcGx5KG51bGwsZCk6Xy5wYShkKX19O18udT1mdW5jdGlvbigpe3RoaXMucWE9dGhpcy5xYTt0aGlzLlc9dGhpcy5XfTsKXy50YT1mdW5jdGlvbihhLGIpe3JldHVybiBzYShhLGIpPj0wfTtfLnVhPWZ1bmN0aW9uKGEsYil7Xy50YShhLGIpfHxhLnB1c2goYil9O18udmE9ZnVuY3Rpb24oYSxiKXtiPXNhKGEsYik7dmFyIGM7KGM9Yj49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhLGIsMSk7cmV0dXJuIGN9O18ud2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGg7aWYoYj4wKXtmb3IodmFyIGM9QXJyYXkoYiksZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt4YT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihfLnFhKGQpKXt2YXIgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IodmFyIGc9MDtnPGY7ZysrKWFbZStnXT1kW2ddfWVsc2UgYS5wdXNoKGQpfX07CkJhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9MCxkPXt9O2M8YS5sZW5ndGg7KXt2YXIgZT1hW2MrK10sZj1fLnlhKGUpPyJvIisoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsemEpJiZlW3phXXx8KGVbemFdPSsrQWEpKToodHlwZW9mIGUpLmNoYXJBdCgwKStlO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLGYpfHwoZFtmXT0hMCxhW2IrK109ZSl9YS5sZW5ndGg9Yn07Xy5DYT1mdW5jdGlvbihhLGIpe3RoaXMud2lkdGg9YTt0aGlzLmhlaWdodD1ifTtEYT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYyBpbiBhKWlmKGIuY2FsbCh2b2lkIDAsYVtjXSxjLGEpKXJldHVybiEwO3JldHVybiExfTsKRmE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZCxlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7ZD1hcmd1bWVudHNbZV07Zm9yKGMgaW4gZClhW2NdPWRbY107Zm9yKHZhciBmPTA7ZjxFYS5sZW5ndGg7ZisrKWM9RWFbZl0sT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGQsYykmJihhW2NdPWRbY10pfX07R2E9ZnVuY3Rpb24oYSl7cmV0dXJue3ZhbHVlT2Y6YX0udmFsdWVPZigpfTtJYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIUhhKXJldHVybiBhO3RyeXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4gY307YT1IYS5jcmVhdGVQb2xpY3koImdvb2cjaHRtbCIse2NyZWF0ZUhUTUw6YixjcmVhdGVTY3JpcHQ6YixjcmVhdGVTY3JpcHRVUkw6Yn0pfWNhdGNoKGMpe31yZXR1cm4gYX07Xy5LYT1mdW5jdGlvbigpe0phPT09dm9pZCAwJiYoSmE9SWEoKSk7cmV0dXJuIEphfTsKXy5NYT1mdW5jdGlvbihhKXt2YXIgYj1fLkthKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLkxhKGEpfTtfLk5hPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkxhKXJldHVybiBhLmc7dGhyb3cgRXJyb3IoInQiKTt9O18uT2E9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ZG9jdW1lbnQ6Yjt2YXIgYyxkO2I9KGQ9KGM9YikucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOmQuY2FsbChjLGErIltub25jZV0iKTtyZXR1cm4gYj09bnVsbD8iIjpiLm5vbmNlfHxiLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18uUWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5LYSgpO2E9Yj9iLmNyZWF0ZVNjcmlwdChhKTphO3JldHVybiBuZXcgXy5QYShhKX07Xy5SYT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTsKXy5TYT1mdW5jdGlvbihhLGIpe2Euc3JjPV8uTmEoYik7KGI9Xy5PYSgic2NyaXB0IixhLm93bmVyRG9jdW1lbnQpKSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixiKX07Xy5UYT1mdW5jdGlvbigpe3ZhciBhPV8udi5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTtfLnc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoKS5pbmRleE9mKGEpIT0tMX07Xy5XYT1mdW5jdGlvbigpe3JldHVybiBfLlVhPyEhXy5WYSYmXy5WYS5icmFuZHMubGVuZ3RoPjA6ITF9O18uWGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5XYSgpPyExOl8udygiT3BlcmEiKX07WWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5VYT8hIV8uVmEmJiEhXy5WYS5wbGF0Zm9ybTohMX07Xy5aYT1mdW5jdGlvbigpe3JldHVybiBfLncoImlQaG9uZSIpJiYhXy53KCJpUG9kIikmJiFfLncoImlQYWQiKX07Xy4kYT1mdW5jdGlvbigpe3JldHVybiBfLlphKCl8fF8udygiaVBhZCIpfHxfLncoImlQb2QiKX07Cl8uYWI9ZnVuY3Rpb24oKXtyZXR1cm4gWWEoKT9fLlZhLnBsYXRmb3JtPT09Im1hY09TIjpfLncoIk1hY2ludG9zaCIpfTtiYj1mdW5jdGlvbigpe3RoaXMuaWQ9ImIifTtfLmRiPWZ1bmN0aW9uKGEsYil7Y2IuY2FsbCh0aGlzLGE/YS50eXBlOiIiKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MDt0aGlzLmtleT0iIjt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT0hMTt0aGlzLnN0YXRlPW51bGw7dGhpcy5wb2ludGVySWQ9MDt0aGlzLnBvaW50ZXJUeXBlPSIiO3RoaXMudGltZVN0YW1wPTA7dGhpcy5nPW51bGw7YSYmdGhpcy5pbml0KGEsYil9OwpmYj1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMubGlzdGVuZXI9YTt0aGlzLnByb3h5PW51bGw7dGhpcy5zcmM9Yjt0aGlzLnR5cGU9Yzt0aGlzLmNhcHR1cmU9ISFkO3RoaXMuVmM9ZTt0aGlzLmtleT0rK2ViO3RoaXMub2M9dGhpcy5IYz0hMX07Z2I9ZnVuY3Rpb24oYSl7dGhpcy5zcmM9YTt0aGlzLmc9e307dGhpcy5oPTB9O18uaGI9ZnVuY3Rpb24oKXtfLnUuY2FsbCh0aGlzKTt0aGlzLlFhPW5ldyBnYih0aGlzKTt0aGlzLldnPXRoaXM7dGhpcy5mZD1udWxsfTtqYj1mdW5jdGlvbihhKXtfLmhiLmNhbGwodGhpcyk7dGhpcy5nPWF8fHdpbmRvdzt0aGlzLmg9Xy54KHRoaXMuZywicmVzaXplIix0aGlzLmwsITEsdGhpcyk7dGhpcy5qPV8uaWIodGhpcy5nfHx3aW5kb3cpfTsKa2I9ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuaD1hP2EuZy5kZWZhdWx0Vmlldzp3aW5kb3c7dGhpcy5vPXRoaXMuaC5kZXZpY2VQaXhlbFJhdGlvPj0xLjU/MjoxO3RoaXMuaj0oMCxfLnkpKHRoaXMuQSx0aGlzKTt0aGlzLmw9bnVsbDsodGhpcy5nPXRoaXMuaC5tYXRjaE1lZGlhP3RoaXMuaC5tYXRjaE1lZGlhKCIobWluLXJlc29sdXRpb246IDEuNWRwcHgpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIik6bnVsbCkmJnR5cGVvZiB0aGlzLmcuYWRkTGlzdGVuZXIhPT0iZnVuY3Rpb24iJiZ0eXBlb2YgdGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIhPT0iZnVuY3Rpb24iJiYodGhpcy5nPW51bGwpfTsKbmI9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLm89YTtpZihiKXtpZih0aGlzLmwpdGhyb3cgRXJyb3IoIngiKTt0aGlzLmw9Yjt0aGlzLmg9Xy5sYihiKTt0aGlzLmc9bmV3IGpiKF8ubWIoYikpO3RoaXMuZy5uZCh0aGlzLm8uaCgpKTt0aGlzLmo9bmV3IGtiKHRoaXMuaCk7dGhpcy5qLnN0YXJ0KCl9fTtwYj1mdW5jdGlvbihhKXthPWEuSGQuY2hhckNvZGVBdChhLkJiKyspO3JldHVybiBvYlthXX07cWI9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPTA7ZG97dmFyIGQ9cGIoYSk7Ynw9KGQmMzEpPDxjO2MrPTV9d2hpbGUoZCYzMik7cmV0dXJuIGI8MD9iKzQyOTQ5NjcyOTY6Yn07Xy5yYj1mdW5jdGlvbihhKXtfLnYuc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX07c2I9ZnVuY3Rpb24oYSxiKXt0aGlzLmc9YTt0aGlzLmg9Yn07CnViPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5sPWE7dGhpcy5BPWI7dGhpcy5qPXRiP251bGw6W107dGhpcy5oPXRiP251bGw6W107dGhpcy5vPXRiP251bGw6W107dGhpcy5CPSExfTt2Yj1mdW5jdGlvbigpe3RoaXMuTz10aGlzLnFhPW51bGx9O0FiPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9d2IucmVtb3ZlKCk7KXt0cnl7YS5nLmNhbGwoYS5zY29wZSl9Y2F0Y2goYil7Xy5yYihiKX14Yih5YixhKX16Yj0hMX07QmI9ZnVuY3Rpb24oKXt0aGlzLkI9W107dGhpcy5vPXRoaXMuaD0hMTt0aGlzLmw9dm9pZCAwO3RoaXMuRz10aGlzLlc9dGhpcy5EPSExO3RoaXMuQz0wO3RoaXMuaj1udWxsO3RoaXMuQT0wfTtfLkNiPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5FYj1mdW5jdGlvbihhLGIpe2lmKGEpe2E9YS5zcGxpdCgiJiIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLmluZGV4T2YoIj0iKSxlPW51bGw7aWYoZD49MCl7dmFyIGY9YVtjXS5zdWJzdHJpbmcoMCxkKTtlPWFbY10uc3Vic3RyaW5nKGQrMSl9ZWxzZSBmPWFbY107YihmLGU/Xy5EYihlKToiIil9fX07RmI9ZnVuY3Rpb24oYSxiLGMpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspRmIoYSxTdHJpbmcoYltkXSksYyk7ZWxzZSBiIT1udWxsJiZjLnB1c2goYSsoYj09PSIiPyIiOiI9IitfLkdiKGIpKSl9O18uSGI9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPXt9fTtJYj1mdW5jdGlvbigpe307SmI9ZnVuY3Rpb24oKXt9O18uTGI9ZnVuY3Rpb24oYSl7YT1fLktiKGEpO3JldHVybiBfLk1hKGEpfTsKXy5LYj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PW51bGw/Im51bGwiOmE9PT12b2lkIDA/InVuZGVmaW5lZCI6YX07TWI9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbigpe307Yi5wcm90b3R5cGU9YTtyZXR1cm4gbmV3IGJ9O05iPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWMudmFsdWU7cmV0dXJuIGF9OwpPYj1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoImEiKTt9O18uUGI9T2IodGhpcyk7UWI9IkludDggVWludDggVWludDhDbGFtcGVkIEludDE2IFVpbnQxNiBJbnQzMiBVaW50MzIgRmxvYXQzMiBGbG9hdDY0Ii5zcGxpdCgiICIpO18uUGIuQmlnSW50NjRBcnJheSYmKFFiLnB1c2goIkJpZ0ludDY0IiksUWIucHVzaCgiQmlnVWludDY0IikpO1NiPWZ1bmN0aW9uKGEsYil7aWYoYilmb3IodmFyIGM9MDtjPFFiLmxlbmd0aDtjKyspUmIoUWJbY10rIkFycmF5LnByb3RvdHlwZS4iK2EsYil9Owp6PWZ1bmN0aW9uKGEsYil7YiYmUmIoYSxiKX07UmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlBiO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmTmIoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTsKXy5UYj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtmdW5jdGlvbiBjKCl7fW5ldyBjO1JlZmxlY3QuY29uc3RydWN0KGMsW10sZnVuY3Rpb24oKXt9KTtyZXR1cm4gbmV3IGMgaW5zdGFuY2VvZiBjfWlmKHR5cGVvZiBSZWZsZWN0IT0idW5kZWZpbmVkIiYmUmVmbGVjdC5jb25zdHJ1Y3Qpe2lmKGEoKSlyZXR1cm4gUmVmbGVjdC5jb25zdHJ1Y3Q7dmFyIGI9UmVmbGVjdC5jb25zdHJ1Y3Q7cmV0dXJuIGZ1bmN0aW9uKGMsZCxlKXtjPWIoYyxkKTtlJiZSZWZsZWN0LnNldFByb3RvdHlwZU9mKGMsZS5wcm90b3R5cGUpO3JldHVybiBjfX1yZXR1cm4gZnVuY3Rpb24oYyxkLGUpe2U9PT12b2lkIDAmJihlPWMpO2U9TWIoZS5wcm90b3R5cGV8fE9iamVjdC5wcm90b3R5cGUpO3JldHVybiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjLGUsZCl8fGV9fSgpOwppZih0eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mPT0iZnVuY3Rpb24iKVViPU9iamVjdC5zZXRQcm90b3R5cGVPZjtlbHNle3ZhciBWYjthOnt2YXIgV2I9e2E6ITB9LFhiPXt9O3RyeXtYYi5fX3Byb3RvX189V2I7VmI9WGIuYTticmVhayBhfWNhdGNoKGEpe31WYj0hMX1VYj1WYj9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoImJgIithKTtyZXR1cm4gYX06bnVsbH1ZYj1VYjsKXy5CPWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9TWIoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYoWWIpWWIoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPSJwcm90b3R5cGUiKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLmVhPWIucHJvdG90eXBlfTtaYj1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX07Cl8uQz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6WmIoYSl9O3Rocm93IEVycm9yKCJjYCIrU3RyaW5nKGEpKTt9O18uJGI9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgQXJyYXkpKXthPV8uQyhhKTtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTthPWN9cmV0dXJuIGF9O2FjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTsKYmM9dHlwZW9mIE9iamVjdC5hc3NpZ249PSJmdW5jdGlvbiI/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbihhLGIpe2lmKGE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiZCIpO2E9T2JqZWN0KGEpO2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihkKWZvcih2YXIgZSBpbiBkKWFjKGQsZSkmJihhW2VdPWRbZV0pfXJldHVybiBhfTt6KCJPYmplY3QuYXNzaWduIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8YmN9KTtfLmNjPWZ1bmN0aW9uKGEpe2lmKCEoYSBpbnN0YW5jZW9mIE9iamVjdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZWAiK2EpO307Xy5GPWZ1bmN0aW9uKCl7dGhpcy5HPSExO3RoaXMuQT1udWxsO3RoaXMuaj12b2lkIDA7dGhpcy5nPTE7dGhpcy5vPXRoaXMuQz0wO3RoaXMuVz10aGlzLmw9bnVsbH07Xy5GLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTsKXy5GLnByb3RvdHlwZS5nZXROZXh0QWRkcmVzc0pzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O18uRi5wcm90b3R5cGUuZ2V0WWllbGRSZXN1bHRKc2M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qfTtfLkYucHJvdG90eXBlLnJldHVybj1mdW5jdGlvbihhKXt0aGlzLmw9e3JldHVybjphfTt0aGlzLmc9dGhpcy5vfTtfLkYucHJvdG90eXBlWyJyZXR1cm4iXT1fLkYucHJvdG90eXBlLnJldHVybjtfLkYucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7dGhpcy5sPXt4YTphfTt0aGlzLmc9dGhpcy5vfTtfLkYucHJvdG90eXBlLmp1bXBUaHJvdWdoRmluYWxseUJsb2Nrcz1fLkYucHJvdG90eXBlLlI7Xy5GLnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWI7cmV0dXJue3ZhbHVlOmF9fTtfLkYucHJvdG90eXBlLnlpZWxkPV8uRi5wcm90b3R5cGUuaDsKXy5GLnByb3RvdHlwZS5UPWZ1bmN0aW9uKGEsYil7YT1fLkMoYSk7dmFyIGM9YS5uZXh0KCk7Xy5jYyhjKTtpZihjLmRvbmUpdGhpcy5qPWMudmFsdWUsdGhpcy5nPWI7ZWxzZSByZXR1cm4gdGhpcy5BPWEsdGhpcy5oKGMudmFsdWUsYil9O18uRi5wcm90b3R5cGUueWllbGRBbGw9Xy5GLnByb3RvdHlwZS5UO18uRi5wcm90b3R5cGUueGE9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9O18uRi5wcm90b3R5cGUuanVtcFRvPV8uRi5wcm90b3R5cGUueGE7Xy5GLnByb3RvdHlwZS5CPWZ1bmN0aW9uKCl7dGhpcy5nPTB9O18uRi5wcm90b3R5cGUuanVtcFRvRW5kPV8uRi5wcm90b3R5cGUuQjtfLkYucHJvdG90eXBlLkY9ZnVuY3Rpb24oYSxiKXt0aGlzLkM9YTtiIT12b2lkIDAmJih0aGlzLm89Yil9O18uRi5wcm90b3R5cGUuc2V0Q2F0Y2hGaW5hbGx5QmxvY2tzPV8uRi5wcm90b3R5cGUuRjtfLkYucHJvdG90eXBlLlA9ZnVuY3Rpb24oYSl7dGhpcy5DPTA7dGhpcy5vPWF8fDB9OwpfLkYucHJvdG90eXBlLnNldEZpbmFsbHlCbG9jaz1fLkYucHJvdG90eXBlLlA7Xy5GLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5DPWJ8fDB9O18uRi5wcm90b3R5cGUubGVhdmVUcnlCbG9jaz1fLkYucHJvdG90eXBlLks7Xy5GLnByb3RvdHlwZS5EPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfHwwO2E9dGhpcy5sLmJmO3RoaXMubD1udWxsO3JldHVybiBhfTtfLkYucHJvdG90eXBlLmVudGVyQ2F0Y2hCbG9jaz1fLkYucHJvdG90eXBlLkQ7Xy5GLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGEsYixjKXtjP3RoaXMuV1tjXT10aGlzLmw6dGhpcy5XPVt0aGlzLmxdO3RoaXMuQz1hfHwwO3RoaXMubz1ifHwwfTtfLkYucHJvdG90eXBlLmVudGVyRmluYWxseUJsb2NrPV8uRi5wcm90b3R5cGUuTDsKXy5GLnByb3RvdHlwZS5xYT1mdW5jdGlvbihhLGIpe2I9dGhpcy5XLnNwbGljZShifHwwKVswXTsoYj10aGlzLmw9dGhpcy5sfHxiKT9iLkNmP3RoaXMuZz10aGlzLkN8fHRoaXMubzpiLnhhIT12b2lkIDAmJnRoaXMubzxiLnhhPyh0aGlzLmc9Yi54YSx0aGlzLmw9bnVsbCk6dGhpcy5nPXRoaXMubzp0aGlzLmc9YX07Xy5GLnByb3RvdHlwZS5sZWF2ZUZpbmFsbHlCbG9jaz1fLkYucHJvdG90eXBlLnFhO18uRi5wcm90b3R5cGUuTz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGRjKGEpfTtfLkYucHJvdG90eXBlLmZvckluPV8uRi5wcm90b3R5cGUuTzt2YXIgZGM9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5nPVtdO2Zvcih2YXIgYiBpbiBhKXRoaXMuZy5wdXNoKGIpO3RoaXMuZy5yZXZlcnNlKCl9O2RjLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmcubGVuZ3RoPjA7KXt2YXIgYT10aGlzLmcucG9wKCk7aWYoYSBpbiB0aGlzLmopcmV0dXJuIGF9cmV0dXJuIG51bGx9OwpkYy5wcm90b3R5cGUuZ2V0TmV4dD1kYy5wcm90b3R5cGUuaDtfLmVjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPU51bWJlcih0aGlzKSxiPVtdLGM9YTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWJbYy1hXT1hcmd1bWVudHNbY107cmV0dXJuIGJ9O3ooImdsb2JhbFRoaXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxfLlBifSk7eigiUmVmbGVjdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTp7fX0pO3ooIlJlZmxlY3QuY29uc3RydWN0IixmdW5jdGlvbigpe3JldHVybiBfLlRifSk7eigiUmVmbGVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpZYj9mdW5jdGlvbihiLGMpe3RyeXtyZXR1cm4gWWIoYixjKSwhMH1jYXRjaChkKXtyZXR1cm4hMX19Om51bGx9KTsKeigiU3ltYm9sIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGYsZyl7dGhpcy5nPWY7TmIodGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfTtiLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O3ZhciBjPSJqc2NvbXBfc3ltYm9sXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCkrIl8iLGQ9MCxlPWZ1bmN0aW9uKGYpe2lmKHRoaXMgaW5zdGFuY2VvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImciKTtyZXR1cm4gbmV3IGIoYysoZnx8IiIpKyJfIitkKyssZil9O3JldHVybiBlfSk7eigiU3ltYm9sLml0ZXJhdG9yIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKCJoIik7TmIoQXJyYXkucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBmYyhaYih0aGlzKSl9fSk7cmV0dXJuIGF9KTsKdmFyIGZjPWZ1bmN0aW9uKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfTsKeigiUHJvbWlzZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3RoaXMuZz1udWxsfWZ1bmN0aW9uIGMoZyl7cmV0dXJuIGcgaW5zdGFuY2VvZiBlP2c6bmV3IGUoZnVuY3Rpb24oaCl7aChnKX0pfWlmKGEpcmV0dXJuIGE7Yi5wcm90b3R5cGUuaD1mdW5jdGlvbihnKXtpZih0aGlzLmc9PW51bGwpe3RoaXMuZz1bXTt2YXIgaD10aGlzO3RoaXMuaihmdW5jdGlvbigpe2gubygpfSl9dGhpcy5nLnB1c2goZyl9O3ZhciBkPV8uUGIuc2V0VGltZW91dDtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGcpe2QoZywwKX07Yi5wcm90b3R5cGUubz1mdW5jdGlvbigpe2Zvcig7dGhpcy5nJiZ0aGlzLmcubGVuZ3RoOyl7dmFyIGc9dGhpcy5nO3RoaXMuZz1bXTtmb3IodmFyIGg9MDtoPGcubGVuZ3RoOysraCl7dmFyIGs9Z1toXTtnW2hdPW51bGw7dHJ5e2soKX1jYXRjaChsKXt0aGlzLmwobCl9fX10aGlzLmc9bnVsbH07Yi5wcm90b3R5cGUubD1mdW5jdGlvbihnKXt0aGlzLmooZnVuY3Rpb24oKXt0aHJvdyBnOwp9KX07dmFyIGU9ZnVuY3Rpb24oZyl7dGhpcy5nPTA7dGhpcy5qPXZvaWQgMDt0aGlzLmg9W107dGhpcy5CPSExO3ZhciBoPXRoaXMubCgpO3RyeXtnKGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtlLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhsKXtyZXR1cm4gZnVuY3Rpb24obil7a3x8KGs9ITAsbC5jYWxsKGgsbikpfX12YXIgaD10aGlzLGs9ITE7cmV0dXJue3Jlc29sdmU6Zyh0aGlzLkkpLHJlamVjdDpnKHRoaXMubyl9fTtlLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGcpe2lmKGc9PT10aGlzKXRoaXMubyhuZXcgVHlwZUVycm9yKCJpIikpO2Vsc2UgaWYoZyBpbnN0YW5jZW9mIGUpdGhpcy5LKGcpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGcpe2Nhc2UgIm9iamVjdCI6dmFyIGg9ZyE9bnVsbDticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjpoPSEwO2JyZWFrIGE7ZGVmYXVsdDpoPSExfWg/dGhpcy5HKGcpOnRoaXMuQShnKX19O2UucHJvdG90eXBlLkc9CmZ1bmN0aW9uKGcpe3ZhciBoPXZvaWQgMDt0cnl7aD1nLnRoZW59Y2F0Y2goayl7dGhpcy5vKGspO3JldHVybn10eXBlb2YgaD09ImZ1bmN0aW9uIj90aGlzLkwoaCxnKTp0aGlzLkEoZyl9O2UucHJvdG90eXBlLm89ZnVuY3Rpb24oZyl7dGhpcy5DKDIsZyl9O2UucHJvdG90eXBlLkE9ZnVuY3Rpb24oZyl7dGhpcy5DKDEsZyl9O2UucHJvdG90eXBlLkM9ZnVuY3Rpb24oZyxoKXtpZih0aGlzLmchPTApdGhyb3cgRXJyb3IoImpgIitnKyJgIitoKyJgIit0aGlzLmcpO3RoaXMuZz1nO3RoaXMuaj1oO3RoaXMuZz09PTImJnRoaXMuVygpO3RoaXMuRCgpfTtlLnByb3RvdHlwZS5XPWZ1bmN0aW9uKCl7dmFyIGc9dGhpcztkKGZ1bmN0aW9uKCl7aWYoZy5GKCkpe3ZhciBoPV8uUGIuY29uc29sZTt0eXBlb2YgaCE9PSJ1bmRlZmluZWQiJiZoLmVycm9yKGcuail9fSwxKX07ZS5wcm90b3R5cGUuRj1mdW5jdGlvbigpe2lmKHRoaXMuQilyZXR1cm4hMTt2YXIgZz1fLlBiLkN1c3RvbUV2ZW50LApoPV8uUGIuRXZlbnQsaz1fLlBiLmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGs9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgZz09PSJmdW5jdGlvbiI/Zz1uZXcgZygidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBoPT09ImZ1bmN0aW9uIj9nPW5ldyBoKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGc9Xy5QYi5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxnLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxnKSk7Zy5wcm9taXNlPXRoaXM7Zy5yZWFzb249dGhpcy5qO3JldHVybiBrKGcpfTtlLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7aWYodGhpcy5oIT1udWxsKXtmb3IodmFyIGc9MDtnPHRoaXMuaC5sZW5ndGg7KytnKWYuaCh0aGlzLmhbZ10pO3RoaXMuaD1udWxsfX07dmFyIGY9bmV3IGI7ZS5wcm90b3R5cGUuSz1mdW5jdGlvbihnKXt2YXIgaD10aGlzLmwoKTtnLkljKGgucmVzb2x2ZSwKaC5yZWplY3QpfTtlLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGcsaCl7dmFyIGs9dGhpcy5sKCk7dHJ5e2cuY2FsbChoLGsucmVzb2x2ZSxrLnJlamVjdCl9Y2F0Y2gobCl7ay5yZWplY3QobCl9fTtlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gayhwLHIpe3JldHVybiB0eXBlb2YgcD09ImZ1bmN0aW9uIj9mdW5jdGlvbih0KXt0cnl7bChwKHQpKX1jYXRjaChBKXtuKEEpfX06cn12YXIgbCxuLHE9bmV3IGUoZnVuY3Rpb24ocCxyKXtsPXA7bj1yfSk7dGhpcy5JYyhrKGcsbCksayhoLG4pKTtyZXR1cm4gcX07ZS5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oZyl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsZyl9O2UucHJvdG90eXBlLkljPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gaygpe3N3aXRjaChsLmcpe2Nhc2UgMTpnKGwuaik7YnJlYWs7Y2FzZSAyOmgobC5qKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJrYCIrbC5nKTt9fXZhciBsPXRoaXM7dGhpcy5oPT0KbnVsbD9mLmgoayk6dGhpcy5oLnB1c2goayk7dGhpcy5CPSEwfTtlLnJlc29sdmU9YztlLnJlamVjdD1mdW5jdGlvbihnKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oaCxrKXtrKGcpfSl9O2UucmFjZT1mdW5jdGlvbihnKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oaCxrKXtmb3IodmFyIGw9Xy5DKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKWMobi52YWx1ZSkuSWMoaCxrKX0pfTtlLmFsbD1mdW5jdGlvbihnKXt2YXIgaD1fLkMoZyksaz1oLm5leHQoKTtyZXR1cm4gay5kb25lP2MoW10pOm5ldyBlKGZ1bmN0aW9uKGwsbil7ZnVuY3Rpb24gcSh0KXtyZXR1cm4gZnVuY3Rpb24oQSl7cFt0XT1BO3ItLTtyPT0wJiZsKHApfX12YXIgcD1bXSxyPTA7ZG8gcC5wdXNoKHZvaWQgMCkscisrLGMoay52YWx1ZSkuSWMocShwLmxlbmd0aC0xKSxuKSxrPWgubmV4dCgpO3doaWxlKCFrLmRvbmUpfSl9O3JldHVybiBlfSk7CnZhciBoYz1mdW5jdGlvbihhLGIsYyl7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJsYCIrYyk7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCl0aHJvdyBuZXcgVHlwZUVycm9yKCJtYCIrYyk7cmV0dXJuIGErIiJ9O3ooIlN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPWhjKHRoaXMsYiwic3RhcnRzV2l0aCIpLGU9ZC5sZW5ndGgsZj1iLmxlbmd0aDtjPU1hdGgubWF4KDAsTWF0aC5taW4oY3wwLGQubGVuZ3RoKSk7Zm9yKHZhciBnPTA7ZzxmJiZjPGU7KWlmKGRbYysrXSE9YltnKytdKXJldHVybiExO3JldHVybiBnPj1mfX0pO3ooIk9iamVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fFlifSk7eigiU3ltYm9sLmRpc3Bvc2UiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6U3ltYm9sKCJuIil9KTsKeigiV2Vha01hcCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBjKGspe3ZhciBsPXR5cGVvZiBrO3JldHVybiBsPT09Im9iamVjdCImJmshPT1udWxsfHxsPT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBkKGspe2lmKCFhYyhrLGYpKXt2YXIgbD1uZXcgYjtOYihrLGYse3ZhbHVlOmx9KX19ZnVuY3Rpb24gZShrKXt2YXIgbD1PYmplY3Rba107bCYmKE9iamVjdFtrXT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgYilyZXR1cm4gbjtPYmplY3QuaXNFeHRlbnNpYmxlKG4pJiZkKG4pO3JldHVybiBsKG4pfSl9aWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgaz1PYmplY3Quc2VhbCh7fSksbD1PYmplY3Quc2VhbCh7fSksbj1uZXcgYShbW2ssMl0sW2wsM11dKTtpZihuLmdldChrKSE9Mnx8bi5nZXQobCkhPTMpcmV0dXJuITE7bi5kZWxldGUoayk7bi5zZXQobCw0KTtyZXR1cm4hbi5oYXMoaykmJm4uZ2V0KGwpPT00fWNhdGNoKHEpe3JldHVybiExfX0oKSlyZXR1cm4gYTsKdmFyIGY9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtlKCJmcmVlemUiKTtlKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2UoInNlYWwiKTt2YXIgZz0wLGg9ZnVuY3Rpb24oayl7dGhpcy5nPShnKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYoayl7az1fLkMoayk7Zm9yKHZhciBsOyEobD1rLm5leHQoKSkuZG9uZTspbD1sLnZhbHVlLHRoaXMuc2V0KGxbMF0sbFsxXSl9fTtoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oayxsKXtpZighYyhrKSl0aHJvdyBFcnJvcigibyIpO2Qoayk7aWYoIWFjKGssZikpdGhyb3cgRXJyb3IoInBgIitrKTtrW2ZdW3RoaXMuZ109bDtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZhYyhrLGYpP2tbZl1bdGhpcy5nXTp2b2lkIDB9O2gucHJvdG90eXBlLmhhcz1mdW5jdGlvbihrKXtyZXR1cm4gYyhrKSYmYWMoayxmKSYmYWMoa1tmXSx0aGlzLmcpfTtoLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oayl7cmV0dXJuIGMoaykmJgphYyhrLGYpJiZhYyhrW2ZdLHRoaXMuZyk/ZGVsZXRlIGtbZl1bdGhpcy5nXTohMX07cmV0dXJuIGh9KTsKeigiTWFwIixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGg9T2JqZWN0LnNlYWwoe3g6NH0pLGs9bmV3IGEoXy5DKFtbaCwicyJdXSkpO2lmKGsuZ2V0KGgpIT0icyJ8fGsuc2l6ZSE9MXx8ay5nZXQoe3g6NH0pfHxrLnNldCh7eDo0fSwidCIpIT1rfHxrLnNpemUhPTIpcmV0dXJuITE7dmFyIGw9ay5lbnRyaWVzKCksbj1sLm5leHQoKTtpZihuLmRvbmV8fG4udmFsdWVbMF0hPWh8fG4udmFsdWVbMV0hPSJzIilyZXR1cm4hMTtuPWwubmV4dCgpO3JldHVybiBuLmRvbmV8fG4udmFsdWVbMF0ueCE9NHx8bi52YWx1ZVsxXSE9InQifHwhbC5uZXh0KCkuZG9uZT8hMTohMH1jYXRjaChxKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dmFyIGI9bmV3IFdlYWtNYXAsYz1mdW5jdGlvbihoKXt0aGlzWzBdPXt9O3RoaXNbMV09CmYoKTt0aGlzLnNpemU9MDtpZihoKXtoPV8uQyhoKTtmb3IodmFyIGs7IShrPWgubmV4dCgpKS5kb25lOylrPWsudmFsdWUsdGhpcy5zZXQoa1swXSxrWzFdKX19O2MucHJvdG90eXBlLnNldD1mdW5jdGlvbihoLGspe2g9aD09PTA/MDpoO3ZhciBsPWQodGhpcyxoKTtsLmxpc3R8fChsLmxpc3Q9dGhpc1swXVtsLmlkXT1bXSk7bC5lbnRyeT9sLmVudHJ5LnZhbHVlPWs6KGwuZW50cnk9e25leHQ6dGhpc1sxXSxiYjp0aGlzWzFdLmJiLGhlYWQ6dGhpc1sxXSxrZXk6aCx2YWx1ZTprfSxsLmxpc3QucHVzaChsLmVudHJ5KSx0aGlzWzFdLmJiLm5leHQ9bC5lbnRyeSx0aGlzWzFdLmJiPWwuZW50cnksdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTtjLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oaCl7aD1kKHRoaXMsaCk7cmV0dXJuIGguZW50cnkmJmgubGlzdD8oaC5saXN0LnNwbGljZShoLmluZGV4LDEpLGgubGlzdC5sZW5ndGh8fGRlbGV0ZSB0aGlzWzBdW2guaWRdLGguZW50cnkuYmIubmV4dD0KaC5lbnRyeS5uZXh0LGguZW50cnkubmV4dC5iYj1oLmVudHJ5LmJiLGguZW50cnkuaGVhZD1udWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07Yy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzWzBdPXt9O3RoaXNbMV09dGhpc1sxXS5iYj1mKCk7dGhpcy5zaXplPTB9O2MucHJvdG90eXBlLmhhcz1mdW5jdGlvbihoKXtyZXR1cm4hIWQodGhpcyxoKS5lbnRyeX07Yy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGgpe3JldHVybihoPWQodGhpcyxoKS5lbnRyeSkmJmgudmFsdWV9O2MucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gZSh0aGlzLGZ1bmN0aW9uKGgpe3JldHVybltoLmtleSxoLnZhbHVlXX0pfTtjLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC5rZXl9KX07Yy5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC52YWx1ZX0pfTtjLnByb3RvdHlwZS5mb3JFYWNoPQpmdW5jdGlvbihoLGspe2Zvcih2YXIgbD10aGlzLmVudHJpZXMoKSxuOyEobj1sLm5leHQoKSkuZG9uZTspbj1uLnZhbHVlLGguY2FsbChrLG5bMV0sblswXSx0aGlzKX07Yy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1jLnByb3RvdHlwZS5lbnRyaWVzO3ZhciBkPWZ1bmN0aW9uKGgsayl7dmFyIGw9ayYmdHlwZW9mIGs7bD09Im9iamVjdCJ8fGw9PSJmdW5jdGlvbiI/Yi5oYXMoayk/bD1iLmdldChrKToobD0iIisgKytnLGIuc2V0KGssbCkpOmw9InBfIitrO3ZhciBuPWhbMF1bbF07aWYobiYmYWMoaFswXSxsKSlmb3IoaD0wO2g8bi5sZW5ndGg7aCsrKXt2YXIgcT1uW2hdO2lmKGshPT1rJiZxLmtleSE9PXEua2V5fHxrPT09cS5rZXkpcmV0dXJue2lkOmwsbGlzdDpuLGluZGV4OmgsZW50cnk6cX19cmV0dXJue2lkOmwsbGlzdDpuLGluZGV4Oi0xLGVudHJ5OnZvaWQgMH19LGU9ZnVuY3Rpb24oaCxrKXt2YXIgbD1oWzFdO3JldHVybiBmYyhmdW5jdGlvbigpe2lmKGwpe2Zvcig7bC5oZWFkIT0KaFsxXTspbD1sLmJiO2Zvcig7bC5uZXh0IT1sLmhlYWQ7KXJldHVybiBsPWwubmV4dCx7ZG9uZTohMSx2YWx1ZTprKGwpfTtsPW51bGx9cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX0pfSxmPWZ1bmN0aW9uKCl7dmFyIGg9e307cmV0dXJuIGguYmI9aC5uZXh0PWguaGVhZD1ofSxnPTA7cmV0dXJuIGN9KTsKeigiU2V0IixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGM9T2JqZWN0LnNlYWwoe3g6NH0pLGQ9bmV3IGEoXy5DKFtjXSkpO2lmKCFkLmhhcyhjKXx8ZC5zaXplIT0xfHxkLmFkZChjKSE9ZHx8ZC5zaXplIT0xfHxkLmFkZCh7eDo0fSkhPWR8fGQuc2l6ZSE9MilyZXR1cm4hMTt2YXIgZT1kLmVudHJpZXMoKSxmPWUubmV4dCgpO2lmKGYuZG9uZXx8Zi52YWx1ZVswXSE9Y3x8Zi52YWx1ZVsxXSE9YylyZXR1cm4hMTtmPWUubmV4dCgpO3JldHVybiBmLmRvbmV8fGYudmFsdWVbMF09PWN8fGYudmFsdWVbMF0ueCE9NHx8Zi52YWx1ZVsxXSE9Zi52YWx1ZVswXT8hMTplLm5leHQoKS5kb25lfWNhdGNoKGcpe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihjKXt0aGlzLmc9bmV3IE1hcDtpZihjKXtjPQpfLkMoYyk7Zm9yKHZhciBkOyEoZD1jLm5leHQoKSkuZG9uZTspdGhpcy5hZGQoZC52YWx1ZSl9dGhpcy5zaXplPXRoaXMuZy5zaXplfTtiLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYyl7Yz1jPT09MD8wOmM7dGhpcy5nLnNldChjLGMpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZTtyZXR1cm4gdGhpc307Yi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGMpe2M9dGhpcy5nLmRlbGV0ZShjKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGN9O2IucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5nLmNsZWFyKCk7dGhpcy5zaXplPTB9O2IucHJvdG90eXBlLmhhcz1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5nLmhhcyhjKX07Yi5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuZW50cmllcygpfTtiLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtiLnByb3RvdHlwZS5rZXlzPWIucHJvdG90eXBlLnZhbHVlczsKYi5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1iLnByb3RvdHlwZS52YWx1ZXM7Yi5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihjLGQpe3ZhciBlPXRoaXM7dGhpcy5nLmZvckVhY2goZnVuY3Rpb24oZil7cmV0dXJuIGMuY2FsbChkLGYsZixlKX0pfTtyZXR1cm4gYn0pO3ZhciBpYz1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBTdHJpbmcmJihhKz0iIik7dmFyIGM9MCxkPSExLGU9e25leHQ6ZnVuY3Rpb24oKXtpZighZCYmYzxhLmxlbmd0aCl7dmFyIGY9YysrO3JldHVybnt2YWx1ZTpiKGYsYVtmXSksZG9uZTohMX19ZD0hMDtyZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fX07ZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBlfTt6KCJBcnJheS5wcm90b3R5cGUuZW50cmllcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBpYyh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuW2IsY119KX19KTsKeigiQXJyYXkucHJvdG90eXBlLmtleXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXtyZXR1cm4gaWModGhpcyxmdW5jdGlvbihiKXtyZXR1cm4gYn0pfX0pO3ooIlN0cmluZy5wcm90b3R5cGUuZW5kc1dpdGgiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD1oYyh0aGlzLGIsImVuZHNXaXRoIik7Yz09PXZvaWQgMCYmKGM9ZC5sZW5ndGgpO2M9TWF0aC5tYXgoMCxNYXRoLm1pbihjfDAsZC5sZW5ndGgpKTtmb3IodmFyIGU9Yi5sZW5ndGg7ZT4wJiZjPjA7KWlmKGRbLS1jXSE9YlstLWVdKXJldHVybiExO3JldHVybiBlPD0wfX0pO3ooIk51bWJlci5pc0Zpbml0ZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGIhPT0ibnVtYmVyIj8hMTohaXNOYU4oYikmJmIhPT1JbmZpbml0eSYmYiE9PS1JbmZpbml0eX19KTsKeigiQXJyYXkucHJvdG90eXBlLmZpbmQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXthOnt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7Zm9yKHZhciBlPWQubGVuZ3RoLGY9MDtmPGU7ZisrKXt2YXIgZz1kW2ZdO2lmKGIuY2FsbChjLGcsZixkKSl7Yj1nO2JyZWFrIGF9fWI9dm9pZCAwfXJldHVybiBifX0pO3ooIk9iamVjdC5lbnRyaWVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilhYyhiLGQpJiZjLnB1c2goW2QsYltkXV0pO3JldHVybiBjfX0pOwp6KCJBcnJheS5mcm9tIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyxkKXtjPWMhPW51bGw/YzpmdW5jdGlvbihoKXtyZXR1cm4gaH07dmFyIGU9W10sZj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07aWYodHlwZW9mIGY9PSJmdW5jdGlvbiIpe2I9Zi5jYWxsKGIpO2Zvcih2YXIgZz0wOyEoZj1iLm5leHQoKSkuZG9uZTspZS5wdXNoKGMuY2FsbChkLGYudmFsdWUsZysrKSl9ZWxzZSBmb3IoZj1iLmxlbmd0aCxnPTA7ZzxmO2crKyllLnB1c2goYy5jYWxsKGQsYltnXSxnKSk7cmV0dXJuIGV9fSk7eigiQXJyYXkucHJvdG90eXBlLnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBpYyh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGN9KX19KTsKeigiT2JqZWN0LnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGIpYWMoYixkKSYmYy5wdXNoKGJbZF0pO3JldHVybiBjfX0pO3ooIk9iamVjdC5pcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBiPT09Yz9iIT09MHx8MS9iPT09MS9jOmIhPT1iJiZjIT09Y319KTt6KCJBcnJheS5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7dmFyIGU9ZC5sZW5ndGg7Yz1jfHwwO2ZvcihjPDAmJihjPU1hdGgubWF4KGMrZSwwKSk7YzxlO2MrKyl7dmFyIGY9ZFtjXTtpZihmPT09Ynx8T2JqZWN0LmlzKGYsYikpcmV0dXJuITB9cmV0dXJuITF9fSk7CnooIlN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4gaGModGhpcyxiLCJpbmNsdWRlcyIpLmluZGV4T2YoYixjfHwwKSE9PS0xfX0pO3ooIk51bWJlci5NQVhfU0FGRV9JTlRFR0VSIixmdW5jdGlvbigpe3JldHVybiA5MDA3MTk5MjU0NzQwOTkxfSk7eigiTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIiLGZ1bmN0aW9uKCl7cmV0dXJuLTkwMDcxOTkyNTQ3NDA5OTF9KTt6KCJOdW1iZXIuaXNJbnRlZ2VyIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYik/Yj09PU1hdGguZmxvb3IoYik6ITF9fSk7eigiTnVtYmVyLmlzU2FmZUludGVnZXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoYikmJk1hdGguYWJzKGIpPD1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUn19KTsKeigiT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybltdfX0pO3ooIk1hdGgudHJ1bmMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI9PT1JbmZpbml0eXx8Yj09PS1JbmZpbml0eXx8Yj09PTApcmV0dXJuIGI7dmFyIGM9TWF0aC5mbG9vcihNYXRoLmFicyhiKSk7cmV0dXJuIGI8MD8tYzpjfX0pO3ooIk51bWJlci5pc05hTiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGI9PT0ibnVtYmVyIiYmaXNOYU4oYil9fSk7CnooIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2lmKGIgaW5zdGFuY2VvZiBSZWdFeHAmJiFiLmdsb2JhbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJxIik7cmV0dXJuIGIgaW5zdGFuY2VvZiBSZWdFeHA/dGhpcy5yZXBsYWNlKGIsYyk6dGhpcy5yZXBsYWNlKG5ldyBSZWdFeHAoU3RyaW5nKGIpLnJlcGxhY2UoLyhbLSgpXFtcXXt9Kz8qLiRcXnwsOiM8IVxcXSkvZywiXFwkMSIpLnJlcGxhY2UoL1x4MDgvZywiXFx4MDgiKSwiZyIpLGMpfX0pOwp6KCJBcnJheS5wcm90b3R5cGUuZmxhdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtiPWI9PT12b2lkIDA/MTpiO3ZhciBjPVtdO0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGhpcyxmdW5jdGlvbihkKXtBcnJheS5pc0FycmF5KGQpJiZiPjA/KGQ9QXJyYXkucHJvdG90eXBlLmZsYXQuY2FsbChkLGItMSksYy5wdXNoLmFwcGx5KGMsZCkpOmMucHVzaChkKX0pO3JldHVybiBjfX0pO3ooIlByb21pc2UucHJvdG90eXBlLmZpbmFsbHkiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBjfSl9LGZ1bmN0aW9uKGMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYigpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX0pfX0pOwp6KCJBcnJheS5wcm90b3R5cGUuZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7dmFyIGU9dGhpcy5sZW5ndGh8fDA7YzwwJiYoYz1NYXRoLm1heCgwLGUrYykpO2lmKGQ9PW51bGx8fGQ+ZSlkPWU7ZD1OdW1iZXIoZCk7ZDwwJiYoZD1NYXRoLm1heCgwLGUrZCkpO2ZvcihjPU51bWJlcihjfHwwKTtjPGQ7YysrKXRoaXNbY109YjtyZXR1cm4gdGhpc319KTtTYigiZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpBcnJheS5wcm90b3R5cGUuZmlsbH0pO18uX0R1bXBFeGNlcHRpb249d2luZG93Ll9EdW1wRXhjZXB0aW9ufHxmdW5jdGlvbihhKXt0aHJvdyBhO307d2luZG93Ll9EdW1wRXhjZXB0aW9uPV8uX0R1bXBFeGNlcHRpb247dmFyIGpjLGxjLG1jLG5jLHphLEFhLHBjLHFjO2pjPWpjfHx7fTtfLnY9dGhpc3x8c2VsZjtsYz1mdW5jdGlvbihhLGIpe3ZhciBjPV8ua2MoIldJWl9nbG9iYWxfZGF0YS5veE4zbmIiKTthPWMmJmNbYV07cmV0dXJuIGEhPW51bGw/YTpifTttYz1fLnYuX0ZfdG9nZ2xlc19kZWZhdWx0X3RyfHxbXTtuYz1mdW5jdGlvbigpe307bmMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O18ua2M9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udjtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy5vYz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtyZXR1cm4gYiE9Im9iamVjdCI/YjphP0FycmF5LmlzQXJyYXkoYSk/ImFycmF5IjpiOiJudWxsIn07Xy5xYT1mdW5jdGlvbihhKXt2YXIgYj1fLm9jKGEpO3JldHVybiBiPT0iYXJyYXkifHxiPT0ib2JqZWN0IiYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIn07Cl8ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTt6YT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtBYT0wO3BjPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5jYWxsLmFwcGx5KGEuYmluZCxhcmd1bWVudHMpfTtxYz1mdW5jdGlvbihhLGIsYyl7aWYoIWEpdGhyb3cgRXJyb3IoKTtpZihhcmd1bWVudHMubGVuZ3RoPjIpe3ZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO0FycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGUsZCk7cmV0dXJuIGEuYXBwbHkoYixlKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYixhcmd1bWVudHMpfX07Cl8ueT1mdW5jdGlvbihhLGIsYyl7Xy55PUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiZGdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoIm5hdGl2ZSBjb2RlIikhPS0xP3BjOnFjO3JldHVybiBfLnkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtfLnJjPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBjPV8udixkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07Cl8uRz1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5lYT1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EuTWs9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTtfLkcoYWEsRXJyb3IpO2FhLnByb3RvdHlwZS5uYW1lPSJDdXN0b21FcnJvciI7dmFyIHNjO18uRyhjYSxhYSk7Y2EucHJvdG90eXBlLm5hbWU9IkFzc2VydGlvbkVycm9yIjt2YXIgZWE7dmFyIHRjPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5nPWJ8fG51bGx9O3RjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciB1Yz1uZXcgdGMoIm43M3F3ZiIsIm43M3F3ZiIpO3ZhciBuYT1TeW1ib2woInMiKTtfLnUucHJvdG90eXBlLnFhPSExO18udS5wcm90b3R5cGUucWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xYX07Xy51LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5xYXx8KHRoaXMucWE9ITAsdGhpcy5NKCkpfTtfLnUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLnUucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtpZih0aGlzLlcpZm9yKDt0aGlzLlcubGVuZ3RoOyl0aGlzLlcuc2hpZnQoKSgpfTt2YXIgc2Esd2M7c2E9QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiB0eXBlb2YgYiE9PSJzdHJpbmcifHxiLmxlbmd0aCE9MT8tMTphLmluZGV4T2YoYiwwKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihjIGluIGEmJmFbY109PT1iKXJldHVybiBjO3JldHVybi0xfTtfLnZjPUFycmF5LnByb3RvdHlwZS5mb3JFYWNoP2Z1bmN0aW9uKGEsYil7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5sZW5ndGgsZD10eXBlb2YgYT09PSJzdHJpbmciP2Euc3BsaXQoIiIpOmEsZT0wO2U8YztlKyspZSBpbiBkJiZiLmNhbGwodm9pZCAwLGRbZV0sZSxhKX07CndjPUFycmF5LnByb3RvdHlwZS5yZWR1Y2U/ZnVuY3Rpb24oYSxiLGMpe0FycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhLGIsYyl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jOygwLF8udmMpKGEsZnVuY3Rpb24oZSxmKXtkPWIuY2FsbCh2b2lkIDAsZCxlLGYsYSl9KX07Xy54Yz1BcnJheS5wcm90b3R5cGUuc29tZT9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YSxlPTA7ZTxjO2UrKylpZihlIGluIGQmJmIuY2FsbCh2b2lkIDAsZFtlXSxlLGEpKXJldHVybiEwO3JldHVybiExfTtfLnljPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O18uQ2EucHJvdG90eXBlLmFzcGVjdFJhdGlvPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2lkdGgvdGhpcy5oZWlnaHR9O18uQ2EucHJvdG90eXBlLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLkNhLnByb3RvdHlwZS5mbG9vcj1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5DYS5wcm90b3R5cGUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O3ZhciBFYTtFYT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO18uemM9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCBpbiBhKWIuY2FsbChjLGFbZF0sZCxhKX07Xy5BYz1TdHJpbmcucHJvdG90eXBlLnRyaW0/ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHJpbSgpfTpmdW5jdGlvbihhKXtyZXR1cm4vXltcc1x4YTBdKihbXHNcU10qPylbXHNceGEwXSokLy5leGVjKGEpWzFdfTt2YXIgQmM9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsSGE9QmMsSmE7Xy5MYT1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5MYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLkNjPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBVUkw9PT0iZnVuY3Rpb24ifSk7Xy5EYz1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5EYy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLkVjPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLkRjKEJjP0JjLmVtcHR5SFRNTDoiIil9KTtfLlBhPWZ1bmN0aW9uKGEpe3RoaXMuZz1hfTtfLlBhLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcrIiJ9O18uR2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYSkpfTtfLkRiPWZ1bmN0aW9uKGEpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYS5yZXBsYWNlKC9cKy9nLCIgIikpfTt2YXIgRmM9ISEobWNbMF0+PjI1JjEpLEdjPSEhKG1jWzBdPj4yMCYxKSxIYz0hIShtY1swXT4+MjcmMSksSWM9ISEobWNbMF0mODE5MiksSmM9ISEobWNbMF0+PjE5JjEpLEtjPSEhKG1jWzBdPj4xNyYxKSxMYz0hIShtY1swXT4+MTgmMSk7dmFyIHRiLE5jLE9jO18uVWE9RmM/SGM6bGMoNjEwNDAxMzAxLCExKTtfLk1jPUZjP0djfHwhSWM6bGMoNzQ4NDAyMTQ3LCEwKTt0Yj1GYz9KYzpsYyg5MTk0NDQ4MjQsITEpO05jPUZjP0tjOmxjKDkyODg3NTM5OCwhMSk7T2M9RmM/TGM6bGMoNjgzNzQ5MjAxLCExKTt2YXIgUGM7UGM9Xy52Lm5hdmlnYXRvcjtfLlZhPVBjP1BjLnVzZXJBZ2VudERhdGF8fG51bGw6bnVsbDtfLlFjPWZ1bmN0aW9uKGEpe18uUWNbIiAiXShhKTtyZXR1cm4gYX07Xy5RY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgZWQ7Xy5SYz1fLlhhKCk7Xy5TYz1fLldhKCk/ITE6Xy53KCJUcmlkZW50Iil8fF8udygiTVNJRSIpO18uVGM9Xy53KCJFZGdlIik7Xy5VYz1fLncoIkdlY2tvIikmJiEoXy5UYSgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikhPS0xJiYhXy53KCJFZGdlIikpJiYhKF8udygiVHJpZGVudCIpfHxfLncoIk1TSUUiKSkmJiFfLncoIkVkZ2UiKTtfLlZjPV8uVGEoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIV8udygiRWRnZSIpO18uV2M9Xy5WYyYmXy53KCJNb2JpbGUiKTtfLlljPV8uYWIoKTtfLlpjPVlhKCk/Xy5WYS5wbGF0Zm9ybT09PSJXaW5kb3dzIjpfLncoIldpbmRvd3MiKTtfLiRjPVlhKCk/Xy5WYS5wbGF0Zm9ybT09PSJBbmRyb2lkIjpfLncoIkFuZHJvaWQiKTtfLmFkPV8uWmEoKTtfLmJkPV8udygiaVBhZCIpO18uY2Q9Xy53KCJpUG9kIik7Xy5kZD1fLiRhKCk7CmE6e3ZhciBmZD0iIixnZD1mdW5jdGlvbigpe3ZhciBhPV8uVGEoKTtpZihfLlVjKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoYSk7aWYoXy5UYylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKGEpO2lmKF8uU2MpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKGEpO2lmKF8uVmMpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoYSk7aWYoXy5SYylyZXR1cm4vKD86VmVyc2lvbilbIFwvXT8oXFMrKS8uZXhlYyhhKX0oKTtnZCYmKGZkPWdkP2dkWzFdOiIiKTtpZihfLlNjKXt2YXIgaGQsaWQ9Xy52LmRvY3VtZW50O2hkPWlkP2lkLmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoaGQhPW51bGwmJmhkPnBhcnNlRmxvYXQoZmQpKXtlZD1TdHJpbmcoaGQpO2JyZWFrIGF9fWVkPWZkfV8uamQ9ZWQ7dmFyIGtkPSJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIiksCmxkPVtbIkEiLG5ldyBNYXAoW1siaHJlZiIse3VhOjd9XV0pXSxbIkFSRUEiLG5ldyBNYXAoW1siaHJlZiIse3VhOjd9XV0pXSxbIkxJTksiLG5ldyBNYXAoW1siaHJlZiIse3VhOjUsY29uZGl0aW9uczpuZXcgTWFwKFtbInJlbCIsbmV3IFNldCgiYWx0ZXJuYXRlIGF1dGhvciBib29rbWFyayBjYW5vbmljYWwgY2l0ZSBoZWxwIGljb24gbGljZW5zZSBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpKV1dKX1dXSldLFsiU09VUkNFIixuZXcgTWFwKFtbInNyYyIse3VhOjV9XSxbInNyY3NldCIse3VhOjZ9XV0pXSxbIklNRyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV0sWyJzcmNzZXQiLHt1YTo2fV1dKV0sWyJWSURFTyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV1dKV0sWyJBVURJTyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV1dKV1dLG1kPSJ0aXRsZSBhcmlhLWF0b21pYyBhcmlhLWF1dG9jb21wbGV0ZSBhcmlhLWJ1c3kgYXJpYS1jaGVja2VkIGFyaWEtY3VycmVudCBhcmlhLWRpc2FibGVkIGFyaWEtZHJvcGVmZmVjdCBhcmlhLWV4cGFuZGVkIGFyaWEtaGFzcG9wdXAgYXJpYS1oaWRkZW4gYXJpYS1pbnZhbGlkIGFyaWEtbGFiZWwgYXJpYS1sZXZlbCBhcmlhLWxpdmUgYXJpYS1tdWx0aWxpbmUgYXJpYS1tdWx0aXNlbGVjdGFibGUgYXJpYS1vcmllbnRhdGlvbiBhcmlhLXBvc2luc2V0IGFyaWEtcHJlc3NlZCBhcmlhLXJlYWRvbmx5IGFyaWEtcmVsZXZhbnQgYXJpYS1yZXF1aXJlZCBhcmlhLXNlbGVjdGVkIGFyaWEtc2V0c2l6ZSBhcmlhLXNvcnQgYXJpYS12YWx1ZW1heCBhcmlhLXZhbHVlbWluIGFyaWEtdmFsdWVub3cgYXJpYS12YWx1ZXRleHQgYWx0IGFsaWduIGF1dG9jYXBpdGFsaXplIGF1dG9jb21wbGV0ZSBhdXRvY29ycmVjdCBhdXRvZm9jdXMgYXV0b3BsYXkgYmdjb2xvciBib3JkZXIgY2VsbHBhZGRpbmcgY2VsbHNwYWNpbmcgY2hlY2tlZCBjaXRlIGNvbG9yIGNvbHMgY29sc3BhbiBjb250cm9scyBjb250cm9sc2xpc3QgY29vcmRzIGNyb3Nzb3JpZ2luIGRhdGV0aW1lIGRpc2FibGVkIGRvd25sb2FkIGRyYWdnYWJsZSBlbmN0eXBlIGZhY2UgZm9ybWVuY3R5cGUgZnJhbWVib3JkZXIgaGVpZ2h0IGhyZWZsYW5nIGhpZGRlbiBpbmVydCBpc21hcCBsYWJlbCBsYW5nIGxvb3AgbWF4IG1heGxlbmd0aCBtZWRpYSBtaW5sZW5ndGggbWluIG11bHRpcGxlIG11dGVkIG5vbmNlIG9wZW4gcGxheXNpbmxpbmUgcGxhY2Vob2xkZXIgcHJlbG9hZCByZWwgcmVxdWlyZWQgcmV2ZXJzZWQgcm9sZSByb3dzIHJvd3NwYW4gc2VsZWN0ZWQgc2hhcGUgc2l6ZSBzaXplcyBzbG90IHNwYW4gc3BlbGxjaGVjayBzdGFydCBzdGVwIHN1bW1hcnkgdHJhbnNsYXRlIHR5cGUgdXNlbWFwIHZhbGlnbiB2YWx1ZSB3aWR0aCB3cmFwIGl0ZW1zY29wZSBpdGVtdHlwZSBpdGVtaWQgaXRlbXByb3AgaXRlbXJlZiIuc3BsaXQoIiAiKSwKbmQ9W1siZGlyIix7dWE6Myxjb25kaXRpb25zOkdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1siZGlyIixuZXcgU2V0KFsiYXV0byIsImx0ciIsInJ0bCJdKV1dKX0pfV0sWyJhc3luYyIse3VhOjMsY29uZGl0aW9uczpHYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImFzeW5jIixuZXcgU2V0KFsiYXN5bmMiXSldXSl9KX1dLFsibG9hZGluZyIse3VhOjMsY29uZGl0aW9uczpHYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImxvYWRpbmciLG5ldyBTZXQoWyJlYWdlciIsImxhenkiXSldXSl9KX1dLFsicG9zdGVyIix7dWE6NX1dLFsidGFyZ2V0Iix7dWE6Myxjb25kaXRpb25zOkdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1sidGFyZ2V0IixuZXcgU2V0KFsiX3NlbGYiLCJfYmxhbmsiXSldXSl9KX1dXSxvZD1uZXcgZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoWyJkYXRhLSIsImFyaWEtIl0pLGU9bmV3IE1hcChsZCk7dGhpcy5qPWE7dGhpcy5nPQplO3RoaXMubD1iO3RoaXMubz1jO3RoaXMuaD1kfShuZXcgU2V0KEdhKGZ1bmN0aW9uKCl7cmV0dXJuIGtkLmNvbmNhdCgiU1RZTEUgVElUTEUgSU5QVVQgVEVYVEFSRUEgQlVUVE9OIExBQkVMIi5zcGxpdCgiICIpKX0pKSxuZXcgU2V0KEdhKGZ1bmN0aW9uKCl7cmV0dXJuIG1kLmNvbmNhdChbImNsYXNzIiwiaWQiLCJ0YWJpbmRleCIsImNvbnRlbnRlZGl0YWJsZSIsIm5hbWUiXSl9KSksbmV3IE1hcChHYShmdW5jdGlvbigpe3JldHVybiBuZC5jb25jYXQoW1sic3R5bGUiLHt1YToxfV1dKX0pKSk7dmFyIHBkPWZ1bmN0aW9uKCl7dGhpcy5nPW9kfTtwZC5wcm90b3R5cGUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpfTtfLnFkPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBwZH0pO3ZhciB2ZCx1ZCx4ZDtfLmxiPWZ1bmN0aW9uKGEpe3JldHVybiBhP25ldyBfLnJkKF8uc2QoYSkpOnNjfHwoc2M9bmV3IF8ucmQpfTtfLnRkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyI/YS5nZXRFbGVtZW50QnlJZChiKTpifTt2ZD1mdW5jdGlvbihhLGIpe18uemMoYixmdW5jdGlvbihjLGQpe2Q9PSJzdHlsZSI/YS5zdHlsZS5jc3NUZXh0PWM6ZD09ImNsYXNzIj9hLmNsYXNzTmFtZT1jOmQ9PSJmb3IiP2EuaHRtbEZvcj1jOnVkLmhhc093blByb3BlcnR5KGQpP2Euc2V0QXR0cmlidXRlKHVkW2RdLGMpOmQubGFzdEluZGV4T2YoImFyaWEtIiwwKT09MHx8ZC5sYXN0SW5kZXhPZigiZGF0YS0iLDApPT0wP2Euc2V0QXR0cmlidXRlKGQsYyk6YVtkXT1jfSl9Owp1ZD17Y2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNvbHNwYW46ImNvbFNwYW4iLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsaGVpZ2h0OiJoZWlnaHQiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixub25jZToibm9uY2UiLHJvbGU6InJvbGUiLHJvd3NwYW46InJvd1NwYW4iLHR5cGU6InR5cGUiLHVzZW1hcDoidXNlTWFwIix2YWxpZ246InZBbGlnbiIsd2lkdGg6IndpZHRoIn07Xy5pYj1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLkNhKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLm1iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKXy55ZD1mdW5jdGlvbihhLGIpe3ZhciBjPWJbMV0sZD1fLndkKGEsU3RyaW5nKGJbMF0pKTtjJiYodHlwZW9mIGM9PT0ic3RyaW5nIj9kLmNsYXNzTmFtZT1jOkFycmF5LmlzQXJyYXkoYyk/ZC5jbGFzc05hbWU9Yy5qb2luKCIgIik6dmQoZCxjKSk7Yi5sZW5ndGg+MiYmeGQoYSxkLGIsMik7cmV0dXJuIGR9Owp4ZD1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGgpe2gmJmIuYXBwZW5kQ2hpbGQodHlwZW9mIGg9PT0ic3RyaW5nIj9hLmNyZWF0ZVRleHROb2RlKGgpOmgpfWZvcig7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPWNbZF07aWYoIV8ucWEoZil8fF8ueWEoZikmJmYubm9kZVR5cGU+MCllKGYpO2Vsc2V7YTp7aWYoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIil7aWYoXy55YShmKSl7dmFyIGc9dHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uInx8dHlwZW9mIGYuaXRlbT09InN0cmluZyI7YnJlYWsgYX1pZih0eXBlb2YgZj09PSJmdW5jdGlvbiIpe2c9dHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIjticmVhayBhfX1nPSExfV8udmMoZz9fLndhKGYpOmYsZSl9fX07Xy53ZD1mdW5jdGlvbihhLGIpe2I9U3RyaW5nKGIpO2EuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGIpfTsKXy56ZD1mdW5jdGlvbihhKXtmb3IodmFyIGI7Yj1hLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYil9O18uQWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEucGFyZW50Tm9kZT9hLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk6bnVsbH07Xy5CZD1mdW5jdGlvbihhLGIpe2lmKCFhfHwhYilyZXR1cm4hMTtpZihhLmNvbnRhaW5zJiZiLm5vZGVUeXBlPT0xKXJldHVybiBhPT1ifHxhLmNvbnRhaW5zKGIpO2lmKHR5cGVvZiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIilyZXR1cm4gYT09Ynx8ISEoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSYxNik7Zm9yKDtiJiZhIT1iOyliPWIucGFyZW50Tm9kZTtyZXR1cm4gYj09YX07Xy5zZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Cl8uQ2Q9ZnVuY3Rpb24oYSxiKXtpZigidGV4dENvbnRlbnQiaW4gYSlhLnRleHRDb250ZW50PWI7ZWxzZSBpZihhLm5vZGVUeXBlPT0zKWEuZGF0YT1TdHJpbmcoYik7ZWxzZSBpZihhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09Myl7Zm9yKDthLmxhc3RDaGlsZCE9YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGEubGFzdENoaWxkKTthLmZpcnN0Q2hpbGQuZGF0YT1TdHJpbmcoYil9ZWxzZSBfLnpkKGEpLGEuYXBwZW5kQ2hpbGQoXy5zZChhKS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYikpKX07Xy5yZD1mdW5jdGlvbihhKXt0aGlzLmc9YXx8Xy52LmRvY3VtZW50fHxkb2N1bWVudH07Xy5tPV8ucmQucHJvdG90eXBlO18ubS5IPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKHRoaXMuZyxhKX07Xy5tLmRqPV8ucmQucHJvdG90eXBlLkg7Xy5tLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fHRoaXMuZykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGEpKX07Cl8ubS5TPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy55ZCh0aGlzLmcsYXJndW1lbnRzKX07Xy5tLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ud2QodGhpcy5nLGEpfTtfLm0uY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpfTtfLm0uYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSxiKXthLmFwcGVuZENoaWxkKGIpfTtfLm0uYXBwZW5kPWZ1bmN0aW9uKGEsYil7eGQoXy5zZChhKSxhLGFyZ3VtZW50cywxKX07Xy5tLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8ubS5pZT1fLnpkO18ubS5yZW1vdmVOb2RlPV8uQWQ7Xy5tLmNvbnRhaW5zPV8uQmQ7Xy5tLlNiPV8uQ2Q7YmIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWR9O3ZhciBjYj1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT1hIGluc3RhbmNlb2YgYmI/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMuaD0hMX07Y2IucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuaD0hMH07Y2IucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwfTt2YXIgRGQ9ZnVuY3Rpb24oKXtpZighXy52LmFkZEV2ZW50TGlzdGVuZXJ8fCFPYmplY3QuZGVmaW5lUHJvcGVydHkpcmV0dXJuITE7dmFyIGE9ITEsYj1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXthPSEwfX0pO3RyeXt2YXIgYz1mdW5jdGlvbigpe307Xy52LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYik7Xy52LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYil9Y2F0Y2goZCl7fXJldHVybiBhfSgpO18uRyhfLmRiLGNiKTsKXy5kYi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMudHlwZT1hLnR5cGUsZD1hLmNoYW5nZWRUb3VjaGVzJiZhLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9hLmNoYW5nZWRUb3VjaGVzWzBdOm51bGw7dGhpcy50YXJnZXQ9YS50YXJnZXR8fGEuc3JjRWxlbWVudDt0aGlzLmN1cnJlbnRUYXJnZXQ9YjtiPWEucmVsYXRlZFRhcmdldDtifHwoYz09Im1vdXNlb3ZlciI/Yj1hLmZyb21FbGVtZW50OmM9PSJtb3VzZW91dCImJihiPWEudG9FbGVtZW50KSk7dGhpcy5yZWxhdGVkVGFyZ2V0PWI7ZD8odGhpcy5jbGllbnRYPWQuY2xpZW50WCE9PXZvaWQgMD9kLmNsaWVudFg6ZC5wYWdlWCx0aGlzLmNsaWVudFk9ZC5jbGllbnRZIT09dm9pZCAwP2QuY2xpZW50WTpkLnBhZ2VZLHRoaXMuc2NyZWVuWD1kLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWQuc2NyZWVuWXx8MCk6KHRoaXMub2Zmc2V0WD1fLlZjfHxhLm9mZnNldFghPT12b2lkIDA/YS5vZmZzZXRYOmEubGF5ZXJYLAp0aGlzLm9mZnNldFk9Xy5WY3x8YS5vZmZzZXRZIT09dm9pZCAwP2Eub2Zmc2V0WTphLmxheWVyWSx0aGlzLmNsaWVudFg9YS5jbGllbnRYIT09dm9pZCAwP2EuY2xpZW50WDphLnBhZ2VYLHRoaXMuY2xpZW50WT1hLmNsaWVudFkhPT12b2lkIDA/YS5jbGllbnRZOmEucGFnZVksdGhpcy5zY3JlZW5YPWEuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9YS5zY3JlZW5ZfHwwKTt0aGlzLmJ1dHRvbj1hLmJ1dHRvbjt0aGlzLmtleUNvZGU9YS5rZXlDb2RlfHwwO3RoaXMua2V5PWEua2V5fHwiIjt0aGlzLmNoYXJDb2RlPWEuY2hhckNvZGV8fChjPT0ia2V5cHJlc3MiP2Eua2V5Q29kZTowKTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuYWx0S2V5PWEuYWx0S2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMucG9pbnRlcklkPWEucG9pbnRlcklkfHwwO3RoaXMucG9pbnRlclR5cGU9YS5wb2ludGVyVHlwZTt0aGlzLnN0YXRlPWEuc3RhdGU7CnRoaXMudGltZVN0YW1wPWEudGltZVN0YW1wO3RoaXMuZz1hO2EuZGVmYXVsdFByZXZlbnRlZCYmXy5kYi5lYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpfTtfLmRiLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtfLmRiLmVhLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMuZy5zdG9wUHJvcGFnYXRpb24/dGhpcy5nLnN0b3BQcm9wYWdhdGlvbigpOnRoaXMuZy5jYW5jZWxCdWJibGU9ITB9O18uZGIucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7Xy5kYi5lYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuZzthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgRWQ9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKSxGZD1mdW5jdGlvbihhKXtyZXR1cm4hKCFhfHwhYVtFZF0pfTt2YXIgZWI9MDt2YXIgR2Q9ZnVuY3Rpb24oYSl7YS5vYz0hMDthLmxpc3RlbmVyPW51bGw7YS5wcm94eT1udWxsO2Euc3JjPW51bGw7YS5WYz1udWxsfTtnYi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5nW2ZdO2F8fChhPXRoaXMuZ1tmXT1bXSx0aGlzLmgrKyk7dmFyIGc9SGQoYSxiLGQsZSk7Zz4tMT8oYj1hW2ddLGN8fChiLkhjPSExKSk6KGI9bmV3IGZiKGIsdGhpcy5zcmMsZiwhIWQsZSksYi5IYz1jLGEucHVzaChiKSk7cmV0dXJuIGJ9O2diLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLnRvU3RyaW5nKCk7aWYoIShhIGluIHRoaXMuZykpcmV0dXJuITE7dmFyIGU9dGhpcy5nW2FdO2I9SGQoZSxiLGMsZCk7cmV0dXJuIGI+LTE/KEdkKGVbYl0pLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChlLGIsMSksZS5sZW5ndGg9PTAmJihkZWxldGUgdGhpcy5nW2FdLHRoaXMuaC0tKSwhMCk6ITF9Owp2YXIgSWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnR5cGU7YyBpbiBhLmcmJl8udmEoYS5nW2NdLGIpJiYoR2QoYiksYS5nW2NdLmxlbmd0aD09MCYmKGRlbGV0ZSBhLmdbY10sYS5oLS0pKX07Z2IucHJvdG90eXBlLmpjPWZ1bmN0aW9uKGEsYixjLGQpe2E9dGhpcy5nW2EudG9TdHJpbmcoKV07dmFyIGU9LTE7YSYmKGU9SGQoYSxiLGMsZCkpO3JldHVybiBlPi0xP2FbZV06bnVsbH07Z2IucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YSE9PXZvaWQgMCxkPWM/YS50b1N0cmluZygpOiIiLGU9YiE9PXZvaWQgMDtyZXR1cm4gRGEodGhpcy5nLGZ1bmN0aW9uKGYpe2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7KytnKWlmKCEoYyYmZltnXS50eXBlIT1kfHxlJiZmW2ddLmNhcHR1cmUhPWIpKXJldHVybiEwO3JldHVybiExfSl9Owp2YXIgSGQ9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlPTA7ZTxhLmxlbmd0aDsrK2Upe3ZhciBmPWFbZV07aWYoIWYub2MmJmYubGlzdGVuZXI9PWImJmYuY2FwdHVyZT09ISFjJiZmLlZjPT1kKXJldHVybiBlfXJldHVybi0xfTt2YXIgSmQsS2QsTWQsUGQsUmQsU2QsVGQsUWQsV2QsT2Q7SmQ9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCk7S2Q9e307TWQ9MDtfLng9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkJiZkLm9uY2UpcmV0dXJuIF8uTmQoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKylfLngoYSxiW2ZdLGMsZCxlKTtyZXR1cm4gbnVsbH1jPU9kKGMpO3JldHVybiBGZChhKT9hLk4oYixjLF8ueWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlBkKGEsYixjLCExLGQsZSl9OwpQZD1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoInYiKTt2YXIgZz1fLnlhKGUpPyEhZS5jYXB0dXJlOiEhZSxoPVFkKGEpO2h8fChhW0pkXT1oPW5ldyBnYihhKSk7Yz1oLmFkZChiLGMsZCxnLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1SZCgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpRGR8fChlPWcpLGU9PT12b2lkIDAmJihlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYi50b1N0cmluZygpLGQsZSk7ZWxzZSBpZihhLmF0dGFjaEV2ZW50KWEuYXR0YWNoRXZlbnQoU2QoYi50b1N0cmluZygpKSxkKTtlbHNlIGlmKGEuYWRkTGlzdGVuZXImJmEucmVtb3ZlTGlzdGVuZXIpYS5hZGRMaXN0ZW5lcihkKTtlbHNlIHRocm93IEVycm9yKCJ3Iik7TWQrKztyZXR1cm4gY307UmQ9ZnVuY3Rpb24oKXt2YXIgYT1UZCxiPWZ1bmN0aW9uKGMpe3JldHVybiBhLmNhbGwoYi5zcmMsYi5saXN0ZW5lcixjKX07cmV0dXJuIGJ9OwpfLk5kPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoQXJyYXkuaXNBcnJheShiKSl7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspXy5OZChhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9T2QoYyk7cmV0dXJuIEZkKGEpP2EuYWUoYixjLF8ueWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlBkKGEsYixjLCEwLGQsZSl9O18uVWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8uVWQoYSxiW2ZdLGMsZCxlKTtlbHNlIGQ9Xy55YShkKT8hIWQuY2FwdHVyZTohIWQsYz1PZChjKSxGZChhKT9hLnljKGIsYyxkLGUpOmEmJihhPVFkKGEpKSYmKGI9YS5qYyhiLGMsZCxlKSkmJl8uVmQoYil9OwpfLlZkPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLm9jKXt2YXIgYj1hLnNyYztpZihGZChiKSlJZChiLlFhLGEpO2Vsc2V7dmFyIGM9YS50eXBlLGQ9YS5wcm94eTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCxhLmNhcHR1cmUpOmIuZGV0YWNoRXZlbnQ/Yi5kZXRhY2hFdmVudChTZChjKSxkKTpiLmFkZExpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyKGQpO01kLS07KGM9UWQoYikpPyhJZChjLGEpLGMuaD09MCYmKGMuc3JjPW51bGwsYltKZF09bnVsbCkpOkdkKGEpfX19O1NkPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluIEtkP0tkW2FdOktkW2FdPSJvbiIrYX07VGQ9ZnVuY3Rpb24oYSxiKXtpZihhLm9jKWE9ITA7ZWxzZXtiPW5ldyBfLmRiKGIsdGhpcyk7dmFyIGM9YS5saXN0ZW5lcixkPWEuVmN8fGEuc3JjO2EuSGMmJl8uVmQoYSk7YT1jLmNhbGwoZCxiKX1yZXR1cm4gYX07ClFkPWZ1bmN0aW9uKGEpe2E9YVtKZF07cmV0dXJuIGEgaW5zdGFuY2VvZiBnYj9hOm51bGx9O1dkPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7T2Q9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbV2RdfHwoYVtXZF09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtXZF19O18uRyhfLmhiLF8udSk7Xy5oYi5wcm90b3R5cGVbRWRdPSEwO18ubT1fLmhiLnByb3RvdHlwZTtfLm0ubmQ9ZnVuY3Rpb24oYSl7dGhpcy5mZD1hfTtfLm0uYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtfLngodGhpcyxhLGIsYyxkKX07Xy5tLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5VZCh0aGlzLGEsYixjLGQpfTsKXy5tLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLmZkO2lmKGMpZm9yKGI9W107YztjPWMuZmQpYi5wdXNoKGMpO2M9dGhpcy5XZzt2YXIgZD1hLnR5cGV8fGE7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilhPW5ldyBjYihhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIGNiKWEudGFyZ2V0PWEudGFyZ2V0fHxjO2Vsc2V7dmFyIGU9YTthPW5ldyBjYihkLGMpO0ZhKGEsZSl9ZT0hMDt2YXIgZjtpZihiKWZvcihmPWIubGVuZ3RoLTE7IWEuaCYmZj49MDtmLS0pe3ZhciBnPWEuY3VycmVudFRhcmdldD1iW2ZdO2U9WGQoZyxkLCEwLGEpJiZlfWEuaHx8KGc9YS5jdXJyZW50VGFyZ2V0PWMsZT1YZChnLGQsITAsYSkmJmUsYS5ofHwoZT1YZChnLGQsITEsYSkmJmUpKTtpZihiKWZvcihmPTA7IWEuaCYmZjxiLmxlbmd0aDtmKyspZz1hLmN1cnJlbnRUYXJnZXQ9YltmXSxlPVhkKGcsZCwhMSxhKSYmZTtyZXR1cm4gZX07Cl8ubS5NPWZ1bmN0aW9uKCl7Xy5oYi5lYS5NLmNhbGwodGhpcyk7aWYodGhpcy5RYSl7dmFyIGE9dGhpcy5RYSxiPTAsYztmb3IoYyBpbiBhLmcpe2Zvcih2YXIgZD1hLmdbY10sZT0wO2U8ZC5sZW5ndGg7ZSsrKSsrYixHZChkW2VdKTtkZWxldGUgYS5nW2NdO2EuaC0tfX10aGlzLmZkPW51bGx9O18ubS5OPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlFhLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLm0uYWU9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuUWEuYWRkKFN0cmluZyhhKSxiLCEwLGMsZCl9O18ubS55Yz1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5RYS5yZW1vdmUoU3RyaW5nKGEpLGIsYyxkKX07CnZhciBYZD1mdW5jdGlvbihhLGIsYyxkKXtiPWEuUWEuZ1tTdHJpbmcoYildO2lmKCFiKXJldHVybiEwO2I9Yi5jb25jYXQoKTtmb3IodmFyIGU9ITAsZj0wO2Y8Yi5sZW5ndGg7KytmKXt2YXIgZz1iW2ZdO2lmKGcmJiFnLm9jJiZnLmNhcHR1cmU9PWMpe3ZhciBoPWcubGlzdGVuZXIsaz1nLlZjfHxnLnNyYztnLkhjJiZJZChhLlFhLGcpO2U9aC5jYWxsKGssZCkhPT0hMSYmZX19cmV0dXJuIGUmJiFkLmRlZmF1bHRQcmV2ZW50ZWR9O18uaGIucHJvdG90eXBlLmpjPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlFhLmpjKFN0cmluZyhhKSxiLGMsZCl9O18uaGIucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuUWEuaGFzTGlzdGVuZXIoYSE9PXZvaWQgMD9TdHJpbmcoYSk6dm9pZCAwLGIpfTtfLkcoamIsXy5oYik7amIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtqYi5lYS5NLmNhbGwodGhpcyk7dGhpcy5oJiYoXy5WZCh0aGlzLmgpLHRoaXMuaD1udWxsKTt0aGlzLmo9dGhpcy5nPW51bGx9O2piLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dmFyIGE9Xy5pYih0aGlzLmd8fHdpbmRvdyk7Xy55YyhhLHRoaXMuail8fCh0aGlzLmo9YSx0aGlzLmRpc3BhdGNoRXZlbnQoInJlc2l6ZSIpKX07Xy5HKGtiLF8uaGIpO2tiLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5nJiYodHlwZW9mIHRoaXMuZy5hZGRFdmVudExpc3RlbmVyPT09ImZ1bmN0aW9uIj8odGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5qKSx0aGlzLmw9ZnVuY3Rpb24oKXthLmcucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhLmopfSk6KHRoaXMuZy5hZGRMaXN0ZW5lcih0aGlzLmopLHRoaXMubD1mdW5jdGlvbigpe2EuZy5yZW1vdmVMaXN0ZW5lcihhLmopfSkpfTtrYi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5kZXZpY2VQaXhlbFJhdGlvPj0xLjU/MjoxO3RoaXMubyE9YSYmKHRoaXMubz1hLHRoaXMuZGlzcGF0Y2hFdmVudCgiYSIpKX07a2IucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmwmJnRoaXMubCgpO2tiLmVhLk0uY2FsbCh0aGlzKX07Xy5HKG5iLF8udSk7bmIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmg9dGhpcy5sPW51bGw7dGhpcy5nJiYodGhpcy5nLmRpc3Bvc2UoKSx0aGlzLmc9bnVsbCk7Xy5wYSh0aGlzLmopO3RoaXMuaj1udWxsfTtfLm9hKHVjLG5iKTt2YXIgb2I9bmV3IFVpbnQ4QXJyYXkoMTIzKSxZZD0hMTt2YXIgWmQ9W107bmM9bmN8fHt9O3ZhciAkZD1mdW5jdGlvbigpe18udS5jYWxsKHRoaXMpfTtfLkcoJGQsXy51KTskZC5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe307c2IucHJvdG90eXBlLmV4ZWN1dGU9ZnVuY3Rpb24oYSl7dGhpcy5nJiYodGhpcy5nLmNhbGwodGhpcy5ofHxudWxsLGEpLHRoaXMuZz10aGlzLmg9bnVsbCl9O3NiLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuaD10aGlzLmc9bnVsbH07bmMuR2U9c2I7Xy5HKHViLF8udSk7dWIucHJvdG90eXBlLkM9JGQ7dWIucHJvdG90eXBlLmc9bnVsbDt1Yi5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfTt2YXIgYWU9ZnVuY3Rpb24oYSxiLGMpe2Euanx8KGEuaj1bXSk7YS5qLnB1c2gobmV3IG5jLkdlKGIsYykpfSxiZT1mdW5jdGlvbihhLGIpe2EuaHx8KGEuaD1bXSk7YS5oLnB1c2gobmV3IG5jLkdlKGIsdm9pZCAwKSl9O3ViLnByb3RvdHlwZS5tZD1mdW5jdGlvbigpe3RoaXMuZz1uZXcgJGR9O3ViLnByb3RvdHlwZS5vbkxvYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRoaXMuQztiLmluaXRpYWxpemUoYSgpKTt0aGlzLmc9YjtpZih0aGlzLm8mJihiPWNlKHRoaXMubyxhKCkpKSlyZXR1cm4gYjtpZih0aGlzLmomJihhPWNlKHRoaXMuaixhKCkpKSlyZXR1cm4gYTt0aGlzLmgmJih0aGlzLmgubGVuZ3RoPTApO3JldHVybiBudWxsfTsKdWIucHJvdG90eXBlLmZlPWZ1bmN0aW9uKGEpe3RoaXMuaCYmKGE9Y2UodGhpcy5oLGEpKSYmXy5yYihFcnJvcigieWAiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuaiYmKHRoaXMuai5sZW5ndGg9MCl9O3ZhciBjZT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspdHJ5e2FbZF0uZXhlY3V0ZShiKX1jYXRjaChlKXtfLnJiKGUpLGMucHVzaChlKX1hLmxlbmd0aD0wO3JldHVybiBjLmxlbmd0aD9jOm51bGx9O3ViLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dWIuZWEuTS5jYWxsKHRoaXMpO18ucGEodGhpcy5nKX07bmMuRmU9dWI7dmFyIGRlPXtFUlJPUjoiZXJyb3IiLElETEU6ImlkbGUiLGxnOiJhY3RpdmUiLElnOiJ1c2VySWRsZSIsSGc6InVzZXJBY3RpdmUifTtfLm09dmIucHJvdG90eXBlO18ubS5YZj1mdW5jdGlvbigpe307Xy5tLnFlPWZ1bmN0aW9uKCl7fTtfLm0uamU9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiQSIpO307Xy5tLmtmPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWF9O18ubS5zZT1mdW5jdGlvbihhKXt0aGlzLnFhPWF9O18ubS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiExfTtfLm0uRGY9ZnVuY3Rpb24oKXtyZXR1cm4hMX07dmFyIGVlPXR5cGVvZiBBc3luY0NvbnRleHQhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEFzeW5jQ29udGV4dC5TbmFwc2hvdD09PSJmdW5jdGlvbiI/ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpfTpmdW5jdGlvbihhKXtyZXR1cm4gYX07dmFyIGZlPWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5qPWI7dGhpcy5oPTA7dGhpcy5nPW51bGx9O2ZlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtpZih0aGlzLmg+MCl7dGhpcy5oLS07dmFyIGE9dGhpcy5nO3RoaXMuZz1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMubCgpO3JldHVybiBhfTt2YXIgeGI9ZnVuY3Rpb24oYSxiKXthLmooYik7YS5oPDEwMCYmKGEuaCsrLGIubmV4dD1hLmcsYS5nPWIpfTt2YXIgZ2U9ZnVuY3Rpb24oKXt0aGlzLmg9dGhpcy5nPW51bGx9O2dlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz15Yi5nZXQoKTtjLnNldChhLGIpO3RoaXMuaD90aGlzLmgubmV4dD1jOnRoaXMuZz1jO3RoaXMuaD1jfTtnZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIGE9bnVsbDt0aGlzLmcmJihhPXRoaXMuZyx0aGlzLmc9dGhpcy5nLm5leHQsdGhpcy5nfHwodGhpcy5oPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX07dmFyIHliPW5ldyBmZShmdW5jdGlvbigpe3JldHVybiBuZXcgaGV9LGZ1bmN0aW9uKGEpe3JldHVybiBhLnJlc2V0KCl9KSxoZT1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZz1udWxsfTtoZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5zY29wZT1iO3RoaXMubmV4dD1udWxsfTsKaGUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5nPW51bGx9O3ZhciBpZSx6Yj0hMSx3Yj1uZXcgZ2Usa2U9ZnVuY3Rpb24oYSxiKXtpZXx8amUoKTt6Ynx8KGllKCksemI9ITApO3diLmFkZChhLGIpfSxqZT1mdW5jdGlvbigpe3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO2llPWZ1bmN0aW9uKCl7YS50aGVuKEFiKX19O18ubGU9ZnVuY3Rpb24oKXt9O3ZhciBtZT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt0cnl7cmV0dXJuISFhLiRnb29nX1RoZW5hYmxlfWNhdGNoKGIpe3JldHVybiExfX07dmFyIHBlLEFlLHllLHdlO18ub2U9ZnVuY3Rpb24oYSl7dGhpcy5nPTA7dGhpcy5CPXZvaWQgMDt0aGlzLmw9dGhpcy5oPXRoaXMuaj1udWxsO3RoaXMubz10aGlzLkE9ITE7aWYoYSE9Xy5sZSl0cnl7dmFyIGI9dGhpczthLmNhbGwodm9pZCAwLGZ1bmN0aW9uKGMpe18ubmUoYiwyLGMpfSxmdW5jdGlvbihjKXtfLm5lKGIsMyxjKX0pfWNhdGNoKGMpe18ubmUodGhpcywzLGMpfX07cGU9ZnVuY3Rpb24oKXt0aGlzLm5leHQ9dGhpcy5qPXRoaXMuaD10aGlzLmw9dGhpcy5nPW51bGw7dGhpcy5vPSExfTtwZS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy5oPXRoaXMubD10aGlzLmc9bnVsbDt0aGlzLm89ITF9O3ZhciBxZT1uZXcgZmUoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHBlfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KSxyZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cWUuZ2V0KCk7ZC5sPWE7ZC5oPWI7ZC5qPWM7cmV0dXJuIGR9OwpfLm9lLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gc2UodGhpcyxlZSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSxlZSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy5vZS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7Xy5vZS5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe3JldHVybiBzZSh0aGlzLG51bGwsZWUoYSksYil9O18ub2UucHJvdG90eXBlLmNhdGNoPV8ub2UucHJvdG90eXBlLkM7Xy5vZS5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZz09MCl7dmFyIGI9bmV3IHVlKGEpO2tlKGZ1bmN0aW9uKCl7dmUodGhpcyxiKX0sdGhpcyl9fTsKdmFyIHZlPWZ1bmN0aW9uKGEsYil7aWYoYS5nPT0wKWlmKGEuail7dmFyIGM9YS5qO2lmKGMuaCl7Zm9yKHZhciBkPTAsZT1udWxsLGY9bnVsbCxnPWMuaDtnJiYoZy5vfHwoZCsrLGcuZz09YSYmKGU9ZyksIShlJiZkPjEpKSk7Zz1nLm5leHQpZXx8KGY9Zyk7ZSYmKGMuZz09MCYmZD09MT92ZShjLGIpOihmPyhkPWYsZC5uZXh0PT1jLmwmJihjLmw9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTp3ZShjKSx4ZShjLGUsMyxiKSkpfWEuaj1udWxsfWVsc2UgXy5uZShhLDMsYil9LHplPWZ1bmN0aW9uKGEsYil7YS5ofHxhLmchPTImJmEuZyE9M3x8eWUoYSk7YS5sP2EubC5uZXh0PWI6YS5oPWI7YS5sPWJ9LHNlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXJlKG51bGwsbnVsbCxudWxsKTtlLmc9bmV3IF8ub2UoZnVuY3Rpb24oZixnKXtlLmw9Yj9mdW5jdGlvbihoKXt0cnl7dmFyIGs9Yi5jYWxsKGQsaCk7ZihrKX1jYXRjaChsKXtnKGwpfX06ZjtlLmg9Yz9mdW5jdGlvbihoKXt0cnl7dmFyIGs9CmMuY2FsbChkLGgpO2s9PT12b2lkIDAmJmggaW5zdGFuY2VvZiB1ZT9nKGgpOmYoayl9Y2F0Y2gobCl7ZyhsKX19Omd9KTtlLmcuaj1hO3plKGEsZSk7cmV0dXJuIGUuZ307Xy5vZS5wcm90b3R5cGUuRj1mdW5jdGlvbihhKXt0aGlzLmc9MDtfLm5lKHRoaXMsMixhKX07Xy5vZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhKXt0aGlzLmc9MDtfLm5lKHRoaXMsMyxhKX07Cl8ubmU9ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZz09MCl7YT09PWMmJihiPTMsYz1uZXcgVHlwZUVycm9yKCJCIikpO2EuZz0xO2E6e3ZhciBkPWMsZT1hLkYsZj1hLkc7aWYoZCBpbnN0YW5jZW9mIF8ub2Upe3plKGQscmUoZXx8Xy5sZSxmfHxudWxsLGEpKTt2YXIgZz0hMH1lbHNlIGlmKG1lKGQpKWQudGhlbihlLGYsYSksZz0hMDtlbHNle2lmKF8ueWEoZCkpdHJ5e3ZhciBoPWQudGhlbjtpZih0eXBlb2YgaD09PSJmdW5jdGlvbiIpe0FlKGQsaCxlLGYsYSk7Zz0hMDticmVhayBhfX1jYXRjaChrKXtmLmNhbGwoYSxrKTtnPSEwO2JyZWFrIGF9Zz0hMX19Z3x8KGEuQj1jLGEuZz1iLGEuaj1udWxsLHllKGEpLGIhPTN8fGMgaW5zdGFuY2VvZiB1ZXx8QmUoYSxjKSl9fTtBZT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSExLGc9ZnVuY3Rpb24oayl7Znx8KGY9ITAsYy5jYWxsKGUsaykpfSxoPWZ1bmN0aW9uKGspe2Z8fChmPSEwLGQuY2FsbChlLGspKX07dHJ5e2IuY2FsbChhLGcsaCl9Y2F0Y2goayl7aChrKX19Owp5ZT1mdW5jdGlvbihhKXthLkF8fChhLkE9ITAsa2UoYS5ELGEpKX07d2U9ZnVuY3Rpb24oYSl7dmFyIGI9bnVsbDthLmgmJihiPWEuaCxhLmg9Yi5uZXh0LGIubmV4dD1udWxsKTthLmh8fChhLmw9bnVsbCk7cmV0dXJuIGJ9O18ub2UucHJvdG90eXBlLkQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT13ZSh0aGlzKTspeGUodGhpcyxhLHRoaXMuZyx0aGlzLkIpO3RoaXMuQT0hMX07CnZhciB4ZT1mdW5jdGlvbihhLGIsYyxkKXtpZihjPT0zJiZiLmgmJiFiLm8pZm9yKDthJiZhLm87YT1hLmopYS5vPSExO2lmKGIuZyliLmcuaj1udWxsLENlKGIsYyxkKTtlbHNlIHRyeXtiLm8/Yi5sLmNhbGwoYi5qKTpDZShiLGMsZCl9Y2F0Y2goZSl7RmUuY2FsbChudWxsLGUpfXhiKHFlLGIpfSxDZT1mdW5jdGlvbihhLGIsYyl7Yj09Mj9hLmwuY2FsbChhLmosYyk6YS5oJiZhLmguY2FsbChhLmosYyl9LEJlPWZ1bmN0aW9uKGEsYil7YS5vPSEwO2tlKGZ1bmN0aW9uKCl7YS5vJiZGZS5jYWxsKG51bGwsYil9KX0sRmU9Xy5yYix1ZT1mdW5jdGlvbihhKXthYS5jYWxsKHRoaXMsYSl9O18uRyh1ZSxhYSk7dWUucHJvdG90eXBlLm5hbWU9ImNhbmNlbCI7QmIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbihhKXtpZih0aGlzLmgpdGhpcy5sIGluc3RhbmNlb2YgQmImJnRoaXMubC5jYW5jZWwoKTtlbHNle2lmKHRoaXMuail7dmFyIGI9dGhpcy5qO2RlbGV0ZSB0aGlzLmo7YT9iLmNhbmNlbChhKTooYi5BLS0sYi5BPD0wJiZiLmNhbmNlbCgpKX10aGlzLkc9ITA7dGhpcy5ofHx0aGlzLkYobmV3IEdlKHRoaXMpKX19O0JiLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEsYil7dGhpcy5EPSExO0hlKHRoaXMsYSxiKX07dmFyIEhlPWZ1bmN0aW9uKGEsYixjKXthLmg9ITA7YS5sPWM7YS5vPSFiO0llKGEpfSxLZT1mdW5jdGlvbihhKXtpZihhLmgpe2lmKCFhLkcpdGhyb3cgbmV3IEplKGEpO2EuRz0hMX19O0JiLnByb3RvdHlwZS5nPWZ1bmN0aW9uKGEpe0tlKHRoaXMpO0hlKHRoaXMsITAsYSl9O0JiLnByb3RvdHlwZS5GPWZ1bmN0aW9uKGEpe0tlKHRoaXMpO0hlKHRoaXMsITEsYSl9Owp2YXIgTWU9ZnVuY3Rpb24oYSxiLGMpe0xlKGEsYixudWxsLGMpfSxOZT1mdW5jdGlvbihhLGIsYyl7TGUoYSxudWxsLGIsYyl9LExlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuaDtlfHwoYj09PWM/Yj1jPWVlKGIpOihiPWVlKGIpLGM9ZWUoYykpKTthLkIucHVzaChbYixjLGRdKTtlJiZJZShhKX07QmIucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1uZXcgXy5vZShmdW5jdGlvbihnLGgpe2U9ZztkPWh9KTtMZSh0aGlzLGUsZnVuY3Rpb24oZyl7ZyBpbnN0YW5jZW9mIEdlP2YuY2FuY2VsKCk6ZChnKTtyZXR1cm4gT2V9LHRoaXMpO3JldHVybiBmLnRoZW4oYSxiLGMpfTtCYi5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIFBlPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIEJiP01lKGEsKDAsXy55KShiLkssYikpOk1lKGEsZnVuY3Rpb24oKXtyZXR1cm4gYn0pfTsKQmIucHJvdG90eXBlLks9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJiO0xlKHRoaXMsYi5nLGIuRixiKTthJiYoYi5qPXRoaXMsdGhpcy5BKyspO3JldHVybiBifTsKdmFyIFFlPWZ1bmN0aW9uKGEpe3JldHVybiBfLnhjKGEuQixmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9LE9lPXt9LEllPWZ1bmN0aW9uKGEpe2lmKGEuQyYmYS5oJiZRZShhKSl7dmFyIGI9YS5DLGM9UmVbYl07YyYmKF8udi5jbGVhclRpbWVvdXQoYy5nKSxkZWxldGUgUmVbYl0pO2EuQz0wfWEuaiYmKGEuai5BLS0sZGVsZXRlIGEuaik7Yj1hLmw7Zm9yKHZhciBkPWM9ITE7YS5CLmxlbmd0aCYmIWEuRDspe3ZhciBlPWEuQi5zaGlmdCgpLGY9ZVswXSxnPWVbMV07ZT1lWzJdO2lmKGY9YS5vP2c6Zil0cnl7dmFyIGg9Zi5jYWxsKGV8fG51bGwsYik7aD09PU9lJiYoaD12b2lkIDApO2ghPT12b2lkIDAmJihhLm89YS5vJiYoaD09Ynx8aCBpbnN0YW5jZW9mIEVycm9yKSxhLmw9Yj1oKTtpZihtZShiKXx8dHlwZW9mIF8udi5Qcm9taXNlPT09ImZ1bmN0aW9uIiYmYiBpbnN0YW5jZW9mIF8udi5Qcm9taXNlKWQ9ITAsYS5EPSEwfWNhdGNoKGspe2I9CmssYS5vPSEwLFFlKGEpfHwoYz0hMCl9fWEubD1iO2QmJihoPSgwLF8ueSkoYS5JLGEsITApLGQ9KDAsXy55KShhLkksYSwhMSksYiBpbnN0YW5jZW9mIEJiPyhMZShiLGgsZCksYi5XPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IFNlKGIpLFJlW2IuZ109YixhLkM9Yi5nKX0sSmU9ZnVuY3Rpb24oKXthYS5jYWxsKHRoaXMpfTtfLkcoSmUsYWEpO0plLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCBoYXMgYWxyZWFkeSBmaXJlZCI7SmUucHJvdG90eXBlLm5hbWU9IkFscmVhZHlDYWxsZWRFcnJvciI7dmFyIEdlPWZ1bmN0aW9uKCl7YWEuY2FsbCh0aGlzKX07Xy5HKEdlLGFhKTtHZS5wcm90b3R5cGUubWVzc2FnZT0iRGVmZXJyZWQgd2FzIGNhbmNlbGVkIjtHZS5wcm90b3R5cGUubmFtZT0iQ2FuY2VsZWRFcnJvciI7dmFyIFNlPWZ1bmN0aW9uKGEpe3RoaXMuZz1fLnYuc2V0VGltZW91dCgoMCxfLnkpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLmg9YX07ClNlLnByb3RvdHlwZS50aHJvd0Vycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIFJlW3RoaXMuZ107dGhyb3cgdGhpcy5oO307dmFyIFJlPXt9O3ZhciBUZT1mdW5jdGlvbihhLGIsYyxkLGUpe2M9RXJyb3IuY2FsbCh0aGlzKTt0aGlzLm1lc3NhZ2U9Yy5tZXNzYWdlOyJzdGFjayJpbiBjJiYodGhpcy5zdGFjaz1jLnN0YWNrKTt0aGlzLm5hbWU9Ik1vZHVsZUxvYWRGYWlsdXJlIjt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1iO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9O18uQihUZSxFcnJvcik7VGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIFVlKHRoaXMpKyIgKCIrKHRoaXMuc3RhdHVzIT12b2lkIDA/dGhpcy5zdGF0dXM6Ij8iKSsiKSJ9Owp2YXIgVWU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEudHlwZSl7Y2FzZSBUZS5nLkplOnJldHVybiJVbmF1dGhvcml6ZWQiO2Nhc2UgVGUuZy5CZTpyZXR1cm4iQ29uc2VjdXRpdmUgbG9hZCBmYWlsdXJlcyI7Y2FzZSBUZS5nLlRJTUVPVVQ6cmV0dXJuIlRpbWVkIG91dCI7Y2FzZSBUZS5nLkhlOnJldHVybiJPdXQgb2YgZGF0ZSBtb2R1bGUgaWQiO2Nhc2UgVGUuZy50ZDpyZXR1cm4iSW5pdCBlcnJvciI7ZGVmYXVsdDpyZXR1cm4iVW5rbm93biBmYWlsdXJlIHR5cGUgIithLnR5cGV9fTtuYy5GYT1UZTtuYy5GYS5nPXtKZTowLEJlOjEsVElNRU9VVDoyLEhlOjMsdGQ6NH07dmFyIFZlPWZ1bmN0aW9uKCl7dmIuY2FsbCh0aGlzKTt0aGlzLkk9bnVsbDt0aGlzLmc9bmV3IE1hcDt0aGlzLm89bmV3IFNldDt0aGlzLkE9W107dGhpcy5DPW5ldyBTZXQ7dGhpcy5qPVtdO3RoaXMuQj1uZXcgU2V0O3RoaXMuaD1OYz9uZXcgTWFwOnt9O3RoaXMuSz1uZXcgTWFwO3RoaXMubD10aGlzLkQ9bmV3IG5jLkZlKFtdLCIiKTt0aGlzLkw9bnVsbDt0aGlzLkY9bmV3IEJiO3RoaXMuUj10aGlzLlQ9dGhpcy5QPXRoaXMuVz0hMX07Xy5HKFZlLHZiKTt2YXIgV2U9ZnVuY3Rpb24oYSxiKXthYS5jYWxsKHRoaXMsIkVycm9yIGxvYWRpbmcgIithKyI6ICIrYil9O18uRyhXZSxhYSk7VmUucHJvdG90eXBlLlhmPWZ1bmN0aW9uKGEpe3RoaXMuVz1hfTsKVmUucHJvdG90eXBlLnFlPWZ1bmN0aW9uKGEsYil7aWYoISh0aGlzIGluc3RhbmNlb2YgVmUpKXRoaXMucWUoYSxiKTtlbHNlIGlmKHR5cGVvZiBhPT09InN0cmluZyIpe2lmKGEuc3RhcnRzV2l0aCgiZCQiKSl7YT1hLnN1YnN0cmluZygyKTtmb3IodmFyIGM9W10sZD0wLGU9YS5pbmRleE9mKCIvIiksZj0wLGc9ITEsaD0wOzspe3ZhciBrPWc/YS5zdWJzdHJpbmcoZik6YS5zdWJzdHJpbmcoZixlKTtpZihrLmxlbmd0aD09PTApZCsrLGY9InN5IitkLnRvU3RyaW5nKDM2KSxrPVtdO2Vsc2V7dmFyIGw9ay5pbmRleE9mKCI6Iik7aWYobDwwKWY9ayxrPVtdO2Vsc2UgaWYobD09PWsubGVuZ3RoLTEpZj1rLnN1YnN0cmluZygwLGwpLGs9QXJyYXkoY1toLTFdKTtlbHNle2Y9ay5zdWJzdHJpbmcoMCxsKTtrPWsuc3Vic3RyaW5nKGwrMSkuc3BsaXQoIiwiKTtsPWg7Zm9yKHZhciBuPTA7bjxrLmxlbmd0aDtuKyspbC09a1tuXS5sZW5ndGg9PT0wPzE6TnVtYmVyKGtbbl0pLGtbbl09Y1tsXX1sPQowO2lmKGYubGVuZ3RoPT09MClsPTE7ZWxzZSBpZihmLmNoYXJBdCgwKT09PSIrInx8Zi5jaGFyQXQoMCk9PT0iLSIpbD1OdW1iZXIoZik7bCE9PTAmJihkKz1sLGY9InN5IitkLnRvU3RyaW5nKDM2KSl9Yy5wdXNoKGYpO1hlKHRoaXMsZixrKTtpZihnKWJyZWFrO2Y9ZSsxO2U9YS5pbmRleE9mKCIvIixmKTtlPT09LTEmJihnPSEwKTtoKyt9dGhpcy5JPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpWWUodGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7aD1hW2RdLnNwbGl0KCI6Iik7ZT1oWzBdO2c9W107aWYoaFsxXSlmb3IoZz1oWzFdLnNwbGl0KCIsIiksaD0wO2g8Zy5sZW5ndGg7aCsrKWdbaF09Y1twYXJzZUludChnW2hdLDM2KV07Yy5wdXNoKGUpO1hlKHRoaXMsZSxnKX10aGlzLkk9Y31pZihiJiZiLmxlbmd0aCl7YT1fLkMoYik7Zm9yKGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKXRoaXMuby5hZGQoYy52YWx1ZSk7CnRoaXMuTD1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5GLmh8fHRoaXMuRi5nKCk7T2JqZWN0LmZyZWV6ZSh0aGlzLkkpO1plKHRoaXMpfX07CnZhciBZZT1mdW5jdGlvbihhLGIpe2lmKCFZZCl7Zm9yKHZhciBjPTA7Yzw2NDtjKyspb2JbIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJDb2RlQXQoYyldPWM7WWQ9ITB9dmFyIGQ9e0hkOmIsQmI6Mn07cWIoZCk7dmFyIGU9cWIoZCksZj1xYihkKSsxO2I9QXJyYXkoZSk7Yz1BcnJheShlKTt2YXIgZz1BcnJheShlKTtmPUFycmF5KGYpO3ZhciBoPTAsaz0wLGw9ZC5IZCxuPWQuQmI7ZC5CYj1kLkhkLmluZGV4T2YoInwiLGQuQmIpKzE7Zm9yKHZhciBxPTA7cTxlO3ErKyl7dmFyIHA9cWIoZCkscj1wJjIsdD1wJjE7cD4+Pj0yO3Q/KGgrPXA+Pj4xXi0ocCYxKSxwPSJzeSIraC50b1N0cmluZygzNikpOih0PW4sbis9cCxwPWwuc3Vic3RyaW5nKHQsbikpO2JbcV09cDtyJiYoZltrKytdPXApfWZba109IiI7ZC5CYisrO2s9ZSYtMjtoPWUmMTtmb3IobD0wO2w8aztsKz0yKW49cGIoZCksZ1tsXT1uJjcsZ1tsKwoxXT1uPj4+MyY3O2gmJihoPXBiKGQpLGdba109aCY3KTtkLkJiKys7Zm9yKGs9MDtrPGU7aysrKWdba109PT03JiYoZ1trXT1xYihkKSk7ZC5CYisrO2ZvcihoPWs9MDtoPGU7aCsrKXtsPWdbaF07bj1sPT09MD9aZDpBcnJheShsKTtjW2hdPW47cT1rO2ZvcihyPTA7cjxsO3IrKylxLT1xYihkKSxuW3JdPWZbcV07ZltrXT09PWJbaF0mJmsrK31mb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKVhlKGEsYltkXSxjW2RdKTthLkk9Yn07VmUucHJvdG90eXBlLmplPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5oIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmguZ2V0KGEpO2MmJihjLmRlbGV0ZShiKSxjLnNpemU9PT0wJiZ0aGlzLmguZGVsZXRlKGEpKX1lbHNlIGlmKHRoaXMuaFthXSl7ZGVsZXRlIHRoaXMuaFthXVtiXTtmb3IoYyBpbiB0aGlzLmhbYV0pcmV0dXJuO2RlbGV0ZSB0aGlzLmhbYV19fTtWZS5wcm90b3R5cGUuc2U9ZnVuY3Rpb24oYSl7VmUuZWEuc2UuY2FsbCh0aGlzLGEpO1plKHRoaXMpfTsKVmUucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5zaXplPjB9O1ZlLnByb3RvdHlwZS5EZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIuc2l6ZT4wfTsKdmFyIGFmPWZ1bmN0aW9uKGEpe3ZhciBiPWEuUCxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoJGUoYSxjP2RlLmxnOmRlLklETEUpLGEuUD1jKTtiPWEuRGYoKTtiIT1hLlQmJigkZShhLGI/ZGUuSGc6ZGUuSWcpLGEuVD1iKX0sWGU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZy5nZXQoYik7ZD9kLmw9YzphLmcuc2V0KGIsbmV3IG5jLkZlKGMsYikpfSxkZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZT17fTtiPV8uQyhuZXcgU2V0KGIpKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5nLmdldChmKTtpZighZyl0aHJvdyBFcnJvcigiQ2AiK2YpO3ZhciBoPW5ldyBCYjtlW2ZdPWg7Zy5nP2guZyhhLnFhKTooYmYoYSxmLGcsISFjLGgpLGNmKGEsZil8fGQucHVzaChmKSl9ZC5sZW5ndGg+MCYmKGEuby5zaXplPT09MD9hLkcoZCk6KGEuai5wdXNoKGQpLGFmKGEpKSk7cmV0dXJuIGV9LGJmPWZ1bmN0aW9uKGEsYixjLGQsZSl7YWUoYywKZS5nLGUpO2JlKGMsZnVuY3Rpb24oZil7ZS5GKG5ldyBXZShiLGYpKX0pO2NmKGEsYik/ZCYmKGEuQi5hZGQoYiksYWYoYSkpOmQmJmEuQi5hZGQoYil9OwpWZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcztiPWI9PT12b2lkIDA/MDpiO3ZhciBlPWVmKHRoaXMsYSk7dGhpcy5vPW5ldyBTZXQoZSk7dGhpcy5BPXRoaXMuVz9hOl8ud2EoZSk7YWYodGhpcyk7aWYoZS5sZW5ndGghPT0wKXthPV8uQyhlKTtmb3IodmFyIGY9YS5uZXh0KCk7IWYuZG9uZTtmPWEubmV4dCgpKXRoaXMuQy5hZGQoZi52YWx1ZSk7YT10aGlzLk87aWYoIWEpdGhyb3cgRXJyb3IoIkQiKTtpZigodGhpcy5oIGluc3RhbmNlb2YgTWFwP3RoaXMuaC5zaXplPjA6T2JqZWN0LmtleXModGhpcy5oKS5sZW5ndGg+MCkmJiFhLkkpdGhyb3cgRXJyb3IoIkUiKTtmZihhLF8ud2EoZSksdGhpcy5nLHtqaDp0aGlzLmgsZmU6ZnVuY3Rpb24oZyxoLGspe3JldHVybiBnZihkLGQuQSxlLGchPW51bGw/Zzp2b2lkIDAsaCxiLCEhayl9LEZpOigwLF8ueSkodGhpcy5sYSx0aGlzKSxtaDohIWN9KX19Owp2YXIgaGY9ZnVuY3Rpb24oYSl7dGhpcy5oPWE7dGhpcy5qPW5ldyBTZXQ7dGhpcy5nPVtdfSxqZj1mdW5jdGlvbihhLGIpe2lmKCFhLmouaGFzKGIpJiYoYS5qLmFkZChiKSwhYS5oLkMuaGFzKGIpKSl7dmFyIGM9YS5oLmcuZ2V0KGIpO2lmKGMmJiFjLmcpe2M9Yy5sO2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKWpmKGEsY1tkXSk7YS5nLnB1c2goYil9fX0sZWY9ZnVuY3Rpb24oYSxiKXtiPWIuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBhLmcuZ2V0KGUpLmc/KF8udi5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIEVycm9yKCJGYCIrZSl9LDApLCExKTohMH0pO2lmKE9jKXt2YXIgYz1uZXcgaGYoYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspamYoYyxiW2RdKTtjPWMuZ31lbHNle2M9W107Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyljPWMuY29uY2F0KGtmKGEsYltkXSkpO0JhKGMpfXJldHVybiFhLlcmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEuaj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS5qKSwKW2JdKTpjfSxrZj1mdW5jdGlvbihhLGIpe2lmKE9jKXJldHVybiBhPW5ldyBoZihhKSxqZihhLGIpLGEuZzt2YXIgYz1bXTthLkMuaGFzKGIpfHxjLnB1c2goYik7Yj1bYl07Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWEuZy5nZXQoYltkXSkubCxmPWUubGVuZ3RoLTE7Zj49MDtmLS0pe3ZhciBnPWVbZl07YS5nLmdldChnKS5nfHxhLkMuaGFzKGcpfHwoYy5wdXNoKGcpLGIucHVzaChnKSl9Yy5yZXZlcnNlKCk7QmEoYyk7cmV0dXJuIGN9LFplPWZ1bmN0aW9uKGEpe2lmKGEubD09YS5EKXthLmw9bnVsbDt2YXIgYj1hLkQub25Mb2FkKCgwLF8ueSkoYS5rZixhKSk7YiYmYi5sZW5ndGgmJmxmKGEsbmV3IG5jLkZhKG5jLkZhLmcudGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpO2FmKGEpfX07ClZlLnByb3RvdHlwZS5tZD1mdW5jdGlvbigpe2lmKHRoaXMubCl7dmFyIGE9dGhpcy5sLlJhKCksYj1bXTtpZih0aGlzLmggaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuaC5nZXQoYSk7aWYoYyl7Yz1fLkMoQXJyYXkuZnJvbShjKSk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7ZD1kLnZhbHVlO3ZhciBlPXRoaXMuZy5nZXQoZCk7ZSYmIWUuZyYmKHRoaXMuamUoYSxkKSxiLnB1c2goZCkpfWRmKHRoaXMsYil9fWVsc2UgaWYodGhpcy5oW2FdKXtjPV8uQyhPYmplY3Qua2V5cyh0aGlzLmhbYV0pKTtmb3IoZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZD1kLnZhbHVlLChlPXRoaXMuZy5nZXQoZCkpJiYhZS5nJiYodGhpcy5qZShhLGQpLGIucHVzaChkKSk7ZGYodGhpcyxiKX10aGlzLnFiKCl8fCgoYj10aGlzLmcuZ2V0KGEpLm9uTG9hZCgoMCxfLnkpKHRoaXMua2YsdGhpcykpKSYmYi5sZW5ndGgmJmxmKHRoaXMsbmV3IG5jLkZhKG5jLkZhLmcudGQsCnZvaWQgMCx2b2lkIDAsdm9pZCAwLGJbMF0pKSx0aGlzLkIuZGVsZXRlKGEpLHRoaXMuby5kZWxldGUoYSksdGhpcy5vLnNpemUhPT0wfHxtZih0aGlzKSx0aGlzLkwmJmE9PXRoaXMuTCYmKHRoaXMuRi5ofHx0aGlzLkYuZygpKSxhZih0aGlzKSx0aGlzLmw9bnVsbCl9fTt2YXIgY2Y9ZnVuY3Rpb24oYSxiKXtpZihhLm8uaGFzKGIpKXJldHVybiEwO2Zvcih2YXIgYz0wO2M8YS5qLmxlbmd0aDtjKyspaWYoXy50YShhLmpbY10sYikpcmV0dXJuITA7cmV0dXJuITF9O1ZlLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGRmKHRoaXMsW2FdLGIpW2FdfTsKdmFyIGthPWZ1bmN0aW9uKGEpe3ZhciBiPV8uZGE7Yi5sJiZiLmwuUmEoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIiYmKGIubWQoKSxiLmcuZGVsZXRlKCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikpO3ZhciBjPWIuZy5nZXQoYSk7YyYmbmYoYixjLmx8fFtdLGZ1bmN0aW9uKGQpe2QubWQoKTtiLm8uZGVsZXRlKGQuUmEoKSl9LGZ1bmN0aW9uKGQpe3JldHVybiFkLmd9LG5ldyBTZXQpO2IubD1iLmcuZ2V0KGEpO2IubCYmKGIubC5CPSEwKX0sZ2Y9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9KGc9PT12b2lkIDA/MDpnKT8wOihmPT09dm9pZCAwPzA6ZikrMTtmPV8ud2EoYyk7YS5BPWI7Yz1fLkMoYyk7Zm9yKGc9Yy5uZXh0KCk7IWcuZG9uZTtnPWMubmV4dCgpKWEuQy5kZWxldGUoZy52YWx1ZSk7aWYoZD09NDAxKWxmKGEsbmV3IG5jLkZhKG5jLkZhLmcuSmUsZCkpLGEuai5sZW5ndGg9MDtlbHNlIGlmKGQ9PTQxMClvZihhLG5ldyBuYy5GYShuYy5GYS5nLkhlLApkKSksbWYoYSk7ZWxzZSBpZihoPj0zKW9mKGEsbmV3IG5jLkZhKG5jLkZhLmcuQmUsZCxmLGUpKSxtZihhKTtlbHNle3ZhciBrPWQ9PTgwMDF8fCExOyhkPU1hdGgucG93KGgsMikqNUUzKT9fLnYuc2V0VGltZW91dChmdW5jdGlvbigpe2EuRyhiLGgsayl9LGQpOmEuRyhiLGgsayl9fTtWZS5wcm90b3R5cGUubGE9ZnVuY3Rpb24oKXtvZih0aGlzLG5ldyBuYy5GYShuYy5GYS5nLlRJTUVPVVQpKTttZih0aGlzKX07CnZhciBvZj1mdW5jdGlvbihhLGIpe2EuQS5sZW5ndGg+MT9hLmo9YS5BLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS5qKTpsZihhLGIpfSxsZj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuQTthLm8uY2xlYXIoKTtmb3IodmFyIGQ9W10sZT0wO2U8YS5qLmxlbmd0aDtlKyspe3ZhciBmPWEualtlXS5maWx0ZXIoZnVuY3Rpb24oayl7dmFyIGw9a2YodGhpcyxrKTtyZXR1cm4gXy54YyhjLGZ1bmN0aW9uKG4pe3JldHVybiBfLnRhKGwsbil9KX0sYSk7eGEoZCxmKX1mb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKV8udWEoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS5qLmxlbmd0aDtmKyspXy52YShhLmpbZl0sZFtlXSk7YS5CLmRlbGV0ZShkW2VdKX1pZihlPWEuSy5nZXQoZGUuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspZm9yKHZhciBnPWVbZl0saD0wO2g8ZC5sZW5ndGg7aCsrKWcoZGUuRVJST1IsZFtoXSxiKTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKShlPQphLmcuZ2V0KGNbZF0pKSYmZS5mZShiKTthLkEubGVuZ3RoPTA7YWYoYSl9LG1mPWZ1bmN0aW9uKGEpe2Zvcig7YS5qLmxlbmd0aDspe3ZhciBiPWEuai5zaGlmdCgpLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hdGhpcy5nLmdldChjKS5nfSxhKTtpZihiLmxlbmd0aD4wKXthLkcoYik7cmV0dXJufX1hZihhKX0sJGU9ZnVuY3Rpb24oYSxiKXthPWEuSy5nZXQoYik7Zm9yKHZhciBjPTA7YSYmYzxhLmxlbmd0aDtjKyspYVtjXShiKX0sbmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uQyhiKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5nLmdldChmKTshZS5oYXMoZikmJmQoZykmJihlLmFkZChmKSxuZihhLGcubHx8W10sYyxkLGUpLGMoZykpfX07ClZlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7cmEoQXJyYXkuZnJvbSh0aGlzLmcudmFsdWVzKCkpLHRoaXMuRCk7dGhpcy5nLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5BPVtdO3RoaXMuQi5jbGVhcigpO3RoaXMuaj1bXTt0aGlzLksuY2xlYXIoKTt0aGlzLlI9ITB9O1ZlLnByb3RvdHlwZS5xYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJ9O18uaGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFZlfTt2YXIgcGY9W10scWY9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXtkJiZ3YyhkLGZ1bmN0aW9uKGUsZil7ZVtmLmlkXT0hMDtyZXR1cm4gZX0sYy5KaSl9dmFyIGM9e0ppOnt9LGluZGV4OnBmLmxlbmd0aCxWbDphfTtiKGEubGQpO2IoYS5qbSk7cGYucHVzaChjKTthLmxkJiZfLnZjKGEubGQsZnVuY3Rpb24oZCl7dmFyIGU9ZC5pZDtlIGluc3RhbmNlb2YgdGMmJmQubW9kdWxlJiYoZS5nPWQubW9kdWxlKX0pfTtxZih7bGQ6W3tpZDp1YyxMYjpuYixtdWx0aXBsZTohMH1dfSk7Xy5yZj1SZWdFeHAoIl4oPzooW146Lz8jLl0rKTopPyg/Oi8vKD86KFteXFxcXC8/I10qKUApPyhbXlxcXFwvPyNdKj8pKD86OihbMC05XSspKT8oPz1bXFxcXC8/I118JCkpPyhbXj8jXSspPyg/OlxcPyhbXiNdKikpPyg/OiMoW1xcc1xcU10qKSk/JCIpO3ZhciBzZj17fTt2YXIgdGY9bmV3IHRjKCJNcEp3WmMiLCJNcEp3WmMiKTtfLnVmPW5ldyB0YygiVVVKcVZlIiwiVVVKcVZlIik7dmFyIHZmPW5ldyBiYix3Zj1mdW5jdGlvbihhLGIsYyl7Y2IuY2FsbCh0aGlzLGEsYik7dGhpcy5ub2RlPWI7dGhpcy5raW5kPWN9O18uQih3ZixjYik7Xy54Zj1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO18ueWY9ZnVuY3Rpb24oYSxiKXtifHxfLmxiKCk7dGhpcy5oPWF8fG51bGx9O18ueWYucHJvdG90eXBlLmthPWZ1bmN0aW9uKGEsYil7YT1hKGJ8fHt9LHRoaXMuaD90aGlzLmguZ2V0RGF0YSgpOnt9KTt0aGlzLmcobnVsbCwiZnVuY3Rpb24iPT10eXBlb2YgXy56ZiYmYSBpbnN0YW5jZW9mIF8uemY/YS5aYjpudWxsKTtyZXR1cm4gU3RyaW5nKGEpfTtfLnlmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7fTt2YXIgQWY9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5oPXRoaXMuZy5nKF8udWYpfTtBZi5wcm90b3R5cGUuZ2V0RGF0YT1mdW5jdGlvbigpe3RoaXMuZy5xYigpfHwodGhpcy5oPXRoaXMuZy5nKF8udWYpKTtyZXR1cm4gdGhpcy5oP3RoaXMuaC5qKCk6e319O3ZhciBCZj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgQWYoYSk7Xy55Zi5jYWxsKHRoaXMsYixhLmdldCh1YykuaCk7dGhpcy5qPW5ldyBfLmhiO3RoaXMubD1ifTtfLkIoQmYsXy55Zik7QmYucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLmdldERhdGEoKX07QmYucHJvdG90eXBlLmc9ZnVuY3Rpb24oYSxiKXtfLnlmLnByb3RvdHlwZS5nLmNhbGwodGhpcyxhLGIpO3RoaXMuai5kaXNwYXRjaEV2ZW50KG5ldyB3Zih2ZixhLGIpKX07Xy5vYSh0ZixCZik7cWYoe2xkOlt7aWQ6dGYsTGI6QmYsbXVsdGlwbGU6ITB9XX0pO3ZhciBDZj1mdW5jdGlvbihhLGIpe3RoaXMuZGVmYXVsdFZhbHVlPWE7dGhpcy50eXBlPWI7dGhpcy52YWx1ZT1hfTtDZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O0NmLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSl7dGhpcy52YWx1ZT1hfTt2YXIgRGY9ZnVuY3Rpb24oYSl7Q2YuY2FsbCh0aGlzLGEsImIiKX07Xy5CKERmLENmKTtEZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O3ZhciBFZj1mdW5jdGlvbigpe3RoaXMuZz17fTt0aGlzLmo9IiI7dGhpcy5oPXt9fTtFZi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmorRmYodGhpcyk7dmFyIGI9dGhpcy5oO3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilGYihkLGJbZF0sYyk7Yj1jLmpvaW4oIiYiKTtjPSIiO2IhPSIiJiYoYz0iPyIrYik7cmV0dXJuIGErY307CnZhciBIZj1mdW5jdGlvbihhKXthPUdmKGEsIm1kIik7cmV0dXJuISFhJiZhIT09IjAifSxGZj1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPWZ1bmN0aW9uKGQpe2EuZ1tkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EuZ1tkXSl9O0hmKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5nfHxJZihhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuZy5leGNtfHxhLmcuZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksR2YoYSwiYnIiKSE9IjEiJiZHZihhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLEdmKGEsInJiIik9PSIxIiYmYygicmIiKSxHZihhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLEpmKGEpIT09IiImJgpjKCJ3dCIpLGMoImdzc21vZHVsZXNldHByb3RvIiksYygidWpnIiksYygic3AiKSxjKCJpY2hjIiksYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9LEdmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuZ1tiXT9hLmdbYl06bnVsbH0sSWY9ZnVuY3Rpb24oYSxiLGMpe2M/YS5nW2JdPWM6ZGVsZXRlIGEuZ1tiXX0sSmY9ZnVuY3Rpb24oYSl7c3dpdGNoKEdmKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fSxNZj1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9S2YoYSksZD1uZXcgRWYsZT1jLm1hdGNoKF8ucmYpWzVdO18uemMoTGYsZnVuY3Rpb24oZyl7dmFyIGg9ZS5tYXRjaCgiLyIrZysiPShbXi9dKykiKTtoJiZJZihkLGcsaFsxXSl9KTsKdmFyIGY9IiI7Zj1hLmluZGV4T2YoIl8vc3MvIikhPS0xPyJfL3NzLyI6Il8vanMvIjtkLmo9YS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpO2lmKCFiKXJldHVybiBkOyhhPWMubWF0Y2goXy5yZilbNl18fG51bGwpJiZfLkViKGEsZnVuY3Rpb24oZyxoKXtkLmhbZ109aH0pO3JldHVybiBkfSxLZj1mdW5jdGlvbihhKXtyZXR1cm4gYS5zdGFydHNXaXRoKCJodHRwczovL3ViZXJwcm94eS1wZW4tcmVkaXJlY3QuY29ycC5nb29nbGUuY29tL3ViZXJwcm94eS9wZW4/dXJsPSIpP2Euc3Vic3RyKDY1KTphfSxMZj17Wmo6ImsiLHFqOiJjayIsVGo6Im0iLERqOiJleG0iLEJqOiJleGNtIixlajoiYW0iLGZqOiJhbWMiLFJqOiJtbSIsWWo6InJ0IixNajoiZCIsQ2o6ImVkIixqazoic3YiLHNqOiJkZW9iIixtajoiY2IiLG9qOiJjY2IiLG5qOiJjYmkiLGdrOiJycyIsYWs6InNkY2giLE5qOiJpbSIsdGo6ImRnIix6ajoiYnIiLHlqOiJici1kIixBajoicmIiLEJrOiJ6cyIsQWs6Ind0IiwKRWo6ImVlIixpazoic20iLFNqOiJtZCIsSmo6Imdzc21vZHVsZXNldHByb3RvIix5azoidWpnIix4azoic3AiLExqOiJpY2hjIixmazoic2xrIix2ajoiZHRpIix1ajoiZGJ3aCIsT2o6ImljIn0sTmY9UmVnRXhwKCJeW2EtekEtWjAtOS1fKl0rJCIpO18uRyhfLkhiLF8udSk7dmFyIE9mPVtdO18uSGIucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIFBmKHRoaXMsYSxiLGMsZCl9O3ZhciBQZj1mdW5jdGlvbihhLGIsYyxkLGUsZil7QXJyYXkuaXNBcnJheShjKXx8KGMmJihPZlswXT1jLnRvU3RyaW5nKCkpLGM9T2YpO2Zvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKXt2YXIgaD1fLngoYixjW2ddLGR8fGEuaGFuZGxlRXZlbnQsZXx8ITEsZnx8YS5ofHxhKTtpZighaClicmVhazthLmdbaC5rZXldPWh9cmV0dXJuIGF9O18uSGIucHJvdG90eXBlLmFlPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBRZih0aGlzLGEsYixjLGQpfTsKdmFyIFFmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihBcnJheS5pc0FycmF5KGMpKWZvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKVFmKGEsYixjW2ddLGQsZSxmKTtlbHNle2I9Xy5OZChiLGMsZHx8YS5oYW5kbGVFdmVudCxlLGZ8fGEuaHx8YSk7aWYoIWIpcmV0dXJuIGE7YS5nW2Iua2V5XT1ifXJldHVybiBhfTtfLkhiLnByb3RvdHlwZS55Yz1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspdGhpcy55YyhhLGJbZl0sYyxkLGUpO2Vsc2UgYz1jfHx0aGlzLmhhbmRsZUV2ZW50LGQ9Xy55YShkKT8hIWQuY2FwdHVyZTohIWQsZT1lfHx0aGlzLmh8fHRoaXMsYz1PZChjKSxkPSEhZCxiPUZkKGEpP2EuamMoYixjLGQsZSk6YT8oYT1RZChhKSk/YS5qYyhiLGMsZCxlKTpudWxsOm51bGwsYiYmKF8uVmQoYiksZGVsZXRlIHRoaXMuZ1tiLmtleV0pO3JldHVybiB0aGlzfTsKXy5SZj1mdW5jdGlvbihhKXtfLnpjKGEuZyxmdW5jdGlvbihiLGMpe3RoaXMuZy5oYXNPd25Qcm9wZXJ0eShjKSYmXy5WZChiKX0sYSk7YS5nPXt9fTtfLkhiLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5IYi5lYS5NLmNhbGwodGhpcyk7Xy5SZih0aGlzKX07Xy5IYi5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTiIpO307dmFyIFNmLFRmPWZ1bmN0aW9uKCl7fTtfLkcoVGYsSWIpO1RmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07U2Y9bmV3IFRmO18uRyhKYixJYik7SmIucHJvdG90eXBlLmc9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoIndpdGhDcmVkZW50aWFscyJpbiBhKXJldHVybiBhO2lmKHR5cGVvZiBYRG9tYWluUmVxdWVzdCE9InVuZGVmaW5lZCIpcmV0dXJuIG5ldyBVZjt0aHJvdyBFcnJvcigiTyIpO307dmFyIFVmPWZ1bmN0aW9uKCl7dGhpcy5nPW5ldyBYRG9tYWluUmVxdWVzdDt0aGlzLnJlYWR5U3RhdGU9MDt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMucmVzcG9uc2VUeXBlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuc3RhdHVzPS0xO3RoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLmcub25sb2FkPSgwLF8ueSkodGhpcy5QaCx0aGlzKTt0aGlzLmcub25lcnJvcj0oMCxfLnkpKHRoaXMuRGUsdGhpcyk7dGhpcy5nLm9ucHJvZ3Jlc3M9KDAsXy55KSh0aGlzLlNoLHRoaXMpO3RoaXMuZy5vbnRpbWVvdXQ9KDAsXy55KSh0aGlzLldoLHRoaXMpfTtfLm09VWYucHJvdG90eXBlOwpfLm0ub3Blbj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCYmIWMpdGhyb3cgRXJyb3IoIlAiKTt0aGlzLmcub3BlbihhLGIpfTtfLm0uc2VuZD1mdW5jdGlvbihhKXtpZihhKWlmKHR5cGVvZiBhPT0ic3RyaW5nIil0aGlzLmcuc2VuZChhKTtlbHNlIHRocm93IEVycm9yKCJRIik7ZWxzZSB0aGlzLmcuc2VuZCgpfTtfLm0uYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLmcuYWJvcnQoKX07Xy5tLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24oKXt9O18ubS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbihhKXtyZXR1cm4gYS50b0xvd2VyQ2FzZSgpPT0iY29udGVudC10eXBlIj90aGlzLmcuY29udGVudFR5cGU6IiJ9O18ubS5QaD1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTIwMDt0aGlzLnJlc3BvbnNlVGV4dD10aGlzLmcucmVzcG9uc2VUZXh0O1ZmKHRoaXMsNCl9O18ubS5EZT1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTUwMDt0aGlzLnJlc3BvbnNlVGV4dD0iIjtWZih0aGlzLDQpfTsKXy5tLldoPWZ1bmN0aW9uKCl7dGhpcy5EZSgpfTtfLm0uU2g9ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cz0yMDA7VmYodGhpcywxKX07dmFyIFZmPWZ1bmN0aW9uKGEsYil7YS5yZWFkeVN0YXRlPWI7aWYoYS5vbnJlYWR5c3RhdGVjaGFuZ2UpYS5vbnJlYWR5c3RhdGVjaGFuZ2UoKX07VWYucHJvdG90eXBlLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe3JldHVybiJjb250ZW50LXR5cGU6ICIrdGhpcy5nLmNvbnRlbnRUeXBlfTt2YXIgWGYsWWY7Xy5XZj1mdW5jdGlvbihhKXtfLmhiLmNhbGwodGhpcyk7dGhpcy5oZWFkZXJzPW5ldyBNYXA7dGhpcy5LPWF8fG51bGw7dGhpcy5oPSExO3RoaXMuZz1udWxsO3RoaXMuQT0iIjt0aGlzLmo9dGhpcy5GPXRoaXMubz10aGlzLkQ9ITE7dGhpcy5CPTA7dGhpcy5sPW51bGw7dGhpcy5JPSIiO3RoaXMuQz0hMX07Xy5HKF8uV2YsXy5oYik7WGY9L15odHRwcz8kL2k7WWY9WyJQT1NUIiwiUFVUIl07Xy5aZj1bXTtfLldmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCk7Xy52YShfLlpmLHRoaXMpfTsKXy5XZi5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhLGIsYyxkKXtpZih0aGlzLmcpdGhyb3cgRXJyb3IoIlNgIit0aGlzLkErImAiK2EpO2I9Yj9iLnRvVXBwZXJDYXNlKCk6IkdFVCI7dGhpcy5BPWE7dGhpcy5EPSExO3RoaXMuaD0hMDt0aGlzLmc9dGhpcy5LP3RoaXMuSy5nKCk6U2YuZygpO3RoaXMuZy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZWUoKDAsXy55KSh0aGlzLkcsdGhpcykpO3RyeXt0aGlzLkY9ITAsdGhpcy5nLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuRj0hMX1jYXRjaChnKXskZih0aGlzKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKXtlPV8uQyhkLmtleXMoKSk7Zm9yKHZhciBmPWUubmV4dCgpOyFmLmRvbmU7Zj0KZS5uZXh0KCkpZj1mLnZhbHVlLGMuc2V0KGYsZC5nZXQoZikpfWVsc2UgdGhyb3cgRXJyb3IoIlRgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmdW5jdGlvbihnKXtyZXR1cm4iY29udGVudC10eXBlIj09Zy50b0xvd2VyQ2FzZSgpfSk7ZT1fLnYuRm9ybURhdGEmJmEgaW5zdGFuY2VvZiBfLnYuRm9ybURhdGE7IV8udGEoWWYsYil8fGR8fGV8fGMuc2V0KCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCIpO2I9Xy5DKGMpO2ZvcihkPWIubmV4dCgpOyFkLmRvbmU7ZD1iLm5leHQoKSljPV8uQyhkLnZhbHVlKSxkPWMubmV4dCgpLnZhbHVlLGM9Yy5uZXh0KCkudmFsdWUsdGhpcy5nLnNldFJlcXVlc3RIZWFkZXIoZCxjKTt0aGlzLkkmJih0aGlzLmcucmVzcG9uc2VUeXBlPXRoaXMuSSk7IndpdGhDcmVkZW50aWFscyJpbiB0aGlzLmcmJnRoaXMuZy53aXRoQ3JlZGVudGlhbHMhPT10aGlzLkMmJgoodGhpcy5nLndpdGhDcmVkZW50aWFscz10aGlzLkMpO3RyeXt0aGlzLmwmJihjbGVhclRpbWVvdXQodGhpcy5sKSx0aGlzLmw9bnVsbCksdGhpcy5CPjAmJih0aGlzLmw9c2V0VGltZW91dCh0aGlzLlIuYmluZCh0aGlzKSx0aGlzLkIpKSx0aGlzLm89ITAsdGhpcy5nLnNlbmQoYSksdGhpcy5vPSExfWNhdGNoKGcpeyRmKHRoaXMpfX07Xy5XZi5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3R5cGVvZiBqYyE9InVuZGVmaW5lZCImJnRoaXMuZyYmKHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTt2YXIgJGY9ZnVuY3Rpb24oYSl7YS5oPSExO2EuZyYmKGEuaj0hMCxhLmcuYWJvcnQoKSxhLmo9ITEpO2RnKGEpO2VnKGEpfSxkZz1mdW5jdGlvbihhKXthLkR8fChhLkQ9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9OwpfLldmLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuZyYmdGhpcy5oJiYodGhpcy5oPSExLHRoaXMuaj0hMCx0aGlzLmcuYWJvcnQoKSx0aGlzLmo9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxlZyh0aGlzKSl9O18uV2YucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmgmJih0aGlzLmg9ITEsdGhpcy5qPSEwLHRoaXMuZy5hYm9ydCgpLHRoaXMuaj0hMSksZWcodGhpcywhMCkpO18uV2YuZWEuTS5jYWxsKHRoaXMpfTtfLldmLnByb3RvdHlwZS5HPWZ1bmN0aW9uKCl7dGhpcy5xYigpfHwodGhpcy5GfHx0aGlzLm98fHRoaXMuaj9mZyh0aGlzKTp0aGlzLk8oKSl9O18uV2YucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtmZyh0aGlzKX07CnZhciBmZz1mdW5jdGlvbihhKXtpZihhLmgmJnR5cGVvZiBqYyE9InVuZGVmaW5lZCIpaWYoYS5vJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPT00KXNldFRpbWVvdXQoYS5HLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSwoYS5nP2EuZy5yZWFkeVN0YXRlOjApPT00KXthLmg9ITE7dHJ5e18uZ2coYSk/KGEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKSk6ZGcoYSl9ZmluYWxseXtlZyhhKX19fSxlZz1mdW5jdGlvbihhLGIpe2lmKGEuZyl7YS5sJiYoY2xlYXJUaW1lb3V0KGEubCksYS5sPW51bGwpO3ZhciBjPWEuZzthLmc9bnVsbDtifHxhLmRpc3BhdGNoRXZlbnQoInJlYWR5Iik7dHJ5e2Mub25yZWFkeXN0YXRlY2hhbmdlPW51bGx9Y2F0Y2goZCl7fX19O18uV2YucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLmd9OwpfLmdnPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaGcoYSk7YTpzd2l0Y2goYil7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnZhciBjPSEwO2JyZWFrIGE7ZGVmYXVsdDpjPSExfWlmKCFjKXtpZihiPWI9PT0wKWE9U3RyaW5nKGEuQSkubWF0Y2goXy5yZilbMV18fG51bGwsIWEmJl8udi5zZWxmJiZfLnYuc2VsZi5sb2NhdGlvbiYmKGE9Xy52LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpLGI9IVhmLnRlc3QoYT9hLnRvTG93ZXJDYXNlKCk6IiIpO2M9Yn1yZXR1cm4gY307Xy5oZz1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEuZz9hLmcucmVhZHlTdGF0ZTowKT4yP2EuZy5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTtfLmlnPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nP2EuZy5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goYil7cmV0dXJuIiJ9fTt2YXIga2c9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dGhpcy5GPWE7dGhpcy5CPU1mKGEpO3RoaXMubD10aGlzLm89bnVsbDt0aGlzLkk9ITA7dGhpcy5oPW5ldyBfLkhiKHRoaXMpO3RoaXMuRz1bXTt0aGlzLkE9bmV3IFNldDt0aGlzLmc9W107dGhpcy5LPW5ldyBqZzt0aGlzLmo9W107dGhpcy5DPSExO2E9KDAsXy55KSh0aGlzLkQsdGhpcyk7c2YudmVyc2lvbj1hfTtfLkIoa2csXy51KTsKdmFyIGxnPWZ1bmN0aW9uKGEsYil7YS5nLmxlbmd0aCYmUGUoYixhLmdbYS5nLmxlbmd0aC0xXSk7YS5nLnB1c2goYik7TWUoYixmdW5jdGlvbigpe18udmEodGhpcy5nLGIpfSxhKX0sZmY9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZD09PXZvaWQgMD97fTpkO3ZhciBmPWUuamg7ZD1lLm1oO3ZhciBnPWUuZmU7ZT1lLkZpO2I9bWcoYSxiLGMsZixkKTtuZyhhLGIsZyxlLGQpfSxtZz1mdW5jdGlvbihhLGIsYyxkLGUpe2Q9ZD09PXZvaWQgMD9OYz9uZXcgTWFwOnt9OmQ7dmFyIGY9W107b2coYSxiLGMsZCxlPT09dm9pZCAwPyExOmUsZnVuY3Rpb24oZyl7Zi5wdXNoKGcuUmEoKSl9KTtyZXR1cm4gZn0sb2c9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Zz1nPT09dm9pZCAwP3t9Omc7Yj1fLkMoYik7Zm9yKHZhciBoPWIubmV4dCgpOyFoLmRvbmU7aD1iLm5leHQoKSl7dmFyIGs9aC52YWx1ZTtoPWMuZ2V0KGspOyFlJiYoYS5BLmhhcyhrKXx8aC5nKXx8Z1trXXx8KGdba109ITAsaz1kIGluc3RhbmNlb2YKTWFwPyhrPWQuZ2V0KGspKT9BcnJheS5mcm9tKGspOltdOmRba10/T2JqZWN0LmtleXMoZFtrXSk6W10sb2coYSxoLmwuY29uY2F0KGspLGMsZCxlLGYsZyksZihoKSl9fSxuZz1mdW5jdGlvbihhLGIsYyxkLGUpe2U9ZT09PXZvaWQgMD8hMTplO3ZhciBmPVtdLGc9bmV3IEJiO2I9W2JdO2Zvcih2YXIgaD1mdW5jdGlvbihxLHApe2Zvcih2YXIgcj1bXSx0PTAsQT1NYXRoLmZsb29yKHEubGVuZ3RoL3ApKzEsRD0wO0Q8cDtEKyspe3ZhciBFPShEKzEpKkE7ci5wdXNoKHEuc2xpY2UodCxFKSk7dD1FfXJldHVybiByfSxrPWIuc2hpZnQoKTtrOyl7dmFyIGw9cGcoYSxrLCEhZSwhMCk7aWYobC5sZW5ndGg8PTJFMyl7aWYoaz1yZyhhLGssZSkpZi5wdXNoKGspLFBlKGcsay5nKX1lbHNlIGI9aChrLE1hdGguY2VpbChsLmxlbmd0aC8yRTMpKS5jb25jYXQoYik7az1iLnNoaWZ0KCl9dmFyIG49bmV3IEJiO2xnKGEsbik7TWUobixmdW5jdGlvbigpe3JldHVybiBzZyhhLGYsYyxkKX0pO05lKG4sCmZ1bmN0aW9uKCl7dmFyIHE9bmV3IHRnO3Euaj0hMDtxLmg9LTE7c2codGhpcyxbcV0sYyxkKX0sYSk7TWUoZyxmdW5jdGlvbigpe3JldHVybiBuLmcoKX0pO2cuZygpfSxyZz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cGcoYSxiLCEoYz09PXZvaWQgMHx8IWMpKTthLkcucHVzaChkKTtiPV8uQyhiKTtmb3IoYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5BLmFkZChjLnZhbHVlKTtpZihhLkMpYT1fLndkKGRvY3VtZW50LCJTQ1JJUFQiKSxfLlNhKGEsXy5MYihkKSksYS50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLGEuYXN5bmM9ITEsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtlbHNle3ZhciBlPW5ldyB0ZyxmPW5ldyBfLldmKGEuai5sZW5ndGg+MD9uZXcgSmI6dm9pZCAwKTthLmguTihmLCJzdWNjZXNzIiwoMCxfLnkpKGUuQixlLGYpKTthLmguTihmLCJlcnJvciIsKDAsXy55KShlLkEsZSxmKSk7YS5oLk4oZiwidGltZW91dCIsKDAsXy55KShlLkMsZSkpO1BmKGEuaCwKZiwicmVhZHkiLGYuZGlzcG9zZSwhMSxmKTtmLkI9M0U0O3VnKGEuSyxmdW5jdGlvbigpe2Yuc2VuZChkKTtyZXR1cm4gZS5nfSk7cmV0dXJuIGV9cmV0dXJuIG51bGx9LHNnPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT0hMSxmLGc9ITEsaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgaz1iW2hdO2lmKCFmJiZrLmope2U9ITA7Zj1rLmg7YnJlYWt9ZWxzZSBrLmwmJihnPSEwKX1oPV8ud2EoYS5nKTsoZXx8ZykmJmYhPS0xJiYoYS5nLmxlbmd0aD0wKTtpZihlKWMmJmMoZik7ZWxzZSBpZihnKWQmJmQoKTtlbHNlIGZvcihhPTA7YTxiLmxlbmd0aDthKyspZD1iW2FdLHZnKGQubyxkLkNhKXx8YyYmYyg4MDAxKTsoZXx8ZykmJmYhPS0xJiZfLnZjKGgsZnVuY3Rpb24obCl7bC5jYW5jZWwoKX0pfTtrZy5wcm90b3R5cGUuTT1mdW5jdGlvbigpe3RoaXMuaC5kaXNwb3NlKCk7ZGVsZXRlIHNmLnZlcnNpb247Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyl9OwprZy5wcm90b3R5cGUuRD1mdW5jdGlvbigpe3JldHVybiBHZih0aGlzLkIsImsiKX07CnZhciBwZz1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT1fLkNiKGEuRi5tYXRjaChfLnJmKVszXXx8bnVsbCk7aWYoYS5qLmxlbmd0aD4wJiYhXy50YShhLmosZSkmJmUhPW51bGwmJndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSE9ZSl0aHJvdyBFcnJvcigiV2AiK2UpO3ZhciBmPWEuQjtlPW5ldyBFZjtlLmc9T2JqZWN0LmFzc2lnbih7fSxmLmcpO2Uuaj1mLmo7ZS5oPU9iamVjdC5hc3NpZ24oe30sZi5oKTtkZWxldGUgZS5nLm07ZGVsZXRlIGUuZy5leG07ZGVsZXRlIGUuZy5lZDtpZihiKXtmPV8uQyhiKTtmb3IodmFyIGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWlmKGc9Zy52YWx1ZSwhTmYudGVzdChnKSl0aHJvdyBFcnJvcigiTWAiK2cpO31JZihlLCJtIixiLmpvaW4oIiwiKSk7YS5vJiYoSWYoZSwiY2siLGEubyksYS5sJiZJZihlLCJycyIsYS5sKSk7SWYoZSwiZCIsIjAiKTtjJiYoZS5oLnp4PU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoKMjE0NzQ4MzY0OCkudG9TdHJpbmcoMzYpK01hdGguYWJzKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMTQ3NDgzNjQ4KV5EYXRlLm5vdygpKS50b1N0cmluZygzNikpO2E9ZS50b1N0cmluZygpO2QmJmEubGFzdEluZGV4T2YoIi8iLDApPT0wJiYoZT1kb2N1bWVudC5sb2NhdGlvbi5ocmVmLm1hdGNoKF8ucmYpLGQ9ZVsxXSxiPWVbMl0sYz1lWzNdLGU9ZVs0XSxmPSIiLGQmJihmKz1kKyI6IiksYyYmKGYrPSIvLyIsYiYmKGYrPWIrIkAiKSxmKz1jLGUmJihmKz0iOiIrZSkpLGE9ZithKTtyZXR1cm4gYX0sdmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtpZihhLmxlbmd0aD4xJiZhLmNoYXJBdChhLmxlbmd0aC0xKT09PSJcbiIpe3ZhciBkPWEubGFzdEluZGV4T2YoIlxuIixhLmxlbmd0aC0yKTtkPj0wJiYoYz1hLnN1YnN0cmluZyhkKzEsYS5sZW5ndGgtMSkpfWQ9Yy5sZW5ndGgtMTE7aWYoZD49MCYmYy5pbmRleE9mKCJHb29nbGUgSW5jLiIsZCk9PWR8fGMubGFzdEluZGV4T2YoIi8vIyBzb3VyY2VNYXBwaW5nVVJMPSIsCjApPT0wKXRyeXtjPXdpbmRvdzthPWErIlxyXG4vLyMgc291cmNlVVJMPSIrYjthPV8uS2IoYSk7dmFyIGU9Xy5RYShhKTt2YXIgZj1fLlJhKGUpO2MuZXZhbChmKT09PWYmJmMuZXZhbChmLnRvU3RyaW5nKCkpfWNhdGNoKGcpe3JldHVybiExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9LHdnPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ2IoYS5tYXRjaChfLnJmKVs1XXx8bnVsbCl8fCIiO2I9Xy5DYihLZihiKS5tYXRjaChfLnJmKVs1XXx8bnVsbCk7cmV0dXJuKGI9PT1udWxsPzA6UmVnRXhwKCIoL18vanMvKXwoL18vc3MvKSIsImciKS50ZXN0KGIpJiYvXC9rPS8udGVzdChiKSk/YTpudWxsfSx0Zz1mdW5jdGlvbigpe3RoaXMuZz1uZXcgQmI7dGhpcy5DYT10aGlzLm89IiI7dGhpcy5qPSExO3RoaXMuaD0wO3RoaXMubD0hMX07dGcucHJvdG90eXBlLkI9ZnVuY3Rpb24oYSl7dGhpcy5vPV8uaWcoYSk7dGhpcy5DYT1TdHJpbmcoYS5BKTt0aGlzLmcuZygpfTsKdGcucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSl7dGhpcy5qPSEwO3RoaXMuaD1fLmhnKGEpO3RoaXMuZy5nKCl9O3RnLnByb3RvdHlwZS5DPWZ1bmN0aW9uKCl7dGhpcy5sPSEwO3RoaXMuZy5nKCl9O3ZhciBqZz1mdW5jdGlvbigpe3RoaXMuZz0wO3RoaXMuaD1bXX0sdWc9ZnVuY3Rpb24oYSxiKXthLmgucHVzaChiKTt4ZyhhKX0seGc9ZnVuY3Rpb24oYSl7Zm9yKDthLmc8NSYmYS5oLmxlbmd0aDspeWcoYSxhLmguc2hpZnQoKSl9LHlnPWZ1bmN0aW9uKGEsYil7YS5nKys7TWUoYigpLGZ1bmN0aW9uKCl7dGhpcy5nLS07eGcodGhpcyl9LGEpfTt2YXIgemc9bmV3IERmKCExKSxBZz1kb2N1bWVudC5sb2NhdGlvbi5ocmVmOwpxZih7ZmxhZ3M6e2RtbDp6Z30saW5pdGlhbGl6ZTpmdW5jdGlvbihhKXt2YXIgYj16Zy5nZXQoKSxjPSIiLGQ9IiI7d2luZG93JiZ3aW5kb3cuX0ZfY3NzUm93S2V5JiYoYz13aW5kb3cuX0ZfY3NzUm93S2V5LHdpbmRvdy5fRl9jb21iaW5lZFNpZ25hdHVyZSYmKGQ9d2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlKSk7aWYoYyYmdHlwZW9mIHdpbmRvdy5fRl9pbnN0YWxsQ3NzIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiVSIpO3ZhciBlLGY9Xy52Ll9GX2pzVXJsO2YmJihlPXdnKGYpKTshZSYmKGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhc2UtanMiKSkmJihlPWYuc3JjP2Yuc3JjOmYuZ2V0QXR0cmlidXRlKCJocmVmIiksZT13ZyhlKSk7ZXx8KGU9d2coQWcpKTtlfHwoZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksZT13ZyhlW2UubGVuZ3RoLTFdLnNyYykpO2lmKCFlKXRocm93IEVycm9yKCJWIik7ZT1uZXcga2coZSk7YyYmKGUubz1jKTsKZCYmKGUubD1kKTtlLkM9YjtiPWphKCk7Yi5PPWU7Yi5YZighMCk7Yj1qYSgpO2Iuc2UoYSk7YS5qKGIpfX0pOwpfLl9Nb2R1bGVNYW5hZ2VyX2luaXRpYWxpemU9ZnVuY3Rpb24oYSxiKXtpZighXy5kYSl7aWYoIV8uaGEpcmV0dXJuO18uaWEoKX1fLmRhLnFlKGEsYil9OwpfLl9Nb2R1bGVNYW5hZ2VyX2luaXRpYWxpemUoJ2IvbjczcXdmL1VVSnFWZS9NcEp3WmMvZWxfY29uZi9lbF9tYWluX2Nzcy9zeTEvc3kyOjYvc3kzOjcvc3k0OjYvZWxfbWFpbjo1LDgsOS9jb3JzcHJveHkvd2Vic2l0ZV9lcnJvci9uYXZpZ2F0aW9udWk6Ny9waGlzaGluZ19wcm90ZWN0aW9uOjgvX3N0YW06OScsWydlbF9jb25mJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmxhKCJlbF9jb25mIik7CnZhciBDZztfLl9leHBvcnRWZXJzaW9uPWZ1bmN0aW9uKGEpe18ucmMoImdvb2dsZS50cmFuc2xhdGUudiIsYSl9O18uX2dldENhbGxiYWNrRnVuY3Rpb249ZnVuY3Rpb24oYSl7cmV0dXJuIF8ua2MoYSl9O0NnPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07Ynx8KGI9ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImhlYWQiKSkpO2IuYXBwZW5kQ2hpbGQoYSl9O18uX2xvYWRKcz1mdW5jdGlvbihhKXt2YXIgYj1fLndkKGRvY3VtZW50LCJTQ1JJUFQiKTtiLnR5cGU9InRleHQvamF2YXNjcmlwdCI7Yi5jaGFyc2V0PSJVVEYtOCI7Xy5TYShiLF8uTGIoYSkpO0NnKGIpfTsKXy5fbG9hZENzcz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi50eXBlPSJ0ZXh0L2NzcyI7Yi5yZWw9InN0eWxlc2hlZXQiO2IuY2hhcnNldD0iVVRGLTgiO2IuaHJlZj1hO0NnKGIpfTtfLl9pc05TPWZ1bmN0aW9uKGEpe2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgYj13aW5kb3csYz0wO2M8YS5sZW5ndGg7KytjKWlmKCEoYj1iW2FbY11dKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5fc2V0dXBOUz1mdW5jdGlvbihhKXthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyliLmhhc093blByb3BlcnR5P2IuaGFzT3duUHJvcGVydHkoYVtjXSk/Yj1iW2FbY11dOmI9YlthW2NdXT17fTpiPWJbYVtjXV18fChiW2FbY11dPXt9KTtyZXR1cm4gYn07Xy5yYygiX2V4cG9ydFZlcnNpb24iLF8uX2V4cG9ydFZlcnNpb24pO18ucmMoIl9nZXRDYWxsYmFja0Z1bmN0aW9uIixfLl9nZXRDYWxsYmFja0Z1bmN0aW9uKTsKXy5yYygiX2xvYWRKcyIsXy5fbG9hZEpzKTtfLnJjKCJfbG9hZENzcyIsXy5fbG9hZENzcyk7Xy5yYygiX2lzTlMiLF8uX2lzTlMpO18ucmMoIl9zZXR1cE5TIixfLl9zZXR1cE5TKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmdHlwZW9mIGRvY3VtZW50LnJlYWR5U3RhdGU9PSJ1bmRlZmluZWQiJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5yZWFkeVN0YXRlPSJjb21wbGV0ZSJ9LCExKTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCgovLyMgc291cmNlVVJMPS9fL3RyYW5zbGF0ZV9odHRwL18vanMvaz10cmFuc2xhdGVfaHR0cC50ci5uby5zY3JuWTZRMl95dy5PL2FtPUJJQUFCdy9kPTEvcnM9QU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1dy9tPWVsX2NvbmYKICAgIC8vIENvbmZpZ3VyZSBDb25zdGFudHMKICAgIChmdW5jdGlvbigpewogICAgICBsZXQgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSBuZXcgRGF0ZSgpOwogICAgICBpZiAoX2lzTlMoJ2dvb2dsZS50cmFuc2xhdGUuRWxlbWVudCcpKXtyZXR1cm59CgogICAgICAoZnVuY3Rpb24oKXsKICAgICAgICBjb25zdCBjPV9zZXR1cE5TKCdnb29nbGUudHJhbnNsYXRlLl9jb25zdCcpOwoKICAgICAgICBjLl9jZXN0ID0gZ3RDb25zdEV2YWxTdGFydFRpbWU7CiAgICAgICAgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSB1bmRlZmluZWQ7IC8vIGhpZGUgdGhpcyBldmFsIHN0YXJ0IHRpbWUgY29uc3RhbnQKICBjLl9jbD0nbm8nOyBjLl9jdWM9J2dvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0JzsgYy5fY2VmPSdceDViMCwxLDAsXHg1Ylx4MjJlc19lblx4MjIsXHgyMmVuX3poXHgyMixceDIyZW5fZGVceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2VzXHgyMixceDIyZGVfZW5ceDIyXHg1ZCxudWxsLFx4NWIwLDMsMTAwLFx4NWJceDIyZW5faGlceDIyLFx4MjJoaV9lblx4MjIsXHgyMmVuX2VzXHgyMixceDIyZXNfZW5ceDIyLFx4MjJlbl9kZVx4MjIsXHgyMmRlX2VuXHgyMixceDIyZW5femhceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2FyXHgyMixceDIyZW5faWRceDIyXHg1ZFx4NWQsMCwxLDBceDVkJzsgYy5fY2FjPScnOyBjLl9jYW09Jyc7IGMuX2NlbnY9J3Byb2QnO2MuX2NsbD0nSU5GTyc7IGMuX2NnYWs9Jyc7IGMuX2N0a2s9JzQ5NTg3MS42MDk4NTYxMzknOyBjb25zdCBoPSd0cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBvcGg9J3RyYW5zbGF0ZS1wYS5nb29nbGVhcGlzLmNvbSc7IGNvbnN0IHM9J2h0dHBzJysnOi8vJzsgYy5fcGFoPWg7IGMuX3Bhcz1zOyBjb25zdCBiPXMrJ3RyYW5zbGF0ZS5nb29nbGVhcGlzLmNvbSc7IGNvbnN0IHN0YXRpY1BhdGggPSAnL3RyYW5zbGF0ZV9zdGF0aWMvJzsgYy5fcGNpPWIrc3RhdGljUGF0aCsnaW1nL3RlX2N0cmwzLmdpZic7IGMuX3BtaT1iK3N0YXRpY1BhdGgrJ2ltZy9taW5pX2dvb2dsZS5wbmcnOyBjLl9wYmk9YitzdGF0aWNQYXRoKydpbWcvdGVfYmsuZ2lmJzsgYy5fcGxpPWIrc3RhdGljUGF0aCsnaW1nL2xvYWRpbmcuZ2lmJzsgYy5fcHM9J2h0dHBzOlwvXC93d3cuZ3N0YXRpYy5jb21cL19cL3RyYW5zbGF0ZV9odHRwXC9fXC9zc1wva1x4M2R0cmFuc2xhdGVfaHR0cC50ci5CN0RpaDlKeWpudy5MLkY0Lk9cL2FtXHgzZEJJQUFCd1wvZFx4M2QwXC9yc1x4M2RBTjhTUGZwQzA0dnJyelFYZ3NfVENNNUV0cnV3ZlB6TnRRXC9tXHgzZGVsX21haW5fY3NzJzsgYy5fcGxsYT1vcGgrJ1wvdjFcL3N1cHBvcnRlZExhbmd1YWdlcyc7IGMuX3B1aD0ndHJhbnNsYXRlLmdvb2dsZS5jb20nO2MuX2NuYWw9e307X2xvYWRDc3MoYy5fcHMpOyBfbG9hZEpzKCdodHRwczpcL1wvdHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvanNcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIubm8uc2Nyblk2UTJfeXcuT1wvYW1ceDNkQklBQUJ3XC9kXHgzZDFcL2V4bVx4M2RlbF9jb25mXC9lZFx4M2QxXC9yc1x4M2RBTjhTUGZxMUtsVUZxZWlGdkJNdWRkdXpHdGIzOVFXWHV3XC9tXHgzZGVsX21haW4nKTtfZXhwb3J0VmVyc2lvbignVEVfMjAyNjA3MjInKTsKICAgICAgICB9KSgpOwogICAgICB9KSgpOwogIA=="}},"time_used":94,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":44,"receive":0,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images//05-mt5-hero.jpg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:30.733Z","timestamp":1785137070733,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images//05-mt5-hero.jpg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 179840\r\ncontent-type: image/jpeg\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c54a80\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:30 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]}],"data":{"size":179840,"size_decoded":180139,"mime_type":"image/jpeg","magic":"JPEG image data, baseline, precision 8, 2000x729, components 3","md5":"3875865d9bc54ce9616761d9ade768c8","sha1":"bd8ec0ee7b21c840c730116051ca9395b7198c82","sha256":"51918f4374c5ebbf77c4d5bd652ac238d600086eabc1151d3a7eeeda93edeb1a","sha512":"85b18d68073e0c8857ec67d6b10a06a5262f1bea9d82d0c08e79ce513fa2e511193e6e36186f23df33b6d01ae156b1cd882c680ee76a89c4b9d07c236f8a1e19","ssdeep":"3072:51cNbi2B2MXT0IX5l4NfinbkI+gpjF+9MlmrrCBBOTcrbR2vqbw8LOR9FLqbd:fcNbi2B70Ipl4NfinQI+gqbeX9XR2awK","tlshash":"7e0412d1f9827d787682120eaeedd211c0970af169b4db70bc4c0eaad3c99cdd101b76","first_seen":"2025-10-27T18:25:33.067795Z","last_seen":"2026-07-27T07:25:28.88309Z","times_seen":6,"resource_available":false,"data":"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"}},"time_used":1999,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1081,"receive":918,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:31.814Z","timestamp":1785137071814,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow HTTP/1.1\r\nHost: www.youtube.com\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\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: __Secure-YNID=20.YT=GhHoVqVBrjHMHksu5uSSgLzoaFxSlipAJgg5Br_6VXtipKt0M0tGx6maNNULFSuoPmjhn6TrRofBA0PX16wJP84g82xlVHelBWmJaeFN6kLW3UBMj5gR2yeB2nt_mc5Fta3BSJU5o8qIfzI2fIuyWY14DtZ_1DnPpFpxz_XlGvqNfHda7m_zgLyHIQ-fawJ9ZrP90LxwCOvFTy3uwSuBx3hgQZ1nuj8OqfQvIJQW5xJfxr01vRMWaeEk5ZEjPYuYwGK38gUfiMRXxIzUeDegCXvpN8-BMAaA-YvGh0Eml-GnQmyBMn2F18nj6fzYpEzjxyaaCzPqsxxxY54TPVwQ-Q; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxj3jqflqfKVAw%3D%3D\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/html; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_main/allowlist, require-trusted-types-for 'script', base-uri 'self';object-src 'none';script-src 'nonce-VIq3QLDGzluileT_wX88zA' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 07:24:31 GMT\r\np3p: CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"\r\nstrict-transport-security: max-age=31536000\r\ncross-origin-embedder-policy-report-only: require-corp; report-to=\"youtube_main\"\r\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\nreport-to: {\"group\":\"youtube_main\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube_main\"}]},{\"group\":\"youtube_main-connectionallowlist\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/youtube_main/connectionallowlist\"}]}\r\ncross-origin-resource-policy: cross-origin\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=qIDWRSMhLXEwhRO4xETATQPR3jvQyZo5T4h1SiDwJZFeQABsv_T5rYcMTLyacdftQe1HFuTQYjCxldnVpZp74VYBMv_rUVwgOJ5HUwk7m3JIuCd9ZG52YE8hl7osllUIaKR2lm2Uof5aC684VV5dlQS3kmZBv5qVoUMTOzsGqPehMT1KjkhyJLxLtvige5qHG872p_pLGkmERGh0bmiKBMP7ZZDLQotiJ1KMNThxulgS-EDDia5j6Hykxc6wr_Ao78rVG6XGls6peXe6iAAIyvMNaTz8Cp_9-G3okp6kxCIuNJKmfPqv4_6k45-NAxJPqfBHRLWzFAp4sda6-ccaAA; expires=Sat, 23-Jan-2027 07:24:25 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxjX2KroqfKVAw%3D%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 07:24:31 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 07:24:31 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=UUUmJsFpd4c; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 07:24:31 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 07:24:31 GMT; Path=/; Secure; HttpOnly; SameSite=none\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":147042,"size_decoded":60619,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (52128)","md5":"4c889dc415cb7c47c144a8364ae33937","sha1":"7af00716a348bdeedba1e92256231b46cf1ad38c","sha256":"9f1e5a296437aa91d9e03e1730d4a032797d51dae5cf6f58dac739ece4e3b11e","sha512":"cb98e1be2b4abca7984ab05ccab17d04fdeeee625c2f9096cedea5d87c4508db7ba276dbdca75db330bed4d8e52e8a8deca3ed851caad9c73430004f371129c6","ssdeep":"1536:RbQIcNNcMMMUIJYVM6bBGzhhncFLo43UEwgGpRJHuXha+kHryMZ5W677k/beNDb/:WRMgYa0L0Ewg2JkKrhZAQkCDT","tlshash":"08e30a250868a875c5939547edbaff3e5ce8023907c996aebcbbd34c01dc6520eaf417","first_seen":"2026-07-27T07:25:17.868079Z","last_seen":"2026-07-27T07:25:17.868079Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIiBkYXRhLWNhc3QtYXBpLWVuYWJsZWQ9InRydWUiPjxoZWFkPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+PHNjcmlwdCBub25jZT0iVklxM1FMREd6bHVpbGVUX3dYODh6QSI+aWYgKCd1bmRlZmluZWQnID09IHR5cGVvZiBTeW1ib2wgfHwgJ3VuZGVmaW5lZCcgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvcikge2RlbGV0ZSBBcnJheS5wcm90b3R5cGUuZW50cmllczt9PC9zY3JpcHQ+PHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iIG5vbmNlPSJxMmVtSnlMcUVXeUptWUhIdEFacGVRIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzNzcsVSswMzdBLTAzN0YsVSswMzg0LTAzOEEsVSswMzhDLFUrMDM4RS0wM0ExLFUrMDNBMy0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAyLTAzMDMsVSswMzA1LFUrMDMwNy0wMzA4LFUrMDMxMCxVKzAzMTIsVSswMzE1LFUrMDMxQSxVKzAzMjYtMDMyNyxVKzAzMkMsVSswMzJGLTAzMzAsVSswMzMyLTAzMzMsVSswMzM4LFUrMDMzQSxVKzAzNDYsVSswMzRELFUrMDM5MS0wM0ExLFUrMDNBMy0wM0E5LFUrMDNCMS0wM0M5LFUrMDNEMSxVKzAzRDUtMDNENixVKzAzRjAtMDNGMSxVKzAzRjQtMDNGNSxVKzIwMTYtMjAxNyxVKzIwMzQtMjAzOCxVKzIwM0MsVSsyMDQwLFUrMjA0MyxVKzIwNDcsVSsyMDUwLFUrMjA1NyxVKzIwNUYsVSsyMDcwLTIwNzEsVSsyMDc0LTIwOEUsVSsyMDkwLTIwOUMsVSsyMEQwLTIwREMsVSsyMEUxLFUrMjBFNS0yMEVGLFUrMjEwMC0yMTEyLFUrMjExNC0yMTE1LFUrMjExNy0yMTIxLFUrMjEyMy0yMTRGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxQUUsVSsyMUIwLTIxRTUsVSsyMUYxLTIxRjIsVSsyMUY0LTIyMTEsVSsyMjEzLTIyMTQsVSsyMjE2LTIyRkYsVSsyMzA4LTIzMEIsVSsyMzEwLFUrMjMxOSxVKzIzMUMtMjMyMSxVKzIzMzYtMjM3QSxVKzIzN0MsVSsyMzk1LFUrMjM5Qi0yM0I3LFUrMjNEMCxVKzIzREMtMjNFMSxVKzI0NzQtMjQ3NSxVKzI1QUYsVSsyNUIzLFUrMjVCNyxVKzI1QkQsVSsyNUMxLFUrMjVDQSxVKzI1Q0MsVSsyNUZCLFUrMjY2RC0yNjZGLFUrMjdDMC0yN0ZGLFUrMjkwMC0yQUZGLFUrMkIwRS0yQjExLFUrMkIzMC0yQjRDLFUrMkJGRSxVKzMwMzAsVStGRjVCLFUrRkY1RCxVKzFENDAwLTFEN0ZGLFUrMUVFMDAtMUVFRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDEtMDAwQyxVKzAwMEUtMDAxRixVKzAwN0YtMDA5RixVKzIwREQtMjBFMCxVKzIwRTItMjBFNCxVKzIxNTAtMjE4RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMTk5LFUrMjFBRixVKzIxRTYtMjFGMCxVKzIxRjMsVSsyMjE4LTIyMTksVSsyMjk5LFUrMjJDNC0yMkM2LFUrMjMwMC0yNDNGLFUrMjQ0MC0yNDRBLFUrMjQ2MC0yNEZGLFUrMjVBMC0yN0JGLFUrMjgwMC0yOEZGLFUrMjkyMS0yOTIyLFUrMjk4MSxVKzI5QkYsVSsyOUVCLFUrMkIwMC0yQkZGLFUrNERDMC00REZGLFUrRkZGOS1GRkZCLFUrMTAxNDAtMTAxOEUsVSsxMDE5MC0xMDE5QyxVKzEwMUEwLFUrMTAxRDAtMTAxRkQsVSsxMDJFMC0xMDJGQixVKzEwRTYwLTEwRTdFLFUrMUQyQzAtMUQyRDMsVSsxRDJFMC0xRDM3RixVKzFGMDAwLTFGMEZGLFUrMUYxMDAtMUYxQUQsVSsxRjFFNi0xRjFGRixVKzFGMzBELTFGMzBGLFUrMUYzMTUsVSsxRjMxQyxVKzFGMzFFLFUrMUYzMjAtMUYzMkMsVSsxRjMzNixVKzFGMzc4LFUrMUYzN0QsVSsxRjM4MixVKzFGMzkzLTFGMzlGLFUrMUYzQTctMUYzQTgsVSsxRjNBQy0xRjNBRixVKzFGM0MyLFUrMUYzQzQtMUYzQzYsVSsxRjNDQS0xRjNDRSxVKzFGM0Q0LTFGM0UwLFUrMUYzRUQsVSsxRjNGMS0xRjNGMyxVKzFGM0Y1LTFGM0Y3LFUrMUY0MDgsVSsxRjQxNSxVKzFGNDFGLFUrMUY0MjYsVSsxRjQzRixVKzFGNDQxLTFGNDQyLFUrMUY0NDQsVSsxRjQ0Ni0xRjQ0OSxVKzFGNDRDLTFGNDRFLFUrMUY0NTMsVSsxRjQ2QSxVKzFGNDdELFUrMUY0QTMsVSsxRjRCMCxVKzFGNEIzLFUrMUY0QjksVSsxRjRCQixVKzFGNEJGLFUrMUY0QzgtMUY0Q0IsVSsxRjRENixVKzFGNERBLFUrMUY0REYsVSsxRjRFMy0xRjRFNixVKzFGNEVBLTFGNEVELFUrMUY0RjcsVSsxRjRGOS0xRjRGQixVKzFGNEZELTFGNEZFLFUrMUY1MDMsVSsxRjUwNy0xRjUwQixVKzFGNTBELFUrMUY1MTItMUY1MTMsVSsxRjUzRS0xRjU0QSxVKzFGNTRGLTFGNUZBLFUrMUY2MTAsVSsxRjY1MC0xRjY3RixVKzFGNjg3LFUrMUY2OEQsVSsxRjY5MSxVKzFGNjk0LFUrMUY2OTgsVSsxRjZBRCxVKzFGNkIyLFUrMUY2QjktMUY2QkEsVSsxRjZCQyxVKzFGNkM2LTFGNkNGLFUrMUY2RDMtMUY2RDcsVSsxRjZFMC0xRjZFQSxVKzFGNkYwLTFGNkYzLFUrMUY2RjctMUY2RkMsVSsxRjcwMC0xRjdGRixVKzFGODAwLTFGODBCLFUrMUY4MTAtMUY4NDcsVSsxRjg1MC0xRjg1OSxVKzFGODYwLTFGODg3LFUrMUY4OTAtMUY4QUQsVSsxRjhCMC0xRjhCQixVKzFGOEMwLTFGOEMxLFUrMUY5MDAtMUY5MEIsVSsxRjkzQixVKzFGOTQ2LFUrMUY5ODQsVSsxRjk5NixVKzFGOUU5LFUrMUZBMDAtMUZBNkYsVSsxRkE3MC0xRkE3QyxVKzFGQTgwLTFGQTg5LFUrMUZBOEYtMUZBQzYsVSsxRkFDRS0xRkFEQyxVKzFGQURGLTFGQUU5LFUrMUZBRjAtMUZBRjgsVSsxRkIwMC0xRkJGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMDMwMC0wMzAxLFUrMDMwMy0wMzA0LFUrMDMwOC0wMzA5LFUrMDMyMyxVKzAzMjksVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsyMDAwLTIwNkYsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMSxVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wMzc3LFUrMDM3QS0wMzdGLFUrMDM4NC0wMzhBLFUrMDM4QyxVKzAzOEUtMDNBMSxVKzAzQTMtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMi0wMzAzLFUrMDMwNSxVKzAzMDctMDMwOCxVKzAzMTAsVSswMzEyLFUrMDMxNSxVKzAzMUEsVSswMzI2LTAzMjcsVSswMzJDLFUrMDMyRi0wMzMwLFUrMDMzMi0wMzMzLFUrMDMzOCxVKzAzM0EsVSswMzQ2LFUrMDM0RCxVKzAzOTEtMDNBMSxVKzAzQTMtMDNBOSxVKzAzQjEtMDNDOSxVKzAzRDEsVSswM0Q1LTAzRDYsVSswM0YwLTAzRjEsVSswM0Y0LTAzRjUsVSsyMDE2LTIwMTcsVSsyMDM0LTIwMzgsVSsyMDNDLFUrMjA0MCxVKzIwNDMsVSsyMDQ3LFUrMjA1MCxVKzIwNTcsVSsyMDVGLFUrMjA3MC0yMDcxLFUrMjA3NC0yMDhFLFUrMjA5MC0yMDlDLFUrMjBEMC0yMERDLFUrMjBFMSxVKzIwRTUtMjBFRixVKzIxMDAtMjExMixVKzIxMTQtMjExNSxVKzIxMTctMjEyMSxVKzIxMjMtMjE0RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMUFFLFUrMjFCMC0yMUU1LFUrMjFGMS0yMUYyLFUrMjFGNC0yMjExLFUrMjIxMy0yMjE0LFUrMjIxNi0yMkZGLFUrMjMwOC0yMzBCLFUrMjMxMCxVKzIzMTksVSsyMzFDLTIzMjEsVSsyMzM2LTIzN0EsVSsyMzdDLFUrMjM5NSxVKzIzOUItMjNCNyxVKzIzRDAsVSsyM0RDLTIzRTEsVSsyNDc0LTI0NzUsVSsyNUFGLFUrMjVCMyxVKzI1QjcsVSsyNUJELFUrMjVDMSxVKzI1Q0EsVSsyNUNDLFUrMjVGQixVKzI2NkQtMjY2RixVKzI3QzAtMjdGRixVKzI5MDAtMkFGRixVKzJCMEUtMkIxMSxVKzJCMzAtMkI0QyxVKzJCRkUsVSszMDMwLFUrRkY1QixVK0ZGNUQsVSsxRDQwMC0xRDdGRixVKzFFRTAwLTFFRUZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAxLTAwMEMsVSswMDBFLTAwMUYsVSswMDdGLTAwOUYsVSsyMERELTIwRTAsVSsyMEUyLTIwRTQsVSsyMTUwLTIxOEYsVSsyMTkwLFUrMjE5MixVKzIxOTQtMjE5OSxVKzIxQUYsVSsyMUU2LTIxRjAsVSsyMUYzLFUrMjIxOC0yMjE5LFUrMjI5OSxVKzIyQzQtMjJDNixVKzIzMDAtMjQzRixVKzI0NDAtMjQ0QSxVKzI0NjAtMjRGRixVKzI1QTAtMjdCRixVKzI4MDAtMjhGRixVKzI5MjEtMjkyMixVKzI5ODEsVSsyOUJGLFUrMjlFQixVKzJCMDAtMkJGRixVKzREQzAtNERGRixVK0ZGRjktRkZGQixVKzEwMTQwLTEwMThFLFUrMTAxOTAtMTAxOUMsVSsxMDFBMCxVKzEwMUQwLTEwMUZELFUrMTAyRTAtMTAyRkIsVSsxMEU2MC0xMEU3RSxVKzFEMkMwLTFEMkQzLFUrMUQyRTAtMUQzN0YsVSsxRjAwMC0xRjBGRixVKzFGMTAwLTFGMUFELFUrMUYxRTYtMUYxRkYsVSsxRjMwRC0xRjMwRixVKzFGMzE1LFUrMUYzMUMsVSsxRjMxRSxVKzFGMzIwLTFGMzJDLFUrMUYzMzYsVSsxRjM3OCxVKzFGMzdELFUrMUYzODIsVSsxRjM5My0xRjM5RixVKzFGM0E3LTFGM0E4LFUrMUYzQUMtMUYzQUYsVSsxRjNDMixVKzFGM0M0LTFGM0M2LFUrMUYzQ0EtMUYzQ0UsVSsxRjNENC0xRjNFMCxVKzFGM0VELFUrMUYzRjEtMUYzRjMsVSsxRjNGNS0xRjNGNyxVKzFGNDA4LFUrMUY0MTUsVSsxRjQxRixVKzFGNDI2LFUrMUY0M0YsVSsxRjQ0MS0xRjQ0MixVKzFGNDQ0LFUrMUY0NDYtMUY0NDksVSsxRjQ0Qy0xRjQ0RSxVKzFGNDUzLFUrMUY0NkEsVSsxRjQ3RCxVKzFGNEEzLFUrMUY0QjAsVSsxRjRCMyxVKzFGNEI5LFUrMUY0QkIsVSsxRjRCRixVKzFGNEM4LTFGNENCLFUrMUY0RDYsVSsxRjREQSxVKzFGNERGLFUrMUY0RTMtMUY0RTYsVSsxRjRFQS0xRjRFRCxVKzFGNEY3LFUrMUY0RjktMUY0RkIsVSsxRjRGRC0xRjRGRSxVKzFGNTAzLFUrMUY1MDctMUY1MEIsVSsxRjUwRCxVKzFGNTEyLTFGNTEzLFUrMUY1M0UtMUY1NEEsVSsxRjU0Ri0xRjVGQSxVKzFGNjEwLFUrMUY2NTAtMUY2N0YsVSsxRjY4NyxVKzFGNjhELFUrMUY2OTEsVSsxRjY5NCxVKzFGNjk4LFUrMUY2QUQsVSsxRjZCMixVKzFGNkI5LTFGNkJBLFUrMUY2QkMsVSsxRjZDNi0xRjZDRixVKzFGNkQzLTFGNkQ3LFUrMUY2RTAtMUY2RUEsVSsxRjZGMC0xRjZGMyxVKzFGNkY3LTFGNkZDLFUrMUY3MDAtMUY3RkYsVSsxRjgwMC0xRjgwQixVKzFGODEwLTFGODQ3LFUrMUY4NTAtMUY4NTksVSsxRjg2MC0xRjg4NyxVKzFGODkwLTFGOEFELFUrMUY4QjAtMUY4QkIsVSsxRjhDMC0xRjhDMSxVKzFGOTAwLTFGOTBCLFUrMUY5M0IsVSsxRjk0NixVKzFGOTg0LFUrMUY5OTYsVSsxRjlFOSxVKzFGQTAwLTFGQTZGLFUrMUZBNzAtMUZBN0MsVSsxRkE4MC0xRkE4OSxVKzFGQThGLTFGQUM2LFUrMUZBQ0UtMUZBREMsVSsxRkFERi0xRkFFOSxVKzFGQUYwLTFGQUY4LFUrMUZCMDAtMUZCRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzAxMjgtMDEyOSxVKzAxNjgtMDE2OSxVKzAxQTAtMDFBMSxVKzAxQUYtMDFCMCxVKzAzMDAtMDMwMSxVKzAzMDMtMDMwNCxVKzAzMDgtMDMwOSxVKzAzMjMsVSswMzI5LFUrMUVBMC0xRUY5LFUrMjBBQjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMkJBLFUrMDJCRC0wMkM1LFUrMDJDNy0wMkNDLFUrMDJDRS0wMkQ3LFUrMDJERC0wMkZGLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiBub25jZT0iVklxM1FMREd6bHVpbGVUX3dYODh6QSI+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiRSIpOyBkb2N1bWVudC5mb250cy5sb2FkKCI1MDAgMTBwdCBSb2JvdG8iLCAiRSIpO308L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIgbmFtZT0id3d3LXBsYXllciIgbm9uY2U9InEyZW1KeUxxRVd5Sm1ZSEh0QVpwZVEiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvXy95dGVtYmVkcy9fL3NzL2s9eXRlbWJlZHMuYmFzZS5OeG5pdXVaRVRady5MLkY0Lk8vYW09QUFBQWdBL2Q9MS9icj0xL3JzPUFHS015d0d4NHR4aEZKaGNydXRLWXNmUG1TNG1GYzZvSlEvbT1yb290LGJhc2UiIG5hbWU9ImVtYmVkLXVpIiBub25jZT0icTJlbUp5THFFV3lKbVlISHRBWnBlUSI+PHN0eWxlIG5vbmNlPSJxMmVtSnlMcUVXeUptWUhIdEFacGVRIj5odG1sIHtvdmVyZmxvdzogaGlkZGVuO31ib2R5IHtmb250OiAxMnB4IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiAjZmZmOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbjogMDsgcGFkZGluZzogMDt9I3BsYXllciB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9aDEge3RleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7fWgzIHttYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDNweDt9LnBsYXllci11bmF2YWlsYWJsZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHBhZGRpbmc6IDI1cHg7IGZvbnQtc2l6ZTogMTNweDsgYmFja2dyb3VuZDogdXJsKC9pbWcvbWVoNy5wbmcpIDUwJSA2NSUgbm8tcmVwZWF0O30ucGxheWVyLXVuYXZhaWxhYmxlIC5tZXNzYWdlIHt0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDAgLTVweCAxNXB4OyBwYWRkaW5nOiAwIDVweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogbm9ybWFsO30ucGxheWVyLXVuYXZhaWxhYmxlIGEge2NvbG9yOiAjMTY3YWM2OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fTwvc3R5bGU+PHNjcmlwdCBub25jZT0iVklxM1FMREd6bHVpbGVUX3dYODh6QSI+dmFyIHl0Y3NpPXtndDpmdW5jdGlvbihuKXtuPShufHwiIikrImRhdGFfIjtyZXR1cm4geXRjc2lbbl18fCh5dGNzaVtuXT17dGljazp7fSxpbmZvOnt9LGdlbDp7cHJlTG9nZ2VkR2VsSW5mb3M6W119fSl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3cmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P2Z1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sdGljazpmdW5jdGlvbihsLHQsbil7dmFyIHRpY2tzPXl0Y3NpLmd0KG4pLnRpY2s7dmFyIHY9dHx8eXRjc2kubm93KCk7aWYodGlja3NbbF0pe3RpY2tzWyJfIitsXT10aWNrc1siXyIrbF18fFt0aWNrc1tsXV07dGlja3NbIl8iK2xdLnB1c2godil9dGlja3NbbF09CnZ9LGluZm86ZnVuY3Rpb24oayx2LG4pe3l0Y3NpLmd0KG4pLmluZm9ba109dn0saW5mb0dlbDpmdW5jdGlvbihwLG4pe3l0Y3NpLmd0KG4pLmdlbC5wcmVMb2dnZWRHZWxJbmZvcy5wdXNoKHApfSxzZXRTdGFydDpmdW5jdGlvbih0LG4pe3l0Y3NpLnRpY2soIl9zdGFydCIsdCxuKX19OwooZnVuY3Rpb24odyxkKXtmdW5jdGlvbiBpc0dlY2tvKCl7aWYoIXcubmF2aWdhdG9yKXJldHVybiBmYWxzZTt0cnl7aWYody5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMmJncubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzLmxlbmd0aCl7dmFyIGJyYW5kcz13Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kczt2YXIgaT0wO2Zvcig7aTxicmFuZHMubGVuZ3RoO2krKylpZihicmFuZHNbaV0mJmJyYW5kc1tpXS5icmFuZD09PSJGaXJlZm94IilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlO30pfWlmKCF3Lm5hdmlnYXRvci51c2VyQWdlbnQpcmV0dXJuIGZhbHNlO3ZhciB1YT13Lm5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuIHVhLmluZGV4T2YoIkdlY2tvIik+MCYmdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKTwwJiZ1YS5pbmRleE9mKCJFZGdlIik8CjAmJnVhLmluZGV4T2YoIlRyaWRlbnQiKTwwJiZ1YS5pbmRleE9mKCJNU0lFIik8MH15dGNzaS5zZXRTdGFydCh3LnBlcmZvcm1hbmNlP3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6bnVsbCk7dmFyIGlzUHJlcmVuZGVyPShkLnZpc2liaWxpdHlTdGF0ZXx8ZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPT0icHJlcmVuZGVyIjt2YXIgdk5hbWU9IWQudmlzaWJpbGl0eVN0YXRlJiZkLndlYmtpdFZpc2liaWxpdHlTdGF0ZT8id2Via2l0dmlzaWJpbGl0eWNoYW5nZSI6InZpc2liaWxpdHljaGFuZ2UiO2lmKGlzUHJlcmVuZGVyKXt2YXIgc3RhcnRUaWNrPWZ1bmN0aW9uKCl7eXRjc2kuc2V0U3RhcnQoKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsc3RhcnRUaWNrKX07ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLHN0YXJ0VGljayxmYWxzZSl9aWYoZC5hZGRFdmVudExpc3RlbmVyKWQuYWRkRXZlbnRMaXN0ZW5lcih2TmFtZSxmdW5jdGlvbigpe3l0Y3NpLnRpY2soInZjIil9LApmYWxzZSk7aWYoaXNHZWNrbygpKXt2YXIgaXNIaWRkZW49KGQudmlzaWJpbGl0eVN0YXRlfHxkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSk9PSJoaWRkZW4iO2lmKGlzSGlkZGVuKXl0Y3NpLnRpY2soInZjIil9dmFyIHNsdD1mdW5jdGlvbihlbCx0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49eXRjc2kubm93KCk7ZWwubG9hZFRpbWU9bjtpZihlbC5zbHQpZWwuc2x0KCl9LHQpfTt3Ll9feXRSSUw9ZnVuY3Rpb24oZWwpe2lmKCFlbC5nZXRBdHRyaWJ1dGUoImRhdGEtdGh1bWIiKSlpZih3LnJlcXVlc3RBbmltYXRpb25GcmFtZSl3LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3NsdChlbCwwKX0pO2Vsc2Ugc2x0KGVsLDE2KX19KSh3aW5kb3csZG9jdW1lbnQpOwo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJWSXEzUUxER3psdWlsZVRfd1g4OHpBIj52YXIgeXRjZmc9e2Q6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lnl0JiZ5dC5jb25maWdffHx5dGNmZy5kYXRhX3x8KHl0Y2ZnLmRhdGFfPXt9KX0sZ2V0OmZ1bmN0aW9uKGssbyl7cmV0dXJuIGsgaW4geXRjZmcuZCgpP3l0Y2ZnLmQoKVtrXTpvfSxzZXQ6ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7aWYoYS5sZW5ndGg+MSl5dGNmZy5kKClbYVswXV09YVsxXTtlbHNle3ZhciBrO2ZvcihrIGluIGFbMF0peXRjZmcuZCgpW2tdPWFbMF1ba119fX07Cnl0Y2ZnLnNldCh7IkNMSUVOVF9DQU5BUllfU1RBVEUiOiJub25lIiwiREVWSUNFIjoiY2JyXHUwMDNkRmlyZWZveFx1MDAyNmNicnZlclx1MDAzZDEzNC4wXHUwMDI2Y2VuZ1x1MDAzZEdlY2tvXHUwMDI2Y2VuZ3Zlclx1MDAzZDEzNC4wXHUwMDI2Y29zXHUwMDNkV2luZG93c1x1MDAyNmNvc3Zlclx1MDAzZDEwLjBcdTAwMjZjcGxhdGZvcm1cdTAwM2RERVNLVE9QIiwiRVZFTlRfSUQiOiJyd2RuYXVXek1xS0lxN1lQOXV6cGdRZyIsIkVYUEVSSU1FTlRfRkxBR1MiOnsiYWJfZGV0X2FwbSI6dHJ1ZSwiYWJfZGV0X2VsX2giOnRydWUsImFjdGlvbl9jb21wYW5pb25fY2VudGVyX2FsaWduX2Rlc2NyaXB0aW9uIjp0cnVlLCJhbGxvd19za2lwX25ldHdvcmtsZXNzIjp0cnVlLCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiOnRydWUsImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiOnRydWUsImF0dG11c2kiOnRydWUsImMzX2VuYWJsZV9idXR0b25faW1wcmVzc2lvbl9sb2dnaW5nIjp0cnVlLCJjM193YXRjaF9wYWdlX2NvbXBvbmVudCI6dHJ1ZSwiY2FuY2VsX3BlbmRpbmdfbmF2cyI6dHJ1ZSwiY2xpZW50X3VpX2VuYWJsZV9tdWx0aV90cmFja19hdWRpb19vbl93ZWJfZW1iZWRkZWRfcGxheWVyIjp0cnVlLCJjb25maWdfYWdlX3JlcG9ydF9raWxsc3dpdGNoIjp0cnVlLCJjb3dfb3B0aW1pemVfaWRvbV9jb21wYXQiOnRydWUsImNzaV9vbl9nZWwiOnRydWUsImRlZHVwcGluZ19zZXJ2ZXJfdmUiOnRydWUsImRlbGhpX213ZWJfY29sb3JmdWxfc2QiOnRydWUsImRlbGhpX213ZWJfY29sb3JmdWxfc2RfdjIiOnRydWUsImRlcHJlY2F0ZV9wYWlyX3NlcnZsZXRfZW5hYmxlZCI6dHJ1ZSwiZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uIjp0cnVlLCJkaXNhYmxlX2NoaWxkX25vZGVfYXV0b19mb3JtYXR0ZWRfc3RyaW5ncyI6dHJ1ZSwiZGlzYWJsZV9sb2dfdG9fdmlzaXRvcl9sYXllciI6dHJ1ZSwiZGlzYWJsZV9taW5pX2FwcF9jb250YWluZXJfd2ViX3ZpZXdfaW5zZXRzIjp0cnVlLCJkaXNhYmxlX3BhY2ZfbG9nZ2luZ19mb3JfbWVtb3J5X2xpbWl0ZWRfdHYiOnRydWUsImVtYmVkc19kZXNrdG9mZl9ub25tb2JpbGVfZWxpZ2libGUiOnRydWUsImVtYmVkc19kZXNrdG9mZl9ub25tb2JpbGVfZW5hYmxlZCI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX3NhdmVfdXNlcl92b2x1bWUiOnRydWUsImVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2NoYW5uZWxfc3Vic2NyaWJlX2RlcHJlY2F0aW9uIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2RlbGF5X2NvbnRyb2xzX2hpZGUiOnRydWUsImVtYmVkc19lbmFibGVfZWlkX2VuZm9yY2VtZW50X2Zvcl95b3V0dWJlIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZnAiOnRydWUsImVtYmVkc19tdXRlZF9hdXRvcGxheV9zb3VuZF9maXgiOnRydWUsImVtYmVkc19zZXJ2ZV9lczZfY2xpZW50Ijp0cnVlLCJlbWJlZHNfd2ViX3VwZGF0ZWRfc2hvcnRzX2RlZmluaXRpb25fZml4Ijp0cnVlLCJlbmFibGVfYTExeV9mb2N1c19maXhfZm9yX21hY19wYW5lbF9vbl9kZXNrdG9wIjp0cnVlLCJlbmFibGVfYWNjZXNzX2NvZGVfc2VydmljZV9ycGMiOnRydWUsImVuYWJsZV9hY3RpdmVfdmlld19kaXNwbGF5X2FkX3JlbmRlcmVyX3dlYl9ob21lIjp0cnVlLCJlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfY29tcGFjdF9sYW5kc2NhcGVfaW1hZ2Vfd2ViIjp0cnVlLCJlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfY29tcGFjdF9sYW5kc2NhcGVfaW1hZ2Vfd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX2NvbXBhY3RfbGFuZHNjYXBlX25vX2J1dHRvbl93ZWIiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl9jb21wYWN0X2xhbmRzY2FwZV9ub19idXR0b25fd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3RleHRfaW1hZ2Vfbm9fYnV0dG9uX3dlYiI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3RleHRfaW1hZ2Vfbm9fYnV0dG9uX3dlYl9pbm5lcnR1YmUiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl90b3BfbGFuZHNjYXBlX2ltYWdlX3dlYiI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3RvcF9sYW5kc2NhcGVfaW1hZ2Vfd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfYmlsbGJvYXJkX2J1dHRvbmVkX3dlYiI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfYmlsbGJvYXJkX2J1dHRvbmVkX3dlYl9pbm5lcnR1YmUiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2J1dHRvbl9ncm91cF93ZWIiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2J1dHRvbl9ncm91cF93ZWJfaW5uZXJ0dWJlIjp0cnVlLCJlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbl9ncm91cF93ZWIiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX3dlYl9pbm5lcnR1YmUiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uZWRfd2ViIjp0cnVlLCJlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbmVkX3dlYl9pbm5lcnR1YmUiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2NvbXBhY3RfY2Fyb3VzZWxfYnV0dG9uX2dyb3VwX3dlYiI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF9jYXJvdXNlbF9idXR0b25fZ3JvdXBfd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF93ZWIiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2NvbXBhY3Rfd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfZnVsbF93ZWIiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2Z1bGxfd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX3NlYXJjaF9pbm5lcnR1YmVfbTBfZml4ZXMiOnRydWUsImVuYWJsZV9hbmRyb2lkX3dlYl92aWV3X3RvcF9pbnNldHNfYnVnZml4Ijp0cnVlLCJlbmFibGVfYXR0ZW50aW9uX2xvZ2dpbmdfbWVhc3VyZV9vbl9zaG93biI6dHJ1ZSwiZW5hYmxlX2F1X3UxNl92ZXJpZnlfYWdlX3BhZ2UiOnRydWUsImVuYWJsZV9hdXRvbW90aXZlX2Zvcm1fZmFjdG9yX2NoZWNrIjp0cnVlLCJlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nIjp0cnVlLCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIjp0cnVlLCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiOnRydWUsImVuYWJsZV9jbG91ZF9zYXZlX2Vycm9yX3BvcHVwX2FmdGVyX3JldHJ5Ijp0cnVlLCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIjp0cnVlLCJlbmFibGVfZGFpX3NkZl9oNV9wcmVyb2xsIjp0cnVlLCJlbmFibGVfZGF0YXN5bmNfaWRfaGVhZGVyX2luX3dlYl92c3NfcGluZ3MiOnRydWUsImVuYWJsZV9kZWZhdWx0X21vbm9fY3RhX21pZ3JhdGlvbl93ZWJfY2xpZW50Ijp0cnVlLCJlbmFibGVfZG9ja2VkX2NoYXRfbWVzc2FnZXMiOnRydWUsImVuYWJsZV9kcm9wX3NoYWRvd19leHBlcmltZW50Ijp0cnVlLCJlbmFibGVfZW1iZWRzX25ld19jYXB0aW9uX2xhbmd1YWdlX3BpY2tlciI6dHJ1ZSwiZW5hYmxlX2VuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfaDUiOnRydWUsImVuYWJsZV9lbnRpdHlfc3RvcmVfZnJvbV9kZXBlbmRlbmN5X2luamVjdGlvbiI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoIjp0cnVlLCJlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkYyI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNiIjp0cnVlLCJlbmFibGVfaXNfZXh0ZW5kZWRfbW9uaXRvcmluZyI6dHJ1ZSwiZW5hYmxlX2xvZ2dpbmdfZmlyc3RfdXNlcl9hY3Rpb25fYWZ0ZXJfZ2FtZV9yZWFkeSI6dHJ1ZSwiZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX20wX2xvZ2dpbmdfZml4ZXMiOnRydWUsImVuYWJsZV9tZW51X3JlbmRlcmVyX2J1dHRvbl9pbl9td2ViX2hjbHIiOnRydWUsImVuYWJsZV9taW5pX2FwcF9jb21tYW5kX2hhbmRsZXJfbXdlYl9maXgiOnRydWUsImVuYWJsZV9taW5pX2d1aWRlX2Rvd25sb2Fkc19pdGVtIjp0cnVlLCJlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXIiOnRydWUsImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyI6dHJ1ZSwiZW5hYmxlX25hbWVzX2hhbmRsZXNfYWNjb3VudF9zd2l0Y2hlciI6dHJ1ZSwiZW5hYmxlX25hdGl2ZV9icmlkZ2Vfdmlld19zYXZlZF9wbGF5YWJsZXMiOnRydWUsImVuYWJsZV9uZXR3b3JrX3JlcXVlc3RfbG9nZ2luZ19vbl9nYW1lX2V2ZW50cyI6dHJ1ZSwiZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50Ijp0cnVlLCJlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX29wZW5feXRfY29udGVudCI6dHJ1ZSwiZW5hYmxlX29yaWdpbl9xdWVyeV9wYXJhbWV0ZXJfYnVnZml4Ijp0cnVlLCJlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNSI6dHJ1ZSwiZW5hYmxlX3BheW1lbnRzX3B1cmNoYXNlX21hbmFnZXIiOnRydWUsImVuYWJsZV9wZHBfaWNvbl9wcmVmZXRjaCI6dHJ1ZSwiZW5hYmxlX3BsYWNlX3Bpdm90X3VybCI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2NvbnRhaW5lcl9zYXZlX2J1dHRvbiI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2VudGl0eV9zYXZlX21lbnVfaXRlbSI6dHJ1ZSwiZW5hYmxlX3B0Y19ob21lX2xvY2F0aW9uX29uX3dlYiI6dHJ1ZSwiZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dCI6dHJ1ZSwiZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvbiI6dHJ1ZSwiZW5hYmxlX3NkZl9jb21wYW5pb25faDUiOnRydWUsImVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGwiOnRydWUsImVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsIjp0cnVlLCJlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbCI6dHJ1ZSwiZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1Ijp0cnVlLCJlbmFibGVfc2VuZGluZ191bndyYXBwZWRfZ2FtZV9hdWRpb19hc19zZXJpYWxpemVkX21ldGFkYXRhIjp0cnVlLCJlbmFibGVfc2V0X3ZpZGVvX2lkX2luX3Nob3J0c19sb2NrdXBfdmlld19tb2RlbCI6dHJ1ZSwiZW5hYmxlX3Nmdl9lZmZlY3RfcGl2b3RfdXJsIjp0cnVlLCJlbmFibGVfc2hvcnRzX25ld19jYXJvdXNlbCI6dHJ1ZSwiZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0Ijp0cnVlLCJlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZCI6dHJ1ZSwiZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWkiOnRydWUsImVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmUiOnRydWUsImVuYWJsZV90aW1lX291dF9tZXNzYWdlcyI6dHJ1ZSwiZW5hYmxlX3RpbWVsaW5lX3ZpZXdfbW9kZXJuX3RyYW5zY3JpcHRfZmUiOnRydWUsImVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyI6dHJ1ZSwiZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrIjp0cnVlLCJlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFjayI6dHJ1ZSwiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIjp0cnVlLCJlbmFibGVfd2luZG93X2NvbnN0cmFpbmVkX2J1eV9mbG93X2RpYWxvZyI6dHJ1ZSwiZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zIjp0cnVlLCJlbmFibGVfeXBjX3NwaW5uZXJzIjp0cnVlLCJlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlciI6dHJ1ZSwiZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnMiOnRydWUsImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyI6dHJ1ZSwiZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzciI6dHJ1ZSwiZml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViIjp0cnVlLCJoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3MiOnRydWUsImg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzIjp0cnVlLCJoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWQiOnRydWUsImhpZGVfY2hhbm5lbF9jcmVhdGlvbl90aXRsZV9mb3JfbXdlYiI6dHJ1ZSwiaGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNSI6dHJ1ZSwiaHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YSI6dHJ1ZSwiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiOnRydWUsImlkYl9pbW1lZGlhdGVfY29tbWl0Ijp0cnVlLCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiOnRydWUsImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCI6dHJ1ZSwiaXNfYnJvd3Nlcl9zdXBwb3J0X2Zvcl93ZWJjYW1fc3RyZWFtaW5nIjp0cnVlLCJqc29uX2NvbmRlbnNlZF9yZXNwb25zZSI6dHJ1ZSwia2V2bGFyX2ZpbHRlcl91bmtub3duX3NvdXJjZSI6dHJ1ZSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJrZXZsYXJfdHJpbV9wbGF5ZXJfYmVoYXZpb3IiOnRydWUsImtldmxhcl93YXRjaF9jaW5lbWF0aWNzIjp0cnVlLCJsaW1pdF95dGNzaV9kZWJ1Z19hcnJheV9zaXplIjp0cnVlLCJsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIjp0cnVlLCJtYXdfZW5hYmxlX25ldHdvcmtfbWFjaGluZSI6dHJ1ZSwibWR4X2VuYWJsZV9wcml2YWN5X2Rpc2Nsb3N1cmVfdWkiOnRydWUsIm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHQiOnRydWUsIm1lZGl1bV9wcm9ncmVzc19iYXJfbW9kaWZpY2F0aW9uIjp0cnVlLCJtb2JpbGVfYWNjb3VudF9tZW51X3JlZnJlc2giOnRydWUsIm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwIjp0cnVlLCJtd2ViX2FsbG93X21vZGVybl9zZWFyY2hfc3VnZ2VzdF9iZWhhdmlvciI6dHJ1ZSwibXdlYl9hbmltYXRlZF9hY3Rpb25zIjp0cnVlLCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uX2RpcmVjdF90b19hcHAiOnRydWUsIm13ZWJfYmFkZ2Vfc2hhcGVfZGVmcmFnIjp0cnVlLCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiOnRydWUsIm13ZWJfYzNfYXBwX3Byb21vX2VuYWJsZV9yZWZlcnJpbmdfYXBwIjp0cnVlLCJtd2ViX2MzX2VuYWJsZV9hZGFwdGl2ZV9zaWduYWxzIjp0cnVlLCJtd2ViX2MzX2xpYnJhcnlfcGFnZV9lbmFibGVfcmVjZW50X3NoZWxmIjp0cnVlLCJtd2ViX2MzX21lbnVfc2lnbmFsc19yZW5kZXIiOnRydWUsIm13ZWJfYzNfcmVtb3ZlX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X2RhdGEiOnRydWUsIm13ZWJfYzNfdG9hc3RfdXNlX3dpel9yZWFjdGl2ZV9yZW5kZXIiOnRydWUsIm13ZWJfYzNfdXNlX2Nhbm9uaWNhbF9mcm9tX3BsYXllcl9yZXNwb25zZSI6dHJ1ZSwibXdlYl9jYXJ2ZV9vdXRfaW9zX2FwcF9zdG9yZV9yZWRpcmVjdCI6dHJ1ZSwibXdlYl9jYXJ2ZV9vdXRfdGVybXNfcGFnZXMiOnRydWUsIm13ZWJfY2luZW1hdGljX3dhdGNoIjp0cnVlLCJtd2ViX2NvbW1hbmRfaGFuZGxlciI6dHJ1ZSwibXdlYl9kZWJ1Z19zdGlja3lfc2V0dGluZ3MiOnRydWUsIm13ZWJfZGVsYXlfd2F0Y2hfaW5pdGlhbF9kYXRhIjp0cnVlLCJtd2ViX2Rpc2FibGVfc2VhcmNoYmFyX3Njcm9sbCI6dHJ1ZSwibXdlYl9lbmFibGVfY2xpY2tfdG9fcGxheV9wYXVzZSI6dHJ1ZSwibXdlYl9lbmFibGVfY29sb3JmdWxfYWlfc3VtbWFyeSI6dHJ1ZSwibXdlYl9lbmFibGVfZHluYW1pY19kb3VibGVfdGFwX3RvX2xpa2UiOnRydWUsIm13ZWJfZW5hYmxlX2ZpbmVfc2NydWJiaW5nX2Zvcl9yZWNzIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl9mdWxsc2NyZWVuIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl9wcm9ncmVzc19iYXIiOnRydWUsIm13ZWJfZW5hYmxlX2tldG9fYmF0Y2hfcGxheWVyX3Rvb2x0aXBzIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2NvbnRlbnQiOnRydWUsIm13ZWJfZW5hYmxlX2xvY2t1cF92aWV3X21vZGVsX2Zvcl91Y3AiOnRydWUsIm13ZWJfZW5hYmxlX21peF9wYW5lbF90aXRsZV9tZXRhZGF0YSI6dHJ1ZSwibXdlYl9lbmFibGVfbW9yZV9jaHVua3MiOnRydWUsIm13ZWJfZW5hYmxlX21vcmVfZHJhd2VyIjp0cnVlLCJtd2ViX2VuYWJsZV9vcHRpb25hbF9mdWxsc2NyZWVuX2xhbmRzY2FwZV9sb2NraW5nIjp0cnVlLCJtd2ViX2VuYWJsZV9vdmVybGF5X3RvdWNoX21hbmFnZXIiOnRydWUsIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyI6dHJ1ZSwibXdlYl9lbmFibGVfcHJlbWl1bV9jYXJ2ZV9vdXRfZml4Ijp0cnVlLCJtd2ViX2VuYWJsZV9yZWZyZXNoX2RldGVjdGlvbiI6dHJ1ZSwibXdlYl9lbmFibGVfc2VhcmNoX2ltcCI6dHJ1ZSwibXdlYl9lbmFibGVfc2hvcnRzX3ZpZGVvX3ByZWxvYWQiOnRydWUsIm13ZWJfZW5hYmxlX3R3b19saW5lX3RpdGxlX29uX3Nob3J0cyI6dHJ1ZSwibXdlYl9lbmFibGVfdmFyaXNwZWVkX2NvbnRyb2xsZXIiOnRydWUsIm13ZWJfZW5hYmxlX3ZpZGVvX2xvb3BfdG9nZ2xlIjp0cnVlLCJtd2ViX2VuYWJsZV93YXRjaF9mZWVkX2luZmluaXRlX3Njcm9sbCI6dHJ1ZSwibXdlYl9maXhfY29sZF9sb2FkX3Jlc3BvbnNlX2FjdGlvbnMiOnRydWUsIm13ZWJfZml4X21vbml0b3JfdmlzaWJpbGl0eV9hZnRlcl9yZW5kZXIiOnRydWUsIm13ZWJfZm9yY2VfaW9zX2ZhbGxiYWNrX3RvX25hdGl2ZV9jb250cm9sIjp0cnVlLCJtd2ViX2ZwX2F1dG9fZnVsbHNjcmVlbiI6dHJ1ZSwibXdlYl9mcF9lbmFibGVfc2hvcnRzX3N3aXBlX2xvZ2dpbmciOnRydWUsIm13ZWJfZnVsbHNjcmVlbl9jb250cm9scyI6dHJ1ZSwibXdlYl9mdWxsc2NyZWVuX2NvbnRyb2xzX2FjdGlvbl9idXR0b25zIjp0cnVlLCJtd2ViX2Z1bGxzY3JlZW5fd2F0Y2hfc3lzdGVtIjp0cnVlLCJtd2ViX2Z1bGx5X3JlYWN0aXZlX2NiIjp0cnVlLCJtd2ViX2hvbWVfcmVhY3RpdmVfc2hvcnRzIjp0cnVlLCJtd2ViX2lubmVydHViZV9zZWFyY2hfY29tbWFuZCI6dHJ1ZSwibXdlYl9rYWlvc19lbmFibGVfYXV0b3BsYXlfc3dpdGNoX3ZpZXdfbW9kZWwiOnRydWUsIm13ZWJfbGFuZ19pbl9odG1sIjp0cnVlLCJtd2ViX2xpa2VfYnV0dG9uX3N5bmNlZF93aXRoX2VudGl0aWVzIjp0cnVlLCJtd2ViX2xvZ29fdXNlX2hvbWVfcGFnZV92ZSI6dHJ1ZSwibXdlYl9sb25nX3ByZXNzX3NwZWVkdXBfdmlicmF0aW9uIjp0cnVlLCJtd2ViX25hdGl2ZV9jb250cm9sX2luX2ZhdXhfZnVsbHNjcmVlbl9zaGFyZWQiOnRydWUsIm13ZWJfcGxheWVyX2NvbnRyb2xfb25faG92ZXIiOnRydWUsIm13ZWJfcGxheWVyX2RlbGhpX2R0dHMiOnRydWUsIm13ZWJfcGxheWVyX3Nob3dfcHJldmlvdXNfbmV4dF9idXR0b25zX2luX3BsYXlsaXN0Ijp0cnVlLCJtd2ViX3BsYXllcl9za2lwX25vX29wX3N0YXRlX2NoYW5nZXMiOnRydWUsIm13ZWJfcGxheWVyX3VzZXJfc2VsZWN0X25vbmUiOnRydWUsIm13ZWJfcGxheWxpc3RfZW5nYWdlbWVudF9wYW5lbCI6dHJ1ZSwibXdlYl9wcm9ncmVzc19iYXJfc2Vla19vbl9tb3VzZV9jbGljayI6dHJ1ZSwibXdlYl9wcm9wYWdhdGVfcGxheWVyX2xpbmtfY2xpY2tzIjp0cnVlLCJtd2ViX3B1bGxfMl9mdWxsIjp0cnVlLCJtd2ViX3B1bGxfMl9mdWxsX2VuYWJsZV90b3VjaF9oYW5kbGVycyI6dHJ1ZSwibXdlYl9zY2hlZHVsZV93YXJtX3dhdGNoX3Jlc3BvbnNlIjp0cnVlLCJtd2ViX3NlYXJjaF9tYXhfd2lkdGhfbGltaXQiOnRydWUsIm13ZWJfc2VhcmNoYm94X2xlZ2FjeV9uYXZpZ2F0aW9uIjp0cnVlLCJtd2ViX3NlZV9mZXdlcl9zaG9ydHMiOnRydWUsIm13ZWJfc2hvcnRzX2NvbW1lbnRzX3BhbmVsX2lkX2NoYW5nZSI6dHJ1ZSwibXdlYl9zaG9ydHNfZWFybHlfY29udGludWF0aW9uIjp0cnVlLCJtd2ViX3Nob3J0c19lbmFibGVfbG9uZ19wcmVzc19zcGVlZHVwIjp0cnVlLCJtd2ViX3Nob3J0c19vdmVybGF5X2RlcHJlY2F0ZV9rYWlvc19sYXlvdXQiOnRydWUsIm13ZWJfc2hvd19zaWduX2luX2J1dHRvbl9mcm9tX2hlYWRlciI6dHJ1ZSwibXdlYl91c2VfbWljcm9mb3JtYXRfdGl0bGVfZm9yX3Bvc3RzIjp0cnVlLCJtd2ViX3VzZV9zZXJ2ZXJfdXJsX29uX3N0YXJ0dXAiOnRydWUsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfZW5hYmxlX2F1dG9fdHJhbnNsYXRlIjp0cnVlLCJtd2ViX3dhdGNoX2NhcHRpb25zX3NldF9kZWZhdWx0X3NpemUiOnRydWUsIm13ZWJfd2F0Y2hfZGVsaGlfcGxheWVyIjp0cnVlLCJtd2ViX3dhdGNoX3N0b3Bfc2NoZWR1bGVyX29uX3BsYXllcl9yZXNwb25zZSI6dHJ1ZSwibXdlYl93YXRjaGZlZWRfYmlnX3RodW1ibmFpbHMiOnRydWUsIm13ZWJfeXRfc2VhcmNoYm94Ijp0cnVlLCJuZXR3b3JrbGVzc19sb2dnaW5nIjp0cnVlLCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biI6dHJ1ZSwicGFnZWlkX2FzX2hlYWRlcl93ZWIiOnRydWUsInBsYXllcl9jb250cm9sc19hdXRvbmF2X2ZpeCI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX3NraXBfZG91YmxlX3NpZ25hbF91cGRhdGUiOnRydWUsInBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0Ijp0cnVlLCJwbGF5ZXJfY29udHJvbHNfdm9sdW1lX2NvbnRyb2xzX3VzZV9wbGF5ZXJfcHJvcHMiOnRydWUsInBvbHltZXJfYmFkX2J1aWxkX2xhYmVscyI6dHJ1ZSwicG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZSI6dHJ1ZSwicW9lX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJyZW1vdmVfY2hldnJvbl9mcm9tX2FkX2Rpc2Nsb3N1cmVfYmFubmVyX2g1Ijp0cnVlLCJyZW1vdmVfbWFzdGhlYWRfY2hhbm5lbF9iYW5uZXJfb25fcmVmcmVzaCI6dHJ1ZSwicmVtb3ZlX3Nsb3RfaWRfZXhpdGVkX3RyaWdnZXJfZm9yX2RhaV9pbl9wbGF5ZXJfc2xvdF9leHBpcmUiOnRydWUsInJvc2NhcyI6dHJ1ZSwic2VydmljZV93b3JrZXJfZW5hYmxlZCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9lbmFibGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2hvbWVfcGFnZV9wcm9tcHQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfd2F0Y2hfcGFnZV9wcm9tcHQiOnRydWUsInNoZWxsX2xvYWRfZ2NmIjp0cnVlLCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiOnRydWUsInNob3J0c19lbmFibGVfcmVlbF9jYXJvdXNlbCI6dHJ1ZSwic2hvdWxkX3VzZV95dF92b2ljZV9lbmRwb2ludF9pbl9rYWlvcyI6dHJ1ZSwic21hcnRlcl92ZV9kZWR1cHBpbmciOnRydWUsInN0b3BfaGFuZGxpbmdfY2xpY2tfZm9yX25vbl9yZW5kZXJpbmdfb3ZlcmxheV9sYXlvdXQiOnRydWUsInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIjp0cnVlLCJzeW5jZWRfcGFuZWxfc2Nyb2xsaW5nX2NvbnRyb2xsZXIiOnRydWUsInRvb2x0aXBfcmVmYWN0b3JfZm9yX2hvdGtleSI6dHJ1ZSwidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIjp0cnVlLCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiOnRydWUsInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIjp0cnVlLCJ1c2Vfc2Vzc2lvbl9iYXNlZF9zYW1wbGluZyI6dHJ1ZSwidXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlIjp0cnVlLCJ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZSI6dHJ1ZSwidnNzX3BsYXliYWNrX3VzZV9zZW5kX2FuZF93cml0ZSI6dHJ1ZSwid2F0Y2hfcHVic3ViX3JlZmFjdG9yIjp0cnVlLCJ3ZWJfYWRhcHRpdmVfcmVwZWF0X2FzZSI6dHJ1ZSwid2ViX2Fsd2F5c19sb2FkX2NoYXRfc3VwcG9ydCI6dHJ1ZSwid2ViX2FwaV91cmwiOnRydWUsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkIjp0cnVlLCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZXhwb3J0X3RvX2dlbCI6dHJ1ZSwid2ViX2F0dHJpYnV0ZWRfc3RyaW5nX2RlZXBfZXF1YWxfYnVnZml4Ijp0cnVlLCJ3ZWJfYXV0b25hdl9hbGxvd19vZmZfYnlfZGVmYXVsdCI6dHJ1ZSwid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIjp0cnVlLCJ3ZWJfYnV0dG9uX3ZpZXdfbW9kZWxfbm9uX251bGxpc2hfZGF0YSI6dHJ1ZSwid2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZCI6dHJ1ZSwid2ViX2MzX2xvZ19hcHBfaW5pdF9maW5pc2giOnRydWUsIndlYl9jb21tZW50X3BhbmVsX2Vhc3lfZXhwYW5kIjp0cnVlLCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIjp0cnVlLCJ3ZWJfZGVkdXBlX3ZlX2dyYWZ0aW5nIjp0cnVlLCJ3ZWJfZGlzYWJsZV9iYWNrZHJvcF9maWx0ZXIiOnRydWUsIndlYl9kaXNhYmxlX2NoaXBfdmlld19tb2RlbF9tdXRhdGlvbiI6dHJ1ZSwid2ViX2VuYWJsZV9hYl9yc3BfY2wiOnRydWUsIndlYl9lbmFibGVfYWRfYnV0dG9uX3N0eWxlX292ZXJyaWRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Fza19kaXNjbGFpbWVyX3VwZGF0ZSI6dHJ1ZSwid2ViX2VuYWJsZV9jYW5vbmljYWxfdXJsX21hbmFnZXIiOnRydWUsIndlYl9lbmFibGVfY2FwdGlvbnNfc2V0X3RhcmdldF9jb250YWluZXIiOnRydWUsIndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Vycm9yXzIwNCI6dHJ1ZSwid2ViX2VuYWJsZV9sYXp5X2NzcyI6dHJ1ZSwid2ViX2VuYWJsZV90aHVtYm5haWxfb3ZlcmxheV9hbGlnbm1lbnQiOnRydWUsIndlYl9nY2ZfaGFzaGVzX2lubmVydHViZSI6dHJ1ZSwid2ViX2dlbF90aW1lb3V0X2NhcCI6dHJ1ZSwid2ViX2hpZGVfeW91cl9kYXRhX29uX2F1dG9tb3RpdmUiOnRydWUsIndlYl9pbXBfZW5hYmxlX2NzaV9zdGFydF90aWNrIjp0cnVlLCJ3ZWJfbW9ub21lcl93ZWJfY29tcG9uZW50X3dyYXBwZXJfaGFuZGxlX2Vycm9ycyI6dHJ1ZSwid2ViX25vbl9uYXZpZ2F0aW5nX2F0YWciOnRydWUsIndlYl9wYXJlbnRfdGFyZ2V0X2Zvcl9zaGVldHMiOnRydWUsIndlYl9wZXJzaXN0X3NlcnZlcl9hdXRvbmF2X3N0YXRlX29uX2NsaWVudCI6dHJ1ZSwid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfdmUiOnRydWUsIndlYl9wbGF5ZXJfdXBkYXRlZF9lbnRyeXBvaW50Ijp0cnVlLCJ3ZWJfcHJlZmV0Y2hfcHJlbG9hZF92aWRlbyI6dHJ1ZSwid2ViX3Byb2dyZXNzX2Jhcl9kcmFnZ2FibGUiOnRydWUsIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSI6dHJ1ZSwid2ViX3JlbW92ZV9zbmFja2Jhcl9hY3Rpb25zIjp0cnVlLCJ3ZWJfc2VjdGlvbl9saXN0X3JlbmRlcmVyX3dyYXBwZWRfY29udGVudHMiOnRydWUsIndlYl9zaG9ydHNfYXVkaW9fdHJhY2tfcGlja2VyIjp0cnVlLCJ3ZWJfc2hvcnRzX2VuYWJsZV9yZW1vdmVfc2VhcmNoX3Bpdm90X2JhY2tfYnV0dG9uIjp0cnVlLCJ3ZWJfc2hvcnRzX3duX3NoZWxmX2hlYWRlcl90dW5pbmciOnRydWUsIndlYl91bmlmaWVkX2ZldGNoIjp0cnVlLCJ3ZWJfdXBkYXRlX3BhbmVsX3Zpc2liaWxpdHlfbG9nZ2luZ19maXgiOnRydWUsIndlYl93YXRjaF9jb250cm9sc19zdGF0ZV9zaWduYWxzIjp0cnVlLCJ3ZWJmZV9td2ViX3dhdGNoX21pY3JvZGF0YSI6dHJ1ZSwid2ViZmVfd2F0Y2hfc2hvcnRzX2Nhbm9uaWNhbF91cmxfZml4Ijp0cnVlLCJ3ZWJwb19leGl0X29uX25ldF9lcnIiOnRydWUsIndpel9kaWZmX292ZXJ3cml0YWJsZSI6dHJ1ZSwid2l6X3dyYXBwZXJfY2FsbGJhY2tfcHJvcHNfZml4Ijp0cnVlLCJ3dWdfbmV0d29ya2luZ19nemlwX3JlcXVlc3QiOnRydWUsIkg1X2FzeW5jX2xvZ2dpbmdfZGVsYXlfbXMiOjMwMDAwLjAsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2FtcGxpbmdfZnJhY3Rpb24iOjAuMCwiY2luZW1hdGljX3dhdGNoX2VmZmVjdF9vcGFjaXR5IjowLjQsImxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvbiI6MC4xLCJzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlIjoyLjAsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGUiOjUwMC4wLCJ3ZWJfZGVhZF9jb2RlX2RldGVjdG9yX3NhbXBsaW5nX3JhdGUiOjAuMCwid2ViX2xvYWRfcHJlZGljdGlvbl90aHJlc2hvbGQiOjAuMywid2ViX25hdmlnYXRpb25fcHJlZGljdGlvbl90aHJlc2hvbGQiOjAuMSwid2ViX3Bial9sb2dfd2FybmluZ19yYXRlIjowLjAsIndlYl9zeXN0ZW1faGVhbHRoX2ZyYWN0aW9uIjowLjAxLCJ5dGlkYl90cmFuc2FjdGlvbl9lbmRlZF9ldmVudF9yYXRlX2xpbWl0IjowLjAyLCJhdHRfaW5pdF9kZWxheSI6NTAwLCJhdXRvcGxheV9wYXVzZV9ieV9sYWN0X3NlYyI6MCwiYm90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tcyI6MzAwMCwiY2hlY2tfbmF2aWdhdG9yX2FjY3VyYWN5X3RpbWVvdXRfbXMiOjAsImNpbmVtYXRpY193YXRjaF9jc3NfZmlsdGVyX2JsdXJfc3RyZW5ndGgiOjQwLCJjaW5lbWF0aWNfd2F0Y2hfZmFkZV9vdXRfZHVyYXRpb24iOjUwMCwiY2xvc2Vfd2Vidmlld19kZWxheV9tcyI6MTAwLCJjbG91ZF9zYXZlX2dhbWVfZGF0YV9yYXRlX2xpbWl0X21zIjozMDAwLCJjb21wcmVzc2lvbl9kaXNhYmxlX3BvaW50IjoxMCwiY3VzdG9tX2FjdGl2ZV92aWV3X3Rvc190aW1lb3V0X21zIjozNjAwMDAwLCJlbWJlZHNfd2lkZ2V0X3BvbGxfaW50ZXJ2YWxfbXMiOjAsImVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfbWF4X3dpbmRvd19zZWNvbmRzIjo2MCwiZ2VsX21pbl9iYXRjaF9zaXplIjozLCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiOjYwMDAwLCJnZXRfYXN5bmNfdGltZW91dF9tcyI6NjAwMDAsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIjowLCJpbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0IjoyMDAwLCJtYXhfYm9keV9zaXplX3RvX2NvbXByZXNzIjo1MDAwMDAsIm1heF9wcmVmZXRjaF93aW5kb3dfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvbiI6MTAsIm1pbl9wcmVmZXRjaF9vZmZzZXRfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvbiI6MjAsIm1pbmlfYXBwX2NvbnRhaW5lcl9pZnJhbWVfc3JjX3VwZGF0ZV9kZWxheV9tcyI6MCwibXVsdGlwbGVfcHJldmlld19uZXdzX2R1cmF0aW9uX3RpbWUiOjExMDAwLCJtd2ViX2MzX3RvYXN0X2R1cmF0aW9uX21zIjo1MDAwLCJtd2ViX2RlZXBfbGlua19mYWxsYmFja190aW1lb3V0X21zIjoxMDAwMCwibXdlYl9kZWxheV9yZXNwb25zZV9yZWNlaXZlZF9hY3Rpb25zIjoxMDAsIm13ZWJfZHdlbGxfZGVsYXlfbXMiOjUwMCwibXdlYl9mcF9kcGFkX3JhdGVfbGltaXRfbXMiOjAsIm13ZWJfZnBfZHBhZF93YXRjaF90aXRsZV9jbGFtcF9saW5lcyI6MCwibXdlYl9oaXN0b3J5X21hbmFnZXJfY2FjaGVfc2l6ZSI6MTAwLCJtd2ViX2lvc19mdWxsc2NyZWVuX3BsYXliYWNrX3RyYW5zaXRpb25fZGVsYXlfbXMiOjUwMCwibXdlYl9pb3NfZnVsbHNjcmVlbl9zeXN0ZW1fcGF1c2VfZXBpbHNvbl9tcyI6MCwibXdlYl9vdmVycmlkZV9yZXNwb25zZV9zdG9yZV9leHBpcmF0aW9uX21zIjowLCJtd2ViX3Nob3J0c19lYXJseV9jb250aW51YXRpb25fdHJpZ2dlcl90aHJlc2hvbGQiOjQsIm13ZWJfc2hvcnRzX251bWJlcl9vZl90aHVtYm5haWxzX3Nob3duIjoyLCJtd2ViX3cyd19tYXhfYWdlX3NlY29uZHMiOjAsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfZGVmYXVsdF9zaXplIjoyLCJuZW9uX2RhcmtfbGF1bmNoX2dyYWRpZW50X2NvdW50IjowLCJuZXR3b3JrX3BvbGxpbmdfaW50ZXJ2YWwiOjMwMDAwLCJwbGF5X3BpbmdfaW50ZXJ2YWxfbXMiOjEwMDAwLCJzZW5kX2NvbmZpZ19oYXNoX3RpbWVyIjowLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2xvZ2dlZF9vdXRfcHJvbXB0X3dhdGNoZXMiOi0xLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9jYXAiOi0xLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9kZWxheV9taWNyb3NlY29uZHMiOjM4ODgwMDAwMDAwMDAsInNob3dfbWluaV9hcHBfYWRfd2ViX3JlZ3VsYXJfZnJlcXVlbmN5X2NhcF9tcyI6MjQwMDAwLCJzaG93X21pbmlfYXBwX2FkX3dlYl9yZXdhcmRlZF9mcmVxdWVuY3lfY2FwX21zIjowLCJzbG93X2NvbXByZXNzaW9uc19iZWZvcmVfYWJhbmRvbl9jb3VudCI6NCwic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIjoxMCwic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyI6NTAwLCJ3ZWJfYWlfc2VhcmNoX3JvbGxvdXRfdmVyc2lvbiI6MSwid2ViX2ZvcmVncm91bmRfaGVhcnRiZWF0X2ludGVydmFsX21zIjoyODAwMCwid2ViX2dlbF9kZWJvdW5jZV9tcyI6MTAwMDAsIndlYl9sb2dnaW5nX21heF9iYXRjaCI6MTAwLCJ3ZWJfbWF4X3RyYWNpbmdfZXZlbnRzIjo1MCwid2ViX3Nlc3Npb25fcmVwbGF5X21vdXNlbW92ZV9pbnRlcnZhbCI6MCwid2ViX3Nlc3Npb25fcmVwbGF5X3Njcm9sbF9pbnRlcnZhbCI6MCwid2ViX3Nlc3Npb25fcmVwbGF5X3NlbmRfYWZ0ZXJfdGltZW91dCI6MCwid2ViX3RyYWNpbmdfc2Vzc2lvbl9yZXBsYXkiOjAsIndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXMiOjk5OTksInl0Y3NpX2RlYnVnX21heF9zaXplIjoxMDAsInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIjoxLCJ5dGlkYl9yZW9wZW5fZGJfcmV0cmllcyI6MCwiV2ViQ2xpZW50UmVsZWFzZVByb2Nlc3NDcml0aWNhbF9feW91dHViZV9lbWJlZHNfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJXZWJDbGllbnRSZWxlYXNlUHJvY2Vzc0NyaXRpY2FsX195b3V0dWJlX2VtYmVkc193ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJkZWJ1Z19mb3JjZWRfaW50ZXJuYWxjb3VudHJ5Y29kZSI6IiIsImVuYWJsZV93ZWJfbWVkaWFfc2VydmljZSI6IkRJU0FCTEVEIiwiaWxfcGF5bG9hZF9zY3JhcGluZyI6IiIsImxpdmVfY2hhdF91bmljb2RlX2Vtb2ppX2pzb25fdXJsIjoiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvZW1vamlzL2Vtb2ppcy1zdmctOS5qc29uIiwibXdlYl9kZWVwX2xpbmtfZmVhdHVyZV90YWdfc3VmZml4IjoiNTE4MzE2MTUiLCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaF90cmlnZ2VyIjoiTk9ORSIsIm13ZWJfZnBfZHBhZCI6ImhvbWUsc2VhcmNoLGJyb3dzZSxjaGFubmVsLGNyZWF0ZV9jaGFubmVsLGV4cGVyaW1lbnRzLHNldHRpbmdzLHRyZW5kaW5nLG9vcHMsNDA0LHBhaWRfbWVtYmVyc2hpcHMsc3BvbnNvcnNoaXAscHJlbWl1bSxzaG9ydHMiLCJtd2ViX2ZwX2RwYWRfbGluZWFyX25hdmlnYXRpb24iOiIiLCJtd2ViX2ZwX2RwYWRfbGluZWFyX25hdmlnYXRpb25fdmlzaXRvciI6IiIsIm13ZWJfZnBfZHBhZF92aXNpdG9yIjoiIiwibXdlYl9wcmVsb2FkX3ZpZGVvX2J5X3BsYXllcl92YXJzIjoiIiwicGxhY2VfcGl2b3RfdHJpZ2dlcmluZ19jb250YWluZXJfYWx0ZXJuYXRlIjoiIiwicGxhY2VfcGl2b3RfdHJpZ2dlcmluZ19jb3VudGVyZmFjdHVhbF9jb250YWluZXJfYWx0ZXJuYXRlIjoiIiwic2VydmljZV93b3JrZXJfcHVzaF9mb3JjZV9ub3RpZmljYXRpb25fcHJvbXB0X3RhZyI6IjEiLCJzZXJ2aWNlX3dvcmtlcl9zY29wZSI6Ii8iLCJzdWdnZXN0X2V4cF9zdHIiOiIiLCJ3ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2FsbG93ZWRfdmlkZW9faWRzIjpbIk9KbHdJZG9GejlBIiwiQXJLYkF4MUstMlUiLCJtX2RoTVN2VUNJYyIsIkMxRGhwSjA3WnVFIiwiTnEyd1lsV0Z1Y2ciLCJKQzdmM0VVRGFxdyIsInZyM1h5VkNSNFQwIiwiZ0NOZURXQ0kwdm8iLCJrQlR1ZG00Z2VNcyIsIkZ4c2ZWWDZCMU1rIiwieWxZSlNCVWdhTUEiLCJWV2hRNnhzcG5TYyIsIlJIVWF1TWNZbFgwIiwiY2IxMkttTU1ESkEiLCJXSnhFal9ocnBTZyIsImV1aFktdG1nOXg4IiwiVGxJVkkyRVc3UjAiLCJNSU5mdk9YNEJ6SSIsInlIbVBXemtoY1o4IiwicDN3MXZPOVh2MjQiLCJWbGFDbnAxZnhJOCIsIi1PZkEwNEJENEdBIiwiMW9kWTNJWXNObm8iLCJ3aVRUclZxUlZEdyIsIkRmbTJyQi1uUTlZIiwiUW0xRnR6OGxWbkkiLCI5aXRBeHFfU0dETSIsInlGSTN3cFh5NHpBIiwiUHk1SllaWEp2em8iLCJiNHRFNWFLaHRsZyIsIjVKRHhqc0FWYUdrIiwiZVVtZkdQYXp1RU0iLCJXOG5UaHE2MlZiNCIsIlZManZTM3VmbFhjIiwiQmZkTEt2SkJNX2MiLCJ3ZUxYZHdWalN4cyIsIjJKYS11UE9rejdJIiwiQTlRQlZGRVl4T1EiLCJrLVpGUWtrSFVmYyIsInd1dTBEMjBBWnFJIiwiX0h2aVN5Qzd6U1UiLCJfX3hPel9RM3FSNCIsIncyc0I4N2pMRTFJIiwiOHJUVEVNZE1oOFEiLCItazZtcGdteGVyVSIsIjk3Y2tuckp5TFdnIiwiMkZJdFZ5eExOTmMiLCJvdG54ZmNzR0UtWSIsInM5eEwxRHBCc2ZRIiwid2ZBR0JWZ1Vycm8iLCJuWEg2VHhRLXNpOCIsIldpSTFYZ19uRXU4IiwiM2ZsYXNHVlVyQ0EiLCJlRFlfSGU5MmxjVSIsImE0N2NrWEtaanhJIiwiSTZXUlhlS1pLNjQiLCJUOUo1RHFQMkRLdyIsIkt0a19JMHBVcEc4IiwiZVEyY3pHcU9DUGciLCJoTG1VNDlobVo0YyIsIjdmN01nYU1FN1NjIiwiUUI1Qk5kQkZ1akUiLCJBR2h0TVVfZmk3MCIsInAyUmFRVVJSQXdBIiwibXpfX0VNWXBXUHciLCI2amhMdVNRVkl4VSIsInJDODN2X3V1SXFvIiwiNkRhR2RKUl9lTGciLCJjbTQzdVhqZnZaWSIsIlkxSnNQcG0yYm1RIiwiejA5N2pQeUtlZW8iLCJUWVZaV1VUamt4MCIsIlZIYUF2ZW5mVERrIiwidHY5T1VfNVEwcFEiLCI2b0tDdnptNkhtZyIsIkJFRlVFUmhUMG4wIiwidVROLWV1MC1PWEUiLCJoYmFwcmhSN3pUbyIsIjJDVjBWLW9NTkZNIiwidThkU09Lb05KcDAiLCJIOE1xcXdtRnN4WSIsIklza2ttTlBKZFVrIiwiWDlIX0V6cERHWFEiXSwia2V2bGFyX2NvbW1hbmRfaGFuZGxlcl9jb21tYW5kX2Jhbmxpc3QiOltdLCJtaW5pX2FwcF9pZHNfd2l0aG91dF9nYW1lX3JlYWR5IjpbIlVna3hISHRzYWsxU0M4bVJHSE1aZXdjNEh6ZUFZM3loUFBtSiIsIlVna3g3T2d6RnFFNnpfNU10ZjRZc290R2ZRTklJMURGX1JCbSJdLCJ3ZWJfb3Bfc2lnbmFsX3R5cGVfYmFubGlzdCI6W10sIndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnMiOlsiZXZlbnQiLCJjb21tYW5kIl19LCJHQVBJX0hJTlRfUEFSQU1TIjoibTsvXy9zY3MvYWJjLXN0YXRpYy9fL2pzL2tcdTAwM2RnYXBpLmdhcGkuZW4uNTRfSER2ZU90a1EuTy9kXHUwMDNkMS9yc1x1MDAzZEFIcE9vbzlRdWZPZFBZVFJrYlRKYWRUVzZzbXN4bFdMTXcvbVx1MDAzZF9fZmVhdHVyZXNfXyIsIkdBUElfSE9TVCI6Imh0dHBzOi8vYXBpcy5nb29nbGUuY29tIiwiR0FQSV9MT0NBTEUiOiJlbl9VUyIsIkdMIjoiTk8iLCJITCI6ImVuIiwiSFRNTF9ESVIiOiJsdHIiLCJIVE1MX0xBTkciOiJlbiIsIklOTkVSVFVCRV9BUElfS0VZIjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIjoidjEiLCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiSU5ORVJUVUJFX0NMSUVOVF9WRVJTSU9OIjoiMi4yMDI2MDcyNC4wMS4wMCIsIklOTkVSVFVCRV9DT05URVhUIjp7ImNsaWVudCI6eyJobCI6ImVuIiwiZ2wiOiJOTyIsInJlbW90ZUhvc3QiOiIxOTUuNjQuMTE4LjE1MiIsImRldmljZU1ha2UiOiIiLCJkZXZpY2VNb2RlbCI6IiIsInZpc2l0b3JEYXRhIjoiQ2d0VlZWVnRTbk5HY0dRMFl5aXZqNXpUQmpJb0NnSk9UeElpRWg0U0hBc01EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY2dDMkxmQWdyY0FqSXdMbGxVUFhGSlJGZFNVMDFvVEZoRmQyaFNUelI0UlZSQlZGRlFVak5xZGxGNVdtODFWRFJvTVZOcFJIZEtXa1psVVVGQ2MzWmZWRFZ5V1dOTlZFeDVZV05rWm5SUlpURklSblZVVVZscVEzaHNaRzVXY0Zwd056UldXVUpOZGw5eVZWWjNaMDlLTlVoVmQyczNiVE5LU1hWRFpEbGFSelV5V1VVNGFHdzNiM05zYkZWSllVdFNNbXh0TWxWdlpqVmhRelk0TkZaV05XUnNVVk16YTIxYVFuWTFjVlp2VlUxVVQzcHpSM0ZRWldoTlZERkxhbXRvZVVwTWVFeDBkbWxuWlRWeFNFYzROekp3WDNCTVIydHRSVkpIYURCaWJXbExRazFRTjFwYVJFeFJiM1JwU2pGTFRVNVVhSGgxYkdkVExVVkVSR2xoTldvMlNIbHJlR00yZDNKZlFXODNPSEpXUnpaWVIyeHpObkJsV0dVMmFVRkJTWGwyVFU1aFZIbzRRM0JmT1MxSE0yOXJjRFpyZUVOSmRVNUtTMjFtVUhGMk5GODJhelExTFU1QmVFcFFjV1pDU0ZKTVYzcEdRWEEwYzJSaE5pMWpZMkZCUVElM0QlM0QiLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjoxMzQuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMzQuMCxnemlwKGdmZSkiLCJjbGllbnROYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImNsaWVudFZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIiwib3NOYW1lIjoiV2luZG93cyIsIm9zVmVyc2lvbiI6IjEwLjAiLCJvcmlnaW5hbFVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3RwNnVGLWJQRzZFP3NpXHUwMDNkV2NuRjloWXB2eWdJbW5vdyIsInBsYXRmb3JtIjoiREVTS1RPUCIsImNsaWVudEZvcm1GYWN0b3IiOiJVTktOT1dOX0ZPUk1fRkFDVE9SIiwiY29uZmlnSW5mbyI6eyJhcHBJbnN0YWxsRGF0YSI6IkNLLVBuTk1HRU1uMmdCTVF5dnVBRXhEZXZNNGNFTGpremh3UW50Q3dCUkNKNU5FY0VNR1AwQndRbVkyeEJSQ0RoN2dpRVBhcnNBVVEtZkxSSEJEZ3Q5RWNFTXpmcmdVUTJ2Zk9IQkFBRUwyWnNBVVFfTExPSEJDOWlyQUZFSTZRMFJ3UThiVFFIQkN1MXM4Y0VJcUh1Q0lRdm9UUkhCQzItSUFURUpYdjBSd1FwS25SSEJDZGhyZ2lFSW13emh3UTRPclJIQkR3M3RFY0VJdjN6eHdROXZmUkhCQ2Z6NEFURUllc3pod1E2ZmpSSEJDQnpjNGNFTG53MFJ3UWh1R0FFeEM5dHE0RkVJaVEwUndRdktUUUhCREhfSUFURVBmRWdCTVE3TTNRSEJEMTZkRWNLbkJEUVUxVFZIaFdUUzFhY1MxRVRXVlZSWEJWUTI1Qk56VkdXRXRxUW5WRlYzRk9WVkI1UVUxTk0zY3pZMEoxVVVjM2QxUndkbVZyVEUxeFEzTkNRVTlSY21kUU4wcHlZbXRDZFZOR1JqbEVUVUp6VTFOQ1kzTTVlRk5tV2pGUldHTk1UMXBITVdFM2RraDBjMGRJVVdNOU1BQSUzRCJ9LCJicm93c2VyTmFtZSI6IkZpcmVmb3giLCJicm93c2VyVmVyc2lvbiI6IjEzNC4wIiwiYWNjZXB0SGVhZGVyIjoidGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cVx1MDAzZDAuOSwqLyo7cVx1MDAzZDAuOCIsImRldmljZUV4cGVyaW1lbnRJZCI6IkNoeE9lbGt5VG5wRmQwNVVUVEJOUkZWNVRXcEZNVTFFUVRGT1FUMDlFSy1Qbk5NR0dLLVBuTk1HIiwicm9sbG91dFRva2VuIjoiQ0lXQ3lkU3VpX2pUUkJEM2pxZmxxZktWQXhqWDJLcm9xZktWQXclM0QlM0QifSwidXNlciI6eyJsb2NrZWRTYWZldHlNb2RlIjpmYWxzZX0sInJlcXVlc3QiOnsidXNlU3NsIjp0cnVlfSwiY2xpY2tUcmFja2luZyI6eyJjbGlja1RyYWNraW5nUGFyYW1zIjoiSWhNSXBjZXE2S255bFFNVklzVEtBQjEyZGpxQSJ9LCJ0aGlyZFBhcnR5Ijp7ImVtYmVkZGVkUGxheWVyQ29udGV4dCI6eyJlbWJlZGRlZFBsYXllckVuY3J5cHRlZENvbnRleHQiOiJBQ21ibEJYbkhVS3JsV3A0YjZvaVFGZ0ZTSFBKT29rS2JTNFNPZFQ3eWdpZ0ppRnFJWG02cWhYR2dyY083VVg3eS1TN3lOcXk2Y0d1N3M2MGV6SjI3eTZzNUdvSmlxM3ltc1Z3dy13T3ZFUm9tazBXaEZXaThzWkZ4OHZLU2lzMFJIcGJhR2FtVkRZIiwiYW5jZXN0b3JPcmlnaW5zU3VwcG9ydGVkIjpmYWxzZX19fSwiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiOjU2LCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJJTk5FUlRVQkVfQ09OVEVYVF9HTCI6Ik5PIiwiSU5ORVJUVUJFX0NPTlRFWFRfSEwiOiJlbiIsIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyI6eyJjbGllbnQubmFtZSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJjbGllbnQuanNmZWF0IjoiMjAyMSJ9LCJMT0dHRURfSU4iOmZhbHNlLCJQQUdFX0JVSUxEX0xBQkVMIjoieW91dHViZS5lbWJlZHMud2ViXzIwMjYwNzI0XzAxX1JDMDAiLCJQQUdFX0NMIjo5NTMyMDYwMTAsIlNFUlZFUl9OQU1FIjoiV2ViRkUiLCJWSVNJVE9SX0RBVEEiOiJDZ3RWVlZWdFNuTkdjR1EwWXlpdmo1elRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ0MyTGZBZ3JjQWpJd0xsbFVQWEZKUkZkU1UwMW9URmhGZDJoU1R6UjRSVlJCVkZGUVVqTnFkbEY1V204MVZEUm9NVk5wUkhkS1drWmxVVUZDYzNaZlZEVnlXV05OVkV4NVlXTmtablJSWlRGSVJuVlVVVmxxUTNoc1pHNVdjRnB3TnpSV1dVSk5kbDl5VlZaM1owOUtOVWhWZDJzM2JUTktTWFZEWkRsYVJ6VXlXVVU0YUd3M2IzTnNiRlZKWVV0U01teHRNbFZ2WmpWaFF6WTRORlpXTldSc1VWTXphMjFhUW5ZMWNWWnZWVTFVVDNwelIzRlFaV2hOVkRGTGFtdG9lVXBNZUV4MGRtbG5aVFZ4U0VjNE56SndYM0JNUjJ0dFJWSkhhREJpYldsTFFrMVFOMXBhUkV4UmIzUnBTakZMVFU1VWFIaDFiR2RUTFVWRVJHbGhOV28yU0hscmVHTTJkM0pmUVc4M09ISldSelpZUjJ4ek5uQmxXR1UyYVVGQlNYbDJUVTVoVkhvNFEzQmZPUzFITTI5cmNEWnJlRU5KZFU1S1MyMW1VSEYyTkY4MmF6UTFMVTVCZUVwUWNXWkNTRkpNVjNwR1FYQTBjMlJoTmkxalkyRkJRUSUzRCUzRCIsIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdTIjp7IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfRU1CRURERURfUExBWUVSIjp7InJvb3RFbGVtZW50SWQiOiJtb3ZpZV9wbGF5ZXIiLCJqc1VybCI6Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzdhNzk2OWMyL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9FTUJFRERFRF9QTEFZRVIiLCJldmVudExhYmVsIjoiZW1iZWRkZWQiLCJjb250ZW50UmVnaW9uIjoiTk8iLCJobCI6ImVuX1VTIiwiaG9zdExhbmd1YWdlIjoiZW4iLCJpbm5lcnR1YmVBcGlLZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJpbm5lcnR1YmVBcGlWZXJzaW9uIjoidjEiLCJpbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJkZXZpY2UiOnsiYnJhbmQiOiIiLCJtb2RlbCI6IiIsImJyb3dzZXIiOiJGaXJlZm94IiwiYnJvd3NlclZlcnNpb24iOiIxMzQuMCIsIm9zIjoiV2luZG93cyIsIm9zVmVyc2lvbiI6IjEwLjAiLCJwbGF0Zm9ybSI6IkRFU0tUT1AiLCJpbnRlcmZhY2VOYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIn0sInNlcmlhbGl6ZWRFeHBlcmltZW50SWRzIjoiMjQwMDQ2NDQsNTEwNjM2NDMsNTEwOTgyOTksNTEyMjI5NzMsNTEzNDA2NjIsNTEzNDk5MTQsNTEzNTMzOTMsNTEzNjY0MjMsNTEzODk2MjksNTE0OTAzMzEsNTE0OTMyMDgsNTE1MDU0MzYsNTE1MzA0OTUsNTE1MzQ2NjksNTE1NjUxMTYsNTE1ODM4MjEsNTE2MDUyNTgsNTE2MDk4MjksNTE2MjI4NDUsNTE2MzU5NTUsNTE2Mzg5MzIsNTE2NDgzMzYsNTE2NzIxNjIsNTE2ODE2NjIsNTE2ODM1MDIsNTE3MDc2MjAsNTE3MjkyMTcsNTE3MzcxMzQsNTE3NDIzNzcsNTE3NDI4MzAsNTE3NTI1MTgsNTE3NzgzMzksNTE3OTg5MjgsNTE4MDMxMjgsNTE4MDM1ODYsNTE4MzMyNDEsNTE4NDI0MjIsNTE4NTc4MzgsNTE4NTc5MjAsNTE4NzUyOTksNTE4ODc4ODAsNTE4OTU0MDUsNTE4OTU3NzEsNTE5MDE0MzcsNTE5MDI2MDUsNTE5MDI5NzcsNTE5MTA3MzUsNTE5MjcxODgsNTE5MjczNjAsNTE5MzYyMjgsNTE5Mzk3MDMsNTE5NDUwNTYsNTE5NTQ5MjMsNTE5NTY1MTgsNTE5NTc0NDUsNTE5NTk2OTQsNTE5NTk4MDksNTE5NTk4ODAsNTE5NTk5NjcsNTE5NjgwODQsNTE5NzE3NzYsNTE5ODMzNjgsNTE5ODQ4MjcsNTE5ODU1ODAsNTE5ODk5NDIsNTIwMDI4MDYsNTIwMTI1MjMsNTIwMTM5MzgsNTIwMTYxMzYsNTIwMjAwMzEsNTIwMjI0ODgsNTIwMjMzMzMsNTIwMjQyMTcsNTIwMjYxOTQsNTIwMjY4MTMsNTIwMjcwOTgsNTIwMjc3NTEsNTIwMjc3NTMsNTIwMzU2NDQsNTIwMzY5MzksNTIwNDMyMjcsNTIwNDY1MTgsNTIwNDcxNDcsNTIwNDc2ODQsNTIwNDc2ODgsNTIwNDc2OTAsNTIwNDg0MzQsNTIwNTY1MDMsNTIwNjM2NzgsNTIwNjQxMzUsNTIwNjU1OTAsNTIwNzM5NjEsNTIwNzU5MjIsNTIwNzY3MDUsNTIwOTI4NjYsNTIwOTg2ODciLCJzZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzIjoiSDVfYXN5bmNfbG9nZ2luZ19kZWxheV9tc1x1MDAzZDMwMDAwLjBcdTAwMjZhMTF5X2g1X2Fzc29jaWF0ZV9zdXJ2ZXlfcXVlc3Rpb25cdTAwM2R0cnVlXHUwMDI2YWJfZGV0X2FwbVx1MDAzZHRydWVcdTAwMjZhYl9kZXRfZWxfaFx1MDAzZHRydWVcdTAwMjZhY3Rpb25fY29tcGFuaW9uX2NlbnRlcl9hbGlnbl9kZXNjcmlwdGlvblx1MDAzZHRydWVcdTAwMjZhZF9wb2RfZGlzYWJsZV9jb21wYW5pb25fcGVyc2lzdF9hZHNfcXVhbGl0eVx1MDAzZHRydWVcdTAwMjZhbGxvd19hdXRvaGlkZV9vbl9wYXVzZWRfdmlkZW9zXHUwMDNkdHJ1ZVx1MDAyNmFsbG93X2RybV9vdmVycmlkZVx1MDAzZHRydWVcdTAwMjZhbGxvd19saXZlX2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmFsbG93X3BvbHRlcmd1c3RfYXV0b3BsYXlcdTAwM2R0cnVlXHUwMDI2YWxsb3dfc2tpcF9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZhbGxvd192cDlfMTA4MHBfbXFfZW5jXHUwMDNkdHJ1ZVx1MDAyNmFsd2F5c19jYWNoZV9yZWRpcmVjdF9lbmRwb2ludFx1MDAzZHRydWVcdTAwMjZhbHdheXNfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2YW5ub3RhdGlvbl9tb2R1bGVfdmFzdF9jYXJkc19sb2FkX2xvZ2dpbmdfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZhc3NpZ25fZHJtX2ZhbWlseV9ieV9mb3JtYXRcdTAwM2R0cnVlXHUwMDI2YXR0X3dlYl9yZWNvcmRfbWV0cmljc1x1MDAzZHRydWVcdTAwMjZhdHRhY2hfZXhwZXJpbWVudF9wcm9wYWdhdGlvbl9jb250ZXh0X3RvX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZhdHRtdXNpXHUwMDNkdHJ1ZVx1MDAyNmF1dG9wbGF5X3RpbWVcdTAwM2QxMDAwMFx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX2Z1bGxzY3JlZW5cdTAwM2QtMVx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnRcdTAwM2QtMVx1MDAyNmJnX3ZtX3JlaW5pdF90aHJlc2hvbGRcdTAwM2Q3MjAwMDAwXHUwMDI2YmxvY2tfdHZodG1sNV9zaW1wbHlfZW1iZWRkZWRcdTAwM2R0cnVlXHUwMDI2YmxvY2tlZF9wYWNrYWdlc19mb3Jfc3BzXHUwMDNkW11cdTAwMjZib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zXHUwMDNkMzAwMFx1MDAyNmJ5cGFzc19saWNlbnNlX2NoZWNrX2Zvcl9pbmxpbmVfbXV0ZWRcdTAwM2R0cnVlXHUwMDI2Y2FwdGlvbnNfdXJsX2FkZF9laVx1MDAzZHRydWVcdTAwMjZjaGVja19uYXZpZ2F0b3JfYWNjdXJhY3lfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZjaGVja19wbGF5YWJpbGl0eV9zdGF0dXNfaW5fZmlsbGVyc1x1MDAzZHRydWVcdTAwMjZjbGllbnRfdWlfZW5hYmxlX211bHRpX3RyYWNrX2F1ZGlvX29uX3dlYl9lbWJlZGRlZF9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2Y29tcHJlc3Npb25fZGlzYWJsZV9wb2ludFx1MDAzZDEwXHUwMDI2Y293X29wdGltaXplX2lkb21fY29tcGF0XHUwMDNkdHJ1ZVx1MDAyNmNzaV9vbl9nZWxcdTAwM2R0cnVlXHUwMDI2Y3VzdG9tX2FjdGl2ZV92aWV3X3Rvc190aW1lb3V0X21zXHUwMDNkMzYwMDAwMFx1MDAyNmRhc2hfbWFuaWZlc3RfdmVyc2lvblx1MDAzZDVcdTAwMjZkZWJ1Z19iYW5kYWlkX2hvc3RuYW1lXHUwMDNkXHUwMDI2ZGVidWdfYmFuZGFpZF9wb3J0XHUwMDNkMFx1MDAyNmRlYnVnX3NoZXJsb2dfdXNlcm5hbWVcdTAwM2RcdTAwMjZkZWR1cHBpbmdfc2VydmVyX3ZlXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX2Zhc3RfZm9sbG93X2F1dG9uYXZfdG9nZ2xlXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfZGVmYXVsdF90aHVtYm5haWxfcGVyY2VudGFnZVx1MDAzZDAuMFx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfZmFzdGVyX2F1dG9oaWRlX2RlbGF5X21zXHUwMDNkMjAwMFx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfcGF1c2VfdGh1bWJuYWlsX3BlcmNlbnRhZ2VcdTAwM2QwLjZcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9ibGVuZGluZ19tb2RlXHUwMDNkXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfZGlzYWJsZV9mcm9zdGVkX2dsYXNzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2hvcml6b250YWxfdm9sdW1lX2NvbnRyb2xzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2xoc192b2x1bWVfY29udHJvbHNcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfcmVzcG9uc2l2ZV9jb21wYWN0X2NvbnRyb2xzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZkZXByZWNhdGVfY2FwdGlvbnNfdHJhY2tfY291bnRfZGlzcGxheVx1MDAzZHRydWVcdTAwMjZkZXByZWNhdGVfZGVsYXlfcGluZ1x1MDAzZHRydWVcdTAwMjZkZXByZWNhdGVfcGFpcl9zZXJ2bGV0X2VuYWJsZWRcdTAwM2R0cnVlXHUwMDI2ZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfYXYxX3NldHRpbmdcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9jaGlsZF9ub2RlX2F1dG9fZm9ybWF0dGVkX3N0cmluZ3NcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9saWZhX2luXzJrXzRrXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfbG9nX3RvX3Zpc2l0b3JfbGF5ZXJcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9wYWNmX2xvZ2dpbmdfZm9yX21lbW9yeV9saW1pdGVkX3R2XHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcmVkdWNlZF9mdWxsc2NyZWVuX2F1dG9wbGF5X2NvdW50ZG93bl9mb3JfbWlub3JzXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcmVlbF9pdGVtX3dhdGNoX2Zvcm1hdF9maWx0ZXJpbmdcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV90b3VjaF9ldmVudHNfb25fc2tpcF9idXR0b25cdTAwM2R0cnVlXHUwMDI2ZHVyYXRpb25fYmVmb3JlX3BhdXNlX2FkX2JyZWFrX21zX2Zvcl9zeXN0ZW1fcGF1c2VcdTAwM2Q1MDAwXHUwMDI2ZWRnZV9lbmNyeXB0aW9uX2ZpbGxfcHJpbWFyeV9rZXlfdmVyc2lvblx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZGVza3RvZmZfZW5hYmxlX2Fkc190b3BfYmFyXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfY2hhbm5lbF9zdWJzY3JpYmVfZGVwcmVjYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9lbWJlZF9jb25maWdfZm9yX211dGVkX2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfaW5uZXJ0dWJlX3N0b3JlXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfbW92ZV9zZXRfY2VudGVyX2Nyb3BfdG9fcHVibGljXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfcGVyX3ZpZGVvX2VtYmVkX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZlbWJlZHNfd2ViX2xpdGVfbW9kZVx1MDAzZDFcdTAwMjZlbmFibGVfYTExeV9mb2N1c19maXhfZm9yX21hY19wYW5lbF9vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hYmFuZG9uX3BpbmdfZm9yX3NzZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY2Nlc3NfY29kZV9zZXJ2aWNlX3JwY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWNpX29uX2xyX2ZlZWRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19kaXNwbGF5X2FkX3JlbmRlcmVyX3dlYl9ob21lXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19scl9zaG9ydHNfdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjdGl2ZV92aWV3X3dlYl9zaG9ydHNfdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FkX2Nwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hZF9kaXNjbG9zdXJlX2Jhbm5lcl9hMTF5X2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfY29tcGFjdF9sYW5kc2NhcGVfaW1hZ2Vfd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl9jb21wYWN0X2xhbmRzY2FwZV9pbWFnZV93ZWJfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl9jb21wYWN0X2xhbmRzY2FwZV9ub19idXR0b25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl9jb21wYWN0X2xhbmRzY2FwZV9ub19idXR0b25fd2ViX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdGV4dF9pbWFnZV9ub19idXR0b25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl90ZXh0X2ltYWdlX25vX2J1dHRvbl93ZWJfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl90b3BfbGFuZHNjYXBlX2ltYWdlX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdG9wX2xhbmRzY2FwZV9pbWFnZV93ZWJfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2JpbGxib2FyZF9idXR0b25lZF93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfYmlsbGJvYXJkX2J1dHRvbmVkX3dlYl9pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfYnV0dG9uX2dyb3VwX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9idXR0b25fZ3JvdXBfd2ViX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbl9ncm91cF93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF9idXR0b25fZ3JvdXBfd2ViX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbmVkX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbmVkX3dlYl9pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF9jYXJvdXNlbF9idXR0b25fZ3JvdXBfd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2NvbXBhY3RfY2Fyb3VzZWxfYnV0dG9uX2dyb3VwX3dlYl9pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF93ZWJfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2Z1bGxfd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2Z1bGxfd2ViX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYW50aXNjcmFwaW5nX3dlYl9wbGF5ZXJfZXhwaXJlZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXBwX3Byb21vX2VuZGNhcF9lbWxfb25fdGFibGV0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdHRlbnRpb25fbG9nZ2luZ19tZWFzdXJlX29uX3Nob3duXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdV91MTZfdmVyaWZ5X2FnZV9wYWdlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdXRvbW90aXZlX2Zvcm1fZmFjdG9yX2NoZWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdjFfZm9yX3l0dl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9iYXRjaGVkX2Nyb3NzX2RldmljZV9waW5nc19pbl9nZWxfZmFub3V0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jYXBhYmlsaXR5X2Zvcm1hdF9maWx0ZXJfaW5fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jYXN0X2Zvcl93ZWJfdW5wbHVnZ2VkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jZW50ZXJlZF9jYXB0aW9uX2Zvcl90dmZpbG1fdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NpcGhlcl9mb3JfbWFuaWZlc3RfdXJsc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xlYW51cF9tYXN0aGVhZF9hdXRvcGxheV9oYWNrX2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3BhZ2VfaWRfaGVhZGVyX2Zvcl9maXJzdF9wYXJ0eV9waW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfdmVfc3BlY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY3RhX2Jhbm5lcl9vbl91bnBsdWdnZWRfbHJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2N1c3RvbV9wbGF5aGVhZF9wYXJzaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RhaV9zZGZfaDVfcHJlcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZGF0YXN5bmNfaWRfaGVhZGVyX2luX3dlYl92c3NfcGluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RlZmF1bHRfbW9ub19jdGFfbWlncmF0aW9uX3dlYl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RzYV9hZF9iYWRnZV9mb3JfYWN0aW9uX2VuZGNhcF9vbl9hbmRyb2lkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kc2FfYWRfYmFkZ2VfZm9yX2FjdGlvbl9lbmRjYXBfb25faW9zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lbnRpdHlfc3RvcmVfZnJvbV9kZXBlbmRlbmN5X2luamVjdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfZXJyb3JfY29ycmVjdGlvbnNfaW5mb2NhcmRfd2ViX2NsaWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZXJyb3JfY29ycmVjdGlvbnNfaW5mb2NhcmRzX2ljb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9nZXRfcmVtaW5kZXJfYnV0dG9uX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNiXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pc19leHRlbmRlZF9tb25pdG9yaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9sdGNfcGFyYW1fZmV0Y2hfZnJvbV9pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfbW9kZXJuX3NraXBfYnV0dG9uX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX213ZWJfa2V5Ym9hcmRfc2hvcnRjdXRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9uZXdfcGFpZF9wcm9kdWN0X3BsYWNlbWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfb3V0X29mX3N0b2NrX3RleHRfYWxsX3N1cmZhY2VzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BhdXNlX2Fkc19vbl95dHZfaHRtbDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BsYXllcl9jYXB0aW9uc19wZXJzaXN0ZW5jZV9zdGF0ZV9tYWNoaW5lXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wb19kZWNvcmF0aW9uX29mX2ZvcmNlZF90cmFja3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BvbGljeV9iYXNlZF9ocWFfZmlsdGVyX2luX3dhdGNoX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc19jb21tYW5kc19scl9mZWVkc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc3NfY29tbWFuZHNfZWxfZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wcm9ncmVzc19jb21tYW5kc19scl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3B1Ymxpc2hpbmdfcmVnaW9uX3BhcmFtX2luX3N1c1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHZfc2NyZWVuX21vZGVybl90ZXh0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9ycHJfdG9rZW5fb25fbHRsX2xvb2t1cFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2NvbXBhbmlvbl9oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2RhaV9oNV9taWRyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfb25faDVfdW5wbHVnZ2VkX3ZvZF9taWRyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfc2hvcnRzX3BsYXllcl9ieXRlc19oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fYWJyX2Zvcl9iYWNrZ3JvdW5kYWJsZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJfdXJsX2dlbmVyYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fcmVhZGFoZWFkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9za2lwX2FkX2d1aWRhbmNlX3Byb21wdFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcF90b19uZXh0X21lc3NhZ2luZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21hcnRfc2tpcF9wbGF5ZXJfY29udHJvbHNfc2hvd25fb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWFydF9za2lwX3BsYXllcl9jb250cm9sc19zaG93bl9vbl93ZWJfaW5jcmVhc2VkX3RyaWdnZXJpbmdfc2Vuc2l0aXZpdHlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtYXJ0X3NraXBfc3BlZWRtYXN0ZXJfb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWVhcmluZ19leHBhbnNpb25fZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zcGxpdF9zY3JlZW5fYWRfYmFzZWxpbmVfZXhwZXJpZW5jZV9lbmRlbWljX2xpdmVfaDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3N1YmZyYWdtZW50ZWRfY2FwdGlvbl9maWx0ZXJpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3N1cGV4X213ZWJfZGVtb193ZWJmZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdG9fY2FsbF9wbGF5cmVhZHlfYmFja2VuZF9kaXJlY3RseVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdW5pZmllZF9hY3Rpb25fZW5kY2FwX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfdmVub21fbm90aWZpY2F0aW9uX2NhY2hlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfdm9pY2VfYm9vc3RfZmVhdHVyZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdnA5X2FwcGxldHY1X29uX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX2RlbGhpX2ljb25zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfaG9tZV90b3BfbGFuZHNjYXBlX2ltYWdlX2xheW91dF9sZXZlbF9jbGlja1x1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX21lZGlhX3Nlc3Npb25fbWV0YWRhdGFfZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfcHJlbWl1bV92YXJpc3BlZWRfdXBzZWxsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfc2hvcnRzX2F1ZGlvX3RyYWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfdGllcmVkX2dlbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2l6X3F1ZXVlX2VmZmVjdF9hbmRfb25faW5pdF9pbml0aWFsX3J1bnNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3l0X2F0YV9pZnJhbWVfYXV0aHVzZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3l0dl9jc2RhaV92cDlcdTAwM2R0cnVlXHUwMDI2ZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19hbGxvd2VkX3ZpZGVvX2lkc1x1MDAzZFtPSmx3SWRvRno5QSwgQXJLYkF4MUstMlUsIG1fZGhNU3ZVQ0ljLCBDMURocEowN1p1RSwgTnEyd1lsV0Z1Y2csIEpDN2YzRVVEYXF3LCB2cjNYeVZDUjRUMCwgZ0NOZURXQ0kwdm8sIGtCVHVkbTRnZU1zLCBGeHNmVlg2QjFNaywgeWxZSlNCVWdhTUEsIFZXaFE2eHNwblNjLCBSSFVhdU1jWWxYMCwgY2IxMkttTU1ESkEsIFdKeEVqX2hycFNnLCBldWhZLXRtZzl4OCwgVGxJVkkyRVc3UjAsIE1JTmZ2T1g0QnpJLCB5SG1QV3praGNaOCwgcDN3MXZPOVh2MjQsIFZsYUNucDFmeEk4LCAtT2ZBMDRCRDRHQSwgMW9kWTNJWXNObm8sIHdpVFRyVnFSVkR3LCBEZm0yckItblE5WSwgUW0xRnR6OGxWbkksIDlpdEF4cV9TR0RNLCB5Rkkzd3BYeTR6QSwgUHk1SllaWEp2em8sIGI0dEU1YUtodGxnLCA1SkR4anNBVmFHaywgZVVtZkdQYXp1RU0sIFc4blRocTYyVmI0LCBWTGp2UzN1ZmxYYywgQmZkTEt2SkJNX2MsIHdlTFhkd1ZqU3hzLCAySmEtdVBPa3o3SSwgQTlRQlZGRVl4T1EsIGstWkZRa2tIVWZjLCB3dXUwRDIwQVpxSSwgX0h2aVN5Qzd6U1UsIF9feE96X1EzcVI0LCB3MnNCODdqTEUxSSwgOHJUVEVNZE1oOFEsIC1rNm1wZ214ZXJVLCA5N2NrbnJKeUxXZywgMkZJdFZ5eExOTmMsIG90bnhmY3NHRS1ZLCBzOXhMMURwQnNmUSwgd2ZBR0JWZ1Vycm8sIG5YSDZUeFEtc2k4LCBXaUkxWGdfbkV1OCwgM2ZsYXNHVlVyQ0EsIGVEWV9IZTkybGNVLCBhNDdja1hLWmp4SSwgSTZXUlhlS1pLNjQsIFQ5SjVEcVAyREt3LCBLdGtfSTBwVXBHOCwgZVEyY3pHcU9DUGcsIGhMbVU0OWhtWjRjLCA3ZjdNZ2FNRTdTYywgUUI1Qk5kQkZ1akUsIEFHaHRNVV9maTcwLCBwMlJhUVVSUkF3QSwgbXpfX0VNWXBXUHcsIDZqaEx1U1FWSXhVLCByQzgzdl91dUlxbywgNkRhR2RKUl9lTGcsIGNtNDN1WGpmdlpZLCBZMUpzUHBtMmJtUSwgejA5N2pQeUtlZW8sIFRZVlpXVVRqa3gwLCBWSGFBdmVuZlREaywgdHY5T1VfNVEwcFEsIDZvS0N2em02SG1nLCBCRUZVRVJoVDBuMCwgdVROLWV1MC1PWEUsIGhiYXByaFI3elRvLCAyQ1YwVi1vTU5GTSwgdThkU09Lb05KcDAsIEg4TXFxd21Gc3hZLCBJc2trbU5QSmRVaywgWDlIX0V6cERHWFFdXHUwMDI2ZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19tYXhfd2luZG93X3NlY29uZHNcdTAwM2Q2MFx1MDAyNmV4cGFuZF9tZWRpYXRla19kZW55bGlzdF90b19hbGxfbGl2ZV92cDlfaW5fYmFja2VuZF9leHBlcmltZW50XHUwMDNkW11cdTAwMjZleHBvcnRfbmV0d29ya2xlc3Nfb3B0aW9uc1x1MDAzZHRydWVcdTAwMjZleHBvcnRfcGxheWVyX3ZlcnNpb25fdG9feXRjb25maWdcdTAwM2R0cnVlXHUwMDI2ZmlsbF9hZHNfdXN0cmVhbWVyX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX2xpdmVfcmVxdWVzdF9jb25maWdfaW5fdXN0cmVhbWVyX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX3NpbmdsZV92aWRlb193aXRoX25vdGlmeV90b19sYXNyXHUwMDNkdHJ1ZVx1MDAyNmZpbHRlcl92Yl93aXRob3V0X25vbl92Yl9lcXVpdmFsZW50c1x1MDAzZHRydWVcdTAwMjZmaWx0ZXJfdnA5X2Zvcl9saXZlX2RhaVx1MDAzZHRydWVcdTAwMjZmaXhfYWRfbWluaXBsYXllcl9jb250cm9sc19yZW5kZXJpbmdcdTAwM2R0cnVlXHUwMDI2Zml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViXHUwMDNkdHJ1ZVx1MDAyNmZpeF9oNV90b2dnbGVfYnV0dG9uX2ExMXlcdTAwM2R0cnVlXHUwMDI2Zml4X3N1cnZleV9jb2xvcl9jb250cmFzdF9vbl9kZXN0b3BcdTAwM2R0cnVlXHUwMDI2ZnJlc2NhX3BvbGxpbmdfZGVsYXlfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2Z2FiX3JldHVybl9zYWJyX3NzZGFpX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZnZWxfbWluX2JhdGNoX3NpemVcdTAwM2QzXHUwMDI2Z2VsX3F1ZXVlX3RpbWVvdXRfbWF4X21zXHUwMDNkNjAwMDBcdTAwMjZndmlfY2hhbm5lbF9jbGllbnRfc2NyZWVuXHUwMDNkdHJ1ZVx1MDAyNmg1X2NvbXBhbmlvbl9lbmFibGVfYWRjcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5nc1x1MDAzZHRydWVcdTAwMjZoNV9lbmFibGVfYWRfbWJzXHUwMDNkdHJ1ZVx1MDAyNmg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmg1X3Jlc2V0X2NhY2hlX2FuZF9maWx0ZXJfYmVmb3JlX3VwZGF0ZV9tYXN0aGVhZFx1MDAzZHRydWVcdTAwMjZoNV96ZXJvX2R1cmF0aW9uX2N1ZV9yYW5nZV9mb3JfZGlic1x1MDAzZHRydWVcdTAwMjZoZnJfZHJvcHBlZF9mcmFtZXJhdGVfZmFsbGJhY2tfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmhpZ2hfY2N2X2NsaWVudF9zaWRlX2NhY2hpbmdfaDVcdTAwM2R0cnVlXHUwMDI2aGxzX3VzZV9uZXdfY29kZWNzX3N0cmluZ19hcGlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYWRfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9hZGFwdGF0aW9uX3N0ZXBfY291bnRcdTAwM2QwXHUwMDI2aHRtbDVfYWRzX3ByZXJvbGxfbG9ja190aW1lb3V0X2RlbGF5X21zXHUwMDNkMTUwMDBcdTAwMjZodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FsbG93X3ByZWxvYWRpbmdfd2l0aF9pZGxlX29ubHlfbmV0d29ya19mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9hbGxvd192aWRlb19rZXlmcmFtZV93aXRob3V0X2F1ZGlvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FwcGx5X2NvbnN0cmFpbnRzX2luX2NsaWVudF9mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9hcHBseV9taW5fZmFpbHVyZXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXBwbHlfc3RhcnRfdGltZV93aXRoaW5fYWRzX2Zvcl9zc2RhaV90cmFuc2l0aW9uc1x1MDAzZHRydWVcdTAwMjZodG1sNV9hdHJfZGlzYWJsZV9mb3JjZV9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9hdHRfcGxheWJhY2tfdGltZW91dF9tc1x1MDAzZDMwMDAwXHUwMDI2aHRtbDVfYXR0YWNoX251bV9yYW5kb21fYnl0ZXNfdG9fYmFuZGFpZFx1MDAzZDBcdTAwMjZodG1sNV9hdHRhY2hfcG9fdG9rZW5fdG9fYmFuZGFpZFx1MDAzZHRydWVcdTAwMjZodG1sNV9hdXRvbmF2X2NhcF9pZGxlX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcFx1MDAzZDcyMFx1MDAyNmh0bWw1X2F1dG9wbGF5X2RlZmF1bHRfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfYXV4aWxpYXJ5X2VzdGltYXRlX3dlaWdodFx1MDAzZDAuMFx1MDAyNmh0bWw1X2F2MV9vcmRpbmFsX2NhcFx1MDAzZDBcdTAwMjZodG1sNV9iYW5kYWlkX2F0dGFjaF9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Jsb2NrX3BpcF9zYWZhcmlfZGVsYXlcdTAwM2QwXHUwMDI2aHRtbDVfYnlwYXNzX2NvbnRlbnRpb25fc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2NoZWNrX2Zvcl9pZGxlX25ldHdvcmtfaW50ZXJ2YWxfbXNcdTAwM2QxMDAwXHUwMDI2aHRtbDVfY2hpcHNldF9zb2Z0X2NhcFx1MDAzZDgxOTJcdTAwMjZodG1sNV9jbGFtcF9pbnZhbGlkX3NlZWtfdG9fbWluX3NlZWthYmxlX3RpbWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfY29uc3VtZV9hbGxfYnVmZmVyZWRfYnl0ZXNfb25lX3BvbGxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfY29udGludW91c19nb29kcHV0X3Byb2JlX2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X2Q2ZGU0X2Nsb3VkX3Byb2plY3RfbnVtYmVyXHUwMDNkODY4NjE4Njc2OTUyXHUwMDI2aHRtbDVfZGVidWdfZGF0YV9sb2dfcHJvYmFiaWxpdHlcdTAwM2QwLjBcdTAwMjZodG1sNV9kZWNvZGVfdG9fdGV4dHVyZV9jYXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVmYXVsdF9hZF9nYWluXHUwMDNkMC41XHUwMDI2aHRtbDVfZGVmYXVsdF9hdjFfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmh0bWw1X2RlZmF1bHRfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfZGVmZXJfZmV0Y2hfYXR0X21zXHUwMDNkMFx1MDAyNmh0bWw1X2RlbGF5ZWRfcmV0cnlfY291bnRcdTAwM2QxXHUwMDI2aHRtbDVfZGVsYXllZF9yZXRyeV9kZWxheV9tc1x1MDAzZDUwMDBcdTAwMjZodG1sNV9kZXByZWNhdGVfYWRhcHRpdmVfZm9ybWF0c19zdHJpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX2Fkc2VydmljZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kZXByZWNhdGVfbWFuaWZlc3RmdWxfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX3ZpZGVvX3RhZ19wb29sXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rlc2t0b3BfdnIxODBfYWxsb3dfcGFubmluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoXHUwMDNkMC42XHUwMDI2aHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9jbGllbnRfYXV0b25hdl9jYXBfZm9yX29uZXNpZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX2xvb3BfcmFuZ2VfZm9yX3Nob3J0c19hZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9ub25fY29udGlndW91c1x1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3BlYWtfc2hhdmVfZm9yX29uZXNpZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3VzdHJlYW1lcl9jb25zdHJhaW50X2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfd2ViX3NhZmFyaV9kYWlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzcGxheWVkX2ZyYW1lX3JhdGVfZG93bmdyYWRlX3RocmVzaG9sZFx1MDAzZDQ1XHUwMDI2aHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2RybV9jaGVja19hbGxfa2V5X2Vycm9yX3N0YXRlc1x1MDAzZHRydWVcdTAwMjZodG1sNV9kcm1fY3BpX2xpY2Vuc2Vfa2V5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RybV9saXZlX2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9zaGFycGVyX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYWMzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hdWRpb190cmFja19zdGlja2luZXNzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hdWRpb190cmFja19zdGlja2luZXNzX3BoYXNlX3R3b1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfY2FwdGlvbl9jaGFuZ2VzX2Zvcl9tb3NhaWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2NvbXBvc2l0ZV9lbWJhcmdvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kNmRlNFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZDZkZTRfY29sZF9zdGFydF9hbmRfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2Q2ZGU0X2lkbGVfcHJpb3JpdHlfam9iXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kcmNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2RyY190b2dnbGVfYXBpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lYWMzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lbWJlZGRlZF9wbGF5ZXJfdmlzaWJpbGl0eV9zaWduYWxzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9vZHVjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2Zvcm1hdF9zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfZnJvbV93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfaG9zdF9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9vbl95dF9lbWJlZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfdm9kX3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NlcnZlcl9kcml2ZW5fcmVxdWVzdF9jYW5jZWxsYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3Nwc19yZXRyeV9iYWNrb2ZmX21ldGFkYXRhX3JlcXVlc3RzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zc2RhaV90cmFuc2l0aW9uX3dpdGhfb25seV9lbnRlcl9jdWVyYW5nZVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHJpZ2dlcmluZ19jdWVwb2ludF9mb3Jfc2xvdFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHZvc19kYXNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV90dm9zX2VuY3J5cHRlZF92cDlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5jb3VyYWdlX2FycmF5X2NvYWxlc2NpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZmlsbF9kZWZhdWx0X21vc2FpY19hdWRpb190cmFja19pZFx1MDAzZHRydWVcdTAwMjZodG1sNV9maXhlZF9tZWRpYV9kdXJhdGlvbl9mb3JfcmVxdWVzdFx1MDAzZDBcdTAwMjZodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZm9yY2Vfc2Ficl9mcm9tX3dhdGNoX3NlcnZlcl9mb3JfZGZzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9mb3J3YXJkX2NsaWNrX3RyYWNraW5nX3BhcmFtc19vbl9yZWxvYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19hZF9hdXRvcGxheV9vbl92aWRlb190b19hZF9vbmx5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZW5kZWRfdHJhbnNpdGlvbl9idWZmZXJfbXNcdTAwM2QyMDBcdTAwMjZodG1sNV9nYXBsZXNzX2hhbmRvZmZfY2xvc2VfZW5kX2xvbmdfcmVidWZmZXJfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfaGFuZG9mZl9jbG9zZV9lbmRfbG9uZ19yZWJ1ZmZlcl9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nYXBsZXNzX2xvb3Bfc2Vla19vZmZzZXRfaW5fbWlsbGlcdTAwM2QwXHUwMDI2aHRtbDVfZ2FwbGVzc19zbG93X3NlZWtfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nZW5lcmF0ZV9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2xfZnBzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzXHUwMDNkMFx1MDAyNmh0bWw1X2hkY3BfcHJvYmluZ19zdHJlYW1fdXJsXHUwMDNkXHUwMDI2aHRtbDVfaGVhZF9taXNzX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9oZnJfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfaGlkZV91bmF2YWlsYWJsZV9zdWJ0aXRsZXNfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2hpZ2hfcmVzX2xvZ2dpbmdfcGVyY2VudFx1MDAzZDAuMDFcdTAwMjZodG1sNV9oaWdoX3Jlc19zZWVrX2xvZ2dpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaG9wZWxlc3Nfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9odWxpX3NzZGFpX3VzZV9wbGF5YmFja19zdGF0ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9pZGxlX3JhdGVfbGltaXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lnbm9yZV9zYWJyc2Vla19kdXJpbmdfYWRza2lwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lubmVydHViZV9oZWFydGJlYXRzX2Zvcl9mYWlycGxheVx1MDAzZHRydWVcdTAwMjZodG1sNV9pbm5lcnR1YmVfaGVhcnRiZWF0c19mb3Jfd2lkZXZpbmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfanVtYm9fbW9iaWxlX3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldFx1MDAzZDMuMFx1MDAyNmh0bWw1X2p1bWJvX3VsbF9ub25zdHJlYW1pbmdfbWZmYV9tc1x1MDAzZDQwMDBcdTAwMjZodG1sNV9qdW1ib191bGxfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0XHUwMDNkMS4zXHUwMDI2aHRtbDVfa2FidWtpX2RybV9saXZlXzUxX2RlZmF1bHRfb2ZmXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xpY2Vuc2VfY29uc3RyYWludF9kZWxheVx1MDAzZDUwMDBcdTAwMjZodG1sNV9saXZlX2Ficl9oZWFkX21pc3NfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlX2Ficl9yZXByZWRpY3RfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlX2NodW5rX3JlYWRhaGVhZF9wcm94aW1hX292ZXJyaWRlXHUwMDNkMFx1MDAyNmh0bWw1X2xpdmVfbG93X2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvd1x1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfbm9ybWFsX2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvd1x1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZV91bHRyYV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZW5lc3NfZHJpZnRfY2h1bmtfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZW5lc3NfZHJpZnRfcHJveGltYV9vdmVycmlkZVx1MDAzZDBcdTAwMjZodG1sNV9sb2dfYXVkaW9fYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ19leHBlcmltZW50X2lkX2Zyb21fcGxheWVyX3Jlc3BvbnNlX3RvX2N0bXBcdTAwM2RcdTAwMjZodG1sNV9sb2dfZmlyc3Rfc3NkYWlfcmVxdWVzdHNfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfcmVidWZmZXJfZXZlbnRzXHUwMDNkNVx1MDAyNmh0bWw1X2xvZ19zYWJyX21hbGZvcm1lZF9jb25maWdfcHJvdG9fc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ190cmlnZ2VyX2V2ZW50c193aXRoX2RlYnVnX2RhdGFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX3Zzc19leHRyYV9scl9jcGFyYW1zX2ZyZXFcdTAwM2RcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX2ppZ2dsZV9jbXRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfbG9uZ19yZWJ1ZmZlcl90aHJlc2hvbGRfbXNcdTAwM2QzMDAwMFx1MDAyNmh0bWw1X21hbmlmZXN0bGVzc192cDlfb3RmXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X21heF9idWZmZXJfaGVhbHRoX2Zvcl9kb3duZ3JhZGVfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9idWZmZXJfaGVhbHRoX2Zvcl9kb3duZ3JhZGVfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9ieXRlcmF0ZVx1MDAzZDBcdTAwMjZodG1sNV9tYXhfZGlzY29udGludWl0eV9yZXdyaXRlX2NvdW50XHUwMDNkMFx1MDAyNmh0bWw1X21heF9kcmlmdF9wZXJfdHJhY2tfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9oZWFkbV9mb3Jfc3RyZWFtaW5nX3hoclx1MDAzZDBcdTAwMjZodG1sNV9tYXhfbGl2ZV9kdnJfd2luZG93X3BsdXNfbWFyZ2luX3NlY3NcdTAwM2Q0NjgwMC4wXHUwMDI2aHRtbDVfbWF4X3F1YWxpdHlfc2VsX3VwZ3JhZGVcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X3JlZGlyZWN0X3Jlc3BvbnNlX2xlbmd0aFx1MDAzZDgxOTJcdTAwMjZodG1sNV9tYXhfc2VsZWN0YWJsZV9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb25cdTAwM2QwXHUwMDI2aHRtbDVfbWF4aW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21lZGlhX2Z1bGxzY3JlZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfbWVkaWFfdGltZV93ZWlnaHRfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21mY19tYXhfcXVldWVfbGVuZ3RoXHUwMDNkMVx1MDAyNmh0bWw1X21mY19taW5fYnVmZmVyX2hlYWx0aFx1MDAzZDBcdTAwMjZodG1sNV9tZmNfc2Vjc19sZWZ0X3RvX3N0YXJ0X3ByZWxvYWRcdTAwM2QwXHUwMDI2aHRtbDVfbWluX2ZhaWx1cmVzX3RvX2RlbGF5X3JldHJ5XHUwMDNkM1x1MDAyNmh0bWw1X21pbl9tZWRpYV9kdXJhdGlvbl9mb3JfYXBwZW5kX3Byb3BcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5fbWVkaWFfZHVyYXRpb25fZm9yX2NhYnJfc2xpY2VcdTAwM2QwLjAxXHUwMDI2aHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3JlYWRiZWhpbmRfY2FwX3NlY3NcdTAwM2Q2MFx1MDAyNmh0bWw1X21pbl9yZWFkYmVoaW5kX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3NlY29uZHNfYmV0d2Vlbl9mb3JtYXRfc2VsZWN0aW9uc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluX3N0YXJ0dXBfYnVmZmVyZWRfbWVkaWFfZHVyYXRpb25fc2Vjc1x1MDAzZDEuMlx1MDAyNmh0bWw1X21pbl9zdGFydHVwX2R1cmF0aW9uX2xpdmVfc2Vjc1x1MDAzZDAuMjVcdTAwMjZodG1sNV9taW5fdW5kZXJydW5fYnVmZmVyZWRfcHJlX3N0ZWFkeV9zdGF0ZV9tc1x1MDAzZDBcdTAwMjZodG1sNV9taW5fdXBncmFkZV9oZWFsdGhfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHNcdTAwM2QwLjBcdTAwMjZodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlblx1MDAzZFx1MDAyNmh0bWw1X21vdmVfZGlzYWJsZV9haXJwbGF5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X25vX3BsYWNlaG9sZGVyX3JvbGxiYWNrc1x1MDAzZHRydWVcdTAwMjZodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9vZmZsaW5lX2Rvd25sb2FkX3RpbWVvdXRfcmV0cnlfbGltaXRcdTAwM2Q0XHUwMDI2aHRtbDVfb2ZmbGluZV9mYWlsdXJlX3JldHJ5X2xpbWl0XHUwMDNkMlx1MDAyNmh0bWw1X29mZmxpbmVfcGxheWJhY2tfcG9zaXRpb25fc3luY1x1MDAzZHRydWVcdTAwMjZodG1sNV9vZmZsaW5lX3ByZXZlbnRfcmVkb3dubG9hZF9kb3dubG9hZGVkX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9hdWRpb19vbmx5X3BsYXliYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9jaGVja190aW1lb3V0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfbGl2ZV90dGxfc2Vjc1x1MDAzZDhcdTAwMjZodG1sNV9vbmVzaWVfcHJld2FybV9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfcHJld2FybV9tYXhfbGFjdF9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfcmVkaXJlY3Rvcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9zZW5kX3N0cmVhbWVyX2NvbnRleHRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb3ZlcnJpZGVfbWljcm9fZGlzY29udGludWl0aWVzX3RocmVzaG9sZF9tc1x1MDAzZC0xXHUwMDI2aHRtbDVfcGFjZWRfcG9sbF9taW5faGVhbHRoX21zXHUwMDNkMFx1MDAyNmh0bWw1X3BhY2VkX3BvbGxfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcGF1c2Vfb25fbm9uZm9yZWdyb3VuZF9wbGF0Zm9ybV9lcnJvcnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGVha19zaGF2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3lcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGVyZm9ybWFuY2VfY2FwX2Zsb29yXHUwMDNkMzYwXHUwMDI2aHRtbDVfcGVyc2VydmVfYXYxX3BlcmZfY2FwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BpY3R1cmVfaW5fcGljdHVyZV9sb2dnaW5nX29ucmVzaXplX3JhdGlvXHUwMDNkMC4wXHUwMDI2aHRtbDVfcGxhdGZvcm1fbWF4X2J1ZmZlcl9oZWFsdGhfb3ZlcnNlbmRfZHVyYXRpb25fc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3BsYXRmb3JtX21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHNcdTAwM2QwLjBcdTAwMjZodG1sNV9wbGF0Zm9ybV93aGl0ZWxpc3RlZF9mb3JfZnJhbWVfYWNjdXJhdGVfc2Vla3NcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGxheWVyX2F0dF9pbml0aWFsX2RlbGF5X21zXHUwMDNkMzAwMFx1MDAyNmh0bWw1X3BsYXllcl9hdHRfcmV0cnlfZGVsYXlfbXNcdTAwM2QxNTAwXHUwMDI2aHRtbDVfcGxheWVyX2F1dG9uYXZfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9wbGF5ZXJfZXM2XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9taW5fYnVpbGRfY2xcdTAwM2QtMVx1MDAyNmh0bWw1X3BsYXllcl9wcmVsb2FkX2FkX2ZpeFx1MDAzZHRydWVcdTAwMjZodG1sNV9wb3N0X2ludGVycnVwdF9yZWFkYWhlYWRcdTAwM2QyMFx1MDAyNmh0bWw1X3ByZWZlcl9sYW5ndWFnZV9vdmVyX2NvZGVjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWZlcl9zZXJ2ZXJfYndlM1x1MDAzZHRydWVcdTAwMjZodG1sNV9wcmVsb2FkX2JlZm9yZV9pbml0aWFsX3NlZWtfd2l0aF9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWxvYWRfd2FpdF90aW1lX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9wcmV2ZW50X21vYmlsZV9iYWNrZ3JvdW5kX3BsYXlfb25fZXZlbnRfc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Byb2JlX3ByaW1hcnlfZGVsYXlfYmFzZV9tc1x1MDAzZDBcdTAwMjZodG1sNV9wcm9jZXNzX2FsbF9lbmNyeXB0ZWRfZXZlbnRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3FvZV9wcm90b19tb2NrX2xlbmd0aFx1MDAzZDBcdTAwMjZodG1sNV9xdWVyeV9zd19zZWN1cmVfY3J5cHRvX2Zvcl9hbmRyb2lkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXBcdTAwM2QwXHUwMDI2aHRtbDVfcmVjb3JkX2lzX29mZmxpbmVfb25fcGxheWJhY2tfYXR0ZW1wdF9zdGFydFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZWNvcmRfdW1wX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZWxvYWRfYnlfa2FidWtpX2FwcFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZW1vdmVfY29tbWFuZF90cmlnZ2VyZWRfY29tcGFuaW9uc1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZW1vdmVfbm90X3NlcnZhYmxlX2NoZWNrX2tpbGxzd2l0Y2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwb3J0X2ZhdGFsX2RybV9yZXN0cmljdGVkX2Vycm9yX2tpbGxzd2l0Y2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwb3J0X3Nsb3dfYWRzX2FzX2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlcHJlZGljdF9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9yZXF1ZXN0X29ubHlfaGRyX29yX3Nkcl9rZXlzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlcXVlc3Rfc2l6ZV9tYXhfa2JcdTAwM2QwXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX21pbl9rYlx1MDAzZDBcdTAwMjZodG1sNV9yZXNlZWtfYWZ0ZXJfdGltZV9qdW1wX2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXNlZWtfYWZ0ZXJfdGltZV9qdW1wX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Jlc2V0X2JhY2tvZmZfb25fdXNlcl9zZWVrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Jlc291cmNlX2JhZF9zdGF0dXNfZGVsYXlfc2NhbGluZ1x1MDAzZDEuNVx1MDAyNmh0bWw1X3Jlc3RyaWN0X3N0cmVhbWluZ194aHJfb25fc3FsZXNzX3JlcXVlc3RzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X2Rvd25sb2Fkc19mb3JfZXhwaXJhdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXRyeV9vbl9kcm1fa2V5X2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X29uX2RybV91bmF2YWlsYWJsZVx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXRyeV9xdW90YV9leGNlZWRlZF92aWFfc2Vla1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZXR1cm5fcGxheWJhY2tfaWZfYWxyZWFkeV9wcmVsb2FkZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9lbmFibGVfc2VydmVyX3h0YWdfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfZmV0Y2hfb25faWRsZV9uZXR3b3JrX3ByZWxvYWRlZF9wbGF5ZXJzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfZm9yY2VfbWF4X25ldHdvcmtfaW50ZXJydXB0aW9uX2R1cmF0aW9uX21zXHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfbGl2ZV9sb3dfbGF0ZW5jeV9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbGl2ZV90aW1pbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9sb2dfc2VydmVyX3h0YWdfc2VsZWN0aW9uX29uZXNpZV9taXNtYXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX21pbl9tZWRpYV9ieXRlc19mYWN0b3JfdG9fYXBwZW5kX2Zvcl9zdHJlYW1cdTAwM2QwLjBcdTAwMjZodG1sNV9zYWJyX25vbl9zdHJlYW1pbmdfeGhyX3JlcXVlc3RfY2FuY2VsbGF0aW9uX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0XHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfcmVwb3J0X3BhcnRpYWxfc2VnbWVudF9lc3RpbWF0ZWRfZHVyYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9yZXBvcnRfcmVxdWVzdF9jYW5jZWxsYXRpb25faW5mb1x1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3JlcXVlc3RfbGltaXRfcGVyX3BlcmlvZFx1MDAzZDIwXHUwMDI2aHRtbDVfc2Ficl9yZXF1ZXN0X29uX2NvbnN0cmFpbnRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9zZWVrX25vX3NoaWZ0X3RvbGVyYW5jZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3NraXBfY2xpZW50X2F1ZGlvX2luaXRfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfc3VjY2Vzc2Z1bF9wcm9iZV90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfdWdjX3ZvZF93ZWJfZW1iZWRkZWRfY2xpZW50X2RlZmF1bHRfYmFuZHdpZHRoX29uX2lwaG9uZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3VudXNlZF9ibG9hdF9zaXplX2J5dGVzXHUwMDNkMFx1MDAyNmh0bWw1X3NhbXN1bmdfa2FudF9saW1pdF9tYXhfYml0cmF0ZVx1MDAzZDBcdTAwMjZodG1sNV9zZWVrX2ppZ2dsZV9jbXRfZGVsYXlfbXNcdTAwM2Q4MDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfZWxlbV9kZWxheV9tc1x1MDAzZDEyMDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfZWxlbV9zaG9ydHNfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfZWxlbWVudF9zaG9ydHNfcmV1c2VfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX2VsZW1lbnRfc2hvcnRzX3JldXNlX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX3NvdXJjZV9zaG9ydHNfcmV1c2VfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX3NvdXJjZV9zaG9ydHNfcmV1c2VfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Vla19zZXRfY210X2RlbGF5X21zXHUwMDNkMjAwMFx1MDAyNmh0bWw1X3NlZWtfdGltZW91dF9kZWxheV9tc1x1MDAzZDIwMDAwXHUwMDI2aHRtbDVfc2VuZF9jdWVwb2ludF9pZF9pbl9hZF9icmVha19yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlbmRfc2VyaWFsaXplZF9vbmVfdGltZV9xb2VfY29udGV4dF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlcnZlX3N0YXJ0X3NlY29uZHNfc2Vla19mb3JfcG9zdF9saXZlX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VydmVyX3N0aXRjaGVkX2RhaV9kZWNvcmF0ZWRfdXJsX3JldHJ5X2xpbWl0XHUwMDNkNVx1MDAyNmh0bWw1X3Nlc3Npb25fcG9fdG9rZW5faW50ZXJ2YWxfdGltZV9tc1x1MDAzZDkwMDAwMFx1MDAyNmh0bWw1X3NldF92aWRlb19pZF9hc19leHBlY3RlZF9jb250ZW50X2JpbmRpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3NfYWRfc2xvd19zdGFydF9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3NfYWRfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19uZXh0X2J1ZmZlcl9pbl9zZWNvbmRzXHUwMDNkMFx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX25vX2dsbGF0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX3Nsb3dfc3RhcnRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2hvd19kcmNfdG9nZ2xlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NpbXBsaWZpZWRfYmFja3VwX3RpbWVvdXRfc2Ficl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NraXBfZW1wdHlfcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2tpcF9zbG93X2FkX2RlbGF5X21zXHUwMDNkMTUwMDBcdTAwMjZodG1sNV9zbG93X3N0YXJ0X25vX21lZGlhX3NvdXJjZV9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zbG93X3N0YXJ0X3RpbWVvdXRfZGVsYXlfbXNcdTAwM2QyMDAwMFx1MDAyNmh0bWw1X3NzZGFpX2VuYWJsZV9tZWRpYV9lbmRfY3VlX3JhbmdlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NzZGFpX2ZhaWx1cmVfcmV0cnlfbGltaXRcdTAwM2QwXHUwMDI2aHRtbDVfc3NkYWlfbG9nX21pc3NpbmdfYWRfY29uZmlnX3JlYXNvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zdGFsbF9mYWN0b3JcdTAwM2QwLjBcdTAwMjZodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3NcdTAwM2QwXHUwMDI2aHRtbDVfc3RvcmVfeGhyX2hlYWRlcnNfcmVhZGFibGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RyZWFtaW5nX3Jlc2lsaWVuY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RyZWFtaW5nX3hocl90aW1lX2Jhc2VkX2NvbnNvbGlkYXRpb25fbXNcdTAwM2QtMVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX2xvYWRfc3BlZWRfY2hlY2tfaW50ZXJ2YWxcdTAwM2QwLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9taW5fYnVmZmVyX2hlYWx0aF9zZWNzXHUwMDNkMC4yNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3Nfb25fdGltZW91dFx1MDAzZDAuMVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9sb2FkX3NwZWVkXHUwMDNkMS41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfc2Vla19sYXRlbmN5X2Z1ZGdlXHUwMDNkMC41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0X2J1ZmZlcl9oZWFsdGhfc2Vjc1x1MDAzZDAuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RpbWVvdXRfc2Vjc1x1MDAzZDIuMFx1MDAyNmh0bWw1X3RyYWNrX292ZXJzaG9vdFx1MDAzZHRydWVcdTAwMjZodG1sNV90cmFuc2Zlcl9wcm9jZXNzaW5nX2xvZ3NfaW50ZXJ2YWxcdTAwM2QxMDAwXHUwMDI2aHRtbDVfdHJpZ2dlcl9sb2FkZXJfd2hlbl9pZGxlX25ldHdvcmtcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdWdjX2xpdmVfYXVkaW9fNTFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdWdjX3ZvZF9hdWRpb181MVx1MDAzZHRydWVcdTAwMjZodG1sNV91bnJlcG9ydGVkX3NlZWtfcmVzZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3VwZGF0ZV90aW1lX29uX3NlZWtlZFx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX2luaXRfc2VsZWN0ZWRfYXVkaW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX25vbl9hY3RpdmVfYnJvYWRjYXN0X2Zvcl9wb3N0X2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3Bvc3RfZm9yX21lZGlhXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV91bXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlclx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdW1wX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdmlkZW9fcXVhbGl0eV9jYXBfZm9yX3VzdHJlYW1lcl9jb25zdHJhaW50XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV92aWRlb190cmFuc2l0aW9uX2VuZHBvaW50X2hlYXJ0YmVhdFx1MDAzZHRydWVcdTAwMjZodG1sNV92aWRlb190YmRfbWluX2tiXHUwMDNkMFx1MDAyNmh0bWw1X3ZpZXdwb3J0X3VuZGVyc2VuZF9tYXhpbXVtXHUwMDNkMC4wXHUwMDI2aHRtbDVfdm9sdW1lX3NsaWRlcl90b29sdGlwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkc1x1MDAzZFtdXHUwMDI2aHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5XHUwMDNkXHUwMDI2aHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV93ZWJwb19pZGxlX3ByaW9yaXR5X2pvYlx1MDAzZHRydWVcdTAwMjZodG1sNV93ZWJwb19rYWlvc19kZWZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X3dvZmZsZV9yZXN1bWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd29ya2Fyb3VuZF9kZWxheV90cmlnZ2VyXHUwMDNkdHJ1ZVx1MDAyNmlkYl9pbW1lZGlhdGVfY29tbWl0XHUwMDNkdHJ1ZVx1MDAyNmlnbm9yZV9vdmVybGFwcGluZ19jdWVfcG9pbnRzX29uX2VuZGVtaWNfbGl2ZV9odG1sNVx1MDAzZHRydWVcdTAwMjZpbF9hdHRhY2hfY2FjaGVfbGltaXRcdTAwM2R0cnVlXHUwMDI2aWxfcGF5bG9hZF9zY3JhcGluZ1x1MDAzZFx1MDAyNmlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dFx1MDAzZHRydWVcdTAwMjZpbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0XHUwMDNkMjAwMFx1MDAyNmluamVjdGVkX2xpY2Vuc2VfaGFuZGxlcl9lcnJvcl9jb2RlXHUwMDNkMFx1MDAyNmluamVjdGVkX2xpY2Vuc2VfaGFuZGxlcl9saWNlbnNlX3N0YXR1c1x1MDAzZDBcdTAwMjZpb3NfYW5kX2FuZHJvaWRfZnJlc2NhX3BvbGxpbmdfZGVsYXlfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aXRkcm1fYWx3YXlzX3VzZV93aWRldmluZV9zZGtcdTAwM2R0cnVlXHUwMDI2aXRkcm1fZGlzYWJsZV9leHRlcm5hbF9rZXlfcm90YXRpb25fc3lzdGVtX2lkc1x1MDAzZFtdXHUwMDI2aXRkcm1fZW5hYmxlX3Jldm9jYXRpb25fcmVwb3J0aW5nXHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX2luamVjdGVkX2xpY2Vuc2Vfc2VydmljZV9lcnJvcl9jb2RlXHUwMDNkMFx1MDAyNml0ZHJtX3NldF9zYWJyX2xpY2Vuc2VfY29uc3RyYWludFx1MDAzZHRydWVcdTAwMjZpdGRybV91c2VfZmFpcnBsYXlfc2RrXHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3VzZV93aWRldmluZV9zZGtfZm9yX3ByZW1pdW1fY29udGVudFx1MDAzZHRydWVcdTAwMjZpdGRybV93aWRldmluZV9oYXJkZW5lZF92bXBfbW9kZVx1MDAzZGxvZ1x1MDAyNmpzb25fY29uZGVuc2VkX3Jlc3BvbnNlXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9jb21tYW5kX2hhbmRsZXJfY29tbWFuZF9iYW5saXN0XHUwMDNkW11cdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5faWRlYWxfdGlsZV93aWR0aF9wZXJjZW50YWdlXHUwMDNkMC4yN1x1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9tYXhfcm93c1x1MDAzZDJcdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5fbWF4X3dpZHRoXHUwMDNkNTAwXHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX21pbl93aWR0aFx1MDAzZDIwMFx1MDAyNmtldmxhcl9nZWxfZXJyb3Jfcm91dGluZ1x1MDAzZHRydWVcdTAwMjZrZXZsYXJfbWluaXBsYXllcl9leHBhbmRfdG9wXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW1cdTAwM2R0cnVlXHUwMDI2a2V2bGFyX3BsYXliYWNrX2Fzc29jaWF0ZWRfcXVldWVcdTAwM2R0cnVlXHUwMDI2bGF1bmNoX2xpY2Vuc2Vfc2VydmljZV9hbGxfb3R0X3ZpZGVvc19hdXRvbWF0aWNfZmFpbF9vcGVuXHUwMDNkdHJ1ZVx1MDAyNmxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemVcdTAwM2R0cnVlXHUwMDI2bGl2ZV9jaGF0X2VuYWJsZV9ydGFfbWFuYWdlclx1MDAzZHRydWVcdTAwMjZsaXZlX2NodW5rX3JlYWRhaGVhZFx1MDAzZDNcdTAwMjZsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyXHUwMDNkdHJ1ZVx1MDAyNmxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvblx1MDAzZDAuMVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmVcdTAwM2R0cnVlXHUwMDI2bWFuaWZlc3RsZXNzX3Bvc3RfbGl2ZV91ZnBoXHUwMDNkdHJ1ZVx1MDAyNm1heF9ib2R5X3NpemVfdG9fY29tcHJlc3NcdTAwM2Q1MDAwMDBcdTAwMjZtYXhfY2RmZV9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2bWF4X3ByZWZldGNoX3dpbmRvd19zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uXHUwMDNkMTBcdTAwMjZtYXhfcmVzb2x1dGlvbl9mb3Jfd2hpdGVfbm9pc2VcdTAwM2QzNjBcdTAwMjZtZHhfZW5hYmxlX3ByaXZhY3lfZGlzY2xvc3VyZV91aVx1MDAzZHRydWVcdTAwMjZtZHhfbG9hZF9jYXN0X2FwaV9ib290c3RyYXBfc2NyaXB0XHUwMDNkdHJ1ZVx1MDAyNm1pbl9wcmVmZXRjaF9vZmZzZXRfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvblx1MDAzZDIwXHUwMDI2bXRhX2RyY19tdXR1YWxfZXhjbHVzaW9uX3JlbW92YWxcdTAwM2R0cnVlXHUwMDI2bXVzaWNfZW5hYmxlX3NoYXJlZF9hdWRpb190aWVyX2xvZ2ljXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZGVidWdfc3RpY2t5X3NldHRpbmdzXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZW5hYmxlX2NsaWNrX3RvX3BsYXlfcGF1c2VcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfZmluZV9zY3J1YmJpbmdfZm9yX3JlY3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfbW9yZV9jaHVua3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfcGxheWVyX2NvbnRyb2xfb25faG92ZXJcdTAwM2R0cnVlXHUwMDI2bXdlYl9wcm9ncmVzc19iYXJfc2Vla19vbl9tb3VzZV9jbGlja1x1MDAzZHRydWVcdTAwMjZtd2ViX3Nob3J0c19jb21tZW50c19wYW5lbF9pZF9jaGFuZ2VcdTAwM2R0cnVlXHUwMDI2bXdlYl91c2VfbWljcm9mb3JtYXRfdGl0bGVfZm9yX3Bvc3RzXHUwMDNkdHJ1ZVx1MDAyNm5ldHdvcmtfcG9sbGluZ19pbnRlcnZhbFx1MDAzZDMwMDAwXHUwMDI2bmV0d29ya2xlc3NfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZuZXdfY29kZWNzX3N0cmluZ19hcGlfdXNlc19sZWdhY3lfc3R5bGVcdTAwM2R0cnVlXHUwMDI2bm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd25cdTAwM2R0cnVlXHUwMDI2bm9fZmlsbGVyX3ZpZGVvX2Zvcl9zc2FfcGxheWJhY2tzXHUwMDNkdHJ1ZVx1MDAyNm92ZXJyaWRlX2RybV9yZXF1aXJlZF9wbGF5YmFja19wb2xpY3lfY2hhbm5lbHNcdTAwM2RbXVx1MDAyNnBhZ2VpZF9hc19oZWFkZXJfd2ViXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9hZHNfc2V0X2FkZm9ybWF0X29uX2NsaWVudFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfYm9vdHN0cmFwX21ldGhvZFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfY29udHJvbHNfdXNlX3BsYXllcl9hcGlfY29udGV4dFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfY29udHJvbHNfdm9sdW1lX2NvbnRyb2xzX3VzZV9wbGF5ZXJfcHJvcHNcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb25cdTAwM2R0cnVlXHUwMDI2cGxheWVyX2VuYWJsZV9wbGF5YmFja19wbGF5bGlzdF9jaGFuZ2VcdTAwM2R0cnVlXHUwMDI2cGxheWVyX25ld19pbmZvX2NhcmRfZm9ybWF0XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl91bmRlcmxheV9taW5fcGxheWVyX3dpZHRoXHUwMDNkNzY4LjBcdTAwMjZwbGF5ZXJfdW5kZXJsYXlfdmlkZW9fd2lkdGhfZnJhY3Rpb25cdTAwM2QwLjZcdTAwMjZwbGF5ZXJfd2ViX2NhbmFyeV9zdGFnZVx1MDAzZDBcdTAwMjZwbGF5cmVhZHlfZmlyc3RfcGxheV9leHBpcmF0aW9uXHUwMDNkLTFcdTAwMjZwb2RjYXN0c192aWRlb3N0YXRzX2RlZmF1bHRfZmx1c2hfaW50ZXJ2YWxfc2Vjb25kc1x1MDAzZDBcdTAwMjZwb2x5bWVyX2JhZF9idWlsZF9sYWJlbHNcdTAwM2R0cnVlXHUwMDI2cG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZVx1MDAzZHRydWVcdTAwMjZwb3B1bGF0ZV9mb3JtYXRfc2V0X2luZm9faW5fY2RmZV9mb3JtYXRzXHUwMDNkdHJ1ZVx1MDAyNnByZXNraXBfYnV0dG9uX3N0eWxlX2Fkc19iYWNrZW5kXHUwMDNkXHUwMDI2cHJveGltYV9hdXRvX3RocmVzaG9sZF9tYXhfbmV0d29ya19pbnRlcnJ1cHRpb25fZHVyYXRpb25fbXNcdTAwM2QwXHUwMDI2cHJveGltYV9hdXRvX3RocmVzaG9sZF9taW5fYmFuZHdpZHRoX2VzdGltYXRlX2J5dGVzX3Blcl9zZWNcdTAwM2QwXHUwMDI2cW9lX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnF1YWxpdHlfY2FwX2Zvcl9pbmxpbmVfbm9uX2FwcF9hZHNcdTAwM2QwXHUwMDI2cXVhbGl0eV9jYXBfZm9yX2lubGluZV9wbGF5YmFja1x1MDAzZDBcdTAwMjZxdWFsaXR5X2NhcF9mb3JfaW5saW5lX3BsYXliYWNrX2Fkc1x1MDAzZDBcdTAwMjZyZWFkX2FoZWFkX21vZGVsX25hbWVcdTAwM2RcdTAwMjZyZWplY3RfaGlkZGVuX2xpdmVfZm9ybWF0c1x1MDAzZHRydWVcdTAwMjZyZWplY3RfbGl2ZV92cDlfbXFfY2xlYXJfd2l0aF9ub19hYnJfbGFkZGVyXHUwMDNkdHJ1ZVx1MDAyNnJlbGF4X2JnX25vdGlmaWNhdGlvbl90aHJvdHRsaW5nXHUwMDNkdHJ1ZVx1MDAyNnJlbW92ZV9jaGV2cm9uX2Zyb21fYWRfZGlzY2xvc3VyZV9iYW5uZXJfaDVcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX21hc3RoZWFkX2NoYW5uZWxfYmFubmVyX29uX3JlZnJlc2hcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX3Nsb3RfaWRfZXhpdGVkX3RyaWdnZXJfZm9yX2RhaV9pbl9wbGF5ZXJfc2xvdF9leHBpcmVcdTAwM2R0cnVlXHUwMDI2cmVwbGFjZV9wbGF5YWJpbGl0eV9yZXRyaWV2ZXJfaW5fd2F0Y2hcdTAwM2R0cnVlXHUwMDI2cm9zY2FzXHUwMDNkdHJ1ZVx1MDAyNnNhYnJfZW5hYmxlX2hvc3RfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2c2VsZl9wb2RkaW5nX2hlYWRlcl9zdHJpbmdfdGVtcGxhdGVcdTAwM2RzZWxmX3BvZGRpbmdfaW50ZXJzdGl0aWFsX21lc3NhZ2VcdTAwMjZzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2Vfc3RyaW5nX3RlbXBsYXRlXHUwMDNkc2VsZl9wb2RkaW5nX21pZHJvbGxfY2hvaWNlXHUwMDI2c2VuZF9jb25maWdfaGFzaF90aW1lclx1MDAzZDBcdTAwMjZzZXJ2ZV9hZGFwdGl2ZV9mbXRzX2Zvcl9saXZlX3N0cmVhbXNcdTAwM2R0cnVlXHUwMDI2c2V0X21vY2tfaWRfYXNfZXhwZWN0ZWRfY29udGVudF9iaW5kaW5nXHUwMDNkXHUwMDI2c2hlbGxfbG9hZF9nY2ZcdTAwM2R0cnVlXHUwMDI2c2hvcnRlbl9pbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0XHUwMDNkdHJ1ZVx1MDAyNnNob3J0c19tb2RlX3RvX3BsYXllcl9hcGlcdTAwM2R0cnVlXHUwMDI2c2hvdWxkX2F0dHJpYnV0ZV90b193YXRjaF93aXRoX3NvdXJjZVx1MDAzZFtdXHUwMDI2c2hvdWxkX2F0dHJpYnV0ZV92aWV3c190b193YXRjaF93aXRoX3NvdXJjZVx1MDAzZHRydWVcdTAwMjZzaW1wbHlfZW1iZWRkZWRfZW5hYmxlX2JvdGd1YXJkXHUwMDNkdHJ1ZVx1MDAyNnNsb3dfY29tcHJlc3Npb25zX2JlZm9yZV9hYmFuZG9uX2NvdW50XHUwMDNkNFx1MDAyNnNtYWxsX2F2YXRhcnNfZm9yX2NvbW1lbnRzXHUwMDNkdHJ1ZVx1MDAyNnNtYXJ0X3NraXBfd2ViX3BsYXllcl9iYXJfbWluX2hvdmVyX2xlbmd0aF9taWxsaXNlY29uZHNcdTAwM2QxMDAwXHUwMDI2c21hcnRlcl92ZV9kZWR1cHBpbmdcdTAwM2R0cnVlXHUwMDI2c3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwXHUwMDNkMTBcdTAwMjZzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlXHUwMDNkMi4wXHUwMDI2c3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tc1x1MDAzZDUwMFx1MDAyNnN0b3BfaGFuZGxpbmdfY2xpY2tfZm9yX25vbl9yZW5kZXJpbmdfb3ZlcmxheV9sYXlvdXRcdTAwM2R0cnVlXHUwMDI2c3RyZWFtaW5nX2RhdGFfZW1lcmdlbmN5X2l0YWdfYmxhY2tsaXN0XHUwMDNkW11cdTAwMjZzdWJzdGl0dXRlX2FkX2Nwbl9tYWNyb19pbl9zc2RhaVx1MDAzZHRydWVcdTAwMjZzdXBwcmVzc19lcnJvcl8yMDRfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZ0cmltX2FkYXB0aXZlX2Zvcm1hdHNfc2lnbmF0dXJlX2NpcGhlcl9mb3Jfc2Ficl9jb250ZW50XHUwMDNkdHJ1ZVx1MDAyNnR2aHRtbDVfdW5wbHVnZ2VkX3ByZWxvYWRfY2FjaGVfc2l6ZVx1MDAzZDVcdTAwMjZ1c2VfY3VlX3JhbmdlX21hcmtlcl9wb3NpdGlvblx1MDAzZHRydWVcdTAwMjZ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXJcdTAwM2R0cnVlXHUwMDI2dXNlX2V4dHJhX3JlYWRhaGVhZF9ub3JtYWxfbGF0ZW5jeV9mcmFtZV9sZXZlbF9zdHJlYW1pbmdfaW5fYmFja2VuZF9leHBlcmltZW50XHUwMDNkWzQ1Nzk3MTUxXVx1MDAyNnVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZ1c2VfZ2VuZXJhdGVkX21lZGlhX2tleXNfaW5fZmFpcnBsYXlfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2dXNlX2lubGluZWRfcGxheWVyX3JwY1x1MDAzZHRydWVcdTAwMjZ1c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNnVzZV9wbGF5YWJpbGl0eV9yZXN1bHRfZm9yX2Nhbl9wbGF5X3N0YXR1c1x1MDAzZHRydWVcdTAwMjZ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfcnRhX2Zvcl9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2dXNlX3Nlc3Npb25fYmFzZWRfc2FtcGxpbmdcdTAwM2R0cnVlXHUwMDI2dXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlXHUwMDNkdHJ1ZVx1MDAyNnZhcmlhYmxlX2J1ZmZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNnZwOV9kcm1fbGl2ZVx1MDAzZHRydWVcdTAwMjZ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnZzc191c2VfcG9zdF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNndlYl9hcGlfdXJsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGVcdTAwM2Q1MDAuMFx1MDAyNndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNndlYl9idXR0b25fdm1fcmVmYWN0b3JfZGlzYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlXHUwMDNkXHUwMDI2d2ViX2NvbGxlY3Rfb2ZmbGluZV9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9kZWR1cGVfdmVfZ3JhZnRpbmdcdTAwM2R0cnVlXHUwMDI2d2ViX2Rpc2FibGVfY2FwdGlvbl9vcGFjaXR5X2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZGlzYWJsZV9jaGlwX3ZpZXdfbW9kZWxfbXV0YXRpb25cdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9hYl9yc3BfY2xcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9jYXB0aW9uX2xhbmd1YWdlX3ByZWZlcmVuY2Vfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2NhcHRpb25zX3NldF90YXJnZXRfY29udGFpbmVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9lcnJvcl8yMDRcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9rZXlib2FyZF9zaG9ydGN1dF9mb3JfdGltZWx5X2FjdGlvbnNcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9sYXp5X2Nzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3Nob3BwaW5nX3RpbWVseV9zaGVsZl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9zbWFsbF9zcGVlZG1hc3Rlclx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3RpbWVseV9hY3Rpb25zXHUwMDNkdHJ1ZVx1MDAyNndlYl9maXhfZmluZV9zY3J1YmJpbmdfZmFsc2VfcGxheVx1MDAzZHRydWVcdTAwMjZ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXNcdTAwM2QyODAwMFx1MDAyNndlYl9mdWxsc2NyZWVuX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZnVsbHNjcmVlbl9zaG9ydHNfbWVudV9pdGVtXHUwMDNkdHJ1ZVx1MDAyNndlYl9nY2ZfaGFzaGVzX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZ3ZWJfZ2VsX2RlYm91bmNlX21zXHUwMDNkMTAwMDBcdTAwMjZ3ZWJfZ2VsX3RpbWVvdXRfY2FwXHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX25leHRfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX3dhdGNoX2luZm9fZW1wdHlcdTAwM2R0cnVlXHUwMDI2d2ViX2hpZGVfeW91cl9kYXRhX29uX2F1dG9tb3RpdmVcdTAwM2R0cnVlXHUwMDI2d2ViX2xvYWRfcHJlZGljdGlvbl90aHJlc2hvbGRcdTAwM2QwLjNcdTAwMjZ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2hcdTAwM2QxMDBcdTAwMjZ3ZWJfbWF4X3RyYWNpbmdfZXZlbnRzXHUwMDNkNTBcdTAwMjZ3ZWJfbW9ub21lcl93ZWJfY29tcG9uZW50X3dyYXBwZXJfaGFuZGxlX2Vycm9yc1x1MDAzZHRydWVcdTAwMjZ3ZWJfbmF2aWdhdGlvbl9wcmVkaWN0aW9uX3RocmVzaG9sZFx1MDAzZDAuMVx1MDAyNndlYl9ub25fbmF2aWdhdGluZ19hdGFnXHUwMDNkdHJ1ZVx1MDAyNndlYl9vcF9zaWduYWxfdHlwZV9iYW5saXN0XHUwMDNkW11cdTAwMjZ3ZWJfcGxheWJhY2tfYXNzb2NpYXRlZF92ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2FwaV9sb2dnaW5nX2ZyYWN0aW9uXHUwMDNkMC4wMVx1MDAyNndlYl9wbGF5ZXJfYmlnX21vZGVfc2NyZWVuX3dpZHRoX2N1dG9mZlx1MDAzZDQwMDFcdTAwMjZ3ZWJfcGxheWVyX2RlZmF1bHRfcGVla2luZ19weFx1MDAzZDM2XHUwMDI2d2ViX3BsYXllcl9kaXNhYmxlX2dyaWRfb25fb2ZmbGluZV9zbGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2VuYWJsZV9mZWF0dXJlZF9wcm9kdWN0X2Jhbm5lcl9leGNsdXNpdmVzX29uX2Rlc2t0b3BcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9lbmFibGVfZmVhdHVyZWRfcHJvZHVjdF9iYW5uZXJfcHJvbW90aW9uX3RleHRfb25fZGVza3RvcFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2Zyb3N0ZWRfZ2xhc3NfYmx1cl9yYWRpdXNcdTAwM2QxNlx1MDAyNndlYl9wbGF5ZXJfZnJvc3RlZF9nbGFzc19ibHVyX3JhZGl1c19mbG9hdFx1MDAzZDE2LjBcdTAwMjZ3ZWJfcGxheWVyX2lubmVydHViZV9wbGF5bGlzdF91cGRhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9pbnZpc2libGVfZnVsbHNjcmVlbl9idXR0b25cdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9pcHBfY2FuYXJ5X3R5cGVfZm9yX2xvZ2dpbmdcdTAwM2RcdTAwMjZ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtc1x1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX21pbmlwbGF5ZXJfaW5fY29udGV4dF9tZW51XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbW91c2VfaWRsZV93YWl0X3RpbWVfbXNcdTAwM2QzMDAwXHUwMDI2d2ViX3BsYXllcl9tdXNpY192aXN1YWxpemVyX3RyZWF0bWVudFx1MDAzZGZha2VcdTAwMjZ3ZWJfcGxheWVyX29mZmxpbmVfcGxheWxpc3RfYXV0b19yZWZyZXNoXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcGxheWFibGVfc2VxdWVuY2VzX3JlZmFjdG9yXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcXVpY2tfaGlkZV90aW1lb3V0X21zXHUwMDNkMjUwXHUwMDI2d2ViX3BsYXllcl9zZWVrX2NoYXB0ZXJzX2J5X3Nob3J0Y3V0XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2FkZGl0aW9uYWxfYXJyb3dfdGhyZXNob2xkXHUwMDNkMjAwXHUwMDI2d2ViX3BsYXllcl9zZWVrX292ZXJsYXlfZHVyYXRpb25fYnVtcF9zY2FsZVx1MDAzZDAuOVx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2xpbmdlcl9kdXJhdGlvblx1MDAzZDEwMDBcdTAwMjZ3ZWJfcGxheWVyX3NlbnRpbmVsX2lzX3VuaXBsYXllclx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3Nob3dfbXVzaWNfaW5fdGhpc192aWRlb19ncmFwaGljXHUwMDNkdmlkZW9fdGh1bWJuYWlsXHUwMDI2d2ViX3BsYXllcl9zc19kYWlfYWRfZmV0Y2hpbmdfdGltZW91dF9tc1x1MDAzZDE1MDAwXHUwMDI2d2ViX3BsYXllcl90b3VjaF9pZGxlX3dhaXRfdGltZV9tc1x1MDAzZDQwMDBcdTAwMjZ3ZWJfcGxheWVyX3RyYW5zZmVyX3RpbWVvdXRfdGhyZXNob2xkX21zXHUwMDNkMTA4MDAwMDBcdTAwMjZ3ZWJfcGxheWVyX3VwZGF0ZWRfZW50cnlwb2ludFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9jaW5lbWF0aWNfbGFiZWxfMlx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9uZXdfYXBpX2Zvcl9xdWFsaXR5X3B1bGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdXNlX3NjcmVlbl93aWR0aF9mb3JfYmlnX21vZGVcdTAwM2R0cnVlXHUwMDI2d2ViX3ByZWZldGNoX3ByZWxvYWRfdmlkZW9cdTAwM2R0cnVlXHUwMDI2d2ViX3Byb2dyZXNzX2Jhcl9kcmFnZ2FibGVcdTAwM2R0cnVlXHUwMDI2d2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9yZW1peF9hbGxvd191cF90b18zeF9wbGF5YmFja19yYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9yZW1vdmVfYnJva2VuX3N1YnNjcmliZV9lbmRzY3JlZW5cdTAwM2R0cnVlXHUwMDI2d2ViX3Nlc3Npb25fcmVwbGF5X21vdXNlbW92ZV9pbnRlcnZhbFx1MDAzZDBcdTAwMjZ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2Nyb2xsX2ludGVydmFsXHUwMDNkMFx1MDAyNndlYl9zZXNzaW9uX3JlcGxheV9zZW5kX2FmdGVyX3RpbWVvdXRcdTAwM2QwXHUwMDI2d2ViX3NldHRpbmdzX21lbnVfc3VyZmFjZV9jdXN0b21fcGxheWJhY2tcdTAwM2R0cnVlXHUwMDI2d2ViX3NldHRpbmdzX3VzZV9pbnB1dF9zbGlkZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3Nob3J0c19hdWRpb190cmFja19waWNrZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3RyYWNpbmdfZW5hYmxlZF9zcGFuc1x1MDAzZFtldmVudCwgY29tbWFuZF1cdTAwMjZ3ZWJfdHJhY2luZ19zZXNzaW9uX3JlcGxheVx1MDAzZDBcdTAwMjZ3ZWJfdW5pZmllZF9mZXRjaFx1MDAzZHRydWVcdTAwMjZ3ZWJfd2F0Y2hfZGlzYWJsZV9hY2NvdW50X2xldmVsX2NhcHRpb25zX3NldHRpbmdzXHUwMDNkdHJ1ZVx1MDAyNndlYnBvX2V4aXRfb25fbmV0X2Vyclx1MDAzZHRydWVcdTAwMjZ3aWxfaWNvbl9tYXhfY29uY3VycmVudF9mZXRjaGVzXHUwMDNkOTk5OVx1MDAyNndpel9kaWZmX292ZXJ3cml0YWJsZVx1MDAzZHRydWVcdTAwMjZ3aXpfd3JhcHBlcl9jYWxsYmFja19wcm9wc19maXhcdTAwM2R0cnVlXHUwMDI2d29mZmxlX2VuYWJsZV9kb3dubG9hZF9zdGF0dXNcdTAwM2R0cnVlXHUwMDI2d3JpdGVfcmVsb2FkX3BsYXllcl9yZXNwb25zZV90b2tlbl90b191c3RyZWFtZXJfY29uZmlnX2Zvcl92b2RcdTAwM2R0cnVlXHUwMDI2d3NfYXYxX21heF9oZWlnaHRfZmxvb3JcdTAwM2QwXHUwMDI2d3NfYXYxX21heF93aWR0aF9mbG9vclx1MDAzZDBcdTAwMjZ3c191c2VfY2VudHJhbGl6ZWRfaHFhX2ZpbHRlclx1MDAzZHRydWVcdTAwMjZ3dWdfbmV0d29ya2luZ19nemlwX3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2eXRjc2lfZGVidWdfbWF4X3NpemVcdTAwM2QxMDBcdTAwMjZ5dGlkYl9yZW1ha2VfZGJfcmV0cmllc1x1MDAzZDFcdTAwMjZ5dGlkYl9yZW9wZW5fZGJfcmV0cmllc1x1MDAzZDBcdTAwMjZ5dGlkYl90cmFuc2FjdGlvbl9lbmRlZF9ldmVudF9yYXRlX2xpbWl0XHUwMDNkMC4wMiIsInN0YXJ0TXV0ZWQiOmZhbHNlLCJtb2JpbGVJcGhvbmVTdXBwb3J0c0lubGluZVBsYXliYWNrIjp0cnVlLCJpc01vYmlsZURldmljZSI6ZmFsc2UsImNzcE5vbmNlIjoiVklxM1FMREd6bHVpbGVUX3dYODh6QSIsImNhbmFyeVN0YXRlIjoibm9uZSIsImVuYWJsZUNzaUxvZ2dpbmciOnRydWUsImxvYWRlclVybCI6Imh0dHBzOi8vaWZ4YnJva2VydHJhZGVzLmNvLnphLyIsImRpc2FibGVBdXRvbmF2IjpmYWxzZSwiaXNFbWJlZCI6dHJ1ZSwiZGlzYWJsZUNhc3RBcGkiOmZhbHNlLCJzZXJpYWxpemVkRW1iZWRDb25maWciOiJ7fSIsImRpc2FibGVNZHhDYXN0IjpmYWxzZSwiZGF0YXN5bmNJZCI6IlZhM2I3MjlhZXx8Iiwic3RvcmVVc2VyVm9sdW1lIjp0cnVlLCJkaXNhYmxlUGFpZENvbnRlbnRPdmVybGF5Ijp0cnVlLCJlbmNyeXB0ZWRIb3N0RmxhZ3MiOiJBQ21ibEJYYlFDQ2tpNGI2RzktZUhzZHBfTnBfWmotSWc4eXJkTXJSZ1dJSk8zbzVqajRnQkVSNko1ME0tNTZBWVk2ajBxdXFUTjhYU1BFNXFwZnVqMU5HTHhaaG43Q0N1LXROeEdSUERseHJWd3l5VS04NHZtc0pGYlhwREZPcWMtTVNtZyIsImNhbmFyeVN0YWdlIjoiIiwidHJ1c3RlZEpzVXJsIjp7InByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSI6Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIn0sInRydXN0ZWRDc3NVcmwiOnsicHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlIjoiL3MvcGxheWVyLzdhNzk2OWMyL3d3dy1wbGF5ZXIuY3NzIn0sImhvdXNlQnJhbmRVc2VyU3RhdHVzIjoibm90X3ByZXNlbnQiLCJlbWJlZHNFbmFibGVFbWMzZHMiOnRydWUsImRpc2FibGVPcmdhbmljVWkiOnRydWUsImVuYWJsZVNhYnJPbkVtYmVkIjpmYWxzZSwic2VyaWFsaXplZENsaWVudEV4cGVyaW1lbnRGbGFncyI6IjQ1NzE4MTc1XHUwMDNkMC4wXHUwMDI2NDU3MTgxNzZcdTAwM2QwLjAxXHUwMDI2NDU3MjU1MzhcdTAwM2QwLjBcdTAwMjY0NTcyNTUzOVx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQwXHUwMDNkMC4wXHUwMDI2NDU3MjU1NDFcdTAwM2QwLjBcdTAwMjY0NTcyNTU0Mlx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQzXHUwMDNkMC4wXHUwMDI2NDU3Mjg1NTNcdTAwM2R0cnVlXHUwMDI2NDU3Mjg1NzJcdTAwM2R0cnVlXHUwMDI2NDU3MjkyMTVcdTAwM2R0cnVlXHUwMDI2NDU3MzI3MDRcdTAwM2R0cnVlXHUwMDI2NDU3MzI3OTFcdTAwM2R0cnVlXHUwMDI2NDU3MzU0MjhcdTAwM2Q0MDAwLjBcdTAwMjY0NTczNzQ4OFx1MDAzZDAuMFx1MDAyNjQ1NzM3NDg5XHUwMDNkMC4wXHUwMDI2NDU3MzkwMjNcdTAwM2QwLjBcdTAwMjY0NTczOTE5OFx1MDAzZHRydWVcdTAwMjY0NTc0MTMzOVx1MDAzZDAuMFx1MDAyNjQ1NzQxNzczXHUwMDNkMC4wXHUwMDI2NDU3NDMyMjhcdTAwM2QwLjBcdTAwMjY0NTc0NTYxMFx1MDAzZHRydWVcdTAwMjY0NTc0Njk2Nlx1MDAzZDAuMFx1MDAyNjQ1NzQ2OTY3XHUwMDNkMC4wXHUwMDI2NDU3NDcwNTNcdTAwM2QwLjBcdTAwMjY0NTc1MDk0N1x1MDAzZDEwMjQwXHUwMDI2NDU3NTYyMDFcdTAwM2R0cnVlXHUwMDI2NDU3NTY4NzJcdTAwM2QwLjBcdTAwMjY0NTc1NzQyNlx1MDAzZDAuMFx1MDAyNjQ1NzU3NDI3XHUwMDNkMC4wXHUwMDI2NDU3NTc3NTBcdTAwM2QwLjBcdTAwMjY0NTc1Nzk1N1x1MDAzZDAuMFx1MDAyNjQ1NzU4NDY3XHUwMDNkMC4wXHUwMDI2NDU3NjAwMThcdTAwM2R0cnVlXHUwMDI2NDU3NjE3NjBcdTAwM2QyMDBcdTAwMjY0NTc2MjgzOFx1MDAzZDBcdTAwMjY0NTc2NDIxN1x1MDAzZDAuMFx1MDAyNjQ1NzY0MjUyXHUwMDNkMC4wXHUwMDI2NDU3NjQ1MjNcdTAwM2QwLjBcdTAwMjY0NTc2NDUyNFx1MDAzZDAuMFx1MDAyNjQ1NzY0NTkzXHUwMDNkMC4wXHUwMDI2NDU3NjUwNzdcdTAwM2R0cnVlXHUwMDI2NDU3NjU1NjhcdTAwM2QwLjBcdTAwMjY0NTc2NTYwMlx1MDAzZDAuMFx1MDAyNjQ1NzY1NjgwXHUwMDNkdHJ1ZVx1MDAyNjQ1NzY2NTExXHUwMDNkdHJ1ZVx1MDAyNjQ1NzY3NzYzXHUwMDNkMC4wXHUwMDI2NDU3Njc5NDNcdTAwM2QwLjBcdTAwMjY0NTc2ODM0MFx1MDAzZDAuMFx1MDAyNjQ1NzY4NDMwXHUwMDNkMC4wXHUwMDI2NDU3NjkxMTlcdTAwM2R0cnVlXHUwMDI2NDU3NjkyMTRcdTAwM2QwLjBcdTAwMjY0NTc3MDAwMVx1MDAzZDAuMFx1MDAyNjQ1NzcwMDAyXHUwMDNkMC4wXHUwMDI2NDU3NzAxMzVcdTAwM2R0cnVlXHUwMDI2NDU3NzEyODhcdTAwM2R0cnVlXHUwMDI2NDU3NzE4OTBcdTAwM2QwLjBcdTAwMjY0NTc3MzYwM1x1MDAzZDAuMFx1MDAyNjQ1NzczNjA0XHUwMDNkMC4wXHUwMDI2NDU3NzU3NTdcdTAwM2R0cnVlXHUwMDI2NDU3NzU3OTFcdTAwM2QwLjBcdTAwMjY0NTc3NTc5Mlx1MDAzZDAuMFx1MDAyNjQ1Nzc2MTkwXHUwMDNkMC4wXHUwMDI2NDU3Nzg2NjNcdTAwM2QwLjBcdTAwMjY0NTc3ODY3MVx1MDAzZDAuMFx1MDAyNjQ1NzgzODc1XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzg0NDM5XHUwMDNkMFx1MDAyNjQ1Nzg2NDQzXHUwMDNkMC4wXHUwMDI2NDU3ODc5NDhcdTAwM2R0cnVlXHUwMDI2NDU3ODk0NzRcdTAwM2R0cnVlXHUwMDI2NDU3OTExMTdcdTAwM2QwLjBcdTAwMjY0NTc5MTExOFx1MDAzZDAuMFx1MDAyNjQ1NzkxMTE5XHUwMDNkMC4wXHUwMDI2NDU3OTM3MTBcdTAwM2QwLjBcdTAwMjY0NTc5NDQ0MVx1MDAzZDAuMFx1MDAyNjQ1Nzk0ODY3XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzk3NzIxXHUwMDNkdHJ1ZVx1MDAyNjQ1Nzk3OTYzXHUwMDNkMC4wXHUwMDI2NDU4MDIxMjNcdTAwM2QwLjBcdTAwMjY0NTgwMzc1NFx1MDAzZDAuMFx1MDAyNjQ1ODA0NzcxXHUwMDNkMC4wXHUwMDI2NDU4MDU2OTVcdTAwM2QwLjBcdTAwMjY0NTgwNjU1NVx1MDAzZDJcdTAwMjY0NTgwNzQzMlx1MDAzZDAuMFx1MDAyNjQ1ODA3NDg0XHUwMDNkXHUwMDI2NDU4MDc3NzFcdTAwM2QwLjBcdTAwMjY0NTgwNzc3Mlx1MDAzZDAuMFx1MDAyNjQ1ODA3NzczXHUwMDNkMC4wXHUwMDI2NDU4MDg3NjJcdTAwM2QwXHUwMDI2NDU4MTQ0ODBcdTAwM2R0cnVlXHUwMDI2NDU4MTUwMTFcdTAwM2QwLjBcdTAwMjY0NTgxNTYzMFx1MDAzZDBcdTAwMjY0NTgxNjg4OFx1MDAzZDAuMFx1MDAyNjQ1ODE4MTI4XHUwMDNkMC4wIn19LCJYU1JGX0ZJRUxEX05BTUUiOiJzZXNzaW9uX3Rva2VuIiwiWFNSRl9UT0tFTiI6IlFVTTRabTlyVTBOWmNsOHRWMmh2WlZaWlkyNXZlRk5xWWpGTlVIeEJSM0ppUzJGdWRIRjFUa295WVVzelJsVkhhak14VVdVeGExUnlOV0Z0WmxoQmNrcG1VbFpOYzNOblpYSm5SMlY1UTA1ZmRrUjRSV3BxZEdRMU1FaEVkWFJFVTNodWRGZGFhM1JNTkZWbVltaFhRbTFGUTNKclpWaGxlVVZoVDB4WGVYY1x1MDAzZCIsIlNFUlZFUl9WRVJTSU9OIjoicHJvZCIsIkRBVEFTWU5DX0lEIjoiVmEzYjcyOWFlfHwiLCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSI6IkNLLVBuTk1HRU1uMmdCTVF5dnVBRXhEZXZNNGNFTGpremh3UW50Q3dCUkNKNU5FY0VNR1AwQndRbVkyeEJSQ0RoN2dpRVBhcnNBVVEtZkxSSEJEZ3Q5RWNFTXpmcmdVUTJ2Zk9IQkFBRUwyWnNBVVFfTExPSEJDOWlyQUZFSTZRMFJ3UThiVFFIQkN1MXM4Y0VJcUh1Q0lRdm9UUkhCQzItSUFURUpYdjBSd1FwS25SSEJDZGhyZ2lFSW13emh3UTRPclJIQkR3M3RFY0VJdjN6eHdROXZmUkhCQ2Z6NEFURUllc3pod1E2ZmpSSEJDQnpjNGNFTG53MFJ3UWh1R0FFeEM5dHE0RkVJaVEwUndRdktUUUhCREhfSUFURVBmRWdCTVE3TTNRSEJEMTZkRWNLbkJEUVUxVFZIaFdUUzFhY1MxRVRXVlZSWEJWUTI1Qk56VkdXRXRxUW5WRlYzRk9WVkI1UVUxTk0zY3pZMEoxVVVjM2QxUndkbVZyVEUxeFEzTkNRVTlSY21kUU4wcHlZbXRDZFZOR1JqbEVUVUp6VTFOQ1kzTTVlRk5tV2pGUldHTk1UMXBITVdFM2RraDBjMGRJVVdNOU1BQSUzRCIsIlJPT1RfVkVfVFlQRSI6MTY2MjMsIkNMSUVOVF9QUk9UT0NPTCI6ImgzIiwiQ0xJRU5UX1RSQU5TUE9SVCI6InF1aWMiLCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iOiIxLjIwMjYwNzIxLjA4LjAwIiwiVElNRV9DUkVBVEVEX01TIjoxNzg1MTM3MDcxODQ5LCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiOlsieW91dHUuYmUiLCJ5b3V0dWJlLmNvbSIsInd3dy55b3V0dWJlLmNvbSIsIndlYi1ncmVlbi1xYS55b3V0dWJlLmNvbSIsIndlYi1yZWxlYXNlLXFhLnlvdXR1YmUuY29tIiwid2ViLWludGVncmF0aW9uLXFhLnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSIsIm13ZWItZ3JlZW4tcWEueW91dHViZS5jb20iLCJtd2ViLXJlbGVhc2UtcWEueW91dHViZS5jb20iLCJtd2ViLWludGVncmF0aW9uLXFhLnlvdXR1YmUuY29tIiwic3R1ZGlvLnlvdXR1YmUuY29tIiwic3R1ZGlvLWdyZWVuLXFhLnlvdXR1YmUuY29tIiwic3R1ZGlvLWludGVncmF0aW9uLXFhLnlvdXR1YmUuY29tIl0sIkxPVFRJRV9VUkwiOnsicHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlIjoiL3MvZW1iZWRzLzMyZDJhYzgzL2xvdHRpZS1saWdodC52ZmxzZXQvbG90dGllLWxpZ2h0LmpzIn0sIklERU5USVRZX01FTUVOVE8iOnsidmlzaXRvcl9kYXRhIjoiQ2d0VlZWVnRTbk5HY0dRMFl5aXZqNXpUQmpJb0NnSk9UeElpRWg0U0hBc01EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY2dDMkxmQWdyY0FqSXdMbGxVUFhGSlJGZFNVMDFvVEZoRmQyaFNUelI0UlZSQlZGRlFVak5xZGxGNVdtODFWRFJvTVZOcFJIZEtXa1psVVVGQ2MzWmZWRFZ5V1dOTlZFeDVZV05rWm5SUlpURklSblZVVVZscVEzaHNaRzVXY0Zwd056UldXVUpOZGw5eVZWWjNaMDlLTlVoVmQyczNiVE5LU1hWRFpEbGFSelV5V1VVNGFHdzNiM05zYkZWSllVdFNNbXh0TWxWdlpqVmhRelk0TkZaV05XUnNVVk16YTIxYVFuWTFjVlp2VlUxVVQzcHpSM0ZRWldoTlZERkxhbXRvZVVwTWVFeDBkbWxuWlRWeFNFYzROekp3WDNCTVIydHRSVkpIYURCaWJXbExRazFRTjFwYVJFeFJiM1JwU2pGTFRVNVVhSGgxYkdkVExVVkVSR2xoTldvMlNIbHJlR00yZDNKZlFXODNPSEpXUnpaWVIyeHpObkJsV0dVMmFVRkJTWGwyVFU1aFZIbzRRM0JmT1MxSE0yOXJjRFpyZUVOSmRVNUtTMjFtVUhGMk5GODJhelExTFU1QmVFcFFjV1pDU0ZKTVYzcEdRWEEwYzJSaE5pMWpZMkZCUVElM0QlM0QifSwiTVdFQl9TVVBQT1JUU19ET1VCTEVfVEFQX1RPX1NFRUsiOnRydWUsIlBMQVlFUl9WQVJTIjp7ImVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSI6IntcInJlc3BvbnNlQ29udGV4dFwiOntcInNlcnZpY2VUcmFja2luZ1BhcmFtc1wiOlt7XCJzZXJ2aWNlXCI6XCJDU0lcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNcIixcInZhbHVlXCI6XCJXRUJfRU1CRURERURfUExBWUVSXCJ9LHtcImtleVwiOlwiY3ZlclwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjQuMDEuMDBcIn0se1wia2V5XCI6XCJ5dF9saVwiLFwidmFsdWVcIjpcIjBcIn0se1wia2V5XCI6XCJHZXRFbWJlZGRlZFBsYXllcl9yaWRcIixcInZhbHVlXCI6XCIweDhhMDFiMzhjNThjYWIwZTJcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHRkVFREJBQ0tcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHVUlERURfSEVMUFwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkVDQVRDSEVSXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjbGllbnQudmVyc2lvblwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjRcIn0se1wia2V5XCI6XCJjbGllbnQubmFtZVwiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn1dfV0sXCJyZXNwb25zZUlkXCI6XCJJaE1JcWZ5cjZLbnlsUU1WUjVqMEJ4MUdmUnp1XCIsXCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXCI6e1wiaGFzRGVjb3JhdGVkXCI6dHJ1ZX19LFwiZW1iZWRQcmV2aWV3XCI6e1widGh1bWJuYWlsUHJldmlld1JlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIkRpZmZlcmVudCBUeXBlcyBvZiBDcnlwdG8gVHJhZGluZyBFeHBsYWluZWQgZm9yIEJlZ2lubmVycyAoQW5pbWF0ZWQpXCJ9XX0sXCJkZWZhdWx0VGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC90cDZ1Ri1iUEc2RS9kZWZhdWx0LndlYnBcIixcIndpZHRoXCI6MTIwLFwiaGVpZ2h0XCI6OTB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS90cDZ1Ri1iUEc2RS9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0ViQ0tnQkVGNUlWZktyaXFrRERnZ0JGUUFBaUVJWUFYQUJ3QUVHXFx1MDAyNnJzXHUwMDNkQU9uNENMREVUMmpjV200eUJwcGVoQ3oxNldvRU8tZTRfd1wiLFwid2lkdGhcIjoxNjgsXCJoZWlnaHRcIjo5NH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL3RwNnVGLWJQRzZFL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWJDTVFCRUc1SVZmS3JpcWtERGdnQkZRQUFpRUlZQVhBQndBRUdcXHUwMDI2cnNcdTAwM2RBT240Q0xCTFZQaVR3YVVQc0hPSTJ6NVpwNU4wYUtuaVRRXCIsXCJ3aWR0aFwiOjE5NixcImhlaWdodFwiOjExMH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL3RwNnVGLWJQRzZFL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWNDUFlCRUlvQlNGWHlxNHFwQXc0SUFSVUFBSWhDR0FGd0FjQUJCZ1x1MDAzZFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTEJHUmE3QUdRNFEzajlhV1JhSERKQk1ySEx2cHdcIixcIndpZHRoXCI6MjQ2LFwiaGVpZ2h0XCI6MTM4fSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC90cDZ1Ri1iUEc2RS9tcWRlZmF1bHQud2VicFwiLFwid2lkdGhcIjozMjAsXCJoZWlnaHRcIjoxODB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS90cDZ1Ri1iUEc2RS9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VjQ05BQ0VMd0JTRlh5cTRxcEF3NElBUlVBQUloQ0dBRndBY0FCQmdcdTAwM2RcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xCYUtYNGdCdVZPNUtmVUJJMTdsMU1qNHJzZTZRXCIsXCJ3aWR0aFwiOjMzNixcImhlaWdodFwiOjE4OH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpX3dlYnAvdHA2dUYtYlBHNkUvaHFkZWZhdWx0LndlYnBcIixcIndpZHRoXCI6NDgwLFwiaGVpZ2h0XCI6MzYwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC90cDZ1Ri1iUEc2RS9zZGRlZmF1bHQud2VicFwiLFwid2lkdGhcIjo2NDAsXCJoZWlnaHRcIjo0ODB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aV93ZWJwL3RwNnVGLWJQRzZFL21heHJlc2RlZmF1bHQud2VicFwiLFwid2lkdGhcIjoxOTIwLFwiaGVpZ2h0XCI6MTA4MH1dfSxcInBsYXlCdXR0b25cIjp7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9ERUZBVUxUXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBY1E4RnNpRXdpcF9Ldm9xZktWQXhWSG1QUUhIVVo5SE83S0FRUmhJNk96XCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi93YXRjaD92XHUwMDNkdHA2dUYtYlBHNkVcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1dBVENIXCIsXCJyb290VmVcIjozODMyfX0sXCJ3YXRjaEVuZHBvaW50XCI6e1widmlkZW9JZFwiOlwidHA2dUYtYlBHNkVcIn19LFwiYWNjZXNzaWJpbGl0eVwiOntcImxhYmVsXCI6XCJQbGF5IERpZmZlcmVudCBUeXBlcyBvZiBDcnlwdG8gVHJhZGluZyBFeHBsYWluZWQgZm9yIEJlZ2lubmVycyAoQW5pbWF0ZWQpXCJ9LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBY1E4RnNpRXdpcF9Ldm9xZktWQXhWSG1QUUhIVVo5SE80XHUwMDNkXCJ9fSxcInZpZGVvRGV0YWlsc1wiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyXCI6e1wiY2hhbm5lbFRodW1ibmFpbFwiOntcInRodW1ibmFpbHNcIjpbe1widXJsXCI6XCJodHRwczovL3l0My5nZ3BodC5jb20vZGNrRzFSNktVcUo4V1RiNTdFYk9GYnQ0dzBiRDVtUUNULUhBRkxaSDZwVnI5V2NSMFZ3OF9fbzAyVXN6MjBPLWc3UkVNR09MOFI0XHUwMDNkczY4LWMtay1jMHgwMGZmZmZmZi1uby1yalwiLFwid2lkdGhcIjo2OCxcImhlaWdodFwiOjY4fV19LFwiY29sbGFwc2VkUmVuZGVyZXJcIjp7XCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNDb2xsYXBzZWRSZW5kZXJlclwiOntcInRpdGxlXCI6e1wicnVuc1wiOlt7XCJ0ZXh0XCI6XCJEaWZmZXJlbnQgVHlwZXMgb2YgQ3J5cHRvIFRyYWRpbmcgRXhwbGFpbmVkIGZvciBCZWdpbm5lcnMgKEFuaW1hdGVkKVwiLFwibmF2aWdhdGlvbkVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FZUTQ2SUNJaE1JcWZ5cjZLbnlsUU1WUjVqMEJ4MUdmUnp1eWdFRVlTT2pzd1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkdHA2dUYtYlBHNkVcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZHRwNnVGLWJQRzZFXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX1dfSxcInN1YnRpdGxlXCI6e1wicnVuc1wiOlt7XCJ0ZXh0XCI6XCIxNEsgdmlld3Mg4oCiIDMgY29tbWVudHNcIn1dfSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQVlRNDZJQ0loTUlxZnlyNktueWxRTVZSNWowQngxR2ZSenVcIn19LFwiZXhwYW5kZWRSZW5kZXJlclwiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXJcIjp7XCJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiQ3J5cHRvIFNxdWFyZVwifV19LFwic3VidGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIjIuODRLIHN1YnNjcmliZXJzXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FVUTVLSUNJaE1JcWZ5cjZLbnlsUU1WUjVqMEJ4MUdmUnp1XCJ9fSxcImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSXFmeXI2S255bFFNVlI1ajBCeDFHZlJ6dXlnRUVZU09qc3dcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiL2NoYW5uZWwvVUNzcXBIS2xzeHFQbXJJS2tjNFE3VURBXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcIi9jaGFubmVsL1VDc3FwSEtsc3hxUG1ySUtrYzRRN1VEQVwiLFwidGFyZ2V0XCI6XCJUQVJHRVRfTkVXX1dJTkRPV1wifX19fSxcInZpZGVvRHVyYXRpb25TZWNvbmRzXCI6XCIzNTRcIixcIndlYlBsYXllckFjdGlvbnNQb3J0aW5nXCI6e1wiZ2V0U2hhcmVQYW5lbENvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUlxZnlyNktueWxRTVZSNWowQngxR2ZSenV5Z0VFWVNPanN3XHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9zaGFyZS9nZXRfd2ViX3BsYXllcl9zaGFyZV9wYW5lbFwifX0sXCJ3ZWJQbGF5ZXJTaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludFwiOntcInNlcmlhbGl6ZWRTaGFyZUVudGl0eVwiOlwiQ2d0MGNEWjFSaTFpVUVjMlJRJTNEJTNEXCJ9fSxcInN1YnNjcmliZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUlxZnlyNktueWxRTVZSNWowQngxR2ZSenV5Z0VFWVNPanN3XHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJzZW5kUG9zdFwiOnRydWUsXCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9zdWJzY3JpcHRpb24vc3Vic2NyaWJlXCJ9fSxcInN1YnNjcmliZUVuZHBvaW50XCI6e1wiY2hhbm5lbElkc1wiOltcIlVDc3FwSEtsc3hxUG1ySUtrYzRRN1VEQVwiXSxcInBhcmFtc1wiOlwiRWdJSUJ4Z0FcIn19LFwidW5zdWJzY3JpYmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1JcWZ5cjZLbnlsUU1WUjVqMEJ4MUdmUnp1eWdFRVlTT2pzd1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wic2VuZFBvc3RcIjp0cnVlLFwiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvc3Vic2NyaXB0aW9uL3Vuc3Vic2NyaWJlXCJ9fSxcInVuc3Vic2NyaWJlRW5kcG9pbnRcIjp7XCJjaGFubmVsSWRzXCI6W1wiVUNzcXBIS2xzeHFQbXJJS2tjNFE3VURBXCJdLFwicGFyYW1zXCI6XCJDZ0lJQnhnQVwifX0sXCJhZGRUb1dhdGNoTGF0ZXJDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1JcWZ5cjZLbnlsUU1WUjVqMEJ4MUdmUnp1eWdFRVlTT2pzd1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvYnJvd3NlL2VkaXRfcGxheWxpc3RcIn19LFwicGxheWxpc3RFZGl0RW5kcG9pbnRcIjp7XCJwbGF5bGlzdElkXCI6XCJXTFwiLFwiYWN0aW9uc1wiOlt7XCJhZGRlZFZpZGVvSWRcIjpcInRwNnVGLWJQRzZFXCIsXCJhY3Rpb25cIjpcIkFDVElPTl9BRERfVklERU9cIn1dfX0sXCJyZW1vdmVGcm9tV2F0Y2hMYXRlckNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUlxZnlyNktueWxRTVZSNWowQngxR2ZSenV5Z0VFWVNPanN3XHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9icm93c2UvZWRpdF9wbGF5bGlzdFwifX0sXCJwbGF5bGlzdEVkaXRFbmRwb2ludFwiOntcInBsYXlsaXN0SWRcIjpcIldMXCIsXCJhY3Rpb25zXCI6W3tcImFjdGlvblwiOlwiQUNUSU9OX1JFTU9WRV9WSURFT19CWV9WSURFT19JRFwiLFwicmVtb3ZlZFZpZGVvSWRcIjpcInRwNnVGLWJQRzZFXCJ9XX19fSxcImFjdGlvbkJhckJ1dHRvbnNcIjpbe1wiYnV0dG9uUmVuZGVyZXJcIjp7XCJzdHlsZVwiOlwiU1RZTEVfT1BBQ0lUWVwiLFwic2l6ZVwiOlwiU0laRV9ERUZBVUxUXCIsXCJpc0Rpc2FibGVkXCI6ZmFsc2UsXCJpY29uXCI6e1wiaWNvblR5cGVcIjpcIlNIQVJFX0FSUk9XXCJ9LFwibmF2aWdhdGlvbkVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FRUS1OOEJHQUFpRXdpcF9Ldm9xZktWQXhWSG1QUUhIVVo5SE83S0FRUmhJNk96XCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJpZ25vcmVOYXZpZ2F0aW9uXCI6dHJ1ZX19LFwic2hhcmVFbnRpdHlFbmRwb2ludFwiOntcInNlcmlhbGl6ZWRTaGFyZUVudGl0eVwiOlwiQ2d0MGNEWjFSaTFpVUVjMlJRJTNEJTNEXCIsXCJzaGFyZVBhbmVsVHlwZVwiOlwiU0hBUkVfUEFORUxfVFlQRV9VTklGSUVEX1NIQVJFX1BBTkVMXCJ9fSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQVFRLU44QkdBQWlFd2lwX0t2b3FmS1ZBeFZIbVBRSEhVWjlITzRcdTAwM2RcIixcImFjY2Vzc2liaWxpdHlEYXRhXCI6e1wiYWNjZXNzaWJpbGl0eURhdGFcIjp7XCJsYWJlbFwiOlwiU2hhcmVcIn19fX0se1wiYnV0dG9uUmVuZGVyZXJcIjp7XCJzdHlsZVwiOlwiU1RZTEVfT1BBQ0lUWVwiLFwic2l6ZVwiOlwiU0laRV9ERUZBVUxUXCIsXCJpc0Rpc2FibGVkXCI6ZmFsc2UsXCJzZXJ2aWNlRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQU1RLWQ4QkdBRWlFd2lwX0t2b3FmS1ZBeFZIbVBRSEhVWjlITzdLQVFSaEk2T3pcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL2Jyb3dzZS9lZGl0X3BsYXlsaXN0XCJ9fSxcInBsYXlsaXN0RWRpdEVuZHBvaW50XCI6e1wicGxheWxpc3RJZFwiOlwiV0xcIixcImFjdGlvbnNcIjpbe1wiYWRkZWRWaWRlb0lkXCI6XCJ0cDZ1Ri1iUEc2RVwiLFwiYWN0aW9uXCI6XCJBQ1RJT05fQUREX1ZJREVPXCJ9XX19LFwiaWNvblwiOntcImljb25UeXBlXCI6XCJBRERfVE9fV0FUQ0hfTEFURVJcIn0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FNUS1kOEJHQUVpRXdpcF9Ldm9xZktWQXhWSG1QUUhIVVo5SE80XHUwMDNkXCIsXCJhY2Nlc3NpYmlsaXR5RGF0YVwiOntcImFjY2Vzc2liaWxpdHlEYXRhXCI6e1wibGFiZWxcIjpcIldhdGNoIGxhdGVyXCJ9fSxcImNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQU1RLWQ4QkdBRWlFd2lwX0t2b3FmS1ZBeFZIbVBRSEhVWjlITzdLQVFSaEk2T3pcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9zZXJ2aWNlXHUwMDNkeW91dHViZVxcdTAwMjZ1aWxlbFx1MDAzZDNcXHUwMDI2cGFzc2l2ZVx1MDAzZHRydWVcXHUwMDI2Y29udGludWVcdTAwM2RodHRwcyUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRnNpZ25pbiUzRmFjdGlvbl9oYW5kbGVfc2lnbmluJTNEdHJ1ZSUyNmhsJTNEZW4lMjZuZXh0JTNEJTI1MkZwb3N0X2xvZ2luXFx1MDAyNmhsXHUwMDNkZW5cIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJzaWduSW5FbmRwb2ludFwiOntcIm5leHRFbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBTVEtZDhCR0FFaUV3aXBfS3ZvcWZLVkF4VkhtUFFISFVaOUhPN0tBUVJoSTZPelwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCIvcG9zdF9sb2dpblwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCIvcG9zdF9sb2dpblwifX19fX19XSxcInF1aWNrQWN0aW9uc0JhclwiOntcInF1aWNrQWN0aW9uc1ZpZXdNb2RlbFwiOntcIndhdGNoT25Zb3V0dWJlQnV0dG9uXCI6e1wid2F0Y2hPbllvdXR1YmVCdXR0b25WaWV3TW9kZWxcIjp7XCJ3YXRjaE9uWXRMYWJlbEJ1dHRvblwiOntcImJ1dHRvblZpZXdNb2RlbFwiOntcIm9uVGFwXCI6e1wiaW5uZXJ0dWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBSVF5dk1GSWhNSXFmeXI2S255bFFNVlI1ajBCeDFHZlJ6dXlnRUVZU09qc3dcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZHRwNnVGLWJQRzZFXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2R0cDZ1Ri1iUEc2RVwiLFwidGFyZ2V0XCI6XCJUQVJHRVRfTkVXX1dJTkRPV1wifX19LFwiYWNjZXNzaWJpbGl0eVRleHRcIjpcIldhdGNoIG9uIFlvdVR1YmVcIixcInN0eWxlXCI6XCJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9PVkVSTEFZX0RBUktcIixcInRyYWNraW5nUGFyYW1zXCI6XCJDQUlReXZNRkloTUlxZnlyNktueWxRTVZSNWowQngxR2ZSenVcIixcInR5cGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVFwiLFwiYnV0dG9uU2l6ZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9MQVJHRVwiLFwidGl0bGVGb3JtYXR0ZWRcIjp7XCJjb250ZW50XCI6XCJXYXRjaCBvblwiLFwic3R5bGVSdW5zXCI6W3tcIndlaWdodExhYmVsXCI6XCJGT05UX1dFSUdIVF9USElOXCJ9XSxcImF0dGFjaG1lbnRSdW5zXCI6W3tcInN0YXJ0SW5kZXhcIjo4LFwibGVuZ3RoXCI6MCxcImVsZW1lbnRcIjp7XCJ0eXBlXCI6e1wiaW1hZ2VUeXBlXCI6e1wiaW1hZ2VcIjp7XCJzb3VyY2VzXCI6W3tcImNsaWVudFJlc291cmNlXCI6e1wiaW1hZ2VOYW1lXCI6XCJ3YXRlcm1hcmtcIn19XX19fSxcInByb3BlcnRpZXNcIjp7XCJsYXlvdXRQcm9wZXJ0aWVzXCI6e1wiaGVpZ2h0XCI6e1widmFsdWVcIjoyMCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwid2lkdGhcIjp7XCJ2YWx1ZVwiOjkwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJtYXJnaW5cIjp7XCJsZWZ0XCI6e1widmFsdWVcIjo1fX19fX0sXCJhbGlnbm1lbnRcIjpcIkFMSUdOTUVOVF9WRVJUSUNBTF9DRU5URVJcIn1dfX19LFwieXRMb2dvT25seUJ1dHRvblwiOntcImJ1dHRvblZpZXdNb2RlbFwiOntcIm9uVGFwXCI6e1wiaW5uZXJ0dWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBRVExdGNFSWhNSXFmeXI2S255bFFNVlI1ajBCeDFHZlJ6dXlnRUVZU09qc3dcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZHRwNnVGLWJQRzZFXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2R0cDZ1Ri1iUEc2RVwiLFwidGFyZ2V0XCI6XCJUQVJHRVRfTkVXX1dJTkRPV1wifX19LFwiYWNjZXNzaWJpbGl0eVRleHRcIjpcIldhdGNoIG9uIFlvdVR1YmVcIixcInN0eWxlXCI6XCJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PXCIsXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FFUTF0Y0VJaE1JcWZ5cjZLbnlsUU1WUjVqMEJ4MUdmUnp1XCIsXCJ0eXBlXCI6XCJCVVRUT05fVklFV19NT0RFTF9UWVBFX1RFWFRcIixcImJ1dHRvblNpemVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfQ09NUEFDVFwiLFwidGl0bGVGb3JtYXR0ZWRcIjp7XCJjb250ZW50XCI6XCIgXCIsXCJhdHRhY2htZW50UnVuc1wiOlt7XCJzdGFydEluZGV4XCI6MCxcImxlbmd0aFwiOjAsXCJlbGVtZW50XCI6e1widHlwZVwiOntcImltYWdlVHlwZVwiOntcImltYWdlXCI6e1wic291cmNlc1wiOlt7XCJjbGllbnRSZXNvdXJjZVwiOntcImltYWdlTmFtZVwiOlwid2F0ZXJtYXJrXCJ9fV19fX0sXCJwcm9wZXJ0aWVzXCI6e1wibGF5b3V0UHJvcGVydGllc1wiOntcImhlaWdodFwiOntcInZhbHVlXCI6MjAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIndpZHRoXCI6e1widmFsdWVcIjo5MCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwibWFyZ2luXCI6e1wibGVmdFwiOntcInZhbHVlXCI6NX19fX19LFwiYWxpZ25tZW50XCI6XCJBTElHTk1FTlRfVkVSVElDQUxfQ0VOVEVSXCJ9XX19fX19fX19fSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUlxZnlyNktueWxRTVZSNWowQngxR2ZSenV5Z0VFWVNPanN3XHUwMDNkXHUwMDNkXCIsXCJwZXJtaXNzaW9uc1wiOntcImFsbG93SW1hTW9uZXRpemF0aW9uXCI6ZmFsc2UsXCJhbGxvd1BmcFVuYnJhbmRlZFwiOmZhbHNlfSxcInZpZGVvRmxhZ3NcIjp7XCJwbGF5YWJsZUluRW1iZWRcIjp0cnVlLFwiaXNDcmF3bGFibGVcIjp0cnVlfSxcInByZXZpZXdQbGF5YWJpbGl0eVN0YXR1c1wiOntcInN0YXR1c1wiOlwiT0tcIixcInBsYXlhYmxlSW5FbWJlZFwiOnRydWUsXCJjb250ZXh0UGFyYW1zXCI6XCJRMEZGVTBGblowRVx1MDAzZFwifSxcImVtYmVkZGVkUGxheWVyTW9kZVwiOlwiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVFwiLFwiZW1iZWRkZWRQbGF5ZXJDb25maWdcIjp7XCJlbWJlZGRlZFBsYXllck1vZGVcIjpcIkVNQkVEREVEX1BMQVlFUl9NT0RFX0RFRkFVTFRcIixcImVtYmVkZGVkUGxheWVyRmxhZ3NcIjp7fX0sXCJlbWJlZGRlZFBsYXllckNvbnRleHRcIjp7XCJlbWJlZGRlZFBsYXllckVuY3J5cHRlZENvbnRleHRcIjpcIkFDbWJsQlhuSFVLcmxXcDRiNm9pUUZnRlNIUEpPb2tLYlM0U09kVDd5Z2lnSmlGcUlYbTZxaFhHZ3JjTzdVWDd5LVM3eU5xeTZjR3U3czYwZXpKMjd5NnM1R29KaXEzeW1zVnd3LXdPdkVSb21rMFdoRldpOHNaRng4dktTaXMwUkhwYmFHYW1WRFlcIixcImFuY2VzdG9yT3JpZ2luc1N1cHBvcnRlZFwiOmZhbHNlfX0iLCJ2aWRlb19pZCI6InRwNnVGLWJQRzZFIiwicmVzb2x2ZV91cmxfcmVzcG9uc2UiOiJ7XCJyZXNwb25zZUNvbnRleHRcIjp7XCJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNcIjpbe1wic2VydmljZVwiOlwiQ1NJXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifSx7XCJrZXlcIjpcImN2ZXJcIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0LjAxLjAwXCJ9LHtcImtleVwiOlwieXRfbGlcIixcInZhbHVlXCI6XCIwXCJ9LHtcImtleVwiOlwiUmVzb2x2ZVVybF9yaWRcIixcInZhbHVlXCI6XCIweDhhMDFiMzhjNThjYWIwZTJcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHRkVFREJBQ0tcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHVUlERURfSEVMUFwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkVDQVRDSEVSXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjbGllbnQudmVyc2lvblwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjRcIn0se1wia2V5XCI6XCJjbGllbnQubmFtZVwiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn1dfV0sXCJyZXNwb25zZUlkXCI6XCJJaE1JN01xcjZLbnlsUU1WTWhFZUJSMVZRVG1OXCIsXCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXCI6e1wiaGFzRGVjb3JhdGVkXCI6dHJ1ZX19LFwiZW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJJaE1JN01xcjZLbnlsUU1WTWhFZUJSMVZRVG1OTWdobGVIUmxjbTVoYk1vQkJHRWpvN01cdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOnt9fX0ifSwiUE9TVF9NRVNTQUdFX09SSUdJTiI6IioiLCJWSURFT19JRCI6InRwNnVGLWJQRzZFIiwiRE9NQUlOX0FETUlOX1NUQVRFIjoiIn0pO3dpbmRvdy55dGNmZy5vYmZ1c2NhdGVkRGF0YV8gPSBbXTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJWSXEzUUxER3psdWlsZVRfd1g4OHpBIj53aW5kb3cueXRBdFAgPSBuZXcgUHJvbWlzZShyZXMgPT4gd2luZG93Lnl0QXROID0gcmVzKTsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7d2luZG93Lnl0QXROKCk7IGRlbGV0ZSB3aW5kb3cueXRBdE47fSk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iVklxM1FMREd6bHVpbGVUX3dYODh6QSI+d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8dHJ1ZTt3aW5kb3cudW5oYW5kbGVkRXJyb3JNZXNzYWdlcz17fTsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24obXNnLHVybCxsaW5lLG9wdF9jb2x1bW5OdW1iZXIsb3B0X2Vycm9yKXt2YXIgZXJyO2lmKG9wdF9lcnJvcillcnI9b3B0X2Vycm9yO2Vsc2V7ZXJyPW5ldyBFcnJvcjtlcnIubWVzc2FnZT1tc2c7ZXJyLmZpbGVOYW1lPXVybDtlcnIubGluZU51bWJlcj1saW5lO2lmKCFpc05hTihvcHRfY29sdW1uTnVtYmVyKSllcnJbImNvbHVtbk51bWJlciJdPW9wdF9jb2x1bW5OdW1iZXJ9dmFyIG1lc3NhZ2U9U3RyaW5nKGVyci5tZXNzYWdlKTtpZighZXJyLm1lc3NhZ2V8fG1lc3NhZ2UgaW4gd2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXMpcmV0dXJuO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW21lc3NhZ2VdPXRydWU7dmFyIGltZz1uZXcgSW1hZ2U7d2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWc9aW1nO2ltZy5vbmxvYWQ9aW1nLm9uZXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgd2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWd9O3ZhciB2YWx1ZXM9CnsiY2xpZW50Lm5hbWUiOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSwiY2xpZW50LnZlcnNpb24iOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04iKSwibXNnIjptZXNzYWdlLCJ0eXBlIjoiVW5oYW5kbGVkV2luZG93IitlcnIubmFtZSwiZmlsZSI6ZXJyLmZpbGVOYW1lLCJsaW5lIjplcnIubGluZU51bWJlciwic3RhY2siOihlcnIuc3RhY2t8fCIiKS5zdWJzdHIoMCw1MDApfTt2YXIgcGFydHM9W3l0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiL2Vycm9yXzIwND90PWpzZXJyb3ImbGV2ZWw9RVJST1IiKV07dmFyIGtleTtmb3Ioa2V5IGluIHZhbHVlcyl7dmFyIHZhbHVlPXZhbHVlc1trZXldO2lmKHZhbHVlKXBhcnRzLnB1c2goa2V5KyI9IitlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKX1pbWcuc3JjPXBhcnRzLmpvaW4oIiYiKX07Cjwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IlZJcTNRTERHemx1aWxlVF93WDg4ekEiPnZhciB5dGVyciA9IHl0ZXJyIHx8IHRydWU7PC9zY3JpcHQ+PHNjcmlwdCBkYXRhLWlkPSJfZ2QiIG5vbmNlPSJWSXEzUUxER3psdWlsZVRfd1g4OHpBIj53aW5kb3cuV0laX2dsb2JhbF9kYXRhID0geyJBZlk4SGYiOmZhbHNlLCJGTDFhbiI6ZmFsc2UsIkhpUHNiYiI6MCwiTVVFNk5lIjoieW91dHViZV93ZWIiLCJNdUpXamQiOmZhbHNlLCJVVUZhV2MiOiIlLkAubnVsbCwxMDAwLDJdIiwiY2ZiMmgiOiJ5b3V0dWJlLndlYi1mcm9udC1lbmQtY3JpdGljYWxfMjAyNjA3MjIuMDFfcDAiLCJmUER4d2QiOltdLCJoc0ZMVCI6IiUuQC5udWxsLDEwLDNdIiwiaUN6aEZjIjpmYWxzZSwiblF5QUUiOnt9LCJveE4zbmIiOnsiMSI6ZmFsc2UsIjAiOmZhbHNlLCI2MTA0MDEzMDEiOmZhbHNlLCI4OTk1ODg0MzciOmZhbHNlLCI3NzI2NTc3NjgiOnRydWUsIjUxMzY1OTUyMyI6ZmFsc2UsIjU2ODMzMzk0NSI6dHJ1ZSwiMTMzMTc2MTQwMyI6dHJ1ZSwiNjUxMTc1ODI4IjpmYWxzZSwiNzIyNzY0NTQyIjpmYWxzZSwiNzQ4NDAyMTQ1IjpmYWxzZSwiNzQ4NDAyMTQ2IjpmYWxzZSwiNzQ4NDAyMTQ3Ijp0cnVlLCIxNjAyNjEzMTg1IjpmYWxzZSwiODYxMzc3NzIzIjpmYWxzZSwiODYxMzc3NzI0IjpmYWxzZSwiODY5MzM2OTAzIjpmYWxzZSwiODgyNjc0NTA3IjpmYWxzZSwiODY5MzM2OTA0IjpmYWxzZSwiODY5MzM2OTA1IjpmYWxzZSwiMjgzOTUzMTU1IjpmYWxzZSwiOTE5NDQ0ODI0IjpmYWxzZSwiOTMxNDY4MDQ3IjpmYWxzZSwiOTI4ODc1Mzk4IjpmYWxzZSwiNjgzNzQ5MjAxIjpmYWxzZX0sInU0ZzdyIjoiJS5ALm51bGwsMSwzXSIsInhuSTlQIjpmYWxzZSwieHdBZkUiOnRydWUsInlGbnhyZiI6MjQ4Nn07PC9zY3JpcHQ+PHRpdGxlPllvdVR1YmU8L3RpdGxlPjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXRwNnVGLWJQRzZFIj48L2hlYWQ+PGJvZHkgY2xhc3M9ImRhdGUtMjAyNjA3MjcgZW5fVVMgbHRyICBzaXRlLWNlbnRlci1hbGlnbmVkIHNpdGUtYXMtZ2lhbnQtY2FyZCBnZWNrbyBnZWNrby0xMzQiIGRpcj0ibHRyIj48ZGl2IGlkPSJwbGF5ZXIiPjwvZGl2PjxzY3JpcHQgbm9uY2U9IlZJcTNRTERHemx1aWxlVF93WDg4ekEiPnZhciBzZXRNZXNzYWdlPWZ1bmN0aW9uKG1zZyl7aWYod2luZG93Lnl0JiZ5dC5zZXRNc2cpeXQuc2V0TXNnKG1zZyk7ZWxzZXt3aW5kb3cueXRjZmc9d2luZG93Lnl0Y2ZnfHx7fTt5dGNmZy5tc2dzPW1zZ319OwpzZXRNZXNzYWdlKHsiQUNDT1VOVF9MQUJFTCI6IkFjY291bnQiLCJBQ1RfT05fVEhJU19DT01NRU5UIjoiQWN0IG9uIHRoaXMgY29tbWVudCIsIkFERF9UT19EUk9QRE9XTl9MQUJFTCI6IkFkZCB0byBwbGF5bGlzdCIsIkFEX0JBREdFX0hJTlQiOiJBZHZlcnRpc2VtZW50IiwiQURfQkFER0VfVEVYVCI6IkFEIiwiQUxMX0NIQU5ORUxTX0xBQkVMIjoiQWxsIGNoYW5uZWxzIiwiQU1CSUVOVF9NT0RFIjoiQW1iaWVudCBtb2RlIiwiQU1CSUVOVF9NT0RFX09GRiI6IkFtYmllbnQgbW9kZSBvZmYiLCJBTUJJRU5UX01PREVfT04iOiJBbWJpZW50IG1vZGUgb24iLCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfQk9EWSI6IlBsZWFzZSB1cGRhdGUgeW91ciBkZXZpY2UgdG8gQW5kcm9pZCA0LjAgYmVmb3JlIE9jdCAyMiwgMjAyMCB0byBrZWVwIHVzaW5nIFlvdVR1YmUgd2l0aG91dCBpbnRlcnJ1cHRpb25zLiIsIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9IRUFERVIiOiJZb3VUdWJlIHdpbGwgbm8gbG9uZ2VyIGJlIHN1cHBvcnRlZCBvbiB5b3VyIGRldmljZSBhZnRlciAyMDIwLTEwLTIyIiwiQVBQX1VQU0VMTF9TVUJUSVRMRSI6IlVwbG9hZCwgc2F2ZSwgYW5kIGNvbW1lbnQgb24gdmlkZW9zIHdpdGggdGhlIFlvdVR1YmUgYXBwIiwiQVBQX1VQU0VMTF9USVRMRSI6IlN3aXRjaCB0byB0aGUgYXBwIGZvciBhIGJldHRlciB2aWV3aW5nIGV4cGVyaWVuY2UiLCJBVURJT19UUkFDSyI6IkF1ZGlvIFRyYWNrIiwiQVVUT05BVl9UT0dHTEUiOiJBdXRvcGxheSIsIkFVVE9QTEFZX0lOX1RFTl9TRUNPTkRTIjoiTmV4dCB2aWRlbyB3aWxsIGJlIHBsYXllZCBpbiB0ZW4gc2Vjb25kcyIsIkFVVE9QTEFZX1BBVVNFRCI6IkF1dG9wbGF5IGlzIHBhdXNlZCIsIkFVVE9QTEFZX1BMQVlfTk9XIjoiUGxheSBub3ciLCJBVVRPUExBWV9VUF9ORVhUX0lOIjoiVXAgbmV4dCBpbiBzZWNvbmRzX3BsYWNlaG9sZGVyIiwiQVVUT19UUkFOU0xBVEUiOiJBdXRvLXRyYW5zbGF0ZSIsIkFVVE9fWk9PTSI6IkF1dG8gem9vbSIsIkJBQ0siOiJCYWNrIiwiQlJBTkRFRF9TSUdOX0lOX0RJQUxPR19ERVNDUklQVElPTiI6IkFjY2VzcyBhbGwgZmVhdHVyZXMgYW5kIGdldCBhIHNlYW1sZXNzIGV4cGVyaWVuY2UiLCJDQU5DRUwiOiJDYW5jZWwiLCJDSEFOTkVMX1NXSVRDSEVSX0xBQkVMIjoiU3dpdGNoIGFjY291bnQiLCJDSEFSQUNURVJfTElNSVQiOiJVc2UgZmV3ZXIgdGhhbiAkbnVtYmVyIGNoYXJhY3RlcnMiLCJDTE9TRSI6IkNsb3NlIiwiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIjoiTm8gY2FwdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgdGhpcyB2aWRlbyIsIkNMT1NFRF9DQVBUSU9OU19PRkYiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9mZiIsIkNMT1NFRF9DQVBUSU9OU19PTiI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb24iLCJDTE9TRURfQ0FQVElPTlNfT05fTEFOR1VBR0UiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIChsYW5ndWFnZV9wbGFjZWhvbGRlcikiLCJDTE9TRV9TRUFSQ0hfTEFCRUwiOiJDbG9zZSBzZWFyY2giLCJDTE9TRV9TRVRUSU5HU19MQUJFTCI6IkNsb3NlIFNldHRpbmdzIiwiQ09NTUVOVEJPWF9QT1NUIjoiUG9zdCIsIkNPTU1FTlRfTU9EQUxfQ09OVEVOVCI6IlBsZWFzZSBzaWduIGluIHRvIGFjdCBvbiB0aGlzIGNvbW1lbnQuIiwiQ09ORklSTV9PSyI6Ik9LIiwiQ09OTkVDVF9UT19USEVfSU5URVJORVQiOiJDb25uZWN0IHRvIHRoZSBpbnRlcm5ldCIsIkNPUElFRF9UT19DTElQQk9BUkQiOiJDb3BpZWQgdG8gY2xpcGJvYXJkIiwiQ09QWSI6IkNvcHkiLCJDT1BZX0RFQlVHX0lORk8iOiJDb3B5IERlYnVnIEluZm8iLCJDT1BZX0VNQkVEX0NPREUiOiJDb3B5IGVtYmVkIGNvZGUiLCJDT1BZX0xJTktfTEFCRUwiOiJDb3B5IGxpbmsiLCJDT1BZX1ZJREVPX1VSTCI6IkNvcHkgdmlkZW8gVVJMIiwiQ09QWV9WSURFT19VUkxfQVRfQ1VSUkVOVF9USU1FIjoiQ29weSB2aWRlbyBVUkwgYXQgY3VycmVudCB0aW1lIiwiQ1JFQVRFX0NIQU5ORUxfVElUTEUiOiJDcmVhdGUgY2hhbm5lbCIsIkRFTEVURV9GUk9NX0RPV05MT0FEUyI6IkRlbGV0ZSBmcm9tIGRvd25sb2FkcyIsIkRJQUxPRyI6IkRpYWxvZyIsIkRNQV9DT05TRU5UX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIHdpbGwgdGFrZSBlZmZlY3Qgb24gTWFyY2ggNiwgMjAyNC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9DT05GSVJNQVRJT04yIjoiWW91ciBjaG9pY2VzIGhhdmUgYmVlbiBzYXZlZC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9HRU5FUkFMX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2hpbGUgbG9hZGluZyIsIkRNQV9DT05TRU5UX1JFQ09SRF9FUlJPUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB5b3VyIGNob2ljZXMgd2VyZSBub3Qgc2F2ZWQiLCJET05FIjoiRG9uZSIsIkRPV05MT0FEIjoiRG93bmxvYWQiLCJGQUlMRURfQ09QWV9FUlJPUl9NRVNTQUdFIjoiQ29weSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2UsIGZhaWxlZCB0byBjb3B5LiIsIkZMQUdfQ09ORklSTSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBmbGFnIHRoaXMgdmlkZW8/IiwiRkxBR19DT05URU5UIjoiU2lnbiBpbiB0byBmbGFnIGl0LiIsIkZMQUdfTEFCRUwiOiJGbGFnIGFzIGluYXBwcm9wcmlhdGUiLCJGTEFHX1RJVExFIjoiSW5hcHByb3ByaWF0ZSB2aWRlbz8iLCJGVUxMU0NSRUVOX0dFTkVSSUNfRVJST1IiOiJGdWxsIHNjcmVlbiBpcyB1bmF2YWlsYWJsZS4iLCJHT09HTEVfQ09NUEFOWSI6IllvdVR1YmUsIGEgR29vZ2xlIGNvbXBhbnkiLCJISURFX0FMRVJUIjoiSGlkZSB0aGlzIGFsZXJ0IiwiSElERV9QTEFZRVJfQ09OVFJPTFMiOiJIaWRlIHBsYXllciBjb250cm9scyIsIkhJREVfUExBWUxJU1RfVklERU9TIjoiSGlkZSBwbGF5bGlzdCB2aWRlb3MiLCJISURFX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiSGlkZSBzZWFyY2ggZmlsdGVycyIsIkhPTUUiOiJIb21lIiwiSU5WQUxJRF9SRVNQT05TRV9SRUNFSVZFRCI6IkludmFsaWQgcmVzcG9uc2UgcmVjZWl2ZWQuIiwiTEVBVkVfQV9DT01NRU5UX1RJVExFIjoiTGVhdmUgYSBjb21tZW50PyIsIkxJQlJBUlkiOiJMaWJyYXJ5IiwiTElLRV9DT1VOVF9URVhUIjp7ImNhc2UwIjoiTm8gbGlrZXMiLCJjYXNlMSI6IjEgbGlrZSIsIm90aGVyIjoiIyBsaWtlcyJ9LCJMSUtFX0NPVU5UX1RFWFRfTEFCRUwiOiJ7XCJjYXNlMFwiOiBcIk5vIHBlb3BsZSBoYXZlIGxpa2VkIHRoaXMgdmlkZW8uXCIsIFwiY2FzZTFcIjogXCIxIHBlcnNvbiBoYXMgbGlrZWQgdGhpcyB2aWRlby5cIiwgXCJvdGhlclwiOiBcIiMgcGVvcGxlIGhhdmUgbGlrZWQgdGhpcyB2aWRlby5cIn0iLCJMSVNURU5JTkciOiJMaXN0ZW5pbmcuLi4iLCJMT0FESU5HIjoiTG9hZGluZy4uLiIsIkxPTkdfUFJFU1NfTUlDX1RPX1NQRUFLIjoiTG9uZyBwcmVzcyBtaWNfaWNvbl9wbGFjZWhvbGRlciB0byBzcGVhayIsIkxPT1AiOiJMb29wIiwiTUVOVV9ERVNLVE9QIjoiRGVza3RvcCIsIk1FTlVfRVhJVCI6IkV4aXQiLCJNRU5VX0ZFRURCQUNLIjoiRmVlZGJhY2siLCJNRU5VX0hFTFAiOiJIZWxwIiwiTUVOVV9JTVBSRVNTVU0iOiJJbXByaW50IiwiTUVOVV9QTEFZRVJfU0VUVElOR1MiOiJQbGF5YmFjayBTZXR0aW5ncyIsIk1FTlVfUkVQT1JUX0FfUFJPQkxFTSI6IlJlcG9ydCBhIHByb2JsZW0gd2l0aCBZb3VUdWJlIiwiTUVOVV9TRU5EX0ZFRURCQUNLIjoiU2VuZCBmZWVkYmFjayIsIk1FTlVfU0VUVElOR1MiOiJTZXR0aW5ncyIsIk1FTlVfU0lHTl9JTiI6IlNpZ24gSW4iLCJNRU5VX1RFUk1TIjoiUHJpdmFjeSBcdTAwMjYgVGVybXMiLCJNRU5VX1RJVExFIjoiTWVudSIsIk1FTlVfWU9VUl9EQVRBIjoiWW91ciBkYXRhIGluIFlvdVR1YmUiLCJNRVRBREFUQV9TVUJUSVRMRV9DSEFOTkVMX05BTUVfTEFCRUwiOiJVcGxvYWRlZCBieSAke2NoYW5uZWxfbmFtZV9wbGFjZWhvbGRlcn0uIiwiTU1HX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIGhhcyBiZWVuIHNhdmVkLiBZb3UgY2FuIGNoYW5nZSB0aGlzIHNldHRpbmcgYW55dGltZSBpbiBNeSBBZCBDZW50ZXIuIiwiTU1HX0NPTlNFTlRfUkVDT1JEX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHlvdXIgY2hvaWNlIHdhcyBub3Qgc2F2ZWQiLCJNT1JFIjoiTW9yZSIsIk1PUkVfSU5GTyI6Ik1vcmUgaW5mbyIsIk1PUkVfTE9XRVJDQVNFIjoibW9yZSIsIk1PUkVfT1BUSU9OUyI6Ik1vcmUgb3B0aW9ucyIsIk1PUkVfVklERU9TIjoiTW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19DTE9TRV9CVVRUT05fQVJJQV9MQUJFTCI6IkhpZGUgbW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19GUk9NX0NIQU5ORUwiOiJNb3JlIHZpZGVvcyBmcm9tICRjaGFubmVsX25hbWVfcGxhY2Vob2xkZXIiLCJNT1JFX1ZJREVPU19ORVhUX0JVVFRPTl9BUklBX0xBQkVMIjoiTmV4dCB2aWRlb3MiLCJNT1JFX1ZJREVPU19QUkVWSU9VU19CVVRUT05fQVJJQV9MQUJFTCI6IlByZXZpb3VzIHZpZGVvcyIsIk1VVEVfVk9MVU1FIjoiTXV0ZSIsIk5FV19QTEFZTElTVCI6Ik5ldyBwbGF5bGlzdCIsIk5FWFRfVklERU8iOiJOZXh0IHZpZGVvIiwiTk9USUZJQ0FUSU9OX0VSUk9SX01FU1NBR0UiOiJTb21ldGhpbmcgd2VudCB3cm9uZywgcGxlYXNlIHRyeSBhZ2Fpbi4iLCJOT1RfRk9VTkRfQ1RBIjoiQnJvd3NlIFZpZGVvcyIsIk5PVF9GT1VORF9NRVNTQUdFIjoiUGxlYXNlIHNlYXJjaCBmb3Igc29tZXRoaW5nIGVsc2UsIG9yIGJyb3dzZSB5b3VyIEhvbWUgZmVlZC4iLCJOT1RfRk9VTkRfVElUTEUiOiJUaGlzIHBhZ2UgaXNuXHUwMDI3dCBhdmFpbGFibGUiLCJOT19ET1dOTE9BRFMiOiJObyBkb3dubG9hZHMiLCJOT19NSUNfSU5QVVQiOiJEaWRuXHUwMDI3dCBoZWFyIHRoYXQuIFRyeSBzcGVha2luZyBhZ2Fpbi4iLCJPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04iOiJZb3VcdTAwMjdyZSBvZmZsaW5lLiBDaGVjayB5b3VyIGNvbm5lY3Rpb24uIiwiT09QU19NRVNTQUdFIjoiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcuIiwiT1BFTl9BUFAiOiJPcGVuIEFwcCIsIk9QRU5fWU9VVFVCRSI6Ik9wZW4gdGhlIGFwcCIsIk9QRU5fWU9VVFVCRV9BUFAiOiJPcGVuIFlvdVR1YmUgYXBwIiwiUEFVU0UiOiJQYXVzZSIsIlBMQVkiOiJQbGF5IiwiUExBWUJBQ0tfU1BFRURfWCI6IiR7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcn14IiwiUExBWUVSX0NBUFRJT04iOiJDYXB0aW9ucyIsIlBMQVlFUl9DQVBUSU9OX09GRiI6Ik9mZiIsIlBMQVlFUl9DQVBUSU9OX09OIjoiT24iLCJQTEFZRVJfRE9VQkxFX1NQRUVEX1VTRVJfRURVIjoiMngiLCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TRUVLIjoiRG91YmxlIHRhcCBsZWZ0IG9yIHJpZ2h0IHRvIHNraXAgMTAgc2Vjb25kcyIsIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NIT1dfT1JfSElERV9QTEFZRVJfQ09OVFJPTFMiOiJEb3VibGUgdGFwIHRvIHNob3cgb3IgaGlkZSBwbGF5ZXIgY29udHJvbHMiLCJQTEFZRVJfRVhJVF9GVUxMU0NSRUVOIjoiRXhpdCBmdWxsIHNjcmVlbiIsIlBMQVlFUl9GQVNURk9SV0FSRF9TRUNPTkRTIjoiRmFzdCBmb3J3YXJkICRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfRlVMTFNDUkVFTiI6IkVudGVyIGZ1bGwgc2NyZWVuIiwiUExBWUVSX0xJVkVfTEFCRUwiOiJMaXZlIiwiUExBWUVSX0xJVkVfTk9XIjoiTGl2ZSBub3ciLCJQTEFZRVJfTUlOSU1JWkUiOiJNaW5pbWl6ZSIsIlBMQVlFUl9ORVhUIjoiTmV4dCB2aWRlbyIsIlBMQVlFUl9QQVVTRSI6IlBhdXNlIHZpZGVvIiwiUExBWUVSX1BMQVkiOiJQbGF5IHZpZGVvIiwiUExBWUVSX1BSRU1JRVJFX0xBQkVMIjoiUHJlbWllcmUiLCJQTEFZRVJfUFJFVklPVVMiOiJQcmV2aW91cyB2aWRlbyIsIlBMQVlFUl9QUk9HUkVTU19CQVIiOiJTZWVrIHNsaWRlciIsIlBMQVlFUl9RVUFMSVRZIjoiUXVhbGl0eSIsIlBMQVlFUl9RVUFMSVRZX0FVVE8iOiJBdXRvIiwiUExBWUVSX1JFUExBWSI6IlJlcGxheSBWaWRlbyIsIlBMQVlFUl9SRVdJTkRfU0VDT05EUyI6IlJld2luZCAkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NFQ09ORFMiOiIkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NQRUVEIjoiU3BlZWQiLCJQTEFZRVJfU1BFRURVUF9VU0VSX0VEVSI6IlBsYXlpbmcgYXQgc3BlZWRfcmF0ZV9wbGFjZWhvbGRlcnggc3BlZWQiLCJQTEFZRVJfU1BFRURfREVDUkVBU0UiOiJEZWNyZWFzZSBwbGF5YmFjayBzcGVlZCIsIlBMQVlFUl9TUEVFRF9JTkNSRUFTRSI6IkluY3JlYXNlIHBsYXliYWNrIHNwZWVkIiwiUExBWUVSX1NQRUVEX05PUk1BTCI6Ik5vcm1hbCIsIlBMQVlFUl9TUEVFRF9SRUNFTlQiOiJSZWNlbnQiLCJQTEFZRVJfVElNRV9EVVJBVElPTiI6IlRpbWUgZHVyYXRpb24iLCJQTEFZRVJfVElNRV9FTEFQU0VEIjoiVGltZSBlbGFwc2VkIiwiUExBWUVSX1RJTUVfRk9STUFUVEVEIjp7ImNhc2UwIjoiJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJjYXNlMSI6IjEgaG91ciwgJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJvdGhlciI6IiMgaG91cnMsICR7bWludXRlc30gbWludXRlcyBhbmQgJHtzZWNvbmRzfSBzZWNvbmRzIn0sIlBMQVlMSVNUX0NVUlJFTlRfVklERU9fSU5ERVgiOiIke2N1cnJlbnRfdmlkZW9faW5kZXh9IG9mICR7bGFzdF9pbmRleH0uIiwiUExBWUxJU1RfREVTQ1JJUFRJT05fSU5WQUxJRF9DSEFSQUNURVJTIjoiUGxheWxpc3QgZGVzY3JpcHRpb24gY2FuXHUwMDI3dCB1c2UgXHUwMDNjIG9yIFx1MDAzZSIsIlBMQVlMSVNUX01JWF9ERVRBSUxFRF9MT05HX0JZTElORSI6Ik1peGVzIGFyZSBwbGF5bGlzdHMgWW91VHViZSBtYWtlcyBmb3IgeW91IiwiUExBWUxJU1RfTkFNRV9JTlZBTElEX0NIQVJBQ1RFUlMiOiJQbGF5bGlzdCB0aXRsZSBjYW5cdTAwMjd0IHVzZSBcdTAwM2Mgb3IgXHUwMDNlIiwiUExBWUxJU1RfTkFNRV9NSVNTSU5HIjoiUGxheWxpc3QgdGl0bGUgcmVxdWlyZWQuIiwiUExBWUxJU1RfTkFNRV9UT09fTE9ORyI6IlBsYXlsaXN0IHRpdGxlIGlzIHRvbyBsb25nLiIsIlBMQVlMSVNUX1BBTkVMX0VORF9PRl9QTEFZTElTVCI6IkVuZCBvZiBQbGF5bGlzdCIsIlBMQVlMSVNUX1BBTkVMX05FWFQiOiJOZXh0OiIsIlBMQVlMSVNUX1BBTkVMX1VOTElTVEVEX1BMQVlMSVNUIjoiVW5saXN0ZWQgUGxheWxpc3QiLCJQTEFZTElTVF9URVhUX0lOUFVUX0NIQVJfQ09VTlQiOiJjdXJyZW50X2NvdW50X3BsYWNlaG9sZGVyIG9mIG1heF9jb3VudF9wbGFjZWhvbGRlciBjaGFyYWN0ZXJzIHVzZWQiLCJQTEFZX0FMTCI6IlBsYXkgYWxsIiwiUExFQVNFX0ZJWF9FUlJPUlMiOiJQbGVhc2UgZml4IGVycm9ycyBhbmQgdHJ5IGFnYWluLiIsIlBSRU1JVU1fQkFER0VfTEFCRUwiOiJQcmVtaXVtIiwiUFJFVklPVVNfVklERU8iOiJQcmV2aW91cyB2aWRlbyIsIlBSSVZBQ1lfUE9MSUNZIjoiUHJpdmFjeSBQb2xpY3kiLCJSRUxPQUQiOiJSZWxvYWQiLCJSRVBMSUVTX1NIT1dfTU9SRSI6IlNob3cgbW9yZSByZXBsaWVzIiwiUkVRVUlSRURfTEFCRUwiOiJSZXF1aXJlZCIsIlNBVkVfUExBWUxJU1QiOiJTYXZlIiwiU0NSVUJfU0xJREVfVVNFUl9FRFUiOiJTbGlkZSBsZWZ0IG9yIHJpZ2h0IHRvIHNlZWsiLCJTRUFSQ0giOiJTZWFyY2giLCJTRUFSQ0hfQVBQRU5EX0xBQkVMIjoiQXBwZW5kIHN1Z2dlc3Rpb24gdG8gc2VhcmNoIGZpZWxkIiwiU0VBUkNIX0NIQU5ORUwiOiJTZWFyY2ggY2hhbm5lbCIsIlNFQVJDSF9DTEVBUl9MQUJFTCI6IkNsZWFyIGN1cnJlbnQgc2VhcmNoIHRleHQiLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU0iOiJBbGJ1bSBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU1fTk9fQVJUSVNUIjoiQWxidW0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fTU9WSUUiOiJNb3ZpZSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9TT05HIjoiU29uZyBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09OR19OT19BUlRJU1QiOiJTb25nIiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1RWX1NIT1ciOiJUViBzaG93IiwiU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJTZWFyY2ggZmlsdGVycyIsIlNFQVJDSF9MQUJFTCI6IlNlYXJjaCBZb3VUdWJlIiwiU0VBUkNIX1BQUF9QTEFDRUhPTERFUl9URVhUIjoiU2VhcmNoIHBhaWQgcHJvZHVjdCBwbGFjZW1lbnQgdmlkZW9zIiwiU0VFS19TTElERVIiOiJTZWVrIHNsaWRlciIsIlNFVFRJTkdTX0xBQkVMIjoiU2V0dGluZ3MiLCJTRVRUSU5HU19NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSBhbGxvdyBtaWNyb3Bob25lIHBlcm1pc3Npb24gaW4gZGV2aWNlIHNldHRpbmdzLiIsIlNFVF9QTEFZQkFDS19TUEVFRF9YIjoiJHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyfXggc3BlZWQiLCJTSE9SVFNfVEFCX0xBQkVMIjoiU2hvcnRzIiwiU0hPV19MRVNTIjoiU2hvdyBsZXNzIiwiU0hPV19NT1JFIjoiU2hvdyBtb3JlIiwiU0hPV19QTEFZRVJfQ09OVFJPTFMiOiJTaG93IHBsYXllciBjb250cm9scyIsIlNIT1dfUExBWUxJU1RfVklERU9TIjoiU2hvdyBwbGF5bGlzdCB2aWRlb3MiLCJTSE9XX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiU2hvdyBzZWFyY2ggZmlsdGVycyIsIlNJR05fSU5fTEFCRUwiOiJTaWduIGluIiwiU0lHTl9JTl9PTl9XRUIiOiJTaWduIGluIG9uIHdlYiIsIlNUQUJMRV9WT0xVTUUiOiJTdGFibGUgdm9sdW1lIiwiU1RBQkxFX1ZPTFVNRV9PRkYiOiJTdGFibGUgdm9sdW1lIG9mZiIsIlNUQUJMRV9WT0xVTUVfT04iOiJTdGFibGUgdm9sdW1lIG9uIiwiU1RBVFNfRk9SX05FUkRTIjoiU3RhdHMgRm9yIE5lcmRzIiwiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiOiJTdWdnZXN0aW9uIFJlbW92ZWQiLCJTVUdHRVNUSU9OX0RJU01JU1NfSU5fU0VUVElOR1NfTEFCRUwiOiJSZW1vdmUgaW4gc2V0dGluZ3MiLCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiOiJSZW1vdmUiLCJTVUdHRVNUSU9OX05FV19WSURFT1NfVEVYVCI6Ik5ldyB2aWRlb3MiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfQlVUVE9OX0xBQkVMIjoiVmlzaXQgc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX0RFU0NSSVBUSU9OIjoiVmlzaXQgaW1hZ2Ugc291cmNlIHdlYnNpdGU/IiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX1RJVExFIjoiSW1hZ2Ugc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fTEFCRUwiOiJWaWV3IGltYWdlIHNvdXJjZSIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0xBQkVMIjoiSW1hZ2UgZm9yIHN1Z2dlc3Rpb24iLCJURVJNU19PRl9TRVJWSUNFIjoiVGVybXMgb2YgU2VydmljZSIsIlRJTUVTVEFNUF9NSU5VVEVTIjoidGltZXN0YW1wIG1pbnV0ZXMgcmVxdWlyZWQiLCJUSU1FU1RBTVBfU0VDT05EUyI6InRpbWVzdGFtcCBzZWNvbmRzIHJlcXVpcmVkIiwiVE9HR0xFX09GRiI6Ik9mZiIsIlRPR0dMRV9PTiI6Ik9uIiwiVFJFTkRJTkciOiJUcmVuZGluZyIsIlRST1VCTEVTSE9PVF9QTEFZQkFDS19JU1NVRSI6IlRyb3VibGVzaG9vdCBwbGF5YmFjayBpc3N1ZSIsIlRSWV9BR0FJTl9MQVRFUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsIlRSWV9BR0FJTl9NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSB0cnkgYWdhaW4gYW5kIGFsbG93IG1pY3JvcGhvbmUgcGVybWlzc2lvbi4iLCJUVVJOX09GRl9BVVRPUExBWV9DT05GSVJNX0JVVFRPTl9USVRMRSI6IlR1cm4gb2ZmIiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX0RFU0NSSVBUSU9OIjoiV2hlbiBhdXRvcGxheSBpcyBvZmYsIGEgc3VnZ2VzdGVkIHZpZGVvIHdpbGwgbm90IGF1dG9tYXRpY2FsbHkgcGxheSBuZXh0IiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX1RJVExFIjoiVHVybiBvZmYgYXV0b3BsYXk/IiwiVU5NVVRFX1ZPTFVNRSI6IlVubXV0ZSIsIlZJREVPUyI6Int2aWRlb3MscGx1cmFsLCBcdTAwM2QwezAgdmlkZW9zfVx1MDAzZDF7MSB2aWRlb31vdGhlcnsjIHZpZGVvc319IiwiVklERU9fTElOS19MQUJFTCI6IlZpZGVvIGxpbmsiLCJXQVRDSEVEIjoiV2F0Y2hlZCIsIl9fbGFuZ19fIjoiZW4ifSk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iVklxM1FMREd6bHVpbGVUX3dYODh6QSI+dmFyIF9GX2Nzc1Jvd0tleSA9ICd5dGVtYmVkcy5iYXNlLk54bml1dVpFVFp3LkwuRjQuTyc7IHZhciBfRl9jb21iaW5lZFNpZ25hdHVyZSA9ICdBR0tNeXdIVTZxSE5pdG5zNVhxWUVLLTJ5eVVFYUdPVmtRJzs8L3NjcmlwdD48c2NyaXB0IHNyYz0iL3MvXy95dGVtYmVkcy9fL2pzL2s9eXRlbWJlZHMuYmFzZS5lbl9VUy5fODhUd3l5SEtIcy4yMDIxLk8vYW09QUFBQWdBL2Q9MS9leGNtPWJhc2Uscm9vdC9icj0xL3JzPUFHS015d0V1MlRRVXpkU0YwQWNzRkJNVXJGcXl1cktsdXcvbT1yb290LGJhc2UiIG5hbWU9ImVtYmVkX2NsaWVudCIgaWQ9ImJhc2UtanMiIG5vbmNlPSJWSXEzUUxER3psdWlsZVRfd1g4OHpBIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMiIG5hbWU9InBsYXllci9iYXNlIiBub25jZT0iVklxM1FMREd6bHVpbGVUX3dYODh6QSI+PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iVklxM1FMREd6bHVpbGVUX3dYODh6QSI+d3JpdGVFbWJlZCgpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IlZJcTNRTERHemx1aWxlVF93WDg4ekEiPihmdW5jdGlvbigpIHtpZiAod2luZG93Lnl0QXROKSB7d2luZG93Lnl0QXROKHsnUic6ICdceDdiXHgyMnJlc3BvbnNlQ29udGV4dFx4MjI6XHg3Ylx4MjJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNceDIyOlx4NWJceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJDU0lceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmNceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMldFQl9FTUJFRERFRF9QTEFZRVJceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMmN2ZXJceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjIuMjAyNjA3MjQuMDEuMDBceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMnl0X2xpXHgyMixceDIydmFsdWVceDIyOlx4MjIwXHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJHZXRBdHRlc3RhdGlvbkNoYWxsZW5nZV9yaWRceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjB4OGEwMWIzOGM1OGNhYjBlMlx4MjJceDdkXHg1ZFx4N2QsXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyR0ZFRURCQUNLXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJsb2dnZWRfaW5ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkdVSURFRF9IRUxQXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJsb2dnZWRfaW5ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkVDQVRDSEVSXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJjbGllbnQudmVyc2lvblx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMi4yMDI2MDcyNFx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyY2xpZW50Lm5hbWVceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMldFQl9FTUJFRERFRF9QTEFZRVJceDIyXHg3ZFx4NWRceDdkXHg1ZCxceDIycmVzcG9uc2VJZFx4MjI6XHgyMkloTUltYTZzNktueWxRTVZZUDFQQ0IwbDJBMWpceDIyLFx4MjJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXHgyMjpceDdiXHgyMmhhc0RlY29yYXRlZFx4MjI6dHJ1ZVx4N2RceDdkLFx4MjJjaGFsbGVuZ2VceDIyOlx4MjJhXHgzZDZcXHUwMDI2YTJceDNkMTBcXHUwMDI2Y1x4M2QxNzg1MTM3MDcxXFx1MDAyNmRceDNkNTZcXHUwMDI2dFx4M2QyMTYwMFxcdTAwMjZjMWFceDNkMVxcdTAwMjZjNmFceDNkMVxcdTAwMjZjNmJceDNkMVxcdTAwMjZoaFx4M2RFb0tTSXlYV2lkTlJUb091dnlGUXk5WE5FRW50VjNrQXdVaTZmbXpkaVBzXHgyMixceDIyYmdDaGFsbGVuZ2VceDIyOlx4N2JceDIyaW50ZXJwcmV0ZXJVcmxceDIyOlx4N2JceDIycHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlXHgyMjpceDIyXC9cL3d3dy5nb29nbGUuY29tXC9qc1wvdGhcLy1rS1pZWGJZTDF6S2RkVldpUnBLUUFzLUZGcm1YaV82VWtjbWhGbFlMb3MuanNceDIyXHg3ZCxceDIyaW50ZXJwcmV0ZXJIYXNoXHgyMjpceDIyLWtLWllYYllMMXpLZGRWV2lScEtRQXMtRkZybVhpXzZVa2NtaEZsWUxvc1x4MjIsXHgyMnByb2dyYW1ceDIyOlx4MjJscnZxMEtEd0NxTmpZNktFU0lpSW9LNTdQSk9Yd2VrXC9uVk5TUUppUklJTzd1YzE0amNHS01RcitsRno2dkUzNkZuSXVUWURLdzFFSjN4UjF2RHJVTnJXZHR0cVFnV0Z0OUNZclZka2FlaG81N2JWOGJiK2gyODhaekw4cFwvalNBREhKbnE0eWlRSWxKd3JTbE5xNVdUZGJEM0NxVlhGNFA4a05CRWhYYWZPMTl2VlN2NXZzVDNoNml5RHI4Sjhpc2hQMEJTS1psQ0pzSjhHUVVhSGp2eXRKRmhNWEQ0Zk44a3ZsY092YVA4QUxYRFdITnBaN3poeDZMYU1FNk5lXC9KdkxZdlJzeFUyQ2hobXVnNWIrVngzYTVDWFwvdExQNGxkbVViVmRhXC9lWElMcWxzM3c3UmZGK25tMzJXa2ZFS21hVTUyQmJEblN0cWRXdUlQeXYrUUZQRFpFZFIxVXVZSmNEeU0xWlh6b3ZJaXB6YzArZzhKMUNkZkN0ZEl1VU1abDZcL3RXQ3BpNEpUaUhmZGdzckZUSk1mVGRta3o1ZVZHYnZWVEpFWGU3WU1yYlA4Z2pqbm0xUlhva25veVEreHBrVzd0XC9lU0tUYlA5blhGYzVDeklXYlBFdDBcLzV0TWdwQ0lkQkFrRXc4ajJWNUg3UHR3M3JmY1Z2aDZ5OHRSWjlVcVlDVGo2YmlnSUMwQ1h6WFc1cGtLRjR6YnY3OThxV3JEMU1sOVozZnhoWFJ0cjJTMzE4WjBGTnpBVEFlY3p6Q0diN3RaSXpJRzBFTjE3ODNCbUdlVld6bFAxUUdTZndhWGg0R2NRRU9seE9vZkFGVUpoQjlwR0h1SEdtendZSjc2cEg4Vk45QzE1S1NXNVBDOG9EOXcybnZQd0ZZckhsenRJMGZFN01NWkVFcWFIY20yY2VRdHdWNmxIOUt4NVlBXC9OdlFORlQ5b2lUdWJxQ1k1c0FcL29tNVwvM2ZYdnpZZVlBbW12RlRBVkY4KzluU0tGSnVBZ002UFRSdXlzY2lrMG0xcDFUZm9qQjlrOVhjTTNZUDNlMW9pdlY4VlNVV25XNndqNjZcL2xTTGVJelNDa2tKRzJMeDBsTHhyWWUxWEtPZkRZYWtnTytDN1RucTBpMWY4MXFPMTBvNTNoeU02ZEMxclB6NnBsc0hOZyt0eTllSHdpT2Z2UU52OTFxTEZ3UWlQdm82ekN6cDZ5SlwvXC9uMWhQNzN3TWZjdGIrUU5WSXBCaVo0UTlpY0NpcGViU2dHYjFPaGV6aHBJbFJPbkd1XC93YjhuOGN0WUxoR0ZWdGxLekFiTTZQSzl4NVJCWDY1N1NVK29KSnhOV0VIR0RcL241aXlndFA2eEM3bEpVSHZ3RlYyMTFKOFA3SkVabU9jVUJRV2xnRWkyMDVkQzA5Ykk2cG80QTFpckxHa2FzQ0FPZGtGSjJLejh4eFJNUUg3NVdWSkY4bVpRbU9TZHUyRjhqZkkzV1FRK1BJQ1wvckJWaFg3MkJ4alE2ekJGaU81cXRKb3hjNFhMVDllTnZCT29RdXFSUXNmd0pFWTJXSjA1OG40bEZDV1FvM25MSmFqNkFXWXpqM1F6WFFUbnpGZlhqWW1FXC90WFg3UWVIS2VUYWszWFZBd2lwMUU3NXpcL1BkUWNualQ1SDdhZ2VRWDJ1ZFEzK0dvdDR6ODBQcUY2VVpKOEdWRVF1a3VIZHZGZm1DVVU5bjlSOHlsMlU1QWNKVm5CYXcwRTJjOGZUVFg4aTlYaks1aDJ2cUVlOGdGMVc4TmZqTFI1YVVxU09Eb1NPY1pSZmw0aVJTeHorc01OaFpVRW5Oc1NldFpYTUE5emhoTlwvemV6RVBENWNwS1RLd1hTOVlyWWs2ckY2TWNiNUpOSDFoa3RHczNLMWw4eFdsc2VUV054S2ZERFZGVnRFMFVpRmR2ZTkwdkpvSEpNRWI5M1pPaHEzaTFLMEhyNHN2bVEzVVVxaktaXC9cL3lGMU9lcjFadkFmS1pPdU5QbjN1dzRpTUhaM1BQVTQ4WDl0empwcEN0M3MxSlEwMkkwcks0UU11QThUV0xleU1rUjJMZkt0M0d2aGRvRjdGZjFQVFZMZVVLWjNHTU9EYkluSSt3WDJDcUpXN3hSOHhcL1FHa0VxU3dTb0N2YlBXbG5mT3h6N2I2YXVPSU1acDdPOFwvVENyWVoxQkpEMnpHcDBuVjVMUzRvNzZZa1BCTGp2dStlTWNhV0dNeExzR3R2SWhaOGMrMlloZXFNUCtJRVg4cmxUcHBBaG5KaEh4Z1VPNUswTmlTbzlPZERkcXVLUkkxNWUzNkhPUUNidTJJd1hkTU85SVpLNE1idmNxQlk5eEthM0ZtOVZ5bE50S3RWRzZteUR1WG5HYVJXVlJRbkozM1Z4Vmp3dmcwaHcwaUxtZk1sY25MOHl4cHFhYWZHQTBNdkwyV1M4Y01TQ2FuTXUwMkR0ZXErXC9uM3QxTGVOUVwvMFNSSUEzNzd2MjYyQWlLUm45MGlyN2VYOGF3ak9NVTlJbm8wdmdtM2luVVVFUktIeHoyUXk0TFliSHVJeUpUU2tYVEZMakZ3T2Y3WDM4VHFsNnk0MldUaHJJRDdkazRZTk5UNEJZR0JRSWt0R040V1VQRVV0SGZUYTFISGF2VlVpb3dTMm8rQURDUlhLZTg1dG1CYTBvVW9Wa2JcL3dBTm5UcjlGTVZhSVNDOXRLcVhFNkI2QktiTnNkUDdYdlEwTVBjY0NZR0pXUGNsTDA0NXJCM3RLMitKVnRQZVV0dVRiK1JtYVFmTklxY3JnMzI5amxwNGtoYWRXandLTm9QNERLZFVscFJyWnRGNzU5a09uT2I0WUFLeG9GSFBsc2sydEpKaEtzcTVWaXV1NXloQVhXN3NaUFZKOGErUU9kZlpSS2xGcTFjOHZFSG10VWZyMFNweDZpZ1Juc2V3RkJVd29odkMzTERFb1hrSlNOcXRYY05Ua0Y4YUZQRTJ3eXZIT3J2MmEwK1VNQnM5NWtVd3J1ZVRoVlwvNW9nNVR0Z2Zka0h5UFB3Zk0wNmd3UHI0MzMwaG55S0ZsWWoyUldSRUl2TnBhWFNURXZRMVBDQUxrXC9kQ3BibnJFVnh5dGdFMER3NVY5eE1JUEpwWmY4OUtvYVo0dHdsSklTdE5lclErRUlVMWdvaDkwNXRTZzVRZWJYcG9vS0J2d2FWODNcL0MraWtZNFlXXC9lWUlyUkhvTkJmTlJHQkE3ZHNGYU00R2dHMlhuYnduanBJMUltdHQ2MElYZXBqQWM0SEk5Nm5IR0cxRzlFVzEwMzdTb3dWRlBVUytTaVNDcGhzamlwaTdWcGRCYkQzVFExNnhUK3hHTnlJOENSYW9xVGhBZGI0SlorY3UxTUpxRW5SMG5kZGxiSzdXMUZnbkpJU2Z6NGFFU2R5MTM0WHFxRUJWSkNmZFZLUjl5N09qQUU4TzN4N1h0R1ZvTTRaZ24xQ1pUZXJzc3M3bStjRFhETHZFVUU0YVwvTW9aeFRNMld2WEx5S1JXbCtZQlwvczBlNDNBUkFPdVhGTkRSTW5rOEtZWm9aWEpKb2RpeXg2Q0JZMGxCY29vdHBZRFdcL3N2RFwvZTl2SXU4RERxUENwcVVxVG9NSXRtYmlPQlQ1VW5SMGJSVmc5VmdmTVJmSjRCcG8xUVdZRFFSekhcL1N1bEUrUmdTNTJBSkQyNk4zb2pnZWVET21LbjFEYTJzbEIzbjJXXC9KbEd4TG5EQzRhS1JQQUlOQ2tSN0hlaytORitxWkgrMkVwdUZYYnlwcFVWZTgweFlJZEgyNkNVN2s2WmV3Y1hGcmZ2MjM3T3BqQmRvS2dOcGxpRTJoTWdlNjlKNEk2QVpcLzlja0dJaHVsZUI3UWpIVjRkVW44cWFteHFLaWVGTWsrY2w5eUlRK0pBREs4d1JmS0xKWFB4amR6RncrMGsxXC84RCtJYUlER05FeXlYakdQSzJSd1FjVU5uamRZMFdVWHhpSk9BN2tNMXltZ285ZEMzdmk0MkVLNVZzRmRtcHV2S3ZTUXVBcG9CQm5menYwN01vNUNxbnZTM3FwU2sxTXpwSWpUcDR6UnNWS29DeUNWWmFzMU5sSHZSbDZrR0VPbWRna2FKNm9NRzhIbGtPdHlpT1lpSzAwbzh0SE9tRnVQeVwvQlYrUHNkVEVhWHJjRll6d0MrYzJwUVM1cnVXTFdKTW5WWEs0bE1VdVkrUHNcL0dycGlmb2tpMG5xUUFWVkZVYVBmZXNPdFU3YXZBK0Y4VmVOeEVraEpFM2hEb3REZDdvb2k2Q3RCUmhKYnV5SFN3aXl2bVZrSkxpYzRVWm1pRkI5NzBFeUdaeTVKTVh2YTBUclRLOWc3NE5NUEUwZXZvRDJFVFRZWUM5QklnVjdTMWtiYzV6SnVqamFOdTZ6K0pWXC83MlwvTmlPV3pWNUdHblgrZ0s4Qm9KOEJSTTNWZE1mYU8yQWZPMGs2TVFzNWFTbElURlU4RE9jY2k2a2ZCaGV6eXVENFRmSUFDVjV1YzFRSUQzbktpZkxRdmFcL25TSDI4R1FZV0p3MDhTTkJhYXErMitlem1cL1FRcTZ4elZlSHZoaTR2VGhzOVk3MElmMFlnam5PZUZzM2I3dXFQazZ6QWRxMUlSYkdIQVwvS21PdXpPT0YxcWRJcjdoc2h6RHVQVmZXaUZacmgrMEJ5bzRuU1owbHlid0tTbmdhUHY2ZzR5NnNlQ2grQ3NvaytFYWxvUll3YWg2ZjUrUWVobEFpXC9OeW1DS3plcURPMXlqMDdJcFd4SFwvdlFRbWhESlE0QzFOUjNJdFRhTk9VMGlUZWxxMjZHVlRFd3VcL3VUbFdcL1pBTUZ2eG1jOGhIQnNYYnA3RE1NcFdabkNoN3g4NytqYmRhSnN0dTZ6R3VPdllyQXJJczdHUlUwMTBTVW56RURTaURiQm04d0RWMkVrUjQ3eHBlV2ZPYnJYMVQ2MGd5bjJXTFl5alR4TXNhcDBuTzk5WXVMaFF1cW1kSkpsRnl3dW5rVmprbnRwUnZrUU9KYXI0STIrN1VuQ3hrd1pvajJJa3dpcEpDSEF5bFUzRGV6V21wSlUrMXlibTJNZVp6RkhOcEhmcldPdUgxK0oyazAxY2M2UzU3NzZmTHpRcTVCTWgyZitEMkJuZ0hcL2ttVVQwMm9paDQxblpWeUtXcDQybEN0NFVHOU1jWG5tbno4ODVoM2hMaTNjb3htNjBRNmdXYURqbzV0V3RINHRNVlBaSTdEdzk4RCtEWmU0Q1Bvamh0Wit5TmdEcVpNdzZIaXVPM0VieVE1THpDbHRMdzFXRHdrV0Nwb3lVZzYwc2ZIcG5wXC9Hendmak1wZnpKRzFYeGNLTGdkcFRScVFueEVHMEdpenhROGR3OU9tczI2SFBqZ29UYURndStKdU9KZkpiakt4aWduZnR1NEpKV0tlMUNxb1dyS3JmeEFINUlrTFlIalU4M2JJUnhhaWIzVWg5MTJYR1lnTElWMkJjdTJEOSsyY3pscHROaGpsVGJ0N0hTUVNndFJTWGRPNVUySG9LQjVOaE5NU1BTQXRDWFJ0Y05Obm90SnlKSGpLRVRZTWRWcWtURHBJREY0dXM5ajNFbWZPVVpneVFxRGwyYWtiSFwvRzArZXlPTm5LUFdMUVpaSG5BUlNBNUoxS0NyYXozQ2JObEZJeUpJN2JGTlZ1N0dmdk8xVU5Ka2R6MkdlZVpPXC83eTBmTnpxOVFUcWVSVHozMzFjK210OWFkdmwyTkhrQllreEVCclpPRjk1SzFMckJWVjY0V3lsK2p3YmhWelFoSzhiaXpGblpMaFo1eHhPRkRxbWxpemJ6UXh5YU5Da1FHZDRDUDhrd290WjQ4UTdIak9MOG1odmtIcEFwQzJcL1RGSVd5Um9kNjhtVXNYS2lQWW5MK3lySWFoYlMzY1Y3XC9lRitSZStLc0QxRlAzTEQ3XC9lcDc4ckZSTkE5RkpiY0h2ZDk1SHIzT0VyRjBYTjVMWUx2ZExTY2s0eDVoNDdZQklxOWxxUkNWK3AxNGtDN0ROY3F3Z1A3OFVjbFFYQ29NQ2hHSHR6OFljQ2J1bUdpNDNaYk83N1U1UDNoZmw4azhSeDMweE5hV1JuSVFoZGlMc2gzVEpCbm1UbGl5eWFValRzSlBOSmdyczdOME92MGJGS2kyVjNPT3dlcmtHQk50V1wveDhJK1VidVpKRHhUdThZNlVlT0tYbDVqbnViNlRmNlFWTUtTaUFuQ05CQnNZallYVzZDU1dKTEdjYlp2azc2K09Edmt3WWdjclwvMEdxdlJIeHZhU3lPaDdjdUVsKzVkVFwvRUtrNnA0bFRVVitXZU1aeDJROURCb0VwNXlUbUswVDZHVEFKVFczKzcyMlpVdUM3WEUybnZRZHMwT1dnSndzNTgzM2VqeW5Da0FrbmFSdUl6ZnN1eEIwZmh4eGFHQ3ZYWTNheUR0cmZYQStOZGtZZndcL1RnS0ZEMkFxV2JFSWRtcnZUUFpcLzRHZGRPOTVlQ3ZuN2hMMzJ4WXlIWFBVczN2b3ZTeG4yWTA0bURWV1R3MVExWmZ3ZlRxZGIwRHRrNnVSXC9OSEtaNTNwd1BvMDBiNHFXSWNrVE5QNTFIWkN1R1RsaEhLUytoQkJlWmdKdXVLa2l5Sm9KN3lNNmtIXC9wRFAzdWlNdVNkZUhJYVY4TE9qZkQ0dXBMVEdTbkxabnlBamIrSENUUG54ZmpQTzZmaStFVXlTcld3NlgzdVlHWElZYXFSb2VRdEZndEdNT2U1V1F6V21LeE5yZSsrNFkya2ZWcjkyZ3V3SXlIM0Z5M1FwN2REVUdrUitWMWJtbGMxUnJ0UWZuMlliTEFLSjFSelAxa1F3OFRLSis1bGhYNG82YUJJVlNDam50SDZ3N0hlemp3dlY0Zjg0ZXg3UFNGV3daUHBtSjU2S09hM2Z5VHROd1N4ZVd3bmxVZUdQMW1zZ1RwVkZoOXVXRGdDQ0U3VTF1ZXMrQ3V5ek5TTUpRWWNpc0hBVlNua2Jid0NXT3Y2Z3pVR2ltUkpXVnZQdnF3bnBKcW82Q1htVUFaMzZaTkl0MzRYVHZSVjZZMEFIOUp1aWhkdVpCbWVLK3NsM0hIMHZybHo5M3hCMHg3UEJrRHI4TGNBd0xtTjc5TmR1ditGMkl5dUprR0RFd1dqb2QxQUtPNUZtTllsSWxBUjd3Rm9FOGpKV0FOWjE2N2x2UWxlNWRsYjBzRFF5ZVo1QzlEVU1iK29rditLenZCM2dsUDl4VFVJbHQ2djE3bHVrUGtaVGIybWVCVGFVYXRWMUlrQ2NCOStmYW5BUU10Y3VSYlJWU1drVkwrdnJ6dERuK1lOUVgwa3N4N3RuN2RaaXlPb0V3d09ZQWRhZGtlamZMOUdsSUNiWDBkOVE3XC9YMEtOaG1IQUM3Wm5aUVBQTURNRUd3bDZaREZKN0lRVURmaUl3NmZrMXhVRFdYU2s1cytUYVwvSnZCT1JLendLNFpNdnN0cE5OQjViTHhtZXd4YmxCdlg0TDRoQmhcLzF3cyt0anZrcjlBeFlGXC9ka1VcL20zckE4Um41dU9cL3F0U0FSY3JCYjlKZmFhOHQ2SktjWEpyWVFTUG1YTldOSFE1TkEwWm1ZbUh0WHJCcTVnUEdsS2tCYWN4WUxQZCtNN0hMeWRmMVRcLzJjUjhLNXROT2JmS094Z2pjT1lTVjlrY0dPZitrbHpSXC9KTDNsdFdkWjB2Sjk0RFZKb21qVTVubXliQ1wvbiszOFlPbFh3bFNKeG1GZ1FpM0YxbXhnTUt3OHJiZ2t4RnlGOWd6S1VzSUVuYmtCaWxxaitVcld0T01XcVNQS283SEdMZlhieGhZZW1uemV2Z0VcLzJaTjlCSFN1dVZ2b2dKYTlVcjE1MEdENXdsZVpSMUtyYzB4anlhc2hvdGdLTEFwTVpZVWVSNDBwVGViQ29NdThJcFhTSUJTK2p3VkNrTGlsQXBrbExNamVxS1JNcVFEV1UxUGVXT0xBRk1yXC9Ua3kwdmVCXC9PTE9FUlJsM2VibnJ3Z2xBWEl3aitmTEVwMVlicHQ0NXM2UE0rRTJGY01jUWFTcEJoUWF6dHhIMHM4UUJPQzRzMFNqQkJWOHNGeVROMVRrTUJ5SHpuNVBrRUtQVE1zb0ZqS0d6VktJRlwvNTRFZW5LNndcL3ozNnR6SkJaaVA1SGxBZzQya29kZmFGT0FseFkxVk5lNTYwOU1WMXlcL2dpTjRwXC9RbGdaTmpLWmVNVUw1ZGV0aElQcXNcL1NneTB0TGFKZWhcL1JIWTRtT1ZvRkJIKzZhOHU3dW5GUVlNaXhBRWZPYzV0Z09DMzRyQXBBNjNPOXlJcWUxZU1CZVBPZDI5K0xKaW1lcmZlWUpcL2ZoUHdrQ0pxeDVJdTZsaUZiMzNVWFZmNitxRVRqemphdm1scWt1U1l1Q2xpUWtGd0daeU1XK0ZIVkEyWUQ0bEpRdlVzNmZnR2tLUm9VMWxPWEJYbE93YkxsOXdjWllPdkxROWNsbFNudUhmdlQrVE9jbkZ4MUNOM2FpanF3a1BpMngwN09YTXNVVEZUXC9wWFFwWUdTUlJLSjh6QmdJV1wvT0FSdDFyU25JTm81Y1hQUVlqUnRXeElWc3RzcFRLUitndUpGTTVhbXlCNHd1VjZiUVA4a0o2WmVvOU55TVNqYzBzeXBYNE0wY1hKWXExbEY5YWpkeVdsYStZWUxcL29QNldYb2ZORWpMSmhGOUxCVkZNT2RnbHhEbXBMUHFUcFBjZFVYMWtkcFR2STlVZnlwYm9jY0NNbnBMZzcxT01sNXZTeWYrUitGSWZCNHpIb3RBczEwZFl5MklYbzFiSFZzc1FLSk5aTTFzb0J6Tk5WT0VJY2ZWd1wvdFwvcWNkQ2xuQVZzbjRrR1wvcExcL0VlTW1GUklNNmFlZUM4aHdoNDRyR3VmOUlXSHJlTTY1aHp6M2FBM0ptYXJtelQ1bEJBTkFxaEFaMDdPYlFKZlBmbEJHRGxNV1QwMDF6QXdiSHo2eWxlKzR1aUhvSk5IUnBXRHVrQ1FGcHAwUGNka2lKQ0hBUGdDMTJPaGd2UjhwdUthRytHNEdxRE5uQ2g1QmlKZzBLekVxSlZDOXZmWlNaYlUrb1FVN0ltYU9HZktwc1czTUVBK1lqK0FwdDlWXC95Sjc2VHgwUDY4b0tEOExMZHYrY3YwS01uMk5BMW5SZlM1N0VMWlNpRlpvMUY1elQzSlloN0prTEk3a3d1YjZZTUVcL0NodDFnd0o4c1JxcEk1NW1hK0ZsdmFvUndyRVBzVFlpbmRSUkQ3SFRhVE1qc1dHKzYzbWF6YjJ6d2t2SWxYaFd2R1ptc2FMcEZaMVh4ZlBcL200ZXJKaTEraW1sQXlSYkhWM1JmMkVLaWpkRkNQOTlIeWw2OVZwcE9aUDZHWlhDOUQzR2xwTWJDMmtGOHJ2OHFvMTd5RzBXMTRXRlo0ejdEaEtsMUxpQWlrVmxmdWU5UithMGFvcnkzZXo4Zm9PQzd1eU9BZGhmY0prVmN1RXpESVVVN1lpSHlvbzJtOXFmUGRWXC9ZKzBKSFRMeE5Ud2ZKWk9lRExuM3BZTXAwM2lHdW1zS3RRbkdJS0NtQjlYSGxCb0Z5Z3pCTXdvS0FJYk9qcWJ1N2RQSitMQ2JuMm9DUTBQeGlUWERTXC9yNjNSNXVhWHIzK2NBZUw4S0RhckZhTGZ1RW9tTWI5XC9yYzdRTVhlQ3UwaEd6RUFyaUtcLzg0c2VxMGFsbUNKdXczdktRTGxDVkE4NnFyYzhoakVxY0tuajk4YTY2UmtvOHlWdFFjOHBtNHlDQ2FWY0xvRmdVOWFcL285VnhLNHV1QU9ybklxT1ExemxsNUZmNVpzandSN3RaN0xmQk5CSnRvN0IyN1VaWVZVV1hWRTdaUGpQb3lIXC84RmwzYWdnanZ3MytFRnNqNXpLdEF0SG9UOHMxWHhydlA3a3h6WXd1eGVWeFdWYkRWVEFSczMrZWl4QlwvMXZ6eFVUbDRlVThtYWs3N0pyZ2FcLzlEOXVKN2R6WkF4eU9hS0pnWGVEcVhXdHd6OFJmbTFvSzNsSkw2Wm9UMXB6c0t1RXFkUktBK1pWUUtEWTExQUozemFwdThTQlV1V1wvUWxudmJMeHFzb1RHQ09hODlRTVwvMFQwYkVXbWtqWTlGaStWMHp0NmNuNmVcL1c3emJIYjN6OVZVVmRkWnh6bG1IdFdYSUtRaHQwYkE2RU1FQnAzcTZtUWRLYmpFQUJqeHFwYlRxUWJtekxqcGFETkl0SFUrY3hxRVNDdGRubCtqclFtVGxFbmQ3NzV5ZWpEU0o0blhzazdXMmZZUlRhODVSOThTVzR1WmQ2ZTduK1JReUQ1Nm5WTHFuWkRuK3p0ZTFKdEp6eEJxOGE0WGg2UmVlK25ReXB2SGJLcHZ1bERmWDh2SnpNMFc3MTU3dGE4eUhcL3ZhbnhOXC9VTXVJQUN1cmZsWWVkNU9wQzhqSm8zaWtkQVBBZEhMbmk4TTE2K0xRKzBlWUFkOGI0QUZQTWpyVldFbmNZdnhTRHhNc3VZTWdOOVwvXC9BYStuMm56TFIyWmNEcisyNGZGamNaTitVNFFTQlYzNUlrcXZ3c3NtMGtxUDZUbTZ2NG1RczYzZzZQSUdHU3BIc3V6ZjZKVlUrZlRHVE9mdlRGem5HWldOSHZ4Zk8rXC9NWHExZFpNd2ROZENWRkIrYWlpOXFhVUhKVm5YdWtPNHo4S3VaZExJUGhnQ3JIcXNPbDNJd1VJYnpUcGFTenpmcHc0RGxGWng1SHc2NklBa1FlSU5ZSEowN2pjNW0yRjRyNW9TbnZNTklFb24xTjlvS2wrSVVJZldSOGZIOUNtd0tYN3pzWjVTV1pYUjdWNmY2bXJqc3lJK0sydHNpVHpqenFBY3I2TzlZZlQrcWtEZE1jcVNCSWU1cUI1Rm82RHNNQVY1eVZSUDhOTU52SEZLSGNBWmF5UDNyMElxdW1jdVlhVXhUNkVyZDdxM0dZVm9kYVhrYzlpaVRZeHdHcFpHQ3BrY3VcL25vQkFrb2JmYjlTWTZxTThwQ3lGczNyeUZQRTFkUlZUV3lKdnFTdFh0MGNDT2dUWkpZNm1idVlMc0tGak1IbDY0aDZtTWlxTVVKMzJnbTBXXC9sM21ic3I5Z1ZrXC9tWGxzQndxcVNlZmY2dlZicVVRK0I2c2pHeGVNUFpuREkrVjZ1cXZkUU5vV2pPTnlDejVnMDZXbDEwYk1YRE0zVlZuYVFkUVwvMytSaGhlMml1UFwvSUtSOVpQSUx1SUZ2eXdLQWRPMk8yd3NtdGppdVhNT1pzam0xV1wvQis1eEdTckJmd3J1eFBHcXFMYmxcLzdNT205eEZta245bm82MkgzcmszY1R3cWc4aXhmTzBHdVpXRjhOVkxMcVpNKzlGTE1rTko3TFlSS2d2UFBQcUdTbFpvQVlOT092MEtBMTZzYnMxVGlldW1YdWFZVVdTZ05oTlBpbzErSDFsaUkrU3I3WHJFRGFaSXZUNHg3T05CQkpJa3NNVWVGc0ljUk9pd2tNQzlUTDhaQkZcL21LU1B6UXRYQXhKRXpjV01mMklPTzlCVGtISEVQYmp2NjFSaXVWdTUzQ1ArMjluTHdGejloVjczeXlQMHlWZHluUVQ5RXdtSXV0OWdCS3NOSDZtcll4WnZVM01QYzNnMmdRTk5UczBHTkpyWHg3Ym8wa3NpMk5peDVyZ1F3SEpWc2g5TjlFMzJYcVREd0ZlK2ZqZEQ0cXNQTjlTeTN2Vk5kWEdqRitzMVh5OW1JTDFkOUxENU5sdHlLVVNGb3VoQ3dsXC9HYzd0VTZDeENlaDVjUVwvdXRIYjJKTmZmNnNHcmhsXC96ejcrY3VIanZSaGdWb3pySWNlUlk2OVFsdWlaWG9qVk1hTEJNMmFTRlI2REd5eGV4MjhDK1wvb1cyMnhnUE1GTlRtczBpUDYwTGxIaHNlekZDcUdZWXJ4aCtvcVR0UVNYUEpNR2ozeVNjczV4ZFRZSFRwSWo3ZWlrQysyS0VXOElmMFFEUlVDcVRRSURkWE9ZNUpJRmJsNXZYOXllemVnZmNqS1M5RnQzbFlDRkpxd08rbTM0dzgrR0hIZ2lHZWhVbWFEU0I4SEF2b3ZlT2JuRlFXTllBbHI1eDNPc1B1K2lMcGp3YlNRWUpmdTY5ZDl4bFhPK1BpMFl4aExia1c5QnhFWTJlSlJPSHJ1T1I5cDNIZnNvaE91VkR3SERJK0Q4M21weTQ3ZzN3XC9SU3dSUlFINkZjQ1lwTXJDR2FyalJHcHlUY3ErUVYwMjNleVRIOUw5NTBQXC9EcmlKR0FZbWM5UlFwYUZOM0x4YlJQUXRIVGNCU0xUWWZJekRrd3ZJNHVCQ1lJOUNjdkNWdkZRaFJ0TXVRektyeXR3TWJtMkZnZ1JHUGpcL3pTZGFFSUNYSTltU3FscFA2ZStTVGpXSitMRTQrZSs2ODdsS25Yc2txN2NSWXpXV3R6VkM5aWZQR1pSR0Npb3o0eGV3Zkp1ZmMxbXFWakxsd0x6Znl1YmFLSGtLVkNDUDc4XC9YeGhHMlwvK3phRFM4VjkxVVJBZjRlNVNLaG5cL1pNK0xuWlwvbENaTEh6VFBIM0N2NFNMUjRWdkJuM21paVdLUmppU1oyb0ZDb2dpemlRZzV1VkNkMVVhY2hQSEFqWlBVYVJUSnBpKzhjSTA4N1wvRzRkQ0p4QnB5S2JZeEx4K1gyNHZSXC9wWGFIK2Y2RkFFME9aUVpGT3JTREx5V3FNRjBWYlMxZitsQjIwQmNjcllJMVlYM2xqTzZScGpBSzRjVTNlRVduOGlVSU1TRWtBNTdjQW8rRG1lUjgxb084WUI5aEZ4YWtEU3h4dFZzNlFobHR1MU1PcGs4SEVTXC9uNzlFVTE3XC9yZjVHYUljdGUyQ3JOa3N4RUZ5YjhxbTBDY2lNRWduSHkwc3pSNk5ic3ppN1FhQW1ueWc0K2VlQkV6VmNoRmlBTDhZVHBRdWtpemp4UFQ1VUFJQlwvQWc5OEl2XC85WW9ZVFBPZFQ0NE02WGtWbEtudHVtc0ZCNytSWTNGMXgySFNoUXF0QmVNTEpCb2VYTDVQWTA2SzR2eWdLQVZHQU54bXZYbkhxSEc5UWpVdXNoM2V5V25YS2xpZFwvd0hLWGNPVGdOMGNYeXZmRVRxUVV1YWErR3RjYnJzeHZiclBocUw5WFhTOWRwejU1NXdZQ3hLZlFTdWh1OVNDck1rT1AzMzJ0SVVoMEhFZmdEaG5HMGt2NnM2MlBobXBkVHhVWmRFajZteGhTZ1RiUzJFVFROeDlTbFlVemtWUXVEUGk2cmRxdzlFbHEzRzRIV1BZZDlTbldwYUlyWjlrRkphbkdGVTh5TEdWNVRFTWg1ZmNqQkNsaTdCcHNBb3dwUFlCZ1JXdkswb0cra1N5Zk9wWW11MFJTTkdRbjZuTUcyc0Rab1wvMldXSER4MFoyRHFyWjkyWHMzcnRLQjFYcGVoT1lCMDNPYVZ2NDR5SnEyVDhXT2FmQjlsK0ZyanJnOUNaeXFwUGRHMzR0VEtzRTNwRE5HcDlkWmFKcWJrdUJjRDJvd2M4ZlBzSVpJUDlraXZyTDQ4dThEUXBDVWgwcnplSU5yZXU2ZVJramR5K3lSM1hJWFlsOUlnZE1yWmRGV0NwZ3NGWkZTNW5rWU5MMzBwMUcyUzJyVk9kQUthYzdGNFR1U0JROVVLTElOQlJkelFoeTF3dlwvUXZjMmc4eW5yb0tMcDRjRks2R09LZExybXoxd2s1Q3ZoMzJLRktmcE5YTWpLOUkramhxZlpMNXV6dU5nbkRVWVhTczJuVkZrYTF0elwvT3B1MjhmeHlBU1BrXC9XSFFOUXBYTWhQZVUzOU9WK0YxdUJwOTlJeXBwVjd3bGVwU2UweEFVeEJIUXdhWXA0MGJXTGN6T2FiVEdXZ0V1Sm9XSWl4M1V0akRxUG43ZFZzdTlQT2VMOG9Helo1aGVKNHdHZER3dEFneEZEek9VZjVMRHl2T1hGZGRpT0tYdE5sZHptZ1Y4MnJ1K1hTQ21xRVNoYUE5ditraDdRT3RBTXFHcklySVpIdTJBT2V1V1puNzcrY2JKRENtUHJrcjJEREJVdVZKT0swS1BVd1RFaFlQZ3Y0K0MrUXJrSnRCT1V6czlVN3lkWFIybjZcL25nSVYxOFE3K1pYcHh4N2ZrbnNlNzJ2QmZUXC9LTW9YcGNvU3RhNFVsNFwvXC9TVWE0ODhcL3AwTHZiUzBZQTlWcU1ZcmZEcDB1U3M0bEg3NFFabGZzckk3VGtscmkyNTV5XC9kWWJnSmlPYWo5MVZtQXlaXC9xVEZ5OTRtekJya2hiTDQ2VXBwa09ja2dwRFc0RzBSbmJIdEtqcmN1eEpxeU8zbXlDcDNTam5tTWE1Q2hBKzl3ZEVSN29kcExQYThSXC9rblIyN2ZjUXJ0Z2xnUmlkcnoydmZMNUZZazFTenZkb3RIdHBiVlhJQ1B0ekxrVHVTbEZIa1REbzVOTG1tT0syOTFZSE13MHYxZWQrYW9pVEN3XC9Gd2dPS0swTDR1K0ZlSGlqWDVaWFJMUDdzSEVKQVNNa2FCMFdhRENHSXhNalExVStcL1JqV05xMXFIMjh0OEMxdTZ2TmdmRk1wZWtCS1N2aFpsaHhqNlFZZDhra0ZXaUdLSmlUOEp3amxOUVBQbXdLRDBaXC9BY1dmU3dtM05hOWFlTFhDZUNabEoxZGE4cERKTlY4UjNGRTZrMU9mR3VPNzl6c3c2NUpZNEVlazg0UWowcG9ONDlUZ1NLME50Zlp5cE5rRkpyejFzTFdFVnNrSExya0E5NlwvR3VVNzl4WGU1N3JoVlVwRjhHZFd2dmZnNWk2VHZUcmxHQVJldzg2bGFzcUZMQkhvRXdsK2YzMkw1enpEYmpwbkt1bmNDVmZQUE5QNFMrNUlRZ3VnXC9sMzZcL0R2WmtOa25sUXdDa0RheUdqc2tIdG1BTXdrVnVnVzVTdHc1dElTeUtrazJLbHlyQWtDZlMrcGt5c0d0XC9KVTBjNUNjZVQrRlFvZDJPQ20zY21JNytSaDdOVlwvdnNFTTFHbm51RE8xR3F5Q1VZbjRsa2I3cllwSGRLVFZsenc2eFd4R1hWaCtrcEJwY3N6QVFaN3NrWHcyWTFHNTV4VzFMd0tXMFpMSEU4Unl1am5VVDhWRVRhTTVIaktrMFhYV1BlUjQ3VXBQNTFuNXR0OUFRNmV5ckxSeU1QTkRvUFk1NDBxN3hBaGJ6d1dpRjZHNTFaZm5Dem1zWm9meUdOWFpGbUpoSEs5YjhRQXBsaEYyTUxTaG9FbnhKVGpHZjlMdzc5NEhJOWxLNkErOE5aNTh3NWZFOFwvUTFXMHRaRTRJSmUwSVdxbkcrcmZsSXp2dGpGZ25zUlNZWnFHeXdHYmZpeitBMCs0Q1wvOFhaTG9jNE1oRUt0d0JQcTd6c1wvMmxVUFdpSjgzeklsMlNLN1dCc1JGRk9SV1BrMWZFaDJmK3dpMVFcL3FscDRcLzROcW9zXC8raERLekNzcmQzT0k0cUlKNWlFdnhENVpqTnNJcU5VU3BobUdVUWRkOXcwMHNCcldFSHN4cmllZ1RRTEg4MTQxMm9mXC9YOGJwazdJWlJDRjZVZHFOYXRLemJ3Ujc1QWtzb3BIQzNNc3hvNWkwVVhtZWZcL0hpZEt2UnRkdE54T2dMY1VcL0crOXZiaHhsNFBRVElJaExVbzBRVlVuclo5Y3FFcWlDWmFQc1RLeUM1SFZoZXY1STV5cm40RlwvbXMzU2lwNkZ1dFZmbnlJTmxZclNlUXBhbGdZRkxOQ3lIVjBGSjVXUERyQTFoZ1oyRGJrUjlEU3R1bUR2dWlxT0ZiVHQ5a0VlcW1jMkhMVnE0ZVFYZytnbzZSYWtTeU05d0Yzb2Y5N2xlZFlUZGVCMVMxMTZjWU1UYUR3bnlYTHdkV2FMM3RRbWlnUEhLaGlqK2hlSEo2bDBPMmt1M1BVSEZ0cE5jYVJUdjdOdzM5c09WdXlxNW9WdW5kMnJCWlk3RGtlZTJDaXBGc3U2MHlaa1ByRkFwcGNtVStpdkh0ZlwvNFlmaStxQU4ycE5ialFveFBscmNkRXhyc0xMakN4d0FVdEo3YVNRVXJqOEtwbFNGdU9iXC9CK2g4M05oZjJWU204V1UzaDhqSHJ0NjRoaFlYQUgwMGh5aTN2OGZ5cU1KSFRFdFB3TXlRT3BocVVcL0ZMSHpneGsyRUlQc0pJT0xVanRHUzhMY1ZFVGFMSG5CcysweVFWbGxcL201TXdBRnN6bk84eFh0RkNTNjlObnErY29xemNMS0c5R3l4NU9PV05rMHY3VFwvWmpWQVI0UHJEZG5NVlg1Wms0d1BoNDQ4akg4bGdcLzhjK1lxb0FtaE9WeE90NEpWRmxRXC9CWnVxb0kxVjg2T0xidGdkbVRPSktxOXRSQWhyS1RYbllxV2ZyQm8rS3Q4U05GU20wTjJkK0dIWkFVU2o1S0JiYnQ2QktMOElNTXJPVlNwb3BibXFSZ25kUzJhcWFCdnp3VEo1R2N1WnAyc0Mzc0hoY1VBenZzbFdmekZEV1JYSEMwYkhEb2w5WVNWaW1MUXVaOFJJeXJ6R1dETmtlRWRqMGg3aGRqS3QyaDB1ZkRBaFAzRHdleWhWNGtacDBkdml0T0tWSGVjWkpzUnd3Vk1BZHZMbEhaUFRlQ3k2XC9OOTRaS2swWnJVZ1RFem1EUDRhQ0RFM015SHQrMU54cVU4ZzBNMEYzQ3RaTmQxOXYrdm9CNlwvWEJGUU5OaWRiY3dVNEFwWm9QZzlvUEFqN0FFa0R5OGNJZTdaSG0zZys5U0djcVwvS01PS0hocWhhYnFhUmRickJybGh5RDVzQzM3QkpueXNkZHE4VFVnbkI5Y1pcL1V6c0Nhb294TVg2ZDIxeVwvY01UQndjNGVadDN1MVJCSTNsT1wvK1JiM2YwXC9IazlKNVwvaWZhUWU3czBYS296eFVXdFpmZVFaYitYaHh2dkFCbzFCUFNIT2JPQklSVGRYK1NmRFgyQjE4aGpmWU1WbkFPNVZ1RzZ4d1d4MVd5cEpBMkh5THVleXFGVWpTK2NSdTZoWWhSa0NGTWZuRkplZFFYSk1TZXZyQXozYzFwOTdaUFBMMXRvQ3VSdUVLVFwvTFRrTGdVeWhaRkpWME9yY0RmQlR0cGQ3aFB1cVg5UkVBclpxQWowXC9WQWllQU1FeUFpS1ZOWHFTVkgzRTg5d2pocHVmODZzbzVtRUV2T3RDcmdjblV6QnRVVGpoNURMbEJaOVZFMllWOXpnTng4c3JESFVLYnNnc0w2MnRzV0VVTG9zajVaZG1SRnpUVFpwcHhOQ0xVVnZ0MXQwSERDMG9iYjJlRTJGazcwMnVqZTRtSXpoQ2RENGFkeElVWGZ6SWhnS0FaSFwvTDAydW5BTlMrYTRUUTZzb3NvN3BsZFNzeGhyeDdrK0FaM0JsOFZnQ1ZnS0ZaVEhNanBBT2RmUnBCN2dHTDU3Z2pVVThZdXUwUTZ2RmZWTU44Nm5tT3NybU1FVDdadE5tNkdkZ0xxNU1uOWV1d05RUWpQeUhLaENnY3U1XC9URjJnalh3XC9QbVJnR0ltbHA4RnBIUVBoRm12Zm5OT3pnMGFFT2REVEJxMVhSbHVDS2paZW5scWF4RURySWVuTnlBSUFKSTJJOStkS0M2SE5DUDZ2SW5USlQwNmhFOE13aksydVJRYnNoanZpTGF1b21weE5Gc2lHUEliOWplSkxRVmF5Q1JQeXhVc0dRSnV3YmE5ZnNyMnBBTXFQdFwvZlRwdVdUM1wvNnlQY0szMitCeG9hMUxIdU9LQnR3aTNGdGI3djRtd2FVc1NDdzQ4MmRpQ1pjdWxUbTBlVWlScnppOVFieTZoVitQWnJyUTBBdjNJU2pCMFdRdlwvZXV2XC82cCtyQk9NYVFNQ2ZvcmtnSVhTZlI3U1lEZ1BzUDFaYWE2T0gxbjFXZ2ZHT1NaTnM1c1hKdmVmczFWZ0d4dWVVUnFMb2Y3SVFlYjZOVldLZFhZR2oyT0pPNnlLOE5WMVwvY0VoZ1lGc3JaamtreUNQVWhpdytPVVZWc0ZHSGlzQnVQTjlrK0pvQ1BoVmpYWWpwVDh0emVCdUV4Z0JyNFMxZlJsRWF6ZHk5MlRlMWRlZGluQmdUeEkyUjFBQWUyZ292dXhuTHNISEpPUlo1ZDZ5MnpSeUdnNnZYaFZUbmIzM1RTOVBJRDFOaE55dDZPNFUreFNic0tYZjE4ZUo2OGpBendqTVg2T0U2Q216bG1IbE1oRkNMYW9FVFRHbmFIeUZEbXlYOXpSQTRcL1BENHBrXC9wQXBiT3FpeGRXMkxHQlwvSXB2RXgrVTNaN0RJazFVeERHanU0SjBqVmF0MCtKMTI1SFV6cU5xWFlEM2FEb25cL0Z1bDZkcVptTGU4UXQ2UnhzWjlUTWpFTGxzcERwb3lBRE1FM09SdUhHUHFVdWR1dDlhSnZFdHpHYzBLTXJ0TFlwN1luczlXQ296M0xBSmFjMlhwT2ZBbnVFUXN6S0RYYVA2T2pyYzdDREN1NFNlNFhabUg5eGZKeEV2a2VNQXQxWVhtV0R1b0NsOTFpV1VKbEU3WHJLazkzNGhQU2FiNjQ1OTFXNHFkN1diT2ZGQitzaGl2ZVRFempcL3FPXC9wMjZqYTBXazJ2cVE1d2VXblorS0dBWk94b2pJdmtpNGhCNkFRZ0RFczcwcncrcG8rVStcL283UFJjQlg4cHdsRVNBWFh6OWJjeTE2ZzQ5aE92T1FIcTd6U09wbHI3Zmx6MXk3RlloZDRtS3FHSlRLZDkySTJpdTcwSm5XMlRrcmYrMFRDcGpSV3B6bmZEUklXa3h1TktcL0l2M1plTHRFM1dTRGxrUStDdDRXa1A2cVJyWXVRemhWRG92d1JcL2p2Ryt0UEJETTJBVnBudlpOQ3FISUFvdElNUjl0MlJDSEVVbHQ4NE92UkI2ZkhiT3BMdkZRTXlTMFNBMjRzdFh3amtOdmswbGxGRkdvZVYxd0kwbUZYdTdSZStraGluWkROSHRGRFVYTEgra0M0bWk0ZU9BKzMzdzN3SE5zY2lDZXRwazFCTUV1U1Q1VVJ4WXh3eHJYWitIbURqS0xEMFZSQTUxY04rZklyRzVqcXpEYTZWQWVmVElHeVoxazFSUis2aUsrVWNcL3lmT3N6TFNZdkJXRmt2MktZWFowbGF1ZCtjVVRkYUtoRU5XMTFmQWwrVmxXMTUxZjNrRmR6VDI2TUllRFlOVXZ3ekYzT1hhdzVCZ1JuSHJZdGpIaHRhNmlYWHNyZVVHN2ZSTkZKWVlKRDNPUThaODJxWVdncjhyOTJOV3l5dXd3cXNSeU9uRUNDUm5ieFdVRHJmMUtpbmw0cFRJcHQ2XC9WMmozSFNpR2dHUVwvbTg4U2x0OVpXSWZuU09BUEVmVWRYWXo4Y3J5dTdqYXNhYjMyM3RIank5Q0p5OVloYTZ4bDBRVG1UQkVcL0pOQnc4TGlcL2FIRnh0bEF3NXg5TkZKN0NvMlgxTFRvaklXMWlEK2Y1N3Y5RHA2SjR6NnhBZFFJUWtPUlJ0cWUxWWFRdkVXZXRObVpRR0llSmNMXC82Njd1RU9ocmFBSSt1MkN1cU9vcGQzTzhtXC8wK1lKSDRwbEczZTk5TXNDY01IXC83cUNKZHgrYXJvcUcwdzJmb0k1Smg1OUx4UlRlOXdzaG5PNjVKcjI0VGJMc1V4cWpUUVJJNEtJTWxLeW5ZZjdOcElFa3pYVGJBVFlna1FvcVI4d1VqWVl3SFNcL0VpTEZSTnJwbmUxYnlPMlUrQWJSa0tObFpjNlJmd3VoSzhLK2JWKzQxWUpjZ1RqT1NZcmh3YzhneTBSVEFTclJ2b1lWOURLdGVHbHNIVGdneU5ITGNRZUJRK1VHZ3RGMkVUSmlMRk5OXC9vWlRTTkkybDBPa01kckdIOENSNytKNHhSSFBEMm9yWmZrSEZxT1ZBUlRsZVwvMk91SjJaekszUXFcL25TVnBsU2RnVForT2FyMWlpU2QycVJJTXRkMlFvTnZMVVJxamdMMXdxOTdQdVNWcFp5M0QrQnNGT05rQmFcL0ROeGxzWkRIVzBTazdHVDJFTnJrWFFRZnI3VWlGTndYaU54dzErVXdUSUxcL1VqcTdzeHNUUHVDU0pGOWhkOWpRU2FmMTh4TG02VEFVM2ZhUXZHN0RGWHZrOVJFVjNyQ3VrZDJUM0wzVkIrZHNCY3pTUUc1am1LK2JVTnh0U2VwMHVadXhnc242U1NGSTg5ZWdUc0F1cHZ1bXdLOVBaNHRDTnRTQXdqQXAzNGdBUFlJVlwvdUd1bmpiUzIyRmxyYnZJMnRNeXEzNytEODFVb2FBZVVPd0hjT1ZzVGZFdmlHdG5FcGs1bEJ3VkFmdUlkK3lNMWRjOXM3dGs1U0w5ME0xcWJVUlBZUldWTDRkU3cwM0ZPb2JVZ1piTkVQV0pCZFh2ZmUwYTBwWlVsQkYwVFZ0ZExzVTZxWVgzTDMzVDlYNUhPaGMzRW5YNEMyR0hveW5uY05QTCtORjdIWGdTYVNVRDV3SzkyaXFLcEJGcDZNd1VYbVJTdHBzRE9iOFBQOG9lQjFFZXRjTENRQTI3cWxmV2d0QVdKa3B5WHZBb1lQVjZVRlNCQktKQlNndjI3VGVFUmVTMlZXb1ZtZWFoTVdEUGxuN3VsNXYxNmF5VjN4cVEwd0kyTTRZK25sWTQrbGp1NmRMaFwveFVEc2x0UUliQVlyYmRMeWpESzFiRkdCK09LU0NZdlplak5NSlJNT2ZPMkpYSnB2N3FvdFhcLzBTamVyeE41RUZkR0JHOXpma2RmeTV4RnZoYzhscDFBb055SWxscnQwdGhEcXBtVTlyZHpINDRtR3Jwb2Rvb0ZZQjl3RDJmcXFLXC9MQWV0WmI0T3BnTzRZZk5XWTNwc0paMlJyd3VHTWkrXC9MY3JTWlF5K3M4STFnT2FBZm13QkFnODBQM1FnQWpZT1wvN1dQbU9MRU5OTDhpdmtOMGRQVEl2TGpyVjd0VDlJeDRnQ1RjMjJ4YW1IQzROeHQxS3JzZnFBc1VBbUE1M2JHanpcL2tkKzNuZ0M0anMxcW1uUDRkOUliN3RCRE5vdStMRnJ0N3c3bUwxUWZNRDh5bEl4VDRMNWRWaExJXC8xXC9MS0dyRFYzRnZMbm5vbng1WU5mXC9XZkdoNXpFSnBtVlZQYkxFK2NKWVNlaUdORk1OMnk0dGV3M2VNdDhsYlBibXRyMGhjTGd5TnM3ejJXeEtnV1hTcjY0eXhUOHowWGMxYUJcL0dwRUZuOG5SU2h5WTk3OWlDakp3NEJTRHJPZFBjWFZYMW0wNldiNmVCU2d1QlwvaUFucFAwTzRGYVdhXC8zWjRBdTQ2MFJFNXNLMXlhbGlFcmgzMllpNnVKY2I4SnJCSE9LeGVVcE02Q0lyanBJUWE3Nm5DU0ZDdDgyVUpFbmIwZVhcL0hTUWhOeXhLVlR5STJQV3RMUFwvRHdYem1jZ1BpQWUxVDB6S2puVXdLXC94Y0VHUTRQQTE3MWhBU1RGNnNOYmEyaGE3RnBYRlBZYVVcL2JPWmJBTVFGSGxOUER0bTBKTVdJSWFJMnlycVVKWHk2RWNoNit6YXY5VTJralN2NVJJeW9vRmwrXC9CYW5lZXNqeU5DRW5MWEtjT3RNUFBsWHJ1bHgyaWE2VFlDTkVYRGxNWlJsdzJKMmE2UDJzdGttVFV5OUNwVGRSUmF3YXdKR3M0SlpRU0hveStsNTZGTEdaRVZrVVBqYWF4V1I4ZTJiMGxsM0d5NHZrQmZuMlpDUmtOMnVUM0taVjhKMlF5SVBLTnJqbVJDaUNSVlFXUlpjWFwvUHdRNU9ReDlMdUlTdk5ZczltM0Z0c1VaMFU0R1pCWkZUSGkxYzBCM0o5TjJRRjVPbEtsR3dvU3NVNzVOZFhrNm4reU8zWkVsVnNMM2paUEs0bXFLalIrK0lNSEx0a056STFCWkJ0U09nWUxcL3dndGhZeExuUGZJT2xCTzlJTENWa1RtNkpSbEZOelgrV2Q1aFFEbXI5WG4rQXdaMHN4ZEFYQXhnRGRqU0wrbzg4VTA3MzR5U1U1RnczbkJ0SzI4SU1MZkVEeUdGYWJZXC9QNGtacUJOQnJrYWZoMVg0Y2dGR0RDZWhxMmxyYkNkaUpidkdBd3VSNE1ocGhhWjlcL1lzUkNYWENVXC9ScHpWZFdrMHUxMjhxbGRnb3hyMnR0azV2Ynh0ME5uMUVhM3JUdUpXd1h1d3pFS2RPdURrZ0ZLZjNLczlMNUhhNWVJN0FJVjM0QUVpQVJQTkJhVzIydmNSVkdiR0pmNWhRRjZvd3FqaUNsVnFxdzN3RkhSbWplWE83RlBnZTNEdVhkaGJcL24ydktibFNyckphN1FPMk1yY3FMQmx1dDFlbXRDYUlSZUpOMXFwZlwvbld3QWg0cGVXR28xSGlEcHprdTlVV2pxRHBGOStpVVN5b3lrYlpPdGlvaThiRmkwSHRaWm03SmxxY293QmplRkRSWkhndHdGTzBBZVRcL2ltZWQ2TFhubXRONVA0M1JaMzNsRGpId0Y2a2lpaFFORHdqYXBhQm1MaDdWTldpNTc4cmlBZmNuSmh0VTZyWFM3UGpDZUZKWEN2YXR5ZThsdEdKUTVnVHlrQ1pNdlc4d0hTQmRuTWVaNTI5YXY5TUdTTGVQQTJIM3ZocFI3cHF3NGVmZGpTc1RobFpkdUdtYXRhVWFCSEMreExCNXo0NHQxUjRObXdJSjI1WUg5TmM3NTRIVlFPYllBTjdIRjdCZGxsdlwvWFhVV3BSTTc3djVZT2drdEhCb1lVZThieVk1QmpcLzBOcU5ZTTJGUzdaWENWM3JUdmxGcTNGUDJZZ1M5Y0RQS3BPclZjREVmV3dxRlZXY2JRYUo2SVFSVjNHT04wT0pQS3hRTzlCZVA3ZVd6VUZYTHVoZjBCSk1KTW5Qb0RmTW5wQWhrekZoRkM0SFJ3S3B1Rk9BdjFWakhQNDBkaDRlRFd0czRVVXJkK1JXZ29cL3BnN0FPcHZGRG5lT0RQZW9lSFdxUHVWdElyTHFpaWt5MTE1WW9MNVwvc2F3RFJmVitycTY5NHludjVNXC90OU5BSllYMWpTSHJnMWZRcVRycmNuZUhONVhTa0p0RGpzMTYwN3dIaUJ2MVhObWNFdDlUaWluRmlvaDBKWWtOdFc2RjNGSDRIRXUyRWZOcGdXa0grNnQ5S2NFVDZITWJZeDJrekhjd1VJY0RRUm1VQ3dFWUVtMm1ENFdyRDVcL3pDbEQ2VjlqUzZrd0pwTHkxNnp0YWszNXdaRjR4Q2hQODJXS2dZXC9JNTlpMHZ5a2x6UDN2aVEzUGFuTUVPS2RsOXRnQ1dWWkFrVzBValVnZktHODJqY3hlXC9SbU9cL0tWbXNQN3JzdU5peHYrUmhhN0xhTjluZndndFZNdjdzVUxhYTdlbGhMY0tOZWM1U0xGaHJqYjhRaHR3clJuMVk5WkF1UDcxdHNsK29UNDZXdE8yZDJHcGVZSzh0NHlKSHQrcHZidnlNVnBxM1hYOWJyTTBFcFNYTkJzQjQxNEZ5NTNjbWQzV0Y0MjdGM3hMV0VHeStCOGdSZnljMTlDS1FSQXhOTGZ3WXdCNnI4NHNETllZcjRabGdtQkdMXC93dngrT0lVZnlLNzdYUnlud0w0WWxiSWZxVDRVc3htbU5oaUNrVFA4NzlYUU94NVI1N2dLSWdBbVVPSHNhS2VlMTZ2bTJTa2p0cFc4Y3lkY244V0E4bXhJOUx2T1FYbGVBODhJbEtCMVdcL1BET1RDamtOaG1LR0FublVucnY1XC9uUEFvV0xjYW04K3lIUVpBd0hoMTZhSld4dUVaUGsyUHUxTWc4dTl1Tk1zNzVRdDNnTTAzbHdOSFY4Z1Bya0lsN0h4RkdDWElydGltUGJVOXJDdnIrTTc2KzF1XC9KY2FVWm5EQjhkbGM3ejBJaVVIWkI5dEg2dlJIQzZJbURuNjVsNkVrZFwvMU9Ma2xcLzh1S0NkdEV4UGNUcUJKTlMxZVNTR0xNdXFlZU4rSElZM2RhbDhSd0dRNXU3Qlljek4xRTlaMFY4M3EyWUhRNExTZEFTUzltQWlcLzlPUHRacW9HRjZMbkQ1MkNHY2Q4cG9aYVNFUzlBUjhsSnBqSndJdXNLVlRhcjlJdmdUS3pPd29PZWlleGJ5OHFFejBcL0l5bjFvQWRLdE5US3NKRjgyNmtqeTNISmlwbHNBdEkrZVpWaDNWeTdQQmhrWWJ2WjBRK1VHUlQrZHhGXC9iOXoxbENvUk1CR0FOaHZcLzhKZElqMjY2M3VjUXhubnZZSzBITSs5MnRZZ2hnQ01vckd3VlV0OUhJR1NvYnMrY0RRWm5cL2VZNmltMDl6ZklRYWJqQVNUdFpBRHRaRlVrQ3dcL2hTNGVMUzBMeml6alNiR05DUlBraGlaMGxsWXBITnJsRWNcL2paNmdOTUhDazZjSmx6TlZ2OWxBZmN4TFFZTXF1Yk55NGt5YldxNkU0RjhyVG01WEQxa0xSc1I4a0FVVjF2TDdLS0p4NzRmdTZLUEtqZmFiVkhiYXF1ZUp1SXlPSjZla2srdVNMZVh4eVAzbXp2OHJMRm1ZOVwvdU9DaDh4dytjQlRKazBERHpxWUh0ZkxtbVZCb3hDWUlXM1lxa0J1bFwvY3FEZG9EYlZBTWlyWW1UOTVodlh5NSt1VEdqOUlyMGZCbEkrd1RXcEpjaHMrajY0RzVXcEptVDJFeTZjOVV3SExwYzJZUktUS3daQVRuMWRsU1creVhScnVVN3Y2K2FcLzRiV1hsbkNlSVJERlppOFloVTNMbTZkQ0JqZXlwRHgxN0phNG84NG9sM2hmNGtZcllOME1XUUl3MjhXOGFkZWRaTXJYajZWaFFzU1ZCVTZjR2hIdjMybnpcL2oyVHdcL3pYK3BnNTVoZDdFTzBORHVcL0ViTUVDSEg4cVJURVJiWHJyWlR1bWduMUpuNGNaUUdramlhY0dBMmtWTXhGYmFTYjJnQk9wQmhySW5RUmo0K0ExbHdIa2RZRlwvWmdSUlVZczB5MTZMM1E1blwvSnFickFsTEhtbjBvOXR6ZkRCOWRETkRrQ0F4QUx4aXVoWit3VUxDME5PaDVDTUs2eDdRVWtsU1JrM2NKTGFTNTl2WTBRTnFoWjlMaUFOMjVJWGcyQ2kzTVhVT2JtaGRJd0k4SUU5UzVNMU5QbkdScUIxTXpsOVVMbTd2bVhFcnF4UFlJTVNacEFiOWZ0ZVBNMUM4TzY0eDdIaHcwcG1WeTRUdjBTSU9hMnFUTTB2UUUyM3IyVXZzUWFhQkVNV0JuaXFSS014c1FmZnlrajl2OXMrREJ0V0FhcVZQenZIZlh5RjhnOWtFanJNSmVMNWRobTNPeWFYanpGc0dUZGg4RWRhV0tVMXM4M1FGZTBGUVgyTmJLVVVYSzRSS2l5alFjQTNpU0lzZFhoZmRMWVVcL0RXVnRrZ0NUTThNWlwveU96aml3XC9pWUorUmdHYkpjeXhPZDljdndjS2lUaU9nd0lOa1F1eDd6VDkyd2Mydk8yeFwvNFFZRWU3UFZFbTYzS3JFTW14YjRtU01oYzlGelU1TDVFektxN2JDZ3QrdUZLWVpsRlhiYlwvYnA2dUQ2YlNESVphTkhoYWx4OVVyM0NRZEZuMFdmYlV4a21rb2JMVXRDd0k3SkNqRlF3ZmxsaWJDQW52aFJtOUZ6b2trRCtsS1NOdTMxXC9VQjFNN1B1WUU2NlBZQ2tOb1RHdFwvaHRmREpCTVRLUWw0S1pkdlpmMVZNNGU3RGI0ZFpPcWo4bjZcL1F3QUxqbStKQndUYnpRSG1lR3dzNGUxTGN3dE9EdXBHK2NLZXhnZ2dkVUoramtraUN1Rlp2MjVwb3YzQlBnaVNWdmNTS3d3ZWJrSkp4MnMrNlRnRGwrRFRvRVFqTGx1MnBwS0h6d0lzRmVwUFNQa1FBMkkrVk92SGhkKzRcL1o1Wkgwd0pxUVVDQWZUaDdMU3pcL0ZcL3E4aDNnN1BDNlZUSkU5ZnpRcnh1R0VGbUJrVytYcFoyRFRWNDBqaHEzT0o0WTdOdUVuWDdMR0pjZXFGdUlQbU82M1NCSTV4cVVsVDg0UGtaZzlCSEtIMWIyb1VoelFVZGF3ZmNpNW9QQnpPK3dLelB2eGozQVNKcWhhS1ZvcFwvMndmQTJkVEtsSzZkMkVZcnRtNEh1VEVHSjUrZ1JmWHlvRVczdkcwYndnNkdhQmVwUnBaM09YYTNPUlR6Wk53YllOaFU3V0hjQzVVZ3FIN0RUR3lIaXRBZThndG5zUGk3YmxzYkVDdWRzUjVrc2JzODRUNGd1SkF4UmQ3blVmYU9kK0ZheEVZSm5yZEtCU0czYmFJMnlmQ1wvNVVCN0pxMUIrcTZwU012SEdBM0RueGdcL2tQaUQrRkhEa1Qza2hhM1wvZ2R3Y1lZR3p1WTlUa0ZOUDBpVGVXNUhscHVoSGxjbUtVRTdHWndkWHBpTGsza2hLRmRjbHU4SVA0RkVzTGYyMTk4ZzRkTTdWN0RPdnd1ZDN1VVRCQVd6OFIxU09CNWtNVEVCUFEyYTlYU0N3YTFKQ09SR1dFVUxTMGtRRTgyOVBoVk5nbXlpR0Y3b29GaitHdndjVHhYRkc3Q2VlSDJNUlB2b0o3SGJsRlJcL2tCUGZ0cVhcLzZOOHU4WmVnVTBvSTNVMGJFK3M0UWtRNVVKbHVcLzZOcVFsblNDb0loY2picXBXaEFcL0ZrRHJ1SW5YUkhDZ21NUjhGREhCMkRwQ2xsWmFETFdUZ1F6Y0hRWTNXa1wvQmFyVHhrTVVnRGlNNDZWUG5UeTZaVWFxcFMxR0hlQ0Q0UFg5cVN3YlRQdE9OWDNVMHBFSG5YV2VmVVdzUjh2T3lpR1dFQ3UwSWlnKzhvODVTOTJuQTFiTmZENjBBTGZwMXdneDlqeW5XcDF4UkNGUnNXNkFENTNxaFYwTzRxSFN1NElzVHF4azQ5SndpbHVGWHlsdHdmTDZJZ1Y3SFNmUVFxVEx4RnVPSnR1ZFZ2bkszckdhb3dUbW9ZU3VPdGpRczlVWWF4N1BuVDh5NmllTCtkY0Z2aHZlRFBXcWZWaU9IOHZBVHFZTmZyS2JNOFAxZEdVUE56ZXhCbUhzdkc5VFVyY3ZEaW9LcDVXOEdcL0RFazdMVFh4b1c5WWNBb2VMT2p1aGU2VTZKZ29VK0pQald6OFV5THhiWXdYV1E3bXJoeU81YXo4czltOEFRWjB4NHBrSm1lN0p6XC9VRUtcLzZNTFFrVlNCNnFtQjRiK3dIVkZkOW81ZGxVNkpLbjk3NXRcL3hmVndGS1ZIR05uYUhNSlVPeFQ4TmV3NG5aNVlNcGxKOVpzYjF5NlBVenFYWGp5ajhMZW04aExtaVUyMWtRXC9sSjd6MmpBbWdwNGxJYXBxc25kNzFuZmhrelRoM1NnZ0FmZENwSWZMWEh1OXppWWtlYkw2ZG9qVlJrTEUzcHpJR29GZ0ZDTHpPK1ZEWHFPOTdzTllCSEdKTTN1c1pHSzVGUG54NTBGY0ZKZFQ2TXdhVW1xMXhpQnBaWERtMVh5VVI2aWlNV09iNDdvVFNkYTBFbG1Jc1puSFJMVmkzZFkyTFlzUXB5SVJWWDM5T2FVaWFMMXJ5WlNBejBHMmx1Q0RKWFBib1wvZ3hyTldFVWtCaE1ya3dmTTRaV1J6c0p1ZnY5a20yNFVzdFNaVmJWY1loZVdpSHI0aEV3VXRxWXVSODlsNnlYSUw4N0U5S0FcL3BHTWl2SFNkZEZoN2tWYVFRbWVua1dGc1BSUmt5WUxKVFZ0VGVPWVdUQnZiaGRXUU9nalBNOGpLdWZQNFZOYVwvYVBIRHcxTGtsOTJWSVwvbDhSK0dDaFRzWEhhVm5CRHVON1ZtajVXRHNtRjdjcmcyQ3pLZmR4OHlkZlJmSkVwbFpRSXI2YVB2ZDZ1cnlIWlNIc3dYSWg1V003cWFLbTlcL2pWVTFTdXZabm8xMUU4M29XazQweWErZDZMNFN3dU5sOXdLaHBMNEtBZTBuT0p1bklDU2p0V3FBV1wvUVhkM3VyMlkwWHU1S09NeXpZRnpHc3g3R2g0RzFVYzVROWtGXC9UZWt6NXNyOGYydFRjYm91R2VXZU9cL0l0c1NhYjZvOUJ0aWZ0dHZrUnNKNFFyZEIySDNiSldHVFduN00rRSsxVWZwRmVVTzJIMjF2cHZZSkdxOVBUSHVTMDF6dmxyeitaYmZSdkU1XC82aGdRTUEycHdHbkhPREhxRGdJZVVyZzdBMUZPRlp4YTVnVVQ3YUFDSXpGSExrc01wd1dlRUJ1REE2OXVUR29mTWNlanhtM3BIT0dOQWhOMVVUNGpZMU5JUEtHZU5GWFlEQkZUMVRTWmFXNVlZWkZDRnB4azE2UjZBMFwvQkN5YjRmSjFMUmpXeUR0K25JaWZWRndIRnJkOHhVZlVFWGpxMW8yOHptMFZhQjVtb2hGZjd0RzdOUXFvTE53aDQwZDltZXA3dGpvc1NvTGhzSThNY3UzdUpTY1NQTks4Z3E4aHdtM3o5ajNsT08wb2VxR29oUncrRTREZTJhelcwRnJucCtMTWI1aVE2WGJYb3ZUejNcLzJldlNcL2V5UkxqS0U0bERaWlhOblp2dU56b2pjbUc0VnlUUzdRYWwwMSthbmhJNjNlNzd4UE84NEhTVXlEcnpZQ1JSU2k0cURQdGw0WXA4T0ZZXC9VNU92VVF3b0ZRSE1TZjQydm9QVXB3TWNVRjJtRUZUU3prSGU4V2Q3UGl4UlBpcVd5QjNMeHJlUFJqVE5Zb3lpajV3R1B3bWNHSnVsZFFiWmswNGRLRWR5TmRyektUa3BYSXRBczBaWG5TQWthTk9wdDBVV0hicHJNTnZFQUVXb0hRWFROb0p3K0RhemtlN0hBNFBJUTJGdkExYTVqcDV2ditxczh3b0VTOGpPejdmSnRVK2VRdkFTRm9Ua0Rxd25aUW1uV3dWNmxrMkxPaWlxd0x1OEh1bGVZK2hDUjFuMFJHbkN5Z29HSzlJVzJRQmtTUXRscFRuZVwvV2taYjJjQXFaTHBpVmJWN2NTamE0WnVRUmw0NzlkMHkwNUJJZUtybzkyNjhISStoMWxsdE03UU0xU0JWNERQMFR5SWlxemNyZG9nNUVqXC9WeE55SndhblNNQWdWU2syY3NxU1hnc3E1akk0K1Z3Q2hJa21EalNTZXRlSGNMM2RGUVdLdGM3Vzg4cGg0R2VEQjl0UmJLQXlQTDhFOWJQZk50dTJlRWhaMngwZ2NORFpQVHpiWnNEc3pkRDdRZUREaWwrdmRTM3YrbndxQU9NMkJIdXhOaVpzMU9DMUcrajZRNzBoaEFGV0xQenpjR21GNU5jWnBPSzRSS1RtekRVcXEwUWlWZlwvdFpuUW1OTDM0UkdxQklTMUhRWUE1T1hpVGlSQ1wvak1WM0lnTlh5dVdaRHh6dmNSNFFVQVN6bEZjWUxXdnZ4aEJ5TnVXd2g1NmJybGFXUmhoazlDT09IcVdrMUQ2RFR2dUJwTjZrN01nTTl5czhxamljVndRcmJNU3BiTHlhWGlyUXRCY052XC93VlFvdzk4bFltZXFmMFp3d2xxNXZ5aHFXNkhlSXl3QXBkNUhCWUdZR0U2WDMwd3dCTmZFVldFTmRXZmY2M0hCcjFaMnBLdFo5WXRzWFVJbCtWT0duWWhhUDhmOTRPVHBjdXFrSGM4eHlxQVpiaTVoaFhOdW02NndhcVhYUThmaExLNExVT2hkWmY2MUc0WkFxZWdLTmNXREdTY2p2clVBeG5QUTNWdUNhNnJYeDM1RFEzWklEMDl1M3JcL0ROSmhEdktOV1dVQ2Z1TFYraGNYYXcwQnBMUWNMbHQwRVJhS24yc2RqMG0zTGFtdW10eW8rNkdubnRhM1poMHgrQmxzeEtVQ2ZDT3ZvRkJ1eVRQdEVcL0QzRlhJN0M3SHRhTXFJSnMwM1wvUUxYaWZlVTJBaXFkQWdPWURKRkhLRFM3dFFvT3BIdFwvNlBpZ0o1MkFxWWhVVkZicXJSbEJDdFVIUEthYjZJc0sza1E0a1h0MjZhNmhNSDNQWUJJXC9zNUNvbUVaUHpWQUxaN1RvVFpcLzVVQW91MmlPMW1saVwvQ1lUMHRHbFMrK21ySVc4U1JoY3BHUGRRdkxQQ0YxR1JIOHI2Wmh3a2wrbUJ1TVRxRHNWeG8rbkFVQnN1elhoMUk0aW1jeXZDd08rZXFVeG9tdWsyUGZ2VlZrK3BpcXRDNFRVckpUbEluTElsa1NrNDNveG5tVFI3aGhPcUJYZVA0UVlPbjBibUZsaW5sZUpzemlOTjdXeHRHOGlVTGlzbGw3THVpZ0ZPWDBpQWdwOEg0K3ZHNGdSVE9IWVM2NXZTWldkd3ptY0JKQU94MFUzOTNHSjdKcjJYdEFvckdFczJXMm9tekpCRUVsaVgzM210ZEV1M1BGNGdnSDBOVWhMb00zVENUeFdySVlUNzNkOTh4Q01rbnp4MnhEcGlFK2RMeHZOcmF6V2x0eW5FZkROcXZrYUlWQW1BbW5FN2pCQ2gyTnhjaHR2VGNPT21RaFZoTXp2Sm9qZnRGNmdGRGFYanRkeTFadVFheWRVTzJYbnZCMWk3QjF4Y0Q0ZDllaVRZclZDNFwvcys4NkxHa3FFR2lXXC9QcnA1NDJHT0dRc0xRRU9ISnArckJRdXdOWkR4eTJhVktSNlNvMWR2SlJ1bTUxTUQ0SXdkTzJnT2lXVU1LYWQ1KzNiZ0VubU9UbDdJd3VCZnViUEVLaURZT1VZaEYzNEhaUEF6S3BwODM4aUlpYmhhbzgzZXNybHFHSVdxTVpGZUx6NW5CTzlKaTZNbzd1WnNXaFZDaWpVbnEwM3ljcnl5TVRcL0ZDbHVkRTZ1R2p4dUdGeUd2WlwvU3JCUUNmMlA5d0dJc2xrN1FIcHhaV283bmgyMkdDcFlUWG5xMUJWRnVsOG9RdnFpNTM0QVlxdVU3UVFtemxsMit3ajFtd3crTGo2bTk2UU1Bb2lQOTRURzhRc2JoWjRxSlUyY2gyWkdST2lDYUdUZnFcL0kwRUxcL1Z5b2dWb1E4ajRUbDF1akJhejFVcTRsaXNLQ3pwd3JkN1phU0hpQWh0bmkxZU9qR0F4aktqU3Z0cTJwZ1VnaVFpR1YxUDgyT1BNZXhJWWtPZlpNUHFCb0gwa24rN1JEQmxONGUxXC9qY2RcLyt6RmZTNkJKOEFkaEt2SldXUkFMOU9VKzJ4V1dQQWdRTHpUWEJtV0NnT3NmeHJhWjRDd0llMGQ0bHhPa09aZUVIV0tpaVZJdUpZQWg3NkdCMWtRSDBudkQxRDNHRzZ5Z0llc1M2WDhBeExHdUQ3NnZ3NmdjdzQ1ZjF1R21raEh3ZG9kZ2E5QTZTQXlJdVwvdXRvb21jSThtWTh2VHRNK3RNV3p3SklqcnphN0ZYQk5wandBZitWUGFITjA0enhKc1wvdlJxU3o0SzVCd0pNZ1hGQVFOd1dSXC90MittMDNpa2RxblBoc3dYaFwvZFozSmJsZEJ4dm5JZitpY2Q3RGJwR0tuN3h1eDA3WDJ2VVhsdXBtZ0N3eURidXk0dnVWdkRhb2ppNE5TSTRIOWo3R2xcL1Fsb1I5YTFURVJIUklzVW1QaHJIanhPUnlmSFwvdzN1eEdXb3BEeDl3czExbzFMb3d2M3lXSFdZa1pFMXMzMmhJVVwvSGZPRjNOT2MxTituc2t6VFAxalNjYUxLOXlMYjd3eldBUVdhZ3lvR3FmdEQ1K2lYSHVxM2RFTmVrb0h0WVl6blBtdE5IK0ZvOCtxcHdpaUJmSjZ0MjhaUUY4TklOV2NqSVJxcVkyNUVmbmJxSitZZ0xhVmVqQ2p2R2RvY3piZWdXblFhY29zOW1HSTJoMDJ5cWdicGYrNTZLMFdpNWdjVUFyZ1QyZlZZQ0lCK0kxWGdydzZwMGdJa01zWUJZeTFrU1R1azFTVmpNdzM5WFM2YytWT0h2NUs0V25XSWxDRHpcL3BjMWpuQ2xOR3lRMzd3SkVXMXlLM3Y0c0FPaWFIT092bHQxcWY5MXI2Z09FdWdmM05sK2ZlQ2FEckxweVllMGlzVlBEXC9cL1dIaDNLNUtoWkdqVTdRblZOSTYrMXVDZ1N6emRUT1Y2V2t3OHV5c3F3TTQ2bFFseVowSFwvZDhaSkUySlBJTndjRmNHd0VFaU9LOXdKT2NnakVpUForMFZxTURSeDZxelNWcDVqXC8rNGx2YnV6WEVpNVVVYlZWOXpNOUlCVE5RektJS3F3MjQyME1VaEkrNnFwR3R0MHhxTXFpZHkxTFhMVnVoZ1E4R0hRbkFUMW9JaU1FTUFFWHZrNEplMWYwUVV1eHhtZ2NUc2w0aTNhYVM1OERwbkJhSUl3bTN1bGh0aHMyenpGU0tHdU9lQXJIMDk3K21Qa0xJTnVTUThFcWtBYjdcL3Njc1Fkd2lKNVdHVmV3XC9FRHZob0VyOGVnZnRFK1wvRkdVV1RsYWl1WWVXajdjMUNFbWROaFFWWlBGdkVVaGVVSmdDdldcL1dlSk5PWVliZmxRZzE4dnh0cEt3MGdLZFwvcWRkekVHaFJCbFdkTlVyWHdNZUw4YTZxb296MU1HS0tUYUpOZDdnRTBaTFVSMmNwZTZ1YzdWTEMzZldmT1wvZUhZY1RIaXd5RFlqU2YxVTB4SVVwcjhTeSszZ1dnODNqWisxdUQ5Q2ZDcnpwRTNcL0RvOVlnb1BoZEFcL21FNkVuRXpmamZINUJjV1E5WmpKVzhQUWt0QnNjTDhKc053cGlNYnp6RndVSGNtOVF3QXBwK2puZm5RcTBiUkZyeVllZlpqVGdQb3lYRVJ3XC9RaUlOVlB5UnpqUjQ4ZnhNaDM1MmxvVWtMY2VQN3ZlNDRwS0Z1Nkt2SVBIZ3g1QlFvTWlMZk9wY2NCa2orWUNRaVVRZzZiZTgrclpoMzJTQko3QmZCSmtOUHVaemNcL0Jkc2w3QVMrNG9DanNNOGllWTNPZW5HRnBydTB0Z2VucEg4a01mRlpITTJtN3U0OGxibmpIZVdxR29ySHc4dzh4OTRZYityeTVZRDRPNkd5S1g0WjN1eWNDTVNoNmIzV1NXU3RPdjJcL0FHT1VvNW54bXhKNlRcL0hcLzQrQ01JRlBuSXpRUkNXSFJ3M0pzd1VBTUZYYmt2SW1ZKzhYdUU1U00zQ1lhS0pQWXFpY3VLcVE0WHcwcFNqNmNUR1dkRUIzM254RGZzYkNQOVVPdjlsa0Z4S2M3eDMzYnBobmtsUmtkRFFjNitsR09LQXR3NUt5am0zQkIxVDR1UjB6TU1INitiZllZZ2lmRm1ubjA5bUNTeUFlNUl5UnVzeURjazZhSHRcL25heFNRQ05reWVnaHFTeklHTFczZU9US1IrYmtWM1ZlWXdHRlBySytZaExmU2ttMFRVRzZQNUF4K3lpNUp6bHhmaUE5N1djaWp2UytqVlRxSkVQQU1KNnVMMTBvS0xGakhWOXlcL3l5WUw2REpwMjMxZE8xOHRYQVROTFgyVTdtSUpPMWZWd3lybENxUWZ3N3h2VmhoUWhScEFRVUFsQktZb1kwTG1OcldQNjAzT3hBcUdBY1FPem9BRWNXbHNCUFJXdGlNM012OWNPVEFoMTFpSHp0YWQyZUhYblpOSXFMQmJaeEk2eGxIbXFSd3pOZlhXeGdNdWtCU3hBSlBUeThnQTQ2a1ZkREErVzlrQkU3UmNLM3lEeXlibStBbjRLbXE3bTM1Z01kS3FWbWlLUTc0cjdSUXQzM0ZCOVRkak5GNDVPU0RjTWpHXC9kdGNkRDd3b0hwNHJUcjljaDg1U2puTElWXC9CcSs2bkowVFE3QVBKd2k5RUliMGFtbVd5Rkg3RlFoNHM0b0pmdkV2d0RsQXFcLzI4dmlqdERkRHBTNGxSTm9aUzFWcmRXME5rVW1VdDZrWVJsZ0FtMlFydm90dmJnb3UzYyt6bHpiUXRGaHZGOHZSbGxQRVRhSHhEdElUMnB4N1wvak9aUVhCdjUwUG1INVNGTTRcL290Z0VqdmIzTFM3bVBKcmVsU1NZU2p6VjYyczZMYXRLcUMwcFlRZytQSWh4VklrNCtLRDY2YWVPXC9lMDdnV2Nydm5NK0l2eUNYWWViVXZQSGxhVlVpeVpyK2hYa3NSVk11aTc0Q0hQYTVwNU5oQkl1cnY3Y2lsMTcrT1hnUlhVT0pHdGtlNUZxbGpaTnRwUnVkcGNRTUhEQ1JxM2dMRGFjNndXSUZ5ejM5a2pyNWZiZHkrZTdoTytuXC9PQ2JnSElMSitwYm5pejZDbThFeHZqRVRvNGJDUldQVTZFYmFDdEY1YlRQczgzN2FrSHJGTnVvY3FyZG5tR0h5RU1EcHZHdEpKTjU0MUxcL0dReDhLZEJrU0x5M0xFWHR5blBOMDUrN1g2YWQ0UWUwbnJuaXd4NmZiSVBmMXlHK0pvSGdWeTloQVNqanZhK3ZVYkVjZnUzSXcwMjJaNnplSlpQbXBsZW55SWF0NnZ6cHFxWUsrbzlIeWFhckllY2lpYjhHYk9mSTU1enpBQ3piVXFGU2lvZmF4dWFOQ2hicEtUd1haQnhGQnhcL2FCTVwvK3E2a1VQTEtiZ1ZCdHFiQkxvUDlXWXZJY1wvTWhEMUI3ajN6cXVJaG9cLzNpRnBkXC9NWGd6NjJDc0dFS1VNbVQzSEhwb0hSYUVJeEU2UXlSUyt6QUhzdkk5ZVlXbWRhaExUTmZxSlRUb3FJbFB5ME12Q2R0dzhcL2FSaFJqSkNCakR3SVFHSmRXQXpwblFUQUVCSEVjaDd1NlwvUEgycURzeDVXWjFDTGoyWE5adFo1V1JyNlwvRHloNFN2SE9nOVwvSGNvSEhPMW5URFQ0cW9GQUVlc2Z5bTIzSXZjQVJ1M1IxVmJIMDBQR1NYQUNiVXNFTDZndDRmNXM3eFJ6UXcreERwVk96eml6OVlSbmVUY0x2Q3QrdUdYSmlPQzhhWEFTaE9kcjlYcTZUV3FWV3F3dDhoVG81cnhGK1hTNThVdWdaT3pJMkZFZUVReVlBZElDaFl1TFRXRjJZOWlhSkNNZHYrRTJBXC9zSUNZVXpsMlhrcHM1c2tKdlUxY0pqb3pUZzNGKytcL3R1V3dxZWE3Q1cwelJTT0N3MzAxdGF0U1RpNkJ5cmhVd0tvbGdFcHVyVG55bzNhM201TXpDUHRGRVwvemIrbTBONnR2TUgyWVJLNlwvcHd5b3JncjlMTVc1UFNrU1ZlUFVSRThDdlNGdGx2TEZDemF5ZFhpTjBlazdTcHM5eU1oTkUyb0k3ZVp3WjBHQzI5ZEtNVnNHY3YwVHFXWVhjWm12d1NtdWZmSzFVMlRsT0NWeTI3SEdmQlFSb25mcVlRRnB5NHhEVG03VGZ5ODJmaE5haURTckk0a2lJZjFFT2VtSVNKaFhmQ1NHUVNSQytydk85c1kyM2dycjlNMkhxYTNyZHh5ZTNlQWFBcWRZQ1J4aFQ4NEQ5RUFJcUxjT0JJMU9mbVcyWTVPM3hpcmRiQ1d3VzQ4WlhKRFVsNDhmbTRnd2Y4aXNMSkV2M29meW9adlFVTGRraFh2UVZPUlhWN0xmQ295M0w4ZFR6R2YxZGYyZG9hajlpVWg3MUg0UWhjWkRsVTZhVDZJdENYSnY3eEtOVEVsMFBhc0tXdHlIcDY5UFhDRFlQS2NKM1hwRXdDdGRtVmVBUE42bDZONktFa2xYeFZoOUx6bWc0a000YWVVK1wvS2dUdnp0dW56XC9FU1U4WnZDQ3g2Vnp6cFwvR3RpTmdWa1N3ZDBpSzNid2tUSEdiWlROR25ucGh0T2hPM0s2Wm1rZUQyMVRqVG1iT0pkMUVZRTRvQ2V3dFAxUTB2b0lLbEUwbk9cLzBcL1FvaWZta2xvV0JxZlgxWEF5MVU4eEJYRHd1RGZYVmgwbExPdVwvaFpwWjA0OVlcL3RjdmhzSzhKV3pQS3ltRmVYR2hRK1hCUUpZQkN2S1kwOWZnb3RJVUZZZm1KTm8wa3ZHMDNQVUFpeDlWUUNac3dxaGlsNW1vZG0rNTJCRGkzb3R1RDA4MGJhNEpiZnhuUjFrNEJcL3FqVTVwbUhwekFqTk5rVE1Cc0tlSUpcL1RHcTVZeTJWcDZZVmh3RXZ5dmhEaTRGY3M0eW9uOFpiZ2RLOG5tRnRDZFJGbkhaMlMxdFBuSHlseGhGMEVyZkl0ZHVoYTUzdFRzM3U1TTVUWkdURkhBTHpVTU9CdmxIRmpacHFRMkZxeEcxN2tKT2RjRXM3VzlOQ0czcDA1TzRiVm9pUXRpbjFVWWREbzY1a3lLc3BPa0VIRG9LWnE2b2xkSHhBSDAxRk1jK0R1ZGlxRXkyZjR5Z2NLNjVZYytxT1VzSEtwUUpHRmtnWitDMjRQU3Q4aTBWS05VTWY3UDJYVGJqQzdSV2hDVG9uc3NMMGZwb1JFdSsxZG5YTmFYVkVGSHFqVDZGMWNyTWNaaDFwMkw5NHlJNjNYNE1UZW9QVGhtVWxoQVc1RUpSbG1nNTd4YUp5ejRCcFUxY3V4Uk4wU3FFWVJhVGw2TnNOdlorb1BXUjNocXFcL3o4aHc3SmppT2FueDQwOVE3Y3h0VUdkOUZ2WVo5RkNwVzUwbnZ2d0xWVFJIcXdDaVEyTkRnZ3kwaitIY3JqRURWODVwRmx1UmFyWFwvalI1UTNUWWEwY0tvY21aQkhWOWdYc3grQzJmK2ZGekxFaXJXZ0xLK1wvV0RWdUdOcCtmUUZ6S3JZSWE2U2hpY0VmelpYYU5hZ3dBQjFSd2VrUCtNZXp1RUVXUVwvXC9VZXFnNlVDN1I3NXBpOTZNWEt5K0dEeVpNNmFJT2VHS1Y3OEpBMmJMUjhcL0JjYkFDK29Ha0VaQlBDWElkVUtDVTVnVVhZZHRQY1dTSHVuOFlDQ2VORExnMHdPbDNSUEpFdUJQd0hIQ3VKdm9ycHVKRWpZR01tRjNVVDhGZnU3bUREXC9iUDh5RCtNQnNTbEZWUkZGVGpJN2NIc2VEVzBPb0VuZ3NNSUt2dVlXajBJS0djV2lwNzBlUlA4Z1I0VVRMNktcLzl5RXk5eFFFQjlvejFmZUFOUGJiWHZta25wMmFZekJvR1p4M0xcL1JZMU9CZW11Q3lzQmo0RlUybEVrMTJMWWFrcTdPOFhYNGthSVNCUGdERmJFbDZCOFwvZGFHNGI2U1RLRkk2OUNDemRYVDNYNmVEMElBNE1HTmJpSThyWWZweitKY1RcLzVKdE9aZ2pYeGJva3ZTdmxrZCtGbk56ZkF3M0U3eFJXeXBVQUlocHVMZDJQVVwveDZGUUdoa2RGanRsMjFhQU5jR0h4c2tsVjhKR0ZlWWtFa0xpbzlOYmhMeWdlMlRRb1BacEQ1YXVlYWZtSGdaa0xXdENGa1llaG52ZHZUaWs4b1wvZzJaUExHQWdwUjdtM1FGSmp4dGtGXC9FM1lJcmNOMms5a3JuUlJxREJFY2RoenJzOVl1aDllNlBcL0V6cHRGanF1Mlh3NHFwUjFNcEFzNEt2RU1aR0Y1cEJPazV5VFlyWWpTZURONnlRYURVaUVMNWhTcFwvZmx0elwvRWxiajlkOFp0ZlZTenF1TXV3STNcL1dmZ3VmN1FjY2NRdFhcL0RNTDM2Nzc1TVViQTRZQ1V6b0hRRmN3N3R5MDYyYjZHOFZLU2p4VHVaUmJrMFNtWndkaVVkalExVXlJXC8xbTVyWlZzY29qSjEzVU55TFErMTI3VnNDdzd5TTc5SnlXSEJHRkkwQ1ZpWWlnWFFuWWN4OGhRMlNtc05TeDQyVmRIVVRXQzl4RVdBVzhFcG9pek5aTjZhbGxPVWVXZVpjVEd6NldGRHU3QWd3M25nclBDdjlpNEJZSGR2ZTM3eEZuY2JQSk5nNkhHaXpSekc3K2J2RHA5amNQMVFGZWIzUkNrVVVPTWdwdUJ1S2YzZUQzOElpZXkxdHdud3lKOTZ6N2J3RExQdlZ0VlFJY2QwNUs3c1dpejRqOEhzVGhHeVR3UU5xTlJrT25mSnp5TUkrQlFHb3FKS2w0SEwxOGNESFwvalVqdENYQlEyTVdUOTNmMklJcU9tWVJybEZFMjhPdWJNZFd2cFdcL1lIRUFydnZVU0dNUGpkalE3NXhERUx2MWZteTYzRkhXTXBaeDVZSm9XelZjWDRmRDdMR01aY0xQVlJ6MlVKNHN6WGVIVkdyM2hqVWxqZlBISHdMMUJlUisycEVrNFp6NE1IWjhZTzltWDVMcG55a2VHUmYrWW9PRDg1bXVVbVVFSGlcL20xa1lRRmdmbmk0U3RNWUNFVlAxb0c1N3Y0cEpiRnV5eVwvSFdpUzJ4K1FwV3Y3TlZTaFFaeFlkNHpoQlNQZ0pDQmlZZWExNllkNGVkSUtcL2ZVcmhKUER2VG9kVk85WTUzT3MxNms5QXk5eWNSa1Vva201ZnhGdWdRVUM4YnNxeVJtQm9FNW1QS3dSY3NXK0pZeVlRY2tTTWQ5VkoyT3UrUVwvOGFocTBoanMwV1NBNXh0VTJsTTVxZXRnSWFJSHlPMnZGVWZGcStyWXJQZnhVaWRZbEJSR1ozXC8zQk1rU01UVVY1MTQ5UGw3MVhzR0QzcFFFMHpVOHZcLzR0Ym5zb0pvNVlzVld4UmlhR2t3YVZPc0FobVVcL29lMlhVQTRWK0xIXC9KRkpRdWR3NWNpZEYzeHd4OUJFcytnVVJWT3pqOHQ1T3k4UCs0YzRLMG5iaEtIa0dPMUs4c0ZHRzBDd3VSXC9PZ2MzaXZFMm5BNDcySzZlR0l6ZTdRbmNBU2xKSVlKaTlQamx3cDVvNFBKYTZ1UHNQak1Yd3VSclhLdmF6YUFHTDRaQldidXpsMkUzcWplbENOTGFDS2tROTEwSFVIOEJVRFJcL3R1bUpZVkFcL2oxQVljNEpvMXlmem9yYXBqbVZ6dmk4QzFERmh6MHlta0R4T2UweE5nanNlbStESXhvOFloeE9zbmVkbklSdzZ6bDlXYld4NWpPdTUrbk5nckRtMm13dG5VN1dwemxRXC9ZK1dhMFliOWFabHFVSnlJUHpOSlhaeGI0QjJ2Y0VuRjh4ZUNiM3dvdXhsaGJ6N3RQRWw2SG4rTmtcLzJcL2UrSk9RK3ZodDJRZUVWa0M5bnk3SWJzVm55RytaQ3k5MVwvRTVBaW14RzdsOCs4dUUwZVQrWUpDNWpcL2pUUG00T2QrZnI3NFRYajJcL3M4WTRaVW1xSHFXM2NQWTdwRHRqbDZzQ0xMWStIRjJmN2pkQ25rajJ6aUg2RW9Ndkw3RnBGWE54ODR0K2toZTJscnM3cjc0djFcL2l1ZGxaZlBhTGRMWGY3OXY0Wk53YlpRY0lEalFOeHY4SldjWnhjVWJtb0VBdlJYNzdkQURoVHk4OFZ0U0U4a1BUTGpRSURPSlJpQ1NqT1d3VkJ5NFZSOUJzeEtwUTRwcUJLZUFkZUFsV2M4RDJFS2lGbVNGNkpkWUh2ejJYeW90UkdQeXZTWkk0NStJeUhNZ2V1cWRqZGh4c2NpcWQ4XC9zektXUVJoS3VSR3JnME5wY2xLcStWbEdoSjFxK3Z0MFp6Zk9jVEZWXC9WQ3ZoNXBtS0RSajZFNytUZm5uWWF0OUI1UXRFUVJBMVJOYU1aKzJCa0pLU2RGQ1BSQWExeTE1WEpVWnRaZFVhYjB6XC9MenFEdWtZZlMwTGJJVDI4aVdHbkJUcDY3ZW0wSjVpcGJCMzdmK3VUMEpkdlZqODlnOEdMS2tkdjdpQWRsa0lMWUh6SnM3WTZNSFBnTDNiTmN1NW96SzZhXC9iMVhhNEU0TWtReGVoejNtUldndTNkWmFmOHUyNHZxUUs0MVBXa2F2ODJQU2g2bmtqZW1RbVh3MGJtU3dnMEluMDdkZnBVTDA4YmxKTzcxYVdjXC9cLzRsQXhuMmxFaElsQVwvXC9zOFlBWkE1XC9ONjcwS0xYNEd1TTFrV0FwdmpvMEJzbFdTV200MDg2MEhpRXlwN09cL3B3NlVZR2ttQnhBdTMwSDcya1F2Y2lONHp4WG8yT1FnZjFOK0ZCUUlzQ25YbitlXC9xUXJKQlVmK0FMVUM5MmxneTY0RVdLWkRRK2hcL1BNczRmRU51TStTUmF1eXFCM3BmZml2ZXVweGpkcCtpcWtJUnFwT29kNGNzem5FS2p4dFB5RjVZempPWTBtQXBYQUhNZkk4MjZNUmx6dHdnQVpqOG9yXC9jS1wvNk9DeFwvOXlxaUFGYVNXSkwwMWpRV3M0dTB5R0JDWW5YTU40Z2NIbDhDWVhZUG9EUG12dnlZZE5iMHNNQU1SSXA0ejhHTVhTcXY0NW5sYVp3ZEl6YXp4N21jUndLYUtvWjNycEFOdjd0YjZuUVM4ME5DWkFXSFRxQitIbHJKUTBSaU04SXBwNVwvdmFIYWFSUjVHTHVaaDZjTlVzYWJRK3BMU3NMb1MzK29rUFJMK2YrZThvQzZ0eHhGUzM4TGlMZzIxVWM5bEdabGpJY29DQWxXbHlaR0tNbjR4emUxNXkrVkNmS3VyTzI4NFBpeTh3RXdOSWtTUUpcL2VmV0pmQkZyN3pJWTdGbXBUYk9OZWVIeDllS0U5Y0YzSHcrWlphRysyV01DcEpkalp6Q2R1cWFhNlk0ejE3RHF5S1RoM2JrSGpiYkdseDE1UXcxc25UVnFvNSsxWktTeDNFaVU3T2Q4NE94bGlGVk1PSHVWVkZaMHl2ZlVKSFQwOElNSFRhQmtDMTBLRGJoSG93aDVKb0xZWXVvb3NsQ2lRSVdRRFZTNzI3dzVwZmNRK29IbUIzK2k3SzZxUFVLNUwzRGlrcnY1Rjc5aFRqY0dDRnptNFwvaVV0TlZMSFFYem5YVjlWZlVpREllT3ROKzhYK1B0Z1FHRFBzYTlKbzh4SXk5Rzl5ZDBLeTUyckEraXRydUNuXC9BZktWOE5FVVwvZ0dITm1Ld2hraVRVdU4zWEwzSzRueERJWVJ0clZ6YVwvYksxSGQwU3BYN3VFSmZxdHM5UDJKUjVPb2lOeTNpS21kZk1nTktsY0M1XC91WGswUG9seGpvZ1MybVZlaU9HS3dySFwvNXJLVHNKU1pwSU1OaTZmVDRZcm8ybVdmelNKdzVUN3piUTFFMXlsSzFJZlgzeE15aENzaGFDeEkzbXR4NFhLeFBtUG9CRVNoZXlcL252Y2Y1WFljZ0ppb0hhcFlqSkdcLytVMlwvc1ZFUHVHNEJZOEJweXkwYWpra1BFMEJsUjU3SStkV0JkTUpob3VZUWpBM1ptN0xaa0NSRFQrVVFENCtFQVRIQlZodnkzWkRZTjkxSTVBY0d3a0dTekt1UWROVDh2YzVXQVlTaVpYaEpHXC9za3ZnbEJJdmRyaXcxckFvYmJIQXY0UDF4NUV3alAyZkJadnRPeFFmdytIU3BaOTIrZkY4Y1Z1ajVhbHdCaHdiTlJ6VTNzTVNLWXNPVUFuRGxHUnlFUGdGa1A4XC9sTmRoNG1jQUFiNzRJZnBOUEswbWRVcUFVTDB3bnFJaUEwM2czNGllRzV0SHBHaEtUTEhGVkpOc1NWeXVhUUxJNkdOcHYxM0JXQ1JBazFSUHByRmk3ODQyXC9DSHN6eG0wUUVFRll4cU1HbjVnVFZESlwvOXhFSjJwbnduSzZZeHR6SkRLUTFQRkVzdWtjb0kxVE1oODNjRzIwd0VLeWk0cTlQVld1czU3VXRyTm9lVUUyQngwek9iakV5bFRCUlpjckxEMGpSM3V5KzJVbXRNSFJLTUVCUmp2cjlIOERxU1llMkFBMFhQRVBcL3ZPOU12Mkh4Y1NnVEZaRkdzME5rK0VXVHFLRlwvNDJFTE9taE9odDIzNlwvRlRJWHVoSVZQNVh2a3J0cjFyQkNtMms1N3ZYdEp5UGhITWNjaVg0akF4NG8raTlCWEJwWXl5Tjk0XC96RDcrV2pacEJ4T0dUXC93bERraVwvbmh4c281MFBcL2htejBWQ3R6Rk13VGM2WmZTMEJISWZTZ2RCZTJFVGtReXBLXC9HeXhFczNQSGhHM1JVbzFReElhdTBWSGRxb2N6VlcxWXE0bSt5dXJGbFJHN3BSN1JaUE1XVUVcL29tT3VOWFUzTGdndUQrVDA3OVdZXC9VY1I1akgyVjZKdjBEcyszQnZuVE1LeVlrYVFKV0R2YlhjSVlCYnVYWWhRcU10WnZTSTJ3Y0NPOWdRMmZqSDg1QWhSc3o1VXk0V1AzdEJEa1BhcDloUW1yTXFwc0Z0QkE5QUE1K0pMU3BtUlZsM2Uwb01rV05EREJYdmdDN3VyMk9PN1g4QUlESW9BTnBTejAwS3BDb3BDT084R1dFbTFyZ2U2b0N0VStrY1R1TzRWN0hBZTJLNllmREE1bDZIcGNnR3N2S2lYTDZnSDNsdVNMV3lneTRvTjQxNXE1SWZWS1R4MjA4XC9xMk9xQlh2UEZvUmhJcnIwTjcwT1A5VmgyMzdYRUZTUkx3ZFc0UzVGb3dadlRwZ2dYQ05uOVk1TlZ4SmI4SngzWlBQcHNEZERVeUpMUFE1d1o3MEJVNVYzNCtBUFFHdjFFRGR5b1dOaTZQTUtXbE5pRkJZRFI5bUZBaFVaSnpRNG1wbHVrZkR4TlE1MlE1UDhDckUxTkU4UXZrYTFraUtCNWhCUndTeFlzblJhRFpHMEwrNXNqOWJhRHZBVkEyWVQ3RExocldEZHFqakpVRlk3WGFTQ1wvd08walV2cjVvcWpWWGtiSkVtUXZ6cTg1V1A0SHkyQWlNWmNZcTBKS0hwbTF2eExFSTVkN25vZnE5WmJpSnYzRWhvbmxaaVlxNlwvU1dWdVFmVzIrTkgxSjJQNnZIUmpvdStiSlJcLzBNR2NXblNKeWppSXFTcDl3Y201UGFpOFBPaDM1T1FWSkhDYWFxNVEwQVJqMnJaWTZPd3VVZldlek11SXc2U1dmWFRic2ZvYmw1SWRuMEp4V0VnUnVpcmtpdUNzTDA3VG0yUkJPY0xKeGtTS0MxaTlBT3lnYnF6RHY4emNqVVd6MHZiTG5KWlJtaDZyMTRCK2JIYWc4N2JJR3N2K2dZMmxWR2QrYktPT2szOUs4MGdGUmRSK3dpTkhLQ09cL0pySTZhS0tJbENnek9TeU93ZzFxOTM5cER0ZlcxeE91eXllYXFnXC95YXIzcDNLd3Z6eTNiU3BEOGVmMXhDVUN6MFNJTldmWTdQRzJcL2Zpa3VmbDhGR05UcVBGUkVPNU1mTjVoNUNBdkI0ckkxU0FHcVZMQk15NTNCSFFFRGhQTDI5ZjQyMkh0WWxrNXllMXlCS1B2ZitDVUxHOTRUWkhtYU5IYXhNQ2VxZ0pNRDdNWHlGYWE1bHM5aFpnZHhJa2RRdm5wWmN4dWFIdzUwOXlrWW9SOUFSb3ZBWjlKYTRmdytTWTRVNmpJOCtTTFROalBjdEJDbnp5RmFFbHNaWnBGdXpLeDFjVFhpN2lRazE4YktNY2RlR2gyMGIrTkpVNGxrY1JCVnRTTFJFOEdwVmJibW9RU3RIc2J6ZlpSWEpXNmFrcVFBekEyaFR6eVB5TmY1UlFPeGN1a3c5M2RkNWprekJjSHRLK05hc1d1MFJjc1AzYng1RFJqXC83OUsxbHF4Y1VIbU1BUGNJTkpjcFY1WjlrTTAwOGdsXC9uXC8yUVwvUCt3ZHBYTUc3RktOV2FlV2h0YWVUcmJcL3pOXC9nTnBCUURhdFlwcEo4VHp4MmRzZDVcL2g5dzAzUWNERXUrOVZOK2ZMVEpuQkJUOVdEYXVpZ3hhckhYNjZrVkxqUWVyd1RXSFlSTWpBRlYwa29ick5zbW5cL0VNOEcrRUFnXC8xWFRYYVRqRmtRdlJnUlM3QlVHMTB4SEJudytBdnFQUHcwcU10ZTA1bVA4cmZcLytOUnM1VHp3cldCVVVvSzg0N01Nb1BJMnJCNlNYZXoyNUtqRjlvMDJNSFRod3Z4a2kraWZ6eFVqTVptS0ltcGt2eFM5QnBnQVYydGpsdklXa2ZoR29ZdStMdzdRYVlmbDhyVmV1SzQ0TG1MWE1NemxyOFoweVNObWJOOXNBVkZmd3V5a2ZHZ1BLa1pPSVpMbUZ2bVl3OUcyWFFUK3dIXC9zak1PSzNmSkRnb3pWbTE0RUxLM1QwVWI0V3FGbFUzZmNyWDBuaVlNMW9oVVdRUWhORmNwc2pWaFVMQmRUekN3bTlWQk8rMStERmZ5ck9ZQUhlRFI1a3ZDSzJrYVpuTDJyZjJ2d1JGU2xXb2dvUnFjNWd3QWdVV2RcL2J0K1dZUzdlMFltRGZDMmNHQ1l6cUxLUTE2NHVEdmN2bnZPM2RaVmpETkx4WTFtYlZHejdGa2dBZXNieEQ5dXlzTFJFMHJnQ0w4RW1Jd2haNDdPQmtmN2h3NHM0RXE2a01LR3lHWXI5TmZ2M3FRTDVzRm5seERLXC9oMkE1VEdGSlpYWkNka0ZTbDFpNGNRZEtMZ0tHSndcLytSSktTR3hBYTNGZEFDckV0b2kxNDFzTllsd0hwQVB6OVY4VFNtdFJKRER3QUlYVXhSc09BWmE3enVUOWQzVHp2bzZaalZ6dDZ4c2ZhQ25XUWloeFkzTTQ3RGpXTkdDdTVuM1h4azRVRFdYZWxQSUZJdVVlQkRMNFR5MVhPSzg2bUV3ZFUxSTVKSUVuVWIzMHVcL3lMREZacHpoWEc3enowOFJkMDN5NDZOTGI0RktWMHp1d1dpM2luWHltbXFKS0xiVm5rdEpha2FlTVRwRjgzZHhocDVGRmVRdEcyY1wvOW93aFk1UnBhZVlaaXdIc1hMWmZXNE5JaWlmbzhpS3JPMFFrZkVnYVhoK2dERit4c0ltdWI0WGVEUklWWlwvMXRScFpBZUVxWkh6eHBGVks0Q0dEeWpmaTkwWGgrY1JnM3dVdkNCMElyY0EwcVVwelcxb2RGaWIxenZOUVJSYXlOYWU1aUI4QlBcL2craGpETjduU3pvaVI3ZjU2eGoyWXNzN1ZqQWloWlJjRTcrWVhnaG1WckxPRzJMbG5sNXFvdG1qN1luRXJySTg5OFwveFwvT3ZXNnk2R1E5d2RKRUpxNHo5RVltTWZBNURqWTNPQzlIS2s5cUNvT0h0bXFjT29DNzdROE1LYVwvMHpYUys1aFJxYnprVkI5Ym9YUW1ESFdcL3d1RUNrTDdwdWp3QXFiWkNzTHF0MW9mdzFwaHNuYkZPQVFYVzBkN05jOHpQaWdWNjFhTGtOMFBCUHY2NlJzVmtFaERxbDVoSTduNVptYTdFTEVHWTFycWtVVmJlNk1zcWNrU0xyTXdKVG1TS0dNTDlkSXlPM2xKRWtqR3dPMmFyQ3l1ZUlscVJGaFc0SXpkN2dpeDBHQlduOWU5Nml1UUpkK3ppS1V2Z05CSzZoMGYxcEVmcG9NOUgyTW9UVm9KVW5meHVpSnFJVnhIeUJzN1R4V29HUjlsdWhoNWpySlwva014bm9VR21BNVA3bkdHMTBlcEZ1N0h2VjcxbEdIWFNwamxDNkhqenJJUFpqSGNBMmdyalhIMWJrUDZaOGI5MEthY0FUWFwvNlMrRXp2bExTcHRNclNSSTVHYUJJZnRVdEQ2a25QM2NjVlwvSGxNT0xZRXNhcUR2QkVORFErWDEzYVlcL2o4blwvUmRxVjJ6NE9xcVpwSlcweTdkYjIrUlFVTDZYekN0OW1lZHFHM0RvRkw0SFM1THBwQk9YMTJadmRBUjFnVndNZW45UDFLR205ajVHenRDdVVwbEVyZSs4MTJSb0djTVQzRjJnV3l0dEhTWXJsMENyY1RMT2c2RG5oVHgzTHRuSmRHdlV5cDh5SmxkVWJcL2UyZm95UldWQkdyektYTVFXNmdrU0xTU2tPZ3pJS3FreGNraXMwb0hEclE5bzlpT2s3a2lNdG5MdGVYYWhoeXg5VmRDbERUZ1R2SEw0NFV2bGY1aVFGeXRHSkRPekxHNXJjYm93NUZXWjQwNTNDekp4ekt2R1psSUJ6TEpxRFFXVmxncm9DZVJycXhMVUFMc3NOejBOQ2NwcHRWSTRHQnRjR2lPeVRcL2xQTEdOY2xIWUQ5bVVlek81NjNlVHkybktPZFwvWVEwNkZLXC81TTU2UjVUWDRqZjhDNTJCcExZRmZ6VEpaa3poMWpQMStFQlBrTGFFXC9nR3ZvS3IxQmhLdW92a3l4dWpuM0tteWtOVXFUeVEyWUNcL1ZoZmZOVTRQSXJzaTZLYXVFZmNoWEFLUDE1K0poWGY3TXo4WGIrT3ZIazRMeEZZdHphMHNkUmRYOGt5ZWpsbkJkejBkaXo2Y0RlcWplODlrbDI5Vm41QXNadE45NXdLR2xvZzBQWVhtMHpTNXl4SEFqbzh2QjFlQ3BrOGkxeU9jRFR5WHRFQkkxVmxrb1UraDFXQ2x1WnhUYnJxbFV3dThCelVTcElBMkFQMndYYmJjcjYrSlFOTVBpTzVEQXEyYTVJS3ZBeXJuaUZJRjZrb3I1WUpIK3pVcUpua25UUThpVW1YVzZ2S09FYVNvT29LVXFUNXlwdUZVbEFBd0w5YjdkeVZpMUhNMVRPbGkyUTFNZTh1KzZDMXVqOUF3WHBcL0NqOFVtYXBCcVBqZDNxNG9DU0RwYWJzSlE2aWhNWkhcL0lBSTNYcGR0QWpIb1lrQ3Z4bHZkS2hhblwvRW9HXC9pOW41aFwvQlVDeXBmNURkaUt0Z0tZUlluXC9tVFp6SnltQVZ3eDhXUnBLRkhDcGdIbFwvOFVCOWRUV3JRcEZXNExRTzBaWDBDRkNNN0UwXHgzZFx4MjIsXHgyMmdsb2JhbE5hbWVceDIyOlx4MjJ0cmF5cmlkZVx4MjIsXHgyMmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iXHgyMjpceDIyXHg1Ym51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXHg1Ylx4NWQsXHg1Ylx4NWRceDVkXHgyMlx4N2RceDdkJywnVCc6ICdBU0FGQVVJQjhEWFE0QWNpV3NPVFNYbHFCM3Z6TmhaaGhiUWczSHN1X21KNEZpenVNT0FaSV93WEhYaWV4eVI4TkkwVzg1UEhWU3Y0U0FLanU1UVMyMjBkZ29rXHgzZCcsfSk7fX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iVklxM1FMREd6bHVpbGVUX3dYODh6QSI+aWYgKHdpbmRvdy55dGNzaSkge3l0Y3NpLmluZm9HZWwoe3NlcnZlclRpbWVNczogIDUxLjAgfSwgJycpO308L3NjcmlwdD48bm9zY3JpcHQ+PGRpdiBjbGFzcz0icGxheWVyLXVuYXZhaWxhYmxlIj48aDEgY2xhc3M9Im1lc3NhZ2UiPkFuIGVycm9yIG9jY3VycmVkLjwvaDE+PGRpdiBjbGFzcz0ic3VibWVzc2FnZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj10cDZ1Ri1iUEc2RSIgdGFyZ2V0PSJfYmxhbmsiPlRyeSB3YXRjaGluZyB0aGlzIHZpZGVvIG9uIHd3dy55b3V0dWJlLmNvbTwvYT4sIG9yIGVuYWJsZSBKYXZhU2NyaXB0IGlmIGl0IGlzIGRpc2FibGVkIGluIHlvdXIgYnJvd3Nlci48L2Rpdj48L2Rpdj48L25vc2NyaXB0PjwvYm9keT48L2h0bWw+"}},"time_used":73,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":70,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:32.325Z","timestamp":1785137072325,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=qIDWRSMhLXEwhRO4xETATQPR3jvQyZo5T4h1SiDwJZFeQABsv_T5rYcMTLyacdftQe1HFuTQYjCxldnVpZp74VYBMv_rUVwgOJ5HUwk7m3JIuCd9ZG52YE8hl7osllUIaKR2lm2Uof5aC684VV5dlQS3kmZBv5qVoUMTOzsGqPehMT1KjkhyJLxLtvige5qHG872p_pLGkmERGh0bmiKBMP7ZZDLQotiJ1KMNThxulgS-EDDia5j6Hykxc6wr_Ao78rVG6XGls6peXe6iAAIyvMNaTz8Cp_9-G3okp6kxCIuNJKmfPqv4_6k45-NAxJPqfBHRLWzFAp4sda6-ccaAA; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxjX2KroqfKVAw%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 235736\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:01:31 GMT\r\nexpires: Sat, 24 Jul 2027 13:01:31 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 238981\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":942843,"size_decoded":236650,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65533), with no line terminators","md5":"6f2dc696d3e2c5e8b0536728ac5a3aea","sha1":"8da6a7915f0b3ff607db13862fc417574d8d4999","sha256":"4036991c2199a96276eabd866d75631508768ad958639f2ef3d985061bddef47","sha512":"481bcb7979552bb2b61e9faaf2cc6abdeeb36c7e5e4e0a483ba1e93c62bea4c29bd94f525ec183b9a9bb4518f02e3e9748be080d771f801fa3cc7d4e73a09116","ssdeep":"12288:Rhrh0EencTyXGld16WDVcIm4zDSG8UvCeoBJjlXc7WPz6/wWXqkZTNvl6hkTeubf:R41jofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"a2159ff0b25271b4d147b926fab7c003b57e4903e2081879f0a7ae9c55fca942e77729","first_seen":"2026-07-24T13:38:07.888738Z","last_seen":"2026-07-27T16:56:48.650117Z","times_seen":570,"resource_available":true,"data":"InVzZSBzdHJpY3QiO19GX2luc3RhbGxDc3MoIjpyb290ey0tdDdmNGYyYzZkNTQ4MzZjZTA6aW5pdGlhbDstLXQ3ZDhiOGU1ZWUyOTFhZWMwOmluaXRpYWw7LS10NDcyNmM2OGVmNmQ3YjA4Zjppbml0aWFsOy0tdGYwYTBkMTE1NDgyNzg0N2Y6aW5pdGlhbDstLXQzZTQxZDdiMTdiMTg3ZjY5OmluaXRpYWw7LS10ZmY2NTk5MzM4NGJiNDU2MDppbml0aWFsOy0tdGUyODY3YjEzZDc3MWQwNTU6aW5pdGlhbDstLXQ5MzNkNzkyMmYzMTU4ZGM1OmluaXRpYWw7LS10MjY0ZTJjOWNiODc4OTFmOTppbml0aWFsOy0tdDIwNmYzZmEyZTAxYWYyMmQ6aW5pdGlhbDstLXQzNGY0NmYwZjJjMTNkMzI4OmluaXRpYWw7LS10ODU0Yzc5MzM4ZDhjYThhNzppbml0aWFsOy0tdDIwNDgwNzE3ZGU4MGY1NTU6aW5pdGlhbDstLXQyZDgwN2JiNzllNzU2MDZkOmluaXRpYWw7LS10NjE3ZGI3NzZhZjBkZTE5Njppbml0aWFsOy0tdGI2MjgxMTdmYzE2NGFkODc6aW5pdGlhbDstLXRkNTQ1ZGYwNGUyYzY1OWQ3OmluaXRpYWw7LS10NTM5OTFkNTk5YjE0ODhmNTppbml0aWFsOy0tdGE4ODlkZmRhOTYwNWEzNTg6aW5pdGlhbDstLXQ1OTc4ZGE4ZDU4NGI4ZmU5OmluaXRpYWw7LS10MTI0YjdkYWZlOWJjMzY2ZDppbml0aWFsOy0tdGRiZTUwZDI3ZDUxZjUwOTM6aW5pdGlhbDstLXRhNTY0ZDgyMTJiY2NiMTZhOmluaXRpYWw7LS10OTlmNzc0Njg0Y2JiOTcwMzppbml0aWFsOy0tdDRlNmRmOWIyYjZiOTdlMDA6aW5pdGlhbDstLXRiOGIzMWFjNTYyZmJlOWI1OmluaXRpYWw7LS10NTg4NDY3MjAwNGQ1NjEyMDppbml0aWFsOy0tdGVmNzBjYTI0NTQ0NWI1MmI6aW5pdGlhbDstLXQ0ZjA5MjJlNWEzZDBjMjBmOmluaXRpYWw7LS10N2RmYTZmODRjOTM0NmVkZjppbml0aWFsOy0tdGVjYmRmOTI0YjYzYjI3ZmM6aW5pdGlhbDstLXQxNDA1ZTcwYTM5Mjc2MjkzOmluaXRpYWw7LS10YWQ4NDQzZmFlZDY2YzExMTppbml0aWFsOy0tdGU2ZDJiNDI4ZGU2ODU1NGE6aW5pdGlhbDstLXRjOTgwYzU0NzgxMjRjOGM3OmluaXRpYWw7LS10OTY1NjQ0ZWNkYmU0YjdiODppbml0aWFsOy0tdGIxNGExMGMzYjQzYTE1YTM6aW5pdGlhbDstLXRiMTNmZjg3OTc4MjllNzllOmluaXRpYWw7LS10ZTU2NjhlNjExMWFiYTBlZDppbml0aWFsOy0tdGE3ZDYyOGZhY2ZlODRkMTg6aW5pdGlhbDstLXRiZTQyMjY5NTM0NjU1ZTY3OmluaXRpYWw7LS10YWI4MDU5MjM2MDYzY2FkYjppbml0aWFsOy0tdDczNWU0MzVhOGI3YWQ2N2M6aW5pdGlhbDstLXQyMWFmMDhmZGJmNmExNDA2OmluaXRpYWw7LS10YzYwNDExM2QwOWZlZTA1ZDppbml0aWFsOy0tdDA4YTdjNmMxNzZjYmM1YzI6aW5pdGlhbDstLXQ4Y2RjOTg0NmE3NmNhZjFmOmluaXRpYWw7LS10ZTFiNjRlNjk3MTA0MDM5Njppbml0aWFsOy0tdDQxNmU1OTMxZmM0NjQ1ODk6aW5pdGlhbDstLXRiN2Q3NGJiMzI5MWM5NTFkOmluaXRpYWw7LS10ZjNmYzg1NWFmMjI4NWY1Zjppbml0aWFsOy0tdDBhMTI0OWY3YzllODJiNWU6aW5pdGlhbDstLXQwMmMwYTJjODY4YzE0Y2U4OmluaXRpYWw7LS10ZDg1NjJjZGMyMDNiYzY4Mzppbml0aWFsOy0tdDUzZGRhOTEyNWU4ZDEzMjQ6aW5pdGlhbDstLXQ1NDRlMzE3MTRmNjNkNTNjOmluaXRpYWw7LS10ODdlYWJmMTEzYTE1YWM5Njppbml0aWFsOy0tdDg1OGI4MDlmODA0NGU5NjI6aW5pdGlhbDstLXQwZjU5MjkxY2U1NTA0NTQzOmluaXRpYWw7LS10ZmFhZTk2NjkyY2MxODJlNDppbml0aWFsOy0tdDUxOGU5MjVmNjFiZGNiOTE6aW5pdGlhbDstLXRiOTI3ZjVjMDE0OTAwNGM2OmluaXRpYWw7LS10ODMyZjIyY2U2NjE4ZTk5ZTppbml0aWFsOy0tdDQ1YjJhMzgzMTQ5MjQzNTc6aW5pdGlhbDstLXQ2OTMxYWExODI2YjM3M2IyOmluaXRpYWw7LS10ZWQ0MjM2NTM2ODk5ZTRiMzppbml0aWFsOy0tdGRjOGFmNjc1MGYwZGFkMGQ6aW5pdGlhbDstLXQzNDEwYzkxNjQ5ZTVlYjhhOmluaXRpYWw7LS10NGFlYWE4NTdkZThhNzg2Yjppbml0aWFsOy0tdDI5NmM3ZjgxZGQwOWE5YzM6aW5pdGlhbDstLXRmYTM0NzVjNTA4ZjVkZmVmOmluaXRpYWw7LS10OWJjMGI3NDAyNDJkYTAxNzppbml0aWFsOy0tdDQ0MWEwZTQ0ZTQ5NTM4MWE6aW5pdGlhbDstLXRkZTQxMzM4ZmMyYmQ0YmE1OmluaXRpYWw7LS10NGQ3Nzc2YzI4ZGIyMTEyMjppbml0aWFsOy0tdDdlMzRkNWJhYTRlYTYyNzc6aW5pdGlhbDstLXRjNGIyNjA0MmQ0Y2IxNDFmOmluaXRpYWw7LS10NTIwOGZkMTc3YTc4OGNmYTppbml0aWFsOy0tdGZmYzJmZDNhNjQ0ZjYyNzU6aW5pdGlhbDstLXQ2MjE2MTg2YzI4YjM4MzRiOmluaXRpYWw7LS10NGE2ZGExOWUxNmJmMjIxYTppbml0aWFsOy0tdGQ5YzE5ZjRmOGNlY2Q1NmU6aW5pdGlhbDstLXQzZjNiZGI0MTQwZDNlYWQ3OmluaXRpYWw7LS10OTA0YTg4YzYyM2NhMjdhYjppbml0aWFsOy0tdDJjM2JiZmY2YzE1YTNlYjI6aW5pdGlhbDstLXQwY2NkMWFjZTAwMGQ1ZTkzOmluaXRpYWw7LS10Yzg3ZjZhN2YwNWU2NWZjNDppbml0aWFsOy0tdGMwNGJhM2U3MzU2MTk1M2M6aW5pdGlhbDstLXQ3YzQ5NjVjMTFmODUzN2MwOmluaXRpYWw7LS10NDMyZmJkYmQ3ZjJmM2Y3MTppbml0aWFsOy0tdGFmMWJkZDk2MTQyM2MxNWY6aW5pdGlhbDstLXQ5ZDdiZGNhZWZjOTc1ZDQ0OmluaXRpYWw7LS10NGZiMGY2N2IyNTFlMWE0Mjppbml0aWFsOy0tdGEwOGUwMzY0MTBjMTQ1Mzg6aW5pdGlhbDstLXQ3ZjliN2UxNjAzZTIwYjk0OmluaXRpYWx9LmRpYWxvZ3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxNnB4O21hcmdpbjowIGF1dG87b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2ZvbnQtc2l6ZToxLjNyZW07Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOm5vbmV9LmRpYWxvZy5tb2Rlcm4tZGlhbG9ne2JveC1zaGFkb3c6MCAwIDI0cHggMTJweCByZ2JhKDAsMCwwLDAuMjUpfS5kaWFsb2cucm91bmRlZC1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czoxMnB4fS5kaWFsb2cubW9kZXJuLWRpYWxvZy1sYXlvdXR7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MjRweH0uZGlhbG9nLWJvZHl7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO21heC1oZWlnaHQ6MzAwcHg7bWF4LWhlaWdodDoxMDB2aH0uZGlhbG9nLnNjcm9sbGFibGUgLmRpYWxvZy1ib2R5e292ZXJmbG93LXk6dmlzaWJsZTtvdmVyZmxvdy14OnZpc2libGU7bWF4LWhlaWdodDp1bnNldH0uZGlhbG9nLWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS5kaWFsb2ctaGVhZGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZGlhbG9nLWJ1dHRvbnMsLmRpYWxvZy1oZWFkZXJ7ZmxleC1zaHJpbms6MH0uZGlhbG9nLWJ1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLXRvcDoxMnB4fS5kaWFsb2ctYnV0dG9ucz4qe21hcmdpbi1sZWZ0OjhweH0uZGlhbG9nLWJ1dHRvbnM+OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LmRpYWxvZy1mbGV4LWJ1dHRvbnstbW96LWJveC1mbGV4OjE7ZmxleDoxfS5kaWFsb2ctZmxleC1idXR0b24gLmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW46MH0uZGlhbG9nLWJvZHkgYSwuZGlhbG9nLWhlYWRlciBhe2NvbG9yOiMwNjVmZDR9LmRpYWxvZy1ib2R5IHl0bS1tZW51LWl0ZW0gYXtjb2xvcjpjdXJyZW50Y29sb3J9QG1lZGlhIChtaW4td2lkdGg6MzMwcHgpIGFuZCAobWluLWhlaWdodDozMzBweCl7LmRpYWxvZ3ttaW4td2lkdGg6MjUwcHg7bWF4LXdpZHRoOjM1NnB4fS5kaWFsb2ctY29udGFpbmVye21hcmdpbjowIDQwcHg7cGFkZGluZzowO3BhZGRpbmc6MCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KX19LmRpYWxvZy1mdWxsc2NyZWVue21pbi13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjFweH0uZGlhbG9nLWZ1bGxzY3JlZW4+LmRpYWxvZy1ib2R5e2hlaWdodDoxMDAlfS5kaWFsb2cubW9kZXJuLWRpYWxvZy1sYXlvdXQuZGlhbG9nLWZ1bGxzY3JlZW57Ym9yZGVyLXJhZGl1czowfS5kaWFsb2ctY29udGFpbmVyLmRpYWxvZy1mdWxsc2NyZWVue21hcmdpbjowfWMzLXRvYXN0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1O2xlZnQ6MDtyaWdodDowO2JvdHRvbTowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjE0cHggMjRweDtmb250LXNpemU6MS40cmVtO2NvbG9yOiNmZmY7YmFja2dyb3VuZDojMGYwZjBmO3dpbGwtY2hhbmdlOnRyYW5zZm9ybTttYXJnaW4tYm90dG9tOi0xMDAlfWMzLXRvYXN0Lmh1Zy10b2FzdHttYXgtd2lkdGg6MzQ0cHh9YzMtdG9hc3QuaW52ZXJzZS10aGVtZXtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzAzMDMwM31jMy10b2FzdC5pbnZlcnNlLXRoZW1lIC5idXR0b24td2l0aC1pY29ue2NvbG9yOiMwNjVmZDR9W2hhcy1zYWZlLWFyZWEtaW4tbWF4PXRydWVdIGMzLXRvYXN0e3BhZGRpbmc6MTRweCAyNHB4O3BhZGRpbmc6MTRweCBtYXgoMjRweCxlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSkgMTRweCBtYXgoMjRweCxlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKX1baGFzLXBpdm90LWJhcj10cnVlXSBjMy10b2FzdHstLXNhZmUtYXJlYS1pbnNldC10b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApOy0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbTplbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7Ym90dG9tOjQ4cHg7Ym90dG9tOmNhbGMoNDhweCArIHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTttYXJnaW4tYm90dG9tOi0xMDAlO21hcmdpbi1ib3R0b206Y2FsYygtMTAwJSArIHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTt6LWluZGV4OjJ9W21vZGFsLW9wZW4tYm9keV0gYzMtdG9hc3QsW3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gYzMtdG9hc3R7Ym90dG9tOjhweDttYXJnaW4tYm90dG9tOi0xMDAlO3otaW5kZXg6NX1jMy10b2FzdFtkaXI9b3V0XXt0cmFuc2l0aW9uOm1hcmdpbiAxOTVtcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfWMzLXRvYXN0W2Rpcj1pbl17dHJhbnNpdGlvbjptYXJnaW4gMjI1bXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTttYXJnaW4tYm90dG9tOjB9QGtleWZyYW1lcyBzcGlubmVyezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5zcGlubmVyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zcGlubmVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjoxMnB4IGF1dG87d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MnB4IHNvbGlkICNlZWU7Ym9yZGVyLXRvcC1jb2xvcjojNjY2O2FuaW1hdGlvbjpzcGlubmVyIC44cyBsaW5lYXIgaW5maW5pdGV9LnNwaW5uZXI+LmhpZGRlbntkaXNwbGF5Om5vbmV9LnNwaW5uZXI6bm90KFtoaWRkZW5dKXtjb2xvcjojMzMzO2ZvbnQtc2l6ZToxLjZyZW19aHRtbHtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtmb250LXNpemU6MTBweDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn1ib2R5e21hcmdpbjowO3BhZGRpbmc6MDtwYWRkaW5nOjAgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdy14OmhpZGRlbn1baGlkZGVuXVtoaWRkZW5de2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbn15dG0tYXBwPi5zcGlubmVye21hcmdpbi10b3A6MTAwcHh9eXRtLWhlYWRlcntkaXNwbGF5OmJsb2NrfWhlYWRlcntoZWlnaHQ6NDhweH0ucGxheWVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NDhweDtyaWdodDowO3JpZ2h0OmVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6Mn1baGFzLXBsYXllci1jdXN0b20tY29udHJvbD10cnVlXSAucGxheWVyLWNvbnRhaW5lcntvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0jcGxheWVyLmlubGluZS1wbGF5ZXItaGlkZGVuLC5pbmxpbmUtcGxheWVyLWhpZGRlbntvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZX0ucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjU2LjI1JTtvdmVyZmxvdzpoaWRkZW59LnBsYXllci1jb250YWluZXIgI3BsYXllci5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple2JhY2tncm91bmQtY29sb3I6IzAwMH0ucGxheWVyLWNpbmVtYXRpY3N7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6IzAwMH0ucGxheWVyLWNpbmVtYXRpY3N+I3BsYXllci5wbGF5ZXItc2l6ZSwucGxheWVyLWNpbmVtYXRpY3N+LnBsYXllci1zaXple2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnBhZ2Utc2hvcnRzIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwucGFnZS1zaG9ydHMgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTowfS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItYXBpe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ucGxheWVyLWFwaVtoaWRkZW5dLC5wbGF5ZXItYXBpW2xvYWRpbmc9dHJ1ZV0sLnBsYXllci1hcGlbcGxheWFibGU9ZmFsc2Vde2Rpc3BsYXk6bm9uZX0jcGxheWVyLmlubGluZS1vbi10aHVtYm5haWx7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowfS5wbGF5ZXItY29udGFpbmVyIC5odG1sNS12aWRlby1wbGF5ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjB9eXRtLWFwcHtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6aGlkZGVufVtoYXMtc29mdC1iYXI9dHJ1ZV0geXRtLWFwcHtwYWRkaW5nLWJvdHRvbTozMHB4fVtoYXMtcGl2b3QtYmFyPXRydWVdIHl0bS1hcHB7cGFkZGluZy1ib3R0b206NDhweH15dG0taGVhZGVyLmlzLWF1dG9tb3RpdmUseXRtLWhlYWRlci5zdGlja3ktcGxheWVyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLmlzLWF1dG9tb3RpdmUseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuc2hvcnRzLXRvcGJhcix5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6NDtwYWRkaW5nOjA7cGFkZGluZzowIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpIDAgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KX15dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVyLm91dHt0b3A6LTQ4cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTk1bXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbH15dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVyLmlue3RvcDowO3RyYW5zaXRpb246dHJhbnNmb3JtIDIyNW1zIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9LnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntwb3NpdGlvbjpmaXhlZDt0b3A6NDhweDtyaWdodDowO3JpZ2h0OmVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6Mn0ucGxheWVyLWNvbnRhaW5lci5oZWFkZXItaW4tcGxheWVyLC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXIuaGVhZGVyLWluLXBsYXllcnt0b3A6MH15dG0tYXBwLmlzLWF1dG9tb3RpdmUseXRtLWFwcC5zdGlja3ktcGxheWVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6NDhweH15dG0tYXBwLmlzLWF1dG9tb3RpdmUuaGVhZGVyLWluLXBsYXllcix5dG0tYXBwLnN0aWNreS1wbGF5ZXIuaGVhZGVyLWluLXBsYXllcntwYWRkaW5nLXRvcDowfUBtZWRpYSAobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjI1NnB4fWJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjU2cHgpfWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIsYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjI1NnB4fWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDI1NnB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MzM2cHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MzM2cHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLWFsbC1sYW5kc2NhcGUtdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn1Ac3VwcG9ydHMgKGFzcGVjdC1yYXRpbzoxNi85KXsubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTp1bnNldDthc3BlY3QtcmF0aW86MTYvOX19Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIHl0bS13YXRjaCAucGxheWVyLXNpemV7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNDhweCk7bWF4LWhlaWdodDpjYWxjKDEwMHN2aCAtIDQ4cHgpfX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MjEvMTApIGFuZCAobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn19QG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOjE2LzkpIGFuZCAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDMzNnB4KX0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IC5wbGF5ZXItY29udGFpbmVye2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QHN1cHBvcnRzIChhc3BlY3QtcmF0aW86MTYvOSl7Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDphdXRvO2FzcGVjdC1yYXRpbzoxNi85fX19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjUwMHB4fWJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIsYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjUwMHB4fWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDUwMHB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfX1AbWVkaWEgKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnNob3J0cy10b3BiYXJ7cmlnaHQ6NzJweH0ucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTpjYWxjKDU2LjI1JSAtIDk2cHgpfS5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciB5dG0td2F0Y2ggLnBsYXllci1zaXple2hlaWdodDpjYWxjKDU2LjI1dncgLSA5NnB4KTtwYWRkaW5nLWJvdHRvbTp1bnNldDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwc3ZoIC0gNDhweCl9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206NTYuMjUlfX1AbWVkaWEgKG1heC13aWR0aDozMjBweCkgYW5kIChtYXgtaGVpZ2h0OjI0MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206NTYuMjUlfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1hcHB7cGFkZGluZy10b3A6NDhweH15dG0taGVhZGVyLHl0bS1oZWFkZXItYmFyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6NH19LmNvbnRlbnQtZXJyb3J7Zm9udC1zaXplOjEuNHJlbTtwYWRkaW5nOjEycHg7dGV4dC1hbGlnbjpjZW50ZXJ9I3BsYXllci10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtvYmplY3QtZml0OmNvdmVyO21pbi1oZWlnaHQ6MH0jcGxheWVyLWNvbnRhaW5lci1pZFtwbGF5YWJsZT10cnVlXSAjcGxheWVyLXRodW1ibmFpbC1vdmVybGF5e3Zpc2liaWxpdHk6aGlkZGVufWJvZHkucGFnZS1zaG9ydHMsaHRtbFtwYWdlLXNob3J0c117b3ZlcnNjcm9sbC1iZWhhdmlvci15Om5vbmV9Ym9keS5sb2FkaW5nLnBhZ2Utc2hvcnRzICNoZWFkZXIsYm9keS5sb2FkaW5nLnBhZ2Utc2hvcnRzIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcntkaXNwbGF5Om5vbmV9Ym9keS5wYWdlLXNob3J0cyAjcGxheWVyLWNvbnRhaW5lci1pZCxib2R5LnBhZ2Utc2hvcnRzIC5wbGF5ZXItY29udGFpbmVyICNwbGF5ZXJ7aGVpZ2h0OjEwMCU7dG9wOjB9KnstbXMtZmxleDowIDEgYXV0b31idXR0b257cGFkZGluZzowO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9aHRtbHt3b3JkLXdyYXA6YnJlYWstd29yZDtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5W2Rpc2FibGUtdGFwLWhpZ2hsaWdodD10cnVlXSBbcm9sZT1idXR0b25dLGJvZHlbZGlzYWJsZS10YXAtaGlnaGxpZ2h0PXRydWVdIGEsYm9keVtkaXNhYmxlLXRhcC1oaWdobGlnaHQ9dHJ1ZV0gYnV0dG9uey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1odG1sW2Rhcmtlci1kYXJrLXRoZW1lXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9aHRtbC53YXRjaC1zY3JvbGx7c2Nyb2xsLXBhZGRpbmctdG9wOjQ4cHh9aHRtbC53YXRjaC1zY3JvbGwuc3RpY2t5LXBsYXllcntzY3JvbGwtcGFkZGluZy10b3A6Y2FsYyg0OHB4ICsgNTYuMjV2dyl9aW5wdXR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nLWJvdHRvbTo0cHg7b3V0bGluZTpub25lOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7bWFyZ2luLWJvdHRvbToxcHg7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzczNzM3Mzt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9aW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9aW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfXRleHRhcmVhe2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZy1ib3R0b206NHB4O291dGxpbmU6bm9uZTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO21hcmdpbi1ib3R0b206MXB4O2ZvbnQ6aW5oZXJpdDtjb2xvcjojMDMwMzAzOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTttaW4taGVpZ2h0OjguNHJlbTt3aWR0aDoxMDAlO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6OHB4fXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfXRleHRhcmVhOjpwbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX1mb3Jte21hcmdpbjowfWF7Y29sb3I6Y3VycmVudENvbG9yO3RleHQtZGVjb3JhdGlvbjpub25lfWgxe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7bWFyZ2luLWJvdHRvbTowfWgye2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuOHJlbTttYXJnaW4tYm90dG9tOjB9aDN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS40cmVtO21hcmdpbi1ib3R0b206MH1oNHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjNyZW07bWFyZ2luLWJvdHRvbTowfWltZ3ttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4O2ZpbHRlcjpub25lfWltZzpub3QoW3NyY10pe3Zpc2liaWxpdHk6aGlkZGVufTpmb2N1c3tvdXRsaW5lOm5vbmV9cHttYXJnaW46MH0uaXRlbXttYXJnaW4tdG9wOjEycHg7ZGlzcGxheTpibG9ja30uaXRlbTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5pdGVte21hcmdpbi10b3A6OHB4fX0uaW1hZ2Utb3ZlcmxheS10ZXh0e3RleHQtc2hhZG93OjFweCAxcHggaHNsYSgwLDAlLDYuNyUsLjIpLC0xcHggMXB4IGhzbGEoMCwwJSw2LjclLC4yKSwtMXB4IC0xcHggaHNsYSgwLDAlLDYuNyUsLjIpLDFweCAtMXB4IGhzbGEoMCwwJSw2LjclLC4yKX0jcGxheWVyLWNvbnRyb2wtY29udGFpbmVyey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX1bZGlyPXJ0bF0gI3BsYXllci1zaG9ydHMtY29udGFpbmVye2RpcmVjdGlvbjpydGx9W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAjcGxheWVyLWNvbnRyb2wtY29udGFpbmVyLFtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIgI3BsYXllcixbc2hvcnRzLXBsYXllcj10cnVlXSAjcGxheWVyLXNob3J0cy1jb250YWluZXIsW3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgI3BsYXllcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwYWRkaW5nLWJvdHRvbTowfS5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyOmZ1bGxzY3JlZW4gLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIFtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXple2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTthc3BlY3QtcmF0aW86YXV0b31bZmF1eC1mdWxsc2NyZWVuPXRydWVdW2Z1bGxzY3JlZW4tcmVqZWN0ZWQ9dHJ1ZV0gI2FwcHtkaXNwbGF5Om5vbmV9W3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIsW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSB5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlcixbc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lcixbc2hvcnRzLXBsYXllcj10cnVlXSB5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlcjpub3QoLnNob3J0cy10b3BiYXIpe292ZXJmbG93OnZpc2libGU7ei1pbmRleDo0fVtzaG9ydHMtcGxheWVyPXRydWVdIC5wbGF5ZXItY29udGFpbmVyIC55dHAtdW5tdXRlLnl0cC1wb3B1cHt0b3A6NzVweDtsZWZ0OjA7bGVmdDplbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfVtyb2xlPWJ1dHRvbl0sYnV0dG9uLGlucHV0W3R5cGU9Y2hlY2tib3hdLHNlbGVjdHtjdXJzb3I6cG9pbnRlcn15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCU7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl17d2lkdGg6dmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpO2hlaWdodDp2YXIoLS15dGQtc2hvcnRzLXBsYXllci1oZWlnaHQpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl0gLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGF7bWFyZ2luLXJpZ2h0OnZhcigtLWFjdGlvbi1idXR0b24tZnVsbC13aWR0aC1uZWdhdGl2ZSk7cGFkZGluZy1yaWdodDp2YXIoLS1hY3Rpb24tYnV0dG9uLWZ1bGwtd2lkdGgpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1hY3Rpb24tYmFyXXt3aWR0aDpjYWxjKHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSArIDcycHgpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1hY3Rpb24tYmFyXSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXttYXJnaW4tcmlnaHQ6MDtwYWRkaW5nLXJpZ2h0OjB9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJdIC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7bWFyZ2luLWJvdHRvbToxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XXt3aWR0aDoxMDAlfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXt3aWR0aDpjYWxjKCgxMDAlIC0gbWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwgMzE1cHgpKS8yKTttYXJnaW4tcmlnaHQ6bWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwzMTVweCk7cGFkZGluZy1yaWdodDowO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtmaWx0ZXI6dW5zZXQ7bWluLXdpZHRoOjM2MHB4O21heC13aWR0aDo0ODBweDtwYWRkaW5nLWxlZnQ6MTZweH15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcltpcy13ZWJdW2V4dHJhY3Qtb3ZlcmxheV0gLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9uc3stbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXIgYnV0dG9uOm5vdChbYXJpYS1wcmVzc2VkPXRydWVdKSBjMy1pY29ue2ZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCA2cHggcmdiYSgwLDAsMCwuNCkpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse3RleHQtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLDAuOCl9LnJlZWwtcGxheWVyLW92ZXJsYXktbWFpbi1jb250ZW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kOy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIDAlO2FsaWduLXNlbGY6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21pbi13aWR0aDowO21hcmdpbjowIDAgMTZweCAxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2RhdGEtaGFzLWluZm8tcGFuZWw9dHJ1ZV0rLlByb2dyZXNzQmFyU2hvd2luZ3twYWRkaW5nLXRvcDoxNnB4fS5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhIHl0LW1ldGFkYXRhLWJhZGdlLXJlbmRlcmVye2hlaWdodDoyNHB4O3BhZGRpbmc6M3B4IDRweCAzcHggMH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowIDRweCAxNnB4IDRweDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnJlZWwtcGxheWVyLW92ZXJsYXktdG9wLWJhcntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctdG9wOjJweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIC5idXR0b24td2l0aC1pY29ue21hcmdpbjowIWltcG9ydGFudDttaW4td2lkdGg6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24gLmJ1dHRvbi1yZW5kZXJlci10ZXh0e21hcmdpbi10b3A6N3B4O21heC13aWR0aDo2NHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1idXR0b24tcmVuZGVyZXJ7bWF4LXdpZHRoOjY0cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXJ7bWFyZ2luLXRvcDo0cHg7ZGlzcGxheTpibG9jazstbW96LWJveC1mbGV4OjE7ZmxleDoxO3BhZGRpbmctcmlnaHQ6NHB4O3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyBwaXZvdC1idXR0b24tdmlldy1tb2RlbCwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1idXR0b24tcmVuZGVyZXIsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlcntkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHg7bWFyZ2luOjB9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHBpdm90LWJ1dHRvbi12aWV3LW1vZGVsLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDouM2VtfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJvdHRvbS1zaGVldC1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1tZW51LXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDowfX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1tZW51LXJlbmRlcmVyIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgYnV0dG9uPi5idXR0b24td2l0aC1pY29uLWlubmVyey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciB5dG0tcHJvZmlsZS1pY29ue2JvcmRlcjoxcHggc29saWQgI2ZmZn1AbWVkaWEgKG1heC1oZWlnaHQ6NDExcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIC5idXR0b24td2l0aC1pY29uLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UtcmVuZGVyZXJ7bWluLWhlaWdodDo0MHB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24gLmJ1dHRvbi1yZW5kZXJlci10ZXh0LC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3R7ZGlzcGxheTpub25lfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXIgLmljb24tYnV0dG9ue2hlaWdodDozMnB4fX0ubG9nby1pbi1wbGF5ZXIsLm1vYmlsZS10b3BiYXItbG9nb3tjb2xvcjojZjAzO3BhZGRpbmc6MCAxMnB4O3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bWFyZ2luLWxlZnQ6LTFweH0ubG9nby1pbi1wbGF5ZXIuZnVsbC1sb2dvLC5tb2JpbGUtdG9wYmFyLWxvZ28uZnVsbC1sb2dve3dpZHRoOjkzcHg7aGVpZ2h0OjIwcHg7Y29sb3I6IzAwMDttYXJnaW4tbGVmdDowfS5sb2dvLWluLXBsYXllci5zaG9ydHMtbG9nbywubW9iaWxlLXRvcGJhci1sb2dvLnNob3J0cy1sb2dve3dpZHRoOjczcHg7aGVpZ2h0OjI1cHg7Y29sb3I6IzAwMDttYXJnaW4tbGVmdDowfS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ28tcmVkLC5tb2JpbGUtdG9wYmFyLWxvZ28uZnVsbC1sb2dvLXJlZHt3aWR0aDoxMDFweH0ubG9nby1pbi1wbGF5ZXItZW5kcG9pbnQsLm1vYmlsZS10b3BiYXItaGVhZGVyLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHg7dGV4dC1hbGlnbjpsZWZ0fS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ297Y29sb3I6I2ZmZn0ubW9ub2Nocm9tYXRpYyBzdmcgcGF0aHtmaWxsOiNmZmZ9eXRtLXN1YnNjcmliZS1idXR0b24tcmVuZGVyZXJ7ZGlzcGxheTpibG9ja315dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlciAuYnV0dG9uLXJlbmRlcmVyLWljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubW9kZXJuLXN1YnNjcmliZS1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtjb2xvcjojNjA2MDYwO2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luOjAgOHB4fUBrZXlmcmFtZXMgbm90aWZpY2F0aW9uLWJlbGwtZmFkZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX19Lm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NTtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lci5oaWRkZW57ZGlzcGxheTpub25lfS5ub3RpZmljYXRpb24tYmVsbHtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6LTJweDthbmltYXRpb246bm90aWZpY2F0aW9uLWJlbGwtZmFkZS1pbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7cGFkZGluZy1sZWZ0OjB9Lll0bVZpZGVvSW5mb0V4cGFuZGVkIC5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdCwueXRtVmlkZW9JbmZvRXhwYW5kZWQgLm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3RyYW5zaXRpb246bm9uZX0ud2l0aC1ub3RpZmljYXRpb24tYmVsbCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtwYWRkaW5nLWxlZnQ6MjRweH0ueXRDb3JlSW1hZ2VIb3N0e3Zpc2liaWxpdHk6aGlkZGVuO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi1oZWlnaHQ6MXB4O21pbi13aWR0aDoxcHh9Lnl0Q29yZUltYWdlTG9hZGVke3Zpc2liaWxpdHk6aW5oZXJpdH0ueXRDb3JlSW1hZ2VGaWxsUGFyZW50SGVpZ2h0e2hlaWdodDoxMDAlfS55dENvcmVJbWFnZUZpbGxQYXJlbnRXaWR0aHt3aWR0aDoxMDAlfS55dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wTGVmdHtvYmplY3QtcG9zaXRpb246dG9wIGxlZnR9Lnl0Q29yZUltYWdlT2JqZWN0UG9zaXRpb25Ub3BSaWdodHtvYmplY3QtcG9zaXRpb246dG9wIHJpZ2h0fS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVUb0ZpbGx7b2JqZWN0LWZpdDpmaWxsfS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaXR7b2JqZWN0LWZpdDpjb250YWlufS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaWxse29iamVjdC1maXQ6Y292ZXJ9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVDZW50ZXJ7b2JqZWN0LWZpdDpub25lO29iamVjdC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyfS55dENvcmVJbWFnZUZsaXBSdGx7dHJhbnNmb3JtOnNjYWxlWCgtMSl9Lnl0Q29yZUltYWdlR3JhZGllbnRDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRDb3JlSW1hZ2VHcmFkaWVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX06cm9vdHstLXl0LWF0dHJpYnV0ZWQtc3RyaW5nLWxpbmstaG92ZXItY29sb3I6dW5zZXR9Lnl0QXR0cmlidXRlZFN0cmluZ0lubGluZUJsb2NrTW9ke2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUFsaWdubWVudEJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50QmFzZWxpbmV7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50VmVydGljYWxDZW50ZXJ7dmVydGljYWwtYWxpZ246bWlkZGxlO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotLjA3ZW19Lnl0QXR0cmlidXRlZFN0cmluZ0xpc3RHcm91cHstbW96LXBhZGRpbmctc3RhcnQ6MjBweDtwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5re3RleHQtZGVjb3JhdGlvbjpub25lO2Rpc3BsYXk6aW5saW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rQ2FsbFRvQWN0aW9uQ29sb3J7Y29sb3I6IzA2NWZkNH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua092ZXJsYXlDYWxsVG9BY3Rpb25Db2xvcntjb2xvcjojM2VhNmZmfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciAueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9ye2NvbG9yOmluaGVyaXR9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IgLnl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvcjpob3Zlcntjb2xvcjp2YXIoLS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yKX0ueXRBdHRyaWJ1dGVkU3RyaW5nRWxsaXBzaXNUcnVuY2F0ZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZU5vV3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VQcmVXcmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS55dEF0dHJpYnV0ZWRTdHJpbmdJZ25vcmVTcGxpdExpbmVze3doaXRlLXNwYWNlOm5vcm1hbH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExlZnR7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmxlZnR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRSaWdodHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246cmlnaHR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRDZW50ZXJ7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudEp1c3RpZmllZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246anVzdGlmeX0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExheW91dFN0YXJ0e2Rpc3BsYXk6YmxvY2s7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50VW5rbm93bntkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246aW5oZXJpdH0ueXRBdHRyaWJ1dGVkU3RyaW5nV29yZFdyYXBwaW5ne292ZXJmbG93LXdyYXA6YW55d2hlcmV9Lnl0QXR0cmlidXRlZFN0cmluZ1VuZGVybGluZWR7LW1vei10ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdTdHJpa2V0aHJvdWdoey1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6bGluZS10aHJvdWdoO3RleHQtZGVjb3JhdGlvbi1saW5lOmxpbmUtdGhyb3VnaH0ueXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lU3RyaWtldGhyb3VnaHstbW96LXRleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZSBsaW5lLXRocm91Z2g7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lIGxpbmUtdGhyb3VnaH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlTm9uZXt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlU2luZ2xley1tb3otdGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlRG90ey1tb3otdGV4dC1kZWNvcmF0aW9uLXN0eWxlOmRvdHRlZDt0ZXh0LWRlY29yYXRpb24tc3R5bGU6ZG90dGVkfS55dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1YnNjcmlwdHt2ZXJ0aWNhbC1hbGlnbjpzdWJ9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3VwZXJzY3JpcHR7dmVydGljYWwtYWxpZ246c3VwZXJ9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0VW5rbm93bnt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRBdHRyaWJ1dGVkU3RyaW5nSXRhbGljaXplZHtmb250LXN0eWxlOml0YWxpY30ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzF7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzN7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QnV0dG9uT3JBbmNob3JIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEJ1dHRvbk9yQW5jaG9yQnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7cGFkZGluZzowO21hcmdpbjowO2N1cnNvcjpwb2ludGVyO291dGxpbmUtd2lkdGg6MDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZDpub25lO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtYWxpZ246dW5zZXQ7d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lnl0QnV0dG9uT3JBbmNob3JBbmNob3J7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOjA7bWFyZ2luOjA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCV9Lnl0UmFkaW9TaGFwZUhvc3R7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ueXRSYWRpb1NoYXBlSW5wdXR7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTouMDAwMDAxO21hcmdpbjowO2xlZnQ6MTJweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UmFkaW9TaGFwZUxhYmVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0OHB4O3dpZHRoOjEwMCU7Y29sb3I6IzAzMDMwM30ueXRSYWRpb1NoYXBlS2V5Ym9hcmRGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dFJhZGlvU2hhcGVEaXNhYmxlZHtjb2xvcjojOTA5MDkwfS55dFJhZGlvU2hhcGVMYWJlbHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9aW5wdXQ6Y2hlY2tlZCtsYWJlbD4ueXRSYWRpb1NoYXBlUmFkaW8+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpK2xhYmVsPi55dFJhZGlvU2hhcGVSYWRpbz46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0UmFkaW9TaGFwZVJhZGlvRGVmYXVsdFN0eWxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMnB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9aW5wdXQ6bm90KDpjaGVja2VkKStsYWJlbD4ueXRSYWRpb1NoYXBlQ2hlY2tJY29uPjpmaXJzdC1jaGlsZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRSYWRpb1NoYXBlQ29tcGFjdHttaW4taGVpZ2h0OjQwcHh9Lnl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2h7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRSYWRpb1NoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzAzMDMwM30ueXRMaXN0SXRlbVZpZXdNb2RlbEhvc3Q6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW57ZGlzcGxheTpub25lfS55dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25PckFuY2hvcnt3aWR0aDphdXRvfS55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3I6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxOb1RyYWlsaW5nVGV4dCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yLC55dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLWhlaWdodDo0NHB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle21heC1oZWlnaHQ6Mi4ycmVtfS55dExpc3RJdGVtVmlld01vZGVsU3VidGl0bGV7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdle21hcmdpbi1sZWZ0OjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVye21hcmdpbi10b3A6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7bWFyZ2luLWJvdHRvbToycHg7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRMaXN0SXRlbVZpZXdNb2RlbFNlbGVjdGlvblRleHR7Y29sb3I6IzYwNjA2MDttYXJnaW4tbGVmdDo0cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHR7bWFyZ2luLWxlZnQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3J7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtmbGV4LXNocmluazowfS55dExpc3RJdGVtVmlld01vZGVsTGVhZGluZ3ttYXJnaW4tcmlnaHQ6MTJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjEycHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDoxMnB4fS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciwueXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVye21pbi13aWR0aDowfS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmcsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZsZXgtc2hyaW5rOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcnthbGlnbi1zZWxmOnN0YXJ0O2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjQ0cHg7bWluLXdpZHRoOjM2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExpc3RJdGVtVmlld01vZGVsQXZhdGFyLC55dExpc3RJdGVtVmlld01vZGVsSW1hZ2V7bWF4LWhlaWdodDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5e2JvcmRlci1yYWRpdXM6MnB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjojMDMwMzAzfS55dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3Nvcnl7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlcjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXJ7cGFkZGluZzoycHggMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZ3twYWRkaW5nOjJweCAwfS55dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cHtib3JkZXItcmFkaXVzOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZHtjb2xvcjojNjA2MDYwO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZCAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSwueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVkIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6IzYwNjA2MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7bWF4LWhlaWdodDoyLjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGV7cGFkZGluZzo2cHggMTZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzo2cHggMH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4taGVpZ2h0OjM2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbENoZXZyb25JY29ue2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVye2hlaWdodDozNnB4O21pbi13aWR0aDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye2hlaWdodDozNnB4O21pbi13aWR0aDoyNHB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdle21heC1oZWlnaHQ6MjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlIC55dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXJ7bWluLWhlaWdodDo0MnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZSAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye2hlaWdodDo0MnB4fS55dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5LC55dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZn0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxle2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeXtjb2xvcjojZmZmfS55dENoZWNrYm94U2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0OHB4O3dpZHRoOjEwMCU7Y29sb3I6IzAzMDMwMztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDaGVja2JveFNoYXBlSG9zdENvbXBhY3R7bWluLWhlaWdodDo0MHB4fS55dENoZWNrYm94U2hhcGVJbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46MDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO29wYWNpdHk6LjAwMDAwMTt6LWluZGV4OjE7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRDaGVja2JveFNoYXBlTGFiZWx7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENoZWNrYm94U2hhcGVEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmcgLnl0Q2hlY2tib3hTaGFwZUxhYmVse3BhZGRpbmctcmlnaHQ6MH0ueXRDaGVja2JveFNoYXBlQ2hlY2tib3hEZWZhdWx0U3R5bGV7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzowIDEycHh9aW5wdXQ6Y2hlY2tlZH4ueXRDaGVja2JveFNoYXBlQ2hlY2tib3g+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpfi55dENoZWNrYm94U2hhcGVDaGVja2JveD46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0U3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9LnRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRMaXN0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0TGlzdFZpZXdNb2RlbEhvc3RLYWlvc1NwYXROYXZ7cGFkZGluZzozcHh9fS55dERvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3R7cGFkZGluZzowIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtaGFzLXN1YnNjcmliZS1idXR0b249dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtwYWRkaW5nOjA7LW1vei1ib3gtYWxpZ246bm9ybWFsO2FsaWduLWl0ZW1zOm5vcm1hbDttYXJnaW46YXV0bzstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtaGFzLXN1YnNjcmliZS1idXR0b249dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YSB5dG0tbWVudS1yZW5kZXJlcntoZWlnaHQ6MTAwJX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbUNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAudmlkZW8tdGh1bWJuYWlsLWltZ3t3aWR0aDo2N3B4O2hlaWdodDo2N3B4O21pbi1oZWlnaHQ6MDtib3JkZXItcmFkaXVzOjUwJX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuY2hhbm5lbC1zdWJzY3JpYmUtYnV0dG9ue3BhZGRpbmc6MCAwIDAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWNvbG9yLXBhbGV0dGUtYXBwbGllZD10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWR7b3BhY2l0eToxfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdD5he2Rpc3BsYXk6YmxvY2t9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItY29tcGFjdHt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX19Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0IC5lbmdhZ2VtZW50LWJhcntoZWlnaHQ6MjRweDttYXJnaW4tdG9wOjRweH0uWXRtQ29tcGFjdE1lZGlhSXRlbU11bHRpY29sdW1ue3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0uWXRtQ29tcGFjdE1lZGlhSXRlbUltYWdle2ZsZXgtc2hyaW5rOjB9Lll0bUNvbXBhY3RNZWRpYUl0ZW1JbWFnZS5zdGFja2Vke3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGF7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO292ZXJmbG93OnZpc2libGV9QG1lZGlhIChtaW4td2lkdGg6NTUwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhW2RhdGEtaGFzLWJhZGdlcz10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfX1AbWVkaWEgKG1heC13aWR0aDo1NDlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6Mn0uWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhLmhhcy1lbmdhZ2VtZW50LWJhciAuWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YS5oYXMtZW5nYWdlbWVudC1iYXJbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoxLjI1ZW07LXdlYmtpdC1saW5lLWNsYW1wOjF9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtwYWRkaW5nOjRweCAwfS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDt3aGl0ZS1zcGFjZTpub3JtYWx9fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50e2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50LnN0YWNrZWR7bWFyZ2luLXRvcDo4cHh9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhQ29udGVudHtwYWRkaW5nOjB9fS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmVQbGFjZWhvbGRlcntoZWlnaHQ6MTZweDttYXgtd2lkdGg6MzAwcHg7bWFyZ2luLWJvdHRvbTo4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLXJhZGl1czoycHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdWJoZWFke2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7b3BhY2l0eTouNn0uWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWRQbGFjZWhvbGRlcntoZWlnaHQ6MTZweDt3aWR0aDoxMjBweDttYXJnaW4tYm90dG9tOjNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS4zcmVtO292ZXJmbG93OmhpZGRlbjttYXJnaW46MDtmb250LXNpemU6MS40cmVtfS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmUgLnl0bS1jaGFubmVsLW5hbWV7Zm9udC1zaXplOjEuNHJlbX1AbWVkaWEgKG1heC13aWR0aDo1NDlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDozLjc1ZW07LXdlYmtpdC1saW5lLWNsYW1wOjN9fS5ZdG1Db21wYWN0TWVkaWFJdGVtQnlsaW5le2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtc2l6ZToxLjJyZW19Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdGF0c3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbVN0YXRzfi5ZdG1Db21wYWN0TWVkaWFJdGVtU3RhdHM6YmVmb3Jle2NvbnRlbnQ6XCLCoMK3wqBcIn0uWXRtQ29tcGFjdE1lZGlhSXRlbURlc2NyaXB0aW9ue21hcmdpbjo4cHggMDtwYWRkaW5nOjA7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbU1lbnV7ZmxleC1zaHJpbms6MDtjb2xvcjojMDMwMzAzfS5mb3JtYXR0ZWQtc3RyaW5nLWRlZW1waGFzaXple2NvbG9yOiM2MDYwNjB9LmZvcm1hdHRlZC1zdHJpbmctYm9sZHtmb250LXdlaWdodDo1MDB9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRze3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0e3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksdHJhbnNmb3JtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjkpO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJFZmZlY3R7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle3dpbGwtY2hhbmdlOm9wYWNpdHk7b3BhY2l0eTowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4xfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplU21hbGx7bWFyZ2luOi00cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW17bWFyZ2luOi04cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwsLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTWVkaXVtIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZXttYXJnaW46LTEycHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czoxNnB4fS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXIgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxse2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgIzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgI2ZmZn0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4yfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZU92ZXJsYXlUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVN0cm9rZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9QGtleWZyYW1lcyBwb3BvdmVyLWZhZGUtaW57MCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHBvcG92ZXItZmFkZS1vdXR7dG97b3BhY2l0eTowfX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdHttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdC5cXDpwb3BvdmVyLW9wZW4sLnl0UG9wb3ZlckNvbXBvbmVudEhvc3Q6cG9wb3Zlci1vcGVue2FuaW1hdGlvbjpwb3BvdmVyLWZhZGUtaW4gLjE1cyBlYXNlLWlufS55dFBvcG92ZXJDb21wb25lbnRIb3N0Q2xvc2luZy5cXDpwb3BvdmVyLW9wZW4sLnl0UG9wb3ZlckNvbXBvbmVudEhvc3RDbG9zaW5nOnBvcG92ZXItb3BlbnthbmltYXRpb246cG9wb3Zlci1mYWRlLW91dCA3NW1zIGVhc2Utb3V0IGZvcndhcmRzfS55dFRvb2x0aXBDb250YWluZXJIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0VG9vbHRpcENvbnRhaW5lckRlZmF1bHRUb29sdGlwQ29udGVudHtwYWRkaW5nOjhweDtib3JkZXItc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzYwNjA2MDtvcGFjaXR5Oi45O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0VG9vbHRpcENvbnRhaW5lclBsYXllclRvb2x0aXBDb250ZW50LC55dFRvb2x0aXBDb250YWluZXJQbGF5ZXJUb29sdGlwQ29udGVudEJsdXJyZWR7cGFkZGluZzo0cHggOHB4O2JvcmRlci1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4O2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAycHggOHB4ICMwMDA7b3BhY2l0eTouOTtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnRCbHVycmVke29wYWNpdHk6dW5zZXQ7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUb29sdGlwQ29udGFpbmVyRWZmZWN0TWFrZXJUb29sdGlwQ29udGVudHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVySG90a2V5e2Rpc3BsYXk6aW5saW5lO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MCA2cHg7bWFyZ2luLWxlZnQ6OHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfTpyb290ey0teXQtbGlnaHQtcmltLWNvbG9yOnVuc2V0Oy0teXQtbGlnaHQtd2FzaC1vcGFjaXR5OjA7LS15dC1saWdodC13YXNoLXg6MDstLXl0LWxpZ2h0LXdhc2gteTowOy0teXQtbGlnaHQtd2FzaC1zaXplOjk2cHg7LS15dC1saWdodC13YXNoLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0uY29udHJpYll0TGlnaHRTaGFwZUhvc3R7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7cG9pbnRlci1ldmVudHM6bm9uZX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0OmJlZm9yZXtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7cGFkZGluZzouNXB4Oy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDAsMCwwLDAuMDUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE91dGxpbmU6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMykpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWxJbnZlcnNlOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2V7aW5zZXQ6LTFweH0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMikpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlUb25hbDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4xNSkpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodHtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3R0b206NTAlO2xlZnQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7ZmlsdGVyOmJsdXIoMTBweCl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTYWZhcml7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFNvbGlkSW52ZXJzZXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFRvbmFsSW52ZXJzZXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4wNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5U29saWR7YmFja2dyb3VuZDojZmZmfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVRvbmFse2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjE1KX0uY29udHJpYll0TGlnaHRTaGFwZUR5bmFtaWNXYXNoTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgdHJhbnNsYXRlKHZhcigtLXl0LWxpZ2h0LXdhc2gteCwwKSx2YXIoLS15dC1saWdodC13YXNoLXksMCkpO2JvcmRlci1yYWRpdXM6aW5oZXJpdDt3aWR0aDp2YXIoLS15dC1saWdodC13YXNoLXNpemUsOTZweCk7aGVpZ2h0OnZhcigtLXl0LWxpZ2h0LXdhc2gtc2l6ZSw5NnB4KTtvcGFjaXR5OnZhcigtLXl0LWxpZ2h0LXdhc2gtb3BhY2l0eSwwKTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3QtY29ybmVyIGF0IGNlbnRlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSAwLHRyYW5zcGFyZW50IDEwMCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ZmlsdGVyOmJsdXIoMTVweCl9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0e2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjb250YWluOmxheW91dCBzdHlsZSBwYWludDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXt0cmFuc2l0aW9uOm9wYWNpdHkgLjQ1cyBjdWJpYy1iZXppZXIoLjI1LDEsLjgsMSl9fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXt0cmFuc2l0aW9uLWR1cmF0aW9uOjQwbXN9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0IC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQ6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMDV9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVQcmVzc2VkIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjF9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0IC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzAwMH06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQ6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMn06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouM30ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZTpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4yfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4zfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlOmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjA1fTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4xfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtmaWx0ZXI6Ymx1cigyNHB4KTtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsI2ZmZiAwLHJnYmEoMjU1LDI1NSwyNTUsLjYpIDM1JSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzAlLHRyYW5zcGFyZW50IDEwMCUpO2JvcmRlci1yYWRpdXM6NTAlfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ZmlsdGVyOmJsdXIoMzJweCk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgMCxyZ2JhKDI1NSwyNTUsMjU1LC41KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDgwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JvcmRlci1yYWRpdXM6NTAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlLHdpZHRoIC4xNXMgY3ViaWMtYmV6aWVyKC4yNSwxLC41LDEpLGhlaWdodCAuMTVzIGN1YmljLWJlemllciguMjUsMSwuNSwxKX19Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodHtvcGFjaXR5Oi4yfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7b3BhY2l0eTouMzU7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDRzfS5hbmltYXRlZFJvbGxpbmdDaGFyYWN0ZXJIb3N0e2Rpc3BsYXk6aW5saW5lfS5hbmltYXRlZFJvbGxpbmdOdW1iZXJIb3N0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93OmhpZGRlbn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MDt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjA7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lLXdpZHRoOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtmbGV4LWJhc2lzOjAuMDAwMDAwMDAxcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnR7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb24sLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bGluZS1oZWlnaHQ6MDtmaWxsOmN1cnJlbnRDb2xvcn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnstbW96LWJveC1mbGV4OjA7ZmxleDpub25lfS55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWlkZGxlZ3JvdW5kQXNzZXR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7d2lkdGg6cm91bmQodXAsMTAwJSwxcHgpO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lfS55dFNwZWNCdXR0b25TaGFwZU5leHRGZWF0dXJlUGhvbmVXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYc3twYWRkaW5nOjAgOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgN3B4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhze2hlaWdodDoyNHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjI0cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxMnB4IDAgMCAxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnQ6YWZ0ZXJ7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDdweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3twYWRkaW5nOjAgMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3toZWlnaHQ6MzJweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozMnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxNnB4IDAgMCAxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OlwiXCI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6OHB4O2hlaWdodDoxNnB4O3dpZHRoOjFweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke2JvcmRlci1yYWRpdXM6MCAxNnB4IDE2cHggMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24pIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmd7cGFkZGluZzowIDEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAxMHB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAxMnB4O3dpZHRoOjQ0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo0cHg7bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU17cGFkZGluZzowIDE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE1cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDE0cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDE2cHg7d2lkdGg6NTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NnB4O21hcmdpbi1yaWdodDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTXtoZWlnaHQ6MzZweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0gLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozNnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydHtib3JkZXItcmFkaXVzOjE4cHggMCAwIDE4cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6XCJcIjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo2cHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDE4cHggMThweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbiwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uKTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdCkgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZ3twYWRkaW5nOjAgMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAxNXB4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDE0cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDE2cHg7d2lkdGg6NTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NnB4O21hcmdpbi1yaWdodDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMe3BhZGRpbmc6MCAyNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAyM3B4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAyMnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAyNHB4O3dpZHRoOjcycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo4cHg7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUx7aGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMIC55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtib3JkZXItcmFkaXVzOjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6NDhweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjRweCAwIDAgMjRweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnQ6YWZ0ZXJ7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjEycHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI0cHggMjRweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAyMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE5cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMThweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjBweDt3aWR0aDo2OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse3BhZGRpbmc6MCAzMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMzFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDMwcHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0zMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDMycHg7d2lkdGg6ODhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse2hlaWdodDo1NnB4O2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czoyOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjU2cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjhweCAwIDAgMjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6XCJcIjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDoxNnB4O2hlaWdodDoyNHB4O3dpZHRoOjFweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMjhweCAyOHB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZ3twYWRkaW5nOjAgMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMjNweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMjJweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0yNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjRweDt3aWR0aDo4MHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo4cHg7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVye2hlaWdodDphdXRvO3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHstd2Via2l0LWxpbmUtY2xhbXA6NDttYXgtaGVpZ2h0Om5vbmV9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlVGV4dEVsbGlwc2lzIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHt0ZXh0LW92ZXJmbG93OmNsaXB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdHttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFdvcmthcm91bmRJY29uTm9Cb3JkZXJSYWRpdXN7Ym9yZGVyLXJhZGl1czp1bnNldH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkYWRmZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGFkZmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Y29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNjM4NTA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI2Mzg1MDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMzZWE2ZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzNlYTZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzY1YjhmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWNvbG9yOiMzZWE2ZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojNjViOGZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjcyNzI3O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2Q5ZDlkOTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkOWQ5ZDk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMil9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzAwMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZTZlNmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlQmFja2Ryb3BGaWx0ZXJFeHBlcmltZW50e2JhY2tkcm9wLWZpbHRlcjpibHVyKDRweCl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVCYWNrZHJvcEZpbHRlckV4cGVyaW1lbnR7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCNlMTAwMmQgMzAlLCNlMDEzNzggODUlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCNlMTAwMmQgMzAlLCNlMDEzNzggODUlKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM319QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgwLDEyMiwxMDEsMC4yKSAwLHJnYmEoMTI3LDE0LDEyNywwLjIpIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgwLDEyMiwxMDEsMC4yKSAwLHJnYmEoMTI3LDE0LDEyNywwLjIpIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojOTA5MDkwfS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiM5MDkwOTB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojOTA5MDkwfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzowIDRweCAxNnB4IDAgcmdiYSgwLDAsMCwwLjEpLDAgMnB4IDhweCAwIHJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHttYXJnaW46NHB4IC04cHggMDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbElzT3ZlcmxheSAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHttYXgtd2lkdGg6NjRweDtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dEJhZGdlVmlld01vZGVsSG9zdHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRCck56QmFkZ2VTaGFwZUhvc3R7ZGlzcGxheTpibG9ja30ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdSZWRTcXVhcmV7YmFja2dyb3VuZDojZjAzOTM2O2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2JvcmRlci1yYWRpdXM6MDtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1llbGxvd0NpcmNsZXtiYWNrZ3JvdW5kOiNmZmVmMDA7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6YmxhY2s7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdHcmVlbkNpcmNsZXtiYWNrZ3JvdW5kOiM0MmM3NTg7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6YmxhY2s7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEdyZWVuU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTY2LDgxKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbHVlU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTQ5LDIxOCk7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmx1ZVNxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDE0OSwyMTgpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFllbGxvd1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNTEsMTkzLDIxKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VZZWxsb3dTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjUxLDE5MywyMSk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsT3JhbmdlU3F1YXJle2JhY2tncm91bmQ6cmdiKDI0NSwxMzAsMzIpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZU9yYW5nZVNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNDUsMTMwLDMyKTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxSZWRTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjM2LDI5LDM3KTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VSZWRTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjM2LDI5LDM3KTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbGFja1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDAsMCk7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmxhY2tTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwwLDApO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZVdpdGhMYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VzOm5vdCg6bGFzdC1jaGlsZCl7LW1vei1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0FjdGlvbnNDb250YWluZXI+Om5vdCg6bGFzdC1jaGlsZCl7LW1vei1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb246bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEVycm9ye2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6I2MzMDAyN30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3R7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lcntwYWRkaW5nLWJvdHRvbToyMHB4fS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlUmFkaW9CdXR0b257aGVpZ2h0OjA7bGVmdDowO21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjB9Lnl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVke2N1cnNvcjpkZWZhdWx0fS55dENhcmRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDYXJkVmlld01vZGVsT3V0bGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0Q2FyZFZpZXdNb2RlbFJhaXNlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmUtc3R5bGU6c29saWQ7b3V0bGluZS1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvdXRsaW5lLWNvbG9yIC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS13aWR0aCAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWR7Ym94LXNoYWRvdzowIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmU6IzAzMDMwMyBzb2xpZCAycHg7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS1jb2xvciAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG91dGxpbmUtd2lkdGggLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRDYXJkVmlld01vZGVsVG9uYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dENhcmRWaWV3TW9kZWxJbnZlcnRlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGZ9Lnl0Q2FyZFZpZXdNb2RlbENvbnRlbnRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lnl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7d2lkdGg6MTAwJX0ueXRDYXJkVmlld01vZGVsVG9wQ29udGVudHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9ue2FsaWduLXNlbGY6ZmxleC1zdGFydH0ueXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2lue21hcmdpbjo2cHh9Lnl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMnB4O3RvcDoxMnB4fS55dENhcmRWaWV3TW9kZWxDYXJkVmlld01vZGVsSW5uZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dENhcmRWaWV3TW9kZWxTZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjMDMwMzAzfS55dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZywueXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmd7cGFkZGluZzoxMnB4fS55dENhcmRWaWV3TW9kZWxDbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtpbnNldDowO3Bvc2l0aW9uOmFic29sdXRlfS55dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH0ueXRDYXJkVmlld01vZGVsQmFja2dyb3VuZHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6ZmlsbH0ueXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0Q2hlY2tib3hJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVye2JvcmRlci10b3A6bm9uZX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MTJweCAwIDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxEaXNhYmxlUGFkZGluZy55dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXJ7cGFkZGluZy10b3A6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmd7cGFkZGluZy1ib3R0b206MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5ne3BhZGRpbmctcmlnaHQ6MjRweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFja3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFja1RvcEJ1dHRvbnttYXJnaW46MCAwIDhweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd1RyYWlsaW5ney1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0xlZnRCdXR0b257bWFyZ2luLXJpZ2h0OjhweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0Z1bGxXaWR0aHt3aWR0aDoxMDAlfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RXhwYW5key1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dTaHJpbmt7LW1vei1ib3gtZmxleDowO2ZsZXg6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3BlY0ljb25TaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U3Bpbm5lclNoYXBlV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNwaW5uZXJTaGFwZVNwaW5uZXJ7ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjEycHggYXV0bzt3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoycHggc29saWQgI2VlZTtib3JkZXItdG9wLWNvbG9yOiM2NjY7YW5pbWF0aW9uOnNwaW5uZXIgLjhzIGxpbmVhciBpbmZpbml0ZX0ueXRTcGlubmVyU2hhcGVTcGlubmVyOm5vdChbaGlkZGVuXSl7Y29sb3I6IzMzMztmb250LXNpemU6MS42cmVtfUBrZXlmcmFtZXMgc3Bpbm5lcnswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRve3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX0ueXRMb3R0aWVDb21wb25lbnRIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0TG90dGllQ29tcG9uZW50SG9zdCBzdmd7ZGlzcGxheTpibG9ja30ueXRBbmltYXRlZEljb25Ib3N0e2Rpc3BsYXk6YmxvY2t9Lnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDttYXJnaW46MH0ueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdCAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LC0xMnB4KTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dEFuaW1hdGVkSWNvbkhvc3QgLmFuaW1hdGVkLXN1YnNjcmliZS1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEycHgsLTEycHgpO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPVwiMThcIl0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT1cIjE4XCJdIC5hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT1cIjE4XCJdIC5hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPVwiMThcIl0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOXB4LC05cHgpO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuYW5pbWF0ZWQtc3Vic2NyaWJlLWljb257dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOXB4LC05cHgpO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0SG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTbGlkZXJTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxNnB4IDEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbkljb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b246ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHQ7Y29sb3I6IzkwOTA5MH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7bWFyZ2luOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O291dGxpbmU6bm9uZTtwYWRkaW5nLWJvdHRvbTowOy0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoyNHB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCMwMzAzMDMgMCwjMDMwMzAzIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbi10b3A6LTZweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotbXMtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW46MDt3cml0aW5nLW1vZGU6dmVydGljYWwtcmw7ZGlyZWN0aW9uOnJ0bH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO21hcmdpbjowIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdXRsaW5lOm5vbmU7cGFkZGluZy1ib3R0b206MDstLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7d2lkdGg6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTt3aWR0aDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotbW96LXJhbmdlLXRodW1ie2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tcy10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXJ7LW1vei1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTphdXRvOy13ZWJraXQtYXBwZWFyYW5jZTphdXRvfX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzoxMHB4IDE2cHg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7bWluLWhlaWdodDo0OHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0SGlkZURpdmlkZXJ7Ym9yZGVyLWJvdHRvbTpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdENvbXBhY3R7cGFkZGluZzo4cHggMTJweH0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZUhlYWRlcnttYXJnaW46MH0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyTm9uSW50ZXJhY3RpdmV7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxle21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjEuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXttYXgtaGVpZ2h0OjEuOHJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6bm93cmFwO21hcmdpbi1sZWZ0OjEycHh9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b246bm90KDpsYXN0LWNoaWxkKXtwYWRkaW5nLXJpZ2h0OjI0cHh9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtvdXRsaW5lOm5vbmV9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvckZvY3VzZWR7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yfS55dFNoZWV0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0U2hlZXRWaWV3TW9kZWxDb250ZXh0dWFse2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7Ym9yZGVyLXJhZGl1czoxMnB4O2JveC1zaGFkb3c6MCA0cHggMzJweCAwIHJnYmEoMCwwLDAsMC4xKTtvdmVyZmxvdzpoaWRkZW59Lnl0U2hlZXRWaWV3TW9kZWxQYWRkZWRDb250ZW50e3BhZGRpbmc6MTZweCAwfS55dFNoZWV0Vmlld01vZGVsRGlzYWJsZUJhY2tkcm9wRmlsdGVye2JhY2tkcm9wLWZpbHRlcjpub25lfS55dFNwZWNCb3R0b21TaGVldExheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWluLWhlaWdodDowfS55dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lcntib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmZpeGVkO21hcmdpbjowIDhweCAyNHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwfUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgYW5kIChtaW4td2lkdGg6NDE2cHgpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSBhbmQgKG1pbi13aWR0aDo0MTZweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Q29udGFpbmVye3dpZHRoOjQwMHB4O21hcmdpbjowIGF1dG8gMjRweCBhdXRvfX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVye292ZXJmbG93OmhpZGRlbjstbW96LWJveC1mbGV4OjA7ZmxleDpub25lO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmY7Y3Vyc29yOi1tb3otZ3JhYjtjdXJzb3I6Z3JhYn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVySXNEcmFnZ2luZ3tjdXJzb3I6LW1vei1ncmFiYmluZztjdXJzb3I6Z3JhYmJpbmd9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlckJvdHRvbUJvcmRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0RHJhZ0xpbmV7YmFja2dyb3VuZDojMDMwMzAzO29wYWNpdHk6LjE1O2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDo0cHg7bWFyZ2luOjAgYXV0bzt3aWR0aDo0MHB4O21hcmdpbi10b3A6OHB4fS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcnstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDo4cHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV2l0aFRpdGxle21hcmdpbi1ib3R0b206N3B4fS55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxlV3JhcHBlcnstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLWxlZnQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMwMzAzMDM7bWF4LWhlaWdodDoyMHB4O21hcmdpbjowfS55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzYwNjA2MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDoxNnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle21heC1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle21heC1oZWlnaHQ6MS44cmVtfS55dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO292ZXJmbG93LXk6c2Nyb2xsfS55dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwM30ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtwb3NpdGlvbjpzdGlja3k7Ym90dG9tOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyQnV0dG9uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW46MTJweCAwfS55dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVye21hcmdpbjo2cHggMH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDoxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25EZWZhdWx0e21hcmdpbjowIDEycHg7d2lkdGg6MTAwJX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpciwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7bWFyZ2luLXJpZ2h0OjEycHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbjowIDEycHg7aGVpZ2h0OjMwcHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyV2l0aG91dEJ1dHRvbnN7bWFyZ2luLWJvdHRvbToxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dExlYWRpbmdMYWJlbCwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVse21hcmdpbi10b3A6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRleHR1YWxTaGVldExheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZjtoZWlnaHQ6MTAwJTttaW4td2lkdGg6MTI4cHg7bWF4LXdpZHRoOjQwMHB4O3dpZHRoOjEwMCU7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNDhweCk7bWluLWhlaWdodDowfS55dENvbnRleHR1YWxTaGVldExheW91dEhvc3RPbGRNaW5XaWR0aHttaW4td2lkdGg6MjU2cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0QWRkUGFkZGluZ3twYWRkaW5nLWJvdHRvbTo4cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0SGVhZGVyQ29udGFpbmVyey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7b3ZlcmZsb3cteTphdXRvO3Njcm9sbGJhci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtzY3JvbGxiYXItd2lkdGg6dGhpbn0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOmhvdmVye3Njcm9sbGJhci1jb2xvcjojOTA5MDkwIHRyYW5zcGFyZW50fS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXI6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzkwOTA5MH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRGb290ZXJDb250YWluZXJ7LW1vei1ib3gtZmxleDowO2ZsZXg6MH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MTJweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTcGVlZEluZGljYXRvckNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOmF1dG99Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXl7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi44cmVtO2xpbmUtaGVpZ2h0OjMuOHJlbTtmb250LXdlaWdodDo5MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXl7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjkwMH19Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjhweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTbGlkZXJDb250YWluZXJ7bWFyZ2luOjhweCAwfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b257bWFyZ2luOjAgNHB4fS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVse21hcmdpbi10b3A6NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6IzAzMDMwM30ueXRXZWJTY3JpbUhvc3R7cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpfS55dFdlYlNjcmltSG9zdFJlbGF0aXZle3Bvc2l0aW9uOmFic29sdXRlfS55dFdlYlNjcmltSG9zdE1vZGVybk92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyl9Lnl0V2ViU2NyaW1Ib3N0Qm90dG9tU2hlZXR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0V2ViU2NyaW1Ib3N0RW5nYWdlbWVudFBhbmVse3otaW5kZXg6MDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTt0b3A6MTAwdnd9Lnl0V2ViU2NyaW1Ib3N0RHJhZ2dhYmxlRW5nYWdlbWVudFBhbmVse3otaW5kZXg6Mzt0b3A6MH0ueXRXZWJTY3JpbUhvc3REcmF3ZXJMYXlvdXR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCl9Lnl0V2ViU2NyaW1EaWFsb2dDb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS55dFdlYlNjcmltSGlkZGVuQnV0dG9ue3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O3BhZGRpbmc6MDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fWJvdHRvbS1zaGVldC1jb250YWluZXJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1fWJvdHRvbS1zaGVldC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH1jMy1vdmVybGF5LmJvdHRvbS1zaGVldC1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfVtib3R0b20tc2hlZXQtb3Blbl17b3ZlcmZsb3c6aGlkZGVufVttb2RhbC1vcGVuLWJvZHlde3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDtyaWdodDowfS5iMy1pZnJhbWUtYW5jZXN0b3JbbW9kYWwtb3Blbi1ib2R5XXtwb3NpdGlvbjphYnNvbHV0ZX0ubW9kYWwtaGlkZGVuLWJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0uYnV0dG9uLXdpdGgtaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTttaW4td2lkdGg6NS4xNGVtO21hcmdpbjowIC4yOWVtO2ZvbnQtc2l6ZToxLjRyZW07Ym9yZGVyLXJhZGl1czozcHh9LmJ1dHRvbi13aXRoLWljb24tYnV0dG9ue3BhZGRpbmc6LjdlbSAuNTdlbX0uYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbjotLjdlbSAtLjU3ZW19LmJ1dHRvbi13aXRoLWljb24uY29tcGFjdCsuYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbi1sZWZ0Oi43ZW19LmJ1dHRvbi13aXRoLWljb24taW5uZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uYnV0dG9uLXdpdGgtaWNvbi1idXR0b25bZGlzYWJsZWRdLC5idXR0b24td2l0aC1pY29uLmRpc2FibGVkIC5idXR0b24td2l0aC1pY29uLWJ1dHRvbntjb2xvcjojOTA5MDkwfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9CUkFORF17Y29sb3I6I2UxMDAyZH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfUFJJTUFSWV06bm90KFtkaXNhYmxlZD10cnVlXSl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwNjVmZDR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1BSSU1BUlldW2Rpc2FibGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1RFWFRde2NvbG9yOiM2MDYwNjB9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1RFWFRdIC5sb2dvLWFycm93e2ZpbGw6I2ZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQkxVRV9URVhUXXtjb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9CTFVFX1RFWFRfV0lUSF9JTlZFUlNFX1RIRU1FXXtjb2xvcjojM2VhNmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9ERVNUUlVDVElWRV17YmFja2dyb3VuZC1jb2xvcjojZTEwMDJkO2JvcmRlci1jb2xvcjojZTEwMDJkO2NvbG9yOiNmZmZ9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1NVR0dFU1RJVkVde2JvcmRlcjoxcHggc29saWQgIzA2NWZkNDtjb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9PVkVSTEFZXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKTtjb2xvcjojZmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9EQVJLXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX0lOQUNUSVZFX09VVExJTkVde2NvbG9yOiM2MDYwNjA7Ym9yZGVyOjFweCBzb2xpZCAjNjA2MDYwO3BhZGRpbmc6NXB4IDExcHh9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLWljb24tb25seT10cnVlXXttaW4td2lkdGg6MDttYXJnaW46MH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtaWNvbi1vbmx5PWZhbHNlXSAuYnV0dG9uLXJlbmRlcmVyLWljb257bWFyZ2luOjAgOHB4fS5idXR0b24tcmVuZGVyZXItdGV4dHthbGlnbi1zZWxmOmNlbnRlcjttaW4taGVpZ2h0OjFlbTtsaW5lLWhlaWdodDoxZW07Zm9udC13ZWlnaHQ6NTAwfVtpcy1idXN5PXRydWVdIC5idXR0b24tcmVuZGVyZXItaWNvbixbaXMtYnVzeT10cnVlXSAuYnV0dG9uLXJlbmRlcmVyLXRleHR7dmlzaWJpbGl0eTpoaWRkZW59LmJ1dHRvbi13aXRoLWljb24tc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDttYXJnaW46YXV0b30uYnV0dG9uLXJlbmRlcmVyLXdpdGgtYW5pbWF0aW9uIC5idXR0b24td2l0aC1pY29uLWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWMzLWljb257ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7ZmlsbDpjdXJyZW50Q29sb3I7c3Ryb2tlOm5vbmV9W2Rpcj1ydGxdIGMzLWljb25bZmxpcC1mb3ItcnRsPXRydWVde3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5pY29uLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cGFkZGluZzo4cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fWMzLWljb24gc3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YzMtaWNvbi5pY29uLXN0YXRlLW91dGxpbmVbaWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6bm9uZX1jMy1pY29uLmljb24tc3RhdGUtZmlsbGVkW2ljb24tc3RhdGUtb3V0bGluZV17ZGlzcGxheTpub25lfS5waXZvdC1iYXItaXRlbS10YWIgYzMtaWNvbltpY29uLXN0YXRlLWZpbGxlZF17ZGlzcGxheTpub25lfS5waXZvdC1iYXItaXRlbS10YWIgYzMtaWNvbltpY29uLXN0YXRlLW91dGxpbmVde2Rpc3BsYXk6YmxvY2t9LnBpdm90LWJhci1pdGVtLXRhYlthcmlhLXNlbGVjdGVkPXRydWVdIGMzLWljb25baWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6YmxvY2t9LnBpdm90LWJhci1pdGVtLXRhYlthcmlhLXNlbGVjdGVkPXRydWVdIGMzLWljb25baWNvbi1zdGF0ZS1vdXRsaW5lXXtkaXNwbGF5Om5vbmV9I21lbnUsLm1lbnUtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjR9Lm1lbnUtY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7bWF4LWhlaWdodDoxMDAlO292ZXJmbG93LXk6YXV0bztjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwYWRkaW5nOjNweH0ubWVudS1jb250ZW50Lm1lbnUtYm90dG9te2JvdHRvbTowO2NvbG9yOiMwMzAzMDM7cGFkZGluZzowO3Bvc2l0aW9uOmZpeGVkO21heC13aWR0aDoxMDAlO3dpZHRoOjEwMCV9LmJvdHRvbS1tZW51LWNhbmNlbHtib3JkZXItdG9wOjFweCBzb2xpZCAjZjFmMWYxO3BhZGRpbmc6OHB4IDB9Lm1lbnUtY29udGVudD5he2Rpc3BsYXk6YmxvY2t9Lm1lbnUtY2FuY2VsLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5tZW51LWNhbmNlbC1pY29ue21hcmdpbjowIDhweH0ubWVudS1jb250ZW50Lm1lbnUtYm90dG9tIGMzLWljb257Y29sb3I6IzAzMDMwMzttYXJnaW46MCAzMnB4IDAgMH0ubWVudS1jb250ZW50Om5vdCgubWVudS1zaG93LWljb25zKSAubWVudS1pdGVtLWJ1dHRvbiBjMy1pY29ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgKG1pbi13aWR0aDozMzBweCl7Lm1lbnUtY29udGVudDpub3QoLm1lbnUtYm90dG9tKXttaW4td2lkdGg6MjUwcHg7bWF4LXdpZHRoOjM1NnB4O21hcmdpbjo0MHB4fX0ubWVudS1mdWxsLXdpZHRoIC5tZW51LWNvbnRlbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmO21pbi13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjFweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1lbnUtY29udGVudC5yb3VuZGVkLWNvbnRhaW5lcntib3JkZXItcmFkaXVzOjhweH0uaWNvbi1idXR0b24uc21hbGx7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjE2cHh9eXRtLW1lbnUtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDB9eXRtLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzo4cHggMTZweDttYXJnaW4tbGVmdDowO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjppbml0aWFsO3RleHQtdHJhbnNmb3JtOnVuc2V0Oy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9eXRtLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9eXRtLW1lbnUtaXRlbSBjMy1pY29ue21hcmdpbi1yaWdodDoyNHB4fS5tZW51LWJvdHRvbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxLjZyZW07cGFkZGluZzoxMXB4IDE2cHh9Lnl0d1BsYXllckJvdHRvbUNvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJCb3R0b21Db250cm9sc0Z1bGxzY3JlZW5CdXR0b25XcmFwcGVyey1tb3otbWFyZ2luLXN0YXJ0OmF1dG87bWFyZ2luLWlubGluZS1zdGFydDphdXRvfS55dEJhZGdlU2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7cGFkZGluZzowIDRweH0ueXRCYWRnZVNoYXBlVHlwb2dyYXBoeXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJY29ue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS55dEJhZGdlU2hhcGVOb1RleHR7cGFkZGluZzowIDFweDttaW4taGVpZ2h0OjE4cHh9Lnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2V7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoxcHggNHB4fS55dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZSAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6NHB4O2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlLnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2VSZWRlc2lnbntiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjAgNnB4fS55dEJhZGdlU2hhcGVTdGF0dXNCYWRnZXtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjFweCA0cHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlIC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2UueXRCYWRnZVNoYXBlTm9UZXh0IC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDowfS55dEJhZGdlU2hhcGVUZXh0e2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS55dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvd3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3d7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjIwY2h9Lnl0QmFkZ2VTaGFwZURlZmF1bHR7XG4gIC8qICFrZWVwICovY29sb3I6IzYwNjA2MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9Lnl0QmFkZ2VTaGFwZURlZmF1bHQueXRCYWRnZVNoYXBlT3ZlcmxheXtjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVEZWZhdWx0Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlTWVkaWF7XG4gIC8qICFrZWVwICovY29sb3I6IzYwNjA2MDtvdXRsaW5lOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRCYWRnZVNoYXBlTWVkaWEueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjA7b3V0bGluZToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZU1lZGlhT3ZlcmxheXtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7b3V0bGluZToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVByb21vdGVke1xuICAvKiAha2VlcCAqL2NvbG9yOiMwMzAzMDM7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVByb21vdGVkLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojMDMwMzAzO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJvbW90ZWRJbnZlcnRlZC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOm5vbmU7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVRpbWVseXtcbiAgLyogIWtlZXAgKi9jb2xvcjojNjA2MDYwfS55dEJhZGdlU2hhcGVUaW1lbHkgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGltZWx5e3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVUaW1lbHkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjB9Lnl0QmFkZ2VTaGFwZVRpbWVseS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGltZWx5Lnl0QmFkZ2VTaGFwZU1vZGVybntwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJlbWl1bXtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6I2UxMDAyZH0ueXRCYWRnZVNoYXBlUHJlbWl1bS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVNhbGV7XG4gIC8qICFrZWVwICovY29sb3I6I2MzMDAyN30ueXRCYWRnZVNoYXBlU2FsZSAueXRCYWRnZVNoYXBlSWNvbntjb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxle3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybiwueXRCYWRnZVNoYXBlU2FsZS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2MzMDAyN30ueXRCYWRnZVNoYXBlU2FsZS55dEJhZGdlU2hhcGVNb2Rlcm57cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZU1lbWJlcnNoaXB7XG4gIC8qICFrZWVwICovY29sb3I6IzEwNzUxNjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9Lnl0QmFkZ2VTaGFwZU1lbWJlcnNoaXAueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVDb21tZXJjZXtcbiAgLyogIWtlZXAgKi9jb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlQ29tbWVyY2UueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVMaXZle1xuICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZUxpdmUueXRCYWRnZVNoYXBlT3ZlcmxheXtjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVMaXZlLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVTdGF0dXNOZXd7XG4gIC8qICFrZWVwICovY29sb3I6IzA2NWZkNDtvdXRsaW5lOjFweCBzb2xpZCAjMDY1ZmQ0O291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c05ldy55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzA2NWZkNDtvdXRsaW5lOjFweCBzb2xpZCAjMDY1ZmQ0O291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0NvbXBsZXRle1xuICAvKiAha2VlcCAqL2NvbG9yOiMwMDU5MTc7YmFja2dyb3VuZDojZGVmZmRlfS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAwNTkxNztiYWNrZ3JvdW5kOiNkZWZmZGV9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmd7XG4gIC8qICFrZWVwICovY29sb3I6IzdjMjkwMDtiYWNrZ3JvdW5kOiNmZmVhY2Z9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmcueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM3YzI5MDA7YmFja2dyb3VuZDojZmZlYWNmfS55dEJhZGdlU2hhcGVTdGF0dXNFcnJvcntcbiAgLyogIWtlZXAgKi9jb2xvcjojOTkwNDEyO2JhY2tncm91bmQ6cmdiYSgyNTUsODUsMTE5LDAuMil9Lnl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojOTkwNDEyO2JhY2tncm91bmQ6cmdiYSgyNTUsODUsMTE5LDAuMil9Lnl0QmFkZ2VTaGFwZVN0YXR1c0RlZmF1bHR7XG4gIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdHtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxEZWZhdWx0Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxMaXZle1xuICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmUueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWx7XG4gIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbntcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxEZWZhdWx0UmVkZXNpZ24ueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0QmFkZ2VTaGFwZUFke2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMDMwMzAzO3doaXRlLXNwYWNlOm5vd3JhcDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7Zm9udC1zaXplOnVuc2V0O2xpbmUtaGVpZ2h0OnVuc2V0fS55dEJhZGdlU2hhcGVBZC55dEJhZGdlU2hhcGVBZHNJbmNsdWRlRG90OmFmdGVye2NvbnRlbnQ6XCLCt1wiOy1tb3otcGFkZGluZy1lbmQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDo0cHg7LW1vei1wYWRkaW5nLXN0YXJ0OjRweDtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZU92ZXJsYXl7Y29sb3I6I2ZmZn0ueXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QmFkZ2VTaGFwZUxhcmdlRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRCYWRnZVNoYXBlSXNFbXB0eXtkaXNwbGF5Om5vbmV9LmFjY291bnRJbmZvSG9zdHtkaXNwbGF5OmJsb2NrfS5saWtlLWJ1dHRvbi1yZW5kZXJlciBbYXJpYS1wcmVzc2VkPXRydWVdIGMzLWljb257Y29sb3I6IzA2NWZkNH0ubGlrZS1idXR0b24tcmVuZGVyZXIgW2FyaWEtcHJlc3NlZD10cnVlXSBjMy1pY29uIHBhdGh7ZmlsbDojM2VhNmZmO3N0cm9rZTojZmZmO3N0cm9rZS13aWR0aDoxcHh9eXRtLW1lbnUtcmVuZGVyZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9LmJvdHRvbS1zaGVldC1tZWRpYS1tZW51LWl0ZW0geXRtLW1lbnUtaXRlbXtwYWRkaW5nOjA7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjA7bWFyZ2luLWxlZnQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVye21hcmdpbjo1cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPXNtYWxsXXttYXJnaW46MnB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlclt0aHVtYm5haWwtc2l6ZT1tZWRpdW1de21hcmdpbjo0cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPWxhcmdlXXttYXJnaW46OHB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPUxJVkVdLHl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPVNIT1JUU117dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWltZy5jdXN0b20tdGh1bWJuYWlsLnZpZGVvLXRodW1ibmFpbC1pbWd7b2JqZWN0LWZpdDpzY2FsZS1kb3duO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3c6aGlkZGVufS52aWRlby10aHVtYm5haWwtaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjphdXRvfS52aWRlby10aHVtYm5haWwtYmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctYm90dG9tOjU2LjI1JX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4fS5jdXN0b20tdGh1bWJuYWlsLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4MHB4O2hlaWdodDoxODBweH0uY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciAuY3VzdG9tLXRodW1ibmFpbHtvcGFjaXR5Oi43O2ZpbHRlcjpibHVyKDMwcHgpfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZHtib3JkZXItcmFkaXVzOjhweH0ub3JpZ2luYWwtYXNwZWN0LXJhdGlvIGltZ3toZWlnaHQ6MTAwJTt3aWR0aDphdXRvfS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1ib3R0b206MTI1JX0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UgaW1ne29iamVjdC1maXQ6Y292ZXI7d2lkdGg6MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW4tdG9wOjB9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2U6d2hlcmUoLm5vdC1yZW5kZXJlZC1mcm9tLXJpY2gtaXRlbSl7bWFyZ2luOi0xM3B4IC0xMnB4IDA7cGFkZGluZy10b3A6MTNweH0uc3R5bGUtcmVjb21tZW5kYXRpb25zLWluLXBvcnRyYWl0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdlLnJvdW5kZWQtdGh1bWJuYWlse2JvcmRlci1yYWRpdXM6MTJweDttYXJnaW46MDtwYWRkaW5nLXRvcDowfX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjA7cGFkZGluZy10b3A6MH19LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UudGh1bWJuYWlsLWNvdmVyLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2Uucm91bmRlZC10aHVtYm5haWx7Ym9yZGVyLXJhZGl1czoxMnB4fX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbCxwbGF5ZXItZnVsbHNjcmVlbi1jb250cm9scyAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fS52aWRlby10aHVtYm5haWwtZmlsbC1wYXJlbnR7bWFyZ2luOjA7cGFkZGluZy10b3A6MDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZ3twYWRkaW5nLXRvcDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29ue21hcmdpbjoyNHB4IDI0cHggMH0ueXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWF7bWFyZ2luLWJvdHRvbToyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDowO2ZsZXgtc2hyaW5rOjQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW17d2lkdGg6MTAwJTtmbGV4LXNocmluazowO29iamVjdC1maXQ6Y292ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lcntwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjB9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXR7cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7bWF4LWhlaWdodDo1LjZyZW19Lnl0U3BlY0RpYWxvZ0xheW91dExlYWRpbmdBY3Rpb25IZWFkZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjRGlhbG9nTGF5b3V0VHJhaWxpbmdBY3Rpb25IZWFkZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tbGVmdDphdXRvfS55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50e2NvbG9yOiMwMzAzMDM7b3ZlcmZsb3cteTphdXRvfS55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50SW5uZXJ7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjAgMjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVye3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1sZWZ0OjI0cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRGb290ZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWZsb3c6cm93IHdyYXAtcmV2ZXJzZTtmbGV4LXNocmluazowO21hcmdpbjotOHB4IDAgMCAtOHB4fS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lRW5key1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDplbmR9Lnl0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjhweCAwIDAgOHB4fS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkey1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0U3BlY0RpYWxvZ0xheW91dENlbnRlckFsaWduIC55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50LC55dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbiAueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNTdGFja2Vkey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1AbWVkaWEgKG1heC13aWR0aDozMzBweCl7Lnl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmV7bWluLXdpZHRoOmNhbGMoMTAwdncgLSA5NnB4KTttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMHZofX1AbWVkaWEgKG1pbi13aWR0aDozMzFweCkgYW5kIChtYXgtd2lkdGg6NTI3cHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWluLXdpZHRoOm1pbigzMjBweCwxMDB2dyAtIDk2cHgpO21heC13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOm1pbig0MDBweCwxMDB2dyAtIDk2cHgpO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpfX1AbWVkaWEgKG1pbi13aWR0aDo1MjhweCl7Lnl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmV7bWluLXdpZHRoOjMyMHB4O21heC13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOm1pbig1NjBweCwxMDB2dyAtIDk2cHgpO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpO21heC1oZWlnaHQ6bWluKDU2MHB4LDEwMHZoIC0gOTZweCl9fS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVue2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRhaW5lciwueXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbiAueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudHtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnRJbm5lcntkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cGFkZGluZzowfUBtZWRpYSAobWluLXdpZHRoOjUyOHB4KXsueXRTcGVjRGlhbG9nTGF5b3V0RXh0ZW5kZWRNYXhIZWlnaHR7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gOTZweCl9fS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEluc2V0IC55dFNwZWNEaWFsb2dMYXlvdXRBc3NldHt3aWR0aDphdXRvO3BhZGRpbmc6MCAyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldCAueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJdGVte2JvcmRlci1yYWRpdXM6MTJweH0ueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEltYWdle2JvcmRlci1yYWRpdXM6NnB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7ZGlzcGxheTpibG9ja30ueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0SWNvbntib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo2cHg7cGFkZGluZzo2cHh9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdFtkYXRhLWJhY2tncm91bmQtY29sb3I9VEhFTUVfQVRUUklCVVRFX09WRVJMQVlfQkFDS0dST1VORF9NRURJVU1dIC55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJY29ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0Pip7bWFyZ2luLXRvcDoxNnB4fS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD50b2dnbGUtYnV0dG9uLXZpZXctbW9kZWx7bWFyZ2luLXRvcDowfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZXt3aWR0aDo1NnB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlIC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweDttYXJnaW46MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGUgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEhvc3Q6Zm9jdXN7YmFja2dyb3VuZDp1bnNldH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGUgYnV0dG9uOm5vdChbYXJpYS1wcmVzc2VkPXRydWVdKSBjMy1pY29ue2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4IHJnYmEoMCwwLDAsMC4zKSl9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHg7bWFyZ2luOjB9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0RGVza3RvcHstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdERlc2t0b3AgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206OHB4O21hcmdpbjowfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7ZGlzcGxheTpub25lfX0ueXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXgtd2lkdGg6NDgwcHh9Lnl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW06bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6NHB4O21heC13aWR0aDoxMDAlfS55dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1ib3R0b206NHB4O21heC13aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS55dEFuaW1hdGVkQWN0aW9uTG90dGlle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZHt3aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZENvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlfS5wbGF5ZXItc2V0dGluZ3MtaGVhZGVye21hcmdpbi1ib3R0b206MjBweH0ucGxheWVyLWNhcHRpb24tc2V0dGluZ3MsLnBsYXllci1xdWFsaXR5LXNldHRpbmdzLC5wbGF5ZXItc3BlZWQtc2V0dGluZ3N7d2lkdGg6MTAwJTttYXJnaW46NHB4IDAgMTJweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mb3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7bWluLWhlaWdodDo4LjRyZW07d2lkdGg6MTAwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtwYWRkaW5nOjhweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LmNvcHlEZWJ1Z0luZm9QbGF5ZXJEZWJ1Z0luZm97aGVpZ2h0OjQwdmg7ZGlyZWN0aW9uOmx0cn0uc3RhYmxlVm9sdW1lVG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllckNvbnRyb2xzQ29udGFpbmVySG9zdHstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3BhZGRpbmctYm90dG9tOjB9Lnl0U2hvcnRzRW1iZWRzSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpIDAscmdiYSgwLDAsMCwwKSAxNjBweCksbGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsMCkgOTZweCl9Lnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zLC55dFNob3J0c0VtYmVkc1JlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXIgLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEsLnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye3otaW5kZXg6Mn0ueXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6Mjt3aWR0aDoxMDAlfS55dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjQ4cHh9Lnl0bUN1ZWRPdmVybGF5SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1DdWVkT3ZlcmxheUhpZGRlbiwueXRtQ3VlZE92ZXJsYXlIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0zNnB4O21hcmdpbi10b3A6LTM2cHg7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn0ueXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uLnNob3J0cywueXRtQ3VlZE92ZXJsYXlTaG9ydHN7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDotNTBweDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHh9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb257d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjojZjAzfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dG1DdWVkT3ZlcmxheVBsYXlCdXR0b25JY29ue2NvbG9yOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpmaXJzdC1jaGlsZHtmaWxsOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gLmxvZ28tYXJyb3csLnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpudGgtY2hpbGQoMil7ZmlsbDpDYW52YXN9fS55dG1DdWVkT3ZlcmxheUdyYWRpZW50e3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7aGVpZ2h0OjdyZW19Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjNweH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJ7aGVpZ2h0OjNweDttYXJnaW46MCAxcHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJJc1NjcnViYmluZ3ttYXJnaW46MCAycHh9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6MH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXI6bGFzdC1vZi10eXBle21hcmdpbi1yaWdodDowfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbHtoZWlnaHQ6M3B4O3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyTG9hZGVke2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7aGVpZ2h0OjNweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcnt0cmFuc2Zvcm06c2NhbGVZKDIpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmV7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjNweDt3aWR0aDoxMDAlfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lUm91bmRlZHtib3JkZXItcmFkaXVzOjEuNXB4O292ZXJmbG93OmhpZGRlbn0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjY7d2lkdGg6MTAwJX0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO2JvdHRvbTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dEhlYXRTZWVrZXJIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lnl0SGVhdFNlZWtlckhpZ2hDb250cmFzdHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDApLDkwJSxyZ2JhKDAsMCwwLC42KSk7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3R7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwJTtkaXJlY3Rpb246bHRyfS55dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0SGlkZGVue29wYWNpdHk6MH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RMb3dlclBsYXllcntib3R0b206MDtsZWZ0OjMwcHg7cmlnaHQ6MzBweDtoZWlnaHQ6NDRweH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdle2hlaWdodDoyOHB4O2xlZnQ6MDtyaWdodDowO2JvdHRvbTotN3B4fS55dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0e2hlaWdodDoyOHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS55dFBsYXllclByb2dyZXNzQmFySG9zdEN1c3RvbXtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuNSkpO29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguMiwwLC42LDEpfS55dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGV7b3BhY2l0eTowfS55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdle2hlaWdodDowO3BhZGRpbmc6MTkuNXB4IDAgOC41cHh9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxLjVweH0ueXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXJJbnNldHtib3R0b206MTQuNXB4fS55dFBsYXllclByb2dyZXNzQmFyUHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0e3BhZGRpbmc6MTZweCAwIDEycHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjp3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWR7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweCl9Lnl0UHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5le3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozcHg7d2lkdGg6MTAwJX0ueXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVke2JvcmRlci1yYWRpdXM6MS41cHg7b3ZlcmZsb3c6aGlkZGVufS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMb2FkZWR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjZ9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJIb3ZlcmVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi43fS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRQcm9ncmVzc0JhclBsYXloZWFkSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90e2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6I2YwMzt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZXtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90SGlkZXt0cmFuc2Zvcm06c2NhbGUoMCl9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b217aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtwb2ludGVyLWV2ZW50czpub25lfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2V7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUhpZGV7dHJhbnNmb3JtOnNjYWxlKDApfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZHt3aWR0aDoxMDAlO2xlZnQ6NTAlfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0c3ttYXJnaW4tYm90dG9tOjQ4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXJ7Ym90dG9tOmNhbGMoNTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3REZXNrdG9wU2hvcnRze21hcmdpbi1ib3R0b206MTZweH0ueXRQbGF5ZXJTdG9yeWJvYXJkSG9zdElzRHJhZ2dpbmd7bWFyZ2luLWJvdHRvbTo4MHB4fS55dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUlue2FuaW1hdGlvbjpmYWRlLWluIC4xcyBjdWJpYy1iZXppZXIoLjIsMCwuNiwxKX0ueXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6IzAwMH0ueXRQbGF5ZXJTdG9yeWJvYXJkQmlnYm9hcmRJbWFnZVdyYXBwZXJ7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXB7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3tmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuOHJlbTtsaW5lLWhlaWdodDozLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXBTaG9ydHN7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3twYWRkaW5nLXRvcDo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmd7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6Y2FsYygxLjZyZW0qdmFyKC0tc3Rvcnlib2FyZC1zY2FsZSwgMSkpO2xpbmUtaGVpZ2h0OmNhbGMoMi4ycmVtKnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKX0ueXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOmNhbGMoLTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDEwMCUpO2xlZnQ6NTAlO2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtmb250LXNpemU6Y2FsYygxMnB4KnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKX0ueXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGFCaWdib2FyZHt3aWR0aDphdXRvO2NvbG9yOiNmZmY7bWF4LXdpZHRoOjEwMCU7Ym90dG9tOjZweDtib3JkZXItcmFkaXVzOjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7cGFkZGluZzo4cHggMTZweDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWNvbHVtbi1nYXA6MXJlbTtjb2x1bW4tZ2FwOjFyZW07bWluLXdpZHRoOjB9Lnl0UGxheWVyU3Rvcnlib2FyZFRpdGxle21heC13aWR0aDoxMDAlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tYm90dG9tOjRweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFBsYXllclN0b3J5Ym9hcmRUaXRsZUJpZ2JvYXJke21hcmdpbi1ib3R0b206MDtmb250LXdlaWdodDo3MDB9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbldyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O21hcmdpbi1yaWdodDo0cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFN0b3J5Ym9hcmRJbWFnZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfUBrZXlmcmFtZXMgZmFkZS1pbnswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX0ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjNweDtkaXJlY3Rpb246bHRyO3RyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LG1hcmdpbi1sZWZ0LG1hcmdpbi1yaWdodCxwYWRkaW5nLHZpc2liaWxpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzfS55dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3RJc1NjcnViYmFibGVNb2Rle21hcmdpbi1yaWdodDoxNnB4O21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjE2cHg7cGFkZGluZy1ib3R0b206MTZweDt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SGlkZVByb2dyZXNzQmFye3Zpc2liaWxpdHk6aGlkZGVuO2hlaWdodDowfS55dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0dlc3R1cmVPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDB2aDt3aWR0aDoxMDB2dztpbnNldDowO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0d0F1dG9uYXZUb29sdGlwSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjI1JTt3aWR0aDoxMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2NvbG9yOiNmZmZ9Lnl0d1BsYXllclVzZXJFZHVUb29sdGlwSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjAgOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnQ7bWFyZ2luLXRvcDoxNnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo2O2JvcmRlci1yYWRpdXM6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtwYWRkaW5nOjdweCAxNnB4O21heC13aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwV3JhcHBlcjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3Q6bm90KC55dHdTcGVlZG1hc3RlclRvb2x0aXBLaWxsc3dpdGNoKXstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6I2ZmZjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7cmlnaHQ6MH0ueXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWx7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4fVtkaXI9cnRsXSAueXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWx7ZGlyZWN0aW9uOnJ0bH0ueXR3U3BlZWRtYXN0ZXJUb29sdGlwSWNvbnttYXJnaW4tbGVmdDo0cHh9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2xlZnQ6MDt0b3A6MDtib3R0b206MDtyaWdodDowO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7bGVmdDowO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNTcGVlZG1hc3Rlckdlc3R1cmVBcmVhe2hlaWdodDoxMDAlO3dpZHRoOjI1JX0ueXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc01lbnVHZXN0dXJlQXJlYXtoZWlnaHQ6MTAwJTt3aWR0aDo1MCV9Lnl0bVZpZGVvQ292ZXJIb3N0e2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxO3RyYW5zaXRpb246dHJhbnNmb3JtIC43czt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9Lnl0bVZpZGVvQ292ZXJIb3N0LmVuZGVke3otaW5kZXg6MH0ueXRtVmlkZW9Db3Zlckhvc3QuaGlkZGVue3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MH0ueXRtVmlkZW9Db3ZlclRodW1ibmFpbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvdmVyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0ZFZvbHVtZUNvbnRyb2xzSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtaGVpZ2h0OjQ4cHh9Lnl0ZFZvbHVtZUNvbnRyb2xzRGlzYWJsZVNsaWRlcnt3aWR0aDo0OHB4fS55dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MHB4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWZsZXg6MTtmbGV4OjEgMSBhdXRvO21heC13aWR0aDoxNjhweH0ueXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lclZlcnRpY2Fse21heC13aWR0aDo0OHB4O3dpZHRoOjQ4cHg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7Z2FwOjYwcHg7aGVpZ2h0Oi1tb3otZml0LWNvbnRlbnQ7aGVpZ2h0OmZpdC1jb250ZW50O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJFeHBhbmRlZHtwb2ludGVyLWV2ZW50czphbGx9Lnl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjUwcHh9Lnl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kO3otaW5kZXg6MTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7cGFkZGluZzoxMnB4O2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmFsbDtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246dmlzaWJpbGl0eSAuMTJzIGxpbmVhcixvcGFjaXR5IC4xMnMgbGluZWFyLHdpZHRoIC4xMnMgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckV4cGFuZGVke3Zpc2liaWxpdHk6dmlzaWJsZTt3aWR0aDoxMDAlO29wYWNpdHk6MTt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggLjNzIGxpbmVhcjt6LWluZGV4OjF9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyV2l0aFNjcmlte3BhZGRpbmctcmlnaHQ6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXItcmFkaXVzOjUwcHg7aGVpZ2h0OjQ4cHg7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6MCAxMnB4O21hcmdpbjowO3RyYW5zaXRpb246dmlzaWJpbGl0eSAuM3MgbGluZWFyLG9wYWNpdHkgLjNzIGxpbmVhcix3aWR0aCAwcyBsaW5lYXIgLjNzLG1hcmdpbiAuM3MgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRG93bnt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxFeHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDAsNDAsNDAsMC42KTttYXJnaW4tdG9wOjhweDt3aWR0aDoxMzNweDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggMHMgbGluZWFyLG1hcmdpbiAuM3MgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckRpc2FibGVTbGlkZXJ7ZGlzcGxheTpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcnstLWdyYWRpZW50LXBlcmNlbnQ6MDstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7Ym9yZGVyOm5vbmU7bWFyZ2luLWJvdHRvbToxcHg7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jazttaW4td2lkdGg6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZzo4cHggMDtmb3JjZWQtY29sb3ItYWRqdXN0Om5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LDAuMykgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwwLjMpIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDAsMCwwLDAuMSkgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgwLDAsMCwwLjEpIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi10b3A6LTYuNXB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JhY2tncm91bmQtY29sb3I6d2hpdGU7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3toZWlnaHQ6MnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10cmFja3toZWlnaHQ6MnB4fS55dGRWb2x1bWVDb250cm9sc011dGVJY29ue2NvbG9yOndoaXRlfS55dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbXtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3otaW5kZXg6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgbGluZWFyO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTBweH0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZHt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkSG92ZXJTdGF0ZTphZnRlcntjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyOHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGgsYmFja2dyb3VuZC1jb2xvcn0ueXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51Q2lyY2xlQnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6MjRweDtwYWRkaW5nLWxlZnQ6MTJweDtwYWRkaW5nLXJpZ2h0OjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24gYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9uIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbHtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLXJhZGl1czoxNnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWx7cGFkZGluZzo2cHggMTJweH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDotMXB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxTdGFja3ttYXJnaW4tbGVmdDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlse2hlaWdodDoycHg7bWFyZ2luLWJvdHRvbToxcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoycHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlse3dpZHRoOjEwcHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWx7d2lkdGg6MjBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbn0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsU2luZ2xlVGh1bWJuYWlsIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXJ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtvdXRsaW5lOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWx7ZGlzcGxheTpibG9ja30ueXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0e21hcmdpbi1yaWdodDoxMnB4fXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnN7bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLXRleHR7ZGlzcGxheTpub25lfXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMgLmJ1dHRvbi1yZW5kZXJlcnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21pbi13aWR0aDphdXRvO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luOjB9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0uZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMTVweDtib3R0b206Y2FsYyh2YXIoLS1jb250cm9scy1oZWlnaHQpKi0xKTtsZWZ0OjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6dmFyKC0tY29udHJvbHMtaGVpZ2h0KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZ1bGxzY3JlZW4tY29udHJvbHMtdmlkZW8tdGl0bGV7Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi1jb250cm9scy5leHBhbmRlZHtib3R0b206MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfUBtZWRpYSAocG9pbnRlcjpmaW5lKXsuZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMjhweH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcntzY3JvbGxiYXItd2lkdGg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6YXV0bztvdmVyZmxvdy15OmF1dG99LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS5mdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5OmJsb2NrfX0uZnVsbHNjcmVlbi1idXR0b25zLXdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ0cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweH0udG9wLWZ1bGxzY3JlZW4tY29udHJvbHN7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS5mdWxsc2NyZWVuLWNsb3NlLWJ1dHRvbi13cmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2hlaWdodDo0OHB4O2xlZnQ6MjRweDtyaWdodDoyNHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ei1pbmRleDoyfS5hY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtib3JkZXItcmFkaXVzOjQ4cHg7cGFkZGluZzo0cHggMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyPjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo4cHh9LmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUsLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3QsLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlcnttYXJnaW4tbGVmdDphdXRvO2hlaWdodDoxMDAlfS5mdWxsc2NyZWVuLW1vcmUtdmlkZW9zLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5zdGFja2VkLXZpZGVvcy13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDo2NHB4O2hlaWdodDoxMDAlfS5zdGFja2VkLXZpZGVvLXByZXZpZXd7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZDpibGFjaztib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6M3B4O292ZXJmbG93OmhpZGRlbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnN0YWNrZWQtdmlkZW8tcHJldmlldyAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0uc3RhY2tlZC12aWRlby1wcmV2aWV3OmZpcnN0LWNoaWxke3otaW5kZXg6M30uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgyKXt6LWluZGV4OjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoLjg3NSl9LnN0YWNrZWQtdmlkZW8tcHJldmlldzpudGgtY2hpbGQoMikgLnN0YWNrZWQtdmlkZW8tcHJldmlldy1pbWFnZXtvcGFjaXR5Oi43NX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKXt6LWluZGV4OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCkgc2NhbGUoLjc1KX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKSAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle29wYWNpdHk6LjV9Lm1vcmUtdmlkZW9zLW1lc3NhZ2V7bWFyZ2luLXJpZ2h0OjEycHg7dGV4dC1hbGlnbjpyaWdodH0ubW9yZS12aWRlb3MtbWVzc2FnZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS5tb3JlLXZpZGVvcy1tZXNzYWdlLXN1YnRpdGxle2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eTouN30ucXVpY2stYWN0aW9ucy13cmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6YXV0b30ucXVpY2stYWN0aW9ucy1iYXItYnV0dG9ucy13cmFwcGVye3BhZGRpbmctbGVmdDoxMnB4fS53YXRjaC1vbi15b3V0dWJlLWJ1dHRvbi13cmFwcGVye2RpcmVjdGlvbjpsdHJ9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsud2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgMjBweH19LndhdGNoLW9uLXlvdXR1YmUtYnV0dG9ue3BhZGRpbmctbGVmdDo0cHh9Lm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIsLm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyLmNpcmNsZS1idXR0b25zLC5uby1sYWJlbC1leHA+eXRtLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubm8tbGFiZWwtZXhwIHl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMubGlrZS1idXR0b24tbm8tbGFiZWwtZXhwe2RpcmVjdGlvbjpydGx9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51LC5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX19eXRtLWN1c3RvbS1jb250cm9sIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1jdXN0b20tY29udHJvbCAuaWNvbi1idXR0b246bm90KC5wbGF5ZXItc2V0dGluZ3MtaWNvbil7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjhweH15dG0tY3VzdG9tLWNvbnRyb2wgLmljb24tYnV0dG9uOm5vdCgucGxheWVyLXNldHRpbmdzLWljb24pPmMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH19eXRtLWN1c3RvbS1jb250cm9sIC5hdXRvbmF2LXVzZXItZWR1Y2F0aW9uLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjUlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6I2ZmZn0uaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC5wbGF5ZXItY29udHJvbHMtYm90dG9tLC5pbnRlcmNlcHQtZWxlbWVudC1jbGlja3MgLnBsYXllci1jb250cm9scy1taWRkbGUsLmludGVyY2VwdC1lbGVtZW50LWNsaWNrcyAucGxheWVyLWNvbnRyb2xzLXRvcCwuaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntwb2ludGVyLWV2ZW50czpub25lfXl0bS1jdXN0b20tY29udHJvbCAuZmluZS1zY3J1YmJpbmctb3ZlcmxheSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1ib3R0b20gLmZ1bGxzY3JlZW4taWNvbiBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uIGMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtcGIgLmljb24tYnV0dG9uPmMzLWljb24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIC5pY29uLWJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvblthcmlhLXByZXNzZWQ9ZmFsc2VdPmMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIHl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24gYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXT5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmljb24tZGlzYWJsZSBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt6LWluZGV4OjI7cmlnaHQ6MjRweH1AbWVkaWEgKG1heC1oZWlnaHQ6MjIxcHgpe3l0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtyaWdodDowfX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjM4MHB4KXt5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDoxNHB4fX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AtcmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9W2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQsW2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXJlY3Rpb246cnRsfWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHt0b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApfXl0bS1jdXN0b20tY29udHJvbCBjMy1vdmVybGF5e3Zpc2liaWxpdHk6dmlzaWJsZX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtY29udGVudHtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59I3BsYXllci1jb250cm9sLW92ZXJsYXkudXNlLW9wYWNpdHkgLnBsYXllci1jb250cm9scy1jb250ZW50e29wYWNpdHk6MDt2aXNpYmlsaXR5OnVuc2V0fSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjA7b3BhY2l0eTowfSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZDpub3QoLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCl7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwuNTQpIDI1JSxyZ2JhKDAsMCwwLC4zNikgNTAlLHJnYmEoMCwwLDAsLjE4KSA3NSUscmdiYSgwLDAsMCwwKSk7YmFja2dyb3VuZC1zaXplOjFweCA1MCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheSAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3A6MDt2aXNpYmlsaXR5OnZpc2libGV9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWFjdGlvbi1pdGVtc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9I3BsYXllci1jb250cm9sLW92ZXJsYXkuYW5pbWF0aW9uLWVuYWJsZWR7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjdzO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmFuaW1hdGlvbi1lbmFibGVkIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9I3BsYXllci1jb250cm9sLW92ZXJsYXkucG9pbnRlci1ldmVudHMtb2Zme3BvaW50ZXItZXZlbnRzOm5vbmV9I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWlue3BvaW50ZXItZXZlbnRzOmF1dG99I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWluIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt6LWluZGV4OjI7b3BhY2l0eToxfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbiAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7dmlzaWJpbGl0eTp2aXNpYmxlfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbi51c2Utb3BhY2l0eSAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7b3BhY2l0eToxO3Zpc2liaWxpdHk6dW5zZXR9I3BsYXllci1jb250cm9sLW92ZXJsYXkuaGlkZGVue2Rpc3BsYXk6bm9uZX1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXJ7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206MzBweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206NTBweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTo1MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206ODJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnV7bGVmdDoxMnB4O3JpZ2h0OjEycHh9QG1lZGlhIChtaW4td2lkdGg6MzgwcHgpey5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1hY3Rpb24tbWVudXtsZWZ0OjMwcHg7cmlnaHQ6MzBweH19QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsuZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTozMnB4O3otaW5kZXg6MztoZWlnaHQ6NDBweDtsZWZ0OjEycHg7cmlnaHQ6MTJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIC55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZW5kfS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIgLnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhcntwYWRkaW5nLWJvdHRvbToxMnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NThweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0e2xlZnQ6MDtyaWdodDo0NHB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e2xlZnQ6dW5zZXQ7cmlnaHQ6MDt6LWluZGV4OjR9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e2xlZnQ6MnB4O3JpZ2h0OjJweDtib3R0b206MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludHttYXJnaW4tdG9wOjEycHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvLXByZXZpZXcsLmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvcy13cmFwcGVye3dpZHRoOjQycHg7aGVpZ2h0OjI0cHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5wbGF5ZXItdGltZS1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6bm9uZX19LnBsYXllci1jb250cm9scy1oaWRle2Rpc3BsYXk6bm9uZX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QnJhbmRpbmdJY29ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2cHg7cmlnaHQ6MTJweDtjb2xvcjojZmZmfVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb257bGVmdDoxMnB4O3JpZ2h0OmF1dG99Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QmFja2dyb3VuZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnV7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5SGlkZUFjdGlvbk1lbnV7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTVweDtyaWdodDoxMnB4fVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXJ7bGVmdDoxMnB4O3JpZ2h0OmF1dG99QGtleWZyYW1lcyB5dG0tZXF1YWxpemVyLWFuaW1hdGlvbnswJXt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGVZKC41KX10b3t0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIgLnl0bS1lcXVhbGl6ZXItYmFyLWxlZnQsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1taWRkbGUsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDthbmltYXRpb24tbmFtZTp5dG0tZXF1YWxpemVyLWFuaW1hdGlvbjthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbGVmdHthbmltYXRpb24tZHVyYXRpb246LjVzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbWlkZGxle2FuaW1hdGlvbi1kdXJhdGlvbjoxLjNzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItcmlnaHR7YW5pbWF0aW9uLWR1cmF0aW9uOi43c30ueXRTaG9ydHNUb3VjaEZlZWRiYWNrSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW57ZGlzcGxheTpub25lfS55dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNre2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlcnt3aWR0aDoyNDBweDtoZWlnaHQ6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbnt3aWR0aDo5NnB4O2hlaWdodDo5NnB4fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdHtvdmVyZmxvdy15OnNjcm9sbH19Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyU2NyaW1Db250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo1fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lcntib3JkZXItcmFkaXVzOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjowIDhweCAyNHB4O21heC13aWR0aDo0MDBweDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OnNjcm9sbH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXJ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTQwcHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjIwcHggMDt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTJweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDZW50cmFsSWNvbntoZWlnaHQ6NjVweDt3aWR0aDo2NXB4O2NvbG9yOiNmMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjQ1cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7cmlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjI0cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZXtiYWNrZ3JvdW5kOiMwMzAzMDM7b3BhY2l0eTouMTU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjRweDttYXJnaW46MCBhdXRvO3dpZHRoOjQwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50c3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzPmRpdntwYWRkaW5nLWJvdHRvbTo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHM+eXRtLWJ1dHRvbi1yZW5kZXJlcntwYWRkaW5nLXRvcDo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7bGV0dGVyLXNwYWNpbmc6LjAwNWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZXtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjEuOHJlbX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxle2xldHRlci1zcGFjaW5nOi4wMWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3otaW5kZXg6NTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3RvcDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206NTAlfX1AbWVkaWEgKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlck92ZXJsYXlDb250YWluZXJ7Ym90dG9tOjI1JX19QG1lZGlhIChtYXgtaGVpZ2h0OjUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206MH19W2JvdHRvbS1zaGVldC1vdmVybGF5LWJvZHktb3Blbl17cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7dG9wOjA7b3ZlcmZsb3c6aGlkZGVufS55dG0tZm9yY2VkLW11dGUtbWVzc2FnZSAuYnV0dG9uLXdpdGgtaWNvbi1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czozcHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjZweH0ueXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UgLmJ1dHRvbi13aXRoLWljb24taW5uZXIgYzMtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJ7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJbYmFja2dyb3VuZD1JTkZPX1BBTkVMX0NPTlRBSU5FUl9CQUNLR1JPVU5EX1NZU1RFTV06Zmlyc3QtY2hpbGR7Ym9yZGVyOm5vbmV9eXRtLWluZm8tcGFuZWwtY29udGFpbmVyLXJlbmRlcmVyW2JhY2tncm91bmQ9SU5GT19QQU5FTF9DT05UQUlORVJfQkFDS0dST1VORF9TWVNURU1de2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfR1JBWV17YmFja2dyb3VuZC1jb2xvcjojZmZmfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXJ7aGVpZ2h0OjM2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWxlZnQtaXRlbXN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1pY29ue21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFt5dG0taW5mby1wYW5lbC1jb250ZW50LWhhcy1tZW51PXRydWVde2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudT10cnVlXSAueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcntwYWRkaW5nLWJvdHRvbToxMnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RJc1dhdGNoSW5mb1BhbmVse21hcmdpbjoxMnB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFt5dG0taW5mby1wYW5lbC1jb250ZW50LXRydW5jYXRlLXBhcmFncmFwaHM9dHJ1ZV0gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclBhcmFncmFwaHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczstd2Via2l0LWxpbmUtY2xhbXA6M30ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFtkYXRhLWJhY2tncm91bmQ9SU5GT19QQU5FTF9DT05URU5UX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS10gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZXtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFtkYXRhLWJhY2tncm91bmQ9SU5GT19QQU5FTF9DT05URU5UX0JBQ0tHUk9VTkRfQkxVRV17YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RDaW5lbWF0aWNCYWNrZ3JvdW5ke2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJXcmFwcGVye3BhZGRpbmc6MTJweCAxNnB4IDE2cHggMTZweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcltkYXRhLWhhcy1pY29uPXRydWVde3BhZGRpbmc6MTRweCAxMnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJCb2R5e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUZXh0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcntjb2xvcjojMDY1ZmQ0O21hcmdpbi1ib3R0b206NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7bWF4LWhlaWdodDo0cmVtfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbntwYWRkaW5nLWxlZnQ6MXB4O3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3B9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlck1ldGFkYXRhe21hcmdpbi1ib3R0b206NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclB1Ymxpc2hUaW1le2Rpc3BsYXk6aW5saW5lO2NvbG9yOiM2MDYwNjA7cGFkZGluZy1sZWZ0OjNweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoe2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZXtkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjojMDY1ZmQ0O3BhZGRpbmctbGVmdDoycHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZVRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRodW1ibmFpbHtmbGV4LXNocmluazowO2hlaWdodDo2NHB4O3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6OHB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJFbmRwb2ludHt3aWR0aDoxMDAlfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIZWFkZXJSaWdodEl0ZW1ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVySWNvbnttYXJnaW4tbGVmdDo0cHg7bWFyZ2luLXJpZ2h0OjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJNZW51e2Rpc3BsYXk6YmxvY2t9Lnl0bUxvZ29FbnRpdHlIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHh9Lnl0bUxvZ29FbnRpdHlDb250YWluZXJ7d2lkdGg6MTIycHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUxvZ29FbnRpdHlMb2dve3BhZGRpbmc6MDtoZWlnaHQ6NDhweDt3aWR0aDphdXRvO2NvbG9yOnVuc2V0fS5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlckhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiM2MDYwNjB9LnBsYXllckludGVyc3RpdGlhbFJlbmRlcmVyU2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsLjYpIDc1JSxyZ2JhKDAsMCwwLC42KSl9Lnl0QmlnYm9hcmRTdG9yeWJvYXJkSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbn0ueXRtQTExeVN0eWxlc0hpZGRlbkJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25JY29uRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZE92ZXJsYXl7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uWXRJY29uT3ZlcmxheXtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uQnV0dG9ue2N1cnNvcjpwb2ludGVyO3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzoxMnB4O2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Ib3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxLjJyZW07dmlzaWJpbGl0eTpoaWRkZW59Lnl0bUNyZWF0b3JFbmRzY3JlZW5JbkN1ZVJhbmdle3Zpc2liaWxpdHk6dmlzaWJsZX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTN7Zm9udC1zaXplOjEuNHJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwe2ZvbnQtc2l6ZToxLjhyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMHtmb250LXNpemU6Mi40cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudHtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudFZpc2libGV7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0bUNyZWF0b3JFbmRzY3JlZW5TY3JpbXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRtQ3JlYXRvckVuZHNjcmVlblNjcmltVmlzaWJsZXtvcGFjaXR5Oi4yNX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RyYW5zaXRpb246ei1pbmRleCAuMnMgc3RlcC1lbmQ7ei1pbmRleDo2O3Bvc2l0aW9uOnJlbGF0aXZlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZXt0cmFuc2l0aW9uOnotaW5kZXggLjJzIHN0ZXAtc3RhcnQ7ei1pbmRleDo3fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlse2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsMC42KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFJvdW5ke2JvcmRlci1yYWRpdXM6NTAlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC44KTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjhweDttYXJnaW46LThweDtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO2NvbG9yOiNmZmY7dmlzaWJpbGl0eTpoaWRkZW47YWxpZ24tY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdTbWFsbCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ01lZGl1bSAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ0xhcmdlIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheXtib3JkZXItcmFkaXVzOjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5UmlnaHR7bGVmdDowfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZle3BhZGRpbmctbGVmdDpjYWxjKDEwMCUgKyA4cHgpfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUxlZnR7cmlnaHQ6MH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0QWN0aXZle3BhZGRpbmctcmlnaHQ6Y2FsYygxMDAlICsgOHB4KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0QWN0aXZlLC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7bWF4LXdpZHRoOm5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMTVweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tcmlnaHQ6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlBY3RpdmVSaWdodCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1MDYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMzZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tcmlnaHQ6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjEzNnB4O21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNjQwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjE3NnB4O21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoyNjRweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlBY3RpdmVSaWdodCAueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6MzJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MzkycHg7bWFyZ2luLWxlZnQ6NDhweDttYXJnaW4tcmlnaHQ6MjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjI0cHg7bWFyZ2luLXJpZ2h0OjQ4cHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXgtaGVpZ2h0OjEwMCU7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6MS4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI1O21hcmdpbi1ib3R0b206MnB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6MS42cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjJyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6Mi40cmVtfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuMnJlbTttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuNnJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXtmb250LXNpemU6MS44cmVtO21hcmdpbi10b3A6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToycmVtO21hcmdpbi10b3A6MTJweH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpO3BhZGRpbmctdG9wOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6M30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsey13ZWJraXQtbGluZS1jbGFtcDoyfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTU3MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMzQ2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTQ3MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTA2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbHtkaXNwbGF5Om5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle3doaXRlLXNwYWNlOm5vd3JhcH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb257Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxcmVtO3RyYW5zaXRpb246YWxsIC4yc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjdXJzb3I6cG9pbnRlcn0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b257bWFyZ2luLXRvcDo0cHg7bWFyZ2luLWJvdHRvbTo0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMzQ2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbXtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO3otaW5kZXg6NjtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1DaGFubmVse2JvcmRlci1yYWRpdXM6NTAlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmV7b3BhY2l0eTouMjV9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uSG9zdHt3aWR0aDoxMDAlfS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNvbnRlbnRDb250YWluZXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudH0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25DYW5BbmltYXRle3RyYW5zaXRpb246d2lkdGggLjVzIGVhc2V9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uU3RhdGljV2lkdGggLnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uRmxleENvbnRhaW5lcnt3aWR0aDphdXRvfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JveC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLDAuNik7dHJhbnNpdGlvbjphbGwgLjJzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3otaW5kZXg6NX0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0gLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3R7Ym9yZGVyLXJhZGl1czoxMnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZXtib3JkZXItY29sb3I6I2ZmZn0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcE92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjMzJX0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2NvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjEuMnJlbTtmb250LXdlaWdodDo1MDA7bWFyZ2luOjZweCA4cHggMDtsaW5lLWhlaWdodDoxLjI1O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwwLjMpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjEuNnJlbTttYXJnaW46MTBweCAxMnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6MnJlbTttYXJnaW46MTRweCAxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6Mi40cmVtO21hcmdpbjoxOHB4IDIwcHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWx7b2JqZWN0LWZpdDpjb3Zlcn0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7Zm9udC1zaXplOmluaGVyaXR9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjJweCA0cHg7bWFyZ2luLWJvdHRvbToycHg7bWFyZ2luLXJpZ2h0OjJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjZweCA4cHg7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjEwcHggMTJweDttYXJnaW4tYm90dG9tOjE2cHg7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUb3BHcmFkaWVudHtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5Oi44O2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYigwLDAsMCksdHJhbnNwYXJlbnQpfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjJweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3BhZGRpbmc6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXl7cGFkZGluZzo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwYWRkaW5nOjEycHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpO21hcmdpbjowIDJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgNHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgOHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgMTJweH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFNjcmlte2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO3otaW5kZXg6NTtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmV7b3BhY2l0eTouMjV9Lnl0UGZwQXV0b25hdkhvc3R7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrfS55dFBmcEF1dG9uYXZWaXNpYmxle3BvaW50ZXItZXZlbnRzOmF1dG87YmFja2dyb3VuZDpibGFja30ueXRQZnBBdXRvbmF2U2NyaW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOndoaXRlO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0UGZwQXV0b25hdkhlYWRlcntmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjhweH0ueXRQZnBBdXRvbmF2VGl0bGV7Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1ib3R0b206NHB4fS55dFBmcEF1dG9uYXZCeWxpbmV7Zm9udC1zaXplOjE2cHg7bWFyZ2luLWJvdHRvbToyNHB4fS55dFBmcEF1dG9uYXZCeWxpbmUsLnl0UGZwQXV0b25hdlRpdGxle21heC13aWR0aDo4MCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcEF1dG9uYXZQbGF5QnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjcycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWJvdHRvbToyNHB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXI6MDtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6d2hpdGV9Lnl0UGZwQXV0b25hdlJpbmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0UGZwQXV0b25hdlBsYXlJY29ue3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7ZmlsbDp3aGl0ZX0ueXRQZnBDb250cm9sc0hvc3R7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dFBmcENvbnRyb2xzSG9zdCA6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjM2VhNmZmfS55dFBmcENvbnRyb2xzT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lnl0UGZwQ29udHJvbHNDcmVhdG9yRW5kc2NyZWVuQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mn0ueXRQZnBDb250cm9sc0ZhZGVJbntwb2ludGVyLWV2ZW50czphdXRvfS55dFBmcENvbnRyb2xzQmlnYm9hcmQsLnl0UGZwQ29udHJvbHNCb3R0b21CYXIsLnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCwueXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyLC55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyx2aXNpYmlsaXR5IC4yNXN9Lnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNCaWdib2FyZCwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc0JvdHRvbUJhciwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc0dyYWRpZW50VG9wLC55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzUHJvZ3Jlc3NCYXJDb250YWluZXIsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNWaWRlb1RpdGxle29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0ueXRQZnBDb250cm9sc0dyYWRpZW50VG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7cG9pbnRlci1ldmVudHM6bm9uZTtoZWlnaHQ6NDlweDt6LWluZGV4OjV9Lnl0UGZwQ29udHJvbHNWaWRlb1RpdGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjEycHg7bWFyZ2luOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxOHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOjc1cHg7aGVpZ2h0Ojc1cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MjtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZC1jb2xvcjp1bnNldH0ueXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbkljb25CZ3tmaWxsLW9wYWNpdHk6Ljg7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRQZnBDb250cm9sc092ZXJsYXk6aG92ZXIgLnl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b25JY29uQmd7ZmlsbC1vcGFjaXR5OjE7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRQZnBDb250cm9sc1ZpZGVvV2FsbEVuZHNjcmVlbntwYWRkaW5nOjQ4cHggMDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoyfS55dFBmcENvbnRyb2xzQXV0b25hdntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NDBweDtsZWZ0OjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6M30ueXRQZnBDb250cm9sc0JvdHRvbUJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6NDBweDtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOndoaXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cG9pbnRlci1ldmVudHM6YXV0bzt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNMZWZ0Q29udHJvbHMsLnl0UGZwQ29udHJvbHNSaWdodENvbnRyb2xze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGZwQ29udHJvbHNWb2x1bWVDb250cm9sc3ttYXgtd2lkdGg6MTEycHh9Lnl0UGZwQ29udHJvbHNUaW1lRGlzcGxheS55dFBmcENvbnRyb2xzVGltZURpc3BsYXl7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEuNHJlbTttYXJnaW4tbGVmdDo4cHg7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MzQ5cHgpey55dFBmcENvbnRyb2xzVGltZURpc3BsYXkueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5e2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpey55dFBmcENvbnRyb2xzQ2FwdGlvbnNCdXR0b257ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDoyNDlweCl7Lnl0UGZwQ29udHJvbHNWb2x1bWVDb250cm9scy55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHN7ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDoxOTlweCl7Lnl0UGZwQ29udHJvbHNTZXR0aW5nc0J1dHRvbntkaXNwbGF5Om5vbmV9fS55dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbi55dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbntoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3R7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMDAwO2Rpc3BsYXk6YmxvY2t9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6Zm9jdXMtdmlzaWJsZSAueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheSwueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVySG9zdDpmb2N1cy13aXRoaW4gLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6aG92ZXIgLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXl7b3BhY2l0eToxfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaHVtYm5haWx7b2JqZWN0LWZpdDpjb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheVRpdGxlQnlsaW5le3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo2MHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpIDYwJSxyZ2JhKDAsMCwwLDApKTtwYWRkaW5nOjhweH0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckJ5bGluZXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MTZweDttYXJnaW4tdG9wOjRweDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyRHVyYXRpb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtyaWdodDo4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjJweCA0cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEycHg7Y29sb3I6d2hpdGV9Lnl0UGZwTW9yZVZpZGVvc0hvc3R7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lfUBtZWRpYSAobWF4LWhlaWdodDoyODlweCl7Lnl0UGZwTW9yZVZpZGVvc0hvc3R7ZGlzcGxheTpub25lfX0ueXRQZnBNb3JlVmlkZW9zT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NDhweDtsZWZ0OjEycHg7cmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTIsMTIsMTIsLjgpO3otaW5kZXg6MjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9pbnRlci1ldmVudHM6YXV0bztib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzo4cHggMDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwTW9yZVZpZGVvc0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6MCAxNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQZnBNb3JlVmlkZW9zVGl0bGV7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjIwcHg7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcE1vcmVWaWRlb3NDbG9zZUJ1dHRvbntwYWRkaW5nOjRweDttYXJnaW4tcmlnaHQ6LTRweDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFBmcE1vcmVWaWRlb3NDbG9zZUJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS55dFBmcE1vcmVWaWRlb3NDbG9zZUljb257Y29sb3I6d2hpdGU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0Q29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7cGFkZGluZzowIDEycHggNHB4IDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdzpoaWRkZW59Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdy14OmF1dG87aGVpZ2h0OjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Njcm9sbGJhci13aWR0aDpub25lO3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdDo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3R7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnl9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtoZWlnaHQ6MDttYXJnaW46MCA2cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6YmxhY2s7c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQ7cGFkZGluZy1ib3R0b206MTM1cHg7d2lkdGg6MjQwcHg7bWluLXdpZHRoOjI0MHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwNDBweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDE0LjA2MjUlIC0gNi43NXB4KTt3aWR0aDpjYWxjKDI1JSAtIDEycHgpO21pbi13aWR0aDpjYWxjKDI1JSAtIDEycHgpfX1AbWVkaWEgKG1heC13aWR0aDo3ODBweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDE4LjU2MjUlIC0gMy4zNzVweCk7d2lkdGg6Y2FsYygzMyUgLSA2cHgpO21pbi13aWR0aDpjYWxjKDMzJSAtIDZweCl9fUBtZWRpYSAobWF4LXdpZHRoOjUzNHB4KXsueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVte3BhZGRpbmctYm90dG9tOmNhbGMoMjguMTI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoNTAlIC0gNnB4KTttaW4td2lkdGg6Y2FsYyg1MCUgLSA2cHgpfX1AbWVkaWEgKG1heC13aWR0aDoyODhweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDU2LjI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoMTAwJSAtIDZweCk7bWluLXdpZHRoOmNhbGMoMTAwJSAtIDZweCl9fS55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW06Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6YXV0b30ueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnQsLnl0UGZwTW9yZVZpZGVvc1BhZGRsZVJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzMsMzMsMzMsLjgpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOndoaXRlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjI7Ym94LXNoYWRvdzowIDRweCA0cHggcmdiYSgwLDAsMCwuMjUpfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0OmhvdmVyLC55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYig1MCw1MCw1MCl9Lnl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnR7bGVmdDowfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodHtyaWdodDowfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwTW9yZVZpZGVvc01vcmVWaWRlb3NCdXR0b257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjU2cHg7bGVmdDoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Y29sb3I6d2hpdGU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6OHB4IDE2cHg7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6NTtwb2ludGVyLWV2ZW50czphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRQZnBNb3JlVmlkZW9zTW9yZVZpZGVvc0J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMDAwO2Rpc3BsYXk6YmxvY2t9Lnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6Zm9jdXMtdmlzaWJsZSAueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheSwueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySG9zdDpmb2N1cy13aXRoaW4gLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6aG92ZXIgLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXl7b3BhY2l0eToxfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaHVtYm5haWx7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O2NvbG9yOndoaXRlfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5VGl0bGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjYwcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikgNjAlLHJnYmEoMCwwLDAsMCkpO3BhZGRpbmc6OHB4fS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaXRsZXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweDttYXgtaGVpZ2h0OjM2cHg7Y29sb3I6d2hpdGU7b3ZlcmZsb3c6aGlkZGVufS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJCb3R0b21PdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOndoaXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySWNvbntmaWxsOmN1cnJlbnRDb2xvcjt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O21hcmdpbi1yaWdodDo0cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaXNpYmxle2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiKDEyLDEyLDEyKX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5Jc09ic2N1cmVke3Zpc2liaWxpdHk6aGlkZGVufS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpZGVvTGlzdENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87cGFkZGluZzoxMnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0LC55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzMsMzMsMzMsLjkpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOndoaXRlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjI7Ym94LXNoYWRvdzowIDRweCA0cHggcmdiYSgwLDAsMCwuMjUpfS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnQ6aG92ZXIsLnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTAsNTAsNTApfS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnR7bGVmdDo4cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHR7cmlnaHQ6OHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0l0ZW17cG9zaXRpb246YWJzb2x1dGU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySG9zdHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6N30ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckFjdGlvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7YW5pbWF0aW9uOmFjdGlvbi1mYWRlLW91dCAuNXMgbGluZWFyIDEgbm9ybWFsIGZvcndhcmRzfS55dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4O2ZpbGw6I2ZmZn1Aa2V5ZnJhbWVzIGFjdGlvbi1mYWRlLW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgyKX19Lnl0d1BsYXllclRpbWVEaXNwbGF5SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbn0ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lQ2h1bmtze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZURvdDpiZWZvcmV7Y29udGVudDpcIlwiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjZweDt3aWR0aDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7bWFyZ2luLXJpZ2h0OjRweH0ueXR3UGxheWVyVGltZURpc3BsYXlMaXZlRG90Lnl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZUhlYWQ6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgyMjUsMCw0NSwwLjkpO29wYWNpdHk6MX0ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lRGVsaW1pdGVye2NvbG9yOiNmZmY7bWFyZ2luOjAgNHB4O29wYWNpdHk6Ljd9Lnl0d1BsYXllclRpbWVEaXNwbGF5VGltZVNlY29uZHtvcGFjaXR5Oi43fS55dHdQbGF5ZXJUaW1lRGlzcGxheUNoYXB0ZXJUZXh0e21hcmdpbi1sZWZ0OjhweH0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJBY3Rpb25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b24ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse21hcmdpbjowIDAgMCA4cHh9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQnV0dG9ue292ZXJmbG93OmhpZGRlbjttYXgtd2lkdGg6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3UGxheWVyVGltZURpc3BsYXlDaGV2cm9ue2NvbG9yOiNmZmY7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweDttYXJnaW4tcmlnaHQ6LTRweH0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse2hlaWdodDoyNHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjRweCA2cHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxLjRyZW07YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGwgYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxsIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGlsbHttYXJnaW4tbGVmdDoxNnB4fUBtZWRpYSAobWF4LWhlaWdodDoyMjFweCl7Lnl0d1BsYXllclRpbWVEaXNwbGF5RnVsbHNjcmVlbkNvbnRyb2xzQWx3YXlzT257ZGlzcGxheTpub25lfX0ueXR3UGxheWVyVGltZURpc3BsYXlTY3JlZW5SZWFkZXJPbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlIb3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvcGFjaXR5OjB9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uQmFja3tsZWZ0OjQ4cHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZHtyaWdodDo0OHB4fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUR1cmF0aW9ue2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDAuOCk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uQmFjayAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd3ttYXJnaW4tcmlnaHQ6MjBweH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3cgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dTdmd7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BhdGh7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAuNXB4IHJnYmEoMCwwLDAsMC44KSl9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0ueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd0FkZGl0aW9uYWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2xhdGU6MCAtNTAlfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2sgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFse2xlZnQ6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbHtyaWdodDowfS55dHdQbGF5ZXJFbmRzY3JlZW5Ib3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckVuZHNjcmVlbkNvbnRhaW5lcntjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW57cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjojMDAwO3BhZGRpbmc6OHB4IDE2cHg7bWFyZ2luOjAgYXV0bztkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW5bZGF0YS1oYXMtdGltZXItY291bnRkb3duPXRydWVde3BhZGRpbmc6OHB4fX1bZGlyPXJ0bF0gLnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17ZGlyZWN0aW9uOnJ0bH0ueXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5Ub3BQYW5lbHtkaXNwbGF5Om5vbmV9fS55dHdQbGF5ZXJFbmRzY3JlZW5IZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjE2cHh9Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7bWFyZ2luLWJvdHRvbToxMnB4O21hcmdpbi10b3A6NHB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjhweH19Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bk51bWJlcntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRWaWRlb0NvbnRhaW5lcjpmaXJzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MTJweH0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXl7d2lkdGg6NTAlO2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA2cHgpO3Bvc2l0aW9uOnJlbGF0aXZlfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5e2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA0cHgpfX0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXk+Lnl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbENvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX0ueXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsT3ZlcmxheXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZve3dpZHRoOjUwJTtmbGV4LWJhc2lzOmNhbGMoNTAlIC0gNnB4KX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0luZm97ZmxleC1iYXNpczpjYWxjKDUwJSAtIDRweCl9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle21heC1oZWlnaHQ6NHJlbTtjb2xvcjojZmZmO21hcmdpbi1ib3R0b206NHB4fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0F1dGhvcntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXR3UGxheWVyRW5kc2NyZWVuQnV0dG9uQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9ue3dpZHRoOjEwMCV9Lnl0d1BsYXllckVuZHNjcmVlbkFjdGlvbkJ1dHRvbj46Zmlyc3QtY2hpbGR7d2lkdGg6MTAwJX0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uOmZpcnN0LWNoaWxke21hcmdpbi1yaWdodDoxMnB4fS55dG1DdXN0b21Db250cm9sSG9zdHtkaXNwbGF5OmJsb2NrfS55dG1DdXN0b21Db250cm9sSG9zdCA6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjM2VhNmZmfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3R7Y29sb3I6I2ZmZjtwYWRkaW5nOjEycHggMCAwIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO3RvcDo1MnB4O21pbi13aWR0aDoxMzBweDttYXgtd2lkdGg6bWluKDUwJSAtIDY0cHgsMjcycHgpfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RBdXRvaGlkZXthbmltYXRpb246ZmFkZSAzcyBlYXNlLWluIDEwcyBmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzfUBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzozLzQpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RUb3BDb250cm9sc1N0YWNrZWRJblBvcnRyYWl0e3RvcDoxMTJweH19Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySGlkZGVue2Rpc3BsYXk6bm9uZX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJCdXR0b257LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmxlZnQ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyVGV4dHtmb250LXNpemU6MS4zcmVtO3BhZGRpbmctbGVmdDo4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlclRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e21heC1oZWlnaHQ6NHJlbX1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS55dEVtYmVkc0luZm9QYW5lbERldGFpbHNWaWV3TW9kZWxCb2R5VGV4dHtwYWRkaW5nOjAgMTJweCAxMnB4IDEycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRBdXRvY3JvcEJ1dHRvbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO21hcmdpbi10b3A6NjBweH0ueXRBdXRvY3JvcEJ1dHRvblZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS55dEF1dG9jcm9wQnV0dG9uSGlkZGVue3Zpc2liaWxpdHk6aGlkZGVufS55dEF1dG9jcm9wQnV0dG9uQXV0b0Nyb3BCdXR0b257Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLXJhZGl1czoxOHB4fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3R7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdy14OmF1dG99QG1lZGlhIG5vdCAocG9pbnRlcjpmaW5lKXsueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0ey1tcy1vdmVyZmxvdy1zdHlsZTpub25lO3Njcm9sbGJhci13aWR0aDpub25lfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX19QG1lZGlhIChwb2ludGVyOmZpbmUpey55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3R7b3ZlcmZsb3cteTphdXRvfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjojNjA2MDYwfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzkwOTA5MH19Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zUmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweDtjb2xvcjojZmZmfS55dHdQbGF5ZXJGdWxsc2NyZWVuQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckZ1bGxzY3JlZW5Ub3BDb250cm9sc0hvc3R7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ29udHJvbHNWaWRlb1RpdGxle21hcmdpbjowO2NvbG9yOiNmZmZ9Lnl0d1BsYXllckZ1bGxzY3JlZW5Ub3BDb250cm9sc0Z1bGxzY3JlZW5DbG9zZUJ1dHRvbldyYXBwZXJ7bWFyZ2luLXRvcDotOHB4O21hcmdpbi1sZWZ0OmF1dG99Lnl0bVBhaWRDb250ZW50T3ZlcmxheUhvc3R7Y29sb3I6I2ZmZjthbmltYXRpb246ZmFkZSAzcyBlYXNlLWluIDIwcyBmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO3BhZGRpbmc6MTJweCAwIDEycHggMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRtUGFpZENvbnRlbnRPdmVybGF5SGlkZGVue2Rpc3BsYXk6bm9uZX0ueXRtUGFpZENvbnRlbnRPdmVybGF5TGlua3stbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICMzZWE2ZmY7Ym9yZGVyLXJhZGl1czo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjMxMnB4O3BhZGRpbmc6OHB4O3RleHQtZGVjb3JhdGlvbjpub25lfS55dG1QYWlkQ29udGVudE92ZXJsYXlUZXh0e2ZvbnQtc2l6ZToxLjNyZW07cGFkZGluZy1sZWZ0OjhweH1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS5wbGF5ZXItY29udHJvbHMtYm90dG9te2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTozMHB4O3otaW5kZXg6MjtoZWlnaHQ6NDRweH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAucGxheWVyLWJvdHRvbS1jb250cm9scy1mdWxsc2NyZWVuLWljb24tdmlzaWJsZS1hcmVhey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO3BhZGRpbmc6NnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAucGxheWVyLWJvdHRvbS1jb250cm9scy1mdWxsc2NyZWVuLWljb24tdmlzaWJsZS1hcmVhIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSBzdmd7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS5wbGF5ZXItY29udHJvbHMtYm90dG9tLnBsYXllci1jb250cm9scy1ib3R0b20tbGVmdHtsZWZ0OjEycHg7cmlnaHQ6NzhweH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e3JpZ2h0OjI0cHh9LnBsYXllci1jb250cm9scy1ib3R0b20gLmljb24tYnV0dG9uLmZ1bGxzY3JlZW4taWNvbntkaXNwbGF5OmJsb2NrOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4fWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIC5wbGF5ZXItY29udHJvbHMtYm90dG9te2JvdHRvbTo0NHB4fWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scyAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NzRweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC5wbGF5ZXItY29udHJvbHMtYm90dG9te2JvdHRvbTo5NHB4fS55dHdQbGF5ZXJNaWRkbGVDb250cm9sc0hvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ei1pbmRleDo2fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZS5wcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbnt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cGFkZGluZzo2cHg7Ym9yZGVyLXJhZGl1czoyNHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24+YzMtaWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cGFkZGluZzo2cHg7YmFja2dyb3VuZDpub25lfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIGMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MzZweDt3aWR0aDozNnB4O3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSBzdmd7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24uZW5kc2NyZWVuLXJlcGxheS1idXR0b257aGVpZ2h0OmF1dG87d2lkdGg6YXV0bztib3JkZXItcmFkaXVzOjU2cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5pY29uLWJ1dHRvbi5lbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbj5jMy1pY29ue2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7cGFkZGluZzo4cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24uaWNvbi1idXR0b257aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXJhZGl1czo1MCV9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24uaWNvbi1idXR0b24+YzMtaWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O3BhZGRpbmc6dW5zZXR9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5lbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbi5pY29uLWJ1dHRvbix5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1jb250cm9sLXBsYXktcGF1c2UtaWNvbnttYXJnaW46MCAzNHB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuc2NyZWVucmVhZGVyLXNhZmUtaGlkZS1taWRkbGUtYnV0dG9uc3twb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1jb250cm9scy1zcGlubmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfVtkaXI9cnRsXSB5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGU6bm90KC5wcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbil7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlLWNvcmUtYnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlyZWN0aW9uOmx0cn0ueXRtVmlkZW9JbmZvSG9zdHstbW96LWJveC1mbGV4OjE7ZmxleDoxO292ZXJmbG93OmhpZGRlbjttaW4td2lkdGg6MH0ueXRtVmlkZW9JbmZvVmlkZW9EZXRhaWxzQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctbGVmdDoxMnB4O21pbi1oZWlnaHQ6NS4ycmVtfS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dG1WaWRlb0luZm9WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDB9fS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy10b3A6MTBweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfVtkaXI9cnRsXSAueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfS55dG1WaWRlb0luZm9DaGFubmVsVGl0bGV7bWF4LXdpZHRoOjEwMCU7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6MTtsaW5lLWhlaWdodDoxLjF9Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXJ7bWluLWhlaWdodDozNnB4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNmZmY7bWFyZ2luLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjB9Lnl0bVZpZGVvSW5mb0xvZ29FbmFibGVke3BhZGRpbmctbGVmdDo1MnB4fS55dG1WaWRlb0luZm9DaGFubmVsTG9nb3t3aWR0aDozNnB4O2hlaWdodDozNnB4O2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjEycHg7bWFyZ2luLXRvcDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDo3O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS55dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVye2hlaWdodDo1LjJyZW07cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO21pbi13aWR0aDo1MnB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxMnB4KTttYXJnaW46NHB4O21hcmdpbi10b3A6OHB4O292ZXJmbG93OmhpZGRlbn1bZGlyPXJ0bF0gLnl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXJ7bGVmdDphdXRvO3JpZ2h0OjB9Lnl0bVZpZGVvSW5mb092ZXJsYXl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpO21hcmdpbi1sZWZ0OjRweDtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eTowO21heC13aWR0aDowO3BhZGRpbmctbGVmdDo1MnB4O3BhZGRpbmctcmlnaHQ6MTBweDt6LWluZGV4OjU7cG9zaXRpb246cmVsYXRpdmV9Lnl0bVZpZGVvSW5mb0V4cGFuZGVke29wYWNpdHk6MTttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvQ2hhbm5lbEluZm97ZGlzcGxheTpibG9jaztwYWRkaW5nLXJpZ2h0OjhweDstbW96LWJveC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToycHg7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZXtmb250LXNpemU6MS4ycmVtO2NvbG9yOiNmZmY7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS55dG1WaWRlb0luZm9TdWJzY3JpYmVCdXR0b257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuaXMtc3Vic2NyaWJlZCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVZpZGVvSW5mb0hpZGUsLnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtkaXNwbGF5Om5vbmV9Lnl0bVZpZGVvSW5mb0xpbms6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1NdXRlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRtTXV0ZUJ1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT2ZmLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25Pbnt3aWR0aDozNnB4O2hlaWdodDoxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYgc3ZnLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjM2cHg7aGVpZ2h0OjE0cHh9Lnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2xlZnQ6MjJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fVtkaXI9cnRsXSAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2xlZnQ6NnB4fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uUGF1c2VJY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7bGVmdDo2cHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH1bZGlyPXJ0bF0gLnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb257bGVmdDoyMnB4fS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2NvbG9yOiNmZmZ9Lnl0d1BsYXllclRvcENvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0ey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNCYWNrZ3JvdW5kQWN0aW9uSXRlbXN7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyfXl0bS1ub3RpZmljYXRpb24tYWN0aW9uLXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7cGFkZGluZy1yaWdodDoxcmVtfS5ub3RpZmljYXRpb24tYWN0aW9uLWJ1dHRvbntmbGV4LXNocmluazowfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEycHg7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4fS5ib3R0b20tc2hlZXQtc2hhcmUtaXRlbSAudW5pZmllZC1zaGFyZS11cmwtaW5wdXR7aGVpZ2h0OjQ4cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5zaGFyZS10YXJnZXQtbGlua3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTJweH0uYm90dG9tLXNoZWV0LXNoYXJlLWl0ZW0gLnNoYXJlLXRhcmdldC1saW5re3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2hlaWdodDo0OHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9ZnVsbHNjcmVlbi1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO292ZXJmbG93OnNjcm9sbDt6LWluZGV4OjR9c2VudGluZWx7fSIpOwp0aGlzLmRlZmF1bHRfYmFzZT10aGlzLmRlZmF1bHRfYmFzZXx8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpczsKdHJ5ewpfLkN0PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5zZXJ2aWNlSWQ9bmV3IF8uTnIoYSxiKX10b1N0cmluZygpe3JldHVybiB0aGlzLnNlcnZpY2VJZC50b1N0cmluZygpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIml1VDVPYyIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgd3Q7Xy52dD1mdW5jdGlvbihhLGIpe3JldHVybiBhPT1iPyEwOmEmJmI/YS53aWR0aD09Yi53aWR0aCYmYS5oZWlnaHQ9PWIuaGVpZ2h0OiExfTtfLnh0PWZ1bmN0aW9uKGEsYil7Yi5oYXNPd25Qcm9wZXJ0eSgiZGlzcGxheU5hbWUiKXx8KGIuZGlzcGxheU5hbWU9YS50b1N0cmluZygpKTtiW3d0XT1hfTt3dD1TeW1ib2woIklhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSWU9ZnVuY3Rpb24oKXt0aGlzLmlkPSJiIn07Xy5JZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZH07Xy5GdD1uZXcgXy5OcigiTXBKd1pjIiwiTXBKd1pjIik7dmFyIEd0O0d0PW5ldyBfLkllO18uSHQ9Y2xhc3MgZXh0ZW5kcyBfLkple2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoR3QsYSk7dGhpcy5ub2RlPWE7dGhpcy5raW5kPWJ9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCi8qCgogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQoqLwp2YXIgQUEsQkEsREEsV2FhLFhhYSxPQSxQQSwkYWEsYWJhLFNBLFRBLGRiYSxlYmEsZmJhLGRCLGdiYSxqYmEsa2JhLGhCLGtCLGxCLHJCLHNCLHRCLHVCLHZCLHdCLG5iYSxwYmEsb2JhLEVCLHNiYSxEQixGQixIQix0YmEsdWJhLHZiYSxRQixTQixUQix3YmEsYUMsWUIsY0MsVUIsZUMsaEMsaUMsa0MseWJhLHpiYSxBYmEsc0MsdkMsRGJhLHpDLENDLEZiYSxHYmEsRWJhLFZhYSxLQSxvQztfLnlBPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmZiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O18uekE9ZnVuY3Rpb24oYSxiKXtpZihhLm5vZGVUeXBlPT09MSYmL14oc2NyaXB0fHN0eWxlKSQvaS50ZXN0KGEudGFnTmFtZSkpdGhyb3cgRXJyb3IoImgiKTthLmlubmVySFRNTD1fLnlBKGIpfTtBQT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9O2ZvcihsZXQgZCBpbiBhKWNbZF09Yi5jYWxsKHZvaWQgMCxhW2RdLGQsYSk7cmV0dXJuIGN9OwpfLkl0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIk1hIik7fTtCQT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDthPV8uWHQoXy5lZChhLDIsdm9pZCAwLF8uRHYpKTtyZXR1cm4gYT09PW51bGx8fGE9PT12b2lkIDA/bnVsbDpfLmdiKGEpfTtfLkNBPWZ1bmN0aW9uKGE9Myl7dmFyIGI9Xy5adDtpZighYil7c3dpdGNoKGEpe2Nhc2UgMDphPUVycm9yKCJSYSIpO2JyZWFrO2Nhc2UgMTphPUVycm9yKCJVYSIpO2JyZWFrO2Nhc2UgMjphPUVycm9yKCJWYSIpO2JyZWFrO2RlZmF1bHQ6YT1FcnJvcigiV2EiKX10aHJvdyBhO31yZXR1cm4gYn07REE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU9iamVjdC5jcmVhdGUoVmFhKTtkLnNvdXJjZT1hO2QuVGc9YjtjIT12b2lkIDAmJihkLmVxdWFsPWMpO2E9KCk9PntfLnJ1KGQpO18ucHUoZCk7aWYoZC52YWx1ZT09PV8uSXYpdGhyb3cgZC5lcnJvcjtyZXR1cm4gZC52YWx1ZX07YVtfLlp1XT1kO3JldHVybiBhfTsKXy5FQT1mdW5jdGlvbihhKXt2YXIgYj1fLmt1KG51bGwpO3RyeXtyZXR1cm4gYSgpfWZpbmFsbHl7Xy5rdShiKX19O1dhYT1mdW5jdGlvbihhKXthPXtbXy5FdV06ITAsZGVidWdOYW1lOmF9OyFfLlp0fHxfLkJ1KGEpO3JldHVybiBhfTtfLkZBPWZ1bmN0aW9uKGEpe3JldHVybiBhLmRlYnVnTmFtZXx8YS5uYW1lfHwiW2NvbXBvbmVudF0ifTtfLkdBPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLkZBKGEpO18uTXU9e25hbWU6Yz9gJHtkfSAoJHtjfSlgOmQsbGo6YS5jb21wb25lbnRUeXBlIT09Xy5LdixwYXJlbnQ6Xy5NdX07YT1iKCk7Xy5NdT1fLk11LnBhcmVudDtyZXR1cm4gYX07Xy5IQT1mdW5jdGlvbigpe3ZhciBhPV8uTXU7cmV0dXJuIGE/YS5sajohMX07Xy5JQT1mdW5jdGlvbihhKXtfLmd2LS07aWYoYSlmb3IobGV0IGIgb2YgXy5ZdiliLmNsZWFyKCk7ZWxzZSBfLmd2PjB8fF8uY3YuaXNGbHVzaGluZyYmIV8uS3UuUml8fF8uanYoKX07Cl8uSkE9ZnVuY3Rpb24oYSxiKXtiPXtjb21wb25lbnRTdGFjazpfLlN1KF8uUHUpLHByOl8uUXU/LnNsaWNlKCk/P1tdLGZoOjMsQWw6Xy5MdSgpLHRhZ05hbWU6Yn07cmV0dXJuW2EsYl19O18uTEE9ZnVuY3Rpb24oKXtpZih0eXBlb2YgS0E9PT0iZnVuY3Rpb24iKXZhciBhPUtBO2Vsc2UgaWYodHlwZW9mIEtBPT09Im9iamVjdCIpYT1LQS5jb25zdHJ1Y3RvcjtlbHNlIHRocm93IEVycm9yKHZvaWQgMCk7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfTtYYWE9ZnVuY3Rpb24oKXtpZighXy51Py5TeW1ib2w/LmZvcilyZXR1cm4gbmV3IFdlYWtNYXA7dmFyIGE9U3ltYm9sLmZvcigiZ29vZ2xlLmdvZW0iKSxiPV8udVthXTtpZihiKXJldHVybiBiO2I9bmV3IFdlYWtNYXA7cmV0dXJuIF8udVthXT1ifTsKT0E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnRhZ05hbWUsZD1hLnRhZ05hbWU7YT1NQS5oYXMoZCkmJiFZYWEuaGFzKGQpOygoYj1NQS5oYXMoYykpfHxhKSYmYSYmIWImJk5BLmhhcyhjLnRvTG93ZXJDYXNlKCkpJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiSWJgIitjKyJgIitkKSwyLGMpO30pfTtQQT1mdW5jdGlvbigpe307Xy5RQT1mdW5jdGlvbihhLGIsYyl7aWYoYz09bnVsbClhLnJlbW92ZUF0dHJpYnV0ZShiKTtlbHNle3ZhciBkOyhkPWIubGFzdEluZGV4T2YoInhtbDoiLDApPT09MD8iaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIjpiLmxhc3RJbmRleE9mKCJ4bGluazoiLDApPT09MD8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI6bnVsbCk/YS5zZXRBdHRyaWJ1dGVOUyhkLGIsYyk6YS5zZXRBdHRyaWJ1dGUoYixjKX19OwokYWE9ZnVuY3Rpb24oYSxiLGMpe2E9YS5zdHlsZTtpZih0eXBlb2YgYz09PSJzdHJpbmciKWEuY3NzVGV4dD1jO2Vsc2V7YS5jc3NUZXh0PSIiO2ZvcihsZXQgZiBpbiBjKWlmKFphYS5jYWxsKGMsZikpe2I9YTt2YXIgZD1mLGU9Y1tmXTtkLmluZGV4T2YoIi0iKT49MD9iLnNldFByb3BlcnR5KGQsZSk6YltkXT1lfX19O2FiYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dHlwZW9mIGM7ZD09PSJvYmplY3QifHxkPT09ImZ1bmN0aW9uIj9hW2JdPWM6Xy5RQShhLGIsYyl9O1NBPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IFBBO2FbXy5SQS5kZWZhdWx0XT1hYmE7YS5zdHlsZT0kYWE7cmV0dXJuIGF9O1RBPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGI9PWMmJmQ9PWV9O18uWEE9ZnVuY3Rpb24oKXtmb3IodmFyIGE9Xy5VQSxiPV8uVkEoKTtiIT09bnVsbDspe2xldCBjPWIubmV4dFNpYmxpbmc7YS5yZW1vdmVDaGlsZChiKTtfLldBLmRlbGV0ZWQucHVzaChiKTtiPWN9fTsKXy5WQT1mdW5jdGlvbigpe3JldHVybiBfLllBP18uWUEubmV4dFNpYmxpbmc6Xy5VQS5maXJzdENoaWxkfTsKZGJhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLldBLGU9Xy5aQSxmPV8uJEEsaD1fLmFCLGs9Xy5ZQSxsPV8uVUEsbT1fLmJCO18uWkE9YS5vd25lckRvY3VtZW50O18uV0E9bmV3IGJiYShhKTtfLmJCPWI7Xy5hQj1bXTtfLllBPW51bGw7Yj1fLlVBPWEucGFyZW50Tm9kZTt2YXIgbj1jYmEuY2FsbChhKTtpZigobj1uLm5vZGVUeXBlPT09MTF8fG4ubm9kZVR5cGU9PT05P24uYWN0aXZlRWxlbWVudDpudWxsKSYmYS5jb250YWlucyhuKSl7Zm9yKGE9W107biE9PWI7KWEucHVzaChuKSxuPW4ucGFyZW50Tm9kZXx8KGI/bi5ob3N0Om51bGwpO2I9YX1lbHNlIGI9W107Xy4kQT1iO3RyeXtyZXR1cm4gYygpfWZpbmFsbHl7Yz1fLldBLF8uY0ImJmMuZGVsZXRlZC5sZW5ndGg+MCYmKDAsXy5jQikoYy5kZWxldGVkKSxfLlpBPWUsXy5XQT1kLF8uYkI9bSxfLmFCPWgsXy5ZQT1rLF8uVUE9bCxfLiRBPWZ9fTsKZWJhPWZ1bmN0aW9uKGEsYj17fSl7dmFyIHttYXRjaGVzOmM9VEF9PWI7cmV0dXJuKGQsZSxmKT0+ZGJhKGQsYywoKT0+YShkLGUsZikpfTtmYmE9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7Zm9yKHZhciBiPShkLGUsZik9Pnt2YXIgaD1NYXRoLm1pbihlLmxlbmd0aC1mLGQubGVuZ3RoKTtmb3IobGV0IGw9MDtsPGg7bCsrKXt2YXIgaz1lW2YrbF07aWYoZFtsXSE9PSgiQSI8PWsmJms8PSJaIj9rLnRvTG93ZXJDYXNlKCk6aykpcmV0dXJuITF9cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoIjwiLGMpKSE9LTE7KXtpZihiKCJceDNjL3NjcmlwdCIsYSxjKXx8YigiXHgzYyEtLSIsYSxjKSlyZXR1cm4ielNveXoiO2MrPTF9cmV0dXJuIGF9OwpkQj1mdW5jdGlvbihhKXtpZihhLmlzQ29ubmVjdGVkIT09dm9pZCAwKXJldHVybiBhLmlzQ29ubmVjdGVkO3ZhciBiPWEub3duZXJEb2N1bWVudDtpZighYilyZXR1cm4gYT09PWRvY3VtZW50O2lmKHR5cGVvZiBiLmNvbnRhaW5zPT09ImZ1bmN0aW9uIilyZXR1cm4gYi5jb250YWlucyhhKTtmb3IoO2E7KXtpZihhPT09YilyZXR1cm4hMDthPWEucGFyZW50Tm9kZX1yZXR1cm4hMX07Z2JhPWZ1bmN0aW9uKGEsYj0hMSl7dmFyIGM9Xy5DQSgpLGQ9Xy5NdTtyZXR1cm4gZT0+e3ZhciBmPSExLGg9ZS5jdXJyZW50VGFyZ2V0O2gmJihmPSFkQihoKXx8YiYmaFtlQl09PT0hMCk7dmFyIGs9Yz8uaWEsbD1iJiZoJiZoW2VCXT09PSEwO2lmKGZ8fGspe2lmKGgmJmRCKGgpJiYoa3x8bCkpdGhyb3cgXy5VdShFcnJvcigia2MiKSw0KTt9ZWxzZXt2YXIgbT0oKT0+YShlKTt0cnl7Xy5SdSgoKT0+Xy5FQShtKSxkKX1jYXRjaChuKXtfLm92KG4sYyl9fX19OwpfLmdCPWZ1bmN0aW9uKGEsYixjKXtpZihPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChmQixhKSYmKGE9ZkJbYV0sT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoYSxiKSYmKGE9YVtiXSxhIGluc3RhbmNlb2YgQXJyYXkpKSl7bGV0IGU9bnVsbCxmPSExO2ZvcihsZXQgaD0wLGs9YS5sZW5ndGg7aDxrOysraCl7bGV0IGw9YVtoXTt2YXIgZD1sLmliO2lmKCFkKXJldHVybiBsLmthO2U9PT1udWxsJiYoZT17fSk7ZD1PYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChlLGQpP2VbZF06ZVtkXT1jKGQpO2lmKGQ9PT1sLm5iKXJldHVybiBsLmthO2Q9PW51bGwmJihmPSEwKX1pZihmKXJldHVybiBudWxsfWI9aGJhW2JdO3JldHVybiB0eXBlb2YgYj09PSJudW1iZXIiP2I6bnVsbH07CmpiYT1mdW5jdGlvbihhLGIpe2I9Xy5nQihhLnRvTG93ZXJDYXNlKCksYiwoKT0+e3Rocm93IF8uVXUoRXJyb3IoIm1jIiksNCxhLnRvTG93ZXJDYXNlKCkpO30pO3JldHVybiBiPT09bnVsbD9udWxsOmliYVtiXT8/bnVsbH07a2JhPWZ1bmN0aW9uKGEsYixjKXtpZihjPT09bnVsbHx8Yz09PXZvaWQgMClyZXR1cm4gYztiPWIudG9Mb3dlckNhc2UoKTthPWpiYShhLGIpO3JldHVybiBhPT09bnVsbD9jOmEoYixjKX07aEI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1XYWEoYik7Yj1fLiR0KGMpO3RyeXthKGMpfWZpbmFsbHl7Xy4kdChiKX1yZXR1cm4oKT0+dm9pZCBfLkN1KGMpfTtfLmlCPWZ1bmN0aW9uKGEpe3JldHVybiBfLkFhKGEpPyJub2RlVHlwZSJpbiBhOiExfTtfLmpCPWZ1bmN0aW9uKGEpe3JldHVybiBfLmlCKGEpJiZhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREV9O2tCPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKX07CmxCPWZ1bmN0aW9uKGEpe2E9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGEpKTthLl9pc1NpZ25hbFRleHROb2RlPSEwO3JldHVybiBhfTtfLm9CPWZ1bmN0aW9uKGEpe3JldHVybiBhIT1udWxsJiZhLkdpPT09Xy5tQnx8YSBpbnN0YW5jZW9mIF8uZmJ8fG5CKGEpfTtfLnBCPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG5CKGEpJiZCQShhKSlfLnpBKGIsQkEoYSkpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uZmIpXy56QShiLGEpO2Vsc2UgaWYoYSE9bnVsbCYmYS5HaT09PV8ubUIpe2lmKGEuR2khPT1fLm1CKXRocm93IEVycm9yKCJOYSIpO2E9Xy5nYihhLnRvU3RyaW5nKCkpO18uekEoYixhKX1mb3IobGV0IGMgb2YgYi5jaGlsZE5vZGVzKWMuX2lzU2FmZU9yU2FuaXRpemVkSHRtbE5vZGU9ITA7cmV0dXJuIGJ9OwpfLnFCPWZ1bmN0aW9uKGEpe2E9dHlwZW9mIGE7cmV0dXJuIGE9PT0ic3RyaW5nInx8YT09PSJudW1iZXIifHxhPT09ImJvb2xlYW4ifTtyQj1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uU2F8fF8uWGEoYSl8fCExfTtzQj1mdW5jdGlvbihhLGIpe3ZhciBjPWEucGFyZW50RWxlbWVudDtpZighYylyZXR1cm4gYjtfLmpCKGIpJiZPQShjLGIpO2MucmVwbGFjZUNoaWxkKGIsYSk7cmV0dXJuIGJ9O3RCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YVswXS5wYXJlbnRFbGVtZW50O2lmKGMpaWYoYVswXS5wcmV2aW91c1NpYmxpbmd8fGFbYS5sZW5ndGgtMV0ubmV4dFNpYmxpbmcpe2MuaW5zZXJ0QmVmb3JlKGIsYVswXSk7Zm9yKGxldCBkPWEubGVuZ3RoLTE7ZD49MDtkLS0pYy5yZW1vdmVDaGlsZChhW2RdKX1lbHNlIGMudGV4dENvbnRlbnQ9IiIsYy5hcHBlbmRDaGlsZChiKTtyZXR1cm4gYn07CnVCPWZ1bmN0aW9uKGEsYil7aWYoYVswXS5wYXJlbnRFbGVtZW50KXt2YXIgYz1hWzBdLnBhcmVudEVsZW1lbnQ7bGV0IGY9Yi5sZW5ndGgsaD1hLmxlbmd0aCxrPWYsbD0wLG09MCxuPWFbaC0xXS5uZXh0U2libGluZyxwPW51bGw7Zm9yKDtsPGh8fG08azspaWYoYVtsXT09PWJbbV0pbCsrLG0rKztlbHNle2Zvcig7YVtoLTFdPT09YltrLTFdOyloLS0say0tO2lmKGg9PT1sKWZvcih2YXIgZD1rPGY/bT9iW20tMV0ubmV4dFNpYmxpbmc6YltrLW1dOm47bTxrOyl7dmFyIGU9YlttKytdO18uakIoZSkmJk9BKGMsZSk7Yy5pbnNlcnRCZWZvcmUoZSxkKX1lbHNlIGlmKGs9PT1tKWZvcig7bDxoOylkPWFbbF0scCYmcC5oYXMoZCl8fGMucmVtb3ZlQ2hpbGQoZCksbCsrO2Vsc2UgaWYoYVtsXT09PWJbay0xXSYmYlttXT09PWFbaC0xXSlkPWFbLS1oXS5uZXh0U2libGluZyxjLmluc2VydEJlZm9yZShiW20rK10sYVtsKytdLm5leHRTaWJsaW5nKSxjLmluc2VydEJlZm9yZShiWy0ta10sZCksCmFbaF09YltrXTtlbHNle2lmKCFwKWZvcihwPW5ldyBNYXAsZD1tO2Q8azspcC5zZXQoYltkXSxkKyspO2Q9cC5nZXQoYVtsXSk7aWYoZD09bnVsbCljLnJlbW92ZUNoaWxkKGFbbF0pLGwrKztlbHNlIGlmKG08ZCYmZDxrKXtlPWw7bGV0IHI9MSx0O2Zvcig7KytlPGgmJmU8azspe3Q9cC5nZXQoYVtlXSk7aWYodD09bnVsbHx8dCE9PWQrcilicmVhaztyKyt9aWYocj5kLW0pZm9yKGU9YVtsXTttPGQ7KWMuaW5zZXJ0QmVmb3JlKGJbbSsrXSxlKTtlbHNlIGMucmVwbGFjZUNoaWxkKGJbbSsrXSxhW2wrK10pfWVsc2UgbCsrfX19cmV0dXJuIGJ9O3ZCPWZ1bmN0aW9uKGEpe2lmKCFBcnJheS5pc0FycmF5KGEpKXJldHVybiBhPy5wYXJlbnRFbGVtZW50O2ZvcihsZXQgYiBvZiBhKWlmKGE9dkIoYikpcmV0dXJuIGE7cmV0dXJuIG51bGx9O3dCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5fZGlzcG9zZUVmZmVjdHM7YS5fZGlzcG9zZUVmZmVjdHM9Yz8oKT0+e2MoKTtiKCl9OmJ9OwpfLnpCPWZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYz09PSJib29sZWFuIiYmbGJhLmhhcyhiKSlfLlFBKGEsYixTdHJpbmcoYykpO2Vsc2UgaWYoYz09PSExJiZtYmEuaGFzKGIpKV8uUUEoYSxiLG51bGwpO2Vsc2UgaWYoYiE9PSJpZG9tS2V5IiYmYiE9PSJza2lwIiYmYiE9PSJza2lwY2hpbGRyZW4iJiZiIT09ImNoaWxkcmVuIiYmYiE9PSJlbCIpaWYoYi5zdGFydHNXaXRoKCJvbiIpKXtpZihiWzJdIT09IjoiKXRocm93IF8uVXUoRXJyb3IoImxjYCIrYiksNCxhLnRhZ05hbWUpO2xldCBmPWIuc2xpY2UoMyk7dmFyIGQ9Xy5IQSgpO2lmKGM9PT12b2lkIDApZHx8Zj09PSJqc2FjdGlvbiJ8fHhCLmluY2x1ZGVzKGYpfHwoYVtgb24ke2Z9YF09bnVsbCk7ZWxzZSBpZihmPT09ImpzYWN0aW9uIil7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO2ZvcihsZXQgaCBvZiBjKXtpZih0eXBlb2YgaCE9PSJvYmplY3QifHxoPT09bnVsbHx8dHlwZW9mIGgucW4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJzY2AiKwpiKTtoLnFuKDAsYSxkP18uWXU6KCk9Pnt9KX19ZWxzZXtpZih0eXBlb2YgYz09PSJmdW5jdGlvbiIpe2R8fGFbZUJdIT09dm9pZCAwfHwoYVtlQl09ITEsd0IoYSwoKT0+e2FbZUJdPSEwfSkpO3ZhciBlPWdiYShjLCFkKX1lbHNle25iYShiLGMpO2lmKGMucW4pe2MucW4oMCxhLGYsZD9fLll1OigpPT57fSk7cmV0dXJufWU9Yy5VcCgwKX1pZihkJiZhW2BvbiR7Zn1gXT09PXZvaWQgMClhLmFkZEV2ZW50TGlzdGVuZXIoZixlKSxfLll1KCgpPT52b2lkIGEucmVtb3ZlRXZlbnRMaXN0ZW5lcihmLGUpKTtlbHNlIGlmKGR8fCF4Qi5pbmNsdWRlcyhmKSlhW2BvbiR7Zn1gXT1lfX1lbHNle2lmKGIuc3RhcnRzV2l0aCgiZGF0YS0iKSYmdHlwZW9mIGM9PT0ic3RyaW5nIil0cnl7Yz1mYmEoYyl9Y2F0Y2goZil7Yz0ielNveXoifXR5cGVvZiBjIT09ImZ1bmN0aW9uInx8YS5fZGlzcG9zZUVmZmVjdHMhPW51bGw/KChkPWIuc3RhcnRzV2l0aCgicHJvcDoiKSkmJihiPWIuc2xpY2UoNSkpLGI9PT0KInN0eWxlIj9fLkhBKCk/dHlwZW9mIGM9PT0ib2JqZWN0IiYmYyE9PW51bGw/b2JhKGEsYyk6eUIoYSxiLGMpOnlCKGEsYixjKTooXy5LdS55diYmKGQmJnBiYShhLnRhZ05hbWUpfHwoYz1rYmEoYS50YWdOYW1lLGIsYykpKSxkP2FbYl09YzpxYmEoYSxiLGMpKSk6KGEuX3NpZ25hbFByb3BzfHwoYS5fc2lnbmFsUHJvcHM9W10pLGEuX3NpZ25hbFZhbHVlc3x8KGEuX3NpZ25hbFZhbHVlcz1bXSksYS5fc2lnbmFsUHJvcHMucHVzaChiKSl9fTtfLkFCPWZ1bmN0aW9uKGEsYix7bGo6Y309e30pe2lmKGI/LmVsKXtsZXQgZD1iLmVsO2QubXo/LihhKTthLl9kaXNwb3NlUmVmfHwoYS5fZGlzcG9zZVJlZj0oKT0+e2QudXo/LigpO2RlbGV0ZSBhLl9kaXNwb3NlUmVmfSxjJiZfLll1KCgpPT57YS5fZGlzcG9zZVJlZj8uKCl9KSl9fTsKbmJhPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIhPT0ib2JqZWN0Inx8Yj09PW51bGwpdGhyb3cgXy5VdShFcnJvcigicWNgIithKyJgIit0eXBlb2YgYiksNCk7aWYodHlwZW9mIGIuVXAhPT0iZnVuY3Rpb24iKXRocm93IF8uVXUoRXJyb3IoInJjYCIrYSsiYCIrT2JqZWN0LmtleXMoYikpLDQpO307cGJhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxlbmd0aD4wJiZhLmluY2x1ZGVzKCItIikmJiFyYmEuaW5jbHVkZXMoYS50b0xvd2VyQ2FzZSgpKX07Cm9iYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uWnQsZD1hW0JCXSxlPWFbQ0JdO2lmKGUpZm9yKHZhciBmIG9mIHNiYShlLGIpKURCKGQsZiksRUIoYS5zdHlsZSxmLG51bGwpO2U9bmV3IFNldDtmb3IobGV0IGggaW4gYil7aWYoIWIuaGFzT3duUHJvcGVydHkoaCkpY29udGludWU7ZS5hZGQoaCk7bGV0IGs9YltoXTtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiImJmMpe2lmKCFkKXtkPW5ldyBNYXA7bGV0IGw9YVtCQl09ZDt3QihhLCgpPT57Zm9yKGxldCBtIG9mIGwudmFsdWVzKCkpbSgpO2wuY2xlYXIoKX0pfURCKGQsaCk7Zj1fLnV2KCgpPT57Xy50digoKT0+e3ZhciBsPWsoKTtFQihhLnN0eWxlLGgsbCl9LCJRRHpISmUiKX0pO2Quc2V0KGgsZil9ZWxzZSBEQihkLGgpLEVCKGEuc3R5bGUsaCxrKX1hW0NCXT1lfTsKRUI9ZnVuY3Rpb24oYSxiLGMpe2M9PW51bGx8fGM9PT0hMT9iLnN0YXJ0c1dpdGgoIi0tIil8fGIuaW5jbHVkZXMoIi0iKT9hLnJlbW92ZVByb3BlcnR5KGIpOmFbYl09IiI6Yi5zdGFydHNXaXRoKCItLSIpfHxiLmluY2x1ZGVzKCItIik/YS5zZXRQcm9wZXJ0eShiLFN0cmluZyhjKSk6YVtiXT1jfTtzYmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKGxldCBjIG9mIGEpYyBpbiBifHwoeWllbGQgYyl9KCl9O0RCPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9YS5nZXQoYik7YyYmKGMoKSxhLmRlbGV0ZShiKSl9fTtGQj1mdW5jdGlvbihhKXtyZXR1cm4oMCxfLnFyKShhKSYmIl9fd2l6X1JxTVlNImluIGF9O18uR0I9ZnVuY3Rpb24oYSl7cmV0dXJuIEZCKGEpP2EuX193aXpfUnFNWU0uUWU6YX07SEI9ZnVuY3Rpb24oYSxiLC4uLmMpe2I9Yj8/e307cmV0dXJue3R5cGU6YSxwcm9wczpiLGNoaWxkcmVuOmMsW18uTHZdOiEwfX07Xy5JQj1mdW5jdGlvbihhKXtyZXR1cm4gYS5jaGlsZHJlbn07Cl8uTEI9ZnVuY3Rpb24oYSl7dmFyIGI9SkIhPT1IQjtKQj1hP18uS0I6SEI7cmV0dXJuIGJ9O3RiYT1mdW5jdGlvbigpe3ZhciBhPV8uQ0EoMSksYj1fLmN1KGEsXy5NQik7aWYoIV8uYnUoYikpcmV0dXJuIGI7YT1fLmN1KGEsXy5OQik7aWYoIV8uYnUoYSkpcmV0dXJuIGEubncoKX07Xy5QQj1mdW5jdGlvbihhLGIpe2I9PW51bGwmJihiPShfLk9CLnN2Pz9kb2N1bWVudCkuX193aXpkaXNwYXRjaGVyLmFKKCkpO2IuZ2V0KF8uRnQpLm8uZGlzcGF0Y2hFdmVudChuZXcgXy5IdChhLF8ubUIpKX07CnViYT1mdW5jdGlvbihhKXtpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aD4xKXRocm93IF8uVXUoRXJyb3IoInZjYCIrYS5sZW5ndGgrImAiK2EubWFwKFFCKS5qb2luKCIsICIpKSw0LCJTQ1JJUFQiKTthPWFbMF19aWYoYT09bnVsbClyZXR1cm4gbnVsbDtpZighKGEgaW5zdGFuY2VvZiBfLmpiKSl7aWYod2luZG93Py50cnVzdGVkVHlwZXM/LmlzU2NyaXB0KGEpKXRocm93IEVycm9yKCJ1YyIpO2lmKFN0cmluZyhhKS50cmltKCkubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt0aHJvdyBFcnJvcigid2NgIitRQihhKSk7fXJldHVybiBhfTt2YmE9ZnVuY3Rpb24oYSxiKXtiPXViYShiKTtiIT09bnVsbCYmXy5uYihhLGIpfTsKXy5SQj1mdW5jdGlvbihhKXtpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aD4xKXRocm93IF8uVXUoRXJyb3IoInhjYCIrYS5sZW5ndGgrImAiK2EubWFwKFFCKS5qb2luKCIsICIpKSw0LCJTVFlMRSIpO2E9YVswXX1pZihhPT1udWxsfHxTdHJpbmcoYSkudHJpbSgpLmxlbmd0aD09PTApcmV0dXJuIG51bGw7dGhyb3cgRXJyb3IoInljYCIrUUIoYSkpO307UUI9ZnVuY3Rpb24oYSl7cmV0dXJuYCgke3R5cGVvZiBhfSkgJHthIT1udWxsJiZ0eXBlb2YgYT09PSJvYmplY3QiP2EuY29uc3RydWN0b3IubmFtZTp0eXBlb2YgYX0gJHthfWB9O1NCPWZ1bmN0aW9uKCl7fTtUQj1mdW5jdGlvbigpe3JldHVybiBudWxsfTsKXy5YQj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPVVCKCksZD0hMCxlLGY9ISFfLkt1LkpxO2YmJihlPXRiYSgpKTtfLnR2KCgpPT57dmFyIGg9IWQmJmIuV2UmJmYsaz1oP3ZCKGNbMF0pOnZvaWQgMDtkPSExO2IuV2UmJl8uZ3YrKzt2YXIgbD1jWzBdLG09Yy5fX3dpel9ScU1ZTS5RZSxuPV8uTEIoITApO3RyeXtsZXQgdjt0cnl7dj1hKCl9Y2F0Y2goRil7Xy5vdihGKSx2PWtCKCl9bGV0IHo9d2JhKGwsdixjKSxFPV8uVkIudnkoeik/P3o7QXJyYXkuaXNBcnJheShFKXx8KGMuX193aXpfUnFNWU0uUWU9W0VdKTtsZXQgQT1jLl9fd2l6X1JxTVlNLlFlO2lmKG0mJighQXJyYXkuaXNBcnJheShtKXx8bS5sZW5ndGghPT0wKSl7dmFyIHA9QXJyYXkuaXNBcnJheShtKT9tWzBdOm0scj1wW18uV0JdLHQ9cC5fZGlzcG9zZUVmZmVjdHM7cC5fZGlzcG9zZUVmZmVjdHM9dm9pZCAwO3A9QXJyYXkuaXNBcnJheShBKT9BWzBdOkE7cFtfLldCXT1yO3BbXy5XQl0mJihwW18uV0JdLlVxPXA9PT1BPwoxOkEubGVuZ3RoKTtwLl9kaXNwb3NlRWZmZWN0cz10fWNbMF09RTtiLldlJiZfLklBKCExKX1jYXRjaCh2KXt0aHJvdyBiLldlJiZfLklBKCEwKSxfLlV1KHYsNCk7fWZpbmFsbHl7Xy5MQihuKX1oJiZfLlBCKGssZSl9LGIuZGVidWdOYW1lKTtyZXR1cm4gY307CndiYT1mdW5jdGlvbihhLGIsYyl7Zm9yKDt0eXBlb2YgYj09PSJmdW5jdGlvbiI7KWI9YigpO2lmKGI/LltfLkx2XSl0aHJvdyBfLlV1KEVycm9yKCJ6Y2AiK2IudHlwZT8uWmMpLDQsYi50eXBlPy5aYyk7aWYoYT09bnVsbClyZXR1cm4gYj09bnVsbD9rQigpOl8ucUIoYik/bEIoYik6ckIoYik/bEIoYi50b1N0cmluZygpKTpfLmlCKGIpP2I6Yi5sZW5ndGg9PT0wP2tCKCk6WUIoYixjKTtpZihfLmlCKGEpKXtpZihiPT1udWxsKXJldHVybiBzQihhLGtCKCkpO2lmKF8ucUIoYikpcmV0dXJuIGFDKGEsYik7aWYockIoYikpcmV0dXJuIGFDKGEsYi50b1N0cmluZygpKTtpZihfLmlCKGIpKXJldHVybiBzQihhLGIpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gc0IoYSxrQigpKTtiPVlCKGIsYyk7dUIoW2FdLGMuX193aXpfUnFNWU0uUWUpO3JldHVybiBifWE9Xy5iQyhhKTtpZihiPT1udWxsKXJldHVybiB0QihhLGtCKCkpO2lmKF8ucUIoYikpcmV0dXJuIHRCKGEsbEIoYikpO2lmKHJCKGIpKXJldHVybiB0QihhLApsQihiLnRvU3RyaW5nKCkpKTtpZihfLmlCKGIpKXJldHVybiB1QihhLFtiXSlbMF07aWYoYi5sZW5ndGg9PT0wKXJldHVybiB0QihhLGtCKCkpO2I9WUIoYixjKTt1QihhLGMuX193aXpfUnFNWU0uUWUpO3JldHVybiBifTthQz1mdW5jdGlvbihhLGIpe2Eubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9hLnRleHRDb250ZW50IT09U3RyaW5nKGIpJiYoYS50ZXh0Q29udGVudD1TdHJpbmcoYikpOmE9c0IoYSxsQihiKSk7cmV0dXJuIGF9O18uYkM9ZnVuY3Rpb24oYSxiLGM9ITEpe3JldHVybiBjQyhhLGI/P1tdLGMpfTtZQj1mdW5jdGlvbihhLGIpe3ZhciBjPV8uYkMoYSx2b2lkIDAsITApO2lmKGMubGVuZ3RoPT09MClyZXR1cm4ga0IoKTtiLl9fd2l6X1JxTVlNLlFlPWM7cmV0dXJuIGF9OwpjQz1mdW5jdGlvbihhLGI9W10sYz0hMSxkLGU9LTEpe2lmKGE9PW51bGwpcmV0dXJuIGI7aWYoIUFycmF5LmlzQXJyYXkoYikmJl8uakIoYikpc3dpdGNoKF8uakIoYSkmJk9BKGIsYSksYi50YWdOYW1lKXtjYXNlICJTQ1JJUFQiOnZiYShiLGEpO3JldHVybjtjYXNlICJTVFlMRSI6aWYoXy5SQihhKSE9PW51bGwpdGhyb3cgRXJyb3IoImgiKTtyZXR1cm59aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspY0MoYVtmXSxiLGMsYSxmKTtyZXR1cm4gYn1pZihhIGluc3RhbmNlb2YgXy5kQylyZXR1cm4gZj1hLm9jKCksY0MoZixiLGMsZCxlKTtpZihfLnFCKGEpKXJldHVybiBhPWxCKGEpLGQmJmMmJihkW2VdPWEpLGVDKGIsYSk7aWYoXy5vQihhKSl7Yz1fLnBCKGEpO2ZvcihjPWMuZmlyc3RDaGlsZDtjOylmPWMubmV4dFNpYmxpbmcsZUMoYixjKSxjPWY7cmV0dXJuIGJ9aWYockIoYSkpcmV0dXJuIGE9bEIoYS50b1N0cmluZygpKSxkJiZjJiYoZFtlXT0KYSksZUMoYixhKTtpZihfLmlCKGEpKXJldHVybiBlQyhiLGEpO2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIil7Zj1fLlhCKCgpPT57dmFyIGs9YSgpO2lmKGs9PW51bGx8fF8ucUIoaykpcmV0dXJuIGs7aWYoXy5vQihrKSlyZXR1cm4gaz1fLnBCKGspLEFycmF5LmZyb20oay5jaGlsZE5vZGVzKTt0aHJvdyBfLlV1KEVycm9yKCJBYmAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKyJgIit0eXBlb2YgayksNCk7fSx7ZGVidWdOYW1lOiJxbUYybmUiLHpwOmF9KVswXTtpZihBcnJheS5pc0FycmF5KGYpKXtmb3IodmFyIGggb2YgZillQyhiLGgpO3JldHVybiBifWQmJmMmJihkW2VdPWYpO3JldHVybiBlQyhiLGYpfWlmKGE/LltfLkx2XSl7ZD1hO2U9Xy5MQighMCk7aD1KQjt0cnl7Zj1oKGQudHlwZSxkLnByb3BzLC4uLmQuY2hpbGRyZW4pfWZpbmFsbHl7Xy5MQihlKX1yZXR1cm4gY0MoZixiLGMpfXRocm93IF8uVXUoRXJyb3IoIkFjIiksNCk7fTsKVUI9ZnVuY3Rpb24oYSl7dmFyIGI9T2JqZWN0LmFzc2lnbihbXSx7X193aXpfUnFNWU06e1FlOltdfX0pO2lmKCFhKXJldHVybiBiO2JbMF09WUIoYSxiKTtyZXR1cm4gYn07ZUM9ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpP2EucHVzaChiKTphLmFwcGVuZENoaWxkKGIpO3JldHVybiBhfTtfLmZDPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl09Xy5mQyhhW2JdKTtyZXR1cm4gYX1yZXR1cm4gYSBpbnN0YW5jZW9mIF8uZEM/KGE9YS5vYygpLF8uZkMoYSkpOmF9OwpfLmdDPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPV8uRkEoYSksZj1sPT57ZD1sO3ZhciBtPV8uTEIoITApLG49Xy5rdShfLnp2KTt0cnl7Yz1fLmZDKGEoYikpfWZpbmFsbHl7Xy5rdShuKSxfLkxCKG0pfSFBcnJheS5pc0FycmF5KGMpJiZfLkZ1KGwpfTtlPV8uS3UuR3A/aEIoZixlKTpfLnV2KGYsXy5LdS5yaXx8ISFfLlp0KTtpZighYi5qbil7Zj1fLiR0KGQpO3RyeXtyZXR1cm4oMCxfLnZ2KShhLGIsYyksY31maW5hbGx5e18uJHQoZil9fSFGQihjKSYmQXJyYXkuaXNBcnJheShjKSYmKGM9VUIoYykpO3ZhciBoPV8uR0IoYyk7Zj1BcnJheS5pc0FycmF5KGgpP2hbMF06aDt2YXIgaz0hMTtpZihmKXtsZXQgbD1iPy5pZG9tS2V5Pz9hLG09aCE9PWY7Zi5fZGlzcG9zZUVmZmVjdHM9ZTtsZXQgbj1mW18uV0JdfHx7fSxwPUZCKGMpP2M6bi55bjtPYmplY3QuYXNzaWduKG4se2tleTpsLFVxOm0/aC5sZW5ndGg6MSxvd25lcjpkLGxKOiEhZltfLldCXSx5bjpwfSk7ZltfLldCXT1ufWVsc2Ugaz0KITA7KCgpPT57dmFyIGw9Xy4kdChkKTt0cnl7KDAsXy52dikoYSxiLGgpfWZpbmFsbHl7Xy4kdChsKX19KSgpO2smJmUoKTtyZXR1cm4gY307aEM9ZnVuY3Rpb24oYSxiKXtpZighYS52JiZiKXthLnY9ITA7dHJ5e2EuSGYoKX1jYXRjaChjKXtfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShjLGEuaj8uWmMpKX1fLmJ3LkhmKGEpO2EuZWw9bnVsbDtiLl9faW5zdGFuY2UmJmRlbGV0ZSBiLl9faW5zdGFuY2V9fTtfLmpDPWZ1bmN0aW9uKGEsYixjPSExKXthLl9zaWduYWxQcm9wcyE9bnVsbCYmYS5fZGlzcG9zZUVmZmVjdHM9PW51bGwmJihjP2EuX2Rpc3Bvc2VFZmZlY3RzPV8udXYoKCk9PnZvaWQgaUMoYSxiKSxfLkt1LnJpfHwhIV8uWnQpOmlDKGEsYikpfTsKaUM9ZnVuY3Rpb24oYSxiKXtfLnR2KCgpPT57dmFyIGM9YS5fc2lnbmFsUHJvcHMsZD1hLl9zaWduYWxWYWx1ZXM7Zm9yKGxldCBlPTA7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV0saD1iW2ZdKCk7ZFtlXSE9PWgmJihkW2VdPWgsXy56QihhLGYsaCkpfX0sImUzWVZiYiIpfTtfLmxDPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPz8oYj17fSk7cmV0dXJuIF8uSEEoKXx8Xy5NdT09bnVsbD9uZXcgeGJhKGEsYixjKTprQyhhLGIsYyl9OwprQz1mdW5jdGlvbihhLGIsYyl7aWYoYT09PV8uSUIpcmV0dXJuIGM7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBfLk11JiYhXy5IQSgpJiYoYi5qbj0hMCksXy5HQShhLCgpPT57Yy5sZW5ndGg+MCYmKGIuY2hpbGRyZW49Yy5sZW5ndGg9PT0xP2NbMF06Yyk7aWYoYS5jb21wb25lbnRUeXBlPT09Xy5Ldil7bGV0IGU7aEIoKCk9Pnt2YXIgZj1iO2lmKGEuY29tcG9uZW50VHlwZSE9PV8uS3YpZT0hMTtlbHNle2Z8fChmPXt9KTt2YXIgaD1uZXcgXy5tQyhmLGEpLGs9Xy5rdShfLnp2KTt0cnl7dmFyIGw9aC5vYyhmKX1maW5hbGx5e18ua3Uoayl9bCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50PyhsLl9faW5zdGFuY2U9aCxoLmVsPWwsaC5qPWEsYS5aYz1sLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxfLmJ3LkdmKGgpLGU9bCk6ZT1sfX0sYS5uYW1lKTtpZihlKXJldHVybiBlfXJldHVybiBfLmdDKGEsYil9LGIuZGVidWdJbnN0YW5jZSk7dmFyIGQ9eWJhKGEsYik7Zm9yKGxldCBlIGluIGIpXy56QihkLAplLGJbZV0pO18uakMoZCxiKTtfLmJDKGMsZCk7Xy5BQihkLGIse2xqOiEwfSk7KDAsXy54dikoZCxiKTtyZXR1cm4gZH07eWJhPWZ1bmN0aW9uKGEsYil7YT0oTkEuaGFzKGEudG9Mb3dlckNhc2UoKSk/MDpNQS5oYXMoYS5zdGFydHNXaXRoKCJzdmc6Iik/YS5yZXBsYWNlKCJzdmc6IiwiIik6YSkpP2RvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGEuc3RhcnRzV2l0aCgic3ZnOiIpP2EucmVwbGFjZSgic3ZnOiIsIiIpOmEpOigwLF8ud3YpKGEsYil8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYSk7YVtfLm5DXT0hMDtyZXR1cm4gYX07Cl8ucEM9ZnVuY3Rpb24oYSl7aWYoYSl7YS5fZGlzcG9zZVJlZj8uKCk7YS5fZGlzcG9zZUVmZmVjdHM/LigpO2lmKGEuX19pbnN0YW5jZSYmYS5fX2luc3RhbmNlIGluc3RhbmNlb2Ygb0Mpe3ZhciBiPWEuX19pbnN0YW5jZTtoQyhiLGEpO2IgaW5zdGFuY2VvZiBfLm1DJiZiLkQoKX1mb3IoYj0wO2I8YS5jaGlsZE5vZGVzLmxlbmd0aDtiKyspXy5wQyhhLmNoaWxkTm9kZXNbYl0pfX07emJhPWZ1bmN0aW9uKGEpe3FDLnB1c2goYSk9PT0xJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntzZXRUaW1lb3V0KCgpPT57dmFyIGI9Wy4uLnFDXTtxQz1bXTtmb3IobGV0IGMgb2YgYil0cnl7Zm9yKGI9MDtiPGMubGVuZ3RoO2IrKylfLnBDKGNbYl0pfWNhdGNoKGQpe18uS3UuaGFuZGxlRXJyb3I/LiguLi5fLkpBKGQpKX19KX0pfTtfLks9ZnVuY3Rpb24oYSxiLC4uLmMpe3JldHVybiBKQihhLGIsLi4uYyl9O18uckM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5rdShfLnl2KTt0cnl7YSgpfWZpbmFsbHl7Xy5rdShiKX19OwpBYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O3NDPWZ1bmN0aW9uKGEsYixjPSIiKXtmdW5jdGlvbiBkKCl7cmV0dXJuIGUoKX12YXIgZT10eXBlb2YgYT09PSJmdW5jdGlvbiI/REEoYSxBYmEsYj8uZXF1YWxzKTpEQShhLnNvdXJjZSxhLlRnLGI/LmVxdWFscyk7dmFyIGY9ZVtfLlp1XTtmLmRlYnVnTmFtZT1fLmV1KGI/LmRlYnVnTmFtZSxjLCJbbGlua2VkU2lnbmFsXSIpO2RbXy5adV09ZjtyZXR1cm5bZCxoPT57Xy5ydShmKTtfLnl1KGYsaCk7Zi5QYj0hMTtmLnJqPV8ubXV9LGg9PntfLnJ1KGYpO2lmKGYudmFsdWU9PT1fLkl2KXRocm93IGYuZXJyb3I7Xy5qdT8uTGUhPT0hMXx8Xy53dShmKTtfLnl1KGYsaChmLnZhbHVlKSk7Zi5QYj0hMTtmLnJqPV8ubXV9XX07Xy51Qz1mdW5jdGlvbigpe3RDfHwodEM9e09jOiExLFV5OjAsc3RhY2s6W10sc2Vzc2lvbklkOiIiLGRoOnZvaWQgMCxwcm9jZXNzb3JzOltdLFdoOigpPT4hMH0pO3JldHVybiB0Q307CnZDPWZ1bmN0aW9uKCl7dmFyIGE9Xy51QygpO3JldHVybiBhLnN0YWNrW2Euc3RhY2subGVuZ3RoLTFdfTtfLndDPWZ1bmN0aW9uKGEpe3ZhciBiPV8udUMoKTtyZXR1cm4gYi5PYz9iLmRoP2IuZGhbYV06ITA6ITF9O0RiYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ud0MoYSkmJl8udUMoKS5XaChhLGIsQmJhKT9uZXcgQ2JhKGEsYixjKTp4Q307Cl8ueUM9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBjPT09ImZ1bmN0aW9uIil7dmFyIGQ9YztjPXZvaWQgMH12YXIgZT1EYmEoYSxiLGMpO2lmKGM/LmVuZFRpbWUhPW51bGwpcmV0dXJuIGQmJl8uSXAoRXJyb3IoIkVjIikpLGU7ZSE9PXhDJiZjPy5hY3RpdmUhPT0hMSYmXy51QygpLnN0YWNrLnB1c2goZSk7aWYoIWQpcmV0dXJuIGU7aWYoZT09PXhDKXJldHVybiBkKGUpO3RyeXtsZXQgZj1kKGUpO2lmKGYgaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiBmLnRoZW4oaD0+e2UuZW5kKCk7cmV0dXJuIGh9LGg9PntlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKTt0aHJvdyBoO30pO2UuZW5kKCk7cmV0dXJuIGZ9Y2F0Y2goZil7dGhyb3cgZS5lbmQoIlNQQU5fU1RBVFVTX0VSUk9SIiksZjt9fTsKekM9ZnVuY3Rpb24oYSxiLGMsZCl7YSBpbnN0YW5jZW9mIEVsZW1lbnQmJihjLmRlYnVnTmFtZXx8KGMuZGVidWdOYW1lPWA8JHthLnRhZ05hbWUudG9Mb3dlckNhc2UoKX1gKyhhLnRhZ05hbWUuaW5jbHVkZXMoIi0iKT8iPiI6YC4ke2EuY2xhc3NOYW1lfT5gKSksXy54KCJ5dHdpel9lbmFibGVfZGVidWdfY29tcG9uZW50X3Byb3BzIikmJihhLmRlYnVnUHJvcHN8fChhLmRlYnVnUHJvcHM9QUEoYixlPT4oKT0+ZSgpKSksYi5kYXRhPT09dm9pZCAwfHwiZGF0YSJpbiBhJiYhYS5pc1dlYkNvbXBvbmVudFdyYXBwZXJ8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLmRlYnVnUHJvcHMsImRhdGEiLHtnZXQ6KCk9Pl8uQnYoYi5kYXRhKSxzZXQ6ZT0+e2Q/LmRhdGE/LihlKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSkpfTsKXy5BQz1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09MCYmIWI/LmluaXRpYWwpcmV0dXJuIHNDKGEse2RlYnVnTmFtZTpiPy5kZWJ1Z05hbWV9LCJoIik7dmFyIFtjLGQsZV09c0Moe3NvdXJjZTooKT0+YSgpLFRnOihmLGgpPT5oPy52YWx1ZT9hKGgudmFsdWUpOmI/LmluaXRpYWw/YShiLmluaXRpYWwpOmZ9LHtkZWJ1Z05hbWU6Yj8uZGVidWdOYW1lfSwiaSIpO3JldHVybltjLGQsZV19OwpfLkw9ZnVuY3Rpb24oYSxiPSIiKXt2YXIgYz1kPT5fLnlDKCJ5dENvbXBvbmVudCIse30sZT0+e3ZhciBmPUJDPXt9O2lmKGM/Lmlkb21Db21wYXQmJmQuam4pe2xldCBbayxsXT1FYmEoZCx0eXBlb2YgYy5pZG9tQ29tcGF0PT09Im9iamVjdCI/Yz8uaWRvbUNvbXBhdC5jYWxsYmFja3M6e30pO3ZhciBoPUNDKGEsZCk7Zi5Hej1oO0JDPXZvaWQgMDt6QyhoLGQsYyxrKTtlLkRlKHtkZWJ1Z05hbWU6Yy5kZWJ1Z05hbWV9KTtlPV8uR0IoaCk7ZT1BcnJheS5pc0FycmF5KGUpP2VbMF06ZTtlW18uV0JdfHwoZVtfLldCXT17fSk7ZVtfLldCXS5xQj1sO18uQ3YoZCxoKTtyZXR1cm4gaH1kPUFBKGQsRmJhKTtoPUNDKGEsZCk7ekMoaCxkLGMpO2YuR3o9aDtCQz12b2lkIDA7ZS5EZSh7ZGVidWdOYW1lOmMuZGVidWdOYW1lfSk7Xy5DdihkLGgpO3JldHVybiBofSk7Yy5kZWJ1Z05hbWU9YjtyZXR1cm4gY307Q0M9ZnVuY3Rpb24oYSxiKXthPWEoYik7cmV0dXJuIF8uZkMoYSl9OwpGYmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PSJjaGlsZHJlbiJ8fGI9PT0icmVmInx8dHlwZW9mIGE9PT0iZnVuY3Rpb24ifHxhPT09dm9pZCAwP2E6KCk9PmF9O0diYT1mdW5jdGlvbihhLGIpe3JldHVybigpPT5fLkJ2KGEpPz9ifTtfLkRDPWZ1bmN0aW9uKGEsYil7dmFyIGM9ey4uLmF9O2ZvcihsZXQgZCBpbiBiKWIuaGFzT3duUHJvcGVydHkoZCkmJihjW2RdPUdiYShhW2RdLGJbZF0pKTtyZXR1cm4gY307CkViYT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ9e307Zm9yKGxldCBlIGluIGEpe2xldCBmPWFbZV07aWYoZSE9PSJjaGlsZHJlbiImJmUhPT0icmVmIilpZih0eXBlb2YgZj09PSJmdW5jdGlvbiIpaWYoZSBpbiBifHxmLmxlbmd0aD4wKWRbZV09ZixhW2VdPSguLi5oKT0+ZFtlXSguLi5oKTtlbHNle2lmKGU9PT0iZGF0YSIpe2xldCBbaCxrXT1fLkFDKGYse2RlYnVnTmFtZTpgJHtlfTpjd2lzYH0pO2FbZV09aDtjW2VdPWt9fWVsc2UgaWYoIShhW2VdPT09dm9pZCAwJiZlIGluIGIpKXtsZXQgW2gsa109Xy5KKGFbZV0se2RlYnVnTmFtZTpgJHtlfTpjd2lzYH0sIlZiY2dDZCIpO2FbZV09aDtjW2VdPWt9fXJldHVybltjLGZ1bmN0aW9uKGUpe2ZvcihsZXQgZiBpbiBlKXtsZXQgaD1lW2ZdO2YhPT0iY2hpbGRyZW4iJiZmIT09InJlZiImJih0eXBlb2YgaD09PSJmdW5jdGlvbiI/ZiBpbiBiP2RbZl09aDpoLmxlbmd0aD4wJiYoZFtmXT1oLF8uSXAobmV3IF8uWGooSGJhLGYpKSk6ZiBpbgpiJiZoPT09dm9pZCAwfHwoY1tmXXx8Xy5IcChuZXcgXy5YaihJYmEsZikpLF8uckMoKCk9PntjW2ZdKGgpfSkpKX19XX07ClZhYT17Li4uXy5YdSx2YWx1ZTpfLkd2LFBiOiEwLGVycm9yOm51bGwsZXF1YWw6Xy5pdSxraW5kOiJsaW5rZWRTaWduYWwiLFhtKGEpe3JldHVybiBhLnZhbHVlPT09Xy5Hdnx8YS52YWx1ZT09PV8uSHZ9LFltKGEpe2lmKGEudmFsdWU9PT1fLkh2KXRocm93IEVycm9yKCJoIik7dmFyIGI9YS52YWx1ZTthLnZhbHVlPV8uSHY7dmFyIGM9Xy50dShhKSxkPSExO3RyeXtsZXQgZj1hLnNvdXJjZSgpLGg9YiE9PV8uR3YmJmIhPT1fLkl2O3ZhciBlPWEuVGcoZixoP3tzb3VyY2U6YS5zb3VyY2VWYWx1ZSx2YWx1ZTpifTp2b2lkIDApO2Euc291cmNlVmFsdWU9ZjtfLmt1KG51bGwpO2Q9aCYmZSE9PV8uSXYmJmEuZXF1YWwoYixlKX1jYXRjaChmKXtlPV8uSXYsYS5lcnJvcj1mfWZpbmFsbHl7Xy5rdShjKSxhJiZfLnZ1KGEpfWQ/YS52YWx1ZT1iOihhLnZhbHVlPWUsYS52ZXJzaW9uKyspfX07Xy5tQj17fTtfLkl0LnByb3RvdHlwZS5qPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Cl8uSXQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07S0E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5kQz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQ289bnVsbH19O29DPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucHJvcHM9YTt0aGlzLnY9ITF9R2YoKXt9SmkoKXt9SGYoKXt9S2koKXt9fTt0cnl7bGV0IGE9d2luZG93Py50b3A/P18udTthLlUzYkhIZj8/KGEuVTNiSEhmPTApO2EuVTNiSEhmKyt9Y2F0Y2goYSl7Xy51LlUzYkhIZj8/KF8udS5VM2JISGY9MCksXy51LlUzYkhIZisrfTtfLkZDPW5ldyBXZWFrTWFwO18uR0M9WGFhKCk7dmFyIG1iYT1uZXcgU2V0KCJhbGxvd2Z1bGxzY3JlZW4gYWxsb3d0cmFuc3BhcmVuY3kgYXN5bmMgYXV0b2ZvY3VzIGF1dG9wbGF5IGNoZWNrZWQgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlcmVtb3RlcGxheWJhY2sgZm9ybW5vdmFsaWRhdGUgaGlkZGVuIGluZXJ0IGlzbWFwIGl0ZW1zY29wZSBqc3NoYWRvdyBqc3Nsb3QgbG9vcCBtdWx0aXBsZSBtdXRlZCBub21vZHVsZSBub3ZhbGlkYXRlIG9wZW4gcGxheXNpbmxpbmUgcmVhZG9ubHkgcmVxdWlyZWQgcmV2ZXJzZWQgc2NvcGVkIHNlYW1sZXNzIHNlbGVjdGVkIHNvcnRhYmxlIHR5cGVtdXN0bWF0Y2giLnNwbGl0KCIgIikpLGxiYT1uZXcgU2V0KFsiY29udGVudGVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxjaGVjayJdKTt2YXIgTUE9bmV3IFNldCgiYSBhbHRHbHlwaCBhbHRHbHlwaERlZiBhbHRHbHlwaEl0ZW0gYW5pbWF0ZSBhbmltYXRlQ29sb3IgYW5pbWF0ZU1vdGlvbiBhbmltYXRlVHJhbnNmb3JtIGNpcmNsZSBjbGlwUGF0aCBjb2xvci1wcm9maWxlIGN1cnNvciBkZWZzIGRlc2MgZWxsaXBzZSBmZUJsZW5kIGZlQ29sb3JNYXRyaXggZmVDb21wb25lbnRUcmFuc2ZlciBmZUNvbXBvc2l0ZSBmZUNvbnZvbHZlTWF0cml4IGZlRGlmZnVzZUxpZ2h0aW5nIGZlRGlzcGxhY2VtZW50TWFwIGZlRGlzdGFudExpZ2h0IGZlRHJvcFNoYWRvdyBmZUZsb29kIGZlRnVuY0EgZmVGdW5jQiBmZUZ1bmNHIGZlRnVuY1IgZmVHYXVzc2lhbkJsdXIgZmVJbWFnZSBmZU1lcmdlIGZlTWVyZ2VOb2RlIGZlTW9ycGhvbG9neSBmZU9mZnNldCBmZVBvaW50TGlnaHQgZmVTcGVjdWxhckxpZ2h0aW5nIGZlU3BvdExpZ2h0IGZlVGlsZSBmZVR1cmJ1bGVuY2UgZmlsdGVyIGZvbnQgZm9udC1mYWNlIGZvbnQtZmFjZS1mb3JtYXQgZm9udC1mYWNlLW5hbWUgZm9udC1mYWNlLXNyYyBmb250LWZhY2UtdXJpIGZvcmVpZ25PYmplY3QgZyBnbHlwaCBnbHlwaFJlZiBoa2VybiBpbWFnZSBsaW5lIGxpbmVhckdyYWRpZW50IG1hcmtlciBtYXNrIG1ldGFkYXRhIG1pc3NpbmctZ2x5cGggbXBhdGggcGF0aCBwYXR0ZXJuIHBvbHlnb24gcG9seWxpbmUgcmFkaWFsR3JhZGllbnQgcmVjdCBzY3JpcHQgc2V0IHN0b3Agc3R5bGUgc3ZnIHN3aXRjaCBzeW1ib2wgdGV4dCB0ZXh0UGF0aCB0aXRsZSB0cmVmIHRzcGFuIHVzZSB2aWV3IHZrZXJuIi5zcGxpdCgiICIpKSwKTkE9bmV3IFNldChbImEiLCJmb250Iiwic2NyaXB0Iiwic3R5bGUiLCJ0aXRsZSJdKSxZYWE9bmV3IFNldChbImRlc2MiLCJmb3JlaWduT2JqZWN0IiwidGl0bGUiXSk7Xy5SQT17ZGVmYXVsdDoiX19kZWZhdWx0In07dmFyIFphYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1BBLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpO18uSEM9U0EoKTtfLmNCPW51bGw7dmFyIGJiYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmNyZWF0ZWQ9W107dGhpcy5kZWxldGVkPVtdO3RoaXMubm9kZT1hfX07dmFyIGNiYT10eXBlb2YgTm9kZSE9PSJ1bmRlZmluZWQiJiZOb2RlLnByb3RvdHlwZS5nZXRSb290Tm9kZXx8ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcyxiPWE7YTspYj1hLGE9YS5wYXJlbnROb2RlO3JldHVybiBifTtfLldBPW51bGw7Xy5ZQT1udWxsO18uVUE9bnVsbDtfLlpBPW51bGw7Xy4kQT1bXTtfLmJCPVRBO18uYUI9W107Xy5JQz1mdW5jdGlvbihhKXtyZXR1cm4gZWJhKChiLGMsZCk9PntfLlVBPV8uWUE9YjtfLllBPW51bGw7YyhkKTtfLlhBKCk7Xy5ZQT1fLlVBO18uVUE9Xy5VQS5wYXJlbnROb2RlO3JldHVybiBifSxhKX0oKTtfLkpDPW5ldyBQQTtSZWdFeHAucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzdGlja3kiKTt2YXIgZUI9U3ltYm9sKCJqYyIpO3ZhciBoYmE9e2FsaWduOjEsYWx0OjEsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6MTAsImFyaWEtYXRvbWljIjoxLCJhcmlhLWF1dG9jb21wbGV0ZSI6MSwiYXJpYS1idXN5IjoxLCJhcmlhLWNoZWNrZWQiOjEsImFyaWEtY29udHJvbHMiOjEwLCJhcmlhLWN1cnJlbnQiOjEsImFyaWEtZGVzY3JpYmVkYnkiOjEwLCJhcmlhLWRpc2FibGVkIjoxLCJhcmlhLWRyb3BlZmZlY3QiOjEsImFyaWEtZXhwYW5kZWQiOjEsImFyaWEtaGFzcG9wdXAiOjEsImFyaWEtaGlkZGVuIjoxLCJhcmlhLWludmFsaWQiOjEsImFyaWEtbGFiZWwiOjEsImFyaWEtbGFiZWxsZWRieSI6MTAsImFyaWEtbGV2ZWwiOjEsImFyaWEtbGl2ZSI6MSwiYXJpYS1tdWx0aWxpbmUiOjEsImFyaWEtbXVsdGlzZWxlY3RhYmxlIjoxLCJhcmlhLW9yaWVudGF0aW9uIjoxLCJhcmlhLW93bnMiOjEwLCJhcmlhLXBvc2luc2V0IjoxLCJhcmlhLXByZXNzZWQiOjEsImFyaWEtcmVhZG9ubHkiOjEsImFyaWEtcmVsZXZhbnQiOjEsImFyaWEtcmVxdWlyZWQiOjEsCiJhcmlhLXNlbGVjdGVkIjoxLCJhcmlhLXNldHNpemUiOjEsImFyaWEtc29ydCI6MSwiYXJpYS12YWx1ZW1heCI6MSwiYXJpYS12YWx1ZW1pbiI6MSwiYXJpYS12YWx1ZW5vdyI6MSwiYXJpYS12YWx1ZXRleHQiOjEsYXN5bmM6OCxhdXRvY2FwaXRhbGl6ZToxLGF1dG9jb21wbGV0ZToxLGF1dG9jb3JyZWN0OjEsYXV0b2ZvY3VzOjEsYXV0b3BsYXk6MSxiZ2NvbG9yOjEsYm9yZGVyOjEsY2VsbHBhZGRpbmc6MSxjZWxsc3BhY2luZzoxLGNoZWNrZWQ6MSxjaXRlOjEsImNsYXNzIjoxLGNvbG9yOjEsY29sczoxLGNvbHNwYW46MSxjb250ZW50ZWRpdGFibGU6MSxjb250cm9sczoxLGNvbnRyb2xzbGlzdDoxLGNvb3JkczoxLGNyb3Nzb3JpZ2luOjEsZGF0ZXRpbWU6MSxkaXI6OCxkaXNhYmxlZDoxLGRvd25sb2FkOjEsZHJhZ2dhYmxlOjEsZW5jdHlwZToxLGZhY2U6MSwiZm9yIjoxMCxmb3JtZW5jdHlwZToxLGZyYW1lYm9yZGVyOjEsaGVpZ2h0OjEsaGlkZGVuOjEsaHJlZjo0LGhyZWZsYW5nOjEsCmlkOjEwLGluZXJ0OjEsaXNtYXA6MSxpdGVtaWQ6MSxpdGVtcHJvcDoxLGl0ZW1yZWY6MSxpdGVtc2NvcGU6MSxpdGVtdHlwZToxLGxhYmVsOjEsbGFuZzoxLGxpc3Q6MTAsbG9hZGluZzo4LGxvb3A6MSxtYXg6MSxtYXhsZW5ndGg6MSxtZWRpYToxLG1pbjoxLG1pbmxlbmd0aDoxLG11bHRpcGxlOjEsbXV0ZWQ6MSxuYW1lOjEwLG5vbmNlOjEsb3BlbjoxLHBsYWNlaG9sZGVyOjEscGxheXNpbmxpbmU6MSxwb3N0ZXI6MSxwcmVsb2FkOjEscmVsOjEscmVxdWlyZWQ6MSxyZXZlcnNlZDoxLHJvbGU6MSxyb3dzOjEscm93c3BhbjoxLHNlbGVjdGVkOjEsc2hhcGU6MSxzaXplOjEsc2l6ZXM6MSxzbG90OjEsc3BhbjoxLHNwZWxsY2hlY2s6MSxzcmM6NCxzcmNzZXQ6MTIsc3RhcnQ6MSxzdGVwOjEsc3R5bGU6NSxzdW1tYXJ5OjEsdGFiaW5kZXg6MSx0YXJnZXQ6OCx0aXRsZToxLHRyYW5zbGF0ZToxLHR5cGU6MSx1c2VtYXA6MSx2YWxpZ246MSx2YWx1ZToxLHdpZHRoOjEsd3JhcDoxfSxmQj0Ke2E6e2hyZWY6W3trYTozfV19LGFyZWE6e2hyZWY6W3trYTozfV19LGF1ZGlvOntzcmM6W3trYTozfV19LGJ1dHRvbjp7Zm9ybWFjdGlvbjpbe2thOjN9XSxmb3JtbWV0aG9kOlt7a2E6MX1dfSxmb3JtOnthY3Rpb246W3trYTozfV0sbWV0aG9kOlt7a2E6MX1dfSxpZnJhbWU6e3NyY2RvYzpbe2thOjJ9XX0saW1nOntzcmM6W3trYTozfV0sc3Jjc2V0Olt7a2E6MTF9XX0saW5wdXQ6e2FjY2VwdDpbe2thOjF9XSxmb3JtYWN0aW9uOlt7a2E6M31dLGZvcm1tZXRob2Q6W3trYToxfV0scGF0dGVybjpbe2thOjF9XSxyZWFkb25seTpbe2thOjF9XSxzcmM6W3trYTozfV19LGxpbms6e2hyZWY6W3trYTozLGliOiJyZWwiLG5iOiJhbHRlcm5hdGUifSx7a2E6MyxpYjoicmVsIixuYjoiYXV0aG9yIn0se2thOjMsaWI6InJlbCIsbmI6ImJvb2ttYXJrIn0se2thOjMsaWI6InJlbCIsbmI6ImNhbm9uaWNhbCJ9LHtrYTozLGliOiJyZWwiLG5iOiJjaXRlIn0se2thOjMsaWI6InJlbCIsbmI6ImhlbHAifSwKe2thOjMsaWI6InJlbCIsbmI6Imljb24ifSx7a2E6MyxpYjoicmVsIixuYjoibGljZW5zZSJ9LHtrYTozLGliOiJyZWwiLG5iOiJuZXh0In0se2thOjMsaWI6InJlbCIsbmI6InByZWZldGNoIn0se2thOjMsaWI6InJlbCIsbmI6ImRucy1wcmVmZXRjaCJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVyZW5kZXIifSx7a2E6MyxpYjoicmVsIixuYjoicHJlY29ubmVjdCJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVsb2FkIn0se2thOjMsaWI6InJlbCIsbmI6InByZXYifSx7a2E6MyxpYjoicmVsIixuYjoic2VhcmNoIn0se2thOjMsaWI6InJlbCIsbmI6InN1YnJlc291cmNlIn1dfSxzY3JpcHQ6e2RlZmVyOlt7a2E6MX1dfSxzb3VyY2U6e3NyYzpbe2thOjN9XSxzcmNzZXQ6W3trYToxMX1dfSx0ZXh0YXJlYTp7cmVhZG9ubHk6W3trYToxfV19LHZpZGVvOntzcmM6W3trYTozfV19fTt2YXIgSmJhPS9eKD8hamF2YXNjcmlwdDopKD86W2EtejAtOSsuLV0rOnxbXiY6XC8/I10qKD86W1wvPyNdfCQpKS9pLGliYT17WzFdOm51bGwsWzJdOihhLGIpPT5iIGluc3RhbmNlb2YgXy5mYj9fLnlBKGIpOl8uRnEudG9TdHJpbmcoKSxbM106KGEsYik9Pl8uWGEoYik/Xy5ZYShiKTpKYmEudGVzdChTdHJpbmcoYikpP1N0cmluZyhiKTpfLkZxLnRvU3RyaW5nKCksWzRdOihhLGIpPT5iIGluc3RhbmNlb2YgXy5TYT9fLlVhKGIpOl8uRnEudG9TdHJpbmcoKSxbNV06KGEsYik9PlN0cmluZyhiKSxbN106bnVsbCxbOF06bnVsbCxbMTBdOm51bGx9O18uS2JhPVN5bWJvbCgibmMiKTt2YXIgbkI9Xy5MQSgpO3ZhciBLQz1TQSgpLHFiYT1LQ1tfLlJBLmRlZmF1bHRdLHlCPUtDLnN0eWxlLHhCPVsiZm9jdXNpbiIsImZvY3Vzb3V0Il0sQkI9U3ltYm9sKCJvYyIpLENCPVN5bWJvbCgicGMiKSxyYmE9ImFubm90YXRpb24teG1sIGNvbG9yLXByb2ZpbGUgZm9udC1mYWNlIGZvbnQtZmFjZS1zcmMgZm9udC1mYWNlLXVyaSBmb250LWZhY2UtZm9ybWF0IGZvbnQtZmFjZS1uYW1lIG1pc3NpbmctZ2x5cGgiLnNwbGl0KCIgIik7dmFyIEpCO0pCPUhCO18uV0I9U3ltYm9sKCJ0YyIpO18uTGJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfTW9kZWxSb290RWxlbWVudCIpO18uTWJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfUmVuZGVyZXJEYXRhIik7Xy5OYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9JbmplY3RpbmdDb25zdHJ1Y3RvciIpO18uTUI9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9BcHBDb250ZXh0Iik7Xy5OQj1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0Rpc3BhdGNoZXIiKTtfLkxDPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfUm9vdEVsZW1lbnQiKTtfLk9iYT1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0FzeW5jRGVwcyIpO18uUGJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfT2JqZWN0Q3JlYXRpb25UcmFja2VyIik7Xy5PQj17fTtfLlZCPXtNSzpTQixjTDpTQixsb2c6U0IsUko6VEIsdnk6VEIsZko6KGEsYik9PntiKCl9fTtfLk1DPW51bGw7Xy5tQz1jbGFzcyBleHRlbmRzIG9De2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7dGhpcy5vPWI7dGhpcy5aZj1bXTt0aGlzLkI9MDt0aGlzLkQ9Xy51dihjPT57dGhpcy5xbD1jO18uWXUoKCk9PntoQyh0aGlzLHRoaXMuZWwpfSl9LF8uS3Uucml8fCEhXy5adCl9b2MoYSl7dmFyIGI9Xy5NQztfLk1DPXRoaXM7dGhpcy5CPTA7dmFyIGM9Xy5rdShfLnp2KSxkPV8uJHQodGhpcy5xbCk7dHJ5e3JldHVybiB0aGlzLm8oYSl9ZmluYWxseXtfLiR0KGQpLF8ua3UoYyksXy5NQz1ifX1nZXQgY29tcG9uZW50TmFtZSgpe3JldHVybiBfLkZBKHRoaXMubyl9fTt2YXIgeGJhO18ubkM9U3ltYm9sKCJDYyIpO3hiYT1jbGFzcyBleHRlbmRzIF8uZEN7Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKCk7dGhpcy5raW5kPWE7dGhpcy5wcm9wcz1iO3RoaXMuY2hpbGRyZW49Y31vYygpe3ZhciBhPWtDKHRoaXMua2luZCx0aGlzLnByb3BzLHRoaXMuY2hpbGRyZW4pO2lmKHRoaXMuQ28hPW51bGwpZm9yKGxldCBiIG9mIHRoaXMuQ28pYT1iKGEpO3JldHVybiBhfX07dmFyIHFDPVtdO18ud3U9YT0+e3Rocm93IF8uVXUoRXJyb3IoImJiYCIrYS5kZWJ1Z05hbWUpLDQpO307KGZ1bmN0aW9uKCl7dmFyIGE9Xy5jQjtfLmNCPWI9PnthPy4oYik7emJhKGIpfX0pKCk7dmFyIENiYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYz17fSl7dmFyIGQ9Xy51QygpO3RoaXMubmFtZT1hO3RoaXMuaWQ9ZC5VeSsrO3RoaXMuc2Vzc2lvbklkPWQuc2Vzc2lvbklkO3RoaXMuYXR0cmlidXRlcz1iO3RoaXMuc3RhdHVzPSJTUEFOX1NUQVRVU19VTlNFVCI7dGhpcy5zdGFydFRpbWU9Yy5zdGFydFRpbWU/PygwLF8uZWwpKCk7dGhpcy5qPWMuYWN0aXZlO2lmKGE9dkMoKSl0aGlzLnBhcmVudElkPWEuaWQsYS5jaGlsZHJlbnx8KGEuY2hpbGRyZW49W10pLGEuY2hpbGRyZW4ucHVzaCh0aGlzKTtmb3IobGV0IGUgb2YgZC5wcm9jZXNzb3JzKXRyeXtlLkdtPy4odGhpcyl9Y2F0Y2goZil7Xy5JcChmKX1jLmVuZFRpbWUhPW51bGwmJih0aGlzLmo9ITEsdGhpcy5lbmQoIlNQQU5fU1RBVFVTX09LIixjLmVuZFRpbWUpKX1lbmQoYT0iU1BBTl9TVEFUVVNfT0siLGI9KDAsXy5lbCkoKSl7dmFyIGM9Xy51QygpO3RoaXMuZW5kVGltZT1iO3RoaXMuZHVyYXRpb249dGhpcy5lbmRUaW1lLQp0aGlzLnN0YXJ0VGltZTt0aGlzLnN0YXR1cz1hO3RoaXMuaiE9PSExJiYodkMoKT09PXRoaXM/Yy5zdGFjay5wb3AoKTpfLklwKEVycm9yKCJEY2AiK1N0cmluZyh0aGlzLm5hbWUpKSkpO2ZvcihsZXQgZCBvZiBjLnByb2Nlc3NvcnMpdHJ5e2QubHI/Lih0aGlzKX1jYXRjaChlKXtfLklwKGUpfX1EZShhKXtPYmplY3QuYXNzaWduKHRoaXMuYXR0cmlidXRlcyxhKX19LHhDPXtlbmQoKXt9LERlKCl7fX0sdEMsQmJhPXtXeigpe3JldHVybiBfLnVDKCkuc3RhY2tbMF19fTt2YXIgQkM9dm9pZCAwO3ZhciBJYmE9IklET00gaW50ZXJvcCBzZXR0ZXIgdW5kZWZpbmVkLiBLZXk6IixIYmE9IkNhbGxiYWNrIGRldGVjdGVkIHRoYXQgd2FzIG5vdCBzZXQgaW4gdGhlIGlkb21Db21wYXQgY2FsbGJhY2tzIG1hcC4gS2V5OiI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBSYmEsUWJhO1JiYT1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3QuY3JlYXRlKFFiYSk7Yi5UZz1hO2E9KCk9PntfLnJ1KGIpO18ucHUoYik7aWYoYi52YWx1ZT09PV8uSXYpdGhyb3cgYi5lcnJvcjtyZXR1cm4gYi52YWx1ZX07YVtfLlp1XT1iO3JldHVybiBhfTtfLk49ZnVuY3Rpb24oYSxiLGM9IiIpe3ZhciBkPVJiYShhKTthPWRbXy5adV07YS5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW2NvbXB1dGVkXSIpO2I/LmVxdWFscyE9bnVsbCYmKGEuZXF1YWw9Yi5lcXVhbHMpO3JldHVybiBkfTsKUWJhPXsuLi5fLlh1LHZhbHVlOl8uR3YsUGI6ITAsZXJyb3I6bnVsbCxlcXVhbDpfLml1LGtpbmQ6ImNvbXB1dGVkIixYbShhKXtyZXR1cm4gYS52YWx1ZT09PV8uR3Z8fGEudmFsdWU9PT1fLkh2fSxZbShhKXtpZihhLnZhbHVlPT09Xy5Idil0aHJvdyBFcnJvcigiaCIpO3ZhciBiPWEudmFsdWU7YS52YWx1ZT1fLkh2O3ZhciBjPV8udHUoYSksZD0hMTt0cnl7dmFyIGU9YS5UZygpO18ua3UobnVsbCk7ZD1iIT09Xy5HdiYmYiE9PV8uSXYmJmUhPT1fLkl2JiZhLmVxdWFsKGIsZSl9Y2F0Y2goZil7ZT1fLkl2LGEuZXJyb3I9Zn1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX1kP2EudmFsdWU9YjooYS52YWx1ZT1lLGEudmVyc2lvbisrKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgU2JhO18uTkM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oKT0+e3ZhciBjPWEoKTtpZighYyl7bGV0IGQ9RXJyb3IoIk9jYCIrYik7UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoZCwyLGIpO30pfXJldHVybiBjfX07Xy5PPWZ1bmN0aW9uKGEpe3JldHVybiBTYmEoYSl9OwpTYmE9ZnVuY3Rpb24oYSl7aWYoYS5BPT09dm9pZCAwKXJldHVybiBhLlc/LigpO2lmKHR5cGVvZiBhLkEhPT0iZnVuY3Rpb24iKXtsZXQgZT1hLnRoZW4sZj1hLlcsaD1hLkE7cmV0dXJuIGg/ZShoKTpmPy4oKX12YXIgYj1hLkEsYz1fLk4oKCk9PiEhYigpLHZvaWQgMCwiQmpRUlEiKSxkPV8uTkMoYiwiSWYiKTtyZXR1cm4gXy5YQigoKT0+e3ZhciBlPWMoKSxmO18udXYoKCk9Pnt2YXIgaD1fLmt1KF8uenYpO3RyeXtmPV8uZkMoZT9hLnRoZW4oZCk6YS5XPy4oKSl9ZmluYWxseXtfLmt1KGgpfX0sITApO3JldHVybiBmfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/IlJsRHVkZCIsenA6YS50aGVuLFdlOiEwfSl9O18uV0M9bmV3IE1hcDtfLlhDPVN5bWJvbCgiTmMiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rRz1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKDEpO2lmKCgwLF8ubHYpKGIpKXRocm93IEVycm9yKCJpYiIpO3JldHVybiBfLmh1KGEsYil9O18ubUc9ZnVuY3Rpb24oKXtyZXR1cm4gXy5adD9fLmtHKF8ubEcpOnZvaWQgMH07Xy5mZGE9U3ltYm9sKCIkYyIpO18uZ2RhPVN5bWJvbCgiYWQiKTtfLmxHPV8uZ3Uoe2RlZmF1bHRWYWx1ZTp2b2lkIDB9LCJ5RHA1T2MiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhjYTtfLm5FPWZ1bmN0aW9uKGEsYil7YT1fLnB2KGhjYSxhLGIpO18uZnYoYSl9O2hjYT17Li4uXy4kdixlZmZlY3RUeXBlOl8uZHZ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9IPWZ1bmN0aW9uKGEsYil7YT1fLiR0KGEpO3RyeXtfLkVBKGIpfWZpbmFsbHl7Xy4kdChhKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9FPWZ1bmN0aW9uKCl7aWYoXy5IQSgpKXRocm93IEVycm9yKCJCYyIpO3JldHVybiBfLk1DfTtfLnBFPWZ1bmN0aW9uKGEpe3ZhciBiPV8ub0UoKTtpZihiPT1udWxsKXRocm93IEVycm9yKCJUYyIpO3ZhciBjPWIuQisrO2IuWmZ8fChiLlpmPVtdKTt2YXIgZD1iLlpmO2RbY118fChkW2NdPXtrZXk6YSxob3N0OmJ9KTtpZihhIT09ZFtjXS5rZXkpdGhyb3cgRXJyb3IoIlNjYCIrKGIuaj9iLmo/Lm5hbWU6YiBpbnN0YW5jZW9mIF8ubUM/Xy5GQShiLm8pOmA8JHtiLmVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKX0+YCkpO3JldHVybiBkW2NdfTtfLnFFPWZ1bmN0aW9uKGEsYil7cmV0dXJuIWF8fGEubGVuZ3RoIT09Yj8ubGVuZ3RofHxhLnNvbWUoKGMsZCk9PmMhPT1iW2RdKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBpY2EsdEUsamNhLHdFO2ljYT1mdW5jdGlvbihhKXt2YXIgYj1udWxsLGMsZD17Q2s6bnVsbCxnZXQgdmFsdWUoKXtkLnZMPy4oKTtyZXR1cm4gZC5Da30sdm86ITEsa3U6ITEsc2V0IHZhbHVlKGUpe2Qud0w/LihlKTtkLkNrPWU7ZC52bz0hMH0sbXooZSl7YyYmZSE9PWMmJihjLl9kaXNwb3NlUmVmPXZvaWQgMCxiPy4oKSk7Yz1lO2I9YShlKXx8bnVsbH0sdXooKXtiPy4oKTtiPWQudmFsdWU9bnVsbH0sW18uTXZdOiEwfTtyZXR1cm4gZH07Xy5zRT1mdW5jdGlvbihhKXt2YXIgYj1bXTtpZihfLkhBKCkpcmV0dXJuIGEoKTt2YXIgYz1fLnBFKCJ1c2VNZW1vSW50ZXJuYWwiKTtfLnFFKGMubWwsYikmJihjLm1sPWIsYy52YWx1ZT1hKCkpO3JldHVybiBjLnZhbHVlfTtfLnVFPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRFKGEsITEsYil9O18udkU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdEUoYSwhMCxiKX07CnRFPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5IQSgpP3dFKGEsYixjKTpqY2EoYSxiLGMpfTtqY2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnNFKCgpPT53RShhLGIsYykpfTt3RT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5adCxlPWljYShmPT57ZS52YWx1ZT1mO3ZhciBoPSgoKT0+e3ZhciBrPV8ua3UobnVsbCk7dHJ5e3JldHVybiBjPy4oZil9Y2F0Y2gobCl7Xy5vdihsLGQpfWZpbmFsbHl7Xy5rdShrKX19KSgpO3JldHVybigpPT57aD8uKCl9fSk7ZS5qdT1hO2UubHU9YjtlLnZKPSFfLkhBKCk7cmV0dXJuIGV9O18uQkU9U3ltYm9sKCJXYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1GPXtWYjohMSxzdGF0ZToidmlzaWJsZSJ9O18ubkY9e1ZiOiExLHN0YXRlOiJoaWRkZW4ifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5wSD1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKCk7cmV0dXJuIGM9Pnt2YXIgZD1hLm9ic2VydmVyPz9fLnkoKS5yZXNvbHZlKF8uTHgpLGU9Yy5qZj8/YyxmPVtdO2EuZWImJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTmIoITAsYyl9KX0sYS5lYikpO2EuTmMmJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTmIoITEsYyl9KX0sYS5OYykpO2EuTGgmJmEuTGomJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTGooKX0pfSxhLkxoKSk7ZS52aXNpYmlsaXR5TW9uaXRvcktleXM9KGUudmlzaWJpbGl0eU1vbml0b3JLZXlzPz9bXSkuY29uY2F0KGYpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBQRDtfLlJEPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLF8uT0QpO2lmKGIpcmV0dXJuIGI7aWYoKGI9Xy5CKGEsV2JhKSkmJmIuY29tbWFuZHMpcmV0dXJuIFBEKGIuY29tbWFuZHMpO2lmKChiPV8uQihhLFhiYSkpJiZiLmNvbW1hbmRzKXJldHVybiBQRChiLmNvbW1hbmRzKTtpZigoYT1fLkIoYSxZYmEpKSYmYS5pZGVudGlmaWVyJiZhLmNvbW1hbmQmJihRRHx8KFFEPVtdKSwhUUQuaW5jbHVkZXMoYS5pZGVudGlmaWVyKSkpcmV0dXJuIFFELnB1c2goYS5pZGVudGlmaWVyKSxfLkIoYS5jb21tYW5kLF8uT0QpfTtQRD1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCE9PTApe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKShhPV8uUkQoYykpJiZiLnB1c2goYSk7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOmJ9fX19O18uU0Q9bmV3IF8uSSgiY29tbWFuZEV4ZWN1dG9yQ29tbWFuZCIpO18uT0Q9bmV3IF8uSSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBXYmE9bmV3IF8uSSgicGFyYWxsZWxDb21tYW5kIik7dmFyIFliYT1uZXcgXy5JKCJwZXJmb3JtT25jZUNvbW1hbmQiKTt2YXIgWGJhPW5ldyBfLkkoInNlcmlhbENvbW1hbmQiKTt2YXIgUUQ9dm9pZCAwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlREPW5ldyBfLkkoInJlZWxXYXRjaEVuZHBvaW50Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVUQ9bmV3IF8uVnMoIkNPTU1BTkRfSEFORExFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZEPW5ldyBfLkkoInVybEVuZHBvaW50Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBaYmEsZGNhLCRiYSxlY2E7Xy5XRD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXtfLklwKGIpfX07Xy5ZRD1mdW5jdGlvbihhLGIsYyl7cmV0dXJue2Zvcm06e2N1cnJlbnREYXRhOl8uWEQ/LnJlc3BvbnNlPz97fSxzb3VyY2VEYXRhOmEsZXZlbnQ6Yj8uZXZlbnQsY2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yj8uY2xpY2tlZFZpc3VhbEVsZW1lbnQsaW1wbGljaXRHZXN0dXJlVHlwZTpiPy5pbXBsaWNpdEdlc3R1cmVUeXBlLGF1dG9uYXY6Yj8uYXV0b25hdixCZDpiPy5CZH0sbWQ6Y319OwpfLmJFPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaHYsYz1hLnV4LGQ9YS5iaCxlPWEuSWQsZj1hLnFkLGg9YS5BbyxrPWEuaW5uZXJ0dWJlQ29tbWFuZHx8Xy5SRChkKTtpZihrKXthPXt9O3ZhciB7UnE6bCxocmVmOm19PV8uWkQoayk7bCYmbT8oYS5ocmVmPW0sWmJhKGEsbCxtLGIpLCRiYShhLGwpLGYmJihhLnFkPSEwKSk6KGEucm9sZT0iYnV0dG9uIixhLnRhYmluZGV4PSIwIik7Xy5CKGssYWNhKSYmKGEuYXJpYUhhc1BvcHVwPSEwKTtlfHwoYS5vbmNsaWNrPW49PntsJiZtfHxuLnByZXZlbnREZWZhdWx0KCk7Xy4kRChrKTt2YXIgcD17Li4uXy5ZRChrLHtldmVudDpufSksLi4uaH07bi5wcmV2ZW50RGVmYXVsdCgpO18uYUUoayxwKTtuLnN0b3BQcm9wYWdhdGlvbigpfSxsJiZtfHwoYS5vbmtleWRvd249bj0+e2lmKG4ua2V5PT09IkVudGVyInx8bi5rZXk9PT0iICIpbi5zdG9wUHJvcGFnYXRpb24oKSxuLnByZXZlbnREZWZhdWx0KCksbi5jdXJyZW50VGFyZ2V0LmNsaWNrKCl9KSk7CnJldHVybnsuLi5jLC4uLmF9fX07Xy5aRD1mdW5jdGlvbihhKXthPV8uQihhLF8uU0QpPy5jb21tYW5kc3x8W2FdO2ZvcihsZXQgYiBvZiBhKWlmKGE9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsLF8ueCgid2ViX3JlbW92ZV93ZWJfbmF2aWdhdGlvbl9lbmRwb2ludF9kYXRhIil8fChhPWF8fF8uQihiLGJjYSk/LnVybCksYSYmYSE9PSIvc2VydmljZV9hamF4Iil7bGV0IGM9Xy5iYihhLGNjYSk7aWYoYylyZXR1cm4gYT1fLllhKGMpLHtScTpiLGhyZWY6YX07Xy5JcChuZXcgXy5YaigiQXR0cmlidXRlZFN0cmluZyBVUkwgY291bGQgbm90IGJlIHNhbml0aXplZCIsYSkpfXJldHVybnt9fTsKWmJhPWZ1bmN0aW9uKGEsYixjLGQpe2M9IV8uZmooYyk7aWYoXy5CKGIsXy5jRSk/Lm5vZm9sbG93fHxfLkIoYixfLkF3KT8ubm9mb2xsb3d8fF8uQihiLF8uVkQpPy5ub2ZvbGxvd3x8Xy5CKGIsXy5URCk/Lm5vZm9sbG93fHxjKWEucmVsPSJub2ZvbGxvdyI7YS50YXJnZXQ9ZGNhKGIsZCl9O2RjYT1mdW5jdGlvbihhLGI9IiIpe3JldHVybiBfLkIoYSxfLlZEKT8udGFyZ2V0PT09IlRBUkdFVF9ORVdfV0lORE9XIj8iX2JsYW5rIjpifTskYmE9ZnVuY3Rpb24oYSxiKXtiLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihhLnBhcmFtcz17aXRjdDpiLmNsaWNrVHJhY2tpbmdQYXJhbXN9KTthLm9ucG9pbnRlcmRvd249Yz0+e2VjYShjLGIpfTthLm51PWJ9OwpfLiREPWZ1bmN0aW9uKGEpeyhhLmxvZ2dpbmdVcmxzfHxbXSkuZm9yRWFjaChiPT57dmFyIGM9Yi5iYXNlVXJsO2IuYXR0cmlidXRpb25TcmNNb2RlPT09IkFUVFJJQlVUSU9OX1NSQ19NT0RFX1hIUl9PUFRJT04iPyhjPWRvY3VtZW50LmZlYXR1cmVQb2xpY3k/LmFsbG93ZWRGZWF0dXJlcygpLmluY2x1ZGVzKCJhdHRyaWJ1dGlvbi1yZXBvcnRpbmciKT9jKyImbmlzPTYiOmMrIiZuaXM9NSIsXy5hbihjLHZvaWQgMCx2b2lkIDAsdm9pZCAwLCIiLCEwLCEwKSk6Xy5hbihjKX0pfTtlY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmN1cnJlbnRUYXJnZXQ7YT1fLldEKCgpPT5jLmhyZWYpO2I9Yi5jbGlja1RyYWNraW5nUGFyYW1zP3tpdGN0OmIuY2xpY2tUcmFja2luZ1BhcmFtc306e307YSYmXy51eihhLGIsOCwhMCl9O18uZEU9ZnVuY3Rpb24oYSxiKXsoYT1fLlJEKGEpKSYmXy5hRShhLGIpfTsKXy5hRT1mdW5jdGlvbihhLGIpe18uWXQoXy5VRCxjPT57Yj9jLnJlc29sdmVDb21tYW5kKGEsYik6Yy5yZXNvbHZlQ29tbWFuZChhKX0pfTtfLmNFPW5ldyBfLkkoImJyb3dzZUVuZHBvaW50Iik7dmFyIGJjYT1uZXcgXy5JKCJ3ZWJOYXZpZ2F0aW9uRW5kcG9pbnREYXRhIik7dmFyIGFjYT1uZXcgXy5JKCJtb2RhbEVuZHBvaW50Iik7Xy5mY2E9bmV3IF8uSSgidXNlckZlZWRiYWNrRW5kcG9pbnQiKTtfLmVFPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5kYXRhPVtdO3RoaXMuRGY9bnVsbH1wdXNoKGEpe3RoaXMuRGY/dGhpcy5EZihhKTp0aGlzLmRhdGEucHVzaChhKX19O18uWEQ9e307Xy5mRT1fLkooXy5YRCx2b2lkIDAsIlRIUk9PIilbMF07Xy5KKG51bGwsdm9pZCAwLCJjeDRUSWQiKTtfLkoobnVsbCx2b2lkIDAsIlFYYU91ZCIpO18uSigiIix2b2lkIDAsIkRSV085YyIpO18uSihfLnF6KCk/ITE6ITAsdm9pZCAwLCJ2eXp5aWQiKTtfLmdFPW5ldyBfLmVFO3ZhciBjY2E9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxLF8uTnEsXy5QcV07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ucUg9ZnVuY3Rpb24oYSl7aWYoYS5jb21wb3NlZFBhdGgpcmV0dXJuIGEuY29tcG9zZWRQYXRoKCk7aWYoIWEudW8pe2xldCBiPVtdLGM9YS50YXJnZXQ7Zm9yKDtjOyliLnB1c2goYyksYz1jLnBhcmVudE5vZGU7Yi5wdXNoKHdpbmRvdyk7YS51bz1ifXJldHVybiBhLnVvfTtfLnJIPWZ1bmN0aW9uKGEsYixjKXtmb3IobGV0IGQgb2YgYSl7aWYoZD09PWIpYnJlYWs7Zm9yKGxldCBlIG9mIGMpaWYoZC50YWdOYW1lPT09ZXx8ZC5yb2xlPT09ImJ1dHRvbiImJmU9PT0iQlVUVE9OIilyZXR1cm4hMH1yZXR1cm4hMX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBCZGEsQ2RhLERkYSx2SCx3SCxFZGE7QmRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5vYnNlcnZlcj8/Xy55KCkucmVzb2x2ZShfLkx4KTtpZihhKXt2YXIgZD1hLmpmPz9hLGU9W107Yi5lYiYmZS5wdXNoKGMub2JzZXJ2ZShhLCgpPT57Yi5OYighMCxhKX0sYi5lYikpO2IuTmMmJmUucHVzaChjLm9ic2VydmUoYSwoKT0+e2IuTmIoITEsYSl9LGIuTmMpKTtiLkxoJiZiLkxqJiZlLnB1c2goYy5vYnNlcnZlKGEsKCk9PntiLkxqKCl9LGIuTGgpKTtkLnZpc2liaWxpdHlNb25pdG9yS2V5cz0oZC52aXNpYmlsaXR5TW9uaXRvcktleXM/P1tdKS5jb25jYXQoZSl9fTtfLnRIPWZ1bmN0aW9uKGEpe3JldHVybiEhXy5zSChhKX07Xy51SD1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBmPT57dmFyIGg9Xy5tRygpO18ubkUoKCk9PntpZihmKXtDZGEoZixhKCksZSk7dmFyIGs9RGRhKGYsYSgpLGIsYyxkLGgpO18uWXUoayl9fSwiYWpRWTYiKX19OwpDZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXZIKGIpLGU9d0goYiksZj1kJiZfLm1GLGg9ZSYmXy5uRjsoZHx8ZSkmJkJkYShhLHtOYjprPT57dmFyIGw9Xy55KCkucmVzb2x2ZShfLlVEKTtrJiZkPyhsLnJlc29sdmVDb21tYW5kKGQse2Zvcm06e2VsZW1lbnQ6Yz9hOnZvaWQgMH0sbWQ6ITB9KSxkPXZIKGIpKTohayYmZSYmKGwucmVzb2x2ZUNvbW1hbmQoZSx7Zm9ybTp7ZWxlbWVudDpjP2E6dm9pZCAwfSxtZDohMH0pLGU9d0goYikpfSxlYjpmLE5jOmh9KX07CkRkYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGg9bmV3IE1hcDtpZihiPV8uc0goYikpYT1kPy5vblRhcD8udmFsdWV8fGEsYz1FZGEoYixhLGM/Lm9uVGFwLGUsZiksYS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYyksaC5zZXQoImNsaWNrIixjKSxfLngoIndlYl9lbmFibGVfYWRkaXRpb25hbF9ldmVudF9saXN0ZW5lcl9mb3JfdGFwX2NvbW1hbmQiKSYmKGM9az0+e3ZhciBsPWEudGFnTmFtZTtsPT09IkJVVFRPTiJ8fGw9PT0iQSJ8fGw9PT0iSU5QVVQifHxrLmtleSE9PSJFbnRlciImJmsua2V5IT09IiAifHxlJiZfLnJIKF8ucUgoayksYSxlKXx8KGsucHJldmVudERlZmF1bHQoKSxhLmNsaWNrKCkpfSxhLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGMpLGguc2V0KCJrZXlkb3duIixjKSk7cmV0dXJuKCk9Pntmb3IobGV0IFtrLGxdb2YgaClhLnJlbW92ZUV2ZW50TGlzdGVuZXIoayxsKX19OwpfLnNIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vblRhcCkmJl8uUkQoYSl9O3ZIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vblZpc2libGUpJiZfLlJEKGEpfTt3SD1mdW5jdGlvbihhKXtyZXR1cm4oYT1fLkIoYSxfLnhIKT8ub25IaWRkZW4pJiZfLlJEKGEpfTtfLnlIPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJEKF8uQihhLF8ueEgpPy5vbkhvdmVyU3RhcnQpfTtfLnpIPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJEKF8uQihhLF8ueEgpPy5vbkhvdmVyRW5kKX07RWRhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9az0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSxrKX0saD1rPT57ZCYmXy5ySChfLnFIKGspLGIsZCl8fGYoay50YXJnZXQ/e2Zvcm06e2VsZW1lbnQ6ay50YXJnZXQsc291cmNlRGF0YTphLG11dGF0aW9uQ29udGV4dDplfX06dm9pZCAwKX07YyYmKGg9az0+e2MoayxmKX0pO3JldHVybiBofTtfLnhIPW5ldyBfLkkoImNvbW1hbmRDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uakg9bmV3IF8uVnMoIktFWV9NQU5BR0VSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUD1mdW5jdGlvbiguLi5hKXt2YXIgYj0hMDtmb3IobGV0IGMgb2YgYSlpZih0eXBlb2YgYyE9PSJzdHJpbmciKXtiPSExO2JyZWFrfXJldHVybiBiP2Euam9pbigiICIpLnRyaW0oKXx8dm9pZCAwOigpPT57dmFyIGM9IiI7Zm9yKGxldCBkIG9mIGEpaWYodHlwZW9mIGQ9PT0iZnVuY3Rpb24iJiYoZD1kKCkpLGQpaWYodHlwZW9mIGQ9PT0ic3RyaW5nIiljKz0iICIrZDtlbHNlIGZvcihsZXQgZSBpbiBkKXtpZighZC5oYXNPd25Qcm9wZXJ0eShlKSljb250aW51ZTtsZXQgZj1kW2VdO3R5cGVvZiBmPT09ImZ1bmN0aW9uIiYmKGY9ZigpKTtmJiYoYys9IiAiK2UpfWM9Yy50cmltKCl8fHZvaWQgMDtyZXR1cm4gXy5CdihjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga0g7a0g9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9PmEoKT9hKCk6dm9pZCAwfTsKXy5uSD1fLkwoYT0+e3ZhciBiPV8udUUoImEiLGEucmVmKSxjPWEudWM/YS51YzpfLk4oKCk9Pl8uYkUoe2lubmVydHViZUNvbW1hbmQ6Xy5SRChhLmNvbW1hbmQ/LigpKT8/YS5jb21tYW5kPy4oKSxJZDphLklkPy4oKSxodjphLnRhcmdldD8uKCl9KXx8e30sdm9pZCAwLCJUQXZ6MCIpO3JldHVybiBfLksoImEiLHtlbDpiLGhyZWY6KCk9PmMoKS5ocmVmLHJlbDooKT0+YygpLnJlbCxjbGFzczooKT0+YygpLmNsYXNzTmFtZT8/YS5jbGFzc05hbWU/LigpLHN0eWxlOigpPT57aWYoYS5zdHlsZT8uKCkpcmV0dXJuIGEuc3R5bGUoKTtpZihhLmRpc2FibGVkPy4oKSlyZXR1cm4icG9pbnRlci1ldmVudHM6bm9uZSJ9LCJhcmlhLWhhc3BvcHVwIjooKT0+ISFjKCkuYXJpYUhhc1BvcHVwLCJmb3JjZS1uZXctc3RhdGUiOmtIKCgpPT5jKCkucWQpLHRpdGxlOmtIKCgpPT5jKCkudGl0bGU/P2EudGl0bGU/LigpKSxyb2xlOmtIKCgpPT5hLnJvbGU/LigpfHxjKCkucm9sZSksdGFyZ2V0OmtIKCgpPT4KYygpLnRhcmdldCksZGlyOmtIKCgpPT5hLmRpcj8uKCl8fGMoKS5kaXIpLHRhYmluZGV4OigpPT5jKCkudGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGMoKS50YWJpbmRleCk6YS50YWJJbmRleD8uKCksImFyaWEtaGlkZGVuIjooKT0+YygpLmFyaWFIaWRkZW4/P2EuYXJpYUhpZGRlbj8uKCksImFyaWEtbGFiZWwiOigpPT5jKCkuYXJpYUxhYmVsPz9hLmFyaWFMYWJlbD8uKCksImFyaWEtY3VycmVudCI6YS5hcmlhQ3VycmVudCwiYXJpYS1kaXNhYmxlZCI6YS5kaXNhYmxlZCwiYXJpYS1leHBhbmRlZCI6YS5hcmlhRXhwYW5kZWQsImFyaWEtbGFiZWxsZWRieSI6YS5IbywiYXJpYS1kZXNjcmliZWRieSI6YS5IZSwiYXJpYS1zZWxlY3RlZCI6YS5hcmlhU2VsZWN0ZWQsInRhYi1pZGVudGlmaWVyIjphLnRhYklkZW50aWZpZXIsIm9uOnBvaW50ZXJkb3duIjpmdW5jdGlvbihkKXtjKCkub25wb2ludGVyZG93bj8uKGQpfSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2MoKS5vbmNsaWNrPy4oZCk7CmEub25DbGljaz8uKGQpfSwib246Zm9jdXNpbiI6YS5keiwib246Zm9jdXNvdXQiOmEuZXosIm9uOm1vdXNlZW50ZXIiOmZ1bmN0aW9uKGQpe2Eub25Ib3Zlcj8uKGQpO2EuaXo/LihkKX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKGQpe2Euano/LihkKX0sIm9uOmtleWRvd24iOmZ1bmN0aW9uKGQpe2MoKS5vbmtleWRvd24/LihkKX19LGEuY2hpbGRyZW4pfSwidCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZDPV8uTCgoe2NvbW1hbmQ6YSxyZW5kZXJlckNvbnRleHQ6YixjaGlsZHJlbjpjLGNsYXNzTmFtZTpkLFp2OmUsc3R5bGU6ZixvbkNsaWNrOmgsYXJpYUN1cnJlbnQ6ayxIZTpsLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6bixIbzpwLGFyaWFTZWxlY3RlZDpyLGRpc2FibGVkOnQsZGlyOnYsdGFiSW5kZXg6eix0YXJnZXQ6RSx0aXRsZTpBLHRvZ2dsZWFibGU6Rix0b2dnbGVkOkN9KT0+e2Z1bmN0aW9uIEcobWEpe3ZhciB0YT1fLnNIKGI/LigpKT8/YT8uKCk7aWYodGEpe2xldCBUPW1hLnRhcmdldD97Zm9ybTp7ZWxlbWVudDptYS50YXJnZXQsc291cmNlRGF0YTp0YSxtdXRhdGlvbkNvbnRleHQ6VX19OnZvaWQgMDtfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKHRhLFQpfWg/LihtYSl9ZnVuY3Rpb24gRCgpe29hKFM/LlhlKCk/PyExKX1mdW5jdGlvbiBIKCl7b2EoITEpfWZ1bmN0aW9uIFIoKXt2YXIgbWE9Xy55SChiPy4oKSk7bWEmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQobWEpfQpmdW5jdGlvbiBNKCl7dmFyIG1hPV8uekgoYj8uKCkpO21hJiZfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKG1hKX12YXIgUz1fLnkoKS5yZXNvbHZlKF8uSW4oXy5qSCkpLFtZLHBhXT1fLkooITEsdm9pZCAwLCJUTkxKRWMiKSxvYT1wYSxVPV8ubUcoKSxoYT0oKT0+Rj8uKCk/Qz8uKCk6dm9pZCAwO3JldHVybiBfLksoXy5PLHtBOmZ1bmN0aW9uKCl7dmFyIG1hPV8uc0goYj8uKCkpPz9hPy4oKSx0YTtpZih0YT1tYSl7bGV0IHtScTpULGhyZWY6YmF9PV8uWkQobWEpO3RhPSEoIVR8fCFiYSl9cmV0dXJuIHRhfSx0aGVuOigpPT5fLksoXy5uSCx7Y29tbWFuZDphLHN0eWxlOmYsSGU6bCxhcmlhSGlkZGVuOm0sYXJpYUxhYmVsOm4sSG86cCxhcmlhU2VsZWN0ZWQ6cixkaXNhYmxlZDp0LGRpcjp2LHRhYkluZGV4OnosdGFyZ2V0OkUsdGl0bGU6QSxvbkNsaWNrOmgsY2xhc3NOYW1lOl8uUCgieXRCdXR0b25PckFuY2hvckhvc3QiLCJ5dEJ1dHRvbk9yQW5jaG9yQW5jaG9yIiwKZCwoKT0+WSgpP2U/LigpOiIiKSxkejpELGV6OkgsaXo6UixqejpNLGFyaWFDdXJyZW50OigpPT5rPy4oKT8/aGEoKX0sYyksVzooKT0+Xy5LKCJidXR0b24iLHsib246Y2xpY2siOkcsIm9uOmZvY3VzaW4iOkQsIm9uOmZvY3Vzb3V0IjpILCJvbjptb3VzZWVudGVyIjpSLCJvbjptb3VzZWxlYXZlIjpNLGNsYXNzOl8uUCgieXRCdXR0b25PckFuY2hvckhvc3QiLCJ5dEJ1dHRvbk9yQW5jaG9yQnV0dG9uIixkLCgpPT5ZKCk/ZT8uKCk6IiIpLHN0eWxlOmYsImFyaWEtZGVzY3JpYmVkYnkiOmwsImFyaWEtaGlkZGVuIjptLCJhcmlhLWxhYmVsIjpuLCJhcmlhLWxhYmVsbGVkYnkiOnAsImFyaWEtcHJlc3NlZCI6aGEsZGlyOnYsZGlzYWJsZWQ6dCx0YWJpbmRleDooKT0+ej8uKCk/PygoXy5Pa3x8Xy5yeigpKSYmXy54KCJ3ZWJfZW5hYmxlX3NhZmFyaV9idXR0b25fdGFiaW5kZXhfZml4Iik/MDp2b2lkIDApLHRpdGxlOkF9LGMpfSl9LCJ2Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIlpRS3gxIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSUU9ZnVuY3Rpb24oLi4uYSl7cmV0dXJuKCk9Pnt2YXIgYj0iIjtmb3IobGV0IGMgb2YgYSl7bGV0IGQ9dHlwZW9mIGM9PT0iZnVuY3Rpb24iP2MoKTpjO2lmKGQpZm9yKGxldCBlIGluIGQpe2xldCBmPWRbZV07Zm9yKDt0eXBlb2YgZj09PSJmdW5jdGlvbiI7KWY9ZigpO2YhPT12b2lkIDAmJmYhPT1udWxsJiYoYis9YDsgJHtlfTogJHtmfWApfX1yZXR1cm4gYi5sZW5ndGg+MD9fLkJ2KGIuc2xpY2UoMikpOl8uQnYoKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnJGPWZ1bmN0aW9uKC4uLmEpe3JldHVybiBfLnZFKF8uQkUsYj0+e3ZhciBjPWEubWFwKGQ9PmQ/LihiKSk7cmV0dXJuKCk9PnZvaWQgYy5mb3JFYWNoKGQ9PnZvaWQgZD8uKCkpfSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmhLPWZ1bmN0aW9uKCl7Z0t8fChnSz1uZXcgTGVhKTtyZXR1cm4gZ0t9O3ZhciBNZWE9Xy5MKGE9PntmdW5jdGlvbiBiKGhhKXtpZihoYSl7dmFyIG1hPU0uZ2V0KGhhKTttYSYmKG1hLmNhbmNlbCgpLE0uZGVsZXRlKGhhKSk7Zm9yKGxldCB0YSBvZiBoYS5nZXRBbmltYXRpb25zKCkpdGEuY2FuY2VsKCl9fWZ1bmN0aW9uIGMoaGEsbWEsdGEpe21hPV8uamYuR2EobWEsMyx0YSk7Uy5zZXQoaGEsbWEpfWZ1bmN0aW9uIGQoKXttKCExKTtpZihSKXt2YXIgaGE9UjtSPW51bGw7dmFyIG1hPURhdGUubm93KCktRztjKGhhLCgpPT57Uy5kZWxldGUoaGEpO3ZhciB7d2lkdGg6dGEsaGVpZ2h0OlQsb3BhY2l0eTpiYX09d2luZG93LmdldENvbXB1dGVkU3R5bGUoaGEpLGFhPU51bWJlci5wYXJzZUZsb2F0KHRhKXx8MCxPYT1OdW1iZXIucGFyc2VGbG9hdChUKXx8MCxKYj1OdW1iZXIucGFyc2VGbG9hdChiYSl8fC41O2hhLnN0eWxlLndpZHRoPWAke2FhfXB4YDtoYS5zdHlsZS5oZWlnaHQ9YCR7T2F9cHhgO2hhLnN0eWxlLm9wYWNpdHk9YCR7SmJ9YDtiKGhhKTthYT0KVT8wOjJFMztoYS5zdHlsZS50cmFuc2l0aW9uPWBvcGFjaXR5ICR7YWF9bXMgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSlgO2hhLnN0eWxlLm9wYWNpdHk9aGEub2Zmc2V0V2lkdGg9PT0tMT8iMSI6IjAiO2MoaGEsKCk9PntTLmRlbGV0ZShoYSk7aGEuc3R5bGUuY3NzVGV4dD0iIn0sYWErMTAwKX0sTWF0aC5tYXgoMCwzMDAtbWEpKX19ZnVuY3Rpb24gZSgpe2QoKTtDPW51bGx9dmFyIHtjbGFzc05hbWU6ZixzdHlsZTpofT1fLkRDKGEse2NsYXNzTmFtZToiIixzdHlsZToiZGVmYXVsdCJ9KSxbayxsXT1fLkooITEsdm9pZCAwLCJLYlVUamYiKSxtPWwsW24scF09Xy5KKHZvaWQgMCx2b2lkIDAsIkdlRnZFZiIpLFtyLHRdPV8uSih2b2lkIDAsdm9pZCAwLCJpM2ZkVmUiKSxbdix6XT1fLkoodm9pZCAwLHZvaWQgMCwiTGVkVjRiIiksRT1fLnJGKCksQT1fLnJGKCksRj1fLnJGKCksQz1udWxsLEc9MCxEPTAsSD0hMCxSPW51bGwsTT1uZXcgTWFwLFM9bmV3IE1hcCxZPTAscGE9CjAsb2E9bnVsbCxVPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXM7Xy5ZdSgoKT0+e2ZvcihsZXQgaGEgb2YgUy52YWx1ZXMoKSlfLmpmLkFhKGhhKTtTLmNsZWFyKCk7YihBLnZhbHVlKTtiKEYudmFsdWUpO29hIT09bnVsbCYmXy5qZi5BYShvYSl9KTtyZXR1cm4gXy5LKCJ5dC1saWdodC10b3VjaC1mZWVkYmFjay1zaGFwZSIse2VsOkUsY2xhc3M6Xy5QKCJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdCIsZix7eXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQ6ayx5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdDooKT0+aCgpPT09ImRlZmF1bHQiLHl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlOigpPT5oKCk9PT0iaW52ZXJzZSJ9KSwib246cG9pbnRlcmVudGVyIjpmdW5jdGlvbigpe3ZhciBoYT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/Cm51bGwpO2hhJiZ6KGAkeyhoYS5oZWlnaHR8fDApKjIuNX1weGApfSwib246cG9pbnRlcmRvd24iOmZ1bmN0aW9uKGhhKXt2YXIgbWE9RGF0ZS5ub3coKTtpZighKG1hLUQ8MTAwKSl7RD1tYTttKCEwKTt2YXIgdGE9Qz8/KEM9RS52YWx1ZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P251bGwpO2lmKHRhKXt2YXIgVD1oYS5jbGllbnRYLXRhLmxlZnQ7aGE9aGEuY2xpZW50WS10YS50b3A7dmFyIGJhPU1hdGgubWF4KCh0YS53aWR0aHx8MCkqMiwodGEuaGVpZ2h0fHwwKSo4LjUpLGFhPWJhLzQwOCoxNDAwO3RhPUg/QS52YWx1ZTpGLnZhbHVlO0g9IUg7aWYoUj10YSl7dGEuc3R5bGUuY3NzVGV4dD0iIjtiKHRhKTtsZXQgT2E9Uy5nZXQodGEpO09hIT09dm9pZCAwJiYoXy5qZi5BYShPYSksUy5kZWxldGUodGEpKTt0YS5zdHlsZS5sZWZ0PWAke1R9cHhgO3RhLnN0eWxlLnRvcD1gJHtoYX1weGA7VXx8KFQ9bmV3IEtleWZyYW1lRWZmZWN0KHRhLFt7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgiLApvcGFjaXR5OiIwLjMwNiJ9LHt3aWR0aDpgJHtiYSouMjV9cHhgLGhlaWdodDpgJHtiYSouMjV9cHhgLG9wYWNpdHk6IjAuNzc0IixvZmZzZXQ6LjI1fSx7d2lkdGg6YCR7YmEqLjZ9cHhgLGhlaWdodDpgJHtiYSouNn1weGAsb3BhY2l0eToiMC44MjgiLG9mZnNldDouNn0se3dpZHRoOmAke2JhfXB4YCxoZWlnaHQ6YCR7YmF9cHhgLG9wYWNpdHk6IjAuOSJ9XSx7ZHVyYXRpb246YWEsZmlsbDoiZm9yd2FyZHMiLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMTcsIDAuMTcsIDAuMSwgMSkifSksVD1uZXcgQW5pbWF0aW9uKFQsZG9jdW1lbnQudGltZWxpbmUpLE0uc2V0KHRhLFQpLFQucGxheSgpKX1HPW1hfX19LCJvbjpwb2ludGVydXAiOmQsIm9uOnBvaW50ZXJsZWF2ZSI6ZSwib246cG9pbnRlcmNhbmNlbCI6ZSwib246cG9pbnRlcm1vdmUiOmZ1bmN0aW9uKGhhKXt2YXIgbWE9Qz8/KEM9RS52YWx1ZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P251bGwpO21hJiYoWT1oYS5jbGllbnRYLQptYS5sZWZ0LHBhPWhhLmNsaWVudFktbWEudG9wLGsoKSYmKGhhLmNsaWVudFg8bWEubGVmdHx8aGEuY2xpZW50WD5tYS5yaWdodHx8aGEuY2xpZW50WTxtYS50b3B8fGhhLmNsaWVudFk+bWEuYm90dG9tKT9kKCk6b2E9PT1udWxsJiYob2E9Xy5qZi5HYSgoKT0+e29hPW51bGw7cChgJHtZfXB4YCk7dChgJHtwYX1weGApfSwzKSkpfSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKCJkaXYiLHtjbGFzczoieXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheSJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodCIsc3R5bGU6Xy5JRSh7bGVmdDpuLHRvcDpyLHdpZHRoOnYsaGVpZ2h0OnZ9KX0pLF8uSygiZGl2Iix7ZWw6QSxjbGFzczoieXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVRvdWNoTGlnaHQifSksXy5LKCJkaXYiLHtlbDpGLGNsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodCJ9KSl9LCJhYSIpO3ZhciBMZWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLmo9bmV3IE1hcDt2YXIgW2EsYl09Xy5KKFtdLHZvaWQgMCwiSUtmWkJkIik7dGhpcy52PWI7dGhpcy5vPV8uTigoKT0+e3ZhciBjPWEoKTtmb3IobGV0IGQgb2YgYylkLlB5Py4oKTtyZXR1cm4gYy5tYXAoZD0+ZC5lbGVtZW50KX0sdm9pZCAwLCJaTVJ0d2QiKX1sYSgpe2dLPW51bGw7c3VwZXIubGEoKX19LGdLPW51bGw7Xy55RT1fLkwoYT0+e3ZhciBiPV8udkUoXy5CRSksW2MsZF09Xy5KKHt4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9LHZvaWQgMCwiR3dYY0RkIiksZT0oKT0+e2lmKGEuY29uZmlnKCk/LmprKXt2YXIgaD1iLnZhbHVlO2lmKGgpe3ZhciBrPV8uaEsoKS5vO3ZhciBsPWsoKTtpZihsLmxlbmd0aCl7bGV0IHQ9aC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtrPXQubGVmdCt0LndpZHRoLzI7dmFyIG09dC50b3ArdC5oZWlnaHQvMjtsZXQgdj1JbmZpbml0eTt2YXIgbj0wLHA9MDtsZXQgej05Njtmb3IobGV0IEUgb2YgbCl7aWYoRT09PWh8fCFFLmlzQ29ubmVjdGVkfHxFLm9mZnNldFBhcmVudD09PW51bGwpY29udGludWU7bD1FLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGwud2lkdGg9PT0wJiZsLmhlaWdodD09PTApY29udGludWU7bGV0IEE9TWF0aC5tYXgobC5sZWZ0LE1hdGgubWluKGssbC5yaWdodCkpLEY9TWF0aC5tYXgobC50b3AsTWF0aC5taW4obSxsLmJvdHRvbSkpO3ZhciByPQpBLU1hdGgubWF4KHQubGVmdCxNYXRoLm1pbihBLHQucmlnaHQpKTtsZXQgQz1GLU1hdGgubWF4KHQudG9wLE1hdGgubWluKEYsdC5ib3R0b20pKTtyPXIqcitDKkM7cjx2JiYodj1yLG49QSxwPUYsej1NYXRoLm1heChsLndpZHRoLGwuaGVpZ2h0KSl9aD1NYXRoLnNxcnQodik7ZChoPDEwMD97eDpuLWsseTpwLW0sb3BhY2l0eToxLWgvMzAwLHNpemU6TWF0aC5tYXgoOTYseioyLjUpfTp7eDowLHk6MCxvcGFjaXR5OjAsc2l6ZTowfSl9ZWxzZSBkKHt4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9KX19fTtfLm5FKCgpPT57aWYoYS5jb25maWcoKT8uamspe3ZhciBoPW5ldyBfLld0KGUsMTAwKSxrPSgpPT57aC52KCl9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGspO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsayk7aC5kaXNwb3NlKCl9fX0sInJQWUMxZCIpO18ubkUoKCk9PnthLmNvbmZpZygpPy5qayYmZSgpfSwiUXA2UFJkIik7CnZhciBmPSgpPT5hLmNvbmZpZygpPy5WYSE9PTUmJmEuY29uZmlnKCk/LlZhIT09OSYmYS5jb25maWcoKT8uVmEhPT02O3JldHVybiBfLksoXy5PLHtBOigpPT5hLmNvbmZpZygpPy5WYSE9PTAmJiFfLmdyLHRoZW46KCk9Pl8uSygieXQtbGlnaHQtc2hhcGUiLHtlbDpiLCJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzOl8uUCgiY29udHJpYll0TGlnaHRTaGFwZUhvc3QiLGEuY2xhc3NOYW1lLHtjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHQ6KCk9PiEwLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTEsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09Myxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZEludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Mixjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRUb25hbEludmVyc2U6KCk9PgphLmNvbmZpZygpPy5WYT09PTQsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheVRvbmFsOigpPT5hLmNvbmZpZygpPy5WYT09PTgsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheVNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTcsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZTooKT0+YS5jb25maWcoKT8uVmE9PT01LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOigpPT5hLmNvbmZpZygpPy5WYT09PTksY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Nn0pLHN0eWxlOl8uSUUoeyItLXl0LWxpZ2h0LXJpbS1jb2xvciI6KCk9PmEuY29uZmlnKCk/LmR2LCItLXl0LWxpZ2h0LXdhc2gtb3BhY2l0eSI6KCk9PmMoKS5vcGFjaXR5LCItLXl0LWxpZ2h0LXdhc2gteCI6KCk9PmAke2MoKS54fXB4YCwiLS15dC1saWdodC13YXNoLXkiOigpPT4KYCR7YygpLnl9cHhgLCItLXl0LWxpZ2h0LXdhc2gtc2l6ZSI6KCk9PmAke2MoKS5zaXplfXB4YH0pfSxfLksoXy5PLHtBOigpPT5hLmNvbmZpZygpPy5qayx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJjb250cmliWXRMaWdodFNoYXBlRHluYW1pY1dhc2hMaWdodCJ9KX0pLF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LkNCLHRoZW46KCk9Pl8uSyhNZWEse3N0eWxlOigpPT57dmFyIGg7YTp7aWYoaD1hLmNvbmZpZygpPy5WYSlzd2l0Y2goaCl7Y2FzZSAxOmNhc2UgNDpoPSJkZWZhdWx0IjticmVhayBhO2Nhc2UgMjpjYXNlIDM6Y2FzZSA1Omg9ImludmVyc2UiO2JyZWFrIGF9aD12b2lkIDB9cmV0dXJuIGh9fSl9KSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoImNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHQiLHtjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U2FmYXJpOigpPT5fLk9rfHxfLklsLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZDooKT0+CmEuY29uZmlnKCk/LlZhPT09MSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09Myxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U29saWRJbnZlcnNlOigpPT5hLmNvbmZpZygpPy5WYT09PTIsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFRvbmFsSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT00LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09OCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTd9KSxzdHlsZTpfLklFKHtiYWNrZ3JvdW5kOigpPT5gcmFkaWFsLWdyYWRpZW50KCR7YS5jb25maWcoKT8uZXZ9LCB0cmFuc3BhcmVudClgfSl9KX0pKX0pfSwiZGEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibnZYNFZiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBoRyxkZGEsY2RhLGlHLGpHO18uZkc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oQXJyYXkuaXNBcnJheShhKT9hOkFycmF5LmZyb20oYSkpLm1hcChiKX07Xy5nRz1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEucGEhPT0iZnVuY3Rpb24iP18uZkcoYS5wYSxhLmNoaWxkcmVuKTphLnRiPT09IklOREVYIj9jZGEoYSk6ZGRhKGEpfTtoRz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYSliPy4oKX07CmRkYT1mdW5jdGlvbihhKXt2YXIgYj1hLnRiPT09dm9pZCAwfHxhLnRiPT09IlJFRkVSRU5DRSIsYz1iP249Pm46YS50YixkPVtdLGU9W10sZj1bXSxoPVtdLGs9W10sbD1bXSxtPSEwO18uWXUoKCk9PntoRyhoKX0pO3JldHVybiBfLlhCKCgpPT57dmFyIG49aUcoYSkscD1uLmxlbmd0aDtpZihwPT09MCl7aWYoZC5sZW5ndGg9PT0wJiYhbSlyZXR1cm4gZjtoRyhoKTtkPW47ZT1bXTtmb3Iobj0wO248ZC5sZW5ndGg7bisrKWUucHVzaChjKGRbbl0pKTtmPVtdO2g9W107az1bXTtsPVtdO2EuZmFsbGJhY2smJihoWzBdPWpHKCgpPT57ZlswXT1fLmZDKGEuZmFsbGJhY2soKSl9KSk7bT0hMTtyZXR1cm4gZn12YXIgcj1uZXcgZWRhO2Zvcih2YXIgdD1kLmxlbmd0aC0xO3Q+PTA7dC0tKXIucHVzaChlW3RdLHQpO3Q9QXJyYXkocCk7dmFyIHY9QXJyYXkocCksej1BcnJheShwKSxFPUFycmF5KHApLEE9QXJyYXkoYj8wOnApO2ZvcihsZXQgRj0wO0Y8cDtGKyspe2xldCBDPW5bRl0sRz1jKEMpLApEPXIucG9wKEcpO0QhPW51bGw/KHpbRl09ZltEXSx2W0ZdPWVbRF0sdFtGXT1oW0RdLEVbRl09a1tEXSxifHwoQVtGXT1sW0RdKSxfLnJDKCgpPT57RVtGXShGKTtpZighYilBW0ZdKEMpfSksZGVsZXRlIGhbRF0pOnRbRl09akcoKCk9Pnt2YXIgSD1fLkooRix2b2lkIDAsIlBMVDFzIiksUj1IWzBdO0VbRl09SFsxXTt2W0ZdPUc7aWYoYil6W0ZdPV8uZkMoYS5jaGlsZHJlbihDLFIpKTtlbHNle2xldCBNPV8uSihDLHZvaWQgMCwiYms4UkpkIiksUz1NWzBdO0FbRl09TVsxXTt6W0ZdPV8uZkMoYS5jaGlsZHJlbihTLFIpKX19KX1oRyhoKTtkPW47ZT12O2Y9ejtoPXQ7az1FO2w9QTttPSExO3JldHVybiB6fSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/Im5zVEdIZCIsenA6YS5wYSxXZTohMH0pfTsKY2RhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9W10sZD1bXSxlPVtdLGY9ITE7Xy5ZdSgoKT0+e2hHKGUpfSk7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgaD1pRyhhKTtmJiZoLmxlbmd0aD4wJiYoZS5wb3AoKSgpLGIucG9wKCksZj0hMSk7dmFyIGs9QXJyYXkoaC5sZW5ndGgpO2ZvcihsZXQgbT0wO208aC5sZW5ndGg7bSsrKXtpZihtPGIubGVuZ3RoKXtiW21dIT09aFttXSYmKF8uckMoKCk9PnZvaWQgY1ttXShoW21dKSksYlttXT1oW21dKTtrW21dPWRbbV07Y29udGludWV9dmFyIGw9akcoKCk9PntiW21dPWhbbV07dmFyIG49Xy5KKGhbbV0sdm9pZCAwLCJ1aUMwY2IiKSxwPW5bMF07Y1ttXT1uWzFdO2tbbV09Xy5mQyhhLmNoaWxkcmVuKHAsbSkpfSk7ZVttXT1sfWZvcig7Yi5sZW5ndGg+aC5sZW5ndGg7KWIucG9wKCksZS5wb3AoKSgpLGMucG9wKCk7aC5sZW5ndGg9PT0wJiYhZiYmYS5mYWxsYmFjayYmKGw9akcoKCk9PntrWzBdPV8uZkMoYS5mYWxsYmFjaygpKX0pLGVbMF09bCxmPQohMCk7cmV0dXJuIGQ9a30se2RlYnVnTmFtZTphLmRlYnVnSW5zdGFuY2U/PyJuc1RHSGQiLFdlOiEwfSl9O2lHPWZ1bmN0aW9uKGEpe2E9YS5wYSgpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6QXJyYXkuZnJvbShhKX07akc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DQSgpO3JldHVybiBfLnV2KGM9Pnt2YXIgZD1fLmt1KF8uenYpO3RyeXtjLnBhcmVudD1iLGEoYyl9ZmluYWxseXtfLmt1KGQpfX0sITEpfTt2YXIgZWRhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9bmV3IE1hcH1wdXNoKGEsYil7dmFyIGM9dGhpcy5tYXA7aWYoYy5oYXMoYSkpe3RoaXMuanx8KHRoaXMuaj1uZXcgTWFwKTtpZih0aGlzLmo/LmhhcyhiKSl0aHJvdyBfLlV1KEVycm9yKCJaY2AiK2IpLDQpO3RoaXMuai5zZXQoYixjLmdldChhKSl9Yy5zZXQoYSxiKX1wb3AoYSl7dmFyIGI9dGhpcy5tYXAsYz1iLmdldChhKTtjIT09dm9pZCAwJiZ0aGlzLmo/LmhhcyhjKT8oYi5zZXQoYSx0aGlzLmouZ2V0KGMpKSx0aGlzLmouZGVsZXRlKGMpKTpiLmRlbGV0ZShhKTtyZXR1cm4gY319Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga2NhLGxjYSxGRSxHRTtfLkNFPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtfLkRFPWZ1bmN0aW9uKGEpe3JldHVybntpc0RlZmF1bHQ6ITAsY2hpbGRyZW46YS5jaGlsZHJlbn19O18uRUU9ZnVuY3Rpb24oYSl7cmV0dXJuIGtjYShhKX07CmtjYT1mdW5jdGlvbihhKXt2YXIgYj1sY2EoYSksYz1fLk4oKCk9PnthOnt2YXIgZD0tMTtmb3IobGV0IGU9MDtlPGIubGVuZ3RoO2UrKyl7bGV0IGY9YltlXTtmPy5bXy5Mdl0mJihmPUZFKGYpKTtmIGluc3RhbmNlb2YgXy5kQyYmKGY9R0UoZikpO2lmKGYuaXNEZWZhdWx0KWQ9PT0tMSYmKGQ9ZSk7ZWxzZSBpZihfLkJ2KGYud2hlbikpe2Q9ZTticmVhayBhfX19cmV0dXJuIGR9LHZvaWQgMCwiTVNUeFdiIik7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgZD1jKCksZTtfLnV2KCgpPT57dmFyIGY9Xy5rdShfLnp2KTt0cnl7aWYoZD09PS0xKWU9bnVsbDtlbHNle3ZhciBoPWJbZF07dmFyIGs9aD8uW18uTHZdP0ZFKGgpOmggaW5zdGFuY2VvZiBfLmRDP0dFKGgpOmg7dmFyIGw9az09PW51bGw/bnVsbDprLmlzRGVmYXVsdD9rLmNoaWxkcmVuKCk6dHlwZW9mIGsud2hlbj09PSJmdW5jdGlvbiI/ay5jaGlsZHJlbihfLk5DKGsud2hlbiwiQ2FzZSIpKTprLmNoaWxkcmVuKGsud2hlbik7ZT1fLmZDKGwpfX1maW5hbGx5e18ua3UoZil9fSk7CnJldHVybiBlfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/InZJMXJ0ZiIsV2U6ITB9KX07bGNhPWZ1bmN0aW9uKGEpe2E9YS5jaGlsZHJlbjtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9hOlthXX07RkU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHlwZT09PV8uREU/e2lzRGVmYXVsdDohMCxjaGlsZHJlbjphLmNoaWxkcmVuWzBdfTp7d2hlbjphLnByb3BzLndoZW4sY2hpbGRyZW46YS5jaGlsZHJlblswXX19O0dFPWZ1bmN0aW9uKGEpe3ZhciBiPWEucHJvcHM7YT1hLmNoaWxkcmVuWzBdO3JldHVybiBiLndoZW4/e3doZW46Yi53aGVuLGNoaWxkcmVuOmF9Ontpc0RlZmF1bHQ6ITAsY2hpbGRyZW46YX19O18uQ0UuZGVidWdOYW1lPSJ0YmhNY2YiO18uREUuZGVidWdOYW1lPSJ6eU1GemIiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRGNhO0RjYT1mdW5jdGlvbihhKXtzd2l0Y2goYS5acSl7Y2FzZSBfLlF2Ol8uVXYuc2NoZWR1bGUoYSk7YnJlYWs7ZGVmYXVsdDpfLmViKGEuWnEsdm9pZCAwKX19O18ub0Y9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8uV3UpUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoInliIiksMik7fSk7ZWxzZXtpZigoMCxfLmx2KShfLmp1KSl0aHJvdyBfLlV1KEVycm9yKCJ6YiIpLDQpO3ZhciBiPV8uWnQsYz1fLk11O0RjYSh7WnE6Xy5RdixydW46KCk9PntpZihiJiYhYi5pYSl7dmFyIGQ9Xy4kdChiKTt0cnl7Xy5SdSgoKT0+e3ZhciBlPWEoKTt0eXBlb2YgZT09PSJmdW5jdGlvbiImJl8uWXUoZSl9LGMpfWNhdGNoKGUpe18uVXUoZSw0KSxfLm92KGUpfWZpbmFsbHl7Xy4kdChkKX19fX0pfX07Xy5LQj1fLmxDO18ucUY9U3ltYm9sKCJYYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgV0osVko7Xy5USj1mdW5jdGlvbihhLGIpe3ZhciBjPV8ucEUoIm9uQ2hhbmdlIiksZD1fLm9FKCk7Xy5xRShjLm1sLGIpJiYoYy5tbD1iLGMuc3I9YSxkLnVmfHwoZC51Zj1bXSksZC51Zi5wdXNoKGMpKX07Xy5VSj1mdW5jdGlvbihhKXtfLkhBKCk/Xy5vRigoKT0+Xy5FQShhKSk6Xy5USigoKT0+Xy5FQShhKSxbXSl9O1dKPWZ1bmN0aW9uKGEpe3ZhciBiPVsuLi5hXTthLmxlbmd0aD0wO2ZvcihsZXQgYyBvZiBiKWlmKFZKKGMpLGE9Yy5zcixjLnNyPW51bGwsYT1hPy4oKSljLnJyPWF9O1ZKPWZ1bmN0aW9uKGEpe3ZhciBiPWEucnI7YS5ycj1udWxsO2I/LigpfTtfLmR3KHtTbyhhKXt2YXIgYj1fLiR0KGEucWwpO3RyeXthLnVmPy5sZW5ndGgmJldKKGEudWYpfWZpbmFsbHl7Xy4kdChiKX19LEdmKGEpe3ZhciBiPV8uJHQoYS5xbCk7dHJ5e2EudWY/Lmxlbmd0aCYmV0ooYS51Zil9ZmluYWxseXtfLiR0KGIpfX0sSGYoYSl7YS5aZj8ubGVuZ3RoJiZhLlpmLmZvckVhY2goVkopfX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFEPW51bGw7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBoZGEsaWRhLGtkYSxtZGEscUcsbmRhLHNHLHJHLHVHLHdHLHZHLHhHLHRHLG9kYSxwZGEsc2RhLEJHLHRkYSxBRyxyZGEscWRhLGpkYSxsZGE7aGRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5hRCxkPTA7Xy5hRD17c3U6KCk9PntkKys7Xy5yQygoKT0+e2EoITEpfSl9LEhyOigpPT57LS1kPT09MCYmXy5yQygoKT0+e2EoITApfSl9fTt0cnl7cmV0dXJuIGIoKX1maW5hbGx5e18uYUQ9Y319O2lkYT1mdW5jdGlvbihhKXt2YXIgW2IsY109Xy5KKCEwLHZvaWQgMCwiYkt0TzZkIik7cmV0dXJuIGhkYShjLCgpPT57dmFyIGQ9Xy5mQyhhLmNoaWxkcmVuKCkpO3JldHVybiBfLksoXy5PLHtBOmIsdGhlbjooKT0+ZCxXOmEuZmFsbGJhY2t9KX0pfTsKXy5uRz1mdW5jdGlvbih7Y2hpbGRyZW46YSxFZjpiLGNhbGxiYWNrczpjfSl7dmFyIGQ9bmV3IE1hcDtiPWI/P1tdO2ZvcihsZXQgZSBvZiBiKWQuc2V0KGUuaWQuQ2IudG9rZW4sZSk7Yz1jPz9bXTtmb3IobGV0IGUgb2YgYylkLnNldChlLmlkLkNiLnRva2VuLGUpO2Q9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGpkYSkse2RlYnVnTmFtZToiW2NvbnRleHRPd25lcl0iLGVudHJpZXM6ZH0pO18uQnUoZCk7ZD1fLiR0KGQpO3RyeXtsZXQgZT1fLmZDKGEpO3JldHVybiBfLksoXy5JQixudWxsLGUpfWZpbmFsbHl7Xy4kdChkKX19O18ub0c9ZnVuY3Rpb24oYSxiKXtyZXR1cm57W18uZ2RhXTohMCxpZDphLHZhbHVlOmJ9fTtrZGE9ZnVuY3Rpb24oe1NnOmF9KXtyZXR1cm4gXy5LKF8uSUIsbnVsbCxhKCkpfTtfLnBHPWZ1bmN0aW9uKGEsYil7YT17Li4uYSxwYXJlbnQ6Xy5tRygpfTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKF8ubEcsYSldfSxfLksoa2RhLHtTZzpifSkpfTsKbWRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBsZGEoYSxiKX07cUc9ZnVuY3Rpb24oYSxiKXt0aGlzLm89e307dGhpcy5qPVtdO3RoaXMuQWU9dGhpcy5zaXplPTA7dmFyIGM9YXJndW1lbnRzLmxlbmd0aDtpZihjPjEpe2lmKGMlMil0aHJvdyBFcnJvcigiYmQiKTtmb3IodmFyIGQ9MDtkPGM7ZCs9Mil0aGlzLnNldChhcmd1bWVudHNbZF0sYXJndW1lbnRzW2QrMV0pfWVsc2UgaWYoYSlpZihhIGluc3RhbmNlb2YgcUcpZm9yKGM9YS5yZCgpLGQ9MDtkPGMubGVuZ3RoO2QrKyl0aGlzLnNldChjW2RdLGEuZ2V0KGNbZF0pKTtlbHNlIGZvcihkIGluIGEpdGhpcy5zZXQoZCxhW2RdKX07bmRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1ifTsKc0c9ZnVuY3Rpb24oYSl7aWYoYS5zaXplIT1hLmoubGVuZ3RoKXtmb3IodmFyIGI9MCxjPTA7YjxhLmoubGVuZ3RoOyl7dmFyIGQ9YS5qW2JdO3JHKGEubyxkKSYmKGEualtjKytdPWQpO2IrK31hLmoubGVuZ3RoPWN9aWYoYS5zaXplIT1hLmoubGVuZ3RoKXtiPXt9O2ZvcihkPWM9MDtjPGEuai5sZW5ndGg7KXtsZXQgZT1hLmpbY107ckcoYixlKXx8KGEualtkKytdPWUsYltlXT0xKTtjKyt9YS5qLmxlbmd0aD1kfX07ckc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYil9O3VHPWZ1bmN0aW9uKCl7dGhpcy5vPW5ldyBxRzt0aGlzLmo9bmV3IHRHKCIiKTt0aGlzLmoubmV4dD10aGlzLmouVWE9dGhpcy5qfTt3Rz1mdW5jdGlvbihhLGIpe2lmKGI9YS5vLmdldChiKSliLnJlbW92ZSgpLHZHKGEsYik7cmV0dXJuIGJ9Owp2Rz1mdW5jdGlvbihhLGIpe2IubmV4dD1hLmoubmV4dDtiLlVhPWEuajthLmoubmV4dD1iO2ZvcihiLm5leHQuVWE9YjthLm8uc2l6ZT4xMDA7KWEucmVtb3ZlTm9kZShhLmouVWEpfTt4Rz1mdW5jdGlvbihhLGIpe2EuaiE9YiYmYS5yZW1vdmVOb2RlKGIpO3JldHVybiBiLnZhbHVlfTt0Rz1mdW5jdGlvbihhLGIpe3RoaXMua2V5PWE7dGhpcy52YWx1ZT1ifTtvZGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9eUc7aWYoYT09bnVsbHx8IWMuRWcpcmV0dXJuIGI7ZS5qLmdldChhKT09PXZvaWQgMCYmZS5qLnNldChhLFtiLGQ/P1tdLCExXSk7Yz1lLmouZ2V0KGEpO2lmKCFjKXJldHVybiBiO3ZhciBbZixoLGtdPWM7aWYoaD8ubGVuZ3RoJiZkPy5sZW5ndGgmJmQuc29tZSgobCxtKT0+bCE9PWhbbV0pKXJldHVybiBlLmoucmVtb3ZlKGEpLGI7ZD8ubGVuZ3RoJiZlLmouc2V0KGEsW2YsZCxrXSk7cmV0dXJuIGs/ZjpifTsKXy56Rz1mdW5jdGlvbihhLGI9e0VnOiEwfSl7cmV0dXJue01nOmZ1bmN0aW9uKGMsZCl7dmFyIGU9Xy5OKCgpPT5hKGMoKSksdm9pZCAwLCJHbXJibGIiKSxbZixoXT1fLkFDKCgpPT57dmFyIGs9YygpLGw9ZSgpLG09ZD8ubWFwKG49Pm4oKSk/P1tdO3JldHVybiBvZGEobCxrLGIsbSl9KTtfLm5FKCgpPT57dmFyIGs9ZSgpO2shPW51bGwmJihrPXlHLnJlZ2lzdGVyKGssW2YsaF0sKCk9PmQ/Lm1hcChsPT5sKCkpPz9bXSksXy5ZdShrKSl9LCJVbWFjNmMiKTtyZXR1cm5bZixmdW5jdGlvbihrKXtoKGspO3ZhciBsPWUoKTtsIT1udWxsJiZ5Ry51cGRhdGUobCwoKT0+ayxiKX1dfSxnZXREYXRhOmZ1bmN0aW9uKGMpe2M9YShjKTtyZXR1cm4geUcuZ2V0KGMsYil9LGdrOmZ1bmN0aW9uKGMsZCl7Yz1hKGMpO3JldHVybiB5Ry51cGRhdGUoYyxkLGIpfX19OwpfLlc9ZnVuY3Rpb24oYSl7dmFyIHtkYXRhOmIsbWFwcGluZzpjLHdyYXBwZXI6ZCxySzplfT1wZGEoYSk7cWRhKGIsYyk7dmFyIGY9KCk9PkFHKF8uQnYoYikpLGg9KCk9Pnt2YXIgaz1BRyhfLkJ2KGIpKSxsPVtdO2ZvcihsZXQgbSBvZiBrKShrPUJHKG0pKSYmbC5wdXNoKGspO3JldHVybiBsfTtyZXR1cm4gYS5kYXRhP18uSyhpZGEse2ZhbGxiYWNrOmV9LCgpPT5fLksoXy5nRyx7cGE6aH0sKGssbCk9Pnt2YXIgbT1kP3A9PmQoKCk9PmNba10ocCxsKSxuLGwpOnA9PmNba10ocCxsKTttLmRlYnVnTmFtZXx8KG0uZGVidWdOYW1lPVN0cmluZyhrKSk7aWYoIWNbU3RyaW5nKGspXSlyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiIik7bS5jb21wb25lbnRUeXBlIT09Xy5LdiYmcmRhKFN0cmluZyhrKSk7dmFyIG49c2RhKGYsayxsKTtyZXR1cm4gXy5LKG0se2RhdGE6bn0pfSkpOl8uSyhfLklCLG51bGwpfTsKcGRhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0SWR8fHRkYShhLmNoaWxkcmVuKTtpZighYS5kYXRhfHwhYilyZXR1cm57Li4uYSxtYXBwaW5nOmEuY2hpbGRyZW59O3ZhciBjPWBzdGFtcGVyLSR7dWRhKyt9YCxkPSgpPT4odHlwZW9mIGEudGFyZ2V0SWQ9PT0iZnVuY3Rpb24iP2EudGFyZ2V0SWQoYyk6YS50YXJnZXRJZCk/P2M7W2JdPXZkYSgoKT0+e3ZhciBmPVsuLi5BRyhhLmRhdGEoKSldO2YudGFyZ2V0SWQ9ZDtyZXR1cm4gZn0pO3ZhciBlPXsuLi4oXy55KCkucmVzb2x2ZShfLkluKHdkYSkpfHx7fSkuQUssLi4uYS5jaGlsZHJlbn07aWYoYS5Kcil7bGV0IGY9ZS5ub3RpZmljYXRpb25UZXh0UmVuZGVyZXIsaD1lLm5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXI7ZiYmKGUubm90aWZpY2F0aW9uVGV4dFJlbmRlcmVyPSh7ZGF0YTprfSxsKT0+YS5KcihmKHtkYXRhOmt9LGwpKSk7aCYmKGUubm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlcj0oe2RhdGE6a30sCmwpPT5hLkpyKGgoe2RhdGE6a30sbCkpKX1yZXR1cm57Li4uYSxkYXRhOmIsbWFwcGluZzplLHdyYXBwZXI6KGYsaCxrKT0+Xy5wRyh7dGFyZ2V0SWQ6ZCxZSzprfSxhLndyYXBwZXI/KCk9PmEud3JhcHBlcihmLGgsayk6Zil9fTtzZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBfLk4oKCk9Pnt2YXIgZT1hKClbYygpXTtpZihlKWQ9ZVtiXTtlbHNlIHJldHVybiBfLklwKG5ldyBfLlhqKGBTdGFtcGVyIGZhaWxlZCB0byBmaW5kICR7U3RyaW5nKGIpfSBhdCBpbmRleCAke2MoKX0gb2YgZGF0YSBhcnJheSBvZiBsZW5ndGggJHthKCkubGVuZ3RofSAoYi8zNjU2NDMzNTkpLiBEaWQgeW91IGFjY2VzcyBhIHNpZ25hbCBhZnRlciBhIGNvbXBvbmVudCBoYXMgYmVlbiBjbGVhbmVkIHVwP2ApKSxkO3JldHVybiBlW2JdfSx2b2lkIDAsInNFcnRqZCIpfTsKQkc9ZnVuY3Rpb24oYSl7dmFyIGI9dm9pZCAwO2ZvcihsZXQgYyBpbiBhKWlmKCEoIWEpLmhhc093blByb3BlcnR5KGMpKXtiPWM7YnJlYWt9cmV0dXJuIGJ9O3RkYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMoYSkpaWYoeGRhLmluY2x1ZGVzKGIpfHx5ZGEuaW5jbHVkZXMoYil8fHpkYS5pbmNsdWRlcyhiKSlyZXR1cm4hMDtyZXR1cm4hMX07QUc9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/QXJyYXkuaXNBcnJheShhKSYmYSBpbnN0YW5jZW9mIEFycmF5P2E6W2FdOltdfTtyZGE9ZnVuY3Rpb24oYSl7Xy54KCJ3ZWJfZW5hYmxlX3JlbmRlcmVyX2xvZ2dlciIpJiZfLnkoKS5yZXNvbHZlKF8uSW4oXy5DRykpPy53eShhKX07CnFkYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLnJlc29sdmUoXy5JbihBZGEpKTtjJiZfLm5FKCgpPT57dmFyIGQ9QUcoXy5CdihhKSksZT0wLGY9ITE7Zm9yKHZhciBoIG9mIGQpe2Q9QkcoaCk7aWYoIWR8fCFiW1N0cmluZyhkKV0pe2Y9ITA7YnJlYWt9ZSsrfWg9Yy5WSztkPWMuV0s7ZT4wJiYhZj9oLm8oZCgpKTpoLmooZCgpKX0sIkRoT1V4ZSIpfTtqZGE9e1JoKGEpe2lmKF8uZnUgaW4gYXx8Xy5mZGEgaW4gYSl7bGV0IGI9dGhpcy5lbnRyaWVzLmdldChhLkNiLnRva2VuKTtpZihiIT09dm9pZCAwKXJldHVybiBiLnZhbHVlfXJldHVybiB0aGlzLnBhcmVudD9fLmN1KHRoaXMucGFyZW50LGEpOl8uYXV9fTsKbGRhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWFbXy51LlN5bWJvbC5pdGVyYXRvcl0oKTt0aGlzLm89Yn1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfW5leHQoKXt2YXIgYT10aGlzLmoubmV4dCgpO3JldHVybnt2YWx1ZTphLmRvbmU/dm9pZCAwOnRoaXMuby5jYWxsKHZvaWQgMCxhLnZhbHVlKSxkb25lOmEuZG9uZX19fTtfLmc9cUcucHJvdG90eXBlO18uZy5NYz1mdW5jdGlvbigpe3NHKHRoaXMpO3ZhciBhPVtdO2ZvcihsZXQgYj0wO2I8dGhpcy5qLmxlbmd0aDtiKyspYS5wdXNoKHRoaXMub1t0aGlzLmpbYl1dKTtyZXR1cm4gYX07Xy5nLnJkPWZ1bmN0aW9uKCl7c0codGhpcyk7cmV0dXJuIHRoaXMuai5jb25jYXQoKX07Xy5nLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gckcodGhpcy5vLGEpfTtfLmcuZXF1YWxzPWZ1bmN0aW9uKGEsYil7aWYodGhpcz09PWEpcmV0dXJuITA7aWYodGhpcy5zaXplIT1hLnNpemUpcmV0dXJuITE7Yj1ifHxuZGE7c0codGhpcyk7dmFyIGM7Zm9yKGxldCBkPTA7Yz10aGlzLmpbZF07ZCsrKWlmKCFiKHRoaXMuZ2V0KGMpLGEuZ2V0KGMpKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplPT0wfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLm89e307dGhpcy5BZT10aGlzLnNpemU9dGhpcy5qLmxlbmd0aD0wfTsKXy5nLnJlbW92ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5kZWxldGUoYSl9O18uZy5kZWxldGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHJHKHRoaXMubyxhKT8oZGVsZXRlIHRoaXMub1thXSwtLXRoaXMuc2l6ZSx0aGlzLkFlKyssdGhpcy5qLmxlbmd0aD4yKnRoaXMuc2l6ZSYmc0codGhpcyksITApOiExfTtfLmcuZ2V0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHJHKHRoaXMubyxhKT90aGlzLm9bYV06Yn07Xy5nLnNldD1mdW5jdGlvbihhLGIpe3JHKHRoaXMubyxhKXx8KHRoaXMuc2l6ZSs9MSx0aGlzLmoucHVzaChhKSx0aGlzLkFlKyspO3RoaXMub1thXT1ifTtfLmcuZm9yRWFjaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMucmQoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyl7bGV0IGU9Y1tkXSxmPXRoaXMuZ2V0KGUpO2EuY2FsbChiLGYsZSx0aGlzKX19O18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgcUcodGhpcyl9O18uZy5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uc2godGhpcy5iZCghMCkpLmooKX07Cl8uZy52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zaCh0aGlzLmJkKCExKSkuaigpfTtfLmcuZW50cmllcz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7cmV0dXJuIG1kYSh0aGlzLmtleXMoKSxmdW5jdGlvbihiKXtyZXR1cm5bYixhLmdldChiKV19KX07Xy5nLmJkPWZ1bmN0aW9uKGEpe3NHKHRoaXMpO3ZhciBiPTAsYz10aGlzLkFlLGQ9dGhpcyxlPW5ldyBfLm9oO2UubmV4dD1mdW5jdGlvbigpe2lmKGMhPWQuQWUpdGhyb3cgRXJyb3IoImNkIik7aWYoYj49ZC5qLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZj1kLmpbYisrXTtyZXR1cm57dmFsdWU6YT9mOmQub1tmXSxkb25lOiExfX07cmV0dXJuIGV9O18uZz11Ry5wcm90b3R5cGU7Xy5nLmdldD1mdW5jdGlvbihhLGIpe3JldHVybihhPXdHKHRoaXMsYSkpP2EudmFsdWU6Yn07Xy5nLnNldD1mdW5jdGlvbihhLGIpe3ZhciBjPXdHKHRoaXMsYSk7Yz9jLnZhbHVlPWI6KGM9bmV3IHRHKGEsYiksdGhpcy5vLnNldChhLGMpLHZHKHRoaXMsYykpfTtfLmcudWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qLm5leHQudmFsdWV9O18uZy5zaGlmdD1mdW5jdGlvbigpe3JldHVybiB4Ryh0aGlzLHRoaXMuai5uZXh0KX07Xy5nLnBvcD1mdW5jdGlvbigpe3JldHVybiB4Ryh0aGlzLHRoaXMuai5VYSl9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9dGhpcy5vLmdldChhKSk/KHRoaXMucmVtb3ZlTm9kZShhKSwhMCk6ITF9O18uZy5yZW1vdmVOb2RlPWZ1bmN0aW9uKGEpe2EucmVtb3ZlKCk7dGhpcy5vLnJlbW92ZShhLmtleSl9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5pc0VtcHR5KCl9OwpfLmcucmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYn0pfTtfLmcuTWM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGF9KX07Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIGI9PWF9KX07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLm8uc2l6ZT4wOyl0aGlzLnJlbW92ZU5vZGUodGhpcy5qLlVhKX07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcyl9O18uZy5tYXA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9dGhpcy5qLm5leHQ7ZCE9dGhpcy5qO2Q9ZC5uZXh0KWMucHVzaChhLmNhbGwoYixkLnZhbHVlLGQua2V5LHRoaXMpKTtyZXR1cm4gY307Cl8uZy5zb21lPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPXRoaXMuai5uZXh0O2MhPXRoaXMuajtjPWMubmV4dClpZihhLmNhbGwoYixjLnZhbHVlLGMua2V5LHRoaXMpKXJldHVybiEwO3JldHVybiExfTtfLmcuZXZlcnk9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWlmKCFhLmNhbGwoYixjLnZhbHVlLGMua2V5LHRoaXMpKXJldHVybiExO3JldHVybiEwfTt0Ry5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dGhpcy5VYS5uZXh0PXRoaXMubmV4dDt0aGlzLm5leHQuVWE9dGhpcy5VYTtkZWxldGUgdGhpcy5VYTtkZWxldGUgdGhpcy5uZXh0fTt2YXIgeUc9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPW5ldyBNYXA7dGhpcy52PW5ldyBNYXA7dGhpcy5qPW5ldyB1R31nZXQoYSxiKXt2YXIgYz10aGlzLm8uZ2V0KGEpO2lmKGMpcmV0dXJuIGNbMF0oKTtpZihiLkVnJiZhIT1udWxsKXJldHVybiB0aGlzLmouZ2V0KGEpPy5bMF19dXBkYXRlKGEsYixjKXt2YXIgZD10aGlzLm8uZ2V0KGEpO2lmKGQpe2xldCBbZSxmXT1kO2I9YihlKCkpO2YoYik7Yy5FZyYmYSE9bnVsbCYmKGM9dGhpcy52LmdldChhKSx0aGlzLmouc2V0KGEsW2IsYz8uKCk/P1tdLCEwXSkpO3JldHVybiEwfWlmKGMuRWcmJmEhPW51bGwmJihjPXRoaXMuai5nZXQoYSkpKXtsZXQgW2UsZl09YztiPWIoZSk7dGhpcy5qLnNldChhLFtiLGYsITBdKTtyZXR1cm4hMH1yZXR1cm4hMX1yZWdpc3RlcihhLGIsYyl7aWYoYT09bnVsbClyZXR1cm4oKT0+e307dGhpcy5vLnNldChhLGIpO2MmJnRoaXMudi5zZXQoYSxjKTtyZXR1cm4oKT0+e3RoaXMuby5nZXQoYSk9PT0KYiYmKHRoaXMuby5kZWxldGUoYSksdGhpcy52LmRlbGV0ZShhKSl9fX07Xy5DRz1uZXcgXy5WcygiUkVOREVSRVJfTE9HR0VSX1RPS0VOIik7dmFyIHdkYT1uZXcgXy5WcygiUkVOREVSRVJfU1RBTVBFUl9PUFRJT05TX1RPS0VOIik7dmFyIEFkYT1uZXcgXy5WcygiUkVOREVSRVJfU1RBTVBFUl9TVUNDRVNTX1NMSV9UT0tFTiIpO3ZhciB4ZGE9ImNvbXBhY3RSYWRpb1JlbmRlcmVyIGNvbXBhY3RQbGF5bGlzdFJlbmRlcmVyIHBsYXlsaXN0VmlkZW9SZW5kZXJlciBjb21wYWN0VmlkZW9SZW5kZXJlciBmZWVkTnVkZ2VSZW5kZXJlciBncmlkVmlkZW9SZW5kZXJlciBwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHJhZGlvUmVuZGVyZXIgcHJpbWV0aW1lUHJvbW9SZW5kZXJlciByZWVsSXRlbVJlbmRlcmVyIHJlZWxTaGVsZlJlbmRlcmVyIHJpY2hTaGVsZlJlbmRlcmVyIHNlYXJjaEhpc3RvcnlRdWVyeVJlbmRlcmVyIHNoZWxmUmVuZGVyZXIgdmlkZW9XaXRoQ29udGV4dFJlbmRlcmVyIHZpZGVvQ2FyZFJlbmRlcmVyIHN0YXRlbWVudEJhbm5lclJlbmRlcmVyIG1pbmlHYW1lQ2FyZFZpZXdNb2RlbCBzaG9ydHNMb2NrdXBWaWV3TW9kZWwgbG9ja3VwVmlld01vZGVsIGdyaWRTaGVsZlZpZXdNb2RlbCIuc3BsaXQoIiAiKSx6ZGE9WyJub3RpZmljYXRpb25UZXh0UmVuZGVyZXIiLCJub3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyIl0sCnlkYT0icHJpbWV0aW1lUHJvbW9SZW5kZXJlciBzdGF0ZW1lbnRCYW5uZXJSZW5kZXJlciBicmFuZFZpZGVvU2hlbGZSZW5kZXJlciBicmFuZFZpZGVvU2luZ2xldG9uUmVuZGVyZXIgZmVlZE51ZGdlUmVuZGVyZXIgcGxheWxpc3RWaWRlb1JlbmRlcmVyIi5zcGxpdCgiICIpLHtNZzp2ZGF9PV8uekcoYT0+Xy5CdihhPy50YXJnZXRJZCkpO3ZhciB1ZGE9MDtfLlcuZGVidWdOYW1lPSJFakpiQ2UiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgVmJhO1ZiYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhLGIsdm9pZCAwKX07Xy5ORD1mdW5jdGlvbihhKXthPVsoYSYxNjcxMTY4MCk+Pj4xNiwoYSY2NTI4MCk+Pj44LGEmMjU1LChhJjQyNzgxOTAwODApPj4+MjRdO2lmKCFWYmEoYSxiPT5iPT09KGImMjU1KSkpdGhyb3cgRXJyb3IoIlJjYCIrYS5qb2luKCIsIikpO3JldHVybmByZ2JhKCR7YVswXX0sJHthWzFdfSwke2FbMl19LCR7KGFbM10vMjU1KS50b0ZpeGVkKDMpfSlgfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rQT1mdW5jdGlvbih7dHlwZTphLHBheWxvYWQ6Yn0pe2E9e3R5cGU6YX07YiE9PXZvaWQgMCYmKGEucGF5bG9hZD1iKTtyZXR1cm4gYX07LyoKCiBDb3B5cmlnaHQgMjAxNS1wcmVzZW50IERhbiBBYnJhbW92CiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCiovCl8ubEE9KCk9Pk1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KS5zcGxpdCgiIikuam9pbigiLiIpO18ubUE9YEBAcmVkdXgvSU5JVCR7Xy5sQSgpfWA7Xy5SYWE9YEBAcmVkdXgvUkVQTEFDRSR7Xy5sQSgpfWA7Xy5uQT10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9BPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5rQSh7dHlwZToiUkVQTEFDRV9FTlRJVFkiLHBheWxvYWQ6e3hsOmMsZW50aXR5VHlwZTphLGtleTpifX0pfTtfLnBBPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5rQSh7dHlwZToiVVBEQVRFX0VOVElUWSIscGF5bG9hZDp7eGw6YyxlbnRpdHlUeXBlOmEsa2V5OmIsSXk6dm9pZCAwfX0pfTtfLnFBPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYVtiXT9hW2JdW2NdfHxudWxsOm51bGx9OygoKT0+e3ZhciBhPWQ9Pm5ldyBVaW50OEFycmF5KGQpLGI9ZD0+e3ZhciBlPW5ldyBVaW50OEFycmF5KGQubGVuZ3RoKTtmb3IobGV0IGY9MDtmPGQubGVuZ3RoO2YrKyllW2ZdPWRbZl07cmV0dXJuIGV9LGM9bmV3IFVpbnQ4QXJyYXkoWzFdKTtyZXR1cm4gYy5sZW5ndGg9PT0xJiZjWzBdPT09MT9hOmJ9KSgpO18uckE9QXJyYXkoMTAyNCk7Xy5zQT10eXBlb2YgVGV4dERlY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dERlY29kZXI6dm9pZCAwO18udEE9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDtfLnVBPXthbmltYXRpb25FbnRpdHk6MzAyLGFjY291bnRMaW5rU3RhdHVzRW50aXR5OjEyMixhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5OjYzMCxib29sZWFuRW50aXR5OjMwNyxhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5OjYzNyxidXR0b25FbnRpdHk6MzU4LGNhcHRpb25UcmFjazoyMjUsY2hhbm5lbEhhbmRsZToyNzUsY2hpcEVudGl0eTo0OTgsY29tbWVyY2VBY3F1aXNpdGlvbkNsaWVudFBheWxvYWRFbnRpdHk6Mjc2LGNvbW1lcmNlQ2FydExpc3RFbnRpdHk6MjM2LGNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5OjUzMixjb21wb3NpdGVTb3VyY2VFbnRpdHk6NTk0LGNvbnRleHROb3RlRmVlZEVudGl0eVBheWxvYWQ6NDgzLGNvbnRleHROb3RlVXNlclJhdGluZ0VudGl0eVBheWxvYWQ6NTc2LGNvbnRpbnVhdGlvblRva2VuRW50aXR5OjQwNixkb3dubG9hZFF1YWxpdHlQaWNrZXJFbnRpdHk6MjAyLGRvd25sb2Fkc1BhZ2VSZWZyZXNoVG9rZW5FbnRpdHk6Mjk5LApkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHk6MjY0LGRvd25sb2FkU3RhdHVzRW50aXR5OjE0MSxkaXNtaXNzU3RhdGU6NTQwLHNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHk6MTg2LGVtb2ppRm91bnRhaW5EYXRhRW50aXR5OjM5MyxlbW9qaUN1c3RvbWl6YXRpb25TZXRFbnRpdHk6NDk2LGZha2VDaGFubmVsOjIsZmFrZVBsYXlsaXN0OjI3OSxmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246MjgwLGZha2VWaWRlbzoxODIsZmFrZVZpZGVvRGVzY3JpcHRpb246Mjc4LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6MzkyLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTo1OTgsZmxvd1N0YXRlRW50aXR5OjI1MixpY29uQmFkZ2VFbnRpdHk6MjI5LGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6NDQzLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6NTY3LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OjIxNyxsaXZlVmlld2VyTGVhZGVyYm9hcmRDaGF0RW50cnlQb2ludFN0YXRlRW50aXR5OjU2MywKbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OjU2NCxsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTo1MDMsbG9nb0VudGl0eToyNDUsbWFjcm9NYXJrZXJFbnRpdHk6MzI5LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OjE1OCxtYWluRG93bmxvYWRzTGlzdEVudGl0eToxNjQsbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTozNzMsbWFpblBsYXlsaXN0RW50aXR5OjMwNixtYWluUGxheWxpc3RWaWRlb0VudGl0eTozNjgsbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eToyNjIsbWFpblZpZGVvRW50aXR5OjI2MSxtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eToxOTYsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTozMTIsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6MTgsbXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5OjI1OSxtdXNpY0FsYnVtUmVsZWFzZToxNyxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6MTksbXVzaWNBcnRpc3REZXRhaWw6MjEsCm11c2ljQXJ0aXN0OjIwLG11c2ljQXJ0aXN0VXNlckRldGFpbDoyMixtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6MjU3LG11c2ljTGlicmFyeUVkaXQ6MTIxLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTozMTgsbXVzaWNQbGF5bGlzdDoyNCxtdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eToyNDgsbXVzaWNTaGFyZToxMDAsbXVzaWNUcmFja0RldGFpbDoyOSxtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eToyMzQsbXVzaWNUcmFjazoyOCxtdXNpY1RyYWNrVXNlckRldGFpbDozMCxvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHk6MTY5LG9mZmxpbmVWaWRlb1BvbGljeToxMzAsb2ZmbGluZVZpZGVvU3RyZWFtczoxOTgsb2ZmbGluZWFiaWxpdHlFbnRpdHk6MjQ2LG9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eToyNDIscGFnZUhlYWRlckVudGl0eTo0OTUscGFydHlHYW1lUGFuZWxFbnRpdHk6NjE4LHNsaWRlckdhbWVQYW5lbEVudGl0eTo2MzMsCnBkcFN0YXRlRW50aXR5OjUyNCxwaW5uZWRQcm9kdWN0RW50aXR5OjI3MyxwbGF5YmFja0RhdGE6MTE5LHBsYXllclN0YXRlRW50aXR5OjMyMyxwbGF5bGlzdFRodW1ibmFpbEVkaXRzRW50aXR5OjUzOSxxdWFudGl0eUluY3JlbWVudGVyRW50aXR5OjM1NixyZWZyZXNoOjE0OCxzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHk6MjMxLHNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZDo0Nzksc2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5OjYzNCxzZXR0aW5nRW50aXR5OjI5NyxzdHJpbmdFbnRpdHk6MzgyLHN1Z2dlc3RlZEZlZWRiYWNrQ2hpcFN0YXRlRW50aXR5OjQ4NSx0cmFuc2ZlcjoxMjAsdHJlbmRpbmdPZmZlckVudGl0eTo0NjksdW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHk6NjM1LHZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5OjQ2MSx2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5OjU0NSx2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHk6NzYsdm90aW5nRW50aXR5OjU2MSwKeXRNYWluQ2hhbm5lbEVudGl0eToxNTIseW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eTo1NTMseXRNYWluRG93bmxvYWRlZFZpZGVvRW50aXR5OjE1NSx5dE1haW5WaWRlb0VudGl0eToxNTF9O18udkE9e307Zm9yKGxldCBbYSxiXW9mIE9iamVjdC5lbnRyaWVzKF8udUEpKXtsZXQgYz1hLGQ9YjtkJiYoXy52QVtkXT1jKX07KCgpPT57dmFyIGE9ZD0+bmV3IFVpbnQ4QXJyYXkoZCksYj1kPT57dmFyIGU9bmV3IFVpbnQ4QXJyYXkoZC5sZW5ndGgpO2ZvcihsZXQgZj0wO2Y8ZC5sZW5ndGg7ZisrKWVbZl09ZFtmXTtyZXR1cm4gZX0sYz1uZXcgVWludDhBcnJheShbMV0pO3JldHVybiBjLmxlbmd0aD09PTEmJmNbMF09PT0xP2E6Yn0pKCk7Xy5TYWE9Xy4kbCgieXQtaWRiLXByZWYtc3RvcmFnZSIse3NlOntwcmVmczp7UGQ6MX19LHNoYXJlZDohMSx1cGdyYWRlKGEsYil7YigxKSYmXy5vbChfLmtsKGEsInByZWZzIix7a2V5UGF0aDoia2V5In0pLCJieUV4cGlyYXRpb24iLCJleHBpcmF0aW9uVGltZXN0YW1wTXMiKX0sdmVyc2lvbjoxfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBqRTtfLmlFPWZ1bmN0aW9uKGEsYil7YT1bKGEmMTY3MTE2ODApPj4+MTYsKGEmNjUyODApPj4+OCxhJjI1NV07cmV0dXJuYHJnYmEoJHthWzBdfSwgJHthWzFdfSwgJHthWzJdfSwgJHtifSlgfTtfLmtFPWZ1bmN0aW9uKGEpe2lmKGEuc291cmNlcylmb3IobGV0IGIgb2YgYS5zb3VyY2VzKWlmKGIuY2xpZW50UmVzb3VyY2U/LmltYWdlTmFtZXx8Yi5jdXN0b21JbWFnZVNvdXJjZSYmXy5CKGIuY3VzdG9tSW1hZ2VTb3VyY2UsakUpPy5jbGllbnRSZXNvdXJjZT8uaWNvbilyZXR1cm4gYn07Cl8ubEU9ZnVuY3Rpb24oYSl7aWYoYT8uY2xpZW50UmVzb3VyY2U/LmltYWdlTmFtZSl7bGV0IGI9YS5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lO2E6e3N3aXRjaChiKXtjYXNlICJ5dF9wcmVtaXVtX3dvcmRtYXJrX2hlYWRlcl9saWdodCI6Y2FzZSAieXRfcHJlbWl1bV93b3JkbWFya19oZWFkZXJfZGFyayI6YT0iWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiO2JyZWFrIGE7Y2FzZSAieXRfd29yZG1hcmtfaGVhZGVyX2xpZ2h0IjpjYXNlICJ5dF93b3JkbWFya19oZWFkZXJfZGFyayI6YT0iTE9HT19XSVRIX1RFWFQiO2JyZWFrIGF9YT12b2lkIDB9cmV0dXJuIGF8fGdjYS5nZXQoYil8fGJ9aWYoYT8uY3VzdG9tSW1hZ2VTb3VyY2UmJihhPV8uQihhLmN1c3RvbUltYWdlU291cmNlLGpFKT8uY2xpZW50UmVzb3VyY2U/Lmljb24pKXJldHVybiBhfTtqRT1uZXcgXy5JKCJ5b3V0dWJlSWNvblNvdXJjZSIpO18ubUU9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7dmFyIGdjYT1uZXcgTWFwKFtbInl0X291dGxpbmVfYmFnX2JsYWNrXzI0IiwiYmFnIl1dKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5LRD1mdW5jdGlvbihhKXtpZihhPWEubWF0Y2goVWJhKSlyZXR1cm57aWNvbk5hbWU6YVsyXSxoeDphWzFdLnRvVXBwZXJDYXNlKCk9PT0iRklMTCIsaWNvblNpemU6TnVtYmVyKGFbM10pfX07Xy5MRD1uZXcgXy5WcygiSUNPTl9XSVpfQ09NUE9ORU5UX1RPS0VOIik7dmFyIFViYTtVYmE9L15ZVElDT05fKGZpbGx8b3V0bGluZSlfKFthLXpBLVowLTlfXSspX3MoWzAtOV0rKSQvaTsKXy5NRD1fLkwoKHtpY29uOmEsYWN0aXZlOmIsY2xhc3NOYW1lOmMsc3R5bGU6ZCx5cDplLGhjOmYscm9sZTpoLEdlOmssSGM6bCxhcmlhSGlkZGVuOm0sYXJpYUV4cGFuZGVkOm4sYXJpYUxhYmVsOnAsdGFiaW5kZXg6cixpZDp0LHNpemU6dixhZzp6LFpwOkUsZXI6QSx0aXRsZTpGfSk9Pnt2YXIgQz1fLk4oKCk9Pnt2YXIgUj1hPy4oKTtpZihSKXJldHVybiBfLktEKFIpfSx2b2lkIDAsIk0waTV2ZiIpLEc9KCk9PkMoKT8uaWNvbk5hbWU/P2E/LigpLEQ9KCk9PnY/LigpPz9DKCk/Lmljb25TaXplLEg9KCk9PmI/LigpPz9DKCk/Lmh4O3JldHVybiBfLksoXy5PLHtBOmEsdGhlbjooKT0+e3ZhciBSPV8ueSgpLnJlc29sdmUoXy5MRCk7cmV0dXJuIF8uSyhSLHtpY29uOkcseXA6ZSxoYzpmLEdlOmssSGM6bCxhcmlhRXhwYW5kZWQ6bix0YWJpbmRleDpyLGlkOnQsYWN0aXZlOkgsc2l6ZTpELHJvbGU6aCxjbGFzc05hbWU6YyxhcmlhSGlkZGVuOm0sYXJpYUxhYmVsOnAsc3R5bGU6KCk9Pgp7aWYoIUQoKSlyZXR1cm4gZD8uKCk7dmFyIE09YHdpZHRoOiAke0QoKX1weDsgaGVpZ2h0OiAke0QoKX1weDtgO3JldHVybiBkPy4oKT9gJHtNfSAke2QoKX1gOk19LHRpdGxlOkYsYWc6eixacDpFLGVyOkF9KX19KX0sImoiKTtfLk1ELmlkb21Db21wYXQ9e2NhbGxiYWNrczp7ZXI6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEtFLExFLG1jYSxuY2EsTkUscGNhLHFjYSxyY2EsdWNhLHdjYSx2Y2EsWEUseGNhLHljYSxBY2EsemNhO18uSkU9ZnVuY3Rpb24oYSl7YSY9MTY3NzcyMTU7dmFyIGI9WyhhJjE2NzExNjgwKT4+MTYsKGEmNjUyODApPj44LGEmMjU1XTthPWJbMF07dmFyIGM9YlsxXTtiPWJbMl07YT1OdW1iZXIoYSk7Yz1OdW1iZXIoYyk7Yj1OdW1iZXIoYik7aWYoYSE9KGEmMjU1KXx8YyE9KGMmMjU1KXx8YiE9KGImMjU1KSl0aHJvdyBFcnJvcigiUWNgIithKyJgIitjKyJgIitiKTtjPWE8PDE2fGM8PDh8YjtyZXR1cm4gYTwxNj8iIyIrKDE2Nzc3MjE2fGMpLnRvU3RyaW5nKDE2KS5zbGljZSgxKToiIyIrYy50b1N0cmluZygxNil9O0tFPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNvdXJjZXMhPT12b2lkIDB8fGEucHJvY2Vzc29yIT09dm9pZCAwfTsKTEU9ZnVuY3Rpb24oYSl7dmFyIGI9YS50aHVtYm5haWxzO2lmKGIpe2E9e3NvdXJjZXM6W119O2ZvcihsZXQgYyBvZiBiKWI9e30sYi51cmw9Yy51cmwsYi53aWR0aD1jLndpZHRoLGIuaGVpZ2h0PWMuaGVpZ2h0LGEuc291cmNlcy5wdXNoKGIpO3JldHVybiBhfX07bWNhPWZ1bmN0aW9uKGEsYixjKXtjPWM/W2NdOltdO2Eub3BhY2l0eSYmYy5wdXNoKGBvcGFjaXR5OiAke2Eub3BhY2l0eX07YCk7YiYmYS5wbGFjZWhvbGRlckNvbG9yPyhhPV8uTkQoYS5wbGFjZWhvbGRlckNvbG9yKSxjLnB1c2goYGJhY2tncm91bmQtY29sb3I6ICR7YX07YCkpOmMucHVzaCgiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Iik7cmV0dXJuIGMuam9pbigiICIpfTsKbmNhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9WyJ5dENvcmVJbWFnZUhvc3QiXTtiJiZmLnB1c2goYik7Y3x8Zi5wdXNoKCJ5dENvcmVJbWFnZUZpbGxQYXJlbnRIZWlnaHQiKTtkfHxmLnB1c2goInl0Q29yZUltYWdlRmlsbFBhcmVudFdpZHRoIik7c3dpdGNoKGEuY29udGVudE1vZGUpe2Nhc2UgIkNPTlRFTlRfTU9ERV9TQ0FMRV9BU1BFQ1RfRklUIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpdCIpO2JyZWFrO2Nhc2UgIkNPTlRFTlRfTU9ERV9TQ0FMRV9BU1BFQ1RfRklMTCI6Zi5wdXNoKCJ5dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaWxsIik7YnJlYWs7Y2FzZSAiQ09OVEVOVF9NT0RFX0NFTlRFUiI6Zi5wdXNoKCJ5dENvcmVJbWFnZUNvbnRlbnRNb2RlQ2VudGVyIik7YnJlYWs7ZGVmYXVsdDpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZVRvRmlsbCIpfWEuZmxpcEZvclJ0bExheW91dCYmZi5wdXNoKCJ5dENvcmVJbWFnZUZsaXBSdGwiKTsKc3dpdGNoKGUpe2Nhc2UgIlRPUF9TVEFSVCI6Zi5wdXNoKGRvY3VtZW50LmJvZHk/LmdldEF0dHJpYnV0ZSgiZGlyIik9PT0icnRsIj8ieXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcFJpZ2h0IjoieXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcExlZnQiKX1yZXR1cm4gZi5qb2luKCIgIil9O18uTUU9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIob3JpZW50YXRpb246IGxhbmRzY2FwZSkiKS5tYXRjaGVzfTtORT1mdW5jdGlvbihhKXt2YXIgYj17fTthPV8uQihhLnByb2Nlc3NvcixvY2EpO3ZhciBjPShjPWE/LmltYWdlVGludD8uY29sb3IpP18uTkQoYyk6dm9pZCAwO2MmJihiLmNvbG9yPWMpO2lmKGM9cGNhKGEpKWIubnk9YztpZihhPXFjYShhKSliLk56PWE7cmV0dXJuIGJ9OwpwY2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8ubGluZWFyR3JhZGllbnQ7aWYoYiYmYj8uY29sb3JzJiZiPy5jb2xvcnM/Lmxlbmd0aCE9PTApe3ZhciBjPWIuY29sb3JzLm1hcChlPT5fLk5EKGUpKTthPWIuYW5nbGUhPT12b2lkIDA/YCR7Yi5hbmdsZX1kZWcsIGA6IiI7dmFyIGQ9Yi5wb3NpdGlvbnM7aWYoIWR8fGQubGVuZ3RoIT09Yy5sZW5ndGgpcmV0dXJuYGxpbmVhci1ncmFkaWVudCgke2F9JHtjLmpvaW4oIiwgIil9KWA7Yj1jLm1hcCgoZSxmKT0+YCR7ZX0gJHtkW2ZdKjEwMH0lYCk7cmV0dXJuYGxpbmVhci1ncmFkaWVudCgke2F9JHtiLmpvaW4oIiwgIil9KWB9fTsKcWNhPWZ1bmN0aW9uKGEpe2lmKChhPWE/LnJhZGlhbEdyYWRpZW50KSYmYT8uY29sb3JzJiZhPy5jb2xvcnM/Lmxlbmd0aCE9PTApe3ZhciBiPWEuY29sb3JzLm1hcChrPT5fLk5EKGspKSxjPWEuY2VudGVyVW5pdD8/IkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIixkPWM9PT0iRElNRU5TSU9OX1VOSVRfUE9JTlQiPyJweCI6IiUiLGU9Yz09PSJESU1FTlNJT05fVU5JVF9GUkFDVElPTiI/MTAwOjE7Yz1gJHsoYS5jZW50ZXJYPz8uNSkqZX0ke2R9YDtkPWAkeyhhLmNlbnRlclk/Py41KSplfSR7ZH1gO3ZhciBmPWEucmFkaXVzO2U9IiI7ZT1mIT09dm9pZCAwP2BjaXJjbGUgJHtmfXB4YDoiZWxsaXBzZSI7dmFyIGg9YS5wb3NpdGlvbnM7aWYoIWh8fGgubGVuZ3RoIT09Yi5sZW5ndGgpcmV0dXJuYHJhZGlhbC1ncmFkaWVudCgke2V9IGF0ICR7Y30gJHtkfSwgJHtiLmpvaW4oIiwgIil9KWA7YT1iLm1hcCgoayxsKT0+YCR7a30gJHtoW2xdKjEwMH0lYCk7cmV0dXJuYHJhZGlhbC1ncmFkaWVudCgke2V9IGF0ICR7Y30gJHtkfSwgJHthLmpvaW4oIiwgIil9KWB9fTsKXy5PRT1mdW5jdGlvbihhKXtfLmpmLkdhKCgpPT57dHJ5e2EoKX1jYXRjaChiKXtfLk90KGIpfX0sOCl9O3JjYT1mdW5jdGlvbihhKXt2YXIgYj0oMSthLm1hcmdpbikqKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fHdpbmRvdy5pbm5lckhlaWdodCk7YS5qPWEuai5maWx0ZXIoYz0+e3ZhciBkPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7KGQ9Yj5kLnRvcCYmISFkLmhlaWdodCkmJmEuQihjKTtyZXR1cm4hZCYmYy5wYXJlbnROb2RlfSk7YS52PSExfTtfLlBFPWZ1bmN0aW9uKGEpe2lmKCJtYXRjaE1lZGlhImluIHdpbmRvdylyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEoYS5sYW5kc2NhcGUrIiwiK2EucG9ydHJhaXQpLm1hdGNoZXN9O18uVEU9ZnVuY3Rpb24oKXtpZihRRT09PXZvaWQgMCl7bGV0IGE9Xy5QRShzY2EpO1FFPWEhPT12b2lkIDA/YTpfLlJFPj05MzAmJlNFPj01NTB8fF8uUkU+PTU1MCYmU0U+PTkzMH1yZXR1cm4gUUV9Owp1Y2E9ZnVuY3Rpb24oYSxiKXthLkptPWI7dGNhLm9ic2VydmUoYSl9Owp3Y2E9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGspe3ZhciBsPU1hdGgucm91bmQoKDAsXy5lbCkoKS1kKTtVRT1NYXRoLm1heCgwLFVFLTEpO2w9e2R1cmF0aW9uTG9hZGluZ01zOmwsd2lkdGhQeDphLm5hdHVyYWxXaWR0aCxoZWlnaHRQeDphLm5hdHVyYWxIZWlnaHQsdmlld1dpZHRoUHg6YS5jbGllbnRXaWR0aCx2aWV3SGVpZ2h0UHg6YS5jbGllbnRIZWlnaHQsZmluaXNoZWRMb2FkaW5nOiEwLGlzTG9hZEVycm9yOmssbG9hZE51bWJlcjplLGNvbmN1cnJlbnRMb2FkczpVRX07YiYmYi5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZSE9bnVsbCYmKGwuaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU9Yi5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZSk7aWYoIWspdHJ5e2xldCBtPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoYS5zcmMpO2lmKG0mJm0ubGVuZ3RoPjApe2xldCBuPW1bbS5sZW5ndGgtMV07bi50cmFuc2ZlclNpemUmJihsLmRvd25sb2FkZWRCeXRlcz1uLnRyYW5zZmVyU2l6ZSl9fWNhdGNoKG0pe31fLkVwKCJ0aHVtYm5haWxMb2FkZWQiLApsKTtpZihrPVZFLmdldChhKSlhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGsub25Mb2FkKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixrLm9uRXJyb3IpO1ZFLmRlbGV0ZShhKX1pZihfLngoIndlYl9pbWFnZV9sb2FkX3RlbGVtZXRyeSIpKXt2Y2EoYSk7VUUrKztXRSsrO3ZhciBkPSgwLF8uZWwpKCksZT1XRSxmPSgpPT57YyghMSl9LGg9KCk9PntjKCEwKX07YS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmKTthLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixoKTtWRS5zZXQoYSx7b25Mb2FkOmYsb25FcnJvcjpofSl9fTt2Y2E9ZnVuY3Rpb24oYSl7dmFyIGI9VkUuZ2V0KGEpO2ImJihhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGIub25Mb2FkKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixiLm9uRXJyb3IpLFVFPU1hdGgubWF4KDAsVUUtMSksVkUuZGVsZXRlKGEpKX07ClhFPWZ1bmN0aW9uKGEsYixjKXtiJiZfLlR0KGEsYik7YyYmYS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW1hZ2UtdW5sb2FkZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfTt4Y2E9ZnVuY3Rpb24oYSxiLGMsZCxlPSEwKXtmdW5jdGlvbiBmKCl7dmFyIGg9YyhiLGEpO2gmJmEuZ2V0QXR0cmlidXRlKCJzcmMiKSE9PWgmJihoIT09YS5zcmMmJihhLnNyYz1oKSx3Y2EoYSxkKSxkJiZYRShhLGQudGosZC5CbSkpfWEucmVtb3ZlQXR0cmlidXRlKCJzcmMiKTtkJiZYRShhLGQudGosZC5CbSk7YiYmKGU/dWNhKGEsZik6ZigpKX07eWNhPWZ1bmN0aW9uKGEsYixjKXtpZighYilyZXR1cm4hMTtiPWMoYixhKTtjPWEuZ2V0QXR0cmlidXRlKCJzcmMiKTtyZXR1cm4gYiYmYj09PWMmJmEuY29tcGxldGV9OwpBY2E9ZnVuY3Rpb24oYSxiLGM9ITEpe3ZhciBkPUtFKGEpP3suLi5hfTpMRShhKTtpZihkKXtkLmNvbnRlbnRNb2RlPWQuY29udGVudE1vZGU/P2IuY29udGVudE1vZGU7dmFyIGU9Yi5vbkxvYWQ7Yi5vbkxvYWQ9bD0+e3ZhciBtPWwudGFyZ2V0O2MmJm0ubmF0dXJhbFdpZHRoPT09MTIwfHxfLlN0KG0sInl0Q29yZUltYWdlTG9hZGVkIik7Yi5zZyYmbS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW1hZ2UtbG9hZGVkIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKTtlPy4obCl9O2IuQWImJmIuVGEmJihiLndpZHRoPWIuQWIpO2IuZGMmJmIuWWEmJihiLmhlaWdodD1iLmRjKTt2YXIgZj1fLmtFKGQpLGg9ZiYmXy5sRShmKSxrPU5FKGQpO2lmKGgpe2E9Zi5jbGllbnRSZXNvdXJjZT8uaW1hZ2VDb2xvcj9fLk5EKGYuY2xpZW50UmVzb3VyY2UuaW1hZ2VDb2xvcik6dm9pZCAwO2lmKGs9YXx8ay5jb2xvciliLnN0eWxlPWIuc3R5bGU/Yi5zdHlsZS5lbmRzV2l0aCgiOyIpP2Iuc3R5bGUrCmAgY29sb3I6ICR7a307YDpiLnN0eWxlK2A7IGNvbG9yOiAke2t9O2A6YGNvbG9yOiAke2t9O2A7cmV0dXJue3R5cGU6Imljb24iLGljb25OYW1lOmgsY29uZmlnOnsuLi5iLC4uLihiLmFsdD97fTp7YXJpYUhpZGRlbjoidHJ1ZSJ9KSxhcmlhTGFiZWw6Yi5hbHQscm9sZToiaW1nIn19fUtFKGEpfHwoYi5hbHQ9YS5hY2Nlc3NpYmlsaXR5JiZhLmFjY2Vzc2liaWxpdHkuYWNjZXNzaWJpbGl0eURhdGEmJmEuYWNjZXNzaWJpbGl0eS5hY2Nlc3NpYmlsaXR5RGF0YS5sYWJlbHx8Yi5hbHQsYi5zdHlsZT1tY2EoYSxiLldyLGIuc3R5bGUpLGIuaXNQcmVsb2FkZWQ9ISFfLkIoYSx6Y2EpPy5pc1ByZWxvYWRlZCk7Yi5jbGFzc05hbWU9bmNhKGQsYi5jbGFzc05hbWUsYi5ZYSxiLlRhLGIub2JqZWN0UG9zaXRpb24pO2IudGo9Inl0Q29yZUltYWdlTG9hZGVkIjtyZXR1cm57dHlwZToiaW1hZ2UiLGltYWdlOmQsY29uZmlnOmJ9fX07emNhPW5ldyBfLkkoIndlYlRodW1ibmFpbERldGFpbHNFeHRlbnNpb25EYXRhIik7dmFyIG9jYT1uZXcgXy5JKCJib3JkZXJJbWFnZVByb2Nlc3NvciIpO3ZhciBDY2E7W18uQmNhLENjYV09Xy5KKF8uTUUoKSx2b2lkIDAsIk8zWDJ3ZCIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57Q2NhKF8uTUUoKSl9KTtfLmZGPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5tYXJnaW49YTt0aGlzLkI9Yjt0aGlzLmo9W107dGhpcy52PSExO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCgpPT57dGhpcy5vKCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLCgpPT57dGhpcy5vKCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidXBkYXRldWkiLCgpPT57dGhpcy5vKCl9KTt2YXIgYz1uZXcgXy5XdCgoMCxfLkNhKSh0aGlzLm8sdGhpcyksMTAwKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwoKT0+e2MudigpfSwhMCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKDAsXy5DYSkodGhpcy5vLHRoaXMpKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVzdGFydCIsKCk9Pnt0aGlzLmo9W119KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLCgwLF8uQ2EpKHRoaXMubyx0aGlzKSl9b2JzZXJ2ZShhKXt0aGlzLmouaW5jbHVkZXMoYSl8fAp0aGlzLmoucHVzaChhKX11bm9ic2VydmUoYSl7dGhpcy5qPXRoaXMuai5maWx0ZXIoYj0+YiE9PWEpfW8oKXt0aGlzLnZ8fChfLk9FKCgpPT57cmNhKHRoaXMpfSksdGhpcy52PSEwKX1kaXNjb25uZWN0KCl7dGhpcy5qPVtdfX07dmFyIHNjYSxRRSxTRTtzY2E9e2xhbmRzY2FwZToiKG1pbi13aWR0aDogOTMxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLHBvcnRyYWl0OiIobWluLXdpZHRoOiA1NTBweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIn07UUU9dm9pZCAwO18uZ0Y9dm9pZCAwO18uUkU9d2luZG93LmlubmVyV2lkdGg7U0U9d2luZG93LmlubmVySGVpZ2h0O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57Xy5nRj1RRT12b2lkIDB9KTt2YXIgdGNhPSJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3c/bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChhLGIpPT57YS5maWx0ZXIoYz0+Yy5pbnRlcnNlY3Rpb25SZWN0LmhlaWdodD4wKS5mb3JFYWNoKCh7dGFyZ2V0OmN9KT0+e2MuSm0/LigpO2IudW5vYnNlcnZlKGMpfSl9LHtyb290TWFyZ2luOiIxMCUiLHRocmVzaG9sZDouMDF9KTpfLlRFKCk/e29ic2VydmUoYSl7Xy5qZi5HYSgoKT0+e3RyeXthLkptPy4oKX1jYXRjaChiKXtfLk90KGIpfX0sOCl9LHVub2JzZXJ2ZSgpe319Om5ldyBfLmZGKC4xLGE9PntfLmpmLkdhKCgpPT57dHJ5e2EuSm0/LigpfWNhdGNoKGIpe18uT3QoYil9fSw4KX0pO3ZhciBWRT1uZXcgV2Vha01hcCxXRT0wLFVFPTA7Xy5oRj1fLkwoYT0+e3ZhciBiPSExLGM9Xy51RSgiaW1nIixkPT57Xy5ZdSgoKT0+e2I9ITA7ZC5vbmxvYWQ9bnVsbH0pfSk7Xy5uRSgoKT0+e3ZhciBkPWEuZGF0YT8uKCksZT1hLkdsPy4oKS5TZyxmPWEuY29uZmlnKCksaD1jLnZhbHVlO2lmKGgpe3ZhciBrPShsLG0pPT57aWYoIWIpcmV0dXJuIGU/ZShsLG0pOmx9O18ueCgid2ViX2ltYWdlX2RvbnRfcmVsb2FkX3NhbWVfc3JjIikmJnljYShoLGQsayk/Xy54KCJ3ZWJfaW1hZ2VfZG9udF9yZWxvYWRfc2FtZV9zcmNfc2ltdWxhdGVfbG9hZCIpJiZoLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsb2FkIix7YnViYmxlczohMSxjYW5jZWxhYmxlOiExLGRldGFpbDp7bWVzc2FnZToiU2ltdWxhdGluZyBsb2FkIGV2ZW50IGZvciBhbHJlYWR5IGxvYWRlZCBpbWFnZSJ9fSkpOnhjYShoLGR8fG51bGwsayxmLGEubGF6eT8uKCkpfX0sIlJmRWdCYyIpO3JldHVybiBfLksoImltZyIse2VsOmMsY2xhc3M6KCk9PmEuY29uZmlnKCkuY2xhc3NOYW1lLAphbHQ6KCk9PmEuY29uZmlnKCkuYWx0LCJhcmlhLWhpZGRlbiI6KCk9PmEuY29uZmlnKCkuYXJpYUhpZGRlbiwiZGF0YS1kaXNhYmxlZCI6KCk9PmEuY29uZmlnKCkuaGMsc3R5bGU6KCk9PmEuY29uZmlnKCkuc3R5bGUsd2lkdGg6KCk9PmEuY29uZmlnKCkud2lkdGgsaGVpZ2h0OigpPT5hLmNvbmZpZygpLmhlaWdodCxkcmFnZ2FibGU6KCk9PmEuY29uZmlnKCkuZHJhZ2dhYmxlLCJvbjplcnJvciI6ZD0+YS5jb25maWcoKS5vbkVycm9yPy4oZCksIm9uOmxvYWQiOmQ9PmEuY29uZmlnKCkub25Mb2FkPy4oZCl9KX0sImwiKTtfLmhGLmlkb21Db21wYXQ9ITA7dmFyIGlGO18uakY9Xy5MKGE9Pnt2YXIgW2IsY109Xy5KKCExLHZvaWQgMCwiVEZhRUtkIiksZD0oKT0+e3ZhciBmPWEuZGF0YSgpO3JldHVybiBLRShmKT97Li4uZn06TEUoZik/P3t9fSxlPSgpPT4hZCgpLnNvdXJjZXM/Lmxlbmd0aHx8YigpO3JldHVybiBfLksoXy5PLHtBOigpPT57aWYoIV8ueCgid2ViX2xpbmVhcl9ncmFkaWVudF9raWxsc3dpdGNoIikpcmV0dXJuIE5FKGQoKSkubnl8fE5FKGQoKSkuTnp9LHRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q29yZUltYWdlSG9zdCIsInl0Q29yZUltYWdlR3JhZGllbnRDb250YWluZXIiLHt5dENvcmVJbWFnZUxvYWRlZDplfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Q29yZUltYWdlR3JhZGllbnQiLCJhcmlhLWhpZGRlbiI6InRydWUiLHN0eWxlOl8uSUUoe2JhY2tncm91bmQ6Zn0pfSksXy5LKGlGLHsuLi5hLG9uTG9hZDpoPT57YyghMCk7YS5vbkxvYWQ/LihoKX19KSksVzooKT0+Xy5LKGlGLHsuLi5hfSl9KX0sIm0iKTsKaUY9Xy5MKGE9Pnt2YXIgYj0oKT0+QWNhKGEuZGF0YSgpLHtjb250ZW50TW9kZTphLmNvbnRlbnRNb2RlPy4oKSx0ajphLnRqPy4oKSxpc1ByZWxvYWRlZDphLmlzUHJlbG9hZGVkPy4oKSxzZzphLnNnPy4oKSxCbTphLkJtPy4oKSx5cjphLnlyPy4oKSxZYTphLllhPy4oKSxUYTphLlRhPy4oKSxvYmplY3RQb3NpdGlvbjphLm9iamVjdFBvc2l0aW9uPy4oKSxBYjphLkFiPy4oKSxkYzphLmRjPy4oKSxXcjphLldyPy4oKSxOZzphLk5nPy4oKSxpc1RvZ2dsZWQ6YS5pc1RvZ2dsZWQ/LigpLGFsdDphLmFsdD8uKCksY2xhc3NOYW1lOmEuY2xhc3NOYW1lPy4oKSxvbkVycm9yOmEub25FcnJvcixvbkxvYWQ6YS5vbkxvYWQsc3R5bGU6YS5zdHlsZT8uKCksY29sb3I6YS5jb2xvcj8uKCksd2lkdGg6YS53aWR0aD8uKCksaGVpZ2h0OmEuaGVpZ2h0Py4oKSxhcmlhSGlkZGVuOmEuYXJpYUhpZGRlbj8uKCksZHJhZ2dhYmxlOmEuZHJhZ2dhYmxlPy4oKSxoYzphLmhjPy4oKSxzaXplOmEuc2l6ZT8uKCksCmltYWdlQ2xhc3NpZmljYXRpb25UeXBlOmEuaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU/LigpfSxhLlV3Py4oKSk7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmIoKT8udHlwZT09PSJpbWFnZSJ9LCgpPT5fLksoXy5oRix7ZGF0YTooKT0+YigpLmltYWdlLEdsOntTZzooYyxkKT0+e3ZhciBlPWIoKS5pbWFnZS5zb3VyY2VzO3ZhciBmPWIoKS5jb25maWcuaXNQcmVsb2FkZWQsaD1iKCkuY29uZmlnLk5nLGs9YigpLmNvbmZpZy5BYixsPWIoKS5jb25maWcuZGMsbT1iKCkuY29uZmlnLnlyO2lmKCFlfHxlLmxlbmd0aD09PTB8fGVbMF0uY2xpZW50UmVzb3VyY2UpZT1udWxsO2Vsc2UgaWYoZiYmZVswXS51cmwpZT1lWzBdLnVybDtlbHNle2g9PT12b2lkIDAmJihoPSEwKTtkPWg/Xy5tRSooa3x8ZD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/LndpZHRofHwwKTpfLm1FKihsfHxkPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0fHwwKTtiOmlmKGQpe2lmKG0pZm9yKGxldCBuIG9mIGUpaWYoZj0Kbi51cmw/LmluZGV4T2YobSksZiE9PXZvaWQgMCYmZj49MCl7ZT1uO2JyZWFrIGJ9Zm9yKGxldCBuIG9mIGUpaWYobi53aWR0aCYmbi5oZWlnaHQmJihoJiZuLndpZHRoPj1kfHwhaCYmbi5oZWlnaHQ+PWQpKXtlPW47YnJlYWsgYn1mb3IobT1lLmxlbmd0aC0xO20+PTA7bS0tKWlmKGgmJmVbbV0ud2lkdGh8fCFoJiZlW21dLmhlaWdodCl7ZT1lW21dO2JyZWFrIGJ9ZT1lWzBdfWVsc2UgZT1lLmxlbmd0aD49MT9lW2UubGVuZ3RoLTFdOm51bGw7ZT1lPy51cmw/ZS51cmw6ZT8uaW1hZ2VEYXRhP2UuaW1hZ2VEYXRhOm51bGx9cmV0dXJuIGV8fCIifX0sY29uZmlnOigpPT57dmFyIGM9YigpLmNvbmZpZztmb3IobGV0IGQgaW4gYyljW2RdPT09dm9pZCAwJiZkZWxldGUgY1tkXTtyZXR1cm4gY30sbGF6eTphLlRifSkpLF8uSyhfLkNFLHt3aGVuOigpPT5iKCk/LnR5cGU9PT0iaWNvbiJ9LCgpPT5fLksoXy5NRCx7aWNvbjooKT0+YigpLmljb25OYW1lLHJvbGU6KCk9PmIoKS5jb25maWcucm9sZSwKY2xhc3NOYW1lOigpPT5iKCkuY29uZmlnLmNsYXNzTmFtZSxzdHlsZTooKT0+YigpLmNvbmZpZy5zdHlsZSxhcmlhTGFiZWw6KCk9PmIoKS5jb25maWcuYXJpYUxhYmVsLGFyaWFIaWRkZW46KCk9PmIoKS5jb25maWcuYXJpYUhpZGRlbixoYzooKT0+YigpLmNvbmZpZy5oYyxhY3RpdmU6KCk9PmIoKS5jb25maWcuaXNUb2dnbGVkLHNpemU6KCk9PmIoKS5jb25maWcuc2l6ZX0pKSl9LCJuIik7Xy5qRi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2NhbGxiYWNrOiEwLG9uRXJyb3I6ITAsb25Mb2FkOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTko9bmV3IF8uSSgic2lnbmFsQWN0aW9uIik7Xy5PSj1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9ITEsYz1udWxsKXt0aGlzLmFjdGlvbk5hbWU9YTt0aGlzLmo9Yjt0aGlzLmFyZ3M9Yzt0aGlzLnJldHVyblZhbHVlPVtdfX07Xy5QSj1uZXcgTWFwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmhFPW5ldyBfLkkoImxheW91dFByb3BlcnRpZXMiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rRj1uZXcgXy5WcygiREFSS19USEVNRV9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmxGPW5ldyBfLlZzKCJBUFBfRElSRUNUSU9OX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udUY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iPy5pbml0aWFsO3JldHVybiBfLk4oKCk9PntfLkJ2KCEwKTtyZXR1cm4gYz1hKGMpfSx7ZXF1YWxzOmI/LmlzRXF1YWx9LCJyU2xLc2MiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBFY2EsRmNhLHZGLEdjYSx5RixCRixDRixKY2EsTGNhLERGLEVGLE5jYSxIRixPY2EsUWNhLElGLFJjYSxKRixTY2EsS0YsTEYsVGNhLE1GLFVjYSxORixWY2EsV2NhLEljYSxIY2E7CkVjYT1mdW5jdGlvbihhKXt2YXIgYj17c3RhdGU6Ik5PTkUifSxjPXtSaDpkPT57c3dpdGNoKGQuQ2IudG9rZW4pe2Nhc2UgXy5QYmEuQ2IudG9rZW46dmFyIGU9YjticmVhaztjYXNlIF8uT2JhLkNiLnRva2VuOmU9YS5XSDticmVhaztjYXNlIF8uTEMuQ2IudG9rZW46ZT1hLnJvb3RFbGVtZW50O2JyZWFrO2Nhc2UgXy5MYmEuQ2IudG9rZW46ZT1hLllKO2JyZWFrO2Nhc2UgXy5NQi5DYi50b2tlbjplPWEuRm87YnJlYWs7Y2FzZSBfLk1iYS5DYi50b2tlbjplPWEucmVuZGVyZXJEYXRhO2JyZWFrO2Nhc2UgXy5OYmEuQ2IudG9rZW46ZT1hLm9KO2JyZWFrO2Nhc2UgXy5OQi5DYi50b2tlbjplPWEucnZ9aWYoZSlkPWU7ZWxzZSBhOntmb3IoZT1jLnBhcmVudDtlOyl7dmFyIGY9ZTtpZihmLlJoKXtkPWYuUmgoZCk7YnJlYWsgYX1lPWUucGFyZW50fWU9ZC5DYi50b2tlbjtmPV8uV0MuZ2V0KGUpO2YhPT12b2lkIDA/ZD1mOihmPWQuQ2IuTXosZC5DYi5LcD8oZD1kLkNiLktwKCksZSYmZj09PQoicm9vdCImJl8uV0Muc2V0KGUsZCkpOmQ9Xy5hdSl9cmV0dXJuIGR9fTtfLkJ1KGMpO3JldHVybiBjfTtGY2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ9O3ZGPWZ1bmN0aW9uKGEsYil7aWYoYT09PWIpYT0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkmJkFycmF5LmlzQXJyYXkoYikpYTppZihfLnlhKGEpJiZfLnlhKGIpJiZhLmxlbmd0aD09Yi5sZW5ndGgpe3ZhciBjPWEubGVuZ3RoLGQ9dkZ8fEZjYTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKCFkKGFbZV0sYltlXSkpe2E9ITE7YnJlYWsgYX1hPSEwfWVsc2UgYT0hMTtlbHNlIGlmKF8uQWEoYSkmJl8uQWEoYikpYTppZihfLkZ4KGEpLmxlbmd0aCE9Xy5GeChiKS5sZW5ndGgpYT0hMTtlbHNle2ZvcihjIGluIGEpaWYoIXZGKGFbY10sYltjXSkpe2E9ITE7YnJlYWsgYX1hPSEwfWVsc2UgYT0hMTtyZXR1cm4gYX07Xy53Rj1mdW5jdGlvbihhLGIsYyl7Yz09PXZvaWQgMD9kZWxldGUgYVtiLm5hbWVdOmFbYi5uYW1lXT1jfTsKR2NhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPSExO2FbXy5xRl0/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkhiIiksMixhLnRhZ05hbWUpO30pOl8uWnQmJmQhPT1fLlhDP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJFYiIpLDIsYS50YWdOYW1lKTt9KTooYS50ZXh0Q29udGVudCE9PSIiJiZhLnRleHRDb250ZW50IT09bnVsbHx8YS5jaGlsZEVsZW1lbnRDb3VudD4wKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkZiIiksMixhLnRhZ05hbWUpO30pO3ZhciBmPV8uUnUoKCk9Pnt2YXIgaD1fLmt1KF8uenYpLGs9KCk9Pnt2YXIgbD0oXy5PQi5zdj8/Xy52ZChhKSkuX193aXpkaXNwYXRjaGVyO2w9RWNhKHtyb290RWxlbWVudDp7dmFsdWU6YX0sRm86Y3x8bD8ubnc/LigpLHJ2Omx9KTtsPV8uJHQobCk7dmFyIG09Xy5MQighMCk7Xy5ndisrO3RyeXtfLmJDKGIoKSxhKSwKXy5JQSghMSl9Y2F0Y2gobil7dGhyb3cgXy5JQSghMCksbjt9ZmluYWxseXtfLkxCKG0pLF8uJHQobCl9fTt0cnl7cmV0dXJuIGQ9PT1fLlhDP18udXYoaywhMSk6Xy5pdyhrKX1jYXRjaChsKXt0aHJvdyBfLlV1KGwsNCksbDt9ZmluYWxseXtfLmt1KGgpfX0pO2FbXy5xRl09ITA7cmV0dXJuKCk9PntlP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJHYiIpLDIsYS50YWdOYW1lKTt9KTooYS50ZXh0Q29udGVudD0iIixmKCksZT0hMCxhW18ucUZdPSExKX19O18ueEY9ZnVuY3Rpb24oYSxiLGMpe2M/PyhjPXt9KTt2YXIgZD1jLkZvLGU9ISFfLkt1LkpxO2I9R2NhKGEsYixkLGMuSWspO2UmJl8uUEIoYSxkKTtfLlZCLmxvZyhhKTtyZXR1cm4gYn07Cl8uQUY9ZnVuY3Rpb24oYSl7dmFyIGI9e2FuZHJvaWRJbmNsdWRlRm9udFBhZGRpbmc6ITF9LGM9MCxkPVtdLGU9W10sZj1bXTtpZihhLnNpbXBsZVRleHQpcmV0dXJuIGIuY29udGVudD1hLnNpbXBsZVRleHQsYjtpZihhLnJ1bnM9PT12b2lkIDApcmV0dXJuIGIuY29udGVudD0iIixiO2ZvcihsZXQgbSBvZiBhLnJ1bnMpe3ZhciBoPW0udGV4dDthPWg/Lmxlbmd0aDtpZihoJiZhKXtkLnB1c2goaCk7aWYobS5ib2xkfHxtLml0YWxpY3N8fG0uc3RyaWtldGhyb3VnaHx8bS51bmRlcmxpbmV8fG0udGV4dENvbG9yIT1udWxsJiZtLnRleHRDb2xvciE9PTB8fG0uZGVlbXBoYXNpemUpe2g9ZTt2YXIgaz1oLnB1c2gsbD17c3RhcnRJbmRleDpjLGxlbmd0aDphfTttLmJvbGQmJihsLndlaWdodExhYmVsPSJGT05UX1dFSUdIVF9NRURJVU0iKTttLml0YWxpY3MmJihsLml0YWxpYz0hMCk7bS5zdHJpa2V0aHJvdWdoJiYobC5zdHJpa2V0aHJvdWdoPSJMSU5FX1NUWUxFX1NJTkdMRSIpO20udW5kZXJsaW5lJiYKKGwudW5kZXJsaW5lPSJMSU5FX1NUWUxFX1NJTkdMRSIpO20udGV4dENvbG9yIT1udWxsJiZtLnRleHRDb2xvciE9PTA/bC5mb250Q29sb3I9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgiZGFyayIpP20uZGFya01vZGVUZXh0Q29sb3J8fG0udGV4dENvbG9yOm0udGV4dENvbG9yOm0uZGVlbXBoYXNpemUmJihsLmZvbnRDb2xvcj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCJkYXJrIik/eUYoIiNhYWEiKTp5RigiIzYwNjA2MCIpKTtrLmNhbGwoaCxsKX1tLm5hdmlnYXRpb25FbmRwb2ludCYmKGg9ZixrPWgucHVzaCxsPXtzdGFydEluZGV4OmMsbGVuZ3RoOmEsb25UYXA6e2lubmVydHViZUNvbW1hbmQ6bS5uYXZpZ2F0aW9uRW5kcG9pbnR9fSxtLmxvZ2dpbmdEaXJlY3RpdmVzJiZfLndGKGwsekYsbS5sb2dnaW5nRGlyZWN0aXZlcyksay5jYWxsKGgsbCkpO2MrPWF9fWIuY29udGVudD1kLmpvaW4oIiIpO2Iuc3R5bGVSdW5zPWUubGVuZ3RoPwplOnZvaWQgMDtiLmNvbW1hbmRSdW5zPWYubGVuZ3RoP2Y6dm9pZCAwO3JldHVybiBifTt5Rj1mdW5jdGlvbihhKXt2YXIgYj1wYXJzZUludDtpZighSGNhLnRlc3QoYSkpdGhyb3cgRXJyb3IoIlBjYCIrYSk7YS5sZW5ndGg9PTQmJihhPWEucmVwbGFjZShJY2EsIiMkMSQxJDIkMiQzJDMiKSk7cmV0dXJuIGIoImZmIithLnRvTG93ZXJDYXNlKCkuc3Vic3RyaW5nKDEpLDE2KX07QkY9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gT2JqZWN0LmVudHJpZXMoYSkuZmlsdGVyKChbLGJdKT0+YiE9PXZvaWQgMCYmYiE9PW51bGwmJmIhPT0iIikubWFwKChbYixjXSk9PmAke2IucmVwbGFjZSgvKFthLXpBLVpdKSg/PVtBLVpdKS9nLCIkMS0iKS50b0xvd2VyQ2FzZSgpfTogJHtjfTtgKS5qb2luKCIiKXx8dm9pZCAwfTsKQ0Y9ZnVuY3Rpb24oYSl7aWYoIWE/LnZhbHVlfHwhYT8udW5pdClyZXR1cm4iIjtzd2l0Y2goYS51bml0KXtjYXNlICJESU1FTlNJT05fVU5JVF9GUkFDVElPTiI6dmFyIGI9IiUiO2JyZWFrO2RlZmF1bHQ6Yj0icHgifWE9YS52YWx1ZTtiPT09IiUiJiYoYSo9MTAwKTtyZXR1cm5gJHthfSR7Yn1gfTtKY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYn07Zm9yKGxldCBbZCxlXW9mIG5ldyBNYXAoW1sib250b3VjaHN0YXJ0IixhLm9udG91Y2hzdGFydF0sWyJvbnRvdWNoZW5kIixhLm9udG91Y2hlbmRdLFsib250b3VjaG1vdmUiLGEub250b3VjaG1vdmVdXSkpe2xldCBmPWQsaD1lO2JbZl09az0+e2NbZl0/LihrKTtoKGspfX19OwpMY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bInl0QXR0cmlidXRlZFN0cmluZ0xpbmsiXTtiPy51Ynx8KGI/LmlzT3ZlcmxheT9jLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtPdmVybGF5Q2FsbFRvQWN0aW9uQ29sb3IiKTpjLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvciIpLGI/LlhhJiZjLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IiKSk7Yz17Y2xhc3NOYW1lOmMuam9pbigiICIpLHRhYmluZGV4OiIwIn07dmFyIGQ9YS5vblRhcHx8YS5vbkxvbmdQcmVzcztpZighZClyZXR1cm4gYzt2YXIgZT1hLm9uVGFwT3B0aW9ucz8uYWNjZXNzaWJpbGl0eUluZm8/LmFjY2Vzc2liaWxpdHlMYWJlbDtlJiYoYy5hcmlhTGFiZWw9ZSk7Yj1fLmJFKHtiaDpkLHV4OmMsSWQ6ISFiPy5JZCxxZDohMH0pO2Eub25Mb25nUHJlc3MmJihkPW5ldyBLY2EoKCk9Pnt2YXIgZj1fLlJEKGEub25Mb25nUHJlc3MpO2YmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoZil9KSwKYiYmSmNhKGQsYikpO3JldHVybiBifHxjfTtERj1mdW5jdGlvbihhKXt2YXIgYj1hO2E8PTE2Nzc3MjE1JiYoYis9cGFyc2VJbnQoImZmMDAwMDAwIiwxNikpO3JldHVybiBfLk5EKGIpfTtFRj1mdW5jdGlvbih7aXNEYXJrVGhlbWU6YSxleHRlbnNpb246YixPcjpjfSl7dmFyIGQ9dm9pZCAwO2lmKGI9Yj8uY29sb3JNYXApe2E9YT8iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjtmb3IobGV0IGUgb2YgYilpZihhPT09ZS5rZXkpe2Q9ZS52YWx1ZTticmVha319ZD09bnVsbCYmYyYmKGQ9Yyk7aWYoZClyZXR1cm4gREYoZCl9OwpOY2E9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYz17fTtpZihhLnRleHREZWNvcmF0b3Ipe3ZhciBkPWEudGV4dERlY29yYXRvcjt2YXIgZT17fTt2YXIgZj1fLkIoZCxfLkZGKSxoPV8uQihkLEdGKTtpZihmKXtkPU9iamVjdDtoPWQuYXNzaWduO2xldCBrPXt9OyhiPUVGKHtleHRlbnNpb246Xy5CKGYuaGlnaGxpZ2h0VGV4dERlY29yYXRvckV4dGVuc2lvbnMsTWNhKSxpc0RhcmtUaGVtZTpiLE9yOmYuYmFja2dyb3VuZENvbG9yfSkpJiYoa1siYmFja2dyb3VuZC1jb2xvciJdPWIpO2YuYmFja2dyb3VuZENvcm5lclJhZGl1cyE9PXZvaWQgMCYmKGtbImJvcmRlci1yYWRpdXMiXT1gJHtmLmJhY2tncm91bmRDb3JuZXJSYWRpdXN9cHhgKTtmLmxlZnRQYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1sZWZ0Il09YCR7Zi5sZWZ0UGFkZGluZ31weGApO2YucmlnaHRQYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1yaWdodCJdPWAke2YucmlnaHRQYWRkaW5nfXB4YCk7Zi50b3BQYWRkaW5nIT09CnZvaWQgMCYmKGtbInBhZGRpbmctdG9wIl09YCR7Zi50b3BQYWRkaW5nfXB4YCk7Zi5ib3R0b21QYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1ib3R0b20iXT1gJHtmLmJvdHRvbVBhZGRpbmd9cHhgKTtoLmNhbGwoZCxlLGspfWVsc2UgaCYmKGY9T2JqZWN0LGQ9Zi5hc3NpZ24sYj1iPyIjMmJhNjQwIjoiIzEwNzUxNiIsYj1oLmNvbG9yP0RGKGguY29sb3IpOmIsZC5jYWxsKGYsZSx7cGFkZGluZzoiMnB4IiwiYm9yZGVyLXRvcCI6YHNvbGlkICR7Yn0gMnB4YCwiYm9yZGVyLWJvdHRvbSI6YHNvbGlkICR7Yn0gMnB4YCxiYWNrZ3JvdW5kOmBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAke2J9IDNweCwgcmdiYSgwLCAwLCAwLCAwKSAzcHgpLCBsaW5lYXItZ3JhZGllbnQoMzE1ZGVnLCAke2J9IDNweCwgcmdiYSgwLCAwLCAwLCAwKSAzcHgpYH0pKTtlPU9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PTA/ZTp2b2lkIDA7Yy5zdHlsZT1lO2E9YS50ZXh0RGVjb3JhdG9yO2U9W107Yj1fLkIoYSwKR0YpO18uQihhLF8uRkYpP2UucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSGlnaGxpZ2h0VGV4dERlY29yYXRvciIpOmImJmUucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nQnJhY2tldFRleHREZWNvcmF0b3IiKTthPWUuam9pbigiICIpO2MuY2xhc3NOYW1lPWE7Yy5kaXI9ImF1dG8ifXJldHVybiBjfTtIRj1mdW5jdGlvbih7Y29uZmlnOmEsaW1hZ2U6YixnajpjLE9sOmQscnVuOmUsdGFnOmYsdGV4dExlbmd0aDpoLHN0YXJ0SW5kZXg6az0wLGxlbmd0aDpsfSl7az09PXZvaWQgMCYmKGs9MCk7ZT17cnVuOmUsc3RhcnRJbmRleDprLHdsOmwhPT12b2lkIDA/aytsOmgsdGFnOmZ9O2ImJihlLmltYWdlPWIpO2MmJihlLmdqPWMpO2QmJihlLk9sPWQpO2EmJihlLmNvbmZpZz1hKTtyZXR1cm4gZX07Ck9jYT1mdW5jdGlvbihhLGIpe2lmKGEud2VpZ2h0KXJldHVybiBhLndlaWdodDtzd2l0Y2goYS53ZWlnaHRMYWJlbCl7Y2FzZSAiRk9OVF9XRUlHSFRfVEhJTiI6cmV0dXJuIDEwMDtjYXNlICJGT05UX1dFSUdIVF9FWFRSQV9MSUdIVCI6cmV0dXJuIDIwMDtjYXNlICJGT05UX1dFSUdIVF9MSUdIVCI6cmV0dXJuIDMwMDtjYXNlICJGT05UX1dFSUdIVF9NRURJVU0iOnJldHVybiA1MDA7Y2FzZSAiRk9OVF9XRUlHSFRfU0VNSV9CT0xEIjpyZXR1cm4gNjAwO2Nhc2UgIkZPTlRfV0VJR0hUX0JPTEQiOnJldHVybiBiPzkwMDo3MDA7Y2FzZSAiRk9OVF9XRUlHSFRfRVhUUkFfQk9MRCI6cmV0dXJuIDgwMDtjYXNlICJGT05UX1dFSUdIVF9CTEFDSyI6cmV0dXJuIDkwMDtkZWZhdWx0OnJldHVybiA0MDB9fTsKUWNhPWZ1bmN0aW9uKGEsYj0hMSxjKXtiPUVGKHtleHRlbnNpb246Xy5CKGEuc3R5bGVSdW5FeHRlbnNpb25zLFBjYSksaXNEYXJrVGhlbWU6YixPcjphLmZvbnRDb2xvcn0pO3ZhciBkPVtdO2ImJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpO2EuaXRhbGljJiZkLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0l0YWxpY2l6ZWQiKTthLnVuZGVybGluZSYmYS5zdHJpa2V0aHJvdWdoP2QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lU3RyaWtldGhyb3VnaCIsSUYoYS51bmRlcmxpbmUpKTphLnVuZGVybGluZT9kLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1VuZGVybGluZWQiLElGKGEudW5kZXJsaW5lKSk6YS5zdHJpa2V0aHJvdWdoJiZkLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1N0cmlrZXRocm91Z2giLElGKGEuc3RyaWtldGhyb3VnaCkpO2lmKGEuYmFzZWxpbmVPZmZzZXQpe2E6c3dpdGNoKGEuYmFzZWxpbmVPZmZzZXQpe2Nhc2UgIkJBU0VMSU5FX09GRlNFVF9TVUJTQ1JJUFQiOnZhciBlPQoieXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRTdWJzY3JpcHQiO2JyZWFrIGE7Y2FzZSAiQkFTRUxJTkVfT0ZGU0VUX1NVUEVSU0NSSVBUIjplPSJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1cGVyc2NyaXB0IjticmVhayBhO2RlZmF1bHQ6ZT0ieXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRVbmtub3duIn1kLnB1c2goZSl9ZD1kLmpvaW4oIiAiKTtlPXt9O2lmKGEud2VpZ2h0fHxhLndlaWdodExhYmVsKWUuZm9udFdlaWdodD1PY2EoYSxjPy5xaCkudG9TdHJpbmcoKTtiJiYoZS5jb2xvcj1iKTtyZXR1cm57Y2xhc3NOYW1lOmQsc3R5bGU6ZX19O0lGPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJMSU5FX1NUWUxFX0RPVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ0xpbmVTdHlsZURvdCI7Y2FzZSAiTElORV9TVFlMRV9OT05FIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlTm9uZSI7ZGVmYXVsdDpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlU2luZ2xlIn19OwpSY2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlRFWFRfQUxJR05NRU5UX0xFRlQiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGVmdCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfUklHSFQiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50UmlnaHQiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0NFTlRFUiI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRDZW50ZXIiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0pVU1RJRklFRCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRKdXN0aWZpZWQiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0xBWU9VVF9TVEFSVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRMYXlvdXRTdGFydCI7ZGVmYXVsdDpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudFVua25vd24ifX07CkpGPWZ1bmN0aW9uKGEsYil7cmV0dXJuISFifHwhKGEuY29tbWFuZFJ1bnMmJmEuY29tbWFuZFJ1bnMubGVuZ3RoIT09MHx8YS5wYXJhZ3JhcGhTdHlsZVJ1bnMmJmEucGFyYWdyYXBoU3R5bGVSdW5zLmxlbmd0aCE9PTApfTtTY2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hLnJ1bjsoYy5vblRhcCE9PXZvaWQgMHx8Yy5vbkxvbmdQcmVzcyE9PXZvaWQgMCkmJl8uQihjLHpGKSYmXy5KeChiLHtkYXRhOntsb2dnaW5nRGlyZWN0aXZlczpfLkIoYyx6Ril9LG9ic2VydmVyOl8ueSgpLnJlc29sdmUoXy5MeCksTmM6Xy5uRixlYjpfLm1GLGxheWVyOmIubGF5ZXJ9KX19O0tGPWZ1bmN0aW9uKGEsYixjLGQpe2ZvcihsZXQgZSBvZiBhLmxjKXtpZih0eXBlb2YgZT09PSJzdHJpbmciKXRocm93IEVycm9yKCJZYyIpO2lmKGUuc3RhcnQ8PWImJmM8PWUuZW5kKXtLRihlLGIsYyxkKTtyZXR1cm59fWEubGMucHVzaCh7ZGF0YTpkLGxjOltdLHN0YXJ0OmIsZW5kOmN9KX07CkxGPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBkPWIubGMubGVuZ3RoO2Q+PTA7ZC0tKXtsZXQgZT1iLmxjW2RdO3ZhciBjPWIubGNbZC0xXTtsZXQgZj1kPT09Yi5sYy5sZW5ndGg/Yi5lbmQ6ZS5zdGFydDtjPWQ9PT0wP2Iuc3RhcnQ6Yy5lbmQ7ZiE9PWMmJmIubGMuc3BsaWNlKGQsMCxhLnNsaWNlKGMsZikpO2UmJkxGKGEsZSl9fTtUY2E9ZnVuY3Rpb24oYSl7YS5zb3J0KChiLGMpPT57aWYoYi5zdGFydEluZGV4PGMuc3RhcnRJbmRleClyZXR1cm4tMTtpZihjLnN0YXJ0SW5kZXg8Yi5zdGFydEluZGV4KXJldHVybiAxO2I9Yi53bC1iLnN0YXJ0SW5kZXg7Yz1jLndsLWMuc3RhcnRJbmRleDtyZXR1cm4gYj5jPy0xOmM+Yj8xOjB9KX07Ck1GPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE9PT12b2lkIDB8fGI9PT12b2lkIDA/ITE6Xy54KCJ3ZWJfYXR0cmlidXRlZF9zdHJpbmdfZGVlcF9lcXVhbF9idWdmaXgiKT92RihhLGIpOmEuY29udGVudD09PWIuY29udGVudCYmYS5zdHlsZVJ1bnM/Lmxlbmd0aD09PWIuc3R5bGVSdW5zPy5sZW5ndGgmJmEuY29tbWFuZFJ1bnM/Lmxlbmd0aD09PWIuY29tbWFuZFJ1bnM/Lmxlbmd0aCYmYS5hdHRhY2htZW50UnVucz8ubGVuZ3RoPT09Yi5hdHRhY2htZW50UnVucz8ubGVuZ3RoJiZhLmRlY29yYXRpb25SdW5zPy5sZW5ndGg9PT1iLmRlY29yYXRpb25SdW5zPy5sZW5ndGh9O1VjYT1mdW5jdGlvbih7bGM6YX0pe3JldHVybiBhLm1hcChORil9OwpORj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhO3ZhciBiPWEuZGF0YTtiLmltYWdlIT09dm9pZCAwJiZiLmdqIT09dm9pZCAwPyhiPWEuZGF0YS5PbCxhPV8uSygic3BhbiIse2NsYXNzOmI/LmNsYXNzTmFtZSxzdHlsZTpCRihiPy5zdHlsZSksZGlyOmI/LmRpcixyb2xlOmI/LnJvbGUsdGFiaW5kZXg6Yj8udGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGIudGFiaW5kZXgpOnZvaWQgMCwiZm9yY2UtbmV3LXN0YXRlIjpiPy5xZCwib246Y2xpY2siOmI/Lm9uY2xpY2ssIm9uOnRvdWNoZW5kIjpiPy5vbnRvdWNoZW5kLCJvbjp0b3VjaG1vdmUiOmI/Lm9udG91Y2htb3ZlLCJvbjp0b3VjaHN0YXJ0IjpiPy5vbnRvdWNoc3RhcnR9LF8uSyhfLmpGLHtkYXRhOmEuZGF0YS5pbWFnZSwuLi5hLmRhdGEuZ2p9KSkpOihiPWEuZGF0YS5jb25maWcsYT1fLksoYS5kYXRhLnRhZyx7ZWw6Xy5yRihTY2EoYS5kYXRhKSksInByb3A6X2RhdGEiOmI/Lm51LCJwcm9wOnBhcmFtcyI6Yj8ucGFyYW1zLApjbGFzczpiPy5jbGFzc05hbWUsc3R5bGU6QkYoYj8uc3R5bGUpLGRpcjpiPy5kaXIsaHJlZjpiPy5ocmVmLHJlbDpiPy5yZWwscm9sZTpiPy5yb2xlLHRhcmdldDpiPy50YXJnZXQsdGl0bGU6Yj8udGl0bGUsdGFiaW5kZXg6Yj8udGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGIudGFiaW5kZXgpOnZvaWQgMCwiYXJpYS1oYXNwb3B1cCI6Yj8uYXJpYUhhc1BvcHVwLCJmb3JjZS1uZXctc3RhdGUiOmI/LnFkLCJhcmlhLWhpZGRlbiI6Yj8uYXJpYUhpZGRlbiwiYXJpYS1leHBhbmRlZCI6Yj8uYXJpYUV4cGFuZGVkLCJhcmlhLWxhYmVsIjpiPy5hcmlhTGFiZWwsIm9uOmNsaWNrIjpiPy5vbmNsaWNrLCJvbjp0b3VjaGVuZCI6Yj8ub250b3VjaGVuZCwib246dG91Y2htb3ZlIjpiPy5vbnRvdWNobW92ZSwib246dG91Y2hzdGFydCI6Yj8ub250b3VjaHN0YXJ0LCJvbjpwb2ludGVyZG93biI6Yj8ub25wb2ludGVyZG93biwib246a2V5ZG93biI6Yj8ub25rZXlkb3dufSxhLmxjLm1hcChORikpKTsKcmV0dXJuIF8uZkMoYSl9O1ZjYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09Yj8hMDphPT09dm9pZCAwfHxiPT09dm9pZCAwPyExOmEuQ2o9PT1iLkNqJiZhLnViPT09Yi51YiYmYS5tYT09PWIubWEmJmEuaGVhZGVyUnVucz09PWIuaGVhZGVyUnVucyYmYS5pc092ZXJsYXk9PT1iLmlzT3ZlcmxheSYmYS5YYT09PWIuWGEmJmEudXNlcklucHV0PT09Yi51c2VySW5wdXQmJmEucWg9PT1iLnFofTtXY2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pih7YXJpYUxhYmVsOmEuYXJpYUxhYmVsPy4oKSxjbGFzc05hbWU6YS5jbGFzc05hbWU/LigpLHljOmEueWM/LigpLGlzT3ZlcmxheTphLmlzT3ZlcmxheT8uKCksWGE6YS5YYT8uKCksbWE6YS5tYT8uKCksQ2o6YS5Daj8uKCksdWI6YS51Yj8uKCkscmc6YS5yZz8uKCksbm9XcmFwOmEubm9XcmFwPy4oKSxJZDphLklkPy4oKSx1c2VySW5wdXQ6YS51c2VySW5wdXQ/LigpLGhlYWRlclJ1bnM6YS5oZWFkZXJSdW5zPy4oKSxxaDphLnFoPy4oKX0pfTsKSWNhPS8jKC4pKC4pKC4pLztIY2E9L14jKD86WzAtOWEtZl17M30pezEsMn0kL2k7Xy5YY2E9bmV3IF8uSSgiZW1vamkiKTt2YXIgekY9bmV3IF8uSSgibG9nZ2luZ0RpcmVjdGl2ZXMiKTtfLlljYT1uZXcgXy5JKCJ1bnBsdWdnZWRTdHJpbmdSdW5JbWFnZSIpO3ZhciBNY2E9bmV3IF8uSSgiaGlnaGxpZ2h0VGV4dERlY29yYXRvckNvbG9yTWFwRXh0ZW5zaW9uIik7dmFyIFBjYT1uZXcgXy5JKCJzdHlsZVJ1bkNvbG9yTWFwRXh0ZW5zaW9uIik7dmFyIFpjYT1uZXcgXy5JKCJhY2Nlc3NpYmlsaXR5UHJvcGVydGllcyIpO3ZhciBHRj1uZXcgXy5JKCJicmFja2V0VGV4dERlY29yYXRvciIpO18uRkY9bmV3IF8uSSgiaGlnaGxpZ2h0VGV4dERlY29yYXRvciIpO3ZhciAkY2E9bmV3IF8uSSgiaW1hZ2VUeXBlIik7dmFyIGFkYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD01MDA7dGhpcy5qPU5hTjt0aGlzLnY9dGhpcy5vPSExO3RoaXMuQj1hPT57dmFyIGI9bmV3IEN1c3RvbUV2ZW50KCJMT05HX1BSRVNTIik7YS5jaGFuZ2VkVG91Y2hlc1swXS50YXJnZXQ/LmRpc3BhdGNoRXZlbnQoYil9O3RoaXMub250b3VjaHN0YXJ0PWE9Pnt0aGlzLmo9Xy5xeChfLmpmLCgpPT57dGhpcy5CKGEpO3RoaXMubz0hMH0sdGhpcy5EKX07dGhpcy5vbnRvdWNobW92ZT0oKT0+e18uamYuQWEodGhpcy5qKTt0aGlzLmo9TmFOO3RoaXMubz0hMTt0aGlzLnY9ITB9O3RoaXMub250b3VjaGVuZD1hPT57dGhpcy5qJiYhdGhpcy5vJiYhdGhpcy52JiZhLmNoYW5nZWRUb3VjaGVzWzBdLnRhcmdldD8uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNsaWNrIikpO18uamYuQWEodGhpcy5qKTt0aGlzLmo9TmFOO3RoaXMudj10aGlzLm89ITF9fX07dmFyIEtjYT1jbGFzcyBleHRlbmRzIGFkYXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9YTt0aGlzLkI9Yj0+e3RoaXMuY2FsbGJhY2s/LihiKX19fTt2YXIgYmRhO2JkYT1fLngoImFsbG93X25lc3RlZF9yZW5kZXJfa3MiKT92b2lkIDA6e0lrOl8uWEN9OwpfLlY9Xy5MKGE9Pnt2YXIgYj1XY2EoYSksYz1lPT57dmFyIGYsaCxrPV8uckYocD0+e2Y9ZSgpO2g9Xy51digoKT0+e2Zvcih2YXIgciBvZiBtKCkpe2xldCB0PU5GKHIpO3Q9dHlwZW9mIHQ9PT0ic3RyaW5nIj9kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KTp0O2lmKCEodCBpbnN0YW5jZW9mIE5vZGUpKXtyPW5ldyBfLlhqKCJQYXJ0IGlzIG5vdCBhIG5vZGUiLHQsdHlwZW9mIHQpO18uR3Aocik7YnJlYWt9cC5hcHBlbmRDaGlsZCh0KX19KX0pLGw9Xy51RihiLHtpc0VxdWFsOlZjYX0pLG09KCk9Pnt2YXIgcD1lKCkscj1sKCksdD1bXSx2PXAuY29udGVudC5sZW5ndGgsej1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtpZihwLnBhcmFncmFwaFN0eWxlUnVucylmb3IobGV0IE0gb2YgcC5wYXJhZ3JhcGhTdHlsZVJ1bnMpe3ZhciBFPXQsQT1FLnB1c2g7YTp7aWYoIU0ubGlzdEdyb3VwPy5saXN0SXRlbXMpe3ZhciBGPVtdO2JyZWFrIGF9Rj1bXTtiOnN3aXRjaChNLmxpc3RHcm91cC5saXN0VHlwZSl7Y2FzZSAiTElTVF9UWVBFX0JVTExFVCI6dmFyIEM9CiJ1bCI7YnJlYWsgYjtkZWZhdWx0OkM9InNwYW4ifUYucHVzaChIRih7cnVuOk0sdGV4dExlbmd0aDp2LHRhZzpDLGNvbmZpZzp7Y2xhc3NOYW1lOiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaXN0R3JvdXAifSxzdGFydEluZGV4Ok0uc3RhcnRJbmRleCxsZW5ndGg6TS5sZW5ndGh9KSk7Zm9yKGxldCBTIG9mIE0ubGlzdEdyb3VwLmxpc3RJdGVtcyl7Yjpzd2l0Y2goTS5saXN0R3JvdXAubGlzdFR5cGUpe2Nhc2UgIkxJU1RfVFlQRV9CVUxMRVQiOkM9ImxpIjticmVhayBiO2RlZmF1bHQ6Qz0ic3BhbiJ9Ri5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOkMsc3RhcnRJbmRleDpTLnN0YXJ0SW5kZXgsbGVuZ3RoOlMubGVuZ3RofSkpfX1BLmNhbGwoRSwuLi5GKX1pZihwLnN0eWxlUnVucyYmIXI/LkNqKWZvcih2YXIgRyBvZiBwLnN0eWxlUnVucylFPVFjYShHLHosciksdC5wdXNoKEhGKHtydW46Ryx0ZXh0TGVuZ3RoOnYsdGFnOiJzcGFuIixjb25maWc6RSxzdGFydEluZGV4Okcuc3RhcnRJbmRleCwKbGVuZ3RoOkcubGVuZ3RofSkpO2lmKHAuZGVjb3JhdGlvblJ1bnMpZm9yKHZhciBEIG9mIHAuZGVjb3JhdGlvblJ1bnMpRz1OY2EoRCx6KSxFPV8uQihELnRleHREZWNvcmF0b3IsR0YpLEE9Xy5CKEQudGV4dERlY29yYXRvcixHRiksdC5wdXNoKEhGKHtydW46RCx0ZXh0TGVuZ3RoOnYsdGFnOiJzcGFuIixjb25maWc6RyxzdGFydEluZGV4Ol8uQihELnRleHREZWNvcmF0b3IsXy5GRik/LnN0YXJ0SW5kZXh8fEU/LnN0YXJ0SW5kZXh8fDAsbGVuZ3RoOl8uQihELnRleHREZWNvcmF0b3IsXy5GRik/Lmxlbmd0aHx8QT8ubGVuZ3RofHwwfSkpO2lmKHAuY29tbWFuZFJ1bnMmJiFyPy5tYSlmb3IodmFyIEggb2YgcC5jb21tYW5kUnVucyl6PUxjYShILHIpLHQucHVzaChIRih7cnVuOkgsdGV4dExlbmd0aDp2LHRhZzoiYSIsY29uZmlnOnosc3RhcnRJbmRleDpILnN0YXJ0SW5kZXgsbGVuZ3RoOkgubGVuZ3RofSkpO2lmKHAuYXR0YWNobWVudFJ1bnMpZm9yKGxldCBNIG9mIHAuYXR0YWNobWVudFJ1bnMpe3A9CntjbGFzc05hbWU6Inl0QXR0cmlidXRlZFN0cmluZ0lubGluZUJsb2NrTW9kIn07TS5lbGVtZW50Py5wcm9wZXJ0aWVzJiYoSD17fSx6PV8uQihNLmVsZW1lbnQ/LnByb3BlcnRpZXMsXy5oRSksej8ubWFyZ2luJiYoej16Lm1hcmdpbixEPShHPV8udygiSFRNTF9ESVIiKT09PSJydGwifHxkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZSgiZGlyIik9PT0icnRsIik/ei5lbmR8fHoucmlnaHQ6ei5zdGFydHx8ei5sZWZ0LEc9Rz96LnN0YXJ0fHx6LmxlZnQ6ei5lbmR8fHoucmlnaHQsRCYmKEhbIm1hcmdpbi1sZWZ0Il09Q0YoRCkpLEcmJihIWyJtYXJnaW4tcmlnaHQiXT1DRihHKSksei50b3AmJihIWyJtYXJnaW4tdG9wIl09Q0Yoei50b3ApKSx6LmJvdHRvbSYmKEhbIm1hcmdpbi1ib3R0b20iXT1DRih6LmJvdHRvbSkpKSxIPU9iamVjdC5rZXlzKEgpLmxlbmd0aCE9PTA/SDp2b2lkIDAscC5zdHlsZT1IKTtIPXthbHQ6IiIsWWE6ITAsVGE6ITB9O3o9WyJ5dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUVsZW1lbnQiXTsKaWYoTS5hbGlnbm1lbnQpe2E6c3dpdGNoKE0uYWxpZ25tZW50KXtjYXNlICJBTElHTk1FTlRfQkFTRUxJTkUiOkQ9Inl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50QmFzZWxpbmUiO2JyZWFrIGE7Y2FzZSAiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUiI6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRWZXJ0aWNhbENlbnRlciI7YnJlYWsgYTtkZWZhdWx0OkQ9Inl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50Qm90dG9tIn16LnB1c2goRCl9TS5lbGVtZW50Py5wcm9wZXJ0aWVzJiYoRD17fSxHPV8uQihNLmVsZW1lbnQucHJvcGVydGllcyxfLmhFKSxHPy5oZWlnaHQmJihELmhlaWdodD1DRihHLmhlaWdodCkpLEc/LndpZHRoJiYoRC53aWR0aD1DRihHLndpZHRoKSksRD1PYmplY3Qua2V5cyhEKS5sZW5ndGghPT0wP0Q6dm9pZCAwLEguc3R5bGU9QkYoRCksSC5hbHQ9Xy5CKE0uZWxlbWVudC5wcm9wZXJ0aWVzLFpjYSk/LmxhYmVsfHwiIik7SC5jbGFzc05hbWU9Cnouam9pbigiICIpO3o9TS5lbGVtZW50Py50eXBlP18uQihNLmVsZW1lbnQudHlwZSwkY2EpPy5pbWFnZTp2b2lkIDA7dC5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOiJpbWciLGltYWdlOnosZ2o6SCxPbDpwLHN0YXJ0SW5kZXg6TS5zdGFydEluZGV4LGxlbmd0aDpNLmxlbmd0aD8/MH0pKX1pZihyPy5oZWFkZXJSdW5zKWZvcih2YXIgUiBvZiByLmhlYWRlclJ1bnMpaWYoUi5oZWFkZXJNYXBwaW5nJiZbIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMSIsIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMiIsIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMyJdLmluY2x1ZGVzKFIuaGVhZGVyTWFwcGluZykpe2E6e3N3aXRjaChSLmhlYWRlck1hcHBpbmcpe2Nhc2UgIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMSI6cj0ieXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzEiOwpicmVhayBhO2Nhc2UgIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMiI6cj0ieXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzIiO2JyZWFrIGE7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18zIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMyI7YnJlYWsgYX1yPXZvaWQgMH10LnB1c2goSEYoe3J1bjpSLHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpyP3tjbGFzc05hbWU6cn06dm9pZCAwLHN0YXJ0SW5kZXg6Ui5zdGFydEluZGV4LGxlbmd0aDpSLmxlbmd0aH0pKX1pZihsKCk/LnVzZXJJbnB1dClmb3IobGV0IE0gb2YgdCl7aWYoTS50YWc9PT0iYSJ8fE0udGFnPT09ImxpIiljb250aW51ZTtsZXQgUzsoUz1NKS5jb25maWd8fChTLmNvbmZpZz17fSk7TS50YWc9PT0idWwiP00uY29uZmlnLmRpcj1fLnkoKS5yZXNvbHZlKF8ubEYpOk0uY29uZmlnLmRpcj0iYXV0byJ9aWYoZSgpLmNvbnRlbnQpe3Y9ZSgpLmNvbnRlbnQ7ClRjYSh0KTtSPXtkYXRhOm51bGwsc3RhcnQ6MCxlbmQ6di5sZW5ndGgsbGM6W119O2ZvcihsZXQgTSBvZiB0KUtGKFIsTS5zdGFydEluZGV4LE0ud2wsTSk7TEYodixSKTt0PVIubGN9ZWxzZSB0PVtdO3JldHVybiB0fSxuPSEwO18ubkUoKCk9PntlKCk7bCgpO2lmKG4mJihuPSExLE1GKGUoKSxmKSkpcmV0dXJuO3ZhciBwPW0oKTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dmFyIHI9ay52YWx1ZTtyJiYoci5pbm5lclRleHQ9IiIsaD8uKCksaD1fLnhGKHIsKCk9Pl8uSyhVY2Ese2xjOnB9KSxiZGEpKX0pfSwidjJaMG9lIik7cmV0dXJuIF8uSygic3BhbiIse2VsOmssY2xhc3M6KCk9Pnt2YXIgcDtpZihwPWUoKSl7cD1lKCk7dmFyIHI9YigpO2xldCB0PVtdO3QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSG9zdCIpO3I/LmNsYXNzTmFtZSYmdC5wdXNoKHI/LmNsYXNzTmFtZSk7cj8ueWM/dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdFbGxpcHNpc1RydW5jYXRlIik6cj8ubm9XcmFwPwp0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VOb1dyYXAiKTpyPy5yZ3x8dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdXaGl0ZVNwYWNlUHJlV3JhcCIpO3I/LlhhJiZ0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IiKTtwLmFsaWdubWVudCYmdC5wdXNoKFJjYShwLmFsaWdubWVudCkpO3AubGluZUJyZWFrTW9kZSYmdC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdXb3JkV3JhcHBpbmciKTtwPXQuam9pbigiICIpfXJldHVybiBwfSxzdHlsZTphLnN0eWxlLGRpcjooKT0+YigpLnVzZXJJbnB1dD8iYXV0byI6dm9pZCAwLCJhcmlhLWxhYmVsIjooKT0+SkYoZSgpLGIoKS5hcmlhTGFiZWwpP2IoKS5hcmlhTGFiZWw6dm9pZCAwLHJvbGU6KCk9PkpGKGUoKSxiKCkuYXJpYUxhYmVsKT8idGV4dCI6dm9pZCAwfSl9LGQ9Xy51RigoKT0+e3ZhciBlPWEudGV4dD8uKCk7aWYoZSlyZXR1cm4gZT1lPy5jb250ZW50IT09dm9pZCAwP2U6Xy5BRihlKSwKZT8uY29udGVudD9lOnZvaWQgMH0se2lzRXF1YWw6TUZ9KTtyZXR1cm4gYS5ZdT9jKGQpOl8uSyhfLk8se0E6ZCx0aGVuOmN9KX0sInEiKTtfLlYuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFFKO1FKPWZ1bmN0aW9uKGEsYil7aWYoIWEpcmV0dXJuIG51bGw7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGMgb2YgYSlpZihhPWMudG9Mb3dlckNhc2UoKSxhLmluZGV4T2YoYixhLmxlbmd0aC1iLmxlbmd0aCk+LTEpcmV0dXJuIGM7cmV0dXJuIG51bGx9O18uUko9ZnVuY3Rpb24oYSl7dmFyIGI9UUooYSwiYWN0aW9uIil8fFFKKGEsImNvbW1hbmQiKXx8UUooYSwiZW5kcG9pbnQiKTtpZighYilyZXR1cm4gbnVsbDt7dmFyIGM9Inl0IitiO2xldCBkPV8uUEouZ2V0KGMpO2Q/Yz1kOihiPWB5dC0ke2IucmVwbGFjZSgvKFtBLVpdKS9nLCItJDEiKS50b0xvd2VyQ2FzZSgpfWAsXy5QSi5zZXQoYyxiKSxjPWIpfV8uQihhLF8uTkopJiYoYys9Ii0iK18uQihhLF8uTkopLnNpZ25hbC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL18vZywiLSIpKTtyZXR1cm4gY307Xy5TSj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj1uZXcgTWFwfX07Xy53YShfLlNKKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEZkYSxHZGEsQ0gsSGRhLERILEVILEZILElkYTtGZGE9ZnVuY3Rpb24oYSxiPTAsYz0tMSl7aWYoIWEudG90YWxMZW5ndGh8fCFjKXJldHVybiBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDApKTtjPDAmJihjPWEudG90YWxMZW5ndGgtYik7YS5mb2N1cyhiKTtpZighKGItYS52K2M8PWEualthLm9dLmxlbmd0aCkpe3ZhciBkPWEubyxlPWEudjthLmZvY3VzKGIrYy0xKTtlPW5ldyBVaW50OEFycmF5KGEudithLmpbYS5vXS5sZW5ndGgtZSk7bGV0IGY9MDtmb3IobGV0IGg9ZDtoPD1hLm87aCsrKWUuc2V0KGEualtoXSxmKSxmKz1hLmpbaF0ubGVuZ3RoO2Euai5zcGxpY2UoZCxhLm8tZCsxLGUpO2Eubz0wO2Eudj0wO2EuZm9jdXMoYil9ZD1hLmpbYS5vXTtyZXR1cm4gbmV3IERhdGFWaWV3KGQuYnVmZmVyLGQuYnl0ZU9mZnNldCtiLWEudixjKX07CkdkYT1mdW5jdGlvbihhLGI9MCxjPS0xKXthPUZkYShhLGIsYyk7cmV0dXJuIG5ldyBVaW50OEFycmF5KGEuYnVmZmVyLGEuYnl0ZU9mZnNldCxhLmJ5dGVMZW5ndGgpfTtDSD1mdW5jdGlvbihhLGIpe2EuZm9jdXMoYik7cmV0dXJuIGEualthLm9dW2ItYS52XX07CkhkYT1mdW5jdGlvbihhKXtpZighYS5sZW5ndGgpcmV0dXJuIiI7dHJ5e2lmKF8uc0EpcmV0dXJuIF8uc0EuZGVjb2RlKGEpO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgoYSl9Y2F0Y2h7fWZvcih2YXIgYj0wLGM9W10sZD1hLmxlbmd0aDtiPGQ7KXtsZXQgZj0wO2Zvcig7ZjwxMDI0JiZiPGQ7KXt2YXIgZT1hW2IrK107aWYoZTwxMjgpe18uckFbZisrXT1lO2NvbnRpbnVlfWlmKGU8MjI0KWU9KGUmMzEpPDw2fGFbYisrXSY2MztlbHNlIGlmKGU8MjQwKWU9KGUmMTUpPDwxMnwoYVtiKytdJjYzKTw8NnxhW2IrK10mNjM7ZWxzZXtpZihmKzE9PT0xMDI0KXstLWI7YnJlYWt9ZT0oZSY3KTw8MTh8KGFbYisrXSY2Myk8PDEyfChhW2IrK10mNjMpPDw2fGFbYisrXSY2MztlLT02NTUzNjtfLnJBW2YrK109NTUyOTZ8ZT4+MTA7ZT01NjMyMHxlJjEwMjN9Xy5yQVtmKytdPWV9ZT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKXy5yQSk7ZjwxMDI0JiYoZT1lLnN1YnN0cmluZygwLGYpKTtjLnB1c2goZSl9cmV0dXJuIGMuam9pbigiIil9O0RIPWZ1bmN0aW9uKGEpe3ZhciBiPUNIKGEuaixhLnBvcyk7KythLnBvcztpZihiPDEyOClyZXR1cm4gYjtmb3IodmFyIGM9YiYxMjcsZD0xO2I+PTEyODspYj1DSChhLmosYS5wb3MpLCsrYS5wb3MsZCo9MTI4LGMrPShiJjEyNykqZDtyZXR1cm4gY307RUg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm87Zm9yKGEubz0tMTthLnBvcysxPD1hLmoudG90YWxMZW5ndGg7KXtjPDAmJihjPURIKGEpKTt2YXIgZD1jPj4zO2xldCBlPWMmNztpZihkPT09YilyZXR1cm4hMDtpZihkPmIpe2Eubz1jO2JyZWFrfWM9LTE7c3dpdGNoKGUpe2Nhc2UgMDpESChhKTticmVhaztjYXNlIDE6YS5wb3MrPTg7YnJlYWs7Y2FzZSAyOmQ9REgoYSk7YS5wb3MrPWQ7YnJlYWs7Y2FzZSA1OmEucG9zKz00fX1yZXR1cm4hMX07Cl8uR0g9ZnVuY3Rpb24oYSl7YT1uZXcgSWRhKG5ldyBGSChbXy51YyhkZWNvZGVVUklDb21wb25lbnQoYSkpXSkpO2lmKEVIKGEsMikpe3ZhciBiPURIKGEpO3ZhciBjPUdkYShhLmosYS5wb3MsYik7YS5wb3MrPWI7Yj1jfWVsc2UgYj12b2lkIDA7Yj1iP0hkYShiKTp2b2lkIDA7YT1FSChhLDQpP0RIKGEpOnZvaWQgMDtjPV8udkFbYV07aWYodHlwZW9mIGM9PT0idW5kZWZpbmVkIil0aHJvdyBhPW5ldyBfLlhqKCJGYWlsZWQgdG8gcmVjb2duaXplIGZpZWxkIG51bWJlciIse25hbWU6IkVudGl0eUtleUhlbHBlckVycm9yIixXSTphfSksXy5HcChhKSxhO3JldHVybntSSTphLGVudGl0eVR5cGU6YyxlbnRpdHlJZDpifX07Xy5ISD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInBsYXllclN0YXRlRW50aXR5IixiKX07Xy5JSD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImJvb2xlYW5FbnRpdHkiLGIpfTsKRkg9Y2xhc3N7Y29uc3RydWN0b3IoYT1bXSl7dGhpcy5qPVtdO3RoaXMudG90YWxMZW5ndGg9dGhpcy52PXRoaXMubz0wO2EuZm9yRWFjaChiPT57dGhpcy5hcHBlbmQoYil9KX1hcHBlbmQoYSl7dmFyIGI9dGhpcy5qLmxlbmd0aD09PTA/ITE6KGI9dGhpcy5qW3RoaXMuai5sZW5ndGgtMV0pJiZiLmJ1ZmZlcj09PWEuYnVmZmVyJiZiLmJ5dGVPZmZzZXQrYi5sZW5ndGg9PT1hLmJ5dGVPZmZzZXQ7Yj8oYj10aGlzLmpbdGhpcy5qLmxlbmd0aC0xXSx0aGlzLmpbdGhpcy5qLmxlbmd0aC0xXT1uZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsYi5sZW5ndGgrYS5sZW5ndGgpLHRoaXMudj10aGlzLm89MCk6dGhpcy5qLnB1c2goYSk7dGhpcy50b3RhbExlbmd0aCs9YS5sZW5ndGh9c3BsaXQoYSl7dmFyIGI9bmV3IEZILGM9bmV3IEZIO2ZvcihsZXQgZCBvZiB0aGlzLmopYT49ZC5sZW5ndGg/KGIuYXBwZW5kKGQpLGEtPWQubGVuZ3RoKTphPyhiLmFwcGVuZChuZXcgVWludDhBcnJheShkLmJ1ZmZlciwKZC5ieXRlT2Zmc2V0LGEpKSxjLmFwcGVuZChuZXcgVWludDhBcnJheShkLmJ1ZmZlcixkLmJ5dGVPZmZzZXQrYSxkLmxlbmd0aC1hKSksYT0wKTpjLmFwcGVuZChkKTtyZXR1cm57ako6YixiTDpjfX1pc0ZvY3VzZWQoYSl7cmV0dXJuIGE+PXRoaXMudiYmYTx0aGlzLnYrdGhpcy5qW3RoaXMub10ubGVuZ3RofWZvY3VzKGEpe2lmKCF0aGlzLmlzRm9jdXNlZChhKSlmb3IoYTx0aGlzLnYmJih0aGlzLnY9dGhpcy5vPTApO3RoaXMudit0aGlzLmpbdGhpcy5vXS5sZW5ndGg8PWEmJnRoaXMubzx0aGlzLmoubGVuZ3RoOyl0aGlzLnYrPXRoaXMualt0aGlzLm9dLmxlbmd0aCx0aGlzLm8rPTF9fTtJZGE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5wb3M9MDt0aGlzLm89LTF9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEplYSxhSztKZWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1aSixkPV8uamYuR2EoKCk9PntjLlMoe3RleHQ6Yi50ZXh0LGxvY2F0aW9uOiRKLGFuY2hvcjphLG9mZnNldDpiLm9mZnNldCxzdHlsZTpiLnN0eWxlLGhvdGtleTpiLmhvdGtleX0pO2MubyghMCl9LDQsYi5kZWxheSk7Yy5qKGQpfTthSz1mdW5jdGlvbigpe3ZhciBhPVpKLGI9YS52KCk7YiYmKF8uamYuQWEoYiksYS5qKHZvaWQgMCkpO2EubyghMSl9OwpfLmJLPWZ1bmN0aW9uKGEsYil7dmFyIFtjLGRdPV8uQUMoKCk9PmEoKT8/Yj8uKCk/LnRleHQpO3JldHVybltlPT57dmFyIGY9Xy5OKCgpPT4oe2xvY2F0aW9uOiJib3R0b20iLG9mZnNldDoxNixkZWxheToxLC4uLmI/LigpLHRleHQ6YygpPz8iIn0pLHZvaWQgMCwiSUpVMzhkIik7Xy5uRSgoKT0+e3ZhciBsPWYoKTtfLkVBKCgpPT57Xy5qZi5HYSgoKT0+e1pKLm5vdGlmeShlLGwpfSw0KX0pfSwiV2xzZ1pjIik7dmFyIGg9KCk9PntKZWEoZSxmKCkpfSxrPSgpPT57YUsoKX07ZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixoKTtlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixoKTtlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGspO2UuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsayk7ZS5hZGRFdmVudExpc3RlbmVyKCJ0YXAiLGspO18uWXUoKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGgpO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsCmspO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsayk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0YXAiLGspO2FLKCl9KX0sZF19O3ZhciAkSj17bGVmdDoiMHB4IixyaWdodDoiYXV0byIsdG9wOiItMTAwcHgiLGJvdHRvbToiYXV0byJ9O3ZhciBaSj1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXtbdGhpcy5zdGF0ZSx0aGlzLlNdPV8uSih2b2lkIDAsdm9pZCAwLCJMZmt4b2YiKTtbdGhpcy5zaG93LHRoaXMub109Xy5KKCExLHZvaWQgMCwiazFGa29lIik7W3RoaXMudix0aGlzLmpdPV8uSih2b2lkIDAsdm9pZCAwLCJVbDhNSWMiKX1ub3RpZnkoYSxiKXt0aGlzLnN0YXRlKCk/LmFuY2hvcj09PWEmJnRoaXMuUyh7dGV4dDpiLnRleHQsbG9jYXRpb246JEosYW5jaG9yOmEsb2Zmc2V0OmIub2Zmc2V0LHN0eWxlOmIuc3R5bGUsaG90a2V5OmIuaG90a2V5fSl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5jSz1uZXcgXy5JKCJ0b29sdGlwVmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZEs9ZnVuY3Rpb24oYSxiKXtfLmFFKGEsey4uLmIsUHA6ITB9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBUYmE7VGJhPWZ1bmN0aW9uKGEsYil7dmFyIFtjLGRdPV8uSighMSx2b2lkIDAsIm1OeXd6YyIpLGU9ITEsZixoPWs9PntpZihmKXJldHVybiBfLksoZix7Li4ua30pO2lmKCFlKXtsZXQgbD1hKCk7ZT0hMDtpZihsIGluc3RhbmNlb2YgUHJvbWlzZSl7bGV0IG09Xy5hRDttPy5zdSgpO2wudGhlbihuPT57Zj1uO2QoITApO20/LkhyKCl9KS5jYXRjaChuPT57bT8uSHIoKTtpZihiPy5kZWJ1Z05hbWUpe3ZhciBwPW5ldyBfLlhqKCJmYWlsZWQgdG8gbG9hZCBjaHVuayIsYi5kZWJ1Z05hbWUsbj8udG9TdHJpbmc/LigpKTtfLkdwKHApfWVsc2UgXy5HcChuKTt0aHJvdyBuO30pfWVsc2UgcmV0dXJuIGY9bCxfLksoZix7Li4ua30pfXJldHVybiBfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKGYsey4uLmt9KX0pfTtfLmJELnNldChoLGEpO3JldHVybiBofTtfLmNEPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRiYShhLGI/e2RlYnVnTmFtZTpifTp2b2lkIDApfTtfLkpEPW5ldyBfLlZzKCJDSFVOS19SRUdJU1RSWV9UT0tFTiIpO18uYkQ9bmV3IFdlYWtNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZUs9bmV3IF8uVnMoIkxJR0hUX0VGRkVDVF9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS2VhO18uZks9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9IiI7Zm9yKGxldCBjIG9mIEtlYSlpZihhLmVuZHNXaXRoKGMpKXtiPWEuc2xpY2UoMCwtYy5sZW5ndGgpO2JyZWFrfWlmKGImJihhPU51bWJlcihiKSwhaXNOYU4oYSkpKXJldHVybiBhfX07S2VhPVsicmVtIiwicHgiLCJtcyIsIiUiLCJzIl07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLZGEsUkg7Xy5RSD1mdW5jdGlvbihhKXt2YXIgYj1fLlBIKCk7cmV0dXJuIEtkYShhLGIpfTtfLlBIPWZ1bmN0aW9uKCl7dmFyIGE9Xy55KCkucmVzb2x2ZShfLkluKFJIKSksW2IsY109Xy5KKGEsdm9pZCAwLCJ6TElZUmMiKTthfHxfLll0KFJILGMpO3JldHVybiBifTtLZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5OKCgpPT57dmFyIGM9YSgpO3JldHVybiBjP2IoKT8uKGMpOnZvaWQgMH0sdm9pZCAwLCJlUXhobWIiKX07Ukg9bmV3IF8uVnMoIlNFTUFOVElDX0xBWU9VVF9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmlLPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiT3RLU0plIik7cmV0dXJuIF8uVUN9O18uaks9Xy5jRCgoKT0+Xy5pSygpLCJ0b3VjaEZlZWRiYWNrU2hhcGUiKTtfLll0KF8uSkQsYT0+e2EuSigidG91Y2hGZWVkYmFja1NoYXBlIiwiT3RLU0plIixfLmlLKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga0ssTmVhLGxLLFBlYSxtSyxRZWEsUmVhLG5LLHBLLFZlYSxXZWEsWGVhLFllYTtrSz1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IFtjLGRdb2YgYS5qLmVudHJpZXMoKSliLnB1c2goe2VsZW1lbnQ6YyxQeTpkfSk7YS52KGIpfTtOZWE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7ZD0wfXZhciBkPTA7cmV0dXJuIGZ1bmN0aW9uKGUpe2R8fChkPV8udS5zZXRUaW1lb3V0KGMsYiksYS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKSl9fTtsSz1mdW5jdGlvbihhKXtyZXR1cm4haXNOYU4oTnVtYmVyKGEpKSYmIS9eW1xzXHhhMF0qJC8udGVzdChhKX07ClBlYT1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtjPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGEsW3t0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMHB4KSJ9LHt0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoJHsoZj9tSyhiLGMsZCxlKTpkPy0xOjEpKmh9cHgpYH1dLE9lYSksZG9jdW1lbnQudGltZWxpbmUpO2I/KGEuc3R5bGUuZGlzcGxheT0iIixjLm9uZmluaXNoPW51bGwpOmMub25maW5pc2g9KCk9PnthLnN0eWxlLmRpc3BsYXk9Im5vbmUifTtjLnBsYXkoKTtyZXR1cm4gY307bUs9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9TnVtYmVyKGEpKzEwO2I/YT8oYT1OdW1iZXIoYSksYj1OdW1iZXIoYiksYz1jP2I8YT9lOmUrMTA6YjxhP2UtMTA6ZSk6Yz1jPzMwOjA6Yz1hPT09IjAiP2U6Yz9lLTEwOmUrMTA7cmV0dXJuIGQtY307ClFlYT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJtb25vIjpzd2l0Y2goYil7Y2FzZSAiZmlsbGVkIjpyZXR1cm4gMTtjYXNlICJ0b25hbCI6cmV0dXJuIDM7Y2FzZSAib3V0bGluZSI6cmV0dXJuIDU7ZGVmYXVsdDpyZXR1cm4gMH1jYXNlICJtb25vLWludmVyc2UiOnN3aXRjaChiKXtjYXNlICJmaWxsZWQiOnJldHVybiAyO2Nhc2UgInRvbmFsIjpyZXR1cm4gNDtjYXNlICJvdXRsaW5lIjpyZXR1cm4gNjtkZWZhdWx0OnJldHVybiAwfWRlZmF1bHQ6cmV0dXJuIDB9fTsKUmVhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe3ZhciB7ZGlzYWJsZWQ6ayxpY29uUG9zaXRpb246bCxzdHlsZTptLGZvY3VzZWQ6bix1c2VPdXRsaW5lZEljb246cCxBYzpyfT1uSyhhKSx0PSgpPT4hIUEoKSYmbCgpPT09Imljb24tb25seSIsdj0oKT0+ISFBKCkmJmwoKT09PSJpY29uLW9ubHktNDAiLHo9KCk9PiEhQSgpJiZsKCk9PT0iaWNvbi13aXRoLWxhYmVsIixFPSgpPT4oaygpPyJkaXNhYmxlZCI6YSgpLnN0YXRlKT09PSJkaXNhYmxlZCJ8fGsoKSxBPSgpPT4hIWJ8fCEhZD8uKCl8fCEhcj8uKCksRj0oKT0+Xy54KCJhbmltYXRlX2ljb25fZGlzYWJsZWRfa2lsbHN3aXRjaCIpP2g/LigpOmg/LigpJiYhRSgpLEM9Xy5QSCgpLEc9KCk9Pl8ub0soYSgpLCEwLEMsYSgpLmlnbm9yZUljb25TaXplT3ZlcnJpZGUpO3JldHVybnt0eXBlOigpPT5tKCk9PT0iY2FsbC10by1hY3Rpb24taW52ZXJzZSI/InRleHQiOm0oKT09PSJvdmVybGF5LWRhcmsiJiZhKCkudHlwZSE9PSJmaWxsZWQiJiYKYSgpLnR5cGUhPT0idG9uYWwiPyJ0b25hbCI6YSgpLnR5cGUsdG46KCk9PihuKCl8fGY/LigpKSYmIWsoKSxJbDooKT0+ISFBKCkmJmwoKT09PSJsZWFkaW5nIixLbDooKT0+ISFBKCkmJmwoKT09PSJ0cmFpbGluZyIsSmw6KCk9PiEhQSgpJiYhKCFjJiYhZT8uKCkpJiZsKCk9PT0ibGVhZGluZy10cmFpbGluZyIsRXc6dCxGdzp2LEd3OnosaWNvbkJ1dHRvbjooKT0+dCgpfHx2KCl8fHooKSxqaTpFLHZ6OigpPT4hYSgpLmlnbm9yZUljb25TaXplT3ZlcnJpZGUmJnBLKGEoKSxBKCkpLG14OmI/YjooKT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjpyfSwoKT0+Xy5LKCJkaXYiLHtzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7RygpfXB4YCxoZWlnaHQ6KCk9PmAke0coKX1weGB9KSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uVyx7ZGF0YTpyfSx7YW5pbWF0ZWRBc3NldFZpZXdNb2RlbDooe2RhdGE6RH0pPT5fLksoXy5xSyx7ZGF0YTpELHNuOiEwfSl9KSkpLF8uSyhfLkRFLApudWxsLCgpPT5fLksoXy5NRCx7aWNvbjpkLFpwOigpPT5hKCkuY3VzdG9tQ29sb3JzPy5tSixzaXplOkcsYWN0aXZlOigpPT5hKCkudG9nZ2xlZCYmIXA/LigpLGFnOigpPT57YSgpfSxHZTpGfSkpKSxhQTpjP2M6KCk9Pl8uSyhfLk1ELHtpY29uOmUsc2l6ZTpHLGFjdGl2ZTooKT0+YSgpLnRvZ2dsZWQmJiFwPy4oKSxhZzooKT0+e2EoKX19KX19OwpuSz1mdW5jdGlvbihhKXtyZXR1cm57c2l6ZTooKT0+YSgpLnNpemUsc3R5bGU6KCk9PmEoKS5zdHlsZSxmb2N1c2VkOigpPT5hKCkuZm9jdXNlZCxkaXNhYmxlZDooKT0+YSgpLmRpc2FibGVkLG9uVGFwOmI9PmEoKS5vblRhcD8uKGIpLG9pOigpPT5hKCkub2ksdWM6KCk9PmEoKS51YyxjdXN0b21Db2xvcnM6KCk9PmEoKS5jdXN0b21Db2xvcnMsc2VnbWVudGVkUG9zaXRpb246KCk9PmEoKS5zZWdtZW50ZWRQb3NpdGlvbix0b2dnbGVkOigpPT5hKCkudG9nZ2xlZCx0b2dnbGVhYmxlOigpPT5hKCkudG9nZ2xlYWJsZSxhY2Nlc3NpYmlsaXR5TGFiZWw6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5TGFiZWwsSGU6KCk9PmEoKS5IZSxvblRvZ2dsZTpiPT5hKCkub25Ub2dnbGU/LihiKSxpY29uUG9zaXRpb246KCk9PmEoKS5pY29uUG9zaXRpb24sb25lT2ZmQ3VzdG9tVGV4dFdyYXA6KCk9PmEoKS5vbmVPZmZDdXN0b21UZXh0V3JhcCxJZjooKT0+YSgpLklmLEFwOigpPT5hKCkuQXAsdG9vbHRpcFRleHQ6KCk9PgphKCkudG9vbHRpcFRleHQsRG46KCk9PmEoKS5EbixhcmlhSGlkZGVuOigpPT5hKCkuYXJpYUhpZGRlbixhcmlhRXhwYW5kZWQ6KCk9PmEoKS5hcmlhRXhwYW5kZWQsdGFiSW5kZXg6KCk9PmEoKS50YWJJbmRleCxidXR0b25UZXh0OigpPT5hKCkuYnV0dG9uVGV4dCxXYTooKT0+YSgpLldhLGFiOigpPT5hKCkuYWIsb25DbGlja1JhdGVMaW1pdE1zOigpPT5hKCkub25DbGlja1JhdGVMaW1pdE1zLG9uSG92ZXI6Yj0+YSgpLm9uSG92ZXI/LihiKSxtaWRkbGVncm91bmRBc3NldDooKT0+YSgpLm1pZGRsZWdyb3VuZEFzc2V0LEFjOigpPT5hKCkuQWMsZGlzYWJsZUxpZ2h0U2hhcGU6KCk9PmEoKS5kaXNhYmxlTGlnaHRTaGFwZSx1c2VPdXRsaW5lZEljb246KCk9PmEoKS51c2VPdXRsaW5lZEljb259fTsKcEs9ZnVuY3Rpb24oYSxiKXtiPShhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHkifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHktNDAifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLXdpdGgtbGFiZWwiKSYmYjtyZXR1cm4hYS5zZWdtZW50ZWRQb3NpdGlvbiYmYiYmYS5zaXplPT09IlMifTsKXy5vSz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jKCk7aWYoXy54KCJ3ZWJfYnV0dG9uX2ljb25fc2l6ZV9leHBlcmltZW50Iikpe2E6e2M9Xy5mSyhlPy4oU2VhKSk/PzEyO3ZhciBmPV8uZksoZT8uKFRlYSkpPz8xODtlPV8uZksoZT8uKHJLKSk/PzI0O2xldCBoPWEuaWNvblBvc2l0aW9uPT09Imljb24tb25seSImJiFhLnNlZ21lbnRlZFBvc2l0aW9ufHxhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHktNDAifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLXdpdGgtbGFiZWwiO3N3aXRjaChhLnNpemUpe2Nhc2UgIlhTIjphPWM7YnJlYWsgYTtjYXNlICJTIjphPSFkJiZwSyhhLGIpP2U6ZjticmVhayBhO2Nhc2UgIk0iOmE9aD9lOmY7YnJlYWsgYTtkZWZhdWx0OmE9ZX19cmV0dXJuIGF9Yz1fLmZLKGU/LihVZWEpKT8/MTY7Zj1fLmZLKGU/LihySykpPz8yNDtzd2l0Y2goYS5zaXplKXtjYXNlICJYUyI6cmV0dXJuIGM7Y2FzZSAiUyI6cmV0dXJuIWQmJnBLKGEsYik/ZjpjO2RlZmF1bHQ6cmV0dXJuIGZ9fTsKVmVhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJmaWxsZWQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQiO2Nhc2UgIm91dGxpbmUiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lIjtjYXNlICJ0b25hbCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0In19OwpXZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImNhbGwtdG8tYWN0aW9uIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uIjtjYXNlICJjYWxsLXRvLWFjdGlvbi1vdmVybGF5IjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheSI7Y2FzZSAibW9ubyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8iO2Nhc2UgIm92ZXJsYXkiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5IjtjYXNlICJvdmVybGF5LWRhcmsiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyayI7Y2FzZSAiY2FsbC10by1hY3Rpb24taW52ZXJzZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UiO2Nhc2UgIm1vbm8taW52ZXJzZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlIjtjYXNlICJicmFuZC1ncmFkaWVudCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQiOwpjYXNlICJnZW4tYWktZ3JhZGllbnQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50IjtjYXNlICJyYWlzZWQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRSYWlzZWQiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ifX07WGVhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJYUyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcyI7Y2FzZSAiUyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTIjtjYXNlICJMIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwiO2Nhc2UgIlhMIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTSJ9fTsKWWVhPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9Xy5oSygpO18ubkUoKCk9PntiJiYoYSgpP2Muai5zZXQoYix2b2lkIDApOmMuai5kZWxldGUoYiksa0soYykpfSwib0dRY2ljIik7Xy5ZdSgoKT0+e2Muai5kZWxldGUoYik7a0soYyl9KX19O18udEs9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJuTzVkVGQiKTtyZXR1cm4gXy5ZSn07Xy5xSz1fLmNEKCgpPT5fLnRLKCksImFuaW1hdGVkQXNzZXRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYW5pbWF0ZWRBc3NldFZpZXdNb2RlbCIsIm5PNWRUZCIsXy50Syl9KTt2YXIgT2VhPXtkdXJhdGlvbjoxRTMsZWFzaW5nOiJlYXNlIixmaWxsOiJmb3J3YXJkcyJ9LHVLPV8uTChhPT57dmFyIGI9Xy51RSgiYW5pbWF0ZWQtcm9sbGluZy1jaGFyYWN0ZXIiKSxjPXZvaWQgMCxkPV8uTigoKT0+bEsoYS5KYz8uKCkpfHxsSyhhLnhlPy4oKSksdm9pZCAwLCJxU0REOWQiKSxbZSxmXT1fLkooMCx2b2lkIDAsIlNJZ0tEZCIpO18ub0YoKCk9PntpZih3aW5kb3cuUmVzaXplT2JzZXJ2ZXImJl8ueCgid2ViX2ZpeF9yb2xsaW5nX251bWJlcnNfem9vbV9zYWZhcmkiKSl7bGV0IGg9bmV3IF8uV3QoKCk9Pnt2YXIgbD1NYXRoLnJvdW5kKChiLnZhbHVlLnF1ZXJ5U2VsZWN0b3IoImRpdiIpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ/PzApKjEwMCkvMTAwO2wmJmYobCl9LDUwMCksaz1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9PntoLnYoKX0pO2sub2JzZXJ2ZShiLnZhbHVlKTtfLll1KCgpPT57ay5kaXNjb25uZWN0KCk7aC5kaXNwb3NlKCl9KX19KTtfLm5FKCgpPT4Ke3ZhciBoPV8ueCgid2ViX2ZpeF9yb2xsaW5nX251bWJlcnNfem9vbV9zYWZhcmkiKT9lOmEuQmg7aWYoaCgpKXtjPy5jYW5jZWwoKTtpZihkKCkpe3ZhciBrPWEueGU/LigpP051bWJlcihhLnhlKCkpKzEwOmEuRWQoKT8wOjMwO2EueGI/LigpfHwoay09bUsoYS5KYz8uKCksYS54ZT8uKCksYS5FZCgpLGspKX1lbHNlIGlmKGs9YS5FZCgpPzA6MiwhYS54Yj8uKCkpe3ZhciBsPWEuRWQoKT8tMToxO2stPWx9Yi52YWx1ZS5zdHlsZS5tYXJnaW5Ub3A9YC0ke2sqaCgpfXB4YDthLnhiPy4oKT9jPVBlYShiLnZhbHVlLGEuSmM/LigpLGEueGU/LigpLGEuRWQoKSxrLGQoKSxoKCkpOmIudmFsdWUuc3R5bGUuZGlzcGxheT1hLkpjPy4oKT8iIjoibm9uZSJ9fSwiTko0Z0EiKTtyZXR1cm4gXy5LKCJhbmltYXRlZC1yb2xsaW5nLWNoYXJhY3RlciIse2VsOmIsY2xhc3M6ImFuaW1hdGVkUm9sbGluZ0NoYXJhY3Rlckhvc3QifSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKFplYSxudWxsKSxXOigpPT4KXy5LKCRlYSx7SmM6YS5KY30pfSkpfSwiZ2EiKTt1Sy5pZG9tQ29tcGF0PSEwO3ZhciBaZWE9Xy5MKCgpPT57dmFyIGE9W107Zm9yKGxldCBiPTE7YjwzMDtiKyspYS5wdXNoKF8uSygiZGl2IixudWxsLGIlMTApKTtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoImRpdiIsbnVsbCwiXHUwMGEwIiksYSxfLksoImRpdiIsbnVsbCwiXHUwMGEwIikpfSwiaGEiKSwkZWE9Xy5MKCh7SmM6YX0pPT5fLksoXy5JQixudWxsLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSxfLksoXy5PLHtBOigpPT4hYT8uKCl8fC9eW1xzXHhhMF0qJC8udGVzdChhPy4oKSksdGhlbjooKT0+Xy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpLFc6KCk9Pl8uSygiZGl2IixudWxsLGEpfSksXy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpKSwiaWEiKTt2YXIgdks9Xy5MKGE9Pnt2YXIgYj12b2lkIDAsYz12b2lkIDA7Xy5uRSgoKT0+e2I9YS5YYigpO2M9YS5udW1iZXJWYWx1ZT8uKCl9LCJyN3RxUWQiKTt2YXIgZD1fLk4oKCk9PntpZighYS5YYigpKXJldHVybltdO3ZhciBlPWEuUXA/LigpfHwhY3x8IWEubnVtYmVyVmFsdWU/LigpfHxjPGEubnVtYmVyVmFsdWUoKSxmPWEuWGIoKSxoPWEuZ2g/LigpP2EuaGVpZ2h0UHgoKSphLmdoKCk6YS5oZWlnaHRQeCgpLGs9ISFhLnhiPy4oKSxsPVtdLG09MCxuPTAscD0oYj9iLnJlcGxhY2UoL1xEL2csIiIpLmxlbmd0aDowKS0oZj9mLnJlcGxhY2UoL1xEL2csIiIpLmxlbmd0aDowKSxyPWI/Yi5zcGxpdCgvKFxkKS8pLmZpbHRlcihCb29sZWFuKTpbXTtmb3IoZj1mLnNwbGl0KC8oXGQpLykuZmlsdGVyKEJvb2xlYW4pO3A8MDspe3ZhciB0PWZbbl07bC5wdXNoKHtKYzp0LEVkOmUsQmg6aCx4YjprfSk7bisrO2xLKHQpJiZwKyt9Zm9yKDttPHA7KXQ9clttXSxsLnB1c2goe3hlOnQsRWQ6ZSwKQmg6aCx4YjprfSksbSsrLGxLKHQpfHxwKys7Zm9yKDtuPGYubGVuZ3RoOylwPWZbbl0sdD1yW21dLGxLKHApPT09bEsodCk/KG4rKyxtKyspOmxLKHApPyhtKysscD12b2lkIDApOmxLKHQpJiYobisrLHQ9dm9pZCAwKSxsLnB1c2goe0pjOnAseGU6dCxFZDplLEJoOmgseGI6a30pO3JldHVybiBsfSx2b2lkIDAsIndtbkhSIik7cmV0dXJuIF8uSygieXQtYW5pbWF0ZWQtcm9sbGluZy1udW1iZXIiLHtjbGFzczoiYW5pbWF0ZWRSb2xsaW5nTnVtYmVySG9zdCIsc3R5bGU6KCk9PmEuWGIoKT9bYGhlaWdodDogJHthLmdoPy4oKT9hLmhlaWdodFB4KCkqYS5naCgpOmEuaGVpZ2h0UHgoKX1weDtgLGBsaW5lLWhlaWdodDogJHthLmhlaWdodFB4KCl9cHg7YF0uam9pbigiICIpOiIiLGRpcjoibHRyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uZ0cse3BhOmQsdGI6IklOREVYIn0sZT0+Xy5LKHVLLHtKYzooKT0+ZSgpLkpjLHhlOigpPT5lKCkueGUsQmg6KCk9PmUoKS5CaCxFZDooKT0+CmUoKS5FZCx4YjooKT0+ZSgpLnhifSkpKX0sImthIik7dksuaWRvbUNvbXBhdD0hMDt2YXIgYWZhPVsibW9ubyIsIm1vbm8taW52ZXJzZSIsIm92ZXJsYXkiXSxiZmE9WyJmaWxsZWQiXTt2YXIgd0s9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHhLO2E6e3ZhciB5Sz1fLmJjKCk7eUs9eUsudG9Mb3dlckNhc2UoKTtpZih5Sy5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeks9eUsubWF0Y2goL2FuZHJvaWRccyooXGQrKFwuXGQrKT8pW147fCldKls7KV0vKTtpZih6Syl7bGV0IGE9cGFyc2VGbG9hdCh6S1sxXSk7aWYoYTwxMDApe3hLPWE7YnJlYWsgYX19dmFyIEFLPXlLLm1hdGNoKCIoIitPYmplY3Qua2V5cyh3Sykuam9pbigifCIpKyIpIik7eEs9QUs/d0tbQUtbMF1dOjB9ZWxzZSB4Sz12b2lkIDB9Xy5CSz14Sz49MDt2YXIgQ0ssRks7e3ZhciBESz1fLmJjKCk7bGV0IGE9REsubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighYXx8YS5sZW5ndGg8MilDSz12b2lkIDA7ZWxzZXt2YXIgRUs9REsubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsgKFU7ICk/Q1BVIChpUGhvbmUgKT9PUyAoXGQrX1xkKVtfIF0vKTtDSz1FSyYmRUsubGVuZ3RoPT09Nj9OdW1iZXIoRUtbNV0ucmVwbGFjZSgiXyIsIi4iKSk6MH19Rks9Q0s7Xy5HSz1GSz49MDt2YXIgVWVhPXt5dFN5c01lYXN1cmVtZW50UmVmZXJlbmNlOiJZVF9TWVNfTUVBU1VSRU1FTlRfUkVGRVJFTkNFX0lDT05fU0laRV9DT05ERU5TRUQifSxySz17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfQ09NRk9SVEFCTEUifSxTZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX01JTkkifSxUZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX0NPTVBBQ1QifSxjZmE9Xy5MKGE9Pl8uSyhfLk8se0E6YS51Yyx0aGVuOmI9Pl8uSyhfLm5ILHt1YzpiLGRpc2FibGVkOmEuZGlzYWJsZWQsY2xhc3NOYW1lOmEuY2xhc3NOYW1lLHN0eWxlOmEuc3R5bGUsdGl0bGU6YS50aXRsZSxhcmlhTGFiZWw6YS5hcmlhTGFiZWwsSGU6YS5IZSxhcmlhQ3VycmVudDooKT0+YS50b2dnbGVhYmxlPy4oKSYmCmEudG9nZ2xlZD8uKCksYXJpYUV4cGFuZGVkOmEuYXJpYUV4cGFuZGVkLHJlZjphLnJlZixvbkhvdmVyOmEub25Ib3Zlcn0sYS5jaGlsZHJlbiksVzooKT0+Xy5LKCJidXR0b24iLHtlbDpfLnJGKGEucmVmKSwib246Y2xpY2siOmEub25DbGljaywib246bW91c2VlbnRlciI6YS5vbkhvdmVyLGNsYXNzOmEuY2xhc3NOYW1lLHRpdGxlOmEudGl0bGUsc3R5bGU6YS5zdHlsZSxkaXNhYmxlZDphLmRpc2FibGVkLCJhcmlhLXByZXNzZWQiOigpPT5hLnRvZ2dsZWFibGU/LigpPyEhYS50b2dnbGVkPy4oKTp2b2lkIDAsImFyaWEtbGFiZWwiOmEuYXJpYUxhYmVsLCJhcmlhLWRlc2NyaWJlZGJ5IjphLkhlLCJhcmlhLWRpc2FibGVkIjphLmppLCJhcmlhLWhpZGRlbiI6YS5hcmlhSGlkZGVuLCJhcmlhLWV4cGFuZGVkIjphLmFyaWFFeHBhbmRlZCx0YWJpbmRleDooKT0+YS50YWJJbmRleD8uKCk/PygoXy5Pa3x8Xy5yeigpKSYmXy54KCJ3ZWJfZW5hYmxlX3NhZmFyaV9idXR0b25fdGFiaW5kZXhfZml4Iik/CjA6dm9pZCAwKX0sYS5jaGlsZHJlbil9KSwibGEiKSxkZmE9Xy5MKCh7ZGF0YTphLElsOmIsSmw6YyxLbDpkLGljb25CdXR0b246ZSxpeDpmLFp6OmgsaWNvbjprLHNlY29uZGFyeUljb246bCxVQTptLEp5Om4samk6cCxkaXNhYmxlTGlnaHRTaGFwZTpyfSk9Pnt2YXIgdD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5lSykpLHY9Xy5JRSh7Y29sb3I6KCk9PmEoKS5jdXN0b21Db2xvcnM/Lmljb25Db2xvcn0pO3JldHVybiBfLksoSEsse2NsYXNzTmFtZToiIixzdHlsZToiZGlzcGxheTogaW5oZXJpdDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIifSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJWNHoxVWMiLEE6KCk9PmsmJihiKCl8fGMoKXx8ZT8uKCkpLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSygiZGl2Iix7Y2xhc3M6ZixzdHlsZTp2LCJhcmlhLWhpZGRlbiI6InRydWUifSxrPy4oKSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToib2szYnRiIixBOigpPT4oYSgpLmJ1dHRvblRleHR8fAphKCkuYWJ8fGEoKS5XYSkmJiFlPy4oKSx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoSUsse2NsYXNzTmFtZTptLGljb25Qb3NpdGlvbjooKT0+YSgpLmljb25Qb3NpdGlvbix0ZXh0OigpPT5hKCkuYnV0dG9uVGV4dCxvbmVPZmZDdXN0b21UZXh0V3JhcDooKT0+YSgpLm9uZU9mZkN1c3RvbVRleHRXcmFwLFdhOigpPT5hKCkuV2EsYWI6KCk9PmEoKS5hYn0pKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IkRPNVJ6IixBOmQsdGhlbjooKT0+Xy5LKEhLLG51bGwsXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOnZ9LGs/LigpKSl9KSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJibm9qU2MiLEE6Yyx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoImRpdiIse2NsYXNzOmgsc3R5bGU6dn0sbD8uKCkpKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IkhOM2thZCIsQTooKT0+IWEoKS5kaXNhYmxlZCYmISh0Py5XbyYmIXA/LigpKSx0aGVuOigpPT5fLksoXy5qSyx7bW9kZWw6KCk9Pnt2YXIgej0KYSgpO3JldHVybntjb2xvcjp6LnN0eWxlPT09Im92ZXJsYXktZGFyayI/NDp6LnN0eWxlPT09Im92ZXJsYXkiP3oudHlwZT09PSJmaWxsZWQiPzQ6Mzp6LnR5cGU9PT0iZmlsbGVkInx8ei5zdHlsZT09PSJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlInx8ei5zdHlsZT09PSJtb25vLWludmVyc2UiPzI6MX19fSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWlkZGxlZ3JvdW5kQXNzZXR9LHthbmltYXRlZEFzc2V0Vmlld01vZGVsOih7ZGF0YTp6fSk9Pl8uSyhfLnFLLHtkYXRhOnosY2xhc3NOYW1lOm4sc246ITB9KX0pLF8uSyhfLk8se0E6KCk9PnQ/Lkl1JiYhcD8uKCkmJiFyPy4oKSx0aGVuOigpPT5fLksoXy55RSx7Y29uZmlnOigpPT57dmFyIHo9YSgpLEU9ei5zdHlsZSxBPXoudHlwZSxGPV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSk7cmV0dXJue1ZhOlFlYShFLEEpLGprOkY/LlZvJiZBPT09InRvbmFsIixldjp6LmN1c3RvbUNvbG9ycz8uYmFja2dyb3VuZENvbG9yLGR2OnouY3VzdG9tQ29sb3JzPy5ib3JkZXJDb2xvciwKQ0I6Rj8uV299fX0pfSkpfSwibWEiKSxJSz1fLkwoYT0+e3ZhciBiPSgpPT5hLmljb25Qb3NpdGlvbj8uKCk9PT0iaWNvbi13aXRoLWxhYmVsInx8YS5vbmVPZmZDdXN0b21UZXh0V3JhcD8uKCk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6YS5jbGFzc05hbWUsImFyaWEtaGlkZGVuIjooKT0+YS5hcmlhSGlkZGVuPy4oKSYmKCEhYS5hYj8uKCl8fCEhYS5XYT8uKCkpfSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hLmFiPy4oKX0sKCk9Pl8uSyh2Syx7WGI6KCk9PmEuYWIoKS5YYixudW1iZXJWYWx1ZTooKT0+YS5hYigpLm51bWJlclZhbHVlLGhlaWdodFB4OigpPT5hLmFiKCkuaGVpZ2h0UHgsZ2g6KCk9PmEuYWIoKS5naCx4YjooKT0+YS5hYigpLnhiLFFwOigpPT5hLmFiKCkuUXB9KSksXy5LKF8uQ0Use3doZW46KCk9PmEuV2E/LigpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+KHsuLi5hLldhKCksbGluZUJyZWFrTW9kZTpiKCk/IkxJTkVfQlJFQUtfTU9ERV9CWV9XT1JEX1dSQVBQSU5HIjoKYS5XYSgpLmxpbmVCcmVha01vZGUsYWxpZ25tZW50OmIoKT8iVEVYVF9BTElHTk1FTlRfQ0VOVEVSIjphLldhKCkuYWxpZ25tZW50fSksdWI6ITAsbm9XcmFwOigpPT4hYigpfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5hLmljb25Qb3NpdGlvbj8uKCk9PT0iaWNvbi13aXRoLWxhYmVsIiYmYS50ZXh0Py4oKX0sKCk9Pl8uSyhfLlYse3RleHQ6KCk9Pih7Y29udGVudDphLnRleHQoKSxsaW5lQnJlYWtNb2RlOiJMSU5FX0JSRUFLX01PREVfQllfV09SRF9XUkFQUElORyIsYWxpZ25tZW50OiJURVhUX0FMSUdOTUVOVF9DRU5URVIifSksdWI6ITAsbm9XcmFwOiExfSkpLF8uSyhfLkRFLG51bGwsKCk9PmEudGV4dCkpKX0sIm5hIiksZWZhPV8uTChhPT5fLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJrTTdTZ2MiLEE6YS5oYXNMYWJlbCx0aGVuOigpPT5fLksoImxhYmVsIix7Y2xhc3M6YS5jbGFzc05hbWV9LGEuY2hpbGRyZW4sYS50ZXh0Q29udGVudD8uKCkpLFc6KCk9PmEuY2hpbGRyZW59KSwib2EiKSwKSEs9Xy5MKGE9PmEuY2hpbGRyZW4sInBhIik7Xy5KSz1fLkwoKHtkYXRhOmEsaWNvbjpiLGljb25OYW1lOmMsR2U6ZCxzZWNvbmRhcnlJY29uOmUsUXI6ZixYSTpoLGFwOmt9KT0+e18ubUcoKTt2YXIge3NpemU6bCxzdHlsZTptLGRpc2FibGVkOm4sb25UYXA6cCxvaTpyLHVjOnQsY3VzdG9tQ29sb3JzOnYsc2VnbWVudGVkUG9zaXRpb246eix0b2dnbGVkOkUsdG9nZ2xlYWJsZTpBLGFjY2Vzc2liaWxpdHlMYWJlbDpGLG9uVG9nZ2xlOkMsaWNvblBvc2l0aW9uOkcsb25lT2ZmQ3VzdG9tVGV4dFdyYXA6RCxJZjpILEFwOlIsdG9vbHRpcFRleHQ6TSxEbjpTLGFyaWFIaWRkZW46WSxhcmlhRXhwYW5kZWQ6cGEsdGFiSW5kZXg6b2EsYnV0dG9uVGV4dDpVLFdhOmhhLGFiOm1hLG9uQ2xpY2tSYXRlTGltaXRNczp0YSxvbkhvdmVyOlQsbWlkZGxlZ3JvdW5kQXNzZXQ6YmEsZGlzYWJsZUxpZ2h0U2hhcGU6YWF9PW5LKGEpLHt0eXBlOk9hLHRuOkpiLElsOnphLEtsOkxiLEpsOmNjLEV3OmxjLEZ3OlZiLEd3OnRkLGljb25CdXR0b246QmUsCmppOmFkLHZ6Om5zLG14Ok1nLGFBOlpCfT1SZWEoYSxiLGUsYyxmLGgsZCksW2ZmYV09Xy5iSyhNLFMpLExUPXJiPT57cD8uKHJiKTtBKCkmJkM/LihyYil9LE1UPV8uTigoKT0+dGE/LigpLHZvaWQgMCwic2lLeXdiIiksZ2ZhPV8uTigoKT0+TVQoKT9OZWEoTFQsTVQoKSk6TFQsdm9pZCAwLCJ3RFRjTiIpLCRCPV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSk7Yj1fLk4oKCk9PmJhKCl8fCRCPy5JdSx2b2lkIDAsInpVUVJPZSIpO3ZhciBoZmE9WWVhKCgpPT57dmFyIHJiPW0oKSxhaT1PYSgpO3JldHVybiEhXy55KCkucmVzb2x2ZShfLkluKF8uZUspKT8uVm8mJmFmYS5pbmNsdWRlcyhyYikmJmJmYS5pbmNsdWRlcyhhaSl9KTtyZXR1cm4gXy5LKGVmYSx7Y2xhc3NOYW1lOl8uUCgieXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxIb3N0Iix7eXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxJc092ZXJsYXk6KCk9Pm0oKT09PSJvdmVybGF5Inx8bSgpPT09Im92ZXJsYXktZGFyayJ9KSxoYXNMYWJlbDp0ZCwKdGV4dENvbnRlbnQ6KCk9Pl8uSyhJSyx7dGV4dDpVLGNsYXNzTmFtZToieXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbCIsYXJpYUhpZGRlbjohMCxvbmVPZmZDdXN0b21UZXh0V3JhcDpELGljb25Qb3NpdGlvbjpHLFdhOmhhLGFiOm1hfSl9LF8uSyhjZmEse3VjOnQsY2xhc3NOYW1lOl8uUCgieXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdCIsKCk9PlZlYShPYSgpKSwoKT0+YWQoKT92b2lkIDA6V2VhKG0oKSksKCk9PlhlYShsKCkpLHt5dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZDphZCx5dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOkpiLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZzpMYix5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZzp6YSx5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nOmNjLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQ6KCk9PmNjKCkmJiEoVSgpfHxoYSgpKSwKeXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbjooKT0+bGMoKXx8dGQoKSx5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uT25seURlZmF1bHQ6VmIseXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHQ6cix5dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDooKT0+eigpPT09InN0YXJ0Iix5dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQ6KCk9PnooKT09PSJlbmQiLHl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJyaWRlU21hbGxTaXplSWNvbjpucyx5dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lcjpELHl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVUZXh0RWxsaXBzaXM6SCx5dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVCYWNrZHJvcEZpbHRlckV4cGVyaW1lbnQ6KCk9Pnt2YXIgcmI7aWYocmI9IVIoKSkhKHJiPV8uR0smJkZLPj0xNCkmJihyYj1fLkJLKSYmKHJiPV8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeT49CjgpLHJiPXJiPyFfLngoIndlYl9kaXNhYmxlX2JhY2tkcm9wX2ZpbHRlciIpOiExO3JldHVybiByYn0seXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlOigpPT4hISRCPy5XbyYmIWFkKCkseXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6KCk9Pl8ueCgid2ViX2J1dHRvbl9pY29uX3NpemVfZXhwZXJpbWVudCIpLHl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmc6KCk9Pl8ueCgid2ViX2J1dHRvbl9tYWluc3RhZ2VfcGFkZGluZyIpfSksc3R5bGU6KCk9Pnt2YXIgcmI9digpO2lmKHJiKXt2YXIgYWk9cmIuY29sb3I7dmFyIE5UPXJiLmJhY2tncm91bmRDb2xvcjtyYj1yYi5ib3JkZXJDb2xvcjt2YXIgcHM9IiI7YWkmJihwcys9YGNvbG9yOiAke2FpfTtgKTtOVCYmKHBzKz1gYmFja2dyb3VuZC1jb2xvcjogJHtOVH07YCk7cmImJihwcys9YGJvcmRlci1jb2xvcjogJHtyYn07YCk7YWk9e3N0eWxlOnBzfX1lbHNlIGFpPQp7fTtyZXR1cm4gYWkuc3R5bGV9LG9uQ2xpY2s6cmI9PntnZmEoKShyYil9LG9uSG92ZXI6cmI9PntUPy4ocmIpfSxkaXNhYmxlZDpuLGFyaWFMYWJlbDpGLHRvZ2dsZWFibGU6QSx0b2dnbGVkOkUsdGl0bGU6KCk9PiFrPy4oKSYmTSgpP00oKToiIixqaTphZCxhcmlhSGlkZGVuOlksYXJpYUV4cGFuZGVkOnBhLHRhYkluZGV4Om9hLHJlZjpyYj0+eyRCPy5WbyYmaGZhKHJiKTtrPy4oKSYmZmZhKHJiKX19LF8uSyhkZmEse2RhdGE6YSxJbDp6YSxKbDpjYyxLbDpMYixpY29uQnV0dG9uOkJlLGljb246TWcsVUE6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudCIse3l0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudDpifSksaXg6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uIix7eXRTcGVjQnV0dG9uU2hhcGVOZXh0RWxldmF0ZWRDb250ZW50OmJ9KSxaejpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb24iLHt5dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnQ6Yn0pLApzZWNvbmRhcnlJY29uOlpCLEp5OiJ5dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldCIsamk6YWQsZGlzYWJsZUxpZ2h0U2hhcGU6YWF9KSkpfSwicmEiKTtfLkpLLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aWNvbjohMCxzZWNvbmRhcnlJY29uOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBMZGEsTWRhLE5kYSxPZGE7TGRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5WSC5UZSgpLmdldFN0YXRlKCk7cmV0dXJuIGI/YShjLC4uLmIpOmEoYyl9O18uWEg9ZnVuY3Rpb24oKXtpZihXSClyZXR1cm4gV0g7dmFyIFthLCxiXT1fLkooMCx2b2lkIDAsIk1CMUhiIik7Xy5WSC5UZSgpLnN1YnNjcmliZSgoKT0+e01kYShiKX0pO3JldHVybiBXSD1hfTtNZGE9ZnVuY3Rpb24oYSl7WUh8fChZSD0hMCxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57YShiPT5iKzEpO1lIPSExfSkpfTtfLlpIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uVkgucHcoKShhLGIpfTtfLmJJPW5ldyBfLlZzKCJTVEFURV9TVE9SRV9UT0tFTiIpO05kYT1uZXcgXy5WcygiU0VMRUNUX1RPS0VOIik7T2RhPW5ldyBfLlZzKCJESVNQQVRDSF9UT0tFTiIpO3ZhciBXSCxZSDtfLlZIPXtwdzooKT0+Xy55KCkucmVzb2x2ZShfLkluKE5kYSkpPz9MZGEsbXc6KCk9Pl8ueSgpLnJlc29sdmUoXy5JbihPZGEpKT8/Xy5WSC5UZSgpLmRpc3BhdGNoLmJpbmQoXy5WSC5UZSgpKSxUZTooKT0+Xy55KCkucmVzb2x2ZShfLmJJKX07WUg9ITE7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uY0k9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTigoKT0+e18uWEgoKSgpO3JldHVybiBfLlpIKGEpfSx7ZGVidWdOYW1lOiJkOEI2MmMifSwiREVYa2hkIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgaWZhLGpmYSxPSyxOSyxuZmEsUkssb2ZhLHBmYSxUSyxxZmEscmZhLFNLLHNmYSx0ZmEsdWZhLHZmYTtpZmE9ZnVuY3Rpb24oYSxiKXtiLmZvckVhY2goYz0+e3ZhciBkPW51bGw7Yz9kPWMuYXBwbHkobnVsbCxhLmFyZ3MpOihjPUVycm9yKCJyZCIpLGMucGFyYW1zPWEuYWN0aW9uTmFtZSxfLlVpKGMpKTthLnJldHVyblZhbHVlLnB1c2goZCl9KX07amZhPWZ1bmN0aW9uKGEsYixjKXtiLmZvckVhY2goZD0+e3ZhciBlPV8uUkooZCk7ZSYmKGQ9bmV3IF8uT0ooZSwhMCxbZCxjLHZvaWQgMF0pLChlPWEuai5nZXQoZC5hY3Rpb25OYW1lKSkmJmlmYShkLGUpLGQuanx8ZC5yZXR1cm5WYWx1ZS5sZW5ndGghPT0wfHwoZD1uZXcgXy5YaigiVW5oYW5kbGVkIGFjdGlvbiIsZC5hY3Rpb25OYW1lKSxfLldpKGQpKSl9KX07Xy5LSz1mdW5jdGlvbihhKXtyZXR1cm4oYSY0Mjc4MTkwMDgwKT4+PjI0PT09MD9fLmlFKGEsIjEiKTpfLk5EKGEpfTsKXy5NSz1mdW5jdGlvbigpe0xLfHwoTEs9bmV3IGtmYSk7cmV0dXJuIExLfTtPSz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy5hY3Rpb24sZT1jLmVsZW1lbnQ7ZSYmZCYmKGxmYS5pbmNsdWRlcyhiKXx8Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfUkVNSVgifHxhLkQmJmEuRC5BSihlKT9OSyhhLGIsYyk6YS52JiYoYS5vfHwoYS5vPW5ldyBXZWFrTWFwKSxkPWEudi5vYnNlcnZlKGUsKCk9PntOSyhhLGIsYyk7YS5vLmRlbGV0ZShlKX0se1ZiOiEwLHN0YXRlOiJ2aXNpYmxlIn0pLGEuby5zZXQoZSxkKSkpfTtfLlBLPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5CLmdldChiKTtpZihjKXt2YXIgZD1hLmouZ2V0KGMpO2QmJihkZWxldGUgZC5lbGVtZW50LGEuai5zZXQoYyxkKSk7YS5CLmRlbGV0ZShiKTthLnYmJmEubyYmKGM9YS5vLmdldChiKSkmJihhLnYucmYoYyksYS5vLmRlbGV0ZShiKSl9fTsKXy5RSz1mdW5jdGlvbihhLGIsYyl7Xy5QSyhhLGMpO3ZhciBkPWEuai5nZXQoYik7ZHx8KGQ9e30sYS5qLnNldChiLGQpKTtkLmVsZW1lbnQ9YzthLkIuc2V0KGMsYik7T0soYSxiLGQpfTtOSz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy5hY3Rpb247KGM9Yy5lbGVtZW50KSYmZCYmKGpmYShhLkssW2RdLGMpLGEuai5kZWxldGUoYiksYS5CLmRlbGV0ZShjKSxhLlkuYWRkKGIpKX07Cm5mYT1mdW5jdGlvbihhLGIsYyl7aWYoYyYmYilzd2l0Y2goYyl7Y2FzZSAiQlVUVE9OX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1JFTU9WRV9BRFNfQURfU1RBVEUiOnJldHVybihhPV8uSEgoYSxiKSk/e2lzSGlkZGVuOmEuYWRzU3RhdGU9PT0iQURTX1NUQVRFX05PTkUifHxhLmFkc1N0YXRlPT09IkFEU19TVEFURV9VTktOT1dOIn06e2lzSGlkZGVuOiEwfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQ0hBVEJPVF9QRU5ESU5HX1JFU1BPTlNFIjpyZXR1cm57aXNIaWRkZW46ITEsaXNEaXNhYmxlZDohIV8ucUEoYS5lbnRpdGllcywieW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eSIsYik/LmlzUGVuZGluZ1Jlc3BvbnNlfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQk9PTEVBTl9ESVNBQkxFRCI6cmV0dXJue2lzSGlkZGVuOiExLGlzRGlzYWJsZWQ6ISFfLklIKGEsYik/LnZhbHVlfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWSI6cmV0dXJuIGE9Cl8ucUEoYS5lbnRpdGllcywiYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eSIsYik/LnN0YXRlLGE9PT0iQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWV9TVEFURV9QRU5ESU5HIj97aXNIaWRkZW46ITEsYXJpYURpc2FibGVkOiEwLGFyaWFCdXN5OiEwLGFjY2Vzc2liaWxpdHlMYWJlbDoiR2VuZXJhdGluZyBzdW1tYXJ5Li4uIixpY29uTmFtZTp2b2lkIDAsQWM6bWZhfTphPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfVU5SRUFEInx8YT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX0ZBSUxFRCI/KGE9YT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX1VOUkVBRCIse2lzSGlkZGVuOiExLGFyaWFEaXNhYmxlZDohMCxhY2Nlc3NpYmlsaXR5TGFiZWw6YT8iVW5yZWFkIHN1bW1hcnkiOiJGYWlsZWQgdG8gZ2VuZXJhdGUgc3VtbWFyeSIsaWNvbk5hbWU6IllUSUNPTl9GSUxMX0RPVF9TMjQiLApBYzp2b2lkIDAsLi4uKGEmJntjdXN0b21Db2xvcnM6e2NvbG9yOiJ2YXIoLS15dC1zcGVjLWNhbGwtdG8tYWN0aW9uKSIsaWNvbkNvbG9yOiJ2YXIoLS15dC1zcGVjLWNhbGwtdG8tYWN0aW9uKSJ9fSl9KTp7aXNIaWRkZW46ITB9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DT01NRVJDRV9UT0tFTl9CQUxBTkNFIjpyZXR1cm4gYT1fLnFBKGEuZW50aXRpZXMsImNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5IixiKSxhPy5zZXJ2ZXJUb2tlbkJhbGFuY2UhPW51bGw/KGE9TnVtYmVyKGEuc2VydmVyVG9rZW5CYWxhbmNlKSxhPWlzTmFOKGEpP3ZvaWQgMDpTdHJpbmcoYS8xRTYpLHtpc0hpZGRlbjohMSxXYTphP3tjb250ZW50OmF9OnZvaWQgMH0pOntpc0hpZGRlbjohMX07ZGVmYXVsdDpyZXR1cm57aXNIaWRkZW46ITF9fX07ClJLPWZ1bmN0aW9uKGEpe3JldHVybnt0ZXh0OmEudG9vbHRpcFRleHQ/PyIiLGxvY2F0aW9uOm9mYShhLnBsYWNlbWVudCksc3R5bGU6YS5zdHlsZSxob3RrZXk6YS5ob3RrZXl9fTtvZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlRPT0xUSVBfVklFV19NT0RFTF9QTEFDRU1FTlRfQk9UVE9NIjpyZXR1cm4iYm90dG9tIjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX1RPUCI6cmV0dXJuInRvcCI7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9MRUZUIjpyZXR1cm4ibGVmdCI7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9SSUdIVCI6cmV0dXJuInJpZ2h0IjtkZWZhdWx0OnJldHVybiJib3R0b20ifX07CnBmYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uUkQoYT8ub25UYXApLGQ9e307YyYmKGQuYko9KCk9PlNLKGEsYyxiPy52YWx1ZT8udmlzdWFsRWxlbWVudCkpO2Q9Xy5iRSh7Ymg6YS5vblRhcCxxZDohMCxBbzpkfSk7cmV0dXJuIGQ/LmhyZWY/ZDp2b2lkIDB9O1RLPWZ1bmN0aW9uKGEsYixjLGQsZSl7Yz17ckM6Y307Xy5kSyhhLHtmb3JtOntjdXJyZW50RGF0YTpjLHNvdXJjZURhdGE6YyxlbGVtZW50OmIsZXZlbnQ6ZH0sLi4uZX0pfTsKcWZhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9dm9pZCAwO3JldHVybiBoPT57dmFyIGs9Xy5SRChjP2E/Lm9uRGlzYWJsZWRUYXA6YT8ub25UYXApO2lmKGspaWYoZj1mPz9iPy52YWx1ZSxfLngoIndlYl9idXR0b25fdm1fY2xpY2tfY2xpZW50X3ZlX2tpbGxzd2l0Y2giKSlUSyhrLGYsYSxoKTtlbHNle2xldCBsPVNLKGEsayxmPy52aXN1YWxFbGVtZW50KTtpZihlKXtUSyhrLGUsYSxoLHtjbGlja2VkVmlzdWFsRWxlbWVudDpsLGZvcm06e2VsZW1lbnQ6ZX19KTtyZXR1cm59VEsoayxmLGEsaCx7Y2xpY2tlZFZpc3VhbEVsZW1lbnQ6bH0pfWQmJmQoaCl9fTtyZmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXZvaWQgMDtyZXR1cm4gZT0+e3ZhciBmPV8uUkQoYT8ub25Ib3Zlcik7ZiYmKGQ9ZD8/Yj8udmFsdWUsYz9USyhmLGMsYSxlLHtmb3JtOntlbGVtZW50OmN9fSk6VEsoZixkLGEsZSkpfX07ClNLPWZ1bmN0aW9uKGEsYixjKXtiPWI/LmNsaWNrVHJhY2tpbmdQYXJhbXM7YT1hPy5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGU7aWYoYyYmYSYmIWIpcmV0dXJuIGN9OwpzZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0NUQSI6cmV0dXJuImNhbGwtdG8tYWN0aW9uIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PIjpjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9CUkFORCI6cmV0dXJuIm1vbm8iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVkiOnJldHVybiJvdmVybGF5IjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9PVkVSTEFZX0RBUksiOnJldHVybiJvdmVybGF5LWRhcmsiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EX0dSQURJRU5UIjpyZXR1cm4iYnJhbmQtZ3JhZGllbnQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EX0FJIjpyZXR1cm4iZ2VuLWFpLWdyYWRpZW50IjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9SQUlTRUQiOnJldHVybiJyYWlzZWQiO2RlZmF1bHQ6cmV0dXJuIm1vbm8ifX07CnRmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9GSUxMRUQiOnJldHVybiJmaWxsZWQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfT1VUTElORSI6cmV0dXJuIm91dGxpbmUiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVCI6cmV0dXJuInRleHQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVE9OQUwiOnJldHVybiJ0b25hbCI7ZGVmYXVsdDpyZXR1cm4idGV4dCJ9fTt1ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0FDVElWRSI6cmV0dXJuImFjdGl2ZSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfSU5BQ1RJVkUiOnJldHVybiJkaXNhYmxlZCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfRElTQUJMRUQiOnJldHVybiJkaXNhYmxlZCI7ZGVmYXVsdDpyZXR1cm4iYWN0aXZlIn19Owp2ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfWFNNQUxMIjpyZXR1cm4iWFMiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfQ09NUEFDVCI6cmV0dXJuIlMiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfREVGQVVMVCI6cmV0dXJuIk0iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfTEFSR0UiOnJldHVybiJMIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TSVpFX1hMQVJHRSI6cmV0dXJuIlhMIjtkZWZhdWx0OnJldHVybiJNIn19O3ZhciBsZmE9WyJicm93c2UtdmlkZW8tbWVudS1idXR0b24iLCJ1bmlmaWVkLXZlcmlmaWVkLWJhZGdlIiwidG9wYmFyLWd1aWRlLW1lbnUiXSxrZmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLks9Xy5TSi5qYygpO3RoaXMuaj1uZXcgTWFwO3RoaXMuQj1uZXcgV2Vha01hcDt0aGlzLlk9bmV3IFNldH1kaXNwb3NlKCl7dGhpcy5EJiZfLmNmKHRoaXMuRCwieXQtdmlzaWJpbGl0eS1tb25pdG9yLXJlZnJlc2hlZCIsdGhpcy5JLCExLHRoaXMpO3RoaXMudiYmdGhpcy52LmRpc3Bvc2UoKX1JKCl7Zm9yKGxldCBbYSxiXW9mIHRoaXMuai5lbnRyaWVzKCkpT0sodGhpcyxhLGIpfX0sTEs7dmFyIG1mYT17YW5pbWF0ZWRBc3NldFZpZXdNb2RlbDp7Z2VuZXJpY0JlaGF2aW9yOnthdXRvcGxheTohMCxsb29wOiEwfSxsb3R0aWVBc3NldDp7dGhlbWVkVXJsOntsaWdodDoiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvbG90dGllL3lvdWNoYXRfYW5pbWF0aW9ucy9wcm9ncmVzc19pbmRpY2F0b3Jfc29sb192MS5qc29uIixkYXJrOiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUveW91Y2hhdF9hbmltYXRpb25zL3Byb2dyZXNzX2luZGljYXRvcl9zb2xvX3YxLmpzb24ifX19fTt2YXIgd2ZhPVsieW91LWNoYXQtZW50cnlwb2ludC1idXR0b24iXTsKXy5IRD1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsc3R5bGU6YyxidXR0b25PdmVycmlkZXM6ZCxhYjplLG9uQ2xpY2s6Zix0YXJnZXQ6aH0pPT57dmFyIGs9Xy51RSgiYnV0dG9uLXZpZXctbW9kZWwiLEQ9PntELmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ5dC1yZW5kZXJpZG9tLWZpbmlzaGVkIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiExLGNvbXBvc2VkOiEwfSkpO3ZhciBIPWEoKS50YXJnZXRJZDtIJiZfLlFLKF8uTUsoKSxILEQpO3JldHVybigpPT57Xy5QSyhfLk1LKCksRCl9fSksbD1fLmNJKEQ9Pm5mYShELGEoKT8uZW50aXR5S2V5LGEoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlKSksbT0oKT0+YSgpPy5lbnRpdHlLZXkmJmEoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlP2woKTp2b2lkIDAsbj0oKT0+Xy54KCJXZWJGRUFsbFN0dWRpb0J5Q2hhbm5lbF9fd2ViX2J1dHRvbl92aWV3X21vZGVsX2VudGl0eV9vdmVycmlkZXMiKT9tKCk6dm9pZCAwLHA9CigpPT57dmFyIEQ9bigpO2lmKEQ/Lmljb25OYW1lIT09dm9pZCAwKXJldHVybiBELmljb25OYW1lO2lmKEQ/LkFjPT09dm9pZCAwKXJldHVybiBhKCk/Lmljb25OYW1lfHxhKCk/Lnl0SWNvbn0scj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKSx0PSgpPT57dmFyIEQ9ZD8uKCksSD1tKCksUj1uKCksTT1EO2EoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlJiYoTT17Li4uRCxkaXNhYmxlZDohIUg/LmlzRGlzYWJsZWR8fCEhRD8uZGlzYWJsZWR9KTtEPWEoKTt2YXIgUz1NLFk9ZT8uKCkscGE9Uj8uYXJpYURpc2FibGVkfHxIPy5pc0Rpc2FibGVkfHxSPy5hcmlhQnVzeXx8TT8uZGlzYWJsZWQ/dm9pZCAwOmY7TT1oPy4oKTtpZihEKXt2YXIgb2E9dGZhKEQudHlwZSk7dmFyIFU9ISFELnRpdGxlfHwhIUQudGl0bGVGb3JtYXR0ZWQ7dmFyIGhhPSEhKEQuaWNvbk5hbWV8fEQuaWNvbkltYWdlfHxELnl0SWNvbnx8RC5sZWFkaW5nQXNzZXQpO1U9aGEmJiFVPyJpY29uLW9ubHkiOgpoYT9ELmljb25Qb3NpdGlvbj09PSJCVVRUT05fVklFV19NT0RFTF9JQ09OX1BPU0lUSU9OX0FCT1ZFIj8iaWNvbi13aXRoLWxhYmVsIjpELmljb25UcmFpbGluZ3x8RC5pY29uUG9zaXRpb249PT0iQlVUVE9OX1ZJRVdfTU9ERUxfSUNPTl9QT1NJVElPTl9UUkFJTElORyI/InRyYWlsaW5nIjoibGVhZGluZyI6dm9pZCAwO1U9PT0iaWNvbi1vbmx5LTQwIiYmKG9hPSJ0ZXh0Iik7aGE9Uz8uc3RhdGU/P3VmYShELnN0YXRlKTt2YXIgbWE9Uz8uZGlzYWJsZWQ/PyhELnN0YXRlPT09IkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0RJU0FCTEVEInx8RC5zdGF0ZT09PSJCVVRUT05fVklFV19NT0RFTF9TVEFURV9JTkFDVElWRSIpO18ueCgid2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZCIpJiYobWE9Uz8uZGlzYWJsZWQ/P2hhPT09ImRpc2FibGVkIik7WT1ZJiZZLlhiJiYhaXNOYU4oTnVtYmVyKFkubnVtYmVyVmFsdWUpKT9ZOnZvaWQgMDt2YXIgdGE9RC50aXRsZSxUPUQudGl0bGVGb3JtYXR0ZWQsCmJhPUQuYWNjZXNzaWJpbGl0eVRleHQsYWE9c2ZhKEQuc3R5bGUpLE9hPXZmYShELmJ1dHRvblNpemUpO3BhPXFmYShELGssbWEscGEsTSk7dmFyIEpiPW1hJiYhRC5vbkRpc2FibGVkVGFwLHphPXBmYShELGspLExiPUQuY3VzdG9tRm9udENvbG9yLGNjPUQuY3VzdG9tQmFja2dyb3VuZENvbG9yO3ZhciBsYz1ELmN1c3RvbUJvcmRlckNvbG9yO2xldCB0ZD1ELmN1c3RvbURhcmtUaGVtZUZvbnRDb2xvcixCZT1ELmN1c3RvbURhcmtUaGVtZUJhY2tncm91bmRDb2xvcjt2YXIgVmI9RC5jdXN0b21EYXJrVGhlbWVCb3JkZXJDb2xvcjtMYj1yJiZ0ZD90ZDpMYjtjYz1yJiZCZT9CZTpjYztsYz1yJiZWYj9WYjpsYztsYz17Y29sb3I6TGI/Xy5ORChMYik6dm9pZCAwLGJhY2tncm91bmRDb2xvcjpjYz9fLk5EKGNjKTp2b2lkIDAsYm9yZGVyQ29sb3I6bGM/Xy5ORChsYyk6dm9pZCAwfTtWYj1fLkIoRC50b29sdGlwRGF0YSxfLmNLKTtjYz1fLkIoRC5kaXNhYmxlZFRvb2x0aXBEYXRhLF8uY0spOwpEPXtidXR0b25UZXh0OnRhLFdhOlQsYWI6WSxhY2Nlc3NpYmlsaXR5TGFiZWw6YmEsc3R5bGU6YWEsdHlwZTpvYSxzdGF0ZTpoYSxzaXplOk9hLGljb25Qb3NpdGlvbjpVLG9uVGFwOnBhLGRpc2FibGVkOkpiLHVjOnphLGN1c3RvbUNvbG9yczpsYyx0b29sdGlwVGV4dDpELnRvb2x0aXAsRG46bWEmJmNjP1JLKGNjKTpWYj9SSyhWYik6dm9pZCAwLG9uSG92ZXI6cmZhKEQsayxNKSxtaWRkbGVncm91bmRBc3NldDpELm1pZGRsZWdyb3VuZEFzc2V0LEFjOkQubGVhZGluZ0Fzc2V0LC4uLlN9fWVsc2UgRD17c3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUiLHNpemU6Ik0ifTtELmZvY3VzZWQ9RigpO1I/LmFjY2Vzc2liaWxpdHlMYWJlbCE9PXZvaWQgMCYmKEQuYWNjZXNzaWJpbGl0eUxhYmVsPVIuYWNjZXNzaWJpbGl0eUxhYmVsKTtSPy5jdXN0b21Db2xvcnMhPT12b2lkIDAmJihELmN1c3RvbUNvbG9ycz1SLmN1c3RvbUNvbG9ycyk7Uj8uQWMhPT12b2lkIDA/KEQuQWM9ClIuQWMsRC5pY29uUG9zaXRpb249Imljb24tb25seSIpOlI/Lmljb25OYW1lIT09dm9pZCAwJiYoRC5BYz12b2lkIDAsRC5pY29uUG9zaXRpb249Imljb24tb25seSIpO0g/LldhJiYoRC5XYT1ILldhKTtyZXR1cm4gRH0sdj1fLlBIKCksej0oKT0+e3ZhciBEPXQoKTtyZXR1cm4gXy5vSyhELCEhcCgpfHwhIUQuQWMsdil9LFtFLEFdPV8uSighMSx2b2lkIDAsIlBwbk5BIiksRj1FO18ubkUoKCk9Pnt2YXIgRD1fLkIoYSgpPy5vblZpc2libGUsXy5PRCk7RCYmXy5hRShELHttZDohMH0pfSwiZWZldXkiKTt2YXIgQz0oKT0+e3ZhciBEPWEoKT8uaWNvbkltYWdlO3JldHVybiBEP3tzb3VyY2VzOltEXX06dm9pZCAwfSxHPUhUTUxFbGVtZW50LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgicG9wb3ZlciIpO3JldHVybiBfLksoImJ1dHRvbi12aWV3LW1vZGVsIix7ZWw6ayxjbGFzczpfLlAoInl0U3BlY0J1dHRvblZpZXdNb2RlbEhvc3QiLGIsKCk9Pnt2YXIgRD1hKCk/LnRhcmdldElkOwppZihEKXJldHVybiB3ZmEuaW5jbHVkZXMoRCk/RDp2b2lkIDB9KSwib246Zm9jdXNpbiI6ZnVuY3Rpb24oKXt2YXIgRD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5qSCkpO0QmJkEoRC5YZSgpKX0sIm9uOmZvY3Vzb3V0IjpmdW5jdGlvbigpe0EoITEpfSwiYXJpYS1kaXNhYmxlZCI6KCk9Pm4oKT8uYXJpYURpc2FibGVkPyJ0cnVlIjp2b2lkIDAsImFyaWEtYnVzeSI6KCk9Pm4oKT8uYXJpYUJ1c3k/InRydWUiOnZvaWQgMH0sXy5LKF8uTyx7QTooKT0+IShtKCk/LmlzSGlkZGVuPz8hMSksdGhlbjooKT0+Xy5LKF8uTyx7QTpDLHRoZW46RD0+Xy5LKF8uSksse2RhdGE6dCxpY29uOigpPT5fLksoXy5qRix7ZGF0YTpELGFsdDoiIixBYjp6LGRjOnosVGE6ITAsWWE6ITB9KSxhcDpHfSksVzooKT0+Xy5LKF8uSksse2RhdGE6dCxpY29uTmFtZTpwLEdlOigpPT4hIWM/LigpPy5hbmltYXRlSWNvbixhcDpHfSl9KX0pKX0sInRhIik7Xy5IRC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQ2xpY2s6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiRGx2RjFkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWUM9bmV3IF8uSSgiYWNjZXNzaWJpbGl0eUNvbnRleHQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5zTD1uZXcgXy5JKCJhdmF0YXJWaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RRj1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKSxjPWEuZGFya1RoZW1lSW1hZ2U/P2EuaW1hZ2U7cmV0dXJuIGI/YzphLmltYWdlfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUkY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJSYXE0Y2IiKTtyZXR1cm4gXy5JRH07Xy5TRj1fLmNEKCgpPT5fLlJGKCksImF2YXRhclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhdmF0YXJWaWV3TW9kZWwiLCJSYXE0Y2IiLF8uUkYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uJEY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJQelVkWmIiKTtyZXR1cm4gXy5FRH07Xy5hRz1fLmNEKCgpPT5fLiRGKCksImJhZGdlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImJhZGdlVmlld01vZGVsIiwiUHpVZFpiIixfLiRGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnVMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiV3FsY1ZiIik7cmV0dXJuIF8ueER9O18udkw9Xy5jRCgoKT0+Xy51TCgpLCJkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsIiwiV3FsY1ZiIixfLnVMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLndMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgidWhsTEdiIik7cmV0dXJuIF8ud0R9O18ueEw9Xy5jRCgoKT0+Xy53TCgpLCJmbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZmxleGlibGVBY3Rpb25zVmlld01vZGVsIiwidWhsTEdiIixfLndMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnlMPWZ1bmN0aW9uKCl7aWYoISgibWF0Y2hNZWRpYSJpbiB3aW5kb3cpKXJldHVybiBfLldpKEVycm9yKCJ0ZCIpKSwoKT0+MDt2YXIgYT13aW5kb3cubWF0Y2hNZWRpYSgiKG1heC13aWR0aDogNTI3LjlweCkiKSxiPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA1MjhweCkgYW5kIChtYXgtd2lkdGg6IDgzOS45cHgpIiksYz13aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkiKSxkPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAxMDI0cHgpIiksW2UsZl09Xy5KKGEubWF0Y2hlcyx2b2lkIDAsIlRtSUtjYiIpLFtoLGtdPV8uSihiLm1hdGNoZXMsdm9pZCAwLCJaMGZUS2QiKSxbbCxtXT1fLkooYy5tYXRjaGVzLHZvaWQgMCwidzR4eTdiIiksW24scF09Xy5KKGQubWF0Y2hlcyx2b2lkIDAsIkRyYk5DIikscj1FPT57ZihFLm1hdGNoZXMpfSx0PUU9PntrKEUubWF0Y2hlcyl9LHY9RT0+e20oRS5tYXRjaGVzKX0sCno9RT0+e3AoRS5tYXRjaGVzKX07Xy5VSigoKT0+e2EuYWRkRXZlbnRMaXN0ZW5lcj8oYS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpLGIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0KSxjLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdiksZC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHopKTphLmFkZExpc3RlbmVyJiYoYS5hZGRMaXN0ZW5lcihyKSxiLmFkZExpc3RlbmVyKHQpLGMuYWRkTGlzdGVuZXIodiksZC5hZGRMaXN0ZW5lcih6KSk7Xy5ZdSgoKT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oYS5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpLGIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0KSxjLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdiksZC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHopKTphLnJlbW92ZUxpc3RlbmVyJiYoYS5yZW1vdmVMaXN0ZW5lcihyKSxiLnJlbW92ZUxpc3RlbmVyKHQpLGMucmVtb3ZlTGlzdGVuZXIodiksCmQucmVtb3ZlTGlzdGVuZXIoeikpfSl9KTtyZXR1cm4oKT0+ZSgpPzE6aCgpPzI6bCgpPzM6bigpPzQ6MH07Xy5BTD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy55KCkucmVzb2x2ZShfLkluKHpMKSksW2UsZl09Xy5KKGQsdm9pZCAwLCJ4R3NSUSIpO2R8fF8uWXQoekwsZik7cmV0dXJuIF8uTigoKT0+e3ZhciBoPWEoKTtyZXR1cm4gaCYmYigpP2UoKT8uKGgsYixjKTp2b2lkIDB9LHZvaWQgMCwiYnNvc2RkIil9O3ZhciB6TD1uZXcgXy5WcygiU0VNQU5USUNfVFlQT0dSQVBIWV9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlRIPWZ1bmN0aW9uKGEpe3JldHVybigpPT5fLkIoYSgpLF8uWUMpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJMPWZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIF8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpP2EuZGFya1RoZW1lOmEubGlnaHRUaGVtZX0sQ0w9bmV3IF8uSSgiYmFkZ2VWaWV3TW9kZWwiKTt2YXIgQ2ZhPW5ldyBfLlZzKCJDT01NT05fTUFSS19WSUVXX01PREVMX1RPS0VOIik7dmFyIERmYTtfLkRMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRnFIY0dlIik7cmV0dXJuIF8udEZ9O0RmYT1fLmNEKCgpPT5fLkRMKCksInNlY3Rpb25IZWFkZXJMYXlvdXQiKTtfLll0KF8uSkQsYT0+e2EuSigic2VjdGlvbkhlYWRlckxheW91dCIsIkZxSGNHZSIsXy5ETCl9KTtfLnZEPV8uTCgoe2NsYXNzTmFtZTphLGRhdGE6YixkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6YyxkaXNhYmxlVmVydGljYWxQYWRkaW5nOmQsVGk6ZSxLbjpmLGlzT3ZlcmxheTpoLEVzOmssZ0w6bCxpSjptfSk9Pnt2YXIgbj1fLlRIKCgpPT5iKCkucmVuZGVyZXJDb250ZXh0KSxwPV8ueUwoKSxyPV8uQUwoKCk9PmIoKS5oZWFkbGluZVR5cG9ncmFwaHlUb2tlbixwLHttYXhMaW5lczoyfSk7cD1fLkFMKCgpPT5iKCkuc3VidGl0bGVUeXBvZ3JhcGh5VG9rZW4scCk7dmFyIHQ9Xy5RSCgoKT0+YigpLmhvcml6b250YWxQYWRkaW5nKSx2PV8uUUgoKCk9PmIoKS50b3BQYWRkaW5nKSx6PV8uUUgoKCk9PmIoKS5ib3R0b21QYWRkaW5nKTtyZXR1cm4gXy5LKCJ5dC1zZWN0aW9uLWhlYWRlci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0IixhKSxzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6KCk9PkJMKGIoKS5iYWNrZ3JvdW5kQ29sb3IpPwpfLk5EKEJMKGIoKS5iYWNrZ3JvdW5kQ29sb3IpKTp2b2lkIDB9KX0sXy5LKERmYSx7YXJpYUxhYmVsOigpPT5uKCk/LmxhYmVsLEF3OiExLHRpdGxlOigpPT5fLksoXy5WLHt0ZXh0OigpPT5iKCkuaGVhZGxpbmUsWGE6ITB9KSxraDohMCxzdWJsYWJlbDooKT0+Xy5LKEVmYSx7ZGF0YTpifSksTHc6KCk9PiEhYigpLnN1YmxhYmVsfHwhIWIoKS5ib3R0b21CYWRnZXx8ISFiKCkuYm90dG9tQmFkZ2VzLHN1cGVybGFiZWw6KCk9Pl8uSyhGZmEse2RhdGE6Yn0pLE13OigpPT4hIWIoKS5zdXBlcmxhYmVsfHwhIWIoKS50b3BCYWRnZSxsZWFkaW5nSW1hZ2U6KCk9Pl8uSyhHZmEse2xlYWRpbmdBY2Nlc3Nvcnk6KCk9PmIoKS5sZWFkaW5nQWNjZXNzb3J5fSksSHc6KCk9PiEhYigpLmxlYWRpbmdBY2Nlc3NvcnksdHJhaWxpbmdBY3Rpb25zOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0FjdGlvbnNDb250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT4KYigpLnRyYWlsaW5nQWN0aW9uc30se2ZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbDpfLnhMfSksXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb25zQ29udGFpbmVyIn0sXy5LKF8uZ0cse3BhOigpPT5sPy4oKXx8W119LEU9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb24ifSxFKSkpfSkpLE53OigpPT5tPy4oKXx8ISFiKCkudHJhaWxpbmdBY3Rpb25zLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+Yz8uKCl8fGIoKS5kaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmcsZGlzYWJsZVZlcnRpY2FsUGFkZGluZzooKT0+ZD8uKCl8fGIoKS5kaXNhYmxlVmVydGljYWxQYWRkaW5nLFRpOmUsS246Zixpc092ZXJsYXk6aCxyaDooKT0+ISFfLnNIKGIoKS5yZW5kZXJlckNvbnRleHQpLGhvdmVyRWZmZWN0RW5hYmxlZDooKT0+YigpLmhvdmVyRWZmZWN0RW5hYmxlZCxvbkNsaWNrOkU9Pgp7dmFyIEE9Xy5zSChiKCkucmVuZGVyZXJDb250ZXh0KTtBJiZfLmFFKEEse2Zvcm06e2VsZW1lbnQ6RS50YXJnZXQsZXZlbnQ6RX19KX0sYm90dG9tQWNjZXNzb3J5OigpPT5fLksoXy5XLHtkYXRhOigpPT5iKCkuYm90dG9tQWNjZXNzb3J5fSx7ZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsOih7ZGF0YTpFfSk9Pl8uSyhfLnZMLHtkYXRhOkUsWGM6ITB9KSxjb21tb25NYXJrVmlld01vZGVsOih7ZGF0YTpFfSk9Pl8uSyhfLklCLG51bGwsXy55KCkucmVzb2x2ZShfLkluKENmYSkpPy4oe2RhdGE6RX0pKX0pLHp3OigpPT4hIWIoKS5ib3R0b21BY2Nlc3NvcnksRXM6ayxoZWFkbGluZVR5cG9ncmFwaHlUb2tlbjpyLHN1YnRpdGxlVHlwb2dyYXBoeVRva2VuOnAsanE6dCxmQjp2LEh1Onp9KSl9LCJ3YSIpOwp2YXIgR2ZhPV8uTCgoe2xlYWRpbmdBY2Nlc3Nvcnk6YX0pPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6KCk9PmEoKS5pbWFnZT8/Xy5RRihhKCkudGhlbWVkSW1hZ2UpLHRoZW46Yj0+Xy5LKF8uakYse2RhdGE6YixhbHQ6IiIsVGE6ITAsWWE6ITB9KX0pLF8uSyhfLk8se0E6KCk9Pl8uQihhKCkuYXZhdGFyLF8uc0wpLHRoZW46Yj0+Xy5LKF8uU0Yse2RhdGE6Yn0pfSkpLCJ4YSIpLEVmYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoInNwYW4iLHtjbGFzczpfLlAoe3l0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdlV2l0aExhYmVsOigpPT4oISFhKCkuYm90dG9tQmFkZ2VzfHwhIWEoKS5ib3R0b21CYWRnZSkmJiEhYSgpLnN1YmxhYmVsfSl9LF8uSyhfLk8se0E6KCk9Pl8uQihhKCkuYm90dG9tQmFkZ2UsQ0wpLHRoZW46Yj0+Xy5LKF8uYUcse2RhdGE6Yn0pfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJvdHRvbUJhZGdlc30se2JhZGdlVmlld01vZGVsOih7ZGF0YTpifSk9PgpfLksoXy5hRyx7ZGF0YTpiLGNsYXNzOl8uUCgieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VzIil9KX0pKSxfLksoXy5PLHtBOigpPT5hKCkuc3VibGFiZWwsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSwieWEiKSxGZmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS50b3BCYWRnZSxDTCksdGhlbjpiPT5fLksoXy5hRyx7ZGF0YTpiLGNsYXNzOl8uUCh7eXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VXaXRoTGFiZWw6KCk9PiEhYigpJiYhIWEoKS5zdXBlcmxhYmVsfSl9KX0pLF8uSyhfLk8se0E6KCk9PmEoKS5zdXBlcmxhYmVsLHRoZW46Yj0+Xy5LKF8uVix7dGV4dDpifSl9KSksInphIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImN5Q1ZsZCIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgTkg7Tkg9ZnVuY3Rpb24oKXt9O18uT0g9ZnVuY3Rpb24oKXtyZXR1cm4iOiIrKEpkYS5qKyspLnRvU3RyaW5nKDM2KX07Xy53YShOSCk7TkgucHJvdG90eXBlLmo9MDt2YXIgSmRhPU5ILmpjKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRkk9bmV3IF8uVnMoIlNVQk1JVF9BUElfU0VSVklDRV9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgib3NUdHhlIik7cmV0dXJuIF8uQUR9O18ubEw9Xy5jRCgoKT0+Xy5rTCgpLCJiYXNpY0NvbnRlbnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFzaWNDb250ZW50Vmlld01vZGVsIiwib3NUdHhlIixfLmtMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlRGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRGx2RjFkIik7cmV0dXJuIF8uSER9O18uVUY9Xy5jRCgoKT0+Xy5URigpLCJidXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYnV0dG9uVmlld01vZGVsIiwiRGx2RjFkIixfLlRGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRnNvWHpjIik7cmV0dXJuIF8uekR9O18ubkw9Xy5jRCgoKT0+Xy5tTCgpLCJjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY29udGVudExpc3RJdGVtVmlld01vZGVsIiwiRnNvWHpjIixfLm1MKX0pO18ub0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwZTJvamIiKTtyZXR1cm4gXy5DRH07Xy5wTD1fLmNEKCgpPT5fLm9MKCksImxpc3RJdGVtVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxpc3RJdGVtVmlld01vZGVsIiwicGUyb2piIixfLm9MKX0pO18ucUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJVQU01bSIpO3JldHVybiBfLnlEfTtfLnJMPV8uY0QoKCk9Pl8ucUwoKSwibG9ja3VwVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxvY2t1cFZpZXdNb2RlbCIsIlVBTTVtIixfLnFMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkZMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVk9VUDlkIik7cmV0dXJuIF8udUR9O18uR0w9Xy5jRCgoKT0+Xy5GTCgpLCJsaW5lYXJMYXlvdXRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGluZWFyTGF5b3V0Vmlld01vZGVsIiwiVk9VUDlkIixfLkZMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS0ksYWVhLCRJLGFKLGJlYTtfLkdJPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE/LmZvcm1JZD09PWI/LmZvcm1JZCYmYT8uZmllbGRJZD09PWI/LmZpZWxkSWR9O18uSEk9ZnVuY3Rpb24oYSl7cmV0dXJuIEVycm9yKCJuZGAiK2EucmVwbGFjZSgvXG5ccyovZywiICIpKX07Xy5JST1mdW5jdGlvbihhKXtyZXR1cm4gRXJyb3IoIm9kYCIrYS5yZXBsYWNlKC9cblxzKi9nLCIgIikpfTtfLkpJPWZ1bmN0aW9uKCl7cmV0dXJue25qOiExLGZiOiEwLHpkOiExLGlzU3VibWl0dGluZzohMSxjczowfX07S0k9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMDtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYSkpe2lmKGQ9PT0iZm9ybUlkIiljb250aW51ZTtsZXQgZT1hW2RdO2Uua2luZD09PTEmJihLSShlLnZhbHVlLGIpfHwoYz0hMSkpfWIoYS5mb3JtSWQpfHwoYz0hMSk7cmV0dXJuIGN9OwpfLk1JPWZ1bmN0aW9uKGEpe3ZhciBiPUxJLmdldChhKTtpZihiKXJldHVybiBiO2I9YS5yZXBsYWNlKC9fKFthLXpBLVowLTldKS9nLChjLGQpPT5kLnRvVXBwZXJDYXNlKCkpO0xJLnNldChhLGIpO3JldHVybiBifTtfLk9JPWZ1bmN0aW9uKCl7Tkk/LihhPT5hKzEpfTtfLlJJPWZ1bmN0aW9uKGEpe1BJP1BJKCk6KFtQSSwsTkldPV8uSigwLHZvaWQgMCwiVnhZMGZiIiksUEkoKSk7cmV0dXJuIF8uUUkuZ2V0KGEpfTtfLlNJPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9Xy5SSShhKTtpZihjKXtpZihiJiZiIT09Yy5VaSl0aHJvdyBfLklJKGBGb3JtIHR5cGUgbWlzbWF0Y2ggZm9yIGZvcm1JZCAke2F9OiBwcm92aWRlZCBmb3JtVHlwZSAiJHtifSIgZG9lcyBub3QgbWF0Y2ggc3RvcmVkIGZvcm1UeXBlICIke2MuVWl9Ii5gKTtyZXR1cm4gYy5mb3JtfX19OwpfLlZJPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUkkoYSk7aWYoIWIpdGhyb3cgXy5USShhKTtpZihiLlNwPT09MClyZXR1cm4gYi5mb3JtO2I9Yi5wZztpZighYil0aHJvdyBfLlVJKGEpO2E9Xy5TSShiLlZ6KTtpZighYSl0aHJvdyBfLkhJKGBGb3JtSWQgJHtiLlZ6fSBub3QgZm91bmQuYCk7cmV0dXJuIGF9O2FlYT1mdW5jdGlvbihhKXt0cnl7dmFyIGI9Xy5WSShhKX1jYXRjaChjKXtyZXR1cm4hMX0oYT1LSShiLGM9Pl8uUUkuZGVsZXRlKGMpKSkmJl8uT0koKTtyZXR1cm4gYX07Xy5XST1mdW5jdGlvbihhLGIpe2lmKGI9PT0iZm9ybUlkIil0aHJvdyBfLklJKCJGaWVsZCBpZCBjYW5ub3QgYmUgZm9ybUlkLiIpO2lmKGE9Xy5TSShhKSlyZXR1cm4gYj1fLk1JKGIpLGFbYl19O18uWEk9ZnVuY3Rpb24oYSl7aWYoYT1fLlJJKGEpKXJldHVybiBhLkRsfTsKXy5aST1mdW5jdGlvbihhKXt2YXIgYj1fLk4oKCk9Pl8uQnYoYSk/P3t9LHtlcXVhbHM6Xy5HSX0sIkxETkxiZCIpLGM9Xy5OKCgpPT57dmFyIHtmb3JtSWQ6ZCxmaWVsZElkOmV9PWIoKTtpZihkJiZlKXt2YXIgZjtpZihmPV8uV0koZCxlKSl7aWYoISgiZnVuY3Rpb24iPT10eXBlb2YgXy5ZSSYmZiBpbnN0YW5jZW9mIF8uWUkpKXRocm93IF8uSUkoYEZpZWxkICR7ZX0gaW4gZm9ybSAke2R9IGlzIG5vdCBhIFNjYWxhckZpZWxkLmApO31lbHNlIGY9dm9pZCAwO3JldHVybiBmfX0sdm9pZCAwLCJvOG8wMGQiKTtyZXR1cm4oKT0+YygpfTskST1mdW5jdGlvbihhLGIpe3ZhciBjPShjPV8uUkkoYSkpP2MuQ246dm9pZCAwO2lmKCFjKXRocm93IF8uSEkoYE1pc3NpbmcgdG9Gb3JtRGF0YSBmdW5jdGlvbiBmb3IgRm9ybUlkICR7YX0uYCk7cmV0dXJuIGMoYil9OwphSj1mdW5jdGlvbihhLGIpe3ZhciBjPShjPV8uUkkoYSkpP2MuQ2w6dm9pZCAwO2lmKCFjKXRocm93IF8uSEkoYE1pc3NpbmcgZm9ybURhdGFFeHRlbnNpb25GaWVsZCBmb3IgRm9ybUlkICR7YX0uYCk7cmV0dXJue1tjXTpifX07CmJlYT1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj1fLlZJKGEpLGM9Xy5YSShhKTt2YXIgZD0oZD1fLlJJKGEpKT9kLnN1Ym1pdENvbmZpZzp2b2lkIDA7dmFyIGU9Xy55KCkucmVzb2x2ZShfLkluKF8uRkkpKSxmPV8uUkkoYSk7ZiYmKGYuWmQ9ey4uLmYuWmQsaXNTdWJtaXR0aW5nOiEwfSxfLk9JKCkpO3RyeXtpZihkJiZlKXtsZXQgaz0kSShhLGIpO3ZhciBoPWFKKGEsayk7bGV0IGw9YXdhaXQgZS5iaShkLnN1Ym1pdElkLGgse3N1Ym1pdEFjdGlvbjoiU1VCTUlUX0FDVElPTl9TVUJNSVNTSU9OIixhbGxGaWVsZHM6ITB9LGQucGFyYW1zLGQuY2xpY2tUcmFja2luZ1BhcmFtcyk7aWYobC5zdWJtaXRFcnJvcil0aHJvdyBiSihsLnN1Ym1pdEVycm9yKTthd2FpdCBjPy5IbT8uKGwpfWVsc2UgYXdhaXQgYz8ub25TdWJtaXQ/LihiKX1jYXRjaChrKXtyZXR1cm4gayBpbnN0YW5jZW9mIEVycm9yP1Byb21pc2UucmVqZWN0KGspOlByb21pc2UucmVqZWN0KGJKKGspKX1maW5hbGx5e2lmKGE9Cl8uUkkoYSkpYS5aZD17Li4uYS5aZCxpc1N1Ym1pdHRpbmc6ITEsY3M6YS5aZC5jcysxfSxfLk9JKCl9fTtfLmNKPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5OKCgpPT5fLkJ2KGEpPz8iIix2b2lkIDAsIkdSbXByIiksZD1fLk4oKCk9Pl8uU0koYygpLGIpLHZvaWQgMCwicGJUZUJiIiksZT1fLk4oKCk9Pnt2YXIgaD1jKCk7cmV0dXJuKGg9Xy5SSShoKSk/aC5aZDpfLkpJKCl9LHZvaWQgMCwidWN2NkxiIiksZj1fLk4oKCk9Pnt2YXIgaD1kKCk7aWYoIWgpcmV0dXJue2Zvcm1EYXRhOnZvaWQgMCxldzp2b2lkIDB9O2g9JEkoYygpLGgpO3JldHVybntmb3JtRGF0YTpoLGV3OmFKKGMoKSxoKX19LHZvaWQgMCwiaEg2MXFjIik7cmV0dXJue2Zvcm06KCk9PmQoKSxkYXRhOigpPT5mKCksc3RhdGU6KCk9PmUoKSxzdWJtaXQ6YXN5bmMoKT0+e2F3YWl0IGJlYShjKCkpfSxkaXNwb3NlOigpPT5hZWEoYygpKX19O18uZEo9U3ltYm9sKCJkZCIpO3ZhciBiSjtfLlRJPWE9Pl8uSEkoYEZvcm0gc2Vzc2lvbiBmb3IgRm9ybUlkICR7YX0gbm90IGZvdW5kLmApO18uVUk9YT0+Xy5ISShgTmVzdGVkIGZvcm0gYWNjZXNzb3IgZm9yIEZvcm1JZCAke2F9IG5vdCBmb3VuZC5gKTtiSj1hPT5fLklJKGBVbmtub3duIGVycm9yIGR1cmluZyBmb3JtIHN1Ym1pc3Npb246ICR7SlNPTi5zdHJpbmdpZnkoYSl9YCk7dmFyIExJPW5ldyBNYXA7dmFyIFBJLE5JO18uUUk9bmV3IE1hcDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEhmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQ0FSRF9TVFlMRV9PVVRMSU5FIjpyZXR1cm4ieXRDYXJkVmlld01vZGVsT3V0bGluZSI7Y2FzZSAiQ0FSRF9TVFlMRV9UT05BTCI6cmV0dXJuInl0Q2FyZFZpZXdNb2RlbFRvbmFsIjtjYXNlICJDQVJEX1NUWUxFX0lOVkVSU0UiOnJldHVybiJ5dENhcmRWaWV3TW9kZWxJbnZlcnRlZCI7ZGVmYXVsdDpyZXR1cm4ieXRDYXJkVmlld01vZGVsUmFpc2VkIn19O3ZhciBITD1uZXcgXy5JKCJzZWN0aW9uSGVhZGVyVmlld01vZGVsIik7dmFyIElmYTtfLklMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVmJYclVlIik7cmV0dXJuIF8uaEh9O0lmYT1fLmNEKCgpPT5fLklMKCksImNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbCIsIlZiWHJVZSIsXy5JTCl9KTt2YXIgSmZhO18uSkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwRVNsRGIiKTtyZXR1cm4gXy5lRn07SmZhPV8uY0QoKCk9Pl8uSkwoKSwidGhlbWVkSW1hZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidGhlbWVkSW1hZ2VWaWV3TW9kZWwiLCJwRVNsRGIiLF8uSkwpfSk7dmFyIEtmYT1uZXcgXy5WcygiQVNLX1NUVURJT19DQVJEX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgTGZhPW5ldyBfLlZzKCJBU0tfU1RVRElPX1ZJREVPX0VESVRfUFJFVklFV19WSUVXX01PREVMX1RPS0VOIik7dmFyIE1mYT1uZXcgXy5WcygiQVVESUVOQ0VfT05MSU5FX0hFQVRNQVBfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBOZmE9bmV3IF8uVnMoIkNPTU1FTlRTX0RJR0VTVF9DT05URU5UX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgT2ZhPW5ldyBfLlZzKCJQUklNRVRJTUVfT0ZGRVJJTkdfSU5fUkVWSUVXX0NBUkRfQ09OVEVOVF9WSUVXX01PREVMX1RPS0VOIik7dmFyIFBmYT1uZXcgXy5WcygiWVRDUF9GVU5ORUxfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBRZmE7Xy5LTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInFWRGdCZCIpO3JldHVybiBfLmRGfTtRZmE9Xy5jRCgoKT0+Xy5LTCgpLCJjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsIiwicVZEZ0JkIixfLktMKX0pO3ZhciBSZmE7Xy5MTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImk2WG9tZSIpO3JldHVybiBfLlBGfTtSZmE9Xy5jRCgoKT0+Xy5MTCgpLCJyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmFkaW9CdXR0b25JdGVtVmlld01vZGVsIiwiaTZYb21lIixfLkxMKX0pO3ZhciBTZmE7Xy5NTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImJ6ajBqZCIpO3JldHVybiBfLnRMfTtTZmE9Xy5jRCgoKT0+Xy5NTCgpLCJpbmxpbmVFeHBhbmRlclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJpbmxpbmVFeHBhbmRlclZpZXdNb2RlbCIsImJ6ajBqZCIsXy5NTCl9KTt2YXIgVGZhO18uTkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGaU5HT2MiKTtyZXR1cm4gXy5nSH07VGZhPV8uY0QoKCk9Pl8uTkwoKSwiZGlzbWlzc2libGVJdGVtIik7Xy5ZdChfLkpELGE9PnthLkooImRpc21pc3NpYmxlSXRlbSIsIkZpTkdPYyIsXy5OTCl9KTt2YXIgVWZhPW5ldyBfLlZzKCJDT05URU5UX1NFQ1RJT05fVklFV19NT0RFTF9UT0tFTiIpO3ZhciBWZmE7Xy5PTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInVSSWFDIik7cmV0dXJuIF8uQkh9O1ZmYT1fLmNEKCgpPT5fLk9MKCksImNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjaGFubmVsQXR0cmlidXRpb25WaWV3TW9kZWwiLCJ1UklhQyIsXy5PTCl9KTt2YXIgUEw9Xy5MKGE9Pnt2YXIgYj1fLlFIKCgpPT5hLmRhdGEoKS50b3BDb250ZW50UGFkZGluZ1Rva2VuKSxjPV8uUUgoKCk9PmEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1ZhbHVlcz8udG9wUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZD1fLlFIKCgpPT5hLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdWYWx1ZXM/LmJvdHRvbVBhZGRpbmdUb2tlbnx8YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVG9rZW4pLGU9Xy5RSCgoKT0+YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVmFsdWVzPy5ob3Jpem9udGFsUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZj0oKT0+YS5kYXRhKCkuYmFja2dyb3VuZCxoPSgpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbkxheW91dD09PSJDQVJEX1RSQUlMSU5HX0FDVElPTl9MQVlPVVRfT1ZFUkxBWSIsaz0oKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb25MYXlvdXQ9PT0KIkNBUkRfVFJBSUxJTkdfQUNUSU9OX0xBWU9VVF9JTkxJTkVfQ0VOVEVSIixsPV8ueSgpLnJlc29sdmUoXy5JbihVZmEpKSxtPV8ueSgpLnJlc29sdmUoXy5JbihLZmEpKSxuPV8ueSgpLnJlc29sdmUoXy5JbihMZmEpKSxwPV8ueSgpLnJlc29sdmUoXy5JbihOZmEpKSxyPV8ueSgpLnJlc29sdmUoXy5JbihNZmEpKSx0PV8ueSgpLnJlc29sdmUoXy5JbihQZmEpKSx2PV8ueSgpLnJlc29sdmUoXy5JbihPZmEpKSx6PSgpPT5hLmRhdGEoKS5jYXJkU3RhdGU/LmVuYWJsZW1lbnRTdGF0ZT09PSJDQVJEX0VOQUJMRU1FTlRfU1RBVEVfRElTQUJMRUQiLEU9KCk9PiF6KCkmJl8udEgoYS5kYXRhKCkucmVuZGVyZXJDb250ZXh0KSxBPSgpPT57aWYoYS5pc0V4cGFuZGVkPy4oKSE9PXZvaWQgMClyZXR1cm4gYS5pc0V4cGFuZGVkPy4oKTtzd2l0Y2goYS5kYXRhKCkuY2FyZFN0YXRlPy5leHBhbnNpb25TdGF0ZSl7Y2FzZSAiQ0FSRF9FWFBBTlNJT05fU1RBVEVfRVhQQU5ERUQiOnJldHVybiEwOwpjYXNlICJDQVJEX0VYUEFOU0lPTl9TVEFURV9DT0xMQVBTRUQiOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuIGEuaXNTZWxlY3RlZD8uKCl9fTtyZXR1cm4gXy5LKCJ5dC1jYXJkLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbEhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKFRmYSx7Y29udGVudElkOigpPT5hLmRhdGEoKS5jb250ZW50SWR9LCgpPT5fLksoImRpdiIse2VsOl8uckYoXy51SCgoKT0+RSgpP2EuZGF0YSgpLnJlbmRlcmVyQ29udGV4dDp2b2lkIDAsdm9pZCAwLHZvaWQgMCxbIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKSwuLi4oXy54KCJXZWJGRUFsbFN0dWRpb0J5Q2hhbm5lbF9fZW5hYmxlX2FuYWx5dGljc19odWJfd2ViIik/WyJZVC1MSVNULUlURU0tVklFVy1NT0RFTCJdOltdKV0pKSxjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbENhcmRWaWV3TW9kZWxJbm5lciIse3l0Q2FyZFZpZXdNb2RlbENsaWNrYWJsZTpFfSwoKT0+SGZhKGEuZGF0YSgpLmNhcmRTdHlsZSksCnt5dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWQ6KCk9PiEhYS5pc1NlbGVjdGVkPy4oKX0sKCk9PntpZihhLmlzU2VsZWN0ZWQ/LigpPT09dm9pZCAwKXthOntzd2l0Y2goYS5kYXRhKCkuY2FyZFN0YXRlPy5zZWxlY3Rpb25TdGF0ZSl7Y2FzZSAiQ0FSRF9TRUxFQ1RJT05fU1RBVEVfU0VMRUNURUQiOnZhciBGPSJ5dENhcmRWaWV3TW9kZWxTZWxlY3RlZCI7YnJlYWsgYX1GPXZvaWQgMH1yZXR1cm4gRn19KSxyb2xlOigpPT5FKCkmJiFfLkIoYS5kYXRhKCkudG9wQ29udGVudCxITCk/ImJ1dHRvbiI6dm9pZCAwLCJhcmlhLWRpc2FibGVkIjp6LHRhYmluZGV4OigpPT56KCk/LTE6RSgpJiYhXy5CKGEuZGF0YSgpLnRvcENvbnRlbnQsSEwpPzA6dm9pZCAwfSxfLksoXy5XLHtkYXRhOmYsd3JhcHBlcjpGPT5fLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlciJ9LEYoKSl9LHtjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWw6UWZhLHRoZW1lZEltYWdlVmlld01vZGVsOih7ZGF0YTpGfSk9PgpfLksoSmZhLHtkYXRhOkYsY2xhc3NOYW1lOiJ5dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kIn0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsQ29udGVudFdyYXBwZXIifSxfLksoXy5PLHtBOigpPT4haCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsVG9wQ29udGVudCIse3l0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRQYWRkaW5nOigpPT4hYS5kYXRhKCkuZGlzYWJsZVRvcENvbnRlbnRQYWRkaW5nJiZhLmRhdGEoKS50b3BDb250ZW50fSksc3R5bGU6Xy5JRSh7cGFkZGluZzpifSl9LF8uSyhfLlcse2RhdGE6KCk9PmEuZGF0YSgpLnRvcENvbnRlbnR9LHtjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWw6Xy5uTCxiYXNpY0NvbnRlbnRWaWV3TW9kZWw6Xy5sTCxsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCxsaXN0SXRlbVZpZXdNb2RlbDpfLnBMLApzZWN0aW9uSGVhZGVyVmlld01vZGVsOl8udkR9KSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uIix7eXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb246ayx5dENhcmRWaWV3TW9kZWxJbmxpbmVUcmFpbGluZ0FjdGlvbk1hcmdpbjooKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb259KX0sXy5LKF8uVyx7ZGF0YTooKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb259LHtidXR0b25WaWV3TW9kZWw6Xy5VRn0pKSl9KSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRDYXJkVmlld01vZGVsQm90dG9tQ29udGVudFBhZGRpbmc6KCk9PiFhLmRhdGEoKS5kaXNhYmxlQm9keUNvbnRlbnRQYWRkaW5nJiZhLmRhdGEoKS5ib2R5Q29udGVudH0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLXRvcCI6YywicGFkZGluZy1ib3R0b20iOmQsInBhZGRpbmctbGVmdCI6ZSwicGFkZGluZy1yaWdodCI6ZX0pfSxfLksoXy5XLHtkYXRhOigpPT4KYS5kYXRhKCkuYm9keUNvbnRlbnR9LHtiYXNpY0NvbnRlbnRWaWV3TW9kZWw6Xy5sTCxjaGFubmVsQXR0cmlidXRpb25WaWV3TW9kZWw6VmZhLGNvbnRlbnRJbnNwaXJhdGlvbkNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWw6SWZhLGNvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbDpfLm5MLGRlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbDpfLnZMLGlubGluZUV4cGFuZGVyVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhTZmEse2RhdGE6Rixpc1NlbGVjdGVkOkF9KSxsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCxsaXN0SXRlbVZpZXdNb2RlbDpfLnBMLGxvY2t1cFZpZXdNb2RlbDooe2RhdGE6Rn0pPT5fLksoXy5yTCx7ZGF0YTpGLHdxOiEwfSksLi4uKG0mJnthc2tTdHVkaW9DYXJkVmlld01vZGVsOm19KSwuLi4obiYme2Fza1N0dWRpb1ZpZGVvRWRpdFByZXZpZXdWaWV3TW9kZWw6bn0pLC4uLihyJiZ7YXVkaWVuY2VPbmxpbmVIZWF0bWFwVmlld01vZGVsOnJ9KSwuLi4ocCYmCntjb21tZW50c0RpZ2VzdENvbnRlbnRWaWV3TW9kZWw6cH0pLC4uLihsJiZ7Y29udGVudFNlY3Rpb25WaWV3TW9kZWw6bH0pLC4uLih2JiZ7cHJpbWV0aW1lT2ZmZXJpbmdJblJldmlld0NhcmRDb250ZW50Vmlld01vZGVsOnZ9KSwuLi4odCYme2Z1bm5lbFZpZXdNb2RlbDp0fSl9KSkpLF8uSyhfLk8se0E6KCk9PmgoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxPdmVybGF5VHJhaWxpbmdBY3Rpb24ifSxfLksoXy5XLHtkYXRhOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0se2J1dHRvblZpZXdNb2RlbDpfLlVGfSkpfSksXy5LKF8uTyx7QTp6LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheSIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KX0pKSkpfSwiQWEiKTt2YXIgV2ZhPVsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXSxYZmE9Xy5MKGE9PntmdW5jdGlvbiBiKEgpe2UoKS5pc0Rpc2FibGVkfHwoZj9mKEgudGFyZ2V0LGUoKSxrPy4oKSk6QSghRSgpKSl9ZnVuY3Rpb24gYyhIKXtILmtleT09PSIgIiYmKEgucHJldmVudERlZmF1bHQoKSxILnRhcmdldC5jbGljaygpKX12YXIgZD1fLngoImVuYWJsZV9uYXRpdmVfaW5wdXRfc2VsZWN0YWJsZV9pdGVtIiksZT1hLmRhdGEsZj1hLm9uU2VsZWN0ZWQsaD1hLlNoLGs9YS5ncm91cE5hbWUsbD1hLmNsYXNzTmFtZSxtPWEucm9sZSxuPSJyYWRpbyIrXy5PSCgpLHA9Xy5RSCgoKT0+ZSgpLnZlcnRpY2FsUGFkZGluZ1Rva2VuKSxyPV8uUUgoKCk9PmUoKS5ob3Jpem9udGFsUGFkZGluZ1Rva2VuKSx0PSgpPT5lKCkuY29udGVudCxbdix6XT1fLkooITEsdm9pZCAwLCJVbTdGZ2MiKSxFPXYsQT16LEY9KCk9PiEhZSgpLmlzRGlzYWJsZWQsQz0oKT0+e2lmKGghPT12b2lkIDApe2xldCBIPQpoKCk7cmV0dXJuISghSHx8ZSgpLmtleSE9PUgpfXJldHVybiBFKCl9LEc9KCk9PmghPT12b2lkIDAmJmUoKS5iZWhhdmlvcj09PSJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfRVhQQU5ERURfTk9UX1NFTEVDVEVEIj8hMTpDKCksRD0oKT0+e2lmKGghPT12b2lkIDAmJkMoKSlzd2l0Y2goZSgpLmJlaGF2aW9yKXtjYXNlICJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfU0VMRUNURURfTk9UX0VYUEFOREVEIjpyZXR1cm4hMTtjYXNlICJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfRVhQQU5ERURfTk9UX1NFTEVDVEVEIjpyZXR1cm4hMH19O3JldHVybiBkP18uSygieXQtc2VsZWN0YWJsZS1pdGVtLXZpZXctbW9kZWwiLHtzdHlsZTpfLklFKHsicGFkZGluZy10b3AiOnAsInBhZGRpbmctYm90dG9tIjpwLCJwYWRkaW5nLWxlZnQiOnIsInBhZGRpbmctcmlnaHQiOnJ9KSxjbGFzczpfLlAoInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxIb3N0IixsLCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsQ29udGFpbmVyIiwKInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVDb250YWluZXIiLHt5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsRGlzYWJsZWQ6Rn0pLCJwcm9wOmNoZWNrZWQiOkd9LF8uSygiaW5wdXQiLHtpZDpuLHR5cGU6InJhZGlvIixuYW1lOmEuZ3JvdXBOYW1lLCJwcm9wOmNoZWNrZWQiOkcsZGlzYWJsZWQ6Riwib246Y2xpY2siOmIsIm9uOmtleWRvd24iOmMsY2xhc3M6Inl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVSYWRpb0J1dHRvbiJ9KSxfLksoImxhYmVsIix7Zm9yOm4sY2xhc3M6Inl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbCIsIm9uOmtleWRvd24iOmN9LF8uSyhfLlcse2RhdGE6dH0se2NhcmRWaWV3TW9kZWw6KHtkYXRhOkh9KT0+Xy5LKFBMLHtkYXRhOkgsaXNTZWxlY3RlZDpHLGlzRXhwYW5kZWQ6RH0pfSkpKTpfLksoInl0LXNlbGVjdGFibGUtaXRlbS12aWV3LW1vZGVsIix7c3R5bGU6Xy5JRSh7InBhZGRpbmctdG9wIjpwLCJwYWRkaW5nLWJvdHRvbSI6cCwKInBhZGRpbmctbGVmdCI6ciwicGFkZGluZy1yaWdodCI6cn0pLCJhcmlhLWNoZWNrZWQiOkcsY2xhc3M6Xy5QKCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsSG9zdCIsbCwieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lciIse3l0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxEaXNhYmxlZDpGfSksIm9uOmNsaWNrIjpmdW5jdGlvbihIKXtpZighZSgpLmlzRGlzYWJsZWQpe3ZhciBSPUguY3VycmVudFRhcmdldDtpZihfLngoIndlYl9zZWxlY3RhYmxlX2l0ZW1fY2hpbGRfdGFwX2tpbGxfc3dpdGNoIikpUj0hMTtlbHNle3ZhciBNPV8ucUgoSCk7Uj1fLnJIKE0sUixXZmEpfVJ8fChmP2YoSC5jdXJyZW50VGFyZ2V0LGUoKSxrPy4oKSk6QSghRSgpKSl9fSwicHJvcDpjaGVja2VkIjpHLHJvbGU6bSwiYXJpYS1kaXNhYmxlZCI6Rix0YWJpbmRleDowfSxfLksoXy5XLHtkYXRhOnR9LHtjYXJkVmlld01vZGVsOih7ZGF0YTpIfSk9Pl8uSyhQTCx7ZGF0YTpILGlzU2VsZWN0ZWQ6RywKaXNFeHBhbmRlZDpEfSl9KSl9LCJCYSIpO18uRUw9Xy5MKGE9PntmdW5jdGlvbiBiKHosRSxBKXt2YXIgRj1jKCkuZm9ybUZpZWxkTWV0YWRhdGEmJm0oKSE9PXZvaWQgMD8zOmQoKT8yOjE7Rj09PTEmJkUua2V5IT1udWxsJiZ0KEUua2V5KTtGPT09MyYmRS5rZXkhPW51bGwmJm0oKT8udXBkYXRlVmFsdWUoRS5rZXkpO2U/Lih6LEUsQSl9dmFyIHtkYXRhOmMsV2I6ZCxvblNlbGVjdGVkOmUsU2g6Zixncm91cE5hbWU6aCxjbGFzc05hbWU6ayxuYTpsfT1fLkRDKGEse1diOiEwfSksbT1fLlpJKCgpPT5jKCkuZm9ybUZpZWxkTWV0YWRhdGEpLG49KCk9Pmg/LigpfHxjKCkua2V5LFtwLHJdPV8uQUMoKCk9PmMoKS5kZWZhdWx0U2VsZWN0ZWRLZXkpLHQ9cix2PSgpPT4oYygpLmZvcm1GaWVsZE1ldGFkYXRhJiZtKCkhPT12b2lkIDA/MzpkKCk/MjoxKT09PTM/bSgpPy52YWx1ZTpkKCk/Zj8uKCk6cCgpO3JldHVybiBfLksoInl0LXJhZGlvLWJ1dHRvbi1ncm91cC12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0IiwKayl9LF8uSygiZmllbGRzZXQiLHtjbGFzczoieXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRmllbGRzZXQiLHJvbGU6InJhZGlvZ3JvdXAiLCJhcmlhLWludmFsaWQiOigpPT4hIW0oKT8uZXJyb3JzPy5bMF0sImFyaWEtZGVzY3JpYmVkYnkiOigpPT5tKCk/LmVycm9ycz8uWzBdP2BlcnJvci0ke2MoKS5rZXl9YDp2b2lkIDB9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5yYWRpb0J1dHRvbnN9LHtyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWw6KHtkYXRhOnp9KT0+Xy5LKFJmYSx7ZGF0YTp6LG9uU2VsZWN0ZWQ6YixTaDp2LGdyb3VwTmFtZTpuLG5hOmx9KSxzZWxlY3RhYmxlSXRlbVZpZXdNb2RlbDooe2RhdGE6en0pPT5fLksoWGZhLHtkYXRhOnosb25TZWxlY3RlZDpiLFNoOnYsZ3JvdXBOYW1lOm4scm9sZToicmFkaW8ifSl9KSksXy5LKF8uTyx7QTooKT0+bSgpPy5lcnJvcnM/LlswXSx0aGVuOno9Pl8uSygiZGl2Iix7aWQ6KCk9PmBlcnJvci0ke2MoKS5rZXl9YCxjbGFzczoieXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRXJyb3IifSwKKCk9PnooKS5tZXNzYWdlKX0pKX0sIkNhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImQyTFR4YiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFFPV8uTCgoe25hbWU6YSxvbkNoYW5nZTpiLG9uQ2xpY2s6YyxjaGVja2VkOmQsWWU6ZSxoazpmLFlpOmgscWo6ayxuYTpsLFZjOm0sYXJpYUxhYmVsOm4sY2xhc3NOYW1lOnAsZGlzYWJsZWQ6cixob3Jpem9udGFsUGFkZGluZzp0LHZlcnRpY2FsUGFkZGluZzp2fSk9Pnt2YXIgej0icmFkaW8iK18uT0goKSxFPV8udUUoImlucHV0IiksQT1fLngoImVuYWJsZV9pb3Nfd2Vidmlld19yYWRpb19idXR0b25fcmVzcG9uc2l2ZW5lc3MiKSxbRixDXT1fLkooITEsdm9pZCAwLCJmTHJYNmQiKTtyZXR1cm4gXy5LKCJyYWRpby1zaGFwZSIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlSG9zdCIscCl9LF8uSygiaW5wdXQiLHtlbDpFLGNsYXNzOl8uUCgieXRSYWRpb1NoYXBlSW5wdXQiLHt5dFJhZGlvU2hhcGVUYXBwYWJsZTooKT0+KCEhYnx8ISFjKSYmIXI/LigpfSksaWQ6eiwicHJvcDpjaGVja2VkIjpkLG5hbWU6YSx0eXBlOiJyYWRpbyIsZGlzYWJsZWQ6ciwib246Y2hhbmdlIjpmdW5jdGlvbihHKXtFLnZhbHVlLmNoZWNrZWQ9CiEhZD8uKCk7Yj8uKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjbGljayI6ZnVuY3Rpb24oRyl7Yz8uKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJhcmlhLWxhYmVsIjpuLCJvbjpmb2N1c2luIjpmdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk/LlhlKCkmJkMoITApfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKCl7QyghMSl9fSksXy5LKCJsYWJlbCIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlTGFiZWxDb250YWluZXIiLGsse3l0UmFkaW9TaGFwZUNvbXBhY3Q6bCx5dFJhZGlvU2hhcGVLZXlib2FyZEZvY3VzZWQ6Rix5dFJhZGlvU2hhcGVUYXBwYWJsZTooKT0+KCEhYnx8ISFjKSYmIXI/LigpLHl0UmFkaW9TaGFwZURpc2FibGVkOnJ9KSxmb3I6en0sXy5LKF8uTyx7QTooKT0+IWg/LigpLHRoZW46KCk9Pl8uSyhTSCx7Y2hlY2tlZDpkLGhrOmYsZ2c6ITAsVmM6bSxEczpBfSl9KSxfLksoXy5PLHtBOigpPT4hIWUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UmFkaW9TaGFwZUxhYmVsIiwKe3l0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2g6QX0pLCJhcmlhLWhpZGRlbiI6KCk9PiEhbj8uKCksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6dCwicGFkZGluZy1yaWdodCI6dCwicGFkZGluZy10b3AiOnYsInBhZGRpbmctYm90dG9tIjp2fSl9LGU/LigpKX0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoU0gse2NoZWNrZWQ6ZCxoazpmLGdnOiExLFZjOm0sRHM6QX0pfSkpKX0sInciKTtfLkFFLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DaGFuZ2U6ITAsb25DbGljazohMCxZZTohMH19Owp2YXIgU0g9Xy5MKCh7aGs6YSxWYzpiLERzOmN9KT0+e3ZhciBkPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJDSVJDTEVfRlVMTCI6IkNJUkNMRSI7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVSYWRpbyIsYix7eXRSYWRpb1NoYXBlQ2hlY2tJY29uOmEseXRSYWRpb1NoYXBlUmFkaW9EZWZhdWx0U3R5bGU6KCk9PiFiPy4oKSx5dFJhZGlvU2hhcGVFdmVudFBhc3N0aHJvdWdoOmN9KSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uTUQse2ljb246KCk9PmE/LigpPyJDSEVDSyI6IkNJUkNMRSJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YT8uKCk/IkNIRUNLIjpkLGFjdGl2ZTooKT0+IWE/LigpfSkpfSwieCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJ6Q2tLQmMiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5WRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImFjRnVWYyIpO3JldHVybiBfLkdEfTtfLldGPV8uY0QoKCk9Pl8uVkYoKSwiY29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsIiwiYWNGdVZjIixfLlZGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLllGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiZjkwdENiIik7cmV0dXJuIF8uRkR9O18uWkY9Xy5jRCgoKT0+Xy5ZRigpLCJ0b2dnbGVCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidG9nZ2xlQnV0dG9uVmlld01vZGVsIiwiZjkwdENiIixfLllGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmJHPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiTFZpTU0iKTtyZXR1cm4gXy5ERH07Xy5jRz1fLmNEKCgpPT5fLmJHKCksInN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWwiLCJMVmlNTSIsXy5iRyl9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGRHO18uZUc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy55KCkucmVzb2x2ZShfLkluKGRHKSksW2MsZF09Xy5KKGIsdm9pZCAwLCJIZkRkSyIpO2J8fF8uWXQoZEcsZCk7cmV0dXJuIF8uTigoKT0+e3ZhciBlPWEoKTtyZXR1cm4gZT9jKCk/LihlKTp2b2lkIDB9LHZvaWQgMCwidjcwRTdiIil9O2RHPW5ldyBfLlZzKCJTRU1BTlRJQ19DT0xPUl9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmlIPW5ldyBfLlZzKCJIT1JJWk9OVEFMX0JBUl9WSUVXX01PREVMX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTEg9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBfLnkoKS5yZXNvbHZlKF8uSkgpO3JldHVybiBfLnkoKS5yZXNvbHZlKF8uS0gpKCl9O18uTUg9ZnVuY3Rpb24oKXtyZXR1cm4gXy55KCkucmVzb2x2ZShfLktIKSgpfTtuZXcgXy5jcztfLkpIPW5ldyBfLlZzKCJXQVRDSF9QTEFZRVJfUFJPTUlTRV9UT0tFTiIpO25ldyBfLmNzO18uS0g9bmV3IF8uVnMoIkdFVF9TSE9SVFNfUExBWUVSX0ZVTkNUSU9OX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVUg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPU9iamVjdC5rZXlzKGIpO18ubkUoKCk9PntpZihhPy4oKSl7Zm9yKGxldCBlIG9mIGQpYy5hZGRFdmVudExpc3RlbmVyKGUsYltlXSk7Xy5ZdSgoKT0+e2ZvcihsZXQgZSBvZiBkKWMucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGJbZV0pfSl9fSwiYlhaR2ZlIil9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGRJLFBkYSxmSSxRZGEsaUksU2RhO2RJPWZ1bmN0aW9uKGEpe2lmKGEpc3dpdGNoKGEpe2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1hTTUFMTCI6cmV0dXJuIDE2O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1NNQUxMIjpyZXR1cm4gMTg7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfU1RBTkRBUkQiOnJldHVybiAyNDtjYXNlICJMSVNUX0lURU1fSUNPTl9BQ0NFU1NPUllfU0laRV9MQVJHRSI6cmV0dXJuIDM2O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1hMQVJHRSI6cmV0dXJuIDQ4O2RlZmF1bHQ6cmV0dXJuIDI0fX07ClBkYT1mdW5jdGlvbihhLGIpe2lmKCFhPy5lbnRpdHlTZWxlY3RvclR5cGV8fCFhPy5lbnRpdHlLZXkpcmV0dXJue307c3dpdGNoKGEuZW50aXR5U2VsZWN0b3JUeXBlKXtjYXNlICJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DQVBUSU9OX0xBTkdVQUdFX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT1fLk1IKCk/LmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpLGI9dHlwZW9mIGE/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U9PT0ib2JqZWN0IiYmYS50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fGE/LmRpc3BsYXlOYW1lfHwiIix7ZGF0YTp7Li4uKCEhYiYme3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yn19KSwuLi4oISFiJiZ7bGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZToiQ0xPU0VEX0NBUFRJT05fU0VMRUNURUQifX1dfX0pLGlzRGlzYWJsZWQ6dHlwZW9mIGE9PT0idW5kZWZpbmVkIn19O2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0FVRElPX1RSQUNLX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT0KXy5NSCgpPy5nZXRBdWRpb1RyYWNrKCl8fHZvaWQgMCxiPWE/LmdldExhbmd1YWdlSW5mbygpPy5nZXROYW1lKCkse2RhdGE6e3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yn0sLi4uKGImJiFhPy5nZXRMYW5ndWFnZUluZm8oKT8uZ2V0SXNEZWZhdWx0KCkmJntsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJQRVJTT05fUkFEQVJfRklMTEVEIn19XX19KX19O2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1BMQVlCQUNLX1NQRUVEX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT1fLngoIndlYl9zaG9ydHNfcGxheWJhY2tfcmF0ZV9waWNrZXIiKSxfLmVJWyJjb3VudGVyZmFjdHVhbHMud2ViX3Nob3J0c19wbGF5YmFja19yYXRlX3BpY2tlciJdPVN0cmluZyhhKSxhPyhhPV8uTUgoKT8uZ2V0UGxheWJhY2tSYXRlKCksYj1fLk1IKCk/LmdldEF2YWlsYWJsZVBsYXliYWNrUmF0ZXMoKSxhPXtkYXRhOntzZWxlY3Rpb25UZXh0Ontjb250ZW50OmE9PT0KMT9fLmFBKCJQTEFZRVJfU1BFRURfTk9STUFMIix2b2lkIDAsIk5vcm1hbCIpOl8uYUEoIlBMQVlCQUNLX1NQRUVEX1giLHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyOmAke2E/LnRvRml4ZWQoMil9YH0pfSxpc0Rpc2FibGVkOiFiPy5sZW5ndGh9fSk6YT17fSxhO2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1JFTU9WRV9BRFNfQURfU1RBVEUiOnJldHVybiBhPWE/LmVudGl0eUtleT8oYT1fLkhIKGIsYS5lbnRpdHlLZXkpKT97aXNIaWRkZW46YT8uYWRzU3RhdGUhPT0iQURTX1NUQVRFX1BMQVlJTkcifTp7aXNIaWRkZW46ITB9Ont9LGE7ZGVmYXVsdDpyZXR1cm57fX19O2ZJPWZ1bmN0aW9uKGEpe2lmKGEmJihhPWEuc3BsaXQoIjoiKSxhLmxlbmd0aD4xKSlyZXR1cm4gYVswXS5sZW5ndGg+MD9hWzBdOnZvaWQgMH07UWRhPWZ1bmN0aW9uKGEpe2lmKGEmJiFnSS5oYXMoYSkpe3ZhciBiPWZJKGEpO2ImJmdJLnNldChhLGIpfX07CmlJPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17Li4uaEkoKX07aWYoYiYmYz09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIil7bGV0IGU9ZkkoYSk7ZSYmZ0kuZm9yRWFjaCgoZixoKT0+e2Y9PT1lJiZoIT09YSYmKGRbaF09ITEpfSl9ZFthXT1iO1JkYShkKX07U2RhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2lmKCFjPy4oKSl7dmFyIGU9Zj0+e18uckgoXy5xSChmKSxkLGIpfHxhKGYpfTtkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlKTtyZXR1cm4oKT0+e2QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGUpfX19fTtfLmVJPXt9O18uakk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJtbTJOMGMiKTtyZXR1cm4gXy56RX07Xy5rST1fLmNEKCgpPT5fLmpJKCksInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzd2l0Y2hCdXR0b25WaWV3TW9kZWwiLCJtbTJOMGMiLF8uakkpfSk7dmFyIG1JO18ubEk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJoYjBXbWYiKTtyZXR1cm4gXy5YRn07bUk9Xy5jRCgoKT0+Xy5sSSgpLCJhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbCIsImhiMFdtZiIsXy5sSSl9KTt2YXIgVGRhO18ubkk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJoTmVsdmQiKTtyZXR1cm4gXy5hSX07VGRhPV8uY0QoKCk9Pl8ubkkoKSwibGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWwiLCJoTmVsdmQiLF8ubkkpfSk7dmFyIFVkYTtfLm9JPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicjVDT0hmIik7cmV0dXJuIF8uJEh9O1VkYT1fLmNEKCgpPT5fLm9JKCksImxpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsIiwicjVDT0hmIixfLm9JKX0pO3ZhciBwST1fLkwoKHtkYXRhOmEsZ2c6YixjZTpjLGlzVG9nZ2xlZDpkLERnOmUsbmE6Zn0pPT57dmFyIGg9KCk9PmIoKT9hKCkubGVhZGluZ0ltYWdlOmEoKS50cmFpbGluZ0ltYWdlPz9fLlFGKGEoKS50aGVtZWRUcmFpbGluZ0ltYWdlKSxrPSgpPT57YTp7dmFyIHI9YSgpLmxpc3RJdGVtSWNvbkFmdGVyU2VsZWN0aW9uVGV4dDtpZighYz8uKCkpc3dpdGNoKHIpe2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX0VYUEFORF9NT1JFIjpyPSJleHBhbmRfbW9yZSI7YnJlYWsgYTtjYXNlICJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9OT05FIjpicmVhaztkZWZhdWx0OnI9ImNoZXZyb25fcmlnaHQiO2JyZWFrIGF9cj12b2lkIDB9cmV0dXJuIHJ9LGw9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSW1hZ2VDb250YWluZXIiLHt5dExpc3RJdGVtVmlld01vZGVsTGVhZGluZzpiLHl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzooKT0+IWIoKX0pLAptPV8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSIsInl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZSIpLG49Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5Iix7eXRMaXN0SXRlbVZpZXdNb2RlbExlYWRpbmc6Yix5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmc6KCk9PiFiKCl9KSxwPV8uZUcoKCk9PmIoKT9hKCkubGVhZGluZ0ljb25Db2xvclRva2VuOmEoKS50cmFpbGluZ0ljb25Db2xvclRva2VuKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+e3ZhciByPWEoKSx0PWIoKTtyZXR1cm4hISh0JiYoci5sZWFkaW5nSW1hZ2V8fHIubGVhZGluZ0FjY2Vzc29yeSl8fCF0JiYoci50cmFpbGluZ0ltYWdlfHxyLnRyYWlsaW5nQnV0dG9ufHxyLnRyYWlsaW5nQnV0dG9uc3x8ci50cmFpbGluZ0FjY2Vzc29yaWVzTGlzdHx8ci5zZWxlY3Rpb25UZXh0fHxyLnRoZW1lZFRyYWlsaW5nSW1hZ2V8fHIudHJhaWxpbmdJbWFnZUFjY2Vzc29yeVR5cGU9PT0iTElTVF9JVEVNX0lNQUdFX0FDQ0VTU09SWV9UWVBFX05FV19DT05URU5UX0lORElDQVRPUiJ8fApyLnRyYWlsaW5nTGFiZWwpKX0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOmgsdGhlbjpyPT5fLksoImRpdiIse2NsYXNzOmwsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLmpGLHtkYXRhOnIsYWx0OiIiLFRhOiEwLFlhOiEwLEFiOigpPT57dmFyIHQ9KGIoKT9hKCkubGVhZGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfSUNPTiI6YSgpLnRyYWlsaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9JQ09OIik/YigpP2RJKGEoKS5sZWFkaW5nSWNvbkFjY2Vzc29yeVNpemUpOmRJKGEoKS50cmFpbGluZ0ljb25BY2Nlc3NvcnlTaXplKTp2b2lkIDA7cmV0dXJuIHR9LGNsYXNzTmFtZTptLGlzVG9nZ2xlZDooKT0+IWU/LigpJiZkPy4oKSxzdHlsZTpfLklFKHtjb2xvcjpwfSl9KSl9KSxfLksoXy5PLHtBOigpPT5iKCkmJmEoKS5sZWFkaW5nQWNjZXNzb3J5LHRoZW46KCk9PgpfLksoImRpdiIse2NsYXNzOmx9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5sZWFkaW5nQWNjZXNzb3J5fSx7YXZhdGFyVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlNGLHtkYXRhOnIsZ2Q6bSxNazooKT0+Zj8uKCk/e3NpemU6ImV4dHJhLXNtYWxsIn06e3NpemU6Im1lZGl1bSJ9fSksY29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5XRix7ZGF0YTpyLG1heEhlaWdodDozNix3aWR0aDo1NixjZzohMH0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQnV0dG9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5hKCkudHJhaWxpbmdCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQnV0dG9ucz8uYnV0dG9ucywKdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50cmFpbGluZ0J1dHRvbnM/LmJ1dHRvbnN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pLGFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhtSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmtJLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uY0cse2RhdGE6cixpc092ZXJsYXk6ITEsUWQ6ITEsY2xhc3NOYW1lOm59KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uWkYse2RhdGE6cixjbGFzc05hbWU6bn0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0Py50cmFpbGluZ0FjY2Vzc29yaWVzLAp0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0Py50cmFpbGluZ0FjY2Vzc29yaWVzfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlVGLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksobUkse2RhdGE6cixjbGFzc05hbWU6bn0pLHN3aXRjaEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5rSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3Vic2NyaWJlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmNHLHtkYXRhOnIsaXNPdmVybGF5OiExLFFkOiExLGNsYXNzTmFtZTpufSksdG9nZ2xlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlpGLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxiYWRnZVZpZXdNb2RlbDooe2RhdGE6cn0pPT4KXy5LKF8uYUcse2RhdGE6cixjbGFzczpufSksbGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKFRkYSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksbGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKFVkYSx7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiYhIWEoKS5zZWxlY3Rpb25UZXh0LHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uVix7dGV4dDooKT0+YSgpLnNlbGVjdGlvblRleHQsY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbFNlbGVjdGlvblRleHQiLCJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0Iil9KSxfLksoXy5PLHtBOmssdGhlbjpyPT5fLksoXy5NRCx7aWNvbjpyLGNsYXNzTmFtZToieXRMaXN0SXRlbVZpZXdNb2RlbENoZXZyb25JY29uIixhcmlhSGlkZGVuOiEwLHN0eWxlOl8uSUUoe2NvbG9yOnB9KX0pfSkpfSksXy5LKF8uTyx7QTooKT0+CiFiKCkmJmEoKS50cmFpbGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfTkVXX0NPTlRFTlRfSU5ESUNBVE9SIix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmx9LF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxOZXdDb250ZW50SW5kaWNhdG9yIn0pKX0pLF8uSyhfLk8se0E6KCk9PiFiKCkmJmEoKS50cmFpbGluZ0xhYmVsLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmEoKS50cmFpbGluZ0xhYmVsLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsIiwieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIil9KX0pKX0pfSwieiIpO3ZhciBWZGE9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5pSCkpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQm90dG9tQWNjZXNzb3J5In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJvdHRvbUFjY2Vzc29yeX0sey4uLihiJiZ7aG9yaXpvbnRhbEJhclZpZXdNb2RlbDpifSl9KSl9LCJBIik7dmFyIHFJPV8uTChhPT57dmFyIGI9YS5kYXRhLGM9YS5jbGFzc05hbWUsZD1fLmVHKCgpPT5iKCkuaXNEaXNhYmxlZCYmYigpLmxhYmVsRGlzYWJsZWRDb2xvclRva2VuP2IoKS5sYWJlbERpc2FibGVkQ29sb3JUb2tlbjpiKCkubGFiZWxUZXh0Q29sb3JUb2tlbiksZT1fLmVHKCgpPT5iKCkuc3VwZXJMYWJlbENvbG9yVG9rZW4pO3JldHVybiBfLksoXy5PLHtBOigpPT5iKCkuc3VwZXJsYWJlbHx8YigpLnRpdGxlfHxiKCkuc3VidGl0bGV8fGIoKS5zdWJ0aXRsZUJhZGdlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uTyx7QTooKT0+YigpLnN1cGVybGFiZWwsdGhlbjpmPT5fLksoXy5WLHt0ZXh0OmYsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsU3VwZXJsYWJlbCIsc3R5bGU6Xy5JRSh7Y29sb3I6ZX0pfSl9KSxfLksoXy5PLHtBOigpPT5iKCkudGl0bGUsdGhlbjpmPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVyIn0sCl8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsVGl0bGUiLHt5dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxlOigpPT5iKCkudGl0bGVNYXhMaW5lcz09PTF9KSxzdHlsZTpfLklFKHtjb2xvcjpkfSl9KSl9KSxfLksoXy5PLHtBOigpPT5iKCkuc3VidGl0bGVCYWRnZXx8YigpLnN1YnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlciJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKS5zdWJ0aXRsZUJhZGdlfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmZ9KT0+Xy5LKF8uYUcse2RhdGE6Zn0pfSkpLF8uSyhXZGEse2RhdGE6Yix5dzooKT0+ISFiKCkuc3VidGl0bGVCYWRnZX0pKX0pKX0pfSwiQiIpLFdkYT1fLkwoYT0+e3ZhciBiPV8uZUcoKCk9PmEuZGF0YSgpLnN1YkxhYmVsQ29sb3JUb2tlbik7CnJldHVybiBfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5zdWJ0aXRsZSx0aGVuOmM9Pl8uSyhfLlYse3RleHQ6YyxjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsU3VidGl0bGUiLHt5dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdlOmEueXd9KSxzdHlsZTpfLklFKHtjb2xvcjpifSl9KX0pfSwiQyIpO3ZhciBYZGE9Xy5MKCh7ZGF0YTphLGNlOmIsZnU6Yyxpc1RvZ2dsZWQ6ZCxkaXNhYmxlZDplLFh4OmYsbmE6aCxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpsLGhvcml6b250YWxQYWRkaW5nOm0sWXg6bix1QjpwLG9uVGFwOnIsYXJpYUxhYmVsOnQsRGc6dn0pPT57dmFyIHo9KCk9PiEhYSgpLmlzRGlzYWJsZWR8fCEhZT8uKCksRT1fLmVHKCgpPT5hKCkudHJhaWxpbmdJY29uQ29sb3JUb2tlbik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlciIse3l0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXI6KCk9PiFmPy4oKSx5dExpc3RJdGVtVmlld01vZGVsRGlzYWJsZWQ6eix5dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGU6KCk9PiEhYSgpLnN1YnRpdGxlLHl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0OmgseXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlOm4seXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHk6Xy54KCJ3ZWJfZW5hYmxlX2xpc3RfaXRlbV9hY3Rpb25fdHlwb2dyYXBoeSIpLAp5dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cDprLHl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6KCk9Pmw/LigpJiYhZj8uKCkseXRMaXN0SXRlbVZpZXdNb2RlbE5vVHJhaWxpbmdUZXh0OigpPT4hYSgpLnNlbGVjdGlvblRleHQmJiFhKCkudHJhaWxpbmdMYWJlbH0sKCk9PnthOntzd2l0Y2goYSgpLmxheW91dFByaW9yaXR5KXtjYXNlICJMSVNUX0lURU1fTEFZT1VUX1BSSU9SSVRZX1RSQUlMSU5HIjp2YXIgQT0ieXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyI7YnJlYWsgYX1BPXZvaWQgMH1yZXR1cm4gQX0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLWxlZnQiOm0sInBhZGRpbmctcmlnaHQiOm19KX0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXIifSxfLksocEkse2RhdGE6YSxnZzohMCxjZTpiLGlzVG9nZ2xlZDpkLERnOnYsbmE6aH0pLF8uSyhfLk8se0E6cCx0aGVuOigpPT5fLksoXy5WQywKe2NvbW1hbmQ6KCk9Pl8uc0goYSgpLnJlbmRlcmVyQ29udGV4dCksb25DbGljazpyLGRpc2FibGVkOnosY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yIiwieXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyIiksdG9nZ2xlYWJsZTpkIT09dm9pZCAwLHRvZ2dsZWQ6ZCxhcmlhTGFiZWw6dH0sXy5LKHFJLHtkYXRhOmF9KSksVzooKT0+Xy5LKHFJLHtkYXRhOmEsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXIifSl9KSxfLksoXy5PLHtBOigpPT4hIWMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIixzdHlsZTpfLklFKHtjb2xvcjpFfSl9LGMmJl8uSyhjLG51bGwpKSxXOigpPT5fLksocEkse2RhdGE6YSxnZzohMSxjZTpiLGlzVG9nZ2xlZDpkLERnOnYsbmE6aH0pfSkpLF8uSyhfLk8se0E6KCk9PmEoKS5ib3R0b21BY2Nlc3NvcnksdGhlbjooKT0+Xy5LKFZkYSx7ZGF0YTphfSl9KSl9LAoiRCIpO3ZhciBbaEksUmRhXT1fLkooe30sdm9pZCAwLCJwZHJhRiIpLGdJPW5ldyBNYXA7dmFyIHNJPV8uTChhPT57dmFyIHtuYW1lOmIsb25DaGFuZ2U6YyxvbkNsaWNrOmQsY2hlY2tlZDplLFllOmYsWWk6aCxxajprLG5hOmwsVmM6bSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bixob3Jpem9udGFsUGFkZGluZzpwLGRpc2FibGVkOnIsYXJpYUxhYmVsOnR9PV8uREMoYSx7Y2hlY2tlZDohMSxkaXNhYmxlZDohMX0pO2E9ImNoZWNrYm94IitfLk9IKCk7cmV0dXJuIF8uSygiY2hlY2tib3gtc2hhcGUiLG51bGwsXy5LKCJsYWJlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveFNoYXBlSG9zdCIsayx7eXRDaGVja2JveFNoYXBlSG9zdENvbXBhY3Q6bCx5dENoZWNrYm94U2hhcGVEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bn0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLWxlZnQiOnAsInBhZGRpbmctcmlnaHQiOnB9KX0sXy5LKCJpbnB1dCIse2NsYXNzOiJ5dENoZWNrYm94U2hhcGVJbnB1dCIsaWQ6YSxjaGVja2VkOmUsbmFtZTpiLHR5cGU6ImNoZWNrYm94IixkaXNhYmxlZDpyLAoiYXJpYS1sYWJlbCI6dCwicHJvcDpjaGVja2VkIjplLCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKHYpe2M/Lih2KTt2LnN0b3BQcm9wYWdhdGlvbigpfSwib246Y2xpY2siOmZ1bmN0aW9uKHYpe2Q/Lih2KTt2LnN0b3BQcm9wYWdhdGlvbigpfX0pLF8uSyhfLk8se0E6KCk9PiFoPy4oKSx0aGVuOigpPT5fLksockkse2dnOiEwLFZjOm19KX0pLF8uSyhfLk8se0E6KCk9PiEhZix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENoZWNrYm94U2hhcGVMYWJlbCJ9LGY/LigpKX0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksockkse2dnOiExLFZjOm19KX0pKSl9LCJFIik7c0kuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNoYW5nZTohMCxvbkNsaWNrOiEwLFllOiEwfX07CnZhciByST1fLkwoKHtWYzphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94U2hhcGVDaGVja2JveCIsYSx7eXRDaGVja2JveFNoYXBlQ2hlY2tib3hEZWZhdWx0U3R5bGU6KCk9PiFhPy4oKX0pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5NRCx7aWNvbjpfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8ic3F1YXJlIjoiQk9YX0VNUFRZIn0pLF8uSyhfLk1ELHtpY29uOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJjaGVja19zcXVhcmUiOiJCT1hfQ0hFQ0siLGFjdGl2ZTohMH0pKSwiRiIpO3ZhciB0ST1fLkwoKHtkYXRhOmEsSWE6YixuYTpjLG9uVGFwOmQseHM6ZSxjZTpmLGRpc2FibGVkOmgsQmM6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bCxpc092ZXJsYXk6bSxpc1RvZ2dsZWQ6bixhcmlhTGFiZWw6cCxhcmlhUHJlc3NlZDpyLERnOnQsYnA6dn0pPT57ZnVuY3Rpb24geihiYSl7YmEuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGFhPWEoKS5lbnRpdHlLZXksT2E9RygpLmlzU2VsZWN0ZWQ7aWYoYWEmJk0oKSl7aWYoRygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iJiZPYSlyZXR1cm47aUkoYWEsIU9hLEcoKS5zZWxlY3Rpb25TdHlsZSl9ZD9kKGJhKTooYWE9Xy5zSChHKCkucmVuZGVyZXJDb250ZXh0KSxPYT1fLnkoKS5yZXNvbHZlKF8uVUQpLGFhJiZPYSYmT2EucmVzb2x2ZUNvbW1hbmQoYWEsYmEudGFyZ2V0P3tmb3JtOntlbGVtZW50OmJhLnRhcmdldCxzb3VyY2VEYXRhOmFhfX06dm9pZCAwKSl9dmFyIEU9IV8ueCgid2ViX2VuYWJsZV9raWxsc3dpdGNoX2Zvcl9zZWxlY3RhYmxlX2xpc3RfaXRlbV9vbl90YXBfZml4IiksCkE9IV8ueCgid2ViX2VuYWJsZV9raWxsc3dpdGNoX2Zvcl9za2lwX2NoaWxkX3RhZ3MiKSxGPV8uUUgoKCk9PmEoKS5ob3Jpem9udGFsUGFkZGluZ1Rva2VuKSxDPSgpPT5sPy4oKXx8YSgpLmRpc2FibGVIb3Jpem9udGFsUGFkZGluZyxHPV8uTigoKT0+e3ZhciBiYT1hKCksYWE9digpLE9hPWEoKT8uZW50aXR5U2VsZWN0b3JUeXBlP3suLi5iYSwuLi5hYS5kYXRhfTpiYTtPYS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIiYmUWRhKE9hLmVudGl0eUtleSk7dmFyIEpiPU9hLmVudGl0eUtleTtiYT1KYj9oSSgpW0piXTp2b2lkIDA7YWE9ISFPYS5pc1NlbGVjdGVkO3ZhciB6YT1iYSE9PXZvaWQgMD9iYTphYTtKYiYmT2Euc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyImJmFhJiZiYT09PXZvaWQgMCYmcXVldWVNaWNyb3Rhc2soKCk9PntpSShKYiwhMCxPYS5zZWxlY3Rpb25TdHlsZSl9KTtyZXR1cm57Li4uT2EsCmlzU2VsZWN0ZWQ6emF9fSx2b2lkIDAsInZSa255IiksRD0oKT0+ISFHKCkuaXNEaXNhYmxlZHx8ISFoPy4oKSxIPV8uVEgoKCk9PkcoKS5yZW5kZXJlckNvbnRleHQpLFI9KCk9PnA/LigpfHxIKCk/LmxhYmVsLE09KCk9PiEoIUcoKS5zZWxlY3Rpb25TdHlsZXx8RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfVU5TUEVDSUZJRUQiKSxTPSgpPT4oXy50SChHKCkucmVuZGVyZXJDb250ZXh0KXx8ZCkmJiFNKCksWT0oKT0+Xy50SChHKCkucmVuZGVyZXJDb250ZXh0KXx8ISFkfHxNKCkscGE9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQ29udGFpbmVyIix7eXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlOlkseXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHk6Xy54KCJ3ZWJfZW5hYmxlX2xpc3RfaXRlbV9hY3Rpb25fdHlwb2dyYXBoeSIpLHl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0OmMseXRMaXN0SXRlbVZpZXdNb2RlbEluUG9wdXA6aywKeXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+Qz8uKCkmJk0oKX0pLG9hPV8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVyIiwoKT0+RygpLmxlYWRpbmdJbWFnZXx8RygpLmxlYWRpbmdBY2Nlc3Nvcnk/Inl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZyI6Inl0TGlzdEl0ZW1WaWV3TW9kZWxMZWFkaW5nIiksW1UsaGFdPV8uSighMSx2b2lkIDAsImN1WTRtZiIpLG1hPSgpPT57dmFyIGJhO2lmKGJhPV8ueCgid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIikmJlM/LigpKWJhPWEoKSxiYT0hKGJhLnRyYWlsaW5nTGFiZWx8fGJhLnNlbGVjdGlvblRleHQpO3JldHVybiBiYX0sdGE9KCk9Pl8uSyhYZGEse2RhdGE6RyxjZTpmLGZ1OmUsaXNUb2dnbGVkOm4sZGlzYWJsZWQ6aCxYeDpNLG5hOmMsQmM6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Qyxob3Jpem9udGFsUGFkZGluZzpGLFl4OlMsdUI6bWEsb25UYXA6ZCxhcmlhTGFiZWw6UiwKRGc6dH0pLFQ9KCk9PntpZihiPy4oKSl7bGV0IGJhPUcoKS5zZWxlY3Rpb25TdHlsZTtyZXR1cm4gYmE9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCI/Im1lbnVpdGVtY2hlY2tib3giOmJhPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8ifHxiYT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiPyJtZW51aXRlbXJhZGlvIjoibWVudWl0ZW0ifXJldHVybiJsaXN0aXRlbSJ9O3JldHVybiBfLksoInl0LWxpc3QtaXRlbS12aWV3LW1vZGVsIix7ZWw6Xy5yRihfLnVIKCgpPT5EKCk/dm9pZCAwOkcoKS5yZW5kZXJlckNvbnRleHQsdm9pZCAwLHZvaWQgMCxfLngoIndlYl9idXR0b25fb3JfYW5jaG9yX2xpc3RfaXRlbSIpP1siQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXTpbXSksU2RhKGZ1bmN0aW9uKGJhKXtEKCl8fEUmJk0oKXx8KE0oKT96KGJhKTpkPy4oYmEpKX0sQT9bIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKV06CltdLCgpPT4hWSgpKSxfLlVIKCgpPT5TPy4oKSx7Zm9jdXNpbjpmdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk/LlhlKCkmJmhhKCEwKX0sZm9jdXNvdXQ6ZnVuY3Rpb24oKXtoYSghMSl9fSkpLGNsYXNzOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLHt5dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5Om0seXRMaXN0SXRlbVZpZXdNb2RlbEtleWJvYXJkRm9jdXNlZDpVLHl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW46KCk9PmEoKT8uZW50aXR5U2VsZWN0b3JUeXBlP3YoKS5pc0hpZGRlbjohMX0pLCJkYXRhLXRhcmdldC1pZCI6KCk9PkcoKS50YXJnZXRJZCxyb2xlOlQsdGFiaW5kZXg6KCk9Pnt2YXIgYmE9UygpO1koKTt2YXIgYWE9bWEoKSxPYT1EKCk7YmE9IWFhJiYoXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfdGFiaW5kZXhfZml4Iik/ZHx8YmE6YmEpP09hPy0xOjA6dm9pZCAwO3JldHVybiBiYX0sIm9uOmtleWRvd24iOmZ1bmN0aW9uKGJhKXtpZighQXx8CiFbIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKV0uaW5jbHVkZXMoYmEudGFyZ2V0LnRhZ05hbWUpKWlmKGJhLmtleT09PSJFbnRlciJ8fE0oKSYmYmEua2V5PT09IiAiKWJhLnByZXZlbnREZWZhdWx0KCksRCgpfHwoRSYmTSgpP3ooYmEpOmJhLmN1cnJlbnRUYXJnZXQuY2xpY2soKSl9LCJhcmlhLWxhYmVsIjpSLCJhcmlhLWNoZWNrZWQiOigpPT57dmFyIGJhPVQoKTtyZXR1cm4gYmE9PT0ibWVudWl0ZW1jaGVja2JveCJ8fGJhPT09Im1lbnVpdGVtcmFkaW8iP0coKS5pc1NlbGVjdGVkOnZvaWQgMH0sImFyaWEtcHJlc3NlZCI6KCk9PmI/LigpfHxNKCk/dm9pZCAwOnI/LigpfSxfLksoXy5PLHtBOk0sdGhlbjooKT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfQ0hFQ0tCT1gifSwoKT0+Xy5LKHNJLHtZZTp0YSxuYTpjLGNoZWNrZWQ6KCk9PiEhRygpLmlzU2VsZWN0ZWQsCllpOigpPT4hKCFHKCkubGVhZGluZ0ltYWdlJiYhRygpLmxlYWRpbmdBY2Nlc3NvcnkpLHFqOnBhLFZjOm9hLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpDLGhvcml6b250YWxQYWRkaW5nOkYsb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uQ0Use3doZW46KCk9PkcoKS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIn0sKCk9Pl8uSyhfLkFFLHtZZTp0YSxuYTpjLGNoZWNrZWQ6KCk9PiEhRygpLmlzU2VsZWN0ZWQsWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2Esb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uQ0Use3doZW46KCk9PkcoKS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQifSwoKT0+Xy5LKF8uQUUse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+CiEhRygpLmlzU2VsZWN0ZWQsWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2EsaGs6ITAsb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uREUsbnVsbCx0YSkpLFc6dGF9KSl9LCJHIiksWWRhPV8uTChhPT57dmFyIGI9Xy5jSShjPT5QZGEoYS5kYXRhKCksYykpO3JldHVybiBfLksodEksey4uLmEsYnA6Yn0pfSwiSCIpO18uQ0Q9Xy5MKGE9Pl8uSyhfLk8se0E6KCk9PiEhYS5kYXRhKCk/LmVudGl0eVNlbGVjdG9yVHlwZSx0aGVuOigpPT5fLksoWWRhLHsuLi5hfSksVzooKT0+Xy5LKHRJLHsuLi5hLGJwOigpPT4oe30pfSl9KSwiSSIpO18uQ0QuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvblRhcDohMCx4czohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJwZTJvamIiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RTD1mdW5jdGlvbihhLGIpe2lmKGEmJmIpc3dpdGNoKGIpe2Nhc2UgIlNFTEVDVElPTl9UWVBFX0JPT0wiOnJldHVybiBhLmJvb2xWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9JTlQiOnJldHVybiBhLmludFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX1NUUklORyI6cmV0dXJuIGEuc3RyaW5nVmFsdWU7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfUFJJVkFDWV9TVEFUVVMiOnJldHVybiBhLnByaXZhY3lTdGF0dXNWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9USU1FX1BJQ0tFUl9GT1JNQVQiOnJldHVybiBhLnRpbWVQaWNrZXJGb3JtYXRWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9FTkdBR0VNRU5UX1BFUk1JU1NJT04iOnJldHVybiBhLmVuZ2FnZW1lbnRQZXJtaXNzaW9uVmFsdWV9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5DST1mdW5jdGlvbihhKXtfLlZILm13KCkoYSl9O18uREk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlhIKCk7cmV0dXJuIF8uTigoKT0+e2MoKTtyZXR1cm4gXy5aSChhLFtfLkJ2KGIpfHwiIl0pfSx7ZGVidWdOYW1lOiJMVVpzbGYifSwiWjEwNXQiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUkw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLmVudGl0aWVzLCJsaWtlU3RhdHVzRW50aXR5IixiKX07Xy5TTD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxpa2VDb3VudEVudGl0eSIsYil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWWZhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTigoKT0+Xy5CdihhKT8/e30se2VxdWFsczpfLkdJfSwielRVWlFjIiksYz1fLk4oKCk9Pnt2YXIge2Zvcm1JZDpkLGZpZWxkSWQ6ZX09YigpO2lmKGQmJmUpe2E6e2xldCBoPV8uU0koZCk7aWYoaCl7dmFyIGY9Xy5NSShlKTtpZihmPWhbZl0pe2lmKCEoImZ1bmN0aW9uIj09dHlwZW9mIF8uVEwmJmYgaW5zdGFuY2VvZiBfLlRMKSl0aHJvdyBfLklJKGBGaWVsZCAke2V9IGluIGZvcm0gJHtkfSBpcyBub3QgYSBTY2FsYXJMaXN0RmllbGQuYCk7YnJlYWsgYX19Zj12b2lkIDB9cmV0dXJuIGZ9fSx2b2lkIDAsIkUwS1NGZCIpO3JldHVybigpPT5jKCl9LFpmYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInNlbGVjdGlvblZhbHVlTGlzdEVudGl0eSIsYil9LCRmYT1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZXMoYSk/Yj1iLmZpbHRlcihjPT5jIT09YSk6Yi5wdXNoKGEpO3JldHVyblsuLi5iXX0sVUw9bmV3IF8uSSgiY2hlY2tib3hJdGVtVmlld01vZGVsIik7dmFyIGFnYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLFdiOmMsc2VsZWN0ZWQ6ZCxvblRhcDplLGdyb3VwTmFtZTpmLGNsYXNzTmFtZTpoLG5hOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmwsTGk6bX09Xy5EQyhhLHtXYjohMSxzZWxlY3RlZDohMSxuYTohMSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ITEsTGk6ITF9KSxuPSgpPT5jKCk/MjpiKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFtKCk/MzoxO18uVUooKCk9PntuKCk9PT0yJiZiKCkuZGVmYXVsdFNlbGVjdGVkP18uR3AoRXJyb3IoInVkIikpOm4oKT09PTEmJmQoKT9fLkdwKEVycm9yKCJ2ZCIpKTpuKCk9PT0zJiZkKCkmJl8uR3AoRXJyb3IoIndkIikpfSk7dmFyIHA9Xy5aSSgoKT0+YigpLmZvcm1GaWVsZE1ldGFkYXRhKSxbcix0XT1fLkFDKCgpPT57aWYobigpPT09MSlyZXR1cm4gYigpLmRlZmF1bHRTZWxlY3RlZH0pO3JldHVybiBfLksoInl0LWNoZWNrYm94LWl0ZW0tdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveEl0ZW1WaWV3TW9kZWxIb3N0IiwKaCl9LF8uSyhfLkNELHtkYXRhOigpPT57dmFyIHY9YigpLHo9bigpPT09Mz9wKCk/LnZhbHVlfHwhMTpuKCk9PT0xP3IoKTpkKCk7cmV0dXJue3RpdGxlOnYudGV4dCxzdWJ0aXRsZTp2LnN1YnRleHQsc3VwZXJsYWJlbDp2LnN1cGVybGFiZWwsaXNTZWxlY3RlZDohIXosaXNEaXNhYmxlZDp2LmlzRGlzYWJsZWQsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfQ0hFQ0tCT1gifX0sb25UYXA6KCk9Pnt2YXIgdj0hKG4oKT09PTM/cCgpPy52YWx1ZTpuKCk9PT0xP3IoKTpkKCkpO24oKT09PTM/cCgpPy51cGRhdGVWYWx1ZSh2KTpuKCk9PT0xJiZ0KHYpO2U/Lih2LGIoKSxmPy4oKSl9LG5hOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmx9KSl9LCJEYSIpO18udEQ9Xy5MKCh7ZGF0YTphLFdiOmIsZEE6YyxnejpkLGdyb3VwTmFtZTplLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmLG5hOmh9KT0+e3ZhciBrPV8uREkoWmZhLCgpPT5hKCkuaGlkZUl0ZW1zRW50aXR5S2V5KSxsPSgpPT5iPy4oKT8yOmEoKS5mb3JtRmllbGRNZXRhZGF0YT8zOjEsbT0oKT0+ZT8uKCl8fGEoKS5rZXk7Xy5VSigoKT0+e2woKT09PTImJmEoKS5kZWZhdWx0U2VsZWN0ZWRLZXlzP18uR3AoRXJyb3IoInhkIikpOmwoKT09PTEmJmM/LigpP18uR3AoRXJyb3IoInlkIikpOmwoKT09PTMmJihjPy4oKSE9PXZvaWQgMCYmXy5HcChFcnJvcigiemQiKSksYSgpLmRlZmF1bHRTZWxlY3RlZEtleXMmJl8uR3AoRXJyb3IoIkFkIikpKX0pO3ZhciBuPVlmYSgoKT0+YSgpLmZvcm1GaWVsZE1ldGFkYXRhKSxbcCxyXT1fLkFDKCgpPT57aWYobCgpPT09MSlyZXR1cm4gYSgpLmRlZmF1bHRTZWxlY3RlZEtleXN9KSx0PV8uWkkoKCk9Pih7Zm9ybUlkOmEoKS5zZWFyY2hRdWVyeUZpZWxkTWV0YWRhdGE/LmZvcm1JZHx8CiIiLGZpZWxkSWQ6YSgpLnNlYXJjaFF1ZXJ5RmllbGRNZXRhZGF0YT8uZmllbGRJZHx8IiJ9KSksdj1fLk4oKCk9Pnt2YXIgRT1hKCkuY2hlY2tib3hlc3x8W10sQT1rKCk7aWYoQT8udmFsdWVzJiZBLnZhbHVlcy5sZW5ndGg+MCl7bGV0IEM9QS50eXBlLEc9bmV3IFNldChBLnZhbHVlcy5tYXAoRD0+Xy5RTChELEMpKS5maWx0ZXIoRD0+RCE9PXZvaWQgMCkpO0U9RS5maWx0ZXIoRD0+e0Q9Xy5CKEQsVUwpO2lmKCFEPy52YWx1ZSlyZXR1cm4hMDtEPV8uUUwoRC52YWx1ZSxDKTtyZXR1cm4gRD09PXZvaWQgMHx8IUcuaGFzKEQpfSl9dmFyIEY9KHQoKT8udmFsdWV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBGP0UuZmlsdGVyKEM9PntDPV8uQihDLFVMKTtyZXR1cm4gQz8udGV4dD8uY29udGVudD9DLnRleHQuY29udGVudC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKEYpOiExfSk6RX0sdm9pZCAwLCJYNlk1TWMiKSx6PWFzeW5jKEUsQSxGKT0+e0U9W107bCgpPT09MSYmQS5rZXk/KEU9CiRmYShBLmtleSxwKCl8fFtdKSxyKEUpKTpsKCk9PT0zJiZBLmtleSYmKEU9bigpPy52YWx1ZXx8W10sRS5pbmNsdWRlcyhBLmtleSk/KEU9RS5pbmRleE9mKEEua2V5KSxFIT09LTEmJmF3YWl0IG4oKT8ucmVtb3ZlKEUpKTphd2FpdCBuKCk/LmFkZChBLmtleSksRT1uKCk/LnZhbHVlfHxbXSk7ZD8uKEEsRSxGKX07cmV0dXJuIF8uSygieXQtY2hlY2tib3gtZ3JvdXAtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdCIpfSxfLksoImZpZWxkc2V0Iix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldCIpfSxfLksoImRpdiIse3JvbGU6Imxpc3QifSxfLksoXy5XLHtkYXRhOnZ9LHtjaGVja2JveEl0ZW1WaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKGFnYSx7ZGF0YTpFLFdiOiEwLHNlbGVjdGVkOigpPT57dmFyIEE9bCgpPT09Mj9jPy4oKXx8W106bCgpPT09Mz9uKCk/LnZhbHVlfHxbXTpwKCl8fFtdLEY9RSgpLmtleTsKcmV0dXJuIEY/QS5pbmNsdWRlcyhGKTohMX0sb25UYXA6eixncm91cE5hbWU6bSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZixuYTpofSl9KSkpKX0sIkVhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInZEY2sxZCIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkpKPWZ1bmN0aW9uKGEsYil7aWYoIWEmJiFiKXJldHVybiJtZWRpdW0iO2E9TWF0aC5tYXgoYXx8MCxifHwwKTtyZXR1cm4gYT49MjU2PyJsYXJnZSI6YT49OTY/Im1lZGl1bSI6InNtYWxsIn07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBHZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMjpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UiO2Nhc2UgMzpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlT3ZlcmxheVRvdWNoUmVzcG9uc2UiO2Nhc2UgNDpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlT3ZlcmxheVRvdWNoUmVzcG9uc2VJbnZlcnNlIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIn19LEhlYT1mdW5jdGlvbihhLGIpe2lmKGIpcmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCI7aWYoYSlzd2l0Y2goYSl7Y2FzZSAibGFyZ2UiOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTGFyZ2UiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0iO2RlZmF1bHQ6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCJ9fSwKSWVhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGEsW3tvZmZzZXQ6MCxvcGFjaXR5Oi4xLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIn0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjo0MDB9KSxkb2N1bWVudC50aW1lbGluZSk7dGhpcy5vPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGIsW3tvZmZzZXQ6MCxvcGFjaXR5Oi4yLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIn0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjo0MDB9KSxkb2N1bWVudC50aW1lbGluZSl9cGxheSgpe3RoaXMuai5wbGF5Py4oKTt0aGlzLm8ucGxheT8uKCl9Y2FuY2VsKCl7dGhpcy5qLmNhbmNlbD8uKCk7dGhpcy5vLmNhbmNlbD8uKCl9fTtfLlVDPV8uTCgoe21vZGVsOmEsVG06YixWbTpjLFVtOmQsUmI6ZX0pPT57ZnVuY3Rpb24gZigpe3YoKTtyKCExKX1mdW5jdGlvbiBoKCl7dD8uY2FuY2VsKCk7cighMCl9dmFyIGs9Xy51RSgieXQtdG91Y2gtZmVlZGJhY2stc2hhcGUiKSxsPV8udUUoImRpdiIpLG09Xy51RSgiZGl2IiksW24scF09Xy5BQygoKT0+Yz8uKCl8fGQ/LigpPyExOiEhYj8uKCl8fCExKSxyPXAsdD12b2lkIDAsdj0oKT0+eyF0JiZtLnZhbHVlJiZsLnZhbHVlJiZ0eXBlb2YgQW5pbWF0aW9uPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEtleWZyYW1lRWZmZWN0PT09ImZ1bmN0aW9uIiYmKHQ9bmV3IEllYShtLnZhbHVlLGwudmFsdWUpKTt0Py5wbGF5KCl9O18ubkUoKCk9PntjPy4oKSYmdigpfSwiQ1kyUyIpO18ubkUoKCk9PntiPy4oKSYmdD8uY2FuY2VsKCl9LCJ2ZXFmNmIiKTtfLm5FKCgpPT57ZD8uKCkmJnQ/LmNhbmNlbCgpfSwiVFZyZkNjIik7Xy5ZdSgoKT0+e3QmJih0Py5jYW5jZWwoKSx0PXZvaWQgMCl9KTsKcmV0dXJuIF8uSygieXQtdG91Y2gtZmVlZGJhY2stc2hhcGUiLHtlbDprLGNsYXNzOl8uUCgieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG9zdCIsKCk9PkdlYShhKCkuY29sb3IpLCgpPT5IZWEoYSgpLnRodW1ibmFpbFNpemUsISFhKCkuaXNFeHRlbmRlZCkse3l0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZvY3VzZWQ6KCk9PiEhYSgpLmZvY3VzZWQmJiFhKCkuZGlzYWJsZWQseXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXI6KCk9PiEhYSgpLmNpcmN1bGFyLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZURvd246bix5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRzOigpPT4hIWEoKS5tQix5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlcmVkOigpPT5lPy4oKX0pLHN0eWxlOl8uSUUoe21hcmdpbjooKT0+YSgpLm1hcmdpbj9gLSR7YSgpLm1hcmdpbn1weGA6dm9pZCAwLCJtYXJnaW4tdG9wIjooKT0+YSgpLnhwP2AtJHthKCkueHB9cHhgOnZvaWQgMH0pLCJvbjptb3VzZWRvd24iOmgsCiJvbjptb3VzZXVwIjpmLCJvbjpwb2ludGVybGVhdmUiOmZ1bmN0aW9uKCl7dD8uY2FuY2VsKCk7cighMSl9LCJvbjp0b3VjaHN0YXJ0IjpoLCJvbjp0b3VjaGVuZCI6ZiwiYXJpYS1oaWRkZW4iOiEwfSxfLksoXy5PLHtBOigpPT4hIWEoKS5ObCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCIsc3R5bGU6Xy5JRSh7ImJvcmRlci1yYWRpdXMiOigpPT5hKCkuYm9yZGVyUmFkaXVzLGJhY2tncm91bmQ6KCk9Pnt7bGV0IEU9YSgpLk5sO2lmKEUpe3ZhciB6PVtdO2ZvcihsZXQgQSBvZiBFPy5saWdodGluZ1RlY2huaXF1ZXN8fFtdKXN3aXRjaChBKXtjYXNlIDI6ei5wdXNoKGBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAke0U/LnBhbGV0dGU/LmtleUxpZ2h0fSwgJHtFPy5wYWxldHRlPy5iYWNrZ3JvdW5kfSlgKX16LnB1c2goYSgpLk5sPy5wYWxldHRlPy5iYWNrZ3JvdW5kKTt6PXouam9pbigiLCAiKX1lbHNlIHo9dm9pZCAwfXJldHVybiB6fX0pfSl9KSwKXy5LKCJkaXYiLHtjbGFzczoieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tlIixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsImJvcmRlci1jb2xvciI6KCk9PmEoKS50cz8ucGFsZXR0ZT8uYmFja2dyb3VuZH0pLGVsOmx9KSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxsIixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsImJhY2tncm91bmQtY29sb3IiOigpPT5hKCkudHM/LnBhbGV0dGU/LmJhY2tncm91bmR9KSxlbDptfSkpfSwiVCIpO18uVUMuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiT3RLU0plIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBPYWEsUGFhLFFhYTtPYWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fSxkPU9iamVjdC5rZXlzKGEpO2ZvcihsZXQgZSBvZiBkKWNbZV09YihlLGFbZV0pO3JldHVybiBjfTtQYWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdHlwZW9mIGEhPT0ib2JqZWN0Inx8YT09PW51bGw/ITE6T2JqZWN0LmtleXMoYikuZXZlcnkoYz0+YyBpbiBhKX07Xy5pQT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5rZXlzKGEpLm1hcChiPT5bYixiXSkpfTtRYWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBPYWEoYywoZCxlKT0+KGYsLi4uaCk9PlBhYShmLGEpP2UoZltiXSwuLi5oKTplKGYsLi4uaCkpfTtfLmpBPWZ1bmN0aW9uKGEpe3JldHVybihiLGMpPT5RYWEoYSxiLGMpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFRhYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEsInBsYXlsaXN0TG9vcFN0YXRlRW50aXR5IixiKT8/dm9pZCAwfSxVYWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLCJ0b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHkiLGIpPz92b2lkIDB9LHdBPV8uaUEoe2VudGl0aWVzOnt9fSk7Xy54QT1fLmpBKHdBKSh3QS5lbnRpdGllcyx7YkE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4oXy5xQShhLCJzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5IixiKT8/dm9pZCAwKT8uc2Z2QXVkaW9JdGVtUGxheWJhY2tTdGF0ZT8/dm9pZCAwfSx0SzpUYWEsZUI6VWFhfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWkM9bmV3IF8uSSgibGlzdEl0ZW1WaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHZJO18udUk9ZnVuY3Rpb24oYSxiKXtpZihfLnRBPy5lbmNvZGVJbnRvKXtsZXQge3JlYWQ6ZCx3cml0dGVuOmV9PV8udEEuZW5jb2RlSW50byhhLGIpO3JldHVybiBkPGEubGVuZ3RoP2EubGVuZ3RoKjQ6ZX12YXIgYz0wO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hLmNoYXJDb2RlQXQoZCk7ZTwxMjg/YltjKytdPWU6KGU8MjA0OD9iW2MrK109ZT4+NnwxOTI6KChlJjY0NTEyKT09PTU1Mjk2JiZkKzE8YS5sZW5ndGgmJihhLmNoYXJDb2RlQXQoZCsxKSY2NDUxMik9PT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gY307CnZJPWZ1bmN0aW9uKGEsYixjKXtpZihiJiZjJiZjLmJ1ZmZlcj09PWIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyKXtsZXQgZD1iLm1lbW9yeS5yZWFsbG9jKGMuYnl0ZU9mZnNldCxhKTtpZihkKXJldHVybiBuZXcgVWludDhBcnJheShiLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcixkLGEpfWE9Yj9uZXcgVWludDhBcnJheShiLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcixiLm1lbW9yeS5tYWxsb2MoYSksYSk6bmV3IFVpbnQ4QXJyYXkoYSk7YyYmYS5zZXQoYyk7cmV0dXJuIGF9O18ud0k9ZnVuY3Rpb24oYSxiKXtiPWEucG9zK2I7aWYoIShhLmJ1Zi5sZW5ndGg+PWIpKXtmb3IodmFyIGM9YS5idWYubGVuZ3RoKjI7YzxiOyljKj0yO2EuYnVmPXZJKGMsYS53YXNtLGEuYnVmLnN1YmFycmF5KDAsYS5wb3MpKTthLnZpZXc9bmV3IERhdGFWaWV3KGEuYnVmLmJ1ZmZlcixhLmJ1Zi5ieXRlT2Zmc2V0LGEuYnVmLmJ5dGVMZW5ndGgpfX07Cl8ueEk9ZnVuY3Rpb24oYSxiKXtpZihiPjI2ODQzNTQ1NSl7Xy53SShhLDQpO2xldCBjPWImMTA3Mzc0MTgyMztmb3IobGV0IGQ9MDtkPDQ7ZCsrKWEudmlldy5zZXRVaW50OChhLnBvcyxjJjEyN3wxMjgpLGM+Pj49NyxhLnBvcys9MTtiPU1hdGguZmxvb3IoYi8yNjg0MzU0NTYpfWZvcihfLndJKGEsNCk7Yj4xMjc7KWEudmlldy5zZXRVaW50OChhLnBvcyxiJjEyN3wxMjgpLGI+Pj49NyxhLnBvcys9MTthLnZpZXcuc2V0VWludDgoYS5wb3MsYik7YS5wb3MrPTF9OwpfLnpJPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IF8ueUk7aWYoXy50QSlhPV8udEEuZW5jb2RlKGEpO2Vsc2V7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKGEubGVuZ3RoKjEuMikpLGU9Xy51SShhLGQpO2QubGVuZ3RoPGUmJihkPW5ldyBVaW50OEFycmF5KGUpLGU9Xy51SShhLGQpKTtkLmxlbmd0aD5lJiYoZD1kLnN1YmFycmF5KDAsZSkpO2E9ZH1hIT09dm9pZCAwJiYoXy54SShjLDE4KSxkPWEubGVuZ3RoLF8ueEkoYyxkKSxfLndJKGMsZCksYy5idWYuc2V0KGEsYy5wb3MpLGMucG9zKz1kKTthPV8udUFbYl07aWYodHlwZW9mIGE9PT0idW5kZWZpbmVkIil0aHJvdyBiPW5ldyBfLlhqKCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6Yn0pLF8uR3AoYiksYjthIT09dm9pZCAwJiYoXy54SShjLDMyKSxfLnhJKGMsYSkpO18ueEkoYyw0MCk7Xy54SShjLDEpO2I9bmV3IFVpbnQ4QXJyYXkoYy5idWYuYnVmZmVyLApjLmJ1Zi5ieXRlT2Zmc2V0LGMucG9zKTtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KF8uc2MoYiwwKSl9O18ueUk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLndhc209dm9pZCAwO3RoaXMucG9zPTA7dGhpcy5qPVtdO3RoaXMuYnVmPXZJKDQwOTYpO3RoaXMudmlldz1uZXcgRGF0YVZpZXcodGhpcy5idWYuYnVmZmVyLHRoaXMuYnVmLmJ5dGVPZmZzZXQsdGhpcy5idWYuYnl0ZUxlbmd0aCl9fTtfLnpJKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfTUFOVUFMX0RPV05MT0FEUyIsIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5Iik7Xy56SSgiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5Iik7Xy56SSgiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtfLnpJKCJTTUFSVF9ET1dOTE9BRFNfRU5BQkxFRCIsInNldHRpbmdFbnRpdHkiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5BST1uZXcgXy5JKCJvZmZsaW5lUGxheWxpc3RFbmRwb2ludCIpO18uQkk9bmV3IF8uSSgib2ZmbGluZVZpZGVvRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFpkYTtfLkVJPWZ1bmN0aW9uKGEsYixjLGQsZSl7YT1iP2Euc3dpdGNoT2ZmQ29tbWFuZDphLnN3aXRjaE9uQ29tbWFuZDtpZihkJiZlKVpkYShhLGMsZSk7ZWxzZSBfLmJFKHtiaDphfSk/Lm9uY2xpY2s/LihjKX07WmRhPWZ1bmN0aW9uKGEsYixjKXthPV8uYkUoe2JoOmEsQW86e0VpOntvblN1Y2Nlc3M6KCk9PntjKCExKX0sbno6KCk9PntjKCExKX19fX0pO2E/Lm9uY2xpY2smJihhLm9uY2xpY2soYiksYyghMCkpfTtfLiRkYT1uZXcgXy5JKCJzd2l0Y2hCdXR0b25WaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGVKPWZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIF8uQihhLF8uJGRhKX07Xy5mSj1fLkwoKHtkYXRhOmEsb25UYXA6YixrSzpjLG1LOmQsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmUsTGk6ZixuYTpofSk9PntmdW5jdGlvbiBrKEYpe2lmKCFGLm91KXtGLm91PSEwO3ZhciBDPWVKKEEoKSk7IUN8fEMuaXNEaXNhYmxlZHx8YSgpLmlnbm9yZVRhcFVudGlsQ29tbWFuZENvbXBsZXRlcyYmdigpfHwoYj8uKEYpLF8uRUkoQyxFKCksRixhKCkuaWdub3JlVGFwVW50aWxDb21tYW5kQ29tcGxldGVzLHopLChhKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFmPy4oKT8zOjEpPT09Mz9sKCk/LnVwZGF0ZVZhbHVlKCFFKCkpOnAoIUUoKSksYz8uKEUoKSkpfX12YXIgbD1fLlpJKCgpPT5hKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFttLG5dPV8uQUMoKCk9PmVKKEEoKSk/LnN3aXRjaGVkT25CeURlZmF1bHR8fCExKSxwPW4sW3IsdF09Xy5KKCExLHZvaWQgMCwiT3ZrdWxlIiksdj1yLHo9dCxFPSgpPT4oYSgpLmZvcm1GaWVsZE1ldGFkYXRhJiYhZj8uKCk/MzoxKT09PTM/bCgpPy52YWx1ZXx8CiExOm0oKSxBPSgpPT57dmFyIEY7aWYoIShGPWEoKS5zd2l0Y2hCdXR0b24pKXt2YXIgQz1hKCk7Rj1kPy4oKTtDPXtzd2l0Y2hPbkNvbW1hbmQ6Qy5zd2l0Y2hPbkNvbW1hbmQsc3dpdGNoT2ZmQ29tbWFuZDpDLnN3aXRjaE9mZkNvbW1hbmQsc3dpdGNoZWRPbkJ5RGVmYXVsdDpDLnN3aXRjaGVkT25CeURlZmF1bHQsaXNEaXNhYmxlZDpDLmlzRGlzYWJsZWQsYTExeUxhYmVsU3dpdGNoZWRPbjpDLmExMXlMYWJlbFN3aXRjaGVkT24sYTExeUxhYmVsU3dpdGNoZWRPZmY6Qy5hMTF5TGFiZWxTd2l0Y2hlZE9mZn07RiE9PXZvaWQgMCYmKEMuaXNEaXNhYmxlZD1GKTtGPXtzd2l0Y2hCdXR0b25WaWV3TW9kZWw6Q319Qz1lSihGKTtpZighQylyZXR1cm4gRjt2YXIgRz1hKCkudGl0bGU/LmNvbnRlbnQ7cmV0dXJuIEc/e3N3aXRjaEJ1dHRvblZpZXdNb2RlbDp7Li4uQyxhMTF5TGFiZWxTd2l0Y2hlZE9uOkcsYTExeUxhYmVsU3dpdGNoZWRPZmY6R319OkZ9O3JldHVybiBfLksoInN3aXRjaC1saXN0LWl0ZW0tdmlldy1tb2RlbCIsCntjbGFzczoieXRTd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLCJvbjpjbGljayI6a30sXy5LKF8uQ0Qse2RhdGE6KCk9Pih7dGl0bGU6YSgpLnRpdGxlLHN1YnRpdGxlOmEoKS5hdHRyaWJ1dGVkU3VidGl0bGUsbGVhZGluZ0ltYWdlOmEoKS5sZWFkaW5nSW1hZ2UsbGVhZGluZ0FjY2Vzc29yeTphKCkubGVhZGluZ0FjY2Vzc29yeSxpc0Rpc2FibGVkOmEoKS5pc0Rpc2FibGVkfSksaXNUb2dnbGVkOkUsRGc6ITAsbmE6aCx4czooKT0+Xy5LKF8uVyx7ZGF0YTpBfSx7c3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhfLmtJLHtkYXRhOkYscXI6RSxvblRhcDprfSl9KSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZX0pKX0sIkoiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGNlYSxnSixkZWEsaEosaUosZWVhLGZlYSxnZWEsaGVhLGplYSxrZWEsbGVhLG1lYSxqSixrSixtSixuZWEsb2VhLHBlYSx0ZWEsdWVhLHFKLHJKLHNKLHdlYSx0SixpZWEsdUo7Y2VhPWZ1bmN0aW9uKGEsYj0yKXtfLnhJKGEsMTApO2Euai5wdXNoKGEucG9zKTthLmoucHVzaChiKTthLnBvcys9Yn07CmdKPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLnlJO2lmKGEhPT12b2lkIDApe2NlYShiLE1hdGguY2VpbChNYXRoLmxvZzIoYS5sZW5ndGgqNCsyKS83KSk7Xy53SShiLGEubGVuZ3RoKjEuMik7dmFyIGM9Xy51SShhLGIuYnVmLnN1YmFycmF5KGIucG9zKSk7Yi5wb3MrYz5iLmJ1Zi5sZW5ndGgmJihfLndJKGIsYyksYz1fLnVJKGEsYi5idWYuc3ViYXJyYXkoYi5wb3MpKSk7Yi5wb3MrPWM7YT1iLmoucG9wKCk7Yz1iLmoucG9wKCk7bGV0IGQ9Yi5wb3MtYy1hO2Zvcig7YS0tOyl7bGV0IGU9YT8xMjg6MDtiLnZpZXcuc2V0VWludDgoYysrLGQmMTI3fGUpO2Q+Pj03fX1iPW5ldyBVaW50OEFycmF5KGIuYnVmLmJ1ZmZlcixiLmJ1Zi5ieXRlT2Zmc2V0LGIucG9zKTtyZXR1cm4obmV3IFRleHREZWNvZGVyKCJ1dGYtOCIpKS5kZWNvZGUoYil9OwpkZWE9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm5bXTtiPV8uekkoYiwibWFpblBsYXlsaXN0RW50aXR5Iik7dmFyIGM9YS5tYWluUGxheWxpc3RFbnRpdHk/LltiXTtiPVtdO2lmKCFjPy52aWRlb3MpcmV0dXJuIGI7Zm9yKGxldCBkIG9mIGMudmlkZW9zKXtjPWE/Lm1haW5QbGF5bGlzdFZpZGVvRW50aXR5Py5bZF0/LnZpZGVvO2lmKCFjKWNvbnRpbnVlOyh7ZW50aXR5SWQ6Y309Xy5HSChjKSk7YyYmYi5wdXNoKGMpfXJldHVybiBifTtoSj1mdW5jdGlvbihhKXtyZXR1cm4iZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllcyJpbiBhfTsKaUo9ZnVuY3Rpb24oYSl7dmFyIGI9YS5tdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eSxjPVtdO2lmKCFiKXJldHVybiBjO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhiKSl7YTp7dmFyIGQ9YSxlPV8uR0goaCkuZW50aXR5SWQ7aWYoZSl7dmFyIGY9Xy5xQShkLCJtdXNpY1BsYXlsaXN0IixfLnpJKGUsIm11c2ljUGxheWxpc3QiKSk7ZD1fLnFBKGQsIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5IixfLnpJKGUsIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5IikpO2lmKGYmJmQpe2Y9e211c2ljUGxheWxpc3RFbnRpdHk6ZixtdXNpY1BsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpkfTticmVhayBhfX1mPXZvaWQgMH1kPU51bWJlcihiW2hdPy5hZGRlZFRpbWVzdGFtcE1pbGxpcyk7ZD1pc05hTihkKT8oMCxfLmVsKSgpOmQ7ZiE9PXZvaWQgMCYmYy5wdXNoKHtkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOmYsYWRkZWRUaW1lc3RhbXBNaWxsaXM6ZH0pfXJldHVybiBjfTsKZWVhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7Zm9yKGxldCBjIG9mIGEpaWYoIm11c2ljUGxheWxpc3RFbnRpdHkiaW4gYyYmIm11c2ljUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5ImluIGMpZm9yKGxldCBkIG9mIGMubXVzaWNQbGF5bGlzdEVudGl0eS50cmFja3MpYi5hZGQoZCk7cmV0dXJuIGJ9OwpmZWE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5tdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eSxjPVtdO2lmKCFiKXJldHVybltdO2ZvcihsZXQgbSBvZiBPYmplY3Qua2V5cyhiKSl7YTp7dmFyIGQ9YSxlPV8uR0gobSkuZW50aXR5SWQ7aWYoZSl7Yj1fLnFBKGQsIm11c2ljVHJhY2siLF8uekkoZSwibXVzaWNUcmFjayIpKTt2YXIgZj1fLnFBKGQsIm11c2ljQXJ0aXN0IixfLnpJKGUsIm11c2ljQXJ0aXN0IikpfHx7fTtiOnt2YXIgaD1lO2lmKGgpe2U9Xy5xQShkLCJwbGF5YmFja0RhdGEiLF8uekkoaCwicGxheWJhY2tEYXRhIikpPz9udWxsO3ZhciBrPV8ucUEoZCwidHJhbnNmZXIiLF8uekkoaCwidHJhbnNmZXIiKSk/P251bGwsbD1fLnFBKGQsIm9mZmxpbmVWaWRlb1N0cmVhbXMiLF8uekkoaCwib2ZmbGluZVZpZGVvU3RyZWFtcyIpKT8/bnVsbDtkPV8ucUEoZCwib2ZmbGluZVZpZGVvUG9saWN5IixfLnpJKGgsIm9mZmxpbmVWaWRlb1BvbGljeSIpKT8/bnVsbDtpZihlfHwKa3x8bHx8ZCl7ZD17cGxheWJhY2tEYXRhRW50aXR5OmUsdHJhbnNmZXJFbnRpdHk6ayxzdHJlYW1FbnRpdHk6bCxwb2xpY3lFbnRpdHk6ZH07YnJlYWsgYn19ZD12b2lkIDB9aWYoZCYmYiYmZil7Yj17bXVzaWNUcmFja0VudGl0eTpiLG11c2ljQXJ0aXN0RW50aXR5OmYsLi4uZH07YnJlYWsgYX19Yj12b2lkIDB9Zj1OdW1iZXIoXy5xQShhLCJtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eSIsbSk/LmFkZGVkVGltZXN0YW1wTWlsbGlzKTtmPWlzTmFOKGYpPygwLF8uZWwpKCk6ZjtiIT09dm9pZCAwJiZjLnB1c2goe2Rvd25sb2FkZWRNdXNpY0VudGl0aWVzOmIsYWRkZWRUaW1lc3RhbXBNaWxsaXM6Zn0pfXJldHVybiBjfTsKZ2VhPWZ1bmN0aW9uKGEpe3ZhciBiPWZlYShhKS5zb3J0KChjLGQpPT5kLmFkZGVkVGltZXN0YW1wTWlsbGlzLWMuYWRkZWRUaW1lc3RhbXBNaWxsaXMpLm1hcChjPT4iZG93bmxvYWRlZE11c2ljRW50aXRpZXMiaW4gYz9jLmRvd25sb2FkZWRNdXNpY0VudGl0aWVzOmhKKGMpP2MuZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczp7fSk7YT1pSihhKS5zb3J0KChjLGQpPT5kLmFkZGVkVGltZXN0YW1wTWlsbGlzLWMuYWRkZWRUaW1lc3RhbXBNaWxsaXMpLm1hcChjPT4iZG93bmxvYWRlZE11c2ljRW50aXRpZXMiaW4gYz9jLmRvd25sb2FkZWRNdXNpY0VudGl0aWVzOmhKKGMpP2MuZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczp7fSk7cmV0dXJue2Rvd25sb2FkZWRNdXNpY0VudGl0aWVzOmIsZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczphfX07CmhlYT1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBTZXQsZD1pSihhKS5tYXAoZT0+ZS5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzKTtkPWVlYShkKTtmb3IobGV0IGUgb2YgZCkoe2VudGl0eUlkOmR9PV8uR0goZSkpLGQmJmMuYWRkKGQpOyh7ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6YX09Z2VhKGEpKTtyZXR1cm4gYS5maWx0ZXIoZT0+e2lmKGUubXVzaWNUcmFja0VudGl0eT8udmlkZW9JZCl7ZT1lLm11c2ljVHJhY2tFbnRpdHk7dmFyIGY7aWYoZj1iPT09IlBQT00iPyEwOiFjLmhhcyhlLnZpZGVvSWQpKWI6c3dpdGNoKGU9ZS5tdXNpY1ZpZGVvVHlwZSxiKXtjYXNlICJQUFNFIjpmPWU9PT0iTVVTSUNfVklERU9fVFlQRV9QT0RDQVNUX0VQSVNPREUiO2JyZWFrIGI7ZGVmYXVsdDpmPWUhPT0iTVVTSUNfVklERU9fVFlQRV9QT0RDQVNUX0VQSVNPREUifWU9Zn1lbHNlIGU9ITE7cmV0dXJuIGV9KS5tYXAoZT0+ZS5tdXNpY1RyYWNrRW50aXR5Py52aWRlb0lkKX07CmplYT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybltdO2lmKE9iamVjdC52YWx1ZXMoaWVhKS5pbmNsdWRlcyhiKSlyZXR1cm4gaGVhKGEsYik7Yj1fLnpJKGIsIm11c2ljUGxheWxpc3QiKTtiPWEubXVzaWNQbGF5bGlzdD8uW2JdO2E9W107aWYoIWI/LnRyYWNrcylyZXR1cm4gYTtmb3IobGV0IGMgb2YgYi50cmFja3MpKHtlbnRpdHlJZDpifT1fLkdIKGMpKSxiJiZhLnB1c2goYik7cmV0dXJuIGF9OwprZWE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFNldChhKTtpZihiLmhhcygiVFJBTlNGRVJfU1RBVEVfRkFJTEVEIikmJmIuc2l6ZT09PTEpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCI7Yi5kZWxldGUoIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCIpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIikmJmIuc2l6ZT09PTEpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI7Yi5kZWxldGUoIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKTtpZihiLmhhcygiVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIikmJmIuc2l6ZT09PTF8fGIuc2l6ZT09PTApcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI7YT1iLmhhcygiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIik7Yj1iLmhhcygiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiKTtyZXR1cm4gYXx8Yj8iVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIjoiVFJBTlNGRVJfU1RBVEVfQ09NUExFVEUifTsKbGVhPWZ1bmN0aW9uKGEsYil7Yj1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9SRU1JWCI/amVhKGEsYik6ZGVhKGEsYik7aWYoIWIubGVuZ3RoKXJldHVybiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjtiPWIubWFwKGM9PntjPWM/KGM9Xy5xQShhLCJ0cmFuc2ZlciIsXy56SShjLCJ0cmFuc2ZlciIpKSk/Yy50cmFuc2ZlclN0YXRlPz8iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iOiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjtyZXR1cm4gY30pO3JldHVybiBrZWEoYil9O21lYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImRvd25sb2FkU3RhdHVzRW50aXR5IixfLnpJKGIsImRvd25sb2FkU3RhdHVzRW50aXR5IikpPy5kb3dubG9hZFN0YXRlPT09IkRPV05MT0FEX1NUQVRFX1VTRVJfREVMRVRFRCI/ITA6ITF9O2pKPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBDU1MhPT0idW5kZWZpbmVkIiYmQ1NTLnN1cHBvcnRzPy4oInNlbGVjdG9yKDpoYXMoKikpIil9OwprSj1mdW5jdGlvbihhKXtyZXR1cm4gYS52aXNpYmlsaXR5IT09ImhpZGRlbiImJmEuZGlzcGxheSE9PSJub25lIn07bUo9ZnVuY3Rpb24oYSl7aWYoakooKXx8YS50YWdOYW1lIT09IkRFVEFJTFMiPyFhLm1hdGNoZXMobEopOmEucXVlcnlTZWxlY3Rvcigic3VtbWFyeSIpIT09bnVsbClyZXR1cm4tMTthPWEuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpfHwiMCI7cmV0dXJuIE51bWJlcihhKX07bmVhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNvbWUoYj0+bUooYik+MCl9O29lYT1mdW5jdGlvbihhKXtpZihhLnRleHRDb250ZW50fHxhLmFyaWFMYWJlbClyZXR1cm4hMDtpZihhIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCl7aWYoIWEubGFiZWxzKXJldHVybiExO2ZvcihsZXQgYiBvZiBhLmxhYmVscylpZihiLnRleHRDb250ZW50KXJldHVybiEwfXJldHVybiExfTtwZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc29ydCgoYixjKT0+bUooYyktbUooYikpfTsKXy5uSj1mdW5jdGlvbihhKXthPUFycmF5LmZyb20oYS5xdWVyeVNlbGVjdG9yQWxsKGxKKSkuZmlsdGVyKGI9PihrSihiLnN0eWxlKT9rSih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShiKSk6ITEpJiZvZWEoYikpO3JldHVybiBuZWEoYSk/cGVhKGEpOmF9Owp0ZWE9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpcmV0dXJuW29KXTtzd2l0Y2goYSl7Y2FzZSAiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiOmNhc2UgIlRSQU5TRkVSX1NUQVRFX0NPTVBMRVRFIjpyZXR1cm5bcEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIjpyZXR1cm4gYz9bcEpdOltxZWEscEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX1BBVVNFRF9CWV9VU0VSIjpyZXR1cm5bcmVhLHBKXTtjYXNlICJUUkFOU0ZFUl9TVEFURV9GQUlMRUQiOmNhc2UgIlRSQU5TRkVSX1NUQVRFX1dBSVRJTkdfRk9SX1BMQVlFUl9SRVNQT05TRV9SRUZSRVNIIjpyZXR1cm5bc2VhLHBKXTtkZWZhdWx0OnJldHVybltvSl19fTsKdWVhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0ZWEoYSxiLGQpLm1hcChlPT57dmFyIGY9ZS50ZXh0LGg9ZS5pY29uVHlwZSxrPWUuaWk7ZT1lLktoO2Y9Zj97Y29udGVudDpmfTp2b2lkIDA7aD1oJiZ7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6aH19XX07dmFyIGw9Xy5xZChjKTtpZihsKXtsZXQgbT1fLkIobCxfLkJJKSxuPV8uQihsLF8uQUkpO20mJms/bS5hY3Rpb249azpuJiZlJiYobi5hY3Rpb249ZSl9cmV0dXJue3RpdGxlOmYsbGVhZGluZ0ltYWdlOmgscmVuZGVyZXJDb250ZXh0OmwmJntjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6bH19fX19KX07cUo9ZnVuY3Rpb24oYSl7YT1fLnNIKGEucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5CKGEsXy5CSSk/LnZpZGVvSWR9O3JKPWZ1bmN0aW9uKGEpe2E9Xy5zSChhLnJlbmRlcmVyQ29udGV4dCk7cmV0dXJuIF8uQihhLF8uQUkpPy5wbGF5bGlzdElkfTsKc0o9ZnVuY3Rpb24oYSl7YT1fLkIoYSxfLlpDKTtyZXR1cm4hIWEmJl8udEgoYS5yZW5kZXJlckNvbnRleHQpfTt3ZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGlzdEl0ZW1zPy5zb21lKGI9PntpZihzSihiKSlyZXR1cm4hMDtiPV8uQihiLHZlYSk7cmV0dXJuISFiJiYoXy50SChiLnJlbmRlcmVyQ29udGV4dCl8fHNKKGIuZGVmYXVsdExpc3RJdGVtKXx8c0ooYi50b2dnbGVkTGlzdEl0ZW0pKX0pfTt0Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoO2FbYj09PS0xP2MtMTooYi0xK2MpJWNdPy5mb2N1cygpfTtpZWE9e2RDOiJQUEFEIixPQzoiUFBEUCIsTEY6IlBQT00iLHFHOiJQUFJDIix3RzoiUFBTRSIseEc6IlBQU1YifTt1Sj0iYVtocmVmXSBhW3RhYmluZGV4XSBhcmVhW2hyZWZdIGlmcmFtZSBbdGFiaW5kZXhdIFtjb250ZW50RWRpdGFibGVdIHN1bW1hcnkgaW5wdXQ6bm90KFtkaXNhYmxlZF0pIHNlbGVjdDpub3QoW2Rpc2FibGVkXSkgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSkgb2JqZWN0Om5vdChbZGlzYWJsZWRdKSIuc3BsaXQoIiAiKTsKakooKSYmdUoucHVzaCgiZGV0YWlsczpub3QoOmhhcyhzdW1tYXJ5KSkiKTt2YXIgbEo9dUouam9pbigiLCIpO3ZhciB2ZWE9bmV3IF8uSSgidG9nZ2xlYWJsZUxpc3RJdGVtVmlld01vZGVsIik7dmFyIHhlYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLGNsYXNzTmFtZTpjLG5hOmQsSWE6ZSxCYzpmfT1fLkRDKGEse25hOiExLElhOiExLEJjOiExfSksaD1fLmNJKG49PnthOnt2YXIgcD1iKCkuZW50aXR5S2V5LHI9YigpLmVudGl0eVNlbGVjdG9yVHlwZTtpZihyKXN3aXRjaChyKXtjYXNlICJUT0dHTEVBQkxFX0xJU1RfSVRFTV9FTlRJVFlfU0VMRUNUT1JfVFlQRV9UT0dHTEVfTUVOVV9TRVJWSUNFX0lURU1fRU5USVRZIjppZighcClicmVhaztuPShuPV8ueEEuZUIobixwKSkmJm4uaXNUb2dnbGVkIT09dm9pZCAwP3tpc1RvZ2dsZWQ6bi5pc1RvZ2dsZWR9OnZvaWQgMDticmVhayBhO2RlZmF1bHQ6Xy5JcChuZXcgXy5YaigiRXJyb3I6IGVudGl0eVNlbGVjdG9yVHlwZSBkZWZpbmVkIGJ1dCBub3QgbWF0Y2hlZCBpbiBzZWxlY3Rvci4iLG4scikpfW49dm9pZCAwfXJldHVybiBufSksW2ssbF09Xy5BQygoKT0+aCgpPy5pc1RvZ2dsZWQhPT12b2lkIDA/aCgpPy5pc1RvZ2dsZWQ6YigpLmluaXRpYWxTdGF0ZT8uaXNUb2dnbGVkPz8KYigpLmluaXRpYWxJc1RvZ2dsZWQ/PyExKSxtPSgpPT57dmFyIG49aygpP2IoKS50b2dnbGVkTGlzdEl0ZW06YigpLmRlZmF1bHRMaXN0SXRlbTtyZXR1cm4gXy5CKF8uQihuLF8uWkMpPy5yZW5kZXJlckNvbnRleHQsXy5ZQyk/LmxhYmVsfTtyZXR1cm4gXy5LKCJ0b2dnbGVhYmxlLWxpc3QtaXRlbS12aWV3LW1vZGVsIix7ZWw6Xy5yRihfLnVIKCgpPT5iKCkucmVuZGVyZXJDb250ZXh0LHtvblRhcDoobixwKT0+e3AoKTtoKCk/LmlzVG9nZ2xlZCE9PXZvaWQgMHx8bCghaygpKX19KSksY2xhc3M6Xy5QKCJ0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWxIb3N0IixjKX0sXy5LKF8uTyx7QTooKT0+e2lmKGsoKSl7dmFyIG49YigpLnRvZ2dsZWRMaXN0SXRlbTtuPV8uQihuLF8uWkMpfWVsc2Ugbj1iKCkuZGVmYXVsdExpc3RJdGVtLG49Xy5CKG4sXy5aQyk7cmV0dXJuIG59LHRoZW46bj0+Xy5LKF8uQ0Qse2RhdGE6bixpc1RvZ2dsZWQ6ayxuYTpkLElhOmUsQmM6ZixhcmlhTGFiZWw6bSwKYXJpYVByZXNzZWQ6a30pfSkpfSwiSyIpO3ZhciB5ZWE9Xy5hQSgiRE9XTkxPQUQiLHt9LCJEb3dubG9hZCIpLHplYT1fLmFBKCJERUxFVEVfRlJPTV9ET1dOTE9BRFMiLHt9LCJEZWxldGUgZnJvbSBkb3dubG9hZHMiKSxBZWE9Xy5hQSgiUkVUUlkiLHt9LCJSZXRyeSIpLEJlYT1fLmFBKCJQQVVTRV9ET1dOTE9BRElORyIse30sIlBhdXNlIGRvd25sb2FkaW5nIiksQ2VhPV8uYUEoIlJFU1VNRV9ET1dOTE9BRCIse30sIlJlc3VtZSBkb3dubG9hZCIpLG9KPXt0ZXh0OnllYSxpY29uVHlwZToiT0ZGTElORV9ET1dOTE9BRCIsaWk6IkFDVElPTl9BREQiLEtoOiJBQ1RJT05fQUREIn0scEo9e3RleHQ6emVhLGljb25UeXBlOiJERUxFVEUiLGlpOiJBQ1RJT05fUkVNT1ZFIixLaDoiQUNUSU9OX1JFTU9WRSJ9LHNlYT17dGV4dDpBZWEsaWNvblR5cGU6Ik9GRkxJTkVfRE9XTkxPQUQiLGlpOiJBQ1RJT05fUkVUUlkiLEtoOiJBQ1RJT05fUkVNT1ZFIn0scWVhPXt0ZXh0OkJlYSxpY29uVHlwZToiT0ZGTElORV9QQVVTRSIsaWk6IkFDVElPTl9QQVVTRSIsCktoOiJBQ1RJT05fUEFVU0UifSxyZWE9e3RleHQ6Q2VhLGljb25UeXBlOiJPRkZMSU5FX0RPV05MT0FEIixpaToiQUNUSU9OX1JFU1VNRSIsS2g6IkFDVElPTl9SRVNVTUUifTtfLkwoYT0+e3ZhciBiPV8uY0koaD0+e3ZhciBrPXFKKGEuZGF0YSgpKSxsPXJKKGEuZGF0YSgpKTtrPyhoPWguZW50aXRpZXMsaz8obD1fLnFBKGgsInRyYW5zZmVyIixfLnpJKGssInRyYW5zZmVyIikpKT9rPWwudHJhbnNmZXJTdGF0ZT8/IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iOihsPV8ucUEoaCwib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5IixfLnpJKGssIm9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eSIpKSxrPV8ucUEoaCwibWFpblZpZGVvRW50aXR5IixfLnpJKGssIm1haW5WaWRlb0VudGl0eSIpKSxrPWx8fGs/IlRSQU5TRkVSX1NUQVRFX1RSQU5TRkVSX0lOX1FVRVVFIjoiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpOms9IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKTprPWw/bGVhKGguZW50aXRpZXMsbCk6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO3JldHVybiBrfSksYz1fLkRJKG1lYSwoKT0+cUooYS5kYXRhKCkpKSwKZD1fLmNJKGg9Pnt2YXIgaz1xSihhLmRhdGEoKSksbD1ySihhLmRhdGEoKSk7IWsmJmw/KGs9aC5lbnRpdGllcyxsPyhsPWdKKGwpLGs9Xy5xQShrLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIsXy56SShsLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIpKT8uYWRkVG9PZmZsaW5lQnV0dG9uU3RhdGU/PyJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCIpOms9IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9ESVNBQkxFRCIpOihsPWguZW50aXRpZXMsaz8oaz1nSihrKSxrPV8ucUEobCwib2ZmbGluZWFiaWxpdHlFbnRpdHkiLF8uekkoaywib2ZmbGluZWFiaWxpdHlFbnRpdHkiKSk/LmFkZFRvT2ZmbGluZUJ1dHRvblN0YXRlPz8iQUREX1RPX09GRkxJTkVfQlVUVE9OX1NUQVRFX0VOQUJMRUQiKTprPSJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRElTQUJMRUQiKTtyZXR1cm4ga30pLGU9KCk9PnVlYShiKCksYygpLF8uc0goYS5kYXRhKCkucmVuZGVyZXJDb250ZXh0KSwKISFySihhLmRhdGEoKSkpLGY9KCk9PmQoKSE9PSJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCI7cmV0dXJuIF8uSygieXQtZG93bmxvYWQtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtjbGFzczoieXREb3dubG9hZExpc3RJdGVtVmlld01vZGVsSG9zdCIsaGlkZGVuOmZ9LF8uSyhfLk8se0E6KCk9PiFmKCksdGhlbjooKT0+Xy5LKF8uTyx7QTplLHRoZW46aD0+Xy5LKF8uZ0cse3BhOmh9LGs9Pl8uSyhfLkNELHtkYXRhOmssbmE6YS5uYSxJYTphLklhLEJjOmEuQmMsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmEuZGlzYWJsZUhvcml6b250YWxQYWRkaW5nfSkpfSl9KSl9LCJMIikuaWRvbUNvbXBhdD0hMDtfLkJEPV8uTCgoe2RhdGE6YSxuYTpiLGNlOmMsQmM6ZCxpc092ZXJsYXk6ZSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Zn0pPT57dmFyIGg9KCk9PndlYShhKCkpJiZkPy4oKTtyZXR1cm4gXy5LKCJ5dC1saXN0LXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0TGlzdFZpZXdNb2RlbEhvc3QiLHt5dExpc3RWaWV3TW9kZWxIb3N0S2Fpb3NTcGF0TmF2Ol8uZ3ImJmRvY3VtZW50LmJvZHkuaGFzQXR0cmlidXRlKCJzcGF0aWFsLW5hdmlnYXRpb24tZW5hYmxlZCIpJiZkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZSgic3BhdGlhbC1uYXZpZ2F0aW9uLWVuYWJsZWQiKT09PSJ0cnVlIn0pLHJvbGU6KCk9PmgoKT8ibWVudSI6Imxpc3QiLHN0eWxlOl8uSUUoeyJtYXgtaGVpZ2h0IjooKT0+e3ZhciBrPWEoKT8udmlzaWJsZUVsZW1lbnRDb3VudDtpZihrKXJldHVybmAkeyhrKy41KSo0MH1weGB9fSksIm9uOmtleWRvd24iOmZ1bmN0aW9uKGspe2lmKGQ/LigpJiZfLngoIndlYl9lbmFibGVfYXJyb3dfa2V5X25hdmlnYXRpb25faW5fZHJvcGRvd24iKSl7dmFyIGw9Cl8ubkooay5jdXJyZW50VGFyZ2V0KTtpZihsLmxlbmd0aCE9PTApe3ZhciBtPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtzd2l0Y2goay5rZXkpe2Nhc2UgIkFycm93RG93biI6ay5wcmV2ZW50RGVmYXVsdCgpO2xbKG0rMSklbC5sZW5ndGhdPy5mb2N1cygpO2JyZWFrO2Nhc2UgIkFycm93VXAiOmsucHJldmVudERlZmF1bHQoKTt0SihsLG0pO2JyZWFrO2Nhc2UgIlRhYiI6ay5wcmV2ZW50RGVmYXVsdCgpLGsuc2hpZnRLZXk/dEoobCxtKTpsWyhtKzEpJWwubGVuZ3RoXT8uZm9jdXMoKX19fX19LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5saXN0SXRlbXN9LHtsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6a30pPT5fLksoXy5DRCx7ZGF0YTprLElhOmgsbmE6YixjZTpjLEJjOmQsaXNPdmVybGF5OmUsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmZ9KSx0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOmt9KT0+Xy5LKHhlYSwKe2RhdGE6ayxJYTpoLG5hOmIsQmM6ZH0pLGRvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWw6KCk9Pl8uSyhfLklCLG51bGwpLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOigpPT5fLksoXy5JQixudWxsKX0pKX0sIk0iKTtfLkJELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIkh4amxiYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLktKPW5ldyBfLkkoImJ1dHRvblZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNEPV8uTChhPT57ZnVuY3Rpb24gYihuKXt2YXIgcD1jKCk7dmFyIHI9ZCgpO3IhPT12b2lkIDA/cD1yOihyPV8uQihwLnNlY29uZGFyeUJ1dHRvbixfLktKKSxwPV8uQihwLnByaW1hcnlCdXR0b24sXy5LSik/LmlzRnVsbFdpZHRoIT09ITF8fHImJnI/LmlzRnVsbFdpZHRoIT09ITE/MTozKTtyZXR1cm4gbj09PXB9dmFyIHtkYXRhOmMsdHlwZTpkLGRpc2FibGVQYWRkaW5nOmUsTmk6ZixYcTpofT1fLkRDKGEse3R5cGU6dm9pZCAwLGRpc2FibGVQYWRkaW5nOiExLE5pOiExfSksaz0oKT0+YygpLnN0YWNraW5nPT09IlBBTkVMX0ZPT1RFUl9TVEFDS0lOR19WRVJUSUNBTCIsbD0oKT0+KHtkaXNhYmxlZDpmKCksc3RhdGU6ZigpPyJkaXNhYmxlZCI6ImFjdGl2ZSJ9KSxtPSgpPT5jKCkubGVhZGluZ0xhYmVsfHxjKCkudHJhaWxpbmdMYWJlbDtyZXR1cm4gXy5LKCJ5dC1wYW5lbC1mb290ZXItdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEhvc3QiLAp7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVyOigpPT5jKCkuc2hvdWxkSGlkZURpdmlkZXIseXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5nOmV9KX0sXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsVGV4dFJvdyIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxSb3dCb3R0b21QYWRkaW5nOigpPT57dmFyIG49YygpO3JldHVybiEoIW4ubGVhZGluZ0xhYmVsJiYhbi50cmFpbGluZ0xhYmVsfHwhbi5wcmltYXJ5QnV0dG9uJiYhbi5zZWNvbmRhcnlCdXR0b24pfX0pfSxfLksoXy5WLHt0ZXh0OigpPT5jKCkubGVhZGluZ0xhYmVsLGNsYXNzTmFtZTpfLlAoe3l0UGFuZWxGb290ZXJWaWV3TW9kZWxUZXh0UGFkZGluZzptfSl9KSxfLksoXy5WLHt0ZXh0OigpPT5jKCkudHJhaWxpbmdMYWJlbH0pKX0pLF8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2sifSwKXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UGFuZWxGb290ZXJWaWV3TW9kZWxQcmltYXJ5QnV0dG9uIix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblN0YWNrVG9wQnV0dG9uOigpPT5jKCkuc2Vjb25kYXJ5QnV0dG9ufSl9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5wcmltYXJ5QnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpufSk9Pl8uSyhfLkhELHtkYXRhOm4sYnV0dG9uT3ZlcnJpZGVzOmwsb25DbGljazpofSl9KSksXy5LKF8uVyx7ZGF0YTooKT0+YygpLnNlY29uZGFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDpfLkhEfSkpfSksXy5LKF8uTyx7QTooKT0+IWsoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvdyIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dUcmFpbGluZzooKT0+YigzKX0pfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0xlZnRCdXR0b24iLAp7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0Z1bGxXaWR0aDooKT0+YigxKSx5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93SGlkZGVuOigpPT4hYygpLnNlY29uZGFyeUJ1dHRvbnx8YigwKSx5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93U2hyaW5rOigpPT5iKDIpfSl9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5zZWNvbmRhcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6Xy5IRH0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbFByaW1hcnlCdXR0b24iLHt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RnVsbFdpZHRoOigpPT5iKDApfHxiKDEpLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dFeHBhbmQ6KCk9PmIoMil9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnByaW1hcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOm59KT0+Xy5LKF8uSEQse2RhdGE6bixidXR0b25PdmVycmlkZXM6bCwKb25DbGljazpofSl9KSkpfSkpfSwiRmEiKTtfLnNELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImxQV2prYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmVMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiakJpc2FmIik7cmV0dXJuIF8uVEN9O18uZkw9Xy5jRCgoKT0+Xy5lTCgpLCJiYWRnZVNoYXBlIik7Xy5ZdChfLkpELGE9PnthLkooImJhZGdlU2hhcGUiLCJqQmlzYWYiLF8uZUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdHcmVlbkNpcmNsZSI7Y2FzZSAxOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1llbGxvd0NpcmNsZSI7Y2FzZSAyOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1JlZFNxdWFyZSI7Y2FzZSAzOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsR3JlZW5TcXVhcmUiO2Nhc2UgNDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsdWVTcXVhcmUiO2Nhc2UgNTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZUJsdWVTcXVhcmUiO2Nhc2UgNjpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFllbGxvd1NxdWFyZSI7CmNhc2UgNzpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVllbGxvd1NxdWFyZSI7Y2FzZSA4OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsT3JhbmdlU3F1YXJlIjtjYXNlIDk6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VPcmFuZ2VTcXVhcmUiO2Nhc2UgMTA6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxSZWRTcXVhcmUiO2Nhc2UgMTE6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VSZWRTcXVhcmUiO2Nhc2UgMTI6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbGFja1NxdWFyZSI7Y2FzZSAxMzpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZUJsYWNrU3F1YXJlIn19LHpmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQkFER0VfQ09NTUVSQ0UiOmNhc2UgIkJBREdFX01FTUJFUlNfT05MWSI6cmV0dXJuIDEwOwpjYXNlICJCQURHRV9ESVNDT1VOVCI6cmV0dXJuIDg7Y2FzZSAiQkFER0VfU1RBVFVTX05FVyI6cmV0dXJuIDEzO2Nhc2UgIkJBREdFX1BSRU1JVU0iOnJldHVybiA3O2Nhc2UgIkJBREdFX1BST01PVEVEIjpyZXR1cm4gNDtjYXNlICJCQURHRV9QUk9NT1RFRF9JTlZFUlRFRCI6cmV0dXJuIDU7Y2FzZSAiQkFER0VfTUVESUEiOnJldHVybiAxO2Nhc2UgIkJBREdFX1RJTUVMWSI6cmV0dXJuIDY7Y2FzZSAiQkFER0VfTElWRV9OT1ciOnJldHVybiAxOTtjYXNlICJCQURHRV9TVEFUVVNfQ09NUExFVEUiOnJldHVybiAxNDtjYXNlICJCQURHRV9TVEFUVVNfV0FSTklORyI6cmV0dXJuIDE1O2Nhc2UgIkJBREdFX1NUQVRVU19FUlJPUiI6cmV0dXJuIDE2O2Nhc2UgIkJBREdFX1NUQVRVU19ERUZBVUxUIjpyZXR1cm4gMTc7ZGVmYXVsdDpyZXR1cm4gMH19LEFmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQkFER0VfTlpfUkFUSU5HX0dSRUVOX0NJUkNMRSI6cmV0dXJuIDA7Y2FzZSAiQkFER0VfTlpfUkFUSU5HX1lFTExPV19DSVJDTEUiOnJldHVybiAxOwpjYXNlICJCQURHRV9OWl9SQVRJTkdfUkVEX1NRVUFSRSI6cmV0dXJuIDI7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0dSRUVOX1NRVUFSRSI6cmV0dXJuIDM7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0JMVUVfU1FVQVJFIjpyZXR1cm4gNDtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfQkxVRV9TUVVBUkUiOnJldHVybiA1O2Nhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9ZRUxMT1dfU1FVQVJFIjpyZXR1cm4gNjtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfWUVMTE9XX1NRVUFSRSI6cmV0dXJuIDc7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX09SQU5HRV9TUVVBUkUiOnJldHVybiA4O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9PUkFOR0VfU1FVQVJFIjpyZXR1cm4gOTtjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfUkVEX1NRVUFSRSI6cmV0dXJuIDEwO2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9SRURfU1FVQVJFIjpyZXR1cm4gMTE7CmNhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9CTEFDS19TUVVBUkUiOnJldHVybiAxMjtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfQkxBQ0tfU1FVQVJFIjpyZXR1cm4gMTN9fTt2YXIgQmZhPV8uTCgoe2RhdGE6YX0pPT5fLksoImJyLW56LWJhZGdlLXNoYXBlIix7Y2xhc3M6Xy5QKCgpPT55ZmEoYSgpLnVpKSkscm9sZTooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0PyJpbWciOnZvaWQgMCwiYXJpYS1sYWJlbCI6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dH0sKCk9PmEoKT8udGV4dCksInVhIik7Xy5FRD1fLkwoYT0+e3ZhciBiPSgpPT57dmFyIGM9YS5kYXRhKCk7aWYoYyl7dmFyIGQ9ISFhLnpMPy4oKSxlPWEub2c/LigpLGY9YS5Eaj8uKCksaD1hLmVwPy4oKSxrPWEucXg/LigpO2E6c3dpdGNoKGMuYmFkZ2VTdHlsZSl7Y2FzZSAiQkFER0VfT1ZFUkxBWSI6dmFyIGw9ITA7YnJlYWsgYTtkZWZhdWx0Omw9ITF9Yz17dHlwZTpkPzE4OnpmYShjLmJhZGdlU3R5bGUpLHVpOkFmYShjLmJhZGdlU3R5bGUpLHRleHQ6Yy5iYWRnZVRleHQsaWNvbjpjLmljb25OYW1lLGlzT3ZlcmxheTpsLG9nOmV8fF8ueCgid2ViX21vZGVybl9iYWRnZV92aWV3X21vZGVsIiksYWNjZXNzaWJpbGl0eVRleHQ6Yy5hY2Nlc3NpYmlsaXR5TGFiZWx8fF8uQihjLnJlbmRlcmVyQ29udGV4dCxfLllDKT8ubGFiZWwsRGo6ZixlcDpoLG9BOmssbnM6Xy5CKGMudG9vbHRpcE9uSG92ZXIsXy5jSyk/LnRvb2x0aXBUZXh0fX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfTtyZXR1cm4gXy5LKCJ5dC1iYWRnZS12aWV3LW1vZGVsIiwKe2NsYXNzOl8uUCgieXRCYWRnZVZpZXdNb2RlbEhvc3QiLGEuY2xhc3MpfSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4hIWIoKT8udWl9LCgpPT5fLksoQmZhLHtkYXRhOigpPT5iKCl9KSksXy5LKF8uQ0Use3doZW46KCk9PiEhYigpJiYhYigpLnVpfSwoKT0+Xy5LKF8uZkwse2RhdGE6KCk9PmIoKX0pKSkpfSwidmEiKTtfLkVELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIlB6VWRaYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnZKPWZ1bmN0aW9uKGEsYixjLGQpe2R8fChkPXtidWJibGVzOiEwLGNhbmNlbGFibGU6ITEsY29tcG9zZWQ6ITB9KTtjIT09bnVsbCYmYyE9PXZvaWQgMCYmKGQuZGV0YWlsPWMpO3ZhciBlPW5ldyBDdXN0b21FdmVudChiLGQpO18uRUEoKCk9PnZvaWQgYS5kaXNwYXRjaEV2ZW50KGUpKTtyZXR1cm4gZX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZEw9ZnVuY3Rpb24oKXt9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnJFPV8uTChhPT57dmFyIHtGSTpiLGZGOmMscEM6ZCxhc3NldFR5cGU6ZSxRZzpmLGtoOmgsdms6ayx6azpsLFB3Om0scWs6bixVbzpwLGJ1dHRvblN0eWxlOnIsRXo6dCxQcjp2LGNvbnRlbnRBbGlnbm1lbnQ6eixpc0Z1bGxzY3JlZW46RSxrcDpBLHdpZHRoOkYsbWF4SGVpZ2h0OkMsdXE6RyxudDpELHNxOkgsbHQ6Un09Xy5EQyhhLHtQdzowLFVvOjAsYnV0dG9uU3R5bGU6MCxjb250ZW50QWxpZ25tZW50OjAsbWF4SGVpZ2h0OjAsaXNGdWxsc2NyZWVuOiExLGtwOiExLGtoOiEwLHVxOiExLHNxOiExfSk7YT10PygpPT50KHtidXR0b25PdmVycmlkZXM6KCk9Pih7c3R5bGU6cj8uKCk9PT0xPyJjYWxsLXRvLWFjdGlvbiI6Im1vbm8iLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9KSxjbGFzc05hbWU6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRCdXR0b246ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZVN0cmV0Y2hlZDooKT0+cD8uKCk9PT0KMHx8cD8uKCk9PT0yfSl9KTp2b2lkIDA7dmFyIE09dj8oKT0+dih7YnV0dG9uT3ZlcnJpZGVzOntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9LGNsYXNzTmFtZTpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkOigpPT5wPy4oKT09PTB8fHA/LigpPT09Mn0pfSk6dm9pZCAwLFM9KCk9PighIWYmJmgoKXx8ISFrfHwhIWwpJiZtKCk9PT0wO3JldHVybiBfLksoImRpYWxvZy1sYXlvdXQiLHtlbDpfLnJGKGIsXy5kTCksY2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRIb3N0OiEwLHl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW46RSx5dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZlOigpPT4hRSgpJiYhQSgpLHl0U3BlY0RpYWxvZ0xheW91dEV4dGVuZGVkTWF4SGVpZ2h0OigpPT5DKCk9PT0xLHl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SW5zZXQ6KCk9PgplPy4oKT09PTF9KSxzdHlsZTooKT0+Rj8uKCkhPT12b2lkIDA/YHdpZHRoOiAke0YoKX1weDtgOiIifSxjP18uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRJY29uOiEwLHl0U3BlY0RpYWxvZ0xheW91dEljb25BYm92ZU1lZGlhOigpPT4hIWQmJm0oKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0SWNvbkNlbnRlckFsaWduOigpPT56KCk9PT0xfSl9LF8uSyhjLG51bGwpKTpudWxsLF8uSyhfLk8se0E6Ryx0aGVuOigpPT5EP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lciJ9LF8uSyhELG51bGwpKTpudWxsLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTpTLHRoZW46KCk9Pl8uSyhZUCx7Y29udGVudEFsaWdubWVudDp6LHZrOmssems6bCxRZzpmLGtoOmgsVGw6ISFkfSl9KSxkP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dEFzc2V0In0sXy5LKGQse2NsYXNzTmFtZToieXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJdGVtIn0pKToKbnVsbCl9KSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVyOigpPT4hQSgpLHl0U3BlY0RpYWxvZ0xheW91dENlbnRlckFsaWduOigpPT56Py4oKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZzooKT0+IVMoKSYmIUEoKSYmIUcoKSYmIShmJiZoKCkmJiFEJiZtPy4oKT09PTEpfHwhIWQmJm0/LigpPT09MH0pfSxfLksoXy5PLHtBOigpPT5mJiZoKCkmJiFEJiZtPy4oKT09PTEsdGhlbjooKT0+Xy5LKFlQLHtjb250ZW50QWxpZ25tZW50Onosdms6ayx6azpsLFFnOmYsa2g6aCxUbDohMX0pfSksbj9fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50In0sXy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dENvbnRlbnRJbm5lcjooKT0+IUEoKX0pfSxfLksobixudWxsKSkpOm51bGwsXy5LKF8uTyx7QTpILHRoZW46KCk9PlI/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVyIn0sCl8uSyhSLG51bGwpKTpudWxsfSksYXx8TT9fLksoUmlhLHthdzpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEZvb3RlckNvbnRhaW5lcjohMCx5dFNwZWNEaWFsb2dMYXlvdXRGb290ZXI6ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc1N0YWNrZWQ6KCk9PnA/LigpPT09Mix5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lRW5kOigpPT5wPy4oKT09PTF9KSxZdDphLGN1Ok19KTpudWxsKSl9LCJQYiIpOwp2YXIgWVA9Xy5MKGE9Pnt2YXIge2NvbnRlbnRBbGlnbm1lbnQ6Yix2azpjLFFnOmQsa2g6ZSx6azpmLFRsOmgsRXY6a309Xy5EQyhhLHtUbDohMSxFdjohMH0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyQ29udGFpbmVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dIZWFkZXJBYm92ZUFzc2V0OmgseXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ246KCk9PmI/LigpPT09MSYmaygpfSl9LF8uSyhfLk8se0E6KCk9PmsoKSx0aGVuOigpPT5jP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dExlYWRpbmdBY3Rpb25IZWFkZXIifSxfLksoYyxudWxsKSk6bnVsbH0pLGQ/Xy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSygiaDIiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0VGl0bGUifSxfLksoZCxudWxsKSl9KTpudWxsLGY/Xy5LKCJkaXYiLG51bGwsCl8uSyhmLG51bGwpKTpudWxsKX0sIlFiIiksUmlhPV8uTCgoe2F3OmEsWXQ6YixjdTpjfSk9Pl8uSygiZGl2Iix7Y2xhc3M6YX0sYz9fLksoYyxudWxsKTpudWxsLGI/Xy5LKGIsbnVsbCk6bnVsbCksIlJiIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInZpVVdWIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYk09bmV3IF8uVnMoIkxPVFRJRV9MT0FERVJfVE9LRU4iKTtfLmNNPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixhbmltYXRpb25OYW1lOmMsYW5pbWF0aW9uUmVmOmQsR0k6ZX0pPT57dmFyIGY9Xy52RSgibG90dGllLWNvbXBvbmVudCIpLGg7Xy5ZdSgoKT0+dm9pZCBoPy5kZXN0cm95KCkpO3ZhciBrO18ubkUoKCk9Pnt2YXIgbD1fLkJ2KGMpO2lmKGwhPT1rKXtrPWw7dmFyIG09e2FuaW1hdGlvbk5hbWU6bCxhbmltYXRpb25SZWY6Xy5CdihkKSwuLi5fLkJ2KGEpfTt0cnl7Xy55KCkucmVzb2x2ZShfLmJNKSgpLnRoZW4obj0+e2g/LmRlc3Ryb3koKTt2YXIgcD1lPy4oKT8udmFsdWU/P2YudmFsdWUscj1tLmFuaW1hdGlvblJlZix0PW0ubGlzdGVuZXJzO249bi5sb2FkQW5pbWF0aW9uKHtjb250YWluZXI6cCxyZW5kZXJlclNldHRpbmdzOm0ucmVuZGVyZXJTZXR0aW5ncywuLi5tLmFuaW1hdGlvbkNvbmZpZ30pO3ImJihyLmxvdHRpZUVsPW4pO2lmKHQpZm9yKGxldCBbdix6XW9mIE9iamVjdC5lbnRyaWVzKHQpKXI9diwodD16KSYmbi5hZGRFdmVudExpc3RlbmVyKHIsCnQpO2g9bn0pfWNhdGNoKG4pe2w9IkxvdHRpZUNvbXBvbmVudCBlcnJvci4iLG4ubWVzc2FnZSYmKGwrPWAgT3JpZ2luYWwgZGVzY3JpcHRpb246ICR7bi5tZXNzYWdlfWApLF8uY3cobixsKSxfLklwKG4pLG0ubGlzdGVuZXJzPy5lcnJvciYmbS5saXN0ZW5lcnMuZXJyb3Iobil9fX0sInhPQ2s1Iik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PiFlPy4oKSx0aGVuOigpPT5fLksoImxvdHRpZS1jb21wb25lbnQiLHtjbGFzczpfLlAoInl0TG90dGllQ29tcG9uZW50SG9zdCIsYiksZWw6Zn0pfSl9LCJLYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgYmdhO2JnYT1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGgsayl7aWYoYi52YWx1ZT09PWsmJiFiLmNhbmNlbGxlZCl7Zm9yKDthLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5maXJzdENoaWxkKTthLmNsYXNzTGlzdC5hZGQoInl0U3BlY0ljb25TaGFwZUhvc3QiKTtoKGEsZCl9fXZhciBmPV8ueSgpLnJlc29sdmUoXy5YTCkucHkoYyk7dHlwZW9mIGY9PT0iZnVuY3Rpb24iPyhiLnZhbHVlPW51bGwsZShmLG51bGwpKTooYi52YWx1ZT1mLGYudGhlbihoPT57ZShoLGYpfSkpfTtfLlhMPW5ldyBfLlZzKCJJQ09OX01BTkFHRVJfVE9LRU4iKTtfLllMPV8uTChhPT57dmFyIGI9e3ZhbHVlOm51bGwsY2FuY2VsbGVkOiExfTtfLll1KCgpPT57Yi5jYW5jZWxsZWQ9ITB9KTt2YXIgYz1fLk4oYS5kYXRhLHtlcXVhbHM6KGQsZSk9PmQuaWNvbk5hbWU9PT1lLmljb25OYW1lJiZkLmljb25TdHlsZT09PWUuaWNvblN0eWxlJiZkLmljb25TaXplPT09ZS5pY29uU2l6ZSYmZC5seD09PWUubHgmJmQua3g9PT1lLmt4fSwiY2syNGpiIik7cmV0dXJuIF8uSygic3BhbiIse2NsYXNzOiJ5dC1pY29uLXNoYXBlIixlbDpfLnJGKGQ9PntfLm5FKCgpPT57dmFyIGU9YS5vcHRpb25zPy4oKSxmPWMoKTtiZ2EoZCxiLGYsZSl9LCJ2ODc4SmUiKX0pfSl9LCJIYSIpO18uWUwuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEVQPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDE4OmNhc2UgMTk6Y2FzZSAyMDpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0sR2lhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDM6cmV0dXJuInl0QmFkZ2VTaGFwZUFkIjtjYXNlIDE6cmV0dXJuInl0QmFkZ2VTaGFwZU1lZGlhIjtjYXNlIDI6cmV0dXJuInl0QmFkZ2VTaGFwZU1lZGlhT3ZlcmxheSI7Y2FzZSA0OnJldHVybiJ5dEJhZGdlU2hhcGVQcm9tb3RlZCI7Y2FzZSA1OnJldHVybiJ5dEJhZGdlU2hhcGVQcm9tb3RlZEludmVydGVkIjtjYXNlIDY6cmV0dXJuInl0QmFkZ2VTaGFwZVRpbWVseSI7Y2FzZSA3OnJldHVybiJ5dEJhZGdlU2hhcGVQcmVtaXVtIjtjYXNlIDg6cmV0dXJuInl0QmFkZ2VTaGFwZVNhbGUiO2Nhc2UgOTpyZXR1cm4ieXRCYWRnZVNoYXBlTWVtYmVyc2hpcCI7Y2FzZSAxMDpyZXR1cm4ieXRCYWRnZVNoYXBlQ29tbWVyY2UiO2Nhc2UgMTI6cmV0dXJuInl0QmFkZ2VTaGFwZUxpdmUiO2Nhc2UgMTM6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c05ldyI7CmNhc2UgMTQ6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c0NvbXBsZXRlIjtjYXNlIDE1OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNXYXJuaW5nIjtjYXNlIDE2OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNFcnJvciI7Y2FzZSAxNzpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdCI7Y2FzZSAxODpyZXR1cm4gXy54KCJlbmFibGVfbG9ja3VwX3JlZGVzaWduIik/Inl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbiI6Inl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHQiO2Nhc2UgMTk6cmV0dXJuInl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmUiO2Nhc2UgMjA6cmV0dXJuInl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwiO2RlZmF1bHQ6cmV0dXJuInl0QmFkZ2VTaGFwZURlZmF1bHQifX07dmFyIEhpYT1uZXcgU2V0KFsiT1VUTElORV9CQUciXSk7Cl8uVEM9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj0oKT0+e3ZhciBkPWEoKS5pY29uO2lmKGQpYTp7ZD1fLktEKGQpPy5pY29uTmFtZT8/ZDtsZXQgaD0ieW91dHViZV9maWxsIjtIaWEuaGFzKGQudG9VcHBlckNhc2UoKSkmJihoPSJ5b3V0dWJlX291dGxpbmUiKTtsZXQgaz1oPT09InlvdXR1YmVfZmlsbCI/InlvdXR1YmVfb3V0bGluZSI6InlvdXR1YmVfZmlsbCIsbD1fLnkoKS5yZXNvbHZlKF8uWEwpO3ZhciBlPVsxMiwyNF07Zm9yKGYgb2YgZSl7ZT17aWNvbk5hbWU6ZCxpY29uU3R5bGU6aCxpY29uU2l6ZTpmfTtsZXQgbT17aWNvbk5hbWU6ZCxpY29uU3R5bGU6ayxpY29uU2l6ZTpmfTtpZihsLmooZSkpe3ZhciBmPWU7YnJlYWsgYX1pZihsLmoobSkpe2Y9bTticmVhayBhfX1mPXZvaWQgMH1lbHNlIGY9dm9pZCAwO3JldHVybiBmfSxbY109Xy5iSygoKT0+YSgpLm5zKTtyZXR1cm4gXy5LKCJiYWRnZS1zaGFwZSIse2VsOl8uckYoZD0+e2MoZCl9KSxjbGFzczpfLlAoInl0QmFkZ2VTaGFwZUhvc3QiLAooKT0+R2lhKGEoKS50eXBlKSx7eXRCYWRnZVNoYXBlT3ZlcmxheTooKT0+YSgpLmlzT3ZlcmxheSx5dEJhZGdlU2hhcGVBZHNJbmNsdWRlRG90OigpPT5hKCkuQm8seXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2U6KCk9PkVQKGEoKS50eXBlKSx5dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZVJlZGVzaWduOigpPT5fLngoImVuYWJsZV9sb2NrdXBfcmVkZXNpZ24iKSYmRVAoYSgpLnR5cGUpLHl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlOigpPT57YTpzd2l0Y2goYSgpLnR5cGUpe2Nhc2UgMTM6Y2FzZSAxNDpjYXNlIDE1OmNhc2UgMTY6Y2FzZSAxNzp2YXIgZD0hMDticmVhayBhO2RlZmF1bHQ6ZD0hMX1yZXR1cm4gZH0seXRCYWRnZVNoYXBlTm9UZXh0OigpPT4hYSgpLnRleHQseXRCYWRnZVNoYXBlSXNFbXB0eTooKT0+IWEoKS50ZXh0JiYhYSgpLmljb24mJiFhKCkuYW5pbWF0aW9uLHl0QmFkZ2VTaGFwZU1vZGVybjooKT0+YSgpLm9nfHxfLngoIndlYl9tb2Rlcm5fYmFkZ2Vfc2hhcGUiKSwKeXRCYWRnZVNoYXBlVHlwb2dyYXBoeTooKT0+e2E6e3ZhciBkPWEoKTtpZihkLm9BKXN3aXRjaChkLnR5cGUpe2Nhc2UgMDpjYXNlIDE6Y2FzZSAxMDpkPSEwO2JyZWFrIGE7ZGVmYXVsdDpkPSExfWVsc2UgZD0hMX1yZXR1cm4hZH0seXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2U6KCk9PmEoKS5HeSx5dEJhZGdlU2hhcGVMYXJnZUZvbnRBZEJhZGdlOigpPT5hKCkuanl9KSxzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6KCk9PmEoKS5jdXN0b21Db2xvcnM/LmJhY2tncm91bmRDb2xvcn0pLHJvbGU6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dD8iaW1nIjp2b2lkIDAsImFyaWEtbGFiZWwiOigpPT5hKCkuYWNjZXNzaWJpbGl0eVRleHR9LF8uSyhfLk8se0E6KCk9PmEoKS5hbmltYXRpb24sdGhlbjpkPT5fLksoXy5jTSx7Y2xhc3NOYW1lOiJ5dEJhZGdlU2hhcGVJY29uIixkYXRhOmQsYW5pbWF0aW9uTmFtZTooKT0+ZCgpLmFuaW1hdGlvbkNvbmZpZy5uYW1lfHwiIn0pfSksCl8uSyhfLk8se0E6KCk9PmIoKSYmIWEoKT8uYW5pbWF0aW9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0QmFkZ2VTaGFwZUljb24ifSxfLksoXy5ZTCx7ZGF0YTooKT0+YigpfSkpfSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0QmFkZ2VTaGFwZVRleHQiLHt5dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvdzooKT0+YSgpLmVwLHl0QmFkZ2VTaGFwZVRleHRIYXNNdWx0aXBsZUJhZGdlc0luUm93OigpPT4oYSgpLkRqfHwwKT4xfSl9LCgpPT5hKCk/LnRleHQpKX0sInliIik7Xy5UQy5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJqQmlzYWYiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJKO18ud0o9ZnVuY3Rpb24oYSxiLGMsZD0wKXsoZD1fLmlxKGQpKSYmXy5meChhLmNsaWVudCxkLGIsYyl9O18ueEo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmdldFNjcmVlbkxheWVyJiZiLmdldFNjcmVlbkxheWVyKCk7Yi52aXN1YWxFbGVtZW50P18ud0ooYSxiLnZpc3VhbEVsZW1lbnQsdm9pZCAwLGMpOihfLkR4KCksYj1fLlZpKF8uQngoKS5qKS5iaW5kKF8uQngoKSkoYiksYS5DZihiLHZvaWQgMCxjKSl9O18ueUo9ZnVuY3Rpb24oYSxiLGMpe18uVmkoXy5meCkodm9pZCAwLGEsYixjLHZvaWQgMCl9O18ueko9ZnVuY3Rpb24oYSxiPTApeyhiPV8uaXEoYikpJiZhJiZfLnlKKGIsXy5VdyhhKSl9O18uQUo9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5nRS5wdXNoKHtjb21tYW5kOmEsc291cmNlRGF0YTpiLGNvbW1hbmRDb250ZXh0OmR9KTtjJiZhLmNsaWNrVHJhY2tpbmdQYXJhbXMmJl8uekooYS5jbGlja1RyYWNraW5nUGFyYW1zKX07CkJKPWZ1bmN0aW9uKGEpe2lmKCFhPy5ydW5zKXJldHVybiEwO2ZvcihsZXQgYiBvZiBhLnJ1bnMpaWYoYi5icmFja2V0fHxiLmVycm9yVW5kZXJsaW5lfHxiLmRlZW1waGFzaXplfHxfLkIoYixfLlhjYSl8fF8uQihiLF8uWWNhKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5DSj1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLnNpbXBsZVRleHQ/YS5zaW1wbGVUZXh0OmEucnVucz9hLnJ1bnMubWFwKGI9PmIudGV4dCkuam9pbigiIik6IiI6IiJ9O18uREo9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYS5sYWJlbD9hLmxhYmVsOl8uREooYS5hY2Nlc3NpYmlsaXR5RGF0YSl9O18uRGVhPW5ldyBfLkkoInlwY09mZmVyc0VuZHBvaW50Iik7Xy5FZWE9bmV3IF8uSSgieXBjR2V0T2ZmZXJzRW5kcG9pbnQiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGhlbWUtbWV0YSIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKTtfLkZlYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyIik7Xy5FSj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWNvbnRhaW5lci1pZCIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udHJvbC1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWVuZHNjcmVlbi1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLXNob3J0cy1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWNpbmVtYXRpY3MtY29udGFpbmVyIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ1bGwtc2NyZWVuLWNvbnRlbnQtaWQiKTtfLkZKPV8uS3koImluaXQiKTt2YXIgR0o7CkdKPV8uTCgoe3J1bjphLG1hOmJ9KT0+e3ZhciBjPSgpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50O3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuYm9sZH0sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLGJvbGQ6dm9pZCAwfSksdm9pZCAwLCJTbFpsNiIpO3JldHVybiBfLksoInN0cm9uZyIse2NsYXNzOiJmb3JtYXR0ZWQtc3RyaW5nLWJvbGQifSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLmRlZW1waGFzaXplfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksZGVlbXBoYXNpemU6dm9pZCAwfSksdm9pZCAwLCJ5SXh3ZGQiKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6ImZvcm1hdHRlZC1zdHJpbmctZGVlbXBoYXNpemUifSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLml0YWxpY3N9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxpdGFsaWNzOnZvaWQgMH0pLHZvaWQgMCwKIlFOWEhIYiIpO3JldHVybiBfLksoImVtIixudWxsLF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkudGV4dENvbG9yfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksdGV4dENvbG9yOnZvaWQgMH0pLHZvaWQgMCwieEplRzNiIik7cmV0dXJuIF8uSygic3BhbiIse3N0eWxlOigpPT5gY29sb3I6ICR7Xy5KRShhKCkudGV4dENvbG9yKX1gfSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLnN0cmlrZXRocm91Z2h9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxzdHJpa2V0aHJvdWdoOnZvaWQgMH0pLHZvaWQgMCwiWENSNmhkIik7cmV0dXJuIF8uSygicyIsbnVsbCxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+IWEoKS5uYXZpZ2F0aW9uRW5kcG9pbnR8fGIoKX0sKCk9Pl8uSyhfLklCLG51bGwsKCk9PmEoKS50ZXh0KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKF8ubkgse2NvbW1hbmQ6YywKdGFiSW5kZXg6MH0sXy5LKF8uSUIsbnVsbCwoKT0+YSgpLnRleHQpKSkpfSwiTiIpOwpfLklKPV8uTCgoe2RhdGE6YSwuLi5ifSk9Pnt2YXIgYz0oKT0+Yi5tYT8uKCksZD0oKT0+Yi51Yj8uKCksZT0oKT0+Yi5JZD8uKCksZj0oKT0+Yi51c2VySW5wdXQ/LigpLGg9KCk9PmIuWGE/LigpLGs9KCk9PmIucmc/LigpPz8hMDtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+IShhPy4oKSYmT2JqZWN0LmtleXMoYSgpKS5sZW5ndGgpfSwoKT0+bnVsbCksXy5LKF8uQ0Use3doZW46KCk9Pnt2YXIgbDtpZihsPUJKKGEoKSkpbD1hKCksbD0hIShsPy5jb250ZW50IT09dm9pZCAwP2w6Xy5BRihsKSkuY29udGVudDtyZXR1cm4gbH19LCgpPT5fLksoXy5WLHt0ZXh0OmEsYXJpYUxhYmVsOigpPT5fLkRKKGEoKS5hY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YSksWGE6aCxtYTpjLHViOmQscmc6ayxJZDplLHVzZXJJbnB1dDpmLFl1OiEwfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5CSihhKCkpfSwoKT0+bnVsbCksXy5LKF8uQ0Use3doZW46KCk9Pnt2YXIgbDsKaWYoKGw9YT8uKCkmJk9iamVjdC5rZXlzKGEoKSkubGVuZ3RoKSYmIShsPWEoKS5hY2Nlc3NpYmlsaXR5KSlhOntsPWEoKTtpZihsLnJ1bnMpZm9yKGxldCBtIG9mIGwucnVucylpZihtLm5hdmlnYXRpb25FbmRwb2ludCl7bD0hMTticmVhayBhfWw9ITB9cmV0dXJuIGwmJmEoKS5ydW5zJiZhKCkucnVucy5sZW5ndGg+MX19LCgpPT5fLksoInNwYW4iLHsiYXJpYS1sYWJlbCI6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhKSxjbGFzczoiZm9ybWF0dGVkLXN0cmluZy10ZXh0Iixyb2xlOiJ0ZXh0In0sXy5LKEhKLHtzaW1wbGVUZXh0OigpPT5hKCkuc2ltcGxlVGV4dCxydW5zOigpPT5hKCkucnVucyxtYTpjfSkpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoSEose3NpbXBsZVRleHQ6KCk9PmEoKS5zaW1wbGVUZXh0LHJ1bnM6KCk9PmEoKS5ydW5zLG1hOmN9KSkpfSwiTyIpO18uSUouaWRvbUNvbXBhdD0hMDsKdmFyIEhKPV8uTCgoe3NpbXBsZVRleHQ6YSxydW5zOmIsbWE6Y30pPT5fLksoXy5PLHtBOigpPT5hJiZhKCksdGhlbjpkPT5kLFc6KCk9Pl8uSyhfLk8se0E6KCk9PmImJmIoKSx0aGVuOmQ9Pl8uSyhfLmdHLHtwYTpkLHRiOiJJTkRFWCJ9LGU9Pl8uSyhHSix7cnVuOmUsbWE6KCk9PiEhYz8uKCl9KSl9KX0pLCJQIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTEo9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJaUUt4MSIpO3JldHVybiBfLlZDfTtfLk1KPV8uY0QoKCk9Pl8uTEooKSwiYnV0dG9uT3JBbmNob3IiKTtfLll0KF8uSkQsYT0+e2EuSigiYnV0dG9uT3JBbmNob3IiLCJaUUt4MSIsXy5MSil9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFlLO1lLPWE9PmI9PigpPT5iPy4oKSE9PXZvaWQgMD9TdHJpbmcoYigpKSthOnZvaWQgMDtfLlpLPVlLKCJweCIpO18ueGZhPVlLKCIlIik7Xy4kSz1ZSygicyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFMPWZ1bmN0aW9uKC4uLmEpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKWlmKGMpaWYodHlwZW9mIGM9PT0ic3RyaW5nIiliLnB1c2goYyk7ZWxzZSBmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYykpYT1kLGUmJmIucHVzaChhKTtyZXR1cm4gYi5qb2luKCIgIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmJMPW5ldyBfLlZzKCJQQU5FTF9DT05UUk9MTEVSX1RPS0VOIik7Xy5jTD1uZXcgXy5WcygiU0hFRVRfQ09OVFJPTExFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicjlLTWpiIik7cmV0dXJuIF8uJEN9O18uaEw9Xy5jRCgoKT0+Xy5nTCgpLCJ1cHNlbGxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidXBzZWxsVmlld01vZGVsIiwicjlLTWpiIixfLmdMKX0pO18uaUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWY0dTOCIpO3JldHVybiBfLkVDfTtfLmpMPV8uY0QoKCk9Pl8uaUwoKSwibWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooIm1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbCIsIlZjR1M4IixfLmlMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZMPW5ldyBfLkkoImJ1dHRvblJlbmRlcmVyIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV0w9ZnVuY3Rpb24oYSl7cmV0dXJue3J1bnM6W3t0ZXh0OmF9XX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlpMPV8uTChhPT57KHt3cmFwcGVyOmF9PV8uREMoYSx7d3JhcHBlcjohMX0pKTtyZXR1cm4gXy5LKF8uTyx7QTphLHRoZW46KCk9Pl8uSygieXQtc3Bpbm5lci1zaGFwZSIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVdyYXBwZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVNwaW5uZXIifSkpLFc6KCk9Pl8uSygieXQtc3Bpbm5lci1zaGFwZSIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVNwaW5uZXIifSl9KX0sIklhIik7Xy5aTC5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLiRMPXtFbzohMSxscTohMSx2cDoiIix1cDoiIix3cjohMSxDcTohMX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYU09ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0wfHxhPT09MX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBlTSxjZ2EsZGdhLGZNLGdNLGlNLGpNLGVnYSxnZ2EsaWdhLGtnYSxtZ2Esb2dhLHBNLHBnYSxxZ2Esbk07Xy5kTT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSlyZXR1cm4gYn07ZU09ZnVuY3Rpb24oLi4uYSl7cmV0dXJuIGEubGVuZ3RoPT09MD9iPT5iOmEubGVuZ3RoPT09MT9hWzBdOmEucmVkdWNlKChiLGMpPT4oLi4uZCk9PmIoYyguLi5kKSkpfTtjZ2E9ZnVuY3Rpb24oKXt2YXIgYT1bXTtyZXR1cm4gYj0+KGMsZCk9PntjPWIoYyxkKTt2YXIgZT0oKT0+e3Rocm93IEVycm9yKCJRYiIpO30sZj17Z2V0U3RhdGU6Yy5nZXRTdGF0ZSxkaXNwYXRjaDooaCwuLi5rKT0+ZShoLC4uLmspfTtkPWEubWFwKGg9PmgoZikpO2U9ZU0oLi4uZCkoYy5kaXNwYXRjaCk7cmV0dXJuey4uLmMsZGlzcGF0Y2g6ZX19fTsKZGdhPWZ1bmN0aW9uKGEpe09iamVjdC5rZXlzKGEpLmZvckVhY2goYj0+e3ZhciBjPWFbYl07aWYodHlwZW9mIGModm9pZCAwLHt0eXBlOl8ubUF9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCJSYmAiK2IpO2lmKHR5cGVvZiBjKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7Xy5sQSgpfWB9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCJTYmAiK2IrImAiK18ubUEpO30pfTsKZk09ZnVuY3Rpb24oYSl7dmFyIGI9T2JqZWN0LmtleXMoYSksYz17fTtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKyl7bGV0IGg9YltmXTt0eXBlb2YgYVtoXT09PSJmdW5jdGlvbiImJihjW2hdPWFbaF0pfXZhciBkPU9iamVjdC5rZXlzKGMpO3RyeXtkZ2EoYyl9Y2F0Y2goZil7dmFyIGU9Zn1yZXR1cm4gZnVuY3Rpb24oZj17fSxoKXtpZihlKXRocm93IGU7dmFyIGs9ITEsbD17fTtmb3IobGV0IG09MDttPGQubGVuZ3RoO20rKyl7bGV0IG49ZFttXSxwPWZbbl0scj0oMCxjW25dKShwLGgpO2lmKHR5cGVvZiByPT09InVuZGVmaW5lZCIpdGhyb3cgZj1oJiZoLnR5cGUsRXJyb3IoIlRiYCIrKGY/YCIke1N0cmluZyhmKX0iYDoiKHVua25vd24gdHlwZSkiKSsiYCIrbik7bFtuXT1yO2s9a3x8ciE9PXB9cmV0dXJuKGs9a3x8ZC5sZW5ndGghPT1PYmplY3Qua2V5cyhmKS5sZW5ndGgpP2w6Zn19OwpnTT1mdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZCgpe2lmKG4pdGhyb3cgRXJyb3IoIlViIik7cmV0dXJuIGt9ZnVuY3Rpb24gZShyKXtpZih0eXBlb2YgciE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIlZiYCIrdHlwZW9mIHIpO2lmKG4pdGhyb3cgRXJyb3IoIldiIik7dmFyIHQ9ITA7bT09PWwmJihtPWwuc2xpY2UoKSk7bS5wdXNoKHIpO3JldHVybiBmdW5jdGlvbigpe2lmKHQpe2lmKG4pdGhyb3cgRXJyb3IoIlhiIik7dD0hMTttPT09bCYmKG09bC5zbGljZSgpKTt2YXIgdj1tLmluZGV4T2Yocik7bS5zcGxpY2UodiwxKTtsPW51bGx9fX1mdW5jdGlvbiBmKHIpe2lmKHR5cGVvZiByIT09Im9iamVjdCJ8fHI9PT1udWxsKXZhciB0PSExO2Vsc2V7Zm9yKHQ9cjtPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkhPT1udWxsOyl0PU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTt0PU9iamVjdC5nZXRQcm90b3R5cGVPZihyKT09PXR9aWYoIXQpdGhyb3cgRXJyb3IoIlliYCIrdHlwZW9mIHIpOwppZih0eXBlb2Ygci50eXBlPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlpiIik7aWYobil0aHJvdyBFcnJvcigiJGIiKTt0cnl7bj0hMCxrPWgoayxyKX1maW5hbGx5e249ITF9dD1sPW07Zm9yKGxldCB2PTA7djx0Lmxlbmd0aDt2KyspKDAsdFt2XSkoKTtyZXR1cm4gcn1pZih0eXBlb2YgYj09PSJmdW5jdGlvbiImJnR5cGVvZiBjPT09ImZ1bmN0aW9uInx8dHlwZW9mIGM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiYWMiKTt0eXBlb2YgYj09PSJmdW5jdGlvbiImJnR5cGVvZiBjPT09InVuZGVmaW5lZCImJihjPWIsYj12b2lkIDApO2lmKHR5cGVvZiBjIT09InVuZGVmaW5lZCIpe2lmKHR5cGVvZiBjIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiYmNgIit0eXBlb2YgYyk7cmV0dXJuIGMoZ00pKGEsYil9aWYodHlwZW9mIGEhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJjY2AiK3R5cGVvZiBhKTt2YXIgaD1hLGs9CmIsbD1bXSxtPWwsbj0hMTtmKHt0eXBlOl8ubUF9KTt2YXIgcD17ZGlzcGF0Y2g6ZixzdWJzY3JpYmU6ZSxnZXRTdGF0ZTpkLHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHIpe2lmKHR5cGVvZiByIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiZGNgIit0eXBlb2Ygcik7aD1yO2Yoe3R5cGU6Xy5SYWF9KTtyZXR1cm4gcH0sW18ubkFdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShyKXtmdW5jdGlvbiB0KCl7ci5uZXh0JiZyLm5leHQoZCgpKX1pZih0eXBlb2YgciE9PSJvYmplY3QifHxyPT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJlY2AiK3R5cGVvZiByKTt0KCk7cmV0dXJue3Vuc3Vic2NyaWJlOmUodCl9fSxbXy5uQV0oKXtyZXR1cm4gdGhpc319fX07cmV0dXJuIHB9OwpfLmhNPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17Li4uYX07Zm9yKGxldCBlIG9mIE9iamVjdC5rZXlzKGIpKXtsZXQgZj1hW2VdLGg9YltlXTtpZihoPT09dm9pZCAwKWRlbGV0ZSBkW2VdO2Vsc2UgaWYoZj09PXZvaWQgMClkW2VdPWg7ZWxzZSBpZihBcnJheS5pc0FycmF5KGgpJiZBcnJheS5pc0FycmF5KGYpKWRbZV09Yz9bLi4uZiwuLi5oXTpoO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoaCkmJl8uQWEoaCkmJiFBcnJheS5pc0FycmF5KGYpJiZfLkFhKGYpKWRbZV09Xy5oTShmLGgsYyk7ZWxzZSBpZih0eXBlb2YgaD09PXR5cGVvZiBmKWRbZV09aDtlbHNlIHJldHVybiBiPW5ldyBfLlhqKCJBdHRlbXB0ZWQgdG8gbWVyZ2UgZmllbGRzIG9mIGRpZmZlcmluZyB0eXBlcy4iLHtuYW1lOiJEZWVwTWVyZ2VFcnJvciIsa2V5OmUsSGo6Zix1cGRhdGVWYWx1ZTpofSksXy5HcChiKSxhfXJldHVybiBkfTsKaU09ZnVuY3Rpb24oYSxiLGMsZCl7aWYoZD09PXZvaWQgMCl7bGV0IHtbY106ZSwuLi5mfT1hW2JdfHx7fTtyZXR1cm57Li4uYSxbYl06Zn19cmV0dXJuey4uLmEsW2JdOnsuLi5hW2JdLFtjXTpkfX19O2pNPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YVtiXXx8e30saD1mW2NdO2lmKCFoJiYhXy54KCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIGE7ZD1fLmhNKGh8fHt9LGQsZT09PSJSRVBFQVRFRF9GSUVMRFNfTUVSR0VfT1BUSU9OX0FQUEVORCIpO3JldHVybnsuLi5hLFtiXTp7Li4uZixbY106ZH19fTsKZWdhPWZ1bmN0aW9uKGE9e30sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRU5USVRZX0xPQURFRCI6cmV0dXJuIGIucGF5bG9hZC5yZWR1Y2UoKGMsZCk9Pnt2YXIgZT1kLm9wdGlvbnM/LnBlcnNpc3RlbmNlT3B0aW9uO2lmKGUmJmUhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9VTktOT1dOIiYmZSE9PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX0lOTUVNT1JZX0FORF9QRVJTSVNUIilyZXR1cm4gYztpZighZC5lbnRpdHlLZXkpcmV0dXJuIF8uR3AoRXJyb3IoImdjIikpLGM7aWYoZC50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1JFUExBQ0UiKXtpZighZC5wYXlsb2FkKXJldHVybiBkPW5ldyBfLlhqKCJSRVBMQUNFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpkLmVudGl0eUtleX0pLF8uR3AoZCksYzt2YXIgZj1fLmRNKGQucGF5bG9hZCk7cmV0dXJuIGlNKGMsZixkLmVudGl0eUtleSxkLnBheWxvYWRbZl0pfWlmKGQudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7ZD1kLmVudGl0eUtleTt0cnl7bGV0IGg9Xy5HSChkKS5lbnRpdHlUeXBlO2Y9aU0oYyxoLGQpO2JyZWFrIGF9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIEVycm9yKXtkPW5ldyBfLlhqKCJGYWlsZWQgdG8gZGVzZXJpYWxpemUgZW50aXR5IGtleSIse2VudGl0eUtleTpkLG9yaWdpbmFsTWVzc2FnZTpoLm1lc3NhZ2V9KTtfLkdwKGQpO2Y9YzticmVhayBhfXRocm93IGg7fWY9dm9pZCAwfXJldHVybiBmfWlmKGQudHlwZT09PSJFTlRJVFlfTVVUQVRJT05fVFlQRV9VUERBVEUiKXtpZighZC5wYXlsb2FkKXJldHVybiBkPW5ldyBfLlhqKCJVUERBVEUgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmQuZW50aXR5S2V5fSksXy5HcChkKSxjO2Y9Xy5kTShkLnBheWxvYWQpO3JldHVybiBqTShjLGYsZC5lbnRpdHlLZXksZC5wYXlsb2FkW2ZdLGQuZmllbGRNYXNrPy5tZXJnZU9wdGlvbnM/LnJlcGVhdGVkRmllbGRzTWVyZ2VPcHRpb24pfXJldHVybiBjfSwKYSk7Y2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBpTShhLGIucGF5bG9hZC5lbnRpdHlUeXBlLGIucGF5bG9hZC5rZXksYi5wYXlsb2FkLnhsKTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoYi5wYXlsb2FkKS5yZWR1Y2UoKGMsZCk9Pnt2YXIgZT1iLnBheWxvYWRbZF07cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoZixoKT0+aU0oZixkLGgsZVtoXSksYyl9LGEpO2Nhc2UgIlVQREFURV9FTlRJVFkiOnJldHVybiBqTShhLGIucGF5bG9hZC5lbnRpdHlUeXBlLGIucGF5bG9hZC5rZXksYi5wYXlsb2FkLnhsLGIucGF5bG9hZC5JeSk7ZGVmYXVsdDpyZXR1cm4gYX19OwpfLmxNPWZ1bmN0aW9uKCl7aWYoXy5rTSlyZXR1cm4gXy5rTTtpZih3aW5kb3cubG90dGllKXJldHVybiBfLmtNPVByb21pc2UucmVzb2x2ZSh3aW5kb3cubG90dGllKTt2YXIgYT1fLmh3KF8udygiTE9UVElFX1VSTCIpKTtyZXR1cm4gYT9fLmtNPW5ldyBQcm9taXNlKChiLGMpPT57dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ZC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e2IobG90dGllKX0pO2QuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGU9Pnt2YXIgZj0iTG90dGllIGxpYnJhcnkgZmFpbGVkIHRvIGxvYWQuIjtlP2UubWVzc2FnZSYmKGYrPWAgT3JpZ2luYWwgZGVzY3JpcHRpb246ICR7ZS5tZXNzYWdlfWAsXy5jdyhlLGYpKTplPUVycm9yKGYpO18uSXAoZSk7YyhlKX0pO2Quc2V0QXR0cmlidXRlKCJhc3luYyIsIiIpO18ub2IoZCxhKTtkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGQpfSk6UHJvbWlzZS5yZWplY3QoRXJyb3IoIkJkIikpfTsKZ2dhPWZ1bmN0aW9uKGE9ZmdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19CT1RUT01fU0hFRVRfT1BFTl9TVEFURSI6cmV0dXJuey4uLmEsamo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07aWdhPWZ1bmN0aW9uKGE9aGdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9DSU5FTUFUSUNfU0VUVElOR19TVEFURSI6cmV0dXJuey4uLmEsaXNBbGxvd2VkOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19OwprZ2E9ZnVuY3Rpb24oYT1qZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0VSUk9SX01FU1NBR0VfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSxlcnJvck1lc3NhZ2U6Yi5wYXlsb2FkfTtjYXNlICJTRVRfVElUTEVfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSx0aXRsZTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9QUklWQUNZX0NSRUFURV9QTEFZTElTVF9TVEFURSI6cmV0dXJuey4uLmEscHJpdmFjeTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9JU19ESVNBQkxFRF9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLGlzRGlzYWJsZWQ6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07bWdhPWZ1bmN0aW9uKGE9bGdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19EUkFXRVJfTEFZT1VUX09QRU5fU1RBVEUiOnJldHVybnsuLi5hLGpqOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19OwpvZ2E9ZnVuY3Rpb24oYT1uZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0ZVTExTQ1JFRU5fU1RBVEUiOnJldHVybnsuLi5hLGlzRnVsbHNjcmVlbjpiLnBheWxvYWR9O2Nhc2UgIlNFVF9OQVZJR0FUSU9OX0JVVFRPTiI6dmFyIGM9ey4uLmEubmF2aWdhdGlvbkJ1dHRvbnN9O2NbYi5wYXlsb2FkLnRhcmdldElkXT1iLnBheWxvYWQuYnV0dG9uO3JldHVybnsuLi5hLG5hdmlnYXRpb25CdXR0b25zOmN9O2Nhc2UgIlNFVF9UT1BfUEFORUxfSURfU1RBVEUiOnJldHVybnsuLi5hLHFzOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NFQ09OREFSWV9IRUFERVIiOnJldHVybiBjPXsuLi5hLnNlY29uZGFyeUhlYWRlcn0sY1tiLnBheWxvYWQucGFuZWxJZF09Yi5wYXlsb2FkLnNlY29uZGFyeUhlYWRlcix7Li4uYSxzZWNvbmRhcnlIZWFkZXI6Y307ZGVmYXVsdDpyZXR1cm4gYX19O18ub009ZnVuY3Rpb24oKXttTXx8KG1NPW5ldyBuTSk7cmV0dXJuIG1NfTsKcE09ZnVuY3Rpb24oYSxiKXtiPWI/LkFzfHxfLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtzd2l0Y2goYSl7Y2FzZSAiTElLRSI6YT1fLm9NKCkuZ2V0U3RhdGUoKTthPShhPV8ucUEoYS5lbnRpdGllcywibGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eSIsIkVoeHNhV3RsWDJKMWRIUnZibDloYm1sdFlYUnBiMjVmWlc1MGFYUjVJTGNFS0FFJTNEIikpJiZhLmFuaW1hdGlvbkxpZ2h0VXJsJiZhLmFuaW1hdGlvbkRhcmtVcmw/e0VjOnthbmltYXRpb25Db25maWc6e25hbWU6Yj8iY3VzdG9tX2FuaW1hdGVkX2xpa2VfaWNvbl9kYXJrIjoiY3VzdG9tX2FuaW1hdGVkX2xpa2VfaWNvbiIscGF0aDpiP2EuYW5pbWF0aW9uRGFya1VybDphLmFuaW1hdGlvbkxpZ2h0VXJsLGxvb3A6ITEsYXV0b3BsYXk6ITEscmVuZGVyZXJTZXR0aW5nczp7dmlld0JveE9ubHk6ITAsY2xhc3NOYW1lOiJjdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIn19fSx0b3RhbEZyYW1lczoxMjAsemg6ITB9OnZvaWQgMDsKaWYoYSlyZXR1cm4gYTtiPWBhbmltYXRlZF9saWtlX2ljb25fJHtiPyJkYXJrIjoibGlnaHQifV92NWA7cmV0dXJue0VjOnthbmltYXRpb25Db25maWc6e25hbWU6YixwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvYW5pbWF0ZWRfbGlrZV9pY29uLyR7Yn0uanNvbmAsbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImFuaW1hdGVkLWxpa2UtaWNvbiJ9fX0sdG90YWxGcmFtZXM6MTIwLHpoOiEwfTtjYXNlICJOT1RJRklDQVRJT05fQkVMTCI6cmV0dXJue0VjOnthbmltYXRpb25Db25maWc6e25hbWU6Yj8ibm90aWZpY2F0aW9uX2JlbGxfZGFyayI6Im5vdGlmaWNhdGlvbl9iZWxsX2xpZ2h0IixwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX2JlbGxfaWNvbl8ke2I/ImRhcmsiOiJsaWdodCJ9X3Y0Lmpzb25gLApsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e2NsYXNzTmFtZToiYW5pbWF0ZWQtc3Vic2NyaWJlLWljb24ifX19LHRvdGFsRnJhbWVzOjEyMCx6aDohMX19fTtwZ2E9ZnVuY3Rpb24oYSxiKXtfLmpmLnBiKGFzeW5jKCk9Pnt0cnl7YXdhaXQgXy5sTSgpO2xldCBjPWF3YWl0IChhd2FpdCBmZXRjaChhKSkuanNvbigpO3FNLnNldChhLGMpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2IoYyl9KX1jYXRjaChjKXtfLklwKGMpfX0pfTtxZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9e2FuaW1hdGlvbkNvbmZpZzp7fSxsaXN0ZW5lcnM6e319LGM9KCk9PnthKCEwKX07Yi5saXN0ZW5lcnMuckk9YztiLmxpc3RlbmVycy5lcnJvcj1jO2IubGlzdGVuZXJzLnNJPSgpPT57YSghMSl9O3JldHVybiBifTsKbk09Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgYT1mTSh7ZW5nYWdlbWVudFBhbmVsOm9nYSx0aTpnZ2EsZUk6aWdhLERwOm1nYSxtSTprZ2EsUUo6cmdhLEJLOnNnYSxDSzp0Z2EsLi4udWdhLC4uLnZnYX0pLGI9ZU0oY2dhKCkpO3RoaXMuc3RvcmU9Z00oYSx2b2lkIDAsYil9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdG9yZS5nZXRTdGF0ZSgpfWRpc3BhdGNoKGEpe3JldHVybiB0aGlzLnN0b3JlLmRpc3BhdGNoKGEpfXN1YnNjcmliZShhKXtyZXR1cm4gdGhpcy5zdG9yZS5zdWJzY3JpYmUoYSl9cmVwbGFjZVJlZHVjZXIoYSl7cmV0dXJuIHRoaXMuc3RvcmUucmVwbGFjZVJlZHVjZXIoYSl9W1N5bWJvbC5vYnNlcnZhYmxlXSgpe3JldHVybiB0aGlzLnN0b3JlW1N5bWJvbC5vYnNlcnZhYmxlXSgpfX07dmFyIHFNPW5ldyBNYXA7dmFyIHdnYT17SnA6bnVsbH07dmFyIHVnYT17VHI6ZnVuY3Rpb24oYT1fLiRMLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9TSEFSRURfQU5JTUFURURfVEhVTUJOQUlMX0VOQUJMRUQiOnJldHVybnsuLi5hLEVvOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9JTkxJTkVfUFJFVklFV19FTkFCTEVEIjpyZXR1cm57Li4uYSxscTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9TSEFSRURfQ1VSUkVOVF9QQUdFX1RZUEUiOnJldHVybnsuLi5hLHZwOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9DVVJSRU5UX1BBR0VfU1VCX1RZUEUiOnJldHVybnsuLi5hLHVwOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9QRVJTSVNURU5UX1BBTkVMX1ZJU0lCTEUiOnJldHVybnsuLi5hLHdyOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9JU19TRUFSQ0hCT1hfSElEREVOIjpyZXR1cm57Li4uYSxDcTpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fSxhMTF5OmZNKHtKcDpmdW5jdGlvbihhPXdnYS5KcCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfRVBIRU1FUkFMX0FDVElPTiI6cmV0dXJuIGIucGF5bG9hZDsKZGVmYXVsdDpyZXR1cm4gYX19fSksZW50aXRpZXM6ZnVuY3Rpb24oYT17fSxiKXtyZXR1cm4gZWdhKGEsYil9fTt2YXIgck09e1hsOiExLGZtOiExLGptOiExLHBsYXllclN0YXRlOi0xLGlzRnVsbHNjcmVlbjohMSxtajohMSxabDohMSxnbTohMSxUajoyLHhqOjB9O3ZhciB4Z2E9Zk0oe1hsOmZ1bmN0aW9uKGE9ck0uWGwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0RFU0tUT1BfU01BTExfV0lEVEgiOnJldHVybiBiLnBheWxvYWQuWGw7ZGVmYXVsdDpyZXR1cm4gYX19LGZtOmZ1bmN0aW9uKGE9ck0uZm0sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1NIT1JUU19BQ1RJVkUiOnJldHVybiBiLnBheWxvYWQuZm07ZGVmYXVsdDpyZXR1cm4gYX19LGptOmZ1bmN0aW9uKGE9ck0uam0sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1dBVENIX1dISUxFX01PREUiOnJldHVybiBiLnBheWxvYWQuam07ZGVmYXVsdDpyZXR1cm4gYX19LHBsYXllclN0YXRlOmZ1bmN0aW9uKGE9ck0ucGxheWVyU3RhdGUsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1BMQVlFUl9TVEFURSI6cmV0dXJuIGIucGF5bG9hZC5wbGF5ZXJTdGF0ZTtkZWZhdWx0OnJldHVybiBhfX0saXNGdWxsc2NyZWVuOmZ1bmN0aW9uKGE9ck0uaXNGdWxsc2NyZWVuLApiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfRlVMTFNDUkVFTiI6cmV0dXJuIGIucGF5bG9hZC5pc0Z1bGxzY3JlZW47ZGVmYXVsdDpyZXR1cm4gYX19LG1qOmZ1bmN0aW9uKGE9ck0ubWosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1NNQUxMX1NDUkVFTl9TUVVFRVpFQkFDSyI6cmV0dXJuIGIucGF5bG9hZC5tajtkZWZhdWx0OnJldHVybiBhfX0sZ206ZnVuY3Rpb24oYT1yTS5nbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU0hPUlRTX1BJUF9BQ1RJVkUiOnJldHVybiBiLnBheWxvYWQuZ207ZGVmYXVsdDpyZXR1cm4gYX19LFpsOmZ1bmN0aW9uKGE9ck0uWmwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1BMQVlCQUNLX1NUQVJURUQiOnJldHVybiBiLnBheWxvYWQuWmw7ZGVmYXVsdDpyZXR1cm4gYX19LFRqOmZ1bmN0aW9uKGE9ck0uVGosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1NIT1JUU19MQVlPVVQiOnJldHVybiBiLnBheWxvYWQuVGo7CmRlZmF1bHQ6cmV0dXJuIGF9fSx4ajpmdW5jdGlvbihhPXJNLnhqLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9NRVRBUEFORUxfU1RZTEUiOnJldHVybiBiLnBheWxvYWQueGo7ZGVmYXVsdDpyZXR1cm4gYX19fSk7dmFyIGZnYT17amo6ITF9O3ZhciBoZ2E9e2lzQWxsb3dlZDohMX07dmFyIGpnYT17ZXJyb3JNZXNzYWdlOiIiLHRpdGxlOiIiLHByaXZhY3k6IiIsaXNEaXNhYmxlZDohMH07dmFyIGxnYT17amo6ITF9O3ZhciBuZ2E9e2lzRnVsbHNjcmVlbjohMSxxczp2b2lkIDAsbmF2aWdhdGlvbkJ1dHRvbnM6e30sc2Vjb25kYXJ5SGVhZGVyOnt9fTt2YXIgeWdhPXtyZXNwb25zZTp2b2lkIDB9O3ZhciByZ2E9KGE9eWdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiTE9DQVRJT05fQ09MTEVDVElPTl9SRVNQT05TRV9DSEFOR0UiOnJldHVybnsuLi5hLHJlc3BvbnNlOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciB6Z2E9e25leHRDb21tYW5kOnZvaWQgMCxUeTohMSxidzp2b2lkIDAsUHg6ITF9O3ZhciBzZ2E9KGE9emdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiUkVQT1JUX0NIQU5ORUxfTkVYVF9ESVNBQkxFRF9DSEFOR0UiOnJldHVybnsuLi5hLFR5OmIucGF5bG9hZH07Y2FzZSAiUkVQT1JUX0NIQU5ORUxfTkVYVF9DT01NQU5EX0NIQU5HRSI6cmV0dXJuey4uLmEsbmV4dENvbW1hbmQ6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9NT0RBTF9GT09URVJfUkVOREVSRVJfU1VCTUlTU0lPTl9EQVRBX0NIQU5HRSI6cmV0dXJuey4uLmEsYnc6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0lNUEVSU09OQVRJT05fVkFMSURJVFlfQ0hBTkdFIjpyZXR1cm57Li4uYSxQeDpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTt2YXIgQWdhPXtVejp2b2lkIDAsVHo6dm9pZCAwfTt2YXIgdGdhPShhPUFnYSxiKT0+e3N3aXRjaChiLnR5cGUpe2Nhc2UgIlJFUE9SVF9GT1JNX01PREFMX1JFTkRFUkVSX0RBVEFfQ0hBTkdFIjpyZXR1cm57Li4uYSxVejpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9ERVRBSUxTX0ZPUk1fUkVOREVSRVJfREFUQV9DSEFOR0UiOnJldHVybnsuLi5hLFR6OmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciBCZ2E9e307dmFyIHNNPXtzaDohMSx3aDpfLngoIndlYl9wbGF5bGlzdF9wYW5lbF9kZWZhdWx0X2NvbGxhcHNlZCIpLHZnOltdLFppOiExfTt2YXIgQ2dhPWZNKHtzaDpmdW5jdGlvbihhPXNNLnNoLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9JU19MSVZFX0NIQVRfQ09MTEFQU0VEIjpyZXR1cm4gYi5wYXlsb2FkP2IucGF5bG9hZC5zaDphO2RlZmF1bHQ6cmV0dXJuIGF9fSx3aDpmdW5jdGlvbihhPXNNLndoLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9JU19QTEFZTElTVF9QQU5FTF9DT0xMQVBTRUQiOnJldHVybiBiLnBheWxvYWQud2g7ZGVmYXVsdDpyZXR1cm4gYX19LHZnOmZ1bmN0aW9uKGE9c00udmcsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfQUREX09QRU5fRU5HQUdFTUVOVF9QQU5FTCI6cmV0dXJuWy4uLmEsYi5wYXlsb2FkLnh6XTtjYXNlICJNQUlOX0FQUF9SRU1PVkVfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIjpyZXR1cm4gYS5sZW5ndGg9PT0wP2E6YS5maWx0ZXIoYz0+YyE9PWIucGF5bG9hZC5vSyk7ZGVmYXVsdDpyZXR1cm4gYX19LFppOmZ1bmN0aW9uKGE9CnNNLlppLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9IQVNfUExBWUxJU1QiOnJldHVybiBiLnBheWxvYWQuWmk7ZGVmYXVsdDpyZXR1cm4gYX19fSk7dmFyIHZnYT17eEw6ZnVuY3Rpb24oYT1CZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1RSQU5TQ1JJUFRJT05fU1RBVEUiOnJldHVybnsuLi5hLGpMOmIucGF5bG9hZH07Y2FzZSAiU0VUX09WRVJMQVlfU1RBVEUiOnJldHVybnsuLi5hLG92ZXJsYXk6Yi5wYXlsb2FkfTtjYXNlICJSRVNFVF9WT0lDRV9TRUFSQ0hfU1RBVEUiOnJldHVybnt9O2RlZmF1bHQ6cmV0dXJuIGF9fSxzaG9ydHM6eGdhLEFkOkNnYX07dmFyIG1NPXZvaWQgMDttTT1uZXcgbk07Xy50TT1fLkwoYT0+e3ZhciB7YW5pbWF0ZWRJY29uVHlwZTpiLGFjdGl2ZTpjLEhjOmQsYW5pbWF0aW9uUmVmOmUsSEE6ZixzaXplOmh9PV8uREMoYSx7SGM6dm9pZCAwLGFuaW1hdGlvblJlZjp7fSxzaXplOjI0fSksW2ssbF09Xy5KKHZvaWQgMCx2b2lkIDAsIlR2Z21DZSIpLG09KCk9PnBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZy5uYW1lPz8iIixuPSgpPT57aWYocE0oYigpLGQ/LigpKSl7dmFyIHtwYXRoOkF9PXBNKGIoKSxkPy4oKSkuRWMuYW5pbWF0aW9uQ29uZmlnO3JldHVybiBxTS5nZXQoQSl8fGsoKX19LFtwLHJdPV8uSighMSx2b2lkIDAsImpmMkR5YiIpLHQ9cWdhKHIpLHY9KCk9PnBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZz8ucmVuZGVyZXJTZXR0aW5ncz8uY2xhc3NOYW1lPz8iIix6PXZvaWQgMCxFPXZvaWQgMDtfLm5FKCgpPT57dmFyIEE9cE0oYigpLGQ/LigpKSxGPW0oKSxDPW4oKSxHPXAoKSxEPWMoKTtpZihBJiYoRSE9PUYmJihFPQpGLHo9RCxGPWUoKSx0LmFuaW1hdGlvbkNvbmZpZz1BLkVjLmFuaW1hdGlvbkNvbmZpZyx0LmFuaW1hdGlvblJlZj1GLEMmJih0LmFuaW1hdGlvbkNvbmZpZy5hbmltYXRpb25EYXRhPUMsdC5hbmltYXRpb25Db25maWcucGF0aD12b2lkIDApLEY9QS5FYy5hbmltYXRpb25Db25maWcucGF0aCwhcU0uZ2V0KEYpJiZBLnpoJiZGJiZwZ2EoRixsKSksIShHfHxBLnpoJiYhQykpKXtpZihDPSFlKCkubG90dGllRWwpRD8oRz1BLnRvdGFsRnJhbWVzLHQuYW5pbWF0aW9uQ29uZmlnLmluaXRpYWxTZWdtZW50PVtHLTEsR10pOnQuYW5pbWF0aW9uQ29uZmlnLmluaXRpYWxTZWdtZW50PXZvaWQgMDt6PT09RHx8Q3x8KEM9ZSgpLEQ/Qy5sb3R0aWVFbD8ucGxheVNlZ21lbnRzKFswLEEudG90YWxGcmFtZXNdLCEwKTpDLmxvdHRpZUVsPy5wbGF5U2VnbWVudHMoWzAsMV0sITApKTt6PUR9fSwiWEIxR1NiIik7cmV0dXJuIF8uSygiYW5pbWF0ZWQtaWNvbiIse2NsYXNzOiJ5dEFuaW1hdGVkSWNvbkhvc3QiLAoiZGF0YS1zaXplIjooKT0+aCgpfSxfLksoXy5PLHtBOigpPT4hKCFwTShiKCksZD8uKCkpPy5FYy5hbmltYXRpb25Db25maWcucGF0aHx8cE0oYigpLGQ/LigpKT8uemgmJiFuKCl8fHAoKSksdGhlbjooKT0+Xy5LKF8uY00se2RhdGE6dCxhbmltYXRpb25OYW1lOm0sY2xhc3NOYW1lOnYsYW5pbWF0aW9uUmVmOmV9KSxXOmZ9KSl9LCJNYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnVNPWZ1bmN0aW9uKGEpe3JldHVybiBfLnNFKCgpPT4oe3ZhbHVlOmF9KSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeU0sek0sRGdhLEFNLEJNLENNLERNLEVNLEdNLEZnYSxJTSxHZ2EsTE0sSGdhLE1NLFJNLFNNLFRNLGJOLEtnYSxjTixlTixMZ2EsT2dhLE5nYSxNZ2EsaE4sUGdhLFJnYSxpTixqTixrTixTZ2EsVGdhLGxOLFVnYSxtTixuTixwTixWZ2EsV2dhLFhnYSxxTixhaGEsJGdhLHJOLFpnYSxZZ2EsZGhhLGNoYSxzTixiaGEsZmhhLHZOLFgsQU4sQ04sZ2hhLGloYSxoaGEsamhhLE1OLGxoYSxtaGEsUU4sbmhhLG9oYSxUTixxaGEsYU8scmhhLHNoYSx0aGEsdWhhLHZoYSx3aGEseGhhLEVnYSxGTSxITSxiTyx5aGEsT00sUU0sSWdhLEpnYSx6aGEsQWhhO18udk09ZnVuY3Rpb24oYSl7dmFyIGI9Xy4kdChhKTtyZXR1cm57W1N5bWJvbC5kaXNwb3NlXSgpe18uJHQoYil9fX07Xy54TT1mdW5jdGlvbigpe2lmKF8uWHooKSl7dmFyIGE9Xy5HaChgJHtfLlZqKCl9Ojp5dC1tYXctcGxheWVyYCk7aWYoYSlyZXR1cm4gbmV3IF8ud00oYSl9fTsKeU09ZnVuY3Rpb24oYSxiKXtmb3IoO2EubGVuZ3RoPmI7KWEucG9wKCl9O3pNPWZ1bmN0aW9uKGEpe2E9QXJyYXkoYSk7eU0oYSwwKTtyZXR1cm4gYX07RGdhPWZ1bmN0aW9uKGEsYixjLGQpeyhkW2JdfHxkW18uUkEuZGVmYXVsdF0pKGEsYixjKX07QU09ZnVuY3Rpb24oYSxiLGMpe2I9bmV3IEVnYShiLGMpO3JldHVybiBhLl9faW5jcmVtZW50YWxET01EYXRhPWJ9OwpCTT1mdW5jdGlvbihhLGIpe2lmKGEuX19pbmNyZW1lbnRhbERPTURhdGEpcmV0dXJuIGEuX19pbmNyZW1lbnRhbERPTURhdGE7dmFyIGM9YS5ub2RlVHlwZT09PTE/YS5sb2NhbE5hbWU6YS5ub2RlTmFtZSxkPWEubm9kZVR5cGU9PT0xP2EuZ2V0QXR0cmlidXRlKCJrZXkiKTpudWxsO2I9QU0oYSxjLGEubm9kZVR5cGU9PT0xP2R8fGI6bnVsbCk7aWYoYS5ub2RlVHlwZT09PTEmJihjPWEuYXR0cmlidXRlcyxkPWMubGVuZ3RoKSl7YT1iLmp8fChiLmo9ek0oZCoyKSk7Zm9yKGxldCBlPTAsZj0wO2U8ZDtlKz0xLGYrPTIpe2xldCBoPWNbZV0saz1oLnZhbHVlO2FbZl09aC5uYW1lO2FbZisxXT1rfX1yZXR1cm4gYn07Q009ZnVuY3Rpb24oKXtfLllBPV8uVkEoKX07CkRNPWZ1bmN0aW9uKGEsYil7Q00oKTt2YXIgYzthOntpZihjPV8uWUEpe2Rve2lmKGM9PT1udWxsKWJyZWFrO3ZhciBkPWMsZT1hLGY9YjtsZXQgaD1CTShkLGYpO2lmKCgwLF8uYkIpKGQsZSxoLm8sZixoLmtleSkpYnJlYWsgYX13aGlsZShiJiYoYz1jLm5leHRTaWJsaW5nKSl9Yz1udWxsfWN8fChhPT09IiN0ZXh0Ij8oYT1fLlpBLmNyZWF0ZVRleHROb2RlKCIiKSxBTShhLCIjdGV4dCIsbnVsbCkpOihjPV8uWkEsZD1fLlVBLHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9jPW5ldyBhOmM9KGQ9YT09PSJzdmciPyJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6YT09PSJtYXRoIj8iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6ZD09bnVsbHx8Qk0oZCkubz09PSJmb3JlaWduT2JqZWN0Ij9udWxsOmQubmFtZXNwYWNlVVJJKT9jLmNyZWF0ZUVsZW1lbnROUyhkLGEpOmMuY3JlYXRlRWxlbWVudChhKSxBTShjLGEsYiksYT1jKSxfLldBLmNyZWF0ZWQucHVzaChhKSxjPQphKTthPWM7aWYoYSE9PV8uWUEpe2lmKF8uJEEuaW5kZXhPZihhKT49MClmb3IoYj1fLlVBLGM9YS5uZXh0U2libGluZyxkPV8uWUE7ZCE9PW51bGwmJmQhPT1hOyllPWQubmV4dFNpYmxpbmcsYi5pbnNlcnRCZWZvcmUoZCxjKSxkPWU7ZWxzZSBfLlVBLmluc2VydEJlZm9yZShhLF8uWUEpO18uWUE9YX19O0VNPWZ1bmN0aW9uKGEsYil7RE0oYSxiKTtfLlVBPV8uWUE7Xy5ZQT1udWxsO3JldHVybiBfLlVBfTtHTT1mdW5jdGlvbihhLGIsYyxkKXtGTS5wdXNoKERnYSk7Rk0ucHVzaChhKTtGTS5wdXNoKGIpO0ZNLnB1c2goYyk7Rk0ucHVzaChkKX07CkZnYT1mdW5jdGlvbihhPV8uSEMpe3ZhciBiPV8uVUEsYz1CTShiKSxkPV8uYUI7Yz1jLmp8fChjLmo9ek0oZC5sZW5ndGgpKTtmb3IodmFyIGU9IWMubGVuZ3RofHwhMSxmPTA7ZjxkLmxlbmd0aDtmKz0yKXt2YXIgaD1kW2ZdO2lmKGUpY1tmXT1oO2Vsc2UgaWYoY1tmXSE9PWgpYnJlYWs7bGV0IGw9ZFtmKzFdO2lmKGV8fGNbZisxXSE9PWwpY1tmKzFdPWwsR00oYixoLGwsYSl9aWYoZjxkLmxlbmd0aHx8ZjxjLmxlbmd0aCl7Zm9yKGY9ZT1mO2Y8Yy5sZW5ndGg7Zis9MilfLkpDW2NbZl1dPWNbZisxXTtmb3IoZj1lO2Y8ZC5sZW5ndGg7Zis9MillPWRbZl0saD1kW2YrMV0sXy5KQ1tlXSE9PWgmJkdNKGIsZSxoLGEpLGNbZl09ZSxjW2YrMV09aCxkZWxldGUgXy5KQ1tlXTt5TShjLGQubGVuZ3RoKTtmb3IodmFyIGsgaW4gXy5KQylHTShiLGssdm9pZCAwLGEpLGRlbGV0ZSBfLkpDW2tdfWE9SE07SE09Yj1GTS5sZW5ndGg7Zm9yKGs9YTtrPGI7ays9NSkoMCxGTVtrXSkoRk1baysxXSwKRk1baysyXSxGTVtrKzNdLEZNW2srNF0pO0hNPWE7eU0oRk0sYSk7eU0oZCwwKX07SU09ZnVuY3Rpb24oYSwuLi5iKXtETSgiI3RleHQiLG51bGwpO2I9Xy5ZQTt2YXIgYz1CTShiKTtpZihjLnRleHQhPT1hKXtjPWMudGV4dD1hO2ZvcihsZXQgZD0xO2Q8YXJndW1lbnRzLmxlbmd0aDtkKz0xKWM9KDAsYXJndW1lbnRzW2RdKShjKTtiLmRhdGEhPT1jJiYoYi5kYXRhPWMpfX07CkdnYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT1bXTthLl9kaXNwb3NlRWZmZWN0cz1fLnV2KCgpPT57Xy50digoKT0+e3ZhciBmPWMoKTtpZihmPT09bnVsbHx8Zj09PXZvaWQgMClmPSIiO2lmKF8ucUIoZil8fGY9PT1udWxsKWQ/PyhkPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSksZC5wYXJlbnROb2RlIT09YSYmKGQuX2lzU2lnbmFsVGV4dE5vZGU9ITAsYS5pbnNlcnRCZWZvcmUoZCxiKSksZC50ZXh0Q29udGVudD1TdHJpbmcoZik7ZWxzZSBpZihfLm9CKGYpKXtsZXQgaD1lLmxlbmd0aD4wP2VbZS5sZW5ndGgtMV0ubmV4dFNpYmxpbmc6Yjtmb3IobGV0IGsgb2YgZSlhLnJlbW92ZUNoaWxkKGspO2Y9Xy5wQihmKTtlPUFycmF5LmZyb20oZi5jaGlsZE5vZGVzKTtmb3IobGV0IGsgb2YgZSlhLmluc2VydEJlZm9yZShrLGgpfWVsc2UgdGhyb3cgRXJyb3IoIkFiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikrImAiK3R5cGVvZiBmKTt9LCJWdkRnQyIpfSxfLkt1LnJpfHwhIV8uWnQpfTsKXy5LTT1mdW5jdGlvbihhKXtpZighXy5KTSlyZXR1cm4hMTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMoXy5KTSkpaWYoYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4hMDtyZXR1cm4hMX07TE09ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGgpe2lmKGEubGVuZ3RoPT09MSlyZXR1cm4gYVswXTt2YXIgYj17fTtfLndGKGIsXy5TRCx7Y29tbWFuZHM6YX0pO3JldHVybiBifX07SGdhPWZ1bmN0aW9uKGEpe3ZhciBiPUFycmF5LmlzQXJyYXkoYS5pdGVtcyk/YS5pdGVtczpBcnJheS5mcm9tKGEuaXRlbXMpO3JldHVybiBfLmZHKGIsYS5jaGlsZHJlbil9O01NPWZ1bmN0aW9uKGEpe2E9Xy5uSihhKTthLmxlbmd0aD4wJiZhWzBdLmZvY3VzKCl9O18uTk09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWU9PnthLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixkKTtyZXR1cm4gYy5jYWxsKGEsZSl9O2EuYWRkRXZlbnRMaXN0ZW5lcihiLGQsdm9pZCAwKX07Cl8uUE09ZnVuY3Rpb24oYSl7T018fChPTT1fLkNkKCJBIikpO09NLmhyZWYhPT1hJiZfLkx5KE9NLGEpO3JldHVybiBPTX07Uk09ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoUU1bYV0pcmV0dXJuIFFNW2FdO3ZhciBiPV8uUE0oYSkucGF0aG5hbWU7UU1bYV09Yi5zdGFydHNXaXRoKCIvIik/YjoiLyIrYjtyZXR1cm4gUU1bYV19OwpTTT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PSIvIj8iaG9tZSI6YS5zdGFydHNXaXRoKCIvcmVzdWx0cyIpPyJzZWFyY2giOmEuc3RhcnRzV2l0aCgiL3dhdGNoIik/IndhdGNoIjphLnN0YXJ0c1dpdGgoIi9zaG9ydHMiKT8ic2hvcnRzIjphLnN0YXJ0c1dpdGgoIi9oYXNodGFnIik/Imhhc2h0YWciOmEuc3RhcnRzV2l0aCgiL2NyZWF0ZV9jaGFubmVsIik/ImNyZWF0ZV9jaGFubmVsIjphLnN0YXJ0c1dpdGgoIi9wb3N0LyIpPyJwb3N0IjphLnN0YXJ0c1dpdGgoIi9AIil8fGEuc3RhcnRzV2l0aCgiL3VzZXIvIil8fGEuc3RhcnRzV2l0aCgiL2NoYW5uZWwvIik/ImNoYW5uZWwiOmEuc3RhcnRzV2l0aCgiL2V4cGVyaW1lbnRzIik/ImV4cGVyaW1lbnRzIjphLnN0YXJ0c1dpdGgoIi9zcG9uc29yX2NoYW5uZWwiKT8ic3BvbnNvcnNoaXAiOmEuc3RhcnRzV2l0aCgiL3NlbGVjdF9zaXRlIik/InNldHRpbmdzIjphLnN0YXJ0c1dpdGgoIi9sb2NhdGUiKT8ibG9jYXRlIjphLnN0YXJ0c1dpdGgoIi9yZWRlZW0iKT8KInJlZGVlbSI6YS5zdGFydHNXaXRoKCIvbXVzaWNwcmVtaXVtIil8fGEuc3RhcnRzV2l0aCgiL3ByZW1pdW0iKXx8YS5zdGFydHNXaXRoKCIvcmVkIik/InByZW1pdW0iOmEuc3RhcnRzV2l0aCgiL3BhaWRfbWVtYmVyc2hpcHMiKT8icGFpZF9tZW1iZXJzaGlwcyI6YS5zdGFydHNXaXRoKCIvb29wcyIpPyJvb3BzIjphLnN0YXJ0c1dpdGgoIi9jbGlwIik/ImNsaXAiOl8uWEQ/LnJlc3BvbnNlPy5wYWdlPT09IjQwNCI/IjQwNCI6YS5zdGFydHNXaXRoKCIvZmVlZC9oaXN0b3J5Iik/Imhpc3RvcnkiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvbGlicmFyeSIpPyJsaWJyYXJ5IjphLnN0YXJ0c1dpdGgoIi9mZWVkL3N1YnNjcmlwdGlvbnMiKT8ic3Vic2NyaXB0aW9ucyI6YS5zdGFydHNXaXRoKCIvZmVlZC90cmVuZGluZyIpPyJ0cmVuZGluZyI6YS5zdGFydHNXaXRoKCIvZmVlZC9uZXdzX2Rlc3RpbmF0aW9uIik/Im5ld3MiOmEuc3RhcnRzV2l0aCgiL3BsYXlsaXN0Iik/InBsYXlsaXN0IjphLnN0YXJ0c1dpdGgoIi9taW5vcl9tb21lbnQiKT8KIm1pbm9yX21vbWVudCI6YS5zdGFydHNXaXRoKCIvcGxheWFibGUvIil8fGEubWF0Y2goIl4vcGxheWFibGVzLyg/IXNhdmVkKS4iKT8ibWluaV9hcHAiOmEuc3RhcnRzV2l0aCgiL3BsYXlhYmxlcyIpPyJwbGF5YWJsZXMiOmEuc3RhcnRzV2l0aCgiL2NyZWF0ZS9saXZlL2pvaW4iKT8ib3Blbl9pbl9hcHAiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvZXhwbG9yZSIpPyJleHBsb3JlIjoiYnJvd3NlIn07ClRNPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRD8ucmVzcG9uc2UsYj1hPy5lbmRwb2ludDtpZighYilyZXR1cm4gYT8ucGFnZT09PSJ3YXRjaCI/IndhdGNoIjpTTShSTSh3aW5kb3cubG9jYXRpb24uaHJlZikpO2E9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ud2ViUGFnZVR5cGU7dmFyIGM9ITE7aWYoYSYmIUlnYS5pbmNsdWRlcyhhKSlzd2l0Y2goYSl7Y2FzZSAiV0VCX1BBR0VfVFlQRV9TRUFSQ0giOnJldHVybiJzZWFyY2giO2Nhc2UgIldFQl9QQUdFX1RZUEVfU0hPUlRTIjpyZXR1cm4ic2hvcnRzIjtjYXNlICJXRUJfUEFHRV9UWVBFX0NIQU5ORUwiOnJldHVybiJjaGFubmVsIjtjYXNlICJXRUJfUEFHRV9UWVBFX1NFVFRJTkdTIjpyZXR1cm4ic2V0dGluZ3MiO2Nhc2UgIldFQl9QQUdFX1RZUEVfUExBWUxJU1QiOnJldHVybiJwbGF5bGlzdCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9PUEVOX0lOX0FQUCI6cmV0dXJuIm9wZW5faW5fYXBwIjtjYXNlICJXRUJfUEFHRV9UWVBFX01JTklfQVBQIjpyZXR1cm4ibWluaV9hcHAiOwpjYXNlICJXRUJfUEFHRV9UWVBFX1dBVENIIjpyZXR1cm4gXy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsJiZSTShfLkIoYi5jb21tYW5kTWV0YWRhdGEsXy56dykudXJsKS5zdGFydHNXaXRoKCIvY2xpcCIpPyJjbGlwIjoid2F0Y2giO2Nhc2UgIldFQl9QQUdFX1RZUEVfQlJPV1NFIjpyZXR1cm4oYj1fLkIoYixfLmNFKT8uYnJvd3NlSWQpP0pnYVtiXXx8ImJyb3dzZSI6ImJyb3dzZSI7ZGVmYXVsdDpjPSEwfWlmKF8uQihiLF8uRWVhKXx8Xy5CKGIsXy5EZWEpKXJldHVybiJzcG9uc29yc2hpcCI7dmFyIGQ9Uk0od2luZG93LmxvY2F0aW9uLmhyZWYpO2lmKGQuc3RhcnRzV2l0aCgiL2V4cGVyaW1lbnRzIikpcmV0dXJuImV4cGVyaW1lbnRzIjtpZihkLnN0YXJ0c1dpdGgoIi9jcmVhdGVfY2hhbm5lbCIpKXJldHVybiJjcmVhdGVfY2hhbm5lbCI7aWYoXy5CKGIsXy5WRCkmJmQuc3RhcnRzV2l0aCgiL3Nob3J0cyIpKXJldHVybiJzaG9ydHMiO2lmKF8uQihiLF8uVkQpJiYKZC5zdGFydHNXaXRoKCIvd2F0Y2giKSlyZXR1cm4id2F0Y2giO2MmJihiPW5ldyBfLlhqKCJVbnN1cHBvcnRlZCBtV2ViIHBhZ2UgdHlwZSIse3BhdGhuYW1lOmQsd2ViUGFnZVR5cGU6YX0pLF8uR3AoYikpO3JldHVybiJicm93c2UifTtfLlVNPWZ1bmN0aW9uKGEpe2E/LmhyZWY/YT0oYT1hLmhyZWYpP1NNKFJNKGE/YTp3aW5kb3cubG9jYXRpb24uaHJlZikpOlRNKCk6YT1hPy5wYWdlVHlwZTtyZXR1cm4gYXx8VE0oKX07Xy5WTT1mdW5jdGlvbihhKXtyZXR1cm4gXy5VTShhKT09PSJ3YXRjaCJ9O18uV009ZnVuY3Rpb24oKXtyZXR1cm4gXy5VTSgpPT09InNob3J0cyJ9O18uWE09ZnVuY3Rpb24oYSxiKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoYSx7ZGV0YWlsOmJ9KSl9OwpfLlpNPWZ1bmN0aW9uKCl7Xy5ZTSYmXy5IcChuZXcgXy5YaihgVW5leHBlY3RlZCBjYWxsIHRvIHJlcXVlc3RCYWNrTmF2aWdhdGlvbiwgZnJhZ21lbnQ6ICR7d2luZG93LmxvY2F0aW9uLmhhc2h9YCkpO18uRko9bmV3IF8uQmYoYT0+e2Z1bmN0aW9uIGIoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKTthKCl9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsYil9KTtfLk5NKHdpbmRvdywicG9wc3RhdGUiLCgpPT57c2V0VGltZW91dCgoKT0+e30pfSk7aGlzdG9yeS5iYWNrKCk7cmV0dXJuIF8uRkp9OwpfLiRNPWZ1bmN0aW9uKGEsYj0hMSl7aWYoXy5ZTSl7dmFyIGM9d2luZG93LmxvY2F0aW9uO2E9Xy5kYihgIyR7YX1gKTthIT09dm9pZCAwJiZjLnJlcGxhY2UoYSl9ZWxzZSB3aW5kb3cubG9jYXRpb24uaGFzaD1hO2J8fF8ueCgibXdlYl9lbmFibGVfa2V0b19jb250ZW50Iil8fF8uWE0oInVwZGF0ZXVpIil9O18uYU49ZnVuY3Rpb24oYSl7aWYoYSYmYS5zaW1wbGVUZXh0KXJldHVybiBhLnNpbXBsZVRleHQ7dmFyIGI9IiI7aWYoYSYmYS5ydW5zKWZvcihsZXQgYz0wO2M8YS5ydW5zLmxlbmd0aDtjKyspYS5ydW5zW2NdLnRleHQmJihiKz1hLnJ1bnNbY10udGV4dCk7cmV0dXJuIGJ9O2JOPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtBKHt0eXBlOiJTRVRfSVNfQk9UVE9NX1NIRUVUX09QRU5fU1RBVEUiLHBheWxvYWQ6YX0pfTsKS2dhPWZ1bmN0aW9uKGEpe2lmKGEmJmEuZm9jdXMpaWYoYSE9PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpYS5mb2N1cygpO2Vsc2UgcmV0dXJuIGNOKGFzeW5jKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtyZXR1cm4gY04oKCk9PnthLmZvY3VzKCl9KX0pfTtfLmROPWZ1bmN0aW9uKGEpe3ZhciBiPTU7c2V0VGltZW91dChhc3luYygpPT57Zm9yKHZhciBjPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1jfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keSkmJmI+PTAmJmE7KXthd2FpdCBLZ2EoYSk7aWYoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWEpYnJlYWs7YT1hLnBhcmVudEVsZW1lbnQ7LS1ifX0sMTUpfTtjTj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2IoYSgpKX0pfSl9OwplTj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYS5jaGlsZHJlbj09PSJmdW5jdGlvbiIpcmV0dXJuIGEuY2hpbGRyZW4oKSxudWxsO2ZvcihsZXQgYiBvZiBhLmNoaWxkcmVuKWIoKTtyZXR1cm4gbnVsbH07Xy5mTj1mdW5jdGlvbihhLGIpe18uUnUoKCk9PkxnYShhLGIpKX07TGdhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bnVsbDtfLmd2Kys7dHJ5e2M9KDAsXy5JQykoYSwoKT0+e18uZ04oYil9KSxfLklBKCExKX1jYXRjaChkKXt0aHJvdyBfLklBKCEwKSxkO31yZXR1cm4gYz09PW51bGw/YTpjfTsKXy5nTj1mdW5jdGlvbihhKXtpZihhIT09dm9pZCAwJiZhIT09bnVsbClpZihhIGluc3RhbmNlb2YgXy5kQylmb3IodmFyIGI9Xy5VQTtfLlZBKCkhPW51bGwmJl8ubkMgaW4gXy5WQSgpJiZiLmNvbnRhaW5zKF8uVkEoKSk7KUNNKCk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYyBvZiBhKV8uZ04oYyk7ZWxzZSBpZihhIGluc3RhbmNlb2YgXy5TYSlJTShhLnRvU3RyaW5nKCkpO2Vsc2UgaWYoXy5pQihhKSl7aWYoXy5WQSgpIT09YSl0aHJvdyBFcnJvcigiRGJgIithLnRhZ05hbWUrImAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKTtDTSgpfWVsc2UgaWYoYz1hLGMhPW51bGwmJmMuR2k9PT1fLm1CfHxjIGluc3RhbmNlb2YgXy5mYnx8Xy5MQSgpKGMpKXtiPV8ucEIoYSk7Yj1BcnJheS5mcm9tKGIuY2hpbGROb2Rlcyk7Zm9yKHZhciBkIG9mIGIpXy5VQS5hcHBlbmRDaGlsZChkKSxDTSgpfWVsc2UgaWYoXy5YYShhKSYmKGE9YS50b1N0cmluZygpKSxkPXR5cGVvZiBhLApkPT09ImJvb2xlYW4ifHxkPT09Im51bWJlciJ8fGQ9PT0ic3RyaW5nIilJTShhKTtlbHNlIGlmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIiliPV8uVUEsKGQ9Xy5WQSgpKSYmKGQuX2lzU2lnbmFsVGV4dE5vZGV8fGQuX2lzU2FmZU9yU2FuaXRpemVkSHRtbE5vZGUpfHxHZ2EoYixkLGEpLENNKCk7ZWxzZSBpZihhLnR5cGU9PT1IZ2EpXy5nTihhLnR5cGUoT2JqZWN0LmFzc2lnbih7fSxhLnByb3BzLHtjaGlsZHJlbjphLmNoaWxkcmVuWzBdfSkpKTtlbHNle2lmKHR5cGVvZiBhLnR5cGU9PT0ic3RyaW5nIil7YTp7YS5jZHx8RU0oYS50eXBlLGEucHJvcHMuaWRvbUtleSk7Yz1fLlVBO2ZvcihiIGluIGEucHJvcHMpaWYoYS5wcm9wc1tiXSE9PV8uS2JhKXtkPWEucHJvcHNbYl07bGV0IGU9Xy5hQjtlLnB1c2goYik7ZS5wdXNoKGQpfUZnYShfLkt1LmF0dHJpYnV0ZXMpO18uakMoYyxhLnByb3BzLCEwKTtpZigoYS5wcm9wcy5za2lwfHxhLnByb3BzLnNraXBjaGlsZHJlbikmJl8uVUEuaGFzQ2hpbGROb2RlcygpKV8uWUE9Cl8uVUEubGFzdENoaWxkO2Vsc2V7aWYoYS50eXBlPT09InN0eWxlIiYmXy5SQihhLmNoaWxkcmVuKT09PW51bGwpe18uWUE9Xy5VQS5sYXN0Q2hpbGQ7Yj12b2lkIDA7YnJlYWsgYX1fLmdOKGEuY2hpbGRyZW4pfV8uWEEoKTtfLllBPV8uVUE7Xy5VQT1fLlVBLnBhcmVudE5vZGU7YS5jZCYmKGEuY2Q9ITEpO18uQUIoYyxhLnByb3BzKTtiPWN9cmV0dXJuIGJ9aWYoYS50eXBlPT09Xy5JQilfLmdOKGEuY2hpbGRyZW4pO2Vsc2UgaWYoIU1nYShhKSl7Yj1hO3RyeXtOZ2EoYil9Y2F0Y2goZSl7Xy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoZSxiLnR5cGU/LlpjKSl9Yi5jZCYmKF8uWEEoKSxfLllBPV8uVUEsXy5VQT1fLlVBLnBhcmVudE5vZGUsYi5jZD0hMSl9fX07T2dhPWZ1bmN0aW9uKGEsYil7dmFyIGM7YS5wcm90b3R5cGU/Lm9jPT09dm9pZCAwP2M9bmV3IF8ubUMoYixhKTpjPW5ldyBhKGIpO2Muaj1hO2Mud289e25leHRTdGF0ZTpjLnN0YXRlLE14OiExfTtyZXR1cm4gY307Ck5nYT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGUsYz1iLlpjO2lmKGI9PT1lTilhLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4sYihhLnByb3BzKTtlbHNle2EuY2hpbGRyZW4ubGVuZ3RoPjAmJihhLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4pO3ZhciBkOyhkPWEucHJvcHMpLmlkb21LZXl8fChkLmlkb21LZXk9Yik7dmFyIGU9ITE7aWYoYyl7dmFyIGY9RU0oYyxhLnByb3BzLmlkb21LZXkpO2EuY2Q9ITA7dmFyIGg9Zi5fX2luc3RhbmNlfWh8fChlPSEwLGg9T2dhKGIsYS5wcm9wcyksaC5wcm9wcz1udWxsLGYmJihmLl9faW5zdGFuY2U9aCxoLmVsPWYpKTsoe25leHRTdGF0ZTpjfT1oLndvPz97bmV4dFN0YXRlOmguc3RhdGUsTXg6ITF9KTtoLndvPXZvaWQgMDtiLmx3JiYoYz1iLmx3KGEucHJvcHMsYykpO3ZhciBrPWgucHJvcHMsbD1oLnN0YXRlO2gucHJvcHM9YS5wcm9wcztoLnN0YXRlPWM7Yz0oKT0+e3ZhciBtPWg7Xy5idy5TbyhtKTt2YXIgbj1tLm9jKG0ucHJvcHMpOwpuPyhtLnByb3BzLmlkb21LZXkmJihuLnByb3BzLmlkb21LZXk9bS5wcm9wcy5pZG9tS2V5KSxtPW4pOm09dm9pZCAwO2lmKG49bSluLmNkPWEuY2QsbT1fLmdOKG4pLGEuY2Q9bi5jZCxiLlpjfHwobT8oYi5aYz1tLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxtLl9faW5zdGFuY2U9aCxoLmVsPW0pOmguWmY/Lmxlbmd0aCYmXy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoRXJyb3IoIkNkIikpKSk7ZT8oaC5KaSgpLF8uYncuSmkoaCkpOihoLktpKGssbCksXy5idy5LaShoLGssYS5wcm9wcykpO2guR2YoKTtfLmJ3LkdmKGgpfTsoZD1oLm8pP18uR0EoZCxjLGgucHJvcHMuZGVidWdJbnN0YW5jZSk6YygpfX07Ck1nYT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGU7aWYoYi5wcm90b3R5cGU/Lm9jIT09dm9pZCAwfHxiPT09ZU58fGIuY29tcG9uZW50VHlwZT09PV8uS3YpcmV0dXJuITE7YS5wcm9wcy5jaGlsZHJlbj1hLmNoaWxkcmVuLmxlbmd0aD4xP2EuY2hpbGRyZW46YS5jaGlsZHJlblswXTt2YXIgYz1hLnByb3BzLmlkb21LZXk/P2EudHlwZTtpZihfLlZBKCkmJl8uVkEoKVtfLldCXT8ua2V5PT09Yyl7Yj1fLlZBKCk7Yz1iW18uV0JdO2lmKCFjKXRocm93IEVycm9yKCJDYmAiK2IudGFnTmFtZSk7Yy5xQj8uKGEucHJvcHMpO1BnYShjKTtyZXR1cm4hMH1pZihRZ2EuaGFzKGIubmFtZSkpdGhyb3cgRXJyb3IoIkJiYCIrYi5uYW1lKyJgIisoXy5NdT8ubmFtZT8/InVua25vd24iKSk7YS5wcm9wcy5qbj0hMDsoYj1fLkdBKGEudHlwZSwoKT0+Xy5nQyhhLnR5cGUsYS5wcm9wcyksYS5wcm9wcy5kZWJ1Z0luc3RhbmNlKSkmJlJnYShiKTtyZXR1cm4hMH07CmhOPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8Xy5iQyhhKS5sZW5ndGg7YisrKUNNKCl9O1BnYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZBKClbXy5XQl0/LnluO2lmKGIpaE4oYik7ZWxzZSBmb3IobGV0IGM9MDtjPGEuVXE7YysrKShiPV8uVkEoKVtfLldCXT8ueW4pP2hOKGIpOkNNKCl9O1JnYT1mdW5jdGlvbihhKXthPV8uR0IoYSk7YT1BcnJheS5pc0FycmF5KGEpP2E6W2FdO2ZvcihsZXQgYiBvZiBhKV8uVUEuaW5zZXJ0QmVmb3JlKGIsXy5WQSgpKSxDTSgpfTtpTj1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57YSYmXy5kRShhKTtiJiZiKGMpfX07ak49ZnVuY3Rpb24oYSl7dmFyIGI9MjE7aWYoIWEpcmV0dXJuIGI7Yis9YS5oZWFkZXJUaXRsZT8yNzowO2IrPWEuaGVhZGVyVGl0bGUmJmEuaWg/NDowO3JldHVybiBiKz1hLmhlYWRlclRpdGxlJiZhLmhlYWRlclN1YnRpdGxlPzE2OjB9OwprTj1mdW5jdGlvbihhKXt2YXIgYj0wO2lmKCFhKXJldHVybiBiO2IrPWEuVWZ8fGEuVmY/NDg6MDtiKz1hLlBmfHxhLk1mPzMwOjA7cmV0dXJuIGIrPWEuVWZ8fGEuVmZ8fCFhLlBmJiYhYS5NZj8wOjEyfTsKU2dhPWZ1bmN0aW9uKGEse2tleTpiLHBheWxvYWQ6Y30pe2lmKGI9PT0iRHJhZyBTdGFydCIpcmV0dXJuey4uLmEsQ2M6ITEsVmU6Yy5jbGllbnRZfTtpZihiPT09IkRyYWcgTW92ZSIpe2I9TWF0aC5taW4oYy5UcCxjLmhxW2MuSGldKyhjLmZxPz9qTihjLmhlYWRlcikpLShjLk5wPz9rTihjLmZvb3RlcikpKTtsZXQgZD1NYXRoLm1heChjLm1wPy0xKihhLlZlLTI0KTowLGMuY2xpZW50WS1hLlZlKTtyZXR1cm57Li4uYSxPYjpkLEZjOk1hdGgubWluKGIsTWF0aC5tYXgoMCwoYS5QYz9iOmMucXApLWQpKX19cmV0dXJuIGI9PT0iU25hcCBUbyBGdWxsIFNjcmVlbiI/ey4uLmEsQ2M6ITEsT2I6MCxQYzohMCxGYzpjLm1heEhlaWdodH06Yj09PSJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iP3suLi5hLENjOiExLE9iOjAsUGM6ITEsRmM6Yy5tYXhIZWlnaHR9OmI9PT0iQ2xvc2UgU2hlZXQiP3suLi5hLENjOiEwLE9iOmMuY2xpZW50SGVpZ2h0LFBjOiExLEZjOmMubWF4SGVpZ2h0fTphfTsKVGdhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLnRoLGM9YTtyZXR1cm57c3Vic2NyaWJlKGQpe2Iuc3Vic2NyaWJlKCJjaGFuZ2VkIixkKX0sZGlzcGF0Y2goZCxlKXtjPVNnYShjLHtrZXk6ZCxwYXlsb2FkOmV9KTtiLnB1Ymxpc2goImNoYW5nZWQiLGMpfX19O2xOPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57Yi5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gYT8uKGIpfX07VWdhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbkRlZmF1bHQiO2Nhc2UgMTpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyIjtjYXNlIDI6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvblNwbGl0UGFpciI7Y2FzZSAzOnJldHVybiJ5dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyIn19O21OPWZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLmNMKS5KZSgpfTsKbk49ZnVuY3Rpb24oYSl7cmV0dXJue2hlYWRlclRpdGxlOmEuaGVhZGVyVGl0bGU/LigpLGhlYWRlclN1YnRpdGxlOmEuaGVhZGVyU3VidGl0bGU/LigpLFdmOmEuV2YsTmY6YS5OZixPZjphLk9mLFJlOmEuUmU/LigpLE1mOmEuTWY/LigpLFBmOmEuUGY/LigpLEhhOmEuSGE/LigpLHBmOmEucGY/LigpLEdrOmEuR2s/LigpLEdoOmEuR2gsZm9jdXNPbkNsb3NlOmEuZm9jdXNPbkNsb3NlPy4oKSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZD8uKCksZGlzYWJsZWRDb21tYW5kOmEuZGlzYWJsZWRDb21tYW5kPy4oKSxVZTphLlVlLEdiOmEuR2IsU2U6YS5TZSxqaDphLmpoKCksWGk6YS5YaSgpLGhoOmEuaGgoKSxVZjphLlVmKCksVmY6YS5WZigpLGloOmEuaWgoKX19O3BOPWZ1bmN0aW9uKGEpe29OfHwob049Xy54TSgpKTtvTj8uc2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIixTdHJpbmcoYSoxMDApKX07VmdhPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQudmFsdWVBc051bWJlcjtfLk1IKCk/LnNldFBsYXliYWNrUmF0ZShhKX07CldnYT1mdW5jdGlvbihhKXtwTihhLnRhcmdldC52YWx1ZUFzTnVtYmVyKX07WGdhPWZ1bmN0aW9uKGEpe18uTUgoKT8uc2V0UGxheWJhY2tSYXRlKGEpO3BOKGEpfTtxTj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm57fTt2YXIgYj1hLmZvcmVncm91bmRUaXRsZUNvbG9yLGM9YS5iYWNrZ3JvdW5kQ29sb3I7YT1hLmJvcmRlckNvbG9yO3ZhciBkPSJ0ZXh0IjthP2Q9Im91dGxpbmUiOmMmJihkPSJmaWxsZWQiKTtyZXR1cm57dHlwZTpkLGN1c3RvbUNvbG9yczp7Y29sb3I6Yj9fLk5EKGIpOnZvaWQgMCxiYWNrZ3JvdW5kQ29sb3I6Yz9fLk5EKGMpOnZvaWQgMCxib3JkZXJDb2xvcjphP18uTkQoYSk6dm9pZCAwfX19OwphaGE9ZnVuY3Rpb24oe3JlbmRlcmVyOmEsSW06Yix3QTpjLFNjOmQsZHc6ZSxRZjpmLEJsOmgsaXNTdWJzY3JpYmU6az0hMSxDSjpsPSExLG9MOm09ITF9KXt2YXIgbj1ZZ2EoYSk7ayYmKG4uc3R5bGU9Im1vbm8iLG4udHlwZT0iZmlsbGVkIik7ZT0hYS5pY29ufHwhZSYmYS50ZXh0P2EuaWNvbj9hLmljb25Qb3NpdGlvbj09PSJCVVRUT05fSUNPTl9QT1NJVElPTl9UWVBFX1JJR0hUX09GX1RFWFQiPyJ0cmFpbGluZyI6ImxlYWRpbmciOnZvaWQgMDpmPyJpY29uLW9ubHkiOiJpY29uLW9ubHktNDAiO2U9PT0iaWNvbi1vbmx5LTQwIiYmKG4udHlwZT0idGV4dCIpO209ey4uLlpnYShhLG0pfTtsPSEhYS5pc1NlbGVjdGVkfHwhXy54KCJ3ZWJfcHJvcGFnYXRlX2lzX3ByZXNzZWRfa2lsbHN3aXRjaCIpJiYhIWw7Zj1hLmlzU2VsZWN0ZWQhPT12b2lkIDA7aD1oPT09dm9pZCAwP2EuaXNEaXNhYmxlZDpoO2s9YS50ZXh0P18uQUYoYS50ZXh0KTp2b2lkIDA7dmFyIHA9KHA9YS5hY2Nlc3NpYmlsaXR5RGF0YT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHwKYS5hY2Nlc3NpYmlsaXR5Py5sYWJlbCk/cDpfLmFOKGEudGV4dCk7Yj0kZ2EoYSxiLGMpO2M9ck4oYSk7Yz8ubGVuZ3RoPyhjPV8uYkUoe2lubmVydHViZUNvbW1hbmQ6TE0oYykscWQ6ITB9KSxjPWM/LmhyZWY/Yzp2b2lkIDApOmM9dm9pZCAwO3JldHVybnsuLi5uLC4uLm0saWNvblBvc2l0aW9uOmUsLi4uZCxmb2N1c2VkOiExLHRvZ2dsZWQ6bCx0b2dnbGVhYmxlOmYsZGlzYWJsZWQ6aCxXYTprLGFjY2Vzc2liaWxpdHlMYWJlbDpwLG9uVGFwOmIsdWM6YywuLi5xTihhLmNvbG9yRGF0YT8uYmFzaWNDb2xvclBhbGV0dGVEYXRhKSxvbmVPZmZDdXN0b21UZXh0V3JhcDphLm9uZU9mZkN1c3RvbVRleHRXcmFwfX07JGdhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZhciBlPXJOKGEpO2IoZSxkKTtpZighYylmb3IobGV0IGYgb2YgZSlfLmRLKGYpfX07CnJOPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2EuY29tbWFuZCYmYi5wdXNoKGEuY29tbWFuZCk7YS5zZXJ2aWNlRW5kcG9pbnQmJmIucHVzaChhLnNlcnZpY2VFbmRwb2ludCk7YS5uYXZpZ2F0aW9uRW5kcG9pbnQmJmIucHVzaChhLm5hdmlnYXRpb25FbmRwb2ludCk7cmV0dXJuIGJ9O1pnYT1mdW5jdGlvbihhLGIpe2lmKGIpc3dpdGNoKGEuc2l6ZSl7Y2FzZSAiU0laRV9TTUFMTCI6cmV0dXJue3NpemU6IlMifTtjYXNlICJTSVpFX0xBUkdFIjpyZXR1cm57c2l6ZToiTCJ9O2Nhc2UgIlNJWkVfWExBUkdFIjpyZXR1cm57c2l6ZToiWEwifTtjYXNlICJTSVpFX1hTTUFMTCI6cmV0dXJue3NpemU6IlhTIn07ZGVmYXVsdDpyZXR1cm57c2l6ZToiTSJ9fXN3aXRjaChhLnN0eWxlKXtjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOnJldHVybntzaXplOiJTIn07ZGVmYXVsdDpyZXR1cm57c2l6ZToiTSJ9fX07CllnYT1mdW5jdGlvbihhKXtzd2l0Y2goYS5zdHlsZSl7Y2FzZSAiU1RZTEVfVklTSUJMWV9ESVNBQkxFRCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImRpc2FibGVkIn07Y2FzZSAiU1RZTEVfUFJJTUFSWSI6Y2FzZSAiU1RZTEVfUEFZTUVOVCI6Y2FzZSAiU1RZTEVfQ0FMTF9UT19BQ1RJT05fRklMTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9DQUxMX1RPX0FDVElPTl9UT05BTCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVVRMSU5FIjpjYXNlICJTVFlMRV9TVUdHRVNUSVZFIjpjYXNlICJTVFlMRV9TVUdHRVNURURfQUNUSU9OIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfQkxVRV9URVhUIjpjYXNlICJTVFlMRV9BTEVSVF9JTkZPIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIiwKdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfV0hJVEVfV0lUSF9CT1JERVIiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0xJR0hUX1RFWFQiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fRklMTEVEX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTU9OT19UT05BTF9PVkVSTEFZIjpjYXNlICJTVFlMRV9EQVJLX09OX0JMQUNLIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRvbmFsIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWV9QUk9URUNURUQiOnJldHVybntzdHlsZToib3ZlcmxheS1kYXJrIiwKdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX0ZJTExFRCI6Y2FzZSAiU1RZTEVfREVTVFJVQ1RJVkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfREVGQVVMVCI6Y2FzZSAiU1RZTEVfQ09NUEFDVF9HUkFZIjpjYXNlICJTVFlMRV9NT05PX1RPTkFMIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRvbmFsIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfSU5BQ1RJVkVfT1VUTElORSI6Y2FzZSAiU1RZTEVfTU9OT19PVVRMSU5FIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CTFVFX1RFWFRfV0lUSF9JTlZFUlNFX1RIRU1FIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uLWludmVyc2UiLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CUkFORF9HUkFESUVOVCI6cmV0dXJue3N0eWxlOiJicmFuZC1ncmFkaWVudCIsCnR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0dFTkVSQVRJVkVfR1JBRElFTlQiOnJldHVybntzdHlsZToiZ2VuLWFpLWdyYWRpZW50Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtkZWZhdWx0OnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9fX07CmRoYT1mdW5jdGlvbih7cmVuZGVyZXI6YSxlbGVtZW50OmIsdG9nZ2xlZDpjLEltOmQsUnU6ZSxTYzpmLGR3OmgsUWY6ayxCbDpsLG5MOm0sYWI6bn0pe3ZhciBwPWJoYShhLGMpO2g9IWEuZGVmYXVsdEljb258fCFoJiZhLmRlZmF1bHRUZXh0P2EuZGVmYXVsdEljb24/ImxlYWRpbmciOnZvaWQgMDprPyJpY29uLW9ubHkiOiJpY29uLW9ubHktNDAiO2g9PT0iaWNvbi1vbmx5LTQwIiYmKHAudHlwZT0idGV4dCIpO2E6c3dpdGNoKGEuc3R5bGU/LnN0eWxlVHlwZSl7Y2FzZSAiU1RZTEVfQ09NUEFDVF9HUkFZIjprPXtzaXplOiJTIn07YnJlYWsgYTtkZWZhdWx0Oms9e3NpemU6Ik0ifX1rPXsuLi5rfTt2YXIgcj0ocj1jJiZhLnRvZ2dsZWRUZXh0fHxhLmRlZmF1bHRUZXh0KT9fLkFGKHIpOnZvaWQgMDttPyhtPV8uYU4oYyYmYS50b2dnbGVkVGV4dHx8YS5kZWZhdWx0VGV4dCkpJiZuJiYhaXNOYU4oTnVtYmVyKG4ubnVtYmVyVmFsdWUpKT8obi5YYj1tLGMmJihuLm51bWJlclZhbHVlKz0KMSkpOm49dm9pZCAwOm49dm9pZCAwO209KG09KGM/YS50b2dnbGVkQWNjZXNzaWJpbGl0eURhdGF8fGEudG9nZ2xlZFRleHQ/LmFjY2Vzc2liaWxpdHk6YS5hY2Nlc3NpYmlsaXR5RGF0YXx8YS5kZWZhdWx0VGV4dD8uYWNjZXNzaWJpbGl0eSk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbHx8YS5hY2Nlc3NpYmlsaXR5Py5sYWJlbCk/bTpfLmFOKGMmJmEudG9nZ2xlZFRleHR8fGEuZGVmYXVsdFRleHQpO2w9bD09PXZvaWQgMD9hLmlzRGlzYWJsZWQ6bDtiPWNoYShhLGMsZCxiLGUpO2Q9c04oYSxjKTtkPy5sZW5ndGg/KGQ9Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpMTShkKSxxZDohMH0pLGQ9ZD8uaHJlZj9kOnZvaWQgMCk6ZD12b2lkIDA7cmV0dXJuey4uLnAsLi4uayxpY29uUG9zaXRpb246aCwuLi5mLGZvY3VzZWQ6ITEsdG9nZ2xlZDohIWMsdG9nZ2xlYWJsZTohMCxXYTpyLGFiOm4sYWNjZXNzaWJpbGl0eUxhYmVsOm0sZGlzYWJsZWQ6bCxvblRhcDpiLHVjOmQsLi4ucU4oYS5jb2xvckRhdGE/LmJhc2ljQ29sb3JQYWxldHRlRGF0YSl9fTsKY2hhPWZ1bmN0aW9uKGEsYixjLGQsZT17fSl7cmV0dXJuIGY9Pnt2YXIgaD1hLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZT9fLnV4KGEubG9nZ2luZ0RpcmVjdGl2ZXMuY2xpZW50VmVTcGVjLnVpVHlwZSk6dm9pZCAwO2UuY2xpY2tlZFZpc3VhbEVsZW1lbnR8fChlLmNsaWNrZWRWaXN1YWxFbGVtZW50PWgpO2g9c04oYSxiKTtjKGgsZik7Zm9yKGxldCBuIG9mIGgpe2g9bjt2YXIgaz1kLGw9ZixtPWU7bS5mb3JtP20uZm9ybS5ldmVudD1sOm0uZm9ybT17ZWxlbWVudDprLGV2ZW50Omx9O18uZEsoaCxtKX19fTsKc049ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtiPyhhLnRvZ2dsZWRDb21tYW5kJiZjLnB1c2goYS50b2dnbGVkQ29tbWFuZCksYS50b2dnbGVkU2VydmljZUVuZHBvaW50JiZjLnB1c2goYS50b2dnbGVkU2VydmljZUVuZHBvaW50KSk6KGEuZGVmYXVsdENvbW1hbmQmJmMucHVzaChhLmRlZmF1bHRDb21tYW5kKSxhLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQmJmMucHVzaChhLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQpLGEuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCYmYy5wdXNoKGEuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCkpO3JldHVybiBjfTsKYmhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b2dnbGVkU3R5bGV8fGEuc3R5bGU7c3dpdGNoKChiP2M6YS5zdHlsZSk/LnN0eWxlVHlwZSl7Y2FzZSAiU1RZTEVfVklTSUJMWV9ESVNBQkxFRCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImRpc2FibGVkIn07Y2FzZSAiU1RZTEVfUFJJTUFSWSI6Y2FzZSAiU1RZTEVfUEFZTUVOVCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfU1VHR0VTVElWRSI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JMVUVfVEVYVCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0RFU1RSVUNUSVZFIjpjYXNlICJTVFlMRV9NT05PX0ZJTExFRCI6cmV0dXJue3N0eWxlOiJtb25vIiwKdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9MSUdIVF9URVhUIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX1RPTkFMX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9ERUZBVUxUIjpjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9JTkFDVElWRV9PVVRMSU5FIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtkZWZhdWx0OnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9fX07Cl8udE49ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSyhfLmdHLHtwYTooKT0+W2EuY29tcG9uZW50KCldfSxiPT5iPy4oKSl9O2ZoYT1mdW5jdGlvbihhLGIsYyl7aWYoYz09PW51bGx8fGM9PT12b2lkIDApcmV0dXJuIGM7dmFyIGQ9Xy5nQihhLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxiLCgpPT57dGhyb3cgRXJyb3IoIm1jIik7fSk7aWYoZD09PW51bGwpcmV0dXJuIGM7ZD1laGFbZF07aWYoZC5oZT8uKGMpKXtpZihkLktkKXJldHVybiBkLktkKGMpO3Rocm93IEVycm9yKCJEZCIpO31yZXR1cm4gZC5wZD9kLnBkKGEudGFnTmFtZSxiLFN0cmluZyhjKSk6Y307Xy51Tj1mdW5jdGlvbihhKXtyZXR1cm4gYS5mb3JlZ3JvdW5kVGl0bGVDb2xvcj09PSJUSEVNRV9BVFRSSUJVVEVfVEVYVF9ESVNBQkxFRCJ8fGEuZm9yZWdyb3VuZEljb25Db2xvcj09PSJUSEVNRV9BVFRSSUJVVEVfSUNPTl9ESVNBQkxFRCJ9O3ZOPWZ1bmN0aW9uKGEpe2lmKGEmJl8uS00oYSkpcmV0dXJuIGF9OwpYPWZ1bmN0aW9uKGEsYil7KGI9Xy5hQShhLHt9LGIpKXx8Xy5XaShFcnJvcigiRWRgIithKSk7cmV0dXJuIGJ9O18ud049ZnVuY3Rpb24oYSl7cmV0dXJue3VybEVuZHBvaW50Ont1cmw6YX0sY29tbWFuZE1ldGFkYXRhOnt3ZWJDb21tYW5kTWV0YWRhdGE6e3VybDphfX19fTtfLnhOPWZ1bmN0aW9uKCl7cmV0dXJuIF8ub00oKS5nZXRTdGF0ZSgpLnRpPy5qan07Xy55Tj1mdW5jdGlvbihhKXtfLnkoKS5yZXNvbHZlKF8uY0wpLndnKHtRazphfSl9O18uek49ZnVuY3Rpb24oKXtfLnkoKS5yZXNvbHZlKF8uY0wpLkplKCl9O18uQk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1hPy5wYXJlbnRFbGVtZW50Py5jaGlsZHJlbjtpZihjKWZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtsZXQgZT1jW2RdO2NbZF0hPT1hJiYoYj9lLnNldEF0dHJpYnV0ZSgiaW5lcnQiLCJ0cnVlIik6ZS5yZW1vdmVBdHRyaWJ1dGUoImluZXJ0IiksQU4oZSxiKSl9fTsKQU49ZnVuY3Rpb24oYSxiKXtiPyhhLmhhc0F0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSYmYS5zZXRBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIixhLmdldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSksYS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpKTooYS5oYXNBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIikmJihhLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLGEuZ2V0QXR0cmlidXRlKCJkYXRhLW9sZC1hcmlhLWhpZGRlbiIpKSxhLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iKSksYS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIikpfTtDTj1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGxheWVyLWNvbnRhaW5lci1pZCIpO2ImJkFOKGIsYSl9OwpnaGE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtyZXR1cm4oYT1hLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8uY3J8fGEuY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP2EuYm9keXx8YS5kb2N1bWVudEVsZW1lbnQ6YS5kb2N1bWVudEVsZW1lbnQpJiZ0eXBlb2YgYS5zY3JvbGxUb3A9PT0ibnVtYmVyIj9hLnNjcm9sbFRvcDp0eXBlb2Ygd2luZG93LnBhZ2VZT2Zmc2V0PT09Im51bWJlciI/d2luZG93LnBhZ2VZT2Zmc2V0OjB9OwpfLkpOPWZ1bmN0aW9uKGEsYj1kb2N1bWVudC5hY3RpdmVFbGVtZW50LGM9ITEpe2EhPT1fLkROW18uRE4ubGVuZ3RoLTFdJiZfLkROLnB1c2goYSk7YiE9PWRvY3VtZW50LmJvZHk/RU4uc2V0KGEsYik6RU4uaGFzKGEpfHxFTi5zZXQoYSxudWxsKTtjP18uT0UoKCk9PntoaGEoYSxhLnF1ZXJ5U2VsZWN0b3IoImRpYWxvZyIpKX0pOl8uT0UoKCk9PnthPy5xdWVyeVNlbGVjdG9yKCJkaWFsb2ciKT8uZm9jdXMoKX0pO18uRE4ubGVuZ3RoPjF8fChGTj1naGEoKSxfLkJOKGEsITApLEdOJiZITiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoR04pLElOPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18ueE4oKXx8KGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJtb2RhbC1vcGVuLWJvZHkiLCIiKSxkb2N1bWVudC5ib2R5LnN0eWxlLnRvcD1gLSR7Rk59cHhgLHdpbmRvdy5zY3JvbGxUbygwLC1GTiksSU49bnVsbCl9KSl9OwppaGE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmZyb20oYS5xdWVyeVNlbGVjdG9yQWxsKCdhLGlucHV0Om5vdChbZGlzYWJsZWRdKSxzZWxlY3Q6bm90KFtkaXNhYmxlZF0pLGJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6bm90KC5tb2RhbC1oaWRkZW4tYnV0dG9uKSxbdGFiaW5kZXg9IjAiXScpKS5maWx0ZXIoYj0+e2lmKGIudGV4dENvbnRlbnQpcmV0dXJuITA7aWYoYiBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpe2lmKCFiLmxhYmVscylyZXR1cm4hMTtmb3IobGV0IGMgb2YgYi5sYWJlbHMpaWYoYy50ZXh0Q29udGVudClyZXR1cm4hMH1yZXR1cm4hMX0pfTsKaGhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9aWhhKGEpLGQ9Y1swXTtpZighZCYmYiliLmZvY3VzKCk7ZWxzZXt2YXIgZT1jW2MubGVuZ3RoLTFdO2lmKGQpe2QuZm9jdXMoKTtsZXQgZj1oPT57aC5rZXlDb2RlPT09MjcmJihhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGYpLF8uS04oYSkpO2gua2V5Q29kZSE9PTM4JiZoLmtleUNvZGUhPT00MCYmaC5rZXlDb2RlIT09OXx8amhhKGQsZSl9O2EuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZil9fX07amhhPWZ1bmN0aW9uKGEsYil7aWYoIUxOKXtMTj0hMDt2YXIgYz1NTigpO2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxhKTtjLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCgpPT57Yi5mb2N1cygpfSk7Yz1NTigpO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxiLm5leHRTaWJsaW5nKTtjLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCgpPT57YS5mb2N1cygpfSl9fTsKTU49ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7YS5jbGFzc05hbWU9Im1vZGFsLWhpZGRlbi1idXR0b24iO2Euc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIi0xIik7YS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO3JldHVybiBhfTsKXy5LTj1mdW5jdGlvbihhKXt2YXIgYj1FTi5nZXQoYSk7RU4uZGVsZXRlKGEpO2lmKGtoYSl7aWYoXy5CTihhLCExKSxfLldNKCkmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInl0bS1lbmdhZ2VtZW50LXBhbmVsIikmJkNOKCEwKSxfLnhiKF8uRE4sYSksXy5ETi5sZW5ndGghPT0wKXtiJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntfLmROKGIpfSk7cmV0dXJufX1lbHNle18ueGIoXy5ETixhKTtpZihfLkROLmxlbmd0aCE9PTApe2ImJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18uZE4oYil9KTtyZXR1cm59Xy5CTihhLCExKTtfLldNKCkmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInl0bS1lbmdhZ2VtZW50LXBhbmVsIikmJkNOKCEwKX1JTiYmSE4mJmNhbmNlbEFuaW1hdGlvbkZyYW1lKElOKTtHTj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pntkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgibW9kYWwtb3Blbi1ib2R5Iik7ZG9jdW1lbnQuYm9keS5zdHlsZS50b3A9CiIiO2ImJl8uZE4oYik7Xy5mcj9fLk9FKCgpPT57d2luZG93LnNjcm9sbFRvKDAsRk4pfSk6d2luZG93LnNjcm9sbFRvKDAsRk4pO0dOPW51bGx9KX07bGhhPWZ1bmN0aW9uKGEsYixjPV8uTk4pe2lmKGEpe3ZhciBkPV8ueSgpLnJlc29sdmUoXy5MeCk7ZD9fLkp4KGEse2RhdGE6YixvYnNlcnZlcjpkLE5iOmMsTmM6Xy5uRixlYjpfLm1GLGxheWVyOmEubGF5ZXJ9KTpfLklwKG5ldyBfLlhqKCJXYXJuaW5nOiBtb25pdG9yVmlzaWJpbGl0eSBjYWxsZWQgd2l0aCBudWxsIG9ic2VydmVyIixhLnRhZ05hbWUsYj8ubG9nZ2luZ0RpcmVjdGl2ZXMsYj8udHJhY2tpbmdQYXJhbXMpKX1lbHNlIF8uSXAobmV3IF8uWGooIldhcm5pbmc6IG1vbml0b3JWaXNpYmlsaXR5IGNhbGxlZCB3aXRoIG51bGwgZWxlbWVudCIsYj8ubG9nZ2luZ0RpcmVjdGl2ZXMsYj8udHJhY2tpbmdQYXJhbXMsYj8ucmVuZGVyZXJDb250ZXh0KSl9OwptaGE9ZnVuY3Rpb24oYSxiKXthJiZfLk9FKCgpPT57bGhhKGEsYixfLk5OKX0pfTtRTj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PSJTSE9SVFNfTElLRSImJl8ueCgiZW5hYmxlX3Nob3J0c19oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIik/InNob3J0c190aHVtYnNfdXAiOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiZhJiZPTlthXT9PTlthXTphJiZQTlthXT9QTlthXTphfTtuaGE9ZnVuY3Rpb24oKXtpZihSTil7dmFyIGE9Xy55KCkucmVzb2x2ZShfLkluKFNOKSk7Uk49ITE7YT8udigpfX07b2hhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iW2IubGVuZ3RoLTFdIT09IiQiO2M9ZmhhKGEsYixjKTtkP2FbYl09YzooZD1jPT1udWxsP251bGw6U3RyaW5nKGMpLF8uUUEoYSxiLnNsaWNlKDAsLTEpLGQpKX07ClROPWZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPWEuY29tcG9uZW50O2ImJihiPy5ldmVudHM/LnB1Ymxpc2goIkRJU0NPTk5FQ1RFRCIpLGI/LmRLPy4oKSk7YS5MSD8uSGY/LigpO2ZvcihiPTA7YjxhLmNoaWxkTm9kZXMubGVuZ3RoO2IrKylUTihhLmNoaWxkTm9kZXNbYl0pfX07Xy5VTj1mdW5jdGlvbigpe3JldHVybiBfLkZKLnRoZW4oKCk9Pnt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjbWVudSImJihfLllNP18uJE0oIiIpOl8uWk0oKSk7cmV0dXJuIF8uRkp9KX07CnFoYT1mdW5jdGlvbihhKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoYS5pc0Rpc2FibGVkJiZhLmRpc2FibGVkQ29tbWFuZClfLkFKKGEuZGlzYWJsZWRDb21tYW5kLGEsITEpO2Vsc2V7Vk49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lbnUiKTtWTnx8KFZOPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFZOLmlkPSJtZW51Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFZOKSk7d2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI21lbnUiJiZfLiRNKCJtZW51Iik7Vk4uY2xhc3NOYW1lPWEuaXNGdWxsV2lkdGg/Im1lbnUtY29udGFpbmVyIG1lbnUtZnVsbC13aWR0aCI6Im1lbnUtY29udGFpbmVyIjthLmNsYXNzTmFtZSYmKFZOLmNsYXNzTmFtZSs9IiAiK2EuY2xhc3NOYW1lKTsic2Nyb2xsVG8iaW4gVk4mJlZOLnNjcm9sbFRvKDAsMCk7dmFyIGM9YS5GQXx8Xy5tRygpO18uVnooYixfLnZNKGEub3duZXImJiFhLm93bmVyLmlhPwphLm93bmVyOm51bGwpKTtfLngoIm13ZWJfYzNfbWVudV9zaWduYWxzX3JlbmRlciIpPyhwaGEoYSksV058fChXTj1fLnhGKFZOLCgpPT5fLksoXy5JQixudWxsLF8uSyhYTix7RGg6KCk9PllOKCl9LF8uSyhfLnROLHtjb21wb25lbnQ6KCk9Pnt2YXIgZD1ZTigpO2lmKGQpcmV0dXJuKCk9Pl8ucEcoY3x8e30sKCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PmQuY29udGVudH0pKX19KSksXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLlVOfSkpLHtJazpfLlhDfSkpKTooXy5mTihWTixudWxsKSxfLmZOKFZOLF8uSyhfLklCLG51bGwsXy5LKFhOLHtEaDphfSxhLmNvbnRlbnQoKSksXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLlVOfSkpKSk7YS5ybj09PXZvaWQgMCYmKGEucm49ITApO18uSk4oVk4sYS5mb2N1c09uQ2xvc2UsYS5ybil9fWNhdGNoKGQpe2IuZXJyb3I9ZCxiLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihiKX19OwphTz1mdW5jdGlvbigpe1ZOJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjbWVudSImJihfLktOKFZOKSxfLngoIm13ZWJfYzNfbWVudV9zaWduYWxzX3JlbmRlciIpPyhXTj8uKCksV049dm9pZCAwKTpUTihWTiksVk4uaXNDb25uZWN0ZWQmJmRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoVk4pLFZOPW51bGwpfTtyaGE9LyYvZztzaGE9LzwvZzt0aGE9Lz4vZzt1aGE9LyIvZzt2aGE9LycvZzt3aGE9L1x4MDAvZzt4aGE9L1tceDAwJjw+IiddLztfLndNPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1uZXcgXy56aChhKX1zZXQoYSxiLGMpe2M9YyE9PXZvaWQgMD9EYXRlLm5vdygpK2M6dm9pZCAwO3RoaXMuai5zZXQoYSxiLGMpfWdldChhKXtyZXR1cm4gdGhpcy5qLmdldChhKX1yZW1vdmUoYSl7dGhpcy5qLnJlbW92ZShhKX19O0VnYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1udWxsO3RoaXMubz1hO3RoaXMua2V5PWI7dGhpcy50ZXh0PXZvaWQgMH19O0ZNPVtdOwpITT0wO2JPPXsiKiI6e2FzeW5jOjEsZGlyOjAsbG9hZGluZzoyLHRhcmdldDozfX07eWhhPVt7YXV0bzohMCxsdHI6ITAscnRsOiEwfSx7YXN5bmM6ITB9LHtlYWdlcjohMCxsYXp5OiEwfSx7X3NlbGY6ITAsX2JsYW5rOiEwfV07T009bnVsbDtRTT17fTtJZ2E9IldFQl9QQUdFX1RZUEVfQUNDT1VOVFMgV0VCX1BBR0VfVFlQRV9XRUxDT01FIFdFQl9QQUdFX1RZUEVfQUNDT1VOVF9TRUxFQ1RPUiBXRUJfUEFHRV9UWVBFX1NJR05fSU5fSURFTlRJRklFUl9FTlRSWSBXRUJfUEFHRV9UWVBFX1NJR05fSU5fUEFTU1dPUkRfRU5UUlkgV0VCX1BBR0VfVFlQRV9TSUdOX0lOX0RFVklDRV9QUk9NUFRfQ0hBTExFTkdFIFdFQl9QQUdFX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTCBXRUJfUEFHRV9UWVBFX1VOS05PV04iLnNwbGl0KCIgIik7CkpnYT17RkV3aGF0X3RvX3dhdGNoOiJob21lIixGRWhhc2h0YWc6Imhhc2h0YWciLEZFdHJlbmRpbmc6InRyZW5kaW5nIixGRWhpc3Rvcnk6Imhpc3RvcnkiLFNQdW5saW1pdGVkOiJwcmVtaXVtIixGRW1lbWJlcnNoaXBzX2FuZF9wdXJjaGFzZXM6InBhaWRfbWVtYmVyc2hpcHMiLFNQcmVkZWVtX2NvZGU6InJlZGVlbSIsU1B2ZXJpZnlfbG9jYXRpb246ImxvY2F0ZSIsU1BtaW5vcl9tb21lbnQ6Im1pbm9yX21vbWVudCIsRkVtaW5pX2FwcF9jb250YWluZXI6Im1pbmlfYXBwIixGRW5ld3NfZGVzdGluYXRpb246Im5ld3MiLFNQb3Blbl9pbl9hcHA6Im9wZW5faW5fYXBwIixGRWV4cGxvcmU6ImV4cGxvcmUiLEZFc3Vic2NyaXB0aW9uczoic3Vic2NyaXB0aW9ucyIsRkVzZnZfYXVkaW9fcGl2b3Q6InNmdl9hdWRpb19waXZvdCIsRkVwbGF5bGlzdF9hZ2dyZWdhdGlvbjoicGxheWxpc3RfYWdncmVnYXRpb24ifTtfLllNPSExO3poYT17YUQ6InlvdXR1YmVfZmlsbCIsUkY6InlvdXR1YmVfb3V0bGluZSJ9OwpBaGE9e2pGOiJMSUtFIixFRjoiTk9USUZJQ0FUSU9OX0JFTEwifTtfLktCPV8ubEM7dmFyIFFnYT1uZXcgU2V0KFsiRm9yIiwiSWYiLCJNYXRjaCIsIldhdGNoIl0pLGNPPXtbXy5SQS5kZWZhdWx0XTooKT0+Xy56QixzdHlsZTooKT0+Xy56Qn07Zm9yKGxldCBhIGluIGNPKV8uS3UuYXR0cmlidXRlc1thXT1jT1thXShfLkt1LmF0dHJpYnV0ZXNbYV0pO18uQmhhPW5ldyBfLkkoInNpZ25JbkVuZHBvaW50Iik7Xy5kTz1uZXcgXy5JKCJsaWtlRW5kcG9pbnQiKTt2YXIgQ2hhPW5ldyBfLkkoImhvcml6b250YWxTbGlkZXJWaWV3TW9kZWwiKTt2YXIgRGhhPW5ldyBfLlZzKCJWSURFT19OT1RJQ0VTX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgRWhhPV8uTChhPT57ZnVuY3Rpb24gYihrKXt2YXIgbD1oKCktYS5zdGVwU2l6ZSgpO2QudmFsdWUudmFsdWVBc051bWJlcj1sO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IikpO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNoYW5nZSIpKTtrLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGMoayl7dmFyIGw9aCgpK2Euc3RlcFNpemUoKTtkLnZhbHVlLnZhbHVlQXNOdW1iZXI9bDtkLnZhbHVlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIpKTtkLnZhbHVlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJjaGFuZ2UiKSk7ay5zdG9wUHJvcGFnYXRpb24oKX12YXIgZD1fLnVFKCJpbnB1dCIpLFtlLGZdPV8uQUMoKCk9PmEudmFsdWUoKT8/MCksaD1lO18ubkUoKCk9Pnt2YXIgaz1kLnZhbHVlO2sudmFsdWVBc051bWJlcj1oKCk7dmFyIGw9aCgpLG09YS5taW5WYWx1ZSgpLG49YS5SbCgpO2suc3R5bGUuc2V0UHJvcGVydHkoIi0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQiLApgJHsobC1tKS9uKjEwMH0lYCl9LCJqVDVDQ2YiKTtyZXR1cm4gXy5LKCJzbGlkZXItc2hhcGUiLHtjbGFzczpfLlAoInl0U2xpZGVyU2hhcGVIb3N0Iix7eXRTbGlkZXJTaGFwZVZlcnRpY2FsOigpPT5hLmlzVmVydGljYWwoKX0pfSxfLksoXy5PLHtBOmEuVWosdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b24iLCJhcmlhLWxhYmVsIjphLmpsLGRpc2FibGVkOigpPT5oKCk9PT1hLm1pblZhbHVlKCksIm9uOmNsaWNrIjpifSxfLksoXy5VQyx7bW9kZWw6e2NpcmN1bGFyOiEwfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjoiQkFSX0hPUklaT05UQUwiLGNsYXNzTmFtZToieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uIn0pKSl9KSxfLksoImlucHV0Iix7Y2xhc3M6KCk9PmEuaXNWZXJ0aWNhbCgpPyJ5dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXIiOgoieXRTbGlkZXJTaGFwZUhvc3RTbGlkZXIiLHR5cGU6InJhbmdlIixpZDoic2xpZGVyIixlbDpkLG1pbjphLm1pblZhbHVlLG1heDphLm1heFZhbHVlLCJhcmlhLWxhYmVsIjphLmFyaWFMYWJlbCwiYXJpYS12YWx1ZW1pbiI6YS5taW5WYWx1ZSwiYXJpYS12YWx1ZW1heCI6YS5tYXhWYWx1ZSwiYXJpYS12YWx1ZW5vdyI6aCwiYXJpYS12YWx1ZXRleHQiOigpPT5TdHJpbmcoaCgpKSx2YWx1ZTpoLHN0ZXA6YS5zdGVwU2l6ZSwib246aW5wdXQiOmZ1bmN0aW9uKGspe2EuUmM/LihrKTtmKE51bWJlcihkLnZhbHVlPy52YWx1ZT8/MCkpO2suc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKGspe2Eub25DaGFuZ2U/LihrKTtrLnN0b3BQcm9wYWdhdGlvbigpfX0pLF8uSyhfLk8se0E6YS5Vaix0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbiIsImFyaWEtbGFiZWwiOmEuUGwsZGlzYWJsZWQ6KCk9PmgoKT09PQphLm1heFZhbHVlKCksIm9uOmNsaWNrIjpjfSxfLksoXy5VQyx7bW9kZWw6e2NpcmN1bGFyOiEwfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjoiQUREIixjbGFzc05hbWU6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbiJ9KSkpfSkpfSwiT2EiKTt2YXIgRmhhPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYztpZigoYz1hLmRhdGEoKSkmJmMubWF4VmFsdWUmJmMubWluVmFsdWUmJmMuc3RlcENvdW50KXt2YXIgZD1jLnZhbHVlRGVub21pbmF0b3I/PzEsZT0oYy5tYXhWYWx1ZS1jLm1pblZhbHVlKS9kO2M9e3ZhbHVlOihjLmluaXRpYWxWYWx1ZT8/Yy5taW5WYWx1ZSkvZCxhcmlhTGFiZWw6Xy5CKGMucmVuZGVyZXJDb250ZXh0LF8uWUMpPy5sYWJlbD8/IiIsbWluVmFsdWU6Yy5taW5WYWx1ZS9kLG1heFZhbHVlOmMubWF4VmFsdWUvZCxSbDplLHN0ZXBTaXplOmUvYy5zdGVwQ291bnQsb25DaGFuZ2U6aU4oYy5vblNsaWRlclZhbHVlU2V0Q29tbWFuZCxhLll5KSxSYzppTihjLm9uU2xpZGVyVG91Y2hDb21tYW5kLGEuZnopLFBsOl8uQihjLmluY3JlYXNlQnV0dG9uLF8uS0opPy5hY2Nlc3NpYmlsaXR5VGV4dD8/IiIsamw6Xy5CKGMuZGVjcmVhc2VCdXR0b24sXy5LSik/LmFjY2Vzc2liaWxpdHlUZXh0Pz8iIixpc1ZlcnRpY2FsOiExLApVajohIV8uQihjLmluY3JlYXNlQnV0dG9uLF8uS0opJiYhIV8uQihjLmRlY3JlYXNlQnV0dG9uLF8uS0opfX1lbHNlIGM9e307cmV0dXJuIGN9O3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dEhvcml6b250YWxTbGlkZXJWaWV3TW9kZWxIb3N0In0sXy5LKEVoYSx7dmFsdWU6KCk9PmIoKS52YWx1ZSxhcmlhTGFiZWw6KCk9PmIoKS5hcmlhTGFiZWwsbWluVmFsdWU6KCk9PmIoKS5taW5WYWx1ZSxtYXhWYWx1ZTooKT0+YigpLm1heFZhbHVlLHN0ZXBTaXplOigpPT5iKCkuc3RlcFNpemUsUmw6KCk9PmIoKS5SbCxQbDooKT0+YigpLlBsLGpsOigpPT5iKCkuamwsaXNWZXJ0aWNhbDooKT0+YigpLmlzVmVydGljYWwsb25DaGFuZ2U6Yz0+e2IoKS5vbkNoYW5nZShjKX0sUmM6Yz0+e2IoKS5SYyhjKX0sVWo6KCk9PmIoKS5Van0pKX0sIlBhIik7dmFyIGVPPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVXcmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46Yj0+Xy5LKCJoMiIse2NsYXNzOl8uUCgieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyIix7eXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyTm9uSW50ZXJhY3RpdmU6IV8ueCgid2ViX3BhbmVsX2hlYWRlcl90aXRsZV9ub25faW50ZXJhY3RpdmVfa2lsbHN3aXRjaCIpfSl9LF8uSyhfLlYse3RleHQ6YixjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZSJ9KSl9KSxfLksoXy5PLHtBOigpPT5hKCkuc3VidGl0bGUsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmIsY2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsU3VidGl0bGUifSl9KSksIlFhIiksZk89Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLlRIKCgpPT5hKCkucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5LKCJ5dC1wYW5lbC1oZWFkZXItdmlldy1tb2RlbCIsCntjbGFzczpfLlAoInl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0Iix7eXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RIaWRlRGl2aWRlcjooKT0+ISFhKCkuc2hvdWxkSGlkZURpdmlkZXIseXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RDb21wYWN0OigpPT4hIWEoKS5zdWJ0aXRsZX0pLCJhcmlhLWxhYmVsIjooKT0+YigpPy5sYWJlbH0sXy5LKF8uTyx7QTooKT0+Xy50SChhKCkucmVuZGVyZXJDb250ZXh0KSx0aGVuOigpPT5fLksoXy5NSix7Y2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3IiLGNvbW1hbmQ6KCk9Pl8uc0goYSgpLnJlbmRlcmVyQ29udGV4dCksWnY6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvckZvY3VzZWQifSxfLksoZU8se2RhdGE6YX0pKSxXOigpPT5fLksoZU8se2RhdGE6YX0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQnV0dG9ucyJ9LF8uSyhfLlcse2RhdGE6KCk9PgphKCkudHJhaWxpbmdCdXR0b25zfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpjfSk9Pl8uSyhfLkhELHtkYXRhOmMsY2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uIn0pfSkpKX0sIlJhIik7Zk8uaWRvbUNvbXBhdD0hMDt2YXIgZ089Xy5MKGE9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEhvc3QiLCJ5dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lciIsInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIiksc3R5bGU6KCk9PmEuQ2MoKT9gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7YS5PYigpfXB4KTt0cmFuc2l0aW9uOiAwLjJzYDoiIn0sYS5oZWFkZXI/LigpLF8uSygiZGl2Iix7aWQ6YS5IaSxjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlciIsc3R5bGU6Xy5JRSh7Im1heC1oZWlnaHQiOigwLF8uWkspKGEuRmMpfSksIm9uOnNjcm9sbCI6bE4oYS5qciksIm9uOnRvdWNobW92ZSI6bE4oKX0sXy5LKCJkaXYiLHtlbDpfLnJGKGEubnApLGNsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudCIsIm9uOmNsaWNrIjpmdW5jdGlvbihiKXthLnBmPy4oKT9iLnN0b3BQcm9wYWdhdGlvbigpOmEuWXEoYil9fSwKYS5ib2R5Py4oKSkpLGEuZm9vdGVyPy4oKSksIlNhIik7Z08uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntqcjohMCxucDohMCxZcTohMH19O3ZhciBoTz1fLkwoYT0+e3ZhciB7bGVhZGluZ0xhYmVsOmIsdHJhaWxpbmdMYWJlbDpjLFJlOmQscHJpbWFyeUJ1dHRvbjplLEl3OmYsc2Vjb25kYXJ5QnV0dG9uOmgsS3c6ayxPcDpsLEN3Om19PV8uREMoYSx7bGVhZGluZ0xhYmVsOnZvaWQgMCx0cmFpbGluZ0xhYmVsOnZvaWQgMCxSZTp2b2lkIDB9KSxuPSgpPT5iKCl8fGMoKXx8ZigpfHxrKCk7cmV0dXJuIF8uSyhfLk8se0E6bSx0aGVuOigpPT5fLksoXy5JQixudWxsLGw/LigpKSxXOigpPT5fLksoXy5PLHtBOm4sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+YigpfHxjKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJXaXRob3V0QnV0dG9uczooKT0+IWYoKX0pfSxfLksoXy5PLAp7QTpiLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TGVhZGluZ0xhYmVsIn0sYil9KSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVsIn0sYyl9KSl9KSxfLksoXy5PLHtBOigpPT5mKCl8fGsoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJCdXR0b25XcmFwcGVyIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJCdXR0b25XcmFwcGVyTGFuZHNjYXBlQnV0dG9uV3JhcHBlcjpfLkJjYX0pfSxfLksoXy5PLHtBOigpPT5rKCkmJmQoKSE9PTAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25UcmFpbGluZ1BhaXI6KCk9PmQoKT09PTEmJmsoKSwKeXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25TcGxpdFBhaXI6KCk9PmQoKT09PTImJmsoKSx5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblByaW1hcnlTcGxpdFBhaXI6KCk9PmQoKT09PTMmJmYoKX0pfSxoPy4oKSl9KSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbiIsKCk9PlVnYShkKCkpKX0sZT8uKCkpfSkpfSkpfSl9KX0sIlRhIik7aE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntwcmltYXJ5QnV0dG9uOiEwLHNlY29uZGFyeUJ1dHRvbjohMCxPcDohMH19O3ZhciBpTz1fLkwoYT0+e3ZhciB7dGl0bGU6YixzdWJ0aXRsZTpjLGdxOmQsRHc6ZSx4bzpmLHh3Omgsd3M6ayx2czpsLHVzOm0sUXE6bixPdzpwLGlzRHJhZ2dpbmc6cn09Xy5EQyhhLHt0aXRsZTp2b2lkIDAsc3VidGl0bGU6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJJc0RyYWdnaW5nOnJ9KSxpZDpwLCJvbjp0b3VjaHN0YXJ0IjpsTihrKSwib246dG91Y2htb3ZlIjpsTihsKSwib246dG91Y2hlbmQiOmxOKG0pLCJvbjptb3VzZWRvd24iOmxOKG4pfSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dERyYWdMaW5lIn0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoXy5JQixudWxsLGQ/LigpKSxXOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXI6ITAsCnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV2l0aFRpdGxlOmJ9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZVdyYXBwZXIifSxfLksoXy5PLHtBOmIsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoImgyIix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGUifSxiKSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJoMyIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxlIn0sYyl9KSl9KSksXy5LKF8uTyx7QTooKT0+YigpJiZoKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRBY3Rpb25IZWFkZXIifSxmPy4oKSl9KSl9KSl9LCJVYSIpO2lPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7d3M6ITAsdnM6ITAsdXM6ITAsUXE6ITAseG86ITAsZ3E6ITAsaXNEcmFnZ2luZzohMH19O3ZhciBqTz1fLkwoYT0+e2Z1bmN0aW9uIGIoYWEpe2lmKCFZJiZ0eXBlb2YgTXV0YXRpb25PYnNlcnZlciE9PSJ1bmRlZmluZWQiKXt2YXIgT2E9e2NoaWxkTGlzdDohMH07Ik11dGF0aW9uT2JzZXJ2ZXIiaW4gd2luZG93JiYoWT1uZXcgTXV0YXRpb25PYnNlcnZlcihjLmJpbmQodm9pZCAwLGFhKSksWS5vYnNlcnZlKGFhLE9hKSl9fWZ1bmN0aW9uIGMoYWEpe3R5cGVvZiBZIT09InVuZGVmaW5lZCImJihwYVsiY29udGVudC13cmFwcGVyIl09PT12b2lkIDAmJihwYVsiY29udGVudC13cmFwcGVyIl09YWEuY2hpbGRyZW5bMF0uY2xpZW50SGVpZ2h0KSxHKHBhWyJjb250ZW50LXdyYXBwZXIiXSksIShDKCk+UigpKSYmQygpPjAmJk0oQygpKSl9ZnVuY3Rpb24gZCgpe0Uod2luZG93LmlubmVySGVpZ2h0KTshKEMoKT5SKCkpJiZDKCk+MCYmTShDKCkpO29hLlBjWzBdKCkmJkMoKT5SKCk/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOlUoKS5kaXNwYXRjaCgiU25hcCBUbyBOZXV0cmFsIFBvc2l0aW9uIiwKe21heEhlaWdodDpSKCl9KX1mdW5jdGlvbiBlKGFhKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSI7YWEucHJldmVudERlZmF1bHQoKTtVKCkuZGlzcGF0Y2goIkRyYWcgU3RhcnQiLHtjbGllbnRZOmFhLnRvdWNoZXNbMF0uY2xpZW50WX0pfWZ1bmN0aW9uIGYoYWEpe2FhLnByZXZlbnREZWZhdWx0KCk7VSgpLmRpc3BhdGNoKCJEcmFnIE1vdmUiLHtjbGllbnRZOmFhLnRvdWNoZXNbMF0uY2xpZW50WSxtcDpDKCk+UigpLFRwOlMoKSxxcDpSKCksaHE6cGEsSGk6ImNvbnRlbnQtd3JhcHBlciIsaGVhZGVyOm5OKGEpLGZvb3RlcjpuTihhKSxmcTpwYVsiYm90dG9tLXNoZWV0LWhlYWRlciJdLE5wOnBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl19KX1mdW5jdGlvbiBoKGFhKXthYS5idXR0b249PT0wJiYoYWEucHJldmVudERlZmF1bHQoKSx0YSghMCksVSgpLmRpc3BhdGNoKCJEcmFnIFN0YXJ0Iix7Y2xpZW50WTphYS5jbGllbnRZfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsClQpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKSl9ZnVuY3Rpb24gaygpe3RhKCExKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixUKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsayk7bSgpfWZ1bmN0aW9uIGwoKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIjttKCl9ZnVuY3Rpb24gbSgpe29hLlBjWzBdKCk/b2EuT2JbMF0oKT49NjA/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLHttYXhIZWlnaHQ6UigpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOm9hLk9iWzBdKCk+PTYwP24oKTpvYS5PYlswXSgpPD0tNjAmJkMoKT5SKCk/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOlUoKS5kaXNwYXRjaCgiU25hcCBUbyBOZXV0cmFsIFBvc2l0aW9uIix7bWF4SGVpZ2h0OlIoKX0pfQpmdW5jdGlvbiBuKCl7VSgpLmRpc3BhdGNoKCJDbG9zZSBTaGVldCIse2NsaWVudEhlaWdodDp6KCksbWF4SGVpZ2h0OjB9KTtzZXRUaW1lb3V0KCgpPT57bU4oKX0sMjUwKX12YXIgcD1fLnVFKCJkaXYiKSxyPV8udUUoImRpdiIpLFt0LHZdPV8uSih3aW5kb3cuaW5uZXJIZWlnaHQsdm9pZCAwLCJDbU9zVSIpLHo9dCxFPXYsW0EsRl09Xy5KKDAsdm9pZCAwLCJwMEZsaGIiKSxDPUEsRz1GLFtELEhdPV8uQUMoKCk9Pnt2YXIgYWE9bk4oYSk7cmV0dXJuLjYqeigpLWpOKGFhKS1rTihhYSl9KSxSPUQsTT1ILFM9KCk9Pnt2YXIgYWE9bk4oYSksT2E9eigpLEpiPXBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl0semE9cGFbImJvdHRvbS1zaGVldC1mb290ZXIiXTtyZXR1cm4gT2EtKGFhLmpoJiZKYiE9PXZvaWQgMD9KYjpqTihhYSkpLShhYS5oaCYmemEhPT12b2lkIDA/emE6a04oYWEpKS0yNC0yNH0sWT1udWxsLHBhPXt9LG9hPXtWZTpfLkooMCx2b2lkIDAsInN4ZEVTZCIpLE9iOl8uSigwLAp2b2lkIDAsIkdaenFlYiIpLENjOl8uSighMSx2b2lkIDAsInZKQnVwYyIpLFBjOl8uSighMSx2b2lkIDAsIlh5UkRwIiksRmM6Xy5BQyhSKX0sVT0oKCk9Pnt2YXIgYWE9bnVsbDtyZXR1cm4oKT0+e2lmKCFhYSl7bGV0IE9hPXtWZTpvYS5WZVswXSgpLE9iOm9hLk9iWzBdKCksQ2M6b2EuQ2NbMF0oKSxQYzpvYS5QY1swXSgpLEZjOm9hLkZjWzBdKCl9O2FhPVRnYShPYSl9cmV0dXJuIGFhfX0pKCk7Xy5VSigoKT0+e3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGQpO1UoKS5zdWJzY3JpYmUoYWE9PntvYS5WZVsxXShhYS5WZSk7b2EuT2JbMV0oYWEuT2IpO29hLkNjWzFdKGFhLkNjKTtvYS5QY1sxXShhYS5QYyk7b2EuRmNbMV0oYWEuRmMpfSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57cC52YWx1ZSYmKHBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl09cC52YWx1ZS5jbGllbnRIZWlnaHQpO3IudmFsdWUmJihwYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdPXIudmFsdWUuY2xpZW50SGVpZ2h0KX0pfSk7Cl8uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixkKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixUKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsayk7WSYmKFkuZGlzY29ubmVjdCgpLFk9bnVsbCl9KTt2YXIgW2hhLG1hXT1fLkooITEsdm9pZCAwLCJLc2lUWWUiKSx0YT1tYSxUPWFhPT57VSgpLmRpc3BhdGNoKCJEcmFnIE1vdmUiLHtjbGllbnRZOmFhLmNsaWVudFksbXA6QygpPlIoKSxUcDpTKCkscXA6UigpLGhxOnBhLEhpOiJjb250ZW50LXdyYXBwZXIiLGhlYWRlcjpuTihhKSxmb290ZXI6bk4oYSksZnE6cGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXSxOcDpwYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdfSl9LGJhPV8uUCh7ImJvdHRvbS1zaGVldC1jb250ZW50LXdpdGhvdXQtaWNvbiI6KCk9PiFhLkhhPy4oKX0pO3JldHVybiBfLksoImJvdHRvbS1zaGVldC1sYXlvdXQiLG51bGwsXy5LKGdPLHtIaToiY29udGVudC13cmFwcGVyIiwKQ2M6KCk9Pm9hLkNjWzBdKCksT2I6KCk9Pm9hLk9iWzBdKCksRmM6KCk9Pm9hLkZjWzBdKCksSGE6YS5IYSxwZjphLnBmLGpyOigpPT57dmFyIGFhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20tc2hlZXQtaGVhZGVyIiksT2E9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnQtd3JhcHBlciIpO2lmKGFhJiZPYSl7dmFyIEpiPXt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXI6ITAseXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVyQm90dG9tQm9yZGVyOiEwfTthYS5jbGFzc05hbWU9T2Euc2Nyb2xsVG9wPjE/Xy5hTChKYik6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlciJ9fSxZcTptTixucDphYT0+e2IoYWEpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2MoYWEpfSl9LGhlYWRlcjooKT0+Xy5LKCJkaXYiLHtlbDpwfSxfLksoaU8se2lzRHJhZ2dpbmc6aGEsd3M6ZSx2czpmLHVzOmwsUXE6aCx0aXRsZTphLmhlYWRlclRpdGxlLApzdWJ0aXRsZTphLmhlYWRlclN1YnRpdGxlLE93OiJib3R0b20tc2hlZXQtaGVhZGVyIixncTphLlVlLER3OmEuamgseG86YS5XZix4dzphLmlofSkpLGZvb3RlcjooKT0+Xy5LKCJkaXYiLHtlbDpyfSxfLksoaE8se1JlOmEuUmUsbGVhZGluZ0xhYmVsOmEuTWYsdHJhaWxpbmdMYWJlbDphLlBmLHByaW1hcnlCdXR0b246YS5OZixJdzphLlVmLHNlY29uZGFyeUJ1dHRvbjphLk9mLEt3OmEuVmYsT3A6YS5TZSxDdzphLmhofSkpLGJvZHk6KCk9Pl8uSyhfLk8se0E6YS5YaSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmJhfSxhLkdiPy4oKSl9KX0pKX0sIlZhIik7ak8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntXZjohMCxVZTohMCxHYjohMCxTZTohMCxOZjohMCxPZjohMH19O18uTChhPT57dmFyIGI9Xy55KCkucmVzb2x2ZShfLmNMKTtyZXR1cm4gXy5LKCJ5dC1jb250ZXh0dWFsLXNoZWV0LWxheW91dCIse2NsYXNzOl8uUCgieXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0Iix7eXRDb250ZXh0dWFsU2hlZXRMYXlvdXRBZGRQYWRkaW5nOmEucnUseXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0T2xkTWluV2lkdGg6KCk9PiEhYS5oYXNIZWFkZXI/LigpfHwhIWEuQnc/LigpfHxfLngoImVuYWJsZV9jb250ZXh0dWFsX3NoZWV0X29sZF9taW5fd2lkdGhfa2lsbHN3aXRjaCIpfSksZWw6Xy5yRihfLmRMKSwib246Y2xpY2siOigpPT57YT8udks/LigpfHxiLkplKCl9fSxfLksoXy5PLHtBOigpPT4hIWEuaGVhZGVyLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0SGVhZGVyQ29udGFpbmVyIn0sYS5oZWFkZXIoKSl9KSxfLksoXy5PLHtBOigpPT4hIWEuY29udGVudCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXIifSwKYS5jb250ZW50KCkpfSksXy5LKF8uTyx7QTooKT0+ISFhLmZvb3Rlcix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENvbnRleHR1YWxTaGVldExheW91dEZvb3RlckNvbnRhaW5lciJ9LGEuZm9vdGVyKCkpfSkpfSwiV2EiKS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2hlYWRlcjohMCxjb250ZW50OiEwLGZvb3RlcjohMCxoYXNIZWFkZXI6ITAsZ0o6ITAsQnc6ITAscnU6ITB9fTt2YXIgR2hhPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixvbkNsaWNrOmN9KT0+Xy5LKCJ5dHctdmFyaWFibGUtc3BlZWQtY29udHJvbGxlci1zcGVlZC1idXR0b24tdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJTcGVlZEJ1dHRvblZpZXdNb2RlbEhvc3QiLGIpfSxfLksoXy5XLHtkYXRhOigpPT5hKCkucGxheWJhY2tTcGVlZEJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5IRCx7ZGF0YTpkLG9uQ2xpY2s6Y30pfSksXy5LKF8uVix7Y2xhc3NOYW1lOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsU3BlZWRMYWJlbCIsdGV4dDooKT0+YSgpLmJ1dHRvbkxhYmVsfSkpLCJYYSIpO3ZhciBvTjsKXy5rTz1fLkwoKHtkYXRhOmEscHo6Yj1WZ2Esb3o6Yz1XZ2EscXo6ZD1YZ2F9KT0+e3ZhciBbZSxmXT1fLkooMTAwLHZvaWQgMCwiZDBOS3liIiksW2gsa109Xy5KKCExLHZvaWQgMCwiWFh2Z2tiIiksbD1tPT57ZihtLnRhcmdldC52YWx1ZUFzTnVtYmVyKTtiPy4obSl9O18ubkUoKCk9PntpZihhKCkuc2xpZGVyKXt2YXIgbT1fLkIoYSgpLnNsaWRlcixDaGEpO20mJihtLmluaXRpYWxWYWx1ZSYmbS52YWx1ZURlbm9taW5hdG9yP2YobS5pbml0aWFsVmFsdWUvbS52YWx1ZURlbm9taW5hdG9yKTpmKDApKX19LCJSdkhEcmYiKTtyZXR1cm4gXy5LKCJ2YXJpYWJsZS1zcGVlZC1jb250cm9sbGVyLXZpZXctbW9kZWwiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTcGVlZEluZGljYXRvckNvbnRhaW5lciJ9LF8uSyhfLk8se0E6KCk9PmUoKT4yLHRoZW46KCk9PgpfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFByZW1pdW1CYWRnZSJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5iYWRnZX0se2JhZGdlVmlld01vZGVsOih7ZGF0YTptfSk9Pl8uSyhfLkVELHtkYXRhOm19KX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXkiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLCJhcmlhLWF0b21pYyI6InRydWUiLCJhcmlhLWJ1c3kiOmh9LCgpPT5fLmFBKCJQTEFZQkFDS19TUEVFRF9YIix7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcjpgJHtlKCkudG9GaXhlZCgyKX1gfSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFNsaWRlckNvbnRhaW5lciIsIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKG0pe20udGFyZ2V0LnRhZ05hbWU9PT0iSU5QVVQiJiZrKCEwKX0sIm9uOmZvY3Vzb3V0IjpmdW5jdGlvbihtKXttLnRhcmdldC50YWdOYW1lPT09CiJJTlBVVCImJmsoITEpfX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnNsaWRlcn0se2hvcml6b250YWxTbGlkZXJWaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKEZoYSx7ZGF0YTooKT0+KHsuLi5tKCksaW5pdGlhbFZhbHVlOmUoKSoxMDB9KSxmejpsLFl5OmN9KX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5wbGF5YmFja1NwZWVkQnV0dG9uc30se3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKEdoYSx7ZGF0YTptLGNsYXNzTmFtZToieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkQnV0dG9uIixvbkNsaWNrOigpPT57dmFyIG49bSgpPy5wbGF5YmFja1NwZWVkQnV0dG9uQ2VudGlWYWx1ZTtuJiYoZihuLzEwMCksZD8uKG4vMTAwKSl9fSl9KSkpfSwiWmEiKTt2YXIgSGhhPW5ldyBfLlZzKCJDT05URU5UX0ZFRURCQUNLX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgbE89Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uVUQpLGM9Xy5wSCh7TmI6KGYsaCk9PntfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKXx8IWZ8fF8uekgoYT8uKCk/LnJlbmRlcmVyQ29udGV4dCl8fE1NKGgpfSxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifX0pLGQ9Xy55KCkucmVzb2x2ZShfLkluKEhoYSkpLGU9Xy55KCkucmVzb2x2ZShfLkluKERoYSkpO3JldHVybiBfLksoInl0LXNoZWV0LXZpZXctbW9kZWwiLHsib246bW91c2Vkb3duIjpmdW5jdGlvbihmKXtfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKSYmZi5jdXJyZW50VGFyZ2V0IT09Zi50YXJnZXQmJmYucHJldmVudERlZmF1bHQoKX0sIm9uOmZvY3VzIjpmdW5jdGlvbihmKXtfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKSYmTU0oZi5jdXJyZW50VGFyZ2V0KX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKCl7dmFyIGY9Xy56SChhPy4oKT8ucmVuZGVyZXJDb250ZXh0KTsKZiYmYi5yZXNvbHZlQ29tbWFuZChmKX0sY2xhc3M6Xy5QKCJ5dFNoZWV0Vmlld01vZGVsSG9zdCIse3l0U2hlZXRWaWV3TW9kZWxDb250ZXh0dWFsOiExLHl0U2hlZXRWaWV3TW9kZWxEaXNhYmxlQmFja2Ryb3BGaWx0ZXI6ITF9KSxlbDpfLnJGKGMpLHRhYmluZGV4Oi0xfSxfLksoXy5PLHtBOmEsdGhlbjpmPT5fLksoak8se1VlOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuaGVhZGVyfSx7cGFuZWxIZWFkZXJWaWV3TW9kZWw6Zk99KSxqaDohMCxpaDohMSxHYjooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+ZigpLmNvbnRlbnR9LHtjaGVja2JveEdyb3VwVmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLnRELHtkYXRhOmgsV2I6ITF9KSxyYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLkVMLHtkYXRhOmgsV2I6ITF9KSxsaXN0Vmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLkJELHtkYXRhOmgsQmM6ITB9KSx2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbDpfLmtPLApsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCx1cHNlbGxWaWV3TW9kZWw6Xy5oTCxtaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWw6Xy5qTCwuLi4oZSYme3ZpZGVvTm90aWNlc1ZpZXdNb2RlbDplfSksLi4uKGQmJntjb250ZW50RmVlZGJhY2tWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKGQse2RhdGE6aCxjbGFzc05hbWU6Inl0U2hlZXRWaWV3TW9kZWxQYWRkZWRDb250ZW50In0pfSl9KSxYaTohMCxTZTooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+ZigpLmZvb3Rlcn0se3BhbmVsRm9vdGVyVmlld01vZGVsOl8uc0R9KSxoaDohMCxVZjohMSxWZjohMSxIYTohMH0pfSkpfSwiJGEiKTtsTy5pZG9tQ29tcGF0PSEwO18ubU89bmV3IF8uVnMoIklDT05fU0VUX1RPS0VOIik7Xy5uTz1uZXcgXy5WcygiSUNPTl9VUkxfUFJPVklERVJfVE9LRU4iKTtfLm9PPW5ldyBfLlZzKCJJQ09OX01BUF9GTl9UT0tFTiIpO3ZhciBTTj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO3RoaXMubz1ifXYoKXt2YXIgYT0oXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/SWhhOkpoYSk/P3RoaXMubztpZihhPy5sZW5ndGgpe2xldCBiPVtdO2E9KG5ldyBTZXQoYSkpLnZhbHVlcygpO2ZvcihsZXQgYyBvZiBhKWZvcihsZXQgZCBvZiBPYmplY3QudmFsdWVzKHpoYSkpYi5wdXNoKHtpY29uTmFtZTpjLGljb25TdHlsZTpkfSk7dGhpcy5qLnlhKGIpfWVsc2UgUHJvbWlzZS5yZXNvbHZlKCl9fTtTTltfLkxuXT1bXy5YTCxfLkluKG5ldyBfLlZzKCJQUkVGRVRDSF9JQ09OU19UT0tFTiIpKV07dmFyIEtoYT0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxlaGE9e1sxXTp7cGQ6bnVsbCxoZTpudWxsLEtkOm51bGx9LFsyXTp7cGQ6ZnVuY3Rpb24oYSxiLGMpe2E9Yzt4aGEudGVzdChhKSYmKGEuaW5kZXhPZigiJiIpIT0tMSYmKGE9YS5yZXBsYWNlKHJoYSwiJmFtcDsiKSksYS5pbmRleE9mKCI8IikhPS0xJiYoYT1hLnJlcGxhY2Uoc2hhLCImbHQ7IikpLGEuaW5kZXhPZigiPiIpIT0tMSYmKGE9YS5yZXBsYWNlKHRoYSwiJmd0OyIpKSxhLmluZGV4T2YoJyInKSE9LTEmJihhPWEucmVwbGFjZSh1aGEsIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZSh2aGEsIiYjMzk7IikpLGEuaW5kZXhPZigiXHgwMCIpIT0tMSYmKGE9YS5yZXBsYWNlKHdoYSwiJiMwOyIpKSk7cmV0dXJuIGF9LGhlKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5mYn0sS2Q6YT0+Xy55QShhKX0sWzNdOntwZDpmdW5jdGlvbihhLApiLGMpe3JldHVybiBLaGEudGVzdChjKT9jOl8uRnEudG9TdHJpbmcoKX0saGUoYSl7cmV0dXJuIF8uWGEoYSl9LEtkOmE9Pl8uWWEoYSl9LFs0XTp7cGQ6ZnVuY3Rpb24oKXtyZXR1cm4gXy5GcS50b1N0cmluZygpfSxoZShhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uU2F9LEtkOmE9Pl8uVWEoYSkudG9TdHJpbmcoKX0sWzVdOntwZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN9LGhlKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifSxLZDphPT5hLnRvU3RyaW5nKCl9LFs3XTp7cGQ6ZnVuY3Rpb24oKXtyZXR1cm4iIC8qekNsb3N1cmV6Ki8gIn0saGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmpifSxLZDphPT5fLmxiKGEpfSxbOF06e3BkKGEsYixjKXtjPVN0cmluZyhjKS50b0xvd2VyQ2FzZSgpO2E6e2xldCBkPW51bGw7KGE9Yk9bYV0pJiYoZD1hW2JdKTtpZih0eXBlb2YgZCE9PSJudW1iZXIiJiYoKGE9Yk9bIioiXSkmJihkPWFbYl0pLHR5cGVvZiBkIT09Im51bWJlciIpKXtiPQohMTticmVhayBhfWI9ITA9PT15aGFbZF1bU3RyaW5nKGMpLnRvTG93ZXJDYXNlKCldfXJldHVybiBiP2M6InpDbG9zdXJleiJ9LGhlOm51bGwsS2Q6bnVsbH0sWzEwXTp7cGQ6bnVsbCxoZTpudWxsLEtkOm51bGx9fTtfLnBPPV8uTCgoe2RhdGE6YSx0ZzpiLEhhOmMsaWNvbjpkLHByb2Nlc3NBbGxFbmRwb2ludHM6ZSxwcmV2ZW50RGVmYXVsdDpmLHN0b3BQcm9wYWdhdGlvbjpoLHdJOmssY2xhc3NOYW1lOmwsYnV0dG9uT3ZlcnJpZGVzOm0sUWY6bixpc1N1YnNjcmliZTpwLG9pOnIsQmw6dH0pPT57dmFyIHY9Xy5tRygpLHo9KEYsQyk9PntmPy4oKSYmQy5wcmV2ZW50RGVmYXVsdCgpO2g/LigpJiZDLnN0b3BQcm9wYWdhdGlvbigpO2lmKCFrPy4oKSl7Rj1hKCk7dmFyIEc9ISFlPy4oKTtpZighRi5faXNCdXN5KXtiJiZiKCk7dmFyIEQ9IUYubmF2aWdhdGlvbkVuZHBvaW50fHwhIV8uQihGLm5hdmlnYXRpb25FbmRwb2ludCxfLll6KXx8ISFfLkIoRi5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5aeik7Rz8oRi50cmFja2luZ1BhcmFtcyYmRCYmXy56SihGLnRyYWNraW5nUGFyYW1zKSxGLnNlcnZpY2VFbmRwb2ludCYmXy5BSihGLnNlcnZpY2VFbmRwb2ludCxGLCExLHtldmVudDpDLEJkOnZ9KSxGLm5hdmlnYXRpb25FbmRwb2ludCYmCl8uQUooRi5uYXZpZ2F0aW9uRW5kcG9pbnQsRiwhMSx7ZXZlbnQ6QyxCZDp2fSksRi5jb21tYW5kJiZfLkFKKEYuY29tbWFuZCxGLCExLHtldmVudDpDLEJkOnZ9KSk6KEc9dk4oRi5zZXJ2aWNlRW5kcG9pbnQpfHx2TihGLm5hdmlnYXRpb25FbmRwb2ludCl8fHZOKEYuY29tbWFuZCkpJiZfLkFKKEcsRixELHtldmVudDpDLEJkOnZ9KX19fSxFPSgpPT57aWYoYz8uKCkhPT0hMSlyZXR1cm4gZD8uKCl8fGEoKS5pY29uPy5pY29uVHlwZX0sQT1fLk4oKCk9Pih7Li4uYWhhKHtyZW5kZXJlcjphKCksSW06eix3QTohMCxTYzptPy4oKSxWeTohMCxRZjpuPy4oKSxpc1N1YnNjcmliZTpwPy4oKXx8ITEsQmw6dD8uKCl9KSxvaTpyPy4oKX0pLHZvaWQgMCwiUGM0dDNiIik7cmV0dXJuIF8uSygieXRtLWJ1dHRvbi1yZW5kZXJlciIse2hpZGRlbjooKT0+IWEoKS50ZXh0JiYhXy5ESihhKCkuYWNjZXNzaWJpbGl0eURhdGF8fGEoKS5hY2Nlc3NpYmlsaXR5KSxjbGFzczpfLlAobCwoKT0+RT8uKCk/CmBpY29uLSR7RSgpLnRvTG93ZXJDYXNlKCl9YDp2b2lkIDAse2Rpc2FibGVkOigpPT5hKCkudGhlbWVkQmFzaWNDb2xvclBhbGV0dGUmJl8udU4oYSgpLnRoZW1lZEJhc2ljQ29sb3JQYWxldHRlKX0pfSxfLksoXy5KSyx7ZGF0YTpBLGljb25OYW1lOkV9KSl9LCJhYiIpO18ucE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkJ1dHRvbkNsaWNrQ2FsbGJhY2s6ITB9fTtfLnFPPV8uTCgoe2RhdGE6YSxRZjpiLHN0eWxlOmMsYnV0dG9uT3ZlcnJpZGVzOmQsY2xhc3NOYW1lOmUsc3RvcFByb3BhZ2F0aW9uOmYsUms6aCxIYzprLHN6Omx9KT0+e3ZhciBbbSxuXT1fLkFDKGEpLHA9KCk9Pnt2YXIgdD1tKCk7dmFyIHY9Yz8uKCk/LmFuaW1hdGVJY29uPT09InRydWUiLHo9dC50b2dnbGVkSWNvbiYmdC50b2dnbGVkSWNvbi5pY29uVHlwZSxFPXQuZGVmYXVsdEljb24mJnQuZGVmYXVsdEljb24uaWNvblR5cGU7dD12P0V8fG51bGw6dC5pc1RvZ2dsZWQmJnp8fEV8fG51bGw7dj1tKCk7cmV0dXJuKGM/LigpPy5hbmltYXRlSWNvbj09PSJ0cnVlIj90OnQ9PT0iTElLRSImJnYuaXNUb2dnbGVkPyJMSUtFX0ZJTExFRCI6dD09PSJESVNMSUtFIiYmdi5pc1RvZ2dsZWQ/IkRJU0xJS0VfRklMTEVEIjp0KT8/dm9pZCAwfSxyPSh0LHYpPT57aD9oKHQsdik6KGY/LigpJiZ2LnN0b3BQcm9wYWdhdGlvbigpLHQ9IW0oKS5pc1RvZ2dsZWQsbih7Li4ubSgpLGlzVG9nZ2xlZDp0fSksCmw/Lih0KSl9O3JldHVybiBfLksoInl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyIix7Y2xhc3M6ZX0sXy5LKF8uSksse2RhdGE6KCk9Pnt2YXIgdD1tKCksdj1tKCksej0hKHYuaXNUb2dnbGVkPyF2LnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQ6IXYuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCksRT12O3YuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCYmKEU9e30pO3JldHVybiBkaGEoe3JlbmRlcmVyOnQsSW06cixSdTpfLllEKEUse30seiksU2M6ZD8uKCksVnk6ITAsdG9nZ2xlZDohIW0oKS5pc1RvZ2dsZWQsUWY6Yj8uKCl9KX0saWNvbjooKT0+Xy5LKF8uTUQse2ljb246cCxHZTooKT0+ISFjPy4oKT8uYW5pbWF0ZUljb24sYWN0aXZlOigpPT5tKCkuaXNUb2dnbGVkLEhjOmt9KX0pKX0sImJiIik7Xy5xTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e1JrOiEwLHN6OiEwfX07Xy4kTj17S0I6WCgiQUNDT1VOVF9MQUJFTCIpLE1COlgoIkFDVF9PTl9USElTX0NPTU1FTlQiKSxOQjpYKCJBRERfVE9fRFJPUERPV05fTEFCRUwiKSxPQjpYKCJBRF9CQURHRV9ISU5UIiksUEI6WCgiQURfQkFER0VfVEVYVCIpLGNDOlgoIkFMTF9DSEFOTkVMU19MQUJFTCIpLGVDOlgoIkFNQklFTlRfTU9ERSIpLGZDOlgoIkFNQklFTlRfTU9ERV9PRkYiKSxnQzpYKCJBTUJJRU5UX01PREVfT04iKSxoQzpYKCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfQk9EWSIpLGlDOlgoIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9IRUFERVIiKSxrQzpYKCJBUFBfVVBTRUxMX1NVQlRJVExFIiksbEM6WCgiQVBQX1VQU0VMTF9USVRMRSIpLE5zOlgoIkFVRElPX1RSQUNLIiwiQXVkaW8gVHJhY2siKSxuazpYKCJBVVRPTkFWX1RPR0dMRSIpLG1DOlgoIkFVVE9QTEFZX0lOX1RFTl9TRUNPTkRTIiksbkM6WCgiQVVUT1BMQVlfUEFVU0VEIiksb0M6WCgiQVVUT1BMQVlfUExBWV9OT1ciKSwKT3M6WCgiQVVUT1BMQVlfVVBfTkVYVF9JTiIpLFBzOlgoIkFVVE9fWk9PTSIsIkF1dG8gem9vbSIpLEJBQ0s6WCgiQkFDSyIpLHFDOlgoIkJSQU5ERURfU0lHTl9JTl9ESUFMT0dfREVTQ1JJUFRJT04iLCJBY2Nlc3MgYWxsIGZlYXR1cmVzIGFuZCBnZXQgYSBzZWFtbGVzcyBleHBlcmllbmNlIiksQ0FOQ0VMOlgoIkNBTkNFTCIpLHVDOlgoIkNIQU5ORUxfU1dJVENIRVJfTEFCRUwiKSxDTE9TRTpYKCJDTE9TRSIsImNsb3NlIiksUnM6WCgiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIiksU3M6WCgiQ0xPU0VEX0NBUFRJT05TX09GRiIpLFRzOlgoIkNMT1NFRF9DQVBUSU9OU19PTiIpLFVzOlgoIkNMT1NFRF9DQVBUSU9OU19PTl9MQU5HVUFHRSIpLHhDOlgoIkNMT1NFX1NFQVJDSF9MQUJFTCIpLHlDOlgoIkNMT1NFX1NFVFRJTkdTX0xBQkVMIiksekM6WCgiQ09NTUVOVF9NT0RBTF9DT05URU5UIiksV3M6WCgiQ09ORklSTV9PSyIpLEFDOlgoIkNPTk5FQ1RfVE9fVEhFX0lOVEVSTkVUIiksClhzOlgoIkNPUElFRF9UT19DTElQQk9BUkQiKSxZczpYKCJDT1BZIiksVG46WCgiQ09QWV9ERUJVR19JTkZPIiksWnM6WCgiQ09QWV9FTUJFRF9DT0RFIiksQ0M6WCgiQ09QWV9MSU5LX0xBQkVMIiksYnQ6WCgiQ09QWV9WSURFT19VUkwiKSxmdDpYKCJDT1BZX1ZJREVPX1VSTF9BVF9DVVJSRU5UX1RJTUUiKSxEQzpYKCJDUkVBVEVfQ0hBTk5FTF9USVRMRSIpLElDOlgoIkRFTEVURV9GUk9NX0RPV05MT0FEUyIpLFhuOlgoIkRJQUxPRyIpLERPTkU6WCgiRE9ORSIpLE5DOlgoIkRPV05MT0FEIiksa3Q6WCgiRkFJTEVEX0NPUFlfRVJST1JfTUVTU0FHRSIpLGJEOlgoIkZMQUdfQ09ORklSTSIpLGNEOlgoIkZMQUdfQ09OVEVOVCIpLGREOlgoIkZMQUdfTEFCRUwiKSxlRDpYKCJGTEFHX1RJVExFIiksZkQ6WCgiRlVMTFNDUkVFTl9HRU5FUklDX0VSUk9SIiksVkU6WCgiR0lGVFMiLCJHaWZ0cyIpLFdFOlgoIkdPT0dMRV9DT01QQU5ZIiksbXQ6WCgiSElERV9QTEFZRVJfQ09OVFJPTFMiLAoiSGlkZSBwbGF5ZXIgY29udHJvbHMiKSxZRTpYKCJISURFX1BMQVlMSVNUX1ZJREVPUyIpLFpFOlgoIkhJREVfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxIT01FOlgoIkhPTUUiLCJIb21lIiksZEY6WCgiSU5WQUxJRF9SRVNQT05TRV9SRUNFSVZFRCIpLGdGOlgoIkxFQVZFX0FfQ09NTUVOVF9USVRMRSIsIkxlYXZlIGEgY29tbWVudD8iKSxoRjpYKCJMSUJSQVJZIiwiTGlicmFyeSIpLGtGOlgoIkxJU1RFTklORyIpLExPQURJTkc6WCgiTE9BRElORyIpLGxGOlgoIkxPTkdfUFJFU1NfTUlDX1RPX1NQRUFLIiwiTG9uZyBwcmVzcyBtaWNfaWNvbl9wbGFjZWhvbGRlciB0byBzcGVhayIpLHV0OlgoIkxPT1AiKSxvRjpYKCJNRU5VX0RFU0tUT1AiKSxwRjpYKCJNRU5VX0VYSVQiKSxxRjpYKCJNRU5VX0ZFRURCQUNLIiksckY6WCgiTUVOVV9IRUxQIiksc0Y6WCgiTUVOVV9JTVBSRVNTVU0iKSx2dDpYKCJNRU5VX1BMQVlFUl9TRVRUSU5HUyIpLHRGOlgoIk1FTlVfU0VUVElOR1MiKSx1RjpYKCJNRU5VX1NJR05fSU4iKSwKdkY6WCgiTUVOVV9USVRMRSIpLHdGOlgoIk1FTlVfWU9VUl9EQVRBIiksQUY6WCgiTU9SRV9JTkZPIiksd3Q6WCgiTU9SRV9PUFRJT05TIiksYm86WCgiTU9SRV9WSURFT1MiLCJNb3JlIHZpZGVvcyIpLHh0OlgoIk1PUkVfVklERU9TX0NMT1NFX0JVVFRPTl9BUklBX0xBQkVMIiwiSGlkZSBtb3JlIHZpZGVvcyIpLHp0OlgoIk1PUkVfVklERU9TX0ZST01fQ0hBTk5FTCIsIk1vcmUgdmlkZW9zIGZyb20gJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIpLGVvOlgoIk1PUkVfVklERU9TX05FWFRfQlVUVE9OX0FSSUFfTEFCRUwiLCJOZXh0IHZpZGVvcyIpLGZvOlgoIk1PUkVfVklERU9TX1BSRVZJT1VTX0JVVFRPTl9BUklBX0xBQkVMIiwiUHJldmlvdXMgdmlkZW9zIiksQXQ6WCgiTVVURV9WT0xVTUUiKSxDRjpYKCJORVdfUExBWUxJU1QiKSxERjpYKCJORVhUX1ZJREVPIiksQ3Q6WCgiTk9USUZJQ0FUSU9OX0VSUk9SX01FU1NBR0UiKSxGRjpYKCJOT1RfRk9VTkRfQ1RBIiksR0Y6WCgiTk9UX0ZPVU5EX01FU1NBR0UiKSwKSEY6WCgiTk9UX0ZPVU5EX1RJVExFIiksSUY6WCgiTk9fRE9XTkxPQURTIiksSkY6WCgiTk9fTUlDX0lOUFVUIiksS0Y6WCgiT0ZGTElORV9DSEVDS19DT05ORUNUSU9OIiksRHQ6WCgiT09QU19NRVNTQUdFIiksTUY6WCgiT1BFTl9BUFAiKSxORjpYKCJPUEVOX1lPVVRVQkUiKSxPRjpYKCJPUEVOX1lPVVRVQkVfQVBQIiwiT3BlbiBZb3VUdWJlIGFwcCIpLFBBVVNFOlgoIlBBVVNFIiksVUY6WCgiUExBWSIpLEV0OlgoIlBMQVlFUl9DQVBUSU9OIiksRnQ6WCgiUExBWUVSX0NBUFRJT05fT0ZGIiksVkY6WCgiUExBWUVSX0NBUFRJT05fT04iKSxHdDpYKCJQTEFZRVJfRE9VQkxFX1NQRUVEX1VTRVJfRURVIiksV0Y6WCgiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0VFSyIpLFhGOlgoIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NIT1dfT1JfSElERV9QTEFZRVJfQ09OVFJPTFMiKSxIdDpYKCJQTEFZRVJfRVhJVF9GVUxMU0NSRUVOIiksSXQ6WCgiUExBWUVSX0ZBU1RGT1JXQVJEX1NFQ09ORFMiKSwKSnQ6WCgiUExBWUVSX0ZVTExTQ1JFRU4iKSxsbzpYKCJQTEFZRVJfTElWRV9MQUJFTCIpLFlGOlgoIlBMQVlFUl9MSVZFX05PVyIpLFpGOlgoIlBMQVlFUl9NSU5JTUlaRSIpLEt0OlgoIlBMQVlFUl9ORVhUIiksTHQ6WCgiUExBWUVSX1BBVVNFIiksUGc6WCgiUExBWUVSX1BMQVkiKSxNdDpYKCJQTEFZRVJfUFJFVklPVVMiKSxhRzpYKCJQTEFZRVJfUFJPR1JFU1NfQkFSIiksTnQ6WCgiUExBWUVSX1FVQUxJVFkiKSxPdDpYKCJQTEFZRVJfUVVBTElUWV9BVVRPIiksUHQ6WCgiUExBWUVSX1JFUExBWSIpLFF0OlgoIlBMQVlFUl9SRVdJTkRfU0VDT05EUyIpLG1vOlgoIlBMQVlFUl9TUEVFRCIpLGJHOlgoIlBMQVlFUl9TUEVFRFVQX1VTRVJfRURVIiksUnQ6WCgiUExBWUVSX1NQRUVEX0RFQ1JFQVNFIiksU3Q6WCgiUExBWUVSX1NQRUVEX0lOQ1JFQVNFIiksbm86WCgiUExBWUVSX1NQRUVEX05PUk1BTCIpLFR0OlgoIlBMQVlFUl9TUEVFRF9SRUNFTlQiKSxVdDpYKCJQTEFZRVJfVElNRV9EVVJBVElPTiIpLApWdDpYKCJQTEFZRVJfVElNRV9FTEFQU0VEIiksY0c6WCgiUExBWUxJU1RfREVTQ1JJUFRJT05fSU5WQUxJRF9DSEFSQUNURVJTIiksZEc6WCgiUExBWUxJU1RfTUlYX0RFVEFJTEVEX0xPTkdfQllMSU5FIiksZUc6WCgiUExBWUxJU1RfTkFNRV9JTlZBTElEX0NIQVJBQ1RFUlMiKSxmRzpYKCJQTEFZTElTVF9OQU1FX01JU1NJTkciKSxnRzpYKCJQTEFZTElTVF9OQU1FX1RPT19MT05HIiksaEc6WCgiUExBWUxJU1RfUEFORUxfRU5EX09GX1BMQVlMSVNUIiksaUc6WCgiUExBWUxJU1RfUEFORUxfTkVYVCIpLGpHOlgoIlBMQVlMSVNUX1BBTkVMX1VOTElTVEVEX1BMQVlMSVNUIiksa0c6WCgiUExBWUxJU1RfVEVYVF9JTlBVVF9DSEFSX0NPVU5UIiksbEc6WCgiUExBWV9BTEwiKSxtRzpYKCJQTEVBU0VfRklYX0VSUk9SUyIpLFh0OlgoIlBSRU1JVU1fQkFER0VfTEFCRUwiLCJQcmVtaXVtIiksbkc6WCgiUFJFVklPVVNfVklERU8iKSxvRzpYKCJQUklWQUNZX1BPTElDWSIpLHJHOlgoIlJFTE9BRCIpLApzRzpYKCJSRVFVSVJFRF9MQUJFTCIpLHlHOlgoIlNBVkVfUExBWUxJU1QiKSxBRzpYKCJTQ1JVQl9TTElERV9VU0VSX0VEVSIpLENHOlgoIlNFQVJDSCIsIlNlYXJjaCIpLERHOlgoIlNFQVJDSF9BUFBFTkRfTEFCRUwiKSxFRzpYKCJTRUFSQ0hfQ0hBTk5FTCIpLEZHOlgoIlNFQVJDSF9DTEVBUl9MQUJFTCIpLEdHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9BTEJVTV9OT19BUlRJU1QiLCJBbGJ1bSIpLEhHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9NT1ZJRSIsIk1vdmllIiksSUc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1NPTkdfTk9fQVJUSVNUIiwiU29uZyIpLEpHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9UVl9TSE9XIiwiVFYgU2hvdyIpLEtHOlgoIlNFQVJDSF9GSUxURVJTX0xBQkVMIiksTEc6WCgiU0VBUkNIX0xBQkVMIiksTUc6WCgiU0VBUkNIX1BQUF9QTEFDRUhPTERFUl9URVhUIiksTkc6WCgiU0VFS19TTElERVIiKSxPRzpYKCJTRVRUSU5HU19MQUJFTCIpLApQRzpYKCJTRVRUSU5HU19NSUNfUEVSTUlTU0lPTiIpLFNHOlgoIlNIT1JUU19UQUJfTEFCRUwiLCJTaG9ydHMiKSxURzpYKCJTSE9XX0xFU1MiKSxVRzpYKCJTSE9XX01PUkUiKSxadDpYKCJTSE9XX1BMQVlFUl9DT05UUk9MUyIsIlNob3cgcGxheWVyIGNvbnRyb2xzIiksVkc6WCgiU0hPV19QTEFZTElTVF9WSURFT1MiKSxXRzpYKCJTSE9XX1NFQVJDSF9GSUxURVJTX0xBQkVMIiksYXU6WCgiU0lHTl9JTl9MQUJFTCIpLFpHOlgoIlNJR05fSU5fT05fV0VCIikseWs6WCgiU1RBQkxFX1ZPTFVNRSIpLGpIOlgoIlNUQUJMRV9WT0xVTUVfT0ZGIiksa0g6WCgiU1RBQkxFX1ZPTFVNRV9PTiIpLGJ1OlgoIlNUQVRTX0ZPUl9ORVJEUyIpLGxIOlgoIlNVR0dFU1RJT05fRElTTUlTU0VEX0xBQkVMIiksbUg6WCgiU1VHR0VTVElPTl9ESVNNSVNTX0xBQkVMIiksbkg6WCgiU1VHR0VTVElPTl9ORVdfVklERU9TX1RFWFQiKSxvSDpYKCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9MQUJFTCIsCiJWaWV3IGltYWdlIHNvdXJjZSIpLHBIOlgoIlNVR0dFU1RJT05fVEhVTUJOQUlMX0xBQkVMIikscUg6WCgiVEVSTVNfT0ZfU0VSVklDRSIpLHJIOlgoIlRJTUVTVEFNUF9NSU5VVEVTIiksc0g6WCgiVElNRVNUQU1QX1NFQ09ORFMiKSx0SDpYKCJUT0dHTEVfT0ZGIiksdUg6WCgiVE9HR0xFX09OIiksdkg6WCgiVFJFTkRJTkciKSxkdTpYKCJUUk9VQkxFU0hPT1RfUExBWUJBQ0tfSVNTVUUiKSxldTpYKCJUUllfQUdBSU5fTEFURVIiKSx3SDpYKCJUUllfQUdBSU5fTUlDX1BFUk1JU1NJT04iKSx4SDpYKCJUVVJOX09GRl9BVVRPUExBWV9DT05GSVJNX0JVVFRPTl9USVRMRSIpLHlIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0RJQUxPR19ERVNDUklQVElPTiIpLHpIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0RJQUxPR19USVRMRSIpLGd1OlgoIlVOTVVURV9WT0xVTUUiKSxzbzpYKCJWSURFT19MSU5LX0xBQkVMIil9O18uTGhhPU9iamVjdC5mcmVlemU/T2JqZWN0LmZyZWV6ZShPYmplY3QuY3JlYXRlKG51bGwpKTp7fTtfLk5OPSgpPT57fTt3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz8uYmluZCh3aW5kb3cpO18uWk49Xy5MKGE9Pnt2YXIge2xhYmVsOmIsb25jbGljazpjLHNob3dTcGlubmVyOmQsdGk6ZSxlbmdhZ2VtZW50UGFuZWw6ZixLeDpoLERwOmsscmVsYXRpdmU6bCxvcGFjaXR5Om19PV8uREMoYSx7c2hvd1NwaW5uZXI6ITEsUks6ITEsdGk6ITEsZW5nYWdlbWVudFBhbmVsOiExLERwOiExLHJlbGF0aXZlOiExLEt4OiExLG9wYWNpdHk6dm9pZCAwfSk7cmV0dXJuIF8uSygieXR3LXNjcmltIix7Y2xhc3M6Xy5QKCJ5dFdlYlNjcmltSG9zdCIsInl0V2ViU2NyaW1Ib3N0TW9kZXJuT3ZlcmxheSIse3l0V2ViU2NyaW1Ib3N0Qm90dG9tU2hlZXQ6ZSx5dFdlYlNjcmltSG9zdEVuZ2FnZW1lbnRQYW5lbDooKT0+IWUoKSYmZigpLHl0V2ViU2NyaW1Ib3N0RHJhZ2dhYmxlRW5nYWdlbWVudFBhbmVsOigpPT4hZSgpJiZmKCkmJmgoKSx5dFdlYlNjcmltSG9zdERyYXdlckxheW91dDooKT0+IWUoKSYmIWYoKSYmaygpLHl0V2ViU2NyaW1Ib3N0UmVsYXRpdmU6bH0pLCJvbjpjbGljayI6Yywib246dG91Y2htb3ZlIjpmdW5jdGlvbihuKXtuLnByZXZlbnREZWZhdWx0KCk7Cm4uc3RvcFByb3BhZ2F0aW9uKCl9LHN0eWxlOigpPT5tKCkhPT12b2lkIDA/YGJhY2tncm91bmQ6cmdiYSgwLCAwLCAwLCAke20oKX0pO2A6IiJ9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFdlYlNjcmltRGlhbG9nQ29udGFpbmVyIn0sXy5LKF8uWkwsbnVsbCkpfSksXy5LKCJidXR0b24iLHtjbGFzczoieXRXZWJTY3JpbUhpZGRlbkJ1dHRvbiIsImFyaWEtbGFiZWwiOmJ9KSl9LCJjYiIpO3ZhciBGTixFTixJTixHTixMTixITixraGE7Rk49MDtFTj1uZXcgTWFwO0lOPW51bGw7R049bnVsbDtMTj0hMTtfLkROPVtdO0hOPSFfLngoImNhbmNlbF9tb2RhbF9wZW5kaW5nX2FuaW1hdGlvbnNfa2lsbHN3aXRjaCIpO2toYT0hXy54KCJyZXNob3dfbmVzdGVkX21vZGFsX3NpYmxpbmdzX2tpbGxzd2l0Y2giKTt2YXIgck87Cl8uc089Xy5MKCh7dHE6YX0pPT57ZnVuY3Rpb24gYihHKXtpZigoYSgpJiZkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudHx8IWEoKSYmIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSYmRyl7dmFyIEQ9Ry5RayxIPUcudmlld01vZGVsO2sudmFsdWU/RihHKTpEPy5pc0Rpc2FibGVkJiZEPy5kaXNhYmxlZENvbW1hbmQ/KENOKCEwKSxfLkFKKEQuZGlzYWJsZWRDb21tYW5kLGgudmFsdWUsITEpKTood2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2JvdHRvbS1zaGVldCImJl8uJE0oImJvdHRvbS1zaGVldCIsITApLGsudmFsdWU9ITAsZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImJvdHRvbS1zaGVldC1vcGVuIiwiIiksXy5vTSgpLmRpc3BhdGNoKGJOKCEwKSksck89Xy5tRygpLHAoRCksdihIKSxDTighMCksaC52YWx1ZXx8Xy5JcChFcnJvcigiRmQiKSksXy5KTihoLnZhbHVlLEQ/LmZvY3VzT25DbG9zZSwhMCkpfX1mdW5jdGlvbiBjKCl7ay52YWx1ZSYmKGsudmFsdWU9ITEsZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoImJvdHRvbS1zaGVldC1vcGVuIiksCm4oKT8uR2g/LigpLHJPPXZvaWQgMCxwKHZvaWQgMCksdih2b2lkIDApLENOKCExKSxfLktOKGgudmFsdWUpLF8ub00oKS5kaXNwYXRjaChiTighMSkpKX1mdW5jdGlvbiBkKCl7ay52YWx1ZSYmd2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2JvdHRvbS1zaGVldCImJmMoKX1hc3luYyBmdW5jdGlvbiBlKCl7YXdhaXQgXy5GSjt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjYm90dG9tLXNoZWV0IiYmKGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50fHxfLllNP18uJE0oIiIsITApOmF3YWl0IF8uWk0oKSxkKCkpO0EoKSYmKGIoQSgpKSxGKHZvaWQgMCkpfWZ1bmN0aW9uIGYoRyl7Xy56TigpO0cuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGg9Xy51RSgiYm90dG9tLXNoZWV0LWNvbnRhaW5lciIpLGs9Xy51TSghMSksW2wsbV09Xy5KKHZvaWQgMCx2b2lkIDAsInZXdVhrYiIpLG49bCxwPW0sW3IsdF09Xy5KKHZvaWQgMCx2b2lkIDAsIkJmUkFMYiIpLHY9dCxbeixFXT1fLkoodm9pZCAwLHZvaWQgMCwKInk3dE5sYyIpLEE9eixGPUUsQz0oKT0+ISghbigpJiYhcigpKTtfLlVKKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGQpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IixjKTtfLnkoKS5yZXNvbHZlKF8uY0wpLlB6KHt3ZzpHPT57RyYmYih7dmlld01vZGVsOkcudmlld01vZGVsLFFrOkcuUWt9KX0sSmU6YXN5bmMoKT0+e2F3YWl0IGUoKX0sZG06YXN5bmMoKT0+ISFfLnhOKCksWHA6KCk9PmgudmFsdWUsb3c6Rz0+R30sYSgpKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IixjKX0pfSk7cmV0dXJuIF8uSygiYm90dG9tLXNoZWV0LWNvbnRhaW5lciIse2VsOmgscm9sZToiZGlhbG9nIixoaWRkZW46KCk9PiFDKCksImFyaWEtbW9kYWwiOiEwLCJhcmlhLWxhYmVsIjooKT0+bigpPy5oZWFkZXJUaXRsZT8KbigpLmhlYWRlclRpdGxlOl8uJE4uWG59LF8uSyhfLk8se0E6Qyx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLlpOLHtsYWJlbDpfLiROLkNMT1NFLG9uY2xpY2s6Xy56Tix0aTohMH0pLF8uSyhfLk8se0E6cix0aGVuOkc9Pl8uSyhsTyx7ZGF0YTpHfSksVzooKT0+Xy5LKF8uTyx7QTpuLHRoZW46Rz0+Xy5wRyhyT3x8e30sKCk9Pl8uSyhqTyx7SGE6KCk9PkcoKS5IYSxwZjooKT0+RygpLnBmLEdrOigpPT5HKCkuR2ssR2g6KCk9PkcoKS5HaCxmb2N1c09uQ2xvc2U6KCk9PkcoKS5mb2N1c09uQ2xvc2UsaXNEaXNhYmxlZDooKT0+RygpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5HKCkuZGlzYWJsZWRDb21tYW5kLFVlOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuVWV9KSxqaDooKT0+ISFHKCkuVWUsR2I6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5HYn0pLFhpOigpPT4hIUcoKS5HYixTZTooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+CkcoKS5TZX0pLGhoOigpPT4hIUcoKS5TZSxoZWFkZXJUaXRsZTooKT0+RygpLmhlYWRlclRpdGxlLGhlYWRlclN1YnRpdGxlOigpPT5HKCkuaGVhZGVyU3VidGl0bGUsV2Y6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5XZn0pLGloOigpPT4hIUcoKS5XZixOZjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLk5mfSksVWY6KCk9PiEhRygpLk5mLE9mOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuT2Z9KSxWZjooKT0+ISFHKCkuT2YsUmU6KCk9PkcoKS5SZSxNZjooKT0+RygpLk1mLFBmOigpPT5HKCkuUGZ9KSl9KX0pLF8uSygiYnV0dG9uIix7Y2xhc3M6ImNsb3NlLWJ1dHRvbiIsImFyaWEtbGFiZWwiOl8uJE4uQ0xPU0UsIm9uOmNsaWNrIjpmfSkpfSkpfSwiZGIiKTtfLnNPLmlkb21Db21wYXQ9ITA7Xy50Tz1fLkwoKHthcmlhTGFiZWw6YSxVSDpiLGFyaWFQcmVzc2VkOmMsYXJpYUV4cGFuZGVkOmQsYXJpYURpc2FibGVkOmUsY2xhc3NOYW1lOmYsY29udGVudDpoLGJxOmssaWQ6bCxuYW1lOm0sb25jbGljazpuLG9udG91Y2hzdGFydDpwLG9udG91Y2htb3ZlOnIsb250b3VjaGVuZDp0LGJ4OnZ9KT0+e3Y9Xy51RSgiYnV0dG9uIix2KTtyZXR1cm4gXy5LKCJidXR0b24iLHtpZDpsLGNsYXNzOl8uUCgiaWNvbi1idXR0b24iLGYpLGVsOnYsImFyaWEtbGFiZWwiOmEsImFyaWEtbGFiZWxsZWRieSI6YiwiYXJpYS1wcmVzc2VkIjpjLCJhcmlhLWV4cGFuZGVkIjpkLCJhcmlhLWhhc3BvcHVwIjprLCJhcmlhLWRpc2FibGVkIjplLCJvbjpjbGljayI6biwib246dG91Y2hzdGFydCI6bE4ocCksIm9uOnRvdWNobW92ZSI6bE4ociksIm9uOnRvdWNoZW5kIjpsTih0KX0sXy5LKF8uTyx7QTooKT0+ISFoLHRoZW46KCk9Pmg/LigpLFc6KCk9Pl8uSyhfLk1ELHtpY29uOm19KX0pKX0sImViIik7Cl8udE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntjb250ZW50OiEwLG9uY2xpY2s6ITAsb250b3VjaHN0YXJ0OiEwLG9udG91Y2htb3ZlOiEwLG9udG91Y2hlbmQ6ITAsYng6ITB9fTt2YXIgUk4sUE4sT047Uk49ITA7ClBOPXtBVkFUQVJfQ0lSQ0xFX0JMVUU6IkFWQVRBUl9MT0dHRURfT1VUIixCQUNLOiJBUlJPV19CQUNLIixCTE9DS19VU0VSOiJCTE9DSyIsQlJPQURDQVNUOiJwb2RjYXN0IixDQVBUSU9OUzoiQ0xPU0VEX0NBUFRJT04iLENIRUNLX0JMVUU6IkNIRUNLIixDSEVDS19DSVJDTEVfRklMTEVEOiJDSEVDS19DSVJDTEVfRklMTEVEIixDSEVDS19DSVJDTEVfVEhJQ0s6IkNIRUNLX0NJUkNMRV9PVVRMSU5FIixDT1VSU0U6ImxpZ2h0YnVsYiIsRElTTElLRV9DT01NRU5UOiJESVNMSUtFIixESVNMSUtFX0NPTU1FTlRfRklMTEVEOiJESVNMSUtFX0ZJTExFRCIsRElTTElLRV9TRUxFQ1RFRDoiRElTTElLRV9GSUxMRUQiLERJU01JU1NBTF9CTEFDSzoiRElTTUlTU0FMIixFWFBBTkRfTU9SRToiRVhQQU5EIixGQVNISU9OX0xPR086ImZhc2hpb24iLEdBTUlORzoiZ2FtaW5nIixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHRUFSOiJTRVRUSU5HUyIsSEVMUDoiSEVMUF9PVVRMSU5FIixMSUtFX0NPTU1FTlQ6IkxJS0UiLApMSUtFX0NPTU1FTlRfRklMTEVEOiJMSUtFX0ZJTExFRCIsTElLRV9TRUxFQ1RFRDoiTElLRV9GSUxMRUQiLExJVkU6IlJBREFSX0xJVkUiLExPR086IllPVVRVQkUiLE1PUkVfQ0hFVlJPTjoiRVhQQU5EIixNT1JFX1ZFUlRfV0hJVEU6Ik1PUkVfVkVSVCIsTVVTSUM6ImF1ZGlvIixNVVNJQ19GSUxMRUQ6ImF1ZGlvX2ZpbGxlZCIsTkVXUzoibmV3cyIsT0ZGSUNJQUxfQVJUSVNUX0JBREdFOiJhdWRpbyIsUExBWUFCTEVTX0xPR086InRpY190YWNfdG9lIixQTEFZRVJfTkVYVDoiU0tJUF9ORVhUX0ZJTExFRCIsUExBWUVSX1BBVVNFOiJQQVVTRV9GSUxMRUQiLFBMQVlFUl9QTEFZOiJQTEFZX0FSUk9XX0ZJTExFRCIsUExBWUVSX1BSRVZJT1VTOiJTS0lQX1BSRVZJT1VTX0ZJTExFRCIsUExBWUVSX1JFUExBWToiUkVQTEFZIixQTEFZX0FMTDoiUExBWV9BUlJPV19GSUxMRUQiLFJFTU9WRToiRElTTUlTU0FMIixTSE9SVFNfRElTTElLRToic2hvcnRzX3RodW1ic19kb3duIixTSE9SVFNfTElLRToic2hvcnRzX3RodW1ic191cCIsClNQT05TT1JTSElQX1NUQVI6IlNQT05TT1JTSElQX1NUQVJfRklMTEVEIixUQUJfQUNDT1VOVDoiQVZBVEFSX0xPR0dFRF9PVVQiLFRBQl9UUkVORElORzoiZmlyZSIsVEFCX1RSRU5ESU5HX0ZJTExFRDoiZmlyZV9maWxsZWQiLFRSRU5ESU5HOiJmaXJlIixUUk9QSFk6InRyb3BoeSIsVk9MVU1FX0RPV05fT1VUTElORToiVk9MVU1FX0RPV04iLFZPTFVNRV9VUDoiVk9MVU1FX1VQX0ZJTExFRCIsVk9MVU1FX1VQX09VVExJTkU6IlZPTFVNRV9VUCIsWU9VVFVCRV9MT0dPOiJMT0dPX1dJVEhfVEVYVCIsWU9VVFVCRV9QUkVNSVVNX0xPR086IllPVVRVQkVfUFJFTUlVTV9MT0dPX1NIT1JUIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoieW91dHViZV9zaG9ydHNfbm9fdHJpYW5nbGVfZmlsbGVkIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZV9maWxsZWQifTsKT049e0xPR086IkxPR08iLFBMQVlBQkxFU19MT0dPOiJwbGF5YWJsZXMiLFNIT1JUU19ESVNMSUtFOiJ0aHVtYl9kb3duIixTSE9SVFNfTElLRToidGh1bWJfdXAiLFRBQl9UUkVORElORzoidHJlbmRpbmciLFRBQl9UUkVORElOR19GSUxMRUQ6InRyZW5kaW5nX2ZpbGxlZCIsVFJFTkRJTkc6InRyZW5kaW5nIn07Cl8udU89Xy5MKCh7aWNvbjphLGFjdGl2ZTpiLGNsYXNzTmFtZTpjLHN0eWxlOmQseXA6ZSxoYzpmLHJvbGU6aCxHZTprLEhjOmwsYXJpYUhpZGRlbjptLGFyaWFFeHBhbmRlZDpuLGFyaWFMYWJlbDpwLGlkOnIsYWc6dCxzaXplOnZ9KT0+e25oYSgpO3ZhciB6PSgpPT5RTihhPy4oKSksRT1fLk4oKCk9PnthOnt2YXIgRj1RTihhPy4oKSksQz1iPy4oKTt2YXIgRz12Py4oKTtpZihGKXt2YXIgRD1fLnkoKS5yZXNvbHZlKF8uWEwpLEg9Ri50b0xvd2VyQ2FzZSgpO0Y9e2ljb25OYW1lOkgsaWNvblN0eWxlOkguZW5kc1dpdGgoIl9maWxsZWQiKXx8Ri5lbmRzV2l0aCgiX29uIil8fEM/InlvdXR1YmVfZmlsbCI6dm9pZCAwLGljb25TaXplOkd9O0M9RC5qKEYpOyFDJiZHJiYoRi5pY29uU2l6ZT12b2lkIDAsQz1ELmooRikpOyFDJiZILmVuZHNXaXRoKCJfZmlsbGVkIikmJihGLmljb25OYW1lPUguc3Vic3RyaW5nKDAsSC5sZW5ndGgtNyksQz1ELmooRikpO0N8fChGLmljb25TdHlsZT12b2lkIDAsCkM9RC5qKEYpKTtpZihDKXtHPUY7YnJlYWsgYX1fLklwKG5ldyBfLlhqKCJJY29uIG5vdCBzdXBwb3J0ZWQiLHtpY29uTmFtZTpGLmljb25OYW1lfSkpfUc9dm9pZCAwfXJldHVybiBHfSx2b2lkIDAsIk02WGtHYiIpLEE9KCk9Pih7aWNvbldpZHRoOiIxMDAlIixpY29uSGVpZ2h0OiIxMDAlIixhZzp0Py4oKX0pO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5RTihhPy4oKSkmJms/LigpJiZiPy4oKSE9PXZvaWQgMCYmT2JqZWN0LnZhbHVlcyhBaGEpLmluY2x1ZGVzKFFOKGE/LigpKXx8IiIpfSwoKT0+Xy5LKF8udE0se2FuaW1hdGVkSWNvblR5cGU6eixhY3RpdmU6KCk9PiEhYj8uKCksSGM6bCxzaXplOnYsSEE6KCk9Pl8uSyhfLnVPLHtpY29uOmEsYWN0aXZlOmIsR2U6ITF9KX0pKSxfLksoXy5DRSx7d2hlbjooKT0+UU4oYT8uKCkpJiZFKCl9LCgpPT5fLksoImMzLWljb24iLHtjbGFzczpjLHN0eWxlOmQscm9sZTpoLCJkYXRhLXNlbGVjdGVkIjplLCJkYXRhLWRpc2FibGVkIjpmLAoiZmlsbC1pY29uIjooKT0+Yj8uKCk9PT0hMCxpZDpyLCJpY29uLXN0YXRlLW91dGxpbmUiOigpPT5iPy4oKT09PSExPyIiOnZvaWQgMCwiaWNvbi1zdGF0ZS1maWxsZWQiOigpPT5iPy4oKT09PSEwPyIiOnZvaWQgMCwiYXJpYS1oaWRkZW4iOm0sImFyaWEtZXhwYW5kZWQiOm4sImFyaWEtbGFiZWwiOnB9LF8uSyhfLllMLHtkYXRhOigpPT5FKCksb3B0aW9uczpBfSkpKSl9LCJmYiIpO18udU8uaWRvbUNvbXBhdD0hMDtfLkwoKHtuYW1lOmEsbGFiZWw6YixvbmNsaWNrOmMsYnE6ZCxyb2xlOmV9KT0+Xy5LKCJkaXYiLHtjbGFzczoiaWNvbi1idXR0b24iLHJvbGU6ZSwiYXJpYS1sYWJlbCI6YiwiYXJpYS1oYXNwb3B1cCI6ZCwib246Y2xpY2siOmN9LF8uSyhfLnVPLHtpY29uOmF9KSksImdiIikuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbmNsaWNrOiEwfX07CnZhciBKaGE9ImFsaWduX2xlZnQgYXJyb3dfbGVmdCBmbGFnIGhvbWUgbG9nb193aXRoX3RleHQgbWVzc2FnZV9idWJibGVfYWxlcnQgbWljIG9wZW5fbmV3IG92ZXJmbG93X2hvcml6b250YWwgb3ZlcmZsb3dfdmVydGljYWwgcGxheV9jaXJjbGVfc2hvcnRzIHNlYXJjaCBzaG9ydHNfY29tbWVudCBzaG9ydHNfc2hhcmUgc2hvcnRzX3RodW1ic19kb3duIHNob3J0c190aHVtYnNfdXAgd2F2ZWZvcm0geF9tYXJrIHlvdXR1YmVfc2hvcnRzIHlvdXR1YmVfc2hvcnRzX2JyYW5kXzI0Ii5zcGxpdCgiICIpLEloYT0iYWxlcnRfYnViYmxlIGFycm93X2xlZnQgYXJyb3dfdXBfcmlnaHQgZmxhZyBob21lIGxvZ29fd2l0aF90ZXh0IG1pYyBvdmVyZmxvd19ob3Jpem9udGFsIG92ZXJmbG93X3ZlcnRpY2FsIHBsYXlfY2lyY2xlX3Nob3J0cyBzZWFyY2ggc2hhcmUgc2hvcnRzIHRleHRfYWxpZ25fbGVmdCB0ZXh0X2J1YmJsZSB0aHVtYl9kb3duIHRodW1iX3VwIHdhdmVmb3JtIHggeW91dHViZV9zaG9ydHNfYnJhbmRfMjQiLnNwbGl0KCIgIik7Xy52Tz1fLkwoYT0+e3ZhciB7aWNvblR5cGU6YixsYWJlbDpjLGFyaWFMYWJlbDpkLGFyaWFQcmVzc2VkOmUsZGlzYWJsZWQ6ZixvbmNsaWNrOmgsc3R5bGU6ayxWbDpsLExtOm0sT3g6bixiYXNpY0NvbG9yUGFsZXR0ZURhdGE6cCxkYXRhOnIsYXJpYUhpZGRlbjp0fT1fLkRDKGEse2ljb25UeXBlOiIiLFZsOiExLExtOiIiLE94OiExLGFyaWFIaWRkZW46ITF9KTtfLnVFKCJkaXYiLHY9PntyPy4oKSYmbWhhKHYscj8uKCkpfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJidXR0b24td2l0aC1pY29uIGJ1dHRvbi1yZW5kZXJlciBjb21wYWN0IixtKSxzdHlsZTooKT0+e3ZhciB2O2lmKHY9cD8uKCkpe3ZhciB6PSIiLEU7Zm9yKEUgaW4gdil7aWYoIXYuaGFzT3duUHJvcGVydHkoRSkpY29udGludWU7bGV0IEE9dltFXSxGPUUuaW5jbHVkZXMoImZvcmVncm91bmQiKT8iY29sb3IiOlN0cmluZyhFKS5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCk7QSYmCih6Kz1gJHtGfToke18uTkQoQSl9O2ApfXY9en1lbHNlIHY9dm9pZCAwO3JldHVybiB2Py50b1N0cmluZygpfSwiZGF0YS1zdHlsZSI6KCk9PnR5cGVvZiBrPy4oKT09PSJzdHJpbmciP2soKTprPy4oKT8uc3R5bGVUeXBlLCJkYXRhLWljb24tb25seSI6KCk9PiFjPy4oKSwiaXMtYnVzeSI6bCwiYXJpYS1idXN5IjpsLCJhcmlhLWhpZGRlbiI6dH0sXy5LKCJidXR0b24iLHtjbGFzczoiYnV0dG9uLXdpdGgtaWNvbi1idXR0b24iLCJvbjpjbGljayI6ZnVuY3Rpb24odil7aD8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9LGRpc2FibGVkOmYsImFyaWEtbGFiZWwiOigpPT5kPy4oKXx8IiIsImFyaWEtcHJlc3NlZCI6KCk9PmU/LigpPz92b2lkIDB9LF8uSygiZGl2Iix7Y2xhc3M6ImJ1dHRvbi13aXRoLWljb24taW5uZXIifSxfLksoXy5PLHtBOigpPT4hbj8uKCkmJmIoKSx0aGVuOigpPT5fLksoXy51Tyx7aWNvbjpiLGNsYXNzTmFtZToiYnV0dG9uLXJlbmRlcmVyLWljb24ifSl9KSxfLksoImRpdiIsCntjbGFzczoiYnV0dG9uLXJlbmRlcmVyLXRleHQifSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKF8uSUose2RhdGE6Y30pfSkpLF8uSyhfLk8se0E6KCk9Pm4oKSYmYigpLHRoZW46KCk9Pl8uSyhfLnVPLHtpY29uOmIsY2xhc3NOYW1lOiJidXR0b24tcmVuZGVyZXItaWNvbiJ9KX0pLF8uSyhfLk8se0E6bCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJidXR0b24td2l0aC1pY29uLXNwaW5uZXIgc3Bpbm5lciJ9KX0pKSkpfSwiaWIiKTtfLkhDW18uUkFbImRlZmF1bHQiXV09b2hhOyhmdW5jdGlvbigpe3ZhciBhPV8uY0I7Xy5jQj1iPT57YT8uKGIpO18uT0UoKCk9Pntmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKylUTihiW2NdKX0pfX0pKCk7Xy53Tz1fLkwoKHtjaGlsZHJlbjphLG9uY2xpY2s6Yixyb2xlOmMsSHk6ZH0pPT57dmFyIGU9Xy51RSgiYnV0dG9uIik7Xy5VSigoKT0+e2Q/LihlLnZhbHVlKX0pO3JldHVybiBfLksoInl0bS1tZW51LWl0ZW0iLG51bGwsXy5LKCJidXR0b24iLHtjbGFzczoibWVudS1pdGVtLWJ1dHRvbiIsZWw6ZSwib246Y2xpY2siOmIscm9sZTpjfSxhKSl9LCJqYiIpO18ud08uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbmNsaWNrOiEwLEh5OiEwfX07Xy5MKCh7dXJsOmEsbEs6YixjaGlsZHJlbjpjfSk9Pl8uSygieXRtLW1lbnUtaXRlbSIsbnVsbCxfLksoImEiLHtocmVmOmEsY2xhc3M6Im1lbnUtaXRlbS1idXR0b24iLHRhcmdldDooKT0+Yj8uKCk/Il9ibGFuayI6dm9pZCAwfSxjKSksImtiIikuaWRvbUNvbXBhdD0hMDsKXy5MKCh7Y29tbWFuZDphLGNoaWxkcmVuOmJ9KT0+Xy5LKCJ5dG0tbWVudS1pdGVtIixudWxsLF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCk/P3ZvaWQgMCxjbGFzc05hbWU6Im1lbnUtaXRlbS1idXR0b24ifSxiKSksImxiIikuaWRvbUNvbXBhdD0hMDt2YXIgVk4sV04sW1lOLHBoYV09Xy5KKG51bGwsdm9pZCAwLCJHQ0tnOGUiKSx4Tz1fLkwoKHtEaDphfSk9Pl8uSyhfLndPLG51bGwsXy5LKCJkaXYiLHtjbGFzczoibWVudS1jYW5jZWwtYnV0dG9uIn0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5UZCxjbGFzc05hbWU6Im1lbnUtY2FuY2VsLWljb24ifSksKCk9PmEoKS5jYW5jZWxCdXR0b25MYWJlbCkpLCJtYiIpLFhOPV8uTCgoe0RoOmEsY2hpbGRyZW46Yn0pPT57dmFyIGM9Xy51RSgiZGl2IiwoKT0+e30pO3JldHVybiBfLksoImRpdiIse2VsOmMsY2xhc3M6Xy5QKCJtZW51LWNvbnRlbnQiLHsibWVudS1ib3R0b20iOigpPT5hKCkubnEsIm1lbnUtc2hvdy1pY29ucyI6KCk9PmEoKS5IYXx8YSgpLm5xfHxhKCkuaXNGdWxsV2lkdGgsInJvdW5kZWQtY29udGFpbmVyIjooKT0+IWEoKS5pc0Z1bGxXaWR0aH0pLCJvbjpjbGljayI6ZnVuY3Rpb24oKXthKCkuU3d8fGEoKS5FSXx8Xy5VTigpfSxyb2xlOigpPT5hKCkuaXNGdWxsV2lkdGg/CnZvaWQgMDoiZGlhbG9nIiwiYXJpYS1tb2RhbCI6KCk9PiFhKCkuaXNGdWxsV2lkdGgsImFyaWEtbGFiZWxsZWRieSI6KCk9PmEoKS5WSH0sYixfLksoXy5PLHtBOigpPT4hYSgpLlN3LHRoZW46KCk9Pl8uSyhfLk8se0E6KCk9PiEhYSgpLm5xLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1tZW51LWNhbmNlbCJ9LF8uSyh4Tyx7RGg6YX0pKSxXOigpPT5fLksoeE8se0RoOmF9KX0pfSkpfSwibmIiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIixhTyk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGFPKTt2YXIgeU87eU89Xy5MKGE9Pnt2YXIgYj1hLmNoaWxkcmVuLGM9Xy5adHx8dm9pZCAwLGQ9Xy5tRygpO3JldHVybiBfLksoInl0bS1tZW51IixudWxsLGIoe29uQ2xpY2s6ZT0+e2Euc3RvcFByb3BhZ2F0aW9uPy4oKSYmZS5zdG9wUHJvcGFnYXRpb24oKTthLnByZXZlbnREZWZhdWx0Py4oKSYmZS5wcmV2ZW50RGVmYXVsdCgpO3FoYSh7Y29udGVudDphLmNvbnRlbnQsY2FuY2VsQnV0dG9uTGFiZWw6YS5jYW5jZWxCdXR0b25MYWJlbD8uKCksVGQ6YS5UZD8uKCksY2xhc3NOYW1lOmEuZGY/LigpLGZvY3VzT25DbG9zZTplLmN1cnJlbnRUYXJnZXQsSGE6YS5IYT8uKCksaXNEaXNhYmxlZDphLmlzRGlzYWJsZWQ/LigpLGRpc2FibGVkQ29tbWFuZDphLmRpc2FibGVkQ29tbWFuZD8uKCksb3duZXI6YyxGQTpkfSl9fSkpfSwicGIiKTsKXy56Tz1fLkwoYT0+Xy5LKHlPLHsuLi5hLGNvbnRlbnQ6YS5jaGlsZHJlbn0sKHtvbkNsaWNrOmJ9KT0+Xy5LKF8uTyx7QTooKT0+YS5idXR0b25PdmVycmlkZXM/LigpLHRoZW46Yz0+Xy5LKF8uSksse2RhdGE6KCk9Pih7b25UYXA6YixpY29uUG9zaXRpb246Imljb24tb25seSIsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHNpemU6Ik0iLHN0YXRlOiJhY3RpdmUiLGFjY2Vzc2liaWxpdHlMYWJlbDphLmxhYmVsPy4oKSwuLi5jKCl9KSxpY29uTmFtZTphLmljb25UeXBlfSksVzooKT0+Xy5LKF8udE8se25hbWU6YS5pY29uVHlwZSxhcmlhTGFiZWw6YS5sYWJlbCxjbGFzc05hbWU6Xy5QKGEuRmgse3NtYWxsOmEubGJ9KSxvbmNsaWNrOmIsYnE6ITB9KX0pKSwicWIiKTtfLnpPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Y2hpbGRyZW46ITB9fTsKXy5NaGE9Xy5MKGE9Pl8uSyh5Tyx7Li4uYSxjb250ZW50OmEuY2hpbGRyZW59LCh7b25DbGljazpifSk9Pl8uSyhfLk8se0E6KCk9PmEuYnV0dG9uT3ZlcnJpZGVzPy4oKSx0aGVuOmM9Pl8uSyhfLkpLLHtkYXRhOigpPT4oe29uVGFwOmIsaWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzaXplOiJNIixzdGF0ZToiYWN0aXZlIixhY2Nlc3NpYmlsaXR5TGFiZWw6YS5hcmlhTGFiZWw/LigpLFdhOmEubGFiZWw/LigpP18uQUYoYS5sYWJlbCgpKTp2b2lkIDAsLi4uYygpfSksaWNvbk5hbWU6YS5pY29uVHlwZX0pLFc6KCk9Pl8uSyhfLnZPLHtpY29uVHlwZTphLmljb25UeXBlLGxhYmVsOmEubGFiZWwsYXJpYUxhYmVsOmEuYXJpYUxhYmVsLGFyaWFQcmVzc2VkOiExLG9uY2xpY2s6YixzdHlsZTphLnN0eWxlLFZsOmEuVmwsTG06YS5hSX0pfSkpLCJyYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgT2hhLFBoYSxCTyxRaGEsUmhhLENPLFNoYSxHTyxITyxWaGEsVWhhLFdoYSxYaGEsWWhhLFpoYSxhaWEsUE8sYmlhLGNpYSxkaWEsZWlhLGZpYSxoaWEsZ2lhLFdPLGlpYSxYTyxqaWEsa2lhLGVQLGhQLGxQLG1pYSxuaWEsa1AsalAsTmhhLFRoYTtPaGE9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIG9mIE9iamVjdC52YWx1ZXMoTmhhKSlpZihfLmlxKGIpPT09YSlyZXR1cm4hMDtyZXR1cm4hMX07ClBoYT1mdW5jdGlvbihhLGIsYyxkLGUsZixoLGssbCl7dmFyIG09KDAsXy5EdykoKTtmPW5ldyBfLlR3KHt2ZVR5cGU6Yix5b3V0dWJlRGF0YTpmLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTtsPV8uV3coe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOmx9LG0pO2UmJihsLmN0dEF1dGhJbmZvPWUpO2U9e2NzbjptLHBhZ2VWZTpmLmdldEFzSnNvbigpfTtfLngoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmayYmay5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKGUuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9ay5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7YyYmYy52aXN1YWxFbGVtZW50PyhlLmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOmMuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpjLnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJihlLmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6YyYmXy5JcChuZXcgXy5YaigibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKYikpO2QmJihlLmNsb25lQ3NuPWQpO2E/Xy5DcCgic2NyZWVuQ3JlYXRlZCIsZSxhLGwpOl8uRXAoInNjcmVlbkNyZWF0ZWQiLGUsbCk7Xy5zbShfLkN3LG5ldyBfLkJ3KG0pKTtfLkV3LmNsZWFyKCk7Xy5Gdy5jbGVhcigpO18uR3cuY2xlYXIoKTtyZXR1cm4gbX07Xy5BTz1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLnd4KGEsYixjLGUsaCl9O0JPPWZ1bmN0aW9uKGEsYil7YS5LLmhhcyhiKXx8YS5LLnNldChiLFtdKTtyZXR1cm4gYS5LLmdldChiKX07ClFoYT1mdW5jdGlvbihhLGIsYz0wKXtfLlZpKCgpPT57Yi50aGVuKGQ9PnthLmouaGFzKGMpJiZhLkImJmEuQigpO3ZhciBlPV8uaXEoYyksZj1fLlZ3KGMpO2lmKGUmJmYpe3ZhciBoPXthdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTozfTtkPy5yZXNwb25zZT8udHJhY2tpbmdQYXJhbXMmJl8uYngoYS5jbGllbnQsZSxmLF8uVXcoZC5yZXNwb25zZS50cmFja2luZ1BhcmFtcyksITEsaCk7ZD8ucGxheWVyUmVzcG9uc2U/LnRyYWNraW5nUGFyYW1zJiZfLmJ4KGEuY2xpZW50LGUsZixfLlV3KGQucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07UmhhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5ELmxlbmd0aDtiKyspe3ZhciBjPWEuRFtiXTt0cnl7YygpfWNhdGNoKGQpe18uR3AoZCl9fWEuRC5sZW5ndGg9MDtmb3IoYj0wO2I8YS5VLmxlbmd0aDtiKyspe2M9YS5VW2JdO3RyeXtjKCl9Y2F0Y2goZCl7Xy5HcChkKX19fTsKQ089ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9dm9pZCAwO2QubGF5ZXJ8fChkLmxheWVyPTApO2U9ZC5wYXJlbnRMYXllciE9PXZvaWQgMD9kLnBhcmVudExheWVyOmQubGF5ZXI7dmFyIGY9Xy5pcShlKTtlPV8uVncoZSk7dmFyIGg9Y3x8ZSxrO2gmJihkLnBhcmVudENzbiE9PXZvaWQgMD9rPXtjbGllbnRTY3JlZW5Ob25jZTpkLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmYmJmYhPT0iVU5ERUZJTkVEX0NTTiImJihrPXtjbGllbnRTY3JlZW5Ob25jZTpmLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgbCxtPV8udygiRVZFTlRfSUQiKTtmPT09IlVOREVGSU5FRF9DU04iJiZtJiYobD17c2VydmxldERhdGE6e3NlcmlhbGl6ZWRTZXJ2bGV0RXZlbnRJZDptfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmZiYmXy5reChhLGYpO18ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSYmaCYmZiYmXy5jeChoLGYpO3RyeXt2YXIgbj1QaGEoYS5jbGllbnQsYixrLApkLnRwLGQuY3R0QXV0aEluZm8sbCxkLmltcGxpY2l0R2VzdHVyZVR5cGUsZC5sb2dnaW5nRXhwZWN0YXRpb25zLGQuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKHIpe18uY3cocix7R0s6Yixyb290VmU6ZSxxSzpjLG5JOmYscEs6ayx0cDpkLnRwfSk7Xy5HcChyKTtyZXR1cm59Xy5tcShuLGIsZC5sYXllcixkLmN0dEF1dGhJbmZvKTtmJiZmIT09IlVOREVGSU5FRF9DU04iJiZlJiYhT2hhKGYpJiYoXy52eChhLmNsaWVudCxmLGUsITApLGEuby5kZWxldGUoZikpO2I9Qk8oYSxkLmxheWVyfHwwKTtiLmxlbmd0aD4wJiYhYltiLmxlbmd0aC0xXS5jc24mJihiW2IubGVuZ3RoLTFdLmNzbj1ufHwiIik7Xy56cSh7Y2xpZW50U2NyZWVuTm9uY2U6bn0pO18uRHgoKTtfLlZpKF8uQngoKS5LKS5iaW5kKF8uQngoKSkoKTt2YXIgcD1fLlZ3KGQubGF5ZXIpO2YmJmYhPT0iVU5ERUZJTkVEX0NTTiImJnAmJl8ueCgibXVzaWNfd2ViX21hcmtfcm9vdF92aXNpYmxlIikmJl8uVmkoXy5BTykodm9pZCAwLApuLHAsdm9pZCAwLHZvaWQgMCx2b2lkIDApO2Euai5kZWxldGUoZC5sYXllcnx8MCk7YS5CPXZvaWQgMDthLmhhLmdldChkLmxheWVyKT8uZm9yRWFjaCgocix0KT0+e3I/Xy5peChhLHQscixkLmxheWVyKTpwJiZfLml4KGEsdCxwLGQubGF5ZXIpfSk7UmhhKGEpfTtTaGE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5qLmFkZChkLmxheWVyfHwwKTthLkI9KCk9PntDTyhhLGIsYyxkKTt2YXIgZT1fLlZ3KGQubGF5ZXIpO2lmKGUpe2xldCBmPV8uaXEoZC5sYXllcik7Zm9yKGxldCBoIG9mIGEuWSl7bGV0IGs9aFswXSxsPWhbMV18fGU7Zj9fLmp4KGEsayxsLGQubGF5ZXIsZik6Xy5peChhLGssbCxkLmxheWVyKX1mb3IobGV0IGggb2YgYS5NKV8ubXgoYSxoWzBdLGhbMV0pfX07Y3x8Xy5pcShkLmxheWVyKXx8YS5CKCk7aWYoZC5mbClmb3IobGV0IGUgb2YgZC5mbClRaGEoYSxlLGQubGF5ZXIpO2Vsc2UgXy5HcChFcnJvcigiTmIiKSl9OwpfLkRPPWZ1bmN0aW9uKGEsYixjLGQ9e30pe18uVmkoKCk9PntUaGEuaW5jbHVkZXMoYil8fChfLklwKG5ldyBfLlhqKCJjcmVhdGVDbGllbnRTY3JlZW4oKSBjYWxsZWQgd2l0aCBhIG5vbi1wYWdlIFZFIixiKSksYj04Mzc2OSk7aWYoIWQuaXNIaXN0b3J5TmF2aWdhdGlvbil7bGV0IGU9ZC5sYXllcnx8MDthLmdhLnNldChlLFtdKTtCTyhhLGUpLnB1c2goe3Jvb3RWZTpiLGtleTpkLmtleXx8IiJ9KX1hLlk9W107YS5NPVtdO2QuZmw/U2hhKGEsYixjLGQpOkNPKGEsYixjLGQpfSkoKX07Xy5FTz1mdW5jdGlvbihhLGIsYyxkKXtiPV8uZGIoYik7cmV0dXJuIGIhPT12b2lkIDA/YS5vcGVuKGIsYyxkKTpudWxsfTtfLkZPPWZ1bmN0aW9uKGEsYixjKXtjPWMhPW51bGw/Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYykpOiIiO3JldHVybiBfLlNiKGEsYitjKX07R089ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5ReShfLmVkKGEsYikpPz8hMX07CkhPPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5XeChhLGIsXy54dyhjKSwhMSl9O18uSU89ZnVuY3Rpb24oYSxiKXt2YXIgYztfLnViKGEsZD0+e2M9YltkXTtyZXR1cm4hIWN9KTtyZXR1cm4gY307Xy5KTz1mdW5jdGlvbihhLGIsYz0wKXsoYz1fLmlxKGMpKSYmYSYmXy5WaShfLkFPKSh2b2lkIDAsYyxhLHZvaWQgMCxiLHZvaWQgMCl9O18uS089ZnVuY3Rpb24oKXtyZXR1cm4hIV8udygiTVdFQl9GSVJFRk9YX1lUX0xBVU5DSEVSIil9O18uTE89ZnVuY3Rpb24oKXtyZXR1cm4gXy5rTT9fLmtNOl8ubE0oKX07Xy5NTz1mdW5jdGlvbihhLGI9NSxjKXtpZihiIT09MCl7dmFyIGQ9dHlwZW9mIGE9PT0iZnVuY3Rpb24iP2EoKTpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2Q/Yz8ucmw/Xy5kTihkKTpkLmZvY3VzKCk6c2V0VGltZW91dCgoKT0+e18uTU8oYSxiLTEsYyl9LDUwMCl9fTtWaGE9ZnVuY3Rpb24oKXt2YXIgYT1VaGEoKTtyZXR1cm4gSE8oYSw3LCEwKX07ClVoYT1mdW5jdGlvbigpe3ZhciBhPW5ldyBOTzthPUhPKGEsNSwhMCk7YT1ITyhhLDIsITApO2E9SE8oYSw0LCExKTthPUhPKGEsOCwhMCk7cmV0dXJuIEhPKGEsOSwhMCl9O1doYT1mdW5jdGlvbigpe3ZhciBhPVZoYSgpO3JldHVybiBITyhhLDEwLCEwKX07WGhhPWZ1bmN0aW9uKCl7dmFyIGE9V2hhKCk7cmV0dXJuIEhPKGEsMTIsITApfTtZaGE9ZnVuY3Rpb24oKXt2YXIgYT1YaGEoKTtyZXR1cm4gSE8oYSwxMywhMSl9O1poYT1mdW5jdGlvbigpe3ZhciBhPVloYSgpO3JldHVybiBITyhhLDE0LCEwKX07YWlhPWZ1bmN0aW9uKGEpe3JldHVybiAkaGEuc29tZShiPT5iLnRlc3QoYSkpfTsKUE89ZnVuY3Rpb24oYSxiKXt7dmFyIGM9YS5mb3JtQ29udGVudD8ubG9jYWxlO2xldCBkPWM/LnNwbGl0KCItIilbMF07Yz1jJiZPTy5pbmNsdWRlcyhjKT9jOmQmJk9PLmluY2x1ZGVzKGQpP2Q6dm9pZCAwfWM9KGM/PyJlbiIpLnJlcGxhY2VBbGwoIi0iLCJfIikudG9Mb3dlckNhc2UoKTthPWEuaW5pdGlhbGl6YXRpb25EYXRhPy51c2VOaWdodGx5UmVsZWFzZT8ibmlnaHRseSI6ImxpdmUiO3JldHVybiBiPy5nZXRFbmFibGVBbG9oYUJpbmFyeVNwbGl0Py4oKT8oMCxfLll4KWBodHRwczovL3d3dy5nc3RhdGljLmNvbS91c2Vydm9pY2UvZmVlZGJhY2svY2xpZW50L3dlYi8ke2F9L21haW5fbGlnaHRfYmluYXJ5LmpzYDooMCxfLll4KWBodHRwczovL3d3dy5nc3RhdGljLmNvbS91c2Vydm9pY2UvZmVlZGJhY2svY2xpZW50L3dlYi8ke2F9L21haW5fYmluYXJ5X18ke2N9LmpzYH07CmJpYT1mdW5jdGlvbihhLGIsYyxkKXtpZihRTyYmUk89PT1iKXJldHVybiBRTztSTz1iO3ZhciBlPVBPKGEsZCk7cmV0dXJuIFFPPWIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdD9Qcm9taXNlLnJlc29sdmUoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpuZXcgUHJvbWlzZSgoZixoKT0+e3ZhciBrPV8uQ2QoIlNDUklQVCIpO18ub2IoayxlKTtrLm9ubG9hZD0oKT0+e2IuZmVlZGJhY2tWMkdsb2JhbE9iamVjdD9mKGIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdCk6aChFcnJvcigiR2QiKSl9O2sub25lcnJvcj0oKT0+e2goRXJyb3IoIkhkYCIrZS50b1N0cmluZygpKSl9O2MuYm9keS5hcHBlbmRDaGlsZChrKX0pfTsKY2lhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKFNPJiZUTz09PWIpcmV0dXJuIFNPO1RPPWI7dmFyIGU9UE8oYSxkKTtyZXR1cm4gU089Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P1Byb21pc2UucmVzb2x2ZShiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOm5ldyBQcm9taXNlKChmLGgpPT57dmFyIGs9Xy5DZCgiU0NSSVBUIik7Xy5vYihrLGUpO2sub25sb2FkPSgpPT57Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P2YoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpoKEVycm9yKCJHZCIpKX07ay5vbmVycm9yPSgpPT57aChFcnJvcigiSGRgIitlLnRvU3RyaW5nKCkpKX07Yy5ib2R5LmFwcGVuZENoaWxkKGspfSl9O2RpYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1EYXRlLm5vdygpO2E9YXdhaXQgKGF3YWl0IGJpYShhLGMsZCxiKSkuaW5pdGlhbGl6ZUZlZWRiYWNrQ2xpZW50QXN5bmMoYSxlLGIpO2EuaW5pdGlhdGVBbG9oYSgpO3JldHVybiBhfTsKZWlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPURhdGUubm93KCk7YT1hd2FpdCAoYXdhaXQgY2lhKGEsYyxkLmRvY3VtZW50LGIpKS5pbml0aWFsaXplRmVlZGJhY2tDbGllbnRBc3luYyhhLGUsYixkKTthLmluaXRpYXRlQWxvaGEoKTtyZXR1cm4gYX07CmZpYT1hc3luYyBmdW5jdGlvbihhLGIsYyl7dmFyIGQ9Y3x8Xy51O2lmKGI/LmdldEVuYWJsZUFsb2hhQmluYXJ5U3BsaXQ/LigpKXtpZihkLmlzRm9ybU9wZW5lZCl0aHJvdyBuZXcgVU87ZC5pc0Zvcm1PcGVuZWQ9ITA7YS5jYWxsYmFja3M9YS5jYWxsYmFja3N8fHt9O2xldCBlPWEuY2FsbGJhY2tzLm9uQ2xvc2V8fCgoKT0+e30pO2EuY2FsbGJhY2tzLm9uQ2xvc2U9Zj0+e2QuaXNGb3JtT3BlbmVkPSExO2UoZil9O3RyeXtyZXR1cm4gZWlhKGEsYixkLGQpfWNhdGNoKGYpe3Rocm93IGQuaXNGb3JtT3BlbmVkPSExLGY7fX1lbHNle2lmKGQuaXNGb3JtT3BlbmVkKXRocm93IG5ldyBVTztkLmlzRm9ybU9wZW5lZD0hMDthLmNhbGxiYWNrcz1hLmNhbGxiYWNrc3x8e307bGV0IGU9YS5jYWxsYmFja3Mub25DbG9zZXx8KCgpPT57fSk7YS5jYWxsYmFja3Mub25DbG9zZT1mPT57ZC5pc0Zvcm1PcGVuZWQ9ITE7ZShmKX07dHJ5e3JldHVybiBkaWEoYSxiLGQsZC5kb2N1bWVudCl9Y2F0Y2goZil7dGhyb3cgZC5pc0Zvcm1PcGVuZWQ9CiExLGY7fX19O2hpYT1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBuZXcgUHJvbWlzZSgoYyxkKT0+e051bWJlci5pc0ludGVnZXIoTnVtYmVyKGEpKSYmTnVtYmVyKGEpPjA/KGQ9Z2lhKGI/PyIiKSsiL2Fsb2hhX2Zvcm1fcHJvcGVydGllcz9wcm9kdWN0SWQ9IithLF8ubHkoZCxlPT57ZT1lLnRhcmdldDt2YXIgZj1udWxsO3RyeXt2YXIgaD1KU09OLGs9aC5zdHJpbmdpZnk7aWYoZS5yYSl7dmFyIGw9ZS5yYS5yZXNwb25zZVRleHQ7bC5pbmRleE9mKCIpXX0nXG4iKT09MCYmKGw9bC5zdWJzdHJpbmcoNSkpO3ZhciBtPV8uRXYobCl9ZWxzZSBtPXZvaWQgMDtmPV8uWHgoVk8say5jYWxsKGgsbSkpfWNhdGNoKG4pe2s9bmV3IFZPLG09WmhhKCksbT1ITyhtLDE1LCEwKSxtPUhPKG0sMjAsITEpLG09SE8obSwyNSwhMSksbT1ITyhtLDI2LCExKSxmPV8uS3coaywxLG0pfWMoZil9LCJHRVQiLCIiLHt9LDJFMywhMCkpOmQoRXJyb3IoIklkYCIrYSkpfSl9OwpnaWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGFpYShhKT9hOiJodHRwczovL3d3dy5nb29nbGUuY29tL3Rvb2xzL2ZlZWRiYWNrIn07CldPPWZ1bmN0aW9uKGEsYixjLGQpe2EudGltZU9mU3RhcnRDYWxsPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3ZhciBlPWN8fF8udSxmPWUuZG9jdW1lbnQsaD1hLm5vbmNlfHxfLmliKGUuZG9jdW1lbnQpO2gmJiFhLm5vbmNlJiYoYS5ub25jZT1oKTtpZihhLmZsb3c9PSJoZWxwIil7dmFyIGs9Xy5zYSgiZG9jdW1lbnQubG9jYXRpb24uaHJlZiIsZSk7IWEuaGVscENlbnRlckNvbnRleHQmJmsmJihhLmhlbHBDZW50ZXJDb250ZXh0PWsuc3Vic3RyaW5nKDAsMTIwMCkpO2s9ITA7aWYoYiYmSlNPTiYmSlNPTi5zdHJpbmdpZnkpe2xldCBsPUpTT04uc3RyaW5naWZ5KGIpOyhrPWwubGVuZ3RoPD0xMjAwKSYmKGEucHNkSnNvbj1sKX1rfHwoYj17aW52YWxpZFBzZDohMH0pfWI9W2EsYixjLGRdO2UuR09PR0xFX0ZFRURCQUNLX1NUQVJUX0FSR1VNRU5UUz1iO2M9YS5mZWVkYmFja1NlcnZlclVyaXx8Ii8vd3d3Lmdvb2dsZS5jb20vdG9vbHMvZmVlZGJhY2siO2lmKGQ9ZS5HT09HTEVfRkVFREJBQ0tfU1RBUlQpZC5hcHBseShlLApiKTtlbHNle2U9YysiL2xvYWQuanM/Ijtmb3IobGV0IGwgaW4gYSliPWFbbF0sYj09bnVsbHx8Xy5BYShiKXx8KGUrPWVuY29kZVVSSUNvbXBvbmVudChsKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKyImIik7YT1fLnhkKGYpLmNyZWF0ZUVsZW1lbnQoIlNDUklQVCIpO2gmJmEuc2V0QXR0cmlidXRlKCJub25jZSIsaCk7Xy5vYihhLF8uVGEoZSkpO2YuYm9keS5hcHBlbmRDaGlsZChhKX19OwppaWE9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5mbG93PT09InN1Ym1pdCIsZj0hIV8uZHIsaD10eXBlb2Ygd2luZG93IT09InVuZGVmaW5lZCImJiEhKHdpbmRvdy5fX2thcm1hX198fHdpbmRvdy5qYXNtaW5lfHx3aW5kb3cubW9jaGF8fHdpbmRvdy5qZXN0KTtpZihlJiZoKVdPKGEsYixjLGQpO2Vsc2V7aD0oYXdhaXQgaGlhKGEucHJvZHVjdElkLGEuZmVlZGJhY2tTZXJ2ZXJVcmkpKT8udigpO2Y9IWZ8fGg/LmdldEVuYWJsZU13ZWIoKTt2YXIgaz0hYS50aW55Tm9Qb2ludGVyfHxoPy5nZXRFbmFibGVUaW55Tm9Qb2ludGVyKCk7Zj0hZSYmKCFofHxoLmdldEFsb2hhQXV0b0dhUm9sbG91dCgpJiZmJiZrKTtlPWUmJmg/LmdldEVuYWJsZUFsb2hhSGVhZGxlc3MoKSYmYS5yZXBvcnQ7Znx8ZT9hd2FpdCBYTyhhLGIsYyxoLGQpOldPKGEsYixjLGQpfX07ClhPPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Y3x8Xy51LGg9YS5zZXJ2ZXJFbnZpcm9ubWVudD09PSJERVYiO2M9Y3x8Xy51O2M9YS5ub25jZXx8Xy5pYihjLmRvY3VtZW50KTtoPXtpbnRlZ3JhdGlvbktleXM6e3Byb2R1Y3RJZDphLnByb2R1Y3RJZCxmZWVkYmFja0J1Y2tldDphLmJ1Y2tldCx0cmlnZ2VySWQ6YS50cmlnZ2VySWQsbWljcm9mZWVkYmFja1Njb3JlOmEubWljcm9mZWVkYmFja1Njb3JlfSxjYWxsYmFja3M6e29uQ2xvc2U6YS5jYWxsYmFjayxvbkxvYWQ6YS5vbkxvYWRDYWxsYmFja30sZm9ybUNvbnRlbnQ6e2xvY2FsZTphLmxvY2FsZSxkaXNhYmxlU2NyZWVuc2hvdDphLmRpc2FibGVTY3JlZW5zaG90dGluZyxwcm9kdWN0RGlzcGxheU5hbWU6dm9pZCAwLGFubm91bmNlbWVudDp2b2lkIDAsaXNzdWVDYXRlZ29yaWVzOnZvaWQgMCxpbmNsdWRlU2V2ZXJpdHlTZWxlY3Rpb246dm9pZCAwLGN1c3RvbUltYWdlU3JjOnZvaWQgMCx0aGFua1lvdU1lc3NhZ2U6dm9pZCAwLAp1c2VyRW1haWw6dm9pZCAwLGRlZmF1bHRGb3JtSW5wdXRWYWx1ZXM6dm9pZCAwLGRlZmF1bHRGb3JtSW5wdXRWYWx1ZXNTdHJpbmc6dm9pZCAwLGFidXNlTGluazphLmFidXNlTGluayxhZGRpdGlvbmFsRGF0YUNvbnNlbnQ6YS5hZGRpdGlvbmFsRGF0YUNvbnNlbnR9LGluaXRpYWxpemF0aW9uRGF0YTp7aXNMb2NhbFNlcnZlcjpoLG5vbmNlOmMsdXNlTmlnaHRseVJlbGVhc2U6aCxmZWVkYmFja0pzVXJsOnZvaWQgMCxmZWVkYmFja0Nzc1VybDp2b2lkIDAsZmVlZGJhY2tKc1VybFNlcmlhbGl6ZWQ6dm9pZCAwLGZlZWRiYWNrQ3NzVXJsU2VyaWFsaXplZDp2b2lkIDAsc3VibWlzc2lvblNlcnZlclVyaTphLmZlZWRiYWNrU2VydmVyVXJpLGNvbG9yU2NoZW1lOmEuY29sb3JTY2hlbWV9LGV4dHJhRGF0YTp7cHJvZHVjdFZlcnNpb246YS5wcm9kdWN0VmVyc2lvbixhdXRoVXNlcjphLmF1dGh1c2VyLGNvbmZpZ3VyYXRvcklkOmEuY29uZmlndXJhdG9ySWQsY3VzdG9tWkluZGV4OmEuY3VzdG9tWkluZGV4LAp0aW55Tm9Qb2ludGVyOmEudGlueU5vUG9pbnRlcixhbGxvd05vbkxvZ2dlZEluRmVlZGJhY2s6YS5hbGxvd05vbkxvZ2dlZEluRmVlZGJhY2ssZW5hYmxlQW5vbnltb3VzRmVlZGJhY2s6YS5lbmFibGVBbm9ueW1vdXNGZWVkYmFja319O2EucmVwb3J0JiYoaC5oZWFkbGVzc1JlcG9ydD1hLnJlcG9ydCk7YiYmKGE9bmV3IE1hcChPYmplY3QuZW50cmllcyhiKSksaC5leHRyYURhdGEucHJvZHVjdFNwZWNpZmljRGF0YT1hKTtlJiYoZT1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKGUpKSxoLmV4dHJhRGF0YS5wcm9kdWN0U3BlY2lmaWNCaW5hcnlEYXRhPWUpO2F3YWl0IGZpYShoLGQsZil9OwpfLllPPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXtpZihhLmZsb3c9PT0iaGVscCIpe2xldCBlPWEuaGVscENlbnRlclBhdGgucmVwbGFjZSgvXlwvLywiIik7Xy5FTyhjfHx3aW5kb3csYGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tLyR7ZX1gKX1lbHNlIGlpYShhLGIsYyxkKS5jYXRjaChlPT57IWV8fGUgaW5zdGFuY2VvZiBVT3x8V08oYSxiLGMsZCl9KX1jYXRjaChlKXtYTyhhLGIsYyxudWxsLGQpLmNhdGNoKGY9PnshZnx8ZiBpbnN0YW5jZW9mIFVPfHxXTyhhLGIsYyxkKX0pfX07Xy5aTz1mdW5jdGlvbigpe3ZhciBhPV8uSU8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO3JldHVybiBhP2E6bnVsbH07Cl8uJE89ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2tsaXN0Iix7aW5jbHVkZUFzcjohMH0pPz9bXTtyZXR1cm4gYj1qaWEoYixhKX07Xy5hUD1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhbnNsYXRpb25MYW5ndWFnZXMiLHtpbmNsdWRlQXNyOiEwfSl8fFtdfTtqaWE9ZnVuY3Rpb24oYSxiKXtiPV8uYVAoYik7aWYoIWI/Lmxlbmd0aClyZXR1cm4gYTt2YXIgYz1iLmZpbHRlcihkPT5kKTtiPWEuZmlsdGVyKGQ9PmQubGFuZ3VhZ2VDb2RlPy5zdGFydHNXaXRoKCJlbiIpKTtmb3IobGV0IGQgb2YgYylpZihiLmxlbmd0aCl7Yz1iWzBdO2xldCBlPXsuLi5jfTtjLmxhbmd1YWdlQ29kZSE9PWQubGFuZ3VhZ2VDb2RlJiYoZS5kaXNwbGF5TmFtZT1gJHtjLmxhbmd1YWdlTmFtZX0gPj4gJHtkLmxhbmd1YWdlTmFtZX1gLGUudHJhbnNsYXRpb25MYW5ndWFnZT1kLGEucHVzaChlKSl9cmV0dXJuIGF9OwpraWE9ZnVuY3Rpb24oKXtfLk1PKCdbYXJpYS1sYWJlbD0iWW91VHViZSJdJyw1LHtybDohMH0pfTtlUD1mdW5jdGlvbihhKXt2YXIgYj1iUDtiJiYoYT9jUD1fLnhGKGIsKCk9Pl8uSyhkUCxudWxsLF8uSyhfLnROLHtjb21wb25lbnQ6bGlhfSkpLHtJazpfLlhDfSk6KGNQPy4oKSxjUD1udWxsKSl9O2hQPWZ1bmN0aW9uKCl7Y1AmJihjUCgpLGNQPW51bGwpO2ZQKHZvaWQgMCk7Z1AoIm91dCIpO2JQJiYoYlAucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChiUCksYlA9bnVsbCl9O2xQPWZ1bmN0aW9uKCl7aVAubGVuZ3RoJiYoZ1AoIm91dCIpLHNldFRpbWVvdXQoKCk9PntpUC5zaGlmdCgpO2lQLmxlbmd0aD4wPyhoUCgpLGpQKCksa1AoKSk6KGVQKCksaFAoKSl9LDE5NSkpfTttaWE9ZnVuY3Rpb24oKXtfLk5NKHdpbmRvdywic3RhdGUtbmF2aWdhdGVlbmQiLCgpPT57c2V0VGltZW91dChraWEsMUUzKX0pfTsKbmlhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImMzLXRvYXN0Iik7aWYoYil7bGV0IGM9Yi5xdWVyeVNlbGVjdG9yKCJidXR0b24iKTtjJiZfLk5NKGMsImZvY3VzIiwoKT0+e2NsZWFyVGltZW91dChtUCk7bVA9c2V0VGltZW91dChsUCxhKTtfLk5NKGMsImJsdXIiLCgpPT57Xy5PRShfLm5QKX0pfSl9fTtrUD1mdW5jdGlvbigpe2dQKCJpbiIpO3ZhciB7Y29udGVudDphLGR1cmF0aW9uTXM6Yn09aVAubGVuZ3RoP2lQWzBdOnt9O2ZQKGEpO2NQfHxlUChhKTttUD1zZXRUaW1lb3V0KCgpPT57bFAoKX0sMjI1KyhifHwwKSk7Xy5VTSgpPT09ImxpYnJhcnkiP21pYSgpOmIhPT12b2lkIDAmJm5pYShiKX07alA9ZnVuY3Rpb24oKXtiUHx8KGJQPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGJQLmlkPSJ0b2FzdHMiLChfLlpPKCl8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKGJQKSxlUCgpKX07Cl8ucFA9ZnVuY3Rpb24oYSxiPW9QLGM9ITEpe2pQKCk7Yj1ifHxvUDtjJiZpUC5sZW5ndGg+MD8oY2xlYXJUaW1lb3V0KG1QKSxfLk9FKCgpPT57aVBbMF09e2NvbnRlbnQ6YSxkdXJhdGlvbk1zOmJ9O2tQKCl9KSk6KGlQLnB1c2goe2NvbnRlbnQ6YSxkdXJhdGlvbk1zOmJ9KSxpUC5sZW5ndGg9PT0xJiZfLk9FKGtQKSl9O18ublA9ZnVuY3Rpb24oKXtpUC5sZW5ndGg+MCYmKGNsZWFyVGltZW91dChtUCksbFAoKSl9O18ucVA9ZnVuY3Rpb24oYSl7Xy5YTSgibmF2aWdhdGUiLGEpfTtfLnJQPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgibXdlYl9uZXdfZnVsbHNjcmVlbiIpPyEhXy5aTygpOiEhXy5aTygpfHx3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZmF1eGZ1bGxzY3JlZW4ifTsKXy5zUD1mdW5jdGlvbihhKXthPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEudG9TdHJpbmcoKSk7YS5mb2N1cygpO2Euc2V0U2VsZWN0aW9uUmFuZ2UoMCxhLnZhbHVlLmxlbmd0aCk7YT0hMTt0cnl7YT1kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpfWNhdGNoKGIpe31fLnBQKGE/KCk9Pm9pYTooKT0+cGlhKX07Xy50UD1mdW5jdGlvbigpe3JldHVybiEhXy53KCJJRF9UT0tFTiIpfTtOaGE9e0hDOjAsdkM6MSxCQzoyLHlGOjMsWG46NCxESDo1LEJGOjYsUUc6NyxwRzo4LHVHOjksVEY6MTAsbkY6MTEsMDoiREVGQVVMVCIsMToiQ0hBVCIsMjoiQ09OVkVSU0FUSU9OUyIsMzoiTUlOSVBMQVlFUiIsNDoiRElBTE9HIiw1OiJWT1oiLDY6Ik1VU0lDX1dBVENIX1RBQlMiLDc6IlNIQVJFIiw4OiJQVVNIX05PVElGSUNBVElPTlMiLDk6IlJJQ0hfR1JJRF9XQVRDSCIsMTA6IlBJQ1RVUkVfSU5fUElDVFVSRSIsMTE6Ik1FRElBX0NMSUVOVCJ9OwpUaGE9WzM2MTEsMjc2ODYsMjIxMDU4LDg1MDEzLDIzNDYyLDI0MTE4NywxNTc1NTcsNDIwMTYsMjY5MjYsNTEyMzYsNzkxNDgsNTAxNjAsNzc1MDQsMzEwMjgxLDE1MzU4Nyw4NzkwNywxODYzMCwxNzcwMTgsMTc3MDIzLDU0NDQ1LDMyMTY2NiwzMjYzNTMsMzI2MzU0LDgwOTM1LDE1MjE3MiwxODQ1NTMsMTA1Njc1LDE1MDcyMywzNzUyMSwxNDcyODUsNDc3ODYsMjMxMjU1LDIzMTI1NCwyMzEyNTgsMjMxMjU5LDk4MzQ5LDIzNzI5OSwxNjgyNzEsMTY4OTU0LDE2ODI3NywxNjgyNzMsMTY4MjcwLDEyMzY5NSwyNzIwMTgsMzM4NDk3LDIyNjk4NywyMjY5OTAsMjI2OTg4LDY4MjcsMjk0MzQsMjU1MDEwLDE3MTM4OCwyNDQxODksMjM2MjA4LDcyODIsMTI0NDQ4LDI5OTkwMywyOTk4OTcsMjk5OTA0LDI5OTkwMSwyOTk4OTksMjk5OTAyLDI5OTkwMCwyOTk4OTgsMTk2MDg4LDI1MDg5NywxOTgxMDQsMzIyNzYsMTk1MTE1LDE5NTExNCw3NjI3OCwyMDA2MzUsMjMwNTk0LDE0Nzg2OCwxNDc4NjksCjI3NjI0Myw5MzkxMSwyNzQxODgsMjc2NjUxLDMxMzY4MCwxMDY1MzEsMjU3MjM0LDI1MjU5OCwyNTI1OTcsMjUyNjAwLDI1MjU5OSwyNTI1OTYsMjI1MDMxLDE3Nzg0MywyNzI1OSwyNzI2MiwyNzI2MywyMTc1OSwyODM2NzAsMTYwODY2LDIwNDI0OSwyMjI5MDAsMjA0MjUwLDE4MDYyNiwxNzc5NTksMTc3OTU3LDE4MDYyOCwyMDU3MTYsMTk3ODc4LDI3Mzc2NiwxNzEyNDMsMTYwNzg5LDE3MTI0NCwxNzEyNDEsMTcxMjQ1LDE3MTI0MiwyMjU1NjAsMTgwNjI3LDE3Nzk2MCwyMzE1ODksMTc3OTU4LDE4MDYyOSwyMDU3MTcsMTk3ODc5LDE3NzU2NSwyMTI1NzMsMjEwNzA5LDk5NDQxMiwyMzA2ODQsMjI5ODAxLDIzMDY4NSwzMzQzMTAsMzM0MzExLDMzNDMxMiwxOTczMzcsMjA5MDEwLDE5NzMzNiwxOTczMzgsMTk4NjE4LDMwMDg4NCwxNzU0OTIsMTk4MDUyLDE5ODA1MSwxOTc4NTIsMTk3OTc2LDMxNzM3NywxNzU0OTMsMTc1NDk0LDE3NTQ5NSwxODkyNTQsMTc1NDk2LDE3NTQ5NywzODQwOCwKMTc1NDk4LDE3NTUwMywxNzU1MDQsMTc1NTA1LDE3NTUwNiwxNzU1MDcsMTc1NTA4LDgwNjM3LDY4NzI3LDIwNjkzMywyMDc5NDQsMjA2OTM0LDMwMzEyMywyMDY5MjksMjIxNTc1LDY4NzI4LDIyMTU3Niw4MDM1Myw4MDM1NiwzMDgwMzMsMjQ5MTA3LDE4MDYzNSw3NDYxMCw0NTcwNyw4Mzk2Miw4Mzk3MCw0NjcxMywxNjY1OTEsODk3MTEsNzQ2MTIsMjEzODA5LDE3OTYwNywyNDUwMDYsMTU1NzkyLDkzMjY1LDc0NjExLDEzMTM4MCwxMjg5NzksMTM5MzExLDEyODk3OCwxMzEzOTEsMTA1MzUwLDEzOTMxMiwzMzM2MzcsMTM0ODAwLDEzMTM5MiwxMTM1MzMsMjI5Mjk4LDkzMjUyLDk5MzU3LDk0NTIxLDExNDI1MiwxMTM1MzIsOTQ1MjIsOTQ1ODMsMjAyMzcxLDg4RTMsMTM5NTgwLDkzMjUzLDkzMjU0LDk0Mzg3LDk0Mzg4LDkzMjU1LDk3NDI0LDcyNTAyLDIxOTg2OCwyMTI5OTEsMTEwMTExLDc2MDE5LDExNzA5MiwxMTcwOTMsODk0MzEsMTkxODMxLDExMDQ2NiwyMzEzNDYsNzcyNDAsCjYwNTA4LDE4NjA5MSwxNDgxMjMsMTQ4MTI0LDEzNzQwMSwxMzc0MDIsMTM3MDQ2LDczMzkzLDI0Njc3NiwxMTM1MzQsMjc2MjAwLDkyMDk4LDEzMTM4MSw4NDUxNyw4Mzc1OSwzMDk1ODAsMjMwNjc2LDI0OTE4MywyMzA2NzksMjMwNjc4LDIzMDY3NywyMzA2ODEsMjMwNjgwLDE2MjcxMSwyMzUyMzQsMTYyNzEyLDgwMzU3LDk5NDQxMSwyNDMzMTUsMzEzNTA2LDMyMTk2NCw4NjExMyw3MjU5OCwxNjg0MTMsNzI3MzMsMTA3MzQ5LDEyNDI3NSwxMTgyMDMsMjAwNDEwLDEzMzI3NSwxNjAxNTcsMTUyNTY5LDE1NjY1MSwxMzMyNzQsMTYwMTU5LDE2MDE1OCwxMzMyNzIsMTMzMjczLDEzMzI3NiwxNDQ1MDcsMTQzMjQ3LDE3NTk5NCwxNTY2NTIsMTQzMjQ4LDE0MzI0OSwxNDMyNTAsMTQzMjUxLDE4OTg5MiwxODk4OTQsMTg5ODkzLDE1NjY1MywyMTQyMzYsMTQ0NDAxLDExNzQzMSwxMzM3OTcsMjI1MTM3LDI3MzkwNSwyMjI2MTIsMjIyNjEzLDE1Mzk2NCwyMDExMzMsMjAxMTM0LDIwMTEzNSwKMjAxMTM2LDIwMTEzNywxMjg1NzIsMjAwNDExLDIwMDQxMiwxOTAzMzcsMTMzNDA1LDExNzQyOSwxMTc0MzAsMTc3OTUwLDE3NDczNCwxNzc5NTEsMjAxMTM4LDIwMTEzOSwyMDExNDAsMjAxMTQxLDIwMTE0MiwxMTc0MzIsMTczOTk2LDE3Mzk5NSwxNzQ5NTMsMTczOTk0LDE3Mzk5NywxMjAwODAsMTE3MjU5LDE3ODU0NiwyOTc3NTIsMTk3ODkxLDE1NjY1NSwxNTY2NTQsMTIxNjkyLDIxMTQxNCwyMTE0MTEsMjExNDEyLDIxMTQxMywyMTE0MDMsMTg0ODQ2LDE4NTk5MywzMzUwNDgsMTQ1NjU2LDE1NjY1NiwxNDU2NTUsMTQ1NjUzLDE0NTY1NCwxNDU2NTcsMTMyOTcyLDEzMzA1MSwxMzM2NTgsMTMyOTcxLDMzNjcyOCw5NzYxNSwxODEyNjIsMTkwNzYyLDI1MDM0NCwyNTQwMjcsMTQzMzU5LDE0MzM1NiwxNDMzNjEsMTQzMzU4LDE0MzM2MCwxNDMzNTcsMTQyMzAzLDE0MzM1MywyODIxNTksMTcyODU5LDE0MzM1NCwxNDQ0NzksMTQzMzU1LDMxNDAyLDE4MTU5MCwxMzM2MjQsMTQ2NDc3LAoxMzM2MjMsMTMzNjIyLDEzMzYyMSwxOTI0MTgsODQ3NzQsMzA0Nzc2LDE5Nzk5MywyNDE0NjAsMTYwODAxLDE5Nzk5NSw5NTExNywxNzI3MjEsMTUwNDk3LDk4OTMwLDk4OTMxLDk4OTMyLDMzODU3MCwzMzg0NzQsMzM4NDc4LDMzODQ3MywxNTMzMjAsMTUzMzIxLDQzMzQ3LDMwNTI2OCwyNDkyOTUsMjEwMDE2LDIxMDAxNywyNjI2ODYsMjExODUxLDIxMTg1MiwzMDcyMTksMjExODUzLDMyNzgxMCwxMjk4ODksMTk3ODg4LDE5Nzg4OSwxNDkxMjMsMjIxOTU5LDIyMTYyNywyMjE5NTgsNDU0NzQsMTAwMzUyLDk4NDQzLDExNzk4NSwzMzM3MDgsNzQ2MTMsMTU1OTExLDc0NjE0LDY0NTAyLDEzNjAzMiw3NDYxNSw3NDYxNiwxMjIyMjQsNzQ2MTcsNzc4MjAsNzQ2MTgsMjYyOTg4LDI2Mjk4OSwyMjY5ODEsOTMyNzgsOTMyNzQsOTMyNzUsOTMyNzYsMjAwNjg4LDIwMDY4NiwyMDA2ODcsMTk5ODQxLDIyMTEwLDI5NDMzLDEzMzc5OCwxMzIyOTUsMjgxMzMyLDEyMDU0MSwyMjIxMTIsODIwNDcsCjExMzU1MCw3NTgzNiw3NTgzNywzMDM4ODIsMTkyNDA5LDIwMzIyMSw0MjM1Miw4NDUxMiw3NjA2NSw3NTk4OSwyMDU5MTEsMjA1OTEyLDI1MjY0OSwyMDU5MTMsMjUyNjUwLDI1MjY1MSw1MTg3OSwxNjYyMywzMjU5NCwyNzI0MCwzMzgxMDksMjkzMzI0LDMyNjMzLDc0ODU4LDMwNDE1MCwyOTcwNDUsMjc1MTk4LDI3MTg4NCwyMjI5MzIsMjc5MTE5LDMxMjU4MSwyNzE4ODYsMjEzOTE1LDI3NTE5OSwzMTA3NDgsMjI1MjE2LDI1MTI0NCwyNTgyNTEsMjE4Njc0LDI1MTI2NiwyNTgyNTAsMjUxMjY1LDMwMTY2MiwyNTEyNDUsMjcxODg1LDMxNTgxOCwxNTY5OTksMzk0NSwxNjk4OSw0NTUyMCwyNTQ4OCwyNTQ5MiwyNTQ5NCwyMzIxMTMsNTU3NjAsMTQwNTcsMTg0NTEsNTcyMDQsNTcyMDMsMTc4OTcsMTgxOTgsMTc4OTgsMTc5MDksNDM5ODAsMjIxMDUzLDE5NTUyOSwxODk2NjAsMzA4MDg4LDMwNjQ0OCwzMDY0NDcsMzA4MDg3LDMwODA4Niw0NjIyMCwxMTcyMSwxNDc5OTQsNDk5NTQsOTYzNjksCjM4NTQsMjE3NjQwLDE1MTYzMyw1NjI1MSwyMDUxOTIsMjE2Nzk3LDE1OTEwOCwxODE1NjgsMjM0Nzg5LDI1NjI0LDE1MjAzNiwxNjkwNiw5OTk5OSw2ODE3Miw0Nzk3Myw3Mjc3MywyNjk3MCwyNjk3MSw5NjgwNSwxNzc1MiwyODIxODEsMjc4OTI2LDczMjMzLDIwNTkyMywxMDk1MTIsMjIyNTYsMTQxMTUsMjI2OTYsMjM0NDA5LDIzNDQwOCw4OTI3OCw4OTI3NywxOTU3NDUsMTA5NTEzLDQzMjc4LDQzNDU5LDQzNDY0LDg5Mjc5LDQzNzE3LDU1NzY0LDIyMjU1LDE0NzkxMiw4OTI4MSw0MDk2Myw0MzI3Nyw0MzQ0Miw5MTgyNCwyODM4OTgsMTIwMTM3LDE4NjM1MCwxODYzNTEsMjU2NjkwLDI2NDM0OSwyNjQzNTEsMjY0MzUwLDI2NDM1MiwyMTEwMjYsMjUwODk2LDk2MzY3LDM2ODUwLDcyNjk0LDM3NDE0LDM2ODUxLDEyNDg2MywxMjEzNDMsNzM0OTEsNTQ0NzMsMTY2ODYxLDQzMzc1LDQ2Njc0LDMwMjYzMSwzMzE0NzMsMjQyNTI4LDE0MzgxNSwxMzkwOTUsMTQ0NDAyLDE0OTk2OCwxNDk5NjksCjMyNDczLDcyOTAxLDcyOTA2LDUwNjEyLDUwNjEzLDUwOTQyLDg0OTM4LDg0OTQzLDg0OTM5LDg0OTQxLDg0OTQ0LDg0OTQwLDg0OTQyLDM1NTg1LDUxOTI2LDc5OTgzLDE4OTIxLDU3ODkzLDQxMTgyLDEzNTczMiwzMzQyNCwyMjIwNywzNjIyOSwyMjIwNiwyMjIwNSw0NDc2MywzMzQyNyw2Nzc5MywyMjE4MiwzNzA5MSwzNDY1MCw1MDYxNywyMjI4NywyNTE0NCw5NzkxNywyMjAxMjIsNjIzOTcsMTUwODcxLDE1MDg3NCwxMjU1OTgsMTM3OTM1LDM2OTYxLDEwODAzNSwzMjM0OTMsMjc0MjYsMjc4NTcsMjc4NDYsMjc4NTQsNjk2OTIsNjE0MTEsMzkyOTksMzg2OTYsNjI1MjAsMzYzODIsMTA4NzAxLDE5MjY4MiwyNzk1MzEsNTA2NjMsMzYzODcsMTQ5MDgsMzc1MzMsMTA1NDQzLDYxNjM1LDYyMjc0LDE2MTY3MCwxMzM4MTgsMTgyMTE5LDY1NzAyLDY1NzAzLDY1NzAxLDMyMDQ2NCw3NjI1NiwyOTgxNTcsMjYzODQzLDMxNTIzNCwxOTYwNzUsMTk0NzY4LDI1MjIwMSwxOTQ3NjksMTkxODg1LAoyODE0ODAsMjMzNjM0LDI2NTgxMCwxOTQ3NzAsMjk2OTMzLDE5NTM1MCwzMjczODUsMzI0NTg2LDMwMTYwNywxOTUzNDksMTk0NzcxLDI5MzA0MSwzMDExMjEsMjkzMDQyLDI5MzA0MywzMDExMTYsMTY2MzgyLDM3NjcxLDQ5OTUzLDIyMDY2OSw2MDAwMDEsNjAwMDAyLDZFNSwzMzUxMzQsMjQ5MjI5LDIxMzc3NCwyMDQ1NzIsMTkxMzg5LDI3MjI1NCwyNzIyNTMsMjUzODMwLDI1MzgzMSwyNTM4MzIsMjcyMjUyLDI1MzgzMywyNTM4MzQsMjA0NTc0LDE5MTM5MCwxNzk1NTYsMjM4NTk2LDIxMjY2MSwxOTEzOTIsMTk3ODI2LDE5MTM5MywyMDQ1NzMsMzYyMTYsMjgyMzcsMjQxMjEyLDI3MjA0OSwxNzM3MTgsMzk1NTMsMTkyNTQ3LDI5MjIyLDMwNDg0NSwyNjEwNywyNDEyMTEsMzgwNTAsMjYxMDgsMjc1ODEwLDEyMDc0NSwyNjEwOSwyNjExMCw2Njg4MSwyODIzNiwxNDU4NiwyOTc2NzIsMTYwNTk4LDU3OTI5LDIyNjczNiw3NDcyMyw0NDA5OCwxNzM2ODksNDQwOTksMjM1MjgsNjE2OTksCjEzNDEwNCwxMzQxMDMsMTk4MzEzLDU5MTQ5LDE4MTAxMywyNzgzMDYsMjgyNDcyLDI3Nzg0OCwxNzMxOTEsMTczMTkyLDE3MzE5MywxMDE5NTEsMTcxNTAyLDE5NjA0MywxOTgzMDUsOTczNDYsMTE4MDUxLDk1MTAyLDY0ODgyLDExOTUwNSw2MzU5NSwyOTQxMTksMjU3MjY4LDYzMzQ5LDI4MTEyNywyNDA1NTMsOTUxMDEsNzUyNDAsMjcwMzksNjg4MjMsMjE1MzcsODM0NjQsNzU3MDcsMjUyOTA0LDE3MDIxNSwyMjMwMzMsODMxMTMsMTAxOTUyLDEwMTk1Myw3OTYxMCwxMjU3NTUsMjQ0MDIsMjQ0MDAsMzI5MjUsMTkzNDA2LDU3MTczLDE4MzM1MSwxNTY0MjEsMTIyNTAyLDE0NTI2OCwxMzg0ODAsNjQ0MjMsNjQ0MjQsMzM5ODYsMTAwODI4LDEyOTA4OSwyOTk1NDEsMjE0MDksMjgyMjE4LDI5OTUwNiwzMzM5NTYsMjk5NTQwLDI5OTUwNywyOTk1MDksMjk5NTM5LDI5OTUwOCwyOTk1MTAsMTg1NjEyLDIyMjgyNSwzMjMzMzEsMjQ1MzY2LDEzNTE1NSwxMzUxNTYsMTM1MTU3LDEzNTE1OCwKMTU4MjI1LDEzNTE1OSwxMzUxNjAsMTY3NjUxLDEzNTE2MSwxMzUxNjIsMTM1MTYzLDE1ODIyNiwxNTgyMjcsMTM1MTY0LDEzNTE2NSwxMzUxNjYsMTEwNzAsMTEwNzQsMTc4ODAsMjcwNTYwLDMwNzA5LDMwNzA3LDMwNzExLDMwNzEwLDMwNzA4LDE4NTIxMywxODUyNzMsMTQ2MTQzLDYzNjQ4LDYzNjQ5LDIyMTA1NiwyNjQ0OTAsMjExMTg5LDExMTA1OSwyMTExODgsNTc1NCwyNjQ0OTEsMjA0NDUsMjMzNDcxLDE1MTMwOCwzMTM3NTAsMTUxMTUyLDIyODA2NywxMzA5NzUsMTMwOTc2LDI0NzI0NCwyNzE2MjIsMjcxODEzLDI2MTIxMCwyMTA4MTUsMjk1MDY5LDI0NjEyNywzMTY4NTgsMjQ1MjU2LDI0NDk1MCwxOTE5MjUsMTY3NjM3LDIzNDU0NSwxOTcxOTYsMzAyNzM1LDIxNDI5NSwxMTAzODYsMjIxMDU0LDI3Mzk2MCwyODIxMTEsMzEyMjkwLDExMzc0NiwzMjU1OTMsMjY4ODg2LDY2NTU3LDE4MzIxNSwxNzMxMCwyODYzMSwyMDE5MzUsMjE1ODksMjQyMDM2LDIzODM1MSwxNjQ4MTcsCjE2ODAxMSwxNTQ5NDYsNjgwMTIsMTYyNjE3LDYwNDgwLDE4NDQzMSwxMzg2NjQsMjk0MDg5LDI0OTgyNywxOTRFMywxNDExMjEsMTY0NTAyLDMxNTcxLDE5NTAwMiwyMDY3OTMsMTQxOTc4LDIzMzk4NSwyNTA4OTUsMjU0MDUyLDI1NDA1MywyNTQwNTQsMjU0MDUxLDI1NDA1MCwyNTQwNTUsMTUwMTA1LDMwNDE2OSwxNTAxMDYsMTUwMTA3LDE1MDEwOCw3Njk4MCw0MTU3Nyw0NTQ2OSwzODY2OSwxMzc2OCwxMzc3NywxNDE4NDIsNjI5ODUsMjEzMTkwLDQ3MjQsMjIzMDUyLDU5MzY5LDQzOTI3LDQzOTI4LDEyOTI0LDE5Nzg1MywxMDAzNTUsNTYyMTksMjc2NjksMjA5OTI4LDEwMzM3LDIwMzY0OCwyMDM2NDksNDc4OTYsMzI2OTM3LDEyMjYyOSwxODYyMDQsMjIyODI0LDI3NTg2OSwzMTIyOTUsMjcxNjczLDI3NDYzNywzMTc0NjIsMTM5NzIzLDEzOTcyMiwxMjEyNTgsMjUzNzg5LDI1Mzc4NywyNTM3ODYsMjUzNzg4LDI1Mzc5MCwxMDc1OTgsMTI3OTkxLDk2NjM5LDEwNzUzNiwxMzAxNjksCjIxNjUyMiwyOTYzMTYsOTY2NjEsMTQ1MTg4LDMyMDQyOCwyMTM5MDQsMjY5MzQyLDk2NjU4LDExNjY0NiwxNTk0MjgsMTY4NjExLDE2ODYxMiwxMjExMjIsMjE5ODYyLDk2NjYwLDI4MjIwOCwxMjc3MzgsMTI3MDgzLDE1NTI4MSwxNjI5NTksMjIwODg2LDIyNzM1NiwyNDgwMDcsMTYzNTY2LDMwNzY0NiwxODY2NDEsMTQ3ODQyLDI3MzY0NiwyNzM2NDcsMjE3OTMyLDEwNDQ0Myw5NjY1OSwxNDc1OTUsMTA2NDQyLDI0NzE2MiwyMzE0OTMsMjEzNDI3LDI5NjgxMywyNDY1NzUsMTgyNDIzLDE2Mjc3NiwyMjg5MDgsMTM0ODQwLDYzNjY3LDYzNjY4LDYzNjY5LDEzMDY4NiwzMzcxNzIsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBOTz1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0RW5hYmxlU3NFbmdpbmUoKXtyZXR1cm4gR08odGhpcywyKX1nZXRFbmFibGVBd3IoKXtyZXR1cm4gR08odGhpcywzKX1nZXRBbG9oYUF1dG9HYVJvbGxvdXQoKXtyZXR1cm4gR08odGhpcyw1KX1nZXRFbmFibGVDb25maWd1cmF0b3IoKXtyZXR1cm4gR08odGhpcyw2KX1nZXRFbmFibGVNd2ViKCl7cmV0dXJuIEdPKHRoaXMsNyl9Z2V0RW5hYmxlQ3RsQ29uc2VudENoZWNrYm94KCl7cmV0dXJuIEdPKHRoaXMsOCl9Z2V0RW5hYmxlSWZyYW1lKCl7cmV0dXJuIEdPKHRoaXMsOSl9Z2V0RW5hYmxlU2NyZWVuc2hvdE51ZGdlKCl7cmV0dXJuIEdPKHRoaXMsMTApfWdldEVuYWJsZVdlYlN0YXJ0dXBDb25maWdFbmRwb2ludCgpe3JldHVybiBHTyh0aGlzLDExKX1nZXRFbmFibGVKdW5rTnVkZ2UoKXtyZXR1cm4gR08odGhpcywxMil9Z2V0RW5hYmxlQ29uZmlndXJhdG9yTG9jYWxlKCl7cmV0dXJuIEdPKHRoaXMsCjEzKX1nZXRFbmFibGVUaW55Tm9Qb2ludGVyKCl7cmV0dXJuIEdPKHRoaXMsMTQpfWdldEVuYWJsZVN1cHBvcnRTZXNzaW9uTG9nZ2luZygpe3JldHVybiBHTyh0aGlzLDE1KX1nZXRFbmFibGVGaWxlVXBsb2FkRm9yU2NyZWVuc2hvdCgpe3JldHVybiBHTyh0aGlzLDE2KX1nZXRFbmFibGVEaXJlY3REZWZsZWN0aW9uRm9yU2luZ2xlQ2F0ZWdvcnkoKXtyZXR1cm4gR08odGhpcywxNyl9Z2V0RW5hYmxlSW1hZ2VTYW5pdGl6YXRpb24oKXtyZXR1cm4gR08odGhpcywxOCl9Z2V0RW5hYmxlQWxvaGFCaW5hcnlTcGxpdCgpe3JldHVybiBHTyh0aGlzLDE5KX1nZXRFbmFibGVEYkZlZWRiYWNrSW50ZW50cygpe3JldHVybiBHTyh0aGlzLDIwKX1nZXRFbmFibGVNYXJrTWFuZGF0b3J5RmllbGRzV2l0aFJlcXVpcmVkKCl7cmV0dXJuIEdPKHRoaXMsMjEpfWdldEVuYWJsZUZlZWRiYWNrQ2F0ZWdvcnlDdXN0b21VaSgpe3JldHVybiBHTyh0aGlzLDIyKX1nZXRFbmFibGVSZWFsdGltZUN0bCgpe3JldHVybiBHTyh0aGlzLAoyMyl9Z2V0RW5hYmxlQWxvaGFIZWFkbGVzcygpe3JldHVybiBHTyh0aGlzLDI0KX1nZXRVcGRhdGVGZWVkYmFja0NvbmZpcm1hdGlvbkNsYXJpdHkoKXtyZXR1cm4gR08odGhpcywyNSl9Z2V0RW5hYmxlVmlld0ZlZWRiYWNrUmVwb3J0c0xpbmsoKXtyZXR1cm4gR08odGhpcywyNil9fTt2YXIgVk89Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXYoKXtyZXR1cm4gXy5OeCh0aGlzLE5PLDEpfX07dmFyICRoYT1bL2h0dHBzOlwvXC9zYW5kYm94XC5nb29nbGVcLmNvbVwvdG9vbHNcL2ZlZWRiYWNrLywvaHR0cHM6XC9cL2ZlZWRiYWNrLWZyb250ZW5kLXF1YWxbYS16MC05Ll0qXC5nb29nbGVcLmNvbVwvaW5hcHAvLC9odHRwczpcL1wvZmVlZGJhY2stZnJvbnRlbmQtcXVhbFthLXowLTkuXSpcLmdvb2dsZVwuY29tXC90b29sc1wvZmVlZGJhY2svLC9odHRwczpcL1wvLipcLmdvb2dsZXVzZXJjb250ZW50XC5jb21cL2luYXBwL107dmFyIE9PPSJhZiBhbSBhci1FRyBhci1KTyBhci1NQSBhci1TQSBhci1YQiBhciBheiBiZSBiZyBibiBicyBjYSBjcyBjeSBkYSBkZS1BVCBkZS1DSCBkZSBlbCBlbiBlbi1HQiBlbi1BVSBlbi1DQSBlbi1JRSBlbi1JTiBlbi1OWiBlbi1TRyBlbi1YQSBlbi1YQyBlbi1aQSBlcyBlcy00MTkgZXMtQVIgZXMtQk8gZXMtQ0wgZXMtQ08gZXMtQ1IgZXMtRE8gZXMtRUMgZXMtR1QgZXMtSE4gZXMtTVggZXMtTkkgZXMtUEEgZXMtUEUgZXMtUFIgZXMtUFkgZXMtU1YgZXMtVVMgZXMtVVkgZXMtVkUgZXQgZXUgZmEgZmkgZmlsIGZyLUNBIGZyLUNIIGZyIGdsIGdzdyBndSBoZSBoaSBociBodSBoeSBpZCBpbiBpcyBpdCBpdyBqYSBrYSBrayBrbSBrbiBrbyBreSBsbiBsbyBsdCBsdiBtayBtbCBtbiBtbyBtciBtcyBteSBuYiBuZSBubCBubyBwYSBwbCBwdCBwdC1CUiBwdC1QVCBybyBydSBzaSBzayBzbCBzcSBzci1MYXRuIHNyIHN2IHN3IHRhIHRlIHRoIHRsIHRyIHVrIHVyIHV6IHZpIHpoIHpoLUNOIHpoLUhLIHpoLVRXIHp1Ii5zcGxpdCgiICIpO3ZhciBVTz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIkZvcm0gaXMgZWl0aGVyIGxvYWRpbmcgb3IgYWxyZWFkeSBvcGVuZWQiKTt0aGlzLm5hbWU9IkR1cGxpY2F0ZUZvcm1FcnJvciJ9fSxRTyxTTyxSTyxUTztfLnJhKCJ1c2VyZmVlZGJhY2suQ29sb3JTY2hlbWVzIix7aUY6MSxHQzoyfSk7Xy5yYSgidXNlcmZlZWRiYWNrLmFwaS5zdGFydEZlZWRiYWNrIixfLllPKTtfLnFpYT1uZXcgXy5JKCJuYXRpdmVBcHBEZWVwbGlua0VuZHBvaW50Iik7Xy5yaWE9TWF0aC5yYW5kb20oKTt2YXIgc2lhPW5ldyBfLlZzKCJTVEFUSUNfQVBQX1BST1BTX1RPS0VOIik7Xy52UD1uZXcgXy5WcygiVE9BU1RfT1BUSU9OUyIpO3ZhciBvUD1fLnNqKCJtd2ViX2MzX3RvYXN0X2R1cmF0aW9uX21zIiw1RTMpLGJQLGNQPW51bGwsW3dQLGdQXT1fLkooIm91dCIsdm9pZCAwLCJXY1pjZWUiKSxbbGlhLGZQXT1fLkoodm9pZCAwLHZvaWQgMCwiWFZ5eHhmIiksaVA9W10sbVAsZFA9Xy5MKGE9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy52UCkpO3JldHVybiBfLksoImMzLXRvYXN0Iix7ZGlyOndQLHJvbGU6KCk9PndQKCk9PT0iaW4iPyJhbGVydCI6IiIsY2xhc3M6Xy5QKHsiaHVnLXRvYXN0IjohIWI/LlZ1LCJpbnZlcnNlLXRoZW1lIjohIWI/LkN4fSl9LGEuY2hpbGRyZW4pfSwic2IiKTtkUC5pZG9tQ29tcGF0PSEwO18udGlhPV8udXgoMzA3OTUzKTsoe01nOl8udWlhLGdrOl8ueFB9PV8uekcoYT0+YS5jaGFubmVsSWQpKTsoe01nOl8udmlhLGdrOl8ud2lhfT1fLnpHKGE9Pl8uQihhLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyPy5kZWZhdWx0U2VydmljZUVuZHBvaW50LF8uQnkpPy5wYXJhbXMpKTtfLnlQPW5ldyBfLlZzKCJMQVlFUl9UT0tFTiIpO18uelA9Xy5MKCh7VW86YSxzdGF5T3Blbk9uQ2xpY2s6Yixpc1BlcnNpc3RlbnQ6YyxjaGlsZHJlbjpkfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKHsiZGlhbG9nLWZsZXgtYnV0dG9uIjooKT0+YT8uKCkhPT0xfSksIm9uOmNsaWNrIjpmdW5jdGlvbigpe2I/LigpfHxjPy4oKXx8Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfSx0YWJpbmRleDooKT0+KGI/LigpfHxjPy4oKSx2b2lkIDApfSxkKSwidWIiKTtfLnpQLmlkb21Db21wYXQ9ITA7Xy5BUD1fLkwoKHtjaGlsZHJlbjphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oc2lhKSk/LlVJO3JldHVybiBfLksoImRpdiIseyJhcmlhLWxpdmUiOiJwb2xpdGUiLHRhYmluZGV4OmI/MDp2b2lkIDB9LGEpfSwidmIiKTtfLkFQLmlkb21Db21wYXQ9ITA7Xy54aWE9Xy5zaigibXdlYl9pb3NfZnVsbHNjcmVlbl9wbGF5YmFja190cmFuc2l0aW9uX2RlbGF5X21zIil8fDUwMDtfLnlpYT1fLnNqKCJtd2ViX2lvc19mdWxsc2NyZWVuX3N5c3RlbV9wYXVzZV9lcGlsc29uX21zIil8fDM1MDt2YXIgb2lhPV8uJE4uWHMscGlhPV8uJE4ua3Q7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYVE9ZnVuY3Rpb24oYSxiKXtyZXR1cm57b3BlblBvcHVwQWN0aW9uOntwb3B1cFR5cGU6IlRPQVNUIixwb3B1cDp7bm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXI6e3Jlc3BvbnNlVGV4dDphfX0sLi4uKGIhPT12b2lkIDA/e2R1cmF0aW9uSGludE1zOmJ9Ont9KX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy53bmE9bmV3IF8uSSgiZW50aXR5VXBkYXRlQ29tbWFuZCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk5XPW5ldyBfLkkoInNob3dTaGVldENvbW1hbmQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy54bmE9bmV3IF8uSSgibGlzdFZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk9XPW5ldyBfLlZzKCJTQ1JFRU5fTUFOQUdFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeW5hO18uUFc9ZnVuY3Rpb24oYSl7cmV0dXJuIHluYVthXT8/IkVWRU5UX1NQQU5fVFlQRV9VTktOT1dOIn07CnluYT17Y2xpY2s6IkVWRU5UX1NQQU5fVFlQRV9DTElDSyIsZGJsY2xpY2s6IkVWRU5UX1NQQU5fVFlQRV9EQkxDTElDSyIsbW91c2Vkb3duOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VET1dOIixtb3VzZXVwOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VVUCIsbW91c2VvdmVyOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VPVkVSIixtb3VzZW91dDoiRVZFTlRfU1BBTl9UWVBFX01PVVNFT1VUIixtb3VzZWVudGVyOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VFTlRFUiIsbW91c2VsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX01PVVNFTEVBVkUiLG1vdXNlbW92ZToiRVZFTlRfU1BBTl9UWVBFX01PVVNFTU9WRSIsY29udGV4dG1lbnU6IkVWRU5UX1NQQU5fVFlQRV9DT05URVhUTUVOVSIsa2V5ZG93bjoiRVZFTlRfU1BBTl9UWVBFX0tFWURPV04iLGtleXVwOiJFVkVOVF9TUEFOX1RZUEVfS0VZVVAiLGtleXByZXNzOiJFVkVOVF9TUEFOX1RZUEVfS0VZUFJFU1MiLHRvdWNoc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSFNUQVJUIiwKdG91Y2hlbmQ6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSEVORCIsdG91Y2htb3ZlOiJFVkVOVF9TUEFOX1RZUEVfVE9VQ0hNT1ZFIix0b3VjaGNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIQ0FOQ0VMIixwb2ludGVyZG93bjoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJET1dOIixwb2ludGVydXA6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSVVAiLHBvaW50ZXJtb3ZlOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUk1PVkUiLHBvaW50ZXJvdmVyOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUk9WRVIiLHBvaW50ZXJvdXQ6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVST1VUIixwb2ludGVyZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSRU5URVIiLHBvaW50ZXJsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJMRUFWRSIscG9pbnRlcmNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJDQU5DRUwiLGdvdHBvaW50ZXJjYXB0dXJlOiJFVkVOVF9TUEFOX1RZUEVfR09UUE9JTlRFUkNBUFRVUkUiLApsb3N0cG9pbnRlcmNhcHR1cmU6IkVWRU5UX1NQQU5fVFlQRV9MT1NUUE9JTlRFUkNBUFRVUkUiLHN1Ym1pdDoiRVZFTlRfU1BBTl9UWVBFX1NVQk1JVCIsY2hhbmdlOiJFVkVOVF9TUEFOX1RZUEVfQ0hBTkdFIixpbnB1dDoiRVZFTlRfU1BBTl9UWVBFX0lOUFVUIixmb2N1czoiRVZFTlRfU1BBTl9UWVBFX0ZPQ1VTIixibHVyOiJFVkVOVF9TUEFOX1RZUEVfQkxVUiIscmVzZXQ6IkVWRU5UX1NQQU5fVFlQRV9SRVNFVCIsc2VsZWN0OiJFVkVOVF9TUEFOX1RZUEVfU0VMRUNUIixpbnZhbGlkOiJFVkVOVF9TUEFOX1RZUEVfSU5WQUxJRCIsbG9hZDoiRVZFTlRfU1BBTl9UWVBFX0xPQUQiLHVubG9hZDoiRVZFTlRfU1BBTl9UWVBFX1VOTE9BRCIsYmVmb3JldW5sb2FkOiJFVkVOVF9TUEFOX1RZUEVfQkVGT1JFVU5MT0FEIixkb21jb250ZW50bG9hZGVkOiJFVkVOVF9TUEFOX1RZUEVfRE9NQ09OVEVOVExPQURFRCIscmVzaXplOiJFVkVOVF9TUEFOX1RZUEVfUkVTSVpFIixzY3JvbGw6IkVWRU5UX1NQQU5fVFlQRV9TQ1JPTEwiLApwYWdlc2hvdzoiRVZFTlRfU1BBTl9UWVBFX1BBR0VTSE9XIixwYWdlaGlkZToiRVZFTlRfU1BBTl9UWVBFX1BBR0VISURFIixwbGF5OiJFVkVOVF9TUEFOX1RZUEVfUExBWSIscGF1c2U6IkVWRU5UX1NQQU5fVFlQRV9QQVVTRSIscGxheWluZzoiRVZFTlRfU1BBTl9UWVBFX1BMQVlJTkciLHdhaXRpbmc6IkVWRU5UX1NQQU5fVFlQRV9XQUlUSU5HIixzZWVraW5nOiJFVkVOVF9TUEFOX1RZUEVfU0VFS0lORyIsc2Vla2VkOiJFVkVOVF9TUEFOX1RZUEVfU0VFS0VEIixlbmRlZDoiRVZFTlRfU1BBTl9UWVBFX0VOREVEIix2b2x1bWVjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9WT0xVTUVDSEFOR0UiLHRpbWV1cGRhdGU6IkVWRU5UX1NQQU5fVFlQRV9USU1FVVBEQVRFIixyYXRlY2hhbmdlOiJFVkVOVF9TUEFOX1RZUEVfUkFURUNIQU5HRSIsZHJhZ3N0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfRFJBR1NUQVJUIixkcmFnOiJFVkVOVF9TUEFOX1RZUEVfRFJBRyIsZHJhZ2VuZDoiRVZFTlRfU1BBTl9UWVBFX0RSQUdFTkQiLApkcmFnZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9EUkFHRU5URVIiLGRyYWdsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX0RSQUdMRUFWRSIsZHJhZ292ZXI6IkVWRU5UX1NQQU5fVFlQRV9EUkFHT1ZFUiIsZHJvcDoiRVZFTlRfU1BBTl9UWVBFX0RST1AiLGFuaW1hdGlvbnN0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9OU1RBUlQiLGFuaW1hdGlvbmVuZDoiRVZFTlRfU1BBTl9UWVBFX0FOSU1BVElPTkVORCIsYW5pbWF0aW9uaXRlcmF0aW9uOiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9OSVRFUkFUSU9OIix0cmFuc2l0aW9ucnVuOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTlJVTiIsdHJhbnNpdGlvbnN0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTlNUQVJUIix0cmFuc2l0aW9uZW5kOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTkVORCIsdHJhbnNpdGlvbmNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1RSQU5TSVRJT05DQU5DRUwifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RVz1uZXcgXy5JKCJzaG93RW5nYWdlbWVudFBhbmVsRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCk1hdGgudXVpZC5qcyAodjEuNCkKaHR0cDovL3d3dy5icm9vZmEuY29tCm1haWx0bzpyb2JlcnRAYnJvb2ZhLmNvbQpDb3B5cmlnaHQgKGMpIDIwMTAgUm9iZXJ0IEtpZWZmZXIKRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiovCnZhciB6bmEsUlcsQW5hLEJuYSxDbmEsRG5hLEVuYSxUVyxGbmEsVVcsR25hLEhuYSxWVyxJbmEsSm5hLFhXLFlXLFpXLCRXLExuYSxNbmEsYlgsaFgsTm5hLE9uYSxQbmEsalgsa1gsUm5hLG1YLFNuYSxvWCxwWCxVbmEsVm5hLG5YLFduYSxUbmEsbFgscVgsWW5hLGFvYSxib2EsY29hLGRvYSxlb2Esc1gsZm9hLGdvYSx0WCxob2EsdVgsdlgsaW9hLGtvYSx4WCxsb2EseVgsbm9hLG9vYSxwb2EscW9hLEJYLHJvYSxzb2EsQ1gsdG9hLHVvYSx2b2Esd29hLHhvYSx5b2Esem9hLEFvYSxCb2EsQ29hLEhYLElYLEZvYSxtb2EsS1gsSG9hLEpYLElvYSxKb2EsS29hLE1YLExvYSxOWCxNb2EsTm9hLE9vYSxQb2EsUW9hLFJvYSxTb2EsT1gsVG9hLFBYLFFYLFZvYSxVb2EsV29hLFhvYSxZb2EsWm9hLCRvYSxWWCxVWCxXWCwkWCxYWCxZWCxaWCxhWSxhcGEsYnBhLGNwYSxiWSxlWSxkWSxkcGEsZlksZXBhLGZwYSxncGEsaHBhLGdZLGpwYSxpcGEsbHBhLHBwYSxqWSxxcGEsa1ksbFksblksbVksCmlZLHJwYSxzcGEsdXBhLHBZLHdwYSxvWSxyWSxzWSx0WSx1WSx6cGEsQXBhLHdZLHhZLHlZLEFZLENwYSxCWSxEcGEsRFksRXBhLEZZLEhZLEZwYSxJWSxKWSxIcGEsS1ksTVksSXBhLEpwYSxMcGEsTXBhLE5wYSxQcGEsUnBhLFRwYSxVcGEsTlksV3BhLFZwYSxQWSxTWSxPWSxSWSxacGEsWXBhLGJxYSxkcWEsZXFhLGZxYSxncWEsV1ksaHFhLGlxYSxqcWEsa3FhLGxxYSxtcWEsY3FhLFZZLHRxYSxucWEselgsdXFhLFdXLERvYSxjWixLbmEseHFhLGRaLGVaLHlxYSx6cWEsQXFhLEJxYSxDcWEsRHFhLGFYLGZaLGdYLGNYLGRYLGVYLGZYLEVxYSxnWixoWixGcWEsaVosR3FhLEhxYSxpWCxqWixJcWEsUW5hLFhuYSxKcWEsWm5hLCRuYSxyWCxMcWEsam9hLFhZLGtaLE1xYSxxWSxBWDt6bmE9ZnVuY3Rpb24oYSxiKXtiPSgwLF8ueWcpKGIpO2I9Xy5FZihiLGIpO2Iudj0hMDtfLkpmKGEsYik7cmV0dXJuIGF9OwpSVz1mdW5jdGlvbihhLGIpe2E9YS53YXRjaEVuZHBvaW50U3VwcG9ydGVkQXV0aG9yaXphdGlvblRva2VuQ29uZmlnPy52aWRlb0F1dGhvcml6YXRpb25Ub2tlbj8uY3JlZGVudGlhbFRyYW5zZmVyVG9rZW5zfHxbXTtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYylpZihhW2NdLnNjb3BlPT09YilyZXR1cm4gYVtjXS50b2tlbnx8dm9pZCAwfTsKQW5hPWZ1bmN0aW9uKGEsYixjPXt9KXtfLlZpKCgpPT57dmFyIGQ9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucm9vdFZlfHxfLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8ubngpPy5zY3JlZW5WaXN1YWxFbGVtZW50Py51aVR5cGU7aWYoZCl7dmFyIGU9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLmVhYSk7aWYoZT8ucGFyZW50VHJhY2tpbmdQYXJhbXMpe3ZhciBmPV8uVXcoZS5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoZS5wYXJlbnRDc24pdmFyIGg9ZS5wYXJlbnRDc259ZWxzZSBjLmNsaWNrZWRWaXN1YWxFbGVtZW50P2Y9Yy5jbGlja2VkVmlzdWFsRWxlbWVudDpiLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihmPV8uVXcoYi5jbGlja1RyYWNraW5nUGFyYW1zKSk7YTp7ZT1fLkIoYixfLkF3KTt2YXIgaz1fLkIoYixfLmRhYSk7aWYoZSl7aWYoaz1SVyhlLCJWSURFTyIpKXtlPXt0b2tlbjprLHZpZGVvSWQ6ZS52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGsmJihlPVJXKGssCiJQTEFZTElTVCIpKSl7ZT17dG9rZW46ZSxwbGF5bGlzdElkOmsucGxheWxpc3RJZH07YnJlYWsgYX1lPXZvaWQgMH1jPXtjdHRBdXRoSW5mbzplLHBhcmVudENzbjpoLC4uLmN9O18ueCgiZXhwZWN0YXRpb25fbG9nZ2luZyIpJiYoYy5sb2dnaW5nRXhwZWN0YXRpb25zPV8uQihiPy5jb21tYW5kTWV0YWRhdGEsXy5ueCk/LmxvZ2dpbmdFeHBlY3RhdGlvbnN8fHZvaWQgMCk7Xy5ETyhhLGQsZixjKX1lbHNlIF8uSXAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gY3JlYXRlIGEgbmV3IHNjcmVlbiB3aXRob3V0IGEgcm9vdFZlVHlwZSIsYikpfSkoKX07Qm5hPWZ1bmN0aW9uKGEsYil7YT1gU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX0ZVTExTQ1JFRU5fUkVRVUVTVF9TTElfJHthfWA7Xy5FeS5yZWdpc3Rlci5oYXMoYSk/Yj1fLkV5LnJlZ2lzdGVyLmdldChhKTooYj1iKCksXy5FeS5yZWdpc3Rlci5zZXQoYSxiKSk7cmV0dXJuIGJ9O0NuYT1mdW5jdGlvbih7c2VydmljZUlkOmF9KXtyZXR1cm4gYS5vfTsKRG5hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5HeSxiPVtTV10sYz1iLm1hcChsPT5DbmEobCkpLGQ9Yi5tYXAobD0+YS5tYXBwaW5ncy5nZXQobC50b1N0cmluZygpKSkuZmlsdGVyKGw9PmwpO2lmKGQubGVuZ3RoPT09Yi5sZW5ndGgpcmV0dXJuIF8uS3koZC5tYXAoKGwsbSk9Pl8ubnkoYSxsLGJbbV0pKSk7dmFyIGU9Xy5WZCgpLmFmKGMpO2Q9Xy5JZihjLm1hcChsPT5lW2xdKSk7dmFyIGY9ZG9jdW1lbnQuaGlkZGVuLGg9LTEsaz1fLnNqKCJnZXRfYXN5bmNfdGltZW91dF9tcyIsLTEpO2s+LTEmJihoPXNldFRpbWVvdXQoKCk9PntfLklwKG5ldyBfLlhqKCJNb2R1bGUgdGltZW91dC4iLGMsZixkb2N1bWVudC5oaWRkZW4pKX0saykpO3JldHVybiB6bmEoZC50aGVuKCgpPT5iLm1hcChsPT5fLm55KGEsYS5tYXBwaW5ncy5nZXQobC50b1N0cmluZygpKSxsKSkpLktnKGw9Pntmb3IobGV0IG0gb2YgYS5qKW0obCk7dGhyb3cgbDt9KSwoKT0+e2NsZWFyVGltZW91dChoKX0pfTsKRW5hPWZ1bmN0aW9uKCl7cmV0dXJuIERuYSgpLnRoZW4oYT0+YVswXSl9O1RXPWZ1bmN0aW9uKGEsYil7YS5EZj1iO2ZvcihsZXQgYyBvZiBhLmRhdGEpYihjKTthLmRhdGE9W119O0ZuYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSxiKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIsYyl9O1VXPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgZD0wO2Q8YXJndW1lbnRzLmxlbmd0aDtkKyspe2xldCBlPWFyZ3VtZW50c1tkXTtpZihBcnJheS5pc0FycmF5KGUpKWZvcihsZXQgZj0wO2Y8ZS5sZW5ndGg7Zis9ODE5Mil7dmFyIGM9Rm5hKGUsZixmKzgxOTIpO2M9VVcuYXBwbHkobnVsbCxjKTtmb3IobGV0IGg9MDtoPGMubGVuZ3RoO2grKyliLnB1c2goY1toXSl9ZWxzZSBiLnB1c2goZSl9cmV0dXJuIGJ9OwpHbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkJmKGZ1bmN0aW9uKGIpe3ZhciBjPWEubGVuZ3RoLGQ9W107aWYoYyl7dmFyIGU9ZnVuY3Rpb24oaCxrLGwpe2MtLTtkW2hdPWs/e2Z1bGZpbGxlZDohMCx2YWx1ZTpsfTp7ZnVsZmlsbGVkOiExLHJlYXNvbjpsfTtjPT0wJiZiKGQpfTtmb3IobGV0IGg9MDtoPGEubGVuZ3RoO2grKyl7dmFyIGY9YVtoXTtfLkhmKGYsXy5EYShlLGgsITApLF8uRGEoZSxoLCExKSl9fWVsc2UgYihkKX0pfTtIbmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5NeigiTE9HR0VEX0lOIixmdW5jdGlvbihjKXthLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO18uTnooYil9KX07Vlc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oKT0+e3ZhciBjPV8ueSgpO2MucmVzb2x2ZShfLkluKGEpKXx8Xy5KeihjLHtqYTphLFBhOmEsW18uTG5dOmJ9KTtyZXR1cm4gYy5yZXNvbHZlKGEpfX07CkluYT1mdW5jdGlvbihhKXtpZihXVz09PXZvaWQgMCl0aHJvdyBFcnJvcigic2IiKTtpZihXVylmb3IobGV0IFtiLGNdb2YgV1cpYShiLGMpO18uTnYuYWRkKGEpO1dXPXZvaWQgMH07Sm5hPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJjYW5hcnkiOnJldHVybiJDTElFTlRfQ0FOQVJZX1NUQVRFX0NBTkFSWSI7Y2FzZSAiY29udHJvbCI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfQ09OVFJPTCI7Y2FzZSAibm9uZSI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfTk9ORSI7ZGVmYXVsdDpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9VTktOT1dOIn19O1hXPWZ1bmN0aW9uKGEsYj0iIil7dmFyIGM9W107Zm9yKGxldCBkIGluIGEpe2lmKCFhLmhhc093blByb3BlcnR5KGQpKWNvbnRpbnVlO2xldCBlPWIhPT0iIj9iKyIuIitkOmQ7dHlwZW9mIGFbZF09PT0ib2JqZWN0Ij9jLnB1c2goLi4uWFcoYVtkXSxlKSk6Yy5wdXNoKFtlLGFbZF1dKX1jLnNvcnQoKTtyZXR1cm4gY307CllXPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhLmV2ZW50cy52YWx1ZXMoKSliLnB1c2goYyk7cmV0dXJuIGJ9O1pXPWZ1bmN0aW9uKGEpe18uRnk9PW51bGwmJihfLkZ5PW5ldyBLbmEpO3ZhciBiPV8uRnk7dmFyIGM9Yi52O2EuZGltZW5zaW9ucz1hLmRpbWVuc2lvbnN8fHt9O2EuZGltZW5zaW9ucy5jc249Xy5pcSgpfHwiIjt2YXIgZD1YVyhhLmRpbWVuc2lvbnMpLmpvaW4oIjsiKTthLnJlY29yZHMhPW51bGwmJihjLmV2ZW50cy5oYXMoZCk/Yy5ldmVudHMuZ2V0KGQpLnJlY29yZHM/LnB1c2goLi4uYS5yZWNvcmRzKTpjLmV2ZW50cy5zZXQoZCxhKSk7Yi5qLmVuYWJsZWR8fGIuai5zdGFydCgpO2IubysrO2Iubz49MTAwJiZiLmZsdXNoKCl9OyRXPWZ1bmN0aW9uKGEpe2E9YS5rZXl8fGEuaWQ7aWYoIWEpdGhyb3cgRXJyb3IoImZjIik7cmV0dXJuIGF9OwpMbmE9ZnVuY3Rpb24oKXtpZihhWClyZXR1cm4gYVgoKTthWD1fLiRsKCJQZXJzaXN0ZW50RW50aXR5U3RvcmVEYiIse3NlOntFbnRpdHlTdG9yZTp7UGQ6MX0sRW50aXR5QXNzb2NpYXRpb25TdG9yZTp7UGQ6Mn19LHNoYXJlZDohMSx1cGdyYWRlKGEsYil7YigxKSYmXy5vbChfLmtsKGEsIkVudGl0eVN0b3JlIix7a2V5UGF0aDoia2V5In0pLCJlbnRpdHlUeXBlIiwiZW50aXR5VHlwZSIpO2IoMikmJihhPV8ua2woYSwiRW50aXR5QXNzb2NpYXRpb25TdG9yZSIse2tleVBhdGg6WyJwYXJlbnRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSJdfSksXy5vbChhLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLF8ub2woYSwiYnlDaGlsZEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5IikpfSx2ZXJzaW9uOjN9KTtyZXR1cm4gYVgoKX07TW5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKExuYSgpLGEpfTsKYlg9ZnVuY3Rpb24oYSl7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KGEpOkFycmF5KGEpfTsKaFg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5rZXksYz1hLmNvdW50ZXJbMF1eYlswXSxkPWEuY291bnRlclsxXV5iWzFdLGU9YS5jb3VudGVyWzJdXmJbMl0sZj1hLmNvdW50ZXJbM11eYlszXTtmb3IodmFyIGg9MztoPj0wJiYhKGEuY291bnRlcltoXT0tfmEuY291bnRlcltoXSk7aC0tKTtmb3IodmFyIGssbCxtPTQ7bTw0MDspaD1jWFtjPj4+MjRdXmRYW2Q+PjE2JjI1NV1eZVhbZT4+OCYyNTVdXmZYW2YmMjU1XV5iW20rK10saz1jWFtkPj4+MjRdXmRYW2U+PjE2JjI1NV1eZVhbZj4+OCYyNTVdXmZYW2MmMjU1XV5iW20rK10sbD1jWFtlPj4+MjRdXmRYW2Y+PjE2JjI1NV1eZVhbYz4+OCYyNTVdXmZYW2QmMjU1XV5iW20rK10sZj1jWFtmPj4+MjRdXmRYW2M+PjE2JjI1NV1eZVhbZD4+OCYyNTVdXmZYW2UmMjU1XV5iW20rK10sYz1oLGQ9ayxlPWw7YT1hLm87aD1iWzQwXTthWzBdPWdYW2M+Pj4yNF1eaD4+PjI0O2FbMV09Z1hbZD4+MTYmMjU1XV5oPj4xNiYyNTU7YVsyXT1nWFtlPj44JgoyNTVdXmg+PjgmMjU1O2FbM109Z1hbZiYyNTVdXmgmMjU1O2g9Yls0MV07YVs0XT1nWFtkPj4+MjRdXmg+Pj4yNDthWzVdPWdYW2U+PjE2JjI1NV1eaD4+MTYmMjU1O2FbNl09Z1hbZj4+OCYyNTVdXmg+PjgmMjU1O2FbN109Z1hbYyYyNTVdXmgmMjU1O2g9Yls0Ml07YVs4XT1nWFtlPj4+MjRdXmg+Pj4yNDthWzldPWdYW2Y+PjE2JjI1NV1eaD4+MTYmMjU1O2FbMTBdPWdYW2M+PjgmMjU1XV5oPj44JjI1NTthWzExXT1nWFtkJjI1NV1eaCYyNTU7aD1iWzQzXTthWzEyXT1nWFtmPj4+MjRdXmg+Pj4yNDthWzEzXT1nWFtjPj4xNiYyNTVdXmg+PjE2JjI1NTthWzE0XT1nWFtkPj44JjI1NV1eaD4+OCYyNTU7YVsxNV09Z1hbZSYyNTVdXmgmMjU1fTsKTm5hPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthLmp8fChhLmo9YXdhaXQgYS5vLmltcG9ydEtleSgicmF3IixhLnYse25hbWU6IkFFUy1DVFIifSwhMSxbImVuY3J5cHQiXSkpO2E9YXdhaXQgYS5vLmVuY3J5cHQoe25hbWU6IkFFUy1DVFIiLGNvdW50ZXI6YyxsZW5ndGg6MTI4fSxhLmosYik7cmV0dXJuIG5ldyBVaW50OEFycmF5KGEpfTtPbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIlVOS05PV05fRU5DT0RFX0VSUk9SIix7b3JpZ2luYWxNZXNzYWdlOmEubWVzc2FnZX0pOm5ldyBpWCgiVU5LTk9XTl9FTkNPREVfRVJST1IiKX07UG5hPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRXJyb3I/bmV3IGlYKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTphLm1lc3NhZ2V9KTpuZXcgaVgoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpqWD1mdW5jdGlvbihhLGIpe2E9YSBpbnN0YW5jZW9mIGlYP2E6YihhKTtfLkdwKGEpO3Rocm93IGE7fTtrWD1mdW5jdGlvbihhKXthPShuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKS5zdWJhcnJheSgwLDE2KTt2YXIgYj1uZXcgVWludDhBcnJheSgxNik7Yi5zZXQoYSk7cmV0dXJuIGJ9O1JuYT1mdW5jdGlvbihhKXt2YXIgYj1RbmFbYV07aWYoYilyZXR1cm4gYjtfLklwKG5ldyBfLlhqKCJFbnRpdHkgbW9kZWwgbm90IGZvdW5kLiIse2VudGl0eVR5cGU6YX0pKX07bVg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbFgoYS5vLGIudmVyc2lvbikuZGVjb2RlKGIuZGF0YSxiLmtleSl9O1NuYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5nZXQoYikudGhlbihkPT57aWYoZCl7aWYoYyYmZC5lbnRpdHlUeXBlIT09Yyl0aHJvdyBFcnJvcigiaGMiKTtyZXR1cm4gbVgoYSxkKX19KX07Cm9YPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0kVyhiKTtyZXR1cm4gblgoYSxkKS50aGVuKCgpPT5UbmEoYSxiLGMpKX07cFg9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEudltjXTtkfHwoZD1uZXcgU2V0LGEudltjXT1kKTtkLmFkZChiKX07ClVuYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9JFcoYiksZT1sWChhLm8sMSksZj17Li4uYn07cmV0dXJuIGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5nZXQoZCkudGhlbihoPT57aWYoaCl7aWYoaC5lbnRpdHlUeXBlIT09Yyl0aHJvdyBFcnJvcigiaGMiKTtmLmVudGl0eU1ldGFkYXRhfHwoaD1tWChhLGgpLGYuZW50aXR5TWV0YWRhdGE9aC5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e3ZhciBoPXtrZXk6ZCxlbnRpdHlUeXBlOmMsZGF0YTplLmVuY29kZShmLGQpLHZlcnNpb246MX07cmV0dXJuIF8uVmsuYWxsKFtfLmxsKGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKSxoKSxvWChhLGYsYyldKX0pLnRoZW4oKCk9PntwWChhLGQsYyk7cmV0dXJuIGR9KX07ClZuYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uR0goYikuZW50aXR5VHlwZTtyZXR1cm4gXy5Way5hbGwoW2Euai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5kZWxldGUoYiksblgoYSxiKV0pLnRoZW4oKCk9PntwWChhLGIsYyl9KX07blg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIikuaW5kZXgoImJ5UGFyZW50RW50aXR5S2V5IikuZGVsZXRlKElEQktleVJhbmdlLm9ubHkoYikpfTsKV25hPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWxYKGEubywxKTtyZXR1cm4gU25hKGEsYixkKS50aGVuKGY9PntpZihmfHxfLngoIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiKSl7Zj1fLmhNKGZ8fHt9LGMpO3ZhciBoPXtrZXk6YixlbnRpdHlUeXBlOmQsZGF0YTplLmVuY29kZShmLGIpLHZlcnNpb246MX07cmV0dXJuIF8uVmsuYWxsKFtfLmxsKGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKSxoKSxvWChhLGYsZCldKX19KS50aGVuKCgpPT57cFgoYSxiLGQpO3JldHVybiBifSl9OwpUbmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRXKGIpO2M9Um5hKGMpO2lmKCFjKXJldHVybiBfLlZrLnJlc29sdmUoW10pO2I9bmV3IGMoYik7YT1hLmoub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtjPVtdO2ZvcihsZXQgZSBvZiBiLm8oKSljLnB1c2goXy5sbChhLHtwYXJlbnRFbnRpdHlLZXk6ZCxjaGlsZEVudGl0eUtleTplfSkpO3JldHVybiBfLlZrLmFsbChjKS50aGVuKGU9PmUubWFwKGY9PmZbMV0pKX07bFg9ZnVuY3Rpb24oYSxiPTApe2E9YS5qW2JdO2lmKCFhKXRocm93IGI9bmV3IGlYKCJJTlZBTElEX0VOQ09ERVJfVkVSU0lPTiIse0lwOmJ9KSxfLkdwKGIpLGI7cmV0dXJuIGF9O3FYPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIG9mIGEub2JzZXJ2ZXJzKWMoYil9OwpZbmE9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hd2FpdCBNbmEoYS50b2tlbiksZDtjPWF3YWl0IF8uaWwoYyxbIkVudGl0eVN0b3JlIiwiRW50aXR5QXNzb2NpYXRpb25TdG9yZSJdLCJyZWFkd3JpdGUiLGU9PntkPW5ldyBYbmEoZSxhLmopO3JldHVybiBiKGQpfSk7aWYoZCl7bGV0IGU9ZC52O09iamVjdC5rZXlzKGUpLmxlbmd0aD4wJiYoYS5jaGFubmVsLnBvc3RNZXNzYWdlKGUpLHFYKGEsZSkpfXJldHVybiBjfTthb2E9YXN5bmMgZnVuY3Rpb24oKXt0cnl7bGV0IGI9YXdhaXQgXy5QbCgpO2lmKGImJl8uV2ooKSYmdHlwZW9mIF8udS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBhPW5ldyBabmE7cmV0dXJuIG5ldyAkbmEoYixhKX19Y2F0Y2goYil7YiBpbnN0YW5jZW9mIEVycm9yJiZfLkdwKGIpfX07CmJvYT1mdW5jdGlvbihhKXthPWEub3B0aW9ucz8ucGVyc2lzdGVuY2VPcHRpb247cmV0dXJuIGE9PT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9QRVJTSVNUInx8YT09PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX0lOTUVNT1JZX0FORF9QRVJTSVNUIn07CmNvYT1hc3luYyBmdW5jdGlvbihhKXtyWHx8KHJYPWFvYSgpKTt2YXIgYj1hd2FpdCByWDtiJiZhd2FpdCBZbmEoYixjPT57dmFyIGQ9e307Zm9yKGxldCBlIG9mIGEpe2lmKCFlLmVudGl0eUtleXx8IWJvYShlKSljb250aW51ZTtsZXQgZj1fLmRNKGUucGF5bG9hZCksaD12b2lkIDA7ZS50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1JFUExBQ0UiJiYoaD0oKT0+VW5hKGMsZS5wYXlsb2FkW2ZdLGYpKTtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIiYmKGg9KCk9PlZuYShjLGUuZW50aXR5S2V5KSk7ZS50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1VQREFURSImJihoPSgpPT5XbmEoYyxlLmVudGl0eUtleSxlLnBheWxvYWRbZl0sZikpO2gmJihkW2UuZW50aXR5S2V5XT1kW2UuZW50aXR5S2V5XT9kW2UuZW50aXR5S2V5XS50aGVuKGgpOmgoKSl9cmV0dXJuIF8uVmsuYWxsKE9iamVjdC52YWx1ZXMoZCkpfSl9Owpkb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXshKGE9YS5tdXRhdGlvbnMpfHxhLmxlbmd0aDw9MHx8KGImJmIuZGlzcGF0Y2goXy5rQSh7dHlwZToiRU5USVRZX0xPQURFRCIscGF5bG9hZDphfSkpLGF3YWl0IGNvYShhKSxhLmxlbmd0aD0wKX07ZW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8udUMoKTtiLk9jPSEwO2Iuc2Vzc2lvbklkPWEuc2Vzc2lvbklkfHwiIjtiLmRoPWEuZGg7YS5XaCE9bnVsbCYmKGIuV2g9YS5XaCl9O3NYPWZ1bmN0aW9uKGEpe18udUMoKS5wcm9jZXNzb3JzLnB1c2goYSl9O2ZvYT1mdW5jdGlvbigpe18uVnAuc3Vic2NyaWJlKCJoYW5kbGVFcnJvciIsYT0+e3RyeXtmb3IobGV0IGIgaW4gXy5lSSl0cnl7bGV0IGM9Xy5lSVtiXTt0eXBlb2YgXy5lSVtiXT09PSJmdW5jdGlvbiImJihjPWMoKSk7YS5wYXJhbXNbYl09dHlwZW9mIF8uZUlbYl09PT0ib2JqZWN0Ij9KU09OLnN0cmluZ2lmeShjKTpTdHJpbmcoYyl9Y2F0Y2goYyl7Xy5JcChjKX19Y2F0Y2goYil7Xy5JcChiKX19KX07CmdvYT1mdW5jdGlvbigpe307dFg9ZnVuY3Rpb24oYSxiLGM9MCl7KGM9Xy5pcShjKSkmJmEmJl8ueUooYyxhLGIpfTtob2E9ZnVuY3Rpb24oYSl7cmV0dXJuIFVXKE9iamVjdC5rZXlzKGEpLm1hcChiPT5iPT09InBsYXlsaXN0RWRpdEVuZHBvaW50Ij9fLkIoYSxfLkF6KS5jbGllbnRBY3Rpb25zfHxbXTphW2JdLmFjdGlvbnN8fGFbYl0uY2xpZW50QWN0aW9uc3x8W10pKX07dVg9ZnVuY3Rpb24oYSl7YT1fLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpO3JldHVybiBhPy51cmw/YS51cmw6bnVsbH07dlg9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYSlfLkFKKGMsYiwhMCl9Owppb2E9ZnVuY3Rpb24oKXtfLkpNPXdYO1RXKF8uZ0UsKHtjb21tYW5kOmEsc291cmNlRGF0YTpiLGNvbW1hbmRDb250ZXh0OmN9KT0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSxfLllEKGIsYykpfHwoYT1uZXcgXy5YaigiQ29tbWFuZCBub3QgaGFuZGxlZCBieSBDb21tYW5kSGFuZGxlciIsT2JqZWN0LmtleXMoYSksYyksXy5HcChhKSl9KX07a29hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5QRShqb2EpO3JldHVybiBhIT09dm9pZCAwP2E6Xy5SRTw9Mjk5fTt4WD1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50O3JldHVybiBfLnZiKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sYj0+YG9uJHtiLnRvTG93ZXJDYXNlKCl9YGluIGEpfTsKbG9hPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQ7cmV0dXJuIF8udmIoWyJmdWxsc2NyZWVuZXJyb3IiLCJ3ZWJraXRmdWxsc2NyZWVuZXJyb3IiLCJtb3pmdWxsc2NyZWVuZXJyb3IiLCJNU0Z1bGxzY3JlZW5FcnJvciJdLGI9PmBvbiR7Yi50b0xvd2VyQ2FzZSgpfWBpbiBhKX07eVg9ZnVuY3Rpb24oYSxiLGMpe18ucmlhPF8uc2ooIndlYl9zbGlfbG9nX3dhcm5pbmdfc2FtcGxlX3NpemVfcmF0ZSIsLjAwMSkmJl8uSXAobmV3IF8uWGooYFtTTEldICIke2F9IiBlcnJvcmAse3NsaU5hbWU6YSxkaW1lbnNpb25zOmIsZGV0YWlsczpjfSkpfTsKbm9hPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe2N8fF8uSXAobmV3IF8uWGooIkZ1bGxzY3JlZW4gY2hhbmdlIHNsaSBjYWxsZWQgYmVmb3JlIHN0YXJ0LiIpKX12YXIgYj16WCxjPSExLGQ9e2p3Om1vYX0uancoImZ1bGxzY3JlZW5fcmVxdWVzdCIpLGU9bG9hKCl8fCJmdWxsc2NyZWVuZXJyb3IiO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsZj0+e2EoKTtkLnpnKCJGQUlMVVJFIik7eVgoImZ1bGxzY3JlZW4gcmVxdWVzdCIsYigpLHtldmVudDpmfSk7Yz0hMX0pO2U9eFgoKXx8ImZ1bGxzY3JlZW5jaGFuZ2UiO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsKCk9PnthKCk7ZC56ZygiU1VDQ0VTUyIpO2M9ITF9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbnJlcXVlc3QiLCgpPT57Yz0hMDtkLkRyKGIoKSl9KX07Cm9vYT1mdW5jdGlvbihhKXt2YXIgYj1hLmZhbGxiYWNrRW5kcG9pbnQsYz1hLnRpbWVvdXRNcztpZighXy54KCJtd2ViX2MzX25pdHJhdGVfY2xpZW50X29wZW5fYXBwX2ZhbGxiYWNrX2tzIikmJmEudXJsKXt2YXIgZD1fLlpiKGEudXJsLCJmZWF0dXJlIil8fCIiO2Q9ZC5zdGFydHNXaXRoKCJlMTVtXyIpfHxkLnN0YXJ0c1dpdGgoImUxZF8iKXx8ZC5zdGFydHNXaXRoKCJlM2RfIik7Xy5mciYmZCYmIWImJihhPWEudXJsLGEuc3RhcnRzV2l0aCgidm5kLnlvdXR1YmU6Ly8iKT9hPWEucmVwbGFjZSgidm5kLnlvdXR1YmU6Ly8iLCJodHRwczovLyIpOmEuc3RhcnRzV2l0aCgieW91dHViZTovLyIpJiYoYT1hLnJlcGxhY2UoInlvdXR1YmU6Ly8iLCJodHRwczovLyIpKSxfLlhiKGEsMCwicmVkaXJlY3RfYXBwX3N0b3JlX2lvcyIsYS5zZWFyY2goXy5ZYikpPj0wfHwoYT1fLkZPKGEsInJlZGlyZWN0X2FwcF9zdG9yZV9pb3MiLCIxIikpLGI9Xy53TihhKSwhY3x8Yzw9MCkmJihjPV8uc2ooIm13ZWJfZGVlcF9saW5rX2ZhbGxiYWNrX3RpbWVvdXRfbXMiLAozRTMpKX1yZXR1cm57ZmFsbGJhY2tFbmRwb2ludDpiLHRpbWVvdXRNczpjfX07cG9hPWZ1bmN0aW9uKGEsYil7Xy54KCJtd2ViX2FwcF9idXR0b25fbG9nX2tzIil8fHRYKF8udGlhKTtiLmV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTthPV8uQihhLF8ucWlhKTthPy51cmwmJih3aW5kb3cubG9jYXRpb249YS51cmwpO3ZhciB7ZmFsbGJhY2tFbmRwb2ludDpjLHRpbWVvdXRNczpkfT1hP29vYShhKTp7ZmFsbGJhY2tFbmRwb2ludDp2b2lkIDAsdGltZW91dE1zOnZvaWQgMH07QVg9PT12b2lkIDAmJmQmJmQ+MCYmKEFYPXNldFRpbWVvdXQoKCk9PntBWD12b2lkIDA7YyYmXy5BSihjLGIuc291cmNlRGF0YSwhMCl9LGQpLF8uTk0od2luZG93LCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e0FYJiYod2luZG93LmNsZWFyVGltZW91dChBWCksQVg9dm9pZCAwKX0pKX07CnFvYT1mdW5jdGlvbihhKXt2YXIgYj14WCgpO2ImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKGIsKCk9Pnt2YXIgYz0hIV8uWk8oKTtjfHxfLk1PKCIueXR3UGxheWVyQm90dG9tQ29udHJvbHNGdWxsc2NyZWVuQnV0dG9uV3JhcHBlciAuZnVsbHNjcmVlbi1pY29uIC5idXR0b24iKTthLnNldEZhdXhGdWxsc2NyZWVuKGMpfSl9O0JYPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNnb29nbGUtZmVlZGJhY2siKTtiJiYoXy5CTihiLGEpLGEmJl8uTU8oKCk9PmIucXVlcnlTZWxlY3RvcigiaWZyYW1lIik/LmNvbnRlbnREb2N1bWVudD8ucXVlcnlTZWxlY3RvcigiLnV2RmVlZGJhY2tGb3JtZm9ybS1pbml0aWFsLWZvY3VzLWVsZW1lbnQsIC51dkZlZWRiYWNrUnNhZGlhbG9nZGlhbG9nIC5zY1NoYXJlZE1hdGVyaWFsYnV0dG9ucm9vdCIpLDUse3JsOiEwfSkpfTsKcm9hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRC5yZXNwb25zZT8ucmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09ImUiKVswXSxiPW5ldyBTZXQoXy53KCJGRVhQX0VYUEVSSU1FTlRTIixbXSkpOyhhPy52YWx1ZT8uc3BsaXQoIiwiKXx8W10pLmZvckVhY2goYz0+e2IuYWRkKE51bWJlcihjKSl9KTtyZXR1cm4gQXJyYXkuZnJvbShiKS5qb2luKCIsIil9Owpzb2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5XRCgoKT0+e3ZhciBhPV8uWEQucmVzcG9uc2U/LnJlc3BvbnNlPy5yZXNwb25zZUNvbnRleHQ/LnNlcnZpY2VUcmFja2luZ1BhcmFtcz8uZmlsdGVyKGM9PmMuc2VydmljZT09PSJHRkVFREJBQ0siKVswXS5wYXJhbXM/LmZpbHRlcihjPT5jLmtleT09PSJwcmVtaXVtX21lbWJlcnNoaXAiKVswXSxiPV8uWEQucmVzcG9uc2U/LnBsYXllclJlc3BvbnNlPy5yZXNwb25zZUNvbnRleHQ/LnNlcnZpY2VUcmFja2luZ1BhcmFtcz8uZmlsdGVyKGM9PmMuc2VydmljZT09PSJHRkVFREJBQ0siKVswXS5wYXJhbXM/LmZpbHRlcihjPT5jLmtleT09PSJwcmVtaXVtX21lbWJlcnNoaXAiKVswXTtyZXR1cm4gYT9hLnZhbHVlOmI/Yi52YWx1ZTpudWxsfSl9OwpDWD1mdW5jdGlvbihhKXsobmV3IF8uZnkoYS5vbGRVUkwpKS52PT09IiNmZWVkYmFjayImJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNmZWVkYmFjayImJihCWCghMSksKGE9d2luZG93LkdPT0dMRV9GRUVEQkFDS19ERVNUUk9ZX0ZVTkNUSU9OKSYmYSgpKX07dG9hPWZ1bmN0aW9uKCl7Xy5GSi50aGVuKCgpPT57d2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2ZlZWRiYWNrIiYmKF8uWU0/Xy4kTSgiIik6Xy5aTSgpKTtyZXR1cm4gXy5GSn0pfTt1b2E9ZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsQ1gpO3RvYSgpO0JYKCExKTtfLkVwKCJ1c2VyRmVlZGJhY2tFdmVudCIse30pfTt2b2E9ZnVuY3Rpb24oKXtyZXR1cm57cHJvZHVjdElkOiI3NzUyMiIsbG9jYWxlOl8udygiSFRNTF9MQU5HIiwiZW4iKSxhbGxvd05vbkxvZ2dlZEluRmVlZGJhY2s6ITAsYnVja2V0OiJDMyIsY2FsbGJhY2s6dW9hLG9uTG9hZENhbGxiYWNrOigpPT57QlgoITApfX19Owp3b2E9ZnVuY3Rpb24oYSl7dmFyIGI9dm9hKCksYz17Y2xpZW50QXBwVmVyc2lvbjpfLncoIkNMSUVOVF9BUFBfVkVSU0lPTiIsIiIpLGV4cGVyaW1lbnRzOnJvYSgpLGxvZ2dlZF9pbjpfLnRQKCksRGV2aWNlOl8uYmMoKSxwcmVtaXVtX21lbWJlcnNoaXA6c29hKCl9O18uVk0oKXx8Xy5XTSgpO2EmJmEuZm9yRWFjaChkPT57KGQ9ZC51c2VyRmVlZGJhY2tFbmRwb2ludFByb2R1Y3RTcGVjaWZpY1ZhbHVlRGF0YSkmJmQua2V5JiYoY1tkLmtleV09ZC52YWx1ZSl9KTtfLlVOKCkudGhlbigoKT0+e18uJE0oImZlZWRiYWNrIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLENYKTtfLllPKGIsYyl9KX07eG9hPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBEWDtiLmFib3J0KGEpO3JldHVybiBiLnNpZ25hbH07CnlvYT1mdW5jdGlvbigpe2lmKHRoaXMuYWJvcnRlZCl0aHJvdyB0aGlzLnJlYXNvbj8/bmV3IERPTUV4Y2VwdGlvbigic2lnbmFsIGlzIGFib3J0ZWQgd2l0aG91dCByZWFzb24iLCJBYm9ydEVycm9yIik7fTt6b2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO2ZvcihsZXQgYyBvZiBhKWlmKGMuYWJvcnRlZCl7Yi5hYm9ydChjLnJlYXNvbik7YnJlYWt9ZWxzZSBFWC5zZXQoYi5zaWduYWwsYiksRlguYWRkKGMsYi5zaWduYWwpO3JldHVybiBiLnNpZ25hbH07QW9hPWZ1bmN0aW9uKCl7Zm9yKGxldCBhIG9mIEZYLmdldCh0aGlzKSlFWC5nZXQoYSkuYWJvcnQodGhpcy5yZWFzb24pfTtCb2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO3NldFRpbWVvdXQoKCk9PntiLmFib3J0KG5ldyBET01FeGNlcHRpb24oInNpZ25hbCB0aW1lZCBvdXQiLCJUaW1lb3V0RXJyb3IiKSl9LGEpO3JldHVybiBiLnNpZ25hbH07CkNvYT1mdW5jdGlvbigpe3ZhciBhPVtdLGI7dmFyIGM9Y3x8R1gubGVuZ3RoO2ZvcihiPTA7Yjw4O2IrKylhW2JdPUdYWzB8TWF0aC5yYW5kb20oKSpjXTtyZXR1cm4gYS5qb2luKCIiKX07SFg9ZnVuY3Rpb24oYSl7Zm9yKGxldCBbLGJdb2YgT2JqZWN0LmVudHJpZXMoRG9hKSl7bGV0IGM9YjtpZihjPT09IlNMSV9TVEFUVVNfIithKXJldHVybiBjfXJldHVybiJTTElfU1RBVFVTX1VOS05PV04ifTtJWD1mdW5jdGlvbihhLGIsYyl7Yj1IWChiKTtaVyh7ZGltZW5zaW9uczpjLHJlY29yZHM6W3tuYW1lOmEsc3RhdGU6IlNMSV9TVEFURV9FTkQiLHN0YXR1czpifV19KX07Rm9hPWZ1bmN0aW9uKGEpe3JldHVybiBCbmEoYSwoKT0+bmV3IEVvYShhKSl9O21vYT1mdW5jdGlvbihhKXtyZXR1cm4gRm9hKGEpfTtLWD1mdW5jdGlvbihhLGIpe0pYKGEsYCR7Yn0gd2FzIGNhbGxlZCBidXQgbm90IHNldGApfTtIb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIEdvYS5pbmRleE9mKGEpPi0xfTsKSlg9ZnVuY3Rpb24oYSxiLGMpe2M9YyE9PXZvaWQgMD9PYmplY3Qua2V5cyhhKS5maWx0ZXIoYyk6T2JqZWN0LmtleXMoYSk7YT1uZXcgXy5YaihgW0NvbW1hbmQgSGFuZGxlcl0gJHtifWAse2ZpbHRlcmVkQ29tbWFuZE5hbWVzOmMsb3JpZ2luYWxDb21tYW5kOmF9KTtfLkdwKGEpfTtJb2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLk5KKTtpZihjJiYoYz1iW2Muc2lnbmFsXSkpcmV0dXJuIGMoKTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYSkpaWYoYltkXSYmKGE9YltkXSkpcmV0dXJuIGEoKX07Sm9hPWZ1bmN0aW9uKGEsYixjPSExLGQ9ITEsZT1bXSl7TFguaW5zdGFuY2U9bmV3IExYKGEsYixjLGQsZSl9OwpLb2E9ZnVuY3Rpb24oYSl7aWYoIWEuRCYmXy53QygiY29tbWFuZCIpKXtsZXQgYj1hLnJlc29sdmVDb21tYW5kO2EucmVzb2x2ZUNvbW1hbmQ9ZnVuY3Rpb24oYyxkKXthOntmb3IoZSBpbiBjKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjLGUpKXt2YXIgZT17Y29tbWFuZFR5cGU6ZX07YnJlYWsgYX1lPXt9fXJldHVybiBfLnlDKCJjb21tYW5kIixlLGIuYmluZCh0aGlzLGMsZCkpfTthLkQ9ITB9fTsKTVg9ZnVuY3Rpb24oYSxiLGMpeyFjPy5tZCYmYS5qJiYoYi5jbGlja1RyYWNraW5nUGFyYW1zPyhjPWM/LmZvcm0/LmVsZW1lbnQsYS5qLmNsaWNrQ29tbWFuZChiLG51bGwsYyYmYy5nZXRTY3JlZW5MYXllciYmYy5nZXRTY3JlZW5MYXllcigpKSk6Yi5jbGlja1RyYWNraW5nUGFyYW1zP2Euai5jbGlja0NvbW1hbmQoYik6IV8ueCgiZGlzYWJsZV9jbGlja2VkX3Zpc3VhbF9lbGVtZW50X2luX2NvbW1hbmRfaGFuZGxlciIpJiZjPy5jbGlja2VkVmlzdWFsRWxlbWVudCYmXy53SihhLmosYy5jbGlja2VkVmlzdWFsRWxlbWVudCkpfTsKTG9hPWZ1bmN0aW9uKGEsYixjKXtpZighYS5CKXJldHVybntoYW5kbGVkOiExfTt2YXIgZD1Jb2EoYixhLkIpO3JldHVybiBkPygoYS5LLnNvbWUoZT0+ISFfLkIoYixlKSl8fGM/LlBwfHwhYS5JKSYmTVgoYSxiLGMpLHtoYW5kbGVkOiEwLFprOihhc3luYygpPT57YXdhaXQgKGQgaW5zdGFuY2VvZiBQcm9taXNlP2F3YWl0IGQ6ZCkucmVzb2x2ZShiLGMpfSkoKX0pOntoYW5kbGVkOiExfX07Ck5YPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1Nb2EoYik7aWYoIWM/LlRLKXtsZXQgZj1Mb2EoYSxiLGMpO2lmKGYuaGFuZGxlZClyZXR1cm4gZn1pZihkKXJldHVybiBOb2EoYSxiLGMpO2lmKCFhLnYpcmV0dXJuIEpYKGIsIlVuaGFuZGxlZCBjb21tYW5kIGJ5IGJ1aWxkQ29tbWFuZFBheWxvYWQiKSx7aGFuZGxlZDohMX07dmFyIGU9YS52KGIsYyk7Yz8uRWkmJihlLkVpPWMuRWkpO2lmKGUudHlwZT09PTApe2lmKCFhLm5hdmlnYXRlKXJldHVybiBLWChiLCJuYXZpZ2F0ZSIpLHtoYW5kbGVkOiExfTtpZighXy5CKGUuY29tbWFuZD8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwpcmV0dXJuIEpYKGIsIlBhZ2UgcmVxdWVzdHMgbmVlZCB0byBzcGVjaWZ5IGEgdXJsIikse2hhbmRsZWQ6ITF9O2lmKE9vYShhLGUuY29tbWFuZCkpcmV0dXJue2hhbmRsZWQ6ITF9O18ueCgibG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpJiZfLmlvKCkudHJhbnNpdGlvbigiYXBwbGljYXRpb25fbmF2aWdhdGluZyIpOwpiPWEubmF2aWdhdGUoZSl8fFtdO2Q9UHJvbWlzZS5yZXNvbHZlKEduYShiKS50aGVuKCgpPT57YS5vLmRlbGV0ZShlLmNvbW1hbmQpfSkpO2EuaiYmIWEuWSYmQW5hKGEuaixlLmNvbW1hbmQse2NsaWNrZWRWaXN1YWxFbGVtZW50OmM/LmNsaWNrZWRWaXN1YWxFbGVtZW50LGZsOmIsbGF5ZXI6ZS5sYXllcixhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTo0fSk7cmV0dXJue2hhbmRsZWQ6ITAsWms6ZH19aWYoZS50eXBlPT09MSlyZXR1cm4gS1goYiwiaGFuZGxlU2VydmljZVJlcXVlc3QiKSx7aGFuZGxlZDohMX07ZS50eXBlPT09MiYmS1goYiwic2VuZEFjdGlvbiIpO3JldHVybntoYW5kbGVkOiExfX07TW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLF8uenopPy5zaWduYWw9PT0iQ0xJRU5UX1NJR05BTCI7cmV0dXJuISFfLkIoYSxfLlNEKXx8Yn07Ck5vYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT1fLkIoYixfLlNEKTtlP2Q9ZT8uY29tbWFuZHN8fFtdOl8uQihiLF8uenopPy5zaWduYWw9PT0iQ0xJRU5UX1NJR05BTCImJihkPV8uQihiLF8uenopPy5hY3Rpb25zfHxbXSk7aWYoZCl7KGU9UG9hKGEsZCkpJiZNWChhLGIsYyk7Yj1bXTtmb3IobGV0IGYgb2YgZCl0cnl7ZD17Li4uY307ZSYmKGQubWQ9ITApO2xldCBoPU5YKGEsZixkKTtoLmhhbmRsZWQmJmIucHVzaChoLlprKX1jYXRjaChoKXtoIGluc3RhbmNlb2YgRXJyb3ImJl8uR3AoaCl9cmV0dXJue2hhbmRsZWQ6ITAsWms6UHJvbWlzZS5hbGxTZXR0bGVkKGIpLnRoZW4oKCk9Pnt9KX19SlgoYiwiQ291bGQgbm90IGhhbmRsZSB0aGUgbWV0YSBjb21tYW5kIik7cmV0dXJue2hhbmRsZWQ6ITF9fTtPb2E9ZnVuY3Rpb24oYSxiKXtpZihhLm8uaGFzKGIpKXJldHVybiEwO2Euby5hZGQoYik7cmV0dXJuITF9OwpQb2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5ldmVyeShjPT5hLk0uc29tZShkPT4hIV8uQihjLGQpKSl9O1FvYT1mdW5jdGlvbihhLGIpe2E9YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2lmKGEubGVuZ3RoKXJldHVybiBhPy5maW5kKGM9PmM/LmdldExhbmd1YWdlSW5mbygpPy5nZXRJZCgpPT09Yil9O1JvYT1mdW5jdGlvbihhLGIsYyl7YT1fLiRPKGEpO2lmKGEubGVuZ3RoKXJldHVybiBjP2EuZmluZChkPT5kLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/ZC50cmFuc2xhdGlvbkxhbmd1YWdlLmxhbmd1YWdlQ29kZT09PWI6ITEpOmE/LmZpbmQoZD0+ZC5sYW5ndWFnZUNvZGU9PT1iKX07ClNvYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7aWYoYj8ubGVuZ3RoKXt2YXIgYz1hLmdldEF1ZGlvVHJhY2soKTthPXtsaXN0SXRlbXM6Wy4uLmIubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0TmFtZSgpfSxpc1NlbGVjdGVkOmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PWM/LmdldExhbmd1YWdlSW5mbygpLmdldElkKCksc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7YXVkaW9UcmFja1NlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZTpkLmdldExhbmd1YWdlSW5mbygpLmdldElkKCl9fV19fX19fX19KSldLAp2aXNpYmxlRWxlbWVudENvdW50OjV9O3JldHVybntzaG93U2hlZXRDb21tYW5kOntwYW5lbExvYWRpbmdTdHJhdGVneTp7aW5saW5lQ29udGVudDp7c2hlZXRWaWV3TW9kZWw6e2hlYWRlcjp7cGFuZWxIZWFkZXJWaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoIkFVRElPX1RSQUNLIix2b2lkIDAsIkF1ZGlvIFRyYWNrIil9fX0sY29udGVudDp7bGlzdFZpZXdNb2RlbDphfX19fX19fX07T1g9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrbGlzdCIse2luY2x1ZGVBc3I6ITB9KX07VG9hPWZ1bmN0aW9uKGEpe3ZhciBiPU9YKGEpO2lmKGI/Lmxlbmd0aClyZXR1cm4gYjthLmxvYWRNb2R1bGUoImNhcHRpb25zIik7cmV0dXJuIE9YKGEpfTsKUFg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKTtpZihiKXJldHVybiBiO2EubG9hZE1vZHVsZSgiY2FwdGlvbnMiKTtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKX07UVg9ZnVuY3Rpb24oYSxiKXtyZXR1cm57cGFuZWxIZWFkZXJWaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoYSx2b2lkIDAsYil9fX19OwpWb2E9ZnVuY3Rpb24oYSl7dmFyIGI9VG9hKGEpO2lmKGI/Lmxlbmd0aCl7dmFyIGM9UFgoYSk7YT17bGlzdEl0ZW1zOlt7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoIlBMQVlFUl9DQVBUSU9OX09GRiIsdm9pZCAwLCJPZmYiKX0saXNTZWxlY3RlZDohYz8ubGFuZ3VhZ2VDb2RlLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbe2NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZToiIn19LHtoaWRlU2hlZXRDb21tYW5kOnt9fV19fX19fX19LC4uLmIubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQuZGlzcGxheU5hbWV9LGlzU2VsZWN0ZWQ6ZC5kaXNwbGF5TmFtZT09PQpjPy5kaXNwbGF5TmFtZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3tjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kOntsYW5ndWFnZUNvZGU6ZC5sYW5ndWFnZUNvZGV9fSx7aGlkZVNoZWV0Q29tbWFuZDp7fX1dfX19fX19fSkpLHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiQVVUT19UUkFOU0xBVEUiLHZvaWQgMCwiQXV0by10cmFuc2xhdGUiKX0saXNTZWxlY3RlZDohIWMudHJhbnNsYXRpb25MYW5ndWFnZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIiwuLi4oISFjLnRyYW5zbGF0aW9uTGFuZ3VhZ2UmJntzZWxlY3Rpb25UZXh0Ontjb250ZW50OmM/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8CiIifX0pLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbVW9hKGEpXX19fX19fX1dLHZpc2libGVFbGVtZW50Q291bnQ6NX07cmV0dXJue3Nob3dTaGVldENvbW1hbmQ6e3BhbmVsTG9hZGluZ1N0cmF0ZWd5OntpbmxpbmVDb250ZW50OntzaGVldFZpZXdNb2RlbDp7aGVhZGVyOlFYKCJQTEFZRVJfQ0FQVElPTiIsIkNhcHRpb25zIiksY29udGVudDp7bGlzdFZpZXdNb2RlbDphfX19fX19fX07ClVvYT1mdW5jdGlvbihhKXt2YXIgYj1fLmFQKGEpO2lmKCFiPy5sZW5ndGgpdGhyb3cgRXJyb3IoImJlIik7dmFyIGM9UFgoYSk7YT17bGlzdEl0ZW1zOlsuLi5iLmZpbHRlcihkPT4hZC5sYW5ndWFnZUNvZGU/LnN0YXJ0c1dpdGgoImVuIikpLm1hcChkPT4oe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpkLmxhbmd1YWdlTmFtZXx8IiJ9LGlzU2VsZWN0ZWQ6ZC5sYW5ndWFnZU5hbWU9PT1jPy50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWUsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7Y2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOmQubGFuZ3VhZ2VDb2RlLGlzQXV0b1RyYW5zbGF0ZWQ6ITB9fSwKe2hpZGVTaGVldENvbW1hbmQ6e319XX19fX19fX0pKV0sdmlzaWJsZUVsZW1lbnRDb3VudDo1fTtyZXR1cm57c2hvd1NoZWV0Q29tbWFuZDp7cGFuZWxMb2FkaW5nU3RyYXRlZ3k6e2lubGluZUNvbnRlbnQ6e3NoZWV0Vmlld01vZGVsOntoZWFkZXI6UVgoIkFVVE9fVFJBTlNMQVRFIiwiQXV0by10cmFuc2xhdGUiKSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19O1dvYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZ3KCk7aWYoYil7dmFyIGM9e3dlYkNsaWVudENvbXBvbmVudHNEYXRhOntjb21wb25lbnRzOkFycmF5LmZyb20oYS5pZHMsZD0+KHtpZDpkfSkpfX07YS5pZHMuY2xlYXIoKTtfLmh4KCkudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChiLGMpfX07ClhvYT1mdW5jdGlvbihhKXt2YXIgYj16WDthLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLGM9PntpZihhKXt2YXIgZD1hLmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkO2QhPT1SWCYmYz09PTEmJihSWD1kLFNYLm8oYigpKSxUWC5vKGIoKSkpfX0pO2EuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYz0+e1NYLmooYigpKTt5WCgicGxheWVyIGVycm9yIixiKCkse2Vycm9yQ29kZTpjfSl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGxheWJhY2stdW5wbGF5YWJsZSIsYz0+e1RYLmooYigpKTt5WCgicGxheWVyIHVucGxheWFibGUiLGIoKSx7cmVhc29uOmMuZGV0YWlsPy5yZWFzb259KX0pfTtZb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmouZ2V0KGIpO2lmKGMpcmV0dXJuIGMucHJvbWlzZTtjPW5ldyBfLmNzO2Euai5zZXQoYixjKTtyZXR1cm4gYy5wcm9taXNlfTsKWm9hPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9YS5PbS5nZXQoYik7cmV0dXJuIGM/YzpZb2EoYSxiKX07JG9hPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYS5wYW5lbExvYWRpbmdTdHJhdGVneT8ucmVxdWVzdFRlbXBsYXRlKXRyeXtsZXQgYz1hd2FpdCBhLm8uUWkoYik7aWYoYylyZXR1cm4gYy5jb250ZW50O18uR3AoRXJyb3IoImNlIikpfWNhdGNoKGMpe18uR3AoYyl9fTtWWD1mdW5jdGlvbihhLGIpe3JldHVybiBVWChhKT8ub3coYik/P2J9O1VYPWZ1bmN0aW9uKGEpe3JldHVybiBfLlpPKCkmJmEuTT9hLk06YS5jb250YWluZXJ9O1dYPWZ1bmN0aW9uKGEpe2EuWSYmKGNsZWFyVGltZW91dChhLlkpLGEuWT12b2lkIDApO2EuQiYmKGNsZWFyVGltZW91dChhLkIpLGEuQj12b2lkIDApfTsKJFg9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD1jKXt2YXIgZT17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7bGV0IGY9Xy5adCxoPWF3YWl0IGEuZG0oKTtfLlZ6KGUsXy52TShmKSk7aWYoaClpZihhLm8pe2lmKGEuY3VycmVudFRhcmdldD09PWMpcmV0dXJuO1hYKGEpO1lYKGEpO2F3YWl0IFVYKGEpPy5KZSgpfWVsc2UgaWYoIV8ueCgiZGVsYXlfc2hlZXRfb3Blbl9raWxsc3dpdGNoIikpe2lmKF8ueCgid2ViX2Nsb3NlX3NoZWV0X2lmX3NhbWVfdGFyZ2V0X2tpbGxzd2l0Y2giKSYmYyYmYS5jdXJyZW50VGFyZ2V0PT09Yyl7VVgoYSk/LkplKCk7cmV0dXJufWEudj17ZGF0YTpiLHRhcmdldDpWWChhLGMpfTtyZXR1cm59Yi52aWV3TW9kZWwmJihiPXt2aWV3TW9kZWw6Yi52aWV3TW9kZWwsVXI6Yi5VcixleHBhbmRUb0Z1bGxXaWR0aDpiLmV4cGFuZFRvRnVsbFdpZHRoLG9wZW5Ub1NpZGU6Yi5vcGVuVG9TaWRlfSk7VVgoYSk/LndnKGIsYyxkKTthLmN1cnJlbnRUYXJnZXQ9CmM7YS5vPyhhLkkoKSxhLmN1cnJlbnRUYXJnZXQ/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuSSksYS5jdXJyZW50VGFyZ2V0Py5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLlopLFpYKGEpKTphLkQmJlpYKGEpfWNhdGNoKGYpe2UuZXJyb3I9ZixlLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihlKX19O1hYPWZ1bmN0aW9uKGEpe2EuY3VycmVudFRhcmdldD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5JKTthLmN1cnJlbnRUYXJnZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGEuWil9O1lYPWZ1bmN0aW9uKGEpe3ZhciBiPVVYKGEpPy5YcCgpO2I/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuVSk7Yj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5LKX07ClpYPWZ1bmN0aW9uKGEpe3ZhciBiPVVYKGEpPy5YcCgpO2I/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuVSk7Yj8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5LKX07YVk9YXN5bmMgZnVuY3Rpb24oYSl7aWYoYS5vKXtpZihhLmopcmV0dXJuO1hYKGEpO1lYKGEpfWVsc2UgYS5EJiYoWVgoYSksYS5LKCkpO2F3YWl0IFVYKGEpPy5KZSgpO2EuY3VycmVudFRhcmdldD12b2lkIDA7YS5qPSExO2Eubz0hMTthLmhpZGVEZWxheU1zPTA7YS5zaG93RGVsYXlNcz0wO2EuRD0hMTthLnYmJiFfLngoImRlbGF5X3NoZWV0X29wZW5fa2lsbHN3aXRjaCIpJiYoYXdhaXQgYS53ZyhhLnYuZGF0YSxhLnYudGFyZ2V0KSxhLnY9dm9pZCAwKX07CmFwYT1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7cmV0dXJue2NsZWFyOmZ1bmN0aW9uKCl7Yz1iLmxlbmd0aD0wfSxwdXNoOmZ1bmN0aW9uKGQpe2JbY109ZDtjPShjKzEpJWF9LFp4OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWIubGVuZ3RoO2ZvcihsZXQgZT0wO2U8ZDtlKyspeWllbGQgYlsoYytlKSVkXX0oKX19fTticGE9ZnVuY3Rpb24oYSl7YS55bHx8KGEueWw9W10pO3ZhciBiPWEueWwubWFwKF8uUFcpLGM9bmV3IFNldChiKSxkPWFwYShhLmJ1ZmZlclNpemUpO3JldHVybntmbHVzaDpmdW5jdGlvbigpe3ZhciBlPUFycmF5LmZyb20oZC5aeCgpKTtkLmNsZWFyKCk7ZT1lLm1hcChmPT4oe25hbWU6Zi5uYW1lLHRpbWVzdGFtcDpmLnN0YXJ0VGltZSxhdHRyaWJ1dGVzOmYuYXR0cmlidXRlc30pKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9LEdtKGUpe2UubmFtZT09PSJldmVudCImJmMuaGFzKGUuYXR0cmlidXRlcy50eXBlKXx8ZC5wdXNoKGUpfX19OwpjcGE9ZnVuY3Rpb24oYSl7dmFyIHtmbHVzaDpiLEdtOmN9PWJwYShhKTtzWCh7R206Y30pO18uVnAuc3Vic2NyaWJlKCJoYW5kbGVFcnJvciIsZD0+e3RyeXtkLnBhcmFtcy5icmVhZGNydW1icz1iKCl9Y2F0Y2goZSl7Xy5HcChlLCJXQVJOSU5HIil9fSl9O2JZPWZ1bmN0aW9uKCl7Xy5Teigid2ViX3RyYWNpbmdfYWN0aW9uIik7Xy5Ueigid2ViX3RyYWNpbmdfYWN0aW9uIix7fSx2b2lkIDAsIkxBVEVOQ1lfQUNUSU9OX1dFQl9UUkFDSU5HIil9O2VZPWZ1bmN0aW9uKCl7aWYoY1kpcmV0dXJuIndlYl90cmFjaW5nX2FjdGlvbiI7ZFkoKTtzZXRJbnRlcnZhbChkWSw2RTUpO2NZPSEwO3JldHVybiJ3ZWJfdHJhY2luZ19hY3Rpb24ifTtkWT1mdW5jdGlvbigpe18uU3ooIndlYl90cmFjaW5nX2FjdGlvbiIpO18uVHooIndlYl90cmFjaW5nX2FjdGlvbiIse30sdm9pZCAwLCJMQVRFTkNZX0FDVElPTl9XRUJfVFJBQ0lORyIpfTsKZHBhPWZ1bmN0aW9uKGEsYj1lWSgpLGMpe3JldHVybigwLF8uY3QpKGEubmFtZSwoYS5lbmRUaW1lPz9hLnN0YXJ0VGltZSktYS5zdGFydFRpbWUsYS5zdGFydFRpbWUse3dlYlRyYWNpbmc6e1thLm5hbWVdOmEuYXR0cmlidXRlc319LGMsYix7c3BhblN0YXR1czphLnN0YXR1cyxyb290U3Bhbk5vbmNlOnZvaWQgMCxxdTp2b2lkIDB9KX07Zlk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kcGEoYSxiLGMpO2lmKGEuY2hpbGRyZW4pZm9yKGxldCBlIG9mIGEuY2hpbGRyZW4pZlkoZSxiLGMsZHx8Yyl9OwplcGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z29hLmJpbmQobnVsbCwieXQudGVsZW1ldHJ5X2V4dGVuc2lvbiIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixjPT57Yy5kYXRhJiZ0eXBlb2YgYy5kYXRhPT09Im9iamVjdCImJihjPWMuZGF0YSxjLmZyb209PT0iZXh0ZW5zaW9uIiYmYy5hcHA9PT0ieXQudGVsZW1ldHJ5IiYmKGIoIlJlY2VpdmVkIG1lc3NhZ2UgZnJvbSBleHRlbnNpb24iLGMpLGEub25NZXNzYWdlKGMpKSl9KTtyZXR1cm4gZnVuY3Rpb24oYyxkKXtjPXthcHA6Inl0LnRlbGVtZXRyeSIsZnJvbToiYXBwIixrZXk6YyxwYXlsb2FkOmR9O2IoIlNlbmRpbmcgbWVzc2FnZSB0byBleHRlbnNpb24iLGMpO3dpbmRvdy5wb3N0TWVzc2FnZShjLCIqIil9fTsKZnBhPWZ1bmN0aW9uKCl7dmFyIGE9ZXBhKHtvbk1lc3NhZ2UoKXt9fSksYj1bXTtyZXR1cm57bHIoYyl7Yy5wYXJlbnRJZD09bnVsbCYmYi5wdXNoKGMpPT09MSYmc2V0VGltZW91dCgoKT0+e3ZhciBkPVsuLi5iXTtiLmxlbmd0aD0wO2EoInNwYW5zUmVwb3J0ZWQiLHtzcGFuczpkfSl9LDNFMyl9fX07Z3BhPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LmZldGNoO3dpbmRvdy5mZXRjaD0oLi4uYik9Pnt2YXIgW2MsZD17fV09YixlPV8ueUMoImh0dHBFdmVudCIse21ldGhvZDpkLm1ldGhvZHx8IkdFVCIscGF0aDpnWShjKSx0eXBlOiJmZXRjaCJ9LHthY3RpdmU6ITF9KTtyZXR1cm4gYSguLi5iKS50aGVuKGY9PntlLkRlKHtzdGF0dXNDb2RlOmYuc3RhdHVzLHN0YXR1c1RleHQ6Zi5zdGF0dXNUZXh0fSk7ZS5lbmQoKTtyZXR1cm4gZn0pLmNhdGNoKGY9PntlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKTt0aHJvdyBmO30pfX07CmhwYT1mdW5jdGlvbigpe3ZhciBhPVhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZS5vcGVuLGI9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLnNlbmQ7WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oYyxkLGU9ITAsZixoKXt0aGlzLnY9e21ldGhvZDpjLHVybDpkLnRvU3RyaW5nKCl9O3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt2YXIgaz10aGlzLmo7az8uRGUoe3N0YXR1c0NvZGU6dGhpcy5zdGF0dXMscmVzcG9uc2VDb250ZW50TGVuZ3RoOnRoaXMucmVzcG9uc2VUZXh0Lmxlbmd0aH0pO2s/LmVuZCgpfSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2YXIgaz10aGlzLmo7az8uRGUoe3N0YXR1c0NvZGU6dGhpcy5zdGF0dXMsc3RhdHVzVGV4dDp0aGlzLnN0YXR1c1RleHR9KTtrPy5lbmQoIlNQQU5fU1RBVFVTX0VSUk9SIil9KTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cywKYWJvcnRlZDohMH0pO2s/LmVuZCgpfSk7YS5hcHBseSh0aGlzLFtjLGQsZSxmLGhdKX07WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYyl7dmFyIHttZXRob2Q6ZCx1cmw6ZX09dGhpcy52fHx7bWV0aG9kOiJOL0EiLHVybDoiTi9BIn07dGhpcy5qPV8ueUMoImh0dHBFdmVudCIse21ldGhvZDpkLHBhdGg6Z1koZSksdHlwZToieGhyIn0se2FjdGl2ZTohMX0pO2IuYXBwbHkodGhpcyxbY10pfX07Z1k9ZnVuY3Rpb24oYSl7dHJ5e2lmKGEgaW5zdGFuY2VvZiBVUkwpcmV0dXJuIGEucGF0aG5hbWU7YSBpbnN0YW5jZW9mIFJlcXVlc3QmJihhPWEudXJsKTtyZXR1cm4obmV3IFVSTChhLCJodHRwczovL3lvdXR1YmUuY29tIikpLnBhdGhuYW1lfWNhdGNoKGIpe3JldHVybiI8dW5hYmxlIHRvIHBhcnNlIHBhdGg+In19OwpqcGE9ZnVuY3Rpb24oKXt3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt0cnl7bGV0IGE9d2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5hdmlnYXRpb24iKTtpZihhLmxlbmd0aD4wKXtsZXQgYj1hWzBdLGM9d2luZG93LnBlcmZvcm1hbmNlLnRpbWVPcmlnaW47Xy55QygicGFnZUxvYWQiLHtuYXZpZ2F0aW9uVHlwZTppcGEoYi50eXBlKSx1bmxvYWRFdmVudFN0YXJ0Ok1hdGgucm91bmQoYi51bmxvYWRFdmVudFN0YXJ0KSx1bmxvYWRFdmVudEVuZDpNYXRoLnJvdW5kKGIudW5sb2FkRXZlbnRFbmQpLGRvbUludGVyYWN0aXZlOk1hdGgucm91bmQoYi5kb21JbnRlcmFjdGl2ZSksZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0KSxkb21Db250ZW50TG9hZGVkRXZlbnRFbmQ6TWF0aC5yb3VuZChiLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCksCmRvbUNvbXBsZXRlOk1hdGgucm91bmQoYi5kb21Db21wbGV0ZSksbG9hZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLmxvYWRFdmVudFN0YXJ0KSxsb2FkRXZlbnRFbmQ6TWF0aC5yb3VuZChiLmxvYWRFdmVudEVuZCkscmVkaXJlY3RDb3VudDpiLnJlZGlyZWN0Q291bnR9LHthY3RpdmU6ITEsc3RhcnRUaW1lOmMrYi5zdGFydFRpbWUsZW5kVGltZTpjK2IubG9hZEV2ZW50RW5kfSl9fWNhdGNoKGEpe319KX07CmlwYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAibmF2aWdhdGUiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX05BVklHQVRFIjtjYXNlICJyZWxvYWQiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX1JFTE9BRCI7Y2FzZSAiYmFja19mb3J3YXJkIjpyZXR1cm4iUEVSRk9STUFOQ0VfTkFWSUdBVElPTl9USU1JTkdfVFlQRV9CQUNLX0ZPUldBUkQiO2Nhc2UgInByZXJlbmRlciI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfUFJFUkVOREVSIjtkZWZhdWx0OnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX1VOS05PV04ifX07CmxwYT1mdW5jdGlvbigpe0luYSgoYSxiKT0+e3ZhciBjPW5ldyBNYXAsZCxlPWVZKCk7Zm9yKGxldCBoIG9mIGEuc3BhbnMpe2lmKGgubWFya2VyKWNvbnRpbnVlO3ZhciBmPWIuZ2V0KGguaWQpPy5nZXQoXy5Pdik7bGV0IGs9Zj9rcGFbZi50eXBlXTp2b2lkIDA7aWYoIWZ8fGguZHVyYXRpb25Ncz09PXZvaWQgMHx8az09PXZvaWQgMCl7aC5wYXJlbnRJZCE9PXZvaWQgMCYmKGY9Yy5nZXQoaC5wYXJlbnRJZCksZiE9PXZvaWQgMCYmYy5zZXQoaC5pZCxmKSk7Y29udGludWV9bGV0IGw9YS5uSytoLnlLLG09aC5wYXJlbnRJZCE9PXZvaWQgMD9jLmdldChoLnBhcmVudElkKTp2b2lkIDAsbixwO3N3aXRjaChmLnR5cGUpe2Nhc2UgIlJlbmRlciI6Y2FzZSAiRWZmZWN0IjpjYXNlICJPbkluaXQiOmNhc2UgIlJlbmRlckVmZmVjdCI6cD1mLmxvY2F0aW9uO2JyZWFrO2Nhc2UgIkNyZWF0ZVJlYWN0aXZlQ29tcG9uZW50IjpuPWYuY29tcG9uZW50TmFtZTticmVhaztjYXNlICJDb21wdXRlZCI6bj0KZi5oSTtwPWYubG9jYXRpb247YnJlYWs7Y2FzZSAiU2lnbmFsVXBkYXRlIjpuPWYuU0t9aWYoZj0oMCxfLmN0KSgiY293X3NwYW4iLGguZHVyYXRpb25NcyxsLHt3ZWJUcmFjaW5nOntjb3dTcGFuOnt0eXBlOmssbmFtZTpuLGNvZGVMb2NhdGlvbjpwfX19LG0sZSx7cm9vdFNwYW5Ob25jZTpkfSkpYy5zZXQoaC5pZCxmKSxkPT09dm9pZCAwJiYoZD1mKX19KX07CnBwYT1mdW5jdGlvbigpe3ZhciBhPWhZLnZhbHVlLGI9e307Zm9yKGxldCBjIG9mIGEuSHYpYltjXT0hMDtlb2Eoe3Nlc3Npb25JZDpfLkZuKCksZGg6YixXaChjLGQsZSl7cmV0dXJuIG1wYT9jPT09InNob3J0VG9TaG9ydCJ8fGU/Lld6KCk/Lm5hbWU9PT0ic2hvcnRUb1Nob3J0IjohMH19KTtmb2EoKTtfLndDKCJwYWdlTG9hZCIpJiZqcGEoKTtfLndDKCJjb3dTcGFuIikmJmxwYSgpO18ud0MoImh0dHBFdmVudCIpJiYoZ3BhKCksaHBhKCkpO2EuUXYmJnNYKG5wYSk7YS5SdiYmc1goZnBhKCkpO2EuTXE+MCYmY3BhKHt5bDpvcGEsYnVmZmVyU2l6ZTphLk1xfSl9OwpqWT1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDB8fGEuZ2V0QXR0cmlidXRlKCJ2aWV3Qm94Iil8fGEuc2V0QXR0cmlidXRlKCJ2aWV3Qm94IixgMCAwICR7Yn0gJHtifWApO2Euc2V0QXR0cmlidXRlKCJmb2N1c2FibGUiLCJmYWxzZSIpO2Euc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTtiPV8ueCgia2lsbHN3aXRjaF9yZW1vdmVfaWNvbl9maWxsX2NvbG9yIik7YS5nZXRBdHRyaWJ1dGUoImZpbGwiKSE9PSJjdXJyZW50Y29sb3IiJiZhLmdldEF0dHJpYnV0ZSgiZmlsbCIpIT09ImN1cnJlbnRDb2xvciJ8fGJ8fGEucmVtb3ZlQXR0cmlidXRlKCJmaWxsIik7dHJ5e2Euc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsYS5zdHlsZS5kaXNwbGF5PSJpbmhlcml0IixhLnN0eWxlLndpZHRoPSIxMDAlIixhLnN0eWxlLmhlaWdodD0iMTAwJSJ9Y2F0Y2goYyl7aVkoe2Vycm9yOmM/LnRvU3RyaW5nP2MudG9TdHJpbmcoKToiIn0pO3RyeXthLnN0eWxlLmNzc1RleHQ9InBvaW50ZXItZXZlbnRzOiBub25lOyBkaXNwbGF5OiBpbmhlcml0OyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyJ9Y2F0Y2goZCl7aVkoe2Vycm9yOmQ/LnRvU3RyaW5nPwpkLnRvU3RyaW5nKCk6IiJ9KX19cmV0dXJuIGF9OwpxcGE9ZnVuY3Rpb24oYSl7aWYoXy54KCJ3aWxfaWNvbnNfY2FjaGVfcHVyZ2Vfa2lsbHN3aXRjaCIpKXJldHVybiExO3RyeXt2YXIgYj1fLnUubG9jYWxTdG9yYWdlfWNhdGNoKGUpe3JldHVybiExfWlmKCFifHwhYS5CKXJldHVybiExO3ZhciBjPWU9Pnt0cnl7Yj8uc2V0SXRlbSgieXQtaWNvbnMtbGFzdC1wdXJnZWQiLGUudG9TdHJpbmcoKSl9Y2F0Y2goZil7aVkoe2Vycm9yOmY/LnRvU3RyaW5nP2YudG9TdHJpbmcoKToiIn0pfX0sZD1OdW1iZXIoYi5nZXRJdGVtKCJ5dC1pY29ucy1sYXN0LXB1cmdlZCIpKTtpZighZClyZXR1cm4gZD1uZXcgRGF0ZSxkPWQuc2V0RGF0ZShkLmdldERhdGUoKS1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTArMSkpLGMoZCksITE7aWYoZnVuY3Rpb24oZSxmKXtlPW5ldyBEYXRlKGUpO2Y9bmV3IERhdGUoZik7cmV0dXJuIGYuZ2V0TW9udGgoKS1lLmdldE1vbnRoKCkrMTIqKGYuZ2V0RnVsbFllYXIoKS1lLmdldEZ1bGxZZWFyKCkpfShkLERhdGUubm93KCkpPAozKXJldHVybiExO3RyeXtyZXR1cm4gXy51LmNhY2hlcy5kZWxldGUoInl0LWljb25zIikudGhlbihlPT57ZSYmYyhEYXRlLm5vdygpKTtyZXR1cm4gZX0pLmNhdGNoKCgpPT4hMSkuZmluYWxseSgoKT0+e2EuSz0hMX0pfWNhdGNoKGUpe3JldHVybiBpWSh7ZXJyb3I6ZT8udG9TdHJpbmc/ZS50b1N0cmluZygpOiIifSksITF9fTsKa1k9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnVybDtpZighcnBhKGMpKXRocm93IEVycm9yKCJkZSIpO3JldHVybiBzcGEoYSxjKS50aGVuKGQ9PmQuY2xvbmUoKS50ZXh0KCkpLnRoZW4oZD0+e3ZhciBlPV8uZ2IoZCk7ZD1iLnNpemU7dmFyIGY9Xy5DZCgiRElWIik7Xy56QShmLGUpO2lmKGYuZmlyc3RFbGVtZW50Q2hpbGQhPT12b2lkIDApZT1mLmZpcnN0RWxlbWVudENoaWxkO2Vsc2UgZm9yKGU9Zi5maXJzdENoaWxkO2UmJmUubm9kZVR5cGUhPTE7KWU9ZS5uZXh0U2libGluZztlPV8uRGQoZSk7ZD1qWShlLGQpO2EuRFtjXT1kLmNsb25lTm9kZSghMCk7ZGVsZXRlIGEuWVtjXTtyZXR1cm4gZH0pLmNhdGNoKCgpPT57fSl9OwpsWT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4oZSxmKT0+e3ZhciBoPV8uQ2QoIkRJViIpLGs9e2ljb25XaWR0aDpgJHtiLnNpemV9cHhgLGljb25IZWlnaHQ6YCR7Yi5zaXplfXB4YCxqeDoiYmxvY2siLC4uLmYsaWNvbkNvbG9yOmY/Lmljb25Db2xvcj8/ImN1cnJlbnRjb2xvciJ9O2Y9ay5pY29uQ29sb3I7dmFyIGw9ay5hZztrPWB3aWR0aDogJHtrLmljb25XaWR0aH07IGhlaWdodDogJHtrLmljb25IZWlnaHR9OyBkaXNwbGF5OiAke2suanh9O2A7bCYmKGsrPWAgZmlsdGVyOiAke2x9O2ApO2M9PT0wJiYoays9YCBmaWxsOiAke2Z9O2ApO2M9PT0xJiYobD1iLnVybCxrKz1gIC13ZWJraXQtbWFzazogdXJsKCR7bH0pIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjsgbWFzazogdXJsKCR7bH0pIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjsgYmFja2dyb3VuZC1jb2xvcjogJHtmfWApO2IudnUmJmEuS2s9PT0icnRsIiYmKGsrPSIgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7Iik7Cmguc2V0QXR0cmlidXRlKCJzdHlsZSIsayk7Yz09PTAmJmQmJmguYXBwZW5kQ2hpbGQoZCk7ZS5hcHBlbmRDaGlsZChoKX19OwpuWT1mdW5jdGlvbihhLGIpe2lmKGIpe2EuY291bnRlcis9MTthPWBfeXQke2EuY291bnRlcn1gO2I9W2IsLi4uYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpXTtmb3IobGV0IGMgb2YgYilpZihjLnRhZ05hbWU9PT0ic3R5bGUiJiZjLnRleHRDb250ZW50KWMudGV4dENvbnRlbnQ9bVkoYy50ZXh0Q29udGVudCxhLCEwKTtlbHNlIGZvcihsZXQgZCBvZiBjLmF0dHJpYnV0ZXMpe2QubmFtZT09PSJpZCImJihkLnZhbHVlKz1hKTtbIm1hc2siLCJmaWxsIiwiY2xpcC1wYXRoIl0uaW5jbHVkZXMoZC5uYW1lKSYmKGQudmFsdWU9bVkoZC52YWx1ZSxhKSk7aWYoZC5uYW1lPT09InN0eWxlIil7Yj1jLnN0eWxlO3RyeXtiLmNzc1RleHQ9bVkoYi5jc3NUZXh0LGEsITApfWNhdGNoKGUpe2lZKHtlcnJvcjplPy50b1N0cmluZz8uKCl8fCIiLGVsOmMub3V0ZXJIVE1MLHN0eWxlOiEhYixjc3NUZXh0OmI/LmNzc1RleHR9KX19ZC5uYW1lPT09InhsaW5rOmhyZWYiJiYoZC52YWx1ZT1kLnZhbHVlLnJlcGxhY2UoLyMoLiopLywKYCMkMSR7YX1gKSl9fX07bVk9ZnVuY3Rpb24oYSxiLGM9ITEpe3ZhciBkPS91cmxcKFsiJ10/IyguKj8pWyInXT9cKS87YyYmKGQ9L3VybFwoWyInXT8jKC4qPylbIiddP1wpL2cpO3JldHVybiBhLnJlcGxhY2UoZCxgdXJsKCMkMSR7Yn0pYCl9O2lZPWZ1bmN0aW9uKGEpe18uSXAobmV3IF8uWGooIkVycm9yIGluIEljb25NYW5hZ2VyIixhKSl9O3JwYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgdHBhKWlmKGEuc3RhcnRzV2l0aChiKSYmYS5lbmRzV2l0aCgiLnN2ZyIpKXJldHVybiEwO3JldHVybiExfTsKc3BhPWFzeW5jIGZ1bmN0aW9uKGEsYil7YS5RYSYmYXdhaXQgdXBhKGEpO3ZhciBjPWEuWVtiXTtpZighYyl7bGV0IGQ9YXN5bmMoKT0+e3ZhciBlPWEuQj9hLlp8fGF3YWl0IGEuVTp2b2lkIDA7cmV0dXJuIGEub2E/YS5nYShiLGUpLmNhdGNoKGEuaGEuYmluZChhLGIsZSkpOmEuaGEoYixlKS5jYXRjaChhLmdhLmJpbmQoYSxiLGUpKX07Yz1hLk1hP25ldyBQcm9taXNlKChlLGYpPT57Xy5ZaigoKT0+e2QoKS50aGVuKGUpLmNhdGNoKGYpfSwxMCl9KTpkKCk7YS5ZW2JdPWN9cmV0dXJuIGMuY2F0Y2goZD0+e2RlbGV0ZSBhLllbYl07aVkoe2Vycm9yOmQ/LnRvU3RyaW5nP2QudG9TdHJpbmcoKToiIix1cmw6Yn0pO3Rocm93IGQ7fSl9O3VwYT1mdW5jdGlvbihhKXt2YXIgYj1hLnY/LnByb21pc2U7Ynx8KGEudj1uZXcgXy5jcyxiPWEudi5wcm9taXNlLF8udS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnthLnY/LnJlc29sdmUoKTthLnY9bnVsbH0pKTtyZXR1cm4gYn07CnBZPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYS5JPHZwYSlyZXR1cm4gYS5JKz0xLG9ZKGEsYikuZmluYWxseSgoKT0+ey0tYS5JO2lmKE9iamVjdC5rZXlzKGEubykubGVuZ3RoKXtsZXQgZD1PYmplY3Qua2V5cyhhLm8pWzBdLGU9YS5vW2RdO2RlbGV0ZSBhLm9bZF07ZS5yZXNvbHZlKHBZKGEsZCkpfX0pO3ZhciBjPW5ldyBfLmNzO2Eub1tiXT1jO3JldHVybiBjLnByb21pc2V9O3dwYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXtkJiZuZXcgUHJvbWlzZShlPT57Xy5Zaihhc3luYygpPT57YS5vYSYmYXdhaXQgZC5tYXRjaChiKS5jYXRjaCgoKT0+e30pfHxhd2FpdCBkLnB1dChiLGMuY2xvbmUoKSkuY2F0Y2goZj0+e2lZKHtlcnJvcjpmPy50b1N0cmluZz9mLnRvU3RyaW5nKCk6IiIsdXJsOmJ9KX0pO2UoKX0sNTApfSl9OwpvWT1hc3luYyBmdW5jdGlvbihhLGIsYz0yKXtyZXR1cm4gXy51LmZldGNoKGIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIscHJpb3JpdHk6ImxvdyJ9KS50aGVuKGQ9PmQub2s/ZDpQcm9taXNlLnJlamVjdChFcnJvcigiZWVgIitkLnN0YXR1cysiYCIrZC5zdGF0dXNUZXh0KSkpLmNhdGNoKGQ9PntpZihjPjApcmV0dXJuIG9ZKGEsYixjLTEpO3Rocm93IGQ7fSl9OwpyWT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hW2IuaWNvbk5hbWVdfHxbXTthPXZvaWQgMDtmb3IobGV0IGggb2YgZSl7YTp7dmFyIGY9Yi5pY29uU2l6ZTtlPWIuaWNvblN0eWxlO2Y9IWZ8fGY9PT1oWzJdO2xldCBrPXFZW2hbMF1dO2lmKGQmJmQhPT1oWzFdfHwhZnx8ZSYmZSE9PWspe2U9ITE7YnJlYWsgYX1pZighYSl7ZT0hMDticmVhayBhfWU9cVlbaFswXV07ZT0hIWIuaWNvblN0eWxlfHxlPT09InlvdXR1YmVfb3V0bGluZSI7Zj1hLnZlcnNpb248PWhbMV07ZT0oISFiLmljb25TaXplfHxoWzJdPT09MjQpJiZlJiZmfWUmJihhPXtuYW1lOmIuaWNvbk5hbWUsc3R5bGU6cVlbaFswXV0sc2l6ZTpoWzJdLHZlcnNpb246aFsxXSx2dTohIWhbM10sdXJsOmMoYi5pY29uTmFtZSxoKX0pfXJldHVybiBhfTtzWT1mdW5jdGlvbihhLGIsYyxkPSExKXtyZXR1cm5gJHthfSR7cVlbY1swXV19JHtkPyJfZXhwZXJpbWVudGFsIjoiIn0vJHtifS92JHtjWzFdfS8ke2NbMl19cHguc3ZnYH07CnRZPWZ1bmN0aW9uKGEpe3JldHVybiBfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpIT09IldFQl9SRU1JWCImJl8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIikhPT0iV0VCX0NSRUFUT1IiPyJib29rbWFyayI6YX07dVk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIil8fGI/eHBhW2EudG9VcHBlckNhc2UoKV06eXBhW2EudG9VcHBlckNhc2UoKV19O3pwYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvIixhLGIpfTtBcGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gc1koImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pLyIsYSxiLCEwKX07d1k9ZnVuY3Rpb24oKXt2WS5pbnN0YW5jZXx8KHZZLmluc3RhbmNlPW5ldyB2WSk7cmV0dXJuIHZZLmluc3RhbmNlfTsKeFk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQnBhLmhhcyhiKXx8Xy53KCJJU19IT01FUEFHRV9DT0xEIil8fF8udygiSVNfUkVTVUxUU19QQUdFX0NPTEQiKXx8Xy53KCJJU19XQVRDSF9QQUdFX0NPTEQiKT9hLnNpZ25hbHMuaW5kZXhPZihiKT49MDohMH07eVk9ZnVuY3Rpb24oYSl7dmFyIGI9ITE7cmV0dXJuKCk9PntifHwoYj0hMCxhKCkpfX07QVk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZih6WS5oYXMoZCkpXy5DaygpLkdhKGIsYyxlKTtlbHNle2xldCBmPWEuai5nZXQoZCk7ZiYmXy5DaygpLkdhKCgpPT57eFkoYSxkKXx8KGYuaGc/Xy5DaygpLkdhKGIsYyk6Zi5Cbi5wdXNoKCgpPT57Xy5DaygpLkdhKGIsYyl9KSl9LGMsZSl9fTtDcGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9KCk9PnthLldtKGIpfTtmb3IobGV0IGYgb2YgZClhLmFkZExpc3RlbmVyKGYsZSk7YS5qLnNldChiLHtzaWduYWxzOmMsVng6ITAsaXNJbml0aWFsaXplZDohMSxoZzohMSxCbjpbXX0pO0JZKGEsYil9OwpCWT1mdW5jdGlvbihhLGIpe2lmKCF4WShhLGIpKXt2YXIgYz1hLmouZ2V0KGIpO2lmKGMmJiFjLmhnKXt2YXIgZD0hMSxlPTAsZj0wO2ZvcihsZXQgaCBvZiBjLnNpZ25hbHMpe2xldCBrPSF4WShhLGgpO2lmKHpZLmhhcyhoKSlkPSEwO2Vsc2V7bGV0IGw9YS5qLmdldChoKTtsP2smJiFsLmhnJiYoZisrLGMuaXNJbml0aWFsaXplZHx8bC5Cbi5wdXNoKCgpPT57QlkoYSxiKX0pKTprJiZlKyt9fWMuaXNJbml0aWFsaXplZD0hMDtjLlZ4P2QmJihjLmhnPSEwKTplPT09MCYmZj09PTAmJihjLmhnPSEwKTtpZihjLmhnKWZvcihsZXQgaCBvZiBjLkJuKWgoKX19fTsKRHBhPWZ1bmN0aW9uKGEpe2E9YS5vcGVuUG9wdXBBY3Rpb258fGE7dmFyIGI9YS5wb3B1cFR5cGUsYz1hLnBvcHVwO3N3aXRjaChiKXtjYXNlICJUT0FTVCI6Zm9yKGxldCBkIGluIGMpYy5oYXNPd25Qcm9wZXJ0eShkKSYmXy5wUCgoKT0+Xy5LKF8uVyx7ZGF0YTooKT0+Y30se25vdGlmaWNhdGlvbkFjdGlvblJlbmRlcmVyOkNZfSksYS5kdXJhdGlvbkhpbnRNcyxhLnJldXNlUG9wdXApO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImZlYCIrYik7fX07CkRZPWZ1bmN0aW9uKGEsYil7dmFyIGM9dVgoYSk7aWYoYyl7dmFyIGQ9dm9pZCAwLGU9Xy5CKGE/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KTtlJiZlLnJvb3RWZSYmKGQ9ZS5yb290VmUpO18ucVAoe2hyZWY6YyxwYXJhbXM6e2l0Y3Q6YS5jbGlja1RyYWNraW5nUGFyYW1zLGF1dG9uYXY6Yj8uYXV0b25hdn0sdGFyZ2V0Ol8uS08oKSYmXy5CKGEsXy5CaGEpPyJfYmxhbmsiOnZvaWQgMCxhazpkLGNsaWNrZWRWaXN1YWxFbGVtZW50OmIuY2xpY2tlZFZpc3VhbEVsZW1lbnQsaW1wbGljaXRHZXN0dXJlVHlwZTpiLmltcGxpY2l0R2VzdHVyZVR5cGUsZWxlbWVudDpiLmV2ZW50Py50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50P2IuZXZlbnQudGFyZ2V0OnZvaWQgMCxlbmRwb2ludDphLHBhcmVudExheWVyOmIucGFyZW50TGF5ZXJ9KX19OwpFcGE9ZnVuY3Rpb24oYSxiKXtpZihfLngoImVtYmVkc19lbmFibGVfZW1jM2RzX3BmcCIpKWlmKEVZKXt2YXIgYz1fLkIoYSxfLkF3KSxkPWM/LnZpZGVvSWQsZT1jPy5wbGF5bGlzdElkO2R8fGU/KGE9e3ZpZGVvX2lkOmR9LGMmJihhLnBsYXllcl9wYXJhbXM9Yy5wbGF5ZXJQYXJhbXMpLGU/KGEubGlzdD1lLEVZLmxvYWRQbGF5bGlzdChhKSk6RVkubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGEpKTooYz1uZXcgXy5YaigiRW1jM2RzIFdhdGNoRW5kcG9pbnQgbWFsZm9ybWVkIix7Y29tbWFuZDpKU09OLnN0cmluZ2lmeShhKX0pLF8uR3AoYyksRFkoYSxiKSl9ZWxzZSBjPW5ldyBfLlhqKCJFbWMzZHMgV2F0Y2hFbmRwb2ludCByZXNvbHZlZCB3aXRob3V0IHBsYXllckFwaSIse2NvbW1hbmQ6SlNPTi5zdHJpbmdpZnkoYSl9KSxfLkdwKGMpLERZKGEsYik7ZWxzZSBEWShhLGIpfTtGWT1mdW5jdGlvbihhKXtyZXR1cm57cmVzb2x2ZTooYixjPXt9KT0+e2EoYixjLmZvcm18fHt9KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9fX07CkhZPWZ1bmN0aW9uKGEsYil7R1kucHVzaCh7YWN0aW9uOmEsY29udGV4dDpifSl9O0ZwYT1mdW5jdGlvbigpe1RXKEdZLCh7YWN0aW9uOmEsY29udGV4dDpifSk9PntfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKGEse2Zvcm06Yn0pfHxKWChhLCJBY3Rpb24gbm90IGhhbmRsZWQgYnkgQ29tbWFuZEhhbmRsZXIiLEhvYSl9KX07CklZPWZ1bmN0aW9uKGEsYixjKXtmb3IobGV0IGYgb2YgaG9hKGEpKUhZKGYsYyk7YT1iLmRhdGE/LmFjdGlvbnM/P1tdO2Zvcih2YXIgZCBvZiBhKUhZKGQsYyk7ZD1iLmRhdGE/LmNvbW1hbmRzPz9bXTtmb3IodmFyIGUgb2YgZClIWShlLGMpOyhlPWIuZGF0YT8uY29tbWFuZCkmJkhZKGUsYyk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zPz9bXSxjLnNvdXJjZURhdGEpO3ZYKGIuZGF0YT8ub25SZXNwb25zZVJlY2VpdmVkQ29tbWFuZHM/P1tdLGMuc291cmNlRGF0YSk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHM/P1tdLGMuc291cmNlRGF0YSk7KGI9Yi5kYXRhPy51cGRhdGVGbG93Q29tbWFuZCkmJkhZKGIsYyl9OwpKWT1hc3luYyBmdW5jdGlvbihhLGI9Xy5MaGEpe3ZhciBjPWI7Xy5CKGEsXy5BeSl8fChjPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl8fCIifSxiKSk7Yj1hd2FpdCBfLnkoKS5yZXNvbHZlKF8uSHkpKCk7aWYoYi5KdyhhKSlyZXR1cm4gYi5RaShhLGMpLnRoZW4oZD0+ZD8uZGF0YT9kLmRhdGE6ZCkudGhlbihkPT57dmFyIGU7KGU9ZD8uZGF0YT8udHJhY2tpbmdQYXJhbXMpJiZfLmx4KF8uaHgoKSxlKTtyZXR1cm57Y29kZTpkJiZkLmVycm9yPyJFUlJPUiI6IlNVQ0NFU1MiLGRhdGE6ZH19KTt0aHJvdyBuZXcgXy5Yaigibm8gcmVxdWVzdCBidWlsZGVyIGZvdW5kIixhKTt9O0hwYT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoYSkuc29tZShiPT5iIGluIEdwYSl9OwpLWT1mdW5jdGlvbihhKXt2YXIgYj1hLmRhdGE/LmNvbnRlbnRzPy5bMF07aWYoIWJ8fCFIcGEoYikpcmV0dXJuIGE7Yj17b3BlblBvcHVwQWN0aW9uOntwb3B1cFR5cGU6IkRJQUxPRyIscG9wdXA6Yn19O2EuZGF0YS5hY3Rpb25zfHwoYS5kYXRhLmFjdGlvbnM9W10pO2EuZGF0YS5hY3Rpb25zLnB1c2goYik7cmV0dXJuIGF9OwpNWT1mdW5jdGlvbihhLGIsYyl7Xy5CKGEsXy5BeSkmJmEuY2xpY2tUcmFja2luZ1BhcmFtcyYmKExZPV8uVXcoYS5jbGlja1RyYWNraW5nUGFyYW1zKSk7cmV0dXJuIEpZKGEsYykudGhlbihkPT57aWYoXy5CKGEsXy5BeSk/LnJlcXVlc3Q9PT0iQ09OVElOVUFUSU9OX1JFUVVFU1RfVFlQRV9SRUVMX1dBVENIX1NFUVVFTkNFIil7dmFyIGU9ZC5kYXRhO2UmJiFlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMmJihlLmVudHJpZXN8fGUucHJldkVudHJpZXMpJiYoZS5lbnRyaWVzPyhlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnM9W10sZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zLnB1c2goe2FwcGVuZFJlZWxXYXRjaFNlcXVlbmNlQ29udGludWF0aW9uRW50cmllc0FjdGlvbjp7ZW50cmllczplLmVudHJpZXMsY29udGludWF0aW9uRW5kcG9pbnQ6ZS5jb250aW51YXRpb25FbmRwb2ludH19KSk6ZS5wcmV2RW50cmllcyYmKGUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucz1bXSwKZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zLnB1c2goe2FwcGVuZFJlZWxXYXRjaFNlcXVlbmNlQ29udGludWF0aW9uRW50cmllc0FjdGlvbjp7cHJldkVudHJpZXM6ZS5wcmV2RW50cmllcyxwcmV2Q29udGludWF0aW9uRW5kcG9pbnQ6ZS5wcmV2Q29udGludWF0aW9uRW5kcG9pbnR9fSkpKX1pZihfLkIoYSxfLlV6KXx8Xy5CKGEsXy5kTykpYi5jdXJyZW50RGF0YXx8KGIuY3VycmVudERhdGE9Xy5YRD8ucmVzcG9uc2U/P3t9KSxiLnNvdXJjZURhdGF8fChiLnNvdXJjZURhdGE9YSk7SVkoYSxLWShkKSxiKTtfLkIoYSxfLkF5KSYmZD8uZGF0YT8udHJhY2tpbmdQYXJhbXMmJl8ubHgoXy5oeCgpLGQuZGF0YS50cmFja2luZ1BhcmFtcyxMWSk7cmV0dXJuIGR9LGQ9Pnt2YXIgZT1PYmplY3Qua2V5cyhhKS5maWx0ZXIoZj0+Xy5NYShmLCJFbmRwb2ludCIpKVswXTtlJiYoZT1hW2VdLChlPWU/Lm9uRmFpbHVyZUFjdGlvbj8/ZT8ub25GYWlsdXJlQ29tbWFuZCkmJkhZKGUsYikpO3Rocm93IGQ7Cn0pfTtJcGE9ZnVuY3Rpb24oYSxiKXtfLkIoYSxfLmNFKT8ubmF2aWdhdGlvblR5cGU9PT0iQlJPV1NFX05BVklHQVRJT05fVFlQRV9TVEFZX09OX1BBR0UiP01ZKGEsYik6RFkoYSxiKX07SnBhPWZ1bmN0aW9uKGEsYil7aWYoYT0oXy5CKGEsXy5TRCl8fGEpLmNvbW1hbmRzKWZvcihsZXQgYyBvZiBhKV8uS00oYyk/Xy5BSihjLGIuc291cmNlRGF0YSwhMCxiKTpIWShjLGIpfTsKTHBhPWFzeW5jIGZ1bmN0aW9uKGEpe2E9Xy5CKGEsS3BhKTtpZihhPy50ZXh0JiZuYXZpZ2F0b3IuY2xpcGJvYXJkKXRyeXtpZihhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChhLnRleHQpLGEuc3VjY2Vzc0FjdGlvbnMmJmEuc3VjY2Vzc0FjdGlvbnMubGVuZ3RoIT09MClmb3IobGV0IGIgb2YgYS5zdWNjZXNzQWN0aW9ucylfLkFKKGIse30sITEpfWNhdGNoKGIpe2lmKGEuZmFpbHVyZUFjdGlvbnMmJmEuZmFpbHVyZUFjdGlvbnMubGVuZ3RoIT09MClmb3IobGV0IGMgb2YgYS5mYWlsdXJlQWN0aW9ucylfLkFKKGMse30sITEpfX07TXBhPWZ1bmN0aW9uKGEpeygwLF8ud2lhKSh7bm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbjp7dG9nZ2xlQnV0dG9uUmVuZGVyZXI6YS5zb3VyY2VEYXRhfX0sYj0+KHsuLi5iLG5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b246e3RvZ2dsZUJ1dHRvblJlbmRlcmVyOmEuc291cmNlRGF0YX19KSl9OwpOcGE9ZnVuY3Rpb24oYSxiKXtNWShhLGIpLnRoZW4oKCk9PntNcGEoYil9KX07UHBhPWZ1bmN0aW9uKGEpe18ucVAoe2hyZWY6Xy5LeihgdGVsOiR7Xy5CKGEsT3BhKS5waG9uZU51bWJlcn1gLFtfLkhxXSkudG9TdHJpbmcoKSxlbmRwb2ludDphfSl9O1JwYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIEpZKGEsYykudGhlbihkPT57SVkoYSxLWShkKSxiKTt2YXIgZT1fLldEKCgpPT5kLmRhdGEucmVkaXJlY3RFbmRwb2ludCk7ZSYmXy5BSihlLGQuZGF0YSwhMSl9LGQ9PntfLnBQKCgpPT5RcGEpO3Rocm93IGQ7fSl9O1RwYT1mdW5jdGlvbihhKXt2YXIgYj1fLkIoYSxTcGEpLGM9YHNtczoke2IucGhvbmVOdW1iZXJzJiZiLnBob25lTnVtYmVyc1swXX1gO2IubWVzc2FnZVRleHQmJihjKz1gPyZib2R5PSR7ZW5jb2RlVVJJKGIubWVzc2FnZVRleHQpfWApO18ucVAoe2hyZWY6Xy5LeihjLFtfLk9xXSkudG9TdHJpbmcoKSxlbmRwb2ludDphfSl9OwpVcGE9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2RpYWxvZyJ9O05ZPWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgXy5GSjtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLnlQKSk7Yj8ucnEoKSYmYi5sZCgpO3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNkaWFsb2ciP18uWU0/c2V0VGltZW91dCgoKT0+e18uJE0oIiIpO2EoKX0sMTAwKTpfLlpNKCkudGhlbigoKT0+e2EoKX0pOmEoKX0pfTsKV3BhPWZ1bmN0aW9uKGEsYixjLGQpe1ZwYShjKTtjPU9ZKGEpO3ZhciBlPW5hdmlnYXRvcixmPV8uZnImJl8udygiTVdFQl9JT1NfTkFUSVZFX1NIQVJFIiksaD17dXJsOmN9O2lmKCghXy5mcnx8ZikmJmUuc2hhcmUmJmMmJmUuY2FuU2hhcmUmJmUuY2FuU2hhcmUoaCkpe2xldCBrPV8uRXgoXy5oeCgpLHt2ZVR5cGU6OTc3MH0pLGw9e291dGJvdW5kQXBwRGF0YTp7b3V0Ym91bmRBcHA6IkRJUkVDVF9TWVNURU1fQUNUSVZJVFlfRElBTE9HIn0sc2hhcmluZ0RhdGE6e3NlcmlhbGl6ZWRTaGFyZUVudGl0eTpkfX07Xy5KTyhrLGwsNyk7ZS5zaGFyZShoKS50aGVuKCgpPT57dFgoayxsLDcpfSkuY2F0Y2gobT0+e20ubmFtZSE9PSJBYm9ydEVycm9yIiYmKF8uSXAobmV3IF8uWGooIlN5c3RlbSBTaGFyZSBQYW5lbCBmYWlsZWQgdG8gb3Blbi4iKSksUFkoYSxiKSl9KX1lbHNlIFBZKGEsYil9OwpWcGE9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9Xy5oeCgpO18uRE8oYiwyMTc2MCx2b2lkIDAse2xheWVyOjcscGFyZW50TGF5ZXI6MH0pO18ubHgoYixhLHZvaWQgMCw3KX19O1BZPWZ1bmN0aW9uKGEsYil7dmFyIGM9T1koYSk7Xy5ncnx8Xy5URSgpfHxfLnJQKCk/Xy55KCkucmVzb2x2ZShfLnlQKS5vcGVuRGlhbG9nKHtVbjooKT0+Xy5LKFhwYSx7ZGF0YTphfSl9KTpfLnlOKHtoZWFkZXJUaXRsZToiU2hhcmUiLEdiOigpPT5fLksoImRpdiIse2NsYXNzOiJib3R0b20tc2hlZXQtc2hhcmUtaXRlbSJ9LF8uSyhfLk8se0E6KCk9PmMsdGhlbjpkPT5fLksoUVkse3Nob3J0VXJsOmQsdHJhY2tpbmdQYXJhbXM6UlkoYSl9KX0pLFNZKGEpPy5tYXAoZD0+ZD8uc2hhcmVUYXJnZXRSZW5kZXJlcj9fLksoVFkse2RhdGE6ZC5zaGFyZVRhcmdldFJlbmRlcmVyfSk6bnVsbCkpLEhhOiExLGZvY3VzT25DbG9zZTpiPy5ldmVudD8udGFyZ2V0fSl9OwpTWT1mdW5jdGlvbihhKXtpZihhLmNvbnRlbnRzJiZhLmNvbnRlbnRzWzBdKXJldHVybihhPWEuY29udGVudHNbMF0udGhpcmRQYXJ0eU5ldHdvcmtTZWN0aW9uPy5zaGFyZVRhcmdldENvbnRhaW5lcj8udGhpcmRQYXJ0eVNoYXJlVGFyZ2V0U2VjdGlvblJlbmRlcmVyPy5zaGFyZVRhcmdldHMpJiZhLmxlbmd0aD41P2Euc2xpY2UoMCw1KTphfTtPWT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb250ZW50cyYmYS5jb250ZW50c1swXT9fLkIoYS5jb250ZW50c1swXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LmNvcHlMaW5rQ29udGFpbmVyLFVZKT8uc2hvcnRVcmw6IiJ9O1JZPWZ1bmN0aW9uKGEpe3JldHVybiBfLkIoXy5CKGE/LmNvbnRlbnRzPy5bMF0udGhpcmRQYXJ0eU5ldHdvcmtTZWN0aW9uPy5jb3B5TGlua0NvbnRhaW5lcixVWSk/LmNvcHlCdXR0b24sXy5WTCk/LnRyYWNraW5nUGFyYW1zfTsKWnBhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5aeik/LnNoYXJlUGFuZWxUeXBlLGQ9Xy5CKGEsXy5aeik/LnNlcmlhbGl6ZWRTaGFyZUVudGl0eTtNWShhLGIpLnRoZW4oZT0+e1lwYShlLGIsYyxkKX0pfTtZcGE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5jb2RlPT09IlNVQ0NFU1MiJiZhLmRhdGEpYT1hLmRhdGEsYS5jb250ZW50cyYmYS5jb250ZW50cy51bmlmaWVkU2hhcmVQYW5lbFJlbmRlcmVyJiZjPT09IlNIQVJFX1BBTkVMX1RZUEVfVU5JRklFRF9TSEFSRV9QQU5FTCImJldwYShhLmNvbnRlbnRzLnVuaWZpZWRTaGFyZVBhbmVsUmVuZGVyZXIse2V2ZW50OmI/LmV2ZW50fSxhLnRyYWNraW5nUGFyYW1zLGQpO2Vsc2V7Xy5nRj09PXZvaWQgMCYmKF8uZ0Y9a29hKCkpO2xldCBlPV8uZ0Y/JHBhOmFxYTtfLnBQKCgpPT5lKX19O2JxYT1mdW5jdGlvbihhKXthPWEucGFuZWxJZGVudGlmaWVyfHxhLmlkZW50aWZpZXI/LnRhZztpZighYSl0aHJvdyBFcnJvcigiZ2UiKTtyZXR1cm4gYX07CmRxYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8uQihhLF8uUVcpO2lmKGMpe3ZhciBkPV8uV0QoKCk9PmI/LmV2ZW50Py5jdXJyZW50VGFyZ2V0fHxiPy5lbGVtZW50KSxlPWJxYShjKTt2YXIgZj1jP2MuZ2xvYmFsQ29uZmlndXJhdGlvbj8uaW5pdGlhbFN0YXRlfHxjLmVuZ2FnZW1lbnRQYW5lbDp2b2lkIDA7aWYoZSl7bGV0IGg9Xy55KCkucmVzb2x2ZShfLmJMKSxrPWF3YWl0IF8ueSgpLnJlc29sdmUoXy5IeSkoKTthd2FpdCBjcWEoaCx7aWRlbnRpZmllcjplLElqOmYsdGFyZ2V0OmR9KTtjLmdsb2JhbENvbmZpZ3VyYXRpb24mJihhPWF3YWl0IGsuUWkoYSksYXdhaXQgVlkoaCx7aWRlbnRpZmllcjplLElqOmE/LmNvbnRlbnQsdG46ITF9KSl9fX07CmVxYT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5FTyh3aW5kb3csYSwibG9naW5Qb3B1cCIsIndpZHRoPTgwMCxoZWlnaHQ9NjAwLHJlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMiKSlIbmEoKCk9PntiKCl9KSxhLm1vdmVUbygoc2NyZWVuLndpZHRoLTgwMCkvMiwoc2NyZWVuLmhlaWdodC02MDApLzIpfTtmcWE9ZnVuY3Rpb24oYSxiKXtfLktPKCk/KChiPXVYKGEpKSYmXy5FTyh3aW5kb3csYiksYS5jbGlja1RyYWNraW5nUGFyYW1zJiZfLnpKKGEuY2xpY2tUcmFja2luZ1BhcmFtcykpOl8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiI/KGE9dVgoYSkpJiZlcWEoYSwoKT0+e3dpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX0pOkRZKGEsYil9OwpncWE9ZnVuY3Rpb24oYSl7aWYoYS5zb3VyY2VEYXRhLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyPy5jaGFubmVsSWQpKDAsXy54UCkoe2NoYW5uZWxJZDphLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIuY2hhbm5lbElkfSxjPT4oey4uLmMsc3Vic2NyaWJlZDohYS5zb3VyY2VEYXRhLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLnN1YnNjcmliZWR9KSk7ZWxzZXt2YXIgYj1fLkIoYS5zb3VyY2VEYXRhLnNlcnZpY2VFbmRwb2ludCxfLkR5KTtiJiYoMCxfLnhQKSh7Y2hhbm5lbElkOmIuY2hhbm5lbElkcz8uWzBdfSxjPT4oey4uLmMsc3Vic2NyaWJlZDohMX0pKX19O1dZPWZ1bmN0aW9uKGEsYixjKXtNWShhLGIsYykudGhlbigoKT0+e2dxYShiKX0pfTsKaHFhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5WRCksZD1jLnVybDtjPWMudGFyZ2V0PT09IlRBUkdFVF9ORVdfV0lORE9XIj8iX2JsYW5rIjoiIjt2YXIgZTthLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihlPXtpdGN0OmEuY2xpY2tUcmFja2luZ1BhcmFtc30pO3ZhciBmPWI/LnNvdXJjZURhdGE/LnBhcmFtcz8udGltZXN0YW1wO2YmJihlPXsuLi5lLHRpbWVzdGFtcDpmfSk7Xy5xUCh7aHJlZjpkLHBhcmFtczplLHRhcmdldDpjLGVuZHBvaW50OmEsYWs6Xy5CKGE/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucm9vdFZlLGVsZW1lbnQ6Yi5ldmVudD8udGFyZ2V0fSl9O2lxYT1mdW5jdGlvbihhKXt3b2EoXy5CKGEsXy5mY2EpPy5hZGRpdGlvbmFsRGF0YXMpfTsKanFhPWZ1bmN0aW9uKGEpe3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZSIsYj0+e3ZhciBjPWIuZGV0YWlsO2MucGFyYW1zfHwoYy5wYXJhbXM9e30pO2I9Yy5wYXJhbXM7dmFyIGQ9Yi5pdGN0O2QmJihfLmh4KCkuQ2YoZCksZGVsZXRlIGIuaXRjdCk7Yj1jLmhyZWY7aWYoIVhZW2JdKXtkPSExO2lmKGIuc3RhcnRzV2l0aCgiaHR0cCIpfHxiLnN0YXJ0c1dpdGgoIi8vIikpe3ZhciBlPWI/Xy5QTShiKS5ob3N0bmFtZXx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lOiIiLGY9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO2lmKGQ9ZSE9PWYpZT1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLGY9Zi5zcGxpdCgiLiIpLnNsaWNlKC0yKSxlLmxlbmd0aCYmZi5sZW5ndGgmJihkPWUuam9pbigiLiIpIT09Zi5qb2luKCIuIikpfVhZW2JdPWR9ZD1YWVtiXTtpZihkKV8uRU8od2luZG93LGIpO2Vsc2V7ZD1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKTthOntpZighYS5nZXRWaWRlb0RhdGEoKS5pc0xpdmUpe2lmKChmPQpjLnBhcmFtcykmJmYudGltZXN0YW1wKXtmPWYudGltZXN0YW1wO2JyZWFrIGF9aWYoIV8ueCgiZW1iZWRzX2VtYzNkc19hbHdheXNfY3VydGltZV9rcyIpJiYoZj0vXmh0dHBzPzpcL1wvd3d3LnlvdXR1YmUuY29tXC93YXRjaFw/dj0oW0EtWmEtejAtOV8tXXsxMX0pLy5leGVjKGMuaHJlZik/LlsxXSkmJmY9PT1hLmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkJiYoZj1hLmdldEN1cnJlbnRUaW1lKCksZj4wKSl7Zj1NYXRoLmZsb29yKGYpLnRvU3RyaW5nKCk7YnJlYWsgYX19Zj12b2lkIDB9ZT0oZT1jLmVsZW1lbnQpP18uVXgoZSk/P3ZvaWQgMDp2b2lkIDA7YTp7aWYoZSl7dmFyIGg9ZS5nZXRBc0pzb24oKTtlPWgudmVUeXBlO2g9aC50cmFja2luZ1BhcmFtcztpZihlKXtlPVN0cmluZyhlKTticmVhayBhfWlmKGgmJihlPV8uRW8oXy5DbyhoKSwyKSkpe2U9ZS50b1N0cmluZygpO2JyZWFrIGF9fWU9dm9pZCAwfWV8fChNYXRoLnJhbmRvbSgpPF8uc2ooImVtYmVkc19sb2dfd2FybmluZ19zYW1wbGVfc2l6ZV9yYXRlIiwKLjAwMSkmJl8uSXAobmV3IF8uWGooIlVzaW5nIGZhbGxiYWNrIFZFIGZvciBlbGVtZW50OiAiLHt0YWdOYW1lOmMuZWxlbWVudD8udGFnTmFtZSxjbGFzc0xpc3Q6Yy5lbGVtZW50Py5jbGFzc0xpc3QudG9TdHJpbmcoKSxkZXRhaWw6Y30pKSxlPSgyMTQyODMpLnRvU3RyaW5nKCkpO2M9e307ZC53aWRnZXRSZWZlcnJlciYmKGMuZW1iZWRzX3dpZGdldF9yZWZlcnJlcj1kLndpZGdldFJlZmVycmVyKTtkLmxvYWRlclVybCYmKGMuZW1iZWRzX3JlZmVycmluZ19ldXJpPWQubG9hZGVyVXJsLnN1YnN0cmluZygwLDEyOCkpO2QuaXNFbWJlZCYmZC5lbWJlZHNJZnJhbWVPcmlnaW5QYXJhbSYmKGMuZW1iZWRzX3JlZmVycmluZ19vcmlnaW49ZC5lbWJlZHNJZnJhbWVPcmlnaW5QYXJhbSk7ZC5pc0VtYmVkJiZkLmVtYmVkc0ZlYXR1cmUmJihjLmZlYXR1cmU9ZC5lbWJlZHNGZWF0dXJlKTtkPWU7Yj0obmV3IFVSTChiLCJodHRwczovL3d3dy55b3V0dWJlLmNvbSIpKS50b1N0cmluZygpO2YmJgooYj1fLmVqKGIse3RpbWVfY29udGludWU6Zn0pKTtpZihkKXtpZighXy5NaygiY29iYWx0Iikpe2Y9W107ZT0wO2ZvcihoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWQuY2hhckNvZGVBdChoKTtrPjI1NSYmKGZbZSsrXT1rJjI1NSxrPj49OCk7ZltlKytdPWt9ZD1fLnNjKGYsNCl9Yj1fLmVqKGIse3NvdXJjZV92ZV9wYXRoOmR9KX1jJiYoYj1fLmVqKGIsYykpO18uRU8od2luZG93LGIpfX0pfTsKa3FhPWZ1bmN0aW9uKCl7dmFyIGE9e307YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsL2Nsb3NlZF9jYXB0aW9uL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0zLjAxIDNDMyAzIDMgMyAzLjAxIDNMMyAyMWgxOFYzSDMuMDF6TTExIDExSDkuNXYtLjVoLTJ2M2gyVjEzSDExdjFjMCAuNTUtLjQ1IDEtMSAxSDdjLS41NSAwLTEtLjQ1LTEtMXYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxem03IDBoLTEuNXYtLjVoLTJ2M2gyVjEzSDE4djFjMCAuNTUtLjQ1IDEtMSAxaC0zYy0uNTUgMC0xLS40NS0xLTF2LTRjMC0uNTUuNDUtMSAxLTFoM2MuNTUgMCAxIC40NSAxIDF2MXoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbF9leHBlcmltZW50YWwvY2xvc2VkX2NhcHRpb25zL3YzLzI0cHguc3ZnIl09Cl8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIxIDNIM2EyIDIgMCAwMC0yIDJ2MTRhMiAyIDAgMDAyIDJoMThhMiAyIDAgMDAyLTJWNWEyIDIgMCAwMC0yLTJaTTkuMDM4IDguMDg5Yy42OTcuMTc4IDEuMjk0LjYwNiAxLjczNyAxLjE3NmExIDEgMCAwMS0xLjU3OCAxLjIyOGMtLjIxLS4yNy0uNDQ0LS40MTMtLjY1NC0uNDY3YS44Ni44NiAwIDAwLS42MzIuMDg1Yy0uMjIyLjExOS0uNDUzLjM0Mi0uNjMxLjY4NEEyLjY0IDIuNjQgMCAwMDcgMTJhMi42NCAyLjY0IDAgMDAuMjgxIDEuMjA1Yy4xNzcuMzQyLjQwOC41NjUuNjMuNjg0YS44Ni44NiAwIDAwLjYzMi4wODVjLjIwOS0uMDU0LjQ0NC0uMTk3LjY1NC0uNDY3YTEgMSAwIDAxMS41NzggMS4yMjhjLS40NDMuNTctMS4wNC45OTgtMS43MzcgMS4xNzZhMi44NiAyLjg2IDAgMDEtMi4wNjYtLjI1N2MtLjYzMS0uMzM2LTEuMTMxLS44ODEtMS40NjYtMS41MjZBNC42IDQuNiAwIDAxNSAxMmMtLjAwNC0uNzQuMTctMS40Ny41MDYtMi4xMjguMzM2LS42NDUuODM1LTEuMTkgMS40NjYtMS41MjZhMi44NiAyLjg2IDAgMDEyLjA2Ni0uMjU3Wm04IDBjLjY5Ny4xNzggMS4yOTQuNjA2IDEuNzM3IDEuMTc2YTEgMSAwIDAxLTEuNTc4IDEuMjI4Yy0uMjEtLjI3LS40NDQtLjQxMy0uNjU0LS40NjdhLjg2Ljg2IDAgMDAtLjYzMi4wODVjLS4yMjIuMTE5LS40NTMuMzQyLS42MzEuNjg0QTIuNjQgMi42NCAwIDAwMTUgMTJhMi42NCAyLjY0IDAgMDAuMjgxIDEuMjA1Yy4xNzcuMzQyLjQwOC41NjUuNjMuNjg0YS44Ni44NiAwIDAwLjYzMi4wODVjLjIwOS0uMDU0LjQ0NC0uMTk3LjY1NC0uNDY3YTEgMSAwIDAxMS41NzggMS4yMjhjLS40NDMuNTctMS4wNC45OTgtMS43MzcgMS4xNzZhMi44NiAyLjg2IDAgMDEtMi4wNjYtLjI1N2MtLjYzMS0uMzM2LTEuMTMxLS44ODEtMS40NjYtMS41MjZBNC42IDQuNiAwIDAxMTMgMTJjLS4wMDQtLjc0LjE3LTEuNDcuNTA2LTIuMTI4LjMzNi0uNjQ1LjgzNS0xLjE5IDEuNDY2LTEuNTI2YTIuODYgMi44NiAwIDAxMi4wNjYtLjI1N1oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvcGF1c2UvdjkvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNOSAxOUg3VjVoMlptOC0xNGgtMnYxNGgyWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9wYXVzZS92OS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTYuNSAzQTEuNSAxLjUgMCAwMDUgNC41djE1QTEuNSAxLjUgMCAwMDYuNSAyMWgyYTEuNSAxLjUgMCAwMDEuNS0xLjV2LTE1QTEuNSAxLjUgMCAwMDguNSAzaC0yWm05IDBBMS41IDEuNSAwIDAwMTQgNC41djE1YTEuNSAxLjUgMCAwMDEuNSAxLjVoMmExLjUgMS41IDAgMDAxLjUtMS41di0xNUExLjUgMS41IDAgMDAxNy41IDNoLTJaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsL3BsYXlfYXJyb3cvdjcvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJtNyA0IDEyIDgtMTIgOFY0eiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9wbGF5L3Y0LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNSA0LjYyM1YxOS4zOGExLjUgMS41IDAgMDAyLjI2IDEuMjlMMjIgMTIgNy4yNiAzLjMzQTEuNSAxLjUgMCAwMDUgNC42MjNaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwveW91dHViZV9sb2dvX2ljb24vdjYvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIxLjU4IDcuMTlhMi41MSAyLjUxIDAgMDAtMS43Ny0xLjc3QzE4LjI1IDUgMTIgNSAxMiA1cy02LjI1IDAtNy44MS40MmEyLjUxIDIuNTEgMCAwMC0xLjc3IDEuNzdBMjUuODcgMjUuODcgMCAwMDIgMTJhMjUuODcgMjUuODcgMCAwMC40MiA0LjgxIDIuNTEgMi41MSAwIDAwMS43NyAxLjc3QzUuNzUgMTkgMTIgMTkgMTIgMTlzNi4yNSAwIDcuODEtLjQyYTIuNTEgMi41MSAwIDAwMS43Ny0xLjc3QTI1Ljg3IDI1Ljg3IDAgMDAyMiAxMmEyNS44NyAyNS44NyAwIDAwLS40Mi00Ljgxek0xMCAxNC42NXYtNS4zTDE1IDEyeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC95b3V0dWJlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLApmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDVzLTYuMjQ5IDAtNy44MS40MmMtLjg2LjIzLTEuNTQuOTEtMS43NyAxLjc3QzIgOC43NSAyIDEyIDIgMTJzMCAzLjI1LjQyIDQuODFjLjIzLjg2LjkxIDEuNTQgMS43NyAxLjc3QzUuNzUxIDE5IDEyIDE5IDEyIDE5czYuMjQ5IDAgNy44MS0uNDJjLjg2LS4yMyAxLjU0LS45MSAxLjc3LTEuNzdDMjIgMTUuMjUgMjIgMTIgMjIgMTJzMC0zLjI1LS40Mi00LjgxYy0uMjMtLjg2LS45MS0xLjU0LTEuNzctMS43N0MxOC4yNDkgNSAxMiA1IDEyIDVabS0yIDEwVjlsNSAzLTUgM1oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9hcnJvd19jaXJjbGUvdjYvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIyIDEyYzAgNS41MS00LjQ5IDEwLTEwIDEwUzIgMTcuNTEgMiAxMmgxYzAgNC45NiA0LjA0IDkgOSA5czktNC4wNCA5LTktNC4wNC05LTktOUM4LjgxIDMgNS45MiA0LjY0IDQuMjggNy4zOGMtLjExLjE4LS4yMi4zNy0uMzEuNTZMMy45NCA4SDh2MUgxLjk2VjNoMXY0Ljc0Yy4wNC0uMDkuMDctLjE3LjExLS4yNS4xMS0uMjIuMjMtLjQyLjM1LS42M0M1LjIyIDMuODYgOC41MSAyIDEyIDJjNS41MSAwIDEwIDQuNDkgMTAgMTB6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2Fycm93X2NvdW50ZXJjbG9ja3dpc2UvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLAp3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMyAyYTEgMSAwIDAwLTEgMXY2aDZhMSAxIDAgMDAwLTJINS43NTdhOCA4IDAgMTEtMS40ODUgNy4wNyAxIDEgMCAxMC0xLjkzMS41MTcgMTAuMDAyIDEwLjAwMiAwIDAwMTguMDkzIDIuNzgyQTkuOTk5IDkuOTk5IDAgMDA0IDZWM2ExIDEgMCAwMC0xLTFaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvYmVsbC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTAgMjBoNGMwIDEuMS0uOSAyLTIgMnMtMi0uOS0yLTJ6bTEwLTIuNjVWMTlINHYtMS42NWwyLTEuODh2LTUuMTVDNiA3LjQgNy41NiA1LjEgMTAgNC4zNHYtLjM4YzAtMS40MiAxLjQ5LTIuNSAyLjk5LTEuNzYuNjUuMzIgMS4wMSAxLjAzIDEuMDEgMS43NnYuMzljMi40NC43NSA0IDMuMDYgNCA1Ljk4djUuMTVsMiAxLjg3em0tMSAuNDItMi0xLjg4di01LjQ3YzAtMi40Ny0xLjE5LTQuMzYtMy4xMy01LjEtMS4yNi0uNTMtMi42NC0uNS0zLjg0LjAzQzguMTUgNi4xMSA3IDcuOTkgNyAxMC40MnY1LjQ3bC0yIDEuODhWMThoMTR2LS4yM3oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2JlbGwvdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTYgMTlhNCA0IDAgMTEtOCAwSDQuNzY1QzMuMjEgMTkgMi4yNSAxNy4zMDQgMy4wNSAxNS45N2wxLjgwNi0zLjAxQTEgMSAwIDAwNSAxMi40NDZWOGE3IDcgMCAwMTE0IDB2NC40NDZjMCAuMTgxLjA1LjM2LjE0Mi41MTVsMS44MDcgMy4wMWMuOCAxLjMzMy0uMTYxIDMuMDI5LTEuNzE2IDMuMDI5SDE2Wk0xMiAzYTUgNSAwIDAwLTUgNXY0LjQ0NmEzIDMgMCAwMS0uNDI4IDEuNTQzTDQuNzY1IDE3aDE0LjQ2OGwtMS44MDUtMy4wMUEzIDMgMCAwMTE3IDEyLjQ0NVY4YTUgNSAwIDAwLTUtNVptLTIgMTZhMiAyIDAgMTA0IDBoLTRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Nsb2NrL3YxMC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNC45NyAxNi45NSAxMCAxMy44N1Y3aDJ2NS43Nmw0LjAzIDIuNDktMS4wNiAxLjd6TTEyIDNjLTQuOTYgMC05IDQuMDQtOSA5czQuMDQgOSA5IDkgOS00LjA0IDktOS00LjA0LTktOS05bTAtMWM1LjUyIDAgMTAgNC40OCAxMCAxMHMtNC40OCAxMC0xMCAxMFMyIDE3LjUyIDIgMTIgNi40OCAyIDEyIDJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2Nsb2NrL3YxMC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLApoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMiAxQzUuOTI1IDEgMSA1LjkyNSAxIDEyczQuOTI1IDExIDExIDExIDExLTQuOTI1IDExLTExUzE4LjA3NSAxIDEyIDFabTAgMmE5IDkgMCAxMTAgMTguMDAxQTkgOSAwIDAxMTIgM1ptMCAzYTEgMSAwIDAwLTEgMXY1LjU2NWwuNDg1LjI5MiAzLjMzIDJhMSAxIDAgMDAxLjAzLTEuNzE0TDEzIDExLjQzNVY3YTEgMSAwIDAwLTEtMVoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9jbG9zZWRfY2FwdGlvbi92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNiAxNHYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxSDkuNXYtLjVoLTJ2M2gyVjEzSDExdjFjMCAuNTUtLjQ1IDEtMSAxSDdjLS41NSAwLTEtLjQ1LTEtMXptOCAxaDNjLjU1IDAgMS0uNDUgMS0xdi0xaC0xLjV2LjVoLTJ2LTNoMnYuNUgxOHYtMWMwLS41NS0uNDUtMS0xLTFoLTNjLS41NSAwLTEgLjQ1LTEgMXY0YzAgLjU1LjQ1IDEgMSAxem02LTExSDR2MTZoMTZWNG0xLTF2MThIM1YzLjAxQzMgMyAzIDMgMy4wMSAzSDIxeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvY2xvc2VkX2NhcHRpb25zL3YzLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEgM0gzYTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxOGEyIDIgMCAwMDItMlY1YTIgMiAwIDAwLTItMlpNMyAxOVY1aDE4djE0SDNaTTYuOTcyIDguMzQ2Yy0uNjMxLjMzNi0xLjEzMS44ODEtMS40NjYgMS41MjZBNC42IDQuNiAwIDAwNSAxMmMtLjAwNC43NC4xNyAxLjQ3LjUwNiAyLjEyOC4zMzYuNjQ1LjgzNSAxLjE5MSAxLjQ2NiAxLjUyNmEyLjg2IDIuODYgMCAwMDIuMDY2LjI1N2MuNjk3LS4xNzggMS4yOTQtLjYwNiAxLjczNy0xLjE3NmExIDEgMCAwMC0xLjU3OC0xLjIyOGMtLjIxLjI3LS40NDQuNDEzLS42NTQuNDY3YS44Ni44NiAwIDAxLS42MzItLjA4NWMtLjIyMi0uMTE5LS40NTMtLjM0Mi0uNjMxLS42ODRBMi42NCAyLjY0IDAgMDE3IDEyYTIuNiAyLjYgMCAwMS4yODEtMS4yMDVjLjE3Ny0uMzQyLjQwOC0uNTY1LjYzLS42ODRhLjg2Ljg2IDAgMDEuNjMyLS4wODVjLjIwOS4wNTQuNDQ0LjE5Ny42NTQuNDY3YTEgMSAwIDAwMS41NzgtMS4yMjhjLS40NDMtLjU3LTEuMDQtLjk5OC0xLjczNy0xLjE3NmEyLjg2IDIuODYgMCAwMC0yLjA2Ni4yNTdabTggMGMtLjYzMS4zMzYtMS4xMzEuODgxLTEuNDY2IDEuNTI2QTQuNiA0LjYgMCAwMDEzIDEyYy0uMDA0Ljc0LjE3IDEuNDcuNTA2IDIuMTI4LjMzNi42NDUuODM1IDEuMTkxIDEuNDY2IDEuNTI2YTIuODYgMi44NiAwIDAwMi4wNjYuMjU3Yy42OTctLjE3OCAxLjI5NC0uNjA2IDEuNzM3LTEuMTc2YTEgMSAwIDAwLTEuNTc4LTEuMjI4Yy0uMjEuMjctLjQ0NC40MTMtLjY1NC40NjdhLjg2Ljg2IDAgMDEtLjYzMi0uMDg1Yy0uMjIyLS4xMTktLjQ1My0uMzQyLS42MzEtLjY4NEEyLjY0IDIuNjQgMCAwMTE1IDEyYTIuNiAyLjYgMCAwMS4yODEtMS4yMDVjLjE3Ny0uMzQyLjQwOC0uNTY1LjYzLS42ODRhLjg2Ljg2IDAgMDEuNjMyLS4wODVjLjIwOS4wNTQuNDQ0LjE5Ny42NTQuNDY3YTEgMSAwIDAwMS41NzgtMS4yMjhjLS40NDMtLjU3LTEuMDQtLjk5OC0xLjczNy0xLjE3NmEyLjg2IDIuODYgMCAwMC0yLjA2Ni4yNTdaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2dlYXIvdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDkuNWMxLjM4IDAgMi41IDEuMTIgMi41IDIuNXMtMS4xMiAyLjUtMi41IDIuNS0yLjUtMS4xMi0yLjUtMi41IDEuMTItMi41IDIuNS0yLjVtMC0xYy0xLjkzIDAtMy41IDEuNTctMy41IDMuNXMxLjU3IDMuNSAzLjUgMy41IDMuNS0xLjU3IDMuNS0zLjUtMS41Ny0zLjUtMy41LTMuNXpNMTMuMjIgM2wuNTUgMi4yLjEzLjUxLjUuMThjLjYxLjIzIDEuMTkuNTYgMS43Mi45OGwuNC4zMi41LS4xNCAyLjE3LS42MiAxLjIyIDIuMTEtMS42MyAxLjU5LS4zNy4zNi4wOC41MWMuMDUuMzIuMDguNjQuMDguOThzLS4wMy42Ni0uMDguOThsLS4wOC41MS4zNy4zNiAxLjYzIDEuNTktMS4yMiAyLjExLTIuMTctLjYyLS41LS4xNC0uNC4zMmMtLjUzLjQzLTEuMTEuNzYtMS43Mi45OGwtLjUuMTgtLjEzLjUxLS41NSAyLjI0aC0yLjQ0bC0uNTUtMi4yLS4xMy0uNTEtLjUtLjE4Yy0uNi0uMjMtMS4xOC0uNTYtMS43Mi0uOTlsLS40LS4zMi0uNS4xNC0yLjE3LjYyLTEuMjEtMi4xMiAxLjYzLTEuNTkuMzctLjM2LS4wOC0uNTFjLS4wNS0uMzItLjA4LS42NS0uMDgtLjk4cy4wMy0uNjYuMDgtLjk4bC4wOC0uNTEtLjM3LS4zNkwzLjYgOC41NmwxLjIyLTIuMTEgMi4xNy42Mi41LjE0LjQtLjMyYy41My0uNDQgMS4xMS0uNzcgMS43Mi0uOTlsLjUtLjE4LjEzLS41MS41NC0yLjIxaDIuNDRNMTQgMmgtNGwtLjc0IDIuOTZjLS43My4yNy0xLjQuNjYtMiAxLjE0bC0yLjkyLS44My0yIDMuNDYgMi4xOSAyLjEzYy0uMDYuMzctLjA5Ljc1LS4wOSAxLjE0cy4wMy43Ny4wOSAxLjE0bC0yLjE5IDIuMTMgMiAzLjQ2IDIuOTItLjgzYy42LjQ4IDEuMjcuODcgMiAxLjE0TDEwIDIyaDRsLjc0LTIuOTZjLjczLS4yNyAxLjQtLjY2IDItMS4xNGwyLjkyLjgzIDItMy40Ni0yLjE5LTIuMTNjLjA2LS4zNy4wOS0uNzUuMDktMS4xNHMtLjAzLS43Ny0uMDktMS4xNGwyLjE5LTIuMTMtMi0zLjQ2LTIuOTIuODNjLS42LS40OC0xLjI3LS44Ny0yLTEuMTRMMTQgMnoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2dlYXIvdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIuODQ0IDFoLTEuNjg3YTIgMiAwIDAwLTEuOTYyIDEuNjE2IDMgMyAwIDAxLTMuOTIgMi4yNjMgMiAyIDAgMDAtMi4zOC44OTFsLS44NDIgMS40NmEyIDIgMCAwMC40MTcgMi41MDcgMyAzIDAgMDEwIDQuNTI1IDIgMiAwIDAwLS40MTcgMi41MDdsLjg0MyAxLjQ2YTIgMiAwIDAwMi4zOC44OTIgMy4wMDEgMy4wMDEgMCAwMTMuOTE4IDIuMjYzQTIgMiAwIDAwMTEuMTU3IDIzaDEuNjg2YTIgMiAwIDAwMS45NjMtMS42MTUgMy4wMDIgMy4wMDIgMCAwMTMuOTItMi4yNjMgMiAyIDAgMDAyLjM4LS44OTJsLjg0Mi0xLjQ2YTIgMiAwIDAwLS40MTgtMi41MDcgMyAzIDAgMDEwLTQuNTI2IDIgMiAwIDAwLjQxOC0yLjUwOGwtLjg0My0xLjQ2YTIgMiAwIDAwLTIuMzgtLjg5MSAzIDMgMCAwMS0zLjkxOS0yLjI2M0EyIDIgMCAwMDEyLjg0NCAxWm0tMS43NjcgMi4zNDdhNiA2IDAgMDAuMDgtLjM0N2gxLjY4N2E0Ljk4IDQuOTggMCAwMDIuNDA3IDMuMzcgNC45OCA0Ljk4IDAgMDA0LjEyMi40bC44NDMgMS40NkE0Ljk4IDQuOTggMCAwMDE4LjUgMTJhNC45OCA0Ljk4IDAgMDAxLjcxNiAzLjc3bC0uODQzIDEuNDZhNC45OCA0Ljk4IDAgMDAtNC4xMjMuNEE0Ljk3OSA0Ljk3OSAwIDAwMTIuODQzIDIxaC0xLjY4NmE0Ljk4IDQuOTggMCAwMC0yLjQwOC0zLjM3MSA0Ljk5OSA0Ljk5OSAwIDAwLTQuMTItLjM5OWwtLjg0NC0xLjQ2QTQuOTc5IDQuOTc5IDAgMDA1LjUgMTJhNC45OCA0Ljk4IDAgMDAtMS43MTUtMy43N2wuODQyLTEuNDU5YTQuOTggNC45OCAwIDAwNC4xMjMtLjM5OSA0Ljk4MSA0Ljk4MSAwIDAwMi4zMjctMy4wMjVaTTE2IDEyYTQgNCAwIDExLTcuOTk5IDAgNCA0IDAgMDE4IDBabS00IDJhMiAyIDAgMTAwLTQgMiAyIDAgMDAwIDRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2xpbmsvdjgvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTcuNzggMTZjMi4zNSAwIDQuMjYtMi4wMiA0LjI2LTQuNVMyMC4xMyA3IDE3Ljc4IDdIMTN2MWg0Ljc4YzEuOCAwIDMuMjYgMS41NyAzLjI2IDMuNVMxOS41OCAxNSAxNy43OCAxNUgxM3YxaDQuNzh6TTExIDE1SDYuMTljLTEuOCAwLTMuMjYtMS41Ny0zLjI2LTMuNVM0LjM5IDggNi4xOSA4SDExVjdINi4xOWMtMi4zNSAwLTQuMjYgMi4wMi00LjI2IDQuNVMzLjg0IDE2IDYuMTkgMTZIMTF2LTF6bTUtNEg4djFoOHYtMXoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvbGluay92OC8yNHB4LnN2ZyJdPV8uSygic3ZnIiwKe3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik05IDE4Yy4yMjYgMCAuNDQ4LS4wMTIuNjY3LS4wMzdBOC4wMDEgOC4wMDEgMCAwMTguMDcgMTZIN2E0IDQgMCAxMTAtOGgyYTQgNCAwIDAxNCA0IDIgMiAwIDAwMS42NjggMS45NzNBNS45OTkgNS45OTkgMCAwMDkgNkg3YTYgNiAwIDEwMCAxMmgyWm04IDBhNiA2IDAgMTAwLTEyaC0yYy0uMjI1IDAtLjQ0OC4wMTItLjY2Ny4wMzZBOCA4IDAgMDExNS45MyA4SDE3YTQgNCAwIDExMCA4aC0yYTQgNCAwIDAxLTQtNCAyIDIgMCAwMC0xLjY2OC0xLjk3M0E2IDYgMCAwMDE1IDE4aDJaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvc2hhcmUvdjEyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLApoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNSA1LjYzIDIwLjY2IDEyIDE1IDE4LjM3VjE0aC0xYy0zLjk2IDAtNy4xNCAxLTkuNzUgMy4wOSAxLjg0LTQuMDcgNS4xMS02LjQgOS44OS03LjFsLjg2LS4xM1Y1LjYzTTE0IDN2NkM2LjIyIDEwLjEzIDMuMTEgMTUuMzMgMiAyMWMyLjc4LTMuOTcgNi40NC02IDEyLTZ2Nmw4LTktOC05eiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9zaGFyZS92MTIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCAzLjE1OFY3LjUxYy01LjQyOC4yMjMtOC4yNyAzLjc1LTguODc1IDExLjE5OS0uMDQuNDg3LS4wNy45NzUtLjA5IDEuNDY0bC0uMDE0LjM5NWMtLjAxNC40NzMuNTc4LjY4NC44OC4zMi4zMDItLjM2OC42MS0uNzMuOTI1LTEuMDg2bC4yNDQtLjI3M2MxLjc5LTEuOTY3IDMtMi42NzcgNC45My0yLjkxN2ExOC4wMTEgMTguMDExIDAgMDEyLS4xMTJ2NC4zNDZhMSAxIDAgMDAxLjY0Ni43NjNsOS44MDUtOC4yOTcgMS41NS0xLjMxLTEuNTUtMS4zMS05LjgwNS04LjI5N0ExIDEgMCAwMDEwIDMuMTU4Wm0yIDYuMjd2LjAwMi00LjExNmw3LjkwNCA2LjY4OEwxMiAxOC42ODl2LTQuMjEybC0yLjAyMy4wMjRjLTEuOTM1LjAyMi0zLjU4Ny4xNy01LjE5NyAxLjAyNGE5IDkgMCAwMC0xLjM0OC44OTNjLjM1NS0xLjk0Ny45MTYtMy4zOSAxLjYzLTQuNDI1IDEuMDYyLTEuNTQxIDIuNjA3LTIuMzg1IDUuMDItMi40ODVMMTIgOS40MjhaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3ZvbHVtZV9vZmYvdjQvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJtMy4xNSAzLjg1IDQuMTcgNC4xN0w2LjE2IDlIM3Y2aDMuMTZMMTIgMTkuOTN2LTcuMjJsMi40NSAyLjQ1Yy0uMTUuMDctLjMuMTMtLjQ1LjE4djEuMDRjLjQzLS4xLjgzLS4yNyAxLjItLjQ4bDEuODEgMS44MWMtLjg4LjYyLTEuOSAxLjA0LTMuMDEgMS4ydjEuMDFjMS4zOS0uMTcgMi42Ni0uNzEgMy43My0xLjQ5bDIuNDIgMi40Mi43MS0uNzEtMTctMTctLjcxLjcxek0xMSAxMS43MXY2LjA3TDYuNTIgMTRINHYtNGgyLjUybDEuNS0xLjI3TDExIDExLjcxem0tLjY3LTQuOTItLjcxLS43MUwxMiA0LjA3djQuMzlsLTEtMVY2LjIybC0uNjcuNTd6TTE0IDguNjZWNy42MmMyIC40NiAzLjUgMi4yNCAzLjUgNC4zOCAwIC41OC0uMTMgMS4xMy0uMzMgMS42NGwtLjc5LS43OWMuMDctLjI3LjEyLS41NS4xMi0uODUgMC0xLjU4LTEuMDYtMi45LTIuNS0zLjM0em0wLTMuNThWNC4wN2MzLjk1LjQ5IDcgMy44NSA3IDcuOTMgMCAxLjU2LS40NiAzLjAxLTEuMjMgNC4yNGwtLjczLS43M2MuNjEtMS4wMy45Ni0yLjIzLjk2LTMuNTEgMC0zLjUyLTIuNjEtNi40My02LTYuOTJ6In0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC92b2x1bWVfbXV0ZS92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTExLjQ4NSAyLjE0MyAzLjkxMyA2LjY4N0E2IDYgMCAwMDEgMTEuODMydi4zMzhhNiA2IDAgMDAyLjkxMyA1LjE0NGw3LjU3MiA0LjU0M0ExIDEgMCAwMDEzIDIxVjNhMS4wMDEgMS4wMDEgMCAwMC0xLjUxNS0uODU3Wk00Ljk0MiA4LjQgMTEgNC43Njd2MTQuNDY2bC02LjA1OC0zLjYzNEE0IDQgMCAwMTMgMTIuMTY5di0uMzM4QTQgNCAwIDAxNC45NDIgOC40Wm0xNi4zNTEtLjEwOEwxOSAxMC41ODZsLTIuMjkzLTIuMjkzYTEgMSAwIDEwLTEuNDE0IDEuNDE0TDE3LjU4NiAxMmwtMi4yOTMgMi4yOTNhMSAxIDAgMTAxLjQxNCAxLjQxNEwxOSAxMy40MTRsMi4yOTMgMi4yOTNhMSAxIDAgMTAxLjQxNC0xLjQxNEwyMC40MTQgMTJsMi4yOTMtMi4yOTRhMSAxIDAgMTAtMS40MTQtMS40MTRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3ZvbHVtZV9vbi92My8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNy41IDEyYzAgMi4xNC0xLjUgMy45Mi0zLjUgNC4zOHYtMS4wNGMxLjQ0LS40MyAyLjUtMS43NiAyLjUtMy4zNCAwLTEuNTgtMS4wNi0yLjktMi41LTMuMzRWNy42MmMyIC40NiAzLjUgMi4yNCAzLjUgNC4zOHpNMTIgNC4wN3YxNS44Nkw2LjE2IDE1SDNWOWgzLjE2TDEyIDQuMDd6bS0xIDIuMTVMNi41MiAxMEg0djRoMi41MkwxMSAxNy43OFY2LjIyek0yMSAxMmMwIDQuMDgtMy4wNSA3LjQ0LTcgNy45M3YtMS4wMWMzLjM5LS40OSA2LTMuNCA2LTYuOTJzLTIuNjEtNi40My02LTYuOTJWNC4wN2MzLjk1LjQ5IDcgMy44NSA3IDcuOTN6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3ZvbHVtZV9tYXgvdjIvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTEuNDg1IDIuMTQzIDMuOTEzIDYuNjg3QTYgNiAwIDAwMSAxMS44MzJ2LjMzOGE2IDYgMCAwMDIuOTEzIDUuMTQ0bDcuNTcyIDQuNTQzQTEgMSAwIDAwMTMgMjFWM2ExLjAwMSAxLjAwMSAwIDAwLTEuNTE1LS44NTdabTYuODggMi4wNzlhMSAxIDAgMDAtLjAwMSAxLjQxNCA5IDkgMCAwMTAgMTIuNzI4IDEgMSAwIDAwMS40MTQgMS40MTQgMTEgMTEgMCAwMDAtMTUuNTU2IDEgMSAwIDAwLTEuNDEzIDBaTTQuOTQxIDguNDAybC4wMDEtLjAwMkwxMSA0Ljc2N3YxNC40NjZsLTYuMDU4LTMuNjM1QTQgNCAwIDAxMyAxMi4xNjh2LS4zMzdhNCA0IDAgMDExLjk0MS0zLjQyOVpNMTUuNTM1IDcuMDVhMSAxIDAgMDAwIDEuNDE1IDUgNSAwIDAxMCA3LjA3IDEgMSAwIDAwMS40MTUgMS40MTUgNi45OTkgNi45OTkgMCAwMDAtOS45IDEgMSAwIDAwLTEuNDE1IDBaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3hfbWFyay92NC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im0xMi43MSAxMiA4LjE1IDguMTUtLjcxLjcxTDEyIDEyLjcxbC04LjE1IDguMTUtLjcxLS43MUwxMS4yOSAxMiAzLjE1IDMuODVsLjcxLS43MUwxMiAxMS4yOWw4LjE1LTguMTUuNzEuNzFMMTIuNzEgMTJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3gvdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0IiwKd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE3LjI5MyA1LjI5MyAxMiAxMC41ODYgNi43MDcgNS4yOTNhMSAxIDAgMTAtMS40MTQgMS40MTRMMTAuNTg2IDEybC01LjI5MyA1LjI5M2ExIDEgMCAwMDEuNDE0IDEuNDE0TDEyIDEzLjQxNGw1LjI5MyA1LjI5M2ExIDEgMCAwMDEuNDE0LTEuNDE0TDEzLjQxNCAxMmw1LjI5My01LjI5M2ExIDEgMCAxMC0xLjQxNC0xLjQxNFoifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL2VxdWFsaXplci92MS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiLTQgLTQgMjQgMjQiLHZlcnNpb246IjEuMSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieG1sbnM6eXQiOiJodHRwOi8vd3d3LnlvdXR1YmUuY29tIn0sXy5LKCJnIiwKe2lkOiJ5dG0tZXF1YWxpemVyLWljb24iLGZpbGw6IiNmZmYifSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItbGVmdCIseDoiMSIseToiNyIsd2lkdGg6IjQiLGhlaWdodDoiOSJ9KSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItbWlkZGxlIix4OiI2Iix5OiIyIix3aWR0aDoiNCIsaGVpZ2h0OiIxNCJ9KSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItcmlnaHQiLHg6IjExIix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiIxMiJ9KSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3Nob3J0c190ZXh0X2xvZ28vdjIvNzJweC5zdmciXT1fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCA3MiAyNCIsZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIn0sCl8uSygiZyIse3RyYW5zZm9ybToidHJhbnNsYXRlKDI0LCAyKSJ9LF8uSygicGF0aCIse2Q6Im0uNzMyMTcgMTMuNzg4NiAyLjU3NzMyLS4wNTE1Yy0uMDUxNTUgMi4zMTk1LjM2MDgyIDMuMDQxMiAxLjM0MDIxIDMuMDQxMi45NTM2MSAwIDEuMzQwMi0uNjE4NiAxLjM0MDItMS44ODE0IDAtMS44ODE1LS45NzkzOC0yLjgzNTEtMi4zNzExMy00LjA0NjRDMS40Nzk1OSA4Ljk5NDc5LjU1MTc1OCA3Ljk2Mzg2LjU1MTc1OCA1LjIzMTljMC0yLjYwMzA5IDEuMTU5NzkyLTQuMTQ5NDggNC4xNzUyNjItNC4xNDk0OCAyLjkxMjM3IDAgNC4xMjM3MSAxLjcwMTAzIDMuNzExMzMgNS4yMDYxOWwtMi41NzczMi4xNTQ2M2MuMDUxNTUtMi4zOTY5LS4yMDYxOC0zLjIyMTY0LTEuMjYyODgtMy4yMjE2NC0uOTc5MzggMC0xLjMxNDQ0LjY0NDMzLTEuMzE0NDQgMS44Mjk4OSAwIDEuNzc4MzUuNzQ3NDMgMi4zMTk1OSAyLjM0NTM3IDMuODQwMjEgMS45ODQ1MyAxLjg4MTQgMy4wOTI3OCAyLjk4OTcgMy4wOTI3OCA1LjU0MTIgMCAzLjI0NzUtMS4yNjI4OSA0LjQ4NDYtNC4yMDEwMyA0LjQ4NDYtMy4wNjcwMS4wMjU3LTQuMzA0MTI1LTEuNjIzNy0zLjc4ODY2LTUuMTI4OVpNOS42NzU1NC43NDc0MDVoMi44MzUwNlY0LjU4NzYxYzAgMS4xNTk3OS0uMDUxNiAxLjk1ODc2LS4xNTQ3IDIuOTM4MTRoLjA1MTZjLjU0MTItMS4xNTk3OSAxLjQ0MzMtMS43NTI1NyAyLjYwMzEtMS43NTI1NyAxLjc1MjYgMCAyLjUgMS4yMzcxMSAyLjUgMy4zNTA1MXY5LjUzNjExaC0yLjgzNTFWOS4zMjk4OGMwLTEuMDMwOTMtLjI1NzctMS41NDYzOS0uOTAyLTEuNTQ2MzktLjQ4OTcgMC0uOTI3OS4yODM1LTEuMjM3MS43OTg5N1YxOC42NTk4SDkuNzAxMzFWLjc0NzQwNWgtLjAyNTc3Wk0xOC42NzAzIDEzLjI3MzJ2LTEuODI5OWMwLTQuMDcyMTYgMS4xODU2LTUuNjQ0MzMgMy45OTQ4LTUuNjQ0MzMgMi44MDkzIDAgMy44NjYgMS42MjM3MSAzLjg2NiA1LjY0NDMzdjEuODI5OWMwIDMuOTY5MS0xLjAwNTIgNS41OTI4LTMuOTQzMyA1LjU5MjgtMi45ODk3IDAtMy45MTc1LTEuNjc1My0zLjkxNzUtNS41OTI4Wm01IDEuMDMwOXYtMy45NDMzYzAtMS43MjY3OC0uMjU3OC0yLjYwMzA3LTEuMDgyNS0yLjYwMzA3LS43OTkgMC0xLjA1NjcuODc2MjktMS4wNTY3IDIuNjAzMDd2My45NDMzYzAgMS44MDQxLjI1NzcgMi42Mjg5IDEuMDU2NyAyLjYyODkuODI0NyAwIDEuMDgyNS0uODI0OCAxLjA4MjUtMi42Mjg5Wk0yNy42NjUyIDYuMDMwODloMi4xOTA3bC4yNTc4IDIuNzMxOTZoLjEwM2MuMjgzNi0yLjAxMDMxIDEuMjExNC0zLjAxNTQ2IDIuMzk2OS0zLjAxNTQ2LjE1NDcgMCAuMzA5My4wMjU3Ny41MTU1LjA1MTU0bC0uMTU0NiAzLjI3MzJjLTEuMTg1Ni0uMjU3NzMtMi4xMzkyLS4wNTE1NS0yLjU3NzMuNzIxNjVWMTguNjM0aC0yLjczMlY2LjAzMDg5Wk0zNC44MDQ0IDE1LjY3MDFWOC4yNzMyaC0xLjAzMDlWNi4wNTY3aDEuMTU5OGwuMzYwOC0zLjczNzExaDIuMTEzNFY2LjA1NjdoMS45MzN2Mi4yMTY1aC0xLjgwNDF2Ni45ODQ1YzAgMS4xODU2LjE1NDYgMS40NDMzLjYxODUgMS40NDMzLjQxMjQgMCAuNzczMi0uMDUxNSAxLjEwODMtLjE4MDRsLjM2MDggMS44MDQxYy0uODUwNS40MTI0LTEuOTMzLjU0MTMtMi42MDMxLjU0MTMtMS44Mjk5LS4wMjU4LTIuMjE2NS0uOTc5NC0yLjIxNjUtMy4xOTU5Wk00MC4yNjgyIDE0LjgxOTZsMi4zOTY5LS4wNTE1Yy0uMTI4OSAxLjM5MTcuMzYwOCAyLjE5MDcgMS4yMTEzIDIuMTkwNy43MjE3IDAgMS4xMzQxLS40NjM5IDEuMTM0MS0xLjEwODMgMC0uODc2My0uNzk5LTEuNDY5LTIuMTY1LTIuNS0xLjYyMzctMS4yMzcxLTIuNjAzMS0yLjE2NDktMi42MDMxLTQuMjAxIDAtMi4yNDIyNyAxLjE4NTYtMy4zMjQ3NCAzLjYzNC0zLjMyNDc0IDIuNjAzMSAwIDMuNjM0MSAxLjI4ODY2IDMuNDI3OSA0LjM1NTY0bC0yLjM5NjkuMTAzMWMtLjAyNTgtMS45MDcxOS0uMjgzNS0yLjQ0ODQzLTEuMDgyNS0yLjQ0ODQzLS43NzMyIDAtMS4xMDgzLjM4NjYtMS4xMDgzIDEuMDgyNDcgMCAuOTc5MzguNTY3MSAxLjQ0MzI2IDEuNDk0OSAyLjExMzM2IDIuMjE2NSAxLjY0OTUgMy4yNDc0IDIuNDc0MyAzLjI0NzQgNC41MzYxIDAgMi4yNjgxLTEuMjg4NyAzLjQwMjEtMy43MzcxIDMuNDAyMS0yLjc4MzUtLjAyNTgtMy44MTQ0LTEuNTQ2NC0zLjQ1MzYtNC4xNDk1WiIsCmZpbGw6IiNmZmYifSkpLF8uSygiZyIse3RyYW5zZm9ybToidHJhbnNsYXRlKDAsIDApIn0sXy5LKCJwYXRoIix7ZDoiTTE4LjQ1IDguODUxYzEuOTA0LTEuMDY2IDIuNTQxLTMuNCAxLjQyMi01LjIxNC0xLjExOS0xLjgxNC0zLjU3LTIuNDItNS40NzUtMS4zNTVMNS41NSA3LjI0N2MtMS4yOS43MjItMi4wNDkgMi4wNjktMS45NjggMy40OTEuMDgxIDEuNDIzLjk4OSAyLjY4MyAyLjM1MyAzLjI2OGwuOTQyLjQwNC0xLjMyNy43NDJjLTEuOTA0IDEuMDY2LTIuNTQxIDMuNC0xLjQyMiA1LjIxNCAxLjExOSAxLjgxNCAzLjU3IDIuNDIxIDUuNDc1IDEuMzU1bDguODQ3LTQuOTY1YzEuMjktLjcyMiAyLjA0OS0yLjA2OCAxLjk2OC0zLjQ5LS4wODEtMS40MjMtLjk4OS0yLjY4NC0yLjM1My0zLjI2OWwtLjk0Mi0uNDAzIDEuMzI3LS43NDNaTTEwIDE0LjU2N2EuMjUuMjUgMCAwMC4zNzQuMjE3bDQuNDUtMi41NjdhLjI1LjI1IDAgMDAwLS40MzNsLTQuNDUtMi41NjdhLjI1LjI1IDAgMDAtLjM3NC4yMTZ2NS4xMzRaIiwKImZpbGwtcnVsZSI6ImV2ZW5vZGQiLGZpbGw6IiNmZmYifSkpKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC93YXRlcm1hcmsvdjIvMTEwcHguc3ZnIl09Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix2aWV3Qm94OiIwIDAgMTEwIDI2Iix2ZXJzaW9uOiIxLjEiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInhtbG5zOnhsaW5rIjoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhtbG5zOnl0IjoiaHR0cDovL3d3dy55b3V0dWJlLmNvbSJ9LF8uSygicGF0aCIse2lkOiJ5dHAtc3ZnLXdhdGVybWFyayIsZDoiTSAxNi42ODcwMDYsMC45OTk5ODUyNCBDIDEzLjU1MTA2OSwxLjAzMjc5NzIgNy4wMjQ1MTE0LDEuMTYyNDg1MiA0Ljk5OTUxMjYsMS42ODc0ODUyIGMgLTEuNDk5OTk5MSwwLjQgLTIuNTk5OTk4NCwxLjYgLTIuOTk5OTk4MiwzIC0wLjY5OTk5OTUsMi43IC0wLjY4NzQ5OTUsOC4zMTI0OTk4IC0wLjY4NzQ5OTUsOC4zMTI0OTk4IDAsMCAtMC4wMTI1LDUuNjEyNSAwLjY4NzQ5OTUsOC4zMTI1IDAuMzk5OTk5OCwxLjUgMS41OTk5OTkxLDIuNiAyLjk5OTk5ODIsMyAyLjY5OTk5ODQsMC43IDEzLjQwNjI0MjQsMC42ODc1IDEzLjQwNjI0MjQsMC42ODc1IDAsMCAxMC43MDYyNDMsMC4wMTI1IDEzLjQwNjI0MSwtMC42ODc1IDEuNSwtMC40IDIuNTk5OTk5LC0xLjYgMi45OTk5OTksLTMgMC42OTk5OTksLTIuNyAwLjY4NzQ5OSwtOC4zMTI1IDAuNjg3NDk5LC04LjMxMjUgMCwwIDAuMTEyNSwtNS42MTI0OTk4IC0wLjY4NzQ5OSwtOC4zMTI0OTk4IC0wLjQsLTEuNSAtMS41OTk5OTksLTIuNiAtMi45OTk5OTksLTMgQyAyOS4xMTE5OTgsMC45ODc0ODUyNCAxOC40MDU3NTUsMC45OTk5ODUyNCAxOC40MDU3NTUsMC45OTk5ODUyNCBjIDAsMCAtMC42NzM0MzcsLTAuMDEwOTM4IC0xLjcxODc0OSwwIHogbSA3Mi4yMTg3MDYsMC45MDYyNDk5NiAwLDIxLjI4MTI0OTggMi43ODEyNDgsMCAwLjMxMjUsLTEuMzc1IDAuMDkzNzUsMCBjIDAuMywwLjUgMC43MTg3NSwwLjg4NzUgMS4yMTg3NDksMS4xODc1IDAuNSwwLjMgMS4wODc1LDAuNDA2MjUgMS42ODc0OTksMC40MDYyNSAxLjEsMCAxLjk5OTk5OSwtMC40OTM3NSAyLjQ5OTk5OSwtMS41OTM3NSAwLjUsLTEuMSAwLjgxMjQ5OSwtMi43MDYyNSAwLjgxMjQ5OSwtNC45MDYyNSBsIDAsLTIuNDA2MjUgYyAwLC0xLjYgLTAuMTEyNSwtMi45MDYyNSAtMC4zMTI0OTksLTMuOTA2MjUgLTAuMiwtMC44OTk5OTk5IC0wLjUsLTEuNTkzNzQ5OSAtMSwtMi4wOTM3NDk5IC0wLjUsLTAuNCAtMS4xMDYyNDksLTAuNTkzNzQ5OSAtMS45MDYyNDksLTAuNTkzNzQ5OSAtMC41OTk5OTksMCAtMS4xODc0OTksMC4xOTk5OTk5IC0xLjY4NzQ5OSwwLjQ5OTk5OTkgLTAuNDk5OTk5LDAuMyAtMS4wMTg3NDksMC44MDYyNSAtMS4yMTg3NDksMS40MDYyNSBsIDAsLTcuOTA2MjQ5OSAtMy4yODEyNDgsMCB6IG0gLTQ5Ljk5OTk3LDAuNzgxMjUgMy45MDYyNDgsMTMuOTA2MjQ5OCAwLjE4NzUsNi43MTg3NSAzLjMxMjQ5OCwwIDAsLTYuNzE4NzUgMy44NzQ5OTcsLTEzLjkwNjI0OTggLTMuMzc0OTk4LDAgLTEuNDA2MjQ5LDYuMzEyNDk5OSBjIC0wLjQsMS44OTk5OTk5IC0wLjcxMjQ5OSwzLjE5OTk5OTkgLTAuODEyNDk5LDMuOTk5OTk5OSBsIC0wLjA5Mzc1LDAgYyAtMC4yLC0xLjEgLTAuNTEyNSwtMi40IC0wLjgxMjUsLTMuOTk5OTk5OSBsIC0xLjM3NDk5OSwtNi4zMTI0OTk5IC0zLjQwNjI0OCwwIHogbSAyOS41OTM3MzIsMCAwLDIuNzE4NzUgMy40MDYyNDgsMCAwLDE3LjkwNjI0OTggMy4yODEyNDgsMCAwLC0xNy45MDYyNDk4IDMuNDA2MjQ4LDAgYyAwLDAgMC4wMDYyLC0yLjcxODc1IC0wLjA5Mzc1LC0yLjcxODc1IGwgLTkuOTk5OTk0LDAgeiBtIC01My40OTk5NjcsNS4xMjUgOC45MDYyNDQsNS4xODc0OTk4IC04LjkwNjI0NCw1LjA5Mzc1IDAsLTEwLjI4MTI0OTggeiBtIDg5LjQwNjE5MywwLjA5Mzc1IGMgLTEuNywwIC0yLjg5Mzc1LDAuNTkzNzQ5OSAtMy41OTM3NSwxLjU5Mzc0OTkgLTAuNjk5OTksMC45OTk5OTk5IC0wLjk5OTk5NSwyLjYwNjI0OTkgLTAuOTk5OTk1LDQuOTA2MjQ5OSBsIDAsMi41OTM3NSBjIDAsMi4yIDAuMzAwMDA1LDMuOTA2MjUgMC45OTk5OTUsNC45MDYyNSAwLjcsMS4xIDEuOCwxLjU5Mzc1IDMuNSwxLjU5Mzc1IDEuNCwwIDIuMzg3NSwtMC4zIDMuMTg3NSwtMSAwLjcsLTAuNyAxLjA5Mzc1LC0xLjY5Mzc1IDEuMDkzNzUsLTMuMDkzNzUgbCAwLC0wLjUgLTIuOTA2MjUsLTAuMjE4NzUgYyAwLDEgLTAuMDgxMiwxLjYgLTAuMjgxMjUsMiAtMC4xLDAuNCAtMC41LDAuNjI1IC0xLDAuNjI1IC0wLjMsMCAtMC42MTI1LC0wLjExMjUgLTAuODEyNSwtMC4zMTI1IC0wLjIsLTAuMyAtMC4zMDYyNSwtMC41OTM3NSAtMC40MDYyNSwtMS4wOTM3NSAtMC4xLC0wLjUgLTAuMDkzNywtMS4yMTg3NSAtMC4wOTM3LC0yLjIxODc1IGwgMCwtMC43ODEyNSA1LjcxODc1LC0wLjA5Mzc1IDAsLTIuNjI1IGMgMCwtMS42IC0wLjEwNjI1LC0yLjc4NzUgLTAuNDA2MjUsLTMuNjg3NSAtMC4yLC0wLjg5OTk5OTkgLTAuNzEyNSwtMS41OTk5OTk5IC0xLjMxMjUsLTEuOTk5OTk5OSAtMC43LC0wLjQgLTEuNDg3NSwtMC41OTM3NDk5IC0yLjY4NzUsLTAuNTkzNzQ5OSB6IG0gLTUwLjQ5OTk2NywwLjA5Mzc1IGMgLTEuMDk5OTk5LDAgLTIuMDE4NzQ5LDAuMTg3NDk5OSAtMi43MTg3NDgsMC42ODc0OTk5IC0wLjcsMC40IC0xLjIsMS4xMjUgLTEuNDk5OTk5LDIuMTI0OTk5OSAtMC4zLDEgLTAuNSwyLjI3NSAtMC41LDMuODc1IGwgMCwyLjIxODc1IGMgMCwxLjUgMC4xMDYyNSwyLjc4MTI1IDAuNDA2MjUsMy43ODEyNSAwLjIsMC45IDAuNzA2MjQ5LDEuNjI1IDEuNDA2MjQ5LDIuMTI1IDAuNjk5OTk5LDAuNSAxLjcxMjQ5OSwwLjY4MTI1IDIuODEyNDk4LDAuNzgxMjUgMS4xOTk5OTksMCAyLjA4MTI0OSwtMC4yODc1IDIuNzgxMjQ5LC0wLjY4NzUgMC42OTk5OTksLTAuNCAxLjA5OTk5OSwtMS4wOTM3NSAxLjQ5OTk5OSwtMi4wOTM3NSAwLjM5OTk5OSwtMSAwLjQ5OTk5OSwtMi4zMDYyNSAwLjQ5OTk5OSwtMy45MDYyNSBsIDAsLTIuMjE4NzUgYyAwLC0xLjYgLTAuMiwtMi44NzUgLTAuNDk5OTk5LC0zLjg3NSAtMC4zLC0wLjg5OTk5OTkgLTAuOCwtMS42MjQ5OTk5IC0xLjQ5OTk5OSwtMi4xMjQ5OTk5IC0wLjcsLTAuNSAtMS41ODc1LC0wLjY4NzQ5OTkgLTIuNjg3NDk5LC0wLjY4NzQ5OTkgeiBtIDEyLjE4NzQ5MywwLjA5Mzc1IDAsMTEuOTA2MjQ5OCBjIC0wLjEsMC4zIC0wLjI5Mzc1LDAuNDg3NSAtMC41OTM3NSwwLjY4NzUgLTAuMiwwLjIgLTAuNTEyNSwwLjMxMjUgLTAuODEyNDk5LDAuMzEyNSAtMC4zLDAgLTAuNTg3NSwtMC4xMDYyNSAtMC42ODc1LC0wLjQwNjI1IC0wLjEsLTAuMyAtMC4xODc1LC0wLjcwNjI1IC0wLjE4NzUsLTEuNDA2MjUgbCAwLC0xMC45OTk5OTk4IC0zLjQwNjI0OCwwIDAsMTEuMjE4NzQ5OCBjIDAsMS40IDAuMTg3NSwyLjM5Mzc1IDAuNjg3NSwzLjA5Mzc1IDAuNDk5OTk5LDAuNyAxLjIxODc0OSwxIDIuMjE4NzQ4LDEgMS40LDAgMi40ODc0OTksLTAuNjkzNzUgMy4xODc0OTksLTIuMDkzNzUgbCAwLjA5Mzc1LDAgMC4zMTI1LDEuNzgxMjUgMi41OTM3NDksMCAwLC0xNC45OTk5OTk4IGMgMCwwIC0zLjQwNjI0OCwwLjAwNjIgLTMuNDA2MjQ4LC0wLjA5Mzc1IHogbSAxNy4zMTI0ODksMCAwLDExLjkwNjI0OTggYyAtMC4xLDAuMyAtMC4yOTM3NDksMC40ODc1IC0wLjU5Mzc0OSwwLjY4NzUgLTAuMiwwLjIgLTAuNTEyNSwwLjMxMjUgLTAuODEyNSwwLjMxMjUgLTAuMywwIC0wLjU4NzQ5OSwtMC4xMDYyNSAtMC42ODc0OTksLTAuNDA2MjUgLTAuMSwtMC4zIC0wLjIxODc1LC0wLjcwNjI1IC0wLjIxODc1LC0xLjQwNjI1IGwgMCwtMTAuOTk5OTk5OCAtMy40MDYyNDgsMCAwLDExLjIxODc0OTggYyAwLDEuNCAwLjIxODc1LDIuMzkzNzUgMC43MTg3NDksMy4wOTM3NSAwLjUsMC43IDEuMTg3NSwxIDIuMTg3NDk5LDEgMS4zOTk5OTksMCAyLjUxODc0OSwtMC42OTM3NSAzLjIxODc0OCwtMi4wOTM3NSBsIDAuMDkzNzUsMCAwLjI4MTI1LDEuNzgxMjUgMi42MjQ5OTgsMCAwLC0xNC45OTk5OTk4IGMgMCwwIC0zLjQwNjI0OCwwLjAwNjIgLTMuNDA2MjQ4LC0wLjA5Mzc1IHogbSAyMC45MDYyMzUsMi4wOTM3NDk4IGMgMC40LDAgMC41ODEyNSwwLjExMjUgMC43ODEyNSwwLjMxMjUgMC4yLDAuMyAwLjMwNjI1LDAuNTkzNzUgMC40MDYyNSwxLjA5Mzc1IDAuMSwwLjUgMC4wOTM3LDEuMjE4NzUgMC4wOTM3LDIuMjE4NzUgbCAwLDEuMDkzNzUgLTIuNSwwIDAsLTEuMDkzNzUgYyAwLC0xIC0wLjAwNiwtMS43MTg3NSAwLjA5MzcsLTIuMjE4NzUgMCwtMC40IDAuMTEyNSwtMC44IDAuMzEyNSwtMSAwLjIsLTAuMyAwLjUxMjUsLTAuNDA2MjUgMC44MTI1LC0wLjQwNjI1IHogbSAtNTAuNDk5OTY3LDAuMTI1IGMgMC41LDAgMC44LDAuMTg3NSAxLDAuNjg3NSAwLjE5OTk5OSwwLjUgMC4yODEyNDksMS4zMDYyNSAwLjI4MTI0OSwyLjQwNjI1IGwgMCw0LjY4NzUgYyAwLDEuMSAtMC4wODEyNSwxLjkwNjI1IC0wLjI4MTI0OSwyLjQwNjI1IC0wLjIsMC41IC0wLjUsMC42ODc1IC0xLDAuNjg3NSAtMC41LDAgLTAuNzk5OTk5LC0wLjE4NzUgLTAuOTk5OTk5LC0wLjY4NzUgLTAuMiwtMC41IC0wLjMxMjUsLTEuMzA2MjUgLTAuMzEyNSwtMi40MDYyNSBsIDAsLTQuNjg3NSBjIDAsLTEuMSAwLjExMjUsLTEuOTA2MjUgMC4zMTI1LC0yLjQwNjI1IDAuMiwtMC41IDAuNDk5OTk5LC0wLjY4NzUgMC45OTk5OTksLTAuNjg3NSB6IG0gMzkuNjg3NDc2LDAuMDkzNzUgYyAwLjMsMCAwLjYxMjUsMC4xMDYyNSAwLjgxMjUsMC40MDYyNSAwLjIsMC4zIDAuMjc1LDAuNjc1IDAuMzc1LDEuMzc1IDAuMSwwLjYgMC4xMjQ5OTksMS41MTg3NSAwLjEyNDk5OSwyLjcxODc1IGwgMC4wOTM3NSwxLjkwNjI1IGMgMCwxLjEgMC4wMDYyLDEuOTkzNzUgLTAuMDkzNzUsMi41OTM3NSAtMC4xLDAuNiAtMC4xOTk5OTksMS4wODEyNSAtMC40OTk5OTksMS4yODEyNSAtMC4yLDAuMyAtMC41MDYyNSwwLjQwNjI1IC0wLjkwNjI1LDAuNDA2MjUgLTAuMywwIC0wLjUxMjQ5OSwtMC4wODc1IC0wLjgxMjQ5OSwtMC4xODc1IC0wLjIsLTAuMSAtMC4zOTM3NSwtMC4yOTM3NSAtMC41OTM3NSwtMC41OTM3NSBsIDAsLTguNSBjIDAuMSwtMC40IDAuMjkzNzUsLTAuNyAwLjU5Mzc1LC0xIDAuMywtMC4zIDAuNjA2MjQ5LC0wLjQwNjI1IDAuOTA2MjQ5LC0wLjQwNjI1IHoiLApjbGFzczoieXRwLXN2Zy1maWxsIixmaWxsOiIjZmZmIn0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC95b3V0dWJlX3Nob3J0c19icmFuZF8yNC92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix3aWR0aDoiMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCJ9LF8uSygicGF0aCIse2Q6Im0xOS40NSwzLjg4YzEuMTIsMS44Mi40OCw0LjE1LTEuNDIsNS4yMmwtMS4zMi43NC45NC40MWMxLjM2LjU4LDIuMjcsMS44NSwyLjM1LDMuMjcuMDgsMS40My0uNjgsMi43Ny0xLjk3LDMuNDlsLTgsNC40N2MtMS45MSwxLjA2LTQuMzUuNDYtNS40OC0xLjM1LTEuMTItMS44Mi0uNDgtNC4xNSwxLjQyLTUuMjJsMS4zMy0uNzQtLjk0LS40MWMtMS4zNi0uNTgtMi4yNy0xLjg1LTIuMzUtMy4yNy0uMDgtMS40My42OC0yLjc3LDEuOTctMy40OWw4LTQuNDdjMS45MS0xLjA2LDQuMzUtLjQ2LDUuNDgsMS4zNVoiLApmaWxsOiIjZjAzIn0pLF8uSygicGF0aCIse2Q6Im0xMCwxNWw1LTMtNS0zdjZaIixmaWxsOiIjZmZmIn0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC95b3V0dWJlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHZpZXdCb3g6IjAgMCA2NyA2MCIsZmlsbDoiIn0sXy5LKCJwYXRoIix7ZDoiTTYzIDE0Ljg3YTcuODg1IDcuODg1IDAgMDAtNS41Ni01LjU2QzUyLjU0IDggMzIuODggOCAzMi44OCA4UzEzLjIzIDggOC4zMiA5LjMxYy0yLjcuNzItNC44MyAyLjg1LTUuNTYgNS41NkMxLjQ1IDE5Ljc3IDEuNDUgMzAgMS40NSAzMHMwIDEwLjIzIDEuMzEgMTUuMTNjLjcyIDIuNyAyLjg1IDQuODMgNS41NiA1LjU2QzEzLjIzIDUyIDMyLjg4IDUyIDMyLjg4IDUyczE5LjY2IDAgMjQuNTYtMS4zMWMyLjctLjcyIDQuODMtMi44NSA1LjU2LTUuNTZDNjQuMzEgNDAuMjMgNjQuMzEgMzAgNjQuMzEgMzBzMC0xMC4yMy0xLjMxLTE1LjEzeiJ9KSwKXy5LKCJwYXRoIix7ZmlsbDoiI0ZGRiIsY2xhc3M6ImxvZ28tYXJyb3ciLGQ6Ik0yNi42IDM5LjQzTDQyLjkzIDMwIDI2LjYgMjAuNTd6In0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfb3V0bGluZS9mdWxsc2NyZWVuX2V4aXQvdjEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTAsMTBINlY5aDNWNmgxVjEweiBNMTgsOWgtM1Y2aC0xdjRoNFY5eiBNMTUsMTVoM3YtMWgtNHY0aDFWMTV6IE0xMCwxNEg2djFoM3YzaDFWMTR6In0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfb3V0bGluZS9mdWxsc2NyZWVuL3YxLzI0cHguc3ZnIl09Cl8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik03LDExSDZWNmg1djFIN1YxMXogTTE4LDZoLTV2MWg0djRoMVY2eiBNMTgsMTNoLTF2NGgtNHYxaDVWMTN6IE0xMSwxN0g3di00SDZ2NWg1VjE3eiJ9KSk7cmV0dXJuIGF9O2xxYT1mdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoRW5hKCkpfTttcWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gc1koImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIvIixhLGIpfTsKY3FhPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5pZGVudGlmaWVyLGQ9Yi5JaixlPWIuZXh0cmFzLGY9Yi50YXJnZXQsaD1iLlBtO2I9Yi5uQTtkJiZhd2FpdCBWWShhLHtpZGVudGlmaWVyOmMsSWo6ZCx0bjohMSxleHRyYXM6ZSxQbTpofSk7YXdhaXQgYS5pc1Zpc2libGUoYyl8fChhPWF3YWl0IFpvYShhLGMpLF8uWE0oImVuZ2FnZW1lbnQtcGFuZWwtcHVzaCIse2lkZW50aWZpZXI6Yyx3ejphLExKOmYsbkE6Yn0pLGMmJl8ub00oKS5kaXNwYXRjaChfLmtBKHt0eXBlOiJNQUlOX0FQUF9BRERfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIixwYXlsb2FkOnt4ejpjfX0pKSl9O1ZZPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5pZGVudGlmaWVyLGQ9Yi5JajtiPWIuUG07YyYmKGQmJmEuT20uc2V0KGMsZCksXy5YTSgiZW5nYWdlbWVudC1wYW5lbC11cGRhdGUiLHtpZGVudGlmaWVyOmMsd3o6ZCxQbTpifSkpfTsKdHFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8ueSgpO25xYSgpO18uSnooYix7amE6Xy5MeCxNYjpvcWF9KTtfLkp6KGIse2phOl8ubEYsTWI6Xy53KCJIVE1MX0RJUiIpPT09InJ0bCI/InJ0bCI6Imx0ciJ9KTtfLkp6KGIse2phOl8ua0YsTWI6KCk9PiEwfSk7Xy5KeihiLHtqYTpfLm1PLFBhOllZfSk7Xy5KeihiLHtqYTpfLlhMLFBhOlpZfSk7Xy5KeihiLHtqYTpfLm9PLE1iOmtxYX0pO18uSnooYix7amE6Xy5MRCxNYjpfLnVPfSk7Xy5KeihiLHtqYTpfLmNMLFBhOnBxYX0pO18uSnooYix7amE6Xy5iSSxXYzpfLm9NfSk7Xy5KeihiLHtqYTpfLnlQLE1iOm5ldyBxcWF9KTtfLkp6KGIse2phOl8udlAsTWI6e1Z1OiEwLEN4OiEwfX0pO18uSnooYix7amE6Xy5KSCxXYzooKT0+UHJvbWlzZS5yZXNvbHZlKGEpfSk7Xy5KeihiLHtqYTpfLktILFdjOigpPT4oKT0+YX0pO18uSnooYix7amE6JFksUGE6YVp9KTtfLkp6KGIse2phOl8uYkwsUGE6cnFhfSk7Xy5KeihiLHtqYTpfLk9XLFdjOl8uaHh9KTsKXy5KeihiLHtqYTpfLmJNLE1iOl8uTE99KTtpZihfLngoIndlYl9lbmFibGVfcmVuZGVyZXJfbG9nZ2VyIikpe2xldCBjPW5ldyBEWDtfLk5NKHdpbmRvdywibmF2aWdhdGUiLCgpPT57Yy5hYm9ydCgpfSk7Xy5KeihiLHtqYTpfLkNHLE1iOm5ldyBzcWEoYy5zaWduYWwpfSl9fTtucWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKSxiPWEucmVzb2x2ZShfLkl5KTtfLkd5Lm1hcHBpbmdzLnNldChTVy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSk7Xy5KeihhLHtqYTpfLkh5LE1iOmxxYX0pfTt6WD1mdW5jdGlvbigpe3ZhciBhPXt9LGI9Xy5WdygpO2ImJihhLmRlc3RpbmF0aW9uU2NyZWVuPWIuZ2V0QXNKc29uKCkudmVUeXBlfHx2b2lkIDApO2EubmF2VHlwZT0iU0xJX05BVl9UWVBFX0NPTEQiO2EuYWN0aW9uVHlwZT0iTEFURU5DWV9BQ1RJT05fRU1CRUQiO3JldHVybntuYXZpZ2F0aW9uOmF9fTsKdXFhPWZ1bmN0aW9uKGEsYj17fSl7cmV0dXJue3R5cGU6Mixjb21tYW5kOmEsZm9ybTpiLmZvcm19fTsKXy5iWj1mdW5jdGlvbihhKXtfLkFxKCJlcF9pbml0X2lqcyIpO3RxYShhKTt2YXIgYj1kb2N1bWVudC5ib2R5O2lmKCFiKXRocm93IEVycm9yKCJpZSIpO2I9bmV3IHZxYSh7cm9vdDpiLHBKOl8ueSgpfSk7Yi5pbnN0YWxsKHdxYSk7Yi50cmFuc2l0aW9uKCJpbml0aWFsaXplZCIpO18uQXEoImVwX2luaXRfaWplIik7Xy54KCJlbWJlZHNfdHJhY2luZ19rcyIpfHxwcGEoKTtfLllNPSEwOyhfLk1rKCJpZW1vYmlsZSIpfHxfLk1rKCJ3aW5kb3dzIHBob25lIikmJl8uTWsoImVkZ2UiKSkmJl8uTWsoIjsgdmlydHVhbCIpfHwoWG9hKGEpLG5vYSgpKTtxb2EoYSk7RVk9YTtqcWEoYSk7YT0hXy54KCJtd2ViX2NvbW1hbmRfaGFuZGxlcl9zY3JlZW5fbWFuYWdlcl9raWxsc3dpdGNoIik7Yj1bXy5RVyxfLlV6LF8uQ3ldO0pvYShfLngoIm13ZWJfY29tbWFuZF9oYW5kbGVyX2Rpc2FibGVfYnVpbGRfY29tbWFuZF9wYXlsb2FkX3N0dWIiKT91cWE6dm9pZCAwLGE/Xy5oeCgpOnZvaWQgMCxhLAphLGIpO18uSnooXy55KCkse2phOl8uVUQsTWI6TFguaW5zdGFuY2V9KTtpb2EoKTtGcGEoKX07V1c9W107RG9hPXtnSDoiU0xJX1NUQVRVU19VTktOT1dOIixlSDoiU0xJX1NUQVRVU19TVUNDRVNTIixjSDoiU0xJX1NUQVRVU19GQUlMVVJFIixmSDoiU0xJX1NUQVRVU19USU1FT1VUIixhSDoiU0xJX1NUQVRVU19BQk9SVEVEIixiSDoiU0xJX1NUQVRVU19DQU5DRUxMRUQiLGRIOiJTTElfU1RBVFVTX1JFSkVDVEVEIn07Y1o9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50cz1uZXcgTWFwfWNsZWFyKCl7dGhpcy5ldmVudHMuY2xlYXIoKX19OwpLbmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLkQ9bmV3IHhxYTt0aGlzLnY9bmV3IGNaO3RoaXMuQj1uZXcgY1o7dGhpcy5vPTA7dGhpcy5mbHVzaEludGVydmFsPTNFNDt0aGlzLmo9bmV3IF8uankodGhpcy5mbHVzaEludGVydmFsKTt0aGlzLmoubGlzdGVuKCJ0aWNrIix0aGlzLmZsdXNoLCExLHRoaXMpfWZsdXNoKCl7aWYodGhpcy5vKXt2YXIgYT17bG9nZ2VkRXZlbnRzOllXKHRoaXMudiksdW5sb2dnZWRFdmVudHM6WVcodGhpcy5CKX07aWYoXy54KCJleHBvcnRfcGxheWVyX3ZlcnNpb25fdG9feXRjb25maWciKSl7dmFyIGI7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSk/KGI9Yi5zcGxpdCgiLSIpWzBdLnJlcGxhY2UoL1wuL2csIiIpLGI9aXNOYU4oTnVtYmVyKGIpKT8iMCI6Yik6Yj0iIjt2YXIgYz1fLncoIlBMQVlFUl9DTElFTlRfVkVSU0lPTiIpO2lmKGMpe2M9Yy5zcGxpdCgiLSIpO2xldCBkPSIiO2MubGVuZ3RoPjEmJihkPWNbYy5sZW5ndGgtMV0pO2M9CkpuYShkLnN0YXJ0c1dpdGgoImNhbmFyeV9leHBlcmltZW50Iik/ImNhbmFyeSI6ZC5zdGFydHNXaXRoKCJjYW5hcnlfY29udHJvbCIpPyJjb250cm9sIjoibm9uZSIpfWVsc2UgYz0iQ0xJRU5UX0NBTkFSWV9TVEFURV9VTktOT1dOIjthLmRpbWVuc2lvbnM9e3BsYXllckNsaWVudFZlcnNpb246YixwbGF5ZXJDYW5hcnlTdGF0ZTpjfX10aGlzLkQuZmx1c2goYSk7dGhpcy52LmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vPTA7dGhpcy5qLmVuYWJsZWQmJnRoaXMuai5zdG9wKCl9fX07eHFhPWNsYXNze2ZsdXNoKGEsYil7Xy54KCJlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nIikmJl8uRXAoInNsaUV2ZW50QmF0Y2giLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6ISFifSl9fTtkWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwplWj1jbGFzcyBleHRlbmRzIGRae2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLmouZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKGEpe3RoaXMuai5lbnRpdHlNZXRhZGF0YT1hfX07eXFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTt6cWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmoucGxheWxpc3QmJmEucHVzaCh0aGlzLmoucGxheWxpc3QpO3RoaXMuai52aWRlb0l0ZW0mJmEucHVzaCh0aGlzLmoudmlkZW9JdGVtKTt0aGlzLmoucGxheWxpc3RJdGVtJiZhLnB1c2godGhpcy5qLnBsYXlsaXN0SXRlbSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTsKQXFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfX07QnFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJmEucHVzaCguLi4obmV3IEFxYSh0aGlzLmoucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkubygpKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O0NxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19OwpEcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLmNyZWF0b3JFbnRpdHkmJmEucHVzaCh0aGlzLmouY3JlYXRvckVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTtmWj0hMTsKRXFhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuY291bnRlcj1bMCwwLDAsMF07dGhpcy5vPW5ldyBVaW50OEFycmF5KDE2KTt0aGlzLmo9MTY7aWYoIWZaKXt2YXIgYixjPW5ldyBVaW50OEFycmF5KDI1NiksZD1uZXcgVWludDhBcnJheSgyNTYpO3ZhciBlPTE7Zm9yKGI9MDtiPDI1NjtiKyspY1tlXT1iLGRbYl09ZSxlXj1lPDwxXihlPj43JiYyODMpO2dYPW5ldyBVaW50OEFycmF5KDI1Nik7Y1g9YlgoMjU2KTtkWD1iWCgyNTYpO2VYPWJYKDI1Nik7Zlg9YlgoMjU2KTtmb3IobGV0IGg9MDtoPDI1NjtoKyspe2U9aD9kWzI1NV5jW2hdXTowO2VePWU8PDFeZTw8Ml5lPDwzXmU8PDQ7ZT1lJjI1NV5lPj4+OF45OTtnWFtoXT1lO2I9ZTw8MV4oZT4+NyYmMjgzKTt2YXIgZj1iXmU7Y1hbaF09Yjw8MjR8ZTw8MTZ8ZTw8OHxmO2RYW2hdPWY8PDI0fGNYW2hdPj4+ODtlWFtoXT1lPDwyNHxkWFtoXT4+Pjg7ZlhbaF09ZTw8MjR8ZVhbaF0+Pj44fWZaPQohMH1lPWJYKDQ0KTtmb3IoYz0wO2M8NDtjKyspZVtjXT1hWzQqY108PDI0fGFbNCpjKzFdPDwxNnxhWzQqYysyXTw8OHxhWzQqYyszXTtmb3IoZD0xO2M8NDQ7YysrKWE9ZVtjLTFdLGMlNHx8KGE9KGdYW2E+PjE2JjI1NV1eZCk8PDI0fGdYW2E+PjgmMjU1XTw8MTZ8Z1hbYSYyNTVdPDw4fGdYW2E+Pj4yNF0sZD1kPDwxXihkPj43JiYyODMpKSxlW2NdPWVbYy00XV5hO3RoaXMua2V5PWV9ZW5jcnlwdChhKXt2YXIgYj1hLmxlbmd0aDthPW5ldyBVaW50OEFycmF5KGEuYnVmZmVyLnNsaWNlKGEuYnl0ZU9mZnNldCxhLmJ5dGVPZmZzZXQrYikpO2Zvcih2YXIgYz10aGlzLm8sZD0wO2Q8YiYmdGhpcy5qPDE2OylhW2QrK11ePWNbdGhpcy5qKytdO2Zvcih2YXIgZT1iLShiLWQpJTE2O2Q8ZTspaFgodGhpcyksYVtkKytdXj1jWzBdLGFbZCsrXV49Y1sxXSxhW2QrK11ePWNbMl0sYVtkKytdXj1jWzNdLGFbZCsrXV49Y1s0XSxhW2QrK11ePWNbNV0sYVtkKytdXj1jWzZdLGFbZCsrXV49Y1s3XSwKYVtkKytdXj1jWzhdLGFbZCsrXV49Y1s5XSxhW2QrK11ePWNbMTBdLGFbZCsrXV49Y1sxMV0sYVtkKytdXj1jWzEyXSxhW2QrK11ePWNbMTNdLGFbZCsrXV49Y1sxNF0sYVtkKytdXj1jWzE1XTtpZihkPGIpZm9yKGhYKHRoaXMpLHRoaXMuaj0wO2Q8YjspYVtkKytdXj1jW3RoaXMuaisrXTtyZXR1cm4gYX19O2daPSExO0ZxYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMudj1hO3RoaXMubz1ifWFzeW5jIGVuY3J5cHQoYSxiKXt0cnl7cmV0dXJuIGF3YWl0IE5uYSh0aGlzLGEsYil9Y2F0Y2goYyl7dGhyb3cgXy5JcChjKSxnWj0hMCxjO319fTsKaVo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWF9ZW5jcnlwdChhLGIpe3RoaXMuanx8KHRoaXMuaj1uZXcgRXFhKHRoaXMubykpO3ZhciBjPXRoaXMuajtmb3IobGV0IGQ9MDtkPDQ7ZCsrKWMuY291bnRlcltkXT1iW2QqNF08PDI0fGJbZCo0KzFdPDwxNnxiW2QqNCsyXTw8OHxiW2QqNCszXTtjLmo9MTY7cmV0dXJuIHRoaXMuai5lbmNyeXB0KGEpfWRlY3J5cHQoYSxiKXtyZXR1cm4gdGhpcy5lbmNyeXB0KGEsYil9fTsKR3FhPWNsYXNze2NvbnN0cnVjdG9yKGEpe2E6e2lmKCFnWiYmIV8uSmwpe2lmKGhaKXt2YXIgYj1oWjticmVhayBhfWhaPXdpbmRvdy5jcnlwdG8/LnN1YnRsZTtpZihoWj8uaW1wb3J0S2V5JiZoWj8uc2lnbiYmaFo/LmVuY3J5cHQpe2I9aFo7YnJlYWsgYX1oWj12b2lkIDB9Yj12b2lkIDB9YiYmKHRoaXMuaj1uZXcgRnFhKGEsYikpO3RoaXMubz1uZXcgaVooYSl9YXN5bmMgZW5jcnlwdChhLGIpe2lmKHRoaXMuail0cnl7cmV0dXJuIGF3YWl0IHRoaXMuai5lbmNyeXB0KGEsYil9Y2F0Y2goYyl7Xy5JcChjKSxnWj0hMCx0aGlzLmo9dm9pZCAwfXJldHVybiB0aGlzLm8uZW5jcnlwdChhLGIpfWRlY3J5cHQoYSxiKXtyZXR1cm4gdGhpcy5lbmNyeXB0KGEsYil9fTsKSHFhPXtJTlZBTElEX0VOQ09ERVJfVkVSU0lPTjoiSW52YWxpZCBlbmNvZGVyIHZlcnNpb24iLEtFWV9DUkVBVElPTl9GQUlMRUQ6IkZhaWxlZCB0byBjcmVhdGUgZW5jb2RlciBrZXkiLFVOS05PV05fREVDT0RFX0VSUk9SOiJGYWlsZWQgdG8gZGVjb2RlIFBFUyBkYXRhIixVTktOT1dOX0VOQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGVuY29kZSBQRVMgZGF0YSIsV1JPTkdfREFUQV9UWVBFOiJFbmNvZGVyIGNhbm5vdCBwcm9jZXNzIHRoZSBkYXRhIHR5cGUifTtpWD1jbGFzcyBleHRlbmRzIF8uWGp7Y29uc3RydWN0b3IoYSxiPXt9KXtzdXBlcihIcWFbYV0se25hbWU6IlBFU0VuY29kZXJFcnJvciIsdHlwZTphLC4uLmJ9KTt0aGlzLnR5cGU9YTt0aGlzLmxldmVsPSJXQVJOSU5HIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxpWC5wcm90b3R5cGUpfX07CmpaPWNsYXNze2VuY29kZShhLGIpe3RyeXtyZXR1cm4gdGhpcy52KGEsYil9Y2F0Y2goYyl7algoYyxPbmEpfX1kZWNvZGUoYSxiKXt0cnl7cmV0dXJuIHRoaXMubyhhLGIpfWNhdGNoKGMpe2pYKGMsUG5hKX19fTtJcWE9Y2xhc3MgZXh0ZW5kcyBqWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfXYoYSxiKXtiPWtYKGIpO2E9KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGEpKTtyZXR1cm4gdGhpcy5qLmVuY3J5cHQoYSxiKX1vKGEsYil7aWYoIShhIGluc3RhbmNlb2YgVWludDhBcnJheSkpdGhyb3cgbmV3IGlYKCJXUk9OR19EQVRBX1RZUEUiLHtJcDoxfSk7dmFyIGM9bmV3IFRleHREZWNvZGVyO2I9a1goYik7YT10aGlzLmouZGVjcnlwdChhLGIpO3JldHVybiBKU09OLnBhcnNlKGMuZGVjb2RlKGEpKX19OwpRbmE9e2FuaW1hdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhbmltYXRpb25FbnRpdHkifX0sYWNjb3VudExpbmtTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYWNjb3VudExpbmtTdGF0dXNFbnRpdHkifX0sYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5In19LGJvb2xlYW5FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYm9vbGVhbkVudGl0eSJ9fSxidXR0b25FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYnV0dG9uRW50aXR5In19LGNhcHRpb25UcmFjazpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjYXB0aW9uVHJhY2sifX0sCmNoYW5uZWxIYW5kbGU6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hhbm5lbEhhbmRsZSJ9fSxjaGF0TG9hZGluZ1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNoYXRMb2FkaW5nU3RhdGVFbnRpdHkifX0sYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5In19LGNoaXBFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hpcEVudGl0eSJ9fSxjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eSJ9fSwKY29tbWVyY2VDYXJ0TGlzdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21tZXJjZUNhcnRMaXN0RW50aXR5In19LGNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5In19LGNvbXBvc2l0ZVNvdXJjZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21wb3NpdGVTb3VyY2VFbnRpdHkifX0sbXVsdGl2aWV3U3RhZ2luZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouY29tcG9zaXRlU291cmNlS2V5cyYmYS5wdXNoKC4uLnRoaXMuai5jb21wb3NpdGVTb3VyY2VLZXlzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdWx0aXZpZXdTdGFnaW5nRW50aXR5In19LGNvbnRleHROb3RlRmVlZEVudGl0eVBheWxvYWQ6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZCJ9fSwKY29udGV4dE5vdGVVc2VyUmF0aW5nRW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkIn19LGNvbnRpbnVhdGlvblRva2VuRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbnRpbnVhdGlvblRva2VuRW50aXR5In19LGRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZFF1YWxpdHlQaWNrZXJFbnRpdHkifX0sZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5In19LGRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkifX0sCmRvd25sb2FkU3RhdHVzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2FkU3RhdHVzRW50aXR5In19LGRpc21pc3NTdGF0ZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkaXNtaXNzU3RhdGUifX0sc2Z2QXVkaW9JdGVtQ3VycmVudGx5UGxheWluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5In19LGVtb2ppRm91bnRhaW5EYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImVtb2ppRm91bnRhaW5EYXRhRW50aXR5In19LGVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJlbW9qaUN1c3RvbWl6YXRpb25TZXRFbnRpdHkifX0sCmZha2VDaGFubmVsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5hbHRlcm5hdGVDaGFubmVsJiZhLnB1c2godGhpcy5qLmFsdGVybmF0ZUNoYW5uZWwpO3RoaXMuai5hbHRlcm5hdGVDaGFubmVsTGlzdCYmYS5wdXNoKC4uLnRoaXMuai5hbHRlcm5hdGVDaGFubmVsTGlzdCk7dGhpcy5qLm9uZW9mQ2hhbm5lbEVudGl0eSYmYS5wdXNoKHRoaXMuai5vbmVvZkNoYW5uZWxFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VDaGFubmVsIn19LGZha2VQbGF5bGlzdDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouZW50cnlDb2xsZWN0aW9uJiZhLnB1c2godGhpcy5qLmVudHJ5Q29sbGVjdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVBsYXlsaXN0In19LGZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbjpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnBhcmVudFBsYXlsaXN0JiZhLnB1c2godGhpcy5qLnBhcmVudFBsYXlsaXN0KTtpZih0aGlzLmouZW50cmllcylmb3IobGV0IGIgb2YgdGhpcy5qLmVudHJpZXMpYS5wdXNoKC4uLihuZXcgeXFhKGIpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbiJ9fSxmYWtlVmlkZW86Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRlc2NyaXB0aW9uRW50aXR5JiZhLnB1c2godGhpcy5qLmRlc2NyaXB0aW9uRW50aXR5KTt0aGlzLmouY3JlYXRvcnMmJmEucHVzaCguLi50aGlzLmouY3JlYXRvcnMpO3RoaXMuai50aGVCaWdnZXN0RmFuJiZhLnB1c2godGhpcy5qLnRoZUJpZ2dlc3RGYW4pO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VWaWRlbyJ9fSxmYWtlVmlkZW9EZXNjcmlwdGlvbjpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmYWtlVmlkZW9EZXNjcmlwdGlvbiJ9fSwKZmVhdHVyZWRQcm9kdWN0c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmZWF0dXJlZFByb2R1Y3RzRW50aXR5In19LHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHkifX0sZmxvd1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZsb3dTdGF0ZUVudGl0eSJ9fSxpY29uQmFkZ2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iaWNvbkJhZGdlRW50aXR5In19LGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iaW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eSJ9fSxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpa2VCdXR0b25BbmltYXRpb25FbnRpdHkifX0sCmxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVDaGF0UG9sbFN0YXRlRW50aXR5In19LGRhdGFGcmVzaG5lc3NFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZGF0YUZyZXNobmVzc0VudGl0eSJ9fSxsaXZlVmlld2VyTGVhZGVyYm9hcmRDaGF0RW50cnlQb2ludFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHkifX0sbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eSJ9fSxsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJsaXZlUmVhY3Rpb25zRGF0YUVudGl0eSJ9fSwKbG9nb0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJsb2dvRW50aXR5In19LG1hY3JvTWFya2VyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hY3JvTWFya2VyRW50aXR5In19LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5kb3dubG9hZHNMaXN0JiZhLnB1c2godGhpcy5qLmRvd25sb2Fkc0xpc3QpO3RoaXMuai5zbWFydERvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmouc21hcnREb3dubG9hZHNMaXN0KTt0aGlzLmoucmVjb21tZW5kZWREb3dubG9hZHNMaXN0JiZhLnB1c2godGhpcy5qLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHkifX0sCm1haW5Eb3dubG9hZHNMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO2lmKHRoaXMuai5kb3dubG9hZHMpZm9yKGxldCBiIG9mIHRoaXMuai5kb3dubG9hZHMpYS5wdXNoKC4uLihuZXcgenFhKGIpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5In19LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHkifX0sbWFpblBsYXlsaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jaGFubmVsT3duZXImJgphLnB1c2godGhpcy5qLmNoYW5uZWxPd25lcik7dGhpcy5qLnZpZGVvcyYmYS5wdXNoKC4uLnRoaXMuai52aWRlb3MpO3RoaXMuai5jb2xsYWJvcmF0b3JDaGFubmVscyYmYS5wdXNoKC4uLnRoaXMuai5jb2xsYWJvcmF0b3JDaGFubmVscyk7dGhpcy5qLmRvd25sb2FkU3RhdGUmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0ZSk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0RW50aXR5In19LG1haW5QbGF5bGlzdFZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7dGhpcy5qLmNoYW5uZWxDb250cmlidXRvciYmYS5wdXNoKHRoaXMuai5jaGFubmVsQ29udHJpYnV0b3IpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5QbGF5bGlzdFZpZGVvRW50aXR5In19LAptYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja0RhdGEmJmEucHVzaCh0aGlzLmoucGxheWJhY2tEYXRhKTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZhLnB1c2godGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5In19LG1haW5WaWRlb0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoub3duZXImJmEucHVzaCh0aGlzLmoub3duZXIpO3RoaXMuai5kb3dubG9hZFN0YXRlJiZhLnB1c2godGhpcy5qLmRvd25sb2FkU3RhdGUpO3RoaXMuai51c2VyU3RhdGUmJmEucHVzaCguLi4obmV3IENxYSh0aGlzLmoudXNlclN0YXRlKSkubygpKTsKdGhpcy5qLmFkZGl0aW9uYWxNZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgQnFhKHRoaXMuai5hZGRpdGlvbmFsTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5WaWRlb0VudGl0eSJ9fSxtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eSJ9fSxtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHkifX0sbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3RoaXMuai50cmFja3MmJmEucHVzaCguLi50aGlzLmoudHJhY2tzKTsKcmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWwifX0sbXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eSJ9fSxtdXNpY0FsYnVtUmVsZWFzZTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5JiZhLnB1c2godGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSk7dGhpcy5qLnByaW1hcnlBcnRpc3RzJiZhLnB1c2goLi4udGhpcy5qLnByaW1hcnlBcnRpc3RzKTt0aGlzLmouZGV0YWlscyYmYS5wdXNoKHRoaXMuai5kZXRhaWxzKTsKdGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTt0aGlzLmoudHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrcyk7dGhpcy5qLnNoYXJlJiZhLnB1c2godGhpcy5qLnNoYXJlKTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FsYnVtUmVsZWFzZSJ9fSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbCJ9fSxtdXNpY0FydGlzdERldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnBhcmVudEFydGlzdCYmYS5wdXNoKHRoaXMuai5wYXJlbnRBcnRpc3QpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQXJ0aXN0RGV0YWlsIn19LG11c2ljQXJ0aXN0OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpO3RoaXMuai51c2VyRGV0YWlscyYmYS5wdXNoKHRoaXMuai51c2VyRGV0YWlscyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBcnRpc3QifX0sbXVzaWNBcnRpc3RVc2VyRGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wYXJlbnRBcnRpc3QmJmEucHVzaCh0aGlzLmoucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FydGlzdFVzZXJEZXRhaWwifX0sbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmouZG93bmxvYWRlZFRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLmouc21hcnREb3dubG9hZGVkVHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5qLmRvd25sb2FkZWRFcGlzb2RlcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuai5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5qLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJmEucHVzaCguLi50aGlzLmouc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5qLmRvd25sb2FkZWRQbGF5bGlzdHMmJmEucHVzaCguLi50aGlzLmouZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5qLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmYS5wdXNoKC4uLnRoaXMuai5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpO3RoaXMuai5tZXRhZGF0YU9ubHlUcmFja3MmJgphLnB1c2goLi4udGhpcy5qLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5In19LG11c2ljTGlicmFyeUVkaXQ6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNMaWJyYXJ5RWRpdCJ9fSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5In19LG11c2ljUGxheWxpc3Q6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai50cmFja3MpO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO3RoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJmEucHVzaCh0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTsKdGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLmRvd25sb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5qLnNpZGVsb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouc2lkZWxvYWRNZXRhZGF0YSk7dGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTt0aGlzLmouZW50cnlDb2xsZWN0aW9uJiZhLnB1c2godGhpcy5qLmVudHJ5Q29sbGVjdGlvbik7dGhpcy5qLnNoYXJlJiZhLnB1c2godGhpcy5qLnNoYXJlKTt0aGlzLmoucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEmJmEucHVzaCguLi4obmV3IERxYSh0aGlzLmoucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljUGxheWxpc3QifX0sbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljU2hhcmU6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNTaGFyZSJ9fSxtdXNpY1RyYWNrRGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wYXJlbnRUcmFjayYmYS5wdXNoKHRoaXMuai5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja0RldGFpbCJ9fSxtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoucGxheWJhY2tEYXRhJiZhLnB1c2godGhpcy5qLnBsYXliYWNrRGF0YSk7CnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljVHJhY2s6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmYS5wdXNoKHRoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuai5hcnRpc3RzJiZhLnB1c2goLi4udGhpcy5qLmFydGlzdHMpO3RoaXMuai5hdWRpb01vZGVWZXJzaW9uJiZhLnB1c2godGhpcy5qLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuai52aWRlb01vZGVWZXJzaW9uJiZhLnB1c2godGhpcy5qLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuai51c2VyRGV0YWlscyYmCmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpO3RoaXMuai5hbGJ1bVJlbGVhc2UmJmEucHVzaCh0aGlzLmouYWxidW1SZWxlYXNlKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5saWJyYXJ5RWRpdCYmYS5wdXNoKHRoaXMuai5saWJyYXJ5RWRpdCk7dGhpcy5qLmRvd25sb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5qLnBsYXliYWNrUG9zaXRpb24mJmEucHVzaCh0aGlzLmoucGxheWJhY2tQb3NpdGlvbik7dGhpcy5qLmx5cmljcyYmYS5wdXNoKHRoaXMuai5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljVHJhY2sifX0sbXVzaWNUcmFja1VzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudFRyYWNrJiZhLnB1c2godGhpcy5qLnBhcmVudFRyYWNrKTsKcmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja1VzZXJEZXRhaWwifX0sb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eSJ9fSxvZmZsaW5lVmlkZW9Qb2xpY3k6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZVZpZGVvUG9saWN5In19LG9mZmxpbmVWaWRlb1N0cmVhbXM6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZVZpZGVvU3RyZWFtcyJ9fSxvZmZsaW5lYWJpbGl0eUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lYWJpbGl0eUVudGl0eSJ9fSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai5mYWtlQ2hpbGRyZW4mJmEucHVzaCguLi50aGlzLmouZmFrZUNoaWxkcmVuKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHkifX0scGFnZUhlYWRlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwYWdlSGVhZGVyRW50aXR5In19LHBhcnR5R2FtZVBhbmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBhcnR5R2FtZVBhbmVsRW50aXR5In19LHNsaWRlckdhbWVQYW5lbEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzbGlkZXJHYW1lUGFuZWxFbnRpdHkifX0scGRwU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGRwU3RhdGVFbnRpdHkifX0scGlubmVkUHJvZHVjdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwaW5uZWRQcm9kdWN0RW50aXR5In19LApwbGF5YmFja0RhdGE6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYW5zZmVyJiZhLnB1c2godGhpcy5qLnRyYW5zZmVyKTt0aGlzLmouYWRzUGxheWJhY2tEYXRhJiZhLnB1c2goLi4udGhpcy5qLmFkc1BsYXliYWNrRGF0YSk7dGhpcy5qLmRybUxpY2Vuc2UmJmEucHVzaCh0aGlzLmouZHJtTGljZW5zZSk7dGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSYmYS5wdXNoKHRoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWJhY2tEYXRhIn19LHBsYXllclN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBsYXllclN0YXRlRW50aXR5In19LHBsYXlsaXN0VGh1bWJuYWlsRWRpdHNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eSJ9fSwKcXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJxdWFudGl0eUluY3JlbWVudGVyRW50aXR5In19LHJlZnJlc2g6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icmVmcmVzaCJ9fSxzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5In19LHNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQifX0sc2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNlbGVjdGlvblZhbHVlTGlzdEVudGl0eSJ9fSxzZXR0aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNldHRpbmdFbnRpdHkifX0sCnN0cmluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzdHJpbmdFbnRpdHkifX0sc3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHkifX0sdHJhbnNmZXI6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLm9mZmxpbmVWaWRlb1N0cmVhbXMmJmEucHVzaCguLi50aGlzLmoub2ZmbGluZVZpZGVvU3RyZWFtcyk7dGhpcy5qLmNhcHRpb25UcmFjayYmYS5wdXNoKC4uLnRoaXMuai5jYXB0aW9uVHJhY2spO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInRyYW5zZmVyIn19LHRyZW5kaW5nT2ZmZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idHJlbmRpbmdPZmZlckVudGl0eSJ9fSwKdW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHkifX0sdmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkifX0sdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5In19LHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkifX0sdm90aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZvdGluZ0VudGl0eSJ9fSwKeXRNYWluQ2hhbm5lbEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudXNlckNoYW5uZWxEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJDaGFubmVsRGV0YWlscyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ieXRNYWluQ2hhbm5lbEVudGl0eSJ9fSx5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHkifX0seXRNYWluRG93bmxvYWRlZFZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7dGhpcy5qLnBsYXliYWNrRGF0YSYmYS5wdXNoKHRoaXMuai5wbGF5YmFja0RhdGEpO3RoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kmJmEucHVzaCh0aGlzLmoub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHkifX0sCnl0TWFpblZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jaGFubmVsT3duZXImJmEucHVzaCh0aGlzLmouY2hhbm5lbE93bmVyKTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5qLmRvd25sb2FkU3RhdHVzJiZhLnB1c2godGhpcy5qLmRvd25sb2FkU3RhdHVzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5WaWRlb0VudGl0eSJ9fX07WG5hPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWI7dGhpcy52PXt9fX07CkpxYT1jbGFzcyBleHRlbmRzIGpae3YoYSl7cmV0dXJuIGF9byhhKXtpZihhIGluc3RhbmNlb2YgVWludDhBcnJheSl0aHJvdyBuZXcgaVgoIldST05HX0RBVEFfVFlQRSIse0lwOjB9KTtyZXR1cm4gYX19O1puYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLmpbMF09bmV3IEpxYTtpZighXy54KCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgYT10aGlzLmo7dHJ5e2xldCBkPV8uVmooKTt2YXIgYj1rWChkKTt2YXIgYz1uZXcgSXFhKG5ldyBpWihiKSxuZXcgR3FhKGIpKX1jYXRjaChkKXt0aHJvdyBhPWQgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6ZC5tZXNzYWdlfSk6bmV3IGlYKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksXy5HcChhKSxhO31hWzFdPWN9fX07CiRuYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMudG9rZW49YTt0aGlzLmo9Yjt0aGlzLm9ic2VydmVycz1bXTthPW5ldyBfLnUuQnJvYWRjYXN0Q2hhbm5lbChgUEVSU0lTVEVOVF9FTlRJVFlfU1RPUkVfU1lOQzoke18uVmooKX1gKTthLm9ubWVzc2FnZT10aGlzLm8uYmluZCh0aGlzKTt0aGlzLmNoYW5uZWw9YX1vYnNlcnZlKGEpe3RoaXMub2JzZXJ2ZXJzLnB1c2goYSk7cmV0dXJuKCk9Pnt2YXIgYj10aGlzLm9ic2VydmVycy5pbmRleE9mKGEpO2I+PTAmJnRoaXMub2JzZXJ2ZXJzLnNwbGljZShiLDEpfX1vKGEpe3FYKHRoaXMsYS5kYXRhKX1sYSgpe3RoaXMuY2hhbm5lbC5jbG9zZSgpfX07CkxxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPUtxYTt0aGlzLm9ic2VydmVycz1bXTt0aGlzLnZhbHVlPWF9c3Vic2NyaWJlKGEpe2lmKGEuZWohPW51bGwpdGhyb3cgRXJyb3IoIkZjIik7YS5laj10aGlzLm9ic2VydmVycy5sZW5ndGg7dGhpcy5vYnNlcnZlcnMucHVzaChhKTt0cnl7YSh0aGlzLnZhbHVlKX1jYXRjaChiKXt9cmV0dXJuKCk9Pnt2YXIgYj10aGlzLm9ic2VydmVyc1t0aGlzLm9ic2VydmVycy5sZW5ndGgtMV07dGhpcy5vYnNlcnZlcnNbYS5lal09YjtiLmVqPWEuZWo7dGhpcy5vYnNlcnZlcnMucG9wKCl9fXVwZGF0ZShhKXt0aGlzLnZhbHVlPWEodGhpcy52YWx1ZSk7dGhpcy5ub3RpZnkoKX1zZXQoYSl7dGhpcy52YWx1ZT1hO3RoaXMubm90aWZ5KCl9bm90aWZ5KCl7Zm9yKGxldCBhIG9mIHRoaXMub2JzZXJ2ZXJzKXRyeXthKHRoaXMudmFsdWUpfWNhdGNoKGIpe319fTsKam9hPXtsYW5kc2NhcGU6IihtYXgtd2lkdGg6IDI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIixwb3J0cmFpdDoiKG1heC13aWR0aDogMjk5cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSJ9O1hZPXt9O2taPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYodGhpcy5jb25zdHJ1Y3Rvcj09PWtaKXRocm93IG5ldyBUeXBlRXJyb3IoInNkIik7fWRpc3Bvc2UoKXt9ZGlzY29ubmVjdCgpe31vYnNlcnZlKGEsYixjKXtyZXR1cm57ZWxlbWVudDphLG9wdGlvbjpjfX1yZigpe319OwpNcWE9Y2xhc3MgZXh0ZW5kcyBrWntjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pc0Nvbm5lY3RlZD0hMDt0aGlzLnY9ITE7dGhpcy5vYnNlcnZlcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIodGhpcy5CLmJpbmQodGhpcykse3Jvb3RNYXJnaW46Ii0wLjFweCJ9KTt0aGlzLm89bmV3IE1hcDt0aGlzLmo9bmV3IE1hcH1kaXNwb3NlKCl7dGhpcy5kaXNjb25uZWN0KCk7dGhpcy5qLmNsZWFyKCl9ZGlzY29ubmVjdChhPSExKXt0aGlzLmlzQ29ubmVjdGVkPSExO3RoaXMudj1hO3RoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO2ZvcihsZXQgYiBvZiB0aGlzLm8udmFsdWVzKCkpYi5kaXNjb25uZWN0KCl9QihhKXtmb3IobGV0IGMgb2YgYSl7dmFyIGI9dGhpcy5qLmdldChjLnRhcmdldCk7aWYoIWIpY29udGludWU7YT1jLmlzSW50ZXJzZWN0aW5nO2ZvcihsZXQgW2QsZV1vZiBiKXtiPWQ7bGV0IGY9ZTtiJiYoYi5zdGF0ZT09PSJ2aXNpYmxlIiYmYXx8Yi5zdGF0ZT09PSJoaWRkZW4iJiYKIWEpJiYoZihjLnRhcmdldCxiLnN0YXRlKSxiLlZiJiZ0aGlzLnJmKHtlbGVtZW50OmMudGFyZ2V0LG9wdGlvbjpifSkpfX19RChhKXtmb3IobGV0IGIgb2YgYSlpZigoYT10aGlzLmouZ2V0KGIudGFyZ2V0KSkmJmIuaXNJbnRlcnNlY3RpbmcpZm9yKGxldCBbYyxkXW9mIGEpe2E9YztsZXQgZT1kO2EmJmEuc3RhdGU9PT0icHJlc2NhbiImJihlKGIudGFyZ2V0LGEuc3RhdGUpLGEuVmImJnRoaXMucmYoe2VsZW1lbnQ6Yi50YXJnZXQsb3B0aW9uOmF9KSl9fW9ic2VydmUoYSxiLGMpe3ZhciBkPShkPXRoaXMuai5nZXQoYSkpJiZkLmhhcyhjKT97ZWxlbWVudDphLG9wdGlvbjpjfTp2b2lkIDA7aWYoZClyZXR1cm4gZDtkPXtlbGVtZW50OmEsb3B0aW9uOmN9O3RoaXMuai5oYXMoYSl8fHRoaXMuai5zZXQoYSxuZXcgTWFwKTt2YXIgZT10aGlzLmouZ2V0KGEpO2UmJiFlLmhhcyhjKSYmZS5zZXQoYyxiKTt0aGlzLnZ8fChjLnN0YXRlPT09InByZXNjYW4iJiYoYj0wLGEuaGFzQXR0cmlidXRlKCJwcmVzY2FuLWhlaWdodCIpJiYKKGM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJwcmVzY2FuLWhlaWdodCIpKSxpc05hTihjKXx8KGI9YykpLHRoaXMuby5oYXMoYik/Yj10aGlzLm8uZ2V0KGIpOihjPWAtMC4xcHggLTAuMXB4ICR7Yn1weCAtMC4xcHhgLGM9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHRoaXMuRC5iaW5kKHRoaXMpLHtyb290TWFyZ2luOmN9KSx0aGlzLm8uc2V0KGIsYyksYj1jKSxiLm9ic2VydmUoYSkpLHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShhKSk7cmV0dXJuIGR9cmYoYSl7dmFyIGI9dGhpcy5qLmdldChhLmVsZW1lbnQpO2lmKGImJmIuaGFzKGEub3B0aW9uKSl7Yi5kZWxldGUoYS5vcHRpb24pO2lmKGEmJmEub3B0aW9uLnN0YXRlPT09InByZXNjYW4iKWZvcihsZXQgYyBvZiB0aGlzLm8udmFsdWVzKCkpYy51bm9ic2VydmUoYS5lbGVtZW50KTtiLnNpemU9PT0wJiYodGhpcy5qLmRlbGV0ZShhLmVsZW1lbnQpLHRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKGEuZWxlbWVudCkpfX19OwpxWT1bInlvdXR1YmVfZmlsbCIsInlvdXR1YmVfb3V0bGluZSJdO0FYPXZvaWQgMDt2YXIgTnFhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudmFsdWU9YX1kZXJlZigpe3JldHVybiB0aGlzLnZhbHVlfX0sT3FhPXR5cGVvZiBXZWFrUmVmPT09ImZ1bmN0aW9uIj9XZWFrUmVmOk5xYTt2YXIgRlg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubWFwPW5ldyBXZWFrTWFwfWFkZChhLGIpe3RoaXMubWFwLmhhcyhhKXx8KHRoaXMuaihhKSx0aGlzLm1hcC5zZXQoYSxbXSkpO3RoaXMubWFwLmdldChhKS5wdXNoKG5ldyBPcWEoYikpfWdldChhKXt2YXIgYj10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1iLm1hcC5nZXQoYSk7aWYoYyl7dmFyIGQ9MDtmb3IobGV0IGUgb2YgYyl7bGV0IGY9ZS5kZXJlZigpO2YmJihkKysseWllbGQgZil9aWYoMipkPGMubGVuZ3RoKXtkPTA7Zm9yKGxldCBlIG9mIGMpZS5kZXJlZigpJiYoY1tkKytdPWUpO2MubGVuZ3RoPWR9fX0oKX19KGE9PnthLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixBb2Ese29uY2U6ITB9KX0pLEVYPW5ldyBXZWFrTWFwLERYPUFib3J0Q29udHJvbGxlcixsWj1BYm9ydFNpZ25hbDt0eXBlb2YgbFouYWJvcnQhPT0iZnVuY3Rpb24iJiYobFouYWJvcnQ9eG9hKTsKdHlwZW9mIGxaLnByb3RvdHlwZS50aHJvd0lmQWJvcnRlZCE9PSJmdW5jdGlvbiImJihsWi5wcm90b3R5cGUudGhyb3dJZkFib3J0ZWQ9eW9hKTt0eXBlb2YgbFouYW55IT09ImZ1bmN0aW9uIiYmKGxaLmFueT16b2EpO3R5cGVvZiBsWi50aW1lb3V0IT09ImZ1bmN0aW9uIiYmKGxaLnRpbWVvdXQ9Qm9hKTt2YXIgR1g9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7dmFyIFVZPW5ldyBfLkkoImNvcHlMaW5rUmVuZGVyZXIiKTt2YXIgUHFhPW5ldyBfLkkoImF1ZGlvVHJhY2tTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIFFxYT1uZXcgXy5JKCJjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIFJxYT1uZXcgXy5JKCJzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQiKTt2YXIgU3FhPW5ldyBfLkkoInNob3dDYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIE9wYT1uZXcgXy5JKCJwaG9uZURpYWxlckVuZHBvaW50Iik7dmFyIFNwYT1uZXcgXy5JKCJzZW5kU21zRW5kcG9pbnQiKTt2YXIgS3BhPW5ldyBfLkkoImNvcHlUZXh0RW5kcG9pbnQiKTt2YXIgbVo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5uYW1lPWF9byhhPXt9KXtJWCh0aGlzLm5hbWUsIlNVQ0NFU1MiLGEpfWooYT17fSl7SVgodGhpcy5uYW1lLCJGQUlMVVJFIixhKX19LEVvYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9IlNMSV9OQU1FX1lPVVRVQkVfRU1CRURTX1dFQl9GVUxMU0NSRUVOX1JFUVVFU1RfU0xJIjt0aGlzLnNsaUlkPWE7dGhpcy50aW1lb3V0TXM9M0U0O3RoaXMubz0iIjt0aGlzLnY9LTE7dGhpcy5qPSExO3RoaXMuZGltZW5zaW9ucz17fX1nZXRJZCgpe3JldHVybiB0aGlzLnNsaUlkfURyKGE9e30pe3RoaXMuanx8KHRoaXMuaj0hMCx0aGlzLmRpbWVuc2lvbnM9YSx0aGlzLm89Q29hKCksWlcoe2RpbWVuc2lvbnM6dGhpcy5kaW1lbnNpb25zLHJlY29yZHM6W3tuYW1lOnRoaXMubmFtZSxzdGF0ZToiU0xJX1NUQVRFX1NUQVJUIixzbGlJZDp0aGlzLm99XX0pLHRoaXMudGltZW91dE1zPjAmJih0aGlzLnY9c2V0VGltZW91dCgoKT0+Cnt0aGlzLnpnKCJUSU1FT1VUIil9LHRoaXMudGltZW91dE1zKSkpfXpnKGEpe3RoaXMuaiYmKHRoaXMudGltZW91dE1zPjAmJmNsZWFyVGltZW91dCh0aGlzLnYpLHRoaXMuaj0hMSxhPXtkaW1lbnNpb25zOnRoaXMuZGltZW5zaW9ucyxyZWNvcmRzOlt7bmFtZTp0aGlzLm5hbWUsc3RhdHVzOkhYKGEpLHN0YXRlOiJTTElfU1RBVEVfRU5EIixzbGlJZDp0aGlzLm99XX0sXy5FeS5yZWdpc3Rlci5kZWxldGUoYCR7dGhpcy5uYW1lfV8ke3RoaXMuc2xpSWR9YCksWlcoYSkpfX07dmFyIFNYPW5ldyBtWigiU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX1BMQVlFUl9FUlJPUl9TTEkiKSxUWD1uZXcgbVooIlNMSV9OQU1FX1lPVVRVQkVfRU1CRURTX1dFQl9QTEFZRVJfVU5QTEFZQUJMRV9TTEkiKTt2YXIgR29hPVsiY2xpY2tUcmFja2luZ1BhcmFtcyIsImNvbW1hbmRNZXRhZGF0YSIsImxvZ2dpbmdVcmxzIiwiYnVpbGRDb21tYW5kUGF5bG9hZCJdO3ZhciBMWD1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYz0hMSxkPSExLGU9W10pe3ZhciBmPXdYO3RoaXMudj1hO3RoaXMubmF2aWdhdGU9dm9pZCAwO3RoaXMuaj1iO3RoaXMuWT1jO3RoaXMuST1kO3RoaXMuQj1mO3RoaXMuSz1lO3RoaXMuTT1bXTt0aGlzLm89bmV3IFNldDt0aGlzLkQ9ITE7S29hKHRoaXMpfXJlc29sdmVDb21tYW5kKGEsYil7cmV0dXJuIE5YKHRoaXMsYSxiKS5oYW5kbGVkfX07dmFyIG5aPW5ldyBfLlZzKCJFTlRJVFlfU1RBVEVfVE9LRU4iKTt2YXIgb1o9Y2xhc3N7YXN5bmMgcmVzb2x2ZShhLGIpe2F3YWl0IHRoaXMucmVzb2x2ZUNvbW1hbmQoYSxiKX19O3ZhciBwWj1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5zdG9yZT1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe2lmKGE9Xy5CKGEsXy53bmEpPy5lbnRpdHlCYXRjaFVwZGF0ZSlhPXsuLi5hLG11dGF0aW9uczpbLi4uKGEubXV0YXRpb25zfHxbXSldfSxhd2FpdCBkb2EoYSx0aGlzLnN0b3JlKX19O3BaW18uTG5dPVtuWl07dmFyICRZPW5ldyBfLlZzKCJQQU5FTF9MT0FESU5HX1NUUkFURUdZX1RPS0VOIik7dmFyIHFaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuY29udHJvbGxlcj1hO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k9Yn1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe3ZhciBjPV8uQihhLF8uTlcpO2lmKGM/LnBhbmVsTG9hZGluZ1N0cmF0ZWd5KXt2YXIgZD1WWCh0aGlzLmNvbnRyb2xsZXIsYj8uZm9ybT8uZWxlbWVudCksZT1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8ucG9zaXRpb24sZj1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8uaG92ZXJDb25maWcsaD1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8uZXhwYW5kVG9GdWxsV2lkdGgsaz1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8ub3BlblRvU2lkZTthd2FpdCB0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmV4ZWN1dGUoe2NvbW1hbmQ6YSxkYXRhOmMucGFuZWxMb2FkaW5nU3RyYXRlZ3ksZ246YXN5bmMgbD0+CntpZihsLnNoZWV0Vmlld01vZGVsKXtpZihmKXt2YXIgbT10aGlzLmNvbnRyb2xsZXI7bS5vPSEhZi5wcmV2ZW50Q2xvc2VXaGlsZUhvdmVyZWQ7bS5oaWRlRGVsYXlNcz1mLmhpZGVEZWxheU1zPz8wO20uc2hvd0RlbGF5TXM9Zi5zaG93RGVsYXlNcz8/MH1hd2FpdCB0aGlzLmNvbnRyb2xsZXIud2coe3ZpZXdNb2RlbDpsLnNoZWV0Vmlld01vZGVsLFVyOmUsZXhwYW5kVG9GdWxsV2lkdGg6aCxvcGVuVG9TaWRlOmt9LGQsYj8uZm9ybT8uZWxlbWVudCl9fSxidjp7bGF5ZXI6MH19KX19fTtxWltfLkxuXT1bXy5jTCwkWV07dmFyIFRxYT1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1hc3luYyByZXNvbHZlQ29tbWFuZChhKXt2YXIgYj1fLkIoYSxQcWEpO2ImJihhPWF3YWl0IF8uTEgoKSkmJmE/LmlzUmVhZHk/LigpJiYoYj1Rb2EoYSxiPy5sYW5ndWFnZUNvZGUpKSYmYS5zZXRBdWRpb1RyYWNrKGIpfX07dmFyIHJaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhKXt2YXIgYj1fLkIoYSxRcWEpO2lmKGImJihhPWF3YWl0IF8uTEgoKSkpe3ZhciBjPWI/Lmxhbmd1YWdlQ29kZTtiPWI/LmlzQXV0b1RyYW5zbGF0ZWQ7YS5nZXRWaWRlb0RhdGEmJl8uJE8oYSkubGVuZ3RoJiYoKGM9Um9hKGEsYyxiKSk/YS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLGMpOihhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7fSksYS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLHt9KSkpO2E9YS5pc1N1YnRpdGxlc09uKCk/Xy5hQSgiQ0FQVElPTl9PTl9UT0FTVCIsdm9pZCAwLCJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIik6Xy5hQSgiQ0FQVElPTl9PRkZfVE9BU1QiLHZvaWQgMCwiU3VidGl0bGVzL0NDIHR1cm5lZCBvZmYiKTt0aGlzLmoucmVzb2x2ZUNvbW1hbmQoXy5hUShfLldMKGEpLDVFMykpfX19OwpyWltfLkxuXT1bXy5VRF07dmFyIHNaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe18uQihhLFJxYSkmJihhPWF3YWl0IF8uTEgoKSkmJihhPVNvYShhKSkmJnRoaXMuai5yZXNvbHZlQ29tbWFuZChhLGIpfX07c1pbXy5Mbl09W18uVURdO3ZhciB0Wj1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9YXN5bmMgcmVzb2x2ZUNvbW1hbmQoYSxiKXtfLkIoYSxTcWEpJiYoYT1hd2FpdCBfLkxIKCkpJiYoKGE9Vm9hKGEpKT90aGlzLmoucmVzb2x2ZUNvbW1hbmQoYSxiKTooYj1fLmFBKCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiLHZvaWQgMCwiTm8gY2FwdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgdGhpcyB2aWRlbyIpLHRoaXMuai5yZXNvbHZlQ29tbWFuZChfLmFRKF8uV0woYikpKSkpfX07dFpbXy5Mbl09W18uVURdO3ZhciBzcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5zaWduYWw9YTt0aGlzLmo9dGhpcy5vLmJpbmQodGhpcyk7dGhpcy5sb2dnaW5nRW5hYmxlZD0hMDt0aGlzLmlkcz1uZXcgU2V0O2EuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHRoaXMuaik7dGhpcy5qb2JJZD1fLllqKHRoaXMuaiwxRTQpfXd5KGEpe3RoaXMubG9nZ2luZ0VuYWJsZWQmJiF0aGlzLmlkcy5oYXMoYSkmJnRoaXMuaWRzLmFkZChhKX1vKCl7dGhpcy5sb2dnaW5nRW5hYmxlZCYmKHRoaXMubG9nZ2luZ0VuYWJsZWQ9ITEsXy5qZi5BYSh0aGlzLmpvYklkKSx0aGlzLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsdGhpcy5qKSxXb2EodGhpcykpfX07dmFyIFJYO3ZhciBVcWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk9tPW5ldyBNYXA7dGhpcy5qPW5ldyBNYXB9T3ooYSxiKXtpZihhKXt0aGlzLk9tLnNldChhLGIpO3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMucmVzb2x2ZShiKSx0aGlzLmouZGVsZXRlKGEpKX19fTt2YXIgYVo9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YTt0aGlzLnY9Yn1qKCl7aWYodGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneSYmdGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneS5pbmxpbmVDb250ZW50KXJldHVybiB0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmlubGluZUNvbnRlbnR9YXN5bmMgZXhlY3V0ZShhKXt2YXIgYj1hLlRJLGM9YS5wYXJlbnRWZSxkPWEuYnYsZT1hLmduLGY9YS5jb21tYW5kO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k9YS5kYXRhOyhhPXRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnNjcmVlblZlP3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnNjcmVlblZlOmIpJiZfLkRPKHRoaXMudixhLGMsZCk7KGM9dGhpcy5qKCkpJiZhd2FpdCBlKGMpO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnJlcXVlc3RUZW1wbGF0ZSYmKGY9YXdhaXQgJG9hKHRoaXMsZikpJiZhd2FpdCBlKGYpfX07YVpbXy5Mbl09W18uSXksXy5PV107dmFyIHBxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj10aGlzLm89ITE7dGhpcy5zaG93RGVsYXlNcz10aGlzLmhpZGVEZWxheU1zPTA7dGhpcy5EPSExO3RoaXMuST0oKT0+e3RoaXMuaj0hMH07dGhpcy5aPSgpPT57dGhpcy5qPSExfTt0aGlzLlU9KCk9Pnt0aGlzLmo9ITB9O3RoaXMuSz0oKT0+e3RoaXMuaj0hMX19UHooYSxiPSExKXtiP3RoaXMuTT1hOnRoaXMuY29udGFpbmVyPWF9YXN5bmMgd2coYSxiLGM9Yil7V1godGhpcyk7dGhpcy5zaG93RGVsYXlNcz90aGlzLlk9c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgJFgodGhpcyxhLGIsYyl9LHRoaXMuc2hvd0RlbGF5TXMpOmF3YWl0ICRYKHRoaXMsYSxiLGMpfWFzeW5jIEplKCl7V1godGhpcyk7dGhpcy5oaWRlRGVsYXlNcz90aGlzLkI9c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgYVkodGhpcyl9LHRoaXMuaGlkZURlbGF5TXMpOmF3YWl0IGFZKHRoaXMpfWFzeW5jIGRtKCl7cmV0dXJuIFVYKHRoaXMpPy5kbSgpPz8KITF9fTt2YXIgb3BhPVsidG91Y2htb3ZlIiwic2Nyb2xsIl07dmFyIHVaPSExO3ZhciBjWT0hMTt2YXIgbnBhPXtscihhKXthLnBhcmVudElkPT1udWxsJiYodVp8fChiWSgpLHNldEludGVydmFsKGJZLDZFNSksdVo9ITApLGZZKGEsIndlYl90cmFjaW5nX2FjdGlvbiIpKX19O3ZhciBoWSxLcWE9e2lMOl8ueCgid2ViX3RyYWNpbmdfYWxsX2NvbXBvbmVudHMiKSxRdjpfLngoIndlYl90cmFjaW5nX2V4cG9ydF90b19jc2kiKSxIdjpmdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxjPT5TdHJpbmcoY3x8IiIpKTpbU3RyaW5nKGF8fCIiKV19KCJ3ZWJfdHJhY2luZ19lbmFibGVkX3NwYW5zIiksUnY6Xy54KCJ3ZWJfdHJhY2luZ19leHBvcnRfdG9fZGV2dG9vbHMiKSxNcTpfLnNqKCJ0ZWxfbWF4X2JyZWFkY3J1bWJzIiwwKX07aFk9bmV3IExxYTt2YXIga3BhPXtSZW5kZXI6IkNPV19TUEFOX1RZUEVfUkVOREVSIixPbkluaXQ6IkNPV19TUEFOX1RZUEVfT05fSU5JVCIsRWZmZWN0OiJDT1dfU1BBTl9UWVBFX0VGRkVDVCIsQ29tcHV0ZWQ6IkNPV19TUEFOX1RZUEVfQ09NUFVURUQiLFNpZ25hbFVwZGF0ZToiQ09XX1NQQU5fVFlQRV9TSUdOQUxfVVBEQVRFIixSZW5kZXJFZmZlY3Q6IkNPV19TUEFOX1RZUEVfUkVOREVSX0VGRkVDVCIsQ3JlYXRlUmVhY3RpdmVDb21wb25lbnQ6IkNPV19TUEFOX1RZUEVfQ09NUE9ORU5UX1JFTkRFUiJ9O3ZhciBtcGE9Xy54KCJ3ZWJfc2hvcnRzX2VuYWJsZV90cmFjaW5nIik7dmFyIHRwYT1bImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iLCJodHRwczovL3R2LnlvdXR1YmUuY29tIiwiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20iLCJodHRwczovL3d3dy55b3V0dWJlLmNvbSJdLHZwYT1fLnNqKCJ3aWxfaWNvbl9tYXhfY29uY3VycmVudF9mZXRjaGVzIixJbmZpbml0eSksWlk9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuRmE9YTt0aGlzLktrPWI7dGhpcy5ZPXt9O3RoaXMuRD17fTt0aGlzLm89e307dGhpcy5JPXRoaXMuY291bnRlcj0wO3RoaXMuQj0hIV8udS5jYWNoZXM7dGhpcy5VPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO3RoaXMuWj12b2lkIDA7dGhpcy52PW51bGw7dGhpcy5NPV8ueCgid2lsX2ljb25fdXNlX21hc2tfcmVuZGVyaW5nIik/MTowO3RoaXMub2E9Xy54KCJ3aWxfaWNvbl9uZXR3b3JrX2ZpcnN0Iik7dGhpcy5NYT1fLngoIndpbF9pY29uX3JlbmRlcl93aGVuX2lkbGUiKTt0aGlzLlFhPSFfLngoIndpbF9pY29uX2xvYWRfaW1tZWRpYXRlbHkiKTsKdGhpcy5LPSExO2E9KCk9Pnt0aGlzLkImJih0aGlzLlU9Xy51LmNhY2hlcy5vcGVuKCJ5dC1pY29ucyIpLnRoZW4oZD0+dGhpcy5aPWQpLmNhdGNoKCgpPT57dGhpcy5CPSExfSkpfTtjPWM/LigpfHx7fTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYykpYz1kLGI9Xy5mQyhlKSxqWShiKSx0aGlzLkRbY109Yi5jbG9uZU5vZGUoITApO3RoaXMuSz1xcGEodGhpcyk7dGhpcy5LIGluc3RhbmNlb2YgUHJvbWlzZT90aGlzLksudGhlbihhKTphKCl9aihhKXtyZXR1cm4hIXRoaXMubWYoYSl9YXN5bmMgeWEoYSl7aWYoYS5sZW5ndGgpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKShhPXRoaXMubWYoYykpJiYhdGhpcy5EW2EudXJsXSYmYi5wdXNoKGtZKHRoaXMsYSkudGhlbigoKT0+e30pLmNhdGNoKCgpPT57fSkpO1Byb21pc2UuYWxsKGIpfX1weShhKXt2YXIgYj10aGlzLm1mKGEpO3JldHVybiBiP3RoaXMuTT09PTE/bFkodGhpcyxiLHRoaXMuTSk6KGE9dGhpcy5EW2IudXJsXSk/CihhPWEuY2xvbmVOb2RlKCEwKSxuWSh0aGlzLGEpLGxZKHRoaXMsYix0aGlzLk0sYSkpOmtZKHRoaXMsYikudGhlbihjPT57dmFyIGQ9Yz8wOjE7blkodGhpcyxjKTtyZXR1cm4gbFkodGhpcyxiLGQsYyl9KTooXy5IcChuZXcgXy5YaigiSWNvbiBub3QgZm91bmQiLHtpY29uU2hhcGU6YX0pKSwoKT0+e30pfWFzeW5jIGdhKGEsYil7cmV0dXJuIHBZKHRoaXMsYSkudGhlbihjPT57d3BhKHRoaXMsYSxjLGIpO3JldHVybiBjfSl9YXN5bmMgaGEoYSxiKXtyZXR1cm4gYj9iLm1hdGNoKGEpLnRoZW4oYz0+YyYmYy5vaz9jOlByb21pc2UucmVqZWN0KCkpOlByb21pc2UucmVqZWN0KCl9bWYoYSl7cmV0dXJuIHRoaXMuRmEubWYoYSl9fTtaWVtfLkxuXT1bXy5tTyxfLmxGLF8uSW4oXy5vTyldO3ZhciB5cGE9e0FDQ0VTU19USU1FOiJjbG9jayIsQUNDT1VOVF9CT1g6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiI/InBlcnNvbl9ib3giOiJwZXJzb25fYWNjb3VudCIsQUNDT1VOVF9CT1hfQ0FJUk86InBlcnNvbl9hY2NvdW50X2NhaXJvIixBQ0NPVU5UX0NJUkNMRToicGVyc29uX2NpcmNsZSIsQUNDT1VOVF9DSVJDTEVfQ0FJUk86InBlcnNvbl9jaXJjbGVfY2Fpcm8iLEFDQ09VTlRfTElOS0VEOiJhY2NvdW50X2xpbmtfc3VjY2VzcyIsQUNDT1VOVF9VTkxJTktFRDoiYWNjb3VudF9saW5rIixBRERfRlJJRU5EOiJwZW9wbGUiLEFERF9NT0RFUkFUT1I6InNoaWVsZF9hZGQiLEFERF9UT19MSUJSQVJZOiJib29rbWFyayIsQUREX1RPX1BMQVlMSVNUOiJhZGQiLEFERF9UT19RVUVVRV9UQUlMOiJsaXN0X3F1ZXVlIixBRERfVE9fUkVNT1RFX1FVRVVFOiJsaXN0X211c2ljIixBRERfVE9fV0FUQ0hfTEFURVI6ImNsb2NrIixBRERfVklERU9fTElOSzoiZmlsbV9zdHJpcF9hZGQiLApBTEVSVF9XQVJOX1JFRDoiYWxlcnRfdHJpYW5nbGUiLEFSUk9XX0JBQ0s6ImFycm93X2xlZnQiLEFSUk9XX0RJQUdPTkFMX1VQX1JJR0hUX0ZJTExFRDoiYXJyb3dfZGlhZ29uYWxfdXBfcmlnaHQiLEFSUk9XX0RST1BfRE9XTjoiY2hldnJvbl9kb3duIixBUlJPV19EUk9QX1VQOiJjaGV2cm9uX3VwIixBUlJPV19GT1JXQVJEOiJhcnJvd19yaWdodCIsQVJUSVNUOiJwZXJzb25fbXVzaWMiLEFVRElPVFJBQ0s6ImF1ZGlvIixBVVRPX0FXRVNPTUU6InNwYXJrbGUiLEFWQVRBUl9BTk9OWU1PVVM6InBlcnNvbl9jaXJjbGUiLEFWQVRBUl9MT0dHRURfT1VUOiJwZXJzb25fY2lyY2xlIixCQUNLOiJhcnJvd19sZWZ0IixCQVJfQ0hBUlQ6ImJhcl9ncmFwaCIsQkxPQ0s6InNsYXNoX2NpcmNsZV9sZWZ0IixCTE9DS19VU0VSOiJzbGFzaF9jaXJjbGVfbGVmdCIsQk9PS01BUktfQk9SREVSOiJib29rbWFyayIsQlJFQUtJTkdfTkVXU19BTFRfMToiYXJ0aWNsZV9hbGVydCIsQlJPQURDQVNUX0NBSVJPOiJwb2RjYXN0X2NhaXJvIiwKQlVHX1JFUE9SVDoiYnVnIixDQU1FUkFfQUxUOiJjYW1lcmEiLENBTVBBSUdOOiJtZWdhcGhvbmUiLENBTkNFTDoieF9jaXJjbGUiLENBUFRJT05TOiJjbG9zZWRfY2FwdGlvbiIsQ0FTVF9PVVRMSU5FOiJjaHJvbWVjYXN0IixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09GRjoiYmVsbCIsQ0hBTk5FTF9OT1RJRklDQVRJT05fUFJFRkVSRU5DRV9PTjoiYmVsbF9vbiIsQ0hBVDoibWVzc2FnZV9idWJibGVfbGVmdCIsQ0hBVF9CVUJCTEU6Im1lc3NhZ2VfYnViYmxlX2VtcHR5IixDSEFUX1NQQVJLOiJzcGFya19tZXNzYWdlX2J1YmJsZV9sZWZ0IixDSEVDS19CT1hfT1VUTElORV9CTEFOSzoiYm94X2VtcHR5IixDSEVDS19DSVJDTEVfT1VUTElORToiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfVEhJQ0s6ImNoZWNrX2NpcmNsZSIsQ0xBUklGWToiYXJ0aWNsZV9jbGFyaWZ5IixDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRDoiY2xvc2VkX2NhcHRpb24iLENMT1NFOiJ4X21hcmsiLApDTE9VRF9VUExPQUQ6ImNsb3VkX2Fycm93X3VwIixDT0xMQVBTRToiY2hldnJvbl91cCIsQ09MTEFQU0VfQ0FJUk86ImNoZXZyb25fdXBfY2Fpcm8iLENPTExFQ1RJT046ImxheWVycyIsQ09MT1JfTEVOUzoicGFsZXR0ZSIsQ09NTUVOVDoibWVzc2FnZV9idWJibGVfcmlnaHQiLENPTlNFTlRfU0hJRUxEOiJwZXJzb25fc2hpZWxkIixDT05URU5UX0NVVDoic2Npc3NvcnMiLENPTlRFTlRfQ1VUX0NBSVJPOiJzY2lzc29yc19jYWlybyIsQ09VUlNFOl8ueCgid2ViX2VuYWJsZV9jb3Vyc2VfaWNvbl91cGRhdGUiKT8iY3JlYXRvcl9hY2FkZW15IjoibGlnaHRidWxiIixDT1VSU0VfQ0FJUk86Xy54KCJ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZSIpPyJjcmVhdG9yX2FjYWRlbXlfY2Fpcm8iOiJsaWdodGJ1bGJfY2Fpcm8iLENSRUFUSU9OX0xJVkU6InJhZGFyX2xpdmUiLENSRUFUSU9OX1BPU1Q6ImJveF9wZW5jaWwiLENSRUFUSU9OX1VQTE9BRDoibXlfdmlkZW9zIixDUkVBVElPTl9VUExPQURfUkVEOiJ1cGxvYWQiLApDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTjoiZG9sbGFyX3NpZ24iLENSRUFUT1JfTUVUQURBVEFfTU9ORVRJWkFUSU9OX09GRjoiZG9sbGFyX3NpZ25fb2ZmIixDUkVBVE9SX1NUVURJTzoieW91dHViZV9zdHVkaW8iLERBU0hCT0FSRDoiZ3JpZF9hc3ltbWV0cmljYWwiLERFTEVURToidHJhc2hfY2FuIixERUxFVEVfU1dFRVA6InRyYXNoX2NhbiIsREVTS1RPUDoibGFwdG9wIixESVNMSUtFOiJ0aHVtYl9kb3duIixESVNMSUtFX1NFTEVDVEVEOiJ0aHVtYl9kb3duIixESVNNSVNTQUw6InhfbWFyayIsRElTTUlTU19RVUVVRToibGlzdF9yZW1vdmUiLERPTkVfQUxMOiJjaGVja19kb3VibGUiLERPV05fQVJST1c6ImFycm93X2Rvd24iLERPX05PVF9ESVNUVVJCOiJzbGFzaF9jaXJjbGVfbGVmdCIsRFJBRlQ6InBhcGVyX2Nvcm5lcl9mb2xkZWQiLERSQUdfSEFORExFOiJiYXJzXzIiLEVESVQ6InBlbmNpbCIsRU1PSkk6ImZhY2VfdmVyeV9oYXBweSIsRU1PSklfRkxBR1M6ImZsYWciLApFTU9KSV9PQkpFQ1RTOiJsaWdodGJ1bGIiLEVNT0pJX1BFT1BMRToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9SRUNFTlQ6ImNsb2NrIixFTVBUWV9IRUFSVDoiaGVhcnQiLEVNUFRZX0xJS0U6InRodW1iX3VwIixFUlJPUl9CTEFDSzoiYWxlcnRfY2lyY2xlIixFUlJPUl9PVVRMSU5FOiJhbGVydF9jaXJjbGUiLEVYSVRfQVBQOiJhcnJvd19pbiIsRVhJVF9UT19BUFA6ImFycm93X2luIixFWFBBTkQ6ImNoZXZyb25fZG93biIsRVhQQU5EX0FMTDoiY2hldnJvbl9leHBhbmQiLEVYUEFORF9DQUlSTzoiY2hldnJvbl9kb3duX2NhaXJvIixFWFBBTkRfTEVTUzoiY2hldnJvbl91cCIsRVhQQU5EX01PUkU6ImNoZXZyb25fZG93biIsRVhQTE9SRToiY29tcGFzcyIsRVhQTE9SRV9ERVNUSU5BVElPTjoiY29tcGFzcyIsRVhURVJOQUxfTElOSzoib3Blbl9uZXciLEZBQl9VUExPQUQ6InVwbG9hZCIsRkFDRV9IQVBQWV9PVVRMSU5FOiJmYWNlX2hhcHB5IixGQUNUX0NIRUNLOiJhcnRpY2xlX2NoZWNrIiwKRkFTSElPTl9MT0dPOiJmYXNoaW9uIixGQVNISU9OX0xPR09fQ0FJUk86ImZhc2hpb25fY2Fpcm8iLEZBVk9SSVRFOiJoZWFydCIsRkVFREJBQ0s6Im1lc3NhZ2VfYnViYmxlX2FsZXJ0IixGRUVEQkFDS19DQUlSTzoibWVzc2FnZV9idWJibGVfYWxlcnRfY2Fpcm8iLEZJTExfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsRklMTF9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLEZJTExfRE9MTEFSX1NJR05fSEVBUlRfMTI6ImRvbGxhcl9zaWduX2hlYXJ0IixGSUxURVI6Im1lbnVfZmlsdGVyIixGSVJTVF9QQUdFOiJjaGV2cm9uX2ZpcnN0IixGTEFHOiJmbGFnIixGVUxMX0hFQVJUOiJoZWFydCIsR0FNRV9DT05TT0xFX0RQQUQ6ImdhbWVfY29uc29sZV9kcGFkIixHQU1FX0NPTlNPTEVfRkFDRV9CVVRUT05TOiJnYW1lX2NvbnNvbGVfZmFjZV9idXR0b25zIixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHQU1JTkdfTE9HT19DQUlSTzoiZ2FtaW5nX2NhaXJvIiwKR09fVE9fUEFHRToiYXJyb3dfcmlnaHQiLEdST1VQUzoicGVvcGxlX2dyb3VwIixIQVBQWToiZmFjZV9oYXBweSIsSEVBTFRIX0FORF9TQUZFVFk6InNoaWVsZF9wbHVzIixIRUxQOiJxdWVzdGlvbl9jaXJjbGUiLEhFTFBfQ0FJUk86InF1ZXN0aW9uX2NpcmNsZV9jYWlybyIsSEVMUF9PVVRMSU5FOiJxdWVzdGlvbl9jaXJjbGUiLEhJREU6InNsYXNoX2NpcmNsZV9sZWZ0IixJTUFHRToiaW1hZ2UiLElORklOSVRZX0lDT046ImluZmluaXR5IixJTkZPOiJpbmZvX2NpcmNsZSIsSU5GT19PVVRMSU5FOiJpbmZvX2NpcmNsZSIsSU5TRVJUX0NIQVJUOiJiYXJfZ3JhcGhfYm94X3ZlcnRpY2FsIixJTlNFUlRfQ0hBUlRfT1VUTElORUQ6ImJhcl9ncmFwaF9ib3hfdmVydGljYWwiLElOU0VSVF9QSE9UTzoiaW1hZ2UiLEtFRVA6InBpbiIsS0VFUF9PRkY6InBpbl9vZmYiLEtFWUJPQVJEOiJrZXlib2FyZCIsS0VZQk9BUkRfQVJST1dfRE9XTjoiY2hldnJvbl9kb3duIixLRVlCT0FSRF9BUlJPV19VUDoiY2hldnJvbl91cCIsCktJRFNfQkxPQ0s6InNsYXNoX2NpcmNsZV9sZWZ0IixMQU5HVUFHRToiZ2xvYmUiLExBU1RfUEFHRToiY2hldnJvbl9sYXN0IixMQVVOQ0g6Im9wZW5fbmV3IixMRUFSTklORzoibGlnaHRidWxiIixMRUFSTklOR19DQUlSTzoibGlnaHRidWxiX2NhaXJvIixMSUJSQVJZX0FERDp0WSgibGlicmFyeV9hZGQiKSxMSUJSQVJZX09VVExJTkU6ImxpYnJhcnkiLExJQlJBUllfUkVNT1ZFOnRZKCksTElHSFRCVUxCX1NQQVJLX09VVExJTkU6ImxpZ2h0YnVsYl9zcGFyayIsTElLRVNfUExBWUxJU1Q6InRodW1iX3VwIixMSUtFU19QTEFZTElTVF9DQUlSTzoidGh1bWJfdXBfY2Fpcm8iLExJS0U6InRodW1iX3VwIixMSUtFX1NFTEVDVEVEOiJ0aHVtYl91cCIsTElWRToicmFkYXJfbGl2ZSIsTElWRV9DQUlSTzoicmFkYXJfbGl2ZV9jYWlybyIsTElWRV9VTkxJU1RFRDoibGluayIsTE9DQVRJT05fT046ImxvY2F0aW9uX3BvaW50IixMT0NBVElPTl9QSU46ImxvY2F0aW9uX3BvaW50IixMT09QOiJhcnJvd19yZXBlYXQiLApMT09QX0FDVElWRToiYXJyb3dfcmVwZWF0IixMT09QX09ORToiYXJyb3dfcmVwZWF0XzEiLExPT1BfT05FX0FDVElWRToiYXJyb3dfcmVwZWF0XzEiLE1FSDoiZmFjZV9tZWgiLE1FTUJFUlNfT05MWV9NT0RFX09GRjoibWVzc2FnZV9idWJibGVfbGVmdCIsTUVOVToiYmFyc18zIixNRVNTQUdFOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixNSUNST1BIT05FX09OOiJtaWMiLE1JWDoieW91dHViZV9taXgiLE1PTkVUSVpBVElPTl9PTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixNT05FWV9GSUxMOiJkb2xsYXJfc2lnbl9jb250YWluZXIiLE1PTkVZX0ZJTExfSlBZOiJ5ZW5fc2lnbl9jb250YWluZXIiLE1PTkVZX0hFQVJUOiJkb2xsYXJfc2lnbl9oZWFydCIsTU9SRV9IT1JJWjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsTU9SRV9WRVJUOiJvdmVyZmxvd192ZXJ0aWNhbCIsTVVTSUM6ImF1ZGlvIixNVVNJQ19DQUlSTzoiYXVkaW9fY2Fpcm8iLE1VU0lDX05PVEVfU1lNQk9MOiJtdXNpYyIsTVVTSUNfU0hVRkZMRToiYXJyb3dfc2h1ZmZsZSIsCk1ZX0NIQU5ORUw6InBlcnNvbl9jaXJjbGUiLE1ZX0xPQ0FUSU9OOiJsb2NhdGlvbl9wb2ludCIsTkVXU19TVE9SWToibmV3cyIsTkVYVDoiY2hldnJvbl9yaWdodCIsTk9USUZJQ0FUSU9OUzoiYmVsbCIsTk9USUZJQ0FUSU9OU19BQ1RJVkU6ImJlbGxfb24iLE5PVElGSUNBVElPTlNfQ0FJUk86ImJlbGxfY2Fpcm8iLE5PVElGSUNBVElPTlNfRE9ORV9DSEVDS01BUks6ImNoZWNrIixOT1RJRklDQVRJT05TX0lOQk9YOiJiZWxsIixOT1RJRklDQVRJT05TX05PTkU6ImJlbGwiLE5PVElGSUNBVElPTlNfT0ZGOiJiZWxsX29mZiIsTk9UX0lOVEVSRVNURUQ6InNsYXNoX2NpcmNsZV9sZWZ0IixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixPRkZMSU5FX0NMT1VEOiJjbG91ZF9vZmYiLE9GRkxJTkVfRE9XTkxPQUQ6ImRvd25sb2FkIixPRkZMSU5FX0RPV05MT0FEX0NBSVJPOiJkb3dubG9hZF9jYWlybyIsT0ZGTElORV9QQVVTRToicGF1c2UiLE9QRU5fSU5fTkVXOiJvcGVuX25ldyIsCk9VVExJTkVfQURKVVNUOiJhZGp1c3QiLE9VVExJTkVfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsT1VUTElORV9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLE9VVExJTkVfQkFHOiJiYWciLE9VVExJTkVfQ0xPQ0tfSEFMRl9DSVJDTEU6ImNsb2NrX2hhbGZfY2lyY2xlIixPVVRMSU5FX01PQklMRV9ET1dOTE9BRDoibW9iaWxlX2Rvd25sb2FkIixPVVRMSU5FX09WRVJGTE9XX0hPUklaT05UQUxfMzI6Im92ZXJmbG93X2hvcml6b250YWwiLE9VVExJTkVfT1ZFUkZMT1dfVkVSVElDQUw6Im92ZXJmbG93X3ZlcnRpY2FsIixPVVRMSU5FX1lPVVRVQkVfSU1QUk9WRV9UVjoieW91dHViZV9pbXByb3ZlX3R2IixQQUlEOiJkb2xsYXJfc2lnbiIsUEFVU0VfT1VUTElORUQ6InBhdXNlIixQQVlNRU5UOiJjcmVkaXRfY2FyZCIsUEVSU09OX1JBREFSX0ZJTExFRDoicGVyc29uX3JhZGFyIixQSE9ORV9ET1dOTE9BRDoibW9iaWxlX2Rvd25sb2FkIixQTEFZQUJMRVNfTE9HTzoidGljX3RhY190b2UiLApQTEFZQUJMRVNfTE9HT19DQUlSTzoidGljX3RhY190b2VfY2Fpcm8iLFBMQVlMSVNUUzoibGlzdF9wbGF5X2Fycm93IixQTEFZTElTVFNfQ0FJUk86Imxpc3RfcGxheV9hcnJvd19jYWlybyIsUExBWUxJU1RfQUREOnRZKCJsaXN0X2FkZCIpLFBMQVlMSVNUX0FERF9DSEVDSzp0WSgibGlzdF9jaGVjayIpLFBMQVlMSVNUX1BMQVk6Imxpc3RfcGxheV9hcnJvdyIsUExBWV9BTEw6InBsYXlfYXJyb3ciLFBMQVlfQ0lSQ0xFOiJwbGF5X2Fycm93X2NpcmNsZSIsUExBWV9PVVRMSU5FRDoicGxheV9hcnJvd19jaXJjbGUiLFBSSVZBQ1lfSU5GTzoic2hpZWxkIixQUklWQUNZX1BSSVZBVEU6ImxvY2siLFBSSVZBQ1lfUFVCTElDOiJlYXJ0aCIsUFJJVkFDWV9VTkxJU1RFRDoibGluayIsUFJPTU9URToibWVnYXBob25lIixQVVJDSEFTRVM6InByaWNlX3RhZyIsUFVSQ0hBU0VfU1VQRVJfQ0hBVDoic3VwZXJfY2hhdCIsUFVSQ0hBU0VfU1VQRVJfU1RJQ0tFUjoic3VwZXJfc3RpY2tlciIsUVVFU1RJT05fQU5TV0VSOiJtZXNzYWdlX2J1YmJsZV9xdWVzdGlvbiIsClFVRVVFX1BMQVlfTEFTVDoibGlzdF9xdWV1ZV9sYXN0IixRVUVVRV9QTEFZX05FWFQ6Imxpc3RfcGxheV9hcnJvdyIsUkVNSVhfRklMTEVEOiJ5b3V0dWJlX3Nob3J0c19yZW1peCIsUkVNT1ZFOiJiYXJfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFOiJiYXJfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFX09VVExJTkU6ImJhcl9jaXJjbGUiLFJFTU9WRV9ET05FOiJjaGVja19kb3VibGVfb2ZmIixSRU1PVkVfRlJPTV9ISVNUT1JZOiJiYXJfY2lyY2xlIixSRU1PVkVfRlJPTV9QTEFZTElTVDoiYmFyX2NpcmNsZSIsUkVNT1ZFX01PREVSQVRPUjoic2hpZWxkX29mZiIsUkVQTEFZOiJhcnJvd19jaXJjbGUiLFJFUExBWV8xMDoic2tpcF9iYWNrXzEwIixSRVBPUlRfUFJPQkxFTToiYWxlcnRfdHJpYW5nbGUiLFNBRDoiZmFjZV9zYWQiLFNBVkVfUExBWUxJU1Q6ImJvb2ttYXJrIixTQ0hFRFVMRToiY2xvY2siLFNDSE9PTDoiY3JlYXRvcl9hY2FkZW15IixTQ1JFRU5fRlVMTFNDUkVFTjoic2NyZWVuX2Z1bGwiLApTRUFSQ0hfSElTVE9SWToiYXJyb3dfdGltZSIsU0VMTDoicHJpY2VfdGFnIixTRVRUSU5HUzoiZ2VhciIsU0VUVElOR1NfQ0FJUk86ImdlYXJfY2Fpcm8iLFNFVFRJTkdTX0xJR0hUOiJnZWFyIixTRVRUSU5HU19NQVRFUklBTDoiZ2VhciIsU0hBUkVfQVJST1c6InNoYXJlIixTSElFTERfV0lUSF9BVkFUQVI6InBlcnNvbl9zaGllbGQiLFNIT1BQSU5HX0JBRzoiYmFnIixTSE9QUElOR19CQUdfQ0FJUk86ImJhZ19jYWlybyIsU0hPUFBJTkdfQ0FSVDoiY2FydCIsU0hPUlRTX0NPTU1FTlQ6InlvdXR1YmVfc2hvcnRzX21lc3NhZ2VfYnViYmxlX3JpZ2h0IixTSE9SVFNfRElTTElLRToieW91dHViZV9zaG9ydHNfdGh1bWJfZG93biIsU0hPUlRTX0xJS0U6InlvdXR1YmVfc2hvcnRzX3RodW1iX3VwIixTSE9SVFNfU0hBUkU6InlvdXR1YmVfc2hvcnRzX3NoYXJlIixTSFVGRkxFOiJhcnJvd19zaHVmZmxlIixTTE9XX01PREVfT0ZGOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixTT0NJQUw6InBlb3BsZSIsClNPUlQ6Im1lbnVfc29ydCIsU1BBUktfTElHSFRCVUxCX09VVExJTkU6InNwYXJrX2xpZ2h0YnVsYiIsU1BFRURfMVg6IjF4IixTUEVFRF8xX1BPSU5UXzJYOiIxX3BvaW50XzJ4IixTUEVFRF8xX1BPSU5UXzVYOiIxX3BvaW50XzV4IixTUEVFRF8xX1BPSU5UXzhYOiIxX3BvaW50Xzh4IixTUEVFRF8yWDoiMngiLFNQRUVEX1BPSU5UXzJYOiJwb2ludF8yeCIsU1BFRURfUE9JTlRfOFg6InBvaW50Xzh4IixTUE9OU09SU0hJUF9TVEFSOiJzdGFyX2NpcmNsZSIsU1RBRkZfUElDSzoic3BvdGxpZ2h0IixTVEFSVF9EVlI6ImFkZCIsU1RBUl9CT1JERVI6InN0YXIiLFNUQVJfQ0lSQ0xFX1JJQkJPTl9PVVRMSU5FOiJzdGFyX2NpcmNsZV9yaWJib24iLFNUSUNLRVJfRU1PVElDT046ImZhY2VfaGFwcHkiLFNUT1BfRFZSOiJzdG9wIixTVUJTQ1JJQkU6InlvdXR1YmVfbG9nb19pY29uIixTVUJTQ1JJQkVfUExVUzoiYWRkX2NhaXJvIixTVUJTQ1JJUFRJT05fTUFOQUdFUjoiZ2VhciIsU1VQRVJWSVNPUl9BQ0NPVU5UOiJwZW9wbGUiLApTVVBFUl9DSEFUX0ZPUl9HT09EOiJoYW5kc19oZWFydCIsU1dBUF9IT1JJWjoiYXJyb3dfc3dhcF9ob3Jpem9udGFsIixTV0lUQ0hfQUNDT1VOVFM6InBlcnNvbl9hY2NvdW50IixUQUJfQUNDT1VOVDoicGVyc29uIixUQUJfQUNUSVZJVFk6ImJlbGwiLFRBQl9CT09LTUFSSzoiYm9va21hcmsiLFRBQl9FWFBMT1JFOiJjb21wYXNzIixUQUJfSE9NRToiaG9tZSIsVEFCX0hPTUVfQ0FJUk86ImhvbWVfY2Fpcm8iLFRBQl9JTkJPWDoibWFpbCIsVEFCX0xJS0VEOiJ0aHVtYl91cCIsVEFCX01VU0lDX1BSRU1JVU06InlvdXR1YmVfbXVzaWMiLFRBQl9TSE9SVFM6InlvdXR1YmVfc2hvcnRzIixUQUJfU0hPUlRTX0NBSVJPOiJ5b3V0dWJlX3Nob3J0c19jYWlybyIsVEFCX1NVQlNDUklQVElPTlM6InN1YnNjcmlwdGlvbnMiLFRBQl9TVUJTQ1JJUFRJT05TX0NBSVJPOiJzdWJzY3JpcHRpb25zX2NhaXJvIixUQUJfVFJFTkRJTkc6ImZpcmUiLFRJTUVSOiJzdG9wd2F0Y2giLFRSQUlMRVI6InlvdXR1YmVfb3JpZ2luYWxzIiwKVFJFTkRJTkc6ImZpcmUiLFRSRU5ESU5HX0NBSVJPOiJmaXJlX2NhaXJvIixUUkVORElOR19ET1dOOiJyYXRpbmdfZG93biIsVFJFTkRJTkdfVVA6InJhdGluZ191cCIsVFJPUEhZOiJ0cm9waHkiLFRST1BIWV9DRUxFQlJBVElPTlM6ImZpcmV3b3JrcyIsVFVORToiYWRqdXN0IixVTkJMT0NLX1VTRVI6ImJhcl9jaXJjbGUiLFVOTElNSVRFRDoieW91dHViZV9sb2dvX2ljb24iLFVOUExVR0dFRF9MSVZFX0dVSURFOiJyYWRhcl9saXZlIixVTlBMVUdHRURfU1BPUlRTOiJleWVfb2ZmIixVUExPQURTOiJsaWJyYXJ5IixVUF9BUlJPVzoiYXJyb3dfdXAiLFZFUlRJQ0FMX0FMSUdOX0JPVFRPTToiZG93bmxvYWQiLFZFUllfSEFQUFk6ImZhY2VfdmVyeV9oYXBweSIsVkVSWV9TQUQ6ImZhY2VfdmVyeV9zYWQiLFZJREVPR0FNRV9BU1NFVDoiZ2FtaW5nIixWSURFT1M6InBsYXlfYXJyb3dfY2lyY2xlIixWSURFT19DQUxMOiJ2aWRlb19jYW1lcmFfYWRkIixWSURFT19MSUJSQVJZX1dISVRFOiJsaWJyYXJ5IiwKVklERU9fWU9VVFVCRToieW91dHViZV9sb2dvX2ljb24iLFZJRVdfTElTVDoibGlzdF92aWV3IixWSUVXX0xJU1RfQ0FJUk86Imxpc3Rfdmlld19jYWlybyIsVklTSUJJTElUWToiZXllIixWSVNJQklMSVRZX09GRjoiZXllX29mZiIsVk9MVU1FX01VVEU6InZvbHVtZV9vZmYiLFZPTFVNRV9VUDoidm9sdW1lX29uIixXQUxMUEFQRVI6ImltYWdlIixXQVJOSU5HOiJhbGVydF90cmlhbmdsZSIsV0FUQ0hfSElTVE9SWToiYXJyb3dfdGltZSIsV0FUQ0hfSElTVE9SWV9DQUlSTzoiYXJyb3dfdGltZV9jYWlybyIsV0FUQ0hfTEFURVI6ImNsb2NrIixXQVRDSF9MQVRFUl9DQUlSTzoiY2xvY2tfY2Fpcm8iLFdBVENIX1JFTEFURURfTUlYOiJ5b3V0dWJlX21peCIsV0hBVF9UT19XQVRDSDoiaG9tZSIsWU9VVFVCRV9DUkVBVEVfUkVEX0xPR086InlvdXR1YmVfY3JlYXRlX2xvZ28iLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRToieW91dHViZV9tdXNpYyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FX0NBSVJPOiJ5b3V0dWJlX211c2ljX2NhaXJvIiwKWU9VVFVCRV9TSE9SVFNfRklMTF9OT19UUklBTkdMRV9SRURfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZSIsWU9VVFVCRV9TSE9SVFNfT1VUTElORV8yNDoieW91dHViZV9zaG9ydHMiLFlUX09VVExJTkVfTVVTSUNfMjQ6Im11c2ljIn07dmFyIHhwYT17QUNDRVNTX1RJTUU6ImNsb2NrIixBQ0NPVU5UX0JPWDoicGVyc29uX3NxdWFyZSIsQUNDT1VOVF9CT1hfQ0FJUk86InBlcnNvbl9zcXVhcmUiLEFDQ09VTlRfQ0lSQ0xFOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0NJUkNMRV9DQUlSTzoicGVyc29uX2NpcmNsZSIsQUNDT1VOVF9MSU5LRUQ6ImFjY291bnRfbGluayIsQUNDT1VOVF9VTkxJTktFRDoiYWNjb3VudF9saW5rIixBRERfQ0lSQ0xFOiJhZGRfY2lyY2xlIixBRERfQ0lSQ0xFX09VVExJTkU6ImFkZF9jaXJjbGUiLEFERF9GUklFTkQ6InBlcnNvbl9jaGlsZCIsQUREX01PREVSQVRPUjoic2hpZWxkX2FkZCIsQUREX1RPX0xJQlJBUlk6ImJvb2ttYXJrIixBRERfVE9fUExBWUxJU1Q6ImFkZCIsQUREX1RPX1FVRVVFX1RBSUw6InF1ZXVlIixBRERfVE9fUkVNT1RFX1FVRVVFOiJwbGF5bGlzdF9hdWRpbyIsQUREX1RPX1dBVENIX0xBVEVSOiJjbG9jayIsQUREX1ZJREVPX0xJTks6ImZpbG1fc3RyaXBfYWRkIixBRE1JTl9QQU5FTF9TRVRUSU5HUzoicGVyc29uX2dlYXIiLApBTEVSVF9XQVJOX1JFRDoiYWxlcnRfdHJpYW5nbGUiLEFMSUdOX0xFRlQ6InRleHRfYWxpZ25fbGVmdCIsQVJST1dTX0FMRVJUOiJhcnJvd19zcGxpdF9hbGVydCIsQVJST1dfQkFDSzoiYXJyb3dfbGVmdCIsQVJST1dfQ0lSQ0xFOiJhcnJvd19jb3VudGVyY2xvY2t3aXNlIixBUlJPV19DSVJDTEVfUExBWToicmVwbGF5IixBUlJPV19DSVJDTEVfUklHSFQ6ImFycm93X2Nsb2Nrd2lzZSIsQVJST1dfRElBR09OQUw6ImFycm93X3VwX2xlZnQiLEFSUk9XX0RJQUdPTkFMX1VQX1JJR0hUOiJhcnJvd191cF9yaWdodCIsQVJST1dfRFJPUF9ET1dOOiJ0cmlhbmdsZV9kb3duIixBUlJPV19EUk9QX1VQOiJ0cmlhbmdsZV91cCIsQVJST1dfRk9SV0FSRDoiYXJyb3dfcmlnaHQiLEFSUk9XX1BBVVNFOiJwYXVzZV9oaXN0b3J5IixBUlJPV19VTkRPOiJ1bmRvIixBUlRJQ0xFOiJ0ZXh0X3BhZ2UiLEFSVElDTEVfQUxFUlQ6InRleHRfcGFnZV9hbGVydCIsQVJUSUNMRV9DSEVDSzoidGV4dF9wYWdlX2NoZWNrIiwKQVJUSUNMRV9DTEFSSUZZOiJ0ZXh0X3BhZ2VfaW5mbyIsQVJUSVNUOiJwZXJzb25fYXVkaW8iLEFVRElPVFJBQ0s6ImF1ZGlvIixBVURJT19CQURHRToiYXVkaW9fYmFkZ2UiLEFVRElPX1NVUlJPVU5EOiJzdXJyb3VuZF9zb3VuZCIsQVVUT19BV0VTT01FOiJzcGFya2xlcyIsQVZBVEFSX0FOT05ZTU9VUzoicGVyc29uX2NpcmNsZSIsQVZBVEFSX0xPR0dFRF9PVVQ6InBlcnNvbl9jaXJjbGUiLEJBQ0s6ImFycm93X2xlZnQiLEJBUl9DSEFSVDoiY2hhcnRfYmFyIixCQVJfQ0lSQ0xFOiJtaW51c19jaXJjbGUiLEJBUl9IT1JJWk9OVEFMOiJtaW51cyIsQkxPQ0s6ImNpcmNsZV9zbGFzaCIsQkxPQ0tfVVNFUjoiY2lyY2xlX3NsYXNoIixCT09LTUFSS19CT1JERVI6ImJvb2ttYXJrIixCT1hfT1BFTl9DSEVDSzoicXVpeiIsQk9YX1BFTkNJTDoic3F1YXJlX3BlbmNpbCIsQk9YX1NUQUNLXzM6InNxdWFyZTNfc3RhY2siLEJSRUFLSU5HX05FV1NfQUxUXzE6InRleHRfcGFnZV9hbGVydCIsCkJST0FEQ0FTVDoicG9kY2FzdCIsQlJPQURDQVNUX0NBSVJPOiJwb2RjYXN0IixCVUdfUkVQT1JUOiJidWciLENBTUVSQV9BTFQ6ImNhbWVyYSIsQ0FNUEFJR046Im1lZ2FwaG9uZSIsQ0FOQ0VMOiJ4X2NpcmNsZSIsQ0FQVElPTlM6ImNsb3NlZF9jYXB0aW9ucyIsQ0FTVF9JQ09OOiJjaHJvbWVjYXN0IixDQVNUX09VVExJTkU6ImNocm9tZWNhc3QiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT0ZGOiJiZWxsIixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09OOiJiZWxsX3dhdmVzIixDSEFUOiJ0ZXh0X2J1YmJsZSIsQ0hBVF9CVUJCTEU6ImJ1YmJsZSIsQ0hFQ0tfQk9YOiJjaGVja19zcXVhcmUiLENIRUNLX0JPWF9PVVRMSU5FX0JMQU5LOiJzcXVhcmUiLENIRUNLX0NJUkNMRV9GSUxMRUQ6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfQ0lSQ0xFX09VVExJTkU6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfQ0lSQ0xFX1RISUNLOiJjaGVja19jaXJjbGUiLENIRUNLX0RPVUJMRToiY2hlY2tfZG9uZSIsCkNIRUNLX0RPVUJMRV9PRkY6ImNoZWNrX2RvbmVfc2xhc2giLENIRVZST05fTEVGVDoiY2hldnJvbl9sZWZ0IixDSEVWUk9OX1JJR0hUOiJjaGV2cm9uX3JpZ2h0IixDSEVWUk9OX1JJR0hUX0NBSVJPOiJjaGV2cm9uX3JpZ2h0IixDSVJDTEVTX09WRVJMQVA6ImFjY291bnRfbGluayIsQ0xBUFBFUkJPQVJEX0NBSVJPOiJjbGFwcGVyYm9hcmQiLENMQVJJRlk6InRleHRfcGFnZV9pbmZvIixDTE9DS19BUlJPV1M6ImNsb2NrX3NwbGl0IixDTE9DS19BUlJPV1NfQUxFUlQ6ImNsb2NrX3NwbGl0X2FsZXJ0IixDTE9TRURfQ0FQVElPTjoiY2xvc2VkX2NhcHRpb25zIixDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRDoiY2xvc2VkX2NhcHRpb25zIixDTE9TRToieCIsQ0xPVURfVVBMT0FEOiJjbG91ZF9hcnJvd191cCIsQ09MTEFQU0U6ImNoZXZyb25fdXAiLENPTExBUFNFX0NBSVJPOiJjaGV2cm9uX3VwIixDT0xMRUNUSU9OOiJzcXVhcmUzZF9zdGFjayIsQ09MT1JfTEVOUzoicGFpbnRfcGFsZXR0ZSIsCkNPTU1FTlQ6InRleHRfYnViYmxlIixDT05TRU5UX1NISUVMRDoicGVyc29uX3NoaWVsZCIsQ09OVEVOVF9DVVQ6InNjaXNzb3JzIixDT05URU5UX0NVVF9DQUlSTzoic2Npc3NvcnMiLENPVVJTRToiZ3JhZHVhdGlvbl9jYXAiLENPVVJTRV9DQUlSTzoiZ3JhZHVhdGlvbl9jYXAiLENSRUFUSU9OX0xJVkU6ImxpdmUiLENSRUFUSU9OX1BPU1Q6InNxdWFyZV9wZW5jaWwiLENSRUFUSU9OX1VQTE9BRDoidmlkZW8iLENSRUFUSU9OX1VQTE9BRF9SRUQ6InVwbG9hZCIsQ1JFQVRPUl9BQ0FERU1ZOiJncmFkdWF0aW9uX2NhcCIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT046ImRvbGxhcl9zaWduX2NpcmNsZSIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT05fT0ZGOiJkb2xsYXJfc2lnbl9jaXJjbGVfc2xhc2giLENSRUFUT1JfU1RVRElPOiJ5b3V0dWJlX3N0dWRpbyIsREFSS19USEVNRToidGhlbWUiLERFTEVURToidHJhc2hfY2FuIixERUxFVEVfU1dFRVA6InRyYXNoX2NhbiIsCkRFU0tUT1A6ImxhcHRvcCIsRElTTElLRToidGh1bWJfZG93biIsRElTTElLRV9TRUxFQ1RFRDoidGh1bWJfZG93biIsRElTTUlTU0FMOiJ4IixESVNNSVNTX1FVRVVFOiJwbGF5bGlzdF94IixET0dGT09EOiJwYXdwcmludCIsRE9MTEFSX1NJR046ImRvbGxhcl9zaWduX2NpcmNsZSIsRE9MTEFSX1NJR05fQ0lSQ0xFOiJkb2xsYXJfc2lnbl9jaXJjbGUiLERPTExBUl9TSUdOX0NPTlRBSU5FUjoiZG9sbGFyX3NpZ25fcmVjdGFuZ2xlIixET1dOX0FSUk9XOiJhcnJvd19kb3duIixET19OT1RfRElTVFVSQjoiY2lyY2xlX3NsYXNoIixEUkFGVDoiZG9jdW1lbnQiLERSQUdfSEFORExFOiJlcXVhbCIsRUFSVEg6Imdsb2JlIixFRElUOiJwZW5jaWwiLEVNT0pJOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX0ZMQUdTOiJmbGFnIixFTU9KSV9PQkpFQ1RTOiJsaWdodGJ1bGIiLEVNT0pJX1BFT1BMRToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9SRUNFTlQ6ImNsb2NrIixFTVBUWV9IRUFSVDoiaGVhcnQiLApFTVBUWV9MSUtFOiJ0aHVtYl91cCIsRVJST1JfQkxBQ0s6ImFsZXJ0X2NpcmNsZSIsRVJST1JfT1VUTElORToiYWxlcnRfY2lyY2xlIixFUlJPUl9XSElURToiYWxlcnRfY2lyY2xlIixFWElUX0FQUDoiYXJyb3dfaW4iLEVYSVRfVE9fQVBQOiJhcnJvd19pbiIsRVhQQU5EOiJjaGV2cm9uX2Rvd24iLEVYUEFORF9BTEw6ImNoZXZyb25fZXhwYW5kIixFWFBBTkRfQ0FJUk86ImNoZXZyb25fZG93biIsRVhQQU5EX0xFU1M6ImNoZXZyb25fdXAiLEVYUEFORF9NT1JFOiJjaGV2cm9uX2Rvd24iLEVYUExPUkU6ImNvbXBhc3MiLEVYUExPUkVfREVTVElOQVRJT046ImNvbXBhc3MiLEVYVEVSTkFMX0xJTks6ImFycm93X3VwX3JpZ2h0IixFWUVfT0ZGOiJleWVfc2xhc2giLEZBQl9VUExPQUQ6InVwbG9hZCIsRkFDRV9IQVBQWV9PVVRMSU5FOiJmYWNlX2hhcHB5IixGQUNFX01FSDoiZmFjZV9uZXV0cmFsIixGQUNUX0NIRUNLOiJ0ZXh0X3BhZ2VfY2hlY2siLEZBU0hJT05fTE9HTzoiZmFzaGlvbiIsCkZBU0hJT05fTE9HT19DQUlSTzoiZmFzaGlvbiIsRkFWT1JJVEU6InRodW1iX3VwIixGRUVEQkFDSzoiYWxlcnRfYnViYmxlIixGRUVEQkFDS19DQUlSTzoiYWxlcnRfYnViYmxlIixGSUxMX0FSUk9XX1NPTElEX0RPV05fMTY6ImFycm93X3NvbGlkX2Rvd24iLEZJTExfQVJST1dfU09MSURfVVBfMTY6ImFycm93X3NvbGlkX3VwIixGSUxMX0RPTExBUl9TSUdOX0hFQVJUXzEyOiJkb2xsYXJfc2lnbl9oZWFydCIsRklSU1RfUEFHRToiY2hldnJvbl9sZWZ0X2VuZCIsRkxBR19DQUlSTzoiZmxhZyIsRkxBU0hfT0ZGOiJmbGFzaF9zbGFzaCIsRkxBU0hfT046ImZsYXNoIixGVUxMX0hFQVJUOiJoZWFydCIsR0FNSU5HX0xPR086ImdhbWluZyIsR0FNSU5HX0xPR09fQ0FJUk86ImdhbWluZyIsR09fVE9fUEFHRToiYXJyb3dfcmlnaHQiLEdSSURfQVNZTU1FVFJJQ0FMOiJkYXNoYm9hcmQiLEdST1VQUzoicGVyc29uMyIsSEFORF9TV0lQRV9MRUZUOiJnZXN0dXJlX3N3aXBlX2xlZnQiLEhBTkRfU1dJUEVfUklHSFQ6Imdlc3R1cmVfc3dpcGVfcmlnaHQiLApIQVBQWToiZmFjZV9oYXBweSIsSEVBTFRIX0FORF9TQUZFVFk6InNoaWVsZF9oZWFsdGgiLEhFQVJUX0JPWDoiaGVhcnRfY3ViZSIsSEVMUDoiaGVscF9jaXJjbGUiLEhFTFBfQ0FJUk86ImhlbHBfY2lyY2xlIixIRUxQX09VVExJTkU6ImhlbHBfY2lyY2xlIixISURFOiJjaXJjbGVfc2xhc2giLElOQ09HTklUT19DQUlSTzoiaW5jb2duaXRvIixJTkZJTklUWV9JQ09OOiJpbmZpbml0eSIsSU5GTzoiaW5mb19jaXJjbGUiLElORk9fT1VUTElORToiaW5mb19jaXJjbGUiLElOU0VSVF9DSEFSVDoiY2hhcnRfYmFyX3NxdWFyZSIsSU5TRVJUX0NIQVJUX09VVExJTkVEOiJjaGFydF9iYXJfc3F1YXJlIixJTlNFUlRfUEhPVE86ImltYWdlIixLRUVQOiJwaW4iLEtFRVBfT0ZGOiJwaW5fc2xhc2giLEtFWUJPQVJEOiJrZXlib2FyZCIsS0VZQk9BUkRfQVJST1dfRE9XTjoiY2hldnJvbl9kb3duIixLRVlCT0FSRF9BUlJPV19VUDoiY2hldnJvbl91cCIsS0lEU19CTE9DSzoiY2lyY2xlX3NsYXNoIiwKTEFOR1VBR0U6Imdsb2JlIixMQVNUX1BBR0U6ImNoZXZyb25fcmlnaHRfZW5kIixMQVVOQ0g6ImFycm93X3VwX3JpZ2h0IixMRUFSTklORzoibGlnaHRidWxiIixMRUFSTklOR19DQUlSTzoibGlnaHRidWxiIixMSUJSQVJZX0FERDoiYm9va21hcmsiLExJQlJBUllfSU1BR0U6ImltYWdlX3N0YWNrIixMSUJSQVJZX01VU0lDOiJhdWRpb19zcXVhcmVfc3RhY2siLExJQlJBUllfT1VUTElORToicGxheV9zcXVhcmVfc3RhY2siLExJQlJBUllfUkVNT1ZFOiJib29rbWFyayIsTElCUkFSWV9TQVZFRDoiY2hlY2tfc3F1YXJlX3N0YWNrIixMSUtFU19QTEFZTElTVDoidGh1bWJfdXAiLExJS0VTX1BMQVlMSVNUX0NBSVJPOiJ0aHVtYl91cCIsTElLRToidGh1bWJfdXAiLExJS0VfU0VMRUNURUQ6InRodW1iX3VwIixMSVNUX1FVRVVFOiJxdWV1ZSIsTElWRV9DQUlSTzoibGl2ZSIsTElWRV9VTkxJU1RFRDoibGluayIsTE9DQVRJT05fT046ImxvY2F0aW9uX3BpbiIsTE9DQVRJT05fUElOOiJsb2NhdGlvbl9waW4iLApMT0NBVElPTl9QT0lOVDoibG9jYXRpb25fcGluIixMT09QOiJyZXBlYXQiLExPT1BfQUNUSVZFOiJyZXBlYXQiLExPT1BfT05FOiJyZXBlYXQxIixMT09QX09ORV9BQ1RJVkU6InJlcGVhdDEiLE1FRVQ6Imdvb2dsZV9tZWV0IixNRUg6ImZhY2VfbmV1dHJhbCIsTUVNQkVSU0hJUFM6Im1lbWJlcnNoaXBzIixNRU1CRVJTX09OTFlfTU9ERV9PRkY6InRleHRfYnViYmxlIixNRU5VX0ZJTFRFUjoiZmlsdGVyIixNRVNTQUdFOiJ0ZXh0X2J1YmJsZSIsTUVTU0FHRV9CVUJCTEVfR0VBUjoiYnViYmxlX2dlYXIiLE1FU1NBR0VfQlVCQkxFX0xFRlQ6InRleHRfYnViYmxlIixNRVNTQUdFX0JVQkJMRV9MRUZUX0JPT1NUOiJidWJibGVfc3BhcmtsZXMiLE1FU1NBR0VfQlVCQkxFX09WRVJMQVA6ImJ1YmJsZV9zdGFjayIsTUVTU0FHRV9CVUJCTEVfUVVFU1RJT046ImhlbHBfYnViYmxlIixNSUNST1BIT05FX09OOiJtaWMiLE1PTkVUSVpBVElPTl9PTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixNT05FWV9GSUxMOiJkb2xsYXJfc2lnbl9yZWN0YW5nbGUiLApNT05FWV9GSUxMX0pQWToieWVuX3NpZ25fcmVjdGFuZ2xlIixNT05FWV9IQU5EOiJkb2xsYXJfc2lnbl9jaXJjbGVfaGFuZCIsTU9ORVlfSEVBUlQ6ImRvbGxhcl9zaWduX2hlYXJ0IixNT09OX1o6InNsZWVwX3RpbWVyIixNT1JFX0hPUklaOiJvdmVyZmxvd19ob3Jpem9udGFsIixNT1JFX1ZFUlQ6Im92ZXJmbG93X3ZlcnRpY2FsIixNVVNJQzoiYXVkaW8iLE1VU0lDX0NBSVJPOiJhdWRpbyIsTVVTSUNfRVhQTElDSVRfQkFER0U6ImV4cGxpY2l0IixNVVNJQ19ORVdfUkVMRUFTRToiYXVkaW9fYmFkZ2UiLE1VU0lDX05PVEVfU1lNQk9MOiJhdWRpbyIsTVVTSUNfU0NJU1NPUlM6ImF1ZGlvX3NjaXNzb3JzIixNVVNJQ19TSFVGRkxFOiJzaHVmZmxlIixNWV9DSEFOTkVMOiJwZXJzb25fY2lyY2xlIixNWV9MT0NBVElPTjoibG9jYXRpb25fcGluIixNWV9WSURFT1M6InZpZGVvIixNWV9WSURFT1NfQ0FJUk86InZpZGVvIixORVdTX0NBSVJPOiJuZXdzIixORVdTX1NUT1JZOiJuZXdzIiwKTkVYVDoiY2hldnJvbl9yaWdodCIsTk9URV9BREQ6ImJ1YmJsZV9wZW5jaWwiLE5PVElGSUNBVElPTlM6ImJlbGwiLE5PVElGSUNBVElPTlNfQUNUSVZFOiJiZWxsX3dhdmVzIixOT1RJRklDQVRJT05TX0NBSVJPOiJiZWxsIixOT1RJRklDQVRJT05TX0RPTkVfQ0hFQ0tNQVJLOiJjaGVjayIsTk9USUZJQ0FUSU9OU19JTkJPWDoiYmVsbCIsTk9USUZJQ0FUSU9OU19OT05FOiJiZWxsIixOT1RJRklDQVRJT05TX09GRjoiYmVsbF9zbGFzaCIsTk9UX0lOVEVSRVNURUQ6ImNpcmNsZV9zbGFzaCIsT0ZGSUNJQUxfQVJUSVNUX0JBREdFOiJhdWRpbyIsT0ZGTElORV9DTE9VRDoiY2xvdWRfc2xhc2giLE9GRkxJTkVfRE9XTkxPQUQ6ImRvd25sb2FkIixPRkZMSU5FX0RPV05MT0FEX0NBSVJPOiJkb3dubG9hZCIsT0ZGTElORV9QQVVTRToicGF1c2UiLE9QRU5fSU5fTkVXOiJhcnJvd191cF9yaWdodCIsT1VUTElORV9BREpVU1Q6ImFkanVzdCIsT1VUTElORV9BUlJPV19TT0xJRF9ET1dOOiJhcnJvd19zb2xpZF9kb3duIiwKT1VUTElORV9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQOiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLE9VVExJTkVfQkFHOiJiYWciLE9VVExJTkVfQ0xPQ0tfSEFMRl9DSVJDTEU6ImNsb2NrX2hhbGZfZGFzaGVkIixPVVRMSU5FX01PQklMRV9ET1dOTE9BRDoibW9iaWxlX2Fycm93X2Rvd24iLE9VVExJTkVfT1ZFUkZMT1dfSE9SSVpPTlRBTF8zMjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsT1VUTElORV9PVkVSRkxPV19WRVJUSUNBTDoib3ZlcmZsb3dfdmVydGljYWwiLE9VVExJTkVfWU9VVFVCRV9JTVBST1ZFX1RWOiJzdGFyX3R2IixPVVRMSU5FX1lPVVRVQkVfU0hPUlRTX1BMVVM6InNob3J0c19hZGQiLFBBSUQ6ImRvbGxhcl9zaWduX2NpcmNsZSIsUEFVU0VfT1VUTElORUQ6InBhdXNlIixQQVlNRU5UOiJjcmVkaXRfY2FyZCIsUEVPUExFOiJwZXJzb25fY2hpbGQiLApQRU9QTEVfMjoicGVyc29uMl9yZWN0YW5nbGUiLFBFT1BMRV9BTFQ6InBlcnNvbjIiLFBFT1BMRV9HUk9VUDoicGVyc29uMyIsUEVPUExFX05PVEU6ImJ1YmJsZV9hc3RlcmlzayIsUEVSU09OXzI6InBlcnNvbjIiLFBFUlNPTl9BQ0NPVU5UOiJwZXJzb25fc3F1YXJlX3N0YWNrIixQRVJTT05fTUlOVVM6InBlcnNvbl94IixQRVJTT05fTVVTSUM6InBlcnNvbl9hdWRpbyIsUEVSU09OX1JBREFSOiJwZXJzb25fd2F2ZXMiLFBFUlNPTl9SQURBUl9GSUxMRUQ6InBlcnNvbl93YXZlcyIsUEVSU09OX1NFVFRJTkc6InBlcnNvbl9nZWFyIixQSE9ORUxJTks6InFyX2NvZGUiLFBIT05FOiJwaG9uZSIsUEhPTkVfRE9XTkxPQUQ6Im1vYmlsZV9hcnJvd19kb3duIixQSUNUVVJFX0lOX1BJQ1RVUkU6InBpY3R1cmVfaW5fcGljdHVyZSIsUExBWUFCTEVTX0xPR086InBsYXlhYmxlcyIsUExBWUFCTEVTX0xPR09fQ0FJUk86InBsYXlhYmxlcyIsUExBWUxJU1RTOiJwbGF5bGlzdCIsUExBWUxJU1RTX0NBSVJPOiJwbGF5bGlzdCIsClBMQVlMSVNUX0FERF9DSEVDSzoiYm9va21hcmsiLFBMQVlfQUxMOiJwbGF5IixQTEFZX0FSUk9XOiJwbGF5IixQTEFZX0FSUk9XX0NJUkNMRToicGxheV9jaXJjbGUiLFBMQVlfQVJST1dfSEFMRl9DSVJDTEU6InBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkIixQTEFZX0FSUk9XX09VVExJTkVEOiJwbGF5IixQTEFZX0NJUkNMRToicGxheV9jaXJjbGUiLFBMQVlfT1VUTElORUQ6InBsYXlfY2lyY2xlIixQT0RDQVNUX0FERDoicG9kY2FzdF9hZGQiLFBPRENBU1RfQ0hFQ0s6InBvZGNhc3RfY2hlY2siLFBSSVZBQ1lfSU5GTzoic2hpZWxkX3giLFBSSVZBQ1lfUFJJVkFURToibG9jayIsUFJJVkFDWV9QVUJMSUM6Imdsb2JlIixQUklWQUNZX1VOTElTVEVEOiJsaW5rIixQUk9NT1RFOiJtZWdhcGhvbmUiLFBVUkNIQVNFUzoicHJpY2VfdGFnIixQVVJDSEFTRV9TVVBFUl9DSEFUOiJzdXBlcl9jaGF0IixQVVJDSEFTRV9TVVBFUl9TVElDS0VSOiJzdXBlcl9zdGlja2VyIixRVUVTVElPTl9BTlNXRVI6ImhlbHBfYnViYmxlIiwKUVVFU1RJT05fQ0lSQ0xFOiJoZWxwX2NpcmNsZSIsUVVFVUVfUExBWV9MQVNUOiJxdWV1ZV9sYXN0IixRVUVVRV9QTEFZX05FWFQ6InF1ZXVlX25leHQiLFFVT1RBVElPTl9NQVJLOiJxdW90ZSIsUkFEQVJfTElWRToibGl2ZSIsUkVNT1ZFOiJtaW51c19jaXJjbGUiLFJFTU9WRV9DSVJDTEU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0NJUkNMRV9PVVRMSU5FOiJtaW51c19jaXJjbGUiLFJFTU9WRV9GUk9NX0hJU1RPUlk6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0ZST01fUExBWUxJU1Q6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX01PREVSQVRPUjoic2hpZWxkX3NsYXNoIixSRVBMQVk6ImFycm93X2NvdW50ZXJjbG9ja3dpc2UiLFJFUExBWV8xMDoic2tpcDEwX2JhY2siLFJFUExBWV9BUlJPVzoicmVwbGF5IixSRVBPUlRfUFJPQkxFTToiYWxlcnRfdHJpYW5nbGUiLFJTU19PRkY6InJzc19zbGFzaCIsU0FEOiJmYWNlX3NhZCIsU0FWRV9QTEFZTElTVDoiYm9va21hcmsiLFNDSEVEVUxFOiJjbG9jayIsClNDSE9PTDoiZ3JhZHVhdGlvbl9jYXAiLFNDUkVFTl9ERUZBVUxUOiJwbGF5ZXJfZGVmYXVsdCIsU0NSRUVOX0ZVTExTQ1JFRU46InBsYXllcl9mdWxsX2VudGVyIixTQ1JFRU5fTElHSFQ6ImFtYmllbnRfbW9kZSIsU0NSRUVOX1JPVEFUSU9OOiJyb3RhdGVfcG9ydHJhaXQiLFNDUkVFTl9TV0lUQ0g6InBsYXllcl9zd2l0Y2giLFNDUkVFTl9USEVBVFJFOiJwbGF5ZXJfdGhlYXRlciIsU0VBUkNIX0NBSVJPOiJzZWFyY2giLFNFQVJDSF9ISVNUT1JZOiJoaXN0b3J5IixTRUxMOiJwcmljZV90YWciLFNFVFRJTkdTOiJnZWFyIixTRVRUSU5HU19DQUlSTzoiZ2VhciIsU0VUVElOR1NfTElHSFQ6ImdlYXIiLFNFVFRJTkdTX01BVEVSSUFMOiJnZWFyIixTRVRUSU5HU19SRU1PVEU6InJlbW90ZV93YXZlcyIsU0hBUkU6InNoYXJlIixTSEFSRV9BUlJPVzoic2hhcmUiLFNIQVJFX0NBSVJPOiJzaGFyZSIsU0hJRUxEOiJzaGllbGRfeCIsU0hJRUxEX0VNUFRZOiJzaGllbGQiLFNISUVMRF9PRkY6InNoaWVsZF9zbGFzaCIsClNISUVMRF9XSVRIX0FWQVRBUjoicGVyc29uX3NoaWVsZCIsU0hPUFBJTkdfQkFHOiJiYWciLFNIT1BQSU5HX0JBR19DQUlSTzoiYmFnIixTSE9QUElOR19DQVJUOiJjYXJ0IixTSE9SVFNfQ09NTUVOVDoidGV4dF9idWJibGUiLFNIT1JUU19ESVNMSUtFOiJ0aHVtYl9kb3duIixTSE9SVFNfTElLRToidGh1bWJfdXAiLFNIT1JUU19TSEFSRToic2hhcmUiLFNLSVBfRk9SV0FSRF8zMDoic2tpcDMwX2ZvcndhcmQiLFNMQVNIX0NJUkNMRV9MRUZUOiJjaXJjbGVfc2xhc2giLFNMQVNIX0NJUkNMRV9SSUdIVDoiY2lyY2xlX3NsYXNoIixTTE9XX01PREU6ImJ1YmJsZV9zbG93IixTTE9XX01PREVfT0ZGOiJ0ZXh0X2J1YmJsZSIsU0xPV19NT1RJT05fVklERU86InBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkIixTT0NJQUw6InBlcnNvbl9jaGlsZCIsU1BBUktMRToic3BhcmtsZXMiLFNQQVJLX0lNQUdFOiJpbWFnZV9zcGFyayIsU1BBUktfTElHSFRCVUxCX09VVExJTkU6InNwYXJrX2xpZ2h0YnVsYiIsClNQQVJLX1BFTkNJTDoicGVuY2lsX3NwYXJrIixTUEFSS19SQURBUjoic3Bhcmtfd2F2ZXMiLFNQQVJLX1ZJREVPOiJ2aWRlb19zcGFyayIsU1BFQUtFUl9HUk9VUDoic3BlYWtlcl9zdGFjayIsU1BFQUtFUl9PRkY6InNwZWFrZXJfc2xhc2giLFNQRUVEXzFYOiJuMXgiLFNQRUVEXzFfUE9JTlRfMlg6Im4xcG9pbnQyeCIsU1BFRURfMV9QT0lOVF81WDoibjFwb2ludDV4IixTUEVFRF8xX1BPSU5UXzhYOiJuMXBvaW50OHgiLFNQRUVEXzJYOiJuMngiLFNQT05TT1JTSElQX1NUQVI6InN0YXJfY2lyY2xlIixTUE9SVFM6ImJhc2tldGJhbGwiLFNQT1RMSUdIVDoic3BvdGxpZ2h0IixTVEFGRl9QSUNLOiJzcG90bGlnaHQiLFNUQVJUX0RWUjoiYWRkIixTVEFSX0JPUkRFUjoic3RhciIsU1RBUl9DSVJDTEVfUklCQk9OOiJtZW1iZXJzaGlwc19naWZ0IixTVEFSX0hBTEY6InN0YXJfZnVsbF9oYWxmIixTVEFSX1NIT09USU5HOiJoeXBlIixTVElDS0VSOiJzdGlja2VyIixTVElDS0VSX0VNT1RJQ09OOiJmYWNlX2hhcHB5IiwKU1RPUF9EVlI6InN0b3AiLFNVQlNDUklCRToieW91dHViZSIsU1VCU0NSSUJFX1BMVVM6ImFkZCIsU1VCU0NSSVBUSU9OX01BTkFHRVI6ImdlYXIiLFNVUEVSU1RBUjoic3VwZXJfc3RhciIsU1VQRVJWSVNPUl9BQ0NPVU5UOiJwZXJzb25fY2hpbGQiLFNVUEVSX0NIQVRfRk9SX0dPT0Q6ImhhbmRzX2hlYXJ0IixTV0FQX0hPUklaOiJhcnJvd19zd2FwX2hvcml6b250YWwiLFNXSVRDSF9BQ0NPVU5UUzoicGVyc29uX3NxdWFyZV9zdGFjayIsVEFCX0FDQ09VTlQ6InBlcnNvbiIsVEFCX0FDVElWSVRZOiJiZWxsIixUQUJfQk9PS01BUks6ImJvb2ttYXJrIixUQUJfRVhQTE9SRToiY29tcGFzcyIsVEFCX0hPTUU6ImhvbWUiLFRBQl9IT01FX0NBSVJPOiJob21lIixUQUJfSU5CT1g6Im1haWwiLFRBQl9MSUtFRDoidGh1bWJfdXAiLFRBQl9NVVNJQ19QUkVNSVVNOiJ5b3V0dWJlX211c2ljIixUQUJfU0hPUlRTOiJzaG9ydHMiLFRBQl9TSE9SVFNfQ0FJUk86InNob3J0cyIsVEFCX1NVQlNDUklQVElPTlM6InN1YnNjcmlwdGlvbnMiLApUQUJfU1VCU0NSSVBUSU9OU19DQUlSTzoic3Vic2NyaXB0aW9ucyIsVEFCX1RSRU5ESU5HOiJ0cmVuZGluZyIsVEFSR0VUOiJ0YXJnZXQiLFRBUkdFVF9BREQ6InRhcmdldF9hZGQiLFRFTVBMQVRFX0FERDoidGVtcGxhdGVfYWRkIixURVhUOiJmb250IixUSUNLRVRfU1RBUjoic3Rhcl90aWNrZXQiLFRJTUVSOiJzdG9wd2F0Y2giLFRSRU5ESU5HX0NBSVJPOiJ0cmVuZGluZyIsVFJFTkRJTkdfRE9XTjoiYXJyb3dfdHJlbmRfZG93biIsVFJFTkRJTkdfVVA6ImFycm93X3RyZW5kX3VwIixUUk9QSFlfQ0FJUk86InRyb3BoeSIsVFJPUEhZX0NFTEVCUkFUSU9OUzoiZmlyZXdvcmtzIixUUk9QSFlfU1RBUjoic3Rhcl90cm9waHkiLFRVTkU6ImFkanVzdCIsVFZfT0ZGOiJ0dl9zbGFzaCIsVU5CTE9DS19VU0VSOiJtaW51c19jaXJjbGUiLFVORkFWT1JJVEU6InRodW1iX2Rvd24iLFVOTElNSVRFRDoieW91dHViZSIsVU5QTFVHR0VEX0xJVkVfR1VJREU6ImxpdmUiLFVOUExVR0dFRF9TUE9SVFM6ImV5ZV9zbGFzaCIsClVQTE9BRFM6InBsYXlfc3F1YXJlX3N0YWNrIixVUF9BUlJPVzoiYXJyb3dfdXAiLFZFUlRJQ0FMX0FMSUdOX0JPVFRPTToiY2hldnJvbl9kb3duX2VuZCIsVkVSVElDQUxfQUxJR05fVE9QOiJjaGV2cm9uX3VwX2VuZCIsVkVSWV9IQVBQWToiZmFjZV92ZXJ5X2hhcHB5IixWRVJZX1NBRDoiZmFjZV92ZXJ5X3NhZCIsVklERU9TOiJwbGF5X2NpcmNsZSIsVklERU9fQ0FMTDoidmlkZW9fY2FtZXJhX2FkZCIsVklERU9fTElCUkFSWV9XSElURToicGxheV9zcXVhcmVfc3RhY2siLFZJREVPX1FVQUxJVFlfNEs6Im40ayIsVklERU9fUVVBTElUWV84SzoibjhrIixWSURFT19ZT1VUVUJFOiJ5b3V0dWJlIixWSUVXX0xJU1RfQ0FJUk86InZpZXdfbGlzdCIsVklFV19NT0RVTEU6InZpZXdfY29sdW1uM19yb3cyIixWSVNJQklMSVRZOiJleWUiLFZJU0lCSUxJVFlfT0ZGOiJleWVfc2xhc2giLFZPTFVNRV9ET1dOOiJ2b2x1bWVfbWluIixWT0xVTUVfTVVURToidm9sdW1lX211dGUiLFZPTFVNRV9PRkY6InZvbHVtZV9tdXRlIiwKVk9MVU1FX1NUQUJMRToic3RhYmxlX3ZvbHVtZSIsVk9MVU1FX1VQOiJ2b2x1bWVfbWF4IixXQUxMUEFQRVI6ImltYWdlIixXQVJOSU5HOiJhbGVydF90cmlhbmdsZSIsV0FUQ0hfSElTVE9SWToiaGlzdG9yeSIsV0FUQ0hfSElTVE9SWV9DQUlSTzoiaGlzdG9yeSIsV0FUQ0hfTEFURVI6ImNsb2NrIixXQVRDSF9MQVRFUl9DQUlSTzoiY2xvY2siLFdBVENIX1JFTEFURURfTUlYOiJtaXgiLFdIQVRfVE9fV0FUQ0g6ImhvbWUiLFlPVVRVQkVfQ1JFQVRFX1JFRF9MT0dPOiJ5b3V0dWJlX2NyZWF0ZV9sb2dvIixZT1VUVUJFX0xJTktFRF9UVjoidHZfbW9iaWxlIixZT1VUVUJFX01VU0lDX01PTk9DSFJPTUU6InlvdXR1YmVfbXVzaWMiLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRV9DQUlSTzoieW91dHViZV9tdXNpYyIsWU9VVFVCRV9TSE9SVFNfQVJST1dfRE9XTjoiYXJyb3dfZG93biIsWU9VVFVCRV9TSE9SVFNfQVJST1dfVVA6ImFycm93X3VwIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoic2hvcnRzX2VtcHR5IiwKWU9VVFVCRV9TSE9SVFNfRklMTF9OT19UUklBTkdMRV9XSElURV8xNjoic2hvcnRzX2VtcHR5IixZT1VUVUJFX1NIT1JUU19PVVRMSU5FXzI0OiJzaG9ydHMiLFlPVVRVQkVfU0hPUlRTX09VVExJTkVfV0lUSF9URVhUXzI0OiJzaG9ydHNfdGV4dF9sb2dvIixZVF9PVVRMSU5FX01VU0lDXzI0OiJhdWRpbyJ9O3ZhciBWcWE9ezE1OltbMSwzLDI0XV0sIjFfcG9pbnRfMngiOltbMSwxLDI0XV0sIjFfcG9pbnRfNXgiOltbMSwxLDI0XV0sIjFfcG9pbnRfOHgiOltbMSwxLDI0XV0sIjF4IjpbWzEsMSwyNF1dLCIyX3BvaW50XzV4IjpbWzEsMSwyNF1dLCIyZCI6W1sxLDEsMjRdXSwiMngiOltbMSwzLDI0XV0sIjNkIjpbWzEsMSwyNF1dLCIzeCI6W1sxLDMsMjRdXSwiNGQiOltbMSwxLDI0XV0sIjRrIjpbWzAsMywyNF0sWzEsMywyNF1dLDYwOltbMSwzLDI0XV0sIjhrIjpbWzAsMiwyNF0sWzEsMiwyNF1dLGFjY2Vzc2liaWxpdHk6W1sxLDQsMjRdXSxhY2NvdW50X2xpbms6W1sxLDgsMjRdXSxhY2NvdW50X2xpbmtfZXJyb3I6W1sxLDYsMjRdXSxhY2NvdW50X2xpbmtfc29tZTpbWzAsNSwyNF1dLGFjY291bnRfbGlua19zdWNjZXNzOltbMCw1LDI0XV0sYWRkOltbMSw5LDE2XSxbMSw5LDI0XV0sYWRkX2NhaXJvOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDI0XV0sYWRkX2NpcmNsZTpbWzEsNiwyNF0sClsxLDYsMzZdXSxhZGRfaGFsZl9jaXJjbGU6W1sxLDIsMjRdXSxhZGp1c3Q6W1swLDksMjRdLFsxLDksMThdLFsxLDksMjRdXSxhaXJwbGFuZTpbWzAsNSwyNF0sWzEsNSwyMF0sWzEsNSwyNF1dLGFpcnBsYXk6W1sxLDYsMTZdLFsxLDYsMjRdXSxhaXJwbGF5X29mZjpbWzEsMSwyNF1dLGFsYnVtOltbMCw4LDI0XSxbMSw4LDI0XV0sYWxlcnRfY2lyY2xlOltbMCwxMSwyNF0sWzEsMTEsMTZdLFsxLDExLDI0XV0sYWxlcnRfdHJpYW5nbGU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzEsMTAsMjRdXSxhbGlnbl9jZW50ZXI6W1swLDYsMjRdLFsxLDYsMjRdXSxhbGlnbl9sZWZ0OltbMCw2LDI0XSxbMSw2LDI0XV0sYWxpZ25fcmlnaHQ6W1swLDYsMjRdLFsxLDYsMjRdXSxhcnJvd19jYXBzOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfY2lyY2xlOltbMSw2LDI0XSxbMSw2LDQ4XV0sYXJyb3dfY2lyY2xlX2Rhc2g6W1sxLDEsMjRdXSxhcnJvd19jaXJjbGVfcGxheTpbWzEsMSwyNF0sWzEsMSwKMzZdLFsxLDEsNDhdXSxhcnJvd19jaXJjbGVfcmlnaHQ6W1swLDMsMjRdLFsxLDMsMTJdLFsxLDMsMTZdLFsxLDMsMThdLFsxLDMsMjRdXSxhcnJvd19kaWFnb25hbDpbWzEsNSwyNF1dLGFycm93X2RpYWdvbmFsX2Rvd25fcmlnaHQ6W1swLDEsMTJdLFswLDEsMTZdLFswLDEsMThdLFswLDEsMjRdLFsxLDEsMTJdLFsxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjRdXSxhcnJvd19kaWFnb25hbF91cF9yaWdodDpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLGFycm93X2Rvd246W1swLDMsMjRdLFsxLDMsMjRdXSxhcnJvd19kb3duX2NpcmNsZTpbWzAsNCwxMl0sWzAsNCwxNl0sWzAsNCwxOF0sWzAsNCwyNF1dLGFycm93X2ZsaXA6W1sxLDEwLDE2XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSxhcnJvd19mbGlwX2RvbGxhcl9zaWduOltbMSwyLDI0XV0sYXJyb3dfaW46W1swLDgsMjRdLFsxLDgsMjRdXSxhcnJvd19sZWZ0OltbMSwKOCwyNCwhMF1dLGFycm93X2xlZnRfY2Fpcm86W1sxLDIsMjQsITBdXSxhcnJvd19tZXJnZTpbWzEsMiwyNF1dLGFycm93X291dDpbWzAsMiwyNF1dLGFycm93X3BhdXNlOltbMSwxLDI0XV0sYXJyb3dfcmVkbzpbWzEsMSwyNF1dLGFycm93X3JlbWl4OltbMSwxLDI0XV0sYXJyb3dfcmVwZWF0OltbMCw1LDI0XSxbMSw1LDI0XV0sYXJyb3dfcmVwZWF0XzE6W1swLDMsMjRdLFsxLDMsMjRdXSxhcnJvd19yaWdodDpbWzEsMywyNCwhMF1dLGFycm93X3NodWZmbGU6W1swLDUsMjRdLFsxLDUsMjRdXSxhcnJvd19za2lwX2ZvcndhcmQ6W1swLDEsMjRdLFsxLDEsMjRdXSxhcnJvd19zb2xpZF9kb3duOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDE2XSxbMSw0LDI0XV0sYXJyb3dfc29saWRfdXA6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxhcnJvd19zcGxpdDpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3N3YXBfaG9yaXpvbnRhbDpbWzAsNSwyNF0sWzEsNSwxOF0sClsxLDUsMjRdXSxhcnJvd190aW1lOltbMCw4LDI0XSxbMSw4LDI0XV0sYXJyb3dfdGltZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGFycm93X3RpbWVfZm9yd2FyZDpbWzEsMSwyNF1dLGFycm93X3VuZG86W1sxLDEsMjRdXSxhcnJvd191cDpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3VwX2NpcmNsZTpbWzAsNCwxMl0sWzAsNCwxNl0sWzAsNCwxOF0sWzAsNCwyNF1dLGFycm93c19hbGVydDpbWzEsMSwyNF1dLGFydGljbGU6W1sxLDIsMjRdXSxhcnRpY2xlX2FsZXJ0OltbMSwyLDI0XV0sYXJ0aWNsZV9jaGVjazpbWzEsMiwyNF1dLGFydGljbGVfY2xhcmlmeTpbWzEsMiwyNF1dLGF1ZGlvOltbMCwxNCwxMl0sWzAsMTQsMTZdLFswLDE0LDE4XSxbMCwxNCwyNF0sWzEsMTQsMThdLFsxLDE0LDI0XV0sYXVkaW9fYmFkZ2U6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxhdWRpb19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX29mZjpbWzEsMiwyNF1dLGF1ZGlvX3N1cnJvdW5kOltbMCwKMSwyNF0sWzEsMSwyNF1dLGJhY2tncm91bmQ6W1sxLDEsMjRdXSxiYWNrc3BhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxiYWc6W1swLDcsMTJdLFswLDcsMThdLFswLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxiYWdfYm9va21hcms6W1sxLDIsMjRdXSxiYWdfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxiYXJfY2lyY2xlOltbMSw0LDI0XV0sYmFyX2dyYXBoOltbMCwyLDI0XSxbMSwyLDI0XV0sYmFyX2dyYXBoX2JveF92ZXJ0aWNhbDpbWzAsNiwyNF0sWzEsNiwyNF1dLGJhcl9ob3Jpem9udGFsOltbMSwyLDE2XSxbMSwyLDI0XV0sYmFyc18yOltbMSw5LDE2XSxbMSw5LDI0XV0sYmFyc18zOltbMCwyLDI0XSxbMSwyLDI0XV0sYmVha2VyOltbMSwyLDI0XV0sYmVsbDpbWzAsMTEsMjRdLFsxLDExLDI0XV0sYmVsbF9jYWlybzpbWzAsMywyNF0sWzEsMywyNF1dLGJlbGxfb2ZmOltbMSw1LDI0XV0sYmVsbF9vZmZfY2Fpcm86W1sxLDIsMjRdXSxiZWxsX29uOltbMCw3LDI0XV0sYmVsbF9vbl9jYWlybzpbWzAsCjIsMjRdXSxibHVyOltbMSwyLDI0XV0sYm9vazpbWzEsMywyNF1dLGJvb2ttYXJrOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxib29rbWFya19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGJveF8zZDpbWzAsMSwyNF0sWzEsMSwyNF1dLGJveF9iYXI6W1swLDMsMjRdXSxib3hfY2hlY2s6W1swLDYsMThdLFswLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdXSxib3hfY2hldnJvbl9yaWdodDpbWzEsMywyNF1dLGJveF9kYXNoZWRfdHJpYW5nbGU6W1sxLDMsMjRdXSxib3hfZW1wdHk6W1sxLDUsMjRdXSxib3hfb3Blbl9jaGVjazpbWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLGJveF9wZW5jaWw6W1sxLDMsMTZdLFsxLDMsMjRdXSxib3hfcGxhY2Vob2xkZXJfbGVmdDpbWzEsMSwyNF1dLGJveF9zZWFyY2g6W1sxLDEsMjRdXSxib3hfc3RhY2tfMzpbWzAsMSwyNF0sWzEsMSwyNF1dLGJveGVzXzI6W1sxLDMsMjRdXSxicmllZmNhc2U6W1sxLDIsMjRdXSxicmllZmNhc2Vfc2xhc2g6W1swLAozLDI0XV0sYnJpZ2h0bmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGJyb2FkY2FzdDpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywxNl0sWzEsMywxOF0sWzEsMywyNF0sWzEsMyw0OF1dLGJ1ZzpbWzAsNCwyNF0sWzEsNCwyNF1dLGJ1c2luZXNzOltbMSw0LDI0XV0sY2FibGU6W1sxLDIsMjRdXSxjYWxjdWxhdG9yOltbMCwzLDI0XSxbMSwzLDI0XV0sY2FsZW5kYXI6W1swLDQsMjRdLFsxLDQsMjRdXSxjYW1lcmE6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGNhbWVyYV9hdWRpbzpbWzEsNSwyNF1dLGNhbWVyYV9lZmZlY3RzOltbMSw0LDI0XV0sY2FtZXJhX2ZsaXA6W1sxLDQsMjRdXSxjYW1lcmFfaGFzaHRhZzpbWzEsNSwyNF1dLGNhbWVyYV9zd2l0Y2g6W1swLDMsMjRdLFsxLDMsMjRdXSxjYXJkOltbMCwzLDEyXSxbMCwzLDE2XSxbMCwzLDI0XV0sY2FydDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhcnRfc3Bhcms6W1sxLDEsMjRdXSxjYXQ6W1swLDMsMjRdLFsxLDMsMjRdXSxjZWxlYnJhdGlvbjpbWzEsCjIsMjRdXSxjaGVjazpbWzAsMTMsMTJdLFswLDEzLDE2XSxbMCwxMywyNF0sWzEsMTMsMTZdLFsxLDEzLDI0XV0sY2hlY2tfY2lyY2xlOltbMCwxMCwxOF0sWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2hlY2tfZG91YmxlOltbMSwxLDI0XV0sY2hlY2tfZG91YmxlX29mZjpbWzEsMSwyNF1dLGNoZXZyb25fY29sbGFwc2U6W1sxLDMsMjRdXSxjaGV2cm9uX2Rvd246W1sxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX2Rvd25fY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX2Rvd25fY2lyY2xlOltbMCwzLDI0XV0sY2hldnJvbl9leHBhbmQ6W1sxLDUsMjRdXSxjaGV2cm9uX2ZpcnN0OltbMSwxLDI0XV0sY2hldnJvbl9sYXN0OltbMSwxLDI0XV0sY2hldnJvbl9sZWZ0OltbMSw5LDE2LCEwXSxbMSw5LDE4LCEwXSxbMSw5LDI0LCEwXV0sY2hldnJvbl9sZWZ0X2NpcmNsZTpbWzAsMywyNF1dLGNoZXZyb25fbGVmdF9pb3M6W1sxLDMsMjRdXSxjaGV2cm9uX2xlZnRfaW9zX2NhaXJvOltbMSwyLDI0XV0sCmNoZXZyb25fcmlnaHQ6W1swLDcsMTYsITBdLFswLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTYsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxjaGV2cm9uX3JpZ2h0X2NhaXJvOltbMSwyLDI0XV0sY2hldnJvbl9yaWdodF9jaXJjbGU6W1swLDMsMjRdXSxjaGV2cm9uX3JpZ2h0X2lvczpbWzEsMSwyNF1dLGNoZXZyb25fdXA6W1sxLDksMTZdLFsxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX3VwX2NhaXJvOltbMSwyLDI0XV0sY2hldnJvbl91cF9jaXJjbGU6W1swLDMsMjRdXSxjaHJvbWVjYXN0OltbMCwxMSwyNF0sWzEsMTEsMjRdXSxjaHJvbWVjYXN0X2FuaW1hdGVfZnJhbWVfMTpbWzEsNSwyNF1dLGNocm9tZWNhc3RfYW5pbWF0ZV9mcmFtZV8yOltbMSw1LDI0XV0sY2hyb21lY2FzdF9hbmltYXRlX2ZyYW1lXzM6W1sxLDUsMjRdXSxjaHJvbWVjYXN0X2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hyb21lY2FzdF9tb2JpbGU6W1sxLDQsMjRdLFsxLDQsMzZdXSxjaHJvbWVjYXN0X3dhdmVmb3JtOltbMSwKMiwyNF1dLGNpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLGNpcmNsZV9mdWxsOltbMCwzLDI0XV0sY2lyY2xlX2hhbGZfZnVsbDpbWzEsMSwyNF1dLGNpcmNsZXNfNjpbWzAsMSwyNF1dLGNpcmNsZXNfb3ZlcmxhcDpbWzAsMSwyNF0sWzEsMSwyNF1dLGNpcmNsZXNfb3ZlcmxhcF9jaGVjazpbWzAsMSwxNl0sWzAsMSwyNF1dLGNsYXBwZXJib2FyZDpbWzAsMywyNF0sWzEsMywyNF1dLGNsYXBwZXJib2FyZF9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrOltbMCwxMCwyNF0sWzEsMTAsMTZdLFsxLDEwLDI0XV0sY2xvY2tfYXJyb3dzOltbMSwxLDI0XV0sY2xvY2tfYXJyb3dzX2FsZXJ0OltbMSwxLDI0XV0sY2xvY2tfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjbG9ja19oYWxmX2NpcmNsZTpbWzAsMSwyNF0sWzEsMSwyNF1dLGNsb3NlZF9jYXB0aW9uOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxjbG91ZDpbWzEsMiwyNF1dLGNsb3VkX2Fycm93X2Rvd246W1sxLDMsMjRdXSxjbG91ZF9hcnJvd191cDpbWzAsCjYsMjRdLFsxLDYsMjRdXSxjbG91ZF9jaGVjazpbWzAsMywyNF0sWzEsMywyNF1dLGNsb3VkX2VsbGlwc2lzOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfb2ZmOltbMSwyLDI0XV0sY29kZTpbWzEsMiwyNF1dLGNvbXBhc3M6W1swLDksMjRdLFsxLDksMjRdXSxjb21wYXNzX2NhaXJvOltbMCwxLDI0XSxbMSwxLDI0XV0sY29udHJvbGxlcjpbWzAsMiwyNF0sWzEsMiwyNF1dLGNvcHk6W1sxLDMsMjRdXSxjb3B5cmlnaHQ6W1swLDQsMjRdLFsxLDQsMjRdXSxjcmVhdG9yX2FjYWRlbXk6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdLFsxLDMsMjRdXSxjcmVhdG9yX2FjYWRlbXlfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjcmVkaXRfY2FyZDpbWzEsNCwyNF1dLGNyb3A6W1sxLDQsMTZdLFsxLDQsMjRdXSxjcm9wX3JvdGF0ZTpbWzEsMiwyNF1dLGNyb3duOltbMCw1LDE2XSxbMCw1LDI0XSxbMSw1LDEyXSxbMSw1LDE2XSxbMSw1LDI0XV0sY3ViZV9zcGFyazpbWzEsMSwyNF1dLApjdXJ2ZV9zOltbMCwxLDI0XV0sZGFzaGJvYXJkX3BsdXM6W1sxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjBdLFsxLDEsMjRdXSxkaWVfMzpbWzAsNSwyNF0sWzEsNSwyNF1dLGRpcmVjdGlvbnM6W1sxLDMsMjRdXSxkb2dmb29kOltbMSwxLDI0XV0sZG9sbGFyX3NpZ246W1swLDcsMjRdLFsxLDcsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGU6W1swLDEyLDE2XSxbMCwxMiwyNF0sWzEsMTIsMTZdLFsxLDEyLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX3BhdXNlOltbMSwyLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX3BsdXM6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jb250YWluZXI6W1sxLDcsMjRdXSxkb2xsYXJfc2lnbl9oZWFydDpbWzAsMjQsMTJdLFswLDI0LDI0XSxbMSwyNCwxNl0sWzEsMjQsMjRdXSxkb2xsYXJfc2lnbl9vZmY6W1sxLDMsMjRdXSxkb3Q6W1swLDIsMTJdLFswLDIsMjRdXSxkb3dubG9hZDpbWzAsMTEsMjRdLFsxLDExLDE2XSxbMSwxMSwyNF1dLGRvd25sb2FkX2NhaXJvOltbMCwKMiwyNF0sWzEsMiwyNF1dLGRvd25sb2FkZWQ6W1swLDgsMjRdXSxkb3dubG9hZGluZzpbWzEsNSwyNF1dLGRvd25sb2FkaW5nXzA6W1sxLDUsMjRdXSxkb3dubG9hZGluZ18xOltbMSw2LDI0XV0sZG93bmxvYWRpbmdfMjpbWzEsNiwyNF1dLGRvd25sb2FkaW5nXzM6W1sxLDYsMjRdXSxkb3dubG9hZGluZ180OltbMSw2LDI0XV0sZG93bmxvYWRpbmdfNTpbWzEsNywyNF1dLGRvd25sb2FkaW5nXzY6W1sxLDYsMjRdXSxkcml2ZV9hZGQ6W1sxLDIsMjRdXSxlYXJ0aDpbWzAsMTIsMjRdLFsxLDEyLDE2XSxbMSwxMiwxOF0sWzEsMTIsMjRdXSxleHBsaWNpdDpbWzAsNywxOF0sWzAsNywyNF0sWzEsNywyNF1dLGV5ZTpbWzAsNiwyNF0sWzEsNiwyNF1dLGV5ZV9vZmY6W1sxLDQsMjRdXSxleWVkcm9wcGVyOltbMSwyLDI0XV0sZmFjZV9hZGQ6W1sxLDEsMjRdXSxmYWNlX2Fycm93c19kaWFnb25hbDpbWzEsMSwyNF1dLGZhY2VfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLApbMSwxMiwzNl1dLGZhY2VfaW1hZ2U6W1sxLDIsMjRdXSxmYWNlX21laDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYWNlX21laF8yOltbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XSxbMSw2LDM2XV0sZmFjZV9wYWludGJydXNoOltbMSwyLDI0XV0sZmFjZV9zYWQ6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV91bmhhcHB5OltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfdXBzZXQ6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV92ZXJ5X2hhcHB5OltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfdmVyeV9zYWQ6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFzaGlvbjpbWzAsNCwyNF0sWzEsNCwyNF1dLGZhc2hpb25fY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmYXN0X2JhY2s6W1swLAozLDI0XSxbMSwzLDI0XV0sZmFzdF9mb3J3YXJkOltbMCw1LDI0XV0sZmlsbV9zdHJpcDpbWzAsNywyNF0sWzEsNywyNF1dLGZpbG1fc3RyaXBfYWRkOltbMSwyLDI0XV0sZmlsdGVyX2ZhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxmaWx0ZXJfcGhvdG86W1swLDgsMjRdLFsxLDgsMjRdXSxmaXJlOltbMCwxMCwxMl0sWzAsMTAsMjRdLFsxLDEwLDE2XSxbMSwxMCwyNF1dLGZpcmVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmaXJld29ya3M6W1sxLDMsMjRdXSxmbGFnOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxmbGFnX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxhc2hfYXV0bzpbWzAsMywyNF0sWzEsMywyNF1dLGZsYXNoX2NpcmNsZTpbWzAsNSwxOF0sWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX29mZjpbWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX29uOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxpcF9ob3Jpem9udGFsOltbMSw0LDI0XV0sZmxpcF9ob3Jpem9udGFsX2Rhc2g6W1sxLAoxLDI0XV0sZmxpcF92ZXJ0aWNhbF9kYXNoOltbMSwxLDI0XV0sZm9sZGVyOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDI0XV0sZm9udF9zcXVhcmVfc3Bhcms6W1sxLDEsMTZdLFsxLDEsMjRdXSxmb290YmFsbDpbWzAsNCwyNF0sWzEsNCwyNF1dLGdhbWluZzpbWzAsMywyNF0sWzEsMywyNF1dLGdhbWluZ19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGdlYXI6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGdlYXJfY2Fpcm86W1swLDMsMjRdLFsxLDMsMjRdXSxnaG9zdDpbWzAsNSwyNF0sWzEsNSwyNF1dLGdpZjpbWzEsMywyNF1dLGdpZnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxnbG9iZTpbWzAsNCwyNF0sWzAsNCwzNl0sWzEsNCwyNF0sWzEsNCwzNl1dLGdsb2JlX2ltYWdlOltbMCwzLDI0XSxbMCwzLDM2XSxbMSwzLDI0XSxbMSwzLDM2XV0sZ2xvdzpbWzEsMiwyNF1dLGdvb2dsZV9sZW5zOltbMSw0LDI0XV0sZ3JlYXRlcl90aGFuXzIwOltbMSwyLDI0XV0sZ3JpZF8yeDI6W1sxLDEsMjRdXSwKZ3JpZF8zX2J5XzM6W1swLDEsMjRdLFsxLDEsMjRdXSxncmlkX2FzeW1tZXRyaWNhbDpbWzAsMSwyNF0sWzEsMSwyNF1dLGhhbmQ6W1sxLDIsMjRdXSxoYW5kX2xvbmdfcHJlc3M6W1swLDMsMjRdLFsxLDMsMjRdXSxoYW5kX3BpbmNoX2luOltbMSwyLDI0XV0saGFuZF9zd2lwZV9sZWZ0OltbMSwxLDI0XV0saGFuZF9zd2lwZV9yaWdodDpbWzEsMiwyNF1dLGhhbmRfdGFwOltbMCwyLDI0XSxbMSwyLDI0XV0saGFuZF93YXZlOltbMSwyLDI0XV0saGFuZHNfaGVhcnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxoYXNodGFnOltbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDIwXSxbMSwyLDI0XV0saGQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFkc2V0OltbMCw4LDI0XSxbMSw4LDI0XV0saGVhcnQ6W1swLDE5LDEzXSxbMCwxOSwyNF0sWzEsMTksMTZdLFsxLDE5LDI0XV0saGVhcnRfYm94OltbMSwxLDI0XV0saGVhcnRfY2lyY2xlOltbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDIwXSxbMSwyLDI0XV0sCmhlYXJ0X29mZjpbWzEsMiwyNF1dLGhpZXJhcmNoeTpbWzAsNCwyNF0sWzEsNCwyNF1dLGhpZ2hsaWdodHM6W1sxLDIsMjRdXSxob21lOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxob21lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0saG91cmdsYXNzOltbMSwzLDE2XSxbMSwzLDI0XV0saW1hZ2U6W1swLDgsMjRdLFsxLDgsMjRdXSxpbWFnZV9hZGQ6W1sxLDQsMjRdXSxpbWFnZV93YWxscGFwZXI6W1sxLDEsMjRdXSxpbmNvZ25pdG86W1swLDksMjRdLFsxLDksMjRdXSxpbmNvZ25pdG9fY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxpbmZpbml0ZTpbWzAsMiwyNF1dLGluZmluaXR5OltbMSwyLDI0XV0saW5mb19jaXJjbGU6W1sxLDExLDE2XSxbMSwxMSwxOF0sWzEsMTEsMjBdLFsxLDExLDI0XV0saW5mb19jaXJjbGVfc3Bhcms6W1sxLDIsMjRdXSxqb3VybmV5OltbMSwyLDI0XV0sa2V5OltbMSw1LDI0XV0sa2V5Ym9hcmQ6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbDpbWzAsNCwyNF0sClsxLDQsMjRdXSxsYXB0b3A6W1sxLDMsMjRdXSxsYXB0b3BfbW9iaWxlOltbMCw0LDI0XSxbMSw0LDI0XV0sbGF5ZXJzOltbMCwxLDI0XSxbMSwxLDI0XV0sbGVhZjpbWzEsMiwyNF1dLGxlbnM6W1sxLDEsMjRdXSxsZXNzX3RoYW5fNDpbWzEsMiwyNF1dLGxpYnJhcnk6W1swLDcsMjRdLFsxLDcsMjRdXSxsaWJyYXJ5X2FkZDpbWzEsNywxNl0sWzEsNywyNF1dLGxpYnJhcnlfaW1hZ2U6W1sxLDEsMjRdXSxsaWJyYXJ5X211c2ljOltbMCwzLDI0XSxbMSwzLDI0XV0sbGlicmFyeV9zYXZlZDpbWzAsNywyNF1dLGxpZ2h0YnVsYjpbWzAsNCwxMl0sWzAsNCwyNF0sWzEsNCwyNF1dLGxpZ2h0YnVsYl9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpZ2h0YnVsYl9zcGFyazpbWzEsMiwyNF1dLGxpbms6W1sxLDgsMThdLFsxLDgsMjRdXSxsaW5rX29mZjpbWzEsMSwyNF1dLGxpc3RfYWRkOltbMSw1LDI0XV0sbGlzdF9jaGVjazpbWzAsMiwyNF1dLGxpc3RfbXVzaWM6W1sxLDMsMjRdXSxsaXN0X3BlbmNpbDpbWzEsCjUsMjRdXSxsaXN0X3BsYXlfYXJyb3c6W1swLDgsMjRdLFsxLDgsMTJdLFsxLDgsMjRdXSxsaXN0X3BsYXlfYXJyb3dfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxsaXN0X3F1ZXVlOltbMSwxLDI0XV0sbGlzdF9xdWV1ZV9sYXN0OltbMCwzLDI0XSxbMSwzLDI0XV0sbGlzdF9xdWV1ZV9uZXh0OltbMSwxLDI0XV0sbGlzdF9yZW1vdmU6W1sxLDEsMjRdXSxsaXN0X3ZpZXc6W1sxLDIsMjRdXSxsaXN0X3ZpZXdfY2Fpcm86W1sxLDIsMjRdXSxsaXZlX21vYmlsZV9sYW5kc2NhcGVfb3JpZW50YXRpb246W1sxLDEsMjRdXSxsaXZlX3Bob3RvOltbMSwyLDI0XV0sbGl2ZV93YXZlczpbWzEsMiwxOF0sWzEsMiwyNF1dLGxvY2F0aW9uX3BvaW50OltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDI0XV0sbG9jYXRpb25fcG9pbnRfb2ZmOltbMSwxLDI0XV0sbG9jazpbWzAsMTMsMTJdLFswLDEzLDI0XSxbMSwxMywxMl0sWzEsMTMsMTZdLFsxLDEzLDE4XSxbMSwxMywyNF1dLGxvY2tfb3BlbjpbWzEsCjQsMjRdXSxtYWdpY193YW5kOltbMCwzLDI0XSxbMSwzLDI0XV0sbWFpbDpbWzAsOSwyNF0sWzEsOSwyNF1dLG1hcDpbWzEsMywyNF1dLG1hdGhfYWRkOltbMCwzLDI0XV0sbWF0aF9hbmQ6W1swLDMsMjRdXSxtYXRoX2RpdmlkZTpbWzAsMywyNF1dLG1hdGhfZXF1YWxzOltbMCwzLDI0XV0sbWF0aF9lcXVhbHNfc2xhc2g6W1sxLDMsMjRdXSxtYXRoX2dyZWF0ZXJfdGhhbjpbWzAsMywyNF1dLG1hdGhfZ3JlYXRlcl90aGFuX29yX2VxdWFsOltbMSwxLDI0XV0sbWF0aF9sZXNzX3RoYW46W1swLDMsMjRdXSxtYXRoX2xlc3NfdGhhbl9vcl9lcXVhbDpbWzEsNCwyNF1dLG1hdGhfbXVsdGlwbHk6W1swLDMsMjRdXSxtYXRoX29yOltbMCwzLDI0XV0sbWF0aF9wZXJjZW50OltbMCwzLDI0XV0sbWF0aF9zdWJ0cmFjdDpbWzAsMywyNF1dLG1heGltaXplX2NhaXJvOltbMSwxLDI0XV0sbWVkYWw6W1sxLDIsMjRdXSxtZWRhbF9zdGFyOltbMSwyLDI0XV0sbWVldDpbWzEsMSwyNF1dLG1lZ2FwaG9uZTpbWzAsCjUsMjRdLFsxLDUsMjRdXSxtZW1iZXJzaGlwczpbWzAsOSwxMl0sWzAsOSwxNl0sWzAsOSwxOF0sWzAsOSwyNF0sWzEsOSwyNF1dLG1lbnRpb246W1sxLDUsMTZdLFsxLDUsMjRdXSxtZW51X2ZpbHRlcjpbWzAsMSwyNF0sWzEsMSwyNF1dLG1lbnVfc29ydDpbWzEsNCwyNF1dLG1lc3NhZ2VfYnViYmxlX2FsZXJ0OltbMCw2LDI0XSxbMSw2LDI0XV0sbWVzc2FnZV9idWJibGVfYWxlcnRfY2Fpcm86W1sxLDIsMjRdXSxtZXNzYWdlX2J1YmJsZV9lbXB0eTpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2dlYXI6W1sxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9sZWZ0OltbMCwxLDI0XSxbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfbGVmdF9ib29zdDpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2xlZnRfb2ZmOltbMSwxLDE2XSxbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfb3ZlcmxhcDpbWzAsOCwyNF0sWzEsOCwyNF1dLG1lc3NhZ2VfYnViYmxlX3F1ZXN0aW9uOltbMCwyLDE2XSxbMCwyLAoyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLG1lc3NhZ2VfYnViYmxlX3JpZ2h0OltbMCwxNCwyNF0sWzAsMTQsMzJdLFsxLDE0LDE2XSxbMSwxNCwyNF1dLG1lc3NhZ2VfYnViYmxlX3JpZ2h0X2NhcHRpb246W1sxLDEsMjRdXSxtaWM6W1swLDE0LDI0XSxbMSwxNCwyNF1dLG1pY19vZmY6W1sxLDIsMjRdXSxtaW5pcGxheWVyX2V4aXQ6W1sxLDEsMjRdXSxtb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxtb2JpbGVfY2hlY2s6W1sxLDIsMjRdXSxtb2JpbGVfZG93bmxvYWQ6W1sxLDMsMjRdXSxtb2JpbGVfbGFuZHNjYXBlOltbMSwzLDI0XV0sbW9iaWxlX3NjcmVlbl9ob3Jpem9udGFsOltbMSwxLDI0XV0sbW9iaWxlX3NjcmVlbl92ZXJ0aWNhbDpbWzEsMSwyNF1dLG1vbmV5X2hhbmQ6W1sxLDIsMjRdXSxtb25pdG9yX2Rpc3BsYXk6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxtb25pdG9yX2Rpc3BsYXlfb2ZmOltbMSwxLDI0XV0sbW9vbl96OltbMCwxLDI0XSxbMSwKMSwyNF1dLG1vdGlvbjpbWzEsMiwyNF1dLG1vdmU6W1sxLDQsMjRdXSxtdXNpYzpbWzAsNiwyNF0sWzEsNiwxNl0sWzEsNiwxOF0sWzEsNiwyNF1dLG11c2ljX29mZjpbWzEsMywyNF1dLG11c2ljX3NjaXNzb3JzOltbMSwzLDI0XV0sbXVzaWNfc2hhcGU6W1sxLDMsMjRdXSxtdXNpY192aWRlbzpbWzEsNCwyNF1dLG11c2ljX3ZpZGVvX29mZjpbWzEsMSwyNF1dLG15X3ZpZGVvczpbWzEsNiwyNF1dLG15X3ZpZGVvc19jYWlybzpbWzEsMiwyNF1dLG5ld3M6W1swLDMsMjRdLFsxLDMsMTJdLFsxLDMsMjRdXSxuZXdzX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sbm9kZV9sZWZ0OltbMSwyLDI0XV0sbm9kZV9yaWdodDpbWzEsMiwyNF1dLG5vdGU6W1swLDEsMTZdLFswLDEsMjRdLFsxLDEsMTZdLFsxLDEsMjRdXSxub3RlX2FkZDpbWzEsMSwxNl0sWzEsMSwyNF1dLG5vdGVfc3Bhcms6W1swLDIsMTZdLFswLDIsMjRdLFsxLDIsMTZdLFsxLDIsMjRdXSxvZG9tZXRlcjpbWzAsNCwyNF0sClsxLDQsMjRdXSxvcGVuX25ldzpbWzAsNywyNF0sWzEsNywxMl0sWzEsNywyNF1dLG92ZXJmbG93X2hvcml6b250YWw6W1sxLDYsMjRdLFsxLDYsMzJdXSxvdmVyZmxvd192ZXJ0aWNhbDpbWzEsMTMsMjRdXSxvdmVyZmxvd192ZXJ0aWNhbF9jYWlybzpbWzEsMSwyNF1dLHBhaW50X2J1Y2tldDpbWzEsMywyNF1dLHBhbGV0dGU6W1sxLDEsMjRdXSxwYW5lbHM6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXBlcl9jb3JuZXJfZm9sZGVkOltbMCwyLDI0XSxbMSwyLDI0XV0scGFwZXJfb3Blbl9pbl9uZXc6W1swLDEsMjRdLFsxLDEsMjRdXSxwYXVzZTpbWzAsOSwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMiwxMl0sWzAsMiwxNl0sWzAsMiwyNF1dLHBkZjpbWzEsMiwyNF1dLHBlbmNpbDpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHBlb3BsZTpbWzAsNiwxMl0sWzAsNiwyNF0sWzEsNiwyNF1dLHBlb3BsZV8yOltbMCwxLDI0XSxbMSwxLDI0XV0scGVvcGxlX2dyb3VwOltbMCw0LDI0XSwKWzEsNCwxNl0sWzEsNCwyNF1dLHBlb3BsZV9ub3RlOltbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uOltbMCw3LDEyXSxbMCw3LDEzXSxbMCw3LDE2XSxbMCw3LDI0XSxbMCw3LDQ4XSxbMSw3LDEzXSxbMSw3LDE2XSxbMSw3LDI0XV0scGVyc29uXzI6W1sxLDEsMjRdXSxwZXJzb25fYWNjb3VudDpbWzEsNiwyNF1dLHBlcnNvbl9hY2NvdW50X2NhaXJvOltbMSwxLDI0XV0scGVyc29uX2FkZDpbWzEsNywyNF1dLHBlcnNvbl9ib3g6W1sxLDUsMjRdXSxwZXJzb25fY2lyY2xlOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxwZXJzb25fY2lyY2xlX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX2NpcmNsZV9zbGFzaDpbWzEsMiwyNF1dLHBlcnNvbl9taW51czpbWzAsMSwyNF0sWzEsMSwyNF1dLHBlcnNvbl9tdXNpYzpbWzAsNCwyNF0sWzEsNCwyNF1dLHBlcnNvbl9yYWRhcjpbWzAsNywxMl0sWzAsNywyNF0sWzEsNywxNl0sWzEsNywxOF0sWzEsNywyNF1dLHBlcnNvbl9zZXR0aW5nOltbMSwKNiwyNF1dLHBlcnNvbl9zaGllbGQ6W1sxLDgsMjRdXSxwZXJzb25fc3F1YXJlX3NwYXJrOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3dhdmVmb3JtOltbMSwyLDI0XV0scGhvbmU6W1swLDMsMjRdLFsxLDMsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmU6W1swLDIsMjRdLFsxLDIsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmVfY29tYmluZTpbWzEsMSwyNF1dLHBpbjpbWzAsNywxMl0sWzAsNywyNF0sWzEsNywxNl0sWzEsNywyNF1dLHBpbl9vZmY6W1sxLDEsMjRdXSxwbGF5X2Fycm93OltbMCw3LDI0XSxbMSw3LDI0XV0scGxheV9hcnJvd19jaXJjbGU6W1swLDIsMjRdLFsxLDIsMjRdXSxwbGF5X2Fycm93X2Rpc2FibGVkOltbMCwxLDEyXSxbMCwxLDI0XV0scGxheV9hcnJvd19oYWxmX2NpcmNsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLHBvZGNhc3Q6W1swLDYsMjRdLFsxLDYsMTJdLFsxLDYsMTZdLFsxLDYsMThdLFsxLDYsMjRdXSxwb2RjYXN0X2FkZDpbWzAsMiwyNF0sWzEsMiwyNF1dLApwb2RjYXN0X2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0scG9kY2FzdF9jaGVjazpbWzAsMiwyNF1dLHBvaW50XzJ4OltbMSwxLDI0XV0scG9pbnRfM3g6W1sxLDMsMjRdXSxwb2ludF81eDpbWzEsMywyNF1dLHBvaW50Xzh4OltbMSwxLDI0XV0scG9sbDpbWzEsMTAsMTZdLFsxLDEwLDI0XSxbMSwxMCw0MF1dLHBvdW5kOltbMSwzLDI0XV0scHJlc2VudGF0aW9uOltbMSwzLDI0XV0scHJlc2VudGF0aW9uX3JlbW92ZTpbWzEsMSwyNF1dLHByaWNlX3RhZzpbWzAsOCwxMl0sWzAsOCwyNF0sWzEsOCwyNF1dLHByaWNlX3RhZ19oZWFydDpbWzEsMiwyNF1dLHFyX2NvZGU6W1sxLDMsMjRdXSxxdWVzdGlvbl9jaXJjbGU6W1sxLDUsMjRdXSxxdWVzdGlvbl9jaXJjbGVfY2Fpcm86W1sxLDIsMjRdXSxxdWVzdGlvbl9oZWFkOltbMSwyLDI0XV0scXVvdGF0aW9uX21hcms6W1swLDEsMjRdLFsxLDEsMjRdXSxxdW90YXRpb25fbWFya19vZmY6W1sxLDEsMjRdXSxyYWRhcl9saXZlOltbMCw3LDI0XSwKWzEsNywxMl0sWzEsNywxNl0sWzEsNywyNF1dLHJhZGFyX2xpdmVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxyYXRpbmdfZG93bjpbWzEsMSwyNF1dLHJhdGluZ191cDpbWzEsNywxMl0sWzEsNywxNl0sWzEsNywyNF1dLHJlY29yZDpbWzAsMiwyNF1dLHJlbWl4OltbMSwyLDE2XSxbMSwyLDI0XV0scmVwbGF5X2Fycm93OltbMSwxLDI0XV0scm90YXRlXzkwOltbMSwxLDI0XV0scm90YXRlXzkwX2Nsb2Nrd2lzZTpbWzEsMiwyNF1dLHJzczpbWzEsMiwxNl0sWzEsMiwyNF1dLHJzc19vZmY6W1sxLDEsMTZdLFsxLDEsMjRdXSxydWJ5OltbMSwyLDEyXSxbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDI0XV0sc2FtcGxlczpbWzAsMiwyNF0sWzEsMiwyNF1dLHNhdHVyYXRpb246W1sxLDIsMjRdXSxzY2FsZTpbWzEsNCwyNF1dLHNjaXNzb3JzOltbMCw4LDEyXSxbMCw4LDI0XSxbMSw4LDI0XV0sc2Npc3NvcnNfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxzY2lzc29yc19jdXQ6W1sxLDQsCjE2XSxbMSw0LDE4XSxbMSw0LDI0XV0sc2NyZWVuX2RlZmF1bHQ6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxzY3JlZW5fZnVsbDpbWzEsNywyNF1dLHNjcmVlbl9mdWxsX2NhaXJvOltbMSwxLDI0XV0sc2NyZWVuX2Z1bGxfZXhpdDpbWzEsNiwyNF1dLHNjcmVlbl9mdWxsX2V4aXRfY2Fpcm86W1sxLDEsMjRdXSxzY3JlZW5fZnVsbHNjcmVlbjpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9saWdodDpbWzEsMSwyNF1dLHNjcmVlbl9taW5pX3BsYXllcjpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9tdWx0aV92aWV3OltbMCwzLDI0XSxbMSwzLDI0XV0sc2NyZWVuX3JvdGF0aW9uOltbMSwyLDE4XSxbMSwyLDI0XV0sc2NyZWVuX3N3aXRjaDpbWzAsMSwyNF0sWzEsMSwyNF1dLHNjcmVlbl90aGVhdHJlOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX3ZlcnRpY2FsOltbMSwKMSwyNF1dLHNjcmVlbl94OltbMSwyLDI0XV0sc2Q6W1swLDMsMjRdLFsxLDMsMjRdXSxzZWFyY2g6W1swLDE1LDI0XSxbMSwxNSwyNF1dLHNlYXJjaF9jYWlybzpbWzEsMiwyNF1dLHNlYXJjaF9zdXBlcnNjcmlwdDpbWzEsMSwyNF1dLHNlbmQ6W1swLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxzZXR0aW5nc19yZW1vdGU6W1sxLDEsMjRdXSxzaGFkb3dfaGFyZDpbWzAsMywyNF1dLHNoYWRvd19zb2Z0OltbMCwzLDI0XV0sc2hhcGVzOltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcmU6W1swLDEyLDI0LCEwXSxbMCwxMiwzMiwhMF0sWzEsMTIsMTYsITBdLFsxLDEyLDI0LCEwXV0sc2hhcmVfY2Fpcm86W1sxLDIsMjRdXSxzaGFyZV9pb3M6W1sxLDIsMjRdXSxzaGFyZV9saW5rOltbMCwxLDI0XSxbMSwxLDI0XV0sc2hpZWxkOltbMSw2LDI0XV0sc2hpZWxkX2FkZDpbWzEsMiwyNF1dLHNoaWVsZF9jaGVjazpbWzEsMSwyNF1dLHNoaWVsZF9lbXB0eTpbWzAsCjEsMTZdLFswLDEsMThdLFswLDEsMjRdLFsxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjRdXSxzaGllbGRfb2ZmOltbMSwxLDI0XV0sc2hpZWxkX292ZXJmbG93OltbMSwyLDI0XV0sc2hpZWxkX3BsdXM6W1sxLDEsMjRdXSxzaGllbGRfc2VhcmNoOltbMSwyLDI0XV0sc2hvcnRzX2xheW91dF9ib3R0b206W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X2NlbnRlcmVkX3NxdWFyZTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfZm9yZWdyb3VuZDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGFuZHNjYXBlX2JvdHRvbTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGFuZHNjYXBlX3RvcDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGVmdDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfcGlwOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9yaWdodDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfc2luZ2xlOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF90b3A6W1sxLDEsMjRdXSxza2lwX2JhY2tfMTA6W1swLAoxLDI0XV0sc2tpcF9iYWNrXzE1OltbMCwxLDI0XV0sc2tpcF9iYWNrXzIwOltbMCwxLDI0XV0sc2tpcF9iYWNrXzMwOltbMCwxLDI0XV0sc2tpcF9iYWNrXzU6W1swLDEsMjRdXSxza2lwX2JhY2tfNjA6W1swLDEsMjRdXSxza2lwX2Rvd246W1swLDYsMjRdXSxza2lwX2ZvcndhcmRfMTA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMTU6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMjA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMzA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfNTpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF82MDpbWzAsMSwyNF1dLHNraXBfbmV4dDpbWzAsNywyNF1dLHNraXBfcHJldmlvdXM6W1swLDYsMjRdXSxza2lwX3VwOltbMCw2LDI0XV0sc2xhc2hfY2lyY2xlX2xlZnQ6W1sxLDcsMjRdXSxzbGFzaF9jaXJjbGVfcmlnaHQ6W1sxLDIsMjRdXSxzb2NjZXJfYmFsbDpbWzEsMywyNF1dLHNvY2Nlcl9jYXJkOltbMCwyLDEyXSxbMCwyLDE2XSxbMCwyLDI0XV0sc3BhY2ViYXI6W1sxLAoyLDI0XV0sc3Bhcms6W1swLDExLDEyXSxbMCwxMSwxNl0sWzAsMTEsMjRdLFsxLDExLDI0XV0sc3BhcmtfY2hhdDpbWzEsMSwxNl0sWzEsMSwyNF1dLHNwYXJrX2ltYWdlOltbMSwyLDI0XV0sc3BhcmtfbGlnaHRidWxiOltbMCwzLDI0XSxbMSwzLDI0XV0sc3BhcmtfbWVzc2FnZV9idWJibGU6W1sxLDQsMTZdLFsxLDQsMjRdXSxzcGFya19tZXNzYWdlX2J1YmJsZV9sZWZ0OltbMSwxLDI0XV0sc3BhcmtfbXVzaWM6W1sxLDIsMjRdXSxzcGFya19wZW5jaWw6W1sxLDIsMjRdXSxzcGFya19yYWRhcjpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwyNF1dLHNwYXJrX3RleHQ6W1sxLDEsMjRdXSxzcGFya192aWRlbzpbWzEsMiwyNF1dLHNwYXJrbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxzcGVha2VyOltbMSwyLDI0XV0sc3BlYWtlcl9ncm91cDpbWzEsMSwyNF1dLHNwZWFrZXJfZ3JvdXBfb2ZmOltbMSwxLDI0XV0sc3BlYWtlcl9oZWFkc2V0OltbMSwKMiwyNF1dLHNwZWFrZXJfb2ZmOltbMSwxLDI0XV0sc3BsaXQ6W1sxLDQsMjRdXSxzcG9ydHM6W1swLDEsMjRdXSxzcG90bGlnaHQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzdGFyOltbMCw2LDEyXSxbMCw2LDE2XSxbMCw2LDI0XSxbMSw2LDEyXSxbMSw2LDE2XSxbMSw2LDI0XV0sc3Rhcl9jaXJjbGU6W1swLDYsMTJdLFswLDYsMTZdLFswLDYsMThdLFswLDYsMjRdXSxzdGFyX2NpcmNsZV9yaWJib246W1swLDEsMTZdLFswLDEsMjBdLFswLDEsMjRdLFswLDEsMzZdLFsxLDEsMTZdLFsxLDEsMjBdLFsxLDEsMjRdLFsxLDEsMzZdXSxzdGFyX2hhbGY6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxzdGFyX3Nob290aW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sc3RhdGlzdGljc19ncmFwaDpbWzEsMiwyNF1dLHN0aWNrZXI6W1sxLDMsMjRdXSxzdG9wOltbMCw2LDI0XSxbMCw2LDM2XV0sc3RvcHdhdGNoOltbMCw1LDE2XSxbMCw1LDI0XSxbMSw1LDE2XSxbMSw1LDI0XV0sc3RvcHdhdGNoXzEwOltbMCwKMSwyNF1dLHN0b3B3YXRjaF8zOltbMCwxLDI0XV0sc3Vic2NyaXB0aW9uczpbWzAsMTIsMjRdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLHN1YnNjcmlwdGlvbnNfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxzdWJ0aXRsZXM6W1swLDUsMTJdLFswLDUsMjRdLFsxLDUsMjRdXSxzdXBlcl9jaGF0OltbMSw4LDE4XSxbMSw4LDI0XV0sc3VwZXJfc3RpY2tlcjpbWzAsOCwxNl0sWzAsOCwyNF0sWzEsOCwxNl0sWzEsOCwyNF1dLHN1cGVyX3N0b3JlOltbMSwzLDI0XV0sc3VwZXJzdGFyOltbMSwxLDI0XV0sdGFibGV0OltbMSwxLDI0XV0sdGFyZ2V0OltbMCwyLDI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sdGFyZ2V0X2FkZDpbWzAsMiwyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLHRlbXBsYXRlX2FkZDpbWzEsMywxNl0sWzEsMywyNF1dLHRlbXBsYXRlX3BsYXk6W1swLDMsMjRdLFsxLDMsMjRdXSx0ZXh0OltbMCw5LDI0XSxbMSw5LDE2XSxbMSw5LDE4XSxbMSw5LDI0XV0sdGV4dF9iZWxsX2NhaXJvOltbMSwKMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLHRleHRfYm9sZDpbWzEsMSwyNF1dLHRleHRfYm94OltbMSw1LDI0XV0sdGV4dF9pdGFsaWM6W1sxLDEsMjRdXSx0ZXh0X291dGxpbmU6W1sxLDIsMjRdXSx0ZXh0X3ByZXNldDpbWzEsMSwyNF1dLHRleHRfc2VyaWY6W1sxLDEsMjRdXSx0ZXh0X3NoYWRvdzpbWzEsMiwyNF1dLHRleHRfc3RyaWtldGhyb3VnaDpbWzEsMSwyNF1dLHRleHRfdW5kZXJsaW5lOltbMSwxLDI0XV0sdGhlbWVfc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0sdGhlcm1vbWV0ZXI6W1sxLDIsMjRdXSx0aHVtYl9kb3duOltbMCwyNSwxNl0sWzAsMjUsMjRdLFswLDI1LDM2XSxbMSwyNSwxNl0sWzEsMjUsMjRdLFsxLDI1LDM2XV0sdGh1bWJfdXA6W1swLDI0LDE2XSxbMCwyNCwyNF0sWzAsMjQsMzZdLFsxLDI0LDE2XSxbMSwyNCwyNF0sWzEsMjQsMzZdXSx0aHVtYl91cF9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHRodW1iX3VwX2Rvd246W1swLDQsCjI0XSxbMSw0LDI0XV0sdGljX3RhY190b2U6W1swLDQsMTJdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSx0aWNfdGFjX3RvZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHRpY2tldF9zdGFyOltbMSwxLDI0XV0sdGlsdDpbWzEsNCwyNF1dLHRpbWVfc3RhbXBfcGx1czpbWzEsMSwyNF1dLHRpbWVsaW5lOltbMSwzLDI0XV0sdG9vbGJveDpbWzEsNCwyNF1dLHRyYW5zY3JpcHQ6W1sxLDIsMTZdLFsxLDIsMjRdXSx0cmFuc2NyaXB0X3NlYXJjaDpbWzEsMSwxNl0sWzEsMSwyNF1dLHRyYW5zaXRpb246W1swLDUsMjRdLFsxLDUsMjRdXSx0cmFuc2xhdGU6W1sxLDQsMTZdLFsxLDQsMjRdXSx0cmFzaF9jYW46W1sxLDEwLDE2XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSx0cmlhbmdsZV9kb3duOltbMSw4LDI0XV0sdHJpYW5nbGVfdGhyZWVfbGVmdDpbWzAsMSwyNF1dLHRyaWFuZ2xlX3RocmVlX3JpZ2h0OltbMCwxLDI0XV0sdHJvcGh5OltbMCwzLDI0XSxbMSwzLDI0XV0sdHJvcGh5X2NhaXJvOltbMCwKMiwyNF0sWzEsMiwyNF1dLHRyb3BoeV9zdGFyOltbMSwxLDI0XV0sdHJ1Y2s6W1swLDUsMjRdLFsxLDUsMjRdXSx0djpbWzAsOCwxMl0sWzAsOCwxNl0sWzAsOCwyNF0sWzEsOCwxNl0sWzEsOCwyNF1dLHR2X2Fycm93X2xlZnQ6W1sxLDIsMjRdXSx0dl9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSx0dl9kb2xsYXJfc2lnbjpbWzAsMSwyNF0sWzEsMSwyNF1dLHR2X29mZjpbWzEsMiwyNF1dLHR2X3F1ZXVlOltbMSw0LDI0XV0sdHZfcXVldWVfY2hldnJvbjpbWzEsMiwyNF1dLHVwbG9hZDpbWzEsNSwyNF1dLHVwbG9hZGluZzpbWzEsMSwyNF1dLHZhcmlhYmxlOltbMSw0LDI0XV0sdmVyaWZpZWRfY2lyY2xlOltbMSw0LDI0XV0sdmlkZW9fY2FtZXJhOltbMCw5LDI0XSxbMSw5LDI0XV0sdmlkZW9fY2FtZXJhX2FkZDpbWzEsMiwyNF1dLHZpZGVvX2NhbWVyYV9vZmY6W1sxLDEsMjRdXSx2aWRlb19saW5rOltbMSw1LDE2XSxbMSw1LDI0XV0sdmlkZW9fcmV2ZXJzZTpbWzEsMSwyNF1dLAp2aWRlb19zcGFyazpbWzEsMiwyNF1dLHZpZGVvX3N0aXRjaDpbWzEsMiwyNF1dLHZpZGVvX3dhdmVmb3JtOltbMSwxLDI0XV0sdm9sdW1lX2Rvd246W1swLDIsMjRdLFsxLDIsMjRdXSx2b2x1bWVfZmFkZTpbWzEsMiwyNF1dLHZvbHVtZV9vZmY6W1swLDQsMjRdLFsxLDQsMjRdXSx2b2x1bWVfb246W1swLDMsMjRdLFsxLDMsMjRdXSx2b2x1bWVfc3RhYmxlOltbMCwxLDI0XSxbMSwxLDI0XV0sdnI6W1swLDcsMjRdLFsxLDcsMjRdXSx3YXZlZm9ybTpbWzEsMywyNF1dLHdhdmVmb3JtX211c2ljOltbMCwyLDE4XSxbMCwyLDI0XSxbMCwyLDQ4XV0sd2F2ZWZvcm1fc3Bhcms6W1sxLDIsMjRdXSx3cmVuY2g6W1swLDMsMjRdLFsxLDMsMjRdXSx4OltbMSwxMSwxOF0sWzEsMTEsMjRdXSx4X2NhaXJvOltbMSwxLDI0XV0seF9jaXJjbGU6W1swLDksMjRdLFsxLDksMjRdXSx4X21hcms6W1sxLDQsMjBdLFsxLDQsMjRdXSx4X29jdGFnb246W1sxLDMsMjRdXSx5ZW5fc2lnbl9jb250YWluZXI6W1swLAoyLDI0XSxbMSwyLDI0XV0seW91dHViZV9pbXByb3ZlX3R2OltbMSwxLDI0XV0seW91dHViZV9raWRzOltbMCw1LDI0XSxbMSw1LDI0XV0seW91dHViZV9sYWJzOltbMCwxLDI0XV0seW91dHViZV9saW5rZWRfdHY6W1sxLDQsMjRdXSx5b3V0dWJlX2xvZ29faWNvbjpbWzAsNiwyNF0sWzEsNiwyNF1dLHlvdXR1YmVfbWl4OltbMSw1LDEyXSxbMSw1LDE2XSxbMSw1LDI0XV0seW91dHViZV9tdXNpYzpbWzAsNywyNF0sWzEsNywyNF1dLHlvdXR1YmVfbXVzaWNfY2Fpcm86W1sxLDIsMjRdXSx5b3V0dWJlX29yaWdpbmFsczpbWzAsNiwyNF0sWzEsNiwyNF1dLHlvdXR1YmVfc2hvcnRzOltbMCwxMSwxMl0sWzAsMTEsMjBdLFswLDExLDI0XSxbMSwxMSwyMF0sWzEsMTEsMjRdXSx5b3V0dWJlX3Nob3J0c19hcnJvd19kb3duOltbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfYXJyb3dfbGVmdDpbWzEsMiwyNF1dLHlvdXR1YmVfc2hvcnRzX2Fycm93X3VwOltbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfY2FtZXJhOltbMSwzLDI0XV0seW91dHViZV9zaG9ydHNfY2hldnJvbl9sZWZ0X2lvczpbWzEsMiwyNF1dLHlvdXR1YmVfc2hvcnRzX2dyZWVuX3NjcmVlbjpbWzAsMSwyNF0sWzEsMSwyNF1dLHlvdXR1YmVfc2hvcnRzX2hlYXJ0OltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfbWVzc2FnZV9idWJibGVfcmlnaHQ6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZTpbWzAsNCwxNl0sWzAsNCwyNF0sWzAsNCwzMl0sWzEsNCwxNl0sWzEsNCwyNF0sWzEsNCwzMl1dLHlvdXR1YmVfc2hvcnRzX292ZXJmbG93X3ZlcnRpY2FsOltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfcGx1czpbWzEsNSwxNl0sWzEsNSwyNF1dLHlvdXR1YmVfc2hvcnRzX3JlbWl4OltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfc2VhcmNoOltbMSwzLDI0XV0seW91dHViZV9zaG9ydHNfc2hhcmU6W1swLAoyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfc3RpY2tlcjpbWzEsMSwxOF0sWzEsMSwyNF1dLHlvdXR1YmVfc2hvcnRzX3RodW1iX2Rvd246W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c190aHVtYl91cDpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX3dhdmVmb3JtOltbMSwyLDE4XSxbMSwyLDI0XV0seW91dHViZV9zdHVkaW86W1swLDgsMjRdLFsxLDgsMjRdXSx5b3V0dWJlX3R2OltbMCw4LDI0XSxbMSw4LDI0XV0sem9vbV9hdXRvOltbMCwyLDI0XSxbMSwyLDI0XV19O3ZhciBXcWE9e2FjY2Vzc2liaWxpdHk6W1swLDQsMjRdLFsxLDQsMjRdXSxhY2NvdW50X2xpbms6W1swLDgsMjRdLFsxLDgsMjRdXSxhY2NvdW50X2xpbmtfZXJyb3I6W1sxLDYsMjRdXSxhZGQ6W1sxLDksMThdLFsxLDksMjRdXSxhZGRfY2lyY2xlOltbMCw2LDE4XSxbMCw2LDI0XSxbMSw2LDI0XSxbMSw2LDM2XV0sYWRkX3NxdWFyZV9zdGFjazpbWzEsMSwyNF1dLGFkZF90djpbWzEsMSwyNF1dLGFkZF90dl9jaGV2cm9uX3JpZ2h0OltbMSwxLDI0XV0sYWRqdXN0OltbMCw5LDI0XSxbMSw5LDI0XV0sYWlycGxhbmU6W1swLDUsMjRdLFswLDUsNDhdLFsxLDUsMjRdXSxhaXJwbGF5OltbMSw2LDI0XV0sYWlycGxheV9zbGFzaDpbWzEsMSwyNF1dLGFsYnVtOltbMCw4LDI0XSxbMSw4LDE4XSxbMSw4LDI0XSxbMSw4LDQ4XV0sYWxlcnRfYnViYmxlOltbMSwyLDE4XSxbMSwyLDI0XV0sYWxlcnRfY2lyY2xlOltbMCwxMSwyNF0sWzEsMTEsMTJdLFsxLDExLDI0XSxbMSwxMSw0OF1dLGFsZXJ0X29jdGFnb246W1swLAoyLDI0XSxbMSwyLDI0XV0sYWxlcnRfdHJpYW5nbGU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDI0XV0sYW1iaWVudF9tb2RlOltbMSwxLDI0XV0sYW1wZXJzYW5kOltbMSwxLDI0XV0sYXBpOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJjaGl2ZTpbWzEsMSwyNF1dLGFycm93X2FyY19mb3J3YXJkOltbMSwxLDI0XV0sYXJyb3dfY2xvY2t3aXNlOltbMSwxLDI0XV0sYXJyb3dfY291bnRlcmNsb2Nrd2lzZTpbWzEsMiwyNF0sWzEsMiw0OF1dLGFycm93X2NvdW50ZXJjbG9ja3dpc2VfZGFzaGVkOltbMSwxLDI0XV0sYXJyb3dfZG93bjpbWzEsMywyNF1dLGFycm93X2Rvd25fY2lyY2xlOltbMCw0LDI0XSxbMSw0LDI0XV0sYXJyb3dfZG93bl9jaXJjbGVfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxhcnJvd19kb3duX3JpZ2h0OltbMSwxLDI0XV0sYXJyb3dfZmxpcDpbWzEsMTAsMjRdXSxhcnJvd19pbjpbWzEsOCwxOF0sWzEsOCwyNF1dLGFycm93X2xlZnQ6W1sxLDgsCjI0LCEwXSxbMSw4LDM2LCEwXV0sYXJyb3dfbWVyZ2U6W1sxLDIsMjRdXSxhcnJvd19vdXQ6W1sxLDIsMjRdXSxhcnJvd19yaWdodDpbWzEsMywyNCwhMF1dLGFycm93X3JpZ2h0X3JlY3RhbmdsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGFycm93X3NvbGlkX2Rvd246W1swLDQsMThdLFswLDQsMjRdLFsxLDQsMThdLFsxLDQsMjRdXSxhcnJvd19zb2xpZF91cDpbWzAsNCwxOF0sWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLGFycm93X3NwbGl0OltbMSwzLDI0XV0sYXJyb3dfc3BsaXRfYWxlcnQ6W1sxLDEsMjRdXSxhcnJvd19zd2FwX2hvcml6b250YWw6W1sxLDUsMjRdXSxhcnJvd190cmVuZF9kb3duOltbMSwxLDI0XV0sYXJyb3dfdHJlbmRfdXA6W1sxLDIsMTJdLFsxLDIsMjRdXSxhcnJvd190dXJuX2Rvd25fcmlnaHQ6W1sxLDIsMThdLFsxLDIsMjRdXSxhcnJvd191cDpbWzEsMywyNF1dLGFycm93X3VwX2NpcmNsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLGFycm93X3VwX2xlZnQ6W1sxLAoxLDI0XV0sYXJyb3dfdXBfcmVjdGFuZ2xlX3BvcnRyYWl0OltbMSwxLDI0XV0sYXJyb3dfdXBfcmlnaHQ6W1sxLDIsMThdLFsxLDIsMjRdLFsxLDIsMzZdXSxhc3BlY3RfcmF0aW9fdzE2X2g5OltbMSwxLDI0XV0sYXNwZWN0X3JhdGlvX3c5X2gxNjpbWzEsMSwyNF1dLGF1ZGlvOltbMCwxNCwxMl0sWzAsMTQsMThdLFswLDE0LDI0XSxbMSwxNCwxMl0sWzEsMTQsMThdLFsxLDE0LDI0XSxbMSwxNCw0OF1dLGF1ZGlvX2Fycm93X2ZsaXA6W1swLDIsMjRdLFsxLDIsMjRdXSxhdWRpb19iYWRnZTpbWzAsMywyNF0sWzEsMywyNF1dLGF1ZGlvX3NjaXNzb3JzOltbMSwxLDI0XV0sYXVkaW9fc2xhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxhdWRpb19zcGFyazpbWzEsMSwyNF1dLGF1ZGlvX3NxdWFyZV9zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX3N0YWZmOltbMCwyLDI0XSxbMSwyLDI0XV0sYmFja3NwYWNlOltbMCw1LDI0XSxbMSw1LDI0XV0sYmFnOltbMCw3LDI0XSxbMSw3LDI0XV0sCmJhZ19ib29rbWFyazpbWzEsMiwyNF1dLGJhc2tldGJhbGw6W1swLDIsMjRdLFsxLDIsMjRdXSxiZWFrZXI6W1sxLDIsMjRdXSxiZWQ6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxiZWxsOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxiZWxsX3NsYXNoOltbMSwxLDI0XV0sYmVsbF93YXZlczpbWzAsMiwyNF0sWzEsMiwyNF1dLGJsdXI6W1sxLDIsMjRdXSxib29rOltbMCwzLDI0XSxbMSwzLDI0XV0sYm9va19hdWRpbzpbWzEsMSwyNF1dLGJvb2ttYXJrOltbMCwxMCwxOF0sWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLGJyaWVmY2FzZTpbWzEsMiwyNF1dLGJyaWVmY2FzZV9zbGFzaDpbWzAsMywyNF0sWzEsMywyNF1dLGJyaWdodG5lc3M6W1swLDMsMjRdLFsxLDMsMjRdXSxicm93c2VyOltbMCwyLDI0XSxbMSwyLDI0XV0sYnJvd3Nlcl9zbGFzaDpbWzEsMSwyNF1dLGJ1YmJsZTpbWzEsMSwyNF1dLGJ1YmJsZV9hc3RlcmlzazpbWzAsMiwyNF0sWzEsMiwyNF1dLApidWJibGVfZWxsaXBzaXM6W1sxLDEsMjRdXSxidWJibGVfZ2VhcjpbWzEsMSwyNF1dLGJ1YmJsZV9saXN0OltbMSwxLDI0XV0sYnViYmxlX3BlbmNpbDpbWzEsMSwyNF1dLGJ1YmJsZV9zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGJ1YmJsZV9zbG93OltbMCwyLDI0XSxbMCwyLDQ4XSxbMSwyLDI0XSxbMSwyLDQ4XV0sYnViYmxlX3NwYXJrOltbMSwxLDI0XV0sYnViYmxlX3NwYXJrbGVzOltbMSwxLDI0XV0sYnViYmxlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0sYnVnOltbMCw0LDE4XSxbMCw0LDI0XSxbMSw0LDI0XV0sYnVzaW5lc3M6W1swLDQsMjRdLFsxLDQsMjRdXSxjYWJsZTpbWzEsMiwyNF1dLGNhbGN1bGF0b3I6W1swLDMsMjRdLFsxLDMsMjRdXSxjYWxlbmRhcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhbGVuZGFyX2V2ZW50OltbMCwyLDI0XSxbMSwyLDI0XV0sY2FsZW5kYXJfdG9kYXk6W1sxLDEsMjRdXSxjYW1lcmE6W1swLDEwLDI0XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSwKY2FtZXJhX2F1ZGlvOltbMSw1LDI0XV0sY2FtZXJhX2ZsaXA6W1sxLDQsMjRdXSxjYW1lcmFfaGFzaHRhZzpbWzEsNSwyNF1dLGNhbWVyYV9zcGFya2xlczpbWzEsMSwyNF1dLGNhbWVyYV9zd2l0Y2g6W1swLDMsMjRdLFsxLDMsMjRdXSxjYXJkOltbMCwzLDI0XV0sY2FydDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhcnRfYWRkOltbMSwxLDI0XV0sY2FydF9zcGFyazpbWzEsMSwyNF1dLGNhdDpbWzAsMywyNF0sWzEsMywyNF1dLGNlbGVicmF0aW9uOltbMSwyLDI0XV0sY2hhcnRfYmFyOltbMSwyLDEyXSxbMSwyLDI0XV0sY2hhcnRfYmFyX3NlYXJjaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNoYXJ0X2Jhcl9zcXVhcmU6W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxjaGFydF9saW5lOltbMSwxLDI0XV0sY2hhcnRfcGllOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hhcnRfc2NhdHRlcl9wbG90OltbMSwxLDI0XV0sY2hlY2s6W1sxLDEzLDEyXSxbMSwxMywxOF0sWzEsMTMsMjRdLFsxLDEzLAozNl1dLGNoZWNrX2NpcmNsZTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2hlY2tfZG9uZTpbWzEsMSwyNF1dLGNoZWNrX2RvbmVfc2xhc2g6W1sxLDEsMjRdXSxjaGVja19zaGllbGQ6W1sxLDEsMjRdXSxjaGVja19zcXVhcmU6W1swLDIsMjRdLFsxLDIsMjRdXSxjaGVja19zcXVhcmVfc3RhY2s6W1swLDEsMjRdXSxjaGV2cm9uX2NvbGxhcHNlOltbMSwzLDI0XV0sY2hldnJvbl9kb3duOltbMSw5LDE4XSxbMSw5LDI0XV0sY2hldnJvbl9kb3duX2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLGNoZXZyb25fZG93bl9lbmQ6W1sxLDEsMjRdXSxjaGV2cm9uX2V4cGFuZDpbWzEsNSwyNF1dLGNoZXZyb25fbGVmdDpbWzEsOSwyNCwhMF1dLGNoZXZyb25fbGVmdF9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX2xlZnRfZW5kOltbMSwxLDI0XV0sY2hldnJvbl9sZWZ0X2lvczpbWzEsMywyNF1dLGNoZXZyb25fcmlnaHQ6W1sxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxjaGV2cm9uX3JpZ2h0X2NpcmNsZTpbWzAsCjMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX3JpZ2h0X2VuZDpbWzEsMSwyNF1dLGNoZXZyb25fcmlnaHRfc3F1YXJlOltbMSwxLDI0XV0sY2hldnJvbl91cDpbWzEsOSwxMl0sWzEsOSwyNF1dLGNoZXZyb25fdXBfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sY2hldnJvbl91cF9lbmQ6W1sxLDEsMjRdXSxjaHJvbWVjYXN0OltbMCwxMSwyNF0sWzEsMTEsMThdLFsxLDExLDI0XSxbMSwxMSwzNl1dLGNocm9tZWNhc3RfbW9iaWxlOltbMSw0LDI0XSxbMSw0LDM2XV0sY2hyb21lY2FzdF93YXZlZm9ybTpbWzEsMiwyNF1dLGNpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLGNpcmNsZV9mdWxsOltbMCwzLDI0XV0sY2lyY2xlX2Z1bGxfaGFsZjpbWzAsMSwyNF1dLGNpcmNsZV9oYWxmX2ZpbGxlZDpbWzEsMSwyNF1dLGNpcmNsZV9zbGFzaDpbWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF0sWzEsNCw0OF1dLGNpcmNsZXM2OltbMSwxLDI0XV0sY2xhcHBlcmJvYXJkOltbMCwzLDI0XSxbMSwzLAoyNF1dLGNsYXBwZXJib2FyZF9zbGFzaDpbWzEsMSwyNF1dLGNsYXBwZXJib2FyZF9zcGFya2xlczpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrOltbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDI0XV0sY2xvY2tfYXJyb3dfY2xvY2t3aXNlOltbMSwxLDI0XV0sY2xvY2tfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxjbG9ja19zcGxpdDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrX3NwbGl0X2FsZXJ0OltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvc2VkX2NhcHRpb25zOltbMCwzLDI0XSxbMCwzLDQ4XSxbMSwzLDI0XSxbMSwzLDQ4XV0sY2xvdWQ6W1sxLDIsMjRdXSxjbG91ZF9hcnJvd19kb3duOltbMSwzLDI0XV0sY2xvdWRfYXJyb3dfdXA6W1swLDYsMjRdLFsxLDYsMThdLFsxLDYsMjRdXSxjbG91ZF9jaGVjazpbWzAsMywyNF0sWzEsMywyNF1dLGNsb3VkX2VsbGlwc2lzOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfc2xhc2g6W1sxLDIsMjRdLFsxLDIsNDhdXSxjbXNfYWxsb3dsaXN0OltbMCwKMiwyNF0sWzEsMiwyNF1dLGNvZGU6W1sxLDIsMjRdXSxjb21wYXJlOltbMSwyLDI0XV0sY29tcGFzczpbWzAsOSwyNF0sWzEsOSwyNF1dLGNvcHk6W1sxLDMsMjRdXSxjb3B5X3RvX2FsbDpbWzEsMSwyNF1dLGNvcHlyaWdodDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNvcHlyaWdodF9zZWFyY2g6W1swLDIsMjRdLFsxLDIsMjRdXSxjb3Zlcl9jbGFpbTpbWzEsMSwyNF1dLGNyZWF0aXZlX2NvbW1vbnM6W1swLDIsMjRdLFsxLDIsMjRdXSxjcmVkaXRfY2FyZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNyb3A6W1sxLDQsMThdLFsxLDQsMjRdXSxjcm9wX3JvdGF0ZTpbWzEsMiwyNF1dLGNyb3NzaGFpcjpbWzEsMSwxOF0sWzEsMSwyNF1dLGNyb3duOltbMCw1LDE4XSxbMCw1LDI0XSxbMSw1LDI0XV0sY3N2OltbMCwyLDI0XSxbMSwyLDI0XV0sY3ViZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGN1YmVfc3Bhcms6W1sxLDEsMjRdXSxjdXJzb3JfY2xpY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxjdXJ2ZTpbWzEsCjEsMjRdXSxjdnA6W1swLDIsMjRdLFsxLDIsMjRdXSxkYW5jZV9zcGFyazpbWzAsMSwyNF1dLGRhc2hib2FyZDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRhc2hib2FyZF9hZGQ6W1sxLDEsMjRdXSxkaWVfZmFjZTM6W1swLDIsMjRdLFsxLDIsMjRdXSxkaXJlY3Rpb25zOltbMSwzLDI0XV0sZGlzcGxheTpbWzAsMiwyNF0sWzEsMiwyNF1dLGRpc3BsYXlfc2xhc2g6W1sxLDEsMjRdXSxkaXZpZGU6W1sxLDEsMjRdXSxkb2N1bWVudDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRvY3VtZW50X2Fycm93X3VwX3JpZ2h0OltbMCwyLDI0XSxbMSwyLDI0XV0sZG9sbGFyX3NpZ25fYXJyb3dfZmxpcDpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZTpbWzAsMTIsMjRdLFsxLDEyLDEyXSxbMSwxMiwxOF0sWzEsMTIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfYWRkOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX2hhbmQ6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGF1c2U6W1sxLDIsMjRdXSwKZG9sbGFyX3NpZ25fY2lyY2xlX3NsYXNoOltbMSwyLDEyXSxbMSwyLDI0XV0sZG9sbGFyX3NpZ25faGVhcnQ6W1swLDI0LDEyXSxbMCwyNCwyNF0sWzEsMjQsMTJdLFsxLDI0LDI0XV0sZG9sbGFyX3NpZ25fcmVjdGFuZ2xlOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fdHY6W1swLDIsMjRdLFsxLDIsMjRdXSxkb3Q6W1swLDIsMTJdLFswLDIsMjRdXSxkb3dubG9hZDpbWzEsMTEsMThdLFsxLDExLDI0XV0sZHBhZDpbWzAsMiwyNF0sWzEsMiwyNF1dLGVtYmVkOltbMCwyLDI0XSxbMSwyLDI0XV0sZXF1YWw6W1sxLDIsMThdLFsxLDIsMjRdXSxlcXVhbF9zbGFzaDpbWzEsMSwyNF1dLGV4cGxpY2l0OltbMCw3LDI0XSxbMSw3LDI0XV0sZXllOltbMCw2LDI0XSxbMSw2LDI0XV0sZXllX3NsYXNoOltbMSwxLDI0XV0sZXllZHJvcHBlcjpbWzEsMiwyNF1dLGV5ZWdsYXNzZXM6W1sxLDEsMjRdXSxmYWNlX2FkZDpbWzEsMSwyNF1dLGZhY2VfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzAsCjEyLDQ4XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX2ltYWdlOltbMSwyLDI0XV0sZmFjZV9tZWg6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhY2VfbmV1dHJhbDpbWzAsNCwyNF0sWzAsNCwzNl0sWzEsNCwyNF0sWzEsNCwzNl1dLGZhY2VfcGFpbnRicnVzaDpbWzEsMiwyNF1dLGZhY2Vfc2FkOltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2Vfc2NhbGU6W1sxLDEsMjRdXSxmYWNlX3NwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sZmFjZV91bmhhcHB5OltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfdXBzZXQ6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhY2VfdmVyeV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX3Zlcnlfc2FkOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxmYXNoaW9uOltbMCw0LDI0XSxbMSw0LDI0XV0sZmFzdF9mb3J3YXJkOltbMCw1LDI0XSxbMSwKNSwyNF1dLGZhc3RfcmV3aW5kOltbMCwyLDI0XSxbMSwyLDI0XV0sZmlsbV9zdHJpcDpbWzAsNywyNF0sWzAsNyw0OF0sWzEsNywyNF1dLGZpbG1fc3RyaXBfYWRkOltbMSwyLDI0XV0sZmlsbV9zdHJpcF9hdWRpbzpbWzEsMSwyNF1dLGZpbHRlcjpbWzEsMSwyNF1dLGZpbHRlcl9hdWRpbzpbWzEsMSwyNF1dLGZpbHRlcl9waG90bzpbWzAsOCwyNF0sWzEsOCwyNF1dLGZpcmV3b3JrczpbWzEsMywyNF1dLGZsYWc6W1swLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMThdLFsxLDEwLDI0XSxbMSwxMCw0OF1dLGZsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxhc2hfYXV0bzpbWzAsMywyNF0sWzEsMywyNF1dLGZsYXNoX2NpcmNsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxpcF9ob3Jpem9udGFsOltbMSw0LDI0XV0sZmxpcF9ob3Jpem9udGFsX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0sZmxpcF92ZXJ0aWNhbF9oYWxmX2Rhc2hlZDpbWzEsCjEsMjRdXSxmb2xkZXI6W1swLDQsMjRdLFsxLDQsMjRdXSxmb250OltbMSwxLDI0XV0sZm9udF9ib2xkOltbMSwxLDI0XV0sZm9udF9pdGFsaWM6W1sxLDEsMjRdXSxmb250X291dGxpbmU6W1sxLDEsMjRdXSxmb250X3ByZXNlbnQ6W1sxLDEsMjRdXSxmb250X3NlcmlmOltbMSwxLDI0XV0sZm9udF9zaGFkb3c6W1sxLDEsMjRdXSxmb250X3NwYXJrOltbMSwxLDI0XV0sZm9udF9zcXVhcmU6W1swLDIsMjRdLFsxLDIsMjRdXSxmb250X3NxdWFyZV9zcGFyazpbWzEsMSwxOF0sWzEsMSwyNF1dLGZvbnRfc3RyaWtldGhyb3VnaDpbWzEsMSwyNF1dLGZvbnRfc3R5bGU6W1sxLDIsMThdLFsxLDIsMjRdXSxmb250X3VuZGVybGluZTpbWzEsMSwyNF1dLGZvb3RiYWxsOltbMCw0LDI0XSxbMSw0LDI0XSxbMSw0LDM2XV0sZ2FtZV9jb250cm9sbGVyOltbMSwxLDI0XV0sZ2FtaW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sZ2VhcjpbWzAsMTAsMjRdLFswLDEwLDQ4XSxbMSwxMCwxOF0sWzEsMTAsMjRdLApbMSwxMCw0OF1dLGdlc3R1cmVfbG9uZ19wcmVzczpbWzAsMiwyNF0sWzEsMiwyNF1dLGdlc3R1cmVfcGluY2hfaW46W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX2xlZnQ6W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX3JpZ2h0OltbMSwxLDI0XV0sZ2VzdHVyZV9zd2lwZV91cDpbWzEsMSwyNF1dLGdlc3R1cmVfdGFwOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2hvc3Q6W1swLDUsMjRdLFsxLDUsMjRdXSxnaWY6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxnaWZ0OltbMCwzLDI0XSxbMSwzLDI0XV0sZ2xvYmU6W1sxLDQsMjRdXSxnbG9iZV9pbWFnZTpbWzEsMywyNF1dLGdsb3c6W1sxLDIsMjRdXSxnb29nbGU6W1swLDEsMjRdXSxnb29nbGVfYmxvZ2dlcjpbWzAsMSwyNF1dLGdvb2dsZV9kcml2ZV9hZGQ6W1sxLDEsMjRdXSxnb29nbGVfbGVuczpbWzEsNCwyNF1dLGdvb2dsZV9tZWV0OltbMCwyLDI0XSxbMSwyLDI0XV0sZ29vZ2xlX3F1aWNrX3NoYXJlOltbMSwxLDI0XV0sCmdyYWR1YXRpb25fY2FwOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sZ3JlYXRlcl90aGFuOltbMSwxLDI0XV0sZ3JlYXRlcl90aGFuX24yMDpbWzEsMSwyNF1dLGdyZWF0ZXJfdGhhbl9vcl9lcXVhbF90bzpbWzEsMSwyNF1dLGhhbmQ6W1sxLDIsMjRdXSxoYW5kX3dhdmU6W1sxLDIsMjRdXSxoYW5kc19jbGFwOltbMSwxLDI0XV0saGFuZHNfaGVhcnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxoYXNodGFnOltbMSwyLDI0XV0saGQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFkc2V0OltbMCw4LDI0XSxbMSw4LDI0XV0saGVhcmluZzpbWzAsMiwyNF0sWzEsMiwyNF1dLGhlYXJ0OltbMCwxOSwyNF0sWzEsMTksMThdLFsxLDE5LDI0XV0saGVhcnRfY2lyY2xlOltbMSwyLDI0XV0saGVhcnRfY3ViZTpbWzEsMSwyNF1dLGhlYXJ0X3NsYXNoOltbMSwxLDI0XV0saGVscF9idWJibGU6W1swLDIsMjRdLFsxLDIsMjRdXSxoZWxwX2NpcmNsZTpbWzEsMiwxOF0sWzEsMiwyNF1dLGhpZXJhcmNoeTpbWzAsCjQsMjRdLFsxLDQsMjRdXSxoaWdobGlnaHRzOltbMSwyLDI0XV0saGlzdG9yeTpbWzEsMSwyNF1dLGhvbWU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGhvdXJnbGFzczpbWzEsMywxOF0sWzEsMywyNF1dLGh5cGU6W1swLDIsMjRdLFsxLDIsMjRdXSxpbWFnZTpbWzAsOCwyNF0sWzEsOCwyNF1dLGltYWdlX2FkZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGltYWdlX2ZyYW1lOltbMSwxLDI0XV0saW1hZ2VfbGlzdDpbWzAsMiwyNF0sWzEsMiwyNF1dLGltYWdlX2xpc3Rfc2xhc2g6W1sxLDEsMjRdXSxpbWFnZV9zcGFyazpbWzEsMSwyNF1dLGltYWdlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0saW1hZ2Vfdmlld2ZpbmRlcjpbWzEsMSwyNF1dLGluY29nbml0bzpbWzAsOSwyNF0sWzEsOSwyNF1dLGluZmluaXR5OltbMSwyLDI0XV0saW5mb19jaXJjbGU6W1sxLDEwLDE4XSxbMSwxMCwyNF1dLGluZm9fY2lyY2xlX3NwYXJrOltbMSwxLDI0XV0samV3ZWw6W1sxLDEsMjRdXSxqb3VybmV5OltbMSwKMiwyNF1dLGtleTpbWzEsNSwyNF1dLGtleWJvYXJkOltbMCw0LDI0XSxbMSw0LDI0XV0sbGFiZWw6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbF9zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGxhcHRvcDpbWzEsMywyNF1dLGxhcHRvcF9tb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxsYXlvdXRfYm90dG9tOltbMSwxLDI0XV0sbGF5b3V0X2ZvcmVncm91bmQ6W1sxLDEsMjRdXSxsYXlvdXRfZnVsbDpbWzEsMSwyNF1dLGxheW91dF9sZWZ0OltbMSwxLDI0XV0sbGF5b3V0X21pZGRsZTpbWzEsMSwyNF1dLGxheW91dF9waWN0dXJlX2luX3BpY3R1cmU6W1sxLDEsMjRdXSxsYXlvdXRfcmlnaHQ6W1sxLDEsMjRdXSxsYXlvdXRfdG9wOltbMSwxLDI0XV0sbGVhZjpbWzEsMiwyNF1dLGxlc3NfdGhhbjpbWzEsMSwyNF1dLGxlc3NfdGhhbl9uNDpbWzEsMSwyNF1dLGxlc3NfdGhhbl9vcl9lcXVhbF90bzpbWzEsMSwyNF1dLGxpY2Vuc2U6W1swLDIsMjRdLFsxLDIsMjRdXSxsaWNlbnNlX2FsZXJ0OltbMSwKMSwyNF1dLGxpY2Vuc2Vfc2VhcmNoOltbMSwxLDI0XV0sbGljZW5zZV9zbGFzaDpbWzEsMSwyNF1dLGxpZ2h0YnVsYjpbWzAsNCwyNF0sWzEsNCwyNF1dLGxpbms6W1sxLDgsMThdLFsxLDgsMjRdXSxsaW5rX3NsYXNoOltbMSwxLDI0XV0sbGl2ZTpbWzEsMywxMl0sWzEsMywyNF1dLGxpdmVfcGhvdG86W1sxLDIsMjRdXSxsaXZlX3dhdmVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbG9jYXRpb25fcGluOltbMCwyLDI0XSxbMSwyLDI0XV0sbG9jYXRpb25fcGluX3NsYXNoOltbMSwxLDI0XV0sbG9jazpbWzAsMTMsMTJdLFswLDEzLDI0XSxbMSwxMywxOF0sWzEsMTMsMjRdLFsxLDEzLDQ4XV0sbG9ja19jbG9jazpbWzEsMSwyNF1dLGxvY2tfbjI6W1sxLDEsMjRdXSxsb2NrX29wZW46W1swLDQsMjRdLFsxLDQsMjRdXSxtYWdpY193YW5kOltbMCwzLDI0XSxbMSwzLDI0XV0sbWFpbDpbWzAsOSwyNF0sWzEsOSwyNF1dLG1hcDpbWzEsMywyNF1dLG1lZGFsOltbMSwyLDI0XV0sbWVkYWxfc3RhcjpbWzEsCjIsMjRdXSxtZWdhcGhvbmU6W1swLDUsMjRdLFsxLDUsMTJdLFsxLDUsMjRdXSxtZW1iZXJzaGlwczpbWzAsOSwyNF0sWzAsOSwzNl0sWzEsOSwyNF1dLG1lbWJlcnNoaXBzX2dpZnQ6W1sxLDEsMjRdXSxtZW50aW9uOltbMSw1LDI0XV0sbWVudTpbWzEsMSwyNF1dLG1pYzpbWzAsMTQsMThdLFswLDE0LDI0XSxbMCwxNCwzNl0sWzAsMTQsNDhdLFsxLDE0LDE4XSxbMSwxNCwyNF0sWzEsMTQsNDhdXSxtaWNfc2xhc2g6W1sxLDIsMjRdXSxtaWNfc3Bhcms6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMThdLFsxLDEsMjRdXSxtaW51czpbWzEsMiwxOF0sWzEsMiwyNF1dLG1pbnVzX2NpcmNsZTpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLG1pbnVzX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLG1peDpbWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLG1vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLG1vYmlsZV9hcnJvd19kb3duOltbMSwxLDI0XV0sbW9iaWxlX2Fycm93X2luOltbMSwKMSwyNF1dLG1vYmlsZV9hcnJvd19vdXQ6W1sxLDEsMjRdXSxtb2JpbGVfY2hlY2s6W1sxLDIsMjRdXSxtb2JpbGVfbGFuZHNjYXBlOltbMCwzLDI0XSxbMSwzLDI0XV0sbW90aW9uOltbMSwyLDI0XV0sbW92ZTpbWzEsNCwxOF0sWzEsNCwyNF1dLG11c2ljX3ZpZGVvOltbMCw0LDI0XSxbMSw0LDI0XV0sbXVzaWNfdmlkZW9fc2xhc2g6W1sxLDEsMjRdXSxuMTU6W1sxLDEsMjRdXSxuMXBvaW50Mng6W1sxLDEsMjRdXSxuMXBvaW50NXg6W1sxLDEsMjRdXSxuMXBvaW50OHg6W1sxLDEsMjRdXSxuMXg6W1sxLDEsMjRdXSxuMmQ6W1sxLDEsMjRdXSxuMnBvaW50NXg6W1sxLDEsMjRdXSxuMng6W1sxLDEsMjRdXSxuM2Q6W1sxLDEsMjRdXSxuM3g6W1sxLDEsMjRdXSxuNGQ6W1sxLDEsMjRdXSxuNGs6W1swLDEsMjRdLFsxLDEsMjRdXSxuNjA6W1sxLDEsMjRdXSxuOGs6W1swLDEsMjRdLFsxLDEsMjRdXSxuZXdfcmVsZWFzZTpbWzEsMSwyNF1dLG5ld3M6W1swLDMsMjRdLFsxLDMsMjRdXSxuZXdzX2FsZXJ0OltbMCwKMSwyNF1dLG5vZGVfbGVmdDpbWzEsMiwyNF1dLG5vZGVfcmlnaHQ6W1sxLDIsMjRdXSxub3RlOltbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDE4XSxbMSwxLDI0XV0sbm90ZV9zcGFyazpbWzAsMiwxOF0sWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLG9wZW5faW5fcGFuZWw6W1sxLDIsMjRdXSxvcmlnaW5hbHM6W1swLDEsMjRdLFsxLDEsMjRdXSxvdmVyZmxvd19ob3Jpem9udGFsOltbMSw2LDI0XSxbMSw2LDM2XV0sb3ZlcmZsb3dfdmVydGljYWw6W1sxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsMzZdXSxwYWdlX3NlYXJjaDpbWzEsMSwyNF1dLHBhaW50X2J1Y2tldDpbWzEsMywyNF1dLHBhaW50X3BhbGV0dGU6W1sxLDEsMjRdXSxwYW5lbHM6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXVzZTpbWzAsOSwyNF0sWzAsOSwzNl0sWzAsOSw0OF0sWzEsOSwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhdXNlX2hpc3Rvcnk6W1sxLDEsMjRdXSxwYXdwcmludDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxwZGY6W1sxLDIsMjRdXSxwZW5jaWw6W1swLDEwLDI0XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSxwZW5jaWxfc3Bhcms6W1sxLDEsMjRdXSxwZXJjZW50OltbMSwxLDI0XV0scGVyc29uOltbMCw3LDI0XSxbMSw3LDEyXSxbMSw3LDI0XV0scGVyc29uMjpbWzEsMSwyNF1dLHBlcnNvbjJfcmVjdGFuZ2xlOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uMzpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl9hZGQ6W1swLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxwZXJzb25fYXVkaW86W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdLFsxLDMsNDhdXSxwZXJzb25fYmFja2dyb3VuZF9zcGFyazpbWzEsMSwyNF1dLHBlcnNvbl9jaGVjazpbWzEsMSwyNF1dLHBlcnNvbl9jaGlsZDpbWzAsMiwxMl0sWzAsMiwyNF0sWzEsMiwyNF1dLHBlcnNvbl9jaXJjbGU6W1swLDEwLDI0XSxbMSwxMCwyNF0sWzEsMTAsNDhdXSxwZXJzb25fY2lyY2xlX3NsYXNoOltbMSwKMiwyNF1dLHBlcnNvbl9nZWFyOltbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX3NoaWVsZDpbWzEsNywyNF1dLHBlcnNvbl9zcXVhcmU6W1swLDIsMjRdLFsxLDIsMThdLFsxLDIsMjRdXSxwZXJzb25fc3F1YXJlX3NwYXJrOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3NxdWFyZV9zdGFjazpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl92aWV3ZmluZGVyOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3dhdmVmb3JtOltbMSwyLDI0XV0scGVyc29uX3dhdmVzOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3g6W1sxLDEsMjRdXSxwaG9uZTpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywyNF1dLHBpYW5vOltbMSwxLDI0XV0scGljdHVyZV9pbl9waWN0dXJlOltbMCwyLDI0XSxbMSwyLDI0XV0scGljdHVyZV9pbl9waWN0dXJlX3N0YWNrOltbMSwxLDI0XV0scGluOltbMCw3LDI0XSxbMSw3LDE4XSxbMSw3LDI0XV0scGluX3NsYXNoOltbMCwyLDI0XSxbMSwyLDE4XSwKWzEsMiwyNF1dLHBsYXk6W1swLDQsMThdLFswLDQsMjRdLFswLDQsMzZdLFswLDQsNDhdLFsxLDQsMjRdXSxwbGF5X2NpcmNsZTpbWzAsMiwyNF0sWzAsMiw0OF0sWzEsMiwyNF1dLHBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0scGxheV9wYXVzZTpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5X3NxdWFyZV9oYWxmX2Rhc2hlZDpbWzEsMSwyNF1dLHBsYXlfc3F1YXJlX3N0YWNrOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWFibGVzOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGxheWVyX2RlZmF1bHQ6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfZnVsbF9lbnRlcjpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyX2FsdDpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyX3BvcnRyYWl0OltbMSwyLDI0XV0scGxheWVyX2Z1bGxfZXhpdDpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2V4aXRfYWx0OltbMSwxLAoyNF1dLHBsYXllcl9taW5pX2VudGVyOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWVyX21pbmlfZXhpdDpbWzEsMSwyNF1dLHBsYXllcl9tdWx0aXZpZXc6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWVyX3RoZWF0ZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5bGlzdDpbWzEsNSwxMl0sWzEsNSwxOF0sWzEsNSwyNF0sWzEsNSw0OF1dLHBsYXlsaXN0X2FkZDpbWzEsMywxOF0sWzEsMywyNF1dLHBsYXlsaXN0X2F1ZGlvOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XSxbMSwzLDQ4XV0scGxheWxpc3RfYXVkaW9fc2xhc2g6W1sxLDEsMjRdXSxwbGF5bGlzdF9jaGVjazpbWzEsMSwyNF1dLHBsYXlsaXN0X3BlbmNpbDpbWzEsMiwyNF0sWzEsMiw0OF1dLHBsYXlsaXN0X3g6W1sxLDMsMThdLFsxLDMsMjRdXSxwb2RjYXN0OltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDEyXSxbMSw2LDE4XSxbMSw2LDI0XSxbMSw2LDQ4XV0scG9kY2FzdF9hZGQ6W1swLAoyLDI0XSxbMSwyLDI0XV0scG9kY2FzdF9jaGVjazpbWzAsMiwyNF1dLHBvaW50Mng6W1sxLDEsMjRdXSxwb2ludDN4OltbMSwxLDI0XV0scG9pbnQ1eDpbWzEsMSwyNF1dLHBvaW50OHg6W1sxLDEsMjRdXSxwb2xsOltbMSwxMCwxOF0sWzEsMTAsMjRdLFsxLDEwLDM2XV0scG9zdDpbWzAsMiwxMl0sWzAsMiwxOF0sWzAsMiwyNF0sWzEsMiwxMl0sWzEsMiwxOF0sWzEsMiwyNF1dLHByZW1pdW06W1swLDEsMjRdLFsxLDEsMjRdXSxwcmVzZW50YXRpb246W1sxLDMsMjRdXSxwcmljZV90YWc6W1swLDgsMjRdLFswLDgsNDhdLFsxLDgsMjRdXSxwcmljZV90YWdfaGVhcnQ6W1sxLDIsMjRdXSxwcmljZV90YWdfcmVjdGFuZ2xlOltbMSwxLDI0XV0scXJfY29kZTpbWzEsMywyNF1dLHFyX2NvZGVfdmlld2ZpbmRlcjpbWzEsMSwyNF1dLHF1ZXN0aW9uX2hlYWQ6W1sxLDIsMjRdXSxxdWV1ZTpbWzEsMSwyNF1dLHF1ZXVlX2xhc3Q6W1sxLDEsMjRdXSxxdWV1ZV9uZXh0OltbMSwxLDI0XV0scXVpejpbWzAsCjEsMjRdLFsxLDEsMjRdXSxxdW90ZTpbWzAsMSwyNF0sWzEsMSwyNF1dLHF1b3RlX3NsYXNoOltbMCwxLDI0XSxbMSwxLDI0XV0scmVjb3JkOltbMCwyLDI0XV0scmVkbzpbWzEsMiwxOF0sWzEsMiwyNF1dLHJlbWl4OltbMSwyLDI0XV0scmVtaXhfc3BhcmtsZXM6W1sxLDEsMjRdXSxyZW1vdGVfd2F2ZXM6W1sxLDEsMjRdXSxyZXBlYXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxyZXBlYXQxOltbMCwxLDI0XSxbMSwxLDI0XV0scmVwbGF5OltbMSwyLDI0XSxbMSwyLDM2XV0scm90YXRlX2Nsb2Nrd2lzZTpbWzEsMSwyNF1dLHJvdGF0ZV9jb3VudGVyY2xvY2t3aXNlOltbMSwxLDI0XV0scm90YXRlX2xhbmRzY2FwZTpbWzEsMiwxOF0sWzEsMiwyNF1dLHJvdGF0ZV9wb3J0cmFpdDpbWzEsMSwyNF1dLHJzczpbWzEsMiwyNF1dLHJzc19zbGFzaDpbWzEsMSwyNF1dLHJ1Ynk6W1sxLDIsMjRdXSxzYW1wbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc2F0dXJhdGlvbjpbWzEsMiwyNF1dLHNjYWxlOltbMSwKNCwyNF1dLHNjaXNzb3JzOltbMCw4LDI0XSxbMSw4LDE4XSxbMSw4LDI0XV0sc2Npc3NvcnNfY3V0OltbMSw0LDI0XV0sc2NyaWJibGU6W1sxLDEsMjRdXSxzZDpbWzAsMywyNF0sWzEsMywyNF1dLHNlYXJjaDpbWzAsMTUsMjRdLFsxLDE1LDE4XSxbMSwxNSwyNF0sWzEsMTUsNDhdXSxzZWFyY2hfc2hpZWxkOltbMCwxLDI0XSxbMSwxLDI0XV0sc2VhcmNoX3NwYXJrOltbMSwzLDE4XSxbMSwzLDI0XV0sc2Vla19mb3J3YXJkOltbMCwxLDI0XV0sc2Vla19yZXdpbmQ6W1swLDEsMjRdXSxzZW5kOltbMCw3LDE4LCEwXSxbMCw3LDI0LCEwXSxbMSw3LDE4LCEwXSxbMSw3LDI0LCEwXV0sc2hhZG93OltbMSwxLDI0XV0sc2hhZG93X2hhcmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzaGFkb3dfc29mdDpbWzAsMywyNF0sWzEsMywyNF1dLHNoYXBlczpbWzAsMywyNF0sWzEsMywyNF1dLHNoYXJlOltbMCwxMiwyNCwhMF0sWzEsMTIsMTgsITBdLFsxLDEyLDI0LCEwXV0sc2hhcmVfYW5kcm9pZDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxzaGFyZV9pb3M6W1sxLDIsMjRdXSxzaGFycGVuOltbMSwxLDI0XV0sc2hpZWxkOltbMCw2LDI0XSxbMSw2LDI0XV0sc2hpZWxkX2FkZDpbWzEsMiwyNF1dLHNoaWVsZF9oZWFsdGg6W1sxLDEsMjRdXSxzaGllbGRfb3ZlcmZsb3c6W1sxLDIsMjRdXSxzaGllbGRfc2xhc2g6W1sxLDEsMjRdXSxzaGllbGRfeDpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHNob3J0czpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHNob3J0c19hZGQ6W1sxLDEsMThdLFsxLDEsMjRdXSxzaG9ydHNfZW1wdHk6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMjRdXSxzaHVmZmxlOltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sc2tpcDEwX2JhY2s6W1sxLDIsMjRdLFsxLDIsMzZdXSxza2lwMTBfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXAxNV9iYWNrOltbMSwxLDI0XV0sc2tpcDE1X2ZvcndhcmQ6W1sxLDEsMjRdXSxza2lwMjBfYmFjazpbWzEsMSwyNF1dLHNraXAyMF9mb3J3YXJkOltbMSwKMSwyNF1dLHNraXAzMF9iYWNrOltbMSwxLDI0XV0sc2tpcDMwX2ZvcndhcmQ6W1sxLDIsMjRdLFsxLDIsMzZdXSxza2lwNV9iYWNrOltbMSwxLDI0XV0sc2tpcDVfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXA2MF9iYWNrOltbMSwxLDI0XV0sc2tpcDYwX2ZvcndhcmQ6W1sxLDEsMjRdXSxza2lwX2Rvd246W1swLDYsMjRdLFsxLDYsMjRdXSxza2lwX25leHQ6W1swLDcsMTJdLFswLDcsMjRdLFswLDcsMzZdLFsxLDcsMjRdXSxza2lwX3ByZXZpb3VzOltbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XV0sc2tpcF91cDpbWzAsNiwyNF0sWzEsNiwyNF1dLHNsYXNoX2ZvcndhcmQ6W1sxLDEsMjRdXSxzbGVlcF90aW1lcjpbWzAsMiwyNF0sWzEsMiwyNF1dLHNsaXA6W1sxLDEsMThdLFsxLDEsMjRdXSxzbm93Zmxha2U6W1sxLDEsMjRdXSxzb2NjZXJfYmFsbDpbWzEsMywyNF1dLHNvbmFyOltbMSwxLDI0XV0sc29ydDpbWzEsMywxMl0sWzEsMywxOF0sWzEsMywyNF1dLHNwYWNlYmFyOltbMSwyLAoyNF1dLHNwYXJrOltbMCwxMSwxMl0sWzAsMTEsMjRdLFsxLDExLDI0XV0sc3BhcmtfYnViYmxlX2NoYXQ6W1sxLDEsMjRdXSxzcGFya19saWdodGJ1bGI6W1swLDMsMjRdLFsxLDMsMjRdXSxzcGFya19zZWFyY2g6W1sxLDEsMjRdXSxzcGFya193YXZlczpbWzAsMiwyNF0sWzEsMiwyNF1dLHNwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BlYWtlcjpbWzEsMiwyNF1dLHNwZWFrZXJfaGVhZHNldDpbWzEsMiwyNF1dLHNwZWFrZXJfc2xhc2g6W1sxLDEsMjRdXSxzcGVha2VyX3N0YWNrOltbMSwxLDI0XV0sc3BlYWtlcl9zdGFja19zbGFzaDpbWzEsMSwyNF1dLHNwZWVkb21ldGVyOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BsaWNlOltbMSwxLDI0XV0sc3BsaXQ6W1sxLDQsMjRdXSxzcG90bGlnaHQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzcHJlYWRzaGVldDpbWzEsMSwyNF1dLHNxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHNxdWFyZTNfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSwKc3F1YXJlM2Rfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxzcXVhcmVfZ3JpZDJ4MjpbWzEsMSwyNF1dLHNxdWFyZV9ncmlkM3gzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3F1YXJlX3BhaW50YnJ1c2g6W1sxLDEsMjRdXSxzcXVhcmVfcGVuY2lsOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sc3RhYmxlX3ZvbHVtZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHN0YXI6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMjRdXSxzdGFyX2NpcmNsZTpbWzAsNiwxMl0sWzAsNiwxOF0sWzAsNiwyNF0sWzAsNiwzNl0sWzEsNiwyNF1dLHN0YXJfZnVsbF9oYWxmOltbMCwxLDEyXSxbMCwxLDI0XV0sc3Rhcl9oYWxmX2ZpbGxlZDpbWzEsMiwxMl0sWzEsMiwyNF1dLHN0YXJfdGlja2V0OltbMCwyLDI0XSxbMSwyLDI0XV0sc3Rhcl90cm9waHk6W1sxLDEsMjRdXSxzdGFyX3R2OltbMSwxLDI0XV0sc3RpY2tlcjpbWzEsMywxOF0sWzEsMywyNF1dLHN0b3A6W1swLDYsMjRdLFswLDYsMzZdLApbMSw2LDI0XV0sc3RvcF9jaXJjbGU6W1swLDIsMjRdLFsxLDIsMjRdXSxzdG9wd2F0Y2g6W1swLDUsMjRdLFsxLDUsMjRdXSxzdG9wd2F0Y2gxMDpbWzAsMSwyNF1dLHN0b3B3YXRjaDM6W1swLDEsMjRdXSxzdG9yYWdlOltbMCwyLDI0XSxbMSwyLDI0XV0sc3Vic2NyaXB0aW9uczpbWzAsMTIsMjRdLFsxLDEyLDI0XSxbMSwxMiw0OF1dLHN1YnRpdGxlczpbWzAsNSwyNF0sWzAsNSw0OF0sWzEsNSwyNF1dLHN1YnRpdGxlc19idWJibGU6W1sxLDEsMjRdXSxzdW06W1sxLDEsMjRdXSxzdXBlcl9jaGF0OltbMCw4LDI0XSxbMSw4LDI0XV0sc3VwZXJfc3RhcjpbWzEsMSwyNF1dLHN1cGVyX3N0aWNrZXI6W1swLDgsMjRdLFsxLDgsMjRdXSxzdXBlcl9zdG9yZTpbWzAsMywyNF0sWzEsMywyNF1dLHN1cHBvcnRfYWdlbnQ6W1sxLDEsMjRdXSxzdXJyb3VuZF9zb3VuZDpbWzAsMiwyNF0sWzEsMiwyNF1dLHRhYmxldF9sYW5kc2NhcGU6W1sxLDEsMjRdXSx0YXJnZXQ6W1sxLDIsMjRdXSx0YXJnZXRfYWRkOltbMSwKMiwyNF1dLHRlbXBsYXRlX2FkZDpbWzEsMywyNF1dLHRlbXBsYXRlX3BsYXk6W1swLDMsMjRdLFsxLDMsMjRdXSx0ZW1wbGF0ZV9wbGF5X3NwYXJrOltbMSwxLDI0XV0sdGV4dF9hbGlnbl9jZW50ZXI6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2FsaWduX2xlZnQ6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2FsaWduX3JpZ2h0OltbMCwyLDI0XSxbMSwyLDI0XV0sdGV4dF9idWJibGU6W1swLDQsMjRdLFsxLDQsMTJdLFsxLDQsMThdLFsxLDQsMjRdXSx0ZXh0X3BhZ2U6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X3BhZ2VfYWxlcnQ6W1sxLDEsMjRdXSx0ZXh0X3BhZ2VfY2hlY2s6W1sxLDEsMjRdXSx0ZXh0X3BhZ2VfaW5mbzpbWzEsMSwyNF1dLHRleHRfc3Bhcms6W1sxLDEsMjRdXSx0ZXh0dXJlOltbMSwxLDI0XV0sdGhlYXRlcjpbWzEsMSwyNF1dLHRoZW1lOltbMCwyLDI0XSxbMSwyLDI0XV0sdGhlcm1vbWV0ZXI6W1sxLDIsMjRdXSx0aHVtYl9kb3duOltbMCwyNSwxOF0sWzAsCjI1LDI0XSxbMCwyNSwzNl0sWzAsMjUsNDhdLFsxLDI1LDE4XSxbMSwyNSwyNF0sWzEsMjUsMzZdLFsxLDI1LDQ4XV0sdGh1bWJfdXA6W1swLDI0LDEyXSxbMCwyNCwxOF0sWzAsMjQsMjRdLFswLDI0LDM2XSxbMCwyNCw0OF0sWzEsMjQsMTJdLFsxLDI0LDE4XSxbMSwyNCwyNF0sWzEsMjQsMzZdLFsxLDI0LDQ4XV0sdGh1bWJfdXBfZG93bjpbWzAsNCwyNF0sWzEsNCwyNF1dLHRpbHQ6W1sxLDQsMjRdXSx0aW1lbGluZTpbWzEsMywyNF1dLHRpbWVsaW5lX3NwYXJrOltbMSwxLDI0XV0sdGltZXN0YW1wX2FkZDpbWzEsMSwyNF1dLHRvb2xib3g6W1swLDQsMjRdLFsxLDQsMjRdXSx0cmFuc2NyaXB0OltbMSwyLDI0XV0sdHJhbnNpdGlvbjpbWzAsNSwyNF0sWzEsNSwyNF1dLHRyYW5zbGF0ZTpbWzEsNCwxOF0sWzEsNCwyNF1dLHRyYXNoX2NhbjpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHRyZW5kaW5nOltbMCwyLDI0XSxbMSwyLDI0XV0sdHJpYW5nbGVfZG93bjpbWzAsOCwKMThdLFswLDgsMjRdLFsxLDgsMjRdXSx0cmlhbmdsZV91cDpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHRyb3BoeTpbWzAsMywyNF0sWzEsMywyNF1dLHRydWNrOltbMCw1LDI0XSxbMSw1LDI0XV0sdHY6W1swLDgsMjRdLFsxLDgsMjRdLFsxLDgsNDhdXSx0dl9hcnJvd19sZWZ0OltbMSwyLDI0XV0sdHZfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sdHZfbW9iaWxlOltbMSwyLDI0XSxbMSwyLDM2XV0sdHZfc2xhc2g6W1sxLDEsMjRdXSx1bmFyY2hpdmU6W1sxLDEsMjRdXSx1bmRvOltbMSwyLDE4XSxbMSwyLDI0XV0sdXBsb2FkOltbMSw1LDI0XV0sdmFyaWFibGU6W1sxLDQsMjRdXSx2aWRlbzpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHZpZGVvX2NhbWVyYTpbWzAsOSwyNF0sWzAsOSw0OF0sWzEsOSwyNF0sWzEsOSw0OF1dLHZpZGVvX2NhbWVyYV9hZGQ6W1sxLDIsMjRdXSx2aWRlb19jYW1lcmFfc2xhc2g6W1sxLDEsMjRdXSx2aWRlb19saW5rOltbMSw1LDE4XSwKWzEsNSwyNF1dLHZpZGVvX3BvcnRyYWl0X3NwYXJrOltbMSwxLDI0XV0sdmlkZW9fcmV2ZXJzZTpbWzEsMSwyNF1dLHZpZGVvX3NsYXNoOltbMSwxLDEyXSxbMSwxLDE4XSxbMSwxLDI0XSxbMSwxLDM2XSxbMSwxLDQ4XV0sdmlkZW9fc3Bhcms6W1sxLDIsMjRdXSx2aWRlb19zdGFja19zcGFyazpbWzEsMSwxOF0sWzEsMSwyNF1dLHZpZGVvX3N0aXRjaDpbWzEsMiwyNF1dLHZpZGVvX3dhdmVmb3JtOltbMSwxLDI0XV0sdmlld19jb2x1bW4yOltbMSwxLDI0XV0sdmlld19jb2x1bW4zOltbMCwyLDI0XSxbMSwyLDI0XV0sdmlld19jb2x1bW4zX3JvdzI6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2NvbXBhY3Q6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2ZlZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2xpc3Q6W1sxLDEsMjRdXSx2aWV3X3JvdzI6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X3RpbWVsaW5lOltbMSwxLDI0XV0sdmlld2ZpbmRlcjpbWzEsMSwxMl0sWzEsMSwxOF0sClsxLDEsMjRdXSx2aWduZXR0ZTpbWzEsMSwyNF1dLHZvbHVtZV9mYWRlOltbMSwyLDI0XV0sdm9sdW1lX21heDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9taW46W1swLDIsMjRdLFsxLDIsMjRdXSx2b2x1bWVfbXV0ZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHZyOltbMCw3LDI0XSxbMSw3LDI0XV0sd2F0Y2g6W1sxLDEsMjRdXSx3YXRlcjpbWzEsMSwyNF1dLHdhdmVmb3JtOltbMSwzLDI0XSxbMSwzLDQ4XV0sd2F2ZWZvcm1fc3Bhcms6W1sxLDIsMjRdXSx3aWZpX3RldGhlcmluZzpbWzEsMSwyNF1dLHdyZW5jaDpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHg6W1sxLDExLDE4XSxbMSwxMSwyNF0sWzEsMTEsMzZdXSx4X2NpcmNsZTpbWzAsOSwyNF0sWzEsOSwxOF0sWzEsOSwyNF1dLHhfb2N0YWdvbjpbWzEsMywxMl0sWzEsMywyNF1dLHhfcmVjdGFuZ2xlOltbMSwxLDI0XV0seWVuX3NpZ25fcmVjdGFuZ2xlOltbMCwyLDI0XSxbMSwyLDI0XV0seW91dHViZTpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX2tpZHM6W1swLDUsMjRdLFsxLDUsMjRdXSx5b3V0dWJlX2xhYnM6W1swLDEsMjRdXSx5b3V0dWJlX211c2ljOltbMCw3LDI0XSxbMSw3LDI0XV0seW91dHViZV9zaG9ydHM6W1swLDExLDI0XSxbMSwxMSwyNF1dLHlvdXR1YmVfc3R1ZGlvOltbMCw4LDI0XSxbMSw4LDI0XV0seW91dHViZV90djpbWzAsOCwyNF0sWzEsOCwyNF1dLHpvb21fYXV0bzpbWzEsMiwyNF1dLHpvb21faW46W1swLDIsMjRdLFsxLDIsMjRdXSx6b29tX291dDpbWzAsMiwyNF0sWzEsMiwyNF1dfTt2YXIgWHFhPXtWT0xVTUVfVVBfREVMSElfUExBWUVSX0ZJTExFRDoiVk9MVU1FX01BWCIsVk9MVU1FX09GRl9ERUxISV9QTEFZRVI6IlZPTFVNRV9NVVRFIixWT0xVTUVfRE9XTl9ERUxISV9QTEFZRVJfRklMTEVEOiJWT0xVTUVfTUlOIixDTE9TRURfQ0FQVElPTl9ERUxISV9QTEFZRVI6IkNBUFRJT05TIixDTE9TRURfQ0FQVElPTl9ERUxISV9QTEFZRVJfRklMTEVEOiJDQVBUSU9OUyIsU1VCVElUTEVTX0RFTEhJX1BMQVlFUjoiU1VCVElUTEVTIixTVUJUSVRMRVNfREVMSElfUExBWUVSX0ZJTExFRDoiU1VCVElUTEVTIixQTEFZRVJfRlVMTF9FTlRFUl9BTFQ6IlBMQVlFUl9GVUxMX0VOVEVSX0FMVCIsUExBWUVSX0ZVTExfRVhJVF9BTFQ6IlBMQVlFUl9GVUxMX0VYSVRfQUxUIixQQVVTRV9ERUxISV9QTEFZRVJfRklMTEVEOiJQQVVTRSIsUExBWV9BUlJPV19ERUxISV9QTEFZRVJfRklMTEVEOiJQTEFZX0FSUk9XIn0sdlo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9bWYoYSwKYil7dmFyIGM9WHFhW2EuaWNvbk5hbWUudG9VcHBlckNhc2UoKV07YyYmKGEuaWNvbk5hbWU9Yyk7dmFyIGQ9YS5pY29uTmFtZTtkPWQucmVwbGFjZSgvLS9nLCJfIik7YT17Li4uYSxpY29uTmFtZTp1WShkLCEhYyl8fGQudG9Mb3dlckNhc2UoKX07cmV0dXJuIF8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpfHxjP3JZKFdxYSxhLHRoaXMuaj8ucnd8fEFwYSxiKTpyWShWcWEsYSx0aGlzLmo/LnJ3fHx6cGEsYil9fTt2WltfLkxuXT1bXy5JbihfLm5PKV07dmFyIEJwYT1uZXcgU2V0KFsiY2kiLCJjciIsImNhcm1sIl0pLHZZPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaWduYWxzPVtdO3RoaXMuaj1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMudj1uZXcgTWFwfVZxKGEpe2lmKGEubGVuZ3RoPjEpe3ZhciBiPVtdO2xldCBmPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKHZhciBjIG9mIGEpZltjXXx8KGIucHVzaChjKSxmW2NdPSEwKTthPWJ9aWYoYS5sZW5ndGg9PT0xKXZhciBkPWFbMF07ZWxzZXtjPWE7Yj0iIjtjLnNvcnQoKTtmb3IoZSBvZiBjKWIrPWUrInwiO3ZhciBlPWI7aWYoIXRoaXMuai5nZXQoZSkpe2M9MDtiPVtdO2ZvcihkIG9mIGEpYysrLHhZKHRoaXMsZCl8fGIucHVzaChkKTtjPmIubGVuZ3RoP3RoaXMuc2lnbmFscy5wdXNoKGUpOkNwYSh0aGlzLGUsYSxiKX1kPWV9cmV0dXJuIGR9SGgoYSxiLGMsZCxlKXt4WSh0aGlzLGMpP18uQ2soKS5HYShhLGIsZCk6KGUmJihhPXlZKGEpLEFZKHRoaXMsCmEsYixjLGUpKSxlPXRoaXMuby5nZXQoYyksZXx8KHRoaXMuby5zZXQoYyxbXSksZT10aGlzLm8uZ2V0KGMpKSxlLnB1c2goe3hoOmEscHJpb3JpdHk6YixkZWxheTpkfSkpfWFkZExpc3RlbmVyKGEsYixjKXtjJiYoYj15WShiKSxBWSh0aGlzLGIsMCxhLGMpKTtjPXRoaXMudi5nZXQoYSk7Y3x8KHRoaXMudi5zZXQoYSxbXSksYz10aGlzLnYuZ2V0KGEpKTtjLnB1c2goYil9V20oYSl7aWYoIXhZKHRoaXMsYSkpe3RoaXMuQi5hZGQoYSk7dmFyIGI9dGhpcy5vLmdldChhKTtpZihiKXtmb3IobGV0IGMgb2YgYilfLkNrKCkuR2EoYy54aCxjLnByaW9yaXR5LGMuZGVsYXkpO3RoaXMuby5kZWxldGUoYSl9aWYoYj10aGlzLnYuZ2V0KGEpKXtmb3IobGV0IGMgb2YgYiljKCk7dGhpcy52LmRlbGV0ZShhKX10aGlzLnNpZ25hbHMucHVzaChhKTt0aGlzLkIuZGVsZXRlKGEpfX19O3ZZLnByb3RvdHlwZS5wcm9jZXNzU2lnbmFsPXZZLnByb3RvdHlwZS5XbTsKdlkucHJvdG90eXBlLnBhcmtPclNjaGVkdWxlSm9iPXZZLnByb3RvdHlwZS5IaDt2WS5wcm90b3R5cGUub25Bbnk9dlkucHJvdG90eXBlLlZxO18ucmEoInl0c2lnbmFscy5nZXRJbnN0YW5jZSIsd1kpO3ZZLnByb3RvdHlwZS5vbkFueT12WS5wcm90b3R5cGUuVnE7dlkucHJvdG90eXBlLnBhcmtPclNjaGVkdWxlSm9iPXZZLnByb3RvdHlwZS5IaDt2WS5wcm90b3R5cGUucHJvY2Vzc1NpZ25hbD12WS5wcm90b3R5cGUuV207dmFyIHpZPW5ldyBTZXQoWyJlb3AiLCJlb2NzIiwiZGwiLCJwY2wiXSk7dmFyIHZxYT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoYSl7dmFyIGI9e307c3VwZXIoInVuaW5pdGlhbGl6ZWQiKTt0aGlzLmVudj1hO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJ1bmluaXRpYWxpemVkIix0bzoiaW5pdGlhbGl6ZWQiLGFjdGlvbjp0aGlzLmluaXR9LHtmcm9tOiJpbml0aWFsaXplZCIsdG86InJlbmRlcmluZyIsYWN0aW9uOnRoaXMuS30se2Zyb206InJlbmRlcmluZyIsdG86InJlbmRlcmVkIixhY3Rpb246dGhpcy5EfSx7ZnJvbToicmVuZGVyZWQiLHRvOiJhZnRlci1yZW5kZXItZGVmZXJyZWQiLGFjdGlvbjp0aGlzLm99XTtiLkZnIT09dm9pZCAwJiYodGhpcy5CLkZnPWIuRmcpfWFzeW5jIGluaXQoYSl7dGhpcy5CLkZnP2F3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJyZW5kZXJpbmciKX0sMTAsImNpIil9YXN5bmMgSyhhKXt0aGlzLkIuRmc/CmF3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJyZW5kZXJlZCIpfSwxMCwiY3IiKX1hc3luYyBEKGEpe3RoaXMuQi5GZz9hd2FpdCBhKHRoaXMuZW52KTphKHRoaXMuZW52KTt0aGlzLmomJmF3YWl0IHRoaXMuai5vLnByb21pc2U7d1koKS5IaCgoKT0+e3RoaXMudHJhbnNpdGlvbigiYWZ0ZXItcmVuZGVyLWRlZmVycmVkIil9LDEwLCJjYXJtbCIpfWFzeW5jIG8oYSl7YSh0aGlzLmVudil9fTt2YXIgd1o9ITEsd3FhPXtpbml0aWFsaXplZDp7cHJpb3JpdHk6MTAsY2FsbGJhY2s6ZnVuY3Rpb24oKXt3Wnx8KF8uZHcoe0dmOmE9PnthLmVsJiZfLnV5KGEuZWwsYS5wcm9wcyl9LEhmOmE9PntfLnN5KGEuZWwpfX0pLHdaPSEwKX19fTt2YXIgQ1k9Xy5MKCh7ZGF0YTphfSk9PntmdW5jdGlvbiBiKGYpe18ublAoKTtmLnN0b3BQcm9wYWdhdGlvbigpfXZhciBjPV8udkUoImRpdiIpLGQ9Xy54KCJ3ZWJfcmVtb3ZlX3NuYWNrYmFyX2FjdGlvbnMiKTtfLlVKKCgpPT57fSk7dmFyIGU9e2J1dHRvbk92ZXJyaWRlczp7c3R5bGU6ImNhbGwtdG8tYWN0aW9uLWludmVyc2UifX07cmV0dXJuIF8uSygieXRtLW5vdGlmaWNhdGlvbi1hY3Rpb24tcmVuZGVyZXIiLG51bGwsXy5LKCJkaXYiLHsiYXJpYS1saXZlIjpfLmZyPyJvZmYiOiJwb2xpdGUiLGNsYXNzOiJub3RpZmljYXRpb24tYWN0aW9uLXJlc3BvbnNlLXRleHQifSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLnJlc3BvbnNlVGV4dH0pKSxfLksoXy5PLHtBOigpPT5hKCkuYWN0aW9uQnV0dG9uJiYhZCx0aGVuOigpPT5fLksoImRpdiIse2VsOmMsY2xhc3M6Im5vdGlmaWNhdGlvbi1hY3Rpb24tYnV0dG9uIiwib246Y2xpY2siOmJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5hY3Rpb25CdXR0b259LAp7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmZ9KT0+Xy5LKF8ucE8se2RhdGE6ZiwuLi5lfSksdG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOmZ9KT0+Xy5LKF8ucU8se2RhdGE6ZiwuLi5lfSl9KSl9KSl9LCJiZiIpO0NZLmlkb21Db21wYXQ9ITA7dmFyIEVZO3ZhciBHWT1uZXcgXy5lRTt2YXIgR3BhPXthZGRUb1BsYXlsaXN0UmVuZGVyZXI6ITB9O3ZhciBMWTt2YXIgUXBhPV8uJE4uQ3Q7dmFyIFRZPV8uTCgoe2RhdGE6YX0pPT57dmFyIGI9Xy51RSgieXRtLXNoYXJlLXRhcmdldC1yZW5kZXJlciIpO18uVUooKCk9PntiLnZhbHVlLmxheWVyPTd9KTt2YXIgYz0oKT0+Xy5CKGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5WRCk/LnVybCxkPSgpPT57YSgpO3JldHVybiExfTtyZXR1cm4gXy5LKCJ5dG0tc2hhcmUtdGFyZ2V0LXJlbmRlcmVyIix7ZWw6Yiwib246Y2xpY2siOmZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCk7aWYoZCgpKXt2YXIgZj1jKCksaD1hKCkubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zO18uekooaCw3KTtuZXcgTW96QWN0aXZpdHkoe25hbWU6Im5ldyIsZGF0YTp7dHlwZToid2Vic21zL3NtcyIsYm9keTpmfX0pO05ZKCk7ZS5wcmV2ZW50RGVmYXVsdCgpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBOWSgpfX0sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSygiYSIse2hyZWY6YyxjbGFzczoic2hhcmUtdGFyZ2V0LWxpbmsifSwKXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxXOigpPT5fLksoXy5uSCx7Y2xhc3NOYW1lOiJzaGFyZS10YXJnZXQtbGluayIsY29tbWFuZDooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCx0YXJnZXQ6Il9ibGFuayJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSl9KSl9LCJjZiIpO1RZLmlkb21Db21wYXQ9ITA7dmFyIFlxYT1fLiROLkNBTkNFTCxYcGE9Xy5MKCh7ZGF0YTphfSk9PntmdW5jdGlvbiBiKGYpe3ZhciBoPV8ueSgpLnJlc29sdmUoXy55UCksaz1SWShhKCkpO2YucHJldmVudERlZmF1bHQoKTtrJiZfLnpKKGssNyk7Xy5zUChlKTtoPy5sZCgpO18uek4oKTtmLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGMoZil7Xy55KCkucmVzb2x2ZShfLnlQKT8ubGQoKTtfLnpOKCk7Zi5zdG9wUHJvcGFnYXRpb24oKX12YXIgZD0oKT0+T1koYSgpKSxlPSJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIrXy5PSCgpO3JldHVybiBfLksoXy5yRSx7UWc6KCk9Pl8uSyhfLkFQLG51bGwsXy5LKF8uSUose2RhdGE6KCk9Pnt2YXIgZj1hKCkuaGVhZGVyPy5zaGFyZVBhbmVsSGVhZGVyUmVuZGVyZXI/LnRpdGxlPy5zaGFyZVBhbmVsVGl0bGVWMTVSZW5kZXJlcj8udGl0bGU7cmV0dXJuIGY/Zjp7c2ltcGxlVGV4dDoiU2hhcmUifX19KSkscWs6KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+CiEwLHRoZW46KCk9Pl8uSygiaW5wdXQiLHt2YWx1ZTpkLCJzZWxlY3Rpb24tZW5kIjowLGNsYXNzOiJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIsaWQ6ZSwib246Y2xpY2siOmIsImFyaWEtbGFiZWwiOigpPT5gJHtfLiROLnNvfSAke09ZKGEoKSl9YCxyZWFkb25seTohMH0pfSksXy5LKF8uZ0cse3BhOigpPT5TWShhKCkpfHxbXX0sZj0+Xy5LKF8uTyx7QTooKT0+Zi5zaGFyZVRhcmdldFJlbmRlcmVyLHRoZW46aD0+Xy5LKFRZLHtkYXRhOmh9KX0pKSksUHI6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKCJidXR0b24iLHtjbGFzczoiY29tcGFjdCIsIm9uOmNsaWNrIjpjfSxZcWEpKX0pfSwiZGYiKSxRWT1fLkwoKHtzaG9ydFVybDphLHRyYWNraW5nUGFyYW1zOmJ9KT0+e2Z1bmN0aW9uIGMoZSl7dmFyIGY9ZCxoPWI/LigpO2UucHJldmVudERlZmF1bHQoKTtoJiZfLnpKKGgsNyk7Xy5zUChmKTtOWSgpO18uek4oKTtlLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPSJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIrCl8uT0goKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ITAsdGhlbjooKT0+Xy5LKCJpbnB1dCIse2NsYXNzOiJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIsaWQ6ZCx2YWx1ZTphLHJlYWRvbmx5OiEwLCJhcmlhLWxhYmVsIjooKT0+YCR7Xy4kTi5zb30gJHthKCl9YCwib246Y2xpY2siOmMsInNlbGVjdGlvbi1lbmQiOjB9KX0pfSwiZWYiKTtRWS5pZG9tQ29tcGF0PSEwO3ZhciAkcGE9Xy4kTi5EdCxhcWE9Xy4kTi5ldTtfLnJhKCJ5dC5wdWJzdWIucHVibGlzaCIsXy5Peik7dmFyIHdYPXthdWRpb1RyYWNrU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyhUcWEpLGJyb3dzZUVuZHBvaW50OigpPT5GWShJcGEpLGNhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6VlcoclopLGNvbW1hbmRFeGVjdXRvckNvbW1hbmQ6KCk9PkZZKEpwYSksY29weVRleHRFbmRwb2ludDooKT0+RlkoTHBhKSxlbnRpdHlVcGRhdGVDb21tYW5kOlZXKHBaLFtuWl0pLGZlZWRiYWNrRW5kcG9pbnQ6KCk9PkZZKE1ZKSxtb2RpZnlDaGFubmVsTm90aWZpY2F0aW9uUHJlZmVyZW5jZUVuZHBvaW50OigpPT5GWShOcGEpLG5hdGl2ZUFwcERlZXBsaW5rRW5kcG9pbnQ6KCk9PkZZKHBvYSksb3BlblBvcHVwQWN0aW9uOigpPT5GWShEcGEpLHBob25lRGlhbGVyRW5kcG9pbnQ6KCk9PkZZKFBwYSkscGxheWxpc3RFZGl0RW5kcG9pbnQ6KCk9PkZZKFJwYSksc2VuZFNtc0VuZHBvaW50OigpPT5GWShUcGEpLHNoYXJlRW50aXR5RW5kcG9pbnQ6KCk9PkZZKFpwYSksc2hvd0F1ZGlvVHJhY2tQaWNrZXJBY3Rpb25Db21tYW5kOlZXKHNaKSwKc2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6VlcodFopLHNob3dFbmdhZ2VtZW50UGFuZWxFbmRwb2ludDooKT0+RlkoZHFhKSxzaG93U2hlZXRDb21tYW5kOlZXKHFaLFtfLmNMLCRZXSksc2lnbkluRW5kcG9pbnQ6KCk9PkZZKGZxYSksc3Vic2NyaWJlRW5kcG9pbnQ6KCk9PkZZKFdZKSx1bmRvRmVlZGJhY2tFbmRwb2ludDooKT0+RlkoTVkpLHVuc3Vic2NyaWJlRW5kcG9pbnQ6KCk9PkZZKFdZKSx1cmxFbmRwb2ludDooKT0+RlkoaHFhKSx1c2VyRmVlZGJhY2tFbmRwb2ludDooKT0+RlkoaXFhKSx3YXRjaEVuZHBvaW50OigpPT5GWShFcGEpfTt2YXIgeFo9Xy5MKCh7Y2hpbGRyZW46YSxCcTpiLGlzRnVsbHNjcmVlbjpjLHN0eWxlOmQsYXJpYUxhYmVsOmV9KT0+e3ZhciBmPV8udUUoImRpYWxvZyIpO18uVUooKCk9Pnt2YXIgaD0oKT0+e30saz1mLnZhbHVlO2suYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgsITApO18uWXUoKCk9PntrLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixoLCEwKX0pfSk7cmV0dXJuIF8uSygiZGlhbG9nIix7ZWw6ZixjbGFzczpfLlAoImRpYWxvZyIsIm1vZGVybi1kaWFsb2ctbGF5b3V0IiwibW9kZXJuLWRpYWxvZyIse3Njcm9sbGFibGU6YiwiZGlhbG9nLWZ1bGxzY3JlZW4iOmMsInJvdW5kZWQtY29udGFpbmVyIjooKT0+IWM/LigpfSkscm9sZToiZGlhbG9nIiwiYXJpYS1tb2RhbCI6ITAsc3R5bGU6ZCwiYXJpYS1sYWJlbCI6ZX0sYSl9LCJmZiIpO3haLmlkb21Db21wYXQ9ITA7dmFyIFpxYT1jbGFzc3t9O3ZhciBxcWE9Y2xhc3MgZXh0ZW5kcyBacWF7Y29uc3RydWN0b3IoKXt2YXIgYT17WWw6VXBhLFdrOk5ZfTtzdXBlcigpO3RoaXMubz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLm8uaWQ9Imdsb2JhbC1sb2FkZXIiO2RvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHRoaXMubyxkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpO3RoaXMuWWw9YT8uWWw7dGhpcy5Xaz1hPy5Xa31ycSgpe3JldHVybiEhdGhpcy5qfWFzeW5jIG9wZW5EaWFsb2coYSl7dmFyIGI9e3N0YWNrOltdLGVycm9yOnZvaWQgMCxoYXNFcnJvcjohMX07dHJ5e2xldCBjPV8uWnR8fHt9O3RoaXMuWWw/LigpJiZhd2FpdCB0aGlzLldrPy4oKTt0aGlzLnJxKCkmJnRoaXMubGQoKTtfLlZ6KGIsXy52TShjKSk7bGV0IGQ9YS5VbixlPWEuQnEsZj1hLmlzRnVsbHNjcmVlbixoPWEubkosaz1hLmlzUGVyc2lzdGVudCxsPWEuZm9jdXNPbkNsb3NlLG09YS5ybixuPWEuZksscD1hLnN0eWxlLHI9YS5hcmlhTGFiZWw7CnRoaXMuQj1hO3RoaXMudj10aGlzLmxkLmJpbmQodGhpcyk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLWNoYW5nZSIsdGhpcy52KTt0aGlzLmo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5qLmlkPSJkaWFsb2ctY29udGFpbmVyIjt0aGlzLmouY2xhc3NOYW1lPV8uYUwoImRpYWxvZy1jb250YWluZXIiLHtbImRpYWxvZy1mdWxsc2NyZWVuIl06Zn0pOyhfLlpPKCl8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHRoaXMuaik7Xy5mTih0aGlzLmosXy5LKF8uSUIsbnVsbCxfLksoeFose0JxOmUsaXNGdWxsc2NyZWVuOmYsc3R5bGU6cCxhcmlhTGFiZWw6cn0sXy5LKGQsbnVsbCkpLF8uSyhfLlpOLHtsYWJlbDoiZGlhbG9nIixvbmNsaWNrOigpPT57aHx8a3x8dGhpcy5sZCgpfX0pKSk7Xy5KTih0aGlzLmosbCxtKTtuPy4oKX1jYXRjaChjKXtiLmVycm9yPWMsYi5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooYil9fWxkKCl7dGhpcy5qJiYodGhpcy5CLkdoPy4oKSwKdGhpcy5CPXZvaWQgMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIix0aGlzLnYpLHRoaXMudj12b2lkIDAsXy5LTih0aGlzLmopLF8ucEModGhpcy5qKSx0aGlzLmoucmVtb3ZlKCksdGhpcy5qPXZvaWQgMCl9UXUoKXt0aGlzLm8uZmlyc3RDaGlsZCYmdGhpcy5vLnJlbW92ZUNoaWxkKHRoaXMuby5maXJzdENoaWxkKX19O3ZhciBTVz1uZXcgXy5DdCgiSW5uZXJUdWJlVHJhbnNwb3J0IiwiUnYzZTNkIik7bmV3IF8uQ3QoIlBhZ2VSZXF1ZXN0IiwiUnYzZTNkIik7dmFyICRxYT17YXV0b25hdl9vZmZfdG9nZ2xlX3NwYW5uZXI6W1swLDEsMzZdXSxhdXRvbmF2X29uX3RvZ2dsZV9zcGFubmVyOltbMCwxLDM2XV0sYXV0b25hdl9wbGF5X2NpcmNsZTpbWzAsMSwyMF1dLGF1dG9wbGF5OltbMCwyLDI0XV0sY3JlYXRvcl9zdHVkaW9fcmVkX2xvZ286W1swLDIsMjRdXSxlcXVhbGl6ZXI6W1swLDEsMjRdXSxmdWxsc2NyZWVuOltbMSwxLDI0XV0sZnVsbHNjcmVlbl9leGl0OltbMSwxLDI0XV0sZnVsbHNjcmVlbl9mcDpbWzEsMiwyNF1dLGdvb2dsZTpbWzAsMSwyNF1dLGdvb2dsZV9sb2dvOltbMCwyLDI0XV0saW5jb2duaXRvX2NpcmNsZTpbWzAsMSwyNF1dLGtpZHNfcmVkX2xvZ286W1swLDIsMjRdXSxsb2dvOltbMCwyLDY3XV0sbG9nb193aXRoX3RleHQ6W1swLDMsMjBdXSxsb2dvX3dpdGhfdGV4dF9tb25vY2hyb21lOltbMCwxLDIwXV0sbXVzaWNfcmVkX2xvZ286W1swLDIsMjRdXSxwYXVzZV9jaXJjbGU6W1swLDEsMjRdXSxwYXVzZV9vdXRsaW5lZDpbWzAsCjEsMjRdXSxwaXZvdF9saWJyYXJ5OltbMCwxLDI0XV0scGxheV9jaXJjbGVfc2hvcnRzOltbMCwyLDI0XV0scGxheWVyX2F1dG9wbGF5X25leHQ6W1swLDIsMjRdXSxwcmVtaXVtOltbMCwyLDI0XV0scHJlbWl1bV9zdGFuZGFsb25lOltbMCwyLDI0XV0scHJlbWl1bV9zdGFuZGFsb25lX2NhaXJvOltbMCwxLDI0XV0scmluZ29fbG9nbzpbWzAsMiwyNF1dLHNjcmVlbl9saWdodDpbWzEsMSwyNF1dLCJzaG9ydHMtaGVhcnQiOltbMCwxLDI0XSxbMSwxLDI0XV0sInNob3J0cy1oZWFydC1ncmFkaWVudCI6W1swLDEsMjRdLFsxLDEsMjRdXSxzaG9ydHNfY29tbWVudDpbWzAsMSwzMl1dLHNob3J0c19zaGFyZTpbWzAsMSwzMl1dLHNob3J0c190ZXh0X2xvZ286W1swLDIsNzJdXSxzaG9ydHNfdGh1bWJzX2Rvd246W1swLDEsMzJdXSxzaG9ydHNfdGh1bWJzX3VwOltbMCwxLDMyXV0sc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxzcGFya19zZWFyY2g6W1swLDEsMjRdXSxzdWJkaXJlY3RvcnlfYXJyb3dfcmlnaHQ6W1sxLAoxLDI0XV0sdW5wbHVnZ2VkX3JlZF9sb2dvOltbMCwyLDI0XV0sdmlkZW9feW91dHViZTpbWzAsMSwyNF1dLHdhdGVybWFyazpbWzAsMiwxMTBdXSx5b3V0dWJlOltbMCwyLDI0XV0seW91dHViZV9jcmVhdGVfbG9nbzpbWzAsMSwyNF1dLHlvdXR1YmVfcHJlbWl1bV9sb2dvX3Nob3J0OltbMCwyLDIwXV0seW91dHViZV9wcmVtaXVtX2xvZ29fc2hvcnRfbW9ub2Nocm9tZTpbWzAsMSwyMF1dLHlvdXR1YmVfc2hvcnRzX2JyYW5kXzI0OltbMCwyLDI0XV0seW91dHViZV9zaG9ydHNfZmlsbF9ub190cmlhbmdsZV9yZWRfMTY6W1swLDEsMTZdXX07dmFyIHlaPW5ldyBNYXAoW1sicGxheV9jaXJjbGVfZmlsbGVkIiwiYXV0b25hdl9wbGF5X2NpcmNsZSJdLFsic2VhcmNoIiwic2VhcmNoX2NhaXJvIl0sWyJ0YWJfaG9tZSIsImhvbWVfY2Fpcm8iXSxbInRhYl9zaG9ydHMiLCJ5b3V0dWJlX3Nob3J0c19jYWlybyJdLFsiYWNjb3VudF9jaXJjbGUiLCJwZXJzb25fY2lyY2xlX2NhaXJvIl0sWyJwcmVtaXVtX3N0YW5kYWxvbmUiLCJwcmVtaXVtX3N0YW5kYWxvbmVfY2Fpcm8iXV0pLGFyYT1uZXcgU2V0KFsiYXVkaW9fYmFkZ2UiLCJwYXVzZSIsInBsYXlfYXJyb3ciXSksWVk9Y2xhc3MgZXh0ZW5kcyB2Wntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKTt0aGlzLm89YX1tZihhLGIpe3ZhciBjPXsuLi5hfTthLmljb25OYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2hvcnRzX3RodW1ic191cCImJl8ueCgiZW5hYmxlX3Nob3J0c19oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIikmJihjLmljb25OYW1lPV8ueCgidXNlX3doaXRlX2ZpbGxlZF9oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIik/CiJzaG9ydHMtaGVhcnQiOiJzaG9ydHMtaGVhcnQtZ3JhZGllbnQiKTthcmEuaGFzKGEuaWNvbk5hbWUpJiYoYy5pY29uU3R5bGU9InlvdXR1YmVfZmlsbCIpO3laLmhhcyhhLmljb25OYW1lKSYmIV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiYoYS5pY29uTmFtZT15Wi5nZXQoYS5pY29uTmFtZSkpO2EuaWNvbk5hbWU9PT0iYWNjb3VudF9saW5rZWQiJiYoYy5pY29uTmFtZT0iY2lyY2xlc19vdmVybGFwX2NoZWNrIixjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7YS5pY29uTmFtZT09PSJhY2NvdW50X3VubGlua2VkIiYmKGMuaWNvbk5hbWU9ImNpcmNsZXNfb3ZlcmxhcCIsYy5pY29uU3R5bGU9InlvdXR1YmVfb3V0bGluZSIpO18ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiYoYS5pY29uTmFtZT09PSJwbGF5bGlzdF9hZGQiJiYoYy5pY29uTmFtZT0iYm9va21hcmsiKSxhLmljb25OYW1lPT09ImNpcmNsZXNfb3ZlcmxhcF9jaGVjayJ8fGMuaWNvbk5hbWU9PT0iY2lyY2xlc19vdmVybGFwX2NoZWNrIikmJgooYy5pY29uTmFtZT0iYWNjb3VudF9saW5rIixjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7YT0oYT11WShjLmljb25OYW1lKSk/ey4uLmMsaWNvbk5hbWU6YX06YzthPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiZhLmljb25OYW1lPT09InlvdXR1YmUiP3ZvaWQgMDpyWSgkcWEsYSx0aGlzLm8/LmVKfHxtcWEsYik7cmV0dXJuIGE/YTpzdXBlci5tZihjLGIpfX07WVlbXy5Mbl09W18uSW4oXy5uTyldO3ZhciBycWE9Y2xhc3MgZXh0ZW5kcyBVcWF7aXNWaXNpYmxlKGEpe3ZhciBiPVByb21pc2UsYz1iLnJlc29sdmU7dmFyIGQ9Xy5vTSgpLmdldFN0YXRlKCkuZW5nYWdlbWVudFBhbmVsPy5xcztyZXR1cm4gYy5jYWxsKGIsYT09PWQpfX07dmFyIGJyYT1jbGFzcyBleHRlbmRzIGtae2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLm9ic2VydmVyPW5ldyBfLmZGKDAsYT0+e3RoaXMubG9nVmlzaWJpbGl0eShhKX0pfW9ic2VydmUoYSxiLGMpe2MuVmJ8fGMuc3RhdGUhPT0idmlzaWJsZSJ8fChjLlZiPSEwKTt2YXIgZD17ZWxlbWVudDphLG9wdGlvbjpjfTtpZighYy5WYnx8Yy5zdGF0ZSE9PSJ2aXNpYmxlIilyZXR1cm4gZDtpZih0eXBlb2YgYiE9PSJmdW5jdGlvbiIpcmV0dXJuIF8uV2koRXJyb3IoImhlYCIrdHlwZW9mIGIpKSxkO2EuX192aXNpYmlsaXR5Q2FsbGJhY2s9Yjt0aGlzLm9ic2VydmVyLm9ic2VydmUoYSk7cmV0dXJuIGR9bG9nVmlzaWJpbGl0eShhKXthLl9fdmlzaWJpbGl0eUNhbGxiYWNrJiZ0eXBlb2YgYS5fX3Zpc2liaWxpdHlDYWxsYmFjaz09PSJmdW5jdGlvbiImJmEuX192aXNpYmlsaXR5Q2FsbGJhY2soYSwidmlzaWJsZSIpfXJmKGEpe2RlbGV0ZSBhLmVsZW1lbnQuX192aXNpYmlsaXR5Q2FsbGJhY2s7CnRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKGEuZWxlbWVudCl9ZGlzcG9zZSgpe3RoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpfX07dmFyIG9xYT0iSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiaW4gd2luZG93P25ldyBNcWE6bmV3IGJyYTtfLnVQPV8uYlo7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIm1lSDlFYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkJQPWZ1bmN0aW9uKGEsYj0hMSl7dmFyIGMsZD0oKT0+e3ZhciBlPV8uTEIoITApO18uZ3YrKzt0cnl7Yz1fLmJDKGEoKSksXy5JQSghMSl9Y2F0Y2goZil7dGhyb3cgXy5JQSghMCksXy5VdShmLDQpO31maW5hbGx5e18uTEIoZSl9fTtiPWJ8fF8uWnQ/Xy51dihkLGIpOl8uaXcoZCk7cmV0dXJuW2MsYl19O18uS0I9Xy5sQzsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHppYSxBaWEsQmlhLEVpYSxDaWEsRGlhLEZpYTt6aWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQWEoYSkmJmEubm9kZVR5cGU9PTE/YS5nZXRBdHRyaWJ1dGUoImpzbmFtZSIpPT09ImNvRlN4ZSI6ITF9O0FpYT1mdW5jdGlvbihhLGIpe2IuaWR8fChiLmlkPSJvdyIrXy5mdyhiKSk7YS5zZXRBdHRyaWJ1dGUoImpzb3duZXIiLGIuaWQpO2EuX19vd25lcj1iO3ZhciBjPV8uZ3coYix6aWEpO2MmJihfLkdDLmhhcyhjKXx8Xy5HQy5zZXQoYyxbXSksXy5HQy5nZXQoYykucHVzaChhKSk7KGM9Xy5GQy5nZXQoYikpfHxfLkZDLnNldChiLGM9W10pO2MuaW5jbHVkZXMoYSl8fGMucHVzaChhKTtiLnNldEF0dHJpYnV0ZSgiX19JU19PV05FUiIsITApfTtCaWE9ZnVuY3Rpb24oKXt2YXIgYT1fLkNBKDEpO2E9Xy5jdShhLF8uTEMpO2lmKCEoXy5idShhKXx8YVtfLk12XSYmIWEudm8pKXJldHVybiBhLnZhbHVlfTsKRWlhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5DQSgyKSxiPW5ldyBTZXQsYz0oKT0+e2IuZm9yRWFjaChkPT52b2lkIGQoKSk7Yi5jbGVhcigpfTtfLll1KGMpO3JldHVyblsoZCxlKT0+e3ZhciBmPV8uJHQoYSk7dHJ5e2xldCBoPUNpYShEaWEoZCksZSk7Yi5hZGQoaCk7cmV0dXJuKCk9PntoKCk7Yi5kZWxldGUoaCl9fWZpbmFsbHl7Xy4kdChmKX19LGNdfTtfLkNQPWZ1bmN0aW9uKHtjaGlsZHJlbjphLHJvb3Q6Yn0pe18ub0YoKCk9Pnt2YXIgW2NdPUVpYSgpO2M9YyhiLGEpO18uWXUoYyl9KTtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpfTtDaWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaWEoYSk7KGE9QmlhKCkpJiZBaWEoYyxhKTt2YXIgW2QsZV09Xy5CUChiLCEwKTtmb3IobGV0IGYgb2YgZCljLmFwcGVuZENoaWxkKGYpO18uVkIubG9nKGMpO3JldHVybigpPT57ZSgpO2MucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoYyl9fTsKRGlhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpe2E9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhKTtpZighKDAsXy5wcikoYSkpdGhyb3cgRXJyb3IoInBgYCIrU3RyaW5nKGEpKTtyZXR1cm4gYX1pZihfLmpCKGEpKXJldHVybiBhO2lmKCFhLkNrJiYhYS5sdSl7dmFyIGI9YS5qdTtiPUVycm9yKCJVY2AiKyh0eXBlb2YgYj09PSJzeW1ib2wiP2IuZGVzY3JpcHRpb246YikpO2Eua3U9ITA7dGhyb3cgYjt9cmV0dXJuIGEudmFsdWV9O0ZpYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoYS5uYW1lc3BhY2VVUkksYS5uYW1lc3BhY2VVUkk9PT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPyJnIjoiZGl2Iik7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoYil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkRQPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5DQSgpLGQ9ZT0+e18ub0goYywoKT0+e2IoZSl9KX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYSxkLHZvaWQgMCk7Xy5ZdSgoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGEsZCx2b2lkIDApfSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSWlhLEhQLEZQLEdQLEtpYSxNaWEsTGlhLExQO0lpYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInN0cmluZ0VudGl0eSIsYil9OwpIUD1mdW5jdGlvbihhLGIsYyl7aWYoYSl7dmFyIGQ9YS5saWtlU3RhdHVzO3JldHVybiBiP3tzdHlsZTp7c3R5bGVUeXBlOiJTVFlMRV9URVhUIn0sdG9nZ2xlZFN0eWxlOntzdHlsZVR5cGU6IlNUWUxFX0RFRkFVTFRfQUNUSVZFIn0saXNUb2dnbGVkOmQ9PT0iTElLRSIsaXNEaXNhYmxlZDohYS5saWtlc0FsbG93ZWQsZGVmYXVsdEljb246e2ljb25UeXBlOmN9LGRlZmF1bHRUZXh0OmQ9PT0iTElLRSI/YS5saWtlQ291bnRXaXRoVW5saWtlVGV4dDphLmxpa2VDb3VudFRleHQsdG9nZ2xlZFRleHQ6ZD09PSJMSUtFIj9hLmxpa2VDb3VudFRleHQ6YS5saWtlQ291bnRXaXRoTGlrZVRleHQsZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludDpGUChhLCJMSUtFIiksZGVmYXVsdFNlcnZpY2VFbmRwb2ludDpHUChhLCJMSUtFIiksdG9nZ2xlZFNlcnZpY2VFbmRwb2ludDpHUChhLCJJTkRJRkZFUkVOVCIpLGRlZmF1bHRUb29sdGlwOl8uYU4oYS5saWtlQ291bnRUb29sdGlwVGV4dCksdG9nZ2xlZFRvb2x0aXA6Xy5hTihhLmxpa2VDb3VudFRvb2x0aXBUZXh0KSwKdGFyZ2V0SWQ6YS50YXJnZXRJZH06e3N0eWxlOntzdHlsZVR5cGU6IlNUWUxFX1RFWFQifSx0b2dnbGVkU3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfREVGQVVMVF9BQ1RJVkUifSxpc1RvZ2dsZWQ6ZD09PSJESVNMSUtFIixpc0Rpc2FibGVkOiFhLmxpa2VzQWxsb3dlZCxkZWZhdWx0SWNvbjp7aWNvblR5cGU6Y30sZGVmYXVsdFRleHQ6ZD09PSJESVNMSUtFIj9hLmRpc2xpa2VDb3VudFdpdGhVbmRpc2xpa2VUZXh0OmEuZGlzbGlrZUNvdW50VGV4dCx0b2dnbGVkVGV4dDpkPT09IkRJU0xJS0UiP2EuZGlzbGlrZUNvdW50VGV4dDphLmRpc2xpa2VDb3VudFdpdGhEaXNsaWtlVGV4dCxkZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50OkZQKGEsIkRJU0xJS0UiKSxkZWZhdWx0U2VydmljZUVuZHBvaW50OkdQKGEsIkRJU0xJS0UiKSx0b2dnbGVkU2VydmljZUVuZHBvaW50OkdQKGEsIklORElGRkVSRU5UIiksZGVmYXVsdFRvb2x0aXA6Xy5hTihhLmRpc2xpa2VDb3VudFRvb2x0aXBUZXh0KSx0b2dnbGVkVG9vbHRpcDpfLmFOKGEuZGlzbGlrZUNvdW50VG9vbHRpcFRleHQpfX19OwpGUD1mdW5jdGlvbihhLGIpe2lmKGI9PT0iTElLRSIpcmV0dXJuIGEubGlrZUNvbW1hbmQ7aWYoYj09PSJESVNMSUtFIilyZXR1cm4gYS5kaXNsaWtlTmF2aWdhdGlvbkVuZHBvaW50fTtHUD1mdW5jdGlvbihhLGIpe3JldHVybiBhLnNlcnZpY2VFbmRwb2ludHM/LmZpbmQoYz0+Xy5CKGMsXy5kTyk/LnN0YXR1cz09PWIpfTtfLklQPWZ1bmN0aW9uKGEpe3JldHVybntjb250ZW50OmF9fTsKXy5KUD1mdW5jdGlvbihhLGIsYyl7Yj1jfHwoYj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg/PzApKkppYTthPWEudGh1bWJuYWlscztpZighYSlyZXR1cm4iIjtjPTA7dmFyIGQ9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsZT0wLGY9LU51bWJlci5NQVhfU0FGRV9JTlRFR0VSO2ZvcihsZXQgaz0wO2s8YS5sZW5ndGg7aysrKXtsZXQgbD1hW2tdLndpZHRoLWI7bD49MCYmbDw9ZD8oYz1rLGQ9bCk6bDwwJiZsPmYmJihlPWssZj1sKX12YXIgaD1bXTthLmZvckVhY2goaz0+e2gucHVzaChrLnVybCl9KTtyZXR1cm4gZDwxMDB8fGQ8LWY/YVtjXS51cmw6YVtlXS51cmx9O0tpYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoYj0+e18uT0UoKCk9PntiKGEpfSl9KX07TWlhPWZ1bmN0aW9uKGEpe2E9YS5tYXAoTGlhKTtyZXR1cm4gXy5JZihhKS50aGVuKEtpYSl9OwpMaWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29tcGxldGU/Xy5LeSgibG9hZCIpOm5ldyBfLkJmKGI9PntmdW5jdGlvbiBjKGQpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYyk7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsYyk7YihkLnR5cGUpfWEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYyk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsYyl9KX07TFA9ZnVuY3Rpb24oYSl7S1B8fE1pYShbYV0pLnRoZW4oKCk9PntpZighS1Ape3ZhciBiPSgwLF8uZWwpKCk7Xy5BcSgiZnRsIixiLHZvaWQgMCk7S1A9ITB9fSl9O18uTVA9bmV3IF8uSSgic3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWwiKTtfLk5QPV8uTCgoKT0+e3ZhciBhPV8udygiUExBWUVSX1ZBUlMiKSxiPWEudXNlcl9kaXNwbGF5X25hbWUsYz1hLnVzZXJfZGlzcGxheV9pbWFnZSxkPWEudXNlcl9kaXNwbGF5X2NoYW5uZWxfaGFuZGxlLGU9ZCYmXy5JUChkKSxmPSgpPT5fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKGIpLGxlYWRpbmdBY2Nlc3Nvcnk6e2F2YXRhclZpZXdNb2RlbDp7aW1hZ2U6e3NvdXJjZXM6W3t1cmw6Y31dfX19LHN1YnRpdGxlOmV9fSxfLlpDKTtyZXR1cm4gXy5LKCJhY2NvdW50LWluZm8tbWVudS1pdGVtIix7Y2xhc3M6ImFjY291bnRJbmZvSG9zdCJ9LF8uSyhfLkNELHtkYXRhOmYsSWE6ITAsb25UYXA6KCk9PntkJiZfLkFKKF8ud04oYEAke2R9YCksZigpLCExKX19KSl9LCJ6YiIpO18uTlAuaWRvbUNvbXBhdD0hMDt2YXIge01nOk5pYX09Xy56RyhhPT5hLnRhcmdldD8udmlkZW9JZCk7dmFyIE9QPV8uTChhPT57dmFyIHtkYXRhOmIsYnV0dG9uT3ZlcnJpZGVzOmN9PV8uREMoYSx7YnV0dG9uT3ZlcnJpZGVzOnt9fSksW2QsZV09TmlhKGIpLGY9KCk9PkhQKGQoKSwhMCwiU0hPUlRTX0xJS0UiKSxoPSgpPT5IUChkKCksITEsIlNIT1JUU19ESVNMSUtFIiksaz0obCxtKT0+e20uc3RvcFByb3BhZ2F0aW9uKCk7Zm9yKGxldCBuIG9mIGwpKGw9Xy5CKG4sXy5kTykpJiZkJiZlKHsuLi5kKCksbGlrZVN0YXR1czpsLnN0YXR1c30pfTtyZXR1cm4gXy5LKCJ5dG0tbGlrZS1idXR0b24tcmVuZGVyZXIiLG51bGwsXy5LKF8uTyx7QTooKT0+ZCgpLmxpa2VTdGF0dXMmJiEhZigpJiYhIWgoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLnFPLHtkYXRhOmYsYnV0dG9uT3ZlcnJpZGVzOigpPT4oe3R5cGU6ZCgpLmxpa2VTdGF0dXM9PT0iTElLRSI/ImZpbGxlZCI6InRvbmFsIiwuLi5jKCl9KSxSazprfSksXy5LKF8uTyx7QTooKT0+IWQoKS5oaWRlRGlzbGlrZUJ1dHRvbix0aGVuOigpPT4KXy5LKF8ucU8se2RhdGE6aCxidXR0b25PdmVycmlkZXM6KCk9Pih7dHlwZTpkKCkubGlrZVN0YXR1cz09PSJESVNMSUtFIj8iZmlsbGVkIjoidG9uYWwiLC4uLmMoKX0pLFJrOmt9KX0pKX0pKX0sIkFiIik7T1AuaWRvbUNvbXBhdD0hMDt2YXIgUFA9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXRtLW1lbnUtbmF2aWdhdGlvbi1pdGVtLXJlbmRlcmVyIixudWxsLF8uSyhfLndPLHtvbmNsaWNrOmI9Pnt2YXIgYz1hKCk7Xy54TigpJiZfLnpOKCk7Xy5BSihjLm5hdmlnYXRpb25FbmRwb2ludCxjLCExKTtfLkIoYy5uYXZpZ2F0aW9uRW5kcG9pbnQ/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8uaWdub3JlTmF2aWdhdGlvbnx8Yi5zdG9wUHJvcGFnYXRpb24oKX0scm9sZTooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCYmXy5CKGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5WRCk/ImxpbmsiOnZvaWQgMH0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGV4dH0pKSksIkJiIik7UFAuaWRvbUNvbXBhdD0hMDt2YXIgUVA9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLm1HKCk7cmV0dXJuIF8uSygieXRtLW1lbnUtc2VydmljZS1pdGVtLXJlbmRlcmVyIixudWxsLF8uSyhfLndPLHtvbmNsaWNrOigpPT57dmFyIGM9YSgpLGQ9Yy5zZXJ2aWNlRW5kcG9pbnQsZT1jLmNvbW1hbmQ7ZCYmXy5BSihkLGMsITAse0JkOmJ9KTtlJiZfLkFKKGUsYywhMCx7QmQ6Yn0pfX0sXy5LKF8uTyx7QTooKT0+YSgpLmljb24/Lmljb25UeXBlLHRoZW46KCk9Pl8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGV9KX0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGV4dCxtYTohMH0pKSl9LCJDYiIpO1FQLmlkb21Db21wYXQ9ITA7dmFyIFJQPV8uTCgoe2RhdGE6YSxCZDpifSk9Pnt2YXIgYz1fLkRJKElpYSwoKT0+YSgpPy50b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHlLZXl8fCIiKSxkPSgpPT5hKCk/LnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleT8hIWMoKT8udmFsdWU6YSgpPy5pc1RvZ2dsZWQsZT0oKT0+YygpP3tydW5zOlt7dGV4dDpjKCk/LnZhbHVlfHwiIn1dfTphKCk/LnRvZ2dsZWRTZWNvbmRhcnlUZXh0O3JldHVybiBfLksoInl0bS10b2dnbGUtbWVudS1zZXJ2aWNlLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6KCk9Pnt2YXIgZj1hKCksaD1iPy4oKSxrPWYuaXNUb2dnbGVkP2YudG9nZ2xlZFNlcnZpY2VFbmRwb2ludDpmLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQ7ayYmKF8uQUooayxmLCEwLHtCZDpofSksZi50b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHlLZXl8fChmLmlzVG9nZ2xlZD0hZi5pc1RvZ2dsZWQpKX19LF8uSyhfLk1ELHtpY29uOigpPT5kKCk/YSgpLnRvZ2dsZWRJY29uPy5pY29uVHlwZT8udG9TdHJpbmcoKToKYSgpLmRlZmF1bHRJY29uPy5pY29uVHlwZT8udG9TdHJpbmcoKSxhY3RpdmU6ZH0pLF8uSyhfLklKLHtkYXRhOigpPT5kKCk/YSgpLnRvZ2dsZWRUZXh0OmEoKS5kZWZhdWx0VGV4dH0pLF8uSyhfLk8se0E6KCk9PmEoKS5kZWZhdWx0U2Vjb25kYXJ5VGV4dHx8ZSgpLHRoZW46KCk9Pl8uSyhfLklKLHtkYXRhOigpPT5kKCk/ZSgpOmEoKS5kZWZhdWx0U2Vjb25kYXJ5VGV4dH0pfSkpKX0sIkRiIik7UlAuaWRvbUNvbXBhdD0hMDt2YXIgT2lhOwpfLlNQPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixUZDpjLEVoOmQsRmg6ZSxkZjpmLEhhOmgsdW46ayxzdG9wUHJvcGFnYXRpb246bCxwcmV2ZW50RGVmYXVsdDptLGxiOm4sYnV0dG9uT3ZlcnJpZGVzOnB9KT0+Xy5LKCJ5dG0tbWVudS1yZW5kZXJlciIse2NsYXNzOmJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50b3BMZXZlbEJ1dHRvbnN9LHtidXR0b25SZW5kZXJlcjpfLnBPLG1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOl8ucU8sdG9nZ2xlTWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UlAsbGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ucEwse2RhdGE6cixJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmZKLHtkYXRhOnJ9KSxtZW51TmF2aWdhdGlvbkl0ZW1SZW5kZXJlcjpQUCxsaWtlQnV0dG9uUmVuZGVyZXI6T1B9KSxfLksoT2lhLHtkYXRhOmEsVGQ6YyxFaDpkLEZoOmUsZGY6ZiwKSGE6aCx1bjprLHN0b3BQcm9wYWdhdGlvbjpsLHByZXZlbnREZWZhdWx0Om0sbGI6bixidXR0b25PdmVycmlkZXM6cH0se21lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLHRvZ2dsZU1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlJQLGxpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLnBMLHtkYXRhOnIsSWE6ITB9KSxzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5mSix7ZGF0YTpyfSksbGlrZUJ1dHRvblJlbmRlcmVyOk9QLGJ1dHRvblJlbmRlcmVyOl8ucE8sYWNjb3VudEluZm9NZW51SXRlbTpfLk5QfSkpLCJFYiIpO18uU1AuaWRvbUNvbXBhdD0hMDsKT2lhPV8uTCgoe2RhdGE6YSxjaGlsZHJlbjpiLC4uLmN9KT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+KCFhKCkuaXRlbXN8fCFhKCkuaXRlbXMubGVuZ3RoKSYmIShhKCkuaXNEaXNhYmxlZCYmYSgpLmRpc2FibGVkQ29tbWFuZCl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+Yy51bj8uKCl9LCgpPT5fLksoXy5NaGEse2ljb25UeXBlOigpPT5jLkVoPy4oKT8/Ik1PUkVfVkVSVCIsbGFiZWw6KCk9Pl8uV0woXy5ESihhKCkuYWNjZXNzaWJpbGl0eSk/PyIiKSxhcmlhTGFiZWw6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHkpfHwiIixjYW5jZWxCdXR0b25MYWJlbDpfLiROLkNBTkNFTCxUZDooKT0+Yy5UZD8uKCksZGY6KCk9PmMuZGY/LigpLEhhOigpPT5jLkhhPy4oKSxzdG9wUHJvcGFnYXRpb246KCk9PmMuc3RvcFByb3BhZ2F0aW9uPy4oKSxwcmV2ZW50RGVmYXVsdDooKT0+Yy5wcmV2ZW50RGVmYXVsdD8uKCksYnV0dG9uT3ZlcnJpZGVzOigpPT5jLmJ1dHRvbk92ZXJyaWRlcz8uKCksCmlzRGlzYWJsZWQ6KCk9PmEoKS5pc0Rpc2FibGVkLGRpc2FibGVkQ29tbWFuZDooKT0+YSgpLmRpc2FibGVkQ29tbWFuZH0sKCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5pdGVtc30sYikpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy56Tyx7aWNvblR5cGU6KCk9PmMuRWg/LigpPz8iTU9SRV9WRVJUIixsYWJlbDooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eSl8fCIiLGNhbmNlbEJ1dHRvbkxhYmVsOl8uJE4uQ0FOQ0VMLFRkOigpPT5jLlRkPy4oKSxGaDooKT0+Yy5GaD8uKCksZGY6KCk9PmMuZGY/LigpLEhhOigpPT5jLkhhPy4oKSxzdG9wUHJvcGFnYXRpb246KCk9PmMuc3RvcFByb3BhZ2F0aW9uPy4oKSxwcmV2ZW50RGVmYXVsdDooKT0+Yy5wcmV2ZW50RGVmYXVsdD8uKCksbGI6KCk9PmMubGI/LigpLGJ1dHRvbk92ZXJyaWRlczooKT0+Yy5idXR0b25PdmVycmlkZXM/LigpLGlzRGlzYWJsZWQ6KCk9PmEoKS5pc0Rpc2FibGVkLGRpc2FibGVkQ29tbWFuZDooKT0+YSgpLmRpc2FibGVkQ29tbWFuZH0sCigpPT5fLksoXy5XLHtkYXRhOigpPT5hKCkuaXRlbXN9LGIpKSkpLCJGYiIpO18uVFA9Xy5MKGE9Pl8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLml0ZW1zPy5sZW5ndGh8fGEuZGF0YSgpLmlzRGlzYWJsZWQmJmEuZGF0YSgpLmRpc2FibGVkQ29tbWFuZCx0aGVuOigpPT5fLksoUGlhLHsuLi5hfSl9KSwiR2IiKTtfLlRQLmlkb21Db21wYXQ9ITA7CnZhciBQaWE9Xy5MKGE9Pnt2YXIge2RhdGE6YixjbGFzc05hbWU6YyxFaDpkLHNob3dJY29uOmUsYnV0dG9uU2l6ZTpmLGJ1dHRvbk92ZXJyaWRlczpofT1fLkRDKGEse3Nob3dJY29uOiExLGJ1dHRvbk92ZXJyaWRlczp7fSxidXR0b25TaXplOiJMIixFaDoiTU9SRV9WRVJUIn0pLGs9Xy5adDtyZXR1cm4gXy5LKCJ5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyIix7Y2xhc3M6Y30sXy5LKF8uSksse2RhdGE6KCk9Pnt2YXIgbD17R2I6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1zaGVldC1tZWRpYS1tZW51LWl0ZW0ifSxfLksoXy5XLHtkYXRhOigpPT5iKCkuaXRlbXN9LHttZW51U2VydmljZUl0ZW1SZW5kZXJlcjpRUCxtZW51TmF2aWdhdGlvbkl0ZW1SZW5kZXJlcjpQUCx0b2dnbGVNZW51U2VydmljZUl0ZW1SZW5kZXJlcjpSUCxsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoXy5wTCx7ZGF0YTptLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOm19KT0+Cl8uSyhfLmZKLHtkYXRhOm19KSxsaWtlQnV0dG9uUmVuZGVyZXI6T1AsYnV0dG9uUmVuZGVyZXI6Xy5wTyxhY2NvdW50SW5mb01lbnVJdGVtOl8uTlB9KSksSGE6ZSgpLGlzRGlzYWJsZWQ6YigpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOmIoKS5kaXNhYmxlZENvbW1hbmR9O3JldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZTpmKCksaWNvblBvc2l0aW9uOiJpY29uLW9ubHkiLGFjY2Vzc2liaWxpdHlMYWJlbDpfLkRKKGIoKT8uYWNjZXNzaWJpbGl0eSl8fCIiLG9uVGFwOm09Pnt2YXIgbj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7Xy54SihfLmh4KCkse2RhdGE6YigpfSksbC5mb2N1c09uQ2xvc2U9bS5jdXJyZW50VGFyZ2V0LF8uV00oKSYmbS5zdG9wUHJvcGFnYXRpb24oKSxfLlZ6KG4sXy52TShrKSksXy55TihsKX1jYXRjaChwKXtuLmVycm9yPXAsbi5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3oobil9fSwKLi4uaCgpfX0saWNvbk5hbWU6KCk9PmQoKX0pKX0sIkhiIik7dmFyIEppYT1fLnUuZGV2aWNlUGl4ZWxSYXRpb3x8Mjt2YXIgS1A9ITE7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIiwoKT0+e0tQPSExfSk7Cl8uVVA9Xy5MKGE9Pnt2YXIge3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6YyxhbHQ6ZCxhcmlhTGFiZWw6ZSxNZDpmLFRiOmgsaGM6ayxhcmlhSGlkZGVuOmwsWWE6bSxUYTpufT1fLkRDKGEse1RiOiEwLHRodW1ibmFpbERldGFpbHM6dm9pZCAwLGNsYXNzTmFtZTp2b2lkIDAsYWx0OnZvaWQgMCxhcmlhTGFiZWw6dm9pZCAwLE1kOnZvaWQgMCxoYzp2b2lkIDAsYXJpYUhpZGRlbjp2b2lkIDAsWWE6dm9pZCAwLFRhOnZvaWQgMH0pLHA9Xy52RSgiaW1nIiksW3IsdF09Xy5BQyhiKTtfLlVKKCgpPT57dmFyIHY9ey4uLmIoKX07dCh2KX0pO18ubkUoKCk9PntpZihwLnZhbHVlKXtsZXQgdj1wLnZhbHVlO0xQKHYpO2xldCB6PWIoKTt6JiYodi5zcmM9Xy5KUCh6LHYsZigpKSl9fSwibjdrYzRjIik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmIoKSYmKGQoKXx8ZSgpfHxjKCl8fGsoKXx8bCgpKSx0aGVuOigpPT5fLksoXy5qRix7ZGF0YTooKT0+cigpLGNsYXNzTmFtZTpjLGFsdDooKT0+CmQoKXx8ZSgpfHwiIixjb250ZW50TW9kZToiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSUxMIixoYzprLGFyaWFIaWRkZW46bCxjYWxsYmFjazpMUCxUYjpoLFlhOm0sVGE6bn0pLFc6KCk9Pl8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoXy5oRix7ZGF0YTpiLGNvbmZpZzooKT0+KHtjbGFzc05hbWU6YygpLGFsdDpkKCl8fGUoKXx8IiIsaGM6aygpLGFyaWFIaWRkZW46bCgpLFlhOm0oKSxUYTpuKCl9KSxHbDp7U2c6KHYseik9PntMUCh6KTtyZXR1cm4gdj9fLkpQKHYseixmKCkpOiIifX0sbGF6eTohMH0pLFc6KCk9Pl8uSygiaW1nIix7ZWw6cCxhbHQ6ZCwiYXJpYS1sYWJlbCI6ZSxjbGFzczpjLCJkYXRhLWRpc2FibGVkIjprLCJhcmlhLWhpZGRlbiI6bH0pfSl9KX0sIktiIik7Xy5VUC5pZG9tQ29tcGF0PSEwO18uVlA9Xy5MKGE9Pl8uSygieXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyIix7Y2xhc3M6YS5jbGFzc05hbWUsInRodW1ibmFpbC1zaXplIjphLnRodW1ibmFpbFNpemUsImRhdGEtc3R5bGUiOigpPT5hLmRhdGE/LigpLnN0eWxlLCJhcmlhLWhpZGRlbiI6YS5hcmlhSGlkZGVuLCJkYXRhLXR5cGUiOigpPT5hLmRhdGE/LigpLnR5cGU/LnJlcGxhY2UoIlRIVU1CTkFJTF9PVkVSTEFZX1RJTUVfU1RBVFVTX1RZUEVfIiwiIil9LF8uSyhfLlRDLHtkYXRhOigpPT4oe3R5cGU6YS5kYXRhKCkuc3R5bGU9PT0iTElWRSI/MTk6MTgsdGV4dDpfLkNKKGEuZGF0YSgpLnRleHQpLGljb246YS5kYXRhKCkuaWNvbj8uaWNvblR5cGV8fGEuZGF0YSgpLnl0SWNvbixxTDphLmRhdGEoKS5zdHlsZT09PSJTSE9SVFMifSl9KSksIkxiIik7dmFyIFFpYTtfLldQPV8uTChhPT57dmFyIHtkZXRhaWxzOmIsb3ZlcmxheTpjLFRiOmQsaGo6ZSxNZDpmfT1fLkRDKGEse2RldGFpbHM6dm9pZCAwLFRiOiEwLGhqOiExfSksaD1fLlAoInZpZGVvLXRodW1ibmFpbC1pbWciLHsiY3VzdG9tLXRodW1ibmFpbCI6ZX0pO3JldHVybiBfLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ2aWRlby10aHVtYm5haWwtaW1nIiwidmlkZW8tdGh1bWJuYWlsLWJnIil9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKFFpYSx7ZGV0YWlsczpiLGNsYXNzTmFtZTpoLFRiOmQsTWQ6Zn0pfSksXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6aCxUYjpkLE1kOmYsYWx0OiIifSksXy5LKCJkaXYiLHtjbGFzczoidmlkZW8tcHJldmlldy1zaGltIn0pLGM/LigpKX0sIk1iIik7ClFpYT1fLkwoKHtkZXRhaWxzOmEsY2xhc3NOYW1lOmIsVGI6YyxNZDpkfSk9Pl8uSygiZGl2Iix7Y2xhc3M6ImN1c3RvbS10aHVtYm5haWwtYmFja2dyb3VuZC1jb250YWluZXIiLHN0eWxlOigpPT57aWYoYT8uKCkuc2FtcGxlZFRodW1ibmFpbENvbG9yKXt2YXIge3JlZDplLGdyZWVuOmYsYmx1ZTpofT1hKCkuc2FtcGxlZFRodW1ibmFpbENvbG9yO3JldHVybmBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR7ZX0sJHtmfSwke2h9LDEpO2B9fX0sXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YSxjbGFzc05hbWU6YixhbHQ6IiIsTWQ6ZCxUYjpjfSkpLCJOYiIpO18uWFA9Xy5MKGE9Pnt2YXIge3RodW1ibmFpbERldGFpbHM6YixvdmVybGF5OmMsTWQ6ZCxjbGFzc05hbWU6ZSxUYjpmLGhqOmgsaG06a309Xy5EQyhhLHtUYjohMCxoajohMSx0aHVtYm5haWxEZXRhaWxzOnZvaWQgMH0pO3JldHVybiBfLksoInl0bS1jb21wYWN0LXRodW1ibmFpbCIse2NsYXNzOl8uUCgidmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0IiwidmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LXJvdW5kZWQiLGUseyJvcmlnaW5hbC1hc3BlY3QtcmF0aW8iOigpPT5iKCk/LmlzT3JpZ2luYWxBc3BlY3RSYXRpbyxzdGFja2VkOmt9KX0sXy5LKF8uV1Ase2RldGFpbHM6YixvdmVybGF5OmMsTWQ6ZCxUYjpmLGhqOmh9KSl9LCJPYiIpO18uWFAuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvdmVybGF5OiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWlA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLlRqfTtfLiRQPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy54an07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwZXZ0dmMiKTtyZXR1cm4gXy5yRH07Xy5jUT1fLmNEKCgpPT5fLmJRKCksImRpc2xpa2VCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZGlzbGlrZUJ1dHRvblZpZXdNb2RlbCIsInBldnR2YyIsXy5iUSl9KTtfLmRRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiaXpqbVAiKTtyZXR1cm4gXy5xRH07Xy5lUT1fLmNEKCgpPT5fLmRRKCksImxpa2VCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlrZUJ1dHRvblZpZXdNb2RlbCIsIml6am1QIixfLmRRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmZRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiQVQ4TFRlIik7cmV0dXJuIF8ucER9O18uZ1E9Xy5jRCgoKT0+Xy5mUSgpLCJvdmVybGF5UHJvZHVjdFN0aWNrZXIiKTtfLll0KF8uSkQsYT0+e2EuSigib3ZlcmxheVByb2R1Y3RTdGlja2VyIiwiQVQ4TFRlIixfLmZRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgU2lhO18uaFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJYZVJYQmQiKTtyZXR1cm4gXy5jRn07U2lhPV8uY0QoKCk9Pl8uaFEoKSwicmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWwiLCJYZVJYQmQiLF8uaFEpfSk7Xy5pUT1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmJ9KT0+e3ZhciBjPV8udUUoInBpdm90LWJ1dHRvbi12aWV3LW1vZGVsIik7Xy5VSigoKT0+e2EoKT8uYmFja2dyb3VuZENvbG9yJiZjLnZhbHVlLnNldEF0dHJpYnV0ZSgiZGF0YS1iYWNrZ3JvdW5kLWNvbG9yIixTdHJpbmcoYSgpLmJhY2tncm91bmRDb2xvcikpfSk7cmV0dXJuIF8uSygicGl2b3QtYnV0dG9uLXZpZXctbW9kZWwiLHtlbDpjLGNsYXNzOl8uUCgieXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0IixiKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9Pnt2YXIgZD1hKCk7ZD1kLm9uQ2xpY2tDb21tYW5kP18uUkQoZC5vbkNsaWNrQ29tbWFuZCk6ZC5jb250ZW50RGVzY3JpcHRpb24/Xy5hUShfLldMKGQuY29udGVudERlc2NyaXB0aW9uKSk6dm9pZCAwO3JldHVybiBkfSxhcmlhTGFiZWw6KCk9PmEoKS5jb250ZW50RGVzY3JpcHRpb259LF8uSyhfLk8se0E6KCk9PmEoKS50aHVtYm5haWwsdGhlbjpkPT5fLksoXy5qRix7ZGF0YTpkLAphbHQ6IiIsY2xhc3NOYW1lOiJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJbWFnZSJ9KSxXOigpPT5fLksoXy5PLHtBOigpPT5hKCkuaWNvbix0aGVuOmQ9Pl8uSyhfLk1ELHtpY29uOigpPT5kKCkuaWNvblR5cGUsY2xhc3NOYW1lOiJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJY29uIn0pfSl9KSkpfSwiU2IiKTtfLmpRPV8uTCgoe2RhdGE6YSxBZjpifSk9Pnt2YXIgYz0oKT0+Inl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlQWN0aW9uQnV0dG9uIjtyZXR1cm4gXy5LKCJyZWVsLWFjdGlvbi1iYXItdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QiLHt5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZTooKT0+ITAseXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wOigpPT4hMX0pfSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uVmlld01vZGVsc30se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5VRix7Y2xhc3NOYW1lOmMsZGF0YTpkLGJ1dHRvbk92ZXJyaWRlczpifSksbGlrZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5lUSx7Y2xhc3NOYW1lOmMsZGF0YTpkLEFmOmJ9KSxkaXNsaWtlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLmNRLHtjbGFzc05hbWU6YywKZGF0YTpkLEFmOmJ9KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uWkYse2NsYXNzTmFtZTpjLGRhdGE6ZCx3aTpifSkscGl2b3RCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uaVEse2NsYXNzTmFtZTpjLGRhdGE6ZH0pfSkpfSwiVGIiKTt2YXIgVGlhO18ua1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJzNjQ5aiIpO3JldHVybiBfLm1IfTtUaWE9Xy5jRCgoKT0+Xy5rUSgpLCJwbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInBsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWwiLCJzNjQ5aiIsXy5rUSl9KTt2YXIgVWlhO18ubFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ1U3hkbmIiKTtyZXR1cm4gXy5mSH07VWlhPV8uY0QoKCk9Pl8ubFEoKSwicmVlbENhcm91c2VsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInJlZWxDYXJvdXNlbFZpZXdNb2RlbCIsInVTeGRuYiIsXy5sUSl9KTt2YXIgVmlhO18ubVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJXZmY2QmQiKTtyZXR1cm4gXy5lSH07VmlhPV8uY0QoKCk9Pl8ubVEoKSwicmVlbENoYW5uZWxCYXJWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbENoYW5uZWxCYXJWaWV3TW9kZWwiLCJXZmY2QmQiLF8ubVEpfSk7dmFyIFdpYTtfLm5RPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVTNtenNkIik7cmV0dXJuIF8ubEh9O1dpYT1fLmNEKCgpPT5fLm5RKCksInJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbCIsIlUzbXpzZCIsXy5uUSl9KTt2YXIgWGlhO18ub1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ5UDBKQmQiKTtyZXR1cm4gXy5iRn07WGlhPV8uY0QoKCk9Pl8ub1EoKSwic2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigic2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWwiLCJ5UDBKQmQiLF8ub1EpfSk7dmFyIFlpYTtfLnBRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiUnFhSnNkIik7cmV0dXJuIF8uWEp9O1lpYT1fLmNEKCgpPT5fLnBRKCksInNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWwiLCJScWFKc2QiLF8ucFEpfSk7dmFyIFppYTtfLnFRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRTNIZWJjIik7cmV0dXJuIF8uYUZ9O1ppYT1fLmNEKCgpPT5fLnFRKCksInNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigic2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbCIsIkUzSGViYyIsXy5xUSl9KTtfLnJRPV8uTCgoe2RhdGE6YX0pPT5fLksoInl0LXJlZWwtbWV0YXBhbmVsLXZpZXctbW9kZWwiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdCJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZXRhZGF0YUl0ZW1zfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhfLmFHLHtkYXRhOmJ9KSkscGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFRpYSx7ZGF0YTpifSkpLHByb2R1Y3RTdGlja2VyVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoXy5nUSx7ZGF0YTooKT0+YigpLnN0aWNrZXJ9KSkscmVlbENhcm91c2VsVmlld01vZGVsOih7ZGF0YTpifSk9PgpfLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFVpYSx7ZGF0YTpifSkpLHJlZWxDaGFubmVsQmFyVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVmlhLHtkYXRhOmJ9KSkscmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFdpYSx7ZGF0YTpifSkpLHJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoU2lhLHtkYXRhOmJ9KSksc2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LApfLksoWGlhLHtkYXRhOmJ9KSksc2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoWWlhLHtkYXRhOmJ9KSksc2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFppYSx7ZGF0YTpifSkpLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKF8uWkYse2RhdGE6Yn0pKX0pKSwiVWIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5zUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImZLRThxZCIpO3JldHVybiBfLm9EfTtfLiRpYT1fLmNEKCgpPT5fLnNRKCksImRpYWxvZ1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkaWFsb2dWaWV3TW9kZWwiLCJmS0U4cWQiLF8uc1EpfSk7Xy50UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlJaZWtKIik7cmV0dXJuIF8uU0N9O18uYWphPV8uY0QoKCk9Pl8udFEoKSwic21hcnRpbWF0aW9ucyIpO18uWXQoXy5KRCxhPT57YS5KKCJzbWFydGltYXRpb25zIiwiUlpla0oiLF8udFEpfSk7Xy51UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInNET1RHZSIpO3JldHVybiBfLm5EfTtfLmJqYT1fLmNEKCgpPT5fLnVRKCksInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIiwic0RPVEdlIixfLnVRKX0pO18udlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJlY3VQQWMiKTtyZXR1cm4gXy5tRH07Xy5jamE9Xy5jRCgoKT0+Xy52USgpLCJwbGF5ZXJPdmVybGF5SW50ZXJhY3Rpb24iKTtfLll0KF8uSkQsYT0+e2EuSigicGxheWVyT3ZlcmxheUludGVyYWN0aW9uIiwiZWN1UEFjIixfLnZRKX0pO18ud1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGUWRJSmUiKTtyZXR1cm4gXy5sRH07Xy5kamE9Xy5jRCgoKT0+Xy53USgpLCJzdGlja2Vyc0xheWVyIik7Xy5ZdChfLkpELGE9PnthLkooInN0aWNrZXJzTGF5ZXIiLCJGUWRJSmUiLF8ud1EpfSk7Xy54UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm43ZW8yIik7cmV0dXJuIF8ua0R9O18uZWphPV8uY0QoKCk9Pl8ueFEoKSwiaW50ZXJzdGl0aWFsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImludGVyc3RpdGlhbFZpZXdNb2RlbCIsIm43ZW8yIixfLnhRKX0pO18ueVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJOdWlsdWUiKTtyZXR1cm4gXy5qRH07Xy5mamE9Xy5jRCgoKT0+Xy55USgpLCJ2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIiKTtfLll0KF8uSkQsYT0+e2EuSigidmlkZW9XaXRoQ29udGV4dFJlbmRlcmVyIiwiTnVpbHVlIixfLnlRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFRPV8uTCgoe09vOmEsUnA6YixjaGlsZHJlbjpjLFBuOmQsZGlzYWJsZUFuaW1hdGlvbjplfSk9Pnt2YXIgZj0oKT0+IWU/LigpO3JldHVybiBfLksoInl0LWFuaW1hdGVkLWFjdGlvbiIse2NsYXNzOl8uUCgieXRBbmltYXRlZEFjdGlvbkhvc3QiLGQpfSxfLksoImRpdiIse2NsYXNzOiJ5dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5kIn0sXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSyh6USx7UG46Inl0QW5pbWF0ZWRBY3Rpb25CYWNrZ3JvdW5kQ29udGFpbmVyIix5eToieXRBbmltYXRlZEFjdGlvbkJhY2tncm91bmQiLEVjOigpPT4oe2FuaW1hdGlvblJlZjphPy4oKSxhbmltYXRpb25Db25maWc6e25hbWU6ImFuaW1hdGVkLWFjdGlvbnMtYmFja2dyb3VuZCIsYXV0b3BsYXk6ITEsbG9vcDohMSxwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX2NvbnRhaW5lcl8ke18ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpPz8KITE/ImRhcmsiOiJsaWdodCJ9X3Y1Lmpzb25gfX0pfSl9KSxjKSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKHpRLHtFYzooKT0+KHthbmltYXRpb25SZWY6Yj8uKCksYW5pbWF0aW9uQ29uZmlnOntuYW1lOiJhbmltYXRlZC1hY3Rpb25zLWZvcmVncm91bmQiLGF1dG9wbGF5OiExLGxvb3A6ITEscGF0aDpgaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvbG90dGllL3N1YnNjcmliZV9hY3Rpb24vc3Vic2NyaWJlX2FjdGlvbl9zcGFya2xlc18ke18ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpPz8hMT8iZGFyayI6ImxpZ2h0In1fdjQuanNvbmB9fSl9KX0pKX0sIlZiIik7Xy5BUS5pZG9tQ29tcGF0PSEwOwp2YXIgelE9Xy5MKCh7UG46YSx5eTpiLEVjOmN9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0QW5pbWF0ZWRBY3Rpb25Mb3R0aWUiLGEpLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5jTSx7Y2xhc3NOYW1lOmIsZGF0YTpjLGFuaW1hdGlvbk5hbWU6KCk9PmMoKS5hbmltYXRpb25Db25maWcubmFtZX0pKSwiV2IiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5CUT1mdW5jdGlvbigpe3JldHVybntsb3R0aWVFbDp2b2lkIDB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5DUT1mdW5jdGlvbihhLGIpe18ubkUoKCk9Pnt2YXIgYz1hKCk7Xy5FQSgoKT0+dm9pZCBiKGMpKX0sImNLUjlzZiIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGdqYSxEUSxFUSxGUSxoamEsaWphLGpqYSxHUSxIUSxramEsSVEsbGphLEpRLEtRLExRLE1RLE5RLE9RLG1qYSxQUSxRUSxSUSxuamEsU1Esb2phLFRRLFVRLHBqYSxWUSxXUSxYUSxaUSxxamEscmphLCRRLGFSLHNqYSx0amEsdWphLGJSLGNSLHZqYSx3amEseGphLGhSLGZSLG1SLG5SLG9SLHBSLGdSLHRSLHVSLGtSLHZSLGxSLHpqYSxBamEselIsQVIsQlIsRWphLERSLEhSLEZqYSxHamEsSGphLElqYSxJUixKUixKamEsTFIsTGphLE1qYSxNUixRamEsUGphLFJqYSxPamEsTlIsTmphLFBSLE9SLFVqYSxXamEsUlIsWGphLFNSLGRTLGVTLGZTLGdTLGRrYSxpa2EsaVMsa2thLGpTLGtTLG9rYSxwUyxxa2EscmthLHFTLHNrYSx0a2EsclMsc1MsdFMsdVMsd1MseFMsdlMseVMselMsQVMsQlMsRVMsRlMsQ1MsR1MsemthLEpTLEhTLENrYSxMUyxNUyxOUyxQUyxJUyxGa2EsU1MsR2thLFVTLFdTLFhTLEhrYSxZUyxaUywkUyxjVCxiVCxJa2EsZFQsSmthLEtrYSxMa2EsTWthLGdULApmVCxoVCxrVCxsVCxOa2EsbVQsalQsaVQsblQsb1QscFQsT2thLHJULFBrYSxRa2EsdFQsUmthLHZULFNrYSxUa2Esc1QsVWthLFZrYSxXa2EsWGthLFlrYSx4VCx1VCxxVCx3VCx5VCx6VCxBVCxCVCxDVCxEVCwka2EsRVQsSFQsSVQsRlQsY2xhLGJsYSxKVCxLVCxPVCxQVCxlbGEsUVQsVFQsUlQsZmxhLGhsYSxnbGEsaWxhLFdULFhULGpsYSxaVCxrbGEsYVUsYlUsY1UsbGxhLGhVLG5sYSxvbGEsaVUsalUsbFUsbVUsblUsb1UscFUscGxhLHFVLHFsYSxyVSxybGEsc1UsdVUsc2xhLHVsYSx3VSxJVSx4VSxLVSxKVSx2bGEsd2xhLHhsYSx6bGEsTFUseWxhLE9VLE1VLEJsYSxDbGEsRGxhLFBVLEVsYSxGbGEsR2xhLEhsYSxJbGEsSmxhLEtsYSxMbGEsTWxhLE5sYSxRVSxSVSxTVSxVVSxQbGEsWFUsWVUsUWxhLFJsYSxaVSxTbGEsJFUsVWxhLGFWLFRsYTtnamE9ZnVuY3Rpb24oKXtyZXR1cm4hIV8uWk8oKX07CkRRPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoYSxiKSxjKX07RVE9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4gbnVsbDt2YXIgYz1iP1N0cmluZyhiKS50b1VwcGVyQ2FzZSgpOm51bGw7cmV0dXJuIF8uZ3coYSxmdW5jdGlvbihkKXtyZXR1cm4oIWN8fGQubm9kZU5hbWU9PWMpJiYhMH0sITApfTtGUT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLmxlZnQ9YTt0aGlzLnRvcD1iO3RoaXMud2lkdGg9Yzt0aGlzLmhlaWdodD1kfTtoamE9ZnVuY3Rpb24oYSxiKXtiP18uU3QoYSwieXRQbGF5ZXJDb250cm9sc0NvbnRhaW5lclJlbmRlcmVkIik6Xy5UdChhLCJ5dFBsYXllckNvbnRyb2xzQ29udGFpbmVyUmVuZGVyZWQiKX07CmlqYT1mdW5jdGlvbigpe18uVmkoKCk9PntpZighXy5CcSgiZnRsIikpe3ZhciBhPV8ucG8oKTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntzZXRUaW1lb3V0KCgpPT57YSE9PV8ucG8oKXx8Xy5CcSgiZnRsIil8fF8uQXEoImZ0bCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9fSkoKX07amphPWZ1bmN0aW9uKCl7aWYoXy5YeigpKXt2YXIgYT1fLkdoKCJwZnAtbWF3LXBsYXllciIpO2lmKGEpcmV0dXJuIG5ldyBfLndNKGEpfX07R1E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2woKDAsXy5TYWEpKCksYSl9OwpIUT1mdW5jdGlvbigpe2lmKF8ueCgiZW5hYmxlX2F1dG9tb3RpdmVfZm9ybV9mYWN0b3JfY2hlY2siKSlyZXR1cm4gXy53KCJJTk5FUlRVQkVfQ09OVEVYVCIse30pLmNsaWVudD8uY2xpZW50Rm9ybUZhY3Rvcj09PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIjt2YXIgYT1fLncoIklOTkVSVFVCRV9DT05URVhUIix7fSk7cmV0dXJuIGEuY2xpZW50Py5vc05hbWUmJmEuY2xpZW50Lm9zTmFtZT09PSJBbmRyb2lkIEF1dG9tb3RpdmUifTtramE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLmVudGl0aWVzLCJkaXNtaXNzU3RhdGUiLGIpfTtJUT1mdW5jdGlvbigpe3JldHVybiBfLlVNKCk9PT0iaGFzaHRhZyJ9O2xqYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxvZ29FbnRpdHkiLGIpfTsKSlE9ZnVuY3Rpb24oKXtyZXR1cm4gYT0+e3ZhciBiPV8uTEIoITEpO3RyeXtsZXQgYz1hLmNoaWxkcmVuO18uVUE/Yz9fLmdOKF8uSyhfLnNPLGEsYykpOl8uZ04oXy5LKF8uc08sYSkpOl8uSXAobmV3IF8uWGooImtldG9Ub0MzIGNhbGxlZCBvdXRzaWRlIG9mIGEgcGF0Y2giLHt0YWdOYW1lOl8uc08uWmN9KSl9ZmluYWxseXtfLkxCKGIpfX19OwpLUT1mdW5jdGlvbihhLGIpe2lmKGEucmVxdWVzdEZ1bGxzY3JlZW4pYT1hLnJlcXVlc3RGdWxsc2NyZWVuKGIpO2Vsc2UgaWYoYS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbilhPWEud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKGEubW96UmVxdWVzdEZ1bGxTY3JlZW4pYT1hLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihhLm1zUmVxdWVzdEZ1bGxzY3JlZW4pYT1hLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKGEud2Via2l0RW50ZXJGdWxsc2NyZWVuKWE9YS53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiSmQiKSk7cmV0dXJuIGEgaW5zdGFuY2VvZiBQcm9taXNlP2E6UHJvbWlzZS5yZXNvbHZlKCl9OwpMUT1mdW5jdGlvbigpe3JldHVybiEhXy5JTyhbImZ1bGxzY3JlZW5FbmFibGVkIiwid2Via2l0RnVsbHNjcmVlbkVuYWJsZWQiLCJtb3pGdWxsU2NyZWVuRW5hYmxlZCIsIm1zRnVsbHNjcmVlbkVuYWJsZWQiXSxkb2N1bWVudCl9O01RPWZ1bmN0aW9uKGEpe3ZhciBiO0xRKCk/Xy5aTygpPT1hJiYoYj1kb2N1bWVudCk6Yj1hO2lmKGImJihhPV8uSU8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxiKSkpe2EuY2FsbChiKWluc3RhbmNlb2YgUHJvbWlzZXx8UHJvbWlzZS5yZXNvbHZlKCk7cmV0dXJufVByb21pc2UucmVzb2x2ZSgpfTtOUT1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKX07T1E9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9TlEoYSkpPyEhYS5kaXNwbGF5TmFtZTohMX07Cm1qYT1mdW5jdGlvbihhKXtyZXR1cm4gXy52YihhLGI9PmIubGFuZ3VhZ2VDb2RlPT09ImVuIil9O1BRPWZ1bmN0aW9uKGEpe2lmKCFhLmdldE9wdGlvbnMoImNhcHRpb25zIikpcmV0dXJuIiI7YT1fLiRPKGEpO2lmKCFhLmxlbmd0aClyZXR1cm4iIjt2YXIgYj1tamEoYSk7cmV0dXJuIGI/Yi5kaXNwbGF5TmFtZXx8IiI6YVswXS5kaXNwbGF5TmFtZXx8IiJ9OwpRUT1mdW5jdGlvbihhLGIsYyl7aWYoT1EoYSkpXy54KCJtd2ViX2VuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZSIpP2Euc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt1c2VySW5pdGlhdGVkOmN9KTphLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7fSksYS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLHt9KTtlbHNle2xldCBkPV8udmIoXy4kTyhhKSxlPT5lLmRpc3BsYXlOYW1lPT09Yik7YS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLGQpO18ueCgibXdlYl9lbmFibGVfcGxheWVyX2NhcHRpb25zX3BlcnNpc3RlbmNlX3N0YXRlX21hY2hpbmUiKSYmYS5zZXRPcHRpb24oImNhcHRpb25zIiwic3RpY2t5TG9hZGluZyIse3VzZXJJbml0aWF0ZWQ6Y30pfX07UlE9ZnVuY3Rpb24oKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZ1bGxzY3JlZW5yZXF1ZXN0IikpfTsKbmphPWZ1bmN0aW9uKGEpe3ZhciBbYl09KDAsXy51aWEpKGEpLFtjXT0oMCxfLnZpYSkoYSk7cmV0dXJuW18uTigoKT0+e3ZhciBkPXsuLi5iKCl9O2Qubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmKGQubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbj17Li4uYygpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b259KTtyZXR1cm4gZH0sdm9pZCAwLCJ1dlM4N2IiKV19O1NRPWZ1bmN0aW9uKGEpe01RKGF8fGRvY3VtZW50LmJvZHkpfTsKb2phPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW8iKTthJiYoUlEoKSxLUShhKS5jYXRjaChiPT57aWYoYj8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKV8uV2koYik7ZWxzZSB0aHJvdyBiO30pKX07VFE9ZnVuY3Rpb24oYSxiKXtfLlpPKCk/KFJRKCksU1EoYikpOkxRKCk/KFJRKCksYj1LUShifHxkb2N1bWVudC5ib2R5LHtuYXZpZ2F0aW9uVUk6ImhpZGUifSksYT8uZHMmJmI/LmNhdGNoKCgpPT5udWxsKSk6b2phKCl9OwpVUT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gMDt2YXIgYj1hLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCksYz1hLmdldFZpZGVvRGF0YSgpO3JldHVybiBjJiZjLmlzTGl2ZT8oYT1hLmdldFByb2dyZXNzU3RhdGUoYiksYS5zZWVrYWJsZUVuZC1hLnNlZWthYmxlU3RhcnQpOmEuZ2V0RHVyYXRpb24oYil9O3BqYT1mdW5jdGlvbihhLGIsYyl7YXx8Xy5PRSgoKT0+e2I/LnByZXZpb3VzVmlkZW8oYyl9KX07VlE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRQbGF5ZXJTdGF0ZSgpO2lmKGI9PT0yKXJldHVybiEwO2lmKGIhPT0zKXJldHVybiExO2E9YS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO3JldHVybiFhLmlzQnVmZmVyaW5nJiYhYS5pc1Vuc3RhcnRlZCYmIWEuaXNQbGF5aW5nJiZhLmlzUGF1c2VkfTsKV1E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRQbGF5ZXJTdGF0ZSgpO2lmKGI9PT0xKXJldHVybiBhLnBhdXNlVmlkZW8oKSwiUExBWUVSX1BBVVNFIjtpZihiPT09LTEpYS5wbGF5VmlkZW8oKTtlbHNlIGlmKGI9PT0yfHxWUShhKSlyZXR1cm4gYS5wbGF5VmlkZW8oKSwiUExBWUVSX1BMQVkifTtYUT1mdW5jdGlvbihhKXthPWEmJmEuZ2V0UGxheWxpc3RJbmRleCYmYS5nZXRQbGF5bGlzdEluZGV4KCk+PTA7cmV0dXJuISFfLlpiKHdpbmRvdy5sb2NhdGlvbi5ocmVmLCJsaXN0Iil8fCEhYX07WlE9ZnVuY3Rpb24oYSl7WVE9YX07cWphPWZ1bmN0aW9uKGEpe3ZhciBiPVlRO2I/KGE9YS50aW1lU3RhbXAsYj1iLnRpbWVTdGFtcCxiPWlzTmFOKGEpfHxpc05hTihiKT8hMTpNYXRoLmFicyhhLWIpPD1fLnlpYSk6Yj0hMTtyZXR1cm4gYn07CnJqYT1mdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtpZihiKXt2YXIgYz0hYi5wYXVzZWQ7KHFqYShhKXx8YykmJnNldFRpbWVvdXQoKCk9PntiLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhdXNlIixaUSk7ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09InZpc2libGUiJiZfLlZNKCl9LF8ueGlhKX19OyRRPWZ1bmN0aW9uKCl7Xy54KCJtd2ViX25ld19mdWxsc2NyZWVuIik/U1EoXy5FSik6Xy5FSiYmKE1RKF8uRUopLF8ueCgibXdlYl9uZXdfZnVsbHNjcmVlbl9yZXNpemUiKXx8Xy5YTSgicmVzaXplIikpfTsKYVI9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpO2EmJihfLmZyJiZfLngoIm13ZWJfaW9zX2Z1bGxzY3JlZW5fcGxheWJhY2tfdHJhbnNpdGlvbiIpJiYoYS5hZGRFdmVudExpc3RlbmVyKCJwYXVzZSIsWlEpLF8uTk0oYSwid2Via2l0ZW5kZnVsbHNjcmVlbiIscmphKSksXy5YTSgiZnVsbHNjcmVlbnJlcXVlc3QiKSxLUShhKS5jYXRjaChiPT57aWYoYj8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKV8uV2koYik7ZWxzZSB0aHJvdyBiO30pKX07c2phPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LnNjcmVlbi5vcmllbnRhdGlvbjtpZihhPy5sb2NrJiYhXy5NRSgpJiYhXy5URSgpKXRyeXthLmxvY2soImxhbmRzY2FwZSIpLmNhdGNoKCgpPT57fSl9Y2F0Y2goYil7fX07CnRqYT1mdW5jdGlvbihhKXtfLlhNKCJmdWxsc2NyZWVucmVxdWVzdCIpO3ZhciBiPUtRKF8uRUose25hdmlnYXRpb25VSToiaGlkZSJ9KTthfHxzamEoKTtfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW5fcmVzaXplIil8fF8uWE0oInJlc2l6ZSIpO3JldHVybiBifTsKdWphPWZ1bmN0aW9uKGEpe2RvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIik9PT0idHJ1ZSImJmRvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIik7aWYoXy54KCJtd2ViX25ld19mdWxsc2NyZWVuIikpVFEoYSxfLkVKKTtlbHNle3ZhciBiPV8uclAoKSxjO18uZnI/Yz1hUigpOkxRKCk/Yj8kUSgpOmM9dGphKGE/LnpJKTpfLngoIm13ZWJfbmF0aXZlX2NvbnRyb2xfaW5fZmF1eF9mdWxsc2NyZWVuX3NoYXJlZCIpP2M9YVIoKTpfLlhNKCJwbGF5ZXItZnVsbHNjcmVlbi10b2dnbGVkIix7aXNDdXJyZW50bHlGdWxsc2NyZWVuOmJ9KTtjPy5jYXRjaChkPT57aWYoZD8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxkPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxkPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKWRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIiwKInRydWUiKSxfLlhNKCJwbGF5ZXItZnVsbHNjcmVlbi10b2dnbGVkIix7aXNDdXJyZW50bHlGdWxsc2NyZWVuOmJ9KX0pO2E/LmRzJiZjPy5jYXRjaCgoKT0+bnVsbCl9fTtiUj1mdW5jdGlvbihhKXtyZXR1cm57bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOmEudGl0bGUsc2VsZWN0aW9uVGV4dDphLnNlbGVjdGlvblRleHQsbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTphLmljb25UeXBlfX1dfSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZCxpc1NlbGVjdGVkOmEuaXNTZWxlY3RlZCxzZWxlY3Rpb25TdHlsZTphLnNlbGVjdGlvblN0eWxlfX19OwpjUj1mdW5jdGlvbihhKXtyZXR1cm57c3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOmEudGl0bGUsbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTphLmljb25UeXBlfX1dfSxzd2l0Y2hlZE9uQnlEZWZhdWx0OmEua2wsYTExeUxhYmVsU3dpdGNoZWRPbjphLkVrLGExMXlMYWJlbFN3aXRjaGVkT2ZmOmEuRGssaXNEaXNhYmxlZDphLmlzRGlzYWJsZWR9fX07dmphPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy5pc0Z1bGxzY3JlZW59O3dqYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5zaG9ydHMubWp9Owp4amE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmxlbmd0aDtzd2l0Y2goYyl7Y2FzZSAwOnJldHVybiIiO2Nhc2UgMTpyZXR1cm4gU3RyaW5nKGJbMF0pO2Nhc2UgMjpyZXR1cm4gYS5ELnJlcGxhY2UoInswfSIsU3RyaW5nKGJbMF0pKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiWzFdKSl9dmFyIGQ9YS5CLnJlcGxhY2UoInswfSIsU3RyaW5nKGJbMF0pKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiWzFdKSk7Zm9yKGxldCBlPTI7ZTxjLTE7KytlKWQ9YS52LnJlcGxhY2UoInswfSIsZCkucmVwbGFjZSgiezF9IixTdHJpbmcoYltlXSkpO3JldHVybiBhLm8ucmVwbGFjZSgiezB9IixkKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiW2MtMV0pKX07CmhSPWZ1bmN0aW9uKCl7dGhpcy5LPW51bGw7dGhpcy5WZD10aGlzLk1hPXRoaXMuUWE9ITE7dGhpcy5aPTQwO3RoaXMubz0xO3RoaXMuaGE9MDt0aGlzLmo9Mzt0aGlzLnlhPXRoaXMuQj0wO3RoaXMuRWI9ITE7dGhpcy5nYT10aGlzLk09IiI7dGhpcy5EPWRSLmFvO3RoaXMuVT0iIjt0aGlzLnY9MTt0aGlzLlk9ITE7dGhpcy5JPVtdO3RoaXMuRmE9dGhpcy5mYz0hMTt0aGlzLm9hPTA7aWYoZVIpZlIodGhpcyk7ZWxzZXt0aGlzLks9bnVsbDt2YXIgYT1kUi5ndDtsZXQgZT1bMF07dGhpcy5NPWdSKHRoaXMsYSxlKTt2YXIgYj1lWzBdO2xldCBmPS0xLGg9MDt2YXIgYz0wLGQ9MDtsZXQgaz0tMSxsPWEubGVuZ3RoO2ZvcihsZXQgbT0hMDtlWzBdPGwmJm07ZVswXSsrKXN3aXRjaChhLmNoYXJBdChlWzBdKSl7Y2FzZSAiIyI6Yz4wP2QrKzpoKys7az49MCYmZjwwJiZrKys7YnJlYWs7Y2FzZSAiMCI6aWYoZD4wKXRocm93IEVycm9yKCJWZGAiK2EpO2MrKztrPj0wJiZmPDAmJmsrKzticmVhazsKY2FzZSAiLCI6az4wJiZ0aGlzLkkucHVzaChrKTtrPTA7YnJlYWs7Y2FzZSAiLiI6aWYoZj49MCl0aHJvdyBFcnJvcigiV2RgIithKTtmPWgrYytkO2JyZWFrO2Nhc2UgIkUiOmlmKHRoaXMuRmEpdGhyb3cgRXJyb3IoIlhkYCIrYSk7dGhpcy5GYT0hMDt0aGlzLnlhPTA7ZVswXSsxPGwmJmEuY2hhckF0KGVbMF0rMSk9PSIrIiYmKGVbMF0rKyx0aGlzLkViPSEwKTtmb3IoO2VbMF0rMTxsJiZhLmNoYXJBdChlWzBdKzEpPT0iMCI7KWVbMF0rKyx0aGlzLnlhKys7aWYoaCtjPDF8fHRoaXMueWE8MSl0aHJvdyBFcnJvcigiWWRgIithKTttPSExO2JyZWFrO2RlZmF1bHQ6ZVswXS0tLG09ITF9Yz09MCYmaD4wJiZmPj0wJiYoYz1mLGM9PTAmJmMrKyxkPWgtYyxoPWMtMSxjPTEpO2lmKGY8MCYmZD4wfHxmPj0wJiYoZjxofHxmPmgrYyl8fGs9PTApdGhyb3cgRXJyb3IoIlpkYCIrYSk7ZD1oK2MrZDt0aGlzLmo9Zj49MD9kLWY6MDtmPj0wJiYodGhpcy5CPWgrYy1mLHRoaXMuQjwwJiYodGhpcy5CPQowKSk7dGhpcy5vPShmPj0wP2Y6ZCktaDt0aGlzLkZhJiYodGhpcy5aPWgrdGhpcy5vLHRoaXMuaj09MCYmdGhpcy5vPT0wJiYodGhpcy5vPTEpKTt0aGlzLkkucHVzaChNYXRoLm1heCgwLGspKTt0aGlzLmZjPWY9PTB8fGY9PWQ7Yj1lWzBdLWI7dGhpcy5nYT1nUih0aGlzLGEsZSk7ZVswXTxhLmxlbmd0aCYmYS5jaGFyQXQoZVswXSk9PSI7Ij8oZVswXSsrLHRoaXMudiE9MSYmKHRoaXMuWT0hMCksdGhpcy5EPWdSKHRoaXMsYSxlKSxlWzBdKz1iLHRoaXMuVT1nUih0aGlzLGEsZSkpOih0aGlzLkQrPXRoaXMuTSx0aGlzLlUrPXRoaXMuZ2EpfX07CmZSPWZ1bmN0aW9uKGEpe3ZhciBiPXtub3RhdGlvbjoic3RhbmRhcmQiLG1pbmltdW1JbnRlZ2VyRGlnaXRzOk1hdGgubWluKDIxLE1hdGgubWF4KDEsYS5vKSl9O2EuRWImJihiLnNpZ25EaXNwbGF5PSJhbHdheXMiKTthLlFhPyhiLm1pbmltdW1TaWduaWZpY2FudERpZ2l0cz0xLGIubWF4aW11bVNpZ25pZmljYW50RGlnaXRzPU1hdGgubWF4KDEsTWF0aC5taW4oMjEsYS5oYSkpKTphLk1hJiYoYi5taW5pbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5tYXgoMCxhLkIpLGIubWF4aW11bUZyYWN0aW9uRGlnaXRzPU1hdGgubWluKDIwLE1hdGgubWF4KDAsYS5qKSkpO2Iuc3R5bGU9ImRlY2ltYWwiO3RyeXtsZXQgYzsoYz0iZW4tVVMiLnJlcGxhY2UoIl8iLCItIikpJiZjIGluIGlSJiYoYi5udW1iZXJpbmdTeXN0ZW09aVJbY10pO2EuSz1uZXcgSW50bC5OdW1iZXJGb3JtYXQoYyxiKX1jYXRjaChjKXt0aHJvdyBhLks9bnVsbCxFcnJvcigiUmRgIitjKTt9alI9YS5WZD1hLlFhPWEuTWE9ITF9OwptUj1mdW5jdGlvbihhLGIpe3ZhciBjPWtSKGIsYS5qKTthLmhhPjAmJihjPWxSKGMsYS5oYSxhLmopKTtjPU1hdGgucm91bmQoYyk7aWYoaXNGaW5pdGUoYykpe3ZhciBkPU1hdGguZmxvb3Ioa1IoYywtYS5qKSk7Yz1NYXRoLmZsb29yKGMta1IoZCxhLmopKTtpZihjPDB8fGM+PWtSKDEsYS5qKSlkPU1hdGgucm91bmQoYiksYz0wfWVsc2UgZD1iLGM9MDtyZXR1cm57aW50VmFsdWU6ZCxodzpjfX07Cm5SPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEuQj5hLmopdGhyb3cgRXJyb3IoIlNkIik7ZHx8KGQ9W10pO2I9bVIoYSxiKTt2YXIgZT1iLmludFZhbHVlLGY9Yi5odyxoPWEuQj4wfHxmPjB8fCExO2I9YS5CO2gmJihiPWEuQik7Zm9yKHZhciBrPSIiLGw9ZTtsPjFFMjA7KWs9IjAiK2ssbD1NYXRoLnJvdW5kKGtSKGwsLTEpKTtrPWwrazt2YXIgbT1kUi5WbjtsPWRSLkJrLmNvZGVQb2ludEF0KDApO3ZhciBuPWsubGVuZ3RoLHA9MDtpZihlPjB8fGM+MCl7Zm9yKGU9bjtlPGM7ZSsrKWQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsKSk7aWYoYS5JLmxlbmd0aD49Milmb3IoYz0xO2M8YS5JLmxlbmd0aDtjKyspcCs9YS5JW2NdO2M9bi1wO2lmKGM+MCl7ZT1hLkk7cD1uPTA7dmFyIHI9ZFIucmssdD1rLmxlbmd0aDtmb3IobGV0IHo9MDt6PHQ7eisrKWlmKGQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihrLmNoYXJBdCh6KSkpKSx0LXo+MSl7dmFyIHY9ZVtwXTtpZih6PApjKXtsZXQgRT1jLXo7KHY9PT0xfHx2PjAmJkUldj09PTEpJiZkLnB1c2gocil9ZWxzZSBwPGUubGVuZ3RoJiYoej09PWM/cCs9MTp2PT09ei1jLW4rMSYmKGQucHVzaChyKSxuKz12LHArPTEpKX19ZWxzZXtjPWs7az1hLkk7ZT1kUi5yazt2PWMubGVuZ3RoO3I9W107Zm9yKG49ay5sZW5ndGgtMTtuPj0wJiZ2PjA7bi0tKXtwPWtbbl07Zm9yKHQ9MDt0PHAmJnYtdC0xPj0wO3QrKylyLnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQobCtOdW1iZXIoYy5jaGFyQXQodi10LTEpKSkpO3YtPXA7dj4wJiZyLnB1c2goZSl9ZC5wdXNoLmFwcGx5KGQsci5yZXZlcnNlKCkpfX1lbHNlIGh8fGQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsKSk7KGEuZmN8fGgpJiZkLnB1c2gobSk7Zj1TdHJpbmcoZik7aD1mLnNwbGl0KCJlKyIpO2gubGVuZ3RoPT0yJiYoZj1TdHJpbmcobFIocGFyc2VGbG9hdChoWzBdKSxhLmhhLDEpKSxmPWYucmVwbGFjZSgiLiIsIiIpLGYrPSIwIi5yZXBlYXQocGFyc2VJbnQoaFsxXSwKMTApLWYubGVuZ3RoKzEpKTthLmorMT5mLmxlbmd0aCYmKGY9IjEiKyIwIi5yZXBlYXQoYS5qLWYubGVuZ3RoKStmKTtmb3IoYT1mLmxlbmd0aDtmLmNoYXJBdChhLTEpPT0iMCImJmE+YisxOylhLS07Zm9yKGI9MTtiPGE7YisrKWQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihmLmNoYXJBdChiKSkpKX07b1I9ZnVuY3Rpb24oYSxiLGMpe2MucHVzaChkUi5Zbik7YjwwPyhiPS1iLGMucHVzaChkUi5hbykpOmEuRWImJmMucHVzaChkUi5XdCk7Yj0iIitiO3ZhciBkPWRSLkJrO2ZvcihsZXQgZT1iLmxlbmd0aDtlPGEueWE7ZSsrKWMucHVzaChkKTthPWQuY29kZVBvaW50QXQoMCkteWphO2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspYy5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGErYi5jb2RlUG9pbnRBdChkKSkpfTsKcFI9ZnVuY3Rpb24oYSl7YT1hLmNvZGVQb2ludEF0KDApO2lmKDQ4PD1hJiZhPDU4KXJldHVybiBhLTQ4O3ZhciBiPWRSLkJrLmNvZGVQb2ludEF0KDApO3JldHVybiBiPD1hJiZhPGIrMTA/YS1iOi0xfTsKZ1I9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0iIixlPSExLGY9Yi5sZW5ndGg7Y1swXTxmO2NbMF0rKyl7dmFyIGg9Yi5jaGFyQXQoY1swXSk7aWYoaD09IiciKWNbMF0rMTxmJiZiLmNoYXJBdChjWzBdKzEpPT0iJyI/KGNbMF0rKyxkKz0iJyIpOmU9IWU7ZWxzZSBpZihlKWQrPWg7ZWxzZSBzd2l0Y2goaCl7Y2FzZSAiIyI6Y2FzZSAiMCI6Y2FzZSAiLCI6Y2FzZSAiLiI6Y2FzZSAiOyI6cmV0dXJuIGQ7Y2FzZSAiXHUwMGE0IjpjWzBdKzE8ZiYmYi5jaGFyQXQoY1swXSsxKT09Ilx1MDBhNCI/KGNbMF0rKyxkKz1kUi5Xbik6KGg9ZFIuV24sZCs9aCBpbiBxUj9xUltoXVsxXTpoKTticmVhaztjYXNlICIlIjppZighYS5ZJiZhLnYhPTEpdGhyb3cgRXJyb3IoIlRkIik7aWYoYS5ZJiZhLnYhPTEwMCl0aHJvdyBFcnJvcigiVWQiKTthLnY9MTAwO2EuWT0hMTtkKz1kUi5qbzticmVhaztjYXNlICJcdTIwMzAiOmlmKCFhLlkmJmEudiE9MSl0aHJvdyBFcnJvcigiVGQiKTtpZihhLlkmJgphLnYhPTFFMyl0aHJvdyBFcnJvcigiVWQiKTthLnY9MUUzO2EuWT0hMTtkKz1kUi5rbzticmVhaztkZWZhdWx0OmQrPWh9fXJldHVybiBkfTt0Uj1mdW5jdGlvbihhLGIpe2E9YS5vYT09MT9yUi5TbjpyUi5WczthPT1udWxsJiYoYT1yUi5Tbik7aWYoYjwzKXJldHVybiBzUjtiPU1hdGgubWluKDE0LGIpO3ZhciBjPWFba1IoMSxiKV07Zm9yKC0tYjshYyYmYj49MzspYz1hW2tSKDEsYildLGItLTtpZighYylyZXR1cm4gc1I7Yz1jLm90aGVyO3ZhciBkPWE9IiIsZT1jLmluZGV4T2YoIjsiKTtlPj0wJiYoYz1jLnN1YnN0cmluZygwLGUpLGU9Yy5zdWJzdHJpbmcoZSsxKSkmJihkPS8oW14wXSopKDArKSguKikvLmV4ZWMoZSksYT1kWzFdLGQ9ZFszXSk7cmV0dXJuIGMmJmMhPSIwIj8oYz0vKFteMF0qKSgwKykoLiopLy5leGVjKGMpKT97cGw6YisxLShjWzJdLmxlbmd0aC0xKSx3bTphLHhtOmQscHJlZml4OmNbMV0sc3VmZml4OmNbM119OnNSOnNSfTsKdVI9ZnVuY3Rpb24oYSl7aWYoIWlzRmluaXRlKGEpKXJldHVybiBhPjA/YTowO2Zvcih2YXIgYj0wOyhhLz0xMCk+PTE7KWIrKztyZXR1cm4gYn07a1I9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWlzRmluaXRlKGEpfHxiPT0wKXJldHVybiBhO2E9U3RyaW5nKGEpLnNwbGl0KCJlIik7cmV0dXJuIHBhcnNlRmxvYXQoYVswXSsiZSIrKHBhcnNlSW50KGFbMV18fDAsMTApK2IpKX07dlI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSYmaXNGaW5pdGUoYSk/a1IoTWF0aC5yb3VuZChrUihhLGIpKSwtYik6YX07bFI9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhKXJldHVybiBhO2I9Yi11UihhKS0xO3JldHVybiBiPC1jP3ZSKGEsLWMpOnZSKGEsYil9O3pqYT1mdW5jdGlvbihhKXtyZXR1cm4gYSUxMD09MSYmYSUxMDAhPTExPyJvbmUiOmElMTA9PTImJmElMTAwIT0xMj8idHdvIjphJTEwPT0zJiZhJTEwMCE9MTM/ImZldyI6Im90aGVyIn07CkFqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWF8MDtpZih2b2lkIDA9PT1iKXtiPU1hdGg7dmFyIGQ9Yi5taW47bGV0IGU9YSsiIixmPWUuaW5kZXhPZigiLiIpO2I9ZC5jYWxsKGIsZj09PS0xPzA6ZS5sZW5ndGgtZi0xLDMpfWQ9TWF0aC5wb3coMTAsYik7YT17RkI6YixmOihhKmR8MCklZH07cmV0dXJuIGM9PTEmJmEuRkI9PTA/Im9uZSI6Im90aGVyIn07elI9ZnVuY3Rpb24oYSl7dGhpcy52PWE7dGhpcy5vPXRoaXMuaj10aGlzLkQ9bnVsbDthPWRSO3ZhciBiPXJSO2lmKHdSIT09YXx8eFIhPT1iKXdSPWEseFI9Yix5Uj1uZXcgaFI7dGhpcy5LPXlSfTsKQVI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtmb3IobGV0IHA9MDtwPGIubGVuZ3RoO3ArKyl7dmFyIGY9dm9pZCAwO3N3aXRjaChiW3BdLnR5cGUpe2Nhc2UgNDplLnB1c2goYltwXS52YWx1ZSk7YnJlYWs7Y2FzZSAzOmY9YltwXS52YWx1ZTt2YXIgaD1hLGs9ZSxsPWNbZl07bD09PXZvaWQgMD9rLnB1c2goIlVuZGVmaW5lZCBwYXJhbWV0ZXIgLSAiK2YpOihoLmoucHVzaChsKSxrLnB1c2goaC5CKGguaikpKTticmVhaztjYXNlIDI6Zj1iW3BdLnZhbHVlO2g9YTtrPWM7bD1kO3ZhciBtPWUsbj1mLnNpO2tbbl09PT12b2lkIDA/bS5wdXNoKCJVbmRlZmluZWQgcGFyYW1ldGVyIC0gIituKToobj1mW2tbbl1dLG49PT12b2lkIDAmJihuPWYub3RoZXIpLEFSKGgsbixrLGwsbSkpO2JyZWFrO2Nhc2UgMDpmPWJbcF0udmFsdWU7QlIoYSxmLGMsQ1IsZCxlKTticmVhaztjYXNlIDE6Zj1iW3BdLnZhbHVlLEJSKGEsZixjLEJqYSxkLGUpfX19OwpCUj1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGg9Yi5zaSxrPWIuR28sbD0rY1toXTtpc05hTihsKT9mLnB1c2goIlVuZGVmaW5lZCBvciBpbnZhbGlkIHBhcmFtZXRlciAtICIraCk6KGs9bC1rLGg9YltjW2hdXSxoPT09dm9pZCAwJiYoZD1kKE1hdGguYWJzKGspKSxoPWJbZF0saD09PXZvaWQgMCYmKGg9Yi5vdGhlcikpLGI9W10sQVIoYSxoLGMsZSxiKSxjPWIuam9pbigiIiksZT9mLnB1c2goYyk6KGE9YS5LLmZvcm1hdChrKSxmLnB1c2goYy5yZXBsYWNlKC8jL2csYSkpKSl9O0VqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuRCxkPWEuQi5iaW5kKGEpO2I9Yi5yZXBsYWNlKENqYSxmdW5jdGlvbigpe2MucHVzaCgiJyIpO3JldHVybiBkKGMpfSk7cmV0dXJuIGI9Yi5yZXBsYWNlKERqYSxmdW5jdGlvbihlLGYpe2MucHVzaChmKTtyZXR1cm4gZChjKX0pfTsKRFI9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPVtdLGQ9W10sZT0vW3t9XS9nO2UubGFzdEluZGV4PTA7Zm9yKHZhciBmO2Y9ZS5leGVjKGEpOyl7bGV0IGg9Zi5pbmRleDtmWzBdPT0ifSI/KGMucG9wKCksYy5sZW5ndGg9PTAmJihmPXt0eXBlOjF9LGYudmFsdWU9YS5zdWJzdHJpbmcoYixoKSxkLnB1c2goZiksYj1oKzEpKTooYy5sZW5ndGg9PTAmJihiPWEuc3Vic3RyaW5nKGIsaCksYiE9IiImJmQucHVzaCh7dHlwZTowLHZhbHVlOmJ9KSxiPWgrMSksYy5wdXNoKCJ7IikpfWE9YS5zdWJzdHJpbmcoYik7YSE9IiImJmQucHVzaCh7dHlwZTowLHZhbHVlOmF9KTtyZXR1cm4gZH07CkhSPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107Yj1EUihiKTtmb3IobGV0IGU9MDtlPGIubGVuZ3RoO2UrKyl7bGV0IGY9e307aWYoMD09YltlXS50eXBlKWYudHlwZT00LGYudmFsdWU9YltlXS52YWx1ZTtlbHNlIGlmKDE9PWJbZV0udHlwZSl7dmFyIGQ9YltlXS52YWx1ZTtzd2l0Y2goRVIudGVzdChkKT8wOkZSLnRlc3QoZCk/MTpHUi50ZXN0KGQpPzI6L15ccypcdytccyovLnRlc3QoZCk/Mzo1KXtjYXNlIDI6Zi50eXBlPTI7Zi52YWx1ZT1GamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDA6Zi50eXBlPTA7Zi52YWx1ZT1HamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDE6Zi50eXBlPTE7Zi52YWx1ZT1IamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDM6Zi50eXBlPTMsZi52YWx1ZT1iW2VdLnZhbHVlfX1jLnB1c2goZil9cmV0dXJuIGN9OwpGamE9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtiPWIucmVwbGFjZShHUixmdW5jdGlvbihmLGgpe2M9aDtyZXR1cm4iIn0pO3ZhciBkPXt9O2Quc2k9YztiPURSKGIpO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7KXtsZXQgZj1iW2VdLnZhbHVlO2UrKztsZXQgaDsxPT1iW2VdLnR5cGUmJihoPUhSKGEsYltlXS52YWx1ZSkpO2RbZi5yZXBsYWNlKC9ccy9nLCIiKV09aDtlKyt9cmV0dXJuIGR9O0dqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiLGQ9MDtiPWIucmVwbGFjZShFUixmdW5jdGlvbihoLGssbCl7Yz1rO2wmJihkPXBhcnNlSW50KGwsMTApKTtyZXR1cm4iIn0pO3ZhciBlPXt9O2Uuc2k9YztlLkdvPWQ7Yj1EUihiKTtmb3IodmFyIGY9MDtmPGIubGVuZ3RoOyl7bGV0IGg9YltmXS52YWx1ZTtmKys7bGV0IGs7MT09YltmXS50eXBlJiYoaz1IUihhLGJbZl0udmFsdWUpKTtlW2gucmVwbGFjZSgvXHMqKD86PSk/KFx3KylccyovLCIkMSIpXT1rO2YrK31yZXR1cm4gZX07CkhqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2I9Yi5yZXBsYWNlKEZSLGZ1bmN0aW9uKGYsaCl7Yz1oO3JldHVybiIifSk7dmFyIGQ9e307ZC5zaT1jO2QuR289MDtiPURSKGIpO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7KXtsZXQgZj1iW2VdLnZhbHVlO2UrKztsZXQgaDsxPT1iW2VdLnR5cGUmJihoPUhSKGEsYltlXS52YWx1ZSkpO2RbZi5yZXBsYWNlKC9ccyooPzo9KT8oXHcrKVxzKi8sIiQxIildPWg7ZSsrfXJldHVybiBkfTtJamE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYil7ZGVmYXVsdDpjYXNlICJ5ZWFycyI6cmV0dXJuIGEuai5ZRUFSO2Nhc2UgIm1vbnRocyI6cmV0dXJuIGEuai5NT05USDtjYXNlICJ3ZWVrcyI6cmV0dXJuIGEuai5XRUVLO2Nhc2UgImRheXMiOnJldHVybiBhLmouREFZO2Nhc2UgImhvdXJzIjpyZXR1cm4gYS5qLkhPVVI7Y2FzZSAibWludXRlcyI6cmV0dXJuIGEuai5NSU5VVEU7Y2FzZSAic2Vjb25kcyI6cmV0dXJuIGEuai5TRUNPTkR9fTsKSVI9ZnVuY3Rpb24oYSxiLGMpe2E9SWphKGEsYyk7cmV0dXJuKGE9YS5MT05HIT12b2lkIDA/YS5MT05HOmEuTkFSUk9XIT12b2lkIDA/YS5OQVJST1c6YS5TSE9SVCk/KG5ldyB6Uigie0RVUkFUSU9OX1ZBTFVFLHBsdXJhbCwiK2ErIn0iKSkuZm9ybWF0KHtEVVJBVElPTl9WQUxVRTpifSk6IiJ9O0pSPWZ1bmN0aW9uKCl7Xy5IeigpO3JldHVybiFfLkN6KDE0MSkmJl8udygiQVVUT05BVl9PRkZfQllfREVGQVVMVCIpPyExOiFfLkN6KDE0MCl9O0pqYT1mdW5jdGlvbigpe2lmKCFLUil7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BsYXllci5za2VsZXRvbiIpO2EmJihfLkRkKGEpLEtSPSEwKX19O0xSPWZ1bmN0aW9uKGEsYixjLGQ9ITEpe2I9bmV3IEtqYShifHxhLGN8fGEpO3JldHVybnt4OmEueCtMamEoYixkKSouMix5OmEueStNamEoYixkKSouMn19O0xqYT1mdW5jdGlvbihhLGI9ITEpe3JldHVybiBiP2EuaiotMTphLmp9OwpNamE9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYj9hLm8qLTE6YS5vfTtNUj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt2YXIgYj1hLmVycm9yU2NyZWVuPy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyPz9hLmVycm9yU2NyZWVuPy55cGNUcmFpbGVyUmVuZGVyZXI7cmV0dXJuIShhLnN0YXR1cyE9PSJPSyImJmEuc3RhdHVzIT09IkxJVkVfU1RSRUFNX09GRkxJTkUiKXx8ISFifTsKUWphPWZ1bmN0aW9uKHtyZW5kZXJlcjphLHN1YnNjcmliZWQ6Yixpc092ZXJsYXk6YyxzdG9wUHJvcGFnYXRpb246ZH0pe3ZhciBlPU5qYShhLGIpO2MmJihlLnN0eWxlPSJvdmVybGF5Iik7YTpzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJDT01QQUNUX0dSQVkiOmNhc2UgIkNPTVBBQ1RfUkVEIjpjPXtzaXplOiJTIn07YnJlYWsgYTtkZWZhdWx0OmM9e3NpemU6Ik0ifX1jPXsuLi5jfTt2YXIgZj1PamEoYSxiKTt2YXIgaD0oaD1iP2Euc3Vic2NyaWJlZEJ1dHRvblRleHQ6YS51bnN1YnNjcmliZWRCdXR0b25UZXh0KT9fLkFGKGgpOnZvaWQgMDtyZXR1cm57Li4uZSwuLi5jLGZvY3VzZWQ6ITEsdG9nZ2xlZDpiLGFjY2Vzc2liaWxpdHlMYWJlbDpmLFdhOmgsb25UYXA6UGphKGEsYixkKX19OwpQamE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9UmphKGEsYik7aWYoZSl7bGV0IGY9e3N1YnNjcmliZUJ1dHRvblJlbmRlcmVyOmF9O18uZEsoZSx7Zm9ybTp7Y3VycmVudERhdGE6Zixzb3VyY2VEYXRhOmYsZXZlbnQ6ZH19KX1jJiZkLnN0b3BQcm9wYWdhdGlvbigpfX07UmphPWZ1bmN0aW9uKGEsYil7aWYoYS5zaWduSW5FbmRwb2ludCYmIV8ueCgid2ViX3N1YnNjcmliZV9zaWduX2luX2VuZHBvaW50X2tpbGxzd2l0Y2giKSlyZXR1cm4gYS5zaWduSW5FbmRwb2ludDtpZihiKXtpZihhLnNlcnZpY2VFbmRwb2ludHMpcmV0dXJuIGEuc2VydmljZUVuZHBvaW50c1sxXTtpZihhLm9uVW5zdWJzY3JpYmVFbmRwb2ludHMpcmV0dXJuIGEub25VbnN1YnNjcmliZUVuZHBvaW50c1swXX1lbHNle2lmKGEuc2VydmljZUVuZHBvaW50cylyZXR1cm4gYS5zZXJ2aWNlRW5kcG9pbnRzWzBdO2lmKGEub25TdWJzY3JpYmVFbmRwb2ludHMpcmV0dXJuIGEub25TdWJzY3JpYmVFbmRwb2ludHNbMF19fTsKT2phPWZ1bmN0aW9uKGEsYil7Yj1iP2EudW5zdWJzY3JpYmVBY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWw6YS5zdWJzY3JpYmVBY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWw7cmV0dXJuIGEubG9uZ1N1YnNjcmliZXJDb3VudFRleHQ/W2IsXy5hTihhLmxvbmdTdWJzY3JpYmVyQ291bnRUZXh0KV0uZmlsdGVyKGM9PmMpLmpvaW4oIiAiKTpifTtOUj1mdW5jdGlvbihhLGIpe3JldHVybiBifHxhPy5pc0NoYW5uZWxEZWxlZ2F0ZT8iZGlzYWJsZWQiOiJhY3RpdmUifTsKTmphPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEuc3R5bGU/LnN0eWxlVHlwZSl7Y2FzZSAiQ09NUEFDVF9HUkFZIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRvbmFsIixzdGF0ZTpOUihhKX07Y2FzZSAiTUVESVVNX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTtjYXNlICJWSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOk5SKGEsITApfTtjYXNlICJPVkVSTEFZIjpyZXR1cm4gYj97c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRvbmFsIixzdGF0ZTpOUihhKX06e3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOk5SKGEpfTtkZWZhdWx0OnJldHVybiBiP3tzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTp7c3R5bGU6Im1vbm8iLHR5cGU6ImZpbGxlZCIsc3RhdGU6TlIoYSl9fX07ClBSPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaG91cnN8fDA7dmFyIGM9YS5taW51dGVzfHwwLGQ9YS5zZWNvbmRzfHwwO2I9ZCtjKjYwK2IqMzYwMCsoYS5kYXlzfHwwKSo4NjQwMCsoYS53ZWVrc3x8MCkqNjA0ODAwKyhhLm1vbnRoc3x8MCkqMjYyOTgwMCsoYS55ZWFyc3x8MCkqMzE1NTc2MDA7Yjw9MD9iPXtob3VyczowLG1pbnV0ZXM6MCxzZWNvbmRzOjB9OihhPWIsYj1NYXRoLmZsb29yKGEvMzYwMCksYSU9MzYwMCxjPU1hdGguZmxvb3IoYS82MCksZD1NYXRoLmZsb29yKGElNjApLGI9e2hvdXJzOmIsbWludXRlczpjLHNlY29uZHM6ZH0pO3ZhciB7aG91cnM6ZT0wLG1pbnV0ZXM6Zj0wLHNlY29uZHM6aD0wfT1iO2I9W107aWYoZT4wKXtjPU9SKCkuZm9ybWF0KHtob3VyczplfSk7aWYoISJiZSBiZyBlcyBldCBodSBpdCBrYSBsdiBwbCBwdC1QVCBzbCBzcSIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKXx8ZT45OTk5KXthPWMucmVwbGFjZTtkPWUudG9TdHJpbmcoKTt2YXIgaz0obmV3IEludGwuTnVtYmVyRm9ybWF0KCJlbi11LW51LWxhdG4iKSkuZm9ybWF0KGUpOwp2YXIgbD1bImZyIl07bGV0IG09ImF6IGJzIGNhIGRhIGRlIGVsIGVzIGV1IGdsIGhyIGlkIGlzIGl0IGttIGxvIG1rIG5sIHB0LUJSIHJvIHNsIHNyIHNyLUxhdG4gdHIgdmkiLnNwbGl0KCIgIik7az0iYWYgYmUgYmcgY3MgZXQgZmkgZnItQ0EgaHUgaHkga2Ega2sga3kgbHQgbHYgbm8gcGwgcHQtUFQgcnUgc2sgc3Egc3YgdWsgdXoiLnNwbGl0KCIgIikuaW5jbHVkZXMoWik/ay5yZXBsYWNlKCIsIiwiXHUwMGEwIik6bC5pbmNsdWRlcyhaKT9rLnJlcGxhY2UoIiwiLCJcdTIwMmYiKTptLmluY2x1ZGVzKFopP2sucmVwbGFjZSgiLCIsIi4iKTprO2M9YS5jYWxsKGMsZCxrKTtaPT09ImttIiYmKGM9Yy5yZXBsYWNlKCIuIiwiLCIpKX1iLnB1c2goYyl9Zj4wJiZiLnB1c2goT1IoKS5mb3JtYXQoe21pbnV0ZXM6Zn0pKTsoaD4wfHxlPT09MCYmZj09PTApJiZiLnB1c2goT1IoKS5mb3JtYXQoe3NlY29uZHM6aH0pKTtjPSJiZSBndSBqYSBrayBrbSBrbyBtbiBydSB0ciB1eiB6aC1ISyB6aC1UVyIuc3BsaXQoIiAiKTsKYT1aPT0iYW0iPyJ7MH1cdTEzNjMgIjpaPT0iZmEiPyJ7MH1cdTA2MGNcdTIwMGYgIjpaPT0ibXkiPyJ7MH0gLSAiOlo9PSJ0aCI/InswfSAiOlo9PSJ1ciI/InswfVx1MDYwYyAiOlo9PSJhciJ8fFo9PSJhci1YQiI/InswfSBcdTA2NDgiOlo9PSJqYSJ8fFo9PSJ6aC1DTiJ8fFo9PSJ6aC1ISyJ8fFo9PSJ6aC1UVyI/InswfVx1MzAwMSI6InswfSwgIjtkPVo9PSJhbSI/Ilx1MTM2MyAiOlo9PSJmYSI/Ilx1MDYwY1x1MjAwZiAiOlo9PSJteSI/IiAtICI6Wj09InRoIj8iICI6Wj09InVyIj8iXHUwNjBjICI6Wj09ImFyInx8Wj09ImFyLVhCIj8iIFx1MDY0OCI6Wj09ImphInx8Wj09InpoLUNOInx8Wj09InpoLUhLInx8Wj09InpoLVRXIj8iXHUzMDAxIjoiLCAiO2s9Wj09ImFtIj8iIFx1MTJhNVx1MTI5MyB7MH0iOlo9PSJhcyI/IiBcdTA5ODZcdTA5ZjBcdTA5YzEgezB9IjpaPT0iYXoiPyIgdlx1MDI1OSB7MH0iOlo9PSJibiI/IiBcdTA5OGZcdTA5YWNcdTA5ODIgezB9IjpaPT0iY3MiPwoiIGFcdTAwYTB7MH0iOlo9PSJkZSI/IiB1bmQgezB9IjpaPT0iZWwiPyIgXHUwM2JhXHUwM2IxXHUwM2I5IHswfSI6Wj09ImV1Ij8iIGV0YSB7MH0iOlo9PSJmYSI/Ilx1MDYwYyBcdTA2NDggezB9IjpaPT0iZmlsIj8iLCBhdCB7MH0iOlo9PSJndSI/IiBcdTBhODVcdTBhYThcdTBhYzcgezB9IjpaPT0iaGkiPyIsIFx1MDkxNFx1MDkzMCB7MH0iOlo9PSJodSI/IiBcdTAwZTlzIHswfSI6Wj09Imh5Ij8iIFx1MDU4NyB7MH0iOlo9PSJpZCI/IiwgZGFuIHswfSI6Wj09Iml3Ij8iIFx1MDVkNS17MH0iOlo9PSJqYSI/Ilx1MzAwMXswfSI6Wj09ImthIj8iIFx1MTBkM1x1MTBkMCB7MH0iOlo9PSJrbSI/IiBcdTE3OTNcdTE3YjdcdTE3ODQgezB9IjpaPT0ia24iPyIsIFx1MGNhZVx1MGNhNFx1MGNjZFx1MGNhNFx1MGNjMSB7MH0iOlo9PSJrbyI/IiBcdWJjMGYgezB9IjpaPT0ia3kiPyIgXHUwNDM2XHUwNDMwXHUwNDNkXHUwNDMwIHswfSI6Wj09Imx0Ij8iIGlyIHswfSI6Wj09Imx2Ij8KIiB1biB7MH0iOlo9PSJtciI/IiBcdTA5MDZcdTA5MjNcdTA5M2YgezB9IjpaPT0ibXMiPyIgZGFuIHswfSI6Wj09Im15Ij8iXHUxMDE0XHUxMDNlXHUxMDA0XHUxMDM3XHUxMDNhIHswfSI6Wj09Im5lIj8iIFx1MDkzMCB7MH0iOlo9PSJvciI/IiwgXHUwYjEzIHswfSI6Wj09InBhIj8iIFx1MGEwNVx1MGEyNFx1MGE0NyB7MH0iOlo9PSJybyI/IiBcdTAyMTlpIHswfSI6Wj09InNpIj8iLCBcdTBkYzNcdTBkYzQgezB9IjpaPT0ic2siPyIgYSB7MH0iOlo9PSJzbCI/IiBpbiB7MH0iOlo9PSJzcSI/IiBkaGUgezB9IjpaPT0ic3YiPyIgb2NoIHswfSI6Wj09InN3Ij8iIG5hIHswfSI6Wj09InRhIj8iIFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCB7MH0iOlo9PSJ0ZSI/IiBcdTBjMmVcdTBjMzBcdTBjM2ZcdTBjMmZcdTBjNDEgezB9IjpaPT0idGgiPyIgXHUwZTQxXHUwZTI1XHUwZTMwezB9IjpaPT0idHIiPyIgdmUgezB9IjpaPT0idXIiPyJcdTA2MGMgXHUwNjI3XHUwNjQ4XHUwNjMxIHswfSI6Clo9PSJ1eiI/IiB2YSB7MH0iOlo9PSJ2aSI/IiB2XHUwMGUwIHswfSI6Wj09InpoLUhLIj8iXHU1M2NhezB9IjpaPT0ienUiPyIsIG5lLXswfSI6Wj09ImFmInx8Wj09Im5sIj8iIGVuIHswfSI6Wj09ImFyInx8Wj09ImFyLVhCIj8iIFx1MDY0OHswfSI6Wj09ImJlInx8Wj09InVrIj8iIFx1MDQ1NiB7MH0iOlo9PSJlbi1HQiJ8fFo9PSJlbi1JTiI/IiBhbmQgezB9IjpaPT0iZW4ifHxaPT0iZW4tWEEiPyIsIGFuZCB7MH0iOlo9PSJldCJ8fFo9PSJmaSI/IiBqYSB7MH0iOlo9PSJmciJ8fFo9PSJmci1DQSI/IiBldCB7MH0iOlo9PSJ6aC1DTiJ8fFo9PSJ6aC1UVyI/Ilx1NTQ4Y3swfSI6Wj09ImRhInx8Wj09ImlzInx8Wj09Im5vIj8iIG9nIHswfSI6Wj09ImVzInx8Wj09ImVzLTQxOSJ8fFo9PSJlcy1VUyI/IiB5IHswfSI6Wj09ImJnInx8Wj09Im1rInx8Wj09InJ1Inx8Wj09InNyIj8iIFx1MDQzOCB7MH0iOlo9PSJnbCJ8fFo9PSJpdCJ8fFo9PSJwdC1CUiJ8fFo9PSJwdC1QVCI/IiBlIHswfSI6Clo9PSJrayJ8fFo9PSJsbyJ8fFo9PSJtbCJ8fFo9PSJtbiI/IiwgezB9IjoiIGkgezB9IjtsPVo9PSJhbSI/InswfSBcdTEyYTVcdTEyOTMgezF9IjpaPT0iYXMiPyJ7MH0gXHUwOTg2XHUwOWYwXHUwOWMxIHsxfSI6Wj09ImF6Ij8iezB9IHZcdTAyNTkgezF9IjpaPT0iYm4iPyJ7MH0gXHUwOThmXHUwOWFjXHUwOTgyIHsxfSI6Wj09ImRlIj8iezB9IHVuZCB7MX0iOlo9PSJlbCI/InswfSBcdTAzYmFcdTAzYjFcdTAzYjkgezF9IjpaPT0iZXUiPyJ7MH0gZXRhIHsxfSI6Wj09ImZhIj8iezB9IFx1MDY0OCB7MX0iOlo9PSJmaWwiPyJ7MH0gYXQgezF9IjpaPT0iZ3UiPyJ7MH0gXHUwYTg1XHUwYWE4XHUwYWM3IHsxfSI6Wj09ImhpIj8iezB9IFx1MDkxNFx1MDkzMCB7MX0iOlo9PSJodSI/InswfSBcdTAwZTlzIHsxfSI6Wj09Imh5Ij8iezB9IFx1MDU4NyB7MX0iOlo9PSJpdyI/InswfSBcdTA1ZDUtezF9IjpaPT0iamEiPyJ7MH1cdTMwMDF7MX0iOlo9PSJrYSI/InswfSBcdTEwZDNcdTEwZDAgezF9IjoKWj09ImtrIj8iezB9IFx1MDQzNlx1MDRkOVx1MDQzZFx1MDQzNSB7MX0iOlo9PSJrbSI/InswfSBcdTE3OTNcdTE3YjdcdTE3ODRcdTIwMGJ7MX0iOlo9PSJrbiI/InswfSBcdTBjYWVcdTBjYTRcdTBjY2RcdTBjYTRcdTBjYzEgezF9IjpaPT0ia28iPyJ7MH0gXHViYzBmIHsxfSI6Wj09Imt5Ij8iezB9IFx1MDQzNlx1MDQzMFx1MDQzZFx1MDQzMCB7MX0iOlo9PSJsbyI/InswfSBcdTBlYzFcdTBlYTVcdTBlYjAgezF9IjpaPT0ibHQiPyJ7MH0gaXIgezF9IjpaPT0ibHYiPyJ7MH0gdW4gezF9IjpaPT0ibXIiPyJ7MH0gXHUwOTA2XHUwOTIzXHUwOTNmIHsxfSI6Wj09Im15Ij8iezB9XHUxMDE0XHUxMDNlXHUxMDA0XHUxMDM3XHUxMDNhIHsxfSI6Wj09Im5lIj8iezB9IFx1MDkzMCB7MX0iOlo9PSJvciI/InswfSBcdTBiMTMgezF9IjpaPT0icGEiPyJ7MH0gXHUwYTA1XHUwYTI0XHUwYTQ3IHsxfSI6Wj09InJvIj8iezB9IFx1MDIxOWkgezF9IjpaPT0ic2kiPyJ7MH0gXHUwZGMzXHUwZGM0IHsxfSI6Clo9PSJzbCI/InswfSBpbiB7MX0iOlo9PSJzcSI/InswfSBkaGUgezF9IjpaPT0ic3YiPyJ7MH0gb2NoIHsxfSI6Wj09InN3Ij8iezB9IG5hIHsxfSI6Wj09InRhIj8iezB9IFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCB7MX0iOlo9PSJ0ZSI/InswfSBcdTBjMmVcdTBjMzBcdTBjM2ZcdTBjMmZcdTBjNDEgezF9IjpaPT0idGgiPyJ7MH1cdTBlNDFcdTBlMjVcdTBlMzB7MX0iOlo9PSJ0ciI/InswfSB2ZSB7MX0iOlo9PSJ1ciI/InswfSBcdTA2MjdcdTA2NDhcdTA2MzEgezF9IjpaPT0idXoiPyJ7MH0gdmEgezF9IjpaPT0idmkiPyJ7MH0gdlx1MDBlMCB7MX0iOlo9PSJ6aC1ISyI/InswfVx1NTNjYXsxfSI6Wj09Inp1Ij8iezB9IG5lLXsxfSI6Wj09ImFmInx8Wj09Im5sIj8iezB9IGVuIHsxfSI6Wj09ImFyInx8Wj09ImFyLVhCIj8iezB9IFx1MDY0OHsxfSI6Wj09ImJlInx8Wj09InVrIj8iezB9IFx1MDQ1NiB7MX0iOlo9PSJjcyJ8fFo9PSJzayI/InswfSBhXHUwMGEwezF9IjoKWj09ImV0Inx8Wj09ImZpIj8iezB9IGphIHsxfSI6Wj09ImZyInx8Wj09ImZyLUNBIj8iezB9IGV0IHsxfSI6Wj09ImlkInx8Wj09Im1zIj8iezB9IGRhbiB7MX0iOlo9PSJtbCJ8fFo9PSJtbiI/InswfSwgezF9IjpaPT0iemgtQ04ifHxaPT0iemgtVFciPyJ7MH1cdTU0OGN7MX0iOlo9PSJkYSJ8fFo9PSJpcyJ8fFo9PSJubyI/InswfSBvZyB7MX0iOlo9PSJlcyJ8fFo9PSJlcy00MTkifHxaPT0iZXMtVVMiPyJ7MH0geSB7MX0iOlo9PSJiZyJ8fFo9PSJtayJ8fFo9PSJydSJ8fFo9PSJzciI/InswfSBcdTA0MzggezF9IjpaPT0iZW4ifHxaPT0iZW4tR0IifHxaPT0iZW4tSU4ifHxaPT0iZW4tWEEiPyJ7MH0gYW5kIHsxfSI6Wj09ImdsInx8Wj09Iml0Inx8Wj09InB0LUJSInx8Wj09InB0LVBUIj8iezB9IGUgezF9IjoiezB9IGkgezF9IjtaPT09InNxIj8oaz1rLnJlcGxhY2UoImRoZSIsImUiKSxsPWwucmVwbGFjZSgiZGhlIiwiZSIpKTpaPT09InRoIj8oZD1kLnJlcGxhY2UoInswfSIsCiIgezB9IiksbD1sLnJlcGxhY2UoInswfSIsInswfSAiKSxsPWwucmVwbGFjZSgiezF9IiwiIHsxfSIpKTpaPT09Im5lIj9kPSIsIjpaPT09InpoLUNOIj9kPSIiOmMuaW5jbHVkZXMoWikmJihkPSIgIik7cmV0dXJuIGIubGVuZ3RoPDI/Yi5qb2luKCIiKToiYW0gYXIgYmcgYnMgY2EgY3MgZGEgZXMgZXMtNDE5IGVzLVVTIGV1IGZhIGZpIGZyLUNBIGZyIGdsIGd1IGhpIGhyIGh1IGh5IGlzIGl0IGx0IGx2IG1rIG15IG5vIG5sIHBsIHB0LUJSIHB0LVBUIHJvIHNpIHNsIHNxIHNyLUxhdG4gc3Igc3cgdGggdWsiLnNwbGl0KCIgIikuaW5jbHVkZXMoWik/Yi5sZW5ndGg9PT0yP2wucmVwbGFjZSgiezB9IixiWzBdKS5yZXBsYWNlKCJ7MX0iLGJbMV0pOmEucmVwbGFjZSgiezB9IixiWzBdKStiLnNsaWNlKDEsLTEpLmpvaW4oZCkray5yZXBsYWNlKCJ7MH0iLGJbYi5sZW5ndGgtMV0pOmIuam9pbihkKX07T1I9ZnVuY3Rpb24oKXtRUnx8KENSPVNqYSxRUj1uZXcgVGphKTtyZXR1cm4gUVJ9OwpVamE9ZnVuY3Rpb24oKXtKUSgpKHt0cTohMH0pO0pRKCkoe3RxOiExfSl9O1dqYT1mdW5jdGlvbihhKXt2YXIgYj1fLldEKCgpPT5hLmdldERlYnVnVGV4dCghMCkpO2ImJl8ueSgpLnJlc29sdmUoXy55UCkub3BlbkRpYWxvZyh7VW46KCk9Pl8uSyhWamEse2Z2OmJ9KX0pfTtSUj1mdW5jdGlvbihhLGIpe2lmKGIpYT1hLmdldFZpZGVvVXJsKCk7ZWxzZXthPWEuZ2V0UGxheWVyUmVzcG9uc2UoKS52aWRlb0RldGFpbHM/LnZpZGVvSWQ7aWYoIWEpcmV0dXJuO2E9YGh0dHBzOi8veW91dHUuYmUvJHthfWB9YSYmd2luZG93Lm5hdmlnYXRvcj8uY2xpcGJvYXJkJiZ3aW5kb3cubmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYSl9OwpYamE9ZnVuY3Rpb24oYSxiLGMsZCl7Xy55Tih7R2I6KCk9Pl8uSyhfLklCLG51bGwsU1IoYSxiKSxfLksoXy5PLHtBOigpPT5kJiZjLHRoZW46KCk9Pl8uSyhUUix7SDphLHRhOmN9KX0pLF8uSyhVUix7SDphfSksXy5LKFZSLHtIOmF9KSxfLksoV1Ise0g6YX0pLF8uSyhZUix7SDphfSksXy5LKFpSLHtIOmF9KSxfLksoJFIse0g6YX0pLF8uSyhhUyx7SDphfSksXy5LKGJTLHtIOmF9KSksSGE6ITB9KX07U1I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5LKF8uTyx7QTooKT0+Xy50UCgpLHRoZW46KCk9Pl8uSyhfLk5QLG51bGwpLFc6KCk9Pl8uSyhfLk8se0E6KCk9PiFiLHRoZW46KCk9Pl8uSyhjUyx7SDphfSl9KX0pfTtkUz1mdW5jdGlvbihhLGIpe18ueU4oe0diOmIsSGE6ITB9KTthLnN0b3BQcm9wYWdhdGlvbigpfTtlUz1mdW5jdGlvbihhKXthPWEuZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcygpO3JldHVybiBhW2EubGVuZ3RoLTFdPjJ9O2ZTPWZ1bmN0aW9uKGEpe3JldHVybntidXR0b25WaWV3TW9kZWw6e2FjY2Vzc2liaWxpdHlUZXh0OmF9fX07CmdTPWZ1bmN0aW9uKGEsYil7Yj1hPT09MTAwP1lqYTphPT09Yj9aamE6dm9pZCAwO3JldHVybnt2YXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsOntwbGF5YmFja1NwZWVkQnV0dG9uOntidXR0b25WaWV3TW9kZWw6e3RpdGxlOmAke2EvMTAwfXhgLHN0eWxlOiJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PIix0eXBlOiJCVVRUT05fVklFV19NT0RFTF9UWVBFX1RPTkFMIixidXR0b25TaXplOiJCVVRUT05fVklFV19NT0RFTF9TSVpFX0NPTVBBQ1QiLGljb25UcmFpbGluZzohMH19LGJ1dHRvbkxhYmVsOntjb250ZW50OmJ9LHBsYXliYWNrU3BlZWRCdXR0b25DZW50aVZhbHVlOmF9fX07CmRrYT1mdW5jdGlvbihhKXtpZihhPy5pc1JlYWR5Py4oKSl7dmFyIGI9YS5nZXRQbGF5YmFja1JhdGUoKTtpZihiKXtoU3x8KGhTPV8ueE0oKSk7dmFyIGM9ZVMoYSk/JGphOmFrYTtpZighaFM/LmdldCgicmVjZW50LWN1c3RvbS1zcGVlZCIpfHxiIT09MSlyZXR1cm4gYy5tYXAoZT0+Z1MoZSkpO3ZhciBkPU51bWJlcihoUy5nZXQoInJlY2VudC1jdXN0b20tc3BlZWQiKSk7aWYoYy5pbmNsdWRlcyhkKSlyZXR1cm4gYy5tYXAoZT0+Z1MoZSxkKSk7YT1lUyhhKT9ia2Euc2xpY2UoKTpja2Euc2xpY2UoKTthLnB1c2goZCk7YS5zb3J0KChlLGYpPT5lLWYpO3JldHVybiBhLm1hcChlPT5nUyhlLGQpKX19fTsKaWthPWZ1bmN0aW9uKGEpe2lmKGE/LmlzUmVhZHk/LigpKXt2YXIgYj1hLmdldFBsYXliYWNrUmF0ZSgpLGM9YS5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7aWYoYiYmYyl7dmFyIGQ9Y1tjLmxlbmd0aC0xXSoxMDA7Yz1jWzBdKjEwMDtiPXtob3Jpem9udGFsU2xpZGVyVmlld01vZGVsOnttYXhWYWx1ZTpkLG1pblZhbHVlOmMsaW5pdGlhbFZhbHVlOmIqMTAwLHN0ZXBDb3VudDooZC1jKS81LHZhbHVlRGVub21pbmF0b3I6MTAwLGluY3JlYXNlQnV0dG9uOmZTKGVrYSksZGVjcmVhc2VCdXR0b246ZlMoZmthKSxyZW5kZXJlckNvbnRleHQ6e2FjY2Vzc2liaWxpdHlDb250ZXh0OntsYWJlbDpna2F9fX19O2E9ZGthKGEpO3JldHVybnt2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbDp7c2xpZGVyOmIscGxheWJhY2tTcGVlZEJ1dHRvbnM6YSxiYWRnZTp7YmFkZ2VWaWV3TW9kZWw6e2JhZGdlVGV4dDoiUCIsYmFkZ2VTdHlsZToiQkFER0VfUFJFTUlVTSIsYWNjZXNzaWJpbGl0eUxhYmVsOmhrYX19fX19fX07CmlTPWZ1bmN0aW9uKGEpe2hTfHwoaFM9Xy54TSgpKTtoUyYmaFMuc2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIixTdHJpbmcoYSoxMDApKX07a2thPWZ1bmN0aW9uKGEpe3ZhciBiPWlrYShhKSxjPV8uQihiLGprYSk7YyYmXy55Tih7SGE6ITAscGY6ITAsR2I6KCk9Pl8uSyhfLmtPLHtkYXRhOmMscHo6ZD0+e2Euc2V0UGxheWJhY2tSYXRlKGQudGFyZ2V0LnZhbHVlQXNOdW1iZXIpfSxvejpkPT57aVMoZC50YXJnZXQudmFsdWVBc051bWJlcil9LHF6OmQ9PnthLnNldFBsYXliYWNrUmF0ZShkKTtkIT09MSYmaVMoZCk7Xy56TigpfX0pfSl9O2pTPWZ1bmN0aW9uKGEpe3JldHVybihhPWxrYVthXSk/YCR7YX1wYDpta2F9O2tTPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5XRCgoKT0+YS5nZXRQbGF5YmFja1F1YWxpdHkoKSksZD1fLldEKCgpPT5hLmdldFByZWZlcnJlZFF1YWxpdHkoKSksZT1qUyhiKTtiPT09ImF1dG8iJiZkPT09ImF1dG8iJiYoZSs9YCAoJHtqUyhjKX0pYCk7cmV0dXJuIGV9Owpva2E9ZnVuY3Rpb24oYSl7Xy55Tih7R2I6KCk9Pl8uSyhua2Ese0g6YX0pLEhhOiEwfSl9O3BTPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZFMoYSwoKT0+Xy5LKF8uSUIsbnVsbCxfLksobFMse0g6Yn0pLF8uSyhtUyx7SDpifSksXy5LKHBrYSx7SDpifSksXy5LKF8uTyx7QTooKT0+Yi5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpPy5sZW5ndGgsdGhlbjooKT0+Xy5LKG5TLHtIOmJ9KX0pLF8uSyhvUyx7SDpiLG9oOmMsdGE6ZCx0QTplfSkpKX07cWthPWZ1bmN0aW9uKGEsYixjKXtkUyhhLCgpPT5fLksoXy5JQixudWxsLFNSKGIsYykpKX07CnJrYT1mdW5jdGlvbihhKXtfLm5QKCk7aWYoYS54YylpZihhLmNhcHRpb25zRW5hYmxlZClxUyhfLiROLlNzKTtlbHNle3ZhciBiPWEuSDtpZihiKXtpZihhPVBRKGIpLGI9TlEoYikpYjp7aWYoYi50cmFuc2xhdGlvbkxhbmd1YWdlJiYoYT1iLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Yi50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fCIiOiIiKSlicmVhayBiO2E9Yi5kaXNwbGF5TmFtZX19ZWxzZSBhPSIiO3FTKGE/Xy4kTi5Vcy5yZXBsYWNlKCJsYW5ndWFnZV9wbGFjZWhvbGRlciIsYSk6Xy4kTi5Ucyl9ZWxzZSBxUyhfLiROLlJzKX07cVM9ZnVuY3Rpb24oYSl7Xy5wUCgoKT0+YSl9O3NrYT1mdW5jdGlvbihhLGIpe3ZhciBjPXJTKGEpO2E9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7YT17Li4uc1MoYSksRWU6ITB9O3JldHVybnt0YTpjLGJhOmEsVGM6ZG9jdW1lbnQuYm9keSxHYzpifX07CnRrYT1mdW5jdGlvbihhLGIpe3ZhciBjPWpqYSgpLGQ9ey4uLnJTKGEpLFNqOmY9Pnt2YXIgaD0hdFMoKSxrPWEuaXNSZWFkeT8uKCkmJiEhYS5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheTtwUyhmLGEsaCxkLGspfSxkZTooKT0+e3ZhciBmPWM/LmdldCgiYXV0b25hdl9lbmFibGVkIik7cmV0dXJuIGY9PT12b2lkIDB8fGY9PT0idHJ1ZSJ9LFJqOihmLGgpPT57aCYmYz8uc2V0KCJhdXRvbmF2X2VuYWJsZWQiLFN0cmluZyhmKSl9LFVsOigpPT5jPy5nZXQoImF1dG9uYXZfZW5hYmxlZCIpIT09dm9pZCAwfSxlPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2U9ey4uLnNTKGUpLHZ2OjM1MCx6djohMCxNbDo0RTMsaGlkZVZpZGVvSW5mbzplLmhpZGVJbmZvfTtyZXR1cm57dGE6ZCxiYTplLFRjOmRvY3VtZW50LmJvZHksR2M6Yn19OwpyUz1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKSxjPWdqYSxkPVRRLGU9U1E7aWYoYj8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd1NldEZhdXhGdWxsc2NyZWVuJiZiPy5leHRlcm5hbEZ1bGxzY3JlZW4pe2xldCBmPW5ldyB1a2EoYSk7Yz0oKT0+Zi5pc0Z1bGxzY3JlZW4oKTtkPSgpPT57Zi50b2dnbGVGdWxsc2NyZWVuKCl9O2U9KCk9PntmLmV4aXRGdWxsc2NyZWVuKCl9fXJldHVybntTajpmPT57dmFyIGg9IXRTKCk7YT8uZ2V0U2l6ZSgpPy53aWR0aDwzMjA/cWthKGYsYSxoKTpwUyhmLGEsaCl9LHFBOnJrYSxpc0Z1bGxzY3JlZW46Yyx0b2dnbGVGdWxsc2NyZWVuOmQsZXhpdEZ1bGxzY3JlZW46ZSxkZTooKT0+ITEsUmo6KCk9Pnt9LFVsOigpPT4hMX19OwpzUz1mdW5jdGlvbihhKXtyZXR1cm57RWU6ITAsTWk6ITAsTWw6Xy54KCJlbWJlZHNfZW5hYmxlX2RlbGF5X2NvbnRyb2xzX2hpZGUiKT80RTM6dm9pZCAwLGlxOmEuZGlzYWJsZUZ1bGxzY3JlZW4sbmg6YS5jb250cm9sc1R5cGU9PT0wLG9oOiF0UygpLGhpZGVWaWRlb0luZm86YS5oaWRlSW5mbyYmYS5lbWJlZHNIb3N0RmxhZ3M/Lm9wdE91dEFwaURlcHJlY2F0aW9uLHVqOiEwLER6OiFfLngoImVtYmVkc19lbWMzZHNfcHJlc2VydmVfZnVsbHNjcmVlbl9rcyIpLHpyOiEwLHJBOiEwLFpoOiEwLHZuOiEwLFpBOiFfLngoImVtYmVkc19lbWMzZHNfZnRsX2tzIiksdm9sdW1lQ29udHJvbFR5cGU6Xy54KCJlbWJlZHNfZGVza3RvcF9lbmFibGVfdm9sdW1lX3NsaWRlciIpJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKGFueS1wb2ludGVyOiBmaW5lKSIpLm1hdGNoZXM/InZvbHVtZS1zbGlkZXIiOiJtdXRlLWJ1dHRvbiJ9fTsKdFM9ZnVuY3Rpb24oKXtyZXR1cm4gXy50UCgpfHxfLnF6KCkmJiFfLncoIlBMQVlFUl9WQVJTIik/LnByaXZlbWJlZCYmIShfLmVyJiZfLk1rKCJ2ZXJzaW9uLyIpKSYmIV8ucnooKX07dVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGxheWVyU3RhdGU9PT0wfTt3Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS52aWRlb0R1cmF0aW9uP3ZTKGEpP0RRKGEuQ2EvYS52aWRlb0R1cmF0aW9uLDAsMSk6RFEoKGEudmF8fDApL2EudmlkZW9EdXJhdGlvbiwwLDEpOjB9O3hTPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpZGVvRHVyYXRpb24/YS5pc0RyYWdnaW5nfHx2UyhhKT9EUShhLkNhL2EudmlkZW9EdXJhdGlvbiwwLDEpOkRRKChhLnZhfHwwKS9hLnZpZGVvRHVyYXRpb24sMCwxKTowfTt2Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS5LYj4xJiZhLkpkIT09MH07CnlTPWZ1bmN0aW9uKGEpe3JldHVybihfLngoIndlYl9lbmFibGVfZGlic19pbXBsZW1lbnRhdGlvbiIpfHxfLngoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSkmJmEuSD8uZ2V0VmlkZW9EYXRhKGEucGxheWVyVHlwZSk/LmlzU2Vla2FibGV8fGEucGxheWVyVHlwZT09PTE/ITE6YS5iYT8uWmg/IWEuSD8uZ2V0UGxheWVyU3RhdGVPYmplY3QoYS5wbGF5ZXJUeXBlKS5pc0RvbVBhdXNlZDohMH07elM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5hdXRvbmF2VG9nZ2xlLHZrYSl9O0FTPWZ1bmN0aW9uKGEpe3JldHVybiBhPy5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cz8uYXV0b3BsYXk/LmF1dG9wbGF5fTtCUz1mdW5jdGlvbihhKXtyZXR1cm4gYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uYXV0b3BsYXk/LnBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyfTsKRVM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihDUyhhKT8ucGxheWVyQmFyLERTKX07RlM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5tYXJrZXJzTWFwPy5maW5kKGI9PmIua2V5PT09IkhFQVRTRUVLRVIiKT8udmFsdWU/LmhlYXRtYXAsd2thKX07Q1M9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5kZWNvcmF0ZWRQbGF5ZXJCYXJSZW5kZXJlcix4a2EpfTtHUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKENTKGEpPy5wbGF5aGVhZCx5a2EpfTt6a2E9ZnVuY3Rpb24oYSl7cmV0dXJuISFhPy5tYXJrZXJzTWFwPy5maW5kKGI9PlsiREVTQ1JJUFRJT05fQ0hBUFRFUlMiLCJBVVRPX0NIQVBURVJTIl0uaW5jbHVkZXMoYi5rZXkpKX07SlM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSFMoYSxiKXx8SVMoYSk/ITE6IWEuaXNEcmFnZ2luZyYmIXZTKGEpJiYhYS5zYiYmYS5MZiE9PSJvbiJ9OwpIUz1mdW5jdGlvbihhLGIpe3JldHVybiFhLmF1dG9uYXZFbmFibGVkfHxhLnhmfHwhYnx8YS5yY3x8YS5pc1BsYXlsaXN0JiZiPy5zZXRzPy5bMF0uYXV0b3BsYXlWaWRlbz8hMTp1UyhhKX07Q2thPWZ1bmN0aW9uKGEsYil7Yj1iPy5hY3Rpb25CYXJCdXR0b25zO3JldHVybiBfLkIoXy5CKGE/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmZ1bGxzY3JlZW5FbmdhZ2VtZW50LEFrYSk/LmFjdGlvbkJhcixCa2EpPy5hY3Rpb25CYXJCdXR0b25zfHxifHxbXX07TFM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihfLkIoYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZnVsbHNjcmVlblF1aWNrQWN0aW9uc0JhcixLUyk/LmZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludCxEa2EpfTsKTVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmVuZFNjcmVlbj8ud2F0Y2hOZXh0RW5kU2NyZWVuUmVuZGVyZXI/LnJlc3VsdHN8fFtdfTtOUz1mdW5jdGlvbihhLGIpe3JldHVybiBhP2EudmlkZW9EZXRhaWxzPy5lbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlcjpfLkIoYj8udmlkZW9EZXRhaWxzLEVrYSl9O1BTPWZ1bmN0aW9uKGEsYil7Yj1fLkIoYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LmluZm9QYW5lbCxPUyk7cmV0dXJuIF8uQihhPy5pbmZvUGFuZWwsT1MpfHxifTtJUz1mdW5jdGlvbihhKXtyZXR1cm4gYS5OYT8hMDphLkpmIT09MH07CkZrYT1mdW5jdGlvbih7ZWxlbWVudDphLHZlVHlwZTpiLExBOmM9bnVsbCxlbGVtZW50SW5kZXg6ZD0wLGNsaWVudFlvdVR1YmVEYXRhOmV9KXt2YXIgZj1fLmlxKCk7ZiE9PVFTJiYoUlMuY2xlYXIoKSxRUz1mKTtpZihhLnZpc3VhbEVsZW1lbnQmJlJTLmhhcyhhLnZpc3VhbEVsZW1lbnQpKXJldHVybiBudWxsO2lmKGMmJlJTLmhhcyhjKSlyZXR1cm4gYS52aXN1YWxFbGVtZW50PWMsbnVsbDtiPV8uRXgoXy5oeCgpLHt2ZVR5cGU6YixlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTplfSk7aWYoIWIpcmV0dXJuIG51bGw7YS52aXN1YWxFbGVtZW50PWI7UlMuYWRkKGIpO3JldHVybiBifTsKU1M9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPV8uTk4sZT1udWxsLGYsaCl7dmFyIGs9KCk9PntpZihiKXtjIGluc3RhbmNlb2YgRnVuY3Rpb24mJihjPWMoKSk7dmFyIGw9RmthKHtlbGVtZW50OmIsdmVUeXBlOmEsTEE6YyxjbGllbnRZb3VUdWJlRGF0YTpmfSk7bCYmKF8uSngoYix7ZGF0YTplLG9ic2VydmVyOl8ueSgpLnJlc29sdmUoXy5MeCksTmM6Xy5uRixlYjpfLm1GLGxheWVyOmIubGF5ZXJ9KSxkKGwpKX19O2g/aygpOl8uT0UoKCk9PntrKCl9KX07R2thPWZ1bmN0aW9uKGEpe1NTKDExMjM5NCxhLCgpPT5UUyxiPT57VFM9Yn0pfTsKVVM9ZnVuY3Rpb24oYSl7dmFyIGI9VFMsYz1fLmlxKDApO2lmKGMmJmIpe3ZhciBkPU1hdGgucm91bmQoYS52YSoxRTMpO2E9TWF0aC5yb3VuZChhLkNhKjFFMyk7ZD4yKiozMS0xfHxhPjIqKjMxLTF8fF8uVmkoXy5leCkodm9pZCAwLGMsYiwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyIse3NlZWtEYXRhOntzdGFydE1lZGlhVGltZU1zOlN0cmluZyhkKSxlbmRNZWRpYVRpbWVNczpTdHJpbmcoYSksc2Vla1NvdXJjZToiU0VFS19TT1VSQ0VfU0xJREVfT05fU0NSVUJCRVJfQkFSIn19LHZvaWQgMCl9fTtXUz1mdW5jdGlvbihhLGIsYyl7U1MoYixhLCgpPT5WU1tiXSxkPT57VlNbYl09ZDtfLkpPKGQpfSx2b2lkIDAsdm9pZCAwLGMpfTtYUz1mdW5jdGlvbihhKXsoYT1WU1thXSkmJl8ud0ooXy5oeCgpLGEpfTtIa2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5WdygwKSxjPV8uaXEoMCk7YyYmYiYmYSYmXy5WaShfLmJ4KSh2b2lkIDAsYyxiLGEpfTsKWVM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5pcSgwKTtiJiZhJiZfLnlKKGIsYSl9O1pTPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaXEoMCk7YiYmYSYmXy5WaShfLkFPKSh2b2lkIDAsYixhLHZvaWQgMCx2b2lkIDAsdm9pZCAwKX07JFM9ZnVuY3Rpb24oYSxiKXtpZighYS5iYT8uWmh8fCFhLkgpcmV0dXJuITE7YT1hLkguZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtyZXR1cm4gYS5pc0Vycm9yfHxiJiYhTVIoYik/ITE6YS5pc0N1ZWR8fGEuaXNEb21QYXVzZWR9O2NUPWZ1bmN0aW9uKGEsYil7YVQmJiFiPy5JY3x8YS5wbGF5ZXJTdGF0ZT09PTJ8fGEucGxheWVyU3RhdGU9PT0tMXx8dVMoYSl8fGEucGxheWVyU3RhdGU9PT01fHwoYj8uSWMmJmJUKCksYVQ9c2V0VGltZW91dCgoKT0+e2EuUyh7ZWE6ITF9KX0sYS5iYT8uTWw/PzJFMykpfTtiVD1mdW5jdGlvbigpe2FUJiYoY2xlYXJUaW1lb3V0KGFUKSxhVD12b2lkIDApfTtJa2E9ZnVuY3Rpb24oYSl7YVQ9YX07CmRUPWZ1bmN0aW9uKGEpe3JldHVybntpc0xpdmU6ITEsaXNMaXZlRHZyRW5hYmxlZDohMCxpc1BsYXlsaXN0OiExLHBsYXllclR5cGU6MSx5cTohMSx2aWRlb0lkOnZvaWQgMCxjYXB0aW9uc0VuYWJsZWQ6ITEseGM6ITEsdm9sdW1lOjAscmM6ITAsSmY6MCxSeDohMSxzYjohMSxXZDohMSxOYTohMSxpc0Z1bGxzY3JlZW46ITEsS2I6MCx5aDowLEpkOjAseGY6ITEsYXV0b25hdkVuYWJsZWQ6ITEsemY6ITEseWY6MCxZaDohMSxpc0RyYWdnaW5nOiExLENhOjAsUWM6ITEsZGo6MCxRbTowLHBsYXllclN0YXRlOmE/LmdldFBsYXllclN0YXRlKCk/Py0xLHZpZGVvRHVyYXRpb246MCx2YTowLE9uOiExLGplOnZvaWQgMCxwbGF5YmFja1JhdGU6MSxlYTohMSx5YjohMSxnZTohMSxMZjoib2ZmIixacjowLExwOjAsWXY6MH19O0prYT1mdW5jdGlvbihhKXthVCYmYlQoKTtJa2Eoc2V0VGltZW91dCgoKT0+e2EuUyh7ZWE6ITEseWI6ITF9KX0sMkUzKSl9OwpLa2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg/LmdldFBsYXllclN0YXRlKCk7IWN8fGM9PT1iLnBsYXllclN0YXRlfHxjIT09MSYmYyE9PTJ8fChjJiYoYz09PTI/Yi5lYT8oYi5TKHt5YjohMX0pLGJUKCkpOmIuUyh7ZWE6ITAseWI6ITF9KTpjPT09MSYmYi5lYSYmIWIuaXNEcmFnZ2luZyYmKGIueWI/SmthKGIpOmIuUyh7ZWE6ITEseWI6ITF9KSkpLGIuUyh7cGxheWVyU3RhdGU6Y30pKX19O0xrYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKSxkPWMuSCxlPWQ/LmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkO2UhPT1jLnZpZGVvSWQmJmI/LnR5cGU9PT0ibmV3ZGF0YSImJihiPWQ/LmdldER1cmF0aW9uKGI/LnBsYXllcnR5cGUpLGJUKCksYy5TKHt2aWRlb0R1cmF0aW9uOmIsdmE6MCx2aWRlb0lkOmUsZWE6ITEseWI6ITF9KSl9fTsKTWthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpLGQ9Yy5IO2lmKGQpe3ZhciBlPWQuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtfLngoIndlYl9zaG9ydHNfdXNlX3Byb2dyZXNzX3N0YXRlX2Zvcl9nYXBsZXNzIik/KGQ9ZC5nZXRQcm9ncmVzc1N0YXRlKGUpLGQ9ZC5zZWVrYWJsZUVuZC1kLnNlZWthYmxlU3RhcnQpOmQ9ZC5nZXREdXJhdGlvbihlKTtjLlMoe3ZhOmIsdmlkZW9EdXJhdGlvbjpkfSl9fX07Z1Q9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm5bXTthPWEubWFya2Vyc01hcD8uZmluZChjPT5bIkRFU0NSSVBUSU9OX0NIQVBURVJTIiwiQVVUT19DSEFQVEVSUyJdLmluY2x1ZGVzKGMua2V5KSk/LnZhbHVlPy5jaGFwdGVyc3x8W107KGEubGVuZ3RoPT09MD8wOl8uQihhWzBdLGVUKT8udGltZVJhbmdlU3RhcnRNaWxsaXMhPT0wKSYmIWI/Lm54JiYoYT1bZlQoKSwuLi5hXSk7cmV0dXJuIGF9O2ZUPWZ1bmN0aW9uKCl7cmV0dXJue2NoYXB0ZXJSZW5kZXJlcjp7dGltZVJhbmdlU3RhcnRNaWxsaXM6MH19fTsKaFQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS50aW1lUmFuZ2VTdGFydE1pbGxpc3x8MDowfTtrVD1mdW5jdGlvbihhLGIpe3JldHVybiBnVChiKS5maW5kKChjLGQsZSk9PmlUKGpUKGEpLGUsZCkuTGQ9PT0iYWN0aXZlIil9O2xUPWZ1bmN0aW9uKGEsYil7aWYoYS5pc0RyYWdnaW5nJiZiKXJldHVybiBhPU5rYShhLGIpLGE9PT0tMT9mVCgpOmdUKGIpW2FdfTtOa2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5pc0RyYWdnaW5nJiZiP2dUKGIse254OiEwfSkuZmluZEluZGV4KChjLGQsZSk9PmlUKGpUKGEpLGUsZCkuQmcpOi0xfTttVD1mdW5jdGlvbihhKXthPV8uQihhLGVUKTthPy5vbkFjdGl2ZUNvbW1hbmQmJl8uYUUoYS5vbkFjdGl2ZUNvbW1hbmQpfTtqVD1mdW5jdGlvbihhKXtyZXR1cm57Li4uYSx2aWRlb0R1cmF0aW9uOmEudmlkZW9EdXJhdGlvbioxRTMsdmE6YS52YSoxRTMsQ2E6YS5DYSoxRTN9fTsKaVQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWhUKF8uQihiW2NdLGVUKSk7Yj1oVChfLkIoYltjKzFdLGVUKSl8fGEudmlkZW9EdXJhdGlvbjtjPWEuaXNEcmFnZ2luZzt2YXIgZTtpZihlPWEuaXNEcmFnZ2luZyllPWEuQ2EsZT1lIT09bnVsbCYmZT49ZCYmZTxiO3ZhciBmPWEudmE7cmV0dXJuIGYhPT1udWxsJiZmPj1kJiZmPGI/e0xkOiJhY3RpdmUiLGJtOmMsQmc6ZX06YS52YTxkP3tMZDoicGVuZGluZyIsYm06YyxCZzplfTp7TGQ6InNlZW4iLGJtOmMsQmc6ZX19O25UPWZ1bmN0aW9uKGEsYixjKXtpZihpVChhLGIsYykuTGQhPT0iYWN0aXZlIilyZXR1cm4gMDt2YXIgZD1oVChfLkIoYltjXSxlVCkpO3JldHVybihhLnZhLWQpLygoaFQoXy5CKGJbYysxXSxlVCkpfHxhLnZpZGVvRHVyYXRpb24pLWQpfTtvVD1mdW5jdGlvbihhLGI9MCl7cmV0dXJuIGEuTGQ9PT0ic2VlbiJ8fGI+MH07CnBUPWZ1bmN0aW9uKGEsYixjKXtiPWEvYi5acjtjPWdUKGMpO2lmKCFjLmxlbmd0aClyZXR1cm4tYio3Mjt2YXIgZD0wO2ZvcihsZXQgZSBvZiBjKWlmKGhUKF8uQihlLGVUKSkvMUUzPGEpZCsrO2Vsc2UgYnJlYWs7cmV0dXJuLShiKjcyKS1kKjU2fTtPa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO2EuQigpO2Quc3RvcFByb3BhZ2F0aW9uKCk7ZD1xVChhLGUsZC5jbGllbnRYKSplLnZpZGVvRHVyYXRpb247ZS5TKHt2YTpkfSk7ZS5wbGF5ZXJTdGF0ZT09PTJ8fGYuRm4/LigpO2EuRC52KGQsZSw3KX19O3JUPWZ1bmN0aW9uKGEpe2E9YS50b3VjaGVzWzBdO3JldHVybnt4OmEuY2xpZW50WCx5OmEuY2xpZW50WX19O1BrYT1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9clQoYyksZT1iKCk7YS5zdGFydFBvc2l0aW9ufHwoYS5zdGFydFBvc2l0aW9uPWQsYS5CKCksYS5qPWUuZWEsYy5zdG9wUHJvcGFnYXRpb24oKSl9fTsKUWthPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD17eDpjLmNsaWVudFgseTpjLmNsaWVudFl9LGU9YigpO2Euc3RhcnRQb3NpdGlvbnx8KGEuc3RhcnRQb3NpdGlvbj1kLGEuQigpLGEuaj1lLmVhLGMuc3RvcFByb3BhZ2F0aW9uKCkpfX07CnRUPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXthLnN0YXJ0UG9zaXRpb24mJihmJiZlLmlqJiZhLnN0YXJ0UG9zaXRpb24mJiFhLm8mJk1hdGguYWJzKGMueS1hLnN0YXJ0UG9zaXRpb24ueSk+TWF0aC5hYnMoYy54LWEuc3RhcnRQb3NpdGlvbi54KT9zVChhLGQsZSk6KGIucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLGQudmlkZW9EdXJhdGlvbiYmKGEuc3RhcnRQb3NpdGlvbiYmIWEubyYmKGEubz1NYXRoLmFicyhjLngtYS5zdGFydFBvc2l0aW9uLngpPj0xKSxlLktmJiYoYS5zdGFydFBvc2l0aW9uJiYoYS52PS0oYy55LWEuc3RhcnRQb3NpdGlvbi55KT49NjApLCFhLnN0YXJ0UG9zaXRpb258fGMueT49YS5zdGFydFBvc2l0aW9uLnl8fChkLlMoe0xmOiJkcmFnZ2luZyIsTHA6cFQoZC5DYSxkLGUuUmEpfSksYS5VKGQuQ2EpLGEuWihhLnN0YXJ0UG9zaXRpb24ueSxjLnksZCkpKSxhLm8mJihiPXFUKGEsZCxjLngpLGEudiYmKGQuSD8ucGF1c2VWaWRlbygpLGQuUyh7TGY6Im9uIiwKWXY6ZC5DYSxMcDpwVChiKmQudmlkZW9EdXJhdGlvbixkLGUuUmEpfSkpLGUuS2YmJighZS5LZnx8YS5LKGQpPDY4KXx8KGQuaXNEcmFnZ2luZ3x8ZC50YS5rej8uKCksZC5TKHtDYTpiKmQudmlkZW9EdXJhdGlvbixlYTohMCxpc0RyYWdnaW5nOiEwLHliOmEuan0pKSxlLllvPy4oKSkpKSl9O1JrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7dFQoYSxkLHJUKGQpLGUsZiwhMCk7aWYoZi5vblRvdWNoTW92ZSlmLm9uVG91Y2hNb3ZlKGUpfX07dlQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYi5idXR0b25zIT09MSl7aWYoYi5tb3ZlbWVudFh8fGIubW92ZW1lbnRZKWIucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLGE9cVQoYSxjLGIuY2xpZW50WCksYy5RY3x8Yy50YS5rej8uKCksYy5TKHtRYzohMCxkajphKmMudmlkZW9EdXJhdGlvbn0pfWVsc2UgdVQoYyksdFQoYSxiLHt4OmIuY2xpZW50WCx5OmIuY2xpZW50WX0sYyxkLCExKX07ClNrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2VChhLGQsYigpLGMoKSl9fTtUa2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7dVQoYil9fTtzVD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jLktmJiZiLkxmIT09Im9mZiI7Yi5pc0RyYWdnaW5nfHxlPyhkPXtpc0RyYWdnaW5nOiExLHZhOmIuQ2EsZWE6YS5qfSxjLktmJiZiLkxmIT09Im9uIiYmKGEuTSgpLGQuTGY9Im9mZiIpLFVTKGIpLGIuUyhkKSxhLkQudihiLkNhLGIsNyksYy5JbiYmYi5yYyYmYi5IPy51bk11dGUoKSx3VChhKSk6KF8ueCgibWF3cGNfdG91Y2hfZW5kX2hhbmRsZXJfYnVnX2ZpeF9raWxsc3dpdGNoIik/Yi5TKHtlYTohYi5lYX0pOmIuUyh7ZWE6ITB9KSxjLkZuPy4oKSx3VChhKSxfLngoIm1hd3BjX3RvdWNoX2VuZF9oYW5kbGVyX2J1Z19maXhfa2lsbHN3aXRjaCIpfHxkPy5zdG9wUHJvcGFnYXRpb24oKSl9OwpVa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO3NUKGEsZSxmLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9fTtWa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO3NUKGEsZSxmLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9fTtXa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57c1QoYSxiKCksYygpLGQpfX07WGthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57Yi5rZXlDb2RlPT09Mzl8fGIua2V5Q29kZT09PTM4P2EoKT8uSD8uc2Vla0J5KDUsdm9pZCAwLHZvaWQgMCw3Mik6KGIua2V5Q29kZT09PTM3fHxiLmtleUNvZGU9PT00MCkmJmEoKT8uSD8uc2Vla0J5KC01LHZvaWQgMCx2b2lkIDAsNzEpfX07WWthPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+eyFjKCkuZGlzYWJsZVNjcnViYmluZyYmYS5zdGFydFBvc2l0aW9uJiZ2VChhLGQsYigpLGMoKSl9fTsKeFQ9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57aWYoIWMoKS5kaXNhYmxlU2NydWJiaW5nKWlmKGEuc3RhcnRQb3NpdGlvbil7dmFyIGU9YigpLGY9YygpO3NUKGEsYigpLGMoKSxkKTtpZihmLm9uVG91Y2hFbmQpZi5vblRvdWNoRW5kKGUpfWVsc2UgYigpLlMoe2lzRHJhZ2dpbmc6ITF9KX19O3VUPWZ1bmN0aW9uKGEpe2EuUWMmJmEuUyh7UWM6ITEsZGo6MH0pfTtxVD1mdW5jdGlvbihhLGIsYyl7YT1hLkkoYik7cmV0dXJuIERRKDAsKGMtYS5sZWZ0KS9hLndpZHRoLDEpfTt3VD1mdW5jdGlvbihhKXthLnN0YXJ0UG9zaXRpb249bnVsbDthLm89ITE7YS52PSExO2Euaj0hMX07eVQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS53aWR0aC9hLmNvbHVtbnM6MH07elQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS5oZWlnaHQvYS5yb3dzOjB9O0FUPWZ1bmN0aW9uKGEpe3JldHVybiBhLlFjP2EuZGo6YS5DYX07CkJUPWZ1bmN0aW9uKGEsYil7YT1hLkNhKjFFMztyZXR1cm4gYT49Yi52aXNpYmxlVGltZVJhbmdlU3RhcnRNaWxsaXMmJmE8PWIudmlzaWJsZVRpbWVSYW5nZUVuZE1pbGxpc307Q1Q9ZnVuY3Rpb24oYSl7aWYoYT09PXZvaWQgMHx8TnVtYmVyLmlzTmFOKGEpKXJldHVybiItLTotLSI7dmFyIGI9TWF0aC5hYnMoTWF0aC5mbG9vcihhKSksYz1NYXRoLmZsb29yKGIvODY0MDApLGQ9TWF0aC5mbG9vcihiJTg2NDAwLzM2MDApLGU9TWF0aC5mbG9vcihiJTM2MDAvNjApO2I9TWF0aC5mbG9vcihiJTYwKTt2YXIgZj0iIjtjPjAmJihmKz1gJHtjfTpgLGQ8MTAmJihmKz0iMCIpKTtpZihjPjB8fGQ+MClmKz1gJHtkfTpgLGU8MTAmJihmKz0iMCIpO2YrPWAke2V9OmA7YjwxMCYmKGYrPSIwIik7Zis9YjtyZXR1cm4gYT49MD9mOmAtJHtmfWB9OwpEVD1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9QVQoYSgpKTt2YXIgZD1iKCk7dmFyIGU9YSgpLkg7aWYoZSYmZS5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMoKSE9PTApe3ZhciBmPWUuZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgoYywxKTtmIT09LTE/ZD1lLmdldFN0b3J5Ym9hcmRGcmFtZShmLDEpOihjPWUuZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgoYywwKSxlPWUuZ2V0U3Rvcnlib2FyZEZyYW1lKGMsMCksZCYmZSYmKGUuaGVpZ2h0Kj0zLGUud2lkdGgqPTMpLGQ9ZSl9ZWxzZSBkPW51bGw7aWYoIWQpcmV0dXJuIG51bGw7YigpJiYoZC53aWR0aD05MCpkLmNvbHVtbnMsZC5oZWlnaHQ9MTYwKmQucm93cyk7cmV0dXJuIGR9fTsKJGthPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBhLk5hfHxhLmlzTGl2ZT9kOmI+MT9FVChkKTpzZXRUaW1lb3V0KCgpPT57YygpO25hdmlnYXRvcj8udmlicmF0ZSYmbmF2aWdhdG9yLnZpYnJhdGUoWmthKX0sXy5zaigic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyIsNTAwKSl9O0VUPWZ1bmN0aW9uKGEpe2EhPT12b2lkIDAmJmNsZWFyVGltZW91dChhKX07CkhUPWZ1bmN0aW9uKGEsYil7YS5OYXx8YS5pc0xpdmV8fChiPjEmJkZUKGEpLGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgicHJldmVudC1oaWdobGlnaHRzIiksR1Q9c2V0VGltZW91dCgoKT0+e2EuSD8ucGxheVZpZGVvKCk7YlQoKTthLlMoe3NiOiEwLGVhOiEwfSk7dmFyIGM9Xy5zaigic3BlZWRtYXN0ZXJfcGxheWJhY2tfcmF0ZSIsMiksZD1hLkg7ZD8uc2V0UGxheWJhY2tSYXRlPy4oYyk7Xy54KCJtd2ViX2xvbmdfcHJlc3Nfc3BlZWR1cF92aWJyYXRpb24iKSYmZD8uZ2V0UGxheWJhY2tSYXRlKCk9PT1jJiZuYXZpZ2F0b3I/LnZpYnJhdGUmJm5hdmlnYXRvci52aWJyYXRlKGFsYSl9LF8uc2ooInNwZWVkbWFzdGVyX3RvdWNoX2FjdGl2YXRpb25fbXMiLDUwMCkpKX07CklUPWZ1bmN0aW9uKGEsYixjKXtjLnNiJiZhLnByZXZlbnREZWZhdWx0KCk7YT1iLmxrO2I9Yi5PZDtNYXRoLnNxcnQoYSphK2IqYik+Xy5zaigic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIiwxMCkmJiFjLnNiJiZGVChjKX07RlQ9ZnVuY3Rpb24oYSl7ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCJwcmV2ZW50LWhpZ2hsaWdodHMiKTtHVCYmY2xlYXJUaW1lb3V0KEdUKTthLnNiJiYoYS5TKHtzYjohMSxlYTp1UyhhKX0pLGE9YS5ILHR5cGVvZiBhPy5zZXRQbGF5YmFja1JhdGU9PT0iZnVuY3Rpb24iP2Euc2V0UGxheWJhY2tSYXRlKDEpOl8uV2koRXJyb3IoIiRkIikpKX07CmNsYT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmYSl7dmFyIGQ9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihiPWJsYShiLGQud2lkdGgsZC5oZWlnaHQpKWM/LlpBJiYoYz1uZXcgSW1hZ2UsYy5vbmxvYWQ9KCk9PntpamEoKX0sYy5zcmM9YixfLkl6KCJmdHIiKSksYS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9YHVybCgke2J9KWB9fTtibGE9ZnVuY3Rpb24oYSxiLGMpe2lmKChhPWEudGh1bWJuYWlscykmJmEubGVuZ3RoIT09MCl7dmFyIGQ9d2luZG93LmRldmljZVBpeGVsUmF0aW8+MT93aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzoxO2IqPWQ7Yyo9ZDtpZihiPjY0MHx8Yz40ODApcmV0dXJuIGEuYXQoLTEpLnVybDtpZihiPjMyMHx8Yz4xODApe3ZhciBlO2Q9Yj1jPXZvaWQgMDtmb3IoZSBvZiBhKSFkJiZlLndpZHRoPj0zMjA/ZD1lLnVybDohYiYmZS53aWR0aD49NDgwP2I9ZS51cmw6IWMmJmUud2lkdGg+PTY0MCYmKGM9ZS51cmwpO2lmKGU9Y3x8Ynx8ZClyZXR1cm4gZX1yZXR1cm4gYVswXS51cmx9fTsKSlQ9ZnVuY3Rpb24oYSl7KGE9YT8uaGVhZGVyPy5wbGF5bGlzdEhlYWRlclJlbmRlcmVyKT8oYT1fLkIoYS5jaW5lbWF0aWNDb250YWluZXIsZGxhKT8uYmFja2dyb3VuZEltYWdlQ29uZmlnPy50aHVtYm5haWw/LnRodW1ibmFpbHMsYT1hPy5sZW5ndGg/YVthLmxlbmd0aC0xXS51cmw6dm9pZCAwLGE9IWEpOmE9ITE7cmV0dXJuIGF9O0tUPWZ1bmN0aW9uKGEpe2E9YXx8Xy5YRD8ucmVzcG9uc2U/LnJlc3BvbnNlO3JldHVybiBhPy5oZWFkZXI/LnBhZ2VIZWFkZXJSZW5kZXJlcn07T1Q9ZnVuY3Rpb24oKXt2YXIgYT1fLlhEPy5yZXNwb25zZT8ucmVzcG9uc2U7cmV0dXJuISFLVCgpPy50aXRsZUFuaW1hdGlvbnx8SlQoYSl9OwpQVD1mdW5jdGlvbigpe3ZhciBhPV8uWEQ/LnJlc3BvbnNlPy5yZXNwb25zZSxiPUtUKGEpO2lmKGIpYT1iLnRvcEJhckFuaW1hdGlvbj8hMDohMTtlbHNle2lmKGI9WFEoKSYmIV8uVk0oKSliPV8uWmIod2luZG93LmxvY2F0aW9uLmhyZWYsImxpc3QiKSxiPSEoYj8uc3RhcnRzV2l0aCgiRUwiKXx8Yj8uc3RhcnRzV2l0aCgiU0MiKSk7YT1iJiYhSlQoYSl9cmV0dXJuIGF9OwplbGE9ZnVuY3Rpb24oKXtpZihfLncoIk1XRUJfU1RJQ0tZX1BMQVlFUiIsITEpJiZRVCgpJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjc2VhcmNoaW5nIiYmXy5VTSgpIT09InNlYXJjaCIpe3ZhciBhPXdpbmRvdy5zY3JvbGxZLGI7KGI9Xy5WTSgpKXx8KGI9Xy5VTSgpPT09ImNsaXAiKTtpZihiKSFfLlRFKCkmJiFIUSgpfHwoXy5GZWEub2Zmc2V0SGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodCouNj9fLlR0KF8uRUosInN0aWNreS1wbGF5ZXIiKTpfLlN0KF8uRUosInN0aWNreS1wbGF5ZXIiKSksUlQoImluIiksU1Q9YTtlbHNle2I9U1Q+YTt2YXIgYz1hPj00OCxkPWE8MTI2O1NUPWE7Yj8oYz9SVCgiZmlsbGVkIik6UlQoImluIiksSVEoKSYmZD9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItaW4iKSk6Yz9QVCgpfHxPVCgpP1JUKCJmaWxsZWQiKTooUlQoIm91dCIpLElRKCkmJmQ/VFQoImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKTpUVCgiZmlsdGVyLWNoaXAtYmFyLW91dCIpKToKKFJUKCJpbiIpLElRKCk/VFQoImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKTpUVCgiZmlsdGVyLWNoaXAtYmFyLWluIikpfX12YXIgZTtfLlZNKCkmJihlPVFUKCkpIT1udWxsJiYoYT1lLnNldEF0dHJpYnV0ZSxiPV8uTUUoKT8xOjI0LF8uRE4ubGVuZ3RoPjAmJiFfLnhOKCk/KGM9TnVtYmVyKGRvY3VtZW50LmJvZHkuc3R5bGUudG9wLnJlcGxhY2UoLyhweCl8LS9nLCIiKSksYj0haXNOYU4oYykmJmM8Yik6Yj1TVDxiLGEuY2FsbChlLCJhbWJpZW50LXRvcGJhciIsYi50b1N0cmluZygpKSl9O1FUPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoZWFkZXItYmFyIi50b1N0cmluZygpKX07ClRUPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVU0oKT09PSJob21lInx8SVEoKT9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsdGVyLWNoaXAtYmFyIi50b1N0cmluZygpKTpudWxsO2ImJihfLlR0KGIsImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKSxfLlR0KGIsImZpbHRlci1jaGlwLWJhci1pbiIpLF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLW91dCIpLF8uU3QoYixhKSl9OwpSVD1mdW5jdGlvbihhKXt2YXIgYj1RVCgpO2lmKGIpe2xldCBjPV8uYUwoe1sic3RpY2t5LXBsYXllciJdOl8udygiTVdFQl9TVElDS1lfUExBWUVSIiwhMSksWyJpcy1hdXRvbW90aXZlIl06SFEoKX0pO18uV00oKT9jPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LWJhY2tncm91bmQiLCJzaG9ydHMtdG9wYmFyIik6UFQoKT9jPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LWJhY2tncm91bmQiKTpPVCgpJiYoYz1fLmFMKGMsInRvcGJhci10cmFuc3BhcmVudC10aXRsZSIpKTtiLmNsYXNzTmFtZT1fLmFMKGEsYyl9fTtmbGE9ZnVuY3Rpb24oKXtyZXR1cm4gVVR9O2hsYT1mdW5jdGlvbihhLGIpe2ImJihWVD0hMCk7YT1VVD1hO2I9SlIoKTthIT09YiYmKGI9Xy5IeigpLF8uRHooMTQxLCEwKSxfLkR6KDE0MCwhYSksYi5zYXZlKCkpO2dsYSgpfTtnbGE9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KCgpPT57Xy5YTSgicGxheWVyLWF1dG9uYXYtcGF1c2UiLHtwYXVzZWQ6ITF9KX0pfTsKaWxhPWZ1bmN0aW9uKCl7cmV0dXJuIFZUfTtXVD1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1FKCk/YiYmYT8udmlkZW9EdXJhdGlvbj4zMDpiJiYhYS5lYX07WFQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYiYmYS5lYSYmIV8uTUUoKX07amxhPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYj1iPz9hd2FpdCBfLkxIKCkpYi51bk11dGUoITApLGIuc2V0Vm9sdW1lKGEsITApfTtaVD1mdW5jdGlvbihhLGIpe2EmJihhLnZhbHVlPWAke2J9YCxhLnN0eWxlLnNldFByb3BlcnR5KCItLWdyYWRpZW50LXBlcmNlbnQiLGAke2J9JWApKX07a2xhPWZ1bmN0aW9uKGEpe3JldHVybiBfLngoInBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0Iik/Xy5rRygkVCk6YX07YVU9ZnVuY3Rpb24oYSl7cmV0dXJuYGh0dHBzOi8vbS55b3V0dWJlLmNvbS9zdGF0aWMvbG90dGllLyR7YX0uanNvbmB9OwpiVT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiYW5pbWF0ZWRfbGlrZV9pY29uIjpyZXR1cm57bmFtZToiYW5pbWF0ZWRfbGlrZV9pY29uX3YyX2RhcmsiLHBhdGg6YVUoImFuaW1hdGVkX2xpa2VfaWNvbl92Ml9kYXJrIiksbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImFuaW1hdGVkLWxpa2UtaWNvbiJ9fTtjYXNlICJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiI6Y2FzZSAibGlrZV90YXBfZmVlZGJhY2tfc2hvcnRzX2hlYXJ0IjpjYXNlICJwYXVzZV85NmRwX2FuaW1hdGlvbiI6Y2FzZSAicGxheV85NmRwX2FuaW1hdGlvbiI6Y2FzZSAic2Vla185NmRwX2FuaW1hdGlvbiI6cmV0dXJue25hbWU6YSxwYXRoOmFVKGEpLGxvb3A6ITEsYXV0b3BsYXk6ITF9O2RlZmF1bHQ6cmV0dXJue25hbWU6IiIscGF0aDoiIn19fTsKY1U9ZnVuY3Rpb24oYSl7Xy5MTygpLnRoZW4oYj0+e2Iuc3RvcCgibGlrZV8yNDBkcF9hbmltYXRpb25fdjIiKTtiLnN0b3AoImxpa2VfdGFwX2ZlZWRiYWNrX3Nob3J0c19oZWFydCIpO2Iuc3RvcCgicGxheV85NmRwX2FuaW1hdGlvbiIpO2Iuc3RvcCgicGF1c2VfOTZkcF9hbmltYXRpb24iKTtiLnBsYXkoYSl9KX07CmxsYT1mdW5jdGlvbihhKXt2YXIgYj1fLkh6KCk7SFEoKXx8YS5xdnx8YS5zdXBwcmVzc0FmdGVyQ2xvc2luZyYmTnVtYmVyKGIuZ2V0KCJzdXBwcmVzc19hcHBfdXBzZWxsIikpJiYhXy54KCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uIil8fChkVXx8KGRVPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKGRVLGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCkpLF8uSk4oZFUsbnVsbCwhMCksYSE9PWVVJiYoZlU/LigpLGZVPV8ueEYoZFUsKCk9PntfLm9GKCgpPT57Xy5NTygiLll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdCAuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50cyIpfSk7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTY3JpbUNvbnRhaW5lciJ9LF8uSyhfLlpOLHtsYWJlbDpfLiROLkNMT1NFfSkpLF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lciJ9LApfLksoZ1Use2RhdGE6YX0pKSl9LCJkZCIpKSxlVT1hKX07aFU9ZnVuY3Rpb24oKXtyZXR1cm57c3R5bGU6Im92ZXJsYXktZGFyayIsaWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHNpemU6IkwiLHNpemU6IlMiLHR5cGU6InRleHQiLHN0eWxlOiJvdmVybGF5In19O25sYT1mdW5jdGlvbihhKXt2YXIgYj1fLkIoYS5zaG9wcGluZ1Vwc2VsbCxtbGEpO2ImJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntsbGEoYil9KX07b2xhPWZ1bmN0aW9uKGEpe2E/LmxvZ2dpbmdEaXJlY3RpdmVzPy50cmFja2luZ1BhcmFtcyYmXy5seChfLmh4KCksYS5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtcyl9O2lVPWZ1bmN0aW9uKGEpe3JldHVybiBhfHxfLlZNKCl8fF8uVU0oKT09PSJob21lIn07alU9ZnVuY3Rpb24oYSxiKXtpZihiKXtpZihhJiZiLmRhcmtUaGVtZUxvZ28/Lmljb24/Lmljb25UeXBlKXJldHVybiBiLmRhcmtUaGVtZUxvZ28uaWNvbi5pY29uVHlwZTtpZihiLmxpZ2h0VGhlbWVMb2dvPy5pY29uPy5pY29uVHlwZSlyZXR1cm4gYi5saWdodFRoZW1lTG9nby5pY29uLmljb25UeXBlfX07CmxVPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSDtiJiYoa1U9KGE9a1UpPygoYj1OUShiKSk/Yi5kaXNwbGF5TmFtZXx8IiI6bnVsbCl8fGE6UFEoYikpO3JldHVybiBrVX07bVU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSgpLnBsYXllclN0YXRlPT09MCYmISFiJiYhYSgpLnhmJiZhKCkuYXV0b25hdkVuYWJsZWR9O25VPWZ1bmN0aW9uKGEsYil7Yj1NUyhiKTtyZXR1cm4gYSgpLnBsYXllclN0YXRlPT09MCYmYi5sZW5ndGg+MH07b1U9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuSD8uaXNSZWFkeT8uKCkmJmEuSD8uaXNBdExpdmVIZWFkKCl9O3BVPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udHJvbC1vdmVybGF5Iil9O3BsYT1mdW5jdGlvbihhKXthIT09LTEmJl8ueCgicGxheWVyX2NvbnRyb2xzX2xvZ19jcmVhdGlvbl9lbmFibGVkIikmJnBVKCkmJihfLkFxKCJwY3VfY3MiLGEpLF8uQXEoInBjdV9jZSIpKX07CnFVPWZ1bmN0aW9uKGEpe2lmKCFhfHxhLmdldFZpZGVvRGF0YSlyZXR1cm4gYX07cWxhPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIG9mIE9iamVjdC5rZXlzKGEpKWlmKGFbY10hPT1iW2NdKXJldHVybiExO3JldHVybiEwfTtyVT1mdW5jdGlvbigpe3JldHVybiBfLncoIk1XRUJfU1VQUE9SVFNfRE9VQkxFX1RBUF9UT19TRUVLIil9O3JsYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPGIvMz8tMTphPjIqYi8zPzE6MH07c1U9ZnVuY3Rpb24oYSxiLGMpe3JVKCkmJnZTKHsuLi5jLEpkOmIsS2I6YX0pJiYoKGE9Yy5IKSYmYS5zZWVrQnkoTWF0aC5zaWduKGIpKjEwLHZvaWQgMCx2b2lkIDAsNCksYy5wbGF5ZXJTdGF0ZT09PTJ8fGMuSD8ucGF1c2VWaWRlbygpLGI9PT0tMT9YUygyODIzOSk6WFMoMjgyNDApKX07CnVVPWZ1bmN0aW9uKGEsYil7clUoKSYmKGNsZWFyVGltZW91dCh0VSksdFU9c2V0VGltZW91dCgoKT0+e3ZhciBjPXtLYjowLEpkOjAseWg6MH07aWYodlMoYSkpe3ZhciBkPXVTKGEpfHxhLkNhPj1hLnZpZGVvRHVyYXRpb247Yy5lYT1hLnBsYXllclN0YXRlPT09Mnx8YS5wbGF5ZXJTdGF0ZT09PTN8fGQ7Yy52YT1hLkNhO2MueWI9ITE7YS5IPy5pc1JlYWR5Py4oKSYmKGEuSC5zZWVrVG8oYS5DYSksZD17Li4uYSwuLi5jfSwoZC5pc0xpdmV8fGQudmE8ZC52aWRlb0R1cmF0aW9uKSYmZC5PbiYmZC5IPy5nZXRQbGF5ZXJTdGF0ZSgpIT09MSYmZC5IPy5wbGF5VmlkZW8oKSl9ZWxzZSBhLktiPT09MSYmYj8uKCk7YS5TKGMpO2NsZWFyVGltZW91dCh0VSl9LGEuYmE/LnZ2Pz82MDApKX07c2xhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHJVKCkmJmIhPT0wP2EuSmQhPT1iPzE6KDAsXy5lbCkoKS1hLnloPjM1MD9hLktiOmEuS2IrMTowfTsKdWxhPWFzeW5jIGZ1bmN0aW9uKCl7dmFyIGE9YXdhaXQgdlUuamMoKTthJiYoYT1hd2FpdCBhLmdldCgiYXV0by16b29tLWVuYWJsZWQiKSx0bGEodHlwZW9mIGE9PT0iYm9vbGVhbiI/YTohMCkpfTt3VT1mdW5jdGlvbihhKXt2YXIgYj1hLnRvdWNoZXNbMF0sYz1hLnRvdWNoZXNbMV07YT1iLnBhZ2VYLWMucGFnZVg7Yj1iLnBhZ2VZLWMucGFnZVk7cmV0dXJuIE1hdGguc3FydChhKmErYipiKX07CklVPWZ1bmN0aW9uKGEsYil7eFUoYSkmJihhLnN0b3BQcm9wYWdhdGlvbigpLGE9eVUtelUsQVV8fChhPTApLEZUKGIpLF8ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJihCVT0wLENVKCkmJkRVKCExKSksYi5iYT8uTWl8fChiLk5hfHxiLldkfHxiLnNifHxfLlRFKCl8fF8uTUUoKSYmIWIuaXNGdWxsc2NyZWVufHwoYi5pc0Z1bGxzY3JlZW4mJihhKj0tMSksKGE8LTEwMHx8TWF0aC5hYnMoYSk+MTAwJiZiLmlzRnVsbHNjcmVlbikmJmIudGEudG9nZ2xlRnVsbHNjcmVlbih7ZHM6ITB9KSxFVSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNmb3JtOiJzY2FsZSgxKSIsdHJhbnNpdGlvbjoiMC4ycyBlYXNlIn0pKSxiLldkJiYoKGE9TWF0aC5hYnMoYi5KZik+NTA/IWIuTmE6Yi5OYSl8fGNUKGIpLGIuUyh7V2Q6ITEsTmE6YSxKZjowfSkpKSxGVT0oMCxfLmVsKSgpLHlVPUdVPXpVPUhVPTAsQVU9ITEpfTsKeFU9ZnVuY3Rpb24oYSl7dmFyIGI9W2EudGFyZ2V0Py5nZXRBdHRyaWJ1dGUoImlkIiksLi4uKGEudGFyZ2V0Py5jbGFzc0xpc3R8fFtdKV07cmV0dXJuISEicGxheWVyLWNvbnRyb2wtb3ZlcmxheSBwbGF5ZXItY29udHJvbHMtbWlkZGxlIHBsYXllci1jb250cm9scy1ib3R0b20gZnVsbHNjcmVlbi1jb250cm9scyBwbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZCB0b3AtZnVsbC1zY3JlZW4tY29udHJvbHMiLnNwbGl0KCIgIikuZmluZChjPT5iLmZpbmQoZD0+ZD09PWMpKX07CktVPWZ1bmN0aW9uKGEsYil7aWYoYi5OYSlKVShhKSYmYi5TKHtOYTohMX0pO2Vsc2UgaWYoYi5wbGF5ZXJTdGF0ZSE9PS0xJiZiLnBsYXllclN0YXRlIT09NSlpZihKVShhKSl7dmFyIGM9V1EoYi5IKTtiLlMoe2VhOiEwLHliOiEwLGplOmN9KX1lbHNle3ZhciBkPXJsYShhLmNsaWVudFgsYi5UYy5vZmZzZXRXaWR0aCk7Yz1zbGEoYixkKTt2YXIgZT1jPmIuS2I7bGV0IGY9Yi5DYTtlJiYoZj1jPDI/Yi52YTpEUShiLkNhKyhkPT09LTE/LTE6MSkqMTAsMCxiLnZpZGVvRHVyYXRpb24pLHNVKGMsZCxiKSk7IWIuZWEmJmM8PTE/Y1QoYix7SWM6ITB9KTpiVCgpO2E9Yi5iYT8uenYmJmIuZWEmJiFKVShhKTtkPXtlYTp2bGEoey4uLmIsS2I6Y30pfHxhLFloOiExLEpkOmQsQ2E6ZixLYjpjLHliOiEwLHloOigwLF8uZWwpKCl9O2U/dVUoey4uLmIsS2I6YyxDYTpmfSxhPygpPT57aWYoYi5IPy5pc1JlYWR5Py4oKSl7bGV0IGg9V1EoYi5IKTtiLlMoe2plOmh9KX19OnZvaWQgMCk6YSYmYi5IJiYKKGU9V1EoYi5IKSxiLlMoe2plOmV9KSk7Yz09PTEmJihkLk9uPWIucGxheWVyU3RhdGU9PT0xfHxiLnBsYXllclN0YXRlPT09Myk7Yi5TKGQpfX07SlU9ZnVuY3Rpb24oYSl7cmV0dXJuIV8ueCgibXdlYl9pb3NfZGV0ZWN0X2Zha2VfY2xpY2tfa2lsbHN3aXRjaCIpJiZfLkdLJiZGVT4wJiYoMCxfLmVsKSgpLUZVPDEwMD8hMTp0eXBlb2YgUG9pbnRlckV2ZW50IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBQb2ludGVyRXZlbnQmJmEucG9pbnRlclR5cGU9PT0ibW91c2UifTt2bGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHVTKGEpfHxhLnBsYXllclN0YXRlPT09M3x8YS5LYj4xPyEwOiFhLmVhfTt3bGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz17dm9sdW1lOmIuSD8uZ2V0Vm9sdW1lKCk/PzAscmM6ISFiLkg/LmlzTXV0ZWQoKX07Yi5TKGMpfX07CnhsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSDtpZihjKXt2YXIgZD17eGM6ISFjLmdldE9wdGlvbnMoImNhcHRpb25zIil9O2QueGMmJihkLmNhcHRpb25zRW5hYmxlZD1PUShjKSk7Yi5TKGQpfX19Owp6bGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hKCksZD1jLkg7aWYoZCYmIWQuaXNLZXlib2FyZERpc2FibGVkPy4oKSYmIXlsYShiLnRhcmdldCxiKSl7c3dpdGNoKGIuY29kZSl7Y2FzZSAiU3BhY2UiOmNhc2UgIktleUsiOmQ9V1EoZCk7Yy5TKHtlYTohMCxqZTpkfSk7YnJlYWs7Y2FzZSAiQXJyb3dMZWZ0IjpjYXNlICJLZXlKIjpMVShjLC0xKTticmVhaztjYXNlICJBcnJvd1JpZ2h0IjpjYXNlICJLZXlMIjpMVShjLDEpO2JyZWFrO2Nhc2UgIktleU0iOmMucmM/ZC51bk11dGUoKTpkLm11dGUoKTtjLlMoe2VhOiEwfSk7YnJlYWs7Y2FzZSAiS2V5RiI6UlEoKTtkLnRvZ2dsZUZ1bGxzY3JlZW4oKTtjLlMoe2VhOiEwfSk7Yi5zdG9wUHJvcGFnYXRpb24oKTticmVhaztjYXNlICJLZXlDIjpjLnhjJiZRUShkLGxVKGMpKTtjLlMoe2VhOiEwfSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59Yi5wcmV2ZW50RGVmYXVsdCgpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fX07CkxVPWZ1bmN0aW9uKGEsYil7aWYoXy54KCJtd2ViX2tleWJvYXJkX3NlZWtfb3ZlcmxheV9raWxsc3dpdGNoIikpYS5IPy5zZWVrQnkoMTAqKGI9PT0tMT8tMToxKSksYS5TKHtlYTohMH0pO2Vsc2V7dmFyIGM9YS5LYixkPWEuSmQsZT0oMCxfLmVsKSgpLGY9ZS1hLnloO2M9ZCE9PWJ8fGY+MzUwPzI6YysxO2Q9Yj09PS0xPy0xOjE7ZD1jPT09Mj8oYS52YXx8MCkrZCoxMDphLkNhK2QqMTA7ZD1EUShkLDAsYS52aWRlb0R1cmF0aW9uKTtlPXtlYTohMCxZaDohMSxKZDpiLENhOmQsS2I6Yyx5YjohMCx5aDplfTtjPT09MiYmKGUuT249YS5wbGF5ZXJTdGF0ZT09PTF8fGEucGxheWVyU3RhdGU9PT0zKTtzVShjLGIsey4uLmEsLi4uZX0pO3VVKHsuLi5hLC4uLmV9KTthLlMoZSl9fTsKeWxhPWZ1bmN0aW9uKGEsYil7aWYoYi5jdHJsS2V5fHxiLmFsdEtleXx8Yi5tZXRhS2V5KXJldHVybiEwO3ZhciBjPWEudGFnTmFtZTtyZXR1cm4gYz09PSJJTlBVVCJ8fGM9PT0iVEVYVEFSRUEifHxjPT09IlNFTEVDVCJ8fGIua2V5PT09IlRhYiJ8fGIuY29kZT09PSJTcGFjZSImJihjPT09IkJVVFRPTiJ8fGM9PT0iQSJ8fChhPWEuZ2V0QXR0cmlidXRlKCJyb2xlIikpJiYoYT09PSJidXR0b24ifHxhPT09Im9wdGlvbiJ8fGEuc3RhcnRzV2l0aCgibWVudWl0ZW0iKSkpPyEwOiExfTsKT1U9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYSgpLHBsYXllclN0YXRlOjB9LGQ9QVMoYigpPy53YXRjaE5leHRSZXNwb25zZSksZT1CUyhiKCk/LndhdGNoTmV4dFJlc3BvbnNlKTtIUyhjLGQpJiYoTVUoYSksYy5TKHt5ZjohZT8uY291bnREb3duU2Vjc3x8ZS5jb3VudERvd25TZWNzPD0wPzEwOmUuY291bnREb3duU2Vjc30pLGM9d2luZG93LnNldEludGVydmFsKCgpPT57dmFyIGY9YSgpO2lmKGYueWYhPT0xKWYuUyh7eWY6Zi55Zi0xfSk7ZWxzZXtNVShhKTtmPWIoKT8ud2F0Y2hOZXh0UmVzcG9uc2U7Zj1BUyhmKTtsZXQgaD1mPy5zZXRzPy5bMF0uYXV0b3BsYXlWaWRlbztoJiZfLkFKKGgsZiwhMSx7YXV0b25hdjoiMSJ9KX19LDFFMyksXy54KCJtd2ViX3BsYXllcl91bmlmaWNhdGlvbl9zdGF0ZV9yZWZhY3Rvcl9raWxsc3dpdGNoIik/TlU9YzphKCkuUyh7Rms6Y30pKX07Ck1VPWZ1bmN0aW9uKGEpeyFfLngoIm13ZWJfcGxheWVyX3VuaWZpY2F0aW9uX3N0YXRlX3JlZmFjdG9yX2tpbGxzd2l0Y2giKSYmYT8oYT1hKCksYS5GayE9PXZvaWQgMCYmKGNsZWFySW50ZXJ2YWwoYS5GayksYS5TKHtGazp2b2lkIDB9KSkpOk5VJiYoY2xlYXJJbnRlcnZhbChOVSksTlU9dm9pZCAwKX07CkJsYT1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9YSgpLGU9e3hmOiExfTtlLnBsYXllclN0YXRlPWM7ZC5IJiZWUShkLkgpJiYoZS5wbGF5ZXJTdGF0ZT0yKTtjPT09MSYmKGQuSD8ubG9hZE1vZHVsZSgiY2FwdGlvbnMiKSxfLngoIm13ZWJfYmV0dGVyX2NhcHRpb25zX3BsYWNlbWVudCIpJiZkLkg/LnNldFN1YnRpdGxlc1RhcmdldENvbnRhaW5lcklkKCJjYXB0aW9ucy1nYWxvcmUtY29udGFpbmVyIikpO2M9PT0wJiYoZC5IPy51bmxvYWRNb2R1bGUoImNhcHRpb25zIiksXy54KCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiKSYmZC5IPy5jbGVhclN1YnRpdGxlc1RhcmdldENvbnRhaW5lcklkKCkpO2lmKGUucGxheWVyU3RhdGU9PT0tMSllLmVhPSEwO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTUpZS5lYT0hMDtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0zKWUuZWE9ITAsYlQoKTtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0xKWQuc2J8fGQueXF8fChkLnliPwpjVCh7Li4uZCwuLi5lfSk6ZS5lYT0hMSk7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09MiliVCgpO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTApe2UuZWE9ITA7YlQoKTtjPWEoKTt2YXIgZj1iKCk/LndhdGNoTmV4dFJlc3BvbnNlO2lmKGY9Xy5CKGY/LmNvbnRlbnRzPy5zaW5nbGVDb2x1bW5XYXRjaE5leHRSZXN1bHRzPy5hdXRvcGxheT8uYXV0b3BsYXk/LmF1dG9wbGF5RXhwbGljaXRDaG9pY2VEaWFsb2dSZW5kZXJlcixBbGEpKWYuZGlzYWJsZUJ1dHRvblN0eWxlT3ZlcnJpZGVzPSEwOyFjLnRhLlVsKCkmJmYmJihjLnRhLmV4aXRGdWxsc2NyZWVuKCksXy5BSih7b3BlblBvcHVwQWN0aW9uOntwb3B1cDp7Y29uZmlybURpYWxvZ1JlbmRlcmVyOmZ9LHBvcHVwVHlwZToiRElBTE9HIn19LHt9LCExKSk7ZC5hdXRvbmF2RW5hYmxlZCYmKE9VKGEsYiksXy5NTygiI3BsYXllci1lbmRzY3JlZW4gLnl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVsIGJ1dHRvbiIsNSx7cmw6ITB9KSl9ZC5TKGUpfX07CkNsYT1mdW5jdGlvbihhKXtQVSgoKT0+YSkoKX07RGxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpLGM9Yi5IO2MmJlZRKGMpJiZiLlMoe3BsYXllclN0YXRlOjJ9KX19OwpQVT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKTt2YXIgZD1jLkg7dmFyIGU9ZD8uZ2V0VmlkZW9EYXRhKCksZj1lPy5pc0xpdmV8fCExLGg9ZT8udmlkZW9faWQ7ZT1lPy5hbGxvd0xpdmVEdnI/PyEwO2Y9e3ZpZGVvRHVyYXRpb246VVEoZHx8dm9pZCAwKSxpc0xpdmU6Zix2aWRlb0lkOmgsaXNMaXZlRHZyRW5hYmxlZDplfTtmLnZpZGVvSWQhPT1jLnZpZGVvSWQmJihmPXsuLi5kVChkKSwuLi5mfSk7Yj8ucGxheWVydHlwZSYmKGYucGxheWVyVHlwZT1iLnBsYXllcnR5cGUpO2QmJihmLnhjPSEhZC5nZXRPcHRpb25zKCJjYXB0aW9ucyIpLGI9ZixoPShoPWQuZ2V0U3Rvcnlib2FyZExldmVsKGQuZ2V0TnVtYmVyT2ZTdG9yeWJvYXJkTGV2ZWxzKCktMSk/LmludGVydmFsTXMpP2gvMUUzOnZvaWQgMCxiLlpyPWgsZi54YyYmKGYuY2FwdGlvbnNFbmFibGVkPU9RKGQpKSk7Zi5yYz0hIWQ/LmlzTXV0ZWQoKTtkPWY7ZC5hdXRvbmF2RW5hYmxlZD1jLnRhLmRlKCk7ZC5pc1BsYXlsaXN0PQpYUSgpO2MuYmE/Lk1sIT09dm9pZCAwJiYoZC55Yj0hMCk7ZC5pc0Z1bGxzY3JlZW49Yy5pc0Z1bGxzY3JlZW47ZC5wbGF5ZXJTdGF0ZT09PTMmJihkLmVhPSEwKTtkLnBsYXllclN0YXRlPT09LTEmJihkLmVhPSEwKTtiPWMuR2M7eVMoey4uLmMsLi4uZH0pP2ImJihiLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTpiJiYoYi5zdHlsZS5kaXNwbGF5PSIiKTtNVShhKTtjLlMoZCl9fTsKRWxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCksZT1iKCksZj1kLkg7aWYoZil7ZC52aWRlb0lkPT09dm9pZCAwJiZDbGEoZCk7aWYoZSYmYyE9PXZvaWQgMCl7dmFyIGg9ey4uLmQsdmE6Y307KGU9RVMoZS5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpKSYmIWguaXNEcmFnZ2luZyYmKGg9a1QoaCxlKSxtVChoKSl9aD1mLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk7Yz17dmE6Y3x8MCxRbTpmLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24oKSxwbGF5ZXJUeXBlOmh9O3VTKGQpJiYoYy52YT1kLnZpZGVvRHVyYXRpb24pO2QuaXNMaXZlJiYoaD1mLmdldFByb2dyZXNzU3RhdGUoaCksYy52YS09aC5zZWVrYWJsZVN0YXJ0LGMudmlkZW9EdXJhdGlvbj1VUShmKSk7eVMoZCkmJmRlbGV0ZSBjLnZhO2Y9Yzt5Uyh7Li4uZCwuLi5mfSkmJihjPWQuR2MpJiYoYy5zdHlsZS5kaXNwbGF5PSJub25lIik7ZC5TKGYpfX19OwpGbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9PnthKCkuUyh7ZWE6ITEscmM6ITF9KX19O0dsYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2EoKS5TKHtpc0Z1bGxzY3JlZW46Yi5mdWxsc2NyZWVuLE5hOiExfSl9fTtIbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg7Yi5TKHtpc0Z1bGxzY3JlZW46Yi50YS5pc0Z1bGxzY3JlZW4oKSxjYXB0aW9uc0VuYWJsZWQ6Yz9PUShjKTpiLmNhcHRpb25zRW5hYmxlZH0pfX07SWxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpO18uVk0oe2hyZWY6d2luZG93LmxvY2F0aW9uLmhyZWZ9KXx8Yi5TKHtpc0Z1bGxzY3JlZW46ITF9KX19OwpKbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7WzkwLDI3MF0uaW5jbHVkZXMoTWF0aC5hYnMod2luZG93Lm9yaWVudGF0aW9uP3dpbmRvdy5vcmllbnRhdGlvbjp3aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbj8uYW5nbGU/d2luZG93LnNjcmVlbi5vcmllbnRhdGlvbi5hbmdsZTowKSk/ZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImxhbmRzY2FwZSIsInRydWUiKTpkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgibGFuZHNjYXBlIik7Yi5OYSYmYi5TKHtOYTohMX0pfX07S2xhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpO2IudGEuZXhpdEZ1bGxzY3JlZW4oKTtiLlMoe2lzRnVsbHNjcmVlbjohMX0pfX07TGxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCk7Yy5kZXRhaWw/LnBhdXNlZD8oTVUoYSksZC56Znx8ZC5TKHt6ZjohMH0pKToodVMoZCkmJk9VKGEsYiksZC56ZiYmZC5TKHt6ZjohMX0pKX19OwpNbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLnRhLmRlKCk7Y3x8TVUoYSk7Yi5TKHthdXRvbmF2RW5hYmxlZDpjfSl9fTtObGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PnthKCkuUyh7Ung6ISFifSl9fTtRVT1mdW5jdGlvbihhKXtNVShhLnByb3BzKTthLnByb3BzKCkuUyh7eGY6ITB9KX07UlU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5XRCgoKT0+YS5zZXRzWzBdLnByZXZpb3VzQnV0dG9uVmlkZW8pLGM9Xy5XRCgoKT0+YS5zZXRzWzBdLm5leHRCdXR0b25WaWRlbyk7cmV0dXJue1VhOmIsbmV4dDpjfX07U1U9ZnVuY3Rpb24oYSxiKXtiPWIoKT8ucnVucz8uWzBdLm5hdmlnYXRpb25FbmRwb2ludDt2YXIgYz1fLkIoYixfLlZEKT8udXJsO2EoKS5IPy5pc0VtYmVkc1Nob3J0c01vZGU/LigpJiZjJiZjLmluY2x1ZGVzKCIvd2F0Y2g/dj0iKSYmKF8uQihiLF8uVkQpLnVybD1jLnJlcGxhY2UoIi93YXRjaD92PSIsIi9zaG9ydHMvIikpO3JldHVybiBifTsKVVU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIiLGU9IiI7c3dpdGNoKGEpe2Nhc2UgLTE6Y2FzZSAwOmQ9Yj8iVk9MVU1FX09GRiI6Yz8iVk9MVU1FX09GRl9ERUxISV9QTEFZRVIiOiJWT0xVTUVfT0ZGX0ZJTExFRCI7ZT1PbGE7YnJlYWs7Y2FzZSAxOmQ9Yj8iVk9MVU1FX1VQX09VVExJTkUiOmM/IlZPTFVNRV9VUF9ERUxISV9QTEFZRVJfRklMTEVEIjoiVk9MVU1FX1VQX0ZJTExFRCI7ZT1UVTticmVhaztjYXNlIDI6ZD1iPyJWT0xVTUVfRE9XTl9PVVRMSU5FIjpjPyJWT0xVTUVfRE9XTl9ERUxISV9QTEFZRVJfRklMTEVEIjoiVk9MVU1FX0RPV05fRklMTEVEIjtlPVRVO2JyZWFrO2RlZmF1bHQ6Xy5lYihhLHZvaWQgMCl9cmV0dXJue2ljb25OYW1lOmQsYXJpYUxhYmVsOmV9fTsKUGxhPWZ1bmN0aW9uKGEsYil7dHlwZW9mIFZVPT09Im51bWJlciImJmNsZWFyVGltZW91dChWVSk7VlU9c2V0VGltZW91dCgoKT0+e2EuUyh7WWg6ITF9KTtWVT12b2lkIDB9LF8uQihiLmVuYWJsZWRFZHVDb21tYW5kLFdVKT8uZHVyYXRpb25Nc3x8NEUzKX07WFU9ZnVuY3Rpb24oYSxiLGMpe2EuUyh7YXV0b25hdkVuYWJsZWQ6YixZaDpjfSk7YS50YS5SaihiLGMpfTtZVT1mdW5jdGlvbihhKXtyZXR1cm4gXy5JRSh7ZGlzcGxheTooKT0+YSgpPyIiOiJub25lIn0pfTtRbGE9ZnVuY3Rpb24oYSl7aWYoXy54KCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIikmJmEpcmV0dXJue3BsYXloZWFkSW1hZ2U6YS5wbGF5aGVhZEltYWdlLHBsYXloZWFkUmV3aW5kSW1hZ2U6YS5wbGF5aGVhZFJld2luZEltYWdlLHBsYXloZWFkRmFzdEZvcndhcmRJbWFnZTphLnBsYXloZWFkRmFzdEZvcndhcmRJbWFnZX19OwpSbGE9ZnVuY3Rpb24oYSl7YT1hPy5nZXRQbGF5ZXJTdGF0ZU9iamVjdD8uKCk7cmV0dXJuKGE/LmlzQ3VlZHx8YT8uaXNVbnN0YXJ0ZWQpJiYhYT8uaXNFcnJvcn07WlU9ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGI9PntiKCl9KTthLmxlbmd0aD0wfTtTbGE9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5pZD0icGxheWVyLWNvbnRyb2xzIjtiLmNsYXNzTGlzdC5hZGQoInl0UGxheWVyQ29udHJvbHNDb250YWluZXJIb3N0Iik7dmFyIFtjLGRdPV8uSih7fSx2b2lkIDAsImJqSklsZCIpO2EuYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLCgpPT57JFUoYSxiLGMsZCl9KTthLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57JFUoYSxiLGMsZCl9KTtyZXR1cm4gYn07CiRVPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVRsYShhKTtkKGUpO2hqYShiLCFhLmdldFBsYXllclN0YXRlT2JqZWN0KCk/LmlzRXJyb3J8fCEhYVYoZSkpO2IuaGFzQ2hpbGROb2RlcygpfHxfLnhGKGIsKCk9PlVsYShhLGIsYyksIiRlIil9OwpVbGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uTigoKT0+YVYoYygpKSx2b2lkIDAsImRXNThiZCIpLGU9Xy51RihrPT57aWYoIV8ueCgiZW1iZWRzX2VuYWJsZV9lbWMzZHNfcGZwIikpcmV0dXJuITE7dmFyIGw9YygpO3JldHVybihsPWwuamI/LmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllck1vZGU/P2wucGxheWVyUmVzcG9uc2U/LnBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZSk/bD09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiOmt9LHtpbml0aWFsOiExfSksZj1fLnVGKGs9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZmwiKSlyZXR1cm4hMTt2YXIgbD1jKCk7cmV0dXJuKGw9bC5qYj8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZT8/bC5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlKT8KbD09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiOmt9LHtpbml0aWFsOiExfSksaD1fLk4oKCk9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpfHxfLngoImVtYmVkc19lbmFibGVfc2hvcnRzX2NvdW50ZXJmYWN0dWFsIikpcmV0dXJuITE7dmFyIGs9YygpLlBoPy5lbmRwb2ludDtyZXR1cm4hKCFrfHwhXy5CKGssXy5URCkpfSx2b2lkIDAsIldxZ0pyYiIpO18ubkUoKCk9PntfLngoImVtYmVkc19lbmFibGVfc2hvcnRzIikmJihfLngoImVtYmVkc19lbmFibGVfc2hvcnRzX2NvdW50ZXJmYWN0dWFsIil8fChlKCl8fGYoKXx8IWgoKT9hLnNldExvb3BWaWRlbyghMSk6YS5zZXRMb29wVmlkZW8oITApKSl9LCJaZ1V3Z2UiKTtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+ZCgpfSwoKT0+Xy5LKGJWLHtkYXRhOigpPT5kKCl9KSksXy5LKF8uQ0Use3doZW46ZX0sKCk9Pl8uSyhWbGEse0g6YSxjb250ZXh0OnRrYShhLGIpLGRhdGE6Y30pKSxfLksoXy5DRSwKe3doZW46Zn0sKCk9Pnt2YXIgaz1yUyhhKSxsPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2w9ey4uLnNTKGwpLFh3OiEwLFl3OiEwfTtyZXR1cm4gXy5LKGNWLHtjb250ZXh0Ont0YTprLGJhOmwsVGM6ZG9jdW1lbnQuYm9keSxHYzpifSxkYXRhOmN9KX0pLF8uSyhfLkNFLHt3aGVuOmh9LCgpPT5fLksoV2xhLHtyZWVsSXRlbVdhdGNoUmVzcG9uc2U6KCk9PmMoKS5yZWVsSXRlbVdhdGNoUmVzcG9uc2UsamI6KCk9PmMoKS5qYixQaDooKT0+YygpLlBoLEg6KCk9PmEsY29udGV4dDpza2EoYSxiKX0pKSxfLksoXy5ERSxudWxsLCgpPT57dmFyIGs9clMoYSksbD1zUyhhLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKSk7cmV0dXJuIF8uSyhjVix7Y29udGV4dDp7dGE6ayxiYTpsLFRjOmRvY3VtZW50LmJvZHksR2M6Yn0sZGF0YTpjfSl9KSl9OwphVj1mdW5jdGlvbihhKXtyZXR1cm4gYS5qYj8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzPy5lcnJvclNjcmVlbj8ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJ8fGEucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzPy5lcnJvclNjcmVlbj8ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJ9O1RsYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclJlc3BvbnNlKCksYz1hLmdldFdhdGNoTmV4dFJlc3BvbnNlKCksZD1hLmdldFJlZWxJdGVtV2F0Y2hSZXNwb25zZSgpLGU9YS5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCksZj1hLmdldFJlc29sdmVVcmxSZXNwb25zZSgpO3JldHVybntwbGF5ZXJPdmVybGF5UmVuZGVyZXI6Yz8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcixwbGF5ZXJSZXNwb25zZTpiLFBoOmYsd2F0Y2hOZXh0UmVzcG9uc2U6YyxyZWVsSXRlbVdhdGNoUmVzcG9uc2U6ZCxqYjplLEg6YX19OwpfLmRWPWZ1bmN0aW9uKGEpe18uQXEoImVwX2luaXRfcnMiKTt2YXIgYj1kb2N1bWVudC5ib2R5O2E9U2xhKGEpO2IuYXBwZW5kQ2hpbGQoYSk7YT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmlkPSJib3R0b20tc2hlZXQtd3JhcHBlciI7KDAsXy5JQykoYSxVamEpO2IuYXBwZW5kQ2hpbGQoYSk7Xy5BcSgiZXBfaW5pdF9yZSIpfTtfLmc9RlEucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgRlEodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKXy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLmVWJiZhIGluc3RhbmNlb2YgXy5lVj9hLng+PXRoaXMubGVmdCYmYS54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PWEubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PWEubGVmdCthLndpZHRoJiZ0aGlzLnRvcDw9YS50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1hLnRvcCthLmhlaWdodH07Xy5nLmdldFNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8ubmQodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguY2VpbCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguY2VpbCh0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Cl8uZy5mbG9vcj1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PXR5cGVvZiBfLmVWJiZhIGluc3RhbmNlb2YgXy5lVj8odGhpcy5sZWZ0Kz1hLngsdGhpcy50b3ArPWEueSk6KHRoaXMubGVmdCs9YSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy50b3ArPWIpKTtyZXR1cm4gdGhpc307Cl8uZy5zY2FsZT1mdW5jdGlvbihhLGIpe2I9dHlwZW9mIGI9PT0ibnVtYmVyIj9iOmE7dGhpcy5sZWZ0Kj1hO3RoaXMud2lkdGgqPWE7dGhpcy50b3AqPWI7dGhpcy5oZWlnaHQqPWI7cmV0dXJuIHRoaXN9Owp2YXIgdlU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy50b2tlbj1hfXN0YXRpYyBhc3luYyBqYygpe3JldHVybiBuZXcgUHJvbWlzZShhPT57Xy5QbCgpLnRoZW4oYj0+e2I/KHZVLmluc3RhbmNlfHwodlUuaW5zdGFuY2U9bmV3IHZVKGIpKSxhKHZVLmluc3RhbmNlKSk6YSh2b2lkIDApfSl9KX1hc3luYyBnZXQoYSl7aWYoYT1hd2FpdCAoYXdhaXQgR1EodGhpcy50b2tlbikpLmdldCgicHJlZnMiLGEpKXt2YXIgYj0oMCxfLmVsKSgpO3JldHVybiBhLmV4cGlyYXRpb25UaW1lc3RhbXBNczw9Yj92b2lkIDA6YS52YWx1ZX19YXN5bmMgc2V0KGEsYixjPTMxNTM2RTMpe3ZhciBkPSgwLF8uZWwpKCk7YT17a2V5OmEsdmFsdWU6YixleHBpcmF0aW9uVGltZXN0YW1wTXM6ZCtjKjFFM307Yj1hd2FpdCBHUSh0aGlzLnRva2VuKTthd2FpdCBfLm1sKGIsInByZWZzIixhKX1hc3luYyByZW1vdmUoYSl7YXdhaXQgKGF3YWl0IEdRKHRoaXMudG9rZW4pKS5kZWxldGUoInByZWZzIixhKX19LFlRPQpudWxsLGZWPXtTbjp7MUUzOntvdGhlcjoiMEsifSwxRTQ6e290aGVyOiIwMEsifSwxRTU6e290aGVyOiIwMDBLIn0sMUU2OntvdGhlcjoiME0ifSwxRTc6e290aGVyOiIwME0ifSwxRTg6e290aGVyOiIwMDBNIn0sMUU5OntvdGhlcjoiMEIifSwxRTEwOntvdGhlcjoiMDBCIn0sMUUxMTp7b3RoZXI6IjAwMEIifSwxRTEyOntvdGhlcjoiMFQifSwxRTEzOntvdGhlcjoiMDBUIn0sMUUxNDp7b3RoZXI6IjAwMFQifX0sVnM6ezFFMzp7b3RoZXI6IjAgdGhvdXNhbmQifSwxRTQ6e290aGVyOiIwMCB0aG91c2FuZCJ9LDFFNTp7b3RoZXI6IjAwMCB0aG91c2FuZCJ9LDFFNjp7b3RoZXI6IjAgbWlsbGlvbiJ9LDFFNzp7b3RoZXI6IjAwIG1pbGxpb24ifSwxRTg6e290aGVyOiIwMDAgbWlsbGlvbiJ9LDFFOTp7b3RoZXI6IjAgYmlsbGlvbiJ9LDFFMTA6e290aGVyOiIwMCBiaWxsaW9uIn0sMUUxMTp7b3RoZXI6IjAwMCBiaWxsaW9uIn0sMUUxMjp7b3RoZXI6IjAgdHJpbGxpb24ifSwxRTEzOntvdGhlcjoiMDAgdHJpbGxpb24ifSwKMUUxNDp7b3RoZXI6IjAwMCB0cmlsbGlvbiJ9fX0sclI9ZlY7clI9ZlY7dmFyIHFSPXtBRUQ6WzIsImRoIiwiXHUwNjJmLlx1MDYyNS4iXSxBTEw6WzAsIkxlayIsIkxlayJdLEFVRDpbMiwiJCIsIkFVJCJdLEJEVDpbMiwiXHUwOWYzIiwiVGsiXSxCR046WzIsImxldiIsImxldiJdLEJSTDpbMiwiUiQiLCJSJCJdLENBRDpbMiwiJCIsIkMkIl0sQ0RGOlsyLCJGckNEIiwiQ0RGIl0sQ0hGOlsyLCJDSEYiLCJDSEYiXSxDTFA6WzAsIiQiLCJDTCQiXSxDTlk6WzIsIlx1MDBhNSIsIlJNQlx1MDBhNSJdLENPUDpbMzIsIiQiLCJDT0wkIl0sQ1JDOlswLCJcdTIwYTEiLCJDUlx1MjBhMSJdLENaSzpbNTAsIktcdTAxMGQiLCJLXHUwMTBkIl0sREtLOls1MCwia3IuIiwia3IuIl0sRE9QOlsyLCJSRCQiLCJSRCQiXSxFR1A6WzIsIlx1MDBhMyIsIkxFIl0sRVRCOlsyLCJCaXJyIiwiQmlyciJdLEVVUjpbMiwiXHUyMGFjIiwiXHUyMGFjIl0sR0JQOlsyLCJcdTAwYTMiLCJHQlx1MDBhMyJdLEhLRDpbMiwiJCIsIkhLJCJdLEhSSzpbMiwia24iLCJrbiJdLEhVRjpbMzQsCiJGdCIsIkZ0Il0sSURSOlswLCJScCIsIlJwIl0sSUxTOlszNCwiXHUyMGFhIiwiSUxcdTIwYWEiXSxJTlI6WzIsIlx1MjBiOSIsIlJzIl0sSVJSOlswLCJSaWFsIiwiSVJSIl0sSVNLOlswLCJrciIsImtyIl0sSk1EOlsyLCIkIiwiSkEkIl0sSlBZOlswLCJcdTAwYTUiLCJKUFx1MDBhNSJdLEtSVzpbMCwiXHUyMGE5IiwiS1JcdTIwYTkiXSxMS1I6WzIsIlJzIiwiU0xScyJdLExUTDpbMiwiTHQiLCJMdCJdLE1OVDpbMCwiXHUyMGFlIiwiTU5cdTIwYWUiXSxNVlI6WzIsIlJmIiwiTVZSIl0sTVhOOlsyLCIkIiwiTWV4JCJdLE1ZUjpbMiwiUk0iLCJSTSJdLE5PSzpbNTAsImtyIiwiTk9rciJdLFBBQjpbMiwiQi8uIiwiQi8uIl0sUEVOOlsyLCJTLy4iLCJTLy4iXSxQSFA6WzIsIlx1MjBiMSIsIlBIUCJdLFBLUjpbMCwiUnMiLCJQS1JzLiJdLFBMTjpbNTAsInpcdTAxNDIiLCJ6XHUwMTQyIl0sUk9OOlsyLCJST04iLCJST04iXSxSU0Q6WzAsImRpbiIsIlJTRCJdLFJVQjpbNTAsIlx1MjBiZCIsCiJSVUIiXSxTQVI6WzIsIlNBUiIsIlNBUiJdLFNFSzpbNTAsImtyIiwia3IiXSxTR0Q6WzIsIiQiLCJTJCJdLFRIQjpbMiwiXHUwZTNmIiwiVEhCIl0sVFJZOlsyLCJcdTIwYmEiLCJUUlkiXSxUV0Q6WzIsIiQiLCJOVCQiXSxUWlM6WzAsIlRTaCIsIlRTaCJdLFVBSDpbMiwiXHUwNDMzXHUwNDQwXHUwNDNkLiIsIlVBSCJdLFVTRDpbMiwiJCIsIlVTJCJdLFVZVTpbMiwiJCIsIiRVIl0sVk5EOls0OCwiXHUyMGFiIiwiVk5cdTIwYWIiXSxZRVI6WzAsIlJpYWwiLCJSaWFsIl0sWkFSOlsyLCJSIiwiWkFSIl19O3ZhciBnVjsKZ1Y9e0RBWTp7TE9ORzoib25leyMgZGF5fW90aGVyeyMgZGF5c30iLFNIT1JUOiJvbmV7IyBkYXl9b3RoZXJ7IyBkYXlzfSIsTkFSUk9XOiJvbmV7I2R9b3RoZXJ7I2R9In0sSE9VUjp7TE9ORzoib25leyMgaG91cn1vdGhlcnsjIGhvdXJzfSIsU0hPUlQ6Im9uZXsjIGhyfW90aGVyeyMgaHJ9IixOQVJST1c6Im9uZXsjaH1vdGhlcnsjaH0ifSxNSU5VVEU6e0xPTkc6Im9uZXsjIG1pbnV0ZX1vdGhlcnsjIG1pbnV0ZXN9IixTSE9SVDoib25leyMgbWlufW90aGVyeyMgbWlufSIsTkFSUk9XOiJvbmV7I219b3RoZXJ7I219In0sTU9OVEg6e0xPTkc6Im9uZXsjIG1vbnRofW90aGVyeyMgbW9udGhzfSIsU0hPUlQ6Im9uZXsjIG10aH1vdGhlcnsjIG10aHN9IixOQVJST1c6Im9uZXsjbX1vdGhlcnsjbX0ifSxTRUNPTkQ6e0xPTkc6Im9uZXsjIHNlY29uZH1vdGhlcnsjIHNlY29uZHN9IixTSE9SVDoib25leyMgc2VjfW90aGVyeyMgc2VjfSIsTkFSUk9XOiJvbmV7I3N9b3RoZXJ7I3N9In0sV0VFSzp7TE9ORzoib25leyMgd2Vla31vdGhlcnsjIHdlZWtzfSIsClNIT1JUOiJvbmV7IyB3a31vdGhlcnsjIHdrc30iLE5BUlJPVzoib25leyN3fW90aGVyeyN3fSJ9LFlFQVI6e0xPTkc6Im9uZXsjIHllYXJ9b3RoZXJ7IyB5ZWFyc30iLFNIT1JUOiJvbmV7IyB5cn1vdGhlcnsjIHlyc30iLE5BUlJPVzoib25leyN5fW90aGVyeyN5fSJ9fTt2YXIgaFY9e0NlOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSwgezF9Il0sUm46WyJ7MH0gYW5kIHsxfSIsInswfSAmIHsxfSIsInswfSwgezF9Il0sbWs6WyJ7MH0sIGFuZCB7MX0iLCJ7MH0sICYgezF9IiwiezB9LCB7MX0iXSxpbzpbInswfSBvciB7MX0iLCJ7MH0gb3IgezF9IiwiezB9IG9yIHsxfSJdLHhrOlsiezB9LCBvciB7MX0iLCJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9Il0scm86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLHFvOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXSxBazpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il19OwpoVj17Q2U6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9LCB7MX0iXSxSbjpbInswfSBhbmQgezF9IiwiezB9ICYgezF9IiwiezB9LCB7MX0iXSxtazpbInswfSwgYW5kIHsxfSIsInswfSwgJiB7MX0iLCJ7MH0sIHsxfSJdLGlvOlsiezB9IG9yIHsxfSIsInswfSBvciB7MX0iLCJ7MH0gb3IgezF9Il0seGs6WyJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iXSxybzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0scW86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLEFrOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXX07dmFyIFhsYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPXt0eXBlOiJ1bml0IixzdHlsZToibmFycm93In07dGhpcy5JPWEmJmEudHlwZT9hLnR5cGU6ImNvbmp1bmN0aW9uIjt0aGlzLks9YSYmYS5zdHlsZT9hLnN0eWxlOiJsb25nIjt0aGlzLmo9aFY7YT0wO3N3aXRjaCh0aGlzLkspe2Nhc2UgInNob3J0IjphPTE7YnJlYWs7Y2FzZSAibmFycm93IjphPTJ9c3dpdGNoKHRoaXMuSSl7Y2FzZSAiY29uanVuY3Rpb24iOnRoaXMuQj10aGlzLmouQ2VbYV07dGhpcy5EPSh0aGlzLmouUm58fHRoaXMuai5taylbYV07dGhpcy52PSh0aGlzLmouakN8fHRoaXMuai5DZSlbYV07dGhpcy5vPXRoaXMuai5ta1thXTticmVhaztjYXNlICJkaXNqdW5jdGlvbiI6dGhpcy5CPSh0aGlzLmouUUZ8fHRoaXMuai5DZSlbYV07dGhpcy5EPSh0aGlzLmouaW98fHRoaXMuai54aylbYV07dGhpcy52PSh0aGlzLmouUEZ8fHRoaXMuai5DZSlbYV07dGhpcy5vPXRoaXMuai54a1thXTticmVhaztjYXNlICJ1bml0Ijp0aGlzLkI9Cih0aGlzLmoucm98fHRoaXMuai5DZSlbYV0sdGhpcy5EPSh0aGlzLmouQUh8fHRoaXMuai5BaylbYV0sdGhpcy52PSh0aGlzLmoucW98fHRoaXMuai5DZSlbYV0sdGhpcy5vPXRoaXMuai5Ba1thXX19Zm9ybWF0KGEpe3JldHVybiB4amEodGhpcyxhKX19O3ZhciBpUj17YXI6ImxhdG4iLCJhci1FRyI6ImFyYWIiLGJuOiJiZW5nIixmYToiYXJhYmV4dCIsbXI6ImRldmEiLG15OiJteW1yIixuZToiZGV2YSJ9O3ZhciBpVj17Vm46Ii4iLHJrOiIsIixqbzoiJSIsQms6IjAiLFd0OiIrIixhbzoiLSIsWW46IkUiLGtvOiJcdTIwMzAiLHNrOiJcdTIyMWUiLEJ0OiJOYU4iLGd0OiIjLCMjMC4jIyMiLHpHOiIjRTAiLFNGOiIjLCMjMCUiLEZDOiJcdTAwYTQjLCMjMC4wMCIsV246IlVTRCJ9LGRSPWlWO2RSPWlWO3ZhciBlUj1JbnRsLk51bWJlckZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoWyJlbi1VUyIucmVwbGFjZSgiXyIsIi0iKV0pLmxlbmd0aD4wLGpSPSExOwpoUi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSxiKXtiPWJ8fFswXTtpZih0aGlzLm9hIT09MCl0aHJvdyBFcnJvcigiT2QiKTthPWEucmVwbGFjZSgvIHxcdTIwMmYvZywiXHUwMGEwIik7dmFyIGM9YS5pbmRleE9mKHRoaXMuTSxiWzBdKT09YlswXSxkPWEuaW5kZXhPZih0aGlzLkQsYlswXSk9PWJbMF07YyYmZCYmKHRoaXMuTS5sZW5ndGg+dGhpcy5ELmxlbmd0aD9kPSExOnRoaXMuTS5sZW5ndGg8dGhpcy5ELmxlbmd0aCYmKGM9ITEpKTtjP2JbMF0rPXRoaXMuTS5sZW5ndGg6ZCYmKGJbMF0rPXRoaXMuRC5sZW5ndGgpO2lmKGEuaW5kZXhPZihkUi5zayxiWzBdKT09YlswXSl7YlswXSs9ZFIuc2subGVuZ3RoO3ZhciBlPUluZmluaXR5fWVsc2V7ZT1hO2xldCBmPSExLGg9ITEsaz0hMSxsPS0xLG09MSxuPWRSLlZuLHA9ZFIucmsscj1kUi5ZbjtpZih0aGlzLm9hIT0wKXRocm93IEVycm9yKCJQZCIpO3A9cC5yZXBsYWNlKC9cdTIwMmYvZywiXHUwMGEwIik7bGV0IHQ9IiI7Zm9yKDtiWzBdPAplLmxlbmd0aDtiWzBdKyspe2xldCB2PWUuY2hhckF0KGJbMF0pLHo9cFIodik7aWYoej49MCYmejw9OSl0Kz16LGs9ITA7ZWxzZSBpZih2PT1uLmNoYXJBdCgwKSl7aWYoZnx8aClicmVhazt0Kz0iLiI7Zj0hMH1lbHNlIGlmKHY9PXAuY2hhckF0KDApJiYoIlx1MDBhMCIhPXAuY2hhckF0KDApfHxiWzBdKzE8ZS5sZW5ndGgmJnBSKGUuY2hhckF0KGJbMF0rMSkpPj0wKSl7aWYoZnx8aClicmVha31lbHNlIGlmKHY9PXIuY2hhckF0KDApKXtpZihoKWJyZWFrO3QrPSJFIjtoPSEwO2w9YlswXX1lbHNlIGlmKHY9PSIrInx8dj09Ii0iKXtpZihrJiZsIT1iWzBdLTEpYnJlYWs7dCs9dn1lbHNlIGlmKHRoaXMudj09MSYmdj09ZFIuam8uY2hhckF0KDApKXtpZihtIT0xKWJyZWFrO209MTAwO2lmKGspe2JbMF0rKzticmVha319ZWxzZSBpZih0aGlzLnY9PTEmJnY9PWRSLmtvLmNoYXJBdCgwKSl7aWYobSE9MSlicmVhazttPTFFMztpZihrKXtiWzBdKys7YnJlYWt9fWVsc2UgYnJlYWt9dGhpcy52IT0KMSYmKG09dGhpcy52KTtlPXBhcnNlRmxvYXQodCkvbX1pZihjKXtpZihhLmluZGV4T2YodGhpcy5nYSxiWzBdKSE9YlswXSlyZXR1cm4gTmFOO2JbMF0rPXRoaXMuZ2EubGVuZ3RofWVsc2UgaWYoZCl7aWYoYS5pbmRleE9mKHRoaXMuVSxiWzBdKSE9YlswXSlyZXR1cm4gTmFOO2JbMF0rPXRoaXMuVS5sZW5ndGh9cmV0dXJuIGQ/LWU6ZX07CmhSLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5CPnRoaXMuail0aHJvdyBFcnJvcigiU2QiKTtpZihlUiYmdGhpcy5LKXsodGhpcy5LLmZvcm1hdD09bnVsbHx8dGhpcy5RYXx8dGhpcy5NYXx8dGhpcy5WZHx8alIpJiZmUih0aGlzKTtpZihNYXRoLmFicyhhKTwxJiZ0aGlzLmhhPnRoaXMuail7dmFyIGI9TWF0aC5wb3coMTAsdGhpcy5qKTthPU1hdGgucm91bmQoTWF0aC5hYnMoYSkqYikqTWF0aC5zaWduKGEpL2J9dGhpcy5LLnJlc29sdmVkT3B0aW9ucygpO3JldHVybiB0aGlzLksuZm9ybWF0KGEpfWlmKGlzTmFOKGEpKXJldHVybiBkUi5CdDtiPVtdO3ZhciBjPWE7aWYodGhpcy5vYT09MCljPXNSO2Vsc2V7Yz1NYXRoLmFicyhjKTt2YXIgZD10Uih0aGlzLGM8PTE/MDp1UihjKSkucGw7Yz10Uih0aGlzLGQrdVIobVIodGhpcyxrUihjLC1kKSkuaW50VmFsdWUpKX1hPWtSKGEsLWMucGwpOyhkPWE8MHx8YT09MCYmMS9hPDApP2Mud20/Yi5wdXNoKGMud20pOgooYi5wdXNoKGMucHJlZml4KSxiLnB1c2godGhpcy5EKSk6KGIucHVzaChjLnByZWZpeCksYi5wdXNoKHRoaXMuTSkpO2lmKGlzRmluaXRlKGEpKWlmKGEqPWQ/LTE6MSxhKj10aGlzLnYsdGhpcy5GYSl7dmFyIGU9YTtpZihlPT0wKW5SKHRoaXMsZSx0aGlzLm8sYiksb1IodGhpcywwLGIpO2Vsc2V7dmFyIGY9TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLmxvZygxMCkrMkUtMTUpO2U9a1IoZSwtZik7dmFyIGg9dGhpcy5vO3RoaXMuWj4xJiZ0aGlzLlo+dGhpcy5vPyhoPWYldGhpcy5aLGg8MCYmKGg9dGhpcy5aK2gpLGU9a1IoZSxoKSxmLT1oLGg9MSk6dGhpcy5vPDE/KGYrKyxlPWtSKGUsLTEpKTooZi09dGhpcy5vLTEsZT1rUihlLHRoaXMuby0xKSk7blIodGhpcyxlLGgsYik7b1IodGhpcyxmLGIpfX1lbHNlIG5SKHRoaXMsYSx0aGlzLm8sYik7ZWxzZSBiLnB1c2goZFIuc2spO2Q/Yy54bT9iLnB1c2goYy54bSk6KGlzRmluaXRlKGEpJiZiLnB1c2goYy5zdWZmaXgpLGIucHVzaCh0aGlzLlUpKToKKGlzRmluaXRlKGEpJiZiLnB1c2goYy5zdWZmaXgpLGIucHVzaCh0aGlzLmdhKSk7cmV0dXJuIGIuam9pbigiIil9O3ZhciB5amE9IjAiLmNvZGVQb2ludEF0KDApLHNSPXtwbDowLHdtOiIiLHhtOiIiLHByZWZpeDoiIixzdWZmaXg6IiJ9O3ZhciBqVixCamE9alY9alY9emphO3ZhciBrVixDUj1rVj1rVj1BamE7dmFyIHdSPW51bGwseFI9bnVsbCx5Uj1udWxsLERqYT1SZWdFeHAoIicoW3t9I10uKj8pJyIsImciKSxDamE9UmVnRXhwKCInJyIsImciKTt6Ui5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKGEpe2lmKHRoaXMudil7dGhpcy5EPVtdO3ZhciBiPUVqYSh0aGlzLHRoaXMudik7dGhpcy5vPUhSKHRoaXMsYik7dGhpcy52PW51bGx9aWYodGhpcy5vJiZ0aGlzLm8ubGVuZ3RoIT0wKWZvcih0aGlzLmo9Xy55Yih0aGlzLkQpLGI9W10sQVIodGhpcyx0aGlzLm8sYSwhMSxiKSxhPWIuam9pbigiIik7dGhpcy5qLmxlbmd0aD4wOylhPWEucmVwbGFjZSh0aGlzLkIodGhpcy5qKSxTdHJpbmcodGhpcy5qLnBvcCgpKS5yZXBsYWNlKCIkIiwiJCQkJCIpKTtlbHNlIGE9IiI7cmV0dXJuIGF9O3ZhciBFUj0vXlxzKihcdyspXHMqLFxzKnBsdXJhbFxzKiwoPzpccypvZmZzZXQ6KFxkKykpPy8sRlI9L15ccyooXHcrKVxzKixccypzZWxlY3RvcmRpbmFsXHMqLC8sR1I9L15ccyooXHcrKVxzKixccypzZWxlY3RccyosLzsKelIucHJvdG90eXBlLkI9ZnVuY3Rpb24oYSl7cmV0dXJuIlx1ZmRkZl8iKyhhLmxlbmd0aC0xKS50b1N0cmluZygxMCkrIl8ifTt2YXIgVGphPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVlsYXx8Z1Z9Zm9ybWF0KGEpe3ZhciBiPVtdLGM9YS55ZWFycyxkPWEubW9udGhzLGU9YS53ZWVrcyxmPWEuZGF5cyxoPWEuaG91cnMsaz1hLm1pbnV0ZXM7YT1hLnNlY29uZHM7YyE9bnVsbCYmYi5wdXNoKElSKHRoaXMsYywieWVhcnMiKSk7ZCE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZCwibW9udGhzIikpO2UhPW51bGwmJmIucHVzaChJUih0aGlzLGUsIndlZWtzIikpO2YhPW51bGwmJmIucHVzaChJUih0aGlzLGYsImRheXMiKSk7aCE9bnVsbCYmYi5wdXNoKElSKHRoaXMsaCwiaG91cnMiKSk7ayE9bnVsbCYmYi5wdXNoKElSKHRoaXMsaywibWludXRlcyIpKTthIT1udWxsJiZiLnB1c2goSVIodGhpcyxhLCJzZWNvbmRzIikpO3JldHVybihuZXcgWGxhKS5mb3JtYXQoYil9fTsvKgoKIE1JVCBMaWNlbnNlCgogQ29weXJpZ2h0IChjKSAyMDE3IEFsZXhhbmRlciBSZWFyZG9uCgogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKIFNPRlRXQVJFCiovCnZhciBabGE9KGEsYik9PntpZihhLmxlbmd0aCE9PWIubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7KytjKWlmKGFbY10hPT1iW2NdKXJldHVybiExO3JldHVybiEwfTt2YXIgbFY9bmV3IF8uSSgid2F0Y2hPbllvdXR1YmVCdXR0b25WaWV3TW9kZWwiKTt2YXIgRWthPW5ldyBfLkkoImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyIiksbVY9bmV3IF8uSSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxuVj1uZXcgXy5JKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNFeHBhbmRlZFJlbmRlcmVyIik7dmFyIE9TPW5ldyBfLkkoImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyICRsYT1uZXcgXy5JKCJtb2JpbGVUb3BiYXJSZW5kZXJlciIpO3ZhciBhbWE9bmV3IF8uSSgiY2FsbFRvQWN0aW9uQnV0dG9uVmlld01vZGVsIik7dmFyIGJtYT1uZXcgXy5JKCJpbnRlcnN0aXRpYWxWaWV3TW9kZWwiKTt2YXIgZGxhPW5ldyBfLkkoImNpbmVtYXRpY0NvbnRhaW5lclJlbmRlcmVyIik7dmFyIGprYT1uZXcgXy5JKCJ2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbCIpO3ZhciBEa2E9bmV3IF8uSSgiZnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsIik7dmFyIG9WPW5ldyBfLkkoInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxwVj1uZXcgXy5JKCJwbGF5ZXJNdXRlZEF1dG9wbGF5RW5kU2NyZWVuUmVuZGVyZXIiKTt2YXIgS1M9bmV3IF8uSSgicXVpY2tBY3Rpb25zVmlld01vZGVsIik7dmFyIGNtYT1uZXcgXy5JKCJyZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbCIpO3ZhciBBbGE9bmV3IF8uSSgiY29uZmlybURpYWxvZ1JlbmRlcmVyIik7dmFyIG1sYT1uZXcgXy5JKCJib3R0b21TaGVldE92ZXJsYXlSZW5kZXJlciIpO3ZhciBkbWE9bmV3IF8uSSgiZGlhbG9nSGVhZGVyVmlld01vZGVsIik7dmFyIGVtYT1uZXcgXy5JKCJkaWFsb2dWaWV3TW9kZWwiKTt2YXIgV1U9bmV3IF8uSSgicGxheWVyVG9hc3RDb21tYW5kIik7dmFyIHZrYT1uZXcgXy5JKCJhdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyIik7dmFyIHhrYT1uZXcgXy5JKCJkZWNvcmF0ZWRQbGF5ZXJCYXJSZW5kZXJlciIpLERTPW5ldyBfLkkoIm11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyIiksZVQ9bmV3IF8uSSgiY2hhcHRlclJlbmRlcmVyIik7dmFyIHlrYT1uZXcgXy5JKCJkZWNvcmF0ZWRQbGF5aGVhZFJlbmRlcmVyIik7dmFyIEFrYT1uZXcgXy5JKCJmdWxsc2NyZWVuRW5nYWdlbWVudE92ZXJsYXlSZW5kZXJlciIpLEJrYT1uZXcgXy5JKCJmdWxsc2NyZWVuRW5nYWdlbWVudEFjdGlvbkJhclJlbmRlcmVyIiksZm1hPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyU2F2ZUJ1dHRvblJlbmRlcmVyIik7dmFyIGdtYT1uZXcgXy5JKCJoZWF0TWFya2VyUmVuZGVyZXIiKTt2YXIgd2thPW5ldyBfLkkoImhlYXRtYXBSZW5kZXJlciIpO3ZhciBxVj1uZXcgXy5JKCJ0aW1lZE1hcmtlckRlY29yYXRpb25SZW5kZXJlciIpO3ZhciBobWE9WyJlbi1DQSIsImVuIiwiZXMtTVgiLCJmci1DQSJdO3ZhciByVjtyVj17YnJvd3NlRW5kcG9pbnQ6e2Jyb3dzZUlkOiJGRXdoYXRfdG9fd2F0Y2gifSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOiIvIixyb290VmU6Mzg1NCx3ZWJQYWdlVHlwZToiV0VCX1BBR0VfVFlQRV9CUk9XU0UifX19O3ZhciBLUj0hMTt2YXIgS2phPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPXRoaXMuaj0wO3RoaXMuaj1iLngtYS54O3RoaXMubz1iLnktYS55fX07dmFyICRUPV8uZ3Uodm9pZCAwLCJCREVxSmIiKTt2YXIgc1Y9d2luZG93LFo9c1YuR0h8fCJlbi1VUyIsU2phPXNWLkhIfHxDUixZbGE9c1YuRkh8fGdWO3ZhciBRUjt2YXIgdWthPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuSD1hfXRvZ2dsZUZ1bGxzY3JlZW4oKXt0aGlzLkgudG9nZ2xlRnVsbHNjcmVlbigpfWV4aXRGdWxsc2NyZWVuKCl7dGhpcy5pc0Z1bGxzY3JlZW4oKSYmdGhpcy50b2dnbGVGdWxsc2NyZWVuKCl9aXNGdWxsc2NyZWVuKCl7cmV0dXJuIHRoaXMuSC5pc0Z1bGxzY3JlZW4oKX19O3ZhciBUUj1fLkwoKHt0YTphfSk9Pl8uSyhfLmZKLHtkYXRhOigpPT57dmFyIGI9Y1Ioe3RpdGxlOl8uSVAoXy4kTi5uayksa2w6YSgpLmRlKCksaWNvblR5cGU6IkFVVE9QTEFZIixFazpfLiROLm5rLERrOl8uJE4ubmt9KTtyZXR1cm4gXy5CKGIsXy5NUCl9LG9uVGFwOmZ1bmN0aW9uKGIpe3ZhciBjPSFhKCkuZGUoKTthKCkuUmooYywhMCk7Yi5zdG9wUHJvcGFnYXRpb24oKTtfLlhNKCJwZnAtYXV0b25hdi11cGRhdGUiLHthdXRvbmF2RW5hYmxlZDpjfSl9fSksIlliIik7VFIuaWRvbUNvbXBhdD0hMDt2YXIgaW1hPV8uJE4uYXUsY1M9Xy5MKCgpPT57dmFyIGE9KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChpbWEpLGljb25UeXBlOiJQRVJTT05fQ0lSQ0xFIn0pLF8uWkMpO3JldHVybiBfLksoXy5DRCx7ZGF0YTphLElhOiEwLG9uVGFwOigpPT57dmFyIGI9Xy5LTygpP18uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsIi9zaWduaW4/YWN0aW9uX2Nsb3NlX3RhYj10cnVlIik6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfRU1CRURERURfUExBWUVSIj9fLkZPKCIvL3lvdXR1YmUuY29tL3NpZ25pbiIsIm5leHQiLCIvcG9zdF9sb2dpbiIpOl8uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsbG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uc2VhcmNoKTtfLkFKKHtzaWduSW5FbmRwb2ludDp7fSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOmJ9fX0sYSgpLCExKX19KX0sIlpiIik7Y1MuaWRvbUNvbXBhdD0hMDt2YXIgam1hPV8uJE4uV3Msa21hPV8uJE4uWXMsbG1hPV8uJE4uVG4sVmphPV8uTCgoe2Z2OmF9KT0+e3ZhciBiPSJjb3B5LWRlYnVnLWluZm8tdGV4dGFyZWEiK18uT0goKTtyZXR1cm4gXy5LKF8uckUse1FnOigpPT5fLksoXy5BUCxudWxsLGxtYSkscWs6KCk9Pl8uSygidGV4dGFyZWEiLHtjbGFzczoiY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbyIsaWQ6Yn0sYSksRXo6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKF8uSksse2RhdGE6e2J1dHRvblRleHQ6am1hLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOiJNIixvblRhcDooKT0+e18ueSgpLnJlc29sdmUoXy55UCkubGQoKX19fSkpLFByOigpPT5fLksoXy56UCxudWxsLF8uSyhfLkpLLHtkYXRhOntidXR0b25UZXh0OmttYSxzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSIsb25UYXA6KCk9PntfLnNQKGIpO18ueSgpLnJlc29sdmUoXy55UCkubGQoKX19fSkpfSl9LAoiJGIiKTt2YXIgbW1hPV8uJE4uVG4sJFI9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAobW1hKSxpY29uVHlwZToiQlVHX1JFUE9SVCJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e1dqYShhKCkpfX0pLCJhYyIpOyRSLmlkb21Db21wYXQ9ITA7dmFyIG5tYT1fLiROLlpzLFpSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKG5tYSksaWNvblR5cGU6IkNPREUifSksXy5aQyksSWE6ITAsb25UYXA6KCk9Pnt2YXIgYj1hKCkuZ2V0VmlkZW9FbWJlZENvZGUoKTtiJiZiJiZ3aW5kb3cubmF2aWdhdG9yPy5jbGlwYm9hcmQmJndpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChiKX19KSwiYmMiKTtaUi5pZG9tQ29tcGF0PSEwO3ZhciBvbWE9Xy4kTi5idCxwbWE9Xy4kTi5mdCxXUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChvbWEpLGljb25UeXBlOiJMSU5LIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57UlIoYSgpLCExKX19KSwiY2MiKTtXUi5pZG9tQ29tcGF0PSEwO3ZhciBZUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChwbWEpLGljb25UeXBlOiJMSU5LIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57UlIoYSgpLCEwKX19KSwiZGMiKTtZUi5pZG9tQ29tcGF0PSEwO3ZhciB0Vj1fLiROLnV0LFZSPV8uTCgoe0g6YX0pPT5fLksoXy5mSix7ZGF0YTooKT0+e3ZhciBiPWNSKHt0aXRsZTpfLklQKHRWKSxrbDphKCkuZ2V0TG9vcFZpZGVvKCksRWs6dFYsRGs6dFYsaWNvblR5cGU6IkxPT1AifSk7cmV0dXJuIF8uQihiLF8uTVApfSxvblRhcDpiPT57YSgpLnNldExvb3BWaWRlbyghYSgpLmdldExvb3BWaWRlbygpKTtiLnN0b3BQcm9wYWdhdGlvbigpfX0pLCJlYyIpO1ZSLmlkb21Db21wYXQ9ITA7dmFyIFVSPV8uTCgoe0g6YX0pPT5fLksoInN0YWJsZS12b2x1bWUtdG9nZ2xlIix7Y2xhc3M6InN0YWJsZVZvbHVtZVRvZ2dsZUhvc3QifSxfLksoXy5mSix7ZGF0YTooKT0+Xy5CKGNSKHt0aXRsZTpfLklQKF8uJE4ueWspLGtsOmEoKS5oYXNEcmNBdWRpb1RyYWNrKCkmJmEoKS5nZXREcmNVc2VyUHJlZmVyZW5jZSgpPT09MSxpY29uVHlwZToiVk9MVU1FX1NUQUJMRSIsRWs6Xy4kTi55ayxEazpfLiROLnlrLGlzRGlzYWJsZWQ6IWEoKS5oYXNEcmNBdWRpb1RyYWNrKCl9KSxfLk1QKSxvblRhcDpmdW5jdGlvbihiKXthKCkuc2V0RHJjVXNlclByZWZlcmVuY2UoYSgpLmhhc0RyY0F1ZGlvVHJhY2soKSYmYSgpLmdldERyY1VzZXJQcmVmZXJlbmNlKCk9PT0xPzA6MSk7Yi5zdG9wUHJvcGFnYXRpb24oKX19KSksImZjIik7VVIuaWRvbUNvbXBhdD0hMDt2YXIgcW1hPV8uJE4uYnUsYlM9Xy5MKCh7SDphfSk9Pnt2YXIgYj0oKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHFtYSksaWNvblR5cGU6IklORk8ifSksXy5aQyk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PiEhYSgpLmdldFZpZGVvRGF0YSx0aGVuOigpPT5fLksoXy5DRCx7ZGF0YTpiLElhOiEwLG9uVGFwOigpPT57dmFyIGM9YSgpOyFjLmdldFZpZGVvRGF0YXx8KGMuaXNWaWRlb0luZm9WaXNpYmxlKCk/Yy5oaWRlVmlkZW9JbmZvKCk6Yy5zaG93VmlkZW9JbmZvKCkpfX0pfSl9LCJnYyIpO2JTLmlkb21Db21wYXQ9ITA7dmFyIHJtYT1fLiROLmR1LGFTPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHJtYSksaWNvblR5cGU6IlFVRVNUSU9OX0NJUkNMRSJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e2EoKS5yZXBvcnRQbGF5YmFja0lzc3VlJiYoYSgpLnJlcG9ydFBsYXliYWNrSXNzdWUoKSxfLnFQKHtocmVmOiJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlLz9wPXJlcG9ydF9wbGF5YmFjayJ9KSl9fSksImhjIik7YVMuaWRvbUNvbXBhdD0hMDt2YXIgc21hPV8uJE4ud3Qsb1M9Xy5MKCh7SDphLG9oOmIsdGE6Yyx0QTpkfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAoc21hKSxpY29uVHlwZToiT1VUTElORV9PVkVSRkxPV19IT1JJWk9OVEFMXzMyIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57WGphKGEoKSxiKCksYz8uKCksZD8uKCkpfX0pLCJpYyIpO29TLmlkb21Db21wYXQ9ITA7dmFyIGdrYT1fLiROLm1vLFlqYT1fLiROLm5vLFpqYT1fLiROLlR0LGZrYT1fLiROLlJ0LGVrYT1fLiROLlN0LGhrYT1fLiROLlh0LGFrYT1bNTAsMTAwLDEyNSwxNTAsMTc1LDIwMF0sJGphPVsxMDAsMTI1LDE1MCwxNzUsMjAwLDMwMF0sY2thPVs1MCwxMDAsMTI1LDE1MCwyMDBdLGJrYT1bMTAwLDEyNSwxNTAsMjAwLDMwMF0saFM7dmFyIHRtYT1fLiROLm1vLHVtYT1fLiROLm5vLG1TPV8uTCgoe0g6YX0pPT57dmFyIGI9KCk9Pnt2YXIgZD1hKCk/LmdldFBsYXliYWNrUmF0ZSgpLGU9Xy5hQSgiUExBWUJBQ0tfU1BFRURfWCIse3NwZWVkX3JhdGVfcGxhY2Vob2xkZXI6YCR7ZH1gfSk7cmV0dXJuIF8uQihiUih7dGl0bGU6Xy5JUCh0bWEpLHNlbGVjdGlvblRleHQ6Xy5JUChkPT09MT91bWE6ZSksaWNvblR5cGU6IlBMQVlfQVJST1dfSEFMRl9DSVJDTEUifSksXy5aQyl9LGM9KCk9Pntra2EoYSgpKX07cmV0dXJuIF8uSyhfLk8se0E6KCk9PiEhYSgpPy5nZXRQbGF5YmFja1JhdGUoKSx0aGVuOigpPT5fLksoXy5DRCx7ZGF0YTpiLElhOiEwLG9uVGFwOmN9KX0pfSwiamMiKTttUy5pZG9tQ29tcGF0PSEwO3ZhciB2bWE9Xy4kTi5OcyxuUz1fLkwoKCk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKHZtYSksbGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0OiJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9ERUZBVUxUIixsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJQRVJTT05fUkFEQVIifX1dfSxlbnRpdHlLZXk6IkVpb3ZlVzkxZEhWaVpTOWhjSEF2Y0d4aGVXVnlYMkYxWkdsdlgzUnlZV05yWDJWdWRHbDBlVjlyWlhrZ19nSW9BUSUzRCUzRCIsZW50aXR5U2VsZWN0b3JUeXBlOiJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9BVURJT19UUkFDS19TRUxFQ1RJT05fVEVYVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOlt7c2hvd0F1ZGlvVHJhY2tQaWNrZXJBY3Rpb25Db21tYW5kOnt9fV19fX19fX19LApfLlpDKSxJYTohMH0pLCJrYyIpO25TLmlkb21Db21wYXQ9ITA7dmFyIHdtYT1fLiROLkV0LHhtYT1fLiROLkZ0LHBrYT1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYj1hKCk/LmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpLGM9dHlwZW9mIGI/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U9PT0ib2JqZWN0IiYmYi50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fGI/LmRpc3BsYXlOYW1lfHwiIjtyZXR1cm4gXy5CKHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6Xy5JUCh3bWEpLGxpc3RJdGVtSWNvbkFmdGVyU2VsZWN0aW9uVGV4dDoiTElTVF9JVEVNX0lDT05fQUZURVJfU0VMRUNUSU9OX1RFWFRfREVGQVVMVCIsc2VsZWN0aW9uVGV4dDp7Y29udGVudDpjP2M6eG1hfSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmM/IkNMT1NFRF9DQVBUSU9OX1NFTEVDVEVEIjoiQ0xPU0VEX0NBUFRJT04ifX1dfSxlbnRpdHlLZXk6IkVpOHZlVzkxZEhWaVpTOWhjSEF2Y0d4aGVXVnlYMk5oY0hScGIyNWZiR0Z1WjNWaFoyVmZaVzUwYVhSNVgydGxlU0QtQWlnQiIsCmVudGl0eVNlbGVjdG9yVHlwZToiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfQ0FQVElPTl9MQU5HVUFHRV9TRUxFQ1RJT05fVEVYVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOlt7c2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e319XX19fX19LGlzRGlzYWJsZWQ6dHlwZW9mIGI9PT0idW5kZWZpbmVkIn19LF8uWkMpfSxJYTohMH0pLCJsYyIpO3ZhciBsa2E9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9O3ZhciB5bWE9Xy4kTi5OdCxta2E9Xy4kTi5PdCxsUz1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYj1iUih7dGl0bGU6Xy5JUCh5bWEpLHNlbGVjdGlvblRleHQ6Xy5JUChrUyhhKCksYSgpLmdldFBsYXliYWNrUXVhbGl0eSgpKSksaWNvblR5cGU6Ik9VVExJTkVfQURKVVNUIn0pO3JldHVybiBfLkIoYixfLlpDKX0sSWE6ITAsb25UYXA6KCk9PnthKCkuZ2V0QXZhaWxhYmxlUXVhbGl0eUxldmVscygpJiZva2EoYSgpKX19KSwibWMiKTtsUy5pZG9tQ29tcGF0PSEwOwp2YXIgbmthPV8uTCgoe0g6YX0pPT5fLksoXy5nRyx7cGE6KCk9PmEoKS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzKCksdGI6IklOREVYIn0sYj0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYz1iKCksZD1hKCkuZ2V0UHJlZmVycmVkUXVhbGl0eSgpO2M9YlIoe3RpdGxlOl8uSVAoa1MoYSgpLGMpKSxpY29uVHlwZTpjPT09ZD8iQ0hFQ0siOnZvaWQgMH0pO3JldHVybiBfLkIoYyxfLlpDKX0sSWE6ITAsb25UYXA6KCk9Pnt2YXIgYz1iKCk7YSgpLnNldFBsYXliYWNrUXVhbGl0eVJhbmdlKGMsYyl9fSkpLCJuYyIpO3ZhciBSUz1uZXcgU2V0LFFTPW51bGw7dmFyIFRTPW51bGwsVlM9e307dmFyIHVWPV8uTChhPT57dmFyIGI9Xy52RSgiYnV0dG9uIixkPT57ZCYmV1MoZCwyODU3MiwhXy54KCJlbWJlZHNfY3VlZF9vdmVybGF5X3ZlX2tzIikpfSksYz0oKT0+YS5HKCkuSD8uaXNFbWJlZHNTaG9ydHNNb2RlPy4oKTtyZXR1cm4gXy5LKCJjdWVkLW92ZXJsYXkiLHtjbGFzczpfLlAoInl0bUN1ZWRPdmVybGF5SG9zdCIse3l0bUN1ZWRPdmVybGF5SGlkZGVuOigpPT4hJFMoYS5HKCksYS5wbGF5YWJpbGl0eVN0YXR1cz8uKCkpfSksIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtiLnZhbHVlJiYoWFMoMjg1NzIpLGEuRygpLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDAsXy5LLnZpc3VhbEVsZW1lbnQpLGEuSD8uKCkucGxheVZpZGVvKCkpO2Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT4hYS5HKCkuYmE/LmhpZGVWaWRlb0luZm8mJiF1UyhhLkcoKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtQ3VlZE92ZXJsYXlHcmFkaWVudCJ9KX0pLF8uSygiYnV0dG9uIiwKe2NsYXNzOl8uUCgieXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uIix7eXRtQ3VlZE92ZXJsYXlTaG9ydHM6Y30pLGVsOmIsImFyaWEtbGFiZWwiOl8uJE4uUGcsdGl0bGU6Xy4kTi5QZ30sXy5LKF8uTUQse2ljb246KCk9PmMoKT8iWU9VVFVCRV9TSE9SVFNfQlJBTkRfMjQiOiJMT0dPIixjbGFzc05hbWU6Inl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24ifSkpKX0sIm9jIik7dVYuaWRvbUNvbXBhdD0hMDt2YXIgYVQ7dmFyIEFtYT1fLkwoKHtKejphLG11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyOmIscHJvZ3Jlc3NCYXJXaWR0aDpjLHByb2dyZXNzQ29sb3I6ZH0pPT57dmFyIGU9KCk9PmdUKGIoKSksZj0oKT0+alQoYSgpKSxoPSgpPT5jKCkqKGEoKS52YS9hKCkudmlkZW9EdXJhdGlvbik7cmV0dXJuIF8uSygieXQtY2hhcHRlcmVkLXByb2dyZXNzLWJhci1saW5lIix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0In0sXy5LKF8uZ0cse3BhOmV9LChrLGwpPT5fLksoem1hLHtOeTpmLGNoYXB0ZXJzOmUsaW5kZXg6bCxDejpoLHByb2dyZXNzQ29sb3I6ZCxEdTooKT0+e3ZhciBtPWpUKGEoKSksbj1nVChiKCkpLHA9bCgpLHI9aCgpO3JldHVybihtLnZhLWhUKF8uQihuW3BdLGVUKSkpL20udmEqcn19KSkpfSwicGMiKSx6bWE9Xy5MKCh7Tnk6YSxjaGFwdGVyczpiLGluZGV4OmMsQ3o6ZCxEdTplLHByb2dyZXNzQ29sb3I6Zn0pPT57dmFyIGg9Xy5QKCJ5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyQ2hhcHRlciIsCnt5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyQ2hhcHRlcklzU2NydWJiaW5nOigpPT5rKCkuYm0seXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcjooKT0+aygpLkJnLHl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbjooKT0+aygpLkxkPT09InNlZW4ifSksaz0oKT0+aVQoYSgpLGIoKSxjKCkpLGw9KCk9Pnt2YXIgbT1mPy4oKTtyZXR1cm4gbSE9PXZvaWQgMD9fLkpFKG0pOnZvaWQgMH07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6aCxzdHlsZTpfLklFKHt3aWR0aDooKT0+e3ZhciBtPWEoKSxuPWIoKSxwPWMoKSxyPV8uQihuW3BdLGVUKTtuPV8uQihuW3ArMV0sZVQpO3JldHVybmAkeyhuP2hUKG4pLWhUKHIpOm0udmlkZW9EdXJhdGlvbi1oVChyKSkvbS52aWRlb0R1cmF0aW9uKjEwMH0lYH0sImJhY2tncm91bmQtY29sb3IiOigpPT57YTp7dmFyIG09aygpO3N3aXRjaChtLkxkKXtjYXNlICJwZW5kaW5nIjptPQptLkJnPyJ3aGl0ZSI6InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSkiO2JyZWFrIGE7Y2FzZSAiYWN0aXZlIjptPW0uQmc/IndoaXRlIjoicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSI7YnJlYWsgYTtkZWZhdWx0Om09IiJ9fXJldHVybmAke219YH0sImJhY2tncm91bmQtc2l6ZSI6KCk9PmAke29UKGsoKSk/ZCgpOiIifXB4YCwiYmFja2dyb3VuZC1wb3NpdGlvbi14IjooKT0+YCR7b1QoaygpKT9lKCk6IiJ9cHhgLGJhY2tncm91bmQ6KCk9PmsoKS5MZD09PSJzZWVuIj9sKCk6dm9pZCAwfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJMb2FkZWQiLHN0eWxlOigpPT57dmFyIG09YSgpLG49YigpLHA9YygpO2lmKGlUKG0sbixwKS5MZD09PSJzZWVuIil2YXIgcj0wO2Vsc2Ugcj1oVChfLkIobltwXSxlVCkpLG49aFQoXy5CKG5bcCsxXSxlVCkpfHxtLnZpZGVvRHVyYXRpb24sbT1tLnZpZGVvRHVyYXRpb24qbS5RbSxyPW48PQptPzE6cj49bT8wOihtLXIpLyhuLXIpO3JldHVybmB3aWR0aDogJHtyKjEwMH0lYH19KSxfLksoImRpdiIse2NsYXNzOiJ5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbCIsc3R5bGU6Xy5JRSh7d2lkdGg6KCk9PmAke25UKGEoKSxiKCksYygpKSoxMDB9JWAsImJhY2tncm91bmQtc2l6ZSI6KCk9PmAke29UKGsoKSxuVChhKCksYigpLGMoKSkpP2QoKToiIn1weGAsImJhY2tncm91bmQtcG9zaXRpb24teCI6KCk9PmAke29UKGsoKSxuVChhKCksYigpLGMoKSkpP2UoKToiIn1weGAsYmFja2dyb3VuZDpsfSl9KSl9LCJxYyIpO3ZhciB2Vj1fLkwoKHtMYjphLGNvbmZpZzpifSk9Pnt2YXIgYz0oKT0+e3ZhciBkPShiKCkuU2k/Lk11Pz8wKSoxMDAsZT0oYigpLlNpPy5MdT8/MCkqMTAwLGY9ZS1kO3JldHVybiBmPjAmJmY8MTA/KGY9KDEwLWYpLzIsZC1mPj0wJiZlK2Y8MTAwP1tkLWYsZStmXTpkLWY8MD9bMCwxMF06WzkwLDEwMF0pOltkLGVdfTtyZXR1cm4gXy5LKCJ5dC1mb2N1c2VkLWNoYXB0ZXItcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZUhvc3QifSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZSIse3l0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVkOigpPT5iKCkuWHoseXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0OigpPT5iKCkucG9zaXRpb249PT0yfSl9LF8uSygiZGl2IiwKe2NsYXNzOiJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kIixzdHlsZTooKT0+YHdpZHRoOiAke2MoKVsxXS1jKClbMF19JTsgbGVmdDogJHtjKClbMF19JWB9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhclBsYXllZCIsc3R5bGU6KCk9Pnt2YXIgZD1iKCkuU2k/Lk11Pz8wLGU9YigpLlNpPy5MdT8/MCxmPXdTKGEoKSk7cmV0dXJuYHdpZHRoOiAke2Y8ZD8wOmY+ZXx8ZT09PWQ/MTAwOihmLWQpLyhlLWQpKjEwMH0lO2B9fSkpKSl9LCJyYyIpO3ZWLmlkb21Db21wYXQ9ITA7dmFyIEJtYT0oKGEsYj1abGEpPT57dmFyIGMsZD1bXSxlLGY9ITE7cmV0dXJuIGZ1bmN0aW9uKC4uLmgpe2lmKGYmJmM9PT10aGlzJiZiKGgsZCkpcmV0dXJuIGU7ZT1hLmFwcGx5KHRoaXMsaCk7Zj0hMDtjPXRoaXM7ZD1oO3JldHVybiBlfX0pKGE9Pnt2YXIge21pbkhlaWdodERwOmI9MCxtYXhIZWlnaHREcDpjPTYwLGhlYXRNYXJrZXJzOmR9PWEsZT0xRTMvZC5sZW5ndGg7YT1bXTthLnB1c2goe3g6MCx5OjEwMH0pO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgaD0oZisuNSkqZSxrPTEwMC1EUSgoXy5CKGRbZl0sZ21hKT8uaGVhdE1hcmtlckludGVuc2l0eVNjb3JlTm9ybWFsaXplZHx8MCkqMTAwLGIvMzIxKjEwMCxjLzMyMSoxMDApO2YhPT0wfHxhLnB1c2goe3g6MCx5Omt9KTthLnB1c2goe3g6aCx5Omt9KTtmPT09ZC5sZW5ndGgtMSYmYS5wdXNoKHt4OjFFMyx5Omt9KX1hLnB1c2goe3g6MUUzLHk6MTAwfSk7ZT0iIjtmb3IoZj0wO2Y8YS5sZW5ndGg7ZisrKXtoPQphW2ZdO2lmKGY9PT0wKWg9YE0gJHtoLngudG9GaXhlZCgxKX0sJHtoLnkudG9GaXhlZCgxKX1gO2Vsc2V7az1MUihhW2YtMV0sYVtmLTJdLGgpO2xldCBsPUxSKGgsYVtmLTFdLGFbZisxXSwhMCk7aD1gICR7YEMgJHtrLngudG9GaXhlZCgxKX0sJHtrLnkudG9GaXhlZCgxKX0gJHtsLngudG9GaXhlZCgxKX0sJHtsLnkudG9GaXhlZCgxKX0gJHtoLngudG9GaXhlZCgxKX0sJHtoLnkudG9GaXhlZCgxKX1gfWB9ZSs9aH1yZXR1cm4gZX0pO3ZhciBDbWE9Xy5MKCh7TGI6YSxjb25maWc6YixoaWdoQ29udHJhc3Q6Y30pPT57Yz1fLlAoInl0SGVhdFNlZWtlckhvc3QiLHt5dEhlYXRTZWVrZXJIaWdoQ29udHJhc3Q6Y30pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1oZWF0c2Vla2VyIix7Y2xhc3M6YyxzdHlsZTooKT0+YGhlaWdodDogMzIwcHg7IGRpc3BsYXk6ICR7YSgpLmlzRHJhZ2dpbmcmJkZTKGIoKS5SYSk/LmhlYXRNYXJrZXJzPyJibG9jayI6Im5vbmUifWB9LF8uSyhfLk8se0E6KCk9PkZTKGIoKS5SYSksdGhlbjpkPT5fLksoXy5PLHtBOigpPT5kKCkuaGVhdE1hcmtlcnMsdGhlbjooKT0+Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIzMjBweCIsdmlld0JveDoiMCAwIDEwMDAgMTAwIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIn0sXy5LKCJwYXRoIix7ZDooKT0+Qm1hKGQoKSl9KSksZGVidWdJbnN0YW5jZToiR2ppMFNlIn0pLGRlYnVnSW5zdGFuY2U6ImlWVFh3ZiJ9KSl9LCJzYyIpO3ZhciB3Vj1fLkwoKHtMYjphLGNvbmZpZzpifSk9Pnt2YXIgYz1fLlAoInl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lIix7eXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVkOigpPT5iKCkuWHoseXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVCb3R0b21JbnNldDooKT0+YigpLnBvc2l0aW9uPT09Mn0pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1saW5lIix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJMaW5lSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmQifSksXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxvYWRlZCIsc3R5bGU6KCk9PmB3aWR0aDogJHthKCkuUW0qMTAwfSVgfSksXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckhvdmVyZWQiLHN0eWxlOigpPT57dmFyIGQ9CmEoKTtyZXR1cm5gd2lkdGg6ICR7KGQudmlkZW9EdXJhdGlvbj9EUShkLmRqL2QudmlkZW9EdXJhdGlvbiwwLDEpOjApKjEwMH0lYH19KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVkIixzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7d1MoYSgpKSoxMDB9JWAsYmFja2dyb3VuZDooKT0+YigpLnByb2dyZXNzQ29sb3IhPT12b2lkIDA/Xy5KRShiKCkucHJvZ3Jlc3NDb2xvcik6dm9pZCAwfSl9KSkpfSwidGMiKTt3Vi5pZG9tQ29tcGF0PSEwO3ZhciB4Vj1fLkwoKHtMYjphLGhmOmIsQng6YyxXdzpkfSk9Pnt2YXIgZT1fLlAoInl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3QiLHt5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90TGFyZ2U6KCk9PmEoKS5pc0RyYWdnaW5nLHl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RIaWRlOigpPT4hYSgpLmlzRHJhZ2dpbmcmJmQoKX0pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1wbGF5aGVhZCIse2NsYXNzOiJ5dFByb2dyZXNzQmFyUGxheWhlYWRIb3N0IixzdHlsZTpfLklFKHsibWFyZ2luLWxlZnQiOigpPT5gJHt4UyhhKCkpKjEwMH0lYCx0cmFuc2Zvcm06KCk9PmI/LigpPy5wbGF5aGVhZEltYWdlP2B0cmFuc2xhdGVYKC0ke2MoKT94UyhhKCkpKjIwOjEwfXB4KWA6YHRyYW5zbGF0ZVgoLSR7YygpP3hTKGEoKSkqMTI6Nn1weClgfSl9LF8uSyhfLk8se0E6KCk9PmI/LigpPy5wbGF5aGVhZEltYWdlLAp0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tIix7eXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUxhcmdlOigpPT5hKCkuaXNEcmFnZ2luZyx5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tSGlkZTooKT0+IWEoKS5pc0RyYWdnaW5nJiZkKCl9KSxzdHlsZTpfLklFKHsidHJhbnNmb3JtLW9yaWdpbiI6KCk9PmAke2MoKT94UyhhKCkpKjIwOjEwfXB4IGNlbnRlcmB9KX0sXy5LKF8uakYse2RhdGE6ZixhbHQ6IiIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsVGI6ITF9KSksVzooKT0+Xy5LKCJkaXYiLHtjbGFzczplLHN0eWxlOl8uSUUoeyJ0cmFuc2Zvcm0tb3JpZ2luIjooKT0+YCR7YygpP3hTKGEoKSkqMTI6Nn1weCBjZW50ZXJgfSl9KX0pKX0sInVjIik7eFYuaWRvbUNvbXBhdD0hMDt2YXIgRG1hPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQsZSxmKXt0aGlzLkk9YTt0aGlzLkI9Yjt0aGlzLks9Yzt0aGlzLlU9ZDt0aGlzLlo9ZTt0aGlzLk09Zjt0aGlzLnN0YXJ0UG9zaXRpb249bnVsbDt0aGlzLmo9dGhpcy52PXRoaXMubz0hMTt0aGlzLkQ9bmV3IF8uV3QodGhpcy5ZLDEwMCx0aGlzKX1ZKGEsYixjKXtpZihiPWIuSCl7aWYoYi5nZXRWaWRlb0RhdGEoKT8uaXNMaXZlKXtsZXQgZD10aGlzLmdldFByb2dyZXNzU3RhdGUoYik7YSs9ZD8uc2Vla2FibGVTdGFydHx8MH1iLnNlZWtUbyhhLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGMpfX1nZXRQcm9ncmVzc1N0YXRlKGEpe3ZhciBiPWE/LmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk7cmV0dXJuIGE/LmdldFByb2dyZXNzU3RhdGUoYil9fTt2YXIgRm1hPV8uTCgoe0xiOmEsY29uZmlnOmIsWm06YyxSYTpkfSk9Pnt2YXIgZT1EVChhLCgpPT5iKCkuSWIpLGY9KCk9PiFhKCkuUWMmJiFiKCkuSWIsaD1fLlAoInl0UGxheWVyU3Rvcnlib2FyZEhvc3QiLCJ5dFBsYXllclN0b3J5Ym9hcmRIb3N0QmlnYm9hcmQiLHt5dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0czooKT0+YigpLkliJiYhMH0pO3JldHVybiBfLksoInl0LXBsYXllci1zdG9yeWJvYXJkIixudWxsLF8uSyhfLk8se0E6KCk9PmEoKS5pc0RyYWdnaW5nfHxhKCkuUWMsdGhlbjooKT0+Xy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmgsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyh5Vix7cHJvcHM6YSxjb25maWc6YixlZTohMCxSYTpkfSkpLFc6KCk9Pl8uSyhFbWEse3Byb3BzOmEsZnJhbWU6ZSxjb25maWc6YixabTpjLFJhOmR9KX0pfSl9KSl9LCJ2YyIpLEdtYT1fLkwoKHtMYjphLEliOmJ9KT0+Cnt2YXIgYz1EVChhLGIpO3JldHVybiBfLksoInl0LXBsYXllci1iaWctc3Rvcnlib2FyZCIse2NsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRCaWdib2FyZFdyYXBwZXIifSxfLksoXy5PLHtBOigpPT5hKCkuaXNEcmFnZ2luZ3x8YSgpLlFjLHRoZW46KCk9Pl8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoelYse2ZyYW1lOmMscHJvcHM6YSxlZTohMH0pfSl9KSl9LCJ3YyIpLEVtYT1fLkwoKHtwcm9wczphLGZyYW1lOmIsY29uZmlnOmMsWm06ZCxSYTplfSk9Pnt2YXIgZj1fLlAoInl0UGxheWVyU3Rvcnlib2FyZEhvc3QiLHt5dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0czooKT0+YygpLkliJiYhMCx5dFBsYXllclN0b3J5Ym9hcmRIb3N0SW5saW5lUGxheWVyOigpPT5jKCkueHEseXRQbGF5ZXJTdG9yeWJvYXJkSG9zdEZhZGVJbjooKT0+YygpLnVzZUZhZGVJbkFuaW1hdGlvbn0pLGg9KCk9PntpZighXy54KCJlbmFibGVfd2ViX3dhdGNoX25leHRfaW1wX2NsaWVudCIpfHwhYygpLnhxKXJldHVybiAxOwp2YXIgaz1hKCkuSD8uZ2V0U2l6ZSgpPy5oZWlnaHQ/PzA7cmV0dXJuIGs+MCYmazwxNjA/ay8xNjA6MX07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6ZiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixzdHlsZTpfLklFKCgpPT57dmFyIGs9YSgpLGw9eVQoYigpKSpoKCksbT1kKCk7az1BVChrKS9rLnZpZGVvRHVyYXRpb247dmFyIG49bSprLHA9bC8yKzY7bD1tLShsLzIrNik7cmV0dXJue2xlZnQ6YCR7bjw9cD9wL20qMTAwOm4+PWw/bC9tKjEwMDprKjEwMH0lYCwiLS1zdG9yeWJvYXJkLXNjYWxlIjpgJHtoKCl9YH19KX0sXy5LKF8uTyx7QTooKT0+e3ZhciBrPWEoKTtyZXR1cm4hKGMoKS5JYiYmay52aWRlb0R1cmF0aW9uPDE1KX0sdGhlbjooKT0+Xy5LKHpWLHtmcmFtZTpiLHByb3BzOmEsZWU6ITEsekE6aH0pfSksXy5LKHlWLHtwcm9wczphLGNvbmZpZzpjLGVlOiExLFJhOmV9KSl9LCJ4YyIpLHpWPV8uTCgoe2ZyYW1lOmEscHJvcHM6YixlZTpjLHpBOmR9KT0+e3ZhciBlPSgpPT5iKCkuSD8uZ2V0VmlkZW9Db250ZW50UmVjdCgpPz8Ke3dpZHRoOjAsaGVpZ2h0OjB9LGY9Xy5QKHt5dFBsYXllclN0b3J5Ym9hcmRCaWdib2FyZEltYWdlV3JhcHBlcjpjLHl0UGxheWVyU3Rvcnlib2FyZFN0b3J5Ym9hcmRJbWFnZVdyYXBwZXI6KCk9PiFjKCl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOl8uSUUoKCk9Pih7d2lkdGg6YCR7YygpP2UoKS53aWR0aDp5VChhKCkpKihkPy4oKT8/MSl9cHhgLGhlaWdodDpgJHtjKCk/ZSgpLmhlaWdodDp6VChhKCkpKihkPy4oKT8/MSl9cHhgfSkpfSxfLksoSG1hLHtmcmFtZTphLFBBOigpPT55VChhKCkpLE5BOigpPT56VChhKCkpLE9BOigpPT57dmFyIGg9eVQoYSgpKTtyZXR1cm4gaD4wPyhjKCk/ZSgpLndpZHRoOnlUKGEoKSkqKGQ/LigpPz8xKSkvaDoxfX0pKX0sInljIiksSG1hPV8uTCgoe2ZyYW1lOmEsUEE6YixOQTpjLE9BOmR9KT0+Xy5LKCJpbWciLHtzcmM6KCk9PmEoKT8udXJsPz8iIixjbGFzczoieXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlIixhbHQ6InByZXZpZXctaW1hZ2UiLApzdHlsZTpfLklFKCgpPT57dmFyIGU9YSgpPz97cm93OjAsY29sdW1uOjAsd2lkdGg6MCxoZWlnaHQ6MH0sZj1iKCksaD1jKCksaz1kKCkse2xlZnQ6bCx0b3A6bX09e2xlZnQ6LWUuY29sdW1uKmYqayx0b3A6LWUucm93Kmgqa307cmV0dXJue2xlZnQ6YCR7bH1weGAsdG9wOmAke219cHhgLHdpZHRoOmAke2Uud2lkdGgqa31weGAsaGVpZ2h0OmAke2UuaGVpZ2h0Kmt9cHhgfX0pfSksInpjIikseVY9Xy5MKCh7cHJvcHM6YSxjb25maWc6YixlZTpjLFJhOmR9KT0+e3ZhciBlPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGEiLHt5dFBsYXllclN0b3J5Ym9hcmRNZXRhZGF0YUJpZ2JvYXJkOmN9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczplfSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoQVYse3Byb3BzOmEsY29uZmlnOmJ9KSxfLksoXy5PLHtBOigpPT57YTp7dmFyIGY9YSgpO3ZhciBoPWIoKSxrPWQoKTtpZihoPy5SZyYmXy5CKGg/LlJnLGVUKT8udGl0bGUpZj0KITA7ZWxzZXtmb3IobGV0IGwgb2YgRlMoayk/LmhlYXRNYXJrZXJzRGVjb3JhdGlvbnM/P1tdKXtmPShoPV8uQihsLHFWKSkmJkJUKGYsaCk7YnJlYWsgYX1mPSExfX1yZXR1cm4gZn0sdGhlbjooKT0+Xy5LKEJWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KX0pKSxXOigpPT5fLksoXy5JQixudWxsLF8uSyhCVix7cHJvcHM6YSxjb25maWc6YixlZTohMCxSYTpkfSksXy5LKEFWLHtwcm9wczphLGNvbmZpZzpifSkpfSkpfSwiQWMiKSxBVj1fLkwoKHtwcm9wczphLGNvbmZpZzpifSk9Pnt2YXIgYz1fLlAoInl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcCIse3l0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0czooKT0+YigpLkliLHl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmc6KCk9PmEoKS5RY3x8YigpLkliJiYhMX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmN9LF8uSyhfLklCLG51bGwsKCk9PkNUKEFUKGEoKSkpKSl9LCJCYyIpLEJWPV8uTCgoe3Byb3BzOmEsCmNvbmZpZzpiLGVlOmMsUmE6ZH0pPT57Yz1fLlAoInl0UGxheWVyU3Rvcnlib2FyZFRpdGxlIix7eXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGVCaWdib2FyZDpjfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uTyx7QTooKT0+IWIoKS5JYix0aGVuOigpPT5fLksoSW1hLHtwcm9wczphLFJnOigpPT5iKCkuUmcsUmE6ZH0pfSkpfSwiQ2MiKSxJbWE9Xy5MKCh7cHJvcHM6YSxSZzpiLFJhOmN9KT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5nRyx7cGE6KCk9Pnt2YXIgZD1jKCk7cmV0dXJuIEZTKGQpPy5oZWF0TWFya2Vyc0RlY29yYXRpb25zPz9bXX0sdGI6IklOREVYIn0sZD0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT5fLkIoZCgpLHFWKSYmQlQoYSgpLF8uQihkKCkscVYpKSx0aGVuOigpPT5fLksoSm1hLHtjQjooKT0+Xy5CKGQoKSxxVil9KX0pKSksXy5LKF8uTyx7QTooKT0+YigpJiZfLkIoYigpLGVUKT8udGl0bGUsdGhlbjpkPT5fLksoXy5WLHt0ZXh0OmQscmc6ITB9KX0pKSwKIkRjIiksSm1hPV8uTCgoe2NCOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoImRpdiIse2NsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb25XcmFwcGVyIn0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uLGNsYXNzTmFtZToieXRQbGF5ZXJTdG9yeWJvYXJkVGltZWRNYXJrZXJJY29uIn0pKSxfLksoXy5WLHt0ZXh0OigpPT5hKCkubGFiZWwscmc6ITB9KSksIkVjIik7dmFyIENWPV8uTCgoe0xiOmEsaGY6Yixjb25maWc6Y30pPT57dmFyIGQ9Xy51RSgieXQtcHJvZ3Jlc3MtYmFyIiksZT1fLnVFKCJkaXYiKSxmPV8udUUoImRpdiIpLFtoLGtdPV8uSih7d2lkdGg6MCxsZWZ0OjB9LHZvaWQgMCwiZDFic2JmIiksbD0oKT0+e2YudmFsdWUmJmsoZi52YWx1ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9LG09KCk9PntoKCkud2lkdGg8PTAmJmwoKTtyZXR1cm4gaCgpfTtfLkRQKCJyZXNpemUiLGwpO3ZhciBuPW5ldyBEbWEobSwoKT0+e30sKCk9PjAsKCk9Pnt9LCgpPT57fSwoKT0+e30pLHA9KCk9PmEoKSxbcix0XT1fLkooITEsdm9pZCAwLCJjVnNUSyIpO18uRFAoIm1vdXNlbW92ZSIsWWthKG4scCxjKSk7Xy5EUCgibW91c2V1cCIseFQobixwLGMpKTt2YXIgdjtfLlVKKCgpPT57R2thKGUudmFsdWUpO3QoITEpO2woKTt4VChuLHAsYykoKTtjKCkuaWomJih2PW5ldyBSZXNpemVPYnNlcnZlcihsKSx2Lm9ic2VydmUoZi52YWx1ZSkpO18uWXUoKCk9Pgp7dj8uZGlzY29ubmVjdCgpfSl9KTt2YXIgej1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0IiwoKT0+YygpLmNsYXNzTmFtZSx7eXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RSZWFkT25seTooKT0+YygpLmRpc2FibGVTY3J1YmJpbmcseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RIaWRkZW46KCk9PmMoKS5rSiYmIXIoKSx5dFBsYXllclByb2dyZXNzQmFySG9zdExvd2VyUGxheWVyOigpPT5jKCkucG9zaXRpb249PT0wLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Qm90dG9tRWRnZTooKT0+YygpLnBvc2l0aW9uPT09MSx5dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0OigpPT5jKCkucG9zaXRpb249PT0yLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Q3VzdG9tOigpPT5jKCkucG9zaXRpb249PT0zfSksRT1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kIix7eXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmRIaWRlOigpPT5jKCkucG9zaXRpb249PT0yJiYhcigpJiYKIWEoKS5pc0RyYWdnaW5nfSksQT1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJEcmFnQ29udGFpbmVyIix7eXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdlOigpPT5jKCkucG9zaXRpb249PT0xfSksRj1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhciIse3l0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0OigpPT5jKCkucG9zaXRpb249PT0yLHl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0TWluaW1pemVkOigpPT5jKCkucG9zaXRpb249PT0yJiYhcigpJiYhYSgpLmlzRHJhZ2dpbmd9KSxDPSgpPT5NYXRoLmZsb29yKHdTKGEoKSkqMTAwKTtyZXR1cm4gXy5LKCJ5dC1wcm9ncmVzcy1iYXIiLHtlbDpkLGNsYXNzOnp9LF8uSyhfLk8se0E6KCk9PmMoKS5wb3NpdGlvbj09PTIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpFfSl9KSxfLksoImRpdiIse2VsOmUsIm9uOmNsaWNrIjpmdW5jdGlvbihHKXsoYygpLkRJfHx0eXBlb2YgUG9pbnRlckV2ZW50IT09CiJ1bmRlZmluZWQiJiZHIGluc3RhbmNlb2YgUG9pbnRlckV2ZW50JiZHLnBvaW50ZXJUeXBlPT09Im1vdXNlIikmJk9rYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKEcpe1BrYShuLHApKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKEcpe1JrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNlZW50ZXIiOmZ1bmN0aW9uKCl7dCghMCk7YygpLnBvc2l0aW9uPT09Mj9zZXRUaW1lb3V0KCgpPT57bCgpfSwxMDApOmwoKX0sIm9uOm1vdXNlZG93biI6ZnVuY3Rpb24oRyl7UWthKG4scCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKCl7dCghMSk7VGthKHApKCl9LCJvbjptb3VzZW1vdmUiOmZ1bmN0aW9uKEcpe1NrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNldXAiOmZ1bmN0aW9uKEcpe1ZrYShuLApwLGMpKEcpO3IoKSYmYSgpLlMoe1FjOiEwfSk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoZW5kIjpmdW5jdGlvbihHKXtVa2EobixwLGMpKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaGNhbmNlbCI6ZnVuY3Rpb24oRyl7V2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246a2V5ZG93biI6ZnVuY3Rpb24oRyl7WGthKHApKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LGNsYXNzOkEscm9sZToic2xpZGVyIiwiYXJpYS12YWx1ZW5vdyI6QywiYXJpYS12YWx1ZXRleHQiOigpPT5gJHtDKCl9JWAsImFyaWEtdmFsdWVtaW4iOigpPT4wLCJhcmlhLXZhbHVlbWF4IjooKT0+MTAwLGRyYWdnYWJsZToiZmFsc2UiLHRhYmluZGV4OjAsImFyaWEtbGFiZWwiOl8uYUEoIlNFRUtfU0xJREVSIil9LF8uSygiZGl2Iix7ZWw6ZixjbGFzczpGfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXIiLHt5dFBsYXllclByb2dyZXNzQmFySGVhdHNlZWtlckNvbnRhaW5lckluc2V0OigpPT4KYygpLnBvc2l0aW9uPT09Mn0pfSxfLksoQ21hLHtMYjphLGNvbmZpZzpjLGhpZ2hDb250cmFzdDooKT0+ISFjKCkuaWomJmMoKS5wb3NpdGlvbiE9PTJ9KSksXy5LKF8uTyx7QTooKT0+YygpLlJhJiZ6a2EoYygpLlJhKSx0aGVuOigpPT5fLksoQW1hLHtKejphLG11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyOigpPT5jKCkuUmEscHJvZ3Jlc3NCYXJXaWR0aDooKT0+aCgpLndpZHRoLHByb2dyZXNzQ29sb3I6KCk9PmMoKS5wcm9ncmVzc0NvbG9yfSksVzooKT0+Xy5LKF8uTyx7QTooKT0+YygpLlNpLHRoZW46KCk9Pl8uSyh2Vix7TGI6YSxjb25maWc6Y30pLFc6KCk9Pl8uSyh3Vix7TGI6YSxjb25maWc6Y30pfSl9KSxfLksoeFYse0xiOmEsaGY6KCk9Pl8ueCgiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiIpP2MoKS5oZjpiPy4oKSxCeDooKT0+YygpLnBvc2l0aW9uIT09MixXdzooKT0+YygpLnhyPT09MSYmIXIoKXx8YygpLnhyPT09Mn0pKSksXy5LKEZtYSx7TGI6YSxjb25maWc6KCk9Pgooe1JnOmxUKGEoKSxjKCkuUmEpLGRKOigpPT5tKCkud2lkdGgsSWI6ISFjKCkuSWIseHE6ISFjKCkuaWosdXNlRmFkZUluQW5pbWF0aW9uOiEhYygpLmlqfSksWm06KCk9PmgoKS53aWR0aCxSYTooKT0+YygpLlJhfSkpfSwiRmMiKTtDVi5pZG9tQ29tcGF0PSEwO3ZhciBEVj1fLkwoYT0+e3ZhciBiPSgpPT57dmFyIGQ9YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LigpO2lmKGQpcmV0dXJuIHpTKGQpfSxjPSgpPT57dmFyIGQ9YigpO2lmKGQpe3ZhciBlPWEuSm8oKS5hdXRvbmF2RW5hYmxlZDtyZXR1cm4gXy5hTihlP18uQihkLmVuYWJsZWRFZHVDb21tYW5kLFdVKT8udGV4dDpfLkIoZC5kaXNhYmxlZEVkdUNvbW1hbmQsV1UpPy50ZXh0KX19O3JldHVybiBfLksoXy5PLHtBOigpPT5hLkpvKCkuWWgmJiEhYigpLHRoZW46KCk9Pl8uSygiYXV0b25hdi10b29sdGlwIix7Y2xhc3M6Inl0d0F1dG9uYXZUb29sdGlwSG9zdCIscm9sZToiYWxlcnQifSxfLksoInNwYW4iLHsiYXJpYS1sYWJlbCI6Yyxyb2xlOiJ0ZXh0In0sYykpfSl9LCJHYyIpO0RWLmlkb21Db21wYXQ9ITA7dmFyIEVWPV8uTChhPT57dmFyIGI9Xy52RSgic3BlZWRtYXN0ZXItdG9vbHRpcCIpLGM9Xy5OKCgpPT5hLkcoKS5zYix2b2lkIDAsIkVzVFJsYyIpO18ubkUoKCk9PntpZihjKCkmJmIudmFsdWUpe2xldCBkPW51bGw7U1MoMTczMDQwLGIudmFsdWUsZCxlPT57ZD1lfSl9fSwiQXZwR0lmIik7cmV0dXJuIF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoInNwZWVkbWFzdGVyLXRvb2x0aXAiLHtlbDpiLGNsYXNzOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWwifSxfLiROLkd0KSxfLksoXy5NRCx7aWNvbjoiRkFTVF9GT1JXQVJEIixhY3RpdmU6ITAsY2xhc3NOYW1lOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBJY29uIn0pKX0pfSwiSWMiKTtFVi5pZG9tQ29tcGF0PSEwO3ZhciBGVj1fLkwoYT0+Xy5LKCJwbGF5ZXItdXNlci1lZHUtdG9vbHRpcCIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcEhvc3QifSxfLksoRFYse0pvOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBXcmFwcGVyIn0sXy5LKEVWLHtHOmEuR30pKSkpLCJKYyIpO0ZWLmlkb21Db21wYXQ9ITA7dmFyIFprYT1bMCwxLDIwLDIxXTt2YXIgYWxhPVswLDEsMjAsMjFdLEdUPXZvaWQgMDt2YXIgS21hPV8uTCgoe3VkOmEsRXI6Yn0pPT57ZnVuY3Rpb24gYyhwKXtwLnRvdWNoZXM/LlswXSYmKHA9cC50b3VjaGVzWzBdLGsoe3g6cC5wYWdlWCx5OnAucGFnZVl9KSl9ZnVuY3Rpb24gZChwKXt2YXIgcj1oKCk7aWYoIXJ8fCFwLnRvdWNoZXM/LlswXSlyZXR1cm4gbnVsbDtwPXAudG91Y2hlc1swXTtyZXR1cm57bGs6cC5wYWdlWC1yLngsT2Q6cC5wYWdlWS1yLnl9fXZhciBbZSxmXT1fLkoobnVsbCx2b2lkIDAsIkFoMzBnIiksaD1lLGs9ZixbbCxtXT1fLkoodm9pZCAwLHZvaWQgMCwiUW83NmhkIik7Xy5ZdSgoKT0+e0ZUKGEoKSk7bShFVChsKCkpKX0pO3ZhciBuPXtHYjooKT0+Xy5LKCJkaXYiLG51bGwsXy5LKF8uVyx7ZGF0YTooKT0+Yj8uKCk/Lm1lbnVSZW5kZXJlcj8uaXRlbXN8fFtdfSx7bGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnB9KT0+Xy5LKF8ucEwse2RhdGE6cCxJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOl8uZkp9KSksSGE6ITB9O3JldHVybiBfLksoInl0bS1zaG9ydHMtZ2VzdHVyZS1vdmVybGF5LWNvbnRyb2xzIiwKe2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZU92ZXJsYXkifSxfLksoRlYse0c6YX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc1NwZWVkbWFzdGVyR2VzdHVyZUFyZWEiLCJvbjp0b3VjaHN0YXJ0IjpwPT57YyhwKTtIVChhKCkscC50b3VjaGVzLmxlbmd0aCl9LCJvbjp0b3VjaG1vdmUiOnA9Pnt2YXIgcj1kKHApO3ImJklUKHAscixhKCkpfSwib246dG91Y2hlbmQiOigpPT57RlQoYSgpKTtrKG51bGwpfSwib246dG91Y2hjYW5jZWwiOigpPT57RlQoYSgpKTtrKG51bGwpfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNNZW51R2VzdHVyZUFyZWEiLCJvbjp0b3VjaHN0YXJ0IjpwPT57YyhwKTttKCRrYShhKCkscC50b3VjaGVzLmxlbmd0aCwKKCk9PntfLnlOKG4pfSxsKCkpKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7aWYocil7cD1sKCk7dmFyIHQ9ci5saztyPXIuT2Q7cD1NYXRoLnNxcnQodCp0K3Iqcik+Xy5zaigic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIiwxMCk/RVQocCk6cDttKHApfX0sIm9uOnRvdWNoZW5kIjooKT0+e20oRVQobCgpKSk7ayhudWxsKX0sIm9uOnRvdWNoY2FuY2VsIjooKT0+e20oRVQobCgpKSk7ayhudWxsKX19KSxfLksoImRpdiIse2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO0hUKGEoKSxwLnRvdWNoZXMubGVuZ3RoKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7ciYmSVQocCxyLGEoKSl9LCJvbjp0b3VjaGVuZCI6KCk9PntGVChhKCkpO2sobnVsbCl9LCJvbjp0b3VjaGNhbmNlbCI6KCk9PntGVChhKCkpO2sobnVsbCl9fSkpKX0sIktjIik7dmFyIEdWPV8uTChhPT57dmFyIGI9Xy51RSgiZGl2IiksYz1fLk4oKCk9PmEudGh1bWJuYWlsRGV0YWlscz8uKCksdm9pZCAwLCJFODhVR2QiKSxkPV8uTigoKT0+YS5HKCkuYmEsdm9pZCAwLCJYdEdBbWUiKTtfLm5FKCgpPT57Y2xhKGIudmFsdWUsYygpLGQoKSl9LCJ5QWtpaWMiKTtyZXR1cm4gXy5LKCJ2aWRlby1jb3ZlciIse2NsYXNzOl8uUCgieXRtVmlkZW9Db3Zlckhvc3QiLHtlbmRlZDooKT0+dVMoYS5HKCkpLGhpZGRlbjooKT0+e3ZhciBlPWEuRygpO3JldHVybiEoJFMoZSl8fHVTKGUpKX19KX0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9Db3ZlclRodW1ibmFpbCIsZWw6Yn0pKX0sIk1jIik7R1YuaWRvbUNvbXBhdD0hMDtuZXcgXy5XdChlbGEsMjAwKTt2YXIgU1Q9MDt2YXIgVVQ9SlIoKSxWVD0hMTtuZXcgXy5DdCgicGxheWVyU2V0dGluZ3NNZW51IiwiTnhkM3VmIik7dmFyIExtYT1fLkwoKHtnZjphLEV4OmIscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6Y30pPT57dmFyIGQ9Xy5QKCJ5dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3QiLHt5dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3RJc1NjcnViYmFibGVNb2RlOigpPT5YVChhKCksYigpKX0se3l0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdEhpZGVQcm9ncmVzc0JhcjooKT0+V1QoYSgpLGIoKSkmJmEoKS52aWRlb0R1cmF0aW9uPD0zMH0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmR9LF8uSyhDVix7TGI6YSxjb25maWc6KCk9Pnt2YXIgZT17SWI6ITAscG9zaXRpb246MyxkaXNhYmxlU2NydWJiaW5nOiFYVChhKCksYigpKSxJbjohMSx4cjpYVChhKCksYigpKT8wOjEsb25Ub3VjaE1vdmU6KCk9PnthKCkuZ2V8fChhKCkuUyh7Z2U6ITB9KSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVwZGF0ZS1zaG9ydHMtb3ZlcmxheS12aXNpYmlsaXR5Iix7YnViYmxlczohMCwKZGV0YWlsOntnZTohMH19KSkpfSxvblRvdWNoRW5kOmg9PntVUyhoKTthKCkuUyh7Z2U6ITF9KTt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVwZGF0ZS1zaG9ydHMtb3ZlcmxheS12aXNpYmlsaXR5Iix7YnViYmxlczohMCxkZXRhaWw6e2dlOiExfX0pKX19LGY9Yz8uKCk7cmV0dXJuIGY/LnBsYXloZWFkSW1hZ2U/ey4uLmUsaGY6e3BsYXloZWFkSW1hZ2U6Zi5wbGF5aGVhZEltYWdlfX06ZX19KSl9LCJRYyIpLE1tYT1fLkwoKHtIOmEsY29udGV4dDpiLHJlZWxQbGF5ZXJTY3J1YmJlclJlbmRlcmVyOmMsRXI6ZH0pPT57dmFyIFtlLGZdPV8uSighMSx2b2lkIDAsIlFjWlNnZCIpLFtoLGtdPV8uSighMSx2b2lkIDAsImNudHpyZiIpLFtsLG1dPV8uSighMSx2b2lkIDAsIlNUSWFlYiIpLFtuLHBdPV8uSighMSx2b2lkIDAsIkN3WGZiYyIpLFtyLHRdPV8uSigwLHZvaWQgMCwiczVLTE1iIiksW3Ysel09Xy5KKDAsdm9pZCAwLCJnamxxTmMiKSxbRSxBXT1fLkooMCwKdm9pZCAwLCJHVWNpWmUiKSxbRixDXT1fLkooIiIsdm9pZCAwLCJ4R0llOCIpLFtHLERdPV8uSighMSx2b2lkIDAsIkZwNUQ0YiIpLEg9Xy5OKCgpPT57dmFyIHBhPXtlYTplKCksZ2U6aCgpLHliOmwoKSxpc0RyYWdnaW5nOm4oKSx2aWRlb0R1cmF0aW9uOnYoKSx2YTpFKCksdmlkZW9JZDpGKCksQ2E6cigpLHNiOkcoKX07cmV0dXJuey4uLmRUKCksLi4ucGEsLi4uKGI/LigpPz97fSksUzpvYT0+e29hLmVhIT09dm9pZCAwJiZmKG9hLmVhKTtvYS5nZSE9PXZvaWQgMCYmayhvYS5nZSk7b2EueWIhPT12b2lkIDAmJm0ob2EueWIpO29hLmlzRHJhZ2dpbmchPT12b2lkIDAmJnAob2EuaXNEcmFnZ2luZyk7b2EuQ2EhPT12b2lkIDAmJnQob2EuQ2EpO29hLnZpZGVvRHVyYXRpb24hPT12b2lkIDAmJnoob2EudmlkZW9EdXJhdGlvbik7b2EudmEhPT12b2lkIDAmJkEob2EudmEpO29hLnZpZGVvSWQhPT12b2lkIDAmJkMob2EudmlkZW9JZCk7b2Euc2IhPT12b2lkIDAmJkQob2Euc2IpfSx0YTp7aXNGdWxsc2NyZWVuOl8uclAsCnRvZ2dsZUZ1bGxzY3JlZW46dWphLGV4aXRGdWxsc2NyZWVuOiRRLGRlOmZsYSxSajpobGEsVWw6aWxhfSxIOmEoKX19LHZvaWQgMCwiVXljTVNiIiksUj1Na2EoSCksTT1Ma2EoSCksUz1La2EoSCksWT0oKT0+e307Xy5vRigoKT0+e3ZhciBwYT1hKCk7cGEmJihwYS5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLFIpLHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixNKSxwYS5hZGRFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixTKSl9KTtfLll1KCgpPT57dmFyIHBhPWEoKTtwYSYmcGE/LmlzUmVhZHk/LigpJiYocGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25WaWRlb1Byb2dyZXNzIixSKSxwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTSkscGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsUykpfSk7cmV0dXJuIF8uSygieXQtbXdlYi1zaG9ydHMtcGxheWVyLWNvbnRyb2xzIix7Y2xhc3M6Xy5QKHtQcm9ncmVzc0JhclNob3dpbmc6KCk9PgpYVChIKCksITApfSl9LF8uSyhfLk8se0E6KCk9PkgoKS5iYT8uWmgsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6SCx0aHVtYm5haWxEZXRhaWxzOll9KSxfLksodVYse0c6SCxIOmF9KSl9KSxfLksoXy5PLHtBOigpPT57dmFyIHBhPUgoKTtyZXR1cm4gWFQocGEsITApfHxXVChwYSwhMCl9LHRoZW46KCk9Pl8uSyhMbWEse2dmOkgsRXg6KCk9PiEwLHJlZWxQbGF5ZXJTY3J1YmJlclJlbmRlcmVyOmN9KX0pLF8uSyhfLk8se0E6KCk9Pl8ueCgibXdlYl9zaG9ydHNfZW5hYmxlX2xvbmdfcHJlc3Nfc3BlZWR1cCIpLHRoZW46KCk9Pl8uSyhfLkNQLHtyb290OiIjZ2VzdHVyZS1sYXllciJ9LCgpPT5fLksoS21hLHt1ZDpILEVyOmR9KSl9KSl9LCJTYyIpO3ZhciBIVj1fLkwoYT0+e2Z1bmN0aW9uIGIoVSl7VSE9PTB8fHIoKT9VPjUwJiYocigpfHwhRSgpKT8odCghMSksQSghMCkpOlU8PTUwJiYocigpfHxFKCkpJiYodCghMSksQSghMSkpOnQoITApfWFzeW5jIGZ1bmN0aW9uIGMoVSxoYSl7KFU9ZSgpPz9hd2FpdCBfLkxIKCkpJiYoaGE/VS51bk11dGUoITApOlUubXV0ZSghMCkpfWFzeW5jIGZ1bmN0aW9uIGQoVSl7dmFyIGhhPWUoKT8/YXdhaXQgXy5MSCgpLG1hPTUwO2hhJiYobWE9aGEuZ2V0Vm9sdW1lKCksaGEuaXNNdXRlZCgpP1pUKFUsMCk6WlQoVSxtYSkpO0cobWEpfXZhciBlPWtsYShhLkgpLGY9Xy51RSgidm9sdW1lLWNvbnRyb2xzIiksaD1fLnVFKCJidXR0b24iKSxrPV8udkUoImlucHV0IiksW2wsbV09Xy5KKCExLHZvaWQgMCwic01jTGxiIiksW24scF09Xy5KKCExLHZvaWQgMCwiZ29OcHYiKSxyPW4sdD1wLFt2LHpdPV8uSighMCx2b2lkIDAsImtBVDk1IiksRT12LEE9eixbRixDXT1fLkooNTAsdm9pZCAwLCJxNXFEMmMiKSwKRz1DLEQ9Xy5OKCgpPT57dmFyIFU9cigpO3JldHVybiBfLngoIndlYl9zaG9ydHNfa2V5Ym9hcmRfZW5hYmxlX211dGVfc2hvcnRjdXQiKT9VP18uYUEoIlBMQVlFUl9MQUJFTF9VTk1VVEUiLHZvaWQgMCwiVW5tdXRlIChtKSIpOl8uYUEoIlBMQVlFUl9MQUJFTF9NVVRFIix2b2lkIDAsIk11dGUgKG0pIik6VT9fLmFBKCJVTk1VVEVfVk9MVU1FIix2b2lkIDAsIlVubXV0ZSIpOl8uYUEoIk1VVEVfVk9MVU1FIix2b2lkIDAsIk11dGUiKX0sdm9pZCAwLCJsUjFzR2MiKSxIPV8uTigoKT0+e3ZhciBVPXIoKSxoYT1FKCk7cmV0dXJue3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOlU/IlZPTFVNRV9PRkZfRklMTEVEIjpoYT8iVk9MVU1FX1VQX0ZJTExFRCI6IlZPTFVNRV9ET1dOX0ZJTExFRCJ9fV19fSx2b2lkIDAsIlNJcWtlYyIpLFI9Xy5OKCgpPT57dmFyIFU9RigpO3JldHVybiByKCk/YCR7VX0lIHZvbHVtZSBtdXRlZGA6YCR7VX0lIHZvbHVtZWB9LHZvaWQgMCwiVGZIUDBkIiksCk09Xy5OKCgpPT5hLm9yaWVudGF0aW9uKCk9PT0idmVydGljYWxfZG93biIsdm9pZCAwLCJaN0YzdWIiKSxTPV8uTigoKT0+TSgpPyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwiLHZvaWQgMCwic1YyTXBiIiksWT1fLk4oKCk9PmEuRHY/LigpPz8hMSx2b2lkIDAsInpvdlVMZSIpLHBhPV8uTigoKT0+YS5DcD8uKCk/PyExLHZvaWQgMCwicEVVaHFlIik7Xy5VSigoKT0+e2Z1bmN0aW9uIFUoKXttKCEwKX1mdW5jdGlvbiBoYSgpe20oITEpfWsmJmsudmFsdWUmJihrLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVKSxrLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSksZChrLnZhbHVlKS50aGVuKCgpPT57YihOdW1iZXIoay52YWx1ZT8udmFsdWU/PzApKX0pKTtoJiZoLnZhbHVlJiYoV1MoaC52YWx1ZSwyODY2MiksaC52YWx1ZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsVSksaC52YWx1ZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsaGEpKTtfLll1KCgpPT4Ke2s/LnZhbHVlPy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsVSk7az8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSk7aD8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixVKTtoPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKX0pfSk7dmFyIG9hPVU9PntVPVUubXV0ZWQ/MDpVLnZvbHVtZTtHKFUpO2IoVSk7ay52YWx1ZSYmWlQoay52YWx1ZSxVKX07Xy5uRSgoKT0+e3ZhciBVPWUoKTtVJiYoVS5hZGRFdmVudExpc3RlbmVyKCJvblZvbHVtZUNoYW5nZSIsb2EpLF8uWXUoKCk9PntVLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uVm9sdW1lQ2hhbmdlIixvYSl9KSl9LCJ4aDNHWmMiKTtyZXR1cm4gXy5LKCJ2b2x1bWUtY29udHJvbHMiLHtjbGFzczpfLlAoInl0ZFZvbHVtZUNvbnRyb2xzSG9zdCIse3l0ZFZvbHVtZUNvbnRyb2xzRGlzYWJsZVNsaWRlcjpwYX0sYS5jbGFzc05hbWUpLGVsOmZ9LF8uSygiZGl2IiwKeyJvbjpwb2ludGVybGVhdmUiOmZ1bmN0aW9uKCl7bSghMSl9LGNsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lciIse3l0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJWZXJ0aWNhbDpNLHl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJFeHBhbmRlZDooKT0+bCgpfSl9LF8uSyhfLk8se0E6KCk9PiFhLmJqPy4oKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW0iLHt5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkOmwseXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZEhvdmVyU3RhdGU6KCk9PmwoKSYmWSgpfSl9KX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uQ29udGFpbmVyOk19KX0sXy5LKCJidXR0b24iLHsiYXJpYS1sYWJlbCI6RCwKdGl0bGU6RCxlbDpoLCJvbjpjbGljayI6ZnVuY3Rpb24oVSl7WFMoMjg2NjIpO2smJmsudmFsdWUmJmMoay52YWx1ZSxyKCkpO1Uuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpwb2ludGVyZW50ZXIiOmZ1bmN0aW9uKCl7bSghMCl9LGNsYXNzOiJ5dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uIn0sSD9fLksoXy5qRix7ZGF0YTpILGFsdDpELGNsYXNzTmFtZToieXRkVm9sdW1lQ29udHJvbHNNdXRlSWNvbiJ9KTpudWxsKSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyIix7eXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJFeHBhbmRlZDpsLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWw6TSx5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRG93bjpNLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxFeHBhbmRlZDooKT0+bCgpJiZNKCkseXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJEaXNhYmxlU2xpZGVyOnBhLAp5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcldpdGhTY3JpbTooKT0+IWEuYmo/LigpfSksIm9uOmNsaWNrIjpmdW5jdGlvbihVKXtVLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKCJpbnB1dCIse2RpcjoibHRyIiwiYXJpYS1sYWJlbCI6Xy5hQSgiVk9MVU1FIiksdGl0bGU6Xy5hQSgiVk9MVU1FIiksZWw6aywib246aW5wdXQiOmZ1bmN0aW9uKFUpe2smJmsudmFsdWUmJmpsYShOdW1iZXIoay52YWx1ZT8udmFsdWU/PzApLGUoKSk7VS5zdG9wUHJvcGFnYXRpb24oKX0sdHlwZToicmFuZ2UiLGNsYXNzOiJ5dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlciIsaWQ6InZvbHVtZS1pbnB1dCIscm9sZToic2xpZGVyIiwiYXJpYS12YWx1ZW5vdyI6RiwiYXJpYS12YWx1ZXRleHQiOlIsImFyaWEtdmFsdWVtaW4iOjAsImFyaWEtdmFsdWVtYXgiOjEwMCwiYXJpYS1vcmllbnRhdGlvbiI6U30pKSkpfSwiVWMiKTt2YXIgTm1hPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYz1hLkcoKSxkPWMuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoO3JldHVybihjLmJhPy5FZXx8Xy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKSkmJiEhZCYmZDw0MjB9O3JldHVybiBfLksoInl0bS1mdWxsc2NyZWVuLXJlbGF0ZWQtdmlkZW9zLWVudHJ5LXBvaW50LXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEhvc3QiLHt5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaXRsZUhpZGRlbjpifSl9LF8uSygiYnV0dG9uIix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24iLHt5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWw6Xy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKX0pLAoib246Y2xpY2siOmZ1bmN0aW9uKGMpe2EuRygpLlMoe05hOiEwfSk7Xy5NTygiLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb24gLm1lZGlhLWl0ZW0taW5mbyBhIik7YlQoKTtjLnN0b3BQcm9wYWdhdGlvbigpfSwiYXJpYS1sYWJlbCI6KCk9PmEuZGF0YSgpLnRpdGxlPy5jb250ZW50Pz8iIn0sXy5LKF8uTyx7QTooKT0+IWIoKSx0aGVuOigpPT5fLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS50aXRsZX0pfSksXy5LKF8uTyx7QTooKT0+YS5kYXRhKCkuaW1hZ2VGcm9udCx0aGVuOmM9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRodW1ibmFpbFN0YWNrIn0sXy5LKF8uTyx7QTooKT0+IV8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil8fCEhYS5kYXRhKCkuaW1hZ2VCYWNrLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxGYWRlZFRodW1ibmFpbCIsCiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlsIil9KX0pLF8uSyhfLk8se0E6KCk9PiFfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfHwhIWEuZGF0YSgpLmltYWdlTWlkZGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxGYWRlZFRodW1ibmFpbCIsInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWwiKX0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVyIn0sXy5LKF8uakYse2RhdGE6YyxhbHQ6IiIsY2xhc3NOYW1lOiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWwiLGFyaWFIaWRkZW46ITAsCllhOiEwfSkpKX0pKSl9LCJWYyIpO3ZhciBJVj1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmN9KT0+Xy5LKCJ5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczoieXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmN9KX0pKSwiV2MiKTtJVi5pZG9tQ29tcGF0PSEwO3ZhciBKVj1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmMsSGM6ZH0pPT57dmFyIGU9Xy5ESShfLlJMLCgpPT5hKCkubGlrZVN0YXR1c0VudGl0eUtleXx8IiIpLGY9KCk9Pl8udFAoKSYmYSgpLmlzTGlrZSYmYSgpLmJ1dHRvbj8udG9nZ2xlQnV0dG9uUmVuZGVyZXI/e3N0eWxlOiJtb25vIn06Yz8uKCksaD0oKT0+Xy50UCgpJiZhKCkuaXNMaWtlJiZhKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcj97YW5pbWF0ZUljb246InRydWUifTp2b2lkIDA7cmV0dXJuIF8uSygieXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOmJ9LF8uSyhfLk8se0E6KCk9Pnt2YXIgaz1hKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcjtpZihrJiZhKCkubGlrZVN0YXR1c0VudGl0eUtleSl7bGV0IGw9YSgpLmlzTGlrZT9lKCk/Lmxpa2VTdGF0dXM9PT0iTElLRSI6ZSgpPy5saWtlU3RhdHVzPT09IkRJU0xJS0UiO3JldHVybnsuLi5rLAppc1RvZ2dsZWQ6bH19cmV0dXJuIGt9LHRoZW46az0+Xy5LKF8ucU8se2RhdGE6ayxzdHlsZTpoLGNsYXNzTmFtZTpiLGJ1dHRvbk92ZXJyaWRlczpmLEhjOmR9KX0pKX0sIlhjIik7SlYuaWRvbUNvbXBhdD0hMDt2YXIgS1Y9Xy5MKGE9PntmdW5jdGlvbiBiKHIpe3ZhciB0PWMoKTt0LmJhPy5Eenx8Xy50UCgpfHx0LmlzRnVsbHNjcmVlbiYmdC50YS50b2dnbGVGdWxsc2NyZWVuKCk7ci5zdG9wUHJvcGFnYXRpb24oKX12YXIgYz1hLkcsZD0oKT0+YS5HKCkuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoLGU9Xy5OKCgpPT4hIWEuRygpLkg/LmlzRW1iZWRzU2hvcnRzTW9kZT8uKCksdm9pZCAwLCJ3c0hEWiIpLGY9Xy5QKHsicGxheWVyLWNvbnRyb2xzLWhpZGUiOigpPT4hKCFJUyhhLkcoKSl8fGEuRygpLmJhPy5FZSYmIWEuRygpLk5hKX0pLGg9YS53YXRjaE5leHRSZXNwb25zZSxrPWEudGh1bWJuYWlsUHJldmlld1JlbmRlcmVyLGw9YS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyLG09KCk9Pnt2YXIgcj1Da2EoaD8uKCksaz8uKCkpO3JldHVybiBlKCl8fGEuRygpLmJhPy5vaD9yLmZpbHRlcih0PT5fLkIodCxmbWEpPyExOl8uQih0LF8uVkwpPy5pY29uPy5pY29uVHlwZSE9PSJBRERfVE9fV0FUQ0hfTEFURVIiKToKcn0sbj0oKT0+e3ZhciByPWg/LigpLHQ9az8uKCksdj1sPy4oKSx6PSRTKGEuRygpKTt2YXIgRT1lKCk7aWYodilFPXY/LnlvdXR1YmVXYXRlcm1hcms7ZWxzZSBpZih0PV8uQih0Py5xdWlja0FjdGlvbnNCYXIsS1MpPy53YXRjaE9uWW91dHViZUJ1dHRvbix2PV8uQihyPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5mdWxsc2NyZWVuUXVpY2tBY3Rpb25zQmFyLEtTKT8ud2F0Y2hPbllvdXR1YmVCdXR0b24scj1fLkIodHx8dixsVik/LndhdGNoT25ZdExhYmVsQnV0dG9uLHQ9Xy5CKHR8fHYsbFYpPy55dExvZ29Pbmx5QnV0dG9uLHopRT1yO2Vsc2V7aWYoRSl0cnl7bGV0IEE9dC5idXR0b25WaWV3TW9kZWwsRj1BLnRpdGxlRm9ybWF0dGVkLmF0dGFjaG1lbnRSdW5zWzBdLmVsZW1lbnQ7Ri50eXBlLmltYWdlVHlwZS5pbWFnZS5zb3VyY2VzWzBdLmNsaWVudFJlc291cmNlLmltYWdlTmFtZT0ic2hvcnRzX3RleHRfbG9nbyI7Ri5wcm9wZXJ0aWVzLmxheW91dFByb3BlcnRpZXMuaGVpZ2h0LnZhbHVlPQoyNDtGLnByb3BlcnRpZXMubGF5b3V0UHJvcGVydGllcy53aWR0aC52YWx1ZT03Mjt6PUE/Lm9uVGFwPy5pbm5lcnR1YmVDb21tYW5kPy51cmxFbmRwb2ludD8udXJsO2lmKEUmJnomJnouaW5jbHVkZXMoIi93YXRjaD92PSIpKXtsZXQgQz16LnJlcGxhY2UoIi93YXRjaD92PSIsIi9zaG9ydHMvIik7QS5vblRhcC5pbm5lcnR1YmVDb21tYW5kLnVybEVuZHBvaW50LnVybD1DfX1jYXRjaChBKXt9RT10fXJldHVybiBFfSxwPXtjbGFzc05hbWU6ImNpcmNsZS1idXR0b25zIixidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19O3JldHVybiBfLksoInBsYXllci1mdWxsc2NyZWVuLWFjdGlvbi1tZW51Iix7Y2xhc3M6Inl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51SG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Zn0sXy5LKCJkaXYiLHtjbGFzczoiZnVsbHNjcmVlbi1hY3Rpb24tbWVudSIsIm9uOmNsaWNrIjpmdW5jdGlvbihyKXt2YXIgdD1jKCk7Y1QodCx7SWM6ITB9KTtyLnN0b3BQcm9wYWdhdGlvbigpOwpyLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+IShhLkcoKS5iYT8uaGlkZVZpZGVvSW5mb3x8YS5HKCkuYmE/Lll3fHxkKCkmJmQoKTwzMjApLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJhY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlciIsIm5vLWxhYmVsLWV4cCIpLCJvbjpjbGljayI6Yn0sXy5LKF8uVyx7ZGF0YTptfSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKF8ucE8se2RhdGE6ciwuLi5wfSksc2xpbU1ldGFkYXRhVG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKEpWLHtkYXRhOnIsY2xhc3NOYW1lOl8uUChwLmNsYXNzTmFtZSx7Imxpa2UtYnV0dG9uLW5vLWxhYmVsLWV4cCI6KCk9PnIoKS5pc0xpa2V9KSxIYzooKT0+cigpLmlzTGlrZT97QXM6ITB9OnZvaWQgMCxidXR0b25PdmVycmlkZXM6KCk9PnIoKS5pc0xpa2U/dm9pZCAwOnAuYnV0dG9uT3ZlcnJpZGVzfSksc2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Cl8uSyhJVix7ZGF0YTpyLC4uLnB9KSxmdWxsc2NyZWVuRW5nYWdlbWVudEFjdGlvbkJhclNhdmVCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoSVYse2RhdGE6ciwuLi5wfSksYnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLkhELHtkYXRhOnIsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuQWN0aW9uTWVudUNpcmNsZUJ1dHRvbnMiLGJ1dHRvbk92ZXJyaWRlczp7aWNvblBvc2l0aW9uOiJpY29uLW9ubHktNDAifX0pLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTpyfSk9Pl8uSyhfLnFPLHtkYXRhOnIsLi4ucH0pfSkpfSksXy5LKCJkaXYiLHtjbGFzczoicXVpY2stYWN0aW9ucy13cmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+IWEuRygpLmJhPy5YdyYmISRTKGEuRygpKSYmIShkKCkmJmQoKTwzMjApJiYhZSgpJiZMUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlciJ9LApfLksoTm1hLHtkYXRhOigpPT5MUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksRzpjfSkpfSksXy5LKF8uTyx7QTooKT0+JFMoYS5HKCkpJiYoZSgpfHxkKCkmJmQoKTwzMjApPyExOiEwLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6IndhdGNoLW9uLXlvdXR1YmUtYnV0dG9uLXdyYXBwZXIifSxfLksoXy5XLHtkYXRhOm59LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uSEQse2RhdGE6cixjbGFzc05hbWU6IndhdGNoLW9uLXlvdXR1YmUtYnV0dG9uIixidXR0b25PdmVycmlkZXM6KCk9Pnt2YXIgdD1yKCk7cmV0dXJue3NpemU6IkwiLGRpc2FibGVkOiFfLkIoXy5CKHQ/Lm9uVGFwLF8uT0QpLF8uVkQpfX19KSxidXR0b25SZW5kZXJlcjpfLnBPLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOl8ucU99KSl9KSkpKSl9LCJZYyIpO0tWLmlkb21Db21wYXQ9ITA7dmFyIExWPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgbT1hLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXI/LigpO3JldHVybiBfLkIobT8uZW5kU2NyZWVuLHBWKT8uY29udGludWVXYXRjaGluZ30sYz0oKT0+e3ZhciBtPWEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCk7cmV0dXJuIF8uQihtPy5lbmRTY3JlZW4scFYpPy5icmFuZGluZ0ljb259LFtkLGVdPV8uSighMSx2b2lkIDAsIkVlWFhCYyIpLGYsaD0oKT0+e2NsZWFyVGltZW91dChmKTtlKCExKTtmPXNldFRpbWVvdXQoKCk9PntlKCEwKX0sNEUzKX0saz0oKT0+e3ZhciBtPWEuRygpLkg/LmdldFZpZGVvRGF0YSgpPy52aWRlb19pZDttJiZhLkcoKS5IPy5jdWVWaWRlb0J5SWQobSl9LGw9KCk9Pnt2YXIgbT1fLlV3KGEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCkudHJhY2tpbmdQYXJhbXMpO20mJl8uSk8obSl9O18uVUooKCk9PntoKCk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25NdXRlZEF1dG9wbGF5U3RhcnRzIiwKaCk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25BdXRvcGxheUJsb2NrZWQiLGspO2EuRygpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixsKX0pO18uWXUoKCk9PntjbGVhclRpbWVvdXQoZik7YS5HKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25NdXRlZEF1dG9wbGF5U3RhcnRzIixoKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkF1dG9wbGF5QmxvY2tlZCIsayk7YS5HKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLGwpfSk7cmV0dXJuIF8uSygieXRtLW11dGVkLWF1dG9wbGF5LW92ZXJsYXkiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0Iiwib246Y2xpY2siOmZ1bmN0aW9uKG0pe3ZhciBuPWEuRz8uKCkuSCxwPW4/LmdldFZpZGVvRGF0YSgpPy52aWRlb19pZCxyPW4/LmdldEN1cnJlbnRUaW1lKCk7cCYmciYmKG4/LnVuTXV0ZSgpLG4/LmxvYWRWaWRlb0J5SWQocCxyKSk7Cm0uc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT51UyhhLkcoKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCYWNrZ3JvdW5kIn0sXy5LKCJkaXYiLG51bGwsXy5LKF8uVyx7ZGF0YTpifSx7YnV0dG9uVmlld01vZGVsOl8uSER9KSksXy5LKCJkaXYiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb24ifSxfLksoXy5PLHtBOmMsdGhlbjptPT5fLksoXy5qRix7ZGF0YTptLGFsdDoiWW91VHViZSBMb2dvIn0pfSkpKSxXOigpPT5fLksoImRpdiIsbnVsbCxfLksoImRpdiIse2NsYXNzOl8uUCgieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlBY3Rpb25NZW51Iix7eXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIaWRlQWN0aW9uTWVudTpkfSl9LF8uSyhLVix7RzphLkcscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjphLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXJ9KSksXy5LKCJkaXYiLAp7Y2xhc3M6Inl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIn0sXy5LKF8uTUQse2ljb246ImVxdWFsaXplciJ9KSkpfSkpfSwiWmMiKTtMVi5pZG9tQ29tcGF0PSEwO3ZhciBPbWE9Xy5MKCh7Rng6YSxhbmltYXRpb246Yn0pPT57dmFyIGM9Xy51RSgiZGl2IiksW2QsZV09Xy5KKCExLHZvaWQgMCwidGkwMm8iKSxmPTAsaD1fLngoIm13ZWJfZW5hYmxlX3Nob3J0c19oZWFydF9uZXdfZG91YmxlX3RhcCIpPyJsaWtlX3RhcF9mZWVkYmFja19zaG9ydHNfaGVhcnQiOiJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiI7Xy5uRSgoKT0+e2UoITApO18uamYuQWEoZik7Zj1fLllqKCgpPT57ZSghMSl9LDJFMyk7dmFyIGs9Yj8uKCk/Lm5hbWU7aWYoaz09PWgpe2NVKGgpO2s9Yj8uKCk/Lng7dmFyIGw9Yj8uKCk/Lnk7bGV0IG09Yy52YWx1ZTttJiYoayE9PXZvaWQgMCYmbCE9PXZvaWQgMD8obS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLG0uc3R5bGUubGVmdD1gJHtrfXB4YCxtLnN0eWxlLnRvcD1gJHtsfXB4YCxtLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKC01MCUsIC01MCUpIik6KG0uc3R5bGUucG9zaXRpb249IiIsbS5zdHlsZS5sZWZ0PSIiLG0uc3R5bGUudG9wPQoiIixtLnN0eWxlLnRyYW5zZm9ybT0iIikpfWVsc2V7aWYobD1jLnZhbHVlKWwuc3R5bGUucG9zaXRpb249IiIsbC5zdHlsZS5sZWZ0PSIiLGwuc3R5bGUudG9wPSIiLGwuc3R5bGUudHJhbnNmb3JtPSIiO2s9PT0icGxheV85NmRwX2FuaW1hdGlvbiI/Y1UoInBsYXlfOTZkcF9hbmltYXRpb24iKTprPT09InBhdXNlXzk2ZHBfYW5pbWF0aW9uIiYmY1UoInBhdXNlXzk2ZHBfYW5pbWF0aW9uIil9fSwiRUNKVWRkIik7cmV0dXJuIF8uSygic2hvcnRzLXRvdWNoLWZlZWRiYWNrIix7Y2xhc3M6Xy5QKCJ5dFNob3J0c1RvdWNoRmVlZGJhY2tIb3N0Iix7eXRTaG9ydHNUb3VjaEZlZWRiYWNrSGlkZGVuOigpPT4hZCgpfSl9LF8uSyhfLk8se0E6YSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKCJkaXYiLHtlbDpjLGNsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlciIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LApfLksoXy5jTSx7YW5pbWF0aW9uTmFtZTooKT0+aCxkYXRhOnthbmltYXRpb25Db25maWc6YlUoaCl9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrTGlrZUFuaW1hdGlvbiJ9KSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRTaG9ydHNUb3VjaEZlZWRiYWNrVG91Y2hGZWVkYmFjayJ9LF8uSyhfLmNNLHthbmltYXRpb25OYW1lOigpPT4icGxheV85NmRwX2FuaW1hdGlvbiIsZGF0YTp7YW5pbWF0aW9uQ29uZmlnOmJVKCJwbGF5Xzk2ZHBfYW5pbWF0aW9uIil9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrUGxheVBhdXNlQW5pbWF0aW9uIn0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKF8uY00se2FuaW1hdGlvbk5hbWU6KCk9PiJwYXVzZV85NmRwX2FuaW1hdGlvbiIsZGF0YTp7YW5pbWF0aW9uQ29uZmlnOmJVKCJwYXVzZV85NmRwX2FuaW1hdGlvbiIpfSxjbGFzc05hbWU6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbiJ9KSkpfSwKImFkIik7dmFyIGRVPXZvaWQgMCxlVT12b2lkIDAsZlUsZ1U9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgW2IsY109Xy5KKDAsdm9pZCAwLCJWZnY1OCIpLFtkLGVdPV8uSigwLHZvaWQgMCwiZ0dDTjlkIiksW2YsaF09Xy5KKCExLHZvaWQgMCwiblNhTGgiKTtyZXR1cm4gXy5LKCJ5dG0tYm90dG9tLXNoZWV0LW92ZXJsYXktcmVuZGVyZXIiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250YWluZXIiLHN0eWxlOigpPT57dmFyIGs9YigpLGw9ZCgpLG09ZigpO2s9YHRyYW5zZm9ybTogdHJhbnNsYXRlWSgke01hdGgubWF4KDAsTWF0aC5yb3VuZChsLWspKX1weCk7YDttJiYoays9InRyYW5zaXRpb246IDAuMnM7Iik7cmV0dXJuIGt9LCJvbjp0b3VjaHN0YXJ0IjpmdW5jdGlvbihrKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSI7YyhrLnRvdWNoZXNbMF0uY2xpZW50WSk7Cmsuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKGspe2Uoay50b3VjaGVzWzBdLmNsaWVudFkpO2suc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaGVuZCI6ZnVuY3Rpb24oayl7ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyc2Nyb2xsQmVoYXZpb3I9IiI7d2luZG93LnNjcmVlbi5hdmFpbEhlaWdodC1kKCk8PTMwMD8oaCghMCksZSh3aW5kb3cuc2NyZWVuLmF2YWlsSGVpZ2h0KSxzZXRUaW1lb3V0KCgpPT57aWYoZFUhPW51bGwpe3ZhciBsPV8uSHooKTtsLnNldCgic3VwcHJlc3NfYXBwX3Vwc2VsbCIsMSk7bC5zYXZlKCk7ZVUmJihlVS5xdj0hMCxlVT12b2lkIDApO18uS04oZFUpO2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZFUpO2RVPXZvaWQgMDtmVT8uKCk7ZlU9dm9pZCAwO18ueSgpLnJlc29sdmUoXy55UCkuUXUoKX19LDI1MCkpOihoKCEwKSxlKDApKTtrLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXIiLApzdHlsZTooKT0+YSgpLmJhY2tncm91bmRJbWFnZT9gYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7YSgpLmJhY2tncm91bmRJbWFnZX0pO2A6dm9pZCAwfSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckRyYWdIYW5kbGUifSksXy5LKF8uTUQse2ljb246KCk9PmEoKS5jZW50cmFsSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNlbnRyYWxJY29uIn0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5jbG9zZUJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTprfSk9Pl8uSyhfLnBPLHtkYXRhOmssY2xhc3NOYW1lOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNsb3NlIixwcmV2ZW50RGVmYXVsdDohMCxRZjohMH0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHMifSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclRpdGxlIn0sCl8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZSJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkuc3VidGl0bGV9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbnN9LHtidXR0b25SZW5kZXJlcjpfLnBPfSkpKSl9LCJiZCIpO2dVLmlkb21Db21wYXQ9ITA7dmFyIE1WPV8uTCgoe2RhdGE6YSxzdG9wUHJvcGFnYXRpb246Yn0pPT5fLksoInl0bS1mb3JjZWQtbXV0ZS1tZXNzYWdlLXJlbmRlcmVyIixudWxsLF8uSyhfLnZPLHtpY29uVHlwZTpfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8iYXVkaW9fc2xhc2giOiJhdWRpb19vZmYiLGFyaWFMYWJlbDooKT0+Xy5hTihhKCkuZm9yY2VkTXV0ZU1lc3NhZ2VUZXh0KSxvbmNsaWNrOmM9PntiPy4oKSYmYy5zdG9wUHJvcGFnYXRpb24oKTtjPWEoKTtfLkIoYy5oZWxwQnV0dG9uLF8uVkwpPy5uYXZpZ2F0aW9uRW5kcG9pbnQmJl8uQUooXy5CKGMuaGVscEJ1dHRvbixfLlZMKT8ubmF2aWdhdGlvbkVuZHBvaW50LGMsITApfSxMbToieXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UifSkpLCJlZCIpO01WLmlkb21Db21wYXQ9ITA7dmFyIE5WPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixHSjpjfSk9Pnt2YXIgZD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtyZXR1cm4gXy5LKCJ5dG0taW5mby1wYW5lbC1jb250ZW50LXJlbmRlcmVyIix7Y2xhc3M6Xy5QKGIsInl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3QiLHt5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0SXNXYXRjaEluZm9QYW5lbDpjLHl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RDaW5lbWF0aWNCYWNrZ3JvdW5kOigpPT5kJiZjPy4oKX0pLCJ5dG0taW5mby1wYW5lbC1jb250ZW50LXRydW5jYXRlLXBhcmFncmFwaHMiOigpPT4hIWEoKS50cnVuY2F0ZVBhcmFncmFwaHN8fHZvaWQgMCwieXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudSI6KCk9PiEhYSgpLm1lbnV8fHZvaWQgMCwiZGF0YS1iYWNrZ3JvdW5kIjooKT0+YSgpLmJhY2tncm91bmR9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCkuc291cmNlRW5kcG9pbnQsCmNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyRW5kcG9pbnQifSxfLksoUG1hLHtkYXRhOmF9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmV9KT0+Xy5LKF8uU1Ase2RhdGE6ZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlck1lbnUifSl9KSl9LCJmZCIpLFBtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlciIsImRhdGEtaGFzLWljb24iOigpPT4hIWEoKS5pY29ufSxfLksoXy5PLHtBOigpPT5hKCkuc291cmNlQXRUb3AmJmEoKS5zb3VyY2UsdGhlbjooKT0+Xy5LKE9WLHtkYXRhOmF9KX0pLF8uSyhfLk8se0E6KCk9PmEoKS50aXRsZSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lciJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSxfLksoXy5NRCwKe2ljb246KCk9PmEoKS5pbmxpbmVMaW5rSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbiJ9KSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJCb2R5In0sXy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGV4dCJ9LF8uSyhfLk8se0E6KCk9PiFhKCkuc291cmNlQXRUb3AmJmEoKS5zb3VyY2UsdGhlbjooKT0+Xy5LKE9WLHtkYXRhOmF9KX0pLF8uSyhfLmdHLHtwYTooKT0+YSgpLnBhcmFncmFwaHN8fFtdfSwoYixjKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoIn0sXy5LKF8uSUose2RhdGE6Yn0pLF8uSyhfLk8se0E6KCk9PmMoKT09PWEoKS5wYXJhZ3JhcGhzLmxlbmd0aC0xJiZhKCkuaW5saW5lU291cmNlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZSJ9LApfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2VUZXh0In0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5pbmxpbmVTb3VyY2V9KSksXy5LKF8uTUQse2ljb246KCk9PmEoKS5pbmxpbmVMaW5rSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbiJ9KSl9KSkpKSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbix0aGVuOmI9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhlYWRlclJpZ2h0SXRlbXMifSxfLksoXy5NRCx7aWNvbjooKT0+YigpLmljb25UeXBlLGNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVySWNvbiJ9KSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLnRpdGxlfSkpfSksXy5LKF8uTyx7QTooKT0+YSgpLnRodW1ibmFpbCx0aGVuOmI9Pl8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOmIsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaHVtYm5haWwiLAphbHQ6IiIsWWE6Xy54KCJjM19wcmVzZXJ2ZV9kaW1lbnNpb25zX2tzIik/dm9pZCAwOiEwLFRhOl8ueCgiYzNfcHJlc2VydmVfZGltZW5zaW9uc19rcyIpP3ZvaWQgMDohMH0pfSkpKSwiZ2QiKSxPVj1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWV0YWRhdGEifSxfLksoXy5PLHtBOigpPT5hKCkuc291cmNlLHRoZW46Yj0+Xy5LKF8uSUose2RhdGE6Yn0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnB1Ymxpc2hlZFRpbWVUZXh0LHRoZW46Yj0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUHVibGlzaFRpbWUifSwiXHUyMDIyICIsXy5LKF8uSUose2RhdGE6Yn0pKX0pKSwiaGQiKTtOVi5pZG9tQ29tcGF0PSEwO3ZhciBQVj1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXIiLHtiYWNrZ3JvdW5kOigpPT5hKCkuYmFja2dyb3VuZH0sXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWxlZnQtaXRlbXMifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24/Lmljb25UeXBlLGNsYXNzTmFtZToieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1pY29uIn0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKF8uU1Ase2RhdGE6YixjbGFzc05hbWU6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItbWVudSJ9KX0pKX0pLF8uSyhfLlcse2RhdGE6KCk9PgphKCkuY29udGVudH0se2luZm9QYW5lbENvbnRlbnRSZW5kZXJlcjpOVn0pKSwiaWQiKTtQVi5pZG9tQ29tcGF0PSEwO3ZhciBSVj1fLkwoKHtkYXRhOmEsaXNBY3RpdmU6YixISjpjLGNsYXNzTmFtZTpkfSk9Pnt2YXIgZT1fLmNJKF8uWlApLGY9Xy5jSSh3amEpLGg9Xy5jSSh2amEpLGs7Xy5uRSgoKT0+e2I/LigpJiZhKCk/LnRyYWNraW5nUGFyYW1zJiZhKCkudHJhY2tpbmdQYXJhbXMhPT1rJiZfLmlxKCkhPT1rJiYoXy5seChfLmh4KCksYSgpLnRyYWNraW5nUGFyYW1zKSxrPV8uaXEoKSl9LCJMUmVTbGIiKTtfLlVKKCgpPT57bmxhKGEoKSl9KTtyZXR1cm4gXy5LKCJ5dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOmQsImRhdGEtaXMtYWN0aXZlIjpifHx2b2lkIDAsImRhdGEtaGFzLWluZm8tcGFuZWwiOigpPT57dmFyIGw9YSgpLG09Xy5CKGwucGxheWVyT3ZlcmxheSxjbWEpO3JldHVybiEhbC5pbmZvUGFuZWx8fCEhbT8uaW5mb1BhbmVsfHx2b2lkIDB9LCJleHRyYWN0LW92ZXJsYXkiOigpPT5lKCk9PT0xfHx2b2lkIDAsImV4dHJhY3QtYWN0aW9uLWJhciI6KCk9Pl8uYU0oZSgpKXx8CnZvaWQgMCwic21hbGxlci1zY3JlZW4tc3F1ZWV6ZWJhY2siOigpPT5mKCl8fHZvaWQgMCwiaXMtZnVsbHNjcmVlbiI6KCk9PmgoKXx8dm9pZCAwLCJpcy13ZWIiOigpPT5jPy4oKXx8dm9pZCAwfSxfLksoXy5PLHtBOigpPT5hKCkucGxheWVyT3ZlcmxheSx0aGVuOmw9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+ITAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyIn0sXy5LKFFWLHtkYXRhOmF9KSl9KSxfLksoXy5XLHtkYXRhOmx9LHtyZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbDpfLmJqYX0pKSxXOigpPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktbWFpbi1jb250ZW50In0sXy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YSJ9LF8uSyhRbWEse2RhdGE6YX0pKSxudWxsLF8uSyhSbWEse2RhdGE6YX0pKSxfLksoU21hLHtkYXRhOmF9KSl9KSwKXy5LKFRtYSx7ZGF0YTphfSkpfSwia2QiKTtSVi5pZG9tQ29tcGF0PSEwOwp2YXIgUW1hPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5XLHtkYXRhOigpPT5hKCkubWV0YXBhbmVsfSx7cmVlbE1ldGFwYW5lbFZpZXdNb2RlbDpfLnJRfSksImxkIiksU21hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LWluZm8tcGFuZWwifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuaW5mb1BhbmVsfSx7aW5mb1BhbmVsQ29udGFpbmVyUmVuZGVyZXI6UFZ9KSksIm1kIiksUm1hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMifSxfLksoUVYse2RhdGE6YX0pLF8uSyhVbWEse2RhdGE6YX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5waXZvdEJ1dHRvbn0se3Bpdm90QnV0dG9uVmlld01vZGVsOl8uaVF9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuZm9yY2VkTXV0ZU1lc3NhZ2VSZW5kZXJlcn0se2ZvcmNlZE11dGVNZXNzYWdlUmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKE1WLHtkYXRhOmIsCnN0b3BQcm9wYWdhdGlvbjohMH0pfSkpLCJuZCIpLFFWPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5PLHtBOigpPT4hXy5URSgpLHRoZW46KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZW51fSx7bWVudVJlbmRlcmVyOih7ZGF0YTpifSk9Pl8uSyhfLlRQLHtkYXRhOmIsc2hvd0ljb246ITAsYnV0dG9uT3ZlcnJpZGVzOmhVKCl9KX0pLFc6KCk9Pl8uSyhfLk8se0E6KCk9Pl8uVEUoKSx0aGVuOigpPT5fLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoXy5TUCx7ZGF0YTpiLGRmOiJyZWVsLXBsYXllci1vdmVybGF5LW92ZXJmbG93LW1lbnUiLEhhOiExLHVuOiExLHN0b3BQcm9wYWdhdGlvbjohMCxidXR0b25PdmVycmlkZXM6aFUoKX0pfSl9KX0pLCJxZCIpLFVtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbkJhcn0se3JlZWxBY3Rpb25CYXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKF8ualEse2RhdGE6YiwKQWY6e2ljb25Qb3NpdGlvbjoiaWNvbi13aXRoLWxhYmVsIixzaXplOiJTIix0eXBlOiJ0ZXh0IixzdHlsZToib3ZlcmxheSJ9fSl9KSwicmQiKSxUbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InN0aWNrZXItbGF5ZXIifSxfLksoXy5PLHtBOigpPT4hIWEoKS52aWRlb0ludGVyYWN0aW9ucyYmXy54KCJtd2ViX2VuYWJsZV9zaG9ydHNfc3RpY2tlcnMiKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLmdHLHtwYTooKT0+YSgpLnZpZGVvSW50ZXJhY3Rpb25zPy5pbnRlcmFjdGlvbnN8fFtdfSxiPT5fLksoXy5jamEse2RhdGE6Yn0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCk/LnZpZGVvSW50ZXJhY3Rpb25zPy5lbGVtZW50c0ludGVyYWN0aW9uc0xheWVyfSx7c3RpY2tlcnNMYXllclJlbmRlcmVyOl8uZGphfSkpfSkpLCJzZCIpO3ZhciBTVj1fLkwoKHtkYXRhOmEsWWY6YixjajpjLHZCOmQsSXI6ZSxlaDpmfSk9PntmdW5jdGlvbiBoKHApe24ubG90dGllRWwmJm4ubG90dGllRWwuaXNQYXVzZWQmJm4ubG90dGllRWwuZ29Ub0FuZFBsYXkoMCk7cC5zdG9wUHJvcGFnYXRpb24oKX1fLlVKKCgpPT57dmFyIHA9b2xhLmJpbmQodm9pZCAwLGEoKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIixwKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIixwKX0pfSk7dmFyIGs9KCk9Pnt2YXIgcD1hKCk7cmV0dXJuIGQ/LigpP3AuZGFya1RoZW1lTG9nbz8ubG90dGllQW5pbWF0aW9uPy51cmw6cC5saWdodFRoZW1lTG9nbz8ubG90dGllQW5pbWF0aW9uPy51cmx9LGw9KCk9PmEoKS5hY2Nlc3NpYmlsaXR5RGF0YT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHxfLmFOKGEoKS50b29sdGlwVGV4dCl8fCIiLG09KCk9PmQ/LigpPyJsb2dvLWVudGl0eS1sb3R0aWUtYW5pbWF0aW9uLWRhcmsiOgoibG9nby1lbnRpdHktbG90dGllLWFuaW1hdGlvbi1saWdodCIsbj17fTtyZXR1cm4gXy5LKCJ5dG0tbG9nby1lbnRpdHkiLHtjbGFzczoieXRtTG9nb0VudGl0eUhvc3QifSxlPy4oKSxfLksoXy5PLHtBOigpPT4hZSYmYj8uKCkhPT12b2lkIDAmJmM/LigpIT09dm9pZCAwJiZkPy4oKSE9PXZvaWQgMCx0aGVuOigpPT5fLksoXy5PLHtBOmssdGhlbjooKT0+Xy5LKCJkaXYiLHtpZDpjLGNsYXNzOiJ5dG1Mb2dvRW50aXR5Q29udGFpbmVyIiwib246Y2xpY2siOmh9LF8uSyhfLmNNLHtjbGFzc05hbWU6Xy5QKGIsInl0bUxvZ29FbnRpdHlMb2dvIiksZGF0YTooKT0+KHthbmltYXRpb25Db25maWc6e3BhdGg6aygpLGF1dG9wbGF5OiEwLGxvb3A6ITEscmVuZGVyZXJTZXR0aW5nczp7dmlld0JveE9ubHk6ITB9fSxsaXN0ZW5lcnM6e2RhdGFfZmFpbGVkOmYsZXJyb3I6Zn19KSxhbmltYXRpb25SZWY6bixhbmltYXRpb25OYW1lOm19KSksVzooKT0+Xy5LKFZtYSx7Y2xhc3NOYW1lOiJ5dG1Mb2dvRW50aXR5Q29udGFpbmVyIiwKWWY6YixpZDooKT0+Yz8uKCk/PyIiLERBOnA9Pnt2YXIgcj1hKCksdD0hIWQ/LigpO3JldHVybiB0JiZyLmRhcmtUaGVtZUxvZ28/LnRodW1ibmFpbD9fLkpQKHIuZGFya1RoZW1lTG9nby50aHVtYm5haWwscHx8dm9pZCAwKTohdCYmci5saWdodFRoZW1lTG9nbz8udGh1bWJuYWlsP18uSlAoci5saWdodFRoZW1lTG9nby50aHVtYm5haWwscHx8dm9pZCAwKToiIn0sYWx0VGV4dDpsLGVoOmZ9KX0pfSkpfSwidGQiKTtTVi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e0lyOiEwLGVoOiEwfX07CnZhciBWbWE9Xy5MKCh7Y2xhc3NOYW1lOmEsWWY6YixpZDpjLERBOmQsYWx0VGV4dDplLGVoOmZ9KT0+e3ZhciBoPV8udUUoImRpdiIpLGs9Xy51RSgiaW1nIik7Xy5VSigoKT0+e2sudmFsdWUuc3JjPWQoaC52YWx1ZSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczphLGVsOmh9LF8uSygiaW1nIix7ZWw6aywib246ZXJyb3IiOmZ1bmN0aW9uKGwpe2Y/LigpO2wuc3RvcFByb3BhZ2F0aW9uKCl9LGlkOmMsY2xhc3M6Xy5QKGIsInl0bUxvZ29FbnRpdHlMb2dvIiksYWx0OmV9KSl9LCJ1ZCIpO3ZhciBVVj1fLkwoKHt0b3BiYXJMb2dvUmVuZGVyZXI6YSxWajpiLFdqOmMsWGo6ZCx1bTplLGljb25PdmVycmlkZTpmLGh6OmgsYWs6a30pPT57ZnVuY3Rpb24gbCgpe3QoITApfXZhciBtPV8uREkobGphLCgpPT5hPy4oKT8ub3ZlcnJpZGVFbnRpdHlLZXl8fF8uVk0oKT8iRWdaMGIzQmlZWElnOVFFb0FRJTNEJTNEIjoiIiksbj0oKT0+YT8uKCk/Lmljb25JbWFnZT8uaWNvblR5cGUsW3Ascl09Xy5KKCExLHZvaWQgMCwiWmFQUGxiIiksdD1yLHY9Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKSx6PShfLlZNKCl8fHY/LigpKT8/ITEsRT1udWxsLEE9Xy51RSgiYnV0dG9uIik7Xy5VSihmdW5jdGlvbigpeyhtPy4oKT8/dm9pZCAwKXx8U1MoMTIwODEsQS52YWx1ZSxFLEY9PntFPUZ9LG51bGwpfSk7cmV0dXJuIF8uSygieXRtLWhvbWUtbG9nbyIsbnVsbCxfLksoImJ1dHRvbiIse2VsOkEsImFyaWEtbGFiZWwiOigpPT5fLkNKKGE/LigpPy50b29sdGlwVGV4dCk/Xy5DSihhPy4oKT8udG9vbHRpcFRleHQpOgoiWW91VHViZSIscm9sZToibGluayIsY2xhc3M6Xy5QKHsibG9nby1pbi1wbGF5ZXItZW5kcG9pbnQiOmMsIm1vYmlsZS10b3BiYXItaGVhZGVyLWVuZHBvaW50IjooKT0+IWMoKX0pLGtleTooKT0+bT8uKCk/P3ZvaWQgMD8ieW9vZGxlIjoibG9nbyIsIm9uOmNsaWNrIjpmdW5jdGlvbihGKXt2YXIgQz1hPy4oKT8uZW5kcG9pbnQ/P3JWLEc9bT8uKCk/P3ZvaWQgMCxEPSIvIjtHPyhDPUcub25UYXBDb21tYW5kfHxDLEQ9Xy5CKEcub25UYXBDb21tYW5kPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybHx8RCk6RD1fLkIoQz8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmx8fEQ7dmFyIEg9az8uKCk/PzM4NTQsUj1GLmN1cnJlbnRUYXJnZXQ7RyYmKFIuZGF0YT1HKTtoPy4oRik7Xy5xUCh7aHJlZjpELGFrOkgsZWxlbWVudDpSLHB1c2hTdGF0ZTohMCxlbmRwb2ludDpDfSk7Ri5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PiFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSYmCmpVKHosbT8uKCk/P3ZvaWQgMCksdGhlbjooKT0+Xy5LKFNWLHtkYXRhOigpPT5tPy4oKT8/dm9pZCAwLElyOigpPT5fLksoVFYse1ZqOmIsV2o6YyxYajpkLFlmOiJtb2JpbGUtdG9wYmFyLWxvZ28iLGNqOiJob21lLWljb24iLHVtOmUsaWNvbk92ZXJyaWRlOmYscnM6bn0pLGVoOmx9KX0pLF8uSyhfLk8se0E6KCk9PiFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSYmIWpVKHosbT8uKCk/P3ZvaWQgMCksdGhlbjooKT0+Xy5LKFNWLHtkYXRhOigpPT5tPy4oKT8/dm9pZCAwLFlmOiJtb2JpbGUtdG9wYmFyLWxvZ28iLGNqOiJob21lLWljb24iLHZCOnosZWg6bH0pfSksXy5LKF8uTyx7QTooKT0+ISghcCgpJiYobT8uKCk/P3ZvaWQgMCkmJmlVKGIoKSkpLHRoZW46KCk9Pl8uSyhUVix7Vmo6YixXajpjLFhqOmQsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdW06ZSxpY29uT3ZlcnJpZGU6ZixyczpufSl9KSkpfSwidmQiKTtVVi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2h6OiEwfX07CnZhciBUVj1fLkwoKHtWajphLFdqOmIsWGo6YyxZZjpkLGNqOmUsdW06ZixpY29uT3ZlcnJpZGU6aCxyczprfSk9Pnt2YXIgbD0oKT0+YSgpP2g/LigpfHwiTE9HT19XSVRIX1RFWFQiOmM/LigpP2s/LigpOiJMT0dPIjtyZXR1cm4gXy5LKF8uTUQse2ljb246KCk9Pnt2YXIgbT1sKCk7Zj8uKCkmJmE/LigpJiYobSs9Il9NT05PQ0hST01FIik7cmV0dXJuIG19LGNsYXNzTmFtZTpfLlAoKCk9PmIoKT8ibG9nby1pbi1wbGF5ZXIiOmQoKSx7ImZ1bGwtbG9nbyI6YSwiZnVsbC1sb2dvLXJlZCI6KCk9PmEoKSYmbCgpPT09IllPVVRVQkVfUFJFTUlVTV9MT0dPX1NIT1JUIiwic2hvcnRzLWxvZ28iOmMsbW9ub2Nocm9tYXRpYzpmfSksaWQ6ZX0pfSwid2QiKTt2YXIgV21hPV8uTChhPT5fLksoXy5JQixudWxsLF8uSyhPbWEse0Z4OiExLGFuaW1hdGlvbjphLmFuaW1hdGlvbn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzRW1iZWRzVG9wYmFyQ29udGFpbmVyIn0sXy5LKFVWLHt0b3BiYXJMb2dvUmVuZGVyZXI6YS54eSxWajohMSxXajohMCxYajohMCxhazoxMzQ4NDB9KSxfLksoXy5PLHtBOmEucmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHRoZW46KCk9Pl8uSyhIVix7b3JpZW50YXRpb246InZlcnRpY2FsX2Rvd24iLEg6YS5ILENwOiEwLGNsYXNzTmFtZToieXRTaG9ydHNFbWJlZHNWb2x1bWVDb250cm9scyIsYmo6ITB9KX0pKSxfLksoXy5PLHtBOmEub3ZlcmxheSx0aGVuOmI9Pl8uSyhSVix7ZGF0YTooKT0+e3ZhciBjPWIoKTtpZihfLnRQKCkpe3ZhciBkPWMubWVudT8ubWVudVJlbmRlcmVyO2M9ZD8uaXRlbXM/ey4uLmMsbWVudTp7Li4uYy5tZW51LG1lbnVSZW5kZXJlcjp7Li4uZCxpdGVtczpbe2FjY291bnRJbmZvTWVudUl0ZW06ITB9LAouLi5kLml0ZW1zXX19fTpjfXJldHVybiBjfSxjbGFzc05hbWU6Inl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciJ9KX0pLF8uSyhNbWEse0g6YS5ILGNvbnRleHQ6YS5jb250ZXh0fSkpLCJ4ZCIpLFdsYT1fLkwoYT0+e3ZhciB7SDpiLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpjLGpiOmQsUGg6ZSxjb250ZXh0OmZ9PV8uREMoYSx7SDp2b2lkIDAscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOnZvaWQgMCxqYjp2b2lkIDAsUGg6dm9pZCAwfSksW2gsa109Xy5KKHZvaWQgMCx2b2lkIDAsIkNQU3pJZSIpLFtsLG1dPV8uSih2b2lkIDAsdm9pZCAwLCJJSTRIQ2QiKTtfLm9GKCgpPT57dmFyIEE9Yj8uKCk7QT8uaXNSZWFkeSgpJiZtKEEuZ2V0UGxheWVyU3RhdGUoKSl9KTt2YXIgbj1BPT57Yj8uKCkmJm0oQSl9O18ubkUoKCk9Pnt2YXIgQT1iPy4oKTtBJiYoQS5hZGRFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixuKSxfLll1KCgpPT57QS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIiwKbil9KSl9LCJDN0Q1OWQiKTtfLm5FKCgpPT57dmFyIEE9YygpO2lmKEEpe2xldCBGPV8ueSgpLnJlc29sdmUoXy5iTCk7Zm9yKGxldCBDIG9mIEEuZW5nYWdlbWVudFBhbmVsc3x8W10pKEE9Qy5lbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyKSYmRi5PeihBLmlkZW50aWZpZXI/LnRhZ3x8QS50YXJnZXRJZHx8QS5wYW5lbElkZW50aWZpZXIsQyl9fSwiUWRTZVRiIik7Xy5uRSgoKT0+e2Z1bmN0aW9uIEEoKXtpZihDKXtsZXQgRz1DLmdldE9wdGlvbnM/LigiY2FwdGlvbnMiKTtHJiZHLmxlbmd0aD4wJiZDPy51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3M/Lih7Zm9udFNpemVJbmNyZW1lbnQ6Mn0sITEpfX12YXIgRj1iPy4oKTtpZihGKXt2YXIgQz1GO0EoKTtDLmFkZEV2ZW50TGlzdGVuZXIoIm9uQ2FwdGlvbnNNb2R1bGVBdmFpbGFibGUiLEEpO18uWXUoKCk9PntDLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ2FwdGlvbnNNb2R1bGVBdmFpbGFibGUiLEEpfSl9fSwibDhXMXZiIik7CnZhciBwPV8uTigoKT0+YygpPy5vdmVybGF5Py5yZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyfHxkKCk/LmVtYmVkUHJldmlldz8ucmVlbFBsYXllck92ZXJsYXlSZW5kZXJlcix2b2lkIDAsInplaFlZYiIpLHI9Xy5OKCgpPT57dmFyIEE7KEE9Xy5CKGMoKT8udG9wYmFyLCRsYSk/LnRvcGJhckxvZ28/LnRvcGJhckxvZ29SZW5kZXJlcil8fChBPWUoKT8uZW5kcG9pbnQsQT0oQT0oQSYmXy5CKEEsXy5URCkpPy52aWRlb0lkKT9gaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzLyR7QX1gOiJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMiLEE9e2ljb25JbWFnZTp7aWNvblR5cGU6IllPVVRVQkVfU0hPUlRTX09VVExJTkVfV0lUSF9URVhUXzI0In0sdG9vbHRpcFRleHQ6e3J1bnM6W3t0ZXh0OiJZb3VUdWJlIFNob3J0cyJ9XX0sZW5kcG9pbnQ6e2NvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6QSx3ZWJQYWdlVHlwZToiV0VCX1BBR0VfVFlQRV9TSE9SVFMiLApyb290VmU6MzgzMn19LHVybEVuZHBvaW50Ont1cmw6QSx0YXJnZXQ6IlRBUkdFVF9ORVdfV0lORE9XIn19fSk7cmV0dXJuIEF9LHZvaWQgMCwiTk4yNzJjIik7YT1fLk4oKCk9PntpZihsKCk9PT01KXt2YXIgQT1lKCk/LmVuZHBvaW50O2lmKEEmJihBPV8uQihBLF8uVEQpPy50aHVtYm5haWw/LnRodW1ibmFpbHM/LlswXT8udXJsKSlyZXR1cm4gXy5JRSh7ImJhY2tncm91bmQtc2l6ZSI6ImNvdmVyIiwiYmFja2dyb3VuZC1wb3NpdGlvbiI6ImNlbnRlciIsImJhY2tncm91bmQtcmVwZWF0Ijoibm8tcmVwZWF0IiwiYmFja2dyb3VuZC1pbWFnZSI6YCR7ImxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC40KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxNjBweCksXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNCkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgOTZweCkifSwgdXJsKCR7QX0pYH0pKCl9fSx2b2lkIDAsImkxNkZEZSIpOwp2YXIgdD1fLk4oKCk9PmIoKT8/dm9pZCAwLHZvaWQgMCwiVWZZdEZmIiksdj1fLk4oKCk9PnQoKT8uaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheT8uKCksdm9pZCAwLCJsS2NBbWQiKSx6PV8uTigoKT0+KHt0YTpmKCkudGEsVGM6ZigpLlRjLEdjOmYoKS5HYyxiYTpmKCkuYmEsSDp0KCkscGxheWVyU3RhdGU6bCgpPz8tMSxTOigpPT57fX0pLHZvaWQgMCwiZTZsU2llIiksRT1fLk4oKCk9Pnt2YXIgQT10KCk/LmdldFBsYXllclJlc3BvbnNlPy4oKTtyZXR1cm4gQT9fLkIoQT8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXI/Lm11dGVkQXV0b3BsYXksb1YpOnZvaWQgMH0sdm9pZCAwLCJER1RTbmQiKTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKCRULHQpXX0sXy5LKCJzaG9ydHMtZW1iZWRzIix7Y2xhc3M6Inl0U2hvcnRzRW1iZWRzSG9zdCIsIm9uOmNsaWNrIjpmdW5jdGlvbihBKXtBLnN0b3BQcm9wYWdhdGlvbigpO2lmKCFFUShBLnRhcmdldCwiQSIpJiYKIUVRKEEudGFyZ2V0LCJCVVRUT04iKSYmKEE9YigpKSYmQS5pc1JlYWR5KCkpaWYoQS5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KCkpe3ZhciBGPUEuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkLEM9QS5nZXRDdXJyZW50VGltZSgpO0YmJihBLnVuTXV0ZSgpLEEubG9hZFZpZGVvQnlJZChGLEMpKX1lbHNlIEY9QS5nZXRQbGF5ZXJTdGF0ZSgpPT09MSxDPUEuaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSgpLEYmJkM/QS51bk11dGUoKTooRj1BLmdldFBsYXllclN0YXRlKCk9PT0xLEM9QS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCksRiYmIUM/KEEucGF1c2VWaWRlbygpLGsoe25hbWU6InBhdXNlXzk2ZHBfYW5pbWF0aW9uIn0pKTpGfHwoQyYmQS51bk11dGUoKSxBLnBsYXlWaWRlbygpLGsoe25hbWU6InBsYXlfOTZkcF9hbmltYXRpb24ifSkpKX0sc3R5bGU6YX0sXy5LKF8uTyx7QTooKT0+digpLHRoZW46KCk9Pl8uSyhMVix7Rzp6LHBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXI6RX0pLApXOigpPT5fLksoV21hLHthbmltYXRpb246aCx4eTpyLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpjLEg6dCxvdmVybGF5OnAsY29udGV4dDpmfSl9KSkpfSwiQ2QiKTt2YXIgYlY9Xy5MKCh7ZGF0YTphfSk9PntKamEoKTtyZXR1cm4gXy5LKCJ5dC1wbGF5ZXItaW50ZXJzdGl0aWFsLXJlbmRlcmVyIix7Y2xhc3M6InBsYXllckludGVyc3RpdGlhbFJlbmRlcmVySG9zdCIscm9sZToiZGlhbG9nIiwiYXJpYS1sYWJlbCI6KCk9Pnt2YXIgYjthOntpZihiPWEoKS5jb250ZW50KXt2YXIgYz1fLkIoYixibWEpO2lmKGM/LnRpdGxlPy5jb250ZW50KXtiPWMudGl0bGUuY29udGVudDticmVhayBhfWI9Xy5CKGIsZW1hKTtiPWI/LmhlYWRlciYmXy5CKGIuaGVhZGVyLGRtYSk7aWYoYj8uaGVhZGxpbmU/LmNvbnRlbnQpe2I9Yi5oZWFkbGluZS5jb250ZW50O2JyZWFrIGF9fWI9dm9pZCAwfXJldHVybiBifSx0YWJpbmRleDotMSxlbDpfLnJGKGI9PnZvaWQgYj8uZm9jdXMoKSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllckludGVyc3RpdGlhbFJlbmRlcmVyU2NyaW0ifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuY29udGVudH0se2ludGVyc3RpdGlhbFZpZXdNb2RlbDpfLmVqYSwKZGlhbG9nVmlld01vZGVsOl8uJGlhfSkpKX0sIkRkIik7YlYuaWRvbUNvbXBhdD0hMDt2YXIgVlY9Xy5MKCh7Z2Y6YSxJYjpifSk9Pl8uSygieXQtYmlnYm9hcmQiLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmlzRHJhZ2dpbmcsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRCaWdib2FyZFN0b3J5Ym9hcmRIb3N0In0sXy5LKEdtYSx7TGI6YSxJYjpifSkpfSkpLCJFZCIpO1ZWLmlkb21Db21wYXQ9ITA7dmFyIFdWPV8uTChhPT57dmFyIGI9YS5HO2E9Xy5OKCgpPT5iKCkuZWE/Xy4kTi5tdDpfLiROLlp0LHZvaWQgMCwieGlkenVkIik7cmV0dXJuIF8uSygiYnV0dG9uIix7Im9uOmNsaWNrIjpmdW5jdGlvbihjKXt2YXIgZD17ZWE6IWIoKS5lYSx5cTohMH07YigpLlMoZCk7Yy5zdG9wUHJvcGFnYXRpb24oKX0saWQ6InBsYXllci1jb250cm9scy1hMTF5LXRvZ2dsZSIsY2xhc3M6Inl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b24iLCJhcmlhLWxhYmVsIjphfSl9LCJGZCIpO3ZhciBYVj1fLkwoYT0+e2Z1bmN0aW9uIGIoaCl7WFMoYS5GZCgpPT09LTE/MTQxOTAyOjE0MTkwMyk7dmFyIGs9Yz8uKCksbD1hLkZkKCk7az8uc2Vla0J5KGwqMTAsdm9pZCAwLHZvaWQgMCxsPT09LTE/ODM6ODIpO2guc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGM9Xy5rRygkVCksZD0oKT0+YS5GZCgpPT09LTE/Xy4kTi5RdC5yZXBsYWNlKCIkc2Vjb25kc19wbGFjZWhvbGRlciIsKDEwKS50b1N0cmluZygpKTpfLiROLkl0LnJlcGxhY2UoIiRzZWNvbmRzX3BsYWNlaG9sZGVyIiwoMTApLnRvU3RyaW5nKCkpLGU9Xy5OKCgpPT57dmFyIGg9YS5HKCk7cmV0dXJuIF8ueCgibXdlYl9wY19saXZlX2R2cl9rcyIpPyEwOiEoaC5pc0xpdmUmJiFoLmlzTGl2ZUR2ckVuYWJsZWQpfSx2b2lkIDAsIkthcklLYyIpLGY9Xy51RSgiYnV0dG9uIixoPT57V1MoaCxhLkZkKCk9PT0tMT8xNDE5MDI6MTQxOTAzKX0pO3JldHVybiBfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKCJidXR0b24iLHsiYXJpYS1sYWJlbCI6ZCwKY2xhc3M6Xy5QKGEuY2xhc3NOYW1lLCJ5dG1BMTF5U3R5bGVzSGlkZGVuQnV0dG9uIiwicGxheWVyLWNvbnRyb2wtc2Vlay1pY29uLWExMXkiKSxzdHlsZTpfLklFKHtsZWZ0OigpPT5hLkZkKCk9PT0tMT8iMCI6InVuc2V0IixyaWdodDooKT0+YS5GZCgpPT09MT8iMCI6InVuc2V0In0pLGVsOmYsIm9uOmNsaWNrIjpifSl9KX0sIkdkIik7dmFyIFlWPV8uTChhPT57dmFyIHtVZDpiLG9uY2xpY2s6YywuLi5kfT1hO2E9Xy51RSgiZGl2IixlPT57V1MoZSxiKCkpfSk7cmV0dXJuIF8uSygiZGl2Iix7ZWw6YX0sXy5LKF8udE8sey4uLmQsb25jbGljazplPT57WFMoYigpKTtjPy4oZSl9fSkpfSwiSGQiKTt2YXIgWlY9Xy5MKGE9Pnt2YXIgYj1fLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8icGxheWVyX2Z1bGxfZW50ZXJfYWx0IjoiRlVMTFNDUkVFTiIsYz1fLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8icGxheWVyX2Z1bGxfZXhpdF9hbHQiOiJGVUxMU0NSRUVOX0VYSVQiLGQ9KCk9PmEuRygpLmlzRnVsbHNjcmVlbj9jOmI7cmV0dXJuIF8uSyhZVix7bmFtZTpkLGFyaWFMYWJlbDooKT0+YS5HKCkuaXNGdWxsc2NyZWVuP18uJE4uSHQ6Xy4kTi5KdCxjb250ZW50OigpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItYm90dG9tLWNvbnRyb2xzLWZ1bGxzY3JlZW4taWNvbi12aXNpYmxlLWFyZWEifSxfLksoXy5NRCx7aWNvbjpkfSkpLGNsYXNzTmFtZToiZnVsbHNjcmVlbi1pY29uIixVZDoxMzkxMTcsb25jbGljazplPT57YS5HKCkudGEudG9nZ2xlRnVsbHNjcmVlbigpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJJZCIpO3ZhciAkVj1fLkwoYT0+e3ZhciBiPV8ua0coJFQpO3JldHVybiBfLksoWVYse25hbWU6KCk9PmEuRygpLnBsYXllclN0YXRlPT09MXx8YS55cyYmYS5HKCkucGxheWVyU3RhdGU9PT0zPyJQQVVTRV9GSUxMRUQiOiJQTEFZX0FSUk9XX0ZJTExFRCIsYXJpYUxhYmVsOigpPT5hLkcoKS5wbGF5ZXJTdGF0ZT09PTF8fGEueXMmJmEuRygpLnBsYXllclN0YXRlPT09Mz9fLiROLkx0Ol8uJE4uUGcsY2xhc3NOYW1lOiJwbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24iLFVkOjM2ODQyLG9uY2xpY2s6Yz0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZSYmKGU9V1EoZSksZC5TKHtqZTplfSkpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJKZCIpO3ZhciBhVz1fLkwoYT0+e3ZhciBiPV8ua0coJFQpO3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9SRVBMQVkiLGFyaWFMYWJlbDpfLiROLlB0LGNsYXNzTmFtZToiZW5kc2NyZWVuLXJlcGxheS1idXR0b24iLFVkOjU2Mzg2LG9uY2xpY2s6Yz0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZSYmKGQucmMmJmU/LnVuTXV0ZSgpLGUucGxheVZpZGVvKCkpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJLZCIpO3ZhciBiVz1fLkwoYT0+Xy5LKFlWLHtuYW1lOiJHRUFSIixhcmlhTGFiZWw6Xy4kTi52dCxjbGFzc05hbWU6Xy5QKCJwbGF5ZXItc2V0dGluZ3MtaWNvbiIsYS5jbGFzc05hbWUpLFVkOjI4NjYzLG9uY2xpY2s6Yj0+e2EuRygpLnRhLlNqKGIpfX0pLCJMZCIpO3ZhciBjVz1fLkwoYT0+e3ZhciB7S3U6YixvbkNsaWNrOmMsYXJpYUxhYmVsOmQsYXJpYVByZXNzZWQ6ZSxpc092ZXJsYXk6Zn09Xy5EQyhhLHtpc092ZXJsYXk6ITF9KTthPV8udUUoImJ1dHRvbiIsaD0+e1dTKGgsMTI3Mjk5KX0pO3JldHVybiBfLksoInl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24iLHtjbGFzczpfLlAoInl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25Ib3N0Iix7eXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZE92ZXJsYXk6KCk9PmIoKT09PS0xJiZmKCkseXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZDooKT0+YigpPT09LTEmJiFmKCl9KX0sXy5LKCJidXR0b24iLHtlbDphLGNsYXNzOiJ5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uQnV0dG9uIix0aXRsZTpkLCJhcmlhLWxhYmVsIjpkLCJhcmlhLXByZXNzZWQiOmUsImFyaWEtZGlzYWJsZWQiOigpPT5iKCk9PT0tMT8idHJ1ZSI6dm9pZCAwLCJvbjpjbGljayI6ZnVuY3Rpb24oaCl7WFMoMTI3Mjk5KTsKYz8uKGgpO2guc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5NRCx7aWNvbjooKT0+e3ZhciBoPSIiO2lmKF8ueCgibXdlYl9sb2NhbGl6ZWRfY2NfaWNvbiIpKXt2YXIgaz1fLkh6KCkuZ2V0KCJobCIpO2s9IWt8fGhtYS5pbmNsdWRlcyhrKT8iQ0xPU0VEX0NBUFRJT04iOiJTVUJUSVRMRVMifWVsc2Ugaz0iQ0xPU0VEX0NBUFRJT04iO3ZhciBsPWIoKTtzd2l0Y2gobCl7Y2FzZSAtMTpjYXNlIDA6aD1rO2JyZWFrO2Nhc2UgMTpoPWsrIl9GSUxMRUQiO2JyZWFrO2RlZmF1bHQ6Xy5lYihsLHZvaWQgMCl9cmV0dXJuIGh9LGNsYXNzTmFtZTpfLlAoe3l0bUNsb3NlZENhcHRpb25pbmdCdXR0b25ZdEljb25PdmVybGF5OmZ9KX0pKSl9LCJNZCIpO2NXLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DbGljazohMH19O3ZhciBrVT0iIjt2YXIgZFc9Xy5MKGE9Pnt2YXIgYj1hLmdmLGM9YS5zTCxkPWEuV3EsZT1hLmNsYXNzTmFtZSxmPWEuVnIsaD1wPT57dmFyIHI9YigpLHQ9Yz8uKCksdj1mKCk7ci54YyYmKHQ/ci5IPy50b2dnbGVTdWJ0aXRsZXModik6KHQ9ci5IKSYmUVEodCxsVShyKSx2KSk7Xy54KCJ3ZWJfZGVsZXRlX3NuYWNrYmFycyIpfHxyLnRhLnFBPy4ocik7ZD8uKHApfSxrPV8uTigoKT0+e3ZhciBwPWIoKSxyPS0xO3AueGMmJihyPXAuY2FwdGlvbnNFbmFibGVkPzE6MCk7cmV0dXJuIHJ9LHZvaWQgMCwiSE1vMnJjIiksbD1fLk4oKCk9Pnt2YXIgcD1iKCk7cmV0dXJuIHAueGM/Xy5hQShwLmNhcHRpb25zRW5hYmxlZD8iQ0xPU0VEX0NBUFRJT05TX09OIjoiQ0xPU0VEX0NBUFRJT05TX09GRiIpOl8uYUEoIkNMT1NFRF9DQVBUSU9OU19ESVNBQkxFRCIpfSx2b2lkIDAsIldRNTFZZSIpLG09Xy5OKCgpPT57dmFyIHA9YigpO3A9cC54Yz9wLmNhcHRpb25zRW5hYmxlZDp2b2lkIDA7cmV0dXJuIHB9LHZvaWQgMCwKIkkwTFR1YiIpLG49Xy5OKCgpPT5iKCkueGMsdm9pZCAwLCJMdmVPV2UiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX3BsYXllcl9oaWRlX3VuYXZhaWxhYmxlX3N1YnRpdGxlc19idXR0b24iKT9uKCk6ITAsdGhlbjooKT0+Xy5LKCJ5dC1jbG9zZWQtY2FwdGlvbnMtdG9nZ2xlLWJ1dHRvbiIse2NsYXNzOmV9LF8uSyhjVyx7S3U6ayxhcmlhTGFiZWw6bCxhcmlhUHJlc3NlZDptLG9uQ2xpY2s6aCxpc092ZXJsYXk6ITB9KSl9KX0sIk5kIik7dmFyIGVXPV8uTCgoe0lBOmEsZGF0YTpiLGNoaWxkcmVuOmN9KT0+e2Z1bmN0aW9uIGQoKXthPy4oKXx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Zi52YWx1ZSYmKGgudmFsdWUuc3R5bGUud2lkdGg9YCR7Zi52YWx1ZS5vZmZzZXRXaWR0aH1weGApfSl9dmFyIGU9dm9pZCAwLGY9Xy51RSgiZGl2IiksaD1fLnVFKCJkaXYiKSxrPV8uQlEoKSxsPV8uQlEoKTtfLm5FKCgpPT57ZCgpOyFlJiZiKCkuc3Vic2NyaWJlZCYmKGsubG90dGllRWw/LmdvVG9BbmRQbGF5KDApLGwubG90dGllRWw/LmdvVG9BbmRQbGF5KDApKTtlPSEhYigpLnN1YnNjcmliZWR9LCJNTTBqQWYiKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Ib3N0In0sXy5LKF8uQVEse09vOmssUnA6bH0sXy5LKCJkaXYiLHtlbDpoLGNsYXNzOl8uUCgieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Db250ZW50Q29udGFpbmVyIix7eXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25TdGF0aWNXaWR0aDphLAp5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNhbkFuaW1hdGU6KCk9PmIoKS5zdWJzY3JpYmVkfSl9LF8uSygiZGl2Iix7ZWw6ZixjbGFzczoieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25GbGV4Q29udGFpbmVyIn0sYykpKSl9LCJQZCIpO2VXLmlkb21Db21wYXQ9ITA7dmFyIGZXPV8uTCgoe2RhdGE6YSxidXR0b25PdmVycmlkZXM6Yn0pPT57dmFyIFtjXT1uamEoYSk7cmV0dXJuIF8uSygieXRtLXN1YnNjcmliZS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczpfLlAoeyJpcy1zdWJzY3JpYmVkIjooKT0+YygpLnN1YnNjcmliZWQsImlzLW5vdC1zdWJzY3JpYmVkIjooKT0+IWMoKS5zdWJzY3JpYmVkLGRpc2FibGVkOigpPT57dmFyIGQ7aWYoZD0hIWMoKS50aGVtZSl7ZD0hIWMoKS5zdWJzY3JpYmVkO3ZhciBlPWMoKS50aGVtZTtkPWQ/ISFlLnN1YnNjcmliZWRDb2xvclBhbGV0dGUmJl8udU4oZS5zdWJzY3JpYmVkQ29sb3JQYWxldHRlKTohIWUudW5zdWJzY3JpYmVkQ29sb3JQYWxldHRlJiZfLnVOKGUudW5zdWJzY3JpYmVkQ29sb3JQYWxldHRlKX1yZXR1cm4gZH19KX0sXy5LKF8uYWphLHtzZXR0aW5nczooKT0+KHt1bmlxdWVJZDoic3Vic2NyaWJlIixmazpjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fFtdLFhkOihjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fApbXSkubGVuZ3RoPjAsZW5hYmxlZDohYygpLnN1YnNjcmliZWQmJihjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fFtdKS5sZW5ndGg+MH0pfSxfLksoWG1hLHtkYXRhOmMsYnV0dG9uT3ZlcnJpZGVzOmJ9KSkpfSwiUWQiKTtmVy5pZG9tQ29tcGF0PSEwOwp2YXIgWG1hPV8uTCgoe2RhdGE6YSxidXR0b25PdmVycmlkZXM6Yn0pPT57dmFyIGM9KCk9PiEoIWEoKS5zdWJzY3JpYmVkfHwhYSgpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24pLGQ9Xy5OKCgpPT4oey4uLlFqYSh7cmVuZGVyZXI6YSgpLHN1YnNjcmliZWQ6ISFhKCkuc3Vic2NyaWJlZCxpc092ZXJsYXk6Xy5XTSgpPyEwOiExLHN0b3BQcm9wYWdhdGlvbjohMH0pLGRpc2FibGVkOiFhKCkuZW5hYmxlZCwuLi4oYj8uKCl8fHt9KX0pLHZvaWQgMCwieW9DZGNlIik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Im1vZGVybi1zdWJzY3JpYmUtYnV0dG9uLWNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJub3RpZmljYXRpb24tYmVsbC1jb250YWluZXIiLHtoaWRkZW46KCk9PiFjKCl9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b259LHt0b2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6ZX0pPT5fLksoXy5xTywKe2RhdGE6ZSxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In0sY2xhc3NOYW1lOl8uUCgibm90aWZpY2F0aW9uLWJlbGwiLHtoaWRkZW46KCk9PiFjKCl9KX0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJtb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiIseyJ3aXRoLW5vdGlmaWNhdGlvbi1iZWxsIjpjfSl9LF8uSyhfLk8se0E6KCk9PiFfLldNKCksdGhlbjooKT0+e3ZhciBlPV8uVU0oKT09PSJjaGFubmVsIjtyZXR1cm4gXy5LKGVXLHtkYXRhOmEsSUE6ZX0sXy5LKF8uSksse2RhdGE6ZH0pKX0sVzooKT0+Xy5LKF8uSksse2RhdGE6ZH0pfSksXy5LKCJkaXYiLHtjbGFzczoic3Vic2NyaWJlLWJ1dHRvbi1jb3VudCJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkuc3Vic2NyaWJlckNvdW50VGV4dH0pKSkpfSwiUmQiKTt2YXIgZ1c9Xy5MKCh7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOmEsaXNBY3RpdmU6YixYaDpjfSk9PntmdW5jdGlvbiBkKCl7Xy5BSihhKCkuZW5kcG9pbnQsYSgpLCEwKX12YXIgZT0oKT0+YSgpLnN0eWxlPT09IkNIQU5ORUwiLGY9Xy5QKCJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsIix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFJvdW5kOmV9KSxoPSgpPT5OdW1iZXIoYSgpLmxlZnQpK051bWJlcihhKCkud2lkdGgvMik8LjUsaz1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Iix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodDpoLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdDooKT0+IWgoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZlOigpPT5iKCkmJmgoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUxlZnRBY3RpdmU6KCk9PgpiKCkmJiFoKCl9KSxsPSgpPT5hKCkudGl0bGUsbT0oKT0+YSgpLmhvdmVyY2FyZEJ1dHRvbixuPSgpPT5hKCkubWV0YWRhdGEscD0oKT0+YSgpLmNhbGxUb0FjdGlvbixyPV8uUCh7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGU6KCk9PiFlKCkseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWw6ZX0pO2M9Xy5QKCJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW0iLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1DaGFubmVsOmUseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZlOmN9KTt2YXIgdD1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRIb3N0Iix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmU6Yn0pO3JldHVybiBfLksoImV4cGFuZGluZy1lbmRzY3JlZW4tZWxlbWVudCIse2NsYXNzOnR9LF8uSygiZGl2Iix7Y2xhc3M6Y30pLApfLksoImRpdiIse2NsYXNzOmt9LF8uSygiZGl2Iix7Y2xhc3M6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCJ9LF8uSyhfLk8se0E6bCx0aGVuOigpPT5fLksoXy5WLHt0ZXh0OmwsY2xhc3NOYW1lOiJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVRpdGxlIn0pfSksXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QnV0dG9uIn0sXy5LKF8uVyx7ZGF0YTptfSx7c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6Zld9KSl9KSxfLksoXy5PLHtBOm4sdGhlbjooKT0+Xy5LKF8uVix7Y2xhc3NOYW1lOnIsdGV4dDpufSl9KSxfLksoXy5PLHtBOigpPT4hZSgpJiZhKCkuY2FsbFRvQWN0aW9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Im9uOmNsaWNrIjpkLHN0eWxlOiJkaXNwbGF5OiBjb250ZW50cyJ9LF8uSyhfLlYse2NsYXNzTmFtZToieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb24iLAp0ZXh0OnB9KSl9KSkpLF8uSygiZGl2Iix7Im9uOmNsaWNrIjpkfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YSgpLmltYWdlLGNsYXNzTmFtZTpmfSkpKX0sIlNkIik7Z1cuaWRvbUNvbXBhdD0hMDt2YXIgaFc9Xy5MKCh7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOmEsaXNBY3RpdmU6YixYaDpjfSk9Pnt2YXIgZD0oKT0+YSgpLnRpdGxlLGU9KCk9PmEoKS50aHVtYm5haWxPdmVybGF5cyxmPSgpPT5hKCkucGxheWxpc3RMZW5ndGg7Yj1fLlAoInl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0Iix7eXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmU6Yn0pO2M9Xy5QKCJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW0iLHt5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmU6Y30pO3JldHVybiBfLksoInRodW1ibmFpbC1lbmRzY3JlZW4tZWxlbWVudCIse2NsYXNzOmIsIm9uOmNsaWNrIjpmdW5jdGlvbigpe18uQUooYSgpLmVuZHBvaW50LGEoKSwhMCl9fSxfLksoImRpdiIse2NsYXNzOmN9KSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcE92ZXJsYXkifSwKXy5LKCJkaXYiLHtjbGFzczoieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcEdyYWRpZW50In0pLF8uSyhfLlYse3RleHQ6ZCxjbGFzc05hbWU6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZSIsdWI6ITAsbWE6ITB9KSl9KSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YSgpLmltYWdlLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbCJ9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKF8uVyx7ZGF0YTplfSx7dGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcjooe2RhdGE6aH0pPT5fLksoXy5WUCx7ZGF0YTpoLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMifSl9KX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5In0sXy5LKF8uTUQsCntpY29uOiJQTEFZTElTVFNfQ0FJUk8iLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0SWNvbiJ9KSxfLksoXy5WLHt0ZXh0OmYsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGgiLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pKX0sIlRkIik7aFcuaWRvbUNvbXBhdD0hMDt2YXIgaVc9WzM0Niw0MjYsNDcwLDUwNiw1NzAsNjQwLDg1MywxMjgwLDE5MjBdLGpXPVsieXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwiLCJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0iLCJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSJdLGxXPV8uTCgoe2VuZHNjcmVlblJlbmRlcmVyOmEsRzpifSk9Pnt2YXIgW2MsZF09Xy5KKG5ldyBGUSgwLDAsMCwwKSx2b2lkIDAsInV1dU1LYyIpLFtlLGZdPV8uSihuZXcgXy5uZCgwLDApLHZvaWQgMCwicHlhaWpiIiksW2gsa109Xy5KKCIiLHZvaWQgMCwiTUszaUFmIiksW2wsbV09Xy5KKCExLHZvaWQgMCwiZU1PZmliIiksbj1fLk4oKCk9PmIoKS5ILHZvaWQgMCwicEY2ODRiIikscD1fLk4oKCk9Pl8uVXcoYSgpLnRyYWNraW5nUGFyYW1zKSx2b2lkIDAsImpib1BGZiIpLHI9KCk9Pnt2YXIgQT1uKCk/LmdldFZpZGVvQ29udGVudFJlY3QoKTtBJiZBLndpZHRoPjAmJkEuaGVpZ2h0PjAmJmQobmV3IEZRKEEubGVmdCwKQS50b3AsQS53aWR0aCxBLmhlaWdodCkpOyhBPW4oKT8uZ2V0U2l6ZSgpKSYmQS53aWR0aD4wJiZBLmhlaWdodD4wJiZmKG5ldyBfLm5kKEEud2lkdGgsQS5oZWlnaHQpKX0sdD1BPT57QT09PSJ5dG0tY2UtaW4tZW5kc2NyZWVuIiYmKG0oITApLFpTKHAoKSkpfSx2PUE9PntBPT09Inl0bS1jZS1pbi1lbmRzY3JlZW4iJiZtKCExKX07Xy5VSigoKT0+e3IoKTtIa2EocCgpKTtuKCk/LmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdCk7bigpPy5hZGRFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRXhpdCIsdik7bigpPy5hZGRDdWVSYW5nZSgieXRtLWNlLWluLWVuZHNjcmVlbiIsTnVtYmVyKGEoKS5zdGFydE1zKS8xRTMsTnVtYmVyKDB4N2ZmZmZmZmZmZmZmZikvMUUzKTtfLll1KCgpPT57YigpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdCk7YigpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdik7bigpPy5yZW1vdmVDdWVSYW5nZSgieXRtLWNlLWluLWVuZHNjcmVlbiIpfSl9KTsKXy5EUCgicmVzaXplIixyKTt2YXIgej1fLlAoInl0bUNyZWF0b3JFbmRzY3JlZW5Ib3N0IiwoKT0+e3ZhciBBPWMoKS53aWR0aCxGPTAsQz0tMTtmb3IobGV0IEc9MDtHPGlXLmxlbmd0aDtHKyspe2xldCBEPU1hdGguYWJzKEEtaVdbR10pO2lmKEM9PT0tMXx8Rj49RClDPUcsRj1EfXJldHVybmB5dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZSR7aVdbQ119YH0se3l0bUNyZWF0b3JFbmRzY3JlZW5JbkN1ZVJhbmdlOmx9KSxFPV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlblNjcmltIix7eXRtQ3JlYXRvckVuZHNjcmVlblNjcmltVmlzaWJsZTooKT0+aCgpfSk7cmV0dXJuIF8uSygiY3JlYXRvci1lbmRzY3JlZW4iLHtjbGFzczp6fSxfLksoImRpdiIse2NsYXNzOkUsc3R5bGU6Xy5JRSh7d2lkdGg6KDAsXy5aSykoKCk9PmUoKS53aWR0aCksaGVpZ2h0OigwLF8uWkspKCgpPT5lKCkuaGVpZ2h0KX0pfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmVsZW1lbnRzfSx7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOih7ZGF0YTpBfSk9PgpfLksoa1cse2RhdGE6QSxHQjpjLGlzQWN0aXZlOigpPT5oKCk9PT1BKCkuaWQsWGg6KCk9PiEhaCgpJiZoKCkhPT1BKCkuaWQsZUE6ayxIOm59KX0pKX0sIlVkIik7bFcuaWRvbUNvbXBhdD0hMDsKdmFyIGtXPV8uTCgoe2RhdGE6YSxHQjpiLGlzQWN0aXZlOmMsWGg6ZCxlQTplLEg6Zn0pPT57dmFyIFtoLGtdPV8uSighMSx2b2lkIDAsIktXWUpJZSIpLGw9Xy5OKCgpPT5fLlV3KGEoKS50cmFja2luZ1BhcmFtcyksdm9pZCAwLCJVeHB5VWIiKSxtPXQ9Pnt0LnN1YnN0cmluZygxNSk9PT1hKCkuaWQmJihrKCEwKSxaUyhsKCkpKX0sbj10PT57dC5zdWJzdHJpbmcoMTUpPT09YSgpLmlkJiZrKCExKX07Xy5VSigoKT0+e2Y/LigpLmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsbSk7Zj8uKCkuYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUV4aXQiLG4pO3ZhciB0PWB5dG0tY2UtZWxlbWVudC0ke2EoKS5pZH1gO2Y/LigpLmFkZEN1ZVJhbmdlKHQsTnVtYmVyKGEoKS5zdGFydE1zKS8xRTMsTnVtYmVyKGEoKS5lbmRNcykvMUUzKTtfLll1KCgpPT57Zj8uKCkucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIixtKTtmPy4oKS5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRW50ZXIiLApuKTtmPy4oKS5yZW1vdmVDdWVSYW5nZSh0KX0pfSk7dmFyIHA9KCk9PmIoKS5jbG9uZSgpLnNjYWxlKGEoKS53aWR0aCxhKCkud2lkdGgqYigpLmdldFNpemUoKS5hc3BlY3RSYXRpbygpL2EoKS5hc3BlY3RSYXRpbykudHJhbnNsYXRlKGEoKS5sZWZ0KmIoKS53aWR0aC1iKCkubGVmdCooYSgpLndpZHRoLTEpLGEoKS50b3AqYigpLmhlaWdodC1iKCkudG9wKihhKCkud2lkdGgqYigpLmdldFNpemUoKS5hc3BlY3RSYXRpbygpL2EoKS5hc3BlY3RSYXRpby0xKSkscj1fLlAoInl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50Iix7eXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRWaXNpYmxlOigpPT5oKCl9LCgpPT5wKCkud2lkdGg+MjU2fHxwKCkuaGVpZ2h0PjI1Nj9qV1syXTpwKCkud2lkdGg+OTZ8fHAoKS5oZWlnaHQ+OTY/aldbMV06aldbMF0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOnIsc3R5bGU6Xy5JRSh7d2lkdGg6KDAsXy5aSykoKCk9PnAoKS53aWR0aCksaGVpZ2h0OigwLF8uWkspKCgpPT4KcCgpLmhlaWdodCksdG9wOigwLF8uWkspKCgpPT5wKCkudG9wKSxsZWZ0Ol8ueSgpLnJlc29sdmUoXy5sRik9PT0ibHRyIj8oMCxfLlpLKSgoKT0+cCgpLmxlZnQpOiJhdXRvIixyaWdodDpfLnkoKS5yZXNvbHZlKF8ubEYpPT09InJ0bCI/KDAsXy5aSykoKCk9PihmPy4oKS5nZXRTaXplKCk/LndpZHRoPz8wKS1wKCkubGVmdC1wKCkud2lkdGgpOiJhdXRvIn0pLCJvbjptb3VzZW92ZXIiOmZ1bmN0aW9uKHQpe2UoYSgpLmlkKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VvdXQiOmZ1bmN0aW9uKHQpe2UoIiIpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpmb2N1c2luIjpmdW5jdGlvbih0KXtzZXRUaW1lb3V0KCgpPT57ZShhKCkuaWQpfSwwKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKHQpe2UoIiIpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaHN0YXJ0IjpmdW5jdGlvbih0KXtlKGEoKS5pZCk7WVMobCgpKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwKIm9uOmNsaWNrIjpmdW5jdGlvbih0KXtZUyhsKCkpO3Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuc3R5bGU9PT0iVklERU8ifHxhKCkuc3R5bGU9PT0iUExBWUxJU1QifSwoKT0+Xy5LKGhXLHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpjLFhoOmR9KSksXy5LKF8uQ0Use3doZW46KCk9PmEoKS5zdHlsZT09PSJDSEFOTkVMInx8YSgpLnN0eWxlPT09IldFQlNJVEUifSwoKT0+Xy5LKGdXLHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpjLFhoOmR9KSkpKX0sIlZkIik7a1cuaWRvbUNvbXBhdD0hMDt2YXIgWW1hPV8uTChhPT57ZnVuY3Rpb24gYih6KXt2YXIgRT1mKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsQT1mKCk/LnZpZGVvSWQ7RSYmIXo/Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChFKTpBJiZhLkgoKT8ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKHt2aWRlb0lkOkEsYXV0b25hdjp6LGF1dG9wbGF5Onp9KX1mdW5jdGlvbiBjKHope1hTKDExNTEzMCk7YighMSk7ei5zdG9wUHJvcGFnYXRpb24oKX12YXIgW2QsZV09Xy5KKDAsdm9pZCAwLCJZYkRNZmIiKSxmPV8uTigoKT0+QlMoYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwiSGFGS01iIiksaD1hLkcsaz1fLk4oKCk9PmgoKS55Zix2b2lkIDAsInNZZ256ZSIpLGw9Xy5OKCgpPT5oKCkuemYsdm9pZCAwLCJkeUN2S2YiKSxtPV8uTigoKT0+bVUoYS5HLGYoKSksdm9pZCAwLCJDWkZvTWIiKSxuPV8udkUoImJ1dHRvbiIsej0+e3omJldTKHosMTE1MTMwKX0pLApwPV8udkUoImRpdiIsej0+e3omJldTKHosMTE1MTI5KX0pO18ubkUoKCk9Pnt2YXIgej1tKCksRT1sKCksQT1rKCksRj1hLkgoKSxDPWYoKTtpZih6KXt6PUM/LmNvdW50RG93blNlY3N8fDEwO3ZhciBHPXoqMUUzO2lmKEUmJkE+MCllKE1hdGgubWF4KDAsKHotQSkveikpO2Vsc2V7dmFyIEQ9KDAsXy5lbCkoKSxIPSgpPT57dmFyIE09KDAsXy5lbCkoKS1EO009TWF0aC5taW4oTS9HLDEpO2UoTSk7TT49MT8od2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKFIpLEY/LmlzUmVhZHk/LigpJiZiKCEwKSk6Uj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKEgpfTt2YXIgUj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKEgpO18uWXUoKCk9Pnt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoUil9KX19ZWxzZSBlKDApfSwiR1NPdHdiIik7dmFyIHI9KCk9PntYUygxMTUxMjkpO2EuRygpLlMoe3hmOiEwfSl9LHQ9Xy5OKCgpPT5gJHstMjExKihkKCkrMSl9YCx2b2lkIDAsIlY1c213ZCIpLAp2PSgpPT5mKCk/LmJhY2tncm91bmQ7cmV0dXJuIF8uSygicGZwLWF1dG9uYXYiLHtjbGFzczpfLlAoInl0UGZwQXV0b25hdkhvc3QiLGEuY2xhc3NOYW1lLHt5dFBmcEF1dG9uYXZWaXNpYmxlOm19KSwib246Y2xpY2siOmZ1bmN0aW9uKHope3ouc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6YS5HLHRodW1ibmFpbERldGFpbHM6dn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdlNjcmltIn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBBdXRvbmF2SGVhZGVyIn0sXy5LKF8uVix7dGV4dDooKT0+ZigpPy50aXRsZSxtYTohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmYoKT8udmlkZW9UaXRsZSxtYTohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZCeWxpbmUifSxfLksoXy5WLHt0ZXh0OigpPT5mKCk/LmJ5bGluZSxtYTohMH0pKSwKXy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBBdXRvbmF2UGxheUJ1dHRvbiIsIm9uOmNsaWNrIjpjLGVsOm4sImFyaWEtbGFiZWwiOigpPT5mKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5hY2Nlc3NpYmlsaXR5Py5sYWJlbH0sXy5LKCJzdmciLHtjbGFzczoieXRQZnBBdXRvbmF2UmluZyIsdmlld0JveDoiMCAwIDcyIDcyIn0sXy5LKCJjaXJjbGUiLHtjeDoiMzYiLGN5OiIzNiIscjoiMzEuNSIsZmlsbDoid2hpdGUiLCJmaWxsLW9wYWNpdHkiOiIwLjMifSksXy5LKCJjaXJjbGUiLHtjeDoiLTM2IixjeToiMzYiLHI6IjMzLjUiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0IixmaWxsOiJub25lIix0cmFuc2Zvcm06InJvdGF0ZSgtOTApIiwic3Ryb2tlLWRhc2hhcnJheSI6IjIxMSIsc3R5bGU6Xy5JRSh7InN0cm9rZS1kYXNob2Zmc2V0Ijp0fSl9KSksXy5LKF8uTUQse2ljb246IlBMQVlFUl9QTEFZIixjbGFzc05hbWU6Inl0UGZwQXV0b25hdlBsYXlJY29uIn0pKSwKXy5LKF8uVyx7ZGF0YTooKT0+ZigpPy5jYW5jZWxCdXR0b259LHtidXR0b25SZW5kZXJlcjooe2RhdGE6en0pPT5fLksoImRpdiIse2VsOnAsY2xhc3M6Inl0UGZwQXV0b25hdkNhbmNlbEJ1dHRvbiJ9LF8uSyhfLnBPLHtkYXRhOnosdGc6cixzdG9wUHJvcGFnYXRpb246ITAsYnV0dG9uT3ZlcnJpZGVzOntzdHlsZToib3ZlcmxheSJ9fSkpfSkpKX0pKX0sIlhkIik7dmFyIG1XPV8uTChhPT5fLksoInBmcC1lbmRzY3JlZW4tdmlkZW8tcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEuZGF0YSgpLm5hdmlnYXRpb25FbmRwb2ludCxhcmlhTGFiZWw6KCk9Pl8uYU4oYS5kYXRhKCkudGl0bGUpfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YS5kYXRhKCkudGh1bWJuYWlsLGNsYXNzTmFtZToieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGh1bWJuYWlsIn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXkifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5VGl0bGVCeWxpbmUifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlLAptYTohMCx5YzohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJCeWxpbmUifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS5zaG9ydEJ5bGluZVRleHQsbWE6ITAseWM6ITB9KSxfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5zaG9ydFZpZXdDb3VudFRleHQsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCwiIFx1MjAyMiAiLF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnNob3J0Vmlld0NvdW50VGV4dCxtYTohMH0pKX0pKSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyRHVyYXRpb24ifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS5sZW5ndGhUZXh0LG1hOiEwfSkpKSkpLCJZZCIpO3ZhciBabWE9Xy5MKGE9PntmdW5jdGlvbiBiKEQpe0Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhEKXt0KCExKTtELnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGQoRCl7dCghMCk7RD8uc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZSgpe0coKX1mdW5jdGlvbiBmKEQpe3ZhciBIPUYudmFsdWU7SCYmKEguc2Nyb2xsVG8oe2xlZnQ6SC5zY3JvbGxMZWZ0LUguY2xpZW50V2lkdGgqLjgsYmVoYXZpb3I6InNtb290aCJ9KSxELnN0b3BQcm9wYWdhdGlvbigpKX1mdW5jdGlvbiBoKEQpe3ZhciBIPUYudmFsdWU7SCYmKEguc2Nyb2xsVG8oe2xlZnQ6SC5zY3JvbGxMZWZ0K0guY2xpZW50V2lkdGgqLjgsYmVoYXZpb3I6InNtb290aCJ9KSxELnN0b3BQcm9wYWdhdGlvbigpKX12YXIgaz1fLk4oKCk9PmEuVWMoKS53YXRjaE5leHRSZXNwb25zZSx2b2lkIDAsIldYNlJCZSIpLGw9Xy5OKCgpPT5NUyhrKCkpLmZpbHRlcihEPT5ELmVuZFNjcmVlblZpZGVvUmVuZGVyZXIpLHZvaWQgMCwKIlZWVWRyYyIpLG09Xy5OKCgpPT57dmFyIEQ9YS5VYygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyPy5zdGFydE1zO0Q9RD8rRDp2b2lkIDA7cmV0dXJuIGEuRygpLnBsYXllclN0YXRlPT09MiYmbD8uKCk/Lmxlbmd0aD4wJiYoIUR8fGEuRygpLnZhKjFFMzxEKX0sdm9pZCAwLCJwUVNRS2IiKSxuPV8uTigoKT0+YS5VYygpLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnZpZGVvSWQsdm9pZCAwLCJ5UWJOMWUiKSxbcCxyXT1fLkFDKCgpPT57bigpO3JldHVybiExfSksdD1yLFt2LHpdPV8uSighMSx2b2lkIDAsInFRUjczYiIpLFtFLEFdPV8uSighMSx2b2lkIDAsInZjYTNJZCIpLEY9Xy52RSgiZGl2IiksQz1fLk4oKCk9PmEuVWMoKS5wbGF5ZXJSZXNwb25zZT8udmlkZW9EZXRhaWxzPy5hdXRob3I/PyIiLHZvaWQgMCwib0pFMHNkIiksRz0oKT0+e3ZhciBEPUYudmFsdWU7RCYmKHooRC5zY3JvbGxMZWZ0PjEpLEEoRC5zY3JvbGxMZWZ0PApELnNjcm9sbFdpZHRoLUQuY2xpZW50V2lkdGgtMSkpfTtfLm5FKCgpPT57cCgpO20oKSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57RygpfSl9LCJ0QTExN2QiKTtyZXR1cm4gXy5LKCJwZnAtbW9yZS12aWRlb3MiLHtjbGFzczpfLlAoInl0UGZwTW9yZVZpZGVvc0hvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8uTyx7QTooKT0+bSgpJiYhcCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc092ZXJsYXkiLCJvbjpjbGljayI6Yn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zSGVhZGVyIn0sXy5LKCJoMyIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NUaXRsZSJ9LCgpPT5fLiROLnp0LnJlcGxhY2UoIiRjaGFubmVsX25hbWVfcGxhY2Vob2xkZXIiLEMoKSkpLF8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc0Nsb3NlQnV0dG9uIiwib246Y2xpY2siOmQsImFyaWEtbGFiZWwiOl8uJE4ueHR9LF8uSyhfLk1ELHtpY29uOiJDTE9TRSIsCmNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zQ2xvc2VJY29uIn0pKSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0Q29udGFpbmVyIn0sXy5LKF8uTyx7QTp2LHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnQiLCJvbjpjbGljayI6ZiwiYXJpYS1sYWJlbCI6Xy4kTi5mb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fTEVGVCIsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdCIsZWw6Riwib246c2Nyb2xsIjplfSxfLksoXy5XLHtkYXRhOmwsSGs6ITB9LHtlbmRTY3JlZW5WaWRlb1JlbmRlcmVyOih7ZGF0YTpEfSk9Pl8uSyhtVyx7ZGF0YTpELGNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtIn0pfSkpLF8uSyhfLk8se0E6RSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodCIsCiJvbjpjbGljayI6aCwiYXJpYS1sYWJlbCI6Xy4kTi5lb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQiLGNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zUGFkZGxlSWNvbiJ9KSl9KSkpfSksXy5LKF8uTyx7QTooKT0+bSgpJiZwKCksdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zTW9yZVZpZGVvc0J1dHRvbiIsIm9uOmNsaWNrIjpjLCJhcmlhLWxhYmVsIjpfLiROLmJvfSxfLiROLmJvKX0pKX0sIiRkIik7dmFyICRtYT1fLkwoYT0+Xy5LKCJwZnAtZW5kc2NyZWVuLXBsYXlsaXN0LXJlbmRlcmVyIix7Y2xhc3M6Xy5QKCJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0IixhLmNsYXNzTmFtZSl9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hLmRhdGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsYXJpYUxhYmVsOigpPT5fLmFOKGEuZGF0YSgpLnRpdGxlKX0sXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6KCk9PmEuZGF0YSgpLnRodW1ibmFpbCxjbGFzc05hbWU6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlclRodW1ibmFpbCJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5In0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheVRpdGxlIn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGl0bGUifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS50aXRsZSwKbWE6ITB9KSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJCb3R0b21PdmVybGF5In0sXy5LKF8uTUQse2ljb246IlBMQVlMSVNUUyIsY2xhc3NOYW1lOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJJY29uIn0pLF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnZpZGVvQ291bnRUZXh0LHljOiEwfSkpKSksImFlIik7dmFyIGFuYT1fLkwoYT0+e2Z1bmN0aW9uIGIoRil7Ri5zdG9wUHJvcGFnYXRpb24oKTtGPXooKS5sZW5ndGg7bSgobCgpLXIoKStGKnIoKSklRil9ZnVuY3Rpb24gYyhGKXtGLnN0b3BQcm9wYWdhdGlvbigpO0Y9eigpLmxlbmd0aDttKChsKCkrcigpKSVGKX12YXIgZD1fLnZFKCJkaXYiKSxbZSxmXT1fLkooW10sdm9pZCAwLCJFclVRSWUiKSxbaCxrXT1fLkooMCx2b2lkIDAsIldNZVlvZCIpLGw9aCxtPWssW24scF09Xy5KKDAsdm9pZCAwLCJPelBTa2UiKSxyPW4sW3QsLHZdPV8uSigwLHZvaWQgMCwibENUbXBlIik7Xy5EUCgicmVzaXplIiwoKT0+e3YoRj0+RisxKX0pO3ZhciB6PV8uTigoKT0+TVMoYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwicnkyRFQiKSxFPV8uTigoKT0+blUoYS5HLGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSx2b2lkIDAsIkZoVVpyIiksQT1fLk4oKCk9PnIoKSYmeigpLmxlbmd0aD5yKCksdm9pZCAwLCJVd0VjNWIiKTtfLm5FKCgpPT57dCgpOwp2YXIgRj16KCksQz1sKCk7aWYoRSgpJiZkLnZhbHVlKWlmKEYubGVuZ3RoKXt2YXIgRz1kLnZhbHVlLEQ9Ry5jbGllbnRXaWR0aDtHPUcuY2xpZW50SGVpZ2h0O2xldCBUPUYubGVuZ3RoO2Zvcih2YXIgSD0yLFI9MixNPU1hdGgubWF4KEQvOTYsMiksUz1NYXRoLm1heChHLzU0LDIpLFk9KFQtMSkqNDtZPjAmJihIPE18fFI8Uyk7KXt2YXIgcGE9SC8yLG9hPVIvMixVPUg8PU0tMiYmWT49b2EqNCxoYT1SPD1TLTImJlk+PXBhKjQ7aWYoKHBhKzEpL29hKm5XLyhEL0cpPkQvRy8ocGEvKG9hKzEpKm5XKSYmaGEpWS09cGEqNCxSKz0yO2Vsc2UgaWYoVSlZLT1vYSo0LEgrPTI7ZWxzZSBpZihoYSlZLT1wYSo0LFIrPTI7ZWxzZSBicmVha31sZXQge2NvbHVtbkNvdW50OmJhLFl6OmFhLFJ6Ok9hfT17Y29sdW1uQ291bnQ6SCxZejpSLFJ6Oll9O0g9ITE7T2E+PTEyJiZUKjQtT2E8PTYmJihhYT49NHx8YmE+PTQpJiYoSD0hMCk7Uj1iYSo5NjtNPWFhKjU0O1M9TWF0aC5taW4oUi9NPEQvRz8KRy9NOkQvUiwyKTtSPU1hdGguZmxvb3IoTWF0aC5taW4oRCxSKlMpKTtNPU1hdGguZmxvb3IoTWF0aC5taW4oRyxNKlMpKTtsZXQge1NBOkpiLFJBOnphfT17U0E6UixSQTpNfTtSPUpiKzQ7TT16YSs0O1M9MDtZPVtdO2ZvcihwYT0wO3BhPGJhO3BhKyspZm9yKG9hPTA7b2E8YWE7b2ErKylpZihVPTAsSCYmcGE+PWJhLTImJm9hPj1hYS0yP1U9MTpvYSUyPT09MCYmcGElMj09PTAmJihVPTIpLGhhPVMlVCxVIT09MCl7bGV0IExiPU1hdGguZmxvb3IoTSpvYS9hYSksY2M9TWF0aC5mbG9vcihSKnBhL2JhKTtZLnB1c2goe2RhdGE6RlsoaGErQyklVF0sbGVmdDpjYysoRC1KYikvMix0b3A6TGIrKEctemEpLzIsd2lkdGg6TWF0aC5mbG9vcihSKihwYStVKS9iYSktY2MtNCxoZWlnaHQ6TWF0aC5mbG9vcihNKihvYStVKS9hYSktTGItNH0pO1MrK312YXIge1N5Om1hLGluZGV4OnRhfT17U3k6WSxpbmRleDpTfTtmKG1hKTtwKHRhKX1lbHNlIGYoW10pfSwid2VZNEIiKTtyZXR1cm4gXy5LKCJwZnAtdmlkZW8td2FsbC1lbmRzY3JlZW4iLAp7Y2xhc3M6Xy5QKCJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlbkhvc3QiLGEuY2xhc3NOYW1lLHt5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpc2libGU6RSx5dFBmcFZpZGVvV2FsbEVuZHNjcmVlbklzT2JzY3VyZWQ6YS5VeH0pLCJvbjpjbGljayI6ZnVuY3Rpb24oRil7Ri5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6RSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpZGVvTGlzdENvbnRhaW5lciJ9LF8uSyhfLk8se0EsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0Iiwib246Y2xpY2siOmIsImFyaWEtbGFiZWwiOl8uJE4uZm99LF8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX0xFRlQiLGNsYXNzTmFtZToieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0IiwKZWw6ZH0sXy5LKF8uZ0cse3BhOmV9LEY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9JdGVtIixzdHlsZTpfLklFKHt0b3A6KDAsXy5aSykoKCk9PkYudG9wKSxsZWZ0OigwLF8uWkspKCgpPT5GLmxlZnQpLHdpZHRoOigwLF8uWkspKCgpPT5GLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PkYuaGVpZ2h0KX0pfSxfLksoXy5XLHtkYXRhOigpPT5GLmRhdGF9LHtlbmRTY3JlZW5WaWRlb1JlbmRlcmVyOm1XLGVuZFNjcmVlblBsYXlsaXN0UmVuZGVyZXI6JG1hfSkpKSksXy5LKF8uTyx7QSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0Iiwib246Y2xpY2siOmMsImFyaWEtbGFiZWwiOl8uJE4uZW99LF8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX1JJR0hUIixjbGFzc05hbWU6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlSWNvbiJ9KSl9KSl9KSl9LCJjZSIpLG5XPTk2LzU0O3ZhciBvVz1fLkwoKHtqZTphfSk9Pnt2YXIgYj1fLk4oKCk9PmEoKSx2b2lkIDAsIkVUZ2U3ZCIpLFtjLCxkXT1fLkooMCx2b2lkIDAsIlpDQklzIik7Xy5uRSgoKT0+e2IoKSYmZChlPT5lKzEpfSwiS3NYM3JmIik7cmV0dXJuIF8uSygicGxheWVyLWFjdGlvbi1pbmRpY2F0b3IiLHtjbGFzczoieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckhvc3QifSxfLksoXy5nRyx7cGE6KCk9PmIoKT9bYygpXTpbXX0sKCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGxheWVyQ29udHJvbHNQbGF5ZXJBY3Rpb25JbmRpY2F0b3JBY3Rpb24ifSxfLksoXy5NRCx7aWNvbjpiLGNsYXNzTmFtZToieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckljb24ifSkpKSl9LCJlZSIpO29XLmlkb21Db21wYXQ9ITA7dmFyIHBXPV8uTCgoe0c6YSxTbTpiLHBsYXllck92ZXJsYXlSZW5kZXJlcjpjLFZ3OmQsY2xhc3NOYW1lOmV9KT0+e3ZhciBmPSgpPT5fLkIoYj8uKCk/LnBsYXllckJhckFjdGlvbkJ1dHRvbixfLlZMKTtyZXR1cm4gXy5LKCJwbGF5ZXItdGltZS1kaXNwbGF5Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheUhvc3QiLGUpfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlUaW1lQ2h1bmtzIix7eXR3UGxheWVyVGltZURpc3BsYXlQaWxsOigpPT4hZD8uKCkseXR3UGxheWVyVGltZURpc3BsYXlMaXZlRG90OigpPT5hKCkuaXNMaXZlLHl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZUhlYWQ6KCk9Pm9VKGEoKSl9KSwib246Y2xpY2siOmZ1bmN0aW9uKGgpe2lmKGEoKS5pc0xpdmUmJiFvVShhKCkpKXthKCkuSD8uc2Vla1RvKEluZmluaXR5KTt2YXIgaz1VUShhKCkuSCk7ayYmYSgpLlMoe3ZpZGVvRHVyYXRpb246a30pfWguc3RvcFByb3BhZ2F0aW9uKCl9fSwKXy5LKCJkaXYiLHtkaXI6Imx0ciJ9LF8uSyhibmEse0c6YSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6Y30pLF8uSyhfLk8se0E6KCk9PiFvVShhKCkpLHRoZW46KCk9Pl8uSyhjbmEse0c6YX0pfSkpKSxfLksoXy5PLHtBOigpPT57dmFyIGg9Xy5CKGI/LigpPy5wbGF5ZXJCYXIsRFMpP18uQihrVChhKCksXy5CKGI/LigpPy5wbGF5ZXJCYXIsRFMpKSxlVCk/LnRpdGxlOnZvaWQgMCxrPWYoKT8udGV4dDtyZXR1cm4gaD8/a30sdGhlbjpoPT5fLksoZG5hLHt0aXRsZTpoLGJ1dHRvbjpmLEc6YX0pfSkpfSwiZmUiKSxibmE9Xy5MKCh7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpifSk9Pnt2YXIgYz0oKT0+YSgpLmlzTGl2ZT9fLiROLmxvOkNUKGEoKS52YSk7cmV0dXJuIF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVFbGFwc2VkIn0sXy5LKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLk8se0E6KCk9PmI/LigpPy5saXZlSW5kaWNhdG9yVGV4dCwKdGhlbjpkPT5fLksoXy5WLHt0ZXh0OmR9KSxXOigpPT5fLksoXy5JQixudWxsLGMpfSkpLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHkifSwoKT0+e2lmKGEoKS5pc0xpdmUpcmV0dXJuIF8uJE4ubG87dmFyIGQ9UFIoe3NlY29uZHM6YSgpLnZhfSk7cmV0dXJuYCR7Xy4kTi5WdH0gJHtkfWB9KSl9LCJnZSIpLGNuYT1fLkwoKHtHOmF9KT0+e3ZhciBiPSgpPT57aWYob1UoYSgpKSl2YXIgYz0wO2Vsc2V7Yz1NYXRoO3ZhciBkPWMucm91bmQsZT1hKCk7Yz1kLmNhbGwoYyxlLmlzRHJhZ2dpbmc/ZS5DYTplLnZhKS1NYXRoLnJvdW5kKFVRKGEoKS5IKSl9cmV0dXJuIGN9O3JldHVybiBfLksoXy5JQixudWxsLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVTZWNvbmQifSksXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZURlbGltaXRlciIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LAoiLyIpLF8uSygic3BhbiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlUaW1lU2Vjb25kIiwieXR3UGxheWVyVGltZURpc3BsYXlUaW1lRHVyYXRpb24iKX0sXy5LKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LCgpPT5hKCkuaXNMaXZlP0NUKGIoKSk6Q1QoYSgpLnZpZGVvRHVyYXRpb24pKSxfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlTY3JlZW5SZWFkZXJPbmx5In0sKCk9PntpZihhKCkuaXNMaXZlKXJldHVybiBDVChiKCkpO3ZhciBjPVBSKHtzZWNvbmRzOmEoKS52aWRlb0R1cmF0aW9ufSk7cmV0dXJuYCR7Xy4kTi5VdH0gJHtjfWB9KSkpfSwiaGUiKSxkbmE9Xy5MKCh7dGl0bGU6YSxidXR0b246YixHOmN9KT0+e2Z1bmN0aW9uIGQoZil7Yj8uKCk/LmNvbW1hbmQmJihfLkFKKGIoKS5jb21tYW5kLHt9LCExKSxmLnN0b3BQcm9wYWdhdGlvbigpKX12YXIgZT1fLk4oKCk9PmMoKS5iYT8uRWUsdm9pZCAwLCJqZzJPTWMiKTtyZXR1cm4gXy5LKF8uTywKe0E6Yix0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQWN0aW9uQ29udGFpbmVyIn0sXy5LKCJidXR0b24iLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5UGlsbCIsInl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQnV0dG9uIiksIm9uOmNsaWNrIjpkLCJhcmlhLWxhYmVsIjooKT0+Xy5hTihmKCkudGV4dCl9LF8uSyhfLlYse3RleHQ6YSx5YzohMH0pLF8uSyhfLk8se0E6KCk9PiEoXy54KCJtd2ViX3VzZV9vbmx5X2NoYXB0ZXJfdGl0bGVfaW5fZnVsbHNjcmVlbiIpJiZjKCkuaXNGdWxsc2NyZWVuKSx0aGVuOigpPT5fLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVF9DQUlSTyIsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheUNoZXZyb24ifSl9KSkpLFc6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheUNoYXB0ZXJUZXh0Iix7eXR3UGxheWVyVGltZURpc3BsYXlGdWxsc2NyZWVuQ29udHJvbHNBbHdheXNPbjplfSl9LApfLksoXy5WLHt0ZXh0OmEseWM6ITB9KSl9KX0sImllIik7dmFyIHFXPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMuZ249YTt0aGlzLmxpc3RlbmVycz1bXTt0aGlzLmNvbnRleHQ9Yjt0aGlzLm89ZDt0aGlzLnY9cVUodGhpcy5VYz8uSCk7dGhpcy5EPXRoaXMuUy5iaW5kKHRoaXMpO3RoaXMuc3RhdGU9ey4uLmRUKCksLi4uY307YT10aGlzLnVkKCk7W3RoaXMuQix0aGlzLmpdPV8uSihhLHZvaWQgMCwicDNOd3EiKX1TKGEpe2lmKCFxbGEoYSx0aGlzLnN0YXRlKSl7dGhpcy5zdGF0ZT17Li4udGhpcy5zdGF0ZSwuLi5hfTthPV8ueCgicGxheWVyX2NvbnRyb2xzX2xvZ19jcmVhdGlvbl9lbmFibGVkIik7dmFyIGI9LTE7YSYmIXBVKCkmJihiPSgwLF8uZWwpKCkpO2EmJl8uQXEoInBjdV9zIik7dGhpcy5qJiZ0aGlzLmoodGhpcy51ZCgpKTthJiYoXy5BcSgicGN1X3NlIiksXy5BcSgicGN1X3JzIikpO3RoaXMuZ24odGhpcy51ZCgpKTthJiYoXy5BcSgicGN1X3JlIikscGxhKGIpLF8uamYuR2EoKCk9PntfLkFxKCJwY3VfYXAiKX0sCjgpKX19dWQoKXt2YXIgYT10aGlzLm8/cVUodGhpcy5vKCkpOnFVKHRoaXMuVWM/LkgpO3JldHVybnsuLi50aGlzLnN0YXRlLFM6dGhpcy5ELEg6YSx0YTp0aGlzLmNvbnRleHQudGEsVGM6dGhpcy5jb250ZXh0LlRjLEdjOnRoaXMuY29udGV4dC5HYyxiYTp0aGlzLmNvbnRleHQuYmF9fWdldERhdGEoKXtyZXR1cm4gdGhpcy5VY319O3ZhciByVz1fLkwoYT0+e2Z1bmN0aW9uIGIoWSl7TT1ILmFuaW1hdGUoW3tvZmZzZXQ6MCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsb3BhY2l0eTpZfSx7b2Zmc2V0OjEsb3BhY2l0eToxfV0se2R1cmF0aW9uOjIwMCxmaWxsOiJmb3J3YXJkcyJ9KTtNLmFkZEV2ZW50TGlzdGVuZXIoImZpbmlzaCIsKCk9PntNPXZvaWQgMDtlKCk7Rj0ibGluZ2VyaW5nIn0pfWZ1bmN0aW9uIGMoWSxwYT0hMSxvYT0hMSl7dmFyIFU9W107VS5wdXNoKHtvZmZzZXQ6MCx0cmFuc2Zvcm06YHRyYW5zbGF0ZVgoJHtDPT09LTE/MjA6LTIwfXB4KWAsb3BhY2l0eTpwYT8iMCI6IjEifSk7cGEmJlUucHVzaCh7b2Zmc2V0Oi41LG9wYWNpdHk6IjEifSk7VS5wdXNoKHtvZmZzZXQ6MSx0cmFuc2Zvcm06InRyYW5zbGF0ZVgoMCkiLG9wYWNpdHk6IjEifSk7cGE9WS5hbmltYXRlKFUse2R1cmF0aW9uOjQwMCxlYXNpbmc6ImN1YmljLWJlemllcigwLjA1LCAwLjAwLCAwLjAwLCAxLjAwKSJ9KTsKWT1ZLnF1ZXJ5U2VsZWN0b3IoInBhdGgiKTtVPVtdO3ZhciBoYT17b2Zmc2V0OjAsZDpDPT09LTE/J3BhdGgoIk0gMTggNCBMIDE4IDE2IEwgMTggMjgiKSc6J3BhdGgoIk0gNCA0IEwgNCAxNiBMIDQgMjgiKSd9O29hJiYoaGEuZmlsdGVyPSJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwLjgpKSIpO1UucHVzaChoYSk7b2EmJlUucHVzaCh7b2Zmc2V0Oi44LGZpbHRlcjoiZHJvcC1zaGFkb3coMCAwIDAuNXB4IHJnYmEoMCwgMCwgMCwgMC44KSkifSk7aGE9e29mZnNldDoxLGQ6Qz09PS0xPydwYXRoKCJNIDE4IDQgTCA2IDE2IEwgMTggMjgiKSc6J3BhdGgoIk0gNCA0IEwgMTYgMTYgTCA0IDI4IiknfTtvYSYmKGhhLmZpbHRlcj0iZHJvcC1zaGFkb3coMCAwIDAuNXB4IHJnYmEoMCwgMCwgMCwgMCkpIik7VS5wdXNoKGhhKTtZLmFuaW1hdGUoVSx7ZHVyYXRpb246MzMzLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIixmaWxsOiJmb3J3YXJkcyJ9KTsKcmV0dXJuIHBhfWZ1bmN0aW9uIGQoKXt2YXIgWT1ILnF1ZXJ5U2VsZWN0b3IoIi55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpLmNsb25lTm9kZSghMCk7WS5jbGFzc0xpc3QuYWRkKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbCIpO1kuY2xhc3NMaXN0LnJlbW92ZSgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKTtILmFwcGVuZENoaWxkKFkpO2MoWSwhMCwhMCkuYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e1kucmVtb3ZlKCl9KX1mdW5jdGlvbiBlKCl7Y2xlYXJUaW1lb3V0KFIpO1I9c2V0VGltZW91dCgoKT0+e2YoKX0sXy5zaigid2ViX3BsYXllcl9zZWVrX292ZXJsYXlfbGluZ2VyX2R1cmF0aW9uIiwzMDApKX1mdW5jdGlvbiBmKFk9MSxwYT0hMCl7TT1ILmFuaW1hdGUoW3tvZmZzZXQ6MCxvcGFjaXR5Oll9LHtvZmZzZXQ6MSxvcGFjaXR5OjB9XSx7ZHVyYXRpb246MjAwLGZpbGw6ImZvcndhcmRzIixlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSJ9KTsKcGEmJihNLmFkZEV2ZW50TGlzdGVuZXIoImZpbmlzaCIsKCk9PntTPy4oKTtNPXZvaWQgMDtrKCk7QSghMSl9KSxGPSJmYWRpbmctb3V0Iil9ZnVuY3Rpb24gaCgpe2lmKCFNKXJldHVybiAwO3ZhciBZPU51bWJlcihnZXRDb21wdXRlZFN0eWxlKEgpLm9wYWNpdHkpO00uY2FuY2VsKCk7TT12b2lkIDA7cmV0dXJuIFl9ZnVuY3Rpb24gaygpe0Y9ImhpZGRlbiI7SD1DPXZvaWQgMDtjbGVhclRpbWVvdXQoUil9dmFyIGw9Xy5OKCgpPT5hLkcoKS5KZCx2b2lkIDAsInBkbG1ZYiIpLG09Xy5OKCgpPT5hLkcoKS5LYix2b2lkIDAsImFQUzlKIiksbj1fLk4oKCk9PmEuRygpLkgsdm9pZCAwLCJ4dkJybGYiKSxbcCxyXT1fLkooIiIsdm9pZCAwLCJWSnVnemQiKSxbdCx2XT1fLkooIiIsdm9pZCAwLCJZU0tTT2QiKSxbeixFXT1fLkooITEsdm9pZCAwLCJPc21pbmMiKSxBPUUsRj0iaGlkZGVuIixDLEcsRCxILFI9MCxNLFM7Xy5uRSgoKT0+e2lmKEVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGUpe3ZhciBZPQpsKCk7aWYoIShtKCk8PTF8fFk9PT0wKSl7QSghMCk7aWYoQyYmWSE9PUMpe2xldCBwYT0xO00mJihwYT1oKCkpO2YocGEsITEpO2soKX1DPVk7SD1DPT09LTE/RzpEO2lmKEcmJkQpaWYoWT1uKCksWT1ZPy5pc1JlYWR5Py4oKT9ZLmdldEN1cnJlbnRUaW1lKCk6MCxZPUM9PT0tMSYmWTw9MTA/MTA6KG0oKS0xKSoxMCxZPWAke0M9PT0tMT8iXHUyMjEyIjoiKyJ9ICR7WX1gLEM9PT0tMT9yKFkpOnYoWSksRj09PSJoaWRkZW4ifHxGPT09ImZhZGluZy1vdXQiKVk9MCxGPT09ImZhZGluZy1vdXQiJiYoWT1oKCksZCgpKSxiKFkpLEYhPT0iZmFkaW5nLW91dCImJmMoSC5xdWVyeVNlbGVjdG9yKCIueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKSksRj0iZmFkaW5nLWluIjtlbHNlIGlmKEY9PT0iZmFkaW5nLWluInx8Rj09PSJsaW5nZXJpbmciKUgucXVlcnlTZWxlY3RvcigiLnl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24iKS5hbmltYXRlKFt7b2Zmc2V0OjAsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkiLAp0cmFuc2Zvcm06InNjYWxlKDEpIn0se29mZnNldDouNjQsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkiLHRyYW5zZm9ybTpgc2NhbGUoJHtfLnNqKCJ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9kdXJhdGlvbl9idW1wX3NjYWxlIil8fC45fSlgfSx7b2Zmc2V0OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSJ9XSx7ZHVyYXRpb246MTg0fSksZCgpLEY9PT0ibGluZ2VyaW5nIiYmZSgpfX19LCJoem55RCIpO18uWXUoKCk9PntoKCk7aygpfSk7cmV0dXJuIF8uSygieXR3LXBsYXllci1zZWVrLW92ZXJsYXkiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlIb3N0IixzdHlsZTpfLklFKHtkaXNwbGF5OigpPT56KCk/ImJsb2NrIjoibm9uZSJ9KX0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uIiwieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNrIiksZWw6Xy5yRihZPT57Rz1ZfSl9LF8uSygiZGl2IiwKe2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyIsInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50Iil9LF8uSygic3ZnIix7dmlld0JveDoiMCAwIDIyIDMyIix3aWR0aDoiMjIiLGhlaWdodDoiMjQiLGNsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3ZnIn0sXy5LKCJwYXRoIix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoIixkOiJNIDE4IDQgTCA2IDE2IEwgMTggMjgiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsZmlsbDoibm9uZSJ9KSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24ifSxwKSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uIiwieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIiksZWw6Xy5yRihZPT57RD1ZfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24ifSwKdCksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3ciLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpfSxfLksoInN2ZyIse3ZpZXdCb3g6IjAgMCAyMiAzMiIsd2lkdGg6IjIyIixoZWlnaHQ6IjI0IixjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1N2ZyJ9LF8uSygicGF0aCIse2NsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGF0aCIsZDoiTSA0IDQgTCAxNiAxNiBMIDQgMjgiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsZmlsbDoibm9uZSJ9KSkpKSl9LCJrZSIpO3ZhciB0VTt2YXIgW2VuYSxzV109Xy5KKCExLHZvaWQgMCwiR05XM1MiKSxbQ1UsRFVdPV8uSighMSx2b2lkIDAsIkdBRWtKIiksW3RXLHRsYV09Xy5KKHZvaWQgMCx2b2lkIDAsIk9WUDFlZSIpO3ZhciBCVT0wO3ZhciBFVT12b2lkIDA7dmFyIHpVPTAsSFU9MCxHVT0wLHlVPTAsQVU9ITEsRlU9MDt2YXIgTlU7dmFyIHVXPVt7cmVnaXN0ZXI6YT0+e3ZhciBiPXdsYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25Wb2x1bWVDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9eGxhKGEpO2E9YSgpLkg7YT8uYWRkRXZlbnRMaXN0ZW5lcigiY2FwdGlvbnNjaGFuZ2VkIixiKTthPy5hZGRFdmVudExpc3RlbmVyKCJjYXB0aW9uc3NldHRpbmdzY2hhbmdlZCIsYik7YT8uYWRkRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjooYSxiKT0+e2I9QmxhKGEsYik7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9RGxhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJTRUVLX0NPTVBMRVRFIixiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPVBVKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsCmIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjooYSxiKT0+e2I9RWxhKGEsYik7YSgpPy5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9RmxhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9SGxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUlsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUdsYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25GdWxsc2NyZWVuQ2hhbmdlIiwKYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1KbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsYil9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1LbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZ1bGxzY3JlZW5lcnJvciIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmVycm9yIixiKX19fSx7cmVnaXN0ZXI6KGEsYik9Pnt2YXIgYz1MbGEoYSxiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGxheWVyLWF1dG9uYXYtcGF1c2UiLGMpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBsYXllci1hdXRvbmF2LXBhdXNlIixjKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPU1sYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYXV0b25hdi10b2dnbGUtY2xpY2siLApiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJhdXRvbmF2LXRvZ2dsZS1jbGljayIsYil9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1ObGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uTG9vcFJhbmdlQ2hhbmdlIixiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e2lmKCFfLngoImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyIpKXJldHVybigpPT57fTt2YXIgYj16bGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGIpfX19XTt2YXIgVmxhPV8uTChhPT57dmFyIGI9Xy5OKCgpPT5hLkgoKSx2b2lkIDAsInE4V3NLZiIpLGM9Xy5OKCgpPT5hLmRhdGEoKSx2b2lkIDAsIms2VWVWIiksZD1fLk4oKCk9Pnt2YXIgQz1hLmNvbnRleHQoKTtyZXR1cm4gbmV3IHFXKCgpPT57fSxDLHthdXRvbmF2RW5hYmxlZDpDLnRhLmRlKCksZWE6ITB9LGIpfSx2b2lkIDAsIk9BeElKYiIpLGU9Xy5OKCgpPT4oMCxkKCkuQikoKSx2b2lkIDAsIlV1MVJpIiksZj1fLk4oKCk9Pnt2YXIgQz1lKCk7cmV0dXJuIF8ueCgibXdlYl9wY19saXZlX2R2cl9rcyIpPyExOkMuaXNMaXZlJiYhQy5pc0xpdmVEdnJFbmFibGVkfSx2b2lkIDAsImN0VWczZCIpLGg9Xy5OKCgpPT57dmFyIEM9ZigpO3JldHVybiByVSgpJiYhQ30sdm9pZCAwLCJuSmRrMGMiKSxrPV8uTigoKT0+YygpLnBsYXllclJlc3BvbnNlPy5wbGF5YWJpbGl0eVN0YXR1c3x8YygpLmpiPy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsdm9pZCAwLCJCVlhDOSIpLGw9Xy5OKCgpPT4KZSgpLmJhPy5aaCYmJFMoZSgpLGsoKSksdm9pZCAwLCJNSHZId2YiKSxtPV8uTigoKT0+blUoZSxjKCkud2F0Y2hOZXh0UmVzcG9uc2UpLHZvaWQgMCwiY3R4VXMiKSxuPV8uTigoKT0+bVUoZSxCUyhjKCkud2F0Y2hOZXh0UmVzcG9uc2UpKSx2b2lkIDAsIkdMa0JVIikscD1fLk4oKCk9Pnt2YXIgQz1sKCksRz1tKCksRD1uKCksSD1lKCkucGxheWVyU3RhdGU7cmV0dXJuIEM/ITA6R3x8RD8hMTpIPT09MH0sdm9pZCAwLCJYRUV2QiIpLHI9Xy52RSgiYnV0dG9uIixDPT57QyYmV1MoQywyODU3MiwhXy54KCJlbWJlZHNfY3VlZF9vdmVybGF5X3ZlX2tzIikpfSksdD1fLk4oKCk9Pnt2YXIgQz1jKCk7cmV0dXJuKEM9Xy5CKE5TKEMud2F0Y2hOZXh0UmVzcG9uc2U/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsQy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpPy5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnRpdGxlKT9fLmFOKEMpOnZvaWQgMH0sCnZvaWQgMCwiZ3NHV3kiKSx2PV8udUYoQz0+e3ZhciBHPWUoKSxEPWMoKSxIPXQoKTtyZXR1cm4gRy5iYT8uaGlkZVZpZGVvSW5mbz8hMTpELndhdGNoTmV4dFJlc3BvbnNlfHxELmpiP0ghPT12b2lkIDA6Q30se2luaXRpYWw6ITB9KSx6PV8uTigoKT0+ZSgpLmVhLHZvaWQgMCwiVFI5S0dkIiksRT1fLnVGKEM9Pnt2YXIgRz1jKCk7cmV0dXJuKEcucGxheWVyUmVzcG9uc2U/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyfHxHLmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcik/LmNvbnRyb2xCZ0h0bWw/P0N9LHtpbml0aWFsOnZvaWQgMH0pLEE9W107Xy5uRSgoKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntBLmZvckVhY2goQz0+dm9pZCBDKCkpO0EubGVuZ3RoPTA7dVcuZm9yRWFjaChDPT57QS5wdXNoKEMucmVnaXN0ZXIoKCk9PmQoKS51ZCgpLCgpPT5jKCkpKX0pfSl9LCJZMnFZN2IiKTtfLm5FKCgpPT57dmFyIEM9ZCgpLApHPWMoKTtDLlVjPUc7dmFyIEQ9Qy52PT09Ry5IO0Mudj1xVShHLkgpO0R8fEMuaiYmQy5qKEMudWQoKSl9LCJhMTc4UmQiKTt2YXIgRj1DPT57Qz1DLmRldGFpbC5hdXRvbmF2RW5hYmxlZDt2YXIgRz17YXV0b25hdkVuYWJsZWQ6Q307QyYmKEcueGY9ITApO2UoKS5TKEcpfTtfLm9GKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBmcC1hdXRvbmF2LXVwZGF0ZSIsRil9KTtfLll1KCgpPT57QS5mb3JFYWNoKEM9PnZvaWQgQygpKTtBLmxlbmd0aD0wO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwZnAtYXV0b25hdi11cGRhdGUiLEYpfSk7cmV0dXJuIF8uSyhfLm5HLHtFZjpbXy5vRygkVCxiKV19LF8uSygicGZwLWNvbnRyb2xzIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNIb3N0Iiwib246Y29udGV4dG1lbnUiOmZ1bmN0aW9uKEMpe2EuY29udGV4dCgpLnRhLlNqPy4oQyk7Qy5wcmV2ZW50RGVmYXVsdCgpfX0sXy5LKEdWLHtHOmUsdGh1bWJuYWlsRGV0YWlsczooKT0+e3ZhciBDPQpjKCk7cmV0dXJuIEMuamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5kZWZhdWx0VGh1bWJuYWlsfHxDLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnRodW1ibmFpbH19KSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzQ3JlYXRvckVuZHNjcmVlbkNvbnRhaW5lciIsIm9uOmNsaWNrIjpmdW5jdGlvbihDKXtDLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+YygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyLHRoZW46KCk9Pl8uSyhsVyx7ZW5kc2NyZWVuUmVuZGVyZXI6KCk9PmMoKS5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlcixHOmV9KX0pKSxfLksoImRpdiIse2lkOiJwbGF5ZXItY29udHJvbC1vdmVybGF5IixjbGFzczpfLlAoInl0UGZwQ29udHJvbHNPdmVybGF5Iix7eXRQZnBDb250cm9sc0ZhZGVJbjp6fSksIm9uOmNsaWNrIjpmdW5jdGlvbihDKXtwKCk/CihYUygyODU3MiksZSgpLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDAsQy5jdXJyZW50VGFyZ2V0LnZpc3VhbEVsZW1lbnQpLGIoKS5wbGF5VmlkZW8oKSk6S1UoQyxlKCkpfSwib246cG9pbnRlcm1vdmUiOmZ1bmN0aW9uKEMpe0MucG9pbnRlclR5cGU9PT0ibW91c2UiJiYoZSgpLlMoe2VhOiEwfSksY1QoZSgpLHtJYzohMH0pKX19LF8uSyhfLk8se0E6dix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzR3JhZGllbnRUb3AifSxfLksoXy5PLHtBOnQsdGhlbjooKT0+Xy5LKCJoMiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzVmlkZW9UaXRsZSJ9LHQpfSkpfSksXy5LKG9XLHtqZTooKT0+ZSgpLmplfSksXy5LKF8uTyx7QTpwLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b24iLGVsOnIsImFyaWEtbGFiZWwiOl8uJE4uUGcsdGl0bGU6Xy4kTi5QZ30sXy5LKCJzdmciLHtoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsCnZpZXdCb3g6IjAgMCA2MCA2MCIsd2lkdGg6IjEwMCUifSxfLksoInBhdGgiLHtjbGFzczoieXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbkljb25CZyIsZDoiTTMwLDBBMzAsMzAsMCwxLDAsNjAsMzAsMzAsMzAsMCwwLDAsMzAsMFoiLGZpbGw6KCk9PkUoKT8/IiMxZjFmMWYifSksXy5LKCJwYXRoIix7ZDoiTTIxLDQxLjY1VjE4TDQzLjcsMjkuODVaIixmaWxsOiIjZmZmIn0pKSl9KSxfLksoWm1hLHtHOmUsVWM6Y30pLF8uSyhhbmEse0c6ZSx3YXRjaE5leHRSZXNwb25zZTooKT0+YygpLndhdGNoTmV4dFJlc3BvbnNlLFV4Om4sY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVmlkZW9XYWxsRW5kc2NyZWVuIn0pLF8uSyhZbWEse0g6YixHOmUsd2F0Y2hOZXh0UmVzcG9uc2U6KCk9PmMoKS53YXRjaE5leHRSZXNwb25zZSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNBdXRvbmF2In0pLF8uSyhfLk8se0E6KCk9PiFsKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoV1Yse0c6ZX0pLApfLksoVlYse2dmOmUsSWI6ITF9KSxfLksoWFYse0c6ZSxGZDotMSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNIaWRkZW5TZWVrQnV0dG9uIn0pLF8uSyhYVix7RzplLEZkOjEsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbiJ9KSxfLksoXy5PLHtBOmgsdGhlbjooKT0+Xy5LKHJXLHtHOmV9KX0pLF8uSyhmbmEse0g6YixHOmUsVWM6YyxGejpFLGRpc2FibGVTY3J1YmJpbmc6Zn0pKX0pKSkpfSwib2UiKSxmbmE9Xy5MKCh7SDphLEc6YixVYzpjLEZ6OmQsZGlzYWJsZVNjcnViYmluZzplfSk9PntmdW5jdGlvbiBmKHIpe3Iuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGg9Xy5OKCgpPT4hYigpLmJhPy5uaCx2b2lkIDAsInBGdERYYiIpLGs9Xy5OKCgpPT4hYigpLmJhPy5pcSx2b2lkIDAsInY0WDVzZSIpLGw9Xy5OKCgpPT5jKCkucGxheWVyT3ZlcmxheVJlbmRlcmVyLHZvaWQgMCwiakxoaFdjIiksbT1fLk4oKCk9PkdTKGwoKSksdm9pZCAwLCJzNjd4U2IiKSxuPV8uTigoKT0+CkVTKGwoKSksdm9pZCAwLCJwQ2lhdSIpLHA9Xy5OKCgpPT4hYigpLmJhPy56cix2b2lkIDAsInN2dXhCIik7cmV0dXJuIF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lciJ9LF8uSyhDVix7TGI6YixoZjptLGNvbmZpZzooKT0+KHtwb3NpdGlvbjoxLEtmOiExLEluOnAoKSxSYTpuKCksZGlzYWJsZVNjcnViYmluZzplKCksWW86KCk9PntiVCgpfSxGbjooKT0+e2NUKGIoKSx7SWM6ITB9KX19KX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzQm90dG9tQmFyIixzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6ZH0pLCJvbjpjbGljayI6Zn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBDb250cm9sc0xlZnRDb250cm9scyJ9LF8uSyhfLk8se0E6KCk9PmIoKS5wbGF5ZXJTdGF0ZT09PTAsdGhlbjooKT0+Xy5LKGFXLHtHOmJ9KSxXOigpPT5fLksoJFYse0c6Yix5czohMH0pfSksCl8uSyhIVix7b3JpZW50YXRpb246Imhvcml6b250YWxfcmlnaHQiLEg6YSxEdjohMCxDcDpfLkJLfHxfLkdLLGJqOiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1ZvbHVtZUNvbnRyb2xzIn0pLF8uSyhwVyx7RzpiLHBsYXllck92ZXJsYXlSZW5kZXJlcjpsLFZ3OiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1RpbWVEaXNwbGF5In0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzUmlnaHRDb250cm9scyJ9LF8uSyhkVyx7Z2Y6YixWcjohMCxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNDYXB0aW9uc0J1dHRvbiJ9KSxfLksoYlcse0c6YixjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNTZXR0aW5nc0J1dHRvbiJ9KSxfLksoXy5PLHtBOmssdGhlbjooKT0+Xy5LKFpWLHtHOmJ9KX0pKSkpfSl9LCJwZSIpO3ZhciBnbmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXQtZW1iZWRzLWluZm8tcGFuZWwtZGV0YWlscy12aWV3LW1vZGVsIix7Y2xhc3M6Inl0RW1iZWRzSW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbEhvc3QifSxfLksoXy5WLHtjbGFzc05hbWU6Inl0RW1iZWRzSW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbEJvZHlUZXh0Iix0ZXh0OigpPT5hKCkuYm9keVRleHR9KSxfLksoXy5nRyx7cGE6KCk9PmEoKS5jdGFCdXR0b25zfHxbXX0sYj0+KGI9KGI9Xy5CKGIsYW1hKSk/Xy5CKHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Yi5ib2R5VGV4dD8uY29udGVudH0sbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTpiPy5pY29uPy5pY29uVHlwZX19XX0scmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6Yj8ub25UYXB9fX19LF8uWkMpOnZvaWQgMCk/Xy5LKF8uQ0Qse2RhdGE6Yn0pOm51bGwpKSwicWUiKTt2YXIgaG5hPV8uTCgoe2RhdGE6YSxvbkNsaWNrOmJ9KT0+Xy5LKCJ5dC1lbWJlZHMtaW5mby1wYW5lbC1vdmVydmlldy12aWV3LW1vZGVsIixudWxsLF8uSygiYnV0dG9uIix7Im9uOmNsaWNrIjpiLGNsYXNzOiJ5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckJ1dHRvbiJ9LF8uSyhfLk8se0E6KCk9PmEoKS5oZWFkZXJJY29uPy5pY29uVHlwZSx0aGVuOigpPT5fLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PmEoKS5oZWFkZXJJY29uPy5pY29uVHlwZX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyVGV4dCJ9LF8uSyhfLlYse3RleHQ6KCk9PmEoKS50aXRsZX0pLF8uSyhfLlYse3RleHQ6KCk9Pih7Y29udGVudDphKCkudGl0bGUmJmEoKS5ib2R5VGV4dD8iIFx1MjAyMiAiOiIifSl9KSxfLksoXy5WLHt0ZXh0OigpPT5hKCkuYm9keVRleHR9KSkpKSwicmUiKTt2YXIgdlc9Xy5MKCh7ZGF0YTphLHByb3BzOmJ9KT0+e2Z1bmN0aW9uIGMoZCl7dmFyIGU9YSgpLmluZm9QYW5lbERldGFpbHNWaWV3TW9kZWw7aWYoZSl7dmFyIGY9e307ZS50aXRsZT8uY29udGVudCYmKGYuaGVhZGVyVGl0bGU9ZS50aXRsZS5jb250ZW50KTtfLnlOKHsuLi5mLEdiOigpPT5fLksoZ25hLHtkYXRhOmV9KSxIYTohMH0pfWQuc3RvcFByb3BhZ2F0aW9uKCl9cmV0dXJuIF8uSygieXRtLWVtYmVkcy1pbmZvLXBhbmVsLXJlbmRlcmVyIix7Y2xhc3M6Xy5QKCJ5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3QiLHt5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RBdXRvaGlkZTooKT0+YigpLnBsYXllclN0YXRlPT09MSx5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RUb3BDb250cm9sc1N0YWNrZWRJblBvcnRyYWl0OigpPT4hJFMoYigpKSYmIWIoKS5iYT8uaGlkZVZpZGVvSW5mbyYmIWIoKS5iYT8ubmh9KSxzdHlsZTpfLklFKHsiYW5pbWF0aW9uLWRlbGF5IjooKT0+CmAke2EoKS5kdXJhdGlvbk1zfHwxRTR9bXNgfSl9LF8uSyhfLk8se0E6KCk9PmEoKS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbCx0aGVuOmQ9Pl8uSyhobmEse2RhdGE6ZCxvbkNsaWNrOmN9KX0pKX0sInNlIik7dlcuaWRvbUNvbXBhdD0hMDt2YXIgd1c9Xy5MKCh7RzphfSk9Pnt2YXIgW2IsY109Xy5KKCJoaWRkZW4iLHZvaWQgMCwiU0JoYkhlIiksZCxlLFtmLGhdPV8uSighMSx2b2lkIDAsIkhnN3huZiIpLFtrLGxdPV8uSighMSx2b2lkIDAsIm5LSGxaZSIpO18uVUooKCk9Pnt0VygpPT09dm9pZCAwJiZ1bGEoKTtlPXNldFRpbWVvdXQoKCk9Pnt0VygpJiZtKCEwKTtsKCEwKX0sMkUzKX0pO18uWXUoKCk9PnttKCExKTtjbGVhclRpbWVvdXQoZSk7Y2xlYXJUaW1lb3V0KGQpfSk7Xy5uRSgoKT0+e0NVKCkmJmYoKSYmKG0oITEpLHNXKCEwKSk7IXRXKCkmJmYoKSYmbSghMSk7dFcoKSYmIWVuYSgpJiYhZigpJiZrKCkmJm0oITApfSwiVkNGQkliIik7dmFyIG09bj0+e2gobik7YSgpLkg/LnNldEF1dG9jcm9wRW5hYmxlZChuKTtjbGVhclRpbWVvdXQoZCk7bj8oYygidmlzaWJsZSIpLGQ9c2V0VGltZW91dCgoKT0+e2MoIiIpfSwzRTMpKTooYygiIiksZD1zZXRUaW1lb3V0KCgpPT57YygiaGlkZGVuIil9LDNFMykpfTtyZXR1cm4gXy5LKCJkaXYiLAp7Y2xhc3M6Xy5QKCJ5dEF1dG9jcm9wQnV0dG9uSG9zdCIse3l0QXV0b2Nyb3BCdXR0b25WaXNpYmxlOigpPT5iKCk9PT0idmlzaWJsZSIseXRBdXRvY3JvcEJ1dHRvbkhpZGRlbjooKT0+YigpPT09ImhpZGRlbiJ9KX0sXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIix0ZXh0OntydW5zOlt7dGV4dDpfLiROLlBzfV19fSxjbGFzc05hbWU6Inl0QXV0b2Nyb3BCdXR0b25BdXRvQ3JvcEJ1dHRvbiIscHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57bSghZigpKTtzVyghZigpKX19KSxXOigpPT5fLksoXy5wTyx7ZGF0YTp7c3R5bGU6IlNUWUxFX0xJR0hUX1RFWFQiLHNpemU6IlNJWkVfREVGQVVMVCIsdGV4dDp7cnVuczpbe3RleHQ6IjEwMCUifV19fSxjbGFzc05hbWU6Inl0QXV0b2Nyb3BCdXR0b25BdXRvQ3JvcEJ1dHRvbiIscHJldmVudERlZmF1bHQ6ITAsCnN0b3BQcm9wYWdhdGlvbjohMCx0ZzooKT0+e20oIWYoKSk7c1coIWYoKSl9fSl9KSl9LCJ1ZSIpO3dXLmlkb21Db21wYXQ9ITA7dmFyIHhXPV8uTCgoe2RhdGE6YSxGZTpifSk9Pl8uSygieXRtLWVuZHNjcmVlbi12aWRlby1yZW5kZXJlciIsbnVsbCxfLksoXy5mamEse2RhdGE6KCk9Pih7dGh1bWJuYWlsOmEoKS50aHVtYm5haWwsdGh1bWJuYWlsT3ZlcmxheXM6YSgpLnRodW1ibmFpbE92ZXJsYXlzLHZpZGVvSWQ6YSgpLnZpZGVvSWQsbGVuZ3RoVGV4dDphKCkubGVuZ3RoVGV4dCxwdWJsaXNoZWRUaW1lVGV4dDphKCkucHVibGlzaGVkVGltZVRleHQsbmF2aWdhdGlvbkVuZHBvaW50OmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsaGVhZGxpbmU6YSgpLnRpdGxlfSksRmU6Yn0pKSwidmUiKTt4Vy5pZG9tQ29tcGF0PSEwO3ZhciB6Vz1fLkwoKHt3YXRjaE5leHRSZXNwb25zZTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdCIsaWRvbUtleToiZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlciJ9LF8uSyhfLmdHLHtwYTooKT0+TVMoYT8uKCkpfSxiPT5fLksoeVcse3ZpZGVvOmJ9KSkpLCJ3ZSIpO3pXLmlkb21Db21wYXQ9ITA7dmFyIHlXPV8uTCgoe3ZpZGVvOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNSZWNvbW1lbmRhdGlvbiJ9LF8uSyhfLlcse2RhdGE6YX0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKHhXLHtkYXRhOmIsRmU6ITB9KX0pKSwieGUiKTt5Vy5pZG9tQ29tcGF0PSEwO3ZhciBCVz1fLkwoYT0+Xy5LKCJwbGF5ZXItZnVsbHNjcmVlbi10b3AtY29udHJvbHMiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzSG9zdCIsc3R5bGU6Xy5JRSh7dmlzaWJpbGl0eTooKT0+YS5HKCkuTmE/InZpc2libGUiOiJoaWRkZW4ifSl9LF8uSygiaDIiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNvbnRyb2xzVmlkZW9UaXRsZSJ9LF8uSyhfLk8se0E6KCk9PmEud2F0Y2hOZXh0UmVzcG9uc2U/LigpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy52aWRlb0RldGFpbHM/LnBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlcj8udGl0bGUsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSxfLksoQVcse0c6YS5HfSkpLCJ5ZSIpO0JXLmlkb21Db21wYXQ9ITA7CnZhciBBVz1fLkwoKHtHOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNsb3NlQnV0dG9uV3JhcHBlciJ9LF8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIixpY29uOntpY29uVHlwZToiQ0xPU0UifSxhY2Nlc3NpYmlsaXR5OntsYWJlbDoiQ2xvc2UifSxhY2Nlc3NpYmlsaXR5RGF0YTp7YWNjZXNzaWJpbGl0eURhdGE6e2xhYmVsOiJDbG9zZSJ9fX0scHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57YSgpLlMoe05hOiExfSk7Xy5NTygiLmZ1bGxzY3JlZW4tbW9yZS12aWRlb3MtZW5kcG9pbnQiKTtjVChhKCkpfX0pKSwiemUiKTtBVy5pZG9tQ29tcGF0PSEwO3ZhciBDVz1fLkwoYT0+e3ZhciBiPSgpPT5hLkcoKS5pc0Z1bGxzY3JlZW58fGEuRygpLmJhPy5FZSxjPSgpPT57dmFyIGY9YS5HKCk7cmV0dXJuIF8uYUwoImZ1bGxzY3JlZW4tY29udHJvbHMiLHtleHBhbmRlZDpmLk5hLCJzdHlsZS1yZWNvbW1lbmRhdGlvbnMtaW4tcG9ydHJhaXQiOmYuYmE/LkVlfHxfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSl9LGQ9KCk9Pnt2YXIgZj1hLkcoKTtyZXR1cm5gCiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgke2YuSmZ9cHgpOwogICAgICB0cmFuc2l0aW9uOiAke2YuV2Q/Im5vbmUiOiJ0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3R0b20gMC4ycyBlYXNlIn07CiAgICAgIHZpc2liaWxpdHk6ICR7Zi5KZnx8Zi5OYT8idmlzaWJsZSI6ImluaGVyaXQifTsKICAgICAgcG9pbnRlci1ldmVudHM6ICAke2YuTmE/ImFsbCI6Im5vbmUifTsKICAgIGB9LGU9KCk9Pl8ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJmEuYXV0b2Nyb3BDb25maWc/LigpO3JldHVybiBfLksoInBsYXllci1mdWxsc2NyZWVuLWNvbnRyb2xzIix7aGlkZGVuOiFiLGNsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuQ29udHJvbHNIb3N0In0sXy5LKF8uTyx7QTpiLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKEJXLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSksXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyh3Vyx7RzphLkd9KX0pLF8uSyhLVix7RzphLkcsd2F0Y2hOZXh0UmVzcG9uc2U6YS53YXRjaE5leHRSZXNwb25zZSx0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI6YS50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXJ9KSxfLksoImRpdiIse2NsYXNzOmMsc3R5bGU6ZH0sXy5LKHpXLHt3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSkpKX0pKX0sIkFlIik7Q1cuaWRvbUNvbXBhdD0hMDt2YXIgRFc9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnVFKCJ5dG0tcGFpZC1jb250ZW50LW92ZXJsYXktcmVuZGVyZXIiKTtyZXR1cm4gXy5LKCJ5dG0tcGFpZC1jb250ZW50LW92ZXJsYXktcmVuZGVyZXIiLHtjbGFzczoieXRtUGFpZENvbnRlbnRPdmVybGF5SG9zdCIsZWw6Yiwib246YW5pbWF0aW9uZW5kIjpmdW5jdGlvbihjKXtiLnZhbHVlLmNsYXNzTGlzdC5hZGQoInl0bVBhaWRDb250ZW50T3ZlcmxheUhpZGRlbiIpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCxjbGFzc05hbWU6Inl0bVBhaWRDb250ZW50T3ZlcmxheUxpbmsifSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsdGhlbjooKT0+Xy5LKCJzcGFuIixudWxsLF8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGV9KSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1QYWlkQ29udGVudE92ZXJsYXlUZXh0In0sXy5LKF8uViwKe3RleHQ6KCk9PmEoKS50ZXh0fSkpLF8uSyhfLk8se0E6KCk9PmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsdGhlbjooKT0+Xy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQifSl9KSkpfSwiQmUiKTtEVy5pZG9tQ29tcGF0PSEwO3ZhciBFVz1fLkwoYT0+e3ZhciBiPSgpPT5hLkcoKS5IPy5nZXRTaXplPy4oKT8ud2lkdGg7cmV0dXJuIF8uSygicGxheWVyLWJvdHRvbS1jb250cm9scyIse2NsYXNzOl8uUCgieXR3UGxheWVyQm90dG9tQ29udHJvbHNIb3N0Iix7ImRlbGhpLXBsYXllciI6Xy54KCJtd2ViX3dhdGNoX2RlbGhpX3BsYXllciIpfSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1jb250cm9scy1ib3R0b20gcGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0In0sXy5LKF8uTyx7QTooKT0+IShiKCkmJmIoKTwzMjApLHRoZW46KCk9Pl8uSyhwVyx7RzphLkcsU206YS5TbSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KX0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgicGxheWVyLWNvbnRyb2xzLWJvdHRvbSIsInBsYXllci1jb250cm9scy1ib3R0b20tcmlnaHQiKX0sXy5LKF8uTyx7QTooKT0+IShhLkcoKS5iYT8uaXF8fGIoKSYmYigpPDI0MCksdGhlbjooKT0+Xy5LKCJkaXYiLAp7Y2xhc3M6Inl0d1BsYXllckJvdHRvbUNvbnRyb2xzRnVsbHNjcmVlbkJ1dHRvbldyYXBwZXIifSxfLksoWlYse0c6YS5HfSkpfSkpKX0sIkNlIik7RVcuaWRvbUNvbXBhdD0hMDt2YXIgRlc9Xy5MKGE9Pnt2YXIge0c6Yix3YXRjaE5leHRSZXNwb25zZTpjfT1fLkRDKGEse3dhdGNoTmV4dFJlc3BvbnNlOnZvaWQgMH0pO3JldHVybiBfLksoXy5PLHtBOigpPT5IUyhiKCksQVMoYygpKSksdGhlbjooKT0+Xy5LKCJwbGF5ZXItZW5kc2NyZWVuIix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5Db250YWluZXIifSxfLksoImRpdiIse2lkOiJwbGF5ZXItZW5kc2NyZWVuIixjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuIiwiZGF0YS1oYXMtdGltZXItY291bnRkb3duIjohMH0sXy5LKGluYSx7cHJvcHM6YixwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjooKT0+QlMoYygpKX0pLF8uSyhqbmEse3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6KCk9PkJTKGMoKSl9KSxfLksoa25hLHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOigpPT4KQlMoYygpKX0pKSkpfSl9LCJEZSIpO0ZXLmlkb21Db21wYXQ9ITA7CnZhciBpbmE9Xy5MKGE9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVsIn0sXy5LKGxuYSx7Li4uYX0pLF8uSyhtbmEsey4uLmF9KSksIkVlIiksbG5hPV8uTChhPT57dmFyIHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmN9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSksW2QsZV09Xy4kTi5Pcy5zcGxpdCgic2Vjb25kc19wbGFjZWhvbGRlciIpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5IZWFkZXIiLHJvbGU6InRleHQifSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5iKCkuemYmJmMoKX0sKCk9Pl8uSyhfLlYse3RleHQ6KCk9PmMoKT8ucGF1c2VUZXh0fSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSygic3BhbiIse2lkOiJ1cG5leHQtaW4tbWVzc2FnZSJ9LGQsXy5LKG5uYSx7Li4uYX0pLGUpKSkpfSwiRmUiKSxubmE9Xy5MKGE9Pnt2YXIgYj0KYS5wcm9wcztyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bk51bWJlciIsImFyaWEtaGlkZGVuIjohMH0sKCk9PmIoKS55Zil9LCJHZSIpLG1uYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+YigpPy5jbG9zZUJ1dHRvbix0aGVuOmM9Pl8uSyhfLlcse2RhdGE6Y30se3RodW1ibmFpbE92ZXJsYXlUaW1lU3RhdHVzUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8uVlAse2RhdGE6ZH0pLGJ1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsdGc6KCk9PntRVShhKX0sYnV0dG9uT3ZlcnJpZGVzOntzdHlsZToib3ZlcmxheSJ9fSl9KX0pfSwiSGUiKSxqbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7CnJldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5Db3VudGRvd25Db250YWluZXIifSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YigpPy5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LGNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuQ3VlZFZpZGVvQ29udGFpbmVyIixhcmlhTGFiZWw6KCk9Pl8uREooYigpPy52aWRlb1RpdGxlPy5hY2Nlc3NpYmlsaXR5KX0sXy5LKG9uYSx7Li4uYX0pLF8uSyhwbmEsey4uLmF9KSkpfSwiSWUiKSxvbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5In0sXy5LKF8uWFAse3RodW1ibmFpbERldGFpbHM6KCk9PmIoKT8uYmFja2dyb3VuZCxNZDp2b2lkIDAsVGI6ITEsCmNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsQ29udGFpbmVyIn0pLF8uSyhfLlcse2RhdGE6KCk9PmIoKT8udGh1bWJuYWlsT3ZlcmxheXN9LHt0aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyOih7ZGF0YTpjfSk9Pl8uSyhfLlZQLHtkYXRhOmMsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5UaHVtYm5haWxPdmVybGF5cyIsYXJpYUhpZGRlbjohMH0pfSkpfSwiSmUiKSxwbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblZpZGVvSW5mbyIsImFyaWEtaGlkZGVuIjohMH0sXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmIoKT8udmlkZW9UaXRsZX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0F1dGhvciJ9LApfLksoXy5WLHt0ZXh0OigpPT5iKCk/LmJ5bGluZSxtYTohMH0pKSl9LCJLZSIpLGtuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KSxjPXtzdHlsZToib3ZlcmxheSJ9O3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5CdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5iKCk/LmNhbmNlbEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b24iLHRnOigpPT57UVUoYSl9LGJ1dHRvbk92ZXJyaWRlczpjfSl9KSxfLksoXy5XLHtkYXRhOigpPT5iKCk/Lm5leHRCdXR0b259LHtidXR0b25SZW5kZXJlcjooe2RhdGE6ZH0pPT5fLksoXy5wTyx7ZGF0YTpkLGNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uIiwKYnV0dG9uT3ZlcnJpZGVzOmN9KX0pKX0sIkxlIik7dmFyIEdXPV8uTChhPT57dmFyIGI9Xy5rRygkVCksYz1fLlAoInl0d1BsYXllck1pZGRsZUNvbnRyb2xzSG9zdCIsInBsYXllci1jb250cm9scy1taWRkbGUiLHsicHJldmVudC1jb250cm9scy1jb2xsaXNpb24iOigpPT57dmFyIGg9Yj8uKCk7aWYoIWg/LmlzUmVhZHk/LigpKXJldHVybiExO2g9aD8uZ2V0U2l6ZSgpPy5oZWlnaHQ7aD0hIWgmJmg8Mjc1O3ZhciBrPWEuRygpLmJhPy52b2x1bWVDb250cm9sVHlwZT09PSJ2b2x1bWUtc2xpZGVyIjtyZXR1cm4gaHx8a319KSxkPSgpPT57dmFyIGg9YS5HKCk7cmV0dXJuIGgucGxheWVyU3RhdGU9PT0zfHxoLnBsYXllclN0YXRlPT09LTF9LGU9KCk9Pnt2YXIgaD1hLkcoKTt2YXIgaz1iPy4oKTtYUShrKXx8IWs/LmlzUmVhZHk/LigpP2s9ITE6aD8uYmE/LnZuP2s9ITA6KGg9ay5nZXRWaWRlb0RhdGEoKSxrPSFoLmlzTGlzdGVkfHxoLnlwY1ByZXZpZXd8fGguaXNMaXZlfHx0eXBlb2Ygay5nZXRMb29wUmFuZ2U9PT0iZnVuY3Rpb24iJiYKay5nZXRMb29wUmFuZ2UoKT8hMDohMSk7cmV0dXJuIWt9LGY9Xy5QKCJwbGF5ZXItY29udHJvbHMtbWlkZGxlLWNvcmUtYnV0dG9ucyIseyJzY3JlZW5yZWFkZXItc2FmZS1oaWRlLW1pZGRsZS1idXR0b25zIjpkfSk7cmV0dXJuIF8uSygicGxheWVyLW1pZGRsZS1jb250cm9scyIse2NsYXNzOmN9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksocW5hLG51bGwpfSksXy5LKCJkaXYiLHtjbGFzczpmfSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKHJuYSx7RzphLkcsd2F0Y2hOZXh0UmVzcG9uc2U6YS53YXRjaE5leHRSZXNwb25zZX0pfSksXy5LKFhWLHtGZDotMSxHOmEuRyxjbGFzc05hbWU6Inl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b24ifSksXy5LKF8uTyx7QTooKT0+e3ZhciBoPWEuRygpO3JldHVybiF1UyhoKX0sdGhlbjooKT0+Xy5LKCRWLHtHOmEuR30pLFc6KCk9Pl8uSyhhVyx7RzphLkd9KX0pLF8uSyhYVix7RmQ6MSxHOmEuRyxjbGFzc05hbWU6Inl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b24ifSksCl8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoc25hLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSl9KSkpfSwiTWUiKTtHVy5pZG9tQ29tcGF0PSEwOwp2YXIgcW5hPV8uTCgoKT0+Xy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLXNwaW5uZXIifSxfLksoImRpdiIse2NsYXNzOiJzcGlubmVyIn0pKSwiTmUiKSxybmE9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPSgpPT4hYS5HKCkuYmE/LnZuO3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9QUkVWSU9VUyIsYXJpYUxhYmVsOl8uJE4uTXQsYXJpYURpc2FibGVkOmMsY2xhc3NOYW1lOl8uUCgicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIix7Imljb24tZGlzYWJsZSI6Y30pLFVkOjM2ODQwLGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOiJQTEFZRVJfUFJFVklPVVMifSkpLG9uY2xpY2s6KCk9Pnt2YXIgZD1hLkcoKSxlPWI/LigpO2QucmMmJmU/LnVuTXV0ZSgpO3ZhciBmPWEud2F0Y2hOZXh0UmVzcG9uc2U/LigpLGg9QVMoZik7CmlmKFhRKGUpJiZmJiZoKXtpZihkPVJVKGgpLlVhKV8uJEQoZCksXy5BSihkLHt9LCExKX1lbHNlIGY9YS5HKCkuYmE/LnZuLHBqYShjKCksZSxmKSxkLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDApfX0pfSwiT2UiKSxzbmE9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPSgpPT57dmFyIGQ9Yj8uKCk7aWYoIWQ/LmlzUmVhZHk/LigpKXJldHVybiEwO3ZhciBlPWQ/LmdldFBsYXlsaXN0KCk7ZD1kPy5nZXRQbGF5bGlzdEluZGV4KCk7dmFyIGY9ITE7ZSYmZCE9PXZvaWQgMCYmKGY9ZD49ZS5sZW5ndGgtMSk7cmV0dXJuIGZ9O3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9ORVhUIixhcmlhTGFiZWw6Xy4kTi5LdCxhcmlhRGlzYWJsZWQ6YyxVZDozNjg0MSxjb250ZW50OigpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC12aXNpYmxlLWFyZWEifSxfLksoXy5NRCx7aWNvbjoiUExBWUVSX05FWFQifSkpLGNsYXNzTmFtZTpfLlAoInBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiIsCnsiaWNvbi1kaXNhYmxlIjpjfSksb25jbGljazooKT0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZC5yYyYmZT8udW5NdXRlKCk7dmFyIGY9YS53YXRjaE5leHRSZXNwb25zZT8uKCksaD1BUyhmKTtpZihYUShlKSYmZiYmaCl7aWYoZD1SVShoKS5uZXh0KV8uJEQoZCksXy5BSihkLHt9LCExKX1lbHNlIGMoKXx8KGU/Lm5leHRWaWRlbygpLGQuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCkpfX0pfSwiUGUiKTt2YXIgSFc9Xy5MKCh7dmlkZW9EZXRhaWxzOmEsRzpifSk9PntmdW5jdGlvbiBjKFQpe0MoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGQoVCl7RygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZShUKXtDKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBmKFQpe0U/LnZhbHVlPy5jb250YWlucyhULnRhcmdldCl8fEcoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoVCl7VC5wcmV2ZW50RGVmYXVsdCgpO1hTKDIzODUxKTt2YXIgYmE9U1UoYixEKTtpZihiYSl7dmFyIGFhPWIoKT8uSD8uZ2V0Q3VycmVudFRpbWUoKTtfLkFKKGJhLHtwYXJhbXM6e3RpbWVzdGFtcDphYT9NYXRoLmZsb29yKGFhKS50b1N0cmluZygpOnZvaWQgMH19LCExLHtldmVudDpUfSl9VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBrKFQpe1UoVCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBsKFQpe1QucHJldmVudERlZmF1bHQoKTt6KCl8fEYoKSYmRigpPDMyMD8KVShUKTpDKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBtKFQpe1QucHJldmVudERlZmF1bHQoKTtHKDI1MDApO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gbihUKXtHKDI1MDApO1Quc3RvcFByb3BhZ2F0aW9uKCl9dmFyIFtwLHJdPV8uSighMSx2b2lkIDAsImlaTVFtZiIpLFt0LHZdPV8uSighMSx2b2lkIDAsIkNoaEgwYiIpLHo9dCxFPV8udkUoImRpdiIpLEEsRj0oKT0+YigpLkg/LmdldFNpemU/LigpPy53aWR0aCxDPSgpPT57RigpJiZGKCk8MzIwfHwocighMCksQSYmY2xlYXJUaW1lb3V0KEEpLHooKXx8KGJUKCksdighMCkpKX0sRz0oVD01MDApPT57RigpJiZGKCk8MzIwfHwocighMSksQT1zZXRUaW1lb3V0KCgpPT57IXAoKSYmeigpJiYodighMSksY1QoYigpLHtJYzohMH0pKX0sVCkpfSxEPSgpPT5fLkIoYT8uKCkuY29sbGFwc2VkUmVuZGVyZXIsbVYpPy50aXRsZSxIPSgpPT5hPy4oKS5jaGFubmVsVGh1bWJuYWlsRW5kcG9pbnQsUj0oKT0+YT8uKCkuY2hhbm5lbFRodW1ibmFpbCwKTT0oKT0+Xy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy50aXRsZT8/KF8ueCgiZW1iZWRzX3ZpZF9kZXRhaWxzX2ZhbGxiYWNrX2NoYW5uZWxfbmFtZV9rcyIpP3ZvaWQgMDpfLkIoYT8uKCkuY29sbGFwc2VkUmVuZGVyZXIsbVYpPy5zdWJ0aXRsZSksUz0oKT0+Xy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy5zdWJ0aXRsZSxZPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnN1YnNjcmliZUJ1dHRvbixwYT1fLk4oKCk9Pl8uQihTVShiLEQpLF8uVkQpPy51cmwsdm9pZCAwLCJ5VEhOaiIpLG9hPV8uTigoKT0+Xy5CKGE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCxfLlZEKT8udXJsLHZvaWQgMCwicHdsM0ljIiksVT1UPT57VC5wcmV2ZW50RGVmYXVsdCgpO2lmKGE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCYmYT8uKCkpe3ZhciBiYT1hPy4oKS5jaGFubmVsVGh1bWJuYWlsRW5kcG9pbnQ7WFMoMzY5MjUpO18uQUooYmEse30sITEsCntldmVudDpUfSl9fSxoYT1fLlAoInl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXIiLHt5dG1WaWRlb0luZm9Mb2dvRW5hYmxlZDooKT0+ISFhPy4oKS5jaGFubmVsVGh1bWJuYWlsfSksbWE9Xy5QKCJ5dG1WaWRlb0luZm9PdmVybGF5Iix7eXRtVmlkZW9JbmZvRXhwYW5kZWQ6KCk9PnooKX0pLHRhPSgpPT4hIV8uQihhPy4oKS5leHBhbmRlZFJlbmRlcmVyLG5WKT8uc3Vic2NyaWJlQnV0dG9uJiYhYigpLmJhPy5vaDtyZXR1cm4gXy5LKCJlbWJlZGRlZC1wbGF5ZXItdmlkZW8tZGV0YWlscyIse2NsYXNzOiJ5dG1WaWRlb0luZm9Ib3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvVmlkZW9EZXRhaWxzQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpoYX0sXy5LKF8uTyx7QTpELHRoZW46KCk9Pl8uSyhfLk8se0E6cGEsdGhlbjooKT0+Xy5LKCJhIix7Im9uOmNsaWNrIjpoLGNsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb1RpdGxlIixlbDpfLnJGKFQ9PntXUyhULAoyMzg1MSl9KSxocmVmOnBhfSxfLksoXy5WLHt0ZXh0OkQsY2xhc3NOYW1lOl8uUCgieXRtVmlkZW9JbmZvTGluayIpLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKSxXOigpPT5fLksoInNwYW4iLHtjbGFzczoieXRtVmlkZW9JbmZvVmlkZW9UaXRsZSJ9LF8uSyhfLlYse3RleHQ6RCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSl9KX0pLF8uSyhfLk8se0E6Xy54KCJlbWJlZHNfdmlkX2RldGFpbHNfZmFsbGJhY2tfY2hhbm5lbF9uYW1lX2tzIik/SDpNLHRoZW46KCk9Pl8uSyhfLk8se0E6b2EsdGhlbjooKT0+Xy5LKCJhIix7Im9uOmNsaWNrIjprLGNsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsVGl0bGUiLGhyZWY6b2F9LF8uSyhfLlYse3RleHQ6TSxjbGFzc05hbWU6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIikseWM6ITAsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLFc6KCk9Pl8uSygic3BhbiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsVGl0bGUifSxfLksoXy5WLHt0ZXh0Ok0seWM6ITAsCnViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pfSkpLF8uSyhfLk8se0E6Uix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVyIixlbDpFLCJvbjpmb2N1c2luIjplLCJvbjpmb2N1c291dCI6Ziwib246bW91c2VvdmVyIjpjLCJvbjptb3VzZW91dCI6ZH0sXy5LKCJidXR0b24iLHsib246dG91Y2hzdGFydCI6bCwib246dG91Y2hlbmQiOm0sIm9uOmNsaWNrIjprLGNsYXNzOl8uUCgieXRtVmlkZW9JbmZvTGluayIsInl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXIiKSxlbDpfLnJGKFQ9PntXUyhULDM2OTI1KX0pfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczpSLGNsYXNzTmFtZToieXRtVmlkZW9JbmZvQ2hhbm5lbExvZ28iLGFsdDoidGh1bWJuYWlsLWltYWdlIn0pKSxfLksoImRpdiIse2NsYXNzOm1hLCJvbjp0b3VjaHN0YXJ0IjpDLCJvbjp0b3VjaGVuZCI6bn0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvQ2hhbm5lbEluZm8iLApyb2xlOiJ0ZXh0In0sXy5LKF8uVix7dGV4dDpNLGNsYXNzTmFtZToieXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxlIix5YzohMCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSxfLksoXy5WLHt0ZXh0OlMsY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9GbHlvdXRDaGFubmVsU3VidGl0bGUiLHljOiEwLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKSxfLksoXy5PLHtBOnRhLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiJ9LF8uSyhfLlcse2RhdGE6WX0se3N1YnNjcmliZUJ1dHRvblJlbmRlcmVyOmZXfSkpfSkpKX0pKSl9LCJRZSIpO0hXLmlkb21Db21wYXQ9ITA7dmFyIFRVPV8uJE4uQXQsT2xhPV8uJE4uZ3UsdG5hPV8uTCgoe1F5OmEsb25DbGljazpiLEpuOmMsQnM6ZH0pPT57dmFyIGU9Xy51RSgiYnV0dG9uIixoPT57V1MoaCwyODY2Mil9KSxmPSgpPT5VVShhKCksYz8uKCksZD8uKCkpLmFyaWFMYWJlbDtyZXR1cm4gXy5LKCJ5dG0tbXV0ZS1idXR0b24iLHtjbGFzczoieXRtTXV0ZUJ1dHRvbkhvc3QifSxfLksoImJ1dHRvbiIse2VsOmUsY2xhc3M6Inl0bU11dGVCdXR0b25CdXR0b24iLHRpdGxlOmYsImFyaWEtbGFiZWwiOmYsIm9uOmNsaWNrIjpmdW5jdGlvbihoKXtYUygyODY2Mik7Yj8uKGgpO2guc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PlVVKGEoKSxjPy4oKSxkPy4oKSkuaWNvbk5hbWV9KSkpKX0sIlJlIik7dmFyIElXPV8uTCgoe0hCOmEsV3E6YixKbjpjLEJzOmQsY2xhc3NOYW1lOmV9KT0+Xy5LKCJ5dC1tdXRlLXRvZ2dsZS1idXR0b24iLHtjbGFzczplfSxfLksodG5hLHtReTooKT0+e3ZhciBmPWEoKTtyZXR1cm4gZi5yY3x8Zi52b2x1bWU9PT0wPzA6Zi52b2x1bWU+NTA/MToyfSxvbkNsaWNrOmY9Pnt2YXIgaD1hKCkuSDtoJiYoaC5pc011dGVkKCk/aC51bk11dGUoKTpoLm11dGUoITEpKTtiPy4oZil9LEpuOigpPT4hIWM/LigpLEJzOigpPT4hIWQ/LigpfSkpLCJTZSIpO0lXLmlkb21Db21wYXQ9ITA7dmFyIFZVO3ZhciB1bmE9Xy5MKCh7ZW5hYmxlZDphLGFyaWFMYWJlbDpiLG9uQ2xpY2s6Y30pPT5fLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpiLCJhcmlhLXByZXNzZWQiOmEsIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtjPy4oZCk7ZC5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3M6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25Ib3N0In0sXy5LKF8uTUQse2ljb246KCk9PmEoKT8iQVVUT05BVl9PTl9UT0dHTEVfU1BBTk5FUiI6IkFVVE9OQVZfT0ZGX1RPR0dMRV9TUEFOTkVSIixjbGFzc05hbWU6KCk9PmEoKT8ieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT24iOiJ5dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYifSksXy5LKF8uTUQse2ljb246KCk9PmEoKT8iUExBWV9DSVJDTEVfRklMTEVEIjoiUEFVU0VfQ0lSQ0xFX0ZJTExFRCIsY2xhc3NOYW1lOigpPT5hKCk/Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbiI6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb24ifSkpLAoiVGUiKTt2YXIgSlc9Xy5MKCh7RzphLEN1OmJ9KT0+e18uQ1EoYixlPT57ZSYmZS5lbmFibGVkIT09dm9pZCAwJiZlLmVuYWJsZWQhPT1hKCkuYXV0b25hdkVuYWJsZWQmJlhVKGEoKSxlLmVuYWJsZWQsITEpfSk7dmFyIGM9Xy5OKCgpPT5hKCkuYXV0b25hdkVuYWJsZWQ/Xy5ESihiKCkuZW5hYmxlZEFjY2Vzc2liaWxpdHlEYXRhKTpfLkRKKGIoKS5kaXNhYmxlZEFjY2Vzc2liaWxpdHlEYXRhKSx2b2lkIDAsIlE5Z3Z6YyIpLGQ9Xy5OKCgpPT5hKCkuYXV0b25hdkVuYWJsZWQsdm9pZCAwLCJJUUNaa2YiKTtyZXR1cm4gXy5LKCJwbGF5ZXItYXV0b25hdi10b2dnbGUiLHtjbGFzczoieXR3UGxheWVyQXV0b25hdlRvZ2dsZUhvc3QifSxfLksodW5hLHtlbmFibGVkOmQsYXJpYUxhYmVsOmMsb25DbGljazplPT57dmFyIGY9YSgpLGg9Zi5hdXRvbmF2RW5hYmxlZDtYVShmLCFmLmF1dG9uYXZFbmFibGVkLCEwKTt2YXIgaz1iKCk7IWgmJmsub25FbmFibGVkQ29tbWFuZD9fLkFKKGsub25FbmFibGVkQ29tbWFuZCwKaywhMCk6aCYmay5vbkRpc2FibGVkQ29tbWFuZCYmXy5BSihrLm9uRGlzYWJsZWRDb21tYW5kLGssITApO1BsYShmLGIoKSk7dVMoZil8fGNUKGYse0ljOiEwfSk7ZS5zdG9wUHJvcGFnYXRpb24oKX19KSl9LCJVZSIpO0pXLmlkb21Db21wYXQ9ITA7dmFyIExXPV8uTChhPT57dmFyIGI9KCk9Pk5TKGEucGxheWVyT3ZlcmxheVJlbmRlcmVyPy4oKSxhLnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uKCkpLGM9KCk9PmIoKSYmIWEuRygpLmJhPy5oaWRlVmlkZW9JbmZvO3JldHVybiBfLksoInBsYXllci10b3AtY29udHJvbHMiLHtjbGFzczoieXR3UGxheWVyVG9wQ29udHJvbHNIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy10b3AiLHt5dHdQbGF5ZXJUb3BDb250cm9sc0NvbnRhaW5lcldpdGhFbWJlZGRlZFZpZGVvRGV0YWlsczpjfSksIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtkLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSyhIVyx7dmlkZW9EZXRhaWxzOmIsRzphLkd9KX0pLF8uSyhfLk8se0E6KCk9PiFhLkcoKS5iYT8ubmgmJiEkUyhhLkcoKSksdGhlbjooKT0+Xy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHQiLAoicGxheWVyLWNvbnRyb2xzLXRvcC1yaWdodCIse3l0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzUGxheWVyQ29udHJvbHNUb3BSaWdodDpjfSl9LF8uSyhLVyx7RzphLkcscGxheWVyT3ZlcmxheVJlbmRlcmVyOmEucGxheWVyT3ZlcmxheVJlbmRlcmVyfSkpLFc6KCk9Pl8uSyhLVyx7RzphLkcscGxheWVyT3ZlcmxheVJlbmRlcmVyOmEucGxheWVyT3ZlcmxheVJlbmRlcmVyfSl9KX0pKSl9LCJWZSIpO0xXLmlkb21Db21wYXQ9ITA7CnZhciB2bmE9KGEsYik9Pl8uSyhkVyx7Z2Y6YSxWcjohMCxXcTpifSksS1c9Xy5MKCh7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpifSk9Pnt2YXIgYz0oKT0+YSgpLkg7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+YSgpLmJhPy52b2x1bWVDb250cm9sVHlwZT09PSJ2b2x1bWUtc2xpZGVyIn0sKCk9Pl8uSyhIVix7b3JpZW50YXRpb246InZlcnRpY2FsX2Rvd24iLGJqOiEwLEg6Y30pKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBkPWEoKS5IPy5nZXRTaXplKCksZT1kPy53aWR0aCYmZC53aWR0aD49MjUwO2Q9ZD8uaGVpZ2h0JiZkLmhlaWdodD49MjAwO3JldHVybiBhKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09Im11dGUtYnV0dG9uIiYmZSYmZH19LCgpPT5fLksoSVcse0hCOmEsSm46ITB9KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKF8uSUIsbnVsbCkpKSxfLksoXy5PLHtBOigpPT4hIXpTKGI/LigpKSx0aGVuOigpPT5fLksoSlcsCntHOmEsQ3U6KCk9PnpTKGI/LigpKX0pfSksdm5hKGEsZnVuY3Rpb24oKXtjVChhKCkse0ljOiEwfSl9KSxfLksoXy5PLHtBOigpPT57dmFyIGQ9YSgpLkg/LmdldFNpemUoKTtkPWQ/LndpZHRoJiZkLndpZHRoPj0zMjB8fCFhKCkuYmE/Lm9oO3JldHVybiEhYSgpLnRhLlNqJiZkfSx0aGVuOigpPT5fLksoYlcse0c6YX0pfSkpfSwiV2UiKTtLVy5pZG9tQ29tcGF0PSEwO3ZhciBNVz1fLkwoYT0+e2Z1bmN0aW9uIGIoVCl7VC5wb2ludGVyVHlwZT09PSJtb3VzZSImJihsKCkuUyh7ZWE6ITB9KSxjVChsKCkse0ljOiEwfSkpfWZ1bmN0aW9uIGMoVCl7S1UoVCxsKCkpfWZ1bmN0aW9uIGQoVCl7dmFyIGJhPWwoKTtpZih4VShUKSl7VC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYWE9VC50b3VjaGVzWzBdO0hVPWFhLnBhZ2VYO3pVPWFhLnBhZ2VZO18ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJlQudG91Y2hlcy5sZW5ndGg9PT0yJiYoQlU9d1UoVCkpO0hUKGJhLFQudG91Y2hlcy5sZW5ndGgpO2JhLmJhPy5NaXx8YmEuTmF8fGJhLldkfHxiYS5zYnx8Xy5URSgpfHwoRVU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vdmllX3BsYXllciIpKSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNpdGlvbjoiIix0cmFuc2Zvcm1PcmlnaW46IiJ9KX19ZnVuY3Rpb24gZShUKXt2YXIgYmE9bCgpO2lmKHhVKFQpKXtULnN0b3BQcm9wYWdhdGlvbigpO3ZhciBhYT0KVC50b3VjaGVzWzBdO0FVPSEwO0dVPWFhLnBhZ2VYO3lVPWFhLnBhZ2VZO2FhPXtsazpHVS1IVSxPZDp5VS16VX07YWEuT2Q9PT0wJiZhYS5saz09PTB8fF8uTUUoKSYmIWJhLmlzRnVsbHNjcmVlbnx8YmEuYmE/Lk1pfHxULnByZXZlbnREZWZhdWx0KCk7SVQoVCxhYSxiYSk7Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmVC50b3VjaGVzLmxlbmd0aD09PTImJkJVIT09MCYmTWF0aC5hYnMod1UoVCktQlUpPjEwJiZEVSghMCk7IWJhLmJhPy5NaSYmKGJhLk5hfHxiYS5XZHx8YmEuc2J8fF8uVEUoKXx8Xy5NRSgpJiYhYmEuaXNGdWxsc2NyZWVufHwoYmEuUyh7ZWE6ITF9KSxUPWFhLk9kLGJhLmlzRnVsbHNjcmVlbiYmKFQqPS0xKSwhYmEuaXNGdWxsc2NyZWVuJiZUPjAmJihUPTApLFQ8LTEwMCYmKFQ9LTEwMCksYmEuaXNGdWxsc2NyZWVuP0VVJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2Zvcm06YHNjYWxlKCR7MS0uMDUqTWF0aC5taW4oNCpNYXRoLmFicyhULy0xMDApLAoxKX0pIHRyYW5zbGF0ZVkoJHstVH1weClgfSk6RVUmJk9iamVjdC5hc3NpZ24oRVUuc3R5bGUse3RyYW5zZm9ybTpgc2NhbGUoJHsxKy4yNSpNYXRoLmFicyhULy0xMDApfSlgLHRyYW5zZm9ybU9yaWdpbjoiYm90dG9tIGNlbnRlciJ9KSksIWJhLmlzRnVsbHNjcmVlbnx8YmEuaXNEcmFnZ2luZ3x8YmEuc2J8fCFfLk1FKCkmJiFfLlRFKCk/MDpiYS5XZHx8KGJhLk5hP0RRKGFhLk9kLDAsMjE1KTpEUShhYS5PZCwtMjE1LDApKSE9PTApJiYoYlQoKSxiYS5TKHtXZDohMCxlYTohMCxKZjpiYS5OYT9EUShhYS5PZCwwLDIxNSk6RFEoYWEuT2QsLTIxNSwwKX0pKX19ZnVuY3Rpb24gZihUKXtJVShULGwoKSxtKCkpfWZ1bmN0aW9uIGgoVCl7SVUoVCxsKCksbSgpKX1mdW5jdGlvbiBrKFQpe1Quc3RvcFByb3BhZ2F0aW9uKCl9dmFyIHtHOmwsZGF0YTptfT1fLkRDKGEse2RhdGE6dm9pZCAwfSksbj1fLk4oKCk9PmwoKS5ILHZvaWQgMCwiWjdIOXJlIik7YT1fLk4oKCk9PmwoKS5lYSx2b2lkIDAsCiJkcmhxN2QiKTt2YXIgcD1fLk4oKCk9PmwoKS5zYix2b2lkIDAsInZzdFlFZSIpLHI9Xy5OKCgpPT5sKCkuYmE/LkVlLHZvaWQgMCwiTGJGd0piIiksdD1fLk4oKCk9PmwoKS5LYj4oXy54KCJtd2ViX3BsYXllcl90YXBwaW5nX3RocmVzaG9sZF9raWxsc3dpdGNoIik/ODowKSx2b2lkIDAsImU0anFNZCIpLHY9Xy5OKCgpPT5sKCkuSmQhPT0wLHZvaWQgMCwicHFnRDVlIiksej1fLk4oKCk9PmwoKS5iYT8uWmgsdm9pZCAwLCJ0bVFkZyIpLEU9KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzLEE9Xy5OKCgpPT4kUyhsKCksbSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXMpLHZvaWQgMCwiWGE5cXhmIiksRj1fLk4oKCk9PiFsKCkuYmE/LnpyLHZvaWQgMCwibUZPbHQiKSxDPV8uTigoKT0+e3ZhciBUPWwoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITE6VC5pc0xpdmUmJiFULmlzTGl2ZUR2ckVuYWJsZWR9LHZvaWQgMCwKIkQxaTY3IiksRz1fLk4oKCk9Pnt2YXIgVD1DKCk7cmV0dXJuIHJVKCkmJiFUfSx2b2lkIDAsInZRemltZSIpLEQ9Xy5OKCgpPT50KCkmJnYoKSx2b2lkIDAsIkJlR3A3IiksSD1fLlAoIm5ldy1jb250cm9scyIsImJpZ2JhciIsIm1lZGl1bS1tb2RpZmljYXRpb24iLCJhbmltYXRpb24tZW5hYmxlZCIsImVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIiwiZnMtd2F0Y2gtc3lzdGVtIix7ZmFkZWluOmEsImJhY2tncm91bmQtaGlkZGVuIjpwLCJmdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiI6ciwiZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMtZm9yLXBvcnRyYWl0IjpfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSksUj0oKT0+bT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlLE09KCk9Pm0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsUz0oKT0+bSgpPy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIsWT0oKT0+CkdTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpLHBhPSgpPT5tKCk/LmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uZGVmYXVsdFRodW1ibmFpbHx8bSgpPy5wbGF5ZXJSZXNwb25zZT8udmlkZW9EZXRhaWxzPy50aHVtYm5haWwsb2E9KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXllckNvbmZpZz8uYXV0b2Nyb3BDb25maWcsVT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlciYmbigpLGhhPSgpPT57dmFyIFQ7aWYoVD1QUyhtKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixtKCk/LmpiKSl7VD1sKCk7dmFyIGJhPW4oKSxhYT1QUyhtKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixtKCk/LmpiKTtpZihhYSYmYWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC50aXRsZXx8YWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwuYm9keVRleHQpJiYKYmEmJmJhLmdldFBsYXllclN0YXRlT2JqZWN0JiZiYS5nZXRQbGF5ZXJTaXplJiYhXy5ESShramEsYWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwuZGlzbWlzc1N0YXRlRW50aXR5S2V5KSgpPy5pc0Rpc21pc3NlZCl7YWE9YmEuZ2V0UGxheWVyU3RhdGVPYmplY3QoKT8uaXNFcnJvcjtpZihhYT0hdVMoVCkmJiFhYSlhYT1iYS5nZXRQbGF5ZXJTaXplKCksYmE9YWEud2lkdGg8MzYwLGFhPWFhLmhlaWdodDwzMjAsYWE9ISgoVC5wbGF5ZXJTdGF0ZT09PS0xfHxULnBsYXllclN0YXRlPT09NSkmJmJhJiZhYSk7VD1hYX1lbHNlIFQ9ITF9cmV0dXJuIFR9LG1hPSgpPT57dmFyIFQ9bSgpPy5wbGF5ZXJSZXNwb25zZTtyZXR1cm4gXy5CKFQ/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyPy5tdXRlZEF1dG9wbGF5LG9WKX0sdGE9KCk9Pm0oKT8uSD8uaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheT8uKCk7cmV0dXJuIF8uSygieXRtLXdhdGNoLXBsYXllci1jb250cm9scyIsCntjbGFzczoieXRtV2F0Y2hQbGF5ZXJDb250cm9sc0hvc3QifSxfLksoXy5PLHtBOigpPT57dmFyIFQ9bCgpLGJhPW0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzO3JldHVybiBfLngoIm13ZWJfaGlkZV9jb250cm9sc19mb3JfdW5wbGF5YWJsZV92aWRlb19rcyIpfHwhYmF8fE1SKGJhKXx8VC5pc0Z1bGxzY3JlZW4/KHlTKFQpfHxULnBsYXllclN0YXRlPT09LTF8fFQucGxheWVyU3RhdGU9PT01fHxULnJjJiYhVC5iYT8uckE/ITE6dVMoVCk/ITA6VC5wbGF5ZXJTdGF0ZT09PTF8fFQucGxheWVyU3RhdGU9PT0zfHxULnBsYXllclN0YXRlPT09Mil8fFQucmMmJnVTKFQpfHwkUyhULGJhKTohMX0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOnosdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6bCx0aHVtYm5haWxEZXRhaWxzOnBhfSksXy5LKHVWLHtHOmwsSDpuLHBsYXlhYmlsaXR5U3RhdHVzOkV9KSl9KSxfLksoXy5PLHtBOmhhLHRoZW46KCk9PgpfLksodlcse2RhdGE6KCk9PlBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpLHByb3BzOmx9KX0pLF8uSyhfLk8se0E6dGEsdGhlbjooKT0+Xy5LKExWLHtHOmwscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjptYX0pfSksXy5LKF8uTyx7QTooKT0+IXRhKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoV1Yse0c6bH0pLF8uSyhfLk8se0E6KCk9Pl8ueCgibXdlYl9iZXR0ZXJfY2FwdGlvbnNfcGxhY2VtZW50IiksdGhlbjooKT0+Xy5LKCJkaXYiLHtpZDoiY2FwdGlvbnMtZ2Fsb3JlLWNvbnRhaW5lciJ9KX0pLF8uSygiZGl2Iix7aWQ6InBsYXllci1jb250cm9sLW92ZXJsYXkiLGNsYXNzOkgsIm9uOmNsaWNrIjpjLCJvbjpwb2ludGVybW92ZSI6Yiwib246dG91Y2hzdGFydCI6ZCwib246dG91Y2htb3ZlIjplLCJvbjp0b3VjaGVuZCI6Ziwib246dG91Y2hjYW5jZWwiOmh9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtY29udGVudCIsCnsicG9pbnRlci1ldmVudHMtb2ZmIjpEfSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZCIseyJmdWxsc2NyZWVuLXJlY3MtZXhwYW5kZWQiOigpPT5JUyhsKCkpfSksIm9uOnRvdWNoc3RhcnQiOmQsIm9uOnRvdWNobW92ZSI6ZSwib246dG91Y2hlbmQiOmYsIm9uOnRvdWNoY2FuY2VsIjpofSksXy5LKCJkaXYiLHtjbGFzczoieXRtV2F0Y2hQbGF5ZXJDb250cm9sc0JhY2tncm91bmRBY3Rpb25JdGVtcyIsIm9uOmNsaWNrIjprfSxfLksoXy5PLHtBOigpPT57dmFyIFQ7aWYoVD0hQSgpKVQ9bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGFpZENvbnRlbnRPdmVybGF5Py5wYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlcjtyZXR1cm4gVH0sdGhlbjooKT0+Xy5LKERXLHtkYXRhOigpPT5tKCk/LnBsYXllclJlc3BvbnNlPy5wYWlkQ29udGVudE92ZXJsYXk/LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfSl9KSwKXy5LKF8uTyx7QTpVLHRoZW46KCk9Pl8uSyhsVyx7ZW5kc2NyZWVuUmVuZGVyZXI6KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXIsRzpsfSl9KSkpLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOkcsdGhlbjooKT0+Xy5LKHJXLHtHOmx9KX0pLF8uSyhGVix7RzpsLHBsYXllck92ZXJsYXlSZW5kZXJlcjpNfSksXy5LKFZWLHtnZjpsLEliOiExfSkpfSksXy5LKCJkaXYiLHtzdHlsZTpZVSgoKT0+SlMobCgpLEFTKG0/LigpPy53YXRjaE5leHRSZXNwb25zZSkpKX0sXy5LKExXLHtHOmwscGxheWVyT3ZlcmxheVJlbmRlcmVyOk0sdGh1bWJuYWlsUHJldmlld1JlbmRlcmVyOlN9KSxfLksoXy5PLHtBOigpPT4hQSgpLHRoZW46KCk9Pl8uSyhHVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlJ9KX0pKSxfLksoXy5PLHtBOigpPT4hQSgpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLAp7c3R5bGU6WVUoKCk9Pnt2YXIgVD1sKCksYmE9QVMobT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlKTtyZXR1cm4gSFMoVCxiYSl8fFQuYmE/Lm5oPyExOlQuaXNMaXZlfHxKUyhUKX0pfSxfLksoRVcse0c6bCxTbTooKT0+Q1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikscGxheWVyT3ZlcmxheVJlbmRlcmVyOk19KSksXy5LKCJkaXYiLHtzdHlsZTpZVSgoKT0+e3ZhciBUPWwoKTtyZXR1cm4gVC5iYT8ubmg/ITE6IUlTKFQpfSl9LF8uSyhDVix7TGI6bCxoZjpZLGNvbmZpZzooKT0+KHtjbGFzc05hbWU6IndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIixwb3NpdGlvbjowLEluOkYoKSxSYTpFUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKSxLZjohMSxkaXNhYmxlU2NydWJiaW5nOkMoKSxvblRvdWNoTW92ZTooKT0+e3ZhciBUPWwoKSxiYT1FUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKTtiYSYmKFQ9bFQoVCxiYSksbVQoVCkpfSxZbzooKT0+e2JUKCl9LEZuOigpPT4Ke2NUKGwoKSx7SWM6ITB9KX0scHJvZ3Jlc3NDb2xvcjpfLngoImVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjIiKT9DUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKT8ucHJvZ3Jlc3NDb2xvcjp2b2lkIDAsaGY6UWxhKEdTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpKX0pfSkpLF8uSyhGVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlJ9KSl9KSxfLksoQ1cse0c6bCx3YXRjaE5leHRSZXNwb25zZTpSLHRodW1ibmFpbFByZXZpZXdSZW5kZXJlcjpTLGF1dG9jcm9wQ29uZmlnOm9hfSkpKSl9KSl9KSl9LCJYZSIpO01XLmlkb21Db21wYXQ9ITA7dmFyIGNWPV8uTChhPT57dmFyIGI9Xy5OKCgpPT5hLmRhdGEoKS5ILHZvaWQgMCwiRHVmbU0iKSxjPV8uTigoKT0+bmV3IHFXKCgpPT57fSx7dGE6YS5jb250ZXh0KCkudGEsVGM6YS5jb250ZXh0KCkuVGMsR2M6YS5jb250ZXh0KCkuR2MsYmE6YS5jb250ZXh0KCkuYmF9LHthdXRvbmF2RW5hYmxlZDphLmNvbnRleHQoKS50YS5kZSgpLGVhOlJsYShiKCkpfSxiKSx2b2lkIDAsImpQeDhkZSIpLGQ9W107Xy5uRSgoKT0+e2IoKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e1pVKGQpO3VXLmZvckVhY2goZT0+e2QucHVzaChlLnJlZ2lzdGVyKCgpPT5jKCkudWQoKSwoKT0+YS5kYXRhKCkpKX0pfSl9LCJIdVlNSmIiKTtfLll1KCgpPT57TVUoKCk9PmMoKS51ZCgpKTtiVCgpO2EuY29udGV4dCgpLnRhLmV4aXRGdWxsc2NyZWVuPy4oKTtaVShkKX0pO3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coJFQsYildfSxfLksoInl0bS1jdXN0b20tY29udHJvbCIse2NsYXNzOiJ5dG1DdXN0b21Db250cm9sSG9zdCJ9LApfLksoTVcse0c6KCk9PigwLGMoKS5CKSgpLGRhdGE6YS5kYXRhfSkpKX0sIlplIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uelo9ZnVuY3Rpb24oYSl7Xy5iWihhKTtfLmRWKGEpfTtfLnp5PV8uelo7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInI3OERyYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":13,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":10,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/logo-mini.png","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:32.844Z","timestamp":1785137072844,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /logo-mini.png HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 7299\r\ncontent-type: image/png\r\nlast-modified: Sat, 20 Jul 2024 21:41:48 GMT\r\naccept-ranges: bytes\r\netag: \"1dadaed9f906a83\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:32 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":7299,"size_decoded":7595,"mime_type":"image/png","magic":"PNG image data, 101 x 114, 8-bit/color RGBA, non-interlaced","md5":"8680d7126f3d09dba58ee924ac0bb800","sha1":"6536992bf0c6a91930b6ad12bd35ca972cd2ccaa","sha256":"448c38fcf594c99664fa9541cf92d91b0338657ba8b8a1a97f8daa0060c7f2eb","sha512":"c6ac70e0a7f19a54afcad56ecee623bd70888cd5dabaabd7bd6ec16677f9346e848c3029a18521fe5124984080a6e2c08b00625044400ce7cf01a51b0f4f6bfa","ssdeep":"192:YSnkn5cRx81ElGJOJcHTSctBIzugI9hVNkWfMjvHeF7AE:fknycEl1uzSuBdz7NkWUj26E","tlshash":"fee11a19fca45c40650eb688e4fdf156d7fb1ed41d6040aeafe9ce020ea04ad9dc81eb","first_seen":"2026-07-27T05:02:02.437577Z","last_seen":"2026-07-27T07:25:28.822066Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAGUAAAByCAYAAABKrx/sAAAACXBIWXMAAAsTAAALEwEAmpwYAAANmWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIyLTA2LTEyVDIxOjQzOjU2LTA3OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNC0wNy0yMFQxNDo0MTo0OC0wNzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNC0wNy0yMFQxNDo0MTo0OC0wNzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyOGRhNWJjZi0xNGJiLTRkNDAtODE5Yi04NzRiYmQyM2Y1ZGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZTYxY2U5ZDktOTE0MS0yZjRkLWI4NmEtMjMwNWEwZWYxYTg5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZTYxY2U5ZDktOTE0MS0yZjRkLWI4NmEtMjMwNWEwZWYxYTg5Ij4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDQxQUZEMUI3OTAxQTFBM0UyNzkwMDVGOTMxRThENzY8L3JkZjpsaT4gPHJkZjpsaT4yNzI5MkZFRTFDRkM2MTUxMjZDMzNBMjg4NTA3RTI0NzwvcmRmOmxpPiA8cmRmOmxpPjQ5NTdFMTdEQUQ5REM0QjgzNDY1MTY5N0E3NjhCMUUwPC9yZGY6bGk+IDxyZGY6bGk+NEM4OURBMjFEOUEyNDZDQTcyNTRBODExNjZFQjUyRjQ8L3JkZjpsaT4gPHJkZjpsaT44MzZCQkEzRjEyRkFCRjdGODlENTMzNTEzNjVGRDNBQzwvcmRmOmxpPiA8cmRmOmxpPjhBNTdDNEY2ODM1OEI1NzYwNTcxNzk3QTlCMjlDQjFBPC9yZGY6bGk+IDxyZGY6bGk+OTMzM0NCQzI1RUNDQTE5NjgzRUNGM0QxMjI4ODA2OEQ8L3JkZjpsaT4gPHJkZjpsaT45RDc1MDI2QTE3OUUxRDI3RUVCODU1RkExRkY4QjgzMjwvcmRmOmxpPiA8cmRmOmxpPjlFMTk3OEQ0NEE2RTZFQTdGRTdFODlEQTkyOTc2MDZBPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjRmYWM0MzYwLTJkMjgtYjg0MS1hYmI3LTkwYTk3ZDM1OTc3ODwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOjM0ODI1YmU0LTVkNzQtNGQ3ZC04ZTQ4LWFiMWI1ODg4ZjM1ODwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmMxNzFiYzUxLTcxMzQtNGUwNS1iYWEwLWQyZTQ0ZWUwNDAxMDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmU2NTU3N2JlLTQwZDktNGEyOC1hZmJlLTVjOGIxYTgxYTBiOTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmZlMDhkNzYxLWQ1ZjUtNDRlZS04OTU1LWI5Y2YwNTcxMjZkOTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MGE4NzA2NDAtZmM1My00YzQ5LWI5NGItZjZmYjhmN2FiYzAzPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxOTUwZmJiNi1lZDFkLTc5NDEtYjVkNi1hMDEzYzFkYzkzN2U8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjJiOTg3ZGMwLWZiODEtNmE0Zi1iZDllLTBlZTc2MjEyMDY0ZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MzE2YzFiOWMtZmRlNi1mODQ1LTk5NTItNTRhMWM1MDhmNGRkPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0NTc3NDNlNi1jZDE1LWIyNDAtYTdkNC03NTRkZjIwMDg0MTE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjRFNTU1MDcxMUIyMDY4MTE5NkZBQUM5QzkxRTRFMjJDPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2Y2UzY2UxMy1iODMwLWZiNDEtYjk4My1iMGYxYTNlZTA0NjQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjlkOTVkNDQ5LTFhN2EtZmE0NC04OGMxLThmN2JlNzRkZjNmYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTA2YjE2MDQtNjMzNS1jZjQ2LTliZWYtM2EwYWY2ZWUzYzQ2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiMDgxYzdlYi0wODg4LWMzNGItOTk4OC1kOWJjYTJlMzZiMWE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmRhYmNjYzlhLWY1NzktMDA0My04MzkwLWRmMjNlNTJiNGZmNTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZTYxY2U5ZDktOTE0MS0yZjRkLWI4NmEtMjMwNWEwZWYxYTg5PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZWJiYTE4OS1iZDIwLWYzNDMtOWQ2NC0zY2ZhNDk0MGM3YjU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmZkOTVjYjhhLWI2N2EtOWE0Yy05NTM2LWM0NmQwZjE3ZTlkNTwvcmRmOmxpPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmU2MWNlOWQ5LTkxNDEtMmY0ZC1iODZhLTIzMDVhMGVmMWE4OSIgc3RFdnQ6d2hlbj0iMjAyMi0wNi0xMlQyMTo0Mzo1Ni0wNzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5NGQ0OGE5NC1lZDY5LTZhNDAtOGIwOS0zNGJkY2ZlYzA0NDIiIHN0RXZ0OndoZW49IjIwMjItMDYtMTNUMTM6MzQ6MzctMDc6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjhkYTViY2YtMTRiYi00ZDQwLTgxOWItODc0YmJkMjNmNWRkIiBzdEV2dDp3aGVuPSIyMDI0LTA3LTIwVDE0OjQxOjQ4LTA3OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+buvOpgAADpBJREFUeJztnXu0FlUZxn/fOZ0DhwxNFNEUCAJE0RWpeDfvpRUpmqWmZerSgsS83ygL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"}},"time_used":188,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":188,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/#","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.162Z","timestamp":1785137073162,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","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-19T17:45:01.88462Z","times_seen":17976927,"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":"widget.curacom.io/js/widget-1.0.0.js?id=eR4o9KNBzeEqKUUQg3ZH3EN40UlcTeuv","fqdn":"widget.curacom.io","domain":"curacom.io","tld":"io"},"ip":{"addr":"172.67.178.129","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.449Z","timestamp":1785137065449,"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":"curacom.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 02:32:51 GMT","end":"Sun, 27 Sep 2026 03:32:49 GMT"},"fingerprint":{"sha1":"6B:35:E0:A7:E7:8B:11:A2:C4:B4:5D:B7:E7:86:02:F7:B9:F2:49:10","sha256":"7B:EC:1F:D7:F2:46:AD:9D:9B:0B:24:A7:79:15:63:2F:20:B7:E4:A4:91:75:37:4E:AB:15:49:7E:C6:D1:21:8B"}}},"request":{"raw":"GET /js/widget-1.0.0.js?id=eR4o9KNBzeEqKUUQg3ZH3EN40UlcTeuv HTTP/1.1\r\nHost: widget.curacom.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-headers: Content-Type\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-allow-origin: *\r\nage: 0\r\ncache-control: public, max-age=14400, must-revalidate\r\ncache-status: \"Netlify Edge\"; fwd=miss\r\ncontent-encoding: br\r\ncontent-type: application/javascript\r\ndate: Mon, 27 Jul 2026 07:24:25 GMT\r\netag: \"89e1f2556b22c1a8c3f656fd9df1bc57-ssl-df\"\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000\r\nvary: Accept-Encoding\r\nx-nf-request-id: 01KYGZ5B75K70AM4FQTVHB3BJW\r\npriority: u=3,i=?0\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=2H3265XEt8DjPq3c3VRhY7VAPIDhV4uZj48Tofc1WCmVgGc0NtNd0pGF9hG96XEE28VnEoNFylRQ6SgidmZMpS%2Fxd9qEhrHfvM4mxsI5Nl42QWjLnhceGf9vS0URv6L6%2FJavLQ%3D%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a219e783afc256a3-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Netlify","description":"Netlify providers hosting and server-less backend services for web applications and static websites.","website":"https://www.netlify.com/","common_platform_enumeration":"","icon":"Netlify.svg","categories":["PaaS","CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":235793,"size_decoded":80987,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (44180)","md5":"d9dbe7bf2b3d82aacab06993685b5c2c","sha1":"a1aaf0caf5838273a15c318851cf7d514802e66a","sha256":"d055d26adf2f65b6ab0b68b0431588912cd0dd51991d2ed64449bd7439d10026","sha512":"34d0f2a26dc05c1fafc7a592cf7180bffb9d4cedec040ccbeb98b90b19f58121b98d057cf4c66b9dcd5733b2af39b2b8fff39efac9d929ffc3f4962decc8f70d","ssdeep":"6144:T+Yqy9ejkyNzqBUglYtzT1QVRSf2/5Llz9Lcf29g3y5PjHEda:TRqx5wUjr294ypr/","tlshash":"82345ad87192b06243fa20f1847b4107f37d2a55740cc4a8b2aceddb3d69a89917bf79","first_seen":"2026-07-27T05:02:02.443456Z","last_seen":"2026-07-27T07:25:28.882219Z","times_seen":3,"resource_available":true,"data":"dmFyIHRmPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgbmY9KGUsdCxuKT0+dCBpbiBlP3RmKGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pOmVbdF09bjt2YXIgaG89KGUsdCxuKT0+bmYoZSx0eXBlb2YgdCE9InN5bWJvbCI/dCsiIjp0LG4pOyhmdW5jdGlvbigpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpLnJlbExpc3Q7aWYodCYmdC5zdXBwb3J0cyYmdC5zdXBwb3J0cygibW9kdWxlcHJlbG9hZCIpKXJldHVybjtmb3IoY29uc3QgcyBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdsaW5rW3JlbD0ibW9kdWxlcHJlbG9hZCJdJykpcihzKTtuZXcgTXV0YXRpb25PYnNlcnZlcihzPT57Zm9yKGNvbnN0IGkgb2YgcylpZihpLnR5cGU9PT0iY2hpbGRMaXN0Iilmb3IoY29uc3QgYSBvZiBpLmFkZGVkTm9kZXMpYS50YWdOYW1lPT09IkxJTksiJiZhLnJlbD09PSJtb2R1bGVwcmVsb2FkIiYmcihhKX0pLm9ic2VydmUoZG9jdW1lbnQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7ZnVuY3Rpb24gbihzKXtjb25zdCBpPXt9O3JldHVybiBzLmludGVncml0eSYmKGkuaW50ZWdyaXR5PXMuaW50ZWdyaXR5KSxzLnJlZmVycmVyUG9saWN5JiYoaS5yZWZlcnJlclBvbGljeT1zLnJlZmVycmVyUG9saWN5KSxzLmNyb3NzT3JpZ2luPT09InVzZS1jcmVkZW50aWFscyI/aS5jcmVkZW50aWFscz0iaW5jbHVkZSI6cy5jcm9zc09yaWdpbj09PSJhbm9ueW1vdXMiP2kuY3JlZGVudGlhbHM9Im9taXQiOmkuY3JlZGVudGlhbHM9InNhbWUtb3JpZ2luIixpfWZ1bmN0aW9uIHIocyl7aWYocy5lcClyZXR1cm47cy5lcD0hMDtjb25zdCBpPW4ocyk7ZmV0Y2gocy5ocmVmLGkpfX0pKCk7LyoqCiogQHZ1ZS9zaGFyZWQgdjMuNS4xNgoqIChjKSAyMDE4LXByZXNlbnQgWXV4aSAoRXZhbikgWW91IGFuZCBWdWUgY29udHJpYnV0b3JzCiogQGxpY2Vuc2UgTUlUCioqLy8qISAjX19OT19TSURFX0VGRkVDVFNfXyAqL2Z1bmN0aW9uIHZpKGUpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IoY29uc3QgbiBvZiBlLnNwbGl0KCIsIikpdFtuXT0xO3JldHVybiBuPT5uIGluIHR9Y29uc3QgVGU9e30sdm49W10sX3Q9KCk9Pnt9LHJmPSgpPT4hMSxLcj1lPT5lLmNoYXJDb2RlQXQoMCk9PT0xMTEmJmUuY2hhckNvZGVBdCgxKT09PTExMCYmKGUuY2hhckNvZGVBdCgyKT4xMjJ8fGUuY2hhckNvZGVBdCgyKTw5NykseWk9ZT0+ZS5zdGFydHNXaXRoKCJvblVwZGF0ZToiKSxqZT1PYmplY3QuYXNzaWduLHdpPShlLHQpPT57Y29uc3Qgbj1lLmluZGV4T2YodCk7bj4tMSYmZS5zcGxpY2UobiwxKX0sc2Y9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxfZT0oZSx0KT0+c2YuY2FsbChlLHQpLHRlPUFycmF5LmlzQXJyYXkseW49ZT0+cnIoZSk9PT0iW29iamVjdCBNYXBdIix4YT1lPT5ycihlKT09PSJbb2JqZWN0IFNldF0iLG9mPWU9PnJyKGUpPT09IltvYmplY3QgUmVnRXhwXSIsc2U9ZT0+dHlwZW9mIGU9PSJmdW5jdGlvbiIsJGU9ZT0+dHlwZW9mIGU9PSJzdHJpbmciLEZ0PWU9PnR5cGVvZiBlPT0ic3ltYm9sIixBZT1lPT5lIT09bnVsbCYmdHlwZW9mIGU9PSJvYmplY3QiLENhPWU9PihBZShlKXx8c2UoZSkpJiZzZShlLnRoZW4pJiZzZShlLmNhdGNoKSxTYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLHJyPWU9PlNhLmNhbGwoZSksYWY9ZT0+cnIoZSkuc2xpY2UoOCwtMSksVGE9ZT0+cnIoZSk9PT0iW29iamVjdCBPYmplY3RdIixfaT1lPT4kZShlKSYmZSE9PSJOYU4iJiZlWzBdIT09Ii0iJiYiIitwYXJzZUludChlLDEwKT09PWUsam49dmkoIixrZXkscmVmLHJlZl9mb3IscmVmX2tleSxvblZub2RlQmVmb3JlTW91bnQsb25Wbm9kZU1vdW50ZWQsb25Wbm9kZUJlZm9yZVVwZGF0ZSxvblZub2RlVXBkYXRlZCxvblZub2RlQmVmb3JlVW5tb3VudCxvblZub2RlVW5tb3VudGVkIiksSnI9ZT0+e2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gbj0+dFtuXXx8KHRbbl09ZShuKSl9LGNmPS8tKFx3KS9nLFd0PUpyKGU9PmUucmVwbGFjZShjZiwodCxuKT0+bj9uLnRvVXBwZXJDYXNlKCk6IiIpKSxsZj0vXEIoW0EtWl0pL2csbG49SnIoZT0+ZS5yZXBsYWNlKGxmLCItJDEiKS50b0xvd2VyQ2FzZSgpKSxFYT1KcihlPT5lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSkpLFRzPUpyKGU9PmU/YG9uJHtFYShlKX1gOiIiKSxWdD0oZSx0KT0+IU9iamVjdC5pcyhlLHQpLHduPShlLC4uLnQpPT57Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspZVtuXSguLi50KX0sQWE9KGUsdCxuLHI9ITEpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsd3JpdGFibGU6cix2YWx1ZTpufSl9LHFzPWU9Pntjb25zdCB0PXBhcnNlRmxvYXQoZSk7cmV0dXJuIGlzTmFOKHQpP2U6dH0sdWY9ZT0+e2NvbnN0IHQ9JGUoZSk/TnVtYmVyKGUpOk5hTjtyZXR1cm4gaXNOYU4odCk/ZTp0fTtsZXQgcG87Y29uc3QgWHI9KCk9PnBvfHwocG89dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGY8InUiP3NlbGY6dHlwZW9mIHdpbmRvdzwidSI/d2luZG93OnR5cGVvZiBnbG9iYWw8InUiP2dsb2JhbDp7fSk7ZnVuY3Rpb24gem4oZSl7aWYodGUoZSkpe2NvbnN0IHQ9e307Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspe2NvbnN0IHI9ZVtuXSxzPSRlKHIpP3BmKHIpOnpuKHIpO2lmKHMpZm9yKGNvbnN0IGkgaW4gcyl0W2ldPXNbaV19cmV0dXJuIHR9ZWxzZSBpZigkZShlKXx8QWUoZSkpcmV0dXJuIGV9Y29uc3QgZmY9LzsoPyFbXihdKlwpKS9nLGhmPS86KFteXSspLyxkZj0vXC9cKlteXSo/XCpcLy9nO2Z1bmN0aW9uIHBmKGUpe2NvbnN0IHQ9e307cmV0dXJuIGUucmVwbGFjZShkZiwiIikuc3BsaXQoZmYpLmZvckVhY2gobj0+e2lmKG4pe2NvbnN0IHI9bi5zcGxpdChoZik7ci5sZW5ndGg+MSYmKHRbclswXS50cmltKCldPXJbMV0udHJpbSgpKX19KSx0fWZ1bmN0aW9uIHd0KGUpe2xldCB0PSIiO2lmKCRlKGUpKXQ9ZTtlbHNlIGlmKHRlKGUpKWZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtjb25zdCByPXd0KGVbbl0pO3ImJih0Kz1yKyIgIil9ZWxzZSBpZihBZShlKSlmb3IoY29uc3QgbiBpbiBlKWVbbl0mJih0Kz1uKyIgIik7cmV0dXJuIHQudHJpbSgpfWNvbnN0IGdmPSJpdGVtc2NvcGUsYWxsb3dmdWxsc2NyZWVuLGZvcm1ub3ZhbGlkYXRlLGlzbWFwLG5vbW9kdWxlLG5vdmFsaWRhdGUscmVhZG9ubHkiLG1mPXZpKGdmKTtmdW5jdGlvbiBPYShlKXtyZXR1cm4hIWV8fGU9PT0iIn1jb25zdCAkYT1lPT4hIShlJiZlLl9fdl9pc1JlZj09PSEwKSx0dD1lPT4kZShlKT9lOmU9PW51bGw/IiI6dGUoZSl8fEFlKGUpJiYoZS50b1N0cmluZz09PVNhfHwhc2UoZS50b1N0cmluZykpPyRhKGUpP3R0KGUudmFsdWUpOkpTT04uc3RyaW5naWZ5KGUsa2EsMik6U3RyaW5nKGUpLGthPShlLHQpPT4kYSh0KT9rYShlLHQudmFsdWUpOnluKHQpP3tbYE1hcCgke3Quc2l6ZX0pYF06Wy4uLnQuZW50cmllcygpXS5yZWR1Y2UoKG4sW3Isc10saSk9PihuW0VzKHIsaSkrIiA9PiJdPXMsbikse30pfTp4YSh0KT97W2BTZXQoJHt0LnNpemV9KWBdOlsuLi50LnZhbHVlcygpXS5tYXAobj0+RXMobikpfTpGdCh0KT9Fcyh0KTpBZSh0KSYmIXRlKHQpJiYhVGEodCk/U3RyaW5nKHQpOnQsRXM9KGUsdD0iIik9Pnt2YXIgbjtyZXR1cm4gRnQoZSk/YFN5bWJvbCgkeyhuPWUuZGVzY3JpcHRpb24pIT1udWxsP246dH0pYDplfTsvKioKKiBAdnVlL3JlYWN0aXZpdHkgdjMuNS4xNgoqIChjKSAyMDE4LXByZXNlbnQgWXV4aSAoRXZhbikgWW91IGFuZCBWdWUgY29udHJpYnV0b3JzCiogQGxpY2Vuc2UgTUlUCioqL2xldCBldDtjbGFzcyBSYXtjb25zdHJ1Y3Rvcih0PSExKXt0aGlzLmRldGFjaGVkPXQsdGhpcy5fYWN0aXZlPSEwLHRoaXMuX29uPTAsdGhpcy5lZmZlY3RzPVtdLHRoaXMuY2xlYW51cHM9W10sdGhpcy5faXNQYXVzZWQ9ITEsdGhpcy5wYXJlbnQ9ZXQsIXQmJmV0JiYodGhpcy5pbmRleD0oZXQuc2NvcGVzfHwoZXQuc2NvcGVzPVtdKSkucHVzaCh0aGlzKS0xKX1nZXQgYWN0aXZlKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZX1wYXVzZSgpe2lmKHRoaXMuX2FjdGl2ZSl7dGhpcy5faXNQYXVzZWQ9ITA7bGV0IHQsbjtpZih0aGlzLnNjb3Blcylmb3IodD0wLG49dGhpcy5zY29wZXMubGVuZ3RoO3Q8bjt0KyspdGhpcy5zY29wZXNbdF0ucGF1c2UoKTtmb3IodD0wLG49dGhpcy5lZmZlY3RzLmxlbmd0aDt0PG47dCsrKXRoaXMuZWZmZWN0c1t0XS5wYXVzZSgpfX1yZXN1bWUoKXtpZih0aGlzLl9hY3RpdmUmJnRoaXMuX2lzUGF1c2VkKXt0aGlzLl9pc1BhdXNlZD0hMTtsZXQgdCxuO2lmKHRoaXMuc2NvcGVzKWZvcih0PTAsbj10aGlzLnNjb3Blcy5sZW5ndGg7dDxuO3QrKyl0aGlzLnNjb3Blc1t0XS5yZXN1bWUoKTtmb3IodD0wLG49dGhpcy5lZmZlY3RzLmxlbmd0aDt0PG47dCsrKXRoaXMuZWZmZWN0c1t0XS5yZXN1bWUoKX19cnVuKHQpe2lmKHRoaXMuX2FjdGl2ZSl7Y29uc3Qgbj1ldDt0cnl7cmV0dXJuIGV0PXRoaXMsdCgpfWZpbmFsbHl7ZXQ9bn19fW9uKCl7Kyt0aGlzLl9vbj09PTEmJih0aGlzLnByZXZTY29wZT1ldCxldD10aGlzKX1vZmYoKXt0aGlzLl9vbj4wJiYtLXRoaXMuX29uPT09MCYmKGV0PXRoaXMucHJldlNjb3BlLHRoaXMucHJldlNjb3BlPXZvaWQgMCl9c3RvcCh0KXtpZih0aGlzLl9hY3RpdmUpe3RoaXMuX2FjdGl2ZT0hMTtsZXQgbixyO2ZvcihuPTAscj10aGlzLmVmZmVjdHMubGVuZ3RoO248cjtuKyspdGhpcy5lZmZlY3RzW25dLnN0b3AoKTtmb3IodGhpcy5lZmZlY3RzLmxlbmd0aD0wLG49MCxyPXRoaXMuY2xlYW51cHMubGVuZ3RoO248cjtuKyspdGhpcy5jbGVhbnVwc1tuXSgpO2lmKHRoaXMuY2xlYW51cHMubGVuZ3RoPTAsdGhpcy5zY29wZXMpe2ZvcihuPTAscj10aGlzLnNjb3Blcy5sZW5ndGg7bjxyO24rKyl0aGlzLnNjb3Blc1tuXS5zdG9wKCEwKTt0aGlzLnNjb3Blcy5sZW5ndGg9MH1pZighdGhpcy5kZXRhY2hlZCYmdGhpcy5wYXJlbnQmJiF0KXtjb25zdCBzPXRoaXMucGFyZW50LnNjb3Blcy5wb3AoKTtzJiZzIT09dGhpcyYmKHRoaXMucGFyZW50LnNjb3Blc1t0aGlzLmluZGV4XT1zLHMuaW5kZXg9dGhpcy5pbmRleCl9dGhpcy5wYXJlbnQ9dm9pZCAwfX19ZnVuY3Rpb24gYmYoZSl7cmV0dXJuIG5ldyBSYShlKX1mdW5jdGlvbiB2Zigpe3JldHVybiBldH1sZXQgRWU7Y29uc3QgQXM9bmV3IFdlYWtTZXQ7Y2xhc3MgUGF7Y29uc3RydWN0b3IodCl7dGhpcy5mbj10LHRoaXMuZGVwcz12b2lkIDAsdGhpcy5kZXBzVGFpbD12b2lkIDAsdGhpcy5mbGFncz01LHRoaXMubmV4dD12b2lkIDAsdGhpcy5jbGVhbnVwPXZvaWQgMCx0aGlzLnNjaGVkdWxlcj12b2lkIDAsZXQmJmV0LmFjdGl2ZSYmZXQuZWZmZWN0cy5wdXNoKHRoaXMpfXBhdXNlKCl7dGhpcy5mbGFnc3w9NjR9cmVzdW1lKCl7dGhpcy5mbGFncyY2NCYmKHRoaXMuZmxhZ3MmPS02NSxBcy5oYXModGhpcykmJihBcy5kZWxldGUodGhpcyksdGhpcy50cmlnZ2VyKCkpKX1ub3RpZnkoKXt0aGlzLmZsYWdzJjImJiEodGhpcy5mbGFncyYzMil8fHRoaXMuZmxhZ3MmOHx8SWEodGhpcyl9cnVuKCl7aWYoISh0aGlzLmZsYWdzJjEpKXJldHVybiB0aGlzLmZuKCk7dGhpcy5mbGFnc3w9Mixnbyh0aGlzKSxOYSh0aGlzKTtjb25zdCB0PUVlLG49cHQ7RWU9dGhpcyxwdD0hMDt0cnl7cmV0dXJuIHRoaXMuZm4oKX1maW5hbGx5e0ZhKHRoaXMpLEVlPXQscHQ9bix0aGlzLmZsYWdzJj0tM319c3RvcCgpe2lmKHRoaXMuZmxhZ3MmMSl7Zm9yKGxldCB0PXRoaXMuZGVwczt0O3Q9dC5uZXh0RGVwKVNpKHQpO3RoaXMuZGVwcz10aGlzLmRlcHNUYWlsPXZvaWQgMCxnbyh0aGlzKSx0aGlzLm9uU3RvcCYmdGhpcy5vblN0b3AoKSx0aGlzLmZsYWdzJj0tMn19dHJpZ2dlcigpe3RoaXMuZmxhZ3MmNjQ/QXMuYWRkKHRoaXMpOnRoaXMuc2NoZWR1bGVyP3RoaXMuc2NoZWR1bGVyKCk6dGhpcy5ydW5JZkRpcnR5KCl9cnVuSWZEaXJ0eSgpe1ZzKHRoaXMpJiZ0aGlzLnJ1bigpfWdldCBkaXJ0eSgpe3JldHVybiBWcyh0aGlzKX19bGV0IExhPTAsTW4sRG47ZnVuY3Rpb24gSWEoZSx0PSExKXtpZihlLmZsYWdzfD04LHQpe2UubmV4dD1EbixEbj1lO3JldHVybn1lLm5leHQ9TW4sTW49ZX1mdW5jdGlvbiB4aSgpe0xhKyt9ZnVuY3Rpb24gQ2koKXtpZigtLUxhPjApcmV0dXJuO2lmKERuKXtsZXQgdD1Ebjtmb3IoRG49dm9pZCAwO3Q7KXtjb25zdCBuPXQubmV4dDt0Lm5leHQ9dm9pZCAwLHQuZmxhZ3MmPS05LHQ9bn19bGV0IGU7Zm9yKDtNbjspe2xldCB0PU1uO2ZvcihNbj12b2lkIDA7dDspe2NvbnN0IG49dC5uZXh0O2lmKHQubmV4dD12b2lkIDAsdC5mbGFncyY9LTksdC5mbGFncyYxKXRyeXt0LnRyaWdnZXIoKX1jYXRjaChyKXtlfHwoZT1yKX10PW59fWlmKGUpdGhyb3cgZX1mdW5jdGlvbiBOYShlKXtmb3IobGV0IHQ9ZS5kZXBzO3Q7dD10Lm5leHREZXApdC52ZXJzaW9uPS0xLHQucHJldkFjdGl2ZUxpbms9dC5kZXAuYWN0aXZlTGluayx0LmRlcC5hY3RpdmVMaW5rPXR9ZnVuY3Rpb24gRmEoZSl7bGV0IHQsbj1lLmRlcHNUYWlsLHI9bjtmb3IoO3I7KXtjb25zdCBzPXIucHJldkRlcDtyLnZlcnNpb249PT0tMT8ocj09PW4mJihuPXMpLFNpKHIpLHlmKHIpKTp0PXIsci5kZXAuYWN0aXZlTGluaz1yLnByZXZBY3RpdmVMaW5rLHIucHJldkFjdGl2ZUxpbms9dm9pZCAwLHI9c31lLmRlcHM9dCxlLmRlcHNUYWlsPW59ZnVuY3Rpb24gVnMoZSl7Zm9yKGxldCB0PWUuZGVwczt0O3Q9dC5uZXh0RGVwKWlmKHQuZGVwLnZlcnNpb24hPT10LnZlcnNpb258fHQuZGVwLmNvbXB1dGVkJiYoamEodC5kZXAuY29tcHV0ZWQpfHx0LmRlcC52ZXJzaW9uIT09dC52ZXJzaW9uKSlyZXR1cm4hMDtyZXR1cm4hIWUuX2RpcnR5fWZ1bmN0aW9uIGphKGUpe2lmKGUuZmxhZ3MmNCYmIShlLmZsYWdzJjE2KXx8KGUuZmxhZ3MmPS0xNyxlLmdsb2JhbFZlcnNpb249PT1xbil8fChlLmdsb2JhbFZlcnNpb249cW4sIWUuaXNTU1ImJmUuZmxhZ3MmMTI4JiYoIWUuZGVwcyYmIWUuX2RpcnR5fHwhVnMoZSkpKSlyZXR1cm47ZS5mbGFnc3w9Mjtjb25zdCB0PWUuZGVwLG49RWUscj1wdDtFZT1lLHB0PSEwO3RyeXtOYShlKTtjb25zdCBzPWUuZm4oZS5fdmFsdWUpOyh0LnZlcnNpb249PT0wfHxWdChzLGUuX3ZhbHVlKSkmJihlLmZsYWdzfD0xMjgsZS5fdmFsdWU9cyx0LnZlcnNpb24rKyl9Y2F0Y2gocyl7dGhyb3cgdC52ZXJzaW9uKyssc31maW5hbGx5e0VlPW4scHQ9cixGYShlKSxlLmZsYWdzJj0tM319ZnVuY3Rpb24gU2koZSx0PSExKXtjb25zdHtkZXA6bixwcmV2U3ViOnIsbmV4dFN1YjpzfT1lO2lmKHImJihyLm5leHRTdWI9cyxlLnByZXZTdWI9dm9pZCAwKSxzJiYocy5wcmV2U3ViPXIsZS5uZXh0U3ViPXZvaWQgMCksbi5zdWJzPT09ZSYmKG4uc3Vicz1yLCFyJiZuLmNvbXB1dGVkKSl7bi5jb21wdXRlZC5mbGFncyY9LTU7Zm9yKGxldCBpPW4uY29tcHV0ZWQuZGVwcztpO2k9aS5uZXh0RGVwKVNpKGksITApfSF0JiYhLS1uLnNjJiZuLm1hcCYmbi5tYXAuZGVsZXRlKG4ua2V5KX1mdW5jdGlvbiB5ZihlKXtjb25zdHtwcmV2RGVwOnQsbmV4dERlcDpufT1lO3QmJih0Lm5leHREZXA9bixlLnByZXZEZXA9dm9pZCAwKSxuJiYobi5wcmV2RGVwPXQsZS5uZXh0RGVwPXZvaWQgMCl9bGV0IHB0PSEwO2NvbnN0IE1hPVtdO2Z1bmN0aW9uIFJ0KCl7TWEucHVzaChwdCkscHQ9ITF9ZnVuY3Rpb24gUHQoKXtjb25zdCBlPU1hLnBvcCgpO3B0PWU9PT12b2lkIDA/ITA6ZX1mdW5jdGlvbiBnbyhlKXtjb25zdHtjbGVhbnVwOnR9PWU7aWYoZS5jbGVhbnVwPXZvaWQgMCx0KXtjb25zdCBuPUVlO0VlPXZvaWQgMDt0cnl7dCgpfWZpbmFsbHl7RWU9bn19fWxldCBxbj0wO2NsYXNzIHdme2NvbnN0cnVjdG9yKHQsbil7dGhpcy5zdWI9dCx0aGlzLmRlcD1uLHRoaXMudmVyc2lvbj1uLnZlcnNpb24sdGhpcy5uZXh0RGVwPXRoaXMucHJldkRlcD10aGlzLm5leHRTdWI9dGhpcy5wcmV2U3ViPXRoaXMucHJldkFjdGl2ZUxpbms9dm9pZCAwfX1jbGFzcyBUaXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNvbXB1dGVkPXQsdGhpcy52ZXJzaW9uPTAsdGhpcy5hY3RpdmVMaW5rPXZvaWQgMCx0aGlzLnN1YnM9dm9pZCAwLHRoaXMubWFwPXZvaWQgMCx0aGlzLmtleT12b2lkIDAsdGhpcy5zYz0wfXRyYWNrKHQpe2lmKCFFZXx8IXB0fHxFZT09PXRoaXMuY29tcHV0ZWQpcmV0dXJuO2xldCBuPXRoaXMuYWN0aXZlTGluaztpZihuPT09dm9pZCAwfHxuLnN1YiE9PUVlKW49dGhpcy5hY3RpdmVMaW5rPW5ldyB3ZihFZSx0aGlzKSxFZS5kZXBzPyhuLnByZXZEZXA9RWUuZGVwc1RhaWwsRWUuZGVwc1RhaWwubmV4dERlcD1uLEVlLmRlcHNUYWlsPW4pOkVlLmRlcHM9RWUuZGVwc1RhaWw9bixEYShuKTtlbHNlIGlmKG4udmVyc2lvbj09PS0xJiYobi52ZXJzaW9uPXRoaXMudmVyc2lvbixuLm5leHREZXApKXtjb25zdCByPW4ubmV4dERlcDtyLnByZXZEZXA9bi5wcmV2RGVwLG4ucHJldkRlcCYmKG4ucHJldkRlcC5uZXh0RGVwPXIpLG4ucHJldkRlcD1FZS5kZXBzVGFpbCxuLm5leHREZXA9dm9pZCAwLEVlLmRlcHNUYWlsLm5leHREZXA9bixFZS5kZXBzVGFpbD1uLEVlLmRlcHM9PT1uJiYoRWUuZGVwcz1yKX1yZXR1cm4gbn10cmlnZ2VyKHQpe3RoaXMudmVyc2lvbisrLHFuKyssdGhpcy5ub3RpZnkodCl9bm90aWZ5KHQpe3hpKCk7dHJ5e2ZvcihsZXQgbj10aGlzLnN1YnM7bjtuPW4ucHJldlN1YiluLnN1Yi5ub3RpZnkoKSYmbi5zdWIuZGVwLm5vdGlmeSgpfWZpbmFsbHl7Q2koKX19fWZ1bmN0aW9uIERhKGUpe2lmKGUuZGVwLnNjKyssZS5zdWIuZmxhZ3MmNCl7Y29uc3QgdD1lLmRlcC5jb21wdXRlZDtpZih0JiYhZS5kZXAuc3Vicyl7dC5mbGFnc3w9MjA7Zm9yKGxldCByPXQuZGVwcztyO3I9ci5uZXh0RGVwKURhKHIpfWNvbnN0IG49ZS5kZXAuc3VicztuIT09ZSYmKGUucHJldlN1Yj1uLG4mJihuLm5leHRTdWI9ZSkpLGUuZGVwLnN1YnM9ZX19Y29uc3QgV3M9bmV3IFdlYWtNYXAscm49U3ltYm9sKCIiKSxLcz1TeW1ib2woIiIpLFZuPVN5bWJvbCgiIik7ZnVuY3Rpb24gcWUoZSx0LG4pe2lmKHB0JiZFZSl7bGV0IHI9V3MuZ2V0KGUpO3J8fFdzLnNldChlLHI9bmV3IE1hcCk7bGV0IHM9ci5nZXQobik7c3x8KHIuc2V0KG4scz1uZXcgVGkpLHMubWFwPXIscy5rZXk9bikscy50cmFjaygpfX1mdW5jdGlvbiAkdChlLHQsbixyLHMsaSl7Y29uc3QgYT1Xcy5nZXQoZSk7aWYoIWEpe3FuKys7cmV0dXJufWNvbnN0IHU9Zj0+e2YmJmYudHJpZ2dlcigpfTtpZih4aSgpLHQ9PT0iY2xlYXIiKWEuZm9yRWFjaCh1KTtlbHNle2NvbnN0IGY9dGUoZSksZD1mJiZfaShuKTtpZihmJiZuPT09Imxlbmd0aCIpe2NvbnN0IGg9TnVtYmVyKHIpO2EuZm9yRWFjaCgocCx3KT0+eyh3PT09Imxlbmd0aCJ8fHc9PT1Wbnx8IUZ0KHcpJiZ3Pj1oKSYmdShwKX0pfWVsc2Ugc3dpdGNoKChuIT09dm9pZCAwfHxhLmhhcyh2b2lkIDApKSYmdShhLmdldChuKSksZCYmdShhLmdldChWbikpLHQpe2Nhc2UiYWRkIjpmP2QmJnUoYS5nZXQoImxlbmd0aCIpKToodShhLmdldChybikpLHluKGUpJiZ1KGEuZ2V0KEtzKSkpO2JyZWFrO2Nhc2UiZGVsZXRlIjpmfHwodShhLmdldChybikpLHluKGUpJiZ1KGEuZ2V0KEtzKSkpO2JyZWFrO2Nhc2Uic2V0Ijp5bihlKSYmdShhLmdldChybikpO2JyZWFrfX1DaSgpfWZ1bmN0aW9uIHBuKGUpe2NvbnN0IHQ9d2UoZSk7cmV0dXJuIHQ9PT1lP3Q6KHFlKHQsIml0ZXJhdGUiLFZuKSxmdChlKT90OnQubWFwKFVlKSl9ZnVuY3Rpb24gR3IoZSl7cmV0dXJuIHFlKGU9d2UoZSksIml0ZXJhdGUiLFZuKSxlfWNvbnN0IF9mPXtfX3Byb3RvX186bnVsbCxbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBPcyh0aGlzLFN5bWJvbC5pdGVyYXRvcixVZSl9LGNvbmNhdCguLi5lKXtyZXR1cm4gcG4odGhpcykuY29uY2F0KC4uLmUubWFwKHQ9PnRlKHQpP3BuKHQpOnQpKX0sZW50cmllcygpe3JldHVybiBPcyh0aGlzLCJlbnRyaWVzIixlPT4oZVsxXT1VZShlWzFdKSxlKSl9LGV2ZXJ5KGUsdCl7cmV0dXJuIEV0KHRoaXMsImV2ZXJ5IixlLHQsdm9pZCAwLGFyZ3VtZW50cyl9LGZpbHRlcihlLHQpe3JldHVybiBFdCh0aGlzLCJmaWx0ZXIiLGUsdCxuPT5uLm1hcChVZSksYXJndW1lbnRzKX0sZmluZChlLHQpe3JldHVybiBFdCh0aGlzLCJmaW5kIixlLHQsVWUsYXJndW1lbnRzKX0sZmluZEluZGV4KGUsdCl7cmV0dXJuIEV0KHRoaXMsImZpbmRJbmRleCIsZSx0LHZvaWQgMCxhcmd1bWVudHMpfSxmaW5kTGFzdChlLHQpe3JldHVybiBFdCh0aGlzLCJmaW5kTGFzdCIsZSx0LFVlLGFyZ3VtZW50cyl9LGZpbmRMYXN0SW5kZXgoZSx0KXtyZXR1cm4gRXQodGhpcywiZmluZExhc3RJbmRleCIsZSx0LHZvaWQgMCxhcmd1bWVudHMpfSxmb3JFYWNoKGUsdCl7cmV0dXJuIEV0KHRoaXMsImZvckVhY2giLGUsdCx2b2lkIDAsYXJndW1lbnRzKX0saW5jbHVkZXMoLi4uZSl7cmV0dXJuICRzKHRoaXMsImluY2x1ZGVzIixlKX0saW5kZXhPZiguLi5lKXtyZXR1cm4gJHModGhpcywiaW5kZXhPZiIsZSl9LGpvaW4oZSl7cmV0dXJuIHBuKHRoaXMpLmpvaW4oZSl9LGxhc3RJbmRleE9mKC4uLmUpe3JldHVybiAkcyh0aGlzLCJsYXN0SW5kZXhPZiIsZSl9LG1hcChlLHQpe3JldHVybiBFdCh0aGlzLCJtYXAiLGUsdCx2b2lkIDAsYXJndW1lbnRzKX0scG9wKCl7cmV0dXJuIFBuKHRoaXMsInBvcCIpfSxwdXNoKC4uLmUpe3JldHVybiBQbih0aGlzLCJwdXNoIixlKX0scmVkdWNlKGUsLi4udCl7cmV0dXJuIG1vKHRoaXMsInJlZHVjZSIsZSx0KX0scmVkdWNlUmlnaHQoZSwuLi50KXtyZXR1cm4gbW8odGhpcywicmVkdWNlUmlnaHQiLGUsdCl9LHNoaWZ0KCl7cmV0dXJuIFBuKHRoaXMsInNoaWZ0Iil9LHNvbWUoZSx0KXtyZXR1cm4gRXQodGhpcywic29tZSIsZSx0LHZvaWQgMCxhcmd1bWVudHMpfSxzcGxpY2UoLi4uZSl7cmV0dXJuIFBuKHRoaXMsInNwbGljZSIsZSl9LHRvUmV2ZXJzZWQoKXtyZXR1cm4gcG4odGhpcykudG9SZXZlcnNlZCgpfSx0b1NvcnRlZChlKXtyZXR1cm4gcG4odGhpcykudG9Tb3J0ZWQoZSl9LHRvU3BsaWNlZCguLi5lKXtyZXR1cm4gcG4odGhpcykudG9TcGxpY2VkKC4uLmUpfSx1bnNoaWZ0KC4uLmUpe3JldHVybiBQbih0aGlzLCJ1bnNoaWZ0IixlKX0sdmFsdWVzKCl7cmV0dXJuIE9zKHRoaXMsInZhbHVlcyIsVWUpfX07ZnVuY3Rpb24gT3MoZSx0LG4pe2NvbnN0IHI9R3IoZSkscz1yW3RdKCk7cmV0dXJuIHIhPT1lJiYhZnQoZSkmJihzLl9uZXh0PXMubmV4dCxzLm5leHQ9KCk9Pntjb25zdCBpPXMuX25leHQoKTtyZXR1cm4gaS52YWx1ZSYmKGkudmFsdWU9bihpLnZhbHVlKSksaX0pLHN9Y29uc3QgeGY9QXJyYXkucHJvdG90eXBlO2Z1bmN0aW9uIEV0KGUsdCxuLHIscyxpKXtjb25zdCBhPUdyKGUpLHU9YSE9PWUmJiFmdChlKSxmPWFbdF07aWYoZiE9PXhmW3RdKXtjb25zdCBwPWYuYXBwbHkoZSxpKTtyZXR1cm4gdT9VZShwKTpwfWxldCBkPW47YSE9PWUmJih1P2Q9ZnVuY3Rpb24ocCx3KXtyZXR1cm4gbi5jYWxsKHRoaXMsVWUocCksdyxlKX06bi5sZW5ndGg+MiYmKGQ9ZnVuY3Rpb24ocCx3KXtyZXR1cm4gbi5jYWxsKHRoaXMscCx3LGUpfSkpO2NvbnN0IGg9Zi5jYWxsKGEsZCxyKTtyZXR1cm4gdSYmcz9zKGgpOmh9ZnVuY3Rpb24gbW8oZSx0LG4scil7Y29uc3Qgcz1HcihlKTtsZXQgaT1uO3JldHVybiBzIT09ZSYmKGZ0KGUpP24ubGVuZ3RoPjMmJihpPWZ1bmN0aW9uKGEsdSxmKXtyZXR1cm4gbi5jYWxsKHRoaXMsYSx1LGYsZSl9KTppPWZ1bmN0aW9uKGEsdSxmKXtyZXR1cm4gbi5jYWxsKHRoaXMsYSxVZSh1KSxmLGUpfSksc1t0XShpLC4uLnIpfWZ1bmN0aW9uICRzKGUsdCxuKXtjb25zdCByPXdlKGUpO3FlKHIsIml0ZXJhdGUiLFZuKTtjb25zdCBzPXJbdF0oLi4ubik7cmV0dXJuKHM9PT0tMXx8cz09PSExKSYmT2koblswXSk/KG5bMF09d2UoblswXSksclt0XSguLi5uKSk6c31mdW5jdGlvbiBQbihlLHQsbj1bXSl7UnQoKSx4aSgpO2NvbnN0IHI9d2UoZSlbdF0uYXBwbHkoZSxuKTtyZXR1cm4gQ2koKSxQdCgpLHJ9Y29uc3QgQ2Y9dmkoIl9fcHJvdG9fXyxfX3ZfaXNSZWYsX19pc1Z1ZSIpLFVhPW5ldyBTZXQoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoU3ltYm9sKS5maWx0ZXIoZT0+ZSE9PSJhcmd1bWVudHMiJiZlIT09ImNhbGxlciIpLm1hcChlPT5TeW1ib2xbZV0pLmZpbHRlcihGdCkpO2Z1bmN0aW9uIFNmKGUpe0Z0KGUpfHwoZT1TdHJpbmcoZSkpO2NvbnN0IHQ9d2UodGhpcyk7cmV0dXJuIHFlKHQsImhhcyIsZSksdC5oYXNPd25Qcm9wZXJ0eShlKX1jbGFzcyBIYXtjb25zdHJ1Y3Rvcih0PSExLG49ITEpe3RoaXMuX2lzUmVhZG9ubHk9dCx0aGlzLl9pc1NoYWxsb3c9bn1nZXQodCxuLHIpe2lmKG49PT0iX192X3NraXAiKXJldHVybiB0Ll9fdl9za2lwO2NvbnN0IHM9dGhpcy5faXNSZWFkb25seSxpPXRoaXMuX2lzU2hhbGxvdztpZihuPT09Il9fdl9pc1JlYWN0aXZlIilyZXR1cm4hcztpZihuPT09Il9fdl9pc1JlYWRvbmx5IilyZXR1cm4gcztpZihuPT09Il9fdl9pc1NoYWxsb3ciKXJldHVybiBpO2lmKG49PT0iX192X3JhdyIpcmV0dXJuIHI9PT0ocz9pP0lmOlZhOmk/cWE6emEpLmdldCh0KXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpP3Q6dm9pZCAwO2NvbnN0IGE9dGUodCk7aWYoIXMpe2xldCBmO2lmKGEmJihmPV9mW25dKSlyZXR1cm4gZjtpZihuPT09Imhhc093blByb3BlcnR5IilyZXR1cm4gU2Z9Y29uc3QgdT1SZWZsZWN0LmdldCh0LG4sTmUodCk/dDpyKTtyZXR1cm4oRnQobik/VWEuaGFzKG4pOkNmKG4pKXx8KHN8fHFlKHQsImdldCIsbiksaSk/dTpOZSh1KT9hJiZfaShuKT91OnUudmFsdWU6QWUodSk/cz9XYSh1KTpMdCh1KTp1fX1jbGFzcyBCYSBleHRlbmRzIEhhe2NvbnN0cnVjdG9yKHQ9ITEpe3N1cGVyKCExLHQpfXNldCh0LG4scixzKXtsZXQgaT10W25dO2lmKCF0aGlzLl9pc1NoYWxsb3cpe2NvbnN0IGY9SXQoaSk7aWYoIWZ0KHIpJiYhSXQocikmJihpPXdlKGkpLHI9d2UocikpLCF0ZSh0KSYmTmUoaSkmJiFOZShyKSlyZXR1cm4gZj8hMTooaS52YWx1ZT1yLCEwKX1jb25zdCBhPXRlKHQpJiZfaShuKT9OdW1iZXIobik8dC5sZW5ndGg6X2UodCxuKSx1PVJlZmxlY3Quc2V0KHQsbixyLE5lKHQpP3Q6cyk7cmV0dXJuIHQ9PT13ZShzKSYmKGE/VnQocixpKSYmJHQodCwic2V0IixuLHIpOiR0KHQsImFkZCIsbixyKSksdX1kZWxldGVQcm9wZXJ0eSh0LG4pe2NvbnN0IHI9X2UodCxuKTt0W25dO2NvbnN0IHM9UmVmbGVjdC5kZWxldGVQcm9wZXJ0eSh0LG4pO3JldHVybiBzJiZyJiYkdCh0LCJkZWxldGUiLG4sdm9pZCAwKSxzfWhhcyh0LG4pe2NvbnN0IHI9UmVmbGVjdC5oYXModCxuKTtyZXR1cm4oIUZ0KG4pfHwhVWEuaGFzKG4pKSYmcWUodCwiaGFzIixuKSxyfW93bktleXModCl7cmV0dXJuIHFlKHQsIml0ZXJhdGUiLHRlKHQpPyJsZW5ndGgiOnJuKSxSZWZsZWN0Lm93bktleXModCl9fWNsYXNzIFRmIGV4dGVuZHMgSGF7Y29uc3RydWN0b3IodD0hMSl7c3VwZXIoITAsdCl9c2V0KHQsbil7cmV0dXJuITB9ZGVsZXRlUHJvcGVydHkodCxuKXtyZXR1cm4hMH19Y29uc3QgRWY9bmV3IEJhLEFmPW5ldyBUZixPZj1uZXcgQmEoITApO2NvbnN0IEpzPWU9PmUsbXI9ZT0+UmVmbGVjdC5nZXRQcm90b3R5cGVPZihlKTtmdW5jdGlvbiAkZihlLHQsbil7cmV0dXJuIGZ1bmN0aW9uKC4uLnIpe2NvbnN0IHM9dGhpcy5fX3ZfcmF3LGk9d2UocyksYT15bihpKSx1PWU9PT0iZW50cmllcyJ8fGU9PT1TeW1ib2wuaXRlcmF0b3ImJmEsZj1lPT09ImtleXMiJiZhLGQ9c1tlXSguLi5yKSxoPW4/SnM6dD9McjpVZTtyZXR1cm4hdCYmcWUoaSwiaXRlcmF0ZSIsZj9Lczpybikse25leHQoKXtjb25zdHt2YWx1ZTpwLGRvbmU6d309ZC5uZXh0KCk7cmV0dXJuIHc/e3ZhbHVlOnAsZG9uZTp3fTp7dmFsdWU6dT9baChwWzBdKSxoKHBbMV0pXTpoKHApLGRvbmU6d319LFtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXN9fX19ZnVuY3Rpb24gYnIoZSl7cmV0dXJuIGZ1bmN0aW9uKC4uLnQpe3JldHVybiBlPT09ImRlbGV0ZSI/ITE6ZT09PSJjbGVhciI/dm9pZCAwOnRoaXN9fWZ1bmN0aW9uIGtmKGUsdCl7Y29uc3Qgbj17Z2V0KHMpe2NvbnN0IGk9dGhpcy5fX3ZfcmF3LGE9d2UoaSksdT13ZShzKTtlfHwoVnQocyx1KSYmcWUoYSwiZ2V0IixzKSxxZShhLCJnZXQiLHUpKTtjb25zdHtoYXM6Zn09bXIoYSksZD10P0pzOmU/THI6VWU7aWYoZi5jYWxsKGEscykpcmV0dXJuIGQoaS5nZXQocykpO2lmKGYuY2FsbChhLHUpKXJldHVybiBkKGkuZ2V0KHUpKTtpIT09YSYmaS5nZXQocyl9LGdldCBzaXplKCl7Y29uc3Qgcz10aGlzLl9fdl9yYXc7cmV0dXJuIWUmJnFlKHdlKHMpLCJpdGVyYXRlIixybiksUmVmbGVjdC5nZXQocywic2l6ZSIscyl9LGhhcyhzKXtjb25zdCBpPXRoaXMuX192X3JhdyxhPXdlKGkpLHU9d2Uocyk7cmV0dXJuIGV8fChWdChzLHUpJiZxZShhLCJoYXMiLHMpLHFlKGEsImhhcyIsdSkpLHM9PT11P2kuaGFzKHMpOmkuaGFzKHMpfHxpLmhhcyh1KX0sZm9yRWFjaChzLGkpe2NvbnN0IGE9dGhpcyx1PWEuX192X3JhdyxmPXdlKHUpLGQ9dD9KczplP0xyOlVlO3JldHVybiFlJiZxZShmLCJpdGVyYXRlIixybiksdS5mb3JFYWNoKChoLHApPT5zLmNhbGwoaSxkKGgpLGQocCksYSkpfX07cmV0dXJuIGplKG4sZT97YWRkOmJyKCJhZGQiKSxzZXQ6YnIoInNldCIpLGRlbGV0ZTpicigiZGVsZXRlIiksY2xlYXI6YnIoImNsZWFyIil9OnthZGQocyl7IXQmJiFmdChzKSYmIUl0KHMpJiYocz13ZShzKSk7Y29uc3QgaT13ZSh0aGlzKTtyZXR1cm4gbXIoaSkuaGFzLmNhbGwoaSxzKXx8KGkuYWRkKHMpLCR0KGksImFkZCIscyxzKSksdGhpc30sc2V0KHMsaSl7IXQmJiFmdChpKSYmIUl0KGkpJiYoaT13ZShpKSk7Y29uc3QgYT13ZSh0aGlzKSx7aGFzOnUsZ2V0OmZ9PW1yKGEpO2xldCBkPXUuY2FsbChhLHMpO2R8fChzPXdlKHMpLGQ9dS5jYWxsKGEscykpO2NvbnN0IGg9Zi5jYWxsKGEscyk7cmV0dXJuIGEuc2V0KHMsaSksZD9WdChpLGgpJiYkdChhLCJzZXQiLHMsaSk6JHQoYSwiYWRkIixzLGkpLHRoaXN9LGRlbGV0ZShzKXtjb25zdCBpPXdlKHRoaXMpLHtoYXM6YSxnZXQ6dX09bXIoaSk7bGV0IGY9YS5jYWxsKGkscyk7Znx8KHM9d2UocyksZj1hLmNhbGwoaSxzKSksdSYmdS5jYWxsKGkscyk7Y29uc3QgZD1pLmRlbGV0ZShzKTtyZXR1cm4gZiYmJHQoaSwiZGVsZXRlIixzLHZvaWQgMCksZH0sY2xlYXIoKXtjb25zdCBzPXdlKHRoaXMpLGk9cy5zaXplIT09MCxhPXMuY2xlYXIoKTtyZXR1cm4gaSYmJHQocywiY2xlYXIiLHZvaWQgMCx2b2lkIDApLGF9fSksWyJrZXlzIiwidmFsdWVzIiwiZW50cmllcyIsU3ltYm9sLml0ZXJhdG9yXS5mb3JFYWNoKHM9PntuW3NdPSRmKHMsZSx0KX0pLG59ZnVuY3Rpb24gRWkoZSx0KXtjb25zdCBuPWtmKGUsdCk7cmV0dXJuKHIscyxpKT0+cz09PSJfX3ZfaXNSZWFjdGl2ZSI/IWU6cz09PSJfX3ZfaXNSZWFkb25seSI/ZTpzPT09Il9fdl9yYXciP3I6UmVmbGVjdC5nZXQoX2UobixzKSYmcyBpbiByP246cixzLGkpfWNvbnN0IFJmPXtnZXQ6RWkoITEsITEpfSxQZj17Z2V0OkVpKCExLCEwKX0sTGY9e2dldDpFaSghMCwhMSl9O2NvbnN0IHphPW5ldyBXZWFrTWFwLHFhPW5ldyBXZWFrTWFwLFZhPW5ldyBXZWFrTWFwLElmPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIE5mKGUpe3N3aXRjaChlKXtjYXNlIk9iamVjdCI6Y2FzZSJBcnJheSI6cmV0dXJuIDE7Y2FzZSJNYXAiOmNhc2UiU2V0IjpjYXNlIldlYWtNYXAiOmNhc2UiV2Vha1NldCI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19ZnVuY3Rpb24gRmYoZSl7cmV0dXJuIGUuX192X3NraXB8fCFPYmplY3QuaXNFeHRlbnNpYmxlKGUpPzA6TmYoYWYoZSkpfWZ1bmN0aW9uIEx0KGUpe3JldHVybiBJdChlKT9lOkFpKGUsITEsRWYsUmYsemEpfWZ1bmN0aW9uIGpmKGUpe3JldHVybiBBaShlLCExLE9mLFBmLHFhKX1mdW5jdGlvbiBXYShlKXtyZXR1cm4gQWkoZSwhMCxBZixMZixWYSl9ZnVuY3Rpb24gQWkoZSx0LG4scixzKXtpZighQWUoZSl8fGUuX192X3JhdyYmISh0JiZlLl9fdl9pc1JlYWN0aXZlKSlyZXR1cm4gZTtjb25zdCBpPUZmKGUpO2lmKGk9PT0wKXJldHVybiBlO2NvbnN0IGE9cy5nZXQoZSk7aWYoYSlyZXR1cm4gYTtjb25zdCB1PW5ldyBQcm94eShlLGk9PT0yP3I6bik7cmV0dXJuIHMuc2V0KGUsdSksdX1mdW5jdGlvbiBzbihlKXtyZXR1cm4gSXQoZSk/c24oZS5fX3ZfcmF3KTohIShlJiZlLl9fdl9pc1JlYWN0aXZlKX1mdW5jdGlvbiBJdChlKXtyZXR1cm4hIShlJiZlLl9fdl9pc1JlYWRvbmx5KX1mdW5jdGlvbiBmdChlKXtyZXR1cm4hIShlJiZlLl9fdl9pc1NoYWxsb3cpfWZ1bmN0aW9uIE9pKGUpe3JldHVybiBlPyEhZS5fX3ZfcmF3OiExfWZ1bmN0aW9uIHdlKGUpe2NvbnN0IHQ9ZSYmZS5fX3ZfcmF3O3JldHVybiB0P3dlKHQpOmV9ZnVuY3Rpb24gTWYoZSl7cmV0dXJuIV9lKGUsIl9fdl9za2lwIikmJk9iamVjdC5pc0V4dGVuc2libGUoZSkmJkFhKGUsIl9fdl9za2lwIiwhMCksZX1jb25zdCBVZT1lPT5BZShlKT9MdChlKTplLExyPWU9PkFlKGUpP1dhKGUpOmU7ZnVuY3Rpb24gTmUoZSl7cmV0dXJuIGU/ZS5fX3ZfaXNSZWY9PT0hMDohMX1mdW5jdGlvbiBwZShlKXtyZXR1cm4gRGYoZSwhMSl9ZnVuY3Rpb24gRGYoZSx0KXtyZXR1cm4gTmUoZSk/ZTpuZXcgVWYoZSx0KX1jbGFzcyBVZntjb25zdHJ1Y3Rvcih0LG4pe3RoaXMuZGVwPW5ldyBUaSx0aGlzLl9fdl9pc1JlZj0hMCx0aGlzLl9fdl9pc1NoYWxsb3c9ITEsdGhpcy5fcmF3VmFsdWU9bj90OndlKHQpLHRoaXMuX3ZhbHVlPW4/dDpVZSh0KSx0aGlzLl9fdl9pc1NoYWxsb3c9bn1nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5kZXAudHJhY2soKSx0aGlzLl92YWx1ZX1zZXQgdmFsdWUodCl7Y29uc3Qgbj10aGlzLl9yYXdWYWx1ZSxyPXRoaXMuX192X2lzU2hhbGxvd3x8ZnQodCl8fEl0KHQpO3Q9cj90OndlKHQpLFZ0KHQsbikmJih0aGlzLl9yYXdWYWx1ZT10LHRoaXMuX3ZhbHVlPXI/dDpVZSh0KSx0aGlzLmRlcC50cmlnZ2VyKCkpfX1mdW5jdGlvbiBVKGUpe3JldHVybiBOZShlKT9lLnZhbHVlOmV9Y29uc3QgSGY9e2dldDooZSx0LG4pPT50PT09Il9fdl9yYXciP2U6VShSZWZsZWN0LmdldChlLHQsbikpLHNldDooZSx0LG4scik9Pntjb25zdCBzPWVbdF07cmV0dXJuIE5lKHMpJiYhTmUobik/KHMudmFsdWU9biwhMCk6UmVmbGVjdC5zZXQoZSx0LG4scil9fTtmdW5jdGlvbiBLYShlKXtyZXR1cm4gc24oZSk/ZTpuZXcgUHJveHkoZSxIZil9Y2xhc3MgQmZ7Y29uc3RydWN0b3IodCxuLHIpe3RoaXMuZm49dCx0aGlzLnNldHRlcj1uLHRoaXMuX3ZhbHVlPXZvaWQgMCx0aGlzLmRlcD1uZXcgVGkodGhpcyksdGhpcy5fX3ZfaXNSZWY9ITAsdGhpcy5kZXBzPXZvaWQgMCx0aGlzLmRlcHNUYWlsPXZvaWQgMCx0aGlzLmZsYWdzPTE2LHRoaXMuZ2xvYmFsVmVyc2lvbj1xbi0xLHRoaXMubmV4dD12b2lkIDAsdGhpcy5lZmZlY3Q9dGhpcyx0aGlzLl9fdl9pc1JlYWRvbmx5PSFuLHRoaXMuaXNTU1I9cn1ub3RpZnkoKXtpZih0aGlzLmZsYWdzfD0xNiwhKHRoaXMuZmxhZ3MmOCkmJkVlIT09dGhpcylyZXR1cm4gSWEodGhpcywhMCksITB9Z2V0IHZhbHVlKCl7Y29uc3QgdD10aGlzLmRlcC50cmFjaygpO3JldHVybiBqYSh0aGlzKSx0JiYodC52ZXJzaW9uPXRoaXMuZGVwLnZlcnNpb24pLHRoaXMuX3ZhbHVlfXNldCB2YWx1ZSh0KXt0aGlzLnNldHRlciYmdGhpcy5zZXR0ZXIodCl9fWZ1bmN0aW9uIHpmKGUsdCxuPSExKXtsZXQgcixzO3JldHVybiBzZShlKT9yPWU6KHI9ZS5nZXQscz1lLnNldCksbmV3IEJmKHIscyxuKX1jb25zdCB2cj17fSxJcj1uZXcgV2Vha01hcDtsZXQgdG47ZnVuY3Rpb24gcWYoZSx0PSExLG49dG4pe2lmKG4pe2xldCByPUlyLmdldChuKTtyfHxJci5zZXQobixyPVtdKSxyLnB1c2goZSl9fWZ1bmN0aW9uIFZmKGUsdCxuPVRlKXtjb25zdHtpbW1lZGlhdGU6cixkZWVwOnMsb25jZTppLHNjaGVkdWxlcjphLGF1Z21lbnRKb2I6dSxjYWxsOmZ9PW4sZD1FPT5zP0U6ZnQoRSl8fHM9PT0hMXx8cz09PTA/a3QoRSwxKTprdChFKTtsZXQgaCxwLHcsQyxtPSExLF89ITE7aWYoTmUoZSk/KHA9KCk9PmUudmFsdWUsbT1mdChlKSk6c24oZSk/KHA9KCk9PmQoZSksbT0hMCk6dGUoZSk/KF89ITAsbT1lLnNvbWUoRT0+c24oRSl8fGZ0KEUpKSxwPSgpPT5lLm1hcChFPT57aWYoTmUoRSkpcmV0dXJuIEUudmFsdWU7aWYoc24oRSkpcmV0dXJuIGQoRSk7aWYoc2UoRSkpcmV0dXJuIGY/ZihFLDIpOkUoKX0pKTpzZShlKT90P3A9Zj8oKT0+ZihlLDIpOmU6cD0oKT0+e2lmKHcpe1J0KCk7dHJ5e3coKX1maW5hbGx5e1B0KCl9fWNvbnN0IEU9dG47dG49aDt0cnl7cmV0dXJuIGY/ZihlLDMsW0NdKTplKEMpfWZpbmFsbHl7dG49RX19OnA9X3QsdCYmcyl7Y29uc3QgRT1wLE49cz09PSEwPzEvMDpzO3A9KCk9Pmt0KEUoKSxOKX1jb25zdCB5PXZmKCksUz0oKT0+e2guc3RvcCgpLHkmJnkuYWN0aXZlJiZ3aSh5LmVmZmVjdHMsaCl9O2lmKGkmJnQpe2NvbnN0IEU9dDt0PSguLi5OKT0+e0UoLi4uTiksUygpfX1sZXQgVD1fP25ldyBBcnJheShlLmxlbmd0aCkuZmlsbCh2cik6dnI7Y29uc3QgTz1FPT57aWYoISghKGguZmxhZ3MmMSl8fCFoLmRpcnR5JiYhRSkpaWYodCl7Y29uc3QgTj1oLnJ1bigpO2lmKHN8fG18fChfP04uc29tZSgocSxLKT0+VnQocSxUW0tdKSk6VnQoTixUKSkpe3cmJncoKTtjb25zdCBxPXRuO3RuPWg7dHJ5e2NvbnN0IEs9W04sVD09PXZyP3ZvaWQgMDpfJiZUWzBdPT09dnI/W106VCxDXTtUPU4sZj9mKHQsMyxLKTp0KC4uLkspfWZpbmFsbHl7dG49cX19fWVsc2UgaC5ydW4oKX07cmV0dXJuIHUmJnUoTyksaD1uZXcgUGEocCksaC5zY2hlZHVsZXI9YT8oKT0+YShPLCExKTpPLEM9RT0+cWYoRSwhMSxoKSx3PWgub25TdG9wPSgpPT57Y29uc3QgRT1Jci5nZXQoaCk7aWYoRSl7aWYoZilmKEUsNCk7ZWxzZSBmb3IoY29uc3QgTiBvZiBFKU4oKTtJci5kZWxldGUoaCl9fSx0P3I/TyghMCk6VD1oLnJ1bigpOmE/YShPLmJpbmQobnVsbCwhMCksITApOmgucnVuKCksUy5wYXVzZT1oLnBhdXNlLmJpbmQoaCksUy5yZXN1bWU9aC5yZXN1bWUuYmluZChoKSxTLnN0b3A9UyxTfWZ1bmN0aW9uIGt0KGUsdD0xLzAsbil7aWYodDw9MHx8IUFlKGUpfHxlLl9fdl9za2lwfHwobj1ufHxuZXcgU2V0LG4uaGFzKGUpKSlyZXR1cm4gZTtpZihuLmFkZChlKSx0LS0sTmUoZSkpa3QoZS52YWx1ZSx0LG4pO2Vsc2UgaWYodGUoZSkpZm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspa3QoZVtyXSx0LG4pO2Vsc2UgaWYoeGEoZSl8fHluKGUpKWUuZm9yRWFjaChyPT57a3Qocix0LG4pfSk7ZWxzZSBpZihUYShlKSl7Zm9yKGNvbnN0IHIgaW4gZSlrdChlW3JdLHQsbik7Zm9yKGNvbnN0IHIgb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKSlPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxyKSYma3QoZVtyXSx0LG4pfXJldHVybiBlfS8qKgoqIEB2dWUvcnVudGltZS1jb3JlIHYzLjUuMTYKKiAoYykgMjAxOC1wcmVzZW50IFl1eGkgKEV2YW4pIFlvdSBhbmQgVnVlIGNvbnRyaWJ1dG9ycwoqIEBsaWNlbnNlIE1JVAoqKi9mdW5jdGlvbiBzcihlLHQsbixyKXt0cnl7cmV0dXJuIHI/ZSguLi5yKTplKCl9Y2F0Y2gocyl7UXIocyx0LG4pfX1mdW5jdGlvbiBndChlLHQsbixyKXtpZihzZShlKSl7Y29uc3Qgcz1zcihlLHQsbixyKTtyZXR1cm4gcyYmQ2EocykmJnMuY2F0Y2goaT0+e1FyKGksdCxuKX0pLHN9aWYodGUoZSkpe2NvbnN0IHM9W107Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspcy5wdXNoKGd0KGVbaV0sdCxuLHIpKTtyZXR1cm4gc319ZnVuY3Rpb24gUXIoZSx0LG4scj0hMCl7Y29uc3Qgcz10P3Qudm5vZGU6bnVsbCx7ZXJyb3JIYW5kbGVyOmksdGhyb3dVbmhhbmRsZWRFcnJvckluUHJvZHVjdGlvbjphfT10JiZ0LmFwcENvbnRleHQuY29uZmlnfHxUZTtpZih0KXtsZXQgdT10LnBhcmVudDtjb25zdCBmPXQucHJveHksZD1gaHR0cHM6Ly92dWVqcy5vcmcvZXJyb3ItcmVmZXJlbmNlLyNydW50aW1lLSR7bn1gO2Zvcig7dTspe2NvbnN0IGg9dS5lYztpZihoKXtmb3IobGV0IHA9MDtwPGgubGVuZ3RoO3ArKylpZihoW3BdKGUsZixkKT09PSExKXJldHVybn11PXUucGFyZW50fWlmKGkpe1J0KCksc3IoaSxudWxsLDEwLFtlLGYsZF0pLFB0KCk7cmV0dXJufX1XZihlLG4scyxyLGEpfWZ1bmN0aW9uIFdmKGUsdCxuLHI9ITAscz0hMSl7aWYocyl0aHJvdyBlO2NvbnNvbGUuZXJyb3IoZSl9Y29uc3QgWmU9W107bGV0IHZ0PS0xO2NvbnN0IF9uPVtdO2xldCBVdD1udWxsLGduPTA7Y29uc3QgSmE9UHJvbWlzZS5yZXNvbHZlKCk7bGV0IE5yPW51bGw7ZnVuY3Rpb24gWHMoZSl7Y29uc3QgdD1Ocnx8SmE7cmV0dXJuIGU/dC50aGVuKHRoaXM/ZS5iaW5kKHRoaXMpOmUpOnR9ZnVuY3Rpb24gS2YoZSl7bGV0IHQ9dnQrMSxuPVplLmxlbmd0aDtmb3IoO3Q8bjspe2NvbnN0IHI9dCtuPj4+MSxzPVplW3JdLGk9V24ocyk7aTxlfHxpPT09ZSYmcy5mbGFncyYyP3Q9cisxOm49cn1yZXR1cm4gdH1mdW5jdGlvbiAkaShlKXtpZighKGUuZmxhZ3MmMSkpe2NvbnN0IHQ9V24oZSksbj1aZVtaZS5sZW5ndGgtMV07IW58fCEoZS5mbGFncyYyKSYmdD49V24obik/WmUucHVzaChlKTpaZS5zcGxpY2UoS2YodCksMCxlKSxlLmZsYWdzfD0xLFhhKCl9fWZ1bmN0aW9uIFhhKCl7TnJ8fChOcj1KYS50aGVuKFFhKSl9ZnVuY3Rpb24gSmYoZSl7dGUoZSk/X24ucHVzaCguLi5lKTpVdCYmZS5pZD09PS0xP1V0LnNwbGljZShnbisxLDAsZSk6ZS5mbGFncyYxfHwoX24ucHVzaChlKSxlLmZsYWdzfD0xKSxYYSgpfWZ1bmN0aW9uIGJvKGUsdCxuPXZ0KzEpe2Zvcig7bjxaZS5sZW5ndGg7bisrKXtjb25zdCByPVplW25dO2lmKHImJnIuZmxhZ3MmMil7aWYoZSYmci5pZCE9PWUudWlkKWNvbnRpbnVlO1plLnNwbGljZShuLDEpLG4tLSxyLmZsYWdzJjQmJihyLmZsYWdzJj0tMikscigpLHIuZmxhZ3MmNHx8KHIuZmxhZ3MmPS0yKX19fWZ1bmN0aW9uIEdhKGUpe2lmKF9uLmxlbmd0aCl7Y29uc3QgdD1bLi4ubmV3IFNldChfbildLnNvcnQoKG4scik9PlduKG4pLVduKHIpKTtpZihfbi5sZW5ndGg9MCxVdCl7VXQucHVzaCguLi50KTtyZXR1cm59Zm9yKFV0PXQsZ249MDtnbjxVdC5sZW5ndGg7Z24rKyl7Y29uc3Qgbj1VdFtnbl07bi5mbGFncyY0JiYobi5mbGFncyY9LTIpLG4uZmxhZ3MmOHx8bigpLG4uZmxhZ3MmPS0yfVV0PW51bGwsZ249MH19Y29uc3QgV249ZT0+ZS5pZD09bnVsbD9lLmZsYWdzJjI/LTE6MS8wOmUuaWQ7ZnVuY3Rpb24gUWEoZSl7dHJ5e2Zvcih2dD0wO3Z0PFplLmxlbmd0aDt2dCsrKXtjb25zdCB0PVplW3Z0XTt0JiYhKHQuZmxhZ3MmOCkmJih0LmZsYWdzJjQmJih0LmZsYWdzJj0tMiksc3IodCx0LmksdC5pPzE1OjE0KSx0LmZsYWdzJjR8fCh0LmZsYWdzJj0tMikpfX1maW5hbGx5e2Zvcig7dnQ8WmUubGVuZ3RoO3Z0Kyspe2NvbnN0IHQ9WmVbdnRdO3QmJih0LmZsYWdzJj0tMil9dnQ9LTEsWmUubGVuZ3RoPTAsR2EoKSxOcj1udWxsLChaZS5sZW5ndGh8fF9uLmxlbmd0aCkmJlFhKCl9fWxldCBCZT1udWxsLFphPW51bGw7ZnVuY3Rpb24gRnIoZSl7Y29uc3QgdD1CZTtyZXR1cm4gQmU9ZSxaYT1lJiZlLnR5cGUuX19zY29wZUlkfHxudWxsLHR9ZnVuY3Rpb24geHQoZSx0PUJlLG4pe2lmKCF0fHxlLl9uKXJldHVybiBlO2NvbnN0IHI9KC4uLnMpPT57ci5fZCYmJG8oLTEpO2NvbnN0IGk9RnIodCk7bGV0IGE7dHJ5e2E9ZSguLi5zKX1maW5hbGx5e0ZyKGkpLHIuX2QmJiRvKDEpfXJldHVybiBhfTtyZXR1cm4gci5fbj0hMCxyLl9jPSEwLHIuX2Q9ITAscn1mdW5jdGlvbiBHcyhlLHQpe2lmKEJlPT09bnVsbClyZXR1cm4gZTtjb25zdCBuPXJzKEJlKSxyPWUuZGlyc3x8KGUuZGlycz1bXSk7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspe2xldFtpLGEsdSxmPVRlXT10W3NdO2kmJihzZShpKSYmKGk9e21vdW50ZWQ6aSx1cGRhdGVkOml9KSxpLmRlZXAmJmt0KGEpLHIucHVzaCh7ZGlyOmksaW5zdGFuY2U6bix2YWx1ZTphLG9sZFZhbHVlOnZvaWQgMCxhcmc6dSxtb2RpZmllcnM6Zn0pKX1yZXR1cm4gZX1mdW5jdGlvbiBRdChlLHQsbixyKXtjb25zdCBzPWUuZGlycyxpPXQmJnQuZGlycztmb3IobGV0IGE9MDthPHMubGVuZ3RoO2ErKyl7Y29uc3QgdT1zW2FdO2kmJih1Lm9sZFZhbHVlPWlbYV0udmFsdWUpO2xldCBmPXUuZGlyW3JdO2YmJihSdCgpLGd0KGYsbiw4LFtlLmVsLHUsZSx0XSksUHQoKSl9fWNvbnN0IFlhPVN5bWJvbCgiX3Z0ZSIpLGVjPWU9PmUuX19pc1RlbGVwb3J0LFVuPWU9PmUmJihlLmRpc2FibGVkfHxlLmRpc2FibGVkPT09IiIpLHZvPWU9PmUmJihlLmRlZmVyfHxlLmRlZmVyPT09IiIpLHlvPWU9PnR5cGVvZiBTVkdFbGVtZW50PCJ1IiYmZSBpbnN0YW5jZW9mIFNWR0VsZW1lbnQsd289ZT0+dHlwZW9mIE1hdGhNTEVsZW1lbnQ9PSJmdW5jdGlvbiImJmUgaW5zdGFuY2VvZiBNYXRoTUxFbGVtZW50LFFzPShlLHQpPT57Y29uc3Qgbj1lJiZlLnRvO3JldHVybiAkZShuKT90P3Qobik6bnVsbDpufSx0Yz17bmFtZToiVGVsZXBvcnQiLF9faXNUZWxlcG9ydDohMCxwcm9jZXNzKGUsdCxuLHIscyxpLGEsdSxmLGQpe2NvbnN0e21jOmgscGM6cCxwYmM6dyxvOntpbnNlcnQ6QyxxdWVyeVNlbGVjdG9yOm0sY3JlYXRlVGV4dDpfLGNyZWF0ZUNvbW1lbnQ6eX19PWQsUz1Vbih0LnByb3BzKTtsZXR7c2hhcGVGbGFnOlQsY2hpbGRyZW46TyxkeW5hbWljQ2hpbGRyZW46RX09dDtpZihlPT1udWxsKXtjb25zdCBOPXQuZWw9XygiIikscT10LmFuY2hvcj1fKCIiKTtDKE4sbixyKSxDKHEsbixyKTtjb25zdCBLPShWLFgpPT57VCYxNiYmKHMmJnMuaXNDRSYmKHMuY2UuX3RlbGVwb3J0VGFyZ2V0PVYpLGgoTyxWLFgscyxpLGEsdSxmKSl9LEc9KCk9Pntjb25zdCBWPXQudGFyZ2V0PVFzKHQucHJvcHMsbSksWD1uYyhWLHQsXyxDKTtWJiYoYSE9PSJzdmciJiZ5byhWKT9hPSJzdmciOmEhPT0ibWF0aG1sIiYmd28oVikmJihhPSJtYXRobWwiKSxTfHwoSyhWLFgpLFRyKHQsITEpKSl9O1MmJihLKG4scSksVHIodCwhMCkpLHZvKHQucHJvcHMpPyh0LmVsLl9faXNNb3VudGVkPSExLEllKCgpPT57RygpLGRlbGV0ZSB0LmVsLl9faXNNb3VudGVkfSxpKSk6RygpfWVsc2V7aWYodm8odC5wcm9wcykmJmUuZWwuX19pc01vdW50ZWQ9PT0hMSl7SWUoKCk9Pnt0Yy5wcm9jZXNzKGUsdCxuLHIscyxpLGEsdSxmLGQpfSxpKTtyZXR1cm59dC5lbD1lLmVsLHQudGFyZ2V0U3RhcnQ9ZS50YXJnZXRTdGFydDtjb25zdCBOPXQuYW5jaG9yPWUuYW5jaG9yLHE9dC50YXJnZXQ9ZS50YXJnZXQsSz10LnRhcmdldEFuY2hvcj1lLnRhcmdldEFuY2hvcixHPVVuKGUucHJvcHMpLFY9Rz9uOnEsWD1HP046SztpZihhPT09InN2ZyJ8fHlvKHEpP2E9InN2ZyI6KGE9PT0ibWF0aG1sInx8d28ocSkpJiYoYT0ibWF0aG1sIiksRT8odyhlLmR5bmFtaWNDaGlsZHJlbixFLFYscyxpLGEsdSksTGkoZSx0LCEwKSk6Znx8cChlLHQsVixYLHMsaSxhLHUsITEpLFMpRz90LnByb3BzJiZlLnByb3BzJiZ0LnByb3BzLnRvIT09ZS5wcm9wcy50byYmKHQucHJvcHMudG89ZS5wcm9wcy50byk6eXIodCxuLE4sZCwxKTtlbHNlIGlmKCh0LnByb3BzJiZ0LnByb3BzLnRvKSE9PShlLnByb3BzJiZlLnByb3BzLnRvKSl7Y29uc3QgbGU9dC50YXJnZXQ9UXModC5wcm9wcyxtKTtsZSYmeXIodCxsZSxudWxsLGQsMCl9ZWxzZSBHJiZ5cih0LHEsSyxkLDEpO1RyKHQsUyl9fSxyZW1vdmUoZSx0LG4se3VtOnIsbzp7cmVtb3ZlOnN9fSxpKXtjb25zdHtzaGFwZUZsYWc6YSxjaGlsZHJlbjp1LGFuY2hvcjpmLHRhcmdldFN0YXJ0OmQsdGFyZ2V0QW5jaG9yOmgsdGFyZ2V0OnAscHJvcHM6d309ZTtpZihwJiYocyhkKSxzKGgpKSxpJiZzKGYpLGEmMTYpe2NvbnN0IEM9aXx8IVVuKHcpO2ZvcihsZXQgbT0wO208dS5sZW5ndGg7bSsrKXtjb25zdCBfPXVbbV07cihfLHQsbixDLCEhXy5keW5hbWljQ2hpbGRyZW4pfX19LG1vdmU6eXIsaHlkcmF0ZTpYZn07ZnVuY3Rpb24geXIoZSx0LG4se286e2luc2VydDpyfSxtOnN9LGk9Mil7aT09PTAmJnIoZS50YXJnZXRBbmNob3IsdCxuKTtjb25zdHtlbDphLGFuY2hvcjp1LHNoYXBlRmxhZzpmLGNoaWxkcmVuOmQscHJvcHM6aH09ZSxwPWk9PT0yO2lmKHAmJnIoYSx0LG4pLCghcHx8VW4oaCkpJiZmJjE2KWZvcihsZXQgdz0wO3c8ZC5sZW5ndGg7dysrKXMoZFt3XSx0LG4sMik7cCYmcih1LHQsbil9ZnVuY3Rpb24gWGYoZSx0LG4scixzLGkse286e25leHRTaWJsaW5nOmEscGFyZW50Tm9kZTp1LHF1ZXJ5U2VsZWN0b3I6ZixpbnNlcnQ6ZCxjcmVhdGVUZXh0Omh9fSxwKXtjb25zdCB3PXQudGFyZ2V0PVFzKHQucHJvcHMsZik7aWYodyl7Y29uc3QgQz1Vbih0LnByb3BzKSxtPXcuX2xwYXx8dy5maXJzdENoaWxkO2lmKHQuc2hhcGVGbGFnJjE2KWlmKEMpdC5hbmNob3I9cChhKGUpLHQsdShlKSxuLHIscyxpKSx0LnRhcmdldFN0YXJ0PW0sdC50YXJnZXRBbmNob3I9bSYmYShtKTtlbHNle3QuYW5jaG9yPWEoZSk7bGV0IF89bTtmb3IoO187KXtpZihfJiZfLm5vZGVUeXBlPT09OCl7aWYoXy5kYXRhPT09InRlbGVwb3J0IHN0YXJ0IGFuY2hvciIpdC50YXJnZXRTdGFydD1fO2Vsc2UgaWYoXy5kYXRhPT09InRlbGVwb3J0IGFuY2hvciIpe3QudGFyZ2V0QW5jaG9yPV8sdy5fbHBhPXQudGFyZ2V0QW5jaG9yJiZhKHQudGFyZ2V0QW5jaG9yKTticmVha319Xz1hKF8pfXQudGFyZ2V0QW5jaG9yfHxuYyh3LHQsaCxkKSxwKG0mJmEobSksdCx3LG4scixzLGkpfVRyKHQsQyl9cmV0dXJuIHQuYW5jaG9yJiZhKHQuYW5jaG9yKX1jb25zdCBHZj10YztmdW5jdGlvbiBUcihlLHQpe2NvbnN0IG49ZS5jdHg7aWYobiYmbi51dCl7bGV0IHIscztmb3IodD8ocj1lLmVsLHM9ZS5hbmNob3IpOihyPWUudGFyZ2V0U3RhcnQscz1lLnRhcmdldEFuY2hvcik7ciYmciE9PXM7KXIubm9kZVR5cGU9PT0xJiZyLnNldEF0dHJpYnV0ZSgiZGF0YS12LW93bmVyIixuLnVpZCkscj1yLm5leHRTaWJsaW5nO24udXQoKX19ZnVuY3Rpb24gbmMoZSx0LG4scil7Y29uc3Qgcz10LnRhcmdldFN0YXJ0PW4oIiIpLGk9dC50YXJnZXRBbmNob3I9bigiIik7cmV0dXJuIHNbWWFdPWksZSYmKHIocyxlKSxyKGksZSkpLGl9Y29uc3QgSHQ9U3ltYm9sKCJfbGVhdmVDYiIpLHdyPVN5bWJvbCgiX2VudGVyQ2IiKTtmdW5jdGlvbiBRZigpe2NvbnN0IGU9e2lzTW91bnRlZDohMSxpc0xlYXZpbmc6ITEsaXNVbm1vdW50aW5nOiExLGxlYXZpbmdWTm9kZXM6bmV3IE1hcH07cmV0dXJuIGlyKCgpPT57ZS5pc01vdW50ZWQ9ITB9KSxlcygoKT0+e2UuaXNVbm1vdW50aW5nPSEwfSksZX1jb25zdCBsdD1bRnVuY3Rpb24sQXJyYXldLHJjPXttb2RlOlN0cmluZyxhcHBlYXI6Qm9vbGVhbixwZXJzaXN0ZWQ6Qm9vbGVhbixvbkJlZm9yZUVudGVyOmx0LG9uRW50ZXI6bHQsb25BZnRlckVudGVyOmx0LG9uRW50ZXJDYW5jZWxsZWQ6bHQsb25CZWZvcmVMZWF2ZTpsdCxvbkxlYXZlOmx0LG9uQWZ0ZXJMZWF2ZTpsdCxvbkxlYXZlQ2FuY2VsbGVkOmx0LG9uQmVmb3JlQXBwZWFyOmx0LG9uQXBwZWFyOmx0LG9uQWZ0ZXJBcHBlYXI6bHQsb25BcHBlYXJDYW5jZWxsZWQ6bHR9LHNjPWU9Pntjb25zdCB0PWUuc3ViVHJlZTtyZXR1cm4gdC5jb21wb25lbnQ/c2ModC5jb21wb25lbnQpOnR9LFpmPXtuYW1lOiJCYXNlVHJhbnNpdGlvbiIscHJvcHM6cmMsc2V0dXAoZSx7c2xvdHM6dH0pe2NvbnN0IG49TmkoKSxyPVFmKCk7cmV0dXJuKCk9Pntjb25zdCBzPXQuZGVmYXVsdCYmYWModC5kZWZhdWx0KCksITApO2lmKCFzfHwhcy5sZW5ndGgpcmV0dXJuO2NvbnN0IGk9aWMocyksYT13ZShlKSx7bW9kZTp1fT1hO2lmKHIuaXNMZWF2aW5nKXJldHVybiBrcyhpKTtjb25zdCBmPV9vKGkpO2lmKCFmKXJldHVybiBrcyhpKTtsZXQgZD1acyhmLGEscixuLHA9PmQ9cCk7Zi50eXBlIT09SGUmJlRuKGYsZCk7bGV0IGg9bi5zdWJUcmVlJiZfbyhuLnN1YlRyZWUpO2lmKGgmJmgudHlwZSE9PUhlJiYhcXQoZixoKSYmc2MobikudHlwZSE9PUhlKXtsZXQgcD1acyhoLGEscixuKTtpZihUbihoLHApLHU9PT0ib3V0LWluIiYmZi50eXBlIT09SGUpcmV0dXJuIHIuaXNMZWF2aW5nPSEwLHAuYWZ0ZXJMZWF2ZT0oKT0+e3IuaXNMZWF2aW5nPSExLG4uam9iLmZsYWdzJjh8fG4udXBkYXRlKCksZGVsZXRlIHAuYWZ0ZXJMZWF2ZSxoPXZvaWQgMH0sa3MoaSk7dT09PSJpbi1vdXQiJiZmLnR5cGUhPT1IZT9wLmRlbGF5TGVhdmU9KHcsQyxtKT0+e2NvbnN0IF89b2MocixoKTtfW1N0cmluZyhoLmtleSldPWgsd1tIdF09KCk9PntDKCksd1tIdF09dm9pZCAwLGRlbGV0ZSBkLmRlbGF5ZWRMZWF2ZSxoPXZvaWQgMH0sZC5kZWxheWVkTGVhdmU9KCk9PnttKCksZGVsZXRlIGQuZGVsYXllZExlYXZlLGg9dm9pZCAwfX06aD12b2lkIDB9ZWxzZSBoJiYoaD12b2lkIDApO3JldHVybiBpfX19O2Z1bmN0aW9uIGljKGUpe2xldCB0PWVbMF07aWYoZS5sZW5ndGg+MSl7Zm9yKGNvbnN0IG4gb2YgZSlpZihuLnR5cGUhPT1IZSl7dD1uO2JyZWFrfX1yZXR1cm4gdH1jb25zdCBZZj1aZjtmdW5jdGlvbiBvYyhlLHQpe2NvbnN0e2xlYXZpbmdWTm9kZXM6bn09ZTtsZXQgcj1uLmdldCh0LnR5cGUpO3JldHVybiByfHwocj1PYmplY3QuY3JlYXRlKG51bGwpLG4uc2V0KHQudHlwZSxyKSkscn1mdW5jdGlvbiBacyhlLHQsbixyLHMpe2NvbnN0e2FwcGVhcjppLG1vZGU6YSxwZXJzaXN0ZWQ6dT0hMSxvbkJlZm9yZUVudGVyOmYsb25FbnRlcjpkLG9uQWZ0ZXJFbnRlcjpoLG9uRW50ZXJDYW5jZWxsZWQ6cCxvbkJlZm9yZUxlYXZlOncsb25MZWF2ZTpDLG9uQWZ0ZXJMZWF2ZTptLG9uTGVhdmVDYW5jZWxsZWQ6XyxvbkJlZm9yZUFwcGVhcjp5LG9uQXBwZWFyOlMsb25BZnRlckFwcGVhcjpULG9uQXBwZWFyQ2FuY2VsbGVkOk99PXQsRT1TdHJpbmcoZS5rZXkpLE49b2MobixlKSxxPShWLFgpPT57ViYmZ3QoVixyLDksWCl9LEs9KFYsWCk9Pntjb25zdCBsZT1YWzFdO3EoVixYKSx0ZShWKT9WLmV2ZXJ5KEg9PkgubGVuZ3RoPD0xKSYmbGUoKTpWLmxlbmd0aDw9MSYmbGUoKX0sRz17bW9kZTphLHBlcnNpc3RlZDp1LGJlZm9yZUVudGVyKFYpe2xldCBYPWY7aWYoIW4uaXNNb3VudGVkKWlmKGkpWD15fHxmO2Vsc2UgcmV0dXJuO1ZbSHRdJiZWW0h0XSghMCk7Y29uc3QgbGU9TltFXTtsZSYmcXQoZSxsZSkmJmxlLmVsW0h0XSYmbGUuZWxbSHRdKCkscShYLFtWXSl9LGVudGVyKFYpe2xldCBYPWQsbGU9aCxIPXA7aWYoIW4uaXNNb3VudGVkKWlmKGkpWD1TfHxkLGxlPVR8fGgsSD1PfHxwO2Vsc2UgcmV0dXJuO2xldCBtZT0hMTtjb25zdCBPZT1WW3dyXT1uZT0+e21lfHwobWU9ITAsbmU/cShILFtWXSk6cShsZSxbVl0pLEcuZGVsYXllZExlYXZlJiZHLmRlbGF5ZWRMZWF2ZSgpLFZbd3JdPXZvaWQgMCl9O1g/SyhYLFtWLE9lXSk6T2UoKX0sbGVhdmUoVixYKXtjb25zdCBsZT1TdHJpbmcoZS5rZXkpO2lmKFZbd3JdJiZWW3dyXSghMCksbi5pc1VubW91bnRpbmcpcmV0dXJuIFgoKTtxKHcsW1ZdKTtsZXQgSD0hMTtjb25zdCBtZT1WW0h0XT1PZT0+e0h8fChIPSEwLFgoKSxPZT9xKF8sW1ZdKTpxKG0sW1ZdKSxWW0h0XT12b2lkIDAsTltsZV09PT1lJiZkZWxldGUgTltsZV0pfTtOW2xlXT1lLEM/SyhDLFtWLG1lXSk6bWUoKX0sY2xvbmUoVil7Y29uc3QgWD1acyhWLHQsbixyLHMpO3JldHVybiBzJiZzKFgpLFh9fTtyZXR1cm4gR31mdW5jdGlvbiBrcyhlKXtpZihacihlKSlyZXR1cm4gZT1OdChlKSxlLmNoaWxkcmVuPW51bGwsZX1mdW5jdGlvbiBfbyhlKXtpZighWnIoZSkpcmV0dXJuIGVjKGUudHlwZSkmJmUuY2hpbGRyZW4/aWMoZS5jaGlsZHJlbik6ZTtpZihlLmNvbXBvbmVudClyZXR1cm4gZS5jb21wb25lbnQuc3ViVHJlZTtjb25zdHtzaGFwZUZsYWc6dCxjaGlsZHJlbjpufT1lO2lmKG4pe2lmKHQmMTYpcmV0dXJuIG5bMF07aWYodCYzMiYmc2Uobi5kZWZhdWx0KSlyZXR1cm4gbi5kZWZhdWx0KCl9fWZ1bmN0aW9uIFRuKGUsdCl7ZS5zaGFwZUZsYWcmNiYmZS5jb21wb25lbnQ/KGUudHJhbnNpdGlvbj10LFRuKGUuY29tcG9uZW50LnN1YlRyZWUsdCkpOmUuc2hhcGVGbGFnJjEyOD8oZS5zc0NvbnRlbnQudHJhbnNpdGlvbj10LmNsb25lKGUuc3NDb250ZW50KSxlLnNzRmFsbGJhY2sudHJhbnNpdGlvbj10LmNsb25lKGUuc3NGYWxsYmFjaykpOmUudHJhbnNpdGlvbj10fWZ1bmN0aW9uIGFjKGUsdD0hMSxuKXtsZXQgcj1bXSxzPTA7Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspe2xldCBhPWVbaV07Y29uc3QgdT1uPT1udWxsP2Eua2V5OlN0cmluZyhuKStTdHJpbmcoYS5rZXkhPW51bGw/YS5rZXk6aSk7YS50eXBlPT09WWU/KGEucGF0Y2hGbGFnJjEyOCYmcysrLHI9ci5jb25jYXQoYWMoYS5jaGlsZHJlbix0LHUpKSk6KHR8fGEudHlwZSE9PUhlKSYmci5wdXNoKHUhPW51bGw/TnQoYSx7a2V5OnV9KTphKX1pZihzPjEpZm9yKGxldCBpPTA7aTxyLmxlbmd0aDtpKyspcltpXS5wYXRjaEZsYWc9LTI7cmV0dXJuIHJ9LyohICNfX05PX1NJREVfRUZGRUNUU19fICovZnVuY3Rpb24gTWUoZSx0KXtyZXR1cm4gc2UoZSk/amUoe25hbWU6ZS5uYW1lfSx0LHtzZXR1cDplfSk6ZX1mdW5jdGlvbiBjYyhlKXtlLmlkcz1bZS5pZHNbMF0rZS5pZHNbMl0rKysiLSIsMCwwXX1mdW5jdGlvbiBqcihlLHQsbixyLHM9ITEpe2lmKHRlKGUpKXtlLmZvckVhY2goKG0sXyk9PmpyKG0sdCYmKHRlKHQpP3RbX106dCksbixyLHMpKTtyZXR1cm59aWYob24ocikmJiFzKXtyLnNoYXBlRmxhZyY1MTImJnIudHlwZS5fX2FzeW5jUmVzb2x2ZWQmJnIuY29tcG9uZW50LnN1YlRyZWUuY29tcG9uZW50JiZqcihlLHQsbixyLmNvbXBvbmVudC5zdWJUcmVlKTtyZXR1cm59Y29uc3QgaT1yLnNoYXBlRmxhZyY0P3JzKHIuY29tcG9uZW50KTpyLmVsLGE9cz9udWxsOmkse2k6dSxyOmZ9PWUsZD10JiZ0LnIsaD11LnJlZnM9PT1UZT91LnJlZnM9e306dS5yZWZzLHA9dS5zZXR1cFN0YXRlLHc9d2UocCksQz1wPT09VGU/KCk9PiExOm09Pl9lKHcsbSk7aWYoZCE9bnVsbCYmZCE9PWYmJigkZShkKT8oaFtkXT1udWxsLEMoZCkmJihwW2RdPW51bGwpKTpOZShkKSYmKGQudmFsdWU9bnVsbCkpLHNlKGYpKXNyKGYsdSwxMixbYSxoXSk7ZWxzZXtjb25zdCBtPSRlKGYpLF89TmUoZik7aWYobXx8Xyl7Y29uc3QgeT0oKT0+e2lmKGUuZil7Y29uc3QgUz1tP0MoZik/cFtmXTpoW2ZdOmYudmFsdWU7cz90ZShTKSYmd2koUyxpKTp0ZShTKT9TLmluY2x1ZGVzKGkpfHxTLnB1c2goaSk6bT8oaFtmXT1baV0sQyhmKSYmKHBbZl09aFtmXSkpOihmLnZhbHVlPVtpXSxlLmsmJihoW2Uua109Zi52YWx1ZSkpfWVsc2UgbT8oaFtmXT1hLEMoZikmJihwW2ZdPWEpKTpfJiYoZi52YWx1ZT1hLGUuayYmKGhbZS5rXT1hKSl9O2E/KHkuaWQ9LTEsSWUoeSxuKSk6eSgpfX19WHIoKS5yZXF1ZXN0SWRsZUNhbGxiYWNrO1hyKCkuY2FuY2VsSWRsZUNhbGxiYWNrO2NvbnN0IG9uPWU9PiEhZS50eXBlLl9fYXN5bmNMb2FkZXIsWnI9ZT0+ZS50eXBlLl9faXNLZWVwQWxpdmUsZWg9e25hbWU6IktlZXBBbGl2ZSIsX19pc0tlZXBBbGl2ZTohMCxwcm9wczp7aW5jbHVkZTpbU3RyaW5nLFJlZ0V4cCxBcnJheV0sZXhjbHVkZTpbU3RyaW5nLFJlZ0V4cCxBcnJheV0sbWF4OltTdHJpbmcsTnVtYmVyXX0sc2V0dXAoZSx7c2xvdHM6dH0pe2NvbnN0IG49TmkoKSxyPW4uY3R4O2lmKCFyLnJlbmRlcmVyKXJldHVybigpPT57Y29uc3QgVD10LmRlZmF1bHQmJnQuZGVmYXVsdCgpO3JldHVybiBUJiZULmxlbmd0aD09PTE/VFswXTpUfTtjb25zdCBzPW5ldyBNYXAsaT1uZXcgU2V0O2xldCBhPW51bGw7Y29uc3QgdT1uLnN1c3BlbnNlLHtyZW5kZXJlcjp7cDpmLG06ZCx1bTpoLG86e2NyZWF0ZUVsZW1lbnQ6cH19fT1yLHc9cCgiZGl2Iik7ci5hY3RpdmF0ZT0oVCxPLEUsTixxKT0+e2NvbnN0IEs9VC5jb21wb25lbnQ7ZChULE8sRSwwLHUpLGYoSy52bm9kZSxULE8sRSxLLHUsTixULnNsb3RTY29wZUlkcyxxKSxJZSgoKT0+e0suaXNEZWFjdGl2YXRlZD0hMSxLLmEmJnduKEsuYSk7Y29uc3QgRz1ULnByb3BzJiZULnByb3BzLm9uVm5vZGVNb3VudGVkO0cmJnV0KEcsSy5wYXJlbnQsVCl9LHUpfSxyLmRlYWN0aXZhdGU9VD0+e2NvbnN0IE89VC5jb21wb25lbnQ7RHIoTy5tKSxEcihPLmEpLGQoVCx3LG51bGwsMSx1KSxJZSgoKT0+e08uZGEmJnduKE8uZGEpO2NvbnN0IEU9VC5wcm9wcyYmVC5wcm9wcy5vblZub2RlVW5tb3VudGVkO0UmJnV0KEUsTy5wYXJlbnQsVCksTy5pc0RlYWN0aXZhdGVkPSEwfSx1KX07ZnVuY3Rpb24gQyhUKXtScyhUKSxoKFQsbix1LCEwKX1mdW5jdGlvbiBtKFQpe3MuZm9yRWFjaCgoTyxFKT0+e2NvbnN0IE49UG8oTy50eXBlKTtOJiYhVChOKSYmXyhFKX0pfWZ1bmN0aW9uIF8oVCl7Y29uc3QgTz1zLmdldChUKTtPJiYoIWF8fCFxdChPLGEpKT9DKE8pOmEmJlJzKGEpLHMuZGVsZXRlKFQpLGkuZGVsZXRlKFQpfWh0KCgpPT5bZS5pbmNsdWRlLGUuZXhjbHVkZV0sKFtULE9dKT0+e1QmJm0oRT0+Tm4oVCxFKSksTyYmbShFPT4hTm4oTyxFKSl9LHtmbHVzaDoicG9zdCIsZGVlcDohMH0pO2xldCB5PW51bGw7Y29uc3QgUz0oKT0+e3khPW51bGwmJihVcihuLnN1YlRyZWUudHlwZSk/SWUoKCk9PntzLnNldCh5LF9yKG4uc3ViVHJlZSkpfSxuLnN1YlRyZWUuc3VzcGVuc2UpOnMuc2V0KHksX3Iobi5zdWJUcmVlKSkpfTtyZXR1cm4gaXIoUyksZmMoUyksZXMoKCk9PntzLmZvckVhY2goVD0+e2NvbnN0e3N1YlRyZWU6TyxzdXNwZW5zZTpFfT1uLE49X3IoTyk7aWYoVC50eXBlPT09Ti50eXBlJiZULmtleT09PU4ua2V5KXtScyhOKTtjb25zdCBxPU4uY29tcG9uZW50LmRhO3EmJkllKHEsRSk7cmV0dXJufUMoVCl9KX0pLCgpPT57aWYoeT1udWxsLCF0LmRlZmF1bHQpcmV0dXJuIGE9bnVsbDtjb25zdCBUPXQuZGVmYXVsdCgpLE89VFswXTtpZihULmxlbmd0aD4xKXJldHVybiBhPW51bGwsVDtpZighRW4oTyl8fCEoTy5zaGFwZUZsYWcmNCkmJiEoTy5zaGFwZUZsYWcmMTI4KSlyZXR1cm4gYT1udWxsLE87bGV0IEU9X3IoTyk7aWYoRS50eXBlPT09SGUpcmV0dXJuIGE9bnVsbCxFO2NvbnN0IE49RS50eXBlLHE9UG8ob24oRSk/RS50eXBlLl9fYXN5bmNSZXNvbHZlZHx8e306Tikse2luY2x1ZGU6SyxleGNsdWRlOkcsbWF4OlZ9PWU7aWYoSyYmKCFxfHwhTm4oSyxxKSl8fEcmJnEmJk5uKEcscSkpcmV0dXJuIEUuc2hhcGVGbGFnJj0tMjU3LGE9RSxPO2NvbnN0IFg9RS5rZXk9PW51bGw/TjpFLmtleSxsZT1zLmdldChYKTtyZXR1cm4gRS5lbCYmKEU9TnQoRSksTy5zaGFwZUZsYWcmMTI4JiYoTy5zc0NvbnRlbnQ9RSkpLHk9WCxsZT8oRS5lbD1sZS5lbCxFLmNvbXBvbmVudD1sZS5jb21wb25lbnQsRS50cmFuc2l0aW9uJiZUbihFLEUudHJhbnNpdGlvbiksRS5zaGFwZUZsYWd8PTUxMixpLmRlbGV0ZShYKSxpLmFkZChYKSk6KGkuYWRkKFgpLFYmJmkuc2l6ZT5wYXJzZUludChWLDEwKSYmXyhpLnZhbHVlcygpLm5leHQoKS52YWx1ZSkpLEUuc2hhcGVGbGFnfD0yNTYsYT1FLFVyKE8udHlwZSk/TzpFfX19LHRoPWVoO2Z1bmN0aW9uIE5uKGUsdCl7cmV0dXJuIHRlKGUpP2Uuc29tZShuPT5ObihuLHQpKTokZShlKT9lLnNwbGl0KCIsIikuaW5jbHVkZXModCk6b2YoZSk/KGUubGFzdEluZGV4PTAsZS50ZXN0KHQpKTohMX1mdW5jdGlvbiBuaChlLHQpe2xjKGUsImEiLHQpfWZ1bmN0aW9uIHJoKGUsdCl7bGMoZSwiZGEiLHQpfWZ1bmN0aW9uIGxjKGUsdCxuPVZlKXtjb25zdCByPWUuX193ZGN8fChlLl9fd2RjPSgpPT57bGV0IHM9bjtmb3IoO3M7KXtpZihzLmlzRGVhY3RpdmF0ZWQpcmV0dXJuO3M9cy5wYXJlbnR9cmV0dXJuIGUoKX0pO2lmKFlyKHQscixuKSxuKXtsZXQgcz1uLnBhcmVudDtmb3IoO3MmJnMucGFyZW50OylacihzLnBhcmVudC52bm9kZSkmJnNoKHIsdCxuLHMpLHM9cy5wYXJlbnR9fWZ1bmN0aW9uIHNoKGUsdCxuLHIpe2NvbnN0IHM9WXIodCxlLHIsITApO2tpKCgpPT57d2koclt0XSxzKX0sbil9ZnVuY3Rpb24gUnMoZSl7ZS5zaGFwZUZsYWcmPS0yNTcsZS5zaGFwZUZsYWcmPS01MTN9ZnVuY3Rpb24gX3IoZSl7cmV0dXJuIGUuc2hhcGVGbGFnJjEyOD9lLnNzQ29udGVudDplfWZ1bmN0aW9uIFlyKGUsdCxuPVZlLHI9ITEpe2lmKG4pe2NvbnN0IHM9bltlXXx8KG5bZV09W10pLGk9dC5fX3dlaHx8KHQuX193ZWg9KC4uLmEpPT57UnQoKTtjb25zdCB1PW9yKG4pLGY9Z3QodCxuLGUsYSk7cmV0dXJuIHUoKSxQdCgpLGZ9KTtyZXR1cm4gcj9zLnVuc2hpZnQoaSk6cy5wdXNoKGkpLGl9fWNvbnN0IGp0PWU9Pih0LG49VmUpPT57KCFYbnx8ZT09PSJzcCIpJiZZcihlLCguLi5yKT0+dCguLi5yKSxuKX0sdWM9anQoImJtIiksaXI9anQoIm0iKSxpaD1qdCgiYnUiKSxmYz1qdCgidSIpLGVzPWp0KCJidW0iKSxraT1qdCgidW0iKSxvaD1qdCgic3AiKSxhaD1qdCgicnRnIiksY2g9anQoInJ0YyIpO2Z1bmN0aW9uIGxoKGUsdD1WZSl7WXIoImVjIixlLHQpfWNvbnN0IHVoPVN5bWJvbC5mb3IoInYtbmRjIik7ZnVuY3Rpb24gaGMoZSx0LG4scil7bGV0IHM7Y29uc3QgaT1uLGE9dGUoZSk7aWYoYXx8JGUoZSkpe2NvbnN0IHU9YSYmc24oZSk7bGV0IGY9ITEsZD0hMTt1JiYoZj0hZnQoZSksZD1JdChlKSxlPUdyKGUpKSxzPW5ldyBBcnJheShlLmxlbmd0aCk7Zm9yKGxldCBoPTAscD1lLmxlbmd0aDtoPHA7aCsrKXNbaF09dChmP2Q/THIoVWUoZVtoXSkpOlVlKGVbaF0pOmVbaF0saCx2b2lkIDAsaSl9ZWxzZSBpZih0eXBlb2YgZT09Im51bWJlciIpe3M9bmV3IEFycmF5KGUpO2ZvcihsZXQgdT0wO3U8ZTt1Kyspc1t1XT10KHUrMSx1LHZvaWQgMCxpKX1lbHNlIGlmKEFlKGUpKWlmKGVbU3ltYm9sLml0ZXJhdG9yXSlzPUFycmF5LmZyb20oZSwodSxmKT0+dCh1LGYsdm9pZCAwLGkpKTtlbHNle2NvbnN0IHU9T2JqZWN0LmtleXMoZSk7cz1uZXcgQXJyYXkodS5sZW5ndGgpO2ZvcihsZXQgZj0wLGQ9dS5sZW5ndGg7ZjxkO2YrKyl7Y29uc3QgaD11W2ZdO3NbZl09dChlW2hdLGgsZixpKX19ZWxzZSBzPVtdO3JldHVybiBzfWZ1bmN0aW9uIFlzKGUsdCxuPXt9LHIscyl7aWYoQmUuY2V8fEJlLnBhcmVudCYmb24oQmUucGFyZW50KSYmQmUucGFyZW50LmNlKXJldHVybiB0IT09ImRlZmF1bHQiJiYobi5uYW1lPXQpLFooKSxRZShZZSxudWxsLFtkZSgic2xvdCIsbixyJiZyKCkpXSw2NCk7bGV0IGk9ZVt0XTtpJiZpLl9jJiYoaS5fZD0hMSksWigpO2NvbnN0IGE9aSYmZGMoaShuKSksdT1uLmtleXx8YSYmYS5rZXksZj1RZShZZSx7a2V5Oih1JiYhRnQodSk/dTpgXyR7dH1gKSsoIWEmJnI/Il9mYiI6IiIpfSxhfHwocj9yKCk6W10pLGEmJmUuXz09PTE/NjQ6LTIpO3JldHVybiFzJiZmLnNjb3BlSWQmJihmLnNsb3RTY29wZUlkcz1bZi5zY29wZUlkKyItcyJdKSxpJiZpLl9jJiYoaS5fZD0hMCksZn1mdW5jdGlvbiBkYyhlKXtyZXR1cm4gZS5zb21lKHQ9PkVuKHQpPyEodC50eXBlPT09SGV8fHQudHlwZT09PVllJiYhZGModC5jaGlsZHJlbikpOiEwKT9lOm51bGx9Y29uc3QgZWk9ZT0+ZT9SYyhlKT9ycyhlKTplaShlLnBhcmVudCk6bnVsbCxIbj1qZShPYmplY3QuY3JlYXRlKG51bGwpLHskOmU9PmUsJGVsOmU9PmUudm5vZGUuZWwsJGRhdGE6ZT0+ZS5kYXRhLCRwcm9wczplPT5lLnByb3BzLCRhdHRyczplPT5lLmF0dHJzLCRzbG90czplPT5lLnNsb3RzLCRyZWZzOmU9PmUucmVmcywkcGFyZW50OmU9PmVpKGUucGFyZW50KSwkcm9vdDplPT5laShlLnJvb3QpLCRob3N0OmU9PmUuY2UsJGVtaXQ6ZT0+ZS5lbWl0LCRvcHRpb25zOmU9PmdjKGUpLCRmb3JjZVVwZGF0ZTplPT5lLmZ8fChlLmY9KCk9PnskaShlLnVwZGF0ZSl9KSwkbmV4dFRpY2s6ZT0+ZS5ufHwoZS5uPVhzLmJpbmQoZS5wcm94eSkpLCR3YXRjaDplPT5SaC5iaW5kKGUpfSksUHM9KGUsdCk9PmUhPT1UZSYmIWUuX19pc1NjcmlwdFNldHVwJiZfZShlLHQpLGZoPXtnZXQoe186ZX0sdCl7aWYodD09PSJfX3Zfc2tpcCIpcmV0dXJuITA7Y29uc3R7Y3R4Om4sc2V0dXBTdGF0ZTpyLGRhdGE6cyxwcm9wczppLGFjY2Vzc0NhY2hlOmEsdHlwZTp1LGFwcENvbnRleHQ6Zn09ZTtsZXQgZDtpZih0WzBdIT09IiQiKXtjb25zdCBDPWFbdF07aWYoQyE9PXZvaWQgMClzd2l0Y2goQyl7Y2FzZSAxOnJldHVybiByW3RdO2Nhc2UgMjpyZXR1cm4gc1t0XTtjYXNlIDQ6cmV0dXJuIG5bdF07Y2FzZSAzOnJldHVybiBpW3RdfWVsc2V7aWYoUHMocix0KSlyZXR1cm4gYVt0XT0xLHJbdF07aWYocyE9PVRlJiZfZShzLHQpKXJldHVybiBhW3RdPTIsc1t0XTtpZigoZD1lLnByb3BzT3B0aW9uc1swXSkmJl9lKGQsdCkpcmV0dXJuIGFbdF09MyxpW3RdO2lmKG4hPT1UZSYmX2Uobix0KSlyZXR1cm4gYVt0XT00LG5bdF07dGkmJihhW3RdPTApfX1jb25zdCBoPUhuW3RdO2xldCBwLHc7aWYoaClyZXR1cm4gdD09PSIkYXR0cnMiJiZxZShlLmF0dHJzLCJnZXQiLCIiKSxoKGUpO2lmKChwPXUuX19jc3NNb2R1bGVzKSYmKHA9cFt0XSkpcmV0dXJuIHA7aWYobiE9PVRlJiZfZShuLHQpKXJldHVybiBhW3RdPTQsblt0XTtpZih3PWYuY29uZmlnLmdsb2JhbFByb3BlcnRpZXMsX2Uodyx0KSlyZXR1cm4gd1t0XX0sc2V0KHtfOmV9LHQsbil7Y29uc3R7ZGF0YTpyLHNldHVwU3RhdGU6cyxjdHg6aX09ZTtyZXR1cm4gUHMocyx0KT8oc1t0XT1uLCEwKTpyIT09VGUmJl9lKHIsdCk/KHJbdF09biwhMCk6X2UoZS5wcm9wcyx0KXx8dFswXT09PSIkIiYmdC5zbGljZSgxKWluIGU/ITE6KGlbdF09biwhMCl9LGhhcyh7Xzp7ZGF0YTplLHNldHVwU3RhdGU6dCxhY2Nlc3NDYWNoZTpuLGN0eDpyLGFwcENvbnRleHQ6cyxwcm9wc09wdGlvbnM6aX19LGEpe2xldCB1O3JldHVybiEhblthXXx8ZSE9PVRlJiZfZShlLGEpfHxQcyh0LGEpfHwodT1pWzBdKSYmX2UodSxhKXx8X2UocixhKXx8X2UoSG4sYSl8fF9lKHMuY29uZmlnLmdsb2JhbFByb3BlcnRpZXMsYSl9LGRlZmluZVByb3BlcnR5KGUsdCxuKXtyZXR1cm4gbi5nZXQhPW51bGw/ZS5fLmFjY2Vzc0NhY2hlW3RdPTA6X2UobiwidmFsdWUiKSYmdGhpcy5zZXQoZSx0LG4udmFsdWUsbnVsbCksUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsbil9fTtmdW5jdGlvbiB4byhlKXtyZXR1cm4gdGUoZSk/ZS5yZWR1Y2UoKHQsbik9Pih0W25dPW51bGwsdCkse30pOmV9bGV0IHRpPSEwO2Z1bmN0aW9uIGhoKGUpe2NvbnN0IHQ9Z2MoZSksbj1lLnByb3h5LHI9ZS5jdHg7dGk9ITEsdC5iZWZvcmVDcmVhdGUmJkNvKHQuYmVmb3JlQ3JlYXRlLGUsImJjIik7Y29uc3R7ZGF0YTpzLGNvbXB1dGVkOmksbWV0aG9kczphLHdhdGNoOnUscHJvdmlkZTpmLGluamVjdDpkLGNyZWF0ZWQ6aCxiZWZvcmVNb3VudDpwLG1vdW50ZWQ6dyxiZWZvcmVVcGRhdGU6Qyx1cGRhdGVkOm0sYWN0aXZhdGVkOl8sZGVhY3RpdmF0ZWQ6eSxiZWZvcmVEZXN0cm95OlMsYmVmb3JlVW5tb3VudDpULGRlc3Ryb3llZDpPLHVubW91bnRlZDpFLHJlbmRlcjpOLHJlbmRlclRyYWNrZWQ6cSxyZW5kZXJUcmlnZ2VyZWQ6SyxlcnJvckNhcHR1cmVkOkcsc2VydmVyUHJlZmV0Y2g6VixleHBvc2U6WCxpbmhlcml0QXR0cnM6bGUsY29tcG9uZW50czpILGRpcmVjdGl2ZXM6bWUsZmlsdGVyczpPZX09dDtpZihkJiZkaChkLHIsbnVsbCksYSlmb3IoY29uc3QgY2UgaW4gYSl7Y29uc3QgWT1hW2NlXTtzZShZKSYmKHJbY2VdPVkuYmluZChuKSl9aWYocyl7Y29uc3QgY2U9cy5jYWxsKG4sbik7QWUoY2UpJiYoZS5kYXRhPUx0KGNlKSl9aWYodGk9ITAsaSlmb3IoY29uc3QgY2UgaW4gaSl7Y29uc3QgWT1pW2NlXSxmZT1zZShZKT9ZLmJpbmQobixuKTpzZShZLmdldCk/WS5nZXQuYmluZChuLG4pOl90LHJlPSFzZShZKSYmc2UoWS5zZXQpP1kuc2V0LmJpbmQobik6X3QsUmU9Z2Uoe2dldDpmZSxzZXQ6cmV9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkocixjZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OigpPT5SZS52YWx1ZSxzZXQ6U2U9PlJlLnZhbHVlPVNlfSl9aWYodSlmb3IoY29uc3QgY2UgaW4gdSlwYyh1W2NlXSxyLG4sY2UpO2lmKGYpe2NvbnN0IGNlPXNlKGYpP2YuY2FsbChuKTpmO1JlZmxlY3Qub3duS2V5cyhjZSkuZm9yRWFjaChZPT57cmkoWSxjZVtZXSl9KX1oJiZDbyhoLGUsImMiKTtmdW5jdGlvbiBoZShjZSxZKXt0ZShZKT9ZLmZvckVhY2goZmU9PmNlKGZlLmJpbmQobikpKTpZJiZjZShZLmJpbmQobikpfWlmKGhlKHVjLHApLGhlKGlyLHcpLGhlKGloLEMpLGhlKGZjLG0pLGhlKG5oLF8pLGhlKHJoLHkpLGhlKGxoLEcpLGhlKGNoLHEpLGhlKGFoLEspLGhlKGVzLFQpLGhlKGtpLEUpLGhlKG9oLFYpLHRlKFgpKWlmKFgubGVuZ3RoKXtjb25zdCBjZT1lLmV4cG9zZWR8fChlLmV4cG9zZWQ9e30pO1guZm9yRWFjaChZPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGNlLFkse2dldDooKT0+bltZXSxzZXQ6ZmU9Pm5bWV09ZmV9KX0pfWVsc2UgZS5leHBvc2VkfHwoZS5leHBvc2VkPXt9KTtOJiZlLnJlbmRlcj09PV90JiYoZS5yZW5kZXI9TiksbGUhPW51bGwmJihlLmluaGVyaXRBdHRycz1sZSksSCYmKGUuY29tcG9uZW50cz1IKSxtZSYmKGUuZGlyZWN0aXZlcz1tZSksViYmY2MoZSl9ZnVuY3Rpb24gZGgoZSx0LG49X3Qpe3RlKGUpJiYoZT1uaShlKSk7Zm9yKGNvbnN0IHIgaW4gZSl7Y29uc3Qgcz1lW3JdO2xldCBpO0FlKHMpPyJkZWZhdWx0ImluIHM/aT1DbihzLmZyb218fHIscy5kZWZhdWx0LCEwKTppPUNuKHMuZnJvbXx8cik6aT1DbihzKSxOZShpKT9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6KCk9PmkudmFsdWUsc2V0OmE9PmkudmFsdWU9YX0pOnRbcl09aX19ZnVuY3Rpb24gQ28oZSx0LG4pe2d0KHRlKGUpP2UubWFwKHI9PnIuYmluZCh0LnByb3h5KSk6ZS5iaW5kKHQucHJveHkpLHQsbil9ZnVuY3Rpb24gcGMoZSx0LG4scil7bGV0IHM9ci5pbmNsdWRlcygiLiIpP0FjKG4scik6KCk9Pm5bcl07aWYoJGUoZSkpe2NvbnN0IGk9dFtlXTtzZShpKSYmaHQocyxpKX1lbHNlIGlmKHNlKGUpKWh0KHMsZS5iaW5kKG4pKTtlbHNlIGlmKEFlKGUpKWlmKHRlKGUpKWUuZm9yRWFjaChpPT5wYyhpLHQsbixyKSk7ZWxzZXtjb25zdCBpPXNlKGUuaGFuZGxlcik/ZS5oYW5kbGVyLmJpbmQobik6dFtlLmhhbmRsZXJdO3NlKGkpJiZodChzLGksZSl9fWZ1bmN0aW9uIGdjKGUpe2NvbnN0IHQ9ZS50eXBlLHttaXhpbnM6bixleHRlbmRzOnJ9PXQse21peGluczpzLG9wdGlvbnNDYWNoZTppLGNvbmZpZzp7b3B0aW9uTWVyZ2VTdHJhdGVnaWVzOmF9fT1lLmFwcENvbnRleHQsdT1pLmdldCh0KTtsZXQgZjtyZXR1cm4gdT9mPXU6IXMubGVuZ3RoJiYhbiYmIXI/Zj10OihmPXt9LHMubGVuZ3RoJiZzLmZvckVhY2goZD0+TXIoZixkLGEsITApKSxNcihmLHQsYSkpLEFlKHQpJiZpLnNldCh0LGYpLGZ9ZnVuY3Rpb24gTXIoZSx0LG4scj0hMSl7Y29uc3R7bWl4aW5zOnMsZXh0ZW5kczppfT10O2kmJk1yKGUsaSxuLCEwKSxzJiZzLmZvckVhY2goYT0+TXIoZSxhLG4sITApKTtmb3IoY29uc3QgYSBpbiB0KWlmKCEociYmYT09PSJleHBvc2UiKSl7Y29uc3QgdT1waFthXXx8biYmblthXTtlW2FdPXU/dShlW2FdLHRbYV0pOnRbYV19cmV0dXJuIGV9Y29uc3QgcGg9e2RhdGE6U28scHJvcHM6VG8sZW1pdHM6VG8sbWV0aG9kczpGbixjb21wdXRlZDpGbixiZWZvcmVDcmVhdGU6R2UsY3JlYXRlZDpHZSxiZWZvcmVNb3VudDpHZSxtb3VudGVkOkdlLGJlZm9yZVVwZGF0ZTpHZSx1cGRhdGVkOkdlLGJlZm9yZURlc3Ryb3k6R2UsYmVmb3JlVW5tb3VudDpHZSxkZXN0cm95ZWQ6R2UsdW5tb3VudGVkOkdlLGFjdGl2YXRlZDpHZSxkZWFjdGl2YXRlZDpHZSxlcnJvckNhcHR1cmVkOkdlLHNlcnZlclByZWZldGNoOkdlLGNvbXBvbmVudHM6Rm4sZGlyZWN0aXZlczpGbix3YXRjaDptaCxwcm92aWRlOlNvLGluamVjdDpnaH07ZnVuY3Rpb24gU28oZSx0KXtyZXR1cm4gdD9lP2Z1bmN0aW9uKCl7cmV0dXJuIGplKHNlKGUpP2UuY2FsbCh0aGlzLHRoaXMpOmUsc2UodCk/dC5jYWxsKHRoaXMsdGhpcyk6dCl9OnQ6ZX1mdW5jdGlvbiBnaChlLHQpe3JldHVybiBGbihuaShlKSxuaSh0KSl9ZnVuY3Rpb24gbmkoZSl7aWYodGUoZSkpe2NvbnN0IHQ9e307Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdFtlW25dXT1lW25dO3JldHVybiB0fXJldHVybiBlfWZ1bmN0aW9uIEdlKGUsdCl7cmV0dXJuIGU/Wy4uLm5ldyBTZXQoW10uY29uY2F0KGUsdCkpXTp0fWZ1bmN0aW9uIEZuKGUsdCl7cmV0dXJuIGU/amUoT2JqZWN0LmNyZWF0ZShudWxsKSxlLHQpOnR9ZnVuY3Rpb24gVG8oZSx0KXtyZXR1cm4gZT90ZShlKSYmdGUodCk/Wy4uLm5ldyBTZXQoWy4uLmUsLi4udF0pXTpqZShPYmplY3QuY3JlYXRlKG51bGwpLHhvKGUpLHhvKHQ/P3t9KSk6dH1mdW5jdGlvbiBtaChlLHQpe2lmKCFlKXJldHVybiB0O2lmKCF0KXJldHVybiBlO2NvbnN0IG49amUoT2JqZWN0LmNyZWF0ZShudWxsKSxlKTtmb3IoY29uc3QgciBpbiB0KW5bcl09R2UoZVtyXSx0W3JdKTtyZXR1cm4gbn1mdW5jdGlvbiBtYygpe3JldHVybnthcHA6bnVsbCxjb25maWc6e2lzTmF0aXZlVGFnOnJmLHBlcmZvcm1hbmNlOiExLGdsb2JhbFByb3BlcnRpZXM6e30sb3B0aW9uTWVyZ2VTdHJhdGVnaWVzOnt9LGVycm9ySGFuZGxlcjp2b2lkIDAsd2FybkhhbmRsZXI6dm9pZCAwLGNvbXBpbGVyT3B0aW9uczp7fX0sbWl4aW5zOltdLGNvbXBvbmVudHM6e30sZGlyZWN0aXZlczp7fSxwcm92aWRlczpPYmplY3QuY3JlYXRlKG51bGwpLG9wdGlvbnNDYWNoZTpuZXcgV2Vha01hcCxwcm9wc0NhY2hlOm5ldyBXZWFrTWFwLGVtaXRzQ2FjaGU6bmV3IFdlYWtNYXB9fWxldCBiaD0wO2Z1bmN0aW9uIHZoKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHIscz1udWxsKXtzZShyKXx8KHI9amUoe30scikpLHMhPW51bGwmJiFBZShzKSYmKHM9bnVsbCk7Y29uc3QgaT1tYygpLGE9bmV3IFdlYWtTZXQsdT1bXTtsZXQgZj0hMTtjb25zdCBkPWkuYXBwPXtfdWlkOmJoKyssX2NvbXBvbmVudDpyLF9wcm9wczpzLF9jb250YWluZXI6bnVsbCxfY29udGV4dDppLF9pbnN0YW5jZTpudWxsLHZlcnNpb246WWgsZ2V0IGNvbmZpZygpe3JldHVybiBpLmNvbmZpZ30sc2V0IGNvbmZpZyhoKXt9LHVzZShoLC4uLnApe3JldHVybiBhLmhhcyhoKXx8KGgmJnNlKGguaW5zdGFsbCk/KGEuYWRkKGgpLGguaW5zdGFsbChkLC4uLnApKTpzZShoKSYmKGEuYWRkKGgpLGgoZCwuLi5wKSkpLGR9LG1peGluKGgpe3JldHVybiBpLm1peGlucy5pbmNsdWRlcyhoKXx8aS5taXhpbnMucHVzaChoKSxkfSxjb21wb25lbnQoaCxwKXtyZXR1cm4gcD8oaS5jb21wb25lbnRzW2hdPXAsZCk6aS5jb21wb25lbnRzW2hdfSxkaXJlY3RpdmUoaCxwKXtyZXR1cm4gcD8oaS5kaXJlY3RpdmVzW2hdPXAsZCk6aS5kaXJlY3RpdmVzW2hdfSxtb3VudChoLHAsdyl7aWYoIWYpe2NvbnN0IEM9ZC5fY2VWTm9kZXx8ZGUocixzKTtyZXR1cm4gQy5hcHBDb250ZXh0PWksdz09PSEwP3c9InN2ZyI6dz09PSExJiYodz12b2lkIDApLGUoQyxoLHcpLGY9ITAsZC5fY29udGFpbmVyPWgsaC5fX3Z1ZV9hcHBfXz1kLHJzKEMuY29tcG9uZW50KX19LG9uVW5tb3VudChoKXt1LnB1c2goaCl9LHVubW91bnQoKXtmJiYoZ3QodSxkLl9pbnN0YW5jZSwxNiksZShudWxsLGQuX2NvbnRhaW5lciksZGVsZXRlIGQuX2NvbnRhaW5lci5fX3Z1ZV9hcHBfXyl9LHByb3ZpZGUoaCxwKXtyZXR1cm4gaS5wcm92aWRlc1toXT1wLGR9LHJ1bldpdGhDb250ZXh0KGgpe2NvbnN0IHA9eG47eG49ZDt0cnl7cmV0dXJuIGgoKX1maW5hbGx5e3huPXB9fX07cmV0dXJuIGR9fWxldCB4bj1udWxsO2Z1bmN0aW9uIHJpKGUsdCl7aWYoVmUpe2xldCBuPVZlLnByb3ZpZGVzO2NvbnN0IHI9VmUucGFyZW50JiZWZS5wYXJlbnQucHJvdmlkZXM7cj09PW4mJihuPVZlLnByb3ZpZGVzPU9iamVjdC5jcmVhdGUocikpLG5bZV09dH19ZnVuY3Rpb24gQ24oZSx0LG49ITEpe2NvbnN0IHI9VmV8fEJlO2lmKHJ8fHhuKXtsZXQgcz14bj94bi5fY29udGV4dC5wcm92aWRlczpyP3IucGFyZW50PT1udWxsfHxyLmNlP3Iudm5vZGUuYXBwQ29udGV4dCYmci52bm9kZS5hcHBDb250ZXh0LnByb3ZpZGVzOnIucGFyZW50LnByb3ZpZGVzOnZvaWQgMDtpZihzJiZlIGluIHMpcmV0dXJuIHNbZV07aWYoYXJndW1lbnRzLmxlbmd0aD4xKXJldHVybiBuJiZzZSh0KT90LmNhbGwociYmci5wcm94eSk6dH19Y29uc3QgYmM9e30sdmM9KCk9Pk9iamVjdC5jcmVhdGUoYmMpLHljPWU9Pk9iamVjdC5nZXRQcm90b3R5cGVPZihlKT09PWJjO2Z1bmN0aW9uIHloKGUsdCxuLHI9ITEpe2NvbnN0IHM9e30saT12YygpO2UucHJvcHNEZWZhdWx0cz1PYmplY3QuY3JlYXRlKG51bGwpLHdjKGUsdCxzLGkpO2Zvcihjb25zdCBhIGluIGUucHJvcHNPcHRpb25zWzBdKWEgaW4gc3x8KHNbYV09dm9pZCAwKTtuP2UucHJvcHM9cj9zOmpmKHMpOmUudHlwZS5wcm9wcz9lLnByb3BzPXM6ZS5wcm9wcz1pLGUuYXR0cnM9aX1mdW5jdGlvbiB3aChlLHQsbixyKXtjb25zdHtwcm9wczpzLGF0dHJzOmksdm5vZGU6e3BhdGNoRmxhZzphfX09ZSx1PXdlKHMpLFtmXT1lLnByb3BzT3B0aW9ucztsZXQgZD0hMTtpZigocnx8YT4wKSYmIShhJjE2KSl7aWYoYSY4KXtjb25zdCBoPWUudm5vZGUuZHluYW1pY1Byb3BzO2ZvcihsZXQgcD0wO3A8aC5sZW5ndGg7cCsrKXtsZXQgdz1oW3BdO2lmKHRzKGUuZW1pdHNPcHRpb25zLHcpKWNvbnRpbnVlO2NvbnN0IEM9dFt3XTtpZihmKWlmKF9lKGksdykpQyE9PWlbd10mJihpW3ddPUMsZD0hMCk7ZWxzZXtjb25zdCBtPVd0KHcpO3NbbV09c2koZix1LG0sQyxlLCExKX1lbHNlIEMhPT1pW3ddJiYoaVt3XT1DLGQ9ITApfX19ZWxzZXt3YyhlLHQscyxpKSYmKGQ9ITApO2xldCBoO2Zvcihjb25zdCBwIGluIHUpKCF0fHwhX2UodCxwKSYmKChoPWxuKHApKT09PXB8fCFfZSh0LGgpKSkmJihmP24mJihuW3BdIT09dm9pZCAwfHxuW2hdIT09dm9pZCAwKSYmKHNbcF09c2koZix1LHAsdm9pZCAwLGUsITApKTpkZWxldGUgc1twXSk7aWYoaSE9PXUpZm9yKGNvbnN0IHAgaW4gaSkoIXR8fCFfZSh0LHApKSYmKGRlbGV0ZSBpW3BdLGQ9ITApfWQmJiR0KGUuYXR0cnMsInNldCIsIiIpfWZ1bmN0aW9uIHdjKGUsdCxuLHIpe2NvbnN0W3MsaV09ZS5wcm9wc09wdGlvbnM7bGV0IGE9ITEsdTtpZih0KWZvcihsZXQgZiBpbiB0KXtpZihqbihmKSljb250aW51ZTtjb25zdCBkPXRbZl07bGV0IGg7cyYmX2UocyxoPVd0KGYpKT8haXx8IWkuaW5jbHVkZXMoaCk/bltoXT1kOih1fHwodT17fSkpW2hdPWQ6dHMoZS5lbWl0c09wdGlvbnMsZil8fCghKGYgaW4gcil8fGQhPT1yW2ZdKSYmKHJbZl09ZCxhPSEwKX1pZihpKXtjb25zdCBmPXdlKG4pLGQ9dXx8VGU7Zm9yKGxldCBoPTA7aDxpLmxlbmd0aDtoKyspe2NvbnN0IHA9aVtoXTtuW3BdPXNpKHMsZixwLGRbcF0sZSwhX2UoZCxwKSl9fXJldHVybiBhfWZ1bmN0aW9uIHNpKGUsdCxuLHIscyxpKXtjb25zdCBhPWVbbl07aWYoYSE9bnVsbCl7Y29uc3QgdT1fZShhLCJkZWZhdWx0Iik7aWYodSYmcj09PXZvaWQgMCl7Y29uc3QgZj1hLmRlZmF1bHQ7aWYoYS50eXBlIT09RnVuY3Rpb24mJiFhLnNraXBGYWN0b3J5JiZzZShmKSl7Y29uc3R7cHJvcHNEZWZhdWx0czpkfT1zO2lmKG4gaW4gZClyPWRbbl07ZWxzZXtjb25zdCBoPW9yKHMpO3I9ZFtuXT1mLmNhbGwobnVsbCx0KSxoKCl9fWVsc2Ugcj1mO3MuY2UmJnMuY2UuX3NldFByb3AobixyKX1hWzBdJiYoaSYmIXU/cj0hMTphWzFdJiYocj09PSIifHxyPT09bG4obikpJiYocj0hMCkpfXJldHVybiByfWNvbnN0IF9oPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIF9jKGUsdCxuPSExKXtjb25zdCByPW4/X2g6dC5wcm9wc0NhY2hlLHM9ci5nZXQoZSk7aWYocylyZXR1cm4gcztjb25zdCBpPWUucHJvcHMsYT17fSx1PVtdO2xldCBmPSExO2lmKCFzZShlKSl7Y29uc3QgaD1wPT57Zj0hMDtjb25zdFt3LENdPV9jKHAsdCwhMCk7amUoYSx3KSxDJiZ1LnB1c2goLi4uQyl9OyFuJiZ0Lm1peGlucy5sZW5ndGgmJnQubWl4aW5zLmZvckVhY2goaCksZS5leHRlbmRzJiZoKGUuZXh0ZW5kcyksZS5taXhpbnMmJmUubWl4aW5zLmZvckVhY2goaCl9aWYoIWkmJiFmKXJldHVybiBBZShlKSYmci5zZXQoZSx2biksdm47aWYodGUoaSkpZm9yKGxldCBoPTA7aDxpLmxlbmd0aDtoKyspe2NvbnN0IHA9V3QoaVtoXSk7RW8ocCkmJihhW3BdPVRlKX1lbHNlIGlmKGkpZm9yKGNvbnN0IGggaW4gaSl7Y29uc3QgcD1XdChoKTtpZihFbyhwKSl7Y29uc3Qgdz1pW2hdLEM9YVtwXT10ZSh3KXx8c2Uodyk/e3R5cGU6d306amUoe30sdyksbT1DLnR5cGU7bGV0IF89ITEseT0hMDtpZih0ZShtKSlmb3IobGV0IFM9MDtTPG0ubGVuZ3RoOysrUyl7Y29uc3QgVD1tW1NdLE89c2UoVCkmJlQubmFtZTtpZihPPT09IkJvb2xlYW4iKXtfPSEwO2JyZWFrfWVsc2UgTz09PSJTdHJpbmciJiYoeT0hMSl9ZWxzZSBfPXNlKG0pJiZtLm5hbWU9PT0iQm9vbGVhbiI7Q1swXT1fLENbMV09eSwoX3x8X2UoQywiZGVmYXVsdCIpKSYmdS5wdXNoKHApfX1jb25zdCBkPVthLHVdO3JldHVybiBBZShlKSYmci5zZXQoZSxkKSxkfWZ1bmN0aW9uIEVvKGUpe3JldHVybiBlWzBdIT09IiQiJiYham4oZSl9Y29uc3QgUmk9ZT0+ZVswXT09PSJfInx8ZT09PSIkc3RhYmxlIixQaT1lPT50ZShlKT9lLm1hcCh5dCk6W3l0KGUpXSx4aD0oZSx0LG4pPT57aWYodC5fbilyZXR1cm4gdDtjb25zdCByPXh0KCguLi5zKT0+UGkodCguLi5zKSksbik7cmV0dXJuIHIuX2M9ITEscn0seGM9KGUsdCxuKT0+e2NvbnN0IHI9ZS5fY3R4O2Zvcihjb25zdCBzIGluIGUpe2lmKFJpKHMpKWNvbnRpbnVlO2NvbnN0IGk9ZVtzXTtpZihzZShpKSl0W3NdPXhoKHMsaSxyKTtlbHNlIGlmKGkhPW51bGwpe2NvbnN0IGE9UGkoaSk7dFtzXT0oKT0+YX19fSxDYz0oZSx0KT0+e2NvbnN0IG49UGkodCk7ZS5zbG90cy5kZWZhdWx0PSgpPT5ufSxTYz0oZSx0LG4pPT57Zm9yKGNvbnN0IHIgaW4gdCkobnx8IVJpKHIpKSYmKGVbcl09dFtyXSl9LENoPShlLHQsbik9Pntjb25zdCByPWUuc2xvdHM9dmMoKTtpZihlLnZub2RlLnNoYXBlRmxhZyYzMil7Y29uc3Qgcz10Ll87cz8oU2Mocix0LG4pLG4mJkFhKHIsIl8iLHMsITApKTp4Yyh0LHIpfWVsc2UgdCYmQ2MoZSx0KX0sU2g9KGUsdCxuKT0+e2NvbnN0e3Zub2RlOnIsc2xvdHM6c309ZTtsZXQgaT0hMCxhPVRlO2lmKHIuc2hhcGVGbGFnJjMyKXtjb25zdCB1PXQuXzt1P24mJnU9PT0xP2k9ITE6U2Mocyx0LG4pOihpPSF0LiRzdGFibGUseGModCxzKSksYT10fWVsc2UgdCYmKENjKGUsdCksYT17ZGVmYXVsdDoxfSk7aWYoaSlmb3IoY29uc3QgdSBpbiBzKSFSaSh1KSYmYVt1XT09bnVsbCYmZGVsZXRlIHNbdV19LEllPU1oO2Z1bmN0aW9uIFRoKGUpe3JldHVybiBFaChlKX1mdW5jdGlvbiBFaChlLHQpe2NvbnN0IG49WHIoKTtuLl9fVlVFX189ITA7Y29uc3R7aW5zZXJ0OnIscmVtb3ZlOnMscGF0Y2hQcm9wOmksY3JlYXRlRWxlbWVudDphLGNyZWF0ZVRleHQ6dSxjcmVhdGVDb21tZW50OmYsc2V0VGV4dDpkLHNldEVsZW1lbnRUZXh0OmgscGFyZW50Tm9kZTpwLG5leHRTaWJsaW5nOncsc2V0U2NvcGVJZDpDPV90LGluc2VydFN0YXRpY0NvbnRlbnQ6bX09ZSxfPSh2LHgsJCxMPW51bGwsUj1udWxsLFA9bnVsbCx6PXZvaWQgMCxEPW51bGwsTT0hIXguZHluYW1pY0NoaWxkcmVuKT0+e2lmKHY9PT14KXJldHVybjt2JiYhcXQodix4KSYmKEw9dW4odiksU2UodixSLFAsITApLHY9bnVsbCkseC5wYXRjaEZsYWc9PT0tMiYmKE09ITEseC5keW5hbWljQ2hpbGRyZW49bnVsbCk7Y29uc3R7dHlwZTpJLHJlZjplZSxzaGFwZUZsYWc6Qn09eDtzd2l0Y2goSSl7Y2FzZSBuczp5KHYseCwkLEwpO2JyZWFrO2Nhc2UgSGU6Uyh2LHgsJCxMKTticmVhaztjYXNlIEVyOnY9PW51bGwmJlQoeCwkLEwseik7YnJlYWs7Y2FzZSBZZTpIKHYseCwkLEwsUixQLHosRCxNKTticmVhaztkZWZhdWx0OkImMT9OKHYseCwkLEwsUixQLHosRCxNKTpCJjY/bWUodix4LCQsTCxSLFAseixELE0pOihCJjY0fHxCJjEyOCkmJkkucHJvY2Vzcyh2LHgsJCxMLFIsUCx6LEQsTSxNdCl9ZWUhPW51bGwmJlImJmpyKGVlLHYmJnYucmVmLFAseHx8diwheCl9LHk9KHYseCwkLEwpPT57aWYodj09bnVsbClyKHguZWw9dSh4LmNoaWxkcmVuKSwkLEwpO2Vsc2V7Y29uc3QgUj14LmVsPXYuZWw7eC5jaGlsZHJlbiE9PXYuY2hpbGRyZW4mJmQoUix4LmNoaWxkcmVuKX19LFM9KHYseCwkLEwpPT57dj09bnVsbD9yKHguZWw9Zih4LmNoaWxkcmVufHwiIiksJCxMKTp4LmVsPXYuZWx9LFQ9KHYseCwkLEwpPT57W3YuZWwsdi5hbmNob3JdPW0odi5jaGlsZHJlbix4LCQsTCx2LmVsLHYuYW5jaG9yKX0sTz0oe2VsOnYsYW5jaG9yOnh9LCQsTCk9PntsZXQgUjtmb3IoO3YmJnYhPT14OylSPXcodikscih2LCQsTCksdj1SO3IoeCwkLEwpfSxFPSh7ZWw6dixhbmNob3I6eH0pPT57bGV0ICQ7Zm9yKDt2JiZ2IT09eDspJD13KHYpLHModiksdj0kO3MoeCl9LE49KHYseCwkLEwsUixQLHosRCxNKT0+e3gudHlwZT09PSJzdmciP3o9InN2ZyI6eC50eXBlPT09Im1hdGgiJiYoej0ibWF0aG1sIiksdj09bnVsbD9xKHgsJCxMLFIsUCx6LEQsTSk6Vih2LHgsUixQLHosRCxNKX0scT0odix4LCQsTCxSLFAseixEKT0+e2xldCBNLEk7Y29uc3R7cHJvcHM6ZWUsc2hhcGVGbGFnOkIsdHJhbnNpdGlvbjpRLGRpcnM6V309djtpZihNPXYuZWw9YSh2LnR5cGUsUCxlZSYmZWUuaXMsZWUpLEImOD9oKE0sdi5jaGlsZHJlbik6QiYxNiYmRyh2LmNoaWxkcmVuLE0sbnVsbCxMLFIsTHModixQKSx6LEQpLFcmJlF0KHYsbnVsbCxMLCJjcmVhdGVkIiksSyhNLHYsdi5zY29wZUlkLHosTCksZWUpe2Zvcihjb25zdCBDZSBpbiBlZSlDZSE9PSJ2YWx1ZSImJiFqbihDZSkmJmkoTSxDZSxudWxsLGVlW0NlXSxQLEwpOyJ2YWx1ZSJpbiBlZSYmaShNLCJ2YWx1ZSIsbnVsbCxlZS52YWx1ZSxQKSwoST1lZS5vblZub2RlQmVmb3JlTW91bnQpJiZ1dChJLEwsdil9VyYmUXQodixudWxsLEwsImJlZm9yZU1vdW50Iik7Y29uc3QgYmU9QWgoUixRKTtiZSYmUS5iZWZvcmVFbnRlcihNKSxyKE0seCwkKSwoKEk9ZWUmJmVlLm9uVm5vZGVNb3VudGVkKXx8YmV8fFcpJiZJZSgoKT0+e0kmJnV0KEksTCx2KSxiZSYmUS5lbnRlcihNKSxXJiZRdCh2LG51bGwsTCwibW91bnRlZCIpfSxSKX0sSz0odix4LCQsTCxSKT0+e2lmKCQmJkModiwkKSxMKWZvcihsZXQgUD0wO1A8TC5sZW5ndGg7UCsrKUModixMW1BdKTtpZihSKXtsZXQgUD1SLnN1YlRyZWU7aWYoeD09PVB8fFVyKFAudHlwZSkmJihQLnNzQ29udGVudD09PXh8fFAuc3NGYWxsYmFjaz09PXgpKXtjb25zdCB6PVIudm5vZGU7Syh2LHosei5zY29wZUlkLHouc2xvdFNjb3BlSWRzLFIucGFyZW50KX19fSxHPSh2LHgsJCxMLFIsUCx6LEQsTT0wKT0+e2ZvcihsZXQgST1NO0k8di5sZW5ndGg7SSsrKXtjb25zdCBlZT12W0ldPUQ/QnQodltJXSk6eXQodltJXSk7XyhudWxsLGVlLHgsJCxMLFIsUCx6LEQpfX0sVj0odix4LCQsTCxSLFAseik9Pntjb25zdCBEPXguZWw9di5lbDtsZXR7cGF0Y2hGbGFnOk0sZHluYW1pY0NoaWxkcmVuOkksZGlyczplZX09eDtNfD12LnBhdGNoRmxhZyYxNjtjb25zdCBCPXYucHJvcHN8fFRlLFE9eC5wcm9wc3x8VGU7bGV0IFc7aWYoJCYmWnQoJCwhMSksKFc9US5vblZub2RlQmVmb3JlVXBkYXRlKSYmdXQoVywkLHgsdiksZWUmJlF0KHgsdiwkLCJiZWZvcmVVcGRhdGUiKSwkJiZadCgkLCEwKSwoQi5pbm5lckhUTUwmJlEuaW5uZXJIVE1MPT1udWxsfHxCLnRleHRDb250ZW50JiZRLnRleHRDb250ZW50PT1udWxsKSYmaChELCIiKSxJP1godi5keW5hbWljQ2hpbGRyZW4sSSxELCQsTCxMcyh4LFIpLFApOnp8fFkodix4LEQsbnVsbCwkLEwsTHMoeCxSKSxQLCExKSxNPjApe2lmKE0mMTYpbGUoRCxCLFEsJCxSKTtlbHNlIGlmKE0mMiYmQi5jbGFzcyE9PVEuY2xhc3MmJmkoRCwiY2xhc3MiLG51bGwsUS5jbGFzcyxSKSxNJjQmJmkoRCwic3R5bGUiLEIuc3R5bGUsUS5zdHlsZSxSKSxNJjgpe2NvbnN0IGJlPXguZHluYW1pY1Byb3BzO2ZvcihsZXQgQ2U9MDtDZTxiZS5sZW5ndGg7Q2UrKyl7Y29uc3QgeWU9YmVbQ2VdLEplPUJbeWVdLHplPVFbeWVdOyh6ZSE9PUplfHx5ZT09PSJ2YWx1ZSIpJiZpKEQseWUsSmUsemUsUiwkKX19TSYxJiZ2LmNoaWxkcmVuIT09eC5jaGlsZHJlbiYmaChELHguY2hpbGRyZW4pfWVsc2UheiYmST09bnVsbCYmbGUoRCxCLFEsJCxSKTsoKFc9US5vblZub2RlVXBkYXRlZCl8fGVlKSYmSWUoKCk9PntXJiZ1dChXLCQseCx2KSxlZSYmUXQoeCx2LCQsInVwZGF0ZWQiKX0sTCl9LFg9KHYseCwkLEwsUixQLHopPT57Zm9yKGxldCBEPTA7RDx4Lmxlbmd0aDtEKyspe2NvbnN0IE09dltEXSxJPXhbRF0sZWU9TS5lbCYmKE0udHlwZT09PVllfHwhcXQoTSxJKXx8TS5zaGFwZUZsYWcmMTk4KT9wKE0uZWwpOiQ7XyhNLEksZWUsbnVsbCxMLFIsUCx6LCEwKX19LGxlPSh2LHgsJCxMLFIpPT57aWYoeCE9PSQpe2lmKHghPT1UZSlmb3IoY29uc3QgUCBpbiB4KSFqbihQKSYmIShQIGluICQpJiZpKHYsUCx4W1BdLG51bGwsUixMKTtmb3IoY29uc3QgUCBpbiAkKXtpZihqbihQKSljb250aW51ZTtjb25zdCB6PSRbUF0sRD14W1BdO3ohPT1EJiZQIT09InZhbHVlIiYmaSh2LFAsRCx6LFIsTCl9InZhbHVlImluICQmJmkodiwidmFsdWUiLHgudmFsdWUsJC52YWx1ZSxSKX19LEg9KHYseCwkLEwsUixQLHosRCxNKT0+e2NvbnN0IEk9eC5lbD12P3YuZWw6dSgiIiksZWU9eC5hbmNob3I9dj92LmFuY2hvcjp1KCIiKTtsZXR7cGF0Y2hGbGFnOkIsZHluYW1pY0NoaWxkcmVuOlEsc2xvdFNjb3BlSWRzOld9PXg7VyYmKEQ9RD9ELmNvbmNhdChXKTpXKSx2PT1udWxsPyhyKEksJCxMKSxyKGVlLCQsTCksRyh4LmNoaWxkcmVufHxbXSwkLGVlLFIsUCx6LEQsTSkpOkI+MCYmQiY2NCYmUSYmdi5keW5hbWljQ2hpbGRyZW4/KFgodi5keW5hbWljQ2hpbGRyZW4sUSwkLFIsUCx6LEQpLCh4LmtleSE9bnVsbHx8UiYmeD09PVIuc3ViVHJlZSkmJkxpKHYseCwhMCkpOlkodix4LCQsZWUsUixQLHosRCxNKX0sbWU9KHYseCwkLEwsUixQLHosRCxNKT0+e3guc2xvdFNjb3BlSWRzPUQsdj09bnVsbD94LnNoYXBlRmxhZyY1MTI/Ui5jdHguYWN0aXZhdGUoeCwkLEwseixNKTpPZSh4LCQsTCxSLFAseixNKTpuZSh2LHgsTSl9LE9lPSh2LHgsJCxMLFIsUCx6KT0+e2NvbnN0IEQ9di5jb21wb25lbnQ9V2godixMLFIpO2lmKFpyKHYpJiYoRC5jdHgucmVuZGVyZXI9TXQpLEtoKEQsITEseiksRC5hc3luY0RlcCl7aWYoUiYmUi5yZWdpc3RlckRlcChELGhlLHopLCF2LmVsKXtjb25zdCBNPUQuc3ViVHJlZT1kZShIZSk7UyhudWxsLE0seCwkKX19ZWxzZSBoZShELHYseCwkLFIsUCx6KX0sbmU9KHYseCwkKT0+e2NvbnN0IEw9eC5jb21wb25lbnQ9di5jb21wb25lbnQ7aWYoRmgodix4LCQpKWlmKEwuYXN5bmNEZXAmJiFMLmFzeW5jUmVzb2x2ZWQpe2NlKEwseCwkKTtyZXR1cm59ZWxzZSBMLm5leHQ9eCxMLnVwZGF0ZSgpO2Vsc2UgeC5lbD12LmVsLEwudm5vZGU9eH0saGU9KHYseCwkLEwsUixQLHopPT57Y29uc3QgRD0oKT0+e2lmKHYuaXNNb3VudGVkKXtsZXR7bmV4dDpCLGJ1OlEsdTpXLHBhcmVudDpiZSx2bm9kZTpDZX09djt7Y29uc3QgYXQ9VGModik7aWYoYXQpe0ImJihCLmVsPUNlLmVsLGNlKHYsQix6KSksYXQuYXN5bmNEZXAudGhlbigoKT0+e3YuaXNVbm1vdW50ZWR8fEQoKX0pO3JldHVybn19bGV0IHllPUIsSmU7WnQodiwhMSksQj8oQi5lbD1DZS5lbCxjZSh2LEIseikpOkI9Q2UsUSYmd24oUSksKEplPUIucHJvcHMmJkIucHJvcHMub25Wbm9kZUJlZm9yZVVwZGF0ZSkmJnV0KEplLGJlLEIsQ2UpLFp0KHYsITApO2NvbnN0IHplPUFvKHYpLG90PXYuc3ViVHJlZTt2LnN1YlRyZWU9emUsXyhvdCx6ZSxwKG90LmVsKSx1bihvdCksdixSLFApLEIuZWw9emUuZWwseWU9PT1udWxsJiZqaCh2LHplLmVsKSxXJiZJZShXLFIpLChKZT1CLnByb3BzJiZCLnByb3BzLm9uVm5vZGVVcGRhdGVkKSYmSWUoKCk9PnV0KEplLGJlLEIsQ2UpLFIpfWVsc2V7bGV0IEI7Y29uc3R7ZWw6USxwcm9wczpXfT14LHtibTpiZSxtOkNlLHBhcmVudDp5ZSxyb290OkplLHR5cGU6emV9PXYsb3Q9b24oeCk7WnQodiwhMSksYmUmJnduKGJlKSwhb3QmJihCPVcmJlcub25Wbm9kZUJlZm9yZU1vdW50KSYmdXQoQix5ZSx4KSxadCh2LCEwKTt7SmUuY2UmJkplLmNlLl9pbmplY3RDaGlsZFN0eWxlKHplKTtjb25zdCBhdD12LnN1YlRyZWU9QW8odik7XyhudWxsLGF0LCQsTCx2LFIsUCkseC5lbD1hdC5lbH1pZihDZSYmSWUoQ2UsUiksIW90JiYoQj1XJiZXLm9uVm5vZGVNb3VudGVkKSl7Y29uc3QgYXQ9eDtJZSgoKT0+dXQoQix5ZSxhdCksUil9KHguc2hhcGVGbGFnJjI1Nnx8eWUmJm9uKHllLnZub2RlKSYmeWUudm5vZGUuc2hhcGVGbGFnJjI1NikmJnYuYSYmSWUodi5hLFIpLHYuaXNNb3VudGVkPSEwLHg9JD1MPW51bGx9fTt2LnNjb3BlLm9uKCk7Y29uc3QgTT12LmVmZmVjdD1uZXcgUGEoRCk7di5zY29wZS5vZmYoKTtjb25zdCBJPXYudXBkYXRlPU0ucnVuLmJpbmQoTSksZWU9di5qb2I9TS5ydW5JZkRpcnR5LmJpbmQoTSk7ZWUuaT12LGVlLmlkPXYudWlkLE0uc2NoZWR1bGVyPSgpPT4kaShlZSksWnQodiwhMCksSSgpfSxjZT0odix4LCQpPT57eC5jb21wb25lbnQ9djtjb25zdCBMPXYudm5vZGUucHJvcHM7di52bm9kZT14LHYubmV4dD1udWxsLHdoKHYseC5wcm9wcyxMLCQpLFNoKHYseC5jaGlsZHJlbiwkKSxSdCgpLGJvKHYpLFB0KCl9LFk9KHYseCwkLEwsUixQLHosRCxNPSExKT0+e2NvbnN0IEk9diYmdi5jaGlsZHJlbixlZT12P3Yuc2hhcGVGbGFnOjAsQj14LmNoaWxkcmVuLHtwYXRjaEZsYWc6USxzaGFwZUZsYWc6V309eDtpZihRPjApe2lmKFEmMTI4KXtyZShJLEIsJCxMLFIsUCx6LEQsTSk7cmV0dXJufWVsc2UgaWYoUSYyNTYpe2ZlKEksQiwkLEwsUixQLHosRCxNKTtyZXR1cm59fVcmOD8oZWUmMTYmJlBlKEksUixQKSxCIT09SSYmaCgkLEIpKTplZSYxNj9XJjE2P3JlKEksQiwkLEwsUixQLHosRCxNKTpQZShJLFIsUCwhMCk6KGVlJjgmJmgoJCwiIiksVyYxNiYmRyhCLCQsTCxSLFAseixELE0pKX0sZmU9KHYseCwkLEwsUixQLHosRCxNKT0+e3Y9dnx8dm4seD14fHx2bjtjb25zdCBJPXYubGVuZ3RoLGVlPXgubGVuZ3RoLEI9TWF0aC5taW4oSSxlZSk7bGV0IFE7Zm9yKFE9MDtRPEI7USsrKXtjb25zdCBXPXhbUV09TT9CdCh4W1FdKTp5dCh4W1FdKTtfKHZbUV0sVywkLG51bGwsUixQLHosRCxNKX1JPmVlP1BlKHYsUixQLCEwLCExLEIpOkcoeCwkLEwsUixQLHosRCxNLEIpfSxyZT0odix4LCQsTCxSLFAseixELE0pPT57bGV0IEk9MDtjb25zdCBlZT14Lmxlbmd0aDtsZXQgQj12Lmxlbmd0aC0xLFE9ZWUtMTtmb3IoO0k8PUImJkk8PVE7KXtjb25zdCBXPXZbSV0sYmU9eFtJXT1NP0J0KHhbSV0pOnl0KHhbSV0pO2lmKHF0KFcsYmUpKV8oVyxiZSwkLG51bGwsUixQLHosRCxNKTtlbHNlIGJyZWFrO0krK31mb3IoO0k8PUImJkk8PVE7KXtjb25zdCBXPXZbQl0sYmU9eFtRXT1NP0J0KHhbUV0pOnl0KHhbUV0pO2lmKHF0KFcsYmUpKV8oVyxiZSwkLG51bGwsUixQLHosRCxNKTtlbHNlIGJyZWFrO0ItLSxRLS19aWYoST5CKXtpZihJPD1RKXtjb25zdCBXPVErMSxiZT1XPGVlP3hbV10uZWw6TDtmb3IoO0k8PVE7KV8obnVsbCx4W0ldPU0/QnQoeFtJXSk6eXQoeFtJXSksJCxiZSxSLFAseixELE0pLEkrK319ZWxzZSBpZihJPlEpZm9yKDtJPD1COylTZSh2W0ldLFIsUCwhMCksSSsrO2Vsc2V7Y29uc3QgVz1JLGJlPUksQ2U9bmV3IE1hcDtmb3IoST1iZTtJPD1RO0krKyl7Y29uc3QgWGU9eFtJXT1NP0J0KHhbSV0pOnl0KHhbSV0pO1hlLmtleSE9bnVsbCYmQ2Uuc2V0KFhlLmtleSxJKX1sZXQgeWUsSmU9MDtjb25zdCB6ZT1RLWJlKzE7bGV0IG90PSExLGF0PTA7Y29uc3QgQ3Q9bmV3IEFycmF5KHplKTtmb3IoST0wO0k8emU7SSsrKUN0W0ldPTA7Zm9yKEk9VztJPD1CO0krKyl7Y29uc3QgWGU9dltJXTtpZihKZT49emUpe1NlKFhlLFIsUCwhMCk7Y29udGludWV9bGV0IGN0O2lmKFhlLmtleSE9bnVsbCljdD1DZS5nZXQoWGUua2V5KTtlbHNlIGZvcih5ZT1iZTt5ZTw9UTt5ZSsrKWlmKEN0W3llLWJlXT09PTAmJnF0KFhlLHhbeWVdKSl7Y3Q9eWU7YnJlYWt9Y3Q9PT12b2lkIDA/U2UoWGUsUixQLCEwKTooQ3RbY3QtYmVdPUkrMSxjdD49YXQ/YXQ9Y3Q6b3Q9ITAsXyhYZSx4W2N0XSwkLG51bGwsUixQLHosRCxNKSxKZSsrKX1jb25zdCBobj1vdD9PaChDdCk6dm47Zm9yKHllPWhuLmxlbmd0aC0xLEk9emUtMTtJPj0wO0ktLSl7Y29uc3QgWGU9YmUrSSxjdD14W1hlXSxmcj1YZSsxPGVlP3hbWGUrMV0uZWw6TDtDdFtJXT09PTA/XyhudWxsLGN0LCQsZnIsUixQLHosRCxNKTpvdCYmKHllPDB8fEkhPT1oblt5ZV0/UmUoY3QsJCxmciwyKTp5ZS0tKX19fSxSZT0odix4LCQsTCxSPW51bGwpPT57Y29uc3R7ZWw6UCx0eXBlOnosdHJhbnNpdGlvbjpELGNoaWxkcmVuOk0sc2hhcGVGbGFnOkl9PXY7aWYoSSY2KXtSZSh2LmNvbXBvbmVudC5zdWJUcmVlLHgsJCxMKTtyZXR1cm59aWYoSSYxMjgpe3Yuc3VzcGVuc2UubW92ZSh4LCQsTCk7cmV0dXJufWlmKEkmNjQpe3oubW92ZSh2LHgsJCxNdCk7cmV0dXJufWlmKHo9PT1ZZSl7cihQLHgsJCk7Zm9yKGxldCBCPTA7QjxNLmxlbmd0aDtCKyspUmUoTVtCXSx4LCQsTCk7cih2LmFuY2hvcix4LCQpO3JldHVybn1pZih6PT09RXIpe08odix4LCQpO3JldHVybn1pZihMIT09MiYmSSYxJiZEKWlmKEw9PT0wKUQuYmVmb3JlRW50ZXIoUCkscihQLHgsJCksSWUoKCk9PkQuZW50ZXIoUCksUik7ZWxzZXtjb25zdHtsZWF2ZTpCLGRlbGF5TGVhdmU6USxhZnRlckxlYXZlOld9PUQsYmU9KCk9Pnt2LmN0eC5pc1VubW91bnRlZD9zKFApOnIoUCx4LCQpfSxDZT0oKT0+e0IoUCwoKT0+e2JlKCksVyYmVygpfSl9O1E/UShQLGJlLENlKTpDZSgpfWVsc2UgcihQLHgsJCl9LFNlPSh2LHgsJCxMPSExLFI9ITEpPT57Y29uc3R7dHlwZTpQLHByb3BzOnoscmVmOkQsY2hpbGRyZW46TSxkeW5hbWljQ2hpbGRyZW46SSxzaGFwZUZsYWc6ZWUscGF0Y2hGbGFnOkIsZGlyczpRLGNhY2hlSW5kZXg6V309djtpZihCPT09LTImJihSPSExKSxEIT1udWxsJiYoUnQoKSxqcihELG51bGwsJCx2LCEwKSxQdCgpKSxXIT1udWxsJiYoeC5yZW5kZXJDYWNoZVtXXT12b2lkIDApLGVlJjI1Nil7eC5jdHguZGVhY3RpdmF0ZSh2KTtyZXR1cm59Y29uc3QgYmU9ZWUmMSYmUSxDZT0hb24odik7bGV0IHllO2lmKENlJiYoeWU9eiYmei5vblZub2RlQmVmb3JlVW5tb3VudCkmJnV0KHllLHgsdiksZWUmNilGZSh2LmNvbXBvbmVudCwkLEwpO2Vsc2V7aWYoZWUmMTI4KXt2LnN1c3BlbnNlLnVubW91bnQoJCxMKTtyZXR1cm59YmUmJlF0KHYsbnVsbCx4LCJiZWZvcmVVbm1vdW50IiksZWUmNjQ/di50eXBlLnJlbW92ZSh2LHgsJCxNdCxMKTpJJiYhSS5oYXNPbmNlJiYoUCE9PVllfHxCPjAmJkImNjQpP1BlKEkseCwkLCExLCEwKTooUD09PVllJiZCJjM4NHx8IVImJmVlJjE2KSYmUGUoTSx4LCQpLEwmJnVyKHYpfShDZSYmKHllPXomJnoub25Wbm9kZVVubW91bnRlZCl8fGJlKSYmSWUoKCk9Pnt5ZSYmdXQoeWUseCx2KSxiZSYmUXQodixudWxsLHgsInVubW91bnRlZCIpfSwkKX0sdXI9dj0+e2NvbnN0e3R5cGU6eCxlbDokLGFuY2hvcjpMLHRyYW5zaXRpb246Un09djtpZih4PT09WWUpe2RzKCQsTCk7cmV0dXJufWlmKHg9PT1Fcil7RSh2KTtyZXR1cm59Y29uc3QgUD0oKT0+e3MoJCksUiYmIVIucGVyc2lzdGVkJiZSLmFmdGVyTGVhdmUmJlIuYWZ0ZXJMZWF2ZSgpfTtpZih2LnNoYXBlRmxhZyYxJiZSJiYhUi5wZXJzaXN0ZWQpe2NvbnN0e2xlYXZlOnosZGVsYXlMZWF2ZTpEfT1SLE09KCk9PnooJCxQKTtEP0Qodi5lbCxQLE0pOk0oKX1lbHNlIFAoKX0sZHM9KHYseCk9PntsZXQgJDtmb3IoO3YhPT14OykkPXcodikscyh2KSx2PSQ7cyh4KX0sRmU9KHYseCwkKT0+e2NvbnN0e2J1bTpMLHNjb3BlOlIsam9iOlAsc3ViVHJlZTp6LHVtOkQsbTpNLGE6SSxwYXJlbnQ6ZWUsc2xvdHM6e19fOkJ9fT12O0RyKE0pLERyKEkpLEwmJnduKEwpLGVlJiZ0ZShCKSYmQi5mb3JFYWNoKFE9PntlZS5yZW5kZXJDYWNoZVtRXT12b2lkIDB9KSxSLnN0b3AoKSxQJiYoUC5mbGFnc3w9OCxTZSh6LHYseCwkKSksRCYmSWUoRCx4KSxJZSgoKT0+e3YuaXNVbm1vdW50ZWQ9ITB9LHgpLHgmJngucGVuZGluZ0JyYW5jaCYmIXguaXNVbm1vdW50ZWQmJnYuYXN5bmNEZXAmJiF2LmFzeW5jUmVzb2x2ZWQmJnYuc3VzcGVuc2VJZD09PXgucGVuZGluZ0lkJiYoeC5kZXBzLS0seC5kZXBzPT09MCYmeC5yZXNvbHZlKCkpfSxQZT0odix4LCQsTD0hMSxSPSExLFA9MCk9Pntmb3IobGV0IHo9UDt6PHYubGVuZ3RoO3orKylTZSh2W3pdLHgsJCxMLFIpfSx1bj12PT57aWYodi5zaGFwZUZsYWcmNilyZXR1cm4gdW4odi5jb21wb25lbnQuc3ViVHJlZSk7aWYodi5zaGFwZUZsYWcmMTI4KXJldHVybiB2LnN1c3BlbnNlLm5leHQoKTtjb25zdCB4PXcodi5hbmNob3J8fHYuZWwpLCQ9eCYmeFtZYV07cmV0dXJuICQ/dygkKTp4fTtsZXQgZm49ITE7Y29uc3QgaXQ9KHYseCwkKT0+e3Y9PW51bGw/eC5fdm5vZGUmJlNlKHguX3Zub2RlLG51bGwsbnVsbCwhMCk6Xyh4Ll92bm9kZXx8bnVsbCx2LHgsbnVsbCxudWxsLG51bGwsJCkseC5fdm5vZGU9dixmbnx8KGZuPSEwLGJvKCksR2EoKSxmbj0hMSl9LE10PXtwOl8sdW06U2UsbTpSZSxyOnVyLG10Ok9lLG1jOkcscGM6WSxwYmM6WCxuOnVuLG86ZX07cmV0dXJue3JlbmRlcjppdCxoeWRyYXRlOnZvaWQgMCxjcmVhdGVBcHA6dmgoaXQpfX1mdW5jdGlvbiBMcyh7dHlwZTplLHByb3BzOnR9LG4pe3JldHVybiBuPT09InN2ZyImJmU9PT0iZm9yZWlnbk9iamVjdCJ8fG49PT0ibWF0aG1sIiYmZT09PSJhbm5vdGF0aW9uLXhtbCImJnQmJnQuZW5jb2RpbmcmJnQuZW5jb2RpbmcuaW5jbHVkZXMoImh0bWwiKT92b2lkIDA6bn1mdW5jdGlvbiBadCh7ZWZmZWN0OmUsam9iOnR9LG4pe24/KGUuZmxhZ3N8PTMyLHQuZmxhZ3N8PTQpOihlLmZsYWdzJj0tMzMsdC5mbGFncyY9LTUpfWZ1bmN0aW9uIEFoKGUsdCl7cmV0dXJuKCFlfHxlJiYhZS5wZW5kaW5nQnJhbmNoKSYmdCYmIXQucGVyc2lzdGVkfWZ1bmN0aW9uIExpKGUsdCxuPSExKXtjb25zdCByPWUuY2hpbGRyZW4scz10LmNoaWxkcmVuO2lmKHRlKHIpJiZ0ZShzKSlmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyl7Y29uc3QgYT1yW2ldO2xldCB1PXNbaV07dS5zaGFwZUZsYWcmMSYmIXUuZHluYW1pY0NoaWxkcmVuJiYoKHUucGF0Y2hGbGFnPD0wfHx1LnBhdGNoRmxhZz09PTMyKSYmKHU9c1tpXT1CdChzW2ldKSx1LmVsPWEuZWwpLCFuJiZ1LnBhdGNoRmxhZyE9PS0yJiZMaShhLHUpKSx1LnR5cGU9PT1ucyYmKHUuZWw9YS5lbCksdS50eXBlPT09SGUmJiF1LmVsJiYodS5lbD1hLmVsKX19ZnVuY3Rpb24gT2goZSl7Y29uc3QgdD1lLnNsaWNlKCksbj1bMF07bGV0IHIscyxpLGEsdTtjb25zdCBmPWUubGVuZ3RoO2ZvcihyPTA7cjxmO3IrKyl7Y29uc3QgZD1lW3JdO2lmKGQhPT0wKXtpZihzPW5bbi5sZW5ndGgtMV0sZVtzXTxkKXt0W3JdPXMsbi5wdXNoKHIpO2NvbnRpbnVlfWZvcihpPTAsYT1uLmxlbmd0aC0xO2k8YTspdT1pK2E+PjEsZVtuW3VdXTxkP2k9dSsxOmE9dTtkPGVbbltpXV0mJihpPjAmJih0W3JdPW5baS0xXSksbltpXT1yKX19Zm9yKGk9bi5sZW5ndGgsYT1uW2ktMV07aS0tID4wOyluW2ldPWEsYT10W2FdO3JldHVybiBufWZ1bmN0aW9uIFRjKGUpe2NvbnN0IHQ9ZS5zdWJUcmVlLmNvbXBvbmVudDtpZih0KXJldHVybiB0LmFzeW5jRGVwJiYhdC5hc3luY1Jlc29sdmVkP3Q6VGModCl9ZnVuY3Rpb24gRHIoZSl7aWYoZSlmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLmZsYWdzfD04fWNvbnN0ICRoPVN5bWJvbC5mb3IoInYtc2N4Iiksa2g9KCk9PkNuKCRoKTtmdW5jdGlvbiBodChlLHQsbil7cmV0dXJuIEVjKGUsdCxuKX1mdW5jdGlvbiBFYyhlLHQsbj1UZSl7Y29uc3R7aW1tZWRpYXRlOnIsZGVlcDpzLGZsdXNoOmksb25jZTphfT1uLHU9amUoe30sbiksZj10JiZyfHwhdCYmaSE9PSJwb3N0IjtsZXQgZDtpZihYbil7aWYoaT09PSJzeW5jIil7Y29uc3QgQz1raCgpO2Q9Qy5fX3dhdGNoZXJIYW5kbGVzfHwoQy5fX3dhdGNoZXJIYW5kbGVzPVtdKX1lbHNlIGlmKCFmKXtjb25zdCBDPSgpPT57fTtyZXR1cm4gQy5zdG9wPV90LEMucmVzdW1lPV90LEMucGF1c2U9X3QsQ319Y29uc3QgaD1WZTt1LmNhbGw9KEMsbSxfKT0+Z3QoQyxoLG0sXyk7bGV0IHA9ITE7aT09PSJwb3N0Ij91LnNjaGVkdWxlcj1DPT57SWUoQyxoJiZoLnN1c3BlbnNlKX06aSE9PSJzeW5jIiYmKHA9ITAsdS5zY2hlZHVsZXI9KEMsbSk9PnttP0MoKTokaShDKX0pLHUuYXVnbWVudEpvYj1DPT57dCYmKEMuZmxhZ3N8PTQpLHAmJihDLmZsYWdzfD0yLGgmJihDLmlkPWgudWlkLEMuaT1oKSl9O2NvbnN0IHc9VmYoZSx0LHUpO3JldHVybiBYbiYmKGQ/ZC5wdXNoKHcpOmYmJncoKSksd31mdW5jdGlvbiBSaChlLHQsbil7Y29uc3Qgcj10aGlzLnByb3h5LHM9JGUoZSk/ZS5pbmNsdWRlcygiLiIpP0FjKHIsZSk6KCk9PnJbZV06ZS5iaW5kKHIscik7bGV0IGk7c2UodCk/aT10OihpPXQuaGFuZGxlcixuPXQpO2NvbnN0IGE9b3IodGhpcyksdT1FYyhzLGkuYmluZChyKSxuKTtyZXR1cm4gYSgpLHV9ZnVuY3Rpb24gQWMoZSx0KXtjb25zdCBuPXQuc3BsaXQoIi4iKTtyZXR1cm4oKT0+e2xldCByPWU7Zm9yKGxldCBzPTA7czxuLmxlbmd0aCYmcjtzKyspcj1yW25bc11dO3JldHVybiByfX1jb25zdCBQaD0oZSx0KT0+dD09PSJtb2RlbFZhbHVlInx8dD09PSJtb2RlbC12YWx1ZSI/ZS5tb2RlbE1vZGlmaWVyczplW2Ake3R9TW9kaWZpZXJzYF18fGVbYCR7V3QodCl9TW9kaWZpZXJzYF18fGVbYCR7bG4odCl9TW9kaWZpZXJzYF07ZnVuY3Rpb24gTGgoZSx0LC4uLm4pe2lmKGUuaXNVbm1vdW50ZWQpcmV0dXJuO2NvbnN0IHI9ZS52bm9kZS5wcm9wc3x8VGU7bGV0IHM9bjtjb25zdCBpPXQuc3RhcnRzV2l0aCgidXBkYXRlOiIpLGE9aSYmUGgocix0LnNsaWNlKDcpKTthJiYoYS50cmltJiYocz1uLm1hcChoPT4kZShoKT9oLnRyaW0oKTpoKSksYS5udW1iZXImJihzPW4ubWFwKHFzKSkpO2xldCB1LGY9clt1PVRzKHQpXXx8clt1PVRzKFd0KHQpKV07IWYmJmkmJihmPXJbdT1Ucyhsbih0KSldKSxmJiZndChmLGUsNixzKTtjb25zdCBkPXJbdSsiT25jZSJdO2lmKGQpe2lmKCFlLmVtaXR0ZWQpZS5lbWl0dGVkPXt9O2Vsc2UgaWYoZS5lbWl0dGVkW3VdKXJldHVybjtlLmVtaXR0ZWRbdV09ITAsZ3QoZCxlLDYscyl9fWZ1bmN0aW9uIE9jKGUsdCxuPSExKXtjb25zdCByPXQuZW1pdHNDYWNoZSxzPXIuZ2V0KGUpO2lmKHMhPT12b2lkIDApcmV0dXJuIHM7Y29uc3QgaT1lLmVtaXRzO2xldCBhPXt9LHU9ITE7aWYoIXNlKGUpKXtjb25zdCBmPWQ9Pntjb25zdCBoPU9jKGQsdCwhMCk7aCYmKHU9ITAsamUoYSxoKSl9OyFuJiZ0Lm1peGlucy5sZW5ndGgmJnQubWl4aW5zLmZvckVhY2goZiksZS5leHRlbmRzJiZmKGUuZXh0ZW5kcyksZS5taXhpbnMmJmUubWl4aW5zLmZvckVhY2goZil9cmV0dXJuIWkmJiF1PyhBZShlKSYmci5zZXQoZSxudWxsKSxudWxsKToodGUoaSk/aS5mb3JFYWNoKGY9PmFbZl09bnVsbCk6amUoYSxpKSxBZShlKSYmci5zZXQoZSxhKSxhKX1mdW5jdGlvbiB0cyhlLHQpe3JldHVybiFlfHwhS3IodCk/ITE6KHQ9dC5zbGljZSgyKS5yZXBsYWNlKC9PbmNlJC8sIiIpLF9lKGUsdFswXS50b0xvd2VyQ2FzZSgpK3Quc2xpY2UoMSkpfHxfZShlLGxuKHQpKXx8X2UoZSx0KSl9ZnVuY3Rpb24gQW8oZSl7Y29uc3R7dHlwZTp0LHZub2RlOm4scHJveHk6cix3aXRoUHJveHk6cyxwcm9wc09wdGlvbnM6W2ldLHNsb3RzOmEsYXR0cnM6dSxlbWl0OmYscmVuZGVyOmQscmVuZGVyQ2FjaGU6aCxwcm9wczpwLGRhdGE6dyxzZXR1cFN0YXRlOkMsY3R4Om0saW5oZXJpdEF0dHJzOl99PWUseT1GcihlKTtsZXQgUyxUO3RyeXtpZihuLnNoYXBlRmxhZyY0KXtjb25zdCBFPXN8fHIsTj1FO1M9eXQoZC5jYWxsKE4sRSxoLHAsQyx3LG0pKSxUPXV9ZWxzZXtjb25zdCBFPXQ7Uz15dChFLmxlbmd0aD4xP0UocCx7YXR0cnM6dSxzbG90czphLGVtaXQ6Zn0pOkUocCxudWxsKSksVD10LnByb3BzP3U6SWgodSl9fWNhdGNoKEUpe0JuLmxlbmd0aD0wLFFyKEUsZSwxKSxTPWRlKEhlKX1sZXQgTz1TO2lmKFQmJl8hPT0hMSl7Y29uc3QgRT1PYmplY3Qua2V5cyhUKSx7c2hhcGVGbGFnOk59PU87RS5sZW5ndGgmJk4mNyYmKGkmJkUuc29tZSh5aSkmJihUPU5oKFQsaSkpLE89TnQoTyxULCExLCEwKSl9cmV0dXJuIG4uZGlycyYmKE89TnQoTyxudWxsLCExLCEwKSxPLmRpcnM9Ty5kaXJzP08uZGlycy5jb25jYXQobi5kaXJzKTpuLmRpcnMpLG4udHJhbnNpdGlvbiYmVG4oTyxuLnRyYW5zaXRpb24pLFM9TyxGcih5KSxTfWNvbnN0IEloPWU9PntsZXQgdDtmb3IoY29uc3QgbiBpbiBlKShuPT09ImNsYXNzInx8bj09PSJzdHlsZSJ8fEtyKG4pKSYmKCh0fHwodD17fSkpW25dPWVbbl0pO3JldHVybiB0fSxOaD0oZSx0KT0+e2NvbnN0IG49e307Zm9yKGNvbnN0IHIgaW4gZSkoIXlpKHIpfHwhKHIuc2xpY2UoOSlpbiB0KSkmJihuW3JdPWVbcl0pO3JldHVybiBufTtmdW5jdGlvbiBGaChlLHQsbil7Y29uc3R7cHJvcHM6cixjaGlsZHJlbjpzLGNvbXBvbmVudDppfT1lLHtwcm9wczphLGNoaWxkcmVuOnUscGF0Y2hGbGFnOmZ9PXQsZD1pLmVtaXRzT3B0aW9ucztpZih0LmRpcnN8fHQudHJhbnNpdGlvbilyZXR1cm4hMDtpZihuJiZmPj0wKXtpZihmJjEwMjQpcmV0dXJuITA7aWYoZiYxNilyZXR1cm4gcj9PbyhyLGEsZCk6ISFhO2lmKGYmOCl7Y29uc3QgaD10LmR5bmFtaWNQcm9wcztmb3IobGV0IHA9MDtwPGgubGVuZ3RoO3ArKyl7Y29uc3Qgdz1oW3BdO2lmKGFbd10hPT1yW3ddJiYhdHMoZCx3KSlyZXR1cm4hMH19fWVsc2UgcmV0dXJuKHN8fHUpJiYoIXV8fCF1LiRzdGFibGUpPyEwOnI9PT1hPyExOnI/YT9PbyhyLGEsZCk6ITA6ISFhO3JldHVybiExfWZ1bmN0aW9uIE9vKGUsdCxuKXtjb25zdCByPU9iamVjdC5rZXlzKHQpO2lmKHIubGVuZ3RoIT09T2JqZWN0LmtleXMoZSkubGVuZ3RoKXJldHVybiEwO2ZvcihsZXQgcz0wO3M8ci5sZW5ndGg7cysrKXtjb25zdCBpPXJbc107aWYodFtpXSE9PWVbaV0mJiF0cyhuLGkpKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIGpoKHt2bm9kZTplLHBhcmVudDp0fSxuKXtmb3IoO3Q7KXtjb25zdCByPXQuc3ViVHJlZTtpZihyLnN1c3BlbnNlJiZyLnN1c3BlbnNlLmFjdGl2ZUJyYW5jaD09PWUmJihyLmVsPWUuZWwpLHI9PT1lKShlPXQudm5vZGUpLmVsPW4sdD10LnBhcmVudDtlbHNlIGJyZWFrfX1jb25zdCBVcj1lPT5lLl9faXNTdXNwZW5zZTtmdW5jdGlvbiBNaChlLHQpe3QmJnQucGVuZGluZ0JyYW5jaD90ZShlKT90LmVmZmVjdHMucHVzaCguLi5lKTp0LmVmZmVjdHMucHVzaChlKTpKZihlKX1jb25zdCBZZT1TeW1ib2wuZm9yKCJ2LWZndCIpLG5zPVN5bWJvbC5mb3IoInYtdHh0IiksSGU9U3ltYm9sLmZvcigidi1jbXQiKSxFcj1TeW1ib2wuZm9yKCJ2LXN0YyIpLEJuPVtdO2xldCBzdD1udWxsO2Z1bmN0aW9uIFooZT0hMSl7Qm4ucHVzaChzdD1lP251bGw6W10pfWZ1bmN0aW9uIERoKCl7Qm4ucG9wKCksc3Q9Qm5bQm4ubGVuZ3RoLTFdfHxudWxsfWxldCBLbj0xO2Z1bmN0aW9uICRvKGUsdD0hMSl7S24rPWUsZTwwJiZzdCYmdCYmKHN0Lmhhc09uY2U9ITApfWZ1bmN0aW9uICRjKGUpe3JldHVybiBlLmR5bmFtaWNDaGlsZHJlbj1Lbj4wP3N0fHx2bjpudWxsLERoKCksS24+MCYmc3QmJnN0LnB1c2goZSksZX1mdW5jdGlvbiB1ZShlLHQsbixyLHMsaSl7cmV0dXJuICRjKGooZSx0LG4scixzLGksITApKX1mdW5jdGlvbiBRZShlLHQsbixyLHMpe3JldHVybiAkYyhkZShlLHQsbixyLHMsITApKX1mdW5jdGlvbiBFbihlKXtyZXR1cm4gZT9lLl9fdl9pc1ZOb2RlPT09ITA6ITF9ZnVuY3Rpb24gcXQoZSx0KXtyZXR1cm4gZS50eXBlPT09dC50eXBlJiZlLmtleT09PXQua2V5fWNvbnN0IGtjPSh7a2V5OmV9KT0+ZT8/bnVsbCxBcj0oe3JlZjplLHJlZl9rZXk6dCxyZWZfZm9yOm59KT0+KHR5cGVvZiBlPT0ibnVtYmVyIiYmKGU9IiIrZSksZSE9bnVsbD8kZShlKXx8TmUoZSl8fHNlKGUpP3tpOkJlLHI6ZSxrOnQsZjohIW59OmU6bnVsbCk7ZnVuY3Rpb24gaihlLHQ9bnVsbCxuPW51bGwscj0wLHM9bnVsbCxpPWU9PT1ZZT8wOjEsYT0hMSx1PSExKXtjb25zdCBmPXtfX3ZfaXNWTm9kZTohMCxfX3Zfc2tpcDohMCx0eXBlOmUscHJvcHM6dCxrZXk6dCYma2ModCkscmVmOnQmJkFyKHQpLHNjb3BlSWQ6WmEsc2xvdFNjb3BlSWRzOm51bGwsY2hpbGRyZW46bixjb21wb25lbnQ6bnVsbCxzdXNwZW5zZTpudWxsLHNzQ29udGVudDpudWxsLHNzRmFsbGJhY2s6bnVsbCxkaXJzOm51bGwsdHJhbnNpdGlvbjpudWxsLGVsOm51bGwsYW5jaG9yOm51bGwsdGFyZ2V0Om51bGwsdGFyZ2V0U3RhcnQ6bnVsbCx0YXJnZXRBbmNob3I6bnVsbCxzdGF0aWNDb3VudDowLHNoYXBlRmxhZzppLHBhdGNoRmxhZzpyLGR5bmFtaWNQcm9wczpzLGR5bmFtaWNDaGlsZHJlbjpudWxsLGFwcENvbnRleHQ6bnVsbCxjdHg6QmV9O3JldHVybiB1PyhJaShmLG4pLGkmMTI4JiZlLm5vcm1hbGl6ZShmKSk6biYmKGYuc2hhcGVGbGFnfD0kZShuKT84OjE2KSxLbj4wJiYhYSYmc3QmJihmLnBhdGNoRmxhZz4wfHxpJjYpJiZmLnBhdGNoRmxhZyE9PTMyJiZzdC5wdXNoKGYpLGZ9Y29uc3QgZGU9VWg7ZnVuY3Rpb24gVWgoZSx0PW51bGwsbj1udWxsLHI9MCxzPW51bGwsaT0hMSl7aWYoKCFlfHxlPT09dWgpJiYoZT1IZSksRW4oZSkpe2NvbnN0IHU9TnQoZSx0LCEwKTtyZXR1cm4gbiYmSWkodSxuKSxLbj4wJiYhaSYmc3QmJih1LnNoYXBlRmxhZyY2P3N0W3N0LmluZGV4T2YoZSldPXU6c3QucHVzaCh1KSksdS5wYXRjaEZsYWc9LTIsdX1pZihRaChlKSYmKGU9ZS5fX3ZjY09wdHMpLHQpe3Q9SGgodCk7bGV0e2NsYXNzOnUsc3R5bGU6Zn09dDt1JiYhJGUodSkmJih0LmNsYXNzPXd0KHUpKSxBZShmKSYmKE9pKGYpJiYhdGUoZikmJihmPWplKHt9LGYpKSx0LnN0eWxlPXpuKGYpKX1jb25zdCBhPSRlKGUpPzE6VXIoZSk/MTI4OmVjKGUpPzY0OkFlKGUpPzQ6c2UoZSk/MjowO3JldHVybiBqKGUsdCxuLHIscyxhLGksITApfWZ1bmN0aW9uIEhoKGUpe3JldHVybiBlP09pKGUpfHx5YyhlKT9qZSh7fSxlKTplOm51bGx9ZnVuY3Rpb24gTnQoZSx0LG49ITEscj0hMSl7Y29uc3R7cHJvcHM6cyxyZWY6aSxwYXRjaEZsYWc6YSxjaGlsZHJlbjp1LHRyYW5zaXRpb246Zn09ZSxkPXQ/emgoc3x8e30sdCk6cyxoPXtfX3ZfaXNWTm9kZTohMCxfX3Zfc2tpcDohMCx0eXBlOmUudHlwZSxwcm9wczpkLGtleTpkJiZrYyhkKSxyZWY6dCYmdC5yZWY/biYmaT90ZShpKT9pLmNvbmNhdChBcih0KSk6W2ksQXIodCldOkFyKHQpOmksc2NvcGVJZDplLnNjb3BlSWQsc2xvdFNjb3BlSWRzOmUuc2xvdFNjb3BlSWRzLGNoaWxkcmVuOnUsdGFyZ2V0OmUudGFyZ2V0LHRhcmdldFN0YXJ0OmUudGFyZ2V0U3RhcnQsdGFyZ2V0QW5jaG9yOmUudGFyZ2V0QW5jaG9yLHN0YXRpY0NvdW50OmUuc3RhdGljQ291bnQsc2hhcGVGbGFnOmUuc2hhcGVGbGFnLHBhdGNoRmxhZzp0JiZlLnR5cGUhPT1ZZT9hPT09LTE/MTY6YXwxNjphLGR5bmFtaWNQcm9wczplLmR5bmFtaWNQcm9wcyxkeW5hbWljQ2hpbGRyZW46ZS5keW5hbWljQ2hpbGRyZW4sYXBwQ29udGV4dDplLmFwcENvbnRleHQsZGlyczplLmRpcnMsdHJhbnNpdGlvbjpmLGNvbXBvbmVudDplLmNvbXBvbmVudCxzdXNwZW5zZTplLnN1c3BlbnNlLHNzQ29udGVudDplLnNzQ29udGVudCYmTnQoZS5zc0NvbnRlbnQpLHNzRmFsbGJhY2s6ZS5zc0ZhbGxiYWNrJiZOdChlLnNzRmFsbGJhY2spLGVsOmUuZWwsYW5jaG9yOmUuYW5jaG9yLGN0eDplLmN0eCxjZTplLmNlfTtyZXR1cm4gZiYmciYmVG4oaCxmLmNsb25lKGgpKSxofWZ1bmN0aW9uIEpuKGU9IiAiLHQ9MCl7cmV0dXJuIGRlKG5zLG51bGwsZSx0KX1mdW5jdGlvbiBCaChlLHQpe2NvbnN0IG49ZGUoRXIsbnVsbCxlKTtyZXR1cm4gbi5zdGF0aWNDb3VudD10LG59ZnVuY3Rpb24gS2UoZT0iIix0PSExKXtyZXR1cm4gdD8oWigpLFFlKEhlLG51bGwsZSkpOmRlKEhlLG51bGwsZSl9ZnVuY3Rpb24geXQoZSl7cmV0dXJuIGU9PW51bGx8fHR5cGVvZiBlPT0iYm9vbGVhbiI/ZGUoSGUpOnRlKGUpP2RlKFllLG51bGwsZS5zbGljZSgpKTpFbihlKT9CdChlKTpkZShucyxudWxsLFN0cmluZyhlKSl9ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIGUuZWw9PT1udWxsJiZlLnBhdGNoRmxhZyE9PS0xfHxlLm1lbW8/ZTpOdChlKX1mdW5jdGlvbiBJaShlLHQpe2xldCBuPTA7Y29uc3R7c2hhcGVGbGFnOnJ9PWU7aWYodD09bnVsbCl0PW51bGw7ZWxzZSBpZih0ZSh0KSluPTE2O2Vsc2UgaWYodHlwZW9mIHQ9PSJvYmplY3QiKWlmKHImNjUpe2NvbnN0IHM9dC5kZWZhdWx0O3MmJihzLl9jJiYocy5fZD0hMSksSWkoZSxzKCkpLHMuX2MmJihzLl9kPSEwKSk7cmV0dXJufWVsc2V7bj0zMjtjb25zdCBzPXQuXzshcyYmIXljKHQpP3QuX2N0eD1CZTpzPT09MyYmQmUmJihCZS5zbG90cy5fPT09MT90Ll89MToodC5fPTIsZS5wYXRjaEZsYWd8PTEwMjQpKX1lbHNlIHNlKHQpPyh0PXtkZWZhdWx0OnQsX2N0eDpCZX0sbj0zMik6KHQ9U3RyaW5nKHQpLHImNjQ/KG49MTYsdD1bSm4odCldKTpuPTgpO2UuY2hpbGRyZW49dCxlLnNoYXBlRmxhZ3w9bn1mdW5jdGlvbiB6aCguLi5lKXtjb25zdCB0PXt9O2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtjb25zdCByPWVbbl07Zm9yKGNvbnN0IHMgaW4gcilpZihzPT09ImNsYXNzIil0LmNsYXNzIT09ci5jbGFzcyYmKHQuY2xhc3M9d3QoW3QuY2xhc3Msci5jbGFzc10pKTtlbHNlIGlmKHM9PT0ic3R5bGUiKXQuc3R5bGU9em4oW3Quc3R5bGUsci5zdHlsZV0pO2Vsc2UgaWYoS3Iocykpe2NvbnN0IGk9dFtzXSxhPXJbc107YSYmaSE9PWEmJiEodGUoaSkmJmkuaW5jbHVkZXMoYSkpJiYodFtzXT1pP1tdLmNvbmNhdChpLGEpOmEpfWVsc2UgcyE9PSIiJiYodFtzXT1yW3NdKX1yZXR1cm4gdH1mdW5jdGlvbiB1dChlLHQsbixyPW51bGwpe2d0KGUsdCw3LFtuLHJdKX1jb25zdCBxaD1tYygpO2xldCBWaD0wO2Z1bmN0aW9uIFdoKGUsdCxuKXtjb25zdCByPWUudHlwZSxzPSh0P3QuYXBwQ29udGV4dDplLmFwcENvbnRleHQpfHxxaCxpPXt1aWQ6VmgrKyx2bm9kZTplLHR5cGU6cixwYXJlbnQ6dCxhcHBDb250ZXh0OnMscm9vdDpudWxsLG5leHQ6bnVsbCxzdWJUcmVlOm51bGwsZWZmZWN0Om51bGwsdXBkYXRlOm51bGwsam9iOm51bGwsc2NvcGU6bmV3IFJhKCEwKSxyZW5kZXI6bnVsbCxwcm94eTpudWxsLGV4cG9zZWQ6bnVsbCxleHBvc2VQcm94eTpudWxsLHdpdGhQcm94eTpudWxsLHByb3ZpZGVzOnQ/dC5wcm92aWRlczpPYmplY3QuY3JlYXRlKHMucHJvdmlkZXMpLGlkczp0P3QuaWRzOlsiIiwwLDBdLGFjY2Vzc0NhY2hlOm51bGwscmVuZGVyQ2FjaGU6W10sY29tcG9uZW50czpudWxsLGRpcmVjdGl2ZXM6bnVsbCxwcm9wc09wdGlvbnM6X2MocixzKSxlbWl0c09wdGlvbnM6T2MocixzKSxlbWl0Om51bGwsZW1pdHRlZDpudWxsLHByb3BzRGVmYXVsdHM6VGUsaW5oZXJpdEF0dHJzOnIuaW5oZXJpdEF0dHJzLGN0eDpUZSxkYXRhOlRlLHByb3BzOlRlLGF0dHJzOlRlLHNsb3RzOlRlLHJlZnM6VGUsc2V0dXBTdGF0ZTpUZSxzZXR1cENvbnRleHQ6bnVsbCxzdXNwZW5zZTpuLHN1c3BlbnNlSWQ6bj9uLnBlbmRpbmdJZDowLGFzeW5jRGVwOm51bGwsYXN5bmNSZXNvbHZlZDohMSxpc01vdW50ZWQ6ITEsaXNVbm1vdW50ZWQ6ITEsaXNEZWFjdGl2YXRlZDohMSxiYzpudWxsLGM6bnVsbCxibTpudWxsLG06bnVsbCxidTpudWxsLHU6bnVsbCx1bTpudWxsLGJ1bTpudWxsLGRhOm51bGwsYTpudWxsLHJ0ZzpudWxsLHJ0YzpudWxsLGVjOm51bGwsc3A6bnVsbH07cmV0dXJuIGkuY3R4PXtfOml9LGkucm9vdD10P3Qucm9vdDppLGkuZW1pdD1MaC5iaW5kKG51bGwsaSksZS5jZSYmZS5jZShpKSxpfWxldCBWZT1udWxsO2NvbnN0IE5pPSgpPT5WZXx8QmU7bGV0IEhyLGlpO3tjb25zdCBlPVhyKCksdD0obixyKT0+e2xldCBzO3JldHVybihzPWVbbl0pfHwocz1lW25dPVtdKSxzLnB1c2gociksaT0+e3MubGVuZ3RoPjE/cy5mb3JFYWNoKGE9PmEoaSkpOnNbMF0oaSl9fTtIcj10KCJfX1ZVRV9JTlNUQU5DRV9TRVRURVJTX18iLG49PlZlPW4pLGlpPXQoIl9fVlVFX1NTUl9TRVRURVJTX18iLG49PlhuPW4pfWNvbnN0IG9yPWU9Pntjb25zdCB0PVZlO3JldHVybiBIcihlKSxlLnNjb3BlLm9uKCksKCk9PntlLnNjb3BlLm9mZigpLEhyKHQpfX0sa289KCk9PntWZSYmVmUuc2NvcGUub2ZmKCksSHIobnVsbCl9O2Z1bmN0aW9uIFJjKGUpe3JldHVybiBlLnZub2RlLnNoYXBlRmxhZyY0fWxldCBYbj0hMTtmdW5jdGlvbiBLaChlLHQ9ITEsbj0hMSl7dCYmaWkodCk7Y29uc3R7cHJvcHM6cixjaGlsZHJlbjpzfT1lLnZub2RlLGk9UmMoZSk7eWgoZSxyLGksdCksQ2goZSxzLG58fHQpO2NvbnN0IGE9aT9KaChlLHQpOnZvaWQgMDtyZXR1cm4gdCYmaWkoITEpLGF9ZnVuY3Rpb24gSmgoZSx0KXtjb25zdCBuPWUudHlwZTtlLmFjY2Vzc0NhY2hlPU9iamVjdC5jcmVhdGUobnVsbCksZS5wcm94eT1uZXcgUHJveHkoZS5jdHgsZmgpO2NvbnN0e3NldHVwOnJ9PW47aWYocil7UnQoKTtjb25zdCBzPWUuc2V0dXBDb250ZXh0PXIubGVuZ3RoPjE/R2goZSk6bnVsbCxpPW9yKGUpLGE9c3IocixlLDAsW2UucHJvcHMsc10pLHU9Q2EoYSk7aWYoUHQoKSxpKCksKHV8fGUuc3ApJiYhb24oZSkmJmNjKGUpLHUpe2lmKGEudGhlbihrbyxrbyksdClyZXR1cm4gYS50aGVuKGY9PntSbyhlLGYpfSkuY2F0Y2goZj0+e1FyKGYsZSwwKX0pO2UuYXN5bmNEZXA9YX1lbHNlIFJvKGUsYSl9ZWxzZSBQYyhlKX1mdW5jdGlvbiBSbyhlLHQsbil7c2UodCk/ZS50eXBlLl9fc3NySW5saW5lUmVuZGVyP2Uuc3NyUmVuZGVyPXQ6ZS5yZW5kZXI9dDpBZSh0KSYmKGUuc2V0dXBTdGF0ZT1LYSh0KSksUGMoZSl9ZnVuY3Rpb24gUGMoZSx0LG4pe2NvbnN0IHI9ZS50eXBlO2UucmVuZGVyfHwoZS5yZW5kZXI9ci5yZW5kZXJ8fF90KTt7Y29uc3Qgcz1vcihlKTtSdCgpO3RyeXtoaChlKX1maW5hbGx5e1B0KCkscygpfX19Y29uc3QgWGg9e2dldChlLHQpe3JldHVybiBxZShlLCJnZXQiLCIiKSxlW3RdfX07ZnVuY3Rpb24gR2goZSl7Y29uc3QgdD1uPT57ZS5leHBvc2VkPW58fHt9fTtyZXR1cm57YXR0cnM6bmV3IFByb3h5KGUuYXR0cnMsWGgpLHNsb3RzOmUuc2xvdHMsZW1pdDplLmVtaXQsZXhwb3NlOnR9fWZ1bmN0aW9uIHJzKGUpe3JldHVybiBlLmV4cG9zZWQ/ZS5leHBvc2VQcm94eXx8KGUuZXhwb3NlUHJveHk9bmV3IFByb3h5KEthKE1mKGUuZXhwb3NlZCkpLHtnZXQodCxuKXtpZihuIGluIHQpcmV0dXJuIHRbbl07aWYobiBpbiBIbilyZXR1cm4gSG5bbl0oZSl9LGhhcyh0LG4pe3JldHVybiBuIGluIHR8fG4gaW4gSG59fSkpOmUucHJveHl9ZnVuY3Rpb24gUG8oZSx0PSEwKXtyZXR1cm4gc2UoZSk/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOmUubmFtZXx8dCYmZS5fX25hbWV9ZnVuY3Rpb24gUWgoZSl7cmV0dXJuIHNlKGUpJiYiX192Y2NPcHRzImluIGV9Y29uc3QgZ2U9KGUsdCk9PnpmKGUsdCxYbik7ZnVuY3Rpb24gWmgoZSx0LG4pe2NvbnN0IHI9YXJndW1lbnRzLmxlbmd0aDtyZXR1cm4gcj09PTI/QWUodCkmJiF0ZSh0KT9Fbih0KT9kZShlLG51bGwsW3RdKTpkZShlLHQpOmRlKGUsbnVsbCx0KToocj4zP249QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDIpOnI9PT0zJiZFbihuKSYmKG49W25dKSxkZShlLHQsbikpfWNvbnN0IFloPSIzLjUuMTYiOy8qKgoqIEB2dWUvcnVudGltZS1kb20gdjMuNS4xNgoqIChjKSAyMDE4LXByZXNlbnQgWXV4aSAoRXZhbikgWW91IGFuZCBWdWUgY29udHJpYnV0b3JzCiogQGxpY2Vuc2UgTUlUCioqL2xldCBvaTtjb25zdCBMbz10eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93LnRydXN0ZWRUeXBlcztpZihMbyl0cnl7b2k9TG8uY3JlYXRlUG9saWN5KCJ2dWUiLHtjcmVhdGVIVE1MOmU9PmV9KX1jYXRjaHt9Y29uc3QgTGM9b2k/ZT0+b2kuY3JlYXRlSFRNTChlKTplPT5lLGVkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdGQ9Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiLE90PXR5cGVvZiBkb2N1bWVudDwidSI/ZG9jdW1lbnQ6bnVsbCxJbz1PdCYmT3QuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKSxuZD17aW5zZXJ0OihlLHQsbik9Pnt0Lmluc2VydEJlZm9yZShlLG58fG51bGwpfSxyZW1vdmU6ZT0+e2NvbnN0IHQ9ZS5wYXJlbnROb2RlO3QmJnQucmVtb3ZlQ2hpbGQoZSl9LGNyZWF0ZUVsZW1lbnQ6KGUsdCxuLHIpPT57Y29uc3Qgcz10PT09InN2ZyI/T3QuY3JlYXRlRWxlbWVudE5TKGVkLGUpOnQ9PT0ibWF0aG1sIj9PdC5jcmVhdGVFbGVtZW50TlModGQsZSk6bj9PdC5jcmVhdGVFbGVtZW50KGUse2lzOm59KTpPdC5jcmVhdGVFbGVtZW50KGUpO3JldHVybiBlPT09InNlbGVjdCImJnImJnIubXVsdGlwbGUhPW51bGwmJnMuc2V0QXR0cmlidXRlKCJtdWx0aXBsZSIsci5tdWx0aXBsZSksc30sY3JlYXRlVGV4dDplPT5PdC5jcmVhdGVUZXh0Tm9kZShlKSxjcmVhdGVDb21tZW50OmU9Pk90LmNyZWF0ZUNvbW1lbnQoZSksc2V0VGV4dDooZSx0KT0+e2Uubm9kZVZhbHVlPXR9LHNldEVsZW1lbnRUZXh0OihlLHQpPT57ZS50ZXh0Q29udGVudD10fSxwYXJlbnROb2RlOmU9PmUucGFyZW50Tm9kZSxuZXh0U2libGluZzplPT5lLm5leHRTaWJsaW5nLHF1ZXJ5U2VsZWN0b3I6ZT0+T3QucXVlcnlTZWxlY3RvcihlKSxzZXRTY29wZUlkKGUsdCl7ZS5zZXRBdHRyaWJ1dGUodCwiIil9LGluc2VydFN0YXRpY0NvbnRlbnQoZSx0LG4scixzLGkpe2NvbnN0IGE9bj9uLnByZXZpb3VzU2libGluZzp0Lmxhc3RDaGlsZDtpZihzJiYocz09PWl8fHMubmV4dFNpYmxpbmcpKWZvcig7dC5pbnNlcnRCZWZvcmUocy5jbG9uZU5vZGUoITApLG4pLCEocz09PWl8fCEocz1zLm5leHRTaWJsaW5nKSk7KTtlbHNle0lvLmlubmVySFRNTD1MYyhyPT09InN2ZyI/YDxzdmc+JHtlfTwvc3ZnPmA6cj09PSJtYXRobWwiP2A8bWF0aD4ke2V9PC9tYXRoPmA6ZSk7Y29uc3QgdT1Jby5jb250ZW50O2lmKHI9PT0ic3ZnInx8cj09PSJtYXRobWwiKXtjb25zdCBmPXUuZmlyc3RDaGlsZDtmb3IoO2YuZmlyc3RDaGlsZDspdS5hcHBlbmRDaGlsZChmLmZpcnN0Q2hpbGQpO3UucmVtb3ZlQ2hpbGQoZil9dC5pbnNlcnRCZWZvcmUodSxuKX1yZXR1cm5bYT9hLm5leHRTaWJsaW5nOnQuZmlyc3RDaGlsZCxuP24ucHJldmlvdXNTaWJsaW5nOnQubGFzdENoaWxkXX19LER0PSJ0cmFuc2l0aW9uIixMbj0iYW5pbWF0aW9uIixHbj1TeW1ib2woIl92dGMiKSxJYz17bmFtZTpTdHJpbmcsdHlwZTpTdHJpbmcsY3NzOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sZHVyYXRpb246W1N0cmluZyxOdW1iZXIsT2JqZWN0XSxlbnRlckZyb21DbGFzczpTdHJpbmcsZW50ZXJBY3RpdmVDbGFzczpTdHJpbmcsZW50ZXJUb0NsYXNzOlN0cmluZyxhcHBlYXJGcm9tQ2xhc3M6U3RyaW5nLGFwcGVhckFjdGl2ZUNsYXNzOlN0cmluZyxhcHBlYXJUb0NsYXNzOlN0cmluZyxsZWF2ZUZyb21DbGFzczpTdHJpbmcsbGVhdmVBY3RpdmVDbGFzczpTdHJpbmcsbGVhdmVUb0NsYXNzOlN0cmluZ30scmQ9amUoe30scmMsSWMpLHNkPWU9PihlLmRpc3BsYXlOYW1lPSJUcmFuc2l0aW9uIixlLnByb3BzPXJkLGUpLFNuPXNkKChlLHtzbG90czp0fSk9PlpoKFlmLGlkKGUpLHQpKSxZdD0oZSx0PVtdKT0+e3RlKGUpP2UuZm9yRWFjaChuPT5uKC4uLnQpKTplJiZlKC4uLnQpfSxObz1lPT5lP3RlKGUpP2Uuc29tZSh0PT50Lmxlbmd0aD4xKTplLmxlbmd0aD4xOiExO2Z1bmN0aW9uIGlkKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IEggaW4gZSlIIGluIEljfHwodFtIXT1lW0hdKTtpZihlLmNzcz09PSExKXJldHVybiB0O2NvbnN0e25hbWU6bj0idiIsdHlwZTpyLGR1cmF0aW9uOnMsZW50ZXJGcm9tQ2xhc3M6aT1gJHtufS1lbnRlci1mcm9tYCxlbnRlckFjdGl2ZUNsYXNzOmE9YCR7bn0tZW50ZXItYWN0aXZlYCxlbnRlclRvQ2xhc3M6dT1gJHtufS1lbnRlci10b2AsYXBwZWFyRnJvbUNsYXNzOmY9aSxhcHBlYXJBY3RpdmVDbGFzczpkPWEsYXBwZWFyVG9DbGFzczpoPXUsbGVhdmVGcm9tQ2xhc3M6cD1gJHtufS1sZWF2ZS1mcm9tYCxsZWF2ZUFjdGl2ZUNsYXNzOnc9YCR7bn0tbGVhdmUtYWN0aXZlYCxsZWF2ZVRvQ2xhc3M6Qz1gJHtufS1sZWF2ZS10b2B9PWUsbT1vZChzKSxfPW0mJm1bMF0seT1tJiZtWzFdLHtvbkJlZm9yZUVudGVyOlMsb25FbnRlcjpULG9uRW50ZXJDYW5jZWxsZWQ6TyxvbkxlYXZlOkUsb25MZWF2ZUNhbmNlbGxlZDpOLG9uQmVmb3JlQXBwZWFyOnE9UyxvbkFwcGVhcjpLPVQsb25BcHBlYXJDYW5jZWxsZWQ6Rz1PfT10LFY9KEgsbWUsT2UsbmUpPT57SC5fZW50ZXJDYW5jZWxsZWQ9bmUsZW4oSCxtZT9oOnUpLGVuKEgsbWU/ZDphKSxPZSYmT2UoKX0sWD0oSCxtZSk9PntILl9pc0xlYXZpbmc9ITEsZW4oSCxwKSxlbihILEMpLGVuKEgsdyksbWUmJm1lKCl9LGxlPUg9PihtZSxPZSk9Pntjb25zdCBuZT1IP0s6VCxoZT0oKT0+VihtZSxILE9lKTtZdChuZSxbbWUsaGVdKSxGbygoKT0+e2VuKG1lLEg/ZjppKSxBdChtZSxIP2g6dSksTm8obmUpfHxqbyhtZSxyLF8saGUpfSl9O3JldHVybiBqZSh0LHtvbkJlZm9yZUVudGVyKEgpe1l0KFMsW0hdKSxBdChILGkpLEF0KEgsYSl9LG9uQmVmb3JlQXBwZWFyKEgpe1l0KHEsW0hdKSxBdChILGYpLEF0KEgsZCl9LG9uRW50ZXI6bGUoITEpLG9uQXBwZWFyOmxlKCEwKSxvbkxlYXZlKEgsbWUpe0guX2lzTGVhdmluZz0hMDtjb25zdCBPZT0oKT0+WChILG1lKTtBdChILHApLEguX2VudGVyQ2FuY2VsbGVkPyhBdChILHcpLFVvKCkpOihVbygpLEF0KEgsdykpLEZvKCgpPT57SC5faXNMZWF2aW5nJiYoZW4oSCxwKSxBdChILEMpLE5vKEUpfHxqbyhILHIseSxPZSkpfSksWXQoRSxbSCxPZV0pfSxvbkVudGVyQ2FuY2VsbGVkKEgpe1YoSCwhMSx2b2lkIDAsITApLFl0KE8sW0hdKX0sb25BcHBlYXJDYW5jZWxsZWQoSCl7VihILCEwLHZvaWQgMCwhMCksWXQoRyxbSF0pfSxvbkxlYXZlQ2FuY2VsbGVkKEgpe1goSCksWXQoTixbSF0pfX0pfWZ1bmN0aW9uIG9kKGUpe2lmKGU9PW51bGwpcmV0dXJuIG51bGw7aWYoQWUoZSkpcmV0dXJuW0lzKGUuZW50ZXIpLElzKGUubGVhdmUpXTt7Y29uc3QgdD1JcyhlKTtyZXR1cm5bdCx0XX19ZnVuY3Rpb24gSXMoZSl7cmV0dXJuIHVmKGUpfWZ1bmN0aW9uIEF0KGUsdCl7dC5zcGxpdCgvXHMrLykuZm9yRWFjaChuPT5uJiZlLmNsYXNzTGlzdC5hZGQobikpLChlW0duXXx8KGVbR25dPW5ldyBTZXQpKS5hZGQodCl9ZnVuY3Rpb24gZW4oZSx0KXt0LnNwbGl0KC9ccysvKS5mb3JFYWNoKHI9PnImJmUuY2xhc3NMaXN0LnJlbW92ZShyKSk7Y29uc3Qgbj1lW0duXTtuJiYobi5kZWxldGUodCksbi5zaXplfHwoZVtHbl09dm9pZCAwKSl9ZnVuY3Rpb24gRm8oZSl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpfSl9bGV0IGFkPTA7ZnVuY3Rpb24gam8oZSx0LG4scil7Y29uc3Qgcz1lLl9lbmRJZD0rK2FkLGk9KCk9PntzPT09ZS5fZW5kSWQmJnIoKX07aWYobiE9bnVsbClyZXR1cm4gc2V0VGltZW91dChpLG4pO2NvbnN0e3R5cGU6YSx0aW1lb3V0OnUscHJvcENvdW50OmZ9PWNkKGUsdCk7aWYoIWEpcmV0dXJuIHIoKTtjb25zdCBkPWErImVuZCI7bGV0IGg9MDtjb25zdCBwPSgpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKGQsdyksaSgpfSx3PUM9PntDLnRhcmdldD09PWUmJisraD49ZiYmcCgpfTtzZXRUaW1lb3V0KCgpPT57aDxmJiZwKCl9LHUrMSksZS5hZGRFdmVudExpc3RlbmVyKGQsdyl9ZnVuY3Rpb24gY2QoZSx0KXtjb25zdCBuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpLHI9bT0+KG5bbV18fCIiKS5zcGxpdCgiLCAiKSxzPXIoYCR7RHR9RGVsYXlgKSxpPXIoYCR7RHR9RHVyYXRpb25gKSxhPU1vKHMsaSksdT1yKGAke0xufURlbGF5YCksZj1yKGAke0xufUR1cmF0aW9uYCksZD1Nbyh1LGYpO2xldCBoPW51bGwscD0wLHc9MDt0PT09RHQ/YT4wJiYoaD1EdCxwPWEsdz1pLmxlbmd0aCk6dD09PUxuP2Q+MCYmKGg9TG4scD1kLHc9Zi5sZW5ndGgpOihwPU1hdGgubWF4KGEsZCksaD1wPjA/YT5kP0R0OkxuOm51bGwsdz1oP2g9PT1EdD9pLmxlbmd0aDpmLmxlbmd0aDowKTtjb25zdCBDPWg9PT1EdCYmL1xiKHRyYW5zZm9ybXxhbGwpKCx8JCkvLnRlc3QocihgJHtEdH1Qcm9wZXJ0eWApLnRvU3RyaW5nKCkpO3JldHVybnt0eXBlOmgsdGltZW91dDpwLHByb3BDb3VudDp3LGhhc1RyYW5zZm9ybTpDfX1mdW5jdGlvbiBNbyhlLHQpe2Zvcig7ZS5sZW5ndGg8dC5sZW5ndGg7KWU9ZS5jb25jYXQoZSk7cmV0dXJuIE1hdGgubWF4KC4uLnQubWFwKChuLHIpPT5EbyhuKStEbyhlW3JdKSkpfWZ1bmN0aW9uIERvKGUpe3JldHVybiBlPT09ImF1dG8iPzA6TnVtYmVyKGUuc2xpY2UoMCwtMSkucmVwbGFjZSgiLCIsIi4iKSkqMWUzfWZ1bmN0aW9uIFVvKCl7cmV0dXJuIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0fWZ1bmN0aW9uIGxkKGUsdCxuKXtjb25zdCByPWVbR25dO3ImJih0PSh0P1t0LC4uLnJdOlsuLi5yXSkuam9pbigiICIpKSx0PT1udWxsP2UucmVtb3ZlQXR0cmlidXRlKCJjbGFzcyIpOm4/ZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0KTplLmNsYXNzTmFtZT10fWNvbnN0IEhvPVN5bWJvbCgiX3ZvZCIpLHVkPVN5bWJvbCgiX3ZzaCIpLGZkPVN5bWJvbCgiIiksaGQ9LyhefDspXHMqZGlzcGxheVxzKjovO2Z1bmN0aW9uIGRkKGUsdCxuKXtjb25zdCByPWUuc3R5bGUscz0kZShuKTtsZXQgaT0hMTtpZihuJiYhcyl7aWYodClpZigkZSh0KSlmb3IoY29uc3QgYSBvZiB0LnNwbGl0KCI7Iikpe2NvbnN0IHU9YS5zbGljZSgwLGEuaW5kZXhPZigiOiIpKS50cmltKCk7blt1XT09bnVsbCYmT3Iocix1LCIiKX1lbHNlIGZvcihjb25zdCBhIGluIHQpblthXT09bnVsbCYmT3IocixhLCIiKTtmb3IoY29uc3QgYSBpbiBuKWE9PT0iZGlzcGxheSImJihpPSEwKSxPcihyLGEsblthXSl9ZWxzZSBpZihzKXtpZih0IT09bil7Y29uc3QgYT1yW2ZkXTthJiYobis9IjsiK2EpLHIuY3NzVGV4dD1uLGk9aGQudGVzdChuKX19ZWxzZSB0JiZlLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKTtIbyBpbiBlJiYoZVtIb109aT9yLmRpc3BsYXk6IiIsZVt1ZF0mJihyLmRpc3BsYXk9Im5vbmUiKSl9Y29uc3QgQm89L1xzKiFpbXBvcnRhbnQkLztmdW5jdGlvbiBPcihlLHQsbil7aWYodGUobikpbi5mb3JFYWNoKHI9Pk9yKGUsdCxyKSk7ZWxzZSBpZihuPT1udWxsJiYobj0iIiksdC5zdGFydHNXaXRoKCItLSIpKWUuc2V0UHJvcGVydHkodCxuKTtlbHNle2NvbnN0IHI9cGQoZSx0KTtCby50ZXN0KG4pP2Uuc2V0UHJvcGVydHkobG4ociksbi5yZXBsYWNlKEJvLCIiKSwiaW1wb3J0YW50Iik6ZVtyXT1ufX1jb25zdCB6bz1bIldlYmtpdCIsIk1veiIsIm1zIl0sTnM9e307ZnVuY3Rpb24gcGQoZSx0KXtjb25zdCBuPU5zW3RdO2lmKG4pcmV0dXJuIG47bGV0IHI9V3QodCk7aWYociE9PSJmaWx0ZXIiJiZyIGluIGUpcmV0dXJuIE5zW3RdPXI7cj1FYShyKTtmb3IobGV0IHM9MDtzPHpvLmxlbmd0aDtzKyspe2NvbnN0IGk9em9bc10rcjtpZihpIGluIGUpcmV0dXJuIE5zW3RdPWl9cmV0dXJuIHR9Y29uc3QgcW89Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiO2Z1bmN0aW9uIFZvKGUsdCxuLHIscyxpPW1mKHQpKXtyJiZ0LnN0YXJ0c1dpdGgoInhsaW5rOiIpP249PW51bGw/ZS5yZW1vdmVBdHRyaWJ1dGVOUyhxbyx0LnNsaWNlKDYsdC5sZW5ndGgpKTplLnNldEF0dHJpYnV0ZU5TKHFvLHQsbik6bj09bnVsbHx8aSYmIU9hKG4pP2UucmVtb3ZlQXR0cmlidXRlKHQpOmUuc2V0QXR0cmlidXRlKHQsaT8iIjpGdChuKT9TdHJpbmcobik6bil9ZnVuY3Rpb24gV28oZSx0LG4scixzKXtpZih0PT09ImlubmVySFRNTCJ8fHQ9PT0idGV4dENvbnRlbnQiKXtuIT1udWxsJiYoZVt0XT10PT09ImlubmVySFRNTCI/TGMobik6bik7cmV0dXJufWNvbnN0IGk9ZS50YWdOYW1lO2lmKHQ9PT0idmFsdWUiJiZpIT09IlBST0dSRVNTIiYmIWkuaW5jbHVkZXMoIi0iKSl7Y29uc3QgdT1pPT09Ik9QVElPTiI/ZS5nZXRBdHRyaWJ1dGUoInZhbHVlIil8fCIiOmUudmFsdWUsZj1uPT1udWxsP2UudHlwZT09PSJjaGVja2JveCI/Im9uIjoiIjpTdHJpbmcobik7KHUhPT1mfHwhKCJfdmFsdWUiaW4gZSkpJiYoZS52YWx1ZT1mKSxuPT1udWxsJiZlLnJlbW92ZUF0dHJpYnV0ZSh0KSxlLl92YWx1ZT1uO3JldHVybn1sZXQgYT0hMTtpZihuPT09IiJ8fG49PW51bGwpe2NvbnN0IHU9dHlwZW9mIGVbdF07dT09PSJib29sZWFuIj9uPU9hKG4pOm49PW51bGwmJnU9PT0ic3RyaW5nIj8obj0iIixhPSEwKTp1PT09Im51bWJlciImJihuPTAsYT0hMCl9dHJ5e2VbdF09bn1jYXRjaHt9YSYmZS5yZW1vdmVBdHRyaWJ1dGUoc3x8dCl9ZnVuY3Rpb24gbW4oZSx0LG4scil7ZS5hZGRFdmVudExpc3RlbmVyKHQsbixyKX1mdW5jdGlvbiBnZChlLHQsbixyKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuLHIpfWNvbnN0IEtvPVN5bWJvbCgiX3ZlaSIpO2Z1bmN0aW9uIG1kKGUsdCxuLHIscz1udWxsKXtjb25zdCBpPWVbS29dfHwoZVtLb109e30pLGE9aVt0XTtpZihyJiZhKWEudmFsdWU9cjtlbHNle2NvbnN0W3UsZl09YmQodCk7aWYocil7Y29uc3QgZD1pW3RdPXdkKHIscyk7bW4oZSx1LGQsZil9ZWxzZSBhJiYoZ2QoZSx1LGEsZiksaVt0XT12b2lkIDApfX1jb25zdCBKbz0vKD86T25jZXxQYXNzaXZlfENhcHR1cmUpJC87ZnVuY3Rpb24gYmQoZSl7bGV0IHQ7aWYoSm8udGVzdChlKSl7dD17fTtsZXQgcjtmb3IoO3I9ZS5tYXRjaChKbyk7KWU9ZS5zbGljZSgwLGUubGVuZ3RoLXJbMF0ubGVuZ3RoKSx0W3JbMF0udG9Mb3dlckNhc2UoKV09ITB9cmV0dXJuW2VbMl09PT0iOiI/ZS5zbGljZSgzKTpsbihlLnNsaWNlKDIpKSx0XX1sZXQgRnM9MDtjb25zdCB2ZD1Qcm9taXNlLnJlc29sdmUoKSx5ZD0oKT0+RnN8fCh2ZC50aGVuKCgpPT5Gcz0wKSxGcz1EYXRlLm5vdygpKTtmdW5jdGlvbiB3ZChlLHQpe2NvbnN0IG49cj0+e2lmKCFyLl92dHMpci5fdnRzPURhdGUubm93KCk7ZWxzZSBpZihyLl92dHM8PW4uYXR0YWNoZWQpcmV0dXJuO2d0KF9kKHIsbi52YWx1ZSksdCw1LFtyXSl9O3JldHVybiBuLnZhbHVlPWUsbi5hdHRhY2hlZD15ZCgpLG59ZnVuY3Rpb24gX2QoZSx0KXtpZih0ZSh0KSl7Y29uc3Qgbj1lLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjtyZXR1cm4gZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb249KCk9PntuLmNhbGwoZSksZS5fc3RvcHBlZD0hMH0sdC5tYXAocj0+cz0+IXMuX3N0b3BwZWQmJnImJnIocykpfWVsc2UgcmV0dXJuIHR9Y29uc3QgWG89ZT0+ZS5jaGFyQ29kZUF0KDApPT09MTExJiZlLmNoYXJDb2RlQXQoMSk9PT0xMTAmJmUuY2hhckNvZGVBdCgyKT45NiYmZS5jaGFyQ29kZUF0KDIpPDEyMyx4ZD0oZSx0LG4scixzLGkpPT57Y29uc3QgYT1zPT09InN2ZyI7dD09PSJjbGFzcyI/bGQoZSxyLGEpOnQ9PT0ic3R5bGUiP2RkKGUsbixyKTpLcih0KT95aSh0KXx8bWQoZSx0LG4scixpKToodFswXT09PSIuIj8odD10LnNsaWNlKDEpLCEwKTp0WzBdPT09Il4iPyh0PXQuc2xpY2UoMSksITEpOkNkKGUsdCxyLGEpKT8oV28oZSx0LHIpLCFlLnRhZ05hbWUuaW5jbHVkZXMoIi0iKSYmKHQ9PT0idmFsdWUifHx0PT09ImNoZWNrZWQifHx0PT09InNlbGVjdGVkIikmJlZvKGUsdCxyLGEsaSx0IT09InZhbHVlIikpOmUuX2lzVnVlQ0UmJigvW0EtWl0vLnRlc3QodCl8fCEkZShyKSk/V28oZSxXdCh0KSxyLGksdCk6KHQ9PT0idHJ1ZS12YWx1ZSI/ZS5fdHJ1ZVZhbHVlPXI6dD09PSJmYWxzZS12YWx1ZSImJihlLl9mYWxzZVZhbHVlPXIpLFZvKGUsdCxyLGEpKX07ZnVuY3Rpb24gQ2QoZSx0LG4scil7aWYocilyZXR1cm4hISh0PT09ImlubmVySFRNTCJ8fHQ9PT0idGV4dENvbnRlbnQifHx0IGluIGUmJlhvKHQpJiZzZShuKSk7aWYodD09PSJzcGVsbGNoZWNrInx8dD09PSJkcmFnZ2FibGUifHx0PT09InRyYW5zbGF0ZSJ8fHQ9PT0iYXV0b2NvcnJlY3QifHx0PT09ImZvcm0ifHx0PT09Imxpc3QiJiZlLnRhZ05hbWU9PT0iSU5QVVQifHx0PT09InR5cGUiJiZlLnRhZ05hbWU9PT0iVEVYVEFSRUEiKXJldHVybiExO2lmKHQ9PT0id2lkdGgifHx0PT09ImhlaWdodCIpe2NvbnN0IHM9ZS50YWdOYW1lO2lmKHM9PT0iSU1HInx8cz09PSJWSURFTyJ8fHM9PT0iQ0FOVkFTInx8cz09PSJTT1VSQ0UiKXJldHVybiExfXJldHVybiBYbyh0KSYmJGUobik/ITE6dCBpbiBlfWNvbnN0IEdvPWU9Pntjb25zdCB0PWUucHJvcHNbIm9uVXBkYXRlOm1vZGVsVmFsdWUiXXx8ITE7cmV0dXJuIHRlKHQpP249PnduKHQsbik6dH07ZnVuY3Rpb24gU2QoZSl7ZS50YXJnZXQuY29tcG9zaW5nPSEwfWZ1bmN0aW9uIFFvKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7dC5jb21wb3NpbmcmJih0LmNvbXBvc2luZz0hMSx0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIpKSl9Y29uc3QganM9U3ltYm9sKCJfYXNzaWduIiksYWk9e2NyZWF0ZWQoZSx7bW9kaWZpZXJzOntsYXp5OnQsdHJpbTpuLG51bWJlcjpyfX0scyl7ZVtqc109R28ocyk7Y29uc3QgaT1yfHxzLnByb3BzJiZzLnByb3BzLnR5cGU9PT0ibnVtYmVyIjttbihlLHQ/ImNoYW5nZSI6ImlucHV0IixhPT57aWYoYS50YXJnZXQuY29tcG9zaW5nKXJldHVybjtsZXQgdT1lLnZhbHVlO24mJih1PXUudHJpbSgpKSxpJiYodT1xcyh1KSksZVtqc10odSl9KSxuJiZtbihlLCJjaGFuZ2UiLCgpPT57ZS52YWx1ZT1lLnZhbHVlLnRyaW0oKX0pLHR8fChtbihlLCJjb21wb3NpdGlvbnN0YXJ0IixTZCksbW4oZSwiY29tcG9zaXRpb25lbmQiLFFvKSxtbihlLCJjaGFuZ2UiLFFvKSl9LG1vdW50ZWQoZSx7dmFsdWU6dH0pe2UudmFsdWU9dD8/IiJ9LGJlZm9yZVVwZGF0ZShlLHt2YWx1ZTp0LG9sZFZhbHVlOm4sbW9kaWZpZXJzOntsYXp5OnIsdHJpbTpzLG51bWJlcjppfX0sYSl7aWYoZVtqc109R28oYSksZS5jb21wb3NpbmcpcmV0dXJuO2NvbnN0IHU9KGl8fGUudHlwZT09PSJudW1iZXIiKSYmIS9eMFxkLy50ZXN0KGUudmFsdWUpP3FzKGUudmFsdWUpOmUudmFsdWUsZj10Pz8iIjt1IT09ZiYmKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1lJiZlLnR5cGUhPT0icmFuZ2UiJiYociYmdD09PW58fHMmJmUudmFsdWUudHJpbSgpPT09Zil8fChlLnZhbHVlPWYpKX19LFRkPVsiY3RybCIsInNoaWZ0IiwiYWx0IiwibWV0YSJdLEVkPXtzdG9wOmU9PmUuc3RvcFByb3BhZ2F0aW9uKCkscHJldmVudDplPT5lLnByZXZlbnREZWZhdWx0KCksc2VsZjplPT5lLnRhcmdldCE9PWUuY3VycmVudFRhcmdldCxjdHJsOmU9PiFlLmN0cmxLZXksc2hpZnQ6ZT0+IWUuc2hpZnRLZXksYWx0OmU9PiFlLmFsdEtleSxtZXRhOmU9PiFlLm1ldGFLZXksbGVmdDplPT4iYnV0dG9uImluIGUmJmUuYnV0dG9uIT09MCxtaWRkbGU6ZT0+ImJ1dHRvbiJpbiBlJiZlLmJ1dHRvbiE9PTEscmlnaHQ6ZT0+ImJ1dHRvbiJpbiBlJiZlLmJ1dHRvbiE9PTIsZXhhY3Q6KGUsdCk9PlRkLnNvbWUobj0+ZVtgJHtufUtleWBdJiYhdC5pbmNsdWRlcyhuKSl9LEFkPShlLHQpPT57Y29uc3Qgbj1lLl93aXRoTW9kc3x8KGUuX3dpdGhNb2RzPXt9KSxyPXQuam9pbigiLiIpO3JldHVybiBuW3JdfHwobltyXT0ocywuLi5pKT0+e2ZvcihsZXQgYT0wO2E8dC5sZW5ndGg7YSsrKXtjb25zdCB1PUVkW3RbYV1dO2lmKHUmJnUocyx0KSlyZXR1cm59cmV0dXJuIGUocywuLi5pKX0pfSxPZD1qZSh7cGF0Y2hQcm9wOnhkfSxuZCk7bGV0IFpvO2Z1bmN0aW9uICRkKCl7cmV0dXJuIFpvfHwoWm89VGgoT2QpKX1jb25zdCBrZD0oLi4uZSk9Pntjb25zdCB0PSRkKCkuY3JlYXRlQXBwKC4uLmUpLHttb3VudDpufT10O3JldHVybiB0Lm1vdW50PXI9Pntjb25zdCBzPVBkKHIpO2lmKCFzKXJldHVybjtjb25zdCBpPXQuX2NvbXBvbmVudDshc2UoaSkmJiFpLnJlbmRlciYmIWkudGVtcGxhdGUmJihpLnRlbXBsYXRlPXMuaW5uZXJIVE1MKSxzLm5vZGVUeXBlPT09MSYmKHMudGV4dENvbnRlbnQ9IiIpO2NvbnN0IGE9bihzLCExLFJkKHMpKTtyZXR1cm4gcyBpbnN0YW5jZW9mIEVsZW1lbnQmJihzLnJlbW92ZUF0dHJpYnV0ZSgidi1jbG9hayIpLHMuc2V0QXR0cmlidXRlKCJkYXRhLXYtYXBwIiwiIikpLGF9LHR9O2Z1bmN0aW9uIFJkKGUpe2lmKGUgaW5zdGFuY2VvZiBTVkdFbGVtZW50KXJldHVybiJzdmciO2lmKHR5cGVvZiBNYXRoTUxFbGVtZW50PT0iZnVuY3Rpb24iJiZlIGluc3RhbmNlb2YgTWF0aE1MRWxlbWVudClyZXR1cm4ibWF0aG1sIn1mdW5jdGlvbiBQZChlKXtyZXR1cm4gJGUoZSk/ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKTplfWNvbnN0IExkPXtjbGFzczoiaW5wdXQtY29udGFpbmVyIn0sSWQ9WyJmb3IiXSxOZD17Y2xhc3M6ImlucHV0LWJvZHkifSxGZD17a2V5OjAsY2xhc3M6InByZWZpeCJ9LGpkPXtjbGFzczoiZXJyb3IifSxNZD17a2V5OjEsY2xhc3M6Im5vdGUifSxEZD1NZSh7X19uYW1lOiJJbnB1dENvbnRhaW5lciIscHJvcHM6e2xhYmVsOntkZWZhdWx0OiIifSxlcnJvcjp7fSxmb3I6e30scHJlZml4OntkZWZhdWx0OiIifSxpc1Bhc3N3b3JkOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0sbm90ZTp7fSx0eXBlOnt9fSxzZXR1cChlKXtjb25zdCB0PWUsbj1nZSgoKT0+dC5lcnJvcnx8IiIpLHI9cGUoITEpO3JldHVybihzLGkpPT4oWigpLHVlKCJkaXYiLExkLFt0LmxhYmVsLmxlbmd0aD4wPyhaKCksdWUoImxhYmVsIix7a2V5OjAsZm9yOnQuZm9yLGNsYXNzOiJjdXJhOm1iLTIgY3VyYTppbmxpbmUtZmxleCBjdXJhOmp1c3RpZnktYmV0d2VlbiBjdXJhOml0ZW1zLWVuZCBjdXJhOnctZnVsbCBjdXJhOnRleHQtc20gY3VyYTpmb250LW1lZGl1bSBjdXJhOnRleHQtYm9keS1ibGFjayJ9LFtqKCJwIixudWxsLHR0KHQubGFiZWwpLDEpLFlzKHMuJHNsb3RzLCJzaWRlbGFiZWwiLHt9LHZvaWQgMCwhMCldLDgsSWQpKTpLZSgiIiwhMCksaigiZGl2IixOZCxbdC5wcmVmaXgubGVuZ3RoPjA/KFooKSx1ZSgic3BhbiIsRmQsdHQodC5wcmVmaXgpLDEpKTpLZSgiIiwhMCksWXMocy4kc2xvdHMsImRlZmF1bHQiLHtwYXNzd29yZElzVmlzaWJsZTpyLnZhbHVlfSx2b2lkIDAsITApXSksaigic3BhbiIsamQsdHQobi52YWx1ZSksMSksKCh0PT1udWxsP3ZvaWQgMDp0Lm5vdGUpfHwiIikubGVuZ3RoPjAmJm4udmFsdWUubGVuZ3RoPT09MD8oWigpLHVlKCJzcGFuIixNZCx0dCh0Lm5vdGUpLDEpKTpLZSgiIiwhMCldKSl9fSksTmM9KGUsdCk9Pntjb25zdCBuPWUuX192Y2NPcHRzfHxlO2Zvcihjb25zdFtyLHNdb2YgdCluW3JdPXM7cmV0dXJuIG59LFlvPU5jKERkLFtbIl9fc2NvcGVJZCIsImRhdGEtdi0zMTQ3NTllYSJdXSksVWQ9WyJ3aWR0aCIsImhlaWdodCJdLGNpPU1lKHtfX25hbWU6Ikljb25Mb2FkaW5nIixwcm9wczp7c2l6ZTp7fX0sc2V0dXAoZSl7Y29uc3QgdD1lO3JldHVybihuLHIpPT4oWigpLHVlKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOnQuc2l6ZSxoZWlnaHQ6dC5zaXplLHZpZXdCb3g6IjAgMCAyNCAyNCJ9LHJbMF18fChyWzBdPVtCaCgnPGcgc3Ryb2tlPSJjdXJyZW50Q29sb3IiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InN0cm9rZS1kYXNoYXJyYXkiIGNhbGNNb2RlPSJzcGxpbmUiIGR1cj0iMS41cyIga2V5U3BsaW5lcz0iMC40MiwwLDAuNTgsMTswLjQyLDAsMC41OCwxOzAuNDIsMCwwLjU4LDEiIGtleVRpbWVzPSIwOzAuNDc1OzAuOTU7MSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHZhbHVlcz0iMCAxNTA7NDIgMTUwOzQyIDE1MDs0MiAxNTAiPjwvYW5pbWF0ZT48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2UtZGFzaG9mZnNldCIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIxLjVzIiBrZXlTcGxpbmVzPSIwLjQyLDAsMC41OCwxOzAuNDIsMCwwLjU4LDE7MC40MiwwLDAuNTgsMSIga2V5VGltZXM9IjA7MC40NzU7MC45NTsxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgdmFsdWVzPSIwOy0xNjstNTk7LTU5Ij48L2FuaW1hdGU+PC9jaXJjbGU+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiBkdXI9IjJzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgdHlwZT0icm90YXRlIiB2YWx1ZXM9IjAgMTIgMTI7MzYwIDEyIDEyIj48L2FuaW1hdGVUcmFuc2Zvcm0+PC9nPicsMSldKSw4LFVkKSl9fSksSGQ9WyJkaXNhYmxlZCJdLEJkPXtrZXk6MCxjbGFzczoiY3VyYS1idG4tc3Bpbm5lciJ9LHpkPU1lKHtfX25hbWU6IkJ1dHRvbiIscHJvcHM6e3NpemU6e2RlZmF1bHQ6Im1kIn0sbGlnaHQ6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSx0eXBlOntkZWZhdWx0OiJwcmltYXJ5In0sb3V0bGluZWQ6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxkaXNhYmxlZDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGxvYWRpbmc6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxibG9jazp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9fSxzZXR1cChlKXtjb25zdCB0PWUsbj1nZSgoKT0+dC5kaXNhYmxlZHx8dC5sb2FkaW5nKSxyPWdlKCgpPT50LmxvYWRpbmcpO3JldHVybihzLGkpPT4oWigpLHVlKCJidXR0b24iLHtkaXNhYmxlZDpuLnZhbHVlLGNsYXNzOnd0KFsiY3VyYS1idG4iLGBjdXJhLWJ0bi0tJHt0LnNpemV9IGAsYGN1cmEtYnRuLSR7dC50eXBlfSR7dC5saWdodD8iLWxpZ2h0IjoiIn0ke3Qub3V0bGluZWQ/Ii0tb3V0bGluZWQiOiIifSBgLHQuYmxvY2smJiJjdXJhLWJ0bi0tYmxvY2siXSl9LFtqKCJzcGFuIix7Y2xhc3M6d3QoWyJjdXJhOnJlbGF0aXZlIGN1cmE6ei1bMl0iLHtpbnZpc2libGU6ci52YWx1ZX1dKX0sW1lzKHMuJHNsb3RzLCJkZWZhdWx0Iix7fSwoKT0+W2lbMF18fChpWzBdPUpuKCIgQnV0dG9uICIpKV0pXSwyKSxyLnZhbHVlPyhaKCksdWUoInNwYW4iLEJkLFtkZShjaSx7c2l6ZTozMn0pXSkpOktlKCIiLCEwKV0sMTAsSGQpKX19KTtmdW5jdGlvbiBBbihlKXtsZXQgdD0hMSxuO2NvbnN0IHI9YmYoITApO3JldHVybiguLi5zKT0+KHR8fChuPXIucnVuKCgpPT5lKC4uLnMpKSx0PSEwKSxuKX10eXBlb2YgV29ya2VyR2xvYmFsU2NvcGU8InUiJiZnbG9iYWxUaGlzIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGU7Y29uc3QgYXI9QW4oKCk9Pntjb25zdCBlPXBlKHtpc09wZW46ITEsbmV3VXNlckZvcm1BY3RpdmU6ITEsYmFzZVVybDoiaHR0cHM6Ly93aWRnZXQuY3VyYWNvbS5pbyIsZW52SXNQcm9kdWN0aW9uOiEwLG1heEZpbGVTaXplOjZlNn0pO3JldHVybntjb25maWc6ZSwuLi57b3BlbkNoYXQoKXtlLnZhbHVlLmlzT3Blbj0hMH0sY2xvc2VDaGF0KCl7ZS52YWx1ZS5pc09wZW49ITF9LHVuc2V0TmV3VXNlckZvcm0oKXtlLnZhbHVlLm5ld1VzZXJGb3JtQWN0aXZlPSExfSxzZXROZXdVc2VyRm9ybSgpe2UudmFsdWUubmV3VXNlckZvcm1BY3RpdmU9ITB9fX19KTtmdW5jdGlvbiBlYShlLHQpe3ZhciBuPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7dCYmKHI9ci5maWx0ZXIoZnVuY3Rpb24ocyl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxzKS5lbnVtZXJhYmxlfSkpLG4ucHVzaC5hcHBseShuLHIpfXJldHVybiBufWZ1bmN0aW9uIFFuKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XSE9bnVsbD9hcmd1bWVudHNbdF06e307dCUyP2VhKE9iamVjdChuKSwhMCkuZm9yRWFjaChmdW5jdGlvbihyKXtxZChlLHIsbltyXSl9KTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG4pKTplYShPYmplY3QobikpLmZvckVhY2goZnVuY3Rpb24ocil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4scikpfSl9cmV0dXJuIGV9ZnVuY3Rpb24gcWQoZSx0LG4pe3JldHVybiB0IGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09bixlfWZ1bmN0aW9uIEJyKGUpe3JldHVybiB0eXBlb2YgZT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBsaShlKXtyZXR1cm4gZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoZSl9ZnVuY3Rpb24gc3MoZSl7cmV0dXJuIEJyKGUuJHZhbGlkYXRvcik/UW4oe30sZSk6eyR2YWxpZGF0b3I6ZX19ZnVuY3Rpb24gRmMoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0Ij9lLiR2YWxpZDplfWZ1bmN0aW9uIGpjKGUpe3JldHVybiBlLiR2YWxpZGF0b3J8fGV9ZnVuY3Rpb24gVmQoZSx0KXtpZighbGkoZSkpdGhyb3cgbmV3IEVycm9yKGBbQHZ1ZWxpZGF0ZS92YWxpZGF0b3JzXTogRmlyc3QgcGFyYW1ldGVyIHRvICJ3aXRoUGFyYW1zIiBzaG91bGQgYmUgYW4gb2JqZWN0LCBwcm92aWRlZCAke3R5cGVvZiBlfWApO2lmKCFsaSh0KSYmIUJyKHQpKXRocm93IG5ldyBFcnJvcigiW0B2dWVsaWRhdGUvdmFsaWRhdG9yc106IFZhbGlkYXRvciBtdXN0IGJlIGEgZnVuY3Rpb24gb3Igb2JqZWN0IHdpdGggJHZhbGlkYXRvciBwYXJhbWV0ZXIiKTtjb25zdCBuPXNzKHQpO3JldHVybiBuLiRwYXJhbXM9UW4oUW4oe30sbi4kcGFyYW1zfHx7fSksZSksbn1mdW5jdGlvbiBXZChlLHQpe2lmKCFCcihlKSYmdHlwZW9mIFUoZSkhPSJzdHJpbmciKXRocm93IG5ldyBFcnJvcihgW0B2dWVsaWRhdGUvdmFsaWRhdG9yc106IEZpcnN0IHBhcmFtZXRlciB0byAid2l0aE1lc3NhZ2UiIHNob3VsZCBiZSBzdHJpbmcgb3IgYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBzdHJpbmcsIHByb3ZpZGVkICR7dHlwZW9mIGV9YCk7aWYoIWxpKHQpJiYhQnIodCkpdGhyb3cgbmV3IEVycm9yKCJbQHZ1ZWxpZGF0ZS92YWxpZGF0b3JzXTogVmFsaWRhdG9yIG11c3QgYmUgYSBmdW5jdGlvbiBvciBvYmplY3Qgd2l0aCAkdmFsaWRhdG9yIHBhcmFtZXRlciIpO2NvbnN0IG49c3ModCk7cmV0dXJuIG4uJG1lc3NhZ2U9ZSxufWZ1bmN0aW9uIEtkKGUpe2xldCB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTpbXTtjb25zdCBuPXNzKGUpO3JldHVybiBRbihRbih7fSxuKSx7fSx7JGFzeW5jOiEwLCR3YXRjaFRhcmdldHM6dH0pfWZ1bmN0aW9uIEpkKGUpe3JldHVybnskdmFsaWRhdG9yKHQpe2Zvcih2YXIgbj1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KG4+MT9uLTE6MCkscz0xO3M8bjtzKyspcltzLTFdPWFyZ3VtZW50c1tzXTtyZXR1cm4gVSh0KS5yZWR1Y2UoKGksYSx1KT0+e2NvbnN0IGY9T2JqZWN0LmVudHJpZXMoYSkucmVkdWNlKChkLGgpPT57bGV0W3Asd109aDtjb25zdCBDPWVbcF18fHt9LG09T2JqZWN0LmVudHJpZXMoQykucmVkdWNlKChfLHkpPT57bGV0W1MsVF09eTtjb25zdCBFPWpjKFQpLmNhbGwodGhpcyx3LGEsdSwuLi5yKSxOPUZjKEUpO2lmKF8uJGRhdGFbU109RSxfLiRkYXRhLiRpbnZhbGlkPSFOfHwhIV8uJGRhdGEuJGludmFsaWQsXy4kZGF0YS4kZXJyb3I9Xy4kZGF0YS4kaW52YWxpZCwhTil7bGV0IHE9VC4kbWVzc2FnZXx8IiI7Y29uc3QgSz1ULiRwYXJhbXN8fHt9O3R5cGVvZiBxPT0iZnVuY3Rpb24iJiYocT1xKHskcGVuZGluZzohMSwkaW52YWxpZDohTiwkcGFyYW1zOkssJG1vZGVsOncsJHJlc3BvbnNlOkV9KSksXy4kZXJyb3JzLnB1c2goeyRwcm9wZXJ0eTpwLCRtZXNzYWdlOnEsJHBhcmFtczpLLCRyZXNwb25zZTpFLCRtb2RlbDp3LCRwZW5kaW5nOiExLCR2YWxpZGF0b3I6U30pfXJldHVybnskdmFsaWQ6Xy4kdmFsaWQmJk4sJGRhdGE6Xy4kZGF0YSwkZXJyb3JzOl8uJGVycm9yc319LHskdmFsaWQ6ITAsJGRhdGE6e30sJGVycm9yczpbXX0pO3JldHVybiBkLiRkYXRhW3BdPW0uJGRhdGEsZC4kZXJyb3JzW3BdPW0uJGVycm9ycyx7JHZhbGlkOmQuJHZhbGlkJiZtLiR2YWxpZCwkZGF0YTpkLiRkYXRhLCRlcnJvcnM6ZC4kZXJyb3JzfX0seyR2YWxpZDohMCwkZGF0YTp7fSwkZXJyb3JzOnt9fSk7cmV0dXJueyR2YWxpZDppLiR2YWxpZCYmZi4kdmFsaWQsJGRhdGE6aS4kZGF0YS5jb25jYXQoZi4kZGF0YSksJGVycm9yczppLiRlcnJvcnMuY29uY2F0KGYuJGVycm9ycyl9fSx7JHZhbGlkOiEwLCRkYXRhOltdLCRlcnJvcnM6W119KX0sJG1lc3NhZ2U6dD0+e2xldHskcmVzcG9uc2U6bn09dDtyZXR1cm4gbj9uLiRlcnJvcnMubWFwKHI9Pk9iamVjdC52YWx1ZXMocikubWFwKHM9PnMubWFwKGk9PmkuJG1lc3NhZ2UpKS5yZWR1Y2UoKHMsaSk9PnMuY29uY2F0KGkpLFtdKSk6W119fX1jb25zdCBGaT1lPT57aWYoZT1VKGUpLEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuISFlLmxlbmd0aDtpZihlPT1udWxsKXJldHVybiExO2lmKGU9PT0hMSlyZXR1cm4hMDtpZihlIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4haXNOYU4oZS5nZXRUaW1lKCkpO2lmKHR5cGVvZiBlPT0ib2JqZWN0Iil7Zm9yKGxldCB0IGluIGUpcmV0dXJuITA7cmV0dXJuITF9cmV0dXJuISFTdHJpbmcoZSkubGVuZ3RofSxYZD1lPT4oZT1VKGUpLEFycmF5LmlzQXJyYXkoZSk/ZS5sZW5ndGg6dHlwZW9mIGU9PSJvYmplY3QiP09iamVjdC5rZXlzKGUpLmxlbmd0aDpTdHJpbmcoZSkubGVuZ3RoKTtmdW5jdGlvbiBLdCgpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHQ9bmV3IEFycmF5KGUpLG49MDtuPGU7bisrKXRbbl09YXJndW1lbnRzW25dO3JldHVybiByPT4ocj1VKHIpLCFGaShyKXx8dC5ldmVyeShzPT4ocy5sYXN0SW5kZXg9MCxzLnRlc3QocikpKSl9dmFyIHhyPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGZvckVhY2g6SmQsbGVuOlhkLG5vcm1hbGl6ZVZhbGlkYXRvck9iamVjdDpzcyxyZWdleDpLdCxyZXE6RmksdW53cmFwOlUsdW53cmFwTm9ybWFsaXplZFZhbGlkYXRvcjpqYyx1bndyYXBWYWxpZGF0b3JSZXNwb25zZTpGYyx3aXRoQXN5bmM6S2Qsd2l0aE1lc3NhZ2U6V2Qsd2l0aFBhcmFtczpWZH0pO0t0KC9eW2EtekEtWl0qJC8pO0t0KC9eW2EtekEtWjAtOV0qJC8pO0t0KC9eXGQqKFwuXGQrKT8kLyk7Y29uc3QgR2Q9L14oPzpbQS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKD86XC5bQS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKSp8Iig/OltceDAxLVx4MDhceDBiXHgwY1x4MGUtXHgxZlx4MjFceDIzLVx4NWJceDVkLVx4N2ZdfFtceDAxLVx4MDlceDBiXHgwY1x4MGUtXHg3Zl0pKiIpQCg/Oig/OlthLXowLTldKD86W2EtejAtOS1dKlthLXowLTldKT9cLikrW2EtejAtOV17Mix9KD86W2EtejAtOS1dKlthLXowLTldKT98XFsoPzooPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/fFthLXowLTktXSpbYS16MC05XTooPzpbXHgwMS1ceDA4XHgwYlx4MGNceDBlLVx4MWZceDIxLVx4NWFceDUzLVx4N2ZdfFxcW1x4MDEtXHgwOVx4MGJceDBjXHgwZS1ceDdmXSkrKVxdKSQvaTtLdChHZCk7ZnVuY3Rpb24gUWQoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIiYmKGU9ZS50cmltKCkpLEZpKGUpfXZhciBNcz17JHZhbGlkYXRvcjpRZCwkbWVzc2FnZToiVmFsdWUgaXMgcmVxdWlyZWQiLCRwYXJhbXM6e3R5cGU6InJlcXVpcmVkIn19O2NvbnN0IFpkPS9eKD86KD86KD86aHR0cHM/fGZ0cCk6KT9cL1wvKSg/OlxTKyg/OjpcUyopP0ApPyg/Oig/ISg/OjEwfDEyNykoPzpcLlxkezEsM30pezN9KSg/ISg/OjE2OVwuMjU0fDE5MlwuMTY4KSg/OlwuXGR7MSwzfSl7Mn0pKD8hMTcyXC4oPzoxWzYtOV18MlxkfDNbMC0xXSkoPzpcLlxkezEsM30pezJ9KSg/OlsxLTldXGQ/fDFcZFxkfDJbMDFdXGR8MjJbMC0zXSkoPzpcLig/OjE/XGR7MSwyfXwyWzAtNF1cZHwyNVswLTVdKSl7Mn0oPzpcLig/OlsxLTldXGQ/fDFcZFxkfDJbMC00XVxkfDI1WzAtNF0pKXwoPzooPzpbYS16MC05XHUwMGExLVx1ZmZmZl1bYS16MC05XHUwMGExLVx1ZmZmZl8tXXswLDYyfSk/W2EtejAtOVx1MDBhMS1cdWZmZmZdXC4pKyg/OlthLXpcdTAwYTEtXHVmZmZmXXsyLH1cLj8pKSg/OjpcZHsyLDV9KT8oPzpbLz8jXVxTKik/JC9pO0t0KFpkKTtLdCgvKF5bMC05XSokKXwoXi1bMC05XSskKS8pO0t0KC9eWy1dP1xkKihcLlxkKyk/JC8pO2Z1bmN0aW9uIHRhKGUsdCl7dmFyIG49T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYocj1yLmZpbHRlcihmdW5jdGlvbihzKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHMpLmVudW1lcmFibGV9KSksbi5wdXNoLmFwcGx5KG4scil9cmV0dXJuIG59ZnVuY3Rpb24genQoZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdIT1udWxsP2FyZ3VtZW50c1t0XTp7fTt0JTI/dGEoT2JqZWN0KG4pLCEwKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe1lkKGUscixuW3JdKX0pOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobikpOnRhKE9iamVjdChuKSkuZm9yRWFjaChmdW5jdGlvbihyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobixyKSl9KX1yZXR1cm4gZX1mdW5jdGlvbiBZZChlLHQsbil7cmV0dXJuIHQgaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1uLGV9ZnVuY3Rpb24gbmEoZSl7bGV0IHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOltdO3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKG4scik9Pih0LmluY2x1ZGVzKHIpfHwobltyXT1VKGVbcl0pKSxuKSx7fSl9ZnVuY3Rpb24genIoZSl7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24ifWZ1bmN0aW9uIGVwKGUpe3JldHVybiBzbihlKXx8SXQoZSl9ZnVuY3Rpb24gTWMoZSx0LG4pe2xldCByPWU7Y29uc3Qgcz10LnNwbGl0KCIuIik7Zm9yKGxldCBpPTA7aTxzLmxlbmd0aDtpKyspe2lmKCFyW3NbaV1dKXJldHVybiBuO3I9cltzW2ldXX1yZXR1cm4gcn1mdW5jdGlvbiBEcyhlLHQsbil7cmV0dXJuIGdlKCgpPT5lLnNvbWUocj0+TWModCxyLHtbbl06ITF9KVtuXSkpfWZ1bmN0aW9uIHJhKGUsdCxuKXtyZXR1cm4gZ2UoKCk9PmUucmVkdWNlKChyLHMpPT57Y29uc3QgaT1NYyh0LHMse1tuXTohMX0pW25dfHxbXTtyZXR1cm4gci5jb25jYXQoaSl9LFtdKSl9ZnVuY3Rpb24gRGMoZSx0LG4scil7cmV0dXJuIGUuY2FsbChyLFUodCksVShuKSxyKX1mdW5jdGlvbiBVYyhlKXtyZXR1cm4gZS4kdmFsaWQhPT12b2lkIDA/IWUuJHZhbGlkOiFlfWZ1bmN0aW9uIHRwKGUsdCxuLHIscyxpLGEpe2xldHskbGF6eTp1LCRyZXdhcmRFYXJseTpmfT1zLGQ9YXJndW1lbnRzLmxlbmd0aD43JiZhcmd1bWVudHNbN10hPT12b2lkIDA/YXJndW1lbnRzWzddOltdLGg9YXJndW1lbnRzLmxlbmd0aD44P2FyZ3VtZW50c1s4XTp2b2lkIDAscD1hcmd1bWVudHMubGVuZ3RoPjk/YXJndW1lbnRzWzldOnZvaWQgMCx3PWFyZ3VtZW50cy5sZW5ndGg+MTA/YXJndW1lbnRzWzEwXTp2b2lkIDA7Y29uc3QgQz1wZSghIXIudmFsdWUpLG09cGUoMCk7bi52YWx1ZT0hMTtjb25zdCBfPWh0KFt0LHJdLmNvbmNhdChkLHcpLCgpPT57aWYodSYmIXIudmFsdWV8fGYmJiFwLnZhbHVlJiYhbi52YWx1ZSlyZXR1cm47bGV0IHk7dHJ5e3k9RGMoZSx0LGgsYSl9Y2F0Y2goUyl7eT1Qcm9taXNlLnJlamVjdChTKX1tLnZhbHVlKyssbi52YWx1ZT0hIW0udmFsdWUsQy52YWx1ZT0hMSxQcm9taXNlLnJlc29sdmUoeSkudGhlbihTPT57bS52YWx1ZS0tLG4udmFsdWU9ISFtLnZhbHVlLGkudmFsdWU9UyxDLnZhbHVlPVVjKFMpfSkuY2F0Y2goUz0+e20udmFsdWUtLSxuLnZhbHVlPSEhbS52YWx1ZSxpLnZhbHVlPVMsQy52YWx1ZT0hMH0pfSx7aW1tZWRpYXRlOiEwLGRlZXA6dHlwZW9mIHQ9PSJvYmplY3QifSk7cmV0dXJueyRpbnZhbGlkOkMsJHVud2F0Y2g6X319ZnVuY3Rpb24gbnAoZSx0LG4scixzLGksYSx1KXtsZXR7JGxhenk6ZiwkcmV3YXJkRWFybHk6ZH09cjtjb25zdCBoPSgpPT4oe30pLHA9Z2UoKCk9PntpZihmJiYhbi52YWx1ZXx8ZCYmIXUudmFsdWUpcmV0dXJuITE7bGV0IHc9ITA7dHJ5e2NvbnN0IEM9RGMoZSx0LGEsaSk7cy52YWx1ZT1DLHc9VWMoQyl9Y2F0Y2goQyl7cy52YWx1ZT1DfXJldHVybiB3fSk7cmV0dXJueyR1bndhdGNoOmgsJGludmFsaWQ6cH19ZnVuY3Rpb24gcnAoZSx0LG4scixzLGksYSx1LGYsZCxoKXtjb25zdCBwPXBlKCExKSx3PWUuJHBhcmFtc3x8e30sQz1wZShudWxsKTtsZXQgbSxfO2UuJGFzeW5jP3skaW52YWxpZDptLCR1bndhdGNoOl99PXRwKGUuJHZhbGlkYXRvcix0LHAsbixyLEMscyxlLiR3YXRjaFRhcmdldHMsZixkLGgpOnskaW52YWxpZDptLCR1bndhdGNoOl99PW5wKGUuJHZhbGlkYXRvcix0LG4scixDLHMsZixkKTtjb25zdCB5PWUuJG1lc3NhZ2U7cmV0dXJueyRtZXNzYWdlOnpyKHkpP2dlKCgpPT55KG5hKHskcGVuZGluZzpwLCRpbnZhbGlkOm0sJHBhcmFtczpuYSh3KSwkbW9kZWw6dCwkcmVzcG9uc2U6QywkdmFsaWRhdG9yOmksJHByb3BlcnR5UGF0aDp1LCRwcm9wZXJ0eTphfSkpKTp5fHwiIiwkcGFyYW1zOncsJHBlbmRpbmc6cCwkaW52YWxpZDptLCRyZXNwb25zZTpDLCR1bndhdGNoOl99fWZ1bmN0aW9uIHNwKCl7bGV0IGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9O2NvbnN0IHQ9VShlKSxuPU9iamVjdC5rZXlzKHQpLHI9e30scz17fSxpPXt9O2xldCBhPW51bGw7cmV0dXJuIG4uZm9yRWFjaCh1PT57Y29uc3QgZj10W3VdO3N3aXRjaCghMCl7Y2FzZSB6cihmLiR2YWxpZGF0b3IpOnJbdV09ZjticmVhaztjYXNlIHpyKGYpOnJbdV09eyR2YWxpZGF0b3I6Zn07YnJlYWs7Y2FzZSB1PT09IiR2YWxpZGF0aW9uR3JvdXBzIjphPWY7YnJlYWs7Y2FzZSB1LnN0YXJ0c1dpdGgoIiQiKTppW3VdPWY7YnJlYWs7ZGVmYXVsdDpzW3VdPWZ9fSkse3J1bGVzOnIsbmVzdGVkVmFsaWRhdG9yczpzLGNvbmZpZzppLHZhbGlkYXRpb25Hcm91cHM6YX19Y29uc3QgaXA9Il9fcm9vdCI7ZnVuY3Rpb24gb3AoZSx0LG4scixzLGksYSx1LGYpe2NvbnN0IGQ9T2JqZWN0LmtleXMoZSksaD1yLmdldChzLGUpLHA9cGUoITEpLHc9cGUoITEpLEM9cGUoMCk7aWYoaCl7aWYoIWguJHBhcnRpYWwpcmV0dXJuIGg7aC4kdW53YXRjaCgpLHAudmFsdWU9aC4kZGlydHkudmFsdWV9Y29uc3QgbT17JGRpcnR5OnAsJHBhdGg6cywkdG91Y2g6KCk9PntwLnZhbHVlfHwocC52YWx1ZT0hMCl9LCRyZXNldDooKT0+e3AudmFsdWUmJihwLnZhbHVlPSExKX0sJGNvbW1pdDooKT0+e319O3JldHVybiBkLmxlbmd0aD8oZC5mb3JFYWNoKF89PnttW19dPXJwKGVbX10sdCxtLiRkaXJ0eSxpLGEsXyxuLHMsZix3LEMpfSksbS4kZXh0ZXJuYWxSZXN1bHRzPWdlKCgpPT51LnZhbHVlP1tdLmNvbmNhdCh1LnZhbHVlKS5tYXAoKF8seSk9Pih7JHByb3BlcnR5UGF0aDpzLCRwcm9wZXJ0eTpuLCR2YWxpZGF0b3I6IiRleHRlcm5hbFJlc3VsdHMiLCR1aWQ6YCR7c30tZXh0ZXJuYWxSZXN1bHQtJHt5fWAsJG1lc3NhZ2U6XywkcGFyYW1zOnt9LCRyZXNwb25zZTpudWxsLCRwZW5kaW5nOiExfSkpOltdKSxtLiRpbnZhbGlkPWdlKCgpPT57Y29uc3QgXz1kLnNvbWUoeT0+VShtW3ldLiRpbnZhbGlkKSk7cmV0dXJuIHcudmFsdWU9XywhIW0uJGV4dGVybmFsUmVzdWx0cy52YWx1ZS5sZW5ndGh8fF99KSxtLiRwZW5kaW5nPWdlKCgpPT5kLnNvbWUoXz0+VShtW19dLiRwZW5kaW5nKSkpLG0uJGVycm9yPWdlKCgpPT5tLiRkaXJ0eS52YWx1ZT9tLiRwZW5kaW5nLnZhbHVlfHxtLiRpbnZhbGlkLnZhbHVlOiExKSxtLiRzaWxlbnRFcnJvcnM9Z2UoKCk9PmQuZmlsdGVyKF89PlUobVtfXS4kaW52YWxpZCkpLm1hcChfPT57Y29uc3QgeT1tW19dO3JldHVybiBMdCh7JHByb3BlcnR5UGF0aDpzLCRwcm9wZXJ0eTpuLCR2YWxpZGF0b3I6XywkdWlkOmAke3N9LSR7X31gLCRtZXNzYWdlOnkuJG1lc3NhZ2UsJHBhcmFtczp5LiRwYXJhbXMsJHJlc3BvbnNlOnkuJHJlc3BvbnNlLCRwZW5kaW5nOnkuJHBlbmRpbmd9KX0pLmNvbmNhdChtLiRleHRlcm5hbFJlc3VsdHMudmFsdWUpKSxtLiRlcnJvcnM9Z2UoKCk9Pm0uJGRpcnR5LnZhbHVlP20uJHNpbGVudEVycm9ycy52YWx1ZTpbXSksbS4kdW53YXRjaD0oKT0+ZC5mb3JFYWNoKF89PnttW19dLiR1bndhdGNoKCl9KSxtLiRjb21taXQ9KCk9Pnt3LnZhbHVlPSEwLEMudmFsdWU9RGF0ZS5ub3coKX0sci5zZXQocyxlLG0pLG0pOihoJiZyLnNldChzLGUsbSksbSl9ZnVuY3Rpb24gYXAoZSx0LG4scixzLGksYSl7Y29uc3QgdT1PYmplY3Qua2V5cyhlKTtyZXR1cm4gdS5sZW5ndGg/dS5yZWR1Y2UoKGYsZCk9PihmW2RdPXVpKHt2YWxpZGF0aW9uczplW2RdLHN0YXRlOnQsa2V5OmQscGFyZW50S2V5Om4scmVzdWx0c0NhY2hlOnIsZ2xvYmFsQ29uZmlnOnMsaW5zdGFuY2U6aSxleHRlcm5hbFJlc3VsdHM6YX0pLGYpLHt9KTp7fX1mdW5jdGlvbiBjcChlLHQsbil7Y29uc3Qgcj1nZSgoKT0+W3Qsbl0uZmlsdGVyKG09Pm0pLnJlZHVjZSgobSxfKT0+bS5jb25jYXQoT2JqZWN0LnZhbHVlcyhVKF8pKSksW10pKSxzPWdlKHtnZXQoKXtyZXR1cm4gZS4kZGlydHkudmFsdWV8fChyLnZhbHVlLmxlbmd0aD9yLnZhbHVlLmV2ZXJ5KG09Pm0uJGRpcnR5KTohMSl9LHNldChtKXtlLiRkaXJ0eS52YWx1ZT1tfX0pLGk9Z2UoKCk9Pntjb25zdCBtPVUoZS4kc2lsZW50RXJyb3JzKXx8W10sXz1yLnZhbHVlLmZpbHRlcih5PT4oVSh5KS4kc2lsZW50RXJyb3JzfHxbXSkubGVuZ3RoKS5yZWR1Y2UoKHksUyk9PnkuY29uY2F0KC4uLlMuJHNpbGVudEVycm9ycyksW10pO3JldHVybiBtLmNvbmNhdChfKX0pLGE9Z2UoKCk9Pntjb25zdCBtPVUoZS4kZXJyb3JzKXx8W10sXz1yLnZhbHVlLmZpbHRlcih5PT4oVSh5KS4kZXJyb3JzfHxbXSkubGVuZ3RoKS5yZWR1Y2UoKHksUyk9PnkuY29uY2F0KC4uLlMuJGVycm9ycyksW10pO3JldHVybiBtLmNvbmNhdChfKX0pLHU9Z2UoKCk9PnIudmFsdWUuc29tZShtPT5tLiRpbnZhbGlkKXx8VShlLiRpbnZhbGlkKXx8ITEpLGY9Z2UoKCk9PnIudmFsdWUuc29tZShtPT5VKG0uJHBlbmRpbmcpKXx8VShlLiRwZW5kaW5nKXx8ITEpLGQ9Z2UoKCk9PnIudmFsdWUuc29tZShtPT5tLiRkaXJ0eSl8fHIudmFsdWUuc29tZShtPT5tLiRhbnlEaXJ0eSl8fHMudmFsdWUpLGg9Z2UoKCk9PnMudmFsdWU/Zi52YWx1ZXx8dS52YWx1ZTohMSkscD0oKT0+e2UuJHRvdWNoKCksci52YWx1ZS5mb3JFYWNoKG09PnttLiR0b3VjaCgpfSl9LHc9KCk9PntlLiRjb21taXQoKSxyLnZhbHVlLmZvckVhY2gobT0+e20uJGNvbW1pdCgpfSl9LEM9KCk9PntlLiRyZXNldCgpLHIudmFsdWUuZm9yRWFjaChtPT57bS4kcmVzZXQoKX0pfTtyZXR1cm4gci52YWx1ZS5sZW5ndGgmJnIudmFsdWUuZXZlcnkobT0+bS4kZGlydHkpJiZwKCkseyRkaXJ0eTpzLCRlcnJvcnM6YSwkaW52YWxpZDp1LCRhbnlEaXJ0eTpkLCRlcnJvcjpoLCRwZW5kaW5nOmYsJHRvdWNoOnAsJHJlc2V0OkMsJHNpbGVudEVycm9yczppLCRjb21taXQ6d319ZnVuY3Rpb24gdWkoZSl7bGV0e3ZhbGlkYXRpb25zOnQsc3RhdGU6bixrZXk6cixwYXJlbnRLZXk6cyxjaGlsZFJlc3VsdHM6aSxyZXN1bHRzQ2FjaGU6YSxnbG9iYWxDb25maWc6dT17fSxpbnN0YW5jZTpmLGV4dGVybmFsUmVzdWx0czpkfT1lO2NvbnN0IGg9cz9gJHtzfS4ke3J9YDpyLHtydWxlczpwLG5lc3RlZFZhbGlkYXRvcnM6dyxjb25maWc6Qyx2YWxpZGF0aW9uR3JvdXBzOm19PXNwKHQpLF89enQoenQoe30sdSksQykseT1yP2dlKCgpPT57Y29uc3QgcmU9VShuKTtyZXR1cm4gcmU/VShyZVtyXSk6dm9pZCAwfSk6bixTPXp0KHt9LFUoZCl8fHt9KSxUPWdlKCgpPT57Y29uc3QgcmU9VShkKTtyZXR1cm4gcj9yZT9VKHJlW3JdKTp2b2lkIDA6cmV9KSxPPW9wKHAseSxyLGEsaCxfLGYsVCxuKSxFPWFwKHcseSxoLGEsXyxmLFQpLE49e307bSYmT2JqZWN0LmVudHJpZXMobSkuZm9yRWFjaChyZT0+e2xldFtSZSxTZV09cmU7TltSZV09eyRpbnZhbGlkOkRzKFNlLEUsIiRpbnZhbGlkIiksJGVycm9yOkRzKFNlLEUsIiRlcnJvciIpLCRwZW5kaW5nOkRzKFNlLEUsIiRwZW5kaW5nIiksJGVycm9yczpyYShTZSxFLCIkZXJyb3JzIiksJHNpbGVudEVycm9yczpyYShTZSxFLCIkc2lsZW50RXJyb3JzIil9fSk7Y29uc3R7JGRpcnR5OnEsJGVycm9yczpLLCRpbnZhbGlkOkcsJGFueURpcnR5OlYsJGVycm9yOlgsJHBlbmRpbmc6bGUsJHRvdWNoOkgsJHJlc2V0Om1lLCRzaWxlbnRFcnJvcnM6T2UsJGNvbW1pdDpuZX09Y3AoTyxFLGkpLGhlPXI/Z2Uoe2dldDooKT0+VSh5KSxzZXQ6cmU9PntxLnZhbHVlPSEwO2NvbnN0IFJlPVUobiksU2U9VShkKTtTZSYmKFNlW3JdPVNbcl0pLE5lKFJlW3JdKT9SZVtyXS52YWx1ZT1yZTpSZVtyXT1yZX19KTpudWxsO3ImJl8uJGF1dG9EaXJ0eSYmaHQoeSwoKT0+e3EudmFsdWV8fEgoKTtjb25zdCByZT1VKGQpO3JlJiYocmVbcl09U1tyXSl9LHtmbHVzaDoic3luYyJ9KTthc3luYyBmdW5jdGlvbiBjZSgpe3JldHVybiBIKCksXy4kcmV3YXJkRWFybHkmJihuZSgpLGF3YWl0IFhzKCkpLGF3YWl0IFhzKCksbmV3IFByb21pc2UocmU9PntpZighbGUudmFsdWUpcmV0dXJuIHJlKCFHLnZhbHVlKTtjb25zdCBSZT1odChsZSwoKT0+e3JlKCFHLnZhbHVlKSxSZSgpfSl9KX1mdW5jdGlvbiBZKHJlKXtyZXR1cm4oaS52YWx1ZXx8e30pW3JlXX1mdW5jdGlvbiBmZSgpe05lKGQpP2QudmFsdWU9UzpPYmplY3Qua2V5cyhTKS5sZW5ndGg9PT0wP09iamVjdC5rZXlzKGQpLmZvckVhY2gocmU9PntkZWxldGUgZFtyZV19KTpPYmplY3QuYXNzaWduKGQsUyl9cmV0dXJuIEx0KHp0KHp0KHp0KHt9LE8pLHt9LHskbW9kZWw6aGUsJGRpcnR5OnEsJGVycm9yOlgsJGVycm9yczpLLCRpbnZhbGlkOkcsJGFueURpcnR5OlYsJHBlbmRpbmc6bGUsJHRvdWNoOkgsJHJlc2V0Om1lLCRwYXRoOmh8fGlwLCRzaWxlbnRFcnJvcnM6T2UsJHZhbGlkYXRlOmNlLCRjb21taXQ6bmV9LGkmJnskZ2V0UmVzdWx0c0ZvckNoaWxkOlksJGNsZWFyRXh0ZXJuYWxSZXN1bHRzOmZlLCR2YWxpZGF0aW9uR3JvdXBzOk59KSxFKSl9Y2xhc3MgbHB7Y29uc3RydWN0b3IoKXt0aGlzLnN0b3JhZ2U9bmV3IE1hcH1zZXQodCxuLHIpe3RoaXMuc3RvcmFnZS5zZXQodCx7cnVsZXM6bixyZXN1bHQ6cn0pfWNoZWNrUnVsZXNWYWxpZGl0eSh0LG4scil7Y29uc3Qgcz1PYmplY3Qua2V5cyhyKSxpPU9iamVjdC5rZXlzKG4pO3JldHVybiBpLmxlbmd0aCE9PXMubGVuZ3RofHwhaS5ldmVyeSh1PT5zLmluY2x1ZGVzKHUpKT8hMTppLmV2ZXJ5KHU9Pm5bdV0uJHBhcmFtcz9PYmplY3Qua2V5cyhuW3VdLiRwYXJhbXMpLmV2ZXJ5KGY9PlUoclt1XS4kcGFyYW1zW2ZdKT09PVUoblt1XS4kcGFyYW1zW2ZdKSk6ITApfWdldCh0LG4pe2NvbnN0IHI9dGhpcy5zdG9yYWdlLmdldCh0KTtpZighcilyZXR1cm47Y29uc3R7cnVsZXM6cyxyZXN1bHQ6aX09cixhPXRoaXMuY2hlY2tSdWxlc1ZhbGlkaXR5KHQsbixzKSx1PWkuJHVud2F0Y2g/aS4kdW53YXRjaDooKT0+KHt9KTtyZXR1cm4gYT9pOnskZGlydHk6aS4kZGlydHksJHBhcnRpYWw6ITAsJHVud2F0Y2g6dX19fWNvbnN0ICRyPXtDT0xMRUNUX0FMTDohMCxDT0xMRUNUX05PTkU6ITF9LHNhPVN5bWJvbCgidnVlbGlkYXRlI2luamVjdENoaWxkUmVzdWx0cyIpLGlhPVN5bWJvbCgidnVlbGlkYXRlI3JlbW92ZUNoaWxkUmVzdWx0cyIpO2Z1bmN0aW9uIHVwKGUpe2xldHskc2NvcGU6dCxpbnN0YW5jZTpufT1lO2NvbnN0IHI9e30scz1wZShbXSksaT1nZSgoKT0+cy52YWx1ZS5yZWR1Y2UoKGgscCk9PihoW3BdPVUocltwXSksaCkse30pKTtmdW5jdGlvbiBhKGgscCl7bGV0eyRyZWdpc3RlckFzOncsJHNjb3BlOkMsJHN0b3BQcm9wYWdhdGlvbjptfT1wO218fHQ9PT0kci5DT0xMRUNUX05PTkV8fEM9PT0kci5DT0xMRUNUX05PTkV8fHQhPT0kci5DT0xMRUNUX0FMTCYmdCE9PUN8fChyW3ddPWgscy52YWx1ZS5wdXNoKHcpKX1uLl9fdnVlbGlkYXRlSW5qZWN0SW5zdGFuY2VzPVtdLmNvbmNhdChuLl9fdnVlbGlkYXRlSW5qZWN0SW5zdGFuY2VzfHxbXSxhKTtmdW5jdGlvbiB1KGgpe3MudmFsdWU9cy52YWx1ZS5maWx0ZXIocD0+cCE9PWgpLGRlbGV0ZSByW2hdfW4uX192dWVsaWRhdGVSZW1vdmVJbnN0YW5jZXM9W10uY29uY2F0KG4uX192dWVsaWRhdGVSZW1vdmVJbnN0YW5jZXN8fFtdLHUpO2NvbnN0IGY9Q24oc2EsW10pO3JpKHNhLG4uX192dWVsaWRhdGVJbmplY3RJbnN0YW5jZXMpO2NvbnN0IGQ9Q24oaWEsW10pO3JldHVybiByaShpYSxuLl9fdnVlbGlkYXRlUmVtb3ZlSW5zdGFuY2VzKSx7Y2hpbGRSZXN1bHRzOmksc2VuZFZhbGlkYXRpb25SZXN1bHRzVG9QYXJlbnQ6ZixyZW1vdmVWYWxpZGF0aW9uUmVzdWx0c0Zyb21QYXJlbnQ6ZH19ZnVuY3Rpb24gSGMoZSl7cmV0dXJuIG5ldyBQcm94eShlLHtnZXQodCxuKXtyZXR1cm4gdHlwZW9mIHRbbl09PSJvYmplY3QiP0hjKHRbbl0pOmdlKCgpPT50W25dKX19KX1sZXQgb2E9MDtmdW5jdGlvbiBmcChlLHQpe3ZhciBuO2xldCByPWFyZ3VtZW50cy5sZW5ndGg+MiYmYXJndW1lbnRzWzJdIT09dm9pZCAwP2FyZ3VtZW50c1syXTp7fTthcmd1bWVudHMubGVuZ3RoPT09MSYmKHI9ZSxlPXZvaWQgMCx0PXZvaWQgMCk7bGV0eyRyZWdpc3RlckFzOnMsJHNjb3BlOmk9JHIuQ09MTEVDVF9BTEwsJHN0b3BQcm9wYWdhdGlvbjphLCRleHRlcm5hbFJlc3VsdHM6dSxjdXJyZW50VnVlSW5zdGFuY2U6Zn09cjtjb25zdCBkPWZ8fCgobj1OaSgpKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4ucHJveHkpLGg9ZD9kLiRvcHRpb25zOnt9O3N8fChvYSs9MSxzPWBfdnVlbGlkYXRlXyR7b2F9YCk7Y29uc3QgcD1wZSh7fSksdz1uZXcgbHAse2NoaWxkUmVzdWx0czpDLHNlbmRWYWxpZGF0aW9uUmVzdWx0c1RvUGFyZW50Om0scmVtb3ZlVmFsaWRhdGlvblJlc3VsdHNGcm9tUGFyZW50Ol99PWQ/dXAoeyRzY29wZTppLGluc3RhbmNlOmR9KTp7Y2hpbGRSZXN1bHRzOnBlKHt9KX07aWYoIWUmJmgudmFsaWRhdGlvbnMpe2NvbnN0IHk9aC52YWxpZGF0aW9uczt0PXBlKHt9KSx1YygoKT0+e3QudmFsdWU9ZCxodCgoKT0+enIoeSk/eS5jYWxsKHQudmFsdWUsbmV3IEhjKHQudmFsdWUpKTp5LFM9PntwLnZhbHVlPXVpKHt2YWxpZGF0aW9uczpTLHN0YXRlOnQsY2hpbGRSZXN1bHRzOkMscmVzdWx0c0NhY2hlOncsZ2xvYmFsQ29uZmlnOnIsaW5zdGFuY2U6ZCxleHRlcm5hbFJlc3VsdHM6dXx8ZC52dWVsaWRhdGVFeHRlcm5hbFJlc3VsdHN9KX0se2ltbWVkaWF0ZTohMH0pfSkscj1oLnZhbGlkYXRpb25zQ29uZmlnfHxyfWVsc2V7Y29uc3QgeT1OZShlKXx8ZXAoZSk/ZTpMdChlfHx7fSk7aHQoeSxTPT57cC52YWx1ZT11aSh7dmFsaWRhdGlvbnM6UyxzdGF0ZTp0LGNoaWxkUmVzdWx0czpDLHJlc3VsdHNDYWNoZTp3LGdsb2JhbENvbmZpZzpyLGluc3RhbmNlOmQ/P3t9LGV4dGVybmFsUmVzdWx0czp1fSl9LHtpbW1lZGlhdGU6ITB9KX1yZXR1cm4gZCYmKG0uZm9yRWFjaCh5PT55KHAseyRyZWdpc3RlckFzOnMsJHNjb3BlOmksJHN0b3BQcm9wYWdhdGlvbjphfSkpLGVzKCgpPT5fLmZvckVhY2goeT0+eShzKSkpKSxnZSgoKT0+enQoenQoe30sVShwLnZhbHVlKSksQy52YWx1ZSkpfWNsYXNzIGppe2xpc3RlbkZvcldoaXNwZXIodCxuKXtyZXR1cm4gdGhpcy5saXN0ZW4oIi5jbGllbnQtIit0LG4pfW5vdGlmaWNhdGlvbih0KXtyZXR1cm4gdGhpcy5saXN0ZW4oIi5JbGx1bWluYXRlXFxOb3RpZmljYXRpb25zXFxFdmVudHNcXEJyb2FkY2FzdE5vdGlmaWNhdGlvbkNyZWF0ZWQiLHQpfXN0b3BMaXN0ZW5pbmdGb3JXaGlzcGVyKHQsbil7cmV0dXJuIHRoaXMuc3RvcExpc3RlbmluZygiLmNsaWVudC0iK3Qsbil9fWNsYXNzIEJje2NvbnN0cnVjdG9yKHQpe3RoaXMubmFtZXNwYWNlPXR9Zm9ybWF0KHQpe3JldHVyblsiLiIsIlxcIl0uaW5jbHVkZXModC5jaGFyQXQoMCkpP3Quc3Vic3RyaW5nKDEpOih0aGlzLm5hbWVzcGFjZSYmKHQ9dGhpcy5uYW1lc3BhY2UrIi4iK3QpLHQucmVwbGFjZSgvXC4vZywiXFwiKSl9c2V0TmFtZXNwYWNlKHQpe3RoaXMubmFtZXNwYWNlPXR9fWZ1bmN0aW9uIGhwKGUpe3RyeXtuZXcgZX1jYXRjaCh0KXtpZih0IGluc3RhbmNlb2YgRXJyb3ImJnQubWVzc2FnZS5pbmNsdWRlcygiaXMgbm90IGEgY29uc3RydWN0b3IiKSlyZXR1cm4hMX1yZXR1cm4hMH1jbGFzcyBNaSBleHRlbmRzIGppe2NvbnN0cnVjdG9yKHQsbixyKXtzdXBlcigpLHRoaXMubmFtZT1uLHRoaXMucHVzaGVyPXQsdGhpcy5vcHRpb25zPXIsdGhpcy5ldmVudEZvcm1hdHRlcj1uZXcgQmModGhpcy5vcHRpb25zLm5hbWVzcGFjZSksdGhpcy5zdWJzY3JpYmUoKX1zdWJzY3JpYmUoKXt0aGlzLnN1YnNjcmlwdGlvbj10aGlzLnB1c2hlci5zdWJzY3JpYmUodGhpcy5uYW1lKX11bnN1YnNjcmliZSgpe3RoaXMucHVzaGVyLnVuc3Vic2NyaWJlKHRoaXMubmFtZSl9bGlzdGVuKHQsbil7cmV0dXJuIHRoaXMub24odGhpcy5ldmVudEZvcm1hdHRlci5mb3JtYXQodCksbiksdGhpc31saXN0ZW5Ub0FsbCh0KXtyZXR1cm4gdGhpcy5zdWJzY3JpcHRpb24uYmluZF9nbG9iYWwoKG4scik9PntpZihuLnN0YXJ0c1dpdGgoInB1c2hlcjoiKSlyZXR1cm47bGV0IHM9U3RyaW5nKHRoaXMub3B0aW9ucy5uYW1lc3BhY2U/PyIiKS5yZXBsYWNlKC9cLi9nLCJcXCIpLGk9bi5zdGFydHNXaXRoKHMpP24uc3Vic3RyaW5nKHMubGVuZ3RoKzEpOiIuIituO3QoaSxyKX0pLHRoaXN9c3RvcExpc3RlbmluZyh0LG4pe3JldHVybiBuP3RoaXMuc3Vic2NyaXB0aW9uLnVuYmluZCh0aGlzLmV2ZW50Rm9ybWF0dGVyLmZvcm1hdCh0KSxuKTp0aGlzLnN1YnNjcmlwdGlvbi51bmJpbmQodGhpcy5ldmVudEZvcm1hdHRlci5mb3JtYXQodCkpLHRoaXN9c3RvcExpc3RlbmluZ1RvQWxsKHQpe3JldHVybiB0P3RoaXMuc3Vic2NyaXB0aW9uLnVuYmluZF9nbG9iYWwodCk6dGhpcy5zdWJzY3JpcHRpb24udW5iaW5kX2dsb2JhbCgpLHRoaXN9c3Vic2NyaWJlZCh0KXtyZXR1cm4gdGhpcy5vbigicHVzaGVyOnN1YnNjcmlwdGlvbl9zdWNjZWVkZWQiLCgpPT57dCgpfSksdGhpc31lcnJvcih0KXtyZXR1cm4gdGhpcy5vbigicHVzaGVyOnN1YnNjcmlwdGlvbl9lcnJvciIsbj0+e3Qobil9KSx0aGlzfW9uKHQsbil7cmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uLmJpbmQodCxuKSx0aGlzfX1jbGFzcyB6YyBleHRlbmRzIE1pe3doaXNwZXIodCxuKXtyZXR1cm4gdGhpcy5wdXNoZXIuY2hhbm5lbHMuY2hhbm5lbHNbdGhpcy5uYW1lXS50cmlnZ2VyKGBjbGllbnQtJHt0fWAsbiksdGhpc319Y2xhc3MgZHAgZXh0ZW5kcyBNaXt3aGlzcGVyKHQsbil7cmV0dXJuIHRoaXMucHVzaGVyLmNoYW5uZWxzLmNoYW5uZWxzW3RoaXMubmFtZV0udHJpZ2dlcihgY2xpZW50LSR7dH1gLG4pLHRoaXN9fWNsYXNzIHBwIGV4dGVuZHMgemN7aGVyZSh0KXtyZXR1cm4gdGhpcy5vbigicHVzaGVyOnN1YnNjcmlwdGlvbl9zdWNjZWVkZWQiLG49Pnt0KE9iamVjdC5rZXlzKG4ubWVtYmVycykubWFwKHI9Pm4ubWVtYmVyc1tyXSkpfSksdGhpc31qb2luaW5nKHQpe3JldHVybiB0aGlzLm9uKCJwdXNoZXI6bWVtYmVyX2FkZGVkIixuPT57dChuLmluZm8pfSksdGhpc313aGlzcGVyKHQsbil7cmV0dXJuIHRoaXMucHVzaGVyLmNoYW5uZWxzLmNoYW5uZWxzW3RoaXMubmFtZV0udHJpZ2dlcihgY2xpZW50LSR7dH1gLG4pLHRoaXN9bGVhdmluZyh0KXtyZXR1cm4gdGhpcy5vbigicHVzaGVyOm1lbWJlcl9yZW1vdmVkIixuPT57dChuLmluZm8pfSksdGhpc319Y2xhc3MgcWMgZXh0ZW5kcyBqaXtjb25zdHJ1Y3Rvcih0LG4scil7c3VwZXIoKSx0aGlzLmV2ZW50cz17fSx0aGlzLmxpc3RlbmVycz17fSx0aGlzLm5hbWU9bix0aGlzLnNvY2tldD10LHRoaXMub3B0aW9ucz1yLHRoaXMuZXZlbnRGb3JtYXR0ZXI9bmV3IEJjKHRoaXMub3B0aW9ucy5uYW1lc3BhY2UpLHRoaXMuc3Vic2NyaWJlKCl9c3Vic2NyaWJlKCl7dGhpcy5zb2NrZXQuZW1pdCgic3Vic2NyaWJlIix7Y2hhbm5lbDp0aGlzLm5hbWUsYXV0aDp0aGlzLm9wdGlvbnMuYXV0aHx8e319KX11bnN1YnNjcmliZSgpe3RoaXMudW5iaW5kKCksdGhpcy5zb2NrZXQuZW1pdCgidW5zdWJzY3JpYmUiLHtjaGFubmVsOnRoaXMubmFtZSxhdXRoOnRoaXMub3B0aW9ucy5hdXRofHx7fX0pfWxpc3Rlbih0LG4pe3JldHVybiB0aGlzLm9uKHRoaXMuZXZlbnRGb3JtYXR0ZXIuZm9ybWF0KHQpLG4pLHRoaXN9c3RvcExpc3RlbmluZyh0LG4pe3JldHVybiB0aGlzLnVuYmluZEV2ZW50KHRoaXMuZXZlbnRGb3JtYXR0ZXIuZm9ybWF0KHQpLG4pLHRoaXN9c3Vic2NyaWJlZCh0KXtyZXR1cm4gdGhpcy5vbigiY29ubmVjdCIsbj0+e3Qobil9KSx0aGlzfWVycm9yKHQpe3JldHVybiB0aGlzfW9uKHQsbil7cmV0dXJuIHRoaXMubGlzdGVuZXJzW3RdPXRoaXMubGlzdGVuZXJzW3RdfHxbXSx0aGlzLmV2ZW50c1t0XXx8KHRoaXMuZXZlbnRzW3RdPShyLHMpPT57dGhpcy5uYW1lPT09ciYmdGhpcy5saXN0ZW5lcnNbdF0mJnRoaXMubGlzdGVuZXJzW3RdLmZvckVhY2goaT0+aShzKSl9LHRoaXMuc29ja2V0Lm9uKHQsdGhpcy5ldmVudHNbdF0pKSx0aGlzLmxpc3RlbmVyc1t0XS5wdXNoKG4pLHRoaXN9dW5iaW5kKCl7T2JqZWN0LmtleXModGhpcy5ldmVudHMpLmZvckVhY2godD0+e3RoaXMudW5iaW5kRXZlbnQodCl9KX11bmJpbmRFdmVudCh0LG4pe3RoaXMubGlzdGVuZXJzW3RdPXRoaXMubGlzdGVuZXJzW3RdfHxbXSxuJiYodGhpcy5saXN0ZW5lcnNbdF09dGhpcy5saXN0ZW5lcnNbdF0uZmlsdGVyKHI9PnIhPT1uKSksKCFufHx0aGlzLmxpc3RlbmVyc1t0XS5sZW5ndGg9PT0wKSYmKHRoaXMuZXZlbnRzW3RdJiYodGhpcy5zb2NrZXQucmVtb3ZlTGlzdGVuZXIodCx0aGlzLmV2ZW50c1t0XSksZGVsZXRlIHRoaXMuZXZlbnRzW3RdKSxkZWxldGUgdGhpcy5saXN0ZW5lcnNbdF0pfX1jbGFzcyBWYyBleHRlbmRzIHFje3doaXNwZXIodCxuKXtyZXR1cm4gdGhpcy5zb2NrZXQuZW1pdCgiY2xpZW50IGV2ZW50Iix7Y2hhbm5lbDp0aGlzLm5hbWUsZXZlbnQ6YGNsaWVudC0ke3R9YCxkYXRhOm59KSx0aGlzfX1jbGFzcyBncCBleHRlbmRzIFZje2hlcmUodCl7cmV0dXJuIHRoaXMub24oInByZXNlbmNlOnN1YnNjcmliZWQiLG49Pnt0KG4ubWFwKHI9PnIudXNlcl9pbmZvKSl9KSx0aGlzfWpvaW5pbmcodCl7cmV0dXJuIHRoaXMub24oInByZXNlbmNlOmpvaW5pbmciLG49PnQobi51c2VyX2luZm8pKSx0aGlzfXdoaXNwZXIodCxuKXtyZXR1cm4gdGhpcy5zb2NrZXQuZW1pdCgiY2xpZW50IGV2ZW50Iix7Y2hhbm5lbDp0aGlzLm5hbWUsZXZlbnQ6YGNsaWVudC0ke3R9YCxkYXRhOm59KSx0aGlzfWxlYXZpbmcodCl7cmV0dXJuIHRoaXMub24oInByZXNlbmNlOmxlYXZpbmciLG49PnQobi51c2VyX2luZm8pKSx0aGlzfX1jbGFzcyBxciBleHRlbmRzIGppe3N1YnNjcmliZSgpe311bnN1YnNjcmliZSgpe31saXN0ZW4odCxuKXtyZXR1cm4gdGhpc31saXN0ZW5Ub0FsbCh0KXtyZXR1cm4gdGhpc31zdG9wTGlzdGVuaW5nKHQsbil7cmV0dXJuIHRoaXN9c3Vic2NyaWJlZCh0KXtyZXR1cm4gdGhpc31lcnJvcih0KXtyZXR1cm4gdGhpc31vbih0LG4pe3JldHVybiB0aGlzfX1jbGFzcyBXYyBleHRlbmRzIHFye3doaXNwZXIodCxuKXtyZXR1cm4gdGhpc319Y2xhc3MgbXAgZXh0ZW5kcyBxcnt3aGlzcGVyKHQsbil7cmV0dXJuIHRoaXN9fWNsYXNzIGJwIGV4dGVuZHMgV2N7aGVyZSh0KXtyZXR1cm4gdGhpc31qb2luaW5nKHQpe3JldHVybiB0aGlzfXdoaXNwZXIodCxuKXtyZXR1cm4gdGhpc31sZWF2aW5nKHQpe3JldHVybiB0aGlzfX1jb25zdCBLYz1jbGFzcyBKY3tjb25zdHJ1Y3Rvcih0KXt0aGlzLnNldE9wdGlvbnModCksdGhpcy5jb25uZWN0KCl9c2V0T3B0aW9ucyh0KXt0aGlzLm9wdGlvbnM9ey4uLkpjLl9kZWZhdWx0T3B0aW9ucywuLi50LGJyb2FkY2FzdGVyOnQuYnJvYWRjYXN0ZXJ9O2xldCBuPXRoaXMuY3NyZlRva2VuKCk7biYmKHRoaXMub3B0aW9ucy5hdXRoLmhlYWRlcnNbIlgtQ1NSRi1UT0tFTiJdPW4sdGhpcy5vcHRpb25zLnVzZXJBdXRoZW50aWNhdGlvbi5oZWFkZXJzWyJYLUNTUkYtVE9LRU4iXT1uKSxuPXRoaXMub3B0aW9ucy5iZWFyZXJUb2tlbixuJiYodGhpcy5vcHRpb25zLmF1dGguaGVhZGVycy5BdXRob3JpemF0aW9uPSJCZWFyZXIgIituLHRoaXMub3B0aW9ucy51c2VyQXV0aGVudGljYXRpb24uaGVhZGVycy5BdXRob3JpemF0aW9uPSJCZWFyZXIgIituKX1jc3JmVG9rZW4oKXt2YXIgdCxuO3JldHVybiB0eXBlb2Ygd2luZG93PCJ1IiYmKHQ9d2luZG93LkxhcmF2ZWwpIT1udWxsJiZ0LmNzcmZUb2tlbj93aW5kb3cuTGFyYXZlbC5jc3JmVG9rZW46dGhpcy5vcHRpb25zLmNzcmZUb2tlbj90aGlzLm9wdGlvbnMuY3NyZlRva2VuOnR5cGVvZiBkb2N1bWVudDwidSImJnR5cGVvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPT0iZnVuY3Rpb24iPygobj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9ImNzcmYtdG9rZW4iXScpKT09bnVsbD92b2lkIDA6bi5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKSk/P251bGw6bnVsbH19O0tjLl9kZWZhdWx0T3B0aW9ucz17YXV0aDp7aGVhZGVyczp7fX0sYXV0aEVuZHBvaW50OiIvYnJvYWRjYXN0aW5nL2F1dGgiLHVzZXJBdXRoZW50aWNhdGlvbjp7ZW5kcG9pbnQ6Ii9icm9hZGNhc3RpbmcvdXNlci1hdXRoIixoZWFkZXJzOnt9fSxjc3JmVG9rZW46bnVsbCxiZWFyZXJUb2tlbjpudWxsLGhvc3Q6bnVsbCxrZXk6bnVsbCxuYW1lc3BhY2U6IkFwcC5FdmVudHMifTtsZXQgRGk9S2M7Y2xhc3MgQ3IgZXh0ZW5kcyBEaXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5jaGFubmVscz17fX1jb25uZWN0KCl7aWYodHlwZW9mIHRoaXMub3B0aW9ucy5jbGllbnQ8InUiKXRoaXMucHVzaGVyPXRoaXMub3B0aW9ucy5jbGllbnQ7ZWxzZSBpZih0aGlzLm9wdGlvbnMuUHVzaGVyKXRoaXMucHVzaGVyPW5ldyB0aGlzLm9wdGlvbnMuUHVzaGVyKHRoaXMub3B0aW9ucy5rZXksdGhpcy5vcHRpb25zKTtlbHNlIGlmKHR5cGVvZiB3aW5kb3c8InUiJiZ0eXBlb2Ygd2luZG93LlB1c2hlcjwidSIpdGhpcy5wdXNoZXI9bmV3IHdpbmRvdy5QdXNoZXIodGhpcy5vcHRpb25zLmtleSx0aGlzLm9wdGlvbnMpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJQdXNoZXIgY2xpZW50IG5vdCBmb3VuZC4gU2hvdWxkIGJlIGdsb2JhbGx5IGF2YWlsYWJsZSBvciBwYXNzZWQgdmlhIG9wdGlvbnMuY2xpZW50Iil9c2lnbmluKCl7dGhpcy5wdXNoZXIuc2lnbmluKCl9bGlzdGVuKHQsbixyKXtyZXR1cm4gdGhpcy5jaGFubmVsKHQpLmxpc3RlbihuLHIpfWNoYW5uZWwodCl7cmV0dXJuIHRoaXMuY2hhbm5lbHNbdF18fCh0aGlzLmNoYW5uZWxzW3RdPW5ldyBNaSh0aGlzLnB1c2hlcix0LHRoaXMub3B0aW9ucykpLHRoaXMuY2hhbm5lbHNbdF19cHJpdmF0ZUNoYW5uZWwodCl7cmV0dXJuIHRoaXMuY2hhbm5lbHNbInByaXZhdGUtIit0XXx8KHRoaXMuY2hhbm5lbHNbInByaXZhdGUtIit0XT1uZXcgemModGhpcy5wdXNoZXIsInByaXZhdGUtIit0LHRoaXMub3B0aW9ucykpLHRoaXMuY2hhbm5lbHNbInByaXZhdGUtIit0XX1lbmNyeXB0ZWRQcml2YXRlQ2hhbm5lbCh0KXtyZXR1cm4gdGhpcy5jaGFubmVsc1sicHJpdmF0ZS1lbmNyeXB0ZWQtIit0XXx8KHRoaXMuY2hhbm5lbHNbInByaXZhdGUtZW5jcnlwdGVkLSIrdF09bmV3IGRwKHRoaXMucHVzaGVyLCJwcml2YXRlLWVuY3J5cHRlZC0iK3QsdGhpcy5vcHRpb25zKSksdGhpcy5jaGFubmVsc1sicHJpdmF0ZS1lbmNyeXB0ZWQtIit0XX1wcmVzZW5jZUNoYW5uZWwodCl7cmV0dXJuIHRoaXMuY2hhbm5lbHNbInByZXNlbmNlLSIrdF18fCh0aGlzLmNoYW5uZWxzWyJwcmVzZW5jZS0iK3RdPW5ldyBwcCh0aGlzLnB1c2hlciwicHJlc2VuY2UtIit0LHRoaXMub3B0aW9ucykpLHRoaXMuY2hhbm5lbHNbInByZXNlbmNlLSIrdF19bGVhdmUodCl7W3QsInByaXZhdGUtIit0LCJwcml2YXRlLWVuY3J5cHRlZC0iK3QsInByZXNlbmNlLSIrdF0uZm9yRWFjaChuPT57dGhpcy5sZWF2ZUNoYW5uZWwobil9KX1sZWF2ZUNoYW5uZWwodCl7dGhpcy5jaGFubmVsc1t0XSYmKHRoaXMuY2hhbm5lbHNbdF0udW5zdWJzY3JpYmUoKSxkZWxldGUgdGhpcy5jaGFubmVsc1t0XSl9c29ja2V0SWQoKXtyZXR1cm4gdGhpcy5wdXNoZXIuY29ubmVjdGlvbi5zb2NrZXRfaWR9ZGlzY29ubmVjdCgpe3RoaXMucHVzaGVyLmRpc2Nvbm5lY3QoKX19Y2xhc3MgdnAgZXh0ZW5kcyBEaXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5jaGFubmVscz17fX1jb25uZWN0KCl7bGV0IHQ9dGhpcy5nZXRTb2NrZXRJTygpO3RoaXMuc29ja2V0PXQodGhpcy5vcHRpb25zLmhvc3Q/P3ZvaWQgMCx0aGlzLm9wdGlvbnMpLHRoaXMuc29ja2V0Lm9uKCJyZWNvbm5lY3QiLCgpPT57T2JqZWN0LnZhbHVlcyh0aGlzLmNoYW5uZWxzKS5mb3JFYWNoKG49PntuLnN1YnNjcmliZSgpfSl9KX1nZXRTb2NrZXRJTygpe2lmKHR5cGVvZiB0aGlzLm9wdGlvbnMuY2xpZW50PCJ1IilyZXR1cm4gdGhpcy5vcHRpb25zLmNsaWVudDtpZih0eXBlb2Ygd2luZG93PCJ1IiYmdHlwZW9mIHdpbmRvdy5pbzwidSIpcmV0dXJuIHdpbmRvdy5pbzt0aHJvdyBuZXcgRXJyb3IoIlNvY2tldC5pbyBjbGllbnQgbm90IGZvdW5kLiBTaG91bGQgYmUgZ2xvYmFsbHkgYXZhaWxhYmxlIG9yIHBhc3NlZCB2aWEgb3B0aW9ucy5jbGllbnQiKX1saXN0ZW4odCxuLHIpe3JldHVybiB0aGlzLmNoYW5uZWwodCkubGlzdGVuKG4scil9Y2hhbm5lbCh0KXtyZXR1cm4gdGhpcy5jaGFubmVsc1t0XXx8KHRoaXMuY2hhbm5lbHNbdF09bmV3IHFjKHRoaXMuc29ja2V0LHQsdGhpcy5vcHRpb25zKSksdGhpcy5jaGFubmVsc1t0XX1wcml2YXRlQ2hhbm5lbCh0KXtyZXR1cm4gdGhpcy5jaGFubmVsc1sicHJpdmF0ZS0iK3RdfHwodGhpcy5jaGFubmVsc1sicHJpdmF0ZS0iK3RdPW5ldyBWYyh0aGlzLnNvY2tldCwicHJpdmF0ZS0iK3QsdGhpcy5vcHRpb25zKSksdGhpcy5jaGFubmVsc1sicHJpdmF0ZS0iK3RdfXByZXNlbmNlQ2hhbm5lbCh0KXtyZXR1cm4gdGhpcy5jaGFubmVsc1sicHJlc2VuY2UtIit0XXx8KHRoaXMuY2hhbm5lbHNbInByZXNlbmNlLSIrdF09bmV3IGdwKHRoaXMuc29ja2V0LCJwcmVzZW5jZS0iK3QsdGhpcy5vcHRpb25zKSksdGhpcy5jaGFubmVsc1sicHJlc2VuY2UtIit0XX1sZWF2ZSh0KXtbdCwicHJpdmF0ZS0iK3QsInByZXNlbmNlLSIrdF0uZm9yRWFjaChuPT57dGhpcy5sZWF2ZUNoYW5uZWwobil9KX1sZWF2ZUNoYW5uZWwodCl7dGhpcy5jaGFubmVsc1t0XSYmKHRoaXMuY2hhbm5lbHNbdF0udW5zdWJzY3JpYmUoKSxkZWxldGUgdGhpcy5jaGFubmVsc1t0XSl9c29ja2V0SWQoKXtyZXR1cm4gdGhpcy5zb2NrZXQuaWR9ZGlzY29ubmVjdCgpe3RoaXMuc29ja2V0LmRpc2Nvbm5lY3QoKX19Y2xhc3MgYWEgZXh0ZW5kcyBEaXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5jaGFubmVscz17fX1jb25uZWN0KCl7fWxpc3Rlbih0LG4scil7cmV0dXJuIG5ldyBxcn1jaGFubmVsKHQpe3JldHVybiBuZXcgcXJ9cHJpdmF0ZUNoYW5uZWwodCl7cmV0dXJuIG5ldyBXY31lbmNyeXB0ZWRQcml2YXRlQ2hhbm5lbCh0KXtyZXR1cm4gbmV3IG1wfXByZXNlbmNlQ2hhbm5lbCh0KXtyZXR1cm4gbmV3IGJwfWxlYXZlKHQpe31sZWF2ZUNoYW5uZWwodCl7fXNvY2tldElkKCl7cmV0dXJuImZha2Utc29ja2V0LWlkIn1kaXNjb25uZWN0KCl7fX1jbGFzcyB5cHtjb25zdHJ1Y3Rvcih0KXt0aGlzLm9wdGlvbnM9dCx0aGlzLmNvbm5lY3QoKSx0aGlzLm9wdGlvbnMud2l0aG91dEludGVyY2VwdG9yc3x8dGhpcy5yZWdpc3RlckludGVyY2VwdG9ycygpfWNoYW5uZWwodCl7cmV0dXJuIHRoaXMuY29ubmVjdG9yLmNoYW5uZWwodCl9Y29ubmVjdCgpe2lmKHRoaXMub3B0aW9ucy5icm9hZGNhc3Rlcj09PSJyZXZlcmIiKXRoaXMuY29ubmVjdG9yPW5ldyBDcih7Li4udGhpcy5vcHRpb25zLGNsdXN0ZXI6IiJ9KTtlbHNlIGlmKHRoaXMub3B0aW9ucy5icm9hZGNhc3Rlcj09PSJwdXNoZXIiKXRoaXMuY29ubmVjdG9yPW5ldyBDcih0aGlzLm9wdGlvbnMpO2Vsc2UgaWYodGhpcy5vcHRpb25zLmJyb2FkY2FzdGVyPT09ImFibHkiKXRoaXMuY29ubmVjdG9yPW5ldyBDcih7Li4udGhpcy5vcHRpb25zLGNsdXN0ZXI6IiIsYnJvYWRjYXN0ZXI6InB1c2hlciJ9KTtlbHNlIGlmKHRoaXMub3B0aW9ucy5icm9hZGNhc3Rlcj09PSJzb2NrZXQuaW8iKXRoaXMuY29ubmVjdG9yPW5ldyB2cCh0aGlzLm9wdGlvbnMpO2Vsc2UgaWYodGhpcy5vcHRpb25zLmJyb2FkY2FzdGVyPT09Im51bGwiKXRoaXMuY29ubmVjdG9yPW5ldyBhYSh0aGlzLm9wdGlvbnMpO2Vsc2UgaWYodHlwZW9mIHRoaXMub3B0aW9ucy5icm9hZGNhc3Rlcj09ImZ1bmN0aW9uIiYmaHAodGhpcy5vcHRpb25zLmJyb2FkY2FzdGVyKSl0aGlzLmNvbm5lY3Rvcj1uZXcgdGhpcy5vcHRpb25zLmJyb2FkY2FzdGVyKHRoaXMub3B0aW9ucyk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYEJyb2FkY2FzdGVyICR7dHlwZW9mIHRoaXMub3B0aW9ucy5icm9hZGNhc3Rlcn0gJHtTdHJpbmcodGhpcy5vcHRpb25zLmJyb2FkY2FzdGVyKX0gaXMgbm90IHN1cHBvcnRlZC5gKX1kaXNjb25uZWN0KCl7dGhpcy5jb25uZWN0b3IuZGlzY29ubmVjdCgpfWpvaW4odCl7cmV0dXJuIHRoaXMuY29ubmVjdG9yLnByZXNlbmNlQ2hhbm5lbCh0KX1sZWF2ZSh0KXt0aGlzLmNvbm5lY3Rvci5sZWF2ZSh0KX1sZWF2ZUNoYW5uZWwodCl7dGhpcy5jb25uZWN0b3IubGVhdmVDaGFubmVsKHQpfWxlYXZlQWxsQ2hhbm5lbHMoKXtmb3IoY29uc3QgdCBpbiB0aGlzLmNvbm5lY3Rvci5jaGFubmVscyl0aGlzLmxlYXZlQ2hhbm5lbCh0KX1saXN0ZW4odCxuLHIpe3JldHVybiB0aGlzLmNvbm5lY3Rvci5saXN0ZW4odCxuLHIpfXByaXZhdGUodCl7cmV0dXJuIHRoaXMuY29ubmVjdG9yLnByaXZhdGVDaGFubmVsKHQpfWVuY3J5cHRlZFByaXZhdGUodCl7aWYodGhpcy5jb25uZWN0b3JTdXBwb3J0c0VuY3J5cHRlZFByaXZhdGVDaGFubmVscyh0aGlzLmNvbm5lY3RvcikpcmV0dXJuIHRoaXMuY29ubmVjdG9yLmVuY3J5cHRlZFByaXZhdGVDaGFubmVsKHQpO3Rocm93IG5ldyBFcnJvcihgQnJvYWRjYXN0ZXIgJHt0eXBlb2YgdGhpcy5vcHRpb25zLmJyb2FkY2FzdGVyfSAke1N0cmluZyh0aGlzLm9wdGlvbnMuYnJvYWRjYXN0ZXIpfSBkb2VzIG5vdCBzdXBwb3J0IGVuY3J5cHRlZCBwcml2YXRlIGNoYW5uZWxzLmApfWNvbm5lY3RvclN1cHBvcnRzRW5jcnlwdGVkUHJpdmF0ZUNoYW5uZWxzKHQpe3JldHVybiB0IGluc3RhbmNlb2YgQ3J8fHQgaW5zdGFuY2VvZiBhYX1zb2NrZXRJZCgpe3JldHVybiB0aGlzLmNvbm5lY3Rvci5zb2NrZXRJZCgpfXJlZ2lzdGVySW50ZXJjZXB0b3JzKCl7dHlwZW9mIFZ1ZTwidSImJlZ1ZSE9bnVsbCYmVnVlLmh0dHAmJnRoaXMucmVnaXN0ZXJWdWVSZXF1ZXN0SW50ZXJjZXB0b3IoKSx0eXBlb2YgYXhpb3M9PSJmdW5jdGlvbiImJnRoaXMucmVnaXN0ZXJBeGlvc1JlcXVlc3RJbnRlcmNlcHRvcigpLHR5cGVvZiBqUXVlcnk9PSJmdW5jdGlvbiImJnRoaXMucmVnaXN0ZXJqUXVlcnlBamF4U2V0dXAoKSx0eXBlb2YgVHVyYm89PSJvYmplY3QiJiZ0aGlzLnJlZ2lzdGVyVHVyYm9SZXF1ZXN0SW50ZXJjZXB0b3IoKX1yZWdpc3RlclZ1ZVJlcXVlc3RJbnRlcmNlcHRvcigpe1Z1ZS5odHRwLmludGVyY2VwdG9ycy5wdXNoKCh0LG4pPT57dGhpcy5zb2NrZXRJZCgpJiZ0LmhlYWRlcnMuc2V0KCJYLVNvY2tldC1JRCIsdGhpcy5zb2NrZXRJZCgpKSxuKCl9KX1yZWdpc3RlckF4aW9zUmVxdWVzdEludGVyY2VwdG9yKCl7YXhpb3MuaW50ZXJjZXB0b3JzLnJlcXVlc3QudXNlKHQ9Pih0aGlzLnNvY2tldElkKCkmJih0LmhlYWRlcnNbIlgtU29ja2V0LUlkIl09dGhpcy5zb2NrZXRJZCgpKSx0KSl9cmVnaXN0ZXJqUXVlcnlBamF4U2V0dXAoKXt0eXBlb2YgalF1ZXJ5LmFqYXg8InUiJiZqUXVlcnkuYWpheFByZWZpbHRlcigodCxuLHIpPT57dGhpcy5zb2NrZXRJZCgpJiZyLnNldFJlcXVlc3RIZWFkZXIoIlgtU29ja2V0LUlkIix0aGlzLnNvY2tldElkKCkpfSl9cmVnaXN0ZXJUdXJib1JlcXVlc3RJbnRlcmNlcHRvcigpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInR1cmJvOmJlZm9yZS1mZXRjaC1yZXF1ZXN0Iix0PT57dC5kZXRhaWwuZmV0Y2hPcHRpb25zLmhlYWRlcnNbIlgtU29ja2V0LUlkIl09dGhpcy5zb2NrZXRJZCgpfSl9fWZ1bmN0aW9uIHdwKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGUmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCJkZWZhdWx0Iik/ZS5kZWZhdWx0OmV9dmFyIFVzPXtleHBvcnRzOnt9fTsvKiEKICogUHVzaGVyIEphdmFTY3JpcHQgTGlicmFyeSB2OC40LjAKICogaHR0cHM6Ly9wdXNoZXIuY29tLwogKgogKiBDb3B5cmlnaHQgMjAyMCwgUHVzaGVyCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5jZS4KICovdmFyIGNhO2Z1bmN0aW9uIF9wKCl7cmV0dXJuIGNhfHwoY2E9MSxmdW5jdGlvbihlLHQpeyhmdW5jdGlvbihyLHMpe2UuZXhwb3J0cz1zKCl9KSh3aW5kb3csZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHI9e307ZnVuY3Rpb24gcyhpKXtpZihyW2ldKXJldHVybiByW2ldLmV4cG9ydHM7dmFyIGE9cltpXT17aSxsOiExLGV4cG9ydHM6e319O3JldHVybiBuW2ldLmNhbGwoYS5leHBvcnRzLGEsYS5leHBvcnRzLHMpLGEubD0hMCxhLmV4cG9ydHN9cmV0dXJuIHMubT1uLHMuYz1yLHMuZD1mdW5jdGlvbihpLGEsdSl7cy5vKGksYSl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLGEse2VudW1lcmFibGU6ITAsZ2V0OnV9KX0scy5yPWZ1bmN0aW9uKGkpe3R5cGVvZiBTeW1ib2w8InUiJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoaSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LHMudD1mdW5jdGlvbihpLGEpe2lmKGEmMSYmKGk9cyhpKSksYSY4fHxhJjQmJnR5cGVvZiBpPT0ib2JqZWN0IiYmaSYmaS5fX2VzTW9kdWxlKXJldHVybiBpO3ZhciB1PU9iamVjdC5jcmVhdGUobnVsbCk7aWYocy5yKHUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTppfSksYSYyJiZ0eXBlb2YgaSE9InN0cmluZyIpZm9yKHZhciBmIGluIGkpcy5kKHUsZiwoZnVuY3Rpb24oZCl7cmV0dXJuIGlbZF19KS5iaW5kKG51bGwsZikpO3JldHVybiB1fSxzLm49ZnVuY3Rpb24oaSl7dmFyIGE9aSYmaS5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIGkuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gaX07cmV0dXJuIHMuZChhLCJhIixhKSxhfSxzLm89ZnVuY3Rpb24oaSxhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGksYSl9LHMucD0iIixzKHMucz0yKX0oW2Z1bmN0aW9uKG4scixzKXt2YXIgaT10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgXz1mdW5jdGlvbih5LFMpe3JldHVybiBfPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihULE8pe1QuX19wcm90b19fPU99fHxmdW5jdGlvbihULE8pe2Zvcih2YXIgRSBpbiBPKU8uaGFzT3duUHJvcGVydHkoRSkmJihUW0VdPU9bRV0pfSxfKHksUyl9O3JldHVybiBmdW5jdGlvbih5LFMpe18oeSxTKTtmdW5jdGlvbiBUKCl7dGhpcy5jb25zdHJ1Y3Rvcj15fXkucHJvdG90eXBlPVM9PT1udWxsP09iamVjdC5jcmVhdGUoUyk6KFQucHJvdG90eXBlPVMucHJvdG90eXBlLG5ldyBUKX19KCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBhPTI1Nix1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gXyh5KXt5PT09dm9pZCAwJiYoeT0iPSIpLHRoaXMuX3BhZGRpbmdDaGFyYWN0ZXI9eX1yZXR1cm4gXy5wcm90b3R5cGUuZW5jb2RlZExlbmd0aD1mdW5jdGlvbih5KXtyZXR1cm4gdGhpcy5fcGFkZGluZ0NoYXJhY3Rlcj8oeSsyKS8zKjR8MDooeSo4KzUpLzZ8MH0sXy5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKHkpe2Zvcih2YXIgUz0iIixUPTA7VDx5Lmxlbmd0aC0yO1QrPTMpe3ZhciBPPXlbVF08PDE2fHlbVCsxXTw8OHx5W1QrMl07Uys9dGhpcy5fZW5jb2RlQnl0ZShPPj4+Myo2JjYzKSxTKz10aGlzLl9lbmNvZGVCeXRlKE8+Pj4yKjYmNjMpLFMrPXRoaXMuX2VuY29kZUJ5dGUoTz4+PjEqNiY2MyksUys9dGhpcy5fZW5jb2RlQnl0ZShPPj4+MCo2JjYzKX12YXIgRT15Lmxlbmd0aC1UO2lmKEU+MCl7dmFyIE89eVtUXTw8MTZ8KEU9PT0yP3lbVCsxXTw8ODowKTtTKz10aGlzLl9lbmNvZGVCeXRlKE8+Pj4zKjYmNjMpLFMrPXRoaXMuX2VuY29kZUJ5dGUoTz4+PjIqNiY2MyksRT09PTI/Uys9dGhpcy5fZW5jb2RlQnl0ZShPPj4+MSo2JjYzKTpTKz10aGlzLl9wYWRkaW5nQ2hhcmFjdGVyfHwiIixTKz10aGlzLl9wYWRkaW5nQ2hhcmFjdGVyfHwiIn1yZXR1cm4gU30sXy5wcm90b3R5cGUubWF4RGVjb2RlZExlbmd0aD1mdW5jdGlvbih5KXtyZXR1cm4gdGhpcy5fcGFkZGluZ0NoYXJhY3Rlcj95LzQqM3wwOih5KjYrNykvOHwwfSxfLnByb3RvdHlwZS5kZWNvZGVkTGVuZ3RoPWZ1bmN0aW9uKHkpe3JldHVybiB0aGlzLm1heERlY29kZWRMZW5ndGgoeS5sZW5ndGgtdGhpcy5fZ2V0UGFkZGluZ0xlbmd0aCh5KSl9LF8ucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbih5KXtpZih5Lmxlbmd0aD09PTApcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO2Zvcih2YXIgUz10aGlzLl9nZXRQYWRkaW5nTGVuZ3RoKHkpLFQ9eS5sZW5ndGgtUyxPPW5ldyBVaW50OEFycmF5KHRoaXMubWF4RGVjb2RlZExlbmd0aChUKSksRT0wLE49MCxxPTAsSz0wLEc9MCxWPTAsWD0wO048VC00O04rPTQpSz10aGlzLl9kZWNvZGVDaGFyKHkuY2hhckNvZGVBdChOKzApKSxHPXRoaXMuX2RlY29kZUNoYXIoeS5jaGFyQ29kZUF0KE4rMSkpLFY9dGhpcy5fZGVjb2RlQ2hhcih5LmNoYXJDb2RlQXQoTisyKSksWD10aGlzLl9kZWNvZGVDaGFyKHkuY2hhckNvZGVBdChOKzMpKSxPW0UrK109Szw8MnxHPj4+NCxPW0UrK109Rzw8NHxWPj4+MixPW0UrK109Vjw8NnxYLHF8PUsmYSxxfD1HJmEscXw9ViZhLHF8PVgmYTtpZihOPFQtMSYmKEs9dGhpcy5fZGVjb2RlQ2hhcih5LmNoYXJDb2RlQXQoTikpLEc9dGhpcy5fZGVjb2RlQ2hhcih5LmNoYXJDb2RlQXQoTisxKSksT1tFKytdPUs8PDJ8Rz4+PjQscXw9SyZhLHF8PUcmYSksTjxULTImJihWPXRoaXMuX2RlY29kZUNoYXIoeS5jaGFyQ29kZUF0KE4rMikpLE9bRSsrXT1HPDw0fFY+Pj4yLHF8PVYmYSksTjxULTMmJihYPXRoaXMuX2RlY29kZUNoYXIoeS5jaGFyQ29kZUF0KE4rMykpLE9bRSsrXT1WPDw2fFgscXw9WCZhKSxxIT09MCl0aHJvdyBuZXcgRXJyb3IoIkJhc2U2NENvZGVyOiBpbmNvcnJlY3QgY2hhcmFjdGVycyBmb3IgZGVjb2RpbmciKTtyZXR1cm4gT30sXy5wcm90b3R5cGUuX2VuY29kZUJ5dGU9ZnVuY3Rpb24oeSl7dmFyIFM9eTtyZXR1cm4gUys9NjUsUys9MjUteT4+PjgmNixTKz01MS15Pj4+OCYtNzUsUys9NjEteT4+PjgmLTE1LFMrPTYyLXk+Pj44JjMsU3RyaW5nLmZyb21DaGFyQ29kZShTKX0sXy5wcm90b3R5cGUuX2RlY29kZUNoYXI9ZnVuY3Rpb24oeSl7dmFyIFM9YTtyZXR1cm4gUys9KDQyLXkmeS00NCk+Pj44Ji1hK3ktNDMrNjIsUys9KDQ2LXkmeS00OCk+Pj44Ji1hK3ktNDcrNjMsUys9KDQ3LXkmeS01OCk+Pj44Ji1hK3ktNDgrNTIsUys9KDY0LXkmeS05MSk+Pj44Ji1hK3ktNjUrMCxTKz0oOTYteSZ5LTEyMyk+Pj44Ji1hK3ktOTcrMjYsU30sXy5wcm90b3R5cGUuX2dldFBhZGRpbmdMZW5ndGg9ZnVuY3Rpb24oeSl7dmFyIFM9MDtpZih0aGlzLl9wYWRkaW5nQ2hhcmFjdGVyKXtmb3IodmFyIFQ9eS5sZW5ndGgtMTtUPj0wJiZ5W1RdPT09dGhpcy5fcGFkZGluZ0NoYXJhY3RlcjtULS0pUysrO2lmKHkubGVuZ3RoPDR8fFM+Mil0aHJvdyBuZXcgRXJyb3IoIkJhc2U2NENvZGVyOiBpbmNvcnJlY3QgcGFkZGluZyIpfXJldHVybiBTfSxffSgpO3IuQ29kZXI9dTt2YXIgZj1uZXcgdTtmdW5jdGlvbiBkKF8pe3JldHVybiBmLmVuY29kZShfKX1yLmVuY29kZT1kO2Z1bmN0aW9uIGgoXyl7cmV0dXJuIGYuZGVjb2RlKF8pfXIuZGVjb2RlPWg7dmFyIHA9ZnVuY3Rpb24oXyl7aSh5LF8pO2Z1bmN0aW9uIHkoKXtyZXR1cm4gXyE9PW51bGwmJl8uYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiB5LnByb3RvdHlwZS5fZW5jb2RlQnl0ZT1mdW5jdGlvbihTKXt2YXIgVD1TO3JldHVybiBUKz02NSxUKz0yNS1TPj4+OCY2LFQrPTUxLVM+Pj44Ji03NSxUKz02MS1TPj4+OCYtMTMsVCs9NjItUz4+PjgmNDksU3RyaW5nLmZyb21DaGFyQ29kZShUKX0seS5wcm90b3R5cGUuX2RlY29kZUNoYXI9ZnVuY3Rpb24oUyl7dmFyIFQ9YTtyZXR1cm4gVCs9KDQ0LVMmUy00Nik+Pj44Ji1hK1MtNDUrNjIsVCs9KDk0LVMmUy05Nik+Pj44Ji1hK1MtOTUrNjMsVCs9KDQ3LVMmUy01OCk+Pj44Ji1hK1MtNDgrNTIsVCs9KDY0LVMmUy05MSk+Pj44Ji1hK1MtNjUrMCxUKz0oOTYtUyZTLTEyMyk+Pj44Ji1hK1MtOTcrMjYsVH0seX0odSk7ci5VUkxTYWZlQ29kZXI9cDt2YXIgdz1uZXcgcDtmdW5jdGlvbiBDKF8pe3JldHVybiB3LmVuY29kZShfKX1yLmVuY29kZVVSTFNhZmU9QztmdW5jdGlvbiBtKF8pe3JldHVybiB3LmRlY29kZShfKX1yLmRlY29kZVVSTFNhZmU9bSxyLmVuY29kZWRMZW5ndGg9ZnVuY3Rpb24oXyl7cmV0dXJuIGYuZW5jb2RlZExlbmd0aChfKX0sci5tYXhEZWNvZGVkTGVuZ3RoPWZ1bmN0aW9uKF8pe3JldHVybiBmLm1heERlY29kZWRMZW5ndGgoXyl9LHIuZGVjb2RlZExlbmd0aD1mdW5jdGlvbihfKXtyZXR1cm4gZi5kZWNvZGVkTGVuZ3RoKF8pfX0sZnVuY3Rpb24obixyLHMpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT0idXRmODogaW52YWxpZCBzdHJpbmciLGE9InV0Zjg6IGludmFsaWQgc291cmNlIGVuY29kaW5nIjtmdW5jdGlvbiB1KGgpe2Zvcih2YXIgcD1uZXcgVWludDhBcnJheShmKGgpKSx3PTAsQz0wO0M8aC5sZW5ndGg7QysrKXt2YXIgbT1oLmNoYXJDb2RlQXQoQyk7bTwxMjg/cFt3KytdPW06bTwyMDQ4PyhwW3crK109MTkyfG0+PjYscFt3KytdPTEyOHxtJjYzKTptPDU1Mjk2PyhwW3crK109MjI0fG0+PjEyLHBbdysrXT0xMjh8bT4+NiY2MyxwW3crK109MTI4fG0mNjMpOihDKyssbT0obSYxMDIzKTw8MTAsbXw9aC5jaGFyQ29kZUF0KEMpJjEwMjMsbSs9NjU1MzYscFt3KytdPTI0MHxtPj4xOCxwW3crK109MTI4fG0+PjEyJjYzLHBbdysrXT0xMjh8bT4+NiY2MyxwW3crK109MTI4fG0mNjMpfXJldHVybiBwfXIuZW5jb2RlPXU7ZnVuY3Rpb24gZihoKXtmb3IodmFyIHA9MCx3PTA7dzxoLmxlbmd0aDt3Kyspe3ZhciBDPWguY2hhckNvZGVBdCh3KTtpZihDPDEyOClwKz0xO2Vsc2UgaWYoQzwyMDQ4KXArPTI7ZWxzZSBpZihDPDU1Mjk2KXArPTM7ZWxzZSBpZihDPD01NzM0Myl7aWYodz49aC5sZW5ndGgtMSl0aHJvdyBuZXcgRXJyb3IoaSk7dysrLHArPTR9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoaSl9cmV0dXJuIHB9ci5lbmNvZGVkTGVuZ3RoPWY7ZnVuY3Rpb24gZChoKXtmb3IodmFyIHA9W10sdz0wO3c8aC5sZW5ndGg7dysrKXt2YXIgQz1oW3ddO2lmKEMmMTI4KXt2YXIgbT12b2lkIDA7aWYoQzwyMjQpe2lmKHc+PWgubGVuZ3RoKXRocm93IG5ldyBFcnJvcihhKTt2YXIgXz1oWysrd107aWYoKF8mMTkyKSE9PTEyOCl0aHJvdyBuZXcgRXJyb3IoYSk7Qz0oQyYzMSk8PDZ8XyY2MyxtPTEyOH1lbHNlIGlmKEM8MjQwKXtpZih3Pj1oLmxlbmd0aC0xKXRocm93IG5ldyBFcnJvcihhKTt2YXIgXz1oWysrd10seT1oWysrd107aWYoKF8mMTkyKSE9PTEyOHx8KHkmMTkyKSE9PTEyOCl0aHJvdyBuZXcgRXJyb3IoYSk7Qz0oQyYxNSk8PDEyfChfJjYzKTw8Nnx5JjYzLG09MjA0OH1lbHNlIGlmKEM8MjQ4KXtpZih3Pj1oLmxlbmd0aC0yKXRocm93IG5ldyBFcnJvcihhKTt2YXIgXz1oWysrd10seT1oWysrd10sUz1oWysrd107aWYoKF8mMTkyKSE9PTEyOHx8KHkmMTkyKSE9PTEyOHx8KFMmMTkyKSE9PTEyOCl0aHJvdyBuZXcgRXJyb3IoYSk7Qz0oQyYxNSk8PDE4fChfJjYzKTw8MTJ8KHkmNjMpPDw2fFMmNjMsbT02NTUzNn1lbHNlIHRocm93IG5ldyBFcnJvcihhKTtpZihDPG18fEM+PTU1Mjk2JiZDPD01NzM0Myl0aHJvdyBuZXcgRXJyb3IoYSk7aWYoQz49NjU1MzYpe2lmKEM+MTExNDExMSl0aHJvdyBuZXcgRXJyb3IoYSk7Qy09NjU1MzYscC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8Qz4+MTApKSxDPTU2MzIwfEMmMTAyM319cC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoQykpfXJldHVybiBwLmpvaW4oIiIpfXIuZGVjb2RlPWR9LGZ1bmN0aW9uKG4scixzKXtuLmV4cG9ydHM9cygzKS5kZWZhdWx0fSxmdW5jdGlvbihuLHIscyl7cy5yKHIpO2NsYXNzIGl7Y29uc3RydWN0b3IobyxjKXt0aGlzLmxhc3RJZD0wLHRoaXMucHJlZml4PW8sdGhpcy5uYW1lPWN9Y3JlYXRlKG8pe3RoaXMubGFzdElkKys7dmFyIGM9dGhpcy5sYXN0SWQsZz10aGlzLnByZWZpeCtjLGI9dGhpcy5uYW1lKyJbIitjKyJdIixrPSExLEY9ZnVuY3Rpb24oKXtrfHwoby5hcHBseShudWxsLGFyZ3VtZW50cyksaz0hMCl9O3JldHVybiB0aGlzW2NdPUYse251bWJlcjpjLGlkOmcsbmFtZTpiLGNhbGxiYWNrOkZ9fXJlbW92ZShvKXtkZWxldGUgdGhpc1tvLm51bWJlcl19fXZhciBhPW5ldyBpKCJfcHVzaGVyX3NjcmlwdF8iLCJQdXNoZXIuU2NyaXB0UmVjZWl2ZXJzIiksdT17VkVSU0lPTjoiOC40LjAiLFBST1RPQ09MOjcsd3NQb3J0OjgwLHdzc1BvcnQ6NDQzLHdzUGF0aDoiIixodHRwSG9zdDoic29ja2pzLnB1c2hlci5jb20iLGh0dHBQb3J0OjgwLGh0dHBzUG9ydDo0NDMsaHR0cFBhdGg6Ii9wdXNoZXIiLHN0YXRzX2hvc3Q6InN0YXRzLnB1c2hlci5jb20iLGF1dGhFbmRwb2ludDoiL3B1c2hlci9hdXRoIixhdXRoVHJhbnNwb3J0OiJhamF4IixhY3Rpdml0eVRpbWVvdXQ6MTJlNCxwb25nVGltZW91dDozZTQsdW5hdmFpbGFibGVUaW1lb3V0OjFlNCx1c2VyQXV0aGVudGljYXRpb246e2VuZHBvaW50OiIvcHVzaGVyL3VzZXItYXV0aCIsdHJhbnNwb3J0OiJhamF4In0sY2hhbm5lbEF1dGhvcml6YXRpb246e2VuZHBvaW50OiIvcHVzaGVyL2F1dGgiLHRyYW5zcG9ydDoiYWpheCJ9LGNkbl9odHRwOiJodHRwOi8vanMucHVzaGVyLmNvbSIsY2RuX2h0dHBzOiJodHRwczovL2pzLnB1c2hlci5jb20iLGRlcGVuZGVuY3lfc3VmZml4OiIifSxmPXU7Y2xhc3MgZHtjb25zdHJ1Y3RvcihvKXt0aGlzLm9wdGlvbnM9byx0aGlzLnJlY2VpdmVycz1vLnJlY2VpdmVyc3x8YSx0aGlzLmxvYWRpbmc9e319bG9hZChvLGMsZyl7dmFyIGI9dGhpcztpZihiLmxvYWRpbmdbb10mJmIubG9hZGluZ1tvXS5sZW5ndGg+MCliLmxvYWRpbmdbb10ucHVzaChnKTtlbHNle2IubG9hZGluZ1tvXT1bZ107dmFyIGs9b2UuY3JlYXRlU2NyaXB0UmVxdWVzdChiLmdldFBhdGgobyxjKSksRj1iLnJlY2VpdmVycy5jcmVhdGUoZnVuY3Rpb24oSil7aWYoYi5yZWNlaXZlcnMucmVtb3ZlKEYpLGIubG9hZGluZ1tvXSl7dmFyIGllPWIubG9hZGluZ1tvXTtkZWxldGUgYi5sb2FkaW5nW29dO2Zvcih2YXIgdmU9ZnVuY3Rpb24oTGUpe0xlfHxrLmNsZWFudXAoKX0seGU9MDt4ZTxpZS5sZW5ndGg7eGUrKylpZVt4ZV0oSix2ZSl9fSk7ay5zZW5kKEYpfX1nZXRSb290KG8pe3ZhciBjLGc9b2UuZ2V0RG9jdW1lbnQoKS5sb2NhdGlvbi5wcm90b2NvbDtyZXR1cm4gbyYmby51c2VUTFN8fGc9PT0iaHR0cHM6Ij9jPXRoaXMub3B0aW9ucy5jZG5faHR0cHM6Yz10aGlzLm9wdGlvbnMuY2RuX2h0dHAsYy5yZXBsYWNlKC9cLyokLywiIikrIi8iK3RoaXMub3B0aW9ucy52ZXJzaW9ufWdldFBhdGgobyxjKXtyZXR1cm4gdGhpcy5nZXRSb290KGMpKyIvIitvK3RoaXMub3B0aW9ucy5zdWZmaXgrIi5qcyJ9fXZhciBoPW5ldyBpKCJfcHVzaGVyX2RlcGVuZGVuY2llcyIsIlB1c2hlci5EZXBlbmRlbmNpZXNSZWNlaXZlcnMiKSxwPW5ldyBkKHtjZG5faHR0cDpmLmNkbl9odHRwLGNkbl9odHRwczpmLmNkbl9odHRwcyx2ZXJzaW9uOmYuVkVSU0lPTixzdWZmaXg6Zi5kZXBlbmRlbmN5X3N1ZmZpeCxyZWNlaXZlcnM6aH0pO2NvbnN0IHc9e2Jhc2VVcmw6Imh0dHBzOi8vcHVzaGVyLmNvbSIsdXJsczp7YXV0aGVudGljYXRpb25FbmRwb2ludDp7cGF0aDoiL2RvY3MvY2hhbm5lbHMvc2VydmVyX2FwaS9hdXRoZW50aWNhdGluZ191c2VycyJ9LGF1dGhvcml6YXRpb25FbmRwb2ludDp7cGF0aDoiL2RvY3MvY2hhbm5lbHMvc2VydmVyX2FwaS9hdXRob3JpemluZy11c2Vycy8ifSxqYXZhc2NyaXB0UXVpY2tTdGFydDp7cGF0aDoiL2RvY3MvamF2YXNjcmlwdF9xdWlja19zdGFydCJ9LHRyaWdnZXJpbmdDbGllbnRFdmVudHM6e3BhdGg6Ii9kb2NzL2NsaWVudF9hcGlfZ3VpZGUvY2xpZW50X2V2ZW50cyN0cmlnZ2VyLWV2ZW50cyJ9LGVuY3J5cHRlZENoYW5uZWxTdXBwb3J0OntmdWxsVXJsOiJodHRwczovL2dpdGh1Yi5jb20vcHVzaGVyL3B1c2hlci1qcy90cmVlL2NjNDkxMDE1MzcxYTRiZGU1NzQzZDFjODdhMGZiYWMwZmViNTMxOTUjZW5jcnlwdGVkLWNoYW5uZWwtc3VwcG9ydCJ9fX07dmFyIG09e2J1aWxkTG9nU3VmZml4OmZ1bmN0aW9uKGwpe2NvbnN0IG89IlNlZToiLGM9dy51cmxzW2xdO2lmKCFjKXJldHVybiIiO2xldCBnO3JldHVybiBjLmZ1bGxVcmw/Zz1jLmZ1bGxVcmw6Yy5wYXRoJiYoZz13LmJhc2VVcmwrYy5wYXRoKSxnP2Ake299ICR7Z31gOiIifX0sXzsoZnVuY3Rpb24obCl7bC5Vc2VyQXV0aGVudGljYXRpb249InVzZXItYXV0aGVudGljYXRpb24iLGwuQ2hhbm5lbEF1dGhvcml6YXRpb249ImNoYW5uZWwtYXV0aG9yaXphdGlvbiJ9KShffHwoXz17fSkpO2NsYXNzIHkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihvKXtzdXBlcihvKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fWNsYXNzIFMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihvKXtzdXBlcihvKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fWNsYXNzIFQgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihvKXtzdXBlcihvKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fWNsYXNzIE8gZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihvKXtzdXBlcihvKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fWNsYXNzIEUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihvKXtzdXBlcihvKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fWNsYXNzIE4gZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihvKXtzdXBlcihvKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fWNsYXNzIHEgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihvKXtzdXBlcihvKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fWNsYXNzIEsgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihvKXtzdXBlcihvKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fWNsYXNzIEcgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihvLGMpe3N1cGVyKGMpLHRoaXMuc3RhdHVzPW8sT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfX12YXIgWD1mdW5jdGlvbihsLG8sYyxnLGIpe2NvbnN0IGs9b2UuY3JlYXRlWEhSKCk7ay5vcGVuKCJQT1NUIixjLmVuZHBvaW50LCEwKSxrLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpO2Zvcih2YXIgRiBpbiBjLmhlYWRlcnMpay5zZXRSZXF1ZXN0SGVhZGVyKEYsYy5oZWFkZXJzW0ZdKTtpZihjLmhlYWRlcnNQcm92aWRlciE9bnVsbCl7bGV0IEo9Yy5oZWFkZXJzUHJvdmlkZXIoKTtmb3IodmFyIEYgaW4gSilrLnNldFJlcXVlc3RIZWFkZXIoRixKW0ZdKX1yZXR1cm4gay5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZihrLnJlYWR5U3RhdGU9PT00KWlmKGsuc3RhdHVzPT09MjAwKXtsZXQgSixpZT0hMTt0cnl7Sj1KU09OLnBhcnNlKGsucmVzcG9uc2VUZXh0KSxpZT0hMH1jYXRjaHtiKG5ldyBHKDIwMCxgSlNPTiByZXR1cm5lZCBmcm9tICR7Zy50b1N0cmluZygpfSBlbmRwb2ludCB3YXMgaW52YWxpZCwgeWV0IHN0YXR1cyBjb2RlIHdhcyAyMDAuIERhdGEgd2FzOiAke2sucmVzcG9uc2VUZXh0fWApLG51bGwpfWllJiZiKG51bGwsSil9ZWxzZXtsZXQgSj0iIjtzd2l0Y2goZyl7Y2FzZSBfLlVzZXJBdXRoZW50aWNhdGlvbjpKPW0uYnVpbGRMb2dTdWZmaXgoImF1dGhlbnRpY2F0aW9uRW5kcG9pbnQiKTticmVhaztjYXNlIF8uQ2hhbm5lbEF1dGhvcml6YXRpb246Sj1gQ2xpZW50cyBtdXN0IGJlIGF1dGhvcml6ZWQgdG8gam9pbiBwcml2YXRlIG9yIHByZXNlbmNlIGNoYW5uZWxzLiAke20uYnVpbGRMb2dTdWZmaXgoImF1dGhvcml6YXRpb25FbmRwb2ludCIpfWA7YnJlYWt9YihuZXcgRyhrLnN0YXR1cyxgVW5hYmxlIHRvIHJldHJpZXZlIGF1dGggc3RyaW5nIGZyb20gJHtnLnRvU3RyaW5nKCl9IGVuZHBvaW50IC0gcmVjZWl2ZWQgc3RhdHVzOiAke2suc3RhdHVzfSBmcm9tICR7Yy5lbmRwb2ludH0uICR7Sn1gKSxudWxsKX19LGsuc2VuZChvKSxrfTtmdW5jdGlvbiBsZShsKXtyZXR1cm4gY2UobmUobCkpfXZhciBIPVN0cmluZy5mcm9tQ2hhckNvZGUsbWU9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLE9lPWZ1bmN0aW9uKGwpe3ZhciBvPWwuY2hhckNvZGVBdCgwKTtyZXR1cm4gbzwxMjg/bDpvPDIwNDg/SCgxOTJ8bz4+PjYpK0goMTI4fG8mNjMpOkgoMjI0fG8+Pj4xMiYxNSkrSCgxMjh8bz4+PjYmNjMpK0goMTI4fG8mNjMpfSxuZT1mdW5jdGlvbihsKXtyZXR1cm4gbC5yZXBsYWNlKC9bXlx4MDAtXHg3Rl0vZyxPZSl9LGhlPWZ1bmN0aW9uKGwpe3ZhciBvPVswLDIsMV1bbC5sZW5ndGglM10sYz1sLmNoYXJDb2RlQXQoMCk8PDE2fChsLmxlbmd0aD4xP2wuY2hhckNvZGVBdCgxKTowKTw8OHwobC5sZW5ndGg+Mj9sLmNoYXJDb2RlQXQoMik6MCksZz1bbWUuY2hhckF0KGM+Pj4xOCksbWUuY2hhckF0KGM+Pj4xMiY2Myksbz49Mj8iPSI6bWUuY2hhckF0KGM+Pj42JjYzKSxvPj0xPyI9IjptZS5jaGFyQXQoYyY2MyldO3JldHVybiBnLmpvaW4oIiIpfSxjZT13aW5kb3cuYnRvYXx8ZnVuY3Rpb24obCl7cmV0dXJuIGwucmVwbGFjZSgvW1xzXFNdezEsM30vZyxoZSl9O2NsYXNzIFl7Y29uc3RydWN0b3IobyxjLGcsYil7dGhpcy5jbGVhcj1jLHRoaXMudGltZXI9bygoKT0+e3RoaXMudGltZXImJih0aGlzLnRpbWVyPWIodGhpcy50aW1lcikpfSxnKX1pc1J1bm5pbmcoKXtyZXR1cm4gdGhpcy50aW1lciE9PW51bGx9ZW5zdXJlQWJvcnRlZCgpe3RoaXMudGltZXImJih0aGlzLmNsZWFyKHRoaXMudGltZXIpLHRoaXMudGltZXI9bnVsbCl9fXZhciBmZT1ZO2Z1bmN0aW9uIHJlKGwpe3dpbmRvdy5jbGVhclRpbWVvdXQobCl9ZnVuY3Rpb24gUmUobCl7d2luZG93LmNsZWFySW50ZXJ2YWwobCl9Y2xhc3MgU2UgZXh0ZW5kcyBmZXtjb25zdHJ1Y3RvcihvLGMpe3N1cGVyKHNldFRpbWVvdXQscmUsbyxmdW5jdGlvbihnKXtyZXR1cm4gYygpLG51bGx9KX19Y2xhc3MgdXIgZXh0ZW5kcyBmZXtjb25zdHJ1Y3RvcihvLGMpe3N1cGVyKHNldEludGVydmFsLFJlLG8sZnVuY3Rpb24oZyl7cmV0dXJuIGMoKSxnfSl9fXZhciBkcz17bm93KCl7cmV0dXJuIERhdGUubm93P0RhdGUubm93KCk6bmV3IERhdGUoKS52YWx1ZU9mKCl9LGRlZmVyKGwpe3JldHVybiBuZXcgU2UoMCxsKX0sbWV0aG9kKGwsLi4ubyl7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbihnKXtyZXR1cm4gZ1tsXS5hcHBseShnLGMuY29uY2F0KGFyZ3VtZW50cykpfX19LEZlPWRzO2Z1bmN0aW9uIFBlKGwsLi4ubyl7Zm9yKHZhciBjPTA7YzxvLmxlbmd0aDtjKyspe3ZhciBnPW9bY107Zm9yKHZhciBiIGluIGcpZ1tiXSYmZ1tiXS5jb25zdHJ1Y3RvciYmZ1tiXS5jb25zdHJ1Y3Rvcj09PU9iamVjdD9sW2JdPVBlKGxbYl18fHt9LGdbYl0pOmxbYl09Z1tiXX1yZXR1cm4gbH1mdW5jdGlvbiB1bigpe2Zvcih2YXIgbD1bIlB1c2hlciJdLG89MDtvPGFyZ3VtZW50cy5sZW5ndGg7bysrKXR5cGVvZiBhcmd1bWVudHNbb109PSJzdHJpbmciP2wucHVzaChhcmd1bWVudHNbb10pOmwucHVzaChCKGFyZ3VtZW50c1tvXSkpO3JldHVybiBsLmpvaW4oIiA6ICIpfWZ1bmN0aW9uIGZuKGwsbyl7dmFyIGM9QXJyYXkucHJvdG90eXBlLmluZGV4T2Y7aWYobD09PW51bGwpcmV0dXJuLTE7aWYoYyYmbC5pbmRleE9mPT09YylyZXR1cm4gbC5pbmRleE9mKG8pO2Zvcih2YXIgZz0wLGI9bC5sZW5ndGg7ZzxiO2crKylpZihsW2ddPT09bylyZXR1cm4gZztyZXR1cm4tMX1mdW5jdGlvbiBpdChsLG8pe2Zvcih2YXIgYyBpbiBsKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChsLGMpJiZvKGxbY10sYyxsKX1mdW5jdGlvbiBNdChsKXt2YXIgbz1bXTtyZXR1cm4gaXQobCxmdW5jdGlvbihjLGcpe28ucHVzaChnKX0pLG99ZnVuY3Rpb24gVmkobCl7dmFyIG89W107cmV0dXJuIGl0KGwsZnVuY3Rpb24oYyl7by5wdXNoKGMpfSksb31mdW5jdGlvbiB2KGwsbyxjKXtmb3IodmFyIGc9MDtnPGwubGVuZ3RoO2crKylvLmNhbGwoY3x8d2luZG93LGxbZ10sZyxsKX1mdW5jdGlvbiB4KGwsbyl7Zm9yKHZhciBjPVtdLGc9MDtnPGwubGVuZ3RoO2crKyljLnB1c2gobyhsW2ddLGcsbCxjKSk7cmV0dXJuIGN9ZnVuY3Rpb24gJChsLG8pe3ZhciBjPXt9O3JldHVybiBpdChsLGZ1bmN0aW9uKGcsYil7Y1tiXT1vKGcpfSksY31mdW5jdGlvbiBMKGwsbyl7bz1vfHxmdW5jdGlvbihiKXtyZXR1cm4hIWJ9O2Zvcih2YXIgYz1bXSxnPTA7ZzxsLmxlbmd0aDtnKyspbyhsW2ddLGcsbCxjKSYmYy5wdXNoKGxbZ10pO3JldHVybiBjfWZ1bmN0aW9uIFIobCxvKXt2YXIgYz17fTtyZXR1cm4gaXQobCxmdW5jdGlvbihnLGIpeyhvJiZvKGcsYixsLGMpfHxnKSYmKGNbYl09Zyl9KSxjfWZ1bmN0aW9uIFAobCl7dmFyIG89W107cmV0dXJuIGl0KGwsZnVuY3Rpb24oYyxnKXtvLnB1c2goW2csY10pfSksb31mdW5jdGlvbiB6KGwsbyl7Zm9yKHZhciBjPTA7YzxsLmxlbmd0aDtjKyspaWYobyhsW2NdLGMsbCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gRChsLG8pe2Zvcih2YXIgYz0wO2M8bC5sZW5ndGg7YysrKWlmKCFvKGxbY10sYyxsKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBNKGwpe3JldHVybiAkKGwsZnVuY3Rpb24obyl7cmV0dXJuIHR5cGVvZiBvPT0ib2JqZWN0IiYmKG89QihvKSksZW5jb2RlVVJJQ29tcG9uZW50KGxlKG8udG9TdHJpbmcoKSkpfSl9ZnVuY3Rpb24gSShsKXt2YXIgbz1SKGwsZnVuY3Rpb24oZyl7cmV0dXJuIGchPT12b2lkIDB9KSxjPXgoUChNKG8pKSxGZS5tZXRob2QoImpvaW4iLCI9IikpLmpvaW4oIiYiKTtyZXR1cm4gY31mdW5jdGlvbiBlZShsKXt2YXIgbz1bXSxjPVtdO3JldHVybiBmdW5jdGlvbiBnKGIsayl7dmFyIEYsSixpZTtzd2l0Y2godHlwZW9mIGIpe2Nhc2Uib2JqZWN0IjppZighYilyZXR1cm4gbnVsbDtmb3IoRj0wO0Y8by5sZW5ndGg7Ris9MSlpZihvW0ZdPT09YilyZXR1cm57JHJlZjpjW0ZdfTtpZihvLnB1c2goYiksYy5wdXNoKGspLE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkoYik9PT0iW29iamVjdCBBcnJheV0iKWZvcihpZT1bXSxGPTA7RjxiLmxlbmd0aDtGKz0xKWllW0ZdPWcoYltGXSxrKyJbIitGKyJdIik7ZWxzZXtpZT17fTtmb3IoSiBpbiBiKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLEopJiYoaWVbSl09ZyhiW0pdLGsrIlsiK0pTT04uc3RyaW5naWZ5KEopKyJdIikpfXJldHVybiBpZTtjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UiYm9vbGVhbiI6cmV0dXJuIGJ9fShsLCIkIil9ZnVuY3Rpb24gQihsKXt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGwpfWNhdGNoe3JldHVybiBKU09OLnN0cmluZ2lmeShlZShsKSl9fWNsYXNzIFF7Y29uc3RydWN0b3IoKXt0aGlzLmdsb2JhbExvZz1vPT57d2luZG93LmNvbnNvbGUmJndpbmRvdy5jb25zb2xlLmxvZyYmd2luZG93LmNvbnNvbGUubG9nKG8pfX1kZWJ1ZyguLi5vKXt0aGlzLmxvZyh0aGlzLmdsb2JhbExvZyxvKX13YXJuKC4uLm8pe3RoaXMubG9nKHRoaXMuZ2xvYmFsTG9nV2FybixvKX1lcnJvciguLi5vKXt0aGlzLmxvZyh0aGlzLmdsb2JhbExvZ0Vycm9yLG8pfWdsb2JhbExvZ1dhcm4obyl7d2luZG93LmNvbnNvbGUmJndpbmRvdy5jb25zb2xlLndhcm4/d2luZG93LmNvbnNvbGUud2FybihvKTp0aGlzLmdsb2JhbExvZyhvKX1nbG9iYWxMb2dFcnJvcihvKXt3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUuZXJyb3I/d2luZG93LmNvbnNvbGUuZXJyb3Iobyk6dGhpcy5nbG9iYWxMb2dXYXJuKG8pfWxvZyhvLC4uLmMpe3ZhciBnPXVuLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt4cy5sb2c/eHMubG9nKGcpOnhzLmxvZ1RvQ29uc29sZSYmby5iaW5kKHRoaXMpKGcpfX12YXIgVz1uZXcgUSxiZT1mdW5jdGlvbihsLG8sYyxnLGIpeyhjLmhlYWRlcnMhPT12b2lkIDB8fGMuaGVhZGVyc1Byb3ZpZGVyIT1udWxsKSYmVy53YXJuKGBUbyBzZW5kIGhlYWRlcnMgd2l0aCB0aGUgJHtnLnRvU3RyaW5nKCl9IHJlcXVlc3QsIHlvdSBtdXN0IHVzZSBBSkFYLCByYXRoZXIgdGhhbiBKU09OUC5gKTt2YXIgaz1sLm5leHRBdXRoQ2FsbGJhY2tJRC50b1N0cmluZygpO2wubmV4dEF1dGhDYWxsYmFja0lEKys7dmFyIEY9bC5nZXREb2N1bWVudCgpLEo9Ri5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtsLmF1dGhfY2FsbGJhY2tzW2tdPWZ1bmN0aW9uKHhlKXtiKG51bGwseGUpfTt2YXIgaWU9IlB1c2hlci5hdXRoX2NhbGxiYWNrc1snIitrKyInXSI7Si5zcmM9Yy5lbmRwb2ludCsiP2NhbGxiYWNrPSIrZW5jb2RlVVJJQ29tcG9uZW50KGllKSsiJiIrbzt2YXIgdmU9Ri5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdfHxGLmRvY3VtZW50RWxlbWVudDt2ZS5pbnNlcnRCZWZvcmUoSix2ZS5maXJzdENoaWxkKX0sQ2U9YmU7Y2xhc3MgeWV7Y29uc3RydWN0b3Iobyl7dGhpcy5zcmM9b31zZW5kKG8pe3ZhciBjPXRoaXMsZz0iRXJyb3IgbG9hZGluZyAiK2Muc3JjO2Muc2NyaXB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGMuc2NyaXB0LmlkPW8uaWQsYy5zY3JpcHQuc3JjPWMuc3JjLGMuc2NyaXB0LnR5cGU9InRleHQvamF2YXNjcmlwdCIsYy5zY3JpcHQuY2hhcnNldD0iVVRGLTgiLGMuc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXI/KGMuc2NyaXB0Lm9uZXJyb3I9ZnVuY3Rpb24oKXtvLmNhbGxiYWNrKGcpfSxjLnNjcmlwdC5vbmxvYWQ9ZnVuY3Rpb24oKXtvLmNhbGxiYWNrKG51bGwpfSk6Yy5zY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7KGMuc2NyaXB0LnJlYWR5U3RhdGU9PT0ibG9hZGVkInx8Yy5zY3JpcHQucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpJiZvLmNhbGxiYWNrKG51bGwpfSxjLnNjcmlwdC5hc3luYz09PXZvaWQgMCYmZG9jdW1lbnQuYXR0YWNoRXZlbnQmJi9vcGVyYS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk/KGMuZXJyb3JTY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksYy5lcnJvclNjcmlwdC5pZD1vLmlkKyJfZXJyb3IiLGMuZXJyb3JTY3JpcHQudGV4dD1vLm5hbWUrIignIitnKyInKTsiLGMuc2NyaXB0LmFzeW5jPWMuZXJyb3JTY3JpcHQuYXN5bmM9ITEpOmMuc2NyaXB0LmFzeW5jPSEwO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07Yi5pbnNlcnRCZWZvcmUoYy5zY3JpcHQsYi5maXJzdENoaWxkKSxjLmVycm9yU2NyaXB0JiZiLmluc2VydEJlZm9yZShjLmVycm9yU2NyaXB0LGMuc2NyaXB0Lm5leHRTaWJsaW5nKX1jbGVhbnVwKCl7dGhpcy5zY3JpcHQmJih0aGlzLnNjcmlwdC5vbmxvYWQ9dGhpcy5zY3JpcHQub25lcnJvcj1udWxsLHRoaXMuc2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsKSx0aGlzLnNjcmlwdCYmdGhpcy5zY3JpcHQucGFyZW50Tm9kZSYmdGhpcy5zY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNjcmlwdCksdGhpcy5lcnJvclNjcmlwdCYmdGhpcy5lcnJvclNjcmlwdC5wYXJlbnROb2RlJiZ0aGlzLmVycm9yU2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5lcnJvclNjcmlwdCksdGhpcy5zY3JpcHQ9bnVsbCx0aGlzLmVycm9yU2NyaXB0PW51bGx9fWNsYXNzIEple2NvbnN0cnVjdG9yKG8sYyl7dGhpcy51cmw9byx0aGlzLmRhdGE9Y31zZW5kKG8pe2lmKCF0aGlzLnJlcXVlc3Qpe3ZhciBjPUkodGhpcy5kYXRhKSxnPXRoaXMudXJsKyIvIitvLm51bWJlcisiPyIrYzt0aGlzLnJlcXVlc3Q9b2UuY3JlYXRlU2NyaXB0UmVxdWVzdChnKSx0aGlzLnJlcXVlc3Quc2VuZChvKX19Y2xlYW51cCgpe3RoaXMucmVxdWVzdCYmdGhpcy5yZXF1ZXN0LmNsZWFudXAoKX19dmFyIHplPWZ1bmN0aW9uKGwsbyl7cmV0dXJuIGZ1bmN0aW9uKGMsZyl7dmFyIGI9Imh0dHAiKyhvPyJzIjoiIikrIjovLyIsaz1iKyhsLmhvc3R8fGwub3B0aW9ucy5ob3N0KStsLm9wdGlvbnMucGF0aCxGPW9lLmNyZWF0ZUpTT05QUmVxdWVzdChrLGMpLEo9b2UuU2NyaXB0UmVjZWl2ZXJzLmNyZWF0ZShmdW5jdGlvbihpZSx2ZSl7YS5yZW1vdmUoSiksRi5jbGVhbnVwKCksdmUmJnZlLmhvc3QmJihsLmhvc3Q9dmUuaG9zdCksZyYmZyhpZSx2ZSl9KTtGLnNlbmQoSil9fSxvdD17bmFtZToianNvbnAiLGdldEFnZW50OnplfSxhdD1vdDtmdW5jdGlvbiBDdChsLG8sYyl7dmFyIGc9bCsoby51c2VUTFM/InMiOiIiKSxiPW8udXNlVExTP28uaG9zdFRMUzpvLmhvc3ROb25UTFM7cmV0dXJuIGcrIjovLyIrYitjfWZ1bmN0aW9uIGhuKGwsbyl7dmFyIGM9Ii9hcHAvIitsLGc9Ij9wcm90b2NvbD0iK2YuUFJPVE9DT0wrIiZjbGllbnQ9anMmdmVyc2lvbj0iK2YuVkVSU0lPTisobz8iJiIrbzoiIik7cmV0dXJuIGMrZ312YXIgWGU9e2dldEluaXRpYWw6ZnVuY3Rpb24obCxvKXt2YXIgYz0oby5odHRwUGF0aHx8IiIpK2huKGwsImZsYXNoPWZhbHNlIik7cmV0dXJuIEN0KCJ3cyIsbyxjKX19LGN0PXtnZXRJbml0aWFsOmZ1bmN0aW9uKGwsbyl7dmFyIGM9KG8uaHR0cFBhdGh8fCIvcHVzaGVyIikraG4obCk7cmV0dXJuIEN0KCJodHRwIixvLGMpfX0sZnI9e2dldEluaXRpYWw6ZnVuY3Rpb24obCxvKXtyZXR1cm4gQ3QoImh0dHAiLG8sby5odHRwUGF0aHx8Ii9wdXNoZXIiKX0sZ2V0UGF0aDpmdW5jdGlvbihsLG8pe3JldHVybiBobihsKX19O2NsYXNzIHdse2NvbnN0cnVjdG9yKCl7dGhpcy5fY2FsbGJhY2tzPXt9fWdldChvKXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzW3BzKG8pXX1hZGQobyxjLGcpe3ZhciBiPXBzKG8pO3RoaXMuX2NhbGxiYWNrc1tiXT10aGlzLl9jYWxsYmFja3NbYl18fFtdLHRoaXMuX2NhbGxiYWNrc1tiXS5wdXNoKHtmbjpjLGNvbnRleHQ6Z30pfXJlbW92ZShvLGMsZyl7aWYoIW8mJiFjJiYhZyl7dGhpcy5fY2FsbGJhY2tzPXt9O3JldHVybn12YXIgYj1vP1twcyhvKV06TXQodGhpcy5fY2FsbGJhY2tzKTtjfHxnP3RoaXMucmVtb3ZlQ2FsbGJhY2soYixjLGcpOnRoaXMucmVtb3ZlQWxsQ2FsbGJhY2tzKGIpfXJlbW92ZUNhbGxiYWNrKG8sYyxnKXt2KG8sZnVuY3Rpb24oYil7dGhpcy5fY2FsbGJhY2tzW2JdPUwodGhpcy5fY2FsbGJhY2tzW2JdfHxbXSxmdW5jdGlvbihrKXtyZXR1cm4gYyYmYyE9PWsuZm58fGcmJmchPT1rLmNvbnRleHR9KSx0aGlzLl9jYWxsYmFja3NbYl0ubGVuZ3RoPT09MCYmZGVsZXRlIHRoaXMuX2NhbGxiYWNrc1tiXX0sdGhpcyl9cmVtb3ZlQWxsQ2FsbGJhY2tzKG8pe3YobyxmdW5jdGlvbihjKXtkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2NdfSx0aGlzKX19ZnVuY3Rpb24gcHMobCl7cmV0dXJuIl8iK2x9Y2xhc3MgU3R7Y29uc3RydWN0b3Iobyl7dGhpcy5jYWxsYmFja3M9bmV3IHdsLHRoaXMuZ2xvYmFsX2NhbGxiYWNrcz1bXSx0aGlzLmZhaWxUaHJvdWdoPW99YmluZChvLGMsZyl7cmV0dXJuIHRoaXMuY2FsbGJhY2tzLmFkZChvLGMsZyksdGhpc31iaW5kX2dsb2JhbChvKXtyZXR1cm4gdGhpcy5nbG9iYWxfY2FsbGJhY2tzLnB1c2gobyksdGhpc311bmJpbmQobyxjLGcpe3JldHVybiB0aGlzLmNhbGxiYWNrcy5yZW1vdmUobyxjLGcpLHRoaXN9dW5iaW5kX2dsb2JhbChvKXtyZXR1cm4gbz8odGhpcy5nbG9iYWxfY2FsbGJhY2tzPUwodGhpcy5nbG9iYWxfY2FsbGJhY2tzfHxbXSxjPT5jIT09byksdGhpcyk6KHRoaXMuZ2xvYmFsX2NhbGxiYWNrcz1bXSx0aGlzKX11bmJpbmRfYWxsKCl7cmV0dXJuIHRoaXMudW5iaW5kKCksdGhpcy51bmJpbmRfZ2xvYmFsKCksdGhpc31lbWl0KG8sYyxnKXtmb3IodmFyIGI9MDtiPHRoaXMuZ2xvYmFsX2NhbGxiYWNrcy5sZW5ndGg7YisrKXRoaXMuZ2xvYmFsX2NhbGxiYWNrc1tiXShvLGMpO3ZhciBrPXRoaXMuY2FsbGJhY2tzLmdldChvKSxGPVtdO2lmKGc/Ri5wdXNoKGMsZyk6YyYmRi5wdXNoKGMpLGsmJmsubGVuZ3RoPjApZm9yKHZhciBiPTA7YjxrLmxlbmd0aDtiKyspa1tiXS5mbi5hcHBseShrW2JdLmNvbnRleHR8fHdpbmRvdyxGKTtlbHNlIHRoaXMuZmFpbFRocm91Z2gmJnRoaXMuZmFpbFRocm91Z2gobyxjKTtyZXR1cm4gdGhpc319Y2xhc3MgX2wgZXh0ZW5kcyBTdHtjb25zdHJ1Y3RvcihvLGMsZyxiLGspe3N1cGVyKCksdGhpcy5pbml0aWFsaXplPW9lLnRyYW5zcG9ydENvbm5lY3Rpb25Jbml0aWFsaXplcix0aGlzLmhvb2tzPW8sdGhpcy5uYW1lPWMsdGhpcy5wcmlvcml0eT1nLHRoaXMua2V5PWIsdGhpcy5vcHRpb25zPWssdGhpcy5zdGF0ZT0ibmV3Iix0aGlzLnRpbWVsaW5lPWsudGltZWxpbmUsdGhpcy5hY3Rpdml0eVRpbWVvdXQ9ay5hY3Rpdml0eVRpbWVvdXQsdGhpcy5pZD10aGlzLnRpbWVsaW5lLmdlbmVyYXRlVW5pcXVlSUQoKX1oYW5kbGVzQWN0aXZpdHlDaGVja3MoKXtyZXR1cm4hIXRoaXMuaG9va3MuaGFuZGxlc0FjdGl2aXR5Q2hlY2tzfXN1cHBvcnRzUGluZygpe3JldHVybiEhdGhpcy5ob29rcy5zdXBwb3J0c1Bpbmd9Y29ubmVjdCgpe2lmKHRoaXMuc29ja2V0fHx0aGlzLnN0YXRlIT09ImluaXRpYWxpemVkIilyZXR1cm4hMTt2YXIgbz10aGlzLmhvb2tzLnVybHMuZ2V0SW5pdGlhbCh0aGlzLmtleSx0aGlzLm9wdGlvbnMpO3RyeXt0aGlzLnNvY2tldD10aGlzLmhvb2tzLmdldFNvY2tldChvLHRoaXMub3B0aW9ucyl9Y2F0Y2goYyl7cmV0dXJuIEZlLmRlZmVyKCgpPT57dGhpcy5vbkVycm9yKGMpLHRoaXMuY2hhbmdlU3RhdGUoImNsb3NlZCIpfSksITF9cmV0dXJuIHRoaXMuYmluZExpc3RlbmVycygpLFcuZGVidWcoIkNvbm5lY3RpbmciLHt0cmFuc3BvcnQ6dGhpcy5uYW1lLHVybDpvfSksdGhpcy5jaGFuZ2VTdGF0ZSgiY29ubmVjdGluZyIpLCEwfWNsb3NlKCl7cmV0dXJuIHRoaXMuc29ja2V0Pyh0aGlzLnNvY2tldC5jbG9zZSgpLCEwKTohMX1zZW5kKG8pe3JldHVybiB0aGlzLnN0YXRlPT09Im9wZW4iPyhGZS5kZWZlcigoKT0+e3RoaXMuc29ja2V0JiZ0aGlzLnNvY2tldC5zZW5kKG8pfSksITApOiExfXBpbmcoKXt0aGlzLnN0YXRlPT09Im9wZW4iJiZ0aGlzLnN1cHBvcnRzUGluZygpJiZ0aGlzLnNvY2tldC5waW5nKCl9b25PcGVuKCl7dGhpcy5ob29rcy5iZWZvcmVPcGVuJiZ0aGlzLmhvb2tzLmJlZm9yZU9wZW4odGhpcy5zb2NrZXQsdGhpcy5ob29rcy51cmxzLmdldFBhdGgodGhpcy5rZXksdGhpcy5vcHRpb25zKSksdGhpcy5jaGFuZ2VTdGF0ZSgib3BlbiIpLHRoaXMuc29ja2V0Lm9ub3Blbj12b2lkIDB9b25FcnJvcihvKXt0aGlzLmVtaXQoImVycm9yIix7dHlwZToiV2ViU29ja2V0RXJyb3IiLGVycm9yOm99KSx0aGlzLnRpbWVsaW5lLmVycm9yKHRoaXMuYnVpbGRUaW1lbGluZU1lc3NhZ2Uoe2Vycm9yOm8udG9TdHJpbmcoKX0pKX1vbkNsb3NlKG8pe28/dGhpcy5jaGFuZ2VTdGF0ZSgiY2xvc2VkIix7Y29kZTpvLmNvZGUscmVhc29uOm8ucmVhc29uLHdhc0NsZWFuOm8ud2FzQ2xlYW59KTp0aGlzLmNoYW5nZVN0YXRlKCJjbG9zZWQiKSx0aGlzLnVuYmluZExpc3RlbmVycygpLHRoaXMuc29ja2V0PXZvaWQgMH1vbk1lc3NhZ2Uobyl7dGhpcy5lbWl0KCJtZXNzYWdlIixvKX1vbkFjdGl2aXR5KCl7dGhpcy5lbWl0KCJhY3Rpdml0eSIpfWJpbmRMaXN0ZW5lcnMoKXt0aGlzLnNvY2tldC5vbm9wZW49KCk9Pnt0aGlzLm9uT3BlbigpfSx0aGlzLnNvY2tldC5vbmVycm9yPW89Pnt0aGlzLm9uRXJyb3Iobyl9LHRoaXMuc29ja2V0Lm9uY2xvc2U9bz0+e3RoaXMub25DbG9zZShvKX0sdGhpcy5zb2NrZXQub25tZXNzYWdlPW89Pnt0aGlzLm9uTWVzc2FnZShvKX0sdGhpcy5zdXBwb3J0c1BpbmcoKSYmKHRoaXMuc29ja2V0Lm9uYWN0aXZpdHk9KCk9Pnt0aGlzLm9uQWN0aXZpdHkoKX0pfXVuYmluZExpc3RlbmVycygpe3RoaXMuc29ja2V0JiYodGhpcy5zb2NrZXQub25vcGVuPXZvaWQgMCx0aGlzLnNvY2tldC5vbmVycm9yPXZvaWQgMCx0aGlzLnNvY2tldC5vbmNsb3NlPXZvaWQgMCx0aGlzLnNvY2tldC5vbm1lc3NhZ2U9dm9pZCAwLHRoaXMuc3VwcG9ydHNQaW5nKCkmJih0aGlzLnNvY2tldC5vbmFjdGl2aXR5PXZvaWQgMCkpfWNoYW5nZVN0YXRlKG8sYyl7dGhpcy5zdGF0ZT1vLHRoaXMudGltZWxpbmUuaW5mbyh0aGlzLmJ1aWxkVGltZWxpbmVNZXNzYWdlKHtzdGF0ZTpvLHBhcmFtczpjfSkpLHRoaXMuZW1pdChvLGMpfWJ1aWxkVGltZWxpbmVNZXNzYWdlKG8pe3JldHVybiBQZSh7Y2lkOnRoaXMuaWR9LG8pfX1jbGFzcyBkbntjb25zdHJ1Y3RvcihvKXt0aGlzLmhvb2tzPW99aXNTdXBwb3J0ZWQobyl7cmV0dXJuIHRoaXMuaG9va3MuaXNTdXBwb3J0ZWQobyl9Y3JlYXRlQ29ubmVjdGlvbihvLGMsZyxiKXtyZXR1cm4gbmV3IF9sKHRoaXMuaG9va3MsbyxjLGcsYil9fXZhciB4bD1uZXcgZG4oe3VybHM6WGUsaGFuZGxlc0FjdGl2aXR5Q2hlY2tzOiExLHN1cHBvcnRzUGluZzohMSxpc0luaXRpYWxpemVkOmZ1bmN0aW9uKCl7cmV0dXJuISFvZS5nZXRXZWJTb2NrZXRBUEkoKX0saXNTdXBwb3J0ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIW9lLmdldFdlYlNvY2tldEFQSSgpfSxnZXRTb2NrZXQ6ZnVuY3Rpb24obCl7cmV0dXJuIG9lLmNyZWF0ZVdlYlNvY2tldChsKX19KSxXaT17dXJsczpjdCxoYW5kbGVzQWN0aXZpdHlDaGVja3M6ITEsc3VwcG9ydHNQaW5nOiEwLGlzSW5pdGlhbGl6ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH19LEtpPVBlKHtnZXRTb2NrZXQ6ZnVuY3Rpb24obCl7cmV0dXJuIG9lLkhUVFBGYWN0b3J5LmNyZWF0ZVN0cmVhbWluZ1NvY2tldChsKX19LFdpKSxKaT1QZSh7Z2V0U29ja2V0OmZ1bmN0aW9uKGwpe3JldHVybiBvZS5IVFRQRmFjdG9yeS5jcmVhdGVQb2xsaW5nU29ja2V0KGwpfX0sV2kpLFhpPXtpc1N1cHBvcnRlZDpmdW5jdGlvbigpe3JldHVybiBvZS5pc1hIUlN1cHBvcnRlZCgpfX0sQ2w9bmV3IGRuKFBlKHt9LEtpLFhpKSksU2w9bmV3IGRuKFBlKHt9LEppLFhpKSksVGw9e3dzOnhsLHhocl9zdHJlYW1pbmc6Q2wseGhyX3BvbGxpbmc6U2x9LGhyPVRsLEVsPW5ldyBkbih7ZmlsZToic29ja2pzIix1cmxzOmZyLGhhbmRsZXNBY3Rpdml0eUNoZWNrczohMCxzdXBwb3J0c1Bpbmc6ITEsaXNTdXBwb3J0ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH0saXNJbml0aWFsaXplZDpmdW5jdGlvbigpe3JldHVybiB3aW5kb3cuU29ja0pTIT09dm9pZCAwfSxnZXRTb2NrZXQ6ZnVuY3Rpb24obCxvKXtyZXR1cm4gbmV3IHdpbmRvdy5Tb2NrSlMobCxudWxsLHtqc19wYXRoOnAuZ2V0UGF0aCgic29ja2pzIix7dXNlVExTOm8udXNlVExTfSksaWdub3JlX251bGxfb3JpZ2luOm8uaWdub3JlTnVsbE9yaWdpbn0pfSxiZWZvcmVPcGVuOmZ1bmN0aW9uKGwsbyl7bC5zZW5kKEpTT04uc3RyaW5naWZ5KHtwYXRoOm99KSl9fSksR2k9e2lzU3VwcG9ydGVkOmZ1bmN0aW9uKGwpe3ZhciBvPW9lLmlzWERSU3VwcG9ydGVkKGwudXNlVExTKTtyZXR1cm4gb319LEFsPW5ldyBkbihQZSh7fSxLaSxHaSkpLE9sPW5ldyBkbihQZSh7fSxKaSxHaSkpO2hyLnhkcl9zdHJlYW1pbmc9QWwsaHIueGRyX3BvbGxpbmc9T2wsaHIuc29ja2pzPUVsO3ZhciAkbD1ocjtjbGFzcyBrbCBleHRlbmRzIFN0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt2YXIgbz10aGlzO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyIT09dm9pZCAwJiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsZnVuY3Rpb24oKXtvLmVtaXQoIm9ubGluZSIpfSwhMSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLGZ1bmN0aW9uKCl7by5lbWl0KCJvZmZsaW5lIil9LCExKSl9aXNPbmxpbmUoKXtyZXR1cm4gd2luZG93Lm5hdmlnYXRvci5vbkxpbmU9PT12b2lkIDA/ITA6d2luZG93Lm5hdmlnYXRvci5vbkxpbmV9fXZhciBSbD1uZXcga2w7Y2xhc3MgUGx7Y29uc3RydWN0b3IobyxjLGcpe3RoaXMubWFuYWdlcj1vLHRoaXMudHJhbnNwb3J0PWMsdGhpcy5taW5QaW5nRGVsYXk9Zy5taW5QaW5nRGVsYXksdGhpcy5tYXhQaW5nRGVsYXk9Zy5tYXhQaW5nRGVsYXksdGhpcy5waW5nRGVsYXk9dm9pZCAwfWNyZWF0ZUNvbm5lY3Rpb24obyxjLGcsYil7Yj1QZSh7fSxiLHthY3Rpdml0eVRpbWVvdXQ6dGhpcy5waW5nRGVsYXl9KTt2YXIgaz10aGlzLnRyYW5zcG9ydC5jcmVhdGVDb25uZWN0aW9uKG8sYyxnLGIpLEY9bnVsbCxKPWZ1bmN0aW9uKCl7ay51bmJpbmQoIm9wZW4iLEopLGsuYmluZCgiY2xvc2VkIixpZSksRj1GZS5ub3coKX0saWU9dmU9PntpZihrLnVuYmluZCgiY2xvc2VkIixpZSksdmUuY29kZT09PTEwMDJ8fHZlLmNvZGU9PT0xMDAzKXRoaXMubWFuYWdlci5yZXBvcnREZWF0aCgpO2Vsc2UgaWYoIXZlLndhc0NsZWFuJiZGKXt2YXIgeGU9RmUubm93KCktRjt4ZTwyKnRoaXMubWF4UGluZ0RlbGF5JiYodGhpcy5tYW5hZ2VyLnJlcG9ydERlYXRoKCksdGhpcy5waW5nRGVsYXk9TWF0aC5tYXgoeGUvMix0aGlzLm1pblBpbmdEZWxheSkpfX07cmV0dXJuIGsuYmluZCgib3BlbiIsSiksa31pc1N1cHBvcnRlZChvKXtyZXR1cm4gdGhpcy5tYW5hZ2VyLmlzQWxpdmUoKSYmdGhpcy50cmFuc3BvcnQuaXNTdXBwb3J0ZWQobyl9fWNvbnN0IFFpPXtkZWNvZGVNZXNzYWdlOmZ1bmN0aW9uKGwpe3RyeXt2YXIgbz1KU09OLnBhcnNlKGwuZGF0YSksYz1vLmRhdGE7aWYodHlwZW9mIGM9PSJzdHJpbmciKXRyeXtjPUpTT04ucGFyc2Uoby5kYXRhKX1jYXRjaHt9dmFyIGc9e2V2ZW50Om8uZXZlbnQsY2hhbm5lbDpvLmNoYW5uZWwsZGF0YTpjfTtyZXR1cm4gby51c2VyX2lkJiYoZy51c2VyX2lkPW8udXNlcl9pZCksZ31jYXRjaChiKXt0aHJvd3t0eXBlOiJNZXNzYWdlUGFyc2VFcnJvciIsZXJyb3I6YixkYXRhOmwuZGF0YX19fSxlbmNvZGVNZXNzYWdlOmZ1bmN0aW9uKGwpe3JldHVybiBKU09OLnN0cmluZ2lmeShsKX0scHJvY2Vzc0hhbmRzaGFrZTpmdW5jdGlvbihsKXt2YXIgbz1RaS5kZWNvZGVNZXNzYWdlKGwpO2lmKG8uZXZlbnQ9PT0icHVzaGVyOmNvbm5lY3Rpb25fZXN0YWJsaXNoZWQiKXtpZighby5kYXRhLmFjdGl2aXR5X3RpbWVvdXQpdGhyb3ciTm8gYWN0aXZpdHkgdGltZW91dCBzcGVjaWZpZWQgaW4gaGFuZHNoYWtlIjtyZXR1cm57YWN0aW9uOiJjb25uZWN0ZWQiLGlkOm8uZGF0YS5zb2NrZXRfaWQsYWN0aXZpdHlUaW1lb3V0Om8uZGF0YS5hY3Rpdml0eV90aW1lb3V0KjFlM319ZWxzZXtpZihvLmV2ZW50PT09InB1c2hlcjplcnJvciIpcmV0dXJue2FjdGlvbjp0aGlzLmdldENsb3NlQWN0aW9uKG8uZGF0YSksZXJyb3I6dGhpcy5nZXRDbG9zZUVycm9yKG8uZGF0YSl9O3Rocm93IkludmFsaWQgaGFuZHNoYWtlIn19LGdldENsb3NlQWN0aW9uOmZ1bmN0aW9uKGwpe3JldHVybiBsLmNvZGU8NGUzP2wuY29kZT49MTAwMiYmbC5jb2RlPD0xMDA0PyJiYWNrb2ZmIjpudWxsOmwuY29kZT09PTRlMz8idGxzX29ubHkiOmwuY29kZTw0MTAwPyJyZWZ1c2VkIjpsLmNvZGU8NDIwMD8iYmFja29mZiI6bC5jb2RlPDQzMDA/InJldHJ5IjoicmVmdXNlZCJ9LGdldENsb3NlRXJyb3I6ZnVuY3Rpb24obCl7cmV0dXJuIGwuY29kZSE9PTFlMyYmbC5jb2RlIT09MTAwMT97dHlwZToiUHVzaGVyRXJyb3IiLGRhdGE6e2NvZGU6bC5jb2RlLG1lc3NhZ2U6bC5yZWFzb258fGwubWVzc2FnZX19Om51bGx9fTt2YXIgSnQ9UWk7Y2xhc3MgTGwgZXh0ZW5kcyBTdHtjb25zdHJ1Y3RvcihvLGMpe3N1cGVyKCksdGhpcy5pZD1vLHRoaXMudHJhbnNwb3J0PWMsdGhpcy5hY3Rpdml0eVRpbWVvdXQ9Yy5hY3Rpdml0eVRpbWVvdXQsdGhpcy5iaW5kTGlzdGVuZXJzKCl9aGFuZGxlc0FjdGl2aXR5Q2hlY2tzKCl7cmV0dXJuIHRoaXMudHJhbnNwb3J0LmhhbmRsZXNBY3Rpdml0eUNoZWNrcygpfXNlbmQobyl7cmV0dXJuIHRoaXMudHJhbnNwb3J0LnNlbmQobyl9c2VuZF9ldmVudChvLGMsZyl7dmFyIGI9e2V2ZW50Om8sZGF0YTpjfTtyZXR1cm4gZyYmKGIuY2hhbm5lbD1nKSxXLmRlYnVnKCJFdmVudCBzZW50IixiKSx0aGlzLnNlbmQoSnQuZW5jb2RlTWVzc2FnZShiKSl9cGluZygpe3RoaXMudHJhbnNwb3J0LnN1cHBvcnRzUGluZygpP3RoaXMudHJhbnNwb3J0LnBpbmcoKTp0aGlzLnNlbmRfZXZlbnQoInB1c2hlcjpwaW5nIix7fSl9Y2xvc2UoKXt0aGlzLnRyYW5zcG9ydC5jbG9zZSgpfWJpbmRMaXN0ZW5lcnMoKXt2YXIgbz17bWVzc2FnZTpnPT57dmFyIGI7dHJ5e2I9SnQuZGVjb2RlTWVzc2FnZShnKX1jYXRjaChrKXt0aGlzLmVtaXQoImVycm9yIix7dHlwZToiTWVzc2FnZVBhcnNlRXJyb3IiLGVycm9yOmssZGF0YTpnLmRhdGF9KX1pZihiIT09dm9pZCAwKXtzd2l0Y2goVy5kZWJ1ZygiRXZlbnQgcmVjZCIsYiksYi5ldmVudCl7Y2FzZSJwdXNoZXI6ZXJyb3IiOnRoaXMuZW1pdCgiZXJyb3IiLHt0eXBlOiJQdXNoZXJFcnJvciIsZGF0YTpiLmRhdGF9KTticmVhaztjYXNlInB1c2hlcjpwaW5nIjp0aGlzLmVtaXQoInBpbmciKTticmVhaztjYXNlInB1c2hlcjpwb25nIjp0aGlzLmVtaXQoInBvbmciKTticmVha310aGlzLmVtaXQoIm1lc3NhZ2UiLGIpfX0sYWN0aXZpdHk6KCk9Pnt0aGlzLmVtaXQoImFjdGl2aXR5Iil9LGVycm9yOmc9Pnt0aGlzLmVtaXQoImVycm9yIixnKX0sY2xvc2VkOmc9PntjKCksZyYmZy5jb2RlJiZ0aGlzLmhhbmRsZUNsb3NlRXZlbnQoZyksdGhpcy50cmFuc3BvcnQ9bnVsbCx0aGlzLmVtaXQoImNsb3NlZCIpfX0sYz0oKT0+e2l0KG8sKGcsYik9Pnt0aGlzLnRyYW5zcG9ydC51bmJpbmQoYixnKX0pfTtpdChvLChnLGIpPT57dGhpcy50cmFuc3BvcnQuYmluZChiLGcpfSl9aGFuZGxlQ2xvc2VFdmVudChvKXt2YXIgYz1KdC5nZXRDbG9zZUFjdGlvbihvKSxnPUp0LmdldENsb3NlRXJyb3Iobyk7ZyYmdGhpcy5lbWl0KCJlcnJvciIsZyksYyYmdGhpcy5lbWl0KGMse2FjdGlvbjpjLGVycm9yOmd9KX19Y2xhc3MgSWx7Y29uc3RydWN0b3IobyxjKXt0aGlzLnRyYW5zcG9ydD1vLHRoaXMuY2FsbGJhY2s9Yyx0aGlzLmJpbmRMaXN0ZW5lcnMoKX1jbG9zZSgpe3RoaXMudW5iaW5kTGlzdGVuZXJzKCksdGhpcy50cmFuc3BvcnQuY2xvc2UoKX1iaW5kTGlzdGVuZXJzKCl7dGhpcy5vbk1lc3NhZ2U9bz0+e3RoaXMudW5iaW5kTGlzdGVuZXJzKCk7dmFyIGM7dHJ5e2M9SnQucHJvY2Vzc0hhbmRzaGFrZShvKX1jYXRjaChnKXt0aGlzLmZpbmlzaCgiZXJyb3IiLHtlcnJvcjpnfSksdGhpcy50cmFuc3BvcnQuY2xvc2UoKTtyZXR1cm59Yy5hY3Rpb249PT0iY29ubmVjdGVkIj90aGlzLmZpbmlzaCgiY29ubmVjdGVkIix7Y29ubmVjdGlvbjpuZXcgTGwoYy5pZCx0aGlzLnRyYW5zcG9ydCksYWN0aXZpdHlUaW1lb3V0OmMuYWN0aXZpdHlUaW1lb3V0fSk6KHRoaXMuZmluaXNoKGMuYWN0aW9uLHtlcnJvcjpjLmVycm9yfSksdGhpcy50cmFuc3BvcnQuY2xvc2UoKSl9LHRoaXMub25DbG9zZWQ9bz0+e3RoaXMudW5iaW5kTGlzdGVuZXJzKCk7dmFyIGM9SnQuZ2V0Q2xvc2VBY3Rpb24obyl8fCJiYWNrb2ZmIixnPUp0LmdldENsb3NlRXJyb3Iobyk7dGhpcy5maW5pc2goYyx7ZXJyb3I6Z30pfSx0aGlzLnRyYW5zcG9ydC5iaW5kKCJtZXNzYWdlIix0aGlzLm9uTWVzc2FnZSksdGhpcy50cmFuc3BvcnQuYmluZCgiY2xvc2VkIix0aGlzLm9uQ2xvc2VkKX11bmJpbmRMaXN0ZW5lcnMoKXt0aGlzLnRyYW5zcG9ydC51bmJpbmQoIm1lc3NhZ2UiLHRoaXMub25NZXNzYWdlKSx0aGlzLnRyYW5zcG9ydC51bmJpbmQoImNsb3NlZCIsdGhpcy5vbkNsb3NlZCl9ZmluaXNoKG8sYyl7dGhpcy5jYWxsYmFjayhQZSh7dHJhbnNwb3J0OnRoaXMudHJhbnNwb3J0LGFjdGlvbjpvfSxjKSl9fWNsYXNzIE5se2NvbnN0cnVjdG9yKG8sYyl7dGhpcy50aW1lbGluZT1vLHRoaXMub3B0aW9ucz1jfHx7fX1zZW5kKG8sYyl7dGhpcy50aW1lbGluZS5pc0VtcHR5KCl8fHRoaXMudGltZWxpbmUuc2VuZChvZS5UaW1lbGluZVRyYW5zcG9ydC5nZXRBZ2VudCh0aGlzLG8pLGMpfX1jbGFzcyBncyBleHRlbmRzIFN0e2NvbnN0cnVjdG9yKG8sYyl7c3VwZXIoZnVuY3Rpb24oZyxiKXtXLmRlYnVnKCJObyBjYWxsYmFja3Mgb24gIitvKyIgZm9yICIrZyl9KSx0aGlzLm5hbWU9byx0aGlzLnB1c2hlcj1jLHRoaXMuc3Vic2NyaWJlZD0hMSx0aGlzLnN1YnNjcmlwdGlvblBlbmRpbmc9ITEsdGhpcy5zdWJzY3JpcHRpb25DYW5jZWxsZWQ9ITF9YXV0aG9yaXplKG8sYyl7cmV0dXJuIGMobnVsbCx7YXV0aDoiIn0pfXRyaWdnZXIobyxjKXtpZihvLmluZGV4T2YoImNsaWVudC0iKSE9PTApdGhyb3cgbmV3IHkoIkV2ZW50ICciK28rIicgZG9lcyBub3Qgc3RhcnQgd2l0aCAnY2xpZW50LSciKTtpZighdGhpcy5zdWJzY3JpYmVkKXt2YXIgZz1tLmJ1aWxkTG9nU3VmZml4KCJ0cmlnZ2VyaW5nQ2xpZW50RXZlbnRzIik7Vy53YXJuKGBDbGllbnQgZXZlbnQgdHJpZ2dlcmVkIGJlZm9yZSBjaGFubmVsICdzdWJzY3JpcHRpb25fc3VjY2VlZGVkJyBldmVudCAuICR7Z31gKX1yZXR1cm4gdGhpcy5wdXNoZXIuc2VuZF9ldmVudChvLGMsdGhpcy5uYW1lKX1kaXNjb25uZWN0KCl7dGhpcy5zdWJzY3JpYmVkPSExLHRoaXMuc3Vic2NyaXB0aW9uUGVuZGluZz0hMX1oYW5kbGVFdmVudChvKXt2YXIgYz1vLmV2ZW50LGc9by5kYXRhO2lmKGM9PT0icHVzaGVyX2ludGVybmFsOnN1YnNjcmlwdGlvbl9zdWNjZWVkZWQiKXRoaXMuaGFuZGxlU3Vic2NyaXB0aW9uU3VjY2VlZGVkRXZlbnQobyk7ZWxzZSBpZihjPT09InB1c2hlcl9pbnRlcm5hbDpzdWJzY3JpcHRpb25fY291bnQiKXRoaXMuaGFuZGxlU3Vic2NyaXB0aW9uQ291bnRFdmVudChvKTtlbHNlIGlmKGMuaW5kZXhPZigicHVzaGVyX2ludGVybmFsOiIpIT09MCl7dmFyIGI9e307dGhpcy5lbWl0KGMsZyxiKX19aGFuZGxlU3Vic2NyaXB0aW9uU3VjY2VlZGVkRXZlbnQobyl7dGhpcy5zdWJzY3JpcHRpb25QZW5kaW5nPSExLHRoaXMuc3Vic2NyaWJlZD0hMCx0aGlzLnN1YnNjcmlwdGlvbkNhbmNlbGxlZD90aGlzLnB1c2hlci51bnN1YnNjcmliZSh0aGlzLm5hbWUpOnRoaXMuZW1pdCgicHVzaGVyOnN1YnNjcmlwdGlvbl9zdWNjZWVkZWQiLG8uZGF0YSl9aGFuZGxlU3Vic2NyaXB0aW9uQ291bnRFdmVudChvKXtvLmRhdGEuc3Vic2NyaXB0aW9uX2NvdW50JiYodGhpcy5zdWJzY3JpcHRpb25Db3VudD1vLmRhdGEuc3Vic2NyaXB0aW9uX2NvdW50KSx0aGlzLmVtaXQoInB1c2hlcjpzdWJzY3JpcHRpb25fY291bnQiLG8uZGF0YSl9c3Vic2NyaWJlKCl7dGhpcy5zdWJzY3JpYmVkfHwodGhpcy5zdWJzY3JpcHRpb25QZW5kaW5nPSEwLHRoaXMuc3Vic2NyaXB0aW9uQ2FuY2VsbGVkPSExLHRoaXMuYXV0aG9yaXplKHRoaXMucHVzaGVyLmNvbm5lY3Rpb24uc29ja2V0X2lkLChvLGMpPT57bz8odGhpcy5zdWJzY3JpcHRpb25QZW5kaW5nPSExLFcuZXJyb3Ioby50b1N0cmluZygpKSx0aGlzLmVtaXQoInB1c2hlcjpzdWJzY3JpcHRpb25fZXJyb3IiLE9iamVjdC5hc3NpZ24oe30se3R5cGU6IkF1dGhFcnJvciIsZXJyb3I6by5tZXNzYWdlfSxvIGluc3RhbmNlb2YgRz97c3RhdHVzOm8uc3RhdHVzfTp7fSkpKTp0aGlzLnB1c2hlci5zZW5kX2V2ZW50KCJwdXNoZXI6c3Vic2NyaWJlIix7YXV0aDpjLmF1dGgsY2hhbm5lbF9kYXRhOmMuY2hhbm5lbF9kYXRhLGNoYW5uZWw6dGhpcy5uYW1lfSl9KSl9dW5zdWJzY3JpYmUoKXt0aGlzLnN1YnNjcmliZWQ9ITEsdGhpcy5wdXNoZXIuc2VuZF9ldmVudCgicHVzaGVyOnVuc3Vic2NyaWJlIix7Y2hhbm5lbDp0aGlzLm5hbWV9KX1jYW5jZWxTdWJzY3JpcHRpb24oKXt0aGlzLnN1YnNjcmlwdGlvbkNhbmNlbGxlZD0hMH1yZWluc3RhdGVTdWJzY3JpcHRpb24oKXt0aGlzLnN1YnNjcmlwdGlvbkNhbmNlbGxlZD0hMX19Y2xhc3MgbXMgZXh0ZW5kcyBnc3thdXRob3JpemUobyxjKXtyZXR1cm4gdGhpcy5wdXNoZXIuY29uZmlnLmNoYW5uZWxBdXRob3JpemVyKHtjaGFubmVsTmFtZTp0aGlzLm5hbWUsc29ja2V0SWQ6b30sYyl9fWNsYXNzIEZse2NvbnN0cnVjdG9yKCl7dGhpcy5yZXNldCgpfWdldChvKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMubWVtYmVycyxvKT97aWQ6byxpbmZvOnRoaXMubWVtYmVyc1tvXX06bnVsbH1lYWNoKG8pe2l0KHRoaXMubWVtYmVycywoYyxnKT0+e28odGhpcy5nZXQoZykpfSl9c2V0TXlJRChvKXt0aGlzLm15SUQ9b31vblN1YnNjcmlwdGlvbihvKXt0aGlzLm1lbWJlcnM9by5wcmVzZW5jZS5oYXNoLHRoaXMuY291bnQ9by5wcmVzZW5jZS5jb3VudCx0aGlzLm1lPXRoaXMuZ2V0KHRoaXMubXlJRCl9YWRkTWVtYmVyKG8pe3JldHVybiB0aGlzLmdldChvLnVzZXJfaWQpPT09bnVsbCYmdGhpcy5jb3VudCsrLHRoaXMubWVtYmVyc1tvLnVzZXJfaWRdPW8udXNlcl9pbmZvLHRoaXMuZ2V0KG8udXNlcl9pZCl9cmVtb3ZlTWVtYmVyKG8pe3ZhciBjPXRoaXMuZ2V0KG8udXNlcl9pZCk7cmV0dXJuIGMmJihkZWxldGUgdGhpcy5tZW1iZXJzW28udXNlcl9pZF0sdGhpcy5jb3VudC0tKSxjfXJlc2V0KCl7dGhpcy5tZW1iZXJzPXt9LHRoaXMuY291bnQ9MCx0aGlzLm15SUQ9bnVsbCx0aGlzLm1lPW51bGx9fXZhciBqbD1mdW5jdGlvbihsLG8sYyxnKXtmdW5jdGlvbiBiKGspe3JldHVybiBrIGluc3RhbmNlb2YgYz9rOm5ldyBjKGZ1bmN0aW9uKEYpe0Yoayl9KX1yZXR1cm4gbmV3KGN8fChjPVByb21pc2UpKShmdW5jdGlvbihrLEYpe2Z1bmN0aW9uIEooeGUpe3RyeXt2ZShnLm5leHQoeGUpKX1jYXRjaChMZSl7RihMZSl9fWZ1bmN0aW9uIGllKHhlKXt0cnl7dmUoZy50aHJvdyh4ZSkpfWNhdGNoKExlKXtGKExlKX19ZnVuY3Rpb24gdmUoeGUpe3hlLmRvbmU/ayh4ZS52YWx1ZSk6Yih4ZS52YWx1ZSkudGhlbihKLGllKX12ZSgoZz1nLmFwcGx5KGwsb3x8W10pKS5uZXh0KCkpfSl9O2NsYXNzIE1sIGV4dGVuZHMgbXN7Y29uc3RydWN0b3IobyxjKXtzdXBlcihvLGMpLHRoaXMubWVtYmVycz1uZXcgRmx9YXV0aG9yaXplKG8sYyl7c3VwZXIuYXV0aG9yaXplKG8sKGcsYik9PmpsKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtpZighZylpZihiPWIsYi5jaGFubmVsX2RhdGEhPW51bGwpe3ZhciBrPUpTT04ucGFyc2UoYi5jaGFubmVsX2RhdGEpO3RoaXMubWVtYmVycy5zZXRNeUlEKGsudXNlcl9pZCl9ZWxzZSBpZih5aWVsZCB0aGlzLnB1c2hlci51c2VyLnNpZ25pbkRvbmVQcm9taXNlLHRoaXMucHVzaGVyLnVzZXIudXNlcl9kYXRhIT1udWxsKXRoaXMubWVtYmVycy5zZXRNeUlEKHRoaXMucHVzaGVyLnVzZXIudXNlcl9kYXRhLmlkKTtlbHNle2xldCBGPW0uYnVpbGRMb2dTdWZmaXgoImF1dGhvcml6YXRpb25FbmRwb2ludCIpO1cuZXJyb3IoYEludmFsaWQgYXV0aCByZXNwb25zZSBmb3IgY2hhbm5lbCAnJHt0aGlzLm5hbWV9JywgZXhwZWN0ZWQgJ2NoYW5uZWxfZGF0YScgZmllbGQuICR7Rn0sIG9yIHRoZSB1c2VyIHNob3VsZCBiZSBzaWduZWQgaW4uYCksYygiSW52YWxpZCBhdXRoIHJlc3BvbnNlIik7cmV0dXJufWMoZyxiKX0pKX1oYW5kbGVFdmVudChvKXt2YXIgYz1vLmV2ZW50O2lmKGMuaW5kZXhPZigicHVzaGVyX2ludGVybmFsOiIpPT09MCl0aGlzLmhhbmRsZUludGVybmFsRXZlbnQobyk7ZWxzZXt2YXIgZz1vLmRhdGEsYj17fTtvLnVzZXJfaWQmJihiLnVzZXJfaWQ9by51c2VyX2lkKSx0aGlzLmVtaXQoYyxnLGIpfX1oYW5kbGVJbnRlcm5hbEV2ZW50KG8pe3ZhciBjPW8uZXZlbnQsZz1vLmRhdGE7c3dpdGNoKGMpe2Nhc2UicHVzaGVyX2ludGVybmFsOnN1YnNjcmlwdGlvbl9zdWNjZWVkZWQiOnRoaXMuaGFuZGxlU3Vic2NyaXB0aW9uU3VjY2VlZGVkRXZlbnQobyk7YnJlYWs7Y2FzZSJwdXNoZXJfaW50ZXJuYWw6c3Vic2NyaXB0aW9uX2NvdW50Ijp0aGlzLmhhbmRsZVN1YnNjcmlwdGlvbkNvdW50RXZlbnQobyk7YnJlYWs7Y2FzZSJwdXNoZXJfaW50ZXJuYWw6bWVtYmVyX2FkZGVkIjp2YXIgYj10aGlzLm1lbWJlcnMuYWRkTWVtYmVyKGcpO3RoaXMuZW1pdCgicHVzaGVyOm1lbWJlcl9hZGRlZCIsYik7YnJlYWs7Y2FzZSJwdXNoZXJfaW50ZXJuYWw6bWVtYmVyX3JlbW92ZWQiOnZhciBrPXRoaXMubWVtYmVycy5yZW1vdmVNZW1iZXIoZyk7ayYmdGhpcy5lbWl0KCJwdXNoZXI6bWVtYmVyX3JlbW92ZWQiLGspO2JyZWFrfX1oYW5kbGVTdWJzY3JpcHRpb25TdWNjZWVkZWRFdmVudChvKXt0aGlzLnN1YnNjcmlwdGlvblBlbmRpbmc9ITEsdGhpcy5zdWJzY3JpYmVkPSEwLHRoaXMuc3Vic2NyaXB0aW9uQ2FuY2VsbGVkP3RoaXMucHVzaGVyLnVuc3Vic2NyaWJlKHRoaXMubmFtZSk6KHRoaXMubWVtYmVycy5vblN1YnNjcmlwdGlvbihvLmRhdGEpLHRoaXMuZW1pdCgicHVzaGVyOnN1YnNjcmlwdGlvbl9zdWNjZWVkZWQiLHRoaXMubWVtYmVycykpfWRpc2Nvbm5lY3QoKXt0aGlzLm1lbWJlcnMucmVzZXQoKSxzdXBlci5kaXNjb25uZWN0KCl9fXZhciBEbD1zKDEpLGJzPXMoMCk7Y2xhc3MgVWwgZXh0ZW5kcyBtc3tjb25zdHJ1Y3RvcihvLGMsZyl7c3VwZXIobyxjKSx0aGlzLmtleT1udWxsLHRoaXMubmFjbD1nfWF1dGhvcml6ZShvLGMpe3N1cGVyLmF1dGhvcml6ZShvLChnLGIpPT57aWYoZyl7YyhnLGIpO3JldHVybn1sZXQgaz1iLnNoYXJlZF9zZWNyZXQ7aWYoIWspe2MobmV3IEVycm9yKGBObyBzaGFyZWRfc2VjcmV0IGtleSBpbiBhdXRoIHBheWxvYWQgZm9yIGVuY3J5cHRlZCBjaGFubmVsOiAke3RoaXMubmFtZX1gKSxudWxsKTtyZXR1cm59dGhpcy5rZXk9T2JqZWN0KGJzLmRlY29kZSkoayksZGVsZXRlIGIuc2hhcmVkX3NlY3JldCxjKG51bGwsYil9KX10cmlnZ2VyKG8sYyl7dGhyb3cgbmV3IE4oIkNsaWVudCBldmVudHMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGZvciBlbmNyeXB0ZWQgY2hhbm5lbHMiKX1oYW5kbGVFdmVudChvKXt2YXIgYz1vLmV2ZW50LGc9by5kYXRhO2lmKGMuaW5kZXhPZigicHVzaGVyX2ludGVybmFsOiIpPT09MHx8Yy5pbmRleE9mKCJwdXNoZXI6Iik9PT0wKXtzdXBlci5oYW5kbGVFdmVudChvKTtyZXR1cm59dGhpcy5oYW5kbGVFbmNyeXB0ZWRFdmVudChjLGcpfWhhbmRsZUVuY3J5cHRlZEV2ZW50KG8sYyl7aWYoIXRoaXMua2V5KXtXLmRlYnVnKCJSZWNlaXZlZCBlbmNyeXB0ZWQgZXZlbnQgYmVmb3JlIGtleSBoYXMgYmVlbiByZXRyaWV2ZWQgZnJvbSB0aGUgYXV0aEVuZHBvaW50Iik7cmV0dXJufWlmKCFjLmNpcGhlcnRleHR8fCFjLm5vbmNlKXtXLmVycm9yKCJVbmV4cGVjdGVkIGZvcm1hdCBmb3IgZW5jcnlwdGVkIGV2ZW50LCBleHBlY3RlZCBvYmplY3Qgd2l0aCBgY2lwaGVydGV4dGAgYW5kIGBub25jZWAgZmllbGRzLCBnb3Q6ICIrYyk7cmV0dXJufWxldCBnPU9iamVjdChicy5kZWNvZGUpKGMuY2lwaGVydGV4dCk7aWYoZy5sZW5ndGg8dGhpcy5uYWNsLnNlY3JldGJveC5vdmVyaGVhZExlbmd0aCl7Vy5lcnJvcihgRXhwZWN0ZWQgZW5jcnlwdGVkIGV2ZW50IGNpcGhlcnRleHQgbGVuZ3RoIHRvIGJlICR7dGhpcy5uYWNsLnNlY3JldGJveC5vdmVyaGVhZExlbmd0aH0sIGdvdDogJHtnLmxlbmd0aH1gKTtyZXR1cm59bGV0IGI9T2JqZWN0KGJzLmRlY29kZSkoYy5ub25jZSk7aWYoYi5sZW5ndGg8dGhpcy5uYWNsLnNlY3JldGJveC5ub25jZUxlbmd0aCl7Vy5lcnJvcihgRXhwZWN0ZWQgZW5jcnlwdGVkIGV2ZW50IG5vbmNlIGxlbmd0aCB0byBiZSAke3RoaXMubmFjbC5zZWNyZXRib3gubm9uY2VMZW5ndGh9LCBnb3Q6ICR7Yi5sZW5ndGh9YCk7cmV0dXJufWxldCBrPXRoaXMubmFjbC5zZWNyZXRib3gub3BlbihnLGIsdGhpcy5rZXkpO2lmKGs9PT1udWxsKXtXLmRlYnVnKCJGYWlsZWQgdG8gZGVjcnlwdCBhbiBldmVudCwgcHJvYmFibHkgYmVjYXVzZSBpdCB3YXMgZW5jcnlwdGVkIHdpdGggYSBkaWZmZXJlbnQga2V5LiBGZXRjaGluZyBhIG5ldyBrZXkgZnJvbSB0aGUgYXV0aEVuZHBvaW50Li4uIiksdGhpcy5hdXRob3JpemUodGhpcy5wdXNoZXIuY29ubmVjdGlvbi5zb2NrZXRfaWQsKEYsSik9PntpZihGKXtXLmVycm9yKGBGYWlsZWQgdG8gbWFrZSBhIHJlcXVlc3QgdG8gdGhlIGF1dGhFbmRwb2ludDogJHtKfS4gVW5hYmxlIHRvIGZldGNoIG5ldyBrZXksIHNvIGRyb3BwaW5nIGVuY3J5cHRlZCBldmVudGApO3JldHVybn1pZihrPXRoaXMubmFjbC5zZWNyZXRib3gub3BlbihnLGIsdGhpcy5rZXkpLGs9PT1udWxsKXtXLmVycm9yKCJGYWlsZWQgdG8gZGVjcnlwdCBldmVudCB3aXRoIG5ldyBrZXkuIERyb3BwaW5nIGVuY3J5cHRlZCBldmVudCIpO3JldHVybn10aGlzLmVtaXQobyx0aGlzLmdldERhdGFUb0VtaXQoaykpfSk7cmV0dXJufXRoaXMuZW1pdChvLHRoaXMuZ2V0RGF0YVRvRW1pdChrKSl9Z2V0RGF0YVRvRW1pdChvKXtsZXQgYz1PYmplY3QoRGwuZGVjb2RlKShvKTt0cnl7cmV0dXJuIEpTT04ucGFyc2UoYyl9Y2F0Y2h7cmV0dXJuIGN9fX1jbGFzcyBIbCBleHRlbmRzIFN0e2NvbnN0cnVjdG9yKG8sYyl7c3VwZXIoKSx0aGlzLnN0YXRlPSJpbml0aWFsaXplZCIsdGhpcy5jb25uZWN0aW9uPW51bGwsdGhpcy5rZXk9byx0aGlzLm9wdGlvbnM9Yyx0aGlzLnRpbWVsaW5lPXRoaXMub3B0aW9ucy50aW1lbGluZSx0aGlzLnVzaW5nVExTPXRoaXMub3B0aW9ucy51c2VUTFMsdGhpcy5lcnJvckNhbGxiYWNrcz10aGlzLmJ1aWxkRXJyb3JDYWxsYmFja3MoKSx0aGlzLmNvbm5lY3Rpb25DYWxsYmFja3M9dGhpcy5idWlsZENvbm5lY3Rpb25DYWxsYmFja3ModGhpcy5lcnJvckNhbGxiYWNrcyksdGhpcy5oYW5kc2hha2VDYWxsYmFja3M9dGhpcy5idWlsZEhhbmRzaGFrZUNhbGxiYWNrcyh0aGlzLmVycm9yQ2FsbGJhY2tzKTt2YXIgZz1vZS5nZXROZXR3b3JrKCk7Zy5iaW5kKCJvbmxpbmUiLCgpPT57dGhpcy50aW1lbGluZS5pbmZvKHtuZXRpbmZvOiJvbmxpbmUifSksKHRoaXMuc3RhdGU9PT0iY29ubmVjdGluZyJ8fHRoaXMuc3RhdGU9PT0idW5hdmFpbGFibGUiKSYmdGhpcy5yZXRyeUluKDApfSksZy5iaW5kKCJvZmZsaW5lIiwoKT0+e3RoaXMudGltZWxpbmUuaW5mbyh7bmV0aW5mbzoib2ZmbGluZSJ9KSx0aGlzLmNvbm5lY3Rpb24mJnRoaXMuc2VuZEFjdGl2aXR5Q2hlY2soKX0pLHRoaXMudXBkYXRlU3RyYXRlZ3koKX1jb25uZWN0KCl7aWYoISh0aGlzLmNvbm5lY3Rpb258fHRoaXMucnVubmVyKSl7aWYoIXRoaXMuc3RyYXRlZ3kuaXNTdXBwb3J0ZWQoKSl7dGhpcy51cGRhdGVTdGF0ZSgiZmFpbGVkIik7cmV0dXJufXRoaXMudXBkYXRlU3RhdGUoImNvbm5lY3RpbmciKSx0aGlzLnN0YXJ0Q29ubmVjdGluZygpLHRoaXMuc2V0VW5hdmFpbGFibGVUaW1lcigpfX1zZW5kKG8pe3JldHVybiB0aGlzLmNvbm5lY3Rpb24/dGhpcy5jb25uZWN0aW9uLnNlbmQobyk6ITF9c2VuZF9ldmVudChvLGMsZyl7cmV0dXJuIHRoaXMuY29ubmVjdGlvbj90aGlzLmNvbm5lY3Rpb24uc2VuZF9ldmVudChvLGMsZyk6ITF9ZGlzY29ubmVjdCgpe3RoaXMuZGlzY29ubmVjdEludGVybmFsbHkoKSx0aGlzLnVwZGF0ZVN0YXRlKCJkaXNjb25uZWN0ZWQiKX1pc1VzaW5nVExTKCl7cmV0dXJuIHRoaXMudXNpbmdUTFN9c3RhcnRDb25uZWN0aW5nKCl7dmFyIG89KGMsZyk9PntjP3RoaXMucnVubmVyPXRoaXMuc3RyYXRlZ3kuY29ubmVjdCgwLG8pOmcuYWN0aW9uPT09ImVycm9yIj8odGhpcy5lbWl0KCJlcnJvciIse3R5cGU6IkhhbmRzaGFrZUVycm9yIixlcnJvcjpnLmVycm9yfSksdGhpcy50aW1lbGluZS5lcnJvcih7aGFuZHNoYWtlRXJyb3I6Zy5lcnJvcn0pKToodGhpcy5hYm9ydENvbm5lY3RpbmcoKSx0aGlzLmhhbmRzaGFrZUNhbGxiYWNrc1tnLmFjdGlvbl0oZykpfTt0aGlzLnJ1bm5lcj10aGlzLnN0cmF0ZWd5LmNvbm5lY3QoMCxvKX1hYm9ydENvbm5lY3RpbmcoKXt0aGlzLnJ1bm5lciYmKHRoaXMucnVubmVyLmFib3J0KCksdGhpcy5ydW5uZXI9bnVsbCl9ZGlzY29ubmVjdEludGVybmFsbHkoKXtpZih0aGlzLmFib3J0Q29ubmVjdGluZygpLHRoaXMuY2xlYXJSZXRyeVRpbWVyKCksdGhpcy5jbGVhclVuYXZhaWxhYmxlVGltZXIoKSx0aGlzLmNvbm5lY3Rpb24pe3ZhciBvPXRoaXMuYWJhbmRvbkNvbm5lY3Rpb24oKTtvLmNsb3NlKCl9fXVwZGF0ZVN0cmF0ZWd5KCl7dGhpcy5zdHJhdGVneT10aGlzLm9wdGlvbnMuZ2V0U3RyYXRlZ3koe2tleTp0aGlzLmtleSx0aW1lbGluZTp0aGlzLnRpbWVsaW5lLHVzZVRMUzp0aGlzLnVzaW5nVExTfSl9cmV0cnlJbihvKXt0aGlzLnRpbWVsaW5lLmluZm8oe2FjdGlvbjoicmV0cnkiLGRlbGF5Om99KSxvPjAmJnRoaXMuZW1pdCgiY29ubmVjdGluZ19pbiIsTWF0aC5yb3VuZChvLzFlMykpLHRoaXMucmV0cnlUaW1lcj1uZXcgU2Uob3x8MCwoKT0+e3RoaXMuZGlzY29ubmVjdEludGVybmFsbHkoKSx0aGlzLmNvbm5lY3QoKX0pfWNsZWFyUmV0cnlUaW1lcigpe3RoaXMucmV0cnlUaW1lciYmKHRoaXMucmV0cnlUaW1lci5lbnN1cmVBYm9ydGVkKCksdGhpcy5yZXRyeVRpbWVyPW51bGwpfXNldFVuYXZhaWxhYmxlVGltZXIoKXt0aGlzLnVuYXZhaWxhYmxlVGltZXI9bmV3IFNlKHRoaXMub3B0aW9ucy51bmF2YWlsYWJsZVRpbWVvdXQsKCk9Pnt0aGlzLnVwZGF0ZVN0YXRlKCJ1bmF2YWlsYWJsZSIpfSl9Y2xlYXJVbmF2YWlsYWJsZVRpbWVyKCl7dGhpcy51bmF2YWlsYWJsZVRpbWVyJiZ0aGlzLnVuYXZhaWxhYmxlVGltZXIuZW5zdXJlQWJvcnRlZCgpfXNlbmRBY3Rpdml0eUNoZWNrKCl7dGhpcy5zdG9wQWN0aXZpdHlDaGVjaygpLHRoaXMuY29ubmVjdGlvbi5waW5nKCksdGhpcy5hY3Rpdml0eVRpbWVyPW5ldyBTZSh0aGlzLm9wdGlvbnMucG9uZ1RpbWVvdXQsKCk9Pnt0aGlzLnRpbWVsaW5lLmVycm9yKHtwb25nX3RpbWVkX291dDp0aGlzLm9wdGlvbnMucG9uZ1RpbWVvdXR9KSx0aGlzLnJldHJ5SW4oMCl9KX1yZXNldEFjdGl2aXR5Q2hlY2soKXt0aGlzLnN0b3BBY3Rpdml0eUNoZWNrKCksdGhpcy5jb25uZWN0aW9uJiYhdGhpcy5jb25uZWN0aW9uLmhhbmRsZXNBY3Rpdml0eUNoZWNrcygpJiYodGhpcy5hY3Rpdml0eVRpbWVyPW5ldyBTZSh0aGlzLmFjdGl2aXR5VGltZW91dCwoKT0+e3RoaXMuc2VuZEFjdGl2aXR5Q2hlY2soKX0pKX1zdG9wQWN0aXZpdHlDaGVjaygpe3RoaXMuYWN0aXZpdHlUaW1lciYmdGhpcy5hY3Rpdml0eVRpbWVyLmVuc3VyZUFib3J0ZWQoKX1idWlsZENvbm5lY3Rpb25DYWxsYmFja3Mobyl7cmV0dXJuIFBlKHt9LG8se21lc3NhZ2U6Yz0+e3RoaXMucmVzZXRBY3Rpdml0eUNoZWNrKCksdGhpcy5lbWl0KCJtZXNzYWdlIixjKX0scGluZzooKT0+e3RoaXMuc2VuZF9ldmVudCgicHVzaGVyOnBvbmciLHt9KX0sYWN0aXZpdHk6KCk9Pnt0aGlzLnJlc2V0QWN0aXZpdHlDaGVjaygpfSxlcnJvcjpjPT57dGhpcy5lbWl0KCJlcnJvciIsYyl9LGNsb3NlZDooKT0+e3RoaXMuYWJhbmRvbkNvbm5lY3Rpb24oKSx0aGlzLnNob3VsZFJldHJ5KCkmJnRoaXMucmV0cnlJbigxZTMpfX0pfWJ1aWxkSGFuZHNoYWtlQ2FsbGJhY2tzKG8pe3JldHVybiBQZSh7fSxvLHtjb25uZWN0ZWQ6Yz0+e3RoaXMuYWN0aXZpdHlUaW1lb3V0PU1hdGgubWluKHRoaXMub3B0aW9ucy5hY3Rpdml0eVRpbWVvdXQsYy5hY3Rpdml0eVRpbWVvdXQsYy5jb25uZWN0aW9uLmFjdGl2aXR5VGltZW91dHx8MS8wKSx0aGlzLmNsZWFyVW5hdmFpbGFibGVUaW1lcigpLHRoaXMuc2V0Q29ubmVjdGlvbihjLmNvbm5lY3Rpb24pLHRoaXMuc29ja2V0X2lkPXRoaXMuY29ubmVjdGlvbi5pZCx0aGlzLnVwZGF0ZVN0YXRlKCJjb25uZWN0ZWQiLHtzb2NrZXRfaWQ6dGhpcy5zb2NrZXRfaWR9KX19KX1idWlsZEVycm9yQ2FsbGJhY2tzKCl7bGV0IG89Yz0+Zz0+e2cuZXJyb3ImJnRoaXMuZW1pdCgiZXJyb3IiLHt0eXBlOiJXZWJTb2NrZXRFcnJvciIsZXJyb3I6Zy5lcnJvcn0pLGMoZyl9O3JldHVybnt0bHNfb25seTpvKCgpPT57dGhpcy51c2luZ1RMUz0hMCx0aGlzLnVwZGF0ZVN0cmF0ZWd5KCksdGhpcy5yZXRyeUluKDApfSkscmVmdXNlZDpvKCgpPT57dGhpcy5kaXNjb25uZWN0KCl9KSxiYWNrb2ZmOm8oKCk9Pnt0aGlzLnJldHJ5SW4oMWUzKX0pLHJldHJ5Om8oKCk9Pnt0aGlzLnJldHJ5SW4oMCl9KX19c2V0Q29ubmVjdGlvbihvKXt0aGlzLmNvbm5lY3Rpb249bztmb3IodmFyIGMgaW4gdGhpcy5jb25uZWN0aW9uQ2FsbGJhY2tzKXRoaXMuY29ubmVjdGlvbi5iaW5kKGMsdGhpcy5jb25uZWN0aW9uQ2FsbGJhY2tzW2NdKTt0aGlzLnJlc2V0QWN0aXZpdHlDaGVjaygpfWFiYW5kb25Db25uZWN0aW9uKCl7aWYodGhpcy5jb25uZWN0aW9uKXt0aGlzLnN0b3BBY3Rpdml0eUNoZWNrKCk7Zm9yKHZhciBvIGluIHRoaXMuY29ubmVjdGlvbkNhbGxiYWNrcyl0aGlzLmNvbm5lY3Rpb24udW5iaW5kKG8sdGhpcy5jb25uZWN0aW9uQ2FsbGJhY2tzW29dKTt2YXIgYz10aGlzLmNvbm5lY3Rpb247cmV0dXJuIHRoaXMuY29ubmVjdGlvbj1udWxsLGN9fXVwZGF0ZVN0YXRlKG8sYyl7dmFyIGc9dGhpcy5zdGF0ZTtpZih0aGlzLnN0YXRlPW8sZyE9PW8pe3ZhciBiPW87Yj09PSJjb25uZWN0ZWQiJiYoYis9IiB3aXRoIG5ldyBzb2NrZXQgSUQgIitjLnNvY2tldF9pZCksVy5kZWJ1ZygiU3RhdGUgY2hhbmdlZCIsZysiIC0+ICIrYiksdGhpcy50aW1lbGluZS5pbmZvKHtzdGF0ZTpvLHBhcmFtczpjfSksdGhpcy5lbWl0KCJzdGF0ZV9jaGFuZ2UiLHtwcmV2aW91czpnLGN1cnJlbnQ6b30pLHRoaXMuZW1pdChvLGMpfX1zaG91bGRSZXRyeSgpe3JldHVybiB0aGlzLnN0YXRlPT09ImNvbm5lY3RpbmcifHx0aGlzLnN0YXRlPT09ImNvbm5lY3RlZCJ9fWNsYXNzIEJse2NvbnN0cnVjdG9yKCl7dGhpcy5jaGFubmVscz17fX1hZGQobyxjKXtyZXR1cm4gdGhpcy5jaGFubmVsc1tvXXx8KHRoaXMuY2hhbm5lbHNbb109emwobyxjKSksdGhpcy5jaGFubmVsc1tvXX1hbGwoKXtyZXR1cm4gVmkodGhpcy5jaGFubmVscyl9ZmluZChvKXtyZXR1cm4gdGhpcy5jaGFubmVsc1tvXX1yZW1vdmUobyl7dmFyIGM9dGhpcy5jaGFubmVsc1tvXTtyZXR1cm4gZGVsZXRlIHRoaXMuY2hhbm5lbHNbb10sY31kaXNjb25uZWN0KCl7aXQodGhpcy5jaGFubmVscyxmdW5jdGlvbihvKXtvLmRpc2Nvbm5lY3QoKX0pfX1mdW5jdGlvbiB6bChsLG8pe2lmKGwuaW5kZXhPZigicHJpdmF0ZS1lbmNyeXB0ZWQtIik9PT0wKXtpZihvLmNvbmZpZy5uYWNsKXJldHVybiBUdC5jcmVhdGVFbmNyeXB0ZWRDaGFubmVsKGwsbyxvLmNvbmZpZy5uYWNsKTtsZXQgYz0iVHJpZWQgdG8gc3Vic2NyaWJlIHRvIGEgcHJpdmF0ZS1lbmNyeXB0ZWQtIGNoYW5uZWwgYnV0IG5vIG5hY2wgaW1wbGVtZW50YXRpb24gYXZhaWxhYmxlIixnPW0uYnVpbGRMb2dTdWZmaXgoImVuY3J5cHRlZENoYW5uZWxTdXBwb3J0Iik7dGhyb3cgbmV3IE4oYCR7Y30uICR7Z31gKX1lbHNle2lmKGwuaW5kZXhPZigicHJpdmF0ZS0iKT09PTApcmV0dXJuIFR0LmNyZWF0ZVByaXZhdGVDaGFubmVsKGwsbyk7aWYobC5pbmRleE9mKCJwcmVzZW5jZS0iKT09PTApcmV0dXJuIFR0LmNyZWF0ZVByZXNlbmNlQ2hhbm5lbChsLG8pO2lmKGwuaW5kZXhPZigiIyIpPT09MCl0aHJvdyBuZXcgUygnQ2Fubm90IGNyZWF0ZSBhIGNoYW5uZWwgd2l0aCBuYW1lICInK2wrJyIuJyk7cmV0dXJuIFR0LmNyZWF0ZUNoYW5uZWwobCxvKX19dmFyIHFsPXtjcmVhdGVDaGFubmVscygpe3JldHVybiBuZXcgQmx9LGNyZWF0ZUNvbm5lY3Rpb25NYW5hZ2VyKGwsbyl7cmV0dXJuIG5ldyBIbChsLG8pfSxjcmVhdGVDaGFubmVsKGwsbyl7cmV0dXJuIG5ldyBncyhsLG8pfSxjcmVhdGVQcml2YXRlQ2hhbm5lbChsLG8pe3JldHVybiBuZXcgbXMobCxvKX0sY3JlYXRlUHJlc2VuY2VDaGFubmVsKGwsbyl7cmV0dXJuIG5ldyBNbChsLG8pfSxjcmVhdGVFbmNyeXB0ZWRDaGFubmVsKGwsbyxjKXtyZXR1cm4gbmV3IFVsKGwsbyxjKX0sY3JlYXRlVGltZWxpbmVTZW5kZXIobCxvKXtyZXR1cm4gbmV3IE5sKGwsbyl9LGNyZWF0ZUhhbmRzaGFrZShsLG8pe3JldHVybiBuZXcgSWwobCxvKX0sY3JlYXRlQXNzaXN0YW50VG9UaGVUcmFuc3BvcnRNYW5hZ2VyKGwsbyxjKXtyZXR1cm4gbmV3IFBsKGwsbyxjKX19LFR0PXFsO2NsYXNzIFppe2NvbnN0cnVjdG9yKG8pe3RoaXMub3B0aW9ucz1vfHx7fSx0aGlzLmxpdmVzTGVmdD10aGlzLm9wdGlvbnMubGl2ZXN8fDEvMH1nZXRBc3Npc3RhbnQobyl7cmV0dXJuIFR0LmNyZWF0ZUFzc2lzdGFudFRvVGhlVHJhbnNwb3J0TWFuYWdlcih0aGlzLG8se21pblBpbmdEZWxheTp0aGlzLm9wdGlvbnMubWluUGluZ0RlbGF5LG1heFBpbmdEZWxheTp0aGlzLm9wdGlvbnMubWF4UGluZ0RlbGF5fSl9aXNBbGl2ZSgpe3JldHVybiB0aGlzLmxpdmVzTGVmdD4wfXJlcG9ydERlYXRoKCl7dGhpcy5saXZlc0xlZnQtPTF9fWNsYXNzIFh0e2NvbnN0cnVjdG9yKG8sYyl7dGhpcy5zdHJhdGVnaWVzPW8sdGhpcy5sb29wPSEhYy5sb29wLHRoaXMuZmFpbEZhc3Q9ISFjLmZhaWxGYXN0LHRoaXMudGltZW91dD1jLnRpbWVvdXQsdGhpcy50aW1lb3V0TGltaXQ9Yy50aW1lb3V0TGltaXR9aXNTdXBwb3J0ZWQoKXtyZXR1cm4geih0aGlzLnN0cmF0ZWdpZXMsRmUubWV0aG9kKCJpc1N1cHBvcnRlZCIpKX1jb25uZWN0KG8sYyl7dmFyIGc9dGhpcy5zdHJhdGVnaWVzLGI9MCxrPXRoaXMudGltZW91dCxGPW51bGwsSj0oaWUsdmUpPT57dmU/YyhudWxsLHZlKTooYj1iKzEsdGhpcy5sb29wJiYoYj1iJWcubGVuZ3RoKSxiPGcubGVuZ3RoPyhrJiYoaz1rKjIsdGhpcy50aW1lb3V0TGltaXQmJihrPU1hdGgubWluKGssdGhpcy50aW1lb3V0TGltaXQpKSksRj10aGlzLnRyeVN0cmF0ZWd5KGdbYl0sbyx7dGltZW91dDprLGZhaWxGYXN0OnRoaXMuZmFpbEZhc3R9LEopKTpjKCEwKSl9O3JldHVybiBGPXRoaXMudHJ5U3RyYXRlZ3koZ1tiXSxvLHt0aW1lb3V0OmssZmFpbEZhc3Q6dGhpcy5mYWlsRmFzdH0sSikse2Fib3J0OmZ1bmN0aW9uKCl7Ri5hYm9ydCgpfSxmb3JjZU1pblByaW9yaXR5OmZ1bmN0aW9uKGllKXtvPWllLEYmJkYuZm9yY2VNaW5Qcmlvcml0eShpZSl9fX10cnlTdHJhdGVneShvLGMsZyxiKXt2YXIgaz1udWxsLEY9bnVsbDtyZXR1cm4gZy50aW1lb3V0PjAmJihrPW5ldyBTZShnLnRpbWVvdXQsZnVuY3Rpb24oKXtGLmFib3J0KCksYighMCl9KSksRj1vLmNvbm5lY3QoYyxmdW5jdGlvbihKLGllKXtKJiZrJiZrLmlzUnVubmluZygpJiYhZy5mYWlsRmFzdHx8KGsmJmsuZW5zdXJlQWJvcnRlZCgpLGIoSixpZSkpfSkse2Fib3J0OmZ1bmN0aW9uKCl7ayYmay5lbnN1cmVBYm9ydGVkKCksRi5hYm9ydCgpfSxmb3JjZU1pblByaW9yaXR5OmZ1bmN0aW9uKEope0YuZm9yY2VNaW5Qcmlvcml0eShKKX19fX1jbGFzcyB2c3tjb25zdHJ1Y3RvcihvKXt0aGlzLnN0cmF0ZWdpZXM9b31pc1N1cHBvcnRlZCgpe3JldHVybiB6KHRoaXMuc3RyYXRlZ2llcyxGZS5tZXRob2QoImlzU3VwcG9ydGVkIikpfWNvbm5lY3QobyxjKXtyZXR1cm4gVmwodGhpcy5zdHJhdGVnaWVzLG8sZnVuY3Rpb24oZyxiKXtyZXR1cm4gZnVuY3Rpb24oayxGKXtpZihiW2ddLmVycm9yPWssayl7V2woYikmJmMoITApO3JldHVybn12KGIsZnVuY3Rpb24oSil7Si5mb3JjZU1pblByaW9yaXR5KEYudHJhbnNwb3J0LnByaW9yaXR5KX0pLGMobnVsbCxGKX19KX19ZnVuY3Rpb24gVmwobCxvLGMpe3ZhciBnPXgobCxmdW5jdGlvbihiLGssRixKKXtyZXR1cm4gYi5jb25uZWN0KG8sYyhrLEopKX0pO3JldHVybnthYm9ydDpmdW5jdGlvbigpe3YoZyxLbCl9LGZvcmNlTWluUHJpb3JpdHk6ZnVuY3Rpb24oYil7dihnLGZ1bmN0aW9uKGspe2suZm9yY2VNaW5Qcmlvcml0eShiKX0pfX19ZnVuY3Rpb24gV2wobCl7cmV0dXJuIEQobCxmdW5jdGlvbihvKXtyZXR1cm4hIW8uZXJyb3J9KX1mdW5jdGlvbiBLbChsKXshbC5lcnJvciYmIWwuYWJvcnRlZCYmKGwuYWJvcnQoKSxsLmFib3J0ZWQ9ITApfWNsYXNzIEpse2NvbnN0cnVjdG9yKG8sYyxnKXt0aGlzLnN0cmF0ZWd5PW8sdGhpcy50cmFuc3BvcnRzPWMsdGhpcy50dGw9Zy50dGx8fDE4MDAqMWUzLHRoaXMudXNpbmdUTFM9Zy51c2VUTFMsdGhpcy50aW1lbGluZT1nLnRpbWVsaW5lfWlzU3VwcG9ydGVkKCl7cmV0dXJuIHRoaXMuc3RyYXRlZ3kuaXNTdXBwb3J0ZWQoKX1jb25uZWN0KG8sYyl7dmFyIGc9dGhpcy51c2luZ1RMUyxiPVhsKGcpLGs9YiYmYi5jYWNoZVNraXBDb3VudD9iLmNhY2hlU2tpcENvdW50OjAsRj1bdGhpcy5zdHJhdGVneV07aWYoYiYmYi50aW1lc3RhbXArdGhpcy50dGw+PUZlLm5vdygpKXt2YXIgSj10aGlzLnRyYW5zcG9ydHNbYi50cmFuc3BvcnRdO0omJihbIndzIiwid3NzIl0uaW5jbHVkZXMoYi50cmFuc3BvcnQpfHxrPjM/KHRoaXMudGltZWxpbmUuaW5mbyh7Y2FjaGVkOiEwLHRyYW5zcG9ydDpiLnRyYW5zcG9ydCxsYXRlbmN5OmIubGF0ZW5jeX0pLEYucHVzaChuZXcgWHQoW0pdLHt0aW1lb3V0OmIubGF0ZW5jeSoyKzFlMyxmYWlsRmFzdDohMH0pKSk6aysrKX12YXIgaWU9RmUubm93KCksdmU9Ri5wb3AoKS5jb25uZWN0KG8sZnVuY3Rpb24geGUoTGUsZ3Ipe0xlPyhZaShnKSxGLmxlbmd0aD4wPyhpZT1GZS5ub3coKSx2ZT1GLnBvcCgpLmNvbm5lY3Qobyx4ZSkpOmMoTGUpKTooR2woZyxnci50cmFuc3BvcnQubmFtZSxGZS5ub3coKS1pZSxrKSxjKG51bGwsZ3IpKX0pO3JldHVybnthYm9ydDpmdW5jdGlvbigpe3ZlLmFib3J0KCl9LGZvcmNlTWluUHJpb3JpdHk6ZnVuY3Rpb24oeGUpe289eGUsdmUmJnZlLmZvcmNlTWluUHJpb3JpdHkoeGUpfX19fWZ1bmN0aW9uIHlzKGwpe3JldHVybiJwdXNoZXJUcmFuc3BvcnQiKyhsPyJUTFMiOiJOb25UTFMiKX1mdW5jdGlvbiBYbChsKXt2YXIgbz1vZS5nZXRMb2NhbFN0b3JhZ2UoKTtpZihvKXRyeXt2YXIgYz1vW3lzKGwpXTtpZihjKXJldHVybiBKU09OLnBhcnNlKGMpfWNhdGNoe1lpKGwpfXJldHVybiBudWxsfWZ1bmN0aW9uIEdsKGwsbyxjLGcpe3ZhciBiPW9lLmdldExvY2FsU3RvcmFnZSgpO2lmKGIpdHJ5e2JbeXMobCldPUIoe3RpbWVzdGFtcDpGZS5ub3coKSx0cmFuc3BvcnQ6byxsYXRlbmN5OmMsY2FjaGVTa2lwQ291bnQ6Z30pfWNhdGNoe319ZnVuY3Rpb24gWWkobCl7dmFyIG89b2UuZ2V0TG9jYWxTdG9yYWdlKCk7aWYobyl0cnl7ZGVsZXRlIG9beXMobCldfWNhdGNoe319Y2xhc3MgZHJ7Y29uc3RydWN0b3Iobyx7ZGVsYXk6Y30pe3RoaXMuc3RyYXRlZ3k9byx0aGlzLm9wdGlvbnM9e2RlbGF5OmN9fWlzU3VwcG9ydGVkKCl7cmV0dXJuIHRoaXMuc3RyYXRlZ3kuaXNTdXBwb3J0ZWQoKX1jb25uZWN0KG8sYyl7dmFyIGc9dGhpcy5zdHJhdGVneSxiLGs9bmV3IFNlKHRoaXMub3B0aW9ucy5kZWxheSxmdW5jdGlvbigpe2I9Zy5jb25uZWN0KG8sYyl9KTtyZXR1cm57YWJvcnQ6ZnVuY3Rpb24oKXtrLmVuc3VyZUFib3J0ZWQoKSxiJiZiLmFib3J0KCl9LGZvcmNlTWluUHJpb3JpdHk6ZnVuY3Rpb24oRil7bz1GLGImJmIuZm9yY2VNaW5Qcmlvcml0eShGKX19fX1jbGFzcyBrbntjb25zdHJ1Y3RvcihvLGMsZyl7dGhpcy50ZXN0PW8sdGhpcy50cnVlQnJhbmNoPWMsdGhpcy5mYWxzZUJyYW5jaD1nfWlzU3VwcG9ydGVkKCl7dmFyIG89dGhpcy50ZXN0KCk/dGhpcy50cnVlQnJhbmNoOnRoaXMuZmFsc2VCcmFuY2g7cmV0dXJuIG8uaXNTdXBwb3J0ZWQoKX1jb25uZWN0KG8sYyl7dmFyIGc9dGhpcy50ZXN0KCk/dGhpcy50cnVlQnJhbmNoOnRoaXMuZmFsc2VCcmFuY2g7cmV0dXJuIGcuY29ubmVjdChvLGMpfX1jbGFzcyBRbHtjb25zdHJ1Y3RvcihvKXt0aGlzLnN0cmF0ZWd5PW99aXNTdXBwb3J0ZWQoKXtyZXR1cm4gdGhpcy5zdHJhdGVneS5pc1N1cHBvcnRlZCgpfWNvbm5lY3QobyxjKXt2YXIgZz10aGlzLnN0cmF0ZWd5LmNvbm5lY3QobyxmdW5jdGlvbihiLGspe2smJmcuYWJvcnQoKSxjKGIsayl9KTtyZXR1cm4gZ319ZnVuY3Rpb24gUm4obCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGwuaXNTdXBwb3J0ZWQoKX19dmFyIFpsPWZ1bmN0aW9uKGwsbyxjKXt2YXIgZz17fTtmdW5jdGlvbiBiKHVvLFF1LFp1LFl1LGVmKXt2YXIgZm89YyhsLHVvLFF1LFp1LFl1LGVmKTtyZXR1cm4gZ1t1b109Zm8sZm99dmFyIGs9T2JqZWN0LmFzc2lnbih7fSxvLHtob3N0Tm9uVExTOmwud3NIb3N0KyI6IitsLndzUG9ydCxob3N0VExTOmwud3NIb3N0KyI6IitsLndzc1BvcnQsaHR0cFBhdGg6bC53c1BhdGh9KSxGPU9iamVjdC5hc3NpZ24oe30sayx7dXNlVExTOiEwfSksSj1PYmplY3QuYXNzaWduKHt9LG8se2hvc3ROb25UTFM6bC5odHRwSG9zdCsiOiIrbC5odHRwUG9ydCxob3N0VExTOmwuaHR0cEhvc3QrIjoiK2wuaHR0cHNQb3J0LGh0dHBQYXRoOmwuaHR0cFBhdGh9KSxpZT17bG9vcDohMCx0aW1lb3V0OjE1ZTMsdGltZW91dExpbWl0OjZlNH0sdmU9bmV3IFppKHttaW5QaW5nRGVsYXk6MWU0LG1heFBpbmdEZWxheTpsLmFjdGl2aXR5VGltZW91dH0pLHhlPW5ldyBaaSh7bGl2ZXM6MixtaW5QaW5nRGVsYXk6MWU0LG1heFBpbmdEZWxheTpsLmFjdGl2aXR5VGltZW91dH0pLExlPWIoIndzIiwid3MiLDMsayx2ZSksZ3I9Yigid3NzIiwid3MiLDMsRix2ZSksV3U9Yigic29ja2pzIiwic29ja2pzIiwxLEopLHNvPWIoInhocl9zdHJlYW1pbmciLCJ4aHJfc3RyZWFtaW5nIiwxLEoseGUpLEt1PWIoInhkcl9zdHJlYW1pbmciLCJ4ZHJfc3RyZWFtaW5nIiwxLEoseGUpLGlvPWIoInhocl9wb2xsaW5nIiwieGhyX3BvbGxpbmciLDEsSiksSnU9YigieGRyX3BvbGxpbmciLCJ4ZHJfcG9sbGluZyIsMSxKKSxvbz1uZXcgWHQoW0xlXSxpZSksWHU9bmV3IFh0KFtncl0saWUpLEd1PW5ldyBYdChbV3VdLGllKSxhbz1uZXcgWHQoW25ldyBrbihSbihzbyksc28sS3UpXSxpZSksY289bmV3IFh0KFtuZXcga24oUm4oaW8pLGlvLEp1KV0saWUpLGxvPW5ldyBYdChbbmV3IGtuKFJuKGFvKSxuZXcgdnMoW2FvLG5ldyBkcihjbyx7ZGVsYXk6NGUzfSldKSxjbyldLGllKSxDcz1uZXcga24oUm4obG8pLGxvLEd1KSxTcztyZXR1cm4gby51c2VUTFM/U3M9bmV3IHZzKFtvbyxuZXcgZHIoQ3Mse2RlbGF5OjJlM30pXSk6U3M9bmV3IHZzKFtvbyxuZXcgZHIoWHUse2RlbGF5OjJlM30pLG5ldyBkcihDcyx7ZGVsYXk6NWUzfSldKSxuZXcgSmwobmV3IFFsKG5ldyBrbihSbihMZSksU3MsQ3MpKSxnLHt0dGw6MThlNSx0aW1lbGluZTpvLnRpbWVsaW5lLHVzZVRMUzpvLnVzZVRMU30pfSxZbD1abCxldT1mdW5jdGlvbigpe3ZhciBsPXRoaXM7bC50aW1lbGluZS5pbmZvKGwuYnVpbGRUaW1lbGluZU1lc3NhZ2Uoe3RyYW5zcG9ydDpsLm5hbWUrKGwub3B0aW9ucy51c2VUTFM/InMiOiIiKX0pKSxsLmhvb2tzLmlzSW5pdGlhbGl6ZWQoKT9sLmNoYW5nZVN0YXRlKCJpbml0aWFsaXplZCIpOmwuaG9va3MuZmlsZT8obC5jaGFuZ2VTdGF0ZSgiaW5pdGlhbGl6aW5nIikscC5sb2FkKGwuaG9va3MuZmlsZSx7dXNlVExTOmwub3B0aW9ucy51c2VUTFN9LGZ1bmN0aW9uKG8sYyl7bC5ob29rcy5pc0luaXRpYWxpemVkKCk/KGwuY2hhbmdlU3RhdGUoImluaXRpYWxpemVkIiksYyghMCkpOihvJiZsLm9uRXJyb3IobyksbC5vbkNsb3NlKCksYyghMSkpfSkpOmwub25DbG9zZSgpfSx0dT17Z2V0UmVxdWVzdDpmdW5jdGlvbihsKXt2YXIgbz1uZXcgd2luZG93LlhEb21haW5SZXF1ZXN0O3JldHVybiBvLm9udGltZW91dD1mdW5jdGlvbigpe2wuZW1pdCgiZXJyb3IiLG5ldyBUKSxsLmNsb3NlKCl9LG8ub25lcnJvcj1mdW5jdGlvbihjKXtsLmVtaXQoImVycm9yIixjKSxsLmNsb3NlKCl9LG8ub25wcm9ncmVzcz1mdW5jdGlvbigpe28ucmVzcG9uc2VUZXh0JiZvLnJlc3BvbnNlVGV4dC5sZW5ndGg+MCYmbC5vbkNodW5rKDIwMCxvLnJlc3BvbnNlVGV4dCl9LG8ub25sb2FkPWZ1bmN0aW9uKCl7by5yZXNwb25zZVRleHQmJm8ucmVzcG9uc2VUZXh0Lmxlbmd0aD4wJiZsLm9uQ2h1bmsoMjAwLG8ucmVzcG9uc2VUZXh0KSxsLmVtaXQoImZpbmlzaGVkIiwyMDApLGwuY2xvc2UoKX0sb30sYWJvcnRSZXF1ZXN0OmZ1bmN0aW9uKGwpe2wub250aW1lb3V0PWwub25lcnJvcj1sLm9ucHJvZ3Jlc3M9bC5vbmxvYWQ9bnVsbCxsLmFib3J0KCl9fSxudT10dTtjb25zdCBydT0yNTYqMTAyNDtjbGFzcyBzdSBleHRlbmRzIFN0e2NvbnN0cnVjdG9yKG8sYyxnKXtzdXBlcigpLHRoaXMuaG9va3M9byx0aGlzLm1ldGhvZD1jLHRoaXMudXJsPWd9c3RhcnQobyl7dGhpcy5wb3NpdGlvbj0wLHRoaXMueGhyPXRoaXMuaG9va3MuZ2V0UmVxdWVzdCh0aGlzKSx0aGlzLnVubG9hZGVyPSgpPT57dGhpcy5jbG9zZSgpfSxvZS5hZGRVbmxvYWRMaXN0ZW5lcih0aGlzLnVubG9hZGVyKSx0aGlzLnhoci5vcGVuKHRoaXMubWV0aG9kLHRoaXMudXJsLCEwKSx0aGlzLnhoci5zZXRSZXF1ZXN0SGVhZGVyJiZ0aGlzLnhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi9qc29uIiksdGhpcy54aHIuc2VuZChvKX1jbG9zZSgpe3RoaXMudW5sb2FkZXImJihvZS5yZW1vdmVVbmxvYWRMaXN0ZW5lcih0aGlzLnVubG9hZGVyKSx0aGlzLnVubG9hZGVyPW51bGwpLHRoaXMueGhyJiYodGhpcy5ob29rcy5hYm9ydFJlcXVlc3QodGhpcy54aHIpLHRoaXMueGhyPW51bGwpfW9uQ2h1bmsobyxjKXtmb3IoOzspe3ZhciBnPXRoaXMuYWR2YW5jZUJ1ZmZlcihjKTtpZihnKXRoaXMuZW1pdCgiY2h1bmsiLHtzdGF0dXM6byxkYXRhOmd9KTtlbHNlIGJyZWFrfXRoaXMuaXNCdWZmZXJUb29Mb25nKGMpJiZ0aGlzLmVtaXQoImJ1ZmZlcl90b29fbG9uZyIpfWFkdmFuY2VCdWZmZXIobyl7dmFyIGM9by5zbGljZSh0aGlzLnBvc2l0aW9uKSxnPWMuaW5kZXhPZihgCmApO3JldHVybiBnIT09LTE/KHRoaXMucG9zaXRpb24rPWcrMSxjLnNsaWNlKDAsZykpOm51bGx9aXNCdWZmZXJUb29Mb25nKG8pe3JldHVybiB0aGlzLnBvc2l0aW9uPT09by5sZW5ndGgmJm8ubGVuZ3RoPnJ1fX12YXIgd3M7KGZ1bmN0aW9uKGwpe2xbbC5DT05ORUNUSU5HPTBdPSJDT05ORUNUSU5HIixsW2wuT1BFTj0xXT0iT1BFTiIsbFtsLkNMT1NFRD0zXT0iQ0xPU0VEIn0pKHdzfHwod3M9e30pKTt2YXIgR3Q9d3MsaXU9MTtjbGFzcyBvdXtjb25zdHJ1Y3RvcihvLGMpe3RoaXMuaG9va3M9byx0aGlzLnNlc3Npb249dG8oMWUzKSsiLyIrdXUoOCksdGhpcy5sb2NhdGlvbj1hdShjKSx0aGlzLnJlYWR5U3RhdGU9R3QuQ09OTkVDVElORyx0aGlzLm9wZW5TdHJlYW0oKX1zZW5kKG8pe3JldHVybiB0aGlzLnNlbmRSYXcoSlNPTi5zdHJpbmdpZnkoW29dKSl9cGluZygpe3RoaXMuaG9va3Muc2VuZEhlYXJ0YmVhdCh0aGlzKX1jbG9zZShvLGMpe3RoaXMub25DbG9zZShvLGMsITApfXNlbmRSYXcobyl7aWYodGhpcy5yZWFkeVN0YXRlPT09R3QuT1BFTil0cnl7cmV0dXJuIG9lLmNyZWF0ZVNvY2tldFJlcXVlc3QoIlBPU1QiLGVvKGN1KHRoaXMubG9jYXRpb24sdGhpcy5zZXNzaW9uKSkpLnN0YXJ0KG8pLCEwfWNhdGNoe3JldHVybiExfWVsc2UgcmV0dXJuITF9cmVjb25uZWN0KCl7dGhpcy5jbG9zZVN0cmVhbSgpLHRoaXMub3BlblN0cmVhbSgpfW9uQ2xvc2UobyxjLGcpe3RoaXMuY2xvc2VTdHJlYW0oKSx0aGlzLnJlYWR5U3RhdGU9R3QuQ0xPU0VELHRoaXMub25jbG9zZSYmdGhpcy5vbmNsb3NlKHtjb2RlOm8scmVhc29uOmMsd2FzQ2xlYW46Z30pfW9uQ2h1bmsobyl7aWYoby5zdGF0dXM9PT0yMDApe3RoaXMucmVhZHlTdGF0ZT09PUd0Lk9QRU4mJnRoaXMub25BY3Rpdml0eSgpO3ZhciBjLGc9by5kYXRhLnNsaWNlKDAsMSk7c3dpdGNoKGcpe2Nhc2UibyI6Yz1KU09OLnBhcnNlKG8uZGF0YS5zbGljZSgxKXx8Int9IiksdGhpcy5vbk9wZW4oYyk7YnJlYWs7Y2FzZSJhIjpjPUpTT04ucGFyc2Uoby5kYXRhLnNsaWNlKDEpfHwiW10iKTtmb3IodmFyIGI9MDtiPGMubGVuZ3RoO2IrKyl0aGlzLm9uRXZlbnQoY1tiXSk7YnJlYWs7Y2FzZSJtIjpjPUpTT04ucGFyc2Uoby5kYXRhLnNsaWNlKDEpfHwibnVsbCIpLHRoaXMub25FdmVudChjKTticmVhaztjYXNlImgiOnRoaXMuaG9va3Mub25IZWFydGJlYXQodGhpcyk7YnJlYWs7Y2FzZSJjIjpjPUpTT04ucGFyc2Uoby5kYXRhLnNsaWNlKDEpfHwiW10iKSx0aGlzLm9uQ2xvc2UoY1swXSxjWzFdLCEwKTticmVha319fW9uT3BlbihvKXt0aGlzLnJlYWR5U3RhdGU9PT1HdC5DT05ORUNUSU5HPyhvJiZvLmhvc3RuYW1lJiYodGhpcy5sb2NhdGlvbi5iYXNlPWx1KHRoaXMubG9jYXRpb24uYmFzZSxvLmhvc3RuYW1lKSksdGhpcy5yZWFkeVN0YXRlPUd0Lk9QRU4sdGhpcy5vbm9wZW4mJnRoaXMub25vcGVuKCkpOnRoaXMub25DbG9zZSgxMDA2LCJTZXJ2ZXIgbG9zdCBzZXNzaW9uIiwhMCl9b25FdmVudChvKXt0aGlzLnJlYWR5U3RhdGU9PT1HdC5PUEVOJiZ0aGlzLm9ubWVzc2FnZSYmdGhpcy5vbm1lc3NhZ2Uoe2RhdGE6b30pfW9uQWN0aXZpdHkoKXt0aGlzLm9uYWN0aXZpdHkmJnRoaXMub25hY3Rpdml0eSgpfW9uRXJyb3Iobyl7dGhpcy5vbmVycm9yJiZ0aGlzLm9uZXJyb3Iobyl9b3BlblN0cmVhbSgpe3RoaXMuc3RyZWFtPW9lLmNyZWF0ZVNvY2tldFJlcXVlc3QoIlBPU1QiLGVvKHRoaXMuaG9va3MuZ2V0UmVjZWl2ZVVSTCh0aGlzLmxvY2F0aW9uLHRoaXMuc2Vzc2lvbikpKSx0aGlzLnN0cmVhbS5iaW5kKCJjaHVuayIsbz0+e3RoaXMub25DaHVuayhvKX0pLHRoaXMuc3RyZWFtLmJpbmQoImZpbmlzaGVkIixvPT57dGhpcy5ob29rcy5vbkZpbmlzaGVkKHRoaXMsbyl9KSx0aGlzLnN0cmVhbS5iaW5kKCJidWZmZXJfdG9vX2xvbmciLCgpPT57dGhpcy5yZWNvbm5lY3QoKX0pO3RyeXt0aGlzLnN0cmVhbS5zdGFydCgpfWNhdGNoKG8pe0ZlLmRlZmVyKCgpPT57dGhpcy5vbkVycm9yKG8pLHRoaXMub25DbG9zZSgxMDA2LCJDb3VsZCBub3Qgc3RhcnQgc3RyZWFtaW5nIiwhMSl9KX19Y2xvc2VTdHJlYW0oKXt0aGlzLnN0cmVhbSYmKHRoaXMuc3RyZWFtLnVuYmluZF9hbGwoKSx0aGlzLnN0cmVhbS5jbG9zZSgpLHRoaXMuc3RyZWFtPW51bGwpfX1mdW5jdGlvbiBhdShsKXt2YXIgbz0vKFteXD9dKilcLyooXD8/LiopLy5leGVjKGwpO3JldHVybntiYXNlOm9bMV0scXVlcnlTdHJpbmc6b1syXX19ZnVuY3Rpb24gY3UobCxvKXtyZXR1cm4gbC5iYXNlKyIvIitvKyIveGhyX3NlbmQifWZ1bmN0aW9uIGVvKGwpe3ZhciBvPWwuaW5kZXhPZigiPyIpPT09LTE/Ij8iOiImIjtyZXR1cm4gbCtvKyJ0PSIrICtuZXcgRGF0ZSsiJm49IitpdSsrfWZ1bmN0aW9uIGx1KGwsbyl7dmFyIGM9LyhodHRwcz86XC9cLykoW15cLzpdKykoKFwvfDopPy4qKS8uZXhlYyhsKTtyZXR1cm4gY1sxXStvK2NbM119ZnVuY3Rpb24gdG8obCl7cmV0dXJuIG9lLnJhbmRvbUludChsKX1mdW5jdGlvbiB1dShsKXtmb3IodmFyIG89W10sYz0wO2M8bDtjKyspby5wdXNoKHRvKDMyKS50b1N0cmluZygzMikpO3JldHVybiBvLmpvaW4oIiIpfXZhciBmdT1vdSxodT17Z2V0UmVjZWl2ZVVSTDpmdW5jdGlvbihsLG8pe3JldHVybiBsLmJhc2UrIi8iK28rIi94aHJfc3RyZWFtaW5nIitsLnF1ZXJ5U3RyaW5nfSxvbkhlYXJ0YmVhdDpmdW5jdGlvbihsKXtsLnNlbmRSYXcoIltdIil9LHNlbmRIZWFydGJlYXQ6ZnVuY3Rpb24obCl7bC5zZW5kUmF3KCJbXSIpfSxvbkZpbmlzaGVkOmZ1bmN0aW9uKGwsbyl7bC5vbkNsb3NlKDEwMDYsIkNvbm5lY3Rpb24gaW50ZXJydXB0ZWQgKCIrbysiKSIsITEpfX0sZHU9aHUscHU9e2dldFJlY2VpdmVVUkw6ZnVuY3Rpb24obCxvKXtyZXR1cm4gbC5iYXNlKyIvIitvKyIveGhyIitsLnF1ZXJ5U3RyaW5nfSxvbkhlYXJ0YmVhdDpmdW5jdGlvbigpe30sc2VuZEhlYXJ0YmVhdDpmdW5jdGlvbihsKXtsLnNlbmRSYXcoIltdIil9LG9uRmluaXNoZWQ6ZnVuY3Rpb24obCxvKXtvPT09MjAwP2wucmVjb25uZWN0KCk6bC5vbkNsb3NlKDEwMDYsIkNvbm5lY3Rpb24gaW50ZXJydXB0ZWQgKCIrbysiKSIsITEpfX0sZ3U9cHUsbXU9e2dldFJlcXVlc3Q6ZnVuY3Rpb24obCl7dmFyIG89b2UuZ2V0WEhSQVBJKCksYz1uZXcgbztyZXR1cm4gYy5vbnJlYWR5c3RhdGVjaGFuZ2U9Yy5vbnByb2dyZXNzPWZ1bmN0aW9uKCl7c3dpdGNoKGMucmVhZHlTdGF0ZSl7Y2FzZSAzOmMucmVzcG9uc2VUZXh0JiZjLnJlc3BvbnNlVGV4dC5sZW5ndGg+MCYmbC5vbkNodW5rKGMuc3RhdHVzLGMucmVzcG9uc2VUZXh0KTticmVhaztjYXNlIDQ6Yy5yZXNwb25zZVRleHQmJmMucmVzcG9uc2VUZXh0Lmxlbmd0aD4wJiZsLm9uQ2h1bmsoYy5zdGF0dXMsYy5yZXNwb25zZVRleHQpLGwuZW1pdCgiZmluaXNoZWQiLGMuc3RhdHVzKSxsLmNsb3NlKCk7YnJlYWt9fSxjfSxhYm9ydFJlcXVlc3Q6ZnVuY3Rpb24obCl7bC5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxsLmFib3J0KCl9fSxidT1tdSx2dT17Y3JlYXRlU3RyZWFtaW5nU29ja2V0KGwpe3JldHVybiB0aGlzLmNyZWF0ZVNvY2tldChkdSxsKX0sY3JlYXRlUG9sbGluZ1NvY2tldChsKXtyZXR1cm4gdGhpcy5jcmVhdGVTb2NrZXQoZ3UsbCl9LGNyZWF0ZVNvY2tldChsLG8pe3JldHVybiBuZXcgZnUobCxvKX0sY3JlYXRlWEhSKGwsbyl7cmV0dXJuIHRoaXMuY3JlYXRlUmVxdWVzdChidSxsLG8pfSxjcmVhdGVSZXF1ZXN0KGwsbyxjKXtyZXR1cm4gbmV3IHN1KGwsbyxjKX19LG5vPXZ1O25vLmNyZWF0ZVhEUj1mdW5jdGlvbihsLG8pe3JldHVybiB0aGlzLmNyZWF0ZVJlcXVlc3QobnUsbCxvKX07dmFyIHl1PW5vLHd1PXtuZXh0QXV0aENhbGxiYWNrSUQ6MSxhdXRoX2NhbGxiYWNrczp7fSxTY3JpcHRSZWNlaXZlcnM6YSxEZXBlbmRlbmNpZXNSZWNlaXZlcnM6aCxnZXREZWZhdWx0U3RyYXRlZ3k6WWwsVHJhbnNwb3J0czokbCx0cmFuc3BvcnRDb25uZWN0aW9uSW5pdGlhbGl6ZXI6ZXUsSFRUUEZhY3Rvcnk6eXUsVGltZWxpbmVUcmFuc3BvcnQ6YXQsZ2V0WEhSQVBJKCl7cmV0dXJuIHdpbmRvdy5YTUxIdHRwUmVxdWVzdH0sZ2V0V2ViU29ja2V0QVBJKCl7cmV0dXJuIHdpbmRvdy5XZWJTb2NrZXR8fHdpbmRvdy5Nb3pXZWJTb2NrZXR9LHNldHVwKGwpe3dpbmRvdy5QdXNoZXI9bDt2YXIgbz0oKT0+e3RoaXMub25Eb2N1bWVudEJvZHkobC5yZWFkeSl9O3dpbmRvdy5KU09OP28oKTpwLmxvYWQoImpzb24yIix7fSxvKX0sZ2V0RG9jdW1lbnQoKXtyZXR1cm4gZG9jdW1lbnR9LGdldFByb3RvY29sKCl7cmV0dXJuIHRoaXMuZ2V0RG9jdW1lbnQoKS5sb2NhdGlvbi5wcm90b2NvbH0sZ2V0QXV0aG9yaXplcnMoKXtyZXR1cm57YWpheDpYLGpzb25wOkNlfX0sb25Eb2N1bWVudEJvZHkobCl7ZG9jdW1lbnQuYm9keT9sKCk6c2V0VGltZW91dCgoKT0+e3RoaXMub25Eb2N1bWVudEJvZHkobCl9LDApfSxjcmVhdGVKU09OUFJlcXVlc3QobCxvKXtyZXR1cm4gbmV3IEplKGwsbyl9LGNyZWF0ZVNjcmlwdFJlcXVlc3QobCl7cmV0dXJuIG5ldyB5ZShsKX0sZ2V0TG9jYWxTdG9yYWdlKCl7dHJ5e3JldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlfWNhdGNoe3JldHVybn19LGNyZWF0ZVhIUigpe3JldHVybiB0aGlzLmdldFhIUkFQSSgpP3RoaXMuY3JlYXRlWE1MSHR0cFJlcXVlc3QoKTp0aGlzLmNyZWF0ZU1pY3Jvc29mdFhIUigpfSxjcmVhdGVYTUxIdHRwUmVxdWVzdCgpe3ZhciBsPXRoaXMuZ2V0WEhSQVBJKCk7cmV0dXJuIG5ldyBsfSxjcmVhdGVNaWNyb3NvZnRYSFIoKXtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9LGdldE5ldHdvcmsoKXtyZXR1cm4gUmx9LGNyZWF0ZVdlYlNvY2tldChsKXt2YXIgbz10aGlzLmdldFdlYlNvY2tldEFQSSgpO3JldHVybiBuZXcgbyhsKX0sY3JlYXRlU29ja2V0UmVxdWVzdChsLG8pe2lmKHRoaXMuaXNYSFJTdXBwb3J0ZWQoKSlyZXR1cm4gdGhpcy5IVFRQRmFjdG9yeS5jcmVhdGVYSFIobCxvKTtpZih0aGlzLmlzWERSU3VwcG9ydGVkKG8uaW5kZXhPZigiaHR0cHM6Iik9PT0wKSlyZXR1cm4gdGhpcy5IVFRQRmFjdG9yeS5jcmVhdGVYRFIobCxvKTt0aHJvdyJDcm9zcy1vcmlnaW4gSFRUUCByZXF1ZXN0cyBhcmUgbm90IHN1cHBvcnRlZCJ9LGlzWEhSU3VwcG9ydGVkKCl7dmFyIGw9dGhpcy5nZXRYSFJBUEkoKTtyZXR1cm4hIWwmJm5ldyBsKCkud2l0aENyZWRlbnRpYWxzIT09dm9pZCAwfSxpc1hEUlN1cHBvcnRlZChsKXt2YXIgbz1sPyJodHRwczoiOiJodHRwOiIsYz10aGlzLmdldFByb3RvY29sKCk7cmV0dXJuISF3aW5kb3cuWERvbWFpblJlcXVlc3QmJmM9PT1vfSxhZGRVbmxvYWRMaXN0ZW5lcihsKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciE9PXZvaWQgMD93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixsLCExKTp3aW5kb3cuYXR0YWNoRXZlbnQhPT12b2lkIDAmJndpbmRvdy5hdHRhY2hFdmVudCgib251bmxvYWQiLGwpfSxyZW1vdmVVbmxvYWRMaXN0ZW5lcihsKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciE9PXZvaWQgMD93aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidW5sb2FkIixsLCExKTp3aW5kb3cuZGV0YWNoRXZlbnQhPT12b2lkIDAmJndpbmRvdy5kZXRhY2hFdmVudCgib251bmxvYWQiLGwpfSxyYW5kb21JbnQobCl7cmV0dXJuIE1hdGguZmxvb3IoZnVuY3Rpb24oKXtyZXR1cm4od2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvKS5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQzMkFycmF5KDEpKVswXS9NYXRoLnBvdygyLDMyKX0oKSpsKX19LG9lPXd1LF9zOyhmdW5jdGlvbihsKXtsW2wuRVJST1I9M109IkVSUk9SIixsW2wuSU5GTz02XT0iSU5GTyIsbFtsLkRFQlVHPTddPSJERUJVRyJ9KShfc3x8KF9zPXt9KSk7dmFyIHByPV9zO2NsYXNzIF91e2NvbnN0cnVjdG9yKG8sYyxnKXt0aGlzLmtleT1vLHRoaXMuc2Vzc2lvbj1jLHRoaXMuZXZlbnRzPVtdLHRoaXMub3B0aW9ucz1nfHx7fSx0aGlzLnNlbnQ9MCx0aGlzLnVuaXF1ZUlEPTB9bG9nKG8sYyl7bzw9dGhpcy5vcHRpb25zLmxldmVsJiYodGhpcy5ldmVudHMucHVzaChQZSh7fSxjLHt0aW1lc3RhbXA6RmUubm93KCl9KSksdGhpcy5vcHRpb25zLmxpbWl0JiZ0aGlzLmV2ZW50cy5sZW5ndGg+dGhpcy5vcHRpb25zLmxpbWl0JiZ0aGlzLmV2ZW50cy5zaGlmdCgpKX1lcnJvcihvKXt0aGlzLmxvZyhwci5FUlJPUixvKX1pbmZvKG8pe3RoaXMubG9nKHByLklORk8sbyl9ZGVidWcobyl7dGhpcy5sb2cocHIuREVCVUcsbyl9aXNFbXB0eSgpe3JldHVybiB0aGlzLmV2ZW50cy5sZW5ndGg9PT0wfXNlbmQobyxjKXt2YXIgZz1QZSh7c2Vzc2lvbjp0aGlzLnNlc3Npb24sYnVuZGxlOnRoaXMuc2VudCsxLGtleTp0aGlzLmtleSxsaWI6ImpzIix2ZXJzaW9uOnRoaXMub3B0aW9ucy52ZXJzaW9uLGNsdXN0ZXI6dGhpcy5vcHRpb25zLmNsdXN0ZXIsZmVhdHVyZXM6dGhpcy5vcHRpb25zLmZlYXR1cmVzLHRpbWVsaW5lOnRoaXMuZXZlbnRzfSx0aGlzLm9wdGlvbnMucGFyYW1zKTtyZXR1cm4gdGhpcy5ldmVudHM9W10sbyhnLChiLGspPT57Ynx8dGhpcy5zZW50KyssYyYmYyhiLGspfSksITB9Z2VuZXJhdGVVbmlxdWVJRCgpe3JldHVybiB0aGlzLnVuaXF1ZUlEKyssdGhpcy51bmlxdWVJRH19Y2xhc3MgeHV7Y29uc3RydWN0b3IobyxjLGcsYil7dGhpcy5uYW1lPW8sdGhpcy5wcmlvcml0eT1jLHRoaXMudHJhbnNwb3J0PWcsdGhpcy5vcHRpb25zPWJ8fHt9fWlzU3VwcG9ydGVkKCl7cmV0dXJuIHRoaXMudHJhbnNwb3J0LmlzU3VwcG9ydGVkKHt1c2VUTFM6dGhpcy5vcHRpb25zLnVzZVRMU30pfWNvbm5lY3QobyxjKXtpZih0aGlzLmlzU3VwcG9ydGVkKCkpe2lmKHRoaXMucHJpb3JpdHk8bylyZXR1cm4gcm8obmV3IE8sYyl9ZWxzZSByZXR1cm4gcm8obmV3IEssYyk7dmFyIGc9ITEsYj10aGlzLnRyYW5zcG9ydC5jcmVhdGVDb25uZWN0aW9uKHRoaXMubmFtZSx0aGlzLnByaW9yaXR5LHRoaXMub3B0aW9ucy5rZXksdGhpcy5vcHRpb25zKSxrPW51bGwsRj1mdW5jdGlvbigpe2IudW5iaW5kKCJpbml0aWFsaXplZCIsRiksYi5jb25uZWN0KCl9LEo9ZnVuY3Rpb24oKXtrPVR0LmNyZWF0ZUhhbmRzaGFrZShiLGZ1bmN0aW9uKExlKXtnPSEwLHhlKCksYyhudWxsLExlKX0pfSxpZT1mdW5jdGlvbihMZSl7eGUoKSxjKExlKX0sdmU9ZnVuY3Rpb24oKXt4ZSgpO3ZhciBMZTtMZT1CKGIpLGMobmV3IEUoTGUpKX0seGU9ZnVuY3Rpb24oKXtiLnVuYmluZCgiaW5pdGlhbGl6ZWQiLEYpLGIudW5iaW5kKCJvcGVuIixKKSxiLnVuYmluZCgiZXJyb3IiLGllKSxiLnVuYmluZCgiY2xvc2VkIix2ZSl9O3JldHVybiBiLmJpbmQoImluaXRpYWxpemVkIixGKSxiLmJpbmQoIm9wZW4iLEopLGIuYmluZCgiZXJyb3IiLGllKSxiLmJpbmQoImNsb3NlZCIsdmUpLGIuaW5pdGlhbGl6ZSgpLHthYm9ydDooKT0+e2d8fCh4ZSgpLGs/ay5jbG9zZSgpOmIuY2xvc2UoKSl9LGZvcmNlTWluUHJpb3JpdHk6TGU9PntnfHx0aGlzLnByaW9yaXR5PExlJiYoaz9rLmNsb3NlKCk6Yi5jbG9zZSgpKX19fX1mdW5jdGlvbiBybyhsLG8pe3JldHVybiBGZS5kZWZlcihmdW5jdGlvbigpe28obCl9KSx7YWJvcnQ6ZnVuY3Rpb24oKXt9LGZvcmNlTWluUHJpb3JpdHk6ZnVuY3Rpb24oKXt9fX1jb25zdHtUcmFuc3BvcnRzOkN1fT1vZTt2YXIgU3U9ZnVuY3Rpb24obCxvLGMsZyxiLGspe3ZhciBGPUN1W2NdO2lmKCFGKXRocm93IG5ldyBxKGMpO3ZhciBKPSghbC5lbmFibGVkVHJhbnNwb3J0c3x8Zm4obC5lbmFibGVkVHJhbnNwb3J0cyxvKSE9PS0xKSYmKCFsLmRpc2FibGVkVHJhbnNwb3J0c3x8Zm4obC5kaXNhYmxlZFRyYW5zcG9ydHMsbyk9PT0tMSksaWU7cmV0dXJuIEo/KGI9T2JqZWN0LmFzc2lnbih7aWdub3JlTnVsbE9yaWdpbjpsLmlnbm9yZU51bGxPcmlnaW59LGIpLGllPW5ldyB4dShvLGcsaz9rLmdldEFzc2lzdGFudChGKTpGLGIpKTppZT1UdSxpZX0sVHU9e2lzU3VwcG9ydGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGNvbm5lY3Q6ZnVuY3Rpb24obCxvKXt2YXIgYz1GZS5kZWZlcihmdW5jdGlvbigpe28obmV3IEspfSk7cmV0dXJue2Fib3J0OmZ1bmN0aW9uKCl7Yy5lbnN1cmVBYm9ydGVkKCl9LGZvcmNlTWluUHJpb3JpdHk6ZnVuY3Rpb24oKXt9fX19O2Z1bmN0aW9uIEV1KGwpe2lmKGw9PW51bGwpdGhyb3ciWW91IG11c3QgcGFzcyBhbiBvcHRpb25zIG9iamVjdCI7aWYobC5jbHVzdGVyPT1udWxsKXRocm93Ik9wdGlvbnMgb2JqZWN0IG11c3QgcHJvdmlkZSBhIGNsdXN0ZXIiOyJkaXNhYmxlU3RhdHMiaW4gbCYmVy53YXJuKCJUaGUgZGlzYWJsZVN0YXRzIG9wdGlvbiBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIGVuYWJsZVN0YXRzIil9Y29uc3QgQXU9KGwsbyk9Pnt2YXIgYz0ic29ja2V0X2lkPSIrZW5jb2RlVVJJQ29tcG9uZW50KGwuc29ja2V0SWQpO2Zvcih2YXIgZyBpbiBvLnBhcmFtcyljKz0iJiIrZW5jb2RlVVJJQ29tcG9uZW50KGcpKyI9IitlbmNvZGVVUklDb21wb25lbnQoby5wYXJhbXNbZ10pO2lmKG8ucGFyYW1zUHJvdmlkZXIhPW51bGwpe2xldCBiPW8ucGFyYW1zUHJvdmlkZXIoKTtmb3IodmFyIGcgaW4gYiljKz0iJiIrZW5jb2RlVVJJQ29tcG9uZW50KGcpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYltnXSl9cmV0dXJuIGN9O3ZhciBPdT1sPT57aWYodHlwZW9mIG9lLmdldEF1dGhvcml6ZXJzKClbbC50cmFuc3BvcnRdPiJ1Iil0aHJvd2AnJHtsLnRyYW5zcG9ydH0nIGlzIG5vdCBhIHJlY29nbml6ZWQgYXV0aCB0cmFuc3BvcnRgO3JldHVybihvLGMpPT57Y29uc3QgZz1BdShvLGwpO29lLmdldEF1dGhvcml6ZXJzKClbbC50cmFuc3BvcnRdKG9lLGcsbCxfLlVzZXJBdXRoZW50aWNhdGlvbixjKX19O2NvbnN0ICR1PShsLG8pPT57dmFyIGM9InNvY2tldF9pZD0iK2VuY29kZVVSSUNvbXBvbmVudChsLnNvY2tldElkKTtjKz0iJmNoYW5uZWxfbmFtZT0iK2VuY29kZVVSSUNvbXBvbmVudChsLmNoYW5uZWxOYW1lKTtmb3IodmFyIGcgaW4gby5wYXJhbXMpYys9IiYiK2VuY29kZVVSSUNvbXBvbmVudChnKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KG8ucGFyYW1zW2ddKTtpZihvLnBhcmFtc1Byb3ZpZGVyIT1udWxsKXtsZXQgYj1vLnBhcmFtc1Byb3ZpZGVyKCk7Zm9yKHZhciBnIGluIGIpYys9IiYiK2VuY29kZVVSSUNvbXBvbmVudChnKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGJbZ10pfXJldHVybiBjfTt2YXIga3U9bD0+e2lmKHR5cGVvZiBvZS5nZXRBdXRob3JpemVycygpW2wudHJhbnNwb3J0XT4idSIpdGhyb3dgJyR7bC50cmFuc3BvcnR9JyBpcyBub3QgYSByZWNvZ25pemVkIGF1dGggdHJhbnNwb3J0YDtyZXR1cm4obyxjKT0+e2NvbnN0IGc9JHUobyxsKTtvZS5nZXRBdXRob3JpemVycygpW2wudHJhbnNwb3J0XShvZSxnLGwsXy5DaGFubmVsQXV0aG9yaXphdGlvbixjKX19O2NvbnN0IFJ1PShsLG8sYyk9Pntjb25zdCBnPXthdXRoVHJhbnNwb3J0Om8udHJhbnNwb3J0LGF1dGhFbmRwb2ludDpvLmVuZHBvaW50LGF1dGg6e3BhcmFtczpvLnBhcmFtcyxoZWFkZXJzOm8uaGVhZGVyc319O3JldHVybihiLGspPT57Y29uc3QgRj1sLmNoYW5uZWwoYi5jaGFubmVsTmFtZSk7YyhGLGcpLmF1dGhvcml6ZShiLnNvY2tldElkLGspfX07ZnVuY3Rpb24gUHUobCxvKXtsZXQgYz17YWN0aXZpdHlUaW1lb3V0OmwuYWN0aXZpdHlUaW1lb3V0fHxmLmFjdGl2aXR5VGltZW91dCxjbHVzdGVyOmwuY2x1c3RlcixodHRwUGF0aDpsLmh0dHBQYXRofHxmLmh0dHBQYXRoLGh0dHBQb3J0OmwuaHR0cFBvcnR8fGYuaHR0cFBvcnQsaHR0cHNQb3J0OmwuaHR0cHNQb3J0fHxmLmh0dHBzUG9ydCxwb25nVGltZW91dDpsLnBvbmdUaW1lb3V0fHxmLnBvbmdUaW1lb3V0LHN0YXRzSG9zdDpsLnN0YXRzSG9zdHx8Zi5zdGF0c19ob3N0LHVuYXZhaWxhYmxlVGltZW91dDpsLnVuYXZhaWxhYmxlVGltZW91dHx8Zi51bmF2YWlsYWJsZVRpbWVvdXQsd3NQYXRoOmwud3NQYXRofHxmLndzUGF0aCx3c1BvcnQ6bC53c1BvcnR8fGYud3NQb3J0LHdzc1BvcnQ6bC53c3NQb3J0fHxmLndzc1BvcnQsZW5hYmxlU3RhdHM6anUobCksaHR0cEhvc3Q6THUobCksdXNlVExTOkZ1KGwpLHdzSG9zdDpJdShsKSx1c2VyQXV0aGVudGljYXRvcjpNdShsKSxjaGFubmVsQXV0aG9yaXplcjpVdShsLG8pfTtyZXR1cm4iZGlzYWJsZWRUcmFuc3BvcnRzImluIGwmJihjLmRpc2FibGVkVHJhbnNwb3J0cz1sLmRpc2FibGVkVHJhbnNwb3J0cyksImVuYWJsZWRUcmFuc3BvcnRzImluIGwmJihjLmVuYWJsZWRUcmFuc3BvcnRzPWwuZW5hYmxlZFRyYW5zcG9ydHMpLCJpZ25vcmVOdWxsT3JpZ2luImluIGwmJihjLmlnbm9yZU51bGxPcmlnaW49bC5pZ25vcmVOdWxsT3JpZ2luKSwidGltZWxpbmVQYXJhbXMiaW4gbCYmKGMudGltZWxpbmVQYXJhbXM9bC50aW1lbGluZVBhcmFtcyksIm5hY2wiaW4gbCYmKGMubmFjbD1sLm5hY2wpLGN9ZnVuY3Rpb24gTHUobCl7cmV0dXJuIGwuaHR0cEhvc3Q/bC5odHRwSG9zdDpsLmNsdXN0ZXI/YHNvY2tqcy0ke2wuY2x1c3Rlcn0ucHVzaGVyLmNvbWA6Zi5odHRwSG9zdH1mdW5jdGlvbiBJdShsKXtyZXR1cm4gbC53c0hvc3Q/bC53c0hvc3Q6TnUobC5jbHVzdGVyKX1mdW5jdGlvbiBOdShsKXtyZXR1cm5gd3MtJHtsfS5wdXNoZXIuY29tYH1mdW5jdGlvbiBGdShsKXtyZXR1cm4gb2UuZ2V0UHJvdG9jb2woKT09PSJodHRwczoiPyEwOmwuZm9yY2VUTFMhPT0hMX1mdW5jdGlvbiBqdShsKXtyZXR1cm4iZW5hYmxlU3RhdHMiaW4gbD9sLmVuYWJsZVN0YXRzOiJkaXNhYmxlU3RhdHMiaW4gbD8hbC5kaXNhYmxlU3RhdHM6ITF9ZnVuY3Rpb24gTXUobCl7Y29uc3Qgbz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZi51c2VyQXV0aGVudGljYXRpb24pLGwudXNlckF1dGhlbnRpY2F0aW9uKTtyZXR1cm4iY3VzdG9tSGFuZGxlciJpbiBvJiZvLmN1c3RvbUhhbmRsZXIhPW51bGw/by5jdXN0b21IYW5kbGVyOk91KG8pfWZ1bmN0aW9uIER1KGwsbyl7bGV0IGM7cmV0dXJuImNoYW5uZWxBdXRob3JpemF0aW9uImluIGw/Yz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZi5jaGFubmVsQXV0aG9yaXphdGlvbiksbC5jaGFubmVsQXV0aG9yaXphdGlvbik6KGM9e3RyYW5zcG9ydDpsLmF1dGhUcmFuc3BvcnR8fGYuYXV0aFRyYW5zcG9ydCxlbmRwb2ludDpsLmF1dGhFbmRwb2ludHx8Zi5hdXRoRW5kcG9pbnR9LCJhdXRoImluIGwmJigicGFyYW1zImluIGwuYXV0aCYmKGMucGFyYW1zPWwuYXV0aC5wYXJhbXMpLCJoZWFkZXJzImluIGwuYXV0aCYmKGMuaGVhZGVycz1sLmF1dGguaGVhZGVycykpLCJhdXRob3JpemVyImluIGwmJihjLmN1c3RvbUhhbmRsZXI9UnUobyxjLGwuYXV0aG9yaXplcikpKSxjfWZ1bmN0aW9uIFV1KGwsbyl7Y29uc3QgYz1EdShsLG8pO3JldHVybiJjdXN0b21IYW5kbGVyImluIGMmJmMuY3VzdG9tSGFuZGxlciE9bnVsbD9jLmN1c3RvbUhhbmRsZXI6a3UoYyl9Y2xhc3MgSHUgZXh0ZW5kcyBTdHtjb25zdHJ1Y3RvcihvKXtzdXBlcihmdW5jdGlvbihjLGcpe1cuZGVidWcoYE5vIGNhbGxiYWNrcyBvbiB3YXRjaGxpc3QgZXZlbnRzIGZvciAke2N9YCl9KSx0aGlzLnB1c2hlcj1vLHRoaXMuYmluZFdhdGNobGlzdEludGVybmFsRXZlbnQoKX1oYW5kbGVFdmVudChvKXtvLmRhdGEuZXZlbnRzLmZvckVhY2goYz0+e3RoaXMuZW1pdChjLm5hbWUsYyl9KX1iaW5kV2F0Y2hsaXN0SW50ZXJuYWxFdmVudCgpe3RoaXMucHVzaGVyLmNvbm5lY3Rpb24uYmluZCgibWVzc2FnZSIsbz0+e3ZhciBjPW8uZXZlbnQ7Yz09PSJwdXNoZXJfaW50ZXJuYWw6d2F0Y2hsaXN0X2V2ZW50cyImJnRoaXMuaGFuZGxlRXZlbnQobyl9KX19ZnVuY3Rpb24gQnUoKXtsZXQgbCxvO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKChnLGIpPT57bD1nLG89Yn0pLHJlc29sdmU6bCxyZWplY3Q6b319dmFyIHp1PUJ1O2NsYXNzIHF1IGV4dGVuZHMgU3R7Y29uc3RydWN0b3Iobyl7c3VwZXIoZnVuY3Rpb24oYyxnKXtXLmRlYnVnKCJObyBjYWxsYmFja3Mgb24gdXNlciBmb3IgIitjKX0pLHRoaXMuc2lnbmluX3JlcXVlc3RlZD0hMSx0aGlzLnVzZXJfZGF0YT1udWxsLHRoaXMuc2VydmVyVG9Vc2VyQ2hhbm5lbD1udWxsLHRoaXMuc2lnbmluRG9uZVByb21pc2U9bnVsbCx0aGlzLl9zaWduaW5Eb25lUmVzb2x2ZT1udWxsLHRoaXMuX29uQXV0aG9yaXplPShjLGcpPT57aWYoYyl7Vy53YXJuKGBFcnJvciBkdXJpbmcgc2lnbmluOiAke2N9YCksdGhpcy5fY2xlYW51cCgpO3JldHVybn10aGlzLnB1c2hlci5zZW5kX2V2ZW50KCJwdXNoZXI6c2lnbmluIix7YXV0aDpnLmF1dGgsdXNlcl9kYXRhOmcudXNlcl9kYXRhfSl9LHRoaXMucHVzaGVyPW8sdGhpcy5wdXNoZXIuY29ubmVjdGlvbi5iaW5kKCJzdGF0ZV9jaGFuZ2UiLCh7cHJldmlvdXM6YyxjdXJyZW50Omd9KT0+e2MhPT0iY29ubmVjdGVkIiYmZz09PSJjb25uZWN0ZWQiJiZ0aGlzLl9zaWduaW4oKSxjPT09ImNvbm5lY3RlZCImJmchPT0iY29ubmVjdGVkIiYmKHRoaXMuX2NsZWFudXAoKSx0aGlzLl9uZXdTaWduaW5Qcm9taXNlSWZOZWVkZWQoKSl9KSx0aGlzLndhdGNobGlzdD1uZXcgSHUobyksdGhpcy5wdXNoZXIuY29ubmVjdGlvbi5iaW5kKCJtZXNzYWdlIixjPT57dmFyIGc9Yy5ldmVudDtnPT09InB1c2hlcjpzaWduaW5fc3VjY2VzcyImJnRoaXMuX29uU2lnbmluU3VjY2VzcyhjLmRhdGEpLHRoaXMuc2VydmVyVG9Vc2VyQ2hhbm5lbCYmdGhpcy5zZXJ2ZXJUb1VzZXJDaGFubmVsLm5hbWU9PT1jLmNoYW5uZWwmJnRoaXMuc2VydmVyVG9Vc2VyQ2hhbm5lbC5oYW5kbGVFdmVudChjKX0pfXNpZ25pbigpe3RoaXMuc2lnbmluX3JlcXVlc3RlZHx8KHRoaXMuc2lnbmluX3JlcXVlc3RlZD0hMCx0aGlzLl9zaWduaW4oKSl9X3NpZ25pbigpe3RoaXMuc2lnbmluX3JlcXVlc3RlZCYmKHRoaXMuX25ld1NpZ25pblByb21pc2VJZk5lZWRlZCgpLHRoaXMucHVzaGVyLmNvbm5lY3Rpb24uc3RhdGU9PT0iY29ubmVjdGVkIiYmdGhpcy5wdXNoZXIuY29uZmlnLnVzZXJBdXRoZW50aWNhdG9yKHtzb2NrZXRJZDp0aGlzLnB1c2hlci5jb25uZWN0aW9uLnNvY2tldF9pZH0sdGhpcy5fb25BdXRob3JpemUpKX1fb25TaWduaW5TdWNjZXNzKG8pe3RyeXt0aGlzLnVzZXJfZGF0YT1KU09OLnBhcnNlKG8udXNlcl9kYXRhKX1jYXRjaHtXLmVycm9yKGBGYWlsZWQgcGFyc2luZyB1c2VyIGRhdGEgYWZ0ZXIgc2lnbmluOiAke28udXNlcl9kYXRhfWApLHRoaXMuX2NsZWFudXAoKTtyZXR1cm59aWYodHlwZW9mIHRoaXMudXNlcl9kYXRhLmlkIT0ic3RyaW5nInx8dGhpcy51c2VyX2RhdGEuaWQ9PT0iIil7Vy5lcnJvcihgdXNlcl9kYXRhIGRvZXNuJ3QgY29udGFpbiBhbiBpZC4gdXNlcl9kYXRhOiAke3RoaXMudXNlcl9kYXRhfWApLHRoaXMuX2NsZWFudXAoKTtyZXR1cm59dGhpcy5fc2lnbmluRG9uZVJlc29sdmUoKSx0aGlzLl9zdWJzY3JpYmVDaGFubmVscygpfV9zdWJzY3JpYmVDaGFubmVscygpe2NvbnN0IG89Yz0+e2Muc3Vic2NyaXB0aW9uUGVuZGluZyYmYy5zdWJzY3JpcHRpb25DYW5jZWxsZWQ/Yy5yZWluc3RhdGVTdWJzY3JpcHRpb24oKTohYy5zdWJzY3JpcHRpb25QZW5kaW5nJiZ0aGlzLnB1c2hlci5jb25uZWN0aW9uLnN0YXRlPT09ImNvbm5lY3RlZCImJmMuc3Vic2NyaWJlKCl9O3RoaXMuc2VydmVyVG9Vc2VyQ2hhbm5lbD1uZXcgZ3MoYCNzZXJ2ZXItdG8tdXNlci0ke3RoaXMudXNlcl9kYXRhLmlkfWAsdGhpcy5wdXNoZXIpLHRoaXMuc2VydmVyVG9Vc2VyQ2hhbm5lbC5iaW5kX2dsb2JhbCgoYyxnKT0+e2MuaW5kZXhPZigicHVzaGVyX2ludGVybmFsOiIpPT09MHx8Yy5pbmRleE9mKCJwdXNoZXI6Iik9PT0wfHx0aGlzLmVtaXQoYyxnKX0pLG8odGhpcy5zZXJ2ZXJUb1VzZXJDaGFubmVsKX1fY2xlYW51cCgpe3RoaXMudXNlcl9kYXRhPW51bGwsdGhpcy5zZXJ2ZXJUb1VzZXJDaGFubmVsJiYodGhpcy5zZXJ2ZXJUb1VzZXJDaGFubmVsLnVuYmluZF9hbGwoKSx0aGlzLnNlcnZlclRvVXNlckNoYW5uZWwuZGlzY29ubmVjdCgpLHRoaXMuc2VydmVyVG9Vc2VyQ2hhbm5lbD1udWxsKSx0aGlzLnNpZ25pbl9yZXF1ZXN0ZWQmJnRoaXMuX3NpZ25pbkRvbmVSZXNvbHZlKCl9X25ld1NpZ25pblByb21pc2VJZk5lZWRlZCgpe2lmKCF0aGlzLnNpZ25pbl9yZXF1ZXN0ZWR8fHRoaXMuc2lnbmluRG9uZVByb21pc2UmJiF0aGlzLnNpZ25pbkRvbmVQcm9taXNlLmRvbmUpcmV0dXJuO2NvbnN0e3Byb21pc2U6byxyZXNvbHZlOmN9PXp1KCk7by5kb25lPSExO2NvbnN0IGc9KCk9PntvLmRvbmU9ITB9O28udGhlbihnKS5jYXRjaChnKSx0aGlzLnNpZ25pbkRvbmVQcm9taXNlPW8sdGhpcy5fc2lnbmluRG9uZVJlc29sdmU9Y319Y2xhc3MgRGV7c3RhdGljIHJlYWR5KCl7RGUuaXNSZWFkeT0hMDtmb3IodmFyIG89MCxjPURlLmluc3RhbmNlcy5sZW5ndGg7bzxjO28rKylEZS5pbnN0YW5jZXNbb10uY29ubmVjdCgpfXN0YXRpYyBnZXRDbGllbnRGZWF0dXJlcygpe3JldHVybiBNdChSKHt3czpvZS5UcmFuc3BvcnRzLndzfSxmdW5jdGlvbihvKXtyZXR1cm4gby5pc1N1cHBvcnRlZCh7fSl9KSl9Y29uc3RydWN0b3IobyxjKXtWdShvKSxFdShjKSx0aGlzLmtleT1vLHRoaXMuY29uZmlnPVB1KGMsdGhpcyksdGhpcy5jaGFubmVscz1UdC5jcmVhdGVDaGFubmVscygpLHRoaXMuZ2xvYmFsX2VtaXR0ZXI9bmV3IFN0LHRoaXMuc2Vzc2lvbklEPW9lLnJhbmRvbUludCgxZTkpLHRoaXMudGltZWxpbmU9bmV3IF91KHRoaXMua2V5LHRoaXMuc2Vzc2lvbklELHtjbHVzdGVyOnRoaXMuY29uZmlnLmNsdXN0ZXIsZmVhdHVyZXM6RGUuZ2V0Q2xpZW50RmVhdHVyZXMoKSxwYXJhbXM6dGhpcy5jb25maWcudGltZWxpbmVQYXJhbXN8fHt9LGxpbWl0OjUwLGxldmVsOnByLklORk8sdmVyc2lvbjpmLlZFUlNJT059KSx0aGlzLmNvbmZpZy5lbmFibGVTdGF0cyYmKHRoaXMudGltZWxpbmVTZW5kZXI9VHQuY3JlYXRlVGltZWxpbmVTZW5kZXIodGhpcy50aW1lbGluZSx7aG9zdDp0aGlzLmNvbmZpZy5zdGF0c0hvc3QscGF0aDoiL3RpbWVsaW5lL3YyLyIrb2UuVGltZWxpbmVUcmFuc3BvcnQubmFtZX0pKTt2YXIgZz1iPT5vZS5nZXREZWZhdWx0U3RyYXRlZ3kodGhpcy5jb25maWcsYixTdSk7dGhpcy5jb25uZWN0aW9uPVR0LmNyZWF0ZUNvbm5lY3Rpb25NYW5hZ2VyKHRoaXMua2V5LHtnZXRTdHJhdGVneTpnLHRpbWVsaW5lOnRoaXMudGltZWxpbmUsYWN0aXZpdHlUaW1lb3V0OnRoaXMuY29uZmlnLmFjdGl2aXR5VGltZW91dCxwb25nVGltZW91dDp0aGlzLmNvbmZpZy5wb25nVGltZW91dCx1bmF2YWlsYWJsZVRpbWVvdXQ6dGhpcy5jb25maWcudW5hdmFpbGFibGVUaW1lb3V0LHVzZVRMUzohIXRoaXMuY29uZmlnLnVzZVRMU30pLHRoaXMuY29ubmVjdGlvbi5iaW5kKCJjb25uZWN0ZWQiLCgpPT57dGhpcy5zdWJzY3JpYmVBbGwoKSx0aGlzLnRpbWVsaW5lU2VuZGVyJiZ0aGlzLnRpbWVsaW5lU2VuZGVyLnNlbmQodGhpcy5jb25uZWN0aW9uLmlzVXNpbmdUTFMoKSl9KSx0aGlzLmNvbm5lY3Rpb24uYmluZCgibWVzc2FnZSIsYj0+e3ZhciBrPWIuZXZlbnQsRj1rLmluZGV4T2YoInB1c2hlcl9pbnRlcm5hbDoiKT09PTA7aWYoYi5jaGFubmVsKXt2YXIgSj10aGlzLmNoYW5uZWwoYi5jaGFubmVsKTtKJiZKLmhhbmRsZUV2ZW50KGIpfUZ8fHRoaXMuZ2xvYmFsX2VtaXR0ZXIuZW1pdChiLmV2ZW50LGIuZGF0YSl9KSx0aGlzLmNvbm5lY3Rpb24uYmluZCgiY29ubmVjdGluZyIsKCk9Pnt0aGlzLmNoYW5uZWxzLmRpc2Nvbm5lY3QoKX0pLHRoaXMuY29ubmVjdGlvbi5iaW5kKCJkaXNjb25uZWN0ZWQiLCgpPT57dGhpcy5jaGFubmVscy5kaXNjb25uZWN0KCl9KSx0aGlzLmNvbm5lY3Rpb24uYmluZCgiZXJyb3IiLGI9PntXLndhcm4oYil9KSxEZS5pbnN0YW5jZXMucHVzaCh0aGlzKSx0aGlzLnRpbWVsaW5lLmluZm8oe2luc3RhbmNlczpEZS5pbnN0YW5jZXMubGVuZ3RofSksdGhpcy51c2VyPW5ldyBxdSh0aGlzKSxEZS5pc1JlYWR5JiZ0aGlzLmNvbm5lY3QoKX1jaGFubmVsKG8pe3JldHVybiB0aGlzLmNoYW5uZWxzLmZpbmQobyl9YWxsQ2hhbm5lbHMoKXtyZXR1cm4gdGhpcy5jaGFubmVscy5hbGwoKX1jb25uZWN0KCl7aWYodGhpcy5jb25uZWN0aW9uLmNvbm5lY3QoKSx0aGlzLnRpbWVsaW5lU2VuZGVyJiYhdGhpcy50aW1lbGluZVNlbmRlclRpbWVyKXt2YXIgbz10aGlzLmNvbm5lY3Rpb24uaXNVc2luZ1RMUygpLGM9dGhpcy50aW1lbGluZVNlbmRlcjt0aGlzLnRpbWVsaW5lU2VuZGVyVGltZXI9bmV3IHVyKDZlNCxmdW5jdGlvbigpe2Muc2VuZChvKX0pfX1kaXNjb25uZWN0KCl7dGhpcy5jb25uZWN0aW9uLmRpc2Nvbm5lY3QoKSx0aGlzLnRpbWVsaW5lU2VuZGVyVGltZXImJih0aGlzLnRpbWVsaW5lU2VuZGVyVGltZXIuZW5zdXJlQWJvcnRlZCgpLHRoaXMudGltZWxpbmVTZW5kZXJUaW1lcj1udWxsKX1iaW5kKG8sYyxnKXtyZXR1cm4gdGhpcy5nbG9iYWxfZW1pdHRlci5iaW5kKG8sYyxnKSx0aGlzfXVuYmluZChvLGMsZyl7cmV0dXJuIHRoaXMuZ2xvYmFsX2VtaXR0ZXIudW5iaW5kKG8sYyxnKSx0aGlzfWJpbmRfZ2xvYmFsKG8pe3JldHVybiB0aGlzLmdsb2JhbF9lbWl0dGVyLmJpbmRfZ2xvYmFsKG8pLHRoaXN9dW5iaW5kX2dsb2JhbChvKXtyZXR1cm4gdGhpcy5nbG9iYWxfZW1pdHRlci51bmJpbmRfZ2xvYmFsKG8pLHRoaXN9dW5iaW5kX2FsbChvKXtyZXR1cm4gdGhpcy5nbG9iYWxfZW1pdHRlci51bmJpbmRfYWxsKCksdGhpc31zdWJzY3JpYmVBbGwoKXt2YXIgbztmb3IobyBpbiB0aGlzLmNoYW5uZWxzLmNoYW5uZWxzKXRoaXMuY2hhbm5lbHMuY2hhbm5lbHMuaGFzT3duUHJvcGVydHkobykmJnRoaXMuc3Vic2NyaWJlKG8pfXN1YnNjcmliZShvKXt2YXIgYz10aGlzLmNoYW5uZWxzLmFkZChvLHRoaXMpO3JldHVybiBjLnN1YnNjcmlwdGlvblBlbmRpbmcmJmMuc3Vic2NyaXB0aW9uQ2FuY2VsbGVkP2MucmVpbnN0YXRlU3Vic2NyaXB0aW9uKCk6IWMuc3Vic2NyaXB0aW9uUGVuZGluZyYmdGhpcy5jb25uZWN0aW9uLnN0YXRlPT09ImNvbm5lY3RlZCImJmMuc3Vic2NyaWJlKCksY311bnN1YnNjcmliZShvKXt2YXIgYz10aGlzLmNoYW5uZWxzLmZpbmQobyk7YyYmYy5zdWJzY3JpcHRpb25QZW5kaW5nP2MuY2FuY2VsU3Vic2NyaXB0aW9uKCk6KGM9dGhpcy5jaGFubmVscy5yZW1vdmUobyksYyYmYy5zdWJzY3JpYmVkJiZjLnVuc3Vic2NyaWJlKCkpfXNlbmRfZXZlbnQobyxjLGcpe3JldHVybiB0aGlzLmNvbm5lY3Rpb24uc2VuZF9ldmVudChvLGMsZyl9c2hvdWxkVXNlVExTKCl7cmV0dXJuIHRoaXMuY29uZmlnLnVzZVRMU31zaWduaW4oKXt0aGlzLnVzZXIuc2lnbmluKCl9fURlLmluc3RhbmNlcz1bXSxEZS5pc1JlYWR5PSExLERlLmxvZ1RvQ29uc29sZT0hMSxEZS5SdW50aW1lPW9lLERlLlNjcmlwdFJlY2VpdmVycz1vZS5TY3JpcHRSZWNlaXZlcnMsRGUuRGVwZW5kZW5jaWVzUmVjZWl2ZXJzPW9lLkRlcGVuZGVuY2llc1JlY2VpdmVycyxEZS5hdXRoX2NhbGxiYWNrcz1vZS5hdXRoX2NhbGxiYWNrczt2YXIgeHM9ci5kZWZhdWx0PURlO2Z1bmN0aW9uIFZ1KGwpe2lmKGw9PW51bGwpdGhyb3ciWW91IG11c3QgcGFzcyB5b3VyIGFwcCBrZXkgd2hlbiB5b3UgaW5zdGFudGlhdGUgUHVzaGVyLiJ9b2Uuc2V0dXAoRGUpfV0pfSl9KFVzKSksVXMuZXhwb3J0c312YXIgeHA9X3AoKTtjb25zdCBDcD13cCh4cCksWm49QW4oKCk9Pntjb25zdCBlPXBlKG51bGwpLHQ9cGUoITEpLG49e307cmV0dXJue3NvY2tldEluc3RhbmNlOmUsc29ja2V0SW5zdGFuY2VDcmVhdGVkOnQsLi4ue2NyZWF0ZUluc3RhbmNlKHMpe3ZhciBpLGEsdSxmLGQsaCxwO3RyeXt3aW5kb3cuUHVzaGVyPUNwLG5bIlgtQ3VyYWNvbS1XaWRnZXQiXT13aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oImN1cmFjb20tMTc2Mzc4Mzk0OTkiKXx8Ik5vbmUiLG5bIlgtQ3VyYWNvbS1Db29raWUiXT0oKGk9cz09bnVsbD92b2lkIDA6cy52aXNpdG9yKT09bnVsbD92b2lkIDA6aS51aWQpfHwiIixlLnZhbHVlPW5ldyB5cCh7YnJvYWRjYXN0ZXI6KChhPXM9PW51bGw/dm9pZCAwOnMud2Vic29ja2V0X2NvbmZpZyk9PW51bGw/dm9pZCAwOmEuYnJvYWRjYXN0ZXIpfHwicmV2ZXJiIixrZXk6KHU9cz09bnVsbD92b2lkIDA6cy53ZWJzb2NrZXRfY29uZmlnKT09bnVsbD92b2lkIDA6dS5rZXksd3NIb3N0OihmPXM9PW51bGw/dm9pZCAwOnMud2Vic29ja2V0X2NvbmZpZyk9PW51bGw/dm9pZCAwOmYud3NIb3N0LHdzUG9ydDooZD1zPT1udWxsP3ZvaWQgMDpzLndlYnNvY2tldF9jb25maWcpPT1udWxsP3ZvaWQgMDpkLndzUG9ydCx3c3NQb3J0OihoPXM9PW51bGw/dm9pZCAwOnMud2Vic29ja2V0X2NvbmZpZyk9PW51bGw/dm9pZCAwOmgud3NzUG9ydCxmb3JjZVRMUzohMCxhdXRoRW5kcG9pbnQ6KHA9cz09bnVsbD92b2lkIDA6cy53ZWJzb2NrZXRfY29uZmlnKT09bnVsbD92b2lkIDA6cC5hdXRoRW5kcG9pbnQsZW5hYmxlZFRyYW5zcG9ydHM6WyJ3cyIsIndzcyJdLGF1dGg6e2hlYWRlcnM6bn19KSx0LnZhbHVlPSEwfWNhdGNoe319LGRpc2Nvbm5lY3QoKXt2YXIgczsocz1lLnZhbHVlKT09bnVsbHx8cy5kaXNjb25uZWN0KCl9fX19KTtmdW5jdGlvbiBYYyhlLHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHQsYXJndW1lbnRzKX19Y29uc3R7dG9TdHJpbmc6U3B9PU9iamVjdC5wcm90b3R5cGUse2dldFByb3RvdHlwZU9mOlVpfT1PYmplY3Qse2l0ZXJhdG9yOmlzLHRvU3RyaW5nVGFnOkdjfT1TeW1ib2wsb3M9KGU9PnQ9Pntjb25zdCBuPVNwLmNhbGwodCk7cmV0dXJuIGVbbl18fChlW25dPW4uc2xpY2UoOCwtMSkudG9Mb3dlckNhc2UoKSl9KShPYmplY3QuY3JlYXRlKG51bGwpKSxtdD1lPT4oZT1lLnRvTG93ZXJDYXNlKCksdD0+b3ModCk9PT1lKSxhcz1lPT50PT50eXBlb2YgdD09PWUse2lzQXJyYXk6T259PUFycmF5LFluPWFzKCJ1bmRlZmluZWQiKTtmdW5jdGlvbiBUcChlKXtyZXR1cm4gZSE9PW51bGwmJiFZbihlKSYmZS5jb25zdHJ1Y3RvciE9PW51bGwmJiFZbihlLmNvbnN0cnVjdG9yKSYmbnQoZS5jb25zdHJ1Y3Rvci5pc0J1ZmZlcikmJmUuY29uc3RydWN0b3IuaXNCdWZmZXIoZSl9Y29uc3QgUWM9bXQoIkFycmF5QnVmZmVyIik7ZnVuY3Rpb24gRXAoZSl7bGV0IHQ7cmV0dXJuIHR5cGVvZiBBcnJheUJ1ZmZlcjwidSImJkFycmF5QnVmZmVyLmlzVmlldz90PUFycmF5QnVmZmVyLmlzVmlldyhlKTp0PWUmJmUuYnVmZmVyJiZRYyhlLmJ1ZmZlciksdH1jb25zdCBBcD1hcygic3RyaW5nIiksbnQ9YXMoImZ1bmN0aW9uIiksWmM9YXMoIm51bWJlciIpLGNzPWU9PmUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCIsT3A9ZT0+ZT09PSEwfHxlPT09ITEsa3I9ZT0+e2lmKG9zKGUpIT09Im9iamVjdCIpcmV0dXJuITE7Y29uc3QgdD1VaShlKTtyZXR1cm4odD09PW51bGx8fHQ9PT1PYmplY3QucHJvdG90eXBlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1udWxsKSYmIShHYyBpbiBlKSYmIShpcyBpbiBlKX0sJHA9bXQoIkRhdGUiKSxrcD1tdCgiRmlsZSIpLFJwPW10KCJCbG9iIiksUHA9bXQoIkZpbGVMaXN0IiksTHA9ZT0+Y3MoZSkmJm50KGUucGlwZSksSXA9ZT0+e2xldCB0O3JldHVybiBlJiYodHlwZW9mIEZvcm1EYXRhPT0iZnVuY3Rpb24iJiZlIGluc3RhbmNlb2YgRm9ybURhdGF8fG50KGUuYXBwZW5kKSYmKCh0PW9zKGUpKT09PSJmb3JtZGF0YSJ8fHQ9PT0ib2JqZWN0IiYmbnQoZS50b1N0cmluZykmJmUudG9TdHJpbmcoKT09PSJbb2JqZWN0IEZvcm1EYXRhXSIpKX0sTnA9bXQoIlVSTFNlYXJjaFBhcmFtcyIpLFtGcCxqcCxNcCxEcF09WyJSZWFkYWJsZVN0cmVhbSIsIlJlcXVlc3QiLCJSZXNwb25zZSIsIkhlYWRlcnMiXS5tYXAobXQpLFVwPWU9PmUudHJpbT9lLnRyaW0oKTplLnJlcGxhY2UoL15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLCIiKTtmdW5jdGlvbiBjcihlLHQse2FsbE93bktleXM6bj0hMX09e30pe2lmKGU9PT1udWxsfHx0eXBlb2YgZT4idSIpcmV0dXJuO2xldCByLHM7aWYodHlwZW9mIGUhPSJvYmplY3QiJiYoZT1bZV0pLE9uKGUpKWZvcihyPTAscz1lLmxlbmd0aDtyPHM7cisrKXQuY2FsbChudWxsLGVbcl0scixlKTtlbHNle2NvbnN0IGk9bj9PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKTpPYmplY3Qua2V5cyhlKSxhPWkubGVuZ3RoO2xldCB1O2ZvcihyPTA7cjxhO3IrKyl1PWlbcl0sdC5jYWxsKG51bGwsZVt1XSx1LGUpfX1mdW5jdGlvbiBZYyhlLHQpe3Q9dC50b0xvd2VyQ2FzZSgpO2NvbnN0IG49T2JqZWN0LmtleXMoZSk7bGV0IHI9bi5sZW5ndGgscztmb3IoO3ItLSA+MDspaWYocz1uW3JdLHQ9PT1zLnRvTG93ZXJDYXNlKCkpcmV0dXJuIHM7cmV0dXJuIG51bGx9Y29uc3Qgbm49dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGY8InUiP3NlbGY6dHlwZW9mIHdpbmRvdzwidSI/d2luZG93Omdsb2JhbCxlbD1lPT4hWW4oZSkmJmUhPT1ubjtmdW5jdGlvbiBmaSgpe2NvbnN0e2Nhc2VsZXNzOmV9PWVsKHRoaXMpJiZ0aGlzfHx7fSx0PXt9LG49KHIscyk9Pntjb25zdCBpPWUmJlljKHQscyl8fHM7a3IodFtpXSkmJmtyKHIpP3RbaV09ZmkodFtpXSxyKTprcihyKT90W2ldPWZpKHt9LHIpOk9uKHIpP3RbaV09ci5zbGljZSgpOnRbaV09cn07Zm9yKGxldCByPTAscz1hcmd1bWVudHMubGVuZ3RoO3I8cztyKyspYXJndW1lbnRzW3JdJiZjcihhcmd1bWVudHNbcl0sbik7cmV0dXJuIHR9Y29uc3QgSHA9KGUsdCxuLHthbGxPd25LZXlzOnJ9PXt9KT0+KGNyKHQsKHMsaSk9PntuJiZudChzKT9lW2ldPVhjKHMsbik6ZVtpXT1zfSx7YWxsT3duS2V5czpyfSksZSksQnA9ZT0+KGUuY2hhckNvZGVBdCgwKT09PTY1Mjc5JiYoZT1lLnNsaWNlKDEpKSxlKSx6cD0oZSx0LG4scik9PntlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlLHIpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsInN1cGVyIix7dmFsdWU6dC5wcm90b3R5cGV9KSxuJiZPYmplY3QuYXNzaWduKGUucHJvdG90eXBlLG4pfSxxcD0oZSx0LG4scik9PntsZXQgcyxpLGE7Y29uc3QgdT17fTtpZih0PXR8fHt9LGU9PW51bGwpcmV0dXJuIHQ7ZG97Zm9yKHM9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSksaT1zLmxlbmd0aDtpLS0gPjA7KWE9c1tpXSwoIXJ8fHIoYSxlLHQpKSYmIXVbYV0mJih0W2FdPWVbYV0sdVthXT0hMCk7ZT1uIT09ITEmJlVpKGUpfXdoaWxlKGUmJighbnx8bihlLHQpKSYmZSE9PU9iamVjdC5wcm90b3R5cGUpO3JldHVybiB0fSxWcD0oZSx0LG4pPT57ZT1TdHJpbmcoZSksKG49PT12b2lkIDB8fG4+ZS5sZW5ndGgpJiYobj1lLmxlbmd0aCksbi09dC5sZW5ndGg7Y29uc3Qgcj1lLmluZGV4T2YodCxuKTtyZXR1cm4gciE9PS0xJiZyPT09bn0sV3A9ZT0+e2lmKCFlKXJldHVybiBudWxsO2lmKE9uKGUpKXJldHVybiBlO2xldCB0PWUubGVuZ3RoO2lmKCFaYyh0KSlyZXR1cm4gbnVsbDtjb25zdCBuPW5ldyBBcnJheSh0KTtmb3IoO3QtLSA+MDspblt0XT1lW3RdO3JldHVybiBufSxLcD0oZT0+dD0+ZSYmdCBpbnN0YW5jZW9mIGUpKHR5cGVvZiBVaW50OEFycmF5PCJ1IiYmVWkoVWludDhBcnJheSkpLEpwPShlLHQpPT57Y29uc3Qgcj0oZSYmZVtpc10pLmNhbGwoZSk7bGV0IHM7Zm9yKDsocz1yLm5leHQoKSkmJiFzLmRvbmU7KXtjb25zdCBpPXMudmFsdWU7dC5jYWxsKGUsaVswXSxpWzFdKX19LFhwPShlLHQpPT57bGV0IG47Y29uc3Qgcj1bXTtmb3IoOyhuPWUuZXhlYyh0KSkhPT1udWxsOylyLnB1c2gobik7cmV0dXJuIHJ9LEdwPW10KCJIVE1MRm9ybUVsZW1lbnQiKSxRcD1lPT5lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvWy1fXHNdKFthLXpcZF0pKFx3KikvZyxmdW5jdGlvbihuLHIscyl7cmV0dXJuIHIudG9VcHBlckNhc2UoKStzfSksbGE9KCh7aGFzT3duUHJvcGVydHk6ZX0pPT4odCxuKT0+ZS5jYWxsKHQsbikpKE9iamVjdC5wcm90b3R5cGUpLFpwPW10KCJSZWdFeHAiKSx0bD0oZSx0KT0+e2NvbnN0IG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoZSkscj17fTtjcihuLChzLGkpPT57bGV0IGE7KGE9dChzLGksZSkpIT09ITEmJihyW2ldPWF8fHMpfSksT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSxyKX0sWXA9ZT0+e3RsKGUsKHQsbik9PntpZihudChlKSYmWyJhcmd1bWVudHMiLCJjYWxsZXIiLCJjYWxsZWUiXS5pbmRleE9mKG4pIT09LTEpcmV0dXJuITE7Y29uc3Qgcj1lW25dO2lmKG50KHIpKXtpZih0LmVudW1lcmFibGU9ITEsIndyaXRhYmxlImluIHQpe3Qud3JpdGFibGU9ITE7cmV0dXJufXQuc2V0fHwodC5zZXQ9KCk9Pnt0aHJvdyBFcnJvcigiQ2FuIG5vdCByZXdyaXRlIHJlYWQtb25seSBtZXRob2QgJyIrbisiJyIpfSl9fSl9LGVnPShlLHQpPT57Y29uc3Qgbj17fSxyPXM9PntzLmZvckVhY2goaT0+e25baV09ITB9KX07cmV0dXJuIE9uKGUpP3IoZSk6cihTdHJpbmcoZSkuc3BsaXQodCkpLG59LHRnPSgpPT57fSxuZz0oZSx0KT0+ZSE9bnVsbCYmTnVtYmVyLmlzRmluaXRlKGU9K2UpP2U6dDtmdW5jdGlvbiByZyhlKXtyZXR1cm4hIShlJiZudChlLmFwcGVuZCkmJmVbR2NdPT09IkZvcm1EYXRhIiYmZVtpc10pfWNvbnN0IHNnPWU9Pntjb25zdCB0PW5ldyBBcnJheSgxMCksbj0ocixzKT0+e2lmKGNzKHIpKXtpZih0LmluZGV4T2Yocik+PTApcmV0dXJuO2lmKCEoInRvSlNPTiJpbiByKSl7dFtzXT1yO2NvbnN0IGk9T24ocik/W106e307cmV0dXJuIGNyKHIsKGEsdSk9Pntjb25zdCBmPW4oYSxzKzEpOyFZbihmKSYmKGlbdV09Zil9KSx0W3NdPXZvaWQgMCxpfX1yZXR1cm4gcn07cmV0dXJuIG4oZSwwKX0saWc9bXQoIkFzeW5jRnVuY3Rpb24iKSxvZz1lPT5lJiYoY3MoZSl8fG50KGUpKSYmbnQoZS50aGVuKSYmbnQoZS5jYXRjaCksbmw9KChlLHQpPT5lP3NldEltbWVkaWF0ZTp0PygobixyKT0+KG5uLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCh7c291cmNlOnMsZGF0YTppfSk9PntzPT09bm4mJmk9PT1uJiZyLmxlbmd0aCYmci5zaGlmdCgpKCl9LCExKSxzPT57ci5wdXNoKHMpLG5uLnBvc3RNZXNzYWdlKG4sIioiKX0pKShgYXhpb3NAJHtNYXRoLnJhbmRvbSgpfWAsW10pOm49PnNldFRpbWVvdXQobikpKHR5cGVvZiBzZXRJbW1lZGlhdGU9PSJmdW5jdGlvbiIsbnQobm4ucG9zdE1lc3NhZ2UpKSxhZz10eXBlb2YgcXVldWVNaWNyb3Rhc2s8InUiP3F1ZXVlTWljcm90YXNrLmJpbmQobm4pOnR5cGVvZiBwcm9jZXNzPCJ1IiYmcHJvY2Vzcy5uZXh0VGlja3x8bmwsY2c9ZT0+ZSE9bnVsbCYmbnQoZVtpc10pLEE9e2lzQXJyYXk6T24saXNBcnJheUJ1ZmZlcjpRYyxpc0J1ZmZlcjpUcCxpc0Zvcm1EYXRhOklwLGlzQXJyYXlCdWZmZXJWaWV3OkVwLGlzU3RyaW5nOkFwLGlzTnVtYmVyOlpjLGlzQm9vbGVhbjpPcCxpc09iamVjdDpjcyxpc1BsYWluT2JqZWN0OmtyLGlzUmVhZGFibGVTdHJlYW06RnAsaXNSZXF1ZXN0OmpwLGlzUmVzcG9uc2U6TXAsaXNIZWFkZXJzOkRwLGlzVW5kZWZpbmVkOlluLGlzRGF0ZTokcCxpc0ZpbGU6a3AsaXNCbG9iOlJwLGlzUmVnRXhwOlpwLGlzRnVuY3Rpb246bnQsaXNTdHJlYW06THAsaXNVUkxTZWFyY2hQYXJhbXM6TnAsaXNUeXBlZEFycmF5OktwLGlzRmlsZUxpc3Q6UHAsZm9yRWFjaDpjcixtZXJnZTpmaSxleHRlbmQ6SHAsdHJpbTpVcCxzdHJpcEJPTTpCcCxpbmhlcml0czp6cCx0b0ZsYXRPYmplY3Q6cXAsa2luZE9mOm9zLGtpbmRPZlRlc3Q6bXQsZW5kc1dpdGg6VnAsdG9BcnJheTpXcCxmb3JFYWNoRW50cnk6SnAsbWF0Y2hBbGw6WHAsaXNIVE1MRm9ybTpHcCxoYXNPd25Qcm9wZXJ0eTpsYSxoYXNPd25Qcm9wOmxhLHJlZHVjZURlc2NyaXB0b3JzOnRsLGZyZWV6ZU1ldGhvZHM6WXAsdG9PYmplY3RTZXQ6ZWcsdG9DYW1lbENhc2U6UXAsbm9vcDp0Zyx0b0Zpbml0ZU51bWJlcjpuZyxmaW5kS2V5OlljLGdsb2JhbDpubixpc0NvbnRleHREZWZpbmVkOmVsLGlzU3BlY0NvbXBsaWFudEZvcm06cmcsdG9KU09OT2JqZWN0OnNnLGlzQXN5bmNGbjppZyxpc1RoZW5hYmxlOm9nLHNldEltbWVkaWF0ZTpubCxhc2FwOmFnLGlzSXRlcmFibGU6Y2d9O2Z1bmN0aW9uIGFlKGUsdCxuLHIscyl7RXJyb3IuY2FsbCh0aGlzKSxFcnJvci5jYXB0dXJlU3RhY2tUcmFjZT9FcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLHRoaXMuY29uc3RydWN0b3IpOnRoaXMuc3RhY2s9bmV3IEVycm9yKCkuc3RhY2ssdGhpcy5tZXNzYWdlPWUsdGhpcy5uYW1lPSJBeGlvc0Vycm9yIix0JiYodGhpcy5jb2RlPXQpLG4mJih0aGlzLmNvbmZpZz1uKSxyJiYodGhpcy5yZXF1ZXN0PXIpLHMmJih0aGlzLnJlc3BvbnNlPXMsdGhpcy5zdGF0dXM9cy5zdGF0dXM/cy5zdGF0dXM6bnVsbCl9QS5pbmhlcml0cyhhZSxFcnJvcix7dG9KU09OOmZ1bmN0aW9uKCl7cmV0dXJue21lc3NhZ2U6dGhpcy5tZXNzYWdlLG5hbWU6dGhpcy5uYW1lLGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb24sbnVtYmVyOnRoaXMubnVtYmVyLGZpbGVOYW1lOnRoaXMuZmlsZU5hbWUsbGluZU51bWJlcjp0aGlzLmxpbmVOdW1iZXIsY29sdW1uTnVtYmVyOnRoaXMuY29sdW1uTnVtYmVyLHN0YWNrOnRoaXMuc3RhY2ssY29uZmlnOkEudG9KU09OT2JqZWN0KHRoaXMuY29uZmlnKSxjb2RlOnRoaXMuY29kZSxzdGF0dXM6dGhpcy5zdGF0dXN9fX0pO2NvbnN0IHJsPWFlLnByb3RvdHlwZSxzbD17fTtbIkVSUl9CQURfT1BUSU9OX1ZBTFVFIiwiRVJSX0JBRF9PUFRJT04iLCJFQ09OTkFCT1JURUQiLCJFVElNRURPVVQiLCJFUlJfTkVUV09SSyIsIkVSUl9GUl9UT09fTUFOWV9SRURJUkVDVFMiLCJFUlJfREVQUkVDQVRFRCIsIkVSUl9CQURfUkVTUE9OU0UiLCJFUlJfQkFEX1JFUVVFU1QiLCJFUlJfQ0FOQ0VMRUQiLCJFUlJfTk9UX1NVUFBPUlQiLCJFUlJfSU5WQUxJRF9VUkwiXS5mb3JFYWNoKGU9PntzbFtlXT17dmFsdWU6ZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhZSxzbCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHJsLCJpc0F4aW9zRXJyb3IiLHt2YWx1ZTohMH0pO2FlLmZyb209KGUsdCxuLHIscyxpKT0+e2NvbnN0IGE9T2JqZWN0LmNyZWF0ZShybCk7cmV0dXJuIEEudG9GbGF0T2JqZWN0KGUsYSxmdW5jdGlvbihmKXtyZXR1cm4gZiE9PUVycm9yLnByb3RvdHlwZX0sdT0+dSE9PSJpc0F4aW9zRXJyb3IiKSxhZS5jYWxsKGEsZS5tZXNzYWdlLHQsbixyLHMpLGEuY2F1c2U9ZSxhLm5hbWU9ZS5uYW1lLGkmJk9iamVjdC5hc3NpZ24oYSxpKSxhfTtjb25zdCBsZz1udWxsO2Z1bmN0aW9uIGhpKGUpe3JldHVybiBBLmlzUGxhaW5PYmplY3QoZSl8fEEuaXNBcnJheShlKX1mdW5jdGlvbiBpbChlKXtyZXR1cm4gQS5lbmRzV2l0aChlLCJbXSIpP2Uuc2xpY2UoMCwtMik6ZX1mdW5jdGlvbiB1YShlLHQsbil7cmV0dXJuIGU/ZS5jb25jYXQodCkubWFwKGZ1bmN0aW9uKHMsaSl7cmV0dXJuIHM9aWwocyksIW4mJmk/IlsiK3MrIl0iOnN9KS5qb2luKG4/Ii4iOiIiKTp0fWZ1bmN0aW9uIHVnKGUpe3JldHVybiBBLmlzQXJyYXkoZSkmJiFlLnNvbWUoaGkpfWNvbnN0IGZnPUEudG9GbGF0T2JqZWN0KEEse30sbnVsbCxmdW5jdGlvbih0KXtyZXR1cm4vXmlzW0EtWl0vLnRlc3QodCl9KTtmdW5jdGlvbiBscyhlLHQsbil7aWYoIUEuaXNPYmplY3QoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigidGFyZ2V0IG11c3QgYmUgYW4gb2JqZWN0Iik7dD10fHxuZXcgRm9ybURhdGEsbj1BLnRvRmxhdE9iamVjdChuLHttZXRhVG9rZW5zOiEwLGRvdHM6ITEsaW5kZXhlczohMX0sITEsZnVuY3Rpb24oXyx5KXtyZXR1cm4hQS5pc1VuZGVmaW5lZCh5W19dKX0pO2NvbnN0IHI9bi5tZXRhVG9rZW5zLHM9bi52aXNpdG9yfHxoLGk9bi5kb3RzLGE9bi5pbmRleGVzLGY9KG4uQmxvYnx8dHlwZW9mIEJsb2I8InUiJiZCbG9iKSYmQS5pc1NwZWNDb21wbGlhbnRGb3JtKHQpO2lmKCFBLmlzRnVuY3Rpb24ocykpdGhyb3cgbmV3IFR5cGVFcnJvcigidmlzaXRvciBtdXN0IGJlIGEgZnVuY3Rpb24iKTtmdW5jdGlvbiBkKG0pe2lmKG09PT1udWxsKXJldHVybiIiO2lmKEEuaXNEYXRlKG0pKXJldHVybiBtLnRvSVNPU3RyaW5nKCk7aWYoIWYmJkEuaXNCbG9iKG0pKXRocm93IG5ldyBhZSgiQmxvYiBpcyBub3Qgc3VwcG9ydGVkLiBVc2UgYSBCdWZmZXIgaW5zdGVhZC4iKTtyZXR1cm4gQS5pc0FycmF5QnVmZmVyKG0pfHxBLmlzVHlwZWRBcnJheShtKT9mJiZ0eXBlb2YgQmxvYj09ImZ1bmN0aW9uIj9uZXcgQmxvYihbbV0pOkJ1ZmZlci5mcm9tKG0pOm19ZnVuY3Rpb24gaChtLF8seSl7bGV0IFM9bTtpZihtJiYheSYmdHlwZW9mIG09PSJvYmplY3QiKXtpZihBLmVuZHNXaXRoKF8sInt9IikpXz1yP186Xy5zbGljZSgwLC0yKSxtPUpTT04uc3RyaW5naWZ5KG0pO2Vsc2UgaWYoQS5pc0FycmF5KG0pJiZ1ZyhtKXx8KEEuaXNGaWxlTGlzdChtKXx8QS5lbmRzV2l0aChfLCJbXSIpKSYmKFM9QS50b0FycmF5KG0pKSlyZXR1cm4gXz1pbChfKSxTLmZvckVhY2goZnVuY3Rpb24oTyxFKXshKEEuaXNVbmRlZmluZWQoTyl8fE89PT1udWxsKSYmdC5hcHBlbmQoYT09PSEwP3VhKFtfXSxFLGkpOmE9PT1udWxsP186XysiW10iLGQoTykpfSksITF9cmV0dXJuIGhpKG0pPyEwOih0LmFwcGVuZCh1YSh5LF8saSksZChtKSksITEpfWNvbnN0IHA9W10sdz1PYmplY3QuYXNzaWduKGZnLHtkZWZhdWx0VmlzaXRvcjpoLGNvbnZlcnRWYWx1ZTpkLGlzVmlzaXRhYmxlOmhpfSk7ZnVuY3Rpb24gQyhtLF8pe2lmKCFBLmlzVW5kZWZpbmVkKG0pKXtpZihwLmluZGV4T2YobSkhPT0tMSl0aHJvdyBFcnJvcigiQ2lyY3VsYXIgcmVmZXJlbmNlIGRldGVjdGVkIGluICIrXy5qb2luKCIuIikpO3AucHVzaChtKSxBLmZvckVhY2gobSxmdW5jdGlvbihTLFQpeyghKEEuaXNVbmRlZmluZWQoUyl8fFM9PT1udWxsKSYmcy5jYWxsKHQsUyxBLmlzU3RyaW5nKFQpP1QudHJpbSgpOlQsXyx3KSk9PT0hMCYmQyhTLF8/Xy5jb25jYXQoVCk6W1RdKX0pLHAucG9wKCl9fWlmKCFBLmlzT2JqZWN0KGUpKXRocm93IG5ldyBUeXBlRXJyb3IoImRhdGEgbXVzdCBiZSBhbiBvYmplY3QiKTtyZXR1cm4gQyhlKSx0fWZ1bmN0aW9uIGZhKGUpe2NvbnN0IHQ9eyIhIjoiJTIxIiwiJyI6IiUyNyIsIigiOiIlMjgiLCIpIjoiJTI5IiwifiI6IiU3RSIsIiUyMCI6IisiLCIlMDAiOiJcMCJ9O3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZSkucmVwbGFjZSgvWyEnKCl+XXwlMjB8JTAwL2csZnVuY3Rpb24ocil7cmV0dXJuIHRbcl19KX1mdW5jdGlvbiBIaShlLHQpe3RoaXMuX3BhaXJzPVtdLGUmJmxzKGUsdGhpcyx0KX1jb25zdCBvbD1IaS5wcm90b3R5cGU7b2wuYXBwZW5kPWZ1bmN0aW9uKHQsbil7dGhpcy5fcGFpcnMucHVzaChbdCxuXSl9O29sLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe2NvbnN0IG49dD9mdW5jdGlvbihyKXtyZXR1cm4gdC5jYWxsKHRoaXMscixmYSl9OmZhO3JldHVybiB0aGlzLl9wYWlycy5tYXAoZnVuY3Rpb24ocyl7cmV0dXJuIG4oc1swXSkrIj0iK24oc1sxXSl9LCIiKS5qb2luKCImIil9O2Z1bmN0aW9uIGhnKGUpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZSkucmVwbGFjZSgvJTNBL2dpLCI6IikucmVwbGFjZSgvJTI0L2csIiQiKS5yZXBsYWNlKC8lMkMvZ2ksIiwiKS5yZXBsYWNlKC8lMjAvZywiKyIpLnJlcGxhY2UoLyU1Qi9naSwiWyIpLnJlcGxhY2UoLyU1RC9naSwiXSIpfWZ1bmN0aW9uIGFsKGUsdCxuKXtpZighdClyZXR1cm4gZTtjb25zdCByPW4mJm4uZW5jb2RlfHxoZztBLmlzRnVuY3Rpb24obikmJihuPXtzZXJpYWxpemU6bn0pO2NvbnN0IHM9biYmbi5zZXJpYWxpemU7bGV0IGk7aWYocz9pPXModCxuKTppPUEuaXNVUkxTZWFyY2hQYXJhbXModCk/dC50b1N0cmluZygpOm5ldyBIaSh0LG4pLnRvU3RyaW5nKHIpLGkpe2NvbnN0IGE9ZS5pbmRleE9mKCIjIik7YSE9PS0xJiYoZT1lLnNsaWNlKDAsYSkpLGUrPShlLmluZGV4T2YoIj8iKT09PS0xPyI/IjoiJiIpK2l9cmV0dXJuIGV9Y2xhc3MgaGF7Y29uc3RydWN0b3IoKXt0aGlzLmhhbmRsZXJzPVtdfXVzZSh0LG4scil7cmV0dXJuIHRoaXMuaGFuZGxlcnMucHVzaCh7ZnVsZmlsbGVkOnQscmVqZWN0ZWQ6bixzeW5jaHJvbm91czpyP3Iuc3luY2hyb25vdXM6ITEscnVuV2hlbjpyP3IucnVuV2hlbjpudWxsfSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX1lamVjdCh0KXt0aGlzLmhhbmRsZXJzW3RdJiYodGhpcy5oYW5kbGVyc1t0XT1udWxsKX1jbGVhcigpe3RoaXMuaGFuZGxlcnMmJih0aGlzLmhhbmRsZXJzPVtdKX1mb3JFYWNoKHQpe0EuZm9yRWFjaCh0aGlzLmhhbmRsZXJzLGZ1bmN0aW9uKHIpe3IhPT1udWxsJiZ0KHIpfSl9fWNvbnN0IGNsPXtzaWxlbnRKU09OUGFyc2luZzohMCxmb3JjZWRKU09OUGFyc2luZzohMCxjbGFyaWZ5VGltZW91dEVycm9yOiExfSxkZz10eXBlb2YgVVJMU2VhcmNoUGFyYW1zPCJ1Ij9VUkxTZWFyY2hQYXJhbXM6SGkscGc9dHlwZW9mIEZvcm1EYXRhPCJ1Ij9Gb3JtRGF0YTpudWxsLGdnPXR5cGVvZiBCbG9iPCJ1Ij9CbG9iOm51bGwsbWc9e2lzQnJvd3NlcjohMCxjbGFzc2VzOntVUkxTZWFyY2hQYXJhbXM6ZGcsRm9ybURhdGE6cGcsQmxvYjpnZ30scHJvdG9jb2xzOlsiaHR0cCIsImh0dHBzIiwiZmlsZSIsImJsb2IiLCJ1cmwiLCJkYXRhIl19LEJpPXR5cGVvZiB3aW5kb3c8InUiJiZ0eXBlb2YgZG9jdW1lbnQ8InUiLGRpPXR5cGVvZiBuYXZpZ2F0b3I9PSJvYmplY3QiJiZuYXZpZ2F0b3J8fHZvaWQgMCxiZz1CaSYmKCFkaXx8WyJSZWFjdE5hdGl2ZSIsIk5hdGl2ZVNjcmlwdCIsIk5TIl0uaW5kZXhPZihkaS5wcm9kdWN0KTwwKSx2Zz10eXBlb2YgV29ya2VyR2xvYmFsU2NvcGU8InUiJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUmJnR5cGVvZiBzZWxmLmltcG9ydFNjcmlwdHM9PSJmdW5jdGlvbiIseWc9QmkmJndpbmRvdy5sb2NhdGlvbi5ocmVmfHwiaHR0cDovL2xvY2FsaG9zdCIsd2c9T2JqZWN0LmZyZWV6ZShPYmplY3QuZGVmaW5lUHJvcGVydHkoe19fcHJvdG9fXzpudWxsLGhhc0Jyb3dzZXJFbnY6QmksaGFzU3RhbmRhcmRCcm93c2VyRW52OmJnLGhhc1N0YW5kYXJkQnJvd3NlcldlYldvcmtlckVudjp2ZyxuYXZpZ2F0b3I6ZGksb3JpZ2luOnlnfSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSkpLFdlPXsuLi53ZywuLi5tZ307ZnVuY3Rpb24gX2coZSx0KXtyZXR1cm4gbHMoZSxuZXcgV2UuY2xhc3Nlcy5VUkxTZWFyY2hQYXJhbXMsT2JqZWN0LmFzc2lnbih7dmlzaXRvcjpmdW5jdGlvbihuLHIscyxpKXtyZXR1cm4gV2UuaXNOb2RlJiZBLmlzQnVmZmVyKG4pPyh0aGlzLmFwcGVuZChyLG4udG9TdHJpbmcoImJhc2U2NCIpKSwhMSk6aS5kZWZhdWx0VmlzaXRvci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSx0KSl9ZnVuY3Rpb24geGcoZSl7cmV0dXJuIEEubWF0Y2hBbGwoL1x3K3xcWyhcdyopXS9nLGUpLm1hcCh0PT50WzBdPT09IltdIj8iIjp0WzFdfHx0WzBdKX1mdW5jdGlvbiBDZyhlKXtjb25zdCB0PXt9LG49T2JqZWN0LmtleXMoZSk7bGV0IHI7Y29uc3Qgcz1uLmxlbmd0aDtsZXQgaTtmb3Iocj0wO3I8cztyKyspaT1uW3JdLHRbaV09ZVtpXTtyZXR1cm4gdH1mdW5jdGlvbiBsbChlKXtmdW5jdGlvbiB0KG4scixzLGkpe2xldCBhPW5baSsrXTtpZihhPT09Il9fcHJvdG9fXyIpcmV0dXJuITA7Y29uc3QgdT1OdW1iZXIuaXNGaW5pdGUoK2EpLGY9aT49bi5sZW5ndGg7cmV0dXJuIGE9IWEmJkEuaXNBcnJheShzKT9zLmxlbmd0aDphLGY/KEEuaGFzT3duUHJvcChzLGEpP3NbYV09W3NbYV0scl06c1thXT1yLCF1KTooKCFzW2FdfHwhQS5pc09iamVjdChzW2FdKSkmJihzW2FdPVtdKSx0KG4scixzW2FdLGkpJiZBLmlzQXJyYXkoc1thXSkmJihzW2FdPUNnKHNbYV0pKSwhdSl9aWYoQS5pc0Zvcm1EYXRhKGUpJiZBLmlzRnVuY3Rpb24oZS5lbnRyaWVzKSl7Y29uc3Qgbj17fTtyZXR1cm4gQS5mb3JFYWNoRW50cnkoZSwocixzKT0+e3QoeGcocikscyxuLDApfSksbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTZyhlLHQsbil7aWYoQS5pc1N0cmluZyhlKSl0cnl7cmV0dXJuKHR8fEpTT04ucGFyc2UpKGUpLEEudHJpbShlKX1jYXRjaChyKXtpZihyLm5hbWUhPT0iU3ludGF4RXJyb3IiKXRocm93IHJ9cmV0dXJuKG58fEpTT04uc3RyaW5naWZ5KShlKX1jb25zdCBscj17dHJhbnNpdGlvbmFsOmNsLGFkYXB0ZXI6WyJ4aHIiLCJodHRwIiwiZmV0Y2giXSx0cmFuc2Zvcm1SZXF1ZXN0OltmdW5jdGlvbih0LG4pe2NvbnN0IHI9bi5nZXRDb250ZW50VHlwZSgpfHwiIixzPXIuaW5kZXhPZigiYXBwbGljYXRpb24vanNvbiIpPi0xLGk9QS5pc09iamVjdCh0KTtpZihpJiZBLmlzSFRNTEZvcm0odCkmJih0PW5ldyBGb3JtRGF0YSh0KSksQS5pc0Zvcm1EYXRhKHQpKXJldHVybiBzP0pTT04uc3RyaW5naWZ5KGxsKHQpKTp0O2lmKEEuaXNBcnJheUJ1ZmZlcih0KXx8QS5pc0J1ZmZlcih0KXx8QS5pc1N0cmVhbSh0KXx8QS5pc0ZpbGUodCl8fEEuaXNCbG9iKHQpfHxBLmlzUmVhZGFibGVTdHJlYW0odCkpcmV0dXJuIHQ7aWYoQS5pc0FycmF5QnVmZmVyVmlldyh0KSlyZXR1cm4gdC5idWZmZXI7aWYoQS5pc1VSTFNlYXJjaFBhcmFtcyh0KSlyZXR1cm4gbi5zZXRDb250ZW50VHlwZSgiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiLCExKSx0LnRvU3RyaW5nKCk7bGV0IHU7aWYoaSl7aWYoci5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKT4tMSlyZXR1cm4gX2codCx0aGlzLmZvcm1TZXJpYWxpemVyKS50b1N0cmluZygpO2lmKCh1PUEuaXNGaWxlTGlzdCh0KSl8fHIuaW5kZXhPZigibXVsdGlwYXJ0L2Zvcm0tZGF0YSIpPi0xKXtjb25zdCBmPXRoaXMuZW52JiZ0aGlzLmVudi5Gb3JtRGF0YTtyZXR1cm4gbHModT97ImZpbGVzW10iOnR9OnQsZiYmbmV3IGYsdGhpcy5mb3JtU2VyaWFsaXplcil9fXJldHVybiBpfHxzPyhuLnNldENvbnRlbnRUeXBlKCJhcHBsaWNhdGlvbi9qc29uIiwhMSksU2codCkpOnR9XSx0cmFuc2Zvcm1SZXNwb25zZTpbZnVuY3Rpb24odCl7Y29uc3Qgbj10aGlzLnRyYW5zaXRpb25hbHx8bHIudHJhbnNpdGlvbmFsLHI9biYmbi5mb3JjZWRKU09OUGFyc2luZyxzPXRoaXMucmVzcG9uc2VUeXBlPT09Impzb24iO2lmKEEuaXNSZXNwb25zZSh0KXx8QS5pc1JlYWRhYmxlU3RyZWFtKHQpKXJldHVybiB0O2lmKHQmJkEuaXNTdHJpbmcodCkmJihyJiYhdGhpcy5yZXNwb25zZVR5cGV8fHMpKXtjb25zdCBhPSEobiYmbi5zaWxlbnRKU09OUGFyc2luZykmJnM7dHJ5e3JldHVybiBKU09OLnBhcnNlKHQpfWNhdGNoKHUpe2lmKGEpdGhyb3cgdS5uYW1lPT09IlN5bnRheEVycm9yIj9hZS5mcm9tKHUsYWUuRVJSX0JBRF9SRVNQT05TRSx0aGlzLG51bGwsdGhpcy5yZXNwb25zZSk6dX19cmV0dXJuIHR9XSx0aW1lb3V0OjAseHNyZkNvb2tpZU5hbWU6IlhTUkYtVE9LRU4iLHhzcmZIZWFkZXJOYW1lOiJYLVhTUkYtVE9LRU4iLG1heENvbnRlbnRMZW5ndGg6LTEsbWF4Qm9keUxlbmd0aDotMSxlbnY6e0Zvcm1EYXRhOldlLmNsYXNzZXMuRm9ybURhdGEsQmxvYjpXZS5jbGFzc2VzLkJsb2J9LHZhbGlkYXRlU3RhdHVzOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0yMDAmJnQ8MzAwfSxoZWFkZXJzOntjb21tb246e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qIiwiQ29udGVudC1UeXBlIjp2b2lkIDB9fX07QS5mb3JFYWNoKFsiZGVsZXRlIiwiZ2V0IiwiaGVhZCIsInBvc3QiLCJwdXQiLCJwYXRjaCJdLGU9Pntsci5oZWFkZXJzW2VdPXt9fSk7Y29uc3QgVGc9QS50b09iamVjdFNldChbImFnZSIsImF1dGhvcml6YXRpb24iLCJjb250ZW50LWxlbmd0aCIsImNvbnRlbnQtdHlwZSIsImV0YWciLCJleHBpcmVzIiwiZnJvbSIsImhvc3QiLCJpZi1tb2RpZmllZC1zaW5jZSIsImlmLXVubW9kaWZpZWQtc2luY2UiLCJsYXN0LW1vZGlmaWVkIiwibG9jYXRpb24iLCJtYXgtZm9yd2FyZHMiLCJwcm94eS1hdXRob3JpemF0aW9uIiwicmVmZXJlciIsInJldHJ5LWFmdGVyIiwidXNlci1hZ2VudCJdKSxFZz1lPT57Y29uc3QgdD17fTtsZXQgbixyLHM7cmV0dXJuIGUmJmUuc3BsaXQoYApgKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3M9YS5pbmRleE9mKCI6Iiksbj1hLnN1YnN0cmluZygwLHMpLnRyaW0oKS50b0xvd2VyQ2FzZSgpLHI9YS5zdWJzdHJpbmcocysxKS50cmltKCksISghbnx8dFtuXSYmVGdbbl0pJiYobj09PSJzZXQtY29va2llIj90W25dP3Rbbl0ucHVzaChyKTp0W25dPVtyXTp0W25dPXRbbl0/dFtuXSsiLCAiK3I6cil9KSx0fSxkYT1TeW1ib2woImludGVybmFscyIpO2Z1bmN0aW9uIEluKGUpe3JldHVybiBlJiZTdHJpbmcoZSkudHJpbSgpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gUnIoZSl7cmV0dXJuIGU9PT0hMXx8ZT09bnVsbD9lOkEuaXNBcnJheShlKT9lLm1hcChScik6U3RyaW5nKGUpfWZ1bmN0aW9uIEFnKGUpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKSxuPS8oW15ccyw7PV0rKVxzKig/Oj1ccyooW14sO10rKSk/L2c7bGV0IHI7Zm9yKDtyPW4uZXhlYyhlKTspdFtyWzFdXT1yWzJdO3JldHVybiB0fWNvbnN0IE9nPWU9Pi9eWy1fYS16QS1aMC05XmB8fiwhIyQlJicqKy5dKyQvLnRlc3QoZS50cmltKCkpO2Z1bmN0aW9uIEhzKGUsdCxuLHIscyl7aWYoQS5pc0Z1bmN0aW9uKHIpKXJldHVybiByLmNhbGwodGhpcyx0LG4pO2lmKHMmJih0PW4pLCEhQS5pc1N0cmluZyh0KSl7aWYoQS5pc1N0cmluZyhyKSlyZXR1cm4gdC5pbmRleE9mKHIpIT09LTE7aWYoQS5pc1JlZ0V4cChyKSlyZXR1cm4gci50ZXN0KHQpfX1mdW5jdGlvbiAkZyhlKXtyZXR1cm4gZS50cmltKCkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8oW2EtelxkXSkoXHcqKS9nLCh0LG4scik9Pm4udG9VcHBlckNhc2UoKStyKX1mdW5jdGlvbiBrZyhlLHQpe2NvbnN0IG49QS50b0NhbWVsQ2FzZSgiICIrdCk7WyJnZXQiLCJzZXQiLCJoYXMiXS5mb3JFYWNoKHI9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyK24se3ZhbHVlOmZ1bmN0aW9uKHMsaSxhKXtyZXR1cm4gdGhpc1tyXS5jYWxsKHRoaXMsdCxzLGksYSl9LGNvbmZpZ3VyYWJsZTohMH0pfSl9bGV0IHJ0PWNsYXNze2NvbnN0cnVjdG9yKHQpe3QmJnRoaXMuc2V0KHQpfXNldCh0LG4scil7Y29uc3Qgcz10aGlzO2Z1bmN0aW9uIGkodSxmLGQpe2NvbnN0IGg9SW4oZik7aWYoIWgpdGhyb3cgbmV3IEVycm9yKCJoZWFkZXIgbmFtZSBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZyIpO2NvbnN0IHA9QS5maW5kS2V5KHMsaCk7KCFwfHxzW3BdPT09dm9pZCAwfHxkPT09ITB8fGQ9PT12b2lkIDAmJnNbcF0hPT0hMSkmJihzW3B8fGZdPVJyKHUpKX1jb25zdCBhPSh1LGYpPT5BLmZvckVhY2godSwoZCxoKT0+aShkLGgsZikpO2lmKEEuaXNQbGFpbk9iamVjdCh0KXx8dCBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3IpYSh0LG4pO2Vsc2UgaWYoQS5pc1N0cmluZyh0KSYmKHQ9dC50cmltKCkpJiYhT2codCkpYShFZyh0KSxuKTtlbHNlIGlmKEEuaXNPYmplY3QodCkmJkEuaXNJdGVyYWJsZSh0KSl7bGV0IHU9e30sZixkO2Zvcihjb25zdCBoIG9mIHQpe2lmKCFBLmlzQXJyYXkoaCkpdGhyb3cgVHlwZUVycm9yKCJPYmplY3QgaXRlcmF0b3IgbXVzdCByZXR1cm4gYSBrZXktdmFsdWUgcGFpciIpO3VbZD1oWzBdXT0oZj11W2RdKT9BLmlzQXJyYXkoZik/Wy4uLmYsaFsxXV06W2YsaFsxXV06aFsxXX1hKHUsbil9ZWxzZSB0IT1udWxsJiZpKG4sdCxyKTtyZXR1cm4gdGhpc31nZXQodCxuKXtpZih0PUluKHQpLHQpe2NvbnN0IHI9QS5maW5kS2V5KHRoaXMsdCk7aWYocil7Y29uc3Qgcz10aGlzW3JdO2lmKCFuKXJldHVybiBzO2lmKG49PT0hMClyZXR1cm4gQWcocyk7aWYoQS5pc0Z1bmN0aW9uKG4pKXJldHVybiBuLmNhbGwodGhpcyxzLHIpO2lmKEEuaXNSZWdFeHAobikpcmV0dXJuIG4uZXhlYyhzKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJwYXJzZXIgbXVzdCBiZSBib29sZWFufHJlZ2V4cHxmdW5jdGlvbiIpfX19aGFzKHQsbil7aWYodD1Jbih0KSx0KXtjb25zdCByPUEuZmluZEtleSh0aGlzLHQpO3JldHVybiEhKHImJnRoaXNbcl0hPT12b2lkIDAmJighbnx8SHModGhpcyx0aGlzW3JdLHIsbikpKX1yZXR1cm4hMX1kZWxldGUodCxuKXtjb25zdCByPXRoaXM7bGV0IHM9ITE7ZnVuY3Rpb24gaShhKXtpZihhPUluKGEpLGEpe2NvbnN0IHU9QS5maW5kS2V5KHIsYSk7dSYmKCFufHxIcyhyLHJbdV0sdSxuKSkmJihkZWxldGUgclt1XSxzPSEwKX19cmV0dXJuIEEuaXNBcnJheSh0KT90LmZvckVhY2goaSk6aSh0KSxzfWNsZWFyKHQpe2NvbnN0IG49T2JqZWN0LmtleXModGhpcyk7bGV0IHI9bi5sZW5ndGgscz0hMTtmb3IoO3ItLTspe2NvbnN0IGk9bltyXTsoIXR8fEhzKHRoaXMsdGhpc1tpXSxpLHQsITApKSYmKGRlbGV0ZSB0aGlzW2ldLHM9ITApfXJldHVybiBzfW5vcm1hbGl6ZSh0KXtjb25zdCBuPXRoaXMscj17fTtyZXR1cm4gQS5mb3JFYWNoKHRoaXMsKHMsaSk9Pntjb25zdCBhPUEuZmluZEtleShyLGkpO2lmKGEpe25bYV09UnIocyksZGVsZXRlIG5baV07cmV0dXJufWNvbnN0IHU9dD8kZyhpKTpTdHJpbmcoaSkudHJpbSgpO3UhPT1pJiZkZWxldGUgbltpXSxuW3VdPVJyKHMpLHJbdV09ITB9KSx0aGlzfWNvbmNhdCguLi50KXtyZXR1cm4gdGhpcy5jb25zdHJ1Y3Rvci5jb25jYXQodGhpcywuLi50KX10b0pTT04odCl7Y29uc3Qgbj1PYmplY3QuY3JlYXRlKG51bGwpO3JldHVybiBBLmZvckVhY2godGhpcywocixzKT0+e3IhPW51bGwmJnIhPT0hMSYmKG5bc109dCYmQS5pc0FycmF5KHIpP3Iuam9pbigiLCAiKTpyKX0pLG59W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy50b0pTT04oKSlbU3ltYm9sLml0ZXJhdG9yXSgpfXRvU3RyaW5nKCl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMudG9KU09OKCkpLm1hcCgoW3Qsbl0pPT50KyI6ICIrbikuam9pbihgCmApfWdldFNldENvb2tpZSgpe3JldHVybiB0aGlzLmdldCgic2V0LWNvb2tpZSIpfHxbXX1nZXRbU3ltYm9sLnRvU3RyaW5nVGFnXSgpe3JldHVybiJBeGlvc0hlYWRlcnMifXN0YXRpYyBmcm9tKHQpe3JldHVybiB0IGluc3RhbmNlb2YgdGhpcz90Om5ldyB0aGlzKHQpfXN0YXRpYyBjb25jYXQodCwuLi5uKXtjb25zdCByPW5ldyB0aGlzKHQpO3JldHVybiBuLmZvckVhY2gocz0+ci5zZXQocykpLHJ9c3RhdGljIGFjY2Vzc29yKHQpe2NvbnN0IHI9KHRoaXNbZGFdPXRoaXNbZGFdPXthY2Nlc3NvcnM6e319KS5hY2Nlc3NvcnMscz10aGlzLnByb3RvdHlwZTtmdW5jdGlvbiBpKGEpe2NvbnN0IHU9SW4oYSk7clt1XXx8KGtnKHMsYSksclt1XT0hMCl9cmV0dXJuIEEuaXNBcnJheSh0KT90LmZvckVhY2goaSk6aSh0KSx0aGlzfX07cnQuYWNjZXNzb3IoWyJDb250ZW50LVR5cGUiLCJDb250ZW50LUxlbmd0aCIsIkFjY2VwdCIsIkFjY2VwdC1FbmNvZGluZyIsIlVzZXItQWdlbnQiLCJBdXRob3JpemF0aW9uIl0pO0EucmVkdWNlRGVzY3JpcHRvcnMocnQucHJvdG90eXBlLCh7dmFsdWU6ZX0sdCk9PntsZXQgbj10WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKTtyZXR1cm57Z2V0OigpPT5lLHNldChyKXt0aGlzW25dPXJ9fX0pO0EuZnJlZXplTWV0aG9kcyhydCk7ZnVuY3Rpb24gQnMoZSx0KXtjb25zdCBuPXRoaXN8fGxyLHI9dHx8bixzPXJ0LmZyb20oci5oZWFkZXJzKTtsZXQgaT1yLmRhdGE7cmV0dXJuIEEuZm9yRWFjaChlLGZ1bmN0aW9uKHUpe2k9dS5jYWxsKG4saSxzLm5vcm1hbGl6ZSgpLHQ/dC5zdGF0dXM6dm9pZCAwKX0pLHMubm9ybWFsaXplKCksaX1mdW5jdGlvbiB1bChlKXtyZXR1cm4hIShlJiZlLl9fQ0FOQ0VMX18pfWZ1bmN0aW9uICRuKGUsdCxuKXthZS5jYWxsKHRoaXMsZT8/ImNhbmNlbGVkIixhZS5FUlJfQ0FOQ0VMRUQsdCxuKSx0aGlzLm5hbWU9IkNhbmNlbGVkRXJyb3IifUEuaW5oZXJpdHMoJG4sYWUse19fQ0FOQ0VMX186ITB9KTtmdW5jdGlvbiBmbChlLHQsbil7Y29uc3Qgcj1uLmNvbmZpZy52YWxpZGF0ZVN0YXR1czshbi5zdGF0dXN8fCFyfHxyKG4uc3RhdHVzKT9lKG4pOnQobmV3IGFlKCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICIrbi5zdGF0dXMsW2FlLkVSUl9CQURfUkVRVUVTVCxhZS5FUlJfQkFEX1JFU1BPTlNFXVtNYXRoLmZsb29yKG4uc3RhdHVzLzEwMCktNF0sbi5jb25maWcsbi5yZXF1ZXN0LG4pKX1mdW5jdGlvbiBSZyhlKXtjb25zdCB0PS9eKFstK1x3XXsxLDI1fSkoOj9cL1wvfDopLy5leGVjKGUpO3JldHVybiB0JiZ0WzFdfHwiIn1mdW5jdGlvbiBQZyhlLHQpe2U9ZXx8MTA7Y29uc3Qgbj1uZXcgQXJyYXkoZSkscj1uZXcgQXJyYXkoZSk7bGV0IHM9MCxpPTAsYTtyZXR1cm4gdD10IT09dm9pZCAwP3Q6MWUzLGZ1bmN0aW9uKGYpe2NvbnN0IGQ9RGF0ZS5ub3coKSxoPXJbaV07YXx8KGE9ZCksbltzXT1mLHJbc109ZDtsZXQgcD1pLHc9MDtmb3IoO3AhPT1zOyl3Kz1uW3ArK10scD1wJWU7aWYocz0ocysxKSVlLHM9PT1pJiYoaT0oaSsxKSVlKSxkLWE8dClyZXR1cm47Y29uc3QgQz1oJiZkLWg7cmV0dXJuIEM/TWF0aC5yb3VuZCh3KjFlMy9DKTp2b2lkIDB9fWZ1bmN0aW9uIExnKGUsdCl7bGV0IG49MCxyPTFlMy90LHMsaTtjb25zdCBhPShkLGg9RGF0ZS5ub3coKSk9PntuPWgscz1udWxsLGkmJihjbGVhclRpbWVvdXQoaSksaT1udWxsKSxlLmFwcGx5KG51bGwsZCl9O3JldHVyblsoLi4uZCk9Pntjb25zdCBoPURhdGUubm93KCkscD1oLW47cD49cj9hKGQsaCk6KHM9ZCxpfHwoaT1zZXRUaW1lb3V0KCgpPT57aT1udWxsLGEocyl9LHItcCkpKX0sKCk9PnMmJmEocyldfWNvbnN0IFZyPShlLHQsbj0zKT0+e2xldCByPTA7Y29uc3Qgcz1QZyg1MCwyNTApO3JldHVybiBMZyhpPT57Y29uc3QgYT1pLmxvYWRlZCx1PWkubGVuZ3RoQ29tcHV0YWJsZT9pLnRvdGFsOnZvaWQgMCxmPWEtcixkPXMoZiksaD1hPD11O3I9YTtjb25zdCBwPXtsb2FkZWQ6YSx0b3RhbDp1LHByb2dyZXNzOnU/YS91OnZvaWQgMCxieXRlczpmLHJhdGU6ZHx8dm9pZCAwLGVzdGltYXRlZDpkJiZ1JiZoPyh1LWEpL2Q6dm9pZCAwLGV2ZW50OmksbGVuZ3RoQ29tcHV0YWJsZTp1IT1udWxsLFt0PyJkb3dubG9hZCI6InVwbG9hZCJdOiEwfTtlKHApfSxuKX0scGE9KGUsdCk9Pntjb25zdCBuPWUhPW51bGw7cmV0dXJuW3I9PnRbMF0oe2xlbmd0aENvbXB1dGFibGU6bix0b3RhbDplLGxvYWRlZDpyfSksdFsxXV19LGdhPWU9PiguLi50KT0+QS5hc2FwKCgpPT5lKC4uLnQpKSxJZz1XZS5oYXNTdGFuZGFyZEJyb3dzZXJFbnY/KChlLHQpPT5uPT4obj1uZXcgVVJMKG4sV2Uub3JpZ2luKSxlLnByb3RvY29sPT09bi5wcm90b2NvbCYmZS5ob3N0PT09bi5ob3N0JiYodHx8ZS5wb3J0PT09bi5wb3J0KSkpKG5ldyBVUkwoV2Uub3JpZ2luKSxXZS5uYXZpZ2F0b3ImJi8obXNpZXx0cmlkZW50KS9pLnRlc3QoV2UubmF2aWdhdG9yLnVzZXJBZ2VudCkpOigpPT4hMCxOZz1XZS5oYXNTdGFuZGFyZEJyb3dzZXJFbnY/e3dyaXRlKGUsdCxuLHIscyxpKXtjb25zdCBhPVtlKyI9IitlbmNvZGVVUklDb21wb25lbnQodCldO0EuaXNOdW1iZXIobikmJmEucHVzaCgiZXhwaXJlcz0iK25ldyBEYXRlKG4pLnRvR01UU3RyaW5nKCkpLEEuaXNTdHJpbmcocikmJmEucHVzaCgicGF0aD0iK3IpLEEuaXNTdHJpbmcocykmJmEucHVzaCgiZG9tYWluPSIrcyksaT09PSEwJiZhLnB1c2goInNlY3VyZSIpLGRvY3VtZW50LmNvb2tpZT1hLmpvaW4oIjsgIil9LHJlYWQoZSl7Y29uc3QgdD1kb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cCgiKF58O1xccyopKCIrZSsiKT0oW147XSopIikpO3JldHVybiB0P2RlY29kZVVSSUNvbXBvbmVudCh0WzNdKTpudWxsfSxyZW1vdmUoZSl7dGhpcy53cml0ZShlLCIiLERhdGUubm93KCktODY0ZTUpfX06e3dyaXRlKCl7fSxyZWFkKCl7cmV0dXJuIG51bGx9LHJlbW92ZSgpe319O2Z1bmN0aW9uIEZnKGUpe3JldHVybi9eKFthLXpdW2EtelxkK1wtLl0qOik/XC9cLy9pLnRlc3QoZSl9ZnVuY3Rpb24gamcoZSx0KXtyZXR1cm4gdD9lLnJlcGxhY2UoL1wvP1wvJC8sIiIpKyIvIit0LnJlcGxhY2UoL15cLysvLCIiKTplfWZ1bmN0aW9uIGhsKGUsdCxuKXtsZXQgcj0hRmcodCk7cmV0dXJuIGUmJihyfHxuPT0hMSk/amcoZSx0KTp0fWNvbnN0IG1hPWU9PmUgaW5zdGFuY2VvZiBydD97Li4uZX06ZTtmdW5jdGlvbiBjbihlLHQpe3Q9dHx8e307Y29uc3Qgbj17fTtmdW5jdGlvbiByKGQsaCxwLHcpe3JldHVybiBBLmlzUGxhaW5PYmplY3QoZCkmJkEuaXNQbGFpbk9iamVjdChoKT9BLm1lcmdlLmNhbGwoe2Nhc2VsZXNzOnd9LGQsaCk6QS5pc1BsYWluT2JqZWN0KGgpP0EubWVyZ2Uoe30saCk6QS5pc0FycmF5KGgpP2guc2xpY2UoKTpofWZ1bmN0aW9uIHMoZCxoLHAsdyl7aWYoQS5pc1VuZGVmaW5lZChoKSl7aWYoIUEuaXNVbmRlZmluZWQoZCkpcmV0dXJuIHIodm9pZCAwLGQscCx3KX1lbHNlIHJldHVybiByKGQsaCxwLHcpfWZ1bmN0aW9uIGkoZCxoKXtpZighQS5pc1VuZGVmaW5lZChoKSlyZXR1cm4gcih2b2lkIDAsaCl9ZnVuY3Rpb24gYShkLGgpe2lmKEEuaXNVbmRlZmluZWQoaCkpe2lmKCFBLmlzVW5kZWZpbmVkKGQpKXJldHVybiByKHZvaWQgMCxkKX1lbHNlIHJldHVybiByKHZvaWQgMCxoKX1mdW5jdGlvbiB1KGQsaCxwKXtpZihwIGluIHQpcmV0dXJuIHIoZCxoKTtpZihwIGluIGUpcmV0dXJuIHIodm9pZCAwLGQpfWNvbnN0IGY9e3VybDppLG1ldGhvZDppLGRhdGE6aSxiYXNlVVJMOmEsdHJhbnNmb3JtUmVxdWVzdDphLHRyYW5zZm9ybVJlc3BvbnNlOmEscGFyYW1zU2VyaWFsaXplcjphLHRpbWVvdXQ6YSx0aW1lb3V0TWVzc2FnZTphLHdpdGhDcmVkZW50aWFsczphLHdpdGhYU1JGVG9rZW46YSxhZGFwdGVyOmEscmVzcG9uc2VUeXBlOmEseHNyZkNvb2tpZU5hbWU6YSx4c3JmSGVhZGVyTmFtZTphLG9uVXBsb2FkUHJvZ3Jlc3M6YSxvbkRvd25sb2FkUHJvZ3Jlc3M6YSxkZWNvbXByZXNzOmEsbWF4Q29udGVudExlbmd0aDphLG1heEJvZHlMZW5ndGg6YSxiZWZvcmVSZWRpcmVjdDphLHRyYW5zcG9ydDphLGh0dHBBZ2VudDphLGh0dHBzQWdlbnQ6YSxjYW5jZWxUb2tlbjphLHNvY2tldFBhdGg6YSxyZXNwb25zZUVuY29kaW5nOmEsdmFsaWRhdGVTdGF0dXM6dSxoZWFkZXJzOihkLGgscCk9PnMobWEoZCksbWEoaCkscCwhMCl9O3JldHVybiBBLmZvckVhY2goT2JqZWN0LmtleXMoT2JqZWN0LmFzc2lnbih7fSxlLHQpKSxmdW5jdGlvbihoKXtjb25zdCBwPWZbaF18fHMsdz1wKGVbaF0sdFtoXSxoKTtBLmlzVW5kZWZpbmVkKHcpJiZwIT09dXx8KG5baF09dyl9KSxufWNvbnN0IGRsPWU9Pntjb25zdCB0PWNuKHt9LGUpO2xldHtkYXRhOm4sd2l0aFhTUkZUb2tlbjpyLHhzcmZIZWFkZXJOYW1lOnMseHNyZkNvb2tpZU5hbWU6aSxoZWFkZXJzOmEsYXV0aDp1fT10O3QuaGVhZGVycz1hPXJ0LmZyb20oYSksdC51cmw9YWwoaGwodC5iYXNlVVJMLHQudXJsLHQuYWxsb3dBYnNvbHV0ZVVybHMpLGUucGFyYW1zLGUucGFyYW1zU2VyaWFsaXplciksdSYmYS5zZXQoIkF1dGhvcml6YXRpb24iLCJCYXNpYyAiK2J0b2EoKHUudXNlcm5hbWV8fCIiKSsiOiIrKHUucGFzc3dvcmQ/dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHUucGFzc3dvcmQpKToiIikpKTtsZXQgZjtpZihBLmlzRm9ybURhdGEobikpe2lmKFdlLmhhc1N0YW5kYXJkQnJvd3NlckVudnx8V2UuaGFzU3RhbmRhcmRCcm93c2VyV2ViV29ya2VyRW52KWEuc2V0Q29udGVudFR5cGUodm9pZCAwKTtlbHNlIGlmKChmPWEuZ2V0Q29udGVudFR5cGUoKSkhPT0hMSl7Y29uc3RbZCwuLi5oXT1mP2Yuc3BsaXQoIjsiKS5tYXAocD0+cC50cmltKCkpLmZpbHRlcihCb29sZWFuKTpbXTthLnNldENvbnRlbnRUeXBlKFtkfHwibXVsdGlwYXJ0L2Zvcm0tZGF0YSIsLi4uaF0uam9pbigiOyAiKSl9fWlmKFdlLmhhc1N0YW5kYXJkQnJvd3NlckVudiYmKHImJkEuaXNGdW5jdGlvbihyKSYmKHI9cih0KSkscnx8ciE9PSExJiZJZyh0LnVybCkpKXtjb25zdCBkPXMmJmkmJk5nLnJlYWQoaSk7ZCYmYS5zZXQocyxkKX1yZXR1cm4gdH0sTWc9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0PCJ1IixEZz1NZyYmZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7Y29uc3Qgcz1kbChlKTtsZXQgaT1zLmRhdGE7Y29uc3QgYT1ydC5mcm9tKHMuaGVhZGVycykubm9ybWFsaXplKCk7bGV0e3Jlc3BvbnNlVHlwZTp1LG9uVXBsb2FkUHJvZ3Jlc3M6ZixvbkRvd25sb2FkUHJvZ3Jlc3M6ZH09cyxoLHAsdyxDLG07ZnVuY3Rpb24gXygpe0MmJkMoKSxtJiZtKCkscy5jYW5jZWxUb2tlbiYmcy5jYW5jZWxUb2tlbi51bnN1YnNjcmliZShoKSxzLnNpZ25hbCYmcy5zaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGgpfWxldCB5PW5ldyBYTUxIdHRwUmVxdWVzdDt5Lm9wZW4ocy5tZXRob2QudG9VcHBlckNhc2UoKSxzLnVybCwhMCkseS50aW1lb3V0PXMudGltZW91dDtmdW5jdGlvbiBTKCl7aWYoIXkpcmV0dXJuO2NvbnN0IE89cnQuZnJvbSgiZ2V0QWxsUmVzcG9uc2VIZWFkZXJzImluIHkmJnkuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpLE49e2RhdGE6IXV8fHU9PT0idGV4dCJ8fHU9PT0ianNvbiI/eS5yZXNwb25zZVRleHQ6eS5yZXNwb25zZSxzdGF0dXM6eS5zdGF0dXMsc3RhdHVzVGV4dDp5LnN0YXR1c1RleHQsaGVhZGVyczpPLGNvbmZpZzplLHJlcXVlc3Q6eX07ZmwoZnVuY3Rpb24oSyl7bihLKSxfKCl9LGZ1bmN0aW9uKEspe3IoSyksXygpfSxOKSx5PW51bGx9Im9ubG9hZGVuZCJpbiB5P3kub25sb2FkZW5kPVM6eS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXsheXx8eS5yZWFkeVN0YXRlIT09NHx8eS5zdGF0dXM9PT0wJiYhKHkucmVzcG9uc2VVUkwmJnkucmVzcG9uc2VVUkwuaW5kZXhPZigiZmlsZToiKT09PTApfHxzZXRUaW1lb3V0KFMpfSx5Lm9uYWJvcnQ9ZnVuY3Rpb24oKXt5JiYocihuZXcgYWUoIlJlcXVlc3QgYWJvcnRlZCIsYWUuRUNPTk5BQk9SVEVELGUseSkpLHk9bnVsbCl9LHkub25lcnJvcj1mdW5jdGlvbigpe3IobmV3IGFlKCJOZXR3b3JrIEVycm9yIixhZS5FUlJfTkVUV09SSyxlLHkpKSx5PW51bGx9LHkub250aW1lb3V0PWZ1bmN0aW9uKCl7bGV0IEU9cy50aW1lb3V0PyJ0aW1lb3V0IG9mICIrcy50aW1lb3V0KyJtcyBleGNlZWRlZCI6InRpbWVvdXQgZXhjZWVkZWQiO2NvbnN0IE49cy50cmFuc2l0aW9uYWx8fGNsO3MudGltZW91dEVycm9yTWVzc2FnZSYmKEU9cy50aW1lb3V0RXJyb3JNZXNzYWdlKSxyKG5ldyBhZShFLE4uY2xhcmlmeVRpbWVvdXRFcnJvcj9hZS5FVElNRURPVVQ6YWUuRUNPTk5BQk9SVEVELGUseSkpLHk9bnVsbH0saT09PXZvaWQgMCYmYS5zZXRDb250ZW50VHlwZShudWxsKSwic2V0UmVxdWVzdEhlYWRlciJpbiB5JiZBLmZvckVhY2goYS50b0pTT04oKSxmdW5jdGlvbihFLE4pe3kuc2V0UmVxdWVzdEhlYWRlcihOLEUpfSksQS5pc1VuZGVmaW5lZChzLndpdGhDcmVkZW50aWFscyl8fCh5LndpdGhDcmVkZW50aWFscz0hIXMud2l0aENyZWRlbnRpYWxzKSx1JiZ1IT09Impzb24iJiYoeS5yZXNwb25zZVR5cGU9cy5yZXNwb25zZVR5cGUpLGQmJihbdyxtXT1WcihkLCEwKSx5LmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIix3KSksZiYmeS51cGxvYWQmJihbcCxDXT1WcihmKSx5LnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIscCkseS51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVuZCIsQykpLChzLmNhbmNlbFRva2VufHxzLnNpZ25hbCkmJihoPU89Pnt5JiYocighT3x8Ty50eXBlP25ldyAkbihudWxsLGUseSk6TykseS5hYm9ydCgpLHk9bnVsbCl9LHMuY2FuY2VsVG9rZW4mJnMuY2FuY2VsVG9rZW4uc3Vic2NyaWJlKGgpLHMuc2lnbmFsJiYocy5zaWduYWwuYWJvcnRlZD9oKCk6cy5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGgpKSk7Y29uc3QgVD1SZyhzLnVybCk7aWYoVCYmV2UucHJvdG9jb2xzLmluZGV4T2YoVCk9PT0tMSl7cihuZXcgYWUoIlVuc3VwcG9ydGVkIHByb3RvY29sICIrVCsiOiIsYWUuRVJSX0JBRF9SRVFVRVNULGUpKTtyZXR1cm59eS5zZW5kKGl8fG51bGwpfSl9LFVnPShlLHQpPT57Y29uc3R7bGVuZ3RoOm59PWU9ZT9lLmZpbHRlcihCb29sZWFuKTpbXTtpZih0fHxuKXtsZXQgcj1uZXcgQWJvcnRDb250cm9sbGVyLHM7Y29uc3QgaT1mdW5jdGlvbihkKXtpZighcyl7cz0hMCx1KCk7Y29uc3QgaD1kIGluc3RhbmNlb2YgRXJyb3I/ZDp0aGlzLnJlYXNvbjtyLmFib3J0KGggaW5zdGFuY2VvZiBhZT9oOm5ldyAkbihoIGluc3RhbmNlb2YgRXJyb3I/aC5tZXNzYWdlOmgpKX19O2xldCBhPXQmJnNldFRpbWVvdXQoKCk9PnthPW51bGwsaShuZXcgYWUoYHRpbWVvdXQgJHt0fSBvZiBtcyBleGNlZWRlZGAsYWUuRVRJTUVET1VUKSl9LHQpO2NvbnN0IHU9KCk9PntlJiYoYSYmY2xlYXJUaW1lb3V0KGEpLGE9bnVsbCxlLmZvckVhY2goZD0+e2QudW5zdWJzY3JpYmU/ZC51bnN1YnNjcmliZShpKTpkLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixpKX0pLGU9bnVsbCl9O2UuZm9yRWFjaChkPT5kLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixpKSk7Y29uc3R7c2lnbmFsOmZ9PXI7cmV0dXJuIGYudW5zdWJzY3JpYmU9KCk9PkEuYXNhcCh1KSxmfX0sSGc9ZnVuY3Rpb24qKGUsdCl7bGV0IG49ZS5ieXRlTGVuZ3RoO2lmKG48dCl7eWllbGQgZTtyZXR1cm59bGV0IHI9MCxzO2Zvcig7cjxuOylzPXIrdCx5aWVsZCBlLnNsaWNlKHIscykscj1zfSxCZz1hc3luYyBmdW5jdGlvbiooZSx0KXtmb3IgYXdhaXQoY29uc3QgbiBvZiB6ZyhlKSl5aWVsZCpIZyhuLHQpfSx6Zz1hc3luYyBmdW5jdGlvbiooZSl7aWYoZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0pe3lpZWxkKmU7cmV0dXJufWNvbnN0IHQ9ZS5nZXRSZWFkZXIoKTt0cnl7Zm9yKDs7KXtjb25zdHtkb25lOm4sdmFsdWU6cn09YXdhaXQgdC5yZWFkKCk7aWYobilicmVhazt5aWVsZCByfX1maW5hbGx5e2F3YWl0IHQuY2FuY2VsKCl9fSxiYT0oZSx0LG4scik9Pntjb25zdCBzPUJnKGUsdCk7bGV0IGk9MCxhLHU9Zj0+e2F8fChhPSEwLHImJnIoZikpfTtyZXR1cm4gbmV3IFJlYWRhYmxlU3RyZWFtKHthc3luYyBwdWxsKGYpe3RyeXtjb25zdHtkb25lOmQsdmFsdWU6aH09YXdhaXQgcy5uZXh0KCk7aWYoZCl7dSgpLGYuY2xvc2UoKTtyZXR1cm59bGV0IHA9aC5ieXRlTGVuZ3RoO2lmKG4pe2xldCB3PWkrPXA7bih3KX1mLmVucXVldWUobmV3IFVpbnQ4QXJyYXkoaCkpfWNhdGNoKGQpe3Rocm93IHUoZCksZH19LGNhbmNlbChmKXtyZXR1cm4gdShmKSxzLnJldHVybigpfX0se2hpZ2hXYXRlck1hcms6Mn0pfSx1cz10eXBlb2YgZmV0Y2g9PSJmdW5jdGlvbiImJnR5cGVvZiBSZXF1ZXN0PT0iZnVuY3Rpb24iJiZ0eXBlb2YgUmVzcG9uc2U9PSJmdW5jdGlvbiIscGw9dXMmJnR5cGVvZiBSZWFkYWJsZVN0cmVhbT09ImZ1bmN0aW9uIixxZz11cyYmKHR5cGVvZiBUZXh0RW5jb2Rlcj09ImZ1bmN0aW9uIj8oZT0+dD0+ZS5lbmNvZGUodCkpKG5ldyBUZXh0RW5jb2Rlcik6YXN5bmMgZT0+bmV3IFVpbnQ4QXJyYXkoYXdhaXQgbmV3IFJlc3BvbnNlKGUpLmFycmF5QnVmZmVyKCkpKSxnbD0oZSwuLi50KT0+e3RyeXtyZXR1cm4hIWUoLi4udCl9Y2F0Y2h7cmV0dXJuITF9fSxWZz1wbCYmZ2woKCk9PntsZXQgZT0hMTtjb25zdCB0PW5ldyBSZXF1ZXN0KFdlLm9yaWdpbix7Ym9keTpuZXcgUmVhZGFibGVTdHJlYW0sbWV0aG9kOiJQT1NUIixnZXQgZHVwbGV4KCl7cmV0dXJuIGU9ITAsImhhbGYifX0pLmhlYWRlcnMuaGFzKCJDb250ZW50LVR5cGUiKTtyZXR1cm4gZSYmIXR9KSx2YT02NCoxMDI0LHBpPXBsJiZnbCgoKT0+QS5pc1JlYWRhYmxlU3RyZWFtKG5ldyBSZXNwb25zZSgiIikuYm9keSkpLFdyPXtzdHJlYW06cGkmJihlPT5lLmJvZHkpfTt1cyYmKGU9PntbInRleHQiLCJhcnJheUJ1ZmZlciIsImJsb2IiLCJmb3JtRGF0YSIsInN0cmVhbSJdLmZvckVhY2godD0+eyFXclt0XSYmKFdyW3RdPUEuaXNGdW5jdGlvbihlW3RdKT9uPT5uW3RdKCk6KG4scik9Pnt0aHJvdyBuZXcgYWUoYFJlc3BvbnNlIHR5cGUgJyR7dH0nIGlzIG5vdCBzdXBwb3J0ZWRgLGFlLkVSUl9OT1RfU1VQUE9SVCxyKX0pfSl9KShuZXcgUmVzcG9uc2UpO2NvbnN0IFdnPWFzeW5jIGU9PntpZihlPT1udWxsKXJldHVybiAwO2lmKEEuaXNCbG9iKGUpKXJldHVybiBlLnNpemU7aWYoQS5pc1NwZWNDb21wbGlhbnRGb3JtKGUpKXJldHVybihhd2FpdCBuZXcgUmVxdWVzdChXZS5vcmlnaW4se21ldGhvZDoiUE9TVCIsYm9keTplfSkuYXJyYXlCdWZmZXIoKSkuYnl0ZUxlbmd0aDtpZihBLmlzQXJyYXlCdWZmZXJWaWV3KGUpfHxBLmlzQXJyYXlCdWZmZXIoZSkpcmV0dXJuIGUuYnl0ZUxlbmd0aDtpZihBLmlzVVJMU2VhcmNoUGFyYW1zKGUpJiYoZT1lKyIiKSxBLmlzU3RyaW5nKGUpKXJldHVybihhd2FpdCBxZyhlKSkuYnl0ZUxlbmd0aH0sS2c9YXN5bmMoZSx0KT0+e2NvbnN0IG49QS50b0Zpbml0ZU51bWJlcihlLmdldENvbnRlbnRMZW5ndGgoKSk7cmV0dXJuIG4/P1dnKHQpfSxKZz11cyYmKGFzeW5jIGU9PntsZXR7dXJsOnQsbWV0aG9kOm4sZGF0YTpyLHNpZ25hbDpzLGNhbmNlbFRva2VuOmksdGltZW91dDphLG9uRG93bmxvYWRQcm9ncmVzczp1LG9uVXBsb2FkUHJvZ3Jlc3M6ZixyZXNwb25zZVR5cGU6ZCxoZWFkZXJzOmgsd2l0aENyZWRlbnRpYWxzOnA9InNhbWUtb3JpZ2luIixmZXRjaE9wdGlvbnM6d309ZGwoZSk7ZD1kPyhkKyIiKS50b0xvd2VyQ2FzZSgpOiJ0ZXh0IjtsZXQgQz1VZyhbcyxpJiZpLnRvQWJvcnRTaWduYWwoKV0sYSksbTtjb25zdCBfPUMmJkMudW5zdWJzY3JpYmUmJigoKT0+e0MudW5zdWJzY3JpYmUoKX0pO2xldCB5O3RyeXtpZihmJiZWZyYmbiE9PSJnZXQiJiZuIT09ImhlYWQiJiYoeT1hd2FpdCBLZyhoLHIpKSE9PTApe2xldCBOPW5ldyBSZXF1ZXN0KHQse21ldGhvZDoiUE9TVCIsYm9keTpyLGR1cGxleDoiaGFsZiJ9KSxxO2lmKEEuaXNGb3JtRGF0YShyKSYmKHE9Ti5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIikpJiZoLnNldENvbnRlbnRUeXBlKHEpLE4uYm9keSl7Y29uc3RbSyxHXT1wYSh5LFZyKGdhKGYpKSk7cj1iYShOLmJvZHksdmEsSyxHKX19QS5pc1N0cmluZyhwKXx8KHA9cD8iaW5jbHVkZSI6Im9taXQiKTtjb25zdCBTPSJjcmVkZW50aWFscyJpbiBSZXF1ZXN0LnByb3RvdHlwZTttPW5ldyBSZXF1ZXN0KHQsey4uLncsc2lnbmFsOkMsbWV0aG9kOm4udG9VcHBlckNhc2UoKSxoZWFkZXJzOmgubm9ybWFsaXplKCkudG9KU09OKCksYm9keTpyLGR1cGxleDoiaGFsZiIsY3JlZGVudGlhbHM6Uz9wOnZvaWQgMH0pO2xldCBUPWF3YWl0IGZldGNoKG0pO2NvbnN0IE89cGkmJihkPT09InN0cmVhbSJ8fGQ9PT0icmVzcG9uc2UiKTtpZihwaSYmKHV8fE8mJl8pKXtjb25zdCBOPXt9O1sic3RhdHVzIiwic3RhdHVzVGV4dCIsImhlYWRlcnMiXS5mb3JFYWNoKFY9PntOW1ZdPVRbVl19KTtjb25zdCBxPUEudG9GaW5pdGVOdW1iZXIoVC5oZWFkZXJzLmdldCgiY29udGVudC1sZW5ndGgiKSksW0ssR109dSYmcGEocSxWcihnYSh1KSwhMCkpfHxbXTtUPW5ldyBSZXNwb25zZShiYShULmJvZHksdmEsSywoKT0+e0cmJkcoKSxfJiZfKCl9KSxOKX1kPWR8fCJ0ZXh0IjtsZXQgRT1hd2FpdCBXcltBLmZpbmRLZXkoV3IsZCl8fCJ0ZXh0Il0oVCxlKTtyZXR1cm4hTyYmXyYmXygpLGF3YWl0IG5ldyBQcm9taXNlKChOLHEpPT57ZmwoTixxLHtkYXRhOkUsaGVhZGVyczpydC5mcm9tKFQuaGVhZGVycyksc3RhdHVzOlQuc3RhdHVzLHN0YXR1c1RleHQ6VC5zdGF0dXNUZXh0LGNvbmZpZzplLHJlcXVlc3Q6bX0pfSl9Y2F0Y2goUyl7dGhyb3cgXyYmXygpLFMmJlMubmFtZT09PSJUeXBlRXJyb3IiJiYvTG9hZCBmYWlsZWR8ZmV0Y2gvaS50ZXN0KFMubWVzc2FnZSk/T2JqZWN0LmFzc2lnbihuZXcgYWUoIk5ldHdvcmsgRXJyb3IiLGFlLkVSUl9ORVRXT1JLLGUsbSkse2NhdXNlOlMuY2F1c2V8fFN9KTphZS5mcm9tKFMsUyYmUy5jb2RlLGUsbSl9fSksZ2k9e2h0dHA6bGcseGhyOkRnLGZldGNoOkpnfTtBLmZvckVhY2goZ2ksKGUsdCk9PntpZihlKXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIm5hbWUiLHt2YWx1ZTp0fSl9Y2F0Y2h7fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJhZGFwdGVyTmFtZSIse3ZhbHVlOnR9KX19KTtjb25zdCB5YT1lPT5gLSAke2V9YCxYZz1lPT5BLmlzRnVuY3Rpb24oZSl8fGU9PT1udWxsfHxlPT09ITEsbWw9e2dldEFkYXB0ZXI6ZT0+e2U9QS5pc0FycmF5KGUpP2U6W2VdO2NvbnN0e2xlbmd0aDp0fT1lO2xldCBuLHI7Y29uc3Qgcz17fTtmb3IobGV0IGk9MDtpPHQ7aSsrKXtuPWVbaV07bGV0IGE7aWYocj1uLCFYZyhuKSYmKHI9Z2lbKGE9U3RyaW5nKG4pKS50b0xvd2VyQ2FzZSgpXSxyPT09dm9pZCAwKSl0aHJvdyBuZXcgYWUoYFVua25vd24gYWRhcHRlciAnJHthfSdgKTtpZihyKWJyZWFrO3NbYXx8IiMiK2ldPXJ9aWYoIXIpe2NvbnN0IGk9T2JqZWN0LmVudHJpZXMocykubWFwKChbdSxmXSk9PmBhZGFwdGVyICR7dX0gYCsoZj09PSExPyJpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBlbnZpcm9ubWVudCI6ImlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGJ1aWxkIikpO2xldCBhPXQ/aS5sZW5ndGg+MT9gc2luY2UgOgpgK2kubWFwKHlhKS5qb2luKGAKYCk6IiAiK3lhKGlbMF0pOiJhcyBubyBhZGFwdGVyIHNwZWNpZmllZCI7dGhyb3cgbmV3IGFlKCJUaGVyZSBpcyBubyBzdWl0YWJsZSBhZGFwdGVyIHRvIGRpc3BhdGNoIHRoZSByZXF1ZXN0ICIrYSwiRVJSX05PVF9TVVBQT1JUIil9cmV0dXJuIHJ9LGFkYXB0ZXJzOmdpfTtmdW5jdGlvbiB6cyhlKXtpZihlLmNhbmNlbFRva2VuJiZlLmNhbmNlbFRva2VuLnRocm93SWZSZXF1ZXN0ZWQoKSxlLnNpZ25hbCYmZS5zaWduYWwuYWJvcnRlZCl0aHJvdyBuZXcgJG4obnVsbCxlKX1mdW5jdGlvbiB3YShlKXtyZXR1cm4genMoZSksZS5oZWFkZXJzPXJ0LmZyb20oZS5oZWFkZXJzKSxlLmRhdGE9QnMuY2FsbChlLGUudHJhbnNmb3JtUmVxdWVzdCksWyJwb3N0IiwicHV0IiwicGF0Y2giXS5pbmRleE9mKGUubWV0aG9kKSE9PS0xJiZlLmhlYWRlcnMuc2V0Q29udGVudFR5cGUoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIsITEpLG1sLmdldEFkYXB0ZXIoZS5hZGFwdGVyfHxsci5hZGFwdGVyKShlKS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiB6cyhlKSxyLmRhdGE9QnMuY2FsbChlLGUudHJhbnNmb3JtUmVzcG9uc2Usciksci5oZWFkZXJzPXJ0LmZyb20oci5oZWFkZXJzKSxyfSxmdW5jdGlvbihyKXtyZXR1cm4gdWwocil8fCh6cyhlKSxyJiZyLnJlc3BvbnNlJiYoci5yZXNwb25zZS5kYXRhPUJzLmNhbGwoZSxlLnRyYW5zZm9ybVJlc3BvbnNlLHIucmVzcG9uc2UpLHIucmVzcG9uc2UuaGVhZGVycz1ydC5mcm9tKHIucmVzcG9uc2UuaGVhZGVycykpKSxQcm9taXNlLnJlamVjdChyKX0pfWNvbnN0IGJsPSIxLjkuMCIsZnM9e307WyJvYmplY3QiLCJib29sZWFuIiwibnVtYmVyIiwiZnVuY3Rpb24iLCJzdHJpbmciLCJzeW1ib2wiXS5mb3JFYWNoKChlLHQpPT57ZnNbZV09ZnVuY3Rpb24ocil7cmV0dXJuIHR5cGVvZiByPT09ZXx8ImEiKyh0PDE/Im4gIjoiICIpK2V9fSk7Y29uc3QgX2E9e307ZnMudHJhbnNpdGlvbmFsPWZ1bmN0aW9uKHQsbixyKXtmdW5jdGlvbiBzKGksYSl7cmV0dXJuIltBeGlvcyB2IitibCsiXSBUcmFuc2l0aW9uYWwgb3B0aW9uICciK2krIiciK2ErKHI/Ii4gIityOiIiKX1yZXR1cm4oaSxhLHUpPT57aWYodD09PSExKXRocm93IG5ldyBhZShzKGEsIiBoYXMgYmVlbiByZW1vdmVkIisobj8iIGluICIrbjoiIikpLGFlLkVSUl9ERVBSRUNBVEVEKTtyZXR1cm4gbiYmIV9hW2FdJiYoX2FbYV09ITAsY29uc29sZS53YXJuKHMoYSwiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgdiIrbisiIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5lYXIgZnV0dXJlIikpKSx0P3QoaSxhLHUpOiEwfX07ZnMuc3BlbGxpbmc9ZnVuY3Rpb24odCl7cmV0dXJuKG4scik9Pihjb25zb2xlLndhcm4oYCR7cn0gaXMgbGlrZWx5IGEgbWlzc3BlbGxpbmcgb2YgJHt0fWApLCEwKX07ZnVuY3Rpb24gR2coZSx0LG4pe2lmKHR5cGVvZiBlIT0ib2JqZWN0Iil0aHJvdyBuZXcgYWUoIm9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QiLGFlLkVSUl9CQURfT1BUSU9OX1ZBTFVFKTtjb25zdCByPU9iamVjdC5rZXlzKGUpO2xldCBzPXIubGVuZ3RoO2Zvcig7cy0tID4wOyl7Y29uc3QgaT1yW3NdLGE9dFtpXTtpZihhKXtjb25zdCB1PWVbaV0sZj11PT09dm9pZCAwfHxhKHUsaSxlKTtpZihmIT09ITApdGhyb3cgbmV3IGFlKCJvcHRpb24gIitpKyIgbXVzdCBiZSAiK2YsYWUuRVJSX0JBRF9PUFRJT05fVkFMVUUpO2NvbnRpbnVlfWlmKG4hPT0hMCl0aHJvdyBuZXcgYWUoIlVua25vd24gb3B0aW9uICIraSxhZS5FUlJfQkFEX09QVElPTil9fWNvbnN0IFByPXthc3NlcnRPcHRpb25zOkdnLHZhbGlkYXRvcnM6ZnN9LGJ0PVByLnZhbGlkYXRvcnM7bGV0IGFuPWNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMuZGVmYXVsdHM9dHx8e30sdGhpcy5pbnRlcmNlcHRvcnM9e3JlcXVlc3Q6bmV3IGhhLHJlc3BvbnNlOm5ldyBoYX19YXN5bmMgcmVxdWVzdCh0LG4pe3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5fcmVxdWVzdCh0LG4pfWNhdGNoKHIpe2lmKHIgaW5zdGFuY2VvZiBFcnJvcil7bGV0IHM9e307RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2U/RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2Uocyk6cz1uZXcgRXJyb3I7Y29uc3QgaT1zLnN0YWNrP3Muc3RhY2sucmVwbGFjZSgvXi4rXG4vLCIiKToiIjt0cnl7ci5zdGFjaz9pJiYhU3RyaW5nKHIuc3RhY2spLmVuZHNXaXRoKGkucmVwbGFjZSgvXi4rXG4uK1xuLywiIikpJiYoci5zdGFjays9YApgK2kpOnIuc3RhY2s9aX1jYXRjaHt9fXRocm93IHJ9fV9yZXF1ZXN0KHQsbil7dHlwZW9mIHQ9PSJzdHJpbmciPyhuPW58fHt9LG4udXJsPXQpOm49dHx8e30sbj1jbih0aGlzLmRlZmF1bHRzLG4pO2NvbnN0e3RyYW5zaXRpb25hbDpyLHBhcmFtc1NlcmlhbGl6ZXI6cyxoZWFkZXJzOml9PW47ciE9PXZvaWQgMCYmUHIuYXNzZXJ0T3B0aW9ucyhyLHtzaWxlbnRKU09OUGFyc2luZzpidC50cmFuc2l0aW9uYWwoYnQuYm9vbGVhbiksZm9yY2VkSlNPTlBhcnNpbmc6YnQudHJhbnNpdGlvbmFsKGJ0LmJvb2xlYW4pLGNsYXJpZnlUaW1lb3V0RXJyb3I6YnQudHJhbnNpdGlvbmFsKGJ0LmJvb2xlYW4pfSwhMSkscyE9bnVsbCYmKEEuaXNGdW5jdGlvbihzKT9uLnBhcmFtc1NlcmlhbGl6ZXI9e3NlcmlhbGl6ZTpzfTpQci5hc3NlcnRPcHRpb25zKHMse2VuY29kZTpidC5mdW5jdGlvbixzZXJpYWxpemU6YnQuZnVuY3Rpb259LCEwKSksbi5hbGxvd0Fic29sdXRlVXJscyE9PXZvaWQgMHx8KHRoaXMuZGVmYXVsdHMuYWxsb3dBYnNvbHV0ZVVybHMhPT12b2lkIDA/bi5hbGxvd0Fic29sdXRlVXJscz10aGlzLmRlZmF1bHRzLmFsbG93QWJzb2x1dGVVcmxzOm4uYWxsb3dBYnNvbHV0ZVVybHM9ITApLFByLmFzc2VydE9wdGlvbnMobix7YmFzZVVybDpidC5zcGVsbGluZygiYmFzZVVSTCIpLHdpdGhYc3JmVG9rZW46YnQuc3BlbGxpbmcoIndpdGhYU1JGVG9rZW4iKX0sITApLG4ubWV0aG9kPShuLm1ldGhvZHx8dGhpcy5kZWZhdWx0cy5tZXRob2R8fCJnZXQiKS50b0xvd2VyQ2FzZSgpO2xldCBhPWkmJkEubWVyZ2UoaS5jb21tb24saVtuLm1ldGhvZF0pO2kmJkEuZm9yRWFjaChbImRlbGV0ZSIsImdldCIsImhlYWQiLCJwb3N0IiwicHV0IiwicGF0Y2giLCJjb21tb24iXSxtPT57ZGVsZXRlIGlbbV19KSxuLmhlYWRlcnM9cnQuY29uY2F0KGEsaSk7Y29uc3QgdT1bXTtsZXQgZj0hMDt0aGlzLmludGVyY2VwdG9ycy5yZXF1ZXN0LmZvckVhY2goZnVuY3Rpb24oXyl7dHlwZW9mIF8ucnVuV2hlbj09ImZ1bmN0aW9uIiYmXy5ydW5XaGVuKG4pPT09ITF8fChmPWYmJl8uc3luY2hyb25vdXMsdS51bnNoaWZ0KF8uZnVsZmlsbGVkLF8ucmVqZWN0ZWQpKX0pO2NvbnN0IGQ9W107dGhpcy5pbnRlcmNlcHRvcnMucmVzcG9uc2UuZm9yRWFjaChmdW5jdGlvbihfKXtkLnB1c2goXy5mdWxmaWxsZWQsXy5yZWplY3RlZCl9KTtsZXQgaCxwPTAsdztpZighZil7Y29uc3QgbT1bd2EuYmluZCh0aGlzKSx2b2lkIDBdO2ZvcihtLnVuc2hpZnQuYXBwbHkobSx1KSxtLnB1c2guYXBwbHkobSxkKSx3PW0ubGVuZ3RoLGg9UHJvbWlzZS5yZXNvbHZlKG4pO3A8dzspaD1oLnRoZW4obVtwKytdLG1bcCsrXSk7cmV0dXJuIGh9dz11Lmxlbmd0aDtsZXQgQz1uO2ZvcihwPTA7cDx3Oyl7Y29uc3QgbT11W3ArK10sXz11W3ArK107dHJ5e0M9bShDKX1jYXRjaCh5KXtfLmNhbGwodGhpcyx5KTticmVha319dHJ5e2g9d2EuY2FsbCh0aGlzLEMpfWNhdGNoKG0pe3JldHVybiBQcm9taXNlLnJlamVjdChtKX1mb3IocD0wLHc9ZC5sZW5ndGg7cDx3OyloPWgudGhlbihkW3ArK10sZFtwKytdKTtyZXR1cm4gaH1nZXRVcmkodCl7dD1jbih0aGlzLmRlZmF1bHRzLHQpO2NvbnN0IG49aGwodC5iYXNlVVJMLHQudXJsLHQuYWxsb3dBYnNvbHV0ZVVybHMpO3JldHVybiBhbChuLHQucGFyYW1zLHQucGFyYW1zU2VyaWFsaXplcil9fTtBLmZvckVhY2goWyJkZWxldGUiLCJnZXQiLCJoZWFkIiwib3B0aW9ucyJdLGZ1bmN0aW9uKHQpe2FuLnByb3RvdHlwZVt0XT1mdW5jdGlvbihuLHIpe3JldHVybiB0aGlzLnJlcXVlc3QoY24ocnx8e30se21ldGhvZDp0LHVybDpuLGRhdGE6KHJ8fHt9KS5kYXRhfSkpfX0pO0EuZm9yRWFjaChbInBvc3QiLCJwdXQiLCJwYXRjaCJdLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4ocil7cmV0dXJuIGZ1bmN0aW9uKGksYSx1KXtyZXR1cm4gdGhpcy5yZXF1ZXN0KGNuKHV8fHt9LHttZXRob2Q6dCxoZWFkZXJzOnI/eyJDb250ZW50LVR5cGUiOiJtdWx0aXBhcnQvZm9ybS1kYXRhIn06e30sdXJsOmksZGF0YTphfSkpfX1hbi5wcm90b3R5cGVbdF09bigpLGFuLnByb3RvdHlwZVt0KyJGb3JtIl09bighMCl9KTtsZXQgUWc9Y2xhc3Mgdmx7Y29uc3RydWN0b3IodCl7aWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLiIpO2xldCBuO3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZShmdW5jdGlvbihpKXtuPWl9KTtjb25zdCByPXRoaXM7dGhpcy5wcm9taXNlLnRoZW4ocz0+e2lmKCFyLl9saXN0ZW5lcnMpcmV0dXJuO2xldCBpPXIuX2xpc3RlbmVycy5sZW5ndGg7Zm9yKDtpLS0gPjA7KXIuX2xpc3RlbmVyc1tpXShzKTtyLl9saXN0ZW5lcnM9bnVsbH0pLHRoaXMucHJvbWlzZS50aGVuPXM9PntsZXQgaTtjb25zdCBhPW5ldyBQcm9taXNlKHU9PntyLnN1YnNjcmliZSh1KSxpPXV9KS50aGVuKHMpO3JldHVybiBhLmNhbmNlbD1mdW5jdGlvbigpe3IudW5zdWJzY3JpYmUoaSl9LGF9LHQoZnVuY3Rpb24oaSxhLHUpe3IucmVhc29ufHwoci5yZWFzb249bmV3ICRuKGksYSx1KSxuKHIucmVhc29uKSl9KX10aHJvd0lmUmVxdWVzdGVkKCl7aWYodGhpcy5yZWFzb24pdGhyb3cgdGhpcy5yZWFzb259c3Vic2NyaWJlKHQpe2lmKHRoaXMucmVhc29uKXt0KHRoaXMucmVhc29uKTtyZXR1cm59dGhpcy5fbGlzdGVuZXJzP3RoaXMuX2xpc3RlbmVycy5wdXNoKHQpOnRoaXMuX2xpc3RlbmVycz1bdF19dW5zdWJzY3JpYmUodCl7aWYoIXRoaXMuX2xpc3RlbmVycylyZXR1cm47Y29uc3Qgbj10aGlzLl9saXN0ZW5lcnMuaW5kZXhPZih0KTtuIT09LTEmJnRoaXMuX2xpc3RlbmVycy5zcGxpY2UobiwxKX10b0Fib3J0U2lnbmFsKCl7Y29uc3QgdD1uZXcgQWJvcnRDb250cm9sbGVyLG49cj0+e3QuYWJvcnQocil9O3JldHVybiB0aGlzLnN1YnNjcmliZShuKSx0LnNpZ25hbC51bnN1YnNjcmliZT0oKT0+dGhpcy51bnN1YnNjcmliZShuKSx0LnNpZ25hbH1zdGF0aWMgc291cmNlKCl7bGV0IHQ7cmV0dXJue3Rva2VuOm5ldyB2bChmdW5jdGlvbihzKXt0PXN9KSxjYW5jZWw6dH19fTtmdW5jdGlvbiBaZyhlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIGUuYXBwbHkobnVsbCxuKX19ZnVuY3Rpb24gWWcoZSl7cmV0dXJuIEEuaXNPYmplY3QoZSkmJmUuaXNBeGlvc0Vycm9yPT09ITB9Y29uc3QgbWk9e0NvbnRpbnVlOjEwMCxTd2l0Y2hpbmdQcm90b2NvbHM6MTAxLFByb2Nlc3Npbmc6MTAyLEVhcmx5SGludHM6MTAzLE9rOjIwMCxDcmVhdGVkOjIwMSxBY2NlcHRlZDoyMDIsTm9uQXV0aG9yaXRhdGl2ZUluZm9ybWF0aW9uOjIwMyxOb0NvbnRlbnQ6MjA0LFJlc2V0Q29udGVudDoyMDUsUGFydGlhbENvbnRlbnQ6MjA2LE11bHRpU3RhdHVzOjIwNyxBbHJlYWR5UmVwb3J0ZWQ6MjA4LEltVXNlZDoyMjYsTXVsdGlwbGVDaG9pY2VzOjMwMCxNb3ZlZFBlcm1hbmVudGx5OjMwMSxGb3VuZDozMDIsU2VlT3RoZXI6MzAzLE5vdE1vZGlmaWVkOjMwNCxVc2VQcm94eTozMDUsVW51c2VkOjMwNixUZW1wb3JhcnlSZWRpcmVjdDozMDcsUGVybWFuZW50UmVkaXJlY3Q6MzA4LEJhZFJlcXVlc3Q6NDAwLFVuYXV0aG9yaXplZDo0MDEsUGF5bWVudFJlcXVpcmVkOjQwMixGb3JiaWRkZW46NDAzLE5vdEZvdW5kOjQwNCxNZXRob2ROb3RBbGxvd2VkOjQwNSxOb3RBY2NlcHRhYmxlOjQwNixQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6NDA3LFJlcXVlc3RUaW1lb3V0OjQwOCxDb25mbGljdDo0MDksR29uZTo0MTAsTGVuZ3RoUmVxdWlyZWQ6NDExLFByZWNvbmRpdGlvbkZhaWxlZDo0MTIsUGF5bG9hZFRvb0xhcmdlOjQxMyxVcmlUb29Mb25nOjQxNCxVbnN1cHBvcnRlZE1lZGlhVHlwZTo0MTUsUmFuZ2VOb3RTYXRpc2ZpYWJsZTo0MTYsRXhwZWN0YXRpb25GYWlsZWQ6NDE3LEltQVRlYXBvdDo0MTgsTWlzZGlyZWN0ZWRSZXF1ZXN0OjQyMSxVbnByb2Nlc3NhYmxlRW50aXR5OjQyMixMb2NrZWQ6NDIzLEZhaWxlZERlcGVuZGVuY3k6NDI0LFRvb0Vhcmx5OjQyNSxVcGdyYWRlUmVxdWlyZWQ6NDI2LFByZWNvbmRpdGlvblJlcXVpcmVkOjQyOCxUb29NYW55UmVxdWVzdHM6NDI5LFJlcXVlc3RIZWFkZXJGaWVsZHNUb29MYXJnZTo0MzEsVW5hdmFpbGFibGVGb3JMZWdhbFJlYXNvbnM6NDUxLEludGVybmFsU2VydmVyRXJyb3I6NTAwLE5vdEltcGxlbWVudGVkOjUwMSxCYWRHYXRld2F5OjUwMixTZXJ2aWNlVW5hdmFpbGFibGU6NTAzLEdhdGV3YXlUaW1lb3V0OjUwNCxIdHRwVmVyc2lvbk5vdFN1cHBvcnRlZDo1MDUsVmFyaWFudEFsc29OZWdvdGlhdGVzOjUwNixJbnN1ZmZpY2llbnRTdG9yYWdlOjUwNyxMb29wRGV0ZWN0ZWQ6NTA4LE5vdEV4dGVuZGVkOjUxMCxOZXR3b3JrQXV0aGVudGljYXRpb25SZXF1aXJlZDo1MTF9O09iamVjdC5lbnRyaWVzKG1pKS5mb3JFYWNoKChbZSx0XSk9PnttaVt0XT1lfSk7ZnVuY3Rpb24geWwoZSl7Y29uc3QgdD1uZXcgYW4oZSksbj1YYyhhbi5wcm90b3R5cGUucmVxdWVzdCx0KTtyZXR1cm4gQS5leHRlbmQobixhbi5wcm90b3R5cGUsdCx7YWxsT3duS2V5czohMH0pLEEuZXh0ZW5kKG4sdCxudWxsLHthbGxPd25LZXlzOiEwfSksbi5jcmVhdGU9ZnVuY3Rpb24ocyl7cmV0dXJuIHlsKGNuKGUscykpfSxufWNvbnN0IGtlPXlsKGxyKTtrZS5BeGlvcz1hbjtrZS5DYW5jZWxlZEVycm9yPSRuO2tlLkNhbmNlbFRva2VuPVFnO2tlLmlzQ2FuY2VsPXVsO2tlLlZFUlNJT049Ymw7a2UudG9Gb3JtRGF0YT1scztrZS5BeGlvc0Vycm9yPWFlO2tlLkNhbmNlbD1rZS5DYW5jZWxlZEVycm9yO2tlLmFsbD1mdW5jdGlvbih0KXtyZXR1cm4gUHJvbWlzZS5hbGwodCl9O2tlLnNwcmVhZD1aZztrZS5pc0F4aW9zRXJyb3I9WWc7a2UubWVyZ2VDb25maWc9Y247a2UuQXhpb3NIZWFkZXJzPXJ0O2tlLmZvcm1Ub0pTT049ZT0+bGwoQS5pc0hUTUxGb3JtKGUpP25ldyBGb3JtRGF0YShlKTplKTtrZS5nZXRBZGFwdGVyPW1sLmdldEFkYXB0ZXI7a2UuSHR0cFN0YXR1c0NvZGU9bWk7a2UuZGVmYXVsdD1rZTtjb25zdHtBeGlvczpBYixBeGlvc0Vycm9yOk9iLENhbmNlbGVkRXJyb3I6JGIsaXNDYW5jZWw6a2IsQ2FuY2VsVG9rZW46UmIsVkVSU0lPTjpQYixhbGw6TGIsQ2FuY2VsOkliLGlzQXhpb3NFcnJvcjpOYixzcHJlYWQ6RmIsdG9Gb3JtRGF0YTpqYixBeGlvc0hlYWRlcnM6TWIsSHR0cFN0YXR1c0NvZGU6RGIsZm9ybVRvSlNPTjpVYixnZXRBZGFwdGVyOkhiLG1lcmdlQ29uZmlnOkJifT1rZSx6aT0oKT0+e2xldCBlPSJRZGlSOHRuWGVaU2JQMlRJWUNaTnh6Smkyb2NLRVJkYyI7e2NvbnN0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2N1cmFjb20tMTc2Mzc4Mzk0OTkiKTtlPW5ldyBVUkwoKHQ9PW51bGw/dm9pZCAwOnQuc3JjKXx8IiIpLnNlYXJjaFBhcmFtcy5nZXQoImlkIil8fCIifXJldHVybiBlfSxlbT0oKT0+bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikuc2VhcmNoUGFyYW1zLmdldCgiY3VyYWNvbSIpLGhzPSgpPT57dmFyIG4scixzO2NvbnN0IGU9e307ZVsiWC1DdXJhY29tLVdpZGdldCJdPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiY3VyYWNvbS0xNzYzNzgzOTQ5OSIpfHwiTm9uZSIsZVsiWC1Tb2NrZXQtSUQiXT0oKHM9KHI9KG49Wm4oKSk9PW51bGw/dm9pZCAwOm4uc29ja2V0SW5zdGFuY2UpPT1udWxsP3ZvaWQgMDpyLnZhbHVlKT09bnVsbD92b2lkIDA6cy5zb2NrZXRJZCgpKXx8IiIsZVsiWC1DVVJBQ09NLVNFU1NJT04iXT1lbSgpfHwiIixlWyJYLUN1cmFjb20tQ29va2llIl09d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKGBjdXJhY29tfCR7emkoKX1gKXx8IiI7Y29uc3QgdD1rZS5jcmVhdGUoe2Jhc2VVUkw6Imh0dHBzOi8vYXBpLmN1cmFjb20uaW8vYXBpL2NoYXQtd2lkZ2V0IixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwiWC1SZXF1ZXN0ZWQtV2l0aCI6IlhNTEh0dHBSZXF1ZXN0IiwuLi5lfSx3aXRoQ3JlZGVudGlhbHM6ITB9KTtyZXR1cm4gdC5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKGk9PmksaT0+UHJvbWlzZS5yZWplY3QoaSkpLHR9LFNyPSIvdjEiLGVyPXtWSVNJVE9SX0lERU5USUZZOlNyKyIvdmlzaXRvci9pZGVudGlmeSIsTE9HX1BBR0VfVklTSVQ6YCR7U3J9L3Zpc2l0b3IvbG9nYCxDSEFUX1NFTkRfTUVTU0FHRTpgJHtTcn0vY2hhdC9zZW5kYCxDSEFUX1RSSUdHRVJfQUdFTlRfTUVTU0FHRTplPT5gJHtTcn0vY2hhdHMvJHtlfS9zZW5kYH0sdHI9QW4oKCk9Pntjb25zdCBlPXBlKHtjdXN0b21lcjpudWxsLGNvdW50cmllczpudWxsLHdlYnNvY2tldF9jb25maWc6bnVsbCx2aXNpdG9yOm51bGx9KTtyZXR1cm57aW5pdGlhdG9yRGF0YTplLC4uLnthc3luYyBpbmlhdGVDaGF0Q29ubmVjdCgpe3ZhciBuO3RyeXtjb25zdHtkYXRhOnIsc3RhdHVzOnN9PWF3YWl0IGhzKCkuZ2V0KGVyLlZJU0lUT1JfSURFTlRJRlkpO3JldHVybiBlLnZhbHVlPXIuZGF0YSx3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oYGN1cmFjb218JHt6aSgpfWAsKChuPXIuZGF0YS52aXNpdG9yKT09bnVsbD92b2lkIDA6bi51aWQpfHwiIikscn1jYXRjaChyKXt0aHJvdyB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oImN1cmFjb20tMTc2Mzc4Mzk0OTkiKSxyfX0sdXBkYXRlQ3VzdG9tZXIobil7ZS52YWx1ZS5jdXN0b21lcj1ufX19fSksdG09QW4oKCk9Pntjb25zdCBlPXBlKCExKTtyZXR1cm57Y3JlYXRpbmdOZXdVc2VyOmUsLi4ue2FzeW5jIGNyZWF0ZU5ld1VzZXIobil7ZS52YWx1ZT0hMDt0cnl7Y29uc3R7ZGF0YTpyfT1hd2FpdCBocygpLnBvc3QoZXIuVklTSVRPUl9JREVOVElGWSxuKTtyZXR1cm4gZS52YWx1ZT0hMSxyfWNhdGNoKHIpe3Rocm93IGUudmFsdWU9ITEscn19fX19KSxubT0oKT0+e2NvbnN0IGU9a2UuY3JlYXRlKHtiYXNlVVJMOnZvaWQgMCxoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwiWC1SZXF1ZXN0ZWQtV2l0aCI6IlhNTEh0dHBSZXF1ZXN0IixBdXRob3JpemF0aW9uOiJCZWFyZXIgdW5kZWZpbmVkIn19KTtyZXR1cm4gZS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKHQ9PnQsdD0+UHJvbWlzZS5yZWplY3QodCkpLGV9LHFpPUFuKCgpPT57Y29uc3QgZT1wZSghMSksdD1wZSghMSksbj1wZShbXSkscj1wZShudWxsKSxzPXBlKFtdKSxpPXthc3luYyBzZW5kTWVzc2FnZShhKXtlLnZhbHVlPSEwO3RyeXtjb25zdCB1PWF3YWl0IGhzKCkucG9zdChlci5DSEFUX1NFTkRfTUVTU0FHRSxhLHtoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoibXVsdGlwYXJ0L2Zvcm0tZGF0YSJ9fSk7cmV0dXJuIGUudmFsdWU9ITEsdX1jYXRjaCh1KXt0aHJvdyBlLnZhbHVlPSExLHV9fSxhc3luYyB0cmlnZ2VyQWdlbnRtZXNzYWdlKGEpe3ZhciB1O3QudmFsdWU9ITA7dHJ5e2NvbnN0e2RhdGE6Zn09YXdhaXQgbm0oKS5wb3N0KGVyLkNIQVRfVFJJR0dFUl9BR0VOVF9NRVNTQUdFKCgodT10cigpLmluaXRpYXRvckRhdGEudmFsdWUuY3VzdG9tZXIpPT1udWxsP3ZvaWQgMDp1LmNoYXRfdWlkKXx8IiIpLGEpO3JldHVybiB0LnZhbHVlPSExLGZ9Y2F0Y2goZil7dGhyb3cgdC52YWx1ZT0hMSxmfX0sYXN5bmMgYXBwZW5kU2luZ2xlVG9RdWV1ZShhKXthd2FpdCBuLnZhbHVlLnB1c2goYSl9LGNsZWFyUXVldWUoKXtuLnZhbHVlPVtdfSxhc3luYyBhcHBlbmRNYW55VG9RdWV1ZShhKXthd2FpdCBuLnZhbHVlLnB1c2goLi4uYSl9LGpvaW5DaGF0KCl7dmFyIGEsdTtyZXR1cm4gci52YWx1ZT09PW51bGwmJihyLnZhbHVlPSgodT1abigpLnNvY2tldEluc3RhbmNlLnZhbHVlKT09bnVsbD92b2lkIDA6dS5qb2luKGBjaGF0LiR7KGE9dHIoKS5pbml0aWF0b3JEYXRhLnZhbHVlLmN1c3RvbWVyKT09bnVsbD92b2lkIDA6YS5jaGF0X3VpZH1gKSl8fG51bGwpLHIudmFsdWV9LGxpc3RlbkZvck5ld01lc3NhZ2UoYSx1KXt2YXIgZixkLGg7KGQ9KGY9ci52YWx1ZSk9PW51bGw/dm9pZCAwOmYuc3RvcExpc3RlbmluZygiTWVzc2FnZVNlbnQiKSk9PW51bGx8fGQubGlzdGVuKCJNZXNzYWdlU2VudCIscD0+e2EocCl9KSwoaD1yLnZhbHVlKT09bnVsbHx8aC5lcnJvcihwPT57dShwKX0pfSxsaXN0ZW5BbmROb3RpZnkoKXt2YXIgYSx1Oyh1PShhPXIudmFsdWUpPT1udWxsP3ZvaWQgMDphLnN0b3BMaXN0ZW5pbmcoIk1lc3NhZ2VTZW50IikpPT1udWxsfHx1Lmxpc3RlbigiTWVzc2FnZVNlbnQiLGY9PntpLmFwcGVuZFRvTm90aWZ5UXVldWUoZil9KX0sYXBwZW5kVG9Ob3RpZnlRdWV1ZShhKXtzLnZhbHVlLmxlbmd0aD09PTUmJnMudmFsdWUuc2hpZnQoKSxzLnZhbHVlLnB1c2goYSl9LGVtcHR5Tm90aWZ5UXVldWUoKXtzLnZhbHVlPVtdfSx3aGlzcGVyS2V5UHJlc3MoKXt2YXIgYTsoYT1yLnZhbHVlKT09bnVsbHx8YS53aGlzcGVyKCJ0eXBpbmciLHtuYW1lOiJDdXN0b21lciJ9KX0sbGlzdGVuRm9yQWdlbnRXaGlzcGVyKGEsdSl7dmFyIGYsZDsoZj1yLnZhbHVlKT09bnVsbHx8Zi5saXN0ZW5Gb3JXaGlzcGVyKCJ0eXBpbmciLGg9PnthKGgpfSksKGQ9ci52YWx1ZSk9PW51bGx8fGQuZXJyb3IoaD0+e3UoaCl9KX19O3JldHVybntzZW5kaW5nTWVzc2FnZTplLHNlbmRpbmdBZ2VudE1lc3NhZ2U6dCxjaGF0UXVldWU6bixub3RpZnlRdWV1ZTpzLGNoYW5uZWxJbnN0YW5jZTpyLC4uLml9fSkscm09WyJ3aWR0aCIsImhlaWdodCJdLG5yPU1lKHtfX25hbWU6Ikljb25DbG9zZSIscHJvcHM6e3NpemU6e319LHNldHVwKGUpe2NvbnN0IHQ9ZTtyZXR1cm4obixyKT0+KFooKSx1ZSgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix3aWR0aDp0LnNpemUsaGVpZ2h0OnQuc2l6ZSx2aWV3Qm94OiIwIDAgMjQgMjQifSxyWzBdfHwoclswXT1baigicGF0aCIse2ZpbGw6ImN1cnJlbnRDb2xvciIsZDoibTEyIDEyLjcwOGwtNS4yNDYgNS4yNDZxLS4xNC4xNC0uMzQ0LjE1dC0uMzY0LS4xNXQtLjE2LS4zNTR0LjE2LS4zNTRMMTEuMjkyIDEyTDYuMDQ2IDYuNzU0cS0uMTQtLjE0LS4xNS0uMzQ0dC4xNS0uMzY0dC4zNTQtLjE2dC4zNTQuMTZMMTIgMTEuMjkybDUuMjQ2LTUuMjQ2cS4xNC0uMTQuMzQ1LS4xNXEuMjAzLS4wMS4zNjMuMTV0LjE2LjM1NHQtLjE2LjM1NEwxMi43MDggMTJsNS4yNDYgNS4yNDZxLjE0LjE0LjE1LjM0NXEuMDEuMjAzLS4xNS4zNjN0LS4zNTQuMTZ0LS4zNTQtLjE2eiJ9LG51bGwsLTEpXSksOCxybSkpfX0pLHNtPXtjbGFzczoiY3VyYTpiZy1bdmFyKC0tY3VyYS1oZWFkZXItYmcpXSBjdXJhOnAtNCBjdXJhOmZsZXggY3VyYTpqdXN0aWZ5LWJldHdlZW4gY3VyYTppdGVtcy1jZW50ZXIgY3VyYTp3LWZ1bGwiLHN0eWxlOnsiLS1jdXJhLWhlYWRlci1iZyI6ImJsYWNrIn19LGltPXtjbGFzczoiY3VyYTpncmlkIGN1cmE6Z3JpZC1jb2xzLTEgY3VyYTpnYXAtNCBjdXJhOnB5LTQgY3VyYTpweC02In0sb209e2NsYXNzOiJjdXJhOnB0LTQifSxhbT1NZSh7X19uYW1lOiJGb3JtIixzZXR1cChlKXtjb25zdHt1bnNldE5ld1VzZXJGb3JtOnQsY2xvc2VDaGF0Om59PWFyKCkse2luaXRpYXRvckRhdGE6cix1cGRhdGVDdXN0b21lcjpzfT10cigpLHtjcmVhdGVOZXdVc2VyOmksY3JlYXRpbmdOZXdVc2VyOmF9PXRtKCkse2NyZWF0ZUluc3RhbmNlOnV9PVpuKCksZj1MdCh7bmFtZToiIixlbWFpbDoiIn0pO0x0KHtmbGFnOiIiLGNvZGU6IiIsbnVtYmVyX2xlbmd0aDowfSk7Y29uc3R7YXBwZW5kTWFueVRvUXVldWU6ZH09cWkoKTtnZSgoKT0+e3ZhciBDO3JldHVybigoQz1yLnZhbHVlKT09bnVsbD92b2lkIDA6Qy5jb3VudHJpZXMpfHxbXX0pO2NvbnN0IGg9Z2UoKCk9Pih7bmFtZTp7cmVxdWlyZWQ6eHIud2l0aE1lc3NhZ2UoIk5hbWUgaXMgcmVxdWlyZWQiLE1zKSxoYXNNdWx0aXBsZU5hbWVzOnhyLndpdGhNZXNzYWdlKCJQbGVhc2UgZW50ZXIgeW91ciBmaXJzdCBuYW1lIGFuZCBsYXN0IG5hbWUiLCgpPT5mLm5hbWUuaW5jbHVkZXMoIiAiKSl9LGVtYWlsOntyZXF1aXJlZDp4ci53aXRoTWVzc2FnZSgiRW1haWwgaXMgcmVxdWlyZWQiLE1zKSxlbWFpbDp4ci53aXRoTWVzc2FnZSgiSW52YWxpZCBlbWFpbCIsTXMpfX0pKSxwPWZwKGgsZiksdz0oKT0+e3AudmFsdWUuJHZhbGlkYXRlKCkscC52YWx1ZS4kZXJyb3J8fGkoZikudGhlbihDPT57ZChDLmRhdGEuY3VzdG9tZXIuaGlzdG9yeXx8W10pLnRoZW4oKCk9PntzKEMuZGF0YS5jdXN0b21lciksdShyLnZhbHVlKSx0KCl9KX0pLmNhdGNoKEM9Pnt9KX07cmV0dXJuKEMsbSk9Pnt2YXIgXyx5LFMsVDtyZXR1cm4gWigpLHVlKCJmb3JtIix7b25TdWJtaXQ6QWQodyxbInByZXZlbnQiXSksY2xhc3M6ImN1cmE6aC1zdmggY3VyYTptZDpoLWF1dG8gY3VyYTptZDptaW4taC1bNTA5cHhdIGN1cmE6dy1zdncgY3VyYTptZDp3LVs0MDBweF0gY3VyYTpiZy13aGl0ZSBjdXJhOmJvcmRlciBjdXJhOmJvcmRlci1bI0VERUZGMl0gY3VyYTpvdmVyZmxvdy1oaWRkZW4gY3VyYTptZDpyb3VuZGVkLVsyMHB4XSJ9LFtqKCJkaXYiLHNtLFttWzVdfHwobVs1XT1qKCJkaXYiLG51bGwsbnVsbCwtMSkpLGooImJ1dHRvbiIse29uQ2xpY2s6bVswXXx8KG1bMF09KC4uLk8pPT5VKG4pJiZVKG4pKC4uLk8pKSxjbGFzczoiY3VyYTp3LVszMnB4XSBjdXJhOmgtWzMycHhdIGN1cmE6dGV4dC13aGl0ZSBjdXJhOmhvdmVyOnRleHQtcmVkLTMwMCBjdXJhOmhvdmVyOmJvcmRlci1yZWQtMzAwIGN1cmE6cm91bmRlZC1mdWxsIGN1cmE6ZmxleCBjdXJhOml0ZW1zLWNlbnRlciBjdXJhOmp1c3RpZnktY2VudGVyIGN1cmE6Ym9yZGVyIGN1cmE6Ym9yZGVyLVsjRURFRkYyXSJ9LFtkZShucix7c2l6ZToyMH0pXSldKSxqKCJkaXYiLGltLFttWzddfHwobVs3XT1qKCJoMSIse2NsYXNzOiJjdXJhOnRleHQtWyM4MDgwODBdIGN1cmE6dGV4dC1bMTFweF0ifSwiIEtpbmRseSBwcm92aWRlIHlvdXIgY29udGFjdCBpbmZvcm1hdGlvbiB0byBjb250aW51ZSAiLC0xKSksZGUoWW8se2xhYmVsOiJFbWFpbCBhZGRyZXNzIixlcnJvcjooKHk9KF89VShwKS5lbWFpbCk9PW51bGw/dm9pZCAwOl8uJGVycm9yc1swXSk9PW51bGw/dm9pZCAwOnkuJG1lc3NhZ2UudG9TdHJpbmcoKSl8fCIifSx7ZGVmYXVsdDp4dCgoKT0+W0dzKGooImlucHV0Iix7cGxhY2Vob2xkZXI6ImV4YW1wbGVAZW1haWwuY29tIiwib25VcGRhdGU6bW9kZWxWYWx1ZSI6bVsxXXx8KG1bMV09Tz0+Zi5lbWFpbD1PKSxvbklucHV0Om1bMl18fChtWzJdPSguLi5PKT0+VShwKS5lbWFpbC4kdG91Y2gmJlUocCkuZW1haWwuJHRvdWNoKC4uLk8pKSx0eXBlOiJlbWFpbCJ9LG51bGwsNTQ0KSxbW2FpLGYuZW1haWxdXSldKSxfOjF9LDgsWyJlcnJvciJdKSxkZShZbyx7ZXJyb3I6KChUPShTPVUocCkubmFtZSk9PW51bGw/dm9pZCAwOlMuJGVycm9yc1swXSk9PW51bGw/dm9pZCAwOlQuJG1lc3NhZ2UudG9TdHJpbmcoKSl8fCIiLGxhYmVsOiJGdWxsIE5hbWUifSx7ZGVmYXVsdDp4dCgoKT0+W0dzKGooImlucHV0Iix7cGxhY2Vob2xkZXI6IkVudGVyIGZ1bGwgbmFtZSIsIm9uVXBkYXRlOm1vZGVsVmFsdWUiOm1bM118fChtWzNdPU89PmYubmFtZT1PKSxvbklucHV0Om1bNF18fChtWzRdPSguLi5PKT0+VShwKS5uYW1lLiR0b3VjaCYmVShwKS5uYW1lLiR0b3VjaCguLi5PKSksdHlwZToidGV4dCJ9LG51bGwsNTQ0KSxbW2FpLGYubmFtZV1dKV0pLF86MX0sOCxbImVycm9yIl0pLGooImRpdiIsb20sW2RlKHpkLHtsb2FkaW5nOlUoYSksYmxvY2s6ITB9LHtkZWZhdWx0Onh0KCgpPT5tWzZdfHwobVs2XT1bSm4oIlN1Ym1pdCIpXSkpLF86MSxfXzpbNl19LDgsWyJsb2FkaW5nIl0pXSksbVs4XXx8KG1bOF09aigicCIse2NsYXNzOiJjdXJhOnRleHQtWyNBQUFBQUFdIGN1cmE6dGV4dC1bMTFweF0gY3VyYTp0ZXh0LWNlbnRlciJ9LFtKbigiIEJ1c2luZXNzIE1lc3NlbmdlciBieSAiKSxqKCJzdHJvbmciLHtjbGFzczoiY3VyYTp0ZXh0LVsjMDAwMDAxXSJ9LCJDdXJhY29tIildLC0xKSldKV0sMzIpfX19KSxjbT1bIndpZHRoIiwiaGVpZ2h0Il0sbG09TWUoe19fbmFtZToiSWNvblNlbmQiLHByb3BzOntzaXplOnt9fSxzZXR1cChlKXtjb25zdCB0PWU7cmV0dXJuKG4scik9PihaKCksdWUoInN2ZyIse3dpZHRoOnQuc2l6ZSxoZWlnaHQ6dC5zaXplLHZpZXdCb3g6IjAgMCAxOCAxNyIsZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sclswXXx8KHJbMF09W2ooInBhdGgiLHtkOiJNMTEuODczMSAyLjIyNTkyTDUuNjA1OTIgNC4zMDgwNUMxLjM5MzA4IDUuNzE2OTYgMS4zOTMwOCA4LjAxNDI0IDUuNjA1OTIgOS40MTYyMUw3LjQ2NTk2IDEwLjAzMzlMOC4wODM2NiAxMS44OTM5QzkuNDg1NjMgMTYuMTA2OCAxMS43ODk5IDE2LjEwNjggMTMuMTkxOCAxMS44OTM5TDE1LjI4MDkgNS42MzM2N0MxNi4yMTA5IDIuODIyOCAxNC42ODQgMS4yODg5NiAxMS44NzMxIDIuMjI1OTJaTTEyLjA5NTIgNS45NTk4N0w5LjQ1Nzg2IDguNjExMTJDOS4zNTM3NiA4LjcxNTIyIDkuMjIxODkgOC43NjM4MSA5LjA5MDAyIDguNzYzODFDOC45NTgxNSA4Ljc2MzgxIDguODI2MjggOC43MTUyMiA4LjcyMjE4IDguNjExMTJDOC41MjA5MSA4LjQwOTg1IDguNTIwOTEgOC4wNzY3MSA4LjcyMjE4IDcuODc1NDNMMTEuMzU5NSA1LjIyNDE5QzExLjU2MDggNS4wMjI5MSAxMS44OTQgNS4wMjI5MSAxMi4wOTUyIDUuMjI0MTlDMTIuMjk2NSA1LjQyNTQ2IDEyLjI5NjUgNS43NTg2IDEyLjA5NTIgNS45NTk4N1oiLGZpbGw6ImN1cnJlbnRDb2xvciJ9LG51bGwsLTEpXSksOCxjbSkpfX0pO3ZhciBkdD0oZT0+KGUuQ1VTVE9NRVI9ImN1c3RvbWVyIixlLkFHRU5UPSJhZ2VudCIsZSkpKGR0fHx7fSksYm49KGU9PihlLlRFWFQ9InRleHQiLGUuVk9JQ0U9InZvaWNlIixlLklNQUdFPSJpbWFnZSIsZS5JTUFHRV9URVhUPSJpbWFnZS10ZXh0IixlLkFUVEFDSE1FTlQ9ImF0dGFjaG1lbnQiLGUpKShibnx8e30pO2NvbnN0IHVtPXtjbGFzczoiY3VyYTpmbGV4IGN1cmE6ZmxleC1jb2wgY3VyYTpnYXAtMSBjdXJhOnctZnVsbCJ9LGZtPVsic3JjIl0saG09WyJzcmMiXSxkbT17Y2xhc3M6ImN1cmE6bXQtMCJ9LHBtPXtrZXk6MCxjbGFzczoiY3VyYTpmbGV4IGN1cmE6Z2FwLTIgY3VyYTppdGVtcy1jZW50ZXIgY3VyYTp3LWZ1bGwifSxnbT17Y2xhc3M6ImN1cmE6Ymctd2hpdGUvNDAgY3VyYTp3LWZ1bGwgY3VyYTpwLTIgY3VyYTpyb3VuZGVkLVs2cHhdIGN1cmE6ZmxleCBjdXJhOmdhcC0yIn0sbW09e2NsYXNzOiJjdXJhOnRleHQtWzExcHhdIGN1cmE6dGV4dC1ib2R5LTE1IGN1cmE6Y2FwaXRhbGl6ZSJ9LGJtPVsiaHJlZiJdLHZtPVsic3JjIl0seW09e2NsYXNzOiJjdXJhOnRleHQteHMgY3VyYTp0ZXh0LWJvZHktMTUgY3VyYTpibG9jayBjdXJhOm10LTIifSx3bT1NZSh7X19uYW1lOiJSZXNwb25zZXMiLHByb3BzOntyZXNwb25kZXI6e2RlZmF1bHQ6bnVsbH19LHNldHVwKGUpe2NvbnN0e2NvbmZpZzp0fT1hcigpLG49ZTtyZXR1cm4ocixzKT0+e3ZhciBpLGEsdSxmLGQsaCxwLHcsQyxtLF8seSxTLFQsTyxFLE4scSxLLEcsVixYO3JldHVybiBaKCksdWUoImxpIix1bSxbaigiZGl2Iix7Y2xhc3M6d3QoWyJjdXJhOmZsZXggY3VyYTp3LWZ1bGwgY3VyYTppdGVtcy1lbmQgY3VyYTpnYXAtMyIseyJjdXJhOiFmbGV4LXJvdy1yZXZlcnNlIjooKGk9bi5yZXNwb25kZXIpPT1udWxsP3ZvaWQgMDppLnNlbmRlcik9PT1VKGR0KS5DVVNUT01FUn1dKX0sWygoYT1uLnJlc3BvbmRlcik9PW51bGw/dm9pZCAwOmEuc2VuZGVyKT09PVUoZHQpLkFHRU5UPyhaKCksdWUoImltZyIse2tleTowLHNyYzooKHU9bi5yZXNwb25kZXIpPT1udWxsP3ZvaWQgMDp1LmF2YXRhcil8fGAke1UodCkuYmFzZVVybH0vaW1nL2F2YXRhci5zdmdgLGNsYXNzOiJjdXJhOnctWzMycHhdIGN1cmE6aC1bMzJweF0gY3VyYTpyb3VuZGVkLWZ1bGwgY3VyYTpzaHJpbmstMCBjdXJhOm9iamVjdC1jb3ZlciBjdXJhOm9iamVjdC1jZW50ZXIiLGFsdDoiIn0sbnVsbCw4LGZtKSk6KFooKSx1ZSgiaW1nIix7a2V5OjEsc3JjOmAke1UodCkuYmFzZVVybH0vaW1nL2F2YXRhci5zdmdgLGNsYXNzOiJjdXJhOnctWzMycHhdIGN1cmE6aC1bMzJweF0gY3VyYTpyb3VuZGVkLWZ1bGwgY3VyYTpzaHJpbmstMCBjdXJhOm9iamVjdC1jb3ZlciBjdXJhOm9iamVjdC1jZW50ZXIiLGFsdDoiIn0sbnVsbCw4LGhtKSksaigiZGl2Iix7Y2xhc3M6d3QoWyJjdXJhOmlubGluZS1mbGV4IGN1cmE6ZmxleC1jb2wgY3VyYTptYXgtdy1bODAlXSIseyJjdXJhOml0ZW1zLWVuZCI6KChmPW4ucmVzcG9uZGVyKT09bnVsbD92b2lkIDA6Zi5zZW5kZXIpPT09VShkdCkuQ1VTVE9NRVIsImN1cmE6aXRlbXMtc3RhcnQiOigoZD1uLnJlc3BvbmRlcik9PW51bGw/dm9pZCAwOmQuc2VuZGVyKT09PVUoZHQpLkFHRU5UfV0pfSxbKChoPW4ucmVzcG9uZGVyKT09bnVsbD92b2lkIDA6aC50eXBlKT09PVUoYm4pLlRFWFR8fCgocD1uLnJlc3BvbmRlcik9PW51bGw/dm9pZCAwOnAudHlwZSk9PT1VKGJuKS5JTUFHRV9URVhUPyhaKCksdWUoImJsb2NrcXVvdGUiLHtrZXk6MCxjbGFzczp3dChbImN1cmE6cC00IGN1cmE6YmctW3ZhcigtLWNsaWVudC1tZXNzYWdlLWNvbG9yKV0gY3VyYTpyb3VuZGVkLVsxMHB4XSBjdXJhOnRleHQtYmxhY2sgY3VyYTp0ZXh0LXNtIGN1cmE6aW5saW5lLWJsb2NrIGN1cmE6dy1hdXRvIix7ImN1cmE6cm91bmRlZC1ici1ub25lIjooKHc9bi5yZXNwb25kZXIpPT1udWxsP3ZvaWQgMDp3LnNlbmRlcik9PT1VKGR0KS5DVVNUT01FUiwiY3VyYTpyb3VuZGVkLWJsLW5vbmUiOigoQz1uLnJlc3BvbmRlcik9PW51bGw/dm9pZCAwOkMuc2VuZGVyKT09PVUoZHQpLkFHRU5UfV0pLHN0eWxlOnpuKHsiLS1jbGllbnQtbWVzc2FnZS1jb2xvciI6KChtPW4ucmVzcG9uZGVyKT09bnVsbD92b2lkIDA6bS5zZW5kZXIpPT09VShkdCkuQ1VTVE9NRVI/IiNGRkVDQ0YiOiIjRURFRkYyIn0pfSxbaigicCIsZG0sdHQoKF89bi5yZXNwb25kZXIpPT1udWxsP3ZvaWQgMDpfLmJvZHkpLDEpXSw2KSk6S2UoIiIsITApLCgoeT1uLnJlc3BvbmRlcik9PW51bGw/dm9pZCAwOnkubWVkaWEpIT09bnVsbD8oWigpLHVlKCJkaXYiLHtrZXk6MSxjbGFzczp3dChbImN1cmE6dy1bMjAwcHhdIGN1cmE6bXQtMiBjdXJhOnAtMiBjdXJhOmJnLVt2YXIoLS1jbGllbnQtbWVzc2FnZS1jb2xvcildIGN1cmE6cm91bmRlZC1bMTBweF0gY3VyYTp0ZXh0LXNtIix7ImN1cmE6cm91bmRlZC1ici1ub25lIjooKFM9bi5yZXNwb25kZXIpPT1udWxsP3ZvaWQgMDpTLnNlbmRlcik9PT1VKGR0KS5DVVNUT01FUiwiY3VyYTpyb3VuZGVkLWJsLW5vbmUiOigoVD1uLnJlc3BvbmRlcik9PW51bGw/dm9pZCAwOlQuc2VuZGVyKT09PVUoZHQpLkFHRU5UfV0pLHN0eWxlOnpuKHsiLS1jbGllbnQtbWVzc2FnZS1jb2xvciI6KChPPW4ucmVzcG9uZGVyKT09bnVsbD92b2lkIDA6Ty5zZW5kZXIpPT09VShkdCkuQ1VTVE9NRVI/IiNGRkVDQ0YiOiIjRURFRkYyIn0pfSxbKChFPW4ucmVzcG9uZGVyKT09bnVsbD92b2lkIDA6RS50eXBlKT09PVUoYm4pLkFUVEFDSE1FTlQ/KFooKSx1ZSgiZGl2IixwbSxbaigiZGl2IixnbSxbaigiZGl2IixudWxsLFtzWzBdfHwoc1swXT1qKCJoNiIse2NsYXNzOiJ0ZXh0LXNtIn0sIlVwbG9hZGVkIGZpbGUiLC0xKSksaigicCIsbW0sdHQoKE49bi5yZXNwb25kZXIpPT1udWxsP3ZvaWQgMDpOLnR5cGUpLDEpXSldKV0pKTpLZSgiIiwhMCksKChxPW4ucmVzcG9uZGVyKT09bnVsbD92b2lkIDA6cS50eXBlKT09PVUoYm4pLklNQUdFX1RFWFR8fCgoSz1uLnJlc3BvbmRlcik9PW51bGw/dm9pZCAwOksudHlwZSk9PT1VKGJuKS5JTUFHRT8oWigpLHVlKCJhIix7a2V5OjEsdGFyZ2V0OiJfYmxhbmsiLGNsYXNzOiJjdXJhOnctZnVsbCBjdXJhOmJsb2NrIixocmVmOihHPW4ucmVzcG9uZGVyKT09bnVsbD92b2lkIDA6Ry5tZWRpYX0sW2ooImltZyIse3NyYzooVj1uLnJlc3BvbmRlcik9PW51bGw/dm9pZCAwOlYubWVkaWEsY2xhc3M6ImN1cmE6dy1mdWxsIGN1cmE6cm91bmRlZC1bNnB4XSIsYWx0OiIifSxudWxsLDgsdm0pXSw4LGJtKSk6S2UoIiIsITApXSw2KSk6S2UoIiIsITApLGooInRpbWUiLHltLHR0KChYPW4ucmVzcG9uZGVyKT09bnVsbD92b2lkIDA6WC50aW1lKSwxKV0sMildLDIpXSl9fX0pLF9tPXtjbGFzczoiY3VyYTpiZy1bdmFyKC0tY2hhdC13aW5kb3ctY29sb3IpXSBjdXJhOnAtNCBjdXJhOmZsZXggY3VyYTppdGVtcy1jZW50ZXIgY3VyYTpqdXN0aWZ5LWJldHdlZW4gY3VyYTp3LWZ1bGwgY3VyYTpnYXAtMyIsc3R5bGU6eyItLWNoYXQtd2luZG93LWNvbG9yIjoiYmxhY2sifX0seG09e2NsYXNzOiJjdXJhOmZsZXggY3VyYTppdGVtcy1jZW50ZXIgY3VyYTpnYXAtMiBjdXJhOnctZnVsbCBjdXJhOm92ZXJmbG93LWhpZGRlbiJ9LENtPVsic3JjIl0sU209e2NsYXNzOiJjdXJhOnctZnVsbCBjdXJhOm92ZXJmbG93LWhpZGRlbiJ9LFRtPXtjbGFzczoiY3VyYTp0ZXh0LXdoaXRlIGN1cmE6Y2FwaXRhbGl6ZSBjdXJhOmZvbnQtbWVkaXVtIGN1cmE6d2hpdGVzcGFjZS1ub3dyYXAgY3VyYTp0ZXh0LWVsbGlwc2lzIGN1cmE6dGV4dC1zbSBjdXJhOm1kOnRleHQtYmFzZSBjdXJhOnctZnVsbCBjdXJhOm92ZXJmbG93LWhpZGRlbiBjdXJhOm1iLTEifSxFbT17Y2xhc3M6ImN1cmE6dGV4dC14cyBjdXJhOnRleHQtd2hpdGUvNTAgY3VyYTp3aGl0ZXNwYWNlLW5vd3JhcCBjdXJhOnRleHQtZWxsaXBzaXMgY3VyYTp3LWZ1bGwgY3VyYTpvdmVyZmxvdy1oaWRkZW4gY3VyYTptdC0wIn0sQW09e2NsYXNzOiJjdXJhOmZsZXggY3VyYTpnYXAtMiBjdXJhOnNocmluay0wIn0sT209TWUoe19fbmFtZToiSGVhZGVyIixzZXR1cChlKXtjb25zdHtjbG9zZUNoYXQ6dCxjb25maWc6bn09YXIoKSx7aW5pdGlhdG9yRGF0YTpyfT10cigpLHM9Z2UoKCk9Pnt2YXIgaSxhO3JldHVybihhPShpPXIudmFsdWUpPT1udWxsP3ZvaWQgMDppLmN1c3RvbWVyKT09bnVsbD92b2lkIDA6YS5hZ2VudH0pO3JldHVybihpLGEpPT57dmFyIHUsZixkO3JldHVybiBaKCksdWUoInVsIixfbSxbaigibGkiLHhtLFtqKCJpbWciLHtzcmM6KCh1PXMudmFsdWUpPT1udWxsP3ZvaWQgMDp1LmF2YXRhcil8fGAke1UobikuYmFzZVVybH0vaW1nL2F2YXRhci5zdmdgLGNsYXNzOiJjdXJhOnctMTAgY3VyYTpoLTEwIGN1cmE6cm91bmRlZC1mdWxsIGN1cmE6b2JqZWN0LWNvdmVyIGN1cmE6b2JqZWN0LWNlbnRlciIsYWx0OiIifSxudWxsLDgsQ20pLGooImRpdiIsU20sW2ooImgyIixUbSx0dCgoKGY9cy52YWx1ZSk9PW51bGw/dm9pZCAwOmYubmFtZSl8fCJVbmtub3duIEFnZW50IiksMSksaigicCIsRW0sdHQoKChkPXMudmFsdWUpPT1udWxsP3ZvaWQgMDpkLnRpdGxlKXx8IkFnZW50IiksMSldKV0pLGooImxpIixBbSxbaigiYnV0dG9uIix7b25DbGljazphWzBdfHwoYVswXT0oLi4uaCk9PlUodCkmJlUodCkoLi4uaCkpLGNsYXNzOiJjdXJhOmJnLVsjRkI1ODNBXSBjdXJhOnAtMyBjdXJhOnB4LTQgY3VyYTp0ZXh0LXdoaXRlIGN1cmE6dGV4dC14cyBjdXJhOmZsZXggY3VyYTppdGVtcy1jZW50ZXIgY3VyYTpqdXN0aWZ5LWNlbnRlciBjdXJhOnJvdW5kZWQtWzhweF0gY3VyYTp3aGl0ZXNwYWNlLW5vd3JhcCJ9LCIgRW5kIGNoYXQgIildKV0pfX19KSwkbT1bIndpZHRoIiwiaGVpZ2h0Il0sa209TWUoe19fbmFtZToiSWNvbkF0dGFjaENpcmNsZSIscHJvcHM6e3NpemU6e319LHNldHVwKGUpe2NvbnN0IHQ9ZTtyZXR1cm4obixyKT0+KFooKSx1ZSgic3ZnIix7d2lkdGg6dC5zaXplLGhlaWdodDp0LnNpemUsdmlld0JveDoiMCAwIDIxIDIxIixmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcifSxyWzBdfHwoclswXT1baigicGF0aCIse2Q6Ik0xMC43MjUyIDE0Ljc5MzlDMTAuMTY2NSAxNC43OTM5IDkuNTk5ODIgMTQuNTc4NCA5LjE3NjgxIDE0LjE1NTNDOC43NjE3NyAxMy43NDAzIDguNTMwMzEgMTMuMTg5NiA4LjUzMDMxIDEyLjYwNjlDOC41MzAzMSAxMi4wMjQzIDguNzYxNzcgMTEuNDY1NiA5LjE3NjgxIDExLjA1ODVMMTAuMzAyMiA5LjkzMzE0QzEwLjUzMzYgOS43MDE2OCAxMC45MTY3IDkuNzAxNjggMTEuMTQ4MiA5LjkzMzE0QzExLjM3OTcgMTAuMTY0NiAxMS4zNzk3IDEwLjU0NzcgMTEuMTQ4MiAxMC43NzkyTDEwLjAyMjggMTEuOTA0NkM5LjgzMTI5IDEyLjA5NjEgOS43Mjc1MyAxMi4zNDM2IDkuNzI3NTMgMTIuNjA2OUM5LjcyNzUzIDEyLjg3MDMgOS44MzEyOSAxMy4xMjU3IDEwLjAyMjggMTMuMzA5M0MxMC40MTM5IDEzLjcwMDQgMTEuMDQ0NSAxMy43MDA0IDExLjQzNTYgMTMuMzA5M0wxMy4yMDc1IDExLjUzNzRDMTQuMjIxMSAxMC41MjM4IDE0LjIyMTEgOC44Nzk1OCAxMy4yMDc1IDcuODY1OTNDMTIuMTkzOCA2Ljg1MjI4IDEwLjU0OTYgNi44NTIyOCA5LjUzNTk4IDcuODY1OTNMNy42MDQ0MiA5Ljc5NzQ0QzcuMTk3MzcgMTAuMjA0NSA2Ljk3MzkgMTAuNzM5MyA2Ljk3MzkgMTEuMzA2QzYuOTczOSAxMS44NzI2IDcuMTk3MzcgMTIuNDE1NCA3LjYwNDQyIDEyLjgxNDRDNy44MzU4OSAxMy4wNDU5IDcuODM1ODkgMTMuNDI5IDcuNjA0NDIgMTMuNjYwNUM3LjM3Mjk2IDEzLjg5MiA2Ljk4OTg1IDEzLjg5MiA2Ljc1ODM5IDEzLjY2MDVDNi4xMjc4NSAxMy4wMjk5IDUuNzg0NjcgMTIuMTkxOSA1Ljc4NDY3IDExLjI5OEM1Ljc4NDY3IDEwLjQwNCA2LjEyNzg1IDkuNTY1OTkgNi43NTgzOSA4LjkzNTQ1TDguNjg5OTUgNy4wMDM5MkMxMC4xNjY1IDUuNTI3MzQgMTIuNTc2OSA1LjUyNzM0IDE0LjA1MzUgNy4wMDM5MkMxNS41MzAxIDguNDgwNSAxNS41MzAxIDEwLjg5MDkgMTQuMDUzNSAxMi4zNjc1TDEyLjI4MTYgMTQuMTM5NEMxMS44NTA2IDE0LjU3ODQgMTEuMjkxOSAxNC43OTM5IDEwLjcyNTIgMTQuNzkzOVoiLGZpbGw6ImN1cnJlbnRDb2xvciJ9LG51bGwsLTEpLGooInBhdGgiLHtkOiJNMTAuNTY2IDE5LjA4MDFDNS44MzI5MiAxOS4wODAxIDEuOTg1ODQgMTUuMjMzMSAxLjk4NTg0IDEwLjVDMS45ODU4NCA1Ljc2NzAxIDUuODMyOTIgMS45MTk5MiAxMC41NjYgMS45MTk5MkMxNS4yOTkgMS45MTk5MiAxOS4xNDYxIDUuNzY3MDEgMTkuMTQ2MSAxMC41QzE5LjE0NjEgMTUuMjMzMSAxNS4yOTkgMTkuMDgwMSAxMC41NjYgMTkuMDgwMVpNMTAuNTY2IDMuMTE3MTVDNi40OTUzOSAzLjExNzE1IDMuMTgzMDYgNi40Mjk0NyAzLjE4MzA2IDEwLjVDMy4xODMwNiAxNC41NzA2IDYuNDk1MzkgMTcuODgyOSAxMC41NjYgMTcuODgyOUMxNC42MzY1IDE3Ljg4MjkgMTcuOTQ4OCAxNC41NzA2IDE3Ljk0ODggMTAuNUMxNy45NDg4IDYuNDI5NDcgMTQuNjM2NSAzLjExNzE1IDEwLjU2NiAzLjExNzE1WiIsZmlsbDoiY3VycmVudENvbG9yIn0sbnVsbCwtMSldKSw4LCRtKSl9fSksUm09WyJ3aWR0aCIsImhlaWdodCJdLGJpPU1lKHtfX25hbWU6Ikljb25Eb2N1bWVudHMiLHByb3BzOntzaXplOnt9fSxzZXR1cChlKXtjb25zdCB0PWU7cmV0dXJuKG4scik9PihaKCksdWUoInN2ZyIse3dpZHRoOnQuc2l6ZSxoZWlnaHQ6dC5zaXplLHZpZXdCb3g6IjAgMCAxNiAxNyIsZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sclswXXx8KHJbMF09W2ooInBhdGgiLHtkOiJNMTQuNjY1NCA3LjAxMDU4VjEwLjM0MzlDMTQuNjY1NCAxMy42NzcyIDEzLjMzMiAxNS4wMTA2IDkuOTk4NyAxNS4wMTA2SDUuOTk4N0MyLjY2NTM2IDE1LjAxMDYgMS4zMzIwMyAxMy42NzcyIDEuMzMyMDMgMTAuMzQzOVY2LjM0MzkxQzEuMzMyMDMgMy4wMTA1OCAyLjY2NTM2IDEuNjc3MjUgNS45OTg3IDEuNjc3MjVIOS4zMzIwMyIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJzdHJva2Utd2lkdGgiOiIwLjk2Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIn0sbnVsbCwtMSksaigicGF0aCIse2Q6Ik0xNC42NjU0IDcuMDEwNThIMTEuOTk4N0M5Ljk5ODcgNy4wMTA1OCA5LjMzMjAzIDYuMzQzOTEgOS4zMzIwMyA0LjM0MzkxVjEuNjc3MjVMMTQuNjY1NCA3LjAxMDU4WiIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJzdHJva2Utd2lkdGgiOiIwLjk2Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIn0sbnVsbCwtMSksaigicGF0aCIse2Q6Ik00LjY2Nzk3IDkuMDExMjNIOC42Njc5NyIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJzdHJva2Utd2lkdGgiOiIwLjk2Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIn0sbnVsbCwtMSksaigicGF0aCIse2Q6Ik00LjY2Nzk3IDExLjY3NzJINy4zMzQ2NCIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJzdHJva2Utd2lkdGgiOiIwLjk2Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIn0sbnVsbCwtMSldKSw4LFJtKSl9fSksUG09WyJ3aWR0aCIsImhlaWdodCJdLExtPU1lKHtfX25hbWU6Ikljb25QaG90b3MiLHByb3BzOntzaXplOnt9fSxzZXR1cChlKXtjb25zdCB0PWU7cmV0dXJuKG4scik9PihaKCksdWUoInN2ZyIse3dpZHRoOnQuc2l6ZSxoZWlnaHQ6dC5zaXplLHZpZXdCb3g6IjAgMCAxNiAxNyIsZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sclswXXx8KHJbMF09W2ooInBhdGgiLHtkOiJNMTQuODcgMTIuODI1OUMxNC45NTQxIDEyLjU0NjEgMTUgMTIuMjQ4NiAxNSAxMS45NDEyVjUuMDU4ODJDMTUgNC4yNDc1NyAxNC42Nzc3IDMuNDY5NTUgMTQuMTA0MSAyLjg5NTkxQzEzLjUzMDUgMi4zMjIyNyAxMi43NTI0IDIgMTEuOTQxMiAySDUuMDU4ODJDNC4yNDc1NyAyIDMuNDY5NTUgMi4zMjIyNyAyLjg5NTkxIDIuODk1OTFDMi4zMjIyNyAzLjQ2OTU1IDIgNC4yNDc1NyAyIDUuMDU4ODJWMTEuOTk0N0MyLjAxNDA0IDEyLjc5NjYgMi4zNDI0OSAxMy41NjEgMi45MTQ2MiAxNC4xMjMxQzMuNDg2NzQgMTQuNjg1MiA0LjI1Njc2IDE1LjAwMDEgNS4wNTg4MiAxNUgxMS45NDEyTDEyLjAzMDYgMTQuOTk4NU0xNC44NyAxMi44MjU5TDE0LjgwMjcgMTIuNzQ2NEwxMi45MTY5IDEwLjQ3MDZDMTIuNzczOSAxMC4yOTggMTIuNTk0NiAxMC4xNTkgMTIuMzkxOCAxMC4wNjMzQzEyLjE4OSA5Ljk2NzY5IDExLjk2NzYgOS45MTc4MSAxMS43NDM0IDkuOTE3MjNDMTEuNTE5MiA5LjkxNjY0IDExLjI5NzYgOS45NjUzNyAxMS4wOTQzIDEwLjA1OTlDMTAuODkxIDEwLjE1NDUgMTAuNzExIDEwLjI5MjYgMTAuNTY3IDEwLjQ2NDVMOS41NjM3MSAxMS42NjIxTDkuNDAwMDYgMTEuODYxNk0xNC44NyAxMi44MjU5QzE0LjY4NDUgMTMuNDQwMiAxNC4zMTA1IDEzLjk3OTkgMTMuODAwOSAxNC4zNjk5QzEzLjI5MTQgMTQuNzU5OSAxMi42NzIxIDE0Ljk3OTggMTIuMDMwNiAxNC45OTg1TTkuNDAwMDYgMTEuODYxNkwxMS45NTk1IDE0LjkxNzRMMTIuMDMwNiAxNC45OTg1TTkuNDAwMDYgMTEuODYxNkw2LjkzMjM1IDguOTE1MjRDNi43ODg4IDguNzQzOTEgNi42MDk0NSA4LjYwNjE0IDYuNDA2OTEgOC41MTE2QzYuMjA0MzcgOC40MTcwNyA1Ljk4MzU3IDguMzY4MDggNS43NjAwNiA4LjM2ODA4QzUuNTM2NTUgOC4zNjgwOCA1LjMxNTc1IDguNDE3MDcgNS4xMTMyMSA4LjUxMTZDNC45MTA2NyA4LjYwNjE0IDQuNzMxMzEgOC43NDM5MSA0LjU4Nzc2IDguOTE1MjRMMi4xMzYxMiAxMS44NDE4TDIuMDAwNzYgMTEuOTk1NSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJzdHJva2Utd2lkdGgiOiIwLjk2Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIn0sbnVsbCwtMSksaigicGF0aCIse2Q6Ik0xMC44NjM5IDcuMjgzMzhDMTEuNDk3NCA3LjI4MzM4IDEyLjAxMDkgNi43Njk4MiAxMi4wMTA5IDYuMTM2MzJDMTIuMDEwOSA1LjUwMjgxIDExLjQ5NzQgNC45ODkyNiAxMC44NjM5IDQuOTg5MjZDMTAuMjMwNCA0Ljk4OTI2IDkuNzE2OCA1LjUwMjgxIDkuNzE2OCA2LjEzNjMyQzkuNzE2OCA2Ljc2OTgyIDEwLjIzMDQgNy4yODMzOCAxMC44NjM5IDcuMjgzMzhaIixmaWxsOiJjdXJyZW50Q29sb3IifSxudWxsLC0xKV0pLDgsUG0pKX19KSxJbT17a2V5OjAsY2xhc3M6ImN1cmE6YWJzb2x1dGUgY3VyYTp0cmFuc2xhdGUteS1bLTExMCVdIGN1cmE6cm91bmRlZC1bMTJweF0gY3VyYTpsZWZ0LTAgY3VyYTppbmxpbmUtZmxleCBjdXJhOmZsZXgtY29sIGN1cmE6Z2FwLTQgY3VyYTp3LWF1dG8gY3VyYTpiZy13aGl0ZSBjdXJhOnNoYWRvdy0yeGwgY3VyYTpib3JkZXIgY3VyYTpib3JkZXItWyNGM0Y0RjddIGN1cmE6ei1bMTIwMF0gY3VyYTpweS00IGN1cmE6cGwtNCBjdXJhOnByLTUifSxObT17Y2xhc3M6ImN1cmE6ZmxleCBjdXJhOmdhcC0yIGN1cmE6aXRlbXMtY2VudGVyIGN1cmE6dGV4dC1ib2R5LTE1IGN1cmE6Y3Vyc29yLXBvaW50ZXIgY3VyYTpob3Zlcjp0ZXh0LVt2YXIoLS10ZXh0LWNvbG9yKV0iLHN0eWxlOnsiLS10ZXh0LWNvbG9yIjoiIzBDMzhGMCJ9LGZvcjoicGhvdG8tdXBsb2FkIn0sRm09e2NsYXNzOiJjdXJhOmlubGluZS1ibG9jayBjdXJhOnNocmluay0wIn0sam09e2NsYXNzOiJjdXJhOmZsZXggY3VyYTpnYXAtMiBjdXJhOml0ZW1zLWNlbnRlciBjdXJhOnRleHQtYm9keS0xNSBjdXJhOmN1cnNvci1wb2ludGVyIGN1cmE6aG92ZXI6dGV4dC1bdmFyKC0tdGV4dC1jb2xvcildIixzdHlsZTp7Ii0tdGV4dC1jb2xvciI6IiMwQzM4RjAifSxmb3I6ImRvY3VtZW50LXVwbG9hZCJ9LE1tPU1lKHtfX25hbWU6IkZpbGVVcGxvYWRlciIsZW1pdHM6WyJmaWxlU2VsZWN0ZWQiXSxzZXR1cChlLHtleHBvc2U6dCxlbWl0Om59KXtjb25zdCByPXBlKCExKSxzPXBlKG51bGwpLGk9bixhPShoLHApPT57aWYoIXMudmFsdWUpcmV0dXJuITE7Y29uc3Qgdz1zLnZhbHVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBoPHcubGVmdHx8aD53LnJpZ2h0fHxwPHcudG9wfHxwPncuYm90dG9tfSx1PWg9Pnt0cnl7YShoLmNsaWVudFgsaC5jbGllbnRZKSYmci52YWx1ZT09PSEwJiZmKCl9Y2F0Y2h7fX0sZj0oKT0+e3IudmFsdWU9IXIudmFsdWV9LGQ9KGgscD0iZG9jIik9Pnt2YXIgQztjb25zdCB3PShDPWgudGFyZ2V0LmZpbGVzKT09bnVsbD92b2lkIDA6Q1swXTt3JiZpKCJmaWxlU2VsZWN0ZWQiLHtmaWxlOncsdHlwZTpwfSl9O3JldHVybiB0KHtoYW5kbGVPdXRzaWRlQ2xpY2s6dX0pLChoLHApPT4oWigpLHVlKCJkaXYiLHtyZWZfa2V5OiJvcHRpb25TZWxlY3RvciIscmVmOnMsY2xhc3M6ImN1cmE6aW5saW5lLWJsb2NrIGN1cmE6aC1bMjJweF0gY3VyYTpyZWxhdGl2ZSBjdXJhOnctYXV0byBjdXJhOnotNDAifSxbZGUoU24se25hbWU6Inpvb20iLG1vZGU6Im91dC1pbiJ9LHtkZWZhdWx0Onh0KCgpPT5bci52YWx1ZT8oWigpLHVlKCJ1bCIsSW0sW2ooImxpIixudWxsLFtqKCJsYWJlbCIsTm0sW2ooImlucHV0Iix7dHlwZToiZmlsZSIsbmFtZToiIixvbkNoYW5nZTpwWzBdfHwocFswXT13PT5kKHcsImltZyIpKSxhY2NlcHQ6Ii5qcGcsLnBuZywud2F2IixjbGFzczoiY3VyYTpzci1vbmx5IixpZDoicGhvdG8tdXBsb2FkIn0sbnVsbCwzMiksaigiaSIsRm0sW2RlKExtLHtzaXplOjIwLjh9KV0pLHBbMl18fChwWzJdPWooInNwYW4iLHtjbGFzczoiY3VyYTpmb250LW1lZGl1bSBjdXJhOndoaXRlc3BhY2Utbm93cmFwIn0sIlBob3RvcyBhbmQgVmlkZW9zIiwtMSkpXSldKSxqKCJsaSIsbnVsbCxbaigibGFiZWwiLGptLFtqKCJpbnB1dCIse3R5cGU6ImZpbGUiLG5hbWU6IiIsb25DaGFuZ2U6cFsxXXx8KHBbMV09dz0+ZCh3LCJkb2MiKSksYWNjZXB0OiIuanBnLC5wZGYsLnBuZywuY3N2LC53YXYsLmRvY3gsLm1wMyIsY2xhc3M6ImN1cmE6c3Itb25seSIsaWQ6ImRvY3VtZW50LXVwbG9hZCJ9LG51bGwsMzIpLGRlKGJpLHtzaXplOjIwLjh9KSxwWzNdfHwocFszXT1qKCJzcGFuIix7Y2xhc3M6ImN1cmE6Zm9udC1tZWRpdW0ifSwiRG9jdW1lbnQiLC0xKSldKV0pLHBbNF18fChwWzRdPWooImxpIix7Y2xhc3M6ImN1cmE6dGV4dC1yaWdodCBjdXJhOnRleHQteHMgY3VyYTp0ZXh0LWJvZHktMTAgdy1mdWxsIn0sIk1heC4gZmlsZSBzaXplOiA2TUIiLC0xKSldKSk6S2UoIiIsITApXSksXzoxfSksaigiYnV0dG9uIix7b25DbGljazpmLGNsYXNzOiJjdXJhOnRleHQtYm9keS0xNSBjdXJhOmhvdmVyOnRleHQtYmxhY2sgY3VyYTpjdXJzb3ItcG9pbnRlciByZWxhdGl2ZSJ9LFtkZShrbSx7c2l6ZToyMC44fSldKV0sNTEyKSl9fSksRG09e30sVW09e2NsYXNzOiJjdXJhOnB5LTIifTtmdW5jdGlvbiBIbShlLHQpe3JldHVybiBaKCksdWUoImxpIixVbSx0WzBdfHwodFswXT1baigiZGl2Iix7Y2xhc3M6ImN1cmE6aW5saW5lLWZsZXggY3VyYTp3LWF1dG8gY3VyYTpnYXAtMSBjdXJhOnJvdW5kZWQtWzhweF0gY3VyYTpyb3VuZGVkLXRsLW5vbmUgY3VyYTpiZy1bI0Y5RjZGRl0gY3VyYTpwLTIifSxbaigic3BhbiIse2NsYXNzOiJjdXJhOmJsb2NrIGN1cmE6cm91bmRlZC1mdWxsIGN1cmE6YmctWyNFNUU1RkZdIGN1cmE6aC0zIGN1cmE6dy0zIGN1cmEtZmFkZS1hbmltYXRlIixzdHlsZTp7Ii0tYW5pbWF0ZS1kZWxheSI6IjBzIn19KSxqKCJzcGFuIix7Y2xhc3M6ImN1cmE6YmxvY2sgY3VyYTpyb3VuZGVkLWZ1bGwgY3VyYTpiZy1bI0U1RTVGRl0gY3VyYTpoLTMgY3VyYTp3LTMgY3VyYS1mYWRlLWFuaW1hdGUiLHN0eWxlOnsiLS1hbmltYXRlLWRlbGF5IjoiMC4zcyJ9fSksaigic3BhbiIse2NsYXNzOiJjdXJhOmJsb2NrIGN1cmE6cm91bmRlZC1mdWxsIGN1cmE6YmctWyNFNUU1RkZdIGN1cmE6aC0zIGN1cmE6dy0zIGN1cmEtZmFkZS1hbmltYXRlIixzdHlsZTp7Ii0tYW5pbWF0ZS1kZWxheSI6IjAuNnMifX0pXSwtMSldKSl9Y29uc3QgQm09TmMoRG0sW1sicmVuZGVyIixIbV0sWyJfX3Njb3BlSWQiLCJkYXRhLXYtZWYyOTRmYTciXV0pLHptPVsid2lkdGgiLCJoZWlnaHQiXSxxbT1NZSh7X19uYW1lOiJJY29uTWVzc3NhZ2UiLHByb3BzOntzaXplOnt9fSxzZXR1cChlKXtjb25zdCB0PWU7cmV0dXJuKG4scik9PihaKCksdWUoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsd2lkdGg6dC5zaXplLGhlaWdodDp0LnNpemUsdmlld0JveDoiMCAwIDI0IDI0In0sclswXXx8KHJbMF09W2ooInBhdGgiLHtmaWxsOiJjdXJyZW50Q29sb3IiLGQ6Im02IDE4bC0yLjMgMi4zcS0uNDc1LjQ3NS0xLjA4OC4yMTNUMiAxOS41NzVWNHEwLS44MjUuNTg4LTEuNDEyVDQgMmgxNnEuODI1IDAgMS40MTMuNTg4VDIyIDR2MTJxMCAuODI1LS41ODcgMS40MTNUMjAgMTh6bS0uODUtMkgyMFY0SDR2MTMuMTI1ek00IDE2VjR6In0sbnVsbCwtMSldKSw4LHptKSl9fSksVm09e2NsYXNzOiJjdXJhOnJlbGF0aXZlIGN1cmE6ei0zIGN1cmE6Ym9yZGVyIGN1cmE6Ym9yZGVyLVsjQzFDM0QyXSBjdXJhOnJvdW5kZWQtWzguM3B4XSBjdXJhOnAtMyBjdXJhOm1iLTMgY3VyYTpiZy13aGl0ZSBjdXJhOmZsZXggY3VyYTpnYXAtMiBjdXJhOml0ZW1zLWNlbnRlciBjdXJhOm92ZXJmbG93LWhpZGRlbiJ9LFdtPXtjbGFzczoiY3VyYTp0ZXh0LVt2YXIoLS10ZXh0LWNvbG9yKV0iLHN0eWxlOnsiLS10ZXh0LWNvbG9yIjoiIzEwMTBFOCJ9fSxLbT17Y2xhc3M6InctZnVsbCBjdXJhOm92ZXJmbG93LWhpZGRlbiBjdXJhOnRleHQtZWxsaXBzaXMifSxKbT17Y2xhc3M6ImN1cmE6dGV4dC1ibGFjayBjdXJhOmZvbnQtbWVkaXVtIGN1cmE6dGV4dC1bMTFweF0gY3VyYTp3aGl0ZXNwYWNlLW5vd3JhcCBjdXJhOnRleHQtZWxsaXBzaXMifSxYbT17Y2xhc3M6ImN1cmE6dGV4dC1ib2R5LTE1IGN1cmE6dGV4dC1bOXB4XSJ9LEdtPU1lKHtfX25hbWU6IkZpbGVEZXRhaWxzIixwcm9wczp7bWVkaWE6e2RlZmF1bHQ6bnVsbH0sdHlwZTp7ZGVmYXVsdDoiZG9jIn0sbG9hZGluZzp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9fSxzZXR1cChlKXtjb25zdCB0PWUsbj1nZSgoKT0+dC5sb2FkaW5nKSxyPXM9PnM8MTAyND9gJHtzfSBieXRlc2A6czwxMDI0KjEwMjQ/YCR7KHMvMTAyNCkudG9GaXhlZCgyKX0gS0JgOmAkeyhzLygxMDI0KjEwMjQpKS50b0ZpeGVkKDIpfSBNQmA7cmV0dXJuKHMsaSk9Pnt2YXIgYSx1O3JldHVybiBaKCksdWUoImRpdiIsVm0sW2ooImkiLFdtLFt0LnR5cGU9PT0iZG9jIj8oWigpLFFlKGJpLHtrZXk6MCxzaXplOjI4LjV9KSk6KFooKSxRZShiaSx7a2V5OjEsc2l6ZToyOC41fSkpXSksaigiZGl2IixLbSxbaigicCIsSm0sdHQoKGE9dC5tZWRpYSk9PW51bGw/dm9pZCAwOmEubmFtZSksMSksaigicCIsWG0sdHQocigoKHU9dC5tZWRpYSk9PW51bGw/dm9pZCAwOnUuc2l6ZSl8fDApKSwxKV0pLG4udmFsdWU/S2UoIiIsITApOihaKCksdWUoImJ1dHRvbiIse2tleTowLGNsYXNzOiJjdXJhOmZsZXggY3VyYTpzaHJpbmstMCBjdXJhOm1sLWF1dG8gY3VyYTp3LVsyMnB4XSBjdXJhOmgtWzIycHhdIGN1cmE6aXRlbXMtY2VudGVyIGN1cmE6anVzdGlmeS1jZW50ZXIgY3VyYTp0ZXh0LWJvZHktMTUgY3VyYTpob3Zlcjp0ZXh0LVsjMDAwMDAxXSBjdXJhOnJvdW5kZWQtZnVsbCBjdXJhOmJvcmRlciBjdXJhOmJvcmRlci1ib2R5LTE1IGN1cmE6Y3Vyc29yLXBvaW50ZXIiLG9uQ2xpY2s6aVswXXx8KGlbMF09Zj0+cy4kZW1pdCgiY2xvc2VGaWxlRGV0YWlsIikpfSxbZGUobnIse3NpemU6MTZ9KV0pKV0pfX19KSxRbT17Y2xhc3M6ImN1cmE6cmVsYXRpdmUgY3VyYTp6LTMgY3VyYTpib3JkZXIgY3VyYTpib3JkZXItcmVkLTEwMCBjdXJhOnJvdW5kZWQtWzguM3B4XSBjdXJhOnAtMyBjdXJhOm1iLTMgY3VyYTpiZy1yZWQtNTAgY3VyYTpmbGV4IGN1cmE6Z2FwLTIgY3VyYTppdGVtcy1jZW50ZXIgY3VyYTpqdXN0aWZ5LWJldHdlZW4ifSxabT17Y2xhc3M6ImN1cmE6dGV4dC1yZWQtNDAwIGN1cmE6Zm9udC1tZWRpdW0gY3VyYTp0ZXh0LVsxMXB4XSBjdXJhOndoaXRlc3BhY2Utbm93cmFwIGN1cmE6dGV4dC1lbGxpcHNpcyBjdXJhOnctWzcwJV0ifSxZbT1NZSh7X19uYW1lOiJFcnJvckNhcmQiLHByb3BzOnttZXNzYWdlOnt9fSxzZXR1cChlKXtjb25zdCB0PWU7cmV0dXJuKG4scik9PihaKCksdWUoImRpdiIsUW0sW2ooInAiLFptLHR0KHQubWVzc2FnZSksMSksaigiYnV0dG9uIix7Y2xhc3M6ImN1cmE6ZmxleCBjdXJhOm1sLWF1dG8gY3VyYTp3LVsyMnB4XSBjdXJhOmgtWzIycHhdIGN1cmE6aXRlbXMtY2VudGVyIGN1cmE6anVzdGlmeS1jZW50ZXIgY3VyYTp0ZXh0LXJlZC00MDAgY3VyYTpob3Zlcjp0ZXh0LXJlZC02MDAgY3VyYTpyb3VuZGVkLWZ1bGwgY3VyYTpib3JkZXIgY3VyYTpib3JkZXItcmVkLTQwMCBjdXJhOmN1cnNvci1wb2ludGVyIixvbkNsaWNrOnJbMF18fChyWzBdPXM9Pm4uJGVtaXQoImNsb3NlRXJyb3IiKSl9LFtkZShucix7c2l6ZToxNn0pXSldKSl9fSksZWI9e2NsYXNzOiJjdXJhOnAtNCBjdXJhOmJnLXdoaXRlIGN1cmE6Z2FwLTMgY3VyYTp3LWZ1bGwgY3VyYTpoLVs5MSVdIGN1cmE6bWQ6aC1bODguNSVdIGN1cmE6ZmxleCBjdXJhOmZsZXgtY29sIGN1cmE6Z3Jvdy0wIGN1cmE6cmVsYXRpdmUifSx0Yj17Y2xhc3M6ImN1cmE6ZmxleCBjdXJhOmZsZXgtY29sIGN1cmE6dy1mdWxsIGN1cmE6Z2FwLTQgY3VyYTpvdmVyZmxvdy15LWF1dG8gY3VyYTpiZy13aGl0ZS81MCBjdXJhOnBiLTQzIGN1cmE6c2Nyb2xsLXNtb290aCBjdXJhOnByLTMiLGlkOiJtZXNzYWdlQ29udGFpbmVyIn0sbmI9e2NsYXNzOiJjdXJhOmZsZXggY3VyYTp3LWZ1bGwgY3VyYTpmbGV4LWNvbCBjdXJhOmdhcC0zIGN1cmE6c2hyaW5rLTAgbXQtYXV0byBjdXJhOmJnLXdoaXRlIGN1cmE6YWJzb2x1dGUgY3VyYTpib3R0b20tMCBjdXJhOmxlZnQtMCBjdXJhOnJpZ2h0LTAgY3VyYTpwLTQgei0zIn0scmI9e2NsYXNzOiJjdXJhOnJlbGF0aXZlIGN1cmE6cm91bmRlZC1bOC4zcHhdIGN1cmE6cC0zIn0sc2I9e2NsYXNzOiJjdXJhOnctZnVsbCBjdXJhOmZsZXggY3VyYTppdGVtcy1jZW50ZXIgY3VyYTpqdXN0aWZ5LWJldHdlZW4gY3VyYTpncm93IGN1cmE6cmVsYXRpdmUgY3VyYTp6LTgifSxpYj17Y2xhc3M6ImN1cmE6ZmxleCBjdXJhOml0ZW1zLWNlbnRlciBjdXJhOmdhcC0yIn0sb2I9e2NsYXNzOiJjdXJhOnNocmluay0wIGN1cmE6ZmxleCBjdXJhOml0ZW1zLWNlbnRlciBjdXJhOmdhcC0yIn0sYWI9WyJkaXNhYmxlZCJdLGNiPVsiZGlzYWJsZWQiXSxsYj1NZSh7X19uYW1lOiJDb250YWluZXIiLHNldHVwKGUse2V4cG9zZTp0fSl7Y29uc3R7c2VuZE1lc3NhZ2U6bixzZW5kaW5nTWVzc2FnZTpyLGNoYXRRdWV1ZTpzLGFwcGVuZFNpbmdsZVRvUXVldWU6aSxqb2luQ2hhdDphLGxpc3RlbkZvck5ld01lc3NhZ2U6dSx0cmlnZ2VyQWdlbnRtZXNzYWdlOmYsc2VuZGluZ0FnZW50TWVzc2FnZTpkLHdoaXNwZXJLZXlQcmVzczpoLGxpc3RlbkZvckFnZW50V2hpc3BlcjpwfT1xaSgpLHtjb25maWc6d309YXIoKSxDPWdlKCgpPT5zLnZhbHVlfHxbXSksbT1wZShudWxsKSxfPXBlKG51bGwpLHk9THQoe2JvZHk6IiIsbWVkaWE6bnVsbH0pLFM9cGUoITEpLFQ9e2lzQWN0aXZlOnBlKCExKSx0aW1lb3V0OnBlKDApfSxPPXBlKCJpbWciKSxFPXtzdGF0dXM6cGUoITEpLG1lc3NhZ2U6cGUoIiIpLHRpbWVvdXQ6cGUoMCl9LE49Z2UoKCk9PnIudmFsdWV8fHkuYm9keS5sZW5ndGg8PTApLHE9WT0+e0Uuc3RhdHVzLnZhbHVlPSEwLGNsZWFyVGltZW91dChFLnRpbWVvdXQudmFsdWUpLEUubWVzc2FnZS52YWx1ZT1ZLEUudGltZW91dC52YWx1ZT1zZXRUaW1lb3V0KCgpPT57SygpfSw3ZTMpfSxLPSgpPT57Y2xlYXJUaW1lb3V0KEUudGltZW91dC52YWx1ZSksRS5zdGF0dXMudmFsdWU9ITEsRS5tZXNzYWdlLnZhbHVlPSIifSxHPSgpPT57VC5pc0FjdGl2ZS52YWx1ZT0hMCxjbGVhclRpbWVvdXQoVC50aW1lb3V0LnZhbHVlKSxULnRpbWVvdXQudmFsdWU9c2V0VGltZW91dCgoKT0+e1QuaXNBY3RpdmUudmFsdWU9ITF9LDNlMyl9LFY9WT0+e2NvbnN0IGZlPWxlKFkuZmlsZSk7IWZlLnN0YXR1cyYmcShmZS5tZXNzYWdlKSxmZS5zdGF0dXMmJihTLnZhbHVlPSEwLHkubWVkaWE9WS5maWxlLE8udmFsdWU9WS50eXBlKX0sWD0oKT0+e1MudmFsdWU9ITEseS5tZWRpYT1udWxsfSxsZT1ZPT5ZP1kuc2l6ZT53LnZhbHVlLm1heEZpbGVTaXplP3tzdGF0dXM6ITEsbWVzc2FnZToiRmlsZSBzaXplIGlzIHRvbyBsYXJnZSJ9OntzdGF0dXM6ITAsbWVzc2FnZToiIn06e3N0YXR1czohMSxtZXNzYWdlOiJObyBmaWxlIHNlbGVjdGVkIn0sSD0oKT0+e20udmFsdWUmJihtLnZhbHVlLnNjcm9sbFRvcD1tLnZhbHVlLnNjcm9sbFRvcCttLnZhbHVlLnNjcm9sbEhlaWdodCl9LG1lPSgpPT57bS52YWx1ZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjbWVzc2FnZUNvbnRhaW5lciIpfSxPZT0oKT0+e2Yoe2JvZHk6eS5ib2R5fSkudGhlbihZPT57eS5ib2R5PSIifSkuY2F0Y2goKCk9Pnt9KX0sbmU9WT0+e2goKX0saGU9KCk9PntuKHkpLnRoZW4oWT0+e3kuYm9keT0iIixpKFkuZGF0YS5kYXRhKS50aGVuKCgpPT57WCgpLEgoKX0pfSkuY2F0Y2goWT0+e3ZhciByZTtxKCgocmU9WS5yZXNwb25zZSk9PW51bGw/dm9pZCAwOnJlLmRhdGEubWVzc2FnZSl8fCJTb21ldGhpbmcgd2VudCB3cm9uZyIpfSl9LGNlPVk9Pnt2YXIgZmU7KGZlPV8udmFsdWUpPT1udWxsfHxmZS5oYW5kbGVPdXRzaWRlQ2xpY2soWSl9O3JldHVybiBpcigoKT0+e3ZhciBZLGZlLHJlO21lKCksSCgpLChyZT0oZmU9KFk9YSgpKT09bnVsbD92b2lkIDA6WS5oZXJlKFJlPT57fSkpPT1udWxsP3ZvaWQgMDpmZS5qb2luaW5nKFJlPT57fSkpPT1udWxsfHxyZS5sZWF2aW5nKFJlPT57fSkscChSZT0+e0goKSxHKCl9LCgpPT57fSl9KSx0KHtzY3JvbGxUb0JvdHRvbTpIfSksKFksZmUpPT4oWigpLHVlKCJkaXYiLHtjbGFzczoiY3VyYTpoLXN2aCBjdXJhOm1kOm1heC1oLVs3MHZoXSBjdXJhOm1kOmgtWzY0M3B4XSBjdXJhOmZsZXggY3VyYTpmbGV4LWNvbCBjdXJhOnctc3Z3IGN1cmE6bWQ6dy1bNDAwcHhdIGN1cmE6Ymctd2hpdGUgY3VyYTpib3JkZXIgY3VyYTpib3JkZXItWyNFREVGRjJdIGN1cmE6b3ZlcmZsb3ctaGlkZGVuIGN1cmE6bWQ6cm91bmRlZC1bMjBweF0gY3VyYTpyZWxhdGl2ZSIsb25DbGljazpmZVsyXXx8KGZlWzJdPXJlPT5jZShyZSkpLGlkOiJjdXJhLW1lc3NhZ2UtY29udGFpbmVyIn0sW2RlKE9tKSxqKCJkaXYiLGViLFtmZVs1XXx8KGZlWzVdPWooInAiLHtjbGFzczoiY3VyYTp0ZXh0LXJpZ2h0IGN1cmE6dGV4dC1bMTFweF0gY3VyYTp0ZXh0LWJvZHktMTAgY3VyYTpzaHJpbmstMCBjdXJhOnctZnVsbCJ9LFtKbigiIEJ1c2luZXNzIE1lc3NlbmdlciBieSAiKSxqKCJzcGFuIix7Y2xhc3M6ImN1cmE6dGV4dC1ibGFjayBjdXJhOmZvbnQtc2VtaWJvbGQgY3VyYTp0cmFja2luZy10aWdodCJ9LCJDdXJhY29tIildLC0xKSksaigidWwiLHRiLFsoWighMCksdWUoWWUsbnVsbCxoYyhDLnZhbHVlLHJlPT4oWigpLFFlKHdtLHtyZXNwb25kZXI6cmV9LG51bGwsOCxbInJlc3BvbmRlciJdKSkpLDI1NikpLGRlKFNuLHtuYW1lOiJ6b29tIn0se2RlZmF1bHQ6eHQoKCk9PltULmlzQWN0aXZlLnZhbHVlPyhaKCksUWUoQm0se2tleTowfSkpOktlKCIiLCEwKV0pLF86MX0pXSksaigiZGl2IixuYixbZmVbNF18fChmZVs0XT1qKCJ1bCIse2NsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBvdmVyZmxvdy14LWF1dG8gcGItMyJ9LG51bGwsLTEpKSxqKCJkaXYiLHJiLFtkZShTbix7bmFtZToiem9vbSJ9LHtkZWZhdWx0Onh0KCgpPT5bUy52YWx1ZT8oWigpLFFlKEdtLHtrZXk6MCxvbkNsb3NlRmlsZURldGFpbDpYLG1lZGlhOnkubWVkaWEsdHlwZTpPLnZhbHVlLGxvYWRpbmc6VShyKX0sbnVsbCw4LFsibWVkaWEiLCJ0eXBlIiwibG9hZGluZyJdKSk6S2UoIiIsITApXSksXzoxfSksZGUoU24se25hbWU6Inpvb20ifSx7ZGVmYXVsdDp4dCgoKT0+W0Uuc3RhdHVzLnZhbHVlPyhaKCksUWUoWW0se2tleTowLG1lc3NhZ2U6RS5tZXNzYWdlLnZhbHVlLG9uQ2xvc2VFcnJvcjpLfSxudWxsLDgsWyJtZXNzYWdlIl0pKTpLZSgiIiwhMCldKSxfOjF9KSxHcyhqKCJ0ZXh0YXJlYSIse25hbWU6IiIscm93czoiMyIsc3R5bGU6e3Jlc2l6ZToibm9uZSJ9LG9uS2V5ZG93bjpuZSxjbGFzczoiY3VyYTpib3JkZXItMCBjdXJhOnctZnVsbCBjdXJhOm91dGxpbmUtbm9uZSBjdXJhOnBlZXIgY3VyYTpyZWxhdGl2ZSBjdXJhOnotWzNdIGN1cmE6cGxhY2Vob2xkZXI6dGV4dC1bI0NDQ0NDQ10iLHBsYWNlaG9sZGVyOiJUeXBlIHNvbWV0aGluZyIsaWQ6IiIsIm9uVXBkYXRlOm1vZGVsVmFsdWUiOmZlWzBdfHwoZmVbMF09cmU9PnkuYm9keT1yZSl9LG51bGwsNTQ0KSxbW2FpLHkuYm9keV1dKSxmZVszXXx8KGZlWzNdPWooImRpdiIse2NsYXNzOiJjdXJhOmFic29sdXRlIGN1cmE6dy1mdWxsIGN1cmE6aC1mdWxsIGN1cmE6dG9wLTAgY3VyYTpsZWZ0LTAgY3VyYTpib3JkZXIgY3VyYTpib3JkZXItWyNDMUMzRDJdIGN1cmE6cm91bmRlZC1bOC4zcHhdIGN1cmE6cGVlci1mb2N1czpib3JkZXItcHJpbWFyeS01MDAgY3VyYTp0cmFuc2l0aW9uLWFsbCBjdXJhOmR1cmF0aW9uLTMwMCBjdXJhOmVhc2UtaW4tb3V0In0sbnVsbCwtMSkpLGooInVsIixzYixbaigibGkiLGliLFtkZShNbSx7b25GaWxlU2VsZWN0ZWQ6ZmVbMV18fChmZVsxXT1yZT0+VihyZSkpLHJlZl9rZXk6ImZpbGVVcGxvYWRlckNvbXAiLHJlZjpffSxudWxsLDUxMildKSxqKCJsaSIsb2IsW1UodykuZW52SXNQcm9kdWN0aW9uP0tlKCIiLCEwKTooWigpLHVlKCJidXR0b24iLHtrZXk6MCxjbGFzczoiY3VyYTp3LVs0MHB4XSBjdXJhOmgtWzQwcHhdIGN1cmE6ZmxleCBjdXJhOml0ZW1zLWNlbnRlciBjdXJhOmp1c3RpZnktY2VudGVyIGN1cmE6YmctW3ZhcigtLWNoYXQtc2VuZC1idXR0b24tY29sb3IpXSBjdXJhOnRleHQtd2hpdGUgY3VyYTpyb3VuZGVkLWZ1bGwgY3VyYTpjdXJzb3ItcG9pbnRlciBjdXJhOmRpc2FibGVkOm9wYWNpdHktNTAiLG9uQ2xpY2s6T2UsZGlzYWJsZWQ6VShkKSxzdHlsZTp7Ii0tY2hhdC1zZW5kLWJ1dHRvbi1jb2xvciI6ImJsYWNrIn19LFtVKGQpPyhaKCksUWUoY2kse2tleToxLHNpemU6MTkuMn0pKTooWigpLFFlKHFtLHtrZXk6MCxzaXplOjE5LjJ9KSldLDgsYWIpKSxqKCJidXR0b24iLHtjbGFzczoiY3VyYTp3LVs0MHB4XSBjdXJhOmgtWzQwcHhdIGN1cmE6ZmxleCBjdXJhOml0ZW1zLWNlbnRlciBjdXJhOmp1c3RpZnktY2VudGVyIGN1cmE6YmctW3ZhcigtLWNoYXQtc2VuZC1idXR0b24tY29sb3IpXSBjdXJhOnRleHQtd2hpdGUgY3VyYTpyb3VuZGVkLWZ1bGwgY3VyYTpjdXJzb3ItcG9pbnRlciBjdXJhOmRpc2FibGVkOm9wYWNpdHktNTAiLG9uQ2xpY2s6aGUsZGlzYWJsZWQ6Ti52YWx1ZSxzdHlsZTp7Ii0tY2hhdC1zZW5kLWJ1dHRvbi1jb2xvciI6ImJsYWNrIn19LFtVKHIpPyhaKCksUWUoY2kse2tleToxLHNpemU6MTkuMn0pKTooWigpLFFlKGxtLHtrZXk6MCxzaXplOjE5LjJ9KSldLDgsY2IpXSldKV0pXSldKV0pKX19KSx1Yj1bIndpZHRoIiwiaGVpZ2h0Il0sZmI9TWUoe19fbmFtZToiSWNvbk5ld0NoYXQiLHByb3BzOntzaXplOnt9fSxzZXR1cChlKXtjb25zdCB0PWU7cmV0dXJuKG4scik9PihaKCksdWUoInN2ZyIse3dpZHRoOnQuc2l6ZSxoZWlnaHQ6dC5zaXplLHZpZXdCb3g6IjAgMCAzNiAzNiIsZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sclswXXx8KHJbMF09W2ooInBhdGgiLHtkOiJNOSAxOS41QzQuODYgMTkuNSAxLjUgMjIuODQ1IDEuNSAyN0MxLjUgMzEuMTU1IDQuODYgMzQuNSA5IDM0LjVDMTMuMTQgMzQuNSAxNi41IDMxLjE0IDE2LjUgMjdDMTYuNSAyMi44NiAxMy4xNTUgMTkuNSA5IDE5LjVaTTUuOTQgMjMuOTRIOUM5LjU3IDIzLjk0IDEwLjAyIDI0LjQwNSAxMC4wMiAyNC45NkMxMC4wMiAyNS41MTUgOS41NyAyNS45OCA5IDI1Ljk4SDUuOTRDNS4zNyAyNS45OCA0LjkyIDI1LjUxNSA0LjkyIDI0Ljk2QzQuOTIgMjQuNDA1IDUuMzcgMjMuOTQgNS45NCAyMy45NFpNMTIuMDYgMzAuMDZINS45NEM1LjM3IDMwLjA2IDQuOTIgMjkuNTk1IDQuOTIgMjkuMDRDNC45MiAyOC40ODUgNS4zODUgMjguMDIgNS45NCAyOC4wMkgxMi4wNzVDMTIuNjQ1IDI4LjAyIDEzLjA5NSAyOC40ODUgMTMuMDk1IDI5LjA0QzEzLjA5NSAyOS41OTUgMTIuNjMgMzAuMDYgMTIuMDYgMzAuMDZaIixmaWxsOiJjdXJyZW50Q29sb3IifSxudWxsLC0xKSxqKCJwYXRoIix7ZDoiTTI1LjUgNC41SDEwLjVDNiA0LjUgMyA2Ljc1IDMgMTJWMTYuNzFDMyAxNy44MDUgNC4xMjUgMTguNDk1IDUuMTMgMTguMDZDNi43OCAxNy4zNCA4LjY1NSAxNy4wNyAxMC42MiAxNy4zODVDMTQuNTUgMTguMDMgMTcuNzYgMjEuMTM1IDE4LjU1NSAyNS4wMzVDMTguNzggMjYuMTc1IDE4LjgxIDI3LjI4NSAxOC42NiAyOC4zNUMxOC41NCAyOS4yMzUgMTkuMjYgMzAuMDE1IDIwLjE0NSAzMC4wMTVIMjUuNUMzMCAzMC4wMTUgMzMgMjcuNzY1IDMzIDIyLjUxNVYxMkMzMyA2Ljc1IDMwIDQuNSAyNS41IDQuNVpNMjYuMjA1IDEyLjg4NUwyMS41MSAxNi42MzVDMjAuNTIgMTcuNDMgMTkuMjYgMTcuODIgMTggMTcuODJDMTYuNzQgMTcuODIgMTUuNDY1IDE3LjQzIDE0LjQ5IDE2LjYzNUw5Ljc5NSAxMi44ODVDOS4zMTUgMTIuNDk1IDkuMjQgMTEuNzc1IDkuNjE1IDExLjI5NUMxMC4wMDUgMTAuODE1IDEwLjcxIDEwLjcyNSAxMS4xOSAxMS4xMTVMMTUuODg1IDE0Ljg2NUMxNy4wMjUgMTUuNzggMTguOTYgMTUuNzggMjAuMSAxNC44NjVMMjQuNzk1IDExLjExNUMyNS4yNzUgMTAuNzI1IDI1Ljk5NSAxMC44IDI2LjM3IDExLjI5NUMyNi43NiAxMS43NzUgMjYuNjg1IDEyLjQ5NSAyNi4yMDUgMTIuODg1WiIsZmlsbDoiY3VycmVudENvbG9yIn0sbnVsbCwtMSldKSw4LHViKSl9fSksaGI9QW4oKCk9Pntjb25zdCBlPXBlKHt0aXRsZToiIix1cmw6IiJ9KTtyZXR1cm57Li4ue2FzeW5jIGxvZ1BhZ2VWaXNpdCgpe3RyeXtjb25zdHtkYXRhOm59PWF3YWl0IGhzKCkucG9zdChlci5MT0dfUEFHRV9WSVNJVCxlLnZhbHVlKTtyZXR1cm4gbn1jYXRjaChuKXt0aHJvdyBufX0sc2V0TG9nUGFnZVBheWxvYWQoKXtlLnZhbHVlLnRpdGxlPWRvY3VtZW50LnRpdGxlLGUudmFsdWUudXJsPXdpbmRvdy5sb2NhdGlvbi5ocmVmfX0sbG9nUGFnZVBheWxvYWQ6ZX19KSxkYj17Y2xhc3M6IiJ9LHBiPXtrZXk6MH0sZ2I9e2tleTowLGNsYXNzOiJpbmxpbmUtYmxvY2sgdy1hdXRvIn0sbWI9e2NsYXNzOiJpbmxpbmUtYmxvY2sgdy1hdXRvIn0sYmI9e2NsYXNzOiJjdXJhOmhpZGRlbiBjdXJhOm1kOmZsZXggY3VyYTpqdXN0aWZ5LWVuZCBjdXJhOnB0LTUifSx2Yj17a2V5OiJjaGF0LXN0YXJ0ZXIiLGNsYXNzOiJjdXJhOmlubGluZS1ibG9jayBjdXJhOnJlbGF0aXZlIn0seWI9e2NsYXNzOiJjdXJhOmZsZXggY3VyYTppdGVtcy1lbmQgY3VyYTpmbGV4LWNvbCBjdXJhOmdhcC0xIGN1cmE6YWJzb2x1dGUgY3VyYTp0b3AtMCBjdXJhOnRyYW5zbGF0ZS15LVstMTA3JV0gY3VyYTpyaWdodC0wIGN1cmE6ei0xMDAwMCJ9LHdiPXtjbGFzczoiY3VyYTptYXgtdy02MCBjdXJhOmlubGluZS1ibG9jayBjdXJhOnAtMiBjdXJhOnB4LTQgY3VyYTpiZy1ibGFjayBjdXJhOnJvdW5kZWQtZnVsbCBjdXJhOnRleHQtd2hpdGUgY3VyYTp0ZXh0LXhzIGN1cmE6d2hpdGVzcGFjZS1ub3dyYXAgY3VyYTpvdmVyZmxvdy1oaWRkZW4gY3VyYTp0ZXh0LWVsbGlwc2lzIGN1cmE6cmVsYXRpdmUgY3VyYTp6LTEwMDAwMDAwMDAifSxfYj1NZSh7X19uYW1lOiJBcHAuY2UiLHNldHVwKGUpe2NvbnN0e2NvbmZpZzp0LG9wZW5DaGF0Om4sc2V0TmV3VXNlckZvcm06cixjbG9zZUNoYXQ6cyx1bnNldE5ld1VzZXJGb3JtOml9PWFyKCkse2luaWF0ZUNoYXRDb25uZWN0OmEsaW5pdGlhdG9yRGF0YTp1fT10cigpLHtjcmVhdGVJbnN0YW5jZTpmLHNvY2tldEluc3RhbmNlOmQsc29ja2V0SW5zdGFuY2VDcmVhdGVkOmh9PVpuKCkscD1wZSghMSkse3NldExvZ1BhZ2VQYXlsb2FkOncsbG9nUGFnZVZpc2l0OkMsbG9nUGFnZVBheWxvYWQ6bX09aGIoKSx7YXBwZW5kTWFueVRvUXVldWU6Xyxqb2luQ2hhdDp5LG5vdGlmeVF1ZXVlOlMsZW1wdHlOb3RpZnlRdWV1ZTpULGxpc3RlbkZvck5ld01lc3NhZ2U6TyxhcHBlbmRTaW5nbGVUb1F1ZXVlOkUsYXBwZW5kVG9Ob3RpZnlRdWV1ZTpOfT1xaSgpLHE9KCk9PntWLnZhbHVlJiZyKCl9O3BlKG51bGwpO2NvbnN0IEs9cGUobnVsbCksRz0oKT0+e3EoKSxuKCl9LFY9Z2UoKCk9Pnt2YXIgbmU7cmV0dXJuKChuZT11LnZhbHVlKT09bnVsbD92b2lkIDA6bmUuY3VzdG9tZXIpPT09bnVsbH0pLFg9Z2UoKCk9Pnt2YXIgbmU7cmV0dXJuKG5lPXUudmFsdWUpPT1udWxsP3ZvaWQgMDpuZS5jdXN0b21lcn0pLGxlPWdlKCgpPT50LnZhbHVlLmlzT3BlbiYmdC52YWx1ZS5uZXdVc2VyRm9ybUFjdGl2ZT09PSExKSxIPW5lPT57dmFyIGhlLGNlOyhoZT1kLnZhbHVlKT09bnVsbHx8aGUubGVhdmVDaGFubmVsKCJtZS4iK25lKSwoY2U9ZC52YWx1ZSk9PW51bGx8fGNlLmpvaW4oIm1lLiIrbmUpfTtodChYLG5lPT57bmUhPT1udWxsJiZIKChuZT09bnVsbD92b2lkIDA6bmUudWlkKXx8IiIpfSx7aW1tZWRpYXRlOiEwLGRlZXA6ITB9KTtjb25zdCBtZT0oKT0+e3koKSxPKG5lPT57RShuZSkudGhlbigoKT0+e04obmUpfSl9LCgpPT57fSl9LE9lPSgpPT57VCgpLHkoKSxPKG5lPT57RShuZSkudGhlbigoKT0+e3ZhciBoZTsoaGU9Sy52YWx1ZSk9PW51bGx8fGhlLnNjcm9sbFRvQm90dG9tKCl9KX0sKCk9Pnt9KX07cmV0dXJuIGh0KCgpPT5oLnZhbHVlLG5lPT57bmU9PT0hMCYmbWUoKX0se2RlZXA6ITB9KSxodChsZSxuZT0+e25lPT09ITE/bWUoKTpPZSgpfSx7aW1tZWRpYXRlOiEwfSksaXIoKCk9PnthKCkudGhlbihhc3luYyBuZT0+e3ZhciBoZSxjZSxZLGZlLHJlOygoaGU9bmUuZGF0YSk9PW51bGw/dm9pZCAwOmhlLmN1c3RvbWVyKSE9PW51bGwmJmF3YWl0IGYobmUuZGF0YSksYXdhaXQgSCgoKFk9KGNlPW5lLmRhdGEpPT1udWxsP3ZvaWQgMDpjZS5jdXN0b21lcik9PW51bGw/dm9pZCAwOlkudWlkKXx8IiIpLGF3YWl0IF8oKChyZT0oZmU9bmUuZGF0YSk9PW51bGw/dm9pZCAwOmZlLmN1c3RvbWVyKT09bnVsbD92b2lkIDA6cmUuaGlzdG9yeSl8fFtdKSxhd2FpdCBxKCkscC52YWx1ZT0hMH0pLmNhdGNoKG5lPT57fSl9KSxraSgoKT0+e1puKCkuZGlzY29ubmVjdCgpfSksKG5lLGhlKT0+KFooKSx1ZSgiZGl2IixkYixbKFooKSxRZShHZix7dG86ImJvZHkifSxbcC52YWx1ZT8oWigpLHVlKCJkaXYiLHtrZXk6MCxjbGFzczp3dChbImN1cmE6dy1hdXRvIGN1cmE6aC1hdXRvIGN1cmE6ei0xMDAwIGN1cmE6Zml4ZWQgY3VyYTpmb250LWJvZHkiLHsiY3VyYTpib3R0b20tMCBjdXJhOnJpZ2h0LTAgY3VyYTptZDpib3R0b20tNCBjdXJhOm1kOnJpZ2h0LTQgIjpVKHQpLmlzT3BlbiwiY3VyYTpyaWdodC00IGN1cmE6Ym90dG9tLTQiOiFVKHQpLmlzT3Blbn1dKX0sW2RlKFNuLHttb2RlOiJvdXQtaW4iLG5hbWU6Inpvb20ifSx7ZGVmYXVsdDp4dCgoKT0+W1UodCkuaXNPcGVuPyhaKCksdWUoImRpdiIscGIsW2RlKFNuLHtuYW1lOiJzbGlkZUluUmlnaHQiLG1vZGU6Im91dC1pbiJ9LHtkZWZhdWx0Onh0KCgpPT5bVSh0KS5uZXdVc2VyRm9ybUFjdGl2ZT8oWigpLHVlKCJkaXYiLGdiLFtkZShhbSldKSk6KFooKSxRZSh0aCx7a2V5OjF9LFtqKCJkaXYiLG1iLFtkZShsYildKV0sMTAyNCkpXSksXzoxfSksaigiZGl2IixiYixbaigiYnV0dG9uIix7b25DbGljazpoZVswXXx8KGhlWzBdPSguLi5jZSk9PlUocykmJlUocykoLi4uY2UpKSxjbGFzczoiY3VyYTp3LVszMnB4XSBjdXJhOmgtWzMycHhdIGN1cmE6dGV4dC1ibGFjayBjdXJhOmJnLXdoaXRlIGN1cmE6cm91bmRlZC1mdWxsIGN1cmE6ZmxleCBjdXJhOml0ZW1zLWNlbnRlciBjdXJhOmp1c3RpZnktY2VudGVyIGN1cmE6Ym9yZGVyIGN1cmE6Ym9yZGVyLVsjRURFRkYyXSJ9LFtkZShucix7c2l6ZToyMH0pXSldKV0pKTooWigpLHVlKCJkaXYiLHZiLFtqKCJkaXYiLHliLFtVKFMpLmxlbmd0aD4wPyhaKCksdWUoImJ1dHRvbiIse2tleTowLG9uQ2xpY2s6aGVbMV18fChoZVsxXT0oLi4uY2UpPT5VKFQpJiZVKFQpKC4uLmNlKSksY2xhc3M6ImN1cmE6dy1bMzJweF0gY3VyYTptYi0zIGN1cmE6aC1bMzJweF0gY3VyYTp0ZXh0LWJsYWNrIGN1cmE6Ymctd2hpdGUgY3VyYTpyb3VuZGVkLWZ1bGwgY3VyYTpmbGV4IGN1cmE6aXRlbXMtY2VudGVyIGN1cmE6anVzdGlmeS1jZW50ZXIgY3VyYTpib3JkZXIgY3VyYTpib3JkZXItWyNFREVGRjJdIGN1cmE6cmVsYXRpdmUgY3VyYTp6LTEwMDAwMDAwMDAifSxbZGUobnIse3NpemU6MjB9KV0pKTpLZSgiIiwhMCksKFooITApLHVlKFllLG51bGwsaGMoVShTKSxjZT0+KFooKSx1ZSgiZGl2Iix3Yix0dChjZS5ib2R5KSwxKSkpLDI1NikpXSksaigiYnV0dG9uIix7Y2xhc3M6ImN1cmE6dy0xOC41IGN1cmE6bWwtYXV0byBjdXJhOmgtMTguNSBjdXJhOnJvdW5kZWQtZnVsbCBjdXJhOmJnLVt2YXIoLS1jdXJhLW9wZW4tY2hhdC1idG4pXSBjdXJhOmZsZXggY3VyYTppdGVtcy1jZW50ZXIgY3VyYTpqdXN0aWZ5LWNlbnRlciBjdXJhOmN1cnNvci1wb2ludGVyIGN1cmE6dGV4dC13aGl0ZSBjdXJhOmhvdmVyOmJyaWdodG5lc3MtODAgY3VyYTpyZWxhdGl2ZSIsb25DbGljazpHLHN0eWxlOnsiLS1jdXJhLW9wZW4tY2hhdC1idG4iOiIjNjY2NkZGIn19LFtkZShmYix7c2l6ZTozNn0pXSldKSldKSxfOjF9KV0sMikpOktlKCIiLCEwKV0pKV0pKX19KTsoZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7bGV0IGE9IiI7cmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIikuZm9yRWFjaChkPT57YSs9ZC50ZXh0Q29udGVudCtgCmB9KSxBcnJheS5mcm9tKGRvY3VtZW50LnN0eWxlU2hlZXRzKS5mb3JFYWNoKGQ9Pnt0cnl7Y29uc3QgcD1BcnJheS5mcm9tKGQuY3NzUnVsZXN8fGQucnVsZXMpLm1hcCh3PT53LmNzc1RleHQpLmpvaW4oYApgKTthKz1wK2AKYH1jYXRjaChoKXtjb25zb2xlLndhcm4oIkNvdWxkIG5vdCBhY2Nlc3Mgc3R5bGVzaGVldDoiLGgpfX0pLGF9Y29uc3QgdD0oKT0+e2NsYXNzIGEgZXh0ZW5kcyBIVE1MRWxlbWVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7aG8odGhpcywiYXBwIixudWxsKTtjb25zdCBkPXRoaXMuYXR0YWNoU2hhZG93KHttb2RlOiJjbG9zZWQifSksaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtkLmFwcGVuZENoaWxkKGgpLHRoaXMuaW5qZWN0U3R5bGVzKGQpLHRoaXMuYXBwPWtkKF9iKSx0aGlzLmFwcC5tb3VudChoKX1pbmplY3RTdHlsZXMoZCl7Y29uc3QgaD1lKCk7aWYoaCl7Y29uc3QgcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3AudGV4dENvbnRlbnQ9aCxkLmFwcGVuZENoaWxkKHApfXRoaXMub2JzZXJ2ZVN0eWxlQ2hhbmdlcyhkKX1vYnNlcnZlU3R5bGVDaGFuZ2VzKGQpe25ldyBNdXRhdGlvbk9ic2VydmVyKHA9PntwLmZvckVhY2godz0+e3cudHlwZT09PSJjaGlsZExpc3QiJiZ3LmFkZGVkTm9kZXMuZm9yRWFjaChDPT57aWYoQy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZDLnRhZ05hbWU9PT0iU1RZTEUiKXtjb25zdCBtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7bS50ZXh0Q29udGVudD1DLnRleHRDb250ZW50LGQuYXBwZW5kQ2hpbGQobSl9fSl9KX0pLm9ic2VydmUoZG9jdW1lbnQuaGVhZCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuYXBwJiZ0aGlzLmFwcC51bm1vdW50KCl9fWN1c3RvbUVsZW1lbnRzLmRlZmluZSgiY3VyYWNvbS1wbHVnaW4iLGEpfSxuPSgpPT57d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJjdXJhY29tLTE3NjM3ODM5NDk5Iix6aSgpKX07ZnVuY3Rpb24gcigpe2NvbnN0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2EucmVsPSJzdHlsZXNoZWV0IixhLnR5cGU9InRleHQvY3NzIixhLmhyZWY9Imh0dHBzOi8vd2lkZ2V0LmN1cmFjb20uaW8vYXNzZXRzL3dpZGdldC1pbmRleC5jc3MiLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYSl9ZnVuY3Rpb24gcygpe2NvbnN0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY3VyYWNvbS1wbHVnaW4iKTtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJib2R5IikuYXBwZW5kQ2hpbGQoYSl9ZnVuY3Rpb24gaSgpe24oKSx0KCkscigpLHMoKX1pKCl9KSgpOwo="}},"time_used":368,"timings":{"blocked":-1,"dns":75,"connect":18,"send":0,"wait":270,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/manifestb257.js?id=7375cf0cdf3de8160eb1","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.433Z","timestamp":1785137065433,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/manifestb257.js?id=7375cf0cdf3de8160eb1 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 09:35:32 GMT\r\naccept-ranges: bytes\r\netag: \"1d8257409e702af\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":2223,"size_decoded":1356,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (2221), with CRLF line terminators","md5":"0c425e6d858cc4152c44cf9b62c3064f","sha1":"e1ccf5ac5712eb359ce2d7fc0afcbe55e2f6269f","sha256":"d8d91403e2eb67ffdb9db621adae9084f823d9a38e0e8920e5c1b39ffddf32f6","sha512":"ae56686237402763d3c966aabb74738b5872481403b92f742fd181ee5fe5a091ca9652661465a78bed927be20207afced1fa149609b14daf42ed0c53d0d11778","ssdeep":"","tlshash":"e94150eab1e1f4f4134764a4412f450bf13b98b6606ef1a1e722c8e63c7515e803bf68","first_seen":"2025-10-27T18:25:33.0309Z","last_seen":"2026-07-27T07:25:28.807267Z","times_seen":6,"resource_available":true,"data":"IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciB0LGUsbixyPXt9LG89e307ZnVuY3Rpb24gdSh0KXt2YXIgZT1vW3RdO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGUuZXhwb3J0czt2YXIgbj1vW3RdPXtpZDp0LGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gclt0XS5jYWxsKG4uZXhwb3J0cyxuLG4uZXhwb3J0cyx1KSxuLmxvYWRlZD0hMCxuLmV4cG9ydHN9dS5tPXIsdD1bXSx1Lk89ZnVuY3Rpb24oZSxuLHIsbyl7aWYoIW4pe3ZhciBpPTEvMDtmb3IoYT0wO2E8dC5sZW5ndGg7YSsrKXtuPXRbYV1bMF0scj10W2FdWzFdLG89dFthXVsyXTtmb3IodmFyIGY9ITAsYz0wO2M8bi5sZW5ndGg7YysrKSghMSZvfHxpPj1vKSYmT2JqZWN0LmtleXModS5PKS5ldmVyeSgoZnVuY3Rpb24odCl7cmV0dXJuIHUuT1t0XShuW2NdKX0pKT9uLnNwbGljZShjLS0sMSk6KGY9ITEsbzxpJiYoaT1vKSk7aWYoZil7dC5zcGxpY2UoYS0tLDEpO3ZhciBsPXIoKTt2b2lkIDAhPT1sJiYoZT1sKX19cmV0dXJuIGV9bz1vfHwwO2Zvcih2YXIgYT10Lmxlbmd0aDthPjAmJnRbYS0xXVsyXT5vO2EtLSl0W2FdPXRbYS0xXTt0W2FdPVtuLHIsb119LHUubj1mdW5jdGlvbih0KXt2YXIgZT10JiZ0Ll9fZXNNb2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4gdC5kZWZhdWx0fTpmdW5jdGlvbigpe3JldHVybiB0fTtyZXR1cm4gdS5kKGUse2E6ZX0pLGV9LG49T2JqZWN0LmdldFByb3RvdHlwZU9mP2Z1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0Ll9fcHJvdG9fX30sdS50PWZ1bmN0aW9uKHQscil7aWYoMSZyJiYodD10aGlzKHQpKSw4JnIpcmV0dXJuIHQ7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZ0KXtpZig0JnImJnQuX19lc01vZHVsZSlyZXR1cm4gdDtpZigxNiZyJiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuKXJldHVybiB0fXZhciBvPU9iamVjdC5jcmVhdGUobnVsbCk7dS5yKG8pO3ZhciBpPXt9O2U9ZXx8W251bGwsbih7fSksbihbXSksbihuKV07Zm9yKHZhciBmPTImciYmdDsib2JqZWN0Ij09dHlwZW9mIGYmJiF+ZS5pbmRleE9mKGYpO2Y9bihmKSlPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhmKS5mb3JFYWNoKChmdW5jdGlvbihlKXtpW2VdPWZ1bmN0aW9uKCl7cmV0dXJuIHRbZV19fSkpO3JldHVybiBpLmRlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sdS5kKG8saSksb30sdS5kPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuIGluIGUpdS5vKGUsbikmJiF1Lm8odCxuKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbix7ZW51bWVyYWJsZTohMCxnZXQ6ZVtuXX0pfSx1Lmc9ZnVuY3Rpb24oKXtpZigib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIikoKX1jYXRjaCh0KXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSx1Lm89ZnVuY3Rpb24odCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9LHUucj1mdW5jdGlvbih0KXsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSx1Lm5tZD1mdW5jdGlvbih0KXtyZXR1cm4gdC5wYXRocz1bXSx0LmNoaWxkcmVufHwodC5jaGlsZHJlbj1bXSksdH0sZnVuY3Rpb24oKXt2YXIgdD17Nzc0OjAsMzU5OjAsMTgxOjB9O3UuTy5qPWZ1bmN0aW9uKGUpe3JldHVybiAwPT09dFtlXX07dmFyIGU9ZnVuY3Rpb24oZSxuKXt2YXIgcixvLGk9blswXSxmPW5bMV0sYz1uWzJdLGw9MDtpZihpLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiAwIT09dFtlXX0pKSl7Zm9yKHIgaW4gZil1Lm8oZixyKSYmKHUubVtyXT1mW3JdKTtpZihjKXZhciBhPWModSl9Zm9yKGUmJmUobik7bDxpLmxlbmd0aDtsKyspbz1pW2xdLHUubyh0LG8pJiZ0W29dJiZ0W29dWzBdKCksdFtpW2xdXT0wO3JldHVybiB1Lk8oYSl9LG49c2VsZi53ZWJwYWNrQ2h1bmtBdmF0cmFkZXJzPXNlbGYud2VicGFja0NodW5rQXZhdHJhZGVyc3x8W107bi5mb3JFYWNoKGUuYmluZChudWxsLDApKSxuLnB1c2g9ZS5iaW5kKG51bGwsbi5wdXNoLmJpbmQobikpfSgpfSgpOw0K"}},"time_used":5280,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5280,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-5fd61.js?id=0169abee09a7daae7412","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.440Z","timestamp":1785137065440,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/vendor_utils-5fd61.js?id=0169abee09a7daae7412 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 09:35:32 GMT\r\naccept-ranges: bytes\r\netag: \"1d8257409e56509\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"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":159497,"size_decoded":45546,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"4734bbf71d315962c368fc6d1ca2016e","sha1":"22ea3f7522688a39943524735e87263cd871f46e","sha256":"c53adc413cd0c020f06ea7e74a3944f176117f9b87a1c321d8ba96eae3979f2f","sha512":"d1995a84c7c80219f8027bace6bb7612a62b345217c1e0073ee84cdc40c5c6caf5e67a9b614e290b04ab6554c49738dafb2b73846fef4f0edb654073f5657f72","ssdeep":"3072:pOfs3WmN5SJGHJ6GBuGXqGMCyAo2+3W8T7GRM47nq:TW2EJGHJ6GBuGXqGMCydBT7GRMwq","tlshash":"1ff34b8b3196b03247e725a5802f110db2321f99a88a9854f97dd8d53c68dd9327ffbc","first_seen":"2025-10-27T18:25:33.066628Z","last_seen":"2026-07-27T07:25:28.808404Z","times_seen":6,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rQXZhdHJhZGVycz1zZWxmLndlYnBhY2tDaHVua0F2YXRyYWRlcnN8fFtdKS5wdXNoKFtbMTk4XSx7NzYwMzA6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7dmFyIG49e3VwZGF0ZTpudWxsLGJlZ2luOm51bGwsbG9vcEJlZ2luOm51bGwsY2hhbmdlQmVnaW46bnVsbCxjaGFuZ2U6bnVsbCxjaGFuZ2VDb21wbGV0ZTpudWxsLGxvb3BDb21wbGV0ZTpudWxsLGNvbXBsZXRlOm51bGwsbG9vcDoxLGRpcmVjdGlvbjoibm9ybWFsIixhdXRvcGxheTohMCx0aW1lbGluZU9mZnNldDowfSxpPXtkdXJhdGlvbjoxZTMsZGVsYXk6MCxlbmREZWxheTowLGVhc2luZzoiZWFzZU91dEVsYXN0aWMoMSwgLjUpIixyb3VuZDowfSxyPVsidHJhbnNsYXRlWCIsInRyYW5zbGF0ZVkiLCJ0cmFuc2xhdGVaIiwicm90YXRlIiwicm90YXRlWCIsInJvdGF0ZVkiLCJyb3RhdGVaIiwic2NhbGUiLCJzY2FsZVgiLCJzY2FsZVkiLCJzY2FsZVoiLCJza2V3Iiwic2tld1giLCJza2V3WSIsInBlcnNwZWN0aXZlIiwibWF0cml4IiwibWF0cml4M2QiXSxhPXtDU1M6e30sc3ByaW5nczp7fX07ZnVuY3Rpb24gbyhlLHQsbil7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KGUsdCksbil9ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlLmluZGV4T2YodCk+LTF9ZnVuY3Rpb24gbChlLHQpe3JldHVybiBlLmFwcGx5KG51bGwsdCl9dmFyIHU9e2FycjpmdW5jdGlvbihlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKX0sb2JqOmZ1bmN0aW9uKGUpe3JldHVybiBzKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSwiT2JqZWN0Iil9LHB0aDpmdW5jdGlvbihlKXtyZXR1cm4gdS5vYmooZSkmJmUuaGFzT3duUHJvcGVydHkoInRvdGFsTGVuZ3RoIil9LHN2ZzpmdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFNWR0VsZW1lbnR9LGlucDpmdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnR9LGRvbTpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlVHlwZXx8dS5zdmcoZSl9LHN0cjpmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9LGZuYzpmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX0sdW5kOmZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lfSxuaWw6ZnVuY3Rpb24oZSl7cmV0dXJuIHUudW5kKGUpfHxudWxsPT09ZX0saGV4OmZ1bmN0aW9uKGUpe3JldHVybi8oXiNbMC05QS1GXXs2fSQpfCheI1swLTlBLUZdezN9JCkvaS50ZXN0KGUpfSxyZ2I6ZnVuY3Rpb24oZSl7cmV0dXJuL15yZ2IvLnRlc3QoZSl9LGhzbDpmdW5jdGlvbihlKXtyZXR1cm4vXmhzbC8udGVzdChlKX0sY29sOmZ1bmN0aW9uKGUpe3JldHVybiB1LmhleChlKXx8dS5yZ2IoZSl8fHUuaHNsKGUpfSxrZXk6ZnVuY3Rpb24oZSl7cmV0dXJuIW4uaGFzT3duUHJvcGVydHkoZSkmJiFpLmhhc093blByb3BlcnR5KGUpJiYidGFyZ2V0cyIhPT1lJiYia2V5ZnJhbWVzIiE9PWV9fTtmdW5jdGlvbiBjKGUpe3ZhciB0PS9cKChbXildKylcKS8uZXhlYyhlKTtyZXR1cm4gdD90WzFdLnNwbGl0KCIsIikubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gcGFyc2VGbG9hdChlKX0pKTpbXX1mdW5jdGlvbiBkKGUsdCl7dmFyIG49YyhlKSxpPW8odS51bmQoblswXSk/MTpuWzBdLC4xLDEwMCkscj1vKHUudW5kKG5bMV0pPzEwMDpuWzFdLC4xLDEwMCkscz1vKHUudW5kKG5bMl0pPzEwOm5bMl0sLjEsMTAwKSxsPW8odS51bmQoblszXSk/MDpuWzNdLC4xLDEwMCksZD1NYXRoLnNxcnQoci9pKSxmPXMvKDIqTWF0aC5zcXJ0KHIqaSkpLGg9ZjwxP2QqTWF0aC5zcXJ0KDEtZipmKTowLG09ZjwxPyhmKmQtbCkvaDotbCtkO2Z1bmN0aW9uIHAoZSl7dmFyIG49dD90KmUvMWUzOmU7cmV0dXJuIG49ZjwxP01hdGguZXhwKC1uKmYqZCkqKDEqTWF0aC5jb3MoaCpuKSttKk1hdGguc2luKGgqbikpOigxK20qbikqTWF0aC5leHAoLW4qZCksMD09PWV8fDE9PT1lP2U6MS1ufXJldHVybiB0P3A6ZnVuY3Rpb24oKXt2YXIgdD1hLnNwcmluZ3NbZV07aWYodClyZXR1cm4gdDtmb3IodmFyIG49MS82LGk9MCxyPTA7OylpZigxPT09cChpKz1uKSl7aWYoKytyPj0xNilicmVha31lbHNlIHI9MDt2YXIgbz1pKm4qMWUzO3JldHVybiBhLnNwcmluZ3NbZV09byxvfX1mdW5jdGlvbiBmKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT0xMCksZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguY2VpbChvKHQsMWUtNiwxKSplKSooMS9lKX19dmFyIGgsbSxwPWZ1bmN0aW9uKCl7dmFyIGU9LjE7ZnVuY3Rpb24gdChlLHQpe3JldHVybiAxLTMqdCszKmV9ZnVuY3Rpb24gbihlLHQpe3JldHVybiAzKnQtNiplfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIDMqZX1mdW5jdGlvbiByKGUscixhKXtyZXR1cm4oKHQocixhKSplK24ocixhKSkqZStpKHIpKSplfWZ1bmN0aW9uIGEoZSxyLGEpe3JldHVybiAzKnQocixhKSplKmUrMipuKHIsYSkqZStpKHIpfXJldHVybiBmdW5jdGlvbih0LG4saSxvKXtpZigwPD10JiZ0PD0xJiYwPD1pJiZpPD0xKXt2YXIgcz1uZXcgRmxvYXQzMkFycmF5KDExKTtpZih0IT09bnx8aSE9PW8pZm9yKHZhciBsPTA7bDwxMTsrK2wpc1tsXT1yKGwqZSx0LGkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdD09PW4mJmk9PT1vfHwwPT09ZXx8MT09PWU/ZTpyKHUoZSksbixvKX19ZnVuY3Rpb24gdShuKXtmb3IodmFyIG89MCxsPTE7MTAhPT1sJiZzW2xdPD1uOysrbClvKz1lOy0tbDt2YXIgdT1vKyhuLXNbbF0pLyhzW2wrMV0tc1tsXSkqZSxjPWEodSx0LGkpO3JldHVybiBjPj0uMDAxP2Z1bmN0aW9uKGUsdCxuLGkpe2Zvcih2YXIgbz0wO288NDsrK28pe3ZhciBzPWEodCxuLGkpO2lmKDA9PT1zKXJldHVybiB0O3QtPShyKHQsbixpKS1lKS9zfXJldHVybiB0fShuLHUsdCxpKTowPT09Yz91OmZ1bmN0aW9uKGUsdCxuLGksYSl7dmFyIG8scyxsPTA7ZG97KG89cihzPXQrKG4tdCkvMixpLGEpLWUpPjA/bj1zOnQ9c313aGlsZShNYXRoLmFicyhvKT4xZS03JiYrK2w8MTApO3JldHVybiBzfShuLG8sbytlLHQsaSl9fX0oKSxnPShoPXtsaW5lYXI6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGV9fX0sbT17U2luZTpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gMS1NYXRoLmNvcyhlKk1hdGguUEkvMil9fSxDaXJjOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiAxLU1hdGguc3FydCgxLWUqZSl9fSxCYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlKmUqKDMqZS0yKX19LEJvdW5jZTpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlKXtmb3IodmFyIHQsbj00O2U8KCh0PU1hdGgucG93KDIsLS1uKSktMSkvMTE7KTtyZXR1cm4gMS9NYXRoLnBvdyg0LDMtbiktNy41NjI1Kk1hdGgucG93KCgzKnQtMikvMjItZSwyKX19LEVsYXN0aWM6ZnVuY3Rpb24oZSx0KXt2b2lkIDA9PT1lJiYoZT0xKSx2b2lkIDA9PT10JiYodD0uNSk7dmFyIG49byhlLDEsMTApLGk9byh0LC4xLDIpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gMD09PWV8fDE9PT1lP2U6LW4qTWF0aC5wb3coMiwxMCooZS0xKSkqTWF0aC5zaW4oKGUtMS1pLygyKk1hdGguUEkpKk1hdGguYXNpbigxL24pKSooMipNYXRoLlBJKS9pKX19fSxbIlF1YWQiLCJDdWJpYyIsIlF1YXJ0IiwiUXVpbnQiLCJFeHBvIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXttW2VdPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLnBvdyhlLHQrMil9fX0pKSxPYmplY3Qua2V5cyhtKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1tW2VdO2hbImVhc2VJbiIrZV09dCxoWyJlYXNlT3V0IitlXT1mdW5jdGlvbihlLG4pe3JldHVybiBmdW5jdGlvbihpKXtyZXR1cm4gMS10KGUsbikoMS1pKX19LGhbImVhc2VJbk91dCIrZV09ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZnVuY3Rpb24oaSl7cmV0dXJuIGk8LjU/dChlLG4pKDIqaSkvMjoxLXQoZSxuKSgtMippKzIpLzJ9fSxoWyJlYXNlT3V0SW4iK2VdPWZ1bmN0aW9uKGUsbil7cmV0dXJuIGZ1bmN0aW9uKGkpe3JldHVybiBpPC41PygxLXQoZSxuKSgxLTIqaSkpLzI6KHQoZSxuKSgyKmktMSkrMSkvMn19fSkpLGgpO2Z1bmN0aW9uIHYoZSx0KXtpZih1LmZuYyhlKSlyZXR1cm4gZTt2YXIgbj1lLnNwbGl0KCIoIilbMF0saT1nW25dLHI9YyhlKTtzd2l0Y2gobil7Y2FzZSJzcHJpbmciOnJldHVybiBkKGUsdCk7Y2FzZSJjdWJpY0JlemllciI6cmV0dXJuIGwocCxyKTtjYXNlInN0ZXBzIjpyZXR1cm4gbChmLHIpO2RlZmF1bHQ6cmV0dXJuIGwoaSxyKX19ZnVuY3Rpb24geShlKXt0cnl7cmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoZSl9Y2F0Y2goZSl7cmV0dXJufX1mdW5jdGlvbiBiKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLGk9YXJndW1lbnRzLmxlbmd0aD49Mj9hcmd1bWVudHNbMV06dm9pZCAwLHI9W10sYT0wO2E8bjthKyspaWYoYSBpbiBlKXt2YXIgbz1lW2FdO3QuY2FsbChpLG8sYSxlKSYmci5wdXNoKG8pfXJldHVybiByfWZ1bmN0aW9uIHcoZSl7cmV0dXJuIGUucmVkdWNlKChmdW5jdGlvbihlLHQpe3JldHVybiBlLmNvbmNhdCh1LmFycih0KT93KHQpOnQpfSksW10pfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIHUuYXJyKGUpP2U6KHUuc3RyKGUpJiYoZT15KGUpfHxlKSxlIGluc3RhbmNlb2YgTm9kZUxpc3R8fGUgaW5zdGFuY2VvZiBIVE1MQ29sbGVjdGlvbj9bXS5zbGljZS5jYWxsKGUpOltlXSl9ZnVuY3Rpb24gRChlLHQpe3JldHVybiBlLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dH0pKX1mdW5jdGlvbiB4KGUpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gdH1mdW5jdGlvbiBNKGUsdCl7dmFyIG49eChlKTtmb3IodmFyIGkgaW4gZSluW2ldPXQuaGFzT3duUHJvcGVydHkoaSk/dFtpXTplW2ldO3JldHVybiBufWZ1bmN0aW9uIFMoZSx0KXt2YXIgbj14KGUpO2Zvcih2YXIgaSBpbiB0KW5baV09dS51bmQoZVtpXSk/dFtpXTplW2ldO3JldHVybiBufWZ1bmN0aW9uIGsoZSl7cmV0dXJuIHUucmdiKGUpPyhuPS9yZ2JcKChcZCssXHMqW1xkXSssXHMqW1xkXSspXCkvZy5leGVjKHQ9ZSkpPyJyZ2JhKCIrblsxXSsiLDEpIjp0OnUuaGV4KGUpP2Z1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSgvXiM/KFthLWZcZF0pKFthLWZcZF0pKFthLWZcZF0pJC9pLChmdW5jdGlvbihlLHQsbixpKXtyZXR1cm4gdCt0K24rbitpK2l9KSksbj0vXiM/KFthLWZcZF17Mn0pKFthLWZcZF17Mn0pKFthLWZcZF17Mn0pJC9pLmV4ZWModCk7cmV0dXJuInJnYmEoIitwYXJzZUludChuWzFdLDE2KSsiLCIrcGFyc2VJbnQoblsyXSwxNikrIiwiK3BhcnNlSW50KG5bM10sMTYpKyIsMSkifShlKTp1LmhzbChlKT9mdW5jdGlvbihlKXt2YXIgdCxuLGkscj0vaHNsXCgoXGQrKSxccyooW1xkLl0rKSUsXHMqKFtcZC5dKyklXCkvZy5leGVjKGUpfHwvaHNsYVwoKFxkKyksXHMqKFtcZC5dKyklLFxzKihbXGQuXSspJSxccyooW1xkLl0rKVwpL2cuZXhlYyhlKSxhPXBhcnNlSW50KHJbMV0sMTApLzM2MCxvPXBhcnNlSW50KHJbMl0sMTApLzEwMCxzPXBhcnNlSW50KHJbM10sMTApLzEwMCxsPXJbNF18fDE7ZnVuY3Rpb24gdShlLHQsbil7cmV0dXJuIG48MCYmKG4rPTEpLG4+MSYmKG4tPTEpLG48MS82P2UrNioodC1lKSpuOm48LjU/dDpuPDIvMz9lKyh0LWUpKigyLzMtbikqNjplfWlmKDA9PW8pdD1uPWk9cztlbHNle3ZhciBjPXM8LjU/cyooMStvKTpzK28tcypvLGQ9MipzLWM7dD11KGQsYyxhKzEvMyksbj11KGQsYyxhKSxpPXUoZCxjLGEtMS8zKX1yZXR1cm4icmdiYSgiKzI1NSp0KyIsIisyNTUqbisiLCIrMjU1KmkrIiwiK2wrIikifShlKTp2b2lkIDA7dmFyIHQsbn1mdW5jdGlvbiBUKGUpe3ZhciB0PS9bKy1dP1xkKlwuP1xkKyg/OlwuXGQrKT8oPzpbZUVdWystXT9cZCspPyglfHB4fHB0fGVtfHJlbXxpbnxjbXxtbXxleHxjaHxwY3x2d3x2aHx2bWlufHZtYXh8ZGVnfHJhZHx0dXJuKT8kLy5leGVjKGUpO2lmKHQpcmV0dXJuIHRbMV19ZnVuY3Rpb24gRShlLHQpe3JldHVybiB1LmZuYyhlKT9lKHQudGFyZ2V0LHQuaWQsdC50b3RhbCk6ZX1mdW5jdGlvbiBfKGUsdCl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKHQpfWZ1bmN0aW9uIEEoZSx0LG4pe2lmKEQoW24sImRlZyIsInJhZCIsInR1cm4iXSxUKHQpKSlyZXR1cm4gdDt2YXIgaT1hLkNTU1t0K25dO2lmKCF1LnVuZChpKSlyZXR1cm4gaTt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUudGFnTmFtZSksbz1lLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZSE9PWRvY3VtZW50P2UucGFyZW50Tm9kZTpkb2N1bWVudC5ib2R5O28uYXBwZW5kQ2hpbGQociksci5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHIuc3R5bGUud2lkdGg9MTAwK247dmFyIHM9MTAwL3Iub2Zmc2V0V2lkdGg7by5yZW1vdmVDaGlsZChyKTt2YXIgbD1zKnBhcnNlRmxvYXQodCk7cmV0dXJuIGEuQ1NTW3Qrbl09bCxsfWZ1bmN0aW9uIE4oZSx0LG4pe2lmKHQgaW4gZS5zdHlsZSl7dmFyIGk9dC5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCkscj1lLnN0eWxlW3RdfHxnZXRDb21wdXRlZFN0eWxlKGUpLmdldFByb3BlcnR5VmFsdWUoaSl8fCIwIjtyZXR1cm4gbj9BKGUscixuKTpyfX1mdW5jdGlvbiBPKGUsdCl7cmV0dXJuIHUuZG9tKGUpJiYhdS5pbnAoZSkmJighdS5uaWwoXyhlLHQpKXx8dS5zdmcoZSkmJmVbdF0pPyJhdHRyaWJ1dGUiOnUuZG9tKGUpJiZEKHIsdCk/InRyYW5zZm9ybSI6dS5kb20oZSkmJiJ0cmFuc2Zvcm0iIT09dCYmTihlLHQpPyJjc3MiOm51bGwhPWVbdF0/Im9iamVjdCI6dm9pZCAwfWZ1bmN0aW9uIFAoZSl7aWYodS5kb20oZSkpe2Zvcih2YXIgdCxuPWUuc3R5bGUudHJhbnNmb3JtfHwiIixpPS8oXHcrKVwoKFteKV0qKVwpL2cscj1uZXcgTWFwO3Q9aS5leGVjKG4pOylyLnNldCh0WzFdLHRbMl0pO3JldHVybiByfX1mdW5jdGlvbiBqKGUsdCxuLGkpe3ZhciByPXModCwic2NhbGUiKT8xOjArZnVuY3Rpb24oZSl7cmV0dXJuIHMoZSwidHJhbnNsYXRlIil8fCJwZXJzcGVjdGl2ZSI9PT1lPyJweCI6cyhlLCJyb3RhdGUiKXx8cyhlLCJza2V3Iik/ImRlZyI6dm9pZCAwfSh0KSxhPVAoZSkuZ2V0KHQpfHxyO3JldHVybiBuJiYobi50cmFuc2Zvcm1zLmxpc3Quc2V0KHQsYSksbi50cmFuc2Zvcm1zLmxhc3Q9dCksaT9BKGUsYSxpKTphfWZ1bmN0aW9uIEwoZSx0LG4saSl7c3dpdGNoKE8oZSx0KSl7Y2FzZSJ0cmFuc2Zvcm0iOnJldHVybiBqKGUsdCxpLG4pO2Nhc2UiY3NzIjpyZXR1cm4gTihlLHQsbik7Y2FzZSJhdHRyaWJ1dGUiOnJldHVybiBfKGUsdCk7ZGVmYXVsdDpyZXR1cm4gZVt0XXx8MH19ZnVuY3Rpb24gSChlLHQpe3ZhciBuPS9eKFwqPXxcKz18LT0pLy5leGVjKGUpO2lmKCFuKXJldHVybiBlO3ZhciBpPVQoZSl8fDAscj1wYXJzZUZsb2F0KHQpLGE9cGFyc2VGbG9hdChlLnJlcGxhY2UoblswXSwiIikpO3N3aXRjaChuWzBdWzBdKXtjYXNlIisiOnJldHVybiByK2EraTtjYXNlIi0iOnJldHVybiByLWEraTtjYXNlIioiOnJldHVybiByKmEraX19ZnVuY3Rpb24gSShlLHQpe2lmKHUuY29sKGUpKXJldHVybiBrKGUpO2lmKC9ccy9nLnRlc3QoZSkpcmV0dXJuIGU7dmFyIG49VChlKSxpPW4/ZS5zdWJzdHIoMCxlLmxlbmd0aC1uLmxlbmd0aCk6ZTtyZXR1cm4gdD9pK3Q6aX1mdW5jdGlvbiBGKGUsdCl7cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyh0LngtZS54LDIpK01hdGgucG93KHQueS1lLnksMikpfWZ1bmN0aW9uIFYoZSl7Zm9yKHZhciB0LG49ZS5wb2ludHMsaT0wLHI9MDtyPG4ubnVtYmVyT2ZJdGVtcztyKyspe3ZhciBhPW4uZ2V0SXRlbShyKTtyPjAmJihpKz1GKHQsYSkpLHQ9YX1yZXR1cm4gaX1mdW5jdGlvbiBZKGUpe2lmKGUuZ2V0VG90YWxMZW5ndGgpcmV0dXJuIGUuZ2V0VG90YWxMZW5ndGgoKTtzd2l0Y2goZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkpe2Nhc2UiY2lyY2xlIjpyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIDIqTWF0aC5QSSpfKGUsInIiKX0oZSk7Y2FzZSJyZWN0IjpyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIDIqXyhlLCJ3aWR0aCIpKzIqXyhlLCJoZWlnaHQiKX0oZSk7Y2FzZSJsaW5lIjpyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIEYoe3g6XyhlLCJ4MSIpLHk6XyhlLCJ5MSIpfSx7eDpfKGUsIngyIikseTpfKGUsInkyIil9KX0oZSk7Y2FzZSJwb2x5bGluZSI6cmV0dXJuIFYoZSk7Y2FzZSJwb2x5Z29uIjpyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wb2ludHM7cmV0dXJuIFYoZSkrRih0LmdldEl0ZW0odC5udW1iZXJPZkl0ZW1zLTEpLHQuZ2V0SXRlbSgwKSl9KGUpfX1mdW5jdGlvbiBxKGUsdCl7dmFyIG49dHx8e30saT1uLmVsfHxmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZS5wYXJlbnROb2RlO3Uuc3ZnKHQpJiZ1LnN2Zyh0LnBhcmVudE5vZGUpOyl0PXQucGFyZW50Tm9kZTtyZXR1cm4gdH0oZSkscj1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9XyhpLCJ2aWV3Qm94Iiksbz1yLndpZHRoLHM9ci5oZWlnaHQsbD1uLnZpZXdCb3h8fChhP2Euc3BsaXQoIiAiKTpbMCwwLG8sc10pO3JldHVybntlbDppLHZpZXdCb3g6bCx4OmxbMF0vMSx5OmxbMV0vMSx3Om8saDpzLHZXOmxbMl0sdkg6bFszXX19ZnVuY3Rpb24geihlLHQsbil7ZnVuY3Rpb24gaShuKXt2b2lkIDA9PT1uJiYobj0wKTt2YXIgaT10K24+PTE/dCtuOjA7cmV0dXJuIGUuZWwuZ2V0UG9pbnRBdExlbmd0aChpKX12YXIgcj1xKGUuZWwsZS5zdmcpLGE9aSgpLG89aSgtMSkscz1pKDEpLGw9bj8xOnIudy9yLnZXLHU9bj8xOnIuaC9yLnZIO3N3aXRjaChlLnByb3BlcnR5KXtjYXNlIngiOnJldHVybihhLngtci54KSpsO2Nhc2UieSI6cmV0dXJuKGEueS1yLnkpKnU7Y2FzZSJhbmdsZSI6cmV0dXJuIDE4MCpNYXRoLmF0YW4yKHMueS1vLnkscy54LW8ueCkvTWF0aC5QSX19ZnVuY3Rpb24gJChlLHQpe3ZhciBuPS9bKy1dP1xkKlwuP1xkKyg/OlwuXGQrKT8oPzpbZUVdWystXT9cZCspPy9nLGk9SSh1LnB0aChlKT9lLnRvdGFsTGVuZ3RoOmUsdCkrIiI7cmV0dXJue29yaWdpbmFsOmksbnVtYmVyczppLm1hdGNoKG4pP2kubWF0Y2gobikubWFwKE51bWJlcik6WzBdLHN0cmluZ3M6dS5zdHIoZSl8fHQ/aS5zcGxpdChuKTpbXX19ZnVuY3Rpb24gQihlKXtyZXR1cm4gYihlP3codS5hcnIoZSk/ZS5tYXAoQyk6QyhlKSk6W10sKGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbi5pbmRleE9mKGUpPT09dH0pKX1mdW5jdGlvbiBSKGUpe3ZhciB0PUIoZSk7cmV0dXJuIHQubWFwKChmdW5jdGlvbihlLG4pe3JldHVybnt0YXJnZXQ6ZSxpZDpuLHRvdGFsOnQubGVuZ3RoLHRyYW5zZm9ybXM6e2xpc3Q6UChlKX19fSkpfWZ1bmN0aW9uIFUoZSx0KXt2YXIgbj14KHQpO2lmKC9ec3ByaW5nLy50ZXN0KG4uZWFzaW5nKSYmKG4uZHVyYXRpb249ZChuLmVhc2luZykpLHUuYXJyKGUpKXt2YXIgaT1lLmxlbmd0aDsyPT09aSYmIXUub2JqKGVbMF0pP2U9e3ZhbHVlOmV9OnUuZm5jKHQuZHVyYXRpb24pfHwobi5kdXJhdGlvbj10LmR1cmF0aW9uL2kpfXZhciByPXUuYXJyKGUpP2U6W2VdO3JldHVybiByLm1hcCgoZnVuY3Rpb24oZSxuKXt2YXIgaT11Lm9iaihlKSYmIXUucHRoKGUpP2U6e3ZhbHVlOmV9O3JldHVybiB1LnVuZChpLmRlbGF5KSYmKGkuZGVsYXk9bj8wOnQuZGVsYXkpLHUudW5kKGkuZW5kRGVsYXkpJiYoaS5lbmREZWxheT1uPT09ci5sZW5ndGgtMT90LmVuZERlbGF5OjApLGl9KSkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gUyhlLG4pfSkpfWZ1bmN0aW9uIFcoZSx0KXt2YXIgbj1bXSxpPXQua2V5ZnJhbWVzO2Zvcih2YXIgciBpbiBpJiYodD1TKGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1iKHcoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3Qua2V5cyhlKX0pKSksKGZ1bmN0aW9uKGUpe3JldHVybiB1LmtleShlKX0pKS5yZWR1Y2UoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuaW5kZXhPZih0KTwwJiZlLnB1c2godCksZX0pLFtdKSxuPXt9LGk9ZnVuY3Rpb24oaSl7dmFyIHI9dFtpXTtuW3JdPWUubWFwKChmdW5jdGlvbihlKXt2YXIgdD17fTtmb3IodmFyIG4gaW4gZSl1LmtleShuKT9uPT1yJiYodC52YWx1ZT1lW25dKTp0W25dPWVbbl07cmV0dXJuIHR9KSl9LHI9MDtyPHQubGVuZ3RoO3IrKylpKHIpO3JldHVybiBufShpKSx0KSksdCl1LmtleShyKSYmbi5wdXNoKHtuYW1lOnIsdHdlZW5zOlUodFtyXSxlKX0pO3JldHVybiBufWZ1bmN0aW9uIEcoZSx0KXt2YXIgbjtyZXR1cm4gZS50d2VlbnMubWFwKChmdW5jdGlvbihpKXt2YXIgcj1mdW5jdGlvbihlLHQpe3ZhciBuPXt9O2Zvcih2YXIgaSBpbiBlKXt2YXIgcj1FKGVbaV0sdCk7dS5hcnIocikmJjE9PT0ocj1yLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIEUoZSx0KX0pKSkubGVuZ3RoJiYocj1yWzBdKSxuW2ldPXJ9cmV0dXJuIG4uZHVyYXRpb249cGFyc2VGbG9hdChuLmR1cmF0aW9uKSxuLmRlbGF5PXBhcnNlRmxvYXQobi5kZWxheSksbn0oaSx0KSxhPXIudmFsdWUsbz11LmFycihhKT9hWzFdOmEscz1UKG8pLGw9TCh0LnRhcmdldCxlLm5hbWUscyx0KSxjPW4/bi50by5vcmlnaW5hbDpsLGQ9dS5hcnIoYSk/YVswXTpjLGY9VChkKXx8VChsKSxoPXN8fGY7cmV0dXJuIHUudW5kKG8pJiYobz1jKSxyLmZyb209JChkLGgpLHIudG89JChIKG8sZCksaCksci5zdGFydD1uP24uZW5kOjAsci5lbmQ9ci5zdGFydCtyLmRlbGF5K3IuZHVyYXRpb24rci5lbmREZWxheSxyLmVhc2luZz12KHIuZWFzaW5nLHIuZHVyYXRpb24pLHIuaXNQYXRoPXUucHRoKGEpLHIuaXNQYXRoVGFyZ2V0SW5zaWRlU1ZHPXIuaXNQYXRoJiZ1LnN2Zyh0LnRhcmdldCksci5pc0NvbG9yPXUuY29sKHIuZnJvbS5vcmlnaW5hbCksci5pc0NvbG9yJiYoci5yb3VuZD0xKSxuPXIscn0pKX12YXIgSz17Y3NzOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZS5zdHlsZVt0XT1ufSxhdHRyaWJ1dGU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlLnNldEF0dHJpYnV0ZSh0LG4pfSxvYmplY3Q6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlW3RdPW59LHRyYW5zZm9ybTpmdW5jdGlvbihlLHQsbixpLHIpe2lmKGkubGlzdC5zZXQodCxuKSx0PT09aS5sYXN0fHxyKXt2YXIgYT0iIjtpLmxpc3QuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXthKz10KyIoIitlKyIpICJ9KSksZS5zdHlsZS50cmFuc2Zvcm09YX19fTtmdW5jdGlvbiBKKGUsdCl7UihlKS5mb3JFYWNoKChmdW5jdGlvbihlKXtmb3IodmFyIG4gaW4gdCl7dmFyIGk9RSh0W25dLGUpLHI9ZS50YXJnZXQsYT1UKGkpLG89TChyLG4sYSxlKSxzPUgoSShpLGF8fFQobykpLG8pLGw9TyhyLG4pO0tbbF0ocixuLHMsZS50cmFuc2Zvcm1zLCEwKX19KSl9ZnVuY3Rpb24gWihlLHQpe3JldHVybiBiKHcoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dmFyIG49TyhlLnRhcmdldCx0Lm5hbWUpO2lmKG4pe3ZhciBpPUcodCxlKSxyPWlbaS5sZW5ndGgtMV07cmV0dXJue3R5cGU6bixwcm9wZXJ0eTp0Lm5hbWUsYW5pbWF0YWJsZTplLHR3ZWVuczppLGR1cmF0aW9uOnIuZW5kLGRlbGF5OmlbMF0uZGVsYXksZW5kRGVsYXk6ci5lbmREZWxheX19fShlLHQpfSkpfSkpKSwoZnVuY3Rpb24oZSl7cmV0dXJuIXUudW5kKGUpfSkpfWZ1bmN0aW9uIFgoZSx0KXt2YXIgbj1lLmxlbmd0aCxpPWZ1bmN0aW9uKGUpe3JldHVybiBlLnRpbWVsaW5lT2Zmc2V0P2UudGltZWxpbmVPZmZzZXQ6MH0scj17fTtyZXR1cm4gci5kdXJhdGlvbj1uP01hdGgubWF4LmFwcGx5KE1hdGgsZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBpKGUpK2UuZHVyYXRpb259KSkpOnQuZHVyYXRpb24sci5kZWxheT1uP01hdGgubWluLmFwcGx5KE1hdGgsZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBpKGUpK2UuZGVsYXl9KSkpOnQuZGVsYXksci5lbmREZWxheT1uP3IuZHVyYXRpb24tTWF0aC5tYXguYXBwbHkoTWF0aCxlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSkrZS5kdXJhdGlvbi1lLmVuZERlbGF5fSkpKTp0LmVuZERlbGF5LHJ9dmFyIFE9MDt2YXIgZWU9W10sdGU9ZnVuY3Rpb24oKXt2YXIgZTtmdW5jdGlvbiB0KG4pe2Zvcih2YXIgaT1lZS5sZW5ndGgscj0wO3I8aTspe3ZhciBhPWVlW3JdO2EucGF1c2VkPyhlZS5zcGxpY2UociwxKSxpLS0pOihhLnRpY2sobikscisrKX1lPXI+MD9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodCk6dm9pZCAwfXJldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLChmdW5jdGlvbigpe2llLnN1c3BlbmRXaGVuRG9jdW1lbnRIaWRkZW4mJihuZSgpP2U9Y2FuY2VsQW5pbWF0aW9uRnJhbWUoZSk6KGVlLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLl9vbkRvY3VtZW50VmlzaWJpbGl0eSgpfSkpLHRlKCkpKX0pKSxmdW5jdGlvbigpe2V8fG5lKCkmJmllLnN1c3BlbmRXaGVuRG9jdW1lbnRIaWRkZW58fCEoZWUubGVuZ3RoPjApfHwoZT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodCkpfX0oKTtmdW5jdGlvbiBuZSgpe3JldHVybiEhZG9jdW1lbnQmJmRvY3VtZW50LmhpZGRlbn1mdW5jdGlvbiBpZShlKXt2b2lkIDA9PT1lJiYoZT17fSk7dmFyIHQscj0wLGE9MCxzPTAsbD0wLHU9bnVsbDtmdW5jdGlvbiBjKGUpe3ZhciB0PXdpbmRvdy5Qcm9taXNlJiZuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7cmV0dXJuIHU9ZX0pKTtyZXR1cm4gZS5maW5pc2hlZD10LHR9dmFyIGQ9ZnVuY3Rpb24oZSl7dmFyIHQ9TShuLGUpLHI9TShpLGUpLGE9VyhyLGUpLG89UihlLnRhcmdldHMpLHM9WihvLGEpLGw9WChzLHIpLHU9UTtyZXR1cm4gUSsrLFModCx7aWQ6dSxjaGlsZHJlbjpbXSxhbmltYXRhYmxlczpvLGFuaW1hdGlvbnM6cyxkdXJhdGlvbjpsLmR1cmF0aW9uLGRlbGF5OmwuZGVsYXksZW5kRGVsYXk6bC5lbmREZWxheX0pfShlKTtjKGQpO2Z1bmN0aW9uIGYoKXt2YXIgZT1kLmRpcmVjdGlvbjsiYWx0ZXJuYXRlIiE9PWUmJihkLmRpcmVjdGlvbj0ibm9ybWFsIiE9PWU/Im5vcm1hbCI6InJldmVyc2UiKSxkLnJldmVyc2VkPSFkLnJldmVyc2VkLHQuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUucmV2ZXJzZWQ9ZC5yZXZlcnNlZH0pKX1mdW5jdGlvbiBoKGUpe3JldHVybiBkLnJldmVyc2VkP2QuZHVyYXRpb24tZTplfWZ1bmN0aW9uIG0oKXtyPTAsYT1oKGQuY3VycmVudFRpbWUpKigxL2llLnNwZWVkKX1mdW5jdGlvbiBwKGUsdCl7dCYmdC5zZWVrKGUtdC50aW1lbGluZU9mZnNldCl9ZnVuY3Rpb24gZyhlKXtmb3IodmFyIHQ9MCxuPWQuYW5pbWF0aW9ucyxpPW4ubGVuZ3RoO3Q8aTspe3ZhciByPW5bdF0sYT1yLmFuaW1hdGFibGUscz1yLnR3ZWVucyxsPXMubGVuZ3RoLTEsdT1zW2xdO2wmJih1PWIocywoZnVuY3Rpb24odCl7cmV0dXJuIGU8dC5lbmR9KSlbMF18fHUpO2Zvcih2YXIgYz1vKGUtdS5zdGFydC11LmRlbGF5LDAsdS5kdXJhdGlvbikvdS5kdXJhdGlvbixmPWlzTmFOKGMpPzE6dS5lYXNpbmcoYyksaD11LnRvLnN0cmluZ3MsbT11LnJvdW5kLHA9W10sZz11LnRvLm51bWJlcnMubGVuZ3RoLHY9dm9pZCAwLHk9MDt5PGc7eSsrKXt2YXIgdz12b2lkIDAsQz11LnRvLm51bWJlcnNbeV0sRD11LmZyb20ubnVtYmVyc1t5XXx8MDt3PXUuaXNQYXRoP3oodS52YWx1ZSxmKkMsdS5pc1BhdGhUYXJnZXRJbnNpZGVTVkcpOkQrZiooQy1EKSxtJiYodS5pc0NvbG9yJiZ5PjJ8fCh3PU1hdGgucm91bmQodyptKS9tKSkscC5wdXNoKHcpfXZhciB4PWgubGVuZ3RoO2lmKHgpe3Y9aFswXTtmb3IodmFyIE09MDtNPHg7TSsrKXtoW01dO3ZhciBTPWhbTSsxXSxrPXBbTV07aXNOYU4oayl8fCh2Kz1TP2srUzprKyIgIil9fWVsc2Ugdj1wWzBdO0tbci50eXBlXShhLnRhcmdldCxyLnByb3BlcnR5LHYsYS50cmFuc2Zvcm1zKSxyLmN1cnJlbnRWYWx1ZT12LHQrK319ZnVuY3Rpb24gdihlKXtkW2VdJiYhZC5wYXNzVGhyb3VnaCYmZFtlXShkKX1mdW5jdGlvbiB5KGUpe3ZhciBuPWQuZHVyYXRpb24saT1kLmRlbGF5LG09bi1kLmVuZERlbGF5LHk9aChlKTtkLnByb2dyZXNzPW8oeS9uKjEwMCwwLDEwMCksZC5yZXZlcnNlUGxheWJhY2s9eTxkLmN1cnJlbnRUaW1lLHQmJmZ1bmN0aW9uKGUpe2lmKGQucmV2ZXJzZVBsYXliYWNrKWZvcih2YXIgbj1sO24tLTspcChlLHRbbl0pO2Vsc2UgZm9yKHZhciBpPTA7aTxsO2krKylwKGUsdFtpXSl9KHkpLCFkLmJlZ2FuJiZkLmN1cnJlbnRUaW1lPjAmJihkLmJlZ2FuPSEwLHYoImJlZ2luIikpLCFkLmxvb3BCZWdhbiYmZC5jdXJyZW50VGltZT4wJiYoZC5sb29wQmVnYW49ITAsdigibG9vcEJlZ2luIikpLHk8PWkmJjAhPT1kLmN1cnJlbnRUaW1lJiZnKDApLCh5Pj1tJiZkLmN1cnJlbnRUaW1lIT09bnx8IW4pJiZnKG4pLHk+aSYmeTxtPyhkLmNoYW5nZUJlZ2FufHwoZC5jaGFuZ2VCZWdhbj0hMCxkLmNoYW5nZUNvbXBsZXRlZD0hMSx2KCJjaGFuZ2VCZWdpbiIpKSx2KCJjaGFuZ2UiKSxnKHkpKTpkLmNoYW5nZUJlZ2FuJiYoZC5jaGFuZ2VDb21wbGV0ZWQ9ITAsZC5jaGFuZ2VCZWdhbj0hMSx2KCJjaGFuZ2VDb21wbGV0ZSIpKSxkLmN1cnJlbnRUaW1lPW8oeSwwLG4pLGQuYmVnYW4mJnYoInVwZGF0ZSIpLGU+PW4mJihhPTAsZC5yZW1haW5pbmcmJiEwIT09ZC5yZW1haW5pbmcmJmQucmVtYWluaW5nLS0sZC5yZW1haW5pbmc/KHI9cyx2KCJsb29wQ29tcGxldGUiKSxkLmxvb3BCZWdhbj0hMSwiYWx0ZXJuYXRlIj09PWQuZGlyZWN0aW9uJiZmKCkpOihkLnBhdXNlZD0hMCxkLmNvbXBsZXRlZHx8KGQuY29tcGxldGVkPSEwLHYoImxvb3BDb21wbGV0ZSIpLHYoImNvbXBsZXRlIiksIWQucGFzc1Rocm91Z2gmJiJQcm9taXNlImluIHdpbmRvdyYmKHUoKSxjKGQpKSkpKX1yZXR1cm4gZC5yZXNldD1mdW5jdGlvbigpe3ZhciBlPWQuZGlyZWN0aW9uO2QucGFzc1Rocm91Z2g9ITEsZC5jdXJyZW50VGltZT0wLGQucHJvZ3Jlc3M9MCxkLnBhdXNlZD0hMCxkLmJlZ2FuPSExLGQubG9vcEJlZ2FuPSExLGQuY2hhbmdlQmVnYW49ITEsZC5jb21wbGV0ZWQ9ITEsZC5jaGFuZ2VDb21wbGV0ZWQ9ITEsZC5yZXZlcnNlUGxheWJhY2s9ITEsZC5yZXZlcnNlZD0icmV2ZXJzZSI9PT1lLGQucmVtYWluaW5nPWQubG9vcCx0PWQuY2hpbGRyZW47Zm9yKHZhciBuPWw9dC5sZW5ndGg7bi0tOylkLmNoaWxkcmVuW25dLnJlc2V0KCk7KGQucmV2ZXJzZWQmJiEwIT09ZC5sb29wfHwiYWx0ZXJuYXRlIj09PWUmJjE9PT1kLmxvb3ApJiZkLnJlbWFpbmluZysrLGcoZC5yZXZlcnNlZD9kLmR1cmF0aW9uOjApfSxkLl9vbkRvY3VtZW50VmlzaWJpbGl0eT1tLGQuc2V0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEooZSx0KSxkfSxkLnRpY2s9ZnVuY3Rpb24oZSl7cz1lLHJ8fChyPXMpLHkoKHMrKGEtcikpKmllLnNwZWVkKX0sZC5zZWVrPWZ1bmN0aW9uKGUpe3koaChlKSl9LGQucGF1c2U9ZnVuY3Rpb24oKXtkLnBhdXNlZD0hMCxtKCl9LGQucGxheT1mdW5jdGlvbigpe2QucGF1c2VkJiYoZC5jb21wbGV0ZWQmJmQucmVzZXQoKSxkLnBhdXNlZD0hMSxlZS5wdXNoKGQpLG0oKSx0ZSgpKX0sZC5yZXZlcnNlPWZ1bmN0aW9uKCl7ZigpLGQuY29tcGxldGVkPSFkLnJldmVyc2VkLG0oKX0sZC5yZXN0YXJ0PWZ1bmN0aW9uKCl7ZC5yZXNldCgpLGQucGxheSgpfSxkLnJlbW92ZT1mdW5jdGlvbihlKXthZShCKGUpLGQpfSxkLnJlc2V0KCksZC5hdXRvcGxheSYmZC5wbGF5KCksZH1mdW5jdGlvbiByZShlLHQpe2Zvcih2YXIgbj10Lmxlbmd0aDtuLS07KUQoZSx0W25dLmFuaW1hdGFibGUudGFyZ2V0KSYmdC5zcGxpY2UobiwxKX1mdW5jdGlvbiBhZShlLHQpe3ZhciBuPXQuYW5pbWF0aW9ucyxpPXQuY2hpbGRyZW47cmUoZSxuKTtmb3IodmFyIHI9aS5sZW5ndGg7ci0tOyl7dmFyIGE9aVtyXSxvPWEuYW5pbWF0aW9ucztyZShlLG8pLG8ubGVuZ3RofHxhLmNoaWxkcmVuLmxlbmd0aHx8aS5zcGxpY2UociwxKX1uLmxlbmd0aHx8aS5sZW5ndGh8fHQucGF1c2UoKX1pZS52ZXJzaW9uPSIzLjIuMSIsaWUuc3BlZWQ9MSxpZS5zdXNwZW5kV2hlbkRvY3VtZW50SGlkZGVuPSEwLGllLnJ1bm5pbmc9ZWUsaWUucmVtb3ZlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1CKGUpLG49ZWUubGVuZ3RoO24tLTspe2FlKHQsZWVbbl0pfX0saWUuZ2V0PUwsaWUuc2V0PUosaWUuY29udmVydFB4PUEsaWUucGF0aD1mdW5jdGlvbihlLHQpe3ZhciBuPXUuc3RyKGUpP3koZSlbMF06ZSxpPXR8fDEwMDtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJue3Byb3BlcnR5OmUsZWw6bixzdmc6cShuKSx0b3RhbExlbmd0aDpZKG4pKihpLzEwMCl9fX0saWUuc2V0RGFzaG9mZnNldD1mdW5jdGlvbihlKXt2YXIgdD1ZKGUpO3JldHVybiBlLnNldEF0dHJpYnV0ZSgic3Ryb2tlLWRhc2hhcnJheSIsdCksdH0saWUuc3RhZ2dlcj1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgbj10LmRpcmVjdGlvbnx8Im5vcm1hbCIsaT10LmVhc2luZz92KHQuZWFzaW5nKTpudWxsLHI9dC5ncmlkLGE9dC5heGlzLG89dC5mcm9tfHwwLHM9ImZpcnN0Ij09PW8sbD0iY2VudGVyIj09PW8sYz0ibGFzdCI9PT1vLGQ9dS5hcnIoZSksZj1kP3BhcnNlRmxvYXQoZVswXSk6cGFyc2VGbG9hdChlKSxoPWQ/cGFyc2VGbG9hdChlWzFdKTowLG09VChkP2VbMV06ZSl8fDAscD10LnN0YXJ0fHwwKyhkP2Y6MCksZz1bXSx5PTA7cmV0dXJuIGZ1bmN0aW9uKGUsdCx1KXtpZihzJiYobz0wKSxsJiYobz0odS0xKS8yKSxjJiYobz11LTEpLCFnLmxlbmd0aCl7Zm9yKHZhciB2PTA7djx1O3YrKyl7aWYocil7dmFyIGI9bD8oclswXS0xKS8yOm8lclswXSx3PWw/KHJbMV0tMSkvMjpNYXRoLmZsb29yKG8vclswXSksQz1iLXYlclswXSxEPXctTWF0aC5mbG9vcih2L3JbMF0pLHg9TWF0aC5zcXJ0KEMqQytEKkQpOyJ4Ij09PWEmJih4PS1DKSwieSI9PT1hJiYoeD0tRCksZy5wdXNoKHgpfWVsc2UgZy5wdXNoKE1hdGguYWJzKG8tdikpO3k9TWF0aC5tYXguYXBwbHkoTWF0aCxnKX1pJiYoZz1nLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGkoZS95KSp5fSkpKSwicmV2ZXJzZSI9PT1uJiYoZz1nLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGE/ZTwwPy0xKmU6LWU6TWF0aC5hYnMoeS1lKX0pKSl9cmV0dXJuIHArKGQ/KGgtZikveTpmKSooTWF0aC5yb3VuZCgxMDAqZ1t0XSkvMTAwKSttfX0saWUudGltZWxpbmU9ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9e30pO3ZhciB0PWllKGUpO3JldHVybiB0LmR1cmF0aW9uPTAsdC5hZGQ9ZnVuY3Rpb24obixyKXt2YXIgYT1lZS5pbmRleE9mKHQpLG89dC5jaGlsZHJlbjtmdW5jdGlvbiBzKGUpe2UucGFzc1Rocm91Z2g9ITB9YT4tMSYmZWUuc3BsaWNlKGEsMSk7Zm9yKHZhciBsPTA7bDxvLmxlbmd0aDtsKyspcyhvW2xdKTt2YXIgYz1TKG4sTShpLGUpKTtjLnRhcmdldHM9Yy50YXJnZXRzfHxlLnRhcmdldHM7dmFyIGQ9dC5kdXJhdGlvbjtjLmF1dG9wbGF5PSExLGMuZGlyZWN0aW9uPXQuZGlyZWN0aW9uLGMudGltZWxpbmVPZmZzZXQ9dS51bmQocik/ZDpIKHIsZCkscyh0KSx0LnNlZWsoYy50aW1lbGluZU9mZnNldCk7dmFyIGY9aWUoYyk7cyhmKSxvLnB1c2goZik7dmFyIGg9WChvLGUpO3JldHVybiB0LmRlbGF5PWguZGVsYXksdC5lbmREZWxheT1oLmVuZERlbGF5LHQuZHVyYXRpb249aC5kdXJhdGlvbix0LnNlZWsoMCksdC5yZXNldCgpLHQuYXV0b3BsYXkmJnQucGxheSgpLHR9LHR9LGllLmVhc2luZz12LGllLnBlbm5lcj1nLGllLnJhbmRvbT1mdW5jdGlvbihlLHQpe3JldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKHQtZSsxKSkrZX0sdC5aPWllfSw3NjY2NzpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtaOmZ1bmN0aW9uKCl7cmV0dXJuIEF9fSk7Y29uc3QgaT1bIm9uQ2hhbmdlIiwib25DbG9zZSIsIm9uRGF5Q3JlYXRlIiwib25EZXN0cm95Iiwib25LZXlEb3duIiwib25Nb250aENoYW5nZSIsIm9uT3BlbiIsIm9uUGFyc2VDb25maWciLCJvblJlYWR5Iiwib25WYWx1ZVVwZGF0ZSIsIm9uWWVhckNoYW5nZSIsIm9uUHJlQ2FsZW5kYXJQb3NpdGlvbiJdLHI9e19kaXNhYmxlOltdLGFsbG93SW5wdXQ6ITEsYWxsb3dJbnZhbGlkUHJlbG9hZDohMSxhbHRGb3JtYXQ6IkYgaiwgWSIsYWx0SW5wdXQ6ITEsYWx0SW5wdXRDbGFzczoiZm9ybS1jb250cm9sIGlucHV0IixhbmltYXRlOiJvYmplY3QiPT10eXBlb2Ygd2luZG93JiYtMT09PXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk1TSUUiKSxhcmlhRGF0ZUZvcm1hdDoiRiBqLCBZIixhdXRvRmlsbERlZmF1bHRUaW1lOiEwLGNsaWNrT3BlbnM6ITAsY2xvc2VPblNlbGVjdDohMCxjb25qdW5jdGlvbjoiLCAiLGRhdGVGb3JtYXQ6IlktbS1kIixkZWZhdWx0SG91cjoxMixkZWZhdWx0TWludXRlOjAsZGVmYXVsdFNlY29uZHM6MCxkaXNhYmxlOltdLGRpc2FibGVNb2JpbGU6ITEsZW5hYmxlU2Vjb25kczohMSxlbmFibGVUaW1lOiExLGVycm9ySGFuZGxlcjplPT4idW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUud2FybihlKSxnZXRXZWVrOmU9Pntjb25zdCB0PW5ldyBEYXRlKGUuZ2V0VGltZSgpKTt0LnNldEhvdXJzKDAsMCwwLDApLHQuc2V0RGF0ZSh0LmdldERhdGUoKSszLSh0LmdldERheSgpKzYpJTcpO3ZhciBuPW5ldyBEYXRlKHQuZ2V0RnVsbFllYXIoKSwwLDQpO3JldHVybiAxK01hdGgucm91bmQoKCh0LmdldFRpbWUoKS1uLmdldFRpbWUoKSkvODY0ZTUtMysobi5nZXREYXkoKSs2KSU3KS83KX0saG91ckluY3JlbWVudDoxLGlnbm9yZWRGb2N1c0VsZW1lbnRzOltdLGlubGluZTohMSxsb2NhbGU6ImRlZmF1bHQiLG1pbnV0ZUluY3JlbWVudDo1LG1vZGU6InNpbmdsZSIsbW9udGhTZWxlY3RvclR5cGU6ImRyb3Bkb3duIixuZXh0QXJyb3c6IjxzdmcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2aWV3Qm94PScwIDAgMTcgMTcnPjxnPjwvZz48cGF0aCBkPSdNMTMuMjA3IDguNDcybC03Ljg1NCA3Ljg1NC0wLjcwNy0wLjcwNyA3LjE0Ni03LjE0Ni03LjE0Ni03LjE0OCAwLjcwNy0wLjcwNyA3Ljg1NCA3Ljg1NHonIC8+PC9zdmc+Iixub0NhbGVuZGFyOiExLG5vdzpuZXcgRGF0ZSxvbkNoYW5nZTpbXSxvbkNsb3NlOltdLG9uRGF5Q3JlYXRlOltdLG9uRGVzdHJveTpbXSxvbktleURvd246W10sb25Nb250aENoYW5nZTpbXSxvbk9wZW46W10sb25QYXJzZUNvbmZpZzpbXSxvblJlYWR5OltdLG9uVmFsdWVVcGRhdGU6W10sb25ZZWFyQ2hhbmdlOltdLG9uUHJlQ2FsZW5kYXJQb3NpdGlvbjpbXSxwbHVnaW5zOltdLHBvc2l0aW9uOiJhdXRvIixwb3NpdGlvbkVsZW1lbnQ6dm9pZCAwLHByZXZBcnJvdzoiPHN2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHZpZXdCb3g9JzAgMCAxNyAxNyc+PGc+PC9nPjxwYXRoIGQ9J001LjIwNyA4LjQ3MWw3LjE0NiA3LjE0Ny0wLjcwNyAwLjcwNy03Ljg1My03Ljg1NCA3Ljg1NC03Ljg1MyAwLjcwNyAwLjcwNy03LjE0NyA3LjE0NnonIC8+PC9zdmc+IixzaG9ydGhhbmRDdXJyZW50TW9udGg6ITEsc2hvd01vbnRoczoxLHN0YXRpYzohMSx0aW1lXzI0aHI6ITEsd2Vla051bWJlcnM6ITEsd3JhcDohMX0sYT17d2Vla2RheXM6e3Nob3J0aGFuZDpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGxvbmdoYW5kOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXX0sbW9udGhzOntzaG9ydGhhbmQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSxsb25naGFuZDpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl19LGRheXNJbk1vbnRoOlszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sZmlyc3REYXlPZldlZWs6MCxvcmRpbmFsOmU9Pntjb25zdCB0PWUlMTAwO2lmKHQ+MyYmdDwyMSlyZXR1cm4idGgiO3N3aXRjaCh0JTEwKXtjYXNlIDE6cmV0dXJuInN0IjtjYXNlIDI6cmV0dXJuIm5kIjtjYXNlIDM6cmV0dXJuInJkIjtkZWZhdWx0OnJldHVybiJ0aCJ9fSxyYW5nZVNlcGFyYXRvcjoiIHRvICIsd2Vla0FiYnJldmlhdGlvbjoiV2siLHNjcm9sbFRpdGxlOiJTY3JvbGwgdG8gaW5jcmVtZW50Iix0b2dnbGVUaXRsZToiQ2xpY2sgdG8gdG9nZ2xlIixhbVBNOlsiQU0iLCJQTSJdLHllYXJBcmlhTGFiZWw6IlllYXIiLG1vbnRoQXJpYUxhYmVsOiJNb250aCIsaG91ckFyaWFMYWJlbDoiSG91ciIsbWludXRlQXJpYUxhYmVsOiJNaW51dGUiLHRpbWVfMjRocjohMX07dmFyIG89YTtjb25zdCBzPShlLHQ9Mik9PmAwMDAke2V9YC5zbGljZSgtMSp0KSxsPWU9PiEwPT09ZT8xOjA7ZnVuY3Rpb24gdShlLHQpe2xldCBuO3JldHVybiBmdW5jdGlvbigpe2NsZWFyVGltZW91dChuKSxuPXNldFRpbWVvdXQoKCgpPT5lLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksdCl9fWNvbnN0IGM9ZT0+ZSBpbnN0YW5jZW9mIEFycmF5P2U6W2VdO2Z1bmN0aW9uIGQoZSx0LG4pe2lmKCEwPT09bilyZXR1cm4gZS5jbGFzc0xpc3QuYWRkKHQpO2UuY2xhc3NMaXN0LnJlbW92ZSh0KX1mdW5jdGlvbiBmKGUsdCxuKXtjb25zdCBpPXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpO3JldHVybiB0PXR8fCIiLG49bnx8IiIsaS5jbGFzc05hbWU9dCx2b2lkIDAhPT1uJiYoaS50ZXh0Q29udGVudD1uKSxpfWZ1bmN0aW9uIGgoZSl7Zm9yKDtlLmZpcnN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQoZS5maXJzdENoaWxkKX1mdW5jdGlvbiBtKGUsdCl7cmV0dXJuIHQoZSk/ZTplLnBhcmVudE5vZGU/bShlLnBhcmVudE5vZGUsdCk6dm9pZCAwfWZ1bmN0aW9uIHAoZSx0KXtjb25zdCBuPWYoImRpdiIsIm51bUlucHV0V3JhcHBlciIpLGk9ZigiaW5wdXQiLCJudW1JbnB1dCAiK2UpLHI9Zigic3BhbiIsImFycm93VXAiKSxhPWYoInNwYW4iLCJhcnJvd0Rvd24iKTtpZigtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTVNJRSA5LjAiKT9pLnR5cGU9Im51bWJlciI6KGkudHlwZT0idGV4dCIsaS5wYXR0ZXJuPSJcXGQqIiksdm9pZCAwIT09dClmb3IoY29uc3QgZSBpbiB0KWkuc2V0QXR0cmlidXRlKGUsdFtlXSk7cmV0dXJuIG4uYXBwZW5kQ2hpbGQoaSksbi5hcHBlbmRDaGlsZChyKSxuLmFwcGVuZENoaWxkKGEpLG59ZnVuY3Rpb24gZyhlKXt0cnl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUuY29tcG9zZWRQYXRoKXtyZXR1cm4gZS5jb21wb3NlZFBhdGgoKVswXX1yZXR1cm4gZS50YXJnZXR9Y2F0Y2godCl7cmV0dXJuIGUudGFyZ2V0fX1jb25zdCB2PSgpPT57fSx5PShlLHQsbik9Pm4ubW9udGhzW3Q/InNob3J0aGFuZCI6ImxvbmdoYW5kIl1bZV0sYj17RDp2LEY6ZnVuY3Rpb24oZSx0LG4pe2Uuc2V0TW9udGgobi5tb250aHMubG9uZ2hhbmQuaW5kZXhPZih0KSl9LEc6KGUsdCk9PntlLnNldEhvdXJzKHBhcnNlRmxvYXQodCkpfSxIOihlLHQpPT57ZS5zZXRIb3VycyhwYXJzZUZsb2F0KHQpKX0sSjooZSx0KT0+e2Uuc2V0RGF0ZShwYXJzZUZsb2F0KHQpKX0sSzooZSx0LG4pPT57ZS5zZXRIb3VycyhlLmdldEhvdXJzKCklMTIrMTIqbChuZXcgUmVnRXhwKG4uYW1QTVsxXSwiaSIpLnRlc3QodCkpKX0sTTpmdW5jdGlvbihlLHQsbil7ZS5zZXRNb250aChuLm1vbnRocy5zaG9ydGhhbmQuaW5kZXhPZih0KSl9LFM6KGUsdCk9PntlLnNldFNlY29uZHMocGFyc2VGbG9hdCh0KSl9LFU6KGUsdCk9Pm5ldyBEYXRlKDFlMypwYXJzZUZsb2F0KHQpKSxXOmZ1bmN0aW9uKGUsdCxuKXtjb25zdCBpPXBhcnNlSW50KHQpLHI9bmV3IERhdGUoZS5nZXRGdWxsWWVhcigpLDAsMis3KihpLTEpLDAsMCwwLDApO3JldHVybiByLnNldERhdGUoci5nZXREYXRlKCktci5nZXREYXkoKStuLmZpcnN0RGF5T2ZXZWVrKSxyfSxZOihlLHQpPT57ZS5zZXRGdWxsWWVhcihwYXJzZUZsb2F0KHQpKX0sWjooZSx0KT0+bmV3IERhdGUodCksZDooZSx0KT0+e2Uuc2V0RGF0ZShwYXJzZUZsb2F0KHQpKX0saDooZSx0KT0+e2Uuc2V0SG91cnMocGFyc2VGbG9hdCh0KSl9LGk6KGUsdCk9PntlLnNldE1pbnV0ZXMocGFyc2VGbG9hdCh0KSl9LGo6KGUsdCk9PntlLnNldERhdGUocGFyc2VGbG9hdCh0KSl9LGw6dixtOihlLHQpPT57ZS5zZXRNb250aChwYXJzZUZsb2F0KHQpLTEpfSxuOihlLHQpPT57ZS5zZXRNb250aChwYXJzZUZsb2F0KHQpLTEpfSxzOihlLHQpPT57ZS5zZXRTZWNvbmRzKHBhcnNlRmxvYXQodCkpfSx1OihlLHQpPT5uZXcgRGF0ZShwYXJzZUZsb2F0KHQpKSx3OnYseTooZSx0KT0+e2Uuc2V0RnVsbFllYXIoMmUzK3BhcnNlRmxvYXQodCkpfX0sdz17RDoiKFxcdyspIixGOiIoXFx3KykiLEc6IihcXGRcXGR8XFxkKSIsSDoiKFxcZFxcZHxcXGQpIixKOiIoXFxkXFxkfFxcZClcXHcrIixLOiIiLE06IihcXHcrKSIsUzoiKFxcZFxcZHxcXGQpIixVOiIoLispIixXOiIoXFxkXFxkfFxcZCkiLFk6IihcXGR7NH0pIixaOiIoLispIixkOiIoXFxkXFxkfFxcZCkiLGg6IihcXGRcXGR8XFxkKSIsaToiKFxcZFxcZHxcXGQpIixqOiIoXFxkXFxkfFxcZCkiLGw6IihcXHcrKSIsbToiKFxcZFxcZHxcXGQpIixuOiIoXFxkXFxkfFxcZCkiLHM6IihcXGRcXGR8XFxkKSIsdToiKC4rKSIsdzoiKFxcZFxcZHxcXGQpIix5OiIoXFxkezJ9KSJ9LEM9e1o6ZT0+ZS50b0lTT1N0cmluZygpLEQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0LndlZWtkYXlzLnNob3J0aGFuZFtDLncoZSx0LG4pXX0sRjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHkoQy5uKGUsdCxuKS0xLCExLHQpfSxHOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gcyhDLmgoZSx0LG4pKX0sSDplPT5zKGUuZ2V0SG91cnMoKSksSjpmdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDAhPT10Lm9yZGluYWw/ZS5nZXREYXRlKCkrdC5vcmRpbmFsKGUuZ2V0RGF0ZSgpKTplLmdldERhdGUoKX0sSzooZSx0KT0+dC5hbVBNW2woZS5nZXRIb3VycygpPjExKV0sTTpmdW5jdGlvbihlLHQpe3JldHVybiB5KGUuZ2V0TW9udGgoKSwhMCx0KX0sUzplPT5zKGUuZ2V0U2Vjb25kcygpKSxVOmU9PmUuZ2V0VGltZSgpLzFlMyxXOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbi5nZXRXZWVrKGUpfSxZOmU9PnMoZS5nZXRGdWxsWWVhcigpLDQpLGQ6ZT0+cyhlLmdldERhdGUoKSksaDplPT5lLmdldEhvdXJzKCklMTI/ZS5nZXRIb3VycygpJTEyOjEyLGk6ZT0+cyhlLmdldE1pbnV0ZXMoKSksajplPT5lLmdldERhdGUoKSxsOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQud2Vla2RheXMubG9uZ2hhbmRbZS5nZXREYXkoKV19LG06ZT0+cyhlLmdldE1vbnRoKCkrMSksbjplPT5lLmdldE1vbnRoKCkrMSxzOmU9PmUuZ2V0U2Vjb25kcygpLHU6ZT0+ZS5nZXRUaW1lKCksdzplPT5lLmdldERheSgpLHk6ZT0+U3RyaW5nKGUuZ2V0RnVsbFllYXIoKSkuc3Vic3RyaW5nKDIpfSxEPSh7Y29uZmlnOmU9cixsMTBuOnQ9YSxpc01vYmlsZTpuPSExfSk9PihpLHIsYSk9Pntjb25zdCBvPWF8fHQ7cmV0dXJuIHZvaWQgMD09PWUuZm9ybWF0RGF0ZXx8bj9yLnNwbGl0KCIiKS5tYXAoKCh0LG4scik9PkNbdF0mJiJcXCIhPT1yW24tMV0/Q1t0XShpLG8sZSk6IlxcIiE9PXQ/dDoiIikpLmpvaW4oIiIpOmUuZm9ybWF0RGF0ZShpLHIsbyl9LHg9KHtjb25maWc6ZT1yLGwxMG46dD1hfSk9PihuLGksYSxvKT0+e2lmKDAhPT1uJiYhbilyZXR1cm47Y29uc3Qgcz1vfHx0O2xldCBsO2NvbnN0IHU9bjtpZihuIGluc3RhbmNlb2YgRGF0ZSlsPW5ldyBEYXRlKG4uZ2V0VGltZSgpKTtlbHNlIGlmKCJzdHJpbmciIT10eXBlb2YgbiYmdm9pZCAwIT09bi50b0ZpeGVkKWw9bmV3IERhdGUobik7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIG4pe2NvbnN0IHQ9aXx8KGV8fHIpLmRhdGVGb3JtYXQsbz1TdHJpbmcobikudHJpbSgpO2lmKCJ0b2RheSI9PT1vKWw9bmV3IERhdGUsYT0hMDtlbHNlIGlmKC9aJC8udGVzdChvKXx8L0dNVCQvLnRlc3QobykpbD1uZXcgRGF0ZShuKTtlbHNlIGlmKGUmJmUucGFyc2VEYXRlKWw9ZS5wYXJzZURhdGUobix0KTtlbHNle2w9ZSYmZS5ub0NhbGVuZGFyP25ldyBEYXRlKChuZXcgRGF0ZSkuc2V0SG91cnMoMCwwLDAsMCkpOm5ldyBEYXRlKChuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSwwLDEsMCwwLDAsMCk7bGV0IGkscj1bXTtmb3IobGV0IGU9MCxhPTAsbz0iIjtlPHQubGVuZ3RoO2UrKyl7Y29uc3QgdT10W2VdLGM9IlxcIj09PXUsZD0iXFwiPT09dFtlLTFdfHxjO2lmKHdbdV0mJiFkKXtvKz13W3VdO2NvbnN0IGU9bmV3IFJlZ0V4cChvKS5leGVjKG4pO2UmJihpPSEwKSYmclsiWSIhPT11PyJwdXNoIjoidW5zaGlmdCJdKHtmbjpiW3VdLHZhbDplWysrYV19KX1lbHNlIGN8fChvKz0iLiIpO3IuZm9yRWFjaCgoKHtmbjplLHZhbDp0fSk9Pmw9ZShsLHQscyl8fGwpKX1sPWk/bDp2b2lkIDB9fWlmKGwgaW5zdGFuY2VvZiBEYXRlJiYhaXNOYU4obC5nZXRUaW1lKCkpKXJldHVybiEwPT09YSYmbC5zZXRIb3VycygwLDAsMCwwKSxsO2UuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihgSW52YWxpZCBkYXRlIHByb3ZpZGVkOiAke3V9YCkpfTtmdW5jdGlvbiBNKGUsdCxuPSEwKXtyZXR1cm4hMSE9PW4/bmV3IERhdGUoZS5nZXRUaW1lKCkpLnNldEhvdXJzKDAsMCwwLDApLW5ldyBEYXRlKHQuZ2V0VGltZSgpKS5zZXRIb3VycygwLDAsMCwwKTplLmdldFRpbWUoKS10LmdldFRpbWUoKX1jb25zdCBTPTg2NGU1O2Z1bmN0aW9uIGsoZSl7bGV0IHQ9ZS5kZWZhdWx0SG91cixuPWUuZGVmYXVsdE1pbnV0ZSxpPWUuZGVmYXVsdFNlY29uZHM7aWYodm9pZCAwIT09ZS5taW5EYXRlKXtjb25zdCByPWUubWluRGF0ZS5nZXRIb3VycygpLGE9ZS5taW5EYXRlLmdldE1pbnV0ZXMoKSxvPWUubWluRGF0ZS5nZXRTZWNvbmRzKCk7dDxyJiYodD1yKSx0PT09ciYmbjxhJiYobj1hKSx0PT09ciYmbj09PWEmJmk8byYmKGk9ZS5taW5EYXRlLmdldFNlY29uZHMoKSl9aWYodm9pZCAwIT09ZS5tYXhEYXRlKXtjb25zdCByPWUubWF4RGF0ZS5nZXRIb3VycygpLGE9ZS5tYXhEYXRlLmdldE1pbnV0ZXMoKTt0PU1hdGgubWluKHQsciksdD09PXImJihuPU1hdGgubWluKGEsbikpLHQ9PT1yJiZuPT09YSYmKGk9ZS5tYXhEYXRlLmdldFNlY29uZHMoKSl9cmV0dXJue2hvdXJzOnQsbWludXRlczpuLHNlY29uZHM6aX19bigyMTg5NSk7ZnVuY3Rpb24gVChlLHQpe2NvbnN0IG49e2NvbmZpZzpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sciksXy5kZWZhdWx0Q29uZmlnKSxsMTBuOm99O2Z1bmN0aW9uIGEoZSl7cmV0dXJuIGUuYmluZChuKX1mdW5jdGlvbiB2KCl7Y29uc3QgZT1uLmNvbmZpZzshMT09PWUud2Vla051bWJlcnMmJjE9PT1lLnNob3dNb250aHN8fCEwIT09ZS5ub0NhbGVuZGFyJiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe2lmKHZvaWQgMCE9PW4uY2FsZW5kYXJDb250YWluZXImJihuLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsbi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PSJibG9jayIpLHZvaWQgMCE9PW4uZGF5c0NvbnRhaW5lcil7Y29uc3QgdD0obi5kYXlzLm9mZnNldFdpZHRoKzEpKmUuc2hvd01vbnRocztuLmRheXNDb250YWluZXIuc3R5bGUud2lkdGg9dCsicHgiLG4uY2FsZW5kYXJDb250YWluZXIuc3R5bGUud2lkdGg9dCsodm9pZCAwIT09bi53ZWVrV3JhcHBlcj9uLndlZWtXcmFwcGVyLm9mZnNldFdpZHRoOjApKyJweCIsbi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidmlzaWJpbGl0eSIpLG4uY2FsZW5kYXJDb250YWluZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoImRpc3BsYXkiKX19KSl9ZnVuY3Rpb24gYihlKXtpZigwPT09bi5zZWxlY3RlZERhdGVzLmxlbmd0aCl7Y29uc3QgZT12b2lkIDA9PT1uLmNvbmZpZy5taW5EYXRlfHxNKG5ldyBEYXRlLG4uY29uZmlnLm1pbkRhdGUpPj0wP25ldyBEYXRlOm5ldyBEYXRlKG4uY29uZmlnLm1pbkRhdGUuZ2V0VGltZSgpKSx0PWsobi5jb25maWcpO2Uuc2V0SG91cnModC5ob3Vycyx0Lm1pbnV0ZXMsdC5zZWNvbmRzLGUuZ2V0TWlsbGlzZWNvbmRzKCkpLG4uc2VsZWN0ZWREYXRlcz1bZV0sbi5sYXRlc3RTZWxlY3RlZERhdGVPYmo9ZX12b2lkIDAhPT1lJiYiYmx1ciIhPT1lLnR5cGUmJmZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PSJrZXlkb3duIj09PWUudHlwZSxpPWcoZSkscj1pO3ZvaWQgMCE9PW4uYW1QTSYmaT09PW4uYW1QTSYmKG4uYW1QTS50ZXh0Q29udGVudD1uLmwxMG4uYW1QTVtsKG4uYW1QTS50ZXh0Q29udGVudD09PW4ubDEwbi5hbVBNWzBdKV0pO2NvbnN0IGE9cGFyc2VGbG9hdChyLmdldEF0dHJpYnV0ZSgibWluIikpLG89cGFyc2VGbG9hdChyLmdldEF0dHJpYnV0ZSgibWF4IikpLHU9cGFyc2VGbG9hdChyLmdldEF0dHJpYnV0ZSgic3RlcCIpKSxjPXBhcnNlSW50KHIudmFsdWUsMTApLGQ9ZS5kZWx0YXx8KHQ/Mzg9PT1lLndoaWNoPzE6LTE6MCk7bGV0IGY9Yyt1KmQ7aWYodm9pZCAwIT09ci52YWx1ZSYmMj09PXIudmFsdWUubGVuZ3RoKXtjb25zdCBlPXI9PT1uLmhvdXJFbGVtZW50LHQ9cj09PW4ubWludXRlRWxlbWVudDtmPGE/KGY9bytmK2woIWUpKyhsKGUpJiZsKCFuLmFtUE0pKSx0JiZMKHZvaWQgMCwtMSxuLmhvdXJFbGVtZW50KSk6Zj5vJiYoZj1yPT09bi5ob3VyRWxlbWVudD9mLW8tbCghbi5hbVBNKTphLHQmJkwodm9pZCAwLDEsbi5ob3VyRWxlbWVudCkpLG4uYW1QTSYmZSYmKDE9PT11P2YrYz09PTIzOk1hdGguYWJzKGYtYyk+dSkmJihuLmFtUE0udGV4dENvbnRlbnQ9bi5sMTBuLmFtUE1bbChuLmFtUE0udGV4dENvbnRlbnQ9PT1uLmwxMG4uYW1QTVswXSldKSxyLnZhbHVlPXMoZil9fShlKTtjb25zdCB0PW4uX2lucHV0LnZhbHVlO0MoKSx5ZSgpLG4uX2lucHV0LnZhbHVlIT09dCYmbi5fZGVib3VuY2VkQ2hhbmdlKCl9ZnVuY3Rpb24gQygpe2lmKHZvaWQgMD09PW4uaG91ckVsZW1lbnR8fHZvaWQgMD09PW4ubWludXRlRWxlbWVudClyZXR1cm47bGV0IGU9KHBhcnNlSW50KG4uaG91ckVsZW1lbnQudmFsdWUuc2xpY2UoLTIpLDEwKXx8MCklMjQsdD0ocGFyc2VJbnQobi5taW51dGVFbGVtZW50LnZhbHVlLDEwKXx8MCklNjAsaT12b2lkIDAhPT1uLnNlY29uZEVsZW1lbnQ/KHBhcnNlSW50KG4uc2Vjb25kRWxlbWVudC52YWx1ZSwxMCl8fDApJTYwOjA7dmFyIHIsYTt2b2lkIDAhPT1uLmFtUE0mJihyPWUsYT1uLmFtUE0udGV4dENvbnRlbnQsZT1yJTEyKzEyKmwoYT09PW4ubDEwbi5hbVBNWzFdKSk7Y29uc3Qgbz12b2lkIDAhPT1uLmNvbmZpZy5taW5UaW1lfHxuLmNvbmZpZy5taW5EYXRlJiZuLm1pbkRhdGVIYXNUaW1lJiZuLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiYmMD09PU0obi5sYXRlc3RTZWxlY3RlZERhdGVPYmosbi5jb25maWcubWluRGF0ZSwhMCk7aWYodm9pZCAwIT09bi5jb25maWcubWF4VGltZXx8bi5jb25maWcubWF4RGF0ZSYmbi5tYXhEYXRlSGFzVGltZSYmbi5sYXRlc3RTZWxlY3RlZERhdGVPYmomJjA9PT1NKG4ubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLG4uY29uZmlnLm1heERhdGUsITApKXtjb25zdCByPXZvaWQgMCE9PW4uY29uZmlnLm1heFRpbWU/bi5jb25maWcubWF4VGltZTpuLmNvbmZpZy5tYXhEYXRlO2U9TWF0aC5taW4oZSxyLmdldEhvdXJzKCkpLGU9PT1yLmdldEhvdXJzKCkmJih0PU1hdGgubWluKHQsci5nZXRNaW51dGVzKCkpKSx0PT09ci5nZXRNaW51dGVzKCkmJihpPU1hdGgubWluKGksci5nZXRTZWNvbmRzKCkpKX1pZihvKXtjb25zdCByPXZvaWQgMCE9PW4uY29uZmlnLm1pblRpbWU/bi5jb25maWcubWluVGltZTpuLmNvbmZpZy5taW5EYXRlO2U9TWF0aC5tYXgoZSxyLmdldEhvdXJzKCkpLGU9PT1yLmdldEhvdXJzKCkmJnQ8ci5nZXRNaW51dGVzKCkmJih0PXIuZ2V0TWludXRlcygpKSx0PT09ci5nZXRNaW51dGVzKCkmJihpPU1hdGgubWF4KGksci5nZXRTZWNvbmRzKCkpKX1FKGUsdCxpKX1mdW5jdGlvbiBUKGUpe2NvbnN0IHQ9ZXx8bi5sYXRlc3RTZWxlY3RlZERhdGVPYmo7dCYmRSh0LmdldEhvdXJzKCksdC5nZXRNaW51dGVzKCksdC5nZXRTZWNvbmRzKCkpfWZ1bmN0aW9uIEUoZSx0LGkpe3ZvaWQgMCE9PW4ubGF0ZXN0U2VsZWN0ZWREYXRlT2JqJiZuLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5zZXRIb3VycyhlJTI0LHQsaXx8MCwwKSxuLmhvdXJFbGVtZW50JiZuLm1pbnV0ZUVsZW1lbnQmJiFuLmlzTW9iaWxlJiYobi5ob3VyRWxlbWVudC52YWx1ZT1zKG4uY29uZmlnLnRpbWVfMjRocj9lOigxMitlKSUxMisxMipsKGUlMTI9PTApKSxuLm1pbnV0ZUVsZW1lbnQudmFsdWU9cyh0KSx2b2lkIDAhPT1uLmFtUE0mJihuLmFtUE0udGV4dENvbnRlbnQ9bi5sMTBuLmFtUE1bbChlPj0xMildKSx2b2lkIDAhPT1uLnNlY29uZEVsZW1lbnQmJihuLnNlY29uZEVsZW1lbnQudmFsdWU9cyhpKSkpfWZ1bmN0aW9uIEEoZSl7Y29uc3QgdD1nKGUpLG49cGFyc2VJbnQodC52YWx1ZSkrKGUuZGVsdGF8fDApOyhuLzFlMz4xfHwiRW50ZXIiPT09ZS5rZXkmJiEvW15cZF0vLnRlc3Qobi50b1N0cmluZygpKSkmJkoobil9ZnVuY3Rpb24gTihlLHQsaSxyKXtyZXR1cm4gdCBpbnN0YW5jZW9mIEFycmF5P3QuZm9yRWFjaCgodD0+TihlLHQsaSxyKSkpOmUgaW5zdGFuY2VvZiBBcnJheT9lLmZvckVhY2goKGU9Pk4oZSx0LGkscikpKTooZS5hZGRFdmVudExpc3RlbmVyKHQsaSxyKSx2b2lkIG4uX2hhbmRsZXJzLnB1c2goe3JlbW92ZTooKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsaSl9KSl9ZnVuY3Rpb24gTygpe2hlKCJvbkNoYW5nZSIpfWZ1bmN0aW9uIFAoZSx0KXtjb25zdCBpPXZvaWQgMCE9PWU/bi5wYXJzZURhdGUoZSk6bi5sYXRlc3RTZWxlY3RlZERhdGVPYmp8fChuLmNvbmZpZy5taW5EYXRlJiZuLmNvbmZpZy5taW5EYXRlPm4ubm93P24uY29uZmlnLm1pbkRhdGU6bi5jb25maWcubWF4RGF0ZSYmbi5jb25maWcubWF4RGF0ZTxuLm5vdz9uLmNvbmZpZy5tYXhEYXRlOm4ubm93KSxyPW4uY3VycmVudFllYXIsYT1uLmN1cnJlbnRNb250aDt0cnl7dm9pZCAwIT09aSYmKG4uY3VycmVudFllYXI9aS5nZXRGdWxsWWVhcigpLG4uY3VycmVudE1vbnRoPWkuZ2V0TW9udGgoKSl9Y2F0Y2goZSl7ZS5tZXNzYWdlPSJJbnZhbGlkIGRhdGUgc3VwcGxpZWQ6ICIraSxuLmNvbmZpZy5lcnJvckhhbmRsZXIoZSl9dCYmbi5jdXJyZW50WWVhciE9PXImJihoZSgib25ZZWFyQ2hhbmdlIikseigpKSwhdHx8bi5jdXJyZW50WWVhcj09PXImJm4uY3VycmVudE1vbnRoPT09YXx8aGUoIm9uTW9udGhDaGFuZ2UiKSxuLnJlZHJhdygpfWZ1bmN0aW9uIGooZSl7Y29uc3QgdD1nKGUpO350LmNsYXNzTmFtZS5pbmRleE9mKCJhcnJvdyIpJiZMKGUsdC5jbGFzc0xpc3QuY29udGFpbnMoImFycm93VXAiKT8xOi0xKX1mdW5jdGlvbiBMKGUsdCxuKXtjb25zdCBpPWUmJmcoZSkscj1ufHxpJiZpLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5maXJzdENoaWxkLGE9bWUoImluY3JlbWVudCIpO2EuZGVsdGE9dCxyJiZyLmRpc3BhdGNoRXZlbnQoYSl9ZnVuY3Rpb24gSChlLHQsaSxyKXtjb25zdCBhPVoodCwhMCksbz1mKCJzcGFuIiwiZmxhdHBpY2tyLWRheSAiK2UsdC5nZXREYXRlKCkudG9TdHJpbmcoKSk7cmV0dXJuIG8uZGF0ZU9iaj10LG8uJGk9cixvLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsbi5mb3JtYXREYXRlKHQsbi5jb25maWcuYXJpYURhdGVGb3JtYXQpKSwtMT09PWUuaW5kZXhPZigiaGlkZGVuIikmJjA9PT1NKHQsbi5ub3cpJiYobi50b2RheURhdGVFbGVtPW8sby5jbGFzc0xpc3QuYWRkKCJ0b2RheSIpLG8uc2V0QXR0cmlidXRlKCJhcmlhLWN1cnJlbnQiLCJkYXRlIikpLGE/KG8udGFiSW5kZXg9LTEscGUodCkmJihvLmNsYXNzTGlzdC5hZGQoInNlbGVjdGVkIiksbi5zZWxlY3RlZERhdGVFbGVtPW8sInJhbmdlIj09PW4uY29uZmlnLm1vZGUmJihkKG8sInN0YXJ0UmFuZ2UiLG4uc2VsZWN0ZWREYXRlc1swXSYmMD09PU0odCxuLnNlbGVjdGVkRGF0ZXNbMF0sITApKSxkKG8sImVuZFJhbmdlIixuLnNlbGVjdGVkRGF0ZXNbMV0mJjA9PT1NKHQsbi5zZWxlY3RlZERhdGVzWzFdLCEwKSksIm5leHRNb250aERheSI9PT1lJiZvLmNsYXNzTGlzdC5hZGQoImluUmFuZ2UiKSkpKTpvLmNsYXNzTGlzdC5hZGQoImZsYXRwaWNrci1kaXNhYmxlZCIpLCJyYW5nZSI9PT1uLmNvbmZpZy5tb2RlJiZmdW5jdGlvbihlKXtyZXR1cm4hKCJyYW5nZSIhPT1uLmNvbmZpZy5tb2RlfHxuLnNlbGVjdGVkRGF0ZXMubGVuZ3RoPDIpJiYoTShlLG4uc2VsZWN0ZWREYXRlc1swXSk+PTAmJk0oZSxuLnNlbGVjdGVkRGF0ZXNbMV0pPD0wKX0odCkmJiFwZSh0KSYmby5jbGFzc0xpc3QuYWRkKCJpblJhbmdlIiksbi53ZWVrTnVtYmVycyYmMT09PW4uY29uZmlnLnNob3dNb250aHMmJiJwcmV2TW9udGhEYXkiIT09ZSYmaSU3PT0xJiZuLndlZWtOdW1iZXJzLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwiPHNwYW4gY2xhc3M9J2ZsYXRwaWNrci1kYXknPiIrbi5jb25maWcuZ2V0V2Vlayh0KSsiPC9zcGFuPiIpLGhlKCJvbkRheUNyZWF0ZSIsbyksb31mdW5jdGlvbiBJKGUpe2UuZm9jdXMoKSwicmFuZ2UiPT09bi5jb25maWcubW9kZSYmdGUoZSl9ZnVuY3Rpb24gRihlKXtjb25zdCB0PWU+MD8wOm4uY29uZmlnLnNob3dNb250aHMtMSxpPWU+MD9uLmNvbmZpZy5zaG93TW9udGhzOi0xO2ZvcihsZXQgcj10O3IhPWk7cis9ZSl7Y29uc3QgdD1uLmRheXNDb250YWluZXIuY2hpbGRyZW5bcl0saT1lPjA/MDp0LmNoaWxkcmVuLmxlbmd0aC0xLGE9ZT4wP3QuY2hpbGRyZW4ubGVuZ3RoOi0xO2ZvcihsZXQgbj1pO24hPWE7bis9ZSl7Y29uc3QgZT10LmNoaWxkcmVuW25dO2lmKC0xPT09ZS5jbGFzc05hbWUuaW5kZXhPZigiaGlkZGVuIikmJlooZS5kYXRlT2JqKSlyZXR1cm4gZX19fWZ1bmN0aW9uIFYoZSx0KXtjb25zdCBpPVgoZG9jdW1lbnQuYWN0aXZlRWxlbWVudHx8ZG9jdW1lbnQuYm9keSkscj12b2lkIDAhPT1lP2U6aT9kb2N1bWVudC5hY3RpdmVFbGVtZW50OnZvaWQgMCE9PW4uc2VsZWN0ZWREYXRlRWxlbSYmWChuLnNlbGVjdGVkRGF0ZUVsZW0pP24uc2VsZWN0ZWREYXRlRWxlbTp2b2lkIDAhPT1uLnRvZGF5RGF0ZUVsZW0mJlgobi50b2RheURhdGVFbGVtKT9uLnRvZGF5RGF0ZUVsZW06Rih0PjA/MTotMSk7dm9pZCAwPT09cj9uLl9pbnB1dC5mb2N1cygpOmk/ZnVuY3Rpb24oZSx0KXtjb25zdCBpPS0xPT09ZS5jbGFzc05hbWUuaW5kZXhPZigiTW9udGgiKT9lLmRhdGVPYmouZ2V0TW9udGgoKTpuLmN1cnJlbnRNb250aCxyPXQ+MD9uLmNvbmZpZy5zaG93TW9udGhzOi0xLGE9dD4wPzE6LTE7Zm9yKGxldCBvPWktbi5jdXJyZW50TW9udGg7byE9cjtvKz1hKXtjb25zdCByPW4uZGF5c0NvbnRhaW5lci5jaGlsZHJlbltvXSxzPWktbi5jdXJyZW50TW9udGg9PT1vP2UuJGkrdDp0PDA/ci5jaGlsZHJlbi5sZW5ndGgtMTowLGw9ci5jaGlsZHJlbi5sZW5ndGg7Zm9yKGxldCBuPXM7bj49MCYmbjxsJiZuIT0odD4wP2w6LTEpO24rPWEpe2NvbnN0IGk9ci5jaGlsZHJlbltuXTtpZigtMT09PWkuY2xhc3NOYW1lLmluZGV4T2YoImhpZGRlbiIpJiZaKGkuZGF0ZU9iaikmJk1hdGguYWJzKGUuJGktbik+PU1hdGguYWJzKHQpKXJldHVybiBJKGkpfX1uLmNoYW5nZU1vbnRoKGEpLFYoRihhKSwwKX0ocix0KTpJKHIpfWZ1bmN0aW9uIFkoZSx0KXtjb25zdCBpPShuZXcgRGF0ZShlLHQsMSkuZ2V0RGF5KCktbi5sMTBuLmZpcnN0RGF5T2ZXZWVrKzcpJTcscj1uLnV0aWxzLmdldERheXNJbk1vbnRoKCh0LTErMTIpJTEyLGUpLGE9bi51dGlscy5nZXREYXlzSW5Nb250aCh0LGUpLG89d2luZG93LmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxzPW4uY29uZmlnLnNob3dNb250aHM+MSxsPXM/InByZXZNb250aERheSBoaWRkZW4iOiJwcmV2TW9udGhEYXkiLHU9cz8ibmV4dE1vbnRoRGF5IGhpZGRlbiI6Im5leHRNb250aERheSI7bGV0IGM9cisxLWksZD0wO2Zvcig7Yzw9cjtjKyssZCsrKW8uYXBwZW5kQ2hpbGQoSChsLG5ldyBEYXRlKGUsdC0xLGMpLGMsZCkpO2ZvcihjPTE7Yzw9YTtjKyssZCsrKW8uYXBwZW5kQ2hpbGQoSCgiIixuZXcgRGF0ZShlLHQsYyksYyxkKSk7Zm9yKGxldCByPWErMTtyPD00Mi1pJiYoMT09PW4uY29uZmlnLnNob3dNb250aHN8fGQlNyE9MCk7cisrLGQrKylvLmFwcGVuZENoaWxkKEgodSxuZXcgRGF0ZShlLHQrMSxyJWEpLHIsZCkpO2NvbnN0IGg9ZigiZGl2IiwiZGF5Q29udGFpbmVyIik7cmV0dXJuIGguYXBwZW5kQ2hpbGQobyksaH1mdW5jdGlvbiBxKCl7aWYodm9pZCAwPT09bi5kYXlzQ29udGFpbmVyKXJldHVybjtoKG4uZGF5c0NvbnRhaW5lciksbi53ZWVrTnVtYmVycyYmaChuLndlZWtOdW1iZXJzKTtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtmb3IobGV0IHQ9MDt0PG4uY29uZmlnLnNob3dNb250aHM7dCsrKXtjb25zdCBpPW5ldyBEYXRlKG4uY3VycmVudFllYXIsbi5jdXJyZW50TW9udGgsMSk7aS5zZXRNb250aChuLmN1cnJlbnRNb250aCt0KSxlLmFwcGVuZENoaWxkKFkoaS5nZXRGdWxsWWVhcigpLGkuZ2V0TW9udGgoKSkpfW4uZGF5c0NvbnRhaW5lci5hcHBlbmRDaGlsZChlKSxuLmRheXM9bi5kYXlzQ29udGFpbmVyLmZpcnN0Q2hpbGQsInJhbmdlIj09PW4uY29uZmlnLm1vZGUmJjE9PT1uLnNlbGVjdGVkRGF0ZXMubGVuZ3RoJiZ0ZSgpfWZ1bmN0aW9uIHooKXtpZihuLmNvbmZpZy5zaG93TW9udGhzPjF8fCJkcm9wZG93biIhPT1uLmNvbmZpZy5tb250aFNlbGVjdG9yVHlwZSlyZXR1cm47Y29uc3QgZT1mdW5jdGlvbihlKXtyZXR1cm4hKHZvaWQgMCE9PW4uY29uZmlnLm1pbkRhdGUmJm4uY3VycmVudFllYXI9PT1uLmNvbmZpZy5taW5EYXRlLmdldEZ1bGxZZWFyKCkmJmU8bi5jb25maWcubWluRGF0ZS5nZXRNb250aCgpKSYmISh2b2lkIDAhPT1uLmNvbmZpZy5tYXhEYXRlJiZuLmN1cnJlbnRZZWFyPT09bi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpJiZlPm4uY29uZmlnLm1heERhdGUuZ2V0TW9udGgoKSl9O24ubW9udGhzRHJvcGRvd25Db250YWluZXIudGFiSW5kZXg9LTEsbi5tb250aHNEcm9wZG93bkNvbnRhaW5lci5pbm5lckhUTUw9IiI7Zm9yKGxldCB0PTA7dDwxMjt0Kyspe2lmKCFlKHQpKWNvbnRpbnVlO2NvbnN0IGk9Zigib3B0aW9uIiwiZmxhdHBpY2tyLW1vbnRoRHJvcGRvd24tbW9udGgiKTtpLnZhbHVlPW5ldyBEYXRlKG4uY3VycmVudFllYXIsdCkuZ2V0TW9udGgoKS50b1N0cmluZygpLGkudGV4dENvbnRlbnQ9eSh0LG4uY29uZmlnLnNob3J0aGFuZEN1cnJlbnRNb250aCxuLmwxMG4pLGkudGFiSW5kZXg9LTEsbi5jdXJyZW50TW9udGg9PT10JiYoaS5zZWxlY3RlZD0hMCksbi5tb250aHNEcm9wZG93bkNvbnRhaW5lci5hcHBlbmRDaGlsZChpKX19ZnVuY3Rpb24gJCgpe2NvbnN0IGU9ZigiZGl2IiwiZmxhdHBpY2tyLW1vbnRoIiksdD13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2xldCBpO24uY29uZmlnLnNob3dNb250aHM+MXx8InN0YXRpYyI9PT1uLmNvbmZpZy5tb250aFNlbGVjdG9yVHlwZT9pPWYoInNwYW4iLCJjdXItbW9udGgiKToobi5tb250aHNEcm9wZG93bkNvbnRhaW5lcj1mKCJzZWxlY3QiLCJmbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHMiKSxuLm1vbnRoc0Ryb3Bkb3duQ29udGFpbmVyLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsbi5sMTBuLm1vbnRoQXJpYUxhYmVsKSxOKG4ubW9udGhzRHJvcGRvd25Db250YWluZXIsImNoYW5nZSIsKGU9Pntjb25zdCB0PWcoZSksaT1wYXJzZUludCh0LnZhbHVlLDEwKTtuLmNoYW5nZU1vbnRoKGktbi5jdXJyZW50TW9udGgpLGhlKCJvbk1vbnRoQ2hhbmdlIil9KSkseigpLGk9bi5tb250aHNEcm9wZG93bkNvbnRhaW5lcik7Y29uc3Qgcj1wKCJjdXIteWVhciIse3RhYmluZGV4OiItMSJ9KSxhPXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF07YS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLG4ubDEwbi55ZWFyQXJpYUxhYmVsKSxuLmNvbmZpZy5taW5EYXRlJiZhLnNldEF0dHJpYnV0ZSgibWluIixuLmNvbmZpZy5taW5EYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKSksbi5jb25maWcubWF4RGF0ZSYmKGEuc2V0QXR0cmlidXRlKCJtYXgiLG4uY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpKSxhLmRpc2FibGVkPSEhbi5jb25maWcubWluRGF0ZSYmbi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpPT09bi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpKTtjb25zdCBvPWYoImRpdiIsImZsYXRwaWNrci1jdXJyZW50LW1vbnRoIik7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoaSksby5hcHBlbmRDaGlsZChyKSx0LmFwcGVuZENoaWxkKG8pLGUuYXBwZW5kQ2hpbGQodCkse2NvbnRhaW5lcjplLHllYXJFbGVtZW50OmEsbW9udGhFbGVtZW50Oml9fWZ1bmN0aW9uIEIoKXtoKG4ubW9udGhOYXYpLG4ubW9udGhOYXYuYXBwZW5kQ2hpbGQobi5wcmV2TW9udGhOYXYpLG4uY29uZmlnLnNob3dNb250aHMmJihuLnllYXJFbGVtZW50cz1bXSxuLm1vbnRoRWxlbWVudHM9W10pO2ZvcihsZXQgZT1uLmNvbmZpZy5zaG93TW9udGhzO2UtLTspe2NvbnN0IGU9JCgpO24ueWVhckVsZW1lbnRzLnB1c2goZS55ZWFyRWxlbWVudCksbi5tb250aEVsZW1lbnRzLnB1c2goZS5tb250aEVsZW1lbnQpLG4ubW9udGhOYXYuYXBwZW5kQ2hpbGQoZS5jb250YWluZXIpfW4ubW9udGhOYXYuYXBwZW5kQ2hpbGQobi5uZXh0TW9udGhOYXYpfWZ1bmN0aW9uIFIoKXtuLndlZWtkYXlDb250YWluZXI/aChuLndlZWtkYXlDb250YWluZXIpOm4ud2Vla2RheUNvbnRhaW5lcj1mKCJkaXYiLCJmbGF0cGlja3Itd2Vla2RheXMiKTtmb3IobGV0IGU9bi5jb25maWcuc2hvd01vbnRocztlLS07KXtjb25zdCBlPWYoImRpdiIsImZsYXRwaWNrci13ZWVrZGF5Y29udGFpbmVyIik7bi53ZWVrZGF5Q29udGFpbmVyLmFwcGVuZENoaWxkKGUpfXJldHVybiBVKCksbi53ZWVrZGF5Q29udGFpbmVyfWZ1bmN0aW9uIFUoKXtpZighbi53ZWVrZGF5Q29udGFpbmVyKXJldHVybjtjb25zdCBlPW4ubDEwbi5maXJzdERheU9mV2VlaztsZXQgdD1bLi4ubi5sMTBuLndlZWtkYXlzLnNob3J0aGFuZF07ZT4wJiZlPHQubGVuZ3RoJiYodD1bLi4udC5zcGxpY2UoZSx0Lmxlbmd0aCksLi4udC5zcGxpY2UoMCxlKV0pO2ZvcihsZXQgZT1uLmNvbmZpZy5zaG93TW9udGhzO2UtLTspbi53ZWVrZGF5Q29udGFpbmVyLmNoaWxkcmVuW2VdLmlubmVySFRNTD1gXG4gICAgICA8c3BhbiBjbGFzcz0nZmxhdHBpY2tyLXdlZWtkYXknPlxuICAgICAgICAke3Quam9pbigiPC9zcGFuPjxzcGFuIGNsYXNzPSdmbGF0cGlja3Itd2Vla2RheSc+Iil9XG4gICAgICA8L3NwYW4+XG4gICAgICBgfWZ1bmN0aW9uIFcoZSx0PSEwKXtjb25zdCBpPXQ/ZTplLW4uY3VycmVudE1vbnRoO2k8MCYmITA9PT1uLl9oaWRlUHJldk1vbnRoQXJyb3d8fGk+MCYmITA9PT1uLl9oaWRlTmV4dE1vbnRoQXJyb3d8fChuLmN1cnJlbnRNb250aCs9aSwobi5jdXJyZW50TW9udGg8MHx8bi5jdXJyZW50TW9udGg+MTEpJiYobi5jdXJyZW50WWVhcis9bi5jdXJyZW50TW9udGg+MTE/MTotMSxuLmN1cnJlbnRNb250aD0obi5jdXJyZW50TW9udGgrMTIpJTEyLGhlKCJvblllYXJDaGFuZ2UiKSx6KCkpLHEoKSxoZSgib25Nb250aENoYW5nZSIpLGdlKCkpfWZ1bmN0aW9uIEcoZSl7cmV0dXJuISghbi5jb25maWcuYXBwZW5kVG98fCFuLmNvbmZpZy5hcHBlbmRUby5jb250YWlucyhlKSl8fG4uY2FsZW5kYXJDb250YWluZXIuY29udGFpbnMoZSl9ZnVuY3Rpb24gSyhlKXtpZihuLmlzT3BlbiYmIW4uY29uZmlnLmlubGluZSl7Y29uc3QgdD1nKGUpLGk9Ryh0KSxyPXQ9PT1uLmlucHV0fHx0PT09bi5hbHRJbnB1dHx8bi5lbGVtZW50LmNvbnRhaW5zKHQpfHxlLnBhdGgmJmUucGF0aC5pbmRleE9mJiYofmUucGF0aC5pbmRleE9mKG4uaW5wdXQpfHx+ZS5wYXRoLmluZGV4T2Yobi5hbHRJbnB1dCkpLGE9ImJsdXIiPT09ZS50eXBlP3ImJmUucmVsYXRlZFRhcmdldCYmIUcoZS5yZWxhdGVkVGFyZ2V0KTohciYmIWkmJiFHKGUucmVsYXRlZFRhcmdldCksbz0hbi5jb25maWcuaWdub3JlZEZvY3VzRWxlbWVudHMuc29tZSgoZT0+ZS5jb250YWlucyh0KSkpO2EmJm8mJih2b2lkIDAhPT1uLnRpbWVDb250YWluZXImJnZvaWQgMCE9PW4ubWludXRlRWxlbWVudCYmdm9pZCAwIT09bi5ob3VyRWxlbWVudCYmIiIhPT1uLmlucHV0LnZhbHVlJiZ2b2lkIDAhPT1uLmlucHV0LnZhbHVlJiZiKCksbi5jbG9zZSgpLG4uY29uZmlnJiYicmFuZ2UiPT09bi5jb25maWcubW9kZSYmMT09PW4uc2VsZWN0ZWREYXRlcy5sZW5ndGgmJihuLmNsZWFyKCExKSxuLnJlZHJhdygpKSl9fWZ1bmN0aW9uIEooZSl7aWYoIWV8fG4uY29uZmlnLm1pbkRhdGUmJmU8bi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpfHxuLmNvbmZpZy5tYXhEYXRlJiZlPm4uY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSlyZXR1cm47Y29uc3QgdD1lLGk9bi5jdXJyZW50WWVhciE9PXQ7bi5jdXJyZW50WWVhcj10fHxuLmN1cnJlbnRZZWFyLG4uY29uZmlnLm1heERhdGUmJm4uY3VycmVudFllYXI9PT1uLmNvbmZpZy5tYXhEYXRlLmdldEZ1bGxZZWFyKCk/bi5jdXJyZW50TW9udGg9TWF0aC5taW4obi5jb25maWcubWF4RGF0ZS5nZXRNb250aCgpLG4uY3VycmVudE1vbnRoKTpuLmNvbmZpZy5taW5EYXRlJiZuLmN1cnJlbnRZZWFyPT09bi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpJiYobi5jdXJyZW50TW9udGg9TWF0aC5tYXgobi5jb25maWcubWluRGF0ZS5nZXRNb250aCgpLG4uY3VycmVudE1vbnRoKSksaSYmKG4ucmVkcmF3KCksaGUoIm9uWWVhckNoYW5nZSIpLHooKSl9ZnVuY3Rpb24gWihlLHQ9ITApe3ZhciBpO2NvbnN0IHI9bi5wYXJzZURhdGUoZSx2b2lkIDAsdCk7aWYobi5jb25maWcubWluRGF0ZSYmciYmTShyLG4uY29uZmlnLm1pbkRhdGUsdm9pZCAwIT09dD90OiFuLm1pbkRhdGVIYXNUaW1lKTwwfHxuLmNvbmZpZy5tYXhEYXRlJiZyJiZNKHIsbi5jb25maWcubWF4RGF0ZSx2b2lkIDAhPT10P3Q6IW4ubWF4RGF0ZUhhc1RpbWUpPjApcmV0dXJuITE7aWYoIW4uY29uZmlnLmVuYWJsZSYmMD09PW4uY29uZmlnLmRpc2FibGUubGVuZ3RoKXJldHVybiEwO2lmKHZvaWQgMD09PXIpcmV0dXJuITE7Y29uc3QgYT0hIW4uY29uZmlnLmVuYWJsZSxvPW51bGwhPT0oaT1uLmNvbmZpZy5lbmFibGUpJiZ2b2lkIDAhPT1pP2k6bi5jb25maWcuZGlzYWJsZTtmb3IobGV0IGUsdD0wO3Q8by5sZW5ndGg7dCsrKXtpZihlPW9bdF0sImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUocikpcmV0dXJuIGE7aWYoZSBpbnN0YW5jZW9mIERhdGUmJnZvaWQgMCE9PXImJmUuZ2V0VGltZSgpPT09ci5nZXRUaW1lKCkpcmV0dXJuIGE7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtjb25zdCB0PW4ucGFyc2VEYXRlKGUsdm9pZCAwLCEwKTtyZXR1cm4gdCYmdC5nZXRUaW1lKCk9PT1yLmdldFRpbWUoKT9hOiFhfWlmKCJvYmplY3QiPT10eXBlb2YgZSYmdm9pZCAwIT09ciYmZS5mcm9tJiZlLnRvJiZyLmdldFRpbWUoKT49ZS5mcm9tLmdldFRpbWUoKSYmci5nZXRUaW1lKCk8PWUudG8uZ2V0VGltZSgpKXJldHVybiBhfXJldHVybiFhfWZ1bmN0aW9uIFgoZSl7cmV0dXJuIHZvaWQgMCE9PW4uZGF5c0NvbnRhaW5lciYmKC0xPT09ZS5jbGFzc05hbWUuaW5kZXhPZigiaGlkZGVuIikmJi0xPT09ZS5jbGFzc05hbWUuaW5kZXhPZigiZmxhdHBpY2tyLWRpc2FibGVkIikmJm4uZGF5c0NvbnRhaW5lci5jb250YWlucyhlKSl9ZnVuY3Rpb24gUShlKXshKGUudGFyZ2V0PT09bi5faW5wdXQpfHwhKG4uc2VsZWN0ZWREYXRlcy5sZW5ndGg+MHx8bi5faW5wdXQudmFsdWUubGVuZ3RoPjApfHxlLnJlbGF0ZWRUYXJnZXQmJkcoZS5yZWxhdGVkVGFyZ2V0KXx8bi5zZXREYXRlKG4uX2lucHV0LnZhbHVlLCEwLGUudGFyZ2V0PT09bi5hbHRJbnB1dD9uLmNvbmZpZy5hbHRGb3JtYXQ6bi5jb25maWcuZGF0ZUZvcm1hdCl9ZnVuY3Rpb24gZWUodCl7Y29uc3QgaT1nKHQpLHI9bi5jb25maWcud3JhcD9lLmNvbnRhaW5zKGkpOmk9PT1uLl9pbnB1dCxhPW4uY29uZmlnLmFsbG93SW5wdXQsbz1uLmlzT3BlbiYmKCFhfHwhcikscz1uLmNvbmZpZy5pbmxpbmUmJnImJiFhO2lmKDEzPT09dC5rZXlDb2RlJiZyKXtpZihhKXJldHVybiBuLnNldERhdGUobi5faW5wdXQudmFsdWUsITAsaT09PW4uYWx0SW5wdXQ/bi5jb25maWcuYWx0Rm9ybWF0Om4uY29uZmlnLmRhdGVGb3JtYXQpLGkuYmx1cigpO24ub3BlbigpfWVsc2UgaWYoRyhpKXx8b3x8cyl7Y29uc3QgZT0hIW4udGltZUNvbnRhaW5lciYmbi50aW1lQ29udGFpbmVyLmNvbnRhaW5zKGkpO3N3aXRjaCh0LmtleUNvZGUpe2Nhc2UgMTM6ZT8odC5wcmV2ZW50RGVmYXVsdCgpLGIoKSxsZSgpKTp1ZSh0KTticmVhaztjYXNlIDI3OnQucHJldmVudERlZmF1bHQoKSxsZSgpO2JyZWFrO2Nhc2UgODpjYXNlIDQ2OnImJiFuLmNvbmZpZy5hbGxvd0lucHV0JiYodC5wcmV2ZW50RGVmYXVsdCgpLG4uY2xlYXIoKSk7YnJlYWs7Y2FzZSAzNzpjYXNlIDM5OmlmKGV8fHIpbi5ob3VyRWxlbWVudCYmbi5ob3VyRWxlbWVudC5mb2N1cygpO2Vsc2UgaWYodC5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgMCE9PW4uZGF5c0NvbnRhaW5lciYmKCExPT09YXx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmWChkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkpe2NvbnN0IGU9Mzk9PT10LmtleUNvZGU/MTotMTt0LmN0cmxLZXk/KHQuc3RvcFByb3BhZ2F0aW9uKCksVyhlKSxWKEYoMSksMCkpOlYodm9pZCAwLGUpfWJyZWFrO2Nhc2UgMzg6Y2FzZSA0MDp0LnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbz00MD09PXQua2V5Q29kZT8xOi0xO24uZGF5c0NvbnRhaW5lciYmdm9pZCAwIT09aS4kaXx8aT09PW4uaW5wdXR8fGk9PT1uLmFsdElucHV0P3QuY3RybEtleT8odC5zdG9wUHJvcGFnYXRpb24oKSxKKG4uY3VycmVudFllYXItbyksVihGKDEpLDApKTplfHxWKHZvaWQgMCw3Km8pOmk9PT1uLmN1cnJlbnRZZWFyRWxlbWVudD9KKG4uY3VycmVudFllYXItbyk6bi5jb25maWcuZW5hYmxlVGltZSYmKCFlJiZuLmhvdXJFbGVtZW50JiZuLmhvdXJFbGVtZW50LmZvY3VzKCksYih0KSxuLl9kZWJvdW5jZWRDaGFuZ2UoKSk7YnJlYWs7Y2FzZSA5OmlmKGUpe2NvbnN0IGU9W24uaG91ckVsZW1lbnQsbi5taW51dGVFbGVtZW50LG4uc2Vjb25kRWxlbWVudCxuLmFtUE1dLmNvbmNhdChuLnBsdWdpbkVsZW1lbnRzKS5maWx0ZXIoKGU9PmUpKSxyPWUuaW5kZXhPZihpKTtpZigtMSE9PXIpe2NvbnN0IGk9ZVtyKyh0LnNoaWZ0S2V5Py0xOjEpXTt0LnByZXZlbnREZWZhdWx0KCksKGl8fG4uX2lucHV0KS5mb2N1cygpfX1lbHNlIW4uY29uZmlnLm5vQ2FsZW5kYXImJm4uZGF5c0NvbnRhaW5lciYmbi5kYXlzQ29udGFpbmVyLmNvbnRhaW5zKGkpJiZ0LnNoaWZ0S2V5JiYodC5wcmV2ZW50RGVmYXVsdCgpLG4uX2lucHV0LmZvY3VzKCkpfX1pZih2b2lkIDAhPT1uLmFtUE0mJmk9PT1uLmFtUE0pc3dpdGNoKHQua2V5KXtjYXNlIG4ubDEwbi5hbVBNWzBdLmNoYXJBdCgwKTpjYXNlIG4ubDEwbi5hbVBNWzBdLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpOm4uYW1QTS50ZXh0Q29udGVudD1uLmwxMG4uYW1QTVswXSxDKCkseWUoKTticmVhaztjYXNlIG4ubDEwbi5hbVBNWzFdLmNoYXJBdCgwKTpjYXNlIG4ubDEwbi5hbVBNWzFdLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpOm4uYW1QTS50ZXh0Q29udGVudD1uLmwxMG4uYW1QTVsxXSxDKCkseWUoKX0ocnx8RyhpKSkmJmhlKCJvbktleURvd24iLHQpfWZ1bmN0aW9uIHRlKGUpe2lmKDEhPT1uLnNlbGVjdGVkRGF0ZXMubGVuZ3RofHxlJiYoIWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJmbGF0cGlja3ItZGF5Iil8fGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJmbGF0cGlja3ItZGlzYWJsZWQiKSkpcmV0dXJuO2NvbnN0IHQ9ZT9lLmRhdGVPYmouZ2V0VGltZSgpOm4uZGF5cy5maXJzdEVsZW1lbnRDaGlsZC5kYXRlT2JqLmdldFRpbWUoKSxpPW4ucGFyc2VEYXRlKG4uc2VsZWN0ZWREYXRlc1swXSx2b2lkIDAsITApLmdldFRpbWUoKSxyPU1hdGgubWluKHQsbi5zZWxlY3RlZERhdGVzWzBdLmdldFRpbWUoKSksYT1NYXRoLm1heCh0LG4uc2VsZWN0ZWREYXRlc1swXS5nZXRUaW1lKCkpO2xldCBvPSExLHM9MCxsPTA7Zm9yKGxldCBlPXI7ZTxhO2UrPVMpWihuZXcgRGF0ZShlKSwhMCl8fChvPW98fGU+ciYmZTxhLGU8aSYmKCFzfHxlPnMpP3M9ZTplPmkmJighbHx8ZTxsKSYmKGw9ZSkpO2ZvcihsZXQgcj0wO3I8bi5jb25maWcuc2hvd01vbnRocztyKyspe2NvbnN0IGE9bi5kYXlzQ29udGFpbmVyLmNoaWxkcmVuW3JdO2ZvcihsZXQgcj0wLGY9YS5jaGlsZHJlbi5sZW5ndGg7cjxmO3IrKyl7Y29uc3QgZj1hLmNoaWxkcmVuW3JdLGg9Zi5kYXRlT2JqLmdldFRpbWUoKSxtPXM+MCYmaDxzfHxsPjAmJmg+bDttPyhmLmNsYXNzTGlzdC5hZGQoIm5vdEFsbG93ZWQiKSxbImluUmFuZ2UiLCJzdGFydFJhbmdlIiwiZW5kUmFuZ2UiXS5mb3JFYWNoKChlPT57Zi5jbGFzc0xpc3QucmVtb3ZlKGUpfSkpKTpvJiYhbXx8KFsic3RhcnRSYW5nZSIsImluUmFuZ2UiLCJlbmRSYW5nZSIsIm5vdEFsbG93ZWQiXS5mb3JFYWNoKChlPT57Zi5jbGFzc0xpc3QucmVtb3ZlKGUpfSkpLHZvaWQgMCE9PWUmJihlLmNsYXNzTGlzdC5hZGQodDw9bi5zZWxlY3RlZERhdGVzWzBdLmdldFRpbWUoKT8ic3RhcnRSYW5nZSI6ImVuZFJhbmdlIiksaTx0JiZoPT09aT9mLmNsYXNzTGlzdC5hZGQoInN0YXJ0UmFuZ2UiKTppPnQmJmg9PT1pJiZmLmNsYXNzTGlzdC5hZGQoImVuZFJhbmdlIiksaD49cyYmKDA9PT1sfHxoPD1sKSYmKGM9aSxkPXQsKHU9aCk+TWF0aC5taW4oYyxkKSYmdTxNYXRoLm1heChjLGQpKSYmZi5jbGFzc0xpc3QuYWRkKCJpblJhbmdlIikpKX19dmFyIHUsYyxkfWZ1bmN0aW9uIG5lKCl7IW4uaXNPcGVufHxuLmNvbmZpZy5zdGF0aWN8fG4uY29uZmlnLmlubGluZXx8b2UoKX1mdW5jdGlvbiBpZShlKXtyZXR1cm4gdD0+e2NvbnN0IGk9bi5jb25maWdbYF8ke2V9RGF0ZWBdPW4ucGFyc2VEYXRlKHQsbi5jb25maWcuZGF0ZUZvcm1hdCkscj1uLmNvbmZpZ1tgXyR7Im1pbiI9PT1lPyJtYXgiOiJtaW4ifURhdGVgXTt2b2lkIDAhPT1pJiYoblsibWluIj09PWU/Im1pbkRhdGVIYXNUaW1lIjoibWF4RGF0ZUhhc1RpbWUiXT1pLmdldEhvdXJzKCk+MHx8aS5nZXRNaW51dGVzKCk+MHx8aS5nZXRTZWNvbmRzKCk+MCksbi5zZWxlY3RlZERhdGVzJiYobi5zZWxlY3RlZERhdGVzPW4uc2VsZWN0ZWREYXRlcy5maWx0ZXIoKGU9PlooZSkpKSxuLnNlbGVjdGVkRGF0ZXMubGVuZ3RofHwibWluIiE9PWV8fFQoaSkseWUoKSksbi5kYXlzQ29udGFpbmVyJiYoc2UoKSx2b2lkIDAhPT1pP24uY3VycmVudFllYXJFbGVtZW50W2VdPWkuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpOm4uY3VycmVudFllYXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShlKSxuLmN1cnJlbnRZZWFyRWxlbWVudC5kaXNhYmxlZD0hIXImJnZvaWQgMCE9PWkmJnIuZ2V0RnVsbFllYXIoKT09PWkuZ2V0RnVsbFllYXIoKSl9fWZ1bmN0aW9uIHJlKCl7cmV0dXJuIG4uY29uZmlnLndyYXA/ZS5xdWVyeVNlbGVjdG9yKCJbZGF0YS1pbnB1dF0iKTplfWZ1bmN0aW9uIGFlKCl7Im9iamVjdCIhPXR5cGVvZiBuLmNvbmZpZy5sb2NhbGUmJnZvaWQgMD09PV8ubDEwbnNbbi5jb25maWcubG9jYWxlXSYmbi5jb25maWcuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihgZmxhdHBpY2tyOiBpbnZhbGlkIGxvY2FsZSAke24uY29uZmlnLmxvY2FsZX1gKSksbi5sMTBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxfLmwxMG5zLmRlZmF1bHQpLCJvYmplY3QiPT10eXBlb2Ygbi5jb25maWcubG9jYWxlP24uY29uZmlnLmxvY2FsZToiZGVmYXVsdCIhPT1uLmNvbmZpZy5sb2NhbGU/Xy5sMTBuc1tuLmNvbmZpZy5sb2NhbGVdOnZvaWQgMCksdy5LPWAoJHtuLmwxMG4uYW1QTVswXX18JHtuLmwxMG4uYW1QTVsxXX18JHtuLmwxMG4uYW1QTVswXS50b0xvd2VyQ2FzZSgpfXwke24ubDEwbi5hbVBNWzFdLnRvTG93ZXJDYXNlKCl9KWA7dm9pZCAwPT09T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZS5kYXRhc2V0fHx7fSkpKS50aW1lXzI0aHImJnZvaWQgMD09PV8uZGVmYXVsdENvbmZpZy50aW1lXzI0aHImJihuLmNvbmZpZy50aW1lXzI0aHI9bi5sMTBuLnRpbWVfMjRociksbi5mb3JtYXREYXRlPUQobiksbi5wYXJzZURhdGU9eCh7Y29uZmlnOm4uY29uZmlnLGwxMG46bi5sMTBufSl9ZnVuY3Rpb24gb2UoZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uY29uZmlnLnBvc2l0aW9uKXJldHVybiB2b2lkIG4uY29uZmlnLnBvc2l0aW9uKG4sZSk7aWYodm9pZCAwPT09bi5jYWxlbmRhckNvbnRhaW5lcilyZXR1cm47aGUoIm9uUHJlQ2FsZW5kYXJQb3NpdGlvbiIpO2NvbnN0IHQ9ZXx8bi5fcG9zaXRpb25FbGVtZW50LGk9QXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG4uY2FsZW5kYXJDb250YWluZXIuY2hpbGRyZW4sKChlLHQpPT5lK3Qub2Zmc2V0SGVpZ2h0KSwwKSxyPW4uY2FsZW5kYXJDb250YWluZXIub2Zmc2V0V2lkdGgsYT1uLmNvbmZpZy5wb3NpdGlvbi5zcGxpdCgiICIpLG89YVswXSxzPWEubGVuZ3RoPjE/YVsxXTpudWxsLGw9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1PXdpbmRvdy5pbm5lckhlaWdodC1sLmJvdHRvbSxjPSJhYm92ZSI9PT1vfHwiYmVsb3ciIT09byYmdTxpJiZsLnRvcD5pLGY9d2luZG93LnBhZ2VZT2Zmc2V0K2wudG9wKyhjPy1pLTI6dC5vZmZzZXRIZWlnaHQrMik7aWYoZChuLmNhbGVuZGFyQ29udGFpbmVyLCJhcnJvd1RvcCIsIWMpLGQobi5jYWxlbmRhckNvbnRhaW5lciwiYXJyb3dCb3R0b20iLGMpLG4uY29uZmlnLmlubGluZSlyZXR1cm47bGV0IGg9d2luZG93LnBhZ2VYT2Zmc2V0K2wubGVmdCxtPSExLHA9ITE7ImNlbnRlciI9PT1zPyhoLT0oci1sLndpZHRoKS8yLG09ITApOiJyaWdodCI9PT1zJiYoaC09ci1sLndpZHRoLHA9ITApLGQobi5jYWxlbmRhckNvbnRhaW5lciwiYXJyb3dMZWZ0IiwhbSYmIXApLGQobi5jYWxlbmRhckNvbnRhaW5lciwiYXJyb3dDZW50ZXIiLG0pLGQobi5jYWxlbmRhckNvbnRhaW5lciwiYXJyb3dSaWdodCIscCk7Y29uc3QgZz13aW5kb3cuZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aC0od2luZG93LnBhZ2VYT2Zmc2V0K2wucmlnaHQpLHY9aCtyPndpbmRvdy5kb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoLHk9ZytyPndpbmRvdy5kb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoO2lmKGQobi5jYWxlbmRhckNvbnRhaW5lciwicmlnaHRNb3N0Iix2KSwhbi5jb25maWcuc3RhdGljKWlmKG4uY2FsZW5kYXJDb250YWluZXIuc3R5bGUudG9wPWAke2Z9cHhgLHYpaWYoeSl7Y29uc3QgZT1mdW5jdGlvbigpe2xldCBlPW51bGw7Zm9yKGxldCB0PTA7dDxkb2N1bWVudC5zdHlsZVNoZWV0cy5sZW5ndGg7dCsrKXtjb25zdCBuPWRvY3VtZW50LnN0eWxlU2hlZXRzW3RdO3RyeXtuLmNzc1J1bGVzfWNhdGNoKGUpe2NvbnRpbnVlfWU9bjticmVha31yZXR1cm4gbnVsbCE9ZT9lOmZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGUpLGUuc2hlZXR9KCl9KCk7aWYodm9pZCAwPT09ZSlyZXR1cm47Y29uc3QgdD13aW5kb3cuZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCxpPU1hdGgubWF4KDAsdC8yLXIvMiksYT0iLmZsYXRwaWNrci1jYWxlbmRhci5jZW50ZXJNb3N0OmJlZm9yZSIsbz0iLmZsYXRwaWNrci1jYWxlbmRhci5jZW50ZXJNb3N0OmFmdGVyIixzPWUuY3NzUnVsZXMubGVuZ3RoLHU9YHtsZWZ0OiR7bC5sZWZ0fXB4O3JpZ2h0OmF1dG87fWA7ZChuLmNhbGVuZGFyQ29udGFpbmVyLCJyaWdodE1vc3QiLCExKSxkKG4uY2FsZW5kYXJDb250YWluZXIsImNlbnRlck1vc3QiLCEwKSxlLmluc2VydFJ1bGUoYCR7YX0sJHtvfSR7dX1gLHMpLG4uY2FsZW5kYXJDb250YWluZXIuc3R5bGUubGVmdD1gJHtpfXB4YCxuLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnJpZ2h0PSJhdXRvIn1lbHNlIG4uY2FsZW5kYXJDb250YWluZXIuc3R5bGUubGVmdD0iYXV0byIsbi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5yaWdodD1gJHtnfXB4YDtlbHNlIG4uY2FsZW5kYXJDb250YWluZXIuc3R5bGUubGVmdD1gJHtofXB4YCxuLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnJpZ2h0PSJhdXRvIn1mdW5jdGlvbiBzZSgpe24uY29uZmlnLm5vQ2FsZW5kYXJ8fG4uaXNNb2JpbGV8fCh6KCksZ2UoKSxxKCkpfWZ1bmN0aW9uIGxlKCl7bi5faW5wdXQuZm9jdXMoKSwtMSE9PXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk1TSUUiKXx8dm9pZCAwIT09bmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHM/c2V0VGltZW91dChuLmNsb3NlLDApOm4uY2xvc2UoKX1mdW5jdGlvbiB1ZShlKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKTtjb25zdCB0PW0oZyhlKSwoZT0+ZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJmbGF0cGlja3ItZGF5IikmJiFlLmNsYXNzTGlzdC5jb250YWlucygiZmxhdHBpY2tyLWRpc2FibGVkIikmJiFlLmNsYXNzTGlzdC5jb250YWlucygibm90QWxsb3dlZCIpKSk7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3QgaT10LHI9bi5sYXRlc3RTZWxlY3RlZERhdGVPYmo9bmV3IERhdGUoaS5kYXRlT2JqLmdldFRpbWUoKSksYT0oci5nZXRNb250aCgpPG4uY3VycmVudE1vbnRofHxyLmdldE1vbnRoKCk+bi5jdXJyZW50TW9udGgrbi5jb25maWcuc2hvd01vbnRocy0xKSYmInJhbmdlIiE9PW4uY29uZmlnLm1vZGU7aWYobi5zZWxlY3RlZERhdGVFbGVtPWksInNpbmdsZSI9PT1uLmNvbmZpZy5tb2RlKW4uc2VsZWN0ZWREYXRlcz1bcl07ZWxzZSBpZigibXVsdGlwbGUiPT09bi5jb25maWcubW9kZSl7Y29uc3QgZT1wZShyKTtlP24uc2VsZWN0ZWREYXRlcy5zcGxpY2UocGFyc2VJbnQoZSksMSk6bi5zZWxlY3RlZERhdGVzLnB1c2gocil9ZWxzZSJyYW5nZSI9PT1uLmNvbmZpZy5tb2RlJiYoMj09PW4uc2VsZWN0ZWREYXRlcy5sZW5ndGgmJm4uY2xlYXIoITEsITEpLG4ubGF0ZXN0U2VsZWN0ZWREYXRlT2JqPXIsbi5zZWxlY3RlZERhdGVzLnB1c2gociksMCE9PU0ocixuLnNlbGVjdGVkRGF0ZXNbMF0sITApJiZuLnNlbGVjdGVkRGF0ZXMuc29ydCgoKGUsdCk9PmUuZ2V0VGltZSgpLXQuZ2V0VGltZSgpKSkpO2lmKEMoKSxhKXtjb25zdCBlPW4uY3VycmVudFllYXIhPT1yLmdldEZ1bGxZZWFyKCk7bi5jdXJyZW50WWVhcj1yLmdldEZ1bGxZZWFyKCksbi5jdXJyZW50TW9udGg9ci5nZXRNb250aCgpLGUmJihoZSgib25ZZWFyQ2hhbmdlIikseigpKSxoZSgib25Nb250aENoYW5nZSIpfWlmKGdlKCkscSgpLHllKCksYXx8InJhbmdlIj09PW4uY29uZmlnLm1vZGV8fDEhPT1uLmNvbmZpZy5zaG93TW9udGhzP3ZvaWQgMCE9PW4uc2VsZWN0ZWREYXRlRWxlbSYmdm9pZCAwPT09bi5ob3VyRWxlbWVudCYmbi5zZWxlY3RlZERhdGVFbGVtJiZuLnNlbGVjdGVkRGF0ZUVsZW0uZm9jdXMoKTpJKGkpLHZvaWQgMCE9PW4uaG91ckVsZW1lbnQmJnZvaWQgMCE9PW4uaG91ckVsZW1lbnQmJm4uaG91ckVsZW1lbnQuZm9jdXMoKSxuLmNvbmZpZy5jbG9zZU9uU2VsZWN0KXtjb25zdCBlPSJzaW5nbGUiPT09bi5jb25maWcubW9kZSYmIW4uY29uZmlnLmVuYWJsZVRpbWUsdD0icmFuZ2UiPT09bi5jb25maWcubW9kZSYmMj09PW4uc2VsZWN0ZWREYXRlcy5sZW5ndGgmJiFuLmNvbmZpZy5lbmFibGVUaW1lOyhlfHx0KSYmbGUoKX1PKCl9bi5wYXJzZURhdGU9eCh7Y29uZmlnOm4uY29uZmlnLGwxMG46bi5sMTBufSksbi5faGFuZGxlcnM9W10sbi5wbHVnaW5FbGVtZW50cz1bXSxuLmxvYWRlZFBsdWdpbnM9W10sbi5fYmluZD1OLG4uX3NldEhvdXJzRnJvbURhdGU9VCxuLl9wb3NpdGlvbkNhbGVuZGFyPW9lLG4uY2hhbmdlTW9udGg9VyxuLmNoYW5nZVllYXI9SixuLmNsZWFyPWZ1bmN0aW9uKGU9ITAsdD0hMCl7bi5pbnB1dC52YWx1ZT0iIix2b2lkIDAhPT1uLmFsdElucHV0JiYobi5hbHRJbnB1dC52YWx1ZT0iIik7dm9pZCAwIT09bi5tb2JpbGVJbnB1dCYmKG4ubW9iaWxlSW5wdXQudmFsdWU9IiIpO24uc2VsZWN0ZWREYXRlcz1bXSxuLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaj12b2lkIDAsITA9PT10JiYobi5jdXJyZW50WWVhcj1uLl9pbml0aWFsRGF0ZS5nZXRGdWxsWWVhcigpLG4uY3VycmVudE1vbnRoPW4uX2luaXRpYWxEYXRlLmdldE1vbnRoKCkpO2lmKCEwPT09bi5jb25maWcuZW5hYmxlVGltZSl7Y29uc3R7aG91cnM6ZSxtaW51dGVzOnQsc2Vjb25kczppfT1rKG4uY29uZmlnKTtFKGUsdCxpKX1uLnJlZHJhdygpLGUmJmhlKCJvbkNoYW5nZSIpfSxuLmNsb3NlPWZ1bmN0aW9uKCl7bi5pc09wZW49ITEsbi5pc01vYmlsZXx8KHZvaWQgMCE9PW4uY2FsZW5kYXJDb250YWluZXImJm4uY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgib3BlbiIpLHZvaWQgMCE9PW4uX2lucHV0JiZuLl9pbnB1dC5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSk7aGUoIm9uQ2xvc2UiKX0sbi5fY3JlYXRlRWxlbWVudD1mLG4uZGVzdHJveT1mdW5jdGlvbigpe3ZvaWQgMCE9PW4uY29uZmlnJiZoZSgib25EZXN0cm95Iik7Zm9yKGxldCBlPW4uX2hhbmRsZXJzLmxlbmd0aDtlLS07KW4uX2hhbmRsZXJzW2VdLnJlbW92ZSgpO2lmKG4uX2hhbmRsZXJzPVtdLG4ubW9iaWxlSW5wdXQpbi5tb2JpbGVJbnB1dC5wYXJlbnROb2RlJiZuLm1vYmlsZUlucHV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobi5tb2JpbGVJbnB1dCksbi5tb2JpbGVJbnB1dD12b2lkIDA7ZWxzZSBpZihuLmNhbGVuZGFyQ29udGFpbmVyJiZuLmNhbGVuZGFyQ29udGFpbmVyLnBhcmVudE5vZGUpaWYobi5jb25maWcuc3RhdGljJiZuLmNhbGVuZGFyQ29udGFpbmVyLnBhcmVudE5vZGUpe2NvbnN0IGU9bi5jYWxlbmRhckNvbnRhaW5lci5wYXJlbnROb2RlO2lmKGUubGFzdENoaWxkJiZlLnJlbW92ZUNoaWxkKGUubGFzdENoaWxkKSxlLnBhcmVudE5vZGUpe2Zvcig7ZS5maXJzdENoaWxkOyllLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUuZmlyc3RDaGlsZCxlKTtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9fWVsc2Ugbi5jYWxlbmRhckNvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4uY2FsZW5kYXJDb250YWluZXIpO24uYWx0SW5wdXQmJihuLmlucHV0LnR5cGU9InRleHQiLG4uYWx0SW5wdXQucGFyZW50Tm9kZSYmbi5hbHRJbnB1dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4uYWx0SW5wdXQpLGRlbGV0ZSBuLmFsdElucHV0KTtuLmlucHV0JiYobi5pbnB1dC50eXBlPW4uaW5wdXQuX3R5cGUsbi5pbnB1dC5jbGFzc0xpc3QucmVtb3ZlKCJmbGF0cGlja3ItaW5wdXQiKSxuLmlucHV0LnJlbW92ZUF0dHJpYnV0ZSgicmVhZG9ubHkiKSk7WyJfc2hvd1RpbWVJbnB1dCIsImxhdGVzdFNlbGVjdGVkRGF0ZU9iaiIsIl9oaWRlTmV4dE1vbnRoQXJyb3ciLCJfaGlkZVByZXZNb250aEFycm93IiwiX19oaWRlTmV4dE1vbnRoQXJyb3ciLCJfX2hpZGVQcmV2TW9udGhBcnJvdyIsImlzTW9iaWxlIiwiaXNPcGVuIiwic2VsZWN0ZWREYXRlRWxlbSIsIm1pbkRhdGVIYXNUaW1lIiwibWF4RGF0ZUhhc1RpbWUiLCJkYXlzIiwiZGF5c0NvbnRhaW5lciIsIl9pbnB1dCIsIl9wb3NpdGlvbkVsZW1lbnQiLCJpbm5lckNvbnRhaW5lciIsInJDb250YWluZXIiLCJtb250aE5hdiIsInRvZGF5RGF0ZUVsZW0iLCJjYWxlbmRhckNvbnRhaW5lciIsIndlZWtkYXlDb250YWluZXIiLCJwcmV2TW9udGhOYXYiLCJuZXh0TW9udGhOYXYiLCJtb250aHNEcm9wZG93bkNvbnRhaW5lciIsImN1cnJlbnRNb250aEVsZW1lbnQiLCJjdXJyZW50WWVhckVsZW1lbnQiLCJuYXZpZ2F0aW9uQ3VycmVudE1vbnRoIiwic2VsZWN0ZWREYXRlRWxlbSIsImNvbmZpZyJdLmZvckVhY2goKGU9Pnt0cnl7ZGVsZXRlIG5bZV19Y2F0Y2goZSl7fX0pKX0sbi5pc0VuYWJsZWQ9WixuLmp1bXBUb0RhdGU9UCxuLm9wZW49ZnVuY3Rpb24oZSx0PW4uX3Bvc2l0aW9uRWxlbWVudCl7aWYoITA9PT1uLmlzTW9iaWxlKXtpZihlKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1nKGUpO3QmJnQuYmx1cigpfXJldHVybiB2b2lkIDAhPT1uLm1vYmlsZUlucHV0JiYobi5tb2JpbGVJbnB1dC5mb2N1cygpLG4ubW9iaWxlSW5wdXQuY2xpY2soKSksdm9pZCBoZSgib25PcGVuIil9aWYobi5faW5wdXQuZGlzYWJsZWR8fG4uY29uZmlnLmlubGluZSlyZXR1cm47Y29uc3QgaT1uLmlzT3BlbjtuLmlzT3Blbj0hMCxpfHwobi5jYWxlbmRhckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJvcGVuIiksbi5faW5wdXQuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksaGUoIm9uT3BlbiIpLG9lKHQpKTshMD09PW4uY29uZmlnLmVuYWJsZVRpbWUmJiEwPT09bi5jb25maWcubm9DYWxlbmRhciYmKCExIT09bi5jb25maWcuYWxsb3dJbnB1dHx8dm9pZCAwIT09ZSYmbi50aW1lQ29udGFpbmVyLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl8fHNldFRpbWVvdXQoKCgpPT5uLmhvdXJFbGVtZW50LnNlbGVjdCgpKSw1MCkpfSxuLnJlZHJhdz1zZSxuLnNldD1mdW5jdGlvbihlLHQpe2lmKG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGUpe09iamVjdC5hc3NpZ24obi5jb25maWcsZSk7Zm9yKGNvbnN0IHQgaW4gZSl2b2lkIDAhPT1jZVt0XSYmY2VbdF0uZm9yRWFjaCgoZT0+ZSgpKSl9ZWxzZSBuLmNvbmZpZ1tlXT10LHZvaWQgMCE9PWNlW2VdP2NlW2VdLmZvckVhY2goKGU9PmUoKSkpOmkuaW5kZXhPZihlKT4tMSYmKG4uY29uZmlnW2VdPWModCkpO24ucmVkcmF3KCkseWUoITApfSxuLnNldERhdGU9ZnVuY3Rpb24oZSx0PSExLGk9bi5jb25maWcuZGF0ZUZvcm1hdCl7aWYoMCE9PWUmJiFlfHxlIGluc3RhbmNlb2YgQXJyYXkmJjA9PT1lLmxlbmd0aClyZXR1cm4gbi5jbGVhcih0KTtkZShlLGkpLG4ubGF0ZXN0U2VsZWN0ZWREYXRlT2JqPW4uc2VsZWN0ZWREYXRlc1tuLnNlbGVjdGVkRGF0ZXMubGVuZ3RoLTFdLG4ucmVkcmF3KCksUCh2b2lkIDAsdCksVCgpLDA9PT1uLnNlbGVjdGVkRGF0ZXMubGVuZ3RoJiZuLmNsZWFyKCExKTt5ZSh0KSx0JiZoZSgib25DaGFuZ2UiKX0sbi50b2dnbGU9ZnVuY3Rpb24oZSl7aWYoITA9PT1uLmlzT3BlbilyZXR1cm4gbi5jbG9zZSgpO24ub3BlbihlKX07Y29uc3QgY2U9e2xvY2FsZTpbYWUsVV0sc2hvd01vbnRoczpbQix2LFJdLG1pbkRhdGU6W1BdLG1heERhdGU6W1BdLGNsaWNrT3BlbnM6WygpPT57ITA9PT1uLmNvbmZpZy5jbGlja09wZW5zPyhOKG4uX2lucHV0LCJmb2N1cyIsbi5vcGVuKSxOKG4uX2lucHV0LCJjbGljayIsbi5vcGVuKSk6KG4uX2lucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixuLm9wZW4pLG4uX2lucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixuLm9wZW4pKX1dfTtmdW5jdGlvbiBkZShlLHQpe2xldCBpPVtdO2lmKGUgaW5zdGFuY2VvZiBBcnJheSlpPWUubWFwKChlPT5uLnBhcnNlRGF0ZShlLHQpKSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgRGF0ZXx8Im51bWJlciI9PXR5cGVvZiBlKWk9W24ucGFyc2VEYXRlKGUsdCldO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKXN3aXRjaChuLmNvbmZpZy5tb2RlKXtjYXNlInNpbmdsZSI6Y2FzZSJ0aW1lIjppPVtuLnBhcnNlRGF0ZShlLHQpXTticmVhaztjYXNlIm11bHRpcGxlIjppPWUuc3BsaXQobi5jb25maWcuY29uanVuY3Rpb24pLm1hcCgoZT0+bi5wYXJzZURhdGUoZSx0KSkpO2JyZWFrO2Nhc2UicmFuZ2UiOmk9ZS5zcGxpdChuLmwxMG4ucmFuZ2VTZXBhcmF0b3IpLm1hcCgoZT0+bi5wYXJzZURhdGUoZSx0KSkpfWVsc2Ugbi5jb25maWcuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihgSW52YWxpZCBkYXRlIHN1cHBsaWVkOiAke0pTT04uc3RyaW5naWZ5KGUpfWApKTtuLnNlbGVjdGVkRGF0ZXM9bi5jb25maWcuYWxsb3dJbnZhbGlkUHJlbG9hZD9pOmkuZmlsdGVyKChlPT5lIGluc3RhbmNlb2YgRGF0ZSYmWihlLCExKSkpLCJyYW5nZSI9PT1uLmNvbmZpZy5tb2RlJiZuLnNlbGVjdGVkRGF0ZXMuc29ydCgoKGUsdCk9PmUuZ2V0VGltZSgpLXQuZ2V0VGltZSgpKSl9ZnVuY3Rpb24gZmUoZSl7cmV0dXJuIGUuc2xpY2UoKS5tYXAoKGU9PiJzdHJpbmciPT10eXBlb2YgZXx8Im51bWJlciI9PXR5cGVvZiBlfHxlIGluc3RhbmNlb2YgRGF0ZT9uLnBhcnNlRGF0ZShlLHZvaWQgMCwhMCk6ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlLmZyb20mJmUudG8/e2Zyb206bi5wYXJzZURhdGUoZS5mcm9tLHZvaWQgMCksdG86bi5wYXJzZURhdGUoZS50byx2b2lkIDApfTplKSkuZmlsdGVyKChlPT5lKSl9ZnVuY3Rpb24gaGUoZSx0KXtpZih2b2lkIDA9PT1uLmNvbmZpZylyZXR1cm47Y29uc3QgaT1uLmNvbmZpZ1tlXTtpZih2b2lkIDAhPT1pJiZpLmxlbmd0aD4wKWZvcihsZXQgZT0wO2lbZV0mJmU8aS5sZW5ndGg7ZSsrKWlbZV0obi5zZWxlY3RlZERhdGVzLG4uaW5wdXQudmFsdWUsbix0KTsib25DaGFuZ2UiPT09ZSYmKG4uaW5wdXQuZGlzcGF0Y2hFdmVudChtZSgiY2hhbmdlIikpLG4uaW5wdXQuZGlzcGF0Y2hFdmVudChtZSgiaW5wdXQiKSkpfWZ1bmN0aW9uIG1lKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iik7cmV0dXJuIHQuaW5pdEV2ZW50KGUsITAsITApLHR9ZnVuY3Rpb24gcGUoZSl7Zm9yKGxldCB0PTA7dDxuLnNlbGVjdGVkRGF0ZXMubGVuZ3RoO3QrKylpZigwPT09TShuLnNlbGVjdGVkRGF0ZXNbdF0sZSkpcmV0dXJuIiIrdDtyZXR1cm4hMX1mdW5jdGlvbiBnZSgpe24uY29uZmlnLm5vQ2FsZW5kYXJ8fG4uaXNNb2JpbGV8fCFuLm1vbnRoTmF2fHwobi55ZWFyRWxlbWVudHMuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBpPW5ldyBEYXRlKG4uY3VycmVudFllYXIsbi5jdXJyZW50TW9udGgsMSk7aS5zZXRNb250aChuLmN1cnJlbnRNb250aCt0KSxuLmNvbmZpZy5zaG93TW9udGhzPjF8fCJzdGF0aWMiPT09bi5jb25maWcubW9udGhTZWxlY3RvclR5cGU/bi5tb250aEVsZW1lbnRzW3RdLnRleHRDb250ZW50PXkoaS5nZXRNb250aCgpLG4uY29uZmlnLnNob3J0aGFuZEN1cnJlbnRNb250aCxuLmwxMG4pKyIgIjpuLm1vbnRoc0Ryb3Bkb3duQ29udGFpbmVyLnZhbHVlPWkuZ2V0TW9udGgoKS50b1N0cmluZygpLGUudmFsdWU9aS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCl9KSksbi5faGlkZVByZXZNb250aEFycm93PXZvaWQgMCE9PW4uY29uZmlnLm1pbkRhdGUmJihuLmN1cnJlbnRZZWFyPT09bi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpP24uY3VycmVudE1vbnRoPD1uLmNvbmZpZy5taW5EYXRlLmdldE1vbnRoKCk6bi5jdXJyZW50WWVhcjxuLmNvbmZpZy5taW5EYXRlLmdldEZ1bGxZZWFyKCkpLG4uX2hpZGVOZXh0TW9udGhBcnJvdz12b2lkIDAhPT1uLmNvbmZpZy5tYXhEYXRlJiYobi5jdXJyZW50WWVhcj09PW4uY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKT9uLmN1cnJlbnRNb250aCsxPm4uY29uZmlnLm1heERhdGUuZ2V0TW9udGgoKTpuLmN1cnJlbnRZZWFyPm4uY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSkpfWZ1bmN0aW9uIHZlKGUpe3JldHVybiBuLnNlbGVjdGVkRGF0ZXMubWFwKCh0PT5uLmZvcm1hdERhdGUodCxlKSkpLmZpbHRlcigoKGUsdCxpKT0+InJhbmdlIiE9PW4uY29uZmlnLm1vZGV8fG4uY29uZmlnLmVuYWJsZVRpbWV8fGkuaW5kZXhPZihlKT09PXQpKS5qb2luKCJyYW5nZSIhPT1uLmNvbmZpZy5tb2RlP24uY29uZmlnLmNvbmp1bmN0aW9uOm4ubDEwbi5yYW5nZVNlcGFyYXRvcil9ZnVuY3Rpb24geWUoZT0hMCl7dm9pZCAwIT09bi5tb2JpbGVJbnB1dCYmbi5tb2JpbGVGb3JtYXRTdHImJihuLm1vYmlsZUlucHV0LnZhbHVlPXZvaWQgMCE9PW4ubGF0ZXN0U2VsZWN0ZWREYXRlT2JqP24uZm9ybWF0RGF0ZShuLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaixuLm1vYmlsZUZvcm1hdFN0cik6IiIpLG4uaW5wdXQudmFsdWU9dmUobi5jb25maWcuZGF0ZUZvcm1hdCksdm9pZCAwIT09bi5hbHRJbnB1dCYmKG4uYWx0SW5wdXQudmFsdWU9dmUobi5jb25maWcuYWx0Rm9ybWF0KSksITEhPT1lJiZoZSgib25WYWx1ZVVwZGF0ZSIpfWZ1bmN0aW9uIGJlKGUpe2NvbnN0IHQ9ZyhlKSxpPW4ucHJldk1vbnRoTmF2LmNvbnRhaW5zKHQpLHI9bi5uZXh0TW9udGhOYXYuY29udGFpbnModCk7aXx8cj9XKGk/LTE6MSk6bi55ZWFyRWxlbWVudHMuaW5kZXhPZih0KT49MD90LnNlbGVjdCgpOnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJhcnJvd1VwIik/bi5jaGFuZ2VZZWFyKG4uY3VycmVudFllYXIrMSk6dC5jbGFzc0xpc3QuY29udGFpbnMoImFycm93RG93biIpJiZuLmNoYW5nZVllYXIobi5jdXJyZW50WWVhci0xKX1yZXR1cm4gZnVuY3Rpb24oKXtuLmVsZW1lbnQ9bi5pbnB1dD1lLG4uaXNPcGVuPSExLGZ1bmN0aW9uKCl7Y29uc3Qgbz1bIndyYXAiLCJ3ZWVrTnVtYmVycyIsImFsbG93SW5wdXQiLCJhbGxvd0ludmFsaWRQcmVsb2FkIiwiY2xpY2tPcGVucyIsInRpbWVfMjRociIsImVuYWJsZVRpbWUiLCJub0NhbGVuZGFyIiwiYWx0SW5wdXQiLCJzaG9ydGhhbmRDdXJyZW50TW9udGgiLCJpbmxpbmUiLCJzdGF0aWMiLCJlbmFibGVTZWNvbmRzIiwiZGlzYWJsZU1vYmlsZSJdLHM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZS5kYXRhc2V0fHx7fSkpKSx0KSxsPXt9O24uY29uZmlnLnBhcnNlRGF0ZT1zLnBhcnNlRGF0ZSxuLmNvbmZpZy5mb3JtYXREYXRlPXMuZm9ybWF0RGF0ZSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5jb25maWcsImVuYWJsZSIse2dldDooKT0+bi5jb25maWcuX2VuYWJsZSxzZXQ6ZT0+e24uY29uZmlnLl9lbmFibGU9ZmUoZSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uY29uZmlnLCJkaXNhYmxlIix7Z2V0OigpPT5uLmNvbmZpZy5fZGlzYWJsZSxzZXQ6ZT0+e24uY29uZmlnLl9kaXNhYmxlPWZlKGUpfX0pO2NvbnN0IHU9InRpbWUiPT09cy5tb2RlO2lmKCFzLmRhdGVGb3JtYXQmJihzLmVuYWJsZVRpbWV8fHUpKXtjb25zdCBlPV8uZGVmYXVsdENvbmZpZy5kYXRlRm9ybWF0fHxyLmRhdGVGb3JtYXQ7bC5kYXRlRm9ybWF0PXMubm9DYWxlbmRhcnx8dT8iSDppIisocy5lbmFibGVTZWNvbmRzPyI6UyI6IiIpOmUrIiBIOmkiKyhzLmVuYWJsZVNlY29uZHM/IjpTIjoiIil9aWYocy5hbHRJbnB1dCYmKHMuZW5hYmxlVGltZXx8dSkmJiFzLmFsdEZvcm1hdCl7Y29uc3QgZT1fLmRlZmF1bHRDb25maWcuYWx0Rm9ybWF0fHxyLmFsdEZvcm1hdDtsLmFsdEZvcm1hdD1zLm5vQ2FsZW5kYXJ8fHU/Img6aSIrKHMuZW5hYmxlU2Vjb25kcz8iOlMgSyI6IiBLIik6ZStgIGg6aSR7cy5lbmFibGVTZWNvbmRzPyI6UyI6IiJ9IEtgfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmNvbmZpZywibWluRGF0ZSIse2dldDooKT0+bi5jb25maWcuX21pbkRhdGUsc2V0OmllKCJtaW4iKX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmNvbmZpZywibWF4RGF0ZSIse2dldDooKT0+bi5jb25maWcuX21heERhdGUsc2V0OmllKCJtYXgiKX0pO2NvbnN0IGQ9ZT0+dD0+e24uY29uZmlnWyJtaW4iPT09ZT8iX21pblRpbWUiOiJfbWF4VGltZSJdPW4ucGFyc2VEYXRlKHQsIkg6aTpTIil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmNvbmZpZywibWluVGltZSIse2dldDooKT0+bi5jb25maWcuX21pblRpbWUsc2V0OmQoIm1pbiIpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uY29uZmlnLCJtYXhUaW1lIix7Z2V0OigpPT5uLmNvbmZpZy5fbWF4VGltZSxzZXQ6ZCgibWF4Iil9KSwidGltZSI9PT1zLm1vZGUmJihuLmNvbmZpZy5ub0NhbGVuZGFyPSEwLG4uY29uZmlnLmVuYWJsZVRpbWU9ITApO09iamVjdC5hc3NpZ24obi5jb25maWcsbCxzKTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyluLmNvbmZpZ1tvW2VdXT0hMD09PW4uY29uZmlnW29bZV1dfHwidHJ1ZSI9PT1uLmNvbmZpZ1tvW2VdXTtpLmZpbHRlcigoZT0+dm9pZCAwIT09bi5jb25maWdbZV0pKS5mb3JFYWNoKChlPT57bi5jb25maWdbZV09YyhuLmNvbmZpZ1tlXXx8W10pLm1hcChhKX0pKSxuLmlzTW9iaWxlPSFuLmNvbmZpZy5kaXNhYmxlTW9iaWxlJiYhbi5jb25maWcuaW5saW5lJiYic2luZ2xlIj09PW4uY29uZmlnLm1vZGUmJiFuLmNvbmZpZy5kaXNhYmxlLmxlbmd0aCYmIW4uY29uZmlnLmVuYWJsZSYmIW4uY29uZmlnLndlZWtOdW1iZXJzJiYvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7Zm9yKGxldCBlPTA7ZTxuLmNvbmZpZy5wbHVnaW5zLmxlbmd0aDtlKyspe2NvbnN0IHQ9bi5jb25maWcucGx1Z2luc1tlXShuKXx8e307Zm9yKGNvbnN0IGUgaW4gdClpLmluZGV4T2YoZSk+LTE/bi5jb25maWdbZV09Yyh0W2VdKS5tYXAoYSkuY29uY2F0KG4uY29uZmlnW2VdKTp2b2lkIDA9PT1zW2VdJiYobi5jb25maWdbZV09dFtlXSl9cy5hbHRJbnB1dENsYXNzfHwobi5jb25maWcuYWx0SW5wdXRDbGFzcz1yZSgpLmNsYXNzTmFtZSsiICIrbi5jb25maWcuYWx0SW5wdXRDbGFzcyk7aGUoIm9uUGFyc2VDb25maWciKX0oKSxhZSgpLGZ1bmN0aW9uKCl7aWYobi5pbnB1dD1yZSgpLCFuLmlucHV0KXJldHVybiB2b2lkIG4uY29uZmlnLmVycm9ySGFuZGxlcihuZXcgRXJyb3IoIkludmFsaWQgaW5wdXQgZWxlbWVudCBzcGVjaWZpZWQiKSk7bi5pbnB1dC5fdHlwZT1uLmlucHV0LnR5cGUsbi5pbnB1dC50eXBlPSJ0ZXh0IixuLmlucHV0LmNsYXNzTGlzdC5hZGQoImZsYXRwaWNrci1pbnB1dCIpLG4uX2lucHV0PW4uaW5wdXQsbi5jb25maWcuYWx0SW5wdXQmJihuLmFsdElucHV0PWYobi5pbnB1dC5ub2RlTmFtZSxuLmNvbmZpZy5hbHRJbnB1dENsYXNzKSxuLl9pbnB1dD1uLmFsdElucHV0LG4uYWx0SW5wdXQucGxhY2Vob2xkZXI9bi5pbnB1dC5wbGFjZWhvbGRlcixuLmFsdElucHV0LmRpc2FibGVkPW4uaW5wdXQuZGlzYWJsZWQsbi5hbHRJbnB1dC5yZXF1aXJlZD1uLmlucHV0LnJlcXVpcmVkLG4uYWx0SW5wdXQudGFiSW5kZXg9bi5pbnB1dC50YWJJbmRleCxuLmFsdElucHV0LnR5cGU9InRleHQiLG4uaW5wdXQuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksIW4uY29uZmlnLnN0YXRpYyYmbi5pbnB1dC5wYXJlbnROb2RlJiZuLmlucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4uYWx0SW5wdXQsbi5pbnB1dC5uZXh0U2libGluZykpO24uY29uZmlnLmFsbG93SW5wdXR8fG4uX2lucHV0LnNldEF0dHJpYnV0ZSgicmVhZG9ubHkiLCJyZWFkb25seSIpO24uX3Bvc2l0aW9uRWxlbWVudD1uLmNvbmZpZy5wb3NpdGlvbkVsZW1lbnR8fG4uX2lucHV0fSgpLGZ1bmN0aW9uKCl7bi5zZWxlY3RlZERhdGVzPVtdLG4ubm93PW4ucGFyc2VEYXRlKG4uY29uZmlnLm5vdyl8fG5ldyBEYXRlO2NvbnN0IGU9bi5jb25maWcuZGVmYXVsdERhdGV8fCgiSU5QVVQiIT09bi5pbnB1dC5ub2RlTmFtZSYmIlRFWFRBUkVBIiE9PW4uaW5wdXQubm9kZU5hbWV8fCFuLmlucHV0LnBsYWNlaG9sZGVyfHxuLmlucHV0LnZhbHVlIT09bi5pbnB1dC5wbGFjZWhvbGRlcj9uLmlucHV0LnZhbHVlOm51bGwpO2UmJmRlKGUsbi5jb25maWcuZGF0ZUZvcm1hdCk7bi5faW5pdGlhbERhdGU9bi5zZWxlY3RlZERhdGVzLmxlbmd0aD4wP24uc2VsZWN0ZWREYXRlc1swXTpuLmNvbmZpZy5taW5EYXRlJiZuLmNvbmZpZy5taW5EYXRlLmdldFRpbWUoKT5uLm5vdy5nZXRUaW1lKCk/bi5jb25maWcubWluRGF0ZTpuLmNvbmZpZy5tYXhEYXRlJiZuLmNvbmZpZy5tYXhEYXRlLmdldFRpbWUoKTxuLm5vdy5nZXRUaW1lKCk/bi5jb25maWcubWF4RGF0ZTpuLm5vdyxuLmN1cnJlbnRZZWFyPW4uX2luaXRpYWxEYXRlLmdldEZ1bGxZZWFyKCksbi5jdXJyZW50TW9udGg9bi5faW5pdGlhbERhdGUuZ2V0TW9udGgoKSxuLnNlbGVjdGVkRGF0ZXMubGVuZ3RoPjAmJihuLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaj1uLnNlbGVjdGVkRGF0ZXNbMF0pO3ZvaWQgMCE9PW4uY29uZmlnLm1pblRpbWUmJihuLmNvbmZpZy5taW5UaW1lPW4ucGFyc2VEYXRlKG4uY29uZmlnLm1pblRpbWUsIkg6aSIpKTt2b2lkIDAhPT1uLmNvbmZpZy5tYXhUaW1lJiYobi5jb25maWcubWF4VGltZT1uLnBhcnNlRGF0ZShuLmNvbmZpZy5tYXhUaW1lLCJIOmkiKSk7bi5taW5EYXRlSGFzVGltZT0hIW4uY29uZmlnLm1pbkRhdGUmJihuLmNvbmZpZy5taW5EYXRlLmdldEhvdXJzKCk+MHx8bi5jb25maWcubWluRGF0ZS5nZXRNaW51dGVzKCk+MHx8bi5jb25maWcubWluRGF0ZS5nZXRTZWNvbmRzKCk+MCksbi5tYXhEYXRlSGFzVGltZT0hIW4uY29uZmlnLm1heERhdGUmJihuLmNvbmZpZy5tYXhEYXRlLmdldEhvdXJzKCk+MHx8bi5jb25maWcubWF4RGF0ZS5nZXRNaW51dGVzKCk+MHx8bi5jb25maWcubWF4RGF0ZS5nZXRTZWNvbmRzKCk+MCl9KCksbi51dGlscz17Z2V0RGF5c0luTW9udGg6KGU9bi5jdXJyZW50TW9udGgsdD1uLmN1cnJlbnRZZWFyKT0+MT09PWUmJih0JTQ9PTAmJnQlMTAwIT0wfHx0JTQwMD09MCk/Mjk6bi5sMTBuLmRheXNJbk1vbnRoW2VdfSxuLmlzTW9iaWxlfHxmdW5jdGlvbigpe2NvbnN0IGU9d2luZG93LmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihuLmNhbGVuZGFyQ29udGFpbmVyPWYoImRpdiIsImZsYXRwaWNrci1jYWxlbmRhciIpLG4uY2FsZW5kYXJDb250YWluZXIudGFiSW5kZXg9LTEsIW4uY29uZmlnLm5vQ2FsZW5kYXIpe2lmKGUuYXBwZW5kQ2hpbGQoKG4ubW9udGhOYXY9ZigiZGl2IiwiZmxhdHBpY2tyLW1vbnRocyIpLG4ueWVhckVsZW1lbnRzPVtdLG4ubW9udGhFbGVtZW50cz1bXSxuLnByZXZNb250aE5hdj1mKCJzcGFuIiwiZmxhdHBpY2tyLXByZXYtbW9udGgiKSxuLnByZXZNb250aE5hdi5pbm5lckhUTUw9bi5jb25maWcucHJldkFycm93LG4ubmV4dE1vbnRoTmF2PWYoInNwYW4iLCJmbGF0cGlja3ItbmV4dC1tb250aCIpLG4ubmV4dE1vbnRoTmF2LmlubmVySFRNTD1uLmNvbmZpZy5uZXh0QXJyb3csQigpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfaGlkZVByZXZNb250aEFycm93Iix7Z2V0OigpPT5uLl9faGlkZVByZXZNb250aEFycm93LHNldChlKXtuLl9faGlkZVByZXZNb250aEFycm93IT09ZSYmKGQobi5wcmV2TW9udGhOYXYsImZsYXRwaWNrci1kaXNhYmxlZCIsZSksbi5fX2hpZGVQcmV2TW9udGhBcnJvdz1lKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX2hpZGVOZXh0TW9udGhBcnJvdyIse2dldDooKT0+bi5fX2hpZGVOZXh0TW9udGhBcnJvdyxzZXQoZSl7bi5fX2hpZGVOZXh0TW9udGhBcnJvdyE9PWUmJihkKG4ubmV4dE1vbnRoTmF2LCJmbGF0cGlja3ItZGlzYWJsZWQiLGUpLG4uX19oaWRlTmV4dE1vbnRoQXJyb3c9ZSl9fSksbi5jdXJyZW50WWVhckVsZW1lbnQ9bi55ZWFyRWxlbWVudHNbMF0sZ2UoKSxuLm1vbnRoTmF2KSksbi5pbm5lckNvbnRhaW5lcj1mKCJkaXYiLCJmbGF0cGlja3ItaW5uZXJDb250YWluZXIiKSxuLmNvbmZpZy53ZWVrTnVtYmVycyl7Y29uc3R7d2Vla1dyYXBwZXI6ZSx3ZWVrTnVtYmVyczp0fT1mdW5jdGlvbigpe24uY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCgiaGFzV2Vla3MiKTtjb25zdCBlPWYoImRpdiIsImZsYXRwaWNrci13ZWVrd3JhcHBlciIpO2UuYXBwZW5kQ2hpbGQoZigic3BhbiIsImZsYXRwaWNrci13ZWVrZGF5IixuLmwxMG4ud2Vla0FiYnJldmlhdGlvbikpO2NvbnN0IHQ9ZigiZGl2IiwiZmxhdHBpY2tyLXdlZWtzIik7cmV0dXJuIGUuYXBwZW5kQ2hpbGQodCkse3dlZWtXcmFwcGVyOmUsd2Vla051bWJlcnM6dH19KCk7bi5pbm5lckNvbnRhaW5lci5hcHBlbmRDaGlsZChlKSxuLndlZWtOdW1iZXJzPXQsbi53ZWVrV3JhcHBlcj1lfW4uckNvbnRhaW5lcj1mKCJkaXYiLCJmbGF0cGlja3ItckNvbnRhaW5lciIpLG4uckNvbnRhaW5lci5hcHBlbmRDaGlsZChSKCkpLG4uZGF5c0NvbnRhaW5lcnx8KG4uZGF5c0NvbnRhaW5lcj1mKCJkaXYiLCJmbGF0cGlja3ItZGF5cyIpLG4uZGF5c0NvbnRhaW5lci50YWJJbmRleD0tMSkscSgpLG4uckNvbnRhaW5lci5hcHBlbmRDaGlsZChuLmRheXNDb250YWluZXIpLG4uaW5uZXJDb250YWluZXIuYXBwZW5kQ2hpbGQobi5yQ29udGFpbmVyKSxlLmFwcGVuZENoaWxkKG4uaW5uZXJDb250YWluZXIpfW4uY29uZmlnLmVuYWJsZVRpbWUmJmUuYXBwZW5kQ2hpbGQoZnVuY3Rpb24oKXtuLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoImhhc1RpbWUiKSxuLmNvbmZpZy5ub0NhbGVuZGFyJiZuLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoIm5vQ2FsZW5kYXIiKTtjb25zdCBlPWsobi5jb25maWcpO24udGltZUNvbnRhaW5lcj1mKCJkaXYiLCJmbGF0cGlja3ItdGltZSIpLG4udGltZUNvbnRhaW5lci50YWJJbmRleD0tMTtjb25zdCB0PWYoInNwYW4iLCJmbGF0cGlja3ItdGltZS1zZXBhcmF0b3IiLCI6IiksaT1wKCJmbGF0cGlja3ItaG91ciIseyJhcmlhLWxhYmVsIjpuLmwxMG4uaG91ckFyaWFMYWJlbH0pO24uaG91ckVsZW1lbnQ9aS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXTtjb25zdCByPXAoImZsYXRwaWNrci1taW51dGUiLHsiYXJpYS1sYWJlbCI6bi5sMTBuLm1pbnV0ZUFyaWFMYWJlbH0pO24ubWludXRlRWxlbWVudD1yLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdLG4uaG91ckVsZW1lbnQudGFiSW5kZXg9bi5taW51dGVFbGVtZW50LnRhYkluZGV4PS0xLG4uaG91ckVsZW1lbnQudmFsdWU9cyhuLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaj9uLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5nZXRIb3VycygpOm4uY29uZmlnLnRpbWVfMjRocj9lLmhvdXJzOmZ1bmN0aW9uKGUpe3N3aXRjaChlJTI0KXtjYXNlIDA6Y2FzZSAxMjpyZXR1cm4gMTI7ZGVmYXVsdDpyZXR1cm4gZSUxMn19KGUuaG91cnMpKSxuLm1pbnV0ZUVsZW1lbnQudmFsdWU9cyhuLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaj9uLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5nZXRNaW51dGVzKCk6ZS5taW51dGVzKSxuLmhvdXJFbGVtZW50LnNldEF0dHJpYnV0ZSgic3RlcCIsbi5jb25maWcuaG91ckluY3JlbWVudC50b1N0cmluZygpKSxuLm1pbnV0ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzdGVwIixuLmNvbmZpZy5taW51dGVJbmNyZW1lbnQudG9TdHJpbmcoKSksbi5ob3VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoIm1pbiIsbi5jb25maWcudGltZV8yNGhyPyIwIjoiMSIpLG4uaG91ckVsZW1lbnQuc2V0QXR0cmlidXRlKCJtYXgiLG4uY29uZmlnLnRpbWVfMjRocj8iMjMiOiIxMiIpLG4uaG91ckVsZW1lbnQuc2V0QXR0cmlidXRlKCJtYXhsZW5ndGgiLCIyIiksbi5taW51dGVFbGVtZW50LnNldEF0dHJpYnV0ZSgibWluIiwiMCIpLG4ubWludXRlRWxlbWVudC5zZXRBdHRyaWJ1dGUoIm1heCIsIjU5Iiksbi5taW51dGVFbGVtZW50LnNldEF0dHJpYnV0ZSgibWF4bGVuZ3RoIiwiMiIpLG4udGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChpKSxuLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodCksbi50aW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHIpLG4uY29uZmlnLnRpbWVfMjRociYmbi50aW1lQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoInRpbWUyNGhyIik7aWYobi5jb25maWcuZW5hYmxlU2Vjb25kcyl7bi50aW1lQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoImhhc1NlY29uZHMiKTtjb25zdCB0PXAoImZsYXRwaWNrci1zZWNvbmQiKTtuLnNlY29uZEVsZW1lbnQ9dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxuLnNlY29uZEVsZW1lbnQudmFsdWU9cyhuLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaj9uLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5nZXRTZWNvbmRzKCk6ZS5zZWNvbmRzKSxuLnNlY29uZEVsZW1lbnQuc2V0QXR0cmlidXRlKCJzdGVwIixuLm1pbnV0ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJzdGVwIikpLG4uc2Vjb25kRWxlbWVudC5zZXRBdHRyaWJ1dGUoIm1pbiIsIjAiKSxuLnNlY29uZEVsZW1lbnQuc2V0QXR0cmlidXRlKCJtYXgiLCI1OSIpLG4uc2Vjb25kRWxlbWVudC5zZXRBdHRyaWJ1dGUoIm1heGxlbmd0aCIsIjIiKSxuLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQoZigic3BhbiIsImZsYXRwaWNrci10aW1lLXNlcGFyYXRvciIsIjoiKSksbi50aW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfW4uY29uZmlnLnRpbWVfMjRocnx8KG4uYW1QTT1mKCJzcGFuIiwiZmxhdHBpY2tyLWFtLXBtIixuLmwxMG4uYW1QTVtsKChuLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaj9uLmhvdXJFbGVtZW50LnZhbHVlOm4uY29uZmlnLmRlZmF1bHRIb3VyKT4xMSldKSxuLmFtUE0udGl0bGU9bi5sMTBuLnRvZ2dsZVRpdGxlLG4uYW1QTS50YWJJbmRleD0tMSxuLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQobi5hbVBNKSk7cmV0dXJuIG4udGltZUNvbnRhaW5lcn0oKSk7ZChuLmNhbGVuZGFyQ29udGFpbmVyLCJyYW5nZU1vZGUiLCJyYW5nZSI9PT1uLmNvbmZpZy5tb2RlKSxkKG4uY2FsZW5kYXJDb250YWluZXIsImFuaW1hdGUiLCEwPT09bi5jb25maWcuYW5pbWF0ZSksZChuLmNhbGVuZGFyQ29udGFpbmVyLCJtdWx0aU1vbnRoIixuLmNvbmZpZy5zaG93TW9udGhzPjEpLG4uY2FsZW5kYXJDb250YWluZXIuYXBwZW5kQ2hpbGQoZSk7Y29uc3QgdD12b2lkIDAhPT1uLmNvbmZpZy5hcHBlbmRUbyYmdm9pZCAwIT09bi5jb25maWcuYXBwZW5kVG8ubm9kZVR5cGU7aWYoKG4uY29uZmlnLmlubGluZXx8bi5jb25maWcuc3RhdGljKSYmKG4uY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChuLmNvbmZpZy5pbmxpbmU/ImlubGluZSI6InN0YXRpYyIpLG4uY29uZmlnLmlubGluZSYmKCF0JiZuLmVsZW1lbnQucGFyZW50Tm9kZT9uLmVsZW1lbnQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobi5jYWxlbmRhckNvbnRhaW5lcixuLl9pbnB1dC5uZXh0U2libGluZyk6dm9pZCAwIT09bi5jb25maWcuYXBwZW5kVG8mJm4uY29uZmlnLmFwcGVuZFRvLmFwcGVuZENoaWxkKG4uY2FsZW5kYXJDb250YWluZXIpKSxuLmNvbmZpZy5zdGF0aWMpKXtjb25zdCBlPWYoImRpdiIsImZsYXRwaWNrci13cmFwcGVyIik7bi5lbGVtZW50LnBhcmVudE5vZGUmJm4uZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLG4uZWxlbWVudCksZS5hcHBlbmRDaGlsZChuLmVsZW1lbnQpLG4uYWx0SW5wdXQmJmUuYXBwZW5kQ2hpbGQobi5hbHRJbnB1dCksZS5hcHBlbmRDaGlsZChuLmNhbGVuZGFyQ29udGFpbmVyKX1uLmNvbmZpZy5zdGF0aWN8fG4uY29uZmlnLmlubGluZXx8KHZvaWQgMCE9PW4uY29uZmlnLmFwcGVuZFRvP24uY29uZmlnLmFwcGVuZFRvOndpbmRvdy5kb2N1bWVudC5ib2R5KS5hcHBlbmRDaGlsZChuLmNhbGVuZGFyQ29udGFpbmVyKX0oKSxmdW5jdGlvbigpe24uY29uZmlnLndyYXAmJlsib3BlbiIsImNsb3NlIiwidG9nZ2xlIiwiY2xlYXIiXS5mb3JFYWNoKChlPT57QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChuLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChgW2RhdGEtJHtlfV1gKSwodD0+Tih0LCJjbGljayIsbltlXSkpKX0pKTtpZihuLmlzTW9iaWxlKXJldHVybiB2b2lkIGZ1bmN0aW9uKCl7Y29uc3QgZT1uLmNvbmZpZy5lbmFibGVUaW1lP24uY29uZmlnLm5vQ2FsZW5kYXI/InRpbWUiOiJkYXRldGltZS1sb2NhbCI6ImRhdGUiO24ubW9iaWxlSW5wdXQ9ZigiaW5wdXQiLG4uaW5wdXQuY2xhc3NOYW1lKyIgZmxhdHBpY2tyLW1vYmlsZSIpLG4ubW9iaWxlSW5wdXQudGFiSW5kZXg9MSxuLm1vYmlsZUlucHV0LnR5cGU9ZSxuLm1vYmlsZUlucHV0LmRpc2FibGVkPW4uaW5wdXQuZGlzYWJsZWQsbi5tb2JpbGVJbnB1dC5yZXF1aXJlZD1uLmlucHV0LnJlcXVpcmVkLG4ubW9iaWxlSW5wdXQucGxhY2Vob2xkZXI9bi5pbnB1dC5wbGFjZWhvbGRlcixuLm1vYmlsZUZvcm1hdFN0cj0iZGF0ZXRpbWUtbG9jYWwiPT09ZT8iWS1tLWRcXFRIOmk6UyI6ImRhdGUiPT09ZT8iWS1tLWQiOiJIOmk6UyIsbi5zZWxlY3RlZERhdGVzLmxlbmd0aD4wJiYobi5tb2JpbGVJbnB1dC5kZWZhdWx0VmFsdWU9bi5tb2JpbGVJbnB1dC52YWx1ZT1uLmZvcm1hdERhdGUobi5zZWxlY3RlZERhdGVzWzBdLG4ubW9iaWxlRm9ybWF0U3RyKSk7bi5jb25maWcubWluRGF0ZSYmKG4ubW9iaWxlSW5wdXQubWluPW4uZm9ybWF0RGF0ZShuLmNvbmZpZy5taW5EYXRlLCJZLW0tZCIpKTtuLmNvbmZpZy5tYXhEYXRlJiYobi5tb2JpbGVJbnB1dC5tYXg9bi5mb3JtYXREYXRlKG4uY29uZmlnLm1heERhdGUsIlktbS1kIikpO24uaW5wdXQuZ2V0QXR0cmlidXRlKCJzdGVwIikmJihuLm1vYmlsZUlucHV0LnN0ZXA9U3RyaW5nKG4uaW5wdXQuZ2V0QXR0cmlidXRlKCJzdGVwIikpKTtuLmlucHV0LnR5cGU9ImhpZGRlbiIsdm9pZCAwIT09bi5hbHRJbnB1dCYmKG4uYWx0SW5wdXQudHlwZT0iaGlkZGVuIik7dHJ5e24uaW5wdXQucGFyZW50Tm9kZSYmbi5pbnB1dC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShuLm1vYmlsZUlucHV0LG4uaW5wdXQubmV4dFNpYmxpbmcpfWNhdGNoKGUpe31OKG4ubW9iaWxlSW5wdXQsImNoYW5nZSIsKGU9PntuLnNldERhdGUoZyhlKS52YWx1ZSwhMSxuLm1vYmlsZUZvcm1hdFN0ciksaGUoIm9uQ2hhbmdlIiksaGUoIm9uQ2xvc2UiKX0pKX0oKTtjb25zdCBlPXUobmUsNTApO24uX2RlYm91bmNlZENoYW5nZT11KE8sMzAwKSxuLmRheXNDb250YWluZXImJiEvaVBob25lfGlQYWR8aVBvZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJk4obi5kYXlzQ29udGFpbmVyLCJtb3VzZW92ZXIiLChlPT57InJhbmdlIj09PW4uY29uZmlnLm1vZGUmJnRlKGcoZSkpfSkpO04od2luZG93LmRvY3VtZW50LmJvZHksImtleWRvd24iLGVlKSxuLmNvbmZpZy5pbmxpbmV8fG4uY29uZmlnLnN0YXRpY3x8Tih3aW5kb3csInJlc2l6ZSIsZSk7dm9pZCAwIT09d2luZG93Lm9udG91Y2hzdGFydD9OKHdpbmRvdy5kb2N1bWVudCwidG91Y2hzdGFydCIsSyk6Tih3aW5kb3cuZG9jdW1lbnQsIm1vdXNlZG93biIsSyk7Tih3aW5kb3cuZG9jdW1lbnQsImZvY3VzIixLLHtjYXB0dXJlOiEwfSksITA9PT1uLmNvbmZpZy5jbGlja09wZW5zJiYoTihuLl9pbnB1dCwiZm9jdXMiLG4ub3BlbiksTihuLl9pbnB1dCwiY2xpY2siLG4ub3BlbikpO3ZvaWQgMCE9PW4uZGF5c0NvbnRhaW5lciYmKE4obi5tb250aE5hdiwiY2xpY2siLGJlKSxOKG4ubW9udGhOYXYsWyJrZXl1cCIsImluY3JlbWVudCJdLEEpLE4obi5kYXlzQ29udGFpbmVyLCJjbGljayIsdWUpKTtpZih2b2lkIDAhPT1uLnRpbWVDb250YWluZXImJnZvaWQgMCE9PW4ubWludXRlRWxlbWVudCYmdm9pZCAwIT09bi5ob3VyRWxlbWVudCl7Y29uc3QgZT1lPT5nKGUpLnNlbGVjdCgpO04obi50aW1lQ29udGFpbmVyLFsiaW5jcmVtZW50Il0sYiksTihuLnRpbWVDb250YWluZXIsImJsdXIiLGIse2NhcHR1cmU6ITB9KSxOKG4udGltZUNvbnRhaW5lciwiY2xpY2siLGopLE4oW24uaG91ckVsZW1lbnQsbi5taW51dGVFbGVtZW50XSxbImZvY3VzIiwiY2xpY2siXSxlKSx2b2lkIDAhPT1uLnNlY29uZEVsZW1lbnQmJk4obi5zZWNvbmRFbGVtZW50LCJmb2N1cyIsKCgpPT5uLnNlY29uZEVsZW1lbnQmJm4uc2Vjb25kRWxlbWVudC5zZWxlY3QoKSkpLHZvaWQgMCE9PW4uYW1QTSYmTihuLmFtUE0sImNsaWNrIiwoZT0+e2IoZSksTygpfSkpfW4uY29uZmlnLmFsbG93SW5wdXQmJk4obi5faW5wdXQsImJsdXIiLFEpfSgpLChuLnNlbGVjdGVkRGF0ZXMubGVuZ3RofHxuLmNvbmZpZy5ub0NhbGVuZGFyKSYmKG4uY29uZmlnLmVuYWJsZVRpbWUmJlQobi5jb25maWcubm9DYWxlbmRhcj9uLmxhdGVzdFNlbGVjdGVkRGF0ZU9iajp2b2lkIDApLHllKCExKSksdigpO2NvbnN0IG89L14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTshbi5pc01vYmlsZSYmbyYmb2UoKSxoZSgib25SZWFkeSIpfSgpLG59ZnVuY3Rpb24gRShlLHQpe2NvbnN0IG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSkuZmlsdGVyKChlPT5lIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSxpPVtdO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtjb25zdCByPW5bZV07dHJ5e2lmKG51bGwhPT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1mcC1vbWl0IikpY29udGludWU7dm9pZCAwIT09ci5fZmxhdHBpY2tyJiYoci5fZmxhdHBpY2tyLmRlc3Ryb3koKSxyLl9mbGF0cGlja3I9dm9pZCAwKSxyLl9mbGF0cGlja3I9VChyLHR8fHt9KSxpLnB1c2goci5fZmxhdHBpY2tyKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX1yZXR1cm4gMT09PWkubGVuZ3RoP2lbMF06aX0idW5kZWZpbmVkIiE9dHlwZW9mIEhUTUxFbGVtZW50JiYidW5kZWZpbmVkIiE9dHlwZW9mIEhUTUxDb2xsZWN0aW9uJiYidW5kZWZpbmVkIiE9dHlwZW9mIE5vZGVMaXN0JiYoSFRNTENvbGxlY3Rpb24ucHJvdG90eXBlLmZsYXRwaWNrcj1Ob2RlTGlzdC5wcm90b3R5cGUuZmxhdHBpY2tyPWZ1bmN0aW9uKGUpe3JldHVybiBFKHRoaXMsZSl9LEhUTUxFbGVtZW50LnByb3RvdHlwZS5mbGF0cGlja3I9ZnVuY3Rpb24oZSl7cmV0dXJuIEUoW3RoaXNdLGUpfSk7dmFyIF89ZnVuY3Rpb24oZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/RSh3aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChlKSx0KTplIGluc3RhbmNlb2YgTm9kZT9FKFtlXSx0KTpFKGUsdCl9O18uZGVmYXVsdENvbmZpZz17fSxfLmwxMG5zPXtlbjpPYmplY3QuYXNzaWduKHt9LG8pLGRlZmF1bHQ6T2JqZWN0LmFzc2lnbih7fSxvKX0sXy5sb2NhbGl6ZT1lPT57Xy5sMTBucy5kZWZhdWx0PU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxfLmwxMG5zLmRlZmF1bHQpLGUpfSxfLnNldERlZmF1bHRzPWU9PntfLmRlZmF1bHRDb25maWc9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LF8uZGVmYXVsdENvbmZpZyksZSl9LF8ucGFyc2VEYXRlPXgoe30pLF8uZm9ybWF0RGF0ZT1EKHt9KSxfLmNvbXBhcmVEYXRlcz1NLCJ1bmRlZmluZWQiIT10eXBlb2YgalF1ZXJ5JiZ2b2lkIDAhPT1qUXVlcnkuZm4mJihqUXVlcnkuZm4uZmxhdHBpY2tyPWZ1bmN0aW9uKGUpe3JldHVybiBFKHRoaXMsZSl9KSxEYXRlLnByb3RvdHlwZS5mcF9pbmNyPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgRGF0ZSh0aGlzLmdldEZ1bGxZZWFyKCksdGhpcy5nZXRNb250aCgpLHRoaXMuZ2V0RGF0ZSgpKygic3RyaW5nIj09dHlwZW9mIGU/cGFyc2VJbnQoZSwxMCk6ZSkpfSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5mbGF0cGlja3I9Xyk7dmFyIEE9X30sMjE4OTU6ZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ImZ1bmN0aW9uIiE9dHlwZW9mIE9iamVjdC5hc3NpZ24mJihPYmplY3QuYXNzaWduPWZ1bmN0aW9uKGUsLi4udCl7aWYoIWUpdGhyb3cgVHlwZUVycm9yKCJDYW5ub3QgY29udmVydCB1bmRlZmluZWQgb3IgbnVsbCB0byBvYmplY3QiKTtmb3IoY29uc3QgbiBvZiB0KW4mJk9iamVjdC5rZXlzKG4pLmZvckVhY2goKHQ9PmVbdF09blt0XSkpO3JldHVybiBlfSl9LDU4OTg3OmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz1mdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKHQpe3JldHVybiBlPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxlKHQpfWZ1bmN0aW9uIHQoZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBuKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXRbbl07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxpLmtleSxpKX19ZnVuY3Rpb24gaShlLHQsaSl7cmV0dXJuIHQmJm4oZS5wcm90b3R5cGUsdCksaSYmbihlLGkpLGV9ZnVuY3Rpb24gcihlLHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiIpO2UucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTplLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSx0JiZvKGUsdCl9ZnVuY3Rpb24gYShlKXtyZXR1cm4gYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKGUpe3JldHVybiBlLl9fcHJvdG9fX3x8T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpfSxhKGUpfWZ1bmN0aW9uIG8oZSx0KXtyZXR1cm4gbz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuX19wcm90b19fPXQsZX0sbyhlLHQpfWZ1bmN0aW9uIHMoKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSxbXSwoZnVuY3Rpb24oKXt9KSkpLCEwfWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBsKGUsdCxuKXtyZXR1cm4gbD1zKCk/UmVmbGVjdC5jb25zdHJ1Y3Q6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpPVtudWxsXTtpLnB1c2guYXBwbHkoaSx0KTt2YXIgcj1uZXcoRnVuY3Rpb24uYmluZC5hcHBseShlLGkpKTtyZXR1cm4gbiYmbyhyLG4ucHJvdG90eXBlKSxyfSxsLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiB1KGUpe2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWQiKTtyZXR1cm4gZX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIXR8fCJvYmplY3QiIT10eXBlb2YgdCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQ/dShlKTp0fWZ1bmN0aW9uIGQoZSx0KXtmb3IoOyFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KSYmbnVsbCE9PShlPWEoZSkpOyk7cmV0dXJuIGV9ZnVuY3Rpb24gZihlLHQsbil7cmV0dXJuIGY9InVuZGVmaW5lZCIhPXR5cGVvZiBSZWZsZWN0JiZSZWZsZWN0LmdldD9SZWZsZWN0LmdldDpmdW5jdGlvbihlLHQsbil7dmFyIGk9ZChlLHQpO2lmKGkpe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaSx0KTtyZXR1cm4gci5nZXQ/ci5nZXQuY2FsbChuKTpyLnZhbHVlfX0sZihlLHQsbnx8ZSl9ZnVuY3Rpb24gaChlKXt0aHJvdyBFcnJvcihlKX1mdW5jdGlvbiBtKGUpe2lmKEEoZSkpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHQ+MT90LTE6MCksaT0xO2k8dDtpKyspbltpLTFdPWFyZ3VtZW50c1tpXTtyZXR1cm4gZS5jYWxsLmFwcGx5KGUsW3RoaXNdLmNvbmNhdChuKSl9fWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEQoZT14KGUpP01hdGguY2VpbChlKTpNYXRoLmZsb29yKGUpKT8oIi0iK2UpLnRvU3RyaW5nKCk6ZX1mdW5jdGlvbiBnKGUpe3JldHVybiFTKGUpJiYhTShlKX1mdW5jdGlvbiB2KGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQoZSgpKX19ZnVuY3Rpb24geShlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHQubWFwKGUpLnJlZHVjZSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jb25jYXQodCl9KSxbXSl9fWZ1bmN0aW9uIGIoZSl7cmV0dXJuIHkoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKGUpfWZ1bmN0aW9uIHcoZSl7cmV0dXJuIHkoKGZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP3coZSk6ZX0pKShlKX1mdW5jdGlvbiBDKGUpe3JldHVybiB3KGUpLmxlbmd0aH1mdW5jdGlvbiBEKGUpe3JldHVybiAxL01hdGgucm91bmQoZSk9PS0xLzB9ZnVuY3Rpb24geChlKXtyZXR1cm4gRChlKXx8ZTwwfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIG51bGw9PT1lfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIHZvaWQgMD09PWV9ZnVuY3Rpb24gayhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEZ1bmN0aW9uJiYhIWUubmFtZX1mdW5jdGlvbiBUKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZX1mdW5jdGlvbiBFKGUpe3JldHVybiBlIGluc3RhbmNlb2YgQXJyYXl9ZnVuY3Rpb24gXyh0KXt2YXIgbj1lKHQpO3JldHVybiBudWxsIT10JiYhRSh0KSYmKCJvYmplY3QiPT1ufHwiZnVuY3Rpb24iPT1uKX1mdW5jdGlvbiBBKGUpe3JldHVybiBlIGluc3RhbmNlb2YgRnVuY3Rpb259ZnVuY3Rpb24gTihlKXtyZXR1cm4haXNOYU4oZSl9ZnVuY3Rpb24gTyhlKXtyZXR1cm4gZS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnJlcGxhY2UoL1xzKy9nLCItIikudG9Mb3dlckNhc2UoKX12YXIgUD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUobil7dCh0aGlzLGUpLHRoaXMuc2V0QXR0cmlidXRlKE9iamVjdC5hc3NpZ24oe2V2ZW50czp7fX0sbikpfXJldHVybiBpKGUsW3trZXk6ImVtaXQiLHZhbHVlOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD10aGlzLG49YXJndW1lbnRzLmxlbmd0aCxpPW5ldyBBcnJheShuPjE/bi0xOjApLHI9MTtyPG47cisrKWlbci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIHRoaXMuZXZlbnRzW2VdJiZ0aGlzLmV2ZW50c1tlXS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmFwcGx5KHQsaSl9KSksdGhpc319LHtrZXk6Im9uIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmV2ZW50c1tlXXx8KHRoaXMuZXZlbnRzW2VdPVtdKSx0aGlzLmV2ZW50c1tlXS5wdXNoKHQpLHRoaXN9fSx7a2V5OiJvZmYiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZXZlbnRzW2VdJiZ0P3RoaXMuZXZlbnRzW2VdPXRoaXMuZXZlbnRzW2VdLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT10fSkpOnRoaXMuZXZlbnRzW2VdPVtdLHRoaXN9fSx7a2V5OiJvbmNlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuIHQ9dih0LChmdW5jdGlvbigpe3JldHVybiBuLm9mZihlLHQpfSkpLHRoaXMub24oZSx0LCEwKX19LHtrZXk6ImdldEF0dHJpYnV0ZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoZSk/dGhpc1tlXTpudWxsfX0se2tleToiZ2V0QXR0cmlidXRlcyIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9e307cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3Rbbl09ZS5nZXRBdHRyaWJ1dGUobil9KSksdH19LHtrZXk6ImdldFB1YmxpY0F0dHJpYnV0ZXMiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gT2JqZWN0LmtleXModGhpcy5nZXRBdHRyaWJ1dGVzKCkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIWUubWF0Y2goL15cJC8pfSkpLnJlZHVjZSgoZnVuY3Rpb24odCxuKXtyZXR1cm4gdFtuXT1lLmdldEF0dHJpYnV0ZShuKSx0fSkse30pfX0se2tleToic2V0QXR0cmlidXRlIix2YWx1ZTpmdW5jdGlvbihlLHQpe18oZSk/dGhpcy5zZXRBdHRyaWJ1dGVzKGUpOnRoaXNbZV09dH19LHtrZXk6InNldEF0dHJpYnV0ZXMiLHZhbHVlOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdCBpbiBlKXRoaXMuc2V0QXR0cmlidXRlKHQsZVt0XSl9fSx7a2V5OiJjYWxsYmFjayIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIG0uY2FsbCh0aGlzLGUpfX0se2tleToibmFtZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29uc3RydWN0b3IuZGVmaW5lTmFtZSBpbnN0YW5jZW9mIEZ1bmN0aW9ufHxoKCJFdmVyeSBjbGFzcyBtdXN0IGRlZmluZSBpdHMgbmFtZS4iKSx0aGlzLmNvbnN0cnVjdG9yLmRlZmluZU5hbWUoKX19LHtrZXk6ImV2ZW50cyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGV2ZW50c3x8e319LHNldDpmdW5jdGlvbihlKXt0aGlzLiRldmVudHM9ZX19XSxbe2tleToibWFrZSIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlKSxuPTA7bjxlO24rKyl0W25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gbCh0aGlzLHQpfX1dKSxlfSgpO2Z1bmN0aW9uIGooZSx0KXtmdW5jdGlvbiBuKGUpe3JldHVybih0LnByZXBlbmRMZWFkaW5nWmVybyYmMT09PWUudG9TdHJpbmcoKS5zcGxpdCgiIikubGVuZ3RoPyIwIjoiIikuY29uY2F0KGUpfWZ1bmN0aW9uIGkoZSx0KXt2YXIgbj13KGUpLmxlbmd0aDtpZihuPHQpZm9yKHZhciBpPTA7aTx0LW47aSsrKWVbMF0udW5zaGlmdCgiMCIpO3JldHVybiBlfXJldHVybiB0PU9iamVjdC5hc3NpZ24oe21pbmltdW1EaWdpdHM6MCxwcmVwZW5kTGVhZGluZ1plcm86ITB9LHQpLGkoYihbZV0pLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGIodyhbZV0pLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4oZSkuc3BsaXQoIiIpfSkpKX0pKSx0Lm1pbmltdW1EaWdpdHN8fDApfXZhciBMPVt7bWluOjQ4LG1heDo1N30se21pbjo2NSxtYXg6OTB9LHttaW46OTcsbWF4OjEyMn1dO2Z1bmN0aW9uIEgoZSx0KXtyZXR1cm4ibnVtYmVyIj09PXQ/cGFyc2VGbG9hdChlKTplfWZ1bmN0aW9uIEkoZSl7Zm9yKHZhciB0IGluIEwpe3ZhciBuPWUudG9TdHJpbmcoKS5jaGFyQ29kZUF0KDApO2lmKExbdF0ubWluPD1uJiZMW3RdLm1heD49bilyZXR1cm4gTFt0XX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBGKGUsdCl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUodChJKGUpLGUuY2hhckNvZGVBdCgwKSkpfWZ1bmN0aW9uIFYodCl7cmV0dXJuIEgodC50b1N0cmluZygpLnNwbGl0KCIiKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBGKGUsKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIWV8fHQ8ZS5tYXg/dCsxOmUubWlufSkpfSkpLmpvaW4oIiIpLGUodCkpfWZ1bmN0aW9uIFkodCl7cmV0dXJuIEgodC50b1N0cmluZygpLnNwbGl0KCIiKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBGKGUsKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIWV8fHQ+ZS5taW4/dC0xOmUubWF4fSkpfSkpLmpvaW4oIiIpLGUodCkpfXZhciBxPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oZSxpKXt2YXIgcjtyZXR1cm4gdCh0aGlzLG4pLHI9Yyh0aGlzLGEobikuY2FsbCh0aGlzLE9iamVjdC5hc3NpZ24oe2Zvcm1hdDpmdW5jdGlvbihlKXtyZXR1cm4gZX0scHJlcGVuZExlYWRpbmdaZXJvOiEwLG1pbmltdW1EaWdpdHM6MH0saSkpKSxyLnZhbHVlfHwoci52YWx1ZT1lKSxyfXJldHVybiByKG4sZSksaShuLFt7a2V5OiJpc05hTiIsdmFsdWU6ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe3JldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdC50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBlLnRvU3RyaW5nKCl9LHR9KChmdW5jdGlvbigpe3JldHVybiBpc05hTih0aGlzLnZhbHVlKX0pKX0se2tleToiaXNOdW1iZXIiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIE4oKX19LHtrZXk6ImNsb25lIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3RvcihlLE9iamVjdC5hc3NpZ24odGhpcy5nZXRQdWJsaWNBdHRyaWJ1dGVzKCksdCkpfX0se2tleToiZGlnaXRzIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZGlnaXRzfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy4kZGlnaXRzPWUsdGhpcy5taW5pbXVtRGlnaXRzPU1hdGgubWF4KHRoaXMubWluaW11bURpZ2l0cyxDKGUpKX19LHtrZXk6InZhbHVlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kdmFsdWV9LHNldDpmdW5jdGlvbihlKXt0aGlzLiR2YWx1ZT1lLHRoaXMuZGlnaXRzPWoodGhpcy5mb3JtYXQoZSkse21pbmltdW1EaWdpdHM6dGhpcy5taW5pbXVtRGlnaXRzLHByZXBlbmRMZWFkaW5nWmVybzp0aGlzLnByZXBlbmRMZWFkaW5nWmVyb30pfX1dLFt7a2V5OiJkZWZpbmVOYW1lIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiJGYWNlVmFsdWUifX1dKSxufShQKTtmdW5jdGlvbiB6KHQpe2Zvcih2YXIgbj0hMSxpPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoaT4xP2ktMTowKSxhPTE7YTxpO2ErKylyW2EtMV09YXJndW1lbnRzW2FdO3JldHVybiBiKHIpLmZvckVhY2goKGZ1bmN0aW9uKGkpeyhNKHQpJiZNKGkpfHxfKGkpJiZ0IGluc3RhbmNlb2YgaXx8QShpKSYmIWsoaSkmJiEwPT09aSh0KXx8VChpKSYmZSh0KT09PWkpJiYobj0hMCl9KSksbn12YXIgJD17Y2xhc3NOYW1lOiJUaGUgY2xhc3NOYW1lKCkgaXMgbm90IGRlZmluZWQuIixpdGVtczoiVGhlIGl0ZW1zIHByb3BlcnR5IG11c3QgYmUgYW4gYXJyYXkuIix0aGVtZToiVGhlIHRoZW1lIHByb3BlcnR5IG11c3QgYmUgYW4gb2JqZWN0LiIsbGFuZ3VhZ2U6IlRoZSBsYW5ndWFnZSBtdXN0IGJlIGFuIG9iamVjdC4iLGRhdGU6IlRoZSB2YWx1ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIGEgRGF0ZS4iLGZhY2U6IlRoZSBmYWNlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgYSBGYWNlIGNsYXNzLiIsZWxlbWVudDoiVGhlIGVsZW1lbnQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBhbiBIVE1MRWxlbWVudCIsZmFjZVZhbHVlOiJUaGUgZmFjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIGEgRmFjZVZhbHVlIGNsYXNzLiIsdGltZXI6IlRoZSB0aW1lciBwcm9wZXJ0eSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIGEgVGltZXIgY2xhc3MuIn0sQj1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUsaSl7dmFyIHI7cmV0dXJuIHQodGhpcyxuKSxlIGluc3RhbmNlb2YgcXx8IV8oZSl8fChpPWUsZT12b2lkIDApLChyPWModGhpcyxhKG4pLmNhbGwodGhpcykpKS5zZXRBdHRyaWJ1dGVzKE9iamVjdC5hc3NpZ24oe2F1dG9TdGFydDohMCxjb3VudGRvd246ITEsYW5pbWF0aW9uUmF0ZTo1MDB9LHIuZGVmYXVsdEF0dHJpYnV0ZXMoKSxpfHx7fSkpLChNKGUpfHxTKGUpKSYmKGU9ci5kZWZhdWx0VmFsdWUoKSksZSYmKHIudmFsdWU9ZSkscn1yZXR1cm4gcihuLGUpLGkobixbe2tleToiaW50ZXJ2YWwiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuY291bnRkb3duP3RoaXMuZGVjcmVtZW50KGUpOnRoaXMuaW5jcmVtZW50KGUpLG0uY2FsbCh0aGlzLHQpLHRoaXMuc2hvdWxkU3RvcChlKSYmZS5zdG9wKCksdGhpcy5lbWl0KCJpbnRlcnZhbCIpfX0se2tleToic2hvdWxkU3RvcCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIVModGhpcy5zdG9wQXQpJiZ0aGlzLnN0b3BBdD09PWUudmFsdWUudmFsdWV9fSx7a2V5OiJmb3JtYXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR9fSx7a2V5OiJkZWZhdWx0VmFsdWUiLHZhbHVlOmZ1bmN0aW9uKCl7fX0se2tleToiZGVmYXVsdEF0dHJpYnV0ZXMiLHZhbHVlOmZ1bmN0aW9uKCl7fX0se2tleToiZGVmYXVsdERhdGFUeXBlIix2YWx1ZTpmdW5jdGlvbigpe319LHtrZXk6ImluY3JlbWVudCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt9fSx7a2V5OiJkZWNyZW1lbnQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7fX0se2tleToic3RhcnRlZCIsdmFsdWU6ZnVuY3Rpb24oZSl7fX0se2tleToic3RvcHBlZCIsdmFsdWU6ZnVuY3Rpb24oZSl7fX0se2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKGUpe319LHtrZXk6ImluaXRpYWxpemVkIix2YWx1ZTpmdW5jdGlvbihlKXt9fSx7a2V5OiJyZW5kZXJlZCIsdmFsdWU6ZnVuY3Rpb24oZSl7fX0se2tleToibW91bnRlZCIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5hdXRvU3RhcnQmJmUudGltZXIuaXNTdG9wcGVkJiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe3JldHVybiBlLnN0YXJ0KGUpfSkpfX0se2tleToiY3JlYXRlRmFjZVZhbHVlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuIHEubWFrZShBKHQpJiYhdC5uYW1lP3QoKTp0LHttaW5pbXVtRGlnaXRzOnRoaXMubWluaW11bURpZ2l0cyxmb3JtYXQ6ZnVuY3Rpb24odCl7cmV0dXJuIG4uZm9ybWF0KGUsdCl9fSl9fSx7a2V5OiJkYXRhVHlwZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdERhdGFUeXBlKCl9fSx7a2V5OiJ2YWx1ZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHZhbHVlfSxzZXQ6ZnVuY3Rpb24oZSl7ZSBpbnN0YW5jZW9mIHF8fChlPXRoaXMuY3JlYXRlRmFjZVZhbHVlKGUpKSx0aGlzLiR2YWx1ZT1lfX0se2tleToic3RvcEF0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kc3RvcEF0fSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy4kc3RvcEF0PWV9fSx7a2V5OiJvcmlnaW5hbFZhbHVlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kb3JpZ2luYWxWYWx1ZX0sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuJG9yaWdpbmFsVmFsdWU9ZX19XSksbn0oUCksUj17eWVhcnM6Itiz2YbZiNin2KoiLG1vbnRoczoi2LTZh9mI2LEiLGRheXM6Itij2YrYp9mFIixob3Vyczoi2LPYp9i52KfYqiIsbWludXRlczoi2K/Zgtin2KbZgiIsc2Vjb25kczoi2KvZiNin2YbZiiJ9LFU9WyJhciIsImFyLWFyIiwiYXJhYmljIl0sVz1PYmplY3QuZnJlZXplKHtkaWN0aW9uYXJ5OlIsYWxpYXNlczpVfSksRz17eWVhcnM6IkFueXMiLG1vbnRoczoiTWVzb3MiLGRheXM6IkRpZXMiLGhvdXJzOiJIb3JlcyIsbWludXRlczoiTWludXRzIixzZWNvbmRzOiJTZWdvbnMifSxLPVsiY2EiLCJjYS1lcyIsImNhdGFsYW4iXSxKPU9iamVjdC5mcmVlemUoe2RpY3Rpb25hcnk6RyxhbGlhc2VzOkt9KSxaPXt5ZWFyczoiUm9reSIsbW9udGhzOiJNxJtzw61jZSIsZGF5czoiRG55Iixob3VyczoiSG9kaW55IixtaW51dGVzOiJNaW51dHkiLHNlY29uZHM6IlNla3VuZHkifSxYPVsiY3MiLCJjcy1jeiIsImN6IiwiY3otY3MiLCJjemVjaCJdLFE9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTpaLGFsaWFzZXM6WH0pLGVlPXt5ZWFyczoiw4VyIixtb250aHM6Ik3DpW5lZGVyIixkYXlzOiJEYWdlIixob3VyczoiVGltZXIiLG1pbnV0ZXM6Ik1pbnV0dGVyIixzZWNvbmRzOiJTZWt1bmRlciJ9LHRlPVsiZGEiLCJkYS1kayIsImRhbmlzaCJdLG5lPU9iamVjdC5mcmVlemUoe2RpY3Rpb25hcnk6ZWUsYWxpYXNlczp0ZX0pLGllPXt5ZWFyczoiSmFocmUiLG1vbnRoczoiTW9uYXRlIixkYXlzOiJUYWdlIixob3VyczoiU3R1bmRlbiIsbWludXRlczoiTWludXRlbiIsc2Vjb25kczoiU2VrdW5kZW4ifSxyZT1bImRlIiwiZGUtZGUiLCJnZXJtYW4iXSxhZT1PYmplY3QuZnJlZXplKHtkaWN0aW9uYXJ5OmllLGFsaWFzZXM6cmV9KSxvZT17eWVhcnM6IlllYXJzIixtb250aHM6Ik1vbnRocyIsZGF5czoiRGF5cyIsaG91cnM6IkhvdXJzIixtaW51dGVzOiJNaW51dGVzIixzZWNvbmRzOiJTZWNvbmRzIn0sc2U9WyJlbiIsImVuLXVzIiwiZW5nbGlzaCJdLGxlPU9iamVjdC5mcmVlemUoe2RpY3Rpb25hcnk6b2UsYWxpYXNlczpzZX0pLHVlPXt5ZWFyczoiQcOxb3MiLG1vbnRoczoiTWVzZXMiLGRheXM6IkTDrWFzIixob3VyczoiSG9yYXMiLG1pbnV0ZXM6Ik1pbnV0b3MiLHNlY29uZHM6IlNlZ3VuZG9zIn0sY2U9WyJlcyIsImVzLWVzIiwic3BhbmlzaCJdLGRlPU9iamVjdC5mcmVlemUoe2RpY3Rpb25hcnk6dWUsYWxpYXNlczpjZX0pLGZlPXt5ZWFyczoi2LPYp9mEIixtb250aHM6ItmF2KfZhyIsZGF5czoi2LHZiNiyIixob3Vyczoi2LPYp9i52KoiLG1pbnV0ZXM6Itiv2YLbjNmC2YciLHNlY29uZHM6Itir2KfZhtuM2YcifSxoZT1bImZhIiwiZmEtaXIiLCJwZXJzaWFuIl0sbWU9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTpmZSxhbGlhc2VzOmhlfSkscGU9e3llYXJzOiJWdW90dGEiLG1vbnRoczoiS3V1a2F1dHRhIixkYXlzOiJQw6RpdsOkw6QiLGhvdXJzOiJUdW50aWEiLG1pbnV0ZXM6Ik1pbnV1dHRpYSIsc2Vjb25kczoiU2VrdW50aWEifSxnZT1bImZpIiwiZmktZmkiLCJmaW5uaXNoIl0sdmU9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTpwZSxhbGlhc2VzOmdlfSkseWU9e3llYXJzOiJBbnMiLG1vbnRoczoiTW9pcyIsZGF5czoiSm91cnMiLGhvdXJzOiJIZXVyZXMiLG1pbnV0ZXM6Ik1pbnV0ZXMiLHNlY29uZHM6IlNlY29uZGVzIn0sYmU9WyJmciIsImZyLWNhIiwiZnJlbmNoIl0sd2U9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTp5ZSxhbGlhc2VzOmJlfSksQ2U9e3llYXJzOiLXqdeg15nXnSIsbW9udGhzOiLXl9eV15PXqSIsZGF5czoi15nXnteZ150iLGhvdXJzOiLXqdei15XXqiIsbWludXRlczoi15PXp9eV16oiLHNlY29uZHM6Itep16DXmdeV16oifSxEZT1bImlsIiwiaGUtaWwiLCJoZWJyZXciXSx4ZT1PYmplY3QuZnJlZXplKHtkaWN0aW9uYXJ5OkNlLGFsaWFzZXM6RGV9KSxNZT17eWVhcnM6IsOJdiIsbW9udGhzOiJIw7NuYXAiLGRheXM6Ik5hcCIsaG91cnM6IsOTcmEiLG1pbnV0ZXM6IlBlcmMiLHNlY29uZHM6Ik3DoXNvZHBlcmMifSxTZT1bImh1IiwiaHUtaHUiLCJodW5nYXJpYW4iXSxrZT1PYmplY3QuZnJlZXplKHtkaWN0aW9uYXJ5Ok1lLGFsaWFzZXM6U2V9KSxUZT17eWVhcnM6IkFubmkiLG1vbnRoczoiTWVzaSIsZGF5czoiR2lvcm5pIixob3VyczoiT3JlIixtaW51dGVzOiJNaW51dGkiLHNlY29uZHM6IlNlY29uZGkifSxFZT1bImRhIiwiZGEtZGsiLCJkYW5pc2giXSxfZT1PYmplY3QuZnJlZXplKHtkaWN0aW9uYXJ5OlRlLGFsaWFzZXM6RWV9KSxBZT17eWVhcnM6IuW5tCIsbW9udGhzOiLmnIgiLGRheXM6IuaXpSIsaG91cnM6IuaZgiIsbWludXRlczoi5YiGIixzZWNvbmRzOiLnp5IifSxOZT1bImpwIiwiamEtanAiLCJqYXBhbmVzZSJdLE9lPU9iamVjdC5mcmVlemUoe2RpY3Rpb25hcnk6QWUsYWxpYXNlczpOZX0pLFBlPXt5ZWFyczoi64WEIixtb250aHM6IuyblCIsZGF5czoi7J28Iixob3Vyczoi7IucIixtaW51dGVzOiLrtoQiLHNlY29uZHM6Iuy0iCJ9LGplPVsia28iLCJrby1rciIsImtvcmVhbiJdLExlPU9iamVjdC5mcmVlemUoe2RpY3Rpb25hcnk6UGUsYWxpYXNlczpqZX0pLEhlPXt5ZWFyczoiR2FkaSIsbW9udGhzOiJNxJNuZcWhaSIsZGF5czoiRGllbmFzIixob3VyczoiU3R1bmRhcyIsbWludXRlczoiTWluxat0ZXMiLHNlY29uZHM6IlNla3VuZGVzIn0sSWU9WyJsdiIsImx2LWx2IiwibGF0dmlhbiJdLEZlPU9iamVjdC5mcmVlemUoe2RpY3Rpb25hcnk6SGUsYWxpYXNlczpJZX0pLFZlPXt5ZWFyczoiSmFyZW4iLG1vbnRoczoiTWFhbmRlbiIsZGF5czoiRGFnZW4iLGhvdXJzOiJVcmVuIixtaW51dGVzOiJNaW51dGVuIixzZWNvbmRzOiJTZWNvbmRlbiJ9LFllPVsibmwiLCJubC1iZSIsImR1dGNoIl0scWU9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTpWZSxhbGlhc2VzOlllfSksemU9e3llYXJzOiLDhXIiLG1vbnRoczoiTcOlbmVkZXIiLGRheXM6IkRhZ2VyIixob3VyczoiVGltZXIiLG1pbnV0ZXM6Ik1pbnV0dGVyIixzZWNvbmRzOiJTZWt1bmRlciJ9LCRlPVsibm8iLCJuYiIsIm5vLW5iIiwibm9yd2VnaWFuIl0sQmU9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTp6ZSxhbGlhc2VzOiRlfSksUmU9e3llYXJzOiJMYXQiLG1vbnRoczoiTWllc2nEmWN5IixkYXlzOiJEbmkiLGhvdXJzOiJHb2R6aW55IixtaW51dGVzOiJNaW51dHkiLHNlY29uZHM6IlNla3VuZHkifSxVZT1bInBsIiwicGwtcGwiLCJwb2xpc2giXSxXZT1PYmplY3QuZnJlZXplKHtkaWN0aW9uYXJ5OlJlLGFsaWFzZXM6VWV9KSxHZT17eWVhcnM6IkFub3MiLG1vbnRoczoiTWVzZXMiLGRheXM6IkRpYXMiLGhvdXJzOiJIb3JhcyIsbWludXRlczoiTWludXRvcyIsc2Vjb25kczoiU2VndW5kb3MifSxLZT1bInB0IiwicHQtYnIiLCJwb3J0dWd1ZXNlIl0sSmU9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTpHZSxhbGlhc2VzOktlfSksWmU9e3llYXJzOiJBbmkiLG1vbnRoczoiTHVuaSIsZGF5czoiWmlsZSIsaG91cnM6Ik9yZSIsbWludXRlczoiTWludXRlIixzZWNvbmRzOiJzU2VjdW5kZSJ9LFhlPVsicm8iLCJyby1ybyIsInJvbWFuYSJdLFFlPU9iamVjdC5mcmVlemUoe2RpY3Rpb25hcnk6WmUsYWxpYXNlczpYZX0pLGV0PXt5ZWFyczoi0LvQtdGCIixtb250aHM6ItC80LXRgdGP0YbQtdCyIixkYXlzOiLQtNC90LXQuSIsaG91cnM6ItGH0LDRgdC+0LIiLG1pbnV0ZXM6ItC80LjQvdGD0YIiLHNlY29uZHM6ItGB0LXQutGD0L3QtCJ9LHR0PVsicnUiLCJydS1ydSIsInJ1c3NpYW4iXSxudD1PYmplY3QuZnJlZXplKHtkaWN0aW9uYXJ5OmV0LGFsaWFzZXM6dHR9KSxpdD17eWVhcnM6IlJva3kiLG1vbnRoczoiTWVzaWFjZSIsZGF5czoiRG5pIixob3VyczoiSG9kaW55IixtaW51dGVzOiJNaW7DunR5IixzZWNvbmRzOiJTZWt1bmR5In0scnQ9WyJzayIsInNrLXNrIiwic2xvdmFrIl0sYXQ9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTppdCxhbGlhc2VzOnJ0fSksb3Q9e3llYXJzOiLDhXIiLG1vbnRoczoiTcOlbmFkZXIiLGRheXM6IkRhZ2FyIixob3VyczoiVGltbWFyIixtaW51dGVzOiJNaW51dGVyIixzZWNvbmRzOiJTZWt1bmRlciJ9LHN0PVsic3YiLCJzdi1zZSIsInN3ZWRpc2giXSxsdD1PYmplY3QuZnJlZXplKHtkaWN0aW9uYXJ5Om90LGFsaWFzZXM6c3R9KSx1dD17eWVhcnM6IuC4m+C4tSIsbW9udGhzOiLguYDguJTguLfguK3guJkiLGRheXM6IuC4p+C4seC4mSIsaG91cnM6IuC4iuC4seC5iOC4p+C5guC4oeC4hyIsbWludXRlczoi4LiZ4Liy4LiX4Li1IixzZWNvbmRzOiLguKfguLTguJnguLLguJfguLUifSxjdD1bInRoIiwidGgtdGgiLCJ0aGFpIl0sZHQ9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTp1dCxhbGlhc2VzOmN0fSksZnQ9e3llYXJzOiJZxLFsIixtb250aHM6IkF5IixkYXlzOiJHw7xuIixob3VyczoiU2FhdCIsbWludXRlczoiRGFraWthIixzZWNvbmRzOiJTYW5peWUifSxodD1bInRyIiwidHItdHIiLCJ0dXJraXNoIl0sbXQ9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTpmdCxhbGlhc2VzOmh0fSkscHQ9e3llYXJzOiLRgNC+0LrQuCIsbW9udGhzOiLQvNGW0YHRj9GG0ZYiLGRheXM6ItC00L3RliIsaG91cnM6ItCz0L7QtNC40L3QuCIsbWludXRlczoi0YXQstC40LvQuNC90LgiLHNlY29uZHM6ItGB0LXQutGD0L3QtNC4In0sZ3Q9WyJ1YSIsInVhLXVhIiwidWtyYWluZSJdLHZ0PU9iamVjdC5mcmVlemUoe2RpY3Rpb25hcnk6cHQsYWxpYXNlczpndH0pLHl0PXt5ZWFyczoiTsSDbSIsbW9udGhzOiJUaMOhbmciLGRheXM6Ik5nw6B5Iixob3VyczoiR2nhu50iLG1pbnV0ZXM6IlBow7p0IixzZWNvbmRzOiJHacOieSJ9LGJ0PVsidm4iLCJ2bi12biIsInZpZXRuYW1lc2UiXSx3dD1PYmplY3QuZnJlZXplKHtkaWN0aW9uYXJ5Onl0LGFsaWFzZXM6YnR9KSxDdD17eWVhcnM6IuW5tCIsbW9udGhzOiLmnIgiLGRheXM6IuaXpSIsaG91cnM6IuaXtiIsbWludXRlczoi5YiGIixzZWNvbmRzOiLnp5IifSxEdD1bInpoIiwiemgtY24iLCJjaGluZXNlIl0seHQ9T2JqZWN0LmZyZWV6ZSh7ZGljdGlvbmFyeTpDdCxhbGlhc2VzOkR0fSksTXQ9e3llYXJzOiLlubQiLG1vbnRoczoi5pyIIixkYXlzOiLml6UiLGhvdXJzOiLmmYIiLG1pbnV0ZXM6IuWIhiIsc2Vjb25kczoi56eSIn0sU3Q9WyJ6aC10dyJdLGt0PU9iamVjdC5mcmVlemUoe2RpY3Rpb25hcnk6TXQsYWxpYXNlczpTdH0pLFR0PU9iamVjdC5mcmVlemUoe0FyYWJpYzpXLENhdGFsYW46SixDemVjaDpRLERhbmlzaDpuZSxHZXJtYW46YWUsRW5nbGlzaDpsZSxTcGFuaXNoOmRlLFBlcnNpYW46bWUsRmlubmlzaDp2ZSxGcmVuY2g6d2UsSGVicmV3OnhlLEh1bmdhcmlhbjprZSxJdGFsaWFuOl9lLEphcGFuZXNlOk9lLEtvcmVhbjpMZSxMYXR2aWFuOkZlLER1dGNoOnFlLE5vcndlZ2lhbjpCZSxQb2xpc2g6V2UsUG9ydHVndWVzZTpKZSxSb21hbmlhbjpRZSxSdXNzaWFuOm50LFNsb3ZhazphdCxTd2VkaXNoOmx0LFRoYWk6ZHQsVHVya2lzaDptdCxVa3JhaW5pYW46dnQsVmlldG5hbWVzZTp3dCxDaGluZXNlOnh0LFRyYWRpdGlvbmFsQ2hpbmVzZTprdH0pO2Z1bmN0aW9uIEV0KGUpe3JldHVybiBlP1R0W2UudG9Mb3dlckNhc2UoKV18fE9iamVjdC52YWx1ZXMoVHQpLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybi0xIT09dC5hbGlhc2VzLmluZGV4T2YoZSl9KSk6bnVsbH1mdW5jdGlvbiBfdChlLHQpe3ZhciBuPVQodCk/RXQodCk6dDtyZXR1cm4obi5kaWN0aW9uYXJ5fHxuKVtlXXx8ZX1mdW5jdGlvbiBBdChlLHQpe3JldHVybiB0LnBhcmVudE5vZGU/KHQucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoZSx0KSxlKTp0fWZ1bmN0aW9uIE50KGUsdCl7aWYoXyh0KSlmb3IodmFyIG4gaW4gdCllLnNldEF0dHJpYnV0ZShuLHRbbl0pO3JldHVybiBlfWZ1bmN0aW9uIE90KGUsdCl7cmV0dXJuIEUodCkmJnQuZmlsdGVyKGcpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZS5hcHBlbmRDaGlsZCh0KX0pKSxlfWZ1bmN0aW9uIFB0KGUsdCxuKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50fHwoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpKSxOdChlLF8odCk/dDpuKSxfKHQpfHxFKHQpP090KGUsdCk6ZS5pbm5lckhUTUw9dCxlfXZhciBqdD1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3ZhciBpO2lmKHQodGhpcyxuKSwoaT1jKHRoaXMsYShuKS5jYWxsKHRoaXMsT2JqZWN0LmFzc2lnbih7cGFyZW50Om51bGx9LGUpKSkpLnRoZW1lfHxoKCIiLmNvbmNhdChpLm5hbWUsIiBkb2VzIG5vdCBoYXZlIGEgdGhlbWUgZGVmaW5lZC4iKSksaS5sYW5ndWFnZXx8aCgiIi5jb25jYXQoaS5uYW1lLCIgZG9lcyBub3QgaGF2ZSBhIGxhbmd1YWdlIGRlZmluZWQuIikpLCFpLnRoZW1lW2kubmFtZV0pdGhyb3cgbmV3IEVycm9yKCIiLmNvbmNhdChpLm5hbWUsIiBjYW5ub3QgYmUgcmVuZGVyZWQgYmVjYXVzZSBpdCBoYXMgbm8gdGVtcGxhdGUuIikpO3JldHVybiBpfXJldHVybiByKG4sZSksaShuLFt7a2V5OiJ0cmFuc2xhdGUiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBfdChlLHRoaXMubGFuZ3VhZ2UpfX0se2tleToidCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudHJhbnNsYXRlKGUpfX0se2tleToicmVuZGVyIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPVB0KCJkaXYiLHtjbGFzczoiZmxpcC1jbG9jayI9PT10aGlzLmNsYXNzTmFtZT90aGlzLmNsYXNzTmFtZToiZmxpcC1jbG9jay0iK3RoaXMuY2xhc3NOYW1lfSk7cmV0dXJuIHRoaXMudGhlbWVbdGhpcy5uYW1lXShlLHRoaXMpLHRoaXMuZWw/dGhpcy5lbC5pbm5lckhUTUwhPT1lLmlubmVySFRNTCYmKHRoaXMuZWw9QXQoZSx0aGlzLmVsKSk6dGhpcy5lbD1lLHRoaXMuZWx9fSx7a2V5OiJtb3VudCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXTtyZXR1cm4gdGhpcy5yZW5kZXIoKSx0aGlzLnBhcmVudD1lLHQ/dGhpcy5wYXJlbnQuaW5zZXJ0QmVmb3JlKHRoaXMuZWwsdCk6dGhpcy5wYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5lbCksdGhpcy5lbH19LHtrZXk6ImNsYXNzTmFtZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE8odGhpcy5jb25zdHJ1Y3Rvci5kZWZpbmVOYW1lKCkpfX0se2tleToiZWwiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiRlbH0sc2V0OmZ1bmN0aW9uKGUpe3ooZSxudWxsLEhUTUxFbGVtZW50KXx8aCgkLmVsZW1lbnQpLHRoaXMuJGVsPWV9fSx7a2V5OiJwYXJlbnQiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiRwYXJlbnR9LHNldDpmdW5jdGlvbihlKXt0aGlzLiRwYXJlbnQ9ZX19LHtrZXk6InRoZW1lIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kdGhlbWV9LHNldDpmdW5jdGlvbihlKXt6KGUsIm9iamVjdCIpfHxoKCQudmFsdWUpLHRoaXMuJHRoZW1lPWV9fSx7a2V5OiJsYW5ndWFnZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGxhbmd1YWdlfSxzZXQ6ZnVuY3Rpb24oZSl7VChlKSYmKGU9RXQoZSkpLHooZSwib2JqZWN0Iil8fGgoJC5sYW5ndWFnZSksdGhpcy4kbGFuZ3VhZ2U9ZX19XSksbn0oUCksTHQ9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3JldHVybiB0KHRoaXMsbiksYyh0aGlzLGEobikuYXBwbHkodGhpcyxhcmd1bWVudHMpKX1yZXR1cm4gcihuLGUpLGkobixudWxsLFt7a2V5OiJkZWZpbmVOYW1lIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiJEaXZpZGVyIn19XSksbn0oanQpLEh0PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oZSxpKXtyZXR1cm4gdCh0aGlzLG4pLGModGhpcyxhKG4pLmNhbGwodGhpcyxPYmplY3QuYXNzaWduKHt2YWx1ZTplfSxfKGUpP2U6bnVsbCxpKSkpfXJldHVybiByKG4sZSksaShuLG51bGwsW3trZXk6ImRlZmluZU5hbWUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIkxpc3RJdGVtIn19XSksbn0oanQpLEl0PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oZSxpKXtyZXR1cm4gdCh0aGlzLG4pLGModGhpcyxhKG4pLmNhbGwodGhpcyxPYmplY3QuYXNzaWduKHt2YWx1ZTplLGl0ZW1zOltdfSxfKGUpP2U6bnVsbCxpKSkpfXJldHVybiByKG4sZSksaShuLFt7a2V5OiJjcmVhdGVMaXN0SXRlbSIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1uZXcgSHQoZSxPYmplY3QuYXNzaWduKHt0aGVtZTp0aGlzLnRoZW1lLGxhbmd1YWdlOnRoaXMubGFuZ3VhZ2V9LHQpKTtyZXR1cm4gdGhpcy4kaXRlbXMucHVzaChuKSxufX0se2tleToidmFsdWUiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiR2YWx1ZX0sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuJHZhbHVlPWV9fSx7a2V5OiJpdGVtcyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGl0ZW1zfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy4kaXRlbXM9ZX19XSxbe2tleToiZGVmaW5lTmFtZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iTGlzdCJ9fV0pLG59KGp0KSxGdD1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUsaSl7cmV0dXJuIHQodGhpcyxuKSxjKHRoaXMsYShuKS5jYWxsKHRoaXMsT2JqZWN0LmFzc2lnbih7aXRlbXM6RShlKT9lOltdfSxfKGUpP2U6bnVsbCxpKSkpfXJldHVybiByKG4sZSksaShuLG51bGwsW3trZXk6ImRlZmluZU5hbWUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIkdyb3VwIn19XSksbn0oanQpLFZ0PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oZSxpKXtyZXR1cm4gdCh0aGlzLG4pLGModGhpcyxhKG4pLmNhbGwodGhpcyxPYmplY3QuYXNzaWduKHtsYWJlbDplfSxfKGUpP2U6bnVsbCxpKSkpfXJldHVybiByKG4sZSksaShuLG51bGwsW3trZXk6ImRlZmluZU5hbWUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIkxhYmVsIn19XSksbn0oanQpLFl0PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIHQodGhpcyxuKSxjKHRoaXMsYShuKS5jYWxsKHRoaXMsT2JqZWN0LmFzc2lnbih7Y291bnQ6MCxoYW5kbGU6bnVsbCxzdGFydGVkOm51bGwscnVubmluZzohMSxpbnRlcnZhbDpOKGUpP2U6bnVsbH0sXyhlKT9lOm51bGwpKSl9cmV0dXJuIHIobixlKSxpKG4sW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLnN0b3AoKGZ1bmN0aW9uKCl7dC5jb3VudD0wLHQuc3RhcnQoKGZ1bmN0aW9uKCl7cmV0dXJuIG0uY2FsbCh0LGUpfSkpLHQuZW1pdCgicmVzZXQiKX0pKSx0aGlzfX0se2tleToic3RhcnQiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuc3RhcnRlZD1uZXcgRGF0ZSx0aGlzLmxhc3RMb29wPURhdGUubm93KCksdGhpcy5ydW5uaW5nPSEwLHRoaXMuZW1pdCgic3RhcnQiKSxmdW5jdGlvbiBuKCl7cmV0dXJuIERhdGUubm93KCktdC5sYXN0TG9vcD49dC5pbnRlcnZhbCYmKG0uY2FsbCh0LGUpLHQubGFzdExvb3A9RGF0ZS5ub3coKSx0LmVtaXQoImludGVydmFsIiksdC5jb3VudCsrKSx0LmhhbmRsZT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKG4pLHR9KCl9fSx7a2V5OiJzdG9wIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmlzUnVubmluZyYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodC5oYW5kbGUpLHQucnVubmluZz0hMSxtLmNhbGwodCxlKSx0LmVtaXQoInN0b3AiKX0pKSx0aGlzfX0se2tleToiZWxhcHNlZCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGFzdExvb3A/dGhpcy5sYXN0TG9vcC0odGhpcy5zdGFydGVkP3RoaXMuc3RhcnRlZC5nZXRUaW1lKCk6KG5ldyBEYXRlKS5nZXRUaW1lKCkpOjB9fSx7a2V5OiJpc1J1bm5pbmciLGdldDpmdW5jdGlvbigpe3JldHVybiEwPT09dGhpcy5ydW5uaW5nfX0se2tleToiaXNTdG9wcGVkIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMT09PXRoaXMucnVubmluZ319XSxbe2tleToiZGVmaW5lTmFtZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iVGltZXIifX1dKSxufShQKSxxdD1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKCl7cmV0dXJuIHQodGhpcyxuKSxjKHRoaXMsYShuKS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfXJldHVybiByKG4sZSksaShuLFt7a2V5OiJpbmNyZW1lbnQiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToxO2UudmFsdWU9dGhpcy52YWx1ZS52YWx1ZSt0fX0se2tleToiZGVjcmVtZW50Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MTtlLnZhbHVlPXRoaXMudmFsdWUudmFsdWUtdH19XSxbe2tleToiZGVmaW5lTmFtZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iQ291bnRlciJ9fV0pLG59KEIpLHp0PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gdCh0aGlzLG4pLGModGhpcyxhKG4pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9cmV0dXJuIHIobixlKSxpKG4sW3trZXk6ImRlZmF1bHREYXRhVHlwZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZX19LHtrZXk6ImRlZmF1bHRBdHRyaWJ1dGVzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybntzaG93U2Vjb25kczohMCxzaG93TGFiZWxzOiEwfX19LHtrZXk6InNob3VsZFN0b3AiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKE0oZS5zdG9wQXQpfHxTKGUuc3RvcEF0KSlyZXR1cm4hMTtpZih0aGlzLnN0b3BBdCBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIHRoaXMuY291bnRkb3duP3RoaXMuc3RvcEF0LmdldFRpbWUoKT49dGhpcy52YWx1ZS52YWx1ZS5nZXRUaW1lKCk6dGhpcy5zdG9wQXQuZ2V0VGltZSgpPD10aGlzLnZhbHVlLnZhbHVlLmdldFRpbWUoKTtpZihOKHRoaXMuc3RvcEF0KSl7dmFyIHQ9TWF0aC5mbG9vcigodGhpcy52YWx1ZS52YWx1ZS5nZXRUaW1lKCktdGhpcy5vcmlnaW5hbFZhbHVlLmdldFRpbWUoKSkvMWUzKTtyZXR1cm4gdGhpcy5jb3VudGRvd24/dGhpcy5zdG9wQXQ+PXQ6dGhpcy5zdG9wQXQ8PXR9dGhyb3cgbmV3IEVycm9yKCJ0aGUgc3RvcEF0IHByb3BlcnR5IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRGF0ZSBvciBOdW1iZXIuIil9fSx7a2V5OiJpbmNyZW1lbnQiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowO2UudmFsdWU9bmV3IERhdGUodGhpcy52YWx1ZS52YWx1ZS5nZXRUaW1lKCkrdCsoKG5ldyBEYXRlKS5nZXRUaW1lKCktZS50aW1lci5sYXN0TG9vcCkpfX0se2tleToiZGVjcmVtZW50Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtlLnZhbHVlPW5ldyBEYXRlKHRoaXMudmFsdWUudmFsdWUuZ2V0VGltZSgpLXQtKChuZXcgRGF0ZSkuZ2V0VGltZSgpLWUudGltZXIubGFzdExvb3ApKX19LHtrZXk6ImZvcm1hdCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLnRpbWVyLmlzUnVubmluZz9lLnRpbWVyLnN0YXJ0ZWQ6bmV3IERhdGUoRGF0ZS5ub3coKS01MCk7cmV0dXJuW1t0aGlzLmdldE1pbnV0ZXModCxuKV0sdGhpcy5zaG93U2Vjb25kcz9bdGhpcy5nZXRTZWNvbmRzKHQsbildOm51bGxdLmZpbHRlcihnKX19LHtrZXk6ImdldE1pbnV0ZXMiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHAodGhpcy5nZXRUb3RhbFNlY29uZHMoZSx0KS82MCl9fSx7a2V5OiJnZXRTZWNvbmRzIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuZ2V0VG90YWxTZWNvbmRzKGUsdCk7cmV0dXJuIE1hdGguYWJzKE1hdGguY2VpbCg2MD09PW4/MDpuJTYwKSl9fSx7a2V5OiJnZXRUb3RhbFNlY29uZHMiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZ2V0VGltZSgpPT09dC5nZXRUaW1lKCk/MDpNYXRoLnJvdW5kKChlLmdldFRpbWUoKS10LmdldFRpbWUoKSkvMWUzKX19XSxbe2tleToiZGVmaW5lTmFtZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iTWludXRlQ291bnRlciJ9fV0pLG59KEIpLCR0PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gdCh0aGlzLG4pLGModGhpcyxhKG4pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9cmV0dXJuIHIobixlKSxpKG4sW3trZXk6ImZvcm1hdCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLnRpbWVyLnN0YXJ0ZWQ/dDpuZXcgRGF0ZSxpPWUub3JpZ2luYWxWYWx1ZXx8dCxyPXRoaXMuY291bnRkb3duP2k6bixhPXRoaXMuY291bnRkb3duP246aSxvPVtbdGhpcy5nZXRIb3VycyhyLGEpXSxbdGhpcy5nZXRNaW51dGVzKHIsYSldXTtyZXR1cm4gdGhpcy5zaG93U2Vjb25kcyYmby5wdXNoKFt0aGlzLmdldFNlY29uZHMocixhKV0pLG99fSx7a2V5OiJnZXRNaW51dGVzIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBNYXRoLmFicyhmKGEobi5wcm90b3R5cGUpLCJnZXRNaW51dGVzIix0aGlzKS5jYWxsKHRoaXMsZSx0KSU2MCl9fSx7a2V5OiJnZXRIb3VycyIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTWF0aC5mbG9vcih0aGlzLmdldFRvdGFsU2Vjb25kcyhlLHQpLzYwLzYwKX19XSxbe2tleToiZGVmaW5lTmFtZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iSG91ckNvdW50ZXIifX1dKSxufSh6dCksQnQ9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3JldHVybiB0KHRoaXMsbiksYyh0aGlzLGEobikuYXBwbHkodGhpcyxhcmd1bWVudHMpKX1yZXR1cm4gcihuLGUpLGkobixbe2tleToiZm9ybWF0Iix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPWUuc3RhcnRlZD90Om5ldyBEYXRlLGk9ZS5vcmlnaW5hbFZhbHVlfHx0LHI9dGhpcy5jb3VudGRvd24/aTpuLGE9dGhpcy5jb3VudGRvd24/bjppLG89W1t0aGlzLmdldERheXMocixhKV0sW3RoaXMuZ2V0SG91cnMocixhKV0sW3RoaXMuZ2V0TWludXRlcyhyLGEpXV07cmV0dXJuIHRoaXMuc2hvd1NlY29uZHMmJm8ucHVzaChbdGhpcy5nZXRTZWNvbmRzKHIsYSldKSxvfX0se2tleToiZ2V0RGF5cyIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTWF0aC5mbG9vcih0aGlzLmdldFRvdGFsU2Vjb25kcyhlLHQpLzYwLzYwLzI0KX19LHtrZXk6ImdldEhvdXJzIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBNYXRoLmFicyhmKGEobi5wcm90b3R5cGUpLCJnZXRIb3VycyIsdGhpcykuY2FsbCh0aGlzLGUsdCklMjQpfX1dLFt7a2V5OiJkZWZpbmVOYW1lIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiJEYXlDb3VudGVyIn19XSksbn0oJHQpLFJ0PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gdCh0aGlzLG4pLGModGhpcyxhKG4pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9cmV0dXJuIHIobixlKSxpKG4sW3trZXk6ImRlZmF1bHREYXRhVHlwZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZX19LHtrZXk6ImRlZmF1bHRWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGV9fSx7a2V5OiJkZWZhdWx0QXR0cmlidXRlcyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57c2hvd1NlY29uZHM6ITAsc2hvd0xhYmVsczohMX19fSx7a2V5OiJmb3JtYXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dHx8KHQ9bmV3IERhdGUpO3ZhciBuPVtbdC5nZXRIb3VycygpXSxbdC5nZXRNaW51dGVzKCldXTtyZXR1cm4gdGhpcy5zaG93U2Vjb25kcyYmbi5wdXNoKFt0LmdldFNlY29uZHMoKV0pLG59fSx7a2V5OiJpbmNyZW1lbnQiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowO2UudmFsdWU9bmV3IERhdGUodGhpcy52YWx1ZS52YWx1ZS5nZXRUaW1lKCkrdCsoKG5ldyBEYXRlKS5nZXRUaW1lKCktZS50aW1lci5sYXN0TG9vcCkpfX0se2tleToiZGVjcmVtZW50Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtlLnZhbHVlPW5ldyBEYXRlKHRoaXMudmFsdWUudmFsdWUuZ2V0VGltZSgpLXQtKChuZXcgRGF0ZSkuZ2V0VGltZSgpLWUudGltZXIubGFzdExvb3ApKX19XSxbe2tleToiZGVmaW5lTmFtZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iVHdlbnR5Rm91ckhvdXJDbG9jayJ9fV0pLG59KEIpLFV0PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gdCh0aGlzLG4pLGModGhpcyxhKG4pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9cmV0dXJuIHIobixlKSxpKG4sW3trZXk6ImRlZmF1bHRBdHRyaWJ1dGVzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybntzaG93TGFiZWxzOiExLHNob3dTZWNvbmRzOiEwLHNob3dNZXJpZGl1bTohMH19fSx7a2V5OiJmb3JtYXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dHx8KHQ9bmV3IERhdGUpO3ZhciBuPXQuZ2V0SG91cnMoKSxpPVtuPjEyP24tMTI6MD09PW4/MTI6bix0LmdldE1pbnV0ZXMoKV07cmV0dXJuIHRoaXMubWVyaWRpdW09bj4xMj8icG0iOiJhbSIsdGhpcy5zaG93U2Vjb25kcyYmaS5wdXNoKHQuZ2V0U2Vjb25kcygpKSxpfX1dLFt7a2V5OiJkZWZpbmVOYW1lIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiJUd2VsdmVIb3VyQ2xvY2sifX1dKSxufShSdCksV3Q9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3JldHVybiB0KHRoaXMsbiksYyh0aGlzLGEobikuYXBwbHkodGhpcyxhcmd1bWVudHMpKX1yZXR1cm4gcihuLGUpLGkobixbe2tleToiZm9ybWF0Iix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPWUudGltZXIuc3RhcnRlZD90Om5ldyBEYXRlLGk9ZS5vcmlnaW5hbFZhbHVlfHx0LHI9dGhpcy5jb3VudGRvd24/aTpuLGE9dGhpcy5jb3VudGRvd24/bjppLG89W1t0aGlzLmdldFdlZWtzKHIsYSldLFt0aGlzLmdldERheXMocixhKV0sW3RoaXMuZ2V0SG91cnMocixhKV0sW3RoaXMuZ2V0TWludXRlcyhyLGEpXV07cmV0dXJuIHRoaXMuc2hvd1NlY29uZHMmJm8ucHVzaChbdGhpcy5nZXRTZWNvbmRzKHIsYSldKSxvfX0se2tleToiZ2V0V2Vla3MiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIE1hdGguZmxvb3IodGhpcy5nZXRUb3RhbFNlY29uZHMoZSx0KS82MC82MC8yNC83KX19LHtrZXk6ImdldERheXMiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIE1hdGguYWJzKGYoYShuLnByb3RvdHlwZSksImdldERheXMiLHRoaXMpLmNhbGwodGhpcyxlLHQpJTcpfX1dLFt7a2V5OiJkZWZpbmVOYW1lIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiJXZWVrQ291bnRlciJ9fV0pLG59KEJ0KSxHdD1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKCl7cmV0dXJuIHQodGhpcyxuKSxjKHRoaXMsYShuKS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfXJldHVybiByKG4sZSksaShuLFt7a2V5OiJmb3JtYXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS50aW1lci5zdGFydGVkP3Q6bmV3IERhdGUsaT1lLm9yaWdpbmFsVmFsdWV8fHQscj10aGlzLmNvdW50ZG93bj9pOm4sYT10aGlzLmNvdW50ZG93bj9uOmksbz1bW3RoaXMuZ2V0WWVhcnMocixhKV0sW3RoaXMuZ2V0V2Vla3MocixhKV0sW3RoaXMuZ2V0RGF5cyhyLGEpXSxbdGhpcy5nZXRIb3VycyhyLGEpXSxbdGhpcy5nZXRNaW51dGVzKHIsYSldXTtyZXR1cm4gdGhpcy5zaG93U2Vjb25kcyYmby5wdXNoKFt0aGlzLmdldFNlY29uZHMocixhKV0pLG99fSx7a2V5OiJnZXRZZWFycyIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLm1heCgwLHRoaXMuZ2V0VG90YWxTZWNvbmRzKGUsdCkvNjAvNjAvMjQvNy81MikpfX0se2tleToiZ2V0V2Vla3MiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIE1hdGguYWJzKGYoYShuLnByb3RvdHlwZSksImdldFdlZWtzIix0aGlzKS5jYWxsKHRoaXMsZSx0KSU1Mil9fV0sW3trZXk6ImRlZmluZU5hbWUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIlllYXJDb3VudGVyIn19XSksbn0oV3QpLEt0PU9iamVjdC5mcmVlemUoe0NvdW50ZXI6cXQsRGF5Q291bnRlcjpCdCxNaW51dGVDb3VudGVyOnp0LEhvdXJDb3VudGVyOiR0LFR3ZWx2ZUhvdXJDbG9jazpVdCxUd2VudHlGb3VySG91ckNsb2NrOlJ0LFdlZWtDb3VudGVyOld0LFllYXJDb3VudGVyOkd0fSk7ZnVuY3Rpb24gSnQoZSx0KXtPdChlLFtQdCgiZGl2Iix7Y2xhc3M6ImZsaXAtY2xvY2stZG90IHRvcCJ9KSxQdCgiZGl2Iix7Y2xhc3M6ImZsaXAtY2xvY2stZG90IGJvdHRvbSJ9KV0pfWZ1bmN0aW9uIFp0KGUsdCl7cmV0dXJuIGU/ZS5jaGlsZE5vZGVzP2UuY2hpbGROb2Rlc1t0XTplW3RdOm51bGx9ZnVuY3Rpb24gWHQoZSl7cmV0dXJuIGU/ZS5xdWVyeVNlbGVjdG9yKCIuZmxpcC1jbG9jay1saXN0LWl0ZW06Zmlyc3QtY2hpbGQgLnRvcCIpLmlubmVySFRNTDpudWxsfWZ1bmN0aW9uIFF0KGUsdCl7T3QoZSx0LnZhbHVlLmRpZ2l0cy5tYXAoKGZ1bmN0aW9uKGUsbil7dmFyIGk9WnQodC5lbD90LmVsLnF1ZXJ5U2VsZWN0b3JBbGwoIi5mbGlwLWNsb2NrLWdyb3VwIik6bnVsbCxuKSxyPWUubWFwKChmdW5jdGlvbihlLG4pe3ZhciByPVh0KFp0KGk/aS5xdWVyeVNlbGVjdG9yQWxsKCIuZmxpcC1jbG9jay1saXN0Iik6bnVsbCxuKSk7cmV0dXJuIHQuY3JlYXRlTGlzdChlLHtkb21WYWx1ZTpyLGNvdW50ZG93bjp0LmNvdW50ZG93bixhbmltYXRpb25SYXRlOnQuZmFjZS5hbmltYXRpb25SYXRlfHx0LmZhY2UuZGVsYXl9KX0pKTtyZXR1cm4gdC5jcmVhdGVHcm91cChyKX0pKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlbmRlcigpfSkpKX1mdW5jdGlvbiBlbihlLHQpe090KGUsdC5pdGVtcy5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlbmRlcigpfSkpKX1mdW5jdGlvbiB0bihlLHQpe2UuaW5uZXJIVE1MPXQudCh0LmxhYmVsKX1mdW5jdGlvbiBubihlLHQpe3ZhciBuPXQuZG9tVmFsdWV8fCh0LmNvdW50ZG93bj9WKHQudmFsdWUpOlkodC52YWx1ZSkpO3QuZG9tVmFsdWUmJnQuZG9tVmFsdWUhPT10LnZhbHVlJiZlLmNsYXNzTGlzdC5hZGQoImZsaXAiKSxlLnN0eWxlLmFuaW1hdGlvbkRlbGF5PSIiLmNvbmNhdCh0LmFuaW1hdGlvblJhdGUvMiwibXMiKSxlLnN0eWxlLmFuaW1hdGlvbkR1cmF0aW9uPSIiLmNvbmNhdCh0LmFuaW1hdGlvblJhdGUvMiwibXMiKSx0Lml0ZW1zPVt0LmNyZWF0ZUxpc3RJdGVtKHQudmFsdWUse2FjdGl2ZTohMH0pLHQuY3JlYXRlTGlzdEl0ZW0obix7YWN0aXZlOiExfSldLE90KGUsdC5pdGVtcy5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlbmRlcigpfSkpKX1mdW5jdGlvbiBybihlLHQpe3ZhciBuPSEwPT09dC5hY3RpdmU/ImFjdGl2ZSI6ITE9PT10LmFjdGl2ZT8iYmVmb3JlIjpudWxsO2UuY2xhc3NMaXN0LmFkZChuKSxPdChlLFtQdCgiZGl2IixbUHQoImRpdiIsdC52YWx1ZSx7Y2xhc3M6InRvcCJ9KSxQdCgiZGl2Iix0LnZhbHVlLHtjbGFzczoiYm90dG9tIn0pXSx7Y2xhc3M6ImZsaXAtY2xvY2stbGlzdC1pdGVtLWlubmVyIn0pXSl9ZnVuY3Rpb24gYW4oZSx0KXt0LmNyZWF0ZURpdmlkZXIoKS5tb3VudChlLGUuY2hpbGROb2Rlc1sxXSksdC5jcmVhdGVEaXZpZGVyKCkubW91bnQoZSxlLmNoaWxkTm9kZXNbM10pLHQuZmFjZS5zaG93U2Vjb25kcyYmdC5jcmVhdGVEaXZpZGVyKCkubW91bnQoZSxlLmNoaWxkTm9kZXNbNV0pLHQuZmFjZS5zaG93TGFiZWxzJiYodC5jcmVhdGVMYWJlbCgiZGF5cyIpLm1vdW50KGUuY2hpbGROb2Rlc1swXSksdC5jcmVhdGVMYWJlbCgiaG91cnMiKS5tb3VudChlLmNoaWxkTm9kZXNbMl0pLHQuY3JlYXRlTGFiZWwoIm1pbnV0ZXMiKS5tb3VudChlLmNoaWxkTm9kZXNbNF0pLHQuZmFjZS5zaG93U2Vjb25kcyYmdC5jcmVhdGVMYWJlbCgic2Vjb25kcyIpLm1vdW50KGUuY2hpbGROb2Rlc1s2XSkpfWZ1bmN0aW9uIG9uKGUsdCl7dC5jcmVhdGVEaXZpZGVyKCkubW91bnQoZSxlLmNoaWxkTm9kZXNbMV0pLHQuZmFjZS5zaG93U2Vjb25kcyYmdC5jcmVhdGVEaXZpZGVyKCkubW91bnQoZSxlLmNoaWxkTm9kZXNbM10pLHQuZmFjZS5zaG93TGFiZWxzJiYodC5jcmVhdGVMYWJlbCgiaG91cnMiKS5tb3VudChlLmNoaWxkTm9kZXNbMF0pLHQuY3JlYXRlTGFiZWwoIm1pbnV0ZXMiKS5tb3VudChlLmNoaWxkTm9kZXNbMl0pLHQuZmFjZS5zaG93U2Vjb25kcyYmdC5jcmVhdGVMYWJlbCgic2Vjb25kcyIpLm1vdW50KGUuY2hpbGROb2Rlc1s0XSkpfWZ1bmN0aW9uIHNuKGUsdCl7dC5mYWNlLnNob3dTZWNvbmRzJiZ0LmNyZWF0ZURpdmlkZXIoKS5tb3VudChlLGUuY2hpbGROb2Rlc1sxXSksdC5mYWNlLnNob3dMYWJlbHMmJih0LmNyZWF0ZUxhYmVsKCJtaW51dGVzIikubW91bnQoZS5jaGlsZE5vZGVzWzBdKSx0LmZhY2Uuc2hvd1NlY29uZHMmJnQuY3JlYXRlTGFiZWwoInNlY29uZHMiKS5tb3VudChlLmNoaWxkTm9kZXNbMl0pKX1mdW5jdGlvbiBsbihlLHQpe3QuY3JlYXRlRGl2aWRlcigpLm1vdW50KGUsZS5jaGlsZE5vZGVzWzFdKSx0LmZhY2Uuc2hvd1NlY29uZHMmJnQuY3JlYXRlRGl2aWRlcigpLm1vdW50KGUsZS5jaGlsZE5vZGVzWzNdKSx0LmZhY2Uuc2hvd0xhYmVscyYmKHQuY3JlYXRlTGFiZWwoImhvdXJzIikubW91bnQoZS5jaGlsZE5vZGVzWzBdKSx0LmNyZWF0ZUxhYmVsKCJtaW51dGVzIikubW91bnQoZS5jaGlsZE5vZGVzWzJdKSx0LmZhY2Uuc2hvd1NlY29uZHMmJnQuY3JlYXRlTGFiZWwoInNlY29uZHMiKS5tb3VudChlLmNoaWxkTm9kZXNbNF0pKX1mdW5jdGlvbiB1bihlLHQpe2lmKGxuKGUsdCksdC5mYWNlLnNob3dNZXJpZGl1bSYmdC5mYWNlLm1lcmlkaXVtKXt2YXIgbj10LmNyZWF0ZUxhYmVsKHQuZmFjZS5tZXJpZGl1bSksaT1lLmNoaWxkTm9kZXNbZS5jaGlsZE5vZGVzLmxlbmd0aC0xXTtuLm1vdW50KGkpLmNsYXNzTGlzdC5hZGQoImZsaXAtY2xvY2stbWVyaWRpdW0iKX19ZnVuY3Rpb24gY24oZSx0KXt0LmNyZWF0ZURpdmlkZXIoKS5tb3VudChlLGUuY2hpbGROb2Rlc1sxXSksdC5jcmVhdGVEaXZpZGVyKCkubW91bnQoZSxlLmNoaWxkTm9kZXNbM10pLHQuY3JlYXRlRGl2aWRlcigpLm1vdW50KGUsZS5jaGlsZE5vZGVzWzVdKSx0LmZhY2Uuc2hvd1NlY29uZHMmJnQuY3JlYXRlRGl2aWRlcigpLm1vdW50KGUsZS5jaGlsZE5vZGVzWzddKSx0LmZhY2Uuc2hvd0xhYmVscyYmKHQuY3JlYXRlTGFiZWwoIndlZWtzIikubW91bnQoZS5jaGlsZE5vZGVzWzBdKSx0LmNyZWF0ZUxhYmVsKCJkYXlzIikubW91bnQoZS5jaGlsZE5vZGVzWzJdKSx0LmNyZWF0ZUxhYmVsKCJob3VycyIpLm1vdW50KGUuY2hpbGROb2Rlc1s0XSksdC5jcmVhdGVMYWJlbCgibWludXRlcyIpLm1vdW50KGUuY2hpbGROb2Rlc1s2XSksdC5mYWNlLnNob3dTZWNvbmRzJiZ0LmNyZWF0ZUxhYmVsKCJzZWNvbmRzIikubW91bnQoZS5jaGlsZE5vZGVzWzhdKSl9ZnVuY3Rpb24gZG4oZSx0KXt0LmNyZWF0ZURpdmlkZXIoKS5tb3VudChlLGUuY2hpbGROb2Rlc1sxXSksdC5jcmVhdGVEaXZpZGVyKCkubW91bnQoZSxlLmNoaWxkTm9kZXNbM10pLHQuY3JlYXRlRGl2aWRlcigpLm1vdW50KGUsZS5jaGlsZE5vZGVzWzVdKSx0LmNyZWF0ZURpdmlkZXIoKS5tb3VudChlLGUuY2hpbGROb2Rlc1s3XSksdC5mYWNlLnNob3dTZWNvbmRzJiZ0LmNyZWF0ZURpdmlkZXIoKS5tb3VudChlLGUuY2hpbGROb2Rlc1s5XSksdC5mYWNlLnNob3dMYWJlbHMmJih0LmNyZWF0ZUxhYmVsKCJ5ZWFycyIpLm1vdW50KGUuY2hpbGROb2Rlc1swXSksdC5jcmVhdGVMYWJlbCgid2Vla3MiKS5tb3VudChlLmNoaWxkTm9kZXNbMl0pLHQuY3JlYXRlTGFiZWwoImRheXMiKS5tb3VudChlLmNoaWxkTm9kZXNbNF0pLHQuY3JlYXRlTGFiZWwoImhvdXJzIikubW91bnQoZS5jaGlsZE5vZGVzWzZdKSx0LmNyZWF0ZUxhYmVsKCJtaW51dGVzIikubW91bnQoZS5jaGlsZE5vZGVzWzhdKSx0LmZhY2Uuc2hvd1NlY29uZHMmJnQuY3JlYXRlTGFiZWwoInNlY29uZHMiKS5tb3VudChlLmNoaWxkTm9kZXNbMTBdKSl9dmFyIGZuPXtmYWNlOnF0LHRoZW1lOntEaXZpZGVyOkp0LEZsaXBDbG9jazpRdCxHcm91cDplbixMYWJlbDp0bixMaXN0Om5uLExpc3RJdGVtOnJuLGZhY2VzOk9iamVjdC5mcmVlemUoe0RheUNvdW50ZXI6YW4sSG91ckNvdW50ZXI6b24sTWludXRlQ291bnRlcjpzbixUd2VsdmVIb3VyQ2xvY2s6dW4sVHdlbnR5Rm91ckhvdXJDbG9jazpsbixXZWVrQ291bnRlcjpjbixZZWFyQ291bnRlcjpkbn0pfSxsYW5ndWFnZTpsZX0saG49ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihlLGkscil7dmFyIG87dCh0aGlzLG4pLHooZSxIVE1MRWxlbWVudCl8fGgoJC5lbGVtZW50KSxfKGkpJiYhciYmKHI9aSxpPXZvaWQgMCk7dmFyIHM9ci5mYWNlfHxmbi5mYWNlO3JldHVybiBkZWxldGUgci5mYWNlLChvPWModGhpcyxhKG4pLmNhbGwodGhpcyxPYmplY3QuYXNzaWduKHtvcmlnaW5hbFZhbHVlOmksdGhlbWU6Zm4udGhlbWUsbGFuZ3VhZ2U6Zm4ubGFuZ3VhZ2UsdGltZXI6WXQubWFrZShyLmludGVydmFsfHwxZTMpfSxyKSkpKS5mYWNlfHwoby5mYWNlPXMpLG8ubW91bnQoZSksb31yZXR1cm4gcihuLGUpLGkobixbe2tleToibW91bnQiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBmKGEobi5wcm90b3R5cGUpLCJtb3VudCIsdGhpcykuY2FsbCh0aGlzLGUpLHRoaXMuZmFjZS5tb3VudGVkKHRoaXMpLHRoaXN9fSx7a2V5OiJyZW5kZXIiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGYoYShuLnByb3RvdHlwZSksInJlbmRlciIsdGhpcykuY2FsbCh0aGlzKSx0aGlzLnRoZW1lLmZhY2VzW3RoaXMuZmFjZS5uYW1lXSYmdGhpcy50aGVtZS5mYWNlc1t0aGlzLmZhY2UubmFtZV0odGhpcy5lbCx0aGlzKSx0aGlzLmZhY2UucmVuZGVyZWQodGhpcyksdGhpcy5lbH19LHtrZXk6InN0YXJ0Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLnRpbWVyLnN0YXJ0ZWR8fCh0aGlzLnZhbHVlPXRoaXMub3JpZ2luYWxWYWx1ZSksUyh0aGlzLmZhY2Uuc3RvcEF0KSYmKHRoaXMuZmFjZS5zdG9wQXQ9dGhpcy5zdG9wQXQpLFModGhpcy5mYWNlLm9yaWdpbmFsVmFsdWUpJiYodGhpcy5mYWNlLm9yaWdpbmFsVmFsdWU9dGhpcy5vcmlnaW5hbFZhbHVlKSx0aGlzLnRpbWVyLnN0YXJ0KChmdW5jdGlvbigpe3QuZmFjZS5pbnRlcnZhbCh0LGUpfSkpLHRoaXMuZmFjZS5zdGFydGVkKHRoaXMpLHRoaXMuZW1pdCgic3RhcnQiKX19LHtrZXk6InN0b3AiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnRpbWVyLnN0b3AoZSksdGhpcy5mYWNlLnN0b3BwZWQodGhpcyksdGhpcy5lbWl0KCJzdG9wIil9fSx7a2V5OiJyZXNldCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gdGhpcy52YWx1ZT10aGlzLm9yaWdpbmFsVmFsdWUsdGhpcy50aW1lci5yZXNldCgoZnVuY3Rpb24oKXtyZXR1cm4gdC5pbnRlcnZhbCh0LGUpfSkpLHRoaXMuZmFjZS5yZXNldCh0aGlzKSx0aGlzLmVtaXQoInJlc2V0Iil9fSx7a2V5OiJpbmNyZW1lbnQiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmZhY2UuaW5jcmVtZW50KHRoaXMsZSksdGhpc319LHtrZXk6ImRlY3JlbWVudCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmFjZS5kZWNyZW1lbnQodGhpcyxlKSx0aGlzfX0se2tleToiY3JlYXRlRGl2aWRlciIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEx0Lm1ha2UoT2JqZWN0LmFzc2lnbih7dGhlbWU6dGhpcy50aGVtZSxsYW5ndWFnZTp0aGlzLmxhbmd1YWdlfSxlKSl9fSx7a2V5OiJjcmVhdGVMaXN0Iix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBJdC5tYWtlKGUsT2JqZWN0LmFzc2lnbih7dGhlbWU6dGhpcy50aGVtZSxsYW5ndWFnZTp0aGlzLmxhbmd1YWdlfSx0KSl9fSx7a2V5OiJjcmVhdGVMYWJlbCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVnQubWFrZShlLE9iamVjdC5hc3NpZ24oe3RoZW1lOnRoaXMudGhlbWUsbGFuZ3VhZ2U6dGhpcy5sYW5ndWFnZX0sdCkpfX0se2tleToiY3JlYXRlR3JvdXAiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEZ0Lm1ha2UoZSxPYmplY3QuYXNzaWduKHt0aGVtZTp0aGlzLnRoZW1lLGxhbmd1YWdlOnRoaXMubGFuZ3VhZ2V9LHQpKX19LHtrZXk6ImZhY2UiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiRmYWNlfSxzZXQ6ZnVuY3Rpb24oZSl7eihlLFtCLCJzdHJpbmciLCJmdW5jdGlvbiJdKXx8aCgkLmZhY2UpLHRoaXMuJGZhY2U9KEt0W2VdfHxlKS5tYWtlKE9iamVjdC5hc3NpZ24odGhpcy5nZXRQdWJsaWNBdHRyaWJ1dGVzKCkse29yaWdpbmFsVmFsdWU6dGhpcy5mYWNlP3RoaXMuZmFjZS5vcmlnaW5hbFZhbHVlOnZvaWQgMH0pKSx0aGlzLiRmYWNlLmluaXRpYWxpemVkKHRoaXMpLHRoaXMudmFsdWU/dGhpcy4kZmFjZS52YWx1ZT10aGlzLmZhY2UuY3JlYXRlRmFjZVZhbHVlKHRoaXMsdGhpcy52YWx1ZS52YWx1ZSk6dGhpcy52YWx1ZXx8KHRoaXMudmFsdWU9dGhpcy5vcmlnaW5hbFZhbHVlKSx0aGlzLmVsJiZ0aGlzLnJlbmRlcigpfX0se2tleToic3RvcEF0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQSh0aGlzLiRzdG9wQXQpP3RoaXMuJHN0b3BBdCh0aGlzKTp0aGlzLiRzdG9wQXR9LHNldDpmdW5jdGlvbihlKXt0aGlzLiRzdG9wQXQ9ZX19LHtrZXk6InRpbWVyIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kdGltZXJ9LHNldDpmdW5jdGlvbihlKXt6KGUsWXQpfHxoKCQudGltZXIpLHRoaXMuJHRpbWVyPWV9fSx7a2V5OiJ2YWx1ZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmFjZT90aGlzLmZhY2UudmFsdWU6bnVsbH0sc2V0OmZ1bmN0aW9uKGUpe2lmKCF0aGlzLmZhY2UpdGhyb3cgbmV3IEVycm9yKCJBIGZhY2UgbXVzdCBiZSBzZXQgYmVmb3JlIHNldHRpbmcgYSB2YWx1ZS4iKTtlIGluc3RhbmNlb2YgcT90aGlzLmZhY2UudmFsdWU9ZTp0aGlzLnZhbHVlP3RoaXMuZmFjZS52YWx1ZT10aGlzLmZhY2UudmFsdWUuY2xvbmUoZSk6dGhpcy5mYWNlLnZhbHVlPXRoaXMuZmFjZS5jcmVhdGVGYWNlVmFsdWUodGhpcyxlKSx0aGlzLmVsJiZ0aGlzLnJlbmRlcigpfX0se2tleToib3JpZ2luYWxWYWx1ZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEEodGhpcy4kb3JpZ2luYWxWYWx1ZSkmJiF0aGlzLiRvcmlnaW5hbFZhbHVlLm5hbWU/dGhpcy4kb3JpZ2luYWxWYWx1ZSgpOlModGhpcy4kb3JpZ2luYWxWYWx1ZSl8fE0odGhpcy4kb3JpZ2luYWxWYWx1ZSk/dGhpcy5mYWNlP3RoaXMuZmFjZS5kZWZhdWx0VmFsdWUoKTp2b2lkIDA6dGhpcy4kb3JpZ2luYWxWYWx1ZX0sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuJG9yaWdpbmFsVmFsdWU9ZX19XSxbe2tleToiZGVmaW5lTmFtZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iRmxpcENsb2NrIn19LHtrZXk6InNldERlZmF1bHRGYWNlIix2YWx1ZTpmdW5jdGlvbihlKXt6KGUsQil8fGgoJC5mYWNlKSxmbi5mYWNlPWV9fSx7a2V5OiJzZXREZWZhdWx0VGhlbWUiLHZhbHVlOmZ1bmN0aW9uKGUpe3ooZSwib2JqZWN0Iil8fGgoJC50aGVtZSksZm4udGhlbWU9ZX19LHtrZXk6InNldERlZmF1bHRMYW5ndWFnZSIsdmFsdWU6ZnVuY3Rpb24oZSl7eihlLCJvYmplY3QiKXx8aCgkLmxhbmd1YWdlKSxmbi5sYW5ndWFnZT1lfX0se2tleToiZGVmYXVsdHMiLGdldDpmdW5jdGlvbigpe3JldHVybiBmbn19XSksbn0oanQpO3JldHVybiBobn0oKX0sMTM3NTI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Ync6ZnVuY3Rpb24oKXtyZXR1cm4gb30sZVA6ZnVuY3Rpb24oKXtyZXR1cm4gaX0scHk6ZnVuY3Rpb24oKXtyZXR1cm4gcn0scGI6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTt2YXIgaT17fTtuLnIoaSksbi5kKGkse2FsaWFzZXM6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sZGljdGlvbmFyeTpmdW5jdGlvbigpe3JldHVybiBzfX0pO3ZhciByPXt9O24ucihyKSxuLmQocix7YWxpYXNlczpmdW5jdGlvbigpe3JldHVybiBjfSxkaWN0aW9uYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHV9fSk7dmFyIGE9e307bi5yKGEpLG4uZChhLHthbGlhc2VzOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LGRpY3Rpb25hcnk6ZnVuY3Rpb24oKXtyZXR1cm4gZH19KTt2YXIgbz17fTtuLnIobyksbi5kKG8se2FsaWFzZXM6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sZGljdGlvbmFyeTpmdW5jdGlvbigpe3JldHVybiBofX0pO2NvbnN0IHM9e3llYXJzOiJBbm5pIixtb250aHM6Ik1lc2kiLGRheXM6Ikdpb3JuaSIsaG91cnM6Ik9yZSIsbWludXRlczoiTWludXRpIixzZWNvbmRzOiJTZWNvbmRpIn0sbD1bImRhIiwiZGEtZGsiLCJkYW5pc2giXSx1PXt5ZWFyczoi5bm0Iixtb250aHM6IuaciCIsZGF5czoi5pelIixob3Vyczoi5pmCIixtaW51dGVzOiLliIYiLHNlY29uZHM6IuenkiJ9LGM9WyJqcCIsImphLWpwIiwiamFwYW5lc2UiXSxkPXt5ZWFyczoiTsSDbSIsbW9udGhzOiJUaMOhbmciLGRheXM6Ik5nw6B5Iixob3VyczoiR2nhu50iLG1pbnV0ZXM6IlBow7p0IixzZWNvbmRzOiJHacOieSJ9LGY9WyJ2biIsInZuLXZuIiwidmlldG5hbWVzZSJdLGg9e3llYXJzOiLlubQiLG1vbnRoczoi5pyIIixkYXlzOiLml6UiLGhvdXJzOiLml7YiLG1pbnV0ZXM6IuWIhiIsc2Vjb25kczoi56eSIn0sbT1bInpoIiwiemgtY24iLCJjaGluZXNlIl19LDc4MzAzOmZ1bmN0aW9uKGUpe3ZhciB0O2UuZXhwb3J0cz1mdW5jdGlvbiBlKHQsbixpKXtmdW5jdGlvbiByKG8scyl7aWYoIW5bb10pe2lmKCF0W29dKXtpZihhKXJldHVybiBhKG8sITApO3ZhciBsPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK28rIiciKTt0aHJvdyBsLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGx9dmFyIHU9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKHUuZXhwb3J0cywoZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcihufHxlKX0pLHUsdS5leHBvcnRzLGUsdCxuLGkpfXJldHVybiBuW29dLmV4cG9ydHN9Zm9yKHZhciBhPXZvaWQgMCxvPTA7bzxpLmxlbmd0aDtvKyspcihpW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKGUsbixpKXshZnVuY3Rpb24oZSxuKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCYmdC5hbWQpdChbXSxuKTtlbHNlIGlmKHZvaWQgMCE9PWkpbigpO2Vsc2V7dmFyIHI9e2V4cG9ydHM6e319O24oKSxlLmxnSGFzaD1yLmV4cG9ydHN9fSh0aGlzLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciBpIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4saSkmJihlW2ldPW5baV0pfXJldHVybiBlfSx0PXtoYXNoOiEwfSxuPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVsPW4sdGhpcy5jb3JlPXdpbmRvdy5sZ0RhdGFbdGhpcy5lbC5nZXRBdHRyaWJ1dGUoImxnLXVpZCIpXSx0aGlzLmNvcmUucz1lKHt9LHQsdGhpcy5jb3JlLnMpLHRoaXMuY29yZS5zLmhhc2gmJih0aGlzLm9sZEhhc2g9d2luZG93LmxvY2F0aW9uLmhhc2gsdGhpcy5pbml0KCkpLHRoaXN9O24ucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXM7dXRpbHMub24odC5jb3JlLmVsLCJvbkFmdGVyU2xpZGUubGd0bSIsKGZ1bmN0aW9uKGUpe3dpbmRvdy5sb2NhdGlvbi5oYXNoPSJsZz0iK3QuY29yZS5zLmdhbGxlcnlJZCsiJnNsaWRlPSIrZS5kZXRhaWwuaW5kZXh9KSksdXRpbHMub24od2luZG93LCJoYXNoY2hhbmdlLmxnaGFzaCIsKGZ1bmN0aW9uKCl7ZT13aW5kb3cubG9jYXRpb24uaGFzaDt2YXIgbj1wYXJzZUludChlLnNwbGl0KCImc2xpZGU9IilbMV0sMTApO2UuaW5kZXhPZigibGc9Iit0LmNvcmUucy5nYWxsZXJ5SWQpPi0xP3QuY29yZS5zbGlkZShuLCExLCExKTp0LmNvcmUubEdhbGxlcnlPbiYmdC5jb3JlLmRlc3Ryb3koKX0pKX0sbi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMuY29yZS5zLmhhc2gmJih0aGlzLm9sZEhhc2gmJnRoaXMub2xkSGFzaC5pbmRleE9mKCJsZz0iK3RoaXMuY29yZS5zLmdhbGxlcnlJZCk8MD93aW5kb3cubG9jYXRpb24uaGFzaD10aGlzLm9sZEhhc2g6aGlzdG9yeS5wdXNoU3RhdGU/aGlzdG9yeS5wdXNoU3RhdGUoIiIsZG9jdW1lbnQudGl0bGUsd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lK3dpbmRvdy5sb2NhdGlvbi5zZWFyY2gpOndpbmRvdy5sb2NhdGlvbi5oYXNoPSIiLHV0aWxzLm9mZih0aGlzLmNvcmUuZWwsIi5sZ2hhc2giKSl9LHdpbmRvdy5sZ01vZHVsZXMuaGFzaD1ufSkpfSx7fV19LHt9LFsxXSkoMSl9LDk3ODc3OmZ1bmN0aW9uKGUpe3ZhciB0O2UuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuLGkpe2Z1bmN0aW9uIHIobyxzKXtpZighbltvXSl7aWYoIXRbb10pe2lmKGEpcmV0dXJuIGEobywhMCk7dmFyIGw9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrbysiJyIpO3Rocm93IGwuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsbH12YXIgdT1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwodS5leHBvcnRzLChmdW5jdGlvbihlKXtyZXR1cm4gcih0W29dWzFdW2VdfHxlKX0pLHUsdS5leHBvcnRzLGUsdCxuLGkpfXJldHVybiBuW29dLmV4cG9ydHN9Zm9yKHZhciBhPXZvaWQgMCxvPTA7bzxpLmxlbmd0aDtvKyspcihpW29dKTtyZXR1cm4gcn1yZXR1cm4gZX0oKSh7MTpbZnVuY3Rpb24oZSxuLGkpeyFmdW5jdGlvbihlLG4pe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0JiZ0LmFtZCl0KFtdLG4pO2Vsc2UgaWYodm9pZCAwIT09aSluKCk7ZWxzZXt2YXIgcj17ZXhwb3J0czp7fX07bigpLGUubGdWaWRlbz1yLmV4cG9ydHN9fSh0aGlzLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciBpIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4saSkmJihlW2ldPW5baV0pfXJldHVybiBlfSx0PXt2aWRlb01heFdpZHRoOiI4NTVweCIsYXV0b3BsYXlGaXJzdFZpZGVvOiEwLHlvdXR1YmVQbGF5ZXJQYXJhbXM6ITEsdmltZW9QbGF5ZXJQYXJhbXM6ITEsZGFpbHltb3Rpb25QbGF5ZXJQYXJhbXM6ITEsdmtQbGF5ZXJQYXJhbXM6ITEsdmlkZW9qczohMSx2aWRlb2pzT3B0aW9uczp7fX0sbj1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lbD1uLHRoaXMuY29yZT13aW5kb3cubGdEYXRhW3RoaXMuZWwuZ2V0QXR0cmlidXRlKCJsZy11aWQiKV0sdGhpcy5jb3JlLnM9ZSh7fSx0LHRoaXMuY29yZS5zKSx0aGlzLnZpZGVvTG9hZGVkPSExLHRoaXMuaW5pdCgpLHRoaXN9O24ucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3V0aWxzLm9uKGUuY29yZS5lbCwiaGFzVmlkZW8ubGd0bSIsKGZ1bmN0aW9uKHQpe2lmKGUuY29yZS5fX19zbGlkZVt0LmRldGFpbC5pbmRleF0ucXVlcnlTZWxlY3RvcigiLmxnLXZpZGVvIikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLGUubG9hZFZpZGVvKHQuZGV0YWlsLnNyYywibGctb2JqZWN0IiwhMCx0LmRldGFpbC5pbmRleCx0LmRldGFpbC5odG1sKSksdC5kZXRhaWwuaHRtbClpZihlLmNvcmUucy52aWRlb2pzKXRyeXt2aWRlb2pzKGUuY29yZS5fX19zbGlkZVt0LmRldGFpbC5pbmRleF0ucXVlcnlTZWxlY3RvcigiLmxnLWh0bWw1IiksZS5jb3JlLnMudmlkZW9qc09wdGlvbnMsKGZ1bmN0aW9uKCl7IWUudmlkZW9Mb2FkZWQmJnQuZGV0YWlsLmluZGV4PT09ZS5jb3JlLmluZGV4JiZlLmNvcmUucy5hdXRvcGxheUZpcnN0VmlkZW8mJnRoaXMucGxheSgpfSkpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoImxpZ2h0R2FsbGVyeTotIE1ha2Ugc3VyZSB5b3UgaGF2ZSBpbmNsdWRlZCB2aWRlb2pzIil9ZWxzZSFlLnZpZGVvTG9hZGVkJiZ0LmRldGFpbC5pbmRleD09PWUuY29yZS5pbmRleCYmZS5jb3JlLnMuYXV0b3BsYXlGaXJzdFZpZGVvJiZlLmNvcmUuX19fc2xpZGVbdC5kZXRhaWwuaW5kZXhdLnF1ZXJ5U2VsZWN0b3IoIi5sZy1odG1sNSIpLnBsYXkoKX0pKSx1dGlscy5vbihlLmNvcmUuZWwsIm9uQWZlckFwcGVuZFNsaWRlLmxndG0iLChmdW5jdGlvbih0KXtlLmNvcmUuX19fc2xpZGVbdC5kZXRhaWwuaW5kZXhdLnF1ZXJ5U2VsZWN0b3IoIi5sZy12aWRlby1jb250IikmJihlLmNvcmUuX19fc2xpZGVbdC5kZXRhaWwuaW5kZXhdLnF1ZXJ5U2VsZWN0b3IoIi5sZy12aWRlby1jb250Iikuc3R5bGUubWF4V2lkdGg9ZS5jb3JlLnMudmlkZW9NYXhXaWR0aCxlLnZpZGVvTG9hZGVkPSEwKX0pKTt2YXIgdD1mdW5jdGlvbih0KXtpZih1dGlscy5oYXNDbGFzcyh0LnF1ZXJ5U2VsZWN0b3IoIi5sZy1vYmplY3QiKSwibGctaGFzLXBvc3RlciIpJiYibm9uZSIhPT10LnF1ZXJ5U2VsZWN0b3IoIi5sZy1vYmplY3QiKS5zdHlsZS5kaXNwbGF5KWlmKHV0aWxzLmhhc0NsYXNzKHQsImxnLWhhcy12aWRlbyIpKXt2YXIgbj10LnF1ZXJ5U2VsZWN0b3IoIi5sZy15b3V0dWJlIiksaT10LnF1ZXJ5U2VsZWN0b3IoIi5sZy12aW1lbyIpLHI9dC5xdWVyeVNlbGVjdG9yKCIubGctZGFpbHltb3Rpb24iKSxhPXQucXVlcnlTZWxlY3RvcigiLmxnLWh0bWw1Iik7aWYobiluLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoJ3siZXZlbnQiOiJjb21tYW5kIiwiZnVuYyI6InBsYXlWaWRlbyIsImFyZ3MiOiIifScsIioiKTtlbHNlIGlmKGkpdHJ5e25ldyBWaW1lby5QbGF5ZXIoaSkucGxheSgpLmNhdGNoKChmdW5jdGlvbihlKXtjb25zb2xlLmVycm9yKCJlcnJvciBwbGF5aW5nIHRoZSB2aWRlbzoiLGUubmFtZSl9KSl9Y2F0Y2goZSl7Y29uc29sZS53YXJuKCJsaWdodEdhbGxlcnk6LSBNYWtlIHN1cmUgeW91IGhhdmUgaW5jbHVkZWQgaHR0cHM6Ly9naXRodWIuY29tL3ZpbWVvL3BsYXllci5qcyIpfWVsc2UgaWYocilyLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBsYXkiLCIqIik7ZWxzZSBpZihhKWlmKGUuY29yZS5zLnZpZGVvanMpdHJ5e3ZpZGVvanMoYSkucGxheSgpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoImxpZ2h0R2FsbGVyeTotIE1ha2Ugc3VyZSB5b3UgaGF2ZSBpbmNsdWRlZCB2aWRlb2pzIil9ZWxzZSBhLnBsYXkoKTt1dGlscy5hZGRDbGFzcyh0LCJsZy12aWRlby1wbGF5aW5nIil9ZWxzZXt1dGlscy5hZGRDbGFzcyh0LCJsZy12aWRlby1wbGF5aW5nIiksdXRpbHMuYWRkQ2xhc3ModCwibGctaGFzLXZpZGVvIik7dmFyIG89ZnVuY3Rpb24obixpKXtpZih0LnF1ZXJ5U2VsZWN0b3IoIi5sZy12aWRlbyIpLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIixlLmxvYWRWaWRlbyhuLCIiLCExLGUuY29yZS5pbmRleCxpKSksaSlpZihlLmNvcmUucy52aWRlb2pzKXRyeXt2aWRlb2pzKGUuY29yZS5fX19zbGlkZVtlLmNvcmUuaW5kZXhdLnF1ZXJ5U2VsZWN0b3IoIi5sZy1odG1sNSIpLGUuY29yZS5zLnZpZGVvanNPcHRpb25zLChmdW5jdGlvbigpe3RoaXMucGxheSgpfSkpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoImxpZ2h0R2FsbGVyeTotIE1ha2Ugc3VyZSB5b3UgaGF2ZSBpbmNsdWRlZCB2aWRlb2pzIil9ZWxzZSBlLmNvcmUuX19fc2xpZGVbZS5jb3JlLmluZGV4XS5xdWVyeVNlbGVjdG9yKCIubGctaHRtbDUiKS5wbGF5KCl9O2UuY29yZS5zLmR5bmFtaWM/byhlLmNvcmUucy5keW5hbWljRWxbZS5jb3JlLmluZGV4XS5zcmMsZS5jb3JlLnMuZHluYW1pY0VsW2UuY29yZS5pbmRleF0uaHRtbCk6byhlLmNvcmUuaXRlbXNbZS5jb3JlLmluZGV4XS5nZXRBdHRyaWJ1dGUoImhyZWYiKXx8ZS5jb3JlLml0ZW1zW2UuY29yZS5pbmRleF0uZ2V0QXR0cmlidXRlKCJkYXRhLXNyYyIpLGUuY29yZS5pdGVtc1tlLmNvcmUuaW5kZXhdLmdldEF0dHJpYnV0ZSgiZGF0YS1odG1sIikpO3ZhciBzPXQucXVlcnlTZWxlY3RvcigiLmxnLW9iamVjdCIpO3QucXVlcnlTZWxlY3RvcigiLmxnLXZpZGVvIikuYXBwZW5kQ2hpbGQocyksdXRpbHMuaGFzQ2xhc3ModC5xdWVyeVNlbGVjdG9yKCIubGctdmlkZW8tb2JqZWN0IiksImxnLWh0bWw1Iil8fCh1dGlscy5yZW1vdmVDbGFzcyh0LCJsZy1jb21wbGV0ZSIpLHV0aWxzLm9uKHQucXVlcnlTZWxlY3RvcigiLmxnLXZpZGVvLW9iamVjdCIpLCJsb2FkLmxnIGVycm9yLmxnIiwoZnVuY3Rpb24oKXt1dGlscy5hZGRDbGFzcyh0LCJsZy1jb21wbGV0ZSIpfSkpKX19O2lmKGUuY29yZS5kb0NzcygpJiZlLmNvcmUuaXRlbXMubGVuZ3RoPjEmJihlLmNvcmUucy5lbmFibGVTd2lwZSYmZS5jb3JlLmlzVG91Y2h8fGUuY29yZS5zLmVuYWJsZURyYWcmJiFlLmNvcmUuaXNUb3VjaCkpdXRpbHMub24oZS5jb3JlLmVsLCJvblNsaWRlQ2xpY2subGd0bSIsKGZ1bmN0aW9uKCl7dmFyIG49ZS5jb3JlLl9fX3NsaWRlW2UuY29yZS5pbmRleF07dChuKX0pKTtlbHNlIGZvcih2YXIgbj0wO248ZS5jb3JlLl9fX3NsaWRlLmxlbmd0aDtuKyspIWZ1bmN0aW9uKG4pe3V0aWxzLm9uKGUuY29yZS5fX19zbGlkZVtuXSwiY2xpY2subGciLChmdW5jdGlvbigpe3QoZS5jb3JlLl9fX3NsaWRlW25dKX0pKX0obik7dXRpbHMub24oZS5jb3JlLmVsLCJvbkJlZm9yZVNsaWRlLmxndG0iLChmdW5jdGlvbih0KXt2YXIgbixpPWUuY29yZS5fX19zbGlkZVt0LmRldGFpbC5wcmV2SW5kZXhdLHI9aS5xdWVyeVNlbGVjdG9yKCIubGcteW91dHViZSIpLGE9aS5xdWVyeVNlbGVjdG9yKCIubGctdmltZW8iKSxvPWkucXVlcnlTZWxlY3RvcigiLmxnLWRhaWx5bW90aW9uIikscz1pLnF1ZXJ5U2VsZWN0b3IoIi5sZy12ayIpLGw9aS5xdWVyeVNlbGVjdG9yKCIubGctaHRtbDUiKTtpZihyKXIuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgneyJldmVudCI6ImNvbW1hbmQiLCJmdW5jIjoicGF1c2VWaWRlbyIsImFyZ3MiOiIifScsIioiKTtlbHNlIGlmKGEpdHJ5e25ldyBWaW1lby5QbGF5ZXIoYSkucGF1c2UoKS5jYXRjaCgoZnVuY3Rpb24oZSl7Y29uc29sZS5lcnJvcigiVW5hYmxlIHRvIHBhdXNlIHRoZSB2aWRlbzoiLGUubmFtZSl9KSl9Y2F0Y2goZSl7Y29uc29sZS53YXJuKCJsaWdodEdhbGxlcnk6LSBNYWtlIHN1cmUgeW91IGhhdmUgaW5jbHVkZWQgaHR0cHM6Ly9naXRodWIuY29tL3ZpbWVvL3BsYXllci5qcyIpfWVsc2UgaWYobylvLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoInBhdXNlIiwiKiIpO2Vsc2UgaWYobClpZihlLmNvcmUucy52aWRlb2pzKXRyeXt2aWRlb2pzKGwpLnBhdXNlKCl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcigibGlnaHRHYWxsZXJ5Oi0gTWFrZSBzdXJlIHlvdSBoYXZlIGluY2x1ZGVkIHZpZGVvanMiKX1lbHNlIGwucGF1c2UoKTtzJiZzLnNldEF0dHJpYnV0ZSgic3JjIixzLmdldEF0dHJpYnV0ZSgic3JjIikucmVwbGFjZSgiJmF1dG9wbGF5IiwiJm5vcGxheSIpKSxuPWUuY29yZS5zLmR5bmFtaWM/ZS5jb3JlLnMuZHluYW1pY0VsW3QuZGV0YWlsLmluZGV4XS5zcmM6ZS5jb3JlLml0ZW1zW3QuZGV0YWlsLmluZGV4XS5nZXRBdHRyaWJ1dGUoImhyZWYiKXx8ZS5jb3JlLml0ZW1zW3QuZGV0YWlsLmluZGV4XS5nZXRBdHRyaWJ1dGUoImRhdGEtc3JjIik7dmFyIHU9ZS5jb3JlLmlzVmlkZW8obix0LmRldGFpbC5pbmRleCl8fHt9Oyh1LnlvdXR1YmV8fHUudmltZW98fHUuZGFpbHltb3Rpb258fHUudmspJiZ1dGlscy5hZGRDbGFzcyhlLmNvcmUub3V0ZXIsImxnLWhpZGUtZG93bmxvYWQiKX0pKSx1dGlscy5vbihlLmNvcmUuZWwsIm9uQWZ0ZXJTbGlkZS5sZ3RtIiwoZnVuY3Rpb24odCl7dXRpbHMucmVtb3ZlQ2xhc3MoZS5jb3JlLl9fX3NsaWRlW3QuZGV0YWlsLnByZXZJbmRleF0sImxnLXZpZGVvLXBsYXlpbmciKX0pKX0sbi5wcm90b3R5cGUubG9hZFZpZGVvPWZ1bmN0aW9uKGUsdCxuLGkscil7dmFyIGEsbz0iIixzPTEsbD0iIix1PXRoaXMuY29yZS5pc1ZpZGVvKGUsaSl8fHt9O2lmKG4mJihzPXRoaXMudmlkZW9Mb2FkZWQ/MDp0aGlzLmNvcmUucy5hdXRvcGxheUZpcnN0VmlkZW8/MTowKSx0aGlzLmNvcmUucy5keW5hbWljKWE9dGhpcy5jb3JlLnMuZHluYW1pY0VsW2ldLnRpdGxlO2Vsc2UgaWYoIShhPXRoaXMuY29yZS5pdGVtc1tpXS5nZXRBdHRyaWJ1dGUoInRpdGxlIikpKXt2YXIgYz10aGlzLmNvcmUuaXRlbXNbaV0ucXVlcnlTZWxlY3RvcigiaW1nIik7YyYmKGE9Yy5nZXRBdHRyaWJ1dGUoImFsdCIpKX1pZihhPWE/J3RpdGxlPSInK2ErJyInOiIiLHUueW91dHViZSlsPSI/d21vZGU9b3BhcXVlJmF1dG9wbGF5PSIrcysiJmVuYWJsZWpzYXBpPTEiLHRoaXMuY29yZS5zLnlvdXR1YmVQbGF5ZXJQYXJhbXMmJihsPWwrIiYiK3V0aWxzLnBhcmFtKHRoaXMuY29yZS5zLnlvdXR1YmVQbGF5ZXJQYXJhbXMpKSxvPSc8aWZyYW1lIGFsbG93PSJhdXRvcGxheSIgY2xhc3M9ImxnLXZpZGVvLW9iamVjdCBsZy15b3V0dWJlICcrdCsnIiAnK2ErJyB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgc3JjPSIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8nK3UueW91dHViZVsxXStsKyciIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+JztlbHNlIGlmKHUudmltZW8pbD0iP2F1dG9wbGF5PSIrcyx0aGlzLmNvcmUucy52aW1lb1BsYXllclBhcmFtcyYmKGw9bCsiJiIrdXRpbHMucGFyYW0odGhpcy5jb3JlLnMudmltZW9QbGF5ZXJQYXJhbXMpKSxvPSc8aWZyYW1lIGFsbG93PSJhdXRvcGxheSIgY2xhc3M9ImxnLXZpZGVvLW9iamVjdCBsZy12aW1lbyAnK3QrJyIgJythKycgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiICBzcmM9Ii8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8nK3UudmltZW9bMV0rbCsnIiBmcmFtZWJvcmRlcj0iMCIgd2Via2l0QWxsb3dGdWxsU2NyZWVuIG1vemFsbG93ZnVsbHNjcmVlbiBhbGxvd0Z1bGxTY3JlZW4+PC9pZnJhbWU+JztlbHNlIGlmKHUuZGFpbHltb3Rpb24pbD0iP3dtb2RlPW9wYXF1ZSZhdXRvcGxheT0iK3MrIiZhcGk9cG9zdE1lc3NhZ2UiLHRoaXMuY29yZS5zLmRhaWx5bW90aW9uUGxheWVyUGFyYW1zJiYobD1sKyImIit1dGlscy5wYXJhbSh0aGlzLmNvcmUucy5kYWlseW1vdGlvblBsYXllclBhcmFtcykpLG89JzxpZnJhbWUgYWxsb3c9ImF1dG9wbGF5IiBjbGFzcz0ibGctdmlkZW8tb2JqZWN0IGxnLWRhaWx5bW90aW9uICcrdCsnIiAnK2ErJyB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgc3JjPSIvL3d3dy5kYWlseW1vdGlvbi5jb20vZW1iZWQvdmlkZW8vJyt1LmRhaWx5bW90aW9uWzFdK2wrJyIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4nO2Vsc2UgaWYodS5odG1sNSl7dmFyIGQ9ci5zdWJzdHJpbmcoMCwxKTsiLiIhPT1kJiYiIyIhPT1kfHwocj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHIpLmlubmVySFRNTCksbz1yfWVsc2UgdS52ayYmKGw9IiZhdXRvcGxheT0iK3MsdGhpcy5jb3JlLnMudmtQbGF5ZXJQYXJhbXMmJihsPWwrIiYiK3V0aWxzLnBhcmFtKHRoaXMuY29yZS5zLnZrUGxheWVyUGFyYW1zKSksbz0nPGlmcmFtZSBhbGxvdz0iYXV0b3BsYXkiIGNsYXNzPSJsZy12aWRlby1vYmplY3QgbGctdmsgJyt0KyciICcrYSsnICB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgc3JjPSIvL3ZrLmNvbS92aWRlb19leHQucGhwPycrdS52a1sxXStsKyciIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+Jyk7cmV0dXJuIG99LG4ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLnZpZGVvTG9hZGVkPSExfSx3aW5kb3cubGdNb2R1bGVzLnZpZGVvPW59KSl9LHt9XX0se30sWzFdKSgxKX0sNjU4ODE6ZnVuY3Rpb24oZSx0KXt2YXIgbixpLHI7aT1bdF0sbj1mdW5jdGlvbihlKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB0PXtnZXRBdHRyaWJ1dGU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVt0XX0sc2V0QXR0cmlidXRlOmZ1bmN0aW9uKGUsdCxuKXtlW3RdPW59LHdyYXA6ZnVuY3Rpb24oZSx0KXtpZihlKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuLmNsYXNzTmFtZT10LGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobixlKSxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSksbi5hcHBlbmRDaGlsZChlKX19LGFkZENsYXNzOmZ1bmN0aW9uKGUsdCl7ZSYmKGUuY2xhc3NMaXN0P2UuY2xhc3NMaXN0LmFkZCh0KTplLmNsYXNzTmFtZSs9IiAiK3QpfSxyZW1vdmVDbGFzczpmdW5jdGlvbihlLHQpe2UmJihlLmNsYXNzTGlzdD9lLmNsYXNzTGlzdC5yZW1vdmUodCk6ZS5jbGFzc05hbWU9ZS5jbGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCIoXnxcXGIpIit0LnNwbGl0KCIgIikuam9pbigifCIpKyIoXFxifCQpIiwiZ2kiKSwiICIpKX0saGFzQ2xhc3M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jbGFzc0xpc3Q/ZS5jbGFzc0xpc3QuY29udGFpbnModCk6bmV3IFJlZ0V4cCgiKF58ICkiK3QrIiggfCQpIiwiZ2kiKS50ZXN0KGUuY2xhc3NOYW1lKX0sc2V0VmVuZG9yOmZ1bmN0aW9uKGUsdCxuKXtlJiYoZS5zdHlsZVt0LmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpK3Quc2xpY2UoMSldPW4sZS5zdHlsZVsid2Via2l0Iit0XT1uLGUuc3R5bGVbIm1veiIrdF09bixlLnN0eWxlWyJtcyIrdF09bixlLnN0eWxlWyJvIit0XT1uKX0sdHJpZ2dlcjpmdW5jdGlvbihlLHQpe2lmKGUpe3ZhciBuPW5ldyBDdXN0b21FdmVudCh0LHtkZXRhaWw6YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGx9KTtlLmRpc3BhdGNoRXZlbnQobil9fSxMaXN0ZW5lcjp7dWlkOjB9LG9uOmZ1bmN0aW9uKGUsbixpKXt2YXIgcj10aGlzO2UmJm4uc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihuKXt2YXIgYT1yLmdldEF0dHJpYnV0ZShlLCJsZy1ldmVudC11aWQiKXx8IiI7dC5MaXN0ZW5lci51aWQrKyxhKz0iJiIrdC5MaXN0ZW5lci51aWQsci5zZXRBdHRyaWJ1dGUoZSwibGctZXZlbnQtdWlkIixhKSx0Lkxpc3RlbmVyW24rdC5MaXN0ZW5lci51aWRdPWksZS5hZGRFdmVudExpc3RlbmVyKG4uc3BsaXQoIi4iKVswXSxpLCExKX0pKX0sb2ZmOmZ1bmN0aW9uKGUsbil7aWYoZSl7dmFyIGk9dGhpcy5nZXRBdHRyaWJ1dGUoZSwibGctZXZlbnQtdWlkIik7aWYoaSl7aT1pLnNwbGl0KCImIik7Zm9yKHZhciByPTA7cjxpLmxlbmd0aDtyKyspaWYoaVtyXSl7dmFyIGE9bitpW3JdO2lmKCIuIj09PWEuc3Vic3RyaW5nKDAsMSkpZm9yKHZhciBvIGluIHQuTGlzdGVuZXIpdC5MaXN0ZW5lci5oYXNPd25Qcm9wZXJ0eShvKSYmby5zcGxpdCgiLiIpLmluZGV4T2YoYS5zcGxpdCgiLiIpWzFdKT4tMSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihvLnNwbGl0KCIuIilbMF0sdC5MaXN0ZW5lcltvXSksdGhpcy5zZXRBdHRyaWJ1dGUoZSwibGctZXZlbnQtdWlkIix0aGlzLmdldEF0dHJpYnV0ZShlLCJsZy1ldmVudC11aWQiKS5yZXBsYWNlKCImIitpW3JdLCIiKSksZGVsZXRlIHQuTGlzdGVuZXJbb10pO2Vsc2UgZS5yZW1vdmVFdmVudExpc3RlbmVyKGEuc3BsaXQoIi4iKVswXSx0Lkxpc3RlbmVyW2FdKSx0aGlzLnNldEF0dHJpYnV0ZShlLCJsZy1ldmVudC11aWQiLHRoaXMuZ2V0QXR0cmlidXRlKGUsImxnLWV2ZW50LXVpZCIpLnJlcGxhY2UoIiYiK2lbcl0sIiIpKSxkZWxldGUgdC5MaXN0ZW5lclthXX19fX0scGFyYW06ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0KSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGVbdF0pfSkpLmpvaW4oIiYiKX19O2UuZGVmYXVsdD10fSx2b2lkIDA9PT0ocj0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHQsaSk6bil8fChlLmV4cG9ydHM9cil9LDczMjY2OmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxyLGE7cj1bbig2NTg4MSldLGk9ZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0PW4oZSk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19dmFyIGk9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgaSBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGkpJiYoZVtpXT1uW2ldKX1yZXR1cm4gZX07KGZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5DdXN0b21FdmVudClyZXR1cm4hMTtmdW5jdGlvbiBlKGUsdCl7dD10fHx7YnViYmxlczohMSxjYW5jZWxhYmxlOiExLGRldGFpbDp2b2lkIDB9O3ZhciBuPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpO3JldHVybiBuLmluaXRDdXN0b21FdmVudChlLHQuYnViYmxlcyx0LmNhbmNlbGFibGUsdC5kZXRhaWwpLG59ZS5wcm90b3R5cGU9d2luZG93LkV2ZW50LnByb3RvdHlwZSx3aW5kb3cuQ3VzdG9tRXZlbnQ9ZX0pKCksd2luZG93LnV0aWxzPXQuZGVmYXVsdCx3aW5kb3cubGdEYXRhPXt1aWQ6MH0sd2luZG93LmxnTW9kdWxlcz17fTt2YXIgcj17bW9kZToibGctc2xpZGUiLGNzc0Vhc2luZzoiZWFzZSIsZWFzaW5nOiJsaW5lYXIiLHNwZWVkOjYwMCxoZWlnaHQ6IjEwMCUiLHdpZHRoOiIxMDAlIixhZGRDbGFzczoiIixzdGFydENsYXNzOiJsZy1zdGFydC16b29tIixiYWNrZHJvcER1cmF0aW9uOjE1MCxoaWRlQmFyc0RlbGF5OjZlMyx1c2VMZWZ0OiExLGFyaWFMYWJlbGxlZGJ5OiIiLGFyaWFEZXNjcmliZWRieToiIixjbG9zYWJsZTohMCxsb29wOiEwLGVzY0tleTohMCxrZXlQcmVzczohMCxjb250cm9sczohMCxzbGlkZUVuZEFuaW1hdG9pbjohMCxoaWRlQ29udHJvbE9uRW5kOiExLG1vdXNld2hlZWw6ITEsZ2V0Q2FwdGlvbkZyb21UaXRsZU9yQWx0OiEwLGFwcGVuZFN1Ykh0bWxUbzoiLmxnLXN1Yi1odG1sIixzdWJIdG1sU2VsZWN0b3JSZWxhdGl2ZTohMSxwcmVsb2FkOjEsc2hvd0FmdGVyTG9hZDohMCxzZWxlY3RvcjoiIixzZWxlY3RXaXRoaW46IiIsbmV4dEh0bWw6IiIscHJldkh0bWw6IiIsaW5kZXg6ITEsaWZyYW1lTWF4V2lkdGg6IjEwMCUiLGRvd25sb2FkOiEwLGNvdW50ZXI6ITAsYXBwZW5kQ291bnRlclRvOiIubGctdG9vbGJhciIsc3dpcGVUaHJlc2hvbGQ6NTAsZW5hYmxlU3dpcGU6ITAsZW5hYmxlRHJhZzohMCxkeW5hbWljOiExLGR5bmFtaWNFbDpbXSxnYWxsZXJ5SWQ6MSxzdXBwb3J0TGVnYWN5QnJvd3NlcjohMH07ZnVuY3Rpb24gYShlLHQpe2lmKHRoaXMuZWw9ZSx0aGlzLnM9aSh7fSxyLHQpLHRoaXMucy5keW5hbWljJiYidW5kZWZpbmVkIiE9PXRoaXMucy5keW5hbWljRWwmJnRoaXMucy5keW5hbWljRWwuY29uc3RydWN0b3I9PT1BcnJheSYmIXRoaXMucy5keW5hbWljRWwubGVuZ3RoKXRocm93IldoZW4gdXNpbmcgZHluYW1pYyBtb2RlLCB5b3UgbXVzdCBhbHNvIGRlZmluZSBkeW5hbWljRWwgYXMgYW4gQXJyYXkuIjtyZXR1cm4gdGhpcy5tb2R1bGVzPXt9LHRoaXMubEdhbGxlcnlPbj0hMSx0aGlzLmxnQnVzeT0hMSx0aGlzLmhpZGVCYXJ0aW1lb3V0PSExLHRoaXMuaXNUb3VjaD0ib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLnMuc2xpZGVFbmRBbmltYXRvaW4mJih0aGlzLnMuaGlkZUNvbnRyb2xPbkVuZD0hMSksdGhpcy5pdGVtcz1bXSx0aGlzLnMuZHluYW1pYz90aGlzLml0ZW1zPXRoaXMucy5keW5hbWljRWw6InRoaXMiPT09dGhpcy5zLnNlbGVjdG9yP3RoaXMuaXRlbXMucHVzaCh0aGlzLmVsKToiIiE9PXRoaXMucy5zZWxlY3Rvcj90aGlzLnMuc2VsZWN0V2l0aGluP3RoaXMuaXRlbXM9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLnMuc2VsZWN0V2l0aGluKS5xdWVyeVNlbGVjdG9yQWxsKHRoaXMucy5zZWxlY3Rvcik6dGhpcy5pdGVtcz10aGlzLmVsLnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5zLnNlbGVjdG9yKTp0aGlzLml0ZW1zPXRoaXMuZWwuY2hpbGRyZW4sdGhpcy5fX19zbGlkZT0iIix0aGlzLm91dGVyPSIiLHRoaXMuaW5pdCgpLHRoaXN9YS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5zLnByZWxvYWQ+ZS5pdGVtcy5sZW5ndGgmJihlLnMucHJlbG9hZD1lLml0ZW1zLmxlbmd0aCk7dmFyIG49d2luZG93LmxvY2F0aW9uLmhhc2g7aWYobi5pbmRleE9mKCJsZz0iK3RoaXMucy5nYWxsZXJ5SWQpPjAmJihlLmluZGV4PXBhcnNlSW50KG4uc3BsaXQoIiZzbGlkZT0iKVsxXSwxMCksdC5kZWZhdWx0LmFkZENsYXNzKGRvY3VtZW50LmJvZHksImxnLWZyb20taGFzaCIpLHQuZGVmYXVsdC5oYXNDbGFzcyhkb2N1bWVudC5ib2R5LCJsZy1vbiIpfHwodC5kZWZhdWx0LmFkZENsYXNzKGRvY3VtZW50LmJvZHksImxnLW9uIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlLmJ1aWxkKGUuaW5kZXgpfSkpKSksZS5zLmR5bmFtaWMpdC5kZWZhdWx0LnRyaWdnZXIodGhpcy5lbCwib25CZWZvcmVPcGVuIiksZS5pbmRleD1lLnMuaW5kZXh8fDAsdC5kZWZhdWx0Lmhhc0NsYXNzKGRvY3VtZW50LmJvZHksImxnLW9uIil8fCh0LmRlZmF1bHQuYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctb24iKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2UuYnVpbGQoZS5pbmRleCl9KSkpO2Vsc2UgZm9yKHZhciBpPTA7aTxlLml0ZW1zLmxlbmd0aDtpKyspIWZ1bmN0aW9uKG4pe3QuZGVmYXVsdC5vbihlLml0ZW1zW25dLCJjbGljay5sZ2N1c3RvbSIsKGZ1bmN0aW9uKGkpe2kucHJldmVudERlZmF1bHQoKSx0LmRlZmF1bHQudHJpZ2dlcihlLmVsLCJvbkJlZm9yZU9wZW4iKSxlLmluZGV4PWUucy5pbmRleHx8bix0LmRlZmF1bHQuaGFzQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctb24iKXx8KGUuYnVpbGQoZS5pbmRleCksdC5kZWZhdWx0LmFkZENsYXNzKGRvY3VtZW50LmJvZHksImxnLW9uIikpfSkpfShpKX0sYS5wcm90b3R5cGUuYnVpbGQ9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztmb3IodmFyIGkgaW4gbi5zdHJ1Y3R1cmUoKSx3aW5kb3cubGdNb2R1bGVzKW4ubW9kdWxlc1tpXT1uZXcgd2luZG93LmxnTW9kdWxlc1tpXShuLmVsKTtpZihuLnNsaWRlKGUsITEsITEpLG4ucy5rZXlQcmVzcyYmbi5rZXlQcmVzcygpLG4uaXRlbXMubGVuZ3RoPjEmJihuLmFycm93KCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtuLmVuYWJsZURyYWcoKSxuLmVuYWJsZVN3aXBlKCl9KSw1MCksbi5zLm1vdXNld2hlZWwmJm4ubW91c2V3aGVlbCgpKSxuLmNvdW50ZXIoKSxuLmNsb3NlR2FsbGVyeSgpLHQuZGVmYXVsdC50cmlnZ2VyKG4uZWwsIm9uQWZ0ZXJPcGVuIiksbi5zLmhpZGVCYXJzRGVsYXk+MCl7dmFyIHI9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LmRlZmF1bHQuYWRkQ2xhc3Mobi5vdXRlciwibGctaGlkZS1pdGVtcyIpfSksbi5zLmhpZGVCYXJzRGVsYXkpO3QuZGVmYXVsdC5vbihuLm91dGVyLCJtb3VzZW1vdmUubGcgY2xpY2subGcgdG91Y2hzdGFydC5sZyIsKGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHIpLHQuZGVmYXVsdC5yZW1vdmVDbGFzcyhuLm91dGVyLCJsZy1oaWRlLWl0ZW1zIiksY2xlYXJUaW1lb3V0KG4uaGlkZUJhcnRpbWVvdXQpLG4uaGlkZUJhcnRpbWVvdXQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LmRlZmF1bHQuYWRkQ2xhc3Mobi5vdXRlciwibGctaGlkZS1pdGVtcyIpfSksbi5zLmhpZGVCYXJzRGVsYXkpfSkpfX0sYS5wcm90b3R5cGUuc3RydWN0dXJlPWZ1bmN0aW9uKCl7dmFyIGUsbj0iIixpPSIiLHI9MCxhPSIiLG89dGhpcztmb3IoZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsJzxkaXYgY2xhc3M9ImxnLWJhY2tkcm9wIj48L2Rpdj4nKSx0LmRlZmF1bHQuc2V0VmVuZG9yKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sZy1iYWNrZHJvcCIpLCJUcmFuc2l0aW9uRHVyYXRpb24iLHRoaXMucy5iYWNrZHJvcER1cmF0aW9uKyJtcyIpLHI9MDtyPHRoaXMuaXRlbXMubGVuZ3RoO3IrKyluKz0nPGRpdiBjbGFzcz0ibGctaXRlbSI+PC9kaXY+JztpZih0aGlzLnMuY29udHJvbHMmJnRoaXMuaXRlbXMubGVuZ3RoPjEmJihpPSc8ZGl2IGNsYXNzPSJsZy1hY3Rpb25zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iUHJldmlvdXMgc2xpZGUiIGNsYXNzPSJsZy1wcmV2IGxnLWljb24iPicrdGhpcy5zLnByZXZIdG1sKyc8L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iTmV4dCBzbGlkZSIgY2xhc3M9ImxnLW5leHQgbGctaWNvbiI+Jyt0aGlzLnMubmV4dEh0bWwrIjwvYnV0dG9uPjwvZGl2PiIpLCIubGctc3ViLWh0bWwiPT09dGhpcy5zLmFwcGVuZFN1Ykh0bWxUbyYmKGE9JzxkaXYgcm9sZT0ic3RhdHVzIiBhcmlhLWxpdmU9InBvbGl0ZSIgY2xhc3M9ImxnLXN1Yi1odG1sIj48L2Rpdj4nKSxlPSc8ZGl2IHRhYmluZGV4PSItMSIgYXJpYS1tb2RhbD0idHJ1ZSIgJysodGhpcy5zLmFyaWFMYWJlbGxlZGJ5PydhcmlhLWxhYmVsbGVkYnk9IicrdGhpcy5zLmFyaWFMYWJlbGxlZGJ5KyciJzoiIikrIiAiKyh0aGlzLnMuYXJpYURlc2NyaWJlZGJ5PydhcmlhLWRlc2NyaWJlZGJ5PSInK3RoaXMucy5hcmlhRGVzY3JpYmVkYnkrJyInOiIiKSsnIHJvbGU9ImRpYWxvZyIgY2xhc3M9ImxnLW91dGVyICcrdGhpcy5zLmFkZENsYXNzKyIgIit0aGlzLnMuc3RhcnRDbGFzcysnIj48ZGl2IGNsYXNzPSJsZyIgc3R5bGU9IndpZHRoOicrdGhpcy5zLndpZHRoKyI7IGhlaWdodDoiK3RoaXMucy5oZWlnaHQrJyI+PGRpdiBjbGFzcz0ibGctaW5uZXIiPicrbisnPC9kaXY+PGRpdiBjbGFzcz0ibGctdG9vbGJhciBsZy1ncm91cCI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IkNsb3NlIGdhbGxlcnkiIGNsYXNzPSJsZy1jbG9zZSBsZy1pY29uIj48L2J1dHRvbj48L2Rpdj4nK2krYSsiPC9kaXY+PC9kaXY+Iixkb2N1bWVudC5ib2R5Lmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIixlKSx0aGlzLm91dGVyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sZy1vdXRlciIpLHRoaXMub3V0ZXIuZm9jdXMoKSx0aGlzLl9fX3NsaWRlPXRoaXMub3V0ZXIucXVlcnlTZWxlY3RvckFsbCgiLmxnLWl0ZW0iKSx0aGlzLnMudXNlTGVmdD8odC5kZWZhdWx0LmFkZENsYXNzKHRoaXMub3V0ZXIsImxnLXVzZS1sZWZ0IiksdGhpcy5zLm1vZGU9ImxnLXNsaWRlIik6dC5kZWZhdWx0LmFkZENsYXNzKHRoaXMub3V0ZXIsImxnLXVzZS1jc3MzIiksby5zZXRUb3AoKSx0LmRlZmF1bHQub24od2luZG93LCJyZXNpemUubGcgb3JpZW50YXRpb25jaGFuZ2UubGciLChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7by5zZXRUb3AoKX0pLDEwMCl9KSksdC5kZWZhdWx0LmFkZENsYXNzKHRoaXMuX19fc2xpZGVbdGhpcy5pbmRleF0sImxnLWN1cnJlbnQiKSx0aGlzLmRvQ3NzKCk/dC5kZWZhdWx0LmFkZENsYXNzKHRoaXMub3V0ZXIsImxnLWNzczMiKToodC5kZWZhdWx0LmFkZENsYXNzKHRoaXMub3V0ZXIsImxnLWNzcyIpLHRoaXMucy5zcGVlZD0wKSx0LmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5vdXRlcix0aGlzLnMubW9kZSksdGhpcy5zLmVuYWJsZURyYWcmJnRoaXMuaXRlbXMubGVuZ3RoPjEmJnQuZGVmYXVsdC5hZGRDbGFzcyh0aGlzLm91dGVyLCJsZy1ncmFiIiksdGhpcy5zLnNob3dBZnRlckxvYWQmJnQuZGVmYXVsdC5hZGRDbGFzcyh0aGlzLm91dGVyLCJsZy1zaG93LWFmdGVyLWxvYWQiKSx0aGlzLmRvQ3NzKCkpe3ZhciBzPXRoaXMub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnLWlubmVyIik7dC5kZWZhdWx0LnNldFZlbmRvcihzLCJUcmFuc2l0aW9uVGltaW5nRnVuY3Rpb24iLHRoaXMucy5jc3NFYXNpbmcpLHQuZGVmYXVsdC5zZXRWZW5kb3IocywiVHJhbnNpdGlvbkR1cmF0aW9uIix0aGlzLnMuc3BlZWQrIm1zIil9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LmRlZmF1bHQuYWRkQ2xhc3MoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmxnLWJhY2tkcm9wIiksImluIil9KSksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LmRlZmF1bHQuYWRkQ2xhc3Moby5vdXRlciwibGctdmlzaWJsZSIpfSksdGhpcy5zLmJhY2tkcm9wRHVyYXRpb24pLHRoaXMucy5kb3dubG9hZCYmdGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctdG9vbGJhciIpLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPGEgaWQ9ImxnLWRvd25sb2FkIiBhcmlhLWxhYmVsPSJEb3dubG9hZCIgdGFyZ2V0PSJfYmxhbmsiIGRvd25sb2FkIGNsYXNzPSJsZy1kb3dubG9hZCBsZy1pY29uIj48L2E+JyksdGhpcy5wcmV2U2Nyb2xsVG9wPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wfSxhLnByb3RvdHlwZS5zZXRUb3A9ZnVuY3Rpb24oKXtpZigiMTAwJSIhPT10aGlzLnMuaGVpZ2h0KXt2YXIgZT13aW5kb3cuaW5uZXJIZWlnaHQsdD0oZS1wYXJzZUludCh0aGlzLnMuaGVpZ2h0LDEwKSkvMixuPXRoaXMub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnIik7ZT49cGFyc2VJbnQodGhpcy5zLmhlaWdodCwxMCk/bi5zdHlsZS50b3A9dCsicHgiOm4uc3R5bGUudG9wPSIwcHgifX0sYS5wcm90b3R5cGUuZG9Dc3M9ZnVuY3Rpb24oKXtyZXR1cm4hIWZ1bmN0aW9uKCl7dmFyIGU9WyJ0cmFuc2l0aW9uIiwiTW96VHJhbnNpdGlvbiIsIldlYmtpdFRyYW5zaXRpb24iLCJPVHJhbnNpdGlvbiIsIm1zVHJhbnNpdGlvbiIsIktodG1sVHJhbnNpdGlvbiJdLHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG49MDtmb3Iobj0wO248ZS5sZW5ndGg7bisrKWlmKGVbbl1pbiB0LnN0eWxlKXJldHVybiEwfSgpfSxhLnByb3RvdHlwZS5pc1ZpZGVvPWZ1bmN0aW9uKGUsdCl7dmFyIG47aWYobj10aGlzLnMuZHluYW1pYz90aGlzLnMuZHluYW1pY0VsW3RdLmh0bWw6dGhpcy5pdGVtc1t0XS5nZXRBdHRyaWJ1dGUoImRhdGEtaHRtbCIpLCFlJiZuKXJldHVybntodG1sNTohMH07dmFyIGk9ZS5tYXRjaCgvXC9cLyg/Ond3d1wuKT95b3V0dSg/OlwuYmV8YmVcLmNvbXxiZS1ub2Nvb2tpZVwuY29tKVwvKD86d2F0Y2hcP3Y9fGVtYmVkXC8pPyhbYS16MC05XC1cX1wlXSspL2kpLHI9ZS5tYXRjaCgvXC9cLyg/Ond3d1wuKT92aW1lby5jb21cLyhbMC05YS16XC1fXSspL2kpLGE9ZS5tYXRjaCgvXC9cLyg/Ond3d1wuKT9kYWkubHlcLyhbMC05YS16XC1fXSspL2kpLG89ZS5tYXRjaCgvXC9cLyg/Ond3d1wuKT8oPzp2a1wuY29tfHZrb250YWt0ZVwucnUpXC8oPzp2aWRlb19leHRcLnBocFw/KSguKikvaSk7cmV0dXJuIGk/e3lvdXR1YmU6aX06cj97dmltZW86cn06YT97ZGFpbHltb3Rpb246YX06bz97dms6b306dm9pZCAwfSxhLnByb3RvdHlwZS5jb3VudGVyPWZ1bmN0aW9uKCl7dGhpcy5zLmNvdW50ZXImJnRoaXMub3V0ZXIucXVlcnlTZWxlY3Rvcih0aGlzLnMuYXBwZW5kQ291bnRlclRvKS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsJzxkaXYgaWQ9ImxnLWNvdW50ZXIiIHJvbGU9InN0YXR1cyIgYXJpYS1saXZlPSJwb2xpdGUiPjxzcGFuIGlkPSJsZy1jb3VudGVyLWN1cnJlbnQiPicrKHBhcnNlSW50KHRoaXMuaW5kZXgsMTApKzEpKyc8L3NwYW4+IC8gPHNwYW4gaWQ9ImxnLWNvdW50ZXItYWxsIj4nK3RoaXMuaXRlbXMubGVuZ3RoKyI8L3NwYW4+PC9kaXY+Iil9LGEucHJvdG90eXBlLmFkZEh0bWw9ZnVuY3Rpb24oZSl7dmFyIG4saT1udWxsO2lmKHRoaXMucy5keW5hbWljP2k9dGhpcy5zLmR5bmFtaWNFbFtlXS5zdWJIdG1sOihpPShuPXRoaXMuaXRlbXNbZV0pLmdldEF0dHJpYnV0ZSgiZGF0YS1zdWItaHRtbCIpLHRoaXMucy5nZXRDYXB0aW9uRnJvbVRpdGxlT3JBbHQmJiFpJiYoaT1uLmdldEF0dHJpYnV0ZSgidGl0bGUiKSkmJm4ucXVlcnlTZWxlY3RvcigiaW1nIikmJihpPW4ucXVlcnlTZWxlY3RvcigiaW1nIikuZ2V0QXR0cmlidXRlKCJhbHQiKSkpLG51bGwhPWkpe3ZhciByPWkuc3Vic3RyaW5nKDAsMSk7Ii4iIT09ciYmIiMiIT09cnx8KGk9dGhpcy5zLnN1Ykh0bWxTZWxlY3RvclJlbGF0aXZlJiYhdGhpcy5zLmR5bmFtaWM/bi5xdWVyeVNlbGVjdG9yKGkpLmlubmVySFRNTDpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGkpLmlubmVySFRNTCl9ZWxzZSBpPSIiOyIubGctc3ViLWh0bWwiPT09dGhpcy5zLmFwcGVuZFN1Ykh0bWxUbz90aGlzLm91dGVyLnF1ZXJ5U2VsZWN0b3IodGhpcy5zLmFwcGVuZFN1Ykh0bWxUbykuaW5uZXJIVE1MPWk6dGhpcy5fX19zbGlkZVtlXS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsaSksbnVsbCE9aSYmKCIiPT09aT90LmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKHRoaXMucy5hcHBlbmRTdWJIdG1sVG8pLCJsZy1lbXB0eS1odG1sIik6dC5kZWZhdWx0LnJlbW92ZUNsYXNzKHRoaXMub3V0ZXIucXVlcnlTZWxlY3Rvcih0aGlzLnMuYXBwZW5kU3ViSHRtbFRvKSwibGctZW1wdHktaHRtbCIpKSx0LmRlZmF1bHQudHJpZ2dlcih0aGlzLmVsLCJvbkFmdGVyQXBwZW5kU3ViSHRtbCIse2luZGV4OmV9KX0sYS5wcm90b3R5cGUucHJlbG9hZD1mdW5jdGlvbihlKXt2YXIgdD0xLG49MTtmb3IodD0xO3Q8PXRoaXMucy5wcmVsb2FkJiYhKHQ+PXRoaXMuaXRlbXMubGVuZ3RoLWUpO3QrKyl0aGlzLmxvYWRDb250ZW50KGUrdCwhMSwwKTtmb3Iobj0xO248PXRoaXMucy5wcmVsb2FkJiYhKGUtbjwwKTtuKyspdGhpcy5sb2FkQ29udGVudChlLW4sITEsMCl9LGEucHJvdG90eXBlLmxvYWRDb250ZW50PWZ1bmN0aW9uKGUsbixpKXt2YXIgcixhLG8scyxsLHUsYyxkPXRoaXMsZj0hMSxoPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPVtdLGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIHI9ZVtpXS5zcGxpdCgiICIpOyIiPT09clswXSYmci5zcGxpY2UoMCwxKSxuLnB1c2goclswXSksdC5wdXNoKHJbMV0pfWZvcih2YXIgbz13aW5kb3cuaW5uZXJXaWR0aCxzPTA7czx0Lmxlbmd0aDtzKyspaWYocGFyc2VJbnQodFtzXSwxMCk+byl7YT1uW3NdO2JyZWFrfX07ZC5zLmR5bmFtaWM/KGQucy5keW5hbWljRWxbZV0ucG9zdGVyJiYoZj0hMCxvPWQucy5keW5hbWljRWxbZV0ucG9zdGVyKSx1PWQucy5keW5hbWljRWxbZV0uaHRtbCxhPWQucy5keW5hbWljRWxbZV0uc3JjLGM9ZC5zLmR5bmFtaWNFbFtlXS5hbHQsZC5zLmR5bmFtaWNFbFtlXS5yZXNwb25zaXZlJiZoKGQucy5keW5hbWljRWxbZV0ucmVzcG9uc2l2ZS5zcGxpdCgiLCIpKSxzPWQucy5keW5hbWljRWxbZV0uc3Jjc2V0LGw9ZC5zLmR5bmFtaWNFbFtlXS5zaXplcyk6KGQuaXRlbXNbZV0uZ2V0QXR0cmlidXRlKCJkYXRhLXBvc3RlciIpJiYoZj0hMCxvPWQuaXRlbXNbZV0uZ2V0QXR0cmlidXRlKCJkYXRhLXBvc3RlciIpKSx1PWQuaXRlbXNbZV0uZ2V0QXR0cmlidXRlKCJkYXRhLWh0bWwiKSxhPWQuaXRlbXNbZV0uZ2V0QXR0cmlidXRlKCJocmVmIil8fGQuaXRlbXNbZV0uZ2V0QXR0cmlidXRlKCJkYXRhLXNyYyIpLGM9ZC5pdGVtc1tlXS5nZXRBdHRyaWJ1dGUoInRpdGxlIiksZC5pdGVtc1tlXS5xdWVyeVNlbGVjdG9yKCJpbWciKSYmKGM9Y3x8ZC5pdGVtc1tlXS5xdWVyeVNlbGVjdG9yKCJpbWciKS5nZXRBdHRyaWJ1dGUoImFsdCIpKSxkLml0ZW1zW2VdLmdldEF0dHJpYnV0ZSgiZGF0YS1yZXNwb25zaXZlIikmJmgoZC5pdGVtc1tlXS5nZXRBdHRyaWJ1dGUoImRhdGEtcmVzcG9uc2l2ZSIpLnNwbGl0KCIsIikpLHM9ZC5pdGVtc1tlXS5nZXRBdHRyaWJ1dGUoImRhdGEtc3Jjc2V0IiksbD1kLml0ZW1zW2VdLmdldEF0dHJpYnV0ZSgiZGF0YS1zaXplcyIpKTt2YXIgbT0hMTtkLnMuZHluYW1pYz9kLnMuZHluYW1pY0VsW2VdLmlmcmFtZSYmKG09ITApOiJ0cnVlIj09PWQuaXRlbXNbZV0uZ2V0QXR0cmlidXRlKCJkYXRhLWlmcmFtZSIpJiYobT0hMCk7dmFyIHA9ZC5pc1ZpZGVvKGEsZSk7aWYoIXQuZGVmYXVsdC5oYXNDbGFzcyhkLl9fX3NsaWRlW2VdLCJsZy1sb2FkZWQiKSl7aWYobSlkLl9fX3NsaWRlW2VdLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsJzxkaXYgY2xhc3M9ImxnLXZpZGVvLWNvbnQiIHN0eWxlPSJtYXgtd2lkdGg6JytkLnMuaWZyYW1lTWF4V2lkdGgrJyI+PGRpdiBjbGFzcz0ibGctdmlkZW8iPjxpZnJhbWUgY2xhc3M9ImxnLW9iamVjdCIgZnJhbWVib3JkZXI9IjAiIHNyYz0iJythKyciICBhbGxvd2Z1bGxzY3JlZW49InRydWUiPjwvaWZyYW1lPjwvZGl2PjwvZGl2PicpO2Vsc2UgaWYoZil7dmFyIGc9IiI7Zz1wJiZwLnlvdXR1YmU/ImxnLWhhcy15b3V0dWJlIjpwJiZwLnZpbWVvPyJsZy1oYXMtdmltZW8iOiJsZy1oYXMtaHRtbDUiLGQuX19fc2xpZGVbZV0uaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLCc8ZGl2IGNsYXNzPSJsZy12aWRlby1jb250ICcrZysnICI+PGRpdiBjbGFzcz0ibGctdmlkZW8iPjxzcGFuIGNsYXNzPSJsZy12aWRlby1wbGF5Ij48L3NwYW4+PGltZyBjbGFzcz0ibGctb2JqZWN0IGxnLWhhcy1wb3N0ZXIiIHNyYz0iJytvKyciIC8+PC9kaXY+PC9kaXY+Jyl9ZWxzZSBwPyhkLl9fX3NsaWRlW2VdLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPGRpdiBjbGFzcz0ibGctdmlkZW8tY29udCAiPjxkaXYgY2xhc3M9ImxnLXZpZGVvIj48L2Rpdj48L2Rpdj4nKSx0LmRlZmF1bHQudHJpZ2dlcihkLmVsLCJoYXNWaWRlbyIse2luZGV4OmUsc3JjOmEsaHRtbDp1fSkpOihjPWM/J2FsdD0iJytjKyciJzoiIixkLl9fX3NsaWRlW2VdLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPGRpdiBjbGFzcz0ibGctaW1nLXdyYXAiPjxpbWcgY2xhc3M9ImxnLW9iamVjdCBsZy1pbWFnZSIgJytjKycgc3JjPSInK2ErJyIgLz48L2Rpdj4nKSk7aWYodC5kZWZhdWx0LnRyaWdnZXIoZC5lbCwib25BZmVyQXBwZW5kU2xpZGUiLHtpbmRleDplfSkscj1kLl9fX3NsaWRlW2VdLnF1ZXJ5U2VsZWN0b3IoIi5sZy1vYmplY3QiKSxsJiZyLnNldEF0dHJpYnV0ZSgic2l6ZXMiLGwpLHMmJihyLnNldEF0dHJpYnV0ZSgic3Jjc2V0IixzKSx0aGlzLnMuc3VwcG9ydExlZ2FjeUJyb3dzZXIpKXRyeXtwaWN0dXJlZmlsbCh7ZWxlbWVudHM6W3JbMF1dfSl9Y2F0Y2goZSl7Y29uc29sZS53YXJuKCJJZiB5b3Ugd2FudCBzcmNzZXQgdG8gYmUgc3VwcG9ydGVkIGZvciBvbGRlciBicm93c2VycywgcGxlYXNlIGluY2x1ZGUgcGljdHVyZWZpbCBqYXZhc2NyaXB0IGxpYnJhcnkgaW4geW91ciBkb2N1bWVudC4iKX0iLmxnLXN1Yi1odG1sIiE9PXRoaXMucy5hcHBlbmRTdWJIdG1sVG8mJmQuYWRkSHRtbChlKSx0LmRlZmF1bHQuYWRkQ2xhc3MoZC5fX19zbGlkZVtlXSwibGctbG9hZGVkIil9dC5kZWZhdWx0Lm9uKGQuX19fc2xpZGVbZV0ucXVlcnlTZWxlY3RvcigiLmxnLW9iamVjdCIpLCJsb2FkLmxnIGVycm9yLmxnIiwoZnVuY3Rpb24oKXt2YXIgbj0wO2kmJiF0LmRlZmF1bHQuaGFzQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctZnJvbS1oYXNoIikmJihuPWkpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5kZWZhdWx0LmFkZENsYXNzKGQuX19fc2xpZGVbZV0sImxnLWNvbXBsZXRlIiksdC5kZWZhdWx0LnRyaWdnZXIoZC5lbCwib25TbGlkZUl0ZW1Mb2FkIix7aW5kZXg6ZSxkZWxheTppfHwwfSl9KSxuKX0pKSxwJiZwLmh0bWw1JiYhZiYmdC5kZWZhdWx0LmFkZENsYXNzKGQuX19fc2xpZGVbZV0sImxnLWNvbXBsZXRlIiksITA9PT1uJiYodC5kZWZhdWx0Lmhhc0NsYXNzKGQuX19fc2xpZGVbZV0sImxnLWNvbXBsZXRlIik/ZC5wcmVsb2FkKGUpOnQuZGVmYXVsdC5vbihkLl9fX3NsaWRlW2VdLnF1ZXJ5U2VsZWN0b3IoIi5sZy1vYmplY3QiKSwibG9hZC5sZyBlcnJvci5sZyIsKGZ1bmN0aW9uKCl7ZC5wcmVsb2FkKGUpfSkpKX0sYS5wcm90b3R5cGUuc2xpZGU9ZnVuY3Rpb24oZSxuLGkpe2Zvcih2YXIgcj0wLGE9MDthPHRoaXMuX19fc2xpZGUubGVuZ3RoO2ErKylpZih0LmRlZmF1bHQuaGFzQ2xhc3ModGhpcy5fX19zbGlkZVthXSwibGctY3VycmVudCIpKXtyPWE7YnJlYWt9dmFyIG89dGhpcztpZighby5sR2FsbGVyeU9ufHxyIT09ZSl7dmFyIHM9dGhpcy5fX19zbGlkZS5sZW5ndGgsbD1vLmxHYWxsZXJ5T24/dGhpcy5zLnNwZWVkOjAsdT0hMSxjPSExO2lmKCFvLmxnQnVzeSl7dmFyIGQ7aWYodGhpcy5zLmRvd25sb2FkJiYoKGQ9by5zLmR5bmFtaWM/ITEhPT1vLnMuZHluYW1pY0VsW2VdLmRvd25sb2FkVXJsJiYoby5zLmR5bmFtaWNFbFtlXS5kb3dubG9hZFVybHx8by5zLmR5bmFtaWNFbFtlXS5zcmMpOiJmYWxzZSIhPT1vLml0ZW1zW2VdLmdldEF0dHJpYnV0ZSgiZGF0YS1kb3dubG9hZC11cmwiKSYmKG8uaXRlbXNbZV0uZ2V0QXR0cmlidXRlKCJkYXRhLWRvd25sb2FkLXVybCIpfHxvLml0ZW1zW2VdLmdldEF0dHJpYnV0ZSgiaHJlZiIpfHxvLml0ZW1zW2VdLmdldEF0dHJpYnV0ZSgiZGF0YS1zcmMiKSkpPyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGctZG93bmxvYWQiKS5zZXRBdHRyaWJ1dGUoImhyZWYiLGQpLHQuZGVmYXVsdC5yZW1vdmVDbGFzcyhvLm91dGVyLCJsZy1oaWRlLWRvd25sb2FkIikpOnQuZGVmYXVsdC5hZGRDbGFzcyhvLm91dGVyLCJsZy1oaWRlLWRvd25sb2FkIikpLHQuZGVmYXVsdC50cmlnZ2VyKG8uZWwsIm9uQmVmb3JlU2xpZGUiLHtwcmV2SW5kZXg6cixpbmRleDplLGZyb21Ub3VjaDpuLGZyb21UaHVtYjppfSksby5sZ0J1c3k9ITAsY2xlYXJUaW1lb3V0KG8uaGlkZUJhcnRpbWVvdXQpLCIubGctc3ViLWh0bWwiPT09dGhpcy5zLmFwcGVuZFN1Ykh0bWxUbyYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXtvLmFkZEh0bWwoZSl9KSxsKSx0aGlzLmFycm93RGlzYWJsZShlKSxuKXt2YXIgZj1lLTEsaD1lKzE7KDA9PT1lJiZyPT09cy0xfHxlPT09cy0xJiYwPT09cikmJihoPTAsZj1zLTEpLHQuZGVmYXVsdC5yZW1vdmVDbGFzcyhvLm91dGVyLnF1ZXJ5U2VsZWN0b3IoIi5sZy1wcmV2LXNsaWRlIiksImxnLXByZXYtc2xpZGUiKSx0LmRlZmF1bHQucmVtb3ZlQ2xhc3Moby5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctY3VycmVudCIpLCJsZy1jdXJyZW50IiksdC5kZWZhdWx0LnJlbW92ZUNsYXNzKG8ub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnLW5leHQtc2xpZGUiKSwibGctbmV4dC1zbGlkZSIpLHQuZGVmYXVsdC5hZGRDbGFzcyhvLl9fX3NsaWRlW2ZdLCJsZy1wcmV2LXNsaWRlIiksdC5kZWZhdWx0LmFkZENsYXNzKG8uX19fc2xpZGVbaF0sImxnLW5leHQtc2xpZGUiKSx0LmRlZmF1bHQuYWRkQ2xhc3Moby5fX19zbGlkZVtlXSwibGctY3VycmVudCIpfWVsc2V7dC5kZWZhdWx0LmFkZENsYXNzKG8ub3V0ZXIsImxnLW5vLXRyYW5zIik7Zm9yKHZhciBtPTA7bTx0aGlzLl9fX3NsaWRlLmxlbmd0aDttKyspdC5kZWZhdWx0LnJlbW92ZUNsYXNzKHRoaXMuX19fc2xpZGVbbV0sImxnLXByZXYtc2xpZGUiKSx0LmRlZmF1bHQucmVtb3ZlQ2xhc3ModGhpcy5fX19zbGlkZVttXSwibGctbmV4dC1zbGlkZSIpO2U8cj8oYz0hMCwwIT09ZXx8ciE9PXMtMXx8aXx8KGM9ITEsdT0hMCkpOmU+ciYmKHU9ITAsZSE9PXMtMXx8MCE9PXJ8fGl8fChjPSEwLHU9ITEpKSxjPyh0LmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5fX19zbGlkZVtlXSwibGctcHJldi1zbGlkZSIpLHQuZGVmYXVsdC5hZGRDbGFzcyh0aGlzLl9fX3NsaWRlW3JdLCJsZy1uZXh0LXNsaWRlIikpOnUmJih0LmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5fX19zbGlkZVtlXSwibGctbmV4dC1zbGlkZSIpLHQuZGVmYXVsdC5hZGRDbGFzcyh0aGlzLl9fX3NsaWRlW3JdLCJsZy1wcmV2LXNsaWRlIikpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5kZWZhdWx0LnJlbW92ZUNsYXNzKG8ub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnLWN1cnJlbnQiKSwibGctY3VycmVudCIpLHQuZGVmYXVsdC5hZGRDbGFzcyhvLl9fX3NsaWRlW2VdLCJsZy1jdXJyZW50IiksdC5kZWZhdWx0LnJlbW92ZUNsYXNzKG8ub3V0ZXIsImxnLW5vLXRyYW5zIil9KSw1MCl9by5sR2FsbGVyeU9uPyhzZXRUaW1lb3V0KChmdW5jdGlvbigpe28ubG9hZENvbnRlbnQoZSwhMCwwKX0pLHRoaXMucy5zcGVlZCs1MCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtvLmxnQnVzeT0hMSx0LmRlZmF1bHQudHJpZ2dlcihvLmVsLCJvbkFmdGVyU2xpZGUiLHtwcmV2SW5kZXg6cixpbmRleDplLGZyb21Ub3VjaDpuLGZyb21UaHVtYjppfSl9KSx0aGlzLnMuc3BlZWQpKTooby5sb2FkQ29udGVudChlLCEwLG8ucy5iYWNrZHJvcER1cmF0aW9uKSxvLmxnQnVzeT0hMSx0LmRlZmF1bHQudHJpZ2dlcihvLmVsLCJvbkFmdGVyU2xpZGUiLHtwcmV2SW5kZXg6cixpbmRleDplLGZyb21Ub3VjaDpuLGZyb21UaHVtYjppfSkpLG8ubEdhbGxlcnlPbj0hMCx0aGlzLnMuY291bnRlciYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxnLWNvdW50ZXItY3VycmVudCIpJiYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxnLWNvdW50ZXItY3VycmVudCIpLmlubmVySFRNTD1lKzEpfX19LGEucHJvdG90eXBlLmdvVG9OZXh0U2xpZGU9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztuLmxnQnVzeXx8KG4uaW5kZXgrMTxuLl9fX3NsaWRlLmxlbmd0aD8obi5pbmRleCsrLHQuZGVmYXVsdC50cmlnZ2VyKG4uZWwsIm9uQmVmb3JlTmV4dFNsaWRlIix7aW5kZXg6bi5pbmRleH0pLG4uc2xpZGUobi5pbmRleCxlLCExKSk6bi5zLmxvb3A/KG4uaW5kZXg9MCx0LmRlZmF1bHQudHJpZ2dlcihuLmVsLCJvbkJlZm9yZU5leHRTbGlkZSIse2luZGV4Om4uaW5kZXh9KSxuLnNsaWRlKG4uaW5kZXgsZSwhMSkpOm4ucy5zbGlkZUVuZEFuaW1hdG9pbiYmKHQuZGVmYXVsdC5hZGRDbGFzcyhuLm91dGVyLCJsZy1yaWdodC1lbmQiKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuZGVmYXVsdC5yZW1vdmVDbGFzcyhuLm91dGVyLCJsZy1yaWdodC1lbmQiKX0pLDQwMCkpKX0sYS5wcm90b3R5cGUuZ29Ub1ByZXZTbGlkZT1mdW5jdGlvbihlKXt2YXIgbj10aGlzO24ubGdCdXN5fHwobi5pbmRleD4wPyhuLmluZGV4LS0sdC5kZWZhdWx0LnRyaWdnZXIobi5lbCwib25CZWZvcmVQcmV2U2xpZGUiLHtpbmRleDpuLmluZGV4LGZyb21Ub3VjaDplfSksbi5zbGlkZShuLmluZGV4LGUsITEpKTpuLnMubG9vcD8obi5pbmRleD1uLml0ZW1zLmxlbmd0aC0xLHQuZGVmYXVsdC50cmlnZ2VyKG4uZWwsIm9uQmVmb3JlUHJldlNsaWRlIix7aW5kZXg6bi5pbmRleCxmcm9tVG91Y2g6ZX0pLG4uc2xpZGUobi5pbmRleCxlLCExKSk6bi5zLnNsaWRlRW5kQW5pbWF0b2luJiYodC5kZWZhdWx0LmFkZENsYXNzKG4ub3V0ZXIsImxnLWxlZnQtZW5kIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LmRlZmF1bHQucmVtb3ZlQ2xhc3Mobi5vdXRlciwibGctbGVmdC1lbmQiKX0pLDQwMCkpKX0sYS5wcm90b3R5cGUua2V5UHJlc3M9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuaXRlbXMubGVuZ3RoPjEmJnQuZGVmYXVsdC5vbih3aW5kb3csImtleXVwLmxnIiwoZnVuY3Rpb24odCl7ZS5pdGVtcy5sZW5ndGg+MSYmKDM3PT09dC5rZXlDb2RlJiYodC5wcmV2ZW50RGVmYXVsdCgpLGUuZ29Ub1ByZXZTbGlkZSgpKSwzOT09PXQua2V5Q29kZSYmKHQucHJldmVudERlZmF1bHQoKSxlLmdvVG9OZXh0U2xpZGUoKSkpfSkpLHQuZGVmYXVsdC5vbih3aW5kb3csImtleWRvd24ubGciLChmdW5jdGlvbihuKXshMD09PWUucy5lc2NLZXkmJjI3PT09bi5rZXlDb2RlJiYobi5wcmV2ZW50RGVmYXVsdCgpLHQuZGVmYXVsdC5oYXNDbGFzcyhlLm91dGVyLCJsZy10aHVtYi1vcGVuIik/dC5kZWZhdWx0LnJlbW92ZUNsYXNzKGUub3V0ZXIsImxnLXRodW1iLW9wZW4iKTplLmRlc3Ryb3koKSl9KSl9LGEucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0LmRlZmF1bHQub24odGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctcHJldiIpLCJjbGljay5sZyIsKGZ1bmN0aW9uKCl7ZS5nb1RvUHJldlNsaWRlKCl9KSksdC5kZWZhdWx0Lm9uKHRoaXMub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnLW5leHQiKSwiY2xpY2subGciLChmdW5jdGlvbigpe2UuZ29Ub05leHRTbGlkZSgpfSkpfSxhLnByb3RvdHlwZS5hcnJvd0Rpc2FibGU9ZnVuY3Rpb24oZSl7aWYoIXRoaXMucy5sb29wJiZ0aGlzLnMuaGlkZUNvbnRyb2xPbkVuZCl7dmFyIG49dGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctbmV4dCIpLGk9dGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctcHJldiIpO2UrMTx0aGlzLl9fX3NsaWRlLmxlbmd0aD8obi5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIiksdC5kZWZhdWx0LnJlbW92ZUNsYXNzKG4sImRpc2FibGVkIikpOihuLnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCJkaXNhYmxlZCIpLHQuZGVmYXVsdC5hZGRDbGFzcyhuLCJkaXNhYmxlZCIpKSxlPjA/KGkucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpLHQuZGVmYXVsdC5yZW1vdmVDbGFzcyhpLCJkaXNhYmxlZCIpKTooaS5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwiZGlzYWJsZWQiKSx0LmRlZmF1bHQuYWRkQ2xhc3MoaSwiZGlzYWJsZWQiKSl9fSxhLnByb3RvdHlwZS5zZXRUcmFuc2xhdGU9ZnVuY3Rpb24oZSxuLGkpe3RoaXMucy51c2VMZWZ0P2Uuc3R5bGUubGVmdD1uOnQuZGVmYXVsdC5zZXRWZW5kb3IoZSwiVHJhbnNmb3JtIiwidHJhbnNsYXRlM2QoIituKyJweCwgIitpKyJweCwgMHB4KSIpfSxhLnByb3RvdHlwZS50b3VjaE1vdmU9ZnVuY3Rpb24oZSxuKXt2YXIgaT1uLWU7TWF0aC5hYnMoaSk+MTUmJih0LmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5vdXRlciwibGctZHJhZ2dpbmciKSx0aGlzLnNldFRyYW5zbGF0ZSh0aGlzLl9fX3NsaWRlW3RoaXMuaW5kZXhdLGksMCksdGhpcy5zZXRUcmFuc2xhdGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmxnLXByZXYtc2xpZGUiKSwtdGhpcy5fX19zbGlkZVt0aGlzLmluZGV4XS5jbGllbnRXaWR0aCtpLDApLHRoaXMuc2V0VHJhbnNsYXRlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sZy1uZXh0LXNsaWRlIiksdGhpcy5fX19zbGlkZVt0aGlzLmluZGV4XS5jbGllbnRXaWR0aCtpLDApKX0sYS5wcm90b3R5cGUudG91Y2hFbmQ9ZnVuY3Rpb24oZSl7dmFyIG49dGhpczsibGctc2xpZGUiIT09bi5zLm1vZGUmJnQuZGVmYXVsdC5hZGRDbGFzcyhuLm91dGVyLCJsZy1zbGlkZSIpO2Zvcih2YXIgaT0wO2k8dGhpcy5fX19zbGlkZS5sZW5ndGg7aSsrKXQuZGVmYXVsdC5oYXNDbGFzcyh0aGlzLl9fX3NsaWRlW2ldLCJsZy1jdXJyZW50Iil8fHQuZGVmYXVsdC5oYXNDbGFzcyh0aGlzLl9fX3NsaWRlW2ldLCJsZy1wcmV2LXNsaWRlIil8fHQuZGVmYXVsdC5oYXNDbGFzcyh0aGlzLl9fX3NsaWRlW2ldLCJsZy1uZXh0LXNsaWRlIil8fCh0aGlzLl9fX3NsaWRlW2ldLnN0eWxlLm9wYWNpdHk9IjAiKTtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuZGVmYXVsdC5yZW1vdmVDbGFzcyhuLm91dGVyLCJsZy1kcmFnZ2luZyIpLGU8MCYmTWF0aC5hYnMoZSk+bi5zLnN3aXBlVGhyZXNob2xkP24uZ29Ub05leHRTbGlkZSghMCk6ZT4wJiZNYXRoLmFicyhlKT5uLnMuc3dpcGVUaHJlc2hvbGQ/bi5nb1RvUHJldlNsaWRlKCEwKTpNYXRoLmFicyhlKTw1JiZ0LmRlZmF1bHQudHJpZ2dlcihuLmVsLCJvblNsaWRlQ2xpY2siKTtmb3IodmFyIGk9MDtpPG4uX19fc2xpZGUubGVuZ3RoO2krKyluLl9fX3NsaWRlW2ldLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKX0pKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuZGVmYXVsdC5oYXNDbGFzcyhuLm91dGVyLCJsZy1kcmFnZ2luZyIpfHwibGctc2xpZGUiPT09bi5zLm1vZGV8fHQuZGVmYXVsdC5yZW1vdmVDbGFzcyhuLm91dGVyLCJsZy1zbGlkZSIpfSksbi5zLnNwZWVkKzEwMCl9LGEucHJvdG90eXBlLmVuYWJsZVN3aXBlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPTAsaT0wLHI9ITE7aWYoZS5zLmVuYWJsZVN3aXBlJiZlLmlzVG91Y2gmJmUuZG9Dc3MoKSl7Zm9yKHZhciBhPTA7YTxlLl9fX3NsaWRlLmxlbmd0aDthKyspdC5kZWZhdWx0Lm9uKGUuX19fc2xpZGVbYV0sInRvdWNoc3RhcnQubGciLChmdW5jdGlvbihpKXt0LmRlZmF1bHQuaGFzQ2xhc3MoZS5vdXRlciwibGctem9vbWVkIil8fGUubGdCdXN5fHwoaS5wcmV2ZW50RGVmYXVsdCgpLGUubWFuYWdlU3dpcGVDbGFzcygpLG49aS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYKX0pKTtmb3IodmFyIG89MDtvPGUuX19fc2xpZGUubGVuZ3RoO28rKyl0LmRlZmF1bHQub24oZS5fX19zbGlkZVtvXSwidG91Y2htb3ZlLmxnIiwoZnVuY3Rpb24oYSl7dC5kZWZhdWx0Lmhhc0NsYXNzKGUub3V0ZXIsImxnLXpvb21lZCIpfHwoYS5wcmV2ZW50RGVmYXVsdCgpLGk9YS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYLGUudG91Y2hNb3ZlKG4saSkscj0hMCl9KSk7Zm9yKHZhciBzPTA7czxlLl9fX3NsaWRlLmxlbmd0aDtzKyspdC5kZWZhdWx0Lm9uKGUuX19fc2xpZGVbc10sInRvdWNoZW5kLmxnIiwoZnVuY3Rpb24oKXt0LmRlZmF1bHQuaGFzQ2xhc3MoZS5vdXRlciwibGctem9vbWVkIil8fChyPyhyPSExLGUudG91Y2hFbmQoaS1uKSk6dC5kZWZhdWx0LnRyaWdnZXIoZS5lbCwib25TbGlkZUNsaWNrIikpfSkpfX0sYS5wcm90b3R5cGUuZW5hYmxlRHJhZz1mdW5jdGlvbigpe3ZhciBlPXRoaXMsbj0wLGk9MCxyPSExLGE9ITE7aWYoZS5zLmVuYWJsZURyYWcmJiFlLmlzVG91Y2gmJmUuZG9Dc3MoKSl7Zm9yKHZhciBvPTA7bzxlLl9fX3NsaWRlLmxlbmd0aDtvKyspdC5kZWZhdWx0Lm9uKGUuX19fc2xpZGVbb10sIm1vdXNlZG93bi5sZyIsKGZ1bmN0aW9uKGkpe3QuZGVmYXVsdC5oYXNDbGFzcyhlLm91dGVyLCJsZy16b29tZWQiKXx8KHQuZGVmYXVsdC5oYXNDbGFzcyhpLnRhcmdldCwibGctb2JqZWN0Iil8fHQuZGVmYXVsdC5oYXNDbGFzcyhpLnRhcmdldCwibGctdmlkZW8tcGxheSIpKSYmKGkucHJldmVudERlZmF1bHQoKSxlLmxnQnVzeXx8KGUubWFuYWdlU3dpcGVDbGFzcygpLG49aS5wYWdlWCxyPSEwLGUub3V0ZXIuc2Nyb2xsTGVmdCs9MSxlLm91dGVyLnNjcm9sbExlZnQtPTEsdC5kZWZhdWx0LnJlbW92ZUNsYXNzKGUub3V0ZXIsImxnLWdyYWIiKSx0LmRlZmF1bHQuYWRkQ2xhc3MoZS5vdXRlciwibGctZ3JhYmJpbmciKSx0LmRlZmF1bHQudHJpZ2dlcihlLmVsLCJvbkRyYWdzdGFydCIpKSl9KSk7dC5kZWZhdWx0Lm9uKHdpbmRvdywibW91c2Vtb3ZlLmxnIiwoZnVuY3Rpb24obyl7ciYmKGE9ITAsaT1vLnBhZ2VYLGUudG91Y2hNb3ZlKG4saSksdC5kZWZhdWx0LnRyaWdnZXIoZS5lbCwib25EcmFnbW92ZSIpKX0pKSx0LmRlZmF1bHQub24od2luZG93LCJtb3VzZXVwLmxnIiwoZnVuY3Rpb24obyl7YT8oYT0hMSxlLnRvdWNoRW5kKGktbiksdC5kZWZhdWx0LnRyaWdnZXIoZS5lbCwib25EcmFnZW5kIikpOih0LmRlZmF1bHQuaGFzQ2xhc3Moby50YXJnZXQsImxnLW9iamVjdCIpfHx0LmRlZmF1bHQuaGFzQ2xhc3Moby50YXJnZXQsImxnLXZpZGVvLXBsYXkiKSkmJnQuZGVmYXVsdC50cmlnZ2VyKGUuZWwsIm9uU2xpZGVDbGljayIpLHImJihyPSExLHQuZGVmYXVsdC5yZW1vdmVDbGFzcyhlLm91dGVyLCJsZy1ncmFiYmluZyIpLHQuZGVmYXVsdC5hZGRDbGFzcyhlLm91dGVyLCJsZy1ncmFiIikpfSkpfX0sYS5wcm90b3R5cGUubWFuYWdlU3dpcGVDbGFzcz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuaW5kZXgrMSxuPXRoaXMuaW5kZXgtMSxpPXRoaXMuX19fc2xpZGUubGVuZ3RoO3RoaXMucy5sb29wJiYoMD09PXRoaXMuaW5kZXg/bj1pLTE6dGhpcy5pbmRleD09PWktMSYmKGU9MCkpO2Zvcih2YXIgcj0wO3I8dGhpcy5fX19zbGlkZS5sZW5ndGg7cisrKXQuZGVmYXVsdC5yZW1vdmVDbGFzcyh0aGlzLl9fX3NsaWRlW3JdLCJsZy1uZXh0LXNsaWRlIiksdC5kZWZhdWx0LnJlbW92ZUNsYXNzKHRoaXMuX19fc2xpZGVbcl0sImxnLXByZXYtc2xpZGUiKTtuPi0xJiZ0LmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5fX19zbGlkZVtuXSwibGctcHJldi1zbGlkZSIpLHQuZGVmYXVsdC5hZGRDbGFzcyh0aGlzLl9fX3NsaWRlW2VdLCJsZy1uZXh0LXNsaWRlIil9LGEucHJvdG90eXBlLm1vdXNld2hlZWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3QuZGVmYXVsdC5vbihlLm91dGVyLCJtb3VzZXdoZWVsLmxnIiwoZnVuY3Rpb24odCl7dC5kZWx0YVkmJih0LmRlbHRhWT4wP2UuZ29Ub1ByZXZTbGlkZSgpOmUuZ29Ub05leHRTbGlkZSgpLHQucHJldmVudERlZmF1bHQoKSl9KSl9LGEucHJvdG90eXBlLmNsb3NlR2FsbGVyeT1mdW5jdGlvbigpe3ZhciBlPXRoaXMsbj0hMTt0LmRlZmF1bHQub24odGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctY2xvc2UiKSwiY2xpY2subGciLChmdW5jdGlvbigpe2UuZGVzdHJveSgpfSkpLGUucy5jbG9zYWJsZSYmKHQuZGVmYXVsdC5vbihlLm91dGVyLCJtb3VzZWRvd24ubGciLChmdW5jdGlvbihlKXtuPSEhKHQuZGVmYXVsdC5oYXNDbGFzcyhlLnRhcmdldCwibGctb3V0ZXIiKXx8dC5kZWZhdWx0Lmhhc0NsYXNzKGUudGFyZ2V0LCJsZy1pdGVtIil8fHQuZGVmYXVsdC5oYXNDbGFzcyhlLnRhcmdldCwibGctaW1nLXdyYXAiKSl9KSksdC5kZWZhdWx0Lm9uKGUub3V0ZXIsIm1vdXNldXAubGciLChmdW5jdGlvbihpKXsodC5kZWZhdWx0Lmhhc0NsYXNzKGkudGFyZ2V0LCJsZy1vdXRlciIpfHx0LmRlZmF1bHQuaGFzQ2xhc3MoaS50YXJnZXQsImxnLWl0ZW0iKXx8dC5kZWZhdWx0Lmhhc0NsYXNzKGkudGFyZ2V0LCJsZy1pbWctd3JhcCIpJiZuKSYmKHQuZGVmYXVsdC5oYXNDbGFzcyhlLm91dGVyLCJsZy1kcmFnZ2luZyIpfHxlLmRlc3Ryb3koKSl9KSkpfSxhLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7aWYoZXx8dC5kZWZhdWx0LnRyaWdnZXIobi5lbCwib25CZWZvcmVDbG9zZSIpLGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wPW4ucHJldlNjcm9sbFRvcCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wPW4ucHJldlNjcm9sbFRvcCxlKXtpZighbi5zLmR5bmFtaWMpZm9yKHZhciBpPTA7aTx0aGlzLml0ZW1zLmxlbmd0aDtpKyspdC5kZWZhdWx0Lm9mZih0aGlzLml0ZW1zW2ldLCIubGciKSx0LmRlZmF1bHQub2ZmKHRoaXMuaXRlbXNbaV0sIi5sZ2N1c3RvbSIpO3ZhciByPW4uZWwuZ2V0QXR0cmlidXRlKCJsZy11aWQiKTtkZWxldGUgd2luZG93LmxnRGF0YVtyXSxuLmVsLnJlbW92ZUF0dHJpYnV0ZSgibGctdWlkIil9Zm9yKHZhciBhIGluIHQuZGVmYXVsdC5vZmYodGhpcy5lbCwiLmxndG0iKSx3aW5kb3cubGdNb2R1bGVzKW4ubW9kdWxlc1thXSYmbi5tb2R1bGVzW2FdLmRlc3Ryb3koZSk7dGhpcy5sR2FsbGVyeU9uPSExLGNsZWFyVGltZW91dChuLmhpZGVCYXJ0aW1lb3V0KSx0aGlzLmhpZGVCYXJ0aW1lb3V0PSExLHQuZGVmYXVsdC5vZmYod2luZG93LCIubGciKSx0LmRlZmF1bHQucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctb24iKSx0LmRlZmF1bHQucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctZnJvbS1oYXNoIiksbi5vdXRlciYmdC5kZWZhdWx0LnJlbW92ZUNsYXNzKG4ub3V0ZXIsImxnLXZpc2libGUiKSx0LmRlZmF1bHQucmVtb3ZlQ2xhc3MoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmxnLWJhY2tkcm9wIiksImluIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0cnl7bi5vdXRlciYmbi5vdXRlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4ub3V0ZXIpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sZy1iYWNrZHJvcCIpJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubGctYmFja2Ryb3AiKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sZy1iYWNrZHJvcCIpKSxlfHx0LmRlZmF1bHQudHJpZ2dlcihuLmVsLCJvbkNsb3NlQWZ0ZXIiKSxuLmVsLmZvY3VzKCl9Y2F0Y2goZSl7fX0pLG4ucy5iYWNrZHJvcER1cmF0aW9uKzUwKX0sd2luZG93LmxpZ2h0R2FsbGVyeT1mdW5jdGlvbihlLHQpe2lmKGUpdHJ5e2lmKGUuZ2V0QXR0cmlidXRlKCJsZy11aWQiKSl3aW5kb3cubGdEYXRhW2UuZ2V0QXR0cmlidXRlKCJsZy11aWQiKV0uaW5pdCgpO2Vsc2V7dmFyIG49ImxnIit3aW5kb3cubGdEYXRhLnVpZCsrO3dpbmRvdy5sZ0RhdGFbbl09bmV3IGEoZSx0KSxlLnNldEF0dHJpYnV0ZSgibGctdWlkIixuKX19Y2F0Y2goZSl7Y29uc29sZS5lcnJvcigibGlnaHRHYWxsZXJ5IGhhcyBub3QgaW5pdGlhdGVkIHByb3Blcmx5IixlKX19fSx2b2lkIDA9PT0oYT0iZnVuY3Rpb24iPT10eXBlb2YgaT9pLmFwcGx5KHQscik6aSl8fChlLmV4cG9ydHM9YSl9LDc0MjExOmZ1bmN0aW9uKGUsdCl7IWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUpe3JldHVybiBuKGUpJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5mcm9tfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50b31mdW5jdGlvbiBpKGUpe2UucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChlKX1mdW5jdGlvbiByKGUpe3JldHVybiBudWxsIT1lfWZ1bmN0aW9uIGEoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4hdGhpc1tlXSYmKHRoaXNbZV09ITApfSkse30pfWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm4gTWF0aC5yb3VuZChlL3QpKnR9ZnVuY3Rpb24gbChlLHQpe3ZhciBuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT1lLm93bmVyRG9jdW1lbnQscj1pLmRvY3VtZW50RWxlbWVudCxhPXYoaSk7cmV0dXJuL3dlYmtpdC4qQ2hyb21lLipNb2JpbGUvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYoYS54PTApLHQ/bi50b3ArYS55LXIuY2xpZW50VG9wOm4ubGVmdCthLngtci5jbGllbnRMZWZ0fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiYhaXNOYU4oZSkmJmlzRmluaXRlKGUpfWZ1bmN0aW9uIGMoZSx0LG4pe24+MCYmKG0oZSx0KSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3AoZSx0KX0pLG4pKX1mdW5jdGlvbiBkKGUpe3JldHVybiBNYXRoLm1heChNYXRoLm1pbihlLDEwMCksMCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOltlXX1mdW5jdGlvbiBoKGUpe3ZhciB0PShlPVN0cmluZyhlKSkuc3BsaXQoIi4iKTtyZXR1cm4gdC5sZW5ndGg+MT90WzFdLmxlbmd0aDowfWZ1bmN0aW9uIG0oZSx0KXtlLmNsYXNzTGlzdCYmIS9ccy8udGVzdCh0KT9lLmNsYXNzTGlzdC5hZGQodCk6ZS5jbGFzc05hbWUrPSIgIit0fWZ1bmN0aW9uIHAoZSx0KXtlLmNsYXNzTGlzdCYmIS9ccy8udGVzdCh0KT9lLmNsYXNzTGlzdC5yZW1vdmUodCk6ZS5jbGFzc05hbWU9ZS5jbGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCIoXnxcXGIpIit0LnNwbGl0KCIgIikuam9pbigifCIpKyIoXFxifCQpIiwiZ2kiKSwiICIpfWZ1bmN0aW9uIGcoZSx0KXtyZXR1cm4gZS5jbGFzc0xpc3Q/ZS5jbGFzc0xpc3QuY29udGFpbnModCk6bmV3IFJlZ0V4cCgiXFxiIit0KyJcXGIiKS50ZXN0KGUuY2xhc3NOYW1lKX1mdW5jdGlvbiB2KGUpe3ZhciB0PXZvaWQgMCE9PXdpbmRvdy5wYWdlWE9mZnNldCxuPSJDU1MxQ29tcGF0Ij09PShlLmNvbXBhdE1vZGV8fCIiKTtyZXR1cm57eDp0P3dpbmRvdy5wYWdlWE9mZnNldDpuP2UuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ6ZS5ib2R5LnNjcm9sbExlZnQseTp0P3dpbmRvdy5wYWdlWU9mZnNldDpuP2UuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDplLmJvZHkuc2Nyb2xsVG9wfX1mdW5jdGlvbiB5KCl7cmV0dXJuIHdpbmRvdy5uYXZpZ2F0b3IucG9pbnRlckVuYWJsZWQ/e3N0YXJ0OiJwb2ludGVyZG93biIsbW92ZToicG9pbnRlcm1vdmUiLGVuZDoicG9pbnRlcnVwIn06d2luZG93Lm5hdmlnYXRvci5tc1BvaW50ZXJFbmFibGVkP3tzdGFydDoiTVNQb2ludGVyRG93biIsbW92ZToiTVNQb2ludGVyTW92ZSIsZW5kOiJNU1BvaW50ZXJVcCJ9OntzdGFydDoibW91c2Vkb3duIHRvdWNoc3RhcnQiLG1vdmU6Im1vdXNlbW92ZSB0b3VjaG1vdmUiLGVuZDoibW91c2V1cCB0b3VjaGVuZCJ9fWZ1bmN0aW9uIGIoKXt2YXIgZT0hMTt0cnl7dmFyIHQ9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7ZT0hMH19KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCx0KX1jYXRjaChlKXt9cmV0dXJuIGV9ZnVuY3Rpb24gdygpe3JldHVybiB3aW5kb3cuQ1NTJiZDU1Muc3VwcG9ydHMmJkNTUy5zdXBwb3J0cygidG91Y2gtYWN0aW9uIiwibm9uZSIpfWZ1bmN0aW9uIEMoZSx0KXtyZXR1cm4gMTAwLyh0LWUpfWZ1bmN0aW9uIEQoZSx0LG4pe3JldHVybiAxMDAqdC8oZVtuKzFdLWVbbl0pfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm4gRChlLGVbMF08MD90K01hdGguYWJzKGVbMF0pOnQtZVswXSwwKX1mdW5jdGlvbiBNKGUsdCl7cmV0dXJuIHQqKGVbMV0tZVswXSkvMTAwK2VbMF19ZnVuY3Rpb24gUyhlLHQpe2Zvcih2YXIgbj0xO2U+PXRbbl07KW4rPTE7cmV0dXJuIG59ZnVuY3Rpb24gayhlLHQsbil7aWYobj49ZS5zbGljZSgtMSlbMF0pcmV0dXJuIDEwMDt2YXIgaT1TKG4sZSkscj1lW2ktMV0sYT1lW2ldLG89dFtpLTFdLHM9dFtpXTtyZXR1cm4gbyt4KFtyLGFdLG4pL0MobyxzKX1mdW5jdGlvbiBUKGUsdCxuKXtpZihuPj0xMDApcmV0dXJuIGUuc2xpY2UoLTEpWzBdO3ZhciBpPVMobix0KSxyPWVbaS0xXSxhPWVbaV0sbz10W2ktMV07cmV0dXJuIE0oW3IsYV0sKG4tbykqQyhvLHRbaV0pKX1mdW5jdGlvbiBFKGUsdCxuLGkpe2lmKDEwMD09PWkpcmV0dXJuIGk7dmFyIHI9UyhpLGUpLGE9ZVtyLTFdLG89ZVtyXTtyZXR1cm4gbj9pLWE+KG8tYSkvMj9vOmE6dFtyLTFdP2Vbci0xXStzKGktZVtyLTFdLHRbci0xXSk6aX12YXIgXyxBO2UuUGlwc01vZGU9dm9pZCAwLChBPWUuUGlwc01vZGV8fChlLlBpcHNNb2RlPXt9KSkuUmFuZ2U9InJhbmdlIixBLlN0ZXBzPSJzdGVwcyIsQS5Qb3NpdGlvbnM9InBvc2l0aW9ucyIsQS5Db3VudD0iY291bnQiLEEuVmFsdWVzPSJ2YWx1ZXMiLGUuUGlwc1R5cGU9dm9pZCAwLChfPWUuUGlwc1R5cGV8fChlLlBpcHNUeXBlPXt9KSlbXy5Ob25lPS0xXT0iTm9uZSIsX1tfLk5vVmFsdWU9MF09Ik5vVmFsdWUiLF9bXy5MYXJnZVZhbHVlPTFdPSJMYXJnZVZhbHVlIixfW18uU21hbGxWYWx1ZT0yXT0iU21hbGxWYWx1ZSI7dmFyIE49ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxuKXt2YXIgaTt0aGlzLnhQY3Q9W10sdGhpcy54VmFsPVtdLHRoaXMueFN0ZXBzPVtdLHRoaXMueE51bVN0ZXBzPVtdLHRoaXMueEhpZ2hlc3RDb21wbGV0ZVN0ZXA9W10sdGhpcy54U3RlcHM9W258fCExXSx0aGlzLnhOdW1TdGVwcz1bITFdLHRoaXMuc25hcD10O3ZhciByPVtdO2ZvcihPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyLnB1c2goW2YoZVt0XSksdF0pfSkpLHIuc29ydCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVswXVswXS10WzBdWzBdfSkpLGk9MDtpPHIubGVuZ3RoO2krKyl0aGlzLmhhbmRsZUVudHJ5UG9pbnQocltpXVsxXSxyW2ldWzBdKTtmb3IodGhpcy54TnVtU3RlcHM9dGhpcy54U3RlcHMuc2xpY2UoMCksaT0wO2k8dGhpcy54TnVtU3RlcHMubGVuZ3RoO2krKyl0aGlzLmhhbmRsZVN0ZXBQb2ludChpLHRoaXMueE51bVN0ZXBzW2ldKX1yZXR1cm4gZS5wcm90b3R5cGUuZ2V0RGlzdGFuY2U9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MDtuPHRoaXMueE51bVN0ZXBzLmxlbmd0aC0xO24rKyl0W25dPUQodGhpcy54VmFsLGUsbik7cmV0dXJuIHR9LGUucHJvdG90eXBlLmdldEFic29sdXRlRGlzdGFuY2U9ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLHI9MDtpZihlPHRoaXMueFBjdFt0aGlzLnhQY3QubGVuZ3RoLTFdKWZvcig7ZT50aGlzLnhQY3RbcisxXTspcisrO2Vsc2UgZT09PXRoaXMueFBjdFt0aGlzLnhQY3QubGVuZ3RoLTFdJiYocj10aGlzLnhQY3QubGVuZ3RoLTIpO258fGUhPT10aGlzLnhQY3RbcisxXXx8cisrLG51bGw9PT10JiYodD1bXSk7dmFyIGE9MSxvPXRbcl0scz0wLGw9MCx1PTAsYz0wO2ZvcihpPW4/KGUtdGhpcy54UGN0W3JdKS8odGhpcy54UGN0W3IrMV0tdGhpcy54UGN0W3JdKToodGhpcy54UGN0W3IrMV0tZSkvKHRoaXMueFBjdFtyKzFdLXRoaXMueFBjdFtyXSk7bz4wOylzPXRoaXMueFBjdFtyKzErY10tdGhpcy54UGN0W3IrY10sdFtyK2NdKmErMTAwLTEwMCppPjEwMD8obD1zKmksYT0oby0xMDAqaSkvdFtyK2NdLGk9MSk6KGw9dFtyK2NdKnMvMTAwKmEsYT0wKSxuPyh1LT1sLHRoaXMueFBjdC5sZW5ndGgrYz49MSYmYy0tKToodSs9bCx0aGlzLnhQY3QubGVuZ3RoLWM+PTEmJmMrKyksbz10W3IrY10qYTtyZXR1cm4gZSt1fSxlLnByb3RvdHlwZS50b1N0ZXBwaW5nPWZ1bmN0aW9uKGUpe3JldHVybiBlPWsodGhpcy54VmFsLHRoaXMueFBjdCxlKX0sZS5wcm90b3R5cGUuZnJvbVN0ZXBwaW5nPWZ1bmN0aW9uKGUpe3JldHVybiBUKHRoaXMueFZhbCx0aGlzLnhQY3QsZSl9LGUucHJvdG90eXBlLmdldFN0ZXA9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9RSh0aGlzLnhQY3QsdGhpcy54U3RlcHMsdGhpcy5zbmFwLGUpfSxlLnByb3RvdHlwZS5nZXREZWZhdWx0U3RlcD1mdW5jdGlvbihlLHQsbil7dmFyIGk9UyhlLHRoaXMueFBjdCk7cmV0dXJuKDEwMD09PWV8fHQmJmU9PT10aGlzLnhQY3RbaS0xXSkmJihpPU1hdGgubWF4KGktMSwxKSksKHRoaXMueFZhbFtpXS10aGlzLnhWYWxbaS0xXSkvbn0sZS5wcm90b3R5cGUuZ2V0TmVhcmJ5U3RlcHM9ZnVuY3Rpb24oZSl7dmFyIHQ9UyhlLHRoaXMueFBjdCk7cmV0dXJue3N0ZXBCZWZvcmU6e3N0YXJ0VmFsdWU6dGhpcy54VmFsW3QtMl0sc3RlcDp0aGlzLnhOdW1TdGVwc1t0LTJdLGhpZ2hlc3RTdGVwOnRoaXMueEhpZ2hlc3RDb21wbGV0ZVN0ZXBbdC0yXX0sdGhpc1N0ZXA6e3N0YXJ0VmFsdWU6dGhpcy54VmFsW3QtMV0sc3RlcDp0aGlzLnhOdW1TdGVwc1t0LTFdLGhpZ2hlc3RTdGVwOnRoaXMueEhpZ2hlc3RDb21wbGV0ZVN0ZXBbdC0xXX0sc3RlcEFmdGVyOntzdGFydFZhbHVlOnRoaXMueFZhbFt0XSxzdGVwOnRoaXMueE51bVN0ZXBzW3RdLGhpZ2hlc3RTdGVwOnRoaXMueEhpZ2hlc3RDb21wbGV0ZVN0ZXBbdF19fX0sZS5wcm90b3R5cGUuY291bnRTdGVwRGVjaW1hbHM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnhOdW1TdGVwcy5tYXAoaCk7cmV0dXJuIE1hdGgubWF4LmFwcGx5KG51bGwsZSl9LGUucHJvdG90eXBlLmhhc05vU2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnhWYWxbMF09PT10aGlzLnhWYWxbdGhpcy54VmFsLmxlbmd0aC0xXX0sZS5wcm90b3R5cGUuY29udmVydD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5nZXRTdGVwKHRoaXMudG9TdGVwcGluZyhlKSl9LGUucHJvdG90eXBlLmhhbmRsZUVudHJ5UG9pbnQ9ZnVuY3Rpb24oZSx0KXt2YXIgbjtpZighdShuPSJtaW4iPT09ZT8wOiJtYXgiPT09ZT8xMDA6cGFyc2VGbG9hdChlKSl8fCF1KHRbMF0pKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ3JhbmdlJyB2YWx1ZSBpc24ndCBudW1lcmljLiIpO3RoaXMueFBjdC5wdXNoKG4pLHRoaXMueFZhbC5wdXNoKHRbMF0pO3ZhciBpPU51bWJlcih0WzFdKTtuP3RoaXMueFN0ZXBzLnB1c2goIWlzTmFOKGkpJiZpKTppc05hTihpKXx8KHRoaXMueFN0ZXBzWzBdPWkpLHRoaXMueEhpZ2hlc3RDb21wbGV0ZVN0ZXAucHVzaCgwKX0sZS5wcm90b3R5cGUuaGFuZGxlU3RlcFBvaW50PWZ1bmN0aW9uKGUsdCl7aWYodClpZih0aGlzLnhWYWxbZV0hPT10aGlzLnhWYWxbZSsxXSl7dGhpcy54U3RlcHNbZV09RChbdGhpcy54VmFsW2VdLHRoaXMueFZhbFtlKzFdXSx0LDApL0ModGhpcy54UGN0W2VdLHRoaXMueFBjdFtlKzFdKTt2YXIgbj0odGhpcy54VmFsW2UrMV0tdGhpcy54VmFsW2VdKS90aGlzLnhOdW1TdGVwc1tlXSxpPU1hdGguY2VpbChOdW1iZXIobi50b0ZpeGVkKDMpKS0xKSxyPXRoaXMueFZhbFtlXSt0aGlzLnhOdW1TdGVwc1tlXSppO3RoaXMueEhpZ2hlc3RDb21wbGV0ZVN0ZXBbZV09cn1lbHNlIHRoaXMueFN0ZXBzW2VdPXRoaXMueEhpZ2hlc3RDb21wbGV0ZVN0ZXBbZV09dGhpcy54VmFsW2VdfSxlfSgpLE89e3RvOmZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lPyIiOmUudG9GaXhlZCgyKX0sZnJvbTpOdW1iZXJ9LFA9e3RhcmdldDoidGFyZ2V0IixiYXNlOiJiYXNlIixvcmlnaW46Im9yaWdpbiIsaGFuZGxlOiJoYW5kbGUiLGhhbmRsZUxvd2VyOiJoYW5kbGUtbG93ZXIiLGhhbmRsZVVwcGVyOiJoYW5kbGUtdXBwZXIiLHRvdWNoQXJlYToidG91Y2gtYXJlYSIsaG9yaXpvbnRhbDoiaG9yaXpvbnRhbCIsdmVydGljYWw6InZlcnRpY2FsIixiYWNrZ3JvdW5kOiJiYWNrZ3JvdW5kIixjb25uZWN0OiJjb25uZWN0Iixjb25uZWN0czoiY29ubmVjdHMiLGx0cjoibHRyIixydGw6InJ0bCIsdGV4dERpcmVjdGlvbkx0cjoidHh0LWRpci1sdHIiLHRleHREaXJlY3Rpb25SdGw6InR4dC1kaXItcnRsIixkcmFnZ2FibGU6ImRyYWdnYWJsZSIsZHJhZzoic3RhdGUtZHJhZyIsdGFwOiJzdGF0ZS10YXAiLGFjdGl2ZToiYWN0aXZlIix0b29sdGlwOiJ0b29sdGlwIixwaXBzOiJwaXBzIixwaXBzSG9yaXpvbnRhbDoicGlwcy1ob3Jpem9udGFsIixwaXBzVmVydGljYWw6InBpcHMtdmVydGljYWwiLG1hcmtlcjoibWFya2VyIixtYXJrZXJIb3Jpem9udGFsOiJtYXJrZXItaG9yaXpvbnRhbCIsbWFya2VyVmVydGljYWw6Im1hcmtlci12ZXJ0aWNhbCIsbWFya2VyTm9ybWFsOiJtYXJrZXItbm9ybWFsIixtYXJrZXJMYXJnZToibWFya2VyLWxhcmdlIixtYXJrZXJTdWI6Im1hcmtlci1zdWIiLHZhbHVlOiJ2YWx1ZSIsdmFsdWVIb3Jpem9udGFsOiJ2YWx1ZS1ob3Jpem9udGFsIix2YWx1ZVZlcnRpY2FsOiJ2YWx1ZS12ZXJ0aWNhbCIsdmFsdWVOb3JtYWw6InZhbHVlLW5vcm1hbCIsdmFsdWVMYXJnZToidmFsdWUtbGFyZ2UiLHZhbHVlU3ViOiJ2YWx1ZS1zdWIifSxqPXt0b29sdGlwczoiLl9fdG9vbHRpcHMiLGFyaWE6Ii5fX2FyaWEifTtmdW5jdGlvbiBMKGUsdCl7aWYoIXUodCkpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnc3RlcCcgaXMgbm90IG51bWVyaWMuIik7ZS5zaW5nbGVTdGVwPXR9ZnVuY3Rpb24gSChlLHQpe2lmKCF1KHQpKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ2tleWJvYXJkUGFnZU11bHRpcGxpZXInIGlzIG5vdCBudW1lcmljLiIpO2Uua2V5Ym9hcmRQYWdlTXVsdGlwbGllcj10fWZ1bmN0aW9uIEkoZSx0KXtpZighdSh0KSl0aHJvdyBuZXcgRXJyb3IoIm5vVWlTbGlkZXI6ICdrZXlib2FyZE11bHRpcGxpZXInIGlzIG5vdCBudW1lcmljLiIpO2Uua2V5Ym9hcmRNdWx0aXBsaWVyPXR9ZnVuY3Rpb24gRihlLHQpe2lmKCF1KHQpKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ2tleWJvYXJkRGVmYXVsdFN0ZXAnIGlzIG5vdCBudW1lcmljLiIpO2Uua2V5Ym9hcmREZWZhdWx0U3RlcD10fWZ1bmN0aW9uIFYoZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIHR8fEFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAncmFuZ2UnIGlzIG5vdCBhbiBvYmplY3QuIik7aWYodm9pZCAwPT09dC5taW58fHZvaWQgMD09PXQubWF4KXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogTWlzc2luZyAnbWluJyBvciAnbWF4JyBpbiAncmFuZ2UnLiIpO2Uuc3BlY3RydW09bmV3IE4odCxlLnNuYXB8fCExLGUuc2luZ2xlU3RlcCl9ZnVuY3Rpb24gWShlLHQpe2lmKHQ9Zih0KSwhQXJyYXkuaXNBcnJheSh0KXx8IXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ3N0YXJ0JyBvcHRpb24gaXMgaW5jb3JyZWN0LiIpO2UuaGFuZGxlcz10Lmxlbmd0aCxlLnN0YXJ0PXR9ZnVuY3Rpb24gcShlLHQpe2lmKCJib29sZWFuIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnc25hcCcgb3B0aW9uIG11c3QgYmUgYSBib29sZWFuLiIpO2Uuc25hcD10fWZ1bmN0aW9uIHooZSx0KXtpZigiYm9vbGVhbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ2FuaW1hdGUnIG9wdGlvbiBtdXN0IGJlIGEgYm9vbGVhbi4iKTtlLmFuaW1hdGU9dH1mdW5jdGlvbiAkKGUsdCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ2FuaW1hdGlvbkR1cmF0aW9uJyBvcHRpb24gbXVzdCBiZSBhIG51bWJlci4iKTtlLmFuaW1hdGlvbkR1cmF0aW9uPXR9ZnVuY3Rpb24gQihlLHQpe3ZhciBuLGk9WyExXTtpZigibG93ZXIiPT09dD90PVshMCwhMV06InVwcGVyIj09PXQmJih0PVshMSwhMF0pLCEwPT09dHx8ITE9PT10KXtmb3Iobj0xO248ZS5oYW5kbGVzO24rKylpLnB1c2godCk7aS5wdXNoKCExKX1lbHNle2lmKCFBcnJheS5pc0FycmF5KHQpfHwhdC5sZW5ndGh8fHQubGVuZ3RoIT09ZS5oYW5kbGVzKzEpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnY29ubmVjdCcgb3B0aW9uIGRvZXNuJ3QgbWF0Y2ggaGFuZGxlIGNvdW50LiIpO2k9dH1lLmNvbm5lY3Q9aX1mdW5jdGlvbiBSKGUsdCl7c3dpdGNoKHQpe2Nhc2UiaG9yaXpvbnRhbCI6ZS5vcnQ9MDticmVhaztjYXNlInZlcnRpY2FsIjplLm9ydD0xO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnb3JpZW50YXRpb24nIG9wdGlvbiBpcyBpbnZhbGlkLiIpfX1mdW5jdGlvbiBVKGUsdCl7aWYoIXUodCkpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnbWFyZ2luJyBvcHRpb24gbXVzdCBiZSBudW1lcmljLiIpOzAhPT10JiYoZS5tYXJnaW49ZS5zcGVjdHJ1bS5nZXREaXN0YW5jZSh0KSl9ZnVuY3Rpb24gVyhlLHQpe2lmKCF1KHQpKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ2xpbWl0JyBvcHRpb24gbXVzdCBiZSBudW1lcmljLiIpO2lmKGUubGltaXQ9ZS5zcGVjdHJ1bS5nZXREaXN0YW5jZSh0KSwhZS5saW1pdHx8ZS5oYW5kbGVzPDIpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnbGltaXQnIG9wdGlvbiBpcyBvbmx5IHN1cHBvcnRlZCBvbiBsaW5lYXIgc2xpZGVycyB3aXRoIDIgb3IgbW9yZSBoYW5kbGVzLiIpfWZ1bmN0aW9uIEcoZSx0KXt2YXIgbjtpZighdSh0KSYmIUFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAncGFkZGluZycgb3B0aW9uIG11c3QgYmUgbnVtZXJpYyBvciBhcnJheSBvZiBleGFjdGx5IDIgbnVtYmVycy4iKTtpZihBcnJheS5pc0FycmF5KHQpJiYyIT09dC5sZW5ndGgmJiF1KHRbMF0pJiYhdSh0WzFdKSl0aHJvdyBuZXcgRXJyb3IoIm5vVWlTbGlkZXI6ICdwYWRkaW5nJyBvcHRpb24gbXVzdCBiZSBudW1lcmljIG9yIGFycmF5IG9mIGV4YWN0bHkgMiBudW1iZXJzLiIpO2lmKDAhPT10KXtmb3IoQXJyYXkuaXNBcnJheSh0KXx8KHQ9W3QsdF0pLGUucGFkZGluZz1bZS5zcGVjdHJ1bS5nZXREaXN0YW5jZSh0WzBdKSxlLnNwZWN0cnVtLmdldERpc3RhbmNlKHRbMV0pXSxuPTA7bjxlLnNwZWN0cnVtLnhOdW1TdGVwcy5sZW5ndGgtMTtuKyspaWYoZS5wYWRkaW5nWzBdW25dPDB8fGUucGFkZGluZ1sxXVtuXTwwKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ3BhZGRpbmcnIG9wdGlvbiBtdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyKHMpLiIpO3ZhciBpPXRbMF0rdFsxXSxyPWUuc3BlY3RydW0ueFZhbFswXTtpZihpLyhlLnNwZWN0cnVtLnhWYWxbZS5zcGVjdHJ1bS54VmFsLmxlbmd0aC0xXS1yKT4xKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ3BhZGRpbmcnIG9wdGlvbiBtdXN0IG5vdCBleGNlZWQgMTAwJSBvZiB0aGUgcmFuZ2UuIil9fWZ1bmN0aW9uIEsoZSx0KXtzd2l0Y2godCl7Y2FzZSJsdHIiOmUuZGlyPTA7YnJlYWs7Y2FzZSJydGwiOmUuZGlyPTE7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIm5vVWlTbGlkZXI6ICdkaXJlY3Rpb24nIG9wdGlvbiB3YXMgbm90IHJlY29nbml6ZWQuIil9fWZ1bmN0aW9uIEooZSx0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnYmVoYXZpb3VyJyBtdXN0IGJlIGEgc3RyaW5nIGNvbnRhaW5pbmcgb3B0aW9ucy4iKTt2YXIgbj10LmluZGV4T2YoInRhcCIpPj0wLGk9dC5pbmRleE9mKCJkcmFnIik+PTAscj10LmluZGV4T2YoImZpeGVkIik+PTAsYT10LmluZGV4T2YoInNuYXAiKT49MCxvPXQuaW5kZXhPZigiaG92ZXIiKT49MCxzPXQuaW5kZXhPZigidW5jb25zdHJhaW5lZCIpPj0wLGw9dC5pbmRleE9mKCJkcmFnLWFsbCIpPj0wO2lmKHIpe2lmKDIhPT1lLmhhbmRsZXMpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnZml4ZWQnIGJlaGF2aW91ciBtdXN0IGJlIHVzZWQgd2l0aCAyIGhhbmRsZXMiKTtVKGUsZS5zdGFydFsxXS1lLnN0YXJ0WzBdKX1pZihzJiYoZS5tYXJnaW58fGUubGltaXQpKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ3VuY29uc3RyYWluZWQnIGJlaGF2aW91ciBjYW5ub3QgYmUgdXNlZCB3aXRoIG1hcmdpbiBvciBsaW1pdCIpO2UuZXZlbnRzPXt0YXA6bnx8YSxkcmFnOmksZHJhZ0FsbDpsLGZpeGVkOnIsc25hcDphLGhvdmVyOm8sdW5jb25zdHJhaW5lZDpzfX1mdW5jdGlvbiBaKGUsdCl7aWYoITEhPT10KWlmKCEwPT09dHx8bih0KSl7ZS50b29sdGlwcz1bXTtmb3IodmFyIGk9MDtpPGUuaGFuZGxlcztpKyspZS50b29sdGlwcy5wdXNoKHQpfWVsc2V7aWYoKHQ9Zih0KSkubGVuZ3RoIT09ZS5oYW5kbGVzKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogbXVzdCBwYXNzIGEgZm9ybWF0dGVyIGZvciBhbGwgaGFuZGxlcy4iKTt0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2lmKCJib29sZWFuIiE9dHlwZW9mIGUmJiFuKGUpKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ3Rvb2x0aXBzJyBtdXN0IGJlIHBhc3NlZCBhIGZvcm1hdHRlciBvciAnZmFsc2UnLiIpfSkpLGUudG9vbHRpcHM9dH19ZnVuY3Rpb24gWChlLHQpe2lmKHQubGVuZ3RoIT09ZS5oYW5kbGVzKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogbXVzdCBwYXNzIGEgYXR0cmlidXRlcyBmb3IgYWxsIGhhbmRsZXMuIik7ZS5oYW5kbGVBdHRyaWJ1dGVzPXR9ZnVuY3Rpb24gUShlLHQpe2lmKCFuKHQpKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ2FyaWFGb3JtYXQnIHJlcXVpcmVzICd0bycgbWV0aG9kLiIpO2UuYXJpYUZvcm1hdD10fWZ1bmN0aW9uIGVlKGUsbil7aWYoIXQobikpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnZm9ybWF0JyByZXF1aXJlcyAndG8nIGFuZCAnZnJvbScgbWV0aG9kcy4iKTtlLmZvcm1hdD1ufWZ1bmN0aW9uIHRlKGUsdCl7aWYoImJvb2xlYW4iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIm5vVWlTbGlkZXI6ICdrZXlib2FyZFN1cHBvcnQnIG9wdGlvbiBtdXN0IGJlIGEgYm9vbGVhbi4iKTtlLmtleWJvYXJkU3VwcG9ydD10fWZ1bmN0aW9uIG5lKGUsdCl7ZS5kb2N1bWVudEVsZW1lbnQ9dH1mdW5jdGlvbiBpZShlLHQpe2lmKCJzdHJpbmciIT10eXBlb2YgdCYmITEhPT10KXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogJ2Nzc1ByZWZpeCcgbXVzdCBiZSBhIHN0cmluZyBvciBgZmFsc2VgLiIpO2UuY3NzUHJlZml4PXR9ZnVuY3Rpb24gcmUoZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnY3NzQ2xhc3NlcycgbXVzdCBiZSBhbiBvYmplY3QuIik7InN0cmluZyI9PXR5cGVvZiBlLmNzc1ByZWZpeD8oZS5jc3NDbGFzc2VzPXt9LE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKG4pe2UuY3NzQ2xhc3Nlc1tuXT1lLmNzc1ByZWZpeCt0W25dfSkpKTplLmNzc0NsYXNzZXM9dH1mdW5jdGlvbiBhZShlKXt2YXIgdD17bWFyZ2luOm51bGwsbGltaXQ6bnVsbCxwYWRkaW5nOm51bGwsYW5pbWF0ZTohMCxhbmltYXRpb25EdXJhdGlvbjozMDAsYXJpYUZvcm1hdDpPLGZvcm1hdDpPfSxuPXtzdGVwOntyOiExLHQ6TH0sa2V5Ym9hcmRQYWdlTXVsdGlwbGllcjp7cjohMSx0Okh9LGtleWJvYXJkTXVsdGlwbGllcjp7cjohMSx0Okl9LGtleWJvYXJkRGVmYXVsdFN0ZXA6e3I6ITEsdDpGfSxzdGFydDp7cjohMCx0Oll9LGNvbm5lY3Q6e3I6ITAsdDpCfSxkaXJlY3Rpb246e3I6ITAsdDpLfSxzbmFwOntyOiExLHQ6cX0sYW5pbWF0ZTp7cjohMSx0Onp9LGFuaW1hdGlvbkR1cmF0aW9uOntyOiExLHQ6JH0scmFuZ2U6e3I6ITAsdDpWfSxvcmllbnRhdGlvbjp7cjohMSx0OlJ9LG1hcmdpbjp7cjohMSx0OlV9LGxpbWl0OntyOiExLHQ6V30scGFkZGluZzp7cjohMSx0Okd9LGJlaGF2aW91cjp7cjohMCx0Okp9LGFyaWFGb3JtYXQ6e3I6ITEsdDpRfSxmb3JtYXQ6e3I6ITEsdDplZX0sdG9vbHRpcHM6e3I6ITEsdDpafSxrZXlib2FyZFN1cHBvcnQ6e3I6ITAsdDp0ZX0sZG9jdW1lbnRFbGVtZW50OntyOiExLHQ6bmV9LGNzc1ByZWZpeDp7cjohMCx0OmllfSxjc3NDbGFzc2VzOntyOiEwLHQ6cmV9LGhhbmRsZUF0dHJpYnV0ZXM6e3I6ITEsdDpYfX0saT17Y29ubmVjdDohMSxkaXJlY3Rpb246Imx0ciIsYmVoYXZpb3VyOiJ0YXAiLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixrZXlib2FyZFN1cHBvcnQ6ITAsY3NzUHJlZml4OiJub1VpLSIsY3NzQ2xhc3NlczpQLGtleWJvYXJkUGFnZU11bHRpcGxpZXI6NSxrZXlib2FyZE11bHRpcGxpZXI6MSxrZXlib2FyZERlZmF1bHRTdGVwOjEwfTtlLmZvcm1hdCYmIWUuYXJpYUZvcm1hdCYmKGUuYXJpYUZvcm1hdD1lLmZvcm1hdCksT2JqZWN0LmtleXMobikuZm9yRWFjaCgoZnVuY3Rpb24oYSl7aWYocihlW2FdKXx8dm9pZCAwIT09aVthXSluW2FdLnQodCxyKGVbYV0pP2VbYV06aVthXSk7ZWxzZSBpZihuW2FdLnIpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAnIithKyInIGlzIHJlcXVpcmVkLiIpfSkpLHQucGlwcz1lLnBpcHM7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksbz12b2lkIDAhPT1hLnN0eWxlLm1zVHJhbnNmb3JtLHM9dm9pZCAwIT09YS5zdHlsZS50cmFuc2Zvcm07dC50cmFuc2Zvcm1SdWxlPXM/InRyYW5zZm9ybSI6bz8ibXNUcmFuc2Zvcm0iOiJ3ZWJraXRUcmFuc2Zvcm0iO3ZhciBsPVtbImxlZnQiLCJ0b3AiXSxbInJpZ2h0IiwiYm90dG9tIl1dO3JldHVybiB0LnN0eWxlPWxbdC5kaXJdW3Qub3J0XSx0fWZ1bmN0aW9uIG9lKHQsbixzKXt2YXIgdSxoLEMsRCx4LE09eSgpLFM9dygpJiZiKCksaz10LFQ9bi5zcGVjdHJ1bSxFPVtdLF89W10sQT1bXSxOPTAsTz17fSxQPXQub3duZXJEb2N1bWVudCxMPW4uZG9jdW1lbnRFbGVtZW50fHxQLmRvY3VtZW50RWxlbWVudCxIPVAuYm9keSxJPSJydGwiPT09UC5kaXJ8fDE9PT1uLm9ydD8wOjEwMDtmdW5jdGlvbiBGKGUsdCl7dmFyIG49UC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdCYmbShuLHQpLGUuYXBwZW5kQ2hpbGQobiksbn1mdW5jdGlvbiBWKGUsdCl7dmFyIGk9RihlLG4uY3NzQ2xhc3Nlcy5vcmlnaW4pLHI9RihpLG4uY3NzQ2xhc3Nlcy5oYW5kbGUpO2lmKEYocixuLmNzc0NsYXNzZXMudG91Y2hBcmVhKSxyLnNldEF0dHJpYnV0ZSgiZGF0YS1oYW5kbGUiLFN0cmluZyh0KSksbi5rZXlib2FyZFN1cHBvcnQmJihyLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksci5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGhlKGUsdCl9KSkpLHZvaWQgMCE9PW4uaGFuZGxlQXR0cmlidXRlcyl7dmFyIGE9bi5oYW5kbGVBdHRyaWJ1dGVzW3RdO09iamVjdC5rZXlzKGEpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3Iuc2V0QXR0cmlidXRlKGUsYVtlXSl9KSl9cmV0dXJuIHIuc2V0QXR0cmlidXRlKCJyb2xlIiwic2xpZGVyIiksci5zZXRBdHRyaWJ1dGUoImFyaWEtb3JpZW50YXRpb24iLG4ub3J0PyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwiKSwwPT09dD9tKHIsbi5jc3NDbGFzc2VzLmhhbmRsZUxvd2VyKTp0PT09bi5oYW5kbGVzLTEmJm0ocixuLmNzc0NsYXNzZXMuaGFuZGxlVXBwZXIpLGl9ZnVuY3Rpb24gWShlLHQpe3JldHVybiEhdCYmRihlLG4uY3NzQ2xhc3Nlcy5jb25uZWN0KX1mdW5jdGlvbiBxKGUsdCl7dmFyIGk9Rih0LG4uY3NzQ2xhc3Nlcy5jb25uZWN0cyk7aD1bXSwoQz1bXSkucHVzaChZKGksZVswXSkpO2Zvcih2YXIgcj0wO3I8bi5oYW5kbGVzO3IrKyloLnB1c2goVih0LHIpKSxBW3JdPXIsQy5wdXNoKFkoaSxlW3IrMV0pKX1mdW5jdGlvbiB6KGUpe3JldHVybiBtKGUsbi5jc3NDbGFzc2VzLnRhcmdldCksMD09PW4uZGlyP20oZSxuLmNzc0NsYXNzZXMubHRyKTptKGUsbi5jc3NDbGFzc2VzLnJ0bCksMD09PW4ub3J0P20oZSxuLmNzc0NsYXNzZXMuaG9yaXpvbnRhbCk6bShlLG4uY3NzQ2xhc3Nlcy52ZXJ0aWNhbCksbShlLCJydGwiPT09Z2V0Q29tcHV0ZWRTdHlsZShlKS5kaXJlY3Rpb24/bi5jc3NDbGFzc2VzLnRleHREaXJlY3Rpb25SdGw6bi5jc3NDbGFzc2VzLnRleHREaXJlY3Rpb25MdHIpLEYoZSxuLmNzc0NsYXNzZXMuYmFzZSl9ZnVuY3Rpb24gJChlLHQpe3JldHVybiEoIW4udG9vbHRpcHN8fCFuLnRvb2x0aXBzW3RdKSYmRihlLmZpcnN0Q2hpbGQsbi5jc3NDbGFzc2VzLnRvb2x0aXApfWZ1bmN0aW9uIEIoKXtyZXR1cm4gay5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIil9ZnVuY3Rpb24gUihlKXtyZXR1cm4gaFtlXS5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIil9ZnVuY3Rpb24gVSgpe3gmJih2ZSgidXBkYXRlIitqLnRvb2x0aXBzKSx4LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UmJmkoZSl9KSkseD1udWxsKX1mdW5jdGlvbiBXKCl7VSgpLHg9aC5tYXAoJCkscGUoInVwZGF0ZSIrai50b29sdGlwcywoZnVuY3Rpb24oZSx0LGkpe2lmKHgmJm4udG9vbHRpcHMmJiExIT09eFt0XSl7dmFyIHI9ZVt0XTshMCE9PW4udG9vbHRpcHNbdF0mJihyPW4udG9vbHRpcHNbdF0udG8oaVt0XSkpLHhbdF0uaW5uZXJIVE1MPXJ9fSkpfWZ1bmN0aW9uIEcoKXt2ZSgidXBkYXRlIitqLmFyaWEpLHBlKCJ1cGRhdGUiK2ouYXJpYSwoZnVuY3Rpb24oZSx0LGkscixhKXtBLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciB0PWhbZV0scj1iZShfLGUsMCwhMCwhMCwhMCksbz1iZShfLGUsMTAwLCEwLCEwLCEwKSxzPWFbZV0sbD1TdHJpbmcobi5hcmlhRm9ybWF0LnRvKGlbZV0pKTtyPVQuZnJvbVN0ZXBwaW5nKHIpLnRvRml4ZWQoMSksbz1ULmZyb21TdGVwcGluZyhvKS50b0ZpeGVkKDEpLHM9VC5mcm9tU3RlcHBpbmcocykudG9GaXhlZCgxKSx0LmNoaWxkcmVuWzBdLnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1pbiIsciksdC5jaGlsZHJlblswXS5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVtYXgiLG8pLHQuY2hpbGRyZW5bMF0uc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbm93IixzKSx0LmNoaWxkcmVuWzBdLnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZXRleHQiLGwpfSkpfSkpfWZ1bmN0aW9uIEsodCl7aWYodC5tb2RlPT09ZS5QaXBzTW9kZS5SYW5nZXx8dC5tb2RlPT09ZS5QaXBzTW9kZS5TdGVwcylyZXR1cm4gVC54VmFsO2lmKHQubW9kZT09PWUuUGlwc01vZGUuQ291bnQpe2lmKHQudmFsdWVzPDIpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiAndmFsdWVzJyAoPj0gMikgcmVxdWlyZWQgZm9yIG1vZGUgJ2NvdW50Jy4iKTtmb3IodmFyIG49dC52YWx1ZXMtMSxpPTEwMC9uLHI9W107bi0tOylyW25dPW4qaTtyZXR1cm4gci5wdXNoKDEwMCksSihyLHQuc3RlcHBlZCl9cmV0dXJuIHQubW9kZT09PWUuUGlwc01vZGUuUG9zaXRpb25zP0oodC52YWx1ZXMsdC5zdGVwcGVkKTp0Lm1vZGU9PT1lLlBpcHNNb2RlLlZhbHVlcz90LnN0ZXBwZWQ/dC52YWx1ZXMubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gVC5mcm9tU3RlcHBpbmcoVC5nZXRTdGVwKFQudG9TdGVwcGluZyhlKSkpfSkpOnQudmFsdWVzOltdfWZ1bmN0aW9uIEooZSx0KXtyZXR1cm4gZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBULmZyb21TdGVwcGluZyh0P1QuZ2V0U3RlcChlKTplKX0pKX1mdW5jdGlvbiBaKHQpe2Z1bmN0aW9uIG4oZSx0KXtyZXR1cm4gTnVtYmVyKChlK3QpLnRvRml4ZWQoNykpfXZhciBpPUsodCkscj17fSxhPVQueFZhbFswXSxzPVQueFZhbFtULnhWYWwubGVuZ3RoLTFdLGw9ITEsdT0hMSxjPTA7cmV0dXJuKGk9byhpLnNsaWNlKCkuc29ydCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS10fSkpKSlbMF0hPT1hJiYoaS51bnNoaWZ0KGEpLGw9ITApLGlbaS5sZW5ndGgtMV0hPT1zJiYoaS5wdXNoKHMpLHU9ITApLGkuZm9yRWFjaCgoZnVuY3Rpb24oYSxvKXt2YXIgcyxkLGYsaCxtLHAsZyx2LHksYix3PWEsQz1pW28rMV0sRD10Lm1vZGU9PT1lLlBpcHNNb2RlLlN0ZXBzO2ZvcihEJiYocz1ULnhOdW1TdGVwc1tvXSksc3x8KHM9Qy13KSx2b2lkIDA9PT1DJiYoQz13KSxzPU1hdGgubWF4KHMsMWUtNyksZD13O2Q8PUM7ZD1uKGQscykpe2Zvcih2PShtPShoPVQudG9TdGVwcGluZyhkKSktYykvKHQuZGVuc2l0eXx8MSksYj1tLyh5PU1hdGgucm91bmQodikpLGY9MTtmPD15O2YrPTEpclsocD1jK2YqYikudG9GaXhlZCg1KV09W1QuZnJvbVN0ZXBwaW5nKHApLDBdO2c9aS5pbmRleE9mKGQpPi0xP2UuUGlwc1R5cGUuTGFyZ2VWYWx1ZTpEP2UuUGlwc1R5cGUuU21hbGxWYWx1ZTplLlBpcHNUeXBlLk5vVmFsdWUsIW8mJmwmJmQhPT1DJiYoZz0wKSxkPT09QyYmdXx8KHJbaC50b0ZpeGVkKDUpXT1bZCxnXSksYz1ofX0pKSxyfWZ1bmN0aW9uIFgodCxpLHIpe3ZhciBhLG8scz1QLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGw9KChhPXt9KVtlLlBpcHNUeXBlLk5vbmVdPSIiLGFbZS5QaXBzVHlwZS5Ob1ZhbHVlXT1uLmNzc0NsYXNzZXMudmFsdWVOb3JtYWwsYVtlLlBpcHNUeXBlLkxhcmdlVmFsdWVdPW4uY3NzQ2xhc3Nlcy52YWx1ZUxhcmdlLGFbZS5QaXBzVHlwZS5TbWFsbFZhbHVlXT1uLmNzc0NsYXNzZXMudmFsdWVTdWIsYSksdT0oKG89e30pW2UuUGlwc1R5cGUuTm9uZV09IiIsb1tlLlBpcHNUeXBlLk5vVmFsdWVdPW4uY3NzQ2xhc3Nlcy5tYXJrZXJOb3JtYWwsb1tlLlBpcHNUeXBlLkxhcmdlVmFsdWVdPW4uY3NzQ2xhc3Nlcy5tYXJrZXJMYXJnZSxvW2UuUGlwc1R5cGUuU21hbGxWYWx1ZV09bi5jc3NDbGFzc2VzLm1hcmtlclN1YixvKSxjPVtuLmNzc0NsYXNzZXMudmFsdWVIb3Jpem9udGFsLG4uY3NzQ2xhc3Nlcy52YWx1ZVZlcnRpY2FsXSxkPVtuLmNzc0NsYXNzZXMubWFya2VySG9yaXpvbnRhbCxuLmNzc0NsYXNzZXMubWFya2VyVmVydGljYWxdO2Z1bmN0aW9uIGYoZSx0KXt2YXIgaT10PT09bi5jc3NDbGFzc2VzLnZhbHVlLHI9aT9sOnU7cmV0dXJuIHQrIiAiKyhpP2M6ZClbbi5vcnRdKyIgIityW2VdfWZ1bmN0aW9uIGgodCxhLG8pe2lmKChvPWk/aShhLG8pOm8pIT09ZS5QaXBzVHlwZS5Ob25lKXt2YXIgbD1GKHMsITEpO2wuY2xhc3NOYW1lPWYobyxuLmNzc0NsYXNzZXMubWFya2VyKSxsLnN0eWxlW24uc3R5bGVdPXQrIiUiLG8+ZS5QaXBzVHlwZS5Ob1ZhbHVlJiYoKGw9RihzLCExKSkuY2xhc3NOYW1lPWYobyxuLmNzc0NsYXNzZXMudmFsdWUpLGwuc2V0QXR0cmlidXRlKCJkYXRhLXZhbHVlIixTdHJpbmcoYSkpLGwuc3R5bGVbbi5zdHlsZV09dCsiJSIsbC5pbm5lckhUTUw9U3RyaW5nKHIudG8oYSkpKX19cmV0dXJuIG0ocyxuLmNzc0NsYXNzZXMucGlwcyksbShzLDA9PT1uLm9ydD9uLmNzc0NsYXNzZXMucGlwc0hvcml6b250YWw6bi5jc3NDbGFzc2VzLnBpcHNWZXJ0aWNhbCksT2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aChlLHRbZV1bMF0sdFtlXVsxXSl9KSksc31mdW5jdGlvbiBRKCl7RCYmKGkoRCksRD1udWxsKX1mdW5jdGlvbiBlZShlKXtRKCk7dmFyIHQ9WihlKSxuPWUuZmlsdGVyLGk9ZS5mb3JtYXR8fHt0bzpmdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoZSkpfX07cmV0dXJuIEQ9ay5hcHBlbmRDaGlsZChYKHQsbixpKSl9ZnVuY3Rpb24gdGUoKXt2YXIgZT11LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9Im9mZnNldCIrWyJXaWR0aCIsIkhlaWdodCJdW24ub3J0XTtyZXR1cm4gMD09PW4ub3J0P2Uud2lkdGh8fHVbdF06ZS5oZWlnaHR8fHVbdF19ZnVuY3Rpb24gbmUoZSx0LGkscil7dmFyIGE9ZnVuY3Rpb24oYSl7dmFyIG89aWUoYSxyLnBhZ2VPZmZzZXQsci50YXJnZXR8fHQpO3JldHVybiEhbyYmIShCKCkmJiFyLmRvTm90UmVqZWN0KSYmIShnKGssbi5jc3NDbGFzc2VzLnRhcCkmJiFyLmRvTm90UmVqZWN0KSYmIShlPT09TS5zdGFydCYmdm9pZCAwIT09by5idXR0b25zJiZvLmJ1dHRvbnM+MSkmJighci5ob3Zlcnx8IW8uYnV0dG9ucykmJihTfHxvLnByZXZlbnREZWZhdWx0KCksby5jYWxjUG9pbnQ9by5wb2ludHNbbi5vcnRdLHZvaWQgaShvLHIpKX0sbz1bXTtyZXR1cm4gZS5zcGxpdCgiICIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuYWRkRXZlbnRMaXN0ZW5lcihlLGEsISFTJiZ7cGFzc2l2ZTohMH0pLG8ucHVzaChbZSxhXSl9KSksb31mdW5jdGlvbiBpZShlLHQsbil7dmFyIGk9MD09PWUudHlwZS5pbmRleE9mKCJ0b3VjaCIpLHI9MD09PWUudHlwZS5pbmRleE9mKCJtb3VzZSIpLGE9MD09PWUudHlwZS5pbmRleE9mKCJwb2ludGVyIiksbz0wLHM9MDtpZigwPT09ZS50eXBlLmluZGV4T2YoIk1TUG9pbnRlciIpJiYoYT0hMCksIm1vdXNlZG93biI9PT1lLnR5cGUmJiFlLmJ1dHRvbnMmJiFlLnRvdWNoZXMpcmV0dXJuITE7aWYoaSl7dmFyIGw9ZnVuY3Rpb24odCl7dmFyIGk9dC50YXJnZXQ7cmV0dXJuIGk9PT1ufHxuLmNvbnRhaW5zKGkpfHxlLmNvbXBvc2VkJiZlLmNvbXBvc2VkUGF0aCgpLnNoaWZ0KCk9PT1ufTtpZigidG91Y2hzdGFydCI9PT1lLnR5cGUpe3ZhciB1PUFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChlLnRvdWNoZXMsbCk7aWYodS5sZW5ndGg+MSlyZXR1cm4hMTtvPXVbMF0ucGFnZVgscz11WzBdLnBhZ2VZfWVsc2V7dmFyIGM9QXJyYXkucHJvdG90eXBlLmZpbmQuY2FsbChlLmNoYW5nZWRUb3VjaGVzLGwpO2lmKCFjKXJldHVybiExO289Yy5wYWdlWCxzPWMucGFnZVl9fXJldHVybiB0PXR8fHYoUCksKHJ8fGEpJiYobz1lLmNsaWVudFgrdC54LHM9ZS5jbGllbnRZK3QueSksZS5wYWdlT2Zmc2V0PXQsZS5wb2ludHM9W28sc10sZS5jdXJzb3I9cnx8YSxlfWZ1bmN0aW9uIHJlKGUpe3ZhciB0PTEwMCooZS1sKHUsbi5vcnQpKS90ZSgpO3JldHVybiB0PWQodCksbi5kaXI/MTAwLXQ6dH1mdW5jdGlvbiBvZShlKXt2YXIgdD0xMDAsbj0hMTtyZXR1cm4gaC5mb3JFYWNoKChmdW5jdGlvbihpLHIpe2lmKCFSKHIpKXt2YXIgYT1fW3JdLG89TWF0aC5hYnMoYS1lKTsobzx0fHxvPD10JiZlPmF8fDEwMD09PW8mJjEwMD09PXQpJiYobj1yLHQ9byl9fSkpLG59ZnVuY3Rpb24gc2UoZSx0KXsibW91c2VvdXQiPT09ZS50eXBlJiYiSFRNTCI9PT1lLnRhcmdldC5ub2RlTmFtZSYmbnVsbD09PWUucmVsYXRlZFRhcmdldCYmdWUoZSx0KX1mdW5jdGlvbiBsZShlLHQpe2lmKC0xPT09bmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZigiTVNJRSA5IikmJjA9PT1lLmJ1dHRvbnMmJjAhPT10LmJ1dHRvbnNQcm9wZXJ0eSlyZXR1cm4gdWUoZSx0KTt2YXIgaT0obi5kaXI/LTE6MSkqKGUuY2FsY1BvaW50LXQuc3RhcnRDYWxjUG9pbnQpO0NlKGk+MCwxMDAqaS90LmJhc2VTaXplLHQubG9jYXRpb25zLHQuaGFuZGxlTnVtYmVycyx0LmNvbm5lY3QpfWZ1bmN0aW9uIHVlKGUsdCl7dC5oYW5kbGUmJihwKHQuaGFuZGxlLG4uY3NzQ2xhc3Nlcy5hY3RpdmUpLE4tPTEpLHQubGlzdGVuZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe0wucmVtb3ZlRXZlbnRMaXN0ZW5lcihlWzBdLGVbMV0pfSkpLDA9PT1OJiYocChrLG4uY3NzQ2xhc3Nlcy5kcmFnKSxNZSgpLGUuY3Vyc29yJiYoSC5zdHlsZS5jdXJzb3I9IiIsSC5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3RzdGFydCIsYSkpKSx0LmhhbmRsZU51bWJlcnMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7eWUoImNoYW5nZSIsZSkseWUoInNldCIsZSkseWUoImVuZCIsZSl9KSl9ZnVuY3Rpb24gY2UoZSx0KXtpZighdC5oYW5kbGVOdW1iZXJzLnNvbWUoUikpe3ZhciBpOzE9PT10LmhhbmRsZU51bWJlcnMubGVuZ3RoJiYoaT1oW3QuaGFuZGxlTnVtYmVyc1swXV0uY2hpbGRyZW5bMF0sTis9MSxtKGksbi5jc3NDbGFzc2VzLmFjdGl2ZSkpLGUuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHI9W10sbz1uZShNLm1vdmUsTCxsZSx7dGFyZ2V0OmUudGFyZ2V0LGhhbmRsZTppLGNvbm5lY3Q6dC5jb25uZWN0LGxpc3RlbmVyczpyLHN0YXJ0Q2FsY1BvaW50OmUuY2FsY1BvaW50LGJhc2VTaXplOnRlKCkscGFnZU9mZnNldDplLnBhZ2VPZmZzZXQsaGFuZGxlTnVtYmVyczp0LmhhbmRsZU51bWJlcnMsYnV0dG9uc1Byb3BlcnR5OmUuYnV0dG9ucyxsb2NhdGlvbnM6Xy5zbGljZSgpfSkscz1uZShNLmVuZCxMLHVlLHt0YXJnZXQ6ZS50YXJnZXQsaGFuZGxlOmksbGlzdGVuZXJzOnIsZG9Ob3RSZWplY3Q6ITAsaGFuZGxlTnVtYmVyczp0LmhhbmRsZU51bWJlcnN9KSxsPW5lKCJtb3VzZW91dCIsTCxzZSx7dGFyZ2V0OmUudGFyZ2V0LGhhbmRsZTppLGxpc3RlbmVyczpyLGRvTm90UmVqZWN0OiEwLGhhbmRsZU51bWJlcnM6dC5oYW5kbGVOdW1iZXJzfSk7ci5wdXNoLmFwcGx5KHIsby5jb25jYXQocyxsKSksZS5jdXJzb3ImJihILnN0eWxlLmN1cnNvcj1nZXRDb21wdXRlZFN0eWxlKGUudGFyZ2V0KS5jdXJzb3IsaC5sZW5ndGg+MSYmbShrLG4uY3NzQ2xhc3Nlcy5kcmFnKSxILmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdHN0YXJ0IixhLCExKSksdC5oYW5kbGVOdW1iZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3llKCJzdGFydCIsZSl9KSl9fWZ1bmN0aW9uIGRlKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHQ9cmUoZS5jYWxjUG9pbnQpLGk9b2UodCk7ITEhPT1pJiYobi5ldmVudHMuc25hcHx8YyhrLG4uY3NzQ2xhc3Nlcy50YXAsbi5hbmltYXRpb25EdXJhdGlvbiksU2UoaSx0LCEwLCEwKSxNZSgpLHllKCJzbGlkZSIsaSwhMCkseWUoInVwZGF0ZSIsaSwhMCksbi5ldmVudHMuc25hcD9jZShlLHtoYW5kbGVOdW1iZXJzOltpXX0pOih5ZSgiY2hhbmdlIixpLCEwKSx5ZSgic2V0IixpLCEwKSkpfWZ1bmN0aW9uIGZlKGUpe3ZhciB0PXJlKGUuY2FsY1BvaW50KSxuPVQuZ2V0U3RlcCh0KSxpPVQuZnJvbVN0ZXBwaW5nKG4pO09iamVjdC5rZXlzKE8pLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJob3ZlciI9PT1lLnNwbGl0KCIuIilbMF0mJk9bZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5jYWxsKEllLGkpfSkpfSkpfWZ1bmN0aW9uIGhlKGUsdCl7aWYoQigpfHxSKHQpKXJldHVybiExO3ZhciBpPVsiTGVmdCIsIlJpZ2h0Il0scj1bIkRvd24iLCJVcCJdLGE9WyJQYWdlRG93biIsIlBhZ2VVcCJdLG89WyJIb21lIiwiRW5kIl07bi5kaXImJiFuLm9ydD9pLnJldmVyc2UoKTpuLm9ydCYmIW4uZGlyJiYoci5yZXZlcnNlKCksYS5yZXZlcnNlKCkpO3ZhciBzLGw9ZS5rZXkucmVwbGFjZSgiQXJyb3ciLCIiKSx1PWw9PT1hWzBdLGM9bD09PWFbMV0sZD1sPT09clswXXx8bD09PWlbMF18fHUsZj1sPT09clsxXXx8bD09PWlbMV18fGMsaD1sPT09b1swXSxtPWw9PT1vWzFdO2lmKCEoZHx8Znx8aHx8bSkpcmV0dXJuITA7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLGZ8fGQpe3ZhciBwPWQ/MDoxLGc9UGUodClbcF07aWYobnVsbD09PWcpcmV0dXJuITE7ITE9PT1nJiYoZz1ULmdldERlZmF1bHRTdGVwKF9bdF0sZCxuLmtleWJvYXJkRGVmYXVsdFN0ZXApKSxnKj1jfHx1P24ua2V5Ym9hcmRQYWdlTXVsdGlwbGllcjpuLmtleWJvYXJkTXVsdGlwbGllcixnPU1hdGgubWF4KGcsMWUtNyksZyo9ZD8tMToxLHM9RVt0XStnfWVsc2Ugcz1tP24uc3BlY3RydW0ueFZhbFtuLnNwZWN0cnVtLnhWYWwubGVuZ3RoLTFdOm4uc3BlY3RydW0ueFZhbFswXTtyZXR1cm4gU2UodCxULnRvU3RlcHBpbmcocyksITAsITApLHllKCJzbGlkZSIsdCkseWUoInVwZGF0ZSIsdCkseWUoImNoYW5nZSIsdCkseWUoInNldCIsdCksITF9ZnVuY3Rpb24gbWUoZSl7ZS5maXhlZHx8aC5mb3JFYWNoKChmdW5jdGlvbihlLHQpe25lKE0uc3RhcnQsZS5jaGlsZHJlblswXSxjZSx7aGFuZGxlTnVtYmVyczpbdF19KX0pKSxlLnRhcCYmbmUoTS5zdGFydCx1LGRlLHt9KSxlLmhvdmVyJiZuZShNLm1vdmUsdSxmZSx7aG92ZXI6ITB9KSxlLmRyYWcmJkMuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtpZighMSE9PXQmJjAhPT1pJiZpIT09Qy5sZW5ndGgtMSl7dmFyIHI9aFtpLTFdLGE9aFtpXSxvPVt0XSxzPVtyLGFdLGw9W2ktMSxpXTttKHQsbi5jc3NDbGFzc2VzLmRyYWdnYWJsZSksZS5maXhlZCYmKG8ucHVzaChyLmNoaWxkcmVuWzBdKSxvLnB1c2goYS5jaGlsZHJlblswXSkpLGUuZHJhZ0FsbCYmKHM9aCxsPUEpLG8uZm9yRWFjaCgoZnVuY3Rpb24oZSl7bmUoTS5zdGFydCxlLGNlLHtoYW5kbGVzOnMsaGFuZGxlTnVtYmVyczpsLGNvbm5lY3Q6dH0pfSkpfX0pKX1mdW5jdGlvbiBwZShlLHQpe09bZV09T1tlXXx8W10sT1tlXS5wdXNoKHQpLCJ1cGRhdGUiPT09ZS5zcGxpdCgiLiIpWzBdJiZoLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7eWUoInVwZGF0ZSIsdCl9KSl9ZnVuY3Rpb24gZ2UoZSl7cmV0dXJuIGU9PT1qLmFyaWF8fGU9PT1qLnRvb2x0aXBzfWZ1bmN0aW9uIHZlKGUpe3ZhciB0PWUmJmUuc3BsaXQoIi4iKVswXSxuPXQ/ZS5zdWJzdHJpbmcodC5sZW5ndGgpOmU7T2JqZWN0LmtleXMoTykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIGk9ZS5zcGxpdCgiLiIpWzBdLHI9ZS5zdWJzdHJpbmcoaS5sZW5ndGgpO3QmJnQhPT1pfHxuJiZuIT09cnx8Z2UocikmJm4hPT1yfHxkZWxldGUgT1tlXX0pKX1mdW5jdGlvbiB5ZShlLHQsaSl7T2JqZWN0LmtleXMoTykuZm9yRWFjaCgoZnVuY3Rpb24ocil7dmFyIGE9ci5zcGxpdCgiLiIpWzBdO2U9PT1hJiZPW3JdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UuY2FsbChJZSxFLm1hcChuLmZvcm1hdC50byksdCxFLnNsaWNlKCksaXx8ITEsXy5zbGljZSgpLEllKX0pKX0pKX1mdW5jdGlvbiBiZShlLHQsaSxyLGEsbyl7dmFyIHM7cmV0dXJuIGgubGVuZ3RoPjEmJiFuLmV2ZW50cy51bmNvbnN0cmFpbmVkJiYociYmdD4wJiYocz1ULmdldEFic29sdXRlRGlzdGFuY2UoZVt0LTFdLG4ubWFyZ2luLCExKSxpPU1hdGgubWF4KGkscykpLGEmJnQ8aC5sZW5ndGgtMSYmKHM9VC5nZXRBYnNvbHV0ZURpc3RhbmNlKGVbdCsxXSxuLm1hcmdpbiwhMCksaT1NYXRoLm1pbihpLHMpKSksaC5sZW5ndGg+MSYmbi5saW1pdCYmKHImJnQ+MCYmKHM9VC5nZXRBYnNvbHV0ZURpc3RhbmNlKGVbdC0xXSxuLmxpbWl0LCExKSxpPU1hdGgubWluKGkscykpLGEmJnQ8aC5sZW5ndGgtMSYmKHM9VC5nZXRBYnNvbHV0ZURpc3RhbmNlKGVbdCsxXSxuLmxpbWl0LCEwKSxpPU1hdGgubWF4KGkscykpKSxuLnBhZGRpbmcmJigwPT09dCYmKHM9VC5nZXRBYnNvbHV0ZURpc3RhbmNlKDAsbi5wYWRkaW5nWzBdLCExKSxpPU1hdGgubWF4KGkscykpLHQ9PT1oLmxlbmd0aC0xJiYocz1ULmdldEFic29sdXRlRGlzdGFuY2UoMTAwLG4ucGFkZGluZ1sxXSwhMCksaT1NYXRoLm1pbihpLHMpKSksISgoaT1kKGk9VC5nZXRTdGVwKGkpKSk9PT1lW3RdJiYhbykmJml9ZnVuY3Rpb24gd2UoZSx0KXt2YXIgaT1uLm9ydDtyZXR1cm4oaT90OmUpKyIsICIrKGk/ZTp0KX1mdW5jdGlvbiBDZShlLHQsbixpLHIpe3ZhciBhPW4uc2xpY2UoKSxvPWlbMF0scz1bIWUsZV0sbD1bZSwhZV07aT1pLnNsaWNlKCksZSYmaS5yZXZlcnNlKCksaS5sZW5ndGg+MT9pLmZvckVhY2goKGZ1bmN0aW9uKGUsbil7dmFyIGk9YmUoYSxlLGFbZV0rdCxzW25dLGxbbl0sITEpOyExPT09aT90PTA6KHQ9aS1hW2VdLGFbZV09aSl9KSk6cz1sPVshMF07dmFyIHU9ITE7aS5mb3JFYWNoKChmdW5jdGlvbihlLGkpe3U9U2UoZSxuW2VdK3Qsc1tpXSxsW2ldKXx8dX0pKSx1JiYoaS5mb3JFYWNoKChmdW5jdGlvbihlKXt5ZSgidXBkYXRlIixlKSx5ZSgic2xpZGUiLGUpfSkpLG51bGwhPXImJnllKCJkcmFnIixvKSl9ZnVuY3Rpb24gRGUoZSx0KXtyZXR1cm4gbi5kaXI/MTAwLWUtdDplfWZ1bmN0aW9uIHhlKGUsdCl7X1tlXT10LEVbZV09VC5mcm9tU3RlcHBpbmcodCk7dmFyIGk9InRyYW5zbGF0ZSgiK3dlKERlKHQsMCktSSsiJSIsIjAiKSsiKSI7aFtlXS5zdHlsZVtuLnRyYW5zZm9ybVJ1bGVdPWksa2UoZSksa2UoZSsxKX1mdW5jdGlvbiBNZSgpe0EuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9X1tlXT41MD8tMToxLG49MysoaC5sZW5ndGgrdCplKTtoW2VdLnN0eWxlLnpJbmRleD1TdHJpbmcobil9KSl9ZnVuY3Rpb24gU2UoZSx0LG4saSxyKXtyZXR1cm4gcnx8KHQ9YmUoXyxlLHQsbixpLCExKSksITEhPT10JiYoeGUoZSx0KSwhMCl9ZnVuY3Rpb24ga2UoZSl7aWYoQ1tlXSl7dmFyIHQ9MCxpPTEwMDswIT09ZSYmKHQ9X1tlLTFdKSxlIT09Qy5sZW5ndGgtMSYmKGk9X1tlXSk7dmFyIHI9aS10LGE9InRyYW5zbGF0ZSgiK3dlKERlKHQscikrIiUiLCIwIikrIikiLG89InNjYWxlKCIrd2Uoci8xMDAsIjEiKSsiKSI7Q1tlXS5zdHlsZVtuLnRyYW5zZm9ybVJ1bGVdPWErIiAiK299fWZ1bmN0aW9uIFRlKGUsdCl7cmV0dXJuIG51bGw9PT1lfHwhMT09PWV8fHZvaWQgMD09PWU/X1t0XTooIm51bWJlciI9PXR5cGVvZiBlJiYoZT1TdHJpbmcoZSkpLCExIT09KGU9bi5mb3JtYXQuZnJvbShlKSkmJihlPVQudG9TdGVwcGluZyhlKSksITE9PT1lfHxpc05hTihlKT9fW3RdOmUpfWZ1bmN0aW9uIEVlKGUsdCxpKXt2YXIgcj1mKGUpLGE9dm9pZCAwPT09X1swXTt0PXZvaWQgMD09PXR8fHQsbi5hbmltYXRlJiYhYSYmYyhrLG4uY3NzQ2xhc3Nlcy50YXAsbi5hbmltYXRpb25EdXJhdGlvbiksQS5mb3JFYWNoKChmdW5jdGlvbihlKXtTZShlLFRlKHJbZV0sZSksITAsITEsaSl9KSk7dmFyIG89MT09PUEubGVuZ3RoPzA6MTtpZihhJiZULmhhc05vU2l6ZSgpJiYoaT0hMCxfWzBdPTAsQS5sZW5ndGg+MSkpe3ZhciBzPTEwMC8oQS5sZW5ndGgtMSk7QS5mb3JFYWNoKChmdW5jdGlvbihlKXtfW2VdPWUqc30pKX1mb3IoO288QS5sZW5ndGg7KytvKUEuZm9yRWFjaCgoZnVuY3Rpb24oZSl7U2UoZSxfW2VdLCEwLCEwLGkpfSkpO01lKCksQS5mb3JFYWNoKChmdW5jdGlvbihlKXt5ZSgidXBkYXRlIixlKSxudWxsIT09cltlXSYmdCYmeWUoInNldCIsZSl9KSl9ZnVuY3Rpb24gX2UoZSl7RWUobi5zdGFydCxlKX1mdW5jdGlvbiBBZShlLHQsbixpKXtpZighKChlPU51bWJlcihlKSk+PTAmJmU8QS5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogaW52YWxpZCBoYW5kbGUgbnVtYmVyLCBnb3Q6ICIrZSk7U2UoZSxUZSh0LGUpLCEwLCEwLGkpLHllKCJ1cGRhdGUiLGUpLG4mJnllKCJzZXQiLGUpfWZ1bmN0aW9uIE5lKGUpe2lmKHZvaWQgMD09PWUmJihlPSExKSxlKXJldHVybiAxPT09RS5sZW5ndGg/RVswXTpFLnNsaWNlKDApO3ZhciB0PUUubWFwKG4uZm9ybWF0LnRvKTtyZXR1cm4gMT09PXQubGVuZ3RoP3RbMF06dH1mdW5jdGlvbiBPZSgpe2Zvcih2ZShqLmFyaWEpLHZlKGoudG9vbHRpcHMpLE9iamVjdC5rZXlzKG4uY3NzQ2xhc3NlcykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cChrLG4uY3NzQ2xhc3Nlc1tlXSl9KSk7ay5maXJzdENoaWxkOylrLnJlbW92ZUNoaWxkKGsuZmlyc3RDaGlsZCk7ZGVsZXRlIGsubm9VaVNsaWRlcn1mdW5jdGlvbiBQZShlKXt2YXIgdD1fW2VdLGk9VC5nZXROZWFyYnlTdGVwcyh0KSxyPUVbZV0sYT1pLnRoaXNTdGVwLnN0ZXAsbz1udWxsO2lmKG4uc25hcClyZXR1cm5bci1pLnN0ZXBCZWZvcmUuc3RhcnRWYWx1ZXx8bnVsbCxpLnN0ZXBBZnRlci5zdGFydFZhbHVlLXJ8fG51bGxdOyExIT09YSYmcithPmkuc3RlcEFmdGVyLnN0YXJ0VmFsdWUmJihhPWkuc3RlcEFmdGVyLnN0YXJ0VmFsdWUtciksbz1yPmkudGhpc1N0ZXAuc3RhcnRWYWx1ZT9pLnRoaXNTdGVwLnN0ZXA6ITEhPT1pLnN0ZXBCZWZvcmUuc3RlcCYmci1pLnN0ZXBCZWZvcmUuaGlnaGVzdFN0ZXAsMTAwPT09dD9hPW51bGw6MD09PXQmJihvPW51bGwpO3ZhciBzPVQuY291bnRTdGVwRGVjaW1hbHMoKTtyZXR1cm4gbnVsbCE9PWEmJiExIT09YSYmKGE9TnVtYmVyKGEudG9GaXhlZChzKSkpLG51bGwhPT1vJiYhMSE9PW8mJihvPU51bWJlcihvLnRvRml4ZWQocykpKSxbbyxhXX1mdW5jdGlvbiBqZSgpe3JldHVybiBBLm1hcChQZSl9ZnVuY3Rpb24gTGUoZSx0KXt2YXIgaT1OZSgpLGE9WyJtYXJnaW4iLCJsaW1pdCIsInBhZGRpbmciLCJyYW5nZSIsImFuaW1hdGUiLCJzbmFwIiwic3RlcCIsImZvcm1hdCIsInBpcHMiLCJ0b29sdGlwcyJdO2EuZm9yRWFjaCgoZnVuY3Rpb24odCl7dm9pZCAwIT09ZVt0XSYmKHNbdF09ZVt0XSl9KSk7dmFyIG89YWUocyk7YS5mb3JFYWNoKChmdW5jdGlvbih0KXt2b2lkIDAhPT1lW3RdJiYoblt0XT1vW3RdKX0pKSxUPW8uc3BlY3RydW0sbi5tYXJnaW49by5tYXJnaW4sbi5saW1pdD1vLmxpbWl0LG4ucGFkZGluZz1vLnBhZGRpbmcsbi5waXBzP2VlKG4ucGlwcyk6USgpLG4udG9vbHRpcHM/VygpOlUoKSxfPVtdLEVlKHIoZS5zdGFydCk/ZS5zdGFydDppLHQpfWZ1bmN0aW9uIEhlKCl7dT16KGspLHEobi5jb25uZWN0LHUpLG1lKG4uZXZlbnRzKSxFZShuLnN0YXJ0KSxuLnBpcHMmJmVlKG4ucGlwcyksbi50b29sdGlwcyYmVygpLEcoKX1IZSgpO3ZhciBJZT17ZGVzdHJveTpPZSxzdGVwczpqZSxvbjpwZSxvZmY6dmUsZ2V0Ok5lLHNldDpFZSxzZXRIYW5kbGU6QWUscmVzZXQ6X2UsX19tb3ZlSGFuZGxlczpmdW5jdGlvbihlLHQsbil7Q2UoZSx0LF8sbil9LG9wdGlvbnM6cyx1cGRhdGVPcHRpb25zOkxlLHRhcmdldDprLHJlbW92ZVBpcHM6USxyZW1vdmVUb29sdGlwczpVLGdldFBvc2l0aW9uczpmdW5jdGlvbigpe3JldHVybiBfLnNsaWNlKCl9LGdldFRvb2x0aXBzOmZ1bmN0aW9uKCl7cmV0dXJuIHh9LGdldE9yaWdpbnM6ZnVuY3Rpb24oKXtyZXR1cm4gaH0scGlwczplZX07cmV0dXJuIEllfWZ1bmN0aW9uIHNlKGUsdCl7aWYoIWV8fCFlLm5vZGVOYW1lKXRocm93IG5ldyBFcnJvcigibm9VaVNsaWRlcjogY3JlYXRlIHJlcXVpcmVzIGEgc2luZ2xlIGVsZW1lbnQsIGdvdDogIitlKTtpZihlLm5vVWlTbGlkZXIpdGhyb3cgbmV3IEVycm9yKCJub1VpU2xpZGVyOiBTbGlkZXIgd2FzIGFscmVhZHkgaW5pdGlhbGl6ZWQuIik7dmFyIG49b2UoZSxhZSh0KSx0KTtyZXR1cm4gZS5ub1VpU2xpZGVyPW4sbn12YXIgbGU9e19fc3BlY3RydW06Tixjc3NDbGFzc2VzOlAsY3JlYXRlOnNlfTtlLmNyZWF0ZT1zZSxlLmNzc0NsYXNzZXM9UCxlLmRlZmF1bHQ9bGUsT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSh0KX19XSk7DQo="}},"time_used":5824,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5824,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:25.713Z","timestamp":1785137065713,"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/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.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://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.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: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 364038\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-19T17:45:05.827193Z","times_seen":969820,"resource_available":false,"data":"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"}},"time_used":78,"timings":{"blocked":-1,"dns":3,"connect":31,"send":0,"wait":17,"receive":27,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images/cryptocurrencies.svg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:32.861Z","timestamp":1785137072861,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images/cryptocurrencies.svg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 8768\r\ncontent-type: image/svg+xml\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c7d640\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:32 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":8768,"size_decoded":9068,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"003c78b4259e0d942c6dcd694718e31a","sha1":"d428ad4ca77f39104580c0b2f6b8011948737c66","sha256":"06b294677b08e104a9d45eeebc991d19acb880d0fa0bba3e49824cafd33c788f","sha512":"0f09ce84255dd8dd170d4a412083f41a6c9e8fa1ae1d6c906c6a5896d61bb0134068ed0ad46aae72f8fb565895429b5bcc8fbcd85b5bee288034557e84dd8de8","ssdeep":"192:CAqoxXhOdSLxaBqX3+/xH9B70fzM4fIQ4b9Gs/FCJ:CyXhOdgaBqwxH9B70fzM4fIQ4bIs/FCJ","tlshash":"310266125358e7fadde6467c4a350c897195acc7e030a1e0abb73827e61c8e4f86c63d","first_seen":"2026-03-29T04:39:56.8278Z","last_seen":"2026-07-27T07:25:28.834533Z","times_seen":5,"resource_available":false,"data":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNS4yLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNTMuNiAxNTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE1My42IDE1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzMwMzAzMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMzMDMwMkY7c3Ryb2tlLXdpZHRoOjQuODQ5NztzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MntmaWxsOiM0MjQyNDI7fQ0KPC9zdHlsZT4NCjxnPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0tOTcuMSwxNTBoLTExNi44Yy0xMC41LDAtMTMuOS0xMC44LTE0LjItMTYuNVYwaDEzMXYxMzguMmMwLDUuOSwxLjcsNy45LDEuNyw4bDMuMywzLjhILTk3LjF6IE0tMjIzLjUsNC42DQoJCXYxMjguOGMwLDAuNCwwLjksMTIsOS42LDEyaDExMy4xYy0wLjUtMS43LTAuOS00LjEtMC45LTcuMlY0LjZILTIyMy41eiIvPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0tODguOCwxNTBjLTYuOCwwLTEzLTEuNi0xMy0xM1YzMi4xaDI2VjEzN2wwLDBjMCwwLDAuNiw1LjMtMi45LDkuMUMtODAuOSwxNDguNy04NC4zLDE1MC04OC44LDE1MHoNCgkJIE0tOTcuMiwzNi43VjEzN2MwLDgsMy4yLDguNCw4LjQsOC40YzMsMCw1LjMtMC44LDYuNy0yLjNjMi4xLTIuMywxLjgtNS44LDEuNy01LjhWMzYuOEwtOTcuMiwzNi43TC05Ny4yLDM2Ljd6Ii8+DQoJPHBhdGggY2xhc3M9InN0MCIgZD0iTS0xNTUuNiw2OS42aC02MS44VjEwLjJoNjEuOFY2OS42eiBNLTIxMi43LDY1aDUyLjVWMTQuOGgtNTIuNVY2NXoiLz4NCgk8Zz4NCgkJPHJlY3QgeD0iLTE0OC4xIiB5PSIxMy43IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4NCgkJPHJlY3QgeD0iLTE0OC4xIiB5PSIyMi45IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4NCgkJPHJlY3QgeD0iLTE0OC4xIiB5PSIzMi4yIiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4NCgkJPHJlY3QgeD0iLTE0OC4xIiB5PSI0MS40IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4NCgkJPHJlY3QgeD0iLTE0OC4xIiB5PSI0MS40IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4NCgkJPHJlY3QgeD0iLTE0OC4xIiB5PSI1MC43IiBjbGFzcz0ic3QwIiB3aWR0aD0iMjQuNSIgaGVpZ2h0PSI0LjYiLz4NCgkJPHJlY3QgeD0iLTExNi4xIiB5PSI1MC43IiBjbGFzcz0ic3QwIiB3aWR0aD0iNi4xIiBoZWlnaHQ9IjQuNiIvPg0KCTwvZz4NCgk8Zz4NCgkJPHJlY3QgeD0iLTIxNS44IiB5PSI4MS4xIiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4NCgkJPHJlY3QgeD0iLTIxNS44IiB5PSI5MC40IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4NCgkJPHJlY3QgeD0iLTIxNS44IiB5PSI5OS42IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzguMSIgaGVpZ2h0PSI0LjYiLz4NCgkJPHJlY3QgeD0iLTIxNS44IiB5PSIxMDguOSIgY2xhc3M9InN0MCIgd2lkdGg9IjM4LjEiIGhlaWdodD0iNC42Ii8+DQoJCTxyZWN0IHg9Ii0yMTUuOCIgeT0iMTA4LjkiIGNsYXNzPSJzdDAiIHdpZHRoPSIzOC4xIiBoZWlnaHQ9IjQuNiIvPg0KCQk8cmVjdCB4PSItMjE1LjgiIHk9IjExOC4xIiBjbGFzcz0ic3QwIiB3aWR0aD0iMjQuNSIgaGVpZ2h0PSI0LjYiLz4NCgkJPHJlY3QgeD0iLTE4My44IiB5PSIxMTguMSIgY2xhc3M9InN0MCIgd2lkdGg9IjYuMSIgaGVpZ2h0PSI0LjYiLz4NCgk8L2c+DQoJPGc+DQoJCTxyZWN0IHg9Ii0xNzcuNiIgeT0iMTMzLjEiIGNsYXNzPSJzdDAiIHdpZHRoPSI3MS41IiBoZWlnaHQ9IjQuNiIvPg0KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNLTE1Ni4zLDEzNy43aC0xNC4xVjkyLjZoMTQuMkwtMTU2LjMsMTM3LjdMLTE1Ni4zLDEzNy43eiBNLTE2NS44LDEzMy4xaDQuOVY5Ny4yaC00LjkNCgkJCUMtMTY1LjgsOTcuMi0xNjUuOCwxMzMuMS0xNjUuOCwxMzMuMXoiLz4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTS0xMzQuOCwxMzcuN0gtMTQ5di0zNS42aDE0LjJDLTEzNC44LDEwMi4xLTEzNC44LDEzNy43LTEzNC44LDEzNy43eiBNLTE0NC4zLDEzMy4xaDQuOXYtMjYuNGgtNC45VjEzMy4xeiINCgkJCS8+DQoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0tMTEzLjQsMTM3LjdoLTE0LjJWOTAuMmgxNC4yVjEzNy43eiBNLTEyMi45LDEzMy4xaDQuOVY5NC44aC00LjlWMTMzLjF6Ii8+DQoJPC9nPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0tMTYzLjMsODguNGMtMy45LDAtNy0zLjEtNy03czMuMS03LDctN2MzLjksMCw3LDMuMSw3LDdTLTE1OS41LDg4LjQtMTYzLjMsODguNHogTS0xNjMuMyw3Ny45DQoJCWMtMiwwLTMuNiwxLjYtMy42LDMuNnMxLjYsMy42LDMuNiwzLjZzMy41LTEuNiwzLjUtMy42Uy0xNjEuNCw3Ny45LTE2My4zLDc3Ljl6Ii8+DQoJPHBhdGggY2xhc3M9InN0MCIgZD0iTS0xNDEuOSw5N2MtMy45LDAtNy0zLjEtNy03czMuMS03LDctN2MzLjksMCw3LDMuMSw3LDdTLTEzOCw5Ny0xNDEuOSw5N3ogTS0xNDEuOSw4Ni41Yy0yLDAtMy42LDEuNi0zLjYsMy41DQoJCWMwLDIsMS42LDMuNiwzLjYsMy42czMuNi0xLjYsMy42LTMuNkMtMTM4LjMsODgtMTM5LjksODYuNS0xNDEuOSw4Ni41eiIvPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0tMTIwLjQsODVjLTMuOSwwLTctMy4xLTctN3MzLjEtNyw3LTdzNywzLjEsNyw3Qy0xMTMuNCw4MS44LTExNi42LDg1LTEyMC40LDg1eiBNLTEyMC40LDc0LjQNCgkJYy0yLDAtMy41LDEuNi0zLjUsMy41YzAsMiwxLjYsMy42LDMuNSwzLjZjMiwwLDMuNi0xLjYsMy42LTMuNkMtMTE2LjksNzYtMTE4LjUsNzQuNC0xMjAuNCw3NC40eiIvPg0KCQ0KCQk8cmVjdCB4PSItMTU0LjMiIHk9Ijc5LjkiIHRyYW5zZm9ybT0ibWF0cml4KDAuNDM2OSAtMC44OTk1IDAuODk5NSAwLjQzNjkgLTE2My4yMzc5IC04OC43OTQ5KSIgY2xhc3M9InN0MCIgd2lkdGg9IjMuNSIgaGVpZ2h0PSIxMi4xIi8+DQoJDQoJCTxyZWN0IHg9Ii0xMzcuNiIgeT0iODMiIHRyYW5zZm9ybT0ibWF0cml4KDAuODk5MSAtMC40Mzc4IDAuNDM3OCAwLjg5OTEgLTUwLjI3MzcgLTQ4LjU3NDUpIiBjbGFzcz0ic3QwIiB3aWR0aD0iMTQuMiIgaGVpZ2h0PSIzLjUiLz4NCgk8Zz4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTS0xODYuNyw0Mi4zYy04LjktMS0xMC4zLTUuOC0xMC4zLTguNWMwLTEuOCwwLjctMy43LDIuMS01LjFjMi0yLDUuMi0zLjIsOC41LTMuMmM2LDAsMTAuNiwzLjYsMTAuNiw4LjMNCgkJCWgtNC42YzAtMS43LTIuNS0zLjctNi0zLjdjLTIuMSwwLTQuMSwwLjctNS4yLDEuOGMtMC40LDAuNC0wLjgsMS0wLjgsMS44czAuMSwzLjMsNi4zLDRMLTE4Ni43LDQyLjN6Ii8+DQoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0tMTg2LjUsNTQuNWMtNiwwLTEwLjYtMy42LTEwLjYtOC4zaDQuNmMwLDEuNywyLjUsMy43LDYsMy43YzIuMiwwLDYtMC41LDYtMy43YzAtMS4yLTIuOS0zLjUtNi4zLTMuOQ0KCQkJbDAuNS00LjZjNSwwLjYsMTAuNCw0LjIsMTAuNCw4LjVDLTE3NS45LDUxLjMtMTgwLDU0LjUtMTg2LjUsNTQuNXoiLz4NCgkJPHJlY3QgeD0iLTE4OC44IiB5PSIyMS42IiBjbGFzcz0ic3QwIiB3aWR0aD0iNC42IiBoZWlnaHQ9IjUuNSIvPg0KCQk8cmVjdCB4PSItMTg4LjgiIHk9IjUyLjgiIGNsYXNzPSJzdDAiIHdpZHRoPSI0LjYiIGhlaWdodD0iNS40Ii8+DQoJPC9nPg0KPC9nPg0KPGc+DQoJPGc+DQoJCTxnPg0KCQkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI1OC42LDc1YzAtMzguNCwzMS4xLTY5LjUsNjkuNS02OS41YzM4LjQsMCw2OS41LDMxLjEsNjkuNSw2OS41YzAsMzguNC0zMS4xLDY5LjUtNjkuNSw2OS41DQoJCQkJQzI4OS43LDE0NC41LDI1OC42LDExMy40LDI1OC42LDc1eiIvPg0KCQk8L2c+DQoJCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0zNTIuNSw3Mi45YzAuNS0wLjUsMC45LTEsMS4zLTEuNmMxLjItMS41LDIuMS0zLjIsMi44LTVjMC45LTIuNCwxLjQtNC45LDEuNC03LjRjMC0xMS40LTkuMy0yMC43LTIwLjctMjAuNw0KCQkJaC02LjN2LTkuMWMwLTIuNi0yLjEtNC43LTQuNy00LjdjLTIuNiwwLTQuNywyLjEtNC43LDQuN3Y5LjFoLTUuOXYtOS4xYzAtMi42LTIuMS00LjctNC43LTQuN2MtMi42LDAtNC43LDIuMS00LjcsNC43djkuMWgtOC45DQoJCQljLTIuNiwwLTQuNywyLjEtNC43LDQuN2MwLDIuNiwyLjEsNC43LDQuNyw0LjdoOC45djU0LjhoLTguOWMtMi42LDAtNC43LDIuMS00LjcsNC43YzAsMi42LDIuMSw0LjcsNC43LDQuN2g4Ljl2OS4xDQoJCQljMCwyLjYsMi4xLDQuNyw0LjcsNC43YzIuNiwwLDQuNy0yLjEsNC43LTQuN3YtOS4xaDUuOXY5LjFjMCwyLjYsMi4xLDQuNyw0LjcsNC43YzIuNiwwLDQuNy0yLjEsNC43LTQuN3YtOS4xaDExLjYNCgkJCWMxMS40LDAsMjAuNy05LjMsMjAuNy0yMC43QzM2My4yLDgzLjIsMzU4LjksNzYuNCwzNTIuNSw3Mi45eiBNMzM3LjIsNDcuNmM2LjMsMCwxMS40LDUuMSwxMS40LDExLjRjMCwxLjQtMC4yLDIuOC0wLjgsNC4xDQoJCQljLTAuNCwxLTAuOSwxLjktMS41LDIuN2MtMi4yLDIuOS01LjUsNC42LTkuMSw0LjZoLTIxLjVWNDcuNkgzMzcuMnogTTM0Mi41LDEwMi40aC0yNi44Vjc5LjdoMjEuNWg1LjNjNi4zLDAsMTEuNCw1LjEsMTEuNCwxMS40DQoJCQlDMzUzLjksOTcuMywzNDguOCwxMDIuNCwzNDIuNSwxMDIuNHoiLz4NCgk8L2c+DQo8L2c+DQo8Zz4NCgk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNNzkuNSwxMjguNEg2NC44di01LjZjMC0xLjMtMS4xLTIuNC0yLjQtMi40Yy0xLjMsMC0yLjQsMS4xLTIuNCwyLjR2NS42SDQ3LjR2LTUuNmMwLTEuMy0xLjEtMi40LTIuNC0yLjQNCgkJcy0yLjQsMS4xLTIuNCwyLjR2NS42SDMwdi01LjZjMC0xLjMtMS4xLTIuNC0yLjQtMi40Yy0xLjMsMC0yLjQsMS4xLTIuNCwyLjR2NS42aC04LjJjLTAuNywwLTEuMi0wLjUtMS4yLTEuMnYtMTEuNQ0KCQljMC0wLjcsMC41LTEuMiwxLjItMS4ySDY3Yy0wLjktMS42LTEuOC0zLjItMi41LTQuOUgxNi45Yy0zLjMsMC02LjEsMi43LTYuMSw2LjF2MTEuNWMwLDMuMywyLjcsNi4xLDYuMSw2LjFoNzAuNQ0KCQlDODQuNywxMzEuOSw4MiwxMzAuMyw3OS41LDEyOC40eiIvPg0KCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik02NC41LDEwOS42aC0zLjhWMTA0YzAtMS4zLTEuMS0yLjQtMi40LTIuNHMtMi40LDEuMS0yLjQsMi40djUuNkg0My40VjEwNGMwLTEuMy0xLjEtMi40LTIuNC0yLjQNCgkJYy0xLjMsMC0yLjQsMS4xLTIuNCwyLjR2NS42aC04LjJjLTAuNywwLTEuMi0wLjUtMS4yLTEuMlY5Ni44YzAtMC43LDAuNS0xLjIsMS4yLTEuMmgzMC40Yy0wLjItMS42LTAuMy0zLjItMC4zLTQuOUgzMC4zDQoJCWMtMy4zLDAtNi4xLDIuNy02LjEsNi4xdjExLjVjMCwzLjMsMi43LDYuMSw2LjEsNi4xSDY3QzY2LjEsMTEyLjksNjUuMywxMTEuMyw2NC41LDEwOS42eiIvPg0KCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik02MC40LDkwLjhoLTEuN3YtNS42YzAtMS4zLTEuMS0yLjQtMi40LTIuNGMtMS4zLDAtMi40LDEuMS0yLjQsMi40djUuNkg0MS4zdi01LjZjMC0xLjMtMS4xLTIuNC0yLjQtMi40DQoJCXMtMi40LDEuMS0yLjQsMi40djUuNkgyMy45di01LjZjMC0xLjMtMS4xLTIuNC0yLjQtMi40Yy0xLjMsMC0yLjQsMS4xLTIuNCwyLjR2NS42aC04LjJjLTAuNywwLTEuMi0wLjUtMS4yLTEuMlY3OA0KCQljMC0wLjcsMC41LTEuMiwxLjItMS4yaDUxLjRjMC41LTEuNywxLTMuMywxLjctNC45SDEwLjljLTMuMywwLTYuMSwyLjctNi4xLDYuMXYxMS41YzAsMy4zLDIuNyw2LjEsNi4xLDYuMWg0OS44DQoJCUM2MC41LDk0LDYwLjQsOTIuNCw2MC40LDkwLjh6Ii8+DQoJPHBhdGggY2xhc3M9InN0MiIgZD0iTTY0LDcxLjloLTYuOXYtNS42YzAtMS4zLTEuMS0yLjQtMi40LTIuNGMtMS4zLDAtMi40LDEuMS0yLjQsMi40djUuNkgzOS43di01LjZjMC0xLjMtMS4xLTIuNC0yLjQtMi40DQoJCXMtMi40LDEuMS0yLjQsMi40djUuNmgtOC4yYy0wLjcsMC0xLjItMC41LTEuMi0xLjJWNTkuMmMwLTAuNywwLjUtMS4yLDEuMi0xLjJoNDYuMmMxLjYtMS43LDMuMy0zLjQsNS4xLTQuOUgyNi43DQoJCWMtMy4zLDAtNi4xLDIuNy02LjEsNi4xdjExLjVjMCwzLjMsMi43LDYuMSw2LjEsNi4xaDM1LjZDNjIuOCw3NS4xLDYzLjQsNzMuNSw2NCw3MS45eiIvPg0KCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik04Mi4yLDUwdi0yLjVjMC0xLjMtMS4xLTIuNC0yLjQtMi40cy0yLjQsMS4xLTIuNCwyLjR2NS42SDY0Ljh2LTUuNmMwLTEuMy0xLjEtMi40LTIuNC0yLjQNCgkJYy0xLjMsMC0yLjQsMS4xLTIuNCwyLjR2NS42SDQ3LjR2LTUuNmMwLTEuMy0xLjEtMi40LTIuNC0yLjRzLTIuNCwxLjEtMi40LDIuNHY1LjZIMzB2LTUuNmMwLTEuMy0xLjEtMi40LTIuNC0yLjQNCgkJYy0xLjMsMC0yLjQsMS4xLTIuNCwyLjR2NS42aC04LjJjLTAuNywwLTEuMi0wLjUtMS4yLTEuMlY0MC40YzAtMC43LDAuNS0xLjIsMS4yLTEuMmg3My41YzAuNywwLDEuMiwwLjUsMS4yLDEuMnY0LjkNCgkJYzEuNi0wLjYsMy4yLTEuMSw0LjktMS41di0zLjRjMC0zLjMtMi43LTYuMS02LjEtNi4xSDE2LjljLTMuMywwLTYuMSwyLjctNi4xLDYuMXYxMS41YzAsMy4zLDIuNyw2LjEsNi4xLDYuMWg1NS45DQoJCUM3NS42LDU0LjksNzguOCw1Mi4zLDgyLjIsNTB6Ii8+DQoJPHBhdGggY2xhc3M9InN0MiIgZD0iTTEwOC4zLDEzMi4zYy0yMy4yLDAtNDIuMS0xOC45LTQyLjEtNDIuMWMwLTIzLjIsMTguOS00Mi4xLDQyLjEtNDIuMWMyMy4yLDAsNDIuMSwxOC45LDQyLjEsNDIuMQ0KCQlDMTUwLjQsMTEzLjQsMTMxLjUsMTMyLjMsMTA4LjMsMTMyLjN6IE0xMDguMyw1Mi45Qzg3LjcsNTIuOSw3MSw2OS42LDcxLDkwLjJjMCwyMC41LDE2LjcsMzcuMiwzNy4yLDM3LjINCgkJYzIwLjUsMCwzNy4yLTE2LjcsMzcuMi0zNy4yQzE0NS41LDY5LjYsMTI4LjgsNTIuOSwxMDguMyw1Mi45eiIvPg0KCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xMDguMywxMjEuN2MtMTcuNCwwLTMxLjYtMTQuMi0zMS42LTMxLjZjMC0xNy40LDE0LjItMzEuNiwzMS42LTMxLjZjMTcuNCwwLDMxLjYsMTQuMiwzMS42LDMxLjYNCgkJQzEzOS44LDEwNy42LDEyNS43LDEyMS43LDEwOC4zLDEyMS43eiBNMTA4LjMsNjMuNWMtMTQuNywwLTI2LjcsMTItMjYuNywyNi43YzAsMTQuNywxMiwyNi43LDI2LjcsMjYuN2MxNC43LDAsMjYuNy0xMiwyNi43LTI2LjcNCgkJQzEzNSw3NS40LDEyMyw2My41LDEwOC4zLDYzLjV6Ii8+DQoJPHBhdGggY2xhc3M9InN0MiIgZD0iTTExOS4yLDg4LjVjMC4xLTAuMSwwLjItMC4yLDAuMy0wLjNjMC41LTAuNywwLjktMS40LDEuMi0yLjJjMC40LTEuMSwwLjYtMi4yLDAuNi0zLjNjMC01LjEtNC4yLTkuMy05LjMtOS4zDQoJCUgxMTF2LTIuN2MwLTEuMy0xLjEtMi40LTIuNC0yLjRzLTIuNCwxLjEtMi40LDIuNHYyLjdoLTIuOXYtMi43YzAtMS4zLTEuMS0yLjQtMi40LTIuNGMtMS4zLDAtMi40LDEuMS0yLjQsMi40djIuN2gtMi42DQoJCWMtMS4zLDAtMi40LDEuMS0yLjQsMi40czEuMSwyLjQsMi40LDIuNGgyLjZ2MjIuN2gtMi42Yy0xLjMsMC0yLjQsMS4xLTIuNCwyLjRzMS4xLDIuNCwyLjQsMi40aDIuNnYyLjdjMCwxLjMsMS4xLDIuNCwyLjQsMi40DQoJCWMxLjMsMCwyLjQtMS4xLDIuNC0yLjR2LTIuN2gyLjl2Mi43YzAsMS4zLDEuMSwyLjQsMi40LDIuNHMyLjQtMS4xLDIuNC0yLjR2LTIuN2gzLjNjNS4xLDAsOS4zLTQuMiw5LjMtOS4zDQoJCUMxMjMuNiw5MywxMjEuOSw5MC4xLDExOS4yLDg4LjV6IE0xMTIsNzguMWMyLjUsMCw0LjUsMiw0LjUsNC41YzAsMC41LTAuMSwxLjEtMC4zLDEuNmMtMC4xLDAuNC0wLjMsMC43LTAuNiwxLjENCgkJYy0wLjgsMS4xLTIuMiwxLjgtMy42LDEuOGgtOC44di04LjlIMTEyeiBNMTE0LjMsMTAwLjhoLTExLjF2LTguOWg4LjhoMi4zYzIuNSwwLDQuNSwyLDQuNSw0LjUNCgkJQzExOC43LDk4LjgsMTE2LjgsMTAwLjgsMTE0LjMsMTAwLjh6Ii8+DQoJPHBhdGggY2xhc3M9InN0MiIgZD0iTTk4LjksMTUuNUgyNS40Yy0zLjMsMC02LjEsMi43LTYuMSw2LjF2MTEuNWMwLDMuMywyLjcsNi4xLDYuMSw2LjFoNzMuNWMzLjMsMCw2LjEtMi43LDYuMS02LjFWMjEuNQ0KCQlDMTA1LDE4LjIsMTAyLjMsMTUuNSw5OC45LDE1LjV6IE0xMDAuMiwzMy4xYzAsMC43LTAuNSwxLjItMS4yLDEuMmgtOC4ydi01LjZjMC0xLjMtMS4xLTIuNC0yLjQtMi40cy0yLjQsMS4xLTIuNCwyLjR2NS42SDczLjMNCgkJdi01LjZjMC0xLjMtMS4xLTIuNC0yLjQtMi40Yy0xLjMsMC0yLjQsMS4xLTIuNCwyLjR2NS42SDU1Ljl2LTUuNmMwLTEuMy0xLjEtMi40LTIuNC0yLjRzLTIuNCwxLjEtMi40LDIuNHY1LjZIMzguNXYtNS42DQoJCWMwLTEuMy0xLjEtMi40LTIuNC0yLjRjLTEuMywwLTIuNCwxLjEtMi40LDIuNHY1LjZoLTguMmMtMC43LDAtMS4yLTAuNS0xLjItMS4yVjIxLjVjMC0wLjcsMC41LTEuMiwxLjItMS4yaDczLjUNCgkJYzAuNywwLDEuMiwwLjUsMS4yLDEuMlYzMy4xeiIvPg0KPC9nPg0KPC9zdmc+DQo="}},"time_used":187,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":187,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_68x28dp.png","fqdn":"www.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":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.189Z","timestamp":1785137073189,"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 /images/branding/googlelogo/1x/googlelogo_color_68x28dp.png HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1597\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:18 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:18 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 30 Jun 2023 18:58:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 411255\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":1597,"size_decoded":2271,"mime_type":"image/png","magic":"PNG image data, 68 x 28, 8-bit/color RGBA, non-interlaced","md5":"c4a931d597decd2553aac6634b766cf2","sha1":"6ec84fb4a2745b4b71520241be77db1fd1013830","sha256":"f56402b127698db4b4dc611a97a6f081d04c4691c60522c5912d189e37c94a9e","sha512":"4932e0f7f38085a7c52539bdd5c7f470740e560a4471bea30d12ef9e3efe77f6bbfac28d26c62a245c43d98ebf74c824b2b414843080a27edf1563a5f874ac84","ssdeep":"","tlshash":"7c310afff39e8cec419e764069ba5965a362cd68233e928f14499592e4d007710f5f41","first_seen":"2023-04-05T08:27:37Z","last_seen":"2026-08-19T16:58:16.781966Z","times_seen":20354,"resource_available":false,"data":"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"}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/loading.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.191Z","timestamp":1785137073191,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/loading.gif HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 702\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 21:36:56 GMT\r\nexpires: Sat, 24 Jul 2027 21:36:56 GMT\r\ncache-control: public, max-age=31536000\r\nage: 208057\r\nlast-modified: Thu, 03 Oct 2019 10:15:00 GMT\r\ncontent-type: image/gif\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":702,"size_decoded":1361,"mime_type":"image/gif","magic":"GIF image data, version 89a, 16 x 16","md5":"eefaa072b284a305c12c06608333abc2","sha1":"58272721ccc1efda26eaa22354022c7c793edbb6","sha256":"fb6b7bcc1ab09f27db17bcbdf5239ce1d52af34f1fc5125b3fc8528a07848d21","sha512":"c5ccfdcd9ce76de85f043a1733c9f0b620e15babbaf2a5639684c7b2bb8e5a66473c9a83f14cb48d9cb6c6a1c6b36f2c5a28e25abaf131fb85ec5eedecbae4ac","ssdeep":"","tlshash":"5d01dd13f3d50473f66d0075a20cc57f010635daaadad7089a48117cfe1983c5239b82","first_seen":"2023-04-05T11:18:23Z","last_seen":"2026-08-19T16:58:16.757016Z","times_seen":19973,"resource_available":false,"data":"R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/h1CdWlsdCB3aXRoIEdJRiBNb3ZpZSBHZWFyIDQuMAAh/hVNYWRlIGJ5IEFqYXhMb2FkLmluZm8AIfkECQoAAAAsAAAAABAAEAAAAzMIutz+MMpJaxNjCDoIGZwHTphmCUWxMcK6FJnBti5gxMJx0C1bGDndpgc5GAwHSmvnSAAAIfkECQoAAAAsAAAAABAAEAAAAzQIutz+TowhIBuEDLuw5opEcUJRVGAxGSBgTEVbGqh8HLV13+1hGAeAINcY4oZDGbIlJCoSACH5BAkKAAAALAAAAAAQABAAAAM2CLoyIyvKQciQzJRWLwaFYxwO9BlO8UlCYZircBzwCsyzvRzGqCsCWe0X/AGDww8yqWQan78EACH5BAkKAAAALAAAAAAQABAAAAMzCLpiJSvKMoaR7JxWX4WLpgmFIQwEMUSHYRwRqkaCsNEfA2JSXfM9HzA4LBqPyKRyOUwAACH5BAkKAAAALAAAAAAQABAAAAMyCLpyJytK52QU8BjzTIEMJnbDYFxiVJSFhLkeaFlCKc/KQBADHuk8H8MmLBqPyKRSkgAAIfkECQoAAAAsAAAAABAAEAAAAzMIuiDCkDkX43TnvNqeMBnHHOAhLkK2ncpXrKIxDAYLFHNhu7A195UBgTCwCYm7n20pSgAAIfkECQoAAAAsAAAAABAAEAAAAzIIutz+8AkR2ZxVXZoB7tpxcJVgiN1hnN00loVBRsUwFJBgm7YBDQTCQBCbMYDC1s6RAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P4wykmrZULUnCnXHggIwyCOx3EOBDEwqcqwrlAYwmEYB1bapQIgdWIYgp5bEZAAADsAAAAAAAAAAAAK"}},"time_used":16,"timings":{"blocked":1,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/logo-mini.png","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.422Z","timestamp":1785137065422,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /logo-mini.png HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 7299\r\ncontent-type: image/png\r\nlast-modified: Sat, 20 Jul 2024 21:41:48 GMT\r\naccept-ranges: bytes\r\netag: \"1dadaed9f906a83\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":7299,"size_decoded":7595,"mime_type":"image/png","magic":"PNG image data, 101 x 114, 8-bit/color RGBA, non-interlaced","md5":"8680d7126f3d09dba58ee924ac0bb800","sha1":"6536992bf0c6a91930b6ad12bd35ca972cd2ccaa","sha256":"448c38fcf594c99664fa9541cf92d91b0338657ba8b8a1a97f8daa0060c7f2eb","sha512":"c6ac70e0a7f19a54afcad56ecee623bd70888cd5dabaabd7bd6ec16677f9346e848c3029a18521fe5124984080a6e2c08b00625044400ce7cf01a51b0f4f6bfa","ssdeep":"192:YSnkn5cRx81ElGJOJcHTSctBIzugI9hVNkWfMjvHeF7AE:fknycEl1uzSuBdz7NkWUj26E","tlshash":"fee11a19fca45c40650eb688e4fdf156d7fb1ed41d6040aeafe9ce020ea04ad9dc81eb","first_seen":"2026-07-27T05:02:02.437577Z","last_seen":"2026-07-27T07:25:28.822066Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAGUAAAByCAYAAABKrx/sAAAACXBIWXMAAAsTAAALEwEAmpwYAAANmWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIyLTA2LTEyVDIxOjQzOjU2LTA3OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNC0wNy0yMFQxNDo0MTo0OC0wNzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNC0wNy0yMFQxNDo0MTo0OC0wNzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyOGRhNWJjZi0xNGJiLTRkNDAtODE5Yi04NzRiYmQyM2Y1ZGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZTYxY2U5ZDktOTE0MS0yZjRkLWI4NmEtMjMwNWEwZWYxYTg5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZTYxY2U5ZDktOTE0MS0yZjRkLWI4NmEtMjMwNWEwZWYxYTg5Ij4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDQxQUZEMUI3OTAxQTFBM0UyNzkwMDVGOTMxRThENzY8L3JkZjpsaT4gPHJkZjpsaT4yNzI5MkZFRTFDRkM2MTUxMjZDMzNBMjg4NTA3RTI0NzwvcmRmOmxpPiA8cmRmOmxpPjQ5NTdFMTdEQUQ5REM0QjgzNDY1MTY5N0E3NjhCMUUwPC9yZGY6bGk+IDxyZGY6bGk+NEM4OURBMjFEOUEyNDZDQTcyNTRBODExNjZFQjUyRjQ8L3JkZjpsaT4gPHJkZjpsaT44MzZCQkEzRjEyRkFCRjdGODlENTMzNTEzNjVGRDNBQzwvcmRmOmxpPiA8cmRmOmxpPjhBNTdDNEY2ODM1OEI1NzYwNTcxNzk3QTlCMjlDQjFBPC9yZGY6bGk+IDxyZGY6bGk+OTMzM0NCQzI1RUNDQTE5NjgzRUNGM0QxMjI4ODA2OEQ8L3JkZjpsaT4gPHJkZjpsaT45RDc1MDI2QTE3OUUxRDI3RUVCODU1RkExRkY4QjgzMjwvcmRmOmxpPiA8cmRmOmxpPjlFMTk3OEQ0NEE2RTZFQTdGRTdFODlEQTkyOTc2MDZBPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjRmYWM0MzYwLTJkMjgtYjg0MS1hYmI3LTkwYTk3ZDM1OTc3ODwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOjM0ODI1YmU0LTVkNzQtNGQ3ZC04ZTQ4LWFiMWI1ODg4ZjM1ODwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmMxNzFiYzUxLTcxMzQtNGUwNS1iYWEwLWQyZTQ0ZWUwNDAxMDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmU2NTU3N2JlLTQwZDktNGEyOC1hZmJlLTVjOGIxYTgxYTBiOTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmZlMDhkNzYxLWQ1ZjUtNDRlZS04OTU1LWI5Y2YwNTcxMjZkOTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MGE4NzA2NDAtZmM1My00YzQ5LWI5NGItZjZmYjhmN2FiYzAzPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxOTUwZmJiNi1lZDFkLTc5NDEtYjVkNi1hMDEzYzFkYzkzN2U8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjJiOTg3ZGMwLWZiODEtNmE0Zi1iZDllLTBlZTc2MjEyMDY0ZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MzE2YzFiOWMtZmRlNi1mODQ1LTk5NTItNTRhMWM1MDhmNGRkPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0NTc3NDNlNi1jZDE1LWIyNDAtYTdkNC03NTRkZjIwMDg0MTE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjRFNTU1MDcxMUIyMDY4MTE5NkZBQUM5QzkxRTRFMjJDPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2Y2UzY2UxMy1iODMwLWZiNDEtYjk4My1iMGYxYTNlZTA0NjQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjlkOTVkNDQ5LTFhN2EtZmE0NC04OGMxLThmN2JlNzRkZjNmYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTA2YjE2MDQtNjMzNS1jZjQ2LTliZWYtM2EwYWY2ZWUzYzQ2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiMDgxYzdlYi0wODg4LWMzNGItOTk4OC1kOWJjYTJlMzZiMWE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmRhYmNjYzlhLWY1NzktMDA0My04MzkwLWRmMjNlNTJiNGZmNTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZTYxY2U5ZDktOTE0MS0yZjRkLWI4NmEtMjMwNWEwZWYxYTg5PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZWJiYTE4OS1iZDIwLWYzNDMtOWQ2NC0zY2ZhNDk0MGM3YjU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmZkOTVjYjhhLWI2N2EtOWE0Yy05NTM2LWM0NmQwZjE3ZTlkNTwvcmRmOmxpPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmU2MWNlOWQ5LTkxNDEtMmY0ZC1iODZhLTIzMDVhMGVmMWE4OSIgc3RFdnQ6d2hlbj0iMjAyMi0wNi0xMlQyMTo0Mzo1Ni0wNzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5NGQ0OGE5NC1lZDY5LTZhNDAtOGIwOS0zNGJkY2ZlYzA0NDIiIHN0RXZ0OndoZW49IjIwMjItMDYtMTNUMTM6MzQ6MzctMDc6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjhkYTViY2YtMTRiYi00ZDQwLTgxOWItODc0YmJkMjNmNWRkIiBzdEV2dDp3aGVuPSIyMDI0LTA3LTIwVDE0OjQxOjQ4LTA3OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+buvOpgAADpBJREFUeJztnXu0FlUZxn/fOZ0DhwxNFNEUCAJE0RWpeDfvpRUpmqWmZerSgsS83ygLL8myQs2SvGdpJpJ3RcW8YIpcRDyYgi4QNRBN5aLAAc7pj2emb779zd4z33Xm4DxrseDMzJ7ZZ57Z+33f5333JtfR0UGGdKEh6Q5kKEZGSgqRkZJCZKSkEBkpKURGSgqRkZJCZKSkEBkpKURGSgqRkZJCZKSkEBkpKURGSgqRkZJCZKSkEJ8xD0xqbk6iH9XAVsBioNNl7Ua0tRX8vKGMlG2B54A/Jt2RaiBNpGxeZrt+wH1Ab+Bk4NdV61FCSAsp2wMzgO+U0e5ZYID3cwNwLnBt9bpWf6SBlJ2BJ9GXfhtweMx2/YB7gV4h504FxgFNVehf3ZE0KTsCTwGbeT93ASYBh0W0GwLMBvpbzjcAZwMTKu5hAkiSlJ2BB4BuIef+BhxradcXEfe5GM84AbiY5D++klDkEtcJ2wFTgO6W8w1AmG/eH3gG2LKEZ12E3ORfltLBJJHEFzQYjRAbIR3ASOBm4/gA4FFKIwSgEY2WS0tslxjqTcoQ4Gngi5bzbcAxwPXG8V7I7e1nabcG+CGyTzacSycZLfUkZQjwGHmjbqId+AGyJ0EMAKahANGG04BbgSOB5y3XNAI/R15ZqlEvUr6C3N4w9xVEyAiKCdkGeBC5y2FYDxwP/Mn7+X3gIO9ZNpyBRkxjRJ8TQz1IGYCmrB6W82uAk9D0FEQfYBb5wNDEemAU8Bfj+EpgOHKZw+CPmMtcnU4StSZlZ+RlfdZyvgPZkJspFBJ7Aw/jnupOB64jXIBcAewPTHX07RzgPFI4YmpJyiBkQ7axnP8ExSKTjOO+2zvY0q4NOAX4fcTzPwQOAWY6rrkcuCLiPnVHrUjZHXgc2MRxzVHAHcax/sBD2G0IaKq7IWY/ViLZptVxzZnABTHvVxfUgpQd0JS1teV8G3A0MuBBDES2Z6Cl3Vpk1G+LeP5WFE5JbwHDgDmONpcAv4u4b91QbVL2QoS0WM53AMdR7GX1B55AL9SGs4gmpCcaoeZIWgUcDLxkaZdDNuriiPvXBdWUWQajiNtGCMC3gfuNY/3RCHERcirxxMW7vX5si4z9GcA679y76KOZgexdGMYAGyEnoD3G82qCao2UYSiathGyCvgpxVPWF5CHZCOkHXlIZoRvYlM0Qvfyfs55z7vLuG4lcAAw13KfBlJgY6pByjDkvroyh8cgbyn49Q1BU5YtoAR96VcQ/dVORC6wicOAayjMq7yDAswXHfcbC4wmIXW50oduD0xGX2oYViPp5B7j+DZoZLmM+mjgqpj9cMn4oyjORC4G9gXmOdqNJyEbUwkpuyAbsonjmmOBPxvH+qCRZSMSRMjVJfRlODDdcf5kNJUFvbLlwLeAlx3txqDprK4ol5SBwD+x24JVKA4xA8M+yKhvb2m3DvgRpVelLEbT6BTHNUcCN1GYVJvntXvV0W4cCjLrhnJI2Q0JfjbpBORlmUa2L/lcvA0jgVvK6JOPEWj02nA8sj9BrAb2QyVKYWhAzsYvKuhXSSjVJR6EElQ2cXEtSsE+Zhz31d6+jnuPIq/2lovlqCJmT/Qyc8b5Ru9YCxrNPpYgQodR7FS0o/iqS4V9i41SSBkKPIKdkDb0Qu5Dv7gvFPZCZUA2DWwtcD7VK6RbjmxWqVhCsVKdCOKSMgwR8nnL+bXIhvi/lE/IIOR52QgBBYY3xezHpwJxSNkXvdiNLedXIiM62TjeCzkDtpz6GpSizQgxEEXKXrgJATiCYuO6HTKoriKHkyhOUJWLJhSrNKG5f5Hj2s3JSy9QbHdM5ICuSKYJtmtA3ucaNDN84v2Jgz7etd1QtvTj4EkXKb7aayvDX4fiEJOQ7iinvpHj3qOpHiGg6fXv6OVtivtFP4o8wHWOa4LIISIPQAqEj3akCjR595qC1O8o9eE0pEh/4PX3YAzPz0bKPqgk1LUu4miK3Uu8Nq7lCBdS/VrfZqQQx5mOu+MOXG0I0/XOR79LM/n80D2OewxFaYIGlFWdSIgrHhan7IESTZtYbrwOuY9hhICG406Ei36jUW58vb3fZWE98VXdtWU+I+xDu4HCEX8r9jwSwG/JS0KL0IddhLAvK8y/DyJH9AuYD+yNiNkS/UK1GCGV4joUrEbl6ZuxF2KcDHwD2AKNwluRfGPal3OR0wSwDDlHoVNoGClTgUORextWxdiIhuhwinMjQXyIgrhHkLD4B8e1SWE+sn+VoB1N9zPQKNgf2dpgumEfCqtnrsWh1dlklqeQ9PCeozMTgRMjOrwACZdpJKSamIcWK/lT3ATyCngL0s78dz0TzRpWuLSvWWjE/NdyvhnNqUdGdHh5xPkNBZcBb3j/zqGUdwNKmO3hHV9M9PuKFCRnIFfQhRtR0qgzotqLVoMLnr4M3I6q/n1cCiyMukkclfglVFRnGzHdke//3Rj3ShuiAsdS0Qr8BHmDOQrfyQPEdHRy5r7EjiXbOyHDbovS1wPfRIa93tgHKdN+510v+1XyhRPzUOlRUEANIoeCw0Uo5x8XC1HU7mMJ0v9CvS1zyXYpKvFM5NI9T7gw2Qj8A/gxleVE6omB2FPSQbxSwj1bKH6v3ZG6/m6cG5Sa5JqHXL43LOe7orrg40q8b9pRSrnROFSlE0Q34F+4FZL/o5y6r9nIXZ6OAqYwTPA6cGMZ968nbkK1YmHBYy7wtys0CGIEStaBpvPrUDYVtOBpHKrQcZJcbjHeW8hdvp/wPH0LcpffRQYurZiLJKVqYHMKKzNnIYIWAFd6x04F/oq7yKOiapZZyMascFxzJ0oPb+hoQqPAt7Wr0UcLqnfzM6FdUN7JVUUam5Qm4PsUG/j5KOdic5e7oSniqJjP6az4Glpz6eNoJMyC8i1neX+D3uEtrpvFJWUkKq6eTHEVyxzgQAoLEUzcgSSZTrWePSZ6U5jbv4fiKfEVCl3qw1FyMBRRLymHZAJ/mcAuqCrFLDWdDewKLHU853qitbJyEaVs1wpdUAWO/+y30YzSZlyXQ7+/L/M3oak9tNwqipTTUVImiK+i+i1TQX4ZyS02dzmHfoFTYjy3VOSIT0o1nz0KTV0+jsBI7XrwA9OLyHtyjWiEFTlbrg4ORUmZsF92EJrKehrH5yBiXKnWa1FRXDWx3vsTJ4H1MfARSi2Um/ACZQ6vRGndj5AS7vSqgDfJu8jLUJRflOhyySwbew89yfGQl1Ayy/TA9kU1xK7SohFIAagGuqENE/xpY77j2t4oAdWICFpZ5jM3RrPFavS1f4TbrgbxJa/dWqB9RFtbQRwUpX11QS6di5jpaAh/aBzvi0aOrSJ+FeHbfXzqUOp2hWtQutNVAb8LEgPN6H4hWpD6H0u7FuQuW72QTyviGr2zcVee74TWGpqaz1w0ilxC3J0o0t0Q3eWyEFdmaUOu8TLsezT6e68cjFxDH61IWp9MeIF3I6ojXkf8pdhR6InsTNBJ6SDvOq8g3H3vT77SJhdo146m8iW4FYyqoFTt6wokQZ9J+Jc9GNUxDSUf0YLU5YPQpgW25XQTkP9eaaH3Ed69wkhpRob9QApJaUZ58/PJe45BUlpQkfohFfYtFsqZMs5Bnbdha1RJaO4Y8TpKgr1d1CLfl2uoLMAcjqbDHuhFdg38aSG/Fn+G0W4s2q+lybuuxWj3GiKk5qMEyp/Hx+EuqtsBFXebLvFMpJW9bmnXiKawUZbzLnwPVXXaarjeQ+67udxhDPrQbJiGUhV1IQQqM64Xkg+EwrAFivx3NI6/iYoxljnajkd5h7g4keK1lUGsQgVz5gi5Cvdi01aU1FtcQl8qRqUezwSkgNrQD01l5gZqi4CvYw/yGtDUYUPQVhyPRpdtu9sFSBoyo+2xqNja9g6eRnYwbiV91VANN3Q8UkBt2bQeyMDvahx/Ho2YJSFtLsC9H5fvSZ2Je33LSmTHgoQ0oYygqyDuRURIWN9qjmqQsh5F/a6lzZshdXkH4/hb6JdfGDh2GfG2Rh/pXeeyIYdSXPQwBomiNgFzAYqtTKW3bqhmwHYVqqpfYznfA9WH7WYcb0Uv4T1UrBa1CjeHgtmrsbv0H6AR8kzgWDMSWMc47v0yirPi5uRrgmpumNOBXtT7KG8Q9iX2QgmgwyncGXUeim3eifEcf2sQG5aiadHc4+sS4GeOdq1oio0rKtYMtZA2bkfeUFheAZQOfZhirywOIZcj5do29byDKv2DhHRHo/hsx31fR3FI4oRA7fSmm3ELjS1IkimlBvk83C92KXqxZgw0Fnd142zkndmC2rqjliLgZLSu3hZ09UQlrrtH3CeHMnaXYzfqrchWmfus+G6vbWQ9gVxzm5KdCGqtzE5EkbYtE9mA1OX9CX9xOWSYXTtvv4ls1ILAsUbkEbrc3lfRyIpVSlpP1EMufwjt92Wbr7uhgr2wqcwnxNbPOWhlsDllXYBcZtsImYa8s8TcXhfqlcO4C60DtC0gakGlOb4dakQG3TVCXkPSSVDtbQJ+A/zK0W4u8s5sBR6Jo57/VccUVJR3N+E7ILWg2rIGZGdc7uuzyBaY+fVxqALHhqlohyWbZ5gK1Pv/T5mMFNcHCd/esAVJ765yoWloRAUJ6YocgdMd7Z5G0r5LCE0FkkjBTkfTjm0+dxHiOwWmcR6Pm5BnkQ1JPSGQXF58OqUnjV5AnlyYausqZXq8jGcliiSLFZ5Aadk4q4dnodFlKyQ/gfD/nuM1NNV1GkIg+QqSF9BX7JLIp6KM4fuOa5aiaS243vI5r12nWzKeNCmgZWcHEK7MPoeMc5xEUwdajfsk8G/knSWq9paLNJACynnsh0o/fdyLNCmz8tKF5YjEPemEI8RHWkgBBXV7o1TxJJTmLacAewWlEZk6FNUSZ0geaRopGTxkpKQQGSkpREZKCpGRkkJkpKQQGSkpREZKCpGRkkJkpKQQGSkpREZKCpGRkkJkpKQQGSkpREZKCpGRkkL8D6t55YvlPPGUAAAAAElFTkSuQmCC"}},"time_used":5291,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5291,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/webfonts/fa-solid-900.woff2","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.225Z","timestamp":1785137065225,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/webfonts/fa-solid-900.woff2 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 137104\r\ncontent-type: font/woff2\r\nlast-modified: Sat, 19 Feb 2022 08:52:02 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256df63ab290\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":137104,"size_decoded":137403,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 137104, version 331.-31196","md5":"dbf1fc91f1beec2915123257ea4d58ef","sha1":"d2a6d5d31334f6d0831f1c17d26e23fe0aa6a8db","sha256":"8d4d29042c23b5fcbed3af690421776de0f8ad3d308d66e24a9d80bcc8ccb522","sha512":"72e9ccb5ce2d88aac739b513b95dfb7667cf80b617510aafeb2c72345c7cdc3459b7002c4a46afd967afc1e3cab091e078ea9cb6437550b4c7990009799128a2","ssdeep":"3072:6uGMxS/+gbEUbwrT4pZT630r3OhDkLWJZYa3se4YuOzf7ThRvu3jzJ8Va1I:9AmAZ230r3rLOSa3YOzf7NdYz6WI","tlshash":"d4d312268b70b42d28c791b85f30768b56d866c34fe151688cbade541b7ff8c836436e","first_seen":"2023-04-07T09:42:03Z","last_seen":"2026-08-19T16:39:19.929084Z","times_seen":11772,"resource_available":false,"data":"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"}},"time_used":6404,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1640,"receive":4764,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor_utils-473da.js?id=f4f87bd7de8925b6ccad","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.439Z","timestamp":1785137065439,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/vendor_utils-473da.js?id=f4f87bd7de8925b6ccad HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 09:35:32 GMT\r\naccept-ranges: bytes\r\netag: \"1d8257409e5188c\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":135820,"size_decoded":36545,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"30472921696bc321c338a8f15d2ff9b5","sha1":"67d059541b33921fd9a6f6b5f5b853cf4773cb67","sha256":"417c23c8e938d041cf57ba05dc67ebf37b142af63ff520369201adbf3ded14cb","sha512":"3e8064854f44591eaa17107c90ebbcf43e0fdd00dada4eb47c813387f92fabd4dd868458012603378f789fbd2cc97a0ce53ae8c9e07be018209e926ac2099d8d","ssdeep":"1536:ljMRDDa38NMbkUTIePqwzrwquQNbpYy3sI9SDgnRKhT18Lbkt/K6U70p:lODDyBbHIewquQeZK6U7q","tlshash":"79d31996739530770bc311a1c067760bf3b6456866098018b628c6fe7cbedc9b277bb9","first_seen":"2025-10-27T18:25:33.073368Z","last_seen":"2026-07-27T07:25:28.877975Z","times_seen":6,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rQXZhdHJhZGVycz1zZWxmLndlYnBhY2tDaHVua0F2YXRyYWRlcnN8fFtdKS5wdXNoKFtbOTY5XSx7NDQ3NTk6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse0Fib3J0RXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sRGVmYXVsdEh0dHBDbGllbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gTH0sSHR0cENsaWVudDpmdW5jdGlvbigpe3JldHVybiBofSxIdHRwRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gcn0sSHR0cFJlc3BvbnNlOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LEh0dHBUcmFuc3BvcnRUeXBlOmZ1bmN0aW9uKCl7cmV0dXJuIHF9LEh1YkNvbm5lY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gVn0sSHViQ29ubmVjdGlvbkJ1aWxkZXI6ZnVuY3Rpb24oKXtyZXR1cm4gZWV9LEh1YkNvbm5lY3Rpb25TdGF0ZTpmdW5jdGlvbigpe3JldHVybiBqfSxKc29uSHViUHJvdG9jb2w6ZnVuY3Rpb24oKXtyZXR1cm4gWX0sTG9nTGV2ZWw6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sTWVzc2FnZVR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gQX0sTnVsbExvZ2dlcjpmdW5jdGlvbigpe3JldHVybiBnfSxTdWJqZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIFV9LFRpbWVvdXRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBvfSxUcmFuc2ZlckZvcm1hdDpmdW5jdGlvbigpe3JldHVybiBCfSxWRVJTSU9OOmZ1bmN0aW9uKCl7cmV0dXJuIG19fSk7Y2xhc3MgciBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7Y29uc3Qgbj1uZXcudGFyZ2V0LnByb3RvdHlwZTtzdXBlcihgJHtlfTogU3RhdHVzIGNvZGUgJyR7dH0nYCksdGhpcy5zdGF0dXNDb2RlPXQsdGhpcy5fX3Byb3RvX189bn19Y2xhc3MgbyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGU9IkEgdGltZW91dCBvY2N1cnJlZC4iKXtjb25zdCB0PW5ldy50YXJnZXQucHJvdG90eXBlO3N1cGVyKGUpLHRoaXMuX19wcm90b19fPXR9fWNsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlPSJBbiBhYm9ydCBvY2N1cnJlZC4iKXtjb25zdCB0PW5ldy50YXJnZXQucHJvdG90eXBlO3N1cGVyKGUpLHRoaXMuX19wcm90b19fPXR9fWNsYXNzIHMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQpe2NvbnN0IG49bmV3LnRhcmdldC5wcm90b3R5cGU7c3VwZXIoZSksdGhpcy50cmFuc3BvcnQ9dCx0aGlzLmVycm9yVHlwZT0iVW5zdXBwb3J0ZWRUcmFuc3BvcnRFcnJvciIsdGhpcy5fX3Byb3RvX189bn19Y2xhc3MgYSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7Y29uc3Qgbj1uZXcudGFyZ2V0LnByb3RvdHlwZTtzdXBlcihlKSx0aGlzLnRyYW5zcG9ydD10LHRoaXMuZXJyb3JUeXBlPSJEaXNhYmxlZFRyYW5zcG9ydEVycm9yIix0aGlzLl9fcHJvdG9fXz1ufX1jbGFzcyBsIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtjb25zdCBuPW5ldy50YXJnZXQucHJvdG90eXBlO3N1cGVyKGUpLHRoaXMudHJhbnNwb3J0PXQsdGhpcy5lcnJvclR5cGU9IkZhaWxlZFRvU3RhcnRUcmFuc3BvcnRFcnJvciIsdGhpcy5fX3Byb3RvX189bn19Y2xhc3MgYyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUpe2NvbnN0IHQ9bmV3LnRhcmdldC5wcm90b3R5cGU7c3VwZXIoZSksdGhpcy5lcnJvclR5cGU9IkZhaWxlZFRvTmVnb3RpYXRlV2l0aFNlcnZlckVycm9yIix0aGlzLl9fcHJvdG9fXz10fX1jbGFzcyB1IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtjb25zdCBuPW5ldy50YXJnZXQucHJvdG90eXBlO3N1cGVyKGUpLHRoaXMuaW5uZXJFcnJvcnM9dCx0aGlzLl9fcHJvdG9fXz1ufX1jbGFzcyBke2NvbnN0cnVjdG9yKGUsdCxuKXt0aGlzLnN0YXR1c0NvZGU9ZSx0aGlzLnN0YXR1c1RleHQ9dCx0aGlzLmNvbnRlbnQ9bn19Y2xhc3MgaHtnZXQoZSx0KXtyZXR1cm4gdGhpcy5zZW5kKHsuLi50LG1ldGhvZDoiR0VUIix1cmw6ZX0pfXBvc3QoZSx0KXtyZXR1cm4gdGhpcy5zZW5kKHsuLi50LG1ldGhvZDoiUE9TVCIsdXJsOmV9KX1kZWxldGUoZSx0KXtyZXR1cm4gdGhpcy5zZW5kKHsuLi50LG1ldGhvZDoiREVMRVRFIix1cmw6ZX0pfWdldENvb2tpZVN0cmluZyhlKXtyZXR1cm4iIn19dmFyIGY7IWZ1bmN0aW9uKGUpe2VbZS5UcmFjZT0wXT0iVHJhY2UiLGVbZS5EZWJ1Zz0xXT0iRGVidWciLGVbZS5JbmZvcm1hdGlvbj0yXT0iSW5mb3JtYXRpb24iLGVbZS5XYXJuaW5nPTNdPSJXYXJuaW5nIixlW2UuRXJyb3I9NF09IkVycm9yIixlW2UuQ3JpdGljYWw9NV09IkNyaXRpY2FsIixlW2UuTm9uZT02XT0iTm9uZSJ9KGZ8fChmPXt9KSk7Y2xhc3MgZ3tjb25zdHJ1Y3Rvcigpe31sb2coZSx0KXt9fWcuaW5zdGFuY2U9bmV3IGc7dmFyIHA9bigzNDE1NSk7Y29uc3QgbT0iNi4wLjAiO2NsYXNzIHZ7c3RhdGljIGlzUmVxdWlyZWQoZSx0KXtpZihudWxsPT1lKXRocm93IG5ldyBFcnJvcihgVGhlICcke3R9JyBhcmd1bWVudCBpcyByZXF1aXJlZC5gKX1zdGF0aWMgaXNOb3RFbXB0eShlLHQpe2lmKCFlfHxlLm1hdGNoKC9eXHMqJC8pKXRocm93IG5ldyBFcnJvcihgVGhlICcke3R9JyBhcmd1bWVudCBzaG91bGQgbm90IGJlIGVtcHR5LmApfXN0YXRpYyBpc0luKGUsdCxuKXtpZighKGUgaW4gdCkpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duICR7bn0gdmFsdWU6ICR7ZX0uYCl9fWNsYXNzIHd7c3RhdGljIGdldCBpc0Jyb3dzZXIoKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHdpbmRvd31zdGF0aWMgZ2V0IGlzV2ViV29ya2VyKCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBzZWxmJiYiaW1wb3J0U2NyaXB0cyJpbiBzZWxmfXN0YXRpYyBnZXQgaXNOb2RlKCl7cmV0dXJuIXRoaXMuaXNCcm93c2VyJiYhdGhpcy5pc1dlYldvcmtlcn19ZnVuY3Rpb24gYihlLHQpe2xldCBuPSIiO3JldHVybiB5KGUpPyhuPWBCaW5hcnkgZGF0YSBvZiBsZW5ndGggJHtlLmJ5dGVMZW5ndGh9YCx0JiYobis9YC4gQ29udGVudDogJyR7ZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgVWludDhBcnJheShlKTtsZXQgbj0iIjtyZXR1cm4gdC5mb3JFYWNoKChlPT57bis9YDB4JHtlPDE2PyIwIjoiIn0ke2UudG9TdHJpbmcoMTYpfSBgfSkpLG4uc3Vic3RyKDAsbi5sZW5ndGgtMSl9KGUpfSdgKSk6InN0cmluZyI9PXR5cGVvZiBlJiYobj1gU3RyaW5nIGRhdGEgb2YgbGVuZ3RoICR7ZS5sZW5ndGh9YCx0JiYobis9YC4gQ29udGVudDogJyR7ZX0nYCkpLG59ZnVuY3Rpb24geShlKXtyZXR1cm4gZSYmInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcnx8ZS5jb25zdHJ1Y3RvciYmIkFycmF5QnVmZmVyIj09PWUuY29uc3RydWN0b3IubmFtZSl9YXN5bmMgZnVuY3Rpb24gXyhlLHQsbixyLG8saSxzKXtsZXQgYT17fTtpZihvKXtjb25zdCBlPWF3YWl0IG8oKTtlJiYoYT17QXV0aG9yaXphdGlvbjpgQmVhcmVyICR7ZX1gfSl9Y29uc3RbbCxjXT1rKCk7YVtsXT1jLGUubG9nKGYuVHJhY2UsYCgke3R9IHRyYW5zcG9ydCkgc2VuZGluZyBkYXRhLiAke2IoaSxzLmxvZ01lc3NhZ2VDb250ZW50KX0uYCk7Y29uc3QgdT15KGkpPyJhcnJheWJ1ZmZlciI6InRleHQiLGQ9YXdhaXQgbi5wb3N0KHIse2NvbnRlbnQ6aSxoZWFkZXJzOnsuLi5hLC4uLnMuaGVhZGVyc30scmVzcG9uc2VUeXBlOnUsdGltZW91dDpzLnRpbWVvdXQsd2l0aENyZWRlbnRpYWxzOnMud2l0aENyZWRlbnRpYWxzfSk7ZS5sb2coZi5UcmFjZSxgKCR7dH0gdHJhbnNwb3J0KSByZXF1ZXN0IGNvbXBsZXRlLiBSZXNwb25zZSBzdGF0dXM6ICR7ZC5zdGF0dXNDb2RlfS5gKX1jbGFzcyBTe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fc3ViamVjdD1lLHRoaXMuX29ic2VydmVyPXR9ZGlzcG9zZSgpe2NvbnN0IGU9dGhpcy5fc3ViamVjdC5vYnNlcnZlcnMuaW5kZXhPZih0aGlzLl9vYnNlcnZlcik7ZT4tMSYmdGhpcy5fc3ViamVjdC5vYnNlcnZlcnMuc3BsaWNlKGUsMSksMD09PXRoaXMuX3N1YmplY3Qub2JzZXJ2ZXJzLmxlbmd0aCYmdGhpcy5fc3ViamVjdC5jYW5jZWxDYWxsYmFjayYmdGhpcy5fc3ViamVjdC5jYW5jZWxDYWxsYmFjaygpLmNhdGNoKChlPT57fSkpfX1jbGFzcyBUe2NvbnN0cnVjdG9yKGUpe3RoaXMuX21pbkxldmVsPWUsdGhpcy5vdXQ9Y29uc29sZX1sb2coZSx0KXtpZihlPj10aGlzLl9taW5MZXZlbCl7Y29uc3Qgbj1gWyR7KG5ldyBEYXRlKS50b0lTT1N0cmluZygpfV0gJHtmW2VdfTogJHt0fWA7c3dpdGNoKGUpe2Nhc2UgZi5Dcml0aWNhbDpjYXNlIGYuRXJyb3I6dGhpcy5vdXQuZXJyb3Iobik7YnJlYWs7Y2FzZSBmLldhcm5pbmc6dGhpcy5vdXQud2FybihuKTticmVhaztjYXNlIGYuSW5mb3JtYXRpb246dGhpcy5vdXQuaW5mbyhuKTticmVhaztkZWZhdWx0OnRoaXMub3V0LmxvZyhuKX19fX1mdW5jdGlvbiBrKCl7bGV0IGU9IlgtU2lnbmFsUi1Vc2VyLUFnZW50IjtyZXR1cm4gdy5pc05vZGUmJihlPSJVc2VyLUFnZW50IiksW2UsRShtLEMoKSxNKCksUCgpKV19ZnVuY3Rpb24gRShlLHQsbixyKXtsZXQgbz0iTWljcm9zb2Z0IFNpZ25hbFIvIjtjb25zdCBpPWUuc3BsaXQoIi4iKTtyZXR1cm4gbys9YCR7aVswXX0uJHtpWzFdfWAsbys9YCAoJHtlfTsgYCxvKz10JiYiIiE9PXQ/YCR7dH07IGA6IlVua25vd24gT1M7ICIsbys9YCR7bn1gLG8rPXI/YDsgJHtyfWA6IjsgVW5rbm93biBSdW50aW1lIFZlcnNpb24iLG8rPSIpIixvfWZ1bmN0aW9uIEMoKXtpZighdy5pc05vZGUpcmV0dXJuIiI7c3dpdGNoKHAucGxhdGZvcm0pe2Nhc2Uid2luMzIiOnJldHVybiJXaW5kb3dzIE5UIjtjYXNlImRhcndpbiI6cmV0dXJuIm1hY09TIjtjYXNlImxpbnV4IjpyZXR1cm4iTGludXgiO2RlZmF1bHQ6cmV0dXJuIHAucGxhdGZvcm19fWZ1bmN0aW9uIFAoKXtpZih3LmlzTm9kZSlyZXR1cm4gcC52ZXJzaW9ucy5ub2RlfWZ1bmN0aW9uIE0oKXtyZXR1cm4gdy5pc05vZGU/Ik5vZGVKUyI6IkJyb3dzZXIifWZ1bmN0aW9uIFIoZSl7cmV0dXJuIGUuc3RhY2s/ZS5zdGFjazplLm1lc3NhZ2U/ZS5tZXNzYWdlOmAke2V9YH1jbGFzcyB4IGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlKXtpZihzdXBlcigpLHRoaXMuX2xvZ2dlcj1lLCJ1bmRlZmluZWQiPT10eXBlb2YgZmV0Y2gpe2NvbnN0IGU9cmVxdWlyZTt0aGlzLl9qYXI9bmV3KGUoInRvdWdoLWNvb2tpZSIpLkNvb2tpZUphciksdGhpcy5fZmV0Y2hUeXBlPWUoIm5vZGUtZmV0Y2giKSx0aGlzLl9mZXRjaFR5cGU9ZSgiZmV0Y2gtY29va2llIikodGhpcy5fZmV0Y2hUeXBlLHRoaXMuX2phcil9ZWxzZSB0aGlzLl9mZXRjaFR5cGU9ZmV0Y2guYmluZChmdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpcztpZigidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYpcmV0dXJuIHNlbGY7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvdztpZih2b2lkIDAhPT1uLmcpcmV0dXJuIG4uZzt0aHJvdyBuZXcgRXJyb3IoImNvdWxkIG5vdCBmaW5kIGdsb2JhbCIpfSgpKTtpZigidW5kZWZpbmVkIj09dHlwZW9mIEFib3J0Q29udHJvbGxlcil7Y29uc3QgZT1yZXF1aXJlO3RoaXMuX2Fib3J0Q29udHJvbGxlclR5cGU9ZSgiYWJvcnQtY29udHJvbGxlciIpfWVsc2UgdGhpcy5fYWJvcnRDb250cm9sbGVyVHlwZT1BYm9ydENvbnRyb2xsZXJ9YXN5bmMgc2VuZChlKXtpZihlLmFib3J0U2lnbmFsJiZlLmFib3J0U2lnbmFsLmFib3J0ZWQpdGhyb3cgbmV3IGk7aWYoIWUubWV0aG9kKXRocm93IG5ldyBFcnJvcigiTm8gbWV0aG9kIGRlZmluZWQuIik7aWYoIWUudXJsKXRocm93IG5ldyBFcnJvcigiTm8gdXJsIGRlZmluZWQuIik7Y29uc3QgdD1uZXcgdGhpcy5fYWJvcnRDb250cm9sbGVyVHlwZTtsZXQgbjtlLmFib3J0U2lnbmFsJiYoZS5hYm9ydFNpZ25hbC5vbmFib3J0PSgpPT57dC5hYm9ydCgpLG49bmV3IGl9KTtsZXQgcyxhPW51bGw7aWYoZS50aW1lb3V0KXtjb25zdCByPWUudGltZW91dDthPXNldFRpbWVvdXQoKCgpPT57dC5hYm9ydCgpLHRoaXMuX2xvZ2dlci5sb2coZi5XYXJuaW5nLCJUaW1lb3V0IGZyb20gSFRUUCByZXF1ZXN0LiIpLG49bmV3IG99KSxyKX10cnl7cz1hd2FpdCB0aGlzLl9mZXRjaFR5cGUoZS51cmwse2JvZHk6ZS5jb250ZW50LGNhY2hlOiJuby1jYWNoZSIsY3JlZGVudGlhbHM6ITA9PT1lLndpdGhDcmVkZW50aWFscz8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoidGV4dC9wbGFpbjtjaGFyc2V0PVVURi04IiwiWC1SZXF1ZXN0ZWQtV2l0aCI6IlhNTEh0dHBSZXF1ZXN0IiwuLi5lLmhlYWRlcnN9LG1ldGhvZDplLm1ldGhvZCxtb2RlOiJjb3JzIixyZWRpcmVjdDoiZm9sbG93IixzaWduYWw6dC5zaWduYWx9KX1jYXRjaChlKXtpZihuKXRocm93IG47dGhyb3cgdGhpcy5fbG9nZ2VyLmxvZyhmLldhcm5pbmcsYEVycm9yIGZyb20gSFRUUCByZXF1ZXN0LiAke2V9LmApLGV9ZmluYWxseXthJiZjbGVhclRpbWVvdXQoYSksZS5hYm9ydFNpZ25hbCYmKGUuYWJvcnRTaWduYWwub25hYm9ydD1udWxsKX1pZighcy5vayl7Y29uc3QgZT1hd2FpdCBJKHMsInRleHQiKTt0aHJvdyBuZXcgcihlfHxzLnN0YXR1c1RleHQscy5zdGF0dXMpfWNvbnN0IGw9SShzLGUucmVzcG9uc2VUeXBlKSxjPWF3YWl0IGw7cmV0dXJuIG5ldyBkKHMuc3RhdHVzLHMuc3RhdHVzVGV4dCxjKX1nZXRDb29raWVTdHJpbmcoZSl7bGV0IHQ9IiI7cmV0dXJuIHcuaXNOb2RlJiZ0aGlzLl9qYXImJnRoaXMuX2phci5nZXRDb29raWVzKGUsKChlLG4pPT50PW4uam9pbigiOyAiKSkpLHR9fWZ1bmN0aW9uIEkoZSx0KXtsZXQgbjtzd2l0Y2godCl7Y2FzZSJhcnJheWJ1ZmZlciI6bj1lLmFycmF5QnVmZmVyKCk7YnJlYWs7ZGVmYXVsdDpuPWUudGV4dCgpO2JyZWFrO2Nhc2UiYmxvYiI6Y2FzZSJkb2N1bWVudCI6Y2FzZSJqc29uIjp0aHJvdyBuZXcgRXJyb3IoYCR7dH0gaXMgbm90IHN1cHBvcnRlZC5gKX1yZXR1cm4gbn1jbGFzcyBOIGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2xvZ2dlcj1lfXNlbmQoZSl7cmV0dXJuIGUuYWJvcnRTaWduYWwmJmUuYWJvcnRTaWduYWwuYWJvcnRlZD9Qcm9taXNlLnJlamVjdChuZXcgaSk6ZS5tZXRob2Q/ZS51cmw/bmV3IFByb21pc2UoKCh0LG4pPT57Y29uc3Qgcz1uZXcgWE1MSHR0cFJlcXVlc3Q7cy5vcGVuKGUubWV0aG9kLGUudXJsLCEwKSxzLndpdGhDcmVkZW50aWFscz12b2lkIDA9PT1lLndpdGhDcmVkZW50aWFsc3x8ZS53aXRoQ3JlZGVudGlhbHMscy5zZXRSZXF1ZXN0SGVhZGVyKCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKSxzLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsInRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCIpO2NvbnN0IGE9ZS5oZWFkZXJzO2EmJk9iamVjdC5rZXlzKGEpLmZvckVhY2goKGU9PntzLnNldFJlcXVlc3RIZWFkZXIoZSxhW2VdKX0pKSxlLnJlc3BvbnNlVHlwZSYmKHMucmVzcG9uc2VUeXBlPWUucmVzcG9uc2VUeXBlKSxlLmFib3J0U2lnbmFsJiYoZS5hYm9ydFNpZ25hbC5vbmFib3J0PSgpPT57cy5hYm9ydCgpLG4obmV3IGkpfSksZS50aW1lb3V0JiYocy50aW1lb3V0PWUudGltZW91dCkscy5vbmxvYWQ9KCk9PntlLmFib3J0U2lnbmFsJiYoZS5hYm9ydFNpZ25hbC5vbmFib3J0PW51bGwpLHMuc3RhdHVzPj0yMDAmJnMuc3RhdHVzPDMwMD90KG5ldyBkKHMuc3RhdHVzLHMuc3RhdHVzVGV4dCxzLnJlc3BvbnNlfHxzLnJlc3BvbnNlVGV4dCkpOm4obmV3IHIocy5yZXNwb25zZXx8cy5yZXNwb25zZVRleHR8fHMuc3RhdHVzVGV4dCxzLnN0YXR1cykpfSxzLm9uZXJyb3I9KCk9Pnt0aGlzLl9sb2dnZXIubG9nKGYuV2FybmluZyxgRXJyb3IgZnJvbSBIVFRQIHJlcXVlc3QuICR7cy5zdGF0dXN9OiAke3Muc3RhdHVzVGV4dH0uYCksbihuZXcgcihzLnN0YXR1c1RleHQscy5zdGF0dXMpKX0scy5vbnRpbWVvdXQ9KCk9Pnt0aGlzLl9sb2dnZXIubG9nKGYuV2FybmluZywiVGltZW91dCBmcm9tIEhUVFAgcmVxdWVzdC4iKSxuKG5ldyBvKX0scy5zZW5kKGUuY29udGVudHx8IiIpfSkpOlByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiTm8gdXJsIGRlZmluZWQuIikpOlByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiTm8gbWV0aG9kIGRlZmluZWQuIikpfX1jbGFzcyBMIGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlKXtpZihzdXBlcigpLCJ1bmRlZmluZWQiIT10eXBlb2YgZmV0Y2h8fHcuaXNOb2RlKXRoaXMuX2h0dHBDbGllbnQ9bmV3IHgoZSk7ZWxzZXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFhNTEh0dHBSZXF1ZXN0KXRocm93IG5ldyBFcnJvcigiTm8gdXNhYmxlIEh0dHBDbGllbnQgZm91bmQuIik7dGhpcy5faHR0cENsaWVudD1uZXcgTihlKX19c2VuZChlKXtyZXR1cm4gZS5hYm9ydFNpZ25hbCYmZS5hYm9ydFNpZ25hbC5hYm9ydGVkP1Byb21pc2UucmVqZWN0KG5ldyBpKTplLm1ldGhvZD9lLnVybD90aGlzLl9odHRwQ2xpZW50LnNlbmQoZSk6UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJObyB1cmwgZGVmaW5lZC4iKSk6UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJObyBtZXRob2QgZGVmaW5lZC4iKSl9Z2V0Q29va2llU3RyaW5nKGUpe3JldHVybiB0aGlzLl9odHRwQ2xpZW50LmdldENvb2tpZVN0cmluZyhlKX19Y2xhc3MgRHtzdGF0aWMgd3JpdGUoZSl7cmV0dXJuYCR7ZX0ke0QuUmVjb3JkU2VwYXJhdG9yfWB9c3RhdGljIHBhcnNlKGUpe2lmKGVbZS5sZW5ndGgtMV0hPT1ELlJlY29yZFNlcGFyYXRvcil0aHJvdyBuZXcgRXJyb3IoIk1lc3NhZ2UgaXMgaW5jb21wbGV0ZS4iKTtjb25zdCB0PWUuc3BsaXQoRC5SZWNvcmRTZXBhcmF0b3IpO3JldHVybiB0LnBvcCgpLHR9fUQuUmVjb3JkU2VwYXJhdG9yQ29kZT0zMCxELlJlY29yZFNlcGFyYXRvcj1TdHJpbmcuZnJvbUNoYXJDb2RlKEQuUmVjb3JkU2VwYXJhdG9yQ29kZSk7Y2xhc3MgT3t3cml0ZUhhbmRzaGFrZVJlcXVlc3QoZSl7cmV0dXJuIEQud3JpdGUoSlNPTi5zdHJpbmdpZnkoZSkpfXBhcnNlSGFuZHNoYWtlUmVzcG9uc2UoZSl7bGV0IHQsbjtpZih5KGUpKXtjb25zdCByPW5ldyBVaW50OEFycmF5KGUpLG89ci5pbmRleE9mKEQuUmVjb3JkU2VwYXJhdG9yQ29kZSk7aWYoLTE9PT1vKXRocm93IG5ldyBFcnJvcigiTWVzc2FnZSBpcyBpbmNvbXBsZXRlLiIpO2NvbnN0IGk9bysxO3Q9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHIuc2xpY2UoMCxpKSkpLG49ci5ieXRlTGVuZ3RoPmk/ci5zbGljZShpKS5idWZmZXI6bnVsbH1lbHNle2NvbnN0IHI9ZSxvPXIuaW5kZXhPZihELlJlY29yZFNlcGFyYXRvcik7aWYoLTE9PT1vKXRocm93IG5ldyBFcnJvcigiTWVzc2FnZSBpcyBpbmNvbXBsZXRlLiIpO2NvbnN0IGk9bysxO3Q9ci5zdWJzdHJpbmcoMCxpKSxuPXIubGVuZ3RoPmk/ci5zdWJzdHJpbmcoaSk6bnVsbH1jb25zdCByPUQucGFyc2UodCksbz1KU09OLnBhcnNlKHJbMF0pO2lmKG8udHlwZSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIGEgaGFuZHNoYWtlIHJlc3BvbnNlIGZyb20gdGhlIHNlcnZlci4iKTtyZXR1cm5bbixvXX19dmFyIEE7IWZ1bmN0aW9uKGUpe2VbZS5JbnZvY2F0aW9uPTFdPSJJbnZvY2F0aW9uIixlW2UuU3RyZWFtSXRlbT0yXT0iU3RyZWFtSXRlbSIsZVtlLkNvbXBsZXRpb249M109IkNvbXBsZXRpb24iLGVbZS5TdHJlYW1JbnZvY2F0aW9uPTRdPSJTdHJlYW1JbnZvY2F0aW9uIixlW2UuQ2FuY2VsSW52b2NhdGlvbj01XT0iQ2FuY2VsSW52b2NhdGlvbiIsZVtlLlBpbmc9Nl09IlBpbmciLGVbZS5DbG9zZT03XT0iQ2xvc2UifShBfHwoQT17fSkpO2NsYXNzIFV7Y29uc3RydWN0b3IoKXt0aGlzLm9ic2VydmVycz1bXX1uZXh0KGUpe2Zvcihjb25zdCB0IG9mIHRoaXMub2JzZXJ2ZXJzKXQubmV4dChlKX1lcnJvcihlKXtmb3IoY29uc3QgdCBvZiB0aGlzLm9ic2VydmVycyl0LmVycm9yJiZ0LmVycm9yKGUpfWNvbXBsZXRlKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5vYnNlcnZlcnMpZS5jb21wbGV0ZSYmZS5jb21wbGV0ZSgpfXN1YnNjcmliZShlKXtyZXR1cm4gdGhpcy5vYnNlcnZlcnMucHVzaChlKSxuZXcgUyh0aGlzLGUpfX12YXIgajshZnVuY3Rpb24oZSl7ZS5EaXNjb25uZWN0ZWQ9IkRpc2Nvbm5lY3RlZCIsZS5Db25uZWN0aW5nPSJDb25uZWN0aW5nIixlLkNvbm5lY3RlZD0iQ29ubmVjdGVkIixlLkRpc2Nvbm5lY3Rpbmc9IkRpc2Nvbm5lY3RpbmciLGUuUmVjb25uZWN0aW5nPSJSZWNvbm5lY3RpbmcifShqfHwoaj17fSkpO2NsYXNzIFZ7Y29uc3RydWN0b3IoZSx0LG4scil7dGhpcy5fbmV4dEtlZXBBbGl2ZT0wLHRoaXMuX2ZyZWV6ZUV2ZW50TGlzdGVuZXI9KCk9Pnt0aGlzLl9sb2dnZXIubG9nKGYuV2FybmluZywiVGhlIHBhZ2UgaXMgYmVpbmcgZnJvemVuLCB0aGlzIHdpbGwgbGlrZWx5IGxlYWQgdG8gdGhlIGNvbm5lY3Rpb24gYmVpbmcgY2xvc2VkIGFuZCBtZXNzYWdlcyBiZWluZyBsb3N0LiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGhlIGRvY3MgYXQgaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vYXNwbmV0L2NvcmUvc2lnbmFsci9qYXZhc2NyaXB0LWNsaWVudCNic2xlZXAiKX0sdi5pc1JlcXVpcmVkKGUsImNvbm5lY3Rpb24iKSx2LmlzUmVxdWlyZWQodCwibG9nZ2VyIiksdi5pc1JlcXVpcmVkKG4sInByb3RvY29sIiksdGhpcy5zZXJ2ZXJUaW1lb3V0SW5NaWxsaXNlY29uZHM9M2U0LHRoaXMua2VlcEFsaXZlSW50ZXJ2YWxJbk1pbGxpc2Vjb25kcz0xNWUzLHRoaXMuX2xvZ2dlcj10LHRoaXMuX3Byb3RvY29sPW4sdGhpcy5jb25uZWN0aW9uPWUsdGhpcy5fcmVjb25uZWN0UG9saWN5PXIsdGhpcy5faGFuZHNoYWtlUHJvdG9jb2w9bmV3IE8sdGhpcy5jb25uZWN0aW9uLm9ucmVjZWl2ZT1lPT50aGlzLl9wcm9jZXNzSW5jb21pbmdEYXRhKGUpLHRoaXMuY29ubmVjdGlvbi5vbmNsb3NlPWU9PnRoaXMuX2Nvbm5lY3Rpb25DbG9zZWQoZSksdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXMuX21ldGhvZHM9e30sdGhpcy5fY2xvc2VkQ2FsbGJhY2tzPVtdLHRoaXMuX3JlY29ubmVjdGluZ0NhbGxiYWNrcz1bXSx0aGlzLl9yZWNvbm5lY3RlZENhbGxiYWNrcz1bXSx0aGlzLl9pbnZvY2F0aW9uSWQ9MCx0aGlzLl9yZWNlaXZlZEhhbmRzaGFrZVJlc3BvbnNlPSExLHRoaXMuX2Nvbm5lY3Rpb25TdGF0ZT1qLkRpc2Nvbm5lY3RlZCx0aGlzLl9jb25uZWN0aW9uU3RhcnRlZD0hMSx0aGlzLl9jYWNoZWRQaW5nTWVzc2FnZT10aGlzLl9wcm90b2NvbC53cml0ZU1lc3NhZ2Uoe3R5cGU6QS5QaW5nfSl9c3RhdGljIGNyZWF0ZShlLHQsbixyKXtyZXR1cm4gbmV3IFYoZSx0LG4scil9Z2V0IHN0YXRlKCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25TdGF0ZX1nZXQgY29ubmVjdGlvbklkKCl7cmV0dXJuIHRoaXMuY29ubmVjdGlvbiYmdGhpcy5jb25uZWN0aW9uLmNvbm5lY3Rpb25JZHx8bnVsbH1nZXQgYmFzZVVybCgpe3JldHVybiB0aGlzLmNvbm5lY3Rpb24uYmFzZVVybHx8IiJ9c2V0IGJhc2VVcmwoZSl7aWYodGhpcy5fY29ubmVjdGlvblN0YXRlIT09ai5EaXNjb25uZWN0ZWQmJnRoaXMuX2Nvbm5lY3Rpb25TdGF0ZSE9PWouUmVjb25uZWN0aW5nKXRocm93IG5ldyBFcnJvcigiVGhlIEh1YkNvbm5lY3Rpb24gbXVzdCBiZSBpbiB0aGUgRGlzY29ubmVjdGVkIG9yIFJlY29ubmVjdGluZyBzdGF0ZSB0byBjaGFuZ2UgdGhlIHVybC4iKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBIdWJDb25uZWN0aW9uIHVybCBtdXN0IGJlIGEgdmFsaWQgdXJsLiIpO3RoaXMuY29ubmVjdGlvbi5iYXNlVXJsPWV9c3RhcnQoKXtyZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlPXRoaXMuX3N0YXJ0V2l0aFN0YXRlVHJhbnNpdGlvbnMoKSx0aGlzLl9zdGFydFByb21pc2V9YXN5bmMgX3N0YXJ0V2l0aFN0YXRlVHJhbnNpdGlvbnMoKXtpZih0aGlzLl9jb25uZWN0aW9uU3RhdGUhPT1qLkRpc2Nvbm5lY3RlZClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJDYW5ub3Qgc3RhcnQgYSBIdWJDb25uZWN0aW9uIHRoYXQgaXMgbm90IGluIHRoZSAnRGlzY29ubmVjdGVkJyBzdGF0ZS4iKSk7dGhpcy5fY29ubmVjdGlvblN0YXRlPWouQ29ubmVjdGluZyx0aGlzLl9sb2dnZXIubG9nKGYuRGVidWcsIlN0YXJ0aW5nIEh1YkNvbm5lY3Rpb24uIik7dHJ5e2F3YWl0IHRoaXMuX3N0YXJ0SW50ZXJuYWwoKSx3LmlzQnJvd3NlciYmZG9jdW1lbnQmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZyZWV6ZSIsdGhpcy5fZnJlZXplRXZlbnRMaXN0ZW5lciksdGhpcy5fY29ubmVjdGlvblN0YXRlPWouQ29ubmVjdGVkLHRoaXMuX2Nvbm5lY3Rpb25TdGFydGVkPSEwLHRoaXMuX2xvZ2dlci5sb2coZi5EZWJ1ZywiSHViQ29ubmVjdGlvbiBjb25uZWN0ZWQgc3VjY2Vzc2Z1bGx5LiIpfWNhdGNoKGUpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uU3RhdGU9ai5EaXNjb25uZWN0ZWQsdGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLGBIdWJDb25uZWN0aW9uIGZhaWxlZCB0byBzdGFydCBzdWNjZXNzZnVsbHkgYmVjYXVzZSBvZiBlcnJvciAnJHtlfScuYCksUHJvbWlzZS5yZWplY3QoZSl9fWFzeW5jIF9zdGFydEludGVybmFsKCl7dGhpcy5fc3RvcER1cmluZ1N0YXJ0RXJyb3I9dm9pZCAwLHRoaXMuX3JlY2VpdmVkSGFuZHNoYWtlUmVzcG9uc2U9ITE7Y29uc3QgZT1uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9oYW5kc2hha2VSZXNvbHZlcj1lLHRoaXMuX2hhbmRzaGFrZVJlamVjdGVyPXR9KSk7YXdhaXQgdGhpcy5jb25uZWN0aW9uLnN0YXJ0KHRoaXMuX3Byb3RvY29sLnRyYW5zZmVyRm9ybWF0KTt0cnl7Y29uc3QgdD17cHJvdG9jb2w6dGhpcy5fcHJvdG9jb2wubmFtZSx2ZXJzaW9uOnRoaXMuX3Byb3RvY29sLnZlcnNpb259O2lmKHRoaXMuX2xvZ2dlci5sb2coZi5EZWJ1ZywiU2VuZGluZyBoYW5kc2hha2UgcmVxdWVzdC4iKSxhd2FpdCB0aGlzLl9zZW5kTWVzc2FnZSh0aGlzLl9oYW5kc2hha2VQcm90b2NvbC53cml0ZUhhbmRzaGFrZVJlcXVlc3QodCkpLHRoaXMuX2xvZ2dlci5sb2coZi5JbmZvcm1hdGlvbixgVXNpbmcgSHViUHJvdG9jb2wgJyR7dGhpcy5fcHJvdG9jb2wubmFtZX0nLmApLHRoaXMuX2NsZWFudXBUaW1lb3V0KCksdGhpcy5fcmVzZXRUaW1lb3V0UGVyaW9kKCksdGhpcy5fcmVzZXRLZWVwQWxpdmVJbnRlcnZhbCgpLGF3YWl0IGUsdGhpcy5fc3RvcER1cmluZ1N0YXJ0RXJyb3IpdGhyb3cgdGhpcy5fc3RvcER1cmluZ1N0YXJ0RXJyb3J9Y2F0Y2goZSl7dGhyb3cgdGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLGBIdWIgaGFuZHNoYWtlIGZhaWxlZCB3aXRoIGVycm9yICcke2V9JyBkdXJpbmcgc3RhcnQoKS4gU3RvcHBpbmcgSHViQ29ubmVjdGlvbi5gKSx0aGlzLl9jbGVhbnVwVGltZW91dCgpLHRoaXMuX2NsZWFudXBQaW5nVGltZXIoKSxhd2FpdCB0aGlzLmNvbm5lY3Rpb24uc3RvcChlKSxlfX1hc3luYyBzdG9wKCl7Y29uc3QgZT10aGlzLl9zdGFydFByb21pc2U7dGhpcy5fc3RvcFByb21pc2U9dGhpcy5fc3RvcEludGVybmFsKCksYXdhaXQgdGhpcy5fc3RvcFByb21pc2U7dHJ5e2F3YWl0IGV9Y2F0Y2goZSl7fX1fc3RvcEludGVybmFsKGUpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uU3RhdGU9PT1qLkRpc2Nvbm5lY3RlZD8odGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLGBDYWxsIHRvIEh1YkNvbm5lY3Rpb24uc3RvcCgke2V9KSBpZ25vcmVkIGJlY2F1c2UgaXQgaXMgYWxyZWFkeSBpbiB0aGUgZGlzY29ubmVjdGVkIHN0YXRlLmApLFByb21pc2UucmVzb2x2ZSgpKTp0aGlzLl9jb25uZWN0aW9uU3RhdGU9PT1qLkRpc2Nvbm5lY3Rpbmc/KHRoaXMuX2xvZ2dlci5sb2coZi5EZWJ1ZyxgQ2FsbCB0byBIdHRwQ29ubmVjdGlvbi5zdG9wKCR7ZX0pIGlnbm9yZWQgYmVjYXVzZSB0aGUgY29ubmVjdGlvbiBpcyBhbHJlYWR5IGluIHRoZSBkaXNjb25uZWN0aW5nIHN0YXRlLmApLHRoaXMuX3N0b3BQcm9taXNlKToodGhpcy5fY29ubmVjdGlvblN0YXRlPWouRGlzY29ubmVjdGluZyx0aGlzLl9sb2dnZXIubG9nKGYuRGVidWcsIlN0b3BwaW5nIEh1YkNvbm5lY3Rpb24uIiksdGhpcy5fcmVjb25uZWN0RGVsYXlIYW5kbGU/KHRoaXMuX2xvZ2dlci5sb2coZi5EZWJ1ZywiQ29ubmVjdGlvbiBzdG9wcGVkIGR1cmluZyByZWNvbm5lY3QgZGVsYXkuIERvbmUgcmVjb25uZWN0aW5nLiIpLGNsZWFyVGltZW91dCh0aGlzLl9yZWNvbm5lY3REZWxheUhhbmRsZSksdGhpcy5fcmVjb25uZWN0RGVsYXlIYW5kbGU9dm9pZCAwLHRoaXMuX2NvbXBsZXRlQ2xvc2UoKSxQcm9taXNlLnJlc29sdmUoKSk6KHRoaXMuX2NsZWFudXBUaW1lb3V0KCksdGhpcy5fY2xlYW51cFBpbmdUaW1lcigpLHRoaXMuX3N0b3BEdXJpbmdTdGFydEVycm9yPWV8fG5ldyBFcnJvcigiVGhlIGNvbm5lY3Rpb24gd2FzIHN0b3BwZWQgYmVmb3JlIHRoZSBodWIgaGFuZHNoYWtlIGNvdWxkIGNvbXBsZXRlLiIpLHRoaXMuY29ubmVjdGlvbi5zdG9wKGUpKSl9c3RyZWFtKGUsLi4udCl7Y29uc3RbbixyXT10aGlzLl9yZXBsYWNlU3RyZWFtaW5nUGFyYW1zKHQpLG89dGhpcy5fY3JlYXRlU3RyZWFtSW52b2NhdGlvbihlLHQscik7bGV0IGk7Y29uc3Qgcz1uZXcgVTtyZXR1cm4gcy5jYW5jZWxDYWxsYmFjaz0oKT0+e2NvbnN0IGU9dGhpcy5fY3JlYXRlQ2FuY2VsSW52b2NhdGlvbihvLmludm9jYXRpb25JZCk7cmV0dXJuIGRlbGV0ZSB0aGlzLl9jYWxsYmFja3Nbby5pbnZvY2F0aW9uSWRdLGkudGhlbigoKCk9PnRoaXMuX3NlbmRXaXRoUHJvdG9jb2woZSkpKX0sdGhpcy5fY2FsbGJhY2tzW28uaW52b2NhdGlvbklkXT0oZSx0KT0+e3Q/cy5lcnJvcih0KTplJiYoZS50eXBlPT09QS5Db21wbGV0aW9uP2UuZXJyb3I/cy5lcnJvcihuZXcgRXJyb3IoZS5lcnJvcikpOnMuY29tcGxldGUoKTpzLm5leHQoZS5pdGVtKSl9LGk9dGhpcy5fc2VuZFdpdGhQcm90b2NvbChvKS5jYXRjaCgoZT0+e3MuZXJyb3IoZSksZGVsZXRlIHRoaXMuX2NhbGxiYWNrc1tvLmludm9jYXRpb25JZF19KSksdGhpcy5fbGF1bmNoU3RyZWFtcyhuLGkpLHN9X3NlbmRNZXNzYWdlKGUpe3JldHVybiB0aGlzLl9yZXNldEtlZXBBbGl2ZUludGVydmFsKCksdGhpcy5jb25uZWN0aW9uLnNlbmQoZSl9X3NlbmRXaXRoUHJvdG9jb2woZSl7cmV0dXJuIHRoaXMuX3NlbmRNZXNzYWdlKHRoaXMuX3Byb3RvY29sLndyaXRlTWVzc2FnZShlKSl9c2VuZChlLC4uLnQpe2NvbnN0W24scl09dGhpcy5fcmVwbGFjZVN0cmVhbWluZ1BhcmFtcyh0KSxvPXRoaXMuX3NlbmRXaXRoUHJvdG9jb2wodGhpcy5fY3JlYXRlSW52b2NhdGlvbihlLHQsITAscikpO3JldHVybiB0aGlzLl9sYXVuY2hTdHJlYW1zKG4sbyksb31pbnZva2UoZSwuLi50KXtjb25zdFtuLHJdPXRoaXMuX3JlcGxhY2VTdHJlYW1pbmdQYXJhbXModCksbz10aGlzLl9jcmVhdGVJbnZvY2F0aW9uKGUsdCwhMSxyKTtyZXR1cm4gbmV3IFByb21pc2UoKChlLHQpPT57dGhpcy5fY2FsbGJhY2tzW28uaW52b2NhdGlvbklkXT0obixyKT0+e3I/dChyKTpuJiYobi50eXBlPT09QS5Db21wbGV0aW9uP24uZXJyb3I/dChuZXcgRXJyb3Iobi5lcnJvcikpOmUobi5yZXN1bHQpOnQobmV3IEVycm9yKGBVbmV4cGVjdGVkIG1lc3NhZ2UgdHlwZTogJHtuLnR5cGV9YCkpKX07Y29uc3Qgcj10aGlzLl9zZW5kV2l0aFByb3RvY29sKG8pLmNhdGNoKChlPT57dChlKSxkZWxldGUgdGhpcy5fY2FsbGJhY2tzW28uaW52b2NhdGlvbklkXX0pKTt0aGlzLl9sYXVuY2hTdHJlYW1zKG4scil9KSl9b24oZSx0KXtlJiZ0JiYoZT1lLnRvTG93ZXJDYXNlKCksdGhpcy5fbWV0aG9kc1tlXXx8KHRoaXMuX21ldGhvZHNbZV09W10pLC0xPT09dGhpcy5fbWV0aG9kc1tlXS5pbmRleE9mKHQpJiZ0aGlzLl9tZXRob2RzW2VdLnB1c2godCkpfW9mZihlLHQpe2lmKCFlKXJldHVybjtlPWUudG9Mb3dlckNhc2UoKTtjb25zdCBuPXRoaXMuX21ldGhvZHNbZV07aWYobilpZih0KXtjb25zdCByPW4uaW5kZXhPZih0KTstMSE9PXImJihuLnNwbGljZShyLDEpLDA9PT1uLmxlbmd0aCYmZGVsZXRlIHRoaXMuX21ldGhvZHNbZV0pfWVsc2UgZGVsZXRlIHRoaXMuX21ldGhvZHNbZV19b25jbG9zZShlKXtlJiZ0aGlzLl9jbG9zZWRDYWxsYmFja3MucHVzaChlKX1vbnJlY29ubmVjdGluZyhlKXtlJiZ0aGlzLl9yZWNvbm5lY3RpbmdDYWxsYmFja3MucHVzaChlKX1vbnJlY29ubmVjdGVkKGUpe2UmJnRoaXMuX3JlY29ubmVjdGVkQ2FsbGJhY2tzLnB1c2goZSl9X3Byb2Nlc3NJbmNvbWluZ0RhdGEoZSl7aWYodGhpcy5fY2xlYW51cFRpbWVvdXQoKSx0aGlzLl9yZWNlaXZlZEhhbmRzaGFrZVJlc3BvbnNlfHwoZT10aGlzLl9wcm9jZXNzSGFuZHNoYWtlUmVzcG9uc2UoZSksdGhpcy5fcmVjZWl2ZWRIYW5kc2hha2VSZXNwb25zZT0hMCksZSl7Y29uc3QgdD10aGlzLl9wcm90b2NvbC5wYXJzZU1lc3NhZ2VzKGUsdGhpcy5fbG9nZ2VyKTtmb3IoY29uc3QgZSBvZiB0KXN3aXRjaChlLnR5cGUpe2Nhc2UgQS5JbnZvY2F0aW9uOnRoaXMuX2ludm9rZUNsaWVudE1ldGhvZChlKTticmVhaztjYXNlIEEuU3RyZWFtSXRlbTpjYXNlIEEuQ29tcGxldGlvbjp7Y29uc3QgdD10aGlzLl9jYWxsYmFja3NbZS5pbnZvY2F0aW9uSWRdO2lmKHQpe2UudHlwZT09PUEuQ29tcGxldGlvbiYmZGVsZXRlIHRoaXMuX2NhbGxiYWNrc1tlLmludm9jYXRpb25JZF07dHJ5e3QoZSl9Y2F0Y2goZSl7dGhpcy5fbG9nZ2VyLmxvZyhmLkVycm9yLGBTdHJlYW0gY2FsbGJhY2sgdGhyZXcgZXJyb3I6ICR7UihlKX1gKX19YnJlYWt9Y2FzZSBBLlBpbmc6YnJlYWs7Y2FzZSBBLkNsb3NlOnt0aGlzLl9sb2dnZXIubG9nKGYuSW5mb3JtYXRpb24sIkNsb3NlIG1lc3NhZ2UgcmVjZWl2ZWQgZnJvbSBzZXJ2ZXIuIik7Y29uc3QgdD1lLmVycm9yP25ldyBFcnJvcigiU2VydmVyIHJldHVybmVkIGFuIGVycm9yIG9uIGNsb3NlOiAiK2UuZXJyb3IpOnZvaWQgMDshMD09PWUuYWxsb3dSZWNvbm5lY3Q/dGhpcy5jb25uZWN0aW9uLnN0b3AodCk6dGhpcy5fc3RvcFByb21pc2U9dGhpcy5fc3RvcEludGVybmFsKHQpO2JyZWFrfWRlZmF1bHQ6dGhpcy5fbG9nZ2VyLmxvZyhmLldhcm5pbmcsYEludmFsaWQgbWVzc2FnZSB0eXBlOiAke2UudHlwZX0uYCl9fXRoaXMuX3Jlc2V0VGltZW91dFBlcmlvZCgpfV9wcm9jZXNzSGFuZHNoYWtlUmVzcG9uc2UoZSl7bGV0IHQsbjt0cnl7W24sdF09dGhpcy5faGFuZHNoYWtlUHJvdG9jb2wucGFyc2VIYW5kc2hha2VSZXNwb25zZShlKX1jYXRjaChlKXtjb25zdCB0PSJFcnJvciBwYXJzaW5nIGhhbmRzaGFrZSByZXNwb25zZTogIitlO3RoaXMuX2xvZ2dlci5sb2coZi5FcnJvcix0KTtjb25zdCBuPW5ldyBFcnJvcih0KTt0aHJvdyB0aGlzLl9oYW5kc2hha2VSZWplY3RlcihuKSxufWlmKHQuZXJyb3Ipe2NvbnN0IGU9IlNlcnZlciByZXR1cm5lZCBoYW5kc2hha2UgZXJyb3I6ICIrdC5lcnJvcjt0aGlzLl9sb2dnZXIubG9nKGYuRXJyb3IsZSk7Y29uc3Qgbj1uZXcgRXJyb3IoZSk7dGhyb3cgdGhpcy5faGFuZHNoYWtlUmVqZWN0ZXIobiksbn1yZXR1cm4gdGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLCJTZXJ2ZXIgaGFuZHNoYWtlIGNvbXBsZXRlLiIpLHRoaXMuX2hhbmRzaGFrZVJlc29sdmVyKCksbn1fcmVzZXRLZWVwQWxpdmVJbnRlcnZhbCgpe3RoaXMuY29ubmVjdGlvbi5mZWF0dXJlcy5pbmhlcmVudEtlZXBBbGl2ZXx8KHRoaXMuX25leHRLZWVwQWxpdmU9KG5ldyBEYXRlKS5nZXRUaW1lKCkrdGhpcy5rZWVwQWxpdmVJbnRlcnZhbEluTWlsbGlzZWNvbmRzLHRoaXMuX2NsZWFudXBQaW5nVGltZXIoKSl9X3Jlc2V0VGltZW91dFBlcmlvZCgpe2lmKCEodGhpcy5jb25uZWN0aW9uLmZlYXR1cmVzJiZ0aGlzLmNvbm5lY3Rpb24uZmVhdHVyZXMuaW5oZXJlbnRLZWVwQWxpdmV8fCh0aGlzLl90aW1lb3V0SGFuZGxlPXNldFRpbWVvdXQoKCgpPT50aGlzLnNlcnZlclRpbWVvdXQoKSksdGhpcy5zZXJ2ZXJUaW1lb3V0SW5NaWxsaXNlY29uZHMpLHZvaWQgMCE9PXRoaXMuX3BpbmdTZXJ2ZXJIYW5kbGUpKSl7bGV0IGU9dGhpcy5fbmV4dEtlZXBBbGl2ZS0obmV3IERhdGUpLmdldFRpbWUoKTtlPDAmJihlPTApLHRoaXMuX3BpbmdTZXJ2ZXJIYW5kbGU9c2V0VGltZW91dCgoYXN5bmMoKT0+e2lmKHRoaXMuX2Nvbm5lY3Rpb25TdGF0ZT09PWouQ29ubmVjdGVkKXRyeXthd2FpdCB0aGlzLl9zZW5kTWVzc2FnZSh0aGlzLl9jYWNoZWRQaW5nTWVzc2FnZSl9Y2F0Y2h7dGhpcy5fY2xlYW51cFBpbmdUaW1lcigpfX0pLGUpfX1zZXJ2ZXJUaW1lb3V0KCl7dGhpcy5jb25uZWN0aW9uLnN0b3AobmV3IEVycm9yKCJTZXJ2ZXIgdGltZW91dCBlbGFwc2VkIHdpdGhvdXQgcmVjZWl2aW5nIGEgbWVzc2FnZSBmcm9tIHRoZSBzZXJ2ZXIuIikpfV9pbnZva2VDbGllbnRNZXRob2QoZSl7Y29uc3QgdD10aGlzLl9tZXRob2RzW2UudGFyZ2V0LnRvTG93ZXJDYXNlKCldO2lmKHQpe3RyeXt0LmZvckVhY2goKHQ9PnQuYXBwbHkodGhpcyxlLmFyZ3VtZW50cykpKX1jYXRjaCh0KXt0aGlzLl9sb2dnZXIubG9nKGYuRXJyb3IsYEEgY2FsbGJhY2sgZm9yIHRoZSBtZXRob2QgJHtlLnRhcmdldC50b0xvd2VyQ2FzZSgpfSB0aHJldyBlcnJvciAnJHt0fScuYCl9aWYoZS5pbnZvY2F0aW9uSWQpe2NvbnN0IGU9IlNlcnZlciByZXF1ZXN0ZWQgYSByZXNwb25zZSwgd2hpY2ggaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIHZlcnNpb24gb2YgdGhlIGNsaWVudC4iO3RoaXMuX2xvZ2dlci5sb2coZi5FcnJvcixlKSx0aGlzLl9zdG9wUHJvbWlzZT10aGlzLl9zdG9wSW50ZXJuYWwobmV3IEVycm9yKGUpKX19ZWxzZSB0aGlzLl9sb2dnZXIubG9nKGYuV2FybmluZyxgTm8gY2xpZW50IG1ldGhvZCB3aXRoIHRoZSBuYW1lICcke2UudGFyZ2V0fScgZm91bmQuYCl9X2Nvbm5lY3Rpb25DbG9zZWQoZSl7dGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLGBIdWJDb25uZWN0aW9uLmNvbm5lY3Rpb25DbG9zZWQoJHtlfSkgY2FsbGVkIHdoaWxlIGluIHN0YXRlICR7dGhpcy5fY29ubmVjdGlvblN0YXRlfS5gKSx0aGlzLl9zdG9wRHVyaW5nU3RhcnRFcnJvcj10aGlzLl9zdG9wRHVyaW5nU3RhcnRFcnJvcnx8ZXx8bmV3IEVycm9yKCJUaGUgdW5kZXJseWluZyBjb25uZWN0aW9uIHdhcyBjbG9zZWQgYmVmb3JlIHRoZSBodWIgaGFuZHNoYWtlIGNvdWxkIGNvbXBsZXRlLiIpLHRoaXMuX2hhbmRzaGFrZVJlc29sdmVyJiZ0aGlzLl9oYW5kc2hha2VSZXNvbHZlcigpLHRoaXMuX2NhbmNlbENhbGxiYWNrc1dpdGhFcnJvcihlfHxuZXcgRXJyb3IoIkludm9jYXRpb24gY2FuY2VsZWQgZHVlIHRvIHRoZSB1bmRlcmx5aW5nIGNvbm5lY3Rpb24gYmVpbmcgY2xvc2VkLiIpKSx0aGlzLl9jbGVhbnVwVGltZW91dCgpLHRoaXMuX2NsZWFudXBQaW5nVGltZXIoKSx0aGlzLl9jb25uZWN0aW9uU3RhdGU9PT1qLkRpc2Nvbm5lY3Rpbmc/dGhpcy5fY29tcGxldGVDbG9zZShlKTp0aGlzLl9jb25uZWN0aW9uU3RhdGU9PT1qLkNvbm5lY3RlZCYmdGhpcy5fcmVjb25uZWN0UG9saWN5P3RoaXMuX3JlY29ubmVjdChlKTp0aGlzLl9jb25uZWN0aW9uU3RhdGU9PT1qLkNvbm5lY3RlZCYmdGhpcy5fY29tcGxldGVDbG9zZShlKX1fY29tcGxldGVDbG9zZShlKXtpZih0aGlzLl9jb25uZWN0aW9uU3RhcnRlZCl7dGhpcy5fY29ubmVjdGlvblN0YXRlPWouRGlzY29ubmVjdGVkLHRoaXMuX2Nvbm5lY3Rpb25TdGFydGVkPSExLHcuaXNCcm93c2VyJiZkb2N1bWVudCYmZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZnJlZXplIix0aGlzLl9mcmVlemVFdmVudExpc3RlbmVyKTt0cnl7dGhpcy5fY2xvc2VkQ2FsbGJhY2tzLmZvckVhY2goKHQ9PnQuYXBwbHkodGhpcyxbZV0pKSl9Y2F0Y2godCl7dGhpcy5fbG9nZ2VyLmxvZyhmLkVycm9yLGBBbiBvbmNsb3NlIGNhbGxiYWNrIGNhbGxlZCB3aXRoIGVycm9yICcke2V9JyB0aHJldyBlcnJvciAnJHt0fScuYCl9fX1hc3luYyBfcmVjb25uZWN0KGUpe2NvbnN0IHQ9RGF0ZS5ub3coKTtsZXQgbj0wLHI9dm9pZCAwIT09ZT9lOm5ldyBFcnJvcigiQXR0ZW1wdGluZyB0byByZWNvbm5lY3QgZHVlIHRvIGEgdW5rbm93biBlcnJvci4iKSxvPXRoaXMuX2dldE5leHRSZXRyeURlbGF5KG4rKywwLHIpO2lmKG51bGw9PT1vKXJldHVybiB0aGlzLl9sb2dnZXIubG9nKGYuRGVidWcsIkNvbm5lY3Rpb24gbm90IHJlY29ubmVjdGluZyBiZWNhdXNlIHRoZSBJUmV0cnlQb2xpY3kgcmV0dXJuZWQgbnVsbCBvbiB0aGUgZmlyc3QgcmVjb25uZWN0IGF0dGVtcHQuIiksdm9pZCB0aGlzLl9jb21wbGV0ZUNsb3NlKGUpO2lmKHRoaXMuX2Nvbm5lY3Rpb25TdGF0ZT1qLlJlY29ubmVjdGluZyxlP3RoaXMuX2xvZ2dlci5sb2coZi5JbmZvcm1hdGlvbixgQ29ubmVjdGlvbiByZWNvbm5lY3RpbmcgYmVjYXVzZSBvZiBlcnJvciAnJHtlfScuYCk6dGhpcy5fbG9nZ2VyLmxvZyhmLkluZm9ybWF0aW9uLCJDb25uZWN0aW9uIHJlY29ubmVjdGluZy4iKSwwIT09dGhpcy5fcmVjb25uZWN0aW5nQ2FsbGJhY2tzLmxlbmd0aCl7dHJ5e3RoaXMuX3JlY29ubmVjdGluZ0NhbGxiYWNrcy5mb3JFYWNoKCh0PT50LmFwcGx5KHRoaXMsW2VdKSkpfWNhdGNoKHQpe3RoaXMuX2xvZ2dlci5sb2coZi5FcnJvcixgQW4gb25yZWNvbm5lY3RpbmcgY2FsbGJhY2sgY2FsbGVkIHdpdGggZXJyb3IgJyR7ZX0nIHRocmV3IGVycm9yICcke3R9Jy5gKX1pZih0aGlzLl9jb25uZWN0aW9uU3RhdGUhPT1qLlJlY29ubmVjdGluZylyZXR1cm4gdm9pZCB0aGlzLl9sb2dnZXIubG9nKGYuRGVidWcsIkNvbm5lY3Rpb24gbGVmdCB0aGUgcmVjb25uZWN0aW5nIHN0YXRlIGluIG9ucmVjb25uZWN0aW5nIGNhbGxiYWNrLiBEb25lIHJlY29ubmVjdGluZy4iKX1mb3IoO251bGwhPT1vOyl7aWYodGhpcy5fbG9nZ2VyLmxvZyhmLkluZm9ybWF0aW9uLGBSZWNvbm5lY3QgYXR0ZW1wdCBudW1iZXIgJHtufSB3aWxsIHN0YXJ0IGluICR7b30gbXMuYCksYXdhaXQgbmV3IFByb21pc2UoKGU9Pnt0aGlzLl9yZWNvbm5lY3REZWxheUhhbmRsZT1zZXRUaW1lb3V0KGUsbyl9KSksdGhpcy5fcmVjb25uZWN0RGVsYXlIYW5kbGU9dm9pZCAwLHRoaXMuX2Nvbm5lY3Rpb25TdGF0ZSE9PWouUmVjb25uZWN0aW5nKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2coZi5EZWJ1ZywiQ29ubmVjdGlvbiBsZWZ0IHRoZSByZWNvbm5lY3Rpbmcgc3RhdGUgZHVyaW5nIHJlY29ubmVjdCBkZWxheS4gRG9uZSByZWNvbm5lY3RpbmcuIik7dHJ5e2lmKGF3YWl0IHRoaXMuX3N0YXJ0SW50ZXJuYWwoKSx0aGlzLl9jb25uZWN0aW9uU3RhdGU9ai5Db25uZWN0ZWQsdGhpcy5fbG9nZ2VyLmxvZyhmLkluZm9ybWF0aW9uLCJIdWJDb25uZWN0aW9uIHJlY29ubmVjdGVkIHN1Y2Nlc3NmdWxseS4iKSwwIT09dGhpcy5fcmVjb25uZWN0ZWRDYWxsYmFja3MubGVuZ3RoKXRyeXt0aGlzLl9yZWNvbm5lY3RlZENhbGxiYWNrcy5mb3JFYWNoKChlPT5lLmFwcGx5KHRoaXMsW3RoaXMuY29ubmVjdGlvbi5jb25uZWN0aW9uSWRdKSkpfWNhdGNoKGUpe3RoaXMuX2xvZ2dlci5sb2coZi5FcnJvcixgQW4gb25yZWNvbm5lY3RlZCBjYWxsYmFjayBjYWxsZWQgd2l0aCBjb25uZWN0aW9uSWQgJyR7dGhpcy5jb25uZWN0aW9uLmNvbm5lY3Rpb25JZH07IHRocmV3IGVycm9yICcke2V9Jy5gKX1yZXR1cm59Y2F0Y2goZSl7aWYodGhpcy5fbG9nZ2VyLmxvZyhmLkluZm9ybWF0aW9uLGBSZWNvbm5lY3QgYXR0ZW1wdCBmYWlsZWQgYmVjYXVzZSBvZiBlcnJvciAnJHtlfScuYCksdGhpcy5fY29ubmVjdGlvblN0YXRlIT09ai5SZWNvbm5lY3RpbmcpcmV0dXJuIHRoaXMuX2xvZ2dlci5sb2coZi5EZWJ1ZyxgQ29ubmVjdGlvbiBtb3ZlZCB0byB0aGUgJyR7dGhpcy5fY29ubmVjdGlvblN0YXRlfScgZnJvbSB0aGUgcmVjb25uZWN0aW5nIHN0YXRlIGR1cmluZyByZWNvbm5lY3QgYXR0ZW1wdC4gRG9uZSByZWNvbm5lY3RpbmcuYCksdm9pZCh0aGlzLl9jb25uZWN0aW9uU3RhdGU9PT1qLkRpc2Nvbm5lY3RpbmcmJnRoaXMuX2NvbXBsZXRlQ2xvc2UoKSk7cj1lIGluc3RhbmNlb2YgRXJyb3I/ZTpuZXcgRXJyb3IoZS50b1N0cmluZygpKSxvPXRoaXMuX2dldE5leHRSZXRyeURlbGF5KG4rKyxEYXRlLm5vdygpLXQscil9fXRoaXMuX2xvZ2dlci5sb2coZi5JbmZvcm1hdGlvbixgUmVjb25uZWN0IHJldHJpZXMgaGF2ZSBiZWVuIGV4aGF1c3RlZCBhZnRlciAke0RhdGUubm93KCktdH0gbXMgYW5kICR7bn0gZmFpbGVkIGF0dGVtcHRzLiBDb25uZWN0aW9uIGRpc2Nvbm5lY3RpbmcuYCksdGhpcy5fY29tcGxldGVDbG9zZSgpfV9nZXROZXh0UmV0cnlEZWxheShlLHQsbil7dHJ5e3JldHVybiB0aGlzLl9yZWNvbm5lY3RQb2xpY3kubmV4dFJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kcyh7ZWxhcHNlZE1pbGxpc2Vjb25kczp0LHByZXZpb3VzUmV0cnlDb3VudDplLHJldHJ5UmVhc29uOm59KX1jYXRjaChuKXtyZXR1cm4gdGhpcy5fbG9nZ2VyLmxvZyhmLkVycm9yLGBJUmV0cnlQb2xpY3kubmV4dFJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kcygke2V9LCAke3R9KSB0aHJldyBlcnJvciAnJHtufScuYCksbnVsbH19X2NhbmNlbENhbGxiYWNrc1dpdGhFcnJvcihlKXtjb25zdCB0PXRoaXMuX2NhbGxiYWNrczt0aGlzLl9jYWxsYmFja3M9e30sT2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+e2NvbnN0IHI9dFtuXTt0cnl7cihudWxsLGUpfWNhdGNoKHQpe3RoaXMuX2xvZ2dlci5sb2coZi5FcnJvcixgU3RyZWFtICdlcnJvcicgY2FsbGJhY2sgY2FsbGVkIHdpdGggJyR7ZX0nIHRocmV3IGVycm9yOiAke1IodCl9YCl9fSkpfV9jbGVhbnVwUGluZ1RpbWVyKCl7dGhpcy5fcGluZ1NlcnZlckhhbmRsZSYmKGNsZWFyVGltZW91dCh0aGlzLl9waW5nU2VydmVySGFuZGxlKSx0aGlzLl9waW5nU2VydmVySGFuZGxlPXZvaWQgMCl9X2NsZWFudXBUaW1lb3V0KCl7dGhpcy5fdGltZW91dEhhbmRsZSYmY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXRIYW5kbGUpfV9jcmVhdGVJbnZvY2F0aW9uKGUsdCxuLHIpe2lmKG4pcmV0dXJuIDAhPT1yLmxlbmd0aD97YXJndW1lbnRzOnQsc3RyZWFtSWRzOnIsdGFyZ2V0OmUsdHlwZTpBLkludm9jYXRpb259Onthcmd1bWVudHM6dCx0YXJnZXQ6ZSx0eXBlOkEuSW52b2NhdGlvbn07e2NvbnN0IG49dGhpcy5faW52b2NhdGlvbklkO3JldHVybiB0aGlzLl9pbnZvY2F0aW9uSWQrKywwIT09ci5sZW5ndGg/e2FyZ3VtZW50czp0LGludm9jYXRpb25JZDpuLnRvU3RyaW5nKCksc3RyZWFtSWRzOnIsdGFyZ2V0OmUsdHlwZTpBLkludm9jYXRpb259Onthcmd1bWVudHM6dCxpbnZvY2F0aW9uSWQ6bi50b1N0cmluZygpLHRhcmdldDplLHR5cGU6QS5JbnZvY2F0aW9ufX19X2xhdW5jaFN0cmVhbXMoZSx0KXtpZigwIT09ZS5sZW5ndGgpe3R8fCh0PVByb21pc2UucmVzb2x2ZSgpKTtmb3IoY29uc3QgbiBpbiBlKWVbbl0uc3Vic2NyaWJlKHtjb21wbGV0ZTooKT0+e3Q9dC50aGVuKCgoKT0+dGhpcy5fc2VuZFdpdGhQcm90b2NvbCh0aGlzLl9jcmVhdGVDb21wbGV0aW9uTWVzc2FnZShuKSkpKX0sZXJyb3I6ZT0+e2xldCByO3I9ZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZTplJiZlLnRvU3RyaW5nP2UudG9TdHJpbmcoKToiVW5rbm93biBlcnJvciIsdD10LnRoZW4oKCgpPT50aGlzLl9zZW5kV2l0aFByb3RvY29sKHRoaXMuX2NyZWF0ZUNvbXBsZXRpb25NZXNzYWdlKG4scikpKSl9LG5leHQ6ZT0+e3Q9dC50aGVuKCgoKT0+dGhpcy5fc2VuZFdpdGhQcm90b2NvbCh0aGlzLl9jcmVhdGVTdHJlYW1JdGVtTWVzc2FnZShuLGUpKSkpfX0pfX1fcmVwbGFjZVN0cmVhbWluZ1BhcmFtcyhlKXtjb25zdCB0PVtdLG49W107Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspe2NvbnN0IG89ZVtyXTtpZih0aGlzLl9pc09ic2VydmFibGUobykpe2NvbnN0IGk9dGhpcy5faW52b2NhdGlvbklkO3RoaXMuX2ludm9jYXRpb25JZCsrLHRbaV09byxuLnB1c2goaS50b1N0cmluZygpKSxlLnNwbGljZShyLDEpfX1yZXR1cm5bdCxuXX1faXNPYnNlcnZhYmxlKGUpe3JldHVybiBlJiZlLnN1YnNjcmliZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuc3Vic2NyaWJlfV9jcmVhdGVTdHJlYW1JbnZvY2F0aW9uKGUsdCxuKXtjb25zdCByPXRoaXMuX2ludm9jYXRpb25JZDtyZXR1cm4gdGhpcy5faW52b2NhdGlvbklkKyssMCE9PW4ubGVuZ3RoP3thcmd1bWVudHM6dCxpbnZvY2F0aW9uSWQ6ci50b1N0cmluZygpLHN0cmVhbUlkczpuLHRhcmdldDplLHR5cGU6QS5TdHJlYW1JbnZvY2F0aW9ufTp7YXJndW1lbnRzOnQsaW52b2NhdGlvbklkOnIudG9TdHJpbmcoKSx0YXJnZXQ6ZSx0eXBlOkEuU3RyZWFtSW52b2NhdGlvbn19X2NyZWF0ZUNhbmNlbEludm9jYXRpb24oZSl7cmV0dXJue2ludm9jYXRpb25JZDplLHR5cGU6QS5DYW5jZWxJbnZvY2F0aW9ufX1fY3JlYXRlU3RyZWFtSXRlbU1lc3NhZ2UoZSx0KXtyZXR1cm57aW52b2NhdGlvbklkOmUsaXRlbTp0LHR5cGU6QS5TdHJlYW1JdGVtfX1fY3JlYXRlQ29tcGxldGlvbk1lc3NhZ2UoZSx0LG4pe3JldHVybiB0P3tlcnJvcjp0LGludm9jYXRpb25JZDplLHR5cGU6QS5Db21wbGV0aW9ufTp7aW52b2NhdGlvbklkOmUscmVzdWx0Om4sdHlwZTpBLkNvbXBsZXRpb259fX1jb25zdCAkPVswLDJlMywxZTQsM2U0LG51bGxdO2NsYXNzIEh7Y29uc3RydWN0b3IoZSl7dGhpcy5fcmV0cnlEZWxheXM9dm9pZCAwIT09ZT9bLi4uZSxudWxsXTokfW5leHRSZXRyeURlbGF5SW5NaWxsaXNlY29uZHMoZSl7cmV0dXJuIHRoaXMuX3JldHJ5RGVsYXlzW2UucHJldmlvdXNSZXRyeUNvdW50XX19Y2xhc3MgRnt9dmFyIHEsQjtGLkF1dGhvcml6YXRpb249IkF1dGhvcml6YXRpb24iLEYuQ29va2llPSJDb29raWUiLGZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuV2ViU29ja2V0cz0xXT0iV2ViU29ja2V0cyIsZVtlLlNlcnZlclNlbnRFdmVudHM9Ml09IlNlcnZlclNlbnRFdmVudHMiLGVbZS5Mb25nUG9sbGluZz00XT0iTG9uZ1BvbGxpbmcifShxfHwocT17fSkpLGZ1bmN0aW9uKGUpe2VbZS5UZXh0PTFdPSJUZXh0IixlW2UuQmluYXJ5PTJdPSJCaW5hcnkifShCfHwoQj17fSkpO2NsYXNzIHp7Y29uc3RydWN0b3IoKXt0aGlzLl9pc0Fib3J0ZWQ9ITEsdGhpcy5vbmFib3J0PW51bGx9YWJvcnQoKXt0aGlzLl9pc0Fib3J0ZWR8fCh0aGlzLl9pc0Fib3J0ZWQ9ITAsdGhpcy5vbmFib3J0JiZ0aGlzLm9uYWJvcnQoKSl9Z2V0IHNpZ25hbCgpe3JldHVybiB0aGlzfWdldCBhYm9ydGVkKCl7cmV0dXJuIHRoaXMuX2lzQWJvcnRlZH19Y2xhc3MgV3tjb25zdHJ1Y3RvcihlLHQsbixyKXt0aGlzLl9odHRwQ2xpZW50PWUsdGhpcy5fYWNjZXNzVG9rZW5GYWN0b3J5PXQsdGhpcy5fbG9nZ2VyPW4sdGhpcy5fcG9sbEFib3J0PW5ldyB6LHRoaXMuX29wdGlvbnM9cix0aGlzLl9ydW5uaW5nPSExLHRoaXMub25yZWNlaXZlPW51bGwsdGhpcy5vbmNsb3NlPW51bGx9Z2V0IHBvbGxBYm9ydGVkKCl7cmV0dXJuIHRoaXMuX3BvbGxBYm9ydC5hYm9ydGVkfWFzeW5jIGNvbm5lY3QoZSx0KXtpZih2LmlzUmVxdWlyZWQoZSwidXJsIiksdi5pc1JlcXVpcmVkKHQsInRyYW5zZmVyRm9ybWF0Iiksdi5pc0luKHQsQiwidHJhbnNmZXJGb3JtYXQiKSx0aGlzLl91cmw9ZSx0aGlzLl9sb2dnZXIubG9nKGYuVHJhY2UsIihMb25nUG9sbGluZyB0cmFuc3BvcnQpIENvbm5lY3RpbmcuIiksdD09PUIuQmluYXJ5JiYidW5kZWZpbmVkIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0JiYic3RyaW5nIiE9dHlwZW9mKG5ldyBYTUxIdHRwUmVxdWVzdCkucmVzcG9uc2VUeXBlKXRocm93IG5ldyBFcnJvcigiQmluYXJ5IHByb3RvY29scyBvdmVyIFhtbEh0dHBSZXF1ZXN0IG5vdCBpbXBsZW1lbnRpbmcgYWR2YW5jZWQgZmVhdHVyZXMgYXJlIG5vdCBzdXBwb3J0ZWQuIik7Y29uc3RbbixvXT1rKCksaT17W25dOm8sLi4udGhpcy5fb3B0aW9ucy5oZWFkZXJzfSxzPXthYm9ydFNpZ25hbDp0aGlzLl9wb2xsQWJvcnQuc2lnbmFsLGhlYWRlcnM6aSx0aW1lb3V0OjFlNSx3aXRoQ3JlZGVudGlhbHM6dGhpcy5fb3B0aW9ucy53aXRoQ3JlZGVudGlhbHN9O3Q9PT1CLkJpbmFyeSYmKHMucmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciIpO2NvbnN0IGE9YXdhaXQgdGhpcy5fZ2V0QWNjZXNzVG9rZW4oKTt0aGlzLl91cGRhdGVIZWFkZXJUb2tlbihzLGEpO2NvbnN0IGw9YCR7ZX0mXz0ke0RhdGUubm93KCl9YDt0aGlzLl9sb2dnZXIubG9nKGYuVHJhY2UsYChMb25nUG9sbGluZyB0cmFuc3BvcnQpIHBvbGxpbmc6ICR7bH0uYCk7Y29uc3QgYz1hd2FpdCB0aGlzLl9odHRwQ2xpZW50LmdldChsLHMpOzIwMCE9PWMuc3RhdHVzQ29kZT8odGhpcy5fbG9nZ2VyLmxvZyhmLkVycm9yLGAoTG9uZ1BvbGxpbmcgdHJhbnNwb3J0KSBVbmV4cGVjdGVkIHJlc3BvbnNlIGNvZGU6ICR7Yy5zdGF0dXNDb2RlfS5gKSx0aGlzLl9jbG9zZUVycm9yPW5ldyByKGMuc3RhdHVzVGV4dHx8IiIsYy5zdGF0dXNDb2RlKSx0aGlzLl9ydW5uaW5nPSExKTp0aGlzLl9ydW5uaW5nPSEwLHRoaXMuX3JlY2VpdmluZz10aGlzLl9wb2xsKHRoaXMuX3VybCxzKX1hc3luYyBfZ2V0QWNjZXNzVG9rZW4oKXtyZXR1cm4gdGhpcy5fYWNjZXNzVG9rZW5GYWN0b3J5P2F3YWl0IHRoaXMuX2FjY2Vzc1Rva2VuRmFjdG9yeSgpOm51bGx9X3VwZGF0ZUhlYWRlclRva2VuKGUsdCl7ZS5oZWFkZXJzfHwoZS5oZWFkZXJzPXt9KSx0P2UuaGVhZGVyc1tGLkF1dGhvcml6YXRpb25dPWBCZWFyZXIgJHt0fWA6ZS5oZWFkZXJzW0YuQXV0aG9yaXphdGlvbl0mJmRlbGV0ZSBlLmhlYWRlcnNbRi5BdXRob3JpemF0aW9uXX1hc3luYyBfcG9sbChlLHQpe3RyeXtmb3IoO3RoaXMuX3J1bm5pbmc7KXtjb25zdCBuPWF3YWl0IHRoaXMuX2dldEFjY2Vzc1Rva2VuKCk7dGhpcy5fdXBkYXRlSGVhZGVyVG9rZW4odCxuKTt0cnl7Y29uc3Qgbj1gJHtlfSZfPSR7RGF0ZS5ub3coKX1gO3RoaXMuX2xvZ2dlci5sb2coZi5UcmFjZSxgKExvbmdQb2xsaW5nIHRyYW5zcG9ydCkgcG9sbGluZzogJHtufS5gKTtjb25zdCBvPWF3YWl0IHRoaXMuX2h0dHBDbGllbnQuZ2V0KG4sdCk7MjA0PT09by5zdGF0dXNDb2RlPyh0aGlzLl9sb2dnZXIubG9nKGYuSW5mb3JtYXRpb24sIihMb25nUG9sbGluZyB0cmFuc3BvcnQpIFBvbGwgdGVybWluYXRlZCBieSBzZXJ2ZXIuIiksdGhpcy5fcnVubmluZz0hMSk6MjAwIT09by5zdGF0dXNDb2RlPyh0aGlzLl9sb2dnZXIubG9nKGYuRXJyb3IsYChMb25nUG9sbGluZyB0cmFuc3BvcnQpIFVuZXhwZWN0ZWQgcmVzcG9uc2UgY29kZTogJHtvLnN0YXR1c0NvZGV9LmApLHRoaXMuX2Nsb3NlRXJyb3I9bmV3IHIoby5zdGF0dXNUZXh0fHwiIixvLnN0YXR1c0NvZGUpLHRoaXMuX3J1bm5pbmc9ITEpOm8uY29udGVudD8odGhpcy5fbG9nZ2VyLmxvZyhmLlRyYWNlLGAoTG9uZ1BvbGxpbmcgdHJhbnNwb3J0KSBkYXRhIHJlY2VpdmVkLiAke2Ioby5jb250ZW50LHRoaXMuX29wdGlvbnMubG9nTWVzc2FnZUNvbnRlbnQpfS5gKSx0aGlzLm9ucmVjZWl2ZSYmdGhpcy5vbnJlY2VpdmUoby5jb250ZW50KSk6dGhpcy5fbG9nZ2VyLmxvZyhmLlRyYWNlLCIoTG9uZ1BvbGxpbmcgdHJhbnNwb3J0KSBQb2xsIHRpbWVkIG91dCwgcmVpc3N1aW5nLiIpfWNhdGNoKGUpe3RoaXMuX3J1bm5pbmc/ZSBpbnN0YW5jZW9mIG8/dGhpcy5fbG9nZ2VyLmxvZyhmLlRyYWNlLCIoTG9uZ1BvbGxpbmcgdHJhbnNwb3J0KSBQb2xsIHRpbWVkIG91dCwgcmVpc3N1aW5nLiIpOih0aGlzLl9jbG9zZUVycm9yPWUsdGhpcy5fcnVubmluZz0hMSk6dGhpcy5fbG9nZ2VyLmxvZyhmLlRyYWNlLGAoTG9uZ1BvbGxpbmcgdHJhbnNwb3J0KSBQb2xsIGVycm9yZWQgYWZ0ZXIgc2h1dGRvd246ICR7ZS5tZXNzYWdlfWApfX19ZmluYWxseXt0aGlzLl9sb2dnZXIubG9nKGYuVHJhY2UsIihMb25nUG9sbGluZyB0cmFuc3BvcnQpIFBvbGxpbmcgY29tcGxldGUuIiksdGhpcy5wb2xsQWJvcnRlZHx8dGhpcy5fcmFpc2VPbkNsb3NlKCl9fWFzeW5jIHNlbmQoZSl7cmV0dXJuIHRoaXMuX3J1bm5pbmc/Xyh0aGlzLl9sb2dnZXIsIkxvbmdQb2xsaW5nIix0aGlzLl9odHRwQ2xpZW50LHRoaXMuX3VybCx0aGlzLl9hY2Nlc3NUb2tlbkZhY3RvcnksZSx0aGlzLl9vcHRpb25zKTpQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIkNhbm5vdCBzZW5kIHVudGlsIHRoZSB0cmFuc3BvcnQgaXMgY29ubmVjdGVkIikpfWFzeW5jIHN0b3AoKXt0aGlzLl9sb2dnZXIubG9nKGYuVHJhY2UsIihMb25nUG9sbGluZyB0cmFuc3BvcnQpIFN0b3BwaW5nIHBvbGxpbmcuIiksdGhpcy5fcnVubmluZz0hMSx0aGlzLl9wb2xsQWJvcnQuYWJvcnQoKTt0cnl7YXdhaXQgdGhpcy5fcmVjZWl2aW5nLHRoaXMuX2xvZ2dlci5sb2coZi5UcmFjZSxgKExvbmdQb2xsaW5nIHRyYW5zcG9ydCkgc2VuZGluZyBERUxFVEUgcmVxdWVzdCB0byAke3RoaXMuX3VybH0uYCk7Y29uc3QgZT17fSxbdCxuXT1rKCk7ZVt0XT1uO2NvbnN0IHI9e2hlYWRlcnM6ey4uLmUsLi4udGhpcy5fb3B0aW9ucy5oZWFkZXJzfSx0aW1lb3V0OnRoaXMuX29wdGlvbnMudGltZW91dCx3aXRoQ3JlZGVudGlhbHM6dGhpcy5fb3B0aW9ucy53aXRoQ3JlZGVudGlhbHN9LG89YXdhaXQgdGhpcy5fZ2V0QWNjZXNzVG9rZW4oKTt0aGlzLl91cGRhdGVIZWFkZXJUb2tlbihyLG8pLGF3YWl0IHRoaXMuX2h0dHBDbGllbnQuZGVsZXRlKHRoaXMuX3VybCxyKSx0aGlzLl9sb2dnZXIubG9nKGYuVHJhY2UsIihMb25nUG9sbGluZyB0cmFuc3BvcnQpIERFTEVURSByZXF1ZXN0IHNlbnQuIil9ZmluYWxseXt0aGlzLl9sb2dnZXIubG9nKGYuVHJhY2UsIihMb25nUG9sbGluZyB0cmFuc3BvcnQpIFN0b3AgZmluaXNoZWQuIiksdGhpcy5fcmFpc2VPbkNsb3NlKCl9fV9yYWlzZU9uQ2xvc2UoKXtpZih0aGlzLm9uY2xvc2Upe2xldCBlPSIoTG9uZ1BvbGxpbmcgdHJhbnNwb3J0KSBGaXJpbmcgb25jbG9zZSBldmVudC4iO3RoaXMuX2Nsb3NlRXJyb3ImJihlKz0iIEVycm9yOiAiK3RoaXMuX2Nsb3NlRXJyb3IpLHRoaXMuX2xvZ2dlci5sb2coZi5UcmFjZSxlKSx0aGlzLm9uY2xvc2UodGhpcy5fY2xvc2VFcnJvcil9fX1jbGFzcyBae2NvbnN0cnVjdG9yKGUsdCxuLHIpe3RoaXMuX2h0dHBDbGllbnQ9ZSx0aGlzLl9hY2Nlc3NUb2tlbkZhY3Rvcnk9dCx0aGlzLl9sb2dnZXI9bix0aGlzLl9vcHRpb25zPXIsdGhpcy5vbnJlY2VpdmU9bnVsbCx0aGlzLm9uY2xvc2U9bnVsbH1hc3luYyBjb25uZWN0KGUsdCl7aWYodi5pc1JlcXVpcmVkKGUsInVybCIpLHYuaXNSZXF1aXJlZCh0LCJ0cmFuc2ZlckZvcm1hdCIpLHYuaXNJbih0LEIsInRyYW5zZmVyRm9ybWF0IiksdGhpcy5fbG9nZ2VyLmxvZyhmLlRyYWNlLCIoU1NFIHRyYW5zcG9ydCkgQ29ubmVjdGluZy4iKSx0aGlzLl91cmw9ZSx0aGlzLl9hY2Nlc3NUb2tlbkZhY3Rvcnkpe2NvbnN0IHQ9YXdhaXQgdGhpcy5fYWNjZXNzVG9rZW5GYWN0b3J5KCk7dCYmKGUrPShlLmluZGV4T2YoIj8iKTwwPyI/IjoiJiIpK2BhY2Nlc3NfdG9rZW49JHtlbmNvZGVVUklDb21wb25lbnQodCl9YCl9cmV0dXJuIG5ldyBQcm9taXNlKCgobixyKT0+e2xldCBvLGk9ITE7aWYodD09PUIuVGV4dCl7aWYody5pc0Jyb3dzZXJ8fHcuaXNXZWJXb3JrZXIpbz1uZXcgdGhpcy5fb3B0aW9ucy5FdmVudFNvdXJjZShlLHt3aXRoQ3JlZGVudGlhbHM6dGhpcy5fb3B0aW9ucy53aXRoQ3JlZGVudGlhbHN9KTtlbHNle2NvbnN0IHQ9dGhpcy5faHR0cENsaWVudC5nZXRDb29raWVTdHJpbmcoZSksbj17fTtuLkNvb2tpZT10O2NvbnN0W3IsaV09aygpO25bcl09aSxvPW5ldyB0aGlzLl9vcHRpb25zLkV2ZW50U291cmNlKGUse3dpdGhDcmVkZW50aWFsczp0aGlzLl9vcHRpb25zLndpdGhDcmVkZW50aWFscyxoZWFkZXJzOnsuLi5uLC4uLnRoaXMuX29wdGlvbnMuaGVhZGVyc319KX10cnl7by5vbm1lc3NhZ2U9ZT0+e2lmKHRoaXMub25yZWNlaXZlKXRyeXt0aGlzLl9sb2dnZXIubG9nKGYuVHJhY2UsYChTU0UgdHJhbnNwb3J0KSBkYXRhIHJlY2VpdmVkLiAke2IoZS5kYXRhLHRoaXMuX29wdGlvbnMubG9nTWVzc2FnZUNvbnRlbnQpfS5gKSx0aGlzLm9ucmVjZWl2ZShlLmRhdGEpfWNhdGNoKGUpe3JldHVybiB2b2lkIHRoaXMuX2Nsb3NlKGUpfX0sby5vbmVycm9yPWU9PntpP3RoaXMuX2Nsb3NlKCk6cihuZXcgRXJyb3IoIkV2ZW50U291cmNlIGZhaWxlZCB0byBjb25uZWN0LiBUaGUgY29ubmVjdGlvbiBjb3VsZCBub3QgYmUgZm91bmQgb24gdGhlIHNlcnZlciwgZWl0aGVyIHRoZSBjb25uZWN0aW9uIElEIGlzIG5vdCBwcmVzZW50IG9uIHRoZSBzZXJ2ZXIsIG9yIGEgcHJveHkgaXMgcmVmdXNpbmcvYnVmZmVyaW5nIHRoZSBjb25uZWN0aW9uLiBJZiB5b3UgaGF2ZSBtdWx0aXBsZSBzZXJ2ZXJzIGNoZWNrIHRoYXQgc3RpY2t5IHNlc3Npb25zIGFyZSBlbmFibGVkLiIpKX0sby5vbm9wZW49KCk9Pnt0aGlzLl9sb2dnZXIubG9nKGYuSW5mb3JtYXRpb24sYFNTRSBjb25uZWN0ZWQgdG8gJHt0aGlzLl91cmx9YCksdGhpcy5fZXZlbnRTb3VyY2U9byxpPSEwLG4oKX19Y2F0Y2goZSl7cmV0dXJuIHZvaWQgcihlKX19ZWxzZSByKG5ldyBFcnJvcigiVGhlIFNlcnZlci1TZW50IEV2ZW50cyB0cmFuc3BvcnQgb25seSBzdXBwb3J0cyB0aGUgJ1RleHQnIHRyYW5zZmVyIGZvcm1hdCIpKX0pKX1hc3luYyBzZW5kKGUpe3JldHVybiB0aGlzLl9ldmVudFNvdXJjZT9fKHRoaXMuX2xvZ2dlciwiU1NFIix0aGlzLl9odHRwQ2xpZW50LHRoaXMuX3VybCx0aGlzLl9hY2Nlc3NUb2tlbkZhY3RvcnksZSx0aGlzLl9vcHRpb25zKTpQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIkNhbm5vdCBzZW5kIHVudGlsIHRoZSB0cmFuc3BvcnQgaXMgY29ubmVjdGVkIikpfXN0b3AoKXtyZXR1cm4gdGhpcy5fY2xvc2UoKSxQcm9taXNlLnJlc29sdmUoKX1fY2xvc2UoZSl7dGhpcy5fZXZlbnRTb3VyY2UmJih0aGlzLl9ldmVudFNvdXJjZS5jbG9zZSgpLHRoaXMuX2V2ZW50U291cmNlPXZvaWQgMCx0aGlzLm9uY2xvc2UmJnRoaXMub25jbG9zZShlKSl9fWNsYXNzIEp7Y29uc3RydWN0b3IoZSx0LG4scixvLGkpe3RoaXMuX2xvZ2dlcj1uLHRoaXMuX2FjY2Vzc1Rva2VuRmFjdG9yeT10LHRoaXMuX2xvZ01lc3NhZ2VDb250ZW50PXIsdGhpcy5fd2ViU29ja2V0Q29uc3RydWN0b3I9byx0aGlzLl9odHRwQ2xpZW50PWUsdGhpcy5vbnJlY2VpdmU9bnVsbCx0aGlzLm9uY2xvc2U9bnVsbCx0aGlzLl9oZWFkZXJzPWl9YXN5bmMgY29ubmVjdChlLHQpe2lmKHYuaXNSZXF1aXJlZChlLCJ1cmwiKSx2LmlzUmVxdWlyZWQodCwidHJhbnNmZXJGb3JtYXQiKSx2LmlzSW4odCxCLCJ0cmFuc2ZlckZvcm1hdCIpLHRoaXMuX2xvZ2dlci5sb2coZi5UcmFjZSwiKFdlYlNvY2tldHMgdHJhbnNwb3J0KSBDb25uZWN0aW5nLiIpLHRoaXMuX2FjY2Vzc1Rva2VuRmFjdG9yeSl7Y29uc3QgdD1hd2FpdCB0aGlzLl9hY2Nlc3NUb2tlbkZhY3RvcnkoKTt0JiYoZSs9KGUuaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrYGFjY2Vzc190b2tlbj0ke2VuY29kZVVSSUNvbXBvbmVudCh0KX1gKX1yZXR1cm4gbmV3IFByb21pc2UoKChuLHIpPT57bGV0IG87ZT1lLnJlcGxhY2UoL15odHRwLywid3MiKTtjb25zdCBpPXRoaXMuX2h0dHBDbGllbnQuZ2V0Q29va2llU3RyaW5nKGUpO2xldCBzPSExO2lmKHcuaXNOb2RlKXtjb25zdCB0PXt9LFtuLHJdPWsoKTt0W25dPXIsaSYmKHRbRi5Db29raWVdPWAke2l9YCksbz1uZXcgdGhpcy5fd2ViU29ja2V0Q29uc3RydWN0b3IoZSx2b2lkIDAse2hlYWRlcnM6ey4uLnQsLi4udGhpcy5faGVhZGVyc319KX1vfHwobz1uZXcgdGhpcy5fd2ViU29ja2V0Q29uc3RydWN0b3IoZSkpLHQ9PT1CLkJpbmFyeSYmKG8uYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiKSxvLm9ub3Blbj10PT57dGhpcy5fbG9nZ2VyLmxvZyhmLkluZm9ybWF0aW9uLGBXZWJTb2NrZXQgY29ubmVjdGVkIHRvICR7ZX0uYCksdGhpcy5fd2ViU29ja2V0PW8scz0hMCxuKCl9LG8ub25lcnJvcj1lPT57bGV0IHQ9bnVsbDt0PSJ1bmRlZmluZWQiIT10eXBlb2YgRXJyb3JFdmVudCYmZSBpbnN0YW5jZW9mIEVycm9yRXZlbnQ/ZS5lcnJvcjoiVGhlcmUgd2FzIGFuIGVycm9yIHdpdGggdGhlIHRyYW5zcG9ydCIsdGhpcy5fbG9nZ2VyLmxvZyhmLkluZm9ybWF0aW9uLGAoV2ViU29ja2V0cyB0cmFuc3BvcnQpICR7dH0uYCl9LG8ub25tZXNzYWdlPWU9PntpZih0aGlzLl9sb2dnZXIubG9nKGYuVHJhY2UsYChXZWJTb2NrZXRzIHRyYW5zcG9ydCkgZGF0YSByZWNlaXZlZC4gJHtiKGUuZGF0YSx0aGlzLl9sb2dNZXNzYWdlQ29udGVudCl9LmApLHRoaXMub25yZWNlaXZlKXRyeXt0aGlzLm9ucmVjZWl2ZShlLmRhdGEpfWNhdGNoKGUpe3JldHVybiB2b2lkIHRoaXMuX2Nsb3NlKGUpfX0sby5vbmNsb3NlPWU9PntpZihzKXRoaXMuX2Nsb3NlKGUpO2Vsc2V7bGV0IHQ9bnVsbDt0PSJ1bmRlZmluZWQiIT10eXBlb2YgRXJyb3JFdmVudCYmZSBpbnN0YW5jZW9mIEVycm9yRXZlbnQ/ZS5lcnJvcjoiV2ViU29ja2V0IGZhaWxlZCB0byBjb25uZWN0LiBUaGUgY29ubmVjdGlvbiBjb3VsZCBub3QgYmUgZm91bmQgb24gdGhlIHNlcnZlciwgZWl0aGVyIHRoZSBlbmRwb2ludCBtYXkgbm90IGJlIGEgU2lnbmFsUiBlbmRwb2ludCwgdGhlIGNvbm5lY3Rpb24gSUQgaXMgbm90IHByZXNlbnQgb24gdGhlIHNlcnZlciwgb3IgdGhlcmUgaXMgYSBwcm94eSBibG9ja2luZyBXZWJTb2NrZXRzLiBJZiB5b3UgaGF2ZSBtdWx0aXBsZSBzZXJ2ZXJzIGNoZWNrIHRoYXQgc3RpY2t5IHNlc3Npb25zIGFyZSBlbmFibGVkLiIscihuZXcgRXJyb3IodCkpfX19KSl9c2VuZChlKXtyZXR1cm4gdGhpcy5fd2ViU29ja2V0JiZ0aGlzLl93ZWJTb2NrZXQucmVhZHlTdGF0ZT09PXRoaXMuX3dlYlNvY2tldENvbnN0cnVjdG9yLk9QRU4/KHRoaXMuX2xvZ2dlci5sb2coZi5UcmFjZSxgKFdlYlNvY2tldHMgdHJhbnNwb3J0KSBzZW5kaW5nIGRhdGEuICR7YihlLHRoaXMuX2xvZ01lc3NhZ2VDb250ZW50KX0uYCksdGhpcy5fd2ViU29ja2V0LnNlbmQoZSksUHJvbWlzZS5yZXNvbHZlKCkpOlByb21pc2UucmVqZWN0KCJXZWJTb2NrZXQgaXMgbm90IGluIHRoZSBPUEVOIHN0YXRlIil9c3RvcCgpe3JldHVybiB0aGlzLl93ZWJTb2NrZXQmJnRoaXMuX2Nsb3NlKHZvaWQgMCksUHJvbWlzZS5yZXNvbHZlKCl9X2Nsb3NlKGUpe3RoaXMuX3dlYlNvY2tldCYmKHRoaXMuX3dlYlNvY2tldC5vbmNsb3NlPSgpPT57fSx0aGlzLl93ZWJTb2NrZXQub25tZXNzYWdlPSgpPT57fSx0aGlzLl93ZWJTb2NrZXQub25lcnJvcj0oKT0+e30sdGhpcy5fd2ViU29ja2V0LmNsb3NlKCksdGhpcy5fd2ViU29ja2V0PXZvaWQgMCksdGhpcy5fbG9nZ2VyLmxvZyhmLlRyYWNlLCIoV2ViU29ja2V0cyB0cmFuc3BvcnQpIHNvY2tldCBjbG9zZWQuIiksdGhpcy5vbmNsb3NlJiYoIXRoaXMuX2lzQ2xvc2VFdmVudChlKXx8ITEhPT1lLndhc0NsZWFuJiYxZTM9PT1lLmNvZGU/ZSBpbnN0YW5jZW9mIEVycm9yP3RoaXMub25jbG9zZShlKTp0aGlzLm9uY2xvc2UoKTp0aGlzLm9uY2xvc2UobmV3IEVycm9yKGBXZWJTb2NrZXQgY2xvc2VkIHdpdGggc3RhdHVzIGNvZGU6ICR7ZS5jb2RlfSAoJHtlLnJlYXNvbnx8Im5vIHJlYXNvbiBnaXZlbiJ9KS5gKSkpfV9pc0Nsb3NlRXZlbnQoZSl7cmV0dXJuIGUmJiJib29sZWFuIj09dHlwZW9mIGUud2FzQ2xlYW4mJiJudW1iZXIiPT10eXBlb2YgZS5jb2RlfX1jbGFzcyBLe2NvbnN0cnVjdG9yKGUsdD17fSl7dmFyIG47aWYodGhpcy5fc3RvcFByb21pc2VSZXNvbHZlcj0oKT0+e30sdGhpcy5mZWF0dXJlcz17fSx0aGlzLl9uZWdvdGlhdGVWZXJzaW9uPTEsdi5pc1JlcXVpcmVkKGUsInVybCIpLHRoaXMuX2xvZ2dlcj12b2lkIDA9PT0obj10LmxvZ2dlcik/bmV3IFQoZi5JbmZvcm1hdGlvbik6bnVsbD09PW4/Zy5pbnN0YW5jZTp2b2lkIDAhPT1uLmxvZz9uOm5ldyBUKG4pLHRoaXMuYmFzZVVybD10aGlzLl9yZXNvbHZlVXJsKGUpLCh0PXR8fHt9KS5sb2dNZXNzYWdlQ29udGVudD12b2lkIDAhPT10LmxvZ01lc3NhZ2VDb250ZW50JiZ0LmxvZ01lc3NhZ2VDb250ZW50LCJib29sZWFuIiE9dHlwZW9mIHQud2l0aENyZWRlbnRpYWxzJiZ2b2lkIDAhPT10LndpdGhDcmVkZW50aWFscyl0aHJvdyBuZXcgRXJyb3IoIndpdGhDcmVkZW50aWFscyBvcHRpb24gd2FzIG5vdCBhICdib29sZWFuJyBvciAndW5kZWZpbmVkJyB2YWx1ZSIpO3Qud2l0aENyZWRlbnRpYWxzPXZvaWQgMD09PXQud2l0aENyZWRlbnRpYWxzfHx0LndpdGhDcmVkZW50aWFscyx0LnRpbWVvdXQ9dm9pZCAwPT09dC50aW1lb3V0PzFlNTp0LnRpbWVvdXQ7bGV0IHI9bnVsbCxvPW51bGw7aWYody5pc05vZGUpe2NvbnN0IGU9cmVxdWlyZTtyPWUoIndzIiksbz1lKCJldmVudHNvdXJjZSIpfXcuaXNOb2RlfHwidW5kZWZpbmVkIj09dHlwZW9mIFdlYlNvY2tldHx8dC5XZWJTb2NrZXQ/dy5pc05vZGUmJiF0LldlYlNvY2tldCYmciYmKHQuV2ViU29ja2V0PXIpOnQuV2ViU29ja2V0PVdlYlNvY2tldCx3LmlzTm9kZXx8InVuZGVmaW5lZCI9PXR5cGVvZiBFdmVudFNvdXJjZXx8dC5FdmVudFNvdXJjZT93LmlzTm9kZSYmIXQuRXZlbnRTb3VyY2UmJnZvaWQgMCE9PW8mJih0LkV2ZW50U291cmNlPW8pOnQuRXZlbnRTb3VyY2U9RXZlbnRTb3VyY2UsdGhpcy5faHR0cENsaWVudD10Lmh0dHBDbGllbnR8fG5ldyBMKHRoaXMuX2xvZ2dlciksdGhpcy5fY29ubmVjdGlvblN0YXRlPSJEaXNjb25uZWN0ZWQiLHRoaXMuX2Nvbm5lY3Rpb25TdGFydGVkPSExLHRoaXMuX29wdGlvbnM9dCx0aGlzLm9ucmVjZWl2ZT1udWxsLHRoaXMub25jbG9zZT1udWxsfWFzeW5jIHN0YXJ0KGUpe2lmKGU9ZXx8Qi5CaW5hcnksdi5pc0luKGUsQiwidHJhbnNmZXJGb3JtYXQiKSx0aGlzLl9sb2dnZXIubG9nKGYuRGVidWcsYFN0YXJ0aW5nIGNvbm5lY3Rpb24gd2l0aCB0cmFuc2ZlciBmb3JtYXQgJyR7QltlXX0nLmApLCJEaXNjb25uZWN0ZWQiIT09dGhpcy5fY29ubmVjdGlvblN0YXRlKXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIkNhbm5vdCBzdGFydCBhbiBIdHRwQ29ubmVjdGlvbiB0aGF0IGlzIG5vdCBpbiB0aGUgJ0Rpc2Nvbm5lY3RlZCcgc3RhdGUuIikpO2lmKHRoaXMuX2Nvbm5lY3Rpb25TdGF0ZT0iQ29ubmVjdGluZyIsdGhpcy5fc3RhcnRJbnRlcm5hbFByb21pc2U9dGhpcy5fc3RhcnRJbnRlcm5hbChlKSxhd2FpdCB0aGlzLl9zdGFydEludGVybmFsUHJvbWlzZSwiRGlzY29ubmVjdGluZyI9PT10aGlzLl9jb25uZWN0aW9uU3RhdGUpe2NvbnN0IGU9IkZhaWxlZCB0byBzdGFydCB0aGUgSHR0cENvbm5lY3Rpb24gYmVmb3JlIHN0b3AoKSB3YXMgY2FsbGVkLiI7cmV0dXJuIHRoaXMuX2xvZ2dlci5sb2coZi5FcnJvcixlKSxhd2FpdCB0aGlzLl9zdG9wUHJvbWlzZSxQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoZSkpfWlmKCJDb25uZWN0ZWQiIT09dGhpcy5fY29ubmVjdGlvblN0YXRlKXtjb25zdCBlPSJIdHRwQ29ubmVjdGlvbi5zdGFydEludGVybmFsIGNvbXBsZXRlZCBncmFjZWZ1bGx5IGJ1dCBkaWRuJ3QgZW50ZXIgdGhlIGNvbm5lY3Rpb24gaW50byB0aGUgY29ubmVjdGVkIHN0YXRlISI7cmV0dXJuIHRoaXMuX2xvZ2dlci5sb2coZi5FcnJvcixlKSxQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoZSkpfXRoaXMuX2Nvbm5lY3Rpb25TdGFydGVkPSEwfXNlbmQoZSl7cmV0dXJuIkNvbm5lY3RlZCIhPT10aGlzLl9jb25uZWN0aW9uU3RhdGU/UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJDYW5ub3Qgc2VuZCBkYXRhIGlmIHRoZSBjb25uZWN0aW9uIGlzIG5vdCBpbiB0aGUgJ0Nvbm5lY3RlZCcgU3RhdGUuIikpOih0aGlzLl9zZW5kUXVldWV8fCh0aGlzLl9zZW5kUXVldWU9bmV3IFgodGhpcy50cmFuc3BvcnQpKSx0aGlzLl9zZW5kUXVldWUuc2VuZChlKSl9YXN5bmMgc3RvcChlKXtyZXR1cm4iRGlzY29ubmVjdGVkIj09PXRoaXMuX2Nvbm5lY3Rpb25TdGF0ZT8odGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLGBDYWxsIHRvIEh0dHBDb25uZWN0aW9uLnN0b3AoJHtlfSkgaWdub3JlZCBiZWNhdXNlIHRoZSBjb25uZWN0aW9uIGlzIGFscmVhZHkgaW4gdGhlIGRpc2Nvbm5lY3RlZCBzdGF0ZS5gKSxQcm9taXNlLnJlc29sdmUoKSk6IkRpc2Nvbm5lY3RpbmciPT09dGhpcy5fY29ubmVjdGlvblN0YXRlPyh0aGlzLl9sb2dnZXIubG9nKGYuRGVidWcsYENhbGwgdG8gSHR0cENvbm5lY3Rpb24uc3RvcCgke2V9KSBpZ25vcmVkIGJlY2F1c2UgdGhlIGNvbm5lY3Rpb24gaXMgYWxyZWFkeSBpbiB0aGUgZGlzY29ubmVjdGluZyBzdGF0ZS5gKSx0aGlzLl9zdG9wUHJvbWlzZSk6KHRoaXMuX2Nvbm5lY3Rpb25TdGF0ZT0iRGlzY29ubmVjdGluZyIsdGhpcy5fc3RvcFByb21pc2U9bmV3IFByb21pc2UoKGU9Pnt0aGlzLl9zdG9wUHJvbWlzZVJlc29sdmVyPWV9KSksYXdhaXQgdGhpcy5fc3RvcEludGVybmFsKGUpLHZvaWQgYXdhaXQgdGhpcy5fc3RvcFByb21pc2UpfWFzeW5jIF9zdG9wSW50ZXJuYWwoZSl7dGhpcy5fc3RvcEVycm9yPWU7dHJ5e2F3YWl0IHRoaXMuX3N0YXJ0SW50ZXJuYWxQcm9taXNlfWNhdGNoKGUpe31pZih0aGlzLnRyYW5zcG9ydCl7dHJ5e2F3YWl0IHRoaXMudHJhbnNwb3J0LnN0b3AoKX1jYXRjaChlKXt0aGlzLl9sb2dnZXIubG9nKGYuRXJyb3IsYEh0dHBDb25uZWN0aW9uLnRyYW5zcG9ydC5zdG9wKCkgdGhyZXcgZXJyb3IgJyR7ZX0nLmApLHRoaXMuX3N0b3BDb25uZWN0aW9uKCl9dGhpcy50cmFuc3BvcnQ9dm9pZCAwfWVsc2UgdGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLCJIdHRwQ29ubmVjdGlvbi50cmFuc3BvcnQgaXMgdW5kZWZpbmVkIGluIEh0dHBDb25uZWN0aW9uLnN0b3AoKSBiZWNhdXNlIHN0YXJ0KCkgZmFpbGVkLiIpfWFzeW5jIF9zdGFydEludGVybmFsKGUpe2xldCB0PXRoaXMuYmFzZVVybDt0aGlzLl9hY2Nlc3NUb2tlbkZhY3Rvcnk9dGhpcy5fb3B0aW9ucy5hY2Nlc3NUb2tlbkZhY3Rvcnk7dHJ5e2lmKHRoaXMuX29wdGlvbnMuc2tpcE5lZ290aWF0aW9uKXtpZih0aGlzLl9vcHRpb25zLnRyYW5zcG9ydCE9PXEuV2ViU29ja2V0cyl0aHJvdyBuZXcgRXJyb3IoIk5lZ290aWF0aW9uIGNhbiBvbmx5IGJlIHNraXBwZWQgd2hlbiB1c2luZyB0aGUgV2ViU29ja2V0IHRyYW5zcG9ydCBkaXJlY3RseS4iKTt0aGlzLnRyYW5zcG9ydD10aGlzLl9jb25zdHJ1Y3RUcmFuc3BvcnQocS5XZWJTb2NrZXRzKSxhd2FpdCB0aGlzLl9zdGFydFRyYW5zcG9ydCh0LGUpfWVsc2V7bGV0IG49bnVsbCxyPTA7ZG97aWYobj1hd2FpdCB0aGlzLl9nZXROZWdvdGlhdGlvblJlc3BvbnNlKHQpLCJEaXNjb25uZWN0aW5nIj09PXRoaXMuX2Nvbm5lY3Rpb25TdGF0ZXx8IkRpc2Nvbm5lY3RlZCI9PT10aGlzLl9jb25uZWN0aW9uU3RhdGUpdGhyb3cgbmV3IEVycm9yKCJUaGUgY29ubmVjdGlvbiB3YXMgc3RvcHBlZCBkdXJpbmcgbmVnb3RpYXRpb24uIik7aWYobi5lcnJvcil0aHJvdyBuZXcgRXJyb3Iobi5lcnJvcik7aWYobi5Qcm90b2NvbFZlcnNpb24pdGhyb3cgbmV3IEVycm9yKCJEZXRlY3RlZCBhIGNvbm5lY3Rpb24gYXR0ZW1wdCB0byBhbiBBU1AuTkVUIFNpZ25hbFIgU2VydmVyLiBUaGlzIGNsaWVudCBvbmx5IHN1cHBvcnRzIGNvbm5lY3RpbmcgdG8gYW4gQVNQLk5FVCBDb3JlIFNpZ25hbFIgU2VydmVyLiBTZWUgaHR0cHM6Ly9ha2EubXMvc2lnbmFsci1jb3JlLWRpZmZlcmVuY2VzIGZvciBkZXRhaWxzLiIpO2lmKG4udXJsJiYodD1uLnVybCksbi5hY2Nlc3NUb2tlbil7Y29uc3QgZT1uLmFjY2Vzc1Rva2VuO3RoaXMuX2FjY2Vzc1Rva2VuRmFjdG9yeT0oKT0+ZX1yKyt9d2hpbGUobi51cmwmJnI8MTAwKTtpZigxMDA9PT1yJiZuLnVybCl0aHJvdyBuZXcgRXJyb3IoIk5lZ290aWF0ZSByZWRpcmVjdGlvbiBsaW1pdCBleGNlZWRlZC4iKTthd2FpdCB0aGlzLl9jcmVhdGVUcmFuc3BvcnQodCx0aGlzLl9vcHRpb25zLnRyYW5zcG9ydCxuLGUpfXRoaXMudHJhbnNwb3J0IGluc3RhbmNlb2YgVyYmKHRoaXMuZmVhdHVyZXMuaW5oZXJlbnRLZWVwQWxpdmU9ITApLCJDb25uZWN0aW5nIj09PXRoaXMuX2Nvbm5lY3Rpb25TdGF0ZSYmKHRoaXMuX2xvZ2dlci5sb2coZi5EZWJ1ZywiVGhlIEh0dHBDb25uZWN0aW9uIGNvbm5lY3RlZCBzdWNjZXNzZnVsbHkuIiksdGhpcy5fY29ubmVjdGlvblN0YXRlPSJDb25uZWN0ZWQiKX1jYXRjaChlKXtyZXR1cm4gdGhpcy5fbG9nZ2VyLmxvZyhmLkVycm9yLCJGYWlsZWQgdG8gc3RhcnQgdGhlIGNvbm5lY3Rpb246ICIrZSksdGhpcy5fY29ubmVjdGlvblN0YXRlPSJEaXNjb25uZWN0ZWQiLHRoaXMudHJhbnNwb3J0PXZvaWQgMCx0aGlzLl9zdG9wUHJvbWlzZVJlc29sdmVyKCksUHJvbWlzZS5yZWplY3QoZSl9fWFzeW5jIF9nZXROZWdvdGlhdGlvblJlc3BvbnNlKGUpe2NvbnN0IHQ9e307aWYodGhpcy5fYWNjZXNzVG9rZW5GYWN0b3J5KXtjb25zdCBlPWF3YWl0IHRoaXMuX2FjY2Vzc1Rva2VuRmFjdG9yeSgpO2UmJih0W0YuQXV0aG9yaXphdGlvbl09YEJlYXJlciAke2V9YCl9Y29uc3RbbixvXT1rKCk7dFtuXT1vO2NvbnN0IGk9dGhpcy5fcmVzb2x2ZU5lZ290aWF0ZVVybChlKTt0aGlzLl9sb2dnZXIubG9nKGYuRGVidWcsYFNlbmRpbmcgbmVnb3RpYXRpb24gcmVxdWVzdDogJHtpfS5gKTt0cnl7Y29uc3QgZT1hd2FpdCB0aGlzLl9odHRwQ2xpZW50LnBvc3QoaSx7Y29udGVudDoiIixoZWFkZXJzOnsuLi50LC4uLnRoaXMuX29wdGlvbnMuaGVhZGVyc30sdGltZW91dDp0aGlzLl9vcHRpb25zLnRpbWVvdXQsd2l0aENyZWRlbnRpYWxzOnRoaXMuX29wdGlvbnMud2l0aENyZWRlbnRpYWxzfSk7aWYoMjAwIT09ZS5zdGF0dXNDb2RlKXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgc3RhdHVzIGNvZGUgcmV0dXJuZWQgZnJvbSBuZWdvdGlhdGUgJyR7ZS5zdGF0dXNDb2RlfSdgKSk7Y29uc3Qgbj1KU09OLnBhcnNlKGUuY29udGVudCk7cmV0dXJuKCFuLm5lZ290aWF0ZVZlcnNpb258fG4ubmVnb3RpYXRlVmVyc2lvbjwxKSYmKG4uY29ubmVjdGlvblRva2VuPW4uY29ubmVjdGlvbklkKSxufWNhdGNoKGUpe2xldCB0PSJGYWlsZWQgdG8gY29tcGxldGUgbmVnb3RpYXRpb24gd2l0aCB0aGUgc2VydmVyOiAiK2U7cmV0dXJuIGUgaW5zdGFuY2VvZiByJiY0MDQ9PT1lLnN0YXR1c0NvZGUmJih0Kz0iIEVpdGhlciB0aGlzIGlzIG5vdCBhIFNpZ25hbFIgZW5kcG9pbnQgb3IgdGhlcmUgaXMgYSBwcm94eSBibG9ja2luZyB0aGUgY29ubmVjdGlvbi4iKSx0aGlzLl9sb2dnZXIubG9nKGYuRXJyb3IsdCksUHJvbWlzZS5yZWplY3QobmV3IGModCkpfX1fY3JlYXRlQ29ubmVjdFVybChlLHQpe3JldHVybiB0P2UrKC0xPT09ZS5pbmRleE9mKCI/Iik/Ij8iOiImIikrYGlkPSR7dH1gOmV9YXN5bmMgX2NyZWF0ZVRyYW5zcG9ydChlLHQsbixyKXtsZXQgbz10aGlzLl9jcmVhdGVDb25uZWN0VXJsKGUsbi5jb25uZWN0aW9uVG9rZW4pO2lmKHRoaXMuX2lzSVRyYW5zcG9ydCh0KSlyZXR1cm4gdGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLCJDb25uZWN0aW9uIHdhcyBwcm92aWRlZCBhbiBpbnN0YW5jZSBvZiBJVHJhbnNwb3J0LCB1c2luZyB0aGF0IGRpcmVjdGx5LiIpLHRoaXMudHJhbnNwb3J0PXQsYXdhaXQgdGhpcy5fc3RhcnRUcmFuc3BvcnQobyxyKSx2b2lkKHRoaXMuY29ubmVjdGlvbklkPW4uY29ubmVjdGlvbklkKTtjb25zdCBpPVtdLHM9bi5hdmFpbGFibGVUcmFuc3BvcnRzfHxbXTtsZXQgYT1uO2Zvcihjb25zdCBuIG9mIHMpe2NvbnN0IHM9dGhpcy5fcmVzb2x2ZVRyYW5zcG9ydE9yRXJyb3Iobix0LHIpO2lmKHMgaW5zdGFuY2VvZiBFcnJvcilpLnB1c2goYCR7bi50cmFuc3BvcnR9IGZhaWxlZDpgKSxpLnB1c2gocyk7ZWxzZSBpZih0aGlzLl9pc0lUcmFuc3BvcnQocykpe2lmKHRoaXMudHJhbnNwb3J0PXMsIWEpe3RyeXthPWF3YWl0IHRoaXMuX2dldE5lZ290aWF0aW9uUmVzcG9uc2UoZSl9Y2F0Y2goZSl7cmV0dXJuIFByb21pc2UucmVqZWN0KGUpfW89dGhpcy5fY3JlYXRlQ29ubmVjdFVybChlLGEuY29ubmVjdGlvblRva2VuKX10cnl7cmV0dXJuIGF3YWl0IHRoaXMuX3N0YXJ0VHJhbnNwb3J0KG8sciksdm9pZCh0aGlzLmNvbm5lY3Rpb25JZD1hLmNvbm5lY3Rpb25JZCl9Y2F0Y2goZSl7aWYodGhpcy5fbG9nZ2VyLmxvZyhmLkVycm9yLGBGYWlsZWQgdG8gc3RhcnQgdGhlIHRyYW5zcG9ydCAnJHtuLnRyYW5zcG9ydH0nOiAke2V9YCksYT12b2lkIDAsaS5wdXNoKG5ldyBsKGAke24udHJhbnNwb3J0fSBmYWlsZWQ6ICR7ZX1gLHFbbi50cmFuc3BvcnRdKSksIkNvbm5lY3RpbmciIT09dGhpcy5fY29ubmVjdGlvblN0YXRlKXtjb25zdCBlPSJGYWlsZWQgdG8gc2VsZWN0IHRyYW5zcG9ydCBiZWZvcmUgc3RvcCgpIHdhcyBjYWxsZWQuIjtyZXR1cm4gdGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLGUpLFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihlKSl9fX19cmV0dXJuIGkubGVuZ3RoPjA/UHJvbWlzZS5yZWplY3QobmV3IHUoYFVuYWJsZSB0byBjb25uZWN0IHRvIHRoZSBzZXJ2ZXIgd2l0aCBhbnkgb2YgdGhlIGF2YWlsYWJsZSB0cmFuc3BvcnRzLiAke2kuam9pbigiICIpfWAsaSkpOlByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiTm9uZSBvZiB0aGUgdHJhbnNwb3J0cyBzdXBwb3J0ZWQgYnkgdGhlIGNsaWVudCBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBzZXJ2ZXIuIikpfV9jb25zdHJ1Y3RUcmFuc3BvcnQoZSl7c3dpdGNoKGUpe2Nhc2UgcS5XZWJTb2NrZXRzOmlmKCF0aGlzLl9vcHRpb25zLldlYlNvY2tldCl0aHJvdyBuZXcgRXJyb3IoIidXZWJTb2NrZXQnIGlzIG5vdCBzdXBwb3J0ZWQgaW4geW91ciBlbnZpcm9ubWVudC4iKTtyZXR1cm4gbmV3IEoodGhpcy5faHR0cENsaWVudCx0aGlzLl9hY2Nlc3NUb2tlbkZhY3RvcnksdGhpcy5fbG9nZ2VyLHRoaXMuX29wdGlvbnMubG9nTWVzc2FnZUNvbnRlbnQsdGhpcy5fb3B0aW9ucy5XZWJTb2NrZXQsdGhpcy5fb3B0aW9ucy5oZWFkZXJzfHx7fSk7Y2FzZSBxLlNlcnZlclNlbnRFdmVudHM6aWYoIXRoaXMuX29wdGlvbnMuRXZlbnRTb3VyY2UpdGhyb3cgbmV3IEVycm9yKCInRXZlbnRTb3VyY2UnIGlzIG5vdCBzdXBwb3J0ZWQgaW4geW91ciBlbnZpcm9ubWVudC4iKTtyZXR1cm4gbmV3IFoodGhpcy5faHR0cENsaWVudCx0aGlzLl9hY2Nlc3NUb2tlbkZhY3RvcnksdGhpcy5fbG9nZ2VyLHRoaXMuX29wdGlvbnMpO2Nhc2UgcS5Mb25nUG9sbGluZzpyZXR1cm4gbmV3IFcodGhpcy5faHR0cENsaWVudCx0aGlzLl9hY2Nlc3NUb2tlbkZhY3RvcnksdGhpcy5fbG9nZ2VyLHRoaXMuX29wdGlvbnMpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHRyYW5zcG9ydDogJHtlfS5gKX19X3N0YXJ0VHJhbnNwb3J0KGUsdCl7cmV0dXJuIHRoaXMudHJhbnNwb3J0Lm9ucmVjZWl2ZT10aGlzLm9ucmVjZWl2ZSx0aGlzLnRyYW5zcG9ydC5vbmNsb3NlPWU9PnRoaXMuX3N0b3BDb25uZWN0aW9uKGUpLHRoaXMudHJhbnNwb3J0LmNvbm5lY3QoZSx0KX1fcmVzb2x2ZVRyYW5zcG9ydE9yRXJyb3IoZSx0LG4pe2NvbnN0IHI9cVtlLnRyYW5zcG9ydF07aWYobnVsbD09cilyZXR1cm4gdGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLGBTa2lwcGluZyB0cmFuc3BvcnQgJyR7ZS50cmFuc3BvcnR9JyBiZWNhdXNlIGl0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjbGllbnQuYCksbmV3IEVycm9yKGBTa2lwcGluZyB0cmFuc3BvcnQgJyR7ZS50cmFuc3BvcnR9JyBiZWNhdXNlIGl0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjbGllbnQuYCk7aWYoIWZ1bmN0aW9uKGUsdCl7cmV0dXJuIWV8fDAhPSh0JmUpfSh0LHIpKXJldHVybiB0aGlzLl9sb2dnZXIubG9nKGYuRGVidWcsYFNraXBwaW5nIHRyYW5zcG9ydCAnJHtxW3JdfScgYmVjYXVzZSBpdCB3YXMgZGlzYWJsZWQgYnkgdGhlIGNsaWVudC5gKSxuZXcgYShgJyR7cVtyXX0nIGlzIGRpc2FibGVkIGJ5IHRoZSBjbGllbnQuYCxyKTtpZighKGUudHJhbnNmZXJGb3JtYXRzLm1hcCgoZT0+QltlXSkpLmluZGV4T2Yobik+PTApKXJldHVybiB0aGlzLl9sb2dnZXIubG9nKGYuRGVidWcsYFNraXBwaW5nIHRyYW5zcG9ydCAnJHtxW3JdfScgYmVjYXVzZSBpdCBkb2VzIG5vdCBzdXBwb3J0IHRoZSByZXF1ZXN0ZWQgdHJhbnNmZXIgZm9ybWF0ICcke0Jbbl19Jy5gKSxuZXcgRXJyb3IoYCcke3Fbcl19JyBkb2VzIG5vdCBzdXBwb3J0ICR7QltuXX0uYCk7aWYocj09PXEuV2ViU29ja2V0cyYmIXRoaXMuX29wdGlvbnMuV2ViU29ja2V0fHxyPT09cS5TZXJ2ZXJTZW50RXZlbnRzJiYhdGhpcy5fb3B0aW9ucy5FdmVudFNvdXJjZSlyZXR1cm4gdGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLGBTa2lwcGluZyB0cmFuc3BvcnQgJyR7cVtyXX0nIGJlY2F1c2UgaXQgaXMgbm90IHN1cHBvcnRlZCBpbiB5b3VyIGVudmlyb25tZW50LidgKSxuZXcgcyhgJyR7cVtyXX0nIGlzIG5vdCBzdXBwb3J0ZWQgaW4geW91ciBlbnZpcm9ubWVudC5gLHIpO3RoaXMuX2xvZ2dlci5sb2coZi5EZWJ1ZyxgU2VsZWN0aW5nIHRyYW5zcG9ydCAnJHtxW3JdfScuYCk7dHJ5e3JldHVybiB0aGlzLl9jb25zdHJ1Y3RUcmFuc3BvcnQocil9Y2F0Y2goZSl7cmV0dXJuIGV9fV9pc0lUcmFuc3BvcnQoZSl7cmV0dXJuIGUmJiJvYmplY3QiPT10eXBlb2YgZSYmImNvbm5lY3QiaW4gZX1fc3RvcENvbm5lY3Rpb24oZSl7aWYodGhpcy5fbG9nZ2VyLmxvZyhmLkRlYnVnLGBIdHRwQ29ubmVjdGlvbi5zdG9wQ29ubmVjdGlvbigke2V9KSBjYWxsZWQgd2hpbGUgaW4gc3RhdGUgJHt0aGlzLl9jb25uZWN0aW9uU3RhdGV9LmApLHRoaXMudHJhbnNwb3J0PXZvaWQgMCxlPXRoaXMuX3N0b3BFcnJvcnx8ZSx0aGlzLl9zdG9wRXJyb3I9dm9pZCAwLCJEaXNjb25uZWN0ZWQiIT09dGhpcy5fY29ubmVjdGlvblN0YXRlKXtpZigiQ29ubmVjdGluZyI9PT10aGlzLl9jb25uZWN0aW9uU3RhdGUpdGhyb3cgdGhpcy5fbG9nZ2VyLmxvZyhmLldhcm5pbmcsYENhbGwgdG8gSHR0cENvbm5lY3Rpb24uc3RvcENvbm5lY3Rpb24oJHtlfSkgd2FzIGlnbm9yZWQgYmVjYXVzZSB0aGUgY29ubmVjdGlvbiBpcyBzdGlsbCBpbiB0aGUgY29ubmVjdGluZyBzdGF0ZS5gKSxuZXcgRXJyb3IoYEh0dHBDb25uZWN0aW9uLnN0b3BDb25uZWN0aW9uKCR7ZX0pIHdhcyBjYWxsZWQgd2hpbGUgdGhlIGNvbm5lY3Rpb24gaXMgc3RpbGwgaW4gdGhlIGNvbm5lY3Rpbmcgc3RhdGUuYCk7aWYoIkRpc2Nvbm5lY3RpbmciPT09dGhpcy5fY29ubmVjdGlvblN0YXRlJiZ0aGlzLl9zdG9wUHJvbWlzZVJlc29sdmVyKCksZT90aGlzLl9sb2dnZXIubG9nKGYuRXJyb3IsYENvbm5lY3Rpb24gZGlzY29ubmVjdGVkIHdpdGggZXJyb3IgJyR7ZX0nLmApOnRoaXMuX2xvZ2dlci5sb2coZi5JbmZvcm1hdGlvbiwiQ29ubmVjdGlvbiBkaXNjb25uZWN0ZWQuIiksdGhpcy5fc2VuZFF1ZXVlJiYodGhpcy5fc2VuZFF1ZXVlLnN0b3AoKS5jYXRjaCgoZT0+e3RoaXMuX2xvZ2dlci5sb2coZi5FcnJvcixgVHJhbnNwb3J0U2VuZFF1ZXVlLnN0b3AoKSB0aHJldyBlcnJvciAnJHtlfScuYCl9KSksdGhpcy5fc2VuZFF1ZXVlPXZvaWQgMCksdGhpcy5jb25uZWN0aW9uSWQ9dm9pZCAwLHRoaXMuX2Nvbm5lY3Rpb25TdGF0ZT0iRGlzY29ubmVjdGVkIix0aGlzLl9jb25uZWN0aW9uU3RhcnRlZCl7dGhpcy5fY29ubmVjdGlvblN0YXJ0ZWQ9ITE7dHJ5e3RoaXMub25jbG9zZSYmdGhpcy5vbmNsb3NlKGUpfWNhdGNoKHQpe3RoaXMuX2xvZ2dlci5sb2coZi5FcnJvcixgSHR0cENvbm5lY3Rpb24ub25jbG9zZSgke2V9KSB0aHJldyBlcnJvciAnJHt0fScuYCl9fX1lbHNlIHRoaXMuX2xvZ2dlci5sb2coZi5EZWJ1ZyxgQ2FsbCB0byBIdHRwQ29ubmVjdGlvbi5zdG9wQ29ubmVjdGlvbigke2V9KSB3YXMgaWdub3JlZCBiZWNhdXNlIHRoZSBjb25uZWN0aW9uIGlzIGFscmVhZHkgaW4gdGhlIGRpc2Nvbm5lY3RlZCBzdGF0ZS5gKX1fcmVzb2x2ZVVybChlKXtpZigwPT09ZS5sYXN0SW5kZXhPZigiaHR0cHM6Ly8iLDApfHwwPT09ZS5sYXN0SW5kZXhPZigiaHR0cDovLyIsMCkpcmV0dXJuIGU7aWYoIXcuaXNCcm93c2VyfHwhd2luZG93LmRvY3VtZW50KXRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJlc29sdmUgJyR7ZX0nLmApO2NvbnN0IHQ9d2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtyZXR1cm4gdC5ocmVmPWUsdGhpcy5fbG9nZ2VyLmxvZyhmLkluZm9ybWF0aW9uLGBOb3JtYWxpemluZyAnJHtlfScgdG8gJyR7dC5ocmVmfScuYCksdC5ocmVmfV9yZXNvbHZlTmVnb3RpYXRlVXJsKGUpe2NvbnN0IHQ9ZS5pbmRleE9mKCI/Iik7bGV0IG49ZS5zdWJzdHJpbmcoMCwtMT09PXQ/ZS5sZW5ndGg6dCk7cmV0dXJuIi8iIT09bltuLmxlbmd0aC0xXSYmKG4rPSIvIiksbis9Im5lZ290aWF0ZSIsbis9LTE9PT10PyIiOmUuc3Vic3RyaW5nKHQpLC0xPT09bi5pbmRleE9mKCJuZWdvdGlhdGVWZXJzaW9uIikmJihuKz0tMT09PXQ/Ij8iOiImIixuKz0ibmVnb3RpYXRlVmVyc2lvbj0iK3RoaXMuX25lZ290aWF0ZVZlcnNpb24pLG59fWNsYXNzIFh7Y29uc3RydWN0b3IoZSl7dGhpcy5fdHJhbnNwb3J0PWUsdGhpcy5fYnVmZmVyPVtdLHRoaXMuX2V4ZWN1dGluZz0hMCx0aGlzLl9zZW5kQnVmZmVyZWREYXRhPW5ldyBRLHRoaXMuX3RyYW5zcG9ydFJlc3VsdD1uZXcgUSx0aGlzLl9zZW5kTG9vcFByb21pc2U9dGhpcy5fc2VuZExvb3AoKX1zZW5kKGUpe3JldHVybiB0aGlzLl9idWZmZXJEYXRhKGUpLHRoaXMuX3RyYW5zcG9ydFJlc3VsdHx8KHRoaXMuX3RyYW5zcG9ydFJlc3VsdD1uZXcgUSksdGhpcy5fdHJhbnNwb3J0UmVzdWx0LnByb21pc2V9c3RvcCgpe3JldHVybiB0aGlzLl9leGVjdXRpbmc9ITEsdGhpcy5fc2VuZEJ1ZmZlcmVkRGF0YS5yZXNvbHZlKCksdGhpcy5fc2VuZExvb3BQcm9taXNlfV9idWZmZXJEYXRhKGUpe2lmKHRoaXMuX2J1ZmZlci5sZW5ndGgmJnR5cGVvZiB0aGlzLl9idWZmZXJbMF0hPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgZGF0YSB0byBiZSBvZiB0eXBlICR7dHlwZW9mIHRoaXMuX2J1ZmZlcn0gYnV0IHdhcyBvZiB0eXBlICR7dHlwZW9mIGV9YCk7dGhpcy5fYnVmZmVyLnB1c2goZSksdGhpcy5fc2VuZEJ1ZmZlcmVkRGF0YS5yZXNvbHZlKCl9YXN5bmMgX3NlbmRMb29wKCl7Zm9yKDs7KXtpZihhd2FpdCB0aGlzLl9zZW5kQnVmZmVyZWREYXRhLnByb21pc2UsIXRoaXMuX2V4ZWN1dGluZyl7dGhpcy5fdHJhbnNwb3J0UmVzdWx0JiZ0aGlzLl90cmFuc3BvcnRSZXN1bHQucmVqZWN0KCJDb25uZWN0aW9uIHN0b3BwZWQuIik7YnJlYWt9dGhpcy5fc2VuZEJ1ZmZlcmVkRGF0YT1uZXcgUTtjb25zdCBlPXRoaXMuX3RyYW5zcG9ydFJlc3VsdDt0aGlzLl90cmFuc3BvcnRSZXN1bHQ9dm9pZCAwO2NvbnN0IHQ9InN0cmluZyI9PXR5cGVvZiB0aGlzLl9idWZmZXJbMF0/dGhpcy5fYnVmZmVyLmpvaW4oIiIpOlguX2NvbmNhdEJ1ZmZlcnModGhpcy5fYnVmZmVyKTt0aGlzLl9idWZmZXIubGVuZ3RoPTA7dHJ5e2F3YWl0IHRoaXMuX3RyYW5zcG9ydC5zZW5kKHQpLGUucmVzb2x2ZSgpfWNhdGNoKHQpe2UucmVqZWN0KHQpfX19c3RhdGljIF9jb25jYXRCdWZmZXJzKGUpe2NvbnN0IHQ9ZS5tYXAoKGU9PmUuYnl0ZUxlbmd0aCkpLnJlZHVjZSgoKGUsdCk9PmUrdCkpLG49bmV3IFVpbnQ4QXJyYXkodCk7bGV0IHI9MDtmb3IoY29uc3QgdCBvZiBlKW4uc2V0KG5ldyBVaW50OEFycmF5KHQpLHIpLHIrPXQuYnl0ZUxlbmd0aDtyZXR1cm4gbi5idWZmZXJ9fWNsYXNzIFF7Y29uc3RydWN0b3IoKXt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKChlLHQpPT5bdGhpcy5fcmVzb2x2ZXIsdGhpcy5fcmVqZWN0ZXJdPVtlLHRdKSl9cmVzb2x2ZSgpe3RoaXMuX3Jlc29sdmVyKCl9cmVqZWN0KGUpe3RoaXMuX3JlamVjdGVyKGUpfX1jbGFzcyBZe2NvbnN0cnVjdG9yKCl7dGhpcy5uYW1lPSJqc29uIix0aGlzLnZlcnNpb249MSx0aGlzLnRyYW5zZmVyRm9ybWF0PUIuVGV4dH1wYXJzZU1lc3NhZ2VzKGUsdCl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgSlNPTiBodWIgcHJvdG9jb2wuIEV4cGVjdGVkIGEgc3RyaW5nLiIpO2lmKCFlKXJldHVybltdO251bGw9PT10JiYodD1nLmluc3RhbmNlKTtjb25zdCBuPUQucGFyc2UoZSkscj1bXTtmb3IoY29uc3QgZSBvZiBuKXtjb25zdCBuPUpTT04ucGFyc2UoZSk7aWYoIm51bWJlciIhPXR5cGVvZiBuLnR5cGUpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHBheWxvYWQuIik7c3dpdGNoKG4udHlwZSl7Y2FzZSBBLkludm9jYXRpb246dGhpcy5faXNJbnZvY2F0aW9uTWVzc2FnZShuKTticmVhaztjYXNlIEEuU3RyZWFtSXRlbTp0aGlzLl9pc1N0cmVhbUl0ZW1NZXNzYWdlKG4pO2JyZWFrO2Nhc2UgQS5Db21wbGV0aW9uOnRoaXMuX2lzQ29tcGxldGlvbk1lc3NhZ2Uobik7YnJlYWs7Y2FzZSBBLlBpbmc6Y2FzZSBBLkNsb3NlOmJyZWFrO2RlZmF1bHQ6dC5sb2coZi5JbmZvcm1hdGlvbiwiVW5rbm93biBtZXNzYWdlIHR5cGUgJyIrbi50eXBlKyInIGlnbm9yZWQuIik7Y29udGludWV9ci5wdXNoKG4pfXJldHVybiByfXdyaXRlTWVzc2FnZShlKXtyZXR1cm4gRC53cml0ZShKU09OLnN0cmluZ2lmeShlKSl9X2lzSW52b2NhdGlvbk1lc3NhZ2UoZSl7dGhpcy5fYXNzZXJ0Tm90RW1wdHlTdHJpbmcoZS50YXJnZXQsIkludmFsaWQgcGF5bG9hZCBmb3IgSW52b2NhdGlvbiBtZXNzYWdlLiIpLHZvaWQgMCE9PWUuaW52b2NhdGlvbklkJiZ0aGlzLl9hc3NlcnROb3RFbXB0eVN0cmluZyhlLmludm9jYXRpb25JZCwiSW52YWxpZCBwYXlsb2FkIGZvciBJbnZvY2F0aW9uIG1lc3NhZ2UuIil9X2lzU3RyZWFtSXRlbU1lc3NhZ2UoZSl7aWYodGhpcy5fYXNzZXJ0Tm90RW1wdHlTdHJpbmcoZS5pbnZvY2F0aW9uSWQsIkludmFsaWQgcGF5bG9hZCBmb3IgU3RyZWFtSXRlbSBtZXNzYWdlLiIpLHZvaWQgMD09PWUuaXRlbSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcGF5bG9hZCBmb3IgU3RyZWFtSXRlbSBtZXNzYWdlLiIpfV9pc0NvbXBsZXRpb25NZXNzYWdlKGUpe2lmKGUucmVzdWx0JiZlLmVycm9yKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBwYXlsb2FkIGZvciBDb21wbGV0aW9uIG1lc3NhZ2UuIik7IWUucmVzdWx0JiZlLmVycm9yJiZ0aGlzLl9hc3NlcnROb3RFbXB0eVN0cmluZyhlLmVycm9yLCJJbnZhbGlkIHBheWxvYWQgZm9yIENvbXBsZXRpb24gbWVzc2FnZS4iKSx0aGlzLl9hc3NlcnROb3RFbXB0eVN0cmluZyhlLmludm9jYXRpb25JZCwiSW52YWxpZCBwYXlsb2FkIGZvciBDb21wbGV0aW9uIG1lc3NhZ2UuIil9X2Fzc2VydE5vdEVtcHR5U3RyaW5nKGUsdCl7aWYoInN0cmluZyIhPXR5cGVvZiBlfHwiIj09PWUpdGhyb3cgbmV3IEVycm9yKHQpfX1jb25zdCBHPXt0cmFjZTpmLlRyYWNlLGRlYnVnOmYuRGVidWcsaW5mbzpmLkluZm9ybWF0aW9uLGluZm9ybWF0aW9uOmYuSW5mb3JtYXRpb24sd2FybjpmLldhcm5pbmcsd2FybmluZzpmLldhcm5pbmcsZXJyb3I6Zi5FcnJvcixjcml0aWNhbDpmLkNyaXRpY2FsLG5vbmU6Zi5Ob25lfTtjbGFzcyBlZXtjb25maWd1cmVMb2dnaW5nKGUpe2lmKHYuaXNSZXF1aXJlZChlLCJsb2dnaW5nIiksdm9pZCAwIT09ZS5sb2cpdGhpcy5sb2dnZXI9ZTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PUdbZS50b0xvd2VyQ2FzZSgpXTtpZih2b2lkIDAhPT10KXJldHVybiB0O3Rocm93IG5ldyBFcnJvcihgVW5rbm93biBsb2cgbGV2ZWw6ICR7ZX1gKX0oZSk7dGhpcy5sb2dnZXI9bmV3IFQodCl9ZWxzZSB0aGlzLmxvZ2dlcj1uZXcgVChlKTtyZXR1cm4gdGhpc313aXRoVXJsKGUsdCl7cmV0dXJuIHYuaXNSZXF1aXJlZChlLCJ1cmwiKSx2LmlzTm90RW1wdHkoZSwidXJsIiksdGhpcy51cmw9ZSx0aGlzLmh0dHBDb25uZWN0aW9uT3B0aW9ucz0ib2JqZWN0Ij09dHlwZW9mIHQ/ey4uLnRoaXMuaHR0cENvbm5lY3Rpb25PcHRpb25zLC4uLnR9OnsuLi50aGlzLmh0dHBDb25uZWN0aW9uT3B0aW9ucyx0cmFuc3BvcnQ6dH0sdGhpc313aXRoSHViUHJvdG9jb2woZSl7cmV0dXJuIHYuaXNSZXF1aXJlZChlLCJwcm90b2NvbCIpLHRoaXMucHJvdG9jb2w9ZSx0aGlzfXdpdGhBdXRvbWF0aWNSZWNvbm5lY3QoZSl7aWYodGhpcy5yZWNvbm5lY3RQb2xpY3kpdGhyb3cgbmV3IEVycm9yKCJBIHJlY29ubmVjdFBvbGljeSBoYXMgYWxyZWFkeSBiZWVuIHNldC4iKTtyZXR1cm4gZT9BcnJheS5pc0FycmF5KGUpP3RoaXMucmVjb25uZWN0UG9saWN5PW5ldyBIKGUpOnRoaXMucmVjb25uZWN0UG9saWN5PWU6dGhpcy5yZWNvbm5lY3RQb2xpY3k9bmV3IEgsdGhpc31idWlsZCgpe2NvbnN0IGU9dGhpcy5odHRwQ29ubmVjdGlvbk9wdGlvbnN8fHt9O2lmKHZvaWQgMD09PWUubG9nZ2VyJiYoZS5sb2dnZXI9dGhpcy5sb2dnZXIpLCF0aGlzLnVybCl0aHJvdyBuZXcgRXJyb3IoIlRoZSAnSHViQ29ubmVjdGlvbkJ1aWxkZXIud2l0aFVybCcgbWV0aG9kIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBidWlsZGluZyB0aGUgY29ubmVjdGlvbi4iKTtjb25zdCB0PW5ldyBLKHRoaXMudXJsLGUpO3JldHVybiBWLmNyZWF0ZSh0LHRoaXMubG9nZ2VyfHxnLmluc3RhbmNlLHRoaXMucHJvdG9jb2x8fG5ldyBZLHRoaXMucmVjb25uZWN0UG9saWN5KX19fSw5NjY5OmZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9big1MTYwOSl9LDU1NDQ4OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9big2NDg2Nyksbz1uKDM2MDI2KSxpPW4oNDM3Mikscz1uKDE1MzI3KSxhPW4oOTQwOTcpLGw9big4NDEwOSksYz1uKDY3OTg1KSx1PW4oODUwNjEpLGQ9big0NTY1NSksaD1uKDY1MjYzKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LG4pe3ZhciBmLGc9ZS5kYXRhLHA9ZS5oZWFkZXJzLG09ZS5yZXNwb25zZVR5cGU7ZnVuY3Rpb24gdigpe2UuY2FuY2VsVG9rZW4mJmUuY2FuY2VsVG9rZW4udW5zdWJzY3JpYmUoZiksZS5zaWduYWwmJmUuc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixmKX1yLmlzRm9ybURhdGEoZykmJmRlbGV0ZSBwWyJDb250ZW50LVR5cGUiXTt2YXIgdz1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoZS5hdXRoKXt2YXIgYj1lLmF1dGgudXNlcm5hbWV8fCIiLHk9ZS5hdXRoLnBhc3N3b3JkP3VuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlLmF1dGgucGFzc3dvcmQpKToiIjtwLkF1dGhvcml6YXRpb249IkJhc2ljICIrYnRvYShiKyI6Iit5KX12YXIgXz1hKGUuYmFzZVVSTCxlLnVybCk7ZnVuY3Rpb24gUygpe2lmKHcpe3ZhciByPSJnZXRBbGxSZXNwb25zZUhlYWRlcnMiaW4gdz9sKHcuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpOm51bGwsaT17ZGF0YTptJiYidGV4dCIhPT1tJiYianNvbiIhPT1tP3cucmVzcG9uc2U6dy5yZXNwb25zZVRleHQsc3RhdHVzOncuc3RhdHVzLHN0YXR1c1RleHQ6dy5zdGF0dXNUZXh0LGhlYWRlcnM6cixjb25maWc6ZSxyZXF1ZXN0Ond9O28oKGZ1bmN0aW9uKGUpe3QoZSksdigpfSksKGZ1bmN0aW9uKGUpe24oZSksdigpfSksaSksdz1udWxsfX1pZih3Lm9wZW4oZS5tZXRob2QudG9VcHBlckNhc2UoKSxzKF8sZS5wYXJhbXMsZS5wYXJhbXNTZXJpYWxpemVyKSwhMCksdy50aW1lb3V0PWUudGltZW91dCwib25sb2FkZW5kImluIHc/dy5vbmxvYWRlbmQ9Uzp3Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3cmJjQ9PT13LnJlYWR5U3RhdGUmJigwIT09dy5zdGF0dXN8fHcucmVzcG9uc2VVUkwmJjA9PT13LnJlc3BvbnNlVVJMLmluZGV4T2YoImZpbGU6IikpJiZzZXRUaW1lb3V0KFMpfSx3Lm9uYWJvcnQ9ZnVuY3Rpb24oKXt3JiYobih1KCJSZXF1ZXN0IGFib3J0ZWQiLGUsIkVDT05OQUJPUlRFRCIsdykpLHc9bnVsbCl9LHcub25lcnJvcj1mdW5jdGlvbigpe24odSgiTmV0d29yayBFcnJvciIsZSxudWxsLHcpKSx3PW51bGx9LHcub250aW1lb3V0PWZ1bmN0aW9uKCl7dmFyIHQ9ZS50aW1lb3V0PyJ0aW1lb3V0IG9mICIrZS50aW1lb3V0KyJtcyBleGNlZWRlZCI6InRpbWVvdXQgZXhjZWVkZWQiLHI9ZS50cmFuc2l0aW9uYWx8fGQudHJhbnNpdGlvbmFsO2UudGltZW91dEVycm9yTWVzc2FnZSYmKHQ9ZS50aW1lb3V0RXJyb3JNZXNzYWdlKSxuKHUodCxlLHIuY2xhcmlmeVRpbWVvdXRFcnJvcj8iRVRJTUVET1VUIjoiRUNPTk5BQk9SVEVEIix3KSksdz1udWxsfSxyLmlzU3RhbmRhcmRCcm93c2VyRW52KCkpe3ZhciBUPShlLndpdGhDcmVkZW50aWFsc3x8YyhfKSkmJmUueHNyZkNvb2tpZU5hbWU/aS5yZWFkKGUueHNyZkNvb2tpZU5hbWUpOnZvaWQgMDtUJiYocFtlLnhzcmZIZWFkZXJOYW1lXT1UKX0ic2V0UmVxdWVzdEhlYWRlciJpbiB3JiZyLmZvckVhY2gocCwoZnVuY3Rpb24oZSx0KXt2b2lkIDA9PT1nJiYiY29udGVudC10eXBlIj09PXQudG9Mb3dlckNhc2UoKT9kZWxldGUgcFt0XTp3LnNldFJlcXVlc3RIZWFkZXIodCxlKX0pKSxyLmlzVW5kZWZpbmVkKGUud2l0aENyZWRlbnRpYWxzKXx8KHcud2l0aENyZWRlbnRpYWxzPSEhZS53aXRoQ3JlZGVudGlhbHMpLG0mJiJqc29uIiE9PW0mJih3LnJlc3BvbnNlVHlwZT1lLnJlc3BvbnNlVHlwZSksImZ1bmN0aW9uIj09dHlwZW9mIGUub25Eb3dubG9hZFByb2dyZXNzJiZ3LmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixlLm9uRG93bmxvYWRQcm9ncmVzcyksImZ1bmN0aW9uIj09dHlwZW9mIGUub25VcGxvYWRQcm9ncmVzcyYmdy51cGxvYWQmJncudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixlLm9uVXBsb2FkUHJvZ3Jlc3MpLChlLmNhbmNlbFRva2VufHxlLnNpZ25hbCkmJihmPWZ1bmN0aW9uKGUpe3cmJihuKCFlfHxlJiZlLnR5cGU/bmV3IGgoImNhbmNlbGVkIik6ZSksdy5hYm9ydCgpLHc9bnVsbCl9LGUuY2FuY2VsVG9rZW4mJmUuY2FuY2VsVG9rZW4uc3Vic2NyaWJlKGYpLGUuc2lnbmFsJiYoZS5zaWduYWwuYWJvcnRlZD9mKCk6ZS5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGYpKSksZ3x8KGc9bnVsbCksdy5zZW5kKGcpfSkpfX0sNTE2MDk6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKDY0ODY3KSxvPW4oOTE4NDkpLGk9bigzMDMyMSkscz1uKDQ3MTg1KTt2YXIgYT1mdW5jdGlvbiBlKHQpe3ZhciBuPW5ldyBpKHQpLGE9byhpLnByb3RvdHlwZS5yZXF1ZXN0LG4pO3JldHVybiByLmV4dGVuZChhLGkucHJvdG90eXBlLG4pLHIuZXh0ZW5kKGEsbiksYS5jcmVhdGU9ZnVuY3Rpb24obil7cmV0dXJuIGUocyh0LG4pKX0sYX0obig0NTY1NSkpO2EuQXhpb3M9aSxhLkNhbmNlbD1uKDY1MjYzKSxhLkNhbmNlbFRva2VuPW4oMTQ5NzIpLGEuaXNDYW5jZWw9bigyNjUwMiksYS5WRVJTSU9OPW4oOTcyODgpLnZlcnNpb24sYS5hbGw9ZnVuY3Rpb24oZSl7cmV0dXJuIFByb21pc2UuYWxsKGUpfSxhLnNwcmVhZD1uKDg3MTMpLGEuaXNBeGlvc0Vycm9yPW4oMTYyNjgpLGUuZXhwb3J0cz1hLGUuZXhwb3J0cy5kZWZhdWx0PWF9LDY1MjYzOmZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUpe3RoaXMubWVzc2FnZT1lfXQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIkNhbmNlbCIrKHRoaXMubWVzc2FnZT8iOiAiK3RoaXMubWVzc2FnZToiIil9LHQucHJvdG90eXBlLl9fQ0FOQ0VMX189ITAsZS5leHBvcnRzPXR9LDE0OTcyOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9big2NTI2Myk7ZnVuY3Rpb24gbyhlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleGVjdXRvciBtdXN0IGJlIGEgZnVuY3Rpb24uIik7dmFyIHQ7dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKChmdW5jdGlvbihlKXt0PWV9KSk7dmFyIG49dGhpczt0aGlzLnByb21pc2UudGhlbigoZnVuY3Rpb24oZSl7aWYobi5fbGlzdGVuZXJzKXt2YXIgdCxyPW4uX2xpc3RlbmVycy5sZW5ndGg7Zm9yKHQ9MDt0PHI7dCsrKW4uX2xpc3RlbmVyc1t0XShlKTtuLl9saXN0ZW5lcnM9bnVsbH19KSksdGhpcy5wcm9taXNlLnRoZW49ZnVuY3Rpb24oZSl7dmFyIHQscj1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7bi5zdWJzY3JpYmUoZSksdD1lfSkpLnRoZW4oZSk7cmV0dXJuIHIuY2FuY2VsPWZ1bmN0aW9uKCl7bi51bnN1YnNjcmliZSh0KX0scn0sZSgoZnVuY3Rpb24oZSl7bi5yZWFzb258fChuLnJlYXNvbj1uZXcgcihlKSx0KG4ucmVhc29uKSl9KSl9by5wcm90b3R5cGUudGhyb3dJZlJlcXVlc3RlZD1mdW5jdGlvbigpe2lmKHRoaXMucmVhc29uKXRocm93IHRoaXMucmVhc29ufSxvLnByb3RvdHlwZS5zdWJzY3JpYmU9ZnVuY3Rpb24oZSl7dGhpcy5yZWFzb24/ZSh0aGlzLnJlYXNvbik6dGhpcy5fbGlzdGVuZXJzP3RoaXMuX2xpc3RlbmVycy5wdXNoKGUpOnRoaXMuX2xpc3RlbmVycz1bZV19LG8ucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGUpe2lmKHRoaXMuX2xpc3RlbmVycyl7dmFyIHQ9dGhpcy5fbGlzdGVuZXJzLmluZGV4T2YoZSk7LTEhPT10JiZ0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSl9fSxvLnNvdXJjZT1mdW5jdGlvbigpe3ZhciBlO3JldHVybnt0b2tlbjpuZXcgbygoZnVuY3Rpb24odCl7ZT10fSkpLGNhbmNlbDplfX0sZS5leHBvcnRzPW99LDI2NTAyOmZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuISghZXx8IWUuX19DQU5DRUxfXyl9fSwzMDMyMTpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oNjQ4NjcpLG89bigxNTMyNyksaT1uKDgwNzgyKSxzPW4oMTM1NzIpLGE9big0NzE4NSksbD1uKDU0ODc1KSxjPWwudmFsaWRhdG9ycztmdW5jdGlvbiB1KGUpe3RoaXMuZGVmYXVsdHM9ZSx0aGlzLmludGVyY2VwdG9ycz17cmVxdWVzdDpuZXcgaSxyZXNwb25zZTpuZXcgaX19dS5wcm90b3R5cGUucmVxdWVzdD1mdW5jdGlvbihlKXsic3RyaW5nIj09dHlwZW9mIGU/KGU9YXJndW1lbnRzWzFdfHx7fSkudXJsPWFyZ3VtZW50c1swXTplPWV8fHt9LChlPWEodGhpcy5kZWZhdWx0cyxlKSkubWV0aG9kP2UubWV0aG9kPWUubWV0aG9kLnRvTG93ZXJDYXNlKCk6dGhpcy5kZWZhdWx0cy5tZXRob2Q/ZS5tZXRob2Q9dGhpcy5kZWZhdWx0cy5tZXRob2QudG9Mb3dlckNhc2UoKTplLm1ldGhvZD0iZ2V0Ijt2YXIgdD1lLnRyYW5zaXRpb25hbDt2b2lkIDAhPT10JiZsLmFzc2VydE9wdGlvbnModCx7c2lsZW50SlNPTlBhcnNpbmc6Yy50cmFuc2l0aW9uYWwoYy5ib29sZWFuKSxmb3JjZWRKU09OUGFyc2luZzpjLnRyYW5zaXRpb25hbChjLmJvb2xlYW4pLGNsYXJpZnlUaW1lb3V0RXJyb3I6Yy50cmFuc2l0aW9uYWwoYy5ib29sZWFuKX0sITEpO3ZhciBuPVtdLHI9ITA7dGhpcy5pbnRlcmNlcHRvcnMucmVxdWVzdC5mb3JFYWNoKChmdW5jdGlvbih0KXsiZnVuY3Rpb24iPT10eXBlb2YgdC5ydW5XaGVuJiYhMT09PXQucnVuV2hlbihlKXx8KHI9ciYmdC5zeW5jaHJvbm91cyxuLnVuc2hpZnQodC5mdWxmaWxsZWQsdC5yZWplY3RlZCkpfSkpO3ZhciBvLGk9W107aWYodGhpcy5pbnRlcmNlcHRvcnMucmVzcG9uc2UuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aS5wdXNoKGUuZnVsZmlsbGVkLGUucmVqZWN0ZWQpfSkpLCFyKXt2YXIgdT1bcyx2b2lkIDBdO2ZvcihBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseSh1LG4pLHU9dS5jb25jYXQoaSksbz1Qcm9taXNlLnJlc29sdmUoZSk7dS5sZW5ndGg7KW89by50aGVuKHUuc2hpZnQoKSx1LnNoaWZ0KCkpO3JldHVybiBvfWZvcih2YXIgZD1lO24ubGVuZ3RoOyl7dmFyIGg9bi5zaGlmdCgpLGY9bi5zaGlmdCgpO3RyeXtkPWgoZCl9Y2F0Y2goZSl7ZihlKTticmVha319dHJ5e289cyhkKX1jYXRjaChlKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoZSl9Zm9yKDtpLmxlbmd0aDspbz1vLnRoZW4oaS5zaGlmdCgpLGkuc2hpZnQoKSk7cmV0dXJuIG99LHUucHJvdG90eXBlLmdldFVyaT1mdW5jdGlvbihlKXtyZXR1cm4gZT1hKHRoaXMuZGVmYXVsdHMsZSksbyhlLnVybCxlLnBhcmFtcyxlLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cPy8sIiIpfSxyLmZvckVhY2goWyJkZWxldGUiLCJnZXQiLCJoZWFkIiwib3B0aW9ucyJdLChmdW5jdGlvbihlKXt1LnByb3RvdHlwZVtlXT1mdW5jdGlvbih0LG4pe3JldHVybiB0aGlzLnJlcXVlc3QoYShufHx7fSx7bWV0aG9kOmUsdXJsOnQsZGF0YToobnx8e30pLmRhdGF9KSl9fSkpLHIuZm9yRWFjaChbInBvc3QiLCJwdXQiLCJwYXRjaCJdLChmdW5jdGlvbihlKXt1LnByb3RvdHlwZVtlXT1mdW5jdGlvbih0LG4scil7cmV0dXJuIHRoaXMucmVxdWVzdChhKHJ8fHt9LHttZXRob2Q6ZSx1cmw6dCxkYXRhOm59KSl9fSkpLGUuZXhwb3J0cz11fSw4MDc4MjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oNjQ4NjcpO2Z1bmN0aW9uIG8oKXt0aGlzLmhhbmRsZXJzPVtdfW8ucHJvdG90eXBlLnVzZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuaGFuZGxlcnMucHVzaCh7ZnVsZmlsbGVkOmUscmVqZWN0ZWQ6dCxzeW5jaHJvbm91czohIW4mJm4uc3luY2hyb25vdXMscnVuV2hlbjpuP24ucnVuV2hlbjpudWxsfSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX0sby5wcm90b3R5cGUuZWplY3Q9ZnVuY3Rpb24oZSl7dGhpcy5oYW5kbGVyc1tlXSYmKHRoaXMuaGFuZGxlcnNbZV09bnVsbCl9LG8ucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oZSl7ci5mb3JFYWNoKHRoaXMuaGFuZGxlcnMsKGZ1bmN0aW9uKHQpe251bGwhPT10JiZlKHQpfSkpfSxlLmV4cG9ydHM9b30sOTQwOTc6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKDkxNzkzKSxvPW4oNzMwMyk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUmJiFyKHQpP28oZSx0KTp0fX0sODUwNjE6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKDgwNDgxKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4sbyxpKXt2YXIgcz1uZXcgRXJyb3IoZSk7cmV0dXJuIHIocyx0LG4sbyxpKX19LDEzNTcyOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9big2NDg2Nyksbz1uKDE4NTI3KSxpPW4oMjY1MDIpLHM9big0NTY1NSksYT1uKDY1MjYzKTtmdW5jdGlvbiBsKGUpe2lmKGUuY2FuY2VsVG9rZW4mJmUuY2FuY2VsVG9rZW4udGhyb3dJZlJlcXVlc3RlZCgpLGUuc2lnbmFsJiZlLnNpZ25hbC5hYm9ydGVkKXRocm93IG5ldyBhKCJjYW5jZWxlZCIpfWUuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gbChlKSxlLmhlYWRlcnM9ZS5oZWFkZXJzfHx7fSxlLmRhdGE9by5jYWxsKGUsZS5kYXRhLGUuaGVhZGVycyxlLnRyYW5zZm9ybVJlcXVlc3QpLGUuaGVhZGVycz1yLm1lcmdlKGUuaGVhZGVycy5jb21tb258fHt9LGUuaGVhZGVyc1tlLm1ldGhvZF18fHt9LGUuaGVhZGVycyksci5mb3JFYWNoKFsiZGVsZXRlIiwiZ2V0IiwiaGVhZCIsInBvc3QiLCJwdXQiLCJwYXRjaCIsImNvbW1vbiJdLChmdW5jdGlvbih0KXtkZWxldGUgZS5oZWFkZXJzW3RdfSkpLChlLmFkYXB0ZXJ8fHMuYWRhcHRlcikoZSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIGwoZSksdC5kYXRhPW8uY2FsbChlLHQuZGF0YSx0LmhlYWRlcnMsZS50cmFuc2Zvcm1SZXNwb25zZSksdH0pLChmdW5jdGlvbih0KXtyZXR1cm4gaSh0KXx8KGwoZSksdCYmdC5yZXNwb25zZSYmKHQucmVzcG9uc2UuZGF0YT1vLmNhbGwoZSx0LnJlc3BvbnNlLmRhdGEsdC5yZXNwb25zZS5oZWFkZXJzLGUudHJhbnNmb3JtUmVzcG9uc2UpKSksUHJvbWlzZS5yZWplY3QodCl9KSl9fSw4MDQ4MTpmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuLHIsbyl7cmV0dXJuIGUuY29uZmlnPXQsbiYmKGUuY29kZT1uKSxlLnJlcXVlc3Q9cixlLnJlc3BvbnNlPW8sZS5pc0F4aW9zRXJyb3I9ITAsZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57bWVzc2FnZTp0aGlzLm1lc3NhZ2UsbmFtZTp0aGlzLm5hbWUsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbixudW1iZXI6dGhpcy5udW1iZXIsZmlsZU5hbWU6dGhpcy5maWxlTmFtZSxsaW5lTnVtYmVyOnRoaXMubGluZU51bWJlcixjb2x1bW5OdW1iZXI6dGhpcy5jb2x1bW5OdW1iZXIsc3RhY2s6dGhpcy5zdGFjayxjb25maWc6dGhpcy5jb25maWcsY29kZTp0aGlzLmNvZGUsc3RhdHVzOnRoaXMucmVzcG9uc2UmJnRoaXMucmVzcG9uc2Uuc3RhdHVzP3RoaXMucmVzcG9uc2Uuc3RhdHVzOm51bGx9fSxlfX0sNDcxODU6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKDY0ODY3KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0PXR8fHt9O3ZhciBuPXt9O2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm4gci5pc1BsYWluT2JqZWN0KGUpJiZyLmlzUGxhaW5PYmplY3QodCk/ci5tZXJnZShlLHQpOnIuaXNQbGFpbk9iamVjdCh0KT9yLm1lcmdlKHt9LHQpOnIuaXNBcnJheSh0KT90LnNsaWNlKCk6dH1mdW5jdGlvbiBpKG4pe3JldHVybiByLmlzVW5kZWZpbmVkKHRbbl0pP3IuaXNVbmRlZmluZWQoZVtuXSk/dm9pZCAwOm8odm9pZCAwLGVbbl0pOm8oZVtuXSx0W25dKX1mdW5jdGlvbiBzKGUpe2lmKCFyLmlzVW5kZWZpbmVkKHRbZV0pKXJldHVybiBvKHZvaWQgMCx0W2VdKX1mdW5jdGlvbiBhKG4pe3JldHVybiByLmlzVW5kZWZpbmVkKHRbbl0pP3IuaXNVbmRlZmluZWQoZVtuXSk/dm9pZCAwOm8odm9pZCAwLGVbbl0pOm8odm9pZCAwLHRbbl0pfWZ1bmN0aW9uIGwobil7cmV0dXJuIG4gaW4gdD9vKGVbbl0sdFtuXSk6biBpbiBlP28odm9pZCAwLGVbbl0pOnZvaWQgMH12YXIgYz17dXJsOnMsbWV0aG9kOnMsZGF0YTpzLGJhc2VVUkw6YSx0cmFuc2Zvcm1SZXF1ZXN0OmEsdHJhbnNmb3JtUmVzcG9uc2U6YSxwYXJhbXNTZXJpYWxpemVyOmEsdGltZW91dDphLHRpbWVvdXRNZXNzYWdlOmEsd2l0aENyZWRlbnRpYWxzOmEsYWRhcHRlcjphLHJlc3BvbnNlVHlwZTphLHhzcmZDb29raWVOYW1lOmEseHNyZkhlYWRlck5hbWU6YSxvblVwbG9hZFByb2dyZXNzOmEsb25Eb3dubG9hZFByb2dyZXNzOmEsZGVjb21wcmVzczphLG1heENvbnRlbnRMZW5ndGg6YSxtYXhCb2R5TGVuZ3RoOmEsdHJhbnNwb3J0OmEsaHR0cEFnZW50OmEsaHR0cHNBZ2VudDphLGNhbmNlbFRva2VuOmEsc29ja2V0UGF0aDphLHJlc3BvbnNlRW5jb2Rpbmc6YSx2YWxpZGF0ZVN0YXR1czpsfTtyZXR1cm4gci5mb3JFYWNoKE9iamVjdC5rZXlzKGUpLmNvbmNhdChPYmplY3Qua2V5cyh0KSksKGZ1bmN0aW9uKGUpe3ZhciB0PWNbZV18fGksbz10KGUpO3IuaXNVbmRlZmluZWQobykmJnQhPT1sfHwobltlXT1vKX0pKSxufX0sMzYwMjY6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKDg1MDYxKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciBvPW4uY29uZmlnLnZhbGlkYXRlU3RhdHVzO24uc3RhdHVzJiZvJiYhbyhuLnN0YXR1cyk/dChyKCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICIrbi5zdGF0dXMsbi5jb25maWcsbnVsbCxuLnJlcXVlc3QsbikpOmUobil9fSwxODUyNzpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oNjQ4NjcpLG89big0NTY1NSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXt2YXIgaT10aGlzfHxvO3JldHVybiByLmZvckVhY2gobiwoZnVuY3Rpb24obil7ZT1uLmNhbGwoaSxlLHQpfSkpLGV9fSw0NTY1NTpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oMzQxNTUpLG89big2NDg2NyksaT1uKDE2MDE2KSxzPW4oODA0ODEpLGE9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifTtmdW5jdGlvbiBsKGUsdCl7IW8uaXNVbmRlZmluZWQoZSkmJm8uaXNVbmRlZmluZWQoZVsiQ29udGVudC1UeXBlIl0pJiYoZVsiQ29udGVudC1UeXBlIl09dCl9dmFyIGMsdT17dHJhbnNpdGlvbmFsOntzaWxlbnRKU09OUGFyc2luZzohMCxmb3JjZWRKU09OUGFyc2luZzohMCxjbGFyaWZ5VGltZW91dEVycm9yOiExfSxhZGFwdGVyOigoInVuZGVmaW5lZCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdHx8dm9pZCAwIT09ciYmIltvYmplY3QgcHJvY2Vzc10iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpKSYmKGM9big1NTQ0OCkpLGMpLHRyYW5zZm9ybVJlcXVlc3Q6W2Z1bmN0aW9uKGUsdCl7cmV0dXJuIGkodCwiQWNjZXB0IiksaSh0LCJDb250ZW50LVR5cGUiKSxvLmlzRm9ybURhdGEoZSl8fG8uaXNBcnJheUJ1ZmZlcihlKXx8by5pc0J1ZmZlcihlKXx8by5pc1N0cmVhbShlKXx8by5pc0ZpbGUoZSl8fG8uaXNCbG9iKGUpP2U6by5pc0FycmF5QnVmZmVyVmlldyhlKT9lLmJ1ZmZlcjpvLmlzVVJMU2VhcmNoUGFyYW1zKGUpPyhsKHQsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04IiksZS50b1N0cmluZygpKTpvLmlzT2JqZWN0KGUpfHx0JiYiYXBwbGljYXRpb24vanNvbiI9PT10WyJDb250ZW50LVR5cGUiXT8obCh0LCJhcHBsaWNhdGlvbi9qc29uIiksZnVuY3Rpb24oZSx0LG4pe2lmKG8uaXNTdHJpbmcoZSkpdHJ5e3JldHVybih0fHxKU09OLnBhcnNlKShlKSxvLnRyaW0oZSl9Y2F0Y2goZSl7aWYoIlN5bnRheEVycm9yIiE9PWUubmFtZSl0aHJvdyBlfXJldHVybihufHxKU09OLnN0cmluZ2lmeSkoZSl9KGUpKTplfV0sdHJhbnNmb3JtUmVzcG9uc2U6W2Z1bmN0aW9uKGUpe3ZhciB0PXRoaXMudHJhbnNpdGlvbmFsfHx1LnRyYW5zaXRpb25hbCxuPXQmJnQuc2lsZW50SlNPTlBhcnNpbmcscj10JiZ0LmZvcmNlZEpTT05QYXJzaW5nLGk9IW4mJiJqc29uIj09PXRoaXMucmVzcG9uc2VUeXBlO2lmKGl8fHImJm8uaXNTdHJpbmcoZSkmJmUubGVuZ3RoKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaChlKXtpZihpKXtpZigiU3ludGF4RXJyb3IiPT09ZS5uYW1lKXRocm93IHMoZSx0aGlzLCJFX0pTT05fUEFSU0UiKTt0aHJvdyBlfX1yZXR1cm4gZX1dLHRpbWVvdXQ6MCx4c3JmQ29va2llTmFtZToiWFNSRi1UT0tFTiIseHNyZkhlYWRlck5hbWU6IlgtWFNSRi1UT0tFTiIsbWF4Q29udGVudExlbmd0aDotMSxtYXhCb2R5TGVuZ3RoOi0xLHZhbGlkYXRlU3RhdHVzOmZ1bmN0aW9uKGUpe3JldHVybiBlPj0yMDAmJmU8MzAwfSxoZWFkZXJzOntjb21tb246e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qIn19fTtvLmZvckVhY2goWyJkZWxldGUiLCJnZXQiLCJoZWFkIl0sKGZ1bmN0aW9uKGUpe3UuaGVhZGVyc1tlXT17fX0pKSxvLmZvckVhY2goWyJwb3N0IiwicHV0IiwicGF0Y2giXSwoZnVuY3Rpb24oZSl7dS5oZWFkZXJzW2VdPW8ubWVyZ2UoYSl9KSksZS5leHBvcnRzPXV9LDk3Mjg4OmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17dmVyc2lvbjoiMC4yNC4wIn19LDkxODQ5OmZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIG49bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdPWFyZ3VtZW50c1tyXTtyZXR1cm4gZS5hcHBseSh0LG4pfX19LDE1MzI3OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9big2NDg2Nyk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGUpLnJlcGxhY2UoLyUzQS9naSwiOiIpLnJlcGxhY2UoLyUyNC9nLCIkIikucmVwbGFjZSgvJTJDL2dpLCIsIikucmVwbGFjZSgvJTIwL2csIisiKS5yZXBsYWNlKC8lNUIvZ2ksIlsiKS5yZXBsYWNlKC8lNUQvZ2ksIl0iKX1lLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe2lmKCF0KXJldHVybiBlO3ZhciBpO2lmKG4paT1uKHQpO2Vsc2UgaWYoci5pc1VSTFNlYXJjaFBhcmFtcyh0KSlpPXQudG9TdHJpbmcoKTtlbHNle3ZhciBzPVtdO3IuZm9yRWFjaCh0LChmdW5jdGlvbihlLHQpe251bGwhPWUmJihyLmlzQXJyYXkoZSk/dCs9IltdIjplPVtlXSxyLmZvckVhY2goZSwoZnVuY3Rpb24oZSl7ci5pc0RhdGUoZSk/ZT1lLnRvSVNPU3RyaW5nKCk6ci5pc09iamVjdChlKSYmKGU9SlNPTi5zdHJpbmdpZnkoZSkpLHMucHVzaChvKHQpKyI9IitvKGUpKX0pKSl9KSksaT1zLmpvaW4oIiYiKX1pZihpKXt2YXIgYT1lLmluZGV4T2YoIiMiKTstMSE9PWEmJihlPWUuc2xpY2UoMCxhKSksZSs9KC0xPT09ZS5pbmRleE9mKCI/Iik/Ij8iOiImIikraX1yZXR1cm4gZX19LDczMDM6ZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiB0P2UucmVwbGFjZSgvXC8rJC8sIiIpKyIvIit0LnJlcGxhY2UoL15cLysvLCIiKTplfX0sNDM3MjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oNjQ4NjcpO2UuZXhwb3J0cz1yLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/e3dyaXRlOmZ1bmN0aW9uKGUsdCxuLG8saSxzKXt2YXIgYT1bXTthLnB1c2goZSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQpKSxyLmlzTnVtYmVyKG4pJiZhLnB1c2goImV4cGlyZXM9IituZXcgRGF0ZShuKS50b0dNVFN0cmluZygpKSxyLmlzU3RyaW5nKG8pJiZhLnB1c2goInBhdGg9IitvKSxyLmlzU3RyaW5nKGkpJiZhLnB1c2goImRvbWFpbj0iK2kpLCEwPT09cyYmYS5wdXNoKCJzZWN1cmUiKSxkb2N1bWVudC5jb29raWU9YS5qb2luKCI7ICIpfSxyZWFkOmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKCIoXnw7XFxzKikoIitlKyIpPShbXjtdKikiKSk7cmV0dXJuIHQ/ZGVjb2RlVVJJQ29tcG9uZW50KHRbM10pOm51bGx9LHJlbW92ZTpmdW5jdGlvbihlKXt0aGlzLndyaXRlKGUsIiIsRGF0ZS5ub3coKS04NjRlNSl9fTp7d3JpdGU6ZnVuY3Rpb24oKXt9LHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0scmVtb3ZlOmZ1bmN0aW9uKCl7fX19LDkxNzkzOmZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuL14oW2Etel1bYS16XGRcK1wtXC5dKjopP1wvXC8vaS50ZXN0KGUpfX0sMTYyNjg6ZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJiEwPT09ZS5pc0F4aW9zRXJyb3J9fSw2Nzk4NTpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oNjQ4NjcpO2UuZXhwb3J0cz1yLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/ZnVuY3Rpb24oKXt2YXIgZSx0PS8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7ZnVuY3Rpb24gbyhlKXt2YXIgcj1lO3JldHVybiB0JiYobi5zZXRBdHRyaWJ1dGUoImhyZWYiLHIpLHI9bi5ocmVmKSxuLnNldEF0dHJpYnV0ZSgiaHJlZiIscikse2hyZWY6bi5ocmVmLHByb3RvY29sOm4ucHJvdG9jb2w/bi5wcm90b2NvbC5yZXBsYWNlKC86JC8sIiIpOiIiLGhvc3Q6bi5ob3N0LHNlYXJjaDpuLnNlYXJjaD9uLnNlYXJjaC5yZXBsYWNlKC9eXD8vLCIiKToiIixoYXNoOm4uaGFzaD9uLmhhc2gucmVwbGFjZSgvXiMvLCIiKToiIixob3N0bmFtZTpuLmhvc3RuYW1lLHBvcnQ6bi5wb3J0LHBhdGhuYW1lOiIvIj09PW4ucGF0aG5hbWUuY2hhckF0KDApP24ucGF0aG5hbWU6Ii8iK24ucGF0aG5hbWV9fXJldHVybiBlPW8od2luZG93LmxvY2F0aW9uLmhyZWYpLGZ1bmN0aW9uKHQpe3ZhciBuPXIuaXNTdHJpbmcodCk/byh0KTp0O3JldHVybiBuLnByb3RvY29sPT09ZS5wcm90b2NvbCYmbi5ob3N0PT09ZS5ob3N0fX0oKTpmdW5jdGlvbigpe3JldHVybiEwfX0sMTYwMTY6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKDY0ODY3KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyLmZvckVhY2goZSwoZnVuY3Rpb24obixyKXtyIT09dCYmci50b1VwcGVyQ2FzZSgpPT09dC50b1VwcGVyQ2FzZSgpJiYoZVt0XT1uLGRlbGV0ZSBlW3JdKX0pKX19LDg0MTA5OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9big2NDg2Nyksbz1bImFnZSIsImF1dGhvcml6YXRpb24iLCJjb250ZW50LWxlbmd0aCIsImNvbnRlbnQtdHlwZSIsImV0YWciLCJleHBpcmVzIiwiZnJvbSIsImhvc3QiLCJpZi1tb2RpZmllZC1zaW5jZSIsImlmLXVubW9kaWZpZWQtc2luY2UiLCJsYXN0LW1vZGlmaWVkIiwibG9jYXRpb24iLCJtYXgtZm9yd2FyZHMiLCJwcm94eS1hdXRob3JpemF0aW9uIiwicmVmZXJlciIsInJldHJ5LWFmdGVyIiwidXNlci1hZ2VudCJdO2UuZXhwb3J0cz1mdW5jdGlvbihlKXt2YXIgdCxuLGkscz17fTtyZXR1cm4gZT8oci5mb3JFYWNoKGUuc3BsaXQoIlxuIiksKGZ1bmN0aW9uKGUpe2lmKGk9ZS5pbmRleE9mKCI6IiksdD1yLnRyaW0oZS5zdWJzdHIoMCxpKSkudG9Mb3dlckNhc2UoKSxuPXIudHJpbShlLnN1YnN0cihpKzEpKSx0KXtpZihzW3RdJiZvLmluZGV4T2YodCk+PTApcmV0dXJuO3NbdF09InNldC1jb29raWUiPT09dD8oc1t0XT9zW3RdOltdKS5jb25jYXQoW25dKTpzW3RdP3NbdF0rIiwgIituOm59fSkpLHMpOnN9fSw4NzEzOmZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBlLmFwcGx5KG51bGwsdCl9fX0sNTQ4NzU6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKDk3Mjg4KS52ZXJzaW9uLG89e307WyJvYmplY3QiLCJib29sZWFuIiwibnVtYmVyIiwiZnVuY3Rpb24iLCJzdHJpbmciLCJzeW1ib2wiXS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe29bZV09ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09ZXx8ImEiKyh0PDE/Im4gIjoiICIpK2V9fSkpO3ZhciBpPXt9O28udHJhbnNpdGlvbmFsPWZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiBvKGUsdCl7cmV0dXJuIltBeGlvcyB2IityKyJdIFRyYW5zaXRpb25hbCBvcHRpb24gJyIrZSsiJyIrdCsobj8iLiAiK246IiIpfXJldHVybiBmdW5jdGlvbihuLHIscyl7aWYoITE9PT1lKXRocm93IG5ldyBFcnJvcihvKHIsIiBoYXMgYmVlbiByZW1vdmVkIisodD8iIGluICIrdDoiIikpKTtyZXR1cm4gdCYmIWlbcl0mJihpW3JdPSEwLGNvbnNvbGUud2FybihvKHIsIiBoYXMgYmVlbiBkZXByZWNhdGVkIHNpbmNlIHYiK3QrIiBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZWFyIGZ1dHVyZSIpKSksIWV8fGUobixyLHMpfX0sZS5leHBvcnRzPXthc3NlcnRPcHRpb25zOmZ1bmN0aW9uKGUsdCxuKXtpZigib2JqZWN0IiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIpO2Zvcih2YXIgcj1PYmplY3Qua2V5cyhlKSxvPXIubGVuZ3RoO28tLT4wOyl7dmFyIGk9cltvXSxzPXRbaV07aWYocyl7dmFyIGE9ZVtpXSxsPXZvaWQgMD09PWF8fHMoYSxpLGUpO2lmKCEwIT09bCl0aHJvdyBuZXcgVHlwZUVycm9yKCJvcHRpb24gIitpKyIgbXVzdCBiZSAiK2wpfWVsc2UgaWYoITAhPT1uKXRocm93IEVycm9yKCJVbmtub3duIG9wdGlvbiAiK2kpfX0sdmFsaWRhdG9yczpvfX0sNjQ4Njc6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKDkxODQ5KSxvPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gaShlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09by5jYWxsKGUpfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIHZvaWQgMD09PWV9ZnVuY3Rpb24gYShlKXtyZXR1cm4gbnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZX1mdW5jdGlvbiBsKGUpe2lmKCJbb2JqZWN0IE9iamVjdF0iIT09by5jYWxsKGUpKXJldHVybiExO3ZhciB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gbnVsbD09PXR8fHQ9PT1PYmplY3QucHJvdG90eXBlfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIltvYmplY3QgRnVuY3Rpb25dIj09PW8uY2FsbChlKX1mdW5jdGlvbiB1KGUsdCl7aWYobnVsbCE9ZSlpZigib2JqZWN0IiE9dHlwZW9mIGUmJihlPVtlXSksaShlKSlmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspdC5jYWxsKG51bGwsZVtuXSxuLGUpO2Vsc2UgZm9yKHZhciBvIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbykmJnQuY2FsbChudWxsLGVbb10sbyxlKX1lLmV4cG9ydHM9e2lzQXJyYXk6aSxpc0FycmF5QnVmZmVyOmZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEFycmF5QnVmZmVyXSI9PT1vLmNhbGwoZSl9LGlzQnVmZmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT09ZSYmIXMoZSkmJm51bGwhPT1lLmNvbnN0cnVjdG9yJiYhcyhlLmNvbnN0cnVjdG9yKSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuY29uc3RydWN0b3IuaXNCdWZmZXImJmUuY29uc3RydWN0b3IuaXNCdWZmZXIoZSl9LGlzRm9ybURhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBGb3JtRGF0YSYmZSBpbnN0YW5jZW9mIEZvcm1EYXRhfSxpc0FycmF5QnVmZmVyVmlldzpmdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZBcnJheUJ1ZmZlci5pc1ZpZXc/QXJyYXlCdWZmZXIuaXNWaWV3KGUpOmUmJmUuYnVmZmVyJiZlLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfSxpc1N0cmluZzpmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9LGlzTnVtYmVyOmZ1bmN0aW9uKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZX0saXNPYmplY3Q6YSxpc1BsYWluT2JqZWN0OmwsaXNVbmRlZmluZWQ6cyxpc0RhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgRGF0ZV0iPT09by5jYWxsKGUpfSxpc0ZpbGU6ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgRmlsZV0iPT09by5jYWxsKGUpfSxpc0Jsb2I6ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQmxvYl0iPT09by5jYWxsKGUpfSxpc0Z1bmN0aW9uOmMsaXNTdHJlYW06ZnVuY3Rpb24oZSl7cmV0dXJuIGEoZSkmJmMoZS5waXBlKX0saXNVUkxTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oZSl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBVUkxTZWFyY2hQYXJhbXMmJmUgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXN9LGlzU3RhbmRhcmRCcm93c2VyRW52OmZ1bmN0aW9uKCl7cmV0dXJuKCJ1bmRlZmluZWQiPT10eXBlb2YgbmF2aWdhdG9yfHwiUmVhY3ROYXRpdmUiIT09bmF2aWdhdG9yLnByb2R1Y3QmJiJOYXRpdmVTY3JpcHQiIT09bmF2aWdhdG9yLnByb2R1Y3QmJiJOUyIhPT1uYXZpZ2F0b3IucHJvZHVjdCkmJigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCl9LGZvckVhY2g6dSxtZXJnZTpmdW5jdGlvbiBlKCl7dmFyIHQ9e307ZnVuY3Rpb24gbihuLHIpe2wodFtyXSkmJmwobik/dFtyXT1lKHRbcl0sbik6bChuKT90W3JdPWUoe30sbik6aShuKT90W3JdPW4uc2xpY2UoKTp0W3JdPW59Zm9yKHZhciByPTAsbz1hcmd1bWVudHMubGVuZ3RoO3I8bztyKyspdShhcmd1bWVudHNbcl0sbik7cmV0dXJuIHR9LGV4dGVuZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHUodCwoZnVuY3Rpb24odCxvKXtlW29dPW4mJiJmdW5jdGlvbiI9PXR5cGVvZiB0P3IodCxuKTp0fSkpLGV9LHRyaW06ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbT9lLnRyaW0oKTplLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0sc3RyaXBCT006ZnVuY3Rpb24oZSl7cmV0dXJuIDY1Mjc5PT09ZS5jaGFyQ29kZUF0KDApJiYoZT1lLnNsaWNlKDEpKSxlfX19LDgzNDA3OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1o6ZnVuY3Rpb24oKXtyZXR1cm4gd3R9fSk7dmFyIHI9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbyhlLHQpe3ZhciBuPXIuZ2V0KGUpO2lmKG4pcmV0dXJuIG4uc2V0dGluZ3M9dCxuO3RoaXMuZm9ybT1lLHRoaXMuc2V0dGluZ3M9dCx0aGlzLm9ic2VydmVyPW51bGwsci5zZXQoZSx0aGlzKX1mdW5jdGlvbiBpKGUpe3ZhciB0O2ZvcihlLmZvcm0mJih0PXIuZ2V0KGUuZm9ybSkpOyF0JiZlOyl0PXIuZ2V0KGUpLGU9ZS5wYXJlbnROb2RlO3JldHVybiB0fHwodD1yLmdldCh3aW5kb3cpKSx0fWZ1bmN0aW9uIHMoZSl7dmFyIHQ9aShlKTtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGUuZWxlbWVudHMsKGZ1bmN0aW9uKGUpe3JldHVybiEhKGUuZ2V0QXR0cmlidXRlKCJuYW1lIil8fHQmJnQuc2V0dGluZ3MudmFsaWRhdGVOYW1lbGVzcyl9KSl9by5wcm90b3R5cGU9e2Rlc3Ryb3k6ZnVuY3Rpb24oKXtyLmRlbGV0ZSh0aGlzLmZvcm0pLHRoaXMuX2Rlc3RydWN0JiZ0aGlzLl9kZXN0cnVjdCgpfX07dmFyIGEsbD1PYmplY3QuY3JlYXRlKG51bGwpO2Z1bmN0aW9uIGMoZSl7dmFyIHQsbixyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZSBpbiBsJiYodD1sW2VdLnJlZHVjZSgobj1yLGZ1bmN0aW9uKHQscil7dmFyIG89ci5hcHBseSh7c3RhdGU6dCxob29rOmV9LG4pO3JldHVybiB2b2lkIDAhPT1vP286dH0pLHQpKSx0fWZ1bmN0aW9uIHUoZSx0KXt2YXIgbj10LHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBlIGluIGwmJihuPWxbZV0ucmVkdWNlKChmdW5jdGlvbih0LG4pe3JbMF09dDt2YXIgbz1uLmFwcGx5KHtzdGF0ZTp0LGhvb2s6ZX0scik7cmV0dXJuIHZvaWQgMCE9PW8/bzp0fSksbikpLG59aWYoISgoYT1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSkuaW5pdEV2ZW50KCJmb28iLCEwLCEwKSxhLnByZXZlbnREZWZhdWx0KCksYS5kZWZhdWx0UHJldmVudGVkKSl7dmFyIGQ9d2luZG93LkV2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdDt3aW5kb3cuRXZlbnQucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5jYW5jZWxhYmxlJiYoZC5jYWxsKHRoaXMpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJkZWZhdWx0UHJldmVudGVkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuITB9LGNvbmZpZ3VyYWJsZTohMH0pKX19ZnVuY3Rpb24gaChlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e30sbj10LmJ1YmJsZXMscj12b2lkIDA9PT1ufHxuLG89dC5jYW5jZWxhYmxlLGk9dm9pZCAwIT09byYmbyxzPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO3JldHVybiBzLmluaXRFdmVudChlLHIsaSksc31mdW5jdGlvbiBmKGUsdCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnt9LHI9bi5idWJibGVzLG89dm9pZCAwPT09cnx8cixpPW4uY2FuY2VsYWJsZSxzPXZvaWQgMCE9PWkmJmksYT1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106e307Zm9yKHZhciBsIGluIHQgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnR8fCh0PWgodCx7YnViYmxlczpvLGNhbmNlbGFibGU6c30pKSxhKWEuaGFzT3duUHJvcGVydHkobCkmJih0W2xdPWFbbF0pO3JldHVybiBlLmRpc3BhdGNoRXZlbnQodCksdH12YXIgZz1bImRhdGV0aW1lIiwiZGF0ZSIsIm1vbnRoIiwid2VlayIsInRpbWUiXSxwPWcuY29uY2F0KFsibnVtYmVyIiwicmFuZ2UiXSwiZGF0ZXRpbWUtbG9jYWwiKSxtPVsiZW1haWwiLCJ1cmwiXSx2PVsiZW1haWwiLCJkYXRlIiwibW9udGgiLCJ3ZWVrIiwidGltZSIsImRhdGV0aW1lIiwiZGF0ZXRpbWUtbG9jYWwiLCJudW1iZXIiLCJyYW5nZSIsImNvbG9yIl0sdz1bInRleHQiLCJzZWFyY2giLCJ0ZWwiLCJwYXNzd29yZCJdLmNvbmNhdChtKSxiPVsiY2hlY2tib3giLCJjb2xvciIsImZpbGUiLCJpbWFnZSIsInJhZGlvIiwic3VibWl0Il0uY29uY2F0KHAsdykseT1bImJ1dHRvbiIsImhpZGRlbiIsInJlc2V0Il0uY29uY2F0KGIpLF89WyJzZWxlY3Qtb25lIiwic2VsZWN0LW11bHRpcGxlIiwidGV4dGFyZWEiXTtmdW5jdGlvbiBTKGUpe2lmKGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTFRleHRBcmVhRWxlbWVudClyZXR1cm4idGV4dGFyZWEiO2lmKGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTFNlbGVjdEVsZW1lbnQpcmV0dXJuIGUuaGFzQXR0cmlidXRlKCJtdWx0aXBsZSIpPyJzZWxlY3QtbXVsdGlwbGUiOiJzZWxlY3Qtb25lIjtpZihlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxCdXR0b25FbGVtZW50KXJldHVybihlLmdldEF0dHJpYnV0ZSgidHlwZSIpfHwic3VibWl0IikudG9Mb3dlckNhc2UoKTtpZihlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxJbnB1dEVsZW1lbnQpe3ZhciB0PShlLmdldEF0dHJpYnV0ZSgidHlwZSIpfHwiIikudG9Mb3dlckNhc2UoKTtyZXR1cm4gdCYmeS5pbmRleE9mKHQpPi0xP3Q6ZS50eXBlfHwidGV4dCJ9cmV0dXJuIiJ9ZnVuY3Rpb24gVChlKXt2YXIgdD11KCJpc192YWxpZGF0aW9uX2NhbmRpZGF0ZSIsbnVsbCxlKTtpZihudWxsIT09dClyZXR1cm4hIXQ7aWYoZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MU2VsZWN0RWxlbWVudHx8ZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MVGV4dEFyZWFFbGVtZW50fHxlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxCdXR0b25FbGVtZW50fHxlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxJbnB1dEVsZW1lbnQpe3ZhciBuPVMoZSk7aWYoKF8uaW5kZXhPZihuKT4tMXx8Yi5pbmRleE9mKG4pPi0xKSYmIWUuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpJiYhZS5oYXNBdHRyaWJ1dGUoInJlYWRvbmx5Iikpe3ZhciByPWkoZSk7aWYoKHImJiFyLnNldHRpbmdzLm5vdmFsaWRhdGVPbkVsZW1lbnRzfHwhZS5oYXNBdHRyaWJ1dGUoIm5vdmFsaWRhdGUiKSYmIWUubm9WYWxpZGF0ZSkmJiFmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZS5wYXJlbnROb2RlO3QmJjE9PT10Lm5vZGVUeXBlOyl7aWYodCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRmllbGRTZXRFbGVtZW50JiZ0Lmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSlyZXR1cm4hMDtpZigiREFUQUxJU1QiPT09dC5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpKXJldHVybiEwO2lmKHQ9PT1lLmZvcm0pYnJlYWs7dD10LnBhcmVudE5vZGV9cmV0dXJuITF9KGUpKXJldHVybiEwfX1yZXR1cm4hMX1mdW5jdGlvbiBrKGUpe3JldHVybiBrPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxrKGUpfWZ1bmN0aW9uIEUoZSl7cmV0dXJuWyJvYmplY3QiLCJmdW5jdGlvbiJdLmluZGV4T2YoayhlKSk+LTEmJihkZWxldGUgZS5fX2h5cGVyZm9ybSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19oeXBlcmZvcm0iLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTohMH0pKSxlfWZ1bmN0aW9uIEMoZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnZvaWQgMDtzd2l0Y2godCl7Y2FzZSJkYXRlIjpyZXR1cm4oZS50b0xvY2FsZURhdGVTdHJpbmd8fGUudG9EYXRlU3RyaW5nKS5jYWxsKGUpO2Nhc2UidGltZSI6cmV0dXJuKGUudG9Mb2NhbGVUaW1lU3RyaW5nfHxlLnRvVGltZVN0cmluZykuY2FsbChlKTtjYXNlIm1vbnRoIjpyZXR1cm4idG9Mb2NhbGVEYXRlU3RyaW5nImluIGU/ZS50b0xvY2FsZURhdGVTdHJpbmcodm9pZCAwLHt5ZWFyOiJudW1lcmljIixtb250aDoiMi1kaWdpdCJ9KTplLnRvRGF0ZVN0cmluZygpO2RlZmF1bHQ6cmV0dXJuKGUudG9Mb2NhbGVTdHJpbmd8fGUudG9TdHJpbmcpLmNhbGwoZSl9fWZ1bmN0aW9uIFAoZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkodD4xP3QtMTowKSxyPTE7cjx0O3IrKyluW3ItMV09YXJndW1lbnRzW3JdO3ZhciBvPW4ubGVuZ3RoLGk9MDtyZXR1cm4gZS5yZXBsYWNlKC8lKFswLTldK1wkKT8oW3NsXSkvZywoZnVuY3Rpb24oZSx0LHIpe3ZhciBzPWk7dCYmKHM9TnVtYmVyKHQucmVwbGFjZSgvXCQkLywiIikpLTEpLGkrPTE7dmFyIGE9IiI7cmV0dXJuIG8+cyYmKGE9bltzXSksKGEgaW5zdGFuY2VvZiBEYXRlfHwibnVtYmVyIj09dHlwZW9mIGF8fGEgaW5zdGFuY2VvZiBOdW1iZXIpJiYoYT0ibCI9PT1yPyhhLnRvTG9jYWxlU3RyaW5nfHxhLnRvU3RyaW5nKS5jYWxsKGEpOmEudG9TdHJpbmcoKSksYX0pKX1mdW5jdGlvbiBNKGUpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MixuPWUrIiI7bi5sZW5ndGg8dDspbj0iMCIrbjtyZXR1cm4gbn1mdW5jdGlvbiBSKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgRGF0ZSkpcmV0dXJuIG51bGw7c3dpdGNoKHQpe2Nhc2UiZGF0ZXRpbWUiOnJldHVybiBSKGUsImRhdGUiKSsiVCIrUihlLCJ0aW1lIik7Y2FzZSJkYXRldGltZS1sb2NhbCI6cmV0dXJuIFAoIiVzLSVzLSVzVCVzOiVzOiVzLiVzIixlLmdldEZ1bGxZZWFyKCksTShlLmdldE1vbnRoKCkrMSksTShlLmdldERhdGUoKSksTShlLmdldEhvdXJzKCkpLE0oZS5nZXRNaW51dGVzKCkpLE0oZS5nZXRTZWNvbmRzKCkpLE0oZS5nZXRNaWxsaXNlY29uZHMoKSwzKSkucmVwbGFjZSgvKDowMCk/XC4wMDAkLywiIik7Y2FzZSJkYXRlIjpyZXR1cm4gUCgiJXMtJXMtJXMiLGUuZ2V0VVRDRnVsbFllYXIoKSxNKGUuZ2V0VVRDTW9udGgoKSsxKSxNKGUuZ2V0VVRDRGF0ZSgpKSk7Y2FzZSJtb250aCI6cmV0dXJuIFAoIiVzLSVzIixlLmdldFVUQ0Z1bGxZZWFyKCksTShlLmdldFVUQ01vbnRoKCkrMSkpO2Nhc2Uid2VlayI6dmFyIG49ZnVuY3Rpb24oZSl7KGU9bmV3IERhdGUoK2UpKS5zZXRVVENIb3VycygwLDAsMCksZS5zZXRVVENEYXRlKGUuZ2V0VVRDRGF0ZSgpKzQtKGUuZ2V0VVRDRGF5KCl8fDcpKTt2YXIgdD1uZXcgRGF0ZShlLmdldFVUQ0Z1bGxZZWFyKCksMCwxKSxuPU1hdGguY2VpbCgoKGUtdCkvODY0ZTUrMSkvNyk7cmV0dXJuW2UuZ2V0VVRDRnVsbFllYXIoKSxuXX0oZSk7cmV0dXJuIFAuY2FsbChudWxsLCIlcy1XJXMiLG5bMF0sTShuWzFdKSk7Y2FzZSJ0aW1lIjpyZXR1cm4gUCgiJXM6JXM6JXMuJXMiLE0oZS5nZXRVVENIb3VycygpKSxNKGUuZ2V0VVRDTWludXRlcygpKSxNKGUuZ2V0VVRDU2Vjb25kcygpKSxNKGUuZ2V0VVRDTWlsbGlzZWNvbmRzKCksMykpLnJlcGxhY2UoLyg6MDApP1wuMDAwJC8sIiIpfXJldHVybiBudWxsfWZ1bmN0aW9uIHgoZSx0KXt2YXIgbjtzd2l0Y2godCl7Y2FzZSJkYXRldGltZSI6cmV0dXJuL14oWzAtOV17NH0pLSgwWzEtOV18MVswMTJdKS0oMFsxLTldfFsxMl1bMC05XXwzWzAxXSlUKFswMV1bMC05XXwyWzAtM10pOihbMC01XVswLTldKSg/OjooWzAtNV1bMC05XSkoPzpcLihbMC05XXsxLDN9KSk/KT8kLy50ZXN0KGUpPyhuPW5ldyBEYXRlKGUrInoiKSxpc05hTihuLnZhbHVlT2YoKSk/bnVsbDpuKTpudWxsO2Nhc2UiZGF0ZSI6cmV0dXJuL14oWzAtOV17NH0pLSgwWzEtOV18MVswMTJdKS0oMFsxLTldfFsxMl1bMC05XXwzWzAxXSkkLy50ZXN0KGUpPyhuPW5ldyBEYXRlKGUpLGlzTmFOKG4udmFsdWVPZigpKT9udWxsOm4pOm51bGw7Y2FzZSJtb250aCI6cmV0dXJuL14oWzAtOV17NH0pLSgwWzEtOV18MVswMTJdKSQvLnRlc3QoZSk/KG49bmV3IERhdGUoZSksaXNOYU4obi52YWx1ZU9mKCkpP251bGw6bik6bnVsbDtjYXNlIndlZWsiOnJldHVybi9eKFswLTldezR9KS1XKDBbMS05XXxbMTIzNF1bMC05XXw1WzAtM10pJC8udGVzdChlKT9mdW5jdGlvbihlLHQpe3ZhciBuPW5ldyBEYXRlKERhdGUuVVRDKHQsMCwxKzcqKGUtMSkpKTtyZXR1cm4gbi5nZXRVVENEYXkoKTw9ND9uLnNldFVUQ0RhdGUobi5nZXRVVENEYXRlKCktbi5nZXRVVENEYXkoKSsxKTpuLnNldFVUQ0RhdGUobi5nZXRVVENEYXRlKCkrOC1uLmdldFVUQ0RheSgpKSxufShOdW1iZXIoUmVnRXhwLiQyKSxOdW1iZXIoUmVnRXhwLiQxKSk6bnVsbDtjYXNlInRpbWUiOnJldHVybi9eKFswMV1bMC05XXwyWzAtM10pOihbMC01XVswLTldKSg/OjooWzAtNV1bMC05XSkoPzpcLihbMC05XXsxLDN9KSk/KT8kLy50ZXN0KGUpP249bmV3IERhdGUoIjE5NzAtMDEtMDFUIitlKyJ6Iik6bnVsbH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBJKGUsdCl7dmFyIG49eChlLHQpO3JldHVybiBudWxsIT09bj8rbjpOdW1iZXIoZSl9dmFyIE49e2VuOntUZXh0VG9vTG9uZzoiUGxlYXNlIHNob3J0ZW4gdGhpcyB0ZXh0IHRvICVsIGNoYXJhY3RlcnMgb3IgbGVzcyAoeW91IGFyZSBjdXJyZW50bHkgdXNpbmcgJWwgY2hhcmFjdGVycykuIixWYWx1ZU1pc3Npbmc6IlBsZWFzZSBmaWxsIG91dCB0aGlzIGZpZWxkLiIsQ2hlY2tib3hNaXNzaW5nOiJQbGVhc2UgY2hlY2sgdGhpcyBib3ggaWYgeW91IHdhbnQgdG8gcHJvY2VlZC4iLFJhZGlvTWlzc2luZzoiUGxlYXNlIHNlbGVjdCBvbmUgb2YgdGhlc2Ugb3B0aW9ucy4iLEZpbGVNaXNzaW5nOiJQbGVhc2Ugc2VsZWN0IGEgZmlsZS4iLFNlbGVjdE1pc3Npbmc6IlBsZWFzZSBzZWxlY3QgYW4gaXRlbSBpbiB0aGUgbGlzdC4iLEludmFsaWRFbWFpbDoiUGxlYXNlIGVudGVyIGFuIGVtYWlsIGFkZHJlc3MuIixJbnZhbGlkVVJMOiJQbGVhc2UgZW50ZXIgYSBVUkwuIixQYXR0ZXJuTWlzbWF0Y2g6IlBsZWFzZSBtYXRjaCB0aGUgcmVxdWVzdGVkIGZvcm1hdC4iLFBhdHRlcm5NaXNtYXRjaFdpdGhUaXRsZToiUGxlYXNlIG1hdGNoIHRoZSByZXF1ZXN0ZWQgZm9ybWF0OiAlbC4iLE51bWJlclJhbmdlT3ZlcmZsb3c6IlBsZWFzZSBzZWxlY3QgYSB2YWx1ZSB0aGF0IGlzIG5vIG1vcmUgdGhhbiAlbC4iLERhdGVSYW5nZU92ZXJmbG93OiJQbGVhc2Ugc2VsZWN0IGEgdmFsdWUgdGhhdCBpcyBubyBsYXRlciB0aGFuICVsLiIsVGltZVJhbmdlT3ZlcmZsb3c6IlBsZWFzZSBzZWxlY3QgYSB2YWx1ZSB0aGF0IGlzIG5vIGxhdGVyIHRoYW4gJWwuIixOdW1iZXJSYW5nZVVuZGVyZmxvdzoiUGxlYXNlIHNlbGVjdCBhIHZhbHVlIHRoYXQgaXMgbm8gbGVzcyB0aGFuICVsLiIsRGF0ZVJhbmdlVW5kZXJmbG93OiJQbGVhc2Ugc2VsZWN0IGEgdmFsdWUgdGhhdCBpcyBubyBlYXJsaWVyIHRoYW4gJWwuIixUaW1lUmFuZ2VVbmRlcmZsb3c6IlBsZWFzZSBzZWxlY3QgYSB2YWx1ZSB0aGF0IGlzIG5vIGVhcmxpZXIgdGhhbiAlbC4iLFN0ZXBNaXNtYXRjaDoiUGxlYXNlIHNlbGVjdCBhIHZhbGlkIHZhbHVlLiBUaGUgdHdvIG5lYXJlc3QgdmFsaWQgdmFsdWVzIGFyZSAlbCBhbmQgJWwuIixTdGVwTWlzbWF0Y2hPbmVWYWx1ZToiUGxlYXNlIHNlbGVjdCBhIHZhbGlkIHZhbHVlLiBUaGUgbmVhcmVzdCB2YWxpZCB2YWx1ZSBpcyAlbC4iLEJhZElucHV0TnVtYmVyOiJQbGVhc2UgZW50ZXIgYSBudW1iZXIuIn19LEw9ImVuIixEPSJlbiI7ZnVuY3Rpb24gTyhlLHQpe2Zvcih2YXIgbiBpbiBlIGluIE58fChOW2VdPXt9KSx0KXQuaGFzT3duUHJvcGVydHkobikmJihOW2VdW25dPXRbbl0pfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIEwgaW4gTiYmZSBpbiBOW0xdP05bTF1bZV06RCBpbiBOJiZlIGluIE5bRF0/TltEXVtlXTplIGluIE4uZW4/Ti5lbltlXTplfXZhciBVPXsiZGF0ZXRpbWUtbG9jYWwiOjYwLGRhdGV0aW1lOjYwLHRpbWU6NjB9LGo9eyJkYXRldGltZS1sb2NhbCI6MWUzLGRhdGV0aW1lOjFlMyxkYXRlOjg2NGU1LHdlZWs6NjA0OGU1LHRpbWU6MWUzfSxWPXt3ZWVrOi0yNTkyZTV9LCQ9e3JhbmdlOjB9LEg9e3JhbmdlOjEwMH07ZnVuY3Rpb24gRihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MSxuPVMoZSkscj1lLmdldEF0dHJpYnV0ZSgibWluIiksbz0kW25dfHxOYU47aWYocil7dmFyIGk9SShyLG4pO2lzTmFOKGkpfHwobz1pKX12YXIgcz1lLmdldEF0dHJpYnV0ZSgibWF4IiksYT1IW25dfHxOYU47aWYocyl7dmFyIGw9SShzLG4pO2lzTmFOKGwpfHwoYT1sKX12YXIgYz1lLmdldEF0dHJpYnV0ZSgic3RlcCIpLHU9VVtuXXx8MTtpZihjJiYiYW55Ij09PWMudG9Mb3dlckNhc2UoKSlyZXR1cm5bQSgiYW55IHZhbHVlIiksQSgiYW55IHZhbHVlIildO2lmKGMpe3ZhciBkPUkoYyxuKTtpc05hTihkKXx8KHU9ZCl9dmFyIGg9SShlLmdldEF0dHJpYnV0ZSgidmFsdWUiKSxuKSxmPUkoZS52YWx1ZXx8ZS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksbik7aWYoaXNOYU4oZikpcmV0dXJuW0EoImFueSB2YWxpZCB2YWx1ZSIpLEEoImFueSB2YWxpZCB2YWx1ZSIpXTt2YXIgcD1pc05hTihvKT9pc05hTihoKT9WW25dfHwwOmg6byxtPWpbbl18fDEsdj1wK01hdGguZmxvb3IoKGYtcCkvKHUqbSkpKih1Km0pKnQsdz1wKyhNYXRoLmZsb29yKChmLXApLyh1Km0pKSsxKSoodSptKSp0O3JldHVybiB2PG8/dj1udWxsOnY+YSYmKHY9YSksdz5hP3c9bnVsbDp3PG8mJih3PW8pLGcuaW5kZXhPZihuKT4tMSYmKHY9UihuZXcgRGF0ZSh2KSxuKSx3PVIobmV3IERhdGUodyksbikpLFt2LHddfWZ1bmN0aW9uIHEoZSl7cmV0dXJuIGUubWF0Y2goL1tcMC1cdUQ3RkZcdUUwMDAtXHVGRkZGXXxbXHVEODAwLVx1REJGRl1bXHVEQzAwLVx1REZGRl18W1x1RDgwMC1cdURCRkZdKD8hW1x1REMwMC1cdURGRkZdKXwoPzpbXlx1RDgwMC1cdURCRkZdfF4pW1x1REMwMC1cdURGRkZdL2cpLmxlbmd0aH12YXIgQj1uZXcgV2Vha01hcCx6PXtzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPUIuZ2V0KGUpfHx7fTtyZXR1cm4gclt0XT1uLEIuc2V0KGUsciksen0sZ2V0OmZ1bmN0aW9uKGUsdCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnZvaWQgMCxyPUIuZ2V0KGUpO2lmKHZvaWQgMD09PXJ8fCEodCBpbiByKSl7dmFyIG89ImRhdGEtIit0LnJlcGxhY2UoL1tBLVpdL2csIi0kJiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGUuaGFzQXR0cmlidXRlKG8pP2UuZ2V0QXR0cmlidXRlKG8pOm59cmV0dXJuIHJbdF19LGRlbGV0ZTpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06bnVsbDtpZighdClyZXR1cm4gQi5kZWxldGUoZSk7dmFyIG49Qi5nZXQoZSl8fHt9O3JldHVybiB0IGluIG4mJihkZWxldGUgblt0XSxCLnNldChlLG4pLCEwKX19LFc9eixaPW5ldyBXZWFrTWFwLEo9e3NldDpmdW5jdGlvbihlLHQpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdJiZhcmd1bWVudHNbMl07aWYoZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRmllbGRTZXRFbGVtZW50KXt2YXIgcj1pKGUpO2lmKHImJiFyLnNldHRpbmdzLmV4dGVuZEZpZWxkc2V0KXJldHVybiBKfXJldHVybiJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IFN0cmluZyh0KSksbiYmKHQuaXNfY3VzdG9tPSEwKSxFKHQpLFouc2V0KGUsdCksIl9vcmlnaW5hbF9zZXRDdXN0b21WYWxpZGl0eSJpbiBlJiZlLl9vcmlnaW5hbF9zZXRDdXN0b21WYWxpZGl0eSh0LnRvU3RyaW5nKCkpLEp9LGdldDpmdW5jdGlvbihlKXt2YXIgdD1aLmdldChlKTtyZXR1cm4gdm9pZCAwPT09dCYmIl9vcmlnaW5hbF92YWxpZGF0aW9uTWVzc2FnZSJpbiBlJiYodD1uZXcgU3RyaW5nKGUuX29yaWdpbmFsX3ZhbGlkYXRpb25NZXNzYWdlKSksdHx8bmV3IFN0cmluZygiIil9LGRlbGV0ZTpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSYmYXJndW1lbnRzWzFdOyJfb3JpZ2luYWxfc2V0Q3VzdG9tVmFsaWRpdHkiaW4gZSYmZS5fb3JpZ2luYWxfc2V0Q3VzdG9tVmFsaWRpdHkoIiIpO3ZhciBuPVouZ2V0KGUpO3JldHVybiEobiYmdCYmIW4uaXNfY3VzdG9tKSYmWi5kZWxldGUoZSl9fSxLPW5ldyBXZWFrTWFwLFg9e3NldDpmdW5jdGlvbihlLHQpe3ZhciBuPUsuZ2V0KGUpfHxbXTtyZXR1cm4gbi5wdXNoKHQpLEsuc2V0KGUsbiksWH0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBLLmdldChlKXx8W119LGRlbGV0ZTpmdW5jdGlvbihlKXtyZXR1cm4gSy5kZWxldGUoZSl9fSxRPVg7ZnVuY3Rpb24gWShlKXtyZXR1cm4gZS5mb3JtP0FycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChlLmZvcm0uZWxlbWVudHMsKGZ1bmN0aW9uKHQpe3JldHVybiJyYWRpbyI9PT10LnR5cGUmJnQubmFtZT09PWUubmFtZX0pKTpbZV19dmFyIEcsZWU9L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nO2Z1bmN0aW9uIHRlKGUpe3JldHVybiBlLnJlcGxhY2UoZWUsIiIpfWZ1bmN0aW9uIG5lKGUpe3JldHVybiBlLnNwbGl0KCIsIikubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdGUoZSl9KSkuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKX12YXIgcmU9L15bYS16QS1aMC05LiEjJCUmJyorXC89P15fYHt8fX4tXStAW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KD86XC5bYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8pKiQvO2Z1bmN0aW9uIG9lKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciByPSFlKG4pO3JldHVybiByJiZ0KG4pLHJ9fWZ1bmN0aW9uIGllKGUsdCxuKXtKLnNldChlLFcuZ2V0KGUsdCxuKSl9dmFyIHNlPW9lKChmdW5jdGlvbihlKXt2YXIgdD1TKGUpO2lmKC0xPT09di5pbmRleE9mKHQpKXJldHVybiEwO2lmKCFlLnZhbHVlKXJldHVybiEoIl9vcmlnaW5hbF92YWxpZGl0eSJpbiBlJiYhZS5fb3JpZ2luYWxfdmFsaWRpdHkuX19oeXBlcmZvcm0pfHwhZS5fb3JpZ2luYWxfdmFsaWRpdHkuYmFkSW5wdXQ7dmFyIG49ITA7c3dpdGNoKHQpe2Nhc2UiY29sb3IiOm49L14jW2EtZjAtOV17Nn0kLy50ZXN0KGUudmFsdWUpO2JyZWFrO2Nhc2UibnVtYmVyIjpjYXNlInJhbmdlIjpuPSFpc05hTihOdW1iZXIoZS52YWx1ZSkpO2JyZWFrO2Nhc2UiZGF0ZXRpbWUiOmNhc2UiZGF0ZSI6Y2FzZSJtb250aCI6Y2FzZSJ3ZWVrIjpjYXNlInRpbWUiOm49bnVsbCE9PXgoZS52YWx1ZSx0KTticmVhaztjYXNlImRhdGV0aW1lLWxvY2FsIjpuPS9eKFswLTldezQsfSktKDBbMS05XXwxWzAxMl0pLSgwWzEtOV18WzEyXVswLTldfDNbMDFdKVQoWzAxXVswLTldfDJbMC0zXSk6KFswLTVdWzAtOV0pKD86OihbMC01XVswLTldKSg/OlwuKFswLTldezEsM30pKT8pPyQvLnRlc3QoZS52YWx1ZSl9cmV0dXJuIG59KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGllKGUsImJhZElucHV0IixBKCJQbGVhc2UgbWF0Y2ggdGhlIHJlcXVlc3RlZCB0eXBlLiIpKX0pKTtmdW5jdGlvbiBhZShlKXtpZihlLl9faGZfY3VzdG9tX3ZhbGlkYXRpb25fcnVubmluZyl7dmFyIHQ9Si5nZXQoZSk7cmV0dXJuIHQmJnQuaXNfY3VzdG9tfXZhciBuPVEuZ2V0KGUpLHI9bi5sZW5ndGgsbz0hMDtpZihyKXtlLl9faGZfY3VzdG9tX3ZhbGlkYXRpb25fcnVubmluZz0hMDtmb3IodmFyIGk9MDtpPHI7aSsrKXt2YXIgcz1uW2ldKGUpO2lmKHZvaWQgMCE9PXMmJiFzKXtvPSExO2JyZWFrfX1kZWxldGUgZS5fX2hmX2N1c3RvbV92YWxpZGF0aW9uX3J1bm5pbmd9aWYobyl7dmFyIGE9Si5nZXQoZSk7bz0hKGEudG9TdHJpbmcoKSYmImlzX2N1c3RvbSJpbiBhKX1yZXR1cm4hb312YXIgbGU9b2UoKGZ1bmN0aW9uKGUpe3JldHVybiFlLnZhbHVlfHwhZS5oYXNBdHRyaWJ1dGUoInBhdHRlcm4iKXx8bmV3IFJlZ0V4cCgiXig/OiIrZS5nZXRBdHRyaWJ1dGUoInBhdHRlcm4iKSsiKSQiKS50ZXN0KGUudmFsdWUpfSksKGZ1bmN0aW9uKGUpe2llKGUsInBhdHRlcm5NaXNtYXRjaCIsZS50aXRsZT9QKEEoIlBhdHRlcm5NaXNtYXRjaFdpdGhUaXRsZSIpLGUudGl0bGUpOkEoIlBhdHRlcm5NaXNtYXRjaCIpKX0pKSxjZT1vZSgoZnVuY3Rpb24oZSl7dmFyIHQsbixyPVMoZSk7cmV0dXJuIWUudmFsdWV8fCFlLmhhc0F0dHJpYnV0ZSgibWF4Iil8fChnLmluZGV4T2Yocik+LTE/KHQ9bnVsbD09PSh0PXgoZS52YWx1ZSxyKSk/TmFOOit0LG49bnVsbD09PShuPXgoZS5nZXRBdHRyaWJ1dGUoIm1heCIpLHIpKT9OYU46K24pOih0PU51bWJlcihlLnZhbHVlKSxuPU51bWJlcihlLmdldEF0dHJpYnV0ZSgibWF4IikpKSxpc05hTihuKXx8aXNOYU4odCl8fHQ8PW4pfSksKGZ1bmN0aW9uKGUpe3ZhciB0LG49UyhlKSxyPWkoZSksbz1yJiZyLnNldHRpbmdzLmNsYXNzZXMub3V0T2ZSYW5nZXx8ImhmLW91dC1vZi1yYW5nZSIscz1yJiZyLnNldHRpbmdzLmNsYXNzZXMuaW5SYW5nZXx8ImhmLWluLXJhbmdlIjtzd2l0Y2gobil7Y2FzZSJkYXRlIjpjYXNlImRhdGV0aW1lIjpjYXNlImRhdGV0aW1lLWxvY2FsIjp0PVAoQSgiRGF0ZVJhbmdlT3ZlcmZsb3ciKSxDKHgoZS5nZXRBdHRyaWJ1dGUoIm1heCIpLG4pLG4pKTticmVhaztjYXNlInRpbWUiOnQ9UChBKCJUaW1lUmFuZ2VPdmVyZmxvdyIpLEMoeChlLmdldEF0dHJpYnV0ZSgibWF4IiksbiksbikpO2JyZWFrO2RlZmF1bHQ6dD1QKEEoIk51bWJlclJhbmdlT3ZlcmZsb3ciKSxJKGUuZ2V0QXR0cmlidXRlKCJtYXgiKSxuKSl9aWUoZSwicmFuZ2VPdmVyZmxvdyIsdCksZS5jbGFzc0xpc3QuYWRkKG8pLGUuY2xhc3NMaXN0LnJlbW92ZShzKX0pKSx1ZT1vZSgoZnVuY3Rpb24oZSl7dmFyIHQsbixyPVMoZSk7cmV0dXJuIWUudmFsdWV8fCFlLmhhc0F0dHJpYnV0ZSgibWluIil8fChnLmluZGV4T2Yocik+LTE/KHQ9bnVsbD09PSh0PXgoZS52YWx1ZSxyKSk/TmFOOit0LG49bnVsbD09PShuPXgoZS5nZXRBdHRyaWJ1dGUoIm1pbiIpLHIpKT9OYU46K24pOih0PU51bWJlcihlLnZhbHVlKSxuPU51bWJlcihlLmdldEF0dHJpYnV0ZSgibWluIikpKSxpc05hTihuKXx8aXNOYU4odCl8fHQ+PW4pfSksKGZ1bmN0aW9uKGUpe3ZhciB0LG49UyhlKSxyPWkoZSksbz1yJiZyLnNldHRpbmdzLmNsYXNzZXMub3V0T2ZSYW5nZXx8ImhmLW91dC1vZi1yYW5nZSIscz1yJiZyLnNldHRpbmdzLmNsYXNzZXMuaW5SYW5nZXx8ImhmLWluLXJhbmdlIjtzd2l0Y2gobil7Y2FzZSJkYXRlIjpjYXNlImRhdGV0aW1lIjpjYXNlImRhdGV0aW1lLWxvY2FsIjp0PVAoQSgiRGF0ZVJhbmdlVW5kZXJmbG93IiksQyh4KGUuZ2V0QXR0cmlidXRlKCJtaW4iKSxuKSxuKSk7YnJlYWs7Y2FzZSJ0aW1lIjp0PVAoQSgiVGltZVJhbmdlVW5kZXJmbG93IiksQyh4KGUuZ2V0QXR0cmlidXRlKCJtaW4iKSxuKSxuKSk7YnJlYWs7ZGVmYXVsdDp0PVAoQSgiTnVtYmVyUmFuZ2VVbmRlcmZsb3ciKSxJKGUuZ2V0QXR0cmlidXRlKCJtaW4iKSxuKSl9aWUoZSwicmFuZ2VVbmRlcmZsb3ciLHQpLGUuY2xhc3NMaXN0LmFkZChvKSxlLmNsYXNzTGlzdC5yZW1vdmUocyl9KSksZGU9b2UoKGZ1bmN0aW9uKGUpe3ZhciB0PVMoZSk7aWYoIWUudmFsdWV8fC0xPT09cC5pbmRleE9mKHQpfHwiYW55Ij09PShlLmdldEF0dHJpYnV0ZSgic3RlcCIpfHwiIikudG9Mb3dlckNhc2UoKSlyZXR1cm4hMDt2YXIgbj1lLmdldEF0dHJpYnV0ZSgic3RlcCIpO2lmKChuPW4/SShuLHQpOlVbdF18fDEpPD0wfHxpc05hTihuKSlyZXR1cm4hMDt2YXIgcj1qW3RdfHwxLG89SShlLnZhbHVlLHQpLGk9SShlLmdldEF0dHJpYnV0ZSgibWluIil8fGUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfHwiIix0KTtpZihpc05hTihvKSlyZXR1cm4hMDtpc05hTihpKSYmKGk9Vlt0XXx8MCksIm1vbnRoIj09PXQmJihpPTEyKm5ldyBEYXRlKGkpLmdldFVUQ0Z1bGxZZWFyKCkrbmV3IERhdGUoaSkuZ2V0VVRDTW9udGgoKSxvPTEyKm5ldyBEYXRlKG8pLmdldFVUQ0Z1bGxZZWFyKCkrbmV3IERhdGUobykuZ2V0VVRDTW9udGgoKSk7dmFyIHM9TWF0aC5hYnMoaS1vKSUobipyKTtyZXR1cm4gczwxZS04fHxzPm4qci0xZS04fSksKGZ1bmN0aW9uKGUpe3ZhciB0PUYoZSksbj10WzBdLHI9dFsxXSxvPSExO251bGw9PT1uP289cjpudWxsPT09ciYmKG89biksaWUoZSwic3RlcE1pc21hdGNoIiwhMSE9PW8/UChBKCJTdGVwTWlzbWF0Y2hPbmVWYWx1ZSIpLG8pOlAoQSgiU3RlcE1pc21hdGNoIiksbixyKSl9KSksaGU9b2UoKGZ1bmN0aW9uKGUpe2lmKCFlLnZhbHVlfHwtMT09PXcuaW5kZXhPZihTKGUpKXx8IWUuaGFzQXR0cmlidXRlKCJtYXhsZW5ndGgiKXx8IWUuZ2V0QXR0cmlidXRlKCJtYXhsZW5ndGgiKSlyZXR1cm4hMDt2YXIgdD1wYXJzZUludChlLmdldEF0dHJpYnV0ZSgibWF4bGVuZ3RoIiksMTApO3JldHVybiEhKGlzTmFOKHQpfHx0PDApfHxxKGUudmFsdWUpPD10fSksKGZ1bmN0aW9uKGUpe2llKGUsInRvb0xvbmciLFAoQSgiVGV4dFRvb0xvbmciKSxlLmdldEF0dHJpYnV0ZSgibWF4bGVuZ3RoIikscShlLnZhbHVlKSkpfSkpLGZlPW9lKChmdW5jdGlvbihlKXtpZighZS52YWx1ZXx8LTE9PT13LmluZGV4T2YoUyhlKSl8fCFlLmhhc0F0dHJpYnV0ZSgibWlubGVuZ3RoIil8fCFlLmdldEF0dHJpYnV0ZSgibWlubGVuZ3RoIikpcmV0dXJuITA7dmFyIHQ9cGFyc2VJbnQoZS5nZXRBdHRyaWJ1dGUoIm1pbmxlbmd0aCIpLDEwKTtyZXR1cm4hIShpc05hTih0KXx8dDwwKXx8cShlLnZhbHVlKT49dH0pLChmdW5jdGlvbihlKXtpZShlLCJ0b29TaG9ydCIsUChBKCJQbGVhc2UgbGVuZ3RoZW4gdGhpcyB0ZXh0IHRvICVsIGNoYXJhY3RlcnMgb3IgbW9yZSAoeW91IGFyZSBjdXJyZW50bHkgdXNpbmcgJWwgY2hhcmFjdGVycykuIiksZS5nZXRBdHRyaWJ1dGUoIm1pbmxlbmd0aCIpLHEoZS52YWx1ZSkpKX0pKSxnZT1vZSgoZnVuY3Rpb24oZSl7dmFyIHQ9UyhlKTtpZigiZmlsZSIhPT10JiYhZS52YWx1ZXx8ImZpbGUiIT09dCYmLTE9PT1tLmluZGV4T2YodCkpcmV0dXJuITA7dmFyIG49ITA7c3dpdGNoKHQpe2Nhc2UidXJsIjpHfHwoRz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikpO3ZhciByPXRlKGUudmFsdWUpO0cuaHJlZj1yLG49Ry5ocmVmPT09cnx8Ry5ocmVmPT09cisiLyI7YnJlYWs7Y2FzZSJlbWFpbCI6bj1lLmhhc0F0dHJpYnV0ZSgibXVsdGlwbGUiKT9uZShlLnZhbHVlKS5ldmVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIHJlLnRlc3QoZSl9KSk6cmUudGVzdCh0ZShlLnZhbHVlKSk7YnJlYWs7Y2FzZSJmaWxlIjppZigiZmlsZXMiaW4gZSYmZS5maWxlcy5sZW5ndGgmJmUuaGFzQXR0cmlidXRlKCJhY2NlcHQiKSl7dmFyIG89bmUoZS5nZXRBdHRyaWJ1dGUoImFjY2VwdCIpKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybi9eKGF1ZGlvfHZpZGVvfGltYWdlKVwvXCokLy50ZXN0KGUpJiYoZT1uZXcgUmVnRXhwKCJeIitSZWdFeHAuJDErIi8uKyQiKSksZX0pKTtpZighby5sZW5ndGgpYnJlYWs7ZTpmb3IodmFyIGk9MDtpPGUuZmlsZXMubGVuZ3RoO2krKyl7dmFyIHM9ITE7dDpmb3IodmFyIGE9MDthPG8ubGVuZ3RoO2ErKyl7dmFyIGw9ZS5maWxlc1tpXSxjPW9bYV0sdT1sLnR5cGU7aWYoInN0cmluZyI9PXR5cGVvZiBjJiYiLiI9PT1jLnN1YnN0cigwLDEpKXtpZigtMT09PWwubmFtZS5zZWFyY2goIi4iKSljb250aW51ZSB0O3U9bC5uYW1lLnN1YnN0cihsLm5hbWUubGFzdEluZGV4T2YoIi4iKSl9aWYoMD09PXUuc2VhcmNoKGMpKXtzPSEwO2JyZWFrIHR9fWlmKCFzKXtuPSExO2JyZWFrIGV9fX19cmV0dXJuIG59KSwoZnVuY3Rpb24oZSl7dmFyIHQ9QSgiUGxlYXNlIHVzZSB0aGUgYXBwcm9wcmlhdGUgZm9ybWF0LiIpLG49UyhlKTsiZW1haWwiPT09bj90PWUuaGFzQXR0cmlidXRlKCJtdWx0aXBsZSIpP0EoIlBsZWFzZSBlbnRlciBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGVtYWlsIGFkZHJlc3Nlcy4iKTpBKCJJbnZhbGlkRW1haWwiKToidXJsIj09PW4/dD1BKCJJbnZhbGlkVVJMIik6ImZpbGUiPT09biYmKHQ9QSgiUGxlYXNlIHNlbGVjdCBhIGZpbGUgb2YgdGhlIGNvcnJlY3QgdHlwZS4iKSksaWUoZSwidHlwZU1pc21hdGNoIix0KX0pKSxwZT1vZSgoZnVuY3Rpb24oZSl7aWYoInJhZGlvIj09PWUudHlwZSl7aWYoZS5oYXNBdHRyaWJ1dGUoInJlcXVpcmVkIikmJmUuY2hlY2tlZClyZXR1cm4hMDt2YXIgdD1ZKGUpO3JldHVybiF0LnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmhhc0F0dHJpYnV0ZSgicmVxdWlyZWQiKX0pKXx8dC5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gZS5jaGVja2VkfSkpfXJldHVybiFlLmhhc0F0dHJpYnV0ZSgicmVxdWlyZWQiKXx8KGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTFNlbGVjdEVsZW1lbnQ/KHI9IShuPWUpLm11bHRpcGxlJiZuLnNpemU8PTEmJm4ub3B0aW9ucy5sZW5ndGg+MCYmbi5vcHRpb25zWzBdLnBhcmVudE5vZGU9PW4mJiIiPT09bi5vcHRpb25zWzBdLnZhbHVlLG4uc2VsZWN0ZWRJbmRleD4tMSYmQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChuLm9wdGlvbnMsKGZ1bmN0aW9uKGUpe3JldHVybighcnx8MCE9PWUuaW5kZXgpJiYhZS5kaXNhYmxlZCYmZS5zZWxlY3RlZH0pKSk6ImNoZWNrYm94Ij09PWUudHlwZT9lLmNoZWNrZWQ6ISFlLnZhbHVlKTt2YXIgbixyfSksKGZ1bmN0aW9uKGUpe3ZhciB0PUEoIlZhbHVlTWlzc2luZyIpLG49UyhlKTsiY2hlY2tib3giPT09bj90PUEoIkNoZWNrYm94TWlzc2luZyIpOiJyYWRpbyI9PT1uP3Q9QSgiUmFkaW9NaXNzaW5nIik6ImZpbGUiPT09bj90PWUuaGFzQXR0cmlidXRlKCJtdWx0aXBsZSIpP0EoIlBsZWFzZSBzZWxlY3Qgb25lIG9yIG1vcmUgZmlsZXMuIik6QSgiRmlsZU1pc3NpbmciKTplIGluc3RhbmNlb2Ygd2luZG93LkhUTUxTZWxlY3RFbGVtZW50JiYodD1BKCJTZWxlY3RNaXNzaW5nIikpLGllKGUsInZhbHVlTWlzc2luZyIsdCl9KSksbWU9e2JhZElucHV0OnNlLGN1c3RvbUVycm9yOmFlLHBhdHRlcm5NaXNtYXRjaDpsZSxyYW5nZU92ZXJmbG93OmNlLHJhbmdlVW5kZXJmbG93OnVlLHN0ZXBNaXNtYXRjaDpkZSx0b29Mb25nOmhlLHRvb1Nob3J0OmZlLHR5cGVNaXNtYXRjaDpnZSx2YWx1ZU1pc3Npbmc6cGUsdmFsaWQ6ZnVuY3Rpb24oZSl7dmFyIHQ9aShlKSxuPXQmJnQuc2V0dGluZ3MuY2xhc3Nlcy52YWxpZHx8ImhmLXZhbGlkIixyPXQmJnQuc2V0dGluZ3MuY2xhc3Nlcy5pbnZhbGlkfHwiaGYtaW52YWxpZCIsbz10JiZ0LnNldHRpbmdzLmNsYXNzZXMudXNlckludmFsaWR8fCJoZi11c2VyLWludmFsaWQiLHM9dCYmdC5zZXR0aW5ncy5jbGFzc2VzLnVzZXJWYWxpZHx8ImhmLXVzZXItdmFsaWQiLGE9dCYmdC5zZXR0aW5ncy5jbGFzc2VzLmluUmFuZ2V8fCJoZi1pbi1yYW5nZSIsbD10JiZ0LnNldHRpbmdzLmNsYXNzZXMub3V0T2ZSYW5nZXx8ImhmLW91dC1vZi1yYW5nZSIsYz10JiZ0LnNldHRpbmdzLmNsYXNzZXMudmFsaWRhdGVkfHwiaGYtdmFsaWRhdGVkIjtlLmNsYXNzTGlzdC5hZGQoYyk7Zm9yKHZhciB1PTAsZD1bc2UsYWUsbGUsY2UsdWUsZGUsaGUsZmUsZ2UscGVdO3U8ZC5sZW5ndGg7dSsrKXtpZigoMCxkW3VdKShlKSlyZXR1cm4gZS5jbGFzc0xpc3QuYWRkKHIpLGUuY2xhc3NMaXN0LnJlbW92ZShuKSxlLmNsYXNzTGlzdC5yZW1vdmUocyksKCJjaGVja2JveCI9PT1lLnR5cGV8fCJyYWRpbyI9PT1lLnR5cGUpJiZlLmNoZWNrZWQhPT1lLmRlZmF1bHRDaGVja2VkfHxlLnZhbHVlIT09ZS5kZWZhdWx0VmFsdWU/ZS5jbGFzc0xpc3QuYWRkKG8pOmUuY2xhc3NMaXN0LnJlbW92ZShvKSxlLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwidHJ1ZSIpLCExfXJldHVybiBKLmRlbGV0ZShlKSxlLmNsYXNzTGlzdC5yZW1vdmUociksZS5jbGFzc0xpc3QucmVtb3ZlKG8pLGUuY2xhc3NMaXN0LnJlbW92ZShsKSxlLmNsYXNzTGlzdC5hZGQobiksZS5jbGFzc0xpc3QuYWRkKGEpLGUudmFsdWUhPT1lLmRlZmF1bHRWYWx1ZT9lLmNsYXNzTGlzdC5hZGQocyk6ZS5jbGFzc0xpc3QucmVtb3ZlKHMpLGUuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCJmYWxzZSIpLCEwfX0sdmU9ZnVuY3Rpb24gZSh0KXtpZighKHQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpKXRocm93IG5ldyBFcnJvcigiY2Fubm90IGNyZWF0ZSBhIFZhbGlkaXR5U3RhdGUgZm9yIGEgbm9uLWVsZW1lbnQiKTt2YXIgbj1lLmNhY2hlLmdldCh0KTtyZXR1cm4gbnx8KHRoaXMgaW5zdGFuY2VvZiBlPyh0aGlzLmVsZW1lbnQ9dCx2b2lkIGUuY2FjaGUuc2V0KHQsdGhpcykpOm5ldyBlKHQpKX0sd2U9e307dmUucHJvdG90eXBlPXdlLHZlLmNhY2hlPW5ldyBXZWFrTWFwO3ZhciBiZT1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBUKHRoaXMuZWxlbWVudCk/dCh0aGlzLmVsZW1lbnQpOiJ2YWxpZCI9PT1lfX07Zm9yKHZhciB5ZSBpbiBtZSlPYmplY3QuZGVmaW5lUHJvcGVydHkod2UseWUse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpiZSh5ZSxtZVt5ZV0pLHNldDp2b2lkIDB9KTtFKHdlKTt2YXIgX2UsU2UsVGU9dmUsa2U9KF9lPSJjaGVja1ZhbGlkaXR5IixTZT1mdW5jdGlvbihlKXtpZihlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxGb3JtRWxlbWVudClyZXR1cm4gcyhlKS5tYXAoa2UpLmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKTt2YXIgdD1UZShlKS52YWxpZDtpZih0KXt2YXIgbj1pKGUpO24mJm4uc2V0dGluZ3MudmFsaWRFdmVudCYmZihlLCJ2YWxpZCIpfWVsc2UgZihlLCJpbnZhbGlkIix7Y2FuY2VsYWJsZTohMH0pO3JldHVybiB0fSxmdW5jdGlvbigpe3ZhciBlPWMoX2UsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7cmV0dXJuIHZvaWQgMCE9PWU/ZTpTZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxFZT1rZSxDZT0wO2Z1bmN0aW9uIFBlKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiJoZl8iO3JldHVybiBlK0NlKysrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpfXZhciBNZT1uZXcgV2Vha01hcCxSZT17YXR0YWNoV2FybmluZzpmdW5jdGlvbihlLHQpe3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0Lm5leHRTaWJsaW5nKX0sZGV0YWNoV2FybmluZzpmdW5jdGlvbihlLHQpe2UucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfSxzaG93V2FybmluZzpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSYmYXJndW1lbnRzWzFdO2lmKCF0fHwicmFkaW8iIT09ZS50eXBlfHxZKGUpWzBdPT09ZSl7dmFyIG49Si5nZXQoZSkudG9TdHJpbmcoKSxyPU1lLmdldChlKTtpZihuKXtpZighcil7dmFyIG89aShlKTsocj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuY2xhc3NOYW1lPW8mJm8uc2V0dGluZ3MuY2xhc3Nlcy53YXJuaW5nfHwiaGYtd2FybmluZyIsci5pZD1QZSgpLHIuc2V0QXR0cmlidXRlKCJhcmlhLWxpdmUiLCJwb2xpdGUiKSxNZS5zZXQoZSxyKX1lLnNldEF0dHJpYnV0ZSgiYXJpYS1lcnJvcm1lc3NhZ2UiLHIuaWQpLGUuaGFzQXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5Iil8fGUuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IixyLmlkKSx4ZS5zZXRNZXNzYWdlKHIsbixlKSx4ZS5hdHRhY2hXYXJuaW5nKHIsZSl9ZWxzZSByJiZyLnBhcmVudE5vZGUmJihlLmdldEF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIpPT09ci5pZCYmZS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiKSxlLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1lcnJvcm1lc3NhZ2UiKSx4ZS5kZXRhY2hXYXJuaW5nKHIsZSkpfX0sc2V0TWVzc2FnZTpmdW5jdGlvbihlLHQsbil7ZS50ZXh0Q29udGVudD10fX0seGU9e2F0dGFjaFdhcm5pbmc6UmUuYXR0YWNoV2FybmluZyxkZXRhY2hXYXJuaW5nOlJlLmRldGFjaFdhcm5pbmcsc2hvd1dhcm5pbmc6UmUuc2hvd1dhcm5pbmcsc2V0TWVzc2FnZTpSZS5zZXRNZXNzYWdlLHNldDpmdW5jdGlvbihlLHQpe3R8fCh0PVJlW2VdKSx4ZVtlXT10fSxnZXRXYXJuaW5nOmZ1bmN0aW9uKGUpe3JldHVybiBNZS5nZXQoZSl9fSxJZT14ZTtmdW5jdGlvbiBOZShlKXtpZihlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxGb3JtRWxlbWVudCl7ZS5fX2hmX2Zvcm1fdmFsaWRhdGlvbj0hMDt2YXIgdD1zKGUpLm1hcChOZSkuZXZlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpO3JldHVybiBkZWxldGUgZS5fX2hmX2Zvcm1fdmFsaWRhdGlvbix0fXZhciBuLHI9VGUoZSkudmFsaWQ7aWYocil7dmFyIG89aShlKTtvJiZvLnNldHRpbmdzLnZhbGlkRXZlbnQmJihuPWYoZSwidmFsaWQiLHtjYW5jZWxhYmxlOiEwfSkpfWVsc2Ugbj1mKGUsImludmFsaWQiLHtjYW5jZWxhYmxlOiEwfSk7cmV0dXJuIG4mJm4uZGVmYXVsdFByZXZlbnRlZHx8SWUuc2hvd1dhcm5pbmcoZSxlLmZvcm0mJmUuZm9ybS5fX2hmX2Zvcm1fdmFsaWRhdGlvbikscn1mdW5jdGlvbiBMZShlLHQpe3Q/Si5zZXQoZSx0LCEwKTpKLmRlbGV0ZShlLCEwKTt2YXIgbj1JZS5nZXRXYXJuaW5nKGUpO24mJkllLnNldE1lc3NhZ2Uobix0LGUpLG1lLnZhbGlkKGUpfWZ1bmN0aW9uIERlKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp2b2lkIDAsbj1TKGUpO2lmKGcuaW5kZXhPZihuKT4tMSl7aWYodm9pZCAwIT09dCl7aWYobnVsbD09PXQpZS52YWx1ZT0iIjtlbHNle2lmKCEodCBpbnN0YW5jZW9mIERhdGUpKXRocm93IG5ldyB3aW5kb3cuRE9NRXhjZXB0aW9uKCJ2YWx1ZUFzRGF0ZSBzZXR0ZXIgZW5jb3VudGVyZWQgaW52YWxpZCB2YWx1ZSIsIlR5cGVFcnJvciIpO2lzTmFOKHQuZ2V0VGltZSgpKT9lLnZhbHVlPSIiOmUudmFsdWU9Uih0LG4pfXJldHVybn12YXIgcj14KGUudmFsdWUsbik7cmV0dXJuIHIgaW5zdGFuY2VvZiBEYXRlP3I6bnVsbH1pZih2b2lkIDAhPT10KXRocm93IG5ldyB3aW5kb3cuRE9NRXhjZXB0aW9uKCJ2YWx1ZUFzRGF0ZSBzZXR0ZXIgY2Fubm90IHNldCBkYXRlIG9uIHRoaXMgZWxlbWVudCIsIkludmFsaWRTdGF0ZUVycm9yIik7cmV0dXJuIG51bGx9ZnVuY3Rpb24gT2UoZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnZvaWQgMCxuPVMoZSk7aWYocC5pbmRleE9mKG4pPi0xKXtpZigicmFuZ2UiPT09biYmZS5oYXNBdHRyaWJ1dGUoIm11bHRpcGxlIikpcmV0dXJuIE5hTjtpZih2b2lkIDAhPT10KXtpZihpc05hTih0KSllLnZhbHVlPSIiO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiB0fHwhd2luZG93LmlzRmluaXRlKHQpKXRocm93IG5ldyB3aW5kb3cuRE9NRXhjZXB0aW9uKCJ2YWx1ZUFzTnVtYmVyIHNldHRlciBlbmNvdW50ZXJlZCBpbnZhbGlkIHZhbHVlIiwiVHlwZUVycm9yIik7dHJ5e0RlKGUsbmV3IERhdGUodCkpfWNhdGNoKG4pe2lmKCEobiBpbnN0YW5jZW9mIHdpbmRvdy5ET01FeGNlcHRpb24pKXRocm93IG47ZS52YWx1ZT10LnRvU3RyaW5nKCl9fXJldHVybn1yZXR1cm4gSShlLnZhbHVlLG4pfWlmKHZvaWQgMCE9PXQpdGhyb3cgbmV3IHdpbmRvdy5ET01FeGNlcHRpb24oInZhbHVlQXNOdW1iZXIgc2V0dGVyIGNhbm5vdCBzZXQgbnVtYmVyIG9uIHRoaXMgZWxlbWVudCIsIkludmFsaWRTdGF0ZUVycm9yIik7cmV0dXJuIE5hTn1mdW5jdGlvbiBBZShlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MTtpZigtMT09PXAuaW5kZXhPZihTKGUpKSl0aHJvdyBuZXcgd2luZG93LkRPTUV4Y2VwdGlvbigic3RlcERvd24gZW5jb3VudGVyZWQgaW52YWxpZCB0eXBlIiwiSW52YWxpZFN0YXRlRXJyb3IiKTtpZigiYW55Ij09PShlLmdldEF0dHJpYnV0ZSgic3RlcCIpfHwiIikudG9Mb3dlckNhc2UoKSl0aHJvdyBuZXcgd2luZG93LkRPTUV4Y2VwdGlvbignc3RlcERvd24gZW5jb3VudGVyZWQgc3RlcCAiYW55IicsIkludmFsaWRTdGF0ZUVycm9yIik7dmFyIG49RihlLHQpWzBdO251bGwhPT1uJiZPZShlLG4pfWZ1bmN0aW9uIFVlKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToxO2lmKC0xPT09cC5pbmRleE9mKFMoZSkpKXRocm93IG5ldyB3aW5kb3cuRE9NRXhjZXB0aW9uKCJzdGVwVXAgZW5jb3VudGVyZWQgaW52YWxpZCB0eXBlIiwiSW52YWxpZFN0YXRlRXJyb3IiKTtpZigiYW55Ij09PShlLmdldEF0dHJpYnV0ZSgic3RlcCIpfHwiIikudG9Mb3dlckNhc2UoKSl0aHJvdyBuZXcgd2luZG93LkRPTUV4Y2VwdGlvbignc3RlcFVwIGVuY291bnRlcmVkIHN0ZXAgImFueSInLCJJbnZhbGlkU3RhdGVFcnJvciIpO3ZhciBuPUYoZSx0KVsxXTtudWxsIT09biYmT2UoZSxuKX1mdW5jdGlvbiBqZShlKXt2YXIgdD1KLmdldChlKTtyZXR1cm4gdD90LnRvU3RyaW5nKCk6IiJ9ZnVuY3Rpb24gVmUoZSl7cmV0dXJuIFQoZSl9dmFyICRlPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZSxIZT0kZS5tYXRjaGVzfHwkZS5tYXRjaGVzU2VsZWN0b3J8fCRlLm1zTWF0Y2hlc1NlbGVjdG9yfHwkZS53ZWJraXRNYXRjaGVzU2VsZWN0b3I7ZnVuY3Rpb24gRmUoZSl7dmFyIHQsbj1oKCJzdWJtaXQiLHtjYW5jZWxhYmxlOiEwfSk7bi5wcmV2ZW50RGVmYXVsdCgpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJkZWZhdWx0UHJldmVudGVkIix7dmFsdWU6ITEsd3JpdGFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwicHJldmVudERlZmF1bHQiLHt2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBuLmRlZmF1bHRQcmV2ZW50ZWQ9dD0hMH0sd3JpdGFibGU6ITB9KSxmKGUuZm9ybSxuLHt9LHtzdWJtaXR0ZWRWaWE6ZX0pLHR8fCghZnVuY3Rpb24oZSl7aWYoWyJpbWFnZSIsInN1Ym1pdCJdLmluZGV4T2YoZS50eXBlKT4tMSYmZS5uYW1lKXt2YXIgdD1pKGUuZm9ybSl8fHt9LG49dC5zdWJtaXRfaGVscGVyO24/bi5wYXJlbnROb2RlJiZuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobik6KChuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnR5cGU9ImhpZGRlbiIsdC5zdWJtaXRfaGVscGVyPW4pLG4ubmFtZT1lLm5hbWUsbi52YWx1ZT1lLnZhbHVlLGUuZm9ybS5hcHBlbmRDaGlsZChuKX19KGUpLHdpbmRvdy5IVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdC5jYWxsKGUuZm9ybSksd2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKFsiaW1hZ2UiLCJzdWJtaXQiXS5pbmRleE9mKGUudHlwZSk+LTEmJmUubmFtZSl7dmFyIHQ9KGkoZS5mb3JtKXx8e30pLnN1Ym1pdF9oZWxwZXI7dCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9fShlKX0pKSl9ZnVuY3Rpb24gcWUoZSl7aWYoIWYoZS5mb3JtLCJ2YWxpZGF0ZSIse2NhbmNlbGFibGU6ITB9KS5kZWZhdWx0UHJldmVudGVkKXt2YXIgdCxuPSEwO2UuZm9ybS5fX2hmX2Zvcm1fdmFsaWRhdGlvbj0hMCxzKGUuZm9ybSkubWFwKChmdW5jdGlvbihlKXtOZShlKXx8KG49ITEsIXQmJiJmb2N1cyJpbiBlJiYodD1lKSl9KSksZGVsZXRlIGUuZm9ybS5fX2hmX2Zvcm1fdmFsaWRhdGlvbixuP0ZlKGUpOnQmJih0LmZvY3VzKCksZihlLmZvcm0sImZvcm1pbnZhbGlkIikpfX1mdW5jdGlvbiBCZShlKXtyZXR1cm4hKCJJTlBVVCIhPT1lLm5vZGVOYW1lJiYiQlVUVE9OIiE9PWUubm9kZU5hbWV8fCJpbWFnZSIhPT1lLnR5cGUmJiJzdWJtaXQiIT09ZS50eXBlKX1mdW5jdGlvbiB6ZShlLHQpe3JldHVybiFlLmRlZmF1bHRQcmV2ZW50ZWQmJighKCJidXR0b24iaW4gZSl8fGUuYnV0dG9uPDIpJiZCZSh0KSYmdC5mb3JtJiYhdC5mb3JtLmhhc0F0dHJpYnV0ZSgibm92YWxpZGF0ZSIpfWZ1bmN0aW9uIFdlKGUpe3JldHVybiBCZShlKT9lOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEhlLmNhbGwoZSx0KX0oZSwnYnV0dG9uOm5vdChbdHlwZV0pICosIGJ1dHRvblt0eXBlPSJzdWJtaXQiXSAqJyk/V2UoZS5wYXJlbnROb2RlKTpudWxsfWZ1bmN0aW9uIFplKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0mJmFyZ3VtZW50c1swXTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49V2UodC50YXJnZXQpO24mJnplKHQsbikmJih0LnByZXZlbnREZWZhdWx0KCksZXx8bi5oYXNBdHRyaWJ1dGUoImZvcm1ub3ZhbGlkYXRlIik/RmUobik6cWUobikpfX12YXIgSmU9WmUoKSxLZT1aZSghMCk7ZnVuY3Rpb24gWGUoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKGZ1bmN0aW9uKGUpe3JldHVybiFlLmRlZmF1bHRQcmV2ZW50ZWQmJigxMz09PWUua2V5Q29kZSYmIklOUFVUIj09PWUudGFyZ2V0Lm5vZGVOYW1lJiZ3LmluZGV4T2YoZS50YXJnZXQudHlwZSk+LTF8fCgxMz09PWUua2V5Q29kZXx8MzI9PT1lLmtleUNvZGUpJiZCZShlLnRhcmdldCkpJiZlLnRhcmdldC5mb3JtJiYhZS50YXJnZXQuZm9ybS5oYXNBdHRyaWJ1dGUoIm5vdmFsaWRhdGUiKX0odCkpe2lmKHQucHJldmVudERlZmF1bHQoKSwoaSh0LnRhcmdldC5mb3JtKXx8e3NldHRpbmdzOnt9fSkuc2V0dGluZ3MucHJldmVudEltcGxpY2l0U3VibWl0KXJldHVybjtmb3IodmFyIG4scj10LnRhcmdldC5mb3JtLmVsZW1lbnRzLmxlbmd0aCxvPTA7bzxyO28rKylpZihbImltYWdlIiwic3VibWl0Il0uaW5kZXhPZih0LnRhcmdldC5mb3JtLmVsZW1lbnRzW29dLnR5cGUpPi0xKXtuPXQudGFyZ2V0LmZvcm0uZWxlbWVudHNbb107YnJlYWt9aWYoZih0LnRhcmdldC5mb3JtLCJpbXBsaWNpdF9zdWJtaXQiLHtjYW5jZWxhYmxlOiEwfSx7dHJpZ2dlcjp0LnRhcmdldCxzdWJtaXR0ZWRWaWE6bnx8dC50YXJnZXR9KS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtuP24uY2xpY2soKTplP0ZlKHQudGFyZ2V0KTpxZSh0LnRhcmdldCl9fX12YXIgUWU9WGUoKSxZZT1YZSghMCk7ZnVuY3Rpb24gR2UoZSx0LG4pe24uY29uZmlndXJhYmxlPSEwLG4uZW51bWVyYWJsZT0hMCwidmFsdWUiaW4gbiYmKG4ud3JpdGFibGU9ITApO3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTtpZih2b2lkIDA9PT1yJiYocj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihlKSx0KSkscil7aWYoITE9PT1yLmNvbmZpZ3VyYWJsZSl7dmFyIG89aShlKTtyZXR1cm4gbyYmby5zZXR0aW5ncy5kZWJ1ZyYmY29uc29sZS5sb2coIltoeXBlcmZvcm1dIGNhbm5vdCBpbnN0YWxsIGN1c3RvbSBwcm9wZXJ0eSAiK3QpLCExfWlmKHIuZ2V0JiZyLmdldC5fX2h5cGVyZm9ybXx8ci52YWx1ZSYmci52YWx1ZS5fX2h5cGVyZm9ybSlyZXR1cm47T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9vcmlnaW5hbF8iK3Qscil9cmV0dXJuIGRlbGV0ZSBlW3RdLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsbiksITB9ZnVuY3Rpb24gZXQoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEJ1dHRvbkVsZW1lbnR8fGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElucHV0RWxlbWVudHx8ZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MU2VsZWN0RWxlbWVudHx8ZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MVGV4dEFyZWFFbGVtZW50fHxlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxGaWVsZFNldEVsZW1lbnR8fGU9PT13aW5kb3cuSFRNTEJ1dHRvbkVsZW1lbnQucHJvdG90eXBlfHxlPT09d2luZG93LkhUTUxJbnB1dEVsZW1lbnQucHJvdG90eXBlfHxlPT09d2luZG93LkhUTUxTZWxlY3RFbGVtZW50LnByb3RvdHlwZXx8ZT09PXdpbmRvdy5IVE1MVGV4dEFyZWFFbGVtZW50LnByb3RvdHlwZXx8ZT09PXdpbmRvdy5IVE1MRmllbGRTZXRFbGVtZW50LnByb3RvdHlwZX1mdW5jdGlvbiB0dChlLHQpe3RyeXtkZWxldGUgZVt0XX1jYXRjaChyKXt2YXIgbj1pKGUpO3JldHVybiBuJiZuLnNldHRpbmdzLmRlYnVnJiZjb25zb2xlLmxvZygiW2h5cGVyZm9ybV0gY2Fubm90IHVuaW5zdGFsbCBjdXN0b20gcHJvcGVydHkgIit0KSwhMX12YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsIl9vcmlnaW5hbF8iK3QpO3ImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQscil9dmFyIG50PWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB1KCJhdHRyX2dldF8iK2UsdGhpcy5nZXRBdHRyaWJ1dGUoZSksdGhpcyl9fSxydD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7dGhpcy5zZXRBdHRyaWJ1dGUoZSx1KCJhdHRyX3NldF8iK2UsdCx0aGlzKSl9fSxvdD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdSgiYXR0cl9nZXRfIitlLHRoaXMuaGFzQXR0cmlidXRlKGUpLHRoaXMpfX0saXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3UoImF0dHJfc2V0XyIrZSx0LHRoaXMpP3RoaXMuc2V0QXR0cmlidXRlKGUsZSk6dGhpcy5yZW1vdmVBdHRyaWJ1dGUoZSl9fSxzdD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdSgiYXR0cl9nZXRfIitlLE1hdGgubWF4KDAsTnVtYmVyKHRoaXMuZ2V0QXR0cmlidXRlKGUpKSksdGhpcyl9fSxhdD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7dD11KCJhdHRyX3NldF8iK2UsdCx0aGlzKSwvXlswLTldKyQvLnRlc3QodCkmJnRoaXMuc2V0QXR0cmlidXRlKGUsdCl9fTt2YXIgbHQ9e2NoZWNrVmFsaWRpdHk6e3ZhbHVlOkUoKGZ1bmN0aW9uKCl7cmV0dXJuIEVlKHRoaXMpfSkpfSxyZXBvcnRWYWxpZGl0eTp7dmFsdWU6RSgoZnVuY3Rpb24oKXtyZXR1cm4gTmUodGhpcyl9KSl9LHNldEN1c3RvbVZhbGlkaXR5Ont2YWx1ZTpFKChmdW5jdGlvbihlKXtyZXR1cm4gTGUodGhpcyxlKX0pKX0sc3RlcERvd246e3ZhbHVlOkUoKGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjE7cmV0dXJuIEFlKHRoaXMsZSl9KSl9LHN0ZXBVcDp7dmFsdWU6RSgoZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06MTtyZXR1cm4gVWUodGhpcyxlKX0pKX0sdmFsaWRhdGlvbk1lc3NhZ2U6e2dldDpFKChmdW5jdGlvbigpe3JldHVybiBqZSh0aGlzKX0pKX0sdmFsaWRpdHk6e2dldDpFKChmdW5jdGlvbigpe3JldHVybiBUZSh0aGlzKX0pKX0sdmFsdWVBc0RhdGU6e2dldDpFKChmdW5jdGlvbigpe3JldHVybiBEZSh0aGlzKX0pKSxzZXQ6RSgoZnVuY3Rpb24oZSl7RGUodGhpcyxlKX0pKX0sdmFsdWVBc051bWJlcjp7Z2V0OkUoKGZ1bmN0aW9uKCl7cmV0dXJuIE9lKHRoaXMpfSkpLHNldDpFKChmdW5jdGlvbihlKXtPZSh0aGlzLGUpfSkpfSx3aWxsVmFsaWRhdGU6e2dldDpFKChmdW5jdGlvbigpe3JldHVybiBWZSh0aGlzKX0pKX19O2Z1bmN0aW9uIGN0KGUpe2lmKGV0KGUpKXtmb3IodmFyIHQgaW4gbHQpR2UoZSx0LGx0W3RdKTshZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsbj1bImFjY2VwdCIsIm1heCIsIm1pbiIsInBhdHRlcm4iLCJwbGFjZWhvbGRlciIsInN0ZXAiXTt0PG4ubGVuZ3RoO3QrKyl7dmFyIHI9blt0XTtHZShlLHIse2dldDpudChyKSxzZXQ6cnQocil9KX1mb3IodmFyIG89MCxpPVsibXVsdGlwbGUiLCJyZXF1aXJlZCIsInJlYWRPbmx5Il07bzxpLmxlbmd0aDtvKyspe3ZhciBzPWlbb107R2UoZSxzLHtnZXQ6b3Qocy50b0xvd2VyQ2FzZSgpKSxzZXQ6aXQocy50b0xvd2VyQ2FzZSgpKX0pfWZvcih2YXIgYT0wLGw9WyJtaW5MZW5ndGgiLCJtYXhMZW5ndGgiXTthPGwubGVuZ3RoO2ErKyl7dmFyIGM9bFthXTtHZShlLGMse2dldDpzdChjLnRvTG93ZXJDYXNlKCkpLHNldDphdChjLnRvTG93ZXJDYXNlKCkpfSl9fShlKX1lbHNlKGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEZvcm1FbGVtZW50fHxlPT09d2luZG93LkhUTUxGb3JtRWxlbWVudC5wcm90b3R5cGUpJiYoR2UoZSwiY2hlY2tWYWxpZGl0eSIsbHQuY2hlY2tWYWxpZGl0eSksR2UoZSwicmVwb3J0VmFsaWRpdHkiLGx0LnJlcG9ydFZhbGlkaXR5KSl9ZnVuY3Rpb24gdXQoZSl7ZXQoZSk/KHR0KGUsImNoZWNrVmFsaWRpdHkiKSx0dChlLCJyZXBvcnRWYWxpZGl0eSIpLHR0KGUsInNldEN1c3RvbVZhbGlkaXR5IiksdHQoZSwic3RlcERvd24iKSx0dChlLCJzdGVwVXAiKSx0dChlLCJ2YWxpZGF0aW9uTWVzc2FnZSIpLHR0KGUsInZhbGlkaXR5IiksdHQoZSwidmFsdWVBc0RhdGUiKSx0dChlLCJ2YWx1ZUFzTnVtYmVyIiksdHQoZSwid2lsbFZhbGlkYXRlIiksZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsbj1bImFjY2VwdCIsIm1heCIsIm1pbiIsInBhdHRlcm4iLCJwbGFjZWhvbGRlciIsInN0ZXAiLCJtdWx0aXBsZSIsInJlcXVpcmVkIiwicmVhZE9ubHkiLCJtaW5MZW5ndGgiLCJtYXhMZW5ndGgiXTt0PG4ubGVuZ3RoO3QrKyl0dChlLG5bdF0pfShlKSk6ZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRm9ybUVsZW1lbnQmJih0dChlLCJjaGVja1ZhbGlkaXR5IiksdHQoZSwicmVwb3J0VmFsaWRpdHkiKSl9ZnVuY3Rpb24gZHQoZSx0KXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYoIW4pe2lmKEFycmF5LmlzQXJyYXkoZSl8fChuPWZ1bmN0aW9uKGUsdCl7aWYoIWUpcmV0dXJuO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gaHQoZSx0KTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7Ik9iamVjdCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpO2lmKCJNYXAiPT09bnx8IlNldCI9PT1uKXJldHVybiBBcnJheS5mcm9tKGUpO2lmKCJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpcmV0dXJuIGh0KGUsdCl9KGUpKXx8dCYmZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aCl7biYmKGU9bik7dmFyIHI9MCxvPWZ1bmN0aW9uKCl7fTtyZXR1cm57czpvLG46ZnVuY3Rpb24oKXtyZXR1cm4gcj49ZS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmVbcisrXX19LGU6ZnVuY3Rpb24oZSl7dGhyb3cgZX0sZjpvfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIGkscz0hMCxhPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwoZSl9LG46ZnVuY3Rpb24oKXt2YXIgZT1uLm5leHQoKTtyZXR1cm4gcz1lLmRvbmUsZX0sZTpmdW5jdGlvbihlKXthPSEwLGk9ZX0sZjpmdW5jdGlvbigpe3RyeXtzfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKGEpdGhyb3cgaX19fX1mdW5jdGlvbiBodChlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXZhciBmdD1bd2luZG93LkhUTUxCdXR0b25FbGVtZW50LnByb3RvdHlwZSx3aW5kb3cuSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUsd2luZG93LkhUTUxTZWxlY3RFbGVtZW50LnByb3RvdHlwZSx3aW5kb3cuSFRNTFRleHRBcmVhRWxlbWVudC5wcm90b3R5cGUsd2luZG93LkhUTUxGaWVsZFNldEVsZW1lbnQucHJvdG90eXBlXTtmdW5jdGlvbiBndChlLHQpe3QgaW5zdGFuY2VvZiB3aW5kb3cuRWxlbWVudCYmKHQ9W3RdKTtmb3IodmFyIG49dC5sZW5ndGgscj0wO3I8bjtyKyspZSh0W3JdKX1mdW5jdGlvbiBwdChlKXt2YXIgdD1lLmZvcm07cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG47aWYoKG49dCkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLEtlKSxuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXByZXNzIixZZSksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsSmUpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLFFlKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIixlLnJldmFsaWRhdG9yKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZS5yZXZhbGlkYXRvciksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixlLnJldmFsaWRhdG9yLCEwKSx0PT09d2luZG93fHw5PT09dC5ub2RlVHlwZSllLnVuaW5zdGFsbChmdCksdXQod2luZG93LkhUTUxGb3JtRWxlbWVudCk7ZWxzZSBpZih0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxGb3JtRWxlbWVudHx8dCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRmllbGRTZXRFbGVtZW50KWUudW5pbnN0YWxsKHQuZWxlbWVudHMpLHQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEZvcm1FbGVtZW50JiZ1dCh0KTtlbHNlIGlmKHQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpe2Uub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO3ZhciByLG89ZHQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybSIpKSk7dHJ5e2ZvcihvLnMoKTshKHI9by5uKCkpLmRvbmU7KXt2YXIgaT1yLnZhbHVlO2UudW5pbnN0YWxsKGkuZWxlbWVudHMpLHV0KGkpfX1jYXRjaChlKXtvLmUoZSl9ZmluYWxseXtvLmYoKX19fX1mdW5jdGlvbiBtdChlKXt2YXIgdD1lLmZvcm0sbj1lLnNldHRpbmdzO2lmKGUucmV2YWxpZGF0b3I9ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06Imh5YnJpZCI7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKHQudGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxCdXR0b25FbGVtZW50fHx0LnRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MVGV4dEFyZWFFbGVtZW50fHx0LnRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MU2VsZWN0RWxlbWVudHx8dC50YXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElucHV0RWxlbWVudCl7aWYodC50YXJnZXQuZm9ybSYmdC50YXJnZXQuZm9ybS5oYXNBdHRyaWJ1dGUoIm5vdmFsaWRhdGUiKSlyZXR1cm47Imh5YnJpZCI9PT1lPygiYmx1ciI9PT10LnR5cGUmJnQudGFyZ2V0LnZhbHVlIT09dC50YXJnZXQuZGVmYXVsdFZhbHVlfHxUZSh0LnRhcmdldCkudmFsaWR8fCgia2V5dXAiPT09dC50eXBlJiY5IT09dC5rZXlDb2RlfHwiY2hhbmdlIj09PXQudHlwZSkmJlRlKHQudGFyZ2V0KS52YWxpZCkmJk5lKHQudGFyZ2V0KToia2V5dXAiPT09dC50eXBlJiY5PT09dC5rZXlDb2RlfHxOZSh0LnRhcmdldCl9fX0obi5yZXZhbGlkYXRlKSxlLm9ic2VydmVyPXtkaXNjb25uZWN0OmZ1bmN0aW9uKCl7fX0sZS5pbnN0YWxsPWZ1bmN0aW9uKGUpe3JldHVybiBndChjdCxlKX0sZS51bmluc3RhbGw9ZnVuY3Rpb24oZSl7cmV0dXJuIGd0KHV0LGUpfSxlLl9kZXN0cnVjdD1wdChlKSxmdW5jdGlvbihlKXthcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSYmYXJndW1lbnRzWzFdPyhlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixLZSksZS5hZGRFdmVudExpc3RlbmVyKCJrZXlwcmVzcyIsWWUpKTooZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsSmUpLGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLFFlKSl9KHQsIm5ldmVyIj09PW4ucmV2YWxpZGF0ZSksdD09PXdpbmRvd3x8OT09PXQubm9kZVR5cGUpZS5pbnN0YWxsKGZ0KSxjdCh3aW5kb3cuSFRNTEZvcm1FbGVtZW50KTtlbHNlIGlmKHQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEZvcm1FbGVtZW50fHx0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxGaWVsZFNldEVsZW1lbnQpZS5pbnN0YWxsKHQuZWxlbWVudHMpLHQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEZvcm1FbGVtZW50JiZjdCh0KTtlbHNle2lmKCEodCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCkpdGhyb3cgbmV3IEVycm9yKCJIeXBlcmZvcm0gbXVzdCBiZSB1c2VkIHdpdGggYSBub2RlIG9yIHdpbmRvdy4iKTt2YXIgcixvPWR0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUuZm9ybS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybSIpKSk7dHJ5e2ZvcihvLnMoKTshKHI9by5uKCkpLmRvbmU7KXt2YXIgaT1yLnZhbHVlO2UuaW5zdGFsbChpLmVsZW1lbnRzKSxjdChpKX19Y2F0Y2goZSl7by5lKGUpfWZpbmFsbHl7by5mKCl9ZS5vYnNlcnZlcj1uZXcgd2luZG93Lk11dGF0aW9uT2JzZXJ2ZXIoKGZ1bmN0aW9uKHQpe3ZhciBuLHI9ZHQodCk7dHJ5e2ZvcihyLnMoKTshKG49ci5uKCkpLmRvbmU7KXt2YXIgbz1uLnZhbHVlO2lmKCJjaGlsZExpc3QiPT09by50eXBlKXt2YXIgaSxzPWR0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG8uYWRkZWROb2RlcykpO3RyeXtmb3Iocy5zKCk7IShpPXMubigpKS5kb25lOyl7dmFyIGE9aS52YWx1ZTthIGluc3RhbmNlb2Ygd2luZG93LkhUTUxGb3JtRWxlbWVudCYmKGUuaW5zdGFsbChhLmVsZW1lbnRzKSxjdChhKSl9fWNhdGNoKGUpe3MuZShlKX1maW5hbGx5e3MuZigpfXZhciBsLGM9ZHQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoby5yZW1vdmVkTm9kZXMpKTt0cnl7Zm9yKGMucygpOyEobD1jLm4oKSkuZG9uZTspe3ZhciB1PWwudmFsdWU7dSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRm9ybUVsZW1lbnQmJihlLnVuaW5zdGFsbCh1LmVsZW1lbnRzKSx1dCh1KSl9fWNhdGNoKGUpe2MuZShlKX1maW5hbGx5e2MuZigpfX19fWNhdGNoKGUpe3IuZShlKX1maW5hbGx5e3IuZigpfX0pKSxlLm9ic2VydmVyLm9ic2VydmUodCx7c3VidHJlZTohMCxjaGlsZExpc3Q6ITB9KX0ib25pbnB1dCIhPT1uLnJldmFsaWRhdGUmJiJoeWJyaWQiIT09bi5yZXZhbGlkYXRlfHwodC5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsZS5yZXZhbGlkYXRvciksdC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGUucmV2YWxpZGF0b3IpKSwib25ibHVyIiE9PW4ucmV2YWxpZGF0ZSYmImh5YnJpZCIhPT1uLnJldmFsaWRhdGV8fHQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsZS5yZXZhbGlkYXRvciwhMCl9ZnVuY3Rpb24gdnQoZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9LG49dC5jbGFzc2VzLHI9dC5kZWJ1ZyxpPXZvaWQgMCE9PXImJnIscz10LmV4dGVuZEZpZWxkc2V0LGE9dC5ub3ZhbGlkYXRlT25FbGVtZW50cyxsPXQucHJldmVudEltcGxpY2l0U3VibWl0LGM9dm9pZCAwIT09bCYmbCx1PXQucmV2YWxpZGF0ZSxkPXQuc3RyaWN0LGg9dm9pZCAwIT09ZCYmZCxmPXQudmFsaWRFdmVudCxnPXQudmFsaWRhdGVOYW1lbGVzcyxwPXZvaWQgMCE9PWcmJmc7bnx8KG49e30pLHZvaWQgMD09PXMmJihzPSFoKSx2b2lkIDA9PT1hJiYoYT0haCksdm9pZCAwPT09YyYmKGM9ITEpLHZvaWQgMD09PXUmJih1PWg/Im9uc3VibWl0IjoiaHlicmlkIiksdm9pZCAwPT09ZiYmKGY9IWgpO3ZhciBtPXtkZWJ1ZzppLHN0cmljdDpoLHByZXZlbnRJbXBsaWNpdFN1Ym1pdDpjLHJldmFsaWRhdGU6dSx2YWxpZEV2ZW50OmYsZXh0ZW5kRmllbGRzZXQ6cyxjbGFzc2VzOm4sbm92YWxpZGF0ZU9uRWxlbWVudHM6YSx2YWxpZGF0ZU5hbWVsZXNzOnB9O2lmKGUgaW5zdGFuY2VvZiB3aW5kb3cuTm9kZUxpc3R8fGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTENvbGxlY3Rpb258fGUgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGUsKGZ1bmN0aW9uKGUpe3JldHVybiB2dChlLG0pfSkpO3ZhciB2PW5ldyBvKGUsbSk7cmV0dXJuIG10KHYpLHZ9dnQudmVyc2lvbj0iMC4xMi4wIix2dC5jaGVja1ZhbGlkaXR5PUVlLHZ0LnJlcG9ydFZhbGlkaXR5PU5lLHZ0LnNldEN1c3RvbVZhbGlkaXR5PUxlLHZ0LnN0ZXBEb3duPUFlLHZ0LnN0ZXBVcD1VZSx2dC52YWxpZGF0aW9uTWVzc2FnZT1qZSx2dC5WYWxpZGl0eVN0YXRlPVRlLHZ0LnZhbHVlQXNEYXRlPURlLHZ0LnZhbHVlQXNOdW1iZXI9T2UsdnQud2lsbFZhbGlkYXRlPVZlLHZ0LnNldExhbmd1YWdlPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBMPXQ9ZSxEPXQucmVwbGFjZSgvWy1fXS4qLywiIiksdnR9LHZ0LmFkZFRyYW5zbGF0aW9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8oZSx0KSx2dH0sdnQuc2V0UmVuZGVyZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gSWUuc2V0KGUsdCksdnR9LHZ0LmFkZFZhbGlkYXRvcj1mdW5jdGlvbihlLHQpe3JldHVybiBRLnNldChlLHQpLHZ0fSx2dC5zZXRNZXNzYWdlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVy5zZXQoZSx0LG4pLHZ0fSx2dC5hZGRIb29rPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe2UgaW4gbHx8KGxbZV09W10pLHZvaWQgMD09PW4mJihuPWxbZV0ubGVuZ3RoKSxsW2VdLnNwbGljZShuLDAsdCl9KGUsdCxuKSx2dH0sdnQucmVtb3ZlSG9vaz1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihlLHQpe2lmKGUgaW4gbClmb3IodmFyIG49MDtuPGxbZV0ubGVuZ3RoO24rKylpZihsW2VdW25dPT09dCl7bFtlXS5zcGxpY2UobiwxKTticmVha319KGUsdCksdnR9LGRvY3VtZW50LmN1cnJlbnRTY3JpcHQmJmRvY3VtZW50LmN1cnJlbnRTY3JpcHQuaGFzQXR0cmlidXRlKCJkYXRhLWhmLWF1dG9sb2FkIikmJnZ0KHdpbmRvdyk7dmFyIHd0PXZ0fSw5MjE1MjpmdW5jdGlvbigpe2h5cGVyZm9ybS5hZGRUcmFuc2xhdGlvbigiYXIiLHtUZXh0VG9vTG9uZzoi2LHYrNin2KHZiyDYp9iu2KrYtdixINmH2LDYpyDYp9mE2YbYtSDZhNmK2LXZhCDYpdmE2Ykg2LfZiNmE2Ycg2KXZhNmJICVsINit2LHZgSDYo9mIINij2YLZhCAo2KPZhtiqINij2K/YrtmE2Kog2K3YqtmJINin2YTYotmGICVsINit2LHZgdmL2KdzKS4iLFZhbHVlTWlzc2luZzoi2LHYrNin2KHZiyDYp9mF2YTYoyDZh9iw2Kcg2KfZhNit2YLZhC4iLENoZWNrYm94TWlzc2luZzoi2LHYrNin2KHZiyDYudmE2ZHZhSDZh9iw2Kcg2KfZhNmF2LHYqNi5INil2YYg2KPYsdiv2Kog2KfZhNmF2KrYp9io2LnYqS4iLFJhZGlvTWlzc2luZzoi2LHYrNin2KHZiyDYp9iu2KrYsSDYo9it2K8g2YfYsNmHINin2YTYrtmK2KfYsdin2KouIixGaWxlTWlzc2luZzoi2LHYrNin2KHZiyDYp9iu2KrYsSDZhdmE2YHZi9inLiIsU2VsZWN0TWlzc2luZzoi2LHYrNin2KHZiyDYp9iu2KrYsSDYudmG2LXYsdmL2Kcg2YXZhiDYp9mE2YTYp9im2K3YqS4iLEludmFsaWRFbWFpbDoi2KPYr9iu2ZDZhCDYsdis2KfYodmLINin2YTYqNix2YrYryDYp9mE2KXZhNmD2KrYsdmI2YbZii4iLEludmFsaWRVUkw6Itij2K/YrtmQ2YQg2LHYrNin2KHZiyDYudmG2YjYp9mGINin2YTZhdmI2YLYuS4iLFBhdHRlcm5NaXNtYXRjaDoi2KfYqtio2Lkg2LHYrNin2KHZiyDYp9mE2KrZhtiz2YrZgiDYp9mE2YXYt9mE2YjYqC4iLFBhdHRlcm5NaXNtYXRjaFdpdGhUaXRsZToi2KfYqtio2Lkg2LHYrNin2KHZiyDYp9mE2KrZhtiz2YrZgiDYp9mE2YXYt9mE2YjYqDogJWwuIixOdW1iZXJSYW5nZU92ZXJmbG93OiLYsdis2KfYodmLINin2K7YqtixINmC2YrZhdipINmE2YrYs9iqINij2YPYq9ixINmF2YYgJWwuIixEYXRlUmFuZ2VPdmVyZmxvdzoi2LHYrNin2KHZiyDYp9iu2KrYsSDZgtmK2YXYqSDZhNmK2LPYqiDYqNi52K8gJWwuIixUaW1lUmFuZ2VPdmVyZmxvdzoi2LHYrNin2KHZiyDYp9iu2KrYsSDZgtmK2YXYqSDZhNmK2LPYqiDYqNi52K8gJWwuIixOdW1iZXJSYW5nZVVuZGVyZmxvdzoi2LHYrNin2KHZiyDYp9iu2KrYsSDZgtmK2YXYqSDZhNmK2LPYqiDYo9mC2YQg2YXZhiAlbC4iLERhdGVSYW5nZVVuZGVyZmxvdzoi2LHYrNin2KHZiyDYp9iu2KrYsSDZgtmK2YXYqSDZhNmK2LPYqiDZgtio2YQgJWwuIixUaW1lUmFuZ2VVbmRlcmZsb3c6Itix2KzYp9ih2Ysg2KfYrtiq2LEg2YLZitmF2Kkg2YTZitiz2Kog2YLYqNmEICVsLiIsU3RlcE1pc21hdGNoOiLYsdis2KfYodmLINin2K7YqtixINmC2YrZhdipINi12K3Zitit2KkuINij2YLYsdioINmC2YrZhdiq2YrZhiDYtdit2YrYrdiq2YrZhiDZh9mF2KcgJWwg2YggJWwuIixTdGVwTWlzbWF0Y2hPbmVWYWx1ZToi2LHYrNin2KHZiyDYp9iu2KrYsSDZgtmK2YXYqSDYtdit2YrYrdipLiDYo9mC2LHYqCDZgtmK2YXYqSDYtdit2YrYrdipINmH2YogJWwuIixCYWRJbnB1dE51bWJlcjoi2YXZhiDZgdi22YTZgyDYo9iv2K7ZhCDYsdmC2YXZi9inLiJ9KSxoeXBlcmZvcm0uc2V0TGFuZ3VhZ2UoImFyIil9LDY2MjE2OmZ1bmN0aW9uKCl7aHlwZXJmb3JtLmFkZFRyYW5zbGF0aW9uKCJjcyIse1RleHRUb29Mb25nOiJaa3JhxaV0ZSBwcm9zw61tIHRleHQgbmEgJWwgem5ha8WvIG5lYm8gbcOpbsSbIChha3R1w6FsbsOtIHZlbGlrb3N0IHRleHR1IGplICVsIHpuYWvFrykuIixUZXh0VG9vU2hvcnQ6IlBvdcW+aWp0ZSBwcm9zw61tIHRleHQgYWxlc3BvxYggJWwgem5ha8WvIGRsb3Vow70gKGFrdHXDoWxuw60gdmVsaWtvc3QgdGV4dHUgamUgJWwgem5ha8WvKS4iLFZhbHVlTWlzc2luZzoiVnlwbMWIdGUgcHJvc8OtbSB0b3RvIHBvbGUuIixDaGVja2JveE1pc3Npbmc6IlphxaFrcnRuxJt0ZSBwcm9zw61tIHRvdG8gemHFoWtydMOhdmFjw60gcG9sZS4iLFJhZGlvTWlzc2luZzoiWnZvbHRlIHByb3PDrW0gbsSba3Rlcm91IG1vxb5ub3N0LiIsRmlsZU1pc3Npbmc6IlZ5YmVydGUgcHJvc8OtbSBzb3Vib3IuIixTZWxlY3RNaXNzaW5nOiJadm9sdGUgcHJvc8OtbSBuxJtrdGVyb3UgcG9sb8W+a3UgdiBzZXpuYW11LiIsSW52YWxpZEVtYWlsOiJWbG/FvnRlIHByb3PDrW0gcGxhdG5vdSBlLW1haWxvdm91IGFkcmVzdS4iLEludmFsaWRVUkw6IlZsb8W+dGUgcHJvc8OtbSBwbGF0bm91IFVSTC4iLFBhdHRlcm5NaXNtYXRjaDoiVnlwbMWIdGUgcHJvc8OtbSBwb2xlIHYgcG/FvmFkb3ZhbsOpbSBmb3Jtw6F0dS4iLFBhdHRlcm5NaXNtYXRjaFdpdGhUaXRsZToiVnlwbMWIdGUgcHJvc8OtbSBwb2xlIHYgcG/FvmFkb3ZhbsOpbSBmb3Jtw6F0dTogJWwuIixOdW1iZXJSYW5nZU92ZXJmbG93OiJadm9sdGUgcHJvc8OtbSDEjcOtc2xvLCBrdGVyw6EgbmVuw60gdsSbdMWhw60gbmXFviAlbC4iLERhdGVSYW5nZU92ZXJmbG93OiJadm9sdGUgcHJvc8OtbSBkYXR1bSwga3RlcsOpIG5lbsOtIHBvemTEm2rFocOtIG5lxb4gJWwuIixUaW1lUmFuZ2VPdmVyZmxvdzoiWnZvbHRlIHByb3PDrW0gxI1hcywga3RlcsO9IG5lbsOtIHBvemTEm2rFocOtIG5lxb4gJWwuIixOdW1iZXJSYW5nZVVuZGVyZmxvdzoiWnZvbHRlIHByb3PDrW0gxI3DrXNsbywga3RlcsOpIG5lbsOtIG1lbsWhw60gbmXFviAlbC4iLERhdGVSYW5nZVVuZGVyZmxvdzoiWnZvbHRlIHByb3PDrW0gZGF0dW0sIGt0ZXLDqSBuZW7DrSBkxZnDrXbEm2rFocOtIG5lxb4gJWwuIixUaW1lUmFuZ2VVbmRlcmZsb3c6Ilp2b2x0ZSBwcm9zw61tIMSNYXMsIGt0ZXLDvSBuZW7DrSBkxZnDrXbEm2rFocOtIG5lxb4gJWwuIixTdGVwTWlzbWF0Y2g6Ilp2b2x0ZSBwcm9zw61tIHBsYXRub3UgaG9kbm90dS4gTmVqYmxpxb7FocOtIHBsYXRuw6kgaG9kbm90eSBqc291ICVsIGEgJWwuIixTdGVwTWlzbWF0Y2hPbmVWYWx1ZToiWnZvbHRlIHByb3PDrW0gcGxhdG5vdSBob2Rub3R1LiBOZWpibGnFvsWhw60gcGxhdG7DoSBob2Rub3RhIGplICVsLiIsQmFkSW5wdXROdW1iZXI6IlZsb8W+dGUgcHJvc8OtbSBwbGF0bsOpIMSNw61zbG8uIiwiUGxlYXNlIG1hdGNoIHRoZSByZXF1ZXN0ZWQgdHlwZS4iOiJWeXBsxYh0ZSBwcm9zw61tIHbFoWVjaG5hIHBvxb5hZG92YW7DoSBwb2xlLiIsIlBsZWFzZSBjb21wbHkgd2l0aCBhbGwgcmVxdWlyZW1lbnRzLiI6IlDFmWkgdnlwbMWIb3bDoW7DrSBqZSBudXRuw6kgZG9kcsW+ZXQgdsWhZWNobnkgcG/FvmFkYXZreS4iLCJQbGVhc2UgbGVuZ3RoZW4gdGhpcyB0ZXh0IHRvICVsIGNoYXJhY3RlcnMgb3IgbW9yZSAoeW91IGFyZSBjdXJyZW50bHkgdXNpbmcgJWwgY2hhcmFjdGVycykuIjoiWnbEm3TFoWV0ZSBwcm9zw61tIHRlbnRvIHRleHQgbmEgJWwgem5ha8WvIG5lYm8gdsOtY2UgKHbDocWhIHRleHQgbcOhIG1vbWVudMOhbG7EmyAlbCB6bmFrxa8pLiIsIlBsZWFzZSB1c2UgdGhlIGFwcHJvcHJpYXRlIGZvcm1hdC4iOiJQb3XFvmlqdGUgcHJvc8OtbSBzcHLDoXZuw70gZm9ybcOhdC4iLCJQbGVhc2UgZW50ZXIgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBlbWFpbCBhZGRyZXNzZXMuIjoiWmFkZWp0ZSBwcm9zw61tIHNlem5hbSBlLW1haWxvdsO9Y2ggYWRyZXMgb2RkxJtsZW7DvWNoIMSNw6Fya291LiIsIlBsZWFzZSBzZWxlY3QgYSBmaWxlIG9mIHRoZSBjb3JyZWN0IHR5cGUuIjoiWnZvbHRlIHByb3PDrW0gc3Byw6F2bsO9IHR5cCBzb3Vib3J1LiIsIlBsZWFzZSBzZWxlY3Qgb25lIG9yIG1vcmUgZmlsZXMuIjoiWnZvbHRlIHByb3PDrW0gamVkZW4gbmVibyB2w61jZSBzb3Vib3LFry4ifSksaHlwZXJmb3JtLnNldExhbmd1YWdlKCJjcyIpfSwzNzQ5NzpmdW5jdGlvbigpe2h5cGVyZm9ybS5hZGRUcmFuc2xhdGlvbigiZGEiLHtUZXh0VG9vTG9uZzoiQmVncsOmbnMgdGVrc3RlbiB0aWwgJWwgdGVnbiBlbGxlciBmw6ZycmUgKGR1IGJydWdlciBpIMO4amVibGlra2V0ICVsIHRlZ24pLiIsVGV4dFRvb1Nob3J0OiJCcnVnIG1pbmRzdCAlbCB0ZWduIChpIMO4amVibGlra2V0IGJydWdlciBkdSBrdW4gJWwgdGVnbikuIixWYWx1ZU1pc3Npbmc6IlVkZnlsZCBkZXR0ZSBmZWx0LiIsQ2hlY2tib3hNaXNzaW5nOiJNYXJrZXIgZGV0dGUgZmVsdCwgaHZpcyBkdSDDuG5za2VyIGF0IGZvcnRzw6Z0dGUuIixSYWRpb01pc3Npbmc6IlbDpmxnIGVuIGFmIGRlIGdpdm5lIG11bGlnaGVkZXIuIixGaWxlTWlzc2luZzoiVsOmbGcgZW4gZmlsLiIsU2VsZWN0TWlzc2luZzoiVsOmbGcgZXQgZW1uZSBmcmEgbGlzdGVuLiIsSW52YWxpZEVtYWlsOiJJbmR0YXN0IGVuIG1haWxhZHJlc3NlLiIsSW52YWxpZFVSTDoiSW5kdGFzdCBlbiBhZHJlc3NlLiIsUGF0dGVybk1pc21hdGNoOiJPcGZ5bGQgZGV0IGZvcnNwdXJndGUgZm9ybWF0LiIsUGF0dGVybk1pc21hdGNoV2l0aFRpdGxlOiJPcGZ5bGQgZGV0IGZvcnNwdXJndGUgZm9ybWF0OiAlbC4iLE51bWJlclJhbmdlT3ZlcmZsb3c6IlbDpmxnIGVuIHbDpnJkaSwgZGVyIGlra2UgZXIgc3TDuHJyZSBlbmQgJWwuIixEYXRlUmFuZ2VPdmVyZmxvdzoiVsOmbGcgZW4gZGF0bywgZGVyIGlra2Uga29tbWVyIGVmdGVyICVsLiIsVGltZVJhbmdlT3ZlcmZsb3c6IlbDpmxnIGV0IGtsb2trZXNsw6Z0LCBkZXIgaWtrZSBlciBzZW5lcmUgZW5kICVsLiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6IlbDpmxnIGVuIHbDpnJkaSwgZGVyIGlra2UgZXIgbWluZHJlIGVuZCAlbC4iLERhdGVSYW5nZVVuZGVyZmxvdzoiVsOmbGcgZW4gZGF0bywgZGVyIGlra2Uga29tbWVyIGbDuHIgJWwuIixUaW1lUmFuZ2VVbmRlcmZsb3c6IlbDpmxnIGV0IGtsb2trZXNsw6Z0LCBkZXIgaWtrZSBlciB0aWRsaWdlcmUgZW5kICVsLiIsU3RlcE1pc21hdGNoOiJWw6ZsZyBlbiBneWxkaWcgdsOmcmRpLiBEZSB0byBuw6ZybWVzdGUgZ3lsZGlnZSB2w6ZyZGllciBlciAlbCBvZyAlbC4iLFN0ZXBNaXNtYXRjaE9uZVZhbHVlOiJWw6ZsZyBlbiBneWxkaWcgdsOmcmRpLiBEZW4gbsOmcm1lc3RlIGd5bGRpZ2UgdsOmcmRpIGVyICVsLiIsQmFkSW5wdXROdW1iZXI6IkluZHRhc3QgZXQgdGFsLiJ9KSxoeXBlcmZvcm0uc2V0TGFuZ3VhZ2UoImRhIil9LDgzNzMzOmZ1bmN0aW9uKCl7aHlwZXJmb3JtLmFkZFRyYW5zbGF0aW9uKCJkZSIse1RleHRUb29Mb25nOiJCaXR0ZSBrw7xyemVuIFNpZSBkaWVzZW4gVGV4dCBhdWYgbWF4aW1hbCAlbCBaZWljaGVuIChTaWUgdmVyd2VuZGVuIGRlcnplaXQgJWwgWmVpY2hlbikuIixUZXh0VG9vU2hvcnQ6IkJpdHRlIHZlcndlbmRlbiBTaWUgenVtaW5kZXN0ICVsIFplaWNoZW4gKFNpZSB2ZXJ3ZW5kZW4gZGVyemVpdCAlbCBaZWljaGVuKS4iLFZhbHVlTWlzc2luZzoiQml0dGUgZsO8bGxlbiBTaWUgZGllc2VzIEZlbGQgYXVzLiIsQ2hlY2tib3hNaXNzaW5nOiJCaXR0ZSBrbGlja2VuIFNpZSBkaWVzZXMgS8Okc3RjaGVuIGFuLCB3ZW5uIFNpZSBmb3J0c2V0emVuIHdvbGxlbi4iLFJhZGlvTWlzc2luZzoiQml0dGUgd8OkaGxlbiBTaWUgZWluZSBkaWVzZXIgT3B0aW9uZW4uIixGaWxlTWlzc2luZzoiQml0dGUgd8OkaGxlbiBTaWUgZWluZSBEYXRlaS4iLFNlbGVjdE1pc3Npbmc6IkJpdHRlIHfDpGhsZW4gU2llIGVpbmVuIEVpbnRyYWcgaW4gZGVyIExpc3RlLiIsSW52YWxpZEVtYWlsOiJCaXR0ZSBnZWJlbiBTaWUgZWluZSBFLU1haWwtQWRyZXNzZSBlaW4uIixJbnZhbGlkVVJMOiJCaXR0ZSBnZWJlbiBTaWUgZWluZSBJbnRlcm5ldGFkcmVzc2UgZWluLiIsUGF0dGVybk1pc21hdGNoOiJCaXR0ZSBoYWx0ZW4gU2llIHNpY2ggYW4gZGFzIHZvcmdlZ2ViZW5lIEZvcm1hdC4iLFBhdHRlcm5NaXNtYXRjaFdpdGhUaXRsZToiQml0dGUgaGFsdGVuIFNpZSBzaWNoIGFuIGRhcyB2b3JnZWdlYmVuZSBGb3JtYXQ6ICVsLiIsTnVtYmVyUmFuZ2VPdmVyZmxvdzoiQml0dGUgd8OkaGxlbiBTaWUgZWluZW4gV2VydCwgZGVyIG5pY2h0IGdyw7bDn2VyIGlzdCBhbHMgJWwuIixEYXRlUmFuZ2VPdmVyZmxvdzoiQml0dGUgd8OkaGxlbiBTaWUgZWluZW4gV2VydCwgZGVyIG5pY2h0IHNww6R0ZXIgaXN0IGFscyAlbC4iLFRpbWVSYW5nZU92ZXJmbG93OiJCaXR0ZSB3w6RobGVuIFNpZSBlaW5lbiBXZXJ0LCBkZXIgbmljaHQgc3DDpHRlciBpc3QgYWxzICVsLiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6IkJpdHRlIHfDpGhsZW4gU2llIGVpbmVuIFdlcnQsIGRlciBuaWNodCBrbGVpbmVyIGlzdCBhbHMgJWwuIixEYXRlUmFuZ2VVbmRlcmZsb3c6IkJpdHRlIHfDpGhsZW4gU2llIGVpbmVuIFdlcnQsIGRlciBuaWNodCBmcsO8aGVyIGlzdCBhbHMgJWwuIixUaW1lUmFuZ2VVbmRlcmZsb3c6IkJpdHRlIHfDpGhsZW4gU2llIGVpbmVuIFdlcnQsIGRlciBuaWNodCBmcsO8aGVyIGlzdCBhbHMgJWwuIixTdGVwTWlzbWF0Y2g6IkJpdHRlIHfDpGhsZW4gU2llIGVpbmVuIGfDvGx0aWdlbiBXZXJ0LiBEaWUgendlaSBuw6RoZXN0ZW4gZ8O8bHRpZ2VuIFdlcnRlIHNpbmQgJWwgdW5kICVsLiIsU3RlcE1pc21hdGNoT25lVmFsdWU6IkJpdHRlIHfDpGhsZW4gU2llIGVpbmVuIGfDvGx0aWdlbiBXZXJ0LiBEZXIgbsOkaGVzdGUgZ8O8bHRpZ2UgV2VydCBpc3QgJWwuIixCYWRJbnB1dE51bWJlcjoiQml0dGUgZ2ViZW4gU2llIGVpbmUgTnVtbWVyIGVpbi4iLCJQbGVhc2UgbWF0Y2ggdGhlIHJlcXVlc3RlZCB0eXBlLiI6IkJpdHRlIHBhc3NlbiBTaWUgZGllIEVpbmdhYmUgZGVtIGdlZm9yZGVydGVuIFR5cCBhbi4iLCJQbGVhc2UgY29tcGx5IHdpdGggYWxsIHJlcXVpcmVtZW50cy4iOiJCaXR0ZSBlcmbDvGxsZW4gU2llIGFsbGUgQW5mb3JkZXJ1bmdlbi4iLCJQbGVhc2UgbGVuZ3RoZW4gdGhpcyB0ZXh0IHRvICVsIGNoYXJhY3RlcnMgb3IgbW9yZSAoeW91IGFyZSBjdXJyZW50bHkgdXNpbmcgJWwgY2hhcmFjdGVycykuIjoiQml0dGUgdmVybMOkbmdlcm4gU2llIGRpZXNlbiBUZXh0IGF1ZiBtaW5kZXN0ZW5zICVsIFplaWNoZW4gKFNpZSB2ZXJ3ZW5kZW4gZGVyemVpdCAlbCBaZWljaGVuKS4iLCJQbGVhc2UgdXNlIHRoZSBhcHByb3ByaWF0ZSBmb3JtYXQuIjoiQml0dGUgdmVyd2VuZGVuIFNpZSBkYXMgcGFzc2VuZGUgRm9ybWF0LiIsIlBsZWFzZSBlbnRlciBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGVtYWlsIGFkZHJlc3Nlcy4iOiJCaXR0ZSBnZWJlbiBTaWUgZWluZSBrb21tYS1nZXRyZW5udGUgTGlzdGUgdm9uIEUtTWFpbC1BZHJlc3NlbiBhbi4iLCJQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvZiB0aGUgY29ycmVjdCB0eXBlLiI6IkJpdHRlIHfDpGhsZW4gU2llIGVpbmUgRGF0ZWkgdm9tIGtvcnJla3RlbiBUeXAuIiwiUGxlYXNlIHNlbGVjdCBvbmUgb3IgbW9yZSBmaWxlcy4iOiJCaXR0ZSB3w6RobGVuIFNpZSBlaW5lIG9kZXIgbWVocmVyZSBEYXRlaWVuLiIsImFueSB2YWx1ZSI6ImplZGVyIFdlcnQiLCJhbnkgdmFsaWQgdmFsdWUiOiJqZWRlciBnw7xsdGlnZSBXZXJ0In0pLGh5cGVyZm9ybS5zZXRMYW5ndWFnZSgiZGUiKX0sMzYyNzpmdW5jdGlvbigpe2h5cGVyZm9ybS5hZGRUcmFuc2xhdGlvbigiZWwiLHtUZXh0VG9vTG9uZzoizqDOsc+BzrHOus6xzrvPjiDPg8+Fzr3PhM6/zrzOtc+Nz4PPhM61IM6xz4XPhM+MIM+Ezr8gzrrOtc6vzrzOtc69zr8gz4POtSAlbCDOriDOu865zrPPjM+EzrXPgc6/z4XPgiDPh86xz4HOsc66z4TOrs+BzrXPgiAoz4TPjs+BzrEgz4fPgc63z4POuc68zr/PgM6/zrnOtc6vz4TOtSAlbCkuIixUZXh0VG9vU2hvcnQ6Is6gzrHPgc6xzrrOsc67z44gz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSDPhM6/z4XOu86sz4fOuc+Dz4TOv869ICVsIM+HzrHPgc6xzrrPhM6uz4HOtc+CICjPhM+Oz4HOsSwgz4fPgc63z4POuc68zr/PgM6/zrnOtc6vz4TOtSAlbCDPh86xz4HOsc66z4TOrs+BzrXPgikuIixWYWx1ZU1pc3Npbmc6Is6gzrHPgc6xzrrOsc67z44gz4PPhc68z4DOu863z4HPjs+Dz4TOtSDOsc+Fz4TPjCDPhM6/IM+AzrXOtM6vzr8uIixDaGVja2JveE1pc3Npbmc6Is6gzrHPgc6xzrrOsc67z44gzrXPgM65zrvOrc6+z4TOtSDOsc+Fz4TPjCDPhM6/IM66zr/Phc+Ezq8gzrHOvSDOuM6tzrvOtc+EzrUgzr3OsSDPg8+Fzr3Otc+Hzq/Pg861z4TOtS4iLFJhZGlvTWlzc2luZzoizpXPgM65zrvOrc6+z4TOtSDOrc69zrEgzrHPgM+MIM+EzrEgz4DOsc+BzrHOus6sz4TPiS4iLEZpbGVNaXNzaW5nOiLOoM6xz4HOsc66zrHOu8+OIM61z4DOuc67zq3Ovs+EzrUgzq3Ovc6xIM6xz4HPh861zq/Ovy4iLFNlbGVjdE1pc3Npbmc6Is6gzrHPgc6xzrrOsc67z44gzrXPgM65zrvOrc6+z4TOtSDOrc69zrEgzrHOvc+EzrnOus61zq/OvM61zr3OvyDPg8+EzrcgzrvOr8+Dz4TOsS4iLEludmFsaWRFbWFpbDoizqDOsc+BzrHOus6xzrvPjiDOtc65z4POrM6zzrXPhM61IM68zrnOsSDOtM65zrXPjc64z4XOvc+DzrcgZW1haWwuIixJbnZhbGlkVVJMOiLOoM6xz4HOsc66zrHOu8+OIM61zrnPg86szrPOtc+EzrUgzq3Ovc6xIFVSTC4iLEludmFsaWREYXRlOiLOoM6xz4HOsc66zrHOu8+OIM61zrnPg86szrPOtc+EzrUgzrzOuc6xIM6tzrPOus+Fz4HOtyDOt868zrXPgc6/zrzOt869zq/OsS4iLFBhdHRlcm5NaXNtYXRjaDoizqDOsc+BzrHOus6xzrvPjiDOvc6xIM+EzrHOuc+BzrnOrM62zrXOuSDPg8+EzrfOvSDOsc+AzrHOuc+Ezr/Pjc68zrXOvc63IM68zr/Pgc+Gzq4uIixQYXR0ZXJuTWlzbWF0Y2hXaXRoVGl0bGU6Is6gzrHPgc6xzrrOsc67z44gzr3OsSDPhM6xzrnPgc65zqzOts61zrkgz4PPhM63zr0gzrHPgM6xzrnPhM6/z43OvM61zr3OtyDOvM6/z4HPhs6uOiAlbC4iLE51bWJlclJhbmdlT3ZlcmZsb3c6Is6gzrHPgc6xzrrOsc67z44gzrXPgM65zrvOrc6+z4TOtSDPhM65zrzOriDPjM+HzrkgzrzOtc6zzrHOu8+Nz4TOtc+BzrcgzrHPgM+MICVsLiIsRGF0ZVRpbWVSYW5nZU92ZXJmbG93OiLOoM6xz4HOsc66zrHOu8+OIM61z4DOuc67zq3Ovs+EzrUgzrzOuc6xIM+EzrnOvM6uIM+Azr/PhSDOvc6xIM68zrfOvSDOtc6vzr3Osc65IM68zrXPhM6sIM+Ezr8gJWwuIixOdW1iZXJSYW5nZVVuZGVyZmxvdzoizqDOsc+BzrHOus6xzrvPjiDOtc+AzrnOu86tzr7PhM61IM+EzrnOvM6uIM+Mz4fOuSDOvM65zrrPgc+Mz4TOtc+BzrcgzrHPgM+MICVsLiIsRGF0ZVRpbWVSYW5nZVVuZGVyZmxvdzoizqDOsc+BzrHOus6xzrvPjiDOtc+AzrnOu86tzr7PhM61IM68zrnOsSDPhM65zrzOriDPgM6/z4Ugzr3OsSDOvM63zr0gzrXOr869zrHOuSDPgM+BzrnOvSDPhM6/ICVsLiIsU3RlcE1pc21hdGNoOiLOoM6xz4HOsc66zrHOu8+OIM61z4DOuc67zq3Ovs+EzrUgzrzOuc6xIM6tzrPOus+Fz4HOtyDPhM65zrzOri4gzp/OuSDOtM+Nzr8gz4DOu863z4POuc6tz4PPhM61z4HOtc+CIM6tzrPOus+Fz4HOtc+CIM+EzrnOvM6tz4IgzrXOr869zrHOuSAlbCDOus6xzrkgJWwuIixTdGVwTWlzbWF0Y2hPbmVWYWx1ZToizqDOsc+BzrHOus6xzrvPjiDOtc+AzrnOu86tzr7PhM61IM68zrnOsSDOrc6zzrrPhc+Bzrcgz4TOuc68zq4uIM6XIM+AzrvOt8+DzrnOrc+Dz4TOtc+Bzrcgzq3Os866z4XPgc63IM+EzrnOvM6uIM61zq/Ovc6xzrkgJWwuIixCYWRJbnB1dE51bWJlcjoizqDOsc+BzrHOus6xzrvPjiDOtc65z4POrM6zzrXPhM61IM6tzr3Osc69IM6xz4HOuc64zrzPjC4ifSksaHlwZXJmb3JtLnNldExhbmd1YWdlKCJlbCIpfSw4NDQwNDpmdW5jdGlvbigpe2h5cGVyZm9ybS5hZGRUcmFuc2xhdGlvbigiZXMtRVMiLHtUZXh0VG9vTG9uZzoiUmVkdXpjYSBlc3RlIHRleHRvIGEgJWwgY2FyYWN0ZXJlcyBvIG1lbm9zIChhY3R1YWxtZW50ZSBlc3TDoSB1c2FuZG8gJWwgY2FyYWN0ZXJlcykuIixUZXh0VG9vU2hvcnQ6IlVzZSBhbCBtZW5vcyAlbCBjYXJhY3RlcmVzIChhY3R1YWxtZW50ZSBlc3TDoSB1c2FuZG8gJWwgY2FyYWN0ZXJlcykuIixWYWx1ZU1pc3Npbmc6IlJlbGxlbmUgZXN0ZSBjYW1wby4iLENoZWNrYm94TWlzc2luZzoiTWFycXVlIGVzdGEgY2FzaWxsYSBzaSBkZXNlYSBjb250aW51YXIuIixSYWRpb01pc3Npbmc6IlNlbGVjY2lvbmUgdW5hIGRlIGVzdGFzIG9wY2lvbmVzLiIsRmlsZU1pc3Npbmc6IlNlbGVjY2lvbmUgdW4gYXJjaGl2by4iLFNlbGVjdE1pc3Npbmc6IlNlbGVjY2lvbmUgdW4gZWxlbWVudG8gZGUgbGEgbGlzdGEuIixJbnZhbGlkRW1haWw6IkludHJvZHV6Y2EgdW5hIGRpcmVjY2nDs24gZGUgY29ycmVvLiIsSW52YWxpZFVSTDoiSW50cm9kdXpjYSB1bmEgVVJMLiIsUGF0dGVybk1pc21hdGNoOiJBasO6c3Rlc2UgYWwgZm9ybWF0byBzb2xpY2l0YWRvLiIsUGF0dGVybk1pc21hdGNoV2l0aFRpdGxlOiJBasO6c3Rlc2UgYWwgZm9ybWF0byBzb2xpY2l0YWRvOiAlbC4iLE51bWJlclJhbmdlT3ZlcmZsb3c6IlNlbGVjY2lvbmUgdW4gdmFsb3IgcXVlIG5vIHNlYSBtYXlvciBkZSAlbC4iLERhdGVSYW5nZU92ZXJmbG93OiJTZWxlY2Npb25lIHVuIHZhbG9yIHF1ZSBubyBzZWEgcG9zdGVyaW9yIGEgJWwuIixUaW1lUmFuZ2VPdmVyZmxvdzoiU2VsZWNjaW9uZSB1biB2YWxvciBxdWUgbm8gc2VhIHBvc3RlcmlvciBhICVsLiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6IlNlbGVjY2lvbmUgdW4gdmFsb3IgcXVlIG5vIHNlYSBtZW5vciBkZSAlbC4iLERhdGVSYW5nZVVuZGVyZmxvdzoiU2VsZWNjaW9uZSB1biB2YWxvciBxdWUgbm8gc2VhIGFudGVyaW9yIGEgJWwuIixUaW1lUmFuZ2VVbmRlcmZsb3c6IlNlbGVjY2lvbmUgdW4gdmFsb3IgcXVlIG5vIHNlYSBhbnRlcmlvciBhICVsLiIsU3RlcE1pc21hdGNoOiJTZWxlY2Npb25lIHVuIHZhbG9yIHbDoWxpZG8uIExvcyBkb3MgdmFsb3JlcyB2w6FsaWRvcyBtw6FzIGNlcmNhbm9zIHNvbiAlbCB5ICVsLiIsU3RlcE1pc21hdGNoT25lVmFsdWU6IlNlbGVjY2lvbmUgdW4gdmFsb3IgdsOhbGlkby4gRWwgdmFsb3IgdsOhbGlkbyBtw6FzIGNlcmNhbm8gZXMgJWwuIixCYWRJbnB1dE51bWJlcjoiSW50cm9kdXpjYSB1biBuw7ptZXJvLiJ9KSxoeXBlcmZvcm0uc2V0TGFuZ3VhZ2UoImVzLUVTIil9LDc2Njg5OmZ1bmN0aW9uKCl7aHlwZXJmb3JtLmFkZFRyYW5zbGF0aW9uKCJmYSIse1RleHRUb29Mb25nOiLYrdiv2Kfaqdir2LEg2KrYudiv2KfYryDaqdin2LHYp9qp2KrYsSDZgtin2KjZhCDYr9ix2KzYjCAlbCDZhduMINio2KfYtNivLiDYtNmF2KcgJWwg2qnYp9ix2Kfaqdiq2LEg2YjYp9ix2K8g2YbZhdmI2K/ZhyDYp9uM2K8uIixWYWx1ZU1pc3Npbmc6Itin24zZhiDZhdmC2K/Yp9ixINio2KfbjNivINit2KrZhdin2ZIg2YjYp9ix2K8g2LTZiNivLiIsQ2hlY2tib3hNaXNzaW5nOiLYr9ixINi12YjYsdiq24wg2qnZhyDZgti12K8g2KfYr9in2YXZhyDYr9in2LHbjNiv2Iwg2KfbjNmGINiq24zaqSDYsdinINmG2LTYp9mG2Ycg2K/Yp9ixINqp2YbbjNivICjYqtuM2qkg2KjYstmG24zYrykuIixSYWRpb01pc3Npbmc6ItmE2LfZgdin2ZIg24zaqduMINin2LIg2KfbjNmGINqv2LLbjNmG2Ycg2YfYpyDYsdinINin2YbYqtiu2KfYqCDZhtmF2KfbjNuM2K8uIixGaWxlTWlzc2luZzoi2YTYt9mB2KfZkiDZgdin24zZhNuMINix2Kcg2KfZhtiq2K7Yp9ioINmG2YXYp9uM24zYry4iLFNlbGVjdE1pc3Npbmc6ItmE2LfZgdin2ZIg24zaqSDZhdmI2LHYryDYp9iyINmE24zYs9iqINin2YbYqtiu2KfYqCDZhtmF2KfbjNuM2K8uIixJbnZhbGlkRW1haWw6ItmE2LfZgdin2ZIg2KLYr9ix2LMg2KfbjNmF24zZhCDYsdinINio2Ycg2K/Ysdiz2KrbjCDZiNin2LHYryDZhtmF2KfbjNuM2K8uIixJbnZhbGlkVVJMOiLZhNi32YHYp9mSINuM2qkg2KLYr9ix2LMgKFVSTCkg2K/Ysdiz2Kog2YjYp9ix2K8g2YbZhdin24zbjNivLiIsUGF0dGVybk1pc21hdGNoOiLZhNi32YHYp9mSINi32KjZgiDZgtin2YTYqCDYr9ix2K7ZiNin2LPYqtuMINmI2KfYsdivINmG2YXYp9uM24zYry4iLFBhdHRlcm5NaXNtYXRjaFdpdGhUaXRsZToi2YTYt9mB2KfZkiDYqNixINin2LPYp9izINmC2KfZhNioINix2YjYqNix2Ygg2YjYp9ix2K8g2YbZhdin24zbjNivOiAlbC4iLE51bWJlclJhbmdlT3ZlcmZsb3c6Itit2K/Yp9qp2KvYsSDZhdmC2K/Yp9ixINmC2KfYqNmEINm+2LDbjNix2LTYjCAlbCDZhduMINio2KfYtNivLiIsRGF0ZVJhbmdlT3ZlcmZsb3c6Itit2K/Yp9qp2KvYsSDYqtin2LHbjNiuINmC2KfYqNmEINm+2LDbjNix2LTYjCAlbCDZhduMINio2KfYtNivLiIsVGltZVJhbmdlT3ZlcmZsb3c6Itit2K/Yp9qp2KvYsSDYstmF2KfZhiDZgtin2KjZhCDZvtiw24zYsdi02IwgJWwg2YXbjCDYqNin2LTYry4iLE51bWJlclJhbmdlVW5kZXJmbG93OiLYrdiv2KfZgtmEINmF2YLYr9in2LEg2YLYp9io2YQg2b7YsNuM2LHYtCAlbCDZhduMINio2KfYtNivLiIsRGF0ZVJhbmdlVW5kZXJmbG93OiLYrdiv2KfZgtmEINiq2KfYsduM2K4g2YLYp9io2YQg2b7YsNuM2LHYtCAlbCDZhduMINio2KfYtNivLiIsVGltZVJhbmdlVW5kZXJmbG93OiLYrdiv2KfZgtmEINiy2YXYp9mGINmC2KfYqNmEINm+2LDbjNix2LQgJWwg2YXbjCDYqNin2LTYry4iLFN0ZXBNaXNtYXRjaDoi2YTYt9mB2KfZkiDZhdmC2K/Yp9ixINiv2LHYs9iqINix2Kcg2YjYp9ix2K8g2YbZhdin24zbjNivLiDZhtiy2K/bjNqpINiq2LHbjNmGINmF2YLYr9in2LHZh9in24wg2YLYp9io2YQg2b7YsNuM2LHYtCAlbCDZiCAlbCDZhduMINio2KfYtNivLiIsU3RlcE1pc21hdGNoT25lVmFsdWU6ItmE2LfZgdin2ZIg2YXZgtiv2KfYsSDYr9ix2LPYqiDYsdinINmI2KfYsdivINmG2YXYp9uM24zYry4g2YbYstiv24zaqSDYqtix24zZhiDZhdmC2K/Yp9ixINmC2KfYqNmEINm+2LDbjNix2LQgJWwg2YXbjCDYqNin2LTYry4iLEJhZElucHV0TnVtYmVyOiLYqtmG2YfYpyDZiNix2YjYr9uMINi52K/Yr9uMINmC2KfYqNmEINm+2LDbjNix2LQg2KfYs9iqLiJ9KSxoeXBlcmZvcm0uc2V0TGFuZ3VhZ2UoImZhIil9LDYzNTMxOmZ1bmN0aW9uKCl7aHlwZXJmb3JtLmFkZFRyYW5zbGF0aW9uKCJmaSIse1RleHRUb29Mb25nOiJMeWhlbm7DpCBrZW50w6RuIHRla3N0aSAlbCBtZXJra2lpbiB0YWkgdsOkaGVtcMOkw6RuIChueXQga8OkeXTDtnNzw6QgJWwgbWVya2tpw6QpLiIsVmFsdWVNaXNzaW5nOiJUw6R5dMOkIHTDpG3DpCBrZW50dMOkLiIsQ2hlY2tib3hNaXNzaW5nOiJWYWxpdHNlIHTDpG3DpCBrb2h0YSBqb3MgaGFsdWF0IGphdGthYS4iLFJhZGlvTWlzc2luZzoiVmFsaXRzZSB5a3NpIHZhaWh0b2VoZG9pc3RhLiIsRmlsZU1pc3Npbmc6IlZhbGl0c2UgdGllZG9zdG8uIixTZWxlY3RNaXNzaW5nOiJWYWxpdHNlIGtvaHRhIGxpc3RhbHRhLiIsSW52YWxpZEVtYWlsOiJLaXJqb2l0YSBrZWx2b2xsaW5lbiBzw6Roa8O2cG9zdGlvc29pdGUuIixJbnZhbGlkVVJMOiJLaXJqb2l0YSBvc29pdGUuIixQYXR0ZXJuTWlzbWF0Y2g6IkFubmEgYXJ2byBweXlkZXR5c3PDpCBtdW9kb3NzYS4iLFBhdHRlcm5NaXNtYXRjaFdpdGhUaXRsZToiQW5uYSBhcnZvIHB5eWRldHlzc8OkIG11b2Rvc3NhOiAlbC4iLE51bWJlclJhbmdlT3ZlcmZsb3c6IlZhbGl0c2UgYXJ2bywgam9rYSBvbiBlbmludMOkw6RuICVsLiIsRGF0ZVJhbmdlT3ZlcmZsb3c6IlZhbGl0c2UgYXJ2bywgam9rYSBvbiBlbmludMOkw6RuICVsLiIsVGltZVJhbmdlT3ZlcmZsb3c6IlZhbGl0c2UgYXJ2bywgam9rYSBvbiBlbmludMOkw6RuICVsLiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6IlZhbGl0c2UgYXJ2bywgam9rYSB2w6RoaW50w6TDpG4gJWwuIixEYXRlUmFuZ2VVbmRlcmZsb3c6IlZhbGl0c2UgYXJ2bywgam9rYSBvbiB2w6RoaW50w6TDpG4gJWwuIixUaW1lUmFuZ2VVbmRlcmZsb3c6IlZhbGl0c2UgYXJ2bywgam9rYSBvbiB2w6RoaW50w6TDpG4gJWwuIixTdGVwTWlzbWF0Y2g6IlZhbGl0c2Uga2Vsdm9sbGluZW4gYXJ2by4gS2Frc2kgbMOkaGludMOkIGtlbHZvbGxpc3RhIGFydm9hIG92YXQgJWwgamEgJWwuIixTdGVwTWlzbWF0Y2hPbmVWYWx1ZToiVmFsaXRzZSBrZWx2b2xsaW5lbiBhcnZvLiBMw6RoaW4ga2Vsdm9sbGluZW4gYXJ2byBvbiAlbC4iLEJhZElucHV0TnVtYmVyOiJLaXJqb2l0YSBsdWt1LiIsIlBsZWFzZSBtYXRjaCB0aGUgcmVxdWVzdGVkIHR5cGUuIjoiT2xlIGh5dsOkIGphIHZhc3RhYSBweXlkZXR5bGzDpCB0eXlwaWxsw6QuIiwiUGxlYXNlIGNvbXBseSB3aXRoIGFsbCByZXF1aXJlbWVudHMuIjoiT2xlIGh5dsOkIGphIG5vdWRhdGEga2Fpa2tpYSB2YWF0aW11a3NpYS4iLCJQbGVhc2UgbGVuZ3RoZW4gdGhpcyB0ZXh0IHRvICVsIGNoYXJhY3RlcnMgb3IgbW9yZSAoeW91IGFyZSBjdXJyZW50bHkgdXNpbmcgJWwgY2hhcmFjdGVycykuIjoiUGlkZW5uw6QgdMOkbcOkIHRla3N0acOkICVsIG1lcmtpbGzDpCB0YWkgdXNlYW1tYWxsYSAobnl0IG9uIGvDpHl0w7Zzc8OkICVsIG1lcmtracOkKS4iLCJQbGVhc2UgdXNlIHRoZSBhcHByb3ByaWF0ZSBmb3JtYXQuIjoiT2xlIGh5dsOkIGphIGvDpHl0w6Qgc29waXZhYSBtdW90b2EuIiwiUGxlYXNlIGVudGVyIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZW1haWwgYWRkcmVzc2VzLiI6Ik9sZSBoeXbDpCBqYSBhbm5hIHBpbGt1aWxsYSBlcm90ZXR0dSBsaXN0YSBzw6Roa8O2cG9zdGlvc29pdHRlaXN0YS4iLCJQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvZiB0aGUgY29ycmVjdCB0eXBlLiI6Ik9sZSBoeXbDpCBqYSB2YWxpdHNlIG9pa2VhYSB0eXlwcGnDpCB2YXN0YWF2YSB0aWVkb3N0by4iLCJQbGVhc2Ugc2VsZWN0IG9uZSBvciBtb3JlIGZpbGVzLiI6Ik9sZSBoeXbDpCBqYSB2YWxpdHNlIHlrc2kgdGFpIHVzZWFtcGkgdGllZG9zdG8uIn0pLGh5cGVyZm9ybS5zZXRMYW5ndWFnZSgiZmkiKX0sMTk1ODM6ZnVuY3Rpb24oKXtoeXBlcmZvcm0uYWRkVHJhbnNsYXRpb24oImZyIix7VGV4dFRvb0xvbmc6IlZldWlsbGV6IHJhY2NvdXJjaXIgY2UgY2hhbXAgw6AgJWwgY2FyYWN0w6hyZXMgb3UgbW9pbnMgKHZvdXMgdXRpbGlzZXogYWN0dWVsbGVtZW50ICVsIGNhcmFjdMOocmVzKS4iLFRleHRUb29TaG9ydDoiVmV1aWxsZXogdXRpbGlzZXIgYXUgbW9pbnMgJWwgY2FyYWN0w6hyZXMgcG91ciBjZSBjaGFtcCAodm91cyB1dGlsaXNleiBhY3R1ZWxsZW1lbnQgJWwgY2FyYWN0w6hyZXMpLiIsVmFsdWVNaXNzaW5nOiJWZXVpbGxleiBjb21wbMOpdGVyIGNlIGNoYW1wLiIsQ2hlY2tib3hNaXNzaW5nOiJWZXVpbGxleiBjb2NoZXIgY2V0dGUgY2FzZSBzaSB2b3VzIGTDqXNpcmV6IHBvdXJzdWl2cmUuIixSYWRpb01pc3Npbmc6IlZldWlsbGV6IHPDqWxlY3Rpb25uZXIgbOKAmXVuZSBkZSBjZXMgb3B0aW9ucy4iLEZpbGVNaXNzaW5nOiJWZXVpbGxleiBzw6lsZWN0aW9ubmVyIHVuIGZpY2hpZXIuIixTZWxlY3RNaXNzaW5nOiJWZXVpbGxleiBzw6lsZWN0aW9ubmVyIHVuIMOpbMOpbWVudCBkZSBsYSBsaXN0ZS4iLEludmFsaWRFbWFpbDoiVmV1aWxsZXogc2Fpc2lyIHVuZSBhZHJlc3NlIMOpbGVjdHJvbmlxdWUgdmFsaWRlLiIsSW52YWxpZFVSTDoiVmV1aWxsZXogc2Fpc2lyIHVuZSBVUkwuIixQYXR0ZXJuTWlzbWF0Y2g6IlZldWlsbGV6IG1vZGlmaWVyIGxhIHZhbGV1ciBwb3VyIGNvcnJlc3BvbmRyZSBhdSBmb3JtYXQgZGVtYW5kw6kuIixQYXR0ZXJuTWlzbWF0Y2hXaXRoVGl0bGU6IlZldWlsbGV6IG1vZGlmaWVyIGxhIHZhbGV1ciBkdSBjaGFtcCBwb3VyIGNvcnJlc3BvbmRyZSBhdSBmb3JtYXQgZGVtYW5kw6nCoDogJWwuIixOdW1iZXJSYW5nZU92ZXJmbG93OiJWZXVpbGxleiBzw6lsZWN0aW9ubmVyIHVuZSB2YWxldXIgaW5mw6lyaWV1cmUgb3Ugw6lnYWxlIMOgICVsLiIsRGF0ZVJhbmdlT3ZlcmZsb3c6IlZldWlsbGV6IHPDqWxlY3Rpb25uZXIgdW5lIHZhbGV1ciBhbnTDqXJpZXVyZSBvdSDDqWdhbGUgw6AgJWwuIixUaW1lUmFuZ2VPdmVyZmxvdzoiVmV1aWxsZXogc8OpbGVjdGlvbm5lciB1bmUgdmFsZXVyIGFudMOpcmlldXJlIG91IMOpZ2FsZSDDoCAlbC4iLE51bWJlclJhbmdlVW5kZXJmbG93OiJWZXVpbGxleiBzw6lsZWN0aW9ubmVyIHVuZSB2YWxldXIgc3Vww6lyaWV1cmUgb3Ugw6lnYWxlIMOgICVsLiIsRGF0ZVJhbmdlVW5kZXJmbG93OiJWZXVpbGxleiBzw6lsZWN0aW9ubmVyIHVuZSB2YWxldXIgcG9zdMOpcmlldXJlIG91IMOpZ2FsZSDDoCAlbC4iLFRpbWVSYW5nZVVuZGVyZmxvdzoiVmV1aWxsZXogc8OpbGVjdGlvbm5lciB1bmUgdmFsZXVyIHBvc3TDqXJpZXVyZSBvdSDDqWdhbGUgw6AgJWwuIixTdGVwTWlzbWF0Y2g6IlZldWlsbGV6IHPDqWxlY3Rpb25uZXIgdW5lIHZhbGV1ciB2YWxpZGUuIExlcyBkZXV4IHZhbGV1cnMgdmFsaWRlcyBsZXMgcGx1cyBwcm9jaGVzIHNvbnQgJWwgZXQgJWwuIixTdGVwTWlzbWF0Y2hPbmVWYWx1ZToiVmV1aWxsZXogc8OpbGVjdGlvbm5lciB1bmUgdmFsZXVyIHZhbGlkZS4gTGEgdmFsZXVyIHZhbGlkZSBsYSBwbHVzIHByb2NoZSBlc3QgJWwuIixCYWRJbnB1dE51bWJlcjoiVmV1aWxsZXogc2Fpc2lyIHVuIG5vbWJyZS4iLCJQbGVhc2UgbWF0Y2ggdGhlIHJlcXVlc3RlZCB0eXBlLiI6IlZldWlsbGV6IHJlc3BlY3RlciBsZSB0eXBlIGRlIGNoYW1wIGRlbWFuZMOpLiIsIlBsZWFzZSBjb21wbHkgd2l0aCBhbGwgcmVxdWlyZW1lbnRzLiI6IlZldWlsbGV6IHJlc3BlY3RlciB0b3V0ZXMgbGVzIGNvbmRpdGlvbnMuIiwiUGxlYXNlIGxlbmd0aGVuIHRoaXMgdGV4dCB0byAlbCBjaGFyYWN0ZXJzIG9yIG1vcmUgKHlvdSBhcmUgY3VycmVudGx5IHVzaW5nICVsIGNoYXJhY3RlcnMpLiI6IlZldWlsbGV6IGFsbG9uZ2VyIGNlIHRleHRlIHBvdXIgYXR0ZWluZHJlICVsIGNhcmFjdMOocmVzIG91IHBsdXMgKHZvdXMgYXZleiDDqWNyaXQgcG91ciBsJ2luc3RhbnQgJWwgY2FyYWN0w6hyZXMpLiIsIlBsZWFzZSB1c2UgdGhlIGFwcHJvcHJpYXRlIGZvcm1hdC4iOiJWZXVpbGxleiB1dGlsaXNlciBsZSBmb3JtYXQgYXBwcm9wcmnDqS4iLCJQbGVhc2UgZW50ZXIgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBlbWFpbCBhZGRyZXNzZXMuIjoiVmV1aWxsZXogc2Fpc2lyIHVuZSBsaXN0ZSBkJ2FkcmVzc2VzIMOpbGVjdHJvbmlxdWVzIHPDqXBhcsOpZXMgcGFyIGRlcyB2aXJndWxlcy4iLCJQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvZiB0aGUgY29ycmVjdCB0eXBlLiI6IlZldWlsbGV6IHPDqWxlY3Rpb25uZXIgdW4gZmljaGllciBkdSB0eXBlIGFwcHJvcHJpw6kuIiwiUGxlYXNlIHNlbGVjdCBvbmUgb3IgbW9yZSBmaWxlcy4iOiJWZXVpbGxleiBzw6lsZWN0aW9ubmVyIHVuIG91IHBsdXNpZXVycyBmaWNoaWVycy4iLCJhbnkgdmFsdWUiOiJuJ2ltcG9ydGUgcXVlbGxlIHZhbGV1ciIsImFueSB2YWxpZCB2YWx1ZSI6Im4naW1wb3J0ZSBxdWVsbGUgdmFsZXVyIHZhbGlkZSJ9KSxoeXBlcmZvcm0uc2V0TGFuZ3VhZ2UoImZyIil9LDg1OTk6ZnVuY3Rpb24oKXtoeXBlcmZvcm0uYWRkVHJhbnNsYXRpb24oImhlIix7VGV4dFRvb0xvbmc6Iten16bXqCDXkNeqINeY16fXodeYINeW15Qg15zWviVsINeq15XXldeZ150g15zXm9ecINeU15nXldeq16ggKNeQ16rXlCDXntep16rXntepINeb16LXqiDXkda+JWwg16rXldeV15nXnSkuIixWYWx1ZU1pc3Npbmc6IteQ16DXkCDXntec15Ag15DXqiDXqdeT15Qg15bXlC4iLENoZWNrYm94TWlzc2luZzoi16HXntefINeQ16og16rXmdeR15Qg15bXlSDXkNedINeR16jXpteV16DXmiDXnNeU157XqdeZ15ouIixSYWRpb01pc3Npbmc6IteQ16DXkCDXkdeX16gg15DXl9eqINee15DXpNep16jXldeZ15XXqiDXkNec15UuIixGaWxlTWlzc2luZzoi15DXoNeQINeR15fXqCDXp9eV15HXpS4iLFNlbGVjdE1pc3Npbmc6Iteg15Ag15zXkdeX15XXqCDXpNeo15nXmCDXnteU16jXqdeZ157XlC4iLEludmFsaWRFbWFpbDoi16DXkCDXnNeU15bXmdefINeb16rXldeR16og15PXldeQ17TXnC4iLEludmFsaWRVUkw6Iteg15Ag15zXlNeW15nXnyDXm9eq15XXkdeqLiIsUGF0dGVybk1pc21hdGNoOiLXoNeQINec15TXqteQ15nXnSDXnNee15HXoNeUINeU157XkdeV16fXqS4iLFBhdHRlcm5NaXNtYXRjaFdpdGhUaXRsZToi16DXkCDXnNeU16rXkNeZ150g15zXnteR16DXlCDXlNee15HXlden16k6ICVsLiIsTnVtYmVyUmFuZ2VPdmVyZmxvdzoi15HXkden16nXlCDXnNeR15fXldeoINei16jXmiDXqdeQ15nXoNeVINeS15PXldecINee1r4lbC4iLERhdGVSYW5nZU92ZXJmbG93OiLXkdeR16fXqdeUINec15HXl9eV16gg16LXqNeaINep15DXmdeg15Ug157XkNeV15fXqCDXnta+JWwuIixUaW1lUmFuZ2VPdmVyZmxvdzoi15HXkden16nXlCDXnNeR15fXldeoINei16jXmiDXqdeQ15nXoNeVINee15DXldeX16gg157WviVsLiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6IteR15HXp9ep15Qg15zXkdeX15XXqCDXoteo15og16nXkNeZ16DXlSDXpNeX15XXqiDXnta+JWwuIixEYXRlUmFuZ2VVbmRlcmZsb3c6IteR15HXp9ep15Qg15zXkdeX15XXqCDXoteo15og16nXkNeZ16DXlSDXnteV16fXk9edINee1r4lbC4iLFRpbWVSYW5nZVVuZGVyZmxvdzoi15HXkden16nXlCDXnNeR15fXldeoINei16jXmiDXqdeQ15nXoNeVINee15XXp9eT150g157WviVsLiIsU3RlcE1pc21hdGNoOiLXkdeR16fXqdeUINec15HXl9eV16gg16LXqNeaINeX15XXp9eZLiDXqdeg15kg15TXoteo15vXmdedINeU15fXlden15nXmdedINeU16fXqNeV15HXmdedINeR15nXldeq16gg15TXnSAlbCDXlda+JWwuIixTdGVwTWlzbWF0Y2hPbmVWYWx1ZToiUGxlYXNlIHNlbGVjdCBhIHZhbGlkIHZhbHVlLiBUaGUgbmVhcmVzdCB2YWxpZCB2YWx1ZSBpcyAlbC4iLEJhZElucHV0TnVtYmVyOiLXkdeR16fXqdeUINec15TXlteZ158g157Xodek16guIn0pLGh5cGVyZm9ybS5zZXRMYW5ndWFnZSgiaGUiKX0sODQ5Njg6ZnVuY3Rpb24oKXtoeXBlcmZvcm0uYWRkVHJhbnNsYXRpb24oIml0Iix7VGV4dFRvb0xvbmc6IlJpZHVycmUgbGEgbHVuZ2hlenphIGRlbCB0ZXN0byBhICVsIGNhcmF0dGVyaSBvIG1lbm8gKGF0dHVhbG1lbnRlIHNpIHN0YW5ubyB1dGlsaXp6YW5kbyAlbCBjYXJhdHRlcmkpIixUZXh0VG9vU2hvcnQ6IlV0aWxpenphcmUgYWxtZW5vICVsIGNhcmF0dGVyaSAoYXR0dWFsbWVudGUgc2kgc3Rhbm5vIHV0aWxpenphbmRvICVsIGNhcmF0dGVyaSkiLFZhbHVlTWlzc2luZzoiQ29tcGlsYXJlIHF1ZXN0byBjYW1wbyIsQ2hlY2tib3hNaXNzaW5nOiJTZWxlemlvbmFyZSBxdWVzdGEgY2FzZWxsYSBwZXIgcHJvY2VkZXJlIixSYWRpb01pc3Npbmc6IlNlbGV6aW9uYXJlIHVuYSBkZWxsZSBvcHppb25pIGRpc3BvbmliaWxpIixGaWxlTWlzc2luZzoiU2VsZXppb25hcmUgdW4gZmlsZSIsU2VsZWN0TWlzc2luZzoiU2VsZXppb25hcmUgdW4gZWxlbWVudG8gZGFsbOKAmWVsZW5jbyIsSW52YWxpZEVtYWlsOiJJbnNlcmlyZSB1biBpbmRpcml6em8gZW1haWwiLEludmFsaWRVUkw6Ikluc2VyaXJlIHVuIFVSTCIsUGF0dGVybk1pc21hdGNoOiJJbnNlcmlyZSB1biB2YWxvcmUgbmVsIGZvcm1hdG8gcmljaGllc3RvIixQYXR0ZXJuTWlzbWF0Y2hXaXRoVGl0bGU6Ikluc2VyaXJlIHVuIHZhbG9yZSBuZWwgZm9ybWF0byByaWNoaWVzdG86ICVsIixOdW1iZXJSYW5nZU92ZXJmbG93OiJTZWxlemlvbmFyZSB1biB2YWxvcmUgaW5mZXJpb3JlIG8gdWd1YWxlIGEgJWwuIixEYXRlUmFuZ2VPdmVyZmxvdzoiU2VsZXppb25hcmUgdW4gdmFsb3JlIHByZWNlZGVudGUgbyB1Z3VhbGUgYSAlbC4iLFRpbWVSYW5nZU92ZXJmbG93OiJTZWxlemlvbmFyZSB1biB2YWxvcmUgcHJlY2VkZW50ZSBvIHVndWFsZSBhICVsLiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6IlNlbGV6aW9uYXJlIHVuIHZhbG9yZSBzdXBlcmlvcmUgbyB1Z3VhbGUgYSAlbC4iLERhdGVSYW5nZVVuZGVyZmxvdzoiU2VsZXppb25hcmUgdW4gdmFsb3JlIHN1Y2Nlc3Npdm8gbyB1Z3VhbGUgYSAlbC4iLFRpbWVSYW5nZVVuZGVyZmxvdzoiU2VsZXppb25hcmUgdW4gdmFsb3JlIHN1Y2Nlc3Npdm8gbyB1Z3VhbGUgYSAlbC4iLFN0ZXBNaXNtYXRjaDoiU2VsZXppb25hcmUgdW4gdmFsb3JlIHZhbGlkby4gSSBkdWUgdmFsb3JpIHZhbGlkaSBwacO5IHZpY2luaSBzb25vICVsIGUgJWwiLFN0ZXBNaXNtYXRjaE9uZVZhbHVlOiJTZWxlemlvbmFyZSB1biB2YWxvcmUgdmFsaWRvLiBJbCB2YWxvcmUgdmFsaWRvIHBpw7kgdmljaW5vIMOoICVsIixCYWRJbnB1dE51bWJlcjoiSW5zZXJpcmUgdW4gbnVtZXJvIn0pLGh5cGVyZm9ybS5zZXRMYW5ndWFnZSgiaXQiKX0sNzYxMTg6ZnVuY3Rpb24oKXtoeXBlcmZvcm0uYWRkVHJhbnNsYXRpb24oImphIix7VGV4dFRvb0xvbmc6IuODhuOCreOCueODiOOCkiAlMSRTIOaWh+Wtl+S7peS4i+OBq+efreOBj+OBl+OBpuOBj+OBoOOBleOBhCAo54++5ZyoICUyJFMg5paH5a2X44Gn44GZKeOAgiIsVGV4dFRvb1Nob3J0OiLlsJHjgarjgY/jgajjgoIgJTEkUyDmloflrZfku6XkuIrjgavplbfjgY/jgZfjgabjgY/jgaDjgZXjgYQgKOePvuWcqCAlMiRTIOaWh+Wtl+OBp+OBmSnjgIIiLFZhbHVlTWlzc2luZzoi44GT44Gu44OV44Kj44O844Or44OJ44Gv5YWl5Yqb5b+F6aCI44Gn44GZ44CCIixDaGVja2JveE1pc3Npbmc6IuODgeOCp+ODg+OCr+ODnOODg+OCr+OCueOBq+ODgeOCp+ODg+OCr+OCkuWFpeOCjOOBpuOBj+OBoOOBleOBhOOAgiIsUmFkaW9NaXNzaW5nOiLjgYTjgZrjgozjgYvjga7jgqrjg5fjgrfjg6fjg7PjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYTjgIIiLEZpbGVNaXNzaW5nOiLjg5XjgqHjgqTjg6vjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYTjgIIiLFNlbGVjdE1pc3Npbmc6IuODquOCueODiOOBi+OCiemgheebruOCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhOOAgiIsSW52YWxpZEVtYWlsOiLjg6Hjg7zjg6vjgqLjg4njg6zjgrnjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpPjgIIiLEludmFsaWRVUkw6IlVSTCDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpPjgIIiLFBhdHRlcm5NaXNtYXRjaDoi5YWl5Yqb44GV44KM44Gf5YCk44GM44OV44Kj44O844Or44OJ44Gr5oyH5a6a44GV44KM44Gf5pu45byP44Go55Ww44Gq44KK44G+44GZ44CCIixQYXR0ZXJuTWlzbWF0Y2hXaXRoVGl0bGU6IuWFpeWKm+OBleOCjOOBn+WApOOBjOODleOCo+ODvOODq+ODieOBq+aMh+WumuOBleOCjOOBn+abuOW8j+OBqOeVsOOBquOCiuOBvuOBmTogJWwiLE51bWJlclJhbmdlT3ZlcmZsb3c6IiVsIOS7peS4i+OBruWApOOCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhOOAgiIsRGF0ZVJhbmdlT3ZlcmZsb3c6IiVsIOS7peWJjeOBruaXpeS7mOOCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhOOAgiIsVGltZVJhbmdlT3ZlcmZsb3c6IiVsIOS7peWJjeOBruaZguWIu+OCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhOOAgiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6IiVsIOS7peS4iuOBruWApOOCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhOOAgiIsRGF0ZVJhbmdlVW5kZXJmbG93OiIlbCDku6Xlvozjga7ml6Xku5jjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYTjgIIiLFRpbWVSYW5nZVVuZGVyZmxvdzoiJWwg5Lul5b6M44Gu5pmC5Yi744KS6YG45oqe44GX44Gm44GP44Gg44GV44GE44CCIixTdGVwTWlzbWF0Y2g6Iuato+OBl+OBhOWApOOCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhOOAguacgOOCgui/keOBhOato+OBl+OBhOWApOOBryAlMSRTIOOBqCAlMiRTIOOBp+OBmeOAgiIsU3RlcE1pc21hdGNoT25lVmFsdWU6Iuato+OBl+OBhOWApOOCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhOOAguacgOOCgui/keOBhOato+OBl+OBhOWApOOBryAlbCDjgafjgZnjgIIiLEJhZElucHV0TnVtYmVyOiLmlbDlgKTjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYTjgIIifSksaHlwZXJmb3JtLnNldExhbmd1YWdlKCJqYSIpfSw3MDgwMjpmdW5jdGlvbigpe2h5cGVyZm9ybS5hZGRUcmFuc2xhdGlvbigibmwiLHtUZXh0VG9vTG9uZzoiS29ydCBkZXplIHRla3N0IGluIHRvdCAlbCB0ZWtlbnMgb2YgbWluZGVyICh1IGdlYnJ1aWt0IG51ICVsIHRla2VucykuIixUZXh0VG9vU2hvcnQ6IkdlYnJ1aWsgbWluc3RlbnMgJWwgdGVrZW5zICh1IGdlYnJ1aWt0IG1vbWVudGVlbCAlbCB0ZWtlbnMpLiIsVmFsdWVNaXNzaW5nOiJWdWwgZGl0IHZlbGQgaW4uIixDaGVja2JveE1pc3Npbmc6IlZpbmsgZGl0IHZha2plIGFhbiBhbHMgdSB3aWx0IGRvb3JnYWFuLiIsUmFkaW9NaXNzaW5nOiJTZWxlY3RlZXIgZWVuIHZhbiBkZXplIG9wdGllcy4iLEZpbGVNaXNzaW5nOiJTZWxlY3RlZXIgZWVuIGJlc3RhbmQuIixTZWxlY3RNaXNzaW5nOiJTZWxlY3RlZXIgZWVuIGl0ZW0gaW4gZGUgbGlqc3QuIixJbnZhbGlkRW1haWw6IlZvZXIgZWVuIGUtbWFpbGFkcmVzIGluLiIsSW52YWxpZFVSTDoiVm9lciBlZW4gVVJMIGluLiIsSW52YWxpZERhdGU6IlZvZXIgZWVuIGdlbGRpZ2UgZGF0dW0gaW4uIixQYXR0ZXJuTWlzbWF0Y2g6IkdlYnJ1aWsgZGUgZ2V2cmFhZ2RlIGluZGVsaW5nLiIsUGF0dGVybk1pc21hdGNoV2l0aFRpdGxlOiJHZWJydWlrIGRlIGdldnJhYWdkZSBpbmRlbGluZzogJWwuIixOdW1iZXJSYW5nZU92ZXJmbG93OiJTZWxlY3RlZXIgZWVuIHdhYXJkZSBkaWUgbmlldCBob2dlciBpcyBkYW4gJWwuIixEYXRlVGltZVJhbmdlT3ZlcmZsb3c6IlNlbGVjdGVlciBlZW4gd2FhcmRlIGRpZSBuaWV0IGxhdGVyIGlzIGRhbiAlbC4iLE51bWJlclJhbmdlVW5kZXJmbG93OiJTZWxlY3RlZXIgZWVuIHdhYXJkZSBkaWUgbmlldCBsYWdlciBpcyBkYW4gJWwuIixEYXRlVGltZVJhbmdlVW5kZXJmbG93OiJTZWxlY3RlZXIgZWVuIHdhYXJkZSBkaWUgbmlldCB2cm9lZ2VyIGlzIGRhbiAlbC4iLFN0ZXBNaXNtYXRjaDoiU2VsZWN0ZWVyIGVlbiBnZWxkaWdlIHdhYXJkZS4gRGUgdHdlZSBkaWNodHN0YmlqemlqbmRlIGdlbGRpZ2Ugd2FhcmRlbiB6aWpuICVsIGVuICVsLiIsU3RlcE1pc21hdGNoT25lVmFsdWU6IlNlbGVjdGVlciBlZW4gZ2VsZGlnZSB3YWFyZGUuIERlIGRpY2h0c3RiaWp6aWpuZGUgZ2VsZGlnZSB3YWFyZGUgaXMgJWwuIixCYWRJbnB1dE51bWJlcjoiVm9lciBlZW4gZ2V0YWwgaW4uIiwiUGxlYXNlIG1hdGNoIHRoZSByZXF1ZXN0ZWQgdHlwZS4iOiJQYXMgZGUgaW52b2VyIGFhbiBhYW4gaGV0IHZlcmVpc3RlIHR5cGUuIiwiUGxlYXNlIGNvbXBseSB3aXRoIGFsbCByZXF1aXJlbWVudHMuIjoiVm9sZG9lIGFhbiBhbGxlIHZlcmVpc3Rlbi4iLCJQbGVhc2UgbGVuZ3RoZW4gdGhpcyB0ZXh0IHRvICVsIGNoYXJhY3RlcnMgb3IgbW9yZSAoeW91IGFyZSBjdXJyZW50bHkgdXNpbmcgJWwgY2hhcmFjdGVycykuIjoiVmVybGVuZyBkZXplIHRla3N0IHRvdCB0ZW4gbWluc3RlICVsIHRla2VucyAodSBnZWJydWlrdCBtb21lbnRlZWwgJWwgdGVrZW5zKS4iLCJQbGVhc2UgdXNlIHRoZSBhcHByb3ByaWF0ZSBmb3JtYXQuIjoiR2VicnVpayBkZSBqdWlzdGUgaW5kZWxpbmcuIiwiUGxlYXNlIGVudGVyIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZW1haWwgYWRkcmVzc2VzLiI6IlZvZXIgZWVuIGRvb3Iga29tbWEncyBnZXNjaGVpZGVuIGxpanN0IHZhbiBlLW1haWxhZHJlc3NlbiBpbi4iLCJQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvZiB0aGUgY29ycmVjdCB0eXBlLiI6IlNlbGVjdGVlciBlZW4gYmVzdGFuZCB2YW4gaGV0IGp1aXN0ZSB0eXBlLiIsIlBsZWFzZSBzZWxlY3Qgb25lIG9yIG1vcmUgZmlsZXMuIjoiU2VsZWN0ZWVyIGVlbiBvZiBtZWVyIGJlc3RhbmRlbi4iLCJhbnkgdmFsdWUiOiJlbGtlIHdhYXJkZSIsImFueSB2YWxpZCB2YWx1ZSI6ImVsa2UgZ2VsZGlnZSB3YWFyZGUifSksaHlwZXJmb3JtLnNldExhbmd1YWdlKCJubCIpfSw1ODE6ZnVuY3Rpb24oKXtoeXBlcmZvcm0uYWRkVHJhbnNsYXRpb24oIm5vIix7VGV4dFRvb0xvbmc6IkJlZ3JlbnMgdGVrc3RlbiB0aWwgJWwgdGVnbiAoJWwgdGVnbiBlciBicnVrdCkuIixUZXh0VG9vU2hvcnQ6IkJydWsgbWluc3QgJWwgdGVnbiAoJWwgdGVnbiBlciBicnVrdCkuIixWYWx1ZU1pc3Npbmc6IkZ5bGwgdXQgZGV0dGUgZmVsdGV0LiIsQ2hlY2tib3hNaXNzaW5nOiJIdWsgYXYgZGV0dGUgZmVsdGV0IGZvciDDpSBmb3J0c2V0dGUuIixSYWRpb01pc3Npbmc6IlZlbGcgbWluc3QgZXR0IGF2IGFsdGVybmF0aXZlbmUuIixGaWxlTWlzc2luZzoiVmVsZyBlbiBmaWwuIixTZWxlY3RNaXNzaW5nOiJWZWxnIGV0dCBhdiBhbHRlcm5hdGl2ZW5lIGZyYSBsaXN0ZW4uIixJbnZhbGlkRW1haWw6IlRhc3QgaW5uIGVuIGd5bGRpZyBlcG9zdGFkcmVzc2UuIixJbnZhbGlkVVJMOiJUYXN0IGlubiBlbiBneWxkaWcgbmV0dGFkcmVzc2UuIixQYXR0ZXJuTWlzbWF0Y2g6IkZvcm1hdGV0IHDDpSBpbm50YXN0ZXQgZGF0YSBlciB1Z3lsZGlnLiIsUGF0dGVybk1pc21hdGNoV2l0aFRpdGxlOiJPdmVyaG9sZCBmb3JtYXRldDogJWwuIixOdW1iZXJSYW5nZU92ZXJmbG93OiJWZWxnIGVuIHZlcmRpIG1pbmRyZSBlbm4gJWwuIixEYXRlUmFuZ2VPdmVyZmxvdzoiVmVsZyBlbiBkYXRvIGbDuHIgJWwuIixUaW1lUmFuZ2VPdmVyZmxvdzoiVmVsZyBldCBrbG9ra2VzbGV0dCBmw7hyICVsLiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6IlZlbGcgZW4gdmVyZGkgbWVyIGVubiAlbC4iLERhdGVSYW5nZVVuZGVyZmxvdzoiVmVsZyBlbiBkYXRvIGV0dGVyICVsLiIsVGltZVJhbmdlVW5kZXJmbG93OiJWZWxnIGV0IGtsb2trZXNsZXR0IGV0dGVyICVsLiIsU3RlcE1pc21hdGNoOiJWZWxnIGVuIGd5bGRpZyB2ZXJkaS4gRGUgbsOmcm1lc3RlIGd5bGRpZ2UgdmVyZGllbmUgZXIgJWwgb2cgJWwiLFN0ZXBNaXNtYXRjaE9uZVZhbHVlOiJWZWxnIGVuIGd5bGRpZyB2ZXJkaS4gTsOmcm1lc3RlIGd5bGRpZyB2ZXJkaSBlciAlbC4iLEJhZElucHV0TnVtYmVyOiJUYXN0IGlubiBldCB0YWxsLiIsIlBsZWFzZSBtYXRjaCB0aGUgcmVxdWVzdGVkIHR5cGUuIjoiVmVubmxpZ3N0IGJydWsgcmlrdGlnIGRhdGF0eXBlLiIsIlBsZWFzZSBjb21wbHkgd2l0aCBhbGwgcmVxdWlyZW1lbnRzLiI6IlZlbm5saWdzdCBvdmVyaG9sZCBhbGxlIGtyYXZlbmUuIiwiUGxlYXNlIGxlbmd0aGVuIHRoaXMgdGV4dCB0byAlbCBjaGFyYWN0ZXJzIG9yIG1vcmUgKHlvdSBhcmUgY3VycmVudGx5IHVzaW5nICVsIGNoYXJhY3RlcnMpLiI6IlZlbm5saWdzdCBicnVrICVsIHRlZ24gZWxsZXIgbWVyICglbCB0ZWduIGVyIGJydWt0KS4iLCJQbGVhc2UgdXNlIHRoZSBhcHByb3ByaWF0ZSBmb3JtYXQuIjoiVmVubmxpZ3N0IGJydWsga29ycmVrdCBmb3JtYXQuIiwiUGxlYXNlIGVudGVyIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZW1haWwgYWRkcmVzc2VzLiI6IlZlbm5saWdzdCBicnVrIGVuIGtvbW1hc2VwYXJlcnQgbGlzdGUgYXYgZXBvc3RhZHJlc3Nlci4iLCJQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvZiB0aGUgY29ycmVjdCB0eXBlLiI6IlZlbm5saWdzdCB2ZWxnIHJpa3RpZyBmaWx0eXBlLiIsIlBsZWFzZSBzZWxlY3Qgb25lIG9yIG1vcmUgZmlsZXMuIjoiVmVubmxpZ3N0IHZlbGcgZW4gZWxsZXIgZmxlcmUgZmlsZXIuIn0pLGh5cGVyZm9ybS5zZXRMYW5ndWFnZSgibm8iKX0sMTUzNDI6ZnVuY3Rpb24oKXtoeXBlcmZvcm0uYWRkVHJhbnNsYXRpb24oInB0LUJSIix7VGV4dFRvb0xvbmc6IlBvciBmYXZvciwgZGltaW51YSBvIHRleHRvIHBhcmEgJWwgY2FyYWN0ZXJlcyBvdSBtZW5vcyAobm8gbW9tZW50byBlbGUgdGVtICVsIGNhcmFjdGVyZXMpLiIsVGV4dFRvb1Nob3J0OiJQb3IgZmF2b3IsIHVzZSBwZWxvIG1lbm9zICVsIGNhcmFjdGVyZXMgKG5vIG1vbWVudG8gZWxlIHRlbSAlbCBjYXJhY3RlcmVzKS4iLFZhbHVlTWlzc2luZzoiUG9yIGZhdm9yLCBwcmVlbmNoYSBlc3RlIGNhbXBvLiIsQ2hlY2tib3hNaXNzaW5nOiJQb3IgZmF2b3IsIG1hcnF1ZSBlc3RhIG9ww6fDo28gc2UgZGVzZWphIGNvbnRpbnVhci4iLFJhZGlvTWlzc2luZzoiUG9yIGZhdm9yLCBzZWxlY2lvbmUgdW1hIGRlc3RhcyBvcMOnw7Vlcy4iLEZpbGVNaXNzaW5nOiJQb3IgZmF2b3IsIHNlbGVjaW9uZSB1bSBhcnF1aXZvLiIsU2VsZWN0TWlzc2luZzoiUG9yIGZhdm9yLCBzZWxlY2lvbmUgdW0gaXRlbSBkYSBsaXN0YS4iLEludmFsaWRFbWFpbDoiUG9yIGZhdm9yLCBkaWdpdGUgdW0gZW5kZXJlw6dvIGRlIGUtbWFpbC4iLEludmFsaWRVUkw6IlBvciBmYXZvciwgZm9ybmXDp2EgdW0gZW5kZXJlw6dvIGRhIGludGVybmV0LiIsUGF0dGVybk1pc21hdGNoOiJQb3IgZmF2b3IsIHNhdGlzZmHDp2EgbyBmb3JtYXRvIHJlcXVpc2l0YWRvLiIsUGF0dGVybk1pc21hdGNoV2l0aFRpdGxlOiJQb3IgZmF2b3IsIHNhdGlzZmHDp2EgbyBmb3JtYXRvIHJlcXVpc2l0YWRvOiAlbC4iLE51bWJlclJhbmdlT3ZlcmZsb3c6IlBvciBmYXZvciwgc2VsZWNpb25lIHVtIHZhbG9yIHF1ZSBuw6NvIHNlamEgbWFpb3IgcXVlICVsLiIsRGF0ZVJhbmdlT3ZlcmZsb3c6IlBvciBmYXZvciwgc2VsZWNpb25lIHVtIHZhbG9yIHF1ZSBuw6NvIHNlamEgZGVwb2lzIGRlICVsLiIsVGltZVJhbmdlT3ZlcmZsb3c6IlBvciBmYXZvciwgc2VsZWNpb25lIHVtIHZhbG9yIHF1ZSBuw6NvIHNlamEgZGVwb2lzIGRlICVsLiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6IlBvciBmYXZvciwgc2VsZWNpb25lIHVtIHZhbG9yIHF1ZSBuw6NvIHNlamEgbWVub3IgcXVlICVsLiIsRGF0ZVJhbmdlVW5kZXJmbG93OiJQb3IgZmF2b3IsIHNlbGVjaW9uZSB1bSB2YWxvciBxdWUgbsOjbyBzZWphIGFudGVzIGRlICVsLiIsVGltZVJhbmdlVW5kZXJmbG93OiJQb3IgZmF2b3IsIHNlbGVjaW9uZSB1bSB2YWxvciBxdWUgbsOjbyBzZWphIGFudGVzIGRlICVsLiIsU3RlcE1pc21hdGNoOiJQb3IgZmF2b3IsIHNlbGVjaW9uZSB1bSB2YWxvciB2w6FsaWRvLiBPcyBkb2lzIHZhbG9yZXMgdsOhbGlkb3MgbWFpcyBwcsOzeGltb3Mgc8OjbyAlbCBlICVsLiIsU3RlcE1pc21hdGNoT25lVmFsdWU6IlBvciBmYXZvciwgc2VsZWNpb25lIHVtIHZhbG9yIHbDoWxpZG8uIE8gdmFsb3IgdsOhbGlkbyBtYWlzIHByw7N4aW1vIMOpICVsLiIsQmFkSW5wdXROdW1iZXI6IlBvciBmYXZvciwgZGlnaXRlIHVtIG7Dum1lcm8uIiwiUGxlYXNlIG1hdGNoIHRoZSByZXF1ZXN0ZWQgdHlwZS4iOiJQb3IgZmF2b3IsIHNhdGlzZmHDp2EgbyB0aXBvIHJlcXVpc2l0YWRvLiIsIlBsZWFzZSBjb21wbHkgd2l0aCBhbGwgcmVxdWlyZW1lbnRzLiI6IlBvciBmYXZvciwgc2F0aXNmYcOnYSB0b2RvcyBvcyByZXF1aXNpdG9zLiIsIlBsZWFzZSBsZW5ndGhlbiB0aGlzIHRleHQgdG8gJWwgY2hhcmFjdGVycyBvciBtb3JlICh5b3UgYXJlIGN1cnJlbnRseSB1c2luZyAlbCBjaGFyYWN0ZXJzKS4iOiJQb3IgZmF2b3IsIHVzZSBwZWxvIG1lbm9zICVsIGNhcmFjdGVyZXMgKG5vIG1vbWVudG8gZWxlIHRlbSAlbCBjYXJhY3RlcmVzKS4iLCJQbGVhc2UgdXNlIHRoZSBhcHByb3ByaWF0ZSBmb3JtYXQuIjoiUG9yIGZhdm9yLCB1c2UgbyBmb3JtYXRvIGFwcm9wcmlhZG8uIiwiUGxlYXNlIGVudGVyIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZW1haWwgYWRkcmVzc2VzLiI6IlBvciBmYXZvciwgZGlnaXRlIHVtYSBsaXN0YSBkZSBlLW1haWxzIHNlcGFyYWRvcyBwb3IgdsOtcmd1bGEuIiwiUGxlYXNlIHNlbGVjdCBhIGZpbGUgb2YgdGhlIGNvcnJlY3QgdHlwZS4iOiJQb3IgZmF2b3IsIHNlbGVjaW9uZSB1bSBhcnF1aXZvIGRvIHRpcG8gY29ycmV0by4iLCJQbGVhc2Ugc2VsZWN0IG9uZSBvciBtb3JlIGZpbGVzLiI6IlBvciBmYXZvciwgc2VsZWNpb25lIHVtIG91IG1haXMgYXJxdWl2b3MuIn0pLGh5cGVyZm9ybS5zZXRMYW5ndWFnZSgicHQtQlIiKX0sMjI4NDQ6ZnVuY3Rpb24oKXtoeXBlcmZvcm0uYWRkVHJhbnNsYXRpb24oInB0LVBUIix7VGV4dFRvb0xvbmc6IlBvciBmYXZvciByZWR1emEgbyB0ZXh0byBwYXJhICVsIGNhcmFjdGVyZXMgb3UgbWVub3MgKGVzdMOhIGEgdXRpbGl6YXIgJWwgY2FyYWN0ZXJlcykuIixUZXh0VG9vU2hvcnQ6IlBvciBmYXZvciwgdXNlIHBlbG8gbWVub3MgJWwgY2FyYWN0ZXJlcyAobm8gbW9tZW50byBlbGUgdGVtICVsIGNhcmFjdGVyZXMpLiIsVmFsdWVNaXNzaW5nOiJQb3IgZmF2b3IgcHJlZW5jaGEgZXN0ZSBjYW1wby4iLENoZWNrYm94TWlzc2luZzoiUG9yIGZhdm9yIHNlbGVjaW9uZSBlc3RhIGNhaXhhIHBhcmEgY29udGludWFyLiIsUmFkaW9NaXNzaW5nOiJQb3IgZmF2b3Igc2VsZWNpb25lIHVtYSBkZXN0YXMgb3DDp8O1ZXMuIixGaWxlTWlzc2luZzoiUG9yIGZhdm9yIHNlbGVjaW9uZSB1bSBmaWNoZWlyby4iLFNlbGVjdE1pc3Npbmc6IlBvciBmYXZvciwgc2VsZWNpb25lIHVtIGVsZW1lbnRvIGRhIGxpc3RhLiIsSW52YWxpZEVtYWlsOiJQb3IgZmF2b3IgaW50cm9kdXphIHVtIGVuZGVyZcOnbyBkZSBlLW1haWwuIixJbnZhbGlkVVJMOiJQb3IgZmF2b3IgaW50cm9kdXphIG8gVVJMLiIsUGF0dGVybk1pc21hdGNoOiJQb3IgZmF2b3IgY29ycmVzcG9uZGEgYW8gZm9ybWF0byBwZWRpZG8uIixQYXR0ZXJuTWlzbWF0Y2hXaXRoVGl0bGU6IlBvciBmYXZvciBjb3JyZXNwb25kYSBhbyBmb3JtYXRvIHBlZGlkbzogJWwuIixOdW1iZXJSYW5nZU92ZXJmbG93OiJQb3IgZmF2b3Igc2VsZWNpb25lIHVtIHZhbG9yIHF1ZSBuw6NvIHNlamEgbWFpb3IgcXVlICVsLiIsRGF0ZVJhbmdlT3ZlcmZsb3c6IlBvciBmYXZvciBzZWxlY2lvbmUgdW0gdmFsb3IgcXVlIG7Do28gc2VqYSBtYWlzIHJlY2VudGUgcXVlICVsLiIsVGltZVJhbmdlT3ZlcmZsb3c6IlBvciBmYXZvciBzZWxlY2lvbmUgdW0gdmFsb3IgcXVlIG7Do28gc2VqYSBtYWlzIHJlY2VudGUgcXVlICVsLiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6IlBvciBmYXZvciBzZWxlY2lvbmUgdW0gdmFsb3IgcXVlIG7Do28gc2VqYSBtZW5vciBxdWUgJWwuIixEYXRlUmFuZ2VVbmRlcmZsb3c6IlBvciBmYXZvciBzZWxlY2lvbmUgdW0gdmFsb3IgcXVlIG7Do28gc2VqYSBtYWlzIHJlY2VudGUgcXVlICVsLiIsVGltZVJhbmdlVW5kZXJmbG93OiJQb3IgZmF2b3Igc2VsZWNpb25lIHVtIHZhbG9yIHF1ZSBuw6NvIHNlamEgbWFpcyByZWNlbnRlIHF1ZSAlbC4iLFN0ZXBNaXNtYXRjaDoiUG9yIGZhdm9yIHNlbGVjaW9uZSB1bSB2YWxvciB2w6FsaWRvLiBPcyBkb2lzIHZhbG9yZXMgdsOhbGlkb3MgbWFpcyBhcHJveGltYWRvcyBzw6NvICVsIGUgJWwuIixTdGVwTWlzbWF0Y2hPbmVWYWx1ZToiUG9yIGZhdm9yIHNlbGVjaW9uZSB1bSB2YWxvciB2w6FsaWRvLiBPIHZhbG9yIHbDoWxpZG8gbWFpcyBhcHJveGltYWRvIMOpICVsLiIsQmFkSW5wdXROdW1iZXI6IlBvciBmYXZvciBpbnRyb2R1emEgdW0gbsO6bWVyby4iLCJQbGVhc2UgbWF0Y2ggdGhlIHJlcXVlc3RlZCB0eXBlLiI6IlBvciBmYXZvciwgc2F0aXNmYcOnYSBvIHRpcG8gcmVxdWlzaXRhZG8uIiwiUGxlYXNlIGNvbXBseSB3aXRoIGFsbCByZXF1aXJlbWVudHMuIjoiUG9yIGZhdm9yLCBzYXRpc2Zhw6dhIHRvZG9zIG9zIHJlcXVpc2l0b3MuIiwiUGxlYXNlIGxlbmd0aGVuIHRoaXMgdGV4dCB0byAlbCBjaGFyYWN0ZXJzIG9yIG1vcmUgKHlvdSBhcmUgY3VycmVudGx5IHVzaW5nICVsIGNoYXJhY3RlcnMpLiI6IlBvciBmYXZvciwgdXNlIHBlbG8gbWVub3MgJWwgY2FyYWN0ZXJlcyAobm8gbW9tZW50byBlbGUgdGVtICVsIGNhcmFjdGVyZXMpLiIsIlBsZWFzZSB1c2UgdGhlIGFwcHJvcHJpYXRlIGZvcm1hdC4iOiJQb3IgZmF2b3IsIHVzZSBvIGZvcm1hdG8gYXByb3ByaWFkby4iLCJQbGVhc2UgZW50ZXIgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBlbWFpbCBhZGRyZXNzZXMuIjoiUG9yIGZhdm9yLCBkaWdpdGUgdW1hIGxpc3RhIGRlIGUtbWFpbHMgc2VwYXJhZG9zIHBvciB2w61yZ3VsYS4iLCJQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvZiB0aGUgY29ycmVjdCB0eXBlLiI6IlBvciBmYXZvciwgc2VsZWNpb25lIHVtIGZpY2hlaXJvIGRvIHRpcG8gY29ycmV0by4iLCJQbGVhc2Ugc2VsZWN0IG9uZSBvciBtb3JlIGZpbGVzLiI6IlBvciBmYXZvciwgc2VsZWNpb25lIHVtIG91IG1haXMgZmljaGVpcm9zLiJ9KSxoeXBlcmZvcm0uc2V0TGFuZ3VhZ2UoInB0LVBUIil9LDgzMzAyOmZ1bmN0aW9uKCl7aHlwZXJmb3JtLmFkZFRyYW5zbGF0aW9uKCJydSIse1RleHRUb29Mb25nOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0YHQvtC60YDQsNGC0LjRgtC1INGN0YLQvtGCINGC0LXQutGB0YIg0LTQviAlbCDRgdC40LzQstC+0LvQvtCyINC40LvQuCDQvNC10L3RjNGI0LUgKNGB0LXQudGH0LDRgSDQktGLINC40YHQv9C+0LvRjNC30YPQtdGC0LUgJWwg0YHQuNC80LLQvtC70L7QsikuIixUZXh0VG9vU2hvcnQ6ItCf0L7QttCw0LvRg9C50YHRgtCwLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC90LUg0LzQtdC90LXQtSAlbCDRgdC40LzQstC+0LvQvtCyICjRgdC10LnRh9Cw0YEg0JLRiyDQuNGB0L/QvtC70YzQt9GD0LXRgtC1ICVsINGB0LjQvNCy0L7Qu9C+0LIpLiIsVmFsdWVNaXNzaW5nOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LfQsNC/0L7Qu9C90LjRgtC1INGN0YLQviDQv9C+0LvQtS4iLENoZWNrYm94TWlzc2luZzoi0J/QvtC20LDQu9GD0LnRgdGC0LAsINC/0L7RgdGC0LDQstGM0YLQtSDRhNC70LDQttC+0LosINC10YHQu9C4INCS0Ysg0YXQvtGC0LjRgtC1INC/0YDQvtC00L7Qu9C20LjRgtGMLiIsUmFkaW9NaXNzaW5nOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLRi9Cx0LXRgNC40YLQtSDQvtC00LjQvSDQuNC3INGN0YLQuNGFINCy0LDRgNC40LDQvdGC0L7Qsi4iLEZpbGVNaXNzaW5nOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLRi9Cx0LXRgNC40YLQtSDRhNCw0LnQuy4iLFNlbGVjdE1pc3Npbmc6ItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstGL0LHQtdGA0LjRgtC1INC/0YPQvdC60YIg0LjQtyDRgdC/0LjRgdC60LAuIixJbnZhbGlkRW1haWw6ItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQtNC40YLQtSDQsNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiy4iLEludmFsaWRVUkw6ItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQtNC40YLQtSDQstC10LEt0LDQtNGA0LXRgS4iLEludmFsaWREYXRlOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLQstC10LTQuNGC0LUg0LTQsNGC0YMiLFBhdHRlcm5NaXNtYXRjaDoi0J/QvtC20LDQu9GD0LnRgdGC0LAsINC/0YDQuNC00LXRgNC20LjQstCw0LnRgtC10YHRjCDRg9GB0YLQsNC90L7QstC70LXQvdC90L7Qs9C+INGE0L7RgNC80LDRgtCwLiIsUGF0dGVybk1pc21hdGNoV2l0aFRpdGxlOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0L/RgNC40LTQtdGA0LbQuNCy0LDQudGC0LXRgdGMINGD0YHRgtCw0L3QvtCy0LvQtdC90L3QvtCz0L4g0YTQvtGA0LzQsNGC0LA6ICVsLiIsTnVtYmVyUmFuZ2VPdmVyZmxvdzoi0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0YvQsdC10YDQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSwg0L3QtSDQsdC+0LvRjNGI0LUg0YfQtdC8ICVsLiIsRGF0ZVJhbmdlT3ZlcmZsb3c6ItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstGL0LHQtdGA0LjRgtC1INC30L3QsNGH0LXQvdC40LUsINC90LUg0L/QvtC30LTQvdC10LUgJWwuIixUaW1lUmFuZ2VPdmVyZmxvdzoi0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0YvQsdC10YDQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSwg0L3QtSDQv9C+0LfQtNC90LXQtSAlbC4iLE51bWJlclJhbmdlVW5kZXJmbG93OiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLRi9Cx0LXRgNC40YLQtSDQt9C90LDRh9C10L3QuNC1LCDQvdC1INC80LXQvdC10LUgJWwuIixEYXRlUmFuZ2VVbmRlcmZsb3c6ItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstGL0LHQtdGA0LjRgtC1INC30L3QsNGH0LXQvdC40LUsINC90LUg0YDQsNC90LXQtSwg0YfQtdC8ICVsLiIsVGltZVJhbmdlVW5kZXJmbG93OiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLRi9Cx0LXRgNC40YLQtSDQt9C90LDRh9C10L3QuNC1LCDQvdC1INGA0LDQvdC10LUsINGH0LXQvCAlbC4iLFN0ZXBNaXNtYXRjaDoi0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0YvQsdC10YDQuNGC0LUg0LrQvtGA0YDQtdC60YLQvdC+0LUg0LfQvdCw0YfQtdC90LjQtS4g0JTQstCwINCx0LvQuNC20LDQudGI0LjRhSDQtNC+0L/Rg9GB0YLQuNC80YvRhSDQt9C90LDRh9C10L3QuNGPICVsINC4ICVsIixTdGVwTWlzbWF0Y2hPbmVWYWx1ZToi0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0LLQtdC00LjRgtC1INC60L7RgNGA0LXQutGC0L3QvtC1INC30L3QsNGH0LXQvdC40LUuINCR0LvQuNC20LDQudGI0LXQtSDQtNC+0L/Rg9GB0YLQuNC80L7QtSDQt9C90LDRh9C10L3QuNC1ICVsLiIsQmFkSW5wdXROdW1iZXI6ItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQtNC40YLQtSDRh9C40YHQu9C+IiwiUGxlYXNlIG1hdGNoIHRoZSByZXF1ZXN0ZWQgdHlwZS4iOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0L/RgNC40LTQtdGA0LbQuNCy0LDQudGC0LXRgdGMINGC0YDQtdCx0YPQtdC80L7Qs9C+INGC0LjQv9CwLiIsIlBsZWFzZSBjb21wbHkgd2l0aCBhbGwgcmVxdWlyZW1lbnRzLiI6ItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstGL0L/QvtC70L3QuNGC0LUg0LLRgdC1INC90LXQvtCx0YXQvtC00LjQvNGL0LUg0YPRgdC70L7QstC40Y8uIiwiUGxlYXNlIGxlbmd0aGVuIHRoaXMgdGV4dCB0byAlbCBjaGFyYWN0ZXJzIG9yIG1vcmUgKHlvdSBhcmUgY3VycmVudGx5IHVzaW5nICVsIGNoYXJhY3RlcnMpLiI6ItCf0L7QttCw0LvRg9C50YHRgtCwLCDRg9Cy0LXQu9C40YfRjNGC0LUg0Y3RgtC+0YIg0YLQtdC60YHRgiDQvdCwICVsINGB0LjQvNCy0L7Qu9C+0LIg0LjQu9C4INCx0L7Qu9C10LUgKNCy0Ysg0LjRgdC/0L7Qu9GM0LfRg9C10YLQtSAlbCDRgdC40LzQstC+0LvQvtCyKS4iLCJQbGVhc2UgdXNlIHRoZSBhcHByb3ByaWF0ZSBmb3JtYXQuIjoi0J/QvtC20LDQu9GD0LnRgdGC0LAsINC40YHQv9C+0LvRjNC30YPQudGC0LUg0L/RgNCw0LLQuNC70YzQvdGL0Lkg0YTQvtGA0LzQsNGCLiIsIlBsZWFzZSBlbnRlciBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGVtYWlsIGFkZHJlc3Nlcy4iOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLQstC10LTQuNGC0LUg0YHQv9C40YHQvtC6INCw0LTRgNC10YHQvtCyINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiyDRh9C10YDQtdC3INC30LDQv9GP0YLRg9GOIiwiUGxlYXNlIHNlbGVjdCBhIGZpbGUgb2YgdGhlIGNvcnJlY3QgdHlwZS4iOiLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLRi9Cx0LXRgNC40YLQtSDRhNCw0LnQuyDQv9GA0LDQstC40LvRjNC90L7Qs9C+INGC0LjQv9CwLiIsIlBsZWFzZSBzZWxlY3Qgb25lIG9yIG1vcmUgZmlsZXMuIjoi0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0YvQsdC10YDQuNGC0LUg0L7QtNC40L0g0LjQu9C4INC90LXRgdC60L7Qu9GM0LrQviDRhNCw0LnQu9C+0LIuIiwiYW55IHZhbHVlIjoi0LvRjtCx0L7QtSDQt9C90LDRh9C10L3QuNC1IiwiYW55IHZhbGlkIHZhbHVlIjoi0LvRjtCx0L7QtSDQtNC+0L/Rg9GB0YLQuNC80L7QtSDQt9C90LDRh9C10L3QuNC1In0pLGh5cGVyZm9ybS5zZXRMYW5ndWFnZSgicnUiKX0sODQ4Njk6ZnVuY3Rpb24oKXtoeXBlcmZvcm0uYWRkVHJhbnNsYXRpb24oInpoLUNOIix7VGV4dFRvb0xvbmc6Iuivt+WwhuatpOaWh+acrOe8qeefreiHsyAlbCDkuKrlrZfnrKbmiJbmm7TlsJHvvIjmgqjnjrDlnKjlt7Lnu4/ovpPlhaXkuoYgJWwg5Liq5a2X56ym77yJ44CCIixUZXh0VG9vU2hvcnQ6Iuivt+S9v+eUqOiHs+WwkSAlbCDkuKrlrZfnrKbvvIjmgqjnm67liY3kvb/nlKggJWwg5Liq5a2X56ym77yJ44CCIixWYWx1ZU1pc3Npbmc6Iuivt+Whq+WGmeatpOWtl+auteOAgiIsQ2hlY2tib3hNaXNzaW5nOiLoi6XopoHnu6fnu63vvIzor7fmo4DpgInmraTmo4Dmn6XmoYbjgIIiLFJhZGlvTWlzc2luZzoi6K+36YCJ5oup5LiA5Liq6YCJ6aG544CCIixGaWxlTWlzc2luZzoi6K+36YCJ5oup5LiA5Liq5paH5Lu244CCIixTZWxlY3RNaXNzaW5nOiLor7fpgInmi6nliJfooajkuK3nmoTkuIDpobnjgIIiLEludmFsaWRFbWFpbDoi6K+36L6T5YWl55S15a2Q6YKu5Lu25Zyw5Z2A44CCIixJbnZhbGlkVVJMOiLor7fovpPlhaXkuIDkuKogVVJM44CCIixQYXR0ZXJuTWlzbWF0Y2g6Iuivt+WMuemFjeimgeaxgueahOagvOW8j+OAgiIsUGF0dGVybk1pc21hdGNoV2l0aFRpdGxlOiLor7fljLnphY3opoHmsYLnmoTmoLzlvI/vvJogJWzjgIIiLE51bWJlclJhbmdlT3ZlcmZsb3c6Iuivt+mAieaLqeS4gOS4quS4jeWkp+S6jiAlbCDnmoTlgLzjgIIiLERhdGVSYW5nZU92ZXJmbG93OiLor7fpgInmi6nkuIDkuKrkuI3mmZrkuo4gJWwg55qE5YC844CCIixUaW1lUmFuZ2VPdmVyZmxvdzoi6K+36YCJ5oup5LiA5Liq5LiN5pma5LqOICVsIOeahOWAvOOAgiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6Iuivt+mAieaLqeS4gOS4quS4jeWwj+S6jiAlbCDnmoTlgLzjgIIiLERhdGVSYW5nZVVuZGVyZmxvdzoi6K+36YCJ5oup5LiA5Liq5LiN5pep5LqOICVsIOeahOWAvOOAgiIsVGltZVJhbmdlVW5kZXJmbG93OiLor7fpgInmi6nkuIDkuKrkuI3ml6nkuo4gJWwg55qE5YC844CCIixTdGVwTWlzbWF0Y2g6Iuivt+mAieaLqeS4gOS4quacieaViOeahOWAvO+8jOWAvOimgeWcqCAlbCDlkowgJWwg55qE6IyD5Zu05YaF44CCIixTdGVwTWlzbWF0Y2hPbmVWYWx1ZToi6K+36YCJ5oup5LiA5Liq5pyJ5pWI55qE5YC844CC5pyA5o6l6L+R55qE5pyJ5pWI5YC85pivICVs44CCIixCYWRJbnB1dE51bWJlcjoi6K+36L6T5YWl5LiA57uE5pWw5a2X44CCIn0pLGh5cGVyZm9ybS5zZXRMYW5ndWFnZSgiemgtQ04iKX0sOTI3NzU6ZnVuY3Rpb24oKXtoeXBlcmZvcm0uYWRkVHJhbnNsYXRpb24oInpoLVRXIix7VGV4dFRvb0xvbmc6Iuiri+aKiumAmeauteaWh+Wtl+e4rua4m+WIsCAlbCDlgIvlrZflhYPku6XlhafvvIjmgqjnj77lnKjnlKjkuoYgJWwg5YCL5a2X77yJ44CCIixUZXh0VG9vU2hvcnQ6Iuiri+i8uOWFpeiHs+WwkSAlbCDlgIvlrZflhYPvvIjnm67liY3ovLjlhaUgJWwg5YCL5a2X5YWD77yJ44CCIixWYWx1ZU1pc3Npbmc6Iuiri+Whq+Wvq+atpOashOS9jeOAgiIsQ2hlY2tib3hNaXNzaW5nOiLlv4XpoIjli77pgbjmraTmlrnloYrmiY3og73nubznuozjgIIiLFJhZGlvTWlzc2luZzoi6KuL5Zyo6YCZ5Lqb6YG46aCF55W25Lit5oyR5LiA5YCL44CCIixGaWxlTWlzc2luZzoi6KuL6YG45pOH5LiA5YCL5qqU5qGI44CCIixTZWxlY3RNaXNzaW5nOiLoq4vlnKjmuIXllq7kuK3pgbjlh7rkuIDlgIvpoIXnm67jgIIiLEludmFsaWRFbWFpbDoi6KuL6Ly45YWl5LiA5YCL6Zu75a2Q6YO15Lu25Zyw5Z2A44CCIixJbnZhbGlkVVJMOiLoq4vovLjlhaXkuIDlgIvntrLlnYDjgIIiLFBhdHRlcm5NaXNtYXRjaDoi6KuL5L6d54Wn5omA6KaB5rGC55qE5qC85byP6Ly45YWl44CCIixQYXR0ZXJuTWlzbWF0Y2hXaXRoVGl0bGU6Iuiri+S+neeFp+aJgOimgeaxgueahOagvOW8j+i8uOWFpTogJWzjgIIiLE51bWJlclJhbmdlT3ZlcmZsb3c6Iuiri+mBuOaTh+Wwj+aWvCAlbCDnmoTlgLzjgIIiLERhdGVSYW5nZU92ZXJmbG93OiLoq4vpgbjmk4cgJWwg5LmL5YmN55qE5pel5pyf44CCIixUaW1lUmFuZ2VPdmVyZmxvdzoi6KuL6YG45pOHICVsIOS5i+WJjeeahOaXpeacn+OAgiIsTnVtYmVyUmFuZ2VVbmRlcmZsb3c6Iuiri+mBuOaTh+Wkp+aWvCAlbCDnmoTlgLzjgIIiLERhdGVSYW5nZVVuZGVyZmxvdzoi6KuL6YG45pOHICVsIOS5i+W+jOeahOaXpeacn+OAgiIsVGltZVJhbmdlVW5kZXJmbG93OiLoq4vpgbjmk4cgJWwg5LmL5b6M55qE5pel5pyf44CCIixTdGVwTWlzbWF0Y2g6Iuiri+mBuOaTh+acieaViOeahOWAvOOAguacgOaOpei/keeahOacieaViOWAvOeCuiAlbCDoiIcgJWzjgIIiLFN0ZXBNaXNtYXRjaE9uZVZhbHVlOiLoq4vpgbjmk4fmnInmlYjnmoTlgLzjgILmnIDmjqXov5HnmoTmnInmlYjlgLzngrogJWzjgIIiLEJhZElucHV0TnVtYmVyOiLoq4vovLjlhaXmlbjlrZfjgIIifSksaHlwZXJmb3JtLnNldExhbmd1YWdlKCJ6aC1UVyIpfX1dKTsNCg=="}},"time_used":5824,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5824,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images/mg.jpg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:30.737Z","timestamp":1785137070737,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images/mg.jpg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 27030\r\ncontent-type: image/jpeg\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c79d96\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:30 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]}],"data":{"size":27030,"size_decoded":27328,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, resolution (DPI), density 300x300, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=1, description=3d rendering��\u00054http://ns.adobe.com/xap/1.0/], progressive, precision 8, 612x336, components 3","md5":"03b77b7b917545826a4146903b384b5e","sha1":"22422d2fa348b8b7c66991062e33daee41802c25","sha256":"b07b82df0734bffcccb03fd06502dd33de85ec7b0031d1586c5eddf03de727ad","sha512":"db63742b5158d9bf96b1b2b471c543a2c2b3853dd40b8e7556bf1239f30a6ac1428f95d062830280601a2dc9dbcb83a550e142f1626f08391c5736ccd6b64bf6","ssdeep":"768:+qLrA/a2GhwNUTisr4XZxX80yeBMh6GB16RJuUW1ql:+qLk/MwaTn4XZxX0eGh6GSR","tlshash":"93c2d129de579739c162a838bd6846d873430608fa34cebfbdf5643258942dd07486eb","first_seen":"2025-10-27T18:25:33.06919Z","last_seen":"2026-07-27T07:25:28.883968Z","times_seen":6,"resource_available":false,"data":"/9j/4AAQSkZJRgABAQEBLAEsAAD/4QAuRXhpZgAASUkqAAgAAAABAA4BAgAMAAAAGgAAAAAAAAAzZCByZW5kZXJpbmf/4QU0aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj4KCTxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CgkJPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczpJcHRjNHhtcENvcmU9Imh0dHA6Ly9pcHRjLm9yZy9zdGQvSXB0YzR4bXBDb3JlLzEuMC94bWxucy8iICAgeG1sbnM6R2V0dHlJbWFnZXNHSUZUPSJodHRwOi8veG1wLmdldHR5aW1hZ2VzLmNvbS9naWZ0LzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGx1cz0iaHR0cDovL25zLnVzZXBsdXMub3JnL2xkZi94bXAvMS4wLyIgIHhtbG5zOmlwdGNFeHQ9Imh0dHA6Ly9pcHRjLm9yZy9zdGQvSXB0YzR4bXBFeHQvMjAwOC0wMi0yOS8iIHhtbG5zOnhtcFJpZ2h0cz0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3JpZ2h0cy8iIHBob3Rvc2hvcDpDcmVkaXQ9IkdldHR5IEltYWdlcy9pU3RvY2twaG90byIgR2V0dHlJbWFnZXNHSUZUOkFzc2V0SUQ9IjEyMjQ4MDI4NjAiIHhtcFJpZ2h0czpXZWJTdGF0ZW1lbnQ9Imh0dHBzOi8vd3d3LmlzdG9ja3Bob3RvLmNvbS9sZWdhbC9saWNlbnNlLWFncmVlbWVudD91dG1fbWVkaXVtPW9yZ2FuaWMmYW1wO3V0bV9zb3VyY2U9Z29vZ2xlJmFtcDt1dG1fY2FtcGFpZ249aXB0Y3Vy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AQIGAgEEAwEBAAAAAAABEQAhMRAgQVFhcTCBkUChsdHB4fDxUP/aAAgBAQABPyEB6gd+B5nHHHHBHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHKm0NI/rnmcccccEcccccccccccccccccccccccccccccceLjjj+pplEouUfKUP7RHvrI44444444444445TgcccccccccccccccceD+kfgeRw/WU2J+yPpTrDTHkXcOgI44448HHHHHHHgccccceBxxw9AQaial6Jdx7jjjjyPM/KgnBzPO8OR91jP0Mqt8hHWnblOvpH0p1LRxxxxx0jjjjwccccceDjjjjjy7LGPcuRHYQP6jP5IEsR0MfmJ+iRW95tI48AVG8jjjjjwccccceDjjjjjxVzUmsd9v/afeMEcceNngDcQ1SOoNh7iGxfnt4BXBx5mMNMpINCtDC4SA6wceAvCDsRhSm+DjjwccccceDjjncDj9owwllnIzgTEUtSDXfcGuBgPcEQWAfRuBm2Z5HSPxOOOPI444448XHHHPRvI42FMQSLFQA3dwFrAJuICWIyPxlNiOlpxEN/mIQJRBCAe9I+IwIqdwY5R+yWOGkeLjwDjjyOPBxzhHsQsWgOsrjjjjjjD4+hbePFib42jHT08zwBUe4lOoCNq9QkICO5SPO448zjwcccfiMfPi0fgC5fgSDADGdJ/igOfW35lig30m5BQXHkatHlAJIBmNqA7GEUFF0MDgMA0zLmI0BTf6A448HHHA2BKBMJkxlQhciIbD7iVDTEguCMmql5sThAnwDTObgqA0JczvwrjuUEV8k+LQmCTYjQS4g4jLR5omwOAhCapuKjF4OtoTNzgZrqsSxB3Q0BAaGdHK4/E5UxH+ognGDASClQwohqUrxFgxwlANGgDiAQAQEwBLiQoMY2DvNz4idBxN2r7Qakn8YApSHZxi8jvOceqwkDUKE82wJ03lGp6UmoXoywdq5reC85VzoIA1Lt+8Ouz2faUdSubKDJUDaw9/qGhUJtiSGkNzQQmyO4KCfiAM4JJgo8SnEiQL+EENYIHYFH4Mu7OwIz5lFTI8HHmeRR84g2yK7ihh2P8ALhoWCnIr/UN4snky8PmsqKp2FocjUtQDblCoOgpLHmNnIehViUKAbkkIuSOpprxxCzadtovVCEggBDWqLi7EMNAYCneN7AAe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"}},"time_used":1077,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1077,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/product/2x/translate_24dp.png","fqdn":"www.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":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.016Z","timestamp":1785137073016,"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 /images/branding/product/2x/translate_24dp.png HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1842\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 07:17:13 GMT\r\nexpires: Sat, 24 Jul 2027 07:17:13 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 14 Oct 2021 09:08:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 259640\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":1842,"size_decoded":2516,"mime_type":"image/png","magic":"PNG image data, 48 x 48, 8-bit/color RGBA, non-interlaced","md5":"c69c796362406f9e11c7f4bf5bb628da","sha1":"e489ce95ab56208090868882113d7416abf46775","sha256":"4dac0026fbfa2615dce30c0af12830863fe885f84387a0147b9e338f548d5d82","sha512":"d3ad560ed0fd29be7d2cc434694f09e5a6fbea8b29c0611aecb54a1b73b4d722c53f42a19dae9e3d5d358444e50fb8fffbc39d67ce751bdbc8c861f6f95d3162","ssdeep":"","tlshash":"4e31f9fd129220437101ade72165eef798347c15f412da60ce65ba389c9fe20ed9a619","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-08-19T17:43:00.580986Z","times_seen":75182,"resource_available":false,"data":"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"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/app.mindd84.js?id=63353a60c9e82d366e28","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.445Z","timestamp":1785137065445,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/app.mindd84.js?id=63353a60c9e82d366e28 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 09:35:22 GMT\r\naccept-ranges: bytes\r\netag: \"1d8257403f0725b\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]}],"data":{"size":88923,"size_decoded":18408,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65532), with no line terminators","md5":"e3cd5ddfdeb469190d1566132b1168f1","sha1":"29eaef1f481137ea7ad60f73e3be02d94db0143b","sha256":"b2627af03bddb2732025f86f38f781484a3e96242b58fde54391891b45302695","sha512":"903b537e93b155dcfbecd5b3f7413e8fae2d8140d0ad283edf7adbd33da7b8b0813a361cce3d6e536f10cbee0853683312847942ec7d3124ea80db23f63350c2","ssdeep":"1536:ag8ws57LZm8pgEIAn1O3n1WOIbJurS0wuRmZEI3gK79W:In7LjG6HZNF9W","tlshash":"8b932b587180b4790bfb31f3606f6549b6b22559dc02c4a0a878dc9cadecdc96263fbd","first_seen":"2025-10-27T18:25:33.044679Z","last_seen":"2026-07-27T07:25:28.878822Z","times_seen":6,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rQXZhdHJhZGVycz1zZWxmLndlYnBhY2tDaHVua0F2YXRyYWRlcnN8fFtdKS5wdXNoKFtbMzQ1XSx7MjU4Mzg6ZnVuY3Rpb24oZSx0LG4pe3dpbmRvdy5fPW4oOTY0ODYpO3RyeXt3aW5kb3cuUG9wcGVyPW4oMjg5ODEpLHdpbmRvdy4kPXdpbmRvdy5qUXVlcnk9bigyNDA3MCksbig0MzczNCl9Y2F0Y2goZSl7fW4oODc0MDYpfSw2NTEwNzpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTtuKDI1ODkyKTt2YXIgcj1uKDUyNzMyKSxhPW4ubihyKSxvPW4oMzMyMTYpLGk9bi5uKG8pO25ldyhhKCkpKHtlbGVtZW50c19zZWxlY3RvcjoiLmxhenkifSksJCgoZnVuY3Rpb24oKXskKCdbZGF0YS10b2dnbGU9InRvb2x0aXAiXScpLnRvb2x0aXAoKSwkKCdbZGF0YS10b2dnbGU9InBvcG92ZXIiXScpLnBvcG92ZXIoKX0pKSxpKCkuaW5pdCgpLG4oODcxMTQpLG4oMTczMTkpLG4oMTY0MjcpLG4oMzk1MjMpLG4oNzEzOTApLG4oOTU5NDIpLG4oNTk0MDkpLG4oNzIxNTUpLG4oNDg2MjEpLG4oMzY4NDIpLG4oMzA1Miksbig5ODExNyksbig2ODkxOSksbigxMDU2Miksbig4NjE5OCksbigyNTQ2Miksbig0MjQ0OCksbig4Mzk0NCksbig0ODcwNil9LDE0OTY1OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO24oNjc4MTApLG4oODcxNCksbig5OTE5Nyksbig4MTgxNyksbig2OTc4OSksbig5MjAwNyl9LDk3NTMwOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO3ZhciByPW4oNzA1MzgpLGE9KG4oNDE1MzkpLG4oODg2NzQpLG4oNzQ5MTYpLG4oMTUzMDYpLG4oODc3NTcpKSxvPW4ubihhKTtmdW5jdGlvbiBpKGUsdCxuLHIsYSxvLGkpe3RyeXt2YXIgcz1lW29dKGkpLGw9cy52YWx1ZX1jYXRjaChlKXtyZXR1cm4gdm9pZCBuKGUpfXMuZG9uZT90KGwpOlByb21pc2UucmVzb2x2ZShsKS50aGVuKHIsYSl9dmFyIHM9e25hbWU6ImF1dG8tY29tcGxldGUiLGNvbXBvbmVudHM6e1Z1ZUJvb3RzdHJhcFR5cGVhaGVhZDpuKDI1OTAwKS5afSxwcm9wczpbImFwaVVybCJdLGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57dGVybXM6W10sdGVybVNlYXJjaDoiIixzZWxlY3RlZFRlcm06bnVsbH19LG1ldGhvZHM6e2dldFRlcm1zOmZ1bmN0aW9uKGUpe3ZhciB0LG49dGhpcztyZXR1cm4odD1vKCkubWFyaygoZnVuY3Rpb24gdCgpe3ZhciByO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoMCE9PWUubGVuZ3RoKXt0Lm5leHQ9MzticmVha31yZXR1cm4gbi50ZXJtcz1bXSx0LmFicnVwdCgicmV0dXJuIik7Y2FzZSAzOnJldHVybiB0Lm5leHQ9NSxheGlvcyhuLmFwaVVybC5yZXBsYWNlKCI6cXVlcnkiLGUpKTtjYXNlIDU6cmV0dXJuIHI9dC5zZW50LHQubmV4dD04LHIuZGF0YTtjYXNlIDg6bi50ZXJtcz10LnNlbnQ7Y2FzZSA5OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSksZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49YXJndW1lbnRzO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24ocixhKXt2YXIgbz10LmFwcGx5KGUsbik7ZnVuY3Rpb24gcyhlKXtpKG8scixhLHMsbCwibmV4dCIsZSl9ZnVuY3Rpb24gbChlKXtpKG8scixhLHMsbCwidGhyb3ciLGUpfXModm9pZCAwKX0pKX0pKCl9LGdvVG9Vcmw6ZnVuY3Rpb24oZSl7d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKX19LHdhdGNoOnt0ZXJtU2VhcmNoOl8uZGVib3VuY2UoKGZ1bmN0aW9uKGUpe3RoaXMuZ2V0VGVybXMoZSl9KSw1MDApfX0sbD1zLGM9big1MTkwMCksdT0oMCxjLlopKGwsdW5kZWZpbmVkLHVuZGVmaW5lZCwhMSxudWxsLG51bGwsbnVsbCkuZXhwb3J0cztuKDU2OTc3KSxuKDI2Njk5KTtmdW5jdGlvbiBkKGUpe3JldHVyblsiQlRDIiwiRVRIIiwiTFRDIl0uaW5jbHVkZXMoZSl9dmFyIGY9e25hbWU6ImN1cnJlbmN5LWNvbnZlcnRlciIscHJvcHM6e21vbmV5Ont0eXBlOkZ1bmN0aW9ufX0sbWV0aG9kczp7Y2FsY0N1cnJlbmN5OmZ1bmN0aW9uKGUpe3ZhciB0LG49dGhpcy4kcmVmcy5hbW91bnQ7dGhpcy5tb25leS5zZXR0aW5ncz17ZnJvbTp0aGlzLiRyZWZzLmN1cnJlbmN5MS52YWx1ZSx0bzp0aGlzLiRyZWZzLmN1cnJlbmN5Mi52YWx1ZX0sdD0odD10aGlzLm1vbmV5LmNvbnZlcnQocGFyc2VGbG9hdCgxKSkpLnRvRml4ZWQoNCksdCo9bi52YWx1ZSx0PWQodGhpcy4kcmVmcy5jdXJyZW5jeTEudmFsdWUpfHxkKHRoaXMuJHJlZnMuY3VycmVuY3kyLnZhbHVlKT9wYXJzZUZsb2F0KHQpOnQudG9GaXhlZCgyKSx0aGlzLiRyZWZzLnN1bS52YWx1ZT0iIixuLnZhbHVlPjAmJih0aGlzLiRyZWZzLnN1bS52YWx1ZT10KX19fSxtPSgwLGMuWikoZix1bmRlZmluZWQsdW5kZWZpbmVkLCExLG51bGwsbnVsbCxudWxsKS5leHBvcnRzLHA9big4NTkxMCksdj1uLm4ocCksaD17bmFtZToiY2FsY3VsYXRvcnMiLGNvbXBvbmVudHM6eyJjdXJyZW5jeS1jb252ZXJ0ZXIiOm19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57bW9uZXk6e319fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5meFJhdGVzKCk7digpLmJhc2U9IlVTRCIsdigpLnJhdGVzPWUuZngsdigpLmluZGljZXM9ZS5pbmRpY2VzLHRoaXMubW9uZXk9digpfSxtZXRob2RzOntmeFJhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmZvcmV4LWNhbGN1bGF0b3JzIikuZ2V0QXR0cmlidXRlKCJkYXRhLWZ4LXJhdGVzIik7cmV0dXJuIHRoaXMucHJvY2Vzc0ZldGNoRGF0YShKU09OLnBhcnNlKGUpKX0scHJvY2Vzc0ZldGNoRGF0YTpmdW5jdGlvbihlKXt2YXIgdD17VVNEOjF9LG49W107Zm9yKHZhciByIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShyKSYmKHRbZVtyXS5zeW1ib2xdPWVbcl0uYmlkLChlW3JdLnN5bWJvbC5sZW5ndGg+M3x8IldUSSI9PT1lW3JdLnN5bWJvbCkmJihuW2Vbcl0uc3ltYm9sXT17YmlkOmVbcl0uYmlkLGN1cnJlbmN5OmVbcl0uY3VycmVuY3l9LCJCUkVOVCI9PT1lW3JdLnN5bWJvbCYmKG5bZVtyXS5zeW1ib2xdPXtiaWQ6ZVtyXS5iaWQsY3VycmVuY3k6IlVTRCJ9KSksIlhUSSI9PT1lW3JdLnN5bWJvbCYmKHQuWFRJPWVbcl0uYmlkLG5bZVtyXS5zeW1ib2xdPXtiaWQ6ZVtyXS5iaWQsY3VycmVuY3k6IlVTRCJ9KSk7cmV0dXJue2Z4OnQsaW5kaWNlczpufX19fSxnPSgwLGMuWikoaCx1bmRlZmluZWQsdW5kZWZpbmVkLCExLG51bGwsbnVsbCxudWxsKS5leHBvcnRzLHk9KG4oNDcwNDIpLG4oNjgzMDkpLG4oOTEwMzgpLG4oNzg3ODMpLG4oODI1MjYpLG4oNDE4MTcpLG4oMzIxNjUpLG4oNjY5OTIpLG4oMzM5NDgpLG4oNjAyODUpLG4oNDE2MzcpLG4oNjk3MjApLG4oNjQ1MjkpKSxiPW4ubih5KTtmdW5jdGlvbiB3KGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbD09bilyZXR1cm47dmFyIHIsYSxvPVtdLGk9ITAscz0hMTt0cnl7Zm9yKG49bi5jYWxsKGUpOyEoaT0ocj1uLm5leHQoKSkuZG9uZSkmJihvLnB1c2goci52YWx1ZSksIXR8fG8ubGVuZ3RoIT09dCk7aT0hMCk7fWNhdGNoKGUpe3M9ITAsYT1lfWZpbmFsbHl7dHJ5e2l8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyBhfX1yZXR1cm4gb30oZSx0KXx8ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm47aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBTKGUsdCk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpOyJPYmplY3QiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKTtpZigiTWFwIj09PW58fCJTZXQiPT09bilyZXR1cm4gQXJyYXkuZnJvbShlKTtpZigiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKXJldHVybiBTKGUsdCl9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBTKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIEw9e25hbWU6ImZvcmV4LWNhbGN1bGF0b3IiLGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57YXBpOiIvYXBpL2NhbGN1bGF0ZS9wcmljZXMiLGxpY2VuY2U6IlByb2Zlc3Npb25hbCIsaXNBY3RpdmVMaWNlbmNlOiEwLGhpZGVQcm9maXQ6ITAsbGV2ZXJhZ2VPcHRpb25zOltdLHNlbGVjdGVkTG90U2l6ZU1heDoiIixzZWxlY3RlZExvdFNpemVNaW46IiJ9fSxtb3VudGVkOmZ1bmN0aW9uKCl7bmV3KGIoKSkoIi5pbnN0cnVtZW50LWNob2ljZXMiLHtzZWFyY2hFbmFibGVkOiEwLGl0ZW1TZWxlY3RUZXh0OiIiLHNob3VsZFNvcnQ6ITEsYWxsb3dIVE1MOiEwLGNsYXNzTmFtZXM6e2ZvY3VzU3RhdGU6ImZvY3VzLWJveC1zaGFkb3ctMCJ9fSk7dGhpcy5kcm9wZG93bigpfSxtZXRob2RzOntyZXNldDpmdW5jdGlvbigpe3ZhciBlPSIwLjAwIjt0aGlzLiRyZWZzLm9yaWdpbmFsU3dhcExvbmcuaW5uZXJIVE1MPWUsdGhpcy4kcmVmcy5vcmlnaW5hbFN3YXBTaG9ydC5pbm5lckhUTUw9ZSx0aGlzLiRyZWZzLmNvbnZlcnRlZFN3YXBMb25nLmlubmVySFRNTD1lLHRoaXMuJHJlZnMuY29udmVydGVkU3dhcFNob3J0LmlubmVySFRNTD1lLHRoaXMuJHJlZnMubWFyZ2luUmVxdWlyZW1lbnQuaW5uZXJIVE1MPWUsdGhpcy4kcmVmcy5waXBWYWx1ZS5pbm5lckhUTUw9ZSx0aGlzLiRyZWZzLnByb2ZpdC5pbm5lckhUTUw9ZSx0aGlzLiRyZWZzLmNvbnZlcnRlZEFjY291bnRDdXJyZW5jeU1hcmdpbi5pbm5lckhUTUw9IiIsdGhpcy4kcmVmcy5jb252ZXJ0ZWRBY2NvdW50Q3VycmVuY3lQaXAuaW5uZXJIVE1MPSIiLHRoaXMuJHJlZnMuY29udmVydGVkQWNjb3VudEN1cnJlbmN5UHJvZml0LmlubmVySFRNTD0iIix0aGlzLiRyZWZzLmxhc3RVcGRhdGVEYXRlLmlubmVySFRNTD0iIix0aGlzLiRyZWZzLmRhdGVVcGRhdGVkLmNsYXNzTGlzdC5hZGQoImludmlzaWJsZSIpLHRoaXMuJHJlZnMuZmFpbE1lc3NhZ2VzLmlubmVySFRNTD0iIix0aGlzLiRyZWZzLmZhaWxNZXNzYWdlcy5jbGFzc0xpc3QuYWRkKCJkLW5vbmUiKSx0aGlzLiRyZWZzLmxvdFNpemUuY2xhc3NMaXN0LnJlbW92ZSgiYm9yZGVyLWRhbmdlciIpLHRoaXMuJHJlZnMub3BlblByaWNlLmNsYXNzTGlzdC5yZW1vdmUoImJvcmRlci1kYW5nZXIiKSx0aGlzLiRyZWZzLmNsb3NlUHJpY2UuY2xhc3NMaXN0LnJlbW92ZSgiYm9yZGVyLWRhbmdlciIpLHRoaXMuJHJlZnMuaW52YWxpZExvdFNpemUuY2xhc3NMaXN0LnJlbW92ZSgiZC1ibG9jayIpLHRoaXMuZHJvcGRvd24oKX0sdG9nZ2xlTGljZW5jZTpmdW5jdGlvbihlKXt0aGlzLmxpY2VuY2U9ZSx0aGlzLmlzQWN0aXZlTGljZW5jZT0hdGhpcy5pc0FjdGl2ZUxpY2VuY2UsdGhpcy5yZXNldCgpfSx0b2dnbGVQcm9maXQ6ZnVuY3Rpb24oKXt0aGlzLmhpZGVQcm9maXQ9IXRoaXMuaGlkZVByb2ZpdCx0aGlzLiRyZWZzLm9wZW5QcmljZS52YWx1ZT0iIix0aGlzLiRyZWZzLmNsb3NlUHJpY2UudmFsdWU9IiIsdGhpcy5yZXNldCgpfSx1cmw6ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IFVSTCh3aW5kb3cubG9jYXRpb24ub3JpZ2luK3RoaXMuYXBpKTtyZXR1cm4gZS5hY2NvdW50Q3VycmVuY3kmJnQuc2VhcmNoUGFyYW1zLnNldCgiYWNjb3VudEN1cnJlbmN5IixlLmFjY291bnRDdXJyZW5jeSksZS5pbnN0cnVtZW50JiZ0LnNlYXJjaFBhcmFtcy5zZXQoImluc3RydW1lbnQiLGUuaW5zdHJ1bWVudCksZS5kaXJlY3Rpb24mJnQuc2VhcmNoUGFyYW1zLnNldCgiZGlyZWN0aW9uIixlLmRpcmVjdGlvbiksZS5sb3RTaXplJiZ0LnNlYXJjaFBhcmFtcy5zZXQoImxvdFNpemUiLGUubG90U2l6ZSksZS5vcGVuUHJpY2UmJnQuc2VhcmNoUGFyYW1zLnNldCgib3BlblByaWNlIixlLm9wZW5QcmljZSksZS5jbG9zZVByaWNlJiZ0LnNlYXJjaFBhcmFtcy5zZXQoImNsb3NlUHJpY2UiLGUuY2xvc2VQcmljZSksZS5sZXZlcmFnZSYmdC5zZWFyY2hQYXJhbXMuc2V0KCJsZXZlcmFnZSIsZS5sZXZlcmFnZSksdGhpcy5saWNlbmNlJiZ0LnNlYXJjaFBhcmFtcy5zZXQoImNsYXNzaWZpY2F0aW9uIix0aGlzLmxpY2VuY2UpLHR9LHZhbGlkYXRlOmZ1bmN0aW9uKGUpe2lmKCFlLmxvdFNpemUpcmV0dXJuIHRoaXMuJHJlZnMubG90U2l6ZS5jbGFzc0xpc3QuYWRkKCJib3JkZXItZGFuZ2VyIiksITE7aWYoITE9PT10aGlzLnZhbGlkYXRlTG90cygpKXJldHVybiExO2lmKCF0aGlzLmhpZGVQcm9maXQpe2lmKF8uaXNFbXB0eShlLm9wZW5QcmljZSkpcmV0dXJuIHRoaXMuJHJlZnMub3BlblByaWNlLmNsYXNzTGlzdC5hZGQoImJvcmRlci1kYW5nZXIiKSwhMTtpZihfLmlzRW1wdHkoZS5jbG9zZVByaWNlKSlyZXR1cm4gdGhpcy4kcmVmcy5jbG9zZVByaWNlLmNsYXNzTGlzdC5hZGQoImJvcmRlci1kYW5nZXIiKSwhMX19LHZhbGlkYXRlTG90czpmdW5jdGlvbigpe3ZhciBlPXBhcnNlRmxvYXQodGhpcy4kcmVmcy5sb3RTaXplLnZhbHVlKTtpZihlPHBhcnNlRmxvYXQodGhpcy5zZWxlY3RlZExvdFNpemVNaW4pfHxlPnBhcnNlRmxvYXQodGhpcy5zZWxlY3RlZExvdFNpemVNYXgpKXJldHVybiB0aGlzLiRyZWZzLmludmFsaWRMb3RTaXplLnF1ZXJ5U2VsZWN0b3IoInNwYW4iKS5pbm5lckhUTUw9dGhpcy5zZWxlY3RlZExvdFNpemVNaW4rIiAtICIrdGhpcy5zZWxlY3RlZExvdFNpemVNYXgsdGhpcy4kcmVmcy5pbnZhbGlkTG90U2l6ZS5jbGFzc0xpc3QuYWRkKCJkLWJsb2NrIiksdGhpcy4kcmVmcy5sb3RTaXplLmNsYXNzTGlzdC5hZGQoImJvcmRlci1kYW5nZXIiKSwhMX0sZHJvcGRvd246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLiRyZWZzLmluc3RydW1lbnRbdGhpcy4kcmVmcy5pbnN0cnVtZW50LnNlbGVjdGVkSW5kZXhdO2lmKGUpe3RoaXMuc2VsZWN0ZWRMb3RTaXplTWluPUpTT04ucGFyc2UoZS52YWx1ZSkubG90c2l6ZU1pbix0aGlzLnNlbGVjdGVkTG90U2l6ZU1heD1KU09OLnBhcnNlKGUudmFsdWUpLmxvdHNpemVNYXgsdGhpcy4kcmVmcy5sb3RTaXplLm1pbj10aGlzLnNlbGVjdGVkTG90U2l6ZU1pbix0aGlzLiRyZWZzLmxvdFNpemUubWF4PXRoaXMuc2VsZWN0ZWRMb3RTaXplTWF4O2Zvcih2YXIgdD1KU09OLnBhcnNlKHRoaXMuJHJlZnMubGV2ZXJhZ2UuZ2V0QXR0cmlidXRlKCJkYXRhLWxldmVyYWdlIikpLG49MCxyPU9iamVjdC5lbnRyaWVzKHQpO248ci5sZW5ndGg7bisrKXt2YXIgYT13KHJbbl0sMiksbz1hWzBdO2lmKGFbMV0uY2xhc3NpZmljYXRpb249PT10aGlzLmxpY2VuY2UpdGhpcy5sZXZlcmFnZU9wdGlvbnM9dFtvXS5sZXZlcmFnZU9wdGlvbnN9fX0sY2FsY3VsYXRlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXthY2NvdW50Q3VycmVuY3k6dGhpcy4kcmVmcy5hY2NvdW50Q3VycmVuY3kudmFsdWUsaW5zdHJ1bWVudDpKU09OLnBhcnNlKHRoaXMuJHJlZnMuaW5zdHJ1bWVudC52YWx1ZSkudmFsdWUsZGlyZWN0aW9uOnRoaXMuJHJlZnMuZGlyZWN0aW9uLnZhbHVlLGxvdFNpemU6dGhpcy4kcmVmcy5sb3RTaXplLnZhbHVlLG9wZW5QcmljZTp0aGlzLiRyZWZzLm9wZW5QcmljZS52YWx1ZSxjbG9zZVByaWNlOnRoaXMuJHJlZnMuY2xvc2VQcmljZS52YWx1ZSxsZXZlcmFnZTp0aGlzLiRyZWZzLmxldmVyYWdlLnZhbHVlfSxuPXRoaXMudXJsKHQpO3RoaXMucmVzZXQoKSwhMSE9PXRoaXMudmFsaWRhdGUodCkmJmF4aW9zLmdldChuKS50aGVuKChmdW5jdGlvbih0KXt2YXIgbj0hMCxyPXQuZGF0YS5lcnJvcnMsYT10LmRhdGEuY29kZSxvPWUuJHJlZnMuZmFpbE1lc3NhZ2VzO2lmKGUucmVzZXQoKSxyKXtmb3IodmFyIGk9MCxzPU9iamVjdC5lbnRyaWVzKHIpO2k8cy5sZW5ndGg7aSsrKXt2YXIgbD13KHNbaV0sMiksYz0obFswXSxsWzFdKTtmb3IodmFyIHUgaW4gYyljLmhhc093blByb3BlcnR5KHUpJiYoby5pbm5lckhUTUwrPWNbdV0rIjxicj4iKX1vLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLG49ITF9YSYmKG8uaW5uZXJIVE1MPXQuZGF0YS5tZXNzYWdlKyI8YnI+IixvLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLG49ITEpLG4mJihlLiRyZWZzLm9yaWdpbmFsU3dhcExvbmcuaW5uZXJIVE1MPXQuZGF0YS5vcmlnaW5hbFN3YXAubG9uZyxlLiRyZWZzLm9yaWdpbmFsU3dhcFNob3J0LmlubmVySFRNTD10LmRhdGEub3JpZ2luYWxTd2FwLnNob3J0LGUuJHJlZnMuY29udmVydGVkU3dhcExvbmcuaW5uZXJIVE1MPXQuZGF0YS5jb252ZXJ0ZWRTd2FwLmxvbmcsZS4kcmVmcy5jb252ZXJ0ZWRTd2FwU2hvcnQuaW5uZXJIVE1MPXQuZGF0YS5jb252ZXJ0ZWRTd2FwLnNob3J0LGUuJHJlZnMubWFyZ2luUmVxdWlyZW1lbnQuaW5uZXJIVE1MPXQuZGF0YS5tYXJnaW5SZXF1aXJlbWVudC50b0xvY2FsZVN0cmluZygpLGUuJHJlZnMucGlwVmFsdWUuaW5uZXJIVE1MPXQuZGF0YS5waXBWYWx1ZSxlLiRyZWZzLnByb2ZpdC5pbm5lckhUTUw9dC5kYXRhLnByb2ZpdCxlLiRyZWZzLmNvbnZlcnRlZEFjY291bnRDdXJyZW5jeU1hcmdpbi5pbm5lckhUTUw9dC5kYXRhLmFjY291bnRDdXJyZW5jeSxlLiRyZWZzLmNvbnZlcnRlZEFjY291bnRDdXJyZW5jeVBpcC5pbm5lckhUTUw9dC5kYXRhLmFjY291bnRDdXJyZW5jeSxlLiRyZWZzLmNvbnZlcnRlZEFjY291bnRDdXJyZW5jeVByb2ZpdC5pbm5lckhUTUw9dC5kYXRhLmFjY291bnRDdXJyZW5jeSxlLiRyZWZzLmxhc3RVcGRhdGVEYXRlLmlubmVySFRNTD1uZXcgRGF0ZSh0LmRhdGEuZGF0ZSkudG9VVENTdHJpbmcoKSxlLiRyZWZzLmRhdGVVcGRhdGVkLmNsYXNzTGlzdC5yZW1vdmUoImludmlzaWJsZSIpLG8uY2xhc3NMaXN0LmFkZCgiZC1ub25lIikpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtjb25zb2xlLmxvZyhlKX0pKX19fSxDPW4oOTMzNzkpLEE9bi5uKEMpLEU9bigzNjI5NSkscT17aW5zZXJ0OiJoZWFkIixzaW5nbGV0b246ITF9LFA9KEEoKShFLloscSksRS5aLmxvY2FscywoMCxjLlopKEwsdW5kZWZpbmVkLHVuZGVmaW5lZCwhMSxudWxsLCJlYWEyY2ExNCIsbnVsbCkuZXhwb3J0cyksVD1uKDQ0NzU5KSx4PXtuYW1lOiJRdW90ZXMiLGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57cGFpcnM6e2V1cnVzZDp7YmlkOjAsYXNrOjAsc3ByZWFkOjB9LGRlNDA6e2JpZDowLGFzazowLHNwcmVhZDowfSx4YXV1c2Q6e2JpZDowLGFzazowLHNwcmVhZDowfSxnYnB1c2Q6e2JpZDowLGFzazowLHNwcmVhZDowfSx1c2RqcHk6e2JpZDowLGFzazowLHNwcmVhZDowfSxhdWR1c2Q6e2JpZDowLGFzazowLHNwcmVhZDowfX19fSxtZXRob2RzOnt1cGRhdGVVSTpmdW5jdGlvbihlLHQpe3ZhciBuPXQuYixyPXQuYSxhPXQuYmFzO251bGwhPT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKyJiaWQiKSYmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUrImJpZCIpLmlubmVySFRNTD1uLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUrImFzayIpLmlubmVySFRNTD1yLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUrInNwcmVhZCIpLmlubmVySFRNTD1hLHRoaXMuZm9udENvbG9yKHQuYix0aGlzLnBhaXJzW2VdLmJpZCxlKyJiaWQiKSx0aGlzLmZvbnRDb2xvcih0LmEsdGhpcy5wYWlyc1tlXS5hc2ssZSsiYXNrIiksdGhpcy5zcHJlYWRCZ0NvbG9yKHQuYix0LmEsdGhpcy5wYWlyc1tlXS5zcHJlYWQsZSsic3ByZWFkIiksdGhpcy5wYWlyc1tlXS5iaWQ9dC5iLHRoaXMucGFpcnNbZV0uYXNrPXQuYSx0aGlzLnBhaXJzW2VdLnNwcmVhZD10LmItdC5hKX0sZm9udENvbG9yOmZ1bmN0aW9uKGUsdCxuKXtwYXJzZUZsb2F0KGUpPnBhcnNlRmxvYXQodCk/ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobikuY2xhc3NOYW1lPSJ0ZXh0LXN1Y2Nlc3MiOnBhcnNlRmxvYXQoZSk8cGFyc2VGbG9hdCh0KSYmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG4pLmNsYXNzTmFtZT0idGV4dC1kYW5nZXIiKX0sc3ByZWFkQmdDb2xvcjpmdW5jdGlvbihlLHQsbixyKXstMT09PW58fChwYXJzZUZsb2F0KG4pPnBhcnNlRmxvYXQoZSktcGFyc2VGbG9hdCh0KT9kb2N1bWVudC5nZXRFbGVtZW50QnlJZChyKS5jbGFzc05hbWU9InRleHQtbGlnaHQgYmctc3VjY2VzcyBweC0xIjpwYXJzZUZsb2F0KG4pPHBhcnNlRmxvYXQoZSktcGFyc2VGbG9hdCh0KSYmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHIpLmNsYXNzTmFtZT0idGV4dC1saWdodCBiZy1kYW5nZXIgcHgtMSIpKX19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKG51bGwhPT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVvdGVzIikpe3ZhciB0PShuZXcgVC5IdWJDb25uZWN0aW9uQnVpbGRlcikud2l0aFVybCgiaHR0cHM6Ly9tYXJrZXRpbmcuQXZhdHJhZGVycy5jb20vYXBpL2h1YiIse3NraXBOZWdvdGlhdGlvbjohMCx0cmFuc3BvcnQ6VC5IdHRwVHJhbnNwb3J0VHlwZS5XZWJTb2NrZXRzfSkuY29uZmlndXJlTG9nZ2luZyhULkxvZ0xldmVsLldhcm5pbmcpLndpdGhBdXRvbWF0aWNSZWNvbm5lY3QoWzAsMWUzLDVlMywxZTRdKS5idWlsZCgpO3Qub24oImNvbm5lY3RlZCIsKGZ1bmN0aW9uKGUpe30pKSx0Lm9uKCJkaXNjb25uZWN0ZWQiLChmdW5jdGlvbihlKXt9KSksdC5vbigic25hcHNob3QiLChmdW5jdGlvbih0KXt2YXIgbj1KU09OLnBhcnNlKHQpO2Zvcih2YXIgciBpbiBlLnBhaXJzKWlmKGUucGFpcnMuaGFzT3duUHJvcGVydHkocikpe2Zvcih2YXIgYT0hMSxvPTA7bzxuLmxlbmd0aDtvKyspaWYobltvXS5oYXNPd25Qcm9wZXJ0eSgicyIpJiZuW29dLnM9PT1yLnRvVXBwZXJDYXNlKCkpe2E9ITA7YnJlYWt9YXx8KGNvbnNvbGUubG9nKCIiLmNvbmNhdChyLnRvVXBwZXJDYXNlKCksIiBpcyBub3QgaW4gdGhlIHBheWxvYWQuIikpLGRlbGV0ZSBlLnBhaXJzW3JdKX1mb3IodmFyIGk9MDtpPG4ubGVuZ3RoO2krKyllLnVwZGF0ZVVJKG5baV0ucy50b0xvd2VyQ2FzZSgpLG5baV0pfSkpLHQuc3RhcnQoKS50aGVuKChmdW5jdGlvbigpe3QuaW52b2tlKCJpbml0aWFsaXplQXN5bmMiLCJtYXJrZXRpbmciKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIGNvbnNvbGUubG9nKGUpfSkpLHdpbmRvdy5vbmJlZm9yZXVubG9hZD1mdW5jdGlvbigpe3Quc3RvcCgpfX19fSxrPSgwLGMuWikoeCx1bmRlZmluZWQsdW5kZWZpbmVkLCExLG51bGwsbnVsbCxudWxsKS5leHBvcnRzLEk9KG4oNjQ3NjUpLG4oMzIwMjMpLG4oMzk3MTQpLG4oNTczMjcpLHtuYW1lOiJWdWVUYWJsZSIsZGF0YTpmdW5jdGlvbigpe3JldHVybntwYWdlU2l6ZToxMCxjdXJyZW50UGFnZToxLHNlYXJjaDoiIixwYWdpbmF0aW9uTGltaXQ6N319LHByb3BzOntoZWFkZXJzOnt0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LHJvd3M6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0sc2VhcmNoSW5wdXRTZWxlY3Rvcjp7dHlwZTpTdHJpbmd9LGZuUmVuZGVyQ29sdW1uOnt0eXBlOkZ1bmN0aW9ufSxhbHRlcm5hdGVSb3c6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxoaWRlQ29sdW1uczp7dHlwZTpBcnJheSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuZm5SZW5kZXJDb2x1bW4mJih0aGlzLnJlbmRlckNvbHVtbj10aGlzLmZuUmVuZGVyQ29sdW1uKX0sbW91bnRlZDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYodGhpcy5zZWFyY2hJbnB1dFNlbGVjdG9yLmxlbmd0aD4wKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuc2VhcmNoSW5wdXRTZWxlY3Rvcik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsKGZ1bmN0aW9uKHQpe2Uuc2VhcmNoPXQuY3VycmVudFRhcmdldC52YWx1ZX0pKX19LG1ldGhvZHM6e3JlbmRlckNvbHVtbjpmdW5jdGlvbihlLHQpe3JldHVybiBlfSxuZXh0UGFnZTpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jdXJyZW50UGFnZTx0aGlzLnRvdGFsUGFnZXMmJnRoaXMuY3VycmVudFBhZ2UrK30scHJldlBhZ2U6ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY3VycmVudFBhZ2U+MSYmdGhpcy5jdXJyZW50UGFnZS0tfSxnb1RvUGFnZTpmdW5jdGlvbihlLHQpe3QucHJldmVudERlZmF1bHQoKSxlPD10aGlzLnRvdGFsUGFnZXMmJih0aGlzLmN1cnJlbnRQYWdlPWUpfSxyb3dDb250YWluc1ZhbHVlOmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSYmZVtuXS52YWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModC50b0xvd2VyQ2FzZSgpKSlyZXR1cm4hMDtyZXR1cm4hMX19LGNvbXB1dGVkOnt0b3RhbFBhZ2VzOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLnNlYXJjaFJvd3MubGVuZ3RoL3RoaXMucGFnZVNpemUpfSxzdGFydFBhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b3RhbFBhZ2VzPD10aGlzLnBhZ2luYXRpb25MaW1pdHx8MT09PXRoaXMuY3VycmVudFBhZ2U/MTp0aGlzLmN1cnJlbnRQYWdlPHRoaXMucGFnaW5hdGlvbkxpbWl0P3RoaXMuY3VycmVudFBhZ2U+dGhpcy5wYWdpbmF0aW9uTGltaXQtTWF0aC5mbG9vcih0aGlzLnBhZ2luYXRpb25MaW1pdC8yKT90aGlzLmN1cnJlbnRQYWdlLU1hdGguZmxvb3IodGhpcy5wYWdpbmF0aW9uTGltaXQvMik6MTp0aGlzLmN1cnJlbnRQYWdlPT09dGhpcy50b3RhbFBhZ2VzfHx0aGlzLmN1cnJlbnRQYWdlPj10aGlzLnRvdGFsUGFnZXMtTWF0aC5mbG9vcih0aGlzLnBhZ2luYXRpb25MaW1pdC8yKT90aGlzLnRvdGFsUGFnZXMtdGhpcy5wYWdpbmF0aW9uTGltaXQrMTp0aGlzLmN1cnJlbnRQYWdlLU1hdGguZmxvb3IodGhpcy5wYWdpbmF0aW9uTGltaXQvMil9LHBhZ2VzOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9TWF0aC5taW4odGhpcy5zdGFydFBhZ2UrdGhpcy5wYWdpbmF0aW9uTGltaXQtMSx0aGlzLnRvdGFsUGFnZXMpLG49dGhpcy5zdGFydFBhZ2U7bjw9dDtuKz0xKWUucHVzaCh7a2V5Om4sbmFtZTpuLGNsYXNzOm49PT10aGlzLmN1cnJlbnRQYWdlPyJhY3RpdmUiOiIifSk7cmV0dXJuIGUubGVuZ3RoPjAmJjEhPT1lWzBdLm5hbWUmJigyIT09ZVswXS5uYW1lJiZlLnVuc2hpZnQoe2tleToyLG5hbWU6Ii4uLiIsY2xhc3M6ImRpc2FibGVkIn0pLGUudW5zaGlmdCh7a2V5OjEsbmFtZToxLGNsYXNzOjE9PT10aGlzLmN1cnJlbnRQYWdlPyJhY3RpdmUiOiIifSkpLGUubGVuZ3RoPjAmJmVbZS5sZW5ndGgtMV0ubmFtZSE9PXRoaXMudG90YWxQYWdlcyYmKGVbZS5sZW5ndGgtMV0ubmFtZSE9PXRoaXMudG90YWxQYWdlcy0xJiZlLnB1c2goe2tleTp0aGlzLnRvdGFsUGFnZXMtMSxuYW1lOiIuLi4iLGNsYXNzOiJkaXNhYmxlZCJ9KSxlLnB1c2goe2tleTp0aGlzLnRvdGFsUGFnZXMsbmFtZTp0aGlzLnRvdGFsUGFnZXMsY2xhc3M6dGhpcy50b3RhbFBhZ2VzPT09dGhpcy5jdXJyZW50UGFnZT8iYWN0aXZlIjoiIn0pKSxlfSxzZWFyY2hSb3dzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5jdXJyZW50UGFnZT0xLDA9PT10aGlzLnNlYXJjaC5sZW5ndGg/dGhpcy5yb3dzOnRoaXMucm93cy5maWx0ZXIoKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGUucm93Q29udGFpbnNWYWx1ZSh0LGUuc2VhcmNoKX0pKX0scGFnaW5hdGVkUm93czpmdW5jdGlvbigpe3ZhciBlPSh0aGlzLmN1cnJlbnRQYWdlLTEpKnRoaXMucGFnZVNpemUsdD1NYXRoLm1pbihlK3RoaXMucGFnZVNpemUtMSx0aGlzLnJvd3MubGVuZ3RoLTEpO3JldHVybiB0aGlzLnNlYXJjaFJvd3MuZmlsdGVyKChmdW5jdGlvbihuLHIpe3JldHVybiByPj1lJiZyPD10fSkpfX19KSxWPSgwLGMuWikoSSwoZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS4kY3JlYXRlRWxlbWVudCxuPWUuX3NlbGYuX2N8fHQ7cmV0dXJuIG4oImRpdiIse3N0YXRpY0NsYXNzOiJ2dWUtdGFibGUifSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InRhYmxlLXJlc3BvbnNpdmUgbWItMyJ9LFtuKCJ0YWJsZSIse2NsYXNzOiJ0YWJsZSB0ZXh0LWNlbnRlciBtYi0wICIrKGUuYWx0ZXJuYXRlUm93PyJ0YWJsZS1zdHJpcGVkIjoiIil9LFtuKCJ0aGVhZCIsZS5fbCh0aGlzLmhlYWRlcnMsKGZ1bmN0aW9uKHQpe3JldHVybiBuKCJ0ciIse2NsYXNzOnQuY2xhc3N9LGUuX2wodC5jb2x1bW5zLChmdW5jdGlvbih0KXtyZXR1cm4gbigidGQiLHtzdGF0aWNDbGFzczoiYm9yZGVyLXRvcC0wIGFsaWduLW1pZGRsZSIsYXR0cnM6e2NvbHNwYW46dC5jb2xzcGFufX0sW2UuX3YoIlxuICAgICAgICAgICAgICAgICAgICAiK2UuX3ModC5uYW1lKSsiXG4gICAgICAgICAgICAgICAgIildKX0pKSwwKX0pKSwwKSxlLl92KCIgIiksbigidGJvZHkiLHtzdGF0aWNDbGFzczoidGV4dC0xNCJ9LGUuX2wodGhpcy5wYWdpbmF0ZWRSb3dzLChmdW5jdGlvbih0KXtyZXR1cm4gbigidHIiLGUuX2wodCwoZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5oaWRlQ29sdW1ucy5pbmNsdWRlcyhyKT9lLl9lKCk6bigidGQiLHtjbGFzczp0LmNsYXNzLGRvbVByb3BzOntpbm5lckhUTUw6ZS5fcyhlLnJlbmRlckNvbHVtbih0LnZhbHVlLHIpKX19KX0pKSwwKX0pKSwwKV0pXSksZS5fdigiICIpLGUudG90YWxQYWdlcz4xP24oImRpdiIsW24oIm5hdiIse2F0dHJzOnsiYXJpYS1sYWJlbCI6IlRhYmxlIFBhZ2luYXRpb24ifX0sW24oInVsIix7c3RhdGljQ2xhc3M6InBhZ2luYXRpb24gZmxleC13cmFwIGp1c3RpZnktY29udGVudC1lbmQifSxbbigibGkiLHtzdGF0aWNDbGFzczoicGFnZS1pdGVtIn0sW24oImEiLHtzdGF0aWNDbGFzczoicGFnZS1saW5rIixhdHRyczp7aHJlZjoiIyIsImFyaWEtbGFiZWwiOiJQcmV2aW91cyJ9LG9uOntjbGljazpmdW5jdGlvbih0KXtyZXR1cm4gZS5wcmV2UGFnZSh0KX19fSxbbigic3BhbiIse2F0dHJzOnsiYXJpYS1oaWRkZW4iOiJ0cnVlIn19LFtlLl92KCLCqyIpXSksZS5fdigiICIpLG4oInNwYW4iLHtzdGF0aWNDbGFzczoic3Itb25seSJ9LFtlLl92KCJQcmV2aW91cyIpXSldKV0pLGUuX3YoIiAiKSxlLl9sKGUucGFnZXMsKGZ1bmN0aW9uKHQpe3JldHVybiBuKCJsaSIse2tleTp0LmtleSxzdGF0aWNDbGFzczoicGFnZS1pdGVtIixjbGFzczp0LmNsYXNzfSxbbigiYSIse3N0YXRpY0NsYXNzOiJwYWdlLWxpbmsiLGF0dHJzOntocmVmOiIjIn0sb246e2NsaWNrOmZ1bmN0aW9uKG4pe3JldHVybiBlLmdvVG9QYWdlKHQubmFtZSxuKX19fSxbZS5fdihlLl9zKHQubmFtZSkpXSldKX0pKSxlLl92KCIgIiksbigibGkiLHtzdGF0aWNDbGFzczoicGFnZS1pdGVtIn0sW24oImEiLHtzdGF0aWNDbGFzczoicGFnZS1saW5rIixhdHRyczp7aHJlZjoiIyIsImFyaWEtbGFiZWwiOiJOZXh0In0sb246e2NsaWNrOmZ1bmN0aW9uKHQpe3JldHVybiBlLm5leHRQYWdlKHQpfX19LFtuKCJzcGFuIix7YXR0cnM6eyJhcmlhLWhpZGRlbiI6InRydWUifX0sW2UuX3YoIsK7IildKSxlLl92KCIgIiksbigic3BhbiIse3N0YXRpY0NsYXNzOiJzci1vbmx5In0sW2UuX3YoIk5leHQiKV0pXSldKV0sMildKV0pOmUuX2UoKV0pfSksW10sITEsbnVsbCwiMjRiZjFkNWMiLG51bGwpLmV4cG9ydHMsTT17bmFtZToiTXlWdWVUYWJsZSIsY29tcG9uZW50czp7VnVlVGFibGU6Vn0sY29tbWVudHM6e1Z1ZVRhYmxlOlZ9LHByb3BzOntoZWFkZXJzOnt0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LGpzb25Sb3dzOnt0eXBlOlN0cmluZ30sc2VhcmNoSW5wdXRTZWxlY3Rvcjp7dHlwZTpTdHJpbmd9LGFsdGVybmF0ZVJvdzp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5yb3dzPUpTT04ucGFyc2UodGhpcy5qc29uUm93cyl9fSxEPSgwLGMuWikoTSwoZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS4kY3JlYXRlRWxlbWVudDtyZXR1cm4oZS5fc2VsZi5fY3x8dCkoIlZ1ZVRhYmxlIix7YXR0cnM6e2hlYWRlcnM6ZS5oZWFkZXJzLHJvd3M6ZS5yb3dzLCJzZWFyY2gtaW5wdXQtc2VsZWN0b3IiOmUuc2VhcmNoSW5wdXRTZWxlY3RvciwiYWx0ZXJuYXRlLXJvdyI6ZS5hbHRlcm5hdGVSb3d9fSl9KSxbXSwhMSxudWxsLCI0ZDJmMTM4NCIsbnVsbCkuZXhwb3J0cyxPPShuKDkyMjIyKSx7bmFtZToiU3ltYm9sRGF0YVZ1ZVRhYmxlIixjb21wb25lbnRzOntWdWVUYWJsZTpWfSxjb21tZW50czp7VnVlVGFibGU6Vn0scHJvcHM6e2hlYWRlcnM6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0sanNvblJvd3M6e3R5cGU6U3RyaW5nfSxzZWFyY2hJbnB1dFNlbGVjdG9yOnt0eXBlOlN0cmluZ30sYWx0ZXJuYXRlUm93Ont0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sYmFzZVVybDp7dHlwZTpTdHJpbmcscmVxdWlyZWQ6ITB9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5yb3dzPUpTT04ucGFyc2UodGhpcy5qc29uUm93cyl9LG1ldGhvZHM6e3JlbmRlckNvbHVtbjpmdW5jdGlvbihlLHQpe3JldHVybiJzeW1ib2wiPT09dD8iV1RJIChYVElVU0QpIj09PWU/IjxhIGhyZWY9JyIuY29uY2F0KHRoaXMuYmFzZVVybCwiLyIsInd0aSIsIicgdGl0bGU9JyIpLmNvbmNhdChlLCInPiIpLmNvbmNhdChlLCI8L2E+Iik6IjxhIGhyZWY9JyIuY29uY2F0KHRoaXMuYmFzZVVybCwiLyIpLmNvbmNhdChlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgiIyIsIiIpLCInIHRpdGxlPSciKS5jb25jYXQoZSwiJz4iKS5jb25jYXQoZSwiPC9hPiIpOmV9fX0pLGo9KDAsYy5aKShPLChmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLiRjcmVhdGVFbGVtZW50O3JldHVybihlLl9zZWxmLl9jfHx0KSgiVnVlVGFibGUiLHthdHRyczp7aGVhZGVyczplLmhlYWRlcnMscm93czplLnJvd3MsInNlYXJjaC1pbnB1dC1zZWxlY3RvciI6ZS5zZWFyY2hJbnB1dFNlbGVjdG9yLCJhbHRlcm5hdGUtcm93IjplLmFsdGVybmF0ZVJvdywiZm4tcmVuZGVyLWNvbHVtbiI6ZS5yZW5kZXJDb2x1bW59fSl9KSxbXSwhMSxudWxsLCIwYmI5ZDVlYSIsbnVsbCkuZXhwb3J0cyxIPW4oNjUyMDYpLCQ9e25hbWU6IkZvQ29tbWlzc2lvbnNWdWVUYWJsZSIsY29tcG9uZW50czp7VnVlR29vZFRhYmxlOkguS30scHJvcHM6e2NvbHVtbnM6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0sanNvblJvd3M6e3R5cGU6U3RyaW5nfSxzZWFyY2hQbGFjZWhvbGRlcjp7dHlwZTpTdHJpbmd9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5yb3dzPUpTT04ucGFyc2UodGhpcy5qc29uUm93cyl9fSxOPSgwLGMuWikoJCwoZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS4kY3JlYXRlRWxlbWVudCxuPWUuX3NlbGYuX2N8fHQ7cmV0dXJuIG4oImRpdiIsW24oInZ1ZS1nb29kLXRhYmxlIix7YXR0cnM6e2NvbHVtbnM6ZS5jb2x1bW5zLHJvd3M6ZS5yb3dzLCJzZWFyY2gtb3B0aW9ucyI6e2VuYWJsZWQ6ITAscGxhY2Vob2xkZXI6ZS5zZWFyY2hQbGFjZWhvbGRlcn0sInNvcnQtb3B0aW9ucyI6e2VuYWJsZWQ6ITF9LCJwYWdpbmF0aW9uLW9wdGlvbnMiOntlbmFibGVkOiEwLG1vZGU6InJlY29yZHMiLHBlclBhZ2U6MTAscG9zaXRpb246ImJvdHRvbSIscGVyUGFnZURyb3Bkb3duOlsxMCwyMCw1MCwxMDBdLGRyb3Bkb3duQWxsb3dBbGw6ITEsc2V0Q3VycmVudFBhZ2U6MSxuZXh0TGFiZWw6Im5leHQiLHByZXZMYWJlbDoicHJldiIscm93c1BlclBhZ2VMYWJlbDoiUm93cyBwZXIgcGFnZSIsb2ZMYWJlbDoib2YiLHBhZ2VMYWJlbDoicGFnZSIsYWxsTGFiZWw6IkFsbCJ9LHN0eWxlQ2xhc3M6InZndC10YWJsZSBzdHJpcGVkIGNvbmRlbnNlZCBmb250LXNpemUtMTQifX0sW24oImRpdiIse2F0dHJzOntzbG90OiJlbXB0eXN0YXRlIn0sc2xvdDoiZW1wdHlzdGF0ZSJ9LFtlLl92KCLCoCIpXSldKV0sMSl9KSxbXSwhMSxudWxsLCIyYmVlZTZmNSIsbnVsbCkuZXhwb3J0cyxVPXtuYW1lOiJGb0NvbnRyYWN0U3BlY3NHb29kVGFibGUiLGNvbXBvbmVudHM6e1Z1ZUdvb2RUYWJsZTpILkt9LHByb3BzOntjb2x1bW5zOnt0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LGpzb25Sb3dzOnt0eXBlOlN0cmluZ30sc2VhcmNoUGxhY2Vob2xkZXI6e3R5cGU6U3RyaW5nfX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMucm93cz1KU09OLnBhcnNlKHRoaXMuanNvblJvd3MpfX0sQj0oMCxjLlopKFUsKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuJGNyZWF0ZUVsZW1lbnQsbj1lLl9zZWxmLl9jfHx0O3JldHVybiBuKCJkaXYiLFtuKCJ2dWUtZ29vZC10YWJsZSIse2F0dHJzOntjb2x1bW5zOmUuY29sdW1ucyxyb3dzOmUucm93cywic2VhcmNoLW9wdGlvbnMiOntlbmFibGVkOiEwLHBsYWNlaG9sZGVyOmUuc2VhcmNoUGxhY2Vob2xkZXJ9LCJzb3J0LW9wdGlvbnMiOntlbmFibGVkOiExfSwicGFnaW5hdGlvbi1vcHRpb25zIjp7ZW5hYmxlZDohMCxtb2RlOiJyZWNvcmRzIixwZXJQYWdlOjEwLHBvc2l0aW9uOiJib3R0b20iLHBlclBhZ2VEcm9wZG93bjpbMTAsMjAsNTAsMTAwXSxkcm9wZG93bkFsbG93QWxsOiExLHNldEN1cnJlbnRQYWdlOjEsbmV4dExhYmVsOiJuZXh0IixwcmV2TGFiZWw6InByZXYiLHJvd3NQZXJQYWdlTGFiZWw6IlJvd3MgcGVyIHBhZ2UiLG9mTGFiZWw6Im9mIixwYWdlTGFiZWw6InBhZ2UiLGFsbExhYmVsOiJBbGwifSxzdHlsZUNsYXNzOiJ2Z3QtdGFibGUgc3RyaXBlZCBjb25kZW5zZWQgZm9udC1zaXplLTE0In0sc2NvcGVkU2xvdHM6ZS5fdShbe2tleToidGFibGUtcm93IixmbjpmdW5jdGlvbih0KXtyZXR1cm5bInByb2R1Y3QiPT10LmNvbHVtbi5maWVsZD9uKCJzcGFuIixbbigiYSIse2F0dHJzOntocmVmOnQucm93LnJlZmVyZW5jZV9saW5rLHRhcmdldDoiX2JsYW5rIn19LFtlLl92KGUuX3ModC5yb3cucHJvZHVjdCkpXSldKTpuKCJzcGFuIixbZS5fdigiXG4gICAgICAgICAgICAgICIrZS5fcyh0LmZvcm1hdHRlZFJvd1t0LmNvbHVtbi5maWVsZF0pKyJcbiAgICAgICAgICAgICIpXSldfX1dKX0sW24oImRpdiIse2F0dHJzOntzbG90OiJlbXB0eXN0YXRlIn0sc2xvdDoiZW1wdHlzdGF0ZSJ9LFtlLl92KCLCoCIpXSldKV0sMSl9KSxbXSwhMSxudWxsLCIyODU0YmQwMCIsbnVsbCkuZXhwb3J0cyxGPXtuYW1lOiJTaW1wbGVUYWJsZSIsY29tcG9uZW50czp7VnVlVGFibGU6Vn0sY29tbWVudHM6e1Z1ZVRhYmxlOlZ9LHByb3BzOntoZWFkZXJzOnt0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LGpzb25Sb3dzOnt0eXBlOlN0cmluZ30sc2VhcmNoSW5wdXRTZWxlY3Rvcjp7dHlwZTpTdHJpbmd9LGFsdGVybmF0ZVJvdzp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5yb3dzPUpTT04ucGFyc2UodGhpcy5qc29uUm93cyl9fSxaPSgwLGMuWikoRiwoZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS4kY3JlYXRlRWxlbWVudDtyZXR1cm4oZS5fc2VsZi5fY3x8dCkoIlZ1ZVRhYmxlIix7YXR0cnM6e2hlYWRlcnM6ZS5oZWFkZXJzLHJvd3M6ZS5yb3dzLCJzZWFyY2gtaW5wdXQtc2VsZWN0b3IiOmUuc2VhcmNoSW5wdXRTZWxlY3RvciwiYWx0ZXJuYXRlLXJvdyI6ZS5hbHRlcm5hdGVSb3d9fSl9KSxbXSwhMSxudWxsLCI0NTA2OGE1OCIsbnVsbCkuZXhwb3J0cyxSPShuKDU0NzQ3KSx7bmFtZToiU3RvY2tzR29vZFRhYmxlIixjb21wb25lbnRzOntWdWVUYWJsZTpWfSxwcm9wczp7aGVhZGVyczp7dHlwZTpBcnJheSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuW119fSxqc29uUm93czp7dHlwZTpTdHJpbmd9LHNlYXJjaElucHV0U2VsZWN0b3I6e3R5cGU6U3RyaW5nfSxhbHRlcm5hdGVSb3c6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSx0eXBlOnt0eXBlOlN0cmluZ30sbGV2ZXJhZ2U6e3R5cGU6U3RyaW5nfX0sY3JlYXRlZDpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcy50eXBlLG49dGhpcy5sZXZlcmFnZTtKU09OLnBhcnNlKHRoaXMuanNvblJvd3MpLmZvckVhY2goKGZ1bmN0aW9uKHIsYSl7ZVthXT17c3ltYm9sOnt2YWx1ZTpyLnN5bWJvbH0sc3ltYm9sX25hbWU6e3ZhbHVlOnIuc3ltYm9sX25hbWV9LGN1cnJlbmN5Ont2YWx1ZTpyLmN1cnJlbmN5fSxsZXZlcmFnZV9wcm86e3ZhbHVlOnIubGV2ZXJhZ2VfcHJvfSx0cmFkaW5nX2hvdXJzOnt2YWx1ZTpyLnRyYWRpbmdfaG91cnN9LGNvbW1pc3Npb246e3ZhbHVlOnIuY29tbWlzc2lvbn0sc2hvcnRfc2VsbGluZzp7dmFsdWU6ci5zaG9ydF9zZWxsaW5nfX0sInJldGFpbCI9PT1uJiYoZVthXT17c3ltYm9sOnt2YWx1ZTpyLnN5bWJvbH0sc3ltYm9sX25hbWU6e3ZhbHVlOnIuc3ltYm9sX25hbWV9LGN1cnJlbmN5Ont2YWx1ZTpyLmN1cnJlbmN5fSxsZXZlcmFnZV9wcm86e3ZhbHVlOnIubGV2ZXJhZ2VfcHJvfSxsZXZlcmFnZV9yZXRhaWw6e3ZhbHVlOnIubGV2ZXJhZ2VfcmV0YWlsfSx0cmFkaW5nX2hvdXJzOnt2YWx1ZTpyLnRyYWRpbmdfaG91cnN9LGNvbW1pc3Npb246e3ZhbHVlOnIuY29tbWlzc2lvbn0sc2hvcnRfc2VsbGluZzp7dmFsdWU6ci5zaG9ydF9zZWxsaW5nfX0pLCJ1cGNvbWluZyI9PT10JiYoZVthXT17c3ltYm9sOnt2YWx1ZTpyLnN5bWJvbH0sc3ltYm9sX25hbWU6e3ZhbHVlOnIuc3ltYm9sX25hbWV9LGV4Y2hhbmdlOnt2YWx1ZTpyLmV4Y2hhbmdlfSxkaXZpZGVuZF9leF9kYXRlOnt2YWx1ZTpyLmRpdmlkZW5kX2V4X2RhdGV9LGdyb3NzX2RpdmlkZW5kX2Ftb3VudDp7dmFsdWU6ci5ncm9zc19kaXZpZGVuZF9hbW91bnR9LGN1cnJlbmN5Ont2YWx1ZTpyLmN1cnJlbmN5fX0pfSkpLHRoaXMucm93cz1lfSxtZXRob2RzOntyZW5kZXJDb2x1bW46ZnVuY3Rpb24oZSx0KXtyZXR1cm4ic2hvcnRfc2VsbGluZyI9PT10PyJmYWxzZSI9PT1lPyc8aSBjbGFzcz0iZmFzIGZhLXRpbWVzIj48L2k+JzonPGkgY2xhc3M9ImZhcyBmYS1jaGVjayI+PC9pPic6ZX19fSksej0oMCxjLlopKFIsKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuJGNyZWF0ZUVsZW1lbnQ7cmV0dXJuKGUuX3NlbGYuX2N8fHQpKCJWdWVUYWJsZSIse2F0dHJzOntoZWFkZXJzOmUuaGVhZGVycyxyb3dzOmUucm93cywic2VhcmNoLWlucHV0LXNlbGVjdG9yIjplLnNlYXJjaElucHV0U2VsZWN0b3IsImFsdGVybmF0ZS1yb3ciOmUuYWx0ZXJuYXRlUm93LCJmbi1yZW5kZXItY29sdW1uIjplLnJlbmRlckNvbHVtbn19KX0pLFtdLCExLG51bGwsImUxNDUxMDk4IixudWxsKS5leHBvcnRzLFg9e25hbWU6ImZ4LWNoYXJ0Iixwcm9wczpbImFsbG93ZnVsbHNjcmVlbiIsInJlZmVycmVycG9saWN5IiwiaW5zdHJ1bWVudCJdLGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57ZW5kcG9pbnQ6Imh0dHBzOi8vZmlnYXJvLXdpZGdldHMuZnhibHVlbGFicy5jb20iLHVybDoiL2lmcmFtZS1BdmF0cmFkZXJzL3dpZGdldCIscGFyYW1zOnt0eXBlOiJjaGFydCIsc2V0dGluZ3NTdG9yYWdlOiJ5ZXMiLHdhbnRQcmljZXM6InllcyIsY29sb3JMb25nOiJncmVlbiIsY29sb3JTaG9ydDoicmVkIixpbnN0cnVtZW50SWQ6dGhpcy4kcHJvcHMuaW5zdHJ1bWVudCx0aW1lZnJhbWU6ODY0MDAsIndpZGdldFNldHRpbmctbm9BY3Rpb25JY29uIjoieWVzIiwid2lkZ2V0U2V0dGluZy1ub05ld1dpbmRvd0FjdGlvbkljb24iOiJ5ZXMiLCJ3aWRnZXRTZXR0aW5nLWhpZGVJbnN0cnVtZW50IjoieWVzIiwid2lkZ2V0U2V0dGluZy1pbml0aWFsUHJpY2VTdHlsZSI6ImNhbmRsZSIsIndpZGdldFNldHRpbmctaGlkZU5hdmlnYXRpb24iOiJ5ZXMifX19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgZSx0LG49dGhpcy4kcmVmcy5meENoYXJ0LHI9bmV3IFVSTFNlYXJjaFBhcmFtcyh0aGlzLnBhcmFtcykudG9TdHJpbmcoKSxhPW5ldyBVUkwodGhpcy5lbmRwb2ludCt0aGlzLnVybCsiPyIrciksbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtvLnNyYz1hLmhyZWYsby5jbGFzc0xpc3QuYWRkKCJlbWJlZC1yZXNwb25zaXZlLWl0ZW0iKSxvLnNldEF0dHJpYnV0ZSgiYWxsb3dGdWxsU2NyZWVuIixudWxsIT09KGU9dGhpcy4kcHJvcHMuYWxsb3dmdWxsc2NyZWVuKSYmdm9pZCAwIT09ZT9lOiJ5ZXMiKSxvLnNldEF0dHJpYnV0ZSgicmVmZXJyZXJwb2xpY3kiLG51bGwhPT0odD10aGlzLiRwcm9wcy5yZWZlcnJlcnBvbGljeSkmJnZvaWQgMCE9PXQ/dDoib3JpZ2luIiksbi5hcHBlbmRDaGlsZChvKX19LEo9KDAsYy5aKShYLHVuZGVmaW5lZCx1bmRlZmluZWQsITEsbnVsbCxudWxsLG51bGwpLmV4cG9ydHM7ci5aLmNvbmZpZy5pZ25vcmVkRWxlbWVudHM9WyJyZWQiXTtuZXcgci5aKHtlbDoiI2FwcCIsY29tcG9uZW50czp7QXV0b0NvbXBsZXRlOnUsQ2FsY3VsYXRvcnM6ZyxGb3JleENhbGN1bGF0b3I6UCxRdW90ZXM6ayxJYkNvbXBldGl0aW9uVnVlVGFibGU6RCxTeW1ib2xEYXRhVnVlVGFibGU6aixGb0NvbW1pc3Npb25zVnVlVGFibGU6TixGb0NvbnRyYWN0U3BlY3NHb29kVGFibGU6QixTaW1wbGVWdWVUYWJsZTpaLFN0b2Nrc0dvb2RUYWJsZTp6LEZ4Q2hhcnQ6Sn19KX0sNDI0NDg6ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYWN1aXR5LXdpZGdldC1jb250YWluZXIiKTtpZihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgiZGF0YS1sb2NhbGUiKTtBY3VpdHlXaWRnZXRzLmdsb2JhbHMoe2FwaWtleToiNjU4NWY2OTUtMzdlNS00ZTE4LTg1ZWUtNWVlZGNmODQyMGJhIixsb2NhbGU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZSxuPXthcjoiYXItQUUiLGVuOiJlbi1HQiIscnU6InJ1LVJVIixlczoiZXMtRVMiLGNuOiJ6aC1DTiIsaXQ6Iml0LUlUIixkZToiZGUtREUiLHBsOiJwbC1QTCIsaWQ6ImlkLUlEIixwdDoicHQtUFQiLHRoOiJ0aC1USCIsdmk6InZpLXZuIn07dD0iZW4tR0IiLG5bZV0mJih0PW5bZV0pO3JldHVybiB0fSh0KX0pO3ZhciBuPWUucXVlcnlTZWxlY3RvcigiI2FjdWl0eS1jcnlwdG8td2lkZ2V0Iik7aWYobilBY3VpdHlXaWRnZXRzLkNyZWF0ZVdpZGdldCgiQXZhdHJhZGVyc2xhbmRpbmdwYWdlIixuLHthc3NldHM6WzExMzA1MiwxMTMwNjEsMTEzMDYyXX0pLm1vdW50KCl9fSwzMDUyOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO24oNDE1MzkpLG4oNTQ3NDcpO3ZhciByPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hbmNob3ItZm9jdXMiKTtmdW5jdGlvbiBhKCl7MCE9PWxvY2F0aW9uLmhhc2gubGVuZ3RoJiZ3aW5kb3cuc2Nyb2xsVG8oe3RvcDp3aW5kb3cuc2Nyb2xsWS0xNDUsYmVoYXZpb3I6InNtb290aCJ9KX1yJiZyLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGZ1bmN0aW9uKGUpe2xvY2F0aW9uLmhhc2g9IiIsd2luZG93Lm9uaGFzaGNoYW5nZT1hfSksITEpfSkpfSw5ODExNzpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTtuKDQxNTM5KSxuKDU0NzQ3KSxuKDc0OTE2KSxuKDE1MzA2KTt2YXIgcj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYW5jaG9yLW5hdiIpLGE9d2luZG93LmxvY2F0aW9uLmhhc2g7aWYociYmYSl7dmFyIG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmFuY2hvci1uYXYgLm5hdiAubmF2LWxpbmsiKSxpPSExO28uZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXthLmluZGV4T2YoZS5pZCk+PTAmJihpPSEwKX0pKSxpJiYoby5mb3JFYWNoKChmdW5jdGlvbihlLHQpe3ZhciBuPWUuY2xhc3NOYW1lLmluZGV4T2YoImFjdGl2ZSIpPi0xO2EuaW5kZXhPZihlLmlkKT49MD8obnx8KGUuY2xhc3NOYW1lKz0iIGFjdGl2ZSIpLGUuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwidHJ1ZSIpKToobiYmKGUuY2xhc3NOYW1lPWUuY2xhc3NOYW1lLnJlcGxhY2UoImFjdGl2ZSIsIiIpKSxlLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsImZhbHNlIikpfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hbmNob3ItbmF2IC50YWItY29udGVudCAudGFiLXBhbmUiKS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe3ZhciBuPWUuY2xhc3NOYW1lLmluZGV4T2YoImFjdGl2ZSIpPi0xO2EuaW5kZXhPZihlLmlkKT49MD9ufHwoZS5jbGFzc05hbWUrPSIgYWN0aXZlIik6biYmKGUuY2xhc3NOYW1lPWUuY2xhc3NOYW1lLnJlcGxhY2UoImFjdGl2ZSIsIiIpKX0pKSl9fSwzNTg3MTpmdW5jdGlvbihlLHQsbil7bigxNDk2NSksbigyNTgzOCksbig5NzUzMCksbig2NTEwNyk7dmFyIHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiW2F1dG9mb2N1c10iKTtyJiZyLmZvY3VzKCl9LDg3NDA2OmZ1bmN0aW9uKGUsdCxuKXt3aW5kb3cuYXhpb3M9big5NjY5KSxkb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3IoJ21ldGFbbmFtZT0iY3NyZi10b2tlbiJdJyl8fGNvbnNvbGUuZXJyb3IoIkNTUkYgdG9rZW4gbm90IGZvdW5kOiBodHRwczovL2xhcmF2ZWwuY29tL2RvY3MvY3NyZiNjc3JmLXgtY3NyZi10b2tlbiIpfSw3MjE1NTpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSxuLmQodCx7aW5pdENob2ljZXM6ZnVuY3Rpb24oKXtyZXR1cm4gaX19KTtuKDgyNTI2KSxuKDQxODE3KSxuKDQxNTM5KSxuKDMyMTY1KSxuKDY2OTkyKSxuKDc4NzgzKSxuKDMzOTQ4KSxuKDQ3MDQyKSxuKDY4MzA5KSxuKDkxMDM4KSxuKDc0OTE2KSxuKDY0NzY1KSxuKDI2Njk5KSxuKDMyMDIzKTtmdW5jdGlvbiByKGUsdCl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KGUpfHwobj1mdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybjtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGEoZSx0KTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7Ik9iamVjdCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpO2lmKCJNYXAiPT09bnx8IlNldCI9PT1uKXJldHVybiBBcnJheS5mcm9tKGUpO2lmKCJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpcmV0dXJuIGEoZSx0KX0oZSkpfHx0JiZlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXtuJiYoZT1uKTt2YXIgcj0wLG89ZnVuY3Rpb24oKXt9O3JldHVybntzOm8sbjpmdW5jdGlvbigpe3JldHVybiByPj1lLmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6ZVtyKytdfX0sZTpmdW5jdGlvbihlKXt0aHJvdyBlfSxmOm99fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgaSxzPSEwLGw9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbChlKX0sbjpmdW5jdGlvbigpe3ZhciBlPW4ubmV4dCgpO3JldHVybiBzPWUuZG9uZSxlfSxlOmZ1bmN0aW9uKGUpe2w9ITAsaT1lfSxmOmZ1bmN0aW9uKCl7dHJ5e3N8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYobCl0aHJvdyBpfX19fWZ1bmN0aW9uIGEoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgbz1uKDE5NDc1KTtmdW5jdGlvbiBpKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTpudWxsLG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7by5zdHJpbmdzLmVuLnNlYXJjaD0iICI7dmFyIGE9byhlLHthbmltYXRlOiExLGNiTG9vcEl0ZW06ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7cmV0dXJuIHIuaW5uZXJIVE1MPSc8aSBjbGFzcz0iZmxhZy1pY29uIGZsYWctaWNvbi0nK2Uua2V5LnRvTG93ZXJDYXNlKCkrJyI+PC9pPiZuYnNwOycrZS52YWx1ZSxyfSxkZXNlbGVjdDohMSxzZWFyY2g6ITAsc291cmNlQmluZDohMCxzb3VyY2VIaWRlOiEwLHdpZHRoOiIxMDAlIn0pLGk9Ii9jYS9jb3VudHJpZXMiO24mJihpKz0iP3R5cGU9IituKSx3aW5kb3cubG9jYXRpb24uaHJlZi5pbmNsdWRlcygic3NzPXRydWUiKSYmKG4mJihpKz0iJnNzcz10cnVlIiksbnx8KGkrPSI/c3NzPXRydWUiKSk7dmFyIHM9W107cmV0dXJuIGF4aW9zLmdldChpKS50aGVuKChmdW5jdGlvbihlKXt2YXIgbixvPXIocz1lLmRhdGEpO3RyeXtmb3Ioby5zKCk7IShuPW8ubigpKS5kb25lOyl7dmFyIGk9bi52YWx1ZTthLm9wdGlvbnMuYWRkKGkudmFsdWUsaS5sYWJlbCxudWxsLGkuc2VsZWN0ZWQsaS5kaXNhYmxlZCwiIiwhMCl9fWNhdGNoKGUpe28uZShlKX1maW5hbGx5e28uZigpfV8uaXNGdW5jdGlvbih0KSYmdCgpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtjb25zb2xlLmxvZyhlKX0pKSx7Z2V0VmFsdWU6ZnVuY3Rpb24oKXt2YXIgdCxuPXIocyk7dHJ5e2ZvcihuLnMoKTshKHQ9bi5uKCkpLmRvbmU7KXt2YXIgYT10LnZhbHVlO2lmKGEudmFsdWU9PT1lLm9wdGlvbnNbZS5zZWxlY3RlZEluZGV4XS52YWx1ZSlyZXR1cm4gYX19Y2F0Y2goZSl7bi5lKGUpfWZpbmFsbHl7bi5mKCl9fX19fSw3MTM5MDpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcixhPW4oNDUwNDcpLG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmNpcmNsZS1hbmltYXRlIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsKGZ1bmN0aW9uKCl7ciYmd2luZG93LmNsZWFyVGltZW91dChyKSxyPXdpbmRvdy5zZXRUaW1lb3V0KChmdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8by5sZW5ndGg7ZSsrKSgwLGEudjQpKG9bZV0pJiYoZSUyPT0wP29bZV0uY2xhc3NMaXN0LmFkZCgiY2lyY2xlLXJvdGF0ZSIpOm9bZV0uY2xhc3NMaXN0LmFkZCgiY2lyY2xlLXJvdGF0ZS1yZXYiKSl9KSwxMDApfSkpfSw4NjE5ODpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDMxOTU1KTshZnVuY3Rpb24oKXt2YXIgZSx0LG4sYSxvLGkscz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3RpY2t5LWNvb2tpZS1wb2xpY3kiKTtpZigoci5aLmRlZmF1bHRzPXtleHBpcmVzOjM2NX0scykmJiF1KCkpe3MuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksYygpO3ZhciBsPXMuZ2V0QXR0cmlidXRlKCJkYXRhLWVlYSIpOyIwIiE9PWwmJmw/KGNvbnNvbGUubG9nKCJleGVjdXRlIGNvb2tpZSBjb25zZW50IHBvbGljeSIpLGU9cy5xdWVyeVNlbGVjdG9yKCIjY29va2llQWNjZXB0IiksdD1zLnF1ZXJ5U2VsZWN0b3IoIiNjb29raWVQcmVmZXJlbmNlcyIpLG49cy5xdWVyeVNlbGVjdG9yKCIjY29va2llQ2hlY2tib3hlcyIpLGE9cy5xdWVyeVNlbGVjdG9yKCIjY29va2llU3RhdGlzdGljcyIpLG89cy5xdWVyeVNlbGVjdG9yKCIjY29va2llTWFya2V0aW5nIiksaT0hMSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oZSl7ZCgidG1TdGF0aXN0aWNzIix0aGlzKX0pLCExKSxvLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oZSl7ZCgidG1NYXJrZXRpbmciLHRoaXMpfSksITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChmdW5jdGlvbihlKXtzLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLHIuWi5zZXQoInRtTmVjZXNzYXJ5IiwxKSxpfHwoci5aLnNldCgidG1TdGF0aXN0aWNzIiwxKSxyLlouc2V0KCJ0bU1hcmtldGluZyIsMSkpLHUoKX0pLCExKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oZSl7bi5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSxpPSEwfSksITEpKTooY29uc29sZS5sb2coImFsbCBjb29raWVzIGFyZSBhbGxvd2VkIiksYygpKX1mdW5jdGlvbiBjKCl7dmFyIGU9cy5xdWVyeVNlbGVjdG9yKCIjY29va2llQWNjZXB0Iik7cy5xdWVyeVNlbGVjdG9yKCIjY29va2llUHJlZmVyZW5jZXMiKS5jbGFzc0xpc3QuYWRkKCJkLW5vbmUiKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oZSl7cy5jbGFzc0xpc3QuYWRkKCJkLW5vbmUiKSxyLlouc2V0KCJ0bU5lY2Vzc2FyeSIsMSksdSgpfSksITEpfWZ1bmN0aW9uIHUoKXt2YXIgZT0hMTtyZXR1cm4iMSI9PT1yLlouZ2V0KCJ0bU5lY2Vzc2FyeSIpJiYoZT0hMCksIjEiPT09ci5aLmdldCgidG1TdGF0aXN0aWNzIikmJihlPSEwKSwiMSI9PT1yLlouZ2V0KCJ0bU1hcmtldGluZyIpJiYoZT0hMCksZX1mdW5jdGlvbiBkKGUsdCl7dC52YWx1ZT10LmNoZWNrZWQ/MTowLCIxIj09PXQudmFsdWU/ci5aLnNldChlLHQudmFsdWUpOnIuWi5yZW1vdmUoZSl9fSgpfSw4NzExNDpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTtuKDQxNTM5KSxuKDU0NzQ3KTt2YXIgcj1mdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtlLnRhcmdldC5wYXJlbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS10b2dnbGUiKSYmKHQ9ZS50YXJnZXQucGFyZW50RWxlbWVudCksZS50YXJnZXQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS10b2dnbGUiKSYmKHQ9ZS50YXJnZXQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50KTt0cnl7JCh0KS5kcm9wZG93bigiaGlkZSIpLHQuY2xpY2soKSx3aW5kb3cuaXNOQXZNQWluT3Blbj0hMH1jYXRjaChlKXt9fTtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZHJvcGRvd24taG92ZXIgPiBhW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLChmdW5jdGlvbihlKXtyKGUpfSkpfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5kcm9wZG93bi1ob3Zlci14bCA+IGFbZGF0YS10b2dnbGU9ImRyb3Bkb3duIl0nKS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsKGZ1bmN0aW9uKGUpe3dpbmRvdy5pbm5lcldpZHRoPj0xMjAwJiZyKGUpfSkpfSkpO3ZhciBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5kcm9wZG93bi1ob3Zlci1oaWRlIik7YSYmYS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLChmdW5jdGlvbihlKXshMSE9PXdpbmRvdy5pc05Bdk1BaW5PcGVuJiYoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmRyb3Bkb3duLWhvdmVyLXhsID4gYVtkYXRhLXRvZ2dsZT0iZHJvcGRvd24iXScpLmZvckVhY2goKGZ1bmN0aW9uKGUpeyQoZSkuZHJvcGRvd24oImhpZGUiKX0pKSx3aW5kb3cuaXNOQXZNQWluT3Blbj0hMSl9KSl9LDQ4NjIxOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO3ZhciByPXt9O24ucihyKSxuLmQocix7YWxpYXNlczpmdW5jdGlvbigpe3JldHVybiB1fSxkaWN0aW9uYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGN9fSk7dmFyIGE9e307bi5yKGEpLG4uZChhLHthbGlhc2VzOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LGRpY3Rpb25hcnk6ZnVuY3Rpb24oKXtyZXR1cm4gZH19KTt2YXIgbz1uKDU4OTg3KSxpPW4ubihvKSxzPW4oNDUwNDcpLGw9bigxMzc1MiksYz17eWVhcnM6IlRhaHVuIixtb250aHM6IkJ1bGFuIixkYXlzOiJCZXJoYXJpLWhhcmkiLGhvdXJzOiJKYW0iLG1pbnV0ZXM6Ik1lbml0IixzZWNvbmRzOiJEZXRpayJ9LHU9WyJpZCIsImluZG9uZXNpYW4iXSxkPXt5ZWFyczoiVGFodW4iLG1vbnRoczoiQnVsYW4iLGRheXM6IkhhcmkiLGhvdXJzOiJKYW0iLG1pbnV0ZXM6Ik1pbml0IixzZWNvbmRzOiJLZWR1YSJ9LGY9WyJtcyIsIm1hbGF5Il0sbT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZmxpcGNsb2NrLWZpcnN0LWZyaWRheSIpO2lmKG0pe3ZhciBwLHY9bS5nZXRBdHRyaWJ1dGUoImRhdGEtZGF0ZS10byIpO3YmJihwPW5ldyBEYXRlKHYpKS5zZXRVVENIb3VycygxMywzMCwwLDApO3ZhciBoPW0uZ2V0QXR0cmlidXRlKCJkYXRhLWVuZC1kYXRlLWhvdXJzIiksZz1tLmdldEF0dHJpYnV0ZSgiZGF0YS1lbmQtZGF0ZS1taW4iKTtpZihoJiZnKXt2YXIgeT1uZXcgRGF0ZTtpZigocD0oMCxzLkZRKSh5LDUpKS5zZXRVVENIb3Vycyg2LDAsMCwwKSxwPHkpe3ZhciBiPW5ldyBEYXRlKHAuZ2V0RnVsbFllYXIoKSxwLmdldE1vbnRoKCkscC5nZXREYXRlKCkrNyxwLmdldEhvdXJzKCkscC5nZXRNaW51dGVzKCkpO3A9KDAscy5GUSkoYiw1KX19dmFyIHc9bmV3KGkoKSkobSxuZXcgRGF0ZShwKSx7ZmFjZToiRGF5Q291bnRlciIsY291bnRkb3duOiEwfSksUz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJodG1sIikuZ2V0QXR0cmlidXRlKCJsYW5nIik7c3dpdGNoKFMpe2Nhc2UiY24iOncubGFuZ3VhZ2U9bC5idzticmVhaztjYXNlIml0Ijp3Lmxhbmd1YWdlPWwuZVA7YnJlYWs7Y2FzZSJqYSI6dy5sYW5ndWFnZT1sLnB5O2JyZWFrO2Nhc2UidmkiOncubGFuZ3VhZ2U9bC5wYjticmVhaztjYXNlImlkIjp3Lmxhbmd1YWdlPXI7YnJlYWs7Y2FzZSJtcyI6dy5sYW5ndWFnZT1hO2JyZWFrO2RlZmF1bHQ6dy5sYW5ndWFnZT1TfX19LDEyMDMxOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO24oODI1MjYpLG4oNDE4MTcpLG4oNDE1MzkpLG4oMzIxNjUpLG4oNjY5OTIpLG4oNzg3ODMpLG4oMzM5NDgpLG4oNDcwNDIpLG4oNjgzMDkpLG4oOTEwMzgpLG4oNzQ5MTYpLG4oNjk4MjYpO3ZhciByPW4oODM0MDcpLGE9bigxODY5OSksbz1uLm4oYSksaT1uKDQ1MDQ3KSxzPW4oNzIxNTUpO2Z1bmN0aW9uIGwoZSx0KXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYoIW4pe2lmKEFycmF5LmlzQXJyYXkoZSl8fChuPWZ1bmN0aW9uKGUsdCl7aWYoIWUpcmV0dXJuO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gYyhlLHQpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTsiT2JqZWN0Ij09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSk7aWYoIk1hcCI9PT1ufHwiU2V0Ij09PW4pcmV0dXJuIEFycmF5LmZyb20oZSk7aWYoIkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKSlyZXR1cm4gYyhlLHQpfShlKSl8fHQmJmUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpe24mJihlPW4pO3ZhciByPTAsYT1mdW5jdGlvbigpe307cmV0dXJue3M6YSxuOmZ1bmN0aW9uKCl7cmV0dXJuIHI+PWUubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTplW3IrK119fSxlOmZ1bmN0aW9uKGUpe3Rocm93IGV9LGY6YX19dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciBvLGk9ITAscz0hMTtyZXR1cm57czpmdW5jdGlvbigpe249bi5jYWxsKGUpfSxuOmZ1bmN0aW9uKCl7dmFyIGU9bi5uZXh0KCk7cmV0dXJuIGk9ZS5kb25lLGV9LGU6ZnVuY3Rpb24oZSl7cz0hMCxvPWV9LGY6ZnVuY3Rpb24oKXt0cnl7aXx8bnVsbD09bi5yZXR1cm58fG4ucmV0dXJuKCl9ZmluYWxseXtpZihzKXRocm93IG99fX19ZnVuY3Rpb24gYyhlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtLWFzay1vdXItZXhwZXJ0cyIpO2lmKHUpeygwLHIuWikodSx7cmV2YWxpZGF0ZToib25zdWJtaXQifSk7dmFyIGQ9dS5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfcGhvbmVfdmlzXSIpLGY9bygpKGQse2FsbG93RHJvcGRvd246ITEsYXV0b0hpZGVEaWFsQ29kZTohMSxjdXN0b21Db250YWluZXI6Im5vLWZsYWciLGhpZGRlbklucHV0OiJjcmVhdGVfcGhvbmUiLHV0aWxzU2NyaXB0OiIvc2l0ZS90aGVtZXMvQXZhdHJhZGVycy9hc3NldHMvZGlzdC9saWIvaW50bC10ZWwtaW5wdXQvdXRpbHMuanMiLHByZWZlcnJlZENvdW50cmllczpbXSxzZXBhcmF0ZURpYWxDb2RlOiEwfSksbT11LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9jb3VudHJ5XSIpO20uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoZnVuY3Rpb24oKXtfLmlzVW5kZWZpbmVkKHAuZ2V0VmFsdWUoKSl8fF8uaXNFbXB0eShwLmdldFZhbHVlKCkudmFsdWUpfHwoZi5zZXRDb3VudHJ5KHAuZ2V0VmFsdWUoKS52YWx1ZSksdS5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfcGhvbmVfZGlhbF9jb2RlXSIpLnZhbHVlPWYuZ2V0U2VsZWN0ZWRDb3VudHJ5RGF0YSgpLmRpYWxDb2RlKX0pKTt2YXIgcD0oMCxzLmluaXRDaG9pY2VzKShtLChmdW5jdGlvbigpe20uZGlzcGF0Y2hFdmVudChuZXcgd2luZG93LkN1c3RvbUV2ZW50KCJjaGFuZ2UiKSl9KSksdj1KU09OLnBhcnNlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtLW1lc3NhZ2VzIikudGV4dENvbnRlbnQpLGg9dS5xdWVyeVNlbGVjdG9yKCIubWVzc2FnZS1zdWNjZXNzIiksZz11LnF1ZXJ5U2VsZWN0b3IoIi5tZXNzYWdlLWZhaWwiKSx5PXUucXVlcnlTZWxlY3RvcigiLmJ0bi1zdWJtaXQiKTt5LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKSx1Lm9uc3VibWl0PWZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxoLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLGcuY2xhc3NMaXN0LmFkZCgiZC1ub25lIikseS5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwiZGlzYWJsZWQiKSx1LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9waG9uZV0iKS52YWx1ZT1mLmdldE51bWJlcigpO2F4aW9zKHttZXRob2Q6InBvc3QiLHVybDp1LmdldEF0dHJpYnV0ZSgiYWN0aW9uIiksZGF0YTpuZXcgRm9ybURhdGEodSl9KS50aGVuKChmdW5jdGlvbihlKXt2YXIgdD0hMCxuPWUuZGF0YS5pbnZhbGlkZmllbGRzO2lmKG4pe3ZhciByPWZ1bmN0aW9uKGUpe2lmKG4uaGFzT3duUHJvcGVydHkoZSkpe3ZhciByPXYuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIGE9ZSx0LmNvZGU9PT1uW2VdfSkpOyJjcmVhdGVfcGhvbmUiPT09ZSYmKGU9ImNyZWF0ZV9waG9uZV92aXMiKTt2YXIgbz11LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPSIuY29uY2F0KGUpKTtvLnNldEN1c3RvbVZhbGlkaXR5KHIubWVzc2FnZSksby5yZXBvcnRWYWxpZGl0eSgpLG8uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoZnVuY3Rpb24oKXtvLnNldEN1c3RvbVZhbGlkaXR5KCIiKX0pKSx0PSExfWE9ZX07Zm9yKHZhciBhIGluIG4pcihhKX1pZihlLmRhdGEuZXJyb3JzJiZlLmRhdGEuZXJyb3JzLmxlbmd0aD4wKXt2YXIgbyxzPSIiLGM9bChlLmRhdGEuZXJyb3JzKTt0cnl7dmFyIGQ9ZnVuY3Rpb24oKXt2YXIgZT1vLnZhbHVlLHQ9di5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2RlPT09ZX0pKTtzKz10P3QubWVzc2FnZSsiPGJyPiI6ZSsiPGJyPiJ9O2ZvcihjLnMoKTshKG89Yy5uKCkpLmRvbmU7KWQoKX1jYXRjaChlKXtjLmUoZSl9ZmluYWxseXtjLmYoKX1nLmlubmVySFRNTD1zLGcuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksKDAsaS5YNSkoZyksdD0hMX10JiYoaC5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSwoMCxpLlg1KShoKSx1LnJlc2V0KCkpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtnLmlubmVySFRNTD1lLm1lc3NhZ2UsZy5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSwoMCxpLlg1KShnKX0pKS50aGVuKChmdW5jdGlvbigpe3kucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpfSkpfX19LDI5MzQ1OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO24oODI1MjYpLG4oNDE4MTcpLG4oNDE1MzkpLG4oMzIxNjUpLG4oNjY5OTIpLG4oNzg3ODMpLG4oMzM5NDgpLG4oNDcwNDIpLG4oNjgzMDkpLG4oOTEwMzgpLG4oNzQ5MTYpLG4oNjk4MjYpO3ZhciByPW4oODM0MDcpLGE9big0NTA0Nyk7ZnVuY3Rpb24gbyhlLHQpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheShlKXx8KG49ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm47aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBpKGUsdCk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpOyJPYmplY3QiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKTtpZigiTWFwIj09PW58fCJTZXQiPT09bilyZXR1cm4gQXJyYXkuZnJvbShlKTtpZigiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKXJldHVybiBpKGUsdCl9KGUpKXx8dCYmZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aCl7biYmKGU9bik7dmFyIHI9MCxhPWZ1bmN0aW9uKCl7fTtyZXR1cm57czphLG46ZnVuY3Rpb24oKXtyZXR1cm4gcj49ZS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmVbcisrXX19LGU6ZnVuY3Rpb24oZSl7dGhyb3cgZX0sZjphfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIG8scz0hMCxsPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwoZSl9LG46ZnVuY3Rpb24oKXt2YXIgZT1uLm5leHQoKTtyZXR1cm4gcz1lLmRvbmUsZX0sZTpmdW5jdGlvbihlKXtsPSEwLG89ZX0sZjpmdW5jdGlvbigpe3RyeXtzfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKGwpdGhyb3cgb319fX1mdW5jdGlvbiBpKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0tYmVjb21lLWFuLWV4cGVydCIpO2lmKHMpeygwLHIuWikocyx7cmV2YWxpZGF0ZToib25zdWJtaXQifSk7dmFyIGw9SlNPTi5wYXJzZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybS1tZXNzYWdlcyIpLnRleHRDb250ZW50KSxjPXMucXVlcnlTZWxlY3RvcigiYnV0dG9uW3R5cGU9c3VibWl0XSIpLHU9cy5xdWVyeVNlbGVjdG9yKCIubWVzc2FnZS1zdWNjZXNzIiksZD1zLnF1ZXJ5U2VsZWN0b3IoIi5tZXNzYWdlLWZhaWwiKTtjLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKSxzLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSx1LmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLGQuY2xhc3NMaXN0LmFkZCgiZC1ub25lIiksYy5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwidHJ1ZSIpO2F4aW9zKHttZXRob2Q6InBvc3QiLHVybDpzLmdldEF0dHJpYnV0ZSgiYWN0aW9uIiksZGF0YTpuZXcgRm9ybURhdGEocyl9KS50aGVuKChmdW5jdGlvbihlKXt2YXIgdD0hMCxuPWUuZGF0YS5pbnZhbGlkZmllbGRzO2lmKG4pe3ZhciByPWZ1bmN0aW9uKGUpe2lmKG4uaGFzT3duUHJvcGVydHkoZSkpe3ZhciByPWwuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuY29kZT09PW5bZV19KSksYT1zLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPSIuY29uY2F0KGUpKTthLnNldEN1c3RvbVZhbGlkaXR5KHIubWVzc2FnZSksYS5yZXBvcnRWYWxpZGl0eSgpLGEuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoZnVuY3Rpb24oKXthLnNldEN1c3RvbVZhbGlkaXR5KCIiKX0pKSx0PSExfX07Zm9yKHZhciBpIGluIG4pcihpKX1pZihlLmRhdGEuZXJyb3JzJiZlLmRhdGEuZXJyb3JzLmxlbmd0aD4wKXt2YXIgYyxmPSIiLG09byhlLmRhdGEuZXJyb3JzKTt0cnl7dmFyIHA9ZnVuY3Rpb24oKXt2YXIgZT1jLnZhbHVlLHQ9bC5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2RlPT09ZX0pKTtmKz10P3QubWVzc2FnZSsiPGJyPiI6ZSsiPGJyPiJ9O2ZvcihtLnMoKTshKGM9bS5uKCkpLmRvbmU7KXAoKX1jYXRjaChlKXttLmUoZSl9ZmluYWxseXttLmYoKX1kLmlubmVySFRNTD1mLGQuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksKDAsYS5YNSkoZCksdD0hMX10JiYodS5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSwoMCxhLlg1KSh1KSxzLnJlc2V0KCkpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtkLmlubmVySFRNTD1lLm1lc3NhZ2UsZC5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSwoMCxhLlg1KShkKX0pKS50aGVuKChmdW5jdGlvbigpe2MucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpfSkpfSkpfX0sMTUxMjk6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7big4MjUyNiksbig0MTgxNyksbig0MTUzOSksbigzMjE2NSksbig2Njk5Miksbig3ODc4MyksbigzMzk0OCksbig0NzA0Miksbig2ODMwOSksbig5MTAzOCksbig3NDkxNiksbig1NDc0Nyksbig2OTgyNik7dmFyIHI9big4MzQwNyksYT1uKDQ1MDQ3KSxvPW4oNzIxNTUpLGk9bigxODY5OSkscz1uLm4oaSk7ZnVuY3Rpb24gbChlLHQpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheShlKXx8KG49ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm47aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBjKGUsdCk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpOyJPYmplY3QiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKTtpZigiTWFwIj09PW58fCJTZXQiPT09bilyZXR1cm4gQXJyYXkuZnJvbShlKTtpZigiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKXJldHVybiBjKGUsdCl9KGUpKXx8dCYmZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aCl7biYmKGU9bik7dmFyIHI9MCxhPWZ1bmN0aW9uKCl7fTtyZXR1cm57czphLG46ZnVuY3Rpb24oKXtyZXR1cm4gcj49ZS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmVbcisrXX19LGU6ZnVuY3Rpb24oZSl7dGhyb3cgZX0sZjphfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIG8saT0hMCxzPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwoZSl9LG46ZnVuY3Rpb24oKXt2YXIgZT1uLm5leHQoKTtyZXR1cm4gaT1lLmRvbmUsZX0sZTpmdW5jdGlvbihlKXtzPSEwLG89ZX0sZjpmdW5jdGlvbigpe3RyeXtpfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKHMpdGhyb3cgb319fX1mdW5jdGlvbiBjKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIHU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2Zvcm0tY29udGFjdCIpO2lmKHUpeygwLHIuWikodSx7cmV2YWxpZGF0ZToib25zdWJtaXQifSk7dmFyIGQ9SlNPTi5wYXJzZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybS1tZXNzYWdlcyIpLnRleHRDb250ZW50KSxmPXUucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2Utc3VjY2VzcyIpLG09dS5xdWVyeVNlbGVjdG9yKCIubWVzc2FnZS1mYWlsIikscD11LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvblt0eXBlPXN1Ym1pdF0iKTtwLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTt2YXIgdj11LnF1ZXJ5U2VsZWN0b3IoIiNuY19uZXdDbGllbnQiKSxoPXUucXVlcnlTZWxlY3RvcigiI25jT3RoZXJSZWFzb24iKSxnPXUucXVlcnlTZWxlY3RvcigiI2VjX2V4aXN0aW5nQ2xpZW50IikseT11LnF1ZXJ5U2VsZWN0b3IoIiNlY090aGVyUmVhc29uIik7dS5xdWVyeVNlbGVjdG9yQWxsKCIuYnRuLWNsaWVudCIpLmZvckVhY2goKGZ1bmN0aW9uKGUsdCxuKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oZSl7ZS50YXJnZXQuZmlyc3RDaGlsZCYmKCJleGlzdGluZ19jbGllbnQiPT09ZS50YXJnZXQuZmlyc3RDaGlsZC52YWx1ZT8oZy5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSxnLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKSx2LmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLHYuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsImRpc2FibGVkIikpOihnLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLGcuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsImRpc2FibGVkIiksdi5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSx2LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKSkpfSkpfSkpO3ZhciBiPXUucXVlcnlTZWxlY3RvcigiW25hbWU9bmNfY29udGFjdF9yZWFzb25dIik7Yi5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChmdW5jdGlvbigpe3ZhciBlPWJbYi5zZWxlY3RlZEluZGV4XS52YWx1ZTtoLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLGguc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsImRpc2FibGVkIiksIm90aGVyIj09PWUudG9Mb3dlckNhc2UoKSYmKGguY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksaC5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIikpfSkpO3ZhciB3PXUucXVlcnlTZWxlY3RvcigiW25hbWU9ZWNfY29udGFjdF9yZWFzb25dIik7dy5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChmdW5jdGlvbigpe3ZhciBlPXdbdy5zZWxlY3RlZEluZGV4XS52YWx1ZTt5LmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLHkuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsImRpc2FibGVkIiksIm90aGVyIj09PWUudG9Mb3dlckNhc2UoKSYmKHkuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIikseS5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIikpfSkpO3ZhciBTPXUucXVlcnlTZWxlY3RvcigiW25hbWU9bmNfY3JlYXRlX3Bob25lX3Zpc10iKSxMPXMoKShTLHthbGxvd0Ryb3Bkb3duOiExLGF1dG9IaWRlRGlhbENvZGU6ITEsY3VzdG9tQ29udGFpbmVyOiJuby1mbGFnIixoaWRkZW5JbnB1dDoibmNfY3JlYXRlX3Bob25lIix1dGlsc1NjcmlwdDoiL3NpdGUvdGhlbWVzL0F2YXRyYWRlcnMvYXNzZXRzL2Rpc3QvbGliL2ludGwtdGVsLWlucHV0L3V0aWxzLmpzIixwcmVmZXJyZWRDb3VudHJpZXM6W10sc2VwYXJhdGVEaWFsQ29kZTohMH0pLEM9dS5xdWVyeVNlbGVjdG9yKCJbbmFtZT1lY19jcmVhdGVfcGhvbmVfdmlzXSIpLEE9cygpKEMse2FsbG93RHJvcGRvd246ITEsYXV0b0hpZGVEaWFsQ29kZTohMSxjdXN0b21Db250YWluZXI6Im5vLWZsYWciLGhpZGRlbklucHV0OiJlY19jcmVhdGVfcGhvbmUiLHV0aWxzU2NyaXB0OiIvc2l0ZS90aGVtZXMvQXZhdHJhZGVycy9hc3NldHMvZGlzdC9saWIvaW50bC10ZWwtaW5wdXQvdXRpbHMuanMiLHByZWZlcnJlZENvdW50cmllczpbXSxzZXBhcmF0ZURpYWxDb2RlOiEwfSksRT11LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPXNlbGVjdGVkX2NvdW50cnldIik7RS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChmdW5jdGlvbigpe2lmKCFfLmlzVW5kZWZpbmVkKHEuZ2V0VmFsdWUoKSkmJiFfLmlzRW1wdHkocS5nZXRWYWx1ZSgpLnZhbHVlKSl7dmFyIGU9dS5xdWVyeVNlbGVjdG9yKCIuZWVhLWNvbnNlbnQiKTtpZihlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWVlYV9jb25zZW50XSIpOzE9PT1fLnBhcnNlSW50KHEuZ2V0VmFsdWUoKS5jdXN0b21Qcm9wZXJ0aWVzLmVlYSl8fCEwPT09cS5nZXRWYWx1ZSgpLmN1c3RvbVByb3BlcnRpZXMuZWVhPyhlLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLHQucmVxdWlyZWQ9ITApOihlLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLHQucmVxdWlyZWQ9ITEpfUwuc2V0Q291bnRyeShxLmdldFZhbHVlKCkudmFsdWUpLEEuc2V0Q291bnRyeShxLmdldFZhbHVlKCkudmFsdWUpLHUucXVlcnlTZWxlY3RvcigiW25hbWU9bmNfY3JlYXRlX3Bob25lX2RpYWxfY29kZV0iKS52YWx1ZT1MLmdldFNlbGVjdGVkQ291bnRyeURhdGEoKS5kaWFsQ29kZSx1LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWVjX2NyZWF0ZV9waG9uZV9kaWFsX2NvZGVdIikudmFsdWU9QS5nZXRTZWxlY3RlZENvdW50cnlEYXRhKCkuZGlhbENvZGV9fSkpO3ZhciBxPSgwLG8uaW5pdENob2ljZXMpKEUsKGZ1bmN0aW9uKCl7RS5kaXNwYXRjaEV2ZW50KG5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoImNoYW5nZSIpKX0pKTt1LmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxmLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLG0uY2xhc3NMaXN0LmFkZCgiZC1ub25lIikscC5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwidHJ1ZSIpO2F4aW9zKHttZXRob2Q6InBvc3QiLHVybDp1LmdldEF0dHJpYnV0ZSgiYWN0aW9uIiksZGF0YTpuZXcgRm9ybURhdGEodSl9KS50aGVuKChmdW5jdGlvbihlKXt2YXIgdD0hMCxuPWUuZGF0YS5pbnZhbGlkZmllbGRzO2lmKG4pe3ZhciByPWZ1bmN0aW9uKGUpe2lmKG4uaGFzT3duUHJvcGVydHkoZSkpe3ZhciByPWQuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIG89ZSx0LmNvZGU9PT1uW2VdfSkpOyJuY19jcmVhdGVfcGhvbmUiPT09ZSYmKGU9Im5jX2NyZWF0ZV9waG9uZV92aXMiKSwiZWNfY3JlYXRlX3Bob25lIj09PWUmJihlPSJlY19jcmVhdGVfcGhvbmVfdmlzIik7dmFyIGE9dS5xdWVyeVNlbGVjdG9yKCJbbmFtZT0iLmNvbmNhdChlKSk7YS5zZXRDdXN0b21WYWxpZGl0eShyLm1lc3NhZ2UpLGEucmVwb3J0VmFsaWRpdHkoKSxhLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKCl7YS5zZXRDdXN0b21WYWxpZGl0eSgiIil9KSksdD0hMX1vPWV9O2Zvcih2YXIgbyBpbiBuKXIobyl9aWYoZS5kYXRhLmVycm9ycyYmZS5kYXRhLmVycm9ycy5sZW5ndGg+MCl7dmFyIGkscz0iIixjPWwoZS5kYXRhLmVycm9ycyk7dHJ5e3ZhciBwPWZ1bmN0aW9uKCl7dmFyIGU9aS52YWx1ZSx0PWQuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuY29kZT09PWV9KSk7cys9dD90Lm1lc3NhZ2UrIjxicj4iOmUrIjxicj4ifTtmb3IoYy5zKCk7IShpPWMubigpKS5kb25lOylwKCl9Y2F0Y2goZSl7Yy5lKGUpfWZpbmFsbHl7Yy5mKCl9bS5pbm5lckhUTUw9cyxtLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLCgwLGEuWDUpKG0pLHQ9ITF9aWYodCl7Zi5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSwoMCxhLlg1KShmKSx1LnJlc2V0KCk7dHJ5e3dpbmRvdy5kYXRhTGF5ZXIucHVzaCh7ZXZlbnQ6IkNhbGxiYWNrZm9ybSJ9KX1jYXRjaChlKXtjb25zb2xlLmxvZyhlKX19fSkpLmNhdGNoKChmdW5jdGlvbihlKXttLmlubmVySFRNTD1lLm1lc3NhZ2UsbS5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSwoMCxhLlg1KShtKX0pKS50aGVuKChmdW5jdGlvbigpe3AucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpfSkpfSkpfX0sNDA1Nzg6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7big2Njk5Miksbig0MTUzOSksbig3ODc4MyksbigzMzk0OCksbig2MDI4NSksbig0MTYzNyk7dmFyIHI9big4MzQwNyksYT1uKDE4Njk5KSxvPW4ubihhKSxpPW4oNzIxNTUpLHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0tY3JlYXRlLWFjY291bnQiKTtpZihzKXsoMCxyLlopKHMse3JldmFsaWRhdGU6Im9uc3VibWl0In0pO3ZhciBsPXMucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX3Bob25lX3Zpc10iKSxjPW8oKShsLHthbGxvd0Ryb3Bkb3duOiExLGF1dG9IaWRlRGlhbENvZGU6ITEsY3VzdG9tQ29udGFpbmVyOiJuby1mbGFnIixoaWRkZW5JbnB1dDoiY3JlYXRlX3Bob25lIix1dGlsc1NjcmlwdDoiL3NpdGUvdGhlbWVzL0F2YXRyYWRlcnMvYXNzZXRzL2Rpc3QvbGliL2ludGwtdGVsLWlucHV0L3V0aWxzLmpzIixwcmVmZXJyZWRDb3VudHJpZXM6W10sc2VwYXJhdGVEaWFsQ29kZTohMH0pLHU9cy5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfY291bnRyeV0iKTt1LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKCl7aWYoIV8uaXNVbmRlZmluZWQoZC5nZXRWYWx1ZSgpKSl7dmFyIGU9ZC5nZXRWYWx1ZSgpLmN1c3RvbVByb3BlcnRpZXM7aWYoYy5zZXRDb3VudHJ5KGQuZ2V0VmFsdWUoKS52YWx1ZSkscy5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfcGhvbmVfZGlhbF9jb2RlXSIpLnZhbHVlPWMuZ2V0U2VsZWN0ZWRDb3VudHJ5RGF0YSgpLmRpYWxDb2RlLGUmJmUudXJsKXt2YXIgdD1zLmdldEF0dHJpYnV0ZSgiZGF0YS1hY3Rpb24tcGF0aCIpLG49bmV3IFVSTCh0LGUudXJsKTtzLnNldEF0dHJpYnV0ZSgiYWN0aW9uIixuLmhyZWYpfX19KSk7dmFyIGQ9KDAsaS5pbml0Q2hvaWNlcykodSwoZnVuY3Rpb24oKXt1LmRpc3BhdGNoRXZlbnQobmV3IHdpbmRvdy5DdXN0b21FdmVudCgiY2hhbmdlIikpfSkpO3MucXVlcnlTZWxlY3RvcigiYnV0dG9uW3R5cGU9c3VibWl0XSIpLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKSxzLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsKGZ1bmN0aW9uKGUpe3MucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX3Bob25lXSIpLnZhbHVlPWMuZ2V0TnVtYmVyKCl9KSl9fSwyMTg5MDpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTtuKDgyNTI2KSxuKDQxODE3KSxuKDQxNTM5KSxuKDMyMTY1KSxuKDY2OTkyKSxuKDc4NzgzKSxuKDMzOTQ4KSxuKDQ3MDQyKSxuKDY4MzA5KSxuKDkxMDM4KSxuKDc0OTE2KSxuKDY5NzIwKSxuKDY5ODI2KTt2YXIgcj1uKDgzNDA3KSxhPW4oMTg2OTkpLG89bi5uKGEpLGk9big0NTA0Nykscz1uKDcyMTU1KTtmdW5jdGlvbiBsKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbD09bilyZXR1cm47dmFyIHIsYSxvPVtdLGk9ITAscz0hMTt0cnl7Zm9yKG49bi5jYWxsKGUpOyEoaT0ocj1uLm5leHQoKSkuZG9uZSkmJihvLnB1c2goci52YWx1ZSksIXR8fG8ubGVuZ3RoIT09dCk7aT0hMCk7fWNhdGNoKGUpe3M9ITAsYT1lfWZpbmFsbHl7dHJ5e2l8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyBhfX1yZXR1cm4gb30oZSx0KXx8YyhlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gYyhlLHQpe2lmKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gdShlLHQpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP3UoZSx0KTp2b2lkIDB9fWZ1bmN0aW9uIHUoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybS1kZW1vLWFjY291bnQiKTtpZihkKXsoMCxyLlopKGQse3JldmFsaWRhdGU6Im9uc3VibWl0In0pO3ZhciBmPWQucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX2NvdW50cnldIiksbT1kLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9waG9uZV92aXNdIikscD1kLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9jbGFzc2lmaWNhdGlvbl0iKSx2PWQucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX2FjY19sZXZlcmFnZV0iKTtwLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKCl7aWYoIV8uaXNVbmRlZmluZWQoZy5nZXRWYWx1ZSgpKSl7di5pbm5lckhUTUw9IiI7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIiksdD12LmdldEF0dHJpYnV0ZSgiZGF0YS1wbGFjZWhvbGRlciIpO2UuaW5uZXJIVE1MPXQsZS52YWx1ZT0iIixlLnNldEF0dHJpYnV0ZSgic2VsZWN0ZWQiLCJzZWxlY3RlZCIpLGUuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsImRpc2FibGVkIiksZS5kaXNhYmxlZD0hMCx2LmFwcGVuZENoaWxkKGUpO2Zvcih2YXIgbj1KU09OLnBhcnNlKHBbcC5zZWxlY3RlZEluZGV4XS5nZXRBdHRyaWJ1dGUoImRhdGEtbGV2ZXJhZ2UiKSkscj0wLGE9T2JqZWN0LmVudHJpZXMobik7cjxhLmxlbmd0aDtyKyspe3ZhciBvPWwoYVtyXSwyKSxpPShvWzBdLG9bMV0pLHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7cy52YWx1ZT1pLmlkLHMuaW5uZXJIVE1MPWkubmFtZSx2LmFwcGVuZENoaWxkKHMpfX19KSk7dmFyIGg9bygpKG0se2FsbG93RHJvcGRvd246ITEsYXV0b0hpZGVEaWFsQ29kZTohMSxjdXN0b21Db250YWluZXI6Im5vLWZsYWciLGhpZGRlbklucHV0OiJjcmVhdGVfcGhvbmUiLHV0aWxzU2NyaXB0OiIvc2l0ZS90aGVtZXMvQXZhdHJhZGVycy9hc3NldHMvZGlzdC9saWIvaW50bC10ZWwtaW5wdXQvdXRpbHMuanMiLHByZWZlcnJlZENvdW50cmllczpbXSxzZXBhcmF0ZURpYWxDb2RlOiEwfSk7Zi5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChmdW5jdGlvbigpe2lmKCFfLmlzVW5kZWZpbmVkKGcuZ2V0VmFsdWUoKSkmJiFfLmlzRW1wdHkoZy5nZXRWYWx1ZSgpLnZhbHVlKSl7dmFyIGU9ZC5xdWVyeVNlbGVjdG9yKCIuZWVhLWNvbnNlbnQiKTtpZihlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWVlYV9jb25zZW50XSIpOzE9PT1fLnBhcnNlSW50KGcuZ2V0VmFsdWUoKS5jdXN0b21Qcm9wZXJ0aWVzLmVlYSl8fCEwPT09Zy5nZXRWYWx1ZSgpLmN1c3RvbVByb3BlcnRpZXMuZWVhPyhlLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLHQucmVxdWlyZWQ9ITApOihlLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLHQucmVxdWlyZWQ9ITEpfWguc2V0Q291bnRyeShnLmdldFZhbHVlKCkudmFsdWUpLGQucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX3Bob25lX2RpYWxfY29kZV0iKS52YWx1ZT1oLmdldFNlbGVjdGVkQ291bnRyeURhdGEoKS5kaWFsQ29kZTt2YXIgbj1nLmdldFZhbHVlKCkuY3VzdG9tUHJvcGVydGllcztpZihuJiZuLmNsYXNzaWZpY2F0aW9ucyl7dmFyIHI9cC5xdWVyeVNlbGVjdG9yKCJvcHRpb25bdmFsdWU9UmV0YWlsXSIpLGE9cC5xdWVyeVNlbGVjdG9yKCJvcHRpb25bdmFsdWU9UHJvZmVzc2lvbmFsXSIpO3IuY2xhc3NMaXN0LmFkZCgiZC1ub25lIiksci5kaXNhYmxlZD0hMCxhLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLGEuZGlzYWJsZWQ9ITAsXy5pc1VuZGVmaW5lZChuLmNsYXNzaWZpY2F0aW9ucy5SZXRhaWwpfHwoci5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSxyLmRpc2FibGVkPSExKSxfLmlzVW5kZWZpbmVkKG4uY2xhc3NpZmljYXRpb25zLlByb2Zlc3Npb25hbCl8fChhLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLGEuZGlzYWJsZWQ9ITEpLCEwPT09cC5vcHRpb25zW3Auc2VsZWN0ZWRJbmRleF0uZGlzYWJsZWQmJighMT09PXIuZGlzYWJsZWQ/cC5zZWxlY3RlZEluZGV4PXIuaW5kZXg6ITE9PT1hLmRpc2FibGVkJiYocC5zZWxlY3RlZEluZGV4PWEuaW5kZXgpKSxwLmRpc3BhdGNoRXZlbnQobmV3IHdpbmRvdy5DdXN0b21FdmVudCgiY2hhbmdlIikpfX19KSk7dmFyIGc9KDAscy5pbml0Q2hvaWNlcykoZiwoZnVuY3Rpb24oKXtmLmRpc3BhdGNoRXZlbnQobmV3IHdpbmRvdy5DdXN0b21FdmVudCgiY2hhbmdlIikpfSksImRlbW8iKSx5PUpTT04ucGFyc2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0tbWVzc2FnZXMiKS50ZXh0Q29udGVudCksYj1kLnF1ZXJ5U2VsZWN0b3IoIi5tZXNzYWdlLXN1Y2Nlc3MiKSx3PWQucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2UtZmFpbCIpLFM9ZC5xdWVyeVNlbGVjdG9yKCJidXR0b25bdHlwZT1zdWJtaXRdIik7Uy5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIiksZC5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLChmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksYi5jbGFzc0xpc3QuYWRkKCJkLW5vbmUiKSx3LmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLFMuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsInRydWUiKTtkLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9waG9uZV0iKS52YWx1ZT1oLmdldE51bWJlcigpLGF4aW9zKHttZXRob2Q6InBvc3QiLHVybDpkLmdldEF0dHJpYnV0ZSgiYWN0aW9uIiksZGF0YTpuZXcgRm9ybURhdGEoZCl9KS50aGVuKChmdW5jdGlvbihlKXt2YXIgdD0hMCxuPWUuZGF0YS5pbnZhbGlkZmllbGRzO2lmKG4pe3ZhciByPWZ1bmN0aW9uKGUpe2lmKG4uaGFzT3duUHJvcGVydHkoZSkpe3ZhciByPXkuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIGE9ZSx0LmNvZGU9PT1uW2VdfSkpLG89IlVua25vd24gZXJyb3IiO3ImJihvPXIubWVzc2FnZSksImNyZWF0ZV9waG9uZSI9PT1lJiYoZT0iY3JlYXRlX3Bob25lX3ZpcyIpO3ZhciBpPWQucXVlcnlTZWxlY3RvcigiW25hbWU9Ii5jb25jYXQoZSkpO2kuc2V0Q3VzdG9tVmFsaWRpdHkobyksaS5yZXBvcnRWYWxpZGl0eSgpLGkuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoZnVuY3Rpb24oKXtpLnNldEN1c3RvbVZhbGlkaXR5KCIiKX0pKSx0PSExfWE9ZX07Zm9yKHZhciBhIGluIG4pcihhKX1pZihlLmRhdGEuZXJyb3JzJiZlLmRhdGEuZXJyb3JzLmxlbmd0aD4wKXt2YXIgbyxzPSIiLGw9ZnVuY3Rpb24oZSx0KXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYoIW4pe2lmKEFycmF5LmlzQXJyYXkoZSl8fChuPWMoZSkpfHx0JiZlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXtuJiYoZT1uKTt2YXIgcj0wLGE9ZnVuY3Rpb24oKXt9O3JldHVybntzOmEsbjpmdW5jdGlvbigpe3JldHVybiByPj1lLmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6ZVtyKytdfX0sZTpmdW5jdGlvbihlKXt0aHJvdyBlfSxmOmF9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgbyxpPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbChlKX0sbjpmdW5jdGlvbigpe3ZhciBlPW4ubmV4dCgpO3JldHVybiBpPWUuZG9uZSxlfSxlOmZ1bmN0aW9uKGUpe3M9ITAsbz1lfSxmOmZ1bmN0aW9uKCl7dHJ5e2l8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyBvfX19fShlLmRhdGEuZXJyb3JzKTt0cnl7dmFyIHU9ZnVuY3Rpb24oKXt2YXIgZT1vLnZhbHVlLHQ9eS5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2RlPT09ZX0pKTtzKz10P3QubWVzc2FnZSsiPGJyPiI6ZSsiPGJyPiJ9O2ZvcihsLnMoKTshKG89bC5uKCkpLmRvbmU7KXUoKX1jYXRjaChlKXtsLmUoZSl9ZmluYWxseXtsLmYoKX13LmlubmVySFRNTD1zLHcuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksKDAsaS5YNSkodyksdD0hMX1pZih0KXtiLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLCgwLGkuWDUpKGIpLGQucmVzZXQoKTt0cnl7d2luZG93LmRhdGFMYXllci5wdXNoKHtldmVudDoiRGVtb2FjY291bnQifSl9Y2F0Y2goZSl7Y29uc29sZS5sb2coZSl9fX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7dy5pbm5lckhUTUw9ZS5tZXNzYWdlLHcuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksKDAsaS5YNSkodyl9KSkudGhlbigoZnVuY3Rpb24oKXtTLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKX0pKX0pKX19LDU1NDU1OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO24oODI1MjYpLG4oNDE4MTcpLG4oNDE1MzkpLG4oMzIxNjUpLG4oNjY5OTIpLG4oNzg3ODMpLG4oMzM5NDgpLG4oNDcwNDIpLG4oNjgzMDkpLG4oOTEwMzgpLG4oNzQ5MTYpLG4oMjY2OTkpLG4oMzIwMjMpO3ZhciByPW4oODM0MDcpLGE9bigxODY5OSksbz1uLm4oYSksaT1uKDcyMTU1KTtmdW5jdGlvbiBzKGUsdCl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KGUpfHwobj1mdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybjtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGwoZSx0KTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7Ik9iamVjdCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpO2lmKCJNYXAiPT09bnx8IlNldCI9PT1uKXJldHVybiBBcnJheS5mcm9tKGUpO2lmKCJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpcmV0dXJuIGwoZSx0KX0oZSkpfHx0JiZlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXtuJiYoZT1uKTt2YXIgcj0wLGE9ZnVuY3Rpb24oKXt9O3JldHVybntzOmEsbjpmdW5jdGlvbigpe3JldHVybiByPj1lLmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6ZVtyKytdfX0sZTpmdW5jdGlvbihlKXt0aHJvdyBlfSxmOmF9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgbyxpPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbChlKX0sbjpmdW5jdGlvbigpe3ZhciBlPW4ubmV4dCgpO3JldHVybiBpPWUuZG9uZSxlfSxlOmZ1bmN0aW9uKGUpe3M9ITAsbz1lfSxmOmZ1bmN0aW9uKCl7dHJ5e2l8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyBvfX19fWZ1bmN0aW9uIGwoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybS1ldGQtZGVtby1hY2NvdW50Iik7aWYoYyl7d2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoImZ1dHVyZXMtZGVtby1hY2NvdW50PWNyZWF0ZSIpJiYkKCIjZGVtby1ldGQtYWNjb3VudC1tb2RhbCIpLm1vZGFsKCJzaG93Iiksd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoImZvcmV4LWZ1dHVyZXMtZGVtby1hY2NvdW50PWNob29zZSIpJiYkKCIjZGVtby1hY2NvdW50cy1tb2RhbCIpLm1vZGFsKCJzaG93IiksKDAsci5aKShjLHtyZXZhbGlkYXRlOiJvbnN1Ym1pdCJ9KTt2YXIgdT1jLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9jb3VudHJ5XSIpLGQ9Yy5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfcGhvbmVfdmlzXSIpLGY9bygpKGQse2FsbG93RHJvcGRvd246ITEsYXV0b0hpZGVEaWFsQ29kZTohMSxjdXN0b21Db250YWluZXI6Im5vLWZsYWciLGhpZGRlbklucHV0OiJjcmVhdGVfcGhvbmUiLHV0aWxzU2NyaXB0OiIvc2l0ZS90aGVtZXMvQXZhdHJhZGVycy9hc3NldHMvZGlzdC9saWIvaW50bC10ZWwtaW5wdXQvdXRpbHMuanMiLHByZWZlcnJlZENvdW50cmllczpbXSxzZXBhcmF0ZURpYWxDb2RlOiEwfSk7dS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChmdW5jdGlvbigpe2lmKCFfLmlzVW5kZWZpbmVkKG0uZ2V0VmFsdWUoKSkmJiFfLmlzRW1wdHkobS5nZXRWYWx1ZSgpLnZhbHVlKSl7dmFyIGU9Yy5xdWVyeVNlbGVjdG9yKCIuZWVhLWNvbnNlbnQiKTtpZihlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWVlYV9jb25zZW50XSIpOzE9PT1fLnBhcnNlSW50KG0uZ2V0VmFsdWUoKS5jdXN0b21Qcm9wZXJ0aWVzLmVlYSl8fCEwPT09bS5nZXRWYWx1ZSgpLmN1c3RvbVByb3BlcnRpZXMuZWVhPyhlLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLHQucmVxdWlyZWQ9ITApOihlLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLHQucmVxdWlyZWQ9ITEpfWYuc2V0Q291bnRyeShtLmdldFZhbHVlKCkudmFsdWUpLGMucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX3Bob25lX2RpYWxfY29kZV0iKS52YWx1ZT1mLmdldFNlbGVjdGVkQ291bnRyeURhdGEoKS5kaWFsQ29kZX19KSk7dmFyIG09KDAsaS5pbml0Q2hvaWNlcykodSwoZnVuY3Rpb24oKXt1LmRpc3BhdGNoRXZlbnQobmV3IHdpbmRvdy5DdXN0b21FdmVudCgiY2hhbmdlIikpfSksImRlbW8iKSxwPWMucXVlcnlTZWxlY3RvcigiZmllbGRzZXQiKSx2PWMucXVlcnlTZWxlY3RvcigiLmV0ZC1wb2ludHMiKSxoPWMucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2Utc3VjY2VzcyIpLGc9Yy5xdWVyeVNlbGVjdG9yKCIubWVzc2FnZS1mYWlsIikseT1jLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvblt0eXBlPXN1Ym1pdF0iKTt5LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKSxjLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtoLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLGcuY2xhc3NMaXN0LmFkZCgiZC1ub25lIikseS5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwidHJ1ZSIpLGF4aW9zKHttZXRob2Q6InBvc3QiLHVybDpjLmdldEF0dHJpYnV0ZSgiYWN0aW9uIiksZGF0YTpuZXcgRm9ybURhdGEoYyl9KS50aGVuKChmdW5jdGlvbihlKXtpZihlLmRhdGEuZXJyb3JzJiZlLmRhdGEuZXJyb3JzLmxlbmd0aD4wKXt2YXIgdCxuPSIiLHI9cyhlLmRhdGEuZXJyb3JzKTt0cnl7Zm9yKHIucygpOyEodD1yLm4oKSkuZG9uZTspbis9dC52YWx1ZSsiPGJyPiJ9Y2F0Y2goZSl7ci5lKGUpfWZpbmFsbHl7ci5mKCl9cmV0dXJuIGcuaW5uZXJIVE1MPW4sdm9pZCBnLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpfWlmKCJzdHJpbmciPT10eXBlb2YgZS5kYXRhJiZlLmRhdGEuaW5jbHVkZXMoIkRlbW8gTG9naW4gUmVxdWVzdCBGYWlsZWQiKSlyZXR1cm4gZy5pbm5lckhUTUw9ZS5kYXRhLHZvaWQgZy5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKTtoLmlubmVySFRNTD1lLmRhdGEsaC5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSxjLnJlc2V0KCl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2cuaW5uZXJIVE1MPWUubWVzc2FnZSxnLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7eS5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIil9KSl9KSkseS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGZ1bmN0aW9uKGUpe3AuY2xhc3NMaXN0LmNvbnRhaW5zKCJkLW5vbmUiKSYmKGUucHJldmVudERlZmF1bHQoKSxwLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLHYuY2xhc3NMaXN0LmFkZCgiZC1ub25lIikpfSkpfX0sMzI5NDg6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7big4MjUyNiksbig0MTgxNyksbig0MTUzOSksbigzMjE2NSksbig2Njk5Miksbig3ODc4MyksbigzMzk0OCksbig0NzA0Miksbig2ODMwOSksbig5MTAzOCksbig3NDkxNiksbig2OTgyNik7dmFyIHI9big4MzQwNyk7ZnVuY3Rpb24gYShlLHQpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheShlKXx8KG49ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm47aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBvKGUsdCk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpOyJPYmplY3QiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKTtpZigiTWFwIj09PW58fCJTZXQiPT09bilyZXR1cm4gQXJyYXkuZnJvbShlKTtpZigiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKXJldHVybiBvKGUsdCl9KGUpKXx8dCYmZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aCl7biYmKGU9bik7dmFyIHI9MCxhPWZ1bmN0aW9uKCl7fTtyZXR1cm57czphLG46ZnVuY3Rpb24oKXtyZXR1cm4gcj49ZS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmVbcisrXX19LGU6ZnVuY3Rpb24oZSl7dGhyb3cgZX0sZjphfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIGkscz0hMCxsPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwoZSl9LG46ZnVuY3Rpb24oKXt2YXIgZT1uLm5leHQoKTtyZXR1cm4gcz1lLmRvbmUsZX0sZTpmdW5jdGlvbihlKXtsPSEwLGk9ZX0sZjpmdW5jdGlvbigpe3RyeXtzfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKGwpdGhyb3cgaX19fX1mdW5jdGlvbiBvKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0tbmV3c2xldHRlciIpO2lmKGkpeygwLHIuWikoaSx7cmV2YWxpZGF0ZToib25zdWJtaXQifSk7dmFyIHM9SlNPTi5wYXJzZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybS1tZXNzYWdlcyIpLnRleHRDb250ZW50KSxsPWkucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2Utc3VjY2VzcyIpLGM9aS5xdWVyeVNlbGVjdG9yKCIubWVzc2FnZS1mYWlsIiksdT1pLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvblt0eXBlPXN1Ym1pdF0iKTt1LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKSxpLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSx1LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCJ0cnVlIik7YXhpb3Moe21ldGhvZDoicG9zdCIsdXJsOmkuZ2V0QXR0cmlidXRlKCJhY3Rpb24iKSxkYXRhOm5ldyBGb3JtRGF0YShpKX0pLnRoZW4oKGZ1bmN0aW9uKGUpe3ZhciB0PSEwO2lmKGUuZGF0YS5lcnJvcnMmJmUuZGF0YS5lcnJvcnMubGVuZ3RoPjApe3ZhciBuLHI9IiIsbz1hKGUuZGF0YS5lcnJvcnMpO3RyeXt2YXIgdT1mdW5jdGlvbigpe3ZhciBlPW4udmFsdWUsdD1zLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvZGU9PT1lfSkpO3IrPXQ/dC5tZXNzYWdlKyI8YnI+IjplKyI8YnI+In07Zm9yKG8ucygpOyEobj1vLm4oKSkuZG9uZTspdSgpfWNhdGNoKGUpe28uZShlKX1maW5hbGx5e28uZigpfWMuaW5uZXJIVE1MPXIsYy5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSx0PSExfXQmJihsLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLGkucmVzZXQoKSl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2MuaW5uZXJIVE1MPWUubWVzc2FnZSxjLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7dS5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIil9KSl9KSl9fSwzNzExMjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTtuKDgyNTI2KSxuKDQxODE3KSxuKDQxNTM5KSxuKDMyMTY1KSxuKDY2OTkyKSxuKDc4NzgzKSxuKDMzOTQ4KSxuKDQ3MDQyKSxuKDY4MzA5KSxuKDkxMDM4KSxuKDc0OTE2KSxuKDY5ODI2KTt2YXIgcj1uKDgzNDA3KSxhPW4oMTg2OTkpLG89bi5uKGEpLGk9big0NTA0Nykscz1uKDcyMTU1KTtmdW5jdGlvbiBsKGUsdCl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KGUpfHwobj1mdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybjtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGMoZSx0KTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7Ik9iamVjdCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpO2lmKCJNYXAiPT09bnx8IlNldCI9PT1uKXJldHVybiBBcnJheS5mcm9tKGUpO2lmKCJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpcmV0dXJuIGMoZSx0KX0oZSkpfHx0JiZlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXtuJiYoZT1uKTt2YXIgcj0wLGE9ZnVuY3Rpb24oKXt9O3JldHVybntzOmEsbjpmdW5jdGlvbigpe3JldHVybiByPj1lLmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6ZVtyKytdfX0sZTpmdW5jdGlvbihlKXt0aHJvdyBlfSxmOmF9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgbyxpPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbChlKX0sbjpmdW5jdGlvbigpe3ZhciBlPW4ubmV4dCgpO3JldHVybiBpPWUuZG9uZSxlfSxlOmZ1bmN0aW9uKGUpe3M9ITAsbz1lfSxmOmZ1bmN0aW9uKCl7dHJ5e2l8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyBvfX19fWZ1bmN0aW9uIGMoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybS1yZWdpc3RyYXRpb24tYXBpIik7aWYodSl7KDAsci5aKSh1LHtyZXZhbGlkYXRlOiJvbnN1Ym1pdCJ9KTt2YXIgZD11LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9waG9uZV92aXNdIiksZj1vKCkoZCx7YWxsb3dEcm9wZG93bjohMSxhdXRvSGlkZURpYWxDb2RlOiExLGN1c3RvbUNvbnRhaW5lcjoibm8tZmxhZyIsaGlkZGVuSW5wdXQ6ImNyZWF0ZV9waG9uZSIsdXRpbHNTY3JpcHQ6Ii9zaXRlL3RoZW1lcy9BdmF0cmFkZXJzL2Fzc2V0cy9kaXN0L2xpYi9pbnRsLXRlbC1pbnB1dC91dGlscy5qcyIscHJlZmVycmVkQ291bnRyaWVzOltdLHNlcGFyYXRlRGlhbENvZGU6ITB9KSxtPXUucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX2NvdW50cnldIik7bS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChmdW5jdGlvbigpe18uaXNVbmRlZmluZWQocC5nZXRWYWx1ZSgpKXx8Xy5pc0VtcHR5KHAuZ2V0VmFsdWUoKS52YWx1ZSl8fChmLnNldENvdW50cnkocC5nZXRWYWx1ZSgpLnZhbHVlKSx1LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9waG9uZV9kaWFsX2NvZGVdIikudmFsdWU9Zi5nZXRTZWxlY3RlZENvdW50cnlEYXRhKCkuZGlhbENvZGUpfSkpO3ZhciBwPSgwLHMuaW5pdENob2ljZXMpKG0sKGZ1bmN0aW9uKCl7bS5kaXNwYXRjaEV2ZW50KG5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoImNoYW5nZSIpKX0pKSx2PUpTT04ucGFyc2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0tbWVzc2FnZXMiKS50ZXh0Q29udGVudCksaD11LnF1ZXJ5U2VsZWN0b3IoIi5tZXNzYWdlLXN1Y2Nlc3MiKSxnPXUucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2UtZmFpbCIpLHk9dS5xdWVyeVNlbGVjdG9yKCJidXR0b25bdHlwZT1zdWJtaXRdIik7eS5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIiksdS5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLChmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksaC5jbGFzc0xpc3QuYWRkKCJkLW5vbmUiKSxnLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLHkuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsInRydWUiKSx1LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9waG9uZV0iKS52YWx1ZT1mLmdldE51bWJlcigpO2F4aW9zKHttZXRob2Q6InBvc3QiLHVybDp1LmdldEF0dHJpYnV0ZSgiYWN0aW9uIiksZGF0YTpuZXcgRm9ybURhdGEodSl9KS50aGVuKChmdW5jdGlvbihlKXt2YXIgdD0hMCxuPWUuZGF0YS5pbnZhbGlkZmllbGRzO2lmKG4pe3ZhciByPWZ1bmN0aW9uKGUpe2lmKG4uaGFzT3duUHJvcGVydHkoZSkpe3ZhciByPXYuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIGE9ZSx0LmNvZGU9PT1uW2VdfSkpOyJjcmVhdGVfcGhvbmUiPT09ZSYmKGU9ImNyZWF0ZV9waG9uZV92aXMiKTt2YXIgbz11LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPSIuY29uY2F0KGUpKTtvLnNldEN1c3RvbVZhbGlkaXR5KHIubWVzc2FnZSksby5yZXBvcnRWYWxpZGl0eSgpLG8uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoZnVuY3Rpb24oKXtvLnNldEN1c3RvbVZhbGlkaXR5KCIiKX0pKSx0PSExfWE9ZX07Zm9yKHZhciBhIGluIG4pcihhKX1pZihlLmRhdGEuZXJyb3JzJiZlLmRhdGEuZXJyb3JzLmxlbmd0aD4wKXt2YXIgbyxzPSIiLGM9bChlLmRhdGEuZXJyb3JzKTt0cnl7dmFyIGQ9ZnVuY3Rpb24oKXt2YXIgZT1vLnZhbHVlLHQ9di5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2RlPT09ZX0pKTtzKz10P3QubWVzc2FnZSsiPGJyPiI6ZSsiPGJyPiJ9O2ZvcihjLnMoKTshKG89Yy5uKCkpLmRvbmU7KWQoKX1jYXRjaChlKXtjLmUoZSl9ZmluYWxseXtjLmYoKX1nLmlubmVySFRNTD1zLGcuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksKDAsaS5YNSkoZyksdD0hMX10JiYoaC5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSwoMCxpLlg1KShoKSx1LnJlc2V0KCkpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtnLmlubmVySFRNTD1lLm1lc3NhZ2UsZy5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSwoMCxpLlg1KShnKX0pKS50aGVuKChmdW5jdGlvbigpe3kucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpfSkpfSkpfX0sMTMxMDk6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7big4MjUyNiksbig0MTgxNyksbig0MTUzOSksbigzMjE2NSksbig2Njk5Miksbig3ODc4MyksbigzMzk0OCksbig0NzA0Miksbig2ODMwOSksbig5MTAzOCksbig3NDkxNiksbig2OTgyNik7dmFyIHI9big4MzQwNyksYT1uKDE4Njk5KSxvPW4ubihhKSxpPW4oNDUwNDcpLHM9big3MjE1NSk7ZnVuY3Rpb24gbChlLHQpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheShlKXx8KG49ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm47aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBjKGUsdCk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpOyJPYmplY3QiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKTtpZigiTWFwIj09PW58fCJTZXQiPT09bilyZXR1cm4gQXJyYXkuZnJvbShlKTtpZigiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKXJldHVybiBjKGUsdCl9KGUpKXx8dCYmZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aCl7biYmKGU9bik7dmFyIHI9MCxhPWZ1bmN0aW9uKCl7fTtyZXR1cm57czphLG46ZnVuY3Rpb24oKXtyZXR1cm4gcj49ZS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmVbcisrXX19LGU6ZnVuY3Rpb24oZSl7dGhyb3cgZX0sZjphfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIG8saT0hMCxzPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwoZSl9LG46ZnVuY3Rpb24oKXt2YXIgZT1uLm5leHQoKTtyZXR1cm4gaT1lLmRvbmUsZX0sZTpmdW5jdGlvbihlKXtzPSEwLG89ZX0sZjpmdW5jdGlvbigpe3RyeXtpfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKHMpdGhyb3cgb319fX1mdW5jdGlvbiBjKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0tc2VtaW5hci1yZWdpc3RlciIpO2lmKHUpeygwLHIuWikodSx7cmV2YWxpZGF0ZToib25zdWJtaXQifSk7dmFyIGQ9dS5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfcGhvbmVfdmlzXSIpLGY9bygpKGQse2FsbG93RHJvcGRvd246ITEsYXV0b0hpZGVEaWFsQ29kZTohMSxjdXN0b21Db250YWluZXI6Im5vLWZsYWciLGhpZGRlbklucHV0OiJjcmVhdGVfcGhvbmUiLHV0aWxzU2NyaXB0OiIvc2l0ZS90aGVtZXMvQXZhdHJhZGVycy9hc3NldHMvZGlzdC9saWIvaW50bC10ZWwtaW5wdXQvdXRpbHMuanMiLHByZWZlcnJlZENvdW50cmllczpbXSxzZXBhcmF0ZURpYWxDb2RlOiEwfSksbT11LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9jb3VudHJ5XSIpO20uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoZnVuY3Rpb24oKXtpZighXy5pc1VuZGVmaW5lZChwLmdldFZhbHVlKCkpJiYhXy5pc0VtcHR5KHAuZ2V0VmFsdWUoKS52YWx1ZSkpe3ZhciBlPXUucXVlcnlTZWxlY3RvcigiLmVlYS1jb25zZW50Iik7aWYoZSl7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCJbbmFtZT1lZWFfY29uc2VudF0iKTsxPT09Xy5wYXJzZUludChwLmdldFZhbHVlKCkuY3VzdG9tUHJvcGVydGllcy5lZWEpfHwhMD09PXAuZ2V0VmFsdWUoKS5jdXN0b21Qcm9wZXJ0aWVzLmVlYT8oZS5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSx0LnJlcXVpcmVkPSEwKTooZS5jbGFzc0xpc3QuYWRkKCJkLW5vbmUiKSx0LnJlcXVpcmVkPSExKX1mLnNldENvdW50cnkocC5nZXRWYWx1ZSgpLnZhbHVlKSx1LnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9waG9uZV9kaWFsX2NvZGVdIikudmFsdWU9Zi5nZXRTZWxlY3RlZENvdW50cnlEYXRhKCkuZGlhbENvZGV9fSkpO3ZhciBwPSgwLHMuaW5pdENob2ljZXMpKG0sKGZ1bmN0aW9uKCl7bS5kaXNwYXRjaEV2ZW50KG5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoImNoYW5nZSIpKX0pKSx2PXUucXVlcnlTZWxlY3RvcigiLmJ0bi1zdWJtaXQiKSxoPUpTT04ucGFyc2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0tbWVzc2FnZXMiKS50ZXh0Q29udGVudCksZz11LnF1ZXJ5U2VsZWN0b3IoIi5tZXNzYWdlLXN1Y2Nlc3MiKSx5PXUucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2UtZmFpbCIpLGI9dS5xdWVyeVNlbGVjdG9yKCIuZmlsZS1kb3dubG9hZCIpLHc9dS5xdWVyeVNlbGVjdG9yKCIucG9wdXAtZGlhbG9nIik7dS5vbnN1Ym1pdD1mdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZy5jbGFzc0xpc3QuYWRkKCJkLW5vbmUiKSx5LmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLHYuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsInRydWUiKSx2LmNsYXNzTGlzdC5hZGQoImlzLWxvYWRpbmciKTtheGlvcyh7bWV0aG9kOiJwb3N0Iix1cmw6dS5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpLGRhdGE6bmV3IEZvcm1EYXRhKHUpfSkudGhlbigoZnVuY3Rpb24oZSl7dmFyIHQ9ITAsbj1lLmRhdGEuaW52YWxpZGZpZWxkcztpZihuKXt2YXIgcj1mdW5jdGlvbihlKXtpZihuLmhhc093blByb3BlcnR5KGUpKXt2YXIgcj1oLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiBhPWUsdC5jb2RlPT09bltlXX0pKTsiY3JlYXRlX3Bob25lIj09PWUmJihlPSJjcmVhdGVfcGhvbmVfdmlzIik7dmFyIG89dS5xdWVyeVNlbGVjdG9yKCJbbmFtZT0iLmNvbmNhdChlKSk7by5zZXRDdXN0b21WYWxpZGl0eShyLm1lc3NhZ2UpLG8ucmVwb3J0VmFsaWRpdHkoKSxvLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKCl7by5zZXRDdXN0b21WYWxpZGl0eSgiIil9KSksdD0hMX1hPWV9O2Zvcih2YXIgYSBpbiBuKXIoYSl9aWYoZS5kYXRhLmVycm9ycyYmZS5kYXRhLmVycm9ycy5sZW5ndGg+MCl7dmFyIG8scz0iIixjPWwoZS5kYXRhLmVycm9ycyk7dHJ5e3ZhciBkPWZ1bmN0aW9uKCl7dmFyIGU9by52YWx1ZSx0PWguZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuY29kZT09PWV9KSk7cys9dC5tZXNzYWdlKyI8YnI+In07Zm9yKGMucygpOyEobz1jLm4oKSkuZG9uZTspZCgpfWNhdGNoKGUpe2MuZShlKX1maW5hbGx5e2MuZigpfXkuaW5uZXJIVE1MPXMseS5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSwoMCxpLlg1KSh5KSx0PSExfXQmJihnLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLCgwLGkuWDUpKGcpLHUucmVzZXQoKSksYiYmKHdpbmRvdy5sb2NhdGlvbi5ocmVmPWIudmFsdWUpLHcmJncuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIil9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe3kuaW5uZXJIVE1MPWUubWVzc2FnZSx5LmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLCgwLGkuWDUpKHkpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7di5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIiksdi5jbGFzc0xpc3QucmVtb3ZlKCJpcy1sb2FkaW5nIil9KSl9fX0sMTA5OTM6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7big4MjUyNiksbig0MTgxNyksbig0MTUzOSksbigzMjE2NSksbig2Njk5Miksbig3ODc4MyksbigzMzk0OCksbig0NzA0Miksbig2ODMwOSksbig5MTAzOCksbig3NDkxNiksbig1NDc0Nyksbig2OTgyNik7dmFyIHI9big4MzQwNyksYT1uKDE4Njk5KSxvPW4ubihhKSxpPW4oNDUwNDcpLHM9big3MjE1NSk7ZnVuY3Rpb24gbChlLHQpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheShlKXx8KG49ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm47aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBjKGUsdCk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpOyJPYmplY3QiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKTtpZigiTWFwIj09PW58fCJTZXQiPT09bilyZXR1cm4gQXJyYXkuZnJvbShlKTtpZigiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKXJldHVybiBjKGUsdCl9KGUpKXx8dCYmZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aCl7biYmKGU9bik7dmFyIHI9MCxhPWZ1bmN0aW9uKCl7fTtyZXR1cm57czphLG46ZnVuY3Rpb24oKXtyZXR1cm4gcj49ZS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmVbcisrXX19LGU6ZnVuY3Rpb24oZSl7dGhyb3cgZX0sZjphfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIG8saT0hMCxzPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwoZSl9LG46ZnVuY3Rpb24oKXt2YXIgZT1uLm5leHQoKTtyZXR1cm4gaT1lLmRvbmUsZX0sZTpmdW5jdGlvbihlKXtzPSEwLG89ZX0sZjpmdW5jdGlvbigpe3RyeXtpfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKHMpdGhyb3cgb319fX1mdW5jdGlvbiBjKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmZvcm0td2ViaW5hci1yZWdpc3RlciIpLmZvckVhY2goKGZ1bmN0aW9uKGUsdCxuKXt2YXIgYT0ibm9uX2NsaWVudCIsYz1lOygwLHIuWikoYyx7cmV2YWxpZGF0ZToib25zdWJtaXQifSksYy5xdWVyeVNlbGVjdG9yQWxsKCIuYnRuLWNsaWVudCIpLmZvckVhY2goKGZ1bmN0aW9uKGUsdCxuKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oZSl7bnVsbCE9PWUudGFyZ2V0LmZpcnN0Q2hpbGQmJigiZXhpc3RpbmdfY2xpZW50Ij09PWUudGFyZ2V0LmZpcnN0Q2hpbGQudmFsdWU/KHYuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksdi5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIikscC5jbGFzc0xpc3QuYWRkKCJkLW5vbmUiKSxwLnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCJkaXNhYmxlZCIpLGE9ImV4aXN0aW5nX2NsaWVudCIpOih2LmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLHYuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsImRpc2FibGVkIikscC5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSxwLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKSkpfSkpfSkpO3ZhciB1PWMucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX3Bob25lX3Zpc10iKSxkPW8oKSh1LHthbGxvd0Ryb3Bkb3duOiExLGF1dG9IaWRlRGlhbENvZGU6ITEsY3VzdG9tQ29udGFpbmVyOiJuby1mbGFnIixoaWRkZW5JbnB1dDoiY3JlYXRlX3Bob25lIix1dGlsc1NjcmlwdDoiL3NpdGUvdGhlbWVzL0F2YXRyYWRlcnMvYXNzZXRzL2Rpc3QvbGliL2ludGwtdGVsLWlucHV0L3V0aWxzLmpzIixwcmVmZXJyZWRDb3VudHJpZXM6W10sc2VwYXJhdGVEaWFsQ29kZTohMH0pLGY9Yy5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfY291bnRyeV0iKTtmLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKCl7aWYoIV8uaXNVbmRlZmluZWQobS5nZXRWYWx1ZSgpKSYmIV8uaXNFbXB0eShtLmdldFZhbHVlKCkudmFsdWUpKXt2YXIgZT1jLnF1ZXJ5U2VsZWN0b3IoIi5lZWEtY29uc2VudCIpO2lmKGUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiW25hbWU9ZWVhX2NvbnNlbnRdIik7MT09PV8ucGFyc2VJbnQobS5nZXRWYWx1ZSgpLmN1c3RvbVByb3BlcnRpZXMuZWVhKXx8ITA9PT1tLmdldFZhbHVlKCkuY3VzdG9tUHJvcGVydGllcy5lZWE/KGUuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksdC5yZXF1aXJlZD0hMCk6KGUuY2xhc3NMaXN0LmFkZCgiZC1ub25lIiksdC5yZXF1aXJlZD0hMSl9ZC5zZXRDb3VudHJ5KG0uZ2V0VmFsdWUoKS52YWx1ZSksYy5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfcGhvbmVfZGlhbF9jb2RlXSIpLnZhbHVlPWQuZ2V0U2VsZWN0ZWRDb3VudHJ5RGF0YSgpLmRpYWxDb2RlfX0pKTt2YXIgbT0oMCxzLmluaXRDaG9pY2VzKShmLChmdW5jdGlvbigpe2YuZGlzcGF0Y2hFdmVudChuZXcgd2luZG93LkN1c3RvbUV2ZW50KCJjaGFuZ2UiKSl9KSkscD1jLnF1ZXJ5U2VsZWN0b3IoIi5maWVsZHNldC1ub24tY2xpZW50Iiksdj1jLnF1ZXJ5U2VsZWN0b3IoIi5maWVsZHNldC1leGlzdGluZy1jbGllbnQiKSxoPUpTT04ucGFyc2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0tbWVzc2FnZXMiKS50ZXh0Q29udGVudCksZz1jLnF1ZXJ5U2VsZWN0b3IoIi5tZXNzYWdlLXN1Y2Nlc3MiKSx5PWMucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2UtZmFpbCIpLGI9Yy5xdWVyeVNlbGVjdG9yKCIuYnRuLXN1Ym1pdCIpO2IucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpLGMub25zdWJtaXQ9ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGcuY2xhc3NMaXN0LmFkZCgiZC1ub25lIikseS5jbGFzc0xpc3QuYWRkKCJkLW5vbmUiKSxiLnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCJkaXNhYmxlZCIpLGIuY2xhc3NMaXN0LmFkZCgiaXMtbG9hZGluZyIpO2F4aW9zKHttZXRob2Q6InBvc3QiLHVybDpjLmdldEF0dHJpYnV0ZSgiYWN0aW9uIiksZGF0YTpuZXcgRm9ybURhdGEoYyl9KS50aGVuKChmdW5jdGlvbihlKXt2YXIgdD0hMCxuPWUuZGF0YS5pbnZhbGlkZmllbGRzO2lmKG4pe3ZhciByPWZ1bmN0aW9uKGUpe2lmKG4uaGFzT3duUHJvcGVydHkoZSkpe3ZhciByPWguZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIG89ZSx0LmNvZGU9PT1uW2VdfSkpOyJjcmVhdGVfcGhvbmUiPT09ZSYmKGU9ImNyZWF0ZV9waG9uZV92aXMiKTt2YXIgaT1jLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPSIuY29uY2F0KGUsIl0iKSk7aS5zZXRDdXN0b21WYWxpZGl0eShyLm1lc3NhZ2UpLGkucmVwb3J0VmFsaWRpdHkoKSxpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKCl7aS5zZXRDdXN0b21WYWxpZGl0eSgiIil9KSksImV4aXN0aW5nX2NsaWVudCI9PT1hJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oKXtpLnNldEN1c3RvbVZhbGlkaXR5KCIiKX0pKSx0PSExfW89ZX07Zm9yKHZhciBvIGluIG4pcihvKX1pZihlLmRhdGEuZXJyb3JzJiZlLmRhdGEuZXJyb3JzLmxlbmd0aD4wKXt2YXIgcyx1PSIiLGQ9bChlLmRhdGEuZXJyb3JzKTt0cnl7dmFyIGY9ZnVuY3Rpb24oKXt2YXIgZT1zLnZhbHVlLHQ9aC5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2RlPT09ZX0pKTt1Kz10Lm1lc3NhZ2UrIjxicj4ifTtmb3IoZC5zKCk7IShzPWQubigpKS5kb25lOylmKCl9Y2F0Y2goZSl7ZC5lKGUpfWZpbmFsbHl7ZC5mKCl9eS5pbm5lckhUTUw9dSx5LmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLCgwLGkuWDUpKHkpLHQ9ITF9dCYmKGcuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksKDAsaS5YNSkoZyksYy5yZXNldCgpKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7Y29uc29sZS5sb2coZSxlLnJlc3BvbnNlKSx5LmlubmVySFRNTD1lLm1lc3NhZ2UsZS5yZXNwb25zZS5kYXRhLmVycm9yJiYoeS5pbm5lckhUTUw9ZS5yZXNwb25zZS5kYXRhLmVycm9yKSx5LmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLCgwLGkuWDUpKHkpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7Yi5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIiksYi5jbGFzc0xpc3QucmVtb3ZlKCJpcy1sb2FkaW5nIil9KSl9fSkpfSw1ODE1NjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTtuKDgyNTI2KSxuKDQxODE3KSxuKDQxNTM5KSxuKDMyMTY1KSxuKDY2OTkyKSxuKDc4NzgzKSxuKDMzOTQ4KSxuKDQ3MDQyKSxuKDY4MzA5KSxuKDkxMDM4KSxuKDc0OTE2KSxuKDY5ODI2KTt2YXIgcj1uKDgzNDA3KSxhPW4oMTg2OTkpLG89bi5uKGEpLGk9big3NjY2Nykscz1uKDQ1MDQ3KSxsPW4oNzIxNTUpO2Z1bmN0aW9uIGMoZSx0KXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYoIW4pe2lmKEFycmF5LmlzQXJyYXkoZSl8fChuPWZ1bmN0aW9uKGUsdCl7aWYoIWUpcmV0dXJuO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gdShlLHQpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTsiT2JqZWN0Ij09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSk7aWYoIk1hcCI9PT1ufHwiU2V0Ij09PW4pcmV0dXJuIEFycmF5LmZyb20oZSk7aWYoIkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKSlyZXR1cm4gdShlLHQpfShlKSl8fHQmJmUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpe24mJihlPW4pO3ZhciByPTAsYT1mdW5jdGlvbigpe307cmV0dXJue3M6YSxuOmZ1bmN0aW9uKCl7cmV0dXJuIHI+PWUubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTplW3IrK119fSxlOmZ1bmN0aW9uKGUpe3Rocm93IGV9LGY6YX19dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciBvLGk9ITAscz0hMTtyZXR1cm57czpmdW5jdGlvbigpe249bi5jYWxsKGUpfSxuOmZ1bmN0aW9uKCl7dmFyIGU9bi5uZXh0KCk7cmV0dXJuIGk9ZS5kb25lLGV9LGU6ZnVuY3Rpb24oZSl7cz0hMCxvPWV9LGY6ZnVuY3Rpb24oKXt0cnl7aXx8bnVsbD09bi5yZXR1cm58fG4ucmV0dXJuKCl9ZmluYWxseXtpZihzKXRocm93IG99fX19ZnVuY3Rpb24gdShlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtLXdlbGNvbWUtYWNjb3VudCIpO2lmKGQpeygwLHIuWikoZCx7cmV2YWxpZGF0ZToib25zdWJtaXQifSksci5aLmFkZFZhbGlkYXRvcihkLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWVtYWlsX2NvbmZpcm1hdGlvbl0iKSwoZnVuY3Rpb24oZSl7dmFyIHQ9ZC5xdWVyeVNlbGVjdG9yKCJbbmFtZT1lbWFpbF0iKS52YWx1ZS50b0xvd2VyQ2FzZSgpPT09ZS52YWx1ZS50b0xvd2VyQ2FzZSgpO3JldHVybiBlLnNldEN1c3RvbVZhbGlkaXR5KHQ/IiI6IkNvbmZpcm1hdGlvbiBkb2VzIG5vdCBtYXRjaC4iKSx0fSkpO3ZhciBmPWQucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX3Bob25lX3Zpc10iKSxtPW8oKShmLHthbGxvd0Ryb3Bkb3duOiExLGF1dG9IaWRlRGlhbENvZGU6ITEsY3VzdG9tQ29udGFpbmVyOiJuby1mbGFnIixoaWRkZW5JbnB1dDoiY3JlYXRlX3Bob25lIix1dGlsc1NjcmlwdDoiL3NpdGUvdGhlbWVzL0F2YXRyYWRlcnMvYXNzZXRzL2Rpc3QvbGliL2ludGwtdGVsLWlucHV0L3V0aWxzLmpzIixwcmVmZXJyZWRDb3VudHJpZXM6W10sc2VwYXJhdGVEaWFsQ29kZTohMH0pLHA9ZC5xdWVyeVNlbGVjdG9yKCIuc2VsLWNvdW50cnkiKTtwLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKCl7Xy5pc1VuZGVmaW5lZCh2LmdldFZhbHVlKCkpfHxfLmlzRW1wdHkodi5nZXRWYWx1ZSgpLnZhbHVlKXx8KG0uc2V0Q291bnRyeSh2LmdldFZhbHVlKCkudmFsdWUpLGQucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX3Bob25lX2RpYWxfY29kZV0iKS52YWx1ZT1tLmdldFNlbGVjdGVkQ291bnRyeURhdGEoKS5kaWFsQ29kZSl9KSk7dmFyIHY9KDAsbC5pbml0Q2hvaWNlcykocCwoZnVuY3Rpb24oKXtwLmRpc3BhdGNoRXZlbnQobmV3IHdpbmRvdy5DdXN0b21FdmVudCgiY2hhbmdlIikpfSksIndlbGNvbWUiKSxoPWQucXVlcnlTZWxlY3RvcigiI2RvYiIpOygwLGkuWikoaCx7YWxsb3dJbnB1dDohMSxhbHRJbnB1dDohMCxhbHRGb3JtYXQ6ImQtbS1ZIixkYXRlRm9ybWF0OiJZLW0tZCIsbWF4RGF0ZToidG9kYXkiLG9uQ2hhbmdlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1kLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWJpcnRoZGF0ZV9kYXldIiksYT1kLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWJpcnRoZGF0ZV9tb250aF0iKSxvPWQucXVlcnlTZWxlY3RvcigiW25hbWU9YmlydGhkYXRlX3llYXJdIik7aWYoZS5sZW5ndGg8PTApcmV0dXJuIHIudmFsdWU9IiIsYS52YWx1ZT0iIix2b2lkKG8udmFsdWU9IiIpO3IudmFsdWU9ZVswXS5nZXREYXRlKCksYS52YWx1ZT1lWzBdLmdldE1vbnRoKCkrMSxvLnZhbHVlPWVbMF0uZ2V0RnVsbFllYXIoKSxyLnNldEN1c3RvbVZhbGlkaXR5KCIiKSxhLnNldEN1c3RvbVZhbGlkaXR5KCIiKSxvLnNldEN1c3RvbVZhbGlkaXR5KCIiKX19KTtoLm9ua2V5cHJlc3M9ZnVuY3Rpb24oKXtyZXR1cm4hMX0saC5vbmtleWRvd249ZnVuY3Rpb24oZSl7cmV0dXJuIDg9PT1lLmtleUNvZGUmJihoLnZhbHVlPW51bGwpLCExfTt2YXIgZz1KU09OLnBhcnNlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtLW1lc3NhZ2VzIikudGV4dENvbnRlbnQpLHk9ZC5xdWVyeVNlbGVjdG9yKCIubWVzc2FnZS1zdWNjZXNzIiksYj1kLnF1ZXJ5U2VsZWN0b3IoIi5tZXNzYWdlLWZhaWwiKSx3PWQucXVlcnlTZWxlY3RvcigiYnV0dG9uW3R5cGU9c3VibWl0XSIpO3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7KDAscy5YNSkoeSl9KSw1MDApLHcucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpLGQuYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IiwoZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHkuY2xhc3NMaXN0LmFkZCgiZC1ub25lIiksYi5jbGFzc0xpc3QuYWRkKCJkLW5vbmUiKSx3LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCJ0cnVlIiksZC5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfcGhvbmVdIikudmFsdWU9bS5nZXROdW1iZXIoKTtheGlvcyh7bWV0aG9kOiJwb3N0Iix1cmw6ZC5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpLGRhdGE6bmV3IEZvcm1EYXRhKGQpfSkudGhlbigoZnVuY3Rpb24oZSl7dmFyIHQ9ITAsbj1lLmRhdGEuaW52YWxpZGZpZWxkcztpZihuKXt2YXIgcj1mdW5jdGlvbihlKXtpZihuLmhhc093blByb3BlcnR5KGUpKXt2YXIgcj1nLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvZGU9PT1lPyhhPWUsdC5jb2RlPT09ZSk6KGE9ZSx0LmNvZGU9PT1uW2VdKX0pKSxvPSJVbmtub3duIGVycm9yIjtyJiYobz1yLm1lc3NhZ2UpLCJjcmVhdGVfcGhvbmUiPT09ZSYmKGU9ImNyZWF0ZV9waG9uZV92aXMiKTt2YXIgaT1kLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPSIuY29uY2F0KGUpKTtpLnNldEN1c3RvbVZhbGlkaXR5KG8pLGkucmVwb3J0VmFsaWRpdHkoKSxpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKCl7aS5zZXRDdXN0b21WYWxpZGl0eSgiIil9KSksdD0hMX1hPWV9O2Zvcih2YXIgYSBpbiBuKXIoYSl9aWYoZS5kYXRhLmVycm9ycyYmZS5kYXRhLmVycm9ycy5sZW5ndGg+MCl7dmFyIG8saT0iIixsPWMoZS5kYXRhLmVycm9ycyk7dHJ5e3ZhciB1PWZ1bmN0aW9uKCl7dmFyIGU9by52YWx1ZSx0PWcuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuY29kZT09PWV9KSk7aSs9dD90Lm1lc3NhZ2UrIjxicj4iOmUrIjxicj4ifTtmb3IobC5zKCk7IShvPWwubigpKS5kb25lOyl1KCl9Y2F0Y2goZSl7bC5lKGUpfWZpbmFsbHl7bC5mKCl9Yi5pbm5lckhUTUw9aSxiLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLCgwLHMuWDUpKGIpLHQ9ITF9dCYmKHkuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksKDAscy5YNSkoeSksZC5yZXNldCgpKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7Yi5pbm5lckhUTUw9ZS5tZXNzYWdlLGIuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksKDAscy5YNSkoYil9KSkudGhlbigoZnVuY3Rpb24oKXt3LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKX0pKX0pKX19LDQ5MjAyOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO24oODI1MjYpLG4oNDE4MTcpLG4oNDE1MzkpLG4oMzIxNjUpLG4oNjY5OTIpLG4oNzg3ODMpLG4oMzM5NDgpLG4oNDcwNDIpLG4oNjgzMDkpLG4oOTEwMzgpLG4oNzQ5MTYpLG4oNjk4MjYpO3ZhciByPW4oODM0MDcpLGE9bigxODY5OSksbz1uLm4oYSksaT1uKDcyMTU1KTtmdW5jdGlvbiBzKGUsdCl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KGUpfHwobj1mdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybjtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGwoZSx0KTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7Ik9iamVjdCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpO2lmKCJNYXAiPT09bnx8IlNldCI9PT1uKXJldHVybiBBcnJheS5mcm9tKGUpO2lmKCJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpcmV0dXJuIGwoZSx0KX0oZSkpfHx0JiZlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXtuJiYoZT1uKTt2YXIgcj0wLGE9ZnVuY3Rpb24oKXt9O3JldHVybntzOmEsbjpmdW5jdGlvbigpe3JldHVybiByPj1lLmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6ZVtyKytdfX0sZTpmdW5jdGlvbihlKXt0aHJvdyBlfSxmOmF9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgbyxpPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbChlKX0sbjpmdW5jdGlvbigpe3ZhciBlPW4ubmV4dCgpO3JldHVybiBpPWUuZG9uZSxlfSxlOmZ1bmN0aW9uKGUpe3M9ITAsbz1lfSxmOmZ1bmN0aW9uKCl7dHJ5e2l8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyBvfX19fWZ1bmN0aW9uIGwoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybS13aGl0ZS1sYWJlbCIpO2lmKGMpeygwLHIuWikoYyx7cmV2YWxpZGF0ZToib25zdWJtaXQifSk7dmFyIHU9Yy5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfcGhvbmVfdmlzXSIpLGQ9bygpKHUse2FsbG93RHJvcGRvd246ITEsYXV0b0hpZGVEaWFsQ29kZTohMSxjdXN0b21Db250YWluZXI6Im5vLWZsYWciLGhpZGRlbklucHV0OiJjcmVhdGVfcGhvbmUiLHV0aWxzU2NyaXB0OiIvc2l0ZS90aGVtZXMvQXZhdHJhZGVycy9hc3NldHMvZGlzdC9saWIvaW50bC10ZWwtaW5wdXQvdXRpbHMuanMiLHByZWZlcnJlZENvdW50cmllczpbXSxzZXBhcmF0ZURpYWxDb2RlOiEwfSksZj1jLnF1ZXJ5U2VsZWN0b3IoIltuYW1lPWNyZWF0ZV9jb3VudHJ5XSIpO2YuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoZnVuY3Rpb24oKXtfLmlzVW5kZWZpbmVkKG0uZ2V0VmFsdWUoKSl8fF8uaXNFbXB0eShtLmdldFZhbHVlKCkudmFsdWUpfHwoZC5zZXRDb3VudHJ5KG0uZ2V0VmFsdWUoKS52YWx1ZSksYy5xdWVyeVNlbGVjdG9yKCJbbmFtZT1jcmVhdGVfcGhvbmVfZGlhbF9jb2RlXSIpLnZhbHVlPWQuZ2V0U2VsZWN0ZWRDb3VudHJ5RGF0YSgpLmRpYWxDb2RlKX0pKTt2YXIgbT0oMCxpLmluaXRDaG9pY2VzKShmLChmdW5jdGlvbigpe2YuZGlzcGF0Y2hFdmVudChuZXcgd2luZG93LkN1c3RvbUV2ZW50KCJjaGFuZ2UiKSl9KSwid2VsY29tZSIpLHA9SlNPTi5wYXJzZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybS1tZXNzYWdlcyIpLnRleHRDb250ZW50KSx2PWMucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2Utc3VjY2VzcyIpLGg9Yy5xdWVyeVNlbGVjdG9yKCIubWVzc2FnZS1mYWlsIiksZz1jLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvblt0eXBlPXN1Ym1pdF0iKTtnLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKSxjLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSx2LmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLGguY2xhc3NMaXN0LmFkZCgiZC1ub25lIiksZy5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwidHJ1ZSIpLGMucXVlcnlTZWxlY3RvcigiW25hbWU9Y3JlYXRlX3Bob25lXSIpLnZhbHVlPWQuZ2V0TnVtYmVyKCk7YXhpb3Moe21ldGhvZDoicG9zdCIsdXJsOmMuZ2V0QXR0cmlidXRlKCJhY3Rpb24iKSxkYXRhOm5ldyBGb3JtRGF0YShjKX0pLnRoZW4oKGZ1bmN0aW9uKGUpe3ZhciB0PSEwLG49ZS5kYXRhLmludmFsaWRmaWVsZHM7aWYobil7dmFyIHI9ZnVuY3Rpb24oZSl7aWYobi5oYXNPd25Qcm9wZXJ0eShlKSl7dmFyIHI9cC5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gYT1lLHQuY29kZT09PW5bZV19KSk7ImNyZWF0ZV9waG9uZSI9PT1lJiYoZT0iY3JlYXRlX3Bob25lX3ZpcyIpO3ZhciBvPWMucXVlcnlTZWxlY3RvcigiW25hbWU9Ii5jb25jYXQoZSkpO28uc2V0Q3VzdG9tVmFsaWRpdHkoci5tZXNzYWdlKSxvLnJlcG9ydFZhbGlkaXR5KCksby5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChmdW5jdGlvbigpe28uc2V0Q3VzdG9tVmFsaWRpdHkoIiIpfSkpLHQ9ITF9YT1lfTtmb3IodmFyIGEgaW4gbilyKGEpfWlmKGUuZGF0YS5lcnJvcnMmJmUuZGF0YS5lcnJvcnMubGVuZ3RoPjApe3ZhciBvLGk9IiIsbD1zKGUuZGF0YS5lcnJvcnMpO3RyeXt2YXIgdT1mdW5jdGlvbigpe3ZhciBlPW8udmFsdWUsdD1wLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvZGU9PT1lfSkpO2krPXQ/dC5tZXNzYWdlKyI8YnI+IjplKyI8YnI+In07Zm9yKGwucygpOyEobz1sLm4oKSkuZG9uZTspdSgpfWNhdGNoKGUpe2wuZShlKX1maW5hbGx5e2wuZigpfWguaW5uZXJIVE1MPWksaC5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSx0PSExfWlmKHQpe3YuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIiksYy5yZXNldCgpO3RyeXt3aW5kb3cuZGF0YUxheWVyLnB1c2goe2V2ZW50OiJXaGl0ZWxhYmVsIn0pfWNhdGNoKGUpe2NvbnNvbGUubG9nKGUpfX19KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2guaW5uZXJIVE1MPWUubWVzc2FnZSxoLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7Zy5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIil9KSl9KSl9fSwxNjQyNzpmdW5jdGlvbihlLHQsbil7big1NDYwOSksbigyODY1MiksbigxNzAyMiksbigxNTEyOSksbigyMTg5MCksbig1NTQ1NSksbig0MDU3OCksbig1ODE1Niksbig0OTIwMiksbigzNzExMiksbigxMzEwOSksbigxMDk5MyksbigyOTM0NSksbigzMjk0OCksbigxMjAzMSl9LDQ1MDQ3OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse192OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHY0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9LEZROmZ1bmN0aW9uKCl7cmV0dXJuIG99LFg1OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSk7big0MTUzOSksbig4ODY3NCk7ZnVuY3Rpb24gcihlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpe3JldHVybiBzZXRUaW1lb3V0KHQsZSl9KSl9ZnVuY3Rpb24gYShlKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubmF2YmFyLW1haW4iKTt0fHwodD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYXBwIikpO3ZhciBuPXQub2Zmc2V0SGVpZ2h0K2Uub2Zmc2V0SGVpZ2h0LzIscj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9ci50b3Asbz1yLmJvdHRvbTthLT1uLG8tPW47dmFyIGk9KHdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCktMipuO3JldHVybihhPjB8fG8+MCkmJmE8aX1mdW5jdGlvbiBvKGUsdCl7dmFyIG49bmV3IERhdGUoZS5nZXRUaW1lKCkpO3JldHVybiBuLnNldERhdGUoZS5nZXREYXRlKCkrKDcrdC1lLmdldERheSgpKSU3KSxufWZ1bmN0aW9uIGkoZSl7aWYoIWEoZSkpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5uYXZiYXItbWFpbiIpO3R8fCh0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhcHAiKSk7dmFyIG49dC5jbGllbnRIZWlnaHQrMTUscj1lLm9mZnNldFRvcC1uO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A9cixkb2N1bWVudC5ib2R5LnNjcm9sbFRvcD1yfX19LDU0NjA5OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO3ZhciByPW4oODM0MDcpO3dpbmRvdy5oeXBlcmZvcm09ci5aO3RyeXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJodG1sIikuZ2V0QXR0cmlidXRlKCJsYW5nIik7c3dpdGNoKGEpe2Nhc2UiY24iOm4oODQ4NjkpO2JyZWFrO2Nhc2UiZXMiOm4oODQ0MDQpO2JyZWFrO2Nhc2UiaWQiOmNhc2Uia28iOmNhc2UibXMiOmNhc2UicGwiOmNhc2UidGgiOmNhc2UidmkiOmJyZWFrO2Nhc2UicHQiOm4oMjI4NDQpO2JyZWFrO2RlZmF1bHQ6big0MjE3NCkoIi4vIi5jb25jYXQoYSkpfX1jYXRjaChlKXt9fSwyODY1MjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSxuKDgzNDA3KS5aLnNldFJlbmRlcmVyKCJhdHRhY2hXYXJuaW5nIiwoZnVuY3Rpb24oZSx0KXt2YXIgbj10LmdldEF0dHJpYnV0ZSgibmFtZSIpOyJjcmVhdGVfcGhvbmUiIT09biYmImNyZWF0ZV9waG9uZV92aXMiIT09biYmIm5jX2NyZWF0ZV9waG9uZSIhPT1uJiYibmNfY3JlYXRlX3Bob25lX3ZpcyIhPT1uJiYiZWNfY3JlYXRlX3Bob25lIiE9PW4mJiJlY19jcmVhdGVfcGhvbmVfdmlzIiE9PW4/dC5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGUpOnQucGFyZW50Tm9kZS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGUpfSkpfSwzNjg0MjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDc0MjExKSxhPW4ubihyKTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaWItY2FsY3VsYXRvciIpKXt2YXIgbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaWItY2FsY3VsYXRvci1hY2NvdW50IiksaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaWItY2FsY3VsYXRvci1sb3RzIikscz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaWItY2FsY3VsYXRvci1jb21taXNzaW9uLXBlci1sb3QiKSxsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpYi1jYWxjdWxhdG9yLWNvbW1pc3Npb24tdG90YWwiKSxjPWZ1bmN0aW9uKCl7dmFyIGU9b1tvLnNlbGVjdGVkSW5kZXhdLnZhbHVlLHQ9aVtpLnNlbGVjdGVkSW5kZXhdLnZhbHVlO3MudGV4dENvbnRlbnQ9IiQiK2UsbC50ZXh0Q29udGVudD0iJCIrKGUqdCkudG9Mb2NhbGVTdHJpbmcoKX07by5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGMpLGkuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoZnVuY3Rpb24oKXtwLnNldChpW2kuc2VsZWN0ZWRJbmRleF0udmFsdWUpLGMoKX0pKTtmb3IodmFyIHU9e30sZD1bMCwxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MCwxMDAsMjAwLDMwMCw0MDAsNTAwLDYwMCw3MDAsODAwLDkwMCwxZTMsMmUzLDNlMyw0ZTMsNWUzLDZlMyw3ZTMsOGUzLDllMywxZTQsMmU0LDNlNCw0ZTQsNWU0LDZlNCw3ZTQsOGU0LDllNCwxZTVdLGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIG09MTAwLyhkLmxlbmd0aC0xKSpmOzA9PT1tP3UubWluPTA6bTwxMDA/dVttXT1kW2ZdOnUubWF4PWRbZl19dmFyIHA9YSgpLmNyZWF0ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWItY2FsY3VsYXRvci1zbGlkZXIiKSx7ZGlyZWN0aW9uOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImh0bWwiKS5nZXRBdHRyaWJ1dGUoImRpciIpLHJhbmdlOnUsc3RhcnQ6ODAwLGNvbm5lY3Q6WyEwLCExXSxzbmFwOiEwLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixiZWhhdmlvdXI6InRhcCIsdG9vbHRpcHM6ITEscGlwczp7bW9kZToidmFsdWVzIix2YWx1ZXM6WzAsNTAsMTAwLDUwMCwxZTMsNWUzLDFlNCw1ZTQsMWU1XSxkZW5zaXR5OjMsc3RlcHBlZDohMCxmb3JtYXQ6e3RvOmZ1bmN0aW9uKGUpe3ZhciB0PWU7cmV0dXJuIGU+PTFlMyYmKHQ9ZS8xZTMrImsiKSwwIT09ZSYmKHQrPSIgbG90cyIpLHR9fX19KTtwLm9uKCJ1cGRhdGUiLChmdW5jdGlvbihlLHQsbixyLGEpe2kudmFsdWU9bixjKCl9KSl9fSwxNzAyMjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTtuKDE4Njk5KTt2YXIgcj13aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5nZXRDb3VudHJ5RGF0YSgpO3IucHVzaCh7YXJlYUNvZGVzOm51bGwsZGlhbENvZGU6IjY3MiIsaXNvMjoiYXEiLG5hbWU6IkFudGFyY3RpY2EiLHByaW9yaXR5OjB9KSxyLnB1c2goe2FyZWFDb2RlczpudWxsLGRpYWxDb2RlOiI2MCIsaXNvMjoibXkiLG5hbWU6IkxhYnVhbiBGVCIscHJpb3JpdHk6MH0pfSwxNzMxOTpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDUzMjI5KTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3dpcGVyLnN3aXBlci1jb3ZlcmZsb3ciKSluZXcgci5aKCIuc3dpcGVyLnN3aXBlci1jb3ZlcmZsb3ciLHtlZmZlY3Q6LTEhPT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk1TSUUiKXx8bmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZigiVHJpZGVudC8iKT4tMT8iIjoiY292ZXJmbG93IixncmFiQ3Vyc29yOiEwLGNlbnRlcmVkU2xpZGVzOiEwLGluaXRpYWxTbGlkZToxLHNsaWRlc1BlclZpZXc6ImF1dG8iLGNvdmVyZmxvd0VmZmVjdDp7cm90YXRlOjUwLHN0cmV0Y2g6MCxkZXB0aDoxMDAsbW9kaWZpZXI6MSxzbGlkZVNoYWRvd3M6ITF9LHBhZ2luYXRpb246e319KTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3dpcGVyLWNhcmRzIikpbmV3IHIuWigiLnN3aXBlci1jYXJkcyIse3NsaWRlc1BlclZpZXc6MSxzcGFjZUJldHdlZW46NSxzbGlkZXNQZXJHcm91cDoxLGxvb3A6ITAsbG9vcEZpbGxHcm91cFdpdGhCbGFuazohMCxhdXRvSGVpZ2h0OiEwLG5hdmlnYXRpb246e25leHRFbDoiLnN3aXBwZXItY2FyZHMtYnV0dG9uLW5leHQiLHByZXZFbDoiLnN3aXBwZXItY2FyZHMtYnV0dG9uLXByZXYifSxicmVha3BvaW50czp7NTc2OntzbGlkZXNQZXJWaWV3OjEsc3BhY2VCZXR3ZWVuOjUwLHNsaWRlc1Blckdyb3VwOjF9LDc2ODp7c2xpZGVzUGVyVmlldzoyLHNwYWNlQmV0d2Vlbjo1LHNsaWRlc1Blckdyb3VwOjJ9LDk5Mjp7c2xpZGVzUGVyVmlldzozLHNwYWNlQmV0d2Vlbjo1LHNsaWRlc1Blckdyb3VwOjN9fX0pO2lmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zd2lwZXItc2xpZGUtZ2FsbGVyeSIpKW5ldyByLlooIi5zd2lwZXItc2xpZGUtZ2FsbGVyeSIse3NsaWRlc1BlclZpZXc6MSxzcGFjZUJldHdlZW46MCxzbGlkZXNQZXJHcm91cDoxLGxvb3A6ITAsbGF6eTohMCxhdXRvcGxheTp7ZGVsYXk6MjUwMCxkaXNhYmxlT25JbnRlcmFjdGlvbjohMX0sbmF2aWdhdGlvbjp7bmV4dEVsOiIuc3dpcHBlci1idXR0b24tbmV4dCIscHJldkVsOiIuc3dpcHBlci1idXR0b24tcHJldiJ9LGJyZWFrcG9pbnRzOns1NzY6e3NsaWRlc1BlclZpZXc6MixzbGlkZXNQZXJHcm91cDoxfSw3Njg6e3NsaWRlc1BlclZpZXc6MyxzbGlkZXNQZXJHcm91cDoxfSw5OTI6e3NsaWRlc1BlclZpZXc6MyxzbGlkZXNQZXJHcm91cDoxfX19KTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3dpcGVyLXNsaWRlLWdhbGxlcnktcGFnaW5hdGlvbiIpKW5ldyByLlooIi5zd2lwZXItc2xpZGUtZ2FsbGVyeS1wYWdpbmF0aW9uIix7c2xpZGVzUGVyVmlldzoxLHNwYWNlQmV0d2VlbjozMCxzbGlkZXNQZXJHcm91cDoxLGxvb3A6ITAsbGF6eTohMCxwYWdpbmF0aW9uOntlbDoiLnN3aXBlci1wYWdpbmF0aW9uIixjbGlja2FibGU6ITB9LGJyZWFrcG9pbnRzOns1NzY6e3NsaWRlc1BlclZpZXc6MyxzbGlkZXNQZXJHcm91cDoxfSw3Njg6e3NsaWRlc1BlclZpZXc6NCxzbGlkZXNQZXJHcm91cDoxfSw5OTI6e3NsaWRlc1BlclZpZXc6NCxzbGlkZXNQZXJHcm91cDoxfX19KTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3dpcGVyLW5hdmlnYXRpb24iKSluZXcgci5aKCIuc3dpcGVyLW5hdmlnYXRpb24iLHtzbGlkZXNQZXJWaWV3OjEsc3BhY2VCZXR3ZWVuOjMwLHNsaWRlc1Blckdyb3VwOjEsbGF6eTohMCxvbjp7aW5pdDpmdW5jdGlvbigpe2lmKHRoaXMuZWwuZ2V0QXR0cmlidXRlKCJkYXRhLWl0ZW1zIik8PTQpe3ZhciBlPXRoaXMuZWwuZ2V0QXR0cmlidXRlKCJpZCIpLHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiIyIrZSsiIC5zd2lwcGVyLWJ1dHRvbi1uZXh0Iiksbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIitlKyIgLnN3aXBwZXItYnV0dG9uLXByZXYiKTt0LmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpLG4uY2xhc3NMaXN0LmFkZCgiZC1ub25lIil9fX0sbmF2aWdhdGlvbjp7bmV4dEVsOiIuc3dpcHBlci1idXR0b24tbmV4dCIscHJldkVsOiIuc3dpcHBlci1idXR0b24tcHJldiIsZGlzYWJsZWRDbGFzczoib3BhY2l0eS0wIn0sYnJlYWtwb2ludHM6ezU3Njp7c2xpZGVzUGVyVmlldzoyLHNsaWRlc1Blckdyb3VwOjJ9LDc2ODp7c2xpZGVzUGVyVmlldzozLHNsaWRlc1Blckdyb3VwOjN9LDk5Mjp7c2xpZGVzUGVyVmlldzo0LHNsaWRlc1Blckdyb3VwOjR9fX0pO2lmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zd2lwZXItdmVydGljYWwtdGlja2VyIikpe3ZhciBhPW5ldyByLlooIi5zd2lwZXItdmVydGljYWwtdGlja2VyIix7ZGlyZWN0aW9uOiJ2ZXJ0aWNhbCIsbG9vcDohMCxpbml0OiExLGhlaWdodDo0OCxhdXRvcGxheTp7ZGVsYXk6NGUzLGRpc2FibGVPbkludGVyYWN0aW9uOiExfX0pO2lmKGEpe3ZhciBvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zd2lwZXItc3Bpbm5lciIpO28ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3dpcGVyLXZlcnRpY2FsLXRpY2tlciIpLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLGEuaW5pdCgpfX1pZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3dpcGVyLWhlcm8tc2xpZGVyIikpe3ZhciBpPW5ldyByLlooIi5zd2lwZXItaGVyby1zbGlkZXIgLmdhbGxlcnktdGh1bWJzIix7Y3NzTW9kZTohMCxjZW50ZXJlZFNsaWRlczohMH0pO25ldyByLlooIi5zd2lwZXItaGVyby1zbGlkZXIiLHthdXRvSGVpZ2h0OiEwLGF1dG9wbGF5OntkZWxheTozMTAwfSxwYWdpbmF0aW9uOntlbDoiLnN3aXBlci1wYWdpbmF0aW9uIix0eXBlOiJwcm9ncmVzc2JhciJ9LHRodW1iczp7c3dpcGVyOml9fSl9fSwzOTUyMzpmdW5jdGlvbihlLHQsbil7big3MzI2Niksbig5Nzg3Nyksbig3ODMwMyk7Zm9yKHZhciByPWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxpZ2h0Z2FsbGVyeSIpLGE9MDthPHIubGVuZ3RoO2ErKylyW2FdLmFkZEV2ZW50TGlzdGVuZXIoIm9uQWZ0ZXJPcGVuIiwoZnVuY3Rpb24oKXsiMSI9PT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGctY291bnRlci1hbGwiKS50ZXh0Q29udGVudCYmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsZy1jb3VudGVyIikuc3R5bGUuZGlzcGxheT0ibm9uZSIpfSksITEpLGxpZ2h0R2FsbGVyeShyW2FdLHtnZXRDYXB0aW9uRnJvbVRpdGxlT3JBbHQ6ITEsc2VsZWN0b3I6Ii5saWdodGdhbGxlcnktaXRlbSIsZG93bmxvYWQ6ITEsYXV0b3BsYXlGaXJzdFZpZGVvOiEwLHZpZGVvanM6ITEseW91dHViZVBsYXllclBhcmFtczp7bW9kZXN0YnJhbmRpbmc6MSxzaG93aW5mbzoxLHJlbDowLGNvbnRyb2xzOjEsbXV0ZWQ6MX0sZ2FsbGVyeUlkOmErMX0pfSw0ODcwNjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTtuKDQxNTM5KSxuKDU0NzQ3KTt2YXIgcj1uKDc2MDMwKSxhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sb3R0ZXJ5LWJhbGxzIik7aWYoYSl7dmFyIG89YS5xdWVyeVNlbGVjdG9yKCIuc2h1ZmZsZSIpLGk9YS5xdWVyeVNlbGVjdG9yQWxsKCIudGlja2V0Iikscz0oYS5xdWVyeVNlbGVjdG9yKCIuYmFsbHMiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIi53aW5uZXIiKSksbD1hLnF1ZXJ5U2VsZWN0b3IoIi5oYWxsLW9mLWZhbWUiKSxjPWEucXVlcnlTZWxlY3RvcigiLmFsdGVybmF0ZS1oYWxsLW9mLWZhbWUiKSx1PTA7by5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGZ1bmN0aW9uKGUpeygwLHIuWikoe3RhcmdldHM6aSxiYWNrZ3JvdW5kOmZ1bmN0aW9uKCl7cmV0dXJuImhzbCgiK3IuWi5yYW5kb20oMCwzNjApKyIsNjAlLDcwJSkifSxib3JkZXJSYWRpdXM6ZnVuY3Rpb24oKXtyZXR1cm4gci5aLnJhbmRvbSgyNSwyNSl9LHRyYW5zbGF0ZVg6ZnVuY3Rpb24oZSl7cmV0dXJuIHIuWi5yYW5kb20oLTM5LDM5KSsicmVtIn0sdHJhbnNsYXRlWTpmdW5jdGlvbigpe3JldHVybiByLloucmFuZG9tKC0xNC41LDE0LjUpKyJyZW0ifSxzY2FsZTpmdW5jdGlvbigpe3JldHVybiByLloucmFuZG9tKDEsMSl9LGR1cmF0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIDE2MDB9LGVsYXN0aWNpdHk6NjAwLGVhc2luZzoiZWFzZU91dEVsYXN0aWMifSl9KSksaS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24odCl7dmFyIG49e3RpY2tldDplLmdldEF0dHJpYnV0ZSgiZGF0YS10aWNrZXQiKSxmaXJzdG5hbWU6ZS5nZXRBdHRyaWJ1dGUoImRhdGEtZmlyc3RuYW1lIiksbGFzdG5hbWU6ZS5nZXRBdHRyaWJ1dGUoImRhdGEtbGFzdG5hbWUiKSxwbGFjZTp1fTtpZihlLnJlbW92ZSgpLHU8MykhZnVuY3Rpb24oZSl7cy5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmdldEF0dHJpYnV0ZSgiZGF0YS1wbGFjZSIpPT1lLnBsYWNlJiYodC5xdWVyeVNlbGVjdG9yKCIud2lubmVyLXRpY2tldCIpLmlubmVySFRNTD1lLnRpY2tldCx0LnF1ZXJ5U2VsZWN0b3IoIi53aW5uZXItbmFtZSIpLmlubmVySFRNTD1lLmZpcnN0bmFtZSsiICIrZS5sYXN0bmFtZSwyPT1lLnBsYWNlJiYobC5jbGFzc0xpc3QucmVtb3ZlKCJkLW5vbmUiKSxsLnNjcm9sbEludG9WaWV3KCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtsLmNsYXNzTGlzdC5hZGQoImZpcmV3b3JrcyIpfSksMmUzKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2wuY2xhc3NMaXN0LnJlbW92ZSgiZmlyZXdvcmtzIil9KSwxNWUzKSkpfSkpfShuKTtlbHNle3ZhciBhPSIiO2ErPSc8ZGl2IGNsYXNzPSJtZWRpYS0nK24udGlja2V0KycgbWVkaWEgbWItMiI+JyxhKz0nPGkgY2xhc3M9ImZhbCBmYS0yeCBmYS10cm9waHkiPjwvaT4nLGErPSc8ZGl2IGNsYXNzPSJtbC00IG1lZGlhLWJvZHkiPicsYSs9JzxoMyBjbGFzcz0id2lubmVyLXRpY2tldCB0ZXh0LTEyIHRleHQtZ3JheS1kYXJrZXIgbWItMCI+JyxhKz1uLnRpY2tldCxhKz0iPC9oMz4iLGErPSc8aDMgY2xhc3M9Indpbm5lci1uYW1lIHRleHQtMTcgZm9udC13ZWlnaHQtbGlnaHQiPicsYSs9bi5maXJzdG5hbWUrIiAiK24ubGFzdG5hbWUsYSs9IjwvaDM+IixhKz0iPC9kaXY+IixhKz0iPC9kaXY+IixjLmlubmVySFRNTCs9YSxsLnNjcm9sbEludG9WaWV3KCksKDAsci5aKSh7dGFyZ2V0czpjLnF1ZXJ5U2VsZWN0b3IoIi5tZWRpYS0iK24udGlja2V0KSxrZXlmcmFtZXM6W3tzY2FsZToxLjE1fSx7c2NhbGU6MX1dLGR1cmF0aW9uOjE1MDAsZWxhc3RpY2l0eToxZTN9KX0yPT09dSYmKDAsci5aKSh7ZHVyYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gNzAwfSx0YXJnZXRzOnMsdHJhbnNsYXRlWTotODAsZWxhc3RpY2l0eToxNTAsZWFzaW5nOiJlYXNlT3V0RWxhc3RpYyIsZGlyZWN0aW9uOiJhbHRlcm5hdGUifSksdSsrfSkpfSkpfX0sMTA1NjI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7big0MTUzOSksbig1NDc0NyksbigzOTcxNCk7dmFyIHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmZpbHRlci1kZXBhcnRtZW50Iik7ciYmKHIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoZnVuY3Rpb24oKXt2YXIgZT1yLm9wdGlvbnNbci5zZWxlY3RlZEluZGV4XS52YWx1ZTtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudGFiLWNvbnRlbnQtbG9jYXRpb25zIC50YWItcGFuZSIpLmZvckVhY2goKGZ1bmN0aW9uKHQsbil7dmFyIHI9MDt0LnF1ZXJ5U2VsZWN0b3JBbGwoIi5jYXJkIikuZm9yRWFjaCgoZnVuY3Rpb24odCxuKXtlJiZlIT09dC5nZXRBdHRyaWJ1dGUoImRhdGEtZGVwYXJ0bWVudCIpP3QuY2xhc3NMaXN0LmFkZCgiZC1ub25lIik6KHQuY2xhc3NMaXN0LnJlbW92ZSgiZC1ub25lIikscisrKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYmFkZ2UtIi5jb25jYXQodC5pZCkpLnRleHRDb250ZW50PXIudG9TdHJpbmcoKX0pKX0pKSxyLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UiKSkpfSw4Mzk0NDpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDIxNDQzKTtuLm4ocikoKS5zZXR1cCgiLnBseXIiKX0sNTk0MDk6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7bigyNzA3KSxuKDQxNTM5KTt2YXIgcj1uKDIyNTIyKSxhPW4ubihyKTtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VjdGlvbi1zdGVwcyIpKXt2YXIgbyxpPWEoKSh3aW5kb3cpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLChmdW5jdGlvbigpe28mJndpbmRvdy5jbGVhclRpbWVvdXQobyksbz13aW5kb3cuc2V0VGltZW91dCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0xO3Q8PTQ7dCsrKXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RlcC0iK3QpO24mJmUucHVzaCh7aWQ6InZpZGVvLXN0ZXAtIit0LHBlcmNlbnRhZ2U6aShuKS5wZXJjZW50YWdlKCl9KX1lLnNvcnQoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHBhcnNlRmxvYXQodC5wZXJjZW50YWdlKS1wYXJzZUZsb2F0KGUucGVyY2VudGFnZSl9KSksZS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmlkKTt0JiZ0LmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpfSkpO3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVbMF0uaWQpO3ImJihyLmNsYXNzTGlzdC5yZW1vdmUoImQtbm9uZSIpLHIuY3VycmVudFRpbWU9MCl9KSwxMDApfSkpfX0sOTU5NDI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7KDAsbig4OTQzOCkuWikoIi5zdGlja3kiKX0sNjg5MTk6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7big0Nzk0MSksbig0MTUzOSksbig1NDc0Nyk7dmFyIHI9ImNsYXNzLXRvZ2dsZSI7dHJ5e3ZhciBhPUpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0ocikpO2lmKG51bGw9PT1hKWxvY2FsU3RvcmFnZS5zZXRJdGVtKHIsSlNPTi5zdHJpbmdpZnkoe30pKTtlbHNlIE9iamVjdC5rZXlzKGEpLmZvckVhY2goKGZ1bmN0aW9uKGUpe251bGwhPT1hW2VdJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGUpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuY2xhc3NMaXN0LmFkZChhW2VdKX0pKX0pKX1jYXRjaChlKXtjb25zb2xlLmxvZyhlKX1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS10b2dnbGUtY2xhc3NdIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtdG9nZ2xlLWNsYXNzIiksbj1lLmdldEF0dHJpYnV0ZSgiZGF0YS10b2dnbGUtY2xhc3MtdGFyZ2V0IiksYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKG4pO2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksYSYmYS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZihlLmNsYXNzTGlzdC5jb250YWlucyh0KSl7ZS5jbGFzc0xpc3QucmVtb3ZlKHQpO3RyeXt2YXIgYT1KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHIpKTthW25dPW51bGwsbG9jYWxTdG9yYWdlLnNldEl0ZW0ocixKU09OLnN0cmluZ2lmeShhKSl9Y2F0Y2goZSl7Y29uc29sZS5sb2coZSl9fWVsc2V7ZS5jbGFzc0xpc3QuYWRkKHQpO3RyeXt2YXIgbz1KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHIpKTtvW25dPXQsbG9jYWxTdG9yYWdlLnNldEl0ZW0ocixKU09OLnN0cmluZ2lmeShvKSl9Y2F0Y2goZSl7Y29uc29sZS5sb2coZSl9fX0pKX0pKX0pKX0sMjU0NjI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7big3NDkxNiksbigyNjY5OSksbigzMjAyMyksbigyMzEyMyksbig0MTUzOSksbig4ODY3NCk7dmFyIHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXIiKTtpZighMD09PS9pUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8TVNJRXxUcmlkZW50L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmcil7ci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpO3ZhciBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbWJlZC13aWRnZXQtZWNvbm9taWMtY2FsZW5kYXIiKTtpZihhKXt2YXIgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtvLnN0eWxlLndpZHRoPSIxMDAlIixvLnN0eWxlLmJvcmRlcj0iMCIsby5zdHlsZS5oZWlnaHQ9IjM4MHB4IixvLnNyYz0iaHR0cHM6Ly93aWRnZXRzLm15Znhib29rLmNvbS93aWRnZXRzL2NhbGVuZGFyLmh0bWw/cHM9NDAiO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtpLmhyZWY9Imh0dHBzOi8vd3d3Lm15Znhib29rLmNvbS8iLGkuaW5uZXJUZXh0PSJQb3dlcmVkIGJ5IE15Znhib29rLmNvbSIsaS50YXJnZXQ9Il9ibGFuayIsYS5pbm5lclRleHQ9IiIsYS5hcHBlbmRDaGlsZChvKSxhLmFwcGVuZENoaWxkKGkpfXI9ITF9aWYocil7dmFyIHM9W10sbD0iZW1iZWQtd2lkZ2V0LXRpY2tlciIsYz0iZW1iZWQtd2lkZ2V0LWVjb25vbWljLWNhbGVuZGFyIix1PSJlbWJlZC13aWRnZXQtbWluaS1zeW1ib2wtb3ZlcnZpZXciLGQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmVtYmVkLXdpZGdldC10aWNrZXIiKSxmPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lbWJlZC13aWRnZXQtZWNvbm9taWMtY2FsZW5kYXIiKSxtPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi50diIpLHA9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLiIrdSk7aWYoZCl7dmFyIHY9ZC5nZXRBdHRyaWJ1dGUoImRhdGEtbGFyZ2UtY2hhcnQtdXJsIiksaD1kLmdldEF0dHJpYnV0ZSgiZGF0YS1sb2NhbGUiKTtzLmlkPWwscy5zcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtdGlja2Vycy5qcyIscy5kYXRhPXtzeW1ib2xzOlt7ZGVzY3JpcHRpb246IkVVUlVTRCIscHJvTmFtZToiRlg6RVVSVVNEIn0se2Rlc2NyaXB0aW9uOiJXVEkiLHByb05hbWU6IkZYX0lEQzpXVElXQ1UifSx7ZGVzY3JpcHRpb246IkRFNDAiLHByb05hbWU6IkNVUlJFTkNZQ09NOkRFNDAifSx7ZGVzY3JpcHRpb246IlhBVVVTRCIscHJvTmFtZToiRlhfSURDOlhBVVVTRCJ9LHtkZXNjcmlwdGlvbjoiR0JQVVNEIixwcm9OYW1lOiJGWF9JREM6R0JQVVNEIn1dLGNvbG9yVGhlbWU6ImxpZ2h0Iixpc1RyYW5zcGFyZW50OiExLGxhcmdlQ2hhcnRVcmw6dixsb2NhbGU6cShoKX0scy5lbGVtZW50PWQsRShzKX1pZihmKXt2YXIgZz1mLmdldEF0dHJpYnV0ZSgiZGF0YS1sb2NhbGUiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKGZ1bmN0aW9uKCl7dmFyIGU9d2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDk5MnB4KSIpLHQ9Zi5wYXJlbnROb2RlLnBhcmVudE5vZGUuc3R5bGUubWluSGVpZ2h0LG49NTAwO2UubWF0Y2hlcyYmdCYmKG49cGFyc2VGbG9hdCh0KSwobj1wYXJzZUludChuLTcwKSk8PTEwMCYmKG49MTAwKSkscy5pZD1jLHMuc3JjPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9leHRlcm5hbC1lbWJlZGRpbmcvZW1iZWQtd2lkZ2V0LWV2ZW50cy5qcyIscy5kYXRhPXtjb2xvclRoZW1lOiJsaWdodCIsaXNUcmFuc3BhcmVudDohMSx3aWR0aDoiMTAwJSIsaGVpZ2h0Om4sbG9jYWxlOnEoZyksaW1wb3J0YW5jZUZpbHRlcjoiLTEsMCwxIn0scy5lbGVtZW50PWYsRShzKX0pKX1pZihtKXt2YXIgeT1tLmdldEF0dHJpYnV0ZSgiZGF0YS1sb2NhbGUiKSxiPW0uZ2V0QXR0cmlidXRlKCJkYXRhLWhlaWdodCIpLHc9bS5nZXRBdHRyaWJ1dGUoImRhdGEtc3ltYm9sIiksUz13O3cuaW5jbHVkZXMoIjoiKSYmKFM9dy5zcGxpdCgiOiIpWzFdLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zeW1ib2wtdGl0bGUiKS5pbm5lckhUTUw9Uykscy5pZD0idHYiLHMuc3JjPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS90di5qcyIscy5lbGVtZW50PW0sRShzKS50aGVuKChmdW5jdGlvbigpe25ldyB3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0KHtoZWlnaHQ6Yix3aWR0aDoiMTAwJSIsc3ltYm9sOncsaW50ZXJ2YWw6IkQiLHRpbWV6b25lOiJFdGMvVVRDIix0aGVtZToibGlnaHQiLHN0eWxlOiIxIixsb2NhbGU6cSh5KSx0b29sYmFyX2JnOiIjZjFmM2Y2IixlbmFibGVfcHVibGlzaGluZzohMSxzaG93X3BvcHVwX2J1dHRvbjohMCxoaWRlX3NpZGVfdG9vbGJhcjohMSxoaWRlX3RvcF90b29sYmFyOiExLGhpZGVfbGVnZW5kOiEwLHBvcHVwX3dpZHRoOiIxMDAwIixwb3B1cF9oZWlnaHQ6IjY1MCIsY29udGFpbmVyX2lkOiJ0cmFkaW5ndmlldyJ9KX0pKX1pZihwKXt2YXIgTD1wLmdldEF0dHJpYnV0ZSgiZGF0YS1sb2NhbGUiKSxfPXAuZ2V0QXR0cmlidXRlKCJkYXRhLWxhcmdlLWNoYXJ0LXVybCIpLEM9cC5nZXRBdHRyaWJ1dGUoImRhdGEtaGVpZ2h0IiksQT1wLmdldEF0dHJpYnV0ZSgiZGF0YS1zeW1ib2wiKTtzLmlkPXUscy5zcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtbWluaS1zeW1ib2wtb3ZlcnZpZXcuanMiLHMuZGF0YT17c3ltYm9sOkEsd2lkdGg6IjEwMCUiLGhlaWdodDpDLGxvY2FsZTpxKEwpLGRhdGVSYW5nZToiMTJtIixjb2xvclRoZW1lOiJsaWdodCIsdHJlbmRMaW5lQ29sb3I6IiMzN2E2ZWYiLHVuZGVyTGluZUNvbG9yOiIjRTNGMkZEIixpc1RyYW5zcGFyZW50OiExLGF1dG9zaXplOiEwLGxhcmdlQ2hhcnRVcmw6X30scy5lbGVtZW50PXAsRShzKX19ZnVuY3Rpb24gRShlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpZihudWxsPT09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZS5pZCkpe2UuaWQmJih0LmlkPWUuaWQpLGUuc3JjJiYodC5zcmM9ZS5zcmMpLHQudHlwZT0idGV4dC9qYXZhc2NyaXB0Iix0LmFzeW5jPSEwO3ZhciBuPWUuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciIpLmFwcGVuZENoaWxkKHQpO2UuZGF0YSYmKG4uaW5uZXJIVE1MPUpTT04uc3RyaW5naWZ5KGUuZGF0YSkpfXJldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxuKXt0Lm9ubG9hZD1mdW5jdGlvbigpe2UoKX19KSl9ZnVuY3Rpb24gcShlKXt2YXIgdD1lLG49e2NuOiJ6aF9DTiIsYXI6ImFyX0FFIixkZToiZGVfREUifTtyZXR1cm4gbltlXSYmKHQ9bltlXSksdH19LDM2Mjk1OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigyMzY0NSksYT1uLm4ocikoKSgoZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV19KSk7YS5wdXNoKFtlLmlkLCIuYnRuLWdyb3VwIC5idG4uaXMtYWN0aXZlW2RhdGEtdi1lYWEyY2ExNF17YmFja2dyb3VuZC1jb2xvcjojYzAwIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjA7Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LmQtbm9uZS5jdXN0b20tc2VsZWN0LmlzLWFjdGl2ZVtkYXRhLXYtZWFhMmNhMTRde2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fSIsIiJdKSx0Llo9YX0sNDIxNzQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXsiLi9hciI6OTIxNTIsIi4vYXIuanMiOjkyMTUyLCIuL2NzIjo2NjIxNiwiLi9jcy5qcyI6NjYyMTYsIi4vZGEiOjM3NDk3LCIuL2RhLmpzIjozNzQ5NywiLi9kZSI6ODM3MzMsIi4vZGUuanMiOjgzNzMzLCIuL2VsIjozNjI3LCIuL2VsLmpzIjozNjI3LCIuL2VzLUVTIjo4NDQwNCwiLi9lcy1FUy5qcyI6ODQ0MDQsIi4vZmEiOjc2Njg5LCIuL2ZhLmpzIjo3NjY4OSwiLi9maSI6NjM1MzEsIi4vZmkuanMiOjYzNTMxLCIuL2ZyIjoxOTU4MywiLi9mci5qcyI6MTk1ODMsIi4vaGUiOjg1OTksIi4vaGUuanMiOjg1OTksIi4vaXQiOjg0OTY4LCIuL2l0LmpzIjo4NDk2OCwiLi9qYSI6NzYxMTgsIi4vamEuanMiOjc2MTE4LCIuL25sIjo3MDgwMiwiLi9ubC5qcyI6NzA4MDIsIi4vbm8iOjU4MSwiLi9uby5qcyI6NTgxLCIuL3B0LUJSIjoxNTM0MiwiLi9wdC1CUi5qcyI6MTUzNDIsIi4vcHQtUFQiOjIyODQ0LCIuL3B0LVBULmpzIjoyMjg0NCwiLi9ydSI6ODMzMDIsIi4vcnUuanMiOjgzMzAyLCIuL3poLUNOIjo4NDg2OSwiLi96aC1DTi5qcyI6ODQ4NjksIi4vemgtVFciOjkyNzc1LCIuL3poLVRXLmpzIjo5Mjc3NX07ZnVuY3Rpb24gYShlKXt2YXIgdD1vKGUpO3JldHVybiBuKHQpfWZ1bmN0aW9uIG8oZSl7aWYoIW4ubyhyLGUpKXt2YXIgdD1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIitlKyInIik7dGhyb3cgdC5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIix0fXJldHVybiByW2VdfWEua2V5cz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhyKX0sYS5yZXNvbHZlPW8sZS5leHBvcnRzPWEsYS5pZD00MjE3NH0sNTc4MTQ6ZnVuY3Rpb24oKXt9LDM3NTI4OmZ1bmN0aW9uKCl7fX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGUoZS5zPXQpfTtlLk8oMCxbNTEsMTk4LDk2OSw4NzksODQ5LDM1OSwxODEsMjEzLDY2MF0sKGZ1bmN0aW9uKCl7cmV0dXJuIHQoMzU4NzEpLHQoNTc4MTQpLHQoMzc1MjgpfSkpO2UuTygpfV0pOw0K"}},"time_used":6002,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6002,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:25.691Z","timestamp":1785137065691,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ/m=root,base HTTP/1.1\r\nHost: www.youtube.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://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=GhHoVqVBrjHMHksu5uSSgLzoaFxSlipAJgg5Br_6VXtipKt0M0tGx6maNNULFSuoPmjhn6TrRofBA0PX16wJP84g82xlVHelBWmJaeFN6kLW3UBMj5gR2yeB2nt_mc5Fta3BSJU5o8qIfzI2fIuyWY14DtZ_1DnPpFpxz_XlGvqNfHda7m_zgLyHIQ-fawJ9ZrP90LxwCOvFTy3uwSuBx3hgQZ1nuj8OqfQvIJQW5xJfxr01vRMWaeEk5ZEjPYuYwGK38gUfiMRXxIzUeDegCXvpN8-BMAaA-YvGh0Eml-GnQmyBMn2F18nj6fzYpEzjxyaaCzPqsxxxY54TPVwQ-Q; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxj3jqflqfKVAw%3D%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 0\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:01:30 GMT\r\nexpires: Sat, 24 Jul 2027 13:01:30 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nage: 238975\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":0,"size_decoded":857,"mime_type":"text/css; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.88462Z","times_seen":17976927,"resource_available":true,"data":""}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/i/productlogos/translate/v14/24px.svg","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:33.013Z","timestamp":1785137073013,"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/i/productlogos/translate/v14/24px.svg 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: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\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\ncontent-length: 3340\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:10:10 GMT\r\nexpires: Fri, 23 Jul 2027 10:10:10 GMT\r\ncache-control: public, max-age=31536000\r\nage: 335663\r\nlast-modified: Wed, 20 Apr 2022 14:24:23 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding\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":6225,"size_decoded":4178,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"2bd5c073a88b83ed74db88282a56ddfb","sha1":"d0ebfc376f8c6a44a8d4cd216817dcd7d0c33650","sha256":"ab5c23a05e39deed14d9d8262b0dce9f024f86105a27196cad37d14a3f516e09","sha512":"5c6c4a92e93fc0f6a675658cc84f6187fdebd3eee94efd07e24658736cba598f3bc7156b19834b13fb44c1d43fcb7df9fcca7f0a453037e30da76ba8f4b23b89","ssdeep":"96:+R2K3Z4n7tyVwip82hezk6227gLFoXhu1XuE20ot+pVY3YptWDzOzgXK3Zx:ql3KnxyGGMzb7noR20NTww33","tlshash":"c1d1e6f19309d815cd6a83d8cd9b8002aa1f25ddd50ac6cc7639fb3bd1a50eb1d2d7a4","first_seen":"2023-04-06T21:34:37Z","last_seen":"2026-08-19T17:43:00.739199Z","times_seen":80201,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxkZWZzPjxwYXRoIGQ9Ik0yMS41IDVoLTkuMTdMMTEgMUgyLjVDMS42OCAxIDEgMS42OCAxIDIuNXYxNWMwIC44My42OCAxLjUgMS41IDEuNWg5LjE3TDEzIDIzaDguNWMuODIgMCAxLjUtLjY4IDEuNS0xLjV2LTE1YzAtLjgzLS42OC0xLjUtMS41LTEuNXoiIGlkPSJhIi8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iYiI+PHVzZSBvdmVyZmxvdz0idmlzaWJsZSIgeGxpbms6aHJlZj0iI2EiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iMzEiIG9wYWNpdHk9Ii4yIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMyAxKSIgd2lkdGg9IjI5IiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUIwQUFBQWZDQVlBQUFBYlc4WUVBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQSBHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFCUUJKUkVGVWVOcThWOHR1MjBZVXZYZG0rTENrIFJLaU13STFURkVYaFZaSmQxZ1c2Nnhla3Y5RFBxUHN2WGRVL1VhRHJvSnNrS3krQ0luQ2NHcEt0RnkyU00vZjJERVhaaWEwb2R0S1cgQWtGSjh6aHp6bjNTMFljdnBzKzc5RU1EYmozWWZndjRFTStYVE4vZkVPYjNaZzNBWG1xN2o2NEQ1L2UveC9FZnpaTW5YNWp4K0xGWiBMTHlwNnlORE96c2tZYjZSdWJGZHBiZHZLVWwySmMrZDlQdlA1ZG16VXlINlRWb1lYUU9xK0g1Zzl2YitjT05zTzltYUxwSXl5WlBVIGtaTkFwcG1oOVZwZzVrU1h3Q1NWSjUvVmkvcjhUbDczeTJGOWVQaWRKM29hZ2ErQjR2a1VnRis2RVcxbmR6MTFndk5kRGRMMWJETnIgeUtrQ1dPMTZ0aHlVR1dJSWVhZTJaR3ZuMW9mNXhGRXhvR0Y1ZUhnTTRBTlpzVzAzMlRmMDVNamVXK3htTktlZWRlV0FnOXRteXdQTSA2ckdZek9BUEJTZlE1U3MwTmY0cEFtUnJTbUJQMWVoSXhRNkRweEYxYVhhU0g1WDBiRGNBUjFhT3hMUlB0UGRyWnJ3bmQ1NVN4M2d6IElNTzcyT3dCcTlrbW94MFJTa0hIUk54clJKV0ZEYlFYS3BSMXhONGVPZngwTnFuTWRGSHVsWS9ydy8xUkFFNWNyRXZ2ZmZHQ3ZYL0UgVlVvT0MzTW0yNGVhTzZUeU5aamVCNUUrc0RMTXQydENxWkVXOGxjZ1BTVTJ4MEloS2xBWW9UUDR4VVR1ZVVNdkh2Skszb3VROGZmSCBIUDYySnBHZWcvVlNZY2lxTkFEYkhReHZZNWV0ZHI2NXloTlhsRzJCNXhqemdXZkhKb1NlWjVPbGJ1YXErY3pReVlTdnhhbDcwMWRKIFNXb2lnUk5xWEl0ak9SaHNDK3g3NE5mRHRQUTZhR1BrZ0FVbEdST3BUS0JRUjRnYkIxeDZmanozL0RLOEdzb0hqL1NWRzZwSkFDaSsgTmhRZEFwc1FKRlBDZWxpWUtJbWdlRUpteWxjM1h6dzV5cDl4bklNWU1rWnQ5SGpWaEsvR2VIdHFaSTUrS1VWSlh0U1ZRY3djWURQbyBGSTkzamhXK0RXU2p6WnJHdHMwTlFTd09aVEZvTWFNQmFseTZDVEZaRzJLWFV0M1oxYVF6QzM2cktyRkowY2dVYjZhWlJudVJ3anRJIGxvN0VxM0NMV1N5YTRlSjdhK1ROMmV1ZHZDbGJrMTdJdEZlcG9RTHJweVF5eGtaVGpCWUlpd3FuWHdGLzFtWGVyUWl2dHUrSG9ocDcgdGY3Y1dKbkNUZ0JsZUNRM2JCRWFQaWFDVFJYa05xQkx1OTU1bzJrditOeklJb2dEa0dsQUVmdXdMNTFEWWg5ejNzZEsxeTFBTHlYMiBGeEpMSzNGajMzOU5Zbk8xNlA0ZkVsOEo5SFVTYXl0eFRIRlJZcXJobko2MEFaVTJsTnBETk9VTGFaSDFGcUJYSlM0TGhOOEVDZW9zIE1nYkxXVXgzQUsreHY0K1pLTjZBQ3h4bFp3MHhEemRaS2o3WjZFMUFMeVErOTFXTmNsd2dJVTZ3d1JsaTd4VGt6akE4QlFDU0J4ZkwgK01VaGxuR01ETVlsZnNQdVdzZFNGNEdaYTIyNmlvMU1XNG56UHZrUWJXZ0RuSWxHWUhTQ1RVK1FiT0k5Qk50VFRCN2h4bUVJaCtGVCBLREpHWm9pVnBrQTZLbU5SajkwRTBkdVBObWFOeEoyOVFWaDBSeFdzT01OUmgwSnlESWs3TEJLMWl3NjJCVjFjTEthWHBZMm4rSFdzIEdrWmlkT1pFeXNwM2ZESzRLM1R2SzkwRWlzR2Y2YkQvazZDVHFEcEJadDZFb1RXY1NYUVU1bWhYMUZ2Tm0vWFJpeVFpYXcwWEttRGkgRVhMOWtkVjZGTU11OWt2cHlVRG9CM1NJQjV1WXhwMitmU3I5UDdOYTdJT2lwc1VweFo1QnFJU05UdzFyRnk2YkdyS29JakFiUzl1dSBFS29UMk5vd3FpV0o3Y3FNMEtEOWxUOFgydCtsS3ozUzJsNFovZTR2OXB0WHpjRnluOVpkOG5sSEhjalhhTlpzYUN2S3FsVzZkV1AyIElicjdzZEUyZTY4SDlzeStUdk41SjZud3lkTFV2dHVXZm1vTHVnSDRaZzM0SnpiYkh3Ty93YXZHKzY4VmRKUFhpaHVDL3pjdlVKKzAgMFcydWZ3UVlBR0hLSzJDRk1JcnpBQUFBQUVsRlRrU3VRbUNDIi8+PHJhZGlhbEdyYWRpZW50IGN4PSI3LjM5NCIgY3k9IjUuNDM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImMiIHI9IjIzLjQxNiI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRUVFIi8+PHN0b3Agb2Zmc2V0PSIuNDMyIiBzdG9wLWNvbG9yPSIjRTZFNkU2Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTFFMUUxIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBkPSJNMTMgMjNoOC41Yy44MiAwIDEuNS0uNjggMS41LTEuNXYtMTVjMC0uODMtLjY4LTEuNS0xLjUtMS41SDdsNiAxOHoiIGZpbGw9InVybCgjYykiLz48L2c+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTggMTF2LTFoLTF2MWgtMy43NXYxaDUuMzJjLS4yLjQ5LS42IDEuMy0xLjMyIDIuMTQtLjUxLS42LS44Ni0xLjE4LTEuMS0xLjY0aC0xLjExYy4zNi44NC45IDEuNjYgMS41MiAyLjM4bC0yLjYgMi41OC43MS43MSAyLjU4LTIuNTggMi41OCAyLjU4LjcxLS43MS0yLjYtMi41OGMuNzQtLjg2IDEuMzMtMS44NSAxLjY4LTIuODhIMjF2LTFoLTN6IiBmaWxsPSIjNjA3RDhCIi8+PGxpbmVhckdyYWRpZW50IGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iZCIgeDE9IjEyLjMzMyIgeDI9IjIzIiB5MT0iMTQiIHkyPSIxNCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMjEyMTIxIiBzdG9wLW9wYWNpdHk9Ii4xIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMjEyMTIxIiBzdG9wLW9wYWNpdHk9Ii4wMiIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTIuMzMgNUwyMyAxNS42N1YyM0gxMyIgZmlsbD0idXJsKCNkKSIvPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iOCIgb3BhY2l0eT0iLjEiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC41IDE3LjUpIiB3aWR0aD0iOSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFKQ0FZQUFBQUxwcjBUQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEgR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU9GSlJFRlVlTnAwVUQxTEEwRVVuTGU3SnNKaCBDaUZwTFZOWWFTMzQxMUw3Wi9JblVwZ21xUklSTEd4RU9FVlFzb1JjYm5lY3U2QUdUQjRNNzJ2ZXZqZHIrRFBEZitOdnMzODU4cTdhIEZwNG9ET1pCSjVkSk1DVkR6SjJUK0xZWXBlQXlUajM5VU1OWGhBMDBIQUJYS3k4OWJZNlVscXJGb01IbTVRSzBhL21iWFl4U3l5Wm0gZUNCVGU1S3I2OCtOR3ErS3Y0UXpvU004cTNaUDhpbWpYamRFdi82WXNuZCtxNmE3VU40WEZzS1lsaWZiVUpYdmozZnR5dEFxTTF2SiB6NlVnR3ZnaUliTjkwZzhSVmRkRktaL3B6cVgrWTVORHRkb25IVEk3MXZnV1lBRHpXbWR4LzRmcG1RQUFBQUJKUlU1RXJrSmdnZz09Ii8+PHBhdGggZD0iTTE3IDE5bC00IDQtMS4zMy00IiBmaWxsPSIjM0Y1MUI1Ii8+PC9nPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIxLjUgNUg3bC4wNC4xMkgyMS41Yy44MiAwIDEuNS42NyAxLjUgMS41VjYuNWMwLS44My0uNjgtMS41LTEuNS0xLjV6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9Ii4wMiIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIxLjUgMjIuODhIMTNMMTEuNzEgMTloLS4wNEwxMyAyM2g4LjVjLjgyIDAgMS41LS42OCAxLjUtMS41di0uMTJjMCAuODItLjY4IDEuNS0xLjUgMS41eiIgZmlsbD0iIzIxMjEyMSIgZmlsbC1vcGFjaXR5PSIuMSIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTEyLjk3IDIyLjkxTDEzIDIzbDQtNGgtLjEyIiBmaWxsPSIjMUEyMzdFIiBmaWxsLW9wYWNpdHk9Ii4yIi8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTEuNjcgMTkuMTJoNS4yMUwxNyAxOWgtNS4zMyIgZmlsbD0iIzFBMjM3RSIgZmlsbC1vcGFjaXR5PSIuMSIvPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iMjIiIG9wYWNpdHk9Ii4yIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLS41IC0uNSkiIHdpZHRoPSIyMCIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCVUFBQUFYQ0FZQUFBRGszd1NkQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEgR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQVVwSlJFRlVlTnFzbGJGT3d6QVFRTy9zUUNSYyBzcUFPbFJnck1qQ1ZyK0VyK0laK0F4L1dUQ3dWZXlWUWw5SU9RWTJQYzJxaE5Gd2NHc2RTckhOc1A1MmZwVFBDZVVQNFg2UFFaQTJaIFBpNDFscVhScENZS3RBNXRzRkJWRmRvOXBlbmg4MjFaU1dzUzExMlgxaEJkUFhHNDRCU3lRTWFFb0hjSjZRSkx1K0x4cmd1S1FEUUIgVUF1T24zbmZMQVRscWMwcHNtdnV2eVFWaWJmQVJ5YVhvUVBlaDZIazlNdzR1TDJidjN4czMxK1A3VVdxNVJkN0xzdk44YWtnNXpCUCBLVFBTSWdXWE4zT0NRbzZBUmtwaUNOUWQzNm1hZWdWNkRHZ2pXMWxCSkZSV01CUWFWREFVR2xRd0F2U3ZnaGhvcDRJWWFLZUNrYURuIENtS2hvb0pZcUtoQXRhbzU5VlYxb2Qzdzk5QlU0RXNmY1FWWHJ1QnVQQk12Z0pJdjFzZG1QU1ZBM0hPaEx2eS9iQ0MwcURrOHJqUDkgVHRXQjM2Z1Z2MUhydmplcTc5MlNqb2tSRi9aN0Z6OENEQUM4RW1XREtWR0RMZ0FBQUFCSlJVNUVya0pnZ2c9PSIvPjxwYXRoIGQ9Ik0xMSAxSDIuNUMxLjY4IDEgMSAxLjY4IDEgMi41djE1YzAgLjgzLjY4IDEuNSAxLjUgMS41SDE3TDExIDF6IiBmaWxsPSIjNDI4NUY0Ii8+PC9nPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIuNSAxQzEuNjggMSAxIDEuNjggMSAyLjV2LjEyYzAtLjgyLjY4LTEuNSAxLjUtMS41SDExVjFIMi41eiIgZmlsbD0iI0ZGRiIgZmlsbC1vcGFjaXR5PSIuMDIiLz48cGF0aCBjbGlwLXBhdGg9InVybCgjYikiIGQ9Ik0xMSAxdi4xMmw1LjkyIDE3Ljc1SDIuNWMtLjgyIDAtMS41LS42Ny0xLjUtMS41di4xMmMwIC44NC42OCAxLjUxIDEuNSAxLjUxSDE3TDExIDF6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9Ii4xIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2IpIj48cGF0aCBkPSJNNy41IDEwdjEuMmgxLjk4Yy0uMDguNTItLjYgMS41MS0xLjk4IDEuNTEtMS4yIDAtMi4xNy0uOTktMi4xNy0yLjIxUzYuMyA4LjI5IDcuNSA4LjI5Yy42OCAwIDEuMTMuMjkgMS4zOS41NGwuOTUtLjkyQzkuMjQgNy4zNSA4LjQ0IDcgNy41IDcgNS41NyA3IDQgOC41NyA0IDEwLjVTNS41NyAxNCA3LjUgMTRjMi4wMiAwIDMuMzYtMS40MiAzLjM2LTMuNDIgMC0uMjMtLjAyLS40MS0uMDYtLjU4SDcuNXoiIGZpbGw9IiNFRUUiLz48cGF0aCBkPSJNNCA3aDd2N0g0eiIgZmlsbD0ibm9uZSIvPjwvZz48cmFkaWFsR3JhZGllbnQgY3g9IjEuNDU3IiBjeT0iMS40MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSJlIiByPSIyOS43OTIiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIuMSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBkPSJNMjEuNSA1aC05LjE3TDExIDFIMi41QzEuNjggMSAxIDEuNjggMSAyLjV2MTVjMCAuODMuNjggMS41IDEuNSAxLjVoOS4xN0wxMyAyM2g4LjVjLjgyIDAgMS41LS42OCAxLjUtMS41di0xNWMwLS44My0uNjgtMS41LTEuNS0xLjV6IiBmaWxsPSJ1cmwoI2UpIi8+PC9zdmc+"}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/webfonts/fa-light-300.woff2","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.221Z","timestamp":1785137065221,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/lib/font-awesome/webfonts/fa-light-300.woff2 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 184204\r\ncontent-type: font/woff2\r\nlast-modified: Sat, 19 Feb 2022 08:52:00 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256df505b78c\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"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":184204,"size_decoded":184503,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 184204, version 331.-31196","md5":"b33449667ce61388905a97b13f01ea16","sha1":"7ae2739ef4b0ab9336551a6abbbddb8fcfe1dddb","sha256":"1ddc6ae069ea7aedb68a92d53a12933a5a326f28c714869b99f335377dcce217","sha512":"84e5403ee949a1831e6767b16a0405156d5045a33b557f1feea94fe65b0752462c4d6429e443e2f2dacdc3f8f44e31b510a587ba48698f82f732b91b5371405c","ssdeep":"3072:Xkp/F+gqP+UhcYgfm69mi5S7vRrYa3nvQFD46ImDTtSpFMc:UpF+gqP+T6i4lYa3vKkQTojMc","tlshash":"c5041201fc7b8f5ecb24bb11b17fe2145db992d0166674c8712ad633d4a03f91a0a2ee","first_seen":"2023-04-11T08:48:54Z","last_seen":"2026-08-19T16:39:19.972136Z","times_seen":5193,"resource_available":false,"data":"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"}},"time_used":4942,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3843,"receive":1099,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.431Z","timestamp":1785137065431,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow HTTP/1.1\r\nHost: www.youtube.com\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\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/html; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_main/allowlist, require-trusted-types-for 'script', base-uri 'self';object-src 'none';script-src 'nonce-DS81XVfEMzidW-Car6UgNQ' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 07:24:25 GMT\r\np3p: CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"\r\nstrict-transport-security: max-age=31536000\r\ncross-origin-resource-policy: cross-origin\r\nreport-to: {\"group\":\"youtube_main\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube_main\"}]},{\"group\":\"youtube_main-connectionallowlist\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/youtube_main/connectionallowlist\"}]}\r\ncross-origin-embedder-policy-report-only: require-corp; report-to=\"youtube_main\"\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=GhHoVqVBrjHMHksu5uSSgLzoaFxSlipAJgg5Br_6VXtipKt0M0tGx6maNNULFSuoPmjhn6TrRofBA0PX16wJP84g82xlVHelBWmJaeFN6kLW3UBMj5gR2yeB2nt_mc5Fta3BSJU5o8qIfzI2fIuyWY14DtZ_1DnPpFpxz_XlGvqNfHda7m_zgLyHIQ-fawJ9ZrP90LxwCOvFTy3uwSuBx3hgQZ1nuj8OqfQvIJQW5xJfxr01vRMWaeEk5ZEjPYuYwGK38gUfiMRXxIzUeDegCXvpN8-BMAaA-YvGh0Eml-GnQmyBMn2F18nj6fzYpEzjxyaaCzPqsxxxY54TPVwQ-Q; expires=Sat, 23-Jan-2027 07:24:25 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=yChB1o8bHXI; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 07:24:25 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=UUUmJsFpd4c; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 07:24:25 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 07:24:25 GMT; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxj3jqflqfKVAw%3D%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 07:24:25 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\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":147123,"size_decoded":60767,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (52128)","md5":"7435e4f551bdcb4f644aebb5a9933492","sha1":"4f2e9953bf456825042d9f6ca14b96645c1a92e1","sha256":"0d0f66dc4d7077a7184f4e779e6aaca96d897df197afff3c721af1279b063718","sha512":"1a8cb1cd1aa15867285232c2d736c56647ea0c75f66885fe2dbb72b1cc3b78e8035ec8bdc32fa10b9ee118bb451b9e037b82842e4b5e3dbf50340d351b75c72a","ssdeep":"1536:AbQkUVMMUIJYVM6bBGzhrKcNo43UEwgj5c/r2XhJWpTbgGjnFTs8RPOlHbCKSfk:HBMgYa9N0EwgjGyrWpTsW5s8ROHbAc","tlshash":"f3e3f9240868b876c5939907eeb9ff3e5ca802390789966dbcbbd75c01dca550eaf413","first_seen":"2026-07-27T07:25:17.88667Z","last_seen":"2026-07-27T07:25:17.88667Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIiBkYXRhLWNhc3QtYXBpLWVuYWJsZWQ9InRydWUiPjxoZWFkPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+PHNjcmlwdCBub25jZT0iRFM4MVhWZkVNemlkVy1DYXI2VWdOUSI+aWYgKCd1bmRlZmluZWQnID09IHR5cGVvZiBTeW1ib2wgfHwgJ3VuZGVmaW5lZCcgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvcikge2RlbGV0ZSBBcnJheS5wcm90b3R5cGUuZW50cmllczt9PC9zY3JpcHQ+PHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iIG5vbmNlPSJJR3UtRlhITHRNSjYwVVdGeUpnaU5BIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzNzcsVSswMzdBLTAzN0YsVSswMzg0LTAzOEEsVSswMzhDLFUrMDM4RS0wM0ExLFUrMDNBMy0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAyLTAzMDMsVSswMzA1LFUrMDMwNy0wMzA4LFUrMDMxMCxVKzAzMTIsVSswMzE1LFUrMDMxQSxVKzAzMjYtMDMyNyxVKzAzMkMsVSswMzJGLTAzMzAsVSswMzMyLTAzMzMsVSswMzM4LFUrMDMzQSxVKzAzNDYsVSswMzRELFUrMDM5MS0wM0ExLFUrMDNBMy0wM0E5LFUrMDNCMS0wM0M5LFUrMDNEMSxVKzAzRDUtMDNENixVKzAzRjAtMDNGMSxVKzAzRjQtMDNGNSxVKzIwMTYtMjAxNyxVKzIwMzQtMjAzOCxVKzIwM0MsVSsyMDQwLFUrMjA0MyxVKzIwNDcsVSsyMDUwLFUrMjA1NyxVKzIwNUYsVSsyMDcwLTIwNzEsVSsyMDc0LTIwOEUsVSsyMDkwLTIwOUMsVSsyMEQwLTIwREMsVSsyMEUxLFUrMjBFNS0yMEVGLFUrMjEwMC0yMTEyLFUrMjExNC0yMTE1LFUrMjExNy0yMTIxLFUrMjEyMy0yMTRGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxQUUsVSsyMUIwLTIxRTUsVSsyMUYxLTIxRjIsVSsyMUY0LTIyMTEsVSsyMjEzLTIyMTQsVSsyMjE2LTIyRkYsVSsyMzA4LTIzMEIsVSsyMzEwLFUrMjMxOSxVKzIzMUMtMjMyMSxVKzIzMzYtMjM3QSxVKzIzN0MsVSsyMzk1LFUrMjM5Qi0yM0I3LFUrMjNEMCxVKzIzREMtMjNFMSxVKzI0NzQtMjQ3NSxVKzI1QUYsVSsyNUIzLFUrMjVCNyxVKzI1QkQsVSsyNUMxLFUrMjVDQSxVKzI1Q0MsVSsyNUZCLFUrMjY2RC0yNjZGLFUrMjdDMC0yN0ZGLFUrMjkwMC0yQUZGLFUrMkIwRS0yQjExLFUrMkIzMC0yQjRDLFUrMkJGRSxVKzMwMzAsVStGRjVCLFUrRkY1RCxVKzFENDAwLTFEN0ZGLFUrMUVFMDAtMUVFRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDEtMDAwQyxVKzAwMEUtMDAxRixVKzAwN0YtMDA5RixVKzIwREQtMjBFMCxVKzIwRTItMjBFNCxVKzIxNTAtMjE4RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMTk5LFUrMjFBRixVKzIxRTYtMjFGMCxVKzIxRjMsVSsyMjE4LTIyMTksVSsyMjk5LFUrMjJDNC0yMkM2LFUrMjMwMC0yNDNGLFUrMjQ0MC0yNDRBLFUrMjQ2MC0yNEZGLFUrMjVBMC0yN0JGLFUrMjgwMC0yOEZGLFUrMjkyMS0yOTIyLFUrMjk4MSxVKzI5QkYsVSsyOUVCLFUrMkIwMC0yQkZGLFUrNERDMC00REZGLFUrRkZGOS1GRkZCLFUrMTAxNDAtMTAxOEUsVSsxMDE5MC0xMDE5QyxVKzEwMUEwLFUrMTAxRDAtMTAxRkQsVSsxMDJFMC0xMDJGQixVKzEwRTYwLTEwRTdFLFUrMUQyQzAtMUQyRDMsVSsxRDJFMC0xRDM3RixVKzFGMDAwLTFGMEZGLFUrMUYxMDAtMUYxQUQsVSsxRjFFNi0xRjFGRixVKzFGMzBELTFGMzBGLFUrMUYzMTUsVSsxRjMxQyxVKzFGMzFFLFUrMUYzMjAtMUYzMkMsVSsxRjMzNixVKzFGMzc4LFUrMUYzN0QsVSsxRjM4MixVKzFGMzkzLTFGMzlGLFUrMUYzQTctMUYzQTgsVSsxRjNBQy0xRjNBRixVKzFGM0MyLFUrMUYzQzQtMUYzQzYsVSsxRjNDQS0xRjNDRSxVKzFGM0Q0LTFGM0UwLFUrMUYzRUQsVSsxRjNGMS0xRjNGMyxVKzFGM0Y1LTFGM0Y3LFUrMUY0MDgsVSsxRjQxNSxVKzFGNDFGLFUrMUY0MjYsVSsxRjQzRixVKzFGNDQxLTFGNDQyLFUrMUY0NDQsVSsxRjQ0Ni0xRjQ0OSxVKzFGNDRDLTFGNDRFLFUrMUY0NTMsVSsxRjQ2QSxVKzFGNDdELFUrMUY0QTMsVSsxRjRCMCxVKzFGNEIzLFUrMUY0QjksVSsxRjRCQixVKzFGNEJGLFUrMUY0QzgtMUY0Q0IsVSsxRjRENixVKzFGNERBLFUrMUY0REYsVSsxRjRFMy0xRjRFNixVKzFGNEVBLTFGNEVELFUrMUY0RjcsVSsxRjRGOS0xRjRGQixVKzFGNEZELTFGNEZFLFUrMUY1MDMsVSsxRjUwNy0xRjUwQixVKzFGNTBELFUrMUY1MTItMUY1MTMsVSsxRjUzRS0xRjU0QSxVKzFGNTRGLTFGNUZBLFUrMUY2MTAsVSsxRjY1MC0xRjY3RixVKzFGNjg3LFUrMUY2OEQsVSsxRjY5MSxVKzFGNjk0LFUrMUY2OTgsVSsxRjZBRCxVKzFGNkIyLFUrMUY2QjktMUY2QkEsVSsxRjZCQyxVKzFGNkM2LTFGNkNGLFUrMUY2RDMtMUY2RDcsVSsxRjZFMC0xRjZFQSxVKzFGNkYwLTFGNkYzLFUrMUY2RjctMUY2RkMsVSsxRjcwMC0xRjdGRixVKzFGODAwLTFGODBCLFUrMUY4MTAtMUY4NDcsVSsxRjg1MC0xRjg1OSxVKzFGODYwLTFGODg3LFUrMUY4OTAtMUY4QUQsVSsxRjhCMC0xRjhCQixVKzFGOEMwLTFGOEMxLFUrMUY5MDAtMUY5MEIsVSsxRjkzQixVKzFGOTQ2LFUrMUY5ODQsVSsxRjk5NixVKzFGOUU5LFUrMUZBMDAtMUZBNkYsVSsxRkE3MC0xRkE3QyxVKzFGQTgwLTFGQTg5LFUrMUZBOEYtMUZBQzYsVSsxRkFDRS0xRkFEQyxVKzFGQURGLTFGQUU5LFUrMUZBRjAtMUZBRjgsVSsxRkIwMC0xRkJGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMDMwMC0wMzAxLFUrMDMwMy0wMzA0LFUrMDMwOC0wMzA5LFUrMDMyMyxVKzAzMjksVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsyMDAwLTIwNkYsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMSxVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wMzc3LFUrMDM3QS0wMzdGLFUrMDM4NC0wMzhBLFUrMDM4QyxVKzAzOEUtMDNBMSxVKzAzQTMtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMi0wMzAzLFUrMDMwNSxVKzAzMDctMDMwOCxVKzAzMTAsVSswMzEyLFUrMDMxNSxVKzAzMUEsVSswMzI2LTAzMjcsVSswMzJDLFUrMDMyRi0wMzMwLFUrMDMzMi0wMzMzLFUrMDMzOCxVKzAzM0EsVSswMzQ2LFUrMDM0RCxVKzAzOTEtMDNBMSxVKzAzQTMtMDNBOSxVKzAzQjEtMDNDOSxVKzAzRDEsVSswM0Q1LTAzRDYsVSswM0YwLTAzRjEsVSswM0Y0LTAzRjUsVSsyMDE2LTIwMTcsVSsyMDM0LTIwMzgsVSsyMDNDLFUrMjA0MCxVKzIwNDMsVSsyMDQ3LFUrMjA1MCxVKzIwNTcsVSsyMDVGLFUrMjA3MC0yMDcxLFUrMjA3NC0yMDhFLFUrMjA5MC0yMDlDLFUrMjBEMC0yMERDLFUrMjBFMSxVKzIwRTUtMjBFRixVKzIxMDAtMjExMixVKzIxMTQtMjExNSxVKzIxMTctMjEyMSxVKzIxMjMtMjE0RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMUFFLFUrMjFCMC0yMUU1LFUrMjFGMS0yMUYyLFUrMjFGNC0yMjExLFUrMjIxMy0yMjE0LFUrMjIxNi0yMkZGLFUrMjMwOC0yMzBCLFUrMjMxMCxVKzIzMTksVSsyMzFDLTIzMjEsVSsyMzM2LTIzN0EsVSsyMzdDLFUrMjM5NSxVKzIzOUItMjNCNyxVKzIzRDAsVSsyM0RDLTIzRTEsVSsyNDc0LTI0NzUsVSsyNUFGLFUrMjVCMyxVKzI1QjcsVSsyNUJELFUrMjVDMSxVKzI1Q0EsVSsyNUNDLFUrMjVGQixVKzI2NkQtMjY2RixVKzI3QzAtMjdGRixVKzI5MDAtMkFGRixVKzJCMEUtMkIxMSxVKzJCMzAtMkI0QyxVKzJCRkUsVSszMDMwLFUrRkY1QixVK0ZGNUQsVSsxRDQwMC0xRDdGRixVKzFFRTAwLTFFRUZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAxLTAwMEMsVSswMDBFLTAwMUYsVSswMDdGLTAwOUYsVSsyMERELTIwRTAsVSsyMEUyLTIwRTQsVSsyMTUwLTIxOEYsVSsyMTkwLFUrMjE5MixVKzIxOTQtMjE5OSxVKzIxQUYsVSsyMUU2LTIxRjAsVSsyMUYzLFUrMjIxOC0yMjE5LFUrMjI5OSxVKzIyQzQtMjJDNixVKzIzMDAtMjQzRixVKzI0NDAtMjQ0QSxVKzI0NjAtMjRGRixVKzI1QTAtMjdCRixVKzI4MDAtMjhGRixVKzI5MjEtMjkyMixVKzI5ODEsVSsyOUJGLFUrMjlFQixVKzJCMDAtMkJGRixVKzREQzAtNERGRixVK0ZGRjktRkZGQixVKzEwMTQwLTEwMThFLFUrMTAxOTAtMTAxOUMsVSsxMDFBMCxVKzEwMUQwLTEwMUZELFUrMTAyRTAtMTAyRkIsVSsxMEU2MC0xMEU3RSxVKzFEMkMwLTFEMkQzLFUrMUQyRTAtMUQzN0YsVSsxRjAwMC0xRjBGRixVKzFGMTAwLTFGMUFELFUrMUYxRTYtMUYxRkYsVSsxRjMwRC0xRjMwRixVKzFGMzE1LFUrMUYzMUMsVSsxRjMxRSxVKzFGMzIwLTFGMzJDLFUrMUYzMzYsVSsxRjM3OCxVKzFGMzdELFUrMUYzODIsVSsxRjM5My0xRjM5RixVKzFGM0E3LTFGM0E4LFUrMUYzQUMtMUYzQUYsVSsxRjNDMixVKzFGM0M0LTFGM0M2LFUrMUYzQ0EtMUYzQ0UsVSsxRjNENC0xRjNFMCxVKzFGM0VELFUrMUYzRjEtMUYzRjMsVSsxRjNGNS0xRjNGNyxVKzFGNDA4LFUrMUY0MTUsVSsxRjQxRixVKzFGNDI2LFUrMUY0M0YsVSsxRjQ0MS0xRjQ0MixVKzFGNDQ0LFUrMUY0NDYtMUY0NDksVSsxRjQ0Qy0xRjQ0RSxVKzFGNDUzLFUrMUY0NkEsVSsxRjQ3RCxVKzFGNEEzLFUrMUY0QjAsVSsxRjRCMyxVKzFGNEI5LFUrMUY0QkIsVSsxRjRCRixVKzFGNEM4LTFGNENCLFUrMUY0RDYsVSsxRjREQSxVKzFGNERGLFUrMUY0RTMtMUY0RTYsVSsxRjRFQS0xRjRFRCxVKzFGNEY3LFUrMUY0RjktMUY0RkIsVSsxRjRGRC0xRjRGRSxVKzFGNTAzLFUrMUY1MDctMUY1MEIsVSsxRjUwRCxVKzFGNTEyLTFGNTEzLFUrMUY1M0UtMUY1NEEsVSsxRjU0Ri0xRjVGQSxVKzFGNjEwLFUrMUY2NTAtMUY2N0YsVSsxRjY4NyxVKzFGNjhELFUrMUY2OTEsVSsxRjY5NCxVKzFGNjk4LFUrMUY2QUQsVSsxRjZCMixVKzFGNkI5LTFGNkJBLFUrMUY2QkMsVSsxRjZDNi0xRjZDRixVKzFGNkQzLTFGNkQ3LFUrMUY2RTAtMUY2RUEsVSsxRjZGMC0xRjZGMyxVKzFGNkY3LTFGNkZDLFUrMUY3MDAtMUY3RkYsVSsxRjgwMC0xRjgwQixVKzFGODEwLTFGODQ3LFUrMUY4NTAtMUY4NTksVSsxRjg2MC0xRjg4NyxVKzFGODkwLTFGOEFELFUrMUY4QjAtMUY4QkIsVSsxRjhDMC0xRjhDMSxVKzFGOTAwLTFGOTBCLFUrMUY5M0IsVSsxRjk0NixVKzFGOTg0LFUrMUY5OTYsVSsxRjlFOSxVKzFGQTAwLTFGQTZGLFUrMUZBNzAtMUZBN0MsVSsxRkE4MC0xRkE4OSxVKzFGQThGLTFGQUM2LFUrMUZBQ0UtMUZBREMsVSsxRkFERi0xRkFFOSxVKzFGQUYwLTFGQUY4LFUrMUZCMDAtMUZCRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzAxMjgtMDEyOSxVKzAxNjgtMDE2OSxVKzAxQTAtMDFBMSxVKzAxQUYtMDFCMCxVKzAzMDAtMDMwMSxVKzAzMDMtMDMwNCxVKzAzMDgtMDMwOSxVKzAzMjMsVSswMzI5LFUrMUVBMC0xRUY5LFUrMjBBQjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMkJBLFUrMDJCRC0wMkM1LFUrMDJDNy0wMkNDLFUrMDJDRS0wMkQ3LFUrMDJERC0wMkZGLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiBub25jZT0iRFM4MVhWZkVNemlkVy1DYXI2VWdOUSI+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiRSIpOyBkb2N1bWVudC5mb250cy5sb2FkKCI1MDAgMTBwdCBSb2JvdG8iLCAiRSIpO308L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIgbmFtZT0id3d3LXBsYXllciIgbm9uY2U9IklHdS1GWEhMdE1KNjBVV0Z5SmdpTkEiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvXy95dGVtYmVkcy9fL3NzL2s9eXRlbWJlZHMuYmFzZS5OeG5pdXVaRVRady5MLkY0Lk8vYW09QUFBQWdBL2Q9MS9icj0xL3JzPUFHS015d0d4NHR4aEZKaGNydXRLWXNmUG1TNG1GYzZvSlEvbT1yb290LGJhc2UiIG5hbWU9ImVtYmVkLXVpIiBub25jZT0iSUd1LUZYSEx0TUo2MFVXRnlKZ2lOQSI+PHN0eWxlIG5vbmNlPSJJR3UtRlhITHRNSjYwVVdGeUpnaU5BIj5odG1sIHtvdmVyZmxvdzogaGlkZGVuO31ib2R5IHtmb250OiAxMnB4IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiAjZmZmOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbjogMDsgcGFkZGluZzogMDt9I3BsYXllciB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9aDEge3RleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7fWgzIHttYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDNweDt9LnBsYXllci11bmF2YWlsYWJsZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHBhZGRpbmc6IDI1cHg7IGZvbnQtc2l6ZTogMTNweDsgYmFja2dyb3VuZDogdXJsKC9pbWcvbWVoNy5wbmcpIDUwJSA2NSUgbm8tcmVwZWF0O30ucGxheWVyLXVuYXZhaWxhYmxlIC5tZXNzYWdlIHt0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDAgLTVweCAxNXB4OyBwYWRkaW5nOiAwIDVweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogbm9ybWFsO30ucGxheWVyLXVuYXZhaWxhYmxlIGEge2NvbG9yOiAjMTY3YWM2OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fTwvc3R5bGU+PHNjcmlwdCBub25jZT0iRFM4MVhWZkVNemlkVy1DYXI2VWdOUSI+dmFyIHl0Y3NpPXtndDpmdW5jdGlvbihuKXtuPShufHwiIikrImRhdGFfIjtyZXR1cm4geXRjc2lbbl18fCh5dGNzaVtuXT17dGljazp7fSxpbmZvOnt9LGdlbDp7cHJlTG9nZ2VkR2VsSW5mb3M6W119fSl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3cmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P2Z1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sdGljazpmdW5jdGlvbihsLHQsbil7dmFyIHRpY2tzPXl0Y3NpLmd0KG4pLnRpY2s7dmFyIHY9dHx8eXRjc2kubm93KCk7aWYodGlja3NbbF0pe3RpY2tzWyJfIitsXT10aWNrc1siXyIrbF18fFt0aWNrc1tsXV07dGlja3NbIl8iK2xdLnB1c2godil9dGlja3NbbF09CnZ9LGluZm86ZnVuY3Rpb24oayx2LG4pe3l0Y3NpLmd0KG4pLmluZm9ba109dn0saW5mb0dlbDpmdW5jdGlvbihwLG4pe3l0Y3NpLmd0KG4pLmdlbC5wcmVMb2dnZWRHZWxJbmZvcy5wdXNoKHApfSxzZXRTdGFydDpmdW5jdGlvbih0LG4pe3l0Y3NpLnRpY2soIl9zdGFydCIsdCxuKX19OwooZnVuY3Rpb24odyxkKXtmdW5jdGlvbiBpc0dlY2tvKCl7aWYoIXcubmF2aWdhdG9yKXJldHVybiBmYWxzZTt0cnl7aWYody5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMmJncubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzLmxlbmd0aCl7dmFyIGJyYW5kcz13Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kczt2YXIgaT0wO2Zvcig7aTxicmFuZHMubGVuZ3RoO2krKylpZihicmFuZHNbaV0mJmJyYW5kc1tpXS5icmFuZD09PSJGaXJlZm94IilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlO30pfWlmKCF3Lm5hdmlnYXRvci51c2VyQWdlbnQpcmV0dXJuIGZhbHNlO3ZhciB1YT13Lm5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuIHVhLmluZGV4T2YoIkdlY2tvIik+MCYmdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKTwwJiZ1YS5pbmRleE9mKCJFZGdlIik8CjAmJnVhLmluZGV4T2YoIlRyaWRlbnQiKTwwJiZ1YS5pbmRleE9mKCJNU0lFIik8MH15dGNzaS5zZXRTdGFydCh3LnBlcmZvcm1hbmNlP3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6bnVsbCk7dmFyIGlzUHJlcmVuZGVyPShkLnZpc2liaWxpdHlTdGF0ZXx8ZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPT0icHJlcmVuZGVyIjt2YXIgdk5hbWU9IWQudmlzaWJpbGl0eVN0YXRlJiZkLndlYmtpdFZpc2liaWxpdHlTdGF0ZT8id2Via2l0dmlzaWJpbGl0eWNoYW5nZSI6InZpc2liaWxpdHljaGFuZ2UiO2lmKGlzUHJlcmVuZGVyKXt2YXIgc3RhcnRUaWNrPWZ1bmN0aW9uKCl7eXRjc2kuc2V0U3RhcnQoKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsc3RhcnRUaWNrKX07ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLHN0YXJ0VGljayxmYWxzZSl9aWYoZC5hZGRFdmVudExpc3RlbmVyKWQuYWRkRXZlbnRMaXN0ZW5lcih2TmFtZSxmdW5jdGlvbigpe3l0Y3NpLnRpY2soInZjIil9LApmYWxzZSk7aWYoaXNHZWNrbygpKXt2YXIgaXNIaWRkZW49KGQudmlzaWJpbGl0eVN0YXRlfHxkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSk9PSJoaWRkZW4iO2lmKGlzSGlkZGVuKXl0Y3NpLnRpY2soInZjIil9dmFyIHNsdD1mdW5jdGlvbihlbCx0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49eXRjc2kubm93KCk7ZWwubG9hZFRpbWU9bjtpZihlbC5zbHQpZWwuc2x0KCl9LHQpfTt3Ll9feXRSSUw9ZnVuY3Rpb24oZWwpe2lmKCFlbC5nZXRBdHRyaWJ1dGUoImRhdGEtdGh1bWIiKSlpZih3LnJlcXVlc3RBbmltYXRpb25GcmFtZSl3LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3NsdChlbCwwKX0pO2Vsc2Ugc2x0KGVsLDE2KX19KSh3aW5kb3csZG9jdW1lbnQpOwo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJEUzgxWFZmRU16aWRXLUNhcjZVZ05RIj52YXIgeXRjZmc9e2Q6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lnl0JiZ5dC5jb25maWdffHx5dGNmZy5kYXRhX3x8KHl0Y2ZnLmRhdGFfPXt9KX0sZ2V0OmZ1bmN0aW9uKGssbyl7cmV0dXJuIGsgaW4geXRjZmcuZCgpP3l0Y2ZnLmQoKVtrXTpvfSxzZXQ6ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7aWYoYS5sZW5ndGg+MSl5dGNmZy5kKClbYVswXV09YVsxXTtlbHNle3ZhciBrO2ZvcihrIGluIGFbMF0peXRjZmcuZCgpW2tdPWFbMF1ba119fX07Cnl0Y2ZnLnNldCh7IkNMSUVOVF9DQU5BUllfU1RBVEUiOiJub25lIiwiREVWSUNFIjoiY2JyXHUwMDNkRmlyZWZveFx1MDAyNmNicnZlclx1MDAzZDEzNC4wXHUwMDI2Y2VuZ1x1MDAzZEdlY2tvXHUwMDI2Y2VuZ3Zlclx1MDAzZDEzNC4wXHUwMDI2Y29zXHUwMDNkV2luZG93c1x1MDAyNmNvc3Zlclx1MDAzZDEwLjBcdTAwMjZjcGxhdGZvcm1cdTAwM2RERVNLVE9QIiwiRVZFTlRfSUQiOiJxUWRuYXZPS0hZZXJ0TmNQNTZLMTRBUSIsIkVYUEVSSU1FTlRfRkxBR1MiOnsiYWJfZGV0X2FwbSI6dHJ1ZSwiYWJfZGV0X2VsX2giOnRydWUsImFjdGlvbl9jb21wYW5pb25fY2VudGVyX2FsaWduX2Rlc2NyaXB0aW9uIjp0cnVlLCJhbGxvd19za2lwX25ldHdvcmtsZXNzIjp0cnVlLCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiOnRydWUsImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiOnRydWUsImF0dG11c2kiOnRydWUsImMzX2VuYWJsZV9idXR0b25faW1wcmVzc2lvbl9sb2dnaW5nIjp0cnVlLCJjM193YXRjaF9wYWdlX2NvbXBvbmVudCI6dHJ1ZSwiY2FuY2VsX3BlbmRpbmdfbmF2cyI6dHJ1ZSwiY2xpZW50X3VpX2VuYWJsZV9tdWx0aV90cmFja19hdWRpb19vbl93ZWJfZW1iZWRkZWRfcGxheWVyIjp0cnVlLCJjb25maWdfYWdlX3JlcG9ydF9raWxsc3dpdGNoIjp0cnVlLCJjb3dfb3B0aW1pemVfaWRvbV9jb21wYXQiOnRydWUsImNzaV9vbl9nZWwiOnRydWUsImRlZHVwcGluZ19zZXJ2ZXJfdmUiOnRydWUsImRlbGhpX213ZWJfY29sb3JmdWxfc2QiOnRydWUsImRlbGhpX213ZWJfY29sb3JmdWxfc2RfdjIiOnRydWUsImRlcHJlY2F0ZV9wYWlyX3NlcnZsZXRfZW5hYmxlZCI6dHJ1ZSwiZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uIjp0cnVlLCJkaXNhYmxlX2NoaWxkX25vZGVfYXV0b19mb3JtYXR0ZWRfc3RyaW5ncyI6dHJ1ZSwiZGlzYWJsZV9sb2dfdG9fdmlzaXRvcl9sYXllciI6dHJ1ZSwiZGlzYWJsZV9taW5pX2FwcF9jb250YWluZXJfd2ViX3ZpZXdfaW5zZXRzIjp0cnVlLCJkaXNhYmxlX3BhY2ZfbG9nZ2luZ19mb3JfbWVtb3J5X2xpbWl0ZWRfdHYiOnRydWUsImVtYmVkc19kZXNrdG9mZl9ub25tb2JpbGVfZWxpZ2libGUiOnRydWUsImVtYmVkc19kZXNrdG9mZl9ub25tb2JpbGVfZW5hYmxlZCI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX3NhdmVfdXNlcl92b2x1bWUiOnRydWUsImVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2NoYW5uZWxfc3Vic2NyaWJlX2RlcHJlY2F0aW9uIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2RlbGF5X2NvbnRyb2xzX2hpZGUiOnRydWUsImVtYmVkc19lbmFibGVfZWlkX2VuZm9yY2VtZW50X2Zvcl95b3V0dWJlIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZnAiOnRydWUsImVtYmVkc19tdXRlZF9hdXRvcGxheV9zb3VuZF9maXgiOnRydWUsImVtYmVkc19zZXJ2ZV9lczZfY2xpZW50Ijp0cnVlLCJlbWJlZHNfd2ViX3VwZGF0ZWRfc2hvcnRzX2RlZmluaXRpb25fZml4Ijp0cnVlLCJlbmFibGVfYTExeV9mb2N1c19maXhfZm9yX21hY19wYW5lbF9vbl9kZXNrdG9wIjp0cnVlLCJlbmFibGVfYWNjZXNzX2NvZGVfc2VydmljZV9ycGMiOnRydWUsImVuYWJsZV9hY3RpdmVfdmlld19kaXNwbGF5X2FkX3JlbmRlcmVyX3dlYl9ob21lIjp0cnVlLCJlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfY29tcGFjdF9sYW5kc2NhcGVfaW1hZ2Vfd2ViIjp0cnVlLCJlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfY29tcGFjdF9sYW5kc2NhcGVfaW1hZ2Vfd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX2NvbXBhY3RfbGFuZHNjYXBlX25vX2J1dHRvbl93ZWIiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl9jb21wYWN0X2xhbmRzY2FwZV9ub19idXR0b25fd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3RleHRfaW1hZ2Vfbm9fYnV0dG9uX3dlYiI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3RleHRfaW1hZ2Vfbm9fYnV0dG9uX3dlYl9pbm5lcnR1YmUiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl90b3BfbGFuZHNjYXBlX2ltYWdlX3dlYiI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3RvcF9sYW5kc2NhcGVfaW1hZ2Vfd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfYmlsbGJvYXJkX2J1dHRvbmVkX3dlYiI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfYmlsbGJvYXJkX2J1dHRvbmVkX3dlYl9pbm5lcnR1YmUiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2J1dHRvbl9ncm91cF93ZWIiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2J1dHRvbl9ncm91cF93ZWJfaW5uZXJ0dWJlIjp0cnVlLCJlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbl9ncm91cF93ZWIiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX3dlYl9pbm5lcnR1YmUiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uZWRfd2ViIjp0cnVlLCJlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbmVkX3dlYl9pbm5lcnR1YmUiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2NvbXBhY3RfY2Fyb3VzZWxfYnV0dG9uX2dyb3VwX3dlYiI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF9jYXJvdXNlbF9idXR0b25fZ3JvdXBfd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF93ZWIiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2NvbXBhY3Rfd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfZnVsbF93ZWIiOnRydWUsImVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2Z1bGxfd2ViX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX2FpX3NlYXJjaF9pbm5lcnR1YmVfbTBfZml4ZXMiOnRydWUsImVuYWJsZV9hbmRyb2lkX3dlYl92aWV3X3RvcF9pbnNldHNfYnVnZml4Ijp0cnVlLCJlbmFibGVfYXR0ZW50aW9uX2xvZ2dpbmdfbWVhc3VyZV9vbl9zaG93biI6dHJ1ZSwiZW5hYmxlX2F1X3UxNl92ZXJpZnlfYWdlX3BhZ2UiOnRydWUsImVuYWJsZV9hdXRvbW90aXZlX2Zvcm1fZmFjdG9yX2NoZWNrIjp0cnVlLCJlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nIjp0cnVlLCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIjp0cnVlLCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiOnRydWUsImVuYWJsZV9jbG91ZF9zYXZlX2Vycm9yX3BvcHVwX2FmdGVyX3JldHJ5Ijp0cnVlLCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIjp0cnVlLCJlbmFibGVfZGFpX3NkZl9oNV9wcmVyb2xsIjp0cnVlLCJlbmFibGVfZGF0YXN5bmNfaWRfaGVhZGVyX2luX3dlYl92c3NfcGluZ3MiOnRydWUsImVuYWJsZV9kZWZhdWx0X21vbm9fY3RhX21pZ3JhdGlvbl93ZWJfY2xpZW50Ijp0cnVlLCJlbmFibGVfZG9ja2VkX2NoYXRfbWVzc2FnZXMiOnRydWUsImVuYWJsZV9kcm9wX3NoYWRvd19leHBlcmltZW50Ijp0cnVlLCJlbmFibGVfZW1iZWRzX25ld19jYXB0aW9uX2xhbmd1YWdlX3BpY2tlciI6dHJ1ZSwiZW5hYmxlX2VuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfaDUiOnRydWUsImVuYWJsZV9lbnRpdHlfc3RvcmVfZnJvbV9kZXBlbmRlbmN5X2luamVjdGlvbiI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoIjp0cnVlLCJlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkYyI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNiIjp0cnVlLCJlbmFibGVfaXNfZXh0ZW5kZWRfbW9uaXRvcmluZyI6dHJ1ZSwiZW5hYmxlX2xvZ2dpbmdfZmlyc3RfdXNlcl9hY3Rpb25fYWZ0ZXJfZ2FtZV9yZWFkeSI6dHJ1ZSwiZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX20wX2xvZ2dpbmdfZml4ZXMiOnRydWUsImVuYWJsZV9tZW51X3JlbmRlcmVyX2J1dHRvbl9pbl9td2ViX2hjbHIiOnRydWUsImVuYWJsZV9taW5pX2FwcF9jb21tYW5kX2hhbmRsZXJfbXdlYl9maXgiOnRydWUsImVuYWJsZV9taW5pX2d1aWRlX2Rvd25sb2Fkc19pdGVtIjp0cnVlLCJlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXIiOnRydWUsImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyI6dHJ1ZSwiZW5hYmxlX25hbWVzX2hhbmRsZXNfYWNjb3VudF9zd2l0Y2hlciI6dHJ1ZSwiZW5hYmxlX25hdGl2ZV9icmlkZ2Vfdmlld19zYXZlZF9wbGF5YWJsZXMiOnRydWUsImVuYWJsZV9uZXR3b3JrX3JlcXVlc3RfbG9nZ2luZ19vbl9nYW1lX2V2ZW50cyI6dHJ1ZSwiZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50Ijp0cnVlLCJlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX29wZW5feXRfY29udGVudCI6dHJ1ZSwiZW5hYmxlX29yaWdpbl9xdWVyeV9wYXJhbWV0ZXJfYnVnZml4Ijp0cnVlLCJlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNSI6dHJ1ZSwiZW5hYmxlX3BheW1lbnRzX3B1cmNoYXNlX21hbmFnZXIiOnRydWUsImVuYWJsZV9wZHBfaWNvbl9wcmVmZXRjaCI6dHJ1ZSwiZW5hYmxlX3BsYWNlX3Bpdm90X3VybCI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2NvbnRhaW5lcl9zYXZlX2J1dHRvbiI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2VudGl0eV9zYXZlX21lbnVfaXRlbSI6dHJ1ZSwiZW5hYmxlX3B0Y19ob21lX2xvY2F0aW9uX29uX3dlYiI6dHJ1ZSwiZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dCI6dHJ1ZSwiZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvbiI6dHJ1ZSwiZW5hYmxlX3NkZl9jb21wYW5pb25faDUiOnRydWUsImVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGwiOnRydWUsImVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsIjp0cnVlLCJlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbCI6dHJ1ZSwiZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1Ijp0cnVlLCJlbmFibGVfc2VuZGluZ191bndyYXBwZWRfZ2FtZV9hdWRpb19hc19zZXJpYWxpemVkX21ldGFkYXRhIjp0cnVlLCJlbmFibGVfc2V0X3ZpZGVvX2lkX2luX3Nob3J0c19sb2NrdXBfdmlld19tb2RlbCI6dHJ1ZSwiZW5hYmxlX3Nmdl9lZmZlY3RfcGl2b3RfdXJsIjp0cnVlLCJlbmFibGVfc2hvcnRzX25ld19jYXJvdXNlbCI6dHJ1ZSwiZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0Ijp0cnVlLCJlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZCI6dHJ1ZSwiZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWkiOnRydWUsImVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmUiOnRydWUsImVuYWJsZV90aW1lX291dF9tZXNzYWdlcyI6dHJ1ZSwiZW5hYmxlX3RpbWVsaW5lX3ZpZXdfbW9kZXJuX3RyYW5zY3JpcHRfZmUiOnRydWUsImVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyI6dHJ1ZSwiZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrIjp0cnVlLCJlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFjayI6dHJ1ZSwiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIjp0cnVlLCJlbmFibGVfd2luZG93X2NvbnN0cmFpbmVkX2J1eV9mbG93X2RpYWxvZyI6dHJ1ZSwiZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zIjp0cnVlLCJlbmFibGVfeXBjX3NwaW5uZXJzIjp0cnVlLCJlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlciI6dHJ1ZSwiZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnMiOnRydWUsImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyI6dHJ1ZSwiZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzciI6dHJ1ZSwiZml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViIjp0cnVlLCJoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3MiOnRydWUsImg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzIjp0cnVlLCJoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWQiOnRydWUsImhpZGVfY2hhbm5lbF9jcmVhdGlvbl90aXRsZV9mb3JfbXdlYiI6dHJ1ZSwiaGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNSI6dHJ1ZSwiaHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YSI6dHJ1ZSwiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiOnRydWUsImlkYl9pbW1lZGlhdGVfY29tbWl0Ijp0cnVlLCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiOnRydWUsImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCI6dHJ1ZSwiaXNfYnJvd3Nlcl9zdXBwb3J0X2Zvcl93ZWJjYW1fc3RyZWFtaW5nIjp0cnVlLCJqc29uX2NvbmRlbnNlZF9yZXNwb25zZSI6dHJ1ZSwia2V2bGFyX2ZpbHRlcl91bmtub3duX3NvdXJjZSI6dHJ1ZSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJrZXZsYXJfdHJpbV9wbGF5ZXJfYmVoYXZpb3IiOnRydWUsImtldmxhcl93YXRjaF9jaW5lbWF0aWNzIjp0cnVlLCJsaW1pdF95dGNzaV9kZWJ1Z19hcnJheV9zaXplIjp0cnVlLCJsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIjp0cnVlLCJtYXdfZW5hYmxlX25ldHdvcmtfbWFjaGluZSI6dHJ1ZSwibWR4X2VuYWJsZV9wcml2YWN5X2Rpc2Nsb3N1cmVfdWkiOnRydWUsIm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHQiOnRydWUsIm1lZGl1bV9wcm9ncmVzc19iYXJfbW9kaWZpY2F0aW9uIjp0cnVlLCJtb2JpbGVfYWNjb3VudF9tZW51X3JlZnJlc2giOnRydWUsIm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwIjp0cnVlLCJtd2ViX2FsbG93X21vZGVybl9zZWFyY2hfc3VnZ2VzdF9iZWhhdmlvciI6dHJ1ZSwibXdlYl9hbmltYXRlZF9hY3Rpb25zIjp0cnVlLCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uX2RpcmVjdF90b19hcHAiOnRydWUsIm13ZWJfYmFkZ2Vfc2hhcGVfZGVmcmFnIjp0cnVlLCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiOnRydWUsIm13ZWJfYzNfYXBwX3Byb21vX2VuYWJsZV9yZWZlcnJpbmdfYXBwIjp0cnVlLCJtd2ViX2MzX2VuYWJsZV9hZGFwdGl2ZV9zaWduYWxzIjp0cnVlLCJtd2ViX2MzX2xpYnJhcnlfcGFnZV9lbmFibGVfcmVjZW50X3NoZWxmIjp0cnVlLCJtd2ViX2MzX21lbnVfc2lnbmFsc19yZW5kZXIiOnRydWUsIm13ZWJfYzNfcmVtb3ZlX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X2RhdGEiOnRydWUsIm13ZWJfYzNfdG9hc3RfdXNlX3dpel9yZWFjdGl2ZV9yZW5kZXIiOnRydWUsIm13ZWJfYzNfdXNlX2Nhbm9uaWNhbF9mcm9tX3BsYXllcl9yZXNwb25zZSI6dHJ1ZSwibXdlYl9jYXJ2ZV9vdXRfaW9zX2FwcF9zdG9yZV9yZWRpcmVjdCI6dHJ1ZSwibXdlYl9jYXJ2ZV9vdXRfdGVybXNfcGFnZXMiOnRydWUsIm13ZWJfY2luZW1hdGljX3dhdGNoIjp0cnVlLCJtd2ViX2NvbW1hbmRfaGFuZGxlciI6dHJ1ZSwibXdlYl9kZWJ1Z19zdGlja3lfc2V0dGluZ3MiOnRydWUsIm13ZWJfZGVsYXlfd2F0Y2hfaW5pdGlhbF9kYXRhIjp0cnVlLCJtd2ViX2Rpc2FibGVfc2VhcmNoYmFyX3Njcm9sbCI6dHJ1ZSwibXdlYl9lbmFibGVfY2xpY2tfdG9fcGxheV9wYXVzZSI6dHJ1ZSwibXdlYl9lbmFibGVfY29sb3JmdWxfYWlfc3VtbWFyeSI6dHJ1ZSwibXdlYl9lbmFibGVfZHluYW1pY19kb3VibGVfdGFwX3RvX2xpa2UiOnRydWUsIm13ZWJfZW5hYmxlX2ZpbmVfc2NydWJiaW5nX2Zvcl9yZWNzIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl9mdWxsc2NyZWVuIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl9wcm9ncmVzc19iYXIiOnRydWUsIm13ZWJfZW5hYmxlX2tldG9fYmF0Y2hfcGxheWVyX3Rvb2x0aXBzIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2NvbnRlbnQiOnRydWUsIm13ZWJfZW5hYmxlX2xvY2t1cF92aWV3X21vZGVsX2Zvcl91Y3AiOnRydWUsIm13ZWJfZW5hYmxlX21peF9wYW5lbF90aXRsZV9tZXRhZGF0YSI6dHJ1ZSwibXdlYl9lbmFibGVfbW9yZV9jaHVua3MiOnRydWUsIm13ZWJfZW5hYmxlX21vcmVfZHJhd2VyIjp0cnVlLCJtd2ViX2VuYWJsZV9vcHRpb25hbF9mdWxsc2NyZWVuX2xhbmRzY2FwZV9sb2NraW5nIjp0cnVlLCJtd2ViX2VuYWJsZV9vdmVybGF5X3RvdWNoX21hbmFnZXIiOnRydWUsIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyI6dHJ1ZSwibXdlYl9lbmFibGVfcHJlbWl1bV9jYXJ2ZV9vdXRfZml4Ijp0cnVlLCJtd2ViX2VuYWJsZV9yZWZyZXNoX2RldGVjdGlvbiI6dHJ1ZSwibXdlYl9lbmFibGVfc2VhcmNoX2ltcCI6dHJ1ZSwibXdlYl9lbmFibGVfc2hvcnRzX3ZpZGVvX3ByZWxvYWQiOnRydWUsIm13ZWJfZW5hYmxlX3R3b19saW5lX3RpdGxlX29uX3Nob3J0cyI6dHJ1ZSwibXdlYl9lbmFibGVfdmFyaXNwZWVkX2NvbnRyb2xsZXIiOnRydWUsIm13ZWJfZW5hYmxlX3ZpZGVvX2xvb3BfdG9nZ2xlIjp0cnVlLCJtd2ViX2VuYWJsZV93YXRjaF9mZWVkX2luZmluaXRlX3Njcm9sbCI6dHJ1ZSwibXdlYl9maXhfY29sZF9sb2FkX3Jlc3BvbnNlX2FjdGlvbnMiOnRydWUsIm13ZWJfZml4X21vbml0b3JfdmlzaWJpbGl0eV9hZnRlcl9yZW5kZXIiOnRydWUsIm13ZWJfZm9yY2VfaW9zX2ZhbGxiYWNrX3RvX25hdGl2ZV9jb250cm9sIjp0cnVlLCJtd2ViX2ZwX2F1dG9fZnVsbHNjcmVlbiI6dHJ1ZSwibXdlYl9mcF9lbmFibGVfc2hvcnRzX3N3aXBlX2xvZ2dpbmciOnRydWUsIm13ZWJfZnVsbHNjcmVlbl9jb250cm9scyI6dHJ1ZSwibXdlYl9mdWxsc2NyZWVuX2NvbnRyb2xzX2FjdGlvbl9idXR0b25zIjp0cnVlLCJtd2ViX2Z1bGxzY3JlZW5fd2F0Y2hfc3lzdGVtIjp0cnVlLCJtd2ViX2Z1bGx5X3JlYWN0aXZlX2NiIjp0cnVlLCJtd2ViX2hvbWVfcmVhY3RpdmVfc2hvcnRzIjp0cnVlLCJtd2ViX2lubmVydHViZV9zZWFyY2hfY29tbWFuZCI6dHJ1ZSwibXdlYl9rYWlvc19lbmFibGVfYXV0b3BsYXlfc3dpdGNoX3ZpZXdfbW9kZWwiOnRydWUsIm13ZWJfbGFuZ19pbl9odG1sIjp0cnVlLCJtd2ViX2xpa2VfYnV0dG9uX3N5bmNlZF93aXRoX2VudGl0aWVzIjp0cnVlLCJtd2ViX2xvZ29fdXNlX2hvbWVfcGFnZV92ZSI6dHJ1ZSwibXdlYl9sb25nX3ByZXNzX3NwZWVkdXBfdmlicmF0aW9uIjp0cnVlLCJtd2ViX25hdGl2ZV9jb250cm9sX2luX2ZhdXhfZnVsbHNjcmVlbl9zaGFyZWQiOnRydWUsIm13ZWJfcGxheWVyX2NvbnRyb2xfb25faG92ZXIiOnRydWUsIm13ZWJfcGxheWVyX2RlbGhpX2R0dHMiOnRydWUsIm13ZWJfcGxheWVyX3Nob3dfcHJldmlvdXNfbmV4dF9idXR0b25zX2luX3BsYXlsaXN0Ijp0cnVlLCJtd2ViX3BsYXllcl9za2lwX25vX29wX3N0YXRlX2NoYW5nZXMiOnRydWUsIm13ZWJfcGxheWVyX3VzZXJfc2VsZWN0X25vbmUiOnRydWUsIm13ZWJfcGxheWxpc3RfZW5nYWdlbWVudF9wYW5lbCI6dHJ1ZSwibXdlYl9wcm9ncmVzc19iYXJfc2Vla19vbl9tb3VzZV9jbGljayI6dHJ1ZSwibXdlYl9wcm9wYWdhdGVfcGxheWVyX2xpbmtfY2xpY2tzIjp0cnVlLCJtd2ViX3B1bGxfMl9mdWxsIjp0cnVlLCJtd2ViX3B1bGxfMl9mdWxsX2VuYWJsZV90b3VjaF9oYW5kbGVycyI6dHJ1ZSwibXdlYl9zY2hlZHVsZV93YXJtX3dhdGNoX3Jlc3BvbnNlIjp0cnVlLCJtd2ViX3NlYXJjaF9tYXhfd2lkdGhfbGltaXQiOnRydWUsIm13ZWJfc2VhcmNoYm94X2xlZ2FjeV9uYXZpZ2F0aW9uIjp0cnVlLCJtd2ViX3NlZV9mZXdlcl9zaG9ydHMiOnRydWUsIm13ZWJfc2hvcnRzX2NvbW1lbnRzX3BhbmVsX2lkX2NoYW5nZSI6dHJ1ZSwibXdlYl9zaG9ydHNfZWFybHlfY29udGludWF0aW9uIjp0cnVlLCJtd2ViX3Nob3J0c19lbmFibGVfbG9uZ19wcmVzc19zcGVlZHVwIjp0cnVlLCJtd2ViX3Nob3J0c19vdmVybGF5X2RlcHJlY2F0ZV9rYWlvc19sYXlvdXQiOnRydWUsIm13ZWJfc2hvd19zaWduX2luX2J1dHRvbl9mcm9tX2hlYWRlciI6dHJ1ZSwibXdlYl91c2VfbWljcm9mb3JtYXRfdGl0bGVfZm9yX3Bvc3RzIjp0cnVlLCJtd2ViX3VzZV9zZXJ2ZXJfdXJsX29uX3N0YXJ0dXAiOnRydWUsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfZW5hYmxlX2F1dG9fdHJhbnNsYXRlIjp0cnVlLCJtd2ViX3dhdGNoX2NhcHRpb25zX3NldF9kZWZhdWx0X3NpemUiOnRydWUsIm13ZWJfd2F0Y2hfZGVsaGlfcGxheWVyIjp0cnVlLCJtd2ViX3dhdGNoX3N0b3Bfc2NoZWR1bGVyX29uX3BsYXllcl9yZXNwb25zZSI6dHJ1ZSwibXdlYl93YXRjaGZlZWRfYmlnX3RodW1ibmFpbHMiOnRydWUsIm13ZWJfeXRfc2VhcmNoYm94Ijp0cnVlLCJuZXR3b3JrbGVzc19sb2dnaW5nIjp0cnVlLCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biI6dHJ1ZSwicGFnZWlkX2FzX2hlYWRlcl93ZWIiOnRydWUsInBsYXllcl9jb250cm9sc19hdXRvbmF2X2ZpeCI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX3NraXBfZG91YmxlX3NpZ25hbF91cGRhdGUiOnRydWUsInBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0Ijp0cnVlLCJwbGF5ZXJfY29udHJvbHNfdm9sdW1lX2NvbnRyb2xzX3VzZV9wbGF5ZXJfcHJvcHMiOnRydWUsInBvbHltZXJfYmFkX2J1aWxkX2xhYmVscyI6dHJ1ZSwicG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZSI6dHJ1ZSwicW9lX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJyZW1vdmVfY2hldnJvbl9mcm9tX2FkX2Rpc2Nsb3N1cmVfYmFubmVyX2g1Ijp0cnVlLCJyZW1vdmVfbWFzdGhlYWRfY2hhbm5lbF9iYW5uZXJfb25fcmVmcmVzaCI6dHJ1ZSwicmVtb3ZlX3Nsb3RfaWRfZXhpdGVkX3RyaWdnZXJfZm9yX2RhaV9pbl9wbGF5ZXJfc2xvdF9leHBpcmUiOnRydWUsInJvc2NhcyI6dHJ1ZSwic2VydmljZV93b3JrZXJfZW5hYmxlZCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9lbmFibGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2hvbWVfcGFnZV9wcm9tcHQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfd2F0Y2hfcGFnZV9wcm9tcHQiOnRydWUsInNoZWxsX2xvYWRfZ2NmIjp0cnVlLCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiOnRydWUsInNob3J0c19lbmFibGVfcmVlbF9jYXJvdXNlbCI6dHJ1ZSwic2hvdWxkX3VzZV95dF92b2ljZV9lbmRwb2ludF9pbl9rYWlvcyI6dHJ1ZSwic21hcnRlcl92ZV9kZWR1cHBpbmciOnRydWUsInN0b3BfaGFuZGxpbmdfY2xpY2tfZm9yX25vbl9yZW5kZXJpbmdfb3ZlcmxheV9sYXlvdXQiOnRydWUsInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIjp0cnVlLCJzeW5jZWRfcGFuZWxfc2Nyb2xsaW5nX2NvbnRyb2xsZXIiOnRydWUsInRvb2x0aXBfcmVmYWN0b3JfZm9yX2hvdGtleSI6dHJ1ZSwidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIjp0cnVlLCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiOnRydWUsInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIjp0cnVlLCJ1c2Vfc2Vzc2lvbl9iYXNlZF9zYW1wbGluZyI6dHJ1ZSwidXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlIjp0cnVlLCJ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZSI6dHJ1ZSwidnNzX3BsYXliYWNrX3VzZV9zZW5kX2FuZF93cml0ZSI6dHJ1ZSwid2F0Y2hfcHVic3ViX3JlZmFjdG9yIjp0cnVlLCJ3ZWJfYWRhcHRpdmVfcmVwZWF0X2FzZSI6dHJ1ZSwid2ViX2Fsd2F5c19sb2FkX2NoYXRfc3VwcG9ydCI6dHJ1ZSwid2ViX2FwaV91cmwiOnRydWUsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkIjp0cnVlLCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZXhwb3J0X3RvX2dlbCI6dHJ1ZSwid2ViX2F0dHJpYnV0ZWRfc3RyaW5nX2RlZXBfZXF1YWxfYnVnZml4Ijp0cnVlLCJ3ZWJfYXV0b25hdl9hbGxvd19vZmZfYnlfZGVmYXVsdCI6dHJ1ZSwid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIjp0cnVlLCJ3ZWJfYnV0dG9uX3ZpZXdfbW9kZWxfbm9uX251bGxpc2hfZGF0YSI6dHJ1ZSwid2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZCI6dHJ1ZSwid2ViX2MzX2xvZ19hcHBfaW5pdF9maW5pc2giOnRydWUsIndlYl9jb21tZW50X3BhbmVsX2Vhc3lfZXhwYW5kIjp0cnVlLCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIjp0cnVlLCJ3ZWJfZGVkdXBlX3ZlX2dyYWZ0aW5nIjp0cnVlLCJ3ZWJfZGlzYWJsZV9iYWNrZHJvcF9maWx0ZXIiOnRydWUsIndlYl9kaXNhYmxlX2NoaXBfdmlld19tb2RlbF9tdXRhdGlvbiI6dHJ1ZSwid2ViX2VuYWJsZV9hYl9yc3BfY2wiOnRydWUsIndlYl9lbmFibGVfYWRfYnV0dG9uX3N0eWxlX292ZXJyaWRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Fza19kaXNjbGFpbWVyX3VwZGF0ZSI6dHJ1ZSwid2ViX2VuYWJsZV9jYW5vbmljYWxfdXJsX21hbmFnZXIiOnRydWUsIndlYl9lbmFibGVfY2FwdGlvbnNfc2V0X3RhcmdldF9jb250YWluZXIiOnRydWUsIndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Vycm9yXzIwNCI6dHJ1ZSwid2ViX2VuYWJsZV9sYXp5X2NzcyI6dHJ1ZSwid2ViX2VuYWJsZV90aHVtYm5haWxfb3ZlcmxheV9hbGlnbm1lbnQiOnRydWUsIndlYl9nY2ZfaGFzaGVzX2lubmVydHViZSI6dHJ1ZSwid2ViX2dlbF90aW1lb3V0X2NhcCI6dHJ1ZSwid2ViX2hpZGVfeW91cl9kYXRhX29uX2F1dG9tb3RpdmUiOnRydWUsIndlYl9pbXBfZW5hYmxlX2NzaV9zdGFydF90aWNrIjp0cnVlLCJ3ZWJfbW9ub21lcl93ZWJfY29tcG9uZW50X3dyYXBwZXJfaGFuZGxlX2Vycm9ycyI6dHJ1ZSwid2ViX25vbl9uYXZpZ2F0aW5nX2F0YWciOnRydWUsIndlYl9wYXJlbnRfdGFyZ2V0X2Zvcl9zaGVldHMiOnRydWUsIndlYl9wZXJzaXN0X3NlcnZlcl9hdXRvbmF2X3N0YXRlX29uX2NsaWVudCI6dHJ1ZSwid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfdmUiOnRydWUsIndlYl9wbGF5ZXJfdXBkYXRlZF9lbnRyeXBvaW50Ijp0cnVlLCJ3ZWJfcHJlZmV0Y2hfcHJlbG9hZF92aWRlbyI6dHJ1ZSwid2ViX3Byb2dyZXNzX2Jhcl9kcmFnZ2FibGUiOnRydWUsIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSI6dHJ1ZSwid2ViX3JlbW92ZV9zbmFja2Jhcl9hY3Rpb25zIjp0cnVlLCJ3ZWJfc2VjdGlvbl9saXN0X3JlbmRlcmVyX3dyYXBwZWRfY29udGVudHMiOnRydWUsIndlYl9zaG9ydHNfYXVkaW9fdHJhY2tfcGlja2VyIjp0cnVlLCJ3ZWJfc2hvcnRzX2VuYWJsZV9yZW1vdmVfc2VhcmNoX3Bpdm90X2JhY2tfYnV0dG9uIjp0cnVlLCJ3ZWJfc2hvcnRzX3duX3NoZWxmX2hlYWRlcl90dW5pbmciOnRydWUsIndlYl91bmlmaWVkX2ZldGNoIjp0cnVlLCJ3ZWJfdXBkYXRlX3BhbmVsX3Zpc2liaWxpdHlfbG9nZ2luZ19maXgiOnRydWUsIndlYl93YXRjaF9jb250cm9sc19zdGF0ZV9zaWduYWxzIjp0cnVlLCJ3ZWJmZV9td2ViX3dhdGNoX21pY3JvZGF0YSI6dHJ1ZSwid2ViZmVfd2F0Y2hfc2hvcnRzX2Nhbm9uaWNhbF91cmxfZml4Ijp0cnVlLCJ3ZWJwb19leGl0X29uX25ldF9lcnIiOnRydWUsIndpel9kaWZmX292ZXJ3cml0YWJsZSI6dHJ1ZSwid2l6X3dyYXBwZXJfY2FsbGJhY2tfcHJvcHNfZml4Ijp0cnVlLCJ3dWdfbmV0d29ya2luZ19nemlwX3JlcXVlc3QiOnRydWUsIkg1X2FzeW5jX2xvZ2dpbmdfZGVsYXlfbXMiOjMwMDAwLjAsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2FtcGxpbmdfZnJhY3Rpb24iOjAuMCwiY2luZW1hdGljX3dhdGNoX2VmZmVjdF9vcGFjaXR5IjowLjQsImxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvbiI6MC4xLCJzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlIjoyLjAsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGUiOjUwMC4wLCJ3ZWJfZGVhZF9jb2RlX2RldGVjdG9yX3NhbXBsaW5nX3JhdGUiOjAuMCwid2ViX2xvYWRfcHJlZGljdGlvbl90aHJlc2hvbGQiOjAuMywid2ViX25hdmlnYXRpb25fcHJlZGljdGlvbl90aHJlc2hvbGQiOjAuMSwid2ViX3Bial9sb2dfd2FybmluZ19yYXRlIjowLjAsIndlYl9zeXN0ZW1faGVhbHRoX2ZyYWN0aW9uIjowLjAxLCJ5dGlkYl90cmFuc2FjdGlvbl9lbmRlZF9ldmVudF9yYXRlX2xpbWl0IjowLjAyLCJhdHRfaW5pdF9kZWxheSI6NTAwLCJhdXRvcGxheV9wYXVzZV9ieV9sYWN0X3NlYyI6MCwiYm90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tcyI6MzAwMCwiY2hlY2tfbmF2aWdhdG9yX2FjY3VyYWN5X3RpbWVvdXRfbXMiOjAsImNpbmVtYXRpY193YXRjaF9jc3NfZmlsdGVyX2JsdXJfc3RyZW5ndGgiOjQwLCJjaW5lbWF0aWNfd2F0Y2hfZmFkZV9vdXRfZHVyYXRpb24iOjUwMCwiY2xvc2Vfd2Vidmlld19kZWxheV9tcyI6MTAwLCJjbG91ZF9zYXZlX2dhbWVfZGF0YV9yYXRlX2xpbWl0X21zIjozMDAwLCJjb21wcmVzc2lvbl9kaXNhYmxlX3BvaW50IjoxMCwiY3VzdG9tX2FjdGl2ZV92aWV3X3Rvc190aW1lb3V0X21zIjozNjAwMDAwLCJlbWJlZHNfd2lkZ2V0X3BvbGxfaW50ZXJ2YWxfbXMiOjAsImVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfbWF4X3dpbmRvd19zZWNvbmRzIjo2MCwiZ2VsX21pbl9iYXRjaF9zaXplIjozLCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiOjYwMDAwLCJnZXRfYXN5bmNfdGltZW91dF9tcyI6NjAwMDAsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIjowLCJpbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0IjoyMDAwLCJtYXhfYm9keV9zaXplX3RvX2NvbXByZXNzIjo1MDAwMDAsIm1heF9wcmVmZXRjaF93aW5kb3dfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvbiI6MTAsIm1pbl9wcmVmZXRjaF9vZmZzZXRfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvbiI6MjAsIm1pbmlfYXBwX2NvbnRhaW5lcl9pZnJhbWVfc3JjX3VwZGF0ZV9kZWxheV9tcyI6MCwibXVsdGlwbGVfcHJldmlld19uZXdzX2R1cmF0aW9uX3RpbWUiOjExMDAwLCJtd2ViX2MzX3RvYXN0X2R1cmF0aW9uX21zIjo1MDAwLCJtd2ViX2RlZXBfbGlua19mYWxsYmFja190aW1lb3V0X21zIjoxMDAwMCwibXdlYl9kZWxheV9yZXNwb25zZV9yZWNlaXZlZF9hY3Rpb25zIjoxMDAsIm13ZWJfZHdlbGxfZGVsYXlfbXMiOjUwMCwibXdlYl9mcF9kcGFkX3JhdGVfbGltaXRfbXMiOjAsIm13ZWJfZnBfZHBhZF93YXRjaF90aXRsZV9jbGFtcF9saW5lcyI6MCwibXdlYl9oaXN0b3J5X21hbmFnZXJfY2FjaGVfc2l6ZSI6MTAwLCJtd2ViX2lvc19mdWxsc2NyZWVuX3BsYXliYWNrX3RyYW5zaXRpb25fZGVsYXlfbXMiOjUwMCwibXdlYl9pb3NfZnVsbHNjcmVlbl9zeXN0ZW1fcGF1c2VfZXBpbHNvbl9tcyI6MCwibXdlYl9vdmVycmlkZV9yZXNwb25zZV9zdG9yZV9leHBpcmF0aW9uX21zIjowLCJtd2ViX3Nob3J0c19lYXJseV9jb250aW51YXRpb25fdHJpZ2dlcl90aHJlc2hvbGQiOjQsIm13ZWJfc2hvcnRzX251bWJlcl9vZl90aHVtYm5haWxzX3Nob3duIjoyLCJtd2ViX3cyd19tYXhfYWdlX3NlY29uZHMiOjAsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfZGVmYXVsdF9zaXplIjoyLCJuZW9uX2RhcmtfbGF1bmNoX2dyYWRpZW50X2NvdW50IjowLCJuZXR3b3JrX3BvbGxpbmdfaW50ZXJ2YWwiOjMwMDAwLCJwbGF5X3BpbmdfaW50ZXJ2YWxfbXMiOjEwMDAwLCJzZW5kX2NvbmZpZ19oYXNoX3RpbWVyIjowLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2xvZ2dlZF9vdXRfcHJvbXB0X3dhdGNoZXMiOi0xLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9jYXAiOi0xLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9kZWxheV9taWNyb3NlY29uZHMiOjM4ODgwMDAwMDAwMDAsInNob3dfbWluaV9hcHBfYWRfd2ViX3JlZ3VsYXJfZnJlcXVlbmN5X2NhcF9tcyI6MjQwMDAwLCJzaG93X21pbmlfYXBwX2FkX3dlYl9yZXdhcmRlZF9mcmVxdWVuY3lfY2FwX21zIjowLCJzbG93X2NvbXByZXNzaW9uc19iZWZvcmVfYWJhbmRvbl9jb3VudCI6NCwic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIjoxMCwic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyI6NTAwLCJ3ZWJfYWlfc2VhcmNoX3JvbGxvdXRfdmVyc2lvbiI6MSwid2ViX2ZvcmVncm91bmRfaGVhcnRiZWF0X2ludGVydmFsX21zIjoyODAwMCwid2ViX2dlbF9kZWJvdW5jZV9tcyI6MTAwMDAsIndlYl9sb2dnaW5nX21heF9iYXRjaCI6MTAwLCJ3ZWJfbWF4X3RyYWNpbmdfZXZlbnRzIjo1MCwid2ViX3Nlc3Npb25fcmVwbGF5X21vdXNlbW92ZV9pbnRlcnZhbCI6MCwid2ViX3Nlc3Npb25fcmVwbGF5X3Njcm9sbF9pbnRlcnZhbCI6MCwid2ViX3Nlc3Npb25fcmVwbGF5X3NlbmRfYWZ0ZXJfdGltZW91dCI6MCwid2ViX3RyYWNpbmdfc2Vzc2lvbl9yZXBsYXkiOjAsIndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXMiOjk5OTksInl0Y3NpX2RlYnVnX21heF9zaXplIjoxMDAsInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIjoxLCJ5dGlkYl9yZW9wZW5fZGJfcmV0cmllcyI6MCwiV2ViQ2xpZW50UmVsZWFzZVByb2Nlc3NDcml0aWNhbF9feW91dHViZV9lbWJlZHNfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJXZWJDbGllbnRSZWxlYXNlUHJvY2Vzc0NyaXRpY2FsX195b3V0dWJlX2VtYmVkc193ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJkZWJ1Z19mb3JjZWRfaW50ZXJuYWxjb3VudHJ5Y29kZSI6IiIsImVuYWJsZV93ZWJfbWVkaWFfc2VydmljZSI6IkRJU0FCTEVEIiwiaWxfcGF5bG9hZF9zY3JhcGluZyI6IiIsImxpdmVfY2hhdF91bmljb2RlX2Vtb2ppX2pzb25fdXJsIjoiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvZW1vamlzL2Vtb2ppcy1zdmctOS5qc29uIiwibXdlYl9kZWVwX2xpbmtfZmVhdHVyZV90YWdfc3VmZml4IjoiNTE4MzE2MTUiLCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaF90cmlnZ2VyIjoiTk9ORSIsIm13ZWJfZnBfZHBhZCI6ImhvbWUsc2VhcmNoLGJyb3dzZSxjaGFubmVsLGNyZWF0ZV9jaGFubmVsLGV4cGVyaW1lbnRzLHNldHRpbmdzLHRyZW5kaW5nLG9vcHMsNDA0LHBhaWRfbWVtYmVyc2hpcHMsc3BvbnNvcnNoaXAscHJlbWl1bSxzaG9ydHMiLCJtd2ViX2ZwX2RwYWRfbGluZWFyX25hdmlnYXRpb24iOiIiLCJtd2ViX2ZwX2RwYWRfbGluZWFyX25hdmlnYXRpb25fdmlzaXRvciI6IiIsIm13ZWJfZnBfZHBhZF92aXNpdG9yIjoiIiwibXdlYl9wcmVsb2FkX3ZpZGVvX2J5X3BsYXllcl92YXJzIjoiIiwicGxhY2VfcGl2b3RfdHJpZ2dlcmluZ19jb250YWluZXJfYWx0ZXJuYXRlIjoiIiwicGxhY2VfcGl2b3RfdHJpZ2dlcmluZ19jb3VudGVyZmFjdHVhbF9jb250YWluZXJfYWx0ZXJuYXRlIjoiIiwic2VydmljZV93b3JrZXJfcHVzaF9mb3JjZV9ub3RpZmljYXRpb25fcHJvbXB0X3RhZyI6IjEiLCJzZXJ2aWNlX3dvcmtlcl9zY29wZSI6Ii8iLCJzdWdnZXN0X2V4cF9zdHIiOiIiLCJ3ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2FsbG93ZWRfdmlkZW9faWRzIjpbIk9KbHdJZG9GejlBIiwiQXJLYkF4MUstMlUiLCJtX2RoTVN2VUNJYyIsIkMxRGhwSjA3WnVFIiwiTnEyd1lsV0Z1Y2ciLCJKQzdmM0VVRGFxdyIsInZyM1h5VkNSNFQwIiwiZ0NOZURXQ0kwdm8iLCJrQlR1ZG00Z2VNcyIsIkZ4c2ZWWDZCMU1rIiwieWxZSlNCVWdhTUEiLCJWV2hRNnhzcG5TYyIsIlJIVWF1TWNZbFgwIiwiY2IxMkttTU1ESkEiLCJXSnhFal9ocnBTZyIsImV1aFktdG1nOXg4IiwiVGxJVkkyRVc3UjAiLCJNSU5mdk9YNEJ6SSIsInlIbVBXemtoY1o4IiwicDN3MXZPOVh2MjQiLCJWbGFDbnAxZnhJOCIsIi1PZkEwNEJENEdBIiwiMW9kWTNJWXNObm8iLCJ3aVRUclZxUlZEdyIsIkRmbTJyQi1uUTlZIiwiUW0xRnR6OGxWbkkiLCI5aXRBeHFfU0dETSIsInlGSTN3cFh5NHpBIiwiUHk1SllaWEp2em8iLCJiNHRFNWFLaHRsZyIsIjVKRHhqc0FWYUdrIiwiZVVtZkdQYXp1RU0iLCJXOG5UaHE2MlZiNCIsIlZManZTM3VmbFhjIiwiQmZkTEt2SkJNX2MiLCJ3ZUxYZHdWalN4cyIsIjJKYS11UE9rejdJIiwiQTlRQlZGRVl4T1EiLCJrLVpGUWtrSFVmYyIsInd1dTBEMjBBWnFJIiwiX0h2aVN5Qzd6U1UiLCJfX3hPel9RM3FSNCIsIncyc0I4N2pMRTFJIiwiOHJUVEVNZE1oOFEiLCItazZtcGdteGVyVSIsIjk3Y2tuckp5TFdnIiwiMkZJdFZ5eExOTmMiLCJvdG54ZmNzR0UtWSIsInM5eEwxRHBCc2ZRIiwid2ZBR0JWZ1Vycm8iLCJuWEg2VHhRLXNpOCIsIldpSTFYZ19uRXU4IiwiM2ZsYXNHVlVyQ0EiLCJlRFlfSGU5MmxjVSIsImE0N2NrWEtaanhJIiwiSTZXUlhlS1pLNjQiLCJUOUo1RHFQMkRLdyIsIkt0a19JMHBVcEc4IiwiZVEyY3pHcU9DUGciLCJoTG1VNDlobVo0YyIsIjdmN01nYU1FN1NjIiwiUUI1Qk5kQkZ1akUiLCJBR2h0TVVfZmk3MCIsInAyUmFRVVJSQXdBIiwibXpfX0VNWXBXUHciLCI2amhMdVNRVkl4VSIsInJDODN2X3V1SXFvIiwiNkRhR2RKUl9lTGciLCJjbTQzdVhqZnZaWSIsIlkxSnNQcG0yYm1RIiwiejA5N2pQeUtlZW8iLCJUWVZaV1VUamt4MCIsIlZIYUF2ZW5mVERrIiwidHY5T1VfNVEwcFEiLCI2b0tDdnptNkhtZyIsIkJFRlVFUmhUMG4wIiwidVROLWV1MC1PWEUiLCJoYmFwcmhSN3pUbyIsIjJDVjBWLW9NTkZNIiwidThkU09Lb05KcDAiLCJIOE1xcXdtRnN4WSIsIklza2ttTlBKZFVrIiwiWDlIX0V6cERHWFEiXSwia2V2bGFyX2NvbW1hbmRfaGFuZGxlcl9jb21tYW5kX2Jhbmxpc3QiOltdLCJtaW5pX2FwcF9pZHNfd2l0aG91dF9nYW1lX3JlYWR5IjpbIlVna3hISHRzYWsxU0M4bVJHSE1aZXdjNEh6ZUFZM3loUFBtSiIsIlVna3g3T2d6RnFFNnpfNU10ZjRZc290R2ZRTklJMURGX1JCbSJdLCJ3ZWJfb3Bfc2lnbmFsX3R5cGVfYmFubGlzdCI6W10sIndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnMiOlsiZXZlbnQiLCJjb21tYW5kIl19LCJHQVBJX0hJTlRfUEFSQU1TIjoibTsvXy9zY3MvYWJjLXN0YXRpYy9fL2pzL2tcdTAwM2RnYXBpLmdhcGkuZW4uNTRfSER2ZU90a1EuTy9kXHUwMDNkMS9yc1x1MDAzZEFIcE9vbzlRdWZPZFBZVFJrYlRKYWRUVzZzbXN4bFdMTXcvbVx1MDAzZF9fZmVhdHVyZXNfXyIsIkdBUElfSE9TVCI6Imh0dHBzOi8vYXBpcy5nb29nbGUuY29tIiwiR0FQSV9MT0NBTEUiOiJlbl9VUyIsIkdMIjoiTk8iLCJITCI6ImVuIiwiSFRNTF9ESVIiOiJsdHIiLCJIVE1MX0xBTkciOiJlbiIsIklOTkVSVFVCRV9BUElfS0VZIjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIjoidjEiLCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiSU5ORVJUVUJFX0NMSUVOVF9WRVJTSU9OIjoiMi4yMDI2MDcyNC4wMS4wMCIsIklOTkVSVFVCRV9DT05URVhUIjp7ImNsaWVudCI6eyJobCI6ImVuIiwiZ2wiOiJOTyIsInJlbW90ZUhvc3QiOiIxOTUuNjQuMTE4LjE1MiIsImRldmljZU1ha2UiOiIiLCJkZXZpY2VNb2RlbCI6IiIsInZpc2l0b3JEYXRhIjoiQ2d0VlZWVnRTbk5HY0dRMFl5aXBqNXpUQmpJb0NnSk9UeElpRWg0U0hBc01EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY2dDMkxmQWdyY0FqSXdMbGxVUFVkb1NHOVdjVlpDY21wSVRVaHJjM1UxZFZOVFoweDZiMkZHZUZOc2FYQkJTbWRuTlVKeVh6WldXSFJwY0V0ME1FMHdkRWQ0Tm0xaFRrNVZURVpUZFc5UWJXcG9ialpVY2xKdlprSkJNRkJZTVRaM1NsQTROR2M0TW5oc1ZraGxiRUpYYlVwaFpVWk9ObXRNVnpOVlFrMXFOV2RTTW5sbFFqSnVkRjl0WXpWR2RHRXpRbE5LVlRWdk9IRkpabnBKTW1aSmRYbFhXVEUwUkhSYVh6RkVibEJ3Um5CNGVsOVliRWQyY1U1bVNHUmhOMjFmZW1kTWVVaEpVUzFtWVhkS09WcHlVRGt3VEhoM1EwOTJSbFI1TTNWM1UzVkNlRE5vWjFGYU1XNTFhamhQY1daUmRrbEtVVmMxZUVwbWVISXdNWFpTVFZkaFpVVnJOVnBGYWxCWmRWbDNSMHN6T0dkVlptbE5VbGg0U1hwVlpVUmxaME5ZZG5CT09DMUNUVUZoUVMxWmRrZG9NRVZ0YkMxSGJsRnRlVUpOYmpKR01UaHVhalptZWxsd1JYcHFlSGxoWVVONlVIRnplSGg0V1RVMFZGQldkMUV0VVElM0QlM0QiLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjoxMzQuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMzQuMCxnemlwKGdmZSkiLCJjbGllbnROYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImNsaWVudFZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIiwib3NOYW1lIjoiV2luZG93cyIsIm9zVmVyc2lvbiI6IjEwLjAiLCJvcmlnaW5hbFVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3RwNnVGLWJQRzZFP3NpXHUwMDNkV2NuRjloWXB2eWdJbW5vdyIsInBsYXRmb3JtIjoiREVTS1RPUCIsImNsaWVudEZvcm1GYWN0b3IiOiJVTktOT1dOX0ZPUk1fRkFDVE9SIiwiY29uZmlnSW5mbyI6eyJhcHBJbnN0YWxsRGF0YSI6IkNLbVBuTk1HRUo3UXNBVVF0dmlBRXhEdzN0RWNFTW4yZ0JNUWllVFJIQkQzeElBVEVMamt6aHdRX0xMT0hCQUFFTG53MFJ3UXhfeUFFeEN1MXM4Y0VJdjN6eHdRbjgtQUV4RDU4dEVjRUoyR3VDSVFodUdBRXhEcC1ORWNFSWVzemh3UXdZX1FIQkMtaE5FY0VONjh6aHdRaUpEUkhCRDI5OUVjRUwyS3NBVVF6Ti11QlJDOHBOQWNFTDJac0FVUTlxdXdCUkNCemM0Y0VKbU5zUVVRanBEUkhCQ1Y3OUVjRUlxSHVDSVFnNGU0SWhDOXRxNEZFT0RxMFJ3UXBLblJIQkR4dE5BY0VOcjN6aHdReXZ1QUV4Q0pzTTRjRU9DMzBSd1E5ZW5SSEJEc3pkQWNLbkJEUVUxVFZIaFdUUzFhY1MxRVRXVlZSWEJWUTI1Qk56VkdXRXRxUW5WRlYzRk9WVkI1UVUxTk0zY3pZMEoxVVVjM2QxUndkbVZyVEUxeFEzTkNRVTlSY21kUU4wcHlZbXRDZFZOR1JqbEVUVUp6VTFOQ1kzTTVlRk5tV2pGUldHTk1UMlJITVVzM2RraDBjMGRJVVdNOU1BQSUzRCJ9LCJicm93c2VyTmFtZSI6IkZpcmVmb3giLCJicm93c2VyVmVyc2lvbiI6IjEzNC4wIiwiYWNjZXB0SGVhZGVyIjoidGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cVx1MDAzZDAuOSwqLyo7cVx1MDAzZDAuOCIsImRldmljZUV4cGVyaW1lbnRJZCI6IkNoeE9lbGt5VG5wRmQwNVVUWGhPVkVFd1RsUm5kMDFxVFRKUFFUMDlFS21Qbk5NR0dLbVBuTk1HIiwicm9sbG91dFRva2VuIjoiQ0lXQ3lkU3VpX2pUUkJEM2pxZmxxZktWQXhqM2pxZmxxZktWQXclM0QlM0QifSwidXNlciI6eyJsb2NrZWRTYWZldHlNb2RlIjpmYWxzZX0sInJlcXVlc3QiOnsidXNlU3NsIjp0cnVlfSwiY2xpY2tUcmFja2luZyI6eyJjbGlja1RyYWNraW5nUGFyYW1zIjoiSWhNSXM0T241YW55bFFNVmh4WHRCQjFuVVExTSJ9LCJ0aGlyZFBhcnR5Ijp7ImVtYmVkZGVkUGxheWVyQ29udGV4dCI6eyJlbWJlZGRlZFBsYXllckVuY3J5cHRlZENvbnRleHQiOiJBQ21ibEJWLXdHZ1RxRjJLQzUzWUdjUS1Uck9DQTlDX2ZkbWZzVnROYlRsMlVqRkdSTFd1cVFXQ3ZzRUR4b05Canl4X2gzZENEOGVjZTIycXRNTlNuRHI0ZWJfVlVVcmZWSVU0ckZodFBZM2RnS2NCQTRlcXdFYUY5UkVrNGJLb0hCRVBYSUs2c2U4IiwiYW5jZXN0b3JPcmlnaW5zU3VwcG9ydGVkIjpmYWxzZX19fSwiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiOjU2LCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJJTk5FUlRVQkVfQ09OVEVYVF9HTCI6Ik5PIiwiSU5ORVJUVUJFX0NPTlRFWFRfSEwiOiJlbiIsIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyI6eyJjbGllbnQubmFtZSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJjbGllbnQuanNmZWF0IjoiMjAyMSJ9LCJMT0dHRURfSU4iOmZhbHNlLCJQQUdFX0JVSUxEX0xBQkVMIjoieW91dHViZS5lbWJlZHMud2ViXzIwMjYwNzI0XzAxX1JDMDAiLCJQQUdFX0NMIjo5NTMyMDYwMTAsIlNFUlZFUl9OQU1FIjoiV2ViRkUiLCJWSVNJVE9SX0RBVEEiOiJDZ3RWVlZWdFNuTkdjR1EwWXlpcGo1elRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ0MyTGZBZ3JjQWpJd0xsbFVQVWRvU0c5V2NWWkNjbXBJVFVocmMzVTFkVk5UWjB4NmIyRkdlRk5zYVhCQlNtZG5OVUp5WHpaV1dIUnBjRXQwTUUwd2RFZDRObTFoVGs1VlRFWlRkVzlRYldwb2JqWlVjbEp2WmtKQk1GQllNVFozU2xBNE5HYzRNbmhzVmtobGJFSlhiVXBoWlVaT05tdE1Wek5WUWsxcU5XZFNNbmxsUWpKdWRGOXRZelZHZEdFelFsTktWVFZ2T0hGSlpucEpNbVpKZFhsWFdURTBSSFJhWHpGRWJsQndSbkI0ZWw5WWJFZDJjVTVtU0dSaE4yMWZlbWRNZVVoSlVTMW1ZWGRLT1ZweVVEa3dUSGgzUTA5MlJsUjVNM1YzVTNWQ2VETm9aMUZhTVc1MWFqaFBjV1pSZGtsS1VWYzFlRXBtZUhJd01YWlNUVmRoWlVWck5WcEZhbEJaZFZsM1Iwc3pPR2RWWm1sTlVsaDRTWHBWWlVSbFowTllkbkJPT0MxQ1RVRmhRUzFaZGtkb01FVnRiQzFIYmxGdGVVSk5iakpHTVRodWFqWm1lbGx3UlhwcWVIbGhZVU42VUhGemVIaDRXVFUwVkZCV2QxRXRVUSUzRCUzRCIsIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdTIjp7IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfRU1CRURERURfUExBWUVSIjp7InJvb3RFbGVtZW50SWQiOiJtb3ZpZV9wbGF5ZXIiLCJqc1VybCI6Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzdhNzk2OWMyL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9FTUJFRERFRF9QTEFZRVIiLCJldmVudExhYmVsIjoiZW1iZWRkZWQiLCJjb250ZW50UmVnaW9uIjoiTk8iLCJobCI6ImVuX1VTIiwiaG9zdExhbmd1YWdlIjoiZW4iLCJpbm5lcnR1YmVBcGlLZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJpbm5lcnR1YmVBcGlWZXJzaW9uIjoidjEiLCJpbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJkZXZpY2UiOnsiYnJhbmQiOiIiLCJtb2RlbCI6IiIsImJyb3dzZXIiOiJGaXJlZm94IiwiYnJvd3NlclZlcnNpb24iOiIxMzQuMCIsIm9zIjoiV2luZG93cyIsIm9zVmVyc2lvbiI6IjEwLjAiLCJwbGF0Zm9ybSI6IkRFU0tUT1AiLCJpbnRlcmZhY2VOYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIn0sInNlcmlhbGl6ZWRFeHBlcmltZW50SWRzIjoiMjQwMDQ2NDQsNTEwNjM2NDMsNTEwOTgyOTksNTEyMjI5NzMsNTEzNDA2NjIsNTEzNDk5MTQsNTEzNTMzOTMsNTEzNjY0MjMsNTEzODk2MjksNTE0OTAzMzEsNTE0OTMyMDgsNTE1MDU0MzYsNTE1MzA0OTUsNTE1MzQ2NjksNTE1NjUxMTYsNTE1ODM4MjEsNTE2MDUyNTgsNTE2MDk4MjksNTE2MjI4NDUsNTE2MzU5NTUsNTE2Mzg5MzIsNTE2NDgzMzYsNTE2NzIxNjIsNTE2ODE2NjIsNTE2ODM1MDIsNTE3MDc2MjAsNTE3MjkyMTcsNTE3MzcxMzQsNTE3NDIzNzcsNTE3NDI4MzAsNTE3NTI1MTgsNTE3NzgzMzksNTE3OTg5MjgsNTE4MDMxMjgsNTE4MDM1ODYsNTE4MzMyNDEsNTE4NDI0MjIsNTE4NTc4MzgsNTE4NTc5MjAsNTE4NzUyOTksNTE4ODc4ODAsNTE4OTU0MDUsNTE4OTU3NzEsNTE5MDE0MzcsNTE5MDI2MDUsNTE5MDI5NzcsNTE5MTA3MzUsNTE5MjcxODgsNTE5MjczNjAsNTE5MzYyMjgsNTE5Mzk3MDMsNTE5NDUwNTYsNTE5NTQ5MjMsNTE5NTY1MTgsNTE5NTc0NDUsNTE5NTk2OTQsNTE5NTk4MDksNTE5NTk4ODAsNTE5NTk5NjcsNTE5NjgwODQsNTE5NzE3NzYsNTE5ODMzNjgsNTE5ODQ4MjcsNTE5ODU1ODAsNTE5ODk5NDIsNTIwMDI4MDYsNTIwMTI1MjMsNTIwMTM5MzgsNTIwMTYxMzYsNTIwMjAwMzEsNTIwMjI0ODgsNTIwMjMzMzMsNTIwMjQyMTcsNTIwMjYxOTQsNTIwMjY4MTMsNTIwMjcwOTgsNTIwMjc3NTEsNTIwMjc3NTMsNTIwMzU2NDQsNTIwMzY5MzksNTIwNDMyMjcsNTIwNDY1MTgsNTIwNDcxNDcsNTIwNDc2ODQsNTIwNDc2ODgsNTIwNDc2OTAsNTIwNDg0MzQsNTIwNTY1MDMsNTIwNjM2NzgsNTIwNjQxMzUsNTIwNjU1OTAsNTIwNzM5NjEsNTIwNzU5MjIsNTIwNzY3MDUsNTIwOTI4NjYsNTIwOTg2ODciLCJzZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzIjoiSDVfYXN5bmNfbG9nZ2luZ19kZWxheV9tc1x1MDAzZDMwMDAwLjBcdTAwMjZhMTF5X2g1X2Fzc29jaWF0ZV9zdXJ2ZXlfcXVlc3Rpb25cdTAwM2R0cnVlXHUwMDI2YWJfZGV0X2FwbVx1MDAzZHRydWVcdTAwMjZhYl9kZXRfZWxfaFx1MDAzZHRydWVcdTAwMjZhY3Rpb25fY29tcGFuaW9uX2NlbnRlcl9hbGlnbl9kZXNjcmlwdGlvblx1MDAzZHRydWVcdTAwMjZhZF9wb2RfZGlzYWJsZV9jb21wYW5pb25fcGVyc2lzdF9hZHNfcXVhbGl0eVx1MDAzZHRydWVcdTAwMjZhbGxvd19hdXRvaGlkZV9vbl9wYXVzZWRfdmlkZW9zXHUwMDNkdHJ1ZVx1MDAyNmFsbG93X2RybV9vdmVycmlkZVx1MDAzZHRydWVcdTAwMjZhbGxvd19saXZlX2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmFsbG93X3BvbHRlcmd1c3RfYXV0b3BsYXlcdTAwM2R0cnVlXHUwMDI2YWxsb3dfc2tpcF9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZhbGxvd192cDlfMTA4MHBfbXFfZW5jXHUwMDNkdHJ1ZVx1MDAyNmFsd2F5c19jYWNoZV9yZWRpcmVjdF9lbmRwb2ludFx1MDAzZHRydWVcdTAwMjZhbHdheXNfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2YW5ub3RhdGlvbl9tb2R1bGVfdmFzdF9jYXJkc19sb2FkX2xvZ2dpbmdfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZhc3NpZ25fZHJtX2ZhbWlseV9ieV9mb3JtYXRcdTAwM2R0cnVlXHUwMDI2YXR0X3dlYl9yZWNvcmRfbWV0cmljc1x1MDAzZHRydWVcdTAwMjZhdHRhY2hfZXhwZXJpbWVudF9wcm9wYWdhdGlvbl9jb250ZXh0X3RvX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZhdHRtdXNpXHUwMDNkdHJ1ZVx1MDAyNmF1dG9wbGF5X3RpbWVcdTAwM2QxMDAwMFx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX2Z1bGxzY3JlZW5cdTAwM2QtMVx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnRcdTAwM2QtMVx1MDAyNmJnX3ZtX3JlaW5pdF90aHJlc2hvbGRcdTAwM2Q3MjAwMDAwXHUwMDI2YmxvY2tfdHZodG1sNV9zaW1wbHlfZW1iZWRkZWRcdTAwM2R0cnVlXHUwMDI2YmxvY2tlZF9wYWNrYWdlc19mb3Jfc3BzXHUwMDNkW11cdTAwMjZib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zXHUwMDNkMzAwMFx1MDAyNmJ5cGFzc19saWNlbnNlX2NoZWNrX2Zvcl9pbmxpbmVfbXV0ZWRcdTAwM2R0cnVlXHUwMDI2Y2FwdGlvbnNfdXJsX2FkZF9laVx1MDAzZHRydWVcdTAwMjZjaGVja19uYXZpZ2F0b3JfYWNjdXJhY3lfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZjaGVja19wbGF5YWJpbGl0eV9zdGF0dXNfaW5fZmlsbGVyc1x1MDAzZHRydWVcdTAwMjZjbGllbnRfdWlfZW5hYmxlX211bHRpX3RyYWNrX2F1ZGlvX29uX3dlYl9lbWJlZGRlZF9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2Y29tcHJlc3Npb25fZGlzYWJsZV9wb2ludFx1MDAzZDEwXHUwMDI2Y293X29wdGltaXplX2lkb21fY29tcGF0XHUwMDNkdHJ1ZVx1MDAyNmNzaV9vbl9nZWxcdTAwM2R0cnVlXHUwMDI2Y3VzdG9tX2FjdGl2ZV92aWV3X3Rvc190aW1lb3V0X21zXHUwMDNkMzYwMDAwMFx1MDAyNmRhc2hfbWFuaWZlc3RfdmVyc2lvblx1MDAzZDVcdTAwMjZkZWJ1Z19iYW5kYWlkX2hvc3RuYW1lXHUwMDNkXHUwMDI2ZGVidWdfYmFuZGFpZF9wb3J0XHUwMDNkMFx1MDAyNmRlYnVnX3NoZXJsb2dfdXNlcm5hbWVcdTAwM2RcdTAwMjZkZWR1cHBpbmdfc2VydmVyX3ZlXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX2Zhc3RfZm9sbG93X2F1dG9uYXZfdG9nZ2xlXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfZGVmYXVsdF90aHVtYm5haWxfcGVyY2VudGFnZVx1MDAzZDAuMFx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfZmFzdGVyX2F1dG9oaWRlX2RlbGF5X21zXHUwMDNkMjAwMFx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfcGF1c2VfdGh1bWJuYWlsX3BlcmNlbnRhZ2VcdTAwM2QwLjZcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9ibGVuZGluZ19tb2RlXHUwMDNkXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfZGlzYWJsZV9mcm9zdGVkX2dsYXNzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2hvcml6b250YWxfdm9sdW1lX2NvbnRyb2xzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2xoc192b2x1bWVfY29udHJvbHNcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfcmVzcG9uc2l2ZV9jb21wYWN0X2NvbnRyb2xzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZkZXByZWNhdGVfY2FwdGlvbnNfdHJhY2tfY291bnRfZGlzcGxheVx1MDAzZHRydWVcdTAwMjZkZXByZWNhdGVfZGVsYXlfcGluZ1x1MDAzZHRydWVcdTAwMjZkZXByZWNhdGVfcGFpcl9zZXJ2bGV0X2VuYWJsZWRcdTAwM2R0cnVlXHUwMDI2ZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfYXYxX3NldHRpbmdcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9jaGlsZF9ub2RlX2F1dG9fZm9ybWF0dGVkX3N0cmluZ3NcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9saWZhX2luXzJrXzRrXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfbG9nX3RvX3Zpc2l0b3JfbGF5ZXJcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9wYWNmX2xvZ2dpbmdfZm9yX21lbW9yeV9saW1pdGVkX3R2XHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcmVkdWNlZF9mdWxsc2NyZWVuX2F1dG9wbGF5X2NvdW50ZG93bl9mb3JfbWlub3JzXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcmVlbF9pdGVtX3dhdGNoX2Zvcm1hdF9maWx0ZXJpbmdcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV90b3VjaF9ldmVudHNfb25fc2tpcF9idXR0b25cdTAwM2R0cnVlXHUwMDI2ZHVyYXRpb25fYmVmb3JlX3BhdXNlX2FkX2JyZWFrX21zX2Zvcl9zeXN0ZW1fcGF1c2VcdTAwM2Q1MDAwXHUwMDI2ZWRnZV9lbmNyeXB0aW9uX2ZpbGxfcHJpbWFyeV9rZXlfdmVyc2lvblx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZGVza3RvZmZfZW5hYmxlX2Fkc190b3BfYmFyXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfY2hhbm5lbF9zdWJzY3JpYmVfZGVwcmVjYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9lbWJlZF9jb25maWdfZm9yX211dGVkX2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfaW5uZXJ0dWJlX3N0b3JlXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfbW92ZV9zZXRfY2VudGVyX2Nyb3BfdG9fcHVibGljXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfcGVyX3ZpZGVvX2VtYmVkX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZlbWJlZHNfd2ViX2xpdGVfbW9kZVx1MDAzZDFcdTAwMjZlbmFibGVfYTExeV9mb2N1c19maXhfZm9yX21hY19wYW5lbF9vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hYmFuZG9uX3BpbmdfZm9yX3NzZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY2Nlc3NfY29kZV9zZXJ2aWNlX3JwY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWNpX29uX2xyX2ZlZWRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19kaXNwbGF5X2FkX3JlbmRlcmVyX3dlYl9ob21lXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19scl9zaG9ydHNfdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjdGl2ZV92aWV3X3dlYl9zaG9ydHNfdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FkX2Nwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hZF9kaXNjbG9zdXJlX2Jhbm5lcl9hMTF5X2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfY29tcGFjdF9sYW5kc2NhcGVfaW1hZ2Vfd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl9jb21wYWN0X2xhbmRzY2FwZV9pbWFnZV93ZWJfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl9jb21wYWN0X2xhbmRzY2FwZV9ub19idXR0b25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl9jb21wYWN0X2xhbmRzY2FwZV9ub19idXR0b25fd2ViX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdGV4dF9pbWFnZV9ub19idXR0b25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl90ZXh0X2ltYWdlX25vX2J1dHRvbl93ZWJfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl90b3BfbGFuZHNjYXBlX2ltYWdlX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdG9wX2xhbmRzY2FwZV9pbWFnZV93ZWJfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2JpbGxib2FyZF9idXR0b25lZF93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfYmlsbGJvYXJkX2J1dHRvbmVkX3dlYl9pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfYnV0dG9uX2dyb3VwX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9idXR0b25fZ3JvdXBfd2ViX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbl9ncm91cF93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF9idXR0b25fZ3JvdXBfd2ViX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbmVkX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWlfZGlzY2xvc3VyZV9mb3JfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbmVkX3dlYl9pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF9jYXJvdXNlbF9idXR0b25fZ3JvdXBfd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2NvbXBhY3RfY2Fyb3VzZWxfYnV0dG9uX2dyb3VwX3dlYl9pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FpX2Rpc2Nsb3N1cmVfZm9yX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF93ZWJfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2Z1bGxfd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9haV9kaXNjbG9zdXJlX2Zvcl92aWRlb19kaXNwbGF5X2Z1bGxfd2ViX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYW50aXNjcmFwaW5nX3dlYl9wbGF5ZXJfZXhwaXJlZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXBwX3Byb21vX2VuZGNhcF9lbWxfb25fdGFibGV0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdHRlbnRpb25fbG9nZ2luZ19tZWFzdXJlX29uX3Nob3duXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdV91MTZfdmVyaWZ5X2FnZV9wYWdlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdXRvbW90aXZlX2Zvcm1fZmFjdG9yX2NoZWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdjFfZm9yX3l0dl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9iYXRjaGVkX2Nyb3NzX2RldmljZV9waW5nc19pbl9nZWxfZmFub3V0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jYXBhYmlsaXR5X2Zvcm1hdF9maWx0ZXJfaW5fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jYXN0X2Zvcl93ZWJfdW5wbHVnZ2VkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jZW50ZXJlZF9jYXB0aW9uX2Zvcl90dmZpbG1fdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NpcGhlcl9mb3JfbWFuaWZlc3RfdXJsc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xlYW51cF9tYXN0aGVhZF9hdXRvcGxheV9oYWNrX2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3BhZ2VfaWRfaGVhZGVyX2Zvcl9maXJzdF9wYXJ0eV9waW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfdmVfc3BlY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY3RhX2Jhbm5lcl9vbl91bnBsdWdnZWRfbHJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2N1c3RvbV9wbGF5aGVhZF9wYXJzaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RhaV9zZGZfaDVfcHJlcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZGF0YXN5bmNfaWRfaGVhZGVyX2luX3dlYl92c3NfcGluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RlZmF1bHRfbW9ub19jdGFfbWlncmF0aW9uX3dlYl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RzYV9hZF9iYWRnZV9mb3JfYWN0aW9uX2VuZGNhcF9vbl9hbmRyb2lkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kc2FfYWRfYmFkZ2VfZm9yX2FjdGlvbl9lbmRjYXBfb25faW9zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lbnRpdHlfc3RvcmVfZnJvbV9kZXBlbmRlbmN5X2luamVjdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfZXJyb3JfY29ycmVjdGlvbnNfaW5mb2NhcmRfd2ViX2NsaWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZXJyb3JfY29ycmVjdGlvbnNfaW5mb2NhcmRzX2ljb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9nZXRfcmVtaW5kZXJfYnV0dG9uX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNiXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pc19leHRlbmRlZF9tb25pdG9yaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9sdGNfcGFyYW1fZmV0Y2hfZnJvbV9pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfbW9kZXJuX3NraXBfYnV0dG9uX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX213ZWJfa2V5Ym9hcmRfc2hvcnRjdXRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9uZXdfcGFpZF9wcm9kdWN0X3BsYWNlbWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfb3V0X29mX3N0b2NrX3RleHRfYWxsX3N1cmZhY2VzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BhdXNlX2Fkc19vbl95dHZfaHRtbDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BsYXllcl9jYXB0aW9uc19wZXJzaXN0ZW5jZV9zdGF0ZV9tYWNoaW5lXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wb19kZWNvcmF0aW9uX29mX2ZvcmNlZF90cmFja3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BvbGljeV9iYXNlZF9ocWFfZmlsdGVyX2luX3dhdGNoX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc19jb21tYW5kc19scl9mZWVkc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc3NfY29tbWFuZHNfZWxfZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wcm9ncmVzc19jb21tYW5kc19scl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3B1Ymxpc2hpbmdfcmVnaW9uX3BhcmFtX2luX3N1c1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHZfc2NyZWVuX21vZGVybl90ZXh0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9ycHJfdG9rZW5fb25fbHRsX2xvb2t1cFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2NvbXBhbmlvbl9oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2RhaV9oNV9taWRyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfb25faDVfdW5wbHVnZ2VkX3ZvZF9taWRyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfc2hvcnRzX3BsYXllcl9ieXRlc19oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fYWJyX2Zvcl9iYWNrZ3JvdW5kYWJsZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJfdXJsX2dlbmVyYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fcmVhZGFoZWFkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9za2lwX2FkX2d1aWRhbmNlX3Byb21wdFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcF90b19uZXh0X21lc3NhZ2luZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21hcnRfc2tpcF9wbGF5ZXJfY29udHJvbHNfc2hvd25fb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWFydF9za2lwX3BsYXllcl9jb250cm9sc19zaG93bl9vbl93ZWJfaW5jcmVhc2VkX3RyaWdnZXJpbmdfc2Vuc2l0aXZpdHlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtYXJ0X3NraXBfc3BlZWRtYXN0ZXJfb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWVhcmluZ19leHBhbnNpb25fZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zcGxpdF9zY3JlZW5fYWRfYmFzZWxpbmVfZXhwZXJpZW5jZV9lbmRlbWljX2xpdmVfaDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3N1YmZyYWdtZW50ZWRfY2FwdGlvbl9maWx0ZXJpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3N1cGV4X213ZWJfZGVtb193ZWJmZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdG9fY2FsbF9wbGF5cmVhZHlfYmFja2VuZF9kaXJlY3RseVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdW5pZmllZF9hY3Rpb25fZW5kY2FwX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfdmVub21fbm90aWZpY2F0aW9uX2NhY2hlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfdm9pY2VfYm9vc3RfZmVhdHVyZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdnA5X2FwcGxldHY1X29uX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX2RlbGhpX2ljb25zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfaG9tZV90b3BfbGFuZHNjYXBlX2ltYWdlX2xheW91dF9sZXZlbF9jbGlja1x1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX21lZGlhX3Nlc3Npb25fbWV0YWRhdGFfZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfcHJlbWl1bV92YXJpc3BlZWRfdXBzZWxsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfc2hvcnRzX2F1ZGlvX3RyYWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfdGllcmVkX2dlbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2l6X3F1ZXVlX2VmZmVjdF9hbmRfb25faW5pdF9pbml0aWFsX3J1bnNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3l0X2F0YV9pZnJhbWVfYXV0aHVzZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3l0dl9jc2RhaV92cDlcdTAwM2R0cnVlXHUwMDI2ZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19hbGxvd2VkX3ZpZGVvX2lkc1x1MDAzZFtPSmx3SWRvRno5QSwgQXJLYkF4MUstMlUsIG1fZGhNU3ZVQ0ljLCBDMURocEowN1p1RSwgTnEyd1lsV0Z1Y2csIEpDN2YzRVVEYXF3LCB2cjNYeVZDUjRUMCwgZ0NOZURXQ0kwdm8sIGtCVHVkbTRnZU1zLCBGeHNmVlg2QjFNaywgeWxZSlNCVWdhTUEsIFZXaFE2eHNwblNjLCBSSFVhdU1jWWxYMCwgY2IxMkttTU1ESkEsIFdKeEVqX2hycFNnLCBldWhZLXRtZzl4OCwgVGxJVkkyRVc3UjAsIE1JTmZ2T1g0QnpJLCB5SG1QV3praGNaOCwgcDN3MXZPOVh2MjQsIFZsYUNucDFmeEk4LCAtT2ZBMDRCRDRHQSwgMW9kWTNJWXNObm8sIHdpVFRyVnFSVkR3LCBEZm0yckItblE5WSwgUW0xRnR6OGxWbkksIDlpdEF4cV9TR0RNLCB5Rkkzd3BYeTR6QSwgUHk1SllaWEp2em8sIGI0dEU1YUtodGxnLCA1SkR4anNBVmFHaywgZVVtZkdQYXp1RU0sIFc4blRocTYyVmI0LCBWTGp2UzN1ZmxYYywgQmZkTEt2SkJNX2MsIHdlTFhkd1ZqU3hzLCAySmEtdVBPa3o3SSwgQTlRQlZGRVl4T1EsIGstWkZRa2tIVWZjLCB3dXUwRDIwQVpxSSwgX0h2aVN5Qzd6U1UsIF9feE96X1EzcVI0LCB3MnNCODdqTEUxSSwgOHJUVEVNZE1oOFEsIC1rNm1wZ214ZXJVLCA5N2NrbnJKeUxXZywgMkZJdFZ5eExOTmMsIG90bnhmY3NHRS1ZLCBzOXhMMURwQnNmUSwgd2ZBR0JWZ1Vycm8sIG5YSDZUeFEtc2k4LCBXaUkxWGdfbkV1OCwgM2ZsYXNHVlVyQ0EsIGVEWV9IZTkybGNVLCBhNDdja1hLWmp4SSwgSTZXUlhlS1pLNjQsIFQ5SjVEcVAyREt3LCBLdGtfSTBwVXBHOCwgZVEyY3pHcU9DUGcsIGhMbVU0OWhtWjRjLCA3ZjdNZ2FNRTdTYywgUUI1Qk5kQkZ1akUsIEFHaHRNVV9maTcwLCBwMlJhUVVSUkF3QSwgbXpfX0VNWXBXUHcsIDZqaEx1U1FWSXhVLCByQzgzdl91dUlxbywgNkRhR2RKUl9lTGcsIGNtNDN1WGpmdlpZLCBZMUpzUHBtMmJtUSwgejA5N2pQeUtlZW8sIFRZVlpXVVRqa3gwLCBWSGFBdmVuZlREaywgdHY5T1VfNVEwcFEsIDZvS0N2em02SG1nLCBCRUZVRVJoVDBuMCwgdVROLWV1MC1PWEUsIGhiYXByaFI3elRvLCAyQ1YwVi1vTU5GTSwgdThkU09Lb05KcDAsIEg4TXFxd21Gc3hZLCBJc2trbU5QSmRVaywgWDlIX0V6cERHWFFdXHUwMDI2ZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19tYXhfd2luZG93X3NlY29uZHNcdTAwM2Q2MFx1MDAyNmV4cGFuZF9tZWRpYXRla19kZW55bGlzdF90b19hbGxfbGl2ZV92cDlfaW5fYmFja2VuZF9leHBlcmltZW50XHUwMDNkW11cdTAwMjZleHBvcnRfbmV0d29ya2xlc3Nfb3B0aW9uc1x1MDAzZHRydWVcdTAwMjZleHBvcnRfcGxheWVyX3ZlcnNpb25fdG9feXRjb25maWdcdTAwM2R0cnVlXHUwMDI2ZmlsbF9hZHNfdXN0cmVhbWVyX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX2xpdmVfcmVxdWVzdF9jb25maWdfaW5fdXN0cmVhbWVyX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX3NpbmdsZV92aWRlb193aXRoX25vdGlmeV90b19sYXNyXHUwMDNkdHJ1ZVx1MDAyNmZpbHRlcl92Yl93aXRob3V0X25vbl92Yl9lcXVpdmFsZW50c1x1MDAzZHRydWVcdTAwMjZmaWx0ZXJfdnA5X2Zvcl9saXZlX2RhaVx1MDAzZHRydWVcdTAwMjZmaXhfYWRfbWluaXBsYXllcl9jb250cm9sc19yZW5kZXJpbmdcdTAwM2R0cnVlXHUwMDI2Zml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViXHUwMDNkdHJ1ZVx1MDAyNmZpeF9oNV90b2dnbGVfYnV0dG9uX2ExMXlcdTAwM2R0cnVlXHUwMDI2Zml4X3N1cnZleV9jb2xvcl9jb250cmFzdF9vbl9kZXN0b3BcdTAwM2R0cnVlXHUwMDI2ZnJlc2NhX3BvbGxpbmdfZGVsYXlfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2Z2FiX3JldHVybl9zYWJyX3NzZGFpX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZnZWxfbWluX2JhdGNoX3NpemVcdTAwM2QzXHUwMDI2Z2VsX3F1ZXVlX3RpbWVvdXRfbWF4X21zXHUwMDNkNjAwMDBcdTAwMjZndmlfY2hhbm5lbF9jbGllbnRfc2NyZWVuXHUwMDNkdHJ1ZVx1MDAyNmg1X2NvbXBhbmlvbl9lbmFibGVfYWRjcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5nc1x1MDAzZHRydWVcdTAwMjZoNV9lbmFibGVfYWRfbWJzXHUwMDNkdHJ1ZVx1MDAyNmg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmg1X3Jlc2V0X2NhY2hlX2FuZF9maWx0ZXJfYmVmb3JlX3VwZGF0ZV9tYXN0aGVhZFx1MDAzZHRydWVcdTAwMjZoNV96ZXJvX2R1cmF0aW9uX2N1ZV9yYW5nZV9mb3JfZGlic1x1MDAzZHRydWVcdTAwMjZoZnJfZHJvcHBlZF9mcmFtZXJhdGVfZmFsbGJhY2tfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmhpZ2hfY2N2X2NsaWVudF9zaWRlX2NhY2hpbmdfaDVcdTAwM2R0cnVlXHUwMDI2aGxzX3VzZV9uZXdfY29kZWNzX3N0cmluZ19hcGlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYWRfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9hZGFwdGF0aW9uX3N0ZXBfY291bnRcdTAwM2QwXHUwMDI2aHRtbDVfYWRzX3ByZXJvbGxfbG9ja190aW1lb3V0X2RlbGF5X21zXHUwMDNkMTUwMDBcdTAwMjZodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FsbG93X3ByZWxvYWRpbmdfd2l0aF9pZGxlX29ubHlfbmV0d29ya19mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9hbGxvd192aWRlb19rZXlmcmFtZV93aXRob3V0X2F1ZGlvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FwcGx5X2NvbnN0cmFpbnRzX2luX2NsaWVudF9mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9hcHBseV9taW5fZmFpbHVyZXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXBwbHlfc3RhcnRfdGltZV93aXRoaW5fYWRzX2Zvcl9zc2RhaV90cmFuc2l0aW9uc1x1MDAzZHRydWVcdTAwMjZodG1sNV9hdHJfZGlzYWJsZV9mb3JjZV9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9hdHRfcGxheWJhY2tfdGltZW91dF9tc1x1MDAzZDMwMDAwXHUwMDI2aHRtbDVfYXR0YWNoX251bV9yYW5kb21fYnl0ZXNfdG9fYmFuZGFpZFx1MDAzZDBcdTAwMjZodG1sNV9hdHRhY2hfcG9fdG9rZW5fdG9fYmFuZGFpZFx1MDAzZHRydWVcdTAwMjZodG1sNV9hdXRvbmF2X2NhcF9pZGxlX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcFx1MDAzZDcyMFx1MDAyNmh0bWw1X2F1dG9wbGF5X2RlZmF1bHRfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfYXV4aWxpYXJ5X2VzdGltYXRlX3dlaWdodFx1MDAzZDAuMFx1MDAyNmh0bWw1X2F2MV9vcmRpbmFsX2NhcFx1MDAzZDBcdTAwMjZodG1sNV9iYW5kYWlkX2F0dGFjaF9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Jsb2NrX3BpcF9zYWZhcmlfZGVsYXlcdTAwM2QwXHUwMDI2aHRtbDVfYnlwYXNzX2NvbnRlbnRpb25fc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2NoZWNrX2Zvcl9pZGxlX25ldHdvcmtfaW50ZXJ2YWxfbXNcdTAwM2QxMDAwXHUwMDI2aHRtbDVfY2hpcHNldF9zb2Z0X2NhcFx1MDAzZDgxOTJcdTAwMjZodG1sNV9jbGFtcF9pbnZhbGlkX3NlZWtfdG9fbWluX3NlZWthYmxlX3RpbWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfY29uc3VtZV9hbGxfYnVmZmVyZWRfYnl0ZXNfb25lX3BvbGxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfY29udGludW91c19nb29kcHV0X3Byb2JlX2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X2Q2ZGU0X2Nsb3VkX3Byb2plY3RfbnVtYmVyXHUwMDNkODY4NjE4Njc2OTUyXHUwMDI2aHRtbDVfZGVidWdfZGF0YV9sb2dfcHJvYmFiaWxpdHlcdTAwM2QwLjBcdTAwMjZodG1sNV9kZWNvZGVfdG9fdGV4dHVyZV9jYXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVmYXVsdF9hZF9nYWluXHUwMDNkMC41XHUwMDI2aHRtbDVfZGVmYXVsdF9hdjFfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmh0bWw1X2RlZmF1bHRfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfZGVmZXJfZmV0Y2hfYXR0X21zXHUwMDNkMFx1MDAyNmh0bWw1X2RlbGF5ZWRfcmV0cnlfY291bnRcdTAwM2QxXHUwMDI2aHRtbDVfZGVsYXllZF9yZXRyeV9kZWxheV9tc1x1MDAzZDUwMDBcdTAwMjZodG1sNV9kZXByZWNhdGVfYWRhcHRpdmVfZm9ybWF0c19zdHJpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX2Fkc2VydmljZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kZXByZWNhdGVfbWFuaWZlc3RmdWxfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX3ZpZGVvX3RhZ19wb29sXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rlc2t0b3BfdnIxODBfYWxsb3dfcGFubmluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoXHUwMDNkMC42XHUwMDI2aHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9jbGllbnRfYXV0b25hdl9jYXBfZm9yX29uZXNpZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX2xvb3BfcmFuZ2VfZm9yX3Nob3J0c19hZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9ub25fY29udGlndW91c1x1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3BlYWtfc2hhdmVfZm9yX29uZXNpZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3VzdHJlYW1lcl9jb25zdHJhaW50X2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfd2ViX3NhZmFyaV9kYWlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzcGxheWVkX2ZyYW1lX3JhdGVfZG93bmdyYWRlX3RocmVzaG9sZFx1MDAzZDQ1XHUwMDI2aHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2RybV9jaGVja19hbGxfa2V5X2Vycm9yX3N0YXRlc1x1MDAzZHRydWVcdTAwMjZodG1sNV9kcm1fY3BpX2xpY2Vuc2Vfa2V5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RybV9saXZlX2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9zaGFycGVyX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYWMzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hdWRpb190cmFja19zdGlja2luZXNzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hdWRpb190cmFja19zdGlja2luZXNzX3BoYXNlX3R3b1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfY2FwdGlvbl9jaGFuZ2VzX2Zvcl9tb3NhaWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2NvbXBvc2l0ZV9lbWJhcmdvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kNmRlNFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZDZkZTRfY29sZF9zdGFydF9hbmRfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2Q2ZGU0X2lkbGVfcHJpb3JpdHlfam9iXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kcmNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2RyY190b2dnbGVfYXBpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lYWMzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lbWJlZGRlZF9wbGF5ZXJfdmlzaWJpbGl0eV9zaWduYWxzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9vZHVjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2Zvcm1hdF9zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfZnJvbV93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfaG9zdF9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9vbl95dF9lbWJlZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfdm9kX3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NlcnZlcl9kcml2ZW5fcmVxdWVzdF9jYW5jZWxsYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3Nwc19yZXRyeV9iYWNrb2ZmX21ldGFkYXRhX3JlcXVlc3RzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zc2RhaV90cmFuc2l0aW9uX3dpdGhfb25seV9lbnRlcl9jdWVyYW5nZVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHJpZ2dlcmluZ19jdWVwb2ludF9mb3Jfc2xvdFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHZvc19kYXNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV90dm9zX2VuY3J5cHRlZF92cDlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5jb3VyYWdlX2FycmF5X2NvYWxlc2NpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZmlsbF9kZWZhdWx0X21vc2FpY19hdWRpb190cmFja19pZFx1MDAzZHRydWVcdTAwMjZodG1sNV9maXhlZF9tZWRpYV9kdXJhdGlvbl9mb3JfcmVxdWVzdFx1MDAzZDBcdTAwMjZodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZm9yY2Vfc2Ficl9mcm9tX3dhdGNoX3NlcnZlcl9mb3JfZGZzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9mb3J3YXJkX2NsaWNrX3RyYWNraW5nX3BhcmFtc19vbl9yZWxvYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19hZF9hdXRvcGxheV9vbl92aWRlb190b19hZF9vbmx5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZW5kZWRfdHJhbnNpdGlvbl9idWZmZXJfbXNcdTAwM2QyMDBcdTAwMjZodG1sNV9nYXBsZXNzX2hhbmRvZmZfY2xvc2VfZW5kX2xvbmdfcmVidWZmZXJfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfaGFuZG9mZl9jbG9zZV9lbmRfbG9uZ19yZWJ1ZmZlcl9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nYXBsZXNzX2xvb3Bfc2Vla19vZmZzZXRfaW5fbWlsbGlcdTAwM2QwXHUwMDI2aHRtbDVfZ2FwbGVzc19zbG93X3NlZWtfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nZW5lcmF0ZV9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2xfZnBzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzXHUwMDNkMFx1MDAyNmh0bWw1X2hkY3BfcHJvYmluZ19zdHJlYW1fdXJsXHUwMDNkXHUwMDI2aHRtbDVfaGVhZF9taXNzX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9oZnJfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfaGlkZV91bmF2YWlsYWJsZV9zdWJ0aXRsZXNfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2hpZ2hfcmVzX2xvZ2dpbmdfcGVyY2VudFx1MDAzZDAuMDFcdTAwMjZodG1sNV9oaWdoX3Jlc19zZWVrX2xvZ2dpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaG9wZWxlc3Nfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9odWxpX3NzZGFpX3VzZV9wbGF5YmFja19zdGF0ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9pZGxlX3JhdGVfbGltaXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lnbm9yZV9zYWJyc2Vla19kdXJpbmdfYWRza2lwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lubmVydHViZV9oZWFydGJlYXRzX2Zvcl9mYWlycGxheVx1MDAzZHRydWVcdTAwMjZodG1sNV9pbm5lcnR1YmVfaGVhcnRiZWF0c19mb3Jfd2lkZXZpbmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfanVtYm9fbW9iaWxlX3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldFx1MDAzZDMuMFx1MDAyNmh0bWw1X2p1bWJvX3VsbF9ub25zdHJlYW1pbmdfbWZmYV9tc1x1MDAzZDQwMDBcdTAwMjZodG1sNV9qdW1ib191bGxfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0XHUwMDNkMS4zXHUwMDI2aHRtbDVfa2FidWtpX2RybV9saXZlXzUxX2RlZmF1bHRfb2ZmXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xpY2Vuc2VfY29uc3RyYWludF9kZWxheVx1MDAzZDUwMDBcdTAwMjZodG1sNV9saXZlX2Ficl9oZWFkX21pc3NfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlX2Ficl9yZXByZWRpY3RfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlX2NodW5rX3JlYWRhaGVhZF9wcm94aW1hX292ZXJyaWRlXHUwMDNkMFx1MDAyNmh0bWw1X2xpdmVfbG93X2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvd1x1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfbm9ybWFsX2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvd1x1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZV91bHRyYV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZW5lc3NfZHJpZnRfY2h1bmtfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZW5lc3NfZHJpZnRfcHJveGltYV9vdmVycmlkZVx1MDAzZDBcdTAwMjZodG1sNV9sb2dfYXVkaW9fYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ19leHBlcmltZW50X2lkX2Zyb21fcGxheWVyX3Jlc3BvbnNlX3RvX2N0bXBcdTAwM2RcdTAwMjZodG1sNV9sb2dfZmlyc3Rfc3NkYWlfcmVxdWVzdHNfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfcmVidWZmZXJfZXZlbnRzXHUwMDNkNVx1MDAyNmh0bWw1X2xvZ19zYWJyX21hbGZvcm1lZF9jb25maWdfcHJvdG9fc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ190cmlnZ2VyX2V2ZW50c193aXRoX2RlYnVnX2RhdGFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX3Zzc19leHRyYV9scl9jcGFyYW1zX2ZyZXFcdTAwM2RcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX2ppZ2dsZV9jbXRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfbG9uZ19yZWJ1ZmZlcl90aHJlc2hvbGRfbXNcdTAwM2QzMDAwMFx1MDAyNmh0bWw1X21hbmlmZXN0bGVzc192cDlfb3RmXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X21heF9idWZmZXJfaGVhbHRoX2Zvcl9kb3duZ3JhZGVfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9idWZmZXJfaGVhbHRoX2Zvcl9kb3duZ3JhZGVfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9ieXRlcmF0ZVx1MDAzZDBcdTAwMjZodG1sNV9tYXhfZGlzY29udGludWl0eV9yZXdyaXRlX2NvdW50XHUwMDNkMFx1MDAyNmh0bWw1X21heF9kcmlmdF9wZXJfdHJhY2tfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9oZWFkbV9mb3Jfc3RyZWFtaW5nX3hoclx1MDAzZDBcdTAwMjZodG1sNV9tYXhfbGl2ZV9kdnJfd2luZG93X3BsdXNfbWFyZ2luX3NlY3NcdTAwM2Q0NjgwMC4wXHUwMDI2aHRtbDVfbWF4X3F1YWxpdHlfc2VsX3VwZ3JhZGVcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X3JlZGlyZWN0X3Jlc3BvbnNlX2xlbmd0aFx1MDAzZDgxOTJcdTAwMjZodG1sNV9tYXhfc2VsZWN0YWJsZV9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb25cdTAwM2QwXHUwMDI2aHRtbDVfbWF4aW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21lZGlhX2Z1bGxzY3JlZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfbWVkaWFfdGltZV93ZWlnaHRfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21mY19tYXhfcXVldWVfbGVuZ3RoXHUwMDNkMVx1MDAyNmh0bWw1X21mY19taW5fYnVmZmVyX2hlYWx0aFx1MDAzZDBcdTAwMjZodG1sNV9tZmNfc2Vjc19sZWZ0X3RvX3N0YXJ0X3ByZWxvYWRcdTAwM2QwXHUwMDI2aHRtbDVfbWluX2ZhaWx1cmVzX3RvX2RlbGF5X3JldHJ5XHUwMDNkM1x1MDAyNmh0bWw1X21pbl9tZWRpYV9kdXJhdGlvbl9mb3JfYXBwZW5kX3Byb3BcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5fbWVkaWFfZHVyYXRpb25fZm9yX2NhYnJfc2xpY2VcdTAwM2QwLjAxXHUwMDI2aHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3JlYWRiZWhpbmRfY2FwX3NlY3NcdTAwM2Q2MFx1MDAyNmh0bWw1X21pbl9yZWFkYmVoaW5kX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3NlY29uZHNfYmV0d2Vlbl9mb3JtYXRfc2VsZWN0aW9uc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluX3N0YXJ0dXBfYnVmZmVyZWRfbWVkaWFfZHVyYXRpb25fc2Vjc1x1MDAzZDEuMlx1MDAyNmh0bWw1X21pbl9zdGFydHVwX2R1cmF0aW9uX2xpdmVfc2Vjc1x1MDAzZDAuMjVcdTAwMjZodG1sNV9taW5fdW5kZXJydW5fYnVmZmVyZWRfcHJlX3N0ZWFkeV9zdGF0ZV9tc1x1MDAzZDBcdTAwMjZodG1sNV9taW5fdXBncmFkZV9oZWFsdGhfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHNcdTAwM2QwLjBcdTAwMjZodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlblx1MDAzZFx1MDAyNmh0bWw1X21vdmVfZGlzYWJsZV9haXJwbGF5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X25vX3BsYWNlaG9sZGVyX3JvbGxiYWNrc1x1MDAzZHRydWVcdTAwMjZodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9vZmZsaW5lX2Rvd25sb2FkX3RpbWVvdXRfcmV0cnlfbGltaXRcdTAwM2Q0XHUwMDI2aHRtbDVfb2ZmbGluZV9mYWlsdXJlX3JldHJ5X2xpbWl0XHUwMDNkMlx1MDAyNmh0bWw1X29mZmxpbmVfcGxheWJhY2tfcG9zaXRpb25fc3luY1x1MDAzZHRydWVcdTAwMjZodG1sNV9vZmZsaW5lX3ByZXZlbnRfcmVkb3dubG9hZF9kb3dubG9hZGVkX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9hdWRpb19vbmx5X3BsYXliYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9jaGVja190aW1lb3V0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfbGl2ZV90dGxfc2Vjc1x1MDAzZDhcdTAwMjZodG1sNV9vbmVzaWVfcHJld2FybV9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfcHJld2FybV9tYXhfbGFjdF9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfcmVkaXJlY3Rvcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9zZW5kX3N0cmVhbWVyX2NvbnRleHRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb3ZlcnJpZGVfbWljcm9fZGlzY29udGludWl0aWVzX3RocmVzaG9sZF9tc1x1MDAzZC0xXHUwMDI2aHRtbDVfcGFjZWRfcG9sbF9taW5faGVhbHRoX21zXHUwMDNkMFx1MDAyNmh0bWw1X3BhY2VkX3BvbGxfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcGF1c2Vfb25fbm9uZm9yZWdyb3VuZF9wbGF0Zm9ybV9lcnJvcnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGVha19zaGF2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3lcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGVyZm9ybWFuY2VfY2FwX2Zsb29yXHUwMDNkMzYwXHUwMDI2aHRtbDVfcGVyc2VydmVfYXYxX3BlcmZfY2FwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BpY3R1cmVfaW5fcGljdHVyZV9sb2dnaW5nX29ucmVzaXplX3JhdGlvXHUwMDNkMC4wXHUwMDI2aHRtbDVfcGxhdGZvcm1fbWF4X2J1ZmZlcl9oZWFsdGhfb3ZlcnNlbmRfZHVyYXRpb25fc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3BsYXRmb3JtX21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHNcdTAwM2QwLjBcdTAwMjZodG1sNV9wbGF0Zm9ybV93aGl0ZWxpc3RlZF9mb3JfZnJhbWVfYWNjdXJhdGVfc2Vla3NcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGxheWVyX2F0dF9pbml0aWFsX2RlbGF5X21zXHUwMDNkMzAwMFx1MDAyNmh0bWw1X3BsYXllcl9hdHRfcmV0cnlfZGVsYXlfbXNcdTAwM2QxNTAwXHUwMDI2aHRtbDVfcGxheWVyX2F1dG9uYXZfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9wbGF5ZXJfZXM2XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9taW5fYnVpbGRfY2xcdTAwM2QtMVx1MDAyNmh0bWw1X3BsYXllcl9wcmVsb2FkX2FkX2ZpeFx1MDAzZHRydWVcdTAwMjZodG1sNV9wb3N0X2ludGVycnVwdF9yZWFkYWhlYWRcdTAwM2QyMFx1MDAyNmh0bWw1X3ByZWZlcl9sYW5ndWFnZV9vdmVyX2NvZGVjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWZlcl9zZXJ2ZXJfYndlM1x1MDAzZHRydWVcdTAwMjZodG1sNV9wcmVsb2FkX2JlZm9yZV9pbml0aWFsX3NlZWtfd2l0aF9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWxvYWRfd2FpdF90aW1lX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9wcmV2ZW50X21vYmlsZV9iYWNrZ3JvdW5kX3BsYXlfb25fZXZlbnRfc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Byb2JlX3ByaW1hcnlfZGVsYXlfYmFzZV9tc1x1MDAzZDBcdTAwMjZodG1sNV9wcm9jZXNzX2FsbF9lbmNyeXB0ZWRfZXZlbnRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3FvZV9wcm90b19tb2NrX2xlbmd0aFx1MDAzZDBcdTAwMjZodG1sNV9xdWVyeV9zd19zZWN1cmVfY3J5cHRvX2Zvcl9hbmRyb2lkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXBcdTAwM2QwXHUwMDI2aHRtbDVfcmVjb3JkX2lzX29mZmxpbmVfb25fcGxheWJhY2tfYXR0ZW1wdF9zdGFydFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZWNvcmRfdW1wX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZWxvYWRfYnlfa2FidWtpX2FwcFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZW1vdmVfY29tbWFuZF90cmlnZ2VyZWRfY29tcGFuaW9uc1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZW1vdmVfbm90X3NlcnZhYmxlX2NoZWNrX2tpbGxzd2l0Y2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwb3J0X2ZhdGFsX2RybV9yZXN0cmljdGVkX2Vycm9yX2tpbGxzd2l0Y2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwb3J0X3Nsb3dfYWRzX2FzX2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlcHJlZGljdF9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9yZXF1ZXN0X29ubHlfaGRyX29yX3Nkcl9rZXlzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlcXVlc3Rfc2l6ZV9tYXhfa2JcdTAwM2QwXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX21pbl9rYlx1MDAzZDBcdTAwMjZodG1sNV9yZXNlZWtfYWZ0ZXJfdGltZV9qdW1wX2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXNlZWtfYWZ0ZXJfdGltZV9qdW1wX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Jlc2V0X2JhY2tvZmZfb25fdXNlcl9zZWVrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Jlc291cmNlX2JhZF9zdGF0dXNfZGVsYXlfc2NhbGluZ1x1MDAzZDEuNVx1MDAyNmh0bWw1X3Jlc3RyaWN0X3N0cmVhbWluZ194aHJfb25fc3FsZXNzX3JlcXVlc3RzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X2Rvd25sb2Fkc19mb3JfZXhwaXJhdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXRyeV9vbl9kcm1fa2V5X2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X29uX2RybV91bmF2YWlsYWJsZVx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXRyeV9xdW90YV9leGNlZWRlZF92aWFfc2Vla1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZXR1cm5fcGxheWJhY2tfaWZfYWxyZWFkeV9wcmVsb2FkZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9lbmFibGVfc2VydmVyX3h0YWdfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfZmV0Y2hfb25faWRsZV9uZXR3b3JrX3ByZWxvYWRlZF9wbGF5ZXJzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfZm9yY2VfbWF4X25ldHdvcmtfaW50ZXJydXB0aW9uX2R1cmF0aW9uX21zXHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfbGl2ZV9sb3dfbGF0ZW5jeV9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbGl2ZV90aW1pbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9sb2dfc2VydmVyX3h0YWdfc2VsZWN0aW9uX29uZXNpZV9taXNtYXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX21pbl9tZWRpYV9ieXRlc19mYWN0b3JfdG9fYXBwZW5kX2Zvcl9zdHJlYW1cdTAwM2QwLjBcdTAwMjZodG1sNV9zYWJyX25vbl9zdHJlYW1pbmdfeGhyX3JlcXVlc3RfY2FuY2VsbGF0aW9uX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0XHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfcmVwb3J0X3BhcnRpYWxfc2VnbWVudF9lc3RpbWF0ZWRfZHVyYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9yZXBvcnRfcmVxdWVzdF9jYW5jZWxsYXRpb25faW5mb1x1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3JlcXVlc3RfbGltaXRfcGVyX3BlcmlvZFx1MDAzZDIwXHUwMDI2aHRtbDVfc2Ficl9yZXF1ZXN0X29uX2NvbnN0cmFpbnRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9zZWVrX25vX3NoaWZ0X3RvbGVyYW5jZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3NraXBfY2xpZW50X2F1ZGlvX2luaXRfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfc3VjY2Vzc2Z1bF9wcm9iZV90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfdWdjX3ZvZF93ZWJfZW1iZWRkZWRfY2xpZW50X2RlZmF1bHRfYmFuZHdpZHRoX29uX2lwaG9uZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3VudXNlZF9ibG9hdF9zaXplX2J5dGVzXHUwMDNkMFx1MDAyNmh0bWw1X3NhbXN1bmdfa2FudF9saW1pdF9tYXhfYml0cmF0ZVx1MDAzZDBcdTAwMjZodG1sNV9zZWVrX2ppZ2dsZV9jbXRfZGVsYXlfbXNcdTAwM2Q4MDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfZWxlbV9kZWxheV9tc1x1MDAzZDEyMDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfZWxlbV9zaG9ydHNfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfZWxlbWVudF9zaG9ydHNfcmV1c2VfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX2VsZW1lbnRfc2hvcnRzX3JldXNlX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX3NvdXJjZV9zaG9ydHNfcmV1c2VfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX3NvdXJjZV9zaG9ydHNfcmV1c2VfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Vla19zZXRfY210X2RlbGF5X21zXHUwMDNkMjAwMFx1MDAyNmh0bWw1X3NlZWtfdGltZW91dF9kZWxheV9tc1x1MDAzZDIwMDAwXHUwMDI2aHRtbDVfc2VuZF9jdWVwb2ludF9pZF9pbl9hZF9icmVha19yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlbmRfc2VyaWFsaXplZF9vbmVfdGltZV9xb2VfY29udGV4dF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlcnZlX3N0YXJ0X3NlY29uZHNfc2Vla19mb3JfcG9zdF9saXZlX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VydmVyX3N0aXRjaGVkX2RhaV9kZWNvcmF0ZWRfdXJsX3JldHJ5X2xpbWl0XHUwMDNkNVx1MDAyNmh0bWw1X3Nlc3Npb25fcG9fdG9rZW5faW50ZXJ2YWxfdGltZV9tc1x1MDAzZDkwMDAwMFx1MDAyNmh0bWw1X3NldF92aWRlb19pZF9hc19leHBlY3RlZF9jb250ZW50X2JpbmRpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3NfYWRfc2xvd19zdGFydF9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3NfYWRfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19uZXh0X2J1ZmZlcl9pbl9zZWNvbmRzXHUwMDNkMFx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX25vX2dsbGF0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX3Nsb3dfc3RhcnRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2hvd19kcmNfdG9nZ2xlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NpbXBsaWZpZWRfYmFja3VwX3RpbWVvdXRfc2Ficl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NraXBfZW1wdHlfcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2tpcF9zbG93X2FkX2RlbGF5X21zXHUwMDNkMTUwMDBcdTAwMjZodG1sNV9zbG93X3N0YXJ0X25vX21lZGlhX3NvdXJjZV9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zbG93X3N0YXJ0X3RpbWVvdXRfZGVsYXlfbXNcdTAwM2QyMDAwMFx1MDAyNmh0bWw1X3NzZGFpX2VuYWJsZV9tZWRpYV9lbmRfY3VlX3JhbmdlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NzZGFpX2ZhaWx1cmVfcmV0cnlfbGltaXRcdTAwM2QwXHUwMDI2aHRtbDVfc3NkYWlfbG9nX21pc3NpbmdfYWRfY29uZmlnX3JlYXNvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zdGFsbF9mYWN0b3JcdTAwM2QwLjBcdTAwMjZodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3NcdTAwM2QwXHUwMDI2aHRtbDVfc3RvcmVfeGhyX2hlYWRlcnNfcmVhZGFibGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RyZWFtaW5nX3Jlc2lsaWVuY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RyZWFtaW5nX3hocl90aW1lX2Jhc2VkX2NvbnNvbGlkYXRpb25fbXNcdTAwM2QtMVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX2xvYWRfc3BlZWRfY2hlY2tfaW50ZXJ2YWxcdTAwM2QwLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9taW5fYnVmZmVyX2hlYWx0aF9zZWNzXHUwMDNkMC4yNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3Nfb25fdGltZW91dFx1MDAzZDAuMVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9sb2FkX3NwZWVkXHUwMDNkMS41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfc2Vla19sYXRlbmN5X2Z1ZGdlXHUwMDNkMC41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0X2J1ZmZlcl9oZWFsdGhfc2Vjc1x1MDAzZDAuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RpbWVvdXRfc2Vjc1x1MDAzZDIuMFx1MDAyNmh0bWw1X3RyYWNrX292ZXJzaG9vdFx1MDAzZHRydWVcdTAwMjZodG1sNV90cmFuc2Zlcl9wcm9jZXNzaW5nX2xvZ3NfaW50ZXJ2YWxcdTAwM2QxMDAwXHUwMDI2aHRtbDVfdHJpZ2dlcl9sb2FkZXJfd2hlbl9pZGxlX25ldHdvcmtcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdWdjX2xpdmVfYXVkaW9fNTFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdWdjX3ZvZF9hdWRpb181MVx1MDAzZHRydWVcdTAwMjZodG1sNV91bnJlcG9ydGVkX3NlZWtfcmVzZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3VwZGF0ZV90aW1lX29uX3NlZWtlZFx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX2luaXRfc2VsZWN0ZWRfYXVkaW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX25vbl9hY3RpdmVfYnJvYWRjYXN0X2Zvcl9wb3N0X2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3Bvc3RfZm9yX21lZGlhXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV91bXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlclx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdW1wX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdmlkZW9fcXVhbGl0eV9jYXBfZm9yX3VzdHJlYW1lcl9jb25zdHJhaW50XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV92aWRlb190cmFuc2l0aW9uX2VuZHBvaW50X2hlYXJ0YmVhdFx1MDAzZHRydWVcdTAwMjZodG1sNV92aWRlb190YmRfbWluX2tiXHUwMDNkMFx1MDAyNmh0bWw1X3ZpZXdwb3J0X3VuZGVyc2VuZF9tYXhpbXVtXHUwMDNkMC4wXHUwMDI2aHRtbDVfdm9sdW1lX3NsaWRlcl90b29sdGlwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkc1x1MDAzZFtdXHUwMDI2aHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5XHUwMDNkXHUwMDI2aHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV93ZWJwb19pZGxlX3ByaW9yaXR5X2pvYlx1MDAzZHRydWVcdTAwMjZodG1sNV93ZWJwb19rYWlvc19kZWZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X3dvZmZsZV9yZXN1bWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd29ya2Fyb3VuZF9kZWxheV90cmlnZ2VyXHUwMDNkdHJ1ZVx1MDAyNmlkYl9pbW1lZGlhdGVfY29tbWl0XHUwMDNkdHJ1ZVx1MDAyNmlnbm9yZV9vdmVybGFwcGluZ19jdWVfcG9pbnRzX29uX2VuZGVtaWNfbGl2ZV9odG1sNVx1MDAzZHRydWVcdTAwMjZpbF9hdHRhY2hfY2FjaGVfbGltaXRcdTAwM2R0cnVlXHUwMDI2aWxfcGF5bG9hZF9zY3JhcGluZ1x1MDAzZFx1MDAyNmlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dFx1MDAzZHRydWVcdTAwMjZpbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0XHUwMDNkMjAwMFx1MDAyNmluamVjdGVkX2xpY2Vuc2VfaGFuZGxlcl9lcnJvcl9jb2RlXHUwMDNkMFx1MDAyNmluamVjdGVkX2xpY2Vuc2VfaGFuZGxlcl9saWNlbnNlX3N0YXR1c1x1MDAzZDBcdTAwMjZpb3NfYW5kX2FuZHJvaWRfZnJlc2NhX3BvbGxpbmdfZGVsYXlfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aXRkcm1fYWx3YXlzX3VzZV93aWRldmluZV9zZGtcdTAwM2R0cnVlXHUwMDI2aXRkcm1fZGlzYWJsZV9leHRlcm5hbF9rZXlfcm90YXRpb25fc3lzdGVtX2lkc1x1MDAzZFtdXHUwMDI2aXRkcm1fZW5hYmxlX3Jldm9jYXRpb25fcmVwb3J0aW5nXHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX2luamVjdGVkX2xpY2Vuc2Vfc2VydmljZV9lcnJvcl9jb2RlXHUwMDNkMFx1MDAyNml0ZHJtX3NldF9zYWJyX2xpY2Vuc2VfY29uc3RyYWludFx1MDAzZHRydWVcdTAwMjZpdGRybV91c2VfZmFpcnBsYXlfc2RrXHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3VzZV93aWRldmluZV9zZGtfZm9yX3ByZW1pdW1fY29udGVudFx1MDAzZHRydWVcdTAwMjZpdGRybV93aWRldmluZV9oYXJkZW5lZF92bXBfbW9kZVx1MDAzZGxvZ1x1MDAyNmpzb25fY29uZGVuc2VkX3Jlc3BvbnNlXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9jb21tYW5kX2hhbmRsZXJfY29tbWFuZF9iYW5saXN0XHUwMDNkW11cdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5faWRlYWxfdGlsZV93aWR0aF9wZXJjZW50YWdlXHUwMDNkMC4yN1x1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9tYXhfcm93c1x1MDAzZDJcdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5fbWF4X3dpZHRoXHUwMDNkNTAwXHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX21pbl93aWR0aFx1MDAzZDIwMFx1MDAyNmtldmxhcl9nZWxfZXJyb3Jfcm91dGluZ1x1MDAzZHRydWVcdTAwMjZrZXZsYXJfbWluaXBsYXllcl9leHBhbmRfdG9wXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW1cdTAwM2R0cnVlXHUwMDI2a2V2bGFyX3BsYXliYWNrX2Fzc29jaWF0ZWRfcXVldWVcdTAwM2R0cnVlXHUwMDI2bGF1bmNoX2xpY2Vuc2Vfc2VydmljZV9hbGxfb3R0X3ZpZGVvc19hdXRvbWF0aWNfZmFpbF9vcGVuXHUwMDNkdHJ1ZVx1MDAyNmxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemVcdTAwM2R0cnVlXHUwMDI2bGl2ZV9jaGF0X2VuYWJsZV9ydGFfbWFuYWdlclx1MDAzZHRydWVcdTAwMjZsaXZlX2NodW5rX3JlYWRhaGVhZFx1MDAzZDNcdTAwMjZsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyXHUwMDNkdHJ1ZVx1MDAyNmxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvblx1MDAzZDAuMVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmVcdTAwM2R0cnVlXHUwMDI2bWFuaWZlc3RsZXNzX3Bvc3RfbGl2ZV91ZnBoXHUwMDNkdHJ1ZVx1MDAyNm1heF9ib2R5X3NpemVfdG9fY29tcHJlc3NcdTAwM2Q1MDAwMDBcdTAwMjZtYXhfY2RmZV9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2bWF4X3ByZWZldGNoX3dpbmRvd19zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uXHUwMDNkMTBcdTAwMjZtYXhfcmVzb2x1dGlvbl9mb3Jfd2hpdGVfbm9pc2VcdTAwM2QzNjBcdTAwMjZtZHhfZW5hYmxlX3ByaXZhY3lfZGlzY2xvc3VyZV91aVx1MDAzZHRydWVcdTAwMjZtZHhfbG9hZF9jYXN0X2FwaV9ib290c3RyYXBfc2NyaXB0XHUwMDNkdHJ1ZVx1MDAyNm1pbl9wcmVmZXRjaF9vZmZzZXRfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvblx1MDAzZDIwXHUwMDI2bXRhX2RyY19tdXR1YWxfZXhjbHVzaW9uX3JlbW92YWxcdTAwM2R0cnVlXHUwMDI2bXVzaWNfZW5hYmxlX3NoYXJlZF9hdWRpb190aWVyX2xvZ2ljXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZGVidWdfc3RpY2t5X3NldHRpbmdzXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZW5hYmxlX2NsaWNrX3RvX3BsYXlfcGF1c2VcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfZmluZV9zY3J1YmJpbmdfZm9yX3JlY3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfbW9yZV9jaHVua3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfcGxheWVyX2NvbnRyb2xfb25faG92ZXJcdTAwM2R0cnVlXHUwMDI2bXdlYl9wcm9ncmVzc19iYXJfc2Vla19vbl9tb3VzZV9jbGlja1x1MDAzZHRydWVcdTAwMjZtd2ViX3Nob3J0c19jb21tZW50c19wYW5lbF9pZF9jaGFuZ2VcdTAwM2R0cnVlXHUwMDI2bXdlYl91c2VfbWljcm9mb3JtYXRfdGl0bGVfZm9yX3Bvc3RzXHUwMDNkdHJ1ZVx1MDAyNm5ldHdvcmtfcG9sbGluZ19pbnRlcnZhbFx1MDAzZDMwMDAwXHUwMDI2bmV0d29ya2xlc3NfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZuZXdfY29kZWNzX3N0cmluZ19hcGlfdXNlc19sZWdhY3lfc3R5bGVcdTAwM2R0cnVlXHUwMDI2bm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd25cdTAwM2R0cnVlXHUwMDI2bm9fZmlsbGVyX3ZpZGVvX2Zvcl9zc2FfcGxheWJhY2tzXHUwMDNkdHJ1ZVx1MDAyNm92ZXJyaWRlX2RybV9yZXF1aXJlZF9wbGF5YmFja19wb2xpY3lfY2hhbm5lbHNcdTAwM2RbXVx1MDAyNnBhZ2VpZF9hc19oZWFkZXJfd2ViXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9hZHNfc2V0X2FkZm9ybWF0X29uX2NsaWVudFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfYm9vdHN0cmFwX21ldGhvZFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfY29udHJvbHNfdXNlX3BsYXllcl9hcGlfY29udGV4dFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfY29udHJvbHNfdm9sdW1lX2NvbnRyb2xzX3VzZV9wbGF5ZXJfcHJvcHNcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb25cdTAwM2R0cnVlXHUwMDI2cGxheWVyX2VuYWJsZV9wbGF5YmFja19wbGF5bGlzdF9jaGFuZ2VcdTAwM2R0cnVlXHUwMDI2cGxheWVyX25ld19pbmZvX2NhcmRfZm9ybWF0XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl91bmRlcmxheV9taW5fcGxheWVyX3dpZHRoXHUwMDNkNzY4LjBcdTAwMjZwbGF5ZXJfdW5kZXJsYXlfdmlkZW9fd2lkdGhfZnJhY3Rpb25cdTAwM2QwLjZcdTAwMjZwbGF5ZXJfd2ViX2NhbmFyeV9zdGFnZVx1MDAzZDBcdTAwMjZwbGF5cmVhZHlfZmlyc3RfcGxheV9leHBpcmF0aW9uXHUwMDNkLTFcdTAwMjZwb2RjYXN0c192aWRlb3N0YXRzX2RlZmF1bHRfZmx1c2hfaW50ZXJ2YWxfc2Vjb25kc1x1MDAzZDBcdTAwMjZwb2x5bWVyX2JhZF9idWlsZF9sYWJlbHNcdTAwM2R0cnVlXHUwMDI2cG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZVx1MDAzZHRydWVcdTAwMjZwb3B1bGF0ZV9mb3JtYXRfc2V0X2luZm9faW5fY2RmZV9mb3JtYXRzXHUwMDNkdHJ1ZVx1MDAyNnByZXNraXBfYnV0dG9uX3N0eWxlX2Fkc19iYWNrZW5kXHUwMDNkXHUwMDI2cHJveGltYV9hdXRvX3RocmVzaG9sZF9tYXhfbmV0d29ya19pbnRlcnJ1cHRpb25fZHVyYXRpb25fbXNcdTAwM2QwXHUwMDI2cHJveGltYV9hdXRvX3RocmVzaG9sZF9taW5fYmFuZHdpZHRoX2VzdGltYXRlX2J5dGVzX3Blcl9zZWNcdTAwM2QwXHUwMDI2cW9lX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnF1YWxpdHlfY2FwX2Zvcl9pbmxpbmVfbm9uX2FwcF9hZHNcdTAwM2QwXHUwMDI2cXVhbGl0eV9jYXBfZm9yX2lubGluZV9wbGF5YmFja1x1MDAzZDBcdTAwMjZxdWFsaXR5X2NhcF9mb3JfaW5saW5lX3BsYXliYWNrX2Fkc1x1MDAzZDBcdTAwMjZyZWFkX2FoZWFkX21vZGVsX25hbWVcdTAwM2RcdTAwMjZyZWplY3RfaGlkZGVuX2xpdmVfZm9ybWF0c1x1MDAzZHRydWVcdTAwMjZyZWplY3RfbGl2ZV92cDlfbXFfY2xlYXJfd2l0aF9ub19hYnJfbGFkZGVyXHUwMDNkdHJ1ZVx1MDAyNnJlbGF4X2JnX25vdGlmaWNhdGlvbl90aHJvdHRsaW5nXHUwMDNkdHJ1ZVx1MDAyNnJlbW92ZV9jaGV2cm9uX2Zyb21fYWRfZGlzY2xvc3VyZV9iYW5uZXJfaDVcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX21hc3RoZWFkX2NoYW5uZWxfYmFubmVyX29uX3JlZnJlc2hcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX3Nsb3RfaWRfZXhpdGVkX3RyaWdnZXJfZm9yX2RhaV9pbl9wbGF5ZXJfc2xvdF9leHBpcmVcdTAwM2R0cnVlXHUwMDI2cmVwbGFjZV9wbGF5YWJpbGl0eV9yZXRyaWV2ZXJfaW5fd2F0Y2hcdTAwM2R0cnVlXHUwMDI2cm9zY2FzXHUwMDNkdHJ1ZVx1MDAyNnNhYnJfZW5hYmxlX2hvc3RfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2c2VsZl9wb2RkaW5nX2hlYWRlcl9zdHJpbmdfdGVtcGxhdGVcdTAwM2RzZWxmX3BvZGRpbmdfaW50ZXJzdGl0aWFsX21lc3NhZ2VcdTAwMjZzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2Vfc3RyaW5nX3RlbXBsYXRlXHUwMDNkc2VsZl9wb2RkaW5nX21pZHJvbGxfY2hvaWNlXHUwMDI2c2VuZF9jb25maWdfaGFzaF90aW1lclx1MDAzZDBcdTAwMjZzZXJ2ZV9hZGFwdGl2ZV9mbXRzX2Zvcl9saXZlX3N0cmVhbXNcdTAwM2R0cnVlXHUwMDI2c2V0X21vY2tfaWRfYXNfZXhwZWN0ZWRfY29udGVudF9iaW5kaW5nXHUwMDNkXHUwMDI2c2hlbGxfbG9hZF9nY2ZcdTAwM2R0cnVlXHUwMDI2c2hvcnRlbl9pbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0XHUwMDNkdHJ1ZVx1MDAyNnNob3J0c19tb2RlX3RvX3BsYXllcl9hcGlcdTAwM2R0cnVlXHUwMDI2c2hvdWxkX2F0dHJpYnV0ZV90b193YXRjaF93aXRoX3NvdXJjZVx1MDAzZFtdXHUwMDI2c2hvdWxkX2F0dHJpYnV0ZV92aWV3c190b193YXRjaF93aXRoX3NvdXJjZVx1MDAzZHRydWVcdTAwMjZzaW1wbHlfZW1iZWRkZWRfZW5hYmxlX2JvdGd1YXJkXHUwMDNkdHJ1ZVx1MDAyNnNsb3dfY29tcHJlc3Npb25zX2JlZm9yZV9hYmFuZG9uX2NvdW50XHUwMDNkNFx1MDAyNnNtYWxsX2F2YXRhcnNfZm9yX2NvbW1lbnRzXHUwMDNkdHJ1ZVx1MDAyNnNtYXJ0X3NraXBfd2ViX3BsYXllcl9iYXJfbWluX2hvdmVyX2xlbmd0aF9taWxsaXNlY29uZHNcdTAwM2QxMDAwXHUwMDI2c21hcnRlcl92ZV9kZWR1cHBpbmdcdTAwM2R0cnVlXHUwMDI2c3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwXHUwMDNkMTBcdTAwMjZzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlXHUwMDNkMi4wXHUwMDI2c3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tc1x1MDAzZDUwMFx1MDAyNnN0b3BfaGFuZGxpbmdfY2xpY2tfZm9yX25vbl9yZW5kZXJpbmdfb3ZlcmxheV9sYXlvdXRcdTAwM2R0cnVlXHUwMDI2c3RyZWFtaW5nX2RhdGFfZW1lcmdlbmN5X2l0YWdfYmxhY2tsaXN0XHUwMDNkW11cdTAwMjZzdWJzdGl0dXRlX2FkX2Nwbl9tYWNyb19pbl9zc2RhaVx1MDAzZHRydWVcdTAwMjZzdXBwcmVzc19lcnJvcl8yMDRfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZ0cmltX2FkYXB0aXZlX2Zvcm1hdHNfc2lnbmF0dXJlX2NpcGhlcl9mb3Jfc2Ficl9jb250ZW50XHUwMDNkdHJ1ZVx1MDAyNnR2aHRtbDVfdW5wbHVnZ2VkX3ByZWxvYWRfY2FjaGVfc2l6ZVx1MDAzZDVcdTAwMjZ1c2VfY3VlX3JhbmdlX21hcmtlcl9wb3NpdGlvblx1MDAzZHRydWVcdTAwMjZ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXJcdTAwM2R0cnVlXHUwMDI2dXNlX2V4dHJhX3JlYWRhaGVhZF9ub3JtYWxfbGF0ZW5jeV9mcmFtZV9sZXZlbF9zdHJlYW1pbmdfaW5fYmFja2VuZF9leHBlcmltZW50XHUwMDNkWzQ1Nzk3MTUxXVx1MDAyNnVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZ1c2VfZ2VuZXJhdGVkX21lZGlhX2tleXNfaW5fZmFpcnBsYXlfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2dXNlX2lubGluZWRfcGxheWVyX3JwY1x1MDAzZHRydWVcdTAwMjZ1c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNnVzZV9wbGF5YWJpbGl0eV9yZXN1bHRfZm9yX2Nhbl9wbGF5X3N0YXR1c1x1MDAzZHRydWVcdTAwMjZ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfcnRhX2Zvcl9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2dXNlX3Nlc3Npb25fYmFzZWRfc2FtcGxpbmdcdTAwM2R0cnVlXHUwMDI2dXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlXHUwMDNkdHJ1ZVx1MDAyNnZhcmlhYmxlX2J1ZmZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNnZwOV9kcm1fbGl2ZVx1MDAzZHRydWVcdTAwMjZ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnZzc191c2VfcG9zdF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNndlYl9hcGlfdXJsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGVcdTAwM2Q1MDAuMFx1MDAyNndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNndlYl9idXR0b25fdm1fcmVmYWN0b3JfZGlzYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlXHUwMDNkXHUwMDI2d2ViX2NvbGxlY3Rfb2ZmbGluZV9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9kZWR1cGVfdmVfZ3JhZnRpbmdcdTAwM2R0cnVlXHUwMDI2d2ViX2Rpc2FibGVfY2FwdGlvbl9vcGFjaXR5X2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZGlzYWJsZV9jaGlwX3ZpZXdfbW9kZWxfbXV0YXRpb25cdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9hYl9yc3BfY2xcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9jYXB0aW9uX2xhbmd1YWdlX3ByZWZlcmVuY2Vfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2NhcHRpb25zX3NldF90YXJnZXRfY29udGFpbmVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9lcnJvcl8yMDRcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9rZXlib2FyZF9zaG9ydGN1dF9mb3JfdGltZWx5X2FjdGlvbnNcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9sYXp5X2Nzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3Nob3BwaW5nX3RpbWVseV9zaGVsZl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9zbWFsbF9zcGVlZG1hc3Rlclx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3RpbWVseV9hY3Rpb25zXHUwMDNkdHJ1ZVx1MDAyNndlYl9maXhfZmluZV9zY3J1YmJpbmdfZmFsc2VfcGxheVx1MDAzZHRydWVcdTAwMjZ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXNcdTAwM2QyODAwMFx1MDAyNndlYl9mdWxsc2NyZWVuX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZnVsbHNjcmVlbl9zaG9ydHNfbWVudV9pdGVtXHUwMDNkdHJ1ZVx1MDAyNndlYl9nY2ZfaGFzaGVzX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZ3ZWJfZ2VsX2RlYm91bmNlX21zXHUwMDNkMTAwMDBcdTAwMjZ3ZWJfZ2VsX3RpbWVvdXRfY2FwXHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX25leHRfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX3dhdGNoX2luZm9fZW1wdHlcdTAwM2R0cnVlXHUwMDI2d2ViX2hpZGVfeW91cl9kYXRhX29uX2F1dG9tb3RpdmVcdTAwM2R0cnVlXHUwMDI2d2ViX2xvYWRfcHJlZGljdGlvbl90aHJlc2hvbGRcdTAwM2QwLjNcdTAwMjZ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2hcdTAwM2QxMDBcdTAwMjZ3ZWJfbWF4X3RyYWNpbmdfZXZlbnRzXHUwMDNkNTBcdTAwMjZ3ZWJfbW9ub21lcl93ZWJfY29tcG9uZW50X3dyYXBwZXJfaGFuZGxlX2Vycm9yc1x1MDAzZHRydWVcdTAwMjZ3ZWJfbmF2aWdhdGlvbl9wcmVkaWN0aW9uX3RocmVzaG9sZFx1MDAzZDAuMVx1MDAyNndlYl9ub25fbmF2aWdhdGluZ19hdGFnXHUwMDNkdHJ1ZVx1MDAyNndlYl9vcF9zaWduYWxfdHlwZV9iYW5saXN0XHUwMDNkW11cdTAwMjZ3ZWJfcGxheWJhY2tfYXNzb2NpYXRlZF92ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2FwaV9sb2dnaW5nX2ZyYWN0aW9uXHUwMDNkMC4wMVx1MDAyNndlYl9wbGF5ZXJfYmlnX21vZGVfc2NyZWVuX3dpZHRoX2N1dG9mZlx1MDAzZDQwMDFcdTAwMjZ3ZWJfcGxheWVyX2RlZmF1bHRfcGVla2luZ19weFx1MDAzZDM2XHUwMDI2d2ViX3BsYXllcl9kaXNhYmxlX2dyaWRfb25fb2ZmbGluZV9zbGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2VuYWJsZV9mZWF0dXJlZF9wcm9kdWN0X2Jhbm5lcl9leGNsdXNpdmVzX29uX2Rlc2t0b3BcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9lbmFibGVfZmVhdHVyZWRfcHJvZHVjdF9iYW5uZXJfcHJvbW90aW9uX3RleHRfb25fZGVza3RvcFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2Zyb3N0ZWRfZ2xhc3NfYmx1cl9yYWRpdXNcdTAwM2QxNlx1MDAyNndlYl9wbGF5ZXJfZnJvc3RlZF9nbGFzc19ibHVyX3JhZGl1c19mbG9hdFx1MDAzZDE2LjBcdTAwMjZ3ZWJfcGxheWVyX2lubmVydHViZV9wbGF5bGlzdF91cGRhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9pbnZpc2libGVfZnVsbHNjcmVlbl9idXR0b25cdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9pcHBfY2FuYXJ5X3R5cGVfZm9yX2xvZ2dpbmdcdTAwM2RcdTAwMjZ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtc1x1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX21pbmlwbGF5ZXJfaW5fY29udGV4dF9tZW51XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbW91c2VfaWRsZV93YWl0X3RpbWVfbXNcdTAwM2QzMDAwXHUwMDI2d2ViX3BsYXllcl9tdXNpY192aXN1YWxpemVyX3RyZWF0bWVudFx1MDAzZGZha2VcdTAwMjZ3ZWJfcGxheWVyX29mZmxpbmVfcGxheWxpc3RfYXV0b19yZWZyZXNoXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcGxheWFibGVfc2VxdWVuY2VzX3JlZmFjdG9yXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcXVpY2tfaGlkZV90aW1lb3V0X21zXHUwMDNkMjUwXHUwMDI2d2ViX3BsYXllcl9zZWVrX2NoYXB0ZXJzX2J5X3Nob3J0Y3V0XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2FkZGl0aW9uYWxfYXJyb3dfdGhyZXNob2xkXHUwMDNkMjAwXHUwMDI2d2ViX3BsYXllcl9zZWVrX292ZXJsYXlfZHVyYXRpb25fYnVtcF9zY2FsZVx1MDAzZDAuOVx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2xpbmdlcl9kdXJhdGlvblx1MDAzZDEwMDBcdTAwMjZ3ZWJfcGxheWVyX3NlbnRpbmVsX2lzX3VuaXBsYXllclx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3Nob3dfbXVzaWNfaW5fdGhpc192aWRlb19ncmFwaGljXHUwMDNkdmlkZW9fdGh1bWJuYWlsXHUwMDI2d2ViX3BsYXllcl9zc19kYWlfYWRfZmV0Y2hpbmdfdGltZW91dF9tc1x1MDAzZDE1MDAwXHUwMDI2d2ViX3BsYXllcl90b3VjaF9pZGxlX3dhaXRfdGltZV9tc1x1MDAzZDQwMDBcdTAwMjZ3ZWJfcGxheWVyX3RyYW5zZmVyX3RpbWVvdXRfdGhyZXNob2xkX21zXHUwMDNkMTA4MDAwMDBcdTAwMjZ3ZWJfcGxheWVyX3VwZGF0ZWRfZW50cnlwb2ludFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9jaW5lbWF0aWNfbGFiZWxfMlx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9uZXdfYXBpX2Zvcl9xdWFsaXR5X3B1bGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdXNlX3NjcmVlbl93aWR0aF9mb3JfYmlnX21vZGVcdTAwM2R0cnVlXHUwMDI2d2ViX3ByZWZldGNoX3ByZWxvYWRfdmlkZW9cdTAwM2R0cnVlXHUwMDI2d2ViX3Byb2dyZXNzX2Jhcl9kcmFnZ2FibGVcdTAwM2R0cnVlXHUwMDI2d2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9yZW1peF9hbGxvd191cF90b18zeF9wbGF5YmFja19yYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9yZW1vdmVfYnJva2VuX3N1YnNjcmliZV9lbmRzY3JlZW5cdTAwM2R0cnVlXHUwMDI2d2ViX3Nlc3Npb25fcmVwbGF5X21vdXNlbW92ZV9pbnRlcnZhbFx1MDAzZDBcdTAwMjZ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2Nyb2xsX2ludGVydmFsXHUwMDNkMFx1MDAyNndlYl9zZXNzaW9uX3JlcGxheV9zZW5kX2FmdGVyX3RpbWVvdXRcdTAwM2QwXHUwMDI2d2ViX3NldHRpbmdzX21lbnVfc3VyZmFjZV9jdXN0b21fcGxheWJhY2tcdTAwM2R0cnVlXHUwMDI2d2ViX3NldHRpbmdzX3VzZV9pbnB1dF9zbGlkZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3Nob3J0c19hdWRpb190cmFja19waWNrZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3RyYWNpbmdfZW5hYmxlZF9zcGFuc1x1MDAzZFtldmVudCwgY29tbWFuZF1cdTAwMjZ3ZWJfdHJhY2luZ19zZXNzaW9uX3JlcGxheVx1MDAzZDBcdTAwMjZ3ZWJfdW5pZmllZF9mZXRjaFx1MDAzZHRydWVcdTAwMjZ3ZWJfd2F0Y2hfZGlzYWJsZV9hY2NvdW50X2xldmVsX2NhcHRpb25zX3NldHRpbmdzXHUwMDNkdHJ1ZVx1MDAyNndlYnBvX2V4aXRfb25fbmV0X2Vyclx1MDAzZHRydWVcdTAwMjZ3aWxfaWNvbl9tYXhfY29uY3VycmVudF9mZXRjaGVzXHUwMDNkOTk5OVx1MDAyNndpel9kaWZmX292ZXJ3cml0YWJsZVx1MDAzZHRydWVcdTAwMjZ3aXpfd3JhcHBlcl9jYWxsYmFja19wcm9wc19maXhcdTAwM2R0cnVlXHUwMDI2d29mZmxlX2VuYWJsZV9kb3dubG9hZF9zdGF0dXNcdTAwM2R0cnVlXHUwMDI2d3JpdGVfcmVsb2FkX3BsYXllcl9yZXNwb25zZV90b2tlbl90b191c3RyZWFtZXJfY29uZmlnX2Zvcl92b2RcdTAwM2R0cnVlXHUwMDI2d3NfYXYxX21heF9oZWlnaHRfZmxvb3JcdTAwM2QwXHUwMDI2d3NfYXYxX21heF93aWR0aF9mbG9vclx1MDAzZDBcdTAwMjZ3c191c2VfY2VudHJhbGl6ZWRfaHFhX2ZpbHRlclx1MDAzZHRydWVcdTAwMjZ3dWdfbmV0d29ya2luZ19nemlwX3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2eXRjc2lfZGVidWdfbWF4X3NpemVcdTAwM2QxMDBcdTAwMjZ5dGlkYl9yZW1ha2VfZGJfcmV0cmllc1x1MDAzZDFcdTAwMjZ5dGlkYl9yZW9wZW5fZGJfcmV0cmllc1x1MDAzZDBcdTAwMjZ5dGlkYl90cmFuc2FjdGlvbl9lbmRlZF9ldmVudF9yYXRlX2xpbWl0XHUwMDNkMC4wMiIsInN0YXJ0TXV0ZWQiOmZhbHNlLCJtb2JpbGVJcGhvbmVTdXBwb3J0c0lubGluZVBsYXliYWNrIjp0cnVlLCJpc01vYmlsZURldmljZSI6ZmFsc2UsImNzcE5vbmNlIjoiRFM4MVhWZkVNemlkVy1DYXI2VWdOUSIsImNhbmFyeVN0YXRlIjoibm9uZSIsImVuYWJsZUNzaUxvZ2dpbmciOnRydWUsImxvYWRlclVybCI6Imh0dHBzOi8vaWZ4YnJva2VydHJhZGVzLmNvLnphLyIsImRpc2FibGVBdXRvbmF2IjpmYWxzZSwiaXNFbWJlZCI6dHJ1ZSwiZGlzYWJsZUNhc3RBcGkiOmZhbHNlLCJzZXJpYWxpemVkRW1iZWRDb25maWciOiJ7fSIsImRpc2FibGVNZHhDYXN0IjpmYWxzZSwiZGF0YXN5bmNJZCI6IlZhM2I3MjlhZXx8Iiwic3RvcmVVc2VyVm9sdW1lIjp0cnVlLCJkaXNhYmxlUGFpZENvbnRlbnRPdmVybGF5Ijp0cnVlLCJlbmNyeXB0ZWRIb3N0RmxhZ3MiOiJBQ21ibEJXWW1oQnRPc2NhOERNc3Z0WWNmNmZOcWdsck9pVGN6VVpmWkZTRE9PSWNqRE5wbVR2Nlh6TDBkcmhsU3lzck5GbTc0UDM1UmZ6eS1VOFprZnJrVExCRUVFN1Zrc0x0dENxc3MwNUZFQ3Z1ZE9oSEw4WGI0N0lJb3hnOU1scEpnZyIsImNhbmFyeVN0YWdlIjoiIiwidHJ1c3RlZEpzVXJsIjp7InByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSI6Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIn0sInRydXN0ZWRDc3NVcmwiOnsicHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlIjoiL3MvcGxheWVyLzdhNzk2OWMyL3d3dy1wbGF5ZXIuY3NzIn0sImhvdXNlQnJhbmRVc2VyU3RhdHVzIjoibm90X3ByZXNlbnQiLCJlbWJlZHNFbmFibGVFbWMzZHMiOnRydWUsImRpc2FibGVPcmdhbmljVWkiOnRydWUsImVuYWJsZVNhYnJPbkVtYmVkIjpmYWxzZSwic2VyaWFsaXplZENsaWVudEV4cGVyaW1lbnRGbGFncyI6IjQ1NzE4MTc1XHUwMDNkMC4wXHUwMDI2NDU3MTgxNzZcdTAwM2QwLjAxXHUwMDI2NDU3MjU1MzhcdTAwM2QwLjBcdTAwMjY0NTcyNTUzOVx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQwXHUwMDNkMC4wXHUwMDI2NDU3MjU1NDFcdTAwM2QwLjBcdTAwMjY0NTcyNTU0Mlx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQzXHUwMDNkMC4wXHUwMDI2NDU3Mjg1NTNcdTAwM2R0cnVlXHUwMDI2NDU3Mjg1NzJcdTAwM2R0cnVlXHUwMDI2NDU3MjkyMTVcdTAwM2R0cnVlXHUwMDI2NDU3MzI3MDRcdTAwM2R0cnVlXHUwMDI2NDU3MzI3OTFcdTAwM2R0cnVlXHUwMDI2NDU3MzU0MjhcdTAwM2Q0MDAwLjBcdTAwMjY0NTczNzQ4OFx1MDAzZDAuMFx1MDAyNjQ1NzM3NDg5XHUwMDNkMC4wXHUwMDI2NDU3MzkwMjNcdTAwM2QwLjBcdTAwMjY0NTczOTE5OFx1MDAzZHRydWVcdTAwMjY0NTc0MTMzOVx1MDAzZDAuMFx1MDAyNjQ1NzQxNzczXHUwMDNkMC4wXHUwMDI2NDU3NDMyMjhcdTAwM2QwLjBcdTAwMjY0NTc0NTYxMFx1MDAzZHRydWVcdTAwMjY0NTc0Njk2Nlx1MDAzZDAuMFx1MDAyNjQ1NzQ2OTY3XHUwMDNkMC4wXHUwMDI2NDU3NDcwNTNcdTAwM2QwLjBcdTAwMjY0NTc1MDk0N1x1MDAzZDEwMjQwXHUwMDI2NDU3NTYyMDFcdTAwM2R0cnVlXHUwMDI2NDU3NTY4NzJcdTAwM2QwLjBcdTAwMjY0NTc1NzQyNlx1MDAzZDAuMFx1MDAyNjQ1NzU3NDI3XHUwMDNkMC4wXHUwMDI2NDU3NTc3NTBcdTAwM2QwLjBcdTAwMjY0NTc1Nzk1N1x1MDAzZDAuMFx1MDAyNjQ1NzU4NDY3XHUwMDNkMC4wXHUwMDI2NDU3NjAwMThcdTAwM2R0cnVlXHUwMDI2NDU3NjE3NjBcdTAwM2QyMDBcdTAwMjY0NTc2MjgzOFx1MDAzZDBcdTAwMjY0NTc2NDIxN1x1MDAzZDAuMFx1MDAyNjQ1NzY0MjUyXHUwMDNkMC4wXHUwMDI2NDU3NjQ1MjNcdTAwM2QwLjBcdTAwMjY0NTc2NDUyNFx1MDAzZDAuMFx1MDAyNjQ1NzY0NTkzXHUwMDNkMC4wXHUwMDI2NDU3NjUwNzdcdTAwM2R0cnVlXHUwMDI2NDU3NjU1NjhcdTAwM2QwLjBcdTAwMjY0NTc2NTYwMlx1MDAzZDAuMFx1MDAyNjQ1NzY1NjgwXHUwMDNkdHJ1ZVx1MDAyNjQ1NzY2NTExXHUwMDNkdHJ1ZVx1MDAyNjQ1NzY3NzYzXHUwMDNkMC4wXHUwMDI2NDU3Njc5NDNcdTAwM2QwLjBcdTAwMjY0NTc2ODM0MFx1MDAzZDAuMFx1MDAyNjQ1NzY4NDMwXHUwMDNkMC4wXHUwMDI2NDU3NjkxMTlcdTAwM2R0cnVlXHUwMDI2NDU3NjkyMTRcdTAwM2QwLjBcdTAwMjY0NTc3MDAwMVx1MDAzZDAuMFx1MDAyNjQ1NzcwMDAyXHUwMDNkMC4wXHUwMDI2NDU3NzAxMzVcdTAwM2R0cnVlXHUwMDI2NDU3NzEyODhcdTAwM2R0cnVlXHUwMDI2NDU3NzE4OTBcdTAwM2QwLjBcdTAwMjY0NTc3MzYwM1x1MDAzZDAuMFx1MDAyNjQ1NzczNjA0XHUwMDNkMC4wXHUwMDI2NDU3NzU3NTdcdTAwM2R0cnVlXHUwMDI2NDU3NzU3OTFcdTAwM2QwLjBcdTAwMjY0NTc3NTc5Mlx1MDAzZDAuMFx1MDAyNjQ1Nzc2MTkwXHUwMDNkMC4wXHUwMDI2NDU3Nzg2NjNcdTAwM2QwLjBcdTAwMjY0NTc3ODY3MVx1MDAzZDAuMFx1MDAyNjQ1NzgzODc1XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzg0NDM5XHUwMDNkMFx1MDAyNjQ1Nzg2NDQzXHUwMDNkMC4wXHUwMDI2NDU3ODc5NDhcdTAwM2R0cnVlXHUwMDI2NDU3ODk0NzRcdTAwM2R0cnVlXHUwMDI2NDU3OTExMTdcdTAwM2QwLjBcdTAwMjY0NTc5MTExOFx1MDAzZDAuMFx1MDAyNjQ1NzkxMTE5XHUwMDNkMC4wXHUwMDI2NDU3OTM3MTBcdTAwM2QwLjBcdTAwMjY0NTc5NDQ0MVx1MDAzZDAuMFx1MDAyNjQ1Nzk0ODY3XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzk3NzIxXHUwMDNkdHJ1ZVx1MDAyNjQ1Nzk3OTYzXHUwMDNkMC4wXHUwMDI2NDU4MDIxMjNcdTAwM2QwLjBcdTAwMjY0NTgwMzc1NFx1MDAzZDAuMFx1MDAyNjQ1ODA0NzcxXHUwMDNkMC4wXHUwMDI2NDU4MDU2OTVcdTAwM2QwLjBcdTAwMjY0NTgwNjU1NVx1MDAzZDJcdTAwMjY0NTgwNzQzMlx1MDAzZDAuMFx1MDAyNjQ1ODA3NDg0XHUwMDNkXHUwMDI2NDU4MDc3NzFcdTAwM2QwLjBcdTAwMjY0NTgwNzc3Mlx1MDAzZDAuMFx1MDAyNjQ1ODA3NzczXHUwMDNkMC4wXHUwMDI2NDU4MDg3NjJcdTAwM2QwXHUwMDI2NDU4MTQ0ODBcdTAwM2R0cnVlXHUwMDI2NDU4MTUwMTFcdTAwM2QwLjBcdTAwMjY0NTgxNTYzMFx1MDAzZDBcdTAwMjY0NTgxNjg4OFx1MDAzZDAuMFx1MDAyNjQ1ODE4MTI4XHUwMDNkMC4wIn19LCJYU1JGX0ZJRUxEX05BTUUiOiJzZXNzaW9uX3Rva2VuIiwiWFNSRl9UT0tFTiI6IlFVTTRabTlyVVVaVVMxVmhWbVprWDE5MU5UTTBURmw0YlRFdFpYeEJSM0ppUzJGc05XcE9UV0pWVDFSNVZGUnhOMmwxVUhKc1FuZzFTVWxqZGxwVU1ucEhZbnBrWVhsbFVrNVlTRTloWldKWFQwZDZRekZVVFRJdGRYVXRhVzFHZG10U1IxZEVZMmR5YURSU1EzZFJXa1ZXZGtocGEyMXhTMkpSYm5ab1ZHOFx1MDAzZCIsIlNFUlZFUl9WRVJTSU9OIjoicHJvZCIsIkRBVEFTWU5DX0lEIjoiVmEzYjcyOWFlfHwiLCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSI6IkNLbVBuTk1HRUo3UXNBVVF0dmlBRXhEdzN0RWNFTW4yZ0JNUWllVFJIQkQzeElBVEVMamt6aHdRX0xMT0hCQUFFTG53MFJ3UXhfeUFFeEN1MXM4Y0VJdjN6eHdRbjgtQUV4RDU4dEVjRUoyR3VDSVFodUdBRXhEcC1ORWNFSWVzemh3UXdZX1FIQkMtaE5FY0VONjh6aHdRaUpEUkhCRDI5OUVjRUwyS3NBVVF6Ti11QlJDOHBOQWNFTDJac0FVUTlxdXdCUkNCemM0Y0VKbU5zUVVRanBEUkhCQ1Y3OUVjRUlxSHVDSVFnNGU0SWhDOXRxNEZFT0RxMFJ3UXBLblJIQkR4dE5BY0VOcjN6aHdReXZ1QUV4Q0pzTTRjRU9DMzBSd1E5ZW5SSEJEc3pkQWNLbkJEUVUxVFZIaFdUUzFhY1MxRVRXVlZSWEJWUTI1Qk56VkdXRXRxUW5WRlYzRk9WVkI1UVUxTk0zY3pZMEoxVVVjM2QxUndkbVZyVEUxeFEzTkNRVTlSY21kUU4wcHlZbXRDZFZOR1JqbEVUVUp6VTFOQ1kzTTVlRk5tV2pGUldHTk1UMlJITVVzM2RraDBjMGRJVVdNOU1BQSUzRCIsIlJPT1RfVkVfVFlQRSI6MTY2MjMsIkNMSUVOVF9QUk9UT0NPTCI6ImgyIiwiQ0xJRU5UX1RSQU5TUE9SVCI6InRjcCIsIlBMQVlFUl9DTElFTlRfVkVSU0lPTiI6IjEuMjAyNjA3MjEuMDguMDAiLCJUSU1FX0NSRUFURURfTVMiOjE3ODUxMzcwNjU0OTIsIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyI6WyJ5b3V0dS5iZSIsInlvdXR1YmUuY29tIiwid3d3LnlvdXR1YmUuY29tIiwid2ViLWdyZWVuLXFhLnlvdXR1YmUuY29tIiwid2ViLXJlbGVhc2UtcWEueW91dHViZS5jb20iLCJ3ZWItaW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iLCJtLnlvdXR1YmUuY29tIiwibXdlYi1ncmVlbi1xYS55b3V0dWJlLmNvbSIsIm13ZWItcmVsZWFzZS1xYS55b3V0dWJlLmNvbSIsIm13ZWItaW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iLCJzdHVkaW8ueW91dHViZS5jb20iLCJzdHVkaW8tZ3JlZW4tcWEueW91dHViZS5jb20iLCJzdHVkaW8taW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iXSwiTE9UVElFX1VSTCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9lbWJlZHMvMzJkMmFjODMvbG90dGllLWxpZ2h0LnZmbHNldC9sb3R0aWUtbGlnaHQuanMifSwiSURFTlRJVFlfTUVNRU5UTyI6eyJ2aXNpdG9yX2RhdGEiOiJDZ3RWVlZWdFNuTkdjR1EwWXlpcGo1elRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ0MyTGZBZ3JjQWpJd0xsbFVQVWRvU0c5V2NWWkNjbXBJVFVocmMzVTFkVk5UWjB4NmIyRkdlRk5zYVhCQlNtZG5OVUp5WHpaV1dIUnBjRXQwTUUwd2RFZDRObTFoVGs1VlRFWlRkVzlRYldwb2JqWlVjbEp2WmtKQk1GQllNVFozU2xBNE5HYzRNbmhzVmtobGJFSlhiVXBoWlVaT05tdE1Wek5WUWsxcU5XZFNNbmxsUWpKdWRGOXRZelZHZEdFelFsTktWVFZ2T0hGSlpucEpNbVpKZFhsWFdURTBSSFJhWHpGRWJsQndSbkI0ZWw5WWJFZDJjVTVtU0dSaE4yMWZlbWRNZVVoSlVTMW1ZWGRLT1ZweVVEa3dUSGgzUTA5MlJsUjVNM1YzVTNWQ2VETm9aMUZhTVc1MWFqaFBjV1pSZGtsS1VWYzFlRXBtZUhJd01YWlNUVmRoWlVWck5WcEZhbEJaZFZsM1Iwc3pPR2RWWm1sTlVsaDRTWHBWWlVSbFowTllkbkJPT0MxQ1RVRmhRUzFaZGtkb01FVnRiQzFIYmxGdGVVSk5iakpHTVRodWFqWm1lbGx3UlhwcWVIbGhZVU42VUhGemVIaDRXVFUwVkZCV2QxRXRVUSUzRCUzRCJ9LCJNV0VCX1NVUFBPUlRTX0RPVUJMRV9UQVBfVE9fU0VFSyI6dHJ1ZSwiUExBWUVSX1ZBUlMiOnsiZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlIjoie1wicmVzcG9uc2VDb250ZXh0XCI6e1wic2VydmljZVRyYWNraW5nUGFyYW1zXCI6W3tcInNlcnZpY2VcIjpcIkNTSVwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY1wiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn0se1wia2V5XCI6XCJjdmVyXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNC4wMS4wMFwifSx7XCJrZXlcIjpcInl0X2xpXCIsXCJ2YWx1ZVwiOlwiMFwifSx7XCJrZXlcIjpcIkdldEVtYmVkZGVkUGxheWVyX3JpZFwiLFwidmFsdWVcIjpcIjB4YTdlMjlmYmM2NDU1M2I1M1wifV19LHtcInNlcnZpY2VcIjpcIkdGRUVEQkFDS1wiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkdVSURFRF9IRUxQXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiRUNBVENIRVJcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNsaWVudC52ZXJzaW9uXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNFwifSx7XCJrZXlcIjpcImNsaWVudC5uYW1lXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifV19XSxcInJlc3BvbnNlSWRcIjpcIkloTUluXy1uNWFueWxRTVZVYWYwQngxQW5BYnFcIixcIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGFcIjp7XCJoYXNEZWNvcmF0ZWRcIjp0cnVlfX0sXCJlbWJlZFByZXZpZXdcIjp7XCJ0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXJcIjp7XCJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiRGlmZmVyZW50IFR5cGVzIG9mIENyeXB0byBUcmFkaW5nIEV4cGxhaW5lZCBmb3IgQmVnaW5uZXJzIChBbmltYXRlZClcIn1dfSxcImRlZmF1bHRUaHVtYm5haWxcIjp7XCJ0aHVtYm5haWxzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aV93ZWJwL3RwNnVGLWJQRzZFL2RlZmF1bHQud2VicFwiLFwid2lkdGhcIjoxMjAsXCJoZWlnaHRcIjo5MH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL3RwNnVGLWJQRzZFL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWJDS2dCRUY1SVZmS3JpcWtERGdnQkZRQUFpRUlZQVhBQndBRUdcXHUwMDI2cnNcdTAwM2RBT240Q0xERVQyamNXbTR5QnBwZWhDejE2V29FTy1lNF93XCIsXCJ3aWR0aFwiOjE2OCxcImhlaWdodFwiOjk0fSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvdHA2dUYtYlBHNkUvaHFkZWZhdWx0LmpwZz9zcXBcdTAwM2Qtb2F5bXdFYkNNUUJFRzVJVmZLcmlxa0REZ2dCRlFBQWlFSVlBWEFCd0FFR1xcdTAwMjZyc1x1MDAzZEFPbjRDTEJMVlBpVHdhVVBzSE9JMno1WnA1TjBhS25pVFFcIixcIndpZHRoXCI6MTk2LFwiaGVpZ2h0XCI6MTEwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvdHA2dUYtYlBHNkUvaHFkZWZhdWx0LmpwZz9zcXBcdTAwM2Qtb2F5bXdFY0NQWUJFSW9CU0ZYeXE0cXBBdzRJQVJVQUFJaENHQUZ3QWNBQkJnXHUwMDNkXHUwMDNkXFx1MDAyNnJzXHUwMDNkQU9uNENMQkdSYTdBR1E0UTNqOWFXUmFIREpCTXJITHZwd1wiLFwid2lkdGhcIjoyNDYsXCJoZWlnaHRcIjoxMzh9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aV93ZWJwL3RwNnVGLWJQRzZFL21xZGVmYXVsdC53ZWJwXCIsXCJ3aWR0aFwiOjMyMCxcImhlaWdodFwiOjE4MH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL3RwNnVGLWJQRzZFL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWNDTkFDRUx3QlNGWHlxNHFwQXc0SUFSVUFBSWhDR0FGd0FjQUJCZ1x1MDAzZFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTEJhS1g0Z0J1Vk81S2ZVQkkxN2wxTWo0cnNlNlFcIixcIndpZHRoXCI6MzM2LFwiaGVpZ2h0XCI6MTg4fSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC90cDZ1Ri1iUEc2RS9ocWRlZmF1bHQud2VicFwiLFwid2lkdGhcIjo0ODAsXCJoZWlnaHRcIjozNjB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aV93ZWJwL3RwNnVGLWJQRzZFL3NkZGVmYXVsdC53ZWJwXCIsXCJ3aWR0aFwiOjY0MCxcImhlaWdodFwiOjQ4MH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpX3dlYnAvdHA2dUYtYlBHNkUvbWF4cmVzZGVmYXVsdC53ZWJwXCIsXCJ3aWR0aFwiOjE5MjAsXCJoZWlnaHRcIjoxMDgwfV19LFwicGxheUJ1dHRvblwiOntcImJ1dHRvblJlbmRlcmVyXCI6e1wic3R5bGVcIjpcIlNUWUxFX0RFRkFVTFRcIixcInNpemVcIjpcIlNJWkVfREVGQVVMVFwiLFwiaXNEaXNhYmxlZFwiOmZhbHNlLFwibmF2aWdhdGlvbkVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FjUThGc2lFd2lmXzZmbHFmS1ZBeFZScF9RSEhVQ2NCdXJLQVFSaEk2T3pcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiL3dhdGNoP3ZcdTAwM2R0cDZ1Ri1iUEc2RVxcdTAwMjZwcFx1MDAzZDBnY0pDWG9BUlBoZF9mWGtcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1dBVENIXCIsXCJyb290VmVcIjozODMyfX0sXCJ3YXRjaEVuZHBvaW50XCI6e1widmlkZW9JZFwiOlwidHA2dUYtYlBHNkVcIixcInBsYXllclBhcmFtc1wiOlwiMGdjSkNYb0FSUGhkX2ZYa1wifX0sXCJhY2Nlc3NpYmlsaXR5XCI6e1wibGFiZWxcIjpcIlBsYXkgRGlmZmVyZW50IFR5cGVzIG9mIENyeXB0byBUcmFkaW5nIEV4cGxhaW5lZCBmb3IgQmVnaW5uZXJzIChBbmltYXRlZClcIn0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FjUThGc2lFd2lmXzZmbHFmS1ZBeFZScF9RSEhVQ2NCdW9cdTAwM2RcIn19LFwidmlkZW9EZXRhaWxzXCI6e1wiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXJcIjp7XCJjaGFubmVsVGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8veXQzLmdncGh0LmNvbS9kY2tHMVI2S1VxSjhXVGI1N0ViT0ZidDR3MGJENW1RQ1QtSEFGTFpINnBWcjlXY1IwVnc4X19vMDJVc3oyME8tZzdSRU1HT0w4UjRcdTAwM2RzNjgtYy1rLWMweDAwZmZmZmZmLW5vLXJqXCIsXCJ3aWR0aFwiOjY4LFwiaGVpZ2h0XCI6Njh9XX0sXCJjb2xsYXBzZWRSZW5kZXJlclwiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0NvbGxhcHNlZFJlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIkRpZmZlcmVudCBUeXBlcyBvZiBDcnlwdG8gVHJhZGluZyBFeHBsYWluZWQgZm9yIEJlZ2lubmVycyAoQW5pbWF0ZWQpXCIsXCJuYXZpZ2F0aW9uRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQVlRNDZJQ0loTUluXy1uNWFueWxRTVZVYWYwQngxQW5BYnF5Z0VFWVNPanN3XHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2R0cDZ1Ri1iUEc2RVwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkdHA2dUYtYlBHNkVcIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fV19LFwic3VidGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIjE0SyB2aWV3cyDigKIgMyBjb21tZW50c1wifV19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBWVE0NklDSWhNSW5fLW41YW55bFFNVlVhZjBCeDFBbkFicVwifX0sXCJleHBhbmRlZFJlbmRlcmVyXCI6e1wiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzRXhwYW5kZWRSZW5kZXJlclwiOntcInRpdGxlXCI6e1wicnVuc1wiOlt7XCJ0ZXh0XCI6XCJDcnlwdG8gU3F1YXJlXCJ9XX0sXCJzdWJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiMi44NEsgc3Vic2NyaWJlcnNcIn1dfSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQVVRNUtJQ0loTUluXy1uNWFueWxRTVZVYWYwQngxQW5BYnFcIn19LFwiY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1Jbl8tbjVhbnlsUU1WVWFmMEJ4MUFuQWJxeWdFRVlTT2pzd1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCIvY2hhbm5lbC9VQ3NxcEhLbHN4cVBtcklLa2M0UTdVREFcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiL2NoYW5uZWwvVUNzcXBIS2xzeHFQbXJJS2tjNFE3VURBXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX19LFwidmlkZW9EdXJhdGlvblNlY29uZHNcIjpcIjM1NFwiLFwid2ViUGxheWVyQWN0aW9uc1BvcnRpbmdcIjp7XCJnZXRTaGFyZVBhbmVsQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSW5fLW41YW55bFFNVlVhZjBCeDFBbkFicXlnRUVZU09qc3dcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL3NoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsXCJ9fSxcIndlYlBsYXllclNoYXJlRW50aXR5U2VydmljZUVuZHBvaW50XCI6e1wic2VyaWFsaXplZFNoYXJlRW50aXR5XCI6XCJDZ3QwY0RaMVJpMWlVRWMyUlElM0QlM0RcIn19LFwic3Vic2NyaWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSW5fLW41YW55bFFNVlVhZjBCeDFBbkFicXlnRUVZU09qc3dcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInNlbmRQb3N0XCI6dHJ1ZSxcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL3N1YnNjcmlwdGlvbi9zdWJzY3JpYmVcIn19LFwic3Vic2NyaWJlRW5kcG9pbnRcIjp7XCJjaGFubmVsSWRzXCI6W1wiVUNzcXBIS2xzeHFQbXJJS2tjNFE3VURBXCJdLFwicGFyYW1zXCI6XCJFZ0lJQnhnQVwifX0sXCJ1bnN1YnNjcmliZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUluXy1uNWFueWxRTVZVYWYwQngxQW5BYnF5Z0VFWVNPanN3XHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJzZW5kUG9zdFwiOnRydWUsXCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9zdWJzY3JpcHRpb24vdW5zdWJzY3JpYmVcIn19LFwidW5zdWJzY3JpYmVFbmRwb2ludFwiOntcImNoYW5uZWxJZHNcIjpbXCJVQ3NxcEhLbHN4cVBtcklLa2M0UTdVREFcIl0sXCJwYXJhbXNcIjpcIkNnSUlCeGdBXCJ9fSxcImFkZFRvV2F0Y2hMYXRlckNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUluXy1uNWFueWxRTVZVYWYwQngxQW5BYnF5Z0VFWVNPanN3XHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9icm93c2UvZWRpdF9wbGF5bGlzdFwifX0sXCJwbGF5bGlzdEVkaXRFbmRwb2ludFwiOntcInBsYXlsaXN0SWRcIjpcIldMXCIsXCJhY3Rpb25zXCI6W3tcImFkZGVkVmlkZW9JZFwiOlwidHA2dUYtYlBHNkVcIixcImFjdGlvblwiOlwiQUNUSU9OX0FERF9WSURFT1wifV19fSxcInJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSW5fLW41YW55bFFNVlVhZjBCeDFBbkFicXlnRUVZU09qc3dcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL2Jyb3dzZS9lZGl0X3BsYXlsaXN0XCJ9fSxcInBsYXlsaXN0RWRpdEVuZHBvaW50XCI6e1wicGxheWxpc3RJZFwiOlwiV0xcIixcImFjdGlvbnNcIjpbe1wiYWN0aW9uXCI6XCJBQ1RJT05fUkVNT1ZFX1ZJREVPX0JZX1ZJREVPX0lEXCIsXCJyZW1vdmVkVmlkZW9JZFwiOlwidHA2dUYtYlBHNkVcIn1dfX19LFwiYWN0aW9uQmFyQnV0dG9uc1wiOlt7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9PUEFDSVRZXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcImljb25cIjp7XCJpY29uVHlwZVwiOlwiU0hBUkVfQVJST1dcIn0sXCJuYXZpZ2F0aW9uRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQVFRLU44QkdBQWlFd2lmXzZmbHFmS1ZBeFZScF9RSEhVQ2NCdXJLQVFSaEk2T3pcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImlnbm9yZU5hdmlnYXRpb25cIjp0cnVlfX0sXCJzaGFyZUVudGl0eUVuZHBvaW50XCI6e1wic2VyaWFsaXplZFNoYXJlRW50aXR5XCI6XCJDZ3QwY0RaMVJpMWlVRWMyUlElM0QlM0RcIixcInNoYXJlUGFuZWxUeXBlXCI6XCJTSEFSRV9QQU5FTF9UWVBFX1VOSUZJRURfU0hBUkVfUEFORUxcIn19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBUVEtTjhCR0FBaUV3aWZfNmZscWZLVkF4VlJwX1FISFVDY0J1b1x1MDAzZFwiLFwiYWNjZXNzaWJpbGl0eURhdGFcIjp7XCJhY2Nlc3NpYmlsaXR5RGF0YVwiOntcImxhYmVsXCI6XCJTaGFyZVwifX19fSx7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9PUEFDSVRZXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcInNlcnZpY2VFbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBTVEtZDhCR0FFaUV3aWZfNmZscWZLVkF4VlJwX1FISFVDY0J1cktBUVJoSTZPelwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvYnJvd3NlL2VkaXRfcGxheWxpc3RcIn19LFwicGxheWxpc3RFZGl0RW5kcG9pbnRcIjp7XCJwbGF5bGlzdElkXCI6XCJXTFwiLFwiYWN0aW9uc1wiOlt7XCJhZGRlZFZpZGVvSWRcIjpcInRwNnVGLWJQRzZFXCIsXCJhY3Rpb25cIjpcIkFDVElPTl9BRERfVklERU9cIn1dfX0sXCJpY29uXCI6e1wiaWNvblR5cGVcIjpcIkFERF9UT19XQVRDSF9MQVRFUlwifSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQU1RLWQ4QkdBRWlFd2lmXzZmbHFmS1ZBeFZScF9RSEhVQ2NCdW9cdTAwM2RcIixcImFjY2Vzc2liaWxpdHlEYXRhXCI6e1wiYWNjZXNzaWJpbGl0eURhdGFcIjp7XCJsYWJlbFwiOlwiV2F0Y2ggbGF0ZXJcIn19LFwiY29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBTVEtZDhCR0FFaUV3aWZfNmZscWZLVkF4VlJwX1FISFVDY0J1cktBUVJoSTZPelwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP3NlcnZpY2VcdTAwM2R5b3V0dWJlXFx1MDAyNnVpbGVsXHUwMDNkM1xcdTAwMjZwYXNzaXZlXHUwMDNkdHJ1ZVxcdTAwMjZjb250aW51ZVx1MDAzZGh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGYWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2aGwlM0RlbiUyNm5leHQlM0QlMjUyRnBvc3RfbG9naW5cXHUwMDI2aGxcdTAwM2RlblwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInNpZ25JbkVuZHBvaW50XCI6e1wibmV4dEVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUS1kOEJHQUVpRXdpZl82ZmxxZktWQXhWUnBfUUhIVUNjQnVyS0FRUmhJNk96XCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi9wb3N0X2xvZ2luXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcIi9wb3N0X2xvZ2luXCJ9fX19fX1dLFwicXVpY2tBY3Rpb25zQmFyXCI6e1wicXVpY2tBY3Rpb25zVmlld01vZGVsXCI6e1wid2F0Y2hPbllvdXR1YmVCdXR0b25cIjp7XCJ3YXRjaE9uWW91dHViZUJ1dHRvblZpZXdNb2RlbFwiOntcIndhdGNoT25ZdExhYmVsQnV0dG9uXCI6e1wiYnV0dG9uVmlld01vZGVsXCI6e1wib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FJUXl2TUZJaE1Jbl8tbjVhbnlsUU1WVWFmMEJ4MUFuQWJxeWdFRVlTT2pzd1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkdHA2dUYtYlBHNkVcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZHRwNnVGLWJQRzZFXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJhY2Nlc3NpYmlsaXR5VGV4dFwiOlwiV2F0Y2ggb24gWW91VHViZVwiLFwic3R5bGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVlfREFSS1wiLFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBSVF5dk1GSWhNSW5fLW41YW55bFFNVlVhZjBCeDFBbkFicVwiLFwidHlwZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUXCIsXCJidXR0b25TaXplXCI6XCJCVVRUT05fVklFV19NT0RFTF9TSVpFX0xBUkdFXCIsXCJ0aXRsZUZvcm1hdHRlZFwiOntcImNvbnRlbnRcIjpcIldhdGNoIG9uXCIsXCJzdHlsZVJ1bnNcIjpbe1wid2VpZ2h0TGFiZWxcIjpcIkZPTlRfV0VJR0hUX1RISU5cIn1dLFwiYXR0YWNobWVudFJ1bnNcIjpbe1wic3RhcnRJbmRleFwiOjgsXCJsZW5ndGhcIjowLFwiZWxlbWVudFwiOntcInR5cGVcIjp7XCJpbWFnZVR5cGVcIjp7XCJpbWFnZVwiOntcInNvdXJjZXNcIjpbe1wiY2xpZW50UmVzb3VyY2VcIjp7XCJpbWFnZU5hbWVcIjpcIndhdGVybWFya1wifX1dfX19LFwicHJvcGVydGllc1wiOntcImxheW91dFByb3BlcnRpZXNcIjp7XCJoZWlnaHRcIjp7XCJ2YWx1ZVwiOjIwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJ3aWR0aFwiOntcInZhbHVlXCI6OTAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIm1hcmdpblwiOntcImxlZnRcIjp7XCJ2YWx1ZVwiOjV9fX19fSxcImFsaWdubWVudFwiOlwiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUlwifV19fX0sXCJ5dExvZ29Pbmx5QnV0dG9uXCI6e1wiYnV0dG9uVmlld01vZGVsXCI6e1wib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FFUTF0Y0VJaE1Jbl8tbjVhbnlsUU1WVWFmMEJ4MUFuQWJxeWdFRVlTT2pzd1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkdHA2dUYtYlBHNkVcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZHRwNnVGLWJQRzZFXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJhY2Nlc3NpYmlsaXR5VGV4dFwiOlwiV2F0Y2ggb24gWW91VHViZVwiLFwic3R5bGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk9cIixcInRyYWNraW5nUGFyYW1zXCI6XCJDQUVRMXRjRUloTUluXy1uNWFueWxRTVZVYWYwQngxQW5BYnFcIixcInR5cGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVFwiLFwiYnV0dG9uU2l6ZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9DT01QQUNUXCIsXCJ0aXRsZUZvcm1hdHRlZFwiOntcImNvbnRlbnRcIjpcIiBcIixcImF0dGFjaG1lbnRSdW5zXCI6W3tcInN0YXJ0SW5kZXhcIjowLFwibGVuZ3RoXCI6MCxcImVsZW1lbnRcIjp7XCJ0eXBlXCI6e1wiaW1hZ2VUeXBlXCI6e1wiaW1hZ2VcIjp7XCJzb3VyY2VzXCI6W3tcImNsaWVudFJlc291cmNlXCI6e1wiaW1hZ2VOYW1lXCI6XCJ3YXRlcm1hcmtcIn19XX19fSxcInByb3BlcnRpZXNcIjp7XCJsYXlvdXRQcm9wZXJ0aWVzXCI6e1wiaGVpZ2h0XCI6e1widmFsdWVcIjoyMCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwid2lkdGhcIjp7XCJ2YWx1ZVwiOjkwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJtYXJnaW5cIjp7XCJsZWZ0XCI6e1widmFsdWVcIjo1fX19fX0sXCJhbGlnbm1lbnRcIjpcIkFMSUdOTUVOVF9WRVJUSUNBTF9DRU5URVJcIn1dfX19fX19fX19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSW5fLW41YW55bFFNVlVhZjBCeDFBbkFicXlnRUVZU09qc3dcdTAwM2RcdTAwM2RcIixcInBlcm1pc3Npb25zXCI6e1wiYWxsb3dJbWFNb25ldGl6YXRpb25cIjpmYWxzZSxcImFsbG93UGZwVW5icmFuZGVkXCI6ZmFsc2V9LFwidmlkZW9GbGFnc1wiOntcInBsYXlhYmxlSW5FbWJlZFwiOnRydWUsXCJpc0NyYXdsYWJsZVwiOnRydWV9LFwicHJldmlld1BsYXlhYmlsaXR5U3RhdHVzXCI6e1wic3RhdHVzXCI6XCJPS1wiLFwicGxheWFibGVJbkVtYmVkXCI6dHJ1ZSxcImNvbnRleHRQYXJhbXNcIjpcIlEwRkZVMEZuWjBFXHUwMDNkXCJ9LFwiZW1iZWRkZWRQbGF5ZXJNb2RlXCI6XCJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUXCIsXCJlbWJlZGRlZFBsYXllckNvbmZpZ1wiOntcImVtYmVkZGVkUGxheWVyTW9kZVwiOlwiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVFwiLFwiZW1iZWRkZWRQbGF5ZXJGbGFnc1wiOnt9fSxcImVtYmVkZGVkUGxheWVyQ29udGV4dFwiOntcImVtYmVkZGVkUGxheWVyRW5jcnlwdGVkQ29udGV4dFwiOlwiQUNtYmxCVi13R2dUcUYyS0M1M1lHY1EtVHJPQ0E5Q19mZG1mc1Z0TmJUbDJVakZHUkxXdXFRV0N2c0VEeG9OQmp5eF9oM2RDRDhlY2UyMnF0TU5TbkRyNGViX1ZVVXJmVklVNHJGaHRQWTNkZ0tjQkE0ZXF3RWFGOVJFazRiS29IQkVQWElLNnNlOFwiLFwiYW5jZXN0b3JPcmlnaW5zU3VwcG9ydGVkXCI6ZmFsc2V9fSIsInZpZGVvX2lkIjoidHA2dUYtYlBHNkUiLCJyZXNvbHZlX3VybF9yZXNwb25zZSI6IntcInJlc3BvbnNlQ29udGV4dFwiOntcInNlcnZpY2VUcmFja2luZ1BhcmFtc1wiOlt7XCJzZXJ2aWNlXCI6XCJDU0lcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNcIixcInZhbHVlXCI6XCJXRUJfRU1CRURERURfUExBWUVSXCJ9LHtcImtleVwiOlwiY3ZlclwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjQuMDEuMDBcIn0se1wia2V5XCI6XCJ5dF9saVwiLFwidmFsdWVcIjpcIjBcIn0se1wia2V5XCI6XCJSZXNvbHZlVXJsX3JpZFwiLFwidmFsdWVcIjpcIjB4YTdlMjlmYmM2NDU1M2I1M1wifV19LHtcInNlcnZpY2VcIjpcIkdGRUVEQkFDS1wiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkdVSURFRF9IRUxQXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiRUNBVENIRVJcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNsaWVudC52ZXJzaW9uXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNFwifSx7XCJrZXlcIjpcImNsaWVudC5uYW1lXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifV19XSxcInJlc3BvbnNlSWRcIjpcIkloTUlrZHVuNWFueWxRTVZ6OFpQQ0IxaWt5azNcIixcIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGFcIjp7XCJoYXNEZWNvcmF0ZWRcIjp0cnVlfX0sXCJlbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkloTUlrZHVuNWFueWxRTVZ6OFpQQ0IxaWt5azNNZ2hsZUhSbGNtNWhiTW9CQkdFam83TVx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e319fSJ9LCJQT1NUX01FU1NBR0VfT1JJR0lOIjoiKiIsIlZJREVPX0lEIjoidHA2dUYtYlBHNkUiLCJET01BSU5fQURNSU5fU1RBVEUiOiIifSk7d2luZG93Lnl0Y2ZnLm9iZnVzY2F0ZWREYXRhXyA9IFtdOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IkRTODFYVmZFTXppZFctQ2FyNlVnTlEiPndpbmRvdy55dEF0UCA9IG5ldyBQcm9taXNlKHJlcyA9PiB3aW5kb3cueXRBdE4gPSByZXMpOyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHt3aW5kb3cueXRBdE4oKTsgZGVsZXRlIHdpbmRvdy55dEF0Tjt9KTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJEUzgxWFZmRU16aWRXLUNhcjZVZ05RIj53aW5kb3cueXRlcnI9d2luZG93Lnl0ZXJyfHx0cnVlO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzPXt9Owp3aW5kb3cub25lcnJvcj1mdW5jdGlvbihtc2csdXJsLGxpbmUsb3B0X2NvbHVtbk51bWJlcixvcHRfZXJyb3Ipe3ZhciBlcnI7aWYob3B0X2Vycm9yKWVycj1vcHRfZXJyb3I7ZWxzZXtlcnI9bmV3IEVycm9yO2Vyci5tZXNzYWdlPW1zZztlcnIuZmlsZU5hbWU9dXJsO2Vyci5saW5lTnVtYmVyPWxpbmU7aWYoIWlzTmFOKG9wdF9jb2x1bW5OdW1iZXIpKWVyclsiY29sdW1uTnVtYmVyIl09b3B0X2NvbHVtbk51bWJlcn12YXIgbWVzc2FnZT1TdHJpbmcoZXJyLm1lc3NhZ2UpO2lmKCFlcnIubWVzc2FnZXx8bWVzc2FnZSBpbiB3aW5kb3cudW5oYW5kbGVkRXJyb3JNZXNzYWdlcylyZXR1cm47d2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXNbbWVzc2FnZV09dHJ1ZTt2YXIgaW1nPW5ldyBJbWFnZTt3aW5kb3cuZW1lcmdlbmN5VGltZW91dEltZz1pbWc7aW1nLm9ubG9hZD1pbWcub25lcnJvcj1mdW5jdGlvbigpe2RlbGV0ZSB3aW5kb3cuZW1lcmdlbmN5VGltZW91dEltZ307dmFyIHZhbHVlcz0KeyJjbGllbnQubmFtZSI6eXRjZmcuZ2V0KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIpLCJjbGllbnQudmVyc2lvbiI6eXRjZmcuZ2V0KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpLCJtc2ciOm1lc3NhZ2UsInR5cGUiOiJVbmhhbmRsZWRXaW5kb3ciK2Vyci5uYW1lLCJmaWxlIjplcnIuZmlsZU5hbWUsImxpbmUiOmVyci5saW5lTnVtYmVyLCJzdGFjayI6KGVyci5zdGFja3x8IiIpLnN1YnN0cigwLDUwMCl9O3ZhciBwYXJ0cz1beXRjZmcuZ2V0KCJFTUVSR0VOQ1lfQkFTRV9VUkwiLCIvZXJyb3JfMjA0P3Q9anNlcnJvciZsZXZlbD1FUlJPUiIpXTt2YXIga2V5O2ZvcihrZXkgaW4gdmFsdWVzKXt2YXIgdmFsdWU9dmFsdWVzW2tleV07aWYodmFsdWUpcGFydHMucHVzaChrZXkrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSkpfWltZy5zcmM9cGFydHMuam9pbigiJiIpfTsKPC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iRFM4MVhWZkVNemlkVy1DYXI2VWdOUSI+dmFyIHl0ZXJyID0geXRlcnIgfHwgdHJ1ZTs8L3NjcmlwdD48c2NyaXB0IGRhdGEtaWQ9Il9nZCIgbm9uY2U9IkRTODFYVmZFTXppZFctQ2FyNlVnTlEiPndpbmRvdy5XSVpfZ2xvYmFsX2RhdGEgPSB7IkFmWThIZiI6ZmFsc2UsIkZMMWFuIjpmYWxzZSwiSGlQc2JiIjowLCJNVUU2TmUiOiJ5b3V0dWJlX3dlYiIsIk11SldqZCI6ZmFsc2UsIlVVRmFXYyI6IiUuQC5udWxsLDEwMDAsMl0iLCJjZmIyaCI6InlvdXR1YmUud2ViLWZyb250LWVuZC1jcml0aWNhbF8yMDI2MDcyMi4wMV9wMCIsImZQRHh3ZCI6W10sImhzRkxUIjoiJS5ALm51bGwsMTAsM10iLCJpQ3poRmMiOmZhbHNlLCJuUXlBRSI6e30sIm94TjNuYiI6eyIxIjpmYWxzZSwiMCI6ZmFsc2UsIjYxMDQwMTMwMSI6ZmFsc2UsIjg5OTU4ODQzNyI6ZmFsc2UsIjc3MjY1Nzc2OCI6dHJ1ZSwiNTEzNjU5NTIzIjpmYWxzZSwiNTY4MzMzOTQ1Ijp0cnVlLCIxMzMxNzYxNDAzIjp0cnVlLCI2NTExNzU4MjgiOmZhbHNlLCI3MjI3NjQ1NDIiOmZhbHNlLCI3NDg0MDIxNDUiOmZhbHNlLCI3NDg0MDIxNDYiOmZhbHNlLCI3NDg0MDIxNDciOnRydWUsIjE2MDI2MTMxODUiOmZhbHNlLCI4NjEzNzc3MjMiOmZhbHNlLCI4NjEzNzc3MjQiOmZhbHNlLCI4NjkzMzY5MDMiOmZhbHNlLCI4ODI2NzQ1MDciOmZhbHNlLCI4NjkzMzY5MDQiOmZhbHNlLCI4NjkzMzY5MDUiOmZhbHNlLCIyODM5NTMxNTUiOmZhbHNlLCI5MTk0NDQ4MjQiOmZhbHNlLCI5MzE0NjgwNDciOmZhbHNlLCI5Mjg4NzUzOTgiOmZhbHNlLCI2ODM3NDkyMDEiOmZhbHNlfSwidTRnN3IiOiIlLkAubnVsbCwxLDNdIiwieG5JOVAiOmZhbHNlLCJ4d0FmRSI6dHJ1ZSwieUZueHJmIjoyNDg2fTs8L3NjcmlwdD48dGl0bGU+WW91VHViZTwvdGl0bGU+PGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9dHA2dUYtYlBHNkUiPjwvaGVhZD48Ym9keSBjbGFzcz0iZGF0ZS0yMDI2MDcyNyBlbl9VUyBsdHIgIHNpdGUtY2VudGVyLWFsaWduZWQgc2l0ZS1hcy1naWFudC1jYXJkIGdlY2tvIGdlY2tvLTEzNCIgZGlyPSJsdHIiPjxkaXYgaWQ9InBsYXllciI+PC9kaXY+PHNjcmlwdCBub25jZT0iRFM4MVhWZkVNemlkVy1DYXI2VWdOUSI+dmFyIHNldE1lc3NhZ2U9ZnVuY3Rpb24obXNnKXtpZih3aW5kb3cueXQmJnl0LnNldE1zZyl5dC5zZXRNc2cobXNnKTtlbHNle3dpbmRvdy55dGNmZz13aW5kb3cueXRjZmd8fHt9O3l0Y2ZnLm1zZ3M9bXNnfX07CnNldE1lc3NhZ2UoeyJBQ0NPVU5UX0xBQkVMIjoiQWNjb3VudCIsIkFDVF9PTl9USElTX0NPTU1FTlQiOiJBY3Qgb24gdGhpcyBjb21tZW50IiwiQUREX1RPX0RST1BET1dOX0xBQkVMIjoiQWRkIHRvIHBsYXlsaXN0IiwiQURfQkFER0VfSElOVCI6IkFkdmVydGlzZW1lbnQiLCJBRF9CQURHRV9URVhUIjoiQUQiLCJBTExfQ0hBTk5FTFNfTEFCRUwiOiJBbGwgY2hhbm5lbHMiLCJBTUJJRU5UX01PREUiOiJBbWJpZW50IG1vZGUiLCJBTUJJRU5UX01PREVfT0ZGIjoiQW1iaWVudCBtb2RlIG9mZiIsIkFNQklFTlRfTU9ERV9PTiI6IkFtYmllbnQgbW9kZSBvbiIsIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9CT0RZIjoiUGxlYXNlIHVwZGF0ZSB5b3VyIGRldmljZSB0byBBbmRyb2lkIDQuMCBiZWZvcmUgT2N0IDIyLCAyMDIwIHRvIGtlZXAgdXNpbmcgWW91VHViZSB3aXRob3V0IGludGVycnVwdGlvbnMuIiwiQU5EUk9JRF9ERVBSRUNBVElPTl9NRVNTQUdFX0hFQURFUiI6IllvdVR1YmUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIG9uIHlvdXIgZGV2aWNlIGFmdGVyIDIwMjAtMTAtMjIiLCJBUFBfVVBTRUxMX1NVQlRJVExFIjoiVXBsb2FkLCBzYXZlLCBhbmQgY29tbWVudCBvbiB2aWRlb3Mgd2l0aCB0aGUgWW91VHViZSBhcHAiLCJBUFBfVVBTRUxMX1RJVExFIjoiU3dpdGNoIHRvIHRoZSBhcHAgZm9yIGEgYmV0dGVyIHZpZXdpbmcgZXhwZXJpZW5jZSIsIkFVRElPX1RSQUNLIjoiQXVkaW8gVHJhY2siLCJBVVRPTkFWX1RPR0dMRSI6IkF1dG9wbGF5IiwiQVVUT1BMQVlfSU5fVEVOX1NFQ09ORFMiOiJOZXh0IHZpZGVvIHdpbGwgYmUgcGxheWVkIGluIHRlbiBzZWNvbmRzIiwiQVVUT1BMQVlfUEFVU0VEIjoiQXV0b3BsYXkgaXMgcGF1c2VkIiwiQVVUT1BMQVlfUExBWV9OT1ciOiJQbGF5IG5vdyIsIkFVVE9QTEFZX1VQX05FWFRfSU4iOiJVcCBuZXh0IGluIHNlY29uZHNfcGxhY2Vob2xkZXIiLCJBVVRPX1RSQU5TTEFURSI6IkF1dG8tdHJhbnNsYXRlIiwiQVVUT19aT09NIjoiQXV0byB6b29tIiwiQkFDSyI6IkJhY2siLCJCUkFOREVEX1NJR05fSU5fRElBTE9HX0RFU0NSSVBUSU9OIjoiQWNjZXNzIGFsbCBmZWF0dXJlcyBhbmQgZ2V0IGEgc2VhbWxlc3MgZXhwZXJpZW5jZSIsIkNBTkNFTCI6IkNhbmNlbCIsIkNIQU5ORUxfU1dJVENIRVJfTEFCRUwiOiJTd2l0Y2ggYWNjb3VudCIsIkNIQVJBQ1RFUl9MSU1JVCI6IlVzZSBmZXdlciB0aGFuICRudW1iZXIgY2hhcmFjdGVycyIsIkNMT1NFIjoiQ2xvc2UiLCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiOiJObyBjYXB0aW9ucyBhcmUgYXZhaWxhYmxlIGZvciB0aGlzIHZpZGVvIiwiQ0xPU0VEX0NBUFRJT05TX09GRiI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb2ZmIiwiQ0xPU0VEX0NBUFRJT05TX09OIjoiU3VidGl0bGVzL0NDIHR1cm5lZCBvbiIsIkNMT1NFRF9DQVBUSU9OU19PTl9MQU5HVUFHRSI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb24gKGxhbmd1YWdlX3BsYWNlaG9sZGVyKSIsIkNMT1NFX1NFQVJDSF9MQUJFTCI6IkNsb3NlIHNlYXJjaCIsIkNMT1NFX1NFVFRJTkdTX0xBQkVMIjoiQ2xvc2UgU2V0dGluZ3MiLCJDT01NRU5UQk9YX1BPU1QiOiJQb3N0IiwiQ09NTUVOVF9NT0RBTF9DT05URU5UIjoiUGxlYXNlIHNpZ24gaW4gdG8gYWN0IG9uIHRoaXMgY29tbWVudC4iLCJDT05GSVJNX09LIjoiT0siLCJDT05ORUNUX1RPX1RIRV9JTlRFUk5FVCI6IkNvbm5lY3QgdG8gdGhlIGludGVybmV0IiwiQ09QSUVEX1RPX0NMSVBCT0FSRCI6IkNvcGllZCB0byBjbGlwYm9hcmQiLCJDT1BZIjoiQ29weSIsIkNPUFlfREVCVUdfSU5GTyI6IkNvcHkgRGVidWcgSW5mbyIsIkNPUFlfRU1CRURfQ09ERSI6IkNvcHkgZW1iZWQgY29kZSIsIkNPUFlfTElOS19MQUJFTCI6IkNvcHkgbGluayIsIkNPUFlfVklERU9fVVJMIjoiQ29weSB2aWRlbyBVUkwiLCJDT1BZX1ZJREVPX1VSTF9BVF9DVVJSRU5UX1RJTUUiOiJDb3B5IHZpZGVvIFVSTCBhdCBjdXJyZW50IHRpbWUiLCJDUkVBVEVfQ0hBTk5FTF9USVRMRSI6IkNyZWF0ZSBjaGFubmVsIiwiREVMRVRFX0ZST01fRE9XTkxPQURTIjoiRGVsZXRlIGZyb20gZG93bmxvYWRzIiwiRElBTE9HIjoiRGlhbG9nIiwiRE1BX0NPTlNFTlRfQ09ORklSTUFUSU9OIjoiWW91ciBjaG9pY2Ugd2lsbCB0YWtlIGVmZmVjdCBvbiBNYXJjaCA2LCAyMDI0LiBZb3UgY2FuIGNoYW5nZSB5b3VyIGNob2ljZXMgYW55dGltZSBpbiB5b3VyIEdvb2dsZSBBY2NvdW50LiIsIkRNQV9DT05TRU5UX0NPTkZJUk1BVElPTjIiOiJZb3VyIGNob2ljZXMgaGF2ZSBiZWVuIHNhdmVkLiBZb3UgY2FuIGNoYW5nZSB5b3VyIGNob2ljZXMgYW55dGltZSBpbiB5b3VyIEdvb2dsZSBBY2NvdW50LiIsIkRNQV9DT05TRU5UX0dFTkVSQUxfRVJST1IiOiJTb21ldGhpbmcgd2VudCB3cm9uZyB3aGlsZSBsb2FkaW5nIiwiRE1BX0NPTlNFTlRfUkVDT1JEX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHlvdXIgY2hvaWNlcyB3ZXJlIG5vdCBzYXZlZCIsIkRPTkUiOiJEb25lIiwiRE9XTkxPQUQiOiJEb3dubG9hZCIsIkZBSUxFRF9DT1BZX0VSUk9SX01FU1NBR0UiOiJDb3B5IGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhlIGRldmljZSwgZmFpbGVkIHRvIGNvcHkuIiwiRkxBR19DT05GSVJNIjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGZsYWcgdGhpcyB2aWRlbz8iLCJGTEFHX0NPTlRFTlQiOiJTaWduIGluIHRvIGZsYWcgaXQuIiwiRkxBR19MQUJFTCI6IkZsYWcgYXMgaW5hcHByb3ByaWF0ZSIsIkZMQUdfVElUTEUiOiJJbmFwcHJvcHJpYXRlIHZpZGVvPyIsIkZVTExTQ1JFRU5fR0VORVJJQ19FUlJPUiI6IkZ1bGwgc2NyZWVuIGlzIHVuYXZhaWxhYmxlLiIsIkdPT0dMRV9DT01QQU5ZIjoiWW91VHViZSwgYSBHb29nbGUgY29tcGFueSIsIkhJREVfQUxFUlQiOiJIaWRlIHRoaXMgYWxlcnQiLCJISURFX1BMQVlFUl9DT05UUk9MUyI6IkhpZGUgcGxheWVyIGNvbnRyb2xzIiwiSElERV9QTEFZTElTVF9WSURFT1MiOiJIaWRlIHBsYXlsaXN0IHZpZGVvcyIsIkhJREVfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJIaWRlIHNlYXJjaCBmaWx0ZXJzIiwiSE9NRSI6IkhvbWUiLCJJTlZBTElEX1JFU1BPTlNFX1JFQ0VJVkVEIjoiSW52YWxpZCByZXNwb25zZSByZWNlaXZlZC4iLCJMRUFWRV9BX0NPTU1FTlRfVElUTEUiOiJMZWF2ZSBhIGNvbW1lbnQ/IiwiTElCUkFSWSI6IkxpYnJhcnkiLCJMSUtFX0NPVU5UX1RFWFQiOnsiY2FzZTAiOiJObyBsaWtlcyIsImNhc2UxIjoiMSBsaWtlIiwib3RoZXIiOiIjIGxpa2VzIn0sIkxJS0VfQ09VTlRfVEVYVF9MQUJFTCI6IntcImNhc2UwXCI6IFwiTm8gcGVvcGxlIGhhdmUgbGlrZWQgdGhpcyB2aWRlby5cIiwgXCJjYXNlMVwiOiBcIjEgcGVyc29uIGhhcyBsaWtlZCB0aGlzIHZpZGVvLlwiLCBcIm90aGVyXCI6IFwiIyBwZW9wbGUgaGF2ZSBsaWtlZCB0aGlzIHZpZGVvLlwifSIsIkxJU1RFTklORyI6Ikxpc3RlbmluZy4uLiIsIkxPQURJTkciOiJMb2FkaW5nLi4uIiwiTE9OR19QUkVTU19NSUNfVE9fU1BFQUsiOiJMb25nIHByZXNzIG1pY19pY29uX3BsYWNlaG9sZGVyIHRvIHNwZWFrIiwiTE9PUCI6Ikxvb3AiLCJNRU5VX0RFU0tUT1AiOiJEZXNrdG9wIiwiTUVOVV9FWElUIjoiRXhpdCIsIk1FTlVfRkVFREJBQ0siOiJGZWVkYmFjayIsIk1FTlVfSEVMUCI6IkhlbHAiLCJNRU5VX0lNUFJFU1NVTSI6IkltcHJpbnQiLCJNRU5VX1BMQVlFUl9TRVRUSU5HUyI6IlBsYXliYWNrIFNldHRpbmdzIiwiTUVOVV9SRVBPUlRfQV9QUk9CTEVNIjoiUmVwb3J0IGEgcHJvYmxlbSB3aXRoIFlvdVR1YmUiLCJNRU5VX1NFTkRfRkVFREJBQ0siOiJTZW5kIGZlZWRiYWNrIiwiTUVOVV9TRVRUSU5HUyI6IlNldHRpbmdzIiwiTUVOVV9TSUdOX0lOIjoiU2lnbiBJbiIsIk1FTlVfVEVSTVMiOiJQcml2YWN5IFx1MDAyNiBUZXJtcyIsIk1FTlVfVElUTEUiOiJNZW51IiwiTUVOVV9ZT1VSX0RBVEEiOiJZb3VyIGRhdGEgaW4gWW91VHViZSIsIk1FVEFEQVRBX1NVQlRJVExFX0NIQU5ORUxfTkFNRV9MQUJFTCI6IlVwbG9hZGVkIGJ5ICR7Y2hhbm5lbF9uYW1lX3BsYWNlaG9sZGVyfS4iLCJNTUdfQ09ORklSTUFUSU9OIjoiWW91ciBjaG9pY2UgaGFzIGJlZW4gc2F2ZWQuIFlvdSBjYW4gY2hhbmdlIHRoaXMgc2V0dGluZyBhbnl0aW1lIGluIE15IEFkIENlbnRlci4iLCJNTUdfQ09OU0VOVF9SRUNPUkRfRVJST1IiOiJTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgeW91ciBjaG9pY2Ugd2FzIG5vdCBzYXZlZCIsIk1PUkUiOiJNb3JlIiwiTU9SRV9JTkZPIjoiTW9yZSBpbmZvIiwiTU9SRV9MT1dFUkNBU0UiOiJtb3JlIiwiTU9SRV9PUFRJT05TIjoiTW9yZSBvcHRpb25zIiwiTU9SRV9WSURFT1MiOiJNb3JlIHZpZGVvcyIsIk1PUkVfVklERU9TX0NMT1NFX0JVVFRPTl9BUklBX0xBQkVMIjoiSGlkZSBtb3JlIHZpZGVvcyIsIk1PUkVfVklERU9TX0ZST01fQ0hBTk5FTCI6Ik1vcmUgdmlkZW9zIGZyb20gJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIsIk1PUkVfVklERU9TX05FWFRfQlVUVE9OX0FSSUFfTEFCRUwiOiJOZXh0IHZpZGVvcyIsIk1PUkVfVklERU9TX1BSRVZJT1VTX0JVVFRPTl9BUklBX0xBQkVMIjoiUHJldmlvdXMgdmlkZW9zIiwiTVVURV9WT0xVTUUiOiJNdXRlIiwiTkVXX1BMQVlMSVNUIjoiTmV3IHBsYXlsaXN0IiwiTkVYVF9WSURFTyI6Ik5leHQgdmlkZW8iLCJOT1RJRklDQVRJT05fRVJST1JfTUVTU0FHRSI6IlNvbWV0aGluZyB3ZW50IHdyb25nLCBwbGVhc2UgdHJ5IGFnYWluLiIsIk5PVF9GT1VORF9DVEEiOiJCcm93c2UgVmlkZW9zIiwiTk9UX0ZPVU5EX01FU1NBR0UiOiJQbGVhc2Ugc2VhcmNoIGZvciBzb21ldGhpbmcgZWxzZSwgb3IgYnJvd3NlIHlvdXIgSG9tZSBmZWVkLiIsIk5PVF9GT1VORF9USVRMRSI6IlRoaXMgcGFnZSBpc25cdTAwMjd0IGF2YWlsYWJsZSIsIk5PX0RPV05MT0FEUyI6Ik5vIGRvd25sb2FkcyIsIk5PX01JQ19JTlBVVCI6IkRpZG5cdTAwMjd0IGhlYXIgdGhhdC4gVHJ5IHNwZWFraW5nIGFnYWluLiIsIk9GRkxJTkVfQ0hFQ0tfQ09OTkVDVElPTiI6IllvdVx1MDAyN3JlIG9mZmxpbmUuIENoZWNrIHlvdXIgY29ubmVjdGlvbi4iLCJPT1BTX01FU1NBR0UiOiJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4iLCJPUEVOX0FQUCI6Ik9wZW4gQXBwIiwiT1BFTl9ZT1VUVUJFIjoiT3BlbiB0aGUgYXBwIiwiT1BFTl9ZT1VUVUJFX0FQUCI6Ik9wZW4gWW91VHViZSBhcHAiLCJQQVVTRSI6IlBhdXNlIiwiUExBWSI6IlBsYXkiLCJQTEFZQkFDS19TUEVFRF9YIjoiJHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyfXgiLCJQTEFZRVJfQ0FQVElPTiI6IkNhcHRpb25zIiwiUExBWUVSX0NBUFRJT05fT0ZGIjoiT2ZmIiwiUExBWUVSX0NBUFRJT05fT04iOiJPbiIsIlBMQVlFUl9ET1VCTEVfU1BFRURfVVNFUl9FRFUiOiIyeCIsIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NFRUsiOiJEb3VibGUgdGFwIGxlZnQgb3IgcmlnaHQgdG8gc2tpcCAxMCBzZWNvbmRzIiwiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0hPV19PUl9ISURFX1BMQVlFUl9DT05UUk9MUyI6IkRvdWJsZSB0YXAgdG8gc2hvdyBvciBoaWRlIHBsYXllciBjb250cm9scyIsIlBMQVlFUl9FWElUX0ZVTExTQ1JFRU4iOiJFeGl0IGZ1bGwgc2NyZWVuIiwiUExBWUVSX0ZBU1RGT1JXQVJEX1NFQ09ORFMiOiJGYXN0IGZvcndhcmQgJHNlY29uZHNfcGxhY2Vob2xkZXIgc2Vjb25kcyIsIlBMQVlFUl9GVUxMU0NSRUVOIjoiRW50ZXIgZnVsbCBzY3JlZW4iLCJQTEFZRVJfTElWRV9MQUJFTCI6IkxpdmUiLCJQTEFZRVJfTElWRV9OT1ciOiJMaXZlIG5vdyIsIlBMQVlFUl9NSU5JTUlaRSI6Ik1pbmltaXplIiwiUExBWUVSX05FWFQiOiJOZXh0IHZpZGVvIiwiUExBWUVSX1BBVVNFIjoiUGF1c2UgdmlkZW8iLCJQTEFZRVJfUExBWSI6IlBsYXkgdmlkZW8iLCJQTEFZRVJfUFJFTUlFUkVfTEFCRUwiOiJQcmVtaWVyZSIsIlBMQVlFUl9QUkVWSU9VUyI6IlByZXZpb3VzIHZpZGVvIiwiUExBWUVSX1BST0dSRVNTX0JBUiI6IlNlZWsgc2xpZGVyIiwiUExBWUVSX1FVQUxJVFkiOiJRdWFsaXR5IiwiUExBWUVSX1FVQUxJVFlfQVVUTyI6IkF1dG8iLCJQTEFZRVJfUkVQTEFZIjoiUmVwbGF5IFZpZGVvIiwiUExBWUVSX1JFV0lORF9TRUNPTkRTIjoiUmV3aW5kICRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfU0VDT05EUyI6IiRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfU1BFRUQiOiJTcGVlZCIsIlBMQVlFUl9TUEVFRFVQX1VTRVJfRURVIjoiUGxheWluZyBhdCBzcGVlZF9yYXRlX3BsYWNlaG9sZGVyeCBzcGVlZCIsIlBMQVlFUl9TUEVFRF9ERUNSRUFTRSI6IkRlY3JlYXNlIHBsYXliYWNrIHNwZWVkIiwiUExBWUVSX1NQRUVEX0lOQ1JFQVNFIjoiSW5jcmVhc2UgcGxheWJhY2sgc3BlZWQiLCJQTEFZRVJfU1BFRURfTk9STUFMIjoiTm9ybWFsIiwiUExBWUVSX1NQRUVEX1JFQ0VOVCI6IlJlY2VudCIsIlBMQVlFUl9USU1FX0RVUkFUSU9OIjoiVGltZSBkdXJhdGlvbiIsIlBMQVlFUl9USU1FX0VMQVBTRUQiOiJUaW1lIGVsYXBzZWQiLCJQTEFZRVJfVElNRV9GT1JNQVRURUQiOnsiY2FzZTAiOiIke21pbnV0ZXN9IG1pbnV0ZXMgYW5kICR7c2Vjb25kc30gc2Vjb25kcyIsImNhc2UxIjoiMSBob3VyLCAke21pbnV0ZXN9IG1pbnV0ZXMgYW5kICR7c2Vjb25kc30gc2Vjb25kcyIsIm90aGVyIjoiIyBob3VycywgJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMifSwiUExBWUxJU1RfQ1VSUkVOVF9WSURFT19JTkRFWCI6IiR7Y3VycmVudF92aWRlb19pbmRleH0gb2YgJHtsYXN0X2luZGV4fS4iLCJQTEFZTElTVF9ERVNDUklQVElPTl9JTlZBTElEX0NIQVJBQ1RFUlMiOiJQbGF5bGlzdCBkZXNjcmlwdGlvbiBjYW5cdTAwMjd0IHVzZSBcdTAwM2Mgb3IgXHUwMDNlIiwiUExBWUxJU1RfTUlYX0RFVEFJTEVEX0xPTkdfQllMSU5FIjoiTWl4ZXMgYXJlIHBsYXlsaXN0cyBZb3VUdWJlIG1ha2VzIGZvciB5b3UiLCJQTEFZTElTVF9OQU1FX0lOVkFMSURfQ0hBUkFDVEVSUyI6IlBsYXlsaXN0IHRpdGxlIGNhblx1MDAyN3QgdXNlIFx1MDAzYyBvciBcdTAwM2UiLCJQTEFZTElTVF9OQU1FX01JU1NJTkciOiJQbGF5bGlzdCB0aXRsZSByZXF1aXJlZC4iLCJQTEFZTElTVF9OQU1FX1RPT19MT05HIjoiUGxheWxpc3QgdGl0bGUgaXMgdG9vIGxvbmcuIiwiUExBWUxJU1RfUEFORUxfRU5EX09GX1BMQVlMSVNUIjoiRW5kIG9mIFBsYXlsaXN0IiwiUExBWUxJU1RfUEFORUxfTkVYVCI6Ik5leHQ6IiwiUExBWUxJU1RfUEFORUxfVU5MSVNURURfUExBWUxJU1QiOiJVbmxpc3RlZCBQbGF5bGlzdCIsIlBMQVlMSVNUX1RFWFRfSU5QVVRfQ0hBUl9DT1VOVCI6ImN1cnJlbnRfY291bnRfcGxhY2Vob2xkZXIgb2YgbWF4X2NvdW50X3BsYWNlaG9sZGVyIGNoYXJhY3RlcnMgdXNlZCIsIlBMQVlfQUxMIjoiUGxheSBhbGwiLCJQTEVBU0VfRklYX0VSUk9SUyI6IlBsZWFzZSBmaXggZXJyb3JzIGFuZCB0cnkgYWdhaW4uIiwiUFJFTUlVTV9CQURHRV9MQUJFTCI6IlByZW1pdW0iLCJQUkVWSU9VU19WSURFTyI6IlByZXZpb3VzIHZpZGVvIiwiUFJJVkFDWV9QT0xJQ1kiOiJQcml2YWN5IFBvbGljeSIsIlJFTE9BRCI6IlJlbG9hZCIsIlJFUExJRVNfU0hPV19NT1JFIjoiU2hvdyBtb3JlIHJlcGxpZXMiLCJSRVFVSVJFRF9MQUJFTCI6IlJlcXVpcmVkIiwiU0FWRV9QTEFZTElTVCI6IlNhdmUiLCJTQ1JVQl9TTElERV9VU0VSX0VEVSI6IlNsaWRlIGxlZnQgb3IgcmlnaHQgdG8gc2VlayIsIlNFQVJDSCI6IlNlYXJjaCIsIlNFQVJDSF9BUFBFTkRfTEFCRUwiOiJBcHBlbmQgc3VnZ2VzdGlvbiB0byBzZWFyY2ggZmllbGQiLCJTRUFSQ0hfQ0hBTk5FTCI6IlNlYXJjaCBjaGFubmVsIiwiU0VBUkNIX0NMRUFSX0xBQkVMIjoiQ2xlYXIgY3VycmVudCBzZWFyY2ggdGV4dCIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9BTEJVTSI6IkFsYnVtIGJ5ICR7YXJ0aXN0fSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9BTEJVTV9OT19BUlRJU1QiOiJBbGJ1bSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9NT1ZJRSI6Ik1vdmllIiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1NPTkciOiJTb25nIGJ5ICR7YXJ0aXN0fSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9TT05HX05PX0FSVElTVCI6IlNvbmciLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fVFZfU0hPVyI6IlRWIHNob3ciLCJTRUFSQ0hfRklMVEVSU19MQUJFTCI6IlNlYXJjaCBmaWx0ZXJzIiwiU0VBUkNIX0xBQkVMIjoiU2VhcmNoIFlvdVR1YmUiLCJTRUFSQ0hfUFBQX1BMQUNFSE9MREVSX1RFWFQiOiJTZWFyY2ggcGFpZCBwcm9kdWN0IHBsYWNlbWVudCB2aWRlb3MiLCJTRUVLX1NMSURFUiI6IlNlZWsgc2xpZGVyIiwiU0VUVElOR1NfTEFCRUwiOiJTZXR0aW5ncyIsIlNFVFRJTkdTX01JQ19QRVJNSVNTSU9OIjoiUGxlYXNlIGFsbG93IG1pY3JvcGhvbmUgcGVybWlzc2lvbiBpbiBkZXZpY2Ugc2V0dGluZ3MuIiwiU0VUX1BMQVlCQUNLX1NQRUVEX1giOiIke3NwZWVkX3JhdGVfcGxhY2Vob2xkZXJ9eCBzcGVlZCIsIlNIT1JUU19UQUJfTEFCRUwiOiJTaG9ydHMiLCJTSE9XX0xFU1MiOiJTaG93IGxlc3MiLCJTSE9XX01PUkUiOiJTaG93IG1vcmUiLCJTSE9XX1BMQVlFUl9DT05UUk9MUyI6IlNob3cgcGxheWVyIGNvbnRyb2xzIiwiU0hPV19QTEFZTElTVF9WSURFT1MiOiJTaG93IHBsYXlsaXN0IHZpZGVvcyIsIlNIT1dfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJTaG93IHNlYXJjaCBmaWx0ZXJzIiwiU0lHTl9JTl9MQUJFTCI6IlNpZ24gaW4iLCJTSUdOX0lOX09OX1dFQiI6IlNpZ24gaW4gb24gd2ViIiwiU1RBQkxFX1ZPTFVNRSI6IlN0YWJsZSB2b2x1bWUiLCJTVEFCTEVfVk9MVU1FX09GRiI6IlN0YWJsZSB2b2x1bWUgb2ZmIiwiU1RBQkxFX1ZPTFVNRV9PTiI6IlN0YWJsZSB2b2x1bWUgb24iLCJTVEFUU19GT1JfTkVSRFMiOiJTdGF0cyBGb3IgTmVyZHMiLCJTVUdHRVNUSU9OX0RJU01JU1NFRF9MQUJFTCI6IlN1Z2dlc3Rpb24gUmVtb3ZlZCIsIlNVR0dFU1RJT05fRElTTUlTU19JTl9TRVRUSU5HU19MQUJFTCI6IlJlbW92ZSBpbiBzZXR0aW5ncyIsIlNVR0dFU1RJT05fRElTTUlTU19MQUJFTCI6IlJlbW92ZSIsIlNVR0dFU1RJT05fTkVXX1ZJREVPU19URVhUIjoiTmV3IHZpZGVvcyIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0FUVFJJQlVUSU9OX0RJQUxPR19CVVRUT05fTEFCRUwiOiJWaXNpdCBzb3VyY2UiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfREVTQ1JJUFRJT04iOiJWaXNpdCBpbWFnZSBzb3VyY2Ugd2Vic2l0ZT8iLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfVElUTEUiOiJJbWFnZSBzb3VyY2UiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9MQUJFTCI6IlZpZXcgaW1hZ2Ugc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfTEFCRUwiOiJJbWFnZSBmb3Igc3VnZ2VzdGlvbiIsIlRFUk1TX09GX1NFUlZJQ0UiOiJUZXJtcyBvZiBTZXJ2aWNlIiwiVElNRVNUQU1QX01JTlVURVMiOiJ0aW1lc3RhbXAgbWludXRlcyByZXF1aXJlZCIsIlRJTUVTVEFNUF9TRUNPTkRTIjoidGltZXN0YW1wIHNlY29uZHMgcmVxdWlyZWQiLCJUT0dHTEVfT0ZGIjoiT2ZmIiwiVE9HR0xFX09OIjoiT24iLCJUUkVORElORyI6IlRyZW5kaW5nIiwiVFJPVUJMRVNIT09UX1BMQVlCQUNLX0lTU1VFIjoiVHJvdWJsZXNob290IHBsYXliYWNrIGlzc3VlIiwiVFJZX0FHQUlOX0xBVEVSIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIiwiVFJZX0FHQUlOX01JQ19QRVJNSVNTSU9OIjoiUGxlYXNlIHRyeSBhZ2FpbiBhbmQgYWxsb3cgbWljcm9waG9uZSBwZXJtaXNzaW9uLiIsIlRVUk5fT0ZGX0FVVE9QTEFZX0NPTkZJUk1fQlVUVE9OX1RJVExFIjoiVHVybiBvZmYiLCJUVVJOX09GRl9BVVRPUExBWV9ESUFMT0dfREVTQ1JJUFRJT04iOiJXaGVuIGF1dG9wbGF5IGlzIG9mZiwgYSBzdWdnZXN0ZWQgdmlkZW8gd2lsbCBub3QgYXV0b21hdGljYWxseSBwbGF5IG5leHQiLCJUVVJOX09GRl9BVVRPUExBWV9ESUFMT0dfVElUTEUiOiJUdXJuIG9mZiBhdXRvcGxheT8iLCJVTk1VVEVfVk9MVU1FIjoiVW5tdXRlIiwiVklERU9TIjoie3ZpZGVvcyxwbHVyYWwsIFx1MDAzZDB7MCB2aWRlb3N9XHUwMDNkMXsxIHZpZGVvfW90aGVyeyMgdmlkZW9zfX0iLCJWSURFT19MSU5LX0xBQkVMIjoiVmlkZW8gbGluayIsIldBVENIRUQiOiJXYXRjaGVkIiwiX19sYW5nX18iOiJlbiJ9KTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJEUzgxWFZmRU16aWRXLUNhcjZVZ05RIj52YXIgX0ZfY3NzUm93S2V5ID0gJ3l0ZW1iZWRzLmJhc2UuTnhuaXV1WkVUWncuTC5GNC5PJzsgdmFyIF9GX2NvbWJpbmVkU2lnbmF0dXJlID0gJ0FHS015d0hVNnFITml0bnM1WHFZRUstMnl5VUVhR09Wa1EnOzwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvcy9fL3l0ZW1iZWRzL18vanMvaz15dGVtYmVkcy5iYXNlLmVuX1VTLl84OFR3eXlIS0hzLjIwMjEuTy9hbT1BQUFBZ0EvZD0xL2V4Y209YmFzZSxyb290L2JyPTEvcnM9QUdLTXl3RXUyVFFVemRTRjBBY3NGQk1VckZxeXVyS2x1dy9tPXJvb3QsYmFzZSIgbmFtZT0iZW1iZWRfY2xpZW50IiBpZD0iYmFzZS1qcyIgbm9uY2U9IkRTODFYVmZFTXppZFctQ2FyNlVnTlEiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvcy9wbGF5ZXIvN2E3OTY5YzIvcGxheWVyX2VtYmVkX2VzNi52ZmxzZXQvZW5fVVMvYmFzZS5qcyIgbmFtZT0icGxheWVyL2Jhc2UiIG5vbmNlPSJEUzgxWFZmRU16aWRXLUNhcjZVZ05RIj48L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJEUzgxWFZmRU16aWRXLUNhcjZVZ05RIj53cml0ZUVtYmVkKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iRFM4MVhWZkVNemlkVy1DYXI2VWdOUSI+KGZ1bmN0aW9uKCkge2lmICh3aW5kb3cueXRBdE4pIHt3aW5kb3cueXRBdE4oeydSJzogJ1x4N2JceDIycmVzcG9uc2VDb250ZXh0XHgyMjpceDdiXHgyMnNlcnZpY2VUcmFja2luZ1BhcmFtc1x4MjI6XHg1Ylx4N2JceDIyc2VydmljZVx4MjI6XHgyMkNTSVx4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIyY1x4MjIsXHgyMnZhbHVlXHgyMjpceDIyV0VCX0VNQkVEREVEX1BMQVlFUlx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyY3Zlclx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMi4yMDI2MDcyNC4wMS4wMFx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyeXRfbGlceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMkdldEF0dGVzdGF0aW9uQ2hhbGxlbmdlX3JpZFx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMHhhN2UyOWZiYzY0NTUzYjUzXHgyMlx4N2RceDVkXHg3ZCxceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJHRkVFREJBQ0tceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmxvZ2dlZF9pblx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMFx4MjJceDdkXHg1ZFx4N2QsXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyR1VJREVEX0hFTFBceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmxvZ2dlZF9pblx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMFx4MjJceDdkXHg1ZFx4N2QsXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyRUNBVENIRVJceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmNsaWVudC52ZXJzaW9uXHgyMixceDIydmFsdWVceDIyOlx4MjIyLjIwMjYwNzI0XHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJjbGllbnQubmFtZVx4MjIsXHgyMnZhbHVlXHgyMjpceDIyV0VCX0VNQkVEREVEX1BMQVlFUlx4MjJceDdkXHg1ZFx4N2RceDVkLFx4MjJyZXNwb25zZUlkXHgyMjpceDIySWhNSWpxS281YW55bFFNVkV2cFBDQjNRaUNzZVx4MjIsXHgyMndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGFceDIyOlx4N2JceDIyaGFzRGVjb3JhdGVkXHgyMjp0cnVlXHg3ZFx4N2QsXHgyMmNoYWxsZW5nZVx4MjI6XHgyMmFceDNkNlxcdTAwMjZhMlx4M2QxMFxcdTAwMjZjXHgzZDE3ODUxMzcwNjVcXHUwMDI2ZFx4M2Q1NlxcdTAwMjZ0XHgzZDIxNjAwXFx1MDAyNmMxYVx4M2QxXFx1MDAyNmM2YVx4M2QxXFx1MDAyNmM2Ylx4M2QxXFx1MDAyNmhoXHgzZHF2LVU5cmpvMC1FTVNMYkxIZWhUSjJpSG9kZUhnRTB1TXVpQVdodXJheUlceDIyLFx4MjJiZ0NoYWxsZW5nZVx4MjI6XHg3Ylx4MjJpbnRlcnByZXRlclVybFx4MjI6XHg3Ylx4MjJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWVceDIyOlx4MjJcL1wvd3d3Lmdvb2dsZS5jb21cL2pzXC90aFwvLWtLWllYYllMMXpLZGRWV2lScEtRQXMtRkZybVhpXzZVa2NtaEZsWUxvcy5qc1x4MjJceDdkLFx4MjJpbnRlcnByZXRlckhhc2hceDIyOlx4MjIta0taWVhiWUwxektkZFZXaVJwS1FBcy1GRnJtWGlfNlVrY21oRmxZTG9zXHgyMixceDIycHJvZ3JhbVx4MjI6XHgyMmxydjNXZzRCYTNWRnduenl3dWV4RW9pWTA4cVg2M09hVWVFZUVJZGxzeDJQbDBHbXdBVmxmd2pMNWVGN3U2cld0TnQyZGF4V0c0MFVEZk5jS2R3TStyV0FoV3VXVmdNNjR3XC85SFFrejdQR002a09DcmxBZDBBeUdKUFFjVFlWUkU3S0JqMmgrVHVCUHVlcjU5ZjBIZVRCeHVKWHdhTWs5VW9TS0MxdWUzMmtLbU5QTFZ3SUVoNEV5VXpUbFRwbm5yMVk0S0JWVDhUUGtrV3ZSc1Z4eXZEV0JJSFNvbzhxT2J2UjJQTTRZaFRyYnlLNkxsbTlIUDczZ1BNUWROMWt4ZXpDOVpJOVMxdW1CRjRrNXBCU1JKSTRzeHJsSkF6dnRPSE5qcTBYeFBETXdJbW15b0hsRU5xV2tDWkRtSVI4Z1paekNtaUlNZ2pVVDFDS3dlWnhiTnMyaHZLUzFoYjJWc3RTYm1LU3ZlN3BzTXU1TVJmd25LUXpmRUpwZlQ2MFlSZzIxdUZreGlFTXc1RWRtWU1xNTZWSGlMZG9ONFF5NmJNNUw3a0RvSGIrd3EyalVyK3llazdKaGJHdndUUlZUQjc2ZGIrYTYyNUFFcFdXMEdyVmlcLzhoSXNHWVBPK0cyTWR1M0JicDAyV0EydFRGb3dDZU5IQU4xaHMwMEQ5ZjVRczJwdVhSK2dcL3NHcVpXcXFZYmo4V3l4eTFHVXpCMzZLRzlyNUVXZ0JGZXZHZlVFUTRLM2hsenBSc1Y5UnBnRStqaFpPeVJ5UElucHZFMlY2aVp1b09pSWI3OEx2THhWTlZ1OEF6QkpJYmRiRVgyczd5ZnozYkNwbFpybWhLSFhQZEMyUEp0MHRvbUdXbmRcLytHb1BDMm1NTFQ2K2Z6UjRmajdMM1pcL0Q0eG1XWlplbzJlZUdjMHErNkdkRUpuTWJ4bjRyTmF0KzRpb2lLZXQ2Q2huTUtVNldjcklBakpuUmpRamxlNTlLSmxJR1R4SFRNTmNSeHd1SWw1WlErS1lhZzI3bTJcL05KZWduVm82RE9YTVwveDV1ajRcL0VmZzRpcUlKNW84UUtqUnE0eWhiOHp3d01JNXppaHBkajBrUWVDeVJsNWp0TG9Oc1N0UEpWN0JPclJJSXRxU0NiRUV3eEN2cmtib2Z0a0xNeVlYaTZxVWxoRDUySzcrNHB5cTIyMVNub1VycE1zK2N1dXVkbWtrc3I4VU95Sjd3andTRWk2Nk8yaHBKb0Z1eTVWQmlxV2p0K3BPc1lCRHpYYVpxZzB6c3Z0UlwvNlcrMWxZTXMwU3JrUjJUZWJkNUsrYmNLQmRVQVE0M3ZBSGlMOWtYSTQzY0RBMzR4V3NnaHBUUHJWcSs2aDlIYlJZU3pIZUxwUzhnMmVWZjhpSjJ1WFdoRWtBQjFtYzZ6VTQ3SzJuTElCOFpQZHRlSTUxdm1oaG5JRHdFcHJVeThnQWVjSWJRaXdHWlNNeUhHR0FQa0xwWGhldTNoQnQ5dVNJNVVSdWJBWkQ3dmlIeE9sK0Zadm1VNFNOckUxTFhXY1hJRHBJaDJrTEVqdnVrenhhenNiblJmNjdlTnVVdFFudmI4RURGZUpZRFcrUVZITlpjanM4N1pjQlpTdFNJOWdSTERwbExOTzQzajE4NEVcL0UwRnpMXC9VR1lQdVZMWVcxOUFsR2JCNVVMUlBcL1wveGFsQ3prakNpRmtyazZMcjNhV3pheW9lYUE1UXBBVVhPT2JETVJEMFVKSFwvM2Y5dXROYkg0Qkx4TE8rc2JGWWhaaWhDTDF1TjRheXdqcGNINGthMlVRcEN5SGpUOGd6ZFwvb0lKbzVMU25LSnU5NHYrVk9EeDRXTElcL0YydzR3SWFnaTVyZEJ3dFdxU05ncm1PbStDMUJCblRCWDJnaEFCcWQxWkVvVFFlcENQbkx5NjNZNjAzT25uRHhac1VHNzNDRjRsMmtWUUc0WnRmMGQ1TWRlQmhkZ2hTM3NVWE9vYURWQUNzTERoVWt5bVlDRjZTQjZrYWpnUGxvZHZuQXNiN25QVENoU1Zpb093NHNna1dvVEdmMUdwOFNLUXp3ZE10eWhxcUtmRVJTZ291UGpDR1JIdWN3U3ZTak14ZmRtaFdwemdXcnRubnRVY2x0dThBUlA5VUhuVEo1aUZRZjRHOFFjeEErSDBUaU52NW1zWHRNR1ZMVmk4WVJabkUxbk1HT1FcL1JpdXdFcEFGR0JhSlE4cERXQ1hqeFdcL3N3N005S3ZxSE5BWUpVUytTbUNKZlkzcHZja2RHU3hZYlNOb1c5blhLbDRrQ1Q0SlZXdWRlY1VlWUZIem40emZrRCtPSk1ydzhVNEtXRUVXTWZtRDdxMWJjZFpKQjJoNE83V1NSeERmSGVYRjBqNW03XC95RkJrVDJqazJuSGhVa21TaVpYR0VsazlZVmZ4TzVFdFBEemNPcitoTFZITW9jdDNmYllqRzQ3QUNCOHlFNXN3a3A0ZWpZT3ZvMnR5aGtEaFpsUUFKOFwvNFNhOXl2NWNET05ONEZKXC9kTjNPRkN5TURCOFN0MEhJTG5cL1ZvSnhOZDNXU2U2bFZ0akNBME1Nd3ZJckpqTFU4eFA4RUFYakU0Zit0SDNrVHluUnk2eERsZHdzR2VnaXFPVnhTXC8yeGJOMUx3ZWg0dDgwdDZzbSs1elowVzVTb2hoUW83dldwNTN6XC93dE5qck9HSlNRUzZlRnh4RDh5REFsQlhPaENvKzc4TzJIUnBjWng3aXJYcXYzdW5jRVlJeHJxa1ArZEV4NjN1QWRKY0V1cDY1MWFBbHRadUs3ZnJzd1AwcVNNUWp5N0JlcnlMVDlBa2hpUVZpU2R2VWFsY1VOaFFqa0lxNURcL0N4RTNWZHF5eFU5eTN4alQzR0xtdmlDYVJMNHE1VzI0V295XC9VQ2FcL1ZLRXhYcjBWckZscGo5WE51UUVCZWsrbzczZHRiNXcwbG93Q3JvaUlIZW4zQWM0a2dxYTFyRTN6ZE1ZTmFtc211OVF6WjZJNGhoa0tYMlwvWkRpTm9FaXNmY0J2cjBZSmViODJwSzMrODhydkhcL0NyK1RXVHdMR253QTNjZ1hxbFY4OWdBbTUxcVFYeThTdEh1SFwvWVVyd2NMMUJrdmJWd1Vhckk0TTk2R1BqR3pENVdcLzc4OWNTSGtjY1Flb2JJUURrZDV6TXdoNmROcVFkaDlxN2FHNmFmc1lVcExEa0JmWFwveUJ1QmFEUnltWnZRUzBsQTNSYUd5UWd3eW5BTmE4TVppTkd6dFYxcW5rbExPaWdOSEdYdzRwMllnOGxNSitocXF3TGdTVlhJMXJwVkFKV1pRQjYyRmNtdlFnUFhLUWl4VVM0ZHBLT3k4RzAwU0p4ZUdBbFZ0WlZHOHg1bXlWWkJySFJUZ2hNeG82TlIyVlZvY3BCNzY1RDlkXC9JTjdKM2NXNU9lR1BFMVM2NFNPcXpsak4rWlNDXC9uRXVMZFRxcmFiQWhZUEdOUFlTVmRpbHBtVEt4VmFzU0lRU2V1MUNQZVwva2Rud3FjRUozSVBOZDl3UUdQbmw2YVlRWnRmdkRWVG5PUXlBSHZLQmpGME9WRjVHVGllSmxWOHRMMVVrT0wrVFlQeHNpY0hJdFhtWnRwV3BlaGk2XC9FekxoVXFzaHdDQXd3WnZxTzJTOFpzXC9nMmxvZVFrOW01aDlqdzFNNlwvaEdkN2hsZVhrNTRZS3g4TUkxa0ZpNk5WNkdaOEVKaFMrK1ZsNlVrVlN6UFdsYm5zRDh3MFQ0THg2dXNEM2xlXC9tTnBkMkI4NitpeUdpVWljQmRcL0hsUWs2Kys5eFJTN0NcL1lmMU1VNjY5S0JBelVnK29UckowTE5MaHZcLzFSVnlGUEhHYmk1U0cyZDBxK2xZU0JOY0xsZW5ycURYTlpueEpraTdWcm1wSWtacWswT3RvemcrR01GZTNYMWVqdGkxRUtmWTFUNlFTNzJ3bGJHTjcxaWIyeUxUd2tEZnd2QzR4UUhuRUpBSHhGbFdtTkFBb2xVS1ZITmx2SjR4cXlcL0pyMHBKRXQrMEtCXC9TQUkrMmRvcEpRWEUrRGd6XC9DZG5UN1NsRkdcLzc2RDBSNjlKXC9ubEdzc0FzZXc0bGRKam9UajVYODVzalBKS1FoTkVucFwvWUhkNjdDWEpkTjVXa2RYVkJ5YWlZNUxka3cxdTRydlZ1ZEhORHZpb1U5XC92QlBzRHRrUGhcL2NEVTlHNTAyM1pIMnpxSlcyNlpybk1BZU1EbFc2YWFaeTErb2xCMEp6OTZhbXEraHI4bFViZEFJWkhqbVZyOFwvWk9xYnFsNjZGakk4ZkNJRDFFMStrZFZSZUw4WGltWnlWVzl0Q3lJcDI5Q084cVZzRnUzSTJ3RzlCNGVEWG9yYlAzSDE5cENadklkVFdzYkgydzZpZGd2czl0dnF5a1RtZkJrRnFrVUlOYzVEN0hHakVMcE80Rm9lUk5lNXNkQ05JUVhhWlFNRjJ5elpYdnlHVmtsd0tVRldzelN2bFFGbktwVzVcL205ckVZcFZBWUJpclwvdERhQ1ZcL1B1NEp3dVFmbklzYStrOFI5SDV4cjk4XC9VejNTMGdKczlraE5JWW5vOEdFNEFwU2NlRksrK2hjUGJDY1RyNmNyS2I1KzQrbnNkR1JUNGZMd0FnVnYwMVJERnYxODd0eVk4UmxZUDdKeFQzK2JsQUZFOVNYV2RpamF0NlY0XC9kSlhnYXRzVHpaM3c0OEpLWGZCVWZ2UmNDR2grWlhmZGpxazRaZFVcL1UxREdrTFhFaGJ4YStuVzZtdENxSFwvU2xUc2xxdU1xNFlLOVBGQVNIOVpmUDJqaVNGMWRDZUNMR21Cc2x3N3BjU2lzK0pxaGZFNGMrVkNTR2dwRTJYWVpZRVZvK0JZK3ZwXC9GUFcyWWRVbmRwcXl1MkRtbWhMNElkZFJYM3lwcXMrdElLcHRGK3dSVWY2TlwvcmFveE1pMHZWeENjXC9sS1JPeW4yQkd0R2VoZGZUK3FiMDZjYlVvaTl3b0tcL2FnbktTVU01TkpSK1pRZmhRMXNYRHBTT3c3SStLNW96NjFOeW93QkF4YU5CdHhHalRWamtWMUJnVWtWeDY0R3o1RDZ3YVRvc2ZXWitYMFNaU3FkXC8zRWpabWR2cEZ3Wjg1dmVQSkRwSHh4SEcycmtYZCtzNWc4XC9TK2pQcklRdFU4ZGlXaGRJWklPWndNUFg4aDV3WHhHSVc5eHUzbW02OVlTRnJjb2VuQXp4b040aE5uRTZLbTlLNlVaVWtobTJtMngxMkxNUnZDSkUxbldyMWFjQzhtS1J2aHZtNG9cL0dVVWRsZGhIXC9XZ3hKS09NamNMR1JYa1FMMlN6K1IzZVE4azZQd0x0Y2g1Nk9Da1grN09DbDFteFhNVWZCdGFrd3JxXC9DQmU3V2xNc2FlZE5WVkd3S3VwTUhGTkM2eUJUV0puMjd3S2xXbHFBSTQ0XC9sRFVrZ0hGeGdKajM0RlhqYXVNREh5N3dHMlg0ZmU4dXkxQm9PdHVqU2h4OXdGdzF2RnZZZXMyQzhTcnR6TTdOcENwcTV1c0t2RXp4MzZkNks5cUtEeEgyVFJpdlpUZmxsOEdlVEVTRnFcL2JUZTd0WHhvQmJUZVFsUkxcL1d2aTdxR1wvOHJwZEluOVwvWkNyVE1xVXhpV1Q3dWNDTkFobUp2WGdzdDJVbjI1b25GcjY0bzhDWkJsR1JCOENzRTN2U3hwSkVsM3lpQnpoQTRlWHV2cVdjQU1nZ2JXeGVNak5ncXJNRnN0aVF2eWZndU9OOXlPOVFUSDFEWWJ0cXZlZTVjOHUxSU0zSmtiS2g2THVxcWdMK1FZYXlhbjJpZThNckd3WVZcL1paNW5ZSFRqT2lhUDNcL3FvT240YlF1VXkxRERPZ2RPeUZHZE85UG9Gd20wM05XMHNVbDBTV2UydDhxOWlCdjN2S3dkVFArV01kSW4rcjk5K09kZFZzcE9kcGF2RHRQZ05Ec2JJTFkwMkpuUGJVTUFKcTZTejZDSVNQUlE4V2lTZkF4SVJvVkJtcWV5WDdKQTArVTdaWVVOQUNNc3VwTEFZM21VbDVzRGl3UmRTUU81eFVza2NNN2RqcWdJWHRoQjF1cER5dVBVaGQzcURPRCs1N1lOXC9VV0FlR2IwZzJ2cmlHWTVyWVBTWUR1THRjbzRIejNOb2loeElUOWJ0Sm9PKzlRK1Vmb05uY05QWXpFUjNROVNGeVBnYWM1Z0k2VXVFWWFueHc5YXFDaXlpMEJxZUJvZHBkTzhBU2c0YytsOFZYdTR6VE5IWStWeDFZbUx4MW9UTWxEZDhMMDZSXC9BdDBxSktnS01HcVVrUTRXMEZ4bmZqZWZNRUhrQXZWT0V0emdndHhkV1pZcDMyNWtNREV1eG44RzlESUdzdHB2WndBRjdYRHJnUG9TMTEwWU1nQ1hpUUY5T3EwQ1hLS0d4c3FnSjI3ODc4bnFBWDdiZGl2eUlwc3RBVGJObGVDeG5KdURYcjM5dkQrOU1iR3NQNjFDR3ZkUlY4aTZTVlZaYkYzQ2ZSc0R0T2E2RFVUaE9vMWhSMWNENUNKUVVpR0Y3ZE0wcFJ0aFVPQ3FsWlRBQTBWYTFsVGlIZ3l4Tk03YXk4cVwvTzczZnViYnVyNnZFMnRtTjUxM3FjczRTODk5MU1DbWZQTHNCOUZrN0tjWWpLOEpPS3JmYzhmSGVVVVJ0dERadHc4R1llV2Jvd3VDRWx3K005Zmw2K29KbmIxWFpkR1pBejAreHNQYTg2VTNkbmVER29icDFzNDdIc3cyQUxpc0xEczhXNlZqTlRMVE5YdjU3OHRTM21vcVo5RmhVRENZdUlYRVBKOGJsZmNJblJ3bkdRMmdZWFhRT0g0V2Vvb1h0cWN1TVk3bnA3VXRqUzZCZjlQaFh3QUhyXC8wTFNjT1wvSDJZT2FvbGJtR0tkVGFDN1VhQThOSmpWU1wvbkpUTnZ6MHdYTFhYcE81a21mMjhjM0lndVdTWHVTc1o1SDhmc2RsTjBwWk5BbEFlK08rcnZHeHJhanJJTjZHMTJrcHZMUno1c1lFQ1c5RWNnQVR1dUFjUitmRGZkdVVFNFNEZ3JFbnFJVTVHY3JteDNmM3FUaThEQzZ0YkhLbmRtTElCMldqUTFaRVErdXlPUW5odHZYYWl4R1wvaFhJOW9DSlwvK2FcL3FaRnd3TkpWdTNyM2tIamdmcW1FVkl0OEhub1RTeGUzWFY0emw0UXZtdWF0c3h0ZW5qUkllR3l1bHdNbEMyZXZxWUp3MFdQeVdNK1YrQWo3VWVscnJTRDIwak5JY1JPOWdUMGluRjNlVkIrbE00QWpvd0lBeFlkSk9PeWlOeXBEblN6WlwvaFlCSnUzdlZSRlpcL3hXTGFFeVVyR09naWFvR1MwYm1WaVwvS2FTUmpxdFRvdFdJbHNFQlwvWmRnUGNqV0xNeUNaMkxLNXdFOU5odVRtbXNZWGMxdzBodE9udG4razg3c081NWduc2NhSWZiTmxHRUp0empwY0tcL1dNM2ZiWG1XZUxmYUNpN1FFeHJZOXU3eE0yUlEzaG40bjAydWhtR1lSSGdFYk1rakhhK1pkQm5iT0JTYVViMTAwWmRDWFwvMHc2MG45Sm4zaVhrdzZwaUlzUFBnYXROYkh3ZEZiQW5XTWMzZTNiaUE3bjZEczgyaFN6ZmxnS0xEVnZlWnhmMGlzR3k4N3ArNFoyeUJ6NUNlNVwvZDZ3XC80ditHQzhPYWY2TjYwZDhqb053VzdGaXg5RllVQnFGU1dhTkhzVkpDa3RkOFM3ck9HbXlVcXMzVStMMzZHYkh0TzRPWE9OdzQ2MU5yVUIrZGJMTTBEQlhUbVl3T24zemJLU2FHaWQ4dVVTa0tMczh0NGxuQ1RxUmtjc216T2UzWXR5RmlnNFJ2azdETkhqY2tKOW90QkZRNFwvOXFrQzJ5VUY1NlNHa1RPV2tQMWVxK3NmS1RmR0dDU0N4bzQxdStwaHpSVmpMMXBFZ2gzWHF2WWtrcUtLSytxc3ZmeXZqMUYrT1RiaWZxR3R6SllRZXZ2SG1ROHFWREppZ1FJY1lIeEdBVmdnemNodXFqTkc0V2hxVW5iTEdMeG9NXC9mRVZkQ2NMRmJmZ1Q3Z0tQVlNsN3krcHBLQWpLTnFoeUhVb00yZVhaS3Y0QjhhMGdDRTlsTFNXXC9vcTNRcWNSdVlzeTZaOVp0QkQyMDJwMDBWc2RXV3pjS0puTW5PXC9TWEtTWWFQbHI0Mm54S2RLQXo1bFAwaTlVeVJFUmJ3bXJyUmFNMXppWjJjQndXVE1QcnJDdkZpZkI4QXVPdU50dzNISmtNUkdRNDRVdU1lejJVUDFsYUUxelNBcDhLdEdxZWZtOFRnYWx6Q0FjMlY5c1wvb1JSRXZIZEp4XC9BUlhPTys1VG1lRnFSQ1VTSStJXC9RckhuR0RDRkNtN293dzQybXE1MmdCbTVmTzVBQjMrT0NCTzVFeVwvXC9na01QemJ2NXBRaVlQYVlzTmdkWDYrTkhcL1ZhNDZZZTdRQ3JxakRZNVRNaEdpYmphNEZGaWhuaEptWHVmRUNPaDRXTEZnb1pidXMrbnBSWmsySFhiRjRKSkQ1VHJoR2V2Q2dcL21mVGdSUXVuODQ2VHBMTnA4NlZJaVhJeVJiU0puSE5Dam1FV3ZyNldcL1wvYmxXRjRqVkh6Z1wvRjFiQWJLanZwQlwvNFQ2c3RLYnJzT3NPejB5QWloS1p5QitwY3RpSlhTZlwvWE93VlRqU3p2aUsyWnFVVld2Q1k1QTJPZ1NcL2hcL2ZoamNDNmpqTXYyaWFoRVBmdnc4cTlndmF0R2JSXC8rVEJVOUdvSkRkelFMNU1qSE1MWnlMbDFcL3ZudFFJMnZ4RDZoUDBNTUVzMzBMWjA1cXhXUmVLdVI5N2VUVzdtNTZiaXB3WEFIY3JjUHVSdmpRUVwvc3J0WVZYaENhcXJHMldrUHFoV1VZRmRYaDJjbHRqVURiNXd5Q3JHR2dFd1pxV2FOV1h3VkNCT2dzTk1vWFRmTHhxMkxlOGpIWXB3TkY2ejBnYWpQT0VsZkc1R00rVUM2Slg2elNYQjBoTndhc3hwQjliWlBSWU1iNVBLVUNpNGRhKzdtc2FDN2tJOENqbENBUmp6OHN2OHpMdHptWW5nMlRjNlNpeE1HVUFJenZrckprMXdlQkw3R2tnZzU0R3YrbGxtMkF2d1lESTVOYTNRcXFJbzA5K3RcLzFZanI2VFN3MUFEUHJ3T3VuOTFBUmFQXC9OU2FQSVRtUGs5M1wvdnM4NTFycXhySXI4eHU3aENhYXdmekpzWDh1NktTVklHMmVrSkQ4QmV1ekIzRkZYWmVkU0VYWk0yUno5RzN0TUhOODBNanpuTGZsZzh0QXUzeDYzN3FkWThNUzlFUEtRTUNmU0pyNnFRT3VsM0JaWnFPK0pLNzgxWnZNMkFVdzlvVkIwR1pocXM4aGpyS3N3MXJRQkJZTUIzTE52YUMrUmFSNXA5RFVWXC9VdFFWa1RIbkhISmpKemtDbXRsNVlQV3lUZm1ubHZoR1wvOWVxNWFyc3pOQU53UmduMlNqT0dcL3dZOExtMms1RUV6OTFuakM5WEdWMXYzeDRQejNPOEtNckI0R1JvK1pjZU9KSlh2b2czdkZGVk05TDFET1V1cG5zdytcL3pVSW1UU3IzRU1RZjZPSTVUSVwvcTIzaENDeFBxZjVFVEY5d1c2UlJmSDNhVUtOZVU5RlJrY0Y4bFwvY2IxaUtEUWJrVDlrRDVtNzJsam1DV3U4OER4TUpVcnRSTzVVYmdBR3NBQzlOMk5BdHBCNEhpaFJwbjIwWldKVUluSm1Mc3N2aGRDVXNZeUhWWmlVWk5HWW5vbWkrdDhlRU9BZTViaUU5N3d2MXcxenhsU3hXUFJIcEFIYTlcLzhhZlVBUEtBTzgxREM1dHh2a0d6RGl3ZU9ZbEUrS05ETjZucjZ1K1VKZTZIbGk3NTBYTTNPS1NSZTBsejdLdEJMbnB1SlZBUlVYUWFBelV5NXl1NE9vMW1iYURtXC9HK2VSZzZBTHloc09DaW5vbklETUt5TFJIRmtFdEF5M0M0dTUzRVhLUVZEbm03VGlVK2JXVkNiem1IZ2Z2bm80RmlyXC9qNlAzSEFkVlRPWmZkXC9CUFhZUnZVMU5yV0JVNkQycWcyTURuaFwvWngwS1ZrYkVpXC82Zys3a3VtNk9LK1JsWFdmVjN2V2gzaXIwajY3UzBNbmFpVUJ0QUt5WXNmMXVoaFFFNFd4YU9XZ1JHZFNXeVwveEJ2NHhyUTV6dnhpWjRzU1wvN1ZYeTJvTGFhS0RQMEFPS3IrYTJKYlhETCtrdjYwY2NJTHp4NVwvck1kK0tIcW1cL2pOMHVtU2N2c0xORFlvM1wvc29EbVdBdGpuYURwU3dLQXZxb0VCQTQ4a3JjY0p0ZFdUSkpcL2xWMDJwd1lKZkNaSDczU2luMGlcL2tCMkpKN2JpSXkyeVlVWTk0XC8wZzdSVVo3dzR1cnhYR1JIaFZwMENUNG82aXVRRDRmMVE1RjI5MGZCWGhsSVNZTjYrYXdua3J0cldxR3J4M2dEXC9KdTdUQTZvdXppXC9NUW1JNXpwTVpQVnZXeWJYS3p1MkRGVnpqMm5CQzlFdlcyRTJTMnRQdUY4bWdTbUY2NUwycUJCdkVLbWhZUGFjNzh1dXBGRVdrcHN1ZVNnNDVsdnVlSUlXRHBybkNPVHU0d2xXTlgzOXVJMDRUNk5Ldnl0ZVh4RzN0MEwyK3lEdXRiemJiMWhqQUE0SENKckRDZmpcL2cxWEdpM3BxVFZ0NHgxQm16dkllSzlVR3dXTGZlY3lkdlpUWnJqK0oxZEtrOGRMNEJkbEY1WGlaMDBlREhndDFiWGIwcU5xUmp3d215UG1ESUNLTEtRdXVyXC9Cdk9FZFlFVWR1M2RiVkw0XC9xd2RqRVI4TVNzMFF5S0hycjJnQjFjNTd3VHhVTXdmY2RFSHZnclpBRkhkQnZNaU4wckg4bnJ6bUVvWk82Szc4ZFBKaUh3NDNjbmdoWWIrVVwvVFRvZGcxXC9KalplTHFTUkY4TnZjd0VuRzh2Y0F4anVpYXhiakloSnZnSmszUzhRUjZZRk5QNjdtcFkrUVVzS3plcnFMZDRkdUZ4eEhiQ0RCcDNaZUVKZHhadVpxWXI5b1dtY0NtUlRWRTFSYkp4UnhOZzh6RmFwNEFNTGVIaEpXUEVJZzdcL2dMbTdNYmVMdGU1MEhXNHFoMXBFdmhXY3lYYWFsN3p2d1FjTkJNc2pBOEc3U2tWWkFQNGVvVXd1Vnc3M1kwVXVNTys1bnVKeURwRTZXUDl3NVMzT01XVitPckJOemhzWUIwMFFLYjV3V0NxZzRvM21RSDRyYVQwNXNrdHFiSTdGdUoxN2ZTVGlqWGRKM2UyUzJTSUlFQ1V4b01nR2w1RjlMS2dqOEsrT3E2cXhcL3hGSmlYQTEreUtIQ0hLb2VuaG56c1dBVFVUV3owdHY4b0pRUTBNMmMycm03eDBTN25FV2piZG9oWDZDS0k2ZFQ2VHBzQlg1Vzl4NUpHSDNEaVZxUkdVT04yV3lcL1hmWmdDOHRXYTJoZUxKellTZVR2dkhpOXVqeTM2QWRIRHQ1U01YaTM4NU9jcGlGMXhmb0JNeGNRVXhJMjM3cENjbml0T2NTbWM3blJBQis1SGJKcHYrUWsza2NkQjY3NmVIWVlmdVwvMlpWUTVwV2JKcUVndjVEVjFvTUxPOVlBdXg5OW5pTDRyUjE5QnBlb2RQOUdkdWora3MyaVRHdjlpZHVyNDE2TXM3MGRxeVl6SW01U1lPRFJlXC9mSVVmYkZySDZsRXJ4OWJXdEpHWll4cDBOeDlZZFA3MXBZWGdSa1RTVmFuQWpSZzFkbFA3aTdBdVVISEhCaFpESlwvenlETkVWQUNFdmJ3VThOdU1jeXRaYlBYU3lHZVBmcjM4N2NVVEFKT2FocUdiYXFCRm4rczR5WlpEV25iOWZRaDE3cVFsZUM1UGwrTmdDOVluZTRueTdhZzc2YUVkZGNDRlpKYUVERjdHYnQzb2I2ZGFTbE9TQ2V6T0tpN2lnWUVjS0lWcEpqdmpZT3dnRDQzUnNlODJPaWFaZ1NQck43OUs5WlZzTGxTYytHRE1KeVF1RXVWcmplT0xxMEt6cGhoUzVmRnBLR3Z6SVwvOWxBSE5nM0pjalNoU1wvRUY2QkhPTnJzNUtTbUY5dHNYNno4TDE0d2VZYnNxc2loMTBJUlFHY0VmbWM3UXpJXC9QVVA2RXdDVVdHTUFJZURcLytnZm1UUVp6SGQ4aWFDRkFVM2dnVCt5ajA4UDVBd0NkT2VZWGg4NnVST3pYOGpldVFBdDJycGJTUk1pdFVwT3FRVW04aVpjc1FTcWw0MTR3VWh3YUlhT3R1Rnc4R1YxbExORTZicEJHalFZbEl5dFRQdk44U1o5dkx5V0VqMDlidmhkaEd0MkVhZFA2c1RrenFIS0tXb05cL2N1R2p1bXZDbjZ2M3djRzNyVnU5MmFNTWxJWEg3MnVqOGdEaDFrUmIzbzJ1ZXM2VXlkblZTbjNOdUFwMHNpMzV6MU40WDJEbVVOUzM5ejh1ZkpLZFJxY0I2Y1YyVEJEc0dcL0h4YTh0WEJWc3NldmtzQVdER1ZqNUdnZjNvMUIyS2ZoXC8xb3FNaDVLWGFaMUlEdmVUcTE2RlhsUHNVN3Q4SmdoRXhoVHFxelhyXC9VdkNEd0MxSVBCemlDckZhQWdRK2lnbUh6UXZSXC9adzd4Y2VCMlBVZmpXWFZqMEh2RG0xc0lySEFiaDZwYjVxRm5USWswaXJ6YlAwc2JUeGVcLzM3TEZNbXJjVXJcL0o3Mk45bXJPYjZpVVczUDVWN285aCtEZk4rYm85bjV0RHR0SkhDNEVMNGppanRXYno3V0lnc0pHVVFcL0tENkZVQ0psa2JaWm5HOUZIUDB6cnp4UkZvWkpHdnFTcjkzNzdaellRQ1BJS2liNTBZSjdrdkkwdzRtT3cycDA5bFwvNHlGcjhyMDVTWkxublRNQ1Z5YUVJcHZCZUVuOGZJTGlhRVlFc2NJNWxkN3JEczFOcGFIS25YN3ByZmFTcUxtbERrbWpTK3hHVkhFRXpRaUxvODZTN0wxZFkzQkk1aXlpNEF6b1lqaCtudUp1Mzk0WnAwRlBDYXhUZytZdE5tQ1lveCtwMTJDekErWEZSZzB2OTY0Z1I1SllwQ1crSGJKaHg3MHZjK2RUYSttc0RVcFZEZm1qZXBMeVJJTzJzbXRUUUlWNTBJZzhLSm0rWnp3WUUwTlVRQ2NVQzRvSzFrTXZuVlRVTWlyMVJcLzF4SlF0elh0VmIwRE1ETExwN2NvaVQ0Q240YVM2ZkRvY1B5Q05aeU1SbFB0NEp5RittSXZ5dHBTSk40Q3pcL0luMUt1eEFPTU5zRDlFeUVjM0ZaYm45cWVMa01nK3V3aFo4MVE3UlI2aWhXWlV0RWdCaTR5djB3Wjl2b1pYK2JYQ0ptM3o2OGFkcm1JTEhHREJpQURjQ0NEMFdySlN1NlwvQzlRTW5wSHAwUDlac3VTMENSU1BcL08rdXhVa2p1NUprZ0g5blV4cERpajBmSkpBUWN0MTJmQUo3RVVtZ0tabG9BY1JMSUhkTGtxV0x5cE5ScFpuejVoUVRJamUyeXl5RUFud2g5U2dMZ0tPS01qSzk3R2RnUlJQNmRHN3U2dXJwcituMGI2eTlaa0tBTmdoVmJ4OFcxcHNLZEVBZXlwNkhSV3BUM2dWTEROMVgxS1UrbXlPb04zd3FMOU9WZG9tQU5naGd1Vm84M2FjSUNZRzd2V3grK0xcL2JJMEhYUmEwMkkzWXhKUUpWQlZ6NHRCSHlPQVNZXC9vZ1lVZm51UWpLVDdKUTFBb3UyZGF4MEJLUGFBOGVDUWhZYnlmcmVTSklEVW03UHdSVnF6YjBIMmVjUVZESExsUkR5WWVLaEtxNTdZY2FMSWR0TjVJZVRzSDV2MURMUkFLWlBUdkY5M0xqNWtnaytheEZHQWlRQXJ6bU13aGFJdW1BOUc5RmwxODd3TlVUOExwa0w2Z2dXaWY4empUTUdTYVR5cVdScnY0UFRJd05tbVJIemFobW0rTzgxcEdUQXBOYmUxVHVkb3NPK05lUzNRblR2d2k0WVwvZHFnTXcwZkxpWmpQSURHSzRcL21USHh2Q0RGRTNKZVVvc3B4anhMc2ZrQURRbytINFozZnJmRlZ6bklLVXFMVVlMSmRQM2V0SmJ1anppXC9hZjU4VUxDVFBhS1FFdWFBNXpKdzB6KzFVbUpUblJ0YWwzSjFlVUljNm1JbDluQzJzbTNZbWtDN21YdnR4XC91YlIzd1hERG0wZTNaSHJKanRNTms1c29ZMEJiUCtoWFBDbzNpang0eU5xRjVZSWxKV012Qjc3UnNMRW9hUFFDa1luK0lkZXBac0UzRForXC9iTDI3a2I2NUdkMEtueVMxU0dKcXNuY1piRDhnV2R5U25yeUwybjIyMXR2QWt6UXdLTG5kR2t0YXFCRFBTd3ZIbVNieEVIZUJwQzIyN2tnT245UXpnRTBDV1Ira2k2aEJIVURpVFdjb2xEaEhsQnZkKzBZQXpuY200OTVNTUU3MWl0WWpzaVNaS05HNFg4dTRRMVQ0WDNyWnJpbytiWHFYeTJIOXBMVW91U3BoaFRkaHhoSTl2U1NWRHRXNlJNZEk1TDM1QloxUnR2WnNYM3V6M28zaGlDOWNZZDdncitMdGk3XC9hVTRMOEQ3YTJxTGRRRUpHOFkxbnY0ZTN0RUkzMmVkb3RyTnhKV0F6TVwvVHRGV2Jpc3ppTm9xY2k4QVdrdFFjcWJcL2t4bElacm55Y29aRmJpRlJIRlpBTUtleW5nbHFLM29nSVRwXC9QSXhPUytvVVd1MU9vOGQxcEIyTlRJb3kxbVB6VE9qcnhFdzVUVzY3MHF6eVR2dVI4cjE5YlR1Y2ZVNm9DXC8wQUF1aWR6RXoyb3UzTExHcEwzOGJaMVFUUTJLanZUa09qbVRodWxnSktVVzdoNXRVbFwvV05XaEYwZ0RTZk9mem5lTHVcLzE2WW5WVFRSS1k4TE52R292b3gxSVhcL3FPWVVXWE9NbkJ3ZTZYUXBmR3NmWlF3RjRSQWVJaDZCRVBKXC9oeGRocWRKRHhcL1JVZDN0TVNJWEpQVkYxdStNaHVqdXo1dG5SZ2VqQ0VkeW9YU0dsanJEV1JxXC9iS3U5T2NNbytLZ1J3R0VJSUJpWUMrXC8xMmZUWGNqR253UEErNUIzTlhmeGhBQ2ppUFg3WkIxSEhBa2FNRFlhRlJRYnNKMlRXeW9QYjIzR3FyWkUrWDBhdXZYVmNZdFJmeGV4cXc4ZEVIaExKRDdBdVFlU3ZhZVdVb3h0Um1cLzJNZEk4MTB2T0ZqQmJLbEFRQWNcL0Y2TUN6Z05TdnRPNkRCdGphVEZtKzhiZ3RNUG5pc3RyXC81TnFVR3Q0NFFsR1BsV1NYcVoxZlFqSDI2QXExVDJERXZ4ZTlPQTZNdVlBNGt4U3hsaFwvZTBRXC9hSFpJbTUzXC8rbm1lMml5UUNnN2ttWll5b0FKaGpIbGx1VDZyZTdsaGw0bk44V2dQRlpXWGQxU1NlcCs5VnA4bmFNTkNPQUJ0TGN6bmlRWktLUkpwdFdCcWIwSjR2Nnk0TE5FbUNZUTlxOEgxWEU1UE1zVlh2TTE3bExKbDhVN05XQ3lFV1VUOEZ4dXF4RStVd29yMDEyVjU4SHRBYWVJemNraTdVaGpnc3ErUkdxekEzeGlTbmhScFwvclwvb0NIa1l1eFBpYXMwUzY0azd6R3ZWQWZlcDlBaXphdDFjRUdwN1JSRzdNZmc3ZVFHYVNvZkU5SW5ZbFhhK0Q0VFRaa09xNlF0ZnkxaDY0TmFDdm5rWnJqVzBoK1pSQ05vNmlsOXBDT1kycjRyOTJUVXo1WjdwWGhTOVlyUHY1NzNKSnBWQ2dqQkZWTnFHSUhSRHg4MXdGejF6dGdqYkFWKzF1U1NqcEtkeExUdTlFM3BuaUhZRFoxWUV0bkhjRmUxTDlxVEk2Y2RRRDJsd2QzUnB3MDNaUVVxNG5oSWwxbVYwUDZ0NTBDSkZZUEE4dzFjMllwYmdnTnhZcVZnYkpTUDRwR0lWR3RHbFVtcGNCTEZcL2lKdkFXeVwvTDk2RWhqNGpySzFyR1h6ckpNOXZBVUo1d0ZEK1h4d1wvZEgxem5DZ09UYnA2WWliRmdQcUxma1ljSTV5R0d5N295ZWNGQXJORFZBY1wvWTBPMEY5ajMrbTNiRkV1b3Q5YUNHa0dreTRXOTNKTXZ0ck5MT1UwemRVcFQwWE5KaElndHBkNXBRdkFpd0N6QlZHZHF2cEh0KzBoakFVb3doV2syQTRXZWpNVlNMeHJPQVM4NHRIUWxNS0tQWmhxYXRiVm8yUjBsNXNYMG9maTFsbDdOMU9pSUhCcmNzZWJjZFpzekp2M0syTm8xVk1sWWFsSVg3TnBETk1LOFwvMEcrUVhEcEV3YUxuQnZEOW5JR1RlKzgzNTVRcENxeEN5NHhrQjRGaTB5STZXYTJQMTZWQmdVNzV3MEdcL3JXTzRXT3hLUE9Bd3JpV2hjaXZ0cGluQm9mNkhUSktKOU1mVjQwY1dcL0h6VjRvcUl5MlRTeGhTbmtyWTZBUHVXZUhESWhwWkM1dzZhanpMcWUzRGxpYjh5K3dNNXRsM0VkbkVRVTNBNDFOaDVtQzhWWVZzUFFXeGFKaE1HQW85RGFhaFgzMVkwRHZZd0k0aFFSdHNrZ0dBOFF2N0E3RFlhWWZuanFsS0pUU090Z2tac09Nc0tucElRaTBBQ3NXMlAwZHhVTUJhK1wvbDVEd0kyU3pmZ0R6Y1Bvb1lXT0sra0RkYWZtTGcwZllFUHVCU1pWTXFmYU1xWTRDMkt6SXZRcFQ4UXBlUWI3UjhORFwvWjZ2WFZOWVhnU3VOS1Qydlh1K1lKQ1AzTEREdU9RR2NtWmRFaTJcL3JvcVV6N1ZxUVpnd0ViUFVzSktNUEpsMVp2bzNyZWwyRmxPemU3dU90UExycVFRVGpXU0lQRm9xT3ZobWFLbzdVbGtvZzBSVGRjUDRYdDJKV1VVeXUrb3gzcjZQQ291cWNlWGJhc1pXSk4rWHpVUGVYd1g3OTFmU2cwNGFQdXNrS0xsdlVRSmhEakVuOHkxRlVcLzVtN0wwc1U0bTVVYkZkSkFEajJRamVaZEVFa0tcL3E5dkZzaEhMV1U1QnJqWGtUWUs0Y2x2NlwvcStVMWluXC9CeGNUeUtpNndEWXVGT05BRkNDXC9GSFdjOVlIcVdvSGJkTzV3VTQ4YU1hK1FkSytYZkxlMmFmMlBVXC9vcmJaT21QT1NHVUpWXC8yTkpBYWlTTGZPSUJXSGlLbjk3cERZTGhrSVJVS0VaYTRzbnpLZmlnQkJwWlNSTUJBcFpwYnJabFVxT0dSVFNmSU5pdkdUWmF5WlpEaVZ3Q3RcL2VKRG5JdjliUFlGdUhCWitRZU11NzBjek9sdnpEWFk5V1JCRTJ6ck1VdCthV1lVNFkrbzBkdzhcL0YxWXdIT2ZaUXIwOEl5TmVaMDdKYjI3OW1udzV6UGJTbm91WXFnN0hwQXljdjBGVEczTEJaRlhCeTNySUQ5MklpeXZRRmVUZ09RVnFHRTJGb3M3YmJiYzVKTGZsVmI3WmRDbEVHbWdlQm56b2JrM05mMXBFWGhjVXhHeTQrc0d2QlAybDljZktRaUlhbUtsdVdnVDFVbjBoOGFkVkdWNDlDeGxkTFZMbzAyT2N4bGFTaDJkbzVSdVFJTW9Ld2wxd2JudHpqbnNGZThnVFpFOWl0cWdHVDdLSW1PdFRHcGdpdEZpZml0bGFIUzRMRE5kd1llcmxxc1FjMEJMRWNBaFFoN2VEN3VCazAwVDd2b1VcL2tTVDhBbjFFQ2liY0thREhQNzJmcVlHUjlLd0NSYXF5T2xacmhYZEJwNlJoOGVEa1lPRURhQzMyYnVZSytjQkh1RzAyZWFVVTluTVpBYzZtSEtpY3RmN2JUXC9sSVwvd0tkZitaQTVBU2l1TnR6Q0JiNTRubmx2V1lHQ0JhS0FQYXNaXC9xdnBCUkRkaVZTZk8xMDU5SXlub0JzVXFmUFpFclBxSmd4XC81XC8xeHpibG5oMjV5YlhNTHZJYkgwSGd2UjdQeGoyRVV6OGhod2J2b3ZuTG84YzE1akU5cGdvQXorQlRPY1RialEzVzBVSGtxZ0JSUklBN2NvQ3Z3VDlyYnJaeklKSkFmdVY4dEl4RkU1eGorZmZkV3RkZ1lwXC9FXC9UanVPVysrVWFaUTdXeHFQZ3hsQ1I2d1RkRUZpSnhLQ3hRRVkwWklGQ3RZK1VMQnM5NkNSWHdcL25DVjZseDB5b3I5YVM3M0FYaXE5VGNwZFI4N0VWenJkZHg0NHN6VUpKMmd4R1pOTlJRWDZKSEwra0VQV25zSTJuejdRY1NMSkM1UTJDWTFWT1djT29FR2xIdUJuS2poaURsa0FwanVRaVFxK0Q2Qm1vNUVmYTZoYmJ5dDdrTjdHUVlGcGluV0RcL1pKMCtaeEZGOUxZY3laWEpxbDF2XC9Dak9ZT2lsUkk5VERxbEFBcFNISmdBNXRVMXpVOXFybzVPaW9qWlVuamtOV1VVYnl0QVZkT1FCb0xQb0ZEZTFPOFBFZjZEcFNnVyt3N1wvbHpBVlNodWJsKzh5bUVFbVk5alJVZzZpcUFWRTJoXC9Qd3BRUmo1eXJHelZvT2ZjVmQyQzVyQ0VWUVdqRFJWT20rMUk0QklPV2ZRWEx3N0pLR1hWUTFEbzNXalhCZ1J2RmtyWjJZY2RRXC9LNUI0RUo2WEd0QzZxWHh3SWhzUlhTK1RocEpMclhrRkEwQUI0YjZDN1h1eDdKdkUxb3ptM0FVczJcL05TS2ZYUXVCSTJDeE83VGJoM1lQTHBwRWVlV2o0dlU2Z21hUEpWM2VFaHJqXC9ZeFhFUjA1MW5jYVlWM1pCaHJLaTNGenY5YUlmejVSRnJlWkpBcCtRSVgyNGZRMHlmR1Rub2R2VE1PRU5KRzFTQ0pBSHJ2Wmd4bDFMN0xPMUVsVG00YjRLckJmRlNiZWIyK0hROUxpaXNjM24zdk95aUk0REY3aDZRblB6c2c3SklcL0E2WlwvbFVaSEhCeFJnN2xVVjFadG9lS0lkc0ZNXC8yemdIUmxQZzN6eTluU3FvWkl4c0lIQW9CM0dmTU5YYVJrYmR4d3lQMXJKcGMrbjk0OXErWHdTY05RT3dOVU9pV2IzSU5SVks2K2xLcjY1cWVrOXduNGczYkk0Z3JGQ3R3UTRtMmUxbnRzMHpwcVg4Y3JteVpaM2M4V1hsUEpRbHpSUHFTMThVQVNwVUNDQXJORnVVYktHQUJFcUZqcGJZZlNzaHMzY2lYaXhnRW1BOVdRckZlSWhCTiswQ1dkd0hhWnNCUzZib0hVMXRpR3hzUXZKdUhzTG5PaGF4ZWsxWElJVVNrd0dxREs5OTIySHhaYml4MjFBZ2ZlZEk5a1FabGo5NjNXYXBUMGRcL1RcL1ZTXC82T1hRT1lvQTBQMllreWZuSDRjM3hoXC8xV1p3TFlMcmlucmVRR1NHRTNsZDY3RjVsM1ZWTVVGaXh1Z0h6d2k5a2ZOVDBKK05venpMT210VVljSlduNnJHSHdkYjJBRURzZFNyYnJRSEVIcWJWNDQxRHNHMlkzVnhEdWRMMllcL1p6eDJUR3A2ZjFjOFFOM25BRmFtazRcL2g2TnplRlF5VFo5SGtra0NUV3J2NGZ1SWZRK0VNczlGdGU3WWtHS3FWNTlhbWlnR3BPa3Y2Smc3OEplUGg4dHZOelRDK2FJSVVtY2s3aTAxTG11cnRsZE9xeWVodHdBUnVNTFFtM1VobEg3dnlyOElQbHhmQlVDVk5XVCtNTUU0U2JVaWc2XC8wbVhWM1ZETWtCb2FtQ0pIUk1zQzI2eFhzTjVsRmZ0Nm93aTZvZ2dkRENpZXY3aW9WRzAxQVdaSTNLb2NETExHQ1NcL1F4b3dNYlhDXC9VSXA4TjE0Z0NjKzhQUURDU3U5MkRPekdubzR1cml4T21oSExyMlA2ZjNHVFZ5aEVOTTBJRzZBMHlJeEIzNTVUK0xEb250bU1Fc2hPSU5jaGVCVkFrRVNteHBvYWoxaDRcL0hTRXNxaWFNK2hXSFRzWlhaeVhWRVByU25VRUhyZDNNNkpVSm5XNkhvc2hlZ0JKY3pqb3Q2MEdtR2V1SkRWNllFVFwvcFdVdUxKK01Ga1Q5NDVRTkRDVjZ0V1c0ek9VZ04rNTBTUUtFNlwvZ3QwenVqT2E5WlpZYitLSTZRV2hOeXd4UTV0bldham5LdjVGaExGSTBYcWsyYllIK3Z6OVdMZnFNcUhGcjJPd0EwZHJBbDlpUjVSR0J1TmcyTyt0VTJ5NTBYS2tSSERsNzJ3ZXlrYVR0SUk3SEJCcjFuZG9PNGo3MlhnVkRQd0kyell6bE4zWkxreGZJeU9CeGd2WXkzS0I2dXZtem1LZTNEZ1wvU2FNWXFLNzBaejF6ZENMV0dNd2lleXA1RGpnK3ZyNlVFNGk0cFo2SlZmV1Y2eDhzUDNxcHB0aGdFSXNFZTY0cWNtOFdPbTFcL0VNNHQwZjFOVHdSV3A4MnpsMkE2a2p3WVJHK09MUE13NmRqdjhFTHBIa0ZhQ2RBQlRoaW94YkNIRTd0aVpKXC8rOEg5U0FEZEQxalNlMUJoTFFBM0VBbmRKYmhLTUNZXC93XC9GSlp3Wm5DNWF4VWsxZGp1cW5KKzFmaUlmYW9GbnM5Z2l1RTlUZmF0VXIySm8rdjF3RGd6aWFuTmtGZWNIdnhBUDArRFlQUlF4K3FMcm5KejdNdnlCSHF0XC9SQjl5N1gycXBRSmNuZGx3cjhkbFJFQkdTWTh3TE5PREJlNFlzSlZvY1FaWDFaWUQ4WWlqc2UzYWxjMFN0K2hQalMzN3I1QlE3R2pyNE5yQno5UTNtRkwwalM3OHQrZDA5cVwvbkdkNnhKR25DZndNNlhuaFkzQ01oVTZlenR6TCtvc3NtUjJ6S0kxWGkwR3FQZlpTOHlyQzdKcGNOTXVGUHlyd1wvdlFGNUFRaW1PTEhkVU5BSGVRUUtLRmRPOGltSGpPaHM4eno5OVY0VjhVNXBwRnM4MFMzbXFQa3c3MjRJTUw3Y29mcWxGTDdLUG9OdVJqalRwVEdRS05RRk10VTU1ZWVwVTJXczd2cVpVTEU5RWZ2NkNvS0xGY0RhSFZpNVZpTkVrWWs1Y0VFV0MrYUpHS0c5WWtkd2Fsd1d1aEN0R2ZmcG5RVWFLeGJJY3MzaWRcL3QxcGRJaytvOGh5WHhQaEVjMmxySEVlZ1pcL0w5eTJvbElkTkpNcUUxTjY0NTVsZ3pqd0czXC8xait1TnpXdEM4NVdGWEtWSHRkS0ljVlNMVEJYUkxKM1hWUm1qYTA3bTdkdzk5T2NjMElISTV1YWpxSk1BVkFvdVFMMCs4cEk0XC9jQlIza0JWRHJHM2dvTDF2c3lQdG5FV2RjUk5DQ1wvRG0zOFZcL0t6eTJpVHd3eTV3QnJEWDcyV3BLRGJKRDZRcFhZQnFjOFRKWGF4NnlWbnowcERCZzRtY1RPK0tQXC9rbHZzVWIwQmpDcFJoRTduTEZ5WkE0MXYwWHVKbnh2WElGVk9nVzNIVUJ1aTNic2YzaDA1dXVPUFJcL0RhZDhkWXpWOUg4TVdqNFRcL3BYdVJCVGREV2tRRllxUDNPNlorbXFaUkJzMzZacjJCOWtnK0paZDlPbEp1bVJxc2hTRnNzRkxNN00yUzRoUE5NRGozTEtBOEpKNEIwNzlJQmhBR0t2Nit2YmtkOXhwSjNZMktmenJsWmJrWms5WFJKblRYXC92UVVKMUhEWVBIbER4QkE4cGpHNWVXazZWN2l0aDhRaUdaTkk4c2xcL2lCRUF6YXJlTTYzKzdvUUxya3NQMkJNeGZLTUpwanNmVjJEVGxxc2dicndJTXhNSHJ5TUNJZW16VjRBRDgwM0Q2XC9HdW53aThWem9mSm1nUTdrWEhQTFZtd1h5OHZnbWpxYnpMZmZnTWhnT0owTlJwZ3hSRHhsOVRacnMrZ3RERjM2OXN1MzIrak5xcUFLV1VoRU1mSWFMVW9PZ05CcWhQSGx4RjU3ZEJoUERYUHF0dEQwbUIrQUc4Mk9GUkhMdStUbU1yaUt5N1Zub2JiS1F3OGdNSjlDVU9XeTBlTXNLYlp1a24yeDRjUTJQcTFFTDh1ZDcwUWgzTXpFMElXTHIrckNQelwvdk4xeVdZM3Q4b0JcL0dMRnNYYklucnd6T0xxXC9BXC9sMFJra1FFWFVhalFteG9DeGZ1N2V4MFwvZkxGU1ZZN05wUGJyQmdwXC9WZGJ5cVpJWGZFcXVxY0ljYzR1ZFwvNGxkT1diS1orUlBQcTZjWEViOFdQbk5Xc0VqSXU3T2dDOEk1dUtZdWdOQnlYK3dieWp3bkFreGZKWkJQRFN1cEY2SVVDaEE3Z3pheW1ueW13Q1VCWXBhTnhZcnJYbDk3K2pFc3NnUGhXTmZjZEdITFd0RitodjV3cTFzeHVndDFQSEE0TE5POWNKRVRUM3E5dDRpQlwvUGpGbFBEb1ZuMkhEalwvK3NoUlE3RTRYMFg2bVJGV0dnMjNacEQwQTdHUm5aSFBNc1Q0eTVQd3BCV1wvZVorM25CT2N0aXRtcXlyRUNZOWJOaEJjQ2pHeHcwMmdwbzhmUHk4YUJta0pNS1JqMnYxK3gza3I5QmNRZlpPRzhGdDZDbTk0QlhBeThtVG91RU9NZ1FJRG9uTnEyS2M1XC9VXC9jZlMyd29GS2dEWE1ZaW4zVm02ak1tbDh1SWtPT2xhaDBrZ29GbVliSmdQNDhNcFhKRWY5V2ZJUU1KQjQ4ZDU4U2VISW81UHFcL0hzQXdpaWxVOFlPR1Rya0U5eWFzREpZSlp5dzl4eFYxSHBtRXUxMjQ3MkVGOXdLM1NOb3NoSGh3aU9Sc1lNTzFOaUxtR2pjMkhDUzA3dkxFeWphMnB3c3IrRWlFeUtSbVwvTW56encwaEpKd3FBa0ZVMG9tSytuK3Z1RVBBNTVnNVVRWnpTeCttMFRNUEd5eEVUMFdcLzBhQ0twcXVWcTFjQmhjVGIyQVp0eU0yb1hsaFhRYkx4dHpDeVpLWFlDUWdlR1JXVFl4UXBjRzU3YzRZek1nbjhjUW91WHA4cERGRTBqVFZJNGJxUmJWdXkyNHZpcUE4TUFCK251U2l0OTZGTG9GNFJrb3U1Y1Uxak9RT2xKTHVLYUFSc2E5dTRnSTE4SHg2MXUrZ2k1Mm1lK3NNbnY0a21Wek1tb2hCdHFFXC9reXliU0ZNRENsanZHMm9RU0pReVJ1OTFMTTlMYXp6dVRxMFFzZGpiNnhXV25xUFprdyt4NGlwK2hwN2J1SXkwc0FMUUh0allLM0lmSzgzMmtvSFkwRWFPcjE5MUFxZk5QQ0hXZVo1TlZMZkxZSkplZVFXU2laR0x2Q3FabzFKdCtVazRralQ1U0dxMTVrRXNmTlBTdFdna3RNK3ZDVXZjNnoyaWg0ODdHWkNSS09OSkd6bkw5alJFZkxpTjFCVWhnbFdoUGVVa2lWcTNUS1pcL2JPMXhhNVAzQ1lmRzZJcGw3XC9HZGlnXC9pVkNmY1JiT2tYdGhZbkgrZ1pFU1ZmTFdBQlhtSzhlTHJ4N0lJZTBNSlN4OFRLYnA3ZWEza3B0UVdvZm5pdDN4dTZcL1Q1K29yVFZBeGE0eEFMbEJOMmhKMUMwVlJrcisxMGY5TUhoTlUrXC9lY1JZRDI1eStkcjYyY1hMXC9oME5Db3NNRFNjWXRvVUN1dHBFaGNUcXA1Zmx4Sm5GeFp1bmxSSmhPRitWN3pFZGpUSk5lSHNsQUhJUjhUN1BYbUdqUDJINWFMaUZVaTZCWXJvamh3N29yOHZ1Nm81V2xlU21kOWM4M3FndjJWaG1WYWFDXC9oZFV5S0UyWml0Y1hGeU1GZFFsY1RERmV5TlgzUUp0RjMrMmRobWhZQkhwdGFnbnVpTW11Q1E5R2pldkxtOVRSRDR0dzl4eUdXdXplZnBVazFvTUNlOTNIZ3hFaWRITlV5ZmUybTVcL0dHeTBqR25ycWRWVitUZEdFNVRKM0FETE1TdVllYmtTOWpNaEZGTkhweW45VjM1b29vYytmRkF3aVBNWnBLeEprdHgwSHZCYkZLN2U1NlVVeHEwV0NOUmIwMWxPV3BTVzlnbkdnbU1wRkVqNWZpa1d5VlhSdE9yWWliYjNDdTBNMWZQTEx4R2FZdGFScGZoMTNJakVRaEF3WnVOVUZ3anhpc2loZVUzYld5V1N5NTJXN2hkT1FKa1VoU2V6OHhRSlZHUlppQmFDZHYyOGZrUlwvU2tVM0drMDJvUGRkS0tGNFZhcnpBT0JCRnFNbzExTnRyWDZHRUpqaWYzakdEVlNlRFE1T2FxUE0rTG9vM0VPM0t2XC9mbUEzRDM5YlZKdU4wVDZqSVl1aEFCeEs0YUtGY1wvUkloOTFKMGFtM1wvc0NqZWhVUUp0VG1wV0xnMk9HTzhwV0dscjR4dlJlbkNnWSthV3luRUpqNmFTRmdxaWxUakJTQytzdnMrREtId2R1SDQ2aXI1WmpkM0xZV1B2MGgyZjJOMjFnaFpQY0xNN3oyMDFPaVV4SFhLQmdqSmo4TXJnY3Y2cmVCU0lBenNYZnF4RzYwU1JQZ1AxOStyTnJVZ0V4MnFodEo5UUV0WGhVRFdKN01peklLWTloODE1akxwdlR1OUxqTTl1UzBvSGlmSk5NemxpNGRRSDVrK1NtMlNKV1E2T2VUQURGSTRnekg2Sm9VckJtbTF4WTZUeUpoeFo1TUkyRm0yS0lKZlRmVlplZlF1djBNeGJISGdoZmxYT3FUSXJnMVwvazFYSVBJdmhDT0czc0QyZGwxMjQ1M3JaRTFVZ0YrRWNGd2tkUzNGQmtaOGpTaWp4cVJXZ2NydmxQTmxFZVlLUWVncnA2Z2xnS3pHMmdcLzFPZ3dHcjlEU3pUWjBsUkNSeEw5d3dzdGR2V2ZJU0pmYStpRGQ4em1EXC9mSmRYMFRKejhNdlVGR2czYTgzcVJUT1pObm05cnRIQ0tSSFB6YWVTRmVSaE1aMlRDcGVjaFwvYmVjR0w3U0xiM01qNE56TE8wVkN1TGVSTE5pXC92dHJKVU5HQ05tVEhURVFVeHRPQnlYa0o5U284WHl6M0J6RTkreUQ4OE4zOEVhc1haZXhKNVZFWnFBZDE4OEUyUDB4SStia2lNTFRwTFhvTVpURE9uaFJSNkdBcFdcLzhXSmMxOFh6RTZmQ2t0ZVZxUVZ5NjFwak9HU0lPZmdQaE1GN2Vob2ZYTkVXM1BjUTlmSG1Oa3duWEZXTmNzZUpXNHNQZzB5a2FkakFRK3lidjlKK2xvTGxSOWV2Zk5xQjc4dnAzZXRGYk5mVlBcLzFxbFY5S3NQdUs4NmhXVUZpMGhjXC9SaVV6VW42OEpzWEIyY2pGZ2FPeFVBcHF1OG9oUStsQWZpdTdOYStIRG5qMnFKektUbUJlU1lQbHNoeUpKSDBcL1FoUzdreU1yYk00RVNKZnRrWFBiTHE1OFFxUyt2TW5ldnE1dHZXcE9JQTg0TmN4Nm9cL1FEWU4rcDJUeW5LWGZcL0dXY2paVzVNZ2pBTW1OOWlLVTFqZjl5NmYxdmR1bzdYdHhkd0c3TW1yNzNVWVFWMTJScVFBT09rcGFqcDVKQUdpbGVnMXNhSHVCMnZGZ3RDNXpOME9jbUxEVXByY0VlZnhtbjd2cWVUSGxBZjNpVjk5OUlxTXd4WlhpVlwvV1A0UUdjcjlzVUQ1SjRXNzF4MnhcLzBkVFl5b1ZcL0hlanBwMFFCQ0N0RnhkbWI1clFLdXZjRzc3bmNPUHFlZnBzNnQ2Z3ZHMUhJbmUwQjdlbzQ4K1pVR2Q1VzlKQU5oa3FkV2pLaDVUaUVwbXpQdUVSTWVtN0NcL1haVXdyS3BmOXdtK2tldnljR3ZEa0dBcUlEaGs0V1ZkU2Judlc5eWZcLzhKVTN4SDd0dXFBRmw3SDZTK3NaMTBmQlZsaWdDTU80SEtjQmJVWWxjRCtcL24yaU9Xb1pabmx3ZkZicVE2UlwvUjFvNDYxUWt3SGN4Q3JKd2ZTZm1iN2VRaDJMc2lcL1drdlNcL0hOMzlzQXZrSWxPMDRVbXNVRUFSanJMMSs4dG1leE81RjJ6Wnc4Y0M5dFdIeGlhXC9kWmZXbXJmUUQrZFVjQ1FoakFZN25cL1lDV0pIdXNkM2lGNE5xSUp2QXhSRjNjcVVhc1VLREt4S1czRVRDbzdlRTFBWmcrbWxwaTNVWWNxNm15dGJZTVZiZERtSTZGMnBvUkdxZnc4Vkd0TFZ5MHNiTTlNVWxYeVJkUjI5TklPKzRHdDNoUEJ1UXdqU1JHMElmeWJ3d29QUjZKNFBMUURaMEFPRktxYnBwVkdUMUJlWEJpejNrTHdYZUplbGZ0T1NaTGFDMFJrWXZ6bHpWbHpXXC9DRGRiSytHckU5eWlQZnROcEo5YlZvMmRRQVoyZ0F5N1wvcysrVHBVWHFFcGFxNGNMeWhZbXNrZUN4dDZ2QXJoeThGNTdFcGh4aHlzMGhDRzhhaUdZSU1JZmpnNHdNS1NmQnc3WDlXaUxFZ0hcL0s1VGcxVlR2UjVKYUtFYnYwVUVEdkd5UUhOUFBUYzlXOXdUMDN6VE5lenAzT1ZVOFJjbHdJYTdOOVFkeXBqYXZxWUpnMTFJU3NiN2pJclZBYlhjMU1UTXNKM0VUVVJEdW5WOUl2dGNGSlwvZlNuVkRSdm90ODJvcTNPSGdBUTM0RlZ5Zys4b0JvRjZ0dlBkVkQ5YU9md3lSZTdwMkxVMkVuVUpaS1wvbkJ3U1gzekxrUzU0U3J2TzlJMjcrREFoekQ5RExlc1wvYU1TK3JQbkd3QTY1K01VQkJlTmtGZGkxRUFsU1dwXC9PbjJvWThiS0FCVFd4VVFranErWlwvNmFTQ0NkaTdtXC9JUmJSNWJpdnBYWHlSQUhyZFB4cWpEN3BWZzhGNmI1enRsZjFNTnZianlCTGd2QXdQSkIwYVlMM1JSRzMwQlp2ZWY4TGc5MHpmcnJJQjBVaDBcLzFtM2dub3M1eFduT3pIYzhLYUZDXC9zVDE3NXNHYlBndkQ4bVVrSzNkeTJabnJZOVhLd3N6em5sZUIycHVvTXFjdXp5QWNZMVdsdWo1RGlUdlpPZzBcL0M0NzFUNkJEWWZRWjl0MTh2QlhnUDE4R2QxRUpMQzdiK2laMmwxWkJcL2RpQVpxTUU0RGp2QXFWbEV5ZGw5Y215bm52a3NhbEMrYU5DMVFhc2dWMzF3dHYxZEhNVGlTUm9PSjhmMGI1K3NNQ3dHV1hcL2xlK05ZRFgzb0t0R3V6UVFRMlwvTm8wd3NcL25mMDdYRktQRm5KUnBTbnR1NmZUS3ZQQVJtK0dcL1BWdFZqb3FSVU9aUDFnSVlmK1wvc3VOR3hWR2dnTTVPVld5MEFoenFPajkrQnYxV3RnOGYxWGZ6bUtxRWFRa2tmcmV2bW5OSlFvTWwyOCtZN20wNnhYMlNmb0FoSEUxZVdkZTV5Z2ZGU1p1ZHB6ODJ2c2Z4MG92ZGxUWHgwdjdXM1wvbVdsbm9ScXlZTGl3YlExWTJsWWZyWnhhY0Z2XC8xR2dXYmZ0QTRMOGRFU25qOGlpV3RDc3daQTFLOVREelI1TTBtbXJrdHNyUkQ0TElSNzBxU3R0NUZlXC9kTll3NTFVcHVhZDZIVUI5SG53cVRGT2IxYUhtT0w1VHNjakNCazJsQ3hCQTl2NkJLeHpLODRuUjc4S09cL3YxOUt4YjZCWUNNeG5LY25PNlFhSE5TME1HOEU0bExTOHd0eVRhQVdxRTBmbTFyKzRYY2FMR01SaHBqQU9FNWZwb090XC9pcHkyTXJxQXdITGc2blpRdnFUd0hRZTk0RU51dmhQK29XOFIzbzhSUFRFS00rbnRNTWYwcXdQVlFSUGd4bUc2RkxCZFRiQWd6aFB5T0tNZWtiY1wvVGN6akZvZUhJdjFCZnVOTnFabE11dmFQZldpbzEyZFdCUTZRNzFlc1pMVUtCZFNNMDMrUFEydjR4bWtHRWVHZ2xIbnJvcDFlekxPdHhIekNHMTkyVVI5bW9xSThqT3VQbmJTdG1Pc0VaSHRQcU5sWk5aYmF4cytjT2VlS1lqR3g5czNHU2t2M2hVN1BrNHp1dTBid3JHcUpadnlISTdBVnJnc2RUXC9cL3hTWlpKdmZ1Y3I1SlpzY3ZmTnlTblNJdmN0RzhMWjM2cG9hckFzM3RxaStRK2NrSW0zYU42aHZjNWZcLzVtU3RDUzRzNTJBQXJMMWJ4Y2FnRUxpT3k4YVwvUzNEYlR6WTV3RSt1c2RwcnNGZGNIMTMxSzdKclhFR2dibks2SkF4SndiMTVwejFwUHlRT0pYNDJpN0dGczY3UzBWVjQxSlwvd1pYTEJERzdXMDRVVm4xR0FjM0o3Z0xPK2xoWnBtQWZqanF1ejVGK0RTWm9ROWJFZ2tmTWZMV2VqcFRiOXZuV3pWUzIweitROENjS0t0c01ZU1dlT3hPTlljXC9sWkxVMjZEQU12WERlYXZEK3pRZHJ0dm5FbDFheEVaN2dEam1kS3JjSExkajY4TVhQUFwvTmVCVHFlaG9PXC9rVGJXbEM3Y1lhNjR6V2lHNmdFZU50UEJBUGZZRVpWY1J5UUhRbmFoNVFBQ0tuTUJ5a1FMNnBYa2diWVY1Mkt1anlVcVorN0MrNURXRFdPb0lXbzcyRm53RVwvWldCVDJETXBkRmZpVzBIWG5lOVZadTUrRnVoTVZUSXBiZUVaRmNsQUQ3TUc0Y1IzbzBZVDgxQWszMkVOS2ZOUG5PVzNuQ1V6dHVoWFpMTjFQOW9oRkpzSjBIYlBDNHlhM0xJUEhTSm5Eb3V0QlwvRDZUTysyQ0hPc2FaTTBqZkRDVFVBWUZHbU9TT1ZRZ0tRUjZWZTBvSkZoSHo4dE1kd21zOEVGQjNFUDZMYjI5QlM5NEZuZlo5cE5kQ3hqY05CRys3WjBnZEZ5VldhcjhJaDlnNDNSQmxNTFo4N3FPSk5zME5tbHA4a3NEUHd1TXJSMU54XC8wdHFGeVVwTUVzVDc1RE5RcGFDdG02Y1wvOFhkZXd0amdZYVFaR3dPTzA3VG9weXJPMEhJaXVkQWVpTVRHRlJwTDg5SHRxWFZPZVBvOVdLZUNTZHNyTnlvM2pPdkNcL2FSRzZ5emtrTjNpZDVkeU9zMlVIcm54MmdOSW0xMHRDMHdXcmVUbDM4QnV1Um4waGp0NXV3Ym1TUjh1WmwyRXdqelJVUjFIQXM2SThzc1lmQVV4XC9VNlRpdkF1VVJ3aVFZNWtyNmYzcWhZeTg1dGExbENPUDdQRlNJcGZRUDhCYUoxNXhrY1hKSHF2NzB3eEZFdThmN1F5TDBoWVZOV2N3dFBLSGJydGF2Tk1aNkpqNGJ6SU5GSFNSajh6U2VINW1ZbCtuSDVqajN2MTFoMWR6S05JQWJ4S2xzemFhTFd3WjZPTTBIQ0RoS3dXd25kbFUwWUxaSzd2N0R5ZzZxSkNrVmhJRzVwbjB1UXNZaEVob2VaRVRIT2VpMjRna3BXOElhTm12R2RibWkzRkc5WTRpMFpJUEFGM1wvWDlSTnRFTldCQ2lod004WEwrWVwvbkFpZmhFUEJlWUhweW15Y1V5TFBtbHdCRURHdWRzTWw0XC9FcGh5b0dUV2RiaW96VStQSE16R0llTTlvNzlrYzBFNEFKTWh3bXlJcFBnbVJFTHdid1oxMnIrMmhcLytvNWJrdWF0dmpjdTJoMkVsSis2QnhoU2lKYTRqcmNlS011YndSZFd2SXpQTVhFd3JNR1ZrbXVQQ1lSYlo2cnVLOFNrZ2UrWWNZTE9NbTNLTlBjdU42SkpkZDVQME5NRnBLU1gyblNtMzNUbWl3TDZMREpCTms5dTVFY0lWN0NaVXZ5YW9ETllhOFVNcWw4a2hHdEtWeG00ZFNHNmljbG43cFNncXZVd2ZLbUNrRHJsZzFjSitLSmpxaUtZMWY4djZRTkZRRlVjZENyMm5KOUxQT2dBNGJubGVuTjJLWENrM3E1b2xqT3ZOeVdKdk5VV0tta25FOURidHlSS0tncVJLWGx6TzVETFN0N2pab1VJSVcwaGcwSmlZWTBvMkxwTTdrNWhHc0VvTWhwckJzWUZyZU9hMlExbHdhRFNmZUVkNTNGKzFCN1wvWXhLUVwvY0lSdWZ5alV3VmtPczNYWFNVRHNISWxqemhpRVBoVkl5Q0t5VVFIK1hyRjhKTHV1OHlmelRRUjNoK0xNd21cL0FRNlJEYzRHMTBoQUtLMmFcL3g5ckFcL1U2OEh0WXZMblM3ekpzY2c5SEFZa2MySnNCbWZrMFdwWCt4RUlYdUw1UG8rR0ZPOHUxbVwvb3RmMW1MQlhBOUNlMndNZ0xRcWN6cU5yTUZ1UHFuendaWHV5RWV4WVc5TXFoSmFMRlZhUmM0ZEYrQWYzeWZVVzA2NHk5Y2ptWmdLS1NGRUpLTVdiMmhnblFRczJMNmxxa3c2eXNcL3k3aU42Nm9rVEhcL3hDcGEwRFhuQkpmNXBNalwvUEd6RURMKzJNSTZKeDBURFdHXC9kQzd5WVwvZ3JBczkyUUZqemc5ajVrMGRyXC9zcW1HM1ZZU01XeXgxZFJQV0pJS29qQnlXOGtaSmhIemJOSHpsc0VPcHNvSm1TRDRIdGtCaUZmQUR3T1FmSHJ0WUVKMzhoWHJMd1VCUWY5TlE3cVVJMDhyV1FCQlljMzdmS1lRTGJDdWhBSmRyUFRDU3huYVAyMHpKd2Q0Y3pTVml2Ym1XOVNpVjlYa3FpVXZNTkZoWXV4MUxSMDNQZWJqRVwvd1pRTk9HcmtZWGlreFZTTnNwelRDS2tuQkt1ZUNTTWpCaVhGMVZ5T2JcL3k2M3V0U0VNQzMzaTE4ZE1xS0c4eE05Y1RxMmJWMFF0SjlvYXJzQVp1MHpTUURVQ2lyV3RBa2VnSTNBcFBkcXlKTzB1VGl1RkFFNlBYZ1A2TENSWlFPbE1XS0l6TGJ4eWlBWUx4YVlOOW5IKytCOHFka2J2S2taOW1uSU9IeUM1SGlpSno0eFplckhjOVorblVBRWd6MjJ0RlBCK3hxQWlWS0N1eGZYdU5VQjFSaDZVZVJGb2R2Mk1WRW1HU2RaTU9SQXJnREFHWnVwblZnV2ZRUmM5amNsaWkrQ3NTVUJ5UUNYM0ZmRWViOExIRTUyVGQzUDRIbDRiemRIOGZSd1BNQ1ZmUWZITXVFenprZXpZRFBwQXNwZllKbTdyYU9HV3dKNlNMekVLV2UySDAzMlp2QUtjZW14UzFNQ0Q2UCtNa3NrYWRlVFpDQnloUXhRZ09ESW9WSklwcHJJdDFBUnR0QmtYNWQ1WjVxTURQRkFQOFJwMkRScFc2SWdJc0lDM0drWmE0QXhXbTdva21pd2NpZjdvVmNqeHFvM0wyV0RkZVFXdU9cL0FMYjk2R25QREtON21RVlJJT0lhXC9tR1JSSDJrYnE2blhvRllsbitaV3VcL3lvOE1veUVyNnA3Y21oM2pLcnU1cmFZRUdESXNsOE5sRVJwbWc3akZ5RTlmaVEzQ01RT0grTWgzalRSVGUwVVwveGdEcExCUHBRXC9IM2kzZitJYXlLNGJkaVp6c3R1T1liZ2poVkNaMWJkbXpMSjNSSHNiV3pjV2VVYm5ZMktDekRiaTFuZXRheXA3aUdaekk3MWMrOHQ3dzJicThoWEtKSGdmQnpuMThDNWd3TDRyQjdWVzRyelRsa214dFBtSjdhY29LNEhnWVwvdVQ2OFpTMzhybTg2S0Z2RkxVUFwvRlM4ZVdWMUMreElWamlmSll1Um5vWnoycUU5d2lBMWlNZWtWUlwvem1rWmpqN0FIcURLNnRURUhDbzIyWVwvOGpVR0ZqK1pBTUdTam1HQk9sNElFdDZZcWp4ZVcwMUc1TzltZmxzcTlRT1wvaDdYUWJhSVcrK3NyOUlFQmJnV1VYQTRnbnp2VUlFMFJ3U3dDV3BcLytYcFVZb2k1V0JadjFUU1NCZlNRWmJYalB3aDVrR0FLOXk1QllnZEd3ZXlkRVwvYzl1ZDVwVXh6enFJem1hNHh1TURPekN4VzhENWZhdStDOGZhMUJkelorVldmY2NlU2xrMWtZdDErNFwvVGt2cGtEVVlDMlk1WUlNbTdORG9PeVwvMnNiRjFleDBPbHMzRDVKRFhcL05xaU9NUytDMjZ2bnpoQU5HMFVTZG5JMjJFZW9WdjJjNTVyZ2ViOSt3R28wTVRibUs3R1BEQkVqR0FnZlJIM25nMWZnVG50K0Z3Q0hybzFmQThqTjA0WFhQb1FmbUxMTENqZW52MWNJZHFTMjFwQUlXS08wbVVYOEd4OGx4NmFBdjdnMUdkWUFoY3o3amkxNjhPVUMyWEVtdXpJa2ZTUXdLNWU5eldIWjVKc1ByNE10SUc1S3AwVnRkck9LQjl0VFE3REx5MFZ0Wlwva05lYlZVSVFsZUxoZVUzVEk4SE9rT0dwVmlHVXF1RjZjcTRlZzJidFdWMytmNnlTZEt2TmZLQzdWTDdZYlZFY214eUZOT0RzYWpHQnlsUG1IRzg3NmRsSldUVlhDeExSUmR2R2FMTll6RlZlcDd1N3g0RDdmWTdPT1NWdFRiemlDUElSUzVldjMyOG5PUjhrWnJkZTZ1elJGMndnM2JzZW9hNnVEVnVSUTBBc2ZQb0tjTzh5TFoxUDJocVRYVW5cL0pMR1wvUWFuVXROTEJocXlXRjZPNlRTam9VRE5iNk9YXC9UaWhHbzRhQzEwZWFlTndDT2FlSkt2Y2VvWW5PVkxpQ1lUNHhSVnlqVUlBRWtyMFp4THdKV2VpajFyZUdEcGtpeCsxaG10TnE4MTNyNzVibDRINzRBbVZsUmJuTitqUHFhdlFQRzFLMHN6dFRFYTFkcityVG14ekpqV3ZEMEx0OXJFYVk4QkR5VG9yRkVLbWFhWHIrZ3JzWGNvODlqV3ZSd1wvZjZDMDBqeUtJR1ZlQk5zU3dTTHBkVUVsN0lYSjQyYUJobzNwcEVwTVd2azhJOE9zb1MwQzVITE9MYWY1ZFJjQW5qblJlK29nSFNOaVNyOFRmMEM5bVBDV29RMVVTRFBBam1jNlkxc2RuMU1iaU43c3hSd2dYbEsxcmJmZWNpdTJqc085NkpGV2VYYjFcL2xvTlNYeDR5ckNoMG5Na1krNEE1MTRGcVdXWEdmSlRHdXE5TUJMWUtIY2xwQ3kwcndzYlYwT2N5a2VnRXJOSzN5Wm5tQzFUMzBDZ3NFVzNOdHVyblwvclB5UnY1eTA4ODZZeU04VU51enNTXC9kNFRqUjhiRU9pZjFyd1FLdmZVUmVOcDI5VGdVQk1OUnUzeFF5UXpXTFo5QTNVTnR4QzZrc2xiQVVvWUdkXC8xNk91TktHN3hkVmhlZzVienZNSEtDSDB1Qk14UmYzb0ZNUlp2dmpIWHhIUXVHNmxueCszb0wyd2pKVU5YcXRRN2orWnBxYzFYY0QzOEVybTg0RUJ4NHJ5MWw4SXR3WE9ScE5PTEdcL1JRdTRtYTRNR3JpNkJFNURxSTdWMmhPZzc3VVBXTWVRd2FsZDdyRkdMK0pFNFRrNmdiQ2R1XC9RVEVSOGNGQVk1QklRUjlrZktmQXJWUmw3eTJYS0lSQjRPbHlFWm96ZUZOcXlITTR0TDJCV1R1OFR1NXRvUnVmbFJNTlF3MkxUUXAwZFB6TkNxT3IzWlFWUzVRRHhnelE5V1gzTW52TEpWN3BYNG42Y2NPb21mY0l3ZkFpWWlBb1VWVU1nY1dBcmI3TEoxbnhBU1JrOVUwZW1zaVJTS0hTNEJiTTExVGloNjJZRTBkNlJzUWQ3UnBreUNWMEJkYkcwWitDdUpLaElGb0N2NDlBQVVaZnZublpQNnYyZUhyamhpNEsxNXJMY2NHbTJEYVlQNklHZmp1T3pTb0hjbUdyYXRSRmFrbHBIZm8zXC9sZHI0WWxnbVBNaHRPQlgyTFAwTEpIVUpVUXBEV0pKZGZmdGJSN3c1TkNxUjVGYjl5aGhmZUhaSnRRcUc2c1FtSEN0ajhJalZaeFZMZXVBM3h4WUVobThQZTdFXC9UejZ3cE43QUxCRDJ1ZTlaS1lqcldiZ29ic1Y4cnVCWmdMV0srQ1lDMnAzUm5VRlFCOGhWN2FqV1FvQkNpcDZkQlZxQk8xR2d0ek1LcG1NVFdUczBUWGV0TEZ0YTVYdFRpcjcyM2dsMkM3YlZxRHpVQ1llb3J5ZnZZd1l0OTV1enpIQ3cxTks1QUhVS1NyT0I5NXY2aCtJVzUzbUtaaEZFc2RqK2l3a05uXC9abWdtR1hybzVvTlArRUxZSDl6WWhramdaTVpXZU9JVlwvTWloenpMUEo4TWhpcnp3R2tZWmhjQmlNXC9YVklvNk02MGJ4Yk54VGN6aGpvNEUybkVLSUNTVDFcLzFpNGtjNXd4cFRUczRNYTB1ejd1U2NkZUdpNDVYTzJLaWZLNHpGaTQ2MnZKSGx2K3hvUFdUbW43NVdxK0V1ZE4yUFMxYzdmSlJpK1hiMXM3KzZGK0Uwd3pVMlhRUWZFMlNCaFd6RUtDcDFndGk1aTdWcFZCXC9KUHN6YUs1K2dwMnVNYkdhNU10OVhDSTFMeXBwcGFRNkUxTGErZWp1TEl4WjMxRjB6QjZrTG1rR09xWlJPTVRrbFJJcTdVempjNDd3dVwvOEdKVWJ2WWpXVXkzK2NTWFdKNXNRSE5oV1dMaHkrY1k4enBVZGJyVFlJNG91eXNrVEFVK1wvMjljTExxejQ5XC8wWVkrN2UzUGFyMENMdzVzUVhuNGN4YVN4SnFiRGN4dUhFVzVZa1dyejBEaHQ1OFhxenVXVWIwS25ZYWhLNjV6WFYxNVpiNk04dEhqbXZVRXZXNkJ1eDdZc25BVEFTb1c1Nkg3U090SjdWdG9pMytcL0tTRnE0dlZza04weU5icWNiV0tFVDhrRHR5eFRIQVwvQ1B6ckd2cEd6ZnBXR1ZPQ3JFQXhtM1lIK280a096QWdlMnlyWUVmMllSMlNXZis2S056WkcrMHlhUjNueURvSHpGY3JuM0ZuY3VvRWNYclRoZ2RpVEZSeEUwSFZcL0VxMU5Na2RONG8ycjYrQWV5dWFUXC9VOFVtcHVOd3ZMSTVWb2JnV1g2TFZEUzBPbFlod2ZJdmFIZEg1cW82cTFKVUR2aWk0OWlxOEtcL3dHR3pZWEcweDBaeE9KdWk1NDRna0ZhSFZRZlNXeW1wZzdHZ3BmWTJPMHdwRDA1MzBkQWVCUThCR0pBOFZlMFd5R2piczRWNUhRSEVyRGw5STF6MDl6V3dIY3dPTzRUclwvTTdlWVNWMzlKVXA4bllHREc2VmpNcExYV004cHZpbnpLa2JRMEowV3BrY2ZSWEY1ZWkzY0F6N2ZWUm9BWDBsNm9wd2VzV09KXC9Dbkt0bGpBVlFcL2hiXC9BaERKcksxRFVEZURKOGRsMEF0TWsrODgxRHdPbmk0cUJzcVlYMVF6Zm05amo4WitKNEg2VkJDS1l1S1I1aW9RWFRYT3Qrd2pVVm9kMWZMWWhIWFwvZ0pRakN0aGoyMndpQzQramtITnBhdWpYcEdOc1dHc2NJNE80UTZjcU1hREpCNWV5UFNvMUs0OFcrZzNkMllXaU14dENNYTBNSThVd1ZmamtYRStIMXdhc1hSbko1Qnp0Y1RGVlpNSjVTZDM0eTBkVk1DOStqMXl4SzQ1aTlUR0Vmb1Y5bllqb3o3VTg1M1JWVW9BXC9tVzRaRWl6Wk9qWk5HUHlJSjg1WFZSZ0kyUlhTNmFEajl5VGV4dERlWCtVRHNMUjN3dkZSc2RISFBuM1JEczk1UTFVMnVXUm45WlBjeWZwM2xwU0Q5ZVBXN1wvc2xvYll4TnlBXC9tYmNFOXVvU0lhaUtJYnlXSkNQcHhyeHhzdXJDdEZ0d0lZNGZwUEIyVU1vUm1mWEdxNk5KalYrS1ZtOWczbnJZNmhPQWRqaWhGdkZPeU9DU2VCVWNRZ2xuaDFWbGgzWExrcFNBN005OFI3UlZCRWJKa1JQN1doaUJGV1BYMTcreUh4bTkyVFVmSW4yQzQzZlhrc1d5OGkyR0srM3IxVGtYTVl2K2UxSVFoWit4blZjZXR5aStCNlhpdnhhYVh1ZDFGNHJUMlNcL1NUaWdjb25EN1pWNzlUZEhVQ3drK1cxUVhkU3RFNERVKzZCTEZTUUdKS1dcL2VQbzRjZ2VEdUx6WithZDlTUkZ2WWp4N3NrbGxnYTA1d2ZVNThWRXg2Y3pZMEVFZ21CU3JOSVBBQ3dwd1RPUjFTanlvYWNFU0h2XC8rcnUxU2hUV3JGeExWVHNNWWVwNzErS3pWelF4TndPZURYV1duUTRoaTdTdGpBZmMxdGdtbEJRdWpkcmU3b0thbDdWWE5WbkNZWmdsOHA4M0VESms3cGdqVXhoUFwvSWErV014dmF4Q0Y2SWVLcG00Vyt2bE5OWG00eTJxTHlpZ245S1F6VExpTkI1ZmZPOHhGMG40bGJUYXdwYjVpYWIwWURnWkI4UnBWVkpEVmVJMUpkaUFlTms3ODdSSVU2Nkh4enpSR3dlWmgyNjd4Q3ZYOElsV0VldE42ZjlcL1JvR1k5NWVPaXpxXC82d2lGeUhDN2FPcDk3XC9YaFZPMUN6byt2M0dcL3kybmVlV0thek81NURMbk5IVTVMcUpHNEJBVHNYc0lUd1dqUmFNbkxKdUhENUZwdlM0bWk2ZGhORVwvbzg2UzBxQURrZlRNRVwvUDZkNzlrZDZtU09lVUJaN2lwSjJwK3N0VHRUTkE1WXlNVTdrWTBCN1RNbU9xNjRhSDZsOVNUZ0locFwvUlhPMm1VZ29EV3dPODA1OHpnZ3FVbjQrdkVteWJrREsxQWZieWl6YXhhWHlHa3hlK3hTU1FaQmRoaHptS0I3RTRMdlMzUE1CZHU1YXVVWDZHaER0UjlNWXZuMEtwMm9sWmRDTDJnZGVrM3RBUjNmNGowVzlNSWNyVzhFWndncWYxRG1NUkZ6ZXZhd0FiaE9qVEp4enZSbEUybnU1SFRMSlFSK1wvY3VKdzdXbnptdHh1Sm81UWRhNEhDdUl0NG5peEJicnh3aW1waUg2OEpvQ0xVSVJvTmJha3lXaUF5VDgyUDlyNzNCSCt1cDg3NHVWK3dCZFFTVW1MK0FDaHFKRkhHZGhFcWxKb2NXSWFyd1d0Zm1RdWVhcFB2WlhVZUhNcG15RmZDTWJ1TDQ4d3FkVDJ2RzNPQTVwZnJ5NVJOdkNcL3JoYUUxd055RHdEbmFIc2RicG5Hc0NFK1dXdjR1UEJzYlJTdjR3YW11RXNOQzRtV2Z1UGxuXC93NDMwNEhQMmoxbW5WOU5jR0N4V2dTQVZYanlIMVppSzdWeWFmaVNcL0pFRzB4NWFUTTVlemQwTFdEQ2dmSHBZUTlrdWZIbmVXaUV4VTZIZ252cUFzQ1c4WFwvVTN1XC91cThuXC9KZ3hCb3JOYTJ3Mk5oajdUbm92cUlaMTE2U1pSMExWdXRlMTBHaW5ScTNhSENVaE1zVXBXRVlVOHBLbmd3cFY2TG1Iek9VbytlNGpKcWxLOGJ3cUErb0pBWVBMRTY1RXFwWnV0cUFYUmZET1czd1QrMkwzdXp3eVpUcTNPeUt6R1JKcng2eVJcL3JXV2xVRFVHYlp2Q2FFMytJc0ZhandqUlJpSzlZR043VW5IK0s1MHJVM2ZReDRCUVlPb2YxekE2TVUyRWZEUWhqSDBYb2tDSmQ1WHhEc25PUEE1R1hMazV1dDgwclRcL0NLNGVRNVhxamVBSlwvaDVwSEhNcVZvOWNzZlRmODh3dGpVV3phRkVZeHNIOENzRk92YWsyclZTY2ZDTkJWc29mSUdnZEw1VmdkSXpISmtScDd3NVptWWNBMFhYQnpuV09QWXc1ME1Gdm5Gdmo5SkcxWitPZnpzMUZjem5ibUM0cHQ0V2pjclhhaEo3a1wvZmI5aVwvcWR2QlVDY1V4UTh3V1MzRHRBWEtpYjBxMTlUY2YwNTVsek1ZUVVXOXNWNFFMcGV6QjJTRTZJakd0RDA1czNIN3ljRXFNaDJKY2xwdTJySlp1dWxFc3B1eWxvRWMwRHdJZjV1dnFXQVwvZTV5dTVKclk1bGZ2XC9lXC9zVzRUMzg5WWx6cTVYQ0dXYWlxXC9mOXFtZzZ6dmlSbEY1U2xSemtcL1E3N0o3YmI2MGE2b2ZWaGROMW93dlZKMVpYaHRNMUt4Vm1ESnlnTEdcL1drVlFseWVrQ0FXTlwvZm9EVWhCY1BuM1Q2VFp3VjJGSUxmREl1dXVybjFsb3d6Q1hKdE9jY1dic0Fvbm5tVXdnQkd5WTZXWXhWSUR5SlBIWUp2VjdWTktcLzRjR24ydVp0NGhTUFcrVU8rMEJFd2EyZFo0Z2RSU3d2dkZ2TUFweU9vWG1sK3liQ29wYkcxNmtWdXZ0RmFhRzZCQ29RQWs4MEdlODJSTVhrWTluNWxjVUtidEVEZmlpM3JJWUVJeEpEU1FTelUweFpENkttbEVxNGpsTnRkUzlQWEM0ZGJUSVQzcW94UHVaQVI4RjFZa0NGK3JwR3BEc3psQ1haRVpCYmM4MVhrNStMNGpCb1VZMnB1aENQNitpT3NVc0hRbXljQUxTcVRvZEMrWFVcL2lpZmVONGtUakRUeTlEWnNtQVVuY0VtUkRqRjVTeU5JckwrSXhcL0hlNGo1V2haYkxDT2JFN0ZQYW1WbFUxSHMyaW1Bc0ZiMFdFYllvb2I1ZlJ4Y1NLRWN2bHF0Y3g5VDl4Y1NBOTR3bGd5bnAxdVY1SlVEbDgzQ21DQTY3NVdcL0NLZU5TaDE3U3RTREtMOFVVRVlIczB5N3F5VUphak5sVGRyT0ZaNDR3bEVKT3lWQ2xZMGowWTRBRkNCWVZBODRobU8yVEE4NURrbFVYd2FNeWllTGNoajZQNWpXYVpIbUVlSW5xb2VMUUllZVwvY0JHbTU5OUZkRDRUc0Y3VU84Q1wvaUpiODB0WFUzSWFKOU1pZHJERERHc3pGdHk3NnJWN0M0VWVZRHFFUEJCTnp3RzRLbFRZVVpLWG12ekJIZ0Y5RXpxbTRoNEdBZ2tFQUljNVJTZmxTNGt3dzJobDhtY3I4dGVobFBqWjhxdEFCTXhQVTZzdUtIYStjM0l3ZXQyNVJnRGJzTVIrSyt6TEJiekloTGh1YVpDeVQ5VlNqT1JlRWx1XC9sRmk2SjJmWHpqenE1TWcwd1MyZXBcL2RrMFZIV3Rlc2tkNWxkSWI1XC92MjVQZzg0ajk3ck5lXC83eWh3U3dqQlBpOHg0QnpSU09wTDRHS3NhWlRsaGxRS3NmOWVMdzhtUVRESE1oUjNoMWJXKzVrM0VxNWgxdHNlV0wwbHVXbVFzajdaa3dlekU3WUJCanNkUWRldnIrK2h0SEU4WDR6dWxOR2V0TW1QREh1NlJIeVpQMWdvVUU3YTNnclRYWXFiM1B4RHhUcnpjalpnZTBuNVl6ODR4T1lBbStRejZcL2JPSmJrMWRNYzYzU3NncnZDajFYZmdrTlM1YVlwYmNMR09RSVA3U3JpS2J4Q05NS1VaY2UxaG9SbnB4OTB4Uk50U3JZZWRNSGZwdWp1MXhVS0FGUzBobmdSa1wvajh1KzhZVHRrOCt4aXVsbmFOVCtxQnlZQ0dpZG5CNXJuZjB2MGwyS1R6bW9SS3A0dEJVNHRDeU5ibGxhWWNcLzRRUkhMaDFhaTVTeVBHcUVvZ0p2ZkQ3S0pkZFNWV25LQU9icWpHTGsxeHNRdlNBZGZqbmVGZ042VTY0TDU2Q0xMWndlTHdIeDJBVkhDMm54bVpnK2FSNTFsSkxzcWNWMFVJcXVUbFlZZnkzVTVCd0Y1cUtuVUFIQ3BUdnM4UWZQTjNaU2ZldHQ0ZFJzU2xqS21Oc29WMVBzSTY5M092Y2orYzVBSjBPUlIraTNpXC8rZythaWxVRTI5d1dcL09SUVhVUFwvS1d2WkliTEpWNWFcL0o4dzk1MFl2ZURIenl3UTEwSm5wMWtvdHpYaFp5b2FxZllrc1ZQclptSHJGeTlyQmtWNTZqVVdCS0JpeEJKdEhvRmQzekRFQ1BNclViMXkyeDVhdWZaOHl0bXREaWxwWlJHVU5wYkg0MWNmQVFLbklHSXZXOXcyZ2JHSnFzVTBWdGlvOWhORjNoWUJXam5sdWNvWmpiQ3RmUkJwdmNXNGtjbFpOSEFaN0tCZkVacmdIdEFOZ3lUZ0Y1T3hibFNnOUFpVkpNam1FNUd5RnA3SVc0amxiWnR4WnlWZ0hqM2IyVVc1Tk1jZ3hNTFgxYWJHZ3ZYQWx0RzAwS09MWXkzdm8xXC9EbFBRSDBJMWt5TFl6N2RINTV1d1I0Rzg2ZVgxakU0eVlia0dmYytveE95UkxcLzJoQloxRTZJaEpyZ1llQmJMRkZRS1Jrb1YzWEJYS0pPRFJYZ3VyWDJBQVVlNUJFK3JDWGRFYWxjaU5jeVhUd1U0aEc5dE5rVDlxV0Y5SjJMVThPQkwrUnV2SG00R3VvK0FoZUtuMUFPQkZSdDNCanJXZXB6STVCbEdweER4TXBnUlR2b3ZiTnlGZDk0b1JHYnI5UHMrS2RSKyswWXUyd09kYzEwK1wvd3Fnc2x3RUt6Qlwveld3ZSs1RTdhTElCZ0xDeEpkemk3bVJ4dWxhMkkzWnJsQituUlhyYXVReFozbm5HTm51VnFaVUFBQXJEdlg2MVVnaVRCYlh1YkttcDZzak1Ob3hJYXlrbXBGcm5va0Nqb0JuYUdOUkdWTDgrTDJmWHBKM1RoVmwwSFNVaTh0OU9ORUtmcDdwZXlFY1wvT2hEeVBSam40RzlXVmMwdGV3SUNWVGJiUWNhV0JybFwvZkg4blwvTlgzRWFYeVYrRDhRTjd5b29ZQnJ4djBjNXg4eHNsUm43b1B0WUFkVWsxZE9mdWpNa1UxM1dVUGJESnl4UWNmZkp5eUFSOHRRNGVtXC9rdlByM1crNDFwS0VoN3dBb3g4S2ZqXC8zQkdkYTZWMXZHSkxuWGYxbGJJdG5LTzgrUm9BTTdPWE1jKzRiZlJcL0tYV2ppMHRpK2ZCZmZ1eGFXR1duWUhETFdcLzN2TDk3Myt0YjllYXRxRlpZXC9qYnZCa09qT1lsR0JCaTRvdlhkK1Y4TEUya1R0RzdYRVNESm84RkNaK080WWVDUFpBeXYyTkhHMVpRSVR6emFcL0NEM0ltZ2pkRUxFS0hvQ2tFOEVRZWpFV2VTczVpcSsyRUhrNE9hTXZiMDlTYzBJOHgwa1pEZHRtZXFFSTYwNnhad3RUcVlUdXZDTnFRMVlWYVZjaEd3Z094dWtHMGlUZXdaR3ZPbnlcL291WHNNNkcxc0dyU3h5aFpcL1JsWjZ0dGlaVjNnY0EweERRS0pGUkdtU2VXdnc3Z1NIczhMWHFnZ25qakpIXC9SNWhtUUFLWmtlcHZTdkJuOUcrXC9XOVdyNnlhQkpsWkYwRWJyWkVTQXp2WnVEZENDcStFRVBuT0xscEVNQlFOd1wvRWRMUFFZTU90VzVrQ3JxVUNMS1packdqd0d3YzI2Mzg3aGNFU2pBVVk1V0pQTWJSZHdMTHRXaFRGdm9NT0JnbldCU1wvSnBkcnFzZk0yYVN3cjdjcmlJZnFzSFdtTVZpOE1Nd21wTzJ5TStnN2d6aUZVS3plUUVOMjN0QWJDaWRUUWd5WjBzZ1R0SEowdyt5Yk0reVNsaWYxamx0dndlbWVsNGVvblkzYnNFak02ZEdTcVI1aVVvN1VxXC85ZDMybW1MWTV6ZHF2K2dFUFdNMGMrdHNOd2syWFV0dndMRmZiTUNjc29PYzRrc0lKXC9XREk0YjJhVElubmhSa2p5UXVuOFFLMUxTenZyd2RPNlAySlpSc0NoUm03WFZkYmh5YTJ4TzRFdldVRVFSbDh2bFwvdENoWGswNDRKQUZnRVpoQmNLeDlSOGFYUFRtaDNCbGgxcDcwT0VGNzBVeWdOTVwvemRaTGpMTnYyVHp2MDlsa2ltUmwyQUo0elhxd1p3cTVPazV1Z1lDd0dTVVFUMHJ5cXBkaVdvMFhhak1kZHQ0T2Y2NXRBMEk3NUVCaWpYQWx6aFlWOElJR0I5UUZGVnBqT0s2QSt3RHVRZENFVUNhcnJ3enB6TXZuM2NlSXFvNzR1YTEyWTA0cTdtZkJ0d1BXeW5DQVhwNUxUQU9EWFRmc3pYR3JGdWVySDdPS1BcLzQya2NEeUFBUlpkdEhodWQ5VFdDb25TeU4wUmMrQjlzZDYzSGFKQmhjM0hCM3RMTzYrbGMrWlZrVXdpRHBuMzFhYUNzNFR3ZStMVlNiWmVsU29hMmt3STk4K21PUUxSXC9rcSszUFR3R2huYW16a2VNcUNwNnJNWEdJQzlEWlZuTFY0NXFqM1VMRG5zZ1FGK2FXenhMSWpQcWpZNWQwRkZFcWlnY0E1U3FTWG1JTzFaXC9ielVGVzNGQ2o2QnVid2JQUlRsOEtJb2M0eDhMWEVENTc4RUJvenZscjNmRFIxbThYdmdtN1NjS2VlYk92TXRMVDg2ZUhOVjdsdEs1MmtDbDJScFhmdVp2UzlCMnBTREk2Mm80R1BsU3RQYXo5NFpFMDBLNjB6ZlpsRlBCcSttdnZZNndGU0xPZzVFSytQN05Tck9TOXV5eHFoQ3pBUE5VRk1FaXZZRlAzcURweGRsem5Na29ybERaSnhzRVFvMTZPUGw0Y0FxUUJ6TEp2RGUrSUUwRjg1WTFLeTB3bWZwb3VyNVwvZEpvTlM2MkRLZENoMWlaK3ZnQzZWeEJUd2QrZWRqb054c1NKTHZneXhKMjFYZjF1YjZvamlcL1wvcDVzSW9uTkJHQk5yZHQ1VGxiTFZxM2ZsRkNWbkwwN053WG85c081M0lvNk9KNGFORkJmM3BJRFwvMzc2WnN1ZW1sdmlQV1Z2VnRjaVlDbnU2Z2NabnVnVkdoYnJJZ2Z5VGZ0Z3RiM3dCQ1oxUjdvVCtRdTg0a1k5ZXlnQUUwVUFyQ285U25seVQwZ1ltMmZvejFISjhBemJlcmErRVg3alIyTFgzclVyY25NK3RaN2NNY2t5TEtENmZXZ1dMaDFXdTdOQlRLVFlHSWZXcmJXR0lpNzRUQXBQZTBaajhjSyt0TTFnVHZSQ3N1VVczdlFvVzlpMUF1WGFwYXhYakdcL3BUYXQ1VWNYQVwvRitXa283VHlcL2xMdkxnVmRRbWJVV0k5bzEwb3NaWnZPS2tZem9CdjdYbGVJODNIWGdnZk5wY1poTnhlRUFCODliVzdITjVvWitCVjY3OStNWVZGXC9sZTcxVWpTUmMwbE94Z1ZDSFR0a0dwQWZEZmNyRjVrOThwbVN2c293b0lwZWtmU0UrZU1nS3daSFZmN1wvckFsa3ZnTW9kSis2UnVrUGM0UlJqKzV3d1hMV0pVWXVyc0xneFNkYzRmZkFMQ3V5d2JUQVpTNEdwZTVZbDdZdUtYQlAzWDNRXC8yOGlqSWpBUk1GT1pPTERrcmFHUHVYMUFxcHBIbU9haFwvV01hbE1jZlR6V1kzVVk5SVJyakZiUVhaSFwvdXU1VTJ0TzhcL29nNzJhS21pN0R4dUdPd201cFN2dERRVGR1Q1pxUFhGY09FZGJ6cUJDanpJQWphbnFhYUh2cWFjbk5sRjN2TTBYcUhYaUVyYXFUTTVKQjVKRFFUaW1YTTQxalBWUnVFcUJmTGtuVUVvZFpwbzN6TllqbnlVdXJ1VWJSWm4yWnRxTVJrSk9zKzJUQUQyNFZpSHNUNUdoXC9KNndNZ0xyek9iSjBFcWk0WGQ0SVhCQUNJXC9TXC9VaDlVK1AxSllVSFVDT1hHV0lkQ1BYcTRwOUNlVzVhNjQ1OXUrYnJMQ21xNjh6REJrM2JDQ3BGRzVFaSt1SjFIYXNKNnRiaTFWZVRsUFFWM3M2Z2QxemwyZGRkUVZoVklwMlZ4XC85bGFIN2ozWHhxSmZlc0ZPbUsxeFRQYW1tbkpxTHBFWDBCcnlcL2R4WXFXNE5kRGZ1RmYxZUdjT3QxUXlwTU41SGQybWdsRGdJWGVLY29MSUNzNGRwVkp4Q1wvQWcwQ1gyK2FOM0k0QWdzMFFKaFwvaGFnUkdhcWh0WXBUaVpIcVRhVytHZW1GRk9XZ1EzYjhhRys3YlwvNVVJUkdrTmhcL0VaVXpSOVU5K1V6QjJYTWdvOVJLQldOTUJMeUVBYmVqeFN1SzNJQldPWHkxTnVBaG4xVkFvSVRlalpmaHY4Vk5VQzFsYTlkdVZpcXpvajhiOVduWHE1NU42SVA1RGV3WUNQRUdZVGl1dVB4XC9IcVl0eVR5R3RPZ2dUQmpZbloyOUllTlk1eERuYkFUWHloVEpJTGU2QkpxY0RMTFIzSytqRTZSY2ZoODV4TFFva1hWUkNIcjNpbFJjZ1RJeEU5eUdHeStWTUJjRzVxNDNIU1oyZmZINEF0SmFQelZuRG5lV2pzWWp1Ukk0bTFpT0tWMkJ2SmhuaFB3dUNIZEptSUE4cEZpZVJnNitXME1ENWpraG5PcWtiSXhiVUN6ZDVScVwvNGN0d1wvczlIVUJPVkhSXC9cLzVXdE1jYmR0MDlIeUVLTHNJR3JuZ2IrRUg4RUlhcFY4c0xHTDdlMk9GaVNiTys3Z1E1UUdtcjU3UFwvNlwvcStFQXVQZFB1cGRtZDc4dXNMQmVkSHlTbkFCa1hjSkEzR00zTk1iY0s2SXlvRFJ4OTRiYmFZQXFIcnFaM0EyTkZHeEt6bmRSYTVhdHlCeEpqTlhzam5BR0F1RHhRaFlWUXBYQUpVdWdxcENhVmord2JXeG9LODlpSVlvTzlpeTg3RGFkXC9wRVdLcnZrT25zZG9vNmxsVVNRVnpJa1dwV0F1NkVJQXUzc3N1ZE1GQnVOWmt3QUhaWWdwNVpuUW1xNzdTZzJcL1VBS0NPM3JRQ2xVcWR2WG84NDlVY0poWGFEVjNnNWVZdFwvYisrbkVPVjU0TGVhU0NoRWpTVDluWTZIcFBFUTlTUEVUc1J6b1RpYXpVcW5qYkQrbUpucmh1RzdzOVlIYnFobWw2WnRcL2Z4TE1kT1wvWWRmdDBLOGVubFNHTm52OTJ3ZmFkd0ZHSTg2U0prSWhiazFoN1lCN2hYaER1cklzcW9cL1JFemdZWlBpM28zcVwvdlZ5NGM0ZFpwT3R1Mkk4YzVJaSs1VVJLNnZsWE93TlQ0eTVnbXlZdUZQTExYZDN1a28yRGNVZ2J1d0JqZnVOM0NiNnowQlRzNWR4VlVZcVJSXC8xMnlQU3JPUGVOMnB0bXMra1o1cUVFenEwUjB3Y2trU0IrQ2NNTDZSVjVBMlg1MG9qUDlMeHJlSHM0WjlXMWRKMzNIb05lTjRVMGdtSHBrUFhKb3ZNblBSR2dCM21GXC9JNXAxdEFsY1JweWpoUWJrUWp5WGRoaUF5b3RlSlwvaU5YUlJNSVJ5U0xVWnRNd0k1S1wvMUxUTjJcL3RDVWZVMzJVNm5kbkl4T0VlN1h1dVNmTDNhRTBuTGVZNUZkN1FTSVFtM2hRYVpqTFwvR29mSDV5eW5rZmwzNmhNOWMwTVpiS25rdklnMmpwV2ZYSk5aUjc5YU9DOFJtajhnVjZCUVcwUG5OM3lFVFwvRHZpUWp2XC9LTTBqOVIwXC9WVVpmY1QrS3JURFFybmVJdEZsRFFLeDJMY2t2bUVSZkNGMXdZaEFHV2Q2blFRQmN0dUR3cVl3UW5IMjliTk1RbDhkNGxrRmpyVHZXeTdhUXlQRG9SNXBzRXV2S3dQNVZ2aWFQdklaVDdldjUyYVRFbktcL0JvWVJyTkx3Z2FtcGdZbUcyOEM0XC80TzFnWjBSRWNBVytDK2ZBZmU3R1lwMXRSSUJKZGNcL29SXC85K1Fwd1l6YkYwaGF2dWpQTmdURWo4VmpnOXZCRDBkUDRmdTdaUFFUTWtGS1k3WEFOXC9ZblU3VTBNbFZsYnhoUGkwNWdETGxCbW51MklMY2sra1wvR0EydG9tRTF6ZFY1cHJ6cCtpNXV0VVlvTk9pQUp1QXhPNitcL1RKUm91QTFESnNYN3V2bVB4V1ZmVzBYWUdYeHVYYnFGZnpLemFnRWE4Qk9BSElTUGt2U0tEWXFxYlQwTjJYaDBzYytaVVg4WjlTTFkzQmRmVjZ5a2tEeUNuR1V5bFBhREwrczJ6WU9VOW02TXBGU1l1ZXJ4OW9zNmZ5bXVUd1JsUzVidzB5WVhpUGNcLzRMMG1lbEZOdzMwOXhJR2F2NEJQVXJGS2kwazhnZTVoZExtak1qRVdKam94UGFtOFJaTFd2OXpiR3hOUjJscTNIXC9rcWNlWlwvM2xQNEx0OE5lXC9ZK2hrWjF6RlFzaG1uWW9PNmJCYzNvUkd0Z2RXRUN0bWFnM2ZqYlFqWDRQN1ZXWHhvZk5FN3JtRW0rajNoZ0JTejVQUVZjM0N5eDRGMWpwTlpEQ2M2aFVUQkM1MXdZUFNmcjJvejhXZW4rWDg1Uk5BN1p3XC9tM2VPVCttUXI5MHdIOE04ejBVOThvMVU2UDUydG9zNEpGZkVrRm9NTjc1QkdRbkFHRjFVVUlHQktvVWVYamh6ZlhZRkhFcFJ3SW5TdkhHTXVxNW5aNmxMbEI2ZFRmWDJDWHpxZWw3NkZDQVArbzk1WkhOWjZcL3JkZWtMSmtrK0d0R3c0RjRBXHgzZFx4MjIsXHgyMmdsb2JhbE5hbWVceDIyOlx4MjJ0cmF5cmlkZVx4MjIsXHgyMmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iXHgyMjpceDIyXHg1Ym51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXHg1Ylx4NWQsXHg1Ylx4NWRceDVkXHgyMlx4N2RceDdkJywnVCc6ICdBU0FGQVVKQnQwcTBISVVpUUtiWnpTdDhTRlY5eFRUY01qNDVsX0R0cjE5bFpaUWlpaVhCYjV6X0R2LThTN0gzZmdmRkZqOXhWdDN4RlZOLWZxaWp1OWhjT19jXHgzZCcsfSk7fX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iRFM4MVhWZkVNemlkVy1DYXI2VWdOUSI+aWYgKHdpbmRvdy55dGNzaSkge3l0Y3NpLmluZm9HZWwoe3NlcnZlclRpbWVNczogIDY4LjAgfSwgJycpO308L3NjcmlwdD48bm9zY3JpcHQ+PGRpdiBjbGFzcz0icGxheWVyLXVuYXZhaWxhYmxlIj48aDEgY2xhc3M9Im1lc3NhZ2UiPkFuIGVycm9yIG9jY3VycmVkLjwvaDE+PGRpdiBjbGFzcz0ic3VibWVzc2FnZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj10cDZ1Ri1iUEc2RSIgdGFyZ2V0PSJfYmxhbmsiPlRyeSB3YXRjaGluZyB0aGlzIHZpZGVvIG9uIHd3dy55b3V0dWJlLmNvbTwvYT4sIG9yIGVuYWJsZSBKYXZhU2NyaXB0IGlmIGl0IGlzIGRpc2FibGVkIGluIHlvdXIgYnJvd3Nlci48L2Rpdj48L2Rpdj48L25vc2NyaXB0PjwvYm9keT48L2h0bWw+"}},"time_used":121,"timings":{"blocked":-1,"dns":2,"connect":8,"send":0,"wait":87,"receive":0,"ssl":23},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/vendor5f93.js?id=0f8d2e9e1064428d3cd0","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.434Z","timestamp":1785137065434,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/vendor5f93.js?id=0f8d2e9e1064428d3cd0 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 09:35:32 GMT\r\naccept-ranges: bytes\r\netag: \"1d8257409e23e06\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]}],"data":{"size":340998,"size_decoded":95746,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65165)","md5":"b05e6e56c96632e5d82f7891f97efee5","sha1":"f269eec4551d2d1ab6cd388ad4f74a7aafb6f3ad","sha256":"6dbfc03e5fe5a54811ef6d643184b2926e0e712407ede62e52688824dc1cd6cb","sha512":"fc28be0df0c07aa99f888daa03a2303f9e294bd311a2ef5238baf46c48986c7b8b0e599fb52e9cfa0fc31ab7011a7ddace782bed1fc9f8fe7e6c6ba809e035c2","ssdeep":"6144:uhAW02XIHmcWPoS+/fL7/Xwzo+Mkhdk3A8JDY:A02TUD7/XWoGhGdY","tlshash":"ff7409ca3359b63182eb60e6902f120bb33a5a596404806cb53cdddd6d7cd8a7277f39","first_seen":"2025-10-27T18:25:33.042269Z","last_seen":"2026-07-27T07:25:28.817915Z","times_seen":6,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rQXZhdHJhZGVycz1zZWxmLndlYnBhY2tDaHVua0F2YXRyYWRlcnN8fFtdKS5wdXNoKFtbNjYwXSx7ODc3NTc6ZnVuY3Rpb24oZSx0LGkpe2UuZXhwb3J0cz1pKDM1NjY2KX0sMzMyMTY6ZnVuY3Rpb24oZSl7LyohCiogYnNDdXN0b21GaWxlSW5wdXQgdjEuMy40IChodHRwczovL2dpdGh1Yi5jb20vSm9oYW5uLVMvYnMtY3VzdG9tLWZpbGUtaW5wdXQpCiogQ29weXJpZ2h0IDIwMTggLSAyMDIwIEpvaGFubi1TIDxqb2hhbm4uc2Vydm9pcmVAZ21haWwuY29tPgoqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL0pvaGFubi1TL2JzLWN1c3RvbS1maWxlLWlucHV0L2Jsb2IvbWFzdGVyL0xJQ0VOU0UpCiovZS5leHBvcnRzPWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlPXtDVVNUT01GSUxFOicuY3VzdG9tLWZpbGUgaW5wdXRbdHlwZT0iZmlsZSJdJyxDVVNUT01GSUxFTEFCRUw6Ii5jdXN0b20tZmlsZS1sYWJlbCIsRk9STToiZm9ybSIsSU5QVVQ6ImlucHV0In0sdD0zLGk9ZnVuY3Rpb24odCl7dmFyIGk9IiIsbj10LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcihlLkNVU1RPTUZJTEVMQUJFTCk7cmV0dXJuIG4mJihpPW4udGV4dENvbnRlbnQpLGl9LG49ZnVuY3Rpb24oZSl7aWYoZS5jaGlsZE5vZGVzLmxlbmd0aD4wKWZvcih2YXIgaT1bXS5zbGljZS5jYWxsKGUuY2hpbGROb2Rlcyksbj0wO248aS5sZW5ndGg7bisrKXt2YXIgcz1pW25dO2lmKHMubm9kZVR5cGUhPT10KXJldHVybiBzfXJldHVybiBlfSxzPWZ1bmN0aW9uKHQpe3ZhciBpPXQuYnNDdXN0b21GaWxlSW5wdXQuZGVmYXVsdFRleHQscz10LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcihlLkNVU1RPTUZJTEVMQUJFTCk7cyYmKG4ocykudGV4dENvbnRlbnQ9aSl9LG89ISF3aW5kb3cuRmlsZSxyPSJmYWtlcGF0aCIsYT0iXFwiLGw9ZnVuY3Rpb24oZSl7aWYoZS5oYXNBdHRyaWJ1dGUoIm11bHRpcGxlIikmJm8pcmV0dXJuW10uc2xpY2UuY2FsbChlLmZpbGVzKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5hbWV9KSkuam9pbigiLCAiKTtpZigtMSE9PWUudmFsdWUuaW5kZXhPZihyKSl7dmFyIHQ9ZS52YWx1ZS5zcGxpdChhKTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX1yZXR1cm4gZS52YWx1ZX07ZnVuY3Rpb24gYygpe3ZhciB0PXRoaXMucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKGUuQ1VTVE9NRklMRUxBQkVMKTtpZih0KXt2YXIgaT1uKHQpLG89bCh0aGlzKTtvLmxlbmd0aD9pLnRleHRDb250ZW50PW86cyh0aGlzKX19ZnVuY3Rpb24gdSgpe2Zvcih2YXIgdD1bXS5zbGljZS5jYWxsKHRoaXMucXVlcnlTZWxlY3RvckFsbChlLklOUFVUKSkuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4hIWUuYnNDdXN0b21GaWxlSW5wdXR9KSksaT0wLG49dC5sZW5ndGg7aTxuO2krKylzKHRbaV0pfXZhciBoPSJic0N1c3RvbUZpbGVJbnB1dCIsZD17Rk9STVJFU0VUOiJyZXNldCIsSU5QVVRDSEFOR0U6ImNoYW5nZSJ9O3JldHVybntpbml0OmZ1bmN0aW9uKHQsbil7dm9pZCAwPT09dCYmKHQ9ZS5DVVNUT01GSUxFKSx2b2lkIDA9PT1uJiYobj1lLkZPUk0pO2Zvcih2YXIgcz1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCkpLG89W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKG4pKSxyPTAsYT1zLmxlbmd0aDtyPGE7cisrKXt2YXIgbD1zW3JdO09iamVjdC5kZWZpbmVQcm9wZXJ0eShsLGgse3ZhbHVlOntkZWZhdWx0VGV4dDppKGwpfSx3cml0YWJsZTohMH0pLGMuY2FsbChsKSxsLmFkZEV2ZW50TGlzdGVuZXIoZC5JTlBVVENIQU5HRSxjKX1mb3IodmFyIHA9MCxmPW8ubGVuZ3RoO3A8ZjtwKyspb1twXS5hZGRFdmVudExpc3RlbmVyKGQuRk9STVJFU0VULHUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvW3BdLGgse3ZhbHVlOiEwLHdyaXRhYmxlOiEwfSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGUuRk9STSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuISFlLmJzQ3VzdG9tRmlsZUlucHV0fSkpLGk9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGUuSU5QVVQpKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiEhZS5ic0N1c3RvbUZpbGVJbnB1dH0pKSxuPTAsbz1pLmxlbmd0aDtuPG87bisrKXt2YXIgcj1pW25dO3MocikscltoXT12b2lkIDAsci5yZW1vdmVFdmVudExpc3RlbmVyKGQuSU5QVVRDSEFOR0UsYyl9Zm9yKHZhciBhPTAsbD10Lmxlbmd0aDthPGw7YSsrKXRbYV0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihkLkZPUk1SRVNFVCx1KSx0W2FdW2hdPXZvaWQgMH19fSgpfSw2NDUyOTpmdW5jdGlvbihlKXsvKiFjaG9pY2VzLmpzIHYxMC4wLjAgfCDCqSAyMDIyIEpvc2ggSm9obnNvbiB8IGh0dHBzOi8vZ2l0aHViLmNvbS9qc2hqb2huc29uL0Nob2ljZXMjcmVhZG1lKi92YXIgdDt3aW5kb3csdD1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT17MjgyOmZ1bmN0aW9uKGUsdCxpKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5jbGVhckNob2ljZXM9dC5hY3RpdmF0ZUNob2ljZXM9dC5maWx0ZXJDaG9pY2VzPXQuYWRkQ2hvaWNlPXZvaWQgMDt2YXIgbj1pKDg4Myk7dC5hZGRDaG9pY2U9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS52YWx1ZSxpPWUubGFiZWwscz1lLmlkLG89ZS5ncm91cElkLHI9ZS5kaXNhYmxlZCxhPWUuZWxlbWVudElkLGw9ZS5jdXN0b21Qcm9wZXJ0aWVzLGM9ZS5wbGFjZWhvbGRlcix1PWUua2V5Q29kZTtyZXR1cm57dHlwZTpuLkFDVElPTl9UWVBFUy5BRERfQ0hPSUNFLHZhbHVlOnQsbGFiZWw6aSxpZDpzLGdyb3VwSWQ6byxkaXNhYmxlZDpyLGVsZW1lbnRJZDphLGN1c3RvbVByb3BlcnRpZXM6bCxwbGFjZWhvbGRlcjpjLGtleUNvZGU6dX19LHQuZmlsdGVyQ2hvaWNlcz1mdW5jdGlvbihlKXtyZXR1cm57dHlwZTpuLkFDVElPTl9UWVBFUy5GSUxURVJfQ0hPSUNFUyxyZXN1bHRzOmV9fSx0LmFjdGl2YXRlQ2hvaWNlcz1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9ITApLHt0eXBlOm4uQUNUSU9OX1RZUEVTLkFDVElWQVRFX0NIT0lDRVMsYWN0aXZlOmV9fSx0LmNsZWFyQ2hvaWNlcz1mdW5jdGlvbigpe3JldHVybnt0eXBlOm4uQUNUSU9OX1RZUEVTLkNMRUFSX0NIT0lDRVN9fX0sNzgzOmZ1bmN0aW9uKGUsdCxpKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5hZGRHcm91cD12b2lkIDA7dmFyIG49aSg4ODMpO3QuYWRkR3JvdXA9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS52YWx1ZSxpPWUuaWQscz1lLmFjdGl2ZSxvPWUuZGlzYWJsZWQ7cmV0dXJue3R5cGU6bi5BQ1RJT05fVFlQRVMuQUREX0dST1VQLHZhbHVlOnQsaWQ6aSxhY3RpdmU6cyxkaXNhYmxlZDpvfX19LDQ2NDpmdW5jdGlvbihlLHQsaSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuaGlnaGxpZ2h0SXRlbT10LnJlbW92ZUl0ZW09dC5hZGRJdGVtPXZvaWQgMDt2YXIgbj1pKDg4Myk7dC5hZGRJdGVtPWZ1bmN0aW9uKGUpe3ZhciB0PWUudmFsdWUsaT1lLmxhYmVsLHM9ZS5pZCxvPWUuY2hvaWNlSWQscj1lLmdyb3VwSWQsYT1lLmN1c3RvbVByb3BlcnRpZXMsbD1lLnBsYWNlaG9sZGVyLGM9ZS5rZXlDb2RlO3JldHVybnt0eXBlOm4uQUNUSU9OX1RZUEVTLkFERF9JVEVNLHZhbHVlOnQsbGFiZWw6aSxpZDpzLGNob2ljZUlkOm8sZ3JvdXBJZDpyLGN1c3RvbVByb3BlcnRpZXM6YSxwbGFjZWhvbGRlcjpsLGtleUNvZGU6Y319LHQucmVtb3ZlSXRlbT1mdW5jdGlvbihlLHQpe3JldHVybnt0eXBlOm4uQUNUSU9OX1RZUEVTLlJFTU9WRV9JVEVNLGlkOmUsY2hvaWNlSWQ6dH19LHQuaGlnaGxpZ2h0SXRlbT1mdW5jdGlvbihlLHQpe3JldHVybnt0eXBlOm4uQUNUSU9OX1RZUEVTLkhJR0hMSUdIVF9JVEVNLGlkOmUsaGlnaGxpZ2h0ZWQ6dH19fSwxMzc6ZnVuY3Rpb24oZSx0LGkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnNldElzTG9hZGluZz10LnJlc2V0VG89dC5jbGVhckFsbD12b2lkIDA7dmFyIG49aSg4ODMpO3QuY2xlYXJBbGw9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZTpuLkFDVElPTl9UWVBFUy5DTEVBUl9BTEx9fSx0LnJlc2V0VG89ZnVuY3Rpb24oZSl7cmV0dXJue3R5cGU6bi5BQ1RJT05fVFlQRVMuUkVTRVRfVE8sc3RhdGU6ZX19LHQuc2V0SXNMb2FkaW5nPWZ1bmN0aW9uKGUpe3JldHVybnt0eXBlOm4uQUNUSU9OX1RZUEVTLlNFVF9JU19MT0FESU5HLGlzTG9hZGluZzplfX19LDM3MzpmdW5jdGlvbihlLHQsaSl7dmFyIG49dGhpcyYmdGhpcy5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbihlLHQsaSl7aWYoaXx8Mj09PWFyZ3VtZW50cy5sZW5ndGgpZm9yKHZhciBuLHM9MCxvPXQubGVuZ3RoO3M8bztzKyspIW4mJnMgaW4gdHx8KG58fChuPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQsMCxzKSksbltzXT10W3NdKTtyZXR1cm4gZS5jb25jYXQobnx8QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCkpfSxzPXRoaXMmJnRoaXMuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbz1zKGkoOTk2KSkscj1zKGkoMjIxKSksYT1pKDI4MiksbD1pKDc4MyksYz1pKDQ2NCksdT1pKDEzNyksaD1pKDUyMCksZD1pKDg4MykscD1pKDc4OSksZj1pKDc5OSksbT1pKDY1NSksZz1zKGkoNzQ0KSkseT1zKGkoNjg2KSksdj0iLW1zLXNjcm9sbC1saW1pdCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJiItbXMtaW1lLWFsaWduImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSxiPXt9LF89ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsaSl7dmFyIHM9dGhpczt2b2lkIDA9PT10JiYodD0iW2RhdGEtY2hvaWNlXSIpLHZvaWQgMD09PWkmJihpPXt9KSx2b2lkIDA9PT1pLmFsbG93SFRNTCYmY29uc29sZS53YXJuKCJEZXByZWNhdGlvbiB3YXJuaW5nOiBhbGxvd0hUTUwgd2lsbCBkZWZhdWx0IHRvIGZhbHNlIGluIGEgZnV0dXJlIHJlbGVhc2UuIFRvIHJlbmRlciBIVE1MIGluIENob2ljZXMsIHlvdSB3aWxsIG5lZWQgdG8gc2V0IGl0IHRvIHRydWUuIFNldHRpbmcgYWxsb3dIVE1MIHdpbGwgc3VwcHJlc3MgdGhpcyBtZXNzYWdlLiIpLHRoaXMuY29uZmlnPW8uZGVmYXVsdC5hbGwoW3AuREVGQVVMVF9DT05GSUcsZS5kZWZhdWx0cy5vcHRpb25zLGldLHthcnJheU1lcmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4oW10sdCwhMCl9fSk7dmFyIHI9KDAsZi5kaWZmKSh0aGlzLmNvbmZpZyxwLkRFRkFVTFRfQ09ORklHKTtyLmxlbmd0aCYmY29uc29sZS53YXJuKCJVbmtub3duIGNvbmZpZyBvcHRpb24ocykgcGFzc2VkIixyLmpvaW4oIiwgIikpO3ZhciBhPSJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpOnQ7aWYoIShhIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudHx8YSBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSl0aHJvdyBUeXBlRXJyb3IoIkV4cGVjdGVkIG9uZSBvZiB0aGUgZm9sbG93aW5nIHR5cGVzIHRleHR8c2VsZWN0LW9uZXxzZWxlY3QtbXVsdGlwbGUiKTtpZih0aGlzLl9pc1RleHRFbGVtZW50PWEudHlwZT09PWQuVEVYVF9UWVBFLHRoaXMuX2lzU2VsZWN0T25lRWxlbWVudD1hLnR5cGU9PT1kLlNFTEVDVF9PTkVfVFlQRSx0aGlzLl9pc1NlbGVjdE11bHRpcGxlRWxlbWVudD1hLnR5cGU9PT1kLlNFTEVDVF9NVUxUSVBMRV9UWVBFLHRoaXMuX2lzU2VsZWN0RWxlbWVudD10aGlzLl9pc1NlbGVjdE9uZUVsZW1lbnR8fHRoaXMuX2lzU2VsZWN0TXVsdGlwbGVFbGVtZW50LHRoaXMuY29uZmlnLnNlYXJjaEVuYWJsZWQ9dGhpcy5faXNTZWxlY3RNdWx0aXBsZUVsZW1lbnR8fHRoaXMuY29uZmlnLnNlYXJjaEVuYWJsZWQsWyJhdXRvIiwiYWx3YXlzIl0uaW5jbHVkZXMoIiIuY29uY2F0KHRoaXMuY29uZmlnLnJlbmRlclNlbGVjdGVkQ2hvaWNlcykpfHwodGhpcy5jb25maWcucmVuZGVyU2VsZWN0ZWRDaG9pY2VzPSJhdXRvIiksaS5hZGRJdGVtRmlsdGVyJiYiZnVuY3Rpb24iIT10eXBlb2YgaS5hZGRJdGVtRmlsdGVyKXt2YXIgbD1pLmFkZEl0ZW1GaWx0ZXIgaW5zdGFuY2VvZiBSZWdFeHA/aS5hZGRJdGVtRmlsdGVyOm5ldyBSZWdFeHAoaS5hZGRJdGVtRmlsdGVyKTt0aGlzLmNvbmZpZy5hZGRJdGVtRmlsdGVyPWwudGVzdC5iaW5kKGwpfWlmKHRoaXMuX2lzVGV4dEVsZW1lbnQ/dGhpcy5wYXNzZWRFbGVtZW50PW5ldyBoLldyYXBwZWRJbnB1dCh7ZWxlbWVudDphLGNsYXNzTmFtZXM6dGhpcy5jb25maWcuY2xhc3NOYW1lcyxkZWxpbWl0ZXI6dGhpcy5jb25maWcuZGVsaW1pdGVyfSk6dGhpcy5wYXNzZWRFbGVtZW50PW5ldyBoLldyYXBwZWRTZWxlY3Qoe2VsZW1lbnQ6YSxjbGFzc05hbWVzOnRoaXMuY29uZmlnLmNsYXNzTmFtZXMsdGVtcGxhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIHMuX3RlbXBsYXRlcy5vcHRpb24oZSl9fSksdGhpcy5pbml0aWFsaXNlZD0hMSx0aGlzLl9zdG9yZT1uZXcgZy5kZWZhdWx0LHRoaXMuX2luaXRpYWxTdGF0ZT1tLmRlZmF1bHRTdGF0ZSx0aGlzLl9jdXJyZW50U3RhdGU9bS5kZWZhdWx0U3RhdGUsdGhpcy5fcHJldlN0YXRlPW0uZGVmYXVsdFN0YXRlLHRoaXMuX2N1cnJlbnRWYWx1ZT0iIix0aGlzLl9jYW5TZWFyY2g9ISF0aGlzLmNvbmZpZy5zZWFyY2hFbmFibGVkLHRoaXMuX2lzU2Nyb2xsaW5nT25JZT0hMSx0aGlzLl9oaWdobGlnaHRQb3NpdGlvbj0wLHRoaXMuX3dhc1RhcD0hMCx0aGlzLl9wbGFjZWhvbGRlclZhbHVlPXRoaXMuX2dlbmVyYXRlUGxhY2Vob2xkZXJWYWx1ZSgpLHRoaXMuX2Jhc2VJZD0oMCxmLmdlbmVyYXRlSWQpKHRoaXMucGFzc2VkRWxlbWVudC5lbGVtZW50LCJjaG9pY2VzLSIpLHRoaXMuX2RpcmVjdGlvbj10aGlzLnBhc3NlZEVsZW1lbnQuZGlyLCF0aGlzLl9kaXJlY3Rpb24pe3ZhciBjPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMucGFzc2VkRWxlbWVudC5lbGVtZW50KS5kaXJlY3Rpb247YyE9PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZGlyZWN0aW9uJiYodGhpcy5fZGlyZWN0aW9uPWMpfWlmKHRoaXMuX2lkTmFtZXM9e2l0ZW1DaG9pY2U6Iml0ZW0tY2hvaWNlIn0sdGhpcy5faXNTZWxlY3RFbGVtZW50JiYodGhpcy5fcHJlc2V0R3JvdXBzPXRoaXMucGFzc2VkRWxlbWVudC5vcHRpb25Hcm91cHMsdGhpcy5fcHJlc2V0T3B0aW9ucz10aGlzLnBhc3NlZEVsZW1lbnQub3B0aW9ucyksdGhpcy5fcHJlc2V0Q2hvaWNlcz10aGlzLmNvbmZpZy5jaG9pY2VzLHRoaXMuX3ByZXNldEl0ZW1zPXRoaXMuY29uZmlnLml0ZW1zLHRoaXMucGFzc2VkRWxlbWVudC52YWx1ZSYmdGhpcy5faXNUZXh0RWxlbWVudCl7dmFyIHU9dGhpcy5wYXNzZWRFbGVtZW50LnZhbHVlLnNwbGl0KHRoaXMuY29uZmlnLmRlbGltaXRlcik7dGhpcy5fcHJlc2V0SXRlbXM9dGhpcy5fcHJlc2V0SXRlbXMuY29uY2F0KHUpfWlmKHRoaXMucGFzc2VkRWxlbWVudC5vcHRpb25zJiZ0aGlzLnBhc3NlZEVsZW1lbnQub3B0aW9ucy5mb3JFYWNoKChmdW5jdGlvbihlKXtzLl9wcmVzZXRDaG9pY2VzLnB1c2goe3ZhbHVlOmUudmFsdWUsbGFiZWw6ZS5pbm5lckhUTUwsc2VsZWN0ZWQ6ISFlLnNlbGVjdGVkLGRpc2FibGVkOmUuZGlzYWJsZWR8fGUucGFyZW50Tm9kZS5kaXNhYmxlZCxwbGFjZWhvbGRlcjoiIj09PWUudmFsdWV8fGUuaGFzQXR0cmlidXRlKCJwbGFjZWhvbGRlciIpLGN1c3RvbVByb3BlcnRpZXM6ZS5kYXRhc2V0WyJjdXN0b20tcHJvcGVydGllcyJdfSl9KSksdGhpcy5fcmVuZGVyPXRoaXMuX3JlbmRlci5iaW5kKHRoaXMpLHRoaXMuX29uRm9jdXM9dGhpcy5fb25Gb2N1cy5iaW5kKHRoaXMpLHRoaXMuX29uQmx1cj10aGlzLl9vbkJsdXIuYmluZCh0aGlzKSx0aGlzLl9vbktleVVwPXRoaXMuX29uS2V5VXAuYmluZCh0aGlzKSx0aGlzLl9vbktleURvd249dGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyksdGhpcy5fb25DbGljaz10aGlzLl9vbkNsaWNrLmJpbmQodGhpcyksdGhpcy5fb25Ub3VjaE1vdmU9dGhpcy5fb25Ub3VjaE1vdmUuYmluZCh0aGlzKSx0aGlzLl9vblRvdWNoRW5kPXRoaXMuX29uVG91Y2hFbmQuYmluZCh0aGlzKSx0aGlzLl9vbk1vdXNlRG93bj10aGlzLl9vbk1vdXNlRG93bi5iaW5kKHRoaXMpLHRoaXMuX29uTW91c2VPdmVyPXRoaXMuX29uTW91c2VPdmVyLmJpbmQodGhpcyksdGhpcy5fb25Gb3JtUmVzZXQ9dGhpcy5fb25Gb3JtUmVzZXQuYmluZCh0aGlzKSx0aGlzLl9vblNlbGVjdEtleT10aGlzLl9vblNlbGVjdEtleS5iaW5kKHRoaXMpLHRoaXMuX29uRW50ZXJLZXk9dGhpcy5fb25FbnRlcktleS5iaW5kKHRoaXMpLHRoaXMuX29uRXNjYXBlS2V5PXRoaXMuX29uRXNjYXBlS2V5LmJpbmQodGhpcyksdGhpcy5fb25EaXJlY3Rpb25LZXk9dGhpcy5fb25EaXJlY3Rpb25LZXkuYmluZCh0aGlzKSx0aGlzLl9vbkRlbGV0ZUtleT10aGlzLl9vbkRlbGV0ZUtleS5iaW5kKHRoaXMpLHRoaXMucGFzc2VkRWxlbWVudC5pc0FjdGl2ZSlyZXR1cm4gdGhpcy5jb25maWcuc2lsZW50fHxjb25zb2xlLndhcm4oIlRyeWluZyB0byBpbml0aWFsaXNlIENob2ljZXMgb24gZWxlbWVudCBhbHJlYWR5IGluaXRpYWxpc2VkIix7ZWxlbWVudDp0fSksdm9pZCh0aGlzLmluaXRpYWxpc2VkPSEwKTt0aGlzLmluaXQoKX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImRlZmF1bHRzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gYn0sZ2V0IHRlbXBsYXRlcygpe3JldHVybiB5LmRlZmF1bHR9fSl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe2lmKCF0aGlzLmluaXRpYWxpc2VkKXt0aGlzLl9jcmVhdGVUZW1wbGF0ZXMoKSx0aGlzLl9jcmVhdGVFbGVtZW50cygpLHRoaXMuX2NyZWF0ZVN0cnVjdHVyZSgpLHRoaXMuX3N0b3JlLnN1YnNjcmliZSh0aGlzLl9yZW5kZXIpLHRoaXMuX3JlbmRlcigpLHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCksKCF0aGlzLmNvbmZpZy5hZGRJdGVtc3x8dGhpcy5wYXNzZWRFbGVtZW50LmVsZW1lbnQuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKSYmdGhpcy5kaXNhYmxlKCksdGhpcy5pbml0aWFsaXNlZD0hMDt2YXIgZT10aGlzLmNvbmZpZy5jYWxsYmFja09uSW5pdDtlJiYiZnVuY3Rpb24iPT10eXBlb2YgZSYmZS5jYWxsKHRoaXMpfX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMuaW5pdGlhbGlzZWQmJih0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVycygpLHRoaXMucGFzc2VkRWxlbWVudC5yZXZlYWwoKSx0aGlzLmNvbnRhaW5lck91dGVyLnVud3JhcCh0aGlzLnBhc3NlZEVsZW1lbnQuZWxlbWVudCksdGhpcy5jbGVhclN0b3JlKCksdGhpcy5faXNTZWxlY3RFbGVtZW50JiYodGhpcy5wYXNzZWRFbGVtZW50Lm9wdGlvbnM9dGhpcy5fcHJlc2V0T3B0aW9ucyksdGhpcy5fdGVtcGxhdGVzPXkuZGVmYXVsdCx0aGlzLmluaXRpYWxpc2VkPSExKX0sZS5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFzc2VkRWxlbWVudC5pc0Rpc2FibGVkJiZ0aGlzLnBhc3NlZEVsZW1lbnQuZW5hYmxlKCksdGhpcy5jb250YWluZXJPdXRlci5pc0Rpc2FibGVkJiYodGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLmlucHV0LmVuYWJsZSgpLHRoaXMuY29udGFpbmVyT3V0ZXIuZW5hYmxlKCkpLHRoaXN9LGUucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXNzZWRFbGVtZW50LmlzRGlzYWJsZWR8fHRoaXMucGFzc2VkRWxlbWVudC5kaXNhYmxlKCksdGhpcy5jb250YWluZXJPdXRlci5pc0Rpc2FibGVkfHwodGhpcy5fcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLmlucHV0LmRpc2FibGUoKSx0aGlzLmNvbnRhaW5lck91dGVyLmRpc2FibGUoKSksdGhpc30sZS5wcm90b3R5cGUuaGlnaGxpZ2h0SXRlbT1mdW5jdGlvbihlLHQpe2lmKHZvaWQgMD09PXQmJih0PSEwKSwhZXx8IWUuaWQpcmV0dXJuIHRoaXM7dmFyIGk9ZS5pZCxuPWUuZ3JvdXBJZCxzPXZvaWQgMD09PW4/LTE6bixvPWUudmFsdWUscj12b2lkIDA9PT1vPyIiOm8sYT1lLmxhYmVsLGw9dm9pZCAwPT09YT8iIjphLHU9cz49MD90aGlzLl9zdG9yZS5nZXRHcm91cEJ5SWQocyk6bnVsbDtyZXR1cm4gdGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsYy5oaWdobGlnaHRJdGVtKShpLCEwKSksdCYmdGhpcy5wYXNzZWRFbGVtZW50LnRyaWdnZXJFdmVudChkLkVWRU5UUy5oaWdobGlnaHRJdGVtLHtpZDppLHZhbHVlOnIsbGFiZWw6bCxncm91cFZhbHVlOnUmJnUudmFsdWU/dS52YWx1ZTpudWxsfSksdGhpc30sZS5wcm90b3R5cGUudW5oaWdobGlnaHRJdGVtPWZ1bmN0aW9uKGUpe2lmKCFlfHwhZS5pZClyZXR1cm4gdGhpczt2YXIgdD1lLmlkLGk9ZS5ncm91cElkLG49dm9pZCAwPT09aT8tMTppLHM9ZS52YWx1ZSxvPXZvaWQgMD09PXM/IiI6cyxyPWUubGFiZWwsYT12b2lkIDA9PT1yPyIiOnIsbD1uPj0wP3RoaXMuX3N0b3JlLmdldEdyb3VwQnlJZChuKTpudWxsO3JldHVybiB0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCxjLmhpZ2hsaWdodEl0ZW0pKHQsITEpKSx0aGlzLnBhc3NlZEVsZW1lbnQudHJpZ2dlckV2ZW50KGQuRVZFTlRTLmhpZ2hsaWdodEl0ZW0se2lkOnQsdmFsdWU6byxsYWJlbDphLGdyb3VwVmFsdWU6bCYmbC52YWx1ZT9sLnZhbHVlOm51bGx9KSx0aGlzfSxlLnByb3RvdHlwZS5oaWdobGlnaHRBbGw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9zdG9yZS5pdGVtcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5oaWdobGlnaHRJdGVtKHQpfSkpLHRoaXN9LGUucHJvdG90eXBlLnVuaGlnaGxpZ2h0QWxsPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5fc3RvcmUuaXRlbXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIGUudW5oaWdobGlnaHRJdGVtKHQpfSkpLHRoaXN9LGUucHJvdG90eXBlLnJlbW92ZUFjdGl2ZUl0ZW1zQnlWYWx1ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLl9zdG9yZS5hY3RpdmVJdGVtcy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnZhbHVlPT09ZX0pKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fcmVtb3ZlSXRlbShlKX0pKSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVBY3RpdmVJdGVtcz1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLl9zdG9yZS5hY3RpdmVJdGVtcy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkIT09ZX0pKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fcmVtb3ZlSXRlbShlKX0pKSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVIaWdobGlnaHRlZEl0ZW1zPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSx0aGlzLl9zdG9yZS5oaWdobGlnaHRlZEFjdGl2ZUl0ZW1zLmZvckVhY2goKGZ1bmN0aW9uKGkpe3QuX3JlbW92ZUl0ZW0oaSksZSYmdC5fdHJpZ2dlckNoYW5nZShpLnZhbHVlKX0pKSx0aGlzfSxlLnByb3RvdHlwZS5zaG93RHJvcGRvd249ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gdGhpcy5kcm9wZG93bi5pc0FjdGl2ZXx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe3QuZHJvcGRvd24uc2hvdygpLHQuY29udGFpbmVyT3V0ZXIub3Blbih0LmRyb3Bkb3duLmRpc3RhbmNlRnJvbVRvcFdpbmRvdyksIWUmJnQuX2NhblNlYXJjaCYmdC5pbnB1dC5mb2N1cygpLHQucGFzc2VkRWxlbWVudC50cmlnZ2VyRXZlbnQoZC5FVkVOVFMuc2hvd0Ryb3Bkb3duLHt9KX0pKSx0aGlzfSxlLnByb3RvdHlwZS5oaWRlRHJvcGRvd249ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gdGhpcy5kcm9wZG93bi5pc0FjdGl2ZT8ocmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe3QuZHJvcGRvd24uaGlkZSgpLHQuY29udGFpbmVyT3V0ZXIuY2xvc2UoKSwhZSYmdC5fY2FuU2VhcmNoJiYodC5pbnB1dC5yZW1vdmVBY3RpdmVEZXNjZW5kYW50KCksdC5pbnB1dC5ibHVyKCkpLHQucGFzc2VkRWxlbWVudC50cmlnZ2VyRXZlbnQoZC5FVkVOVFMuaGlkZURyb3Bkb3duLHt9KX0pKSx0aGlzKTp0aGlzfSxlLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT0hMSk7dmFyIHQ9dGhpcy5fc3RvcmUuYWN0aXZlSXRlbXMucmVkdWNlKChmdW5jdGlvbih0LGkpe3ZhciBuPWU/aS52YWx1ZTppO3JldHVybiB0LnB1c2gobiksdH0pLFtdKTtyZXR1cm4gdGhpcy5faXNTZWxlY3RPbmVFbGVtZW50P3RbMF06dH0sZS5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gdGhpcy5pbml0aWFsaXNlZD8oZS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fc2V0Q2hvaWNlT3JJdGVtKGUpfSkpLHRoaXMpOnRoaXN9LGUucHJvdG90eXBlLnNldENob2ljZUJ5VmFsdWU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4hdGhpcy5pbml0aWFsaXNlZHx8dGhpcy5faXNUZXh0RWxlbWVudHx8KEFycmF5LmlzQXJyYXkoZSk/ZTpbZV0pLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0Ll9maW5kQW5kU2VsZWN0Q2hvaWNlQnlWYWx1ZShlKX0pKSx0aGlzfSxlLnByb3RvdHlwZS5zZXRDaG9pY2VzPWZ1bmN0aW9uKGUsdCxpLG4pe3ZhciBzPXRoaXM7aWYodm9pZCAwPT09ZSYmKGU9W10pLHZvaWQgMD09PXQmJih0PSJ2YWx1ZSIpLHZvaWQgMD09PWkmJihpPSJsYWJlbCIpLHZvaWQgMD09PW4mJihuPSExKSwhdGhpcy5pbml0aWFsaXNlZCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInNldENob2ljZXMgd2FzIGNhbGxlZCBvbiBhIG5vbi1pbml0aWFsaXplZCBpbnN0YW5jZSBvZiBDaG9pY2VzIik7aWYoIXRoaXMuX2lzU2VsZWN0RWxlbWVudCl0aHJvdyBuZXcgVHlwZUVycm9yKCJzZXRDaG9pY2VzIGNhbid0IGJlIHVzZWQgd2l0aCBJTlBVVCBiYXNlZCBDaG9pY2VzIik7aWYoInN0cmluZyIhPXR5cGVvZiB0fHwhdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJ2YWx1ZSBwYXJhbWV0ZXIgbXVzdCBiZSBhIG5hbWUgb2YgJ3ZhbHVlJyBmaWVsZCBpbiBwYXNzZWQgb2JqZWN0cyIpO2lmKG4mJnRoaXMuY2xlYXJDaG9pY2VzKCksImZ1bmN0aW9uIj09dHlwZW9mIGUpe3ZhciBvPWUodGhpcyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2UmJm8gaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShlKX0pKS50aGVuKChmdW5jdGlvbigpe3JldHVybiBzLl9oYW5kbGVMb2FkaW5nU3RhdGUoITApfSkpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIHMuc2V0Q2hvaWNlcyhlLHQsaSxuKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7cy5jb25maWcuc2lsZW50fHxjb25zb2xlLmVycm9yKGUpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIHMuX2hhbmRsZUxvYWRpbmdTdGF0ZSghMSl9KSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gc30pKTtpZighQXJyYXkuaXNBcnJheShvKSl0aHJvdyBuZXcgVHlwZUVycm9yKCIuc2V0Q2hvaWNlcyBmaXJzdCBhcmd1bWVudCBmdW5jdGlvbiBtdXN0IHJldHVybiBlaXRoZXIgYXJyYXkgb2YgY2hvaWNlcyBvciBQcm9taXNlLCBnb3Q6ICIuY29uY2F0KHR5cGVvZiBvKSk7cmV0dXJuIHRoaXMuc2V0Q2hvaWNlcyhvLHQsaSwhMSl9aWYoIUFycmF5LmlzQXJyYXkoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiLnNldENob2ljZXMgbXVzdCBiZSBjYWxsZWQgZWl0aGVyIHdpdGggYXJyYXkgb2YgY2hvaWNlcyB3aXRoIGEgZnVuY3Rpb24gcmVzdWx0aW5nIGludG8gUHJvbWlzZSBvZiBhcnJheSBvZiBjaG9pY2VzIik7cmV0dXJuIHRoaXMuY29udGFpbmVyT3V0ZXIucmVtb3ZlTG9hZGluZ1N0YXRlKCksdGhpcy5fc3RhcnRMb2FkaW5nKCksZS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZihlLmNob2ljZXMpcy5fYWRkR3JvdXAoe2lkOmUuaWQ/cGFyc2VJbnQoIiIuY29uY2F0KGUuaWQpLDEwKTpudWxsLGdyb3VwOmUsdmFsdWVLZXk6dCxsYWJlbEtleTppfSk7ZWxzZXt2YXIgbj1lO3MuX2FkZENob2ljZSh7dmFsdWU6blt0XSxsYWJlbDpuW2ldLGlzU2VsZWN0ZWQ6ISFuLnNlbGVjdGVkLGlzRGlzYWJsZWQ6ISFuLmRpc2FibGVkLHBsYWNlaG9sZGVyOiEhbi5wbGFjZWhvbGRlcixjdXN0b21Qcm9wZXJ0aWVzOm4uY3VzdG9tUHJvcGVydGllc30pfX0pKSx0aGlzLl9zdG9wTG9hZGluZygpLHRoaXN9LGUucHJvdG90eXBlLmNsZWFyQ2hvaWNlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCxhLmNsZWFyQ2hvaWNlcykoKSksdGhpc30sZS5wcm90b3R5cGUuY2xlYXJTdG9yZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCx1LmNsZWFyQWxsKSgpKSx0aGlzfSxlLnByb3RvdHlwZS5jbGVhcklucHV0PWZ1bmN0aW9uKCl7dmFyIGU9IXRoaXMuX2lzU2VsZWN0T25lRWxlbWVudDtyZXR1cm4gdGhpcy5pbnB1dC5jbGVhcihlKSwhdGhpcy5faXNUZXh0RWxlbWVudCYmdGhpcy5fY2FuU2VhcmNoJiYodGhpcy5faXNTZWFyY2hpbmc9ITEsdGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsYS5hY3RpdmF0ZUNob2ljZXMpKCEwKSkpLHRoaXN9LGUucHJvdG90eXBlLl9yZW5kZXI9ZnVuY3Rpb24oKXtpZighdGhpcy5fc3RvcmUuaXNMb2FkaW5nKCkpe3RoaXMuX2N1cnJlbnRTdGF0ZT10aGlzLl9zdG9yZS5zdGF0ZTt2YXIgZT10aGlzLl9jdXJyZW50U3RhdGUuY2hvaWNlcyE9PXRoaXMuX3ByZXZTdGF0ZS5jaG9pY2VzfHx0aGlzLl9jdXJyZW50U3RhdGUuZ3JvdXBzIT09dGhpcy5fcHJldlN0YXRlLmdyb3Vwc3x8dGhpcy5fY3VycmVudFN0YXRlLml0ZW1zIT09dGhpcy5fcHJldlN0YXRlLml0ZW1zLHQ9dGhpcy5faXNTZWxlY3RFbGVtZW50LGk9dGhpcy5fY3VycmVudFN0YXRlLml0ZW1zIT09dGhpcy5fcHJldlN0YXRlLml0ZW1zO2UmJih0JiZ0aGlzLl9yZW5kZXJDaG9pY2VzKCksaSYmdGhpcy5fcmVuZGVySXRlbXMoKSx0aGlzLl9wcmV2U3RhdGU9dGhpcy5fY3VycmVudFN0YXRlKX19LGUucHJvdG90eXBlLl9yZW5kZXJDaG9pY2VzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXRoaXMuX3N0b3JlLGk9dC5hY3RpdmVHcm91cHMsbj10LmFjdGl2ZUNob2ljZXMscz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYodGhpcy5jaG9pY2VMaXN0LmNsZWFyKCksdGhpcy5jb25maWcucmVzZXRTY3JvbGxQb3NpdGlvbiYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe3JldHVybiBlLmNob2ljZUxpc3Quc2Nyb2xsVG9Ub3AoKX0pKSxpLmxlbmd0aD49MSYmIXRoaXMuX2lzU2VhcmNoaW5nKXt2YXIgbz1uLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lLnBsYWNlaG9sZGVyJiYtMT09PWUuZ3JvdXBJZH0pKTtvLmxlbmd0aD49MSYmKHM9dGhpcy5fY3JlYXRlQ2hvaWNlc0ZyYWdtZW50KG8scykpLHM9dGhpcy5fY3JlYXRlR3JvdXBzRnJhZ21lbnQoaSxuLHMpfWVsc2Ugbi5sZW5ndGg+PTEmJihzPXRoaXMuX2NyZWF0ZUNob2ljZXNGcmFnbWVudChuLHMpKTtpZihzLmNoaWxkTm9kZXMmJnMuY2hpbGROb2Rlcy5sZW5ndGg+MCl7dmFyIHI9dGhpcy5fc3RvcmUuYWN0aXZlSXRlbXMsYT10aGlzLl9jYW5BZGRJdGVtKHIsdGhpcy5pbnB1dC52YWx1ZSk7aWYoYS5yZXNwb25zZSl0aGlzLmNob2ljZUxpc3QuYXBwZW5kKHMpLHRoaXMuX2hpZ2hsaWdodENob2ljZSgpO2Vsc2V7dmFyIGw9dGhpcy5fZ2V0VGVtcGxhdGUoIm5vdGljZSIsYS5ub3RpY2UpO3RoaXMuY2hvaWNlTGlzdC5hcHBlbmQobCl9fWVsc2V7dmFyIGM9dm9pZCAwO2w9dm9pZCAwLHRoaXMuX2lzU2VhcmNoaW5nPyhsPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmNvbmZpZy5ub1Jlc3VsdHNUZXh0P3RoaXMuY29uZmlnLm5vUmVzdWx0c1RleHQoKTp0aGlzLmNvbmZpZy5ub1Jlc3VsdHNUZXh0LGM9dGhpcy5fZ2V0VGVtcGxhdGUoIm5vdGljZSIsbCwibm8tcmVzdWx0cyIpKToobD0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcubm9DaG9pY2VzVGV4dD90aGlzLmNvbmZpZy5ub0Nob2ljZXNUZXh0KCk6dGhpcy5jb25maWcubm9DaG9pY2VzVGV4dCxjPXRoaXMuX2dldFRlbXBsYXRlKCJub3RpY2UiLGwsIm5vLWNob2ljZXMiKSksdGhpcy5jaG9pY2VMaXN0LmFwcGVuZChjKX19LGUucHJvdG90eXBlLl9yZW5kZXJJdGVtcz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3N0b3JlLmFjdGl2ZUl0ZW1zfHxbXTt0aGlzLml0ZW1MaXN0LmNsZWFyKCk7dmFyIHQ9dGhpcy5fY3JlYXRlSXRlbXNGcmFnbWVudChlKTt0LmNoaWxkTm9kZXMmJnRoaXMuaXRlbUxpc3QuYXBwZW5kKHQpfSxlLnByb3RvdHlwZS5fY3JlYXRlR3JvdXBzRnJhZ21lbnQ9ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPXRoaXM7cmV0dXJuIHZvaWQgMD09PWkmJihpPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSksdGhpcy5jb25maWcuc2hvdWxkU29ydCYmZS5zb3J0KHRoaXMuY29uZmlnLnNvcnRlciksZS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgcz1mdW5jdGlvbihlKXtyZXR1cm4gdC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9pc1NlbGVjdE9uZUVsZW1lbnQ/dC5ncm91cElkPT09ZS5pZDp0Lmdyb3VwSWQ9PT1lLmlkJiYoImFsd2F5cyI9PT1uLmNvbmZpZy5yZW5kZXJTZWxlY3RlZENob2ljZXN8fCF0LnNlbGVjdGVkKX0pKX0oZSk7aWYocy5sZW5ndGg+PTEpe3ZhciBvPW4uX2dldFRlbXBsYXRlKCJjaG9pY2VHcm91cCIsZSk7aS5hcHBlbmRDaGlsZChvKSxuLl9jcmVhdGVDaG9pY2VzRnJhZ21lbnQocyxpLCEwKX19KSksaX0sZS5wcm90b3R5cGUuX2NyZWF0ZUNob2ljZXNGcmFnbWVudD1mdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpczt2b2lkIDA9PT10JiYodD1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkpLHZvaWQgMD09PWkmJihpPSExKTt2YXIgbz10aGlzLmNvbmZpZyxyPW8ucmVuZGVyU2VsZWN0ZWRDaG9pY2VzLGE9by5zZWFyY2hSZXN1bHRMaW1pdCxsPW8ucmVuZGVyQ2hvaWNlTGltaXQsYz10aGlzLl9pc1NlYXJjaGluZz9mLnNvcnRCeVNjb3JlOnRoaXMuY29uZmlnLnNvcnRlcix1PWZ1bmN0aW9uKGUpe2lmKCJhdXRvIiE9PXJ8fHMuX2lzU2VsZWN0T25lRWxlbWVudHx8IWUuc2VsZWN0ZWQpe3ZhciBpPXMuX2dldFRlbXBsYXRlKCJjaG9pY2UiLGUscy5jb25maWcuaXRlbVNlbGVjdFRleHQpO3QuYXBwZW5kQ2hpbGQoaSl9fSxoPWU7ImF1dG8iIT09cnx8dGhpcy5faXNTZWxlY3RPbmVFbGVtZW50fHwoaD1lLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIWUuc2VsZWN0ZWR9KSkpO3ZhciBkPWgucmVkdWNlKChmdW5jdGlvbihlLHQpe3JldHVybiB0LnBsYWNlaG9sZGVyP2UucGxhY2Vob2xkZXJDaG9pY2VzLnB1c2godCk6ZS5ub3JtYWxDaG9pY2VzLnB1c2godCksZX0pLHtwbGFjZWhvbGRlckNob2ljZXM6W10sbm9ybWFsQ2hvaWNlczpbXX0pLHA9ZC5wbGFjZWhvbGRlckNob2ljZXMsbT1kLm5vcm1hbENob2ljZXM7KHRoaXMuY29uZmlnLnNob3VsZFNvcnR8fHRoaXMuX2lzU2VhcmNoaW5nKSYmbS5zb3J0KGMpO3ZhciBnPWgubGVuZ3RoLHk9dGhpcy5faXNTZWxlY3RPbmVFbGVtZW50P24obihbXSxwLCEwKSxtLCEwKTptO3RoaXMuX2lzU2VhcmNoaW5nP2c9YTpsJiZsPjAmJiFpJiYoZz1sKTtmb3IodmFyIHY9MDt2PGc7dis9MSl5W3ZdJiZ1KHlbdl0pO3JldHVybiB0fSxlLnByb3RvdHlwZS5fY3JlYXRlSXRlbXNGcmFnbWVudD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7dm9pZCAwPT09dCYmKHQ9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKTt2YXIgbj10aGlzLmNvbmZpZyxzPW4uc2hvdWxkU29ydEl0ZW1zLG89bi5zb3J0ZXIscj1uLnJlbW92ZUl0ZW1CdXR0b247cmV0dXJuIHMmJiF0aGlzLl9pc1NlbGVjdE9uZUVsZW1lbnQmJmUuc29ydChvKSx0aGlzLl9pc1RleHRFbGVtZW50P3RoaXMucGFzc2VkRWxlbWVudC52YWx1ZT1lLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUudmFsdWV9KSkuam9pbih0aGlzLmNvbmZpZy5kZWxpbWl0ZXIpOnRoaXMucGFzc2VkRWxlbWVudC5vcHRpb25zPWUsZS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1pLl9nZXRUZW1wbGF0ZSgiaXRlbSIsZSxyKTt0LmFwcGVuZENoaWxkKG4pfSkpLHR9LGUucHJvdG90eXBlLl90cmlnZ2VyQ2hhbmdlPWZ1bmN0aW9uKGUpe251bGwhPWUmJnRoaXMucGFzc2VkRWxlbWVudC50cmlnZ2VyRXZlbnQoZC5FVkVOVFMuY2hhbmdlLHt2YWx1ZTplfSl9LGUucHJvdG90eXBlLl9zZWxlY3RQbGFjZWhvbGRlckNob2ljZT1mdW5jdGlvbihlKXt0aGlzLl9hZGRJdGVtKHt2YWx1ZTplLnZhbHVlLGxhYmVsOmUubGFiZWwsY2hvaWNlSWQ6ZS5pZCxncm91cElkOmUuZ3JvdXBJZCxwbGFjZWhvbGRlcjplLnBsYWNlaG9sZGVyfSksdGhpcy5fdHJpZ2dlckNoYW5nZShlLnZhbHVlKX0sZS5wcm90b3R5cGUuX2hhbmRsZUJ1dHRvbkFjdGlvbj1mdW5jdGlvbihlLHQpe2lmKGUmJnQmJnRoaXMuY29uZmlnLnJlbW92ZUl0ZW1zJiZ0aGlzLmNvbmZpZy5yZW1vdmVJdGVtQnV0dG9uKXt2YXIgaT10LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5kYXRhc2V0LmlkLG49aSYmZS5maW5kKChmdW5jdGlvbihlKXtyZXR1cm4gZS5pZD09PXBhcnNlSW50KGksMTApfSkpO24mJih0aGlzLl9yZW1vdmVJdGVtKG4pLHRoaXMuX3RyaWdnZXJDaGFuZ2Uobi52YWx1ZSksdGhpcy5faXNTZWxlY3RPbmVFbGVtZW50JiZ0aGlzLl9zdG9yZS5wbGFjZWhvbGRlckNob2ljZSYmdGhpcy5fc2VsZWN0UGxhY2Vob2xkZXJDaG9pY2UodGhpcy5fc3RvcmUucGxhY2Vob2xkZXJDaG9pY2UpKX19LGUucHJvdG90eXBlLl9oYW5kbGVJdGVtQWN0aW9uPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbj10aGlzO2lmKHZvaWQgMD09PWkmJihpPSExKSxlJiZ0JiZ0aGlzLmNvbmZpZy5yZW1vdmVJdGVtcyYmIXRoaXMuX2lzU2VsZWN0T25lRWxlbWVudCl7dmFyIHM9dC5kYXRhc2V0LmlkO2UuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5pZCE9PXBhcnNlSW50KCIiLmNvbmNhdChzKSwxMCl8fGUuaGlnaGxpZ2h0ZWQ/IWkmJmUuaGlnaGxpZ2h0ZWQmJm4udW5oaWdobGlnaHRJdGVtKGUpOm4uaGlnaGxpZ2h0SXRlbShlKX0pKSx0aGlzLmlucHV0LmZvY3VzKCl9fSxlLnByb3RvdHlwZS5faGFuZGxlQ2hvaWNlQWN0aW9uPWZ1bmN0aW9uKGUsdCl7aWYoZSYmdCl7dmFyIGk9dC5kYXRhc2V0LmlkLG49aSYmdGhpcy5fc3RvcmUuZ2V0Q2hvaWNlQnlJZChpKTtpZihuKXt2YXIgcz1lWzBdJiZlWzBdLmtleUNvZGU/ZVswXS5rZXlDb2RlOnZvaWQgMCxvPXRoaXMuZHJvcGRvd24uaXNBY3RpdmU7bi5rZXlDb2RlPXMsdGhpcy5wYXNzZWRFbGVtZW50LnRyaWdnZXJFdmVudChkLkVWRU5UUy5jaG9pY2Use2Nob2ljZTpufSksbi5zZWxlY3RlZHx8bi5kaXNhYmxlZHx8dGhpcy5fY2FuQWRkSXRlbShlLG4udmFsdWUpLnJlc3BvbnNlJiYodGhpcy5fYWRkSXRlbSh7dmFsdWU6bi52YWx1ZSxsYWJlbDpuLmxhYmVsLGNob2ljZUlkOm4uaWQsZ3JvdXBJZDpuLmdyb3VwSWQsY3VzdG9tUHJvcGVydGllczpuLmN1c3RvbVByb3BlcnRpZXMscGxhY2Vob2xkZXI6bi5wbGFjZWhvbGRlcixrZXlDb2RlOm4ua2V5Q29kZX0pLHRoaXMuX3RyaWdnZXJDaGFuZ2Uobi52YWx1ZSkpLHRoaXMuY2xlYXJJbnB1dCgpLG8mJnRoaXMuX2lzU2VsZWN0T25lRWxlbWVudCYmKHRoaXMuaGlkZURyb3Bkb3duKCEwKSx0aGlzLmNvbnRhaW5lck91dGVyLmZvY3VzKCkpfX19LGUucHJvdG90eXBlLl9oYW5kbGVCYWNrc3BhY2U9ZnVuY3Rpb24oZSl7aWYodGhpcy5jb25maWcucmVtb3ZlSXRlbXMmJmUpe3ZhciB0PWVbZS5sZW5ndGgtMV0saT1lLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmhpZ2hsaWdodGVkfSkpO3RoaXMuY29uZmlnLmVkaXRJdGVtcyYmIWkmJnQ/KHRoaXMuaW5wdXQudmFsdWU9dC52YWx1ZSx0aGlzLmlucHV0LnNldFdpZHRoKCksdGhpcy5fcmVtb3ZlSXRlbSh0KSx0aGlzLl90cmlnZ2VyQ2hhbmdlKHQudmFsdWUpKTooaXx8dGhpcy5oaWdobGlnaHRJdGVtKHQsITEpLHRoaXMucmVtb3ZlSGlnaGxpZ2h0ZWRJdGVtcyghMCkpfX0sZS5wcm90b3R5cGUuX3N0YXJ0TG9hZGluZz1mdW5jdGlvbigpe3RoaXMuX3N0b3JlLmRpc3BhdGNoKCgwLHUuc2V0SXNMb2FkaW5nKSghMCkpfSxlLnByb3RvdHlwZS5fc3RvcExvYWRpbmc9ZnVuY3Rpb24oKXt0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCx1LnNldElzTG9hZGluZykoITEpKX0sZS5wcm90b3R5cGUuX2hhbmRsZUxvYWRpbmdTdGF0ZT1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT0hMCk7dmFyIHQ9dGhpcy5pdGVtTGlzdC5nZXRDaGlsZCgiLiIuY29uY2F0KHRoaXMuY29uZmlnLmNsYXNzTmFtZXMucGxhY2Vob2xkZXIpKTtlPyh0aGlzLmRpc2FibGUoKSx0aGlzLmNvbnRhaW5lck91dGVyLmFkZExvYWRpbmdTdGF0ZSgpLHRoaXMuX2lzU2VsZWN0T25lRWxlbWVudD90P3QuaW5uZXJIVE1MPXRoaXMuY29uZmlnLmxvYWRpbmdUZXh0Oih0PXRoaXMuX2dldFRlbXBsYXRlKCJwbGFjZWhvbGRlciIsdGhpcy5jb25maWcubG9hZGluZ1RleHQpKSYmdGhpcy5pdGVtTGlzdC5hcHBlbmQodCk6dGhpcy5pbnB1dC5wbGFjZWhvbGRlcj10aGlzLmNvbmZpZy5sb2FkaW5nVGV4dCk6KHRoaXMuZW5hYmxlKCksdGhpcy5jb250YWluZXJPdXRlci5yZW1vdmVMb2FkaW5nU3RhdGUoKSx0aGlzLl9pc1NlbGVjdE9uZUVsZW1lbnQ/dCYmKHQuaW5uZXJIVE1MPXRoaXMuX3BsYWNlaG9sZGVyVmFsdWV8fCIiKTp0aGlzLmlucHV0LnBsYWNlaG9sZGVyPXRoaXMuX3BsYWNlaG9sZGVyVmFsdWV8fCIiKX0sZS5wcm90b3R5cGUuX2hhbmRsZVNlYXJjaD1mdW5jdGlvbihlKXtpZih0aGlzLmlucHV0LmlzRm9jdXNzZWQpe3ZhciB0PXRoaXMuX3N0b3JlLmNob2ljZXMsaT10aGlzLmNvbmZpZyxuPWkuc2VhcmNoRmxvb3Iscz1pLnNlYXJjaENob2ljZXMsbz10LnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiFlLmFjdGl2ZX0pKTtpZihudWxsIT1lJiZlLmxlbmd0aD49bil7dmFyIHI9cz90aGlzLl9zZWFyY2hDaG9pY2VzKGUpOjA7dGhpcy5wYXNzZWRFbGVtZW50LnRyaWdnZXJFdmVudChkLkVWRU5UUy5zZWFyY2gse3ZhbHVlOmUscmVzdWx0Q291bnQ6cn0pfWVsc2UgbyYmKHRoaXMuX2lzU2VhcmNoaW5nPSExLHRoaXMuX3N0b3JlLmRpc3BhdGNoKCgwLGEuYWN0aXZhdGVDaG9pY2VzKSghMCkpKX19LGUucHJvdG90eXBlLl9jYW5BZGRJdGVtPWZ1bmN0aW9uKGUsdCl7dmFyIGk9ITAsbj0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcuYWRkSXRlbVRleHQ/dGhpcy5jb25maWcuYWRkSXRlbVRleHQodCk6dGhpcy5jb25maWcuYWRkSXRlbVRleHQ7aWYoIXRoaXMuX2lzU2VsZWN0T25lRWxlbWVudCl7dmFyIHM9KDAsZi5leGlzdHNJbkFycmF5KShlLHQpO3RoaXMuY29uZmlnLm1heEl0ZW1Db3VudD4wJiZ0aGlzLmNvbmZpZy5tYXhJdGVtQ291bnQ8PWUubGVuZ3RoJiYoaT0hMSxuPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmNvbmZpZy5tYXhJdGVtVGV4dD90aGlzLmNvbmZpZy5tYXhJdGVtVGV4dCh0aGlzLmNvbmZpZy5tYXhJdGVtQ291bnQpOnRoaXMuY29uZmlnLm1heEl0ZW1UZXh0KSwhdGhpcy5jb25maWcuZHVwbGljYXRlSXRlbXNBbGxvd2VkJiZzJiZpJiYoaT0hMSxuPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmNvbmZpZy51bmlxdWVJdGVtVGV4dD90aGlzLmNvbmZpZy51bmlxdWVJdGVtVGV4dCh0KTp0aGlzLmNvbmZpZy51bmlxdWVJdGVtVGV4dCksdGhpcy5faXNUZXh0RWxlbWVudCYmdGhpcy5jb25maWcuYWRkSXRlbXMmJmkmJiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmNvbmZpZy5hZGRJdGVtRmlsdGVyJiYhdGhpcy5jb25maWcuYWRkSXRlbUZpbHRlcih0KSYmKGk9ITEsbj0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcuY3VzdG9tQWRkSXRlbVRleHQ/dGhpcy5jb25maWcuY3VzdG9tQWRkSXRlbVRleHQodCk6dGhpcy5jb25maWcuY3VzdG9tQWRkSXRlbVRleHQpfXJldHVybntyZXNwb25zZTppLG5vdGljZTpufX0sZS5wcm90b3R5cGUuX3NlYXJjaENob2ljZXM9ZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBlP2UudHJpbSgpOmUsaT0ic3RyaW5nIj09dHlwZW9mIHRoaXMuX2N1cnJlbnRWYWx1ZT90aGlzLl9jdXJyZW50VmFsdWUudHJpbSgpOnRoaXMuX2N1cnJlbnRWYWx1ZTtpZih0Lmxlbmd0aDwxJiZ0PT09IiIuY29uY2F0KGksIiAiKSlyZXR1cm4gMDt2YXIgcz10aGlzLl9zdG9yZS5zZWFyY2hhYmxlQ2hvaWNlcyxvPXQsbD1PYmplY3QuYXNzaWduKHRoaXMuY29uZmlnLmZ1c2VPcHRpb25zLHtrZXlzOm4oW10sdGhpcy5jb25maWcuc2VhcmNoRmllbGRzLCEwKSxpbmNsdWRlTWF0Y2hlczohMH0pLGM9bmV3IHIuZGVmYXVsdChzLGwpLnNlYXJjaChvKTtyZXR1cm4gdGhpcy5fY3VycmVudFZhbHVlPXQsdGhpcy5faGlnaGxpZ2h0UG9zaXRpb249MCx0aGlzLl9pc1NlYXJjaGluZz0hMCx0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCxhLmZpbHRlckNob2ljZXMpKGMpKSxjLmxlbmd0aH0sZS5wcm90b3R5cGUuX2FkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2UuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX29uVG91Y2hFbmQsITApLHRoaXMuY29udGFpbmVyT3V0ZXIuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9vbktleURvd24sITApLHRoaXMuY29udGFpbmVyT3V0ZXIuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX29uTW91c2VEb3duLCEwKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9vbkNsaWNrLHtwYXNzaXZlOiEwfSksZS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX29uVG91Y2hNb3ZlLHtwYXNzaXZlOiEwfSksdGhpcy5kcm9wZG93bi5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsdGhpcy5fb25Nb3VzZU92ZXIse3Bhc3NpdmU6ITB9KSx0aGlzLl9pc1NlbGVjdE9uZUVsZW1lbnQmJih0aGlzLmNvbnRhaW5lck91dGVyLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX29uRm9jdXMse3Bhc3NpdmU6ITB9KSx0aGlzLmNvbnRhaW5lck91dGVyLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fb25CbHVyLHtwYXNzaXZlOiEwfSkpLHRoaXMuaW5wdXQuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fb25LZXlVcCx7cGFzc2l2ZTohMH0pLHRoaXMuaW5wdXQuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fb25Gb2N1cyx7cGFzc2l2ZTohMH0pLHRoaXMuaW5wdXQuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9vbkJsdXIse3Bhc3NpdmU6ITB9KSx0aGlzLmlucHV0LmVsZW1lbnQuZm9ybSYmdGhpcy5pbnB1dC5lbGVtZW50LmZvcm0uYWRkRXZlbnRMaXN0ZW5lcigicmVzZXQiLHRoaXMuX29uRm9ybVJlc2V0LHtwYXNzaXZlOiEwfSksdGhpcy5pbnB1dC5hZGRFdmVudExpc3RlbmVycygpfSxlLnByb3RvdHlwZS5fcmVtb3ZlRXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaEVuZCwhMCksdGhpcy5jb250YWluZXJPdXRlci5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX29uS2V5RG93biwhMCksdGhpcy5jb250YWluZXJPdXRlci5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5fb25Nb3VzZURvd24sITApLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX29uQ2xpY2spLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0aGlzLl9vblRvdWNoTW92ZSksdGhpcy5kcm9wZG93bi5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsdGhpcy5fb25Nb3VzZU92ZXIpLHRoaXMuX2lzU2VsZWN0T25lRWxlbWVudCYmKHRoaXMuY29udGFpbmVyT3V0ZXIuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fb25Gb2N1cyksdGhpcy5jb250YWluZXJPdXRlci5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX29uQmx1cikpLHRoaXMuaW5wdXQuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fb25LZXlVcCksdGhpcy5pbnB1dC5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9vbkZvY3VzKSx0aGlzLmlucHV0LmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fb25CbHVyKSx0aGlzLmlucHV0LmVsZW1lbnQuZm9ybSYmdGhpcy5pbnB1dC5lbGVtZW50LmZvcm0ucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzZXQiLHRoaXMuX29uRm9ybVJlc2V0KSx0aGlzLmlucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXJzKCl9LGUucHJvdG90eXBlLl9vbktleURvd249ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5rZXlDb2RlLGk9dGhpcy5fc3RvcmUuYWN0aXZlSXRlbXMsbj10aGlzLmlucHV0LmlzRm9jdXNzZWQscz10aGlzLmRyb3Bkb3duLmlzQWN0aXZlLG89dGhpcy5pdGVtTGlzdC5oYXNDaGlsZHJlbigpLHI9U3RyaW5nLmZyb21DaGFyQ29kZSh0KSxhPS9bYS16QS1aMC05LV8gXS8udGVzdChyKSxsPWQuS0VZX0NPREVTLkJBQ0tfS0VZLGM9ZC5LRVlfQ09ERVMuREVMRVRFX0tFWSx1PWQuS0VZX0NPREVTLkVOVEVSX0tFWSxoPWQuS0VZX0NPREVTLkFfS0VZLHA9ZC5LRVlfQ09ERVMuRVNDX0tFWSxmPWQuS0VZX0NPREVTLlVQX0tFWSxtPWQuS0VZX0NPREVTLkRPV05fS0VZLGc9ZC5LRVlfQ09ERVMuUEFHRV9VUF9LRVkseT1kLktFWV9DT0RFUy5QQUdFX0RPV05fS0VZO3N3aXRjaCh0aGlzLl9pc1RleHRFbGVtZW50fHxzfHwhYXx8KHRoaXMuc2hvd0Ryb3Bkb3duKCksdGhpcy5pbnB1dC5pc0ZvY3Vzc2VkfHwodGhpcy5pbnB1dC52YWx1ZSs9ci50b0xvd2VyQ2FzZSgpKSksdCl7Y2FzZSBoOnJldHVybiB0aGlzLl9vblNlbGVjdEtleShlLG8pO2Nhc2UgdTpyZXR1cm4gdGhpcy5fb25FbnRlcktleShlLGkscyk7Y2FzZSBwOnJldHVybiB0aGlzLl9vbkVzY2FwZUtleShzKTtjYXNlIGY6Y2FzZSBnOmNhc2UgbTpjYXNlIHk6cmV0dXJuIHRoaXMuX29uRGlyZWN0aW9uS2V5KGUscyk7Y2FzZSBjOmNhc2UgbDpyZXR1cm4gdGhpcy5fb25EZWxldGVLZXkoZSxpLG4pfX0sZS5wcm90b3R5cGUuX29uS2V5VXA9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQsaT1lLmtleUNvZGUsbj10aGlzLmlucHV0LnZhbHVlLHM9dGhpcy5fc3RvcmUuYWN0aXZlSXRlbXMsbz10aGlzLl9jYW5BZGRJdGVtKHMsbikscj1kLktFWV9DT0RFUy5CQUNLX0tFWSxsPWQuS0VZX0NPREVTLkRFTEVURV9LRVk7aWYodGhpcy5faXNUZXh0RWxlbWVudClpZihvLm5vdGljZSYmbil7dmFyIGM9dGhpcy5fZ2V0VGVtcGxhdGUoIm5vdGljZSIsby5ub3RpY2UpO3RoaXMuZHJvcGRvd24uZWxlbWVudC5pbm5lckhUTUw9Yy5vdXRlckhUTUwsdGhpcy5zaG93RHJvcGRvd24oITApfWVsc2UgdGhpcy5oaWRlRHJvcGRvd24oITApO2Vsc2V7dmFyIHU9KGk9PT1yfHxpPT09bCkmJnQmJiF0LnZhbHVlLGg9IXRoaXMuX2lzVGV4dEVsZW1lbnQmJnRoaXMuX2lzU2VhcmNoaW5nLHA9dGhpcy5fY2FuU2VhcmNoJiZvLnJlc3BvbnNlO3UmJmg/KHRoaXMuX2lzU2VhcmNoaW5nPSExLHRoaXMuX3N0b3JlLmRpc3BhdGNoKCgwLGEuYWN0aXZhdGVDaG9pY2VzKSghMCkpKTpwJiZ0aGlzLl9oYW5kbGVTZWFyY2godGhpcy5pbnB1dC5yYXdWYWx1ZSl9dGhpcy5fY2FuU2VhcmNoPXRoaXMuY29uZmlnLnNlYXJjaEVuYWJsZWR9LGUucHJvdG90eXBlLl9vblNlbGVjdEtleT1mdW5jdGlvbihlLHQpe3ZhciBpPWUuY3RybEtleSxuPWUubWV0YUtleTsoaXx8bikmJnQmJih0aGlzLl9jYW5TZWFyY2g9ITEsdGhpcy5jb25maWcucmVtb3ZlSXRlbXMmJiF0aGlzLmlucHV0LnZhbHVlJiZ0aGlzLmlucHV0LmVsZW1lbnQ9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZ0aGlzLmhpZ2hsaWdodEFsbCgpKX0sZS5wcm90b3R5cGUuX29uRW50ZXJLZXk9ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPWUudGFyZ2V0LHM9ZC5LRVlfQ09ERVMuRU5URVJfS0VZLG89biYmbi5oYXNBdHRyaWJ1dGUoImRhdGEtYnV0dG9uIik7aWYodGhpcy5faXNUZXh0RWxlbWVudCYmbiYmbi52YWx1ZSl7dmFyIHI9dGhpcy5pbnB1dC52YWx1ZTt0aGlzLl9jYW5BZGRJdGVtKHQscikucmVzcG9uc2UmJih0aGlzLmhpZGVEcm9wZG93bighMCksdGhpcy5fYWRkSXRlbSh7dmFsdWU6cn0pLHRoaXMuX3RyaWdnZXJDaGFuZ2UociksdGhpcy5jbGVhcklucHV0KCkpfWlmKG8mJih0aGlzLl9oYW5kbGVCdXR0b25BY3Rpb24odCxuKSxlLnByZXZlbnREZWZhdWx0KCkpLGkpe3ZhciBhPXRoaXMuZHJvcGRvd24uZ2V0Q2hpbGQoIi4iLmNvbmNhdCh0aGlzLmNvbmZpZy5jbGFzc05hbWVzLmhpZ2hsaWdodGVkU3RhdGUpKTthJiYodFswXSYmKHRbMF0ua2V5Q29kZT1zKSx0aGlzLl9oYW5kbGVDaG9pY2VBY3Rpb24odCxhKSksZS5wcmV2ZW50RGVmYXVsdCgpfWVsc2UgdGhpcy5faXNTZWxlY3RPbmVFbGVtZW50JiYodGhpcy5zaG93RHJvcGRvd24oKSxlLnByZXZlbnREZWZhdWx0KCkpfSxlLnByb3RvdHlwZS5fb25Fc2NhcGVLZXk9ZnVuY3Rpb24oZSl7ZSYmKHRoaXMuaGlkZURyb3Bkb3duKCEwKSx0aGlzLmNvbnRhaW5lck91dGVyLmZvY3VzKCkpfSxlLnByb3RvdHlwZS5fb25EaXJlY3Rpb25LZXk9ZnVuY3Rpb24oZSx0KXt2YXIgaT1lLmtleUNvZGUsbj1lLm1ldGFLZXkscz1kLktFWV9DT0RFUy5ET1dOX0tFWSxvPWQuS0VZX0NPREVTLlBBR0VfVVBfS0VZLHI9ZC5LRVlfQ09ERVMuUEFHRV9ET1dOX0tFWTtpZih0fHx0aGlzLl9pc1NlbGVjdE9uZUVsZW1lbnQpe3RoaXMuc2hvd0Ryb3Bkb3duKCksdGhpcy5fY2FuU2VhcmNoPSExO3ZhciBhPWk9PT1zfHxpPT09cj8xOi0xLGw9IltkYXRhLWNob2ljZS1zZWxlY3RhYmxlXSIsYz12b2lkIDA7aWYobnx8aT09PXJ8fGk9PT1vKWM9YT4wP3RoaXMuZHJvcGRvd24uZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIiLmNvbmNhdChsLCI6bGFzdC1vZi10eXBlIikpOnRoaXMuZHJvcGRvd24uZWxlbWVudC5xdWVyeVNlbGVjdG9yKGwpO2Vsc2V7dmFyIHU9dGhpcy5kcm9wZG93bi5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi4iLmNvbmNhdCh0aGlzLmNvbmZpZy5jbGFzc05hbWVzLmhpZ2hsaWdodGVkU3RhdGUpKTtjPXU/KDAsZi5nZXRBZGphY2VudEVsKSh1LGwsYSk6dGhpcy5kcm9wZG93bi5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IobCl9YyYmKCgwLGYuaXNTY3JvbGxlZEludG9WaWV3KShjLHRoaXMuY2hvaWNlTGlzdC5lbGVtZW50LGEpfHx0aGlzLmNob2ljZUxpc3Quc2Nyb2xsVG9DaGlsZEVsZW1lbnQoYyxhKSx0aGlzLl9oaWdobGlnaHRDaG9pY2UoYykpLGUucHJldmVudERlZmF1bHQoKX19LGUucHJvdG90eXBlLl9vbkRlbGV0ZUtleT1mdW5jdGlvbihlLHQsaSl7dmFyIG49ZS50YXJnZXQ7dGhpcy5faXNTZWxlY3RPbmVFbGVtZW50fHxuLnZhbHVlfHwhaXx8KHRoaXMuX2hhbmRsZUJhY2tzcGFjZSh0KSxlLnByZXZlbnREZWZhdWx0KCkpfSxlLnByb3RvdHlwZS5fb25Ub3VjaE1vdmU9ZnVuY3Rpb24oKXt0aGlzLl93YXNUYXAmJih0aGlzLl93YXNUYXA9ITEpfSxlLnByb3RvdHlwZS5fb25Ub3VjaEVuZD1mdW5jdGlvbihlKXt2YXIgdD0oZXx8ZS50b3VjaGVzWzBdKS50YXJnZXQ7dGhpcy5fd2FzVGFwJiZ0aGlzLmNvbnRhaW5lck91dGVyLmVsZW1lbnQuY29udGFpbnModCkmJigodD09PXRoaXMuY29udGFpbmVyT3V0ZXIuZWxlbWVudHx8dD09PXRoaXMuY29udGFpbmVySW5uZXIuZWxlbWVudCkmJih0aGlzLl9pc1RleHRFbGVtZW50P3RoaXMuaW5wdXQuZm9jdXMoKTp0aGlzLl9pc1NlbGVjdE11bHRpcGxlRWxlbWVudCYmdGhpcy5zaG93RHJvcGRvd24oKSksZS5zdG9wUHJvcGFnYXRpb24oKSksdGhpcy5fd2FzVGFwPSEwfSxlLnByb3RvdHlwZS5fb25Nb3VzZURvd249ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7aWYodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXtpZih2JiZ0aGlzLmNob2ljZUxpc3QuZWxlbWVudC5jb250YWlucyh0KSl7dmFyIGk9dGhpcy5jaG9pY2VMaXN0LmVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQsbj0ibHRyIj09PXRoaXMuX2RpcmVjdGlvbj9lLm9mZnNldFg+PWkub2Zmc2V0V2lkdGg6ZS5vZmZzZXRYPGkub2Zmc2V0TGVmdDt0aGlzLl9pc1Njcm9sbGluZ09uSWU9bn1pZih0IT09dGhpcy5pbnB1dC5lbGVtZW50KXt2YXIgcz10LmNsb3Nlc3QoIltkYXRhLWJ1dHRvbl0sW2RhdGEtaXRlbV0sW2RhdGEtY2hvaWNlXSIpO2lmKHMgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7dmFyIG89ZS5zaGlmdEtleSxyPXRoaXMuX3N0b3JlLmFjdGl2ZUl0ZW1zLGE9cy5kYXRhc2V0OyJidXR0b24iaW4gYT90aGlzLl9oYW5kbGVCdXR0b25BY3Rpb24ocixzKToiaXRlbSJpbiBhP3RoaXMuX2hhbmRsZUl0ZW1BY3Rpb24ocixzLG8pOiJjaG9pY2UiaW4gYSYmdGhpcy5faGFuZGxlQ2hvaWNlQWN0aW9uKHIscyl9ZS5wcmV2ZW50RGVmYXVsdCgpfX19LGUucHJvdG90eXBlLl9vbk1vdXNlT3Zlcj1mdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDt0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJiJjaG9pY2UiaW4gdC5kYXRhc2V0JiZ0aGlzLl9oaWdobGlnaHRDaG9pY2UodCl9LGUucHJvdG90eXBlLl9vbkNsaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O3RoaXMuY29udGFpbmVyT3V0ZXIuZWxlbWVudC5jb250YWlucyh0KT90aGlzLmRyb3Bkb3duLmlzQWN0aXZlfHx0aGlzLmNvbnRhaW5lck91dGVyLmlzRGlzYWJsZWQ/dGhpcy5faXNTZWxlY3RPbmVFbGVtZW50JiZ0IT09dGhpcy5pbnB1dC5lbGVtZW50JiYhdGhpcy5kcm9wZG93bi5lbGVtZW50LmNvbnRhaW5zKHQpJiZ0aGlzLmhpZGVEcm9wZG93bigpOnRoaXMuX2lzVGV4dEVsZW1lbnQ/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXRoaXMuaW5wdXQuZWxlbWVudCYmdGhpcy5pbnB1dC5mb2N1cygpOih0aGlzLnNob3dEcm9wZG93bigpLHRoaXMuY29udGFpbmVyT3V0ZXIuZm9jdXMoKSk6KHRoaXMuX3N0b3JlLmhpZ2hsaWdodGVkQWN0aXZlSXRlbXMubGVuZ3RoPjAmJnRoaXMudW5oaWdobGlnaHRBbGwoKSx0aGlzLmNvbnRhaW5lck91dGVyLnJlbW92ZUZvY3VzU3RhdGUoKSx0aGlzLmhpZGVEcm9wZG93bighMCkpfSxlLnByb3RvdHlwZS5fb25Gb2N1cz1mdW5jdGlvbihlKXt2YXIgdCxpPXRoaXMsbj1lLnRhcmdldDtuJiZ0aGlzLmNvbnRhaW5lck91dGVyLmVsZW1lbnQuY29udGFpbnMobikmJigodD17fSlbZC5URVhUX1RZUEVdPWZ1bmN0aW9uKCl7bj09PWkuaW5wdXQuZWxlbWVudCYmaS5jb250YWluZXJPdXRlci5hZGRGb2N1c1N0YXRlKCl9LHRbZC5TRUxFQ1RfT05FX1RZUEVdPWZ1bmN0aW9uKCl7aS5jb250YWluZXJPdXRlci5hZGRGb2N1c1N0YXRlKCksbj09PWkuaW5wdXQuZWxlbWVudCYmaS5zaG93RHJvcGRvd24oITApfSx0W2QuU0VMRUNUX01VTFRJUExFX1RZUEVdPWZ1bmN0aW9uKCl7bj09PWkuaW5wdXQuZWxlbWVudCYmKGkuc2hvd0Ryb3Bkb3duKCEwKSxpLmNvbnRhaW5lck91dGVyLmFkZEZvY3VzU3RhdGUoKSl9LHQpW3RoaXMucGFzc2VkRWxlbWVudC5lbGVtZW50LnR5cGVdKCl9LGUucHJvdG90eXBlLl9vbkJsdXI9ZnVuY3Rpb24oZSl7dmFyIHQsaT10aGlzLG49ZS50YXJnZXQ7aWYobiYmdGhpcy5jb250YWluZXJPdXRlci5lbGVtZW50LmNvbnRhaW5zKG4pJiYhdGhpcy5faXNTY3JvbGxpbmdPbkllKXt2YXIgcz10aGlzLl9zdG9yZS5hY3RpdmVJdGVtcy5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gZS5oaWdobGlnaHRlZH0pKTsoKHQ9e30pW2QuVEVYVF9UWVBFXT1mdW5jdGlvbigpe249PT1pLmlucHV0LmVsZW1lbnQmJihpLmNvbnRhaW5lck91dGVyLnJlbW92ZUZvY3VzU3RhdGUoKSxzJiZpLnVuaGlnaGxpZ2h0QWxsKCksaS5oaWRlRHJvcGRvd24oITApKX0sdFtkLlNFTEVDVF9PTkVfVFlQRV09ZnVuY3Rpb24oKXtpLmNvbnRhaW5lck91dGVyLnJlbW92ZUZvY3VzU3RhdGUoKSwobj09PWkuaW5wdXQuZWxlbWVudHx8bj09PWkuY29udGFpbmVyT3V0ZXIuZWxlbWVudCYmIWkuX2NhblNlYXJjaCkmJmkuaGlkZURyb3Bkb3duKCEwKX0sdFtkLlNFTEVDVF9NVUxUSVBMRV9UWVBFXT1mdW5jdGlvbigpe249PT1pLmlucHV0LmVsZW1lbnQmJihpLmNvbnRhaW5lck91dGVyLnJlbW92ZUZvY3VzU3RhdGUoKSxpLmhpZGVEcm9wZG93bighMCkscyYmaS51bmhpZ2hsaWdodEFsbCgpKX0sdClbdGhpcy5wYXNzZWRFbGVtZW50LmVsZW1lbnQudHlwZV0oKX1lbHNlIHRoaXMuX2lzU2Nyb2xsaW5nT25JZT0hMSx0aGlzLmlucHV0LmVsZW1lbnQuZm9jdXMoKX0sZS5wcm90b3R5cGUuX29uRm9ybVJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsdS5yZXNldFRvKSh0aGlzLl9pbml0aWFsU3RhdGUpKX0sZS5wcm90b3R5cGUuX2hpZ2hsaWdodENob2ljZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3ZvaWQgMD09PWUmJihlPW51bGwpO3ZhciBpPUFycmF5LmZyb20odGhpcy5kcm9wZG93bi5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWNob2ljZS1zZWxlY3RhYmxlXSIpKTtpZihpLmxlbmd0aCl7dmFyIG49ZTtBcnJheS5mcm9tKHRoaXMuZHJvcGRvd24uZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuIi5jb25jYXQodGhpcy5jb25maWcuY2xhc3NOYW1lcy5oaWdobGlnaHRlZFN0YXRlKSkpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UuY2xhc3NMaXN0LnJlbW92ZSh0LmNvbmZpZy5jbGFzc05hbWVzLmhpZ2hsaWdodGVkU3RhdGUpLGUuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwiZmFsc2UiKX0pKSxuP3RoaXMuX2hpZ2hsaWdodFBvc2l0aW9uPWkuaW5kZXhPZihuKToobj1pLmxlbmd0aD50aGlzLl9oaWdobGlnaHRQb3NpdGlvbj9pW3RoaXMuX2hpZ2hsaWdodFBvc2l0aW9uXTppW2kubGVuZ3RoLTFdKXx8KG49aVswXSksbi5jbGFzc0xpc3QuYWRkKHRoaXMuY29uZmlnLmNsYXNzTmFtZXMuaGlnaGxpZ2h0ZWRTdGF0ZSksbi5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCJ0cnVlIiksdGhpcy5wYXNzZWRFbGVtZW50LnRyaWdnZXJFdmVudChkLkVWRU5UUy5oaWdobGlnaHRDaG9pY2Use2VsOm59KSx0aGlzLmRyb3Bkb3duLmlzQWN0aXZlJiYodGhpcy5pbnB1dC5zZXRBY3RpdmVEZXNjZW5kYW50KG4uaWQpLHRoaXMuY29udGFpbmVyT3V0ZXIuc2V0QWN0aXZlRGVzY2VuZGFudChuLmlkKSl9fSxlLnByb3RvdHlwZS5fYWRkSXRlbT1mdW5jdGlvbihlKXt2YXIgdD1lLnZhbHVlLGk9ZS5sYWJlbCxuPXZvaWQgMD09PWk/bnVsbDppLHM9ZS5jaG9pY2VJZCxvPXZvaWQgMD09PXM/LTE6cyxyPWUuZ3JvdXBJZCxhPXZvaWQgMD09PXI/LTE6cixsPWUuY3VzdG9tUHJvcGVydGllcyx1PXZvaWQgMD09PWw/e306bCxoPWUucGxhY2Vob2xkZXIscD12b2lkIDAhPT1oJiZoLGY9ZS5rZXlDb2RlLG09dm9pZCAwPT09Zj8tMTpmLGc9InN0cmluZyI9PXR5cGVvZiB0P3QudHJpbSgpOnQseT10aGlzLl9zdG9yZS5pdGVtcyx2PW58fGcsYj1vfHwtMSxfPWE+PTA/dGhpcy5fc3RvcmUuZ2V0R3JvdXBCeUlkKGEpOm51bGwsdz15P3kubGVuZ3RoKzE6MTt0aGlzLmNvbmZpZy5wcmVwZW5kVmFsdWUmJihnPXRoaXMuY29uZmlnLnByZXBlbmRWYWx1ZStnLnRvU3RyaW5nKCkpLHRoaXMuY29uZmlnLmFwcGVuZFZhbHVlJiYoZys9dGhpcy5jb25maWcuYXBwZW5kVmFsdWUudG9TdHJpbmcoKSksdGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsYy5hZGRJdGVtKSh7dmFsdWU6ZyxsYWJlbDp2LGlkOncsY2hvaWNlSWQ6Yixncm91cElkOmEsY3VzdG9tUHJvcGVydGllczp1LHBsYWNlaG9sZGVyOnAsa2V5Q29kZTptfSkpLHRoaXMuX2lzU2VsZWN0T25lRWxlbWVudCYmdGhpcy5yZW1vdmVBY3RpdmVJdGVtcyh3KSx0aGlzLnBhc3NlZEVsZW1lbnQudHJpZ2dlckV2ZW50KGQuRVZFTlRTLmFkZEl0ZW0se2lkOncsdmFsdWU6ZyxsYWJlbDp2LGN1c3RvbVByb3BlcnRpZXM6dSxncm91cFZhbHVlOl8mJl8udmFsdWU/Xy52YWx1ZTpudWxsLGtleUNvZGU6bX0pfSxlLnByb3RvdHlwZS5fcmVtb3ZlSXRlbT1mdW5jdGlvbihlKXt2YXIgdD1lLmlkLGk9ZS52YWx1ZSxuPWUubGFiZWwscz1lLmN1c3RvbVByb3BlcnRpZXMsbz1lLmNob2ljZUlkLHI9ZS5ncm91cElkLGE9ciYmcj49MD90aGlzLl9zdG9yZS5nZXRHcm91cEJ5SWQocik6bnVsbDt0JiZvJiYodGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsYy5yZW1vdmVJdGVtKSh0LG8pKSx0aGlzLnBhc3NlZEVsZW1lbnQudHJpZ2dlckV2ZW50KGQuRVZFTlRTLnJlbW92ZUl0ZW0se2lkOnQsdmFsdWU6aSxsYWJlbDpuLGN1c3RvbVByb3BlcnRpZXM6cyxncm91cFZhbHVlOmEmJmEudmFsdWU/YS52YWx1ZTpudWxsfSkpfSxlLnByb3RvdHlwZS5fYWRkQ2hvaWNlPWZ1bmN0aW9uKGUpe3ZhciB0PWUudmFsdWUsaT1lLmxhYmVsLG49dm9pZCAwPT09aT9udWxsOmkscz1lLmlzU2VsZWN0ZWQsbz12b2lkIDAhPT1zJiZzLHI9ZS5pc0Rpc2FibGVkLGw9dm9pZCAwIT09ciYmcixjPWUuZ3JvdXBJZCx1PXZvaWQgMD09PWM/LTE6YyxoPWUuY3VzdG9tUHJvcGVydGllcyxkPXZvaWQgMD09PWg/e306aCxwPWUucGxhY2Vob2xkZXIsZj12b2lkIDAhPT1wJiZwLG09ZS5rZXlDb2RlLGc9dm9pZCAwPT09bT8tMTptO2lmKG51bGwhPXQpe3ZhciB5PXRoaXMuX3N0b3JlLmNob2ljZXMsdj1ufHx0LGI9eT95Lmxlbmd0aCsxOjEsXz0iIi5jb25jYXQodGhpcy5fYmFzZUlkLCItIikuY29uY2F0KHRoaXMuX2lkTmFtZXMuaXRlbUNob2ljZSwiLSIpLmNvbmNhdChiKTt0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCxhLmFkZENob2ljZSkoe2lkOmIsZ3JvdXBJZDp1LGVsZW1lbnRJZDpfLHZhbHVlOnQsbGFiZWw6dixkaXNhYmxlZDpsLGN1c3RvbVByb3BlcnRpZXM6ZCxwbGFjZWhvbGRlcjpmLGtleUNvZGU6Z30pKSxvJiZ0aGlzLl9hZGRJdGVtKHt2YWx1ZTp0LGxhYmVsOnYsY2hvaWNlSWQ6YixjdXN0b21Qcm9wZXJ0aWVzOmQscGxhY2Vob2xkZXI6ZixrZXlDb2RlOmd9KX19LGUucHJvdG90eXBlLl9hZGRHcm91cD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLGk9ZS5ncm91cCxuPWUuaWQscz1lLnZhbHVlS2V5LG89dm9pZCAwPT09cz8idmFsdWUiOnMscj1lLmxhYmVsS2V5LGE9dm9pZCAwPT09cj8ibGFiZWwiOnIsYz0oMCxmLmlzVHlwZSkoIk9iamVjdCIsaSk/aS5jaG9pY2VzOkFycmF5LmZyb20oaS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiT1BUSU9OIikpLHU9bnx8TWF0aC5mbG9vcigobmV3IERhdGUpLnZhbHVlT2YoKSpNYXRoLnJhbmRvbSgpKSxoPSEhaS5kaXNhYmxlZCYmaS5kaXNhYmxlZDtjPyh0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCxsLmFkZEdyb3VwKSh7dmFsdWU6aS5sYWJlbCxpZDp1LGFjdGl2ZTohMCxkaXNhYmxlZDpofSkpLGMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIGk9ZS5kaXNhYmxlZHx8ZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUuZGlzYWJsZWQ7dC5fYWRkQ2hvaWNlKHt2YWx1ZTplW29dLGxhYmVsOigwLGYuaXNUeXBlKSgiT2JqZWN0IixlKT9lW2FdOmUuaW5uZXJIVE1MLGlzU2VsZWN0ZWQ6ZS5zZWxlY3RlZCxpc0Rpc2FibGVkOmksZ3JvdXBJZDp1LGN1c3RvbVByb3BlcnRpZXM6ZS5jdXN0b21Qcm9wZXJ0aWVzLHBsYWNlaG9sZGVyOmUucGxhY2Vob2xkZXJ9KX0pKSk6dGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsbC5hZGRHcm91cCkoe3ZhbHVlOmkubGFiZWwsaWQ6aS5pZCxhY3RpdmU6ITEsZGlzYWJsZWQ6aS5kaXNhYmxlZH0pKX0sZS5wcm90b3R5cGUuX2dldFRlbXBsYXRlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxpPVtdLHM9MTtzPGFyZ3VtZW50cy5sZW5ndGg7cysrKWlbcy0xXT1hcmd1bWVudHNbc107cmV0dXJuKHQ9dGhpcy5fdGVtcGxhdGVzW2VdKS5jYWxsLmFwcGx5KHQsbihbdGhpcyx0aGlzLmNvbmZpZ10saSwhMSkpfSxlLnByb3RvdHlwZS5fY3JlYXRlVGVtcGxhdGVzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5jb25maWcuY2FsbGJhY2tPbkNyZWF0ZVRlbXBsYXRlcyx0PXt9O2UmJiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYodD1lLmNhbGwodGhpcyxmLnN0clRvRWwpKSx0aGlzLl90ZW1wbGF0ZXM9KDAsby5kZWZhdWx0KSh5LmRlZmF1bHQsdCl9LGUucHJvdG90eXBlLl9jcmVhdGVFbGVtZW50cz1mdW5jdGlvbigpe3RoaXMuY29udGFpbmVyT3V0ZXI9bmV3IGguQ29udGFpbmVyKHtlbGVtZW50OnRoaXMuX2dldFRlbXBsYXRlKCJjb250YWluZXJPdXRlciIsdGhpcy5fZGlyZWN0aW9uLHRoaXMuX2lzU2VsZWN0RWxlbWVudCx0aGlzLl9pc1NlbGVjdE9uZUVsZW1lbnQsdGhpcy5jb25maWcuc2VhcmNoRW5hYmxlZCx0aGlzLnBhc3NlZEVsZW1lbnQuZWxlbWVudC50eXBlKSxjbGFzc05hbWVzOnRoaXMuY29uZmlnLmNsYXNzTmFtZXMsdHlwZTp0aGlzLnBhc3NlZEVsZW1lbnQuZWxlbWVudC50eXBlLHBvc2l0aW9uOnRoaXMuY29uZmlnLnBvc2l0aW9ufSksdGhpcy5jb250YWluZXJJbm5lcj1uZXcgaC5Db250YWluZXIoe2VsZW1lbnQ6dGhpcy5fZ2V0VGVtcGxhdGUoImNvbnRhaW5lcklubmVyIiksY2xhc3NOYW1lczp0aGlzLmNvbmZpZy5jbGFzc05hbWVzLHR5cGU6dGhpcy5wYXNzZWRFbGVtZW50LmVsZW1lbnQudHlwZSxwb3NpdGlvbjp0aGlzLmNvbmZpZy5wb3NpdGlvbn0pLHRoaXMuaW5wdXQ9bmV3IGguSW5wdXQoe2VsZW1lbnQ6dGhpcy5fZ2V0VGVtcGxhdGUoImlucHV0Iix0aGlzLl9wbGFjZWhvbGRlclZhbHVlKSxjbGFzc05hbWVzOnRoaXMuY29uZmlnLmNsYXNzTmFtZXMsdHlwZTp0aGlzLnBhc3NlZEVsZW1lbnQuZWxlbWVudC50eXBlLHByZXZlbnRQYXN0ZTohdGhpcy5jb25maWcucGFzdGV9KSx0aGlzLmNob2ljZUxpc3Q9bmV3IGguTGlzdCh7ZWxlbWVudDp0aGlzLl9nZXRUZW1wbGF0ZSgiY2hvaWNlTGlzdCIsdGhpcy5faXNTZWxlY3RPbmVFbGVtZW50KX0pLHRoaXMuaXRlbUxpc3Q9bmV3IGguTGlzdCh7ZWxlbWVudDp0aGlzLl9nZXRUZW1wbGF0ZSgiaXRlbUxpc3QiLHRoaXMuX2lzU2VsZWN0T25lRWxlbWVudCl9KSx0aGlzLmRyb3Bkb3duPW5ldyBoLkRyb3Bkb3duKHtlbGVtZW50OnRoaXMuX2dldFRlbXBsYXRlKCJkcm9wZG93biIpLGNsYXNzTmFtZXM6dGhpcy5jb25maWcuY2xhc3NOYW1lcyx0eXBlOnRoaXMucGFzc2VkRWxlbWVudC5lbGVtZW50LnR5cGV9KX0sZS5wcm90b3R5cGUuX2NyZWF0ZVN0cnVjdHVyZT1mdW5jdGlvbigpe3RoaXMucGFzc2VkRWxlbWVudC5jb25jZWFsKCksdGhpcy5jb250YWluZXJJbm5lci53cmFwKHRoaXMucGFzc2VkRWxlbWVudC5lbGVtZW50KSx0aGlzLmNvbnRhaW5lck91dGVyLndyYXAodGhpcy5jb250YWluZXJJbm5lci5lbGVtZW50KSx0aGlzLl9pc1NlbGVjdE9uZUVsZW1lbnQ/dGhpcy5pbnB1dC5wbGFjZWhvbGRlcj10aGlzLmNvbmZpZy5zZWFyY2hQbGFjZWhvbGRlclZhbHVlfHwiIjp0aGlzLl9wbGFjZWhvbGRlclZhbHVlJiYodGhpcy5pbnB1dC5wbGFjZWhvbGRlcj10aGlzLl9wbGFjZWhvbGRlclZhbHVlLHRoaXMuaW5wdXQuc2V0V2lkdGgoKSksdGhpcy5jb250YWluZXJPdXRlci5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVySW5uZXIuZWxlbWVudCksdGhpcy5jb250YWluZXJPdXRlci5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuZHJvcGRvd24uZWxlbWVudCksdGhpcy5jb250YWluZXJJbm5lci5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuaXRlbUxpc3QuZWxlbWVudCksdGhpcy5faXNUZXh0RWxlbWVudHx8dGhpcy5kcm9wZG93bi5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuY2hvaWNlTGlzdC5lbGVtZW50KSx0aGlzLl9pc1NlbGVjdE9uZUVsZW1lbnQ/dGhpcy5jb25maWcuc2VhcmNoRW5hYmxlZCYmdGhpcy5kcm9wZG93bi5lbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLmlucHV0LmVsZW1lbnQsdGhpcy5kcm9wZG93bi5lbGVtZW50LmZpcnN0Q2hpbGQpOnRoaXMuY29udGFpbmVySW5uZXIuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmlucHV0LmVsZW1lbnQpLHRoaXMuX2lzU2VsZWN0RWxlbWVudCYmKHRoaXMuX2hpZ2hsaWdodFBvc2l0aW9uPTAsdGhpcy5faXNTZWFyY2hpbmc9ITEsdGhpcy5fc3RhcnRMb2FkaW5nKCksdGhpcy5fcHJlc2V0R3JvdXBzLmxlbmd0aD90aGlzLl9hZGRQcmVkZWZpbmVkR3JvdXBzKHRoaXMuX3ByZXNldEdyb3Vwcyk6dGhpcy5fYWRkUHJlZGVmaW5lZENob2ljZXModGhpcy5fcHJlc2V0Q2hvaWNlcyksdGhpcy5fc3RvcExvYWRpbmcoKSksdGhpcy5faXNUZXh0RWxlbWVudCYmdGhpcy5fYWRkUHJlZGVmaW5lZEl0ZW1zKHRoaXMuX3ByZXNldEl0ZW1zKX0sZS5wcm90b3R5cGUuX2FkZFByZWRlZmluZWRHcm91cHM9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxpPXRoaXMucGFzc2VkRWxlbWVudC5wbGFjZWhvbGRlck9wdGlvbjtpJiZpLnBhcmVudE5vZGUmJiJTRUxFQ1QiPT09aS5wYXJlbnROb2RlLnRhZ05hbWUmJnRoaXMuX2FkZENob2ljZSh7dmFsdWU6aS52YWx1ZSxsYWJlbDppLmlubmVySFRNTCxpc1NlbGVjdGVkOmkuc2VsZWN0ZWQsaXNEaXNhYmxlZDppLmRpc2FibGVkLHBsYWNlaG9sZGVyOiEwfSksZS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fYWRkR3JvdXAoe2dyb3VwOmUsaWQ6ZS5pZHx8bnVsbH0pfSkpfSxlLnByb3RvdHlwZS5fYWRkUHJlZGVmaW5lZENob2ljZXM9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLmNvbmZpZy5zaG91bGRTb3J0JiZlLnNvcnQodGhpcy5jb25maWcuc29ydGVyKTt2YXIgaT1lLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnNlbGVjdGVkfSkpLG49ZS5maW5kSW5kZXgoKGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lLmRpc2FibGVkfHwhZS5kaXNhYmxlZH0pKTtlLmZvckVhY2goKGZ1bmN0aW9uKGUscyl7dmFyIG89ZS52YWx1ZSxyPXZvaWQgMD09PW8/IiI6byxhPWUubGFiZWwsbD1lLmN1c3RvbVByb3BlcnRpZXMsYz1lLnBsYWNlaG9sZGVyO2lmKHQuX2lzU2VsZWN0RWxlbWVudClpZihlLmNob2ljZXMpdC5fYWRkR3JvdXAoe2dyb3VwOmUsaWQ6ZS5pZHx8bnVsbH0pO2Vsc2V7dmFyIHU9ISghdC5faXNTZWxlY3RPbmVFbGVtZW50fHxpfHxzIT09bil8fGUuc2VsZWN0ZWQsaD1lLmRpc2FibGVkO3QuX2FkZENob2ljZSh7dmFsdWU6cixsYWJlbDphLGlzU2VsZWN0ZWQ6ISF1LGlzRGlzYWJsZWQ6ISFoLHBsYWNlaG9sZGVyOiEhYyxjdXN0b21Qcm9wZXJ0aWVzOmx9KX1lbHNlIHQuX2FkZENob2ljZSh7dmFsdWU6cixsYWJlbDphLGlzU2VsZWN0ZWQ6ISFlLnNlbGVjdGVkLGlzRGlzYWJsZWQ6ISFlLmRpc2FibGVkLHBsYWNlaG9sZGVyOiEhZS5wbGFjZWhvbGRlcixjdXN0b21Qcm9wZXJ0aWVzOmx9KX0pKX0sZS5wcm90b3R5cGUuX2FkZFByZWRlZmluZWRJdGVtcz1mdW5jdGlvbihlKXt2YXIgdD10aGlzO2UuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Im9iamVjdCI9PXR5cGVvZiBlJiZlLnZhbHVlJiZ0Ll9hZGRJdGVtKHt2YWx1ZTplLnZhbHVlLGxhYmVsOmUubGFiZWwsY2hvaWNlSWQ6ZS5pZCxjdXN0b21Qcm9wZXJ0aWVzOmUuY3VzdG9tUHJvcGVydGllcyxwbGFjZWhvbGRlcjplLnBsYWNlaG9sZGVyfSksInN0cmluZyI9PXR5cGVvZiBlJiZ0Ll9hZGRJdGVtKHt2YWx1ZTplfSl9KSl9LGUucHJvdG90eXBlLl9zZXRDaG9pY2VPckl0ZW09ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczsoe29iamVjdDpmdW5jdGlvbigpe2UudmFsdWUmJih0Ll9pc1RleHRFbGVtZW50P3QuX2FkZEl0ZW0oe3ZhbHVlOmUudmFsdWUsbGFiZWw6ZS5sYWJlbCxjaG9pY2VJZDplLmlkLGN1c3RvbVByb3BlcnRpZXM6ZS5jdXN0b21Qcm9wZXJ0aWVzLHBsYWNlaG9sZGVyOmUucGxhY2Vob2xkZXJ9KTp0Ll9hZGRDaG9pY2Uoe3ZhbHVlOmUudmFsdWUsbGFiZWw6ZS5sYWJlbCxpc1NlbGVjdGVkOiEwLGlzRGlzYWJsZWQ6ITEsY3VzdG9tUHJvcGVydGllczplLmN1c3RvbVByb3BlcnRpZXMscGxhY2Vob2xkZXI6ZS5wbGFjZWhvbGRlcn0pKX0sc3RyaW5nOmZ1bmN0aW9uKCl7dC5faXNUZXh0RWxlbWVudD90Ll9hZGRJdGVtKHt2YWx1ZTplfSk6dC5fYWRkQ2hvaWNlKHt2YWx1ZTplLGxhYmVsOmUsaXNTZWxlY3RlZDohMCxpc0Rpc2FibGVkOiExfSl9fSlbKDAsZi5nZXRUeXBlKShlKS50b0xvd2VyQ2FzZSgpXSgpfSxlLnByb3RvdHlwZS5fZmluZEFuZFNlbGVjdENob2ljZUJ5VmFsdWU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxpPXRoaXMuX3N0b3JlLmNob2ljZXMuZmluZCgoZnVuY3Rpb24oaSl7cmV0dXJuIHQuY29uZmlnLnZhbHVlQ29tcGFyZXIoaS52YWx1ZSxlKX0pKTtpJiYhaS5zZWxlY3RlZCYmdGhpcy5fYWRkSXRlbSh7dmFsdWU6aS52YWx1ZSxsYWJlbDppLmxhYmVsLGNob2ljZUlkOmkuaWQsZ3JvdXBJZDppLmdyb3VwSWQsY3VzdG9tUHJvcGVydGllczppLmN1c3RvbVByb3BlcnRpZXMscGxhY2Vob2xkZXI6aS5wbGFjZWhvbGRlcixrZXlDb2RlOmkua2V5Q29kZX0pfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVQbGFjZWhvbGRlclZhbHVlPWZ1bmN0aW9uKCl7aWYodGhpcy5faXNTZWxlY3RFbGVtZW50JiZ0aGlzLnBhc3NlZEVsZW1lbnQucGxhY2Vob2xkZXJPcHRpb24pe3ZhciBlPXRoaXMucGFzc2VkRWxlbWVudC5wbGFjZWhvbGRlck9wdGlvbjtyZXR1cm4gZT9lLnRleHQ6bnVsbH12YXIgdD10aGlzLmNvbmZpZyxpPXQucGxhY2Vob2xkZXIsbj10LnBsYWNlaG9sZGVyVmFsdWUscz10aGlzLnBhc3NlZEVsZW1lbnQuZWxlbWVudC5kYXRhc2V0O2lmKGkpe2lmKG4pcmV0dXJuIG47aWYocy5wbGFjZWhvbGRlcilyZXR1cm4gcy5wbGFjZWhvbGRlcn1yZXR1cm4gbnVsbH0sZX0oKTt0LmRlZmF1bHQ9X30sNjEzOmZ1bmN0aW9uKGUsdCxpKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49aSg3OTkpLHM9aSg4ODMpLG89ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3ZhciB0PWUuZWxlbWVudCxpPWUudHlwZSxuPWUuY2xhc3NOYW1lcyxzPWUucG9zaXRpb247dGhpcy5lbGVtZW50PXQsdGhpcy5jbGFzc05hbWVzPW4sdGhpcy50eXBlPWksdGhpcy5wb3NpdGlvbj1zLHRoaXMuaXNPcGVuPSExLHRoaXMuaXNGbGlwcGVkPSExLHRoaXMuaXNGb2N1c3NlZD0hMSx0aGlzLmlzRGlzYWJsZWQ9ITEsdGhpcy5pc0xvYWRpbmc9ITEsdGhpcy5fb25Gb2N1cz10aGlzLl9vbkZvY3VzLmJpbmQodGhpcyksdGhpcy5fb25CbHVyPXRoaXMuX29uQmx1ci5iaW5kKHRoaXMpfXJldHVybiBlLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fb25Gb2N1cyksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX29uQmx1cil9LGUucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9vbkZvY3VzKSx0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fb25CbHVyKX0sZS5wcm90b3R5cGUuc2hvdWxkRmxpcD1mdW5jdGlvbihlKXtpZigibnVtYmVyIiE9dHlwZW9mIGUpcmV0dXJuITE7dmFyIHQ9ITE7cmV0dXJuImF1dG8iPT09dGhpcy5wb3NpdGlvbj90PSF3aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi1oZWlnaHQ6ICIuY29uY2F0KGUrMSwicHgpIikpLm1hdGNoZXM6InRvcCI9PT10aGlzLnBvc2l0aW9uJiYodD0hMCksdH0sZS5wcm90b3R5cGUuc2V0QWN0aXZlRGVzY2VuZGFudD1mdW5jdGlvbihlKXt0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLGUpfSxlLnByb3RvdHlwZS5yZW1vdmVBY3RpdmVEZXNjZW5kYW50PWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iil9LGUucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oZSl7dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLm9wZW5TdGF0ZSksdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsInRydWUiKSx0aGlzLmlzT3Blbj0hMCx0aGlzLnNob3VsZEZsaXAoZSkmJih0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzTmFtZXMuZmxpcHBlZFN0YXRlKSx0aGlzLmlzRmxpcHBlZD0hMCl9LGUucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5jbGFzc05hbWVzLm9wZW5TdGF0ZSksdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksdGhpcy5yZW1vdmVBY3RpdmVEZXNjZW5kYW50KCksdGhpcy5pc09wZW49ITEsdGhpcy5pc0ZsaXBwZWQmJih0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmNsYXNzTmFtZXMuZmxpcHBlZFN0YXRlKSx0aGlzLmlzRmxpcHBlZD0hMSl9LGUucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKCl7dGhpcy5pc0ZvY3Vzc2VkfHx0aGlzLmVsZW1lbnQuZm9jdXMoKX0sZS5wcm90b3R5cGUuYWRkRm9jdXNTdGF0ZT1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuY2xhc3NOYW1lcy5mb2N1c1N0YXRlKX0sZS5wcm90b3R5cGUucmVtb3ZlRm9jdXNTdGF0ZT1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuY2xhc3NOYW1lcy5mb2N1c1N0YXRlKX0sZS5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5jbGFzc05hbWVzLmRpc2FibGVkU3RhdGUpLHRoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiKSx0aGlzLnR5cGU9PT1zLlNFTEVDVF9PTkVfVFlQRSYmdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksdGhpcy5pc0Rpc2FibGVkPSExfSxlLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLmRpc2FibGVkU3RhdGUpLHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIiksdGhpcy50eXBlPT09cy5TRUxFQ1RfT05FX1RZUEUmJnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKSx0aGlzLmlzRGlzYWJsZWQ9ITB9LGUucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24oZSl7KDAsbi53cmFwKShlLHRoaXMuZWxlbWVudCl9LGUucHJvdG90eXBlLnVud3JhcD1mdW5jdGlvbihlKXt0aGlzLmVsZW1lbnQucGFyZW50Tm9kZSYmKHRoaXMuZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMuZWxlbWVudCksdGhpcy5lbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50KSl9LGUucHJvdG90eXBlLmFkZExvYWRpbmdTdGF0ZT1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuY2xhc3NOYW1lcy5sb2FkaW5nU3RhdGUpLHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYnVzeSIsInRydWUiKSx0aGlzLmlzTG9hZGluZz0hMH0sZS5wcm90b3R5cGUucmVtb3ZlTG9hZGluZ1N0YXRlPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5jbGFzc05hbWVzLmxvYWRpbmdTdGF0ZSksdGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1idXN5IiksdGhpcy5pc0xvYWRpbmc9ITF9LGUucHJvdG90eXBlLl9vbkZvY3VzPWZ1bmN0aW9uKCl7dGhpcy5pc0ZvY3Vzc2VkPSEwfSxlLnByb3RvdHlwZS5fb25CbHVyPWZ1bmN0aW9uKCl7dGhpcy5pc0ZvY3Vzc2VkPSExfSxlfSgpO3QuZGVmYXVsdD1vfSwyMTc6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3ZhciB0PWUuZWxlbWVudCxpPWUudHlwZSxuPWUuY2xhc3NOYW1lczt0aGlzLmVsZW1lbnQ9dCx0aGlzLmNsYXNzTmFtZXM9bix0aGlzLnR5cGU9aSx0aGlzLmlzQWN0aXZlPSExfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImRpc3RhbmNlRnJvbVRvcFdpbmRvdyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmdldENoaWxkPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvcihlKX0sZS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzTmFtZXMuYWN0aXZlU3RhdGUpLHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJ0cnVlIiksdGhpcy5pc0FjdGl2ZT0hMCx0aGlzfSxlLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuY2xhc3NOYW1lcy5hY3RpdmVTdGF0ZSksdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksdGhpcy5pc0FjdGl2ZT0hMSx0aGlzfSxlfSgpO3QuZGVmYXVsdD1pfSw1MjA6ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPXRoaXMmJnRoaXMuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LldyYXBwZWRTZWxlY3Q9dC5XcmFwcGVkSW5wdXQ9dC5MaXN0PXQuSW5wdXQ9dC5Db250YWluZXI9dC5Ecm9wZG93bj12b2lkIDA7dmFyIHM9bihpKDIxNykpO3QuRHJvcGRvd249cy5kZWZhdWx0O3ZhciBvPW4oaSg2MTMpKTt0LkNvbnRhaW5lcj1vLmRlZmF1bHQ7dmFyIHI9bihpKDExKSk7dC5JbnB1dD1yLmRlZmF1bHQ7dmFyIGE9bihpKDYyNCkpO3QuTGlzdD1hLmRlZmF1bHQ7dmFyIGw9bihpKDU0MSkpO3QuV3JhcHBlZElucHV0PWwuZGVmYXVsdDt2YXIgYz1uKGkoOTgyKSk7dC5XcmFwcGVkU2VsZWN0PWMuZGVmYXVsdH0sMTE6ZnVuY3Rpb24oZSx0LGkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1pKDc5OSkscz1pKDg4Myksbz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQ9ZS5lbGVtZW50LGk9ZS50eXBlLG49ZS5jbGFzc05hbWVzLHM9ZS5wcmV2ZW50UGFzdGU7dGhpcy5lbGVtZW50PXQsdGhpcy50eXBlPWksdGhpcy5jbGFzc05hbWVzPW4sdGhpcy5wcmV2ZW50UGFzdGU9cyx0aGlzLmlzRm9jdXNzZWQ9dGhpcy5lbGVtZW50LmlzRXF1YWxOb2RlKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLHRoaXMuaXNEaXNhYmxlZD10LmRpc2FibGVkLHRoaXMuX29uUGFzdGU9dGhpcy5fb25QYXN0ZS5iaW5kKHRoaXMpLHRoaXMuX29uSW5wdXQ9dGhpcy5fb25JbnB1dC5iaW5kKHRoaXMpLHRoaXMuX29uRm9jdXM9dGhpcy5fb25Gb2N1cy5iaW5kKHRoaXMpLHRoaXMuX29uQmx1cj10aGlzLl9vbkJsdXIuYmluZCh0aGlzKX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwbGFjZWhvbGRlciIse3NldDpmdW5jdGlvbihlKXt0aGlzLmVsZW1lbnQucGxhY2Vob2xkZXI9ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuKDAsbi5zYW5pdGlzZSkodGhpcy5lbGVtZW50LnZhbHVlKX0sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuZWxlbWVudC52YWx1ZT1lfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwicmF3VmFsdWUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50LnZhbHVlfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIix0aGlzLl9vblBhc3RlKSx0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLHRoaXMuX29uSW5wdXQse3Bhc3NpdmU6ITB9KSx0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX29uRm9jdXMse3Bhc3NpdmU6ITB9KSx0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fb25CbHVyLHtwYXNzaXZlOiEwfSl9LGUucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImlucHV0Iix0aGlzLl9vbklucHV0KSx0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGFzdGUiLHRoaXMuX29uUGFzdGUpLHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fb25Gb2N1cyksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX29uQmx1cil9LGUucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIiksdGhpcy5pc0Rpc2FibGVkPSExfSxlLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCIiKSx0aGlzLmlzRGlzYWJsZWQ9ITB9LGUucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKCl7dGhpcy5pc0ZvY3Vzc2VkfHx0aGlzLmVsZW1lbnQuZm9jdXMoKX0sZS5wcm90b3R5cGUuYmx1cj1mdW5jdGlvbigpe3RoaXMuaXNGb2N1c3NlZCYmdGhpcy5lbGVtZW50LmJsdXIoKX0sZS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSEwKSx0aGlzLmVsZW1lbnQudmFsdWUmJih0aGlzLmVsZW1lbnQudmFsdWU9IiIpLGUmJnRoaXMuc2V0V2lkdGgoKSx0aGlzfSxlLnByb3RvdHlwZS5zZXRXaWR0aD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZWxlbWVudCx0PWUuc3R5bGUsaT1lLnZhbHVlLG49ZS5wbGFjZWhvbGRlcjt0Lm1pbldpZHRoPSIiLmNvbmNhdChuLmxlbmd0aCsxLCJjaCIpLHQud2lkdGg9IiIuY29uY2F0KGkubGVuZ3RoKzEsImNoIil9LGUucHJvdG90eXBlLnNldEFjdGl2ZURlc2NlbmRhbnQ9ZnVuY3Rpb24oZSl7dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IixlKX0sZS5wcm90b3R5cGUucmVtb3ZlQWN0aXZlRGVzY2VuZGFudD1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIpfSxlLnByb3RvdHlwZS5fb25JbnB1dD1mdW5jdGlvbigpe3RoaXMudHlwZSE9PXMuU0VMRUNUX09ORV9UWVBFJiZ0aGlzLnNldFdpZHRoKCl9LGUucHJvdG90eXBlLl9vblBhc3RlPWZ1bmN0aW9uKGUpe3RoaXMucHJldmVudFBhc3RlJiZlLnByZXZlbnREZWZhdWx0KCl9LGUucHJvdG90eXBlLl9vbkZvY3VzPWZ1bmN0aW9uKCl7dGhpcy5pc0ZvY3Vzc2VkPSEwfSxlLnByb3RvdHlwZS5fb25CbHVyPWZ1bmN0aW9uKCl7dGhpcy5pc0ZvY3Vzc2VkPSExfSxlfSgpO3QuZGVmYXVsdD1vfSw2MjQ6ZnVuY3Rpb24oZSx0LGkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1pKDg4Mykscz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQ9ZS5lbGVtZW50O3RoaXMuZWxlbWVudD10LHRoaXMuc2Nyb2xsUG9zPXRoaXMuZWxlbWVudC5zY3JvbGxUb3AsdGhpcy5oZWlnaHQ9dGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodH1yZXR1cm4gZS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuaW5uZXJIVE1MPSIifSxlLnByb3RvdHlwZS5hcHBlbmQ9ZnVuY3Rpb24oZSl7dGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKGUpfSxlLnByb3RvdHlwZS5nZXRDaGlsZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoZSl9LGUucHJvdG90eXBlLmhhc0NoaWxkcmVuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5oYXNDaGlsZE5vZGVzKCl9LGUucHJvdG90eXBlLnNjcm9sbFRvVG9wPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnNjcm9sbFRvcD0wfSxlLnByb3RvdHlwZS5zY3JvbGxUb0NoaWxkRWxlbWVudD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7aWYoZSl7dmFyIG49dGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodCxzPXRoaXMuZWxlbWVudC5zY3JvbGxUb3ArbixvPWUub2Zmc2V0SGVpZ2h0LHI9ZS5vZmZzZXRUb3ArbyxhPXQ+MD90aGlzLmVsZW1lbnQuc2Nyb2xsVG9wK3ItczplLm9mZnNldFRvcDtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7aS5fYW5pbWF0ZVNjcm9sbChhLHQpfSkpfX0sZS5wcm90b3R5cGUuX3Njcm9sbERvd249ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPShpLWUpL3Qscz1uPjE/bjoxO3RoaXMuZWxlbWVudC5zY3JvbGxUb3A9ZStzfSxlLnByb3RvdHlwZS5fc2Nyb2xsVXA9ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPShlLWkpL3Qscz1uPjE/bjoxO3RoaXMuZWxlbWVudC5zY3JvbGxUb3A9ZS1zfSxlLnByb3RvdHlwZS5fYW5pbWF0ZVNjcm9sbD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMscz1uLlNDUk9MTElOR19TUEVFRCxvPXRoaXMuZWxlbWVudC5zY3JvbGxUb3Ascj0hMTt0PjA/KHRoaXMuX3Njcm9sbERvd24obyxzLGUpLG88ZSYmKHI9ITApKToodGhpcy5fc2Nyb2xsVXAobyxzLGUpLG8+ZSYmKHI9ITApKSxyJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7aS5fYW5pbWF0ZVNjcm9sbChlLHQpfSkpfSxlfSgpO3QuZGVmYXVsdD1zfSw3MzA6ZnVuY3Rpb24oZSx0LGkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1pKDc5OSkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQ9ZS5lbGVtZW50LGk9ZS5jbGFzc05hbWVzO2lmKHRoaXMuZWxlbWVudD10LHRoaXMuY2xhc3NOYW1lcz1pLCEodCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnR8fHQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBlbGVtZW50IHBhc3NlZCIpO3RoaXMuaXNEaXNhYmxlZD0hMX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJpc0FjdGl2ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiJhY3RpdmUiPT09dGhpcy5lbGVtZW50LmRhdGFzZXQuY2hvaWNlfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiZGlyIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5kaXJ9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJ2YWx1ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQudmFsdWV9LHNldDpmdW5jdGlvbihlKXt0aGlzLmVsZW1lbnQudmFsdWU9ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5jb25jZWFsPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLmlucHV0KSx0aGlzLmVsZW1lbnQuaGlkZGVuPSEwLHRoaXMuZWxlbWVudC50YWJJbmRleD0tMTt2YXIgZT10aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJzdHlsZSIpO2UmJnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtY2hvaWNlLW9yaWctc3R5bGUiLGUpLHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtY2hvaWNlIiwiYWN0aXZlIil9LGUucHJvdG90eXBlLnJldmVhbD1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuY2xhc3NOYW1lcy5pbnB1dCksdGhpcy5lbGVtZW50LmhpZGRlbj0hMSx0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJ0YWJpbmRleCIpO3ZhciBlPXRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoImRhdGEtY2hvaWNlLW9yaWctc3R5bGUiKTtlPyh0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJkYXRhLWNob2ljZS1vcmlnLXN0eWxlIiksdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgic3R5bGUiLGUpKTp0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpLHRoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtY2hvaWNlIiksdGhpcy5lbGVtZW50LnZhbHVlPXRoaXMuZWxlbWVudC52YWx1ZX0sZS5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKSx0aGlzLmVsZW1lbnQuZGlzYWJsZWQ9ITEsdGhpcy5pc0Rpc2FibGVkPSExfSxlLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCIiKSx0aGlzLmVsZW1lbnQuZGlzYWJsZWQ9ITAsdGhpcy5pc0Rpc2FibGVkPSEwfSxlLnByb3RvdHlwZS50cmlnZ2VyRXZlbnQ9ZnVuY3Rpb24oZSx0KXsoMCxuLmRpc3BhdGNoRXZlbnQpKHRoaXMuZWxlbWVudCxlLHQpfSxlfSgpO3QuZGVmYXVsdD1zfSw1NDE6ZnVuY3Rpb24oZSx0LGkpe3ZhciBuLHM9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChuPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG49T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pfSxuKGUsdCl9LGZ1bmN0aW9uKGUsdCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQmJm51bGwhPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcodCkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9ZX1uKGUsdCksZS5wcm90b3R5cGU9bnVsbD09PXQ/T2JqZWN0LmNyZWF0ZSh0KTooaS5wcm90b3R5cGU9dC5wcm90b3R5cGUsbmV3IGkpfSksbz10aGlzJiZ0aGlzLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0KXt2YXIgaT10LmVsZW1lbnQsbj10LmNsYXNzTmFtZXMscz10LmRlbGltaXRlcixvPWUuY2FsbCh0aGlzLHtlbGVtZW50OmksY2xhc3NOYW1lczpufSl8fHRoaXM7cmV0dXJuIG8uZGVsaW1pdGVyPXMsb31yZXR1cm4gcyh0LGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwidmFsdWUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50LnZhbHVlfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgidmFsdWUiLGUpLHRoaXMuZWxlbWVudC52YWx1ZT1lfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHR9KG8oaSg3MzApKS5kZWZhdWx0KTt0LmRlZmF1bHQ9cn0sOTgyOmZ1bmN0aW9uKGUsdCxpKXt2YXIgbixzPXRoaXMmJnRoaXMuX19leHRlbmRzfHwobj1mdW5jdGlvbihlLHQpe3JldHVybiBuPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgaSBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiYoZVtpXT10W2ldKX0sbihlLHQpfSxmdW5jdGlvbihlLHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKHQpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPWV9bihlLHQpLGUucHJvdG90eXBlPW51bGw9PT10P09iamVjdC5jcmVhdGUodCk6KGkucHJvdG90eXBlPXQucHJvdG90eXBlLG5ldyBpKX0pLG89dGhpcyYmdGhpcy5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCl7dmFyIGk9dC5lbGVtZW50LG49dC5jbGFzc05hbWVzLHM9dC50ZW1wbGF0ZSxvPWUuY2FsbCh0aGlzLHtlbGVtZW50OmksY2xhc3NOYW1lczpufSl8fHRoaXM7cmV0dXJuIG8udGVtcGxhdGU9cyxvfXJldHVybiBzKHQsZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJwbGFjZWhvbGRlck9wdGlvbiIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3Rvcignb3B0aW9uW3ZhbHVlPSIiXScpfHx0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3Rvcigib3B0aW9uW3BsYWNlaG9sZGVyXSIpfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwib3B0aW9uR3JvdXBzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5lbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJPUFRHUk9VUCIpKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsIm9wdGlvbnMiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnQub3B0aW9ucyl9LHNldDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLGk9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2UuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIG49ZSxzPXQudGVtcGxhdGUobiksdm9pZCBpLmFwcGVuZENoaWxkKHMpO3ZhciBuLHN9KSksdGhpcy5hcHBlbmREb2NGcmFnbWVudChpKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hcHBlbmREb2NGcmFnbWVudD1mdW5jdGlvbihlKXt0aGlzLmVsZW1lbnQuaW5uZXJIVE1MPSIiLHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChlKX0sdH0obyhpKDczMCkpLmRlZmF1bHQpO3QuZGVmYXVsdD1yfSw4ODM6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5TQ1JPTExJTkdfU1BFRUQ9dC5TRUxFQ1RfTVVMVElQTEVfVFlQRT10LlNFTEVDVF9PTkVfVFlQRT10LlRFWFRfVFlQRT10LktFWV9DT0RFUz10LkFDVElPTl9UWVBFUz10LkVWRU5UUz12b2lkIDAsdC5FVkVOVFM9e3Nob3dEcm9wZG93bjoic2hvd0Ryb3Bkb3duIixoaWRlRHJvcGRvd246ImhpZGVEcm9wZG93biIsY2hhbmdlOiJjaGFuZ2UiLGNob2ljZToiY2hvaWNlIixzZWFyY2g6InNlYXJjaCIsYWRkSXRlbToiYWRkSXRlbSIscmVtb3ZlSXRlbToicmVtb3ZlSXRlbSIsaGlnaGxpZ2h0SXRlbToiaGlnaGxpZ2h0SXRlbSIsaGlnaGxpZ2h0Q2hvaWNlOiJoaWdobGlnaHRDaG9pY2UiLHVuaGlnaGxpZ2h0SXRlbToidW5oaWdobGlnaHRJdGVtIn0sdC5BQ1RJT05fVFlQRVM9e0FERF9DSE9JQ0U6IkFERF9DSE9JQ0UiLEZJTFRFUl9DSE9JQ0VTOiJGSUxURVJfQ0hPSUNFUyIsQUNUSVZBVEVfQ0hPSUNFUzoiQUNUSVZBVEVfQ0hPSUNFUyIsQ0xFQVJfQ0hPSUNFUzoiQ0xFQVJfQ0hPSUNFUyIsQUREX0dST1VQOiJBRERfR1JPVVAiLEFERF9JVEVNOiJBRERfSVRFTSIsUkVNT1ZFX0lURU06IlJFTU9WRV9JVEVNIixISUdITElHSFRfSVRFTToiSElHSExJR0hUX0lURU0iLENMRUFSX0FMTDoiQ0xFQVJfQUxMIixSRVNFVF9UTzoiUkVTRVRfVE8iLFNFVF9JU19MT0FESU5HOiJTRVRfSVNfTE9BRElORyJ9LHQuS0VZX0NPREVTPXtCQUNLX0tFWTo0NixERUxFVEVfS0VZOjgsRU5URVJfS0VZOjEzLEFfS0VZOjY1LEVTQ19LRVk6MjcsVVBfS0VZOjM4LERPV05fS0VZOjQwLFBBR0VfVVBfS0VZOjMzLFBBR0VfRE9XTl9LRVk6MzR9LHQuVEVYVF9UWVBFPSJ0ZXh0Iix0LlNFTEVDVF9PTkVfVFlQRT0ic2VsZWN0LW9uZSIsdC5TRUxFQ1RfTVVMVElQTEVfVFlQRT0ic2VsZWN0LW11bHRpcGxlIix0LlNDUk9MTElOR19TUEVFRD00fSw3ODk6ZnVuY3Rpb24oZSx0LGkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LkRFRkFVTFRfQ09ORklHPXQuREVGQVVMVF9DTEFTU05BTUVTPXZvaWQgMDt2YXIgbj1pKDc5OSk7dC5ERUZBVUxUX0NMQVNTTkFNRVM9e2NvbnRhaW5lck91dGVyOiJjaG9pY2VzIixjb250YWluZXJJbm5lcjoiY2hvaWNlc19faW5uZXIiLGlucHV0OiJjaG9pY2VzX19pbnB1dCIsaW5wdXRDbG9uZWQ6ImNob2ljZXNfX2lucHV0LS1jbG9uZWQiLGxpc3Q6ImNob2ljZXNfX2xpc3QiLGxpc3RJdGVtczoiY2hvaWNlc19fbGlzdC0tbXVsdGlwbGUiLGxpc3RTaW5nbGU6ImNob2ljZXNfX2xpc3QtLXNpbmdsZSIsbGlzdERyb3Bkb3duOiJjaG9pY2VzX19saXN0LS1kcm9wZG93biIsaXRlbToiY2hvaWNlc19faXRlbSIsaXRlbVNlbGVjdGFibGU6ImNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGUiLGl0ZW1EaXNhYmxlZDoiY2hvaWNlc19faXRlbS0tZGlzYWJsZWQiLGl0ZW1DaG9pY2U6ImNob2ljZXNfX2l0ZW0tLWNob2ljZSIscGxhY2Vob2xkZXI6ImNob2ljZXNfX3BsYWNlaG9sZGVyIixncm91cDoiY2hvaWNlc19fZ3JvdXAiLGdyb3VwSGVhZGluZzoiY2hvaWNlc19faGVhZGluZyIsYnV0dG9uOiJjaG9pY2VzX19idXR0b24iLGFjdGl2ZVN0YXRlOiJpcy1hY3RpdmUiLGZvY3VzU3RhdGU6ImlzLWZvY3VzZWQiLG9wZW5TdGF0ZToiaXMtb3BlbiIsZGlzYWJsZWRTdGF0ZToiaXMtZGlzYWJsZWQiLGhpZ2hsaWdodGVkU3RhdGU6ImlzLWhpZ2hsaWdodGVkIixzZWxlY3RlZFN0YXRlOiJpcy1zZWxlY3RlZCIsZmxpcHBlZFN0YXRlOiJpcy1mbGlwcGVkIixsb2FkaW5nU3RhdGU6ImlzLWxvYWRpbmciLG5vUmVzdWx0czoiaGFzLW5vLXJlc3VsdHMiLG5vQ2hvaWNlczoiaGFzLW5vLWNob2ljZXMifSx0LkRFRkFVTFRfQ09ORklHPXtpdGVtczpbXSxjaG9pY2VzOltdLHNpbGVudDohMSxyZW5kZXJDaG9pY2VMaW1pdDotMSxtYXhJdGVtQ291bnQ6LTEsYWRkSXRlbXM6ITAsYWRkSXRlbUZpbHRlcjpudWxsLHJlbW92ZUl0ZW1zOiEwLHJlbW92ZUl0ZW1CdXR0b246ITEsZWRpdEl0ZW1zOiExLGFsbG93SFRNTDohMCxkdXBsaWNhdGVJdGVtc0FsbG93ZWQ6ITAsZGVsaW1pdGVyOiIsIixwYXN0ZTohMCxzZWFyY2hFbmFibGVkOiEwLHNlYXJjaENob2ljZXM6ITAsc2VhcmNoRmxvb3I6MSxzZWFyY2hSZXN1bHRMaW1pdDo0LHNlYXJjaEZpZWxkczpbImxhYmVsIiwidmFsdWUiXSxwb3NpdGlvbjoiYXV0byIscmVzZXRTY3JvbGxQb3NpdGlvbjohMCxzaG91bGRTb3J0OiEwLHNob3VsZFNvcnRJdGVtczohMSxzb3J0ZXI6bi5zb3J0QnlBbHBoYSxwbGFjZWhvbGRlcjohMCxwbGFjZWhvbGRlclZhbHVlOm51bGwsc2VhcmNoUGxhY2Vob2xkZXJWYWx1ZTpudWxsLHByZXBlbmRWYWx1ZTpudWxsLGFwcGVuZFZhbHVlOm51bGwscmVuZGVyU2VsZWN0ZWRDaG9pY2VzOiJhdXRvIixsb2FkaW5nVGV4dDoiTG9hZGluZy4uLiIsbm9SZXN1bHRzVGV4dDoiTm8gcmVzdWx0cyBmb3VuZCIsbm9DaG9pY2VzVGV4dDoiTm8gY2hvaWNlcyB0byBjaG9vc2UgZnJvbSIsaXRlbVNlbGVjdFRleHQ6IlByZXNzIHRvIHNlbGVjdCIsdW5pcXVlSXRlbVRleHQ6Ik9ubHkgdW5pcXVlIHZhbHVlcyBjYW4gYmUgYWRkZWQiLGN1c3RvbUFkZEl0ZW1UZXh0OiJPbmx5IHZhbHVlcyBtYXRjaGluZyBzcGVjaWZpYyBjb25kaXRpb25zIGNhbiBiZSBhZGRlZCIsYWRkSXRlbVRleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuJ1ByZXNzIEVudGVyIHRvIGFkZCA8Yj4iJy5jb25jYXQoKDAsbi5zYW5pdGlzZSkoZSksJyI8L2I+Jyl9LG1heEl0ZW1UZXh0OmZ1bmN0aW9uKGUpe3JldHVybiJPbmx5ICIuY29uY2F0KGUsIiB2YWx1ZXMgY2FuIGJlIGFkZGVkIil9LHZhbHVlQ29tcGFyZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PXR9LGZ1c2VPcHRpb25zOntpbmNsdWRlU2NvcmU6ITB9LGNhbGxiYWNrT25Jbml0Om51bGwsY2FsbGJhY2tPbkNyZWF0ZVRlbXBsYXRlczpudWxsLGNsYXNzTmFtZXM6dC5ERUZBVUxUX0NMQVNTTkFNRVN9fSwxODpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sOTc4OmZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSw5NDg6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDM1OTpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sMjg1OmZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSw1MzM6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDE4NzpmdW5jdGlvbihlLHQsaSl7dmFyIG49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCxpLG4pe3ZvaWQgMD09PW4mJihuPWkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbaV19fSl9OmZ1bmN0aW9uKGUsdCxpLG4pe3ZvaWQgMD09PW4mJihuPWkpLGVbbl09dFtpXX0pLHM9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpIGluIGUpImRlZmF1bHQiPT09aXx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSl8fG4odCxlLGkpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscyhpKDE4KSx0KSxzKGkoOTc4KSx0KSxzKGkoOTQ4KSx0KSxzKGkoMzU5KSx0KSxzKGkoMjg1KSx0KSxzKGkoNTMzKSx0KSxzKGkoMjg3KSx0KSxzKGkoMTMyKSx0KSxzKGkoODM3KSx0KSxzKGkoNTk4KSx0KSxzKGkoMzY5KSx0KSxzKGkoMzcpLHQpLHMoaSg0NyksdCkscyhpKDkyMyksdCkscyhpKDg3NiksdCl9LDI4NzpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sMTMyOmZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSw4Mzc6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDU5ODpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sMzc6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDM2OTpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sNDc6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDkyMzpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sODc2OmZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSw3OTk6ZnVuY3Rpb24oZSx0KXt2YXIgaTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kaWZmPXQuY2xvbmVPYmplY3Q9dC5leGlzdHNJbkFycmF5PXQuZGlzcGF0Y2hFdmVudD10LnNvcnRCeVNjb3JlPXQuc29ydEJ5QWxwaGE9dC5zdHJUb0VsPXQuc2FuaXRpc2U9dC5pc1Njcm9sbGVkSW50b1ZpZXc9dC5nZXRBZGphY2VudEVsPXQud3JhcD10LmlzVHlwZT10LmdldFR5cGU9dC5nZW5lcmF0ZUlkPXQuZ2VuZXJhdGVDaGFycz10LmdldFJhbmRvbU51bWJlcj12b2lkIDAsdC5nZXRSYW5kb21OdW1iZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKih0LWUpK2UpfSx0LmdlbmVyYXRlQ2hhcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDplfSwoZnVuY3Rpb24oKXtyZXR1cm4oMCx0LmdldFJhbmRvbU51bWJlcikoMCwzNikudG9TdHJpbmcoMzYpfSkpLmpvaW4oIiIpfSx0LmdlbmVyYXRlSWQ9ZnVuY3Rpb24oZSxpKXt2YXIgbj1lLmlkfHxlLm5hbWUmJiIiLmNvbmNhdChlLm5hbWUsIi0iKS5jb25jYXQoKDAsdC5nZW5lcmF0ZUNoYXJzKSgyKSl8fCgwLHQuZ2VuZXJhdGVDaGFycykoNCk7cmV0dXJuIG49bi5yZXBsYWNlKC8oOnxcLnxcW3xcXXwsKS9nLCIiKSxuPSIiLmNvbmNhdChpLCItIikuY29uY2F0KG4pfSx0LmdldFR5cGU9ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKX0sdC5pc1R5cGU9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gbnVsbCE9aSYmKDAsdC5nZXRUeXBlKShpKT09PWV9LHQud3JhcD1mdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDA9PT10JiYodD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSksZS5wYXJlbnROb2RlJiYoZS5uZXh0U2libGluZz9lLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsZS5uZXh0U2libGluZyk6ZS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHQpKSx0LmFwcGVuZENoaWxkKGUpfSx0LmdldEFkamFjZW50RWw9ZnVuY3Rpb24oZSx0LGkpe3ZvaWQgMD09PWkmJihpPTEpO2Zvcih2YXIgbj0iIi5jb25jYXQoaT4wPyJuZXh0IjoicHJldmlvdXMiLCJFbGVtZW50U2libGluZyIpLHM9ZVtuXTtzOyl7aWYocy5tYXRjaGVzKHQpKXJldHVybiBzO3M9c1tuXX1yZXR1cm4gc30sdC5pc1Njcm9sbGVkSW50b1ZpZXc9ZnVuY3Rpb24oZSx0LGkpe3JldHVybiB2b2lkIDA9PT1pJiYoaT0xKSwhIWUmJihpPjA/dC5zY3JvbGxUb3ArdC5vZmZzZXRIZWlnaHQ+PWUub2Zmc2V0VG9wK2Uub2Zmc2V0SGVpZ2h0OmUub2Zmc2V0VG9wPj10LnNjcm9sbFRvcCl9LHQuc2FuaXRpc2U9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlP2U6ZS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPi9nLCImZ3Q7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKX0sdC5zdHJUb0VsPShpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGZ1bmN0aW9uKGUpe3ZhciB0PWUudHJpbSgpO2kuaW5uZXJIVE1MPXQ7Zm9yKHZhciBuPWkuY2hpbGRyZW5bMF07aS5maXJzdENoaWxkOylpLnJlbW92ZUNoaWxkKGkuZmlyc3RDaGlsZCk7cmV0dXJuIG59KSx0LnNvcnRCeUFscGhhPWZ1bmN0aW9uKGUsdCl7dmFyIGk9ZS52YWx1ZSxuPWUubGFiZWwscz12b2lkIDA9PT1uP2k6bixvPXQudmFsdWUscj10LmxhYmVsLGE9dm9pZCAwPT09cj9vOnI7cmV0dXJuIHMubG9jYWxlQ29tcGFyZShhLFtdLHtzZW5zaXRpdml0eToiYmFzZSIsaWdub3JlUHVuY3R1YXRpb246ITAsbnVtZXJpYzohMH0pfSx0LnNvcnRCeVNjb3JlPWZ1bmN0aW9uKGUsdCl7dmFyIGk9ZS5zY29yZSxuPXZvaWQgMD09PWk/MDppLHM9dC5zY29yZTtyZXR1cm4gbi0odm9pZCAwPT09cz8wOnMpfSx0LmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oZSx0LGkpe3ZvaWQgMD09PWkmJihpPW51bGwpO3ZhciBuPW5ldyBDdXN0b21FdmVudCh0LHtkZXRhaWw6aSxidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KTtyZXR1cm4gZS5kaXNwYXRjaEV2ZW50KG4pfSx0LmV4aXN0c0luQXJyYXk9ZnVuY3Rpb24oZSx0LGkpe3JldHVybiB2b2lkIDA9PT1pJiYoaT0idmFsdWUiKSxlLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9lW2ldPT09dC50cmltKCk6ZVtpXT09PXR9KSl9LHQuY2xvbmVPYmplY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZSkpfSx0LmRpZmY9ZnVuY3Rpb24oZSx0KXt2YXIgaT1PYmplY3Qua2V5cyhlKS5zb3J0KCksbj1PYmplY3Qua2V5cyh0KS5zb3J0KCk7cmV0dXJuIGkuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gbi5pbmRleE9mKGUpPDB9KSl9fSwyNzM6ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzJiZ0aGlzLl9fc3ByZWFkQXJyYXl8fGZ1bmN0aW9uKGUsdCxpKXtpZihpfHwyPT09YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIG4scz0wLG89dC5sZW5ndGg7czxvO3MrKykhbiYmcyBpbiB0fHwobnx8KG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLHMpKSxuW3NdPXRbc10pO3JldHVybiBlLmNvbmNhdChufHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHRTdGF0ZT12b2lkIDAsdC5kZWZhdWx0U3RhdGU9W10sdC5kZWZhdWx0PWZ1bmN0aW9uKGUsbil7c3dpdGNoKHZvaWQgMD09PWUmJihlPXQuZGVmYXVsdFN0YXRlKSx2b2lkIDA9PT1uJiYobj17fSksbi50eXBlKXtjYXNlIkFERF9DSE9JQ0UiOnZhciBzPW4sbz17aWQ6cy5pZCxlbGVtZW50SWQ6cy5lbGVtZW50SWQsZ3JvdXBJZDpzLmdyb3VwSWQsdmFsdWU6cy52YWx1ZSxsYWJlbDpzLmxhYmVsfHxzLnZhbHVlLGRpc2FibGVkOnMuZGlzYWJsZWR8fCExLHNlbGVjdGVkOiExLGFjdGl2ZTohMCxzY29yZTo5OTk5LGN1c3RvbVByb3BlcnRpZXM6cy5jdXN0b21Qcm9wZXJ0aWVzLHBsYWNlaG9sZGVyOnMucGxhY2Vob2xkZXJ8fCExfTtyZXR1cm4gaShpKFtdLGUsITApLFtvXSwhMSk7Y2FzZSJBRERfSVRFTSI6dmFyIHI9bjtyZXR1cm4gci5jaG9pY2VJZD4tMT9lLm1hcCgoZnVuY3Rpb24oZSl7dmFyIHQ9ZTtyZXR1cm4gdC5pZD09PXBhcnNlSW50KCIiLmNvbmNhdChyLmNob2ljZUlkKSwxMCkmJih0LnNlbGVjdGVkPSEwKSx0fSkpOmU7Y2FzZSJSRU1PVkVfSVRFTSI6dmFyIGE9bjtyZXR1cm4gYS5jaG9pY2VJZCYmYS5jaG9pY2VJZD4tMT9lLm1hcCgoZnVuY3Rpb24oZSl7dmFyIHQ9ZTtyZXR1cm4gdC5pZD09PXBhcnNlSW50KCIiLmNvbmNhdChhLmNob2ljZUlkKSwxMCkmJih0LnNlbGVjdGVkPSExKSx0fSkpOmU7Y2FzZSJGSUxURVJfQ0hPSUNFUyI6dmFyIGw9bjtyZXR1cm4gZS5tYXAoKGZ1bmN0aW9uKGUpe3ZhciB0PWU7cmV0dXJuIHQuYWN0aXZlPWwucmVzdWx0cy5zb21lKChmdW5jdGlvbihlKXt2YXIgaT1lLml0ZW0sbj1lLnNjb3JlO3JldHVybiBpLmlkPT09dC5pZCYmKHQuc2NvcmU9biwhMCl9KSksdH0pKTtjYXNlIkFDVElWQVRFX0NIT0lDRVMiOnZhciBjPW47cmV0dXJuIGUubWFwKChmdW5jdGlvbihlKXt2YXIgdD1lO3JldHVybiB0LmFjdGl2ZT1jLmFjdGl2ZSx0fSkpO2Nhc2UiQ0xFQVJfQ0hPSUNFUyI6cmV0dXJuIHQuZGVmYXVsdFN0YXRlO2RlZmF1bHQ6cmV0dXJuIGV9fX0sODcxOmZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcyYmdGhpcy5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbihlLHQsaSl7aWYoaXx8Mj09PWFyZ3VtZW50cy5sZW5ndGgpZm9yKHZhciBuLHM9MCxvPXQubGVuZ3RoO3M8bztzKyspIW4mJnMgaW4gdHx8KG58fChuPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQsMCxzKSksbltzXT10W3NdKTtyZXR1cm4gZS5jb25jYXQobnx8QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCkpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0U3RhdGU9dm9pZCAwLHQuZGVmYXVsdFN0YXRlPVtdLHQuZGVmYXVsdD1mdW5jdGlvbihlLG4pe3N3aXRjaCh2b2lkIDA9PT1lJiYoZT10LmRlZmF1bHRTdGF0ZSksdm9pZCAwPT09biYmKG49e30pLG4udHlwZSl7Y2FzZSJBRERfR1JPVVAiOnZhciBzPW47cmV0dXJuIGkoaShbXSxlLCEwKSxbe2lkOnMuaWQsdmFsdWU6cy52YWx1ZSxhY3RpdmU6cy5hY3RpdmUsZGlzYWJsZWQ6cy5kaXNhYmxlZH1dLCExKTtjYXNlIkNMRUFSX0NIT0lDRVMiOnJldHVybltdO2RlZmF1bHQ6cmV0dXJuIGV9fX0sNjU1OmZ1bmN0aW9uKGUsdCxpKXt2YXIgbj10aGlzJiZ0aGlzLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0U3RhdGU9dm9pZCAwO3ZhciBzPWkoODU3KSxvPW4oaSg1MikpLHI9bihpKDg3MSkpLGE9bihpKDI3MykpLGw9bihpKDUwMikpLGM9aSg3OTkpO3QuZGVmYXVsdFN0YXRlPXtncm91cHM6W10saXRlbXM6W10sY2hvaWNlczpbXSxsb2FkaW5nOiExfTt2YXIgdT0oMCxzLmNvbWJpbmVSZWR1Y2Vycykoe2l0ZW1zOm8uZGVmYXVsdCxncm91cHM6ci5kZWZhdWx0LGNob2ljZXM6YS5kZWZhdWx0LGxvYWRpbmc6bC5kZWZhdWx0fSk7dC5kZWZhdWx0PWZ1bmN0aW9uKGUsaSl7dmFyIG49ZTtpZigiQ0xFQVJfQUxMIj09PWkudHlwZSluPXQuZGVmYXVsdFN0YXRlO2Vsc2UgaWYoIlJFU0VUX1RPIj09PWkudHlwZSlyZXR1cm4oMCxjLmNsb25lT2JqZWN0KShpLnN0YXRlKTtyZXR1cm4gdShuLGkpfX0sNTI6ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzJiZ0aGlzLl9fc3ByZWFkQXJyYXl8fGZ1bmN0aW9uKGUsdCxpKXtpZihpfHwyPT09YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIG4scz0wLG89dC5sZW5ndGg7czxvO3MrKykhbiYmcyBpbiB0fHwobnx8KG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLHMpKSxuW3NdPXRbc10pO3JldHVybiBlLmNvbmNhdChufHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHRTdGF0ZT12b2lkIDAsdC5kZWZhdWx0U3RhdGU9W10sdC5kZWZhdWx0PWZ1bmN0aW9uKGUsbil7c3dpdGNoKHZvaWQgMD09PWUmJihlPXQuZGVmYXVsdFN0YXRlKSx2b2lkIDA9PT1uJiYobj17fSksbi50eXBlKXtjYXNlIkFERF9JVEVNIjp2YXIgcz1uO3JldHVybiBpKGkoW10sZSwhMCksW3tpZDpzLmlkLGNob2ljZUlkOnMuY2hvaWNlSWQsZ3JvdXBJZDpzLmdyb3VwSWQsdmFsdWU6cy52YWx1ZSxsYWJlbDpzLmxhYmVsLGFjdGl2ZTohMCxoaWdobGlnaHRlZDohMSxjdXN0b21Qcm9wZXJ0aWVzOnMuY3VzdG9tUHJvcGVydGllcyxwbGFjZWhvbGRlcjpzLnBsYWNlaG9sZGVyfHwhMSxrZXlDb2RlOm51bGx9XSwhMSkubWFwKChmdW5jdGlvbihlKXt2YXIgdD1lO3JldHVybiB0LmhpZ2hsaWdodGVkPSExLHR9KSk7Y2FzZSJSRU1PVkVfSVRFTSI6cmV0dXJuIGUubWFwKChmdW5jdGlvbihlKXt2YXIgdD1lO3JldHVybiB0LmlkPT09bi5pZCYmKHQuYWN0aXZlPSExKSx0fSkpO2Nhc2UiSElHSExJR0hUX0lURU0iOnZhciBvPW47cmV0dXJuIGUubWFwKChmdW5jdGlvbihlKXt2YXIgdD1lO3JldHVybiB0LmlkPT09by5pZCYmKHQuaGlnaGxpZ2h0ZWQ9by5oaWdobGlnaHRlZCksdH0pKTtkZWZhdWx0OnJldHVybiBlfX19LDUwMjpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHRTdGF0ZT12b2lkIDAsdC5kZWZhdWx0U3RhdGU9ITEsdC5kZWZhdWx0PWZ1bmN0aW9uKGUsaSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPXQuZGVmYXVsdFN0YXRlKSx2b2lkIDA9PT1pJiYoaT17fSksIlNFVF9JU19MT0FESU5HIj09PWkudHlwZT9pLmlzTG9hZGluZzplfX0sNzQ0OmZ1bmN0aW9uKGUsdCxpKXt2YXIgbj10aGlzJiZ0aGlzLl9fc3ByZWFkQXJyYXl8fGZ1bmN0aW9uKGUsdCxpKXtpZihpfHwyPT09YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIG4scz0wLG89dC5sZW5ndGg7czxvO3MrKykhbiYmcyBpbiB0fHwobnx8KG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLHMpKSxuW3NdPXRbc10pO3JldHVybiBlLmNvbmNhdChufHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KSl9LHM9dGhpcyYmdGhpcy5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBvPWkoODU3KSxyPXMoaSg2NTUpKSxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe3RoaXMuX3N0b3JlPSgwLG8uY3JlYXRlU3RvcmUpKHIuZGVmYXVsdCx3aW5kb3cuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyYmd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18oKSl9cmV0dXJuIGUucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihlKXt0aGlzLl9zdG9yZS5zdWJzY3JpYmUoZSl9LGUucHJvdG90eXBlLmRpc3BhdGNoPWZ1bmN0aW9uKGUpe3RoaXMuX3N0b3JlLmRpc3BhdGNoKGUpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsInN0YXRlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0b3JlLmdldFN0YXRlKCl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJpdGVtcyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLml0ZW1zfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiYWN0aXZlSXRlbXMiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5hY3RpdmV9KSl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJoaWdobGlnaHRlZEFjdGl2ZUl0ZW1zIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZS5hY3RpdmUmJmUuaGlnaGxpZ2h0ZWR9KSl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjaG9pY2VzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGUuY2hvaWNlc30sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImFjdGl2ZUNob2ljZXMiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaG9pY2VzLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lLmFjdGl2ZX0pKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsInNlbGVjdGFibGVDaG9pY2VzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hvaWNlcy5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiEwIT09ZS5kaXNhYmxlZH0pKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsInNlYXJjaGFibGVDaG9pY2VzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2VsZWN0YWJsZUNob2ljZXMuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4hMCE9PWUucGxhY2Vob2xkZXJ9KSl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwbGFjZWhvbGRlckNob2ljZSIse2dldDpmdW5jdGlvbigpe3JldHVybiBuKFtdLHRoaXMuY2hvaWNlcywhMCkucmV2ZXJzZSgpLmZpbmQoKGZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5wbGFjZWhvbGRlcn0pKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImdyb3VwcyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLmdyb3Vwc30sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImFjdGl2ZUdyb3VwcyIse2dldDpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZ3JvdXBzLHQ9dGhpcy5jaG9pY2VzO3JldHVybiBlLmZpbHRlcigoZnVuY3Rpb24oZSl7dmFyIGk9ITA9PT1lLmFjdGl2ZSYmITE9PT1lLmRpc2FibGVkLG49dC5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuYWN0aXZlJiYhMT09PWUuZGlzYWJsZWR9KSk7cmV0dXJuIGkmJm59KSxbXSl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuaXNMb2FkaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGUubG9hZGluZ30sZS5wcm90b3R5cGUuZ2V0Q2hvaWNlQnlJZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hY3RpdmVDaG9pY2VzLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09cGFyc2VJbnQoZSwxMCl9KSl9LGUucHJvdG90eXBlLmdldEdyb3VwQnlJZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ncm91cHMuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1lfSkpfSxlfSgpO3QuZGVmYXVsdD1hfSw2ODY6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9e2NvbnRhaW5lck91dGVyOmZ1bmN0aW9uKGUsdCxpLG4scyxvKXt2YXIgcj1lLmNsYXNzTmFtZXMuY29udGFpbmVyT3V0ZXIsYT1PYmplY3QuYXNzaWduKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHtjbGFzc05hbWU6cn0pO3JldHVybiBhLmRhdGFzZXQudHlwZT1vLHQmJihhLmRpcj10KSxuJiYoYS50YWJJbmRleD0wKSxpJiYoYS5zZXRBdHRyaWJ1dGUoInJvbGUiLHM/ImNvbWJvYm94IjoibGlzdGJveCIpLHMmJmEuc2V0QXR0cmlidXRlKCJhcmlhLWF1dG9jb21wbGV0ZSIsImxpc3QiKSksYS5zZXRBdHRyaWJ1dGUoImFyaWEtaGFzcG9wdXAiLCJ0cnVlIiksYS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGF9LGNvbnRhaW5lcklubmVyOmZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xhc3NOYW1lcy5jb250YWluZXJJbm5lcjtyZXR1cm4gT2JqZWN0LmFzc2lnbihkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx7Y2xhc3NOYW1lOnR9KX0saXRlbUxpc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgaT1lLmNsYXNzTmFtZXMsbj1pLmxpc3Qscz1pLmxpc3RTaW5nbGUsbz1pLmxpc3RJdGVtcztyZXR1cm4gT2JqZWN0LmFzc2lnbihkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx7Y2xhc3NOYW1lOiIiLmNvbmNhdChuLCIgIikuY29uY2F0KHQ/czpvKX0pfSxwbGFjZWhvbGRlcjpmdW5jdGlvbihlLHQpe3ZhciBpLG49ZS5hbGxvd0hUTUwscz1lLmNsYXNzTmFtZXMucGxhY2Vob2xkZXI7cmV0dXJuIE9iamVjdC5hc3NpZ24oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksKChpPXtjbGFzc05hbWU6c30pW24/ImlubmVySFRNTCI6ImlubmVyVGV4dCJdPXQsaSkpfSxpdGVtOmZ1bmN0aW9uKGUsdCxpKXt2YXIgbixzLG89ZS5hbGxvd0hUTUwscj1lLmNsYXNzTmFtZXMsYT1yLml0ZW0sbD1yLmJ1dHRvbixjPXIuaGlnaGxpZ2h0ZWRTdGF0ZSx1PXIuaXRlbVNlbGVjdGFibGUsaD1yLnBsYWNlaG9sZGVyLGQ9dC5pZCxwPXQudmFsdWUsZj10LmxhYmVsLG09dC5jdXN0b21Qcm9wZXJ0aWVzLGc9dC5hY3RpdmUseT10LmRpc2FibGVkLHY9dC5oaWdobGlnaHRlZCxiPXQucGxhY2Vob2xkZXIsXz1PYmplY3QuYXNzaWduKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCgobj17Y2xhc3NOYW1lOmF9KVtvPyJpbm5lckhUTUwiOiJpbm5lclRleHQiXT1mLG4pKTtpZihPYmplY3QuYXNzaWduKF8uZGF0YXNldCx7aXRlbToiIixpZDpkLHZhbHVlOnAsY3VzdG9tUHJvcGVydGllczptfSksZyYmXy5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCJ0cnVlIikseSYmXy5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIiksYiYmXy5jbGFzc0xpc3QuYWRkKGgpLF8uY2xhc3NMaXN0LmFkZCh2P2M6dSksaSl7eSYmXy5jbGFzc0xpc3QucmVtb3ZlKHUpLF8uZGF0YXNldC5kZWxldGFibGU9IiI7dmFyIHc9IlJlbW92ZSBpdGVtIixFPU9iamVjdC5hc3NpZ24oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIiksKChzPXt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpsfSlbbz8iaW5uZXJIVE1MIjoiaW5uZXJUZXh0Il09dyxzKSk7RS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCIiLmNvbmNhdCh3LCI6ICciKS5jb25jYXQocCwiJyIpKSxFLmRhdGFzZXQuYnV0dG9uPSIiLF8uYXBwZW5kQ2hpbGQoRSl9cmV0dXJuIF99LGNob2ljZUxpc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgaT1lLmNsYXNzTmFtZXMubGlzdCxuPU9iamVjdC5hc3NpZ24oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikse2NsYXNzTmFtZTppfSk7cmV0dXJuIHR8fG4uc2V0QXR0cmlidXRlKCJhcmlhLW11bHRpc2VsZWN0YWJsZSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgicm9sZSIsImxpc3Rib3giKSxufSxjaG9pY2VHcm91cDpmdW5jdGlvbihlLHQpe3ZhciBpLG49ZS5hbGxvd0hUTUwscz1lLmNsYXNzTmFtZXMsbz1zLmdyb3VwLHI9cy5ncm91cEhlYWRpbmcsYT1zLml0ZW1EaXNhYmxlZCxsPXQuaWQsYz10LnZhbHVlLHU9dC5kaXNhYmxlZCxoPU9iamVjdC5hc3NpZ24oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikse2NsYXNzTmFtZToiIi5jb25jYXQobywiICIpLmNvbmNhdCh1P2E6IiIpfSk7cmV0dXJuIGguc2V0QXR0cmlidXRlKCJyb2xlIiwiZ3JvdXAiKSxPYmplY3QuYXNzaWduKGguZGF0YXNldCx7Z3JvdXA6IiIsaWQ6bCx2YWx1ZTpjfSksdSYmaC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIiksaC5hcHBlbmRDaGlsZChPYmplY3QuYXNzaWduKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCgoaT17Y2xhc3NOYW1lOnJ9KVtuPyJpbm5lckhUTUwiOiJpbm5lclRleHQiXT1jLGkpKSksaH0sY2hvaWNlOmZ1bmN0aW9uKGUsdCxpKXt2YXIgbixzPWUuYWxsb3dIVE1MLG89ZS5jbGFzc05hbWVzLHI9by5pdGVtLGE9by5pdGVtQ2hvaWNlLGw9by5pdGVtU2VsZWN0YWJsZSxjPW8uc2VsZWN0ZWRTdGF0ZSx1PW8uaXRlbURpc2FibGVkLGg9by5wbGFjZWhvbGRlcixkPXQuaWQscD10LnZhbHVlLGY9dC5sYWJlbCxtPXQuZ3JvdXBJZCxnPXQuZWxlbWVudElkLHk9dC5kaXNhYmxlZCx2PXQuc2VsZWN0ZWQsYj10LnBsYWNlaG9sZGVyLF89T2JqZWN0LmFzc2lnbihkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSwoKG49e2lkOmd9KVtzPyJpbm5lckhUTUwiOiJpbm5lclRleHQiXT1mLG4uY2xhc3NOYW1lPSIiLmNvbmNhdChyLCIgIikuY29uY2F0KGEpLG4pKTtyZXR1cm4gdiYmXy5jbGFzc0xpc3QuYWRkKGMpLGImJl8uY2xhc3NMaXN0LmFkZChoKSxfLnNldEF0dHJpYnV0ZSgicm9sZSIsbSYmbT4wPyJ0cmVlaXRlbSI6Im9wdGlvbiIpLE9iamVjdC5hc3NpZ24oXy5kYXRhc2V0LHtjaG9pY2U6IiIsaWQ6ZCx2YWx1ZTpwLHNlbGVjdFRleHQ6aX0pLHk/KF8uY2xhc3NMaXN0LmFkZCh1KSxfLmRhdGFzZXQuY2hvaWNlRGlzYWJsZWQ9IiIsXy5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIikpOihfLmNsYXNzTGlzdC5hZGQobCksXy5kYXRhc2V0LmNob2ljZVNlbGVjdGFibGU9IiIpLF99LGlucHV0OmZ1bmN0aW9uKGUsdCl7dmFyIGk9ZS5jbGFzc05hbWVzLG49aS5pbnB1dCxzPWkuaW5wdXRDbG9uZWQsbz1PYmplY3QuYXNzaWduKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iikse3R5cGU6InNlYXJjaCIsbmFtZToic2VhcmNoX3Rlcm1zIixjbGFzc05hbWU6IiIuY29uY2F0KG4sIiAiKS5jb25jYXQocyksYXV0b2NvbXBsZXRlOiJvZmYiLGF1dG9jYXBpdGFsaXplOiJvZmYiLHNwZWxsY2hlY2s6ITF9KTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0ZXh0Ym94Iiksby5zZXRBdHRyaWJ1dGUoImFyaWEtYXV0b2NvbXBsZXRlIiwibGlzdCIpLG8uc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIix0KSxvfSxkcm9wZG93bjpmdW5jdGlvbihlKXt2YXIgdD1lLmNsYXNzTmFtZXMsaT10Lmxpc3Qsbj10Lmxpc3REcm9wZG93bixzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBzLmNsYXNzTGlzdC5hZGQoaSxuKSxzLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksc30sbm90aWNlOmZ1bmN0aW9uKGUsdCxpKXt2YXIgbixzPWUuYWxsb3dIVE1MLG89ZS5jbGFzc05hbWVzLHI9by5pdGVtLGE9by5pdGVtQ2hvaWNlLGw9by5ub1Jlc3VsdHMsYz1vLm5vQ2hvaWNlczt2b2lkIDA9PT1pJiYoaT0iIik7dmFyIHU9W3IsYV07cmV0dXJuIm5vLWNob2ljZXMiPT09aT91LnB1c2goYyk6Im5vLXJlc3VsdHMiPT09aSYmdS5wdXNoKGwpLE9iamVjdC5hc3NpZ24oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksKChuPXt9KVtzPyJpbm5lckhUTUwiOiJpbm5lclRleHQiXT10LG4uY2xhc3NOYW1lPXUuam9pbigiICIpLG4pKX0sb3B0aW9uOmZ1bmN0aW9uKGUpe3ZhciB0PWUubGFiZWwsaT1lLnZhbHVlLG49ZS5jdXN0b21Qcm9wZXJ0aWVzLHM9ZS5hY3RpdmUsbz1lLmRpc2FibGVkLHI9bmV3IE9wdGlvbih0LGksITEscyk7cmV0dXJuIG4mJihyLmRhdGFzZXQuY3VzdG9tUHJvcGVydGllcz0iIi5jb25jYXQobikpLHIuZGlzYWJsZWQ9ISFvLHJ9fTt0LmRlZmF1bHQ9aX0sOTk2OmZ1bmN0aW9uKGUpe3ZhciB0PWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4hIWUmJiJvYmplY3QiPT10eXBlb2YgZX0oZSkmJiFmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk7cmV0dXJuIltvYmplY3QgUmVnRXhwXSI9PT10fHwiW29iamVjdCBEYXRlXSI9PT10fHxmdW5jdGlvbihlKXtyZXR1cm4gZS4kJHR5cGVvZj09PWl9KGUpfShlKX0saT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuZm9yP1N5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKTo2MDEwMztmdW5jdGlvbiBuKGUsdCl7cmV0dXJuITEhPT10LmNsb25lJiZ0LmlzTWVyZ2VhYmxlT2JqZWN0KGUpP2woKGk9ZSxBcnJheS5pc0FycmF5KGkpP1tdOnt9KSxlLHQpOmU7dmFyIGl9ZnVuY3Rpb24gcyhlLHQsaSl7cmV0dXJuIGUuY29uY2F0KHQpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4oZSxpKX0pKX1mdW5jdGlvbiBvKGUpe3JldHVybiBPYmplY3Qua2V5cyhlKS5jb25jYXQoZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKHQpfSkpOltdfShlKSl9ZnVuY3Rpb24gcihlLHQpe3RyeXtyZXR1cm4gdCBpbiBlfWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBhKGUsdCxpKXt2YXIgcz17fTtyZXR1cm4gaS5pc01lcmdlYWJsZU9iamVjdChlKSYmbyhlKS5mb3JFYWNoKChmdW5jdGlvbih0KXtzW3RdPW4oZVt0XSxpKX0pKSxvKHQpLmZvckVhY2goKGZ1bmN0aW9uKG8peyhmdW5jdGlvbihlLHQpe3JldHVybiByKGUsdCkmJiEoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSx0KSYmT2JqZWN0LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSx0KSl9KShlLG8pfHwocihlLG8pJiZpLmlzTWVyZ2VhYmxlT2JqZWN0KHRbb10pP3Nbb109ZnVuY3Rpb24oZSx0KXtpZighdC5jdXN0b21NZXJnZSlyZXR1cm4gbDt2YXIgaT10LmN1c3RvbU1lcmdlKGUpO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBpP2k6bH0obyxpKShlW29dLHRbb10saSk6c1tvXT1uKHRbb10saSkpfSkpLHN9ZnVuY3Rpb24gbChlLGksbyl7KG89b3x8e30pLmFycmF5TWVyZ2U9by5hcnJheU1lcmdlfHxzLG8uaXNNZXJnZWFibGVPYmplY3Q9by5pc01lcmdlYWJsZU9iamVjdHx8dCxvLmNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkPW47dmFyIHI9QXJyYXkuaXNBcnJheShpKTtyZXR1cm4gcj09PUFycmF5LmlzQXJyYXkoZSk/cj9vLmFycmF5TWVyZ2UoZSxpLG8pOmEoZSxpLG8pOm4oaSxvKX1sLmFsbD1mdW5jdGlvbihlLHQpe2lmKCFBcnJheS5pc0FycmF5KGUpKXRocm93IG5ldyBFcnJvcigiZmlyc3QgYXJndW1lbnQgc2hvdWxkIGJlIGFuIGFycmF5Iik7cmV0dXJuIGUucmVkdWNlKChmdW5jdGlvbihlLGkpe3JldHVybiBsKGUsaSx0KX0pLHt9KX07dmFyIGM9bDtlLmV4cG9ydHM9Y30sMjIxOmZ1bmN0aW9uKGUsdCxpKXtmdW5jdGlvbiBuKGUpe3JldHVybiBBcnJheS5pc0FycmF5P0FycmF5LmlzQXJyYXkoZSk6IltvYmplY3QgQXJyYXldIj09PXUoZSl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9ZnVuY3Rpb24gbyhlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV9ZnVuY3Rpb24gcihlKXtyZXR1cm4hMD09PWV8fCExPT09ZXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGEoZSkmJm51bGwhPT1lfShlKSYmIltvYmplY3QgQm9vbGVhbl0iPT11KGUpfWZ1bmN0aW9uIGEoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIG51bGwhPWV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4hZS50cmltKCkubGVuZ3RofWZ1bmN0aW9uIHUoZSl7cmV0dXJuIG51bGw9PWU/dm9pZCAwPT09ZT8iW29iamVjdCBVbmRlZmluZWRdIjoiW29iamVjdCBOdWxsXSI6T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWkucih0KSxpLmQodCx7ZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiBHfX0pO2NvbnN0IGg9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjbGFzcyBke2NvbnN0cnVjdG9yKGUpe3RoaXMuX2tleXM9W10sdGhpcy5fa2V5TWFwPXt9O2xldCB0PTA7ZS5mb3JFYWNoKChlPT57bGV0IGk9cChlKTt0Kz1pLndlaWdodCx0aGlzLl9rZXlzLnB1c2goaSksdGhpcy5fa2V5TWFwW2kuaWRdPWksdCs9aS53ZWlnaHR9KSksdGhpcy5fa2V5cy5mb3JFYWNoKChlPT57ZS53ZWlnaHQvPXR9KSl9Z2V0KGUpe3JldHVybiB0aGlzLl9rZXlNYXBbZV19a2V5cygpe3JldHVybiB0aGlzLl9rZXlzfXRvSlNPTigpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLl9rZXlzKX19ZnVuY3Rpb24gcChlKXtsZXQgdD1udWxsLGk9bnVsbCxvPW51bGwscj0xO2lmKHMoZSl8fG4oZSkpbz1lLHQ9ZihlKSxpPW0oZSk7ZWxzZXtpZighaC5jYWxsKGUsIm5hbWUiKSl0aHJvdyBuZXcgRXJyb3IoKGU9PmBNaXNzaW5nICR7ZX0gcHJvcGVydHkgaW4ga2V5YCkoIm5hbWUiKSk7Y29uc3Qgbj1lLm5hbWU7aWYobz1uLGguY2FsbChlLCJ3ZWlnaHQiKSYmKHI9ZS53ZWlnaHQscjw9MCkpdGhyb3cgbmV3IEVycm9yKChlPT5gUHJvcGVydHkgJ3dlaWdodCcgaW4ga2V5ICcke2V9JyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlcmApKG4pKTt0PWYobiksaT1tKG4pfXJldHVybntwYXRoOnQsaWQ6aSx3ZWlnaHQ6cixzcmM6b319ZnVuY3Rpb24gZihlKXtyZXR1cm4gbihlKT9lOmUuc3BsaXQoIi4iKX1mdW5jdGlvbiBtKGUpe3JldHVybiBuKGUpP2Uuam9pbigiLiIpOmV9dmFyIGc9e2lzQ2FzZVNlbnNpdGl2ZTohMSxpbmNsdWRlU2NvcmU6ITEsa2V5czpbXSxzaG91bGRTb3J0OiEwLHNvcnRGbjooZSx0KT0+ZS5zY29yZT09PXQuc2NvcmU/ZS5pZHg8dC5pZHg/LTE6MTplLnNjb3JlPHQuc2NvcmU/LTE6MSxpbmNsdWRlTWF0Y2hlczohMSxmaW5kQWxsTWF0Y2hlczohMSxtaW5NYXRjaENoYXJMZW5ndGg6MSxsb2NhdGlvbjowLHRocmVzaG9sZDouNixkaXN0YW5jZToxMDAsdXNlRXh0ZW5kZWRTZWFyY2g6ITEsZ2V0Rm46ZnVuY3Rpb24oZSx0KXtsZXQgaT1bXSxhPSExO2NvbnN0IGM9KGUsdCx1KT0+e2lmKGwoZSkpaWYodFt1XSl7Y29uc3QgaD1lW3RbdV1dO2lmKCFsKGgpKXJldHVybjtpZih1PT09dC5sZW5ndGgtMSYmKHMoaCl8fG8oaCl8fHIoaCkpKWkucHVzaChmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjpmdW5jdGlvbihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ9ZSsiIjtyZXR1cm4iMCI9PXQmJjEvZT09LTEvMD8iLTAiOnR9KGUpfShoKSk7ZWxzZSBpZihuKGgpKXthPSEwO2ZvcihsZXQgZT0wLGk9aC5sZW5ndGg7ZTxpO2UrPTEpYyhoW2VdLHQsdSsxKX1lbHNlIHQubGVuZ3RoJiZjKGgsdCx1KzEpfWVsc2UgaS5wdXNoKGUpfTtyZXR1cm4gYyhlLHModCk/dC5zcGxpdCgiLiIpOnQsMCksYT9pOmlbMF19LGlnbm9yZUxvY2F0aW9uOiExLGlnbm9yZUZpZWxkTm9ybTohMSxmaWVsZE5vcm1XZWlnaHQ6MX07Y29uc3QgeT0vW14gXSsvZztjbGFzcyB2e2NvbnN0cnVjdG9yKHtnZXRGbjplPWcuZ2V0Rm4sZmllbGROb3JtV2VpZ2h0OnQ9Zy5maWVsZE5vcm1XZWlnaHR9PXt9KXt0aGlzLm5vcm09ZnVuY3Rpb24oZT0xLHQ9Myl7Y29uc3QgaT1uZXcgTWFwLG49TWF0aC5wb3coMTAsdCk7cmV0dXJue2dldCh0KXtjb25zdCBzPXQubWF0Y2goeSkubGVuZ3RoO2lmKGkuaGFzKHMpKXJldHVybiBpLmdldChzKTtjb25zdCBvPTEvTWF0aC5wb3cocywuNSplKSxyPXBhcnNlRmxvYXQoTWF0aC5yb3VuZChvKm4pL24pO3JldHVybiBpLnNldChzLHIpLHJ9LGNsZWFyKCl7aS5jbGVhcigpfX19KHQsMyksdGhpcy5nZXRGbj1lLHRoaXMuaXNDcmVhdGVkPSExLHRoaXMuc2V0SW5kZXhSZWNvcmRzKCl9c2V0U291cmNlcyhlPVtdKXt0aGlzLmRvY3M9ZX1zZXRJbmRleFJlY29yZHMoZT1bXSl7dGhpcy5yZWNvcmRzPWV9c2V0S2V5cyhlPVtdKXt0aGlzLmtleXM9ZSx0aGlzLl9rZXlzTWFwPXt9LGUuZm9yRWFjaCgoKGUsdCk9Pnt0aGlzLl9rZXlzTWFwW2UuaWRdPXR9KSl9Y3JlYXRlKCl7IXRoaXMuaXNDcmVhdGVkJiZ0aGlzLmRvY3MubGVuZ3RoJiYodGhpcy5pc0NyZWF0ZWQ9ITAscyh0aGlzLmRvY3NbMF0pP3RoaXMuZG9jcy5mb3JFYWNoKCgoZSx0KT0+e3RoaXMuX2FkZFN0cmluZyhlLHQpfSkpOnRoaXMuZG9jcy5mb3JFYWNoKCgoZSx0KT0+e3RoaXMuX2FkZE9iamVjdChlLHQpfSkpLHRoaXMubm9ybS5jbGVhcigpKX1hZGQoZSl7Y29uc3QgdD10aGlzLnNpemUoKTtzKGUpP3RoaXMuX2FkZFN0cmluZyhlLHQpOnRoaXMuX2FkZE9iamVjdChlLHQpfXJlbW92ZUF0KGUpe3RoaXMucmVjb3Jkcy5zcGxpY2UoZSwxKTtmb3IobGV0IHQ9ZSxpPXRoaXMuc2l6ZSgpO3Q8aTt0Kz0xKXRoaXMucmVjb3Jkc1t0XS5pLT0xfWdldFZhbHVlRm9ySXRlbUF0S2V5SWQoZSx0KXtyZXR1cm4gZVt0aGlzLl9rZXlzTWFwW3RdXX1zaXplKCl7cmV0dXJuIHRoaXMucmVjb3Jkcy5sZW5ndGh9X2FkZFN0cmluZyhlLHQpe2lmKCFsKGUpfHxjKGUpKXJldHVybjtsZXQgaT17djplLGk6dCxuOnRoaXMubm9ybS5nZXQoZSl9O3RoaXMucmVjb3Jkcy5wdXNoKGkpfV9hZGRPYmplY3QoZSx0KXtsZXQgaT17aTp0LCQ6e319O3RoaXMua2V5cy5mb3JFYWNoKCgodCxvKT0+e2xldCByPXRoaXMuZ2V0Rm4oZSx0LnBhdGgpO2lmKGwocikpaWYobihyKSl7bGV0IGU9W107Y29uc3QgdD1be25lc3RlZEFyckluZGV4Oi0xLHZhbHVlOnJ9XTtmb3IoO3QubGVuZ3RoOyl7Y29uc3R7bmVzdGVkQXJySW5kZXg6aSx2YWx1ZTpvfT10LnBvcCgpO2lmKGwobykpaWYocyhvKSYmIWMobykpe2xldCB0PXt2Om8saTppLG46dGhpcy5ub3JtLmdldChvKX07ZS5wdXNoKHQpfWVsc2UgbihvKSYmby5mb3JFYWNoKCgoZSxpKT0+e3QucHVzaCh7bmVzdGVkQXJySW5kZXg6aSx2YWx1ZTplfSl9KSl9aS4kW29dPWV9ZWxzZSBpZighYyhyKSl7bGV0IGU9e3Y6cixuOnRoaXMubm9ybS5nZXQocil9O2kuJFtvXT1lfX0pKSx0aGlzLnJlY29yZHMucHVzaChpKX10b0pTT04oKXtyZXR1cm57a2V5czp0aGlzLmtleXMscmVjb3Jkczp0aGlzLnJlY29yZHN9fX1mdW5jdGlvbiBiKGUsdCx7Z2V0Rm46aT1nLmdldEZuLGZpZWxkTm9ybVdlaWdodDpuPWcuZmllbGROb3JtV2VpZ2h0fT17fSl7Y29uc3Qgcz1uZXcgdih7Z2V0Rm46aSxmaWVsZE5vcm1XZWlnaHQ6bn0pO3JldHVybiBzLnNldEtleXMoZS5tYXAocCkpLHMuc2V0U291cmNlcyh0KSxzLmNyZWF0ZSgpLHN9ZnVuY3Rpb24gXyhlLHtlcnJvcnM6dD0wLGN1cnJlbnRMb2NhdGlvbjppPTAsZXhwZWN0ZWRMb2NhdGlvbjpuPTAsZGlzdGFuY2U6cz1nLmRpc3RhbmNlLGlnbm9yZUxvY2F0aW9uOm89Zy5pZ25vcmVMb2NhdGlvbn09e30pe2NvbnN0IHI9dC9lLmxlbmd0aDtpZihvKXJldHVybiByO2NvbnN0IGE9TWF0aC5hYnMobi1pKTtyZXR1cm4gcz9yK2EvczphPzE6cn1jb25zdCB3PTMyO2Z1bmN0aW9uIEUoZSx0LGkse2xvY2F0aW9uOm49Zy5sb2NhdGlvbixkaXN0YW5jZTpzPWcuZGlzdGFuY2UsdGhyZXNob2xkOm89Zy50aHJlc2hvbGQsZmluZEFsbE1hdGNoZXM6cj1nLmZpbmRBbGxNYXRjaGVzLG1pbk1hdGNoQ2hhckxlbmd0aDphPWcubWluTWF0Y2hDaGFyTGVuZ3RoLGluY2x1ZGVNYXRjaGVzOmw9Zy5pbmNsdWRlTWF0Y2hlcyxpZ25vcmVMb2NhdGlvbjpjPWcuaWdub3JlTG9jYXRpb259PXt9KXtpZih0Lmxlbmd0aD53KXRocm93IG5ldyBFcnJvcigiUGF0dGVybiBsZW5ndGggZXhjZWVkcyBtYXggb2YgMzIuIik7Y29uc3QgdT10Lmxlbmd0aCxoPWUubGVuZ3RoLGQ9TWF0aC5tYXgoMCxNYXRoLm1pbihuLGgpKTtsZXQgcD1vLGY9ZDtjb25zdCBtPWE+MXx8bCx5PW0/QXJyYXkoaCk6W107bGV0IHY7Zm9yKDsodj1lLmluZGV4T2YodCxmKSk+LTE7KXtsZXQgZT1fKHQse2N1cnJlbnRMb2NhdGlvbjp2LGV4cGVjdGVkTG9jYXRpb246ZCxkaXN0YW5jZTpzLGlnbm9yZUxvY2F0aW9uOmN9KTtpZihwPU1hdGgubWluKGUscCksZj12K3UsbSl7bGV0IGU9MDtmb3IoO2U8dTspeVt2K2VdPTEsZSs9MX19Zj0tMTtsZXQgYj1bXSxFPTEsQz11K2g7Y29uc3QgVD0xPDx1LTE7Zm9yKGxldCBuPTA7bjx1O24rPTEpe2xldCBvPTAsYT1DO2Zvcig7bzxhOylfKHQse2Vycm9yczpuLGN1cnJlbnRMb2NhdGlvbjpkK2EsZXhwZWN0ZWRMb2NhdGlvbjpkLGRpc3RhbmNlOnMsaWdub3JlTG9jYXRpb246Y30pPD1wP289YTpDPWEsYT1NYXRoLmZsb29yKChDLW8pLzIrbyk7Qz1hO2xldCBsPU1hdGgubWF4KDEsZC1hKzEpLGc9cj9oOk1hdGgubWluKGQrYSxoKSt1LHY9QXJyYXkoZysyKTt2W2crMV09KDE8PG4pLTE7Zm9yKGxldCBvPWc7bz49bDtvLT0xKXtsZXQgcj1vLTEsYT1pW2UuY2hhckF0KHIpXTtpZihtJiYoeVtyXT0rISFhKSx2W29dPSh2W28rMV08PDF8MSkmYSxuJiYodltvXXw9KGJbbysxXXxiW29dKTw8MXwxfGJbbysxXSksdltvXSZUJiYoRT1fKHQse2Vycm9yczpuLGN1cnJlbnRMb2NhdGlvbjpyLGV4cGVjdGVkTG9jYXRpb246ZCxkaXN0YW5jZTpzLGlnbm9yZUxvY2F0aW9uOmN9KSxFPD1wKSl7aWYocD1FLGY9cixmPD1kKWJyZWFrO2w9TWF0aC5tYXgoMSwyKmQtZil9fWlmKF8odCx7ZXJyb3JzOm4rMSxjdXJyZW50TG9jYXRpb246ZCxleHBlY3RlZExvY2F0aW9uOmQsZGlzdGFuY2U6cyxpZ25vcmVMb2NhdGlvbjpjfSk+cClicmVhaztiPXZ9Y29uc3QgUz17aXNNYXRjaDpmPj0wLHNjb3JlOk1hdGgubWF4KC4wMDEsRSl9O2lmKG0pe2NvbnN0IGU9ZnVuY3Rpb24oZT1bXSx0PWcubWluTWF0Y2hDaGFyTGVuZ3RoKXtsZXQgaT1bXSxuPS0xLHM9LTEsbz0wO2ZvcihsZXQgcj1lLmxlbmd0aDtvPHI7bys9MSl7bGV0IHI9ZVtvXTtyJiYtMT09PW4/bj1vOnJ8fC0xPT09bnx8KHM9by0xLHMtbisxPj10JiZpLnB1c2goW24sc10pLG49LTEpfXJldHVybiBlW28tMV0mJm8tbj49dCYmaS5wdXNoKFtuLG8tMV0pLGl9KHksYSk7ZS5sZW5ndGg/bCYmKFMuaW5kaWNlcz1lKTpTLmlzTWF0Y2g9ITF9cmV0dXJuIFN9ZnVuY3Rpb24gQyhlKXtsZXQgdD17fTtmb3IobGV0IGk9MCxuPWUubGVuZ3RoO2k8bjtpKz0xKXtjb25zdCBzPWUuY2hhckF0KGkpO3Rbc109KHRbc118fDApfDE8PG4taS0xfXJldHVybiB0fWNsYXNzIFR7Y29uc3RydWN0b3IoZSx7bG9jYXRpb246dD1nLmxvY2F0aW9uLHRocmVzaG9sZDppPWcudGhyZXNob2xkLGRpc3RhbmNlOm49Zy5kaXN0YW5jZSxpbmNsdWRlTWF0Y2hlczpzPWcuaW5jbHVkZU1hdGNoZXMsZmluZEFsbE1hdGNoZXM6bz1nLmZpbmRBbGxNYXRjaGVzLG1pbk1hdGNoQ2hhckxlbmd0aDpyPWcubWluTWF0Y2hDaGFyTGVuZ3RoLGlzQ2FzZVNlbnNpdGl2ZTphPWcuaXNDYXNlU2Vuc2l0aXZlLGlnbm9yZUxvY2F0aW9uOmw9Zy5pZ25vcmVMb2NhdGlvbn09e30pe2lmKHRoaXMub3B0aW9ucz17bG9jYXRpb246dCx0aHJlc2hvbGQ6aSxkaXN0YW5jZTpuLGluY2x1ZGVNYXRjaGVzOnMsZmluZEFsbE1hdGNoZXM6byxtaW5NYXRjaENoYXJMZW5ndGg6cixpc0Nhc2VTZW5zaXRpdmU6YSxpZ25vcmVMb2NhdGlvbjpsfSx0aGlzLnBhdHRlcm49YT9lOmUudG9Mb3dlckNhc2UoKSx0aGlzLmNodW5rcz1bXSwhdGhpcy5wYXR0ZXJuLmxlbmd0aClyZXR1cm47Y29uc3QgYz0oZSx0KT0+e3RoaXMuY2h1bmtzLnB1c2goe3BhdHRlcm46ZSxhbHBoYWJldDpDKGUpLHN0YXJ0SW5kZXg6dH0pfSx1PXRoaXMucGF0dGVybi5sZW5ndGg7aWYodT53KXtsZXQgZT0wO2NvbnN0IHQ9dSV3LGk9dS10O2Zvcig7ZTxpOyljKHRoaXMucGF0dGVybi5zdWJzdHIoZSx3KSxlKSxlKz13O2lmKHQpe2NvbnN0IGU9dS13O2ModGhpcy5wYXR0ZXJuLnN1YnN0cihlKSxlKX19ZWxzZSBjKHRoaXMucGF0dGVybiwwKX1zZWFyY2hJbihlKXtjb25zdHtpc0Nhc2VTZW5zaXRpdmU6dCxpbmNsdWRlTWF0Y2hlczppfT10aGlzLm9wdGlvbnM7aWYodHx8KGU9ZS50b0xvd2VyQ2FzZSgpKSx0aGlzLnBhdHRlcm49PT1lKXtsZXQgdD17aXNNYXRjaDohMCxzY29yZTowfTtyZXR1cm4gaSYmKHQuaW5kaWNlcz1bWzAsZS5sZW5ndGgtMV1dKSx0fWNvbnN0e2xvY2F0aW9uOm4sZGlzdGFuY2U6cyx0aHJlc2hvbGQ6byxmaW5kQWxsTWF0Y2hlczpyLG1pbk1hdGNoQ2hhckxlbmd0aDphLGlnbm9yZUxvY2F0aW9uOmx9PXRoaXMub3B0aW9ucztsZXQgYz1bXSx1PTAsaD0hMTt0aGlzLmNodW5rcy5mb3JFYWNoKCgoe3BhdHRlcm46dCxhbHBoYWJldDpkLHN0YXJ0SW5kZXg6cH0pPT57Y29uc3R7aXNNYXRjaDpmLHNjb3JlOm0saW5kaWNlczpnfT1FKGUsdCxkLHtsb2NhdGlvbjpuK3AsZGlzdGFuY2U6cyx0aHJlc2hvbGQ6byxmaW5kQWxsTWF0Y2hlczpyLG1pbk1hdGNoQ2hhckxlbmd0aDphLGluY2x1ZGVNYXRjaGVzOmksaWdub3JlTG9jYXRpb246bH0pO2YmJihoPSEwKSx1Kz1tLGYmJmcmJihjPVsuLi5jLC4uLmddKX0pKTtsZXQgZD17aXNNYXRjaDpoLHNjb3JlOmg/dS90aGlzLmNodW5rcy5sZW5ndGg6MX07cmV0dXJuIGgmJmkmJihkLmluZGljZXM9YyksZH19Y2xhc3MgU3tjb25zdHJ1Y3RvcihlKXt0aGlzLnBhdHRlcm49ZX1zdGF0aWMgaXNNdWx0aU1hdGNoKGUpe3JldHVybiBJKGUsdGhpcy5tdWx0aVJlZ2V4KX1zdGF0aWMgaXNTaW5nbGVNYXRjaChlKXtyZXR1cm4gSShlLHRoaXMuc2luZ2xlUmVnZXgpfXNlYXJjaCgpe319ZnVuY3Rpb24gSShlLHQpe2NvbnN0IGk9ZS5tYXRjaCh0KTtyZXR1cm4gaT9pWzFdOm51bGx9Y2xhc3MgQSBleHRlbmRzIFN7Y29uc3RydWN0b3IoZSx7bG9jYXRpb246dD1nLmxvY2F0aW9uLHRocmVzaG9sZDppPWcudGhyZXNob2xkLGRpc3RhbmNlOm49Zy5kaXN0YW5jZSxpbmNsdWRlTWF0Y2hlczpzPWcuaW5jbHVkZU1hdGNoZXMsZmluZEFsbE1hdGNoZXM6bz1nLmZpbmRBbGxNYXRjaGVzLG1pbk1hdGNoQ2hhckxlbmd0aDpyPWcubWluTWF0Y2hDaGFyTGVuZ3RoLGlzQ2FzZVNlbnNpdGl2ZTphPWcuaXNDYXNlU2Vuc2l0aXZlLGlnbm9yZUxvY2F0aW9uOmw9Zy5pZ25vcmVMb2NhdGlvbn09e30pe3N1cGVyKGUpLHRoaXMuX2JpdGFwU2VhcmNoPW5ldyBUKGUse2xvY2F0aW9uOnQsdGhyZXNob2xkOmksZGlzdGFuY2U6bixpbmNsdWRlTWF0Y2hlczpzLGZpbmRBbGxNYXRjaGVzOm8sbWluTWF0Y2hDaGFyTGVuZ3RoOnIsaXNDYXNlU2Vuc2l0aXZlOmEsaWdub3JlTG9jYXRpb246bH0pfXN0YXRpYyBnZXQgdHlwZSgpe3JldHVybiJmdXp6eSJ9c3RhdGljIGdldCBtdWx0aVJlZ2V4KCl7cmV0dXJuL14iKC4qKSIkL31zdGF0aWMgZ2V0IHNpbmdsZVJlZ2V4KCl7cmV0dXJuL14oLiopJC99c2VhcmNoKGUpe3JldHVybiB0aGlzLl9iaXRhcFNlYXJjaC5zZWFyY2hJbihlKX19Y2xhc3MgayBleHRlbmRzIFN7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSl9c3RhdGljIGdldCB0eXBlKCl7cmV0dXJuImluY2x1ZGUifXN0YXRpYyBnZXQgbXVsdGlSZWdleCgpe3JldHVybi9eJyIoLiopIiQvfXN0YXRpYyBnZXQgc2luZ2xlUmVnZXgoKXtyZXR1cm4vXicoLiopJC99c2VhcmNoKGUpe2xldCB0LGk9MDtjb25zdCBuPVtdLHM9dGhpcy5wYXR0ZXJuLmxlbmd0aDtmb3IoOyh0PWUuaW5kZXhPZih0aGlzLnBhdHRlcm4saSkpPi0xOylpPXQrcyxuLnB1c2goW3QsaS0xXSk7Y29uc3Qgbz0hIW4ubGVuZ3RoO3JldHVybntpc01hdGNoOm8sc2NvcmU6bz8wOjEsaW5kaWNlczpufX19Y29uc3QgTD1bY2xhc3MgZXh0ZW5kcyBTe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpfXN0YXRpYyBnZXQgdHlwZSgpe3JldHVybiJleGFjdCJ9c3RhdGljIGdldCBtdWx0aVJlZ2V4KCl7cmV0dXJuL149IiguKikiJC99c3RhdGljIGdldCBzaW5nbGVSZWdleCgpe3JldHVybi9ePSguKikkL31zZWFyY2goZSl7Y29uc3QgdD1lPT09dGhpcy5wYXR0ZXJuO3JldHVybntpc01hdGNoOnQsc2NvcmU6dD8wOjEsaW5kaWNlczpbMCx0aGlzLnBhdHRlcm4ubGVuZ3RoLTFdfX19LGssY2xhc3MgZXh0ZW5kcyBTe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpfXN0YXRpYyBnZXQgdHlwZSgpe3JldHVybiJwcmVmaXgtZXhhY3QifXN0YXRpYyBnZXQgbXVsdGlSZWdleCgpe3JldHVybi9eXF4iKC4qKSIkL31zdGF0aWMgZ2V0IHNpbmdsZVJlZ2V4KCl7cmV0dXJuL15cXiguKikkL31zZWFyY2goZSl7Y29uc3QgdD1lLnN0YXJ0c1dpdGgodGhpcy5wYXR0ZXJuKTtyZXR1cm57aXNNYXRjaDp0LHNjb3JlOnQ/MDoxLGluZGljZXM6WzAsdGhpcy5wYXR0ZXJuLmxlbmd0aC0xXX19fSxjbGFzcyBleHRlbmRzIFN7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSl9c3RhdGljIGdldCB0eXBlKCl7cmV0dXJuImludmVyc2UtcHJlZml4LWV4YWN0In1zdGF0aWMgZ2V0IG11bHRpUmVnZXgoKXtyZXR1cm4vXiFcXiIoLiopIiQvfXN0YXRpYyBnZXQgc2luZ2xlUmVnZXgoKXtyZXR1cm4vXiFcXiguKikkL31zZWFyY2goZSl7Y29uc3QgdD0hZS5zdGFydHNXaXRoKHRoaXMucGF0dGVybik7cmV0dXJue2lzTWF0Y2g6dCxzY29yZTp0PzA6MSxpbmRpY2VzOlswLGUubGVuZ3RoLTFdfX19LGNsYXNzIGV4dGVuZHMgU3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKX1zdGF0aWMgZ2V0IHR5cGUoKXtyZXR1cm4iaW52ZXJzZS1zdWZmaXgtZXhhY3QifXN0YXRpYyBnZXQgbXVsdGlSZWdleCgpe3JldHVybi9eISIoLiopIlwkJC99c3RhdGljIGdldCBzaW5nbGVSZWdleCgpe3JldHVybi9eISguKilcJCQvfXNlYXJjaChlKXtjb25zdCB0PSFlLmVuZHNXaXRoKHRoaXMucGF0dGVybik7cmV0dXJue2lzTWF0Y2g6dCxzY29yZTp0PzA6MSxpbmRpY2VzOlswLGUubGVuZ3RoLTFdfX19LGNsYXNzIGV4dGVuZHMgU3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKX1zdGF0aWMgZ2V0IHR5cGUoKXtyZXR1cm4ic3VmZml4LWV4YWN0In1zdGF0aWMgZ2V0IG11bHRpUmVnZXgoKXtyZXR1cm4vXiIoLiopIlwkJC99c3RhdGljIGdldCBzaW5nbGVSZWdleCgpe3JldHVybi9eKC4qKVwkJC99c2VhcmNoKGUpe2NvbnN0IHQ9ZS5lbmRzV2l0aCh0aGlzLnBhdHRlcm4pO3JldHVybntpc01hdGNoOnQsc2NvcmU6dD8wOjEsaW5kaWNlczpbZS5sZW5ndGgtdGhpcy5wYXR0ZXJuLmxlbmd0aCxlLmxlbmd0aC0xXX19fSxjbGFzcyBleHRlbmRzIFN7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSl9c3RhdGljIGdldCB0eXBlKCl7cmV0dXJuImludmVyc2UtZXhhY3QifXN0YXRpYyBnZXQgbXVsdGlSZWdleCgpe3JldHVybi9eISIoLiopIiQvfXN0YXRpYyBnZXQgc2luZ2xlUmVnZXgoKXtyZXR1cm4vXiEoLiopJC99c2VhcmNoKGUpe2NvbnN0IHQ9LTE9PT1lLmluZGV4T2YodGhpcy5wYXR0ZXJuKTtyZXR1cm57aXNNYXRjaDp0LHNjb3JlOnQ/MDoxLGluZGljZXM6WzAsZS5sZW5ndGgtMV19fX0sQV0sTz1MLmxlbmd0aCx4PS8gKyg/PShbXlwiXSpcIlteXCJdKlwiKSpbXlwiXSokKS8sUD1uZXcgU2V0KFtBLnR5cGUsay50eXBlXSk7Y2xhc3MgTntjb25zdHJ1Y3RvcihlLHtpc0Nhc2VTZW5zaXRpdmU6dD1nLmlzQ2FzZVNlbnNpdGl2ZSxpbmNsdWRlTWF0Y2hlczppPWcuaW5jbHVkZU1hdGNoZXMsbWluTWF0Y2hDaGFyTGVuZ3RoOm49Zy5taW5NYXRjaENoYXJMZW5ndGgsaWdub3JlTG9jYXRpb246cz1nLmlnbm9yZUxvY2F0aW9uLGZpbmRBbGxNYXRjaGVzOm89Zy5maW5kQWxsTWF0Y2hlcyxsb2NhdGlvbjpyPWcubG9jYXRpb24sdGhyZXNob2xkOmE9Zy50aHJlc2hvbGQsZGlzdGFuY2U6bD1nLmRpc3RhbmNlfT17fSl7dGhpcy5xdWVyeT1udWxsLHRoaXMub3B0aW9ucz17aXNDYXNlU2Vuc2l0aXZlOnQsaW5jbHVkZU1hdGNoZXM6aSxtaW5NYXRjaENoYXJMZW5ndGg6bixmaW5kQWxsTWF0Y2hlczpvLGlnbm9yZUxvY2F0aW9uOnMsbG9jYXRpb246cix0aHJlc2hvbGQ6YSxkaXN0YW5jZTpsfSx0aGlzLnBhdHRlcm49dD9lOmUudG9Mb3dlckNhc2UoKSx0aGlzLnF1ZXJ5PWZ1bmN0aW9uKGUsdD17fSl7cmV0dXJuIGUuc3BsaXQoInwiKS5tYXAoKGU9PntsZXQgaT1lLnRyaW0oKS5zcGxpdCh4KS5maWx0ZXIoKGU9PmUmJiEhZS50cmltKCkpKSxuPVtdO2ZvcihsZXQgZT0wLHM9aS5sZW5ndGg7ZTxzO2UrPTEpe2NvbnN0IHM9aVtlXTtsZXQgbz0hMSxyPS0xO2Zvcig7IW8mJisrcjxPOyl7Y29uc3QgZT1MW3JdO2xldCBpPWUuaXNNdWx0aU1hdGNoKHMpO2kmJihuLnB1c2gobmV3IGUoaSx0KSksbz0hMCl9aWYoIW8pZm9yKHI9LTE7KytyPE87KXtjb25zdCBlPUxbcl07bGV0IGk9ZS5pc1NpbmdsZU1hdGNoKHMpO2lmKGkpe24ucHVzaChuZXcgZShpLHQpKTticmVha319fXJldHVybiBufSkpfSh0aGlzLnBhdHRlcm4sdGhpcy5vcHRpb25zKX1zdGF0aWMgY29uZGl0aW9uKGUsdCl7cmV0dXJuIHQudXNlRXh0ZW5kZWRTZWFyY2h9c2VhcmNoSW4oZSl7Y29uc3QgdD10aGlzLnF1ZXJ5O2lmKCF0KXJldHVybntpc01hdGNoOiExLHNjb3JlOjF9O2NvbnN0e2luY2x1ZGVNYXRjaGVzOmksaXNDYXNlU2Vuc2l0aXZlOm59PXRoaXMub3B0aW9ucztlPW4/ZTplLnRvTG93ZXJDYXNlKCk7bGV0IHM9MCxvPVtdLHI9MDtmb3IobGV0IG49MCxhPXQubGVuZ3RoO248YTtuKz0xKXtjb25zdCBhPXRbbl07by5sZW5ndGg9MCxzPTA7Zm9yKGxldCB0PTAsbj1hLmxlbmd0aDt0PG47dCs9MSl7Y29uc3Qgbj1hW3RdLHtpc01hdGNoOmwsaW5kaWNlczpjLHNjb3JlOnV9PW4uc2VhcmNoKGUpO2lmKCFsKXtyPTAscz0wLG8ubGVuZ3RoPTA7YnJlYWt9aWYocys9MSxyKz11LGkpe2NvbnN0IGU9bi5jb25zdHJ1Y3Rvci50eXBlO1AuaGFzKGUpP289Wy4uLm8sLi4uY106by5wdXNoKGMpfX1pZihzKXtsZXQgZT17aXNNYXRjaDohMCxzY29yZTpyL3N9O3JldHVybiBpJiYoZS5pbmRpY2VzPW8pLGV9fXJldHVybntpc01hdGNoOiExLHNjb3JlOjF9fX1jb25zdCBNPVtdO2Z1bmN0aW9uIEQoZSx0KXtmb3IobGV0IGk9MCxuPU0ubGVuZ3RoO2k8bjtpKz0xKXtsZXQgbj1NW2ldO2lmKG4uY29uZGl0aW9uKGUsdCkpcmV0dXJuIG5ldyBuKGUsdCl9cmV0dXJuIG5ldyBUKGUsdCl9Y29uc3Qgaj0iJGFuZCIsRj0iJG9yIixWPSIkcGF0aCIsUj0iJHZhbCIsSD1lPT4hKCFlW2pdJiYhZVtGXSksJD1lPT4oe1tqXTpPYmplY3Qua2V5cyhlKS5tYXAoKHQ9Pih7W3RdOmVbdF19KSkpfSk7ZnVuY3Rpb24gQihlLHQse2F1dG86aT0hMH09e30pe2NvbnN0IG89ZT0+e2xldCByPU9iamVjdC5rZXlzKGUpO2NvbnN0IGw9KGU9PiEhZVtWXSkoZSk7aWYoIWwmJnIubGVuZ3RoPjEmJiFIKGUpKXJldHVybiBvKCQoZSkpO2lmKChlPT4hbihlKSYmYShlKSYmIUgoZSkpKGUpKXtjb25zdCBuPWw/ZVtWXTpyWzBdLG89bD9lW1JdOmVbbl07aWYoIXMobykpdGhyb3cgbmV3IEVycm9yKChlPT5gSW52YWxpZCB2YWx1ZSBmb3Iga2V5ICR7ZX1gKShuKSk7Y29uc3QgYT17a2V5SWQ6bShuKSxwYXR0ZXJuOm99O3JldHVybiBpJiYoYS5zZWFyY2hlcj1EKG8sdCkpLGF9bGV0IGM9e2NoaWxkcmVuOltdLG9wZXJhdG9yOnJbMF19O3JldHVybiByLmZvckVhY2goKHQ9Pntjb25zdCBpPWVbdF07bihpKSYmaS5mb3JFYWNoKChlPT57Yy5jaGlsZHJlbi5wdXNoKG8oZSkpfSkpfSkpLGN9O3JldHVybiBIKGUpfHwoZT0kKGUpKSxvKGUpfWZ1bmN0aW9uIHEoZSx0KXtjb25zdCBpPWUubWF0Y2hlczt0Lm1hdGNoZXM9W10sbChpKSYmaS5mb3JFYWNoKChlPT57aWYoIWwoZS5pbmRpY2VzKXx8IWUuaW5kaWNlcy5sZW5ndGgpcmV0dXJuO2NvbnN0e2luZGljZXM6aSx2YWx1ZTpufT1lO2xldCBzPXtpbmRpY2VzOmksdmFsdWU6bn07ZS5rZXkmJihzLmtleT1lLmtleS5zcmMpLGUuaWR4Pi0xJiYocy5yZWZJbmRleD1lLmlkeCksdC5tYXRjaGVzLnB1c2gocyl9KSl9ZnVuY3Rpb24gVShlLHQpe3Quc2NvcmU9ZS5zY29yZX1jbGFzcyBHe2NvbnN0cnVjdG9yKGUsdD17fSxpKXt0aGlzLm9wdGlvbnM9ey4uLmcsLi4udH0sdGhpcy5vcHRpb25zLnVzZUV4dGVuZGVkU2VhcmNoLHRoaXMuX2tleVN0b3JlPW5ldyBkKHRoaXMub3B0aW9ucy5rZXlzKSx0aGlzLnNldENvbGxlY3Rpb24oZSxpKX1zZXRDb2xsZWN0aW9uKGUsdCl7aWYodGhpcy5fZG9jcz1lLHQmJiEodCBpbnN0YW5jZW9mIHYpKXRocm93IG5ldyBFcnJvcigiSW5jb3JyZWN0ICdpbmRleCcgdHlwZSIpO3RoaXMuX215SW5kZXg9dHx8Yih0aGlzLm9wdGlvbnMua2V5cyx0aGlzLl9kb2NzLHtnZXRGbjp0aGlzLm9wdGlvbnMuZ2V0Rm4sZmllbGROb3JtV2VpZ2h0OnRoaXMub3B0aW9ucy5maWVsZE5vcm1XZWlnaHR9KX1hZGQoZSl7bChlKSYmKHRoaXMuX2RvY3MucHVzaChlKSx0aGlzLl9teUluZGV4LmFkZChlKSl9cmVtb3ZlKGU9KCgpPT4hMSkpe2NvbnN0IHQ9W107Zm9yKGxldCBpPTAsbj10aGlzLl9kb2NzLmxlbmd0aDtpPG47aSs9MSl7Y29uc3Qgcz10aGlzLl9kb2NzW2ldO2UocyxpKSYmKHRoaXMucmVtb3ZlQXQoaSksaS09MSxuLT0xLHQucHVzaChzKSl9cmV0dXJuIHR9cmVtb3ZlQXQoZSl7dGhpcy5fZG9jcy5zcGxpY2UoZSwxKSx0aGlzLl9teUluZGV4LnJlbW92ZUF0KGUpfWdldEluZGV4KCl7cmV0dXJuIHRoaXMuX215SW5kZXh9c2VhcmNoKGUse2xpbWl0OnQ9LTF9PXt9KXtjb25zdHtpbmNsdWRlTWF0Y2hlczppLGluY2x1ZGVTY29yZTpuLHNob3VsZFNvcnQ6cixzb3J0Rm46YSxpZ25vcmVGaWVsZE5vcm06bH09dGhpcy5vcHRpb25zO2xldCBjPXMoZSk/cyh0aGlzLl9kb2NzWzBdKT90aGlzLl9zZWFyY2hTdHJpbmdMaXN0KGUpOnRoaXMuX3NlYXJjaE9iamVjdExpc3QoZSk6dGhpcy5fc2VhcmNoTG9naWNhbChlKTtyZXR1cm4gZnVuY3Rpb24oZSx7aWdub3JlRmllbGROb3JtOnQ9Zy5pZ25vcmVGaWVsZE5vcm19KXtlLmZvckVhY2goKGU9PntsZXQgaT0xO2UubWF0Y2hlcy5mb3JFYWNoKCgoe2tleTplLG5vcm06bixzY29yZTpzfSk9Pntjb25zdCBvPWU/ZS53ZWlnaHQ6bnVsbDtpKj1NYXRoLnBvdygwPT09cyYmbz9OdW1iZXIuRVBTSUxPTjpzLChvfHwxKSoodD8xOm4pKX0pKSxlLnNjb3JlPWl9KSl9KGMse2lnbm9yZUZpZWxkTm9ybTpsfSksciYmYy5zb3J0KGEpLG8odCkmJnQ+LTEmJihjPWMuc2xpY2UoMCx0KSksZnVuY3Rpb24oZSx0LHtpbmNsdWRlTWF0Y2hlczppPWcuaW5jbHVkZU1hdGNoZXMsaW5jbHVkZVNjb3JlOm49Zy5pbmNsdWRlU2NvcmV9PXt9KXtjb25zdCBzPVtdO3JldHVybiBpJiZzLnB1c2gocSksbiYmcy5wdXNoKFUpLGUubWFwKChlPT57Y29uc3R7aWR4Oml9PWUsbj17aXRlbTp0W2ldLHJlZkluZGV4Oml9O3JldHVybiBzLmxlbmd0aCYmcy5mb3JFYWNoKCh0PT57dChlLG4pfSkpLG59KSl9KGMsdGhpcy5fZG9jcyx7aW5jbHVkZU1hdGNoZXM6aSxpbmNsdWRlU2NvcmU6bn0pfV9zZWFyY2hTdHJpbmdMaXN0KGUpe2NvbnN0IHQ9RChlLHRoaXMub3B0aW9ucykse3JlY29yZHM6aX09dGhpcy5fbXlJbmRleCxuPVtdO3JldHVybiBpLmZvckVhY2goKCh7djplLGk6aSxuOnN9KT0+e2lmKCFsKGUpKXJldHVybjtjb25zdHtpc01hdGNoOm8sc2NvcmU6cixpbmRpY2VzOmF9PXQuc2VhcmNoSW4oZSk7byYmbi5wdXNoKHtpdGVtOmUsaWR4OmksbWF0Y2hlczpbe3Njb3JlOnIsdmFsdWU6ZSxub3JtOnMsaW5kaWNlczphfV19KX0pKSxufV9zZWFyY2hMb2dpY2FsKGUpe2NvbnN0IHQ9QihlLHRoaXMub3B0aW9ucyksaT0oZSx0LG4pPT57aWYoIWUuY2hpbGRyZW4pe2NvbnN0e2tleUlkOmksc2VhcmNoZXI6c309ZSxvPXRoaXMuX2ZpbmRNYXRjaGVzKHtrZXk6dGhpcy5fa2V5U3RvcmUuZ2V0KGkpLHZhbHVlOnRoaXMuX215SW5kZXguZ2V0VmFsdWVGb3JJdGVtQXRLZXlJZCh0LGkpLHNlYXJjaGVyOnN9KTtyZXR1cm4gbyYmby5sZW5ndGg/W3tpZHg6bixpdGVtOnQsbWF0Y2hlczpvfV06W119Y29uc3Qgcz1bXTtmb3IobGV0IG89MCxyPWUuY2hpbGRyZW4ubGVuZ3RoO288cjtvKz0xKXtjb25zdCByPWUuY2hpbGRyZW5bb10sYT1pKHIsdCxuKTtpZihhLmxlbmd0aClzLnB1c2goLi4uYSk7ZWxzZSBpZihlLm9wZXJhdG9yPT09ailyZXR1cm5bXX1yZXR1cm4gc30sbj10aGlzLl9teUluZGV4LnJlY29yZHMscz17fSxvPVtdO3JldHVybiBuLmZvckVhY2goKCh7JDplLGk6bn0pPT57aWYobChlKSl7bGV0IHI9aSh0LGUsbik7ci5sZW5ndGgmJihzW25dfHwoc1tuXT17aWR4Om4saXRlbTplLG1hdGNoZXM6W119LG8ucHVzaChzW25dKSksci5mb3JFYWNoKCgoe21hdGNoZXM6ZX0pPT57c1tuXS5tYXRjaGVzLnB1c2goLi4uZSl9KSkpfX0pKSxvfV9zZWFyY2hPYmplY3RMaXN0KGUpe2NvbnN0IHQ9RChlLHRoaXMub3B0aW9ucykse2tleXM6aSxyZWNvcmRzOm59PXRoaXMuX215SW5kZXgscz1bXTtyZXR1cm4gbi5mb3JFYWNoKCgoeyQ6ZSxpOm59KT0+e2lmKCFsKGUpKXJldHVybjtsZXQgbz1bXTtpLmZvckVhY2goKChpLG4pPT57by5wdXNoKC4uLnRoaXMuX2ZpbmRNYXRjaGVzKHtrZXk6aSx2YWx1ZTplW25dLHNlYXJjaGVyOnR9KSl9KSksby5sZW5ndGgmJnMucHVzaCh7aWR4Om4saXRlbTplLG1hdGNoZXM6b30pfSkpLHN9X2ZpbmRNYXRjaGVzKHtrZXk6ZSx2YWx1ZTp0LHNlYXJjaGVyOml9KXtpZighbCh0KSlyZXR1cm5bXTtsZXQgcz1bXTtpZihuKHQpKXQuZm9yRWFjaCgoKHt2OnQsaTpuLG46b30pPT57aWYoIWwodCkpcmV0dXJuO2NvbnN0e2lzTWF0Y2g6cixzY29yZTphLGluZGljZXM6Y309aS5zZWFyY2hJbih0KTtyJiZzLnB1c2goe3Njb3JlOmEsa2V5OmUsdmFsdWU6dCxpZHg6bixub3JtOm8saW5kaWNlczpjfSl9KSk7ZWxzZXtjb25zdHt2Om4sbjpvfT10LHtpc01hdGNoOnIsc2NvcmU6YSxpbmRpY2VzOmx9PWkuc2VhcmNoSW4obik7ciYmcy5wdXNoKHtzY29yZTphLGtleTplLHZhbHVlOm4sbm9ybTpvLGluZGljZXM6bH0pfXJldHVybiBzfX1HLnZlcnNpb249IjYuNS4zIixHLmNyZWF0ZUluZGV4PWIsRy5wYXJzZUluZGV4PWZ1bmN0aW9uKGUse2dldEZuOnQ9Zy5nZXRGbixmaWVsZE5vcm1XZWlnaHQ6aT1nLmZpZWxkTm9ybVdlaWdodH09e30pe2NvbnN0e2tleXM6bixyZWNvcmRzOnN9PWUsbz1uZXcgdih7Z2V0Rm46dCxmaWVsZE5vcm1XZWlnaHQ6aX0pO3JldHVybiBvLnNldEtleXMobiksby5zZXRJbmRleFJlY29yZHMocyksb30sRy5jb25maWc9ZyxHLnBhcnNlUXVlcnk9QixmdW5jdGlvbiguLi5lKXtNLnB1c2goLi4uZSl9KE4pfSw4NTc6ZnVuY3Rpb24oZSx0LGkpe2Z1bmN0aW9uIG4oZSx0LGkpe3JldHVybiB0IGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6aSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09aSxlfWZ1bmN0aW9uIHMoZSx0KXt2YXIgaT1PYmplY3Qua2V5cyhlKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO3QmJihuPW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSkpLGkucHVzaC5hcHBseShpLG4pfXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIGk9bnVsbCE9YXJndW1lbnRzW3RdP2FyZ3VtZW50c1t0XTp7fTt0JTI/cyhPYmplY3QoaSksITApLmZvckVhY2goKGZ1bmN0aW9uKHQpe24oZSx0LGlbdF0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoaSkpOnMoT2JqZWN0KGkpKS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaSx0KSl9KSl9cmV0dXJuIGV9ZnVuY3Rpb24gcihlKXtyZXR1cm4iTWluaWZpZWQgUmVkdXggZXJyb3IgIyIrZSsiOyB2aXNpdCBodHRwczovL3JlZHV4LmpzLm9yZy9FcnJvcnM/Y29kZT0iK2UrIiBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzLiAifWkucih0KSxpLmQodCx7X19ET19OT1RfVVNFX19BY3Rpb25UeXBlczpmdW5jdGlvbigpe3JldHVybiBjfSxhcHBseU1pZGRsZXdhcmU6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sYmluZEFjdGlvbkNyZWF0b3JzOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LGNvbWJpbmVSZWR1Y2VyczpmdW5jdGlvbigpe3JldHVybiBkfSxjb21wb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGNyZWF0ZVN0b3JlOmZ1bmN0aW9uKCl7cmV0dXJuIGh9fSk7dmFyIGE9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUiLGw9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIil9LGM9e0lOSVQ6IkBAcmVkdXgvSU5JVCIrbCgpLFJFUExBQ0U6IkBAcmVkdXgvUkVQTEFDRSIrbCgpLFBST0JFX1VOS05PV05fQUNUSU9OOmZ1bmN0aW9uKCl7cmV0dXJuIkBAcmVkdXgvUFJPQkVfVU5LTk9XTl9BQ1RJT04iK2woKX19O2Z1bmN0aW9uIHUoZSl7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHxudWxsPT09ZSlyZXR1cm4hMTtmb3IodmFyIHQ9ZTtudWxsIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpOyl0PU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09dH1mdW5jdGlvbiBoKGUsdCxpKXt2YXIgbjtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCYmImZ1bmN0aW9uIj09dHlwZW9mIGl8fCJmdW5jdGlvbiI9PXR5cGVvZiBpJiYiZnVuY3Rpb24iPT10eXBlb2YgYXJndW1lbnRzWzNdKXRocm93IG5ldyBFcnJvcihyKDApKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCYmdm9pZCAwPT09aSYmKGk9dCx0PXZvaWQgMCksdm9pZCAwIT09aSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGkpdGhyb3cgbmV3IEVycm9yKHIoMSkpO3JldHVybiBpKGgpKGUsdCl9aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKHIoMikpO3ZhciBzPWUsbz10LGw9W10sZD1sLHA9ITE7ZnVuY3Rpb24gZigpe2Q9PT1sJiYoZD1sLnNsaWNlKCkpfWZ1bmN0aW9uIG0oKXtpZihwKXRocm93IG5ldyBFcnJvcihyKDMpKTtyZXR1cm4gb31mdW5jdGlvbiBnKGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcihyKDQpKTtpZihwKXRocm93IG5ldyBFcnJvcihyKDUpKTt2YXIgdD0hMDtyZXR1cm4gZigpLGQucHVzaChlKSxmdW5jdGlvbigpe2lmKHQpe2lmKHApdGhyb3cgbmV3IEVycm9yKHIoNikpO3Q9ITEsZigpO3ZhciBpPWQuaW5kZXhPZihlKTtkLnNwbGljZShpLDEpLGw9bnVsbH19fWZ1bmN0aW9uIHkoZSl7aWYoIXUoZSkpdGhyb3cgbmV3IEVycm9yKHIoNykpO2lmKHZvaWQgMD09PWUudHlwZSl0aHJvdyBuZXcgRXJyb3Iocig4KSk7aWYocCl0aHJvdyBuZXcgRXJyb3Iocig5KSk7dHJ5e3A9ITAsbz1zKG8sZSl9ZmluYWxseXtwPSExfWZvcih2YXIgdD1sPWQsaT0wO2k8dC5sZW5ndGg7aSsrKSgwLHRbaV0pKCk7cmV0dXJuIGV9ZnVuY3Rpb24gdihlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IocigxMCkpO3M9ZSx5KHt0eXBlOmMuUkVQTEFDRX0pfWZ1bmN0aW9uIGIoKXt2YXIgZSx0PWc7cmV0dXJuKGU9e3N1YnNjcmliZTpmdW5jdGlvbihlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lKXRocm93IG5ldyBFcnJvcihyKDExKSk7ZnVuY3Rpb24gaSgpe2UubmV4dCYmZS5uZXh0KG0oKSl9cmV0dXJuIGkoKSx7dW5zdWJzY3JpYmU6dChpKX19fSlbYV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZX1yZXR1cm4geSh7dHlwZTpjLklOSVR9KSwobj17ZGlzcGF0Y2g6eSxzdWJzY3JpYmU6ZyxnZXRTdGF0ZTptLHJlcGxhY2VSZWR1Y2VyOnZ9KVthXT1iLG59ZnVuY3Rpb24gZChlKXtmb3IodmFyIHQ9T2JqZWN0LmtleXMoZSksaT17fSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBzPXRbbl07ImZ1bmN0aW9uIj09dHlwZW9mIGVbc10mJihpW3NdPWVbc10pfXZhciBvLGE9T2JqZWN0LmtleXMoaSk7dHJ5eyFmdW5jdGlvbihlKXtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgaT1lW3RdO2lmKHZvaWQgMD09PWkodm9pZCAwLHt0eXBlOmMuSU5JVH0pKXRocm93IG5ldyBFcnJvcihyKDEyKSk7aWYodm9pZCAwPT09aSh2b2lkIDAse3R5cGU6Yy5QUk9CRV9VTktOT1dOX0FDVElPTigpfSkpdGhyb3cgbmV3IEVycm9yKHIoMTMpKX0pKX0oaSl9Y2F0Y2goZSl7bz1lfXJldHVybiBmdW5jdGlvbihlLHQpe2lmKHZvaWQgMD09PWUmJihlPXt9KSxvKXRocm93IG87Zm9yKHZhciBuPSExLHM9e30sbD0wO2w8YS5sZW5ndGg7bCsrKXt2YXIgYz1hW2xdLHU9aVtjXSxoPWVbY10sZD11KGgsdCk7aWYodm9pZCAwPT09ZCl0aHJvdyB0JiZ0LnR5cGUsbmV3IEVycm9yKHIoMTQpKTtzW2NdPWQsbj1ufHxkIT09aH1yZXR1cm4obj1ufHxhLmxlbmd0aCE9PU9iamVjdC5rZXlzKGUpLmxlbmd0aCk/czplfX1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQoZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfX1mdW5jdGlvbiBmKGUsdCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUpcmV0dXJuIHAoZSx0KTtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lKXRocm93IG5ldyBFcnJvcihyKDE2KSk7dmFyIGk9e307Zm9yKHZhciBuIGluIGUpe3ZhciBzPWVbbl07ImZ1bmN0aW9uIj09dHlwZW9mIHMmJihpW25dPXAocyx0KSl9cmV0dXJuIGl9ZnVuY3Rpb24gbSgpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHQ9bmV3IEFycmF5KGUpLGk9MDtpPGU7aSsrKXRbaV09YXJndW1lbnRzW2ldO3JldHVybiAwPT09dC5sZW5ndGg/ZnVuY3Rpb24oZSl7cmV0dXJuIGV9OjE9PT10Lmxlbmd0aD90WzBdOnQucmVkdWNlKChmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlKHQuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfX0pKX1mdW5jdGlvbiBnKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSksaT0wO2k8ZTtpKyspdFtpXT1hcmd1bWVudHNbaV07cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBpPWUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyksbj1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihyKDE1KSl9LHM9e2dldFN0YXRlOmkuZ2V0U3RhdGUsZGlzcGF0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19LGE9dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlKHMpfSkpO3JldHVybiBuPW0uYXBwbHkodm9pZCAwLGEpKGkuZGlzcGF0Y2gpLG8obyh7fSxpKSx7fSx7ZGlzcGF0Y2g6bn0pfX19fX0sdD17fTtmdW5jdGlvbiBpKG4pe3ZhciBzPXRbbl07aWYodm9pZCAwIT09cylyZXR1cm4gcy5leHBvcnRzO3ZhciBvPXRbbl09e2V4cG9ydHM6e319O3JldHVybiBlW25dLmNhbGwoby5leHBvcnRzLG8sby5leHBvcnRzLGkpLG8uZXhwb3J0c31pLm49ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIGUuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gZX07cmV0dXJuIGkuZCh0LHthOnR9KSx0fSxpLmQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4gaW4gdClpLm8odCxuKSYmIWkubyhlLG4pJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOiEwLGdldDp0W25dfSl9LGkubz1mdW5jdGlvbihlLHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KX0saS5yPWZ1bmN0aW9uKGUpeyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9O3ZhciBuLHMsbz17fTtyZXR1cm4gbj1pKDM3Mykscz1pLm4obiksaSgxODcpLGkoODgzKSxpKDc4OSksaSg2ODYpLG8uZGVmYXVsdD1zKCksbz1vLmRlZmF1bHR9KCl9LGUuZXhwb3J0cz10KCl9LDgyNzM6ZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7STpmdW5jdGlvbigpe3JldHVybiBzfX0pO3ZhciBuPWZ1bmN0aW9uKCl7cmV0dXJuKG49T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LGk9MSxuPWFyZ3VtZW50cy5sZW5ndGg7aTxuO2krKylmb3IodmFyIHMgaW4gdD1hcmd1bWVudHNbaV0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscykmJihlW3NdPXRbc10pO3JldHVybiBlfSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsaSl7dmFyIHM9dGhpczt0aGlzLnRhcmdldD1lLHRoaXMuZW5kVmFsPXQsdGhpcy5vcHRpb25zPWksdGhpcy52ZXJzaW9uPSIyLjAuOCIsdGhpcy5kZWZhdWx0cz17c3RhcnRWYWw6MCxkZWNpbWFsUGxhY2VzOjAsZHVyYXRpb246Mix1c2VFYXNpbmc6ITAsdXNlR3JvdXBpbmc6ITAsc21hcnRFYXNpbmdUaHJlc2hvbGQ6OTk5LHNtYXJ0RWFzaW5nQW1vdW50OjMzMyxzZXBhcmF0b3I6IiwiLGRlY2ltYWw6Ii4iLHByZWZpeDoiIixzdWZmaXg6IiJ9LHRoaXMuZmluYWxFbmRWYWw9bnVsbCx0aGlzLnVzZUVhc2luZz0hMCx0aGlzLmNvdW50RG93bj0hMSx0aGlzLmVycm9yPSIiLHRoaXMuc3RhcnRWYWw9MCx0aGlzLnBhdXNlZD0hMCx0aGlzLmNvdW50PWZ1bmN0aW9uKGUpe3Muc3RhcnRUaW1lfHwocy5zdGFydFRpbWU9ZSk7dmFyIHQ9ZS1zLnN0YXJ0VGltZTtzLnJlbWFpbmluZz1zLmR1cmF0aW9uLXQscy51c2VFYXNpbmc/cy5jb3VudERvd24/cy5mcmFtZVZhbD1zLnN0YXJ0VmFsLXMuZWFzaW5nRm4odCwwLHMuc3RhcnRWYWwtcy5lbmRWYWwscy5kdXJhdGlvbik6cy5mcmFtZVZhbD1zLmVhc2luZ0ZuKHQscy5zdGFydFZhbCxzLmVuZFZhbC1zLnN0YXJ0VmFsLHMuZHVyYXRpb24pOnMuY291bnREb3duP3MuZnJhbWVWYWw9cy5zdGFydFZhbC0ocy5zdGFydFZhbC1zLmVuZFZhbCkqKHQvcy5kdXJhdGlvbik6cy5mcmFtZVZhbD1zLnN0YXJ0VmFsKyhzLmVuZFZhbC1zLnN0YXJ0VmFsKSoodC9zLmR1cmF0aW9uKSxzLmNvdW50RG93bj9zLmZyYW1lVmFsPXMuZnJhbWVWYWw8cy5lbmRWYWw/cy5lbmRWYWw6cy5mcmFtZVZhbDpzLmZyYW1lVmFsPXMuZnJhbWVWYWw+cy5lbmRWYWw/cy5lbmRWYWw6cy5mcmFtZVZhbCxzLmZyYW1lVmFsPU51bWJlcihzLmZyYW1lVmFsLnRvRml4ZWQocy5vcHRpb25zLmRlY2ltYWxQbGFjZXMpKSxzLnByaW50VmFsdWUocy5mcmFtZVZhbCksdDxzLmR1cmF0aW9uP3MuckFGPXJlcXVlc3RBbmltYXRpb25GcmFtZShzLmNvdW50KTpudWxsIT09cy5maW5hbEVuZFZhbD9zLnVwZGF0ZShzLmZpbmFsRW5kVmFsKTpzLmNhbGxiYWNrJiZzLmNhbGxiYWNrKCl9LHRoaXMuZm9ybWF0TnVtYmVyPWZ1bmN0aW9uKGUpe3ZhciB0LGksbixvLHI9ZTwwPyItIjoiIjt0PU1hdGguYWJzKGUpLnRvRml4ZWQocy5vcHRpb25zLmRlY2ltYWxQbGFjZXMpO3ZhciBhPSh0Kz0iIikuc3BsaXQoIi4iKTtpZihpPWFbMF0sbj1hLmxlbmd0aD4xP3Mub3B0aW9ucy5kZWNpbWFsK2FbMV06IiIscy5vcHRpb25zLnVzZUdyb3VwaW5nKXtvPSIiO2Zvcih2YXIgbD0wLGM9aS5sZW5ndGg7bDxjOysrbCkwIT09bCYmbCUzPT0wJiYobz1zLm9wdGlvbnMuc2VwYXJhdG9yK28pLG89aVtjLWwtMV0rbztpPW99cmV0dXJuIHMub3B0aW9ucy5udW1lcmFscyYmcy5vcHRpb25zLm51bWVyYWxzLmxlbmd0aCYmKGk9aS5yZXBsYWNlKC9bMC05XS9nLChmdW5jdGlvbihlKXtyZXR1cm4gcy5vcHRpb25zLm51bWVyYWxzWytlXX0pKSxuPW4ucmVwbGFjZSgvWzAtOV0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHMub3B0aW9ucy5udW1lcmFsc1srZV19KSkpLHIrcy5vcHRpb25zLnByZWZpeCtpK24rcy5vcHRpb25zLnN1ZmZpeH0sdGhpcy5lYXNlT3V0RXhwbz1mdW5jdGlvbihlLHQsaSxuKXtyZXR1cm4gaSooMS1NYXRoLnBvdygyLC0xMCplL24pKSoxMDI0LzEwMjMrdH0sdGhpcy5vcHRpb25zPW4obih7fSx0aGlzLmRlZmF1bHRzKSxpKSx0aGlzLmZvcm1hdHRpbmdGbj10aGlzLm9wdGlvbnMuZm9ybWF0dGluZ0ZuP3RoaXMub3B0aW9ucy5mb3JtYXR0aW5nRm46dGhpcy5mb3JtYXROdW1iZXIsdGhpcy5lYXNpbmdGbj10aGlzLm9wdGlvbnMuZWFzaW5nRm4/dGhpcy5vcHRpb25zLmVhc2luZ0ZuOnRoaXMuZWFzZU91dEV4cG8sdGhpcy5zdGFydFZhbD10aGlzLnZhbGlkYXRlVmFsdWUodGhpcy5vcHRpb25zLnN0YXJ0VmFsKSx0aGlzLmZyYW1lVmFsPXRoaXMuc3RhcnRWYWwsdGhpcy5lbmRWYWw9dGhpcy52YWxpZGF0ZVZhbHVlKHQpLHRoaXMub3B0aW9ucy5kZWNpbWFsUGxhY2VzPU1hdGgubWF4KHRoaXMub3B0aW9ucy5kZWNpbWFsUGxhY2VzKSx0aGlzLnJlc2V0RHVyYXRpb24oKSx0aGlzLm9wdGlvbnMuc2VwYXJhdG9yPVN0cmluZyh0aGlzLm9wdGlvbnMuc2VwYXJhdG9yKSx0aGlzLnVzZUVhc2luZz10aGlzLm9wdGlvbnMudXNlRWFzaW5nLCIiPT09dGhpcy5vcHRpb25zLnNlcGFyYXRvciYmKHRoaXMub3B0aW9ucy51c2VHcm91cGluZz0hMSksdGhpcy5lbD0ic3RyaW5nIj09dHlwZW9mIGU/ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZSk6ZSx0aGlzLmVsP3RoaXMucHJpbnRWYWx1ZSh0aGlzLnN0YXJ0VmFsKTp0aGlzLmVycm9yPSJbQ291bnRVcF0gdGFyZ2V0IGlzIG51bGwgb3IgdW5kZWZpbmVkIn1yZXR1cm4gZS5wcm90b3R5cGUuZGV0ZXJtaW5lRGlyZWN0aW9uQW5kU21hcnRFYXNpbmc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmZpbmFsRW5kVmFsP3RoaXMuZmluYWxFbmRWYWw6dGhpcy5lbmRWYWw7dGhpcy5jb3VudERvd249dGhpcy5zdGFydFZhbD5lO3ZhciB0PWUtdGhpcy5zdGFydFZhbDtpZihNYXRoLmFicyh0KT50aGlzLm9wdGlvbnMuc21hcnRFYXNpbmdUaHJlc2hvbGQpe3RoaXMuZmluYWxFbmRWYWw9ZTt2YXIgaT10aGlzLmNvdW50RG93bj8xOi0xO3RoaXMuZW5kVmFsPWUraSp0aGlzLm9wdGlvbnMuc21hcnRFYXNpbmdBbW91bnQsdGhpcy5kdXJhdGlvbj10aGlzLmR1cmF0aW9uLzJ9ZWxzZSB0aGlzLmVuZFZhbD1lLHRoaXMuZmluYWxFbmRWYWw9bnVsbDt0aGlzLmZpbmFsRW5kVmFsP3RoaXMudXNlRWFzaW5nPSExOnRoaXMudXNlRWFzaW5nPXRoaXMub3B0aW9ucy51c2VFYXNpbmd9LGUucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKGUpe3RoaXMuZXJyb3J8fCh0aGlzLmNhbGxiYWNrPWUsdGhpcy5kdXJhdGlvbj4wPyh0aGlzLmRldGVybWluZURpcmVjdGlvbkFuZFNtYXJ0RWFzaW5nKCksdGhpcy5wYXVzZWQ9ITEsdGhpcy5yQUY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuY291bnQpKTp0aGlzLnByaW50VmFsdWUodGhpcy5lbmRWYWwpKX0sZS5wcm90b3R5cGUucGF1c2VSZXN1bWU9ZnVuY3Rpb24oKXt0aGlzLnBhdXNlZD8odGhpcy5zdGFydFRpbWU9bnVsbCx0aGlzLmR1cmF0aW9uPXRoaXMucmVtYWluaW5nLHRoaXMuc3RhcnRWYWw9dGhpcy5mcmFtZVZhbCx0aGlzLmRldGVybWluZURpcmVjdGlvbkFuZFNtYXJ0RWFzaW5nKCksdGhpcy5yQUY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuY291bnQpKTpjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnJBRiksdGhpcy5wYXVzZWQ9IXRoaXMucGF1c2VkfSxlLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2NhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuckFGKSx0aGlzLnBhdXNlZD0hMCx0aGlzLnJlc2V0RHVyYXRpb24oKSx0aGlzLnN0YXJ0VmFsPXRoaXMudmFsaWRhdGVWYWx1ZSh0aGlzLm9wdGlvbnMuc3RhcnRWYWwpLHRoaXMuZnJhbWVWYWw9dGhpcy5zdGFydFZhbCx0aGlzLnByaW50VmFsdWUodGhpcy5zdGFydFZhbCl9LGUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihlKXtjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnJBRiksdGhpcy5zdGFydFRpbWU9bnVsbCx0aGlzLmVuZFZhbD10aGlzLnZhbGlkYXRlVmFsdWUoZSksdGhpcy5lbmRWYWwhPT10aGlzLmZyYW1lVmFsJiYodGhpcy5zdGFydFZhbD10aGlzLmZyYW1lVmFsLHRoaXMuZmluYWxFbmRWYWx8fHRoaXMucmVzZXREdXJhdGlvbigpLHRoaXMuZmluYWxFbmRWYWw9bnVsbCx0aGlzLmRldGVybWluZURpcmVjdGlvbkFuZFNtYXJ0RWFzaW5nKCksdGhpcy5yQUY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuY291bnQpKX0sZS5wcm90b3R5cGUucHJpbnRWYWx1ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLmZvcm1hdHRpbmdGbihlKTsiSU5QVVQiPT09dGhpcy5lbC50YWdOYW1lP3RoaXMuZWwudmFsdWU9dDoidGV4dCI9PT10aGlzLmVsLnRhZ05hbWV8fCJ0c3BhbiI9PT10aGlzLmVsLnRhZ05hbWU/dGhpcy5lbC50ZXh0Q29udGVudD10OnRoaXMuZWwuaW5uZXJIVE1MPXR9LGUucHJvdG90eXBlLmVuc3VyZU51bWJlcj1mdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJiFpc05hTihlKX0sZS5wcm90b3R5cGUudmFsaWRhdGVWYWx1ZT1mdW5jdGlvbihlKXt2YXIgdD1OdW1iZXIoZSk7cmV0dXJuIHRoaXMuZW5zdXJlTnVtYmVyKHQpP3Q6KHRoaXMuZXJyb3I9IltDb3VudFVwXSBpbnZhbGlkIHN0YXJ0IG9yIGVuZCB2YWx1ZTogIitlLG51bGwpfSxlLnByb3RvdHlwZS5yZXNldER1cmF0aW9uPWZ1bmN0aW9uKCl7dGhpcy5zdGFydFRpbWU9bnVsbCx0aGlzLmR1cmF0aW9uPTFlMypOdW1iZXIodGhpcy5vcHRpb25zLmR1cmF0aW9uKSx0aGlzLnJlbWFpbmluZz10aGlzLmR1cmF0aW9ufSxlfSgpfSwyMzY0NTpmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PVtdO3JldHVybiB0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKChmdW5jdGlvbih0KXt2YXIgaT1lKHQpO3JldHVybiB0WzJdPyJAbWVkaWEgIi5jb25jYXQodFsyXSwiIHsiKS5jb25jYXQoaSwifSIpOml9KSkuam9pbigiIil9LHQuaT1mdW5jdGlvbihlLGksbil7InN0cmluZyI9PXR5cGVvZiBlJiYoZT1bW251bGwsZSwiIl1dKTt2YXIgcz17fTtpZihuKWZvcih2YXIgbz0wO288dGhpcy5sZW5ndGg7bysrKXt2YXIgcj10aGlzW29dWzBdO251bGwhPXImJihzW3JdPSEwKX1mb3IodmFyIGE9MDthPGUubGVuZ3RoO2ErKyl7dmFyIGw9W10uY29uY2F0KGVbYV0pO24mJnNbbFswXV18fChpJiYobFsyXT9sWzJdPSIiLmNvbmNhdChpLCIgYW5kICIpLmNvbmNhdChsWzJdKTpsWzJdPWkpLHQucHVzaChsKSl9fSx0fX0sODUxOTc6ZnVuY3Rpb24oZSl7dmFyIHQ7dD1mdW5jdGlvbihlKXsidXNlIHN0cmljdCI7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtbIkFmZ2hhbmlzdGFuICjigKvYp9mB2LrYp9mG2LPYqtin2YbigKzigI4pIiwiYWYiLCI5MyJdLFsiQWxiYW5pYSAoU2hxaXDDq3JpKSIsImFsIiwiMzU1Il0sWyJBbGdlcmlhICjigKvYp9mE2KzYstin2KbYseKArOKAjikiLCJkeiIsIjIxMyJdLFsiQW1lcmljYW4gU2Ftb2EiLCJhcyIsIjEiLDUsWyI2ODQiXV0sWyJBbmRvcnJhIiwiYWQiLCIzNzYiXSxbIkFuZ29sYSIsImFvIiwiMjQ0Il0sWyJBbmd1aWxsYSIsImFpIiwiMSIsNixbIjI2NCJdXSxbIkFudGlndWEgYW5kIEJhcmJ1ZGEiLCJhZyIsIjEiLDcsWyIyNjgiXV0sWyJBcmdlbnRpbmEiLCJhciIsIjU0Il0sWyJBcm1lbmlhICjVgNWh1bXVodW91b/VodW2KSIsImFtIiwiMzc0Il0sWyJBcnViYSIsImF3IiwiMjk3Il0sWyJBc2NlbnNpb24gSXNsYW5kIiwiYWMiLCIyNDciXSxbIkF1c3RyYWxpYSIsImF1IiwiNjEiLDBdLFsiQXVzdHJpYSAow5ZzdGVycmVpY2gpIiwiYXQiLCI0MyJdLFsiQXplcmJhaWphbiAoQXrJmXJiYXljYW4pIiwiYXoiLCI5OTQiXSxbIkJhaGFtYXMiLCJicyIsIjEiLDgsWyIyNDIiXV0sWyJCYWhyYWluICjigKvYp9mE2KjYrdix2YrZhuKArOKAjikiLCJiaCIsIjk3MyJdLFsiQmFuZ2xhZGVzaCAo4Kas4Ka+4KaC4Kay4Ka+4Kam4KeH4Ka2KSIsImJkIiwiODgwIl0sWyJCYXJiYWRvcyIsImJiIiwiMSIsOSxbIjI0NiJdXSxbIkJlbGFydXMgKNCR0LXQu9Cw0YDRg9GB0YwpIiwiYnkiLCIzNzUiXSxbIkJlbGdpdW0gKEJlbGdpw6spIiwiYmUiLCIzMiJdLFsiQmVsaXplIiwiYnoiLCI1MDEiXSxbIkJlbmluIChCw6luaW4pIiwiYmoiLCIyMjkiXSxbIkJlcm11ZGEiLCJibSIsIjEiLDEwLFsiNDQxIl1dLFsiQmh1dGFuICjgvaDgvZbgvrLgvbTgvYIpIiwiYnQiLCI5NzUiXSxbIkJvbGl2aWEiLCJibyIsIjU5MSJdLFsiQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSAo0JHQvtGB0L3QsCDQuCDQpdC10YDRhtC10LPQvtCy0LjQvdCwKSIsImJhIiwiMzg3Il0sWyJCb3Rzd2FuYSIsImJ3IiwiMjY3Il0sWyJCcmF6aWwgKEJyYXNpbCkiLCJiciIsIjU1Il0sWyJCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkiLCJpbyIsIjI0NiJdLFsiQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyIsInZnIiwiMSIsMTEsWyIyODQiXV0sWyJCcnVuZWkiLCJibiIsIjY3MyJdLFsiQnVsZ2FyaWEgKNCR0YrQu9Cz0LDRgNC40Y8pIiwiYmciLCIzNTkiXSxbIkJ1cmtpbmEgRmFzbyIsImJmIiwiMjI2Il0sWyJCdXJ1bmRpIChVYnVydW5kaSkiLCJiaSIsIjI1NyJdLFsiQ2FtYm9kaWEgKOGegOGemOGfkuGeluGeu+Geh+GetikiLCJraCIsIjg1NSJdLFsiQ2FtZXJvb24gKENhbWVyb3VuKSIsImNtIiwiMjM3Il0sWyJDYW5hZGEiLCJjYSIsIjEiLDEsWyIyMDQiLCIyMjYiLCIyMzYiLCIyNDkiLCIyNTAiLCIyODkiLCIzMDYiLCIzNDMiLCIzNjUiLCIzODciLCI0MDMiLCI0MTYiLCI0MTgiLCI0MzEiLCI0MzciLCI0MzgiLCI0NTAiLCI1MDYiLCI1MTQiLCI1MTkiLCI1NDgiLCI1NzkiLCI1ODEiLCI1ODciLCI2MDQiLCI2MTMiLCI2MzkiLCI2NDciLCI2NzIiLCI3MDUiLCI3MDkiLCI3NDIiLCI3NzgiLCI3ODAiLCI3ODIiLCI4MDciLCI4MTkiLCI4MjUiLCI4NjciLCI4NzMiLCI5MDIiLCI5MDUiXV0sWyJDYXBlIFZlcmRlIChLYWJ1IFZlcmRpKSIsImN2IiwiMjM4Il0sWyJDYXJpYmJlYW4gTmV0aGVybGFuZHMiLCJicSIsIjU5OSIsMSxbIjMiLCI0IiwiNyJdXSxbIkNheW1hbiBJc2xhbmRzIiwia3kiLCIxIiwxMixbIjM0NSJdXSxbIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyAoUsOpcHVibGlxdWUgY2VudHJhZnJpY2FpbmUpIiwiY2YiLCIyMzYiXSxbIkNoYWQgKFRjaGFkKSIsInRkIiwiMjM1Il0sWyJDaGlsZSIsImNsIiwiNTYiXSxbIkNoaW5hICjkuK3lm70pIiwiY24iLCI4NiJdLFsiQ2hyaXN0bWFzIElzbGFuZCIsImN4IiwiNjEiLDIsWyI4OTE2NCJdXSxbIkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiwiY2MiLCI2MSIsMSxbIjg5MTYyIl1dLFsiQ29sb21iaWEiLCJjbyIsIjU3Il0sWyJDb21vcm9zICjigKvYrNiy2LEg2KfZhNmC2YXYseKArOKAjikiLCJrbSIsIjI2OSJdLFsiQ29uZ28gKERSQykgKEphbWh1cmkgeWEgS2lkZW1va3Jhc2lhIHlhIEtvbmdvKSIsImNkIiwiMjQzIl0sWyJDb25nbyAoUmVwdWJsaWMpIChDb25nby1CcmF6emF2aWxsZSkiLCJjZyIsIjI0MiJdLFsiQ29vayBJc2xhbmRzIiwiY2siLCI2ODIiXSxbIkNvc3RhIFJpY2EiLCJjciIsIjUwNiJdLFsiQ8O0dGUgZOKAmUl2b2lyZSIsImNpIiwiMjI1Il0sWyJDcm9hdGlhIChIcnZhdHNrYSkiLCJociIsIjM4NSJdLFsiQ3ViYSIsImN1IiwiNTMiXSxbIkN1cmHDp2FvIiwiY3ciLCI1OTkiLDBdLFsiQ3lwcnVzICjOms+Nz4DPgc6/z4IpIiwiY3kiLCIzNTciXSxbIkN6ZWNoIFJlcHVibGljICjEjGVza8OhIHJlcHVibGlrYSkiLCJjeiIsIjQyMCJdLFsiRGVubWFyayAoRGFubWFyaykiLCJkayIsIjQ1Il0sWyJEamlib3V0aSIsImRqIiwiMjUzIl0sWyJEb21pbmljYSIsImRtIiwiMSIsMTMsWyI3NjciXV0sWyJEb21pbmljYW4gUmVwdWJsaWMgKFJlcMO6YmxpY2EgRG9taW5pY2FuYSkiLCJkbyIsIjEiLDIsWyI4MDkiLCI4MjkiLCI4NDkiXV0sWyJFY3VhZG9yIiwiZWMiLCI1OTMiXSxbIkVneXB0ICjigKvZhdi12LHigKzigI4pIiwiZWciLCIyMCJdLFsiRWwgU2FsdmFkb3IiLCJzdiIsIjUwMyJdLFsiRXF1YXRvcmlhbCBHdWluZWEgKEd1aW5lYSBFY3VhdG9yaWFsKSIsImdxIiwiMjQwIl0sWyJFcml0cmVhIiwiZXIiLCIyOTEiXSxbIkVzdG9uaWEgKEVlc3RpKSIsImVlIiwiMzcyIl0sWyJFc3dhdGluaSIsInN6IiwiMjY4Il0sWyJFdGhpb3BpYSIsImV0IiwiMjUxIl0sWyJGYWxrbGFuZCBJc2xhbmRzIChJc2xhcyBNYWx2aW5hcykiLCJmayIsIjUwMCJdLFsiRmFyb2UgSXNsYW5kcyAoRsO4cm95YXIpIiwiZm8iLCIyOTgiXSxbIkZpamkiLCJmaiIsIjY3OSJdLFsiRmlubGFuZCAoU3VvbWkpIiwiZmkiLCIzNTgiLDBdLFsiRnJhbmNlIiwiZnIiLCIzMyJdLFsiRnJlbmNoIEd1aWFuYSAoR3V5YW5lIGZyYW7Dp2Fpc2UpIiwiZ2YiLCI1OTQiXSxbIkZyZW5jaCBQb2x5bmVzaWEgKFBvbHluw6lzaWUgZnJhbsOnYWlzZSkiLCJwZiIsIjY4OSJdLFsiR2Fib24iLCJnYSIsIjI0MSJdLFsiR2FtYmlhIiwiZ20iLCIyMjAiXSxbIkdlb3JnaWEgKOGDoeGDkOGDpeGDkOGDoOGDl+GDleGDlOGDmuGDnSkiLCJnZSIsIjk5NSJdLFsiR2VybWFueSAoRGV1dHNjaGxhbmQpIiwiZGUiLCI0OSJdLFsiR2hhbmEgKEdhYW5hKSIsImdoIiwiMjMzIl0sWyJHaWJyYWx0YXIiLCJnaSIsIjM1MCJdLFsiR3JlZWNlICjOlc67zrvOrM60zrEpIiwiZ3IiLCIzMCJdLFsiR3JlZW5sYW5kIChLYWxhYWxsaXQgTnVuYWF0KSIsImdsIiwiMjk5Il0sWyJHcmVuYWRhIiwiZ2QiLCIxIiwxNCxbIjQ3MyJdXSxbIkd1YWRlbG91cGUiLCJncCIsIjU5MCIsMF0sWyJHdWFtIiwiZ3UiLCIxIiwxNSxbIjY3MSJdXSxbIkd1YXRlbWFsYSIsImd0IiwiNTAyIl0sWyJHdWVybnNleSIsImdnIiwiNDQiLDEsWyIxNDgxIiwiNzc4MSIsIjc4MzkiLCI3OTExIl1dLFsiR3VpbmVhIChHdWluw6llKSIsImduIiwiMjI0Il0sWyJHdWluZWEtQmlzc2F1IChHdWluw6kgQmlzc2F1KSIsImd3IiwiMjQ1Il0sWyJHdXlhbmEiLCJneSIsIjU5MiJdLFsiSGFpdGkiLCJodCIsIjUwOSJdLFsiSG9uZHVyYXMiLCJobiIsIjUwNCJdLFsiSG9uZyBLb25nICjpppnmuK8pIiwiaGsiLCI4NTIiXSxbIkh1bmdhcnkgKE1hZ3lhcm9yc3rDoWcpIiwiaHUiLCIzNiJdLFsiSWNlbGFuZCAow41zbGFuZCkiLCJpcyIsIjM1NCJdLFsiSW5kaWEgKOCkreCkvuCksOCkpCkiLCJpbiIsIjkxIl0sWyJJbmRvbmVzaWEiLCJpZCIsIjYyIl0sWyJJcmFuICjigKvYp9uM2LHYp9mG4oCs4oCOKSIsImlyIiwiOTgiXSxbIklyYXEgKOKAq9in2YTYudix2KfZguKArOKAjikiLCJpcSIsIjk2NCJdLFsiSXJlbGFuZCIsImllIiwiMzUzIl0sWyJJc2xlIG9mIE1hbiIsImltIiwiNDQiLDIsWyIxNjI0IiwiNzQ1NzYiLCI3NTI0IiwiNzkyNCIsIjc2MjQiXV0sWyJJc3JhZWwgKOKAq9eZ16nXqNeQ15zigKzigI4pIiwiaWwiLCI5NzIiXSxbIkl0YWx5IChJdGFsaWEpIiwiaXQiLCIzOSIsMF0sWyJKYW1haWNhIiwiam0iLCIxIiw0LFsiODc2IiwiNjU4Il1dLFsiSmFwYW4gKOaXpeacrCkiLCJqcCIsIjgxIl0sWyJKZXJzZXkiLCJqZSIsIjQ0IiwzLFsiMTUzNCIsIjc1MDkiLCI3NzAwIiwiNzc5NyIsIjc4MjkiLCI3OTM3Il1dLFsiSm9yZGFuICjigKvYp9mE2KPYsdiv2YbigKzigI4pIiwiam8iLCI5NjIiXSxbIkthemFraHN0YW4gKNCa0LDQt9Cw0YXRgdGC0LDQvSkiLCJreiIsIjciLDEsWyIzMyIsIjciXV0sWyJLZW55YSIsImtlIiwiMjU0Il0sWyJLaXJpYmF0aSIsImtpIiwiNjg2Il0sWyJLb3Nvdm8iLCJ4ayIsIjM4MyJdLFsiS3V3YWl0ICjigKvYp9mE2YPZiNmK2KrigKzigI4pIiwia3ciLCI5NjUiXSxbIkt5cmd5enN0YW4gKNCa0YvRgNCz0YvQt9GB0YLQsNC9KSIsImtnIiwiOTk2Il0sWyJMYW9zICjguqXgurLguqcpIiwibGEiLCI4NTYiXSxbIkxhdHZpYSAoTGF0dmlqYSkiLCJsdiIsIjM3MSJdLFsiTGViYW5vbiAo4oCr2YTYqNmG2KfZhuKArOKAjikiLCJsYiIsIjk2MSJdLFsiTGVzb3RobyIsImxzIiwiMjY2Il0sWyJMaWJlcmlhIiwibHIiLCIyMzEiXSxbIkxpYnlhICjigKvZhNmK2KjZitin4oCs4oCOKSIsImx5IiwiMjE4Il0sWyJMaWVjaHRlbnN0ZWluIiwibGkiLCI0MjMiXSxbIkxpdGh1YW5pYSAoTGlldHV2YSkiLCJsdCIsIjM3MCJdLFsiTHV4ZW1ib3VyZyIsImx1IiwiMzUyIl0sWyJNYWNhdSAo5r6z6ZaAKSIsIm1vIiwiODUzIl0sWyJNYWNlZG9uaWEgKEZZUk9NKSAo0JzQsNC60LXQtNC+0L3QuNGY0LApIiwibWsiLCIzODkiXSxbIk1hZGFnYXNjYXIgKE1hZGFnYXNpa2FyYSkiLCJtZyIsIjI2MSJdLFsiTWFsYXdpIiwibXciLCIyNjUiXSxbIk1hbGF5c2lhIiwibXkiLCI2MCJdLFsiTWFsZGl2ZXMiLCJtdiIsIjk2MCJdLFsiTWFsaSIsIm1sIiwiMjIzIl0sWyJNYWx0YSIsIm10IiwiMzU2Il0sWyJNYXJzaGFsbCBJc2xhbmRzIiwibWgiLCI2OTIiXSxbIk1hcnRpbmlxdWUiLCJtcSIsIjU5NiJdLFsiTWF1cml0YW5pYSAo4oCr2YXZiNix2YrYqtin2YbZitin4oCs4oCOKSIsIm1yIiwiMjIyIl0sWyJNYXVyaXRpdXMgKE1vcmlzKSIsIm11IiwiMjMwIl0sWyJNYXlvdHRlIiwieXQiLCIyNjIiLDEsWyIyNjkiLCI2MzkiXV0sWyJNZXhpY28gKE3DqXhpY28pIiwibXgiLCI1MiJdLFsiTWljcm9uZXNpYSIsImZtIiwiNjkxIl0sWyJNb2xkb3ZhIChSZXB1YmxpY2EgTW9sZG92YSkiLCJtZCIsIjM3MyJdLFsiTW9uYWNvIiwibWMiLCIzNzciXSxbIk1vbmdvbGlhICjQnNC+0L3Qs9C+0LspIiwibW4iLCI5NzYiXSxbIk1vbnRlbmVncm8gKENybmEgR29yYSkiLCJtZSIsIjM4MiJdLFsiTW9udHNlcnJhdCIsIm1zIiwiMSIsMTYsWyI2NjQiXV0sWyJNb3JvY2NvICjigKvYp9mE2YXYutix2KjigKzigI4pIiwibWEiLCIyMTIiLDBdLFsiTW96YW1iaXF1ZSAoTW/Dp2FtYmlxdWUpIiwibXoiLCIyNTgiXSxbIk15YW5tYXIgKEJ1cm1hKSAo4YCZ4YC84YCU4YC64YCZ4YCsKSIsIm1tIiwiOTUiXSxbIk5hbWliaWEgKE5hbWliacOrKSIsIm5hIiwiMjY0Il0sWyJOYXVydSIsIm5yIiwiNjc0Il0sWyJOZXBhbCAo4KSo4KWH4KSq4KS+4KSyKSIsIm5wIiwiOTc3Il0sWyJOZXRoZXJsYW5kcyAoTmVkZXJsYW5kKSIsIm5sIiwiMzEiXSxbIk5ldyBDYWxlZG9uaWEgKE5vdXZlbGxlLUNhbMOpZG9uaWUpIiwibmMiLCI2ODciXSxbIk5ldyBaZWFsYW5kIiwibnoiLCI2NCJdLFsiTmljYXJhZ3VhIiwibmkiLCI1MDUiXSxbIk5pZ2VyIChOaWphcikiLCJuZSIsIjIyNyJdLFsiTmlnZXJpYSIsIm5nIiwiMjM0Il0sWyJOaXVlIiwibnUiLCI2ODMiXSxbIk5vcmZvbGsgSXNsYW5kIiwibmYiLCI2NzIiXSxbIk5vcnRoIEtvcmVhICjsobDshKAg66+87KO87KO87J2YIOyduOuvvCDqs7XtmZTqta0pIiwia3AiLCI4NTAiXSxbIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyIsIm1wIiwiMSIsMTcsWyI2NzAiXV0sWyJOb3J3YXkgKE5vcmdlKSIsIm5vIiwiNDciLDBdLFsiT21hbiAo4oCr2LnZj9mF2KfZhuKArOKAjikiLCJvbSIsIjk2OCJdLFsiUGFraXN0YW4gKOKAq9m+2Kfaqdiz2KrYp9mG4oCs4oCOKSIsInBrIiwiOTIiXSxbIlBhbGF1IiwicHciLCI2ODAiXSxbIlBhbGVzdGluZSAo4oCr2YHZhNiz2LfZitmG4oCs4oCOKSIsInBzIiwiOTcwIl0sWyJQYW5hbWEgKFBhbmFtw6EpIiwicGEiLCI1MDciXSxbIlBhcHVhIE5ldyBHdWluZWEiLCJwZyIsIjY3NSJdLFsiUGFyYWd1YXkiLCJweSIsIjU5NSJdLFsiUGVydSAoUGVyw7opIiwicGUiLCI1MSJdLFsiUGhpbGlwcGluZXMiLCJwaCIsIjYzIl0sWyJQb2xhbmQgKFBvbHNrYSkiLCJwbCIsIjQ4Il0sWyJQb3J0dWdhbCIsInB0IiwiMzUxIl0sWyJQdWVydG8gUmljbyIsInByIiwiMSIsMyxbIjc4NyIsIjkzOSJdXSxbIlFhdGFyICjigKvZgti32LHigKzigI4pIiwicWEiLCI5NzQiXSxbIlLDqXVuaW9uIChMYSBSw6l1bmlvbikiLCJyZSIsIjI2MiIsMF0sWyJSb21hbmlhIChSb23Dom5pYSkiLCJybyIsIjQwIl0sWyJSdXNzaWEgKNCg0L7RgdGB0LjRjykiLCJydSIsIjciLDBdLFsiUndhbmRhIiwicnciLCIyNTAiXSxbIlNhaW50IEJhcnRow6lsZW15IiwiYmwiLCI1OTAiLDFdLFsiU2FpbnQgSGVsZW5hIiwic2giLCIyOTAiXSxbIlNhaW50IEtpdHRzIGFuZCBOZXZpcyIsImtuIiwiMSIsMTgsWyI4NjkiXV0sWyJTYWludCBMdWNpYSIsImxjIiwiMSIsMTksWyI3NTgiXV0sWyJTYWludCBNYXJ0aW4gKFNhaW50LU1hcnRpbiAocGFydGllIGZyYW7Dp2Fpc2UpKSIsIm1mIiwiNTkwIiwyXSxbIlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24gKFNhaW50LVBpZXJyZS1ldC1NaXF1ZWxvbikiLCJwbSIsIjUwOCJdLFsiU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMiLCJ2YyIsIjEiLDIwLFsiNzg0Il1dLFsiU2Ftb2EiLCJ3cyIsIjY4NSJdLFsiU2FuIE1hcmlubyIsInNtIiwiMzc4Il0sWyJTw6NvIFRvbcOpIGFuZCBQcsOtbmNpcGUgKFPDo28gVG9tw6kgZSBQcsOtbmNpcGUpIiwic3QiLCIyMzkiXSxbIlNhdWRpIEFyYWJpYSAo4oCr2KfZhNmF2YXZhNmD2Kkg2KfZhNi52LHYqNmK2Kkg2KfZhNiz2LnZiNiv2YrYqeKArOKAjikiLCJzYSIsIjk2NiJdLFsiU2VuZWdhbCAoU8OpbsOpZ2FsKSIsInNuIiwiMjIxIl0sWyJTZXJiaWEgKNCh0YDQsdC40ZjQsCkiLCJycyIsIjM4MSJdLFsiU2V5Y2hlbGxlcyIsInNjIiwiMjQ4Il0sWyJTaWVycmEgTGVvbmUiLCJzbCIsIjIzMiJdLFsiU2luZ2Fwb3JlIiwic2ciLCI2NSJdLFsiU2ludCBNYWFydGVuIiwic3giLCIxIiwyMSxbIjcyMSJdXSxbIlNsb3Zha2lhIChTbG92ZW5za28pIiwic2siLCI0MjEiXSxbIlNsb3ZlbmlhIChTbG92ZW5pamEpIiwic2kiLCIzODYiXSxbIlNvbG9tb24gSXNsYW5kcyIsInNiIiwiNjc3Il0sWyJTb21hbGlhIChTb29tYWFsaXlhKSIsInNvIiwiMjUyIl0sWyJTb3V0aCBBZnJpY2EiLCJ6YSIsIjI3Il0sWyJTb3V0aCBLb3JlYSAo64yA7ZWc66+86rWtKSIsImtyIiwiODIiXSxbIlNvdXRoIFN1ZGFuICjigKvYrNmG2YjYqCDYp9mE2LPZiNiv2KfZhuKArOKAjikiLCJzcyIsIjIxMSJdLFsiU3BhaW4gKEVzcGHDsWEpIiwiZXMiLCIzNCJdLFsiU3JpIExhbmthICjgt4Hgt4rigI3gtrvgt5Mg4La94LaC4Laa4LeP4LeAKSIsImxrIiwiOTQiXSxbIlN1ZGFuICjigKvYp9mE2LPZiNiv2KfZhuKArOKAjikiLCJzZCIsIjI0OSJdLFsiU3VyaW5hbWUiLCJzciIsIjU5NyJdLFsiU3ZhbGJhcmQgYW5kIEphbiBNYXllbiIsInNqIiwiNDciLDEsWyI3OSJdXSxbIlN3ZWRlbiAoU3ZlcmlnZSkiLCJzZSIsIjQ2Il0sWyJTd2l0emVybGFuZCAoU2Nod2VpeikiLCJjaCIsIjQxIl0sWyJTeXJpYSAo4oCr2LPZiNix2YrYp+KArOKAjikiLCJzeSIsIjk2MyJdLFsiVGFpd2FuICjlj7DngaMpIiwidHciLCI4ODYiXSxbIlRhamlraXN0YW4iLCJ0aiIsIjk5MiJdLFsiVGFuemFuaWEiLCJ0eiIsIjI1NSJdLFsiVGhhaWxhbmQgKOC5hOC4l+C4oikiLCJ0aCIsIjY2Il0sWyJUaW1vci1MZXN0ZSIsInRsIiwiNjcwIl0sWyJUb2dvIiwidGciLCIyMjgiXSxbIlRva2VsYXUiLCJ0ayIsIjY5MCJdLFsiVG9uZ2EiLCJ0byIsIjY3NiJdLFsiVHJpbmlkYWQgYW5kIFRvYmFnbyIsInR0IiwiMSIsMjIsWyI4NjgiXV0sWyJUdW5pc2lhICjigKvYqtmI2YbYs+KArOKAjikiLCJ0biIsIjIxNiJdLFsiVHVya2V5IChUw7xya2l5ZSkiLCJ0ciIsIjkwIl0sWyJUdXJrbWVuaXN0YW4iLCJ0bSIsIjk5MyJdLFsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIiwidGMiLCIxIiwyMyxbIjY0OSJdXSxbIlR1dmFsdSIsInR2IiwiNjg4Il0sWyJVLlMuIFZpcmdpbiBJc2xhbmRzIiwidmkiLCIxIiwyNCxbIjM0MCJdXSxbIlVnYW5kYSIsInVnIiwiMjU2Il0sWyJVa3JhaW5lICjQo9C60YDQsNGX0L3QsCkiLCJ1YSIsIjM4MCJdLFsiVW5pdGVkIEFyYWIgRW1pcmF0ZXMgKOKAq9in2YTYpdmF2KfYsdin2Kog2KfZhNi52LHYqNmK2Kkg2KfZhNmF2KrYrdiv2KnigKzigI4pIiwiYWUiLCI5NzEiXSxbIlVuaXRlZCBLaW5nZG9tIiwiZ2IiLCI0NCIsMF0sWyJVbml0ZWQgU3RhdGVzIiwidXMiLCIxIiwwXSxbIlVydWd1YXkiLCJ1eSIsIjU5OCJdLFsiVXpiZWtpc3RhbiAoT8q7emJla2lzdG9uKSIsInV6IiwiOTk4Il0sWyJWYW51YXR1IiwidnUiLCI2NzgiXSxbIlZhdGljYW4gQ2l0eSAoQ2l0dMOgIGRlbCBWYXRpY2FubykiLCJ2YSIsIjM5IiwxLFsiMDY2OTgiXV0sWyJWZW5lenVlbGEiLCJ2ZSIsIjU4Il0sWyJWaWV0bmFtIChWaeG7h3QgTmFtKSIsInZuIiwiODQiXSxbIldhbGxpcyBhbmQgRnV0dW5hIChXYWxsaXMtZXQtRnV0dW5hKSIsIndmIiwiNjgxIl0sWyJXZXN0ZXJuIFNhaGFyYSAo4oCr2KfZhNi12K3Ysdin2KEg2KfZhNi62LHYqNmK2KnigKzigI4pIiwiZWgiLCIyMTIiLDEsWyI1Mjg4IiwiNTI4OSJdXSxbIlllbWVuICjigKvYp9mE2YrZhdmG4oCs4oCOKSIsInllIiwiOTY3Il0sWyJaYW1iaWEiLCJ6bSIsIjI2MCJdLFsiWmltYmFid2UiLCJ6dyIsIjI2MyJdLFsiw4VsYW5kIElzbGFuZHMiLCJheCIsIjM1OCIsMSxbIjE4Il1dXSxpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBuPXRbaV07dFtpXT17bmFtZTpuWzBdLGlzbzI6blsxXSxkaWFsQ29kZTpuWzJdLHByaW9yaXR5Om5bM118fDAsYXJlYUNvZGVzOm5bNF18fG51bGx9fWZ1bmN0aW9uIHMoZSx0KXtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG49dFtpXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHwhMSxuLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gbiYmKG4ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4ua2V5LG4pfX12YXIgbz17Z2V0SW5zdGFuY2U6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtaW50bC10ZWwtaW5wdXQtaWQiKTtyZXR1cm4gd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuaW5zdGFuY2VzW3RdfSxpbnN0YW5jZXM6e30sZG9jdW1lbnRSZWFkeTpmdW5jdGlvbigpe3JldHVybiJjb21wbGV0ZSI9PT1kb2N1bWVudC5yZWFkeVN0YXRlfX07Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscz1vKTt2YXIgcj0wLGE9e2FsbG93RHJvcGRvd246ITAsYXV0b0hpZGVEaWFsQ29kZTohMCxhdXRvUGxhY2Vob2xkZXI6InBvbGl0ZSIsY3VzdG9tQ29udGFpbmVyOiIiLGN1c3RvbVBsYWNlaG9sZGVyOm51bGwsZHJvcGRvd25Db250YWluZXI6bnVsbCxleGNsdWRlQ291bnRyaWVzOltdLGZvcm1hdE9uRGlzcGxheTohMCxnZW9JcExvb2t1cDpudWxsLGhpZGRlbklucHV0OiIiLGluaXRpYWxDb3VudHJ5OiIiLGxvY2FsaXplZENvdW50cmllczpudWxsLG5hdGlvbmFsTW9kZTohMCxvbmx5Q291bnRyaWVzOltdLHBsYWNlaG9sZGVyTnVtYmVyVHlwZToiTU9CSUxFIixwcmVmZXJyZWRDb3VudHJpZXM6WyJ1cyIsImdiIl0sc2VwYXJhdGVEaWFsQ29kZTohMSx1dGlsc1NjcmlwdDoiIn0sbD1bIjgwMCIsIjgyMiIsIjgzMyIsIjg0NCIsIjg1NSIsIjg2NiIsIjg3NyIsIjg4MCIsIjg4MSIsIjg4MiIsIjg4MyIsIjg4NCIsIjg4NSIsIjg4NiIsIjg4NyIsIjg4OCIsIjg4OSJdLGM9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIGk9T2JqZWN0LmtleXMoZSksbj0wO248aS5sZW5ndGg7bisrKXQoaVtuXSxlW2lbbl1dKX0sdT1mdW5jdGlvbihlKXtjKHdpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLmluc3RhbmNlcywoZnVuY3Rpb24odCl7d2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuaW5zdGFuY2VzW3RdW2VdKCl9KSl9LGg9ZnVuY3Rpb24oKXtmdW5jdGlvbiBpKGUsdCl7dmFyIG49dGhpczshZnVuY3Rpb24oZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0odGhpcyxpKSx0aGlzLmlkPXIrKyx0aGlzLnRlbElucHV0PWUsdGhpcy5hY3RpdmVJdGVtPW51bGwsdGhpcy5oaWdobGlnaHRlZEl0ZW09bnVsbDt2YXIgcz10fHx7fTt0aGlzLm9wdGlvbnM9e30sYyhhLChmdW5jdGlvbihlLHQpe24ub3B0aW9uc1tlXT1zLmhhc093blByb3BlcnR5KGUpP3NbZV06dH0pKSx0aGlzLmhhZEluaXRpYWxQbGFjZWhvbGRlcj1Cb29sZWFuKGUuZ2V0QXR0cmlidXRlKCJwbGFjZWhvbGRlciIpKX12YXIgbixvLGg7cmV0dXJuIG49aSxvPVt7a2V5OiJfaW5pdCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKHRoaXMub3B0aW9ucy5uYXRpb25hbE1vZGUmJih0aGlzLm9wdGlvbnMuYXV0b0hpZGVEaWFsQ29kZT0hMSksdGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUmJih0aGlzLm9wdGlvbnMuYXV0b0hpZGVEaWFsQ29kZT10aGlzLm9wdGlvbnMubmF0aW9uYWxNb2RlPSExKSx0aGlzLmlzTW9iaWxlPS9BbmRyb2lkLitNb2JpbGV8d2ViT1N8aVBob25lfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx0aGlzLmlzTW9iaWxlJiYoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCJpdGktbW9iaWxlIiksdGhpcy5vcHRpb25zLmRyb3Bkb3duQ29udGFpbmVyfHwodGhpcy5vcHRpb25zLmRyb3Bkb3duQ29udGFpbmVyPWRvY3VtZW50LmJvZHkpKSwidW5kZWZpbmVkIiE9dHlwZW9mIFByb21pc2Upe3ZhciB0PW5ldyBQcm9taXNlKChmdW5jdGlvbih0LGkpe2UucmVzb2x2ZUF1dG9Db3VudHJ5UHJvbWlzZT10LGUucmVqZWN0QXV0b0NvdW50cnlQcm9taXNlPWl9KSksaT1uZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxpKXtlLnJlc29sdmVVdGlsc1NjcmlwdFByb21pc2U9dCxlLnJlamVjdFV0aWxzU2NyaXB0UHJvbWlzZT1pfSkpO3RoaXMucHJvbWlzZT1Qcm9taXNlLmFsbChbdCxpXSl9ZWxzZSB0aGlzLnJlc29sdmVBdXRvQ291bnRyeVByb21pc2U9dGhpcy5yZWplY3RBdXRvQ291bnRyeVByb21pc2U9ZnVuY3Rpb24oKXt9LHRoaXMucmVzb2x2ZVV0aWxzU2NyaXB0UHJvbWlzZT10aGlzLnJlamVjdFV0aWxzU2NyaXB0UHJvbWlzZT1mdW5jdGlvbigpe307dGhpcy5zZWxlY3RlZENvdW50cnlEYXRhPXt9LHRoaXMuX3Byb2Nlc3NDb3VudHJ5RGF0YSgpLHRoaXMuX2dlbmVyYXRlTWFya3VwKCksdGhpcy5fc2V0SW5pdGlhbFN0YXRlKCksdGhpcy5faW5pdExpc3RlbmVycygpLHRoaXMuX2luaXRSZXF1ZXN0cygpfX0se2tleToiX3Byb2Nlc3NDb3VudHJ5RGF0YSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9wcm9jZXNzQWxsQ291bnRyaWVzKCksdGhpcy5fcHJvY2Vzc0NvdW50cnlDb2RlcygpLHRoaXMuX3Byb2Nlc3NQcmVmZXJyZWRDb3VudHJpZXMoKSx0aGlzLm9wdGlvbnMubG9jYWxpemVkQ291bnRyaWVzJiZ0aGlzLl90cmFuc2xhdGVDb3VudHJpZXNCeUxvY2FsZSgpLCh0aGlzLm9wdGlvbnMub25seUNvdW50cmllcy5sZW5ndGh8fHRoaXMub3B0aW9ucy5sb2NhbGl6ZWRDb3VudHJpZXMpJiZ0aGlzLmNvdW50cmllcy5zb3J0KHRoaXMuX2NvdW50cnlOYW1lU29ydCl9fSx7a2V5OiJfYWRkQ291bnRyeUNvZGUiLHZhbHVlOmZ1bmN0aW9uKHQsaSxuKXtpLmxlbmd0aD50aGlzLmNvdW50cnlDb2RlTWF4TGVuJiYodGhpcy5jb3VudHJ5Q29kZU1heExlbj1pLmxlbmd0aCksdGhpcy5jb3VudHJ5Q29kZXMuaGFzT3duUHJvcGVydHkoaSl8fCh0aGlzLmNvdW50cnlDb2Rlc1tpXT1bXSk7Zm9yKHZhciBzPTA7czx0aGlzLmNvdW50cnlDb2Rlc1tpXS5sZW5ndGg7cysrKWlmKHRoaXMuY291bnRyeUNvZGVzW2ldW3NdPT09dClyZXR1cm47dmFyIG89biE9PWU/bjp0aGlzLmNvdW50cnlDb2Rlc1tpXS5sZW5ndGg7dGhpcy5jb3VudHJ5Q29kZXNbaV1bb109dH19LHtrZXk6Il9wcm9jZXNzQWxsQ291bnRyaWVzIix2YWx1ZTpmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5vbmx5Q291bnRyaWVzLmxlbmd0aCl7dmFyIGU9dGhpcy5vcHRpb25zLm9ubHlDb3VudHJpZXMubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpfSkpO3RoaXMuY291bnRyaWVzPXQuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gZS5pbmRleE9mKHQuaXNvMik+LTF9KSl9ZWxzZSBpZih0aGlzLm9wdGlvbnMuZXhjbHVkZUNvdW50cmllcy5sZW5ndGgpe3ZhciBpPXRoaXMub3B0aW9ucy5leGNsdWRlQ291bnRyaWVzLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9Mb3dlckNhc2UoKX0pKTt0aGlzLmNvdW50cmllcz10LmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuLTE9PT1pLmluZGV4T2YoZS5pc28yKX0pKX1lbHNlIHRoaXMuY291bnRyaWVzPXR9fSx7a2V5OiJfdHJhbnNsYXRlQ291bnRyaWVzQnlMb2NhbGUiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTx0aGlzLmNvdW50cmllcy5sZW5ndGg7ZSsrKXt2YXIgdD10aGlzLmNvdW50cmllc1tlXS5pc28yLnRvTG93ZXJDYXNlKCk7dGhpcy5vcHRpb25zLmxvY2FsaXplZENvdW50cmllcy5oYXNPd25Qcm9wZXJ0eSh0KSYmKHRoaXMuY291bnRyaWVzW2VdLm5hbWU9dGhpcy5vcHRpb25zLmxvY2FsaXplZENvdW50cmllc1t0XSl9fX0se2tleToiX2NvdW50cnlOYW1lU29ydCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5uYW1lLmxvY2FsZUNvbXBhcmUodC5uYW1lKX19LHtrZXk6Il9wcm9jZXNzQ291bnRyeUNvZGVzIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuY291bnRyeUNvZGVNYXhMZW49MCx0aGlzLmRpYWxDb2Rlcz17fSx0aGlzLmNvdW50cnlDb2Rlcz17fTtmb3IodmFyIGU9MDtlPHRoaXMuY291bnRyaWVzLmxlbmd0aDtlKyspe3ZhciB0PXRoaXMuY291bnRyaWVzW2VdO3RoaXMuZGlhbENvZGVzW3QuZGlhbENvZGVdfHwodGhpcy5kaWFsQ29kZXNbdC5kaWFsQ29kZV09ITApLHRoaXMuX2FkZENvdW50cnlDb2RlKHQuaXNvMix0LmRpYWxDb2RlLHQucHJpb3JpdHkpfWZvcih2YXIgaT0wO2k8dGhpcy5jb3VudHJpZXMubGVuZ3RoO2krKyl7dmFyIG49dGhpcy5jb3VudHJpZXNbaV07aWYobi5hcmVhQ29kZXMpZm9yKHZhciBzPXRoaXMuY291bnRyeUNvZGVzW24uZGlhbENvZGVdWzBdLG89MDtvPG4uYXJlYUNvZGVzLmxlbmd0aDtvKyspe2Zvcih2YXIgcj1uLmFyZWFDb2Rlc1tvXSxhPTE7YTxyLmxlbmd0aDthKyspe3ZhciBsPW4uZGlhbENvZGUrci5zdWJzdHIoMCxhKTt0aGlzLl9hZGRDb3VudHJ5Q29kZShzLGwpLHRoaXMuX2FkZENvdW50cnlDb2RlKG4uaXNvMixsKX10aGlzLl9hZGRDb3VudHJ5Q29kZShuLmlzbzIsbi5kaWFsQ29kZStyKX19fX0se2tleToiX3Byb2Nlc3NQcmVmZXJyZWRDb3VudHJpZXMiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5wcmVmZXJyZWRDb3VudHJpZXM9W107Zm9yKHZhciBlPTA7ZTx0aGlzLm9wdGlvbnMucHJlZmVycmVkQ291bnRyaWVzLmxlbmd0aDtlKyspe3ZhciB0PXRoaXMub3B0aW9ucy5wcmVmZXJyZWRDb3VudHJpZXNbZV0udG9Mb3dlckNhc2UoKSxpPXRoaXMuX2dldENvdW50cnlEYXRhKHQsITEsITApO2kmJnRoaXMucHJlZmVycmVkQ291bnRyaWVzLnB1c2goaSl9fX0se2tleToiX2NyZWF0ZUVsIix2YWx1ZTpmdW5jdGlvbihlLHQsaSl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKTtyZXR1cm4gdCYmYyh0LChmdW5jdGlvbihlLHQpe3JldHVybiBuLnNldEF0dHJpYnV0ZShlLHQpfSkpLGkmJmkuYXBwZW5kQ2hpbGQobiksbn19LHtrZXk6Il9nZW5lcmF0ZU1hcmt1cCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnRlbElucHV0Lmhhc0F0dHJpYnV0ZSgiYXV0b2NvbXBsZXRlIil8fHRoaXMudGVsSW5wdXQuZm9ybSYmdGhpcy50ZWxJbnB1dC5mb3JtLmhhc0F0dHJpYnV0ZSgiYXV0b2NvbXBsZXRlIil8fHRoaXMudGVsSW5wdXQuc2V0QXR0cmlidXRlKCJhdXRvY29tcGxldGUiLCJvZmYiKTt2YXIgZT0iaXRpIjt0aGlzLm9wdGlvbnMuYWxsb3dEcm9wZG93biYmKGUrPSIgaXRpLS1hbGxvdy1kcm9wZG93biIpLHRoaXMub3B0aW9ucy5zZXBhcmF0ZURpYWxDb2RlJiYoZSs9IiBpdGktLXNlcGFyYXRlLWRpYWwtY29kZSIpLHRoaXMub3B0aW9ucy5jdXN0b21Db250YWluZXImJihlKz0iICIsZSs9dGhpcy5vcHRpb25zLmN1c3RvbUNvbnRhaW5lcik7dmFyIHQ9dGhpcy5fY3JlYXRlRWwoImRpdiIse2NsYXNzOmV9KTtpZih0aGlzLnRlbElucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsdGhpcy50ZWxJbnB1dCksdGhpcy5mbGFnc0NvbnRhaW5lcj10aGlzLl9jcmVhdGVFbCgiZGl2Iix7Y2xhc3M6Iml0aV9fZmxhZy1jb250YWluZXIifSx0KSx0LmFwcGVuZENoaWxkKHRoaXMudGVsSW5wdXQpLHRoaXMuc2VsZWN0ZWRGbGFnPXRoaXMuX2NyZWF0ZUVsKCJkaXYiLHtjbGFzczoiaXRpX19zZWxlY3RlZC1mbGFnIixyb2xlOiJjb21ib2JveCIsImFyaWEtY29udHJvbHMiOiJpdGktIi5jb25jYXQodGhpcy5pZCwiX19jb3VudHJ5LWxpc3Rib3giKSwiYXJpYS1vd25zIjoiaXRpLSIuY29uY2F0KHRoaXMuaWQsIl9fY291bnRyeS1saXN0Ym94IiksImFyaWEtZXhwYW5kZWQiOiJmYWxzZSJ9LHRoaXMuZmxhZ3NDb250YWluZXIpLHRoaXMuc2VsZWN0ZWRGbGFnSW5uZXI9dGhpcy5fY3JlYXRlRWwoImRpdiIse2NsYXNzOiJpdGlfX2ZsYWcifSx0aGlzLnNlbGVjdGVkRmxhZyksdGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUmJih0aGlzLnNlbGVjdGVkRGlhbENvZGU9dGhpcy5fY3JlYXRlRWwoImRpdiIse2NsYXNzOiJpdGlfX3NlbGVjdGVkLWRpYWwtY29kZSJ9LHRoaXMuc2VsZWN0ZWRGbGFnKSksdGhpcy5vcHRpb25zLmFsbG93RHJvcGRvd24mJih0aGlzLnNlbGVjdGVkRmxhZy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLHRoaXMuZHJvcGRvd25BcnJvdz10aGlzLl9jcmVhdGVFbCgiZGl2Iix7Y2xhc3M6Iml0aV9fYXJyb3cifSx0aGlzLnNlbGVjdGVkRmxhZyksdGhpcy5jb3VudHJ5TGlzdD10aGlzLl9jcmVhdGVFbCgidWwiLHtjbGFzczoiaXRpX19jb3VudHJ5LWxpc3QgaXRpX19oaWRlIixpZDoiaXRpLSIuY29uY2F0KHRoaXMuaWQsIl9fY291bnRyeS1saXN0Ym94Iikscm9sZToibGlzdGJveCIsImFyaWEtbGFiZWwiOiJMaXN0IG9mIGNvdW50cmllcyJ9KSx0aGlzLnByZWZlcnJlZENvdW50cmllcy5sZW5ndGgmJih0aGlzLl9hcHBlbmRMaXN0SXRlbXModGhpcy5wcmVmZXJyZWRDb3VudHJpZXMsIml0aV9fcHJlZmVycmVkIiwhMCksdGhpcy5fY3JlYXRlRWwoImxpIix7Y2xhc3M6Iml0aV9fZGl2aWRlciIscm9sZToic2VwYXJhdG9yIiwiYXJpYS1kaXNhYmxlZCI6InRydWUifSx0aGlzLmNvdW50cnlMaXN0KSksdGhpcy5fYXBwZW5kTGlzdEl0ZW1zKHRoaXMuY291bnRyaWVzLCJpdGlfX3N0YW5kYXJkIiksdGhpcy5vcHRpb25zLmRyb3Bkb3duQ29udGFpbmVyPyh0aGlzLmRyb3Bkb3duPXRoaXMuX2NyZWF0ZUVsKCJkaXYiLHtjbGFzczoiaXRpIGl0aS0tY29udGFpbmVyIn0pLHRoaXMuZHJvcGRvd24uYXBwZW5kQ2hpbGQodGhpcy5jb3VudHJ5TGlzdCkpOnRoaXMuZmxhZ3NDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5jb3VudHJ5TGlzdCkpLHRoaXMub3B0aW9ucy5oaWRkZW5JbnB1dCl7dmFyIGk9dGhpcy5vcHRpb25zLmhpZGRlbklucHV0LG49dGhpcy50ZWxJbnB1dC5nZXRBdHRyaWJ1dGUoIm5hbWUiKTtpZihuKXt2YXIgcz1uLmxhc3RJbmRleE9mKCJbIik7LTEhPT1zJiYoaT0iIi5jb25jYXQobi5zdWJzdHIoMCxzKSwiWyIpLmNvbmNhdChpLCJdIikpfXRoaXMuaGlkZGVuSW5wdXQ9dGhpcy5fY3JlYXRlRWwoImlucHV0Iix7dHlwZToiaGlkZGVuIixuYW1lOml9KSx0LmFwcGVuZENoaWxkKHRoaXMuaGlkZGVuSW5wdXQpfX19LHtrZXk6Il9hcHBlbmRMaXN0SXRlbXMiLHZhbHVlOmZ1bmN0aW9uKGUsdCxpKXtmb3IodmFyIG49IiIscz0wO3M8ZS5sZW5ndGg7cysrKXt2YXIgbz1lW3NdLHI9aT8iLXByZWZlcnJlZCI6IiI7bis9IjxsaSBjbGFzcz0naXRpX19jb3VudHJ5ICIuY29uY2F0KHQsIicgdGFiSW5kZXg9Jy0xJyBpZD0naXRpLSIpLmNvbmNhdCh0aGlzLmlkLCJfX2l0ZW0tIikuY29uY2F0KG8uaXNvMikuY29uY2F0KHIsIicgcm9sZT0nb3B0aW9uJyBkYXRhLWRpYWwtY29kZT0nIikuY29uY2F0KG8uZGlhbENvZGUsIicgZGF0YS1jb3VudHJ5LWNvZGU9JyIpLmNvbmNhdChvLmlzbzIsIicgYXJpYS1zZWxlY3RlZD0nZmFsc2UnPiIpLG4rPSI8ZGl2IGNsYXNzPSdpdGlfX2ZsYWctYm94Jz48ZGl2IGNsYXNzPSdpdGlfX2ZsYWcgaXRpX18iLmNvbmNhdChvLmlzbzIsIic+PC9kaXY+PC9kaXY+Iiksbis9IjxzcGFuIGNsYXNzPSdpdGlfX2NvdW50cnktbmFtZSc+Ii5jb25jYXQoby5uYW1lLCI8L3NwYW4+Iiksbis9IjxzcGFuIGNsYXNzPSdpdGlfX2RpYWwtY29kZSc+KyIuY29uY2F0KG8uZGlhbENvZGUsIjwvc3Bhbj4iKSxuKz0iPC9saT4ifXRoaXMuY291bnRyeUxpc3QuaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLG4pfX0se2tleToiX3NldEluaXRpYWxTdGF0ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnRlbElucHV0LmdldEF0dHJpYnV0ZSgidmFsdWUiKSx0PXRoaXMudGVsSW5wdXQudmFsdWUsaT0hZXx8IisiIT09ZS5jaGFyQXQoMCl8fHQmJiIrIj09PXQuY2hhckF0KDApP3Q6ZSxuPXRoaXMuX2dldERpYWxDb2RlKGkpLHM9dGhpcy5faXNSZWdpb25sZXNzTmFucChpKSxvPXRoaXMub3B0aW9ucyxyPW8uaW5pdGlhbENvdW50cnksYT1vLm5hdGlvbmFsTW9kZSxsPW8uYXV0b0hpZGVEaWFsQ29kZSxjPW8uc2VwYXJhdGVEaWFsQ29kZTtuJiYhcz90aGlzLl91cGRhdGVGbGFnRnJvbU51bWJlcihpKToiYXV0byIhPT1yJiYocj90aGlzLl9zZXRGbGFnKHIudG9Mb3dlckNhc2UoKSk6biYmcz90aGlzLl9zZXRGbGFnKCJ1cyIpOih0aGlzLmRlZmF1bHRDb3VudHJ5PXRoaXMucHJlZmVycmVkQ291bnRyaWVzLmxlbmd0aD90aGlzLnByZWZlcnJlZENvdW50cmllc1swXS5pc28yOnRoaXMuY291bnRyaWVzWzBdLmlzbzIsaXx8dGhpcy5fc2V0RmxhZyh0aGlzLmRlZmF1bHRDb3VudHJ5KSksaXx8YXx8bHx8Y3x8KHRoaXMudGVsSW5wdXQudmFsdWU9IisiLmNvbmNhdCh0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGUpKSksaSYmdGhpcy5fdXBkYXRlVmFsRnJvbU51bWJlcihpKX19LHtrZXk6Il9pbml0TGlzdGVuZXJzIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2luaXRLZXlMaXN0ZW5lcnMoKSx0aGlzLm9wdGlvbnMuYXV0b0hpZGVEaWFsQ29kZSYmdGhpcy5faW5pdEJsdXJMaXN0ZW5lcnMoKSx0aGlzLm9wdGlvbnMuYWxsb3dEcm9wZG93biYmdGhpcy5faW5pdERyb3Bkb3duTGlzdGVuZXJzKCksdGhpcy5oaWRkZW5JbnB1dCYmdGhpcy5faW5pdEhpZGRlbklucHV0TGlzdGVuZXIoKX19LHtrZXk6Il9pbml0SGlkZGVuSW5wdXRMaXN0ZW5lciIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2hhbmRsZUhpZGRlbklucHV0U3VibWl0PWZ1bmN0aW9uKCl7ZS5oaWRkZW5JbnB1dC52YWx1ZT1lLmdldE51bWJlcigpfSx0aGlzLnRlbElucHV0LmZvcm0mJnRoaXMudGVsSW5wdXQuZm9ybS5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLHRoaXMuX2hhbmRsZUhpZGRlbklucHV0U3VibWl0KX19LHtrZXk6Il9nZXRDbG9zZXN0TGFiZWwiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMudGVsSW5wdXQ7ZSYmIkxBQkVMIiE9PWUudGFnTmFtZTspZT1lLnBhcmVudE5vZGU7cmV0dXJuIGV9fSx7a2V5OiJfaW5pdERyb3Bkb3duTGlzdGVuZXJzIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5faGFuZGxlTGFiZWxDbGljaz1mdW5jdGlvbih0KXtlLmNvdW50cnlMaXN0LmNsYXNzTGlzdC5jb250YWlucygiaXRpX19oaWRlIik/ZS50ZWxJbnB1dC5mb2N1cygpOnQucHJldmVudERlZmF1bHQoKX07dmFyIHQ9dGhpcy5fZ2V0Q2xvc2VzdExhYmVsKCk7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5faGFuZGxlTGFiZWxDbGljayksdGhpcy5faGFuZGxlQ2xpY2tTZWxlY3RlZEZsYWc9ZnVuY3Rpb24oKXshZS5jb3VudHJ5TGlzdC5jbGFzc0xpc3QuY29udGFpbnMoIml0aV9faGlkZSIpfHxlLnRlbElucHV0LmRpc2FibGVkfHxlLnRlbElucHV0LnJlYWRPbmx5fHxlLl9zaG93RHJvcGRvd24oKX0sdGhpcy5zZWxlY3RlZEZsYWcuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX2hhbmRsZUNsaWNrU2VsZWN0ZWRGbGFnKSx0aGlzLl9oYW5kbGVGbGFnc0NvbnRhaW5lcktleWRvd249ZnVuY3Rpb24odCl7ZS5jb3VudHJ5TGlzdC5jbGFzc0xpc3QuY29udGFpbnMoIml0aV9faGlkZSIpJiYtMSE9PVsiQXJyb3dVcCIsIlVwIiwiQXJyb3dEb3duIiwiRG93biIsIiAiLCJFbnRlciJdLmluZGV4T2YodC5rZXkpJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksZS5fc2hvd0Ryb3Bkb3duKCkpLCJUYWIiPT09dC5rZXkmJmUuX2Nsb3NlRHJvcGRvd24oKX0sdGhpcy5mbGFnc0NvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9oYW5kbGVGbGFnc0NvbnRhaW5lcktleWRvd24pfX0se2tleToiX2luaXRSZXF1ZXN0cyIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMub3B0aW9ucy51dGlsc1NjcmlwdCYmIXdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscz93aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5kb2N1bWVudFJlYWR5KCk/d2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMubG9hZFV0aWxzKHRoaXMub3B0aW9ucy51dGlsc1NjcmlwdCk6d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLChmdW5jdGlvbigpe3dpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLmxvYWRVdGlscyhlLm9wdGlvbnMudXRpbHNTY3JpcHQpfSkpOnRoaXMucmVzb2x2ZVV0aWxzU2NyaXB0UHJvbWlzZSgpLCJhdXRvIj09PXRoaXMub3B0aW9ucy5pbml0aWFsQ291bnRyeT90aGlzLl9sb2FkQXV0b0NvdW50cnkoKTp0aGlzLnJlc29sdmVBdXRvQ291bnRyeVByb21pc2UoKX19LHtrZXk6Il9sb2FkQXV0b0NvdW50cnkiLHZhbHVlOmZ1bmN0aW9uKCl7d2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuYXV0b0NvdW50cnk/dGhpcy5oYW5kbGVBdXRvQ291bnRyeSgpOndpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLnN0YXJ0ZWRMb2FkaW5nQXV0b0NvdW50cnl8fCh3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5zdGFydGVkTG9hZGluZ0F1dG9Db3VudHJ5PSEwLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMuZ2VvSXBMb29rdXAmJnRoaXMub3B0aW9ucy5nZW9JcExvb2t1cCgoZnVuY3Rpb24oZSl7d2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuYXV0b0NvdW50cnk9ZS50b0xvd2VyQ2FzZSgpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIHUoImhhbmRsZUF1dG9Db3VudHJ5Iil9KSl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gdSgicmVqZWN0QXV0b0NvdW50cnlQcm9taXNlIil9KSkpfX0se2tleToiX2luaXRLZXlMaXN0ZW5lcnMiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9oYW5kbGVLZXl1cEV2ZW50PWZ1bmN0aW9uKCl7ZS5fdXBkYXRlRmxhZ0Zyb21OdW1iZXIoZS50ZWxJbnB1dC52YWx1ZSkmJmUuX3RyaWdnZXJDb3VudHJ5Q2hhbmdlKCl9LHRoaXMudGVsSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuX2hhbmRsZUtleXVwRXZlbnQpLHRoaXMuX2hhbmRsZUNsaXBib2FyZEV2ZW50PWZ1bmN0aW9uKCl7c2V0VGltZW91dChlLl9oYW5kbGVLZXl1cEV2ZW50KX0sdGhpcy50ZWxJbnB1dC5hZGRFdmVudExpc3RlbmVyKCJjdXQiLHRoaXMuX2hhbmRsZUNsaXBib2FyZEV2ZW50KSx0aGlzLnRlbElucHV0LmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIix0aGlzLl9oYW5kbGVDbGlwYm9hcmRFdmVudCl9fSx7a2V5OiJfY2FwIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnRlbElucHV0LmdldEF0dHJpYnV0ZSgibWF4bGVuZ3RoIik7cmV0dXJuIHQmJmUubGVuZ3RoPnQ/ZS5zdWJzdHIoMCx0KTplfX0se2tleToiX2luaXRCbHVyTGlzdGVuZXJzIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5faGFuZGxlU3VibWl0T3JCbHVyRXZlbnQ9ZnVuY3Rpb24oKXtlLl9yZW1vdmVFbXB0eURpYWxDb2RlKCl9LHRoaXMudGVsSW5wdXQuZm9ybSYmdGhpcy50ZWxJbnB1dC5mb3JtLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsdGhpcy5faGFuZGxlU3VibWl0T3JCbHVyRXZlbnQpLHRoaXMudGVsSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5faGFuZGxlU3VibWl0T3JCbHVyRXZlbnQpfX0se2tleToiX3JlbW92ZUVtcHR5RGlhbENvZGUiLHZhbHVlOmZ1bmN0aW9uKCl7aWYoIisiPT09dGhpcy50ZWxJbnB1dC52YWx1ZS5jaGFyQXQoMCkpe3ZhciBlPXRoaXMuX2dldE51bWVyaWModGhpcy50ZWxJbnB1dC52YWx1ZSk7ZSYmdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmRpYWxDb2RlIT09ZXx8KHRoaXMudGVsSW5wdXQudmFsdWU9IiIpfX19LHtrZXk6Il9nZXROdW1lcmljIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9cRC9nLCIiKX19LHtrZXk6Il90cmlnZ2VyIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTt0LmluaXRFdmVudChlLCEwLCEwKSx0aGlzLnRlbElucHV0LmRpc3BhdGNoRXZlbnQodCl9fSx7a2V5OiJfc2hvd0Ryb3Bkb3duIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuY291bnRyeUxpc3QuY2xhc3NMaXN0LnJlbW92ZSgiaXRpX19oaWRlIiksdGhpcy5zZWxlY3RlZEZsYWcuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwidHJ1ZSIpLHRoaXMuX3NldERyb3Bkb3duUG9zaXRpb24oKSx0aGlzLmFjdGl2ZUl0ZW0mJih0aGlzLl9oaWdobGlnaHRMaXN0SXRlbSh0aGlzLmFjdGl2ZUl0ZW0sITEpLHRoaXMuX3Njcm9sbFRvKHRoaXMuYWN0aXZlSXRlbSwhMCkpLHRoaXMuX2JpbmREcm9wZG93bkxpc3RlbmVycygpLHRoaXMuZHJvcGRvd25BcnJvdy5jbGFzc0xpc3QuYWRkKCJpdGlfX2Fycm93LS11cCIpLHRoaXMuX3RyaWdnZXIoIm9wZW46Y291bnRyeWRyb3Bkb3duIil9fSx7a2V5OiJfdG9nZ2xlQ2xhc3MiLHZhbHVlOmZ1bmN0aW9uKGUsdCxpKXtpJiYhZS5jbGFzc0xpc3QuY29udGFpbnModCk/ZS5jbGFzc0xpc3QuYWRkKHQpOiFpJiZlLmNsYXNzTGlzdC5jb250YWlucyh0KSYmZS5jbGFzc0xpc3QucmVtb3ZlKHQpfX0se2tleToiX3NldERyb3Bkb3duUG9zaXRpb24iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZih0aGlzLm9wdGlvbnMuZHJvcGRvd25Db250YWluZXImJnRoaXMub3B0aW9ucy5kcm9wZG93bkNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmRyb3Bkb3duKSwhdGhpcy5pc01vYmlsZSl7dmFyIHQ9dGhpcy50ZWxJbnB1dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXdpbmRvdy5wYWdlWU9mZnNldHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCxuPXQudG9wK2kscz10aGlzLmNvdW50cnlMaXN0Lm9mZnNldEhlaWdodCxvPW4rdGhpcy50ZWxJbnB1dC5vZmZzZXRIZWlnaHQrczxpK3dpbmRvdy5pbm5lckhlaWdodCxyPW4tcz5pO2lmKHRoaXMuX3RvZ2dsZUNsYXNzKHRoaXMuY291bnRyeUxpc3QsIml0aV9fY291bnRyeS1saXN0LS1kcm9wdXAiLCFvJiZyKSx0aGlzLm9wdGlvbnMuZHJvcGRvd25Db250YWluZXIpe3ZhciBhPSFvJiZyPzA6dGhpcy50ZWxJbnB1dC5vZmZzZXRIZWlnaHQ7dGhpcy5kcm9wZG93bi5zdHlsZS50b3A9IiIuY29uY2F0KG4rYSwicHgiKSx0aGlzLmRyb3Bkb3duLnN0eWxlLmxlZnQ9IiIuY29uY2F0KHQubGVmdCtkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQsInB4IiksdGhpcy5faGFuZGxlV2luZG93U2Nyb2xsPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX2Nsb3NlRHJvcGRvd24oKX0sd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5faGFuZGxlV2luZG93U2Nyb2xsKX19fX0se2tleToiX2dldENsb3Nlc3RMaXN0SXRlbSIsdmFsdWU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWU7dCYmdCE9PXRoaXMuY291bnRyeUxpc3QmJiF0LmNsYXNzTGlzdC5jb250YWlucygiaXRpX19jb3VudHJ5Iik7KXQ9dC5wYXJlbnROb2RlO3JldHVybiB0PT09dGhpcy5jb3VudHJ5TGlzdD9udWxsOnR9fSx7a2V5OiJfYmluZERyb3Bkb3duTGlzdGVuZXJzIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5faGFuZGxlTW91c2VvdmVyQ291bnRyeUxpc3Q9ZnVuY3Rpb24odCl7dmFyIGk9ZS5fZ2V0Q2xvc2VzdExpc3RJdGVtKHQudGFyZ2V0KTtpJiZlLl9oaWdobGlnaHRMaXN0SXRlbShpLCExKX0sdGhpcy5jb3VudHJ5TGlzdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHRoaXMuX2hhbmRsZU1vdXNlb3ZlckNvdW50cnlMaXN0KSx0aGlzLl9oYW5kbGVDbGlja0NvdW50cnlMaXN0PWZ1bmN0aW9uKHQpe3ZhciBpPWUuX2dldENsb3Nlc3RMaXN0SXRlbSh0LnRhcmdldCk7aSYmZS5fc2VsZWN0TGlzdEl0ZW0oaSl9LHRoaXMuY291bnRyeUxpc3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX2hhbmRsZUNsaWNrQ291bnRyeUxpc3QpO3ZhciB0PSEwO3RoaXMuX2hhbmRsZUNsaWNrT2ZmVG9DbG9zZT1mdW5jdGlvbigpe3R8fGUuX2Nsb3NlRHJvcGRvd24oKSx0PSExfSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX2hhbmRsZUNsaWNrT2ZmVG9DbG9zZSk7dmFyIGk9IiIsbj1udWxsO3RoaXMuX2hhbmRsZUtleWRvd25PbkRyb3Bkb3duPWZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSwiQXJyb3dVcCI9PT10LmtleXx8IlVwIj09PXQua2V5fHwiQXJyb3dEb3duIj09PXQua2V5fHwiRG93biI9PT10LmtleT9lLl9oYW5kbGVVcERvd25LZXkodC5rZXkpOiJFbnRlciI9PT10LmtleT9lLl9oYW5kbGVFbnRlcktleSgpOiJFc2NhcGUiPT09dC5rZXk/ZS5fY2xvc2VEcm9wZG93bigpOi9eW2EtekEtWsOALcO/0LAt0Y/QkC3QryBdJC8udGVzdCh0LmtleSkmJihuJiZjbGVhclRpbWVvdXQobiksaSs9dC5rZXkudG9Mb3dlckNhc2UoKSxlLl9zZWFyY2hGb3JDb3VudHJ5KGkpLG49c2V0VGltZW91dCgoZnVuY3Rpb24oKXtpPSIifSksMWUzKSl9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2hhbmRsZUtleWRvd25PbkRyb3Bkb3duKX19LHtrZXk6Il9oYW5kbGVVcERvd25LZXkiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PSJBcnJvd1VwIj09PWV8fCJVcCI9PT1lP3RoaXMuaGlnaGxpZ2h0ZWRJdGVtLnByZXZpb3VzRWxlbWVudFNpYmxpbmc6dGhpcy5oaWdobGlnaHRlZEl0ZW0ubmV4dEVsZW1lbnRTaWJsaW5nO3QmJih0LmNsYXNzTGlzdC5jb250YWlucygiaXRpX19kaXZpZGVyIikmJih0PSJBcnJvd1VwIj09PWV8fCJVcCI9PT1lP3QucHJldmlvdXNFbGVtZW50U2libGluZzp0Lm5leHRFbGVtZW50U2libGluZyksdGhpcy5faGlnaGxpZ2h0TGlzdEl0ZW0odCwhMCkpfX0se2tleToiX2hhbmRsZUVudGVyS2V5Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuaGlnaGxpZ2h0ZWRJdGVtJiZ0aGlzLl9zZWxlY3RMaXN0SXRlbSh0aGlzLmhpZ2hsaWdodGVkSXRlbSl9fSx7a2V5OiJfc2VhcmNoRm9yQ291bnRyeSIsdmFsdWU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDx0aGlzLmNvdW50cmllcy5sZW5ndGg7dCsrKWlmKHRoaXMuX3N0YXJ0c1dpdGgodGhpcy5jb3VudHJpZXNbdF0ubmFtZSxlKSl7dmFyIGk9dGhpcy5jb3VudHJ5TGlzdC5xdWVyeVNlbGVjdG9yKCIjaXRpLSIuY29uY2F0KHRoaXMuaWQsIl9faXRlbS0iKS5jb25jYXQodGhpcy5jb3VudHJpZXNbdF0uaXNvMikpO3RoaXMuX2hpZ2hsaWdodExpc3RJdGVtKGksITEpLHRoaXMuX3Njcm9sbFRvKGksITApO2JyZWFrfX19LHtrZXk6Il9zdGFydHNXaXRoIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBlLnN1YnN0cigwLHQubGVuZ3RoKS50b0xvd2VyQ2FzZSgpPT09dH19LHtrZXk6Il91cGRhdGVWYWxGcm9tTnVtYmVyIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD1lO2lmKHRoaXMub3B0aW9ucy5mb3JtYXRPbkRpc3BsYXkmJndpbmRvdy5pbnRsVGVsSW5wdXRVdGlscyYmdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhKXt2YXIgaT0hdGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUmJih0aGlzLm9wdGlvbnMubmF0aW9uYWxNb2RlfHwiKyIhPT10LmNoYXJBdCgwKSksbj1pbnRsVGVsSW5wdXRVdGlscy5udW1iZXJGb3JtYXQscz1uLk5BVElPTkFMLG89bi5JTlRFUk5BVElPTkFMLHI9aT9zOm87dD1pbnRsVGVsSW5wdXRVdGlscy5mb3JtYXROdW1iZXIodCx0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuaXNvMixyKX10PXRoaXMuX2JlZm9yZVNldE51bWJlcih0KSx0aGlzLnRlbElucHV0LnZhbHVlPXR9fSx7a2V5OiJfdXBkYXRlRmxhZ0Zyb21OdW1iZXIiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWUsaT10aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGUsbj0iMSI9PT1pO3QmJnRoaXMub3B0aW9ucy5uYXRpb25hbE1vZGUmJm4mJiIrIiE9PXQuY2hhckF0KDApJiYoIjEiIT09dC5jaGFyQXQoMCkmJih0PSIxIi5jb25jYXQodCkpLHQ9IisiLmNvbmNhdCh0KSksdGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUmJmkmJiIrIiE9PXQuY2hhckF0KDApJiYodD0iKyIuY29uY2F0KGkpLmNvbmNhdCh0KSk7dmFyIHM9dGhpcy5fZ2V0RGlhbENvZGUodCwhMCksbz10aGlzLl9nZXROdW1lcmljKHQpLHI9bnVsbDtpZihzKXt2YXIgYT10aGlzLmNvdW50cnlDb2Rlc1t0aGlzLl9nZXROdW1lcmljKHMpXSxsPS0xIT09YS5pbmRleE9mKHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yKSYmby5sZW5ndGg8PXMubGVuZ3RoLTE7aWYoISgiMSI9PT1pJiZ0aGlzLl9pc1JlZ2lvbmxlc3NOYW5wKG8pfHxsKSlmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihhW2NdKXtyPWFbY107YnJlYWt9fWVsc2UiKyI9PT10LmNoYXJBdCgwKSYmby5sZW5ndGg/cj0iIjp0JiYiKyIhPT10fHwocj10aGlzLmRlZmF1bHRDb3VudHJ5KTtyZXR1cm4gbnVsbCE9PXImJnRoaXMuX3NldEZsYWcocil9fSx7a2V5OiJfaXNSZWdpb25sZXNzTmFucCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZ2V0TnVtZXJpYyhlKTtpZigiMSI9PT10LmNoYXJBdCgwKSl7dmFyIGk9dC5zdWJzdHIoMSwzKTtyZXR1cm4tMSE9PWwuaW5kZXhPZihpKX1yZXR1cm4hMX19LHtrZXk6Il9oaWdobGlnaHRMaXN0SXRlbSIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLmhpZ2hsaWdodGVkSXRlbTtpJiZpLmNsYXNzTGlzdC5yZW1vdmUoIml0aV9faGlnaGxpZ2h0IiksdGhpcy5oaWdobGlnaHRlZEl0ZW09ZSx0aGlzLmhpZ2hsaWdodGVkSXRlbS5jbGFzc0xpc3QuYWRkKCJpdGlfX2hpZ2hsaWdodCIpLHQmJnRoaXMuaGlnaGxpZ2h0ZWRJdGVtLmZvY3VzKCl9fSx7a2V5OiJfZ2V0Q291bnRyeURhdGEiLHZhbHVlOmZ1bmN0aW9uKGUsaSxuKXtmb3IodmFyIHM9aT90OnRoaXMuY291bnRyaWVzLG89MDtvPHMubGVuZ3RoO28rKylpZihzW29dLmlzbzI9PT1lKXJldHVybiBzW29dO2lmKG4pcmV0dXJuIG51bGw7dGhyb3cgbmV3IEVycm9yKCJObyBjb3VudHJ5IGRhdGEgZm9yICciLmNvbmNhdChlLCInIikpfX0se2tleToiX3NldEZsYWciLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yP3RoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YTp7fTt0aGlzLnNlbGVjdGVkQ291bnRyeURhdGE9ZT90aGlzLl9nZXRDb3VudHJ5RGF0YShlLCExLCExKTp7fSx0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuaXNvMiYmKHRoaXMuZGVmYXVsdENvdW50cnk9dGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzIpLHRoaXMuc2VsZWN0ZWRGbGFnSW5uZXIuc2V0QXR0cmlidXRlKCJjbGFzcyIsIml0aV9fZmxhZyBpdGlfXyIuY29uY2F0KGUpKTt2YXIgaT1lPyIiLmNvbmNhdCh0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEubmFtZSwiOiArIikuY29uY2F0KHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5kaWFsQ29kZSk6IlVua25vd24iO2lmKHRoaXMuc2VsZWN0ZWRGbGFnLnNldEF0dHJpYnV0ZSgidGl0bGUiLGkpLHRoaXMub3B0aW9ucy5zZXBhcmF0ZURpYWxDb2RlKXt2YXIgbj10aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGU/IisiLmNvbmNhdCh0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGUpOiIiO3RoaXMuc2VsZWN0ZWREaWFsQ29kZS5pbm5lckhUTUw9bjt2YXIgcz10aGlzLnNlbGVjdGVkRmxhZy5vZmZzZXRXaWR0aHx8dGhpcy5fZ2V0SGlkZGVuU2VsZWN0ZWRGbGFnV2lkdGgoKTt0aGlzLnRlbElucHV0LnN0eWxlLnBhZGRpbmdMZWZ0PSIiLmNvbmNhdChzKzYsInB4Iil9aWYodGhpcy5fdXBkYXRlUGxhY2Vob2xkZXIoKSx0aGlzLm9wdGlvbnMuYWxsb3dEcm9wZG93bil7dmFyIG89dGhpcy5hY3RpdmVJdGVtO2lmKG8mJihvLmNsYXNzTGlzdC5yZW1vdmUoIml0aV9fYWN0aXZlIiksby5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCJmYWxzZSIpKSxlKXt2YXIgcj10aGlzLmNvdW50cnlMaXN0LnF1ZXJ5U2VsZWN0b3IoIiNpdGktIi5jb25jYXQodGhpcy5pZCwiX19pdGVtLSIpLmNvbmNhdChlLCItcHJlZmVycmVkIikpfHx0aGlzLmNvdW50cnlMaXN0LnF1ZXJ5U2VsZWN0b3IoIiNpdGktIi5jb25jYXQodGhpcy5pZCwiX19pdGVtLSIpLmNvbmNhdChlKSk7ci5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCJ0cnVlIiksci5jbGFzc0xpc3QuYWRkKCJpdGlfX2FjdGl2ZSIpLHRoaXMuYWN0aXZlSXRlbT1yLHRoaXMuc2VsZWN0ZWRGbGFnLnNldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IixyLmdldEF0dHJpYnV0ZSgiaWQiKSl9fXJldHVybiB0LmlzbzIhPT1lfX0se2tleToiX2dldEhpZGRlblNlbGVjdGVkRmxhZ1dpZHRoIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMudGVsSW5wdXQucGFyZW50Tm9kZS5jbG9uZU5vZGUoKTtlLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKTt2YXIgdD10aGlzLmZsYWdzQ29udGFpbmVyLmNsb25lTm9kZSgpO2UuYXBwZW5kQ2hpbGQodCk7dmFyIGk9dGhpcy5zZWxlY3RlZEZsYWcuY2xvbmVOb2RlKCEwKTt0LmFwcGVuZENoaWxkKGkpO3ZhciBuPWkub2Zmc2V0V2lkdGg7cmV0dXJuIGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxufX0se2tleToiX3VwZGF0ZVBsYWNlaG9sZGVyIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPSJhZ2dyZXNzaXZlIj09PXRoaXMub3B0aW9ucy5hdXRvUGxhY2Vob2xkZXJ8fCF0aGlzLmhhZEluaXRpYWxQbGFjZWhvbGRlciYmInBvbGl0ZSI9PT10aGlzLm9wdGlvbnMuYXV0b1BsYWNlaG9sZGVyO2lmKHdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscyYmZSl7dmFyIHQ9aW50bFRlbElucHV0VXRpbHMubnVtYmVyVHlwZVt0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXJOdW1iZXJUeXBlXSxpPXRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yP2ludGxUZWxJbnB1dFV0aWxzLmdldEV4YW1wbGVOdW1iZXIodGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzIsdGhpcy5vcHRpb25zLm5hdGlvbmFsTW9kZSx0KToiIjtpPXRoaXMuX2JlZm9yZVNldE51bWJlcihpKSwiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5vcHRpb25zLmN1c3RvbVBsYWNlaG9sZGVyJiYoaT10aGlzLm9wdGlvbnMuY3VzdG9tUGxhY2Vob2xkZXIoaSx0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEpKSx0aGlzLnRlbElucHV0LnNldEF0dHJpYnV0ZSgicGxhY2Vob2xkZXIiLGkpfX19LHtrZXk6Il9zZWxlY3RMaXN0SXRlbSIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fc2V0RmxhZyhlLmdldEF0dHJpYnV0ZSgiZGF0YS1jb3VudHJ5LWNvZGUiKSk7dGhpcy5fY2xvc2VEcm9wZG93bigpLHRoaXMuX3VwZGF0ZURpYWxDb2RlKGUuZ2V0QXR0cmlidXRlKCJkYXRhLWRpYWwtY29kZSIpLCEwKSx0aGlzLnRlbElucHV0LmZvY3VzKCk7dmFyIGk9dGhpcy50ZWxJbnB1dC52YWx1ZS5sZW5ndGg7dGhpcy50ZWxJbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShpLGkpLHQmJnRoaXMuX3RyaWdnZXJDb3VudHJ5Q2hhbmdlKCl9fSx7a2V5OiJfY2xvc2VEcm9wZG93biIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmNvdW50cnlMaXN0LmNsYXNzTGlzdC5hZGQoIml0aV9faGlkZSIpLHRoaXMuc2VsZWN0ZWRGbGFnLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksdGhpcy5kcm9wZG93bkFycm93LmNsYXNzTGlzdC5yZW1vdmUoIml0aV9fYXJyb3ctLXVwIiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlS2V5ZG93bk9uRHJvcGRvd24pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5faGFuZGxlQ2xpY2tPZmZUb0Nsb3NlKSx0aGlzLmNvdW50cnlMaXN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsdGhpcy5faGFuZGxlTW91c2VvdmVyQ291bnRyeUxpc3QpLHRoaXMuY291bnRyeUxpc3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX2hhbmRsZUNsaWNrQ291bnRyeUxpc3QpLHRoaXMub3B0aW9ucy5kcm9wZG93bkNvbnRhaW5lciYmKHRoaXMuaXNNb2JpbGV8fHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX2hhbmRsZVdpbmRvd1Njcm9sbCksdGhpcy5kcm9wZG93bi5wYXJlbnROb2RlJiZ0aGlzLmRyb3Bkb3duLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5kcm9wZG93bikpLHRoaXMuX3RyaWdnZXIoImNsb3NlOmNvdW50cnlkcm9wZG93biIpfX0se2tleToiX3Njcm9sbFRvIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuY291bnRyeUxpc3Qsbj13aW5kb3cucGFnZVlPZmZzZXR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3Ascz1pLm9mZnNldEhlaWdodCxvPWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wK24scj1vK3MsYT1lLm9mZnNldEhlaWdodCxsPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wK24sYz1sK2EsdT1sLW8raS5zY3JvbGxUb3AsaD1zLzItYS8yO2lmKGw8byl0JiYodS09aCksaS5zY3JvbGxUb3A9dTtlbHNlIGlmKGM+cil7dCYmKHUrPWgpO3ZhciBkPXMtYTtpLnNjcm9sbFRvcD11LWR9fX0se2tleToiX3VwZGF0ZURpYWxDb2RlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBpLG49dGhpcy50ZWxJbnB1dC52YWx1ZSxzPSIrIi5jb25jYXQoZSk7aWYoIisiPT09bi5jaGFyQXQoMCkpe3ZhciBvPXRoaXMuX2dldERpYWxDb2RlKG4pO2k9bz9uLnJlcGxhY2UobyxzKTpzfWVsc2V7aWYodGhpcy5vcHRpb25zLm5hdGlvbmFsTW9kZXx8dGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUpcmV0dXJuO2lmKG4paT1zK247ZWxzZXtpZighdCYmdGhpcy5vcHRpb25zLmF1dG9IaWRlRGlhbENvZGUpcmV0dXJuO2k9c319dGhpcy50ZWxJbnB1dC52YWx1ZT1pfX0se2tleToiX2dldERpYWxDb2RlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBpPSIiO2lmKCIrIj09PWUuY2hhckF0KDApKWZvcih2YXIgbj0iIixzPTA7czxlLmxlbmd0aDtzKyspe3ZhciBvPWUuY2hhckF0KHMpO2lmKCFpc05hTihwYXJzZUludChvLDEwKSkpe2lmKG4rPW8sdCl0aGlzLmNvdW50cnlDb2Rlc1tuXSYmKGk9ZS5zdWJzdHIoMCxzKzEpKTtlbHNlIGlmKHRoaXMuZGlhbENvZGVzW25dKXtpPWUuc3Vic3RyKDAscysxKTticmVha31pZihuLmxlbmd0aD09PXRoaXMuY291bnRyeUNvZGVNYXhMZW4pYnJlYWt9fXJldHVybiBpfX0se2tleToiX2dldEZ1bGxOdW1iZXIiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50ZWxJbnB1dC52YWx1ZS50cmltKCksdD10aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGUsaT10aGlzLl9nZXROdW1lcmljKGUpO3JldHVybih0aGlzLm9wdGlvbnMuc2VwYXJhdGVEaWFsQ29kZSYmIisiIT09ZS5jaGFyQXQoMCkmJnQmJmk/IisiLmNvbmNhdCh0KToiIikrZX19LHtrZXk6Il9iZWZvcmVTZXROdW1iZXIiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWU7aWYodGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUpe3ZhciBpPXRoaXMuX2dldERpYWxDb2RlKHQpO2lmKGkpe3ZhciBuPSIgIj09PXRbKGk9IisiLmNvbmNhdCh0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGUpKS5sZW5ndGhdfHwiLSI9PT10W2kubGVuZ3RoXT9pLmxlbmd0aCsxOmkubGVuZ3RoO3Q9dC5zdWJzdHIobil9fXJldHVybiB0aGlzLl9jYXAodCl9fSx7a2V5OiJfdHJpZ2dlckNvdW50cnlDaGFuZ2UiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5fdHJpZ2dlcigiY291bnRyeWNoYW5nZSIpfX0se2tleToiaGFuZGxlQXV0b0NvdW50cnkiLHZhbHVlOmZ1bmN0aW9uKCl7ImF1dG8iPT09dGhpcy5vcHRpb25zLmluaXRpYWxDb3VudHJ5JiYodGhpcy5kZWZhdWx0Q291bnRyeT13aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5hdXRvQ291bnRyeSx0aGlzLnRlbElucHV0LnZhbHVlfHx0aGlzLnNldENvdW50cnkodGhpcy5kZWZhdWx0Q291bnRyeSksdGhpcy5yZXNvbHZlQXV0b0NvdW50cnlQcm9taXNlKCkpfX0se2tleToiaGFuZGxlVXRpbHMiLHZhbHVlOmZ1bmN0aW9uKCl7d2luZG93LmludGxUZWxJbnB1dFV0aWxzJiYodGhpcy50ZWxJbnB1dC52YWx1ZSYmdGhpcy5fdXBkYXRlVmFsRnJvbU51bWJlcih0aGlzLnRlbElucHV0LnZhbHVlKSx0aGlzLl91cGRhdGVQbGFjZWhvbGRlcigpKSx0aGlzLnJlc29sdmVVdGlsc1NjcmlwdFByb21pc2UoKX19LHtrZXk6ImRlc3Ryb3kiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50ZWxJbnB1dC5mb3JtO2lmKHRoaXMub3B0aW9ucy5hbGxvd0Ryb3Bkb3duKXt0aGlzLl9jbG9zZURyb3Bkb3duKCksdGhpcy5zZWxlY3RlZEZsYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX2hhbmRsZUNsaWNrU2VsZWN0ZWRGbGFnKSx0aGlzLmZsYWdzQ29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2hhbmRsZUZsYWdzQ29udGFpbmVyS2V5ZG93bik7dmFyIHQ9dGhpcy5fZ2V0Q2xvc2VzdExhYmVsKCk7dCYmdC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5faGFuZGxlTGFiZWxDbGljayl9dGhpcy5oaWRkZW5JbnB1dCYmZSYmZS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWJtaXQiLHRoaXMuX2hhbmRsZUhpZGRlbklucHV0U3VibWl0KSx0aGlzLm9wdGlvbnMuYXV0b0hpZGVEaWFsQ29kZSYmKGUmJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VibWl0Iix0aGlzLl9oYW5kbGVTdWJtaXRPckJsdXJFdmVudCksdGhpcy50ZWxJbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9oYW5kbGVTdWJtaXRPckJsdXJFdmVudCkpLHRoaXMudGVsSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuX2hhbmRsZUtleXVwRXZlbnQpLHRoaXMudGVsSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY3V0Iix0aGlzLl9oYW5kbGVDbGlwYm9hcmRFdmVudCksdGhpcy50ZWxJbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCJwYXN0ZSIsdGhpcy5faGFuZGxlQ2xpcGJvYXJkRXZlbnQpLHRoaXMudGVsSW5wdXQucmVtb3ZlQXR0cmlidXRlKCJkYXRhLWludGwtdGVsLWlucHV0LWlkIik7dmFyIGk9dGhpcy50ZWxJbnB1dC5wYXJlbnROb2RlO2kucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy50ZWxJbnB1dCxpKSxpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSksZGVsZXRlIHdpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLmluc3RhbmNlc1t0aGlzLmlkXX19LHtrZXk6ImdldEV4dGVuc2lvbiIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmludGxUZWxJbnB1dFV0aWxzP2ludGxUZWxJbnB1dFV0aWxzLmdldEV4dGVuc2lvbih0aGlzLl9nZXRGdWxsTnVtYmVyKCksdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzIpOiIifX0se2tleToiZ2V0TnVtYmVyIix2YWx1ZTpmdW5jdGlvbihlKXtpZih3aW5kb3cuaW50bFRlbElucHV0VXRpbHMpe3ZhciB0PXRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yO3JldHVybiBpbnRsVGVsSW5wdXRVdGlscy5mb3JtYXROdW1iZXIodGhpcy5fZ2V0RnVsbE51bWJlcigpLHQsZSl9cmV0dXJuIiJ9fSx7a2V5OiJnZXROdW1iZXJUeXBlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB3aW5kb3cuaW50bFRlbElucHV0VXRpbHM/aW50bFRlbElucHV0VXRpbHMuZ2V0TnVtYmVyVHlwZSh0aGlzLl9nZXRGdWxsTnVtYmVyKCksdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzIpOi05OX19LHtrZXk6ImdldFNlbGVjdGVkQ291bnRyeURhdGEiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YX19LHtrZXk6ImdldFZhbGlkYXRpb25FcnJvciIsdmFsdWU6ZnVuY3Rpb24oKXtpZih3aW5kb3cuaW50bFRlbElucHV0VXRpbHMpe3ZhciBlPXRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yO3JldHVybiBpbnRsVGVsSW5wdXRVdGlscy5nZXRWYWxpZGF0aW9uRXJyb3IodGhpcy5fZ2V0RnVsbE51bWJlcigpLGUpfXJldHVybi05OX19LHtrZXk6ImlzVmFsaWROdW1iZXIiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fZ2V0RnVsbE51bWJlcigpLnRyaW0oKSx0PXRoaXMub3B0aW9ucy5uYXRpb25hbE1vZGU/dGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzI6IiI7cmV0dXJuIHdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscz9pbnRsVGVsSW5wdXRVdGlscy5pc1ZhbGlkTnVtYmVyKGUsdCk6bnVsbH19LHtrZXk6InNldENvdW50cnkiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWUudG9Mb3dlckNhc2UoKTt0aGlzLnNlbGVjdGVkRmxhZ0lubmVyLmNsYXNzTGlzdC5jb250YWlucygiaXRpX18iLmNvbmNhdCh0KSl8fCh0aGlzLl9zZXRGbGFnKHQpLHRoaXMuX3VwZGF0ZURpYWxDb2RlKHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5kaWFsQ29kZSwhMSksdGhpcy5fdHJpZ2dlckNvdW50cnlDaGFuZ2UoKSl9fSx7a2V5OiJzZXROdW1iZXIiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3VwZGF0ZUZsYWdGcm9tTnVtYmVyKGUpO3RoaXMuX3VwZGF0ZVZhbEZyb21OdW1iZXIoZSksdCYmdGhpcy5fdHJpZ2dlckNvdW50cnlDaGFuZ2UoKX19LHtrZXk6InNldFBsYWNlaG9sZGVyTnVtYmVyVHlwZSIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyTnVtYmVyVHlwZT1lLHRoaXMuX3VwZGF0ZVBsYWNlaG9sZGVyKCl9fV0sbyYmcyhuLnByb3RvdHlwZSxvKSxoJiZzKG4saCksaX0oKTtvLmdldENvdW50cnlEYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHR9O3ZhciBkPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtuLm9ubG9hZD1mdW5jdGlvbigpe3UoImhhbmRsZVV0aWxzIiksdCYmdCgpfSxuLm9uZXJyb3I9ZnVuY3Rpb24oKXt1KCJyZWplY3RVdGlsc1NjcmlwdFByb21pc2UiKSxpJiZpKCl9LG4uY2xhc3NOYW1lPSJpdGktbG9hZC11dGlscyIsbi5hc3luYz0hMCxuLnNyYz1lLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobil9O3JldHVybiBvLmxvYWRVdGlscz1mdW5jdGlvbihlKXtpZighd2luZG93LmludGxUZWxJbnB1dFV0aWxzJiYhd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuc3RhcnRlZExvYWRpbmdVdGlsc1NjcmlwdCl7aWYod2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuc3RhcnRlZExvYWRpbmdVdGlsc1NjcmlwdD0hMCwidW5kZWZpbmVkIiE9dHlwZW9mIFByb21pc2UpcmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LGkpe3JldHVybiBkKGUsdCxpKX0pKTtkKGUpfXJldHVybiBudWxsfSxvLmRlZmF1bHRzPWEsby52ZXJzaW9uPSIxNy4wLjEzIixmdW5jdGlvbihlLHQpe3ZhciBpPW5ldyBoKGUsdCk7cmV0dXJuIGkuX2luaXQoKSxlLnNldEF0dHJpYnV0ZSgiZGF0YS1pbnRsLXRlbC1pbnB1dC1pZCIsaS5pZCksd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuaW5zdGFuY2VzW2kuaWRdPWksaX19KCl9LGUuZXhwb3J0cz9lLmV4cG9ydHM9dCgpOndpbmRvdy5pbnRsVGVsSW5wdXQ9dCgpfSwxODY5OTpmdW5jdGlvbihlLHQsaSl7ZS5leHBvcnRzPWkoODUxOTcpfSw4OTc0MDpmdW5jdGlvbigpey8qIQoqIE5hbWUgOiBKdXN0IEFub3RoZXIgUGFyYWxsYXggW0phcmFsbGF4XQoqIFZlcnNpb24gOiAxLjEyLjgKKiBBdXRob3IgOiBuSyA8aHR0cHM6Ly9ua2Rldi5pbmZvPgoqIEdpdEh1YiA6IGh0dHBzOi8vZ2l0aHViLmNvbS9uay1vL2phcmFsbGF4CiovIWZ1bmN0aW9uKCl7dmFyIGU9ezI6ZnVuY3Rpb24oZSx0LGkpe3ZhciBuO249InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnZvaWQgMCE9PWkuZz9pLmc6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e30sZS5leHBvcnRzPW59LDE6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpeyJjb21wbGV0ZSI9PT1kb2N1bWVudC5yZWFkeVN0YXRlfHwiaW50ZXJhY3RpdmUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9lLmNhbGwoKTpkb2N1bWVudC5hdHRhY2hFdmVudD9kb2N1bWVudC5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIiwoZnVuY3Rpb24oKXsiaW50ZXJhY3RpdmUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmZS5jYWxsKCl9KSk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZSl9fSw4OmZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpO3ZhciBuPWkoMSkscz1pLm4obiksbz1pKDIpO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIGk9bnVsbD09ZT9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZihudWxsPT1pKXJldHVybjt2YXIgbixzLG89W10scj0hMCxhPSExO3RyeXtmb3IoaT1pLmNhbGwoZSk7IShyPShuPWkubmV4dCgpKS5kb25lKSYmKG8ucHVzaChuLnZhbHVlKSwhdHx8by5sZW5ndGghPT10KTtyPSEwKTt9Y2F0Y2goZSl7YT0hMCxzPWV9ZmluYWxseXt0cnl7cnx8bnVsbD09aS5yZXR1cm58fGkucmV0dXJuKCl9ZmluYWxseXtpZihhKXRocm93IHN9fXJldHVybiBvfShlLHQpfHxmdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybjtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGEoZSx0KTt2YXIgaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7Ik9iamVjdCI9PT1pJiZlLmNvbnN0cnVjdG9yJiYoaT1lLmNvbnN0cnVjdG9yLm5hbWUpO2lmKCJNYXAiPT09aXx8IlNldCI9PT1pKXJldHVybiBBcnJheS5mcm9tKGUpO2lmKCJBcmd1bWVudHMiPT09aXx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QoaSkpcmV0dXJuIGEoZSx0KX0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIGEoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIGk9MCxuPW5ldyBBcnJheSh0KTtpPHQ7aSsrKW5baV09ZVtpXTtyZXR1cm4gbn1mdW5jdGlvbiBsKGUpe3JldHVybiBsPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxsKGUpfWZ1bmN0aW9uIGMoZSx0KXtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG49dFtpXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHwhMSxuLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gbiYmKG4ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4ua2V5LG4pfX12YXIgdSxoLGQ9by53aW5kb3cubmF2aWdhdG9yLHA9LTE8ZC51c2VyQWdlbnQuaW5kZXhPZigiTVNJRSAiKXx8LTE8ZC51c2VyQWdlbnQuaW5kZXhPZigiVHJpZGVudC8iKXx8LTE8ZC51c2VyQWdlbnQuaW5kZXhPZigiRWRnZS8iKSxmPS9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdChkLnVzZXJBZ2VudCksbT1mdW5jdGlvbigpe2Zvcih2YXIgZT0idHJhbnNmb3JtIFdlYmtpdFRyYW5zZm9ybSBNb3pUcmFuc2Zvcm0iLnNwbGl0KCIgIiksdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxpPTA7aTxlLmxlbmd0aDtpKz0xKWlmKHQmJnZvaWQgMCE9PXQuc3R5bGVbZVtpXV0pcmV0dXJuIGVbaV07cmV0dXJuITF9KCk7ZnVuY3Rpb24gZygpe2Y/KCF1JiZkb2N1bWVudC5ib2R5JiYoKHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOiBmaXhlZDsgdG9wOiAtOTk5OXB4OyBsZWZ0OiAwOyBoZWlnaHQ6IDEwMHZoOyB3aWR0aDogMDsiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodSkpLGg9KHU/dS5jbGllbnRIZWlnaHQ6MCl8fG8ud2luZG93LmlubmVySGVpZ2h0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTpoPW8ud2luZG93LmlubmVySGVpZ2h0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0fWcoKSxvLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGcpLG8ud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixnKSxvLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixnKSxzKCkoKGZ1bmN0aW9uKCl7ZygpfSkpO3ZhciB5PVtdO2Z1bmN0aW9uIHYoKXt5Lmxlbmd0aCYmKHkuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXt2YXIgaT1lLmluc3RhbmNlLG49ZS5vbGREYXRhLHM9aS4kaXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPXt3aWR0aDpzLndpZHRoLGhlaWdodDpzLmhlaWdodCx0b3A6cy50b3AsYm90dG9tOnMuYm90dG9tLHduZFc6by53aW5kb3cuaW5uZXJXaWR0aCx3bmRIOmh9LGE9IW58fG4ud25kVyE9PXIud25kV3x8bi53bmRIIT09ci53bmRIfHxuLndpZHRoIT09ci53aWR0aHx8bi5oZWlnaHQhPT1yLmhlaWdodCxsPWF8fCFufHxuLnRvcCE9PXIudG9wfHxuLmJvdHRvbSE9PXIuYm90dG9tO3lbdF0ub2xkRGF0YT1yLGEmJmkub25SZXNpemUoKSxsJiZpLm9uU2Nyb2xsKCl9KSksby53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHYpKX12YXIgYj0wLF89ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsaSl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsZSk7dmFyIG49dGhpcztuLmluc3RhbmNlSUQ9YixiKz0xLG4uJGl0ZW09dCxuLmRlZmF1bHRzPXt0eXBlOiJzY3JvbGwiLHNwZWVkOi41LGltZ1NyYzpudWxsLGltZ0VsZW1lbnQ6Ii5qYXJhbGxheC1pbWciLGltZ1NpemU6ImNvdmVyIixpbWdQb3NpdGlvbjoiNTAlIDUwJSIsaW1nUmVwZWF0OiJuby1yZXBlYXQiLGtlZXBJbWc6ITEsZWxlbWVudEluVmlld3BvcnQ6bnVsbCx6SW5kZXg6LTEwMCxkaXNhYmxlUGFyYWxsYXg6ITEsZGlzYWJsZVZpZGVvOiExLHZpZGVvU3JjOm51bGwsdmlkZW9TdGFydFRpbWU6MCx2aWRlb0VuZFRpbWU6MCx2aWRlb1ZvbHVtZTowLHZpZGVvTG9vcDohMCx2aWRlb1BsYXlPbmx5VmlzaWJsZTohMCx2aWRlb0xhenlMb2FkaW5nOiEwLG9uU2Nyb2xsOm51bGwsb25Jbml0Om51bGwsb25EZXN0cm95Om51bGwsb25Db3ZlckltYWdlOm51bGx9O3ZhciBzPW4uJGl0ZW0uZGF0YXNldHx8e30sbz17fTtpZihPYmplY3Qua2V5cyhzKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1lLnN1YnN0cigwLDEpLnRvTG93ZXJDYXNlKCkrZS5zdWJzdHIoMSk7dCYmdm9pZCAwIT09bi5kZWZhdWx0c1t0XSYmKG9bdF09c1tlXSl9KSksbi5vcHRpb25zPW4uZXh0ZW5kKHt9LG4uZGVmYXVsdHMsbyxpKSxuLnB1cmVPcHRpb25zPW4uZXh0ZW5kKHt9LG4ub3B0aW9ucyksT2JqZWN0LmtleXMobi5vcHRpb25zKS5mb3JFYWNoKChmdW5jdGlvbihlKXsidHJ1ZSI9PT1uLm9wdGlvbnNbZV0/bi5vcHRpb25zW2VdPSEwOiJmYWxzZSI9PT1uLm9wdGlvbnNbZV0mJihuLm9wdGlvbnNbZV09ITEpfSkpLG4ub3B0aW9ucy5zcGVlZD1NYXRoLm1pbigyLE1hdGgubWF4KC0xLHBhcnNlRmxvYXQobi5vcHRpb25zLnNwZWVkKSkpLCJzdHJpbmciPT10eXBlb2Ygbi5vcHRpb25zLmRpc2FibGVQYXJhbGxheCYmKG4ub3B0aW9ucy5kaXNhYmxlUGFyYWxsYXg9bmV3IFJlZ0V4cChuLm9wdGlvbnMuZGlzYWJsZVBhcmFsbGF4KSksbi5vcHRpb25zLmRpc2FibGVQYXJhbGxheCBpbnN0YW5jZW9mIFJlZ0V4cCl7dmFyIGE9bi5vcHRpb25zLmRpc2FibGVQYXJhbGxheDtuLm9wdGlvbnMuZGlzYWJsZVBhcmFsbGF4PWZ1bmN0aW9uKCl7cmV0dXJuIGEudGVzdChkLnVzZXJBZ2VudCl9fWlmKCJmdW5jdGlvbiIhPXR5cGVvZiBuLm9wdGlvbnMuZGlzYWJsZVBhcmFsbGF4JiYobi5vcHRpb25zLmRpc2FibGVQYXJhbGxheD1mdW5jdGlvbigpe3JldHVybiExfSksInN0cmluZyI9PXR5cGVvZiBuLm9wdGlvbnMuZGlzYWJsZVZpZGVvJiYobi5vcHRpb25zLmRpc2FibGVWaWRlbz1uZXcgUmVnRXhwKG4ub3B0aW9ucy5kaXNhYmxlVmlkZW8pKSxuLm9wdGlvbnMuZGlzYWJsZVZpZGVvIGluc3RhbmNlb2YgUmVnRXhwKXt2YXIgYz1uLm9wdGlvbnMuZGlzYWJsZVZpZGVvO24ub3B0aW9ucy5kaXNhYmxlVmlkZW89ZnVuY3Rpb24oKXtyZXR1cm4gYy50ZXN0KGQudXNlckFnZW50KX19ImZ1bmN0aW9uIiE9dHlwZW9mIG4ub3B0aW9ucy5kaXNhYmxlVmlkZW8mJihuLm9wdGlvbnMuZGlzYWJsZVZpZGVvPWZ1bmN0aW9uKCl7cmV0dXJuITF9KTt2YXIgdT1uLm9wdGlvbnMuZWxlbWVudEluVmlld3BvcnQ7dSYmIm9iamVjdCI9PT1sKHUpJiZ2b2lkIDAhPT11Lmxlbmd0aCYmKHU9cih1LDEpWzBdKTt1IGluc3RhbmNlb2YgRWxlbWVudHx8KHU9bnVsbCksbi5vcHRpb25zLmVsZW1lbnRJblZpZXdwb3J0PXUsbi5pbWFnZT17c3JjOm4ub3B0aW9ucy5pbWdTcmN8fG51bGwsJGNvbnRhaW5lcjpudWxsLHVzZUltZ1RhZzohMSxwb3NpdGlvbjoiZml4ZWQifSxuLmluaXRJbWcoKSYmbi5jYW5Jbml0UGFyYWxsYXgoKSYmbi5pbml0KCl9dmFyIHQsaSxuO3JldHVybiB0PWUsaT1be2tleToiY3NzIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9vLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpLmdldFByb3BlcnR5VmFsdWUodCk6KHQudHJhbnNmb3JtJiZtJiYodFttXT10LnRyYW5zZm9ybSksT2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24oaSl7ZS5zdHlsZVtpXT10W2ldfSkpLGUpfX0se2tleToiZXh0ZW5kIix2YWx1ZTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxpPW5ldyBBcnJheSh0PjE/dC0xOjApLG49MTtuPHQ7bisrKWlbbi0xXT1hcmd1bWVudHNbbl07cmV0dXJuIGU9ZXx8e30sT2JqZWN0LmtleXMoaSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7aVt0XSYmT2JqZWN0LmtleXMoaVt0XSkuZm9yRWFjaCgoZnVuY3Rpb24obil7ZVtuXT1pW3RdW25dfSkpfSkpLGV9fSx7a2V5OiJnZXRXaW5kb3dEYXRhIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybnt3aWR0aDpvLndpbmRvdy5pbm5lcldpZHRofHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsaGVpZ2h0OmgseTpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfX19LHtrZXk6ImluaXRJbWciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUub3B0aW9ucy5pbWdFbGVtZW50O3JldHVybiB0JiYic3RyaW5nIj09dHlwZW9mIHQmJih0PWUuJGl0ZW0ucXVlcnlTZWxlY3Rvcih0KSksdCBpbnN0YW5jZW9mIEVsZW1lbnR8fChlLm9wdGlvbnMuaW1nU3JjPyh0PW5ldyBJbWFnZSkuc3JjPWUub3B0aW9ucy5pbWdTcmM6dD1udWxsKSx0JiYoZS5vcHRpb25zLmtlZXBJbWc/ZS5pbWFnZS4kaXRlbT10LmNsb25lTm9kZSghMCk6KGUuaW1hZ2UuJGl0ZW09dCxlLmltYWdlLiRpdGVtUGFyZW50PXQucGFyZW50Tm9kZSksZS5pbWFnZS51c2VJbWdUYWc9ITApLCEoIWUuaW1hZ2UuJGl0ZW0mJihudWxsPT09ZS5pbWFnZS5zcmMmJihlLmltYWdlLnNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IixlLmltYWdlLmJnSW1hZ2U9ZS5jc3MoZS4kaXRlbSwiYmFja2dyb3VuZC1pbWFnZSIpKSwhZS5pbWFnZS5iZ0ltYWdlfHwibm9uZSI9PT1lLmltYWdlLmJnSW1hZ2UpKX19LHtrZXk6ImNhbkluaXRQYXJhbGxheCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbSYmIXRoaXMub3B0aW9ucy5kaXNhYmxlUGFyYWxsYXgoKX19LHtrZXk6ImluaXQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCx3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixvdmVyZmxvdzoiaGlkZGVuIn0saT17cG9pbnRlckV2ZW50czoibm9uZSIsdHJhbnNmb3JtU3R5bGU6InByZXNlcnZlLTNkIixiYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiIsd2lsbENoYW5nZToidHJhbnNmb3JtLG9wYWNpdHkifTtpZighZS5vcHRpb25zLmtlZXBJbWcpe3ZhciBuPWUuJGl0ZW0uZ2V0QXR0cmlidXRlKCJzdHlsZSIpO2lmKG4mJmUuJGl0ZW0uc2V0QXR0cmlidXRlKCJkYXRhLWphcmFsbGF4LW9yaWdpbmFsLXN0eWxlcyIsbiksZS5pbWFnZS51c2VJbWdUYWcpe3ZhciBzPWUuaW1hZ2UuJGl0ZW0uZ2V0QXR0cmlidXRlKCJzdHlsZSIpO3MmJmUuaW1hZ2UuJGl0ZW0uc2V0QXR0cmlidXRlKCJkYXRhLWphcmFsbGF4LW9yaWdpbmFsLXN0eWxlcyIscyl9fWlmKCJzdGF0aWMiPT09ZS5jc3MoZS4kaXRlbSwicG9zaXRpb24iKSYmZS5jc3MoZS4kaXRlbSx7cG9zaXRpb246InJlbGF0aXZlIn0pLCJhdXRvIj09PWUuY3NzKGUuJGl0ZW0sInotaW5kZXgiKSYmZS5jc3MoZS4kaXRlbSx7ekluZGV4OjB9KSxlLmltYWdlLiRjb250YWluZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5jc3MoZS5pbWFnZS4kY29udGFpbmVyLHQpLGUuY3NzKGUuaW1hZ2UuJGNvbnRhaW5lcix7InotaW5kZXgiOmUub3B0aW9ucy56SW5kZXh9KSxwJiZlLmNzcyhlLmltYWdlLiRjb250YWluZXIse29wYWNpdHk6Ljk5OTl9KSxlLmltYWdlLiRjb250YWluZXIuc2V0QXR0cmlidXRlKCJpZCIsImphcmFsbGF4LWNvbnRhaW5lci0iLmNvbmNhdChlLmluc3RhbmNlSUQpKSxlLiRpdGVtLmFwcGVuZENoaWxkKGUuaW1hZ2UuJGNvbnRhaW5lciksZS5pbWFnZS51c2VJbWdUYWc/aT1lLmV4dGVuZCh7Im9iamVjdC1maXQiOmUub3B0aW9ucy5pbWdTaXplLCJvYmplY3QtcG9zaXRpb24iOmUub3B0aW9ucy5pbWdQb3NpdGlvbiwiZm9udC1mYW1pbHkiOiJvYmplY3QtZml0OiAiLmNvbmNhdChlLm9wdGlvbnMuaW1nU2l6ZSwiOyBvYmplY3QtcG9zaXRpb246ICIpLmNvbmNhdChlLm9wdGlvbnMuaW1nUG9zaXRpb24sIjsiKSwibWF4LXdpZHRoIjoibm9uZSJ9LHQsaSk6KGUuaW1hZ2UuJGl0ZW09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5pbWFnZS5zcmMmJihpPWUuZXh0ZW5kKHsiYmFja2dyb3VuZC1wb3NpdGlvbiI6ZS5vcHRpb25zLmltZ1Bvc2l0aW9uLCJiYWNrZ3JvdW5kLXNpemUiOmUub3B0aW9ucy5pbWdTaXplLCJiYWNrZ3JvdW5kLXJlcGVhdCI6ZS5vcHRpb25zLmltZ1JlcGVhdCwiYmFja2dyb3VuZC1pbWFnZSI6ZS5pbWFnZS5iZ0ltYWdlfHwndXJsKCInLmNvbmNhdChlLmltYWdlLnNyYywnIiknKX0sdCxpKSkpLCJvcGFjaXR5IiE9PWUub3B0aW9ucy50eXBlJiYic2NhbGUiIT09ZS5vcHRpb25zLnR5cGUmJiJzY2FsZS1vcGFjaXR5IiE9PWUub3B0aW9ucy50eXBlJiYxIT09ZS5vcHRpb25zLnNwZWVkfHwoZS5pbWFnZS5wb3NpdGlvbj0iYWJzb2x1dGUiKSwiZml4ZWQiPT09ZS5pbWFnZS5wb3NpdGlvbil7dmFyIHI9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdO251bGwhPT1lLnBhcmVudEVsZW1lbnQ7KTE9PT0oZT1lLnBhcmVudEVsZW1lbnQpLm5vZGVUeXBlJiZ0LnB1c2goZSk7cmV0dXJuIHR9KGUuJGl0ZW0pLmZpbHRlcigoZnVuY3Rpb24oZSl7dmFyIHQ9by53aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlKSxpPXRbIi13ZWJraXQtdHJhbnNmb3JtIl18fHRbIi1tb3otdHJhbnNmb3JtIl18fHQudHJhbnNmb3JtO3JldHVybiBpJiYibm9uZSIhPT1pfHwvKGF1dG98c2Nyb2xsKS8udGVzdCh0Lm92ZXJmbG93K3RbIm92ZXJmbG93LXkiXSt0WyJvdmVyZmxvdy14Il0pfSkpO2UuaW1hZ2UucG9zaXRpb249ci5sZW5ndGg/ImFic29sdXRlIjoiZml4ZWQifWkucG9zaXRpb249ZS5pbWFnZS5wb3NpdGlvbixlLmNzcyhlLmltYWdlLiRpdGVtLGkpLGUuaW1hZ2UuJGNvbnRhaW5lci5hcHBlbmRDaGlsZChlLmltYWdlLiRpdGVtKSxlLm9uUmVzaXplKCksZS5vblNjcm9sbCghMCksZS5vcHRpb25zLm9uSW5pdCYmZS5vcHRpb25zLm9uSW5pdC5jYWxsKGUpLCJub25lIiE9PWUuY3NzKGUuJGl0ZW0sImJhY2tncm91bmQtaW1hZ2UiKSYmZS5jc3MoZS4kaXRlbSx7ImJhY2tncm91bmQtaW1hZ2UiOiJub25lIn0pLGUuYWRkVG9QYXJhbGxheExpc3QoKX19LHtrZXk6ImFkZFRvUGFyYWxsYXhMaXN0Iix2YWx1ZTpmdW5jdGlvbigpe3kucHVzaCh7aW5zdGFuY2U6dGhpc30pLDE9PT15Lmxlbmd0aCYmby53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHYpfX0se2tleToicmVtb3ZlRnJvbVBhcmFsbGF4TGlzdCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3kuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXt0Lmluc3RhbmNlLmluc3RhbmNlSUQ9PT1lLmluc3RhbmNlSUQmJnkuc3BsaWNlKGksMSl9KSl9fSx7a2V5OiJkZXN0cm95Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5yZW1vdmVGcm9tUGFyYWxsYXhMaXN0KCk7dmFyIHQ9ZS4kaXRlbS5nZXRBdHRyaWJ1dGUoImRhdGEtamFyYWxsYXgtb3JpZ2luYWwtc3R5bGVzIik7aWYoZS4kaXRlbS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtamFyYWxsYXgtb3JpZ2luYWwtc3R5bGVzIiksdD9lLiRpdGVtLnNldEF0dHJpYnV0ZSgic3R5bGUiLHQpOmUuJGl0ZW0ucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpLGUuaW1hZ2UudXNlSW1nVGFnKXt2YXIgaT1lLmltYWdlLiRpdGVtLmdldEF0dHJpYnV0ZSgiZGF0YS1qYXJhbGxheC1vcmlnaW5hbC1zdHlsZXMiKTtlLmltYWdlLiRpdGVtLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1qYXJhbGxheC1vcmlnaW5hbC1zdHlsZXMiKSxpP2UuaW1hZ2UuJGl0ZW0uc2V0QXR0cmlidXRlKCJzdHlsZSIsdCk6ZS5pbWFnZS4kaXRlbS5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIiksZS5pbWFnZS4kaXRlbVBhcmVudCYmZS5pbWFnZS4kaXRlbVBhcmVudC5hcHBlbmRDaGlsZChlLmltYWdlLiRpdGVtKX1lLiRjbGlwU3R5bGVzJiZlLiRjbGlwU3R5bGVzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZS4kY2xpcFN0eWxlcyksZS5pbWFnZS4kY29udGFpbmVyJiZlLmltYWdlLiRjb250YWluZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlLmltYWdlLiRjb250YWluZXIpLGUub3B0aW9ucy5vbkRlc3Ryb3kmJmUub3B0aW9ucy5vbkRlc3Ryb3kuY2FsbChlKSxkZWxldGUgZS4kaXRlbS5qYXJhbGxheH19LHtrZXk6ImNsaXBDb250YWluZXIiLHZhbHVlOmZ1bmN0aW9uKCl7aWYoImZpeGVkIj09PXRoaXMuaW1hZ2UucG9zaXRpb24pe3ZhciBlPXRoaXMsdD1lLmltYWdlLiRjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10LndpZHRoLG49dC5oZWlnaHQ7ZS4kY2xpcFN0eWxlc3x8KGUuJGNsaXBTdHlsZXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxlLiRjbGlwU3R5bGVzLnNldEF0dHJpYnV0ZSgidHlwZSIsInRleHQvY3NzIiksZS4kY2xpcFN0eWxlcy5zZXRBdHRyaWJ1dGUoImlkIiwiamFyYWxsYXgtY2xpcC0iLmNvbmNhdChlLmluc3RhbmNlSUQpKSwoZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXSkuYXBwZW5kQ2hpbGQoZS4kY2xpcFN0eWxlcykpO3ZhciBzPSIjamFyYWxsYXgtY29udGFpbmVyLSIuY29uY2F0KGUuaW5zdGFuY2VJRCwiIHtcbiAgICAgICAgICAgIGNsaXA6IHJlY3QoMCAiKS5jb25jYXQoaSwicHggIikuY29uY2F0KG4sInB4IDApO1xuICAgICAgICAgICAgY2xpcDogcmVjdCgwLCAiKS5jb25jYXQoaSwicHgsICIpLmNvbmNhdChuLCJweCwgMCk7XG4gICAgICAgICAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG4gICAgICAgIH0iKTtlLiRjbGlwU3R5bGVzLnN0eWxlU2hlZXQ/ZS4kY2xpcFN0eWxlcy5zdHlsZVNoZWV0LmNzc1RleHQ9czplLiRjbGlwU3R5bGVzLmlubmVySFRNTD1zfX19LHtrZXk6ImNvdmVySW1hZ2UiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuaW1hZ2UuJGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXQuaGVpZ2h0LG49ZS5vcHRpb25zLnNwZWVkLHM9InNjcm9sbCI9PT1lLm9wdGlvbnMudHlwZXx8InNjcm9sbC1vcGFjaXR5Ij09PWUub3B0aW9ucy50eXBlLG89MCxyPWksYT0wO3JldHVybiBzJiYoMD5uPyhvPW4qTWF0aC5tYXgoaSxoKSxoPGkmJihvLT1uKihpLWgpKSk6bz1uKihpK2gpLDE8bj9yPU1hdGguYWJzKG8taCk6MD5uP3I9by9uK01hdGguYWJzKG8pOnIrPShoLWkpKigxLW4pLG8vPTIpLGUucGFyYWxsYXhTY3JvbGxEaXN0YW5jZT1vLGE9cz8oaC1yKS8yOihpLXIpLzIsZS5jc3MoZS5pbWFnZS4kaXRlbSx7aGVpZ2h0OiIiLmNvbmNhdChyLCJweCIpLG1hcmdpblRvcDoiIi5jb25jYXQoYSwicHgiKSxsZWZ0OiJmaXhlZCI9PT1lLmltYWdlLnBvc2l0aW9uPyIiLmNvbmNhdCh0LmxlZnQsInB4Iik6IjAiLHdpZHRoOiIiLmNvbmNhdCh0LndpZHRoLCJweCIpfSksZS5vcHRpb25zLm9uQ292ZXJJbWFnZSYmZS5vcHRpb25zLm9uQ292ZXJJbWFnZS5jYWxsKGUpLHtpbWFnZTp7aGVpZ2h0OnIsbWFyZ2luVG9wOmF9LGNvbnRhaW5lcjp0fX19LHtrZXk6ImlzVmlzaWJsZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0VsZW1lbnRJblZpZXdwb3J0fHwhMX19LHtrZXk6Im9uU2Nyb2xsIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLGk9dC4kaXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWkudG9wLHM9aS5oZWlnaHQscj17fSxhPWk7aWYodC5vcHRpb25zLmVsZW1lbnRJblZpZXdwb3J0JiYoYT10Lm9wdGlvbnMuZWxlbWVudEluVmlld3BvcnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLHQuaXNFbGVtZW50SW5WaWV3cG9ydD0wPD1hLmJvdHRvbSYmMDw9YS5yaWdodCYmYS50b3A8PWgmJmEubGVmdDw9by53aW5kb3cuaW5uZXJXaWR0aCxlfHx0LmlzRWxlbWVudEluVmlld3BvcnQpe3ZhciBsPU1hdGgubWF4KDAsbiksYz1NYXRoLm1heCgwLHMrbiksdT1NYXRoLm1heCgwLC1uKSxkPU1hdGgubWF4KDAsbitzLWgpLHA9TWF0aC5tYXgoMCxzLShuK3MtaCkpLGY9TWF0aC5tYXgoMCwtbitoLXMpLG09MS0oaC1uKS8oaCtzKSoyLGc9MTtpZihzPGg/Zz0xLSh1fHxkKS9zOmM8PWg/Zz1jL2g6cDw9aCYmKGc9cC9oKSwib3BhY2l0eSIhPT10Lm9wdGlvbnMudHlwZSYmInNjYWxlLW9wYWNpdHkiIT09dC5vcHRpb25zLnR5cGUmJiJzY3JvbGwtb3BhY2l0eSIhPT10Lm9wdGlvbnMudHlwZXx8KHIudHJhbnNmb3JtPSJ0cmFuc2xhdGUzZCgwLDAsMCkiLHIub3BhY2l0eT1nKSwic2NhbGUiPT09dC5vcHRpb25zLnR5cGV8fCJzY2FsZS1vcGFjaXR5Ij09PXQub3B0aW9ucy50eXBlKXt2YXIgeT0xOzA+dC5vcHRpb25zLnNwZWVkP3ktPXQub3B0aW9ucy5zcGVlZCpnOnkrPXQub3B0aW9ucy5zcGVlZCooMS1nKSxyLnRyYW5zZm9ybT0ic2NhbGUoIi5jb25jYXQoeSwiKSB0cmFuc2xhdGUzZCgwLDAsMCkiKX1pZigic2Nyb2xsIj09PXQub3B0aW9ucy50eXBlfHwic2Nyb2xsLW9wYWNpdHkiPT09dC5vcHRpb25zLnR5cGUpe3ZhciB2PXQucGFyYWxsYXhTY3JvbGxEaXN0YW5jZSptOyJhYnNvbHV0ZSI9PT10LmltYWdlLnBvc2l0aW9uJiYodi09biksci50cmFuc2Zvcm09InRyYW5zbGF0ZTNkKDAsIi5jb25jYXQodiwicHgsMCkiKX10LmNzcyh0LmltYWdlLiRpdGVtLHIpLHQub3B0aW9ucy5vblNjcm9sbCYmdC5vcHRpb25zLm9uU2Nyb2xsLmNhbGwodCx7c2VjdGlvbjppLGJlZm9yZVRvcDpsLGJlZm9yZVRvcEVuZDpjLGFmdGVyVG9wOnUsYmVmb3JlQm90dG9tOmQsYmVmb3JlQm90dG9tRW5kOnAsYWZ0ZXJCb3R0b206Zix2aXNpYmxlUGVyY2VudDpnLGZyb21WaWV3cG9ydENlbnRlcjptfSl9fX0se2tleToib25SZXNpemUiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5jb3ZlckltYWdlKCksdGhpcy5jbGlwQ29udGFpbmVyKCl9fV0saSYmYyh0LnByb3RvdHlwZSxpKSxuJiZjKHQsbiksZX0oKSx3PWZ1bmN0aW9uKGUsdCl7KCJvYmplY3QiPT09KCJ1bmRlZmluZWQiPT10eXBlb2YgSFRNTEVsZW1lbnQ/InVuZGVmaW5lZCI6bChIVE1MRWxlbWVudCkpP2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDplJiYib2JqZWN0Ij09PWwoZSkmJm51bGwhPT1lJiYxPT09ZS5ub2RlVHlwZSYmInN0cmluZyI9PXR5cGVvZiBlLm5vZGVOYW1lKSYmKGU9W2VdKTtmb3IodmFyIGksbj1lLmxlbmd0aCxzPTAsbz1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KG8+Mj9vLTI6MCksYT0yO2E8bzthKyspclthLTJdPWFyZ3VtZW50c1thXTtmb3IoO3M8bjtzKz0xKWlmKCJvYmplY3QiPT09bCh0KXx8dm9pZCAwPT09dD9lW3NdLmphcmFsbGF4fHwoZVtzXS5qYXJhbGxheD1uZXcgXyhlW3NdLHQpKTplW3NdLmphcmFsbGF4JiYoaT1lW3NdLmphcmFsbGF4W3RdLmFwcGx5KGVbc10uamFyYWxsYXgscikpLHZvaWQgMCE9PWkpcmV0dXJuIGk7cmV0dXJuIGV9O3cuY29uc3RydWN0b3I9Xyx0LmRlZmF1bHQ9d319LHQ9e307ZnVuY3Rpb24gaShuKXt2YXIgcz10W25dO2lmKHZvaWQgMCE9PXMpcmV0dXJuIHMuZXhwb3J0czt2YXIgbz10W25dPXtleHBvcnRzOnt9fTtyZXR1cm4gZVtuXShvLG8uZXhwb3J0cyxpKSxvLmV4cG9ydHN9aS5uPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiBlLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBpLmQodCx7YTp0fSksdH0saS5kPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpaS5vKHQsbikmJiFpLm8oZSxuKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7ZW51bWVyYWJsZTohMCxnZXQ6dFtuXX0pfSxpLmc9ZnVuY3Rpb24oKXtpZigib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIikoKX1jYXRjaChlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxpLm89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9LGkucj1mdW5jdGlvbihlKXsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfTt2YXIgbj17fTshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7aS5yKG4pO3ZhciBlPWkoMSksdD1pLm4oZSkscz1pKDIpLG89aSg4KTtmdW5jdGlvbiByKGUpe3JldHVybiByPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxyKGUpfXZhciBhPXMud2luZG93LmphcmFsbGF4O2lmKHMud2luZG93LmphcmFsbGF4PW8uZGVmYXVsdCxzLndpbmRvdy5qYXJhbGxheC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHMud2luZG93LmphcmFsbGF4PWEsdGhpc30sdm9pZCAwIT09cy5qUXVlcnkpe3ZhciBsPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSksaT0wO2k8ZTtpKyspdFtpXT1hcmd1bWVudHNbaV07QXJyYXkucHJvdG90eXBlLnVuc2hpZnQuY2FsbCh0LHRoaXMpO3ZhciBuPW8uZGVmYXVsdC5hcHBseShzLndpbmRvdyx0KTtyZXR1cm4ib2JqZWN0IiE9PXIobik/bjp0aGlzfTtsLmNvbnN0cnVjdG9yPW8uZGVmYXVsdC5jb25zdHJ1Y3Rvcjt2YXIgYz1zLmpRdWVyeS5mbi5qYXJhbGxheDtzLmpRdWVyeS5mbi5qYXJhbGxheD1sLHMualF1ZXJ5LmZuLmphcmFsbGF4Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcy5qUXVlcnkuZm4uamFyYWxsYXg9Yyx0aGlzfX10KCkoKGZ1bmN0aW9uKCl7KDAsby5kZWZhdWx0KShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1qYXJhbGxheF0iKSl9KSl9KCl9KCl9LDI1ODkyOmZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOy8qIQoqIEBhdXRob3IgeW9tb3RzdQoqIE1hdGNoSGVpZ2h0CiogaHR0cHM6Ly9naXRodWIuY29tL3lvbW90c3UvTWF0Y2hIZWlnaHQKKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuCiovdmFyIGU9ITEsdD12b2lkIDAsaT12b2lkIDAsbj17aW5pdDpmdW5jdGlvbigpe2U9ITAsdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1taF0iKSxuLnVwZGF0ZSgpfSx1cGRhdGU6ZnVuY3Rpb24oKXtlPzAhPT10Lmxlbmd0aCYmKChpPUFycmF5LnByb3RvdHlwZS5tYXAuY2FsbCh0LChmdW5jdGlvbihlKXtyZXR1cm57ZWw6ZX19KSkpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UuZWwuc3R5bGUubWluSGVpZ2h0PSIifSkpLHMoKSk6bi5pbml0KCl9fTtmdW5jdGlvbiBzKCl7aS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1lLmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2UudG9wPXQudG9wLGUuaGVpZ2h0PXQuaGVpZ2h0fSkpLGkuc29ydCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS50b3AtdC50b3B9KSk7dmFyIGU9aVswXS50b3AsdD1pLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguYWJzKHQudG9wLWUpPD0xfSkpLG49TWF0aC5tYXguYXBwbHkoTWF0aCx0Lm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaGVpZ2h0fSkpKTt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBpPWUtdC50b3ArMSxzPXBhcnNlRmxvYXQod2luZG93LmdldENvbXB1dGVkU3R5bGUodC5lbCkuZ2V0UHJvcGVydHlWYWx1ZSgicGFkZGluZy10b3AiKSwxMCkrcGFyc2VGbG9hdCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0LmVsKS5nZXRQcm9wZXJ0eVZhbHVlKCJwYWRkaW5nLWJvdHRvbSIpLDEwKStwYXJzZUZsb2F0KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQuZWwpLmdldFByb3BlcnR5VmFsdWUoImJvcmRlci10b3Atd2lkdGgiKSwxMCkrcGFyc2VGbG9hdCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0LmVsKS5nZXRQcm9wZXJ0eVZhbHVlKCJib3JkZXItYm90dG9tLXdpZHRoIiksMTApO3QuZWwuc3R5bGUubWluSGVpZ2h0PW4tcytpKyJweCJ9KSksaS5zcGxpY2UoMCx0Lmxlbmd0aCksMDxpLmxlbmd0aCYmcygpfXZhciBvLHIsYSxsLGM9KG89bi51cGRhdGUscj0yMDAsYT12b2lkIDAsbD12b2lkIDAsZnVuY3Rpb24oKXt2YXIgZT1EYXRlLm5vdygpO2EmJmU8YStyPyhjbGVhclRpbWVvdXQobCksbD1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2E9ZSxvKCl9KSxyKSk6KGE9ZSxvKCkpfSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChmdW5jdGlvbiBlKCl7bi5pbml0KCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGUpfSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoZnVuY3Rpb24gZSgpe24udXBkYXRlKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUpfSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGMpfSw4NTkxMDpmdW5jdGlvbihlLHQpey8qIQoqIG1vbmV5LmpzIC8gZngoKSB2MC4yCiogQ29weXJpZ2h0IDIwMTQgT3BlbiBFeGNoYW5nZSBSYXRlcwoqCiogSmF2YVNjcmlwdCBsaWJyYXJ5IGZvciByZWFsdGltZSBjdXJyZW5jeSBjb252ZXJzaW9uIGFuZCBleGNoYW5nZSByYXRlIGNhbGN1bGF0aW9uLgoqCiogRnJlZWx5IGRpc3RyaWJ1dGFibGUgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgoqIFBvcnRpb25zIG9mIG1vbmV5LmpzIGFyZSBpbnNwaXJlZCBieSBvciBib3Jyb3dlZCBmcm9tIHVuZGVyc2NvcmUuanMKKgoqIEZvciBkZXRhaWxzLCBleGFtcGxlcyBhbmQgZG9jdW1lbnRhdGlvbjoKKiBodHRwOi8vb3BlbmV4Y2hhbmdlcmF0ZXMuZ2l0aHViLmlvL21vbmV5LmpzLwoqLyFmdW5jdGlvbihpLG4pe3ZhciBzPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbChlKX07cy52ZXJzaW9uPSIwLjIiO3ZhciBvPWkuZnhTZXR1cHx8e3JhdGVzOnt9LGJhc2U6IiJ9O3MucmF0ZXM9by5yYXRlcyxzLmJhc2U9by5iYXNlLHMuc2V0dGluZ3M9e2Zyb206by5mcm9tfHxzLmJhc2UsdG86by50b3x8cy5iYXNlfTt2YXIgcj1zLmNvbnZlcnQ9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0Ij09dHlwZW9mIGUmJmUubGVuZ3RoKXtmb3IodmFyIGk9MDtpPGUubGVuZ3RoO2krKyllW2ldPXIoZVtpXSx0KTtyZXR1cm4gZX1yZXR1cm4odD10fHx7fSkuZnJvbXx8KHQuZnJvbT1zLnNldHRpbmdzLmZyb20pLHQudG98fCh0LnRvPXMuc2V0dGluZ3MudG8pLGUqYSh0LnRvLHQuZnJvbSl9LGE9ZnVuY3Rpb24oZSx0KXt2YXIgaT1zLnJhdGVzO2lmKGlbcy5iYXNlXT0xLCFpW2VdfHwhaVt0XSl0aHJvdyJmeCBlcnJvciI7cmV0dXJuIHQ9PT1zLmJhc2U/aVtlXTplPT09cy5iYXNlPzEvaVt0XTppW2VdKigxL2lbdF0pfSxsPWZ1bmN0aW9uKGUpeyJzdHJpbmciPT10eXBlb2YgZT8odGhpcy5fdj1wYXJzZUZsb2F0KGUucmVwbGFjZSgvW14wLTktLl0vZywiIikpLHRoaXMuX2Z4PWUucmVwbGFjZSgvKFteQS1aYS16XSkvZywiIikpOnRoaXMuX3Y9ZX0sYz1zLnByb3RvdHlwZT1sLnByb3RvdHlwZTtjLmNvbnZlcnQ9ZnVuY3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiBlLnVuc2hpZnQodGhpcy5fdiksci5hcHBseShzLGUpfSxjLmZyb209ZnVuY3Rpb24oZSl7dmFyIHQ9cyhyKHRoaXMuX3Yse2Zyb206ZSx0bzpzLmJhc2V9KSk7cmV0dXJuIHQuX2Z4PXMuYmFzZSx0fSxjLnRvPWZ1bmN0aW9uKGUpe3JldHVybiByKHRoaXMuX3Yse2Zyb206dGhpcy5fZng/dGhpcy5fZng6cy5zZXR0aW5ncy5mcm9tLHRvOmV9KX0sZS5leHBvcnRzJiYodD1lLmV4cG9ydHM9cyksdC5meD1zfSh0aGlzKX0sMjE0NDM6ZnVuY3Rpb24oZSx0LGkpeyJvYmplY3QiPT10eXBlb2YgbmF2aWdhdG9yJiYoZS5leHBvcnRzPWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoZSx0LGkpe3JldHVybiB0IGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6aSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09aSxlfWZ1bmN0aW9uIHQoZSx0KXtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG49dFtpXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHwhMSxuLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gbiYmKG4ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4ua2V5LG4pfX1mdW5jdGlvbiBuKGUsdCxpKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOmksZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPWksZX1mdW5jdGlvbiBzKGUsdCl7dmFyIGk9T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYobj1uLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpKSxpLnB1c2guYXBwbHkoaSxuKX1yZXR1cm4gaX1mdW5jdGlvbiBvKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBpPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e307dCUyP3MoT2JqZWN0KGkpLCEwKS5mb3JFYWNoKChmdW5jdGlvbih0KXtuKGUsdCxpW3RdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKGkpKTpzKE9iamVjdChpKSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGksdCkpfSkpfXJldHVybiBlfXZhciByPXthZGRDU1M6ITAsdGh1bWJXaWR0aDoxNSx3YXRjaDohMH07ZnVuY3Rpb24gYShlLHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCkpLmluY2x1ZGVzKHRoaXMpfS5jYWxsKGUsdCl9dmFyIGw9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWU/ZS5jb25zdHJ1Y3RvcjpudWxsfSxjPWZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZSYmdCYmZSBpbnN0YW5jZW9mIHQpfSx1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lfSxoPWZ1bmN0aW9uKGUpe3JldHVybiBsKGUpPT09T2JqZWN0fSxkPWZ1bmN0aW9uKGUpe3JldHVybiBsKGUpPT09U3RyaW5nfSxwPWZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpfSxmPWZ1bmN0aW9uKGUpe3JldHVybiBjKGUsTm9kZUxpc3QpfSxtPWQsZz1wLHk9Zix2PWZ1bmN0aW9uKGUpe3JldHVybiBjKGUsRWxlbWVudCl9LGI9ZnVuY3Rpb24oZSl7cmV0dXJuIGMoZSxFdmVudCl9LF89ZnVuY3Rpb24oZSl7cmV0dXJuIHUoZSl8fChkKGUpfHxwKGUpfHxmKGUpKSYmIWUubGVuZ3RofHxoKGUpJiYhT2JqZWN0LmtleXMoZSkubGVuZ3RofTtmdW5jdGlvbiB3KGUsdCl7aWYoMT50KXt2YXIgaT1mdW5jdGlvbihlKXt2YXIgdD0iIi5jb25jYXQoZSkubWF0Y2goLyg/OlwuKFxkKykpPyg/OltlRV0oWystXT9cZCspKT8kLyk7cmV0dXJuIHQ/TWF0aC5tYXgoMCwodFsxXT90WzFdLmxlbmd0aDowKS0odFsyXT8rdFsyXTowKSk6MH0odCk7cmV0dXJuIHBhcnNlRmxvYXQoZS50b0ZpeGVkKGkpKX1yZXR1cm4gTWF0aC5yb3VuZChlL3QpKnR9dmFyIEU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsaSl7KGZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KSh0aGlzLGUpLHYodCk/dGhpcy5lbGVtZW50PXQ6bSh0KSYmKHRoaXMuZWxlbWVudD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpKSx2KHRoaXMuZWxlbWVudCkmJl8odGhpcy5lbGVtZW50LnJhbmdlVG91Y2gpJiYodGhpcy5jb25maWc9byh7fSxyLHt9LGkpLHRoaXMuaW5pdCgpKX1yZXR1cm4gZnVuY3Rpb24oZSxpLG4pe2kmJnQoZS5wcm90b3R5cGUsaSksbiYmdChlLG4pfShlLFt7a2V5OiJpbml0Iix2YWx1ZTpmdW5jdGlvbigpe2UuZW5hYmxlZCYmKHRoaXMuY29uZmlnLmFkZENTUyYmKHRoaXMuZWxlbWVudC5zdHlsZS51c2VyU2VsZWN0PSJub25lIix0aGlzLmVsZW1lbnQuc3R5bGUud2ViS2l0VXNlclNlbGVjdD0ibm9uZSIsdGhpcy5lbGVtZW50LnN0eWxlLnRvdWNoQWN0aW9uPSJtYW5pcHVsYXRpb24iKSx0aGlzLmxpc3RlbmVycyghMCksdGhpcy5lbGVtZW50LnJhbmdlVG91Y2g9dGhpcyl9fSx7a2V5OiJkZXN0cm95Iix2YWx1ZTpmdW5jdGlvbigpe2UuZW5hYmxlZCYmKHRoaXMuY29uZmlnLmFkZENTUyYmKHRoaXMuZWxlbWVudC5zdHlsZS51c2VyU2VsZWN0PSIiLHRoaXMuZWxlbWVudC5zdHlsZS53ZWJLaXRVc2VyU2VsZWN0PSIiLHRoaXMuZWxlbWVudC5zdHlsZS50b3VjaEFjdGlvbj0iIiksdGhpcy5saXN0ZW5lcnMoITEpLHRoaXMuZWxlbWVudC5yYW5nZVRvdWNoPW51bGwpfX0se2tleToibGlzdGVuZXJzIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLGk9ZT8iYWRkRXZlbnRMaXN0ZW5lciI6InJlbW92ZUV2ZW50TGlzdGVuZXIiO1sidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dC5lbGVtZW50W2ldKGUsKGZ1bmN0aW9uKGUpe3JldHVybiB0LnNldChlKX0pLCExKX0pKX19LHtrZXk6ImdldCIsdmFsdWU6ZnVuY3Rpb24odCl7aWYoIWUuZW5hYmxlZHx8IWIodCkpcmV0dXJuIG51bGw7dmFyIGksbj10LnRhcmdldCxzPXQuY2hhbmdlZFRvdWNoZXNbMF0sbz1wYXJzZUZsb2F0KG4uZ2V0QXR0cmlidXRlKCJtaW4iKSl8fDAscj1wYXJzZUZsb2F0KG4uZ2V0QXR0cmlidXRlKCJtYXgiKSl8fDEwMCxhPXBhcnNlRmxvYXQobi5nZXRBdHRyaWJ1dGUoInN0ZXAiKSl8fDEsbD1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGM9MTAwL2wud2lkdGgqKHRoaXMuY29uZmlnLnRodW1iV2lkdGgvMikvMTAwO3JldHVybiAwPihpPTEwMC9sLndpZHRoKihzLmNsaWVudFgtbC5sZWZ0KSk/aT0wOjEwMDxpJiYoaT0xMDApLDUwPmk/aS09KDEwMC0yKmkpKmM6NTA8aSYmKGkrPTIqKGktNTApKmMpLG8rdyhpLzEwMCooci1vKSxhKX19LHtrZXk6InNldCIsdmFsdWU6ZnVuY3Rpb24odCl7ZS5lbmFibGVkJiZiKHQpJiYhdC50YXJnZXQuZGlzYWJsZWQmJih0LnByZXZlbnREZWZhdWx0KCksdC50YXJnZXQudmFsdWU9dGhpcy5nZXQodCksZnVuY3Rpb24oZSx0KXtpZihlJiZ0KXt2YXIgaT1uZXcgRXZlbnQodCx7YnViYmxlczohMH0pO2UuZGlzcGF0Y2hFdmVudChpKX19KHQudGFyZ2V0LCJ0b3VjaGVuZCI9PT10LnR5cGU/ImNoYW5nZSI6ImlucHV0IikpfX1dLFt7a2V5OiJzZXR1cCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGk9MTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9LG49bnVsbDtpZihfKHQpfHxtKHQpP249QXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKG0odCk/dDonaW5wdXRbdHlwZT0icmFuZ2UiXScpKTp2KHQpP249W3RdOnkodCk/bj1BcnJheS5mcm9tKHQpOmcodCkmJihuPXQuZmlsdGVyKHYpKSxfKG4pKXJldHVybiBudWxsO3ZhciBzPW8oe30scix7fSxpKTtpZihtKHQpJiZzLndhdGNoKXt2YXIgbD1uZXcgTXV0YXRpb25PYnNlcnZlcigoZnVuY3Rpb24oaSl7QXJyYXkuZnJvbShpKS5mb3JFYWNoKChmdW5jdGlvbihpKXtBcnJheS5mcm9tKGkuYWRkZWROb2RlcykuZm9yRWFjaCgoZnVuY3Rpb24oaSl7dihpKSYmYShpLHQpJiZuZXcgZShpLHMpfSkpfSkpfSkpO2wub2JzZXJ2ZShkb2N1bWVudC5ib2R5LHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pfXJldHVybiBuLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBlKHQsaSl9KSl9fSx7a2V5OiJlbmFibGVkIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4ib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudH19XSksZX0oKTtjb25zdCBDPWU9Pm51bGwhPWU/ZS5jb25zdHJ1Y3RvcjpudWxsLFQ9KGUsdCk9PkJvb2xlYW4oZSYmdCYmZSBpbnN0YW5jZW9mIHQpLFM9ZT0+bnVsbD09ZSxJPWU9PkMoZSk9PT1PYmplY3QsQT1lPT5DKGUpPT09U3RyaW5nLGs9ZT0+QyhlKT09PUZ1bmN0aW9uLEw9ZT0+QXJyYXkuaXNBcnJheShlKSxPPWU9PlQoZSxOb2RlTGlzdCkseD1lPT5TKGUpfHwoQShlKXx8TChlKXx8TyhlKSkmJiFlLmxlbmd0aHx8SShlKSYmIU9iamVjdC5rZXlzKGUpLmxlbmd0aDt2YXIgUD1TLE49SSxNPWU9PkMoZSk9PT1OdW1iZXImJiFOdW1iZXIuaXNOYU4oZSksRD1BLGo9ZT0+QyhlKT09PUJvb2xlYW4sRj1rLFY9TCxSPU8sSD1lPT5udWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYxPT09ZS5ub2RlVHlwZSYmIm9iamVjdCI9PXR5cGVvZiBlLnN0eWxlJiYib2JqZWN0Ij09dHlwZW9mIGUub3duZXJEb2N1bWVudCwkPWU9PlQoZSxFdmVudCksQj1lPT5UKGUsS2V5Ym9hcmRFdmVudCkscT1lPT5UKGUsVGV4dFRyYWNrKXx8IVMoZSkmJkEoZS5raW5kKSxVPWU9PlQoZSxQcm9taXNlKSYmayhlLnRoZW4pLEc9ZT0+e2lmKFQoZSx3aW5kb3cuVVJMKSlyZXR1cm4hMDtpZighQShlKSlyZXR1cm4hMTtsZXQgdD1lO2Uuc3RhcnRzV2l0aCgiaHR0cDovLyIpJiZlLnN0YXJ0c1dpdGgoImh0dHBzOi8vIil8fCh0PWBodHRwOi8vJHtlfWApO3RyeXtyZXR1cm4heChuZXcgVVJMKHQpLmhvc3RuYW1lKX1jYXRjaChlKXtyZXR1cm4hMX19LEs9eDtjb25zdCBXPSgoKT0+e2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHQ9e1dlYmtpdFRyYW5zaXRpb246IndlYmtpdFRyYW5zaXRpb25FbmQiLE1velRyYW5zaXRpb246InRyYW5zaXRpb25lbmQiLE9UcmFuc2l0aW9uOiJvVHJhbnNpdGlvbkVuZCBvdHJhbnNpdGlvbmVuZCIsdHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCJ9LGk9T2JqZWN0LmtleXModCkuZmluZCgodD0+dm9pZCAwIT09ZS5zdHlsZVt0XSkpO3JldHVybiEhRChpKSYmdFtpXX0pKCk7ZnVuY3Rpb24geihlLHQpe3NldFRpbWVvdXQoKCgpPT57dHJ5e2UuaGlkZGVuPSEwLGUub2Zmc2V0SGVpZ2h0LGUuaGlkZGVuPSExfWNhdGNoKGUpe319KSx0KX1jb25zdCBZPXtpc0lFOkJvb2xlYW4od2luZG93LmRvY3VtZW50LmRvY3VtZW50TW9kZSksaXNFZGdlOndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKCJFZGdlIiksaXNXZWJraXQ6IldlYmtpdEFwcGVhcmFuY2UiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYhL0VkZ2UvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksaXNJUGhvbmU6LyhpUGhvbmV8aVBvZCkvZ2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLGlzSW9zOiJNYWNJbnRlbCI9PT1uYXZpZ2F0b3IucGxhdGZvcm0mJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4xfHwvKGlQYWR8aVBob25lfGlQb2QpL2dpLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKX07ZnVuY3Rpb24gUShlLHQpe3JldHVybiB0LnNwbGl0KCIuIikucmVkdWNlKCgoZSx0KT0+ZSYmZVt0XSksZSl9ZnVuY3Rpb24gSihlPXt9LC4uLnQpe2lmKCF0Lmxlbmd0aClyZXR1cm4gZTtjb25zdCBpPXQuc2hpZnQoKTtyZXR1cm4gTihpKT8oT2JqZWN0LmtleXMoaSkuZm9yRWFjaCgodD0+e04oaVt0XSk/KE9iamVjdC5rZXlzKGUpLmluY2x1ZGVzKHQpfHxPYmplY3QuYXNzaWduKGUse1t0XTp7fX0pLEooZVt0XSxpW3RdKSk6T2JqZWN0LmFzc2lnbihlLHtbdF06aVt0XX0pfSkpLEooZSwuLi50KSk6ZX1mdW5jdGlvbiBYKGUsdCl7Y29uc3QgaT1lLmxlbmd0aD9lOltlXTtBcnJheS5mcm9tKGkpLnJldmVyc2UoKS5mb3JFYWNoKCgoZSxpKT0+e2NvbnN0IG49aT4wP3QuY2xvbmVOb2RlKCEwKTp0LHM9ZS5wYXJlbnROb2RlLG89ZS5uZXh0U2libGluZztuLmFwcGVuZENoaWxkKGUpLG8/cy5pbnNlcnRCZWZvcmUobixvKTpzLmFwcGVuZENoaWxkKG4pfSkpfWZ1bmN0aW9uIFooZSx0KXtIKGUpJiYhSyh0KSYmT2JqZWN0LmVudHJpZXModCkuZmlsdGVyKCgoWyxlXSk9PiFQKGUpKSkuZm9yRWFjaCgoKFt0LGldKT0+ZS5zZXRBdHRyaWJ1dGUodCxpKSkpfWZ1bmN0aW9uIGVlKGUsdCxpKXtjb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuIE4odCkmJloobix0KSxEKGkpJiYobi5pbm5lclRleHQ9aSksbn1mdW5jdGlvbiB0ZShlLHQsaSxuKXtIKHQpJiZ0LmFwcGVuZENoaWxkKGVlKGUsaSxuKSl9ZnVuY3Rpb24gaWUoZSl7UihlKXx8VihlKT9BcnJheS5mcm9tKGUpLmZvckVhY2goaWUpOkgoZSkmJkgoZS5wYXJlbnROb2RlKSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfWZ1bmN0aW9uIG5lKGUpe2lmKCFIKGUpKXJldHVybjtsZXR7bGVuZ3RoOnR9PWUuY2hpbGROb2Rlcztmb3IoO3Q+MDspZS5yZW1vdmVDaGlsZChlLmxhc3RDaGlsZCksdC09MX1mdW5jdGlvbiBzZShlLHQpe3JldHVybiBIKHQpJiZIKHQucGFyZW50Tm9kZSkmJkgoZSk/KHQucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoZSx0KSxlKTpudWxsfWZ1bmN0aW9uIG9lKGUsdCl7aWYoIUQoZSl8fEsoZSkpcmV0dXJue307Y29uc3QgaT17fSxuPUooe30sdCk7cmV0dXJuIGUuc3BsaXQoIiwiKS5mb3JFYWNoKChlPT57Y29uc3QgdD1lLnRyaW0oKSxzPXQucmVwbGFjZSgiLiIsIiIpLG89dC5yZXBsYWNlKC9bW1xdXS9nLCIiKS5zcGxpdCgiPSIpLFtyXT1vLGE9by5sZW5ndGg+MT9vWzFdLnJlcGxhY2UoL1siJ10vZywiIik6IiI7c3dpdGNoKHQuY2hhckF0KDApKXtjYXNlIi4iOkQobi5jbGFzcyk/aS5jbGFzcz1gJHtuLmNsYXNzfSAke3N9YDppLmNsYXNzPXM7YnJlYWs7Y2FzZSIjIjppLmlkPXQucmVwbGFjZSgiIyIsIiIpO2JyZWFrO2Nhc2UiWyI6aVtyXT1hfX0pKSxKKG4saSl9ZnVuY3Rpb24gcmUoZSx0KXtpZighSChlKSlyZXR1cm47bGV0IGk9dDtqKGkpfHwoaT0hZS5oaWRkZW4pLGUuaGlkZGVuPWl9ZnVuY3Rpb24gYWUoZSx0LGkpe2lmKFIoZSkpcmV0dXJuIEFycmF5LmZyb20oZSkubWFwKChlPT5hZShlLHQsaSkpKTtpZihIKGUpKXtsZXQgbj0idG9nZ2xlIjtyZXR1cm4gdm9pZCAwIT09aSYmKG49aT8iYWRkIjoicmVtb3ZlIiksZS5jbGFzc0xpc3Rbbl0odCksZS5jbGFzc0xpc3QuY29udGFpbnModCl9cmV0dXJuITF9ZnVuY3Rpb24gbGUoZSx0KXtyZXR1cm4gSChlKSYmZS5jbGFzc0xpc3QuY29udGFpbnModCl9ZnVuY3Rpb24gY2UoZSx0KXtjb25zdHtwcm90b3R5cGU6aX09RWxlbWVudDtyZXR1cm4oaS5tYXRjaGVzfHxpLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8aS5tb3pNYXRjaGVzU2VsZWN0b3J8fGkubXNNYXRjaGVzU2VsZWN0b3J8fGZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0KSkuaW5jbHVkZXModGhpcyl9KS5jYWxsKGUsdCl9ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIHRoaXMuZWxlbWVudHMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoZSl9ZnVuY3Rpb24gaGUoZSl7cmV0dXJuIHRoaXMuZWxlbWVudHMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoZSl9ZnVuY3Rpb24gZGUoZT1udWxsLHQ9ITEpe0goZSkmJihlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksdCYmYWUoZSx0aGlzLmNvbmZpZy5jbGFzc05hbWVzLnRhYkZvY3VzKSl9Y29uc3QgcGU9eyJhdWRpby9vZ2ciOiJ2b3JiaXMiLCJhdWRpby93YXYiOiIxIiwidmlkZW8vd2VibSI6InZwOCwgdm9yYmlzIiwidmlkZW8vbXA0IjoiYXZjMS40MkUwMUUsIG1wNGEuNDAuMiIsInZpZGVvL29nZyI6InRoZW9yYSJ9LGZlPXthdWRpbzoiY2FuUGxheVR5cGUiaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYXVkaW8iKSx2aWRlbzoiY2FuUGxheVR5cGUiaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKSxjaGVjayhlLHQsaSl7Y29uc3Qgbj1ZLmlzSVBob25lJiZpJiZmZS5wbGF5c2lubGluZSxzPWZlW2VdfHwiaHRtbDUiIT09dDtyZXR1cm57YXBpOnMsdWk6cyYmZmUucmFuZ2VJbnB1dCYmKCJ2aWRlbyIhPT1lfHwhWS5pc0lQaG9uZXx8bil9fSxwaXA6IShZLmlzSVBob25lfHwhRihlZSgidmlkZW8iKS53ZWJraXRTZXRQcmVzZW50YXRpb25Nb2RlKSYmKCFkb2N1bWVudC5waWN0dXJlSW5QaWN0dXJlRW5hYmxlZHx8ZWUoInZpZGVvIikuZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUpKSxhaXJwbGF5OkYod2luZG93LldlYktpdFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQpLHBsYXlzaW5saW5lOiJwbGF5c0lubGluZSJpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2aWRlbyIpLG1pbWUoZSl7aWYoSyhlKSlyZXR1cm4hMTtjb25zdFt0XT1lLnNwbGl0KCIvIik7bGV0IGk9ZTtpZighdGhpcy5pc0hUTUw1fHx0IT09dGhpcy50eXBlKXJldHVybiExO09iamVjdC5rZXlzKHBlKS5pbmNsdWRlcyhpKSYmKGkrPWA7IGNvZGVjcz0iJHtwZVtlXX0iYCk7dHJ5e3JldHVybiBCb29sZWFuKGkmJnRoaXMubWVkaWEuY2FuUGxheVR5cGUoaSkucmVwbGFjZSgvbm8vLCIiKSl9Y2F0Y2goZSl7cmV0dXJuITF9fSx0ZXh0VHJhY2tzOiJ0ZXh0VHJhY2tzImluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVvIikscmFuZ2VJbnB1dDooKCk9Pntjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7cmV0dXJuIGUudHlwZT0icmFuZ2UiLCJyYW5nZSI9PT1lLnR5cGV9KSgpLHRvdWNoOiJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRyYW5zaXRpb25zOiExIT09VyxyZWR1Y2VkTW90aW9uOiJtYXRjaE1lZGlhImluIHdpbmRvdyYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSIpLm1hdGNoZXN9LG1lPSgoKT0+e2xldCBlPSExO3RyeXtjb25zdCB0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDooKT0+KGU9ITAsbnVsbCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCx0KSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCx0KX1jYXRjaChlKXt9cmV0dXJuIGV9KSgpO2Z1bmN0aW9uIGdlKGUsdCxpLG49ITEscz0hMCxvPSExKXtpZighZXx8ISgiYWRkRXZlbnRMaXN0ZW5lciJpbiBlKXx8Syh0KXx8IUYoaSkpcmV0dXJuO2NvbnN0IHI9dC5zcGxpdCgiICIpO2xldCBhPW87bWUmJihhPXtwYXNzaXZlOnMsY2FwdHVyZTpvfSksci5mb3JFYWNoKCh0PT57dGhpcyYmdGhpcy5ldmVudExpc3RlbmVycyYmbiYmdGhpcy5ldmVudExpc3RlbmVycy5wdXNoKHtlbGVtZW50OmUsdHlwZTp0LGNhbGxiYWNrOmksb3B0aW9uczphfSksZVtuPyJhZGRFdmVudExpc3RlbmVyIjoicmVtb3ZlRXZlbnRMaXN0ZW5lciJdKHQsaSxhKX0pKX1mdW5jdGlvbiB5ZShlLHQ9IiIsaSxuPSEwLHM9ITEpe2dlLmNhbGwodGhpcyxlLHQsaSwhMCxuLHMpfWZ1bmN0aW9uIHZlKGUsdD0iIixpLG49ITAscz0hMSl7Z2UuY2FsbCh0aGlzLGUsdCxpLCExLG4scyl9ZnVuY3Rpb24gYmUoZSx0PSIiLGksbj0hMCxzPSExKXtjb25zdCBvPSguLi5yKT0+e3ZlKGUsdCxvLG4scyksaS5hcHBseSh0aGlzLHIpfTtnZS5jYWxsKHRoaXMsZSx0LG8sITAsbixzKX1mdW5jdGlvbiBfZShlLHQ9IiIsaT0hMSxuPXt9KXtpZighSChlKXx8Syh0KSlyZXR1cm47Y29uc3Qgcz1uZXcgQ3VzdG9tRXZlbnQodCx7YnViYmxlczppLGRldGFpbDp7Li4ubixwbHlyOnRoaXN9fSk7ZS5kaXNwYXRjaEV2ZW50KHMpfWZ1bmN0aW9uIHdlKCl7dGhpcyYmdGhpcy5ldmVudExpc3RlbmVycyYmKHRoaXMuZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZT0+e2NvbnN0e2VsZW1lbnQ6dCx0eXBlOmksY2FsbGJhY2s6bixvcHRpb25zOnN9PWU7dC5yZW1vdmVFdmVudExpc3RlbmVyKGksbixzKX0pKSx0aGlzLmV2ZW50TGlzdGVuZXJzPVtdKX1mdW5jdGlvbiBFZSgpe3JldHVybiBuZXcgUHJvbWlzZSgoZT0+dGhpcy5yZWFkeT9zZXRUaW1lb3V0KGUsMCk6eWUuY2FsbCh0aGlzLHRoaXMuZWxlbWVudHMuY29udGFpbmVyLCJyZWFkeSIsZSkpKS50aGVuKCgoKT0+e30pKX1mdW5jdGlvbiBDZShlKXtVKGUpJiZlLnRoZW4obnVsbCwoKCk9Pnt9KSl9ZnVuY3Rpb24gVGUoZSl7cmV0dXJuIFYoZSk/ZS5maWx0ZXIoKCh0LGkpPT5lLmluZGV4T2YodCk9PT1pKSk6ZX1mdW5jdGlvbiBTZShlLHQpe3JldHVybiBWKGUpJiZlLmxlbmd0aD9lLnJlZHVjZSgoKGUsaSk9Pk1hdGguYWJzKGktdCk8TWF0aC5hYnMoZS10KT9pOmUpKTpudWxsfWZ1bmN0aW9uIEllKGUpe3JldHVybiEoIXdpbmRvd3x8IXdpbmRvdy5DU1MpJiZ3aW5kb3cuQ1NTLnN1cHBvcnRzKGUpfWNvbnN0IEFlPVtbMSwxXSxbNCwzXSxbMyw0XSxbNSw0XSxbNCw1XSxbMywyXSxbMiwzXSxbMTYsMTBdLFsxMCwxNl0sWzE2LDldLFs5LDE2XSxbMjEsOV0sWzksMjFdLFszMiw5XSxbOSwzMl1dLnJlZHVjZSgoKGUsW3QsaV0pPT4oey4uLmUsW3QvaV06W3QsaV19KSkse30pO2Z1bmN0aW9uIGtlKGUpe3JldHVybiEhKFYoZSl8fEQoZSkmJmUuaW5jbHVkZXMoIjoiKSkmJihWKGUpP2U6ZS5zcGxpdCgiOiIpKS5tYXAoTnVtYmVyKS5ldmVyeShNKX1mdW5jdGlvbiBMZShlKXtpZighVihlKXx8IWUuZXZlcnkoTSkpcmV0dXJuIG51bGw7Y29uc3RbdCxpXT1lLG49KGUsdCk9PjA9PT10P2U6bih0LGUldCkscz1uKHQsaSk7cmV0dXJuW3QvcyxpL3NdfWZ1bmN0aW9uIE9lKGUpe2NvbnN0IHQ9ZT0+a2UoZSk/ZS5zcGxpdCgiOiIpLm1hcChOdW1iZXIpOm51bGw7bGV0IGk9dChlKTtpZihudWxsPT09aSYmKGk9dCh0aGlzLmNvbmZpZy5yYXRpbykpLG51bGw9PT1pJiYhSyh0aGlzLmVtYmVkKSYmVih0aGlzLmVtYmVkLnJhdGlvKSYmKHtyYXRpbzppfT10aGlzLmVtYmVkKSxudWxsPT09aSYmdGhpcy5pc0hUTUw1KXtjb25zdHt2aWRlb1dpZHRoOmUsdmlkZW9IZWlnaHQ6dH09dGhpcy5tZWRpYTtpPVtlLHRdfXJldHVybiBMZShpKX1mdW5jdGlvbiB4ZShlKXtpZighdGhpcy5pc1ZpZGVvKXJldHVybnt9O2NvbnN0e3dyYXBwZXI6dH09dGhpcy5lbGVtZW50cyxpPU9lLmNhbGwodGhpcyxlKTtpZighVihpKSlyZXR1cm57fTtjb25zdFtuLHNdPUxlKGkpLG89MTAwL24qcztpZihJZShgYXNwZWN0LXJhdGlvOiAke259LyR7c31gKT90LnN0eWxlLmFzcGVjdFJhdGlvPWAke259LyR7c31gOnQuc3R5bGUucGFkZGluZ0JvdHRvbT1gJHtvfSVgLHRoaXMuaXNWaW1lbyYmIXRoaXMuY29uZmlnLnZpbWVvLnByZW1pdW0mJnRoaXMuc3VwcG9ydGVkLnVpKXtjb25zdCBlPTEwMC90aGlzLm1lZGlhLm9mZnNldFdpZHRoKnBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMubWVkaWEpLnBhZGRpbmdCb3R0b20sMTApLGk9KGUtbykvKGUvNTApO3RoaXMuZnVsbHNjcmVlbi5hY3RpdmU/dC5zdHlsZS5wYWRkaW5nQm90dG9tPW51bGw6dGhpcy5tZWRpYS5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZVkoLSR7aX0lKWB9ZWxzZSB0aGlzLmlzSFRNTDUmJnQuY2xhc3NMaXN0LmFkZCh0aGlzLmNvbmZpZy5jbGFzc05hbWVzLnZpZGVvRml4ZWRSYXRpbyk7cmV0dXJue3BhZGRpbmc6byxyYXRpbzppfX1mdW5jdGlvbiBQZShlLHQsaT0uMDUpe2NvbnN0IG49ZS90LHM9U2UoT2JqZWN0LmtleXMoQWUpLG4pO3JldHVybiBNYXRoLmFicyhzLW4pPD1pP0FlW3NdOltlLHRdfWNvbnN0IE5lPXtnZXRTb3VyY2VzKCl7cmV0dXJuIHRoaXMuaXNIVE1MNT9BcnJheS5mcm9tKHRoaXMubWVkaWEucXVlcnlTZWxlY3RvckFsbCgic291cmNlIikpLmZpbHRlcigoZT0+e2NvbnN0IHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKTtyZXR1cm4hIUsodCl8fGZlLm1pbWUuY2FsbCh0aGlzLHQpfSkpOltdfSxnZXRRdWFsaXR5T3B0aW9ucygpe3JldHVybiB0aGlzLmNvbmZpZy5xdWFsaXR5LmZvcmNlZD90aGlzLmNvbmZpZy5xdWFsaXR5Lm9wdGlvbnM6TmUuZ2V0U291cmNlcy5jYWxsKHRoaXMpLm1hcCgoZT0+TnVtYmVyKGUuZ2V0QXR0cmlidXRlKCJzaXplIikpKSkuZmlsdGVyKEJvb2xlYW4pfSxzZXR1cCgpe2lmKCF0aGlzLmlzSFRNTDUpcmV0dXJuO2NvbnN0IGU9dGhpcztlLm9wdGlvbnMuc3BlZWQ9ZS5jb25maWcuc3BlZWQub3B0aW9ucyxLKHRoaXMuY29uZmlnLnJhdGlvKXx8eGUuY2FsbChlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5tZWRpYSwicXVhbGl0eSIse2dldCgpe2NvbnN0IHQ9TmUuZ2V0U291cmNlcy5jYWxsKGUpLmZpbmQoKHQ9PnQuZ2V0QXR0cmlidXRlKCJzcmMiKT09PWUuc291cmNlKSk7cmV0dXJuIHQmJk51bWJlcih0LmdldEF0dHJpYnV0ZSgic2l6ZSIpKX0sc2V0KHQpe2lmKGUucXVhbGl0eSE9PXQpe2lmKGUuY29uZmlnLnF1YWxpdHkuZm9yY2VkJiZGKGUuY29uZmlnLnF1YWxpdHkub25DaGFuZ2UpKWUuY29uZmlnLnF1YWxpdHkub25DaGFuZ2UodCk7ZWxzZXtjb25zdCBpPU5lLmdldFNvdXJjZXMuY2FsbChlKS5maW5kKChlPT5OdW1iZXIoZS5nZXRBdHRyaWJ1dGUoInNpemUiKSk9PT10KSk7aWYoIWkpcmV0dXJuO2NvbnN0e2N1cnJlbnRUaW1lOm4scGF1c2VkOnMscHJlbG9hZDpvLHJlYWR5U3RhdGU6cixwbGF5YmFja1JhdGU6YX09ZS5tZWRpYTtlLm1lZGlhLnNyYz1pLmdldEF0dHJpYnV0ZSgic3JjIiksKCJub25lIiE9PW98fHIpJiYoZS5vbmNlKCJsb2FkZWRtZXRhZGF0YSIsKCgpPT57ZS5zcGVlZD1hLGUuY3VycmVudFRpbWU9bixzfHxDZShlLnBsYXkoKSl9KSksZS5tZWRpYS5sb2FkKCkpfV9lLmNhbGwoZSxlLm1lZGlhLCJxdWFsaXR5Y2hhbmdlIiwhMSx7cXVhbGl0eTp0fSl9fX0pfSxjYW5jZWxSZXF1ZXN0cygpe3RoaXMuaXNIVE1MNSYmKGllKE5lLmdldFNvdXJjZXMuY2FsbCh0aGlzKSksdGhpcy5tZWRpYS5zZXRBdHRyaWJ1dGUoInNyYyIsdGhpcy5jb25maWcuYmxhbmtWaWRlbyksdGhpcy5tZWRpYS5sb2FkKCksdGhpcy5kZWJ1Zy5sb2coIkNhbmNlbGxlZCBuZXR3b3JrIHJlcXVlc3RzIikpfX07ZnVuY3Rpb24gTWUoZSwuLi50KXtyZXR1cm4gSyhlKT9lOmUudG9TdHJpbmcoKS5yZXBsYWNlKC97KFxkKyl9L2csKChlLGkpPT50W2ldLnRvU3RyaW5nKCkpKX1jb25zdCBEZT0oZT0iIix0PSIiLGk9IiIpPT5lLnJlcGxhY2UobmV3IFJlZ0V4cCh0LnRvU3RyaW5nKCkucmVwbGFjZSgvKFsuKis/Xj0hOiR7fSgpfFtcXS9cXF0pL2csIlxcJDEiKSwiZyIpLGkudG9TdHJpbmcoKSksamU9KGU9IiIpPT5lLnRvU3RyaW5nKCkucmVwbGFjZSgvXHdcUyovZywoZT0+ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpKSk7ZnVuY3Rpb24gRmUoZT0iIil7bGV0IHQ9ZS50b1N0cmluZygpO3JldHVybiB0PWZ1bmN0aW9uKGU9IiIpe2xldCB0PWUudG9TdHJpbmcoKTtyZXR1cm4gdD1EZSh0LCItIiwiICIpLHQ9RGUodCwiXyIsIiAiKSx0PWplKHQpLERlKHQsIiAiLCIiKX0odCksdC5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSt0LnNsaWNlKDEpfWZ1bmN0aW9uIFZlKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuYXBwZW5kQ2hpbGQoZSksdC5pbm5lckhUTUx9Y29uc3QgUmU9e3BpcDoiUElQIixhaXJwbGF5OiJBaXJQbGF5IixodG1sNToiSFRNTDUiLHZpbWVvOiJWaW1lbyIseW91dHViZToiWW91VHViZSJ9LEhlPXtnZXQoZT0iIix0PXt9KXtpZihLKGUpfHxLKHQpKXJldHVybiIiO2xldCBpPVEodC5pMThuLGUpO2lmKEsoaSkpcmV0dXJuIE9iamVjdC5rZXlzKFJlKS5pbmNsdWRlcyhlKT9SZVtlXToiIjtjb25zdCBuPXsie3NlZWt0aW1lfSI6dC5zZWVrVGltZSwie3RpdGxlfSI6dC50aXRsZX07cmV0dXJuIE9iamVjdC5lbnRyaWVzKG4pLmZvckVhY2goKChbZSx0XSk9PntpPURlKGksZSx0KX0pKSxpfX07Y2xhc3MgJGV7Y29uc3RydWN0b3IodCl7ZSh0aGlzLCJnZXQiLChlPT57aWYoISRlLnN1cHBvcnRlZHx8IXRoaXMuZW5hYmxlZClyZXR1cm4gbnVsbDtjb25zdCB0PXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleSk7aWYoSyh0KSlyZXR1cm4gbnVsbDtjb25zdCBpPUpTT04ucGFyc2UodCk7cmV0dXJuIEQoZSkmJmUubGVuZ3RoP2lbZV06aX0pKSxlKHRoaXMsInNldCIsKGU9PntpZighJGUuc3VwcG9ydGVkfHwhdGhpcy5lbmFibGVkKXJldHVybjtpZighTihlKSlyZXR1cm47bGV0IHQ9dGhpcy5nZXQoKTtLKHQpJiYodD17fSksSih0LGUpO3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXksSlNPTi5zdHJpbmdpZnkodCkpfWNhdGNoKGUpe319KSksdGhpcy5lbmFibGVkPXQuY29uZmlnLnN0b3JhZ2UuZW5hYmxlZCx0aGlzLmtleT10LmNvbmZpZy5zdG9yYWdlLmtleX1zdGF0aWMgZ2V0IHN1cHBvcnRlZCgpe3RyeXtpZighKCJsb2NhbFN0b3JhZ2UiaW4gd2luZG93KSlyZXR1cm4hMTtjb25zdCBlPSJfX190ZXN0IjtyZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKGUsZSksd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGUpLCEwfWNhdGNoKGUpe3JldHVybiExfX19ZnVuY3Rpb24gQmUoZSx0PSJ0ZXh0Iil7cmV0dXJuIG5ldyBQcm9taXNlKCgoaSxuKT0+e3RyeXtjb25zdCBuPW5ldyBYTUxIdHRwUmVxdWVzdDtpZighKCJ3aXRoQ3JlZGVudGlhbHMiaW4gbikpcmV0dXJuO24uYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCgpPT57aWYoInRleHQiPT09dCl0cnl7aShKU09OLnBhcnNlKG4ucmVzcG9uc2VUZXh0KSl9Y2F0Y2goZSl7aShuLnJlc3BvbnNlVGV4dCl9ZWxzZSBpKG4ucmVzcG9uc2UpfSkpLG4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCgoKT0+e3Rocm93IG5ldyBFcnJvcihuLnN0YXR1cyl9KSksbi5vcGVuKCJHRVQiLGUsITApLG4ucmVzcG9uc2VUeXBlPXQsbi5zZW5kKCl9Y2F0Y2goZSl7bihlKX19KSl9ZnVuY3Rpb24gcWUoZSx0KXtpZighRChlKSlyZXR1cm47Y29uc3QgaT1EKHQpO2xldCBuPSExO2NvbnN0IHM9KCk9Pm51bGwhPT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KSxvPShlLHQpPT57ZS5pbm5lckhUTUw9dCxpJiZzKCl8fGRvY3VtZW50LmJvZHkuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJhZnRlcmJlZ2luIixlKX07aWYoIWl8fCFzKCkpe2NvbnN0IHM9JGUuc3VwcG9ydGVkLHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYoci5zZXRBdHRyaWJ1dGUoImhpZGRlbiIsIiIpLGkmJnIuc2V0QXR0cmlidXRlKCJpZCIsdCkscyl7Y29uc3QgZT13aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oYGNhY2hlLSR7dH1gKTtpZihuPW51bGwhPT1lLG4pe2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtvKHIsdC5jb250ZW50KX19QmUoZSkudGhlbigoZT0+e2lmKCFLKGUpKXtpZihzKXRyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oYGNhY2hlLSR7dH1gLEpTT04uc3RyaW5naWZ5KHtjb250ZW50OmV9KSl9Y2F0Y2goZSl7fW8ocixlKX19KSkuY2F0Y2goKCgpPT57fSkpfX1jb25zdCBVZT1lPT5NYXRoLnRydW5jKGUvNjAvNjAlNjAsMTApO2Z1bmN0aW9uIEdlKGU9MCx0PSExLGk9ITEpe2lmKCFNKGUpKXJldHVybiBHZSh2b2lkIDAsdCxpKTtjb25zdCBuPWU9PmAwJHtlfWAuc2xpY2UoLTIpO2xldCBzPVVlKGUpO2NvbnN0IG89KHI9ZSxNYXRoLnRydW5jKHIvNjAlNjAsMTApKTt2YXIgcjtjb25zdCBhPShlPT5NYXRoLnRydW5jKGUlNjAsMTApKShlKTtyZXR1cm4gcz10fHxzPjA/YCR7c306YDoiIixgJHtpJiZlPjA/Ii0iOiIifSR7c30ke24obyl9OiR7bihhKX1gfWNvbnN0IEtlPXtnZXRJY29uVXJsKCl7Y29uc3QgZT1uZXcgVVJMKHRoaXMuY29uZmlnLmljb25Vcmwsd2luZG93LmxvY2F0aW9uKSx0PXdpbmRvdy5sb2NhdGlvbi5ob3N0P3dpbmRvdy5sb2NhdGlvbi5ob3N0OndpbmRvdy50b3AubG9jYXRpb24uaG9zdCxpPWUuaG9zdCE9PXR8fFkuaXNJRSYmIXdpbmRvdy5zdmc0ZXZlcnlib2R5O3JldHVybnt1cmw6dGhpcy5jb25maWcuaWNvblVybCxjb3JzOml9fSxmaW5kRWxlbWVudHMoKXt0cnl7cmV0dXJuIHRoaXMuZWxlbWVudHMuY29udHJvbHM9aGUuY2FsbCh0aGlzLHRoaXMuY29uZmlnLnNlbGVjdG9ycy5jb250cm9scy53cmFwcGVyKSx0aGlzLmVsZW1lbnRzLmJ1dHRvbnM9e3BsYXk6dWUuY2FsbCh0aGlzLHRoaXMuY29uZmlnLnNlbGVjdG9ycy5idXR0b25zLnBsYXkpLHBhdXNlOmhlLmNhbGwodGhpcyx0aGlzLmNvbmZpZy5zZWxlY3RvcnMuYnV0dG9ucy5wYXVzZSkscmVzdGFydDpoZS5jYWxsKHRoaXMsdGhpcy5jb25maWcuc2VsZWN0b3JzLmJ1dHRvbnMucmVzdGFydCkscmV3aW5kOmhlLmNhbGwodGhpcyx0aGlzLmNvbmZpZy5zZWxlY3RvcnMuYnV0dG9ucy5yZXdpbmQpLGZhc3RGb3J3YXJkOmhlLmNhbGwodGhpcyx0aGlzLmNvbmZpZy5zZWxlY3RvcnMuYnV0dG9ucy5mYXN0Rm9yd2FyZCksbXV0ZTpoZS5jYWxsKHRoaXMsdGhpcy5jb25maWcuc2VsZWN0b3JzLmJ1dHRvbnMubXV0ZSkscGlwOmhlLmNhbGwodGhpcyx0aGlzLmNvbmZpZy5zZWxlY3RvcnMuYnV0dG9ucy5waXApLGFpcnBsYXk6aGUuY2FsbCh0aGlzLHRoaXMuY29uZmlnLnNlbGVjdG9ycy5idXR0b25zLmFpcnBsYXkpLHNldHRpbmdzOmhlLmNhbGwodGhpcyx0aGlzLmNvbmZpZy5zZWxlY3RvcnMuYnV0dG9ucy5zZXR0aW5ncyksY2FwdGlvbnM6aGUuY2FsbCh0aGlzLHRoaXMuY29uZmlnLnNlbGVjdG9ycy5idXR0b25zLmNhcHRpb25zKSxmdWxsc2NyZWVuOmhlLmNhbGwodGhpcyx0aGlzLmNvbmZpZy5zZWxlY3RvcnMuYnV0dG9ucy5mdWxsc2NyZWVuKX0sdGhpcy5lbGVtZW50cy5wcm9ncmVzcz1oZS5jYWxsKHRoaXMsdGhpcy5jb25maWcuc2VsZWN0b3JzLnByb2dyZXNzKSx0aGlzLmVsZW1lbnRzLmlucHV0cz17c2VlazpoZS5jYWxsKHRoaXMsdGhpcy5jb25maWcuc2VsZWN0b3JzLmlucHV0cy5zZWVrKSx2b2x1bWU6aGUuY2FsbCh0aGlzLHRoaXMuY29uZmlnLnNlbGVjdG9ycy5pbnB1dHMudm9sdW1lKX0sdGhpcy5lbGVtZW50cy5kaXNwbGF5PXtidWZmZXI6aGUuY2FsbCh0aGlzLHRoaXMuY29uZmlnLnNlbGVjdG9ycy5kaXNwbGF5LmJ1ZmZlciksY3VycmVudFRpbWU6aGUuY2FsbCh0aGlzLHRoaXMuY29uZmlnLnNlbGVjdG9ycy5kaXNwbGF5LmN1cnJlbnRUaW1lKSxkdXJhdGlvbjpoZS5jYWxsKHRoaXMsdGhpcy5jb25maWcuc2VsZWN0b3JzLmRpc3BsYXkuZHVyYXRpb24pfSxIKHRoaXMuZWxlbWVudHMucHJvZ3Jlc3MpJiYodGhpcy5lbGVtZW50cy5kaXNwbGF5LnNlZWtUb29sdGlwPXRoaXMuZWxlbWVudHMucHJvZ3Jlc3MucXVlcnlTZWxlY3RvcihgLiR7dGhpcy5jb25maWcuY2xhc3NOYW1lcy50b29sdGlwfWApKSwhMH1jYXRjaChlKXtyZXR1cm4gdGhpcy5kZWJ1Zy53YXJuKCJJdCBsb29rcyBsaWtlIHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHlvdXIgY3VzdG9tIGNvbnRyb2xzIEhUTUwiLGUpLHRoaXMudG9nZ2xlTmF0aXZlQ29udHJvbHMoITApLCExfX0sY3JlYXRlSWNvbihlLHQpe2NvbnN0IGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixuPUtlLmdldEljb25VcmwuY2FsbCh0aGlzKSxzPWAke24uY29ycz8iIjpuLnVybH0jJHt0aGlzLmNvbmZpZy5pY29uUHJlZml4fWAsbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoaSwic3ZnIik7WihvLEoodCx7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsZm9jdXNhYmxlOiJmYWxzZSJ9KSk7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoaSwidXNlIiksYT1gJHtzfS0ke2V9YDtyZXR1cm4iaHJlZiJpbiByJiZyLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwiaHJlZiIsYSksci5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmhyZWYiLGEpLG8uYXBwZW5kQ2hpbGQociksb30sY3JlYXRlTGFiZWwoZSx0PXt9KXtjb25zdCBpPUhlLmdldChlLHRoaXMuY29uZmlnKTtyZXR1cm4gZWUoInNwYW4iLHsuLi50LGNsYXNzOlt0LmNsYXNzLHRoaXMuY29uZmlnLmNsYXNzTmFtZXMuaGlkZGVuXS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpfSxpKX0sY3JlYXRlQmFkZ2UoZSl7aWYoSyhlKSlyZXR1cm4gbnVsbDtjb25zdCB0PWVlKCJzcGFuIix7Y2xhc3M6dGhpcy5jb25maWcuY2xhc3NOYW1lcy5tZW51LnZhbHVlfSk7cmV0dXJuIHQuYXBwZW5kQ2hpbGQoZWUoInNwYW4iLHtjbGFzczp0aGlzLmNvbmZpZy5jbGFzc05hbWVzLm1lbnUuYmFkZ2V9LGUpKSx0fSxjcmVhdGVCdXR0b24oZSx0KXtjb25zdCBpPUooe30sdCk7bGV0IG49RmUoZSk7Y29uc3Qgcz17ZWxlbWVudDoiYnV0dG9uIix0b2dnbGU6ITEsbGFiZWw6bnVsbCxpY29uOm51bGwsbGFiZWxQcmVzc2VkOm51bGwsaWNvblByZXNzZWQ6bnVsbH07c3dpdGNoKFsiZWxlbWVudCIsImljb24iLCJsYWJlbCJdLmZvckVhY2goKGU9PntPYmplY3Qua2V5cyhpKS5pbmNsdWRlcyhlKSYmKHNbZV09aVtlXSxkZWxldGUgaVtlXSl9KSksImJ1dHRvbiIhPT1zLmVsZW1lbnR8fE9iamVjdC5rZXlzKGkpLmluY2x1ZGVzKCJ0eXBlIil8fChpLnR5cGU9ImJ1dHRvbiIpLE9iamVjdC5rZXlzKGkpLmluY2x1ZGVzKCJjbGFzcyIpP2kuY2xhc3Muc3BsaXQoIiAiKS5zb21lKChlPT5lPT09dGhpcy5jb25maWcuY2xhc3NOYW1lcy5jb250cm9sKSl8fEooaSx7Y2xhc3M6YCR7aS5jbGFzc30gJHt0aGlzLmNvbmZpZy5jbGFzc05hbWVzLmNvbnRyb2x9YH0pOmkuY2xhc3M9dGhpcy5jb25maWcuY2xhc3NOYW1lcy5jb250cm9sLGUpe2Nhc2UicGxheSI6cy50b2dnbGU9ITAscy5sYWJlbD0icGxheSIscy5sYWJlbFByZXNzZWQ9InBhdXNlIixzLmljb249InBsYXkiLHMuaWNvblByZXNzZWQ9InBhdXNlIjticmVhaztjYXNlIm11dGUiOnMudG9nZ2xlPSEwLHMubGFiZWw9Im11dGUiLHMubGFiZWxQcmVzc2VkPSJ1bm11dGUiLHMuaWNvbj0idm9sdW1lIixzLmljb25QcmVzc2VkPSJtdXRlZCI7YnJlYWs7Y2FzZSJjYXB0aW9ucyI6cy50b2dnbGU9ITAscy5sYWJlbD0iZW5hYmxlQ2FwdGlvbnMiLHMubGFiZWxQcmVzc2VkPSJkaXNhYmxlQ2FwdGlvbnMiLHMuaWNvbj0iY2FwdGlvbnMtb2ZmIixzLmljb25QcmVzc2VkPSJjYXB0aW9ucy1vbiI7YnJlYWs7Y2FzZSJmdWxsc2NyZWVuIjpzLnRvZ2dsZT0hMCxzLmxhYmVsPSJlbnRlckZ1bGxzY3JlZW4iLHMubGFiZWxQcmVzc2VkPSJleGl0RnVsbHNjcmVlbiIscy5pY29uPSJlbnRlci1mdWxsc2NyZWVuIixzLmljb25QcmVzc2VkPSJleGl0LWZ1bGxzY3JlZW4iO2JyZWFrO2Nhc2UicGxheS1sYXJnZSI6aS5jbGFzcys9YCAke3RoaXMuY29uZmlnLmNsYXNzTmFtZXMuY29udHJvbH0tLW92ZXJsYWlkYCxuPSJwbGF5IixzLmxhYmVsPSJwbGF5IixzLmljb249InBsYXkiO2JyZWFrO2RlZmF1bHQ6SyhzLmxhYmVsKSYmKHMubGFiZWw9biksSyhzLmljb24pJiYocy5pY29uPWUpfWNvbnN0IG89ZWUocy5lbGVtZW50KTtyZXR1cm4gcy50b2dnbGU/KG8uYXBwZW5kQ2hpbGQoS2UuY3JlYXRlSWNvbi5jYWxsKHRoaXMscy5pY29uUHJlc3NlZCx7Y2xhc3M6Imljb24tLXByZXNzZWQifSkpLG8uYXBwZW5kQ2hpbGQoS2UuY3JlYXRlSWNvbi5jYWxsKHRoaXMscy5pY29uLHtjbGFzczoiaWNvbi0tbm90LXByZXNzZWQifSkpLG8uYXBwZW5kQ2hpbGQoS2UuY3JlYXRlTGFiZWwuY2FsbCh0aGlzLHMubGFiZWxQcmVzc2VkLHtjbGFzczoibGFiZWwtLXByZXNzZWQifSkpLG8uYXBwZW5kQ2hpbGQoS2UuY3JlYXRlTGFiZWwuY2FsbCh0aGlzLHMubGFiZWwse2NsYXNzOiJsYWJlbC0tbm90LXByZXNzZWQifSkpKTooby5hcHBlbmRDaGlsZChLZS5jcmVhdGVJY29uLmNhbGwodGhpcyxzLmljb24pKSxvLmFwcGVuZENoaWxkKEtlLmNyZWF0ZUxhYmVsLmNhbGwodGhpcyxzLmxhYmVsKSkpLEooaSxvZSh0aGlzLmNvbmZpZy5zZWxlY3RvcnMuYnV0dG9uc1tuXSxpKSksWihvLGkpLCJwbGF5Ij09PW4/KFYodGhpcy5lbGVtZW50cy5idXR0b25zW25dKXx8KHRoaXMuZWxlbWVudHMuYnV0dG9uc1tuXT1bXSksdGhpcy5lbGVtZW50cy5idXR0b25zW25dLnB1c2gobykpOnRoaXMuZWxlbWVudHMuYnV0dG9uc1tuXT1vLG99LGNyZWF0ZVJhbmdlKGUsdCl7Y29uc3QgaT1lZSgiaW5wdXQiLEoob2UodGhpcy5jb25maWcuc2VsZWN0b3JzLmlucHV0c1tlXSkse3R5cGU6InJhbmdlIixtaW46MCxtYXg6MTAwLHN0ZXA6LjAxLHZhbHVlOjAsYXV0b2NvbXBsZXRlOiJvZmYiLHJvbGU6InNsaWRlciIsImFyaWEtbGFiZWwiOkhlLmdldChlLHRoaXMuY29uZmlnKSwiYXJpYS12YWx1ZW1pbiI6MCwiYXJpYS12YWx1ZW1heCI6MTAwLCJhcmlhLXZhbHVlbm93IjowfSx0KSk7cmV0dXJuIHRoaXMuZWxlbWVudHMuaW5wdXRzW2VdPWksS2UudXBkYXRlUmFuZ2VGaWxsLmNhbGwodGhpcyxpKSxFLnNldHVwKGkpLGl9LGNyZWF0ZVByb2dyZXNzKGUsdCl7Y29uc3QgaT1lZSgicHJvZ3Jlc3MiLEoob2UodGhpcy5jb25maWcuc2VsZWN0b3JzLmRpc3BsYXlbZV0pLHttaW46MCxtYXg6MTAwLHZhbHVlOjAscm9sZToicHJvZ3Jlc3NiYXIiLCJhcmlhLWhpZGRlbiI6ITB9LHQpKTtpZigidm9sdW1lIiE9PWUpe2kuYXBwZW5kQ2hpbGQoZWUoInNwYW4iLG51bGwsIjAiKSk7Y29uc3QgdD17cGxheWVkOiJwbGF5ZWQiLGJ1ZmZlcjoiYnVmZmVyZWQifVtlXSxuPXQ/SGUuZ2V0KHQsdGhpcy5jb25maWcpOiIiO2kuaW5uZXJUZXh0PWAlICR7bi50b0xvd2VyQ2FzZSgpfWB9cmV0dXJuIHRoaXMuZWxlbWVudHMuZGlzcGxheVtlXT1pLGl9LGNyZWF0ZVRpbWUoZSx0KXtjb25zdCBpPW9lKHRoaXMuY29uZmlnLnNlbGVjdG9ycy5kaXNwbGF5W2VdLHQpLG49ZWUoImRpdiIsSihpLHtjbGFzczpgJHtpLmNsYXNzP2kuY2xhc3M6IiJ9ICR7dGhpcy5jb25maWcuY2xhc3NOYW1lcy5kaXNwbGF5LnRpbWV9IGAudHJpbSgpLCJhcmlhLWxhYmVsIjpIZS5nZXQoZSx0aGlzLmNvbmZpZyl9KSwiMDA6MDAiKTtyZXR1cm4gdGhpcy5lbGVtZW50cy5kaXNwbGF5W2VdPW4sbn0sYmluZE1lbnVJdGVtU2hvcnRjdXRzKGUsdCl7eWUuY2FsbCh0aGlzLGUsImtleWRvd24ga2V5dXAiLChpPT57aWYoIVszMiwzOCwzOSw0MF0uaW5jbHVkZXMoaS53aGljaCkpcmV0dXJuO2lmKGkucHJldmVudERlZmF1bHQoKSxpLnN0b3BQcm9wYWdhdGlvbigpLCJrZXlkb3duIj09PWkudHlwZSlyZXR1cm47Y29uc3Qgbj1jZShlLCdbcm9sZT0ibWVudWl0ZW1yYWRpbyJdJyk7aWYoIW4mJlszMiwzOV0uaW5jbHVkZXMoaS53aGljaCkpS2Uuc2hvd01lbnVQYW5lbC5jYWxsKHRoaXMsdCwhMCk7ZWxzZXtsZXQgdDszMiE9PWkud2hpY2gmJig0MD09PWkud2hpY2h8fG4mJjM5PT09aS53aGljaD8odD1lLm5leHRFbGVtZW50U2libGluZyxIKHQpfHwodD1lLnBhcmVudE5vZGUuZmlyc3RFbGVtZW50Q2hpbGQpKToodD1lLnByZXZpb3VzRWxlbWVudFNpYmxpbmcsSCh0KXx8KHQ9ZS5wYXJlbnROb2RlLmxhc3RFbGVtZW50Q2hpbGQpKSxkZS5jYWxsKHRoaXMsdCwhMCkpfX0pLCExKSx5ZS5jYWxsKHRoaXMsZSwia2V5dXAiLChlPT57MTM9PT1lLndoaWNoJiZLZS5mb2N1c0ZpcnN0TWVudUl0ZW0uY2FsbCh0aGlzLG51bGwsITApfSkpfSxjcmVhdGVNZW51SXRlbSh7dmFsdWU6ZSxsaXN0OnQsdHlwZTppLHRpdGxlOm4sYmFkZ2U6cz1udWxsLGNoZWNrZWQ6bz0hMX0pe2NvbnN0IHI9b2UodGhpcy5jb25maWcuc2VsZWN0b3JzLmlucHV0c1tpXSksYT1lZSgiYnV0dG9uIixKKHIse3R5cGU6ImJ1dHRvbiIscm9sZToibWVudWl0ZW1yYWRpbyIsY2xhc3M6YCR7dGhpcy5jb25maWcuY2xhc3NOYW1lcy5jb250cm9sfSAke3IuY2xhc3M/ci5jbGFzczoiIn1gLnRyaW0oKSwiYXJpYS1jaGVja2VkIjpvLHZhbHVlOmV9KSksbD1lZSgic3BhbiIpO2wuaW5uZXJIVE1MPW4sSChzKSYmbC5hcHBlbmRDaGlsZChzKSxhLmFwcGVuZENoaWxkKGwpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJjaGVja2VkIix7ZW51bWVyYWJsZTohMCxnZXQ6KCk9PiJ0cnVlIj09PWEuZ2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiKSxzZXQoZSl7ZSYmQXJyYXkuZnJvbShhLnBhcmVudE5vZGUuY2hpbGRyZW4pLmZpbHRlcigoZT0+Y2UoZSwnW3JvbGU9Im1lbnVpdGVtcmFkaW8iXScpKSkuZm9yRWFjaCgoZT0+ZS5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsImZhbHNlIikpKSxhLnNldEF0dHJpYnV0ZSgiYXJpYS1jaGVja2VkIixlPyJ0cnVlIjoiZmFsc2UiKX19KSx0aGlzLmxpc3RlbmVycy5iaW5kKGEsImNsaWNrIGtleXVwIiwodD0+e2lmKCFCKHQpfHwzMj09PXQud2hpY2gpe3N3aXRjaCh0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSxhLmNoZWNrZWQ9ITAsaSl7Y2FzZSJsYW5ndWFnZSI6dGhpcy5jdXJyZW50VHJhY2s9TnVtYmVyKGUpO2JyZWFrO2Nhc2UicXVhbGl0eSI6dGhpcy5xdWFsaXR5PWU7YnJlYWs7Y2FzZSJzcGVlZCI6dGhpcy5zcGVlZD1wYXJzZUZsb2F0KGUpfUtlLnNob3dNZW51UGFuZWwuY2FsbCh0aGlzLCJob21lIixCKHQpKX19KSxpLCExKSxLZS5iaW5kTWVudUl0ZW1TaG9ydGN1dHMuY2FsbCh0aGlzLGEsaSksdC5hcHBlbmRDaGlsZChhKX0sZm9ybWF0VGltZShlPTAsdD0hMSl7cmV0dXJuIE0oZSk/R2UoZSxVZSh0aGlzLmR1cmF0aW9uKT4wLHQpOmV9LHVwZGF0ZVRpbWVEaXNwbGF5KGU9bnVsbCx0PTAsaT0hMSl7SChlKSYmTSh0KSYmKGUuaW5uZXJUZXh0PUtlLmZvcm1hdFRpbWUodCxpKSl9LHVwZGF0ZVZvbHVtZSgpe3RoaXMuc3VwcG9ydGVkLnVpJiYoSCh0aGlzLmVsZW1lbnRzLmlucHV0cy52b2x1bWUpJiZLZS5zZXRSYW5nZS5jYWxsKHRoaXMsdGhpcy5lbGVtZW50cy5pbnB1dHMudm9sdW1lLHRoaXMubXV0ZWQ/MDp0aGlzLnZvbHVtZSksSCh0aGlzLmVsZW1lbnRzLmJ1dHRvbnMubXV0ZSkmJih0aGlzLmVsZW1lbnRzLmJ1dHRvbnMubXV0ZS5wcmVzc2VkPXRoaXMubXV0ZWR8fDA9PT10aGlzLnZvbHVtZSkpfSxzZXRSYW5nZShlLHQ9MCl7SChlKSYmKGUudmFsdWU9dCxLZS51cGRhdGVSYW5nZUZpbGwuY2FsbCh0aGlzLGUpKX0sdXBkYXRlUHJvZ3Jlc3MoZSl7aWYoIXRoaXMuc3VwcG9ydGVkLnVpfHwhJChlKSlyZXR1cm47bGV0IHQ9MDtjb25zdCBpPShlLHQpPT57Y29uc3QgaT1NKHQpP3Q6MCxuPUgoZSk/ZTp0aGlzLmVsZW1lbnRzLmRpc3BsYXkuYnVmZmVyO2lmKEgobikpe24udmFsdWU9aTtjb25zdCBlPW4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXTtIKGUpJiYoZS5jaGlsZE5vZGVzWzBdLm5vZGVWYWx1ZT1pKX19O2lmKGUpc3dpdGNoKGUudHlwZSl7Y2FzZSJ0aW1ldXBkYXRlIjpjYXNlInNlZWtpbmciOmNhc2Uic2Vla2VkIjpuPXRoaXMuY3VycmVudFRpbWUscz10aGlzLmR1cmF0aW9uLHQ9MD09PW58fDA9PT1zfHxOdW1iZXIuaXNOYU4obil8fE51bWJlci5pc05hTihzKT8wOihuL3MqMTAwKS50b0ZpeGVkKDIpLCJ0aW1ldXBkYXRlIj09PWUudHlwZSYmS2Uuc2V0UmFuZ2UuY2FsbCh0aGlzLHRoaXMuZWxlbWVudHMuaW5wdXRzLnNlZWssdCk7YnJlYWs7Y2FzZSJwbGF5aW5nIjpjYXNlInByb2dyZXNzIjppKHRoaXMuZWxlbWVudHMuZGlzcGxheS5idWZmZXIsMTAwKnRoaXMuYnVmZmVyZWQpfXZhciBuLHN9LHVwZGF0ZVJhbmdlRmlsbChlKXtjb25zdCB0PSQoZSk/ZS50YXJnZXQ6ZTtpZihIKHQpJiYicmFuZ2UiPT09dC5nZXRBdHRyaWJ1dGUoInR5cGUiKSl7aWYoY2UodCx0aGlzLmNvbmZpZy5zZWxlY3RvcnMuaW5wdXRzLnNlZWspKXt0LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW5vdyIsdGhpcy5jdXJyZW50VGltZSk7Y29uc3QgZT1LZS5mb3JtYXRUaW1lKHRoaXMuY3VycmVudFRpbWUpLGk9S2UuZm9ybWF0VGltZSh0aGlzLmR1cmF0aW9uKSxuPUhlLmdldCgic2Vla0xhYmVsIix0aGlzLmNvbmZpZyk7dC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWV0ZXh0IixuLnJlcGxhY2UoIntjdXJyZW50VGltZX0iLGUpLnJlcGxhY2UoIntkdXJhdGlvbn0iLGkpKX1lbHNlIGlmKGNlKHQsdGhpcy5jb25maWcuc2VsZWN0b3JzLmlucHV0cy52b2x1bWUpKXtjb25zdCBlPTEwMCp0LnZhbHVlO3Quc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbm93IixlKSx0LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZXRleHQiLGAke2UudG9GaXhlZCgxKX0lYCl9ZWxzZSB0LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW5vdyIsdC52YWx1ZSk7WS5pc1dlYmtpdCYmdC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS12YWx1ZSIsdC52YWx1ZS90Lm1heCoxMDArIiUiKX19LHVwZGF0ZVNlZWtUb29sdGlwKGUpe2lmKCF0aGlzLmNvbmZpZy50b29sdGlwcy5zZWVrfHwhSCh0aGlzLmVsZW1lbnRzLmlucHV0cy5zZWVrKXx8IUgodGhpcy5lbGVtZW50cy5kaXNwbGF5LnNlZWtUb29sdGlwKXx8MD09PXRoaXMuZHVyYXRpb24pcmV0dXJuO2NvbnN0IHQ9YCR7dGhpcy5jb25maWcuY2xhc3NOYW1lcy50b29sdGlwfS0tdmlzaWJsZWAsaT1lPT5hZSh0aGlzLmVsZW1lbnRzLmRpc3BsYXkuc2Vla1Rvb2x0aXAsdCxlKTtpZih0aGlzLnRvdWNoKXJldHVybiB2b2lkIGkoITEpO2xldCBuPTA7Y29uc3Qgcz10aGlzLmVsZW1lbnRzLnByb2dyZXNzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKCQoZSkpbj0xMDAvcy53aWR0aCooZS5wYWdlWC1zLmxlZnQpO2Vsc2V7aWYoIWxlKHRoaXMuZWxlbWVudHMuZGlzcGxheS5zZWVrVG9vbHRpcCx0KSlyZXR1cm47bj1wYXJzZUZsb2F0KHRoaXMuZWxlbWVudHMuZGlzcGxheS5zZWVrVG9vbHRpcC5zdHlsZS5sZWZ0LDEwKX1uPDA/bj0wOm4+MTAwJiYobj0xMDApLEtlLnVwZGF0ZVRpbWVEaXNwbGF5LmNhbGwodGhpcyx0aGlzLmVsZW1lbnRzLmRpc3BsYXkuc2Vla1Rvb2x0aXAsdGhpcy5kdXJhdGlvbi8xMDAqbiksdGhpcy5lbGVtZW50cy5kaXNwbGF5LnNlZWtUb29sdGlwLnN0eWxlLmxlZnQ9YCR7bn0lYCwkKGUpJiZbIm1vdXNlZW50ZXIiLCJtb3VzZWxlYXZlIl0uaW5jbHVkZXMoZS50eXBlKSYmaSgibW91c2VlbnRlciI9PT1lLnR5cGUpfSx0aW1lVXBkYXRlKGUpe2NvbnN0IHQ9IUgodGhpcy5lbGVtZW50cy5kaXNwbGF5LmR1cmF0aW9uKSYmdGhpcy5jb25maWcuaW52ZXJ0VGltZTtLZS51cGRhdGVUaW1lRGlzcGxheS5jYWxsKHRoaXMsdGhpcy5lbGVtZW50cy5kaXNwbGF5LmN1cnJlbnRUaW1lLHQ/dGhpcy5kdXJhdGlvbi10aGlzLmN1cnJlbnRUaW1lOnRoaXMuY3VycmVudFRpbWUsdCksZSYmInRpbWV1cGRhdGUiPT09ZS50eXBlJiZ0aGlzLm1lZGlhLnNlZWtpbmd8fEtlLnVwZGF0ZVByb2dyZXNzLmNhbGwodGhpcyxlKX0sZHVyYXRpb25VcGRhdGUoKXtpZighdGhpcy5zdXBwb3J0ZWQudWl8fCF0aGlzLmNvbmZpZy5pbnZlcnRUaW1lJiZ0aGlzLmN1cnJlbnRUaW1lKXJldHVybjtpZih0aGlzLmR1cmF0aW9uPj0yKiozMilyZXR1cm4gcmUodGhpcy5lbGVtZW50cy5kaXNwbGF5LmN1cnJlbnRUaW1lLCEwKSx2b2lkIHJlKHRoaXMuZWxlbWVudHMucHJvZ3Jlc3MsITApO0godGhpcy5lbGVtZW50cy5pbnB1dHMuc2VlaykmJnRoaXMuZWxlbWVudHMuaW5wdXRzLnNlZWsuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWF4Iix0aGlzLmR1cmF0aW9uKTtjb25zdCBlPUgodGhpcy5lbGVtZW50cy5kaXNwbGF5LmR1cmF0aW9uKTshZSYmdGhpcy5jb25maWcuZGlzcGxheUR1cmF0aW9uJiZ0aGlzLnBhdXNlZCYmS2UudXBkYXRlVGltZURpc3BsYXkuY2FsbCh0aGlzLHRoaXMuZWxlbWVudHMuZGlzcGxheS5jdXJyZW50VGltZSx0aGlzLmR1cmF0aW9uKSxlJiZLZS51cGRhdGVUaW1lRGlzcGxheS5jYWxsKHRoaXMsdGhpcy5lbGVtZW50cy5kaXNwbGF5LmR1cmF0aW9uLHRoaXMuZHVyYXRpb24pLEtlLnVwZGF0ZVNlZWtUb29sdGlwLmNhbGwodGhpcyl9LHRvZ2dsZU1lbnVCdXR0b24oZSx0KXtyZSh0aGlzLmVsZW1lbnRzLnNldHRpbmdzLmJ1dHRvbnNbZV0sIXQpfSx1cGRhdGVTZXR0aW5nKGUsdCxpKXtjb25zdCBuPXRoaXMuZWxlbWVudHMuc2V0dGluZ3MucGFuZWxzW2VdO2xldCBzPW51bGwsbz10O2lmKCJjYXB0aW9ucyI9PT1lKXM9dGhpcy5jdXJyZW50VHJhY2s7ZWxzZXtpZihzPUsoaSk/dGhpc1tlXTppLEsocykmJihzPXRoaXMuY29uZmlnW2VdLmRlZmF1bHQpLCFLKHRoaXMub3B0aW9uc1tlXSkmJiF0aGlzLm9wdGlvbnNbZV0uaW5jbHVkZXMocykpcmV0dXJuIHZvaWQgdGhpcy5kZWJ1Zy53YXJuKGBVbnN1cHBvcnRlZCB2YWx1ZSBvZiAnJHtzfScgZm9yICR7ZX1gKTtpZighdGhpcy5jb25maWdbZV0ub3B0aW9ucy5pbmNsdWRlcyhzKSlyZXR1cm4gdm9pZCB0aGlzLmRlYnVnLndhcm4oYERpc2FibGVkIHZhbHVlIG9mICcke3N9JyBmb3IgJHtlfWApfWlmKEgobyl8fChvPW4mJm4ucXVlcnlTZWxlY3RvcignW3JvbGU9Im1lbnUiXScpKSwhSChvKSlyZXR1cm47dGhpcy5lbGVtZW50cy5zZXR0aW5ncy5idXR0b25zW2VdLnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMuY29uZmlnLmNsYXNzTmFtZXMubWVudS52YWx1ZX1gKS5pbm5lckhUTUw9S2UuZ2V0TGFiZWwuY2FsbCh0aGlzLGUscyk7Y29uc3Qgcj1vJiZvLnF1ZXJ5U2VsZWN0b3IoYFt2YWx1ZT0iJHtzfSJdYCk7SChyKSYmKHIuY2hlY2tlZD0hMCl9LGdldExhYmVsKGUsdCl7c3dpdGNoKGUpe2Nhc2Uic3BlZWQiOnJldHVybiAxPT09dD9IZS5nZXQoIm5vcm1hbCIsdGhpcy5jb25maWcpOmAke3R9JnRpbWVzO2A7Y2FzZSJxdWFsaXR5IjppZihNKHQpKXtjb25zdCBlPUhlLmdldChgcXVhbGl0eUxhYmVsLiR7dH1gLHRoaXMuY29uZmlnKTtyZXR1cm4gZS5sZW5ndGg/ZTpgJHt0fXBgfXJldHVybiBqZSh0KTtjYXNlImNhcHRpb25zIjpyZXR1cm4gWWUuZ2V0TGFiZWwuY2FsbCh0aGlzKTtkZWZhdWx0OnJldHVybiBudWxsfX0sc2V0UXVhbGl0eU1lbnUoZSl7aWYoIUgodGhpcy5lbGVtZW50cy5zZXR0aW5ncy5wYW5lbHMucXVhbGl0eSkpcmV0dXJuO2NvbnN0IHQ9InF1YWxpdHkiLGk9dGhpcy5lbGVtZW50cy5zZXR0aW5ncy5wYW5lbHMucXVhbGl0eS5xdWVyeVNlbGVjdG9yKCdbcm9sZT0ibWVudSJdJyk7VihlKSYmKHRoaXMub3B0aW9ucy5xdWFsaXR5PVRlKGUpLmZpbHRlcigoZT0+dGhpcy5jb25maWcucXVhbGl0eS5vcHRpb25zLmluY2x1ZGVzKGUpKSkpO2NvbnN0IG49IUsodGhpcy5vcHRpb25zLnF1YWxpdHkpJiZ0aGlzLm9wdGlvbnMucXVhbGl0eS5sZW5ndGg+MTtpZihLZS50b2dnbGVNZW51QnV0dG9uLmNhbGwodGhpcyx0LG4pLG5lKGkpLEtlLmNoZWNrTWVudS5jYWxsKHRoaXMpLCFuKXJldHVybjtjb25zdCBzPWU9Pntjb25zdCB0PUhlLmdldChgcXVhbGl0eUJhZGdlLiR7ZX1gLHRoaXMuY29uZmlnKTtyZXR1cm4gdC5sZW5ndGg/S2UuY3JlYXRlQmFkZ2UuY2FsbCh0aGlzLHQpOm51bGx9O3RoaXMub3B0aW9ucy5xdWFsaXR5LnNvcnQoKChlLHQpPT57Y29uc3QgaT10aGlzLmNvbmZpZy5xdWFsaXR5Lm9wdGlvbnM7cmV0dXJuIGkuaW5kZXhPZihlKT5pLmluZGV4T2YodCk/MTotMX0pKS5mb3JFYWNoKChlPT57S2UuY3JlYXRlTWVudUl0ZW0uY2FsbCh0aGlzLHt2YWx1ZTplLGxpc3Q6aSx0eXBlOnQsdGl0bGU6S2UuZ2V0TGFiZWwuY2FsbCh0aGlzLCJxdWFsaXR5IixlKSxiYWRnZTpzKGUpfSl9KSksS2UudXBkYXRlU2V0dGluZy5jYWxsKHRoaXMsdCxpKX0sc2V0Q2FwdGlvbnNNZW51KCl7aWYoIUgodGhpcy5lbGVtZW50cy5zZXR0aW5ncy5wYW5lbHMuY2FwdGlvbnMpKXJldHVybjtjb25zdCBlPSJjYXB0aW9ucyIsdD10aGlzLmVsZW1lbnRzLnNldHRpbmdzLnBhbmVscy5jYXB0aW9ucy5xdWVyeVNlbGVjdG9yKCdbcm9sZT0ibWVudSJdJyksaT1ZZS5nZXRUcmFja3MuY2FsbCh0aGlzKSxuPUJvb2xlYW4oaS5sZW5ndGgpO2lmKEtlLnRvZ2dsZU1lbnVCdXR0b24uY2FsbCh0aGlzLGUsbiksbmUodCksS2UuY2hlY2tNZW51LmNhbGwodGhpcyksIW4pcmV0dXJuO2NvbnN0IHM9aS5tYXAoKChlLGkpPT4oe3ZhbHVlOmksY2hlY2tlZDp0aGlzLmNhcHRpb25zLnRvZ2dsZWQmJnRoaXMuY3VycmVudFRyYWNrPT09aSx0aXRsZTpZZS5nZXRMYWJlbC5jYWxsKHRoaXMsZSksYmFkZ2U6ZS5sYW5ndWFnZSYmS2UuY3JlYXRlQmFkZ2UuY2FsbCh0aGlzLGUubGFuZ3VhZ2UudG9VcHBlckNhc2UoKSksbGlzdDp0LHR5cGU6Imxhbmd1YWdlIn0pKSk7cy51bnNoaWZ0KHt2YWx1ZTotMSxjaGVja2VkOiF0aGlzLmNhcHRpb25zLnRvZ2dsZWQsdGl0bGU6SGUuZ2V0KCJkaXNhYmxlZCIsdGhpcy5jb25maWcpLGxpc3Q6dCx0eXBlOiJsYW5ndWFnZSJ9KSxzLmZvckVhY2goS2UuY3JlYXRlTWVudUl0ZW0uYmluZCh0aGlzKSksS2UudXBkYXRlU2V0dGluZy5jYWxsKHRoaXMsZSx0KX0sc2V0U3BlZWRNZW51KCl7aWYoIUgodGhpcy5lbGVtZW50cy5zZXR0aW5ncy5wYW5lbHMuc3BlZWQpKXJldHVybjtjb25zdCBlPSJzcGVlZCIsdD10aGlzLmVsZW1lbnRzLnNldHRpbmdzLnBhbmVscy5zcGVlZC5xdWVyeVNlbGVjdG9yKCdbcm9sZT0ibWVudSJdJyk7dGhpcy5vcHRpb25zLnNwZWVkPXRoaXMub3B0aW9ucy5zcGVlZC5maWx0ZXIoKGU9PmU+PXRoaXMubWluaW11bVNwZWVkJiZlPD10aGlzLm1heGltdW1TcGVlZCkpO2NvbnN0IGk9IUsodGhpcy5vcHRpb25zLnNwZWVkKSYmdGhpcy5vcHRpb25zLnNwZWVkLmxlbmd0aD4xO0tlLnRvZ2dsZU1lbnVCdXR0b24uY2FsbCh0aGlzLGUsaSksbmUodCksS2UuY2hlY2tNZW51LmNhbGwodGhpcyksaSYmKHRoaXMub3B0aW9ucy5zcGVlZC5mb3JFYWNoKChpPT57S2UuY3JlYXRlTWVudUl0ZW0uY2FsbCh0aGlzLHt2YWx1ZTppLGxpc3Q6dCx0eXBlOmUsdGl0bGU6S2UuZ2V0TGFiZWwuY2FsbCh0aGlzLCJzcGVlZCIsaSl9KX0pKSxLZS51cGRhdGVTZXR0aW5nLmNhbGwodGhpcyxlLHQpKX0sY2hlY2tNZW51KCl7Y29uc3R7YnV0dG9uczplfT10aGlzLmVsZW1lbnRzLnNldHRpbmdzLHQ9IUsoZSkmJk9iamVjdC52YWx1ZXMoZSkuc29tZSgoZT0+IWUuaGlkZGVuKSk7cmUodGhpcy5lbGVtZW50cy5zZXR0aW5ncy5tZW51LCF0KX0sZm9jdXNGaXJzdE1lbnVJdGVtKGUsdD0hMSl7aWYodGhpcy5lbGVtZW50cy5zZXR0aW5ncy5wb3B1cC5oaWRkZW4pcmV0dXJuO2xldCBpPWU7SChpKXx8KGk9T2JqZWN0LnZhbHVlcyh0aGlzLmVsZW1lbnRzLnNldHRpbmdzLnBhbmVscykuZmluZCgoZT0+IWUuaGlkZGVuKSkpO2NvbnN0IG49aS5xdWVyeVNlbGVjdG9yKCdbcm9sZV49Im1lbnVpdGVtIl0nKTtkZS5jYWxsKHRoaXMsbix0KX0sdG9nZ2xlTWVudShlKXtjb25zdHtwb3B1cDp0fT10aGlzLmVsZW1lbnRzLnNldHRpbmdzLGk9dGhpcy5lbGVtZW50cy5idXR0b25zLnNldHRpbmdzO2lmKCFIKHQpfHwhSChpKSlyZXR1cm47Y29uc3R7aGlkZGVuOm59PXQ7bGV0IHM9bjtpZihqKGUpKXM9ZTtlbHNlIGlmKEIoZSkmJjI3PT09ZS53aGljaClzPSExO2Vsc2UgaWYoJChlKSl7Y29uc3Qgbj1GKGUuY29tcG9zZWRQYXRoKT9lLmNvbXBvc2VkUGF0aCgpWzBdOmUudGFyZ2V0LG89dC5jb250YWlucyhuKTtpZihvfHwhbyYmZS50YXJnZXQhPT1pJiZzKXJldHVybn1pLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIscykscmUodCwhcyksYWUodGhpcy5lbGVtZW50cy5jb250YWluZXIsdGhpcy5jb25maWcuY2xhc3NOYW1lcy5tZW51Lm9wZW4scykscyYmQihlKT9LZS5mb2N1c0ZpcnN0TWVudUl0ZW0uY2FsbCh0aGlzLG51bGwsITApOnN8fG58fGRlLmNhbGwodGhpcyxpLEIoZSkpfSxnZXRNZW51U2l6ZShlKXtjb25zdCB0PWUuY2xvbmVOb2RlKCEwKTt0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS5vcGFjaXR5PTAsdC5yZW1vdmVBdHRyaWJ1dGUoImhpZGRlbiIpLGUucGFyZW50Tm9kZS5hcHBlbmRDaGlsZCh0KTtjb25zdCBpPXQuc2Nyb2xsV2lkdGgsbj10LnNjcm9sbEhlaWdodDtyZXR1cm4gaWUodCkse3dpZHRoOmksaGVpZ2h0Om59fSxzaG93TWVudVBhbmVsKGU9IiIsdD0hMSl7Y29uc3QgaT10aGlzLmVsZW1lbnRzLmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKGAjcGx5ci1zZXR0aW5ncy0ke3RoaXMuaWR9LSR7ZX1gKTtpZighSChpKSlyZXR1cm47Y29uc3Qgbj1pLnBhcmVudE5vZGUscz1BcnJheS5mcm9tKG4uY2hpbGRyZW4pLmZpbmQoKGU9PiFlLmhpZGRlbikpO2lmKGZlLnRyYW5zaXRpb25zJiYhZmUucmVkdWNlZE1vdGlvbil7bi5zdHlsZS53aWR0aD1gJHtzLnNjcm9sbFdpZHRofXB4YCxuLnN0eWxlLmhlaWdodD1gJHtzLnNjcm9sbEhlaWdodH1weGA7Y29uc3QgZT1LZS5nZXRNZW51U2l6ZS5jYWxsKHRoaXMsaSksdD1lPT57ZS50YXJnZXQ9PT1uJiZbIndpZHRoIiwiaGVpZ2h0Il0uaW5jbHVkZXMoZS5wcm9wZXJ0eU5hbWUpJiYobi5zdHlsZS53aWR0aD0iIixuLnN0eWxlLmhlaWdodD0iIix2ZS5jYWxsKHRoaXMsbixXLHQpKX07eWUuY2FsbCh0aGlzLG4sVyx0KSxuLnN0eWxlLndpZHRoPWAke2Uud2lkdGh9cHhgLG4uc3R5bGUuaGVpZ2h0PWAke2UuaGVpZ2h0fXB4YH1yZShzLCEwKSxyZShpLCExKSxLZS5mb2N1c0ZpcnN0TWVudUl0ZW0uY2FsbCh0aGlzLGksdCl9LHNldERvd25sb2FkVXJsKCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLmJ1dHRvbnMuZG93bmxvYWQ7SChlKSYmZS5zZXRBdHRyaWJ1dGUoImhyZWYiLHRoaXMuZG93bmxvYWQpfSxjcmVhdGUoZSl7Y29uc3R7YmluZE1lbnVJdGVtU2hvcnRjdXRzOnQsY3JlYXRlQnV0dG9uOmksY3JlYXRlUHJvZ3Jlc3M6bixjcmVhdGVSYW5nZTpzLGNyZWF0ZVRpbWU6byxzZXRRdWFsaXR5TWVudTpyLHNldFNwZWVkTWVudTphLHNob3dNZW51UGFuZWw6bH09S2U7dGhpcy5lbGVtZW50cy5jb250cm9scz1udWxsLFYodGhpcy5jb25maWcuY29udHJvbHMpJiZ0aGlzLmNvbmZpZy5jb250cm9scy5pbmNsdWRlcygicGxheS1sYXJnZSIpJiZ0aGlzLmVsZW1lbnRzLmNvbnRhaW5lci5hcHBlbmRDaGlsZChpLmNhbGwodGhpcywicGxheS1sYXJnZSIpKTtjb25zdCBjPWVlKCJkaXYiLG9lKHRoaXMuY29uZmlnLnNlbGVjdG9ycy5jb250cm9scy53cmFwcGVyKSk7dGhpcy5lbGVtZW50cy5jb250cm9scz1jO2NvbnN0IHU9e2NsYXNzOiJwbHlyX19jb250cm9sc19faXRlbSJ9O3JldHVybiBUZShWKHRoaXMuY29uZmlnLmNvbnRyb2xzKT90aGlzLmNvbmZpZy5jb250cm9sczpbXSkuZm9yRWFjaCgocj0+e2lmKCJyZXN0YXJ0Ij09PXImJmMuYXBwZW5kQ2hpbGQoaS5jYWxsKHRoaXMsInJlc3RhcnQiLHUpKSwicmV3aW5kIj09PXImJmMuYXBwZW5kQ2hpbGQoaS5jYWxsKHRoaXMsInJld2luZCIsdSkpLCJwbGF5Ij09PXImJmMuYXBwZW5kQ2hpbGQoaS5jYWxsKHRoaXMsInBsYXkiLHUpKSwiZmFzdC1mb3J3YXJkIj09PXImJmMuYXBwZW5kQ2hpbGQoaS5jYWxsKHRoaXMsImZhc3QtZm9yd2FyZCIsdSkpLCJwcm9ncmVzcyI9PT1yKXtjb25zdCB0PWVlKCJkaXYiLHtjbGFzczpgJHt1LmNsYXNzfSBwbHlyX19wcm9ncmVzc19fY29udGFpbmVyYH0pLGk9ZWUoImRpdiIsb2UodGhpcy5jb25maWcuc2VsZWN0b3JzLnByb2dyZXNzKSk7aWYoaS5hcHBlbmRDaGlsZChzLmNhbGwodGhpcywic2VlayIse2lkOmBwbHlyLXNlZWstJHtlLmlkfWB9KSksaS5hcHBlbmRDaGlsZChuLmNhbGwodGhpcywiYnVmZmVyIikpLHRoaXMuY29uZmlnLnRvb2x0aXBzLnNlZWspe2NvbnN0IGU9ZWUoInNwYW4iLHtjbGFzczp0aGlzLmNvbmZpZy5jbGFzc05hbWVzLnRvb2x0aXB9LCIwMDowMCIpO2kuYXBwZW5kQ2hpbGQoZSksdGhpcy5lbGVtZW50cy5kaXNwbGF5LnNlZWtUb29sdGlwPWV9dGhpcy5lbGVtZW50cy5wcm9ncmVzcz1pLHQuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50cy5wcm9ncmVzcyksYy5hcHBlbmRDaGlsZCh0KX1pZigiY3VycmVudC10aW1lIj09PXImJmMuYXBwZW5kQ2hpbGQoby5jYWxsKHRoaXMsImN1cnJlbnRUaW1lIix1KSksImR1cmF0aW9uIj09PXImJmMuYXBwZW5kQ2hpbGQoby5jYWxsKHRoaXMsImR1cmF0aW9uIix1KSksIm11dGUiPT09cnx8InZvbHVtZSI9PT1yKXtsZXR7dm9sdW1lOnR9PXRoaXMuZWxlbWVudHM7aWYoSCh0KSYmYy5jb250YWlucyh0KXx8KHQ9ZWUoImRpdiIsSih7fSx1LHtjbGFzczpgJHt1LmNsYXNzfSBwbHlyX192b2x1bWVgLnRyaW0oKX0pKSx0aGlzLmVsZW1lbnRzLnZvbHVtZT10LGMuYXBwZW5kQ2hpbGQodCkpLCJtdXRlIj09PXImJnQuYXBwZW5kQ2hpbGQoaS5jYWxsKHRoaXMsIm11dGUiKSksInZvbHVtZSI9PT1yJiYhWS5pc0lvcyl7Y29uc3QgaT17bWF4OjEsc3RlcDouMDUsdmFsdWU6dGhpcy5jb25maWcudm9sdW1lfTt0LmFwcGVuZENoaWxkKHMuY2FsbCh0aGlzLCJ2b2x1bWUiLEooaSx7aWQ6YHBseXItdm9sdW1lLSR7ZS5pZH1gfSkpKX19aWYoImNhcHRpb25zIj09PXImJmMuYXBwZW5kQ2hpbGQoaS5jYWxsKHRoaXMsImNhcHRpb25zIix1KSksInNldHRpbmdzIj09PXImJiFLKHRoaXMuY29uZmlnLnNldHRpbmdzKSl7Y29uc3Qgbj1lZSgiZGl2IixKKHt9LHUse2NsYXNzOmAke3UuY2xhc3N9IHBseXJfX21lbnVgLnRyaW0oKSxoaWRkZW46IiJ9KSk7bi5hcHBlbmRDaGlsZChpLmNhbGwodGhpcywic2V0dGluZ3MiLHsiYXJpYS1oYXNwb3B1cCI6ITAsImFyaWEtY29udHJvbHMiOmBwbHlyLXNldHRpbmdzLSR7ZS5pZH1gLCJhcmlhLWV4cGFuZGVkIjohMX0pKTtjb25zdCBzPWVlKCJkaXYiLHtjbGFzczoicGx5cl9fbWVudV9fY29udGFpbmVyIixpZDpgcGx5ci1zZXR0aW5ncy0ke2UuaWR9YCxoaWRkZW46IiJ9KSxvPWVlKCJkaXYiKSxyPWVlKCJkaXYiLHtpZDpgcGx5ci1zZXR0aW5ncy0ke2UuaWR9LWhvbWVgfSksYT1lZSgiZGl2Iix7cm9sZToibWVudSJ9KTtyLmFwcGVuZENoaWxkKGEpLG8uYXBwZW5kQ2hpbGQociksdGhpcy5lbGVtZW50cy5zZXR0aW5ncy5wYW5lbHMuaG9tZT1yLHRoaXMuY29uZmlnLnNldHRpbmdzLmZvckVhY2goKGk9Pntjb25zdCBuPWVlKCJidXR0b24iLEoob2UodGhpcy5jb25maWcuc2VsZWN0b3JzLmJ1dHRvbnMuc2V0dGluZ3MpLHt0eXBlOiJidXR0b24iLGNsYXNzOmAke3RoaXMuY29uZmlnLmNsYXNzTmFtZXMuY29udHJvbH0gJHt0aGlzLmNvbmZpZy5jbGFzc05hbWVzLmNvbnRyb2x9LS1mb3J3YXJkYCxyb2xlOiJtZW51aXRlbSIsImFyaWEtaGFzcG9wdXAiOiEwLGhpZGRlbjoiIn0pKTt0LmNhbGwodGhpcyxuLGkpLHllLmNhbGwodGhpcyxuLCJjbGljayIsKCgpPT57bC5jYWxsKHRoaXMsaSwhMSl9KSk7Y29uc3Qgcz1lZSgic3BhbiIsbnVsbCxIZS5nZXQoaSx0aGlzLmNvbmZpZykpLHI9ZWUoInNwYW4iLHtjbGFzczp0aGlzLmNvbmZpZy5jbGFzc05hbWVzLm1lbnUudmFsdWV9KTtyLmlubmVySFRNTD1lW2ldLHMuYXBwZW5kQ2hpbGQociksbi5hcHBlbmRDaGlsZChzKSxhLmFwcGVuZENoaWxkKG4pO2NvbnN0IGM9ZWUoImRpdiIse2lkOmBwbHlyLXNldHRpbmdzLSR7ZS5pZH0tJHtpfWAsaGlkZGVuOiIifSksdT1lZSgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzczpgJHt0aGlzLmNvbmZpZy5jbGFzc05hbWVzLmNvbnRyb2x9ICR7dGhpcy5jb25maWcuY2xhc3NOYW1lcy5jb250cm9sfS0tYmFja2B9KTt1LmFwcGVuZENoaWxkKGVlKCJzcGFuIix7ImFyaWEtaGlkZGVuIjohMH0sSGUuZ2V0KGksdGhpcy5jb25maWcpKSksdS5hcHBlbmRDaGlsZChlZSgic3BhbiIse2NsYXNzOnRoaXMuY29uZmlnLmNsYXNzTmFtZXMuaGlkZGVufSxIZS5nZXQoIm1lbnVCYWNrIix0aGlzLmNvbmZpZykpKSx5ZS5jYWxsKHRoaXMsYywia2V5ZG93biIsKGU9PnszNz09PWUud2hpY2gmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxsLmNhbGwodGhpcywiaG9tZSIsITApKX0pLCExKSx5ZS5jYWxsKHRoaXMsdSwiY2xpY2siLCgoKT0+e2wuY2FsbCh0aGlzLCJob21lIiwhMSl9KSksYy5hcHBlbmRDaGlsZCh1KSxjLmFwcGVuZENoaWxkKGVlKCJkaXYiLHtyb2xlOiJtZW51In0pKSxvLmFwcGVuZENoaWxkKGMpLHRoaXMuZWxlbWVudHMuc2V0dGluZ3MuYnV0dG9uc1tpXT1uLHRoaXMuZWxlbWVudHMuc2V0dGluZ3MucGFuZWxzW2ldPWN9KSkscy5hcHBlbmRDaGlsZChvKSxuLmFwcGVuZENoaWxkKHMpLGMuYXBwZW5kQ2hpbGQobiksdGhpcy5lbGVtZW50cy5zZXR0aW5ncy5wb3B1cD1zLHRoaXMuZWxlbWVudHMuc2V0dGluZ3MubWVudT1ufWlmKCJwaXAiPT09ciYmZmUucGlwJiZjLmFwcGVuZENoaWxkKGkuY2FsbCh0aGlzLCJwaXAiLHUpKSwiYWlycGxheSI9PT1yJiZmZS5haXJwbGF5JiZjLmFwcGVuZENoaWxkKGkuY2FsbCh0aGlzLCJhaXJwbGF5Iix1KSksImRvd25sb2FkIj09PXIpe2NvbnN0IGU9Sih7fSx1LHtlbGVtZW50OiJhIixocmVmOnRoaXMuZG93bmxvYWQsdGFyZ2V0OiJfYmxhbmsifSk7dGhpcy5pc0hUTUw1JiYoZS5kb3dubG9hZD0iIik7Y29uc3R7ZG93bmxvYWQ6dH09dGhpcy5jb25maWcudXJsczshRyh0KSYmdGhpcy5pc0VtYmVkJiZKKGUse2ljb246YGxvZ28tJHt0aGlzLnByb3ZpZGVyfWAsbGFiZWw6dGhpcy5wcm92aWRlcn0pLGMuYXBwZW5kQ2hpbGQoaS5jYWxsKHRoaXMsImRvd25sb2FkIixlKSl9ImZ1bGxzY3JlZW4iPT09ciYmYy5hcHBlbmRDaGlsZChpLmNhbGwodGhpcywiZnVsbHNjcmVlbiIsdSkpfSkpLHRoaXMuaXNIVE1MNSYmci5jYWxsKHRoaXMsTmUuZ2V0UXVhbGl0eU9wdGlvbnMuY2FsbCh0aGlzKSksYS5jYWxsKHRoaXMpLGN9LGluamVjdCgpe2lmKHRoaXMuY29uZmlnLmxvYWRTcHJpdGUpe2NvbnN0IGU9S2UuZ2V0SWNvblVybC5jYWxsKHRoaXMpO2UuY29ycyYmcWUoZS51cmwsInNwcml0ZS1wbHlyIil9dGhpcy5pZD1NYXRoLmZsb29yKDFlNCpNYXRoLnJhbmRvbSgpKTtsZXQgZT1udWxsO3RoaXMuZWxlbWVudHMuY29udHJvbHM9bnVsbDtjb25zdCB0PXtpZDp0aGlzLmlkLHNlZWt0aW1lOnRoaXMuY29uZmlnLnNlZWtUaW1lLHRpdGxlOnRoaXMuY29uZmlnLnRpdGxlfTtsZXQgaSxuPSEwO2lmKEYodGhpcy5jb25maWcuY29udHJvbHMpJiYodGhpcy5jb25maWcuY29udHJvbHM9dGhpcy5jb25maWcuY29udHJvbHMuY2FsbCh0aGlzLHQpKSx0aGlzLmNvbmZpZy5jb250cm9sc3x8KHRoaXMuY29uZmlnLmNvbnRyb2xzPVtdKSxIKHRoaXMuY29uZmlnLmNvbnRyb2xzKXx8RCh0aGlzLmNvbmZpZy5jb250cm9scyk/ZT10aGlzLmNvbmZpZy5jb250cm9sczooZT1LZS5jcmVhdGUuY2FsbCh0aGlzLHtpZDp0aGlzLmlkLHNlZWt0aW1lOnRoaXMuY29uZmlnLnNlZWtUaW1lLHNwZWVkOnRoaXMuc3BlZWQscXVhbGl0eTp0aGlzLnF1YWxpdHksY2FwdGlvbnM6WWUuZ2V0TGFiZWwuY2FsbCh0aGlzKX0pLG49ITEpLG4mJkQodGhpcy5jb25maWcuY29udHJvbHMpJiYoZT0oZT0+e2xldCBpPWU7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHQpLmZvckVhY2goKChbZSx0XSk9PntpPURlKGksYHske2V9fWAsdCl9KSksaX0pKGUpKSxEKHRoaXMuY29uZmlnLnNlbGVjdG9ycy5jb250cm9scy5jb250YWluZXIpJiYoaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuY29uZmlnLnNlbGVjdG9ycy5jb250cm9scy5jb250YWluZXIpKSxIKGkpfHwoaT10aGlzLmVsZW1lbnRzLmNvbnRhaW5lciksaVtIKGUpPyJpbnNlcnRBZGphY2VudEVsZW1lbnQiOiJpbnNlcnRBZGphY2VudEhUTUwiXSgiYWZ0ZXJiZWdpbiIsZSksSCh0aGlzLmVsZW1lbnRzLmNvbnRyb2xzKXx8S2UuZmluZEVsZW1lbnRzLmNhbGwodGhpcyksIUsodGhpcy5lbGVtZW50cy5idXR0b25zKSl7Y29uc3QgZT1lPT57Y29uc3QgdD10aGlzLmNvbmZpZy5jbGFzc05hbWVzLmNvbnRyb2xQcmVzc2VkO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJwcmVzc2VkIix7ZW51bWVyYWJsZTohMCxnZXQ6KCk9PmxlKGUsdCksc2V0KGk9ITEpe2FlKGUsdCxpKX19KX07T2JqZWN0LnZhbHVlcyh0aGlzLmVsZW1lbnRzLmJ1dHRvbnMpLmZpbHRlcihCb29sZWFuKS5mb3JFYWNoKCh0PT57Vih0KXx8Uih0KT9BcnJheS5mcm9tKHQpLmZpbHRlcihCb29sZWFuKS5mb3JFYWNoKGUpOmUodCl9KSl9aWYoWS5pc0VkZ2UmJnooaSksdGhpcy5jb25maWcudG9vbHRpcHMuY29udHJvbHMpe2NvbnN0e2NsYXNzTmFtZXM6ZSxzZWxlY3RvcnM6dH09dGhpcy5jb25maWcsaT1gJHt0LmNvbnRyb2xzLndyYXBwZXJ9ICR7dC5sYWJlbHN9IC4ke2UuaGlkZGVufWAsbj11ZS5jYWxsKHRoaXMsaSk7QXJyYXkuZnJvbShuKS5mb3JFYWNoKChlPT57YWUoZSx0aGlzLmNvbmZpZy5jbGFzc05hbWVzLmhpZGRlbiwhMSksYWUoZSx0aGlzLmNvbmZpZy5jbGFzc05hbWVzLnRvb2x0aXAsITApfSkpfX19O2Z1bmN0aW9uIFdlKGUsdD0hMCl7bGV0IGk9ZTtpZih0KXtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtlLmhyZWY9aSxpPWUuaHJlZn10cnl7cmV0dXJuIG5ldyBVUkwoaSl9Y2F0Y2goZSl7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHplKGUpe2NvbnN0IHQ9bmV3IFVSTFNlYXJjaFBhcmFtcztyZXR1cm4gTihlKSYmT2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoKFtlLGldKT0+e3Quc2V0KGUsaSl9KSksdH1jb25zdCBZZT17c2V0dXAoKXtpZighdGhpcy5zdXBwb3J0ZWQudWkpcmV0dXJuO2lmKCF0aGlzLmlzVmlkZW98fHRoaXMuaXNZb3VUdWJlfHx0aGlzLmlzSFRNTDUmJiFmZS50ZXh0VHJhY2tzKXJldHVybiB2b2lkKFYodGhpcy5jb25maWcuY29udHJvbHMpJiZ0aGlzLmNvbmZpZy5jb250cm9scy5pbmNsdWRlcygic2V0dGluZ3MiKSYmdGhpcy5jb25maWcuc2V0dGluZ3MuaW5jbHVkZXMoImNhcHRpb25zIikmJktlLnNldENhcHRpb25zTWVudS5jYWxsKHRoaXMpKTt2YXIgZSx0O2lmKEgodGhpcy5lbGVtZW50cy5jYXB0aW9ucyl8fCh0aGlzLmVsZW1lbnRzLmNhcHRpb25zPWVlKCJkaXYiLG9lKHRoaXMuY29uZmlnLnNlbGVjdG9ycy5jYXB0aW9ucykpLGU9dGhpcy5lbGVtZW50cy5jYXB0aW9ucyx0PXRoaXMuZWxlbWVudHMud3JhcHBlcixIKGUpJiZIKHQpJiZ0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdC5uZXh0U2libGluZykpLFkuaXNJRSYmd2luZG93LlVSTCl7Y29uc3QgZT10aGlzLm1lZGlhLnF1ZXJ5U2VsZWN0b3JBbGwoInRyYWNrIik7QXJyYXkuZnJvbShlKS5mb3JFYWNoKChlPT57Y29uc3QgdD1lLmdldEF0dHJpYnV0ZSgic3JjIiksaT1XZSh0KTtudWxsIT09aSYmaS5ob3N0bmFtZSE9PXdpbmRvdy5sb2NhdGlvbi5ocmVmLmhvc3RuYW1lJiZbImh0dHA6IiwiaHR0cHM6Il0uaW5jbHVkZXMoaS5wcm90b2NvbCkmJkJlKHQsImJsb2IiKS50aGVuKCh0PT57ZS5zZXRBdHRyaWJ1dGUoInNyYyIsd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwodCkpfSkpLmNhdGNoKCgoKT0+e2llKGUpfSkpfSkpfWNvbnN0IGk9VGUoKG5hdmlnYXRvci5sYW5ndWFnZXN8fFtuYXZpZ2F0b3IubGFuZ3VhZ2V8fG5hdmlnYXRvci51c2VyTGFuZ3VhZ2V8fCJlbiJdKS5tYXAoKGU9PmUuc3BsaXQoIi0iKVswXSkpKTtsZXQgbj0odGhpcy5zdG9yYWdlLmdldCgibGFuZ3VhZ2UiKXx8dGhpcy5jb25maWcuY2FwdGlvbnMubGFuZ3VhZ2V8fCJhdXRvIikudG9Mb3dlckNhc2UoKTsiYXV0byI9PT1uJiYoW25dPWkpO2xldCBzPXRoaXMuc3RvcmFnZS5nZXQoImNhcHRpb25zIik7aWYoaihzKXx8KHthY3RpdmU6c309dGhpcy5jb25maWcuY2FwdGlvbnMpLE9iamVjdC5hc3NpZ24odGhpcy5jYXB0aW9ucyx7dG9nZ2xlZDohMSxhY3RpdmU6cyxsYW5ndWFnZTpuLGxhbmd1YWdlczppfSksdGhpcy5pc0hUTUw1KXtjb25zdCBlPXRoaXMuY29uZmlnLmNhcHRpb25zLnVwZGF0ZT8iYWRkdHJhY2sgcmVtb3ZldHJhY2siOiJyZW1vdmV0cmFjayI7eWUuY2FsbCh0aGlzLHRoaXMubWVkaWEudGV4dFRyYWNrcyxlLFllLnVwZGF0ZS5iaW5kKHRoaXMpKX1zZXRUaW1lb3V0KFllLnVwZGF0ZS5iaW5kKHRoaXMpLDApfSx1cGRhdGUoKXtjb25zdCBlPVllLmdldFRyYWNrcy5jYWxsKHRoaXMsITApLHthY3RpdmU6dCxsYW5ndWFnZTppLG1ldGE6bixjdXJyZW50VHJhY2tOb2RlOnN9PXRoaXMuY2FwdGlvbnMsbz1Cb29sZWFuKGUuZmluZCgoZT0+ZS5sYW5ndWFnZT09PWkpKSk7dGhpcy5pc0hUTUw1JiZ0aGlzLmlzVmlkZW8mJmUuZmlsdGVyKChlPT4hbi5nZXQoZSkpKS5mb3JFYWNoKChlPT57dGhpcy5kZWJ1Zy5sb2coIlRyYWNrIGFkZGVkIixlKSxuLnNldChlLHtkZWZhdWx0OiJzaG93aW5nIj09PWUubW9kZX0pLCJzaG93aW5nIj09PWUubW9kZSYmKGUubW9kZT0iaGlkZGVuIikseWUuY2FsbCh0aGlzLGUsImN1ZWNoYW5nZSIsKCgpPT5ZZS51cGRhdGVDdWVzLmNhbGwodGhpcykpKX0pKSwobyYmdGhpcy5sYW5ndWFnZSE9PWl8fCFlLmluY2x1ZGVzKHMpKSYmKFllLnNldExhbmd1YWdlLmNhbGwodGhpcyxpKSxZZS50b2dnbGUuY2FsbCh0aGlzLHQmJm8pKSx0aGlzLmVsZW1lbnRzJiZhZSh0aGlzLmVsZW1lbnRzLmNvbnRhaW5lcix0aGlzLmNvbmZpZy5jbGFzc05hbWVzLmNhcHRpb25zLmVuYWJsZWQsIUsoZSkpLFYodGhpcy5jb25maWcuY29udHJvbHMpJiZ0aGlzLmNvbmZpZy5jb250cm9scy5pbmNsdWRlcygic2V0dGluZ3MiKSYmdGhpcy5jb25maWcuc2V0dGluZ3MuaW5jbHVkZXMoImNhcHRpb25zIikmJktlLnNldENhcHRpb25zTWVudS5jYWxsKHRoaXMpfSx0b2dnbGUoZSx0PSEwKXtpZighdGhpcy5zdXBwb3J0ZWQudWkpcmV0dXJuO2NvbnN0e3RvZ2dsZWQ6aX09dGhpcy5jYXB0aW9ucyxuPXRoaXMuY29uZmlnLmNsYXNzTmFtZXMuY2FwdGlvbnMuYWN0aXZlLHM9UChlKT8haTplO2lmKHMhPT1pKXtpZih0fHwodGhpcy5jYXB0aW9ucy5hY3RpdmU9cyx0aGlzLnN0b3JhZ2Uuc2V0KHtjYXB0aW9uczpzfSkpLCF0aGlzLmxhbmd1YWdlJiZzJiYhdCl7Y29uc3QgZT1ZZS5nZXRUcmFja3MuY2FsbCh0aGlzKSx0PVllLmZpbmRUcmFjay5jYWxsKHRoaXMsW3RoaXMuY2FwdGlvbnMubGFuZ3VhZ2UsLi4udGhpcy5jYXB0aW9ucy5sYW5ndWFnZXNdLCEwKTtyZXR1cm4gdGhpcy5jYXB0aW9ucy5sYW5ndWFnZT10Lmxhbmd1YWdlLHZvaWQgWWUuc2V0LmNhbGwodGhpcyxlLmluZGV4T2YodCkpfXRoaXMuZWxlbWVudHMuYnV0dG9ucy5jYXB0aW9ucyYmKHRoaXMuZWxlbWVudHMuYnV0dG9ucy5jYXB0aW9ucy5wcmVzc2VkPXMpLGFlKHRoaXMuZWxlbWVudHMuY29udGFpbmVyLG4scyksdGhpcy5jYXB0aW9ucy50b2dnbGVkPXMsS2UudXBkYXRlU2V0dGluZy5jYWxsKHRoaXMsImNhcHRpb25zIiksX2UuY2FsbCh0aGlzLHRoaXMubWVkaWEscz8iY2FwdGlvbnNlbmFibGVkIjoiY2FwdGlvbnNkaXNhYmxlZCIpfXNldFRpbWVvdXQoKCgpPT57cyYmdGhpcy5jYXB0aW9ucy50b2dnbGVkJiYodGhpcy5jYXB0aW9ucy5jdXJyZW50VHJhY2tOb2RlLm1vZGU9ImhpZGRlbiIpfSkpfSxzZXQoZSx0PSEwKXtjb25zdCBpPVllLmdldFRyYWNrcy5jYWxsKHRoaXMpO2lmKC0xIT09ZSlpZihNKGUpKWlmKGUgaW4gaSl7aWYodGhpcy5jYXB0aW9ucy5jdXJyZW50VHJhY2shPT1lKXt0aGlzLmNhcHRpb25zLmN1cnJlbnRUcmFjaz1lO2NvbnN0IG49aVtlXSx7bGFuZ3VhZ2U6c309bnx8e307dGhpcy5jYXB0aW9ucy5jdXJyZW50VHJhY2tOb2RlPW4sS2UudXBkYXRlU2V0dGluZy5jYWxsKHRoaXMsImNhcHRpb25zIiksdHx8KHRoaXMuY2FwdGlvbnMubGFuZ3VhZ2U9cyx0aGlzLnN0b3JhZ2Uuc2V0KHtsYW5ndWFnZTpzfSkpLHRoaXMuaXNWaW1lbyYmdGhpcy5lbWJlZC5lbmFibGVUZXh0VHJhY2socyksX2UuY2FsbCh0aGlzLHRoaXMubWVkaWEsImxhbmd1YWdlY2hhbmdlIil9WWUudG9nZ2xlLmNhbGwodGhpcywhMCx0KSx0aGlzLmlzSFRNTDUmJnRoaXMuaXNWaWRlbyYmWWUudXBkYXRlQ3Vlcy5jYWxsKHRoaXMpfWVsc2UgdGhpcy5kZWJ1Zy53YXJuKCJUcmFjayBub3QgZm91bmQiLGUpO2Vsc2UgdGhpcy5kZWJ1Zy53YXJuKCJJbnZhbGlkIGNhcHRpb24gYXJndW1lbnQiLGUpO2Vsc2UgWWUudG9nZ2xlLmNhbGwodGhpcywhMSx0KX0sc2V0TGFuZ3VhZ2UoZSx0PSEwKXtpZighRChlKSlyZXR1cm4gdm9pZCB0aGlzLmRlYnVnLndhcm4oIkludmFsaWQgbGFuZ3VhZ2UgYXJndW1lbnQiLGUpO2NvbnN0IGk9ZS50b0xvd2VyQ2FzZSgpO3RoaXMuY2FwdGlvbnMubGFuZ3VhZ2U9aTtjb25zdCBuPVllLmdldFRyYWNrcy5jYWxsKHRoaXMpLHM9WWUuZmluZFRyYWNrLmNhbGwodGhpcyxbaV0pO1llLnNldC5jYWxsKHRoaXMsbi5pbmRleE9mKHMpLHQpfSxnZXRUcmFja3MoZT0hMSl7cmV0dXJuIEFycmF5LmZyb20oKHRoaXMubWVkaWF8fHt9KS50ZXh0VHJhY2tzfHxbXSkuZmlsdGVyKCh0PT4hdGhpcy5pc0hUTUw1fHxlfHx0aGlzLmNhcHRpb25zLm1ldGEuaGFzKHQpKSkuZmlsdGVyKChlPT5bImNhcHRpb25zIiwic3VidGl0bGVzIl0uaW5jbHVkZXMoZS5raW5kKSkpfSxmaW5kVHJhY2soZSx0PSExKXtjb25zdCBpPVllLmdldFRyYWNrcy5jYWxsKHRoaXMpLG49ZT0+TnVtYmVyKCh0aGlzLmNhcHRpb25zLm1ldGEuZ2V0KGUpfHx7fSkuZGVmYXVsdCkscz1BcnJheS5mcm9tKGkpLnNvcnQoKChlLHQpPT5uKHQpLW4oZSkpKTtsZXQgbztyZXR1cm4gZS5ldmVyeSgoZT0+KG89cy5maW5kKCh0PT50Lmxhbmd1YWdlPT09ZSkpLCFvKSkpLG98fCh0P3NbMF06dm9pZCAwKX0sZ2V0Q3VycmVudFRyYWNrKCl7cmV0dXJuIFllLmdldFRyYWNrcy5jYWxsKHRoaXMpW3RoaXMuY3VycmVudFRyYWNrXX0sZ2V0TGFiZWwoZSl7bGV0IHQ9ZTtyZXR1cm4hcSh0KSYmZmUudGV4dFRyYWNrcyYmdGhpcy5jYXB0aW9ucy50b2dnbGVkJiYodD1ZZS5nZXRDdXJyZW50VHJhY2suY2FsbCh0aGlzKSkscSh0KT9LKHQubGFiZWwpP0sodC5sYW5ndWFnZSk/SGUuZ2V0KCJlbmFibGVkIix0aGlzLmNvbmZpZyk6ZS5sYW5ndWFnZS50b1VwcGVyQ2FzZSgpOnQubGFiZWw6SGUuZ2V0KCJkaXNhYmxlZCIsdGhpcy5jb25maWcpfSx1cGRhdGVDdWVzKGUpe2lmKCF0aGlzLnN1cHBvcnRlZC51aSlyZXR1cm47aWYoIUgodGhpcy5lbGVtZW50cy5jYXB0aW9ucykpcmV0dXJuIHZvaWQgdGhpcy5kZWJ1Zy53YXJuKCJObyBjYXB0aW9ucyBlbGVtZW50IHRvIHJlbmRlciB0byIpO2lmKCFQKGUpJiYhQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gdm9pZCB0aGlzLmRlYnVnLndhcm4oInVwZGF0ZUN1ZXM6IEludmFsaWQgaW5wdXQiLGUpO2xldCB0PWU7aWYoIXQpe2NvbnN0IGU9WWUuZ2V0Q3VycmVudFRyYWNrLmNhbGwodGhpcyk7dD1BcnJheS5mcm9tKChlfHx7fSkuYWN0aXZlQ3Vlc3x8W10pLm1hcCgoZT0+ZS5nZXRDdWVBc0hUTUwoKSkpLm1hcChWZSl9Y29uc3QgaT10Lm1hcCgoZT0+ZS50cmltKCkpKS5qb2luKCJcbiIpO2lmKGkhPT10aGlzLmVsZW1lbnRzLmNhcHRpb25zLmlubmVySFRNTCl7bmUodGhpcy5lbGVtZW50cy5jYXB0aW9ucyk7Y29uc3QgZT1lZSgic3BhbiIsb2UodGhpcy5jb25maWcuc2VsZWN0b3JzLmNhcHRpb24pKTtlLmlubmVySFRNTD1pLHRoaXMuZWxlbWVudHMuY2FwdGlvbnMuYXBwZW5kQ2hpbGQoZSksX2UuY2FsbCh0aGlzLHRoaXMubWVkaWEsImN1ZWNoYW5nZSIpfX19LFFlPXtlbmFibGVkOiEwLHRpdGxlOiIiLGRlYnVnOiExLGF1dG9wbGF5OiExLGF1dG9wYXVzZTohMCxwbGF5c2lubGluZTohMCxzZWVrVGltZToxMCx2b2x1bWU6MSxtdXRlZDohMSxkdXJhdGlvbjpudWxsLGRpc3BsYXlEdXJhdGlvbjohMCxpbnZlcnRUaW1lOiEwLHRvZ2dsZUludmVydDohMCxyYXRpbzpudWxsLGNsaWNrVG9QbGF5OiEwLGhpZGVDb250cm9sczohMCxyZXNldE9uRW5kOiExLGRpc2FibGVDb250ZXh0TWVudTohMCxsb2FkU3ByaXRlOiEwLGljb25QcmVmaXg6InBseXIiLGljb25Vcmw6Imh0dHBzOi8vY2RuLnBseXIuaW8vMy42LjkvcGx5ci5zdmciLGJsYW5rVmlkZW86Imh0dHBzOi8vY2RuLnBseXIuaW8vc3RhdGljL2JsYW5rLm1wNCIscXVhbGl0eTp7ZGVmYXVsdDo1NzYsb3B0aW9uczpbNDMyMCwyODgwLDIxNjAsMTQ0MCwxMDgwLDcyMCw1NzYsNDgwLDM2MCwyNDBdLGZvcmNlZDohMSxvbkNoYW5nZTpudWxsfSxsb29wOnthY3RpdmU6ITF9LHNwZWVkOntzZWxlY3RlZDoxLG9wdGlvbnM6Wy41LC43NSwxLDEuMjUsMS41LDEuNzUsMiw0XX0sa2V5Ym9hcmQ6e2ZvY3VzZWQ6ITAsZ2xvYmFsOiExfSx0b29sdGlwczp7Y29udHJvbHM6ITEsc2VlazohMH0sY2FwdGlvbnM6e2FjdGl2ZTohMSxsYW5ndWFnZToiYXV0byIsdXBkYXRlOiExfSxmdWxsc2NyZWVuOntlbmFibGVkOiEwLGZhbGxiYWNrOiEwLGlvc05hdGl2ZTohMX0sc3RvcmFnZTp7ZW5hYmxlZDohMCxrZXk6InBseXIifSxjb250cm9sczpbInBsYXktbGFyZ2UiLCJwbGF5IiwicHJvZ3Jlc3MiLCJjdXJyZW50LXRpbWUiLCJtdXRlIiwidm9sdW1lIiwiY2FwdGlvbnMiLCJzZXR0aW5ncyIsInBpcCIsImFpcnBsYXkiLCJmdWxsc2NyZWVuIl0sc2V0dGluZ3M6WyJjYXB0aW9ucyIsInF1YWxpdHkiLCJzcGVlZCJdLGkxOG46e3Jlc3RhcnQ6IlJlc3RhcnQiLHJld2luZDoiUmV3aW5kIHtzZWVrdGltZX1zIixwbGF5OiJQbGF5IixwYXVzZToiUGF1c2UiLGZhc3RGb3J3YXJkOiJGb3J3YXJkIHtzZWVrdGltZX1zIixzZWVrOiJTZWVrIixzZWVrTGFiZWw6IntjdXJyZW50VGltZX0gb2Yge2R1cmF0aW9ufSIscGxheWVkOiJQbGF5ZWQiLGJ1ZmZlcmVkOiJCdWZmZXJlZCIsY3VycmVudFRpbWU6IkN1cnJlbnQgdGltZSIsZHVyYXRpb246IkR1cmF0aW9uIix2b2x1bWU6IlZvbHVtZSIsbXV0ZToiTXV0ZSIsdW5tdXRlOiJVbm11dGUiLGVuYWJsZUNhcHRpb25zOiJFbmFibGUgY2FwdGlvbnMiLGRpc2FibGVDYXB0aW9uczoiRGlzYWJsZSBjYXB0aW9ucyIsZG93bmxvYWQ6IkRvd25sb2FkIixlbnRlckZ1bGxzY3JlZW46IkVudGVyIGZ1bGxzY3JlZW4iLGV4aXRGdWxsc2NyZWVuOiJFeGl0IGZ1bGxzY3JlZW4iLGZyYW1lVGl0bGU6IlBsYXllciBmb3Ige3RpdGxlfSIsY2FwdGlvbnM6IkNhcHRpb25zIixzZXR0aW5nczoiU2V0dGluZ3MiLHBpcDoiUElQIixtZW51QmFjazoiR28gYmFjayB0byBwcmV2aW91cyBtZW51IixzcGVlZDoiU3BlZWQiLG5vcm1hbDoiTm9ybWFsIixxdWFsaXR5OiJRdWFsaXR5Iixsb29wOiJMb29wIixzdGFydDoiU3RhcnQiLGVuZDoiRW5kIixhbGw6IkFsbCIscmVzZXQ6IlJlc2V0IixkaXNhYmxlZDoiRGlzYWJsZWQiLGVuYWJsZWQ6IkVuYWJsZWQiLGFkdmVydGlzZW1lbnQ6IkFkIixxdWFsaXR5QmFkZ2U6ezIxNjA6IjRLIiwxNDQwOiJIRCIsMTA4MDoiSEQiLDcyMDoiSEQiLDU3NjoiU0QiLDQ4MDoiU0QifX0sdXJsczp7ZG93bmxvYWQ6bnVsbCx2aW1lbzp7c2RrOiJodHRwczovL3BsYXllci52aW1lby5jb20vYXBpL3BsYXllci5qcyIsaWZyYW1lOiJodHRwczovL3BsYXllci52aW1lby5jb20vdmlkZW8vezB9P3sxfSIsYXBpOiJodHRwczovL3ZpbWVvLmNvbS9hcGkvb2VtYmVkLmpzb24/dXJsPXswfSJ9LHlvdXR1YmU6e3NkazoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vaWZyYW1lX2FwaSIsYXBpOiJodHRwczovL25vZW1iZWQuY29tL2VtYmVkP3VybD1odHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXswfSJ9LGdvb2dsZUlNQTp7c2RrOiJodHRwczovL2ltYXNkay5nb29nbGVhcGlzLmNvbS9qcy9zZGtsb2FkZXIvaW1hMy5qcyJ9fSxsaXN0ZW5lcnM6e3NlZWs6bnVsbCxwbGF5Om51bGwscGF1c2U6bnVsbCxyZXN0YXJ0Om51bGwscmV3aW5kOm51bGwsZmFzdEZvcndhcmQ6bnVsbCxtdXRlOm51bGwsdm9sdW1lOm51bGwsY2FwdGlvbnM6bnVsbCxkb3dubG9hZDpudWxsLGZ1bGxzY3JlZW46bnVsbCxwaXA6bnVsbCxhaXJwbGF5Om51bGwsc3BlZWQ6bnVsbCxxdWFsaXR5Om51bGwsbG9vcDpudWxsLGxhbmd1YWdlOm51bGx9LGV2ZW50czpbImVuZGVkIiwicHJvZ3Jlc3MiLCJzdGFsbGVkIiwicGxheWluZyIsIndhaXRpbmciLCJjYW5wbGF5IiwiY2FucGxheXRocm91Z2giLCJsb2Fkc3RhcnQiLCJsb2FkZWRkYXRhIiwibG9hZGVkbWV0YWRhdGEiLCJ0aW1ldXBkYXRlIiwidm9sdW1lY2hhbmdlIiwicGxheSIsInBhdXNlIiwiZXJyb3IiLCJzZWVraW5nIiwic2Vla2VkIiwiZW1wdGllZCIsInJhdGVjaGFuZ2UiLCJjdWVjaGFuZ2UiLCJkb3dubG9hZCIsImVudGVyZnVsbHNjcmVlbiIsImV4aXRmdWxsc2NyZWVuIiwiY2FwdGlvbnNlbmFibGVkIiwiY2FwdGlvbnNkaXNhYmxlZCIsImxhbmd1YWdlY2hhbmdlIiwiY29udHJvbHNoaWRkZW4iLCJjb250cm9sc3Nob3duIiwicmVhZHkiLCJzdGF0ZWNoYW5nZSIsInF1YWxpdHljaGFuZ2UiLCJhZHNsb2FkZWQiLCJhZHNjb250ZW50cGF1c2UiLCJhZHNjb250ZW50cmVzdW1lIiwiYWRzdGFydGVkIiwiYWRzbWlkcG9pbnQiLCJhZHNjb21wbGV0ZSIsImFkc2FsbGNvbXBsZXRlIiwiYWRzaW1wcmVzc2lvbiIsImFkc2NsaWNrIl0sc2VsZWN0b3JzOntlZGl0YWJsZToiaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIFtjb250ZW50ZWRpdGFibGVdIixjb250YWluZXI6Ii5wbHlyIixjb250cm9sczp7Y29udGFpbmVyOm51bGwsd3JhcHBlcjoiLnBseXJfX2NvbnRyb2xzIn0sbGFiZWxzOiJbZGF0YS1wbHlyXSIsYnV0dG9uczp7cGxheTonW2RhdGEtcGx5cj0icGxheSJdJyxwYXVzZTonW2RhdGEtcGx5cj0icGF1c2UiXScscmVzdGFydDonW2RhdGEtcGx5cj0icmVzdGFydCJdJyxyZXdpbmQ6J1tkYXRhLXBseXI9InJld2luZCJdJyxmYXN0Rm9yd2FyZDonW2RhdGEtcGx5cj0iZmFzdC1mb3J3YXJkIl0nLG11dGU6J1tkYXRhLXBseXI9Im11dGUiXScsY2FwdGlvbnM6J1tkYXRhLXBseXI9ImNhcHRpb25zIl0nLGRvd25sb2FkOidbZGF0YS1wbHlyPSJkb3dubG9hZCJdJyxmdWxsc2NyZWVuOidbZGF0YS1wbHlyPSJmdWxsc2NyZWVuIl0nLHBpcDonW2RhdGEtcGx5cj0icGlwIl0nLGFpcnBsYXk6J1tkYXRhLXBseXI9ImFpcnBsYXkiXScsc2V0dGluZ3M6J1tkYXRhLXBseXI9InNldHRpbmdzIl0nLGxvb3A6J1tkYXRhLXBseXI9Imxvb3AiXSd9LGlucHV0czp7c2VlazonW2RhdGEtcGx5cj0ic2VlayJdJyx2b2x1bWU6J1tkYXRhLXBseXI9InZvbHVtZSJdJyxzcGVlZDonW2RhdGEtcGx5cj0ic3BlZWQiXScsbGFuZ3VhZ2U6J1tkYXRhLXBseXI9Imxhbmd1YWdlIl0nLHF1YWxpdHk6J1tkYXRhLXBseXI9InF1YWxpdHkiXSd9LGRpc3BsYXk6e2N1cnJlbnRUaW1lOiIucGx5cl9fdGltZS0tY3VycmVudCIsZHVyYXRpb246Ii5wbHlyX190aW1lLS1kdXJhdGlvbiIsYnVmZmVyOiIucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlciIsbG9vcDoiLnBseXJfX3Byb2dyZXNzX19sb29wIix2b2x1bWU6Ii5wbHlyX192b2x1bWUtLWRpc3BsYXkifSxwcm9ncmVzczoiLnBseXJfX3Byb2dyZXNzIixjYXB0aW9uczoiLnBseXJfX2NhcHRpb25zIixjYXB0aW9uOiIucGx5cl9fY2FwdGlvbiJ9LGNsYXNzTmFtZXM6e3R5cGU6InBseXItLXswfSIscHJvdmlkZXI6InBseXItLXswfSIsdmlkZW86InBseXJfX3ZpZGVvLXdyYXBwZXIiLGVtYmVkOiJwbHlyX192aWRlby1lbWJlZCIsdmlkZW9GaXhlZFJhdGlvOiJwbHlyX192aWRlby13cmFwcGVyLS1maXhlZC1yYXRpbyIsZW1iZWRDb250YWluZXI6InBseXJfX3ZpZGVvLWVtYmVkX19jb250YWluZXIiLHBvc3RlcjoicGx5cl9fcG9zdGVyIixwb3N0ZXJFbmFibGVkOiJwbHlyX19wb3N0ZXItZW5hYmxlZCIsYWRzOiJwbHlyX19hZHMiLGNvbnRyb2w6InBseXJfX2NvbnRyb2wiLGNvbnRyb2xQcmVzc2VkOiJwbHlyX19jb250cm9sLS1wcmVzc2VkIixwbGF5aW5nOiJwbHlyLS1wbGF5aW5nIixwYXVzZWQ6InBseXItLXBhdXNlZCIsc3RvcHBlZDoicGx5ci0tc3RvcHBlZCIsbG9hZGluZzoicGx5ci0tbG9hZGluZyIsaG92ZXI6InBseXItLWhvdmVyIix0b29sdGlwOiJwbHlyX190b29sdGlwIixjdWVzOiJwbHlyX19jdWVzIixoaWRkZW46InBseXJfX3NyLW9ubHkiLGhpZGVDb250cm9sczoicGx5ci0taGlkZS1jb250cm9scyIsaXNJb3M6InBseXItLWlzLWlvcyIsaXNUb3VjaDoicGx5ci0taXMtdG91Y2giLHVpU3VwcG9ydGVkOiJwbHlyLS1mdWxsLXVpIixub1RyYW5zaXRpb246InBseXItLW5vLXRyYW5zaXRpb24iLGRpc3BsYXk6e3RpbWU6InBseXJfX3RpbWUifSxtZW51Ont2YWx1ZToicGx5cl9fbWVudV9fdmFsdWUiLGJhZGdlOiJwbHlyX19iYWRnZSIsb3BlbjoicGx5ci0tbWVudS1vcGVuIn0sY2FwdGlvbnM6e2VuYWJsZWQ6InBseXItLWNhcHRpb25zLWVuYWJsZWQiLGFjdGl2ZToicGx5ci0tY2FwdGlvbnMtYWN0aXZlIn0sZnVsbHNjcmVlbjp7ZW5hYmxlZDoicGx5ci0tZnVsbHNjcmVlbi1lbmFibGVkIixmYWxsYmFjazoicGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayJ9LHBpcDp7c3VwcG9ydGVkOiJwbHlyLS1waXAtc3VwcG9ydGVkIixhY3RpdmU6InBseXItLXBpcC1hY3RpdmUifSxhaXJwbGF5OntzdXBwb3J0ZWQ6InBseXItLWFpcnBsYXktc3VwcG9ydGVkIixhY3RpdmU6InBseXItLWFpcnBsYXktYWN0aXZlIn0sdGFiRm9jdXM6InBseXJfX3RhYi1mb2N1cyIscHJldmlld1RodW1ibmFpbHM6e3RodW1iQ29udGFpbmVyOiJwbHlyX19wcmV2aWV3LXRodW1iIix0aHVtYkNvbnRhaW5lclNob3duOiJwbHlyX19wcmV2aWV3LXRodW1iLS1pcy1zaG93biIsaW1hZ2VDb250YWluZXI6InBseXJfX3ByZXZpZXctdGh1bWJfX2ltYWdlLWNvbnRhaW5lciIsdGltZUNvbnRhaW5lcjoicGx5cl9fcHJldmlldy10aHVtYl9fdGltZS1jb250YWluZXIiLHNjcnViYmluZ0NvbnRhaW5lcjoicGx5cl9fcHJldmlldy1zY3J1YmJpbmciLHNjcnViYmluZ0NvbnRhaW5lclNob3duOiJwbHlyX19wcmV2aWV3LXNjcnViYmluZy0taXMtc2hvd24ifX0sYXR0cmlidXRlczp7ZW1iZWQ6e3Byb3ZpZGVyOiJkYXRhLXBseXItcHJvdmlkZXIiLGlkOiJkYXRhLXBseXItZW1iZWQtaWQiLGhhc2g6ImRhdGEtcGx5ci1lbWJlZC1oYXNoIn19LGFkczp7ZW5hYmxlZDohMSxwdWJsaXNoZXJJZDoiIix0YWdVcmw6IiJ9LHByZXZpZXdUaHVtYm5haWxzOntlbmFibGVkOiExLHNyYzoiIn0sdmltZW86e2J5bGluZTohMSxwb3J0cmFpdDohMSx0aXRsZTohMSxzcGVlZDohMCx0cmFuc3BhcmVudDohMSxjdXN0b21Db250cm9sczohMCxyZWZlcnJlclBvbGljeTpudWxsLHByZW1pdW06ITF9LHlvdXR1YmU6e3JlbDowLHNob3dpbmZvOjAsaXZfbG9hZF9wb2xpY3k6Myxtb2Rlc3RicmFuZGluZzoxLGN1c3RvbUNvbnRyb2xzOiEwLG5vQ29va2llOiExfX0sSmU9InBpY3R1cmUtaW4tcGljdHVyZSIsWGU9ImlubGluZSIsWmU9e2h0bWw1OiJodG1sNSIseW91dHViZToieW91dHViZSIsdmltZW86InZpbWVvIn0sZXQ9ImF1ZGlvIix0dD0idmlkZW8iLGl0PSgpPT57fTtjbGFzcyBudHtjb25zdHJ1Y3RvcihlPSExKXt0aGlzLmVuYWJsZWQ9d2luZG93LmNvbnNvbGUmJmUsdGhpcy5lbmFibGVkJiZ0aGlzLmxvZygiRGVidWdnaW5nIGVuYWJsZWQiKX1nZXQgbG9nKCl7cmV0dXJuIHRoaXMuZW5hYmxlZD9GdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGNvbnNvbGUubG9nLGNvbnNvbGUpOml0fWdldCB3YXJuKCl7cmV0dXJuIHRoaXMuZW5hYmxlZD9GdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGNvbnNvbGUud2Fybixjb25zb2xlKTppdH1nZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy5lbmFibGVkP0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoY29uc29sZS5lcnJvcixjb25zb2xlKTppdH19Y2xhc3Mgc3R7Y29uc3RydWN0b3IodCl7ZSh0aGlzLCJvbkNoYW5nZSIsKCgpPT57aWYoIXRoaXMuZW5hYmxlZClyZXR1cm47Y29uc3QgZT10aGlzLnBsYXllci5lbGVtZW50cy5idXR0b25zLmZ1bGxzY3JlZW47SChlKSYmKGUucHJlc3NlZD10aGlzLmFjdGl2ZSk7Y29uc3QgdD10aGlzLnRhcmdldD09PXRoaXMucGxheWVyLm1lZGlhP3RoaXMudGFyZ2V0OnRoaXMucGxheWVyLmVsZW1lbnRzLmNvbnRhaW5lcjtfZS5jYWxsKHRoaXMucGxheWVyLHQsdGhpcy5hY3RpdmU/ImVudGVyZnVsbHNjcmVlbiI6ImV4aXRmdWxsc2NyZWVuIiwhMCl9KSksZSh0aGlzLCJ0b2dnbGVGYWxsYmFjayIsKChlPSExKT0+e2lmKGU/dGhpcy5zY3JvbGxQb3NpdGlvbj17eDp3aW5kb3cuc2Nyb2xsWHx8MCx5OndpbmRvdy5zY3JvbGxZfHwwfTp3aW5kb3cuc2Nyb2xsVG8odGhpcy5zY3JvbGxQb3NpdGlvbi54LHRoaXMuc2Nyb2xsUG9zaXRpb24ueSksZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz1lPyJoaWRkZW4iOiIiLGFlKHRoaXMudGFyZ2V0LHRoaXMucGxheWVyLmNvbmZpZy5jbGFzc05hbWVzLmZ1bGxzY3JlZW4uZmFsbGJhY2ssZSksWS5pc0lvcyl7bGV0IHQ9ZG9jdW1lbnQuaGVhZC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9InZpZXdwb3J0Il0nKTtjb25zdCBpPSJ2aWV3cG9ydC1maXQ9Y292ZXIiO3R8fCh0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm1ldGEiKSx0LnNldEF0dHJpYnV0ZSgibmFtZSIsInZpZXdwb3J0IikpO2NvbnN0IG49RCh0LmNvbnRlbnQpJiZ0LmNvbnRlbnQuaW5jbHVkZXMoaSk7ZT8odGhpcy5jbGVhbnVwVmlld3BvcnQ9IW4sbnx8KHQuY29udGVudCs9YCwke2l9YCkpOnRoaXMuY2xlYW51cFZpZXdwb3J0JiYodC5jb250ZW50PXQuY29udGVudC5zcGxpdCgiLCIpLmZpbHRlcigoZT0+ZS50cmltKCkhPT1pKSkuam9pbigiLCIpKX10aGlzLm9uQ2hhbmdlKCl9KSksZSh0aGlzLCJ0cmFwRm9jdXMiLChlPT57aWYoWS5pc0lvc3x8IXRoaXMuYWN0aXZlfHwiVGFiIiE9PWUua2V5fHw5IT09ZS5rZXlDb2RlKXJldHVybjtjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsaT11ZS5jYWxsKHRoaXMucGxheWVyLCJhW2hyZWZdLCBidXR0b246bm90KDpkaXNhYmxlZCksIGlucHV0Om5vdCg6ZGlzYWJsZWQpLCBbdGFiaW5kZXhdIiksW25dPWkscz1pW2kubGVuZ3RoLTFdO3QhPT1zfHxlLnNoaWZ0S2V5P3Q9PT1uJiZlLnNoaWZ0S2V5JiYocy5mb2N1cygpLGUucHJldmVudERlZmF1bHQoKSk6KG4uZm9jdXMoKSxlLnByZXZlbnREZWZhdWx0KCkpfSkpLGUodGhpcywidXBkYXRlIiwoKCk9PntpZih0aGlzLmVuYWJsZWQpe2xldCBlO2U9dGhpcy5mb3JjZUZhbGxiYWNrPyJGYWxsYmFjayAoZm9yY2VkKSI6c3QubmF0aXZlPyJOYXRpdmUiOiJGYWxsYmFjayIsdGhpcy5wbGF5ZXIuZGVidWcubG9nKGAke2V9IGZ1bGxzY3JlZW4gZW5hYmxlZGApfWVsc2UgdGhpcy5wbGF5ZXIuZGVidWcubG9nKCJGdWxsc2NyZWVuIG5vdCBzdXBwb3J0ZWQgYW5kIGZhbGxiYWNrIGRpc2FibGVkIik7YWUodGhpcy5wbGF5ZXIuZWxlbWVudHMuY29udGFpbmVyLHRoaXMucGxheWVyLmNvbmZpZy5jbGFzc05hbWVzLmZ1bGxzY3JlZW4uZW5hYmxlZCx0aGlzLmVuYWJsZWQpfSkpLGUodGhpcywiZW50ZXIiLCgoKT0+e3RoaXMuZW5hYmxlZCYmKFkuaXNJb3MmJnRoaXMucGxheWVyLmNvbmZpZy5mdWxsc2NyZWVuLmlvc05hdGl2ZT90aGlzLnBsYXllci5pc1ZpbWVvP3RoaXMucGxheWVyLmVtYmVkLnJlcXVlc3RGdWxsc2NyZWVuKCk6dGhpcy50YXJnZXQud2Via2l0RW50ZXJGdWxsc2NyZWVuKCk6IXN0Lm5hdGl2ZXx8dGhpcy5mb3JjZUZhbGxiYWNrP3RoaXMudG9nZ2xlRmFsbGJhY2soITApOnRoaXMucHJlZml4P0sodGhpcy5wcmVmaXgpfHx0aGlzLnRhcmdldFtgJHt0aGlzLnByZWZpeH1SZXF1ZXN0JHt0aGlzLnByb3BlcnR5fWBdKCk6dGhpcy50YXJnZXQucmVxdWVzdEZ1bGxzY3JlZW4oe25hdmlnYXRpb25VSToiaGlkZSJ9KSl9KSksZSh0aGlzLCJleGl0IiwoKCk9PntpZih0aGlzLmVuYWJsZWQpaWYoWS5pc0lvcyYmdGhpcy5wbGF5ZXIuY29uZmlnLmZ1bGxzY3JlZW4uaW9zTmF0aXZlKXRoaXMudGFyZ2V0LndlYmtpdEV4aXRGdWxsc2NyZWVuKCksQ2UodGhpcy5wbGF5ZXIucGxheSgpKTtlbHNlIGlmKCFzdC5uYXRpdmV8fHRoaXMuZm9yY2VGYWxsYmFjayl0aGlzLnRvZ2dsZUZhbGxiYWNrKCExKTtlbHNlIGlmKHRoaXMucHJlZml4KXtpZighSyh0aGlzLnByZWZpeCkpe2NvbnN0IGU9Im1veiI9PT10aGlzLnByZWZpeD8iQ2FuY2VsIjoiRXhpdCI7ZG9jdW1lbnRbYCR7dGhpcy5wcmVmaXh9JHtlfSR7dGhpcy5wcm9wZXJ0eX1gXSgpfX1lbHNlKGRvY3VtZW50LmNhbmNlbEZ1bGxTY3JlZW58fGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKS5jYWxsKGRvY3VtZW50KX0pKSxlKHRoaXMsInRvZ2dsZSIsKCgpPT57dGhpcy5hY3RpdmU/dGhpcy5leGl0KCk6dGhpcy5lbnRlcigpfSkpLHRoaXMucGxheWVyPXQsdGhpcy5wcmVmaXg9c3QucHJlZml4LHRoaXMucHJvcGVydHk9c3QucHJvcGVydHksdGhpcy5zY3JvbGxQb3NpdGlvbj17eDowLHk6MH0sdGhpcy5mb3JjZUZhbGxiYWNrPSJmb3JjZSI9PT10LmNvbmZpZy5mdWxsc2NyZWVuLmZhbGxiYWNrLHRoaXMucGxheWVyLmVsZW1lbnRzLmZ1bGxzY3JlZW49dC5jb25maWcuZnVsbHNjcmVlbi5jb250YWluZXImJmZ1bmN0aW9uKGUsdCl7Y29uc3R7cHJvdG90eXBlOml9PUVsZW1lbnQ7cmV0dXJuKGkuY2xvc2VzdHx8ZnVuY3Rpb24oKXtsZXQgZT10aGlzO2Rve2lmKGNlLm1hdGNoZXMoZSx0KSlyZXR1cm4gZTtlPWUucGFyZW50RWxlbWVudHx8ZS5wYXJlbnROb2RlfXdoaWxlKG51bGwhPT1lJiYxPT09ZS5ub2RlVHlwZSk7cmV0dXJuIG51bGx9KS5jYWxsKGUsdCl9KHRoaXMucGxheWVyLmVsZW1lbnRzLmNvbnRhaW5lcix0LmNvbmZpZy5mdWxsc2NyZWVuLmNvbnRhaW5lcikseWUuY2FsbCh0aGlzLnBsYXllcixkb2N1bWVudCwibXMiPT09dGhpcy5wcmVmaXg/Ik1TRnVsbHNjcmVlbkNoYW5nZSI6YCR7dGhpcy5wcmVmaXh9ZnVsbHNjcmVlbmNoYW5nZWAsKCgpPT57dGhpcy5vbkNoYW5nZSgpfSkpLHllLmNhbGwodGhpcy5wbGF5ZXIsdGhpcy5wbGF5ZXIuZWxlbWVudHMuY29udGFpbmVyLCJkYmxjbGljayIsKGU9PntIKHRoaXMucGxheWVyLmVsZW1lbnRzLmNvbnRyb2xzKSYmdGhpcy5wbGF5ZXIuZWxlbWVudHMuY29udHJvbHMuY29udGFpbnMoZS50YXJnZXQpfHx0aGlzLnBsYXllci5saXN0ZW5lcnMucHJveHkoZSx0aGlzLnRvZ2dsZSwiZnVsbHNjcmVlbiIpfSkpLHllLmNhbGwodGhpcyx0aGlzLnBsYXllci5lbGVtZW50cy5jb250YWluZXIsImtleWRvd24iLChlPT50aGlzLnRyYXBGb2N1cyhlKSkpLHRoaXMudXBkYXRlKCl9c3RhdGljIGdldCBuYXRpdmUoKXtyZXR1cm4hIShkb2N1bWVudC5mdWxsc2NyZWVuRW5hYmxlZHx8ZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWR8fGRvY3VtZW50Lm1vekZ1bGxTY3JlZW5FbmFibGVkfHxkb2N1bWVudC5tc0Z1bGxzY3JlZW5FbmFibGVkKX1nZXQgdXNpbmdOYXRpdmUoKXtyZXR1cm4gc3QubmF0aXZlJiYhdGhpcy5mb3JjZUZhbGxiYWNrfXN0YXRpYyBnZXQgcHJlZml4KCl7aWYoRihkb2N1bWVudC5leGl0RnVsbHNjcmVlbikpcmV0dXJuIiI7bGV0IGU9IiI7cmV0dXJuWyJ3ZWJraXQiLCJtb3oiLCJtcyJdLnNvbWUoKHQ9PiEoIUYoZG9jdW1lbnRbYCR7dH1FeGl0RnVsbHNjcmVlbmBdKSYmIUYoZG9jdW1lbnRbYCR7dH1DYW5jZWxGdWxsU2NyZWVuYF0pfHwoZT10LDApKSkpLGV9c3RhdGljIGdldCBwcm9wZXJ0eSgpe3JldHVybiJtb3oiPT09dGhpcy5wcmVmaXg/IkZ1bGxTY3JlZW4iOiJGdWxsc2NyZWVuIn1nZXQgZW5hYmxlZCgpe3JldHVybihzdC5uYXRpdmV8fHRoaXMucGxheWVyLmNvbmZpZy5mdWxsc2NyZWVuLmZhbGxiYWNrKSYmdGhpcy5wbGF5ZXIuY29uZmlnLmZ1bGxzY3JlZW4uZW5hYmxlZCYmdGhpcy5wbGF5ZXIuc3VwcG9ydGVkLnVpJiZ0aGlzLnBsYXllci5pc1ZpZGVvfWdldCBhY3RpdmUoKXtpZighdGhpcy5lbmFibGVkKXJldHVybiExO2lmKCFzdC5uYXRpdmV8fHRoaXMuZm9yY2VGYWxsYmFjaylyZXR1cm4gbGUodGhpcy50YXJnZXQsdGhpcy5wbGF5ZXIuY29uZmlnLmNsYXNzTmFtZXMuZnVsbHNjcmVlbi5mYWxsYmFjayk7Y29uc3QgZT10aGlzLnByZWZpeD90aGlzLnRhcmdldC5nZXRSb290Tm9kZSgpW2Ake3RoaXMucHJlZml4fSR7dGhpcy5wcm9wZXJ0eX1FbGVtZW50YF06dGhpcy50YXJnZXQuZ2V0Um9vdE5vZGUoKS5mdWxsc2NyZWVuRWxlbWVudDtyZXR1cm4gZSYmZS5zaGFkb3dSb290P2U9PT10aGlzLnRhcmdldC5nZXRSb290Tm9kZSgpLmhvc3Q6ZT09PXRoaXMudGFyZ2V0fWdldCB0YXJnZXQoKXtyZXR1cm4gWS5pc0lvcyYmdGhpcy5wbGF5ZXIuY29uZmlnLmZ1bGxzY3JlZW4uaW9zTmF0aXZlP3RoaXMucGxheWVyLm1lZGlhOnRoaXMucGxheWVyLmVsZW1lbnRzLmZ1bGxzY3JlZW58fHRoaXMucGxheWVyLmVsZW1lbnRzLmNvbnRhaW5lcn19ZnVuY3Rpb24gb3QoZSx0PTEpe3JldHVybiBuZXcgUHJvbWlzZSgoKGksbik9Pntjb25zdCBzPW5ldyBJbWFnZSxvPSgpPT57ZGVsZXRlIHMub25sb2FkLGRlbGV0ZSBzLm9uZXJyb3IsKHMubmF0dXJhbFdpZHRoPj10P2k6bikocyl9O09iamVjdC5hc3NpZ24ocyx7b25sb2FkOm8sb25lcnJvcjpvLHNyYzplfSl9KSl9Y29uc3QgcnQ9e2FkZFN0eWxlSG9vaygpe2FlKHRoaXMuZWxlbWVudHMuY29udGFpbmVyLHRoaXMuY29uZmlnLnNlbGVjdG9ycy5jb250YWluZXIucmVwbGFjZSgiLiIsIiIpLCEwKSxhZSh0aGlzLmVsZW1lbnRzLmNvbnRhaW5lcix0aGlzLmNvbmZpZy5jbGFzc05hbWVzLnVpU3VwcG9ydGVkLHRoaXMuc3VwcG9ydGVkLnVpKX0sdG9nZ2xlTmF0aXZlQ29udHJvbHMoZT0hMSl7ZSYmdGhpcy5pc0hUTUw1P3RoaXMubWVkaWEuc2V0QXR0cmlidXRlKCJjb250cm9scyIsIiIpOnRoaXMubWVkaWEucmVtb3ZlQXR0cmlidXRlKCJjb250cm9scyIpfSxidWlsZCgpe2lmKHRoaXMubGlzdGVuZXJzLm1lZGlhKCksIXRoaXMuc3VwcG9ydGVkLnVpKXJldHVybiB0aGlzLmRlYnVnLndhcm4oYEJhc2ljIHN1cHBvcnQgb25seSBmb3IgJHt0aGlzLnByb3ZpZGVyfSAke3RoaXMudHlwZX1gKSx2b2lkIHJ0LnRvZ2dsZU5hdGl2ZUNvbnRyb2xzLmNhbGwodGhpcywhMCk7SCh0aGlzLmVsZW1lbnRzLmNvbnRyb2xzKXx8KEtlLmluamVjdC5jYWxsKHRoaXMpLHRoaXMubGlzdGVuZXJzLmNvbnRyb2xzKCkpLHJ0LnRvZ2dsZU5hdGl2ZUNvbnRyb2xzLmNhbGwodGhpcyksdGhpcy5pc0hUTUw1JiZZZS5zZXR1cC5jYWxsKHRoaXMpLHRoaXMudm9sdW1lPW51bGwsdGhpcy5tdXRlZD1udWxsLHRoaXMubG9vcD1udWxsLHRoaXMucXVhbGl0eT1udWxsLHRoaXMuc3BlZWQ9bnVsbCxLZS51cGRhdGVWb2x1bWUuY2FsbCh0aGlzKSxLZS50aW1lVXBkYXRlLmNhbGwodGhpcyksS2UuZHVyYXRpb25VcGRhdGUuY2FsbCh0aGlzKSxydC5jaGVja1BsYXlpbmcuY2FsbCh0aGlzKSxhZSh0aGlzLmVsZW1lbnRzLmNvbnRhaW5lcix0aGlzLmNvbmZpZy5jbGFzc05hbWVzLnBpcC5zdXBwb3J0ZWQsZmUucGlwJiZ0aGlzLmlzSFRNTDUmJnRoaXMuaXNWaWRlbyksYWUodGhpcy5lbGVtZW50cy5jb250YWluZXIsdGhpcy5jb25maWcuY2xhc3NOYW1lcy5haXJwbGF5LnN1cHBvcnRlZCxmZS5haXJwbGF5JiZ0aGlzLmlzSFRNTDUpLGFlKHRoaXMuZWxlbWVudHMuY29udGFpbmVyLHRoaXMuY29uZmlnLmNsYXNzTmFtZXMuaXNJb3MsWS5pc0lvcyksYWUodGhpcy5lbGVtZW50cy5jb250YWluZXIsdGhpcy5jb25maWcuY2xhc3NOYW1lcy5pc1RvdWNoLHRoaXMudG91Y2gpLHRoaXMucmVhZHk9ITAsc2V0VGltZW91dCgoKCk9PntfZS5jYWxsKHRoaXMsdGhpcy5tZWRpYSwicmVhZHkiKX0pLDApLHJ0LnNldFRpdGxlLmNhbGwodGhpcyksdGhpcy5wb3N0ZXImJnJ0LnNldFBvc3Rlci5jYWxsKHRoaXMsdGhpcy5wb3N0ZXIsITEpLmNhdGNoKCgoKT0+e30pKSx0aGlzLmNvbmZpZy5kdXJhdGlvbiYmS2UuZHVyYXRpb25VcGRhdGUuY2FsbCh0aGlzKX0sc2V0VGl0bGUoKXtsZXQgZT1IZS5nZXQoInBsYXkiLHRoaXMuY29uZmlnKTtpZihEKHRoaXMuY29uZmlnLnRpdGxlKSYmIUsodGhpcy5jb25maWcudGl0bGUpJiYoZSs9YCwgJHt0aGlzLmNvbmZpZy50aXRsZX1gKSxBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMuYnV0dG9ucy5wbGF5fHxbXSkuZm9yRWFjaCgodD0+e3Quc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixlKX0pKSx0aGlzLmlzRW1iZWQpe2NvbnN0IGU9aGUuY2FsbCh0aGlzLCJpZnJhbWUiKTtpZighSChlKSlyZXR1cm47Y29uc3QgdD1LKHRoaXMuY29uZmlnLnRpdGxlKT8idmlkZW8iOnRoaXMuY29uZmlnLnRpdGxlLGk9SGUuZ2V0KCJmcmFtZVRpdGxlIix0aGlzLmNvbmZpZyk7ZS5zZXRBdHRyaWJ1dGUoInRpdGxlIixpLnJlcGxhY2UoInt0aXRsZX0iLHQpKX19LHRvZ2dsZVBvc3RlcihlKXthZSh0aGlzLmVsZW1lbnRzLmNvbnRhaW5lcix0aGlzLmNvbmZpZy5jbGFzc05hbWVzLnBvc3RlckVuYWJsZWQsZSl9LHNldFBvc3RlcihlLHQ9ITApe3JldHVybiB0JiZ0aGlzLnBvc3Rlcj9Qcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIlBvc3RlciBhbHJlYWR5IHNldCIpKToodGhpcy5tZWRpYS5zZXRBdHRyaWJ1dGUoImRhdGEtcG9zdGVyIixlKSx0aGlzLmVsZW1lbnRzLnBvc3Rlci5yZW1vdmVBdHRyaWJ1dGUoImhpZGRlbiIpLEVlLmNhbGwodGhpcykudGhlbigoKCk9Pm90KGUpKSkuY2F0Y2goKHQ9Pnt0aHJvdyBlPT09dGhpcy5wb3N0ZXImJnJ0LnRvZ2dsZVBvc3Rlci5jYWxsKHRoaXMsITEpLHR9KSkudGhlbigoKCk9PntpZihlIT09dGhpcy5wb3N0ZXIpdGhyb3cgbmV3IEVycm9yKCJzZXRQb3N0ZXIgY2FuY2VsbGVkIGJ5IGxhdGVyIGNhbGwgdG8gc2V0UG9zdGVyIil9KSkudGhlbigoKCk9PihPYmplY3QuYXNzaWduKHRoaXMuZWxlbWVudHMucG9zdGVyLnN0eWxlLHtiYWNrZ3JvdW5kSW1hZ2U6YHVybCgnJHtlfScpYCxiYWNrZ3JvdW5kU2l6ZToiIn0pLHJ0LnRvZ2dsZVBvc3Rlci5jYWxsKHRoaXMsITApLGUpKSkpfSxjaGVja1BsYXlpbmcoZSl7YWUodGhpcy5lbGVtZW50cy5jb250YWluZXIsdGhpcy5jb25maWcuY2xhc3NOYW1lcy5wbGF5aW5nLHRoaXMucGxheWluZyksYWUodGhpcy5lbGVtZW50cy5jb250YWluZXIsdGhpcy5jb25maWcuY2xhc3NOYW1lcy5wYXVzZWQsdGhpcy5wYXVzZWQpLGFlKHRoaXMuZWxlbWVudHMuY29udGFpbmVyLHRoaXMuY29uZmlnLmNsYXNzTmFtZXMuc3RvcHBlZCx0aGlzLnN0b3BwZWQpLEFycmF5LmZyb20odGhpcy5lbGVtZW50cy5idXR0b25zLnBsYXl8fFtdKS5mb3JFYWNoKChlPT57T2JqZWN0LmFzc2lnbihlLHtwcmVzc2VkOnRoaXMucGxheWluZ30pLGUuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixIZS5nZXQodGhpcy5wbGF5aW5nPyJwYXVzZSI6InBsYXkiLHRoaXMuY29uZmlnKSl9KSksJChlKSYmInRpbWV1cGRhdGUiPT09ZS50eXBlfHxydC50b2dnbGVDb250cm9scy5jYWxsKHRoaXMpfSxjaGVja0xvYWRpbmcoZSl7dGhpcy5sb2FkaW5nPVsic3RhbGxlZCIsIndhaXRpbmciXS5pbmNsdWRlcyhlLnR5cGUpLGNsZWFyVGltZW91dCh0aGlzLnRpbWVycy5sb2FkaW5nKSx0aGlzLnRpbWVycy5sb2FkaW5nPXNldFRpbWVvdXQoKCgpPT57YWUodGhpcy5lbGVtZW50cy5jb250YWluZXIsdGhpcy5jb25maWcuY2xhc3NOYW1lcy5sb2FkaW5nLHRoaXMubG9hZGluZykscnQudG9nZ2xlQ29udHJvbHMuY2FsbCh0aGlzKX0pLHRoaXMubG9hZGluZz8yNTA6MCl9LHRvZ2dsZUNvbnRyb2xzKGUpe2NvbnN0e2NvbnRyb2xzOnR9PXRoaXMuZWxlbWVudHM7aWYodCYmdGhpcy5jb25maWcuaGlkZUNvbnRyb2xzKXtjb25zdCBpPXRoaXMudG91Y2gmJnRoaXMubGFzdFNlZWtUaW1lKzJlMz5EYXRlLm5vdygpO3RoaXMudG9nZ2xlQ29udHJvbHMoQm9vbGVhbihlfHx0aGlzLmxvYWRpbmd8fHRoaXMucGF1c2VkfHx0LnByZXNzZWR8fHQuaG92ZXJ8fGkpKX19LG1pZ3JhdGVTdHlsZXMoKXtPYmplY3QudmFsdWVzKHsuLi50aGlzLm1lZGlhLnN0eWxlfSkuZmlsdGVyKChlPT4hSyhlKSYmRChlKSYmZS5zdGFydHNXaXRoKCItLXBseXIiKSkpLmZvckVhY2goKGU9Pnt0aGlzLmVsZW1lbnRzLmNvbnRhaW5lci5zdHlsZS5zZXRQcm9wZXJ0eShlLHRoaXMubWVkaWEuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShlKSksdGhpcy5tZWRpYS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShlKX0pKSxLKHRoaXMubWVkaWEuc3R5bGUpJiZ0aGlzLm1lZGlhLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKX19O2NsYXNzIGF0e2NvbnN0cnVjdG9yKHQpe2UodGhpcywiZmlyc3RUb3VjaCIsKCgpPT57Y29uc3R7cGxheWVyOmV9PXRoaXMse2VsZW1lbnRzOnR9PWU7ZS50b3VjaD0hMCxhZSh0LmNvbnRhaW5lcixlLmNvbmZpZy5jbGFzc05hbWVzLmlzVG91Y2gsITApfSkpLGUodGhpcywic2V0VGFiRm9jdXMiLChlPT57Y29uc3R7cGxheWVyOnR9PXRoaXMse2VsZW1lbnRzOml9PXQ7aWYoY2xlYXJUaW1lb3V0KHRoaXMuZm9jdXNUaW1lciksImtleWRvd24iPT09ZS50eXBlJiY5IT09ZS53aGljaClyZXR1cm47ImtleWRvd24iPT09ZS50eXBlJiYodGhpcy5sYXN0S2V5RG93bj1lLnRpbWVTdGFtcCk7Y29uc3Qgbj1lLnRpbWVTdGFtcC10aGlzLmxhc3RLZXlEb3duPD0yMDsoImZvY3VzIiE9PWUudHlwZXx8bikmJigoKCk9Pntjb25zdCBlPXQuY29uZmlnLmNsYXNzTmFtZXMudGFiRm9jdXM7YWUodWUuY2FsbCh0LGAuJHtlfWApLGUsITEpfSkoKSwiZm9jdXNvdXQiIT09ZS50eXBlJiYodGhpcy5mb2N1c1RpbWVyPXNldFRpbWVvdXQoKCgpPT57Y29uc3QgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2kuY29udGFpbmVyLmNvbnRhaW5zKGUpJiZhZShkb2N1bWVudC5hY3RpdmVFbGVtZW50LHQuY29uZmlnLmNsYXNzTmFtZXMudGFiRm9jdXMsITApfSksMTApKSl9KSksZSh0aGlzLCJnbG9iYWwiLCgoZT0hMCk9Pntjb25zdHtwbGF5ZXI6dH09dGhpczt0LmNvbmZpZy5rZXlib2FyZC5nbG9iYWwmJmdlLmNhbGwodCx3aW5kb3csImtleWRvd24ga2V5dXAiLHRoaXMuaGFuZGxlS2V5LGUsITEpLGdlLmNhbGwodCxkb2N1bWVudC5ib2R5LCJjbGljayIsdGhpcy50b2dnbGVNZW51LGUpLGJlLmNhbGwodCxkb2N1bWVudC5ib2R5LCJ0b3VjaHN0YXJ0Iix0aGlzLmZpcnN0VG91Y2gpLGdlLmNhbGwodCxkb2N1bWVudC5ib2R5LCJrZXlkb3duIGZvY3VzIGJsdXIgZm9jdXNvdXQiLHRoaXMuc2V0VGFiRm9jdXMsZSwhMSwhMCl9KSksZSh0aGlzLCJjb250YWluZXIiLCgoKT0+e2NvbnN0e3BsYXllcjplfT10aGlzLHtjb25maWc6dCxlbGVtZW50czppLHRpbWVyczpufT1lOyF0LmtleWJvYXJkLmdsb2JhbCYmdC5rZXlib2FyZC5mb2N1c2VkJiZ5ZS5jYWxsKGUsaS5jb250YWluZXIsImtleWRvd24ga2V5dXAiLHRoaXMuaGFuZGxlS2V5LCExKSx5ZS5jYWxsKGUsaS5jb250YWluZXIsIm1vdXNlbW92ZSBtb3VzZWxlYXZlIHRvdWNoc3RhcnQgdG91Y2htb3ZlIGVudGVyZnVsbHNjcmVlbiBleGl0ZnVsbHNjcmVlbiIsKHQ9Pntjb25zdHtjb250cm9sczpzfT1pO3MmJiJlbnRlcmZ1bGxzY3JlZW4iPT09dC50eXBlJiYocy5wcmVzc2VkPSExLHMuaG92ZXI9ITEpO2xldCBvPTA7WyJ0b3VjaHN0YXJ0IiwidG91Y2htb3ZlIiwibW91c2Vtb3ZlIl0uaW5jbHVkZXModC50eXBlKSYmKHJ0LnRvZ2dsZUNvbnRyb2xzLmNhbGwoZSwhMCksbz1lLnRvdWNoPzNlMzoyZTMpLGNsZWFyVGltZW91dChuLmNvbnRyb2xzKSxuLmNvbnRyb2xzPXNldFRpbWVvdXQoKCgpPT5ydC50b2dnbGVDb250cm9scy5jYWxsKGUsITEpKSxvKX0pKTtjb25zdCBzPSgpPT57aWYoIWUuaXNWaW1lb3x8ZS5jb25maWcudmltZW8ucHJlbWl1bSlyZXR1cm47Y29uc3QgdD1pLndyYXBwZXIse2FjdGl2ZTpufT1lLmZ1bGxzY3JlZW4sW3Msb109T2UuY2FsbChlKSxyPUllKGBhc3BlY3QtcmF0aW86ICR7c30gLyAke299YCk7aWYoIW4pcmV0dXJuIHZvaWQocj8odC5zdHlsZS53aWR0aD1udWxsLHQuc3R5bGUuaGVpZ2h0PW51bGwpOih0LnN0eWxlLm1heFdpZHRoPW51bGwsdC5zdHlsZS5tYXJnaW49bnVsbCkpO2NvbnN0W2EsbF09W01hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aHx8MCx3aW5kb3cuaW5uZXJXaWR0aHx8MCksTWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodHx8MCx3aW5kb3cuaW5uZXJIZWlnaHR8fDApXSxjPWEvbD5zL287cj8odC5zdHlsZS53aWR0aD1jPyJhdXRvIjoiMTAwJSIsdC5zdHlsZS5oZWlnaHQ9Yz8iMTAwJSI6ImF1dG8iKToodC5zdHlsZS5tYXhXaWR0aD1jP2wvbypzKyJweCI6bnVsbCx0LnN0eWxlLm1hcmdpbj1jPyIwIGF1dG8iOm51bGwpfSxvPSgpPT57Y2xlYXJUaW1lb3V0KG4ucmVzaXplZCksbi5yZXNpemVkPXNldFRpbWVvdXQocyw1MCl9O3llLmNhbGwoZSxpLmNvbnRhaW5lciwiZW50ZXJmdWxsc2NyZWVuIGV4aXRmdWxsc2NyZWVuIiwodD0+e2NvbnN0e3RhcmdldDpufT1lLmZ1bGxzY3JlZW47bj09PWkuY29udGFpbmVyJiYoIWUuaXNFbWJlZCYmSyhlLmNvbmZpZy5yYXRpbyl8fChzKCksKCJlbnRlcmZ1bGxzY3JlZW4iPT09dC50eXBlP3llOnZlKS5jYWxsKGUsd2luZG93LCJyZXNpemUiLG8pKSl9KSl9KSksZSh0aGlzLCJtZWRpYSIsKCgpPT57Y29uc3R7cGxheWVyOmV9PXRoaXMse2VsZW1lbnRzOnR9PWU7aWYoeWUuY2FsbChlLGUubWVkaWEsInRpbWV1cGRhdGUgc2Vla2luZyBzZWVrZWQiLCh0PT5LZS50aW1lVXBkYXRlLmNhbGwoZSx0KSkpLHllLmNhbGwoZSxlLm1lZGlhLCJkdXJhdGlvbmNoYW5nZSBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIiwodD0+S2UuZHVyYXRpb25VcGRhdGUuY2FsbChlLHQpKSkseWUuY2FsbChlLGUubWVkaWEsImVuZGVkIiwoKCk9PntlLmlzSFRNTDUmJmUuaXNWaWRlbyYmZS5jb25maWcucmVzZXRPbkVuZCYmKGUucmVzdGFydCgpLGUucGF1c2UoKSl9KSkseWUuY2FsbChlLGUubWVkaWEsInByb2dyZXNzIHBsYXlpbmcgc2Vla2luZyBzZWVrZWQiLCh0PT5LZS51cGRhdGVQcm9ncmVzcy5jYWxsKGUsdCkpKSx5ZS5jYWxsKGUsZS5tZWRpYSwidm9sdW1lY2hhbmdlIiwodD0+S2UudXBkYXRlVm9sdW1lLmNhbGwoZSx0KSkpLHllLmNhbGwoZSxlLm1lZGlhLCJwbGF5aW5nIHBsYXkgcGF1c2UgZW5kZWQgZW1wdGllZCB0aW1ldXBkYXRlIiwodD0+cnQuY2hlY2tQbGF5aW5nLmNhbGwoZSx0KSkpLHllLmNhbGwoZSxlLm1lZGlhLCJ3YWl0aW5nIGNhbnBsYXkgc2Vla2VkIHBsYXlpbmciLCh0PT5ydC5jaGVja0xvYWRpbmcuY2FsbChlLHQpKSksZS5zdXBwb3J0ZWQudWkmJmUuY29uZmlnLmNsaWNrVG9QbGF5JiYhZS5pc0F1ZGlvKXtjb25zdCBpPWhlLmNhbGwoZSxgLiR7ZS5jb25maWcuY2xhc3NOYW1lcy52aWRlb31gKTtpZighSChpKSlyZXR1cm47eWUuY2FsbChlLHQuY29udGFpbmVyLCJjbGljayIsKG49PnsoW3QuY29udGFpbmVyLGldLmluY2x1ZGVzKG4udGFyZ2V0KXx8aS5jb250YWlucyhuLnRhcmdldCkpJiYoZS50b3VjaCYmZS5jb25maWcuaGlkZUNvbnRyb2xzfHwoZS5lbmRlZD8odGhpcy5wcm94eShuLGUucmVzdGFydCwicmVzdGFydCIpLHRoaXMucHJveHkobiwoKCk9PntDZShlLnBsYXkoKSl9KSwicGxheSIpKTp0aGlzLnByb3h5KG4sKCgpPT57Q2UoZS50b2dnbGVQbGF5KCkpfSksInBsYXkiKSkpfSkpfWUuc3VwcG9ydGVkLnVpJiZlLmNvbmZpZy5kaXNhYmxlQ29udGV4dE1lbnUmJnllLmNhbGwoZSx0LndyYXBwZXIsImNvbnRleHRtZW51IiwoZT0+e2UucHJldmVudERlZmF1bHQoKX0pLCExKSx5ZS5jYWxsKGUsZS5tZWRpYSwidm9sdW1lY2hhbmdlIiwoKCk9PntlLnN0b3JhZ2Uuc2V0KHt2b2x1bWU6ZS52b2x1bWUsbXV0ZWQ6ZS5tdXRlZH0pfSkpLHllLmNhbGwoZSxlLm1lZGlhLCJyYXRlY2hhbmdlIiwoKCk9PntLZS51cGRhdGVTZXR0aW5nLmNhbGwoZSwic3BlZWQiKSxlLnN0b3JhZ2Uuc2V0KHtzcGVlZDplLnNwZWVkfSl9KSkseWUuY2FsbChlLGUubWVkaWEsInF1YWxpdHljaGFuZ2UiLCh0PT57S2UudXBkYXRlU2V0dGluZy5jYWxsKGUsInF1YWxpdHkiLG51bGwsdC5kZXRhaWwucXVhbGl0eSl9KSkseWUuY2FsbChlLGUubWVkaWEsInJlYWR5IHF1YWxpdHljaGFuZ2UiLCgoKT0+e0tlLnNldERvd25sb2FkVXJsLmNhbGwoZSl9KSk7Y29uc3QgaT1lLmNvbmZpZy5ldmVudHMuY29uY2F0KFsia2V5dXAiLCJrZXlkb3duIl0pLmpvaW4oIiAiKTt5ZS5jYWxsKGUsZS5tZWRpYSxpLChpPT57bGV0e2RldGFpbDpuPXt9fT1pOyJlcnJvciI9PT1pLnR5cGUmJihuPWUubWVkaWEuZXJyb3IpLF9lLmNhbGwoZSx0LmNvbnRhaW5lcixpLnR5cGUsITAsbil9KSl9KSksZSh0aGlzLCJwcm94eSIsKChlLHQsaSk9Pntjb25zdHtwbGF5ZXI6bn09dGhpcyxzPW4uY29uZmlnLmxpc3RlbmVyc1tpXTtsZXQgbz0hMDtGKHMpJiYobz1zLmNhbGwobixlKSksITEhPT1vJiZGKHQpJiZ0LmNhbGwobixlKX0pKSxlKHRoaXMsImJpbmQiLCgoZSx0LGksbixzPSEwKT0+e2NvbnN0e3BsYXllcjpvfT10aGlzLHI9by5jb25maWcubGlzdGVuZXJzW25dLGE9RihyKTt5ZS5jYWxsKG8sZSx0LChlPT50aGlzLnByb3h5KGUsaSxuKSkscyYmIWEpfSkpLGUodGhpcywiY29udHJvbHMiLCgoKT0+e2NvbnN0e3BsYXllcjplfT10aGlzLHtlbGVtZW50czp0fT1lLGk9WS5pc0lFPyJjaGFuZ2UiOiJpbnB1dCI7aWYodC5idXR0b25zLnBsYXkmJkFycmF5LmZyb20odC5idXR0b25zLnBsYXkpLmZvckVhY2goKHQ9Pnt0aGlzLmJpbmQodCwiY2xpY2siLCgoKT0+e0NlKGUudG9nZ2xlUGxheSgpKX0pLCJwbGF5Iil9KSksdGhpcy5iaW5kKHQuYnV0dG9ucy5yZXN0YXJ0LCJjbGljayIsZS5yZXN0YXJ0LCJyZXN0YXJ0IiksdGhpcy5iaW5kKHQuYnV0dG9ucy5yZXdpbmQsImNsaWNrIiwoKCk9PntlLmxhc3RTZWVrVGltZT1EYXRlLm5vdygpLGUucmV3aW5kKCl9KSwicmV3aW5kIiksdGhpcy5iaW5kKHQuYnV0dG9ucy5mYXN0Rm9yd2FyZCwiY2xpY2siLCgoKT0+e2UubGFzdFNlZWtUaW1lPURhdGUubm93KCksZS5mb3J3YXJkKCl9KSwiZmFzdEZvcndhcmQiKSx0aGlzLmJpbmQodC5idXR0b25zLm11dGUsImNsaWNrIiwoKCk9PntlLm11dGVkPSFlLm11dGVkfSksIm11dGUiKSx0aGlzLmJpbmQodC5idXR0b25zLmNhcHRpb25zLCJjbGljayIsKCgpPT5lLnRvZ2dsZUNhcHRpb25zKCkpKSx0aGlzLmJpbmQodC5idXR0b25zLmRvd25sb2FkLCJjbGljayIsKCgpPT57X2UuY2FsbChlLGUubWVkaWEsImRvd25sb2FkIil9KSwiZG93bmxvYWQiKSx0aGlzLmJpbmQodC5idXR0b25zLmZ1bGxzY3JlZW4sImNsaWNrIiwoKCk9PntlLmZ1bGxzY3JlZW4udG9nZ2xlKCl9KSwiZnVsbHNjcmVlbiIpLHRoaXMuYmluZCh0LmJ1dHRvbnMucGlwLCJjbGljayIsKCgpPT57ZS5waXA9InRvZ2dsZSJ9KSwicGlwIiksdGhpcy5iaW5kKHQuYnV0dG9ucy5haXJwbGF5LCJjbGljayIsZS5haXJwbGF5LCJhaXJwbGF5IiksdGhpcy5iaW5kKHQuYnV0dG9ucy5zZXR0aW5ncywiY2xpY2siLCh0PT57dC5zdG9wUHJvcGFnYXRpb24oKSx0LnByZXZlbnREZWZhdWx0KCksS2UudG9nZ2xlTWVudS5jYWxsKGUsdCl9KSxudWxsLCExKSx0aGlzLmJpbmQodC5idXR0b25zLnNldHRpbmdzLCJrZXl1cCIsKHQ9Pntjb25zdCBpPXQud2hpY2g7WzEzLDMyXS5pbmNsdWRlcyhpKSYmKDEzIT09aT8odC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksS2UudG9nZ2xlTWVudS5jYWxsKGUsdCkpOktlLmZvY3VzRmlyc3RNZW51SXRlbS5jYWxsKGUsbnVsbCwhMCkpfSksbnVsbCwhMSksdGhpcy5iaW5kKHQuc2V0dGluZ3MubWVudSwia2V5ZG93biIsKHQ9PnsyNz09PXQud2hpY2gmJktlLnRvZ2dsZU1lbnUuY2FsbChlLHQpfSkpLHRoaXMuYmluZCh0LmlucHV0cy5zZWVrLCJtb3VzZWRvd24gbW91c2Vtb3ZlIiwoZT0+e2NvbnN0IGk9dC5wcm9ncmVzcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPTEwMC9pLndpZHRoKihlLnBhZ2VYLWkubGVmdCk7ZS5jdXJyZW50VGFyZ2V0LnNldEF0dHJpYnV0ZSgic2Vlay12YWx1ZSIsbil9KSksdGhpcy5iaW5kKHQuaW5wdXRzLnNlZWssIm1vdXNlZG93biBtb3VzZXVwIGtleWRvd24ga2V5dXAgdG91Y2hzdGFydCB0b3VjaGVuZCIsKHQ9Pntjb25zdCBpPXQuY3VycmVudFRhcmdldCxuPXQua2V5Q29kZT90LmtleUNvZGU6dC53aGljaCxzPSJwbGF5LW9uLXNlZWtlZCI7aWYoQih0KSYmMzkhPT1uJiYzNyE9PW4pcmV0dXJuO2UubGFzdFNlZWtUaW1lPURhdGUubm93KCk7Y29uc3Qgbz1pLmhhc0F0dHJpYnV0ZShzKSxyPVsibW91c2V1cCIsInRvdWNoZW5kIiwia2V5dXAiXS5pbmNsdWRlcyh0LnR5cGUpO28mJnI/KGkucmVtb3ZlQXR0cmlidXRlKHMpLENlKGUucGxheSgpKSk6IXImJmUucGxheWluZyYmKGkuc2V0QXR0cmlidXRlKHMsIiIpLGUucGF1c2UoKSl9KSksWS5pc0lvcyl7Y29uc3QgdD11ZS5jYWxsKGUsJ2lucHV0W3R5cGU9InJhbmdlIl0nKTtBcnJheS5mcm9tKHQpLmZvckVhY2goKGU9PnRoaXMuYmluZChlLGksKGU9PnooZS50YXJnZXQpKSkpKX10aGlzLmJpbmQodC5pbnB1dHMuc2VlayxpLCh0PT57Y29uc3QgaT10LmN1cnJlbnRUYXJnZXQ7bGV0IG49aS5nZXRBdHRyaWJ1dGUoInNlZWstdmFsdWUiKTtLKG4pJiYobj1pLnZhbHVlKSxpLnJlbW92ZUF0dHJpYnV0ZSgic2Vlay12YWx1ZSIpLGUuY3VycmVudFRpbWU9bi9pLm1heCplLmR1cmF0aW9ufSksInNlZWsiKSx0aGlzLmJpbmQodC5wcm9ncmVzcywibW91c2VlbnRlciBtb3VzZWxlYXZlIG1vdXNlbW92ZSIsKHQ9PktlLnVwZGF0ZVNlZWtUb29sdGlwLmNhbGwoZSx0KSkpLHRoaXMuYmluZCh0LnByb2dyZXNzLCJtb3VzZW1vdmUgdG91Y2htb3ZlIiwodD0+e2NvbnN0e3ByZXZpZXdUaHVtYm5haWxzOml9PWU7aSYmaS5sb2FkZWQmJmkuc3RhcnRNb3ZlKHQpfSkpLHRoaXMuYmluZCh0LnByb2dyZXNzLCJtb3VzZWxlYXZlIHRvdWNoZW5kIGNsaWNrIiwoKCk9Pntjb25zdHtwcmV2aWV3VGh1bWJuYWlsczp0fT1lO3QmJnQubG9hZGVkJiZ0LmVuZE1vdmUoITEsITApfSkpLHRoaXMuYmluZCh0LnByb2dyZXNzLCJtb3VzZWRvd24gdG91Y2hzdGFydCIsKHQ9Pntjb25zdHtwcmV2aWV3VGh1bWJuYWlsczppfT1lO2kmJmkubG9hZGVkJiZpLnN0YXJ0U2NydWJiaW5nKHQpfSkpLHRoaXMuYmluZCh0LnByb2dyZXNzLCJtb3VzZXVwIHRvdWNoZW5kIiwodD0+e2NvbnN0e3ByZXZpZXdUaHVtYm5haWxzOml9PWU7aSYmaS5sb2FkZWQmJmkuZW5kU2NydWJiaW5nKHQpfSkpLFkuaXNXZWJraXQmJkFycmF5LmZyb20odWUuY2FsbChlLCdpbnB1dFt0eXBlPSJyYW5nZSJdJykpLmZvckVhY2goKHQ9Pnt0aGlzLmJpbmQodCwiaW5wdXQiLCh0PT5LZS51cGRhdGVSYW5nZUZpbGwuY2FsbChlLHQudGFyZ2V0KSkpfSkpLGUuY29uZmlnLnRvZ2dsZUludmVydCYmIUgodC5kaXNwbGF5LmR1cmF0aW9uKSYmdGhpcy5iaW5kKHQuZGlzcGxheS5jdXJyZW50VGltZSwiY2xpY2siLCgoKT0+ezAhPT1lLmN1cnJlbnRUaW1lJiYoZS5jb25maWcuaW52ZXJ0VGltZT0hZS5jb25maWcuaW52ZXJ0VGltZSxLZS50aW1lVXBkYXRlLmNhbGwoZSkpfSkpLHRoaXMuYmluZCh0LmlucHV0cy52b2x1bWUsaSwodD0+e2Uudm9sdW1lPXQudGFyZ2V0LnZhbHVlfSksInZvbHVtZSIpLHRoaXMuYmluZCh0LmNvbnRyb2xzLCJtb3VzZWVudGVyIG1vdXNlbGVhdmUiLChpPT57dC5jb250cm9scy5ob3Zlcj0hZS50b3VjaCYmIm1vdXNlZW50ZXIiPT09aS50eXBlfSkpLHQuZnVsbHNjcmVlbiYmQXJyYXkuZnJvbSh0LmZ1bGxzY3JlZW4uY2hpbGRyZW4pLmZpbHRlcigoZT0+IWUuY29udGFpbnModC5jb250YWluZXIpKSkuZm9yRWFjaCgoaT0+e3RoaXMuYmluZChpLCJtb3VzZWVudGVyIG1vdXNlbGVhdmUiLChpPT57dC5jb250cm9scyYmKHQuY29udHJvbHMuaG92ZXI9IWUudG91Y2gmJiJtb3VzZWVudGVyIj09PWkudHlwZSl9KSl9KSksdGhpcy5iaW5kKHQuY29udHJvbHMsIm1vdXNlZG93biBtb3VzZXVwIHRvdWNoc3RhcnQgdG91Y2hlbmQgdG91Y2hjYW5jZWwiLChlPT57dC5jb250cm9scy5wcmVzc2VkPVsibW91c2Vkb3duIiwidG91Y2hzdGFydCJdLmluY2x1ZGVzKGUudHlwZSl9KSksdGhpcy5iaW5kKHQuY29udHJvbHMsImZvY3VzaW4iLCgoKT0+e2NvbnN0e2NvbmZpZzppLHRpbWVyczpufT1lO2FlKHQuY29udHJvbHMsaS5jbGFzc05hbWVzLm5vVHJhbnNpdGlvbiwhMCkscnQudG9nZ2xlQ29udHJvbHMuY2FsbChlLCEwKSxzZXRUaW1lb3V0KCgoKT0+e2FlKHQuY29udHJvbHMsaS5jbGFzc05hbWVzLm5vVHJhbnNpdGlvbiwhMSl9KSwwKTtjb25zdCBzPXRoaXMudG91Y2g/M2UzOjRlMztjbGVhclRpbWVvdXQobi5jb250cm9scyksbi5jb250cm9scz1zZXRUaW1lb3V0KCgoKT0+cnQudG9nZ2xlQ29udHJvbHMuY2FsbChlLCExKSkscyl9KSksdGhpcy5iaW5kKHQuaW5wdXRzLnZvbHVtZSwid2hlZWwiLCh0PT57Y29uc3QgaT10LndlYmtpdERpcmVjdGlvbkludmVydGVkRnJvbURldmljZSxbbixzXT1bdC5kZWx0YVgsLXQuZGVsdGFZXS5tYXAoKGU9Pmk/LWU6ZSkpLG89TWF0aC5zaWduKE1hdGguYWJzKG4pPk1hdGguYWJzKHMpP246cyk7ZS5pbmNyZWFzZVZvbHVtZShvLzUwKTtjb25zdHt2b2x1bWU6cn09ZS5tZWRpYTsoMT09PW8mJnI8MXx8LTE9PT1vJiZyPjApJiZ0LnByZXZlbnREZWZhdWx0KCl9KSwidm9sdW1lIiwhMSl9KSksdGhpcy5wbGF5ZXI9dCx0aGlzLmxhc3RLZXk9bnVsbCx0aGlzLmZvY3VzVGltZXI9bnVsbCx0aGlzLmxhc3RLZXlEb3duPW51bGwsdGhpcy5oYW5kbGVLZXk9dGhpcy5oYW5kbGVLZXkuYmluZCh0aGlzKSx0aGlzLnRvZ2dsZU1lbnU9dGhpcy50b2dnbGVNZW51LmJpbmQodGhpcyksdGhpcy5zZXRUYWJGb2N1cz10aGlzLnNldFRhYkZvY3VzLmJpbmQodGhpcyksdGhpcy5maXJzdFRvdWNoPXRoaXMuZmlyc3RUb3VjaC5iaW5kKHRoaXMpfWhhbmRsZUtleShlKXtjb25zdHtwbGF5ZXI6dH09dGhpcyx7ZWxlbWVudHM6aX09dCxuPWUua2V5Q29kZT9lLmtleUNvZGU6ZS53aGljaCxzPSJrZXlkb3duIj09PWUudHlwZSxvPXMmJm49PT10aGlzLmxhc3RLZXk7aWYoIShlLmFsdEtleXx8ZS5jdHJsS2V5fHxlLm1ldGFLZXl8fGUuc2hpZnRLZXkpJiZNKG4pKWlmKHMpe2NvbnN0IHM9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZihIKHMpKXtjb25zdHtlZGl0YWJsZTpufT10LmNvbmZpZy5zZWxlY3RvcnMse3NlZWs6b309aS5pbnB1dHM7aWYocyE9PW8mJmNlKHMsbikpcmV0dXJuO2lmKDMyPT09ZS53aGljaCYmY2UocywnYnV0dG9uLCBbcm9sZV49Im1lbnVpdGVtIl0nKSlyZXR1cm59c3dpdGNoKFszMiwzNywzOCwzOSw0MCw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1Niw1Nyw2Nyw3MCw3Myw3NSw3Niw3Nyw3OV0uaW5jbHVkZXMobikmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSksbil7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmNhc2UgNTY6Y2FzZSA1NzpvfHwodC5jdXJyZW50VGltZT10LmR1cmF0aW9uLzEwKihuLTQ4KSk7YnJlYWs7Y2FzZSAzMjpjYXNlIDc1Om98fENlKHQudG9nZ2xlUGxheSgpKTticmVhaztjYXNlIDM4OnQuaW5jcmVhc2VWb2x1bWUoLjEpO2JyZWFrO2Nhc2UgNDA6dC5kZWNyZWFzZVZvbHVtZSguMSk7YnJlYWs7Y2FzZSA3NzpvfHwodC5tdXRlZD0hdC5tdXRlZCk7YnJlYWs7Y2FzZSAzOTp0LmZvcndhcmQoKTticmVhaztjYXNlIDM3OnQucmV3aW5kKCk7YnJlYWs7Y2FzZSA3MDp0LmZ1bGxzY3JlZW4udG9nZ2xlKCk7YnJlYWs7Y2FzZSA2NzpvfHx0LnRvZ2dsZUNhcHRpb25zKCk7YnJlYWs7Y2FzZSA3Njp0Lmxvb3A9IXQubG9vcH0yNz09PW4mJiF0LmZ1bGxzY3JlZW4udXNpbmdOYXRpdmUmJnQuZnVsbHNjcmVlbi5hY3RpdmUmJnQuZnVsbHNjcmVlbi50b2dnbGUoKSx0aGlzLmxhc3RLZXk9bn1lbHNlIHRoaXMubGFzdEtleT1udWxsfXRvZ2dsZU1lbnUoZSl7S2UudG9nZ2xlTWVudS5jYWxsKHRoaXMucGxheWVyLGUpfX0idW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dm9pZCAwIT09aS5nP2kuZzoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJnNlbGY7dmFyIGx0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUodD17ZXhwb3J0czp7fX0sdC5leHBvcnRzKSx0LmV4cG9ydHN9KChmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKCl7fSx0PXt9LGk9e30sbj17fTtmdW5jdGlvbiBzKGUsdCl7ZT1lLnB1c2g/ZTpbZV07dmFyIHMsbyxyLGE9W10sbD1lLmxlbmd0aCxjPWw7Zm9yKHM9ZnVuY3Rpb24oZSxpKXtpLmxlbmd0aCYmYS5wdXNoKGUpLC0tY3x8dChhKX07bC0tOylvPWVbbF0sKHI9aVtvXSk/cyhvLHIpOihuW29dPW5bb118fFtdKS5wdXNoKHMpfWZ1bmN0aW9uIG8oZSx0KXtpZihlKXt2YXIgcz1uW2VdO2lmKGlbZV09dCxzKWZvcig7cy5sZW5ndGg7KXNbMF0oZSx0KSxzLnNwbGljZSgwLDEpfX1mdW5jdGlvbiByKHQsaSl7dC5jYWxsJiYodD17c3VjY2Vzczp0fSksaS5sZW5ndGg/KHQuZXJyb3J8fGUpKGkpOih0LnN1Y2Nlc3N8fGUpKHQpfWZ1bmN0aW9uIGEodCxpLG4scyl7dmFyIG8scixsPWRvY3VtZW50LGM9bi5hc3luYyx1PShuLm51bVJldHJpZXN8fDApKzEsaD1uLmJlZm9yZXx8ZSxkPXQucmVwbGFjZSgvW1w/fCNdLiokLywiIikscD10LnJlcGxhY2UoL14oY3NzfGltZykhLywiIik7cz1zfHwwLC8oXmNzcyF8XC5jc3MkKS8udGVzdChkKT8oKHI9bC5jcmVhdGVFbGVtZW50KCJsaW5rIikpLnJlbD0ic3R5bGVzaGVldCIsci5ocmVmPXAsKG89ImhpZGVGb2N1cyJpbiByKSYmci5yZWxMaXN0JiYobz0wLHIucmVsPSJwcmVsb2FkIixyLmFzPSJzdHlsZSIpKTovKF5pbWchfFwuKHBuZ3xnaWZ8anBnfHN2Z3x3ZWJwKSQpLy50ZXN0KGQpPyhyPWwuY3JlYXRlRWxlbWVudCgiaW1nIikpLnNyYz1wOigocj1sLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKS5zcmM9dCxyLmFzeW5jPXZvaWQgMD09PWN8fGMpLHIub25sb2FkPXIub25lcnJvcj1yLm9uYmVmb3JlbG9hZD1mdW5jdGlvbihlKXt2YXIgbD1lLnR5cGVbMF07aWYobyl0cnl7ci5zaGVldC5jc3NUZXh0Lmxlbmd0aHx8KGw9ImUiKX1jYXRjaChlKXsxOCE9ZS5jb2RlJiYobD0iZSIpfWlmKCJlIj09bCl7aWYoKHMrPTEpPHUpcmV0dXJuIGEodCxpLG4scyl9ZWxzZSBpZigicHJlbG9hZCI9PXIucmVsJiYic3R5bGUiPT1yLmFzKXJldHVybiByLnJlbD0ic3R5bGVzaGVldCI7aSh0LGwsZS5kZWZhdWx0UHJldmVudGVkKX0sITEhPT1oKHQscikmJmwuaGVhZC5hcHBlbmRDaGlsZChyKX1mdW5jdGlvbiBsKGUsdCxpKXt2YXIgbixzLG89KGU9ZS5wdXNoP2U6W2VdKS5sZW5ndGgscj1vLGw9W107Zm9yKG49ZnVuY3Rpb24oZSxpLG4pe2lmKCJlIj09aSYmbC5wdXNoKGUpLCJiIj09aSl7aWYoIW4pcmV0dXJuO2wucHVzaChlKX0tLW98fHQobCl9LHM9MDtzPHI7cysrKWEoZVtzXSxuLGkpfWZ1bmN0aW9uIGMoZSxpLG4pe3ZhciBzLGE7aWYoaSYmaS50cmltJiYocz1pKSxhPShzP246aSl8fHt9LHMpe2lmKHMgaW4gdCl0aHJvdyJMb2FkSlMiO3Rbc109ITB9ZnVuY3Rpb24gYyh0LGkpe2woZSwoZnVuY3Rpb24oZSl7cihhLGUpLHQmJnIoe3N1Y2Nlc3M6dCxlcnJvcjppfSxlKSxvKHMsZSl9KSxhKX1pZihhLnJldHVyblByb21pc2UpcmV0dXJuIG5ldyBQcm9taXNlKGMpO2MoKX1yZXR1cm4gYy5yZWFkeT1mdW5jdGlvbihlLHQpe3JldHVybiBzKGUsKGZ1bmN0aW9uKGUpe3IodCxlKX0pKSxjfSxjLmRvbmU9ZnVuY3Rpb24oZSl7byhlLFtdKX0sYy5yZXNldD1mdW5jdGlvbigpe3Q9e30saT17fSxuPXt9fSxjLmlzRGVmaW5lZD1mdW5jdGlvbihlKXtyZXR1cm4gZSBpbiB0fSxjfSgpfSkpO2Z1bmN0aW9uIGN0KGUpe3JldHVybiBuZXcgUHJvbWlzZSgoKHQsaSk9PntsdChlLHtzdWNjZXNzOnQsZXJyb3I6aX0pfSkpfWZ1bmN0aW9uIHV0KGUpe2UmJiF0aGlzLmVtYmVkLmhhc1BsYXllZCYmKHRoaXMuZW1iZWQuaGFzUGxheWVkPSEwKSx0aGlzLm1lZGlhLnBhdXNlZD09PWUmJih0aGlzLm1lZGlhLnBhdXNlZD0hZSxfZS5jYWxsKHRoaXMsdGhpcy5tZWRpYSxlPyJwbGF5IjoicGF1c2UiKSl9Y29uc3QgaHQ9e3NldHVwKCl7Y29uc3QgZT10aGlzO2FlKGUuZWxlbWVudHMud3JhcHBlcixlLmNvbmZpZy5jbGFzc05hbWVzLmVtYmVkLCEwKSxlLm9wdGlvbnMuc3BlZWQ9ZS5jb25maWcuc3BlZWQub3B0aW9ucyx4ZS5jYWxsKGUpLE4od2luZG93LlZpbWVvKT9odC5yZWFkeS5jYWxsKGUpOmN0KGUuY29uZmlnLnVybHMudmltZW8uc2RrKS50aGVuKCgoKT0+e2h0LnJlYWR5LmNhbGwoZSl9KSkuY2F0Y2goKHQ9PntlLmRlYnVnLndhcm4oIlZpbWVvIFNESyAocGxheWVyLmpzKSBmYWlsZWQgdG8gbG9hZCIsdCl9KSl9LHJlYWR5KCl7Y29uc3QgZT10aGlzLHQ9ZS5jb25maWcudmltZW8se3ByZW1pdW06aSxyZWZlcnJlclBvbGljeTpuLC4uLnN9PXQ7bGV0IG89ZS5tZWRpYS5nZXRBdHRyaWJ1dGUoInNyYyIpLHI9IiI7SyhvKT8obz1lLm1lZGlhLmdldEF0dHJpYnV0ZShlLmNvbmZpZy5hdHRyaWJ1dGVzLmVtYmVkLmlkKSxyPWUubWVkaWEuZ2V0QXR0cmlidXRlKGUuY29uZmlnLmF0dHJpYnV0ZXMuZW1iZWQuaGFzaCkpOnI9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLm1hdGNoKC9eLiooPzp2aW1lby5jb21cL3x2aWRlb1wvKSg/OlxkKykoPzpcPy4qJipoPXxcLykrKD88aGFzaD5bXGQsYS1mXSspLyk7cmV0dXJuIHQ/dC5ncm91cHMuaGFzaDpudWxsfShvKTtjb25zdCBhPXI/e2g6cn06e307aSYmT2JqZWN0LmFzc2lnbihzLHtjb250cm9sczohMSxzaWRlZG9jazohMX0pO2NvbnN0IGw9emUoe2xvb3A6ZS5jb25maWcubG9vcC5hY3RpdmUsYXV0b3BsYXk6ZS5hdXRvcGxheSxtdXRlZDplLm11dGVkLGdlc3R1cmU6Im1lZGlhIixwbGF5c2lubGluZTohdGhpcy5jb25maWcuZnVsbHNjcmVlbi5pb3NOYXRpdmUsLi4uYSwuLi5zfSksYz1LKHU9byk/bnVsbDpNKE51bWJlcih1KSk/dTp1Lm1hdGNoKC9eLioodmltZW8uY29tXC98dmlkZW9cLykoXGQrKS4qLyk/UmVnRXhwLiQyOnU7dmFyIHU7Y29uc3QgaD1lZSgiaWZyYW1lIiksZD1NZShlLmNvbmZpZy51cmxzLnZpbWVvLmlmcmFtZSxjLGwpO2lmKGguc2V0QXR0cmlidXRlKCJzcmMiLGQpLGguc2V0QXR0cmlidXRlKCJhbGxvd2Z1bGxzY3JlZW4iLCIiKSxoLnNldEF0dHJpYnV0ZSgiYWxsb3ciLFsiYXV0b3BsYXkiLCJmdWxsc2NyZWVuIiwicGljdHVyZS1pbi1waWN0dXJlIiwiZW5jcnlwdGVkLW1lZGlhIiwiYWNjZWxlcm9tZXRlciIsImd5cm9zY29wZSJdLmpvaW4oIjsgIikpLEsobil8fGguc2V0QXR0cmlidXRlKCJyZWZlcnJlclBvbGljeSIsbiksaXx8IXQuY3VzdG9tQ29udHJvbHMpaC5zZXRBdHRyaWJ1dGUoImRhdGEtcG9zdGVyIixlLnBvc3RlciksZS5tZWRpYT1zZShoLGUubWVkaWEpO2Vsc2V7Y29uc3QgdD1lZSgiZGl2Iix7Y2xhc3M6ZS5jb25maWcuY2xhc3NOYW1lcy5lbWJlZENvbnRhaW5lciwiZGF0YS1wb3N0ZXIiOmUucG9zdGVyfSk7dC5hcHBlbmRDaGlsZChoKSxlLm1lZGlhPXNlKHQsZS5tZWRpYSl9dC5jdXN0b21Db250cm9sc3x8QmUoTWUoZS5jb25maWcudXJscy52aW1lby5hcGksZCkpLnRoZW4oKHQ9PnshSyh0KSYmdC50aHVtYm5haWxfdXJsJiZydC5zZXRQb3N0ZXIuY2FsbChlLHQudGh1bWJuYWlsX3VybCkuY2F0Y2goKCgpPT57fSkpfSkpLGUuZW1iZWQ9bmV3IHdpbmRvdy5WaW1lby5QbGF5ZXIoaCx7YXV0b3BhdXNlOmUuY29uZmlnLmF1dG9wYXVzZSxtdXRlZDplLm11dGVkfSksZS5tZWRpYS5wYXVzZWQ9ITAsZS5tZWRpYS5jdXJyZW50VGltZT0wLGUuc3VwcG9ydGVkLnVpJiZlLmVtYmVkLmRpc2FibGVUZXh0VHJhY2soKSxlLm1lZGlhLnBsYXk9KCk9Pih1dC5jYWxsKGUsITApLGUuZW1iZWQucGxheSgpKSxlLm1lZGlhLnBhdXNlPSgpPT4odXQuY2FsbChlLCExKSxlLmVtYmVkLnBhdXNlKCkpLGUubWVkaWEuc3RvcD0oKT0+e2UucGF1c2UoKSxlLmN1cnJlbnRUaW1lPTB9O2xldHtjdXJyZW50VGltZTpwfT1lLm1lZGlhO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLm1lZGlhLCJjdXJyZW50VGltZSIse2dldDooKT0+cCxzZXQodCl7Y29uc3R7ZW1iZWQ6aSxtZWRpYTpuLHBhdXNlZDpzLHZvbHVtZTpvfT1lLHI9cyYmIWkuaGFzUGxheWVkO24uc2Vla2luZz0hMCxfZS5jYWxsKGUsbiwic2Vla2luZyIpLFByb21pc2UucmVzb2x2ZShyJiZpLnNldFZvbHVtZSgwKSkudGhlbigoKCk9Pmkuc2V0Q3VycmVudFRpbWUodCkpKS50aGVuKCgoKT0+ciYmaS5wYXVzZSgpKSkudGhlbigoKCk9PnImJmkuc2V0Vm9sdW1lKG8pKSkuY2F0Y2goKCgpPT57fSkpfX0pO2xldCBmPWUuY29uZmlnLnNwZWVkLnNlbGVjdGVkO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLm1lZGlhLCJwbGF5YmFja1JhdGUiLHtnZXQ6KCk9PmYsc2V0KHQpe2UuZW1iZWQuc2V0UGxheWJhY2tSYXRlKHQpLnRoZW4oKCgpPT57Zj10LF9lLmNhbGwoZSxlLm1lZGlhLCJyYXRlY2hhbmdlIil9KSkuY2F0Y2goKCgpPT57ZS5vcHRpb25zLnNwZWVkPVsxXX0pKX19KTtsZXR7dm9sdW1lOm19PWUuY29uZmlnO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLm1lZGlhLCJ2b2x1bWUiLHtnZXQ6KCk9Pm0sc2V0KHQpe2UuZW1iZWQuc2V0Vm9sdW1lKHQpLnRoZW4oKCgpPT57bT10LF9lLmNhbGwoZSxlLm1lZGlhLCJ2b2x1bWVjaGFuZ2UiKX0pKX19KTtsZXR7bXV0ZWQ6Z309ZS5jb25maWc7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUubWVkaWEsIm11dGVkIix7Z2V0OigpPT5nLHNldCh0KXtjb25zdCBpPSEhaih0KSYmdDtlLmVtYmVkLnNldFZvbHVtZShpPzA6ZS5jb25maWcudm9sdW1lKS50aGVuKCgoKT0+e2c9aSxfZS5jYWxsKGUsZS5tZWRpYSwidm9sdW1lY2hhbmdlIil9KSl9fSk7bGV0IHkse2xvb3A6dn09ZS5jb25maWc7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUubWVkaWEsImxvb3AiLHtnZXQ6KCk9PnYsc2V0KHQpe2NvbnN0IGk9aih0KT90OmUuY29uZmlnLmxvb3AuYWN0aXZlO2UuZW1iZWQuc2V0TG9vcChpKS50aGVuKCgoKT0+e3Y9aX0pKX19KSxlLmVtYmVkLmdldFZpZGVvVXJsKCkudGhlbigodD0+e3k9dCxLZS5zZXREb3dubG9hZFVybC5jYWxsKGUpfSkpLmNhdGNoKChlPT57dGhpcy5kZWJ1Zy53YXJuKGUpfSkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLm1lZGlhLCJjdXJyZW50U3JjIix7Z2V0OigpPT55fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUubWVkaWEsImVuZGVkIix7Z2V0OigpPT5lLmN1cnJlbnRUaW1lPT09ZS5kdXJhdGlvbn0pLFByb21pc2UuYWxsKFtlLmVtYmVkLmdldFZpZGVvV2lkdGgoKSxlLmVtYmVkLmdldFZpZGVvSGVpZ2h0KCldKS50aGVuKCh0PT57Y29uc3RbaSxuXT10O2UuZW1iZWQucmF0aW89UGUoaSxuKSx4ZS5jYWxsKHRoaXMpfSkpLGUuZW1iZWQuc2V0QXV0b3BhdXNlKGUuY29uZmlnLmF1dG9wYXVzZSkudGhlbigodD0+e2UuY29uZmlnLmF1dG9wYXVzZT10fSkpLGUuZW1iZWQuZ2V0VmlkZW9UaXRsZSgpLnRoZW4oKHQ9PntlLmNvbmZpZy50aXRsZT10LHJ0LnNldFRpdGxlLmNhbGwodGhpcyl9KSksZS5lbWJlZC5nZXRDdXJyZW50VGltZSgpLnRoZW4oKHQ9PntwPXQsX2UuY2FsbChlLGUubWVkaWEsInRpbWV1cGRhdGUiKX0pKSxlLmVtYmVkLmdldER1cmF0aW9uKCkudGhlbigodD0+e2UubWVkaWEuZHVyYXRpb249dCxfZS5jYWxsKGUsZS5tZWRpYSwiZHVyYXRpb25jaGFuZ2UiKX0pKSxlLmVtYmVkLmdldFRleHRUcmFja3MoKS50aGVuKCh0PT57ZS5tZWRpYS50ZXh0VHJhY2tzPXQsWWUuc2V0dXAuY2FsbChlKX0pKSxlLmVtYmVkLm9uKCJjdWVjaGFuZ2UiLCgoe2N1ZXM6dD1bXX0pPT57Y29uc3QgaT10Lm1hcCgoZT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5hcHBlbmRDaGlsZChpKSxpLmlubmVySFRNTD1lLHQuZmlyc3RDaGlsZC5pbm5lclRleHR9KGUudGV4dCkpKTtZZS51cGRhdGVDdWVzLmNhbGwoZSxpKX0pKSxlLmVtYmVkLm9uKCJsb2FkZWQiLCgoKT0+e2UuZW1iZWQuZ2V0UGF1c2VkKCkudGhlbigodD0+e3V0LmNhbGwoZSwhdCksdHx8X2UuY2FsbChlLGUubWVkaWEsInBsYXlpbmciKX0pKSxIKGUuZW1iZWQuZWxlbWVudCkmJmUuc3VwcG9ydGVkLnVpJiZlLmVtYmVkLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsLTEpfSkpLGUuZW1iZWQub24oImJ1ZmZlcnN0YXJ0IiwoKCk9PntfZS5jYWxsKGUsZS5tZWRpYSwid2FpdGluZyIpfSkpLGUuZW1iZWQub24oImJ1ZmZlcmVuZCIsKCgpPT57X2UuY2FsbChlLGUubWVkaWEsInBsYXlpbmciKX0pKSxlLmVtYmVkLm9uKCJwbGF5IiwoKCk9Pnt1dC5jYWxsKGUsITApLF9lLmNhbGwoZSxlLm1lZGlhLCJwbGF5aW5nIil9KSksZS5lbWJlZC5vbigicGF1c2UiLCgoKT0+e3V0LmNhbGwoZSwhMSl9KSksZS5lbWJlZC5vbigidGltZXVwZGF0ZSIsKHQ9PntlLm1lZGlhLnNlZWtpbmc9ITEscD10LnNlY29uZHMsX2UuY2FsbChlLGUubWVkaWEsInRpbWV1cGRhdGUiKX0pKSxlLmVtYmVkLm9uKCJwcm9ncmVzcyIsKHQ9PntlLm1lZGlhLmJ1ZmZlcmVkPXQucGVyY2VudCxfZS5jYWxsKGUsZS5tZWRpYSwicHJvZ3Jlc3MiKSwxPT09cGFyc2VJbnQodC5wZXJjZW50LDEwKSYmX2UuY2FsbChlLGUubWVkaWEsImNhbnBsYXl0aHJvdWdoIiksZS5lbWJlZC5nZXREdXJhdGlvbigpLnRoZW4oKHQ9Pnt0IT09ZS5tZWRpYS5kdXJhdGlvbiYmKGUubWVkaWEuZHVyYXRpb249dCxfZS5jYWxsKGUsZS5tZWRpYSwiZHVyYXRpb25jaGFuZ2UiKSl9KSl9KSksZS5lbWJlZC5vbigic2Vla2VkIiwoKCk9PntlLm1lZGlhLnNlZWtpbmc9ITEsX2UuY2FsbChlLGUubWVkaWEsInNlZWtlZCIpfSkpLGUuZW1iZWQub24oImVuZGVkIiwoKCk9PntlLm1lZGlhLnBhdXNlZD0hMCxfZS5jYWxsKGUsZS5tZWRpYSwiZW5kZWQiKX0pKSxlLmVtYmVkLm9uKCJlcnJvciIsKHQ9PntlLm1lZGlhLmVycm9yPXQsX2UuY2FsbChlLGUubWVkaWEsImVycm9yIil9KSksdC5jdXN0b21Db250cm9scyYmc2V0VGltZW91dCgoKCk9PnJ0LmJ1aWxkLmNhbGwoZSkpLDApfX07ZnVuY3Rpb24gZHQoZSl7ZSYmIXRoaXMuZW1iZWQuaGFzUGxheWVkJiYodGhpcy5lbWJlZC5oYXNQbGF5ZWQ9ITApLHRoaXMubWVkaWEucGF1c2VkPT09ZSYmKHRoaXMubWVkaWEucGF1c2VkPSFlLF9lLmNhbGwodGhpcyx0aGlzLm1lZGlhLGU/InBsYXkiOiJwYXVzZSIpKX1mdW5jdGlvbiBwdChlKXtyZXR1cm4gZS5ub0Nvb2tpZT8iaHR0cHM6Ly93d3cueW91dHViZS1ub2Nvb2tpZS5jb20iOiJodHRwOiI9PT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2w/Imh0dHA6Ly93d3cueW91dHViZS5jb20iOnZvaWQgMH1jb25zdCBmdD17c2V0dXAoKXtpZihhZSh0aGlzLmVsZW1lbnRzLndyYXBwZXIsdGhpcy5jb25maWcuY2xhc3NOYW1lcy5lbWJlZCwhMCksTih3aW5kb3cuWVQpJiZGKHdpbmRvdy5ZVC5QbGF5ZXIpKWZ0LnJlYWR5LmNhbGwodGhpcyk7ZWxzZXtjb25zdCBlPXdpbmRvdy5vbllvdVR1YmVJZnJhbWVBUElSZWFkeTt3aW5kb3cub25Zb3VUdWJlSWZyYW1lQVBJUmVhZHk9KCk9PntGKGUpJiZlKCksZnQucmVhZHkuY2FsbCh0aGlzKX0sY3QodGhpcy5jb25maWcudXJscy55b3V0dWJlLnNkaykuY2F0Y2goKGU9Pnt0aGlzLmRlYnVnLndhcm4oIllvdVR1YmUgQVBJIGZhaWxlZCB0byBsb2FkIixlKX0pKX19LGdldFRpdGxlKGUpe0JlKE1lKHRoaXMuY29uZmlnLnVybHMueW91dHViZS5hcGksZSkpLnRoZW4oKGU9PntpZihOKGUpKXtjb25zdHt0aXRsZTp0LGhlaWdodDppLHdpZHRoOm59PWU7dGhpcy5jb25maWcudGl0bGU9dCxydC5zZXRUaXRsZS5jYWxsKHRoaXMpLHRoaXMuZW1iZWQucmF0aW89UGUobixpKX14ZS5jYWxsKHRoaXMpfSkpLmNhdGNoKCgoKT0+e3hlLmNhbGwodGhpcyl9KSl9LHJlYWR5KCl7Y29uc3QgZT10aGlzLHQ9ZS5jb25maWcueW91dHViZSxpPWUubWVkaWEmJmUubWVkaWEuZ2V0QXR0cmlidXRlKCJpZCIpO2lmKCFLKGkpJiZpLnN0YXJ0c1dpdGgoInlvdXR1YmUtIikpcmV0dXJuO2xldCBuPWUubWVkaWEuZ2V0QXR0cmlidXRlKCJzcmMiKTtLKG4pJiYobj1lLm1lZGlhLmdldEF0dHJpYnV0ZSh0aGlzLmNvbmZpZy5hdHRyaWJ1dGVzLmVtYmVkLmlkKSk7Y29uc3Qgcz1LKG89bik/bnVsbDpvLm1hdGNoKC9eLiooeW91dHUuYmVcL3x2XC98dVwvXHdcL3xlbWJlZFwvfHdhdGNoXD92PXwmdj0pKFteIyY/XSopLiovKT9SZWdFeHAuJDI6bzt2YXIgbztjb25zdCByPWVlKCJkaXYiLHtpZDpgJHtlLnByb3ZpZGVyfS0ke01hdGguZmxvb3IoMWU0Kk1hdGgucmFuZG9tKCkpfWAsImRhdGEtcG9zdGVyIjp0LmN1c3RvbUNvbnRyb2xzP2UucG9zdGVyOnZvaWQgMH0pO2lmKGUubWVkaWE9c2UocixlLm1lZGlhKSx0LmN1c3RvbUNvbnRyb2xzKXtjb25zdCB0PWU9PmBodHRwczovL2kueXRpbWcuY29tL3ZpLyR7c30vJHtlfWRlZmF1bHQuanBnYDtvdCh0KCJtYXhyZXMiKSwxMjEpLmNhdGNoKCgoKT0+b3QodCgic2QiKSwxMjEpKSkuY2F0Y2goKCgpPT5vdCh0KCJocSIpKSkpLnRoZW4oKHQ9PnJ0LnNldFBvc3Rlci5jYWxsKGUsdC5zcmMpKSkudGhlbigodD0+e3QuaW5jbHVkZXMoIm1heHJlcyIpfHwoZS5lbGVtZW50cy5wb3N0ZXIuc3R5bGUuYmFja2dyb3VuZFNpemU9ImNvdmVyIil9KSkuY2F0Y2goKCgpPT57fSkpfWUuZW1iZWQ9bmV3IHdpbmRvdy5ZVC5QbGF5ZXIoZS5tZWRpYSx7dmlkZW9JZDpzLGhvc3Q6cHQodCkscGxheWVyVmFyczpKKHt9LHthdXRvcGxheTplLmNvbmZpZy5hdXRvcGxheT8xOjAsaGw6ZS5jb25maWcuaGwsY29udHJvbHM6ZS5zdXBwb3J0ZWQudWkmJnQuY3VzdG9tQ29udHJvbHM/MDoxLGRpc2FibGVrYjoxLHBsYXlzaW5saW5lOmUuY29uZmlnLmZ1bGxzY3JlZW4uaW9zTmF0aXZlPzA6MSxjY19sb2FkX3BvbGljeTplLmNhcHRpb25zLmFjdGl2ZT8xOjAsY2NfbGFuZ19wcmVmOmUuY29uZmlnLmNhcHRpb25zLmxhbmd1YWdlLHdpZGdldF9yZWZlcnJlcjp3aW5kb3c/d2luZG93LmxvY2F0aW9uLmhyZWY6bnVsbH0sdCksZXZlbnRzOntvbkVycm9yKHQpe2lmKCFlLm1lZGlhLmVycm9yKXtjb25zdCBpPXQuZGF0YSxuPXsyOiJUaGUgcmVxdWVzdCBjb250YWlucyBhbiBpbnZhbGlkIHBhcmFtZXRlciB2YWx1ZS4gRm9yIGV4YW1wbGUsIHRoaXMgZXJyb3Igb2NjdXJzIGlmIHlvdSBzcGVjaWZ5IGEgdmlkZW8gSUQgdGhhdCBkb2VzIG5vdCBoYXZlIDExIGNoYXJhY3RlcnMsIG9yIGlmIHRoZSB2aWRlbyBJRCBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMsIHN1Y2ggYXMgZXhjbGFtYXRpb24gcG9pbnRzIG9yIGFzdGVyaXNrcy4iLDU6IlRoZSByZXF1ZXN0ZWQgY29udGVudCBjYW5ub3QgYmUgcGxheWVkIGluIGFuIEhUTUw1IHBsYXllciBvciBhbm90aGVyIGVycm9yIHJlbGF0ZWQgdG8gdGhlIEhUTUw1IHBsYXllciBoYXMgb2NjdXJyZWQuIiwxMDA6IlRoZSB2aWRlbyByZXF1ZXN0ZWQgd2FzIG5vdCBmb3VuZC4gVGhpcyBlcnJvciBvY2N1cnMgd2hlbiBhIHZpZGVvIGhhcyBiZWVuIHJlbW92ZWQgKGZvciBhbnkgcmVhc29uKSBvciBoYXMgYmVlbiBtYXJrZWQgYXMgcHJpdmF0ZS4iLDEwMToiVGhlIG93bmVyIG9mIHRoZSByZXF1ZXN0ZWQgdmlkZW8gZG9lcyBub3QgYWxsb3cgaXQgdG8gYmUgcGxheWVkIGluIGVtYmVkZGVkIHBsYXllcnMuIiwxNTA6IlRoZSBvd25lciBvZiB0aGUgcmVxdWVzdGVkIHZpZGVvIGRvZXMgbm90IGFsbG93IGl0IHRvIGJlIHBsYXllZCBpbiBlbWJlZGRlZCBwbGF5ZXJzLiJ9W2ldfHwiQW4gdW5rbm93biBlcnJvciBvY2N1cmVkIjtlLm1lZGlhLmVycm9yPXtjb2RlOmksbWVzc2FnZTpufSxfZS5jYWxsKGUsZS5tZWRpYSwiZXJyb3IiKX19LG9uUGxheWJhY2tSYXRlQ2hhbmdlKHQpe2NvbnN0IGk9dC50YXJnZXQ7ZS5tZWRpYS5wbGF5YmFja1JhdGU9aS5nZXRQbGF5YmFja1JhdGUoKSxfZS5jYWxsKGUsZS5tZWRpYSwicmF0ZWNoYW5nZSIpfSxvblJlYWR5KGkpe2lmKEYoZS5tZWRpYS5wbGF5KSlyZXR1cm47Y29uc3Qgbj1pLnRhcmdldDtmdC5nZXRUaXRsZS5jYWxsKGUscyksZS5tZWRpYS5wbGF5PSgpPT57ZHQuY2FsbChlLCEwKSxuLnBsYXlWaWRlbygpfSxlLm1lZGlhLnBhdXNlPSgpPT57ZHQuY2FsbChlLCExKSxuLnBhdXNlVmlkZW8oKX0sZS5tZWRpYS5zdG9wPSgpPT57bi5zdG9wVmlkZW8oKX0sZS5tZWRpYS5kdXJhdGlvbj1uLmdldER1cmF0aW9uKCksZS5tZWRpYS5wYXVzZWQ9ITAsZS5tZWRpYS5jdXJyZW50VGltZT0wLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLm1lZGlhLCJjdXJyZW50VGltZSIse2dldDooKT0+TnVtYmVyKG4uZ2V0Q3VycmVudFRpbWUoKSksc2V0KHQpe2UucGF1c2VkJiYhZS5lbWJlZC5oYXNQbGF5ZWQmJmUuZW1iZWQubXV0ZSgpLGUubWVkaWEuc2Vla2luZz0hMCxfZS5jYWxsKGUsZS5tZWRpYSwic2Vla2luZyIpLG4uc2Vla1RvKHQpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLm1lZGlhLCJwbGF5YmFja1JhdGUiLHtnZXQ6KCk9Pm4uZ2V0UGxheWJhY2tSYXRlKCksc2V0KGUpe24uc2V0UGxheWJhY2tSYXRlKGUpfX0pO2xldHt2b2x1bWU6b309ZS5jb25maWc7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUubWVkaWEsInZvbHVtZSIse2dldDooKT0+byxzZXQodCl7bz10LG4uc2V0Vm9sdW1lKDEwMCpvKSxfZS5jYWxsKGUsZS5tZWRpYSwidm9sdW1lY2hhbmdlIil9fSk7bGV0e211dGVkOnJ9PWUuY29uZmlnO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLm1lZGlhLCJtdXRlZCIse2dldDooKT0+cixzZXQodCl7Y29uc3QgaT1qKHQpP3Q6cjtyPWksbltpPyJtdXRlIjoidW5NdXRlIl0oKSxuLnNldFZvbHVtZSgxMDAqbyksX2UuY2FsbChlLGUubWVkaWEsInZvbHVtZWNoYW5nZSIpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLm1lZGlhLCJjdXJyZW50U3JjIix7Z2V0OigpPT5uLmdldFZpZGVvVXJsKCl9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5tZWRpYSwiZW5kZWQiLHtnZXQ6KCk9PmUuY3VycmVudFRpbWU9PT1lLmR1cmF0aW9ufSk7Y29uc3QgYT1uLmdldEF2YWlsYWJsZVBsYXliYWNrUmF0ZXMoKTtlLm9wdGlvbnMuc3BlZWQ9YS5maWx0ZXIoKHQ9PmUuY29uZmlnLnNwZWVkLm9wdGlvbnMuaW5jbHVkZXModCkpKSxlLnN1cHBvcnRlZC51aSYmdC5jdXN0b21Db250cm9scyYmZS5tZWRpYS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwtMSksX2UuY2FsbChlLGUubWVkaWEsInRpbWV1cGRhdGUiKSxfZS5jYWxsKGUsZS5tZWRpYSwiZHVyYXRpb25jaGFuZ2UiKSxjbGVhckludGVydmFsKGUudGltZXJzLmJ1ZmZlcmluZyksZS50aW1lcnMuYnVmZmVyaW5nPXNldEludGVydmFsKCgoKT0+e2UubWVkaWEuYnVmZmVyZWQ9bi5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCksKG51bGw9PT1lLm1lZGlhLmxhc3RCdWZmZXJlZHx8ZS5tZWRpYS5sYXN0QnVmZmVyZWQ8ZS5tZWRpYS5idWZmZXJlZCkmJl9lLmNhbGwoZSxlLm1lZGlhLCJwcm9ncmVzcyIpLGUubWVkaWEubGFzdEJ1ZmZlcmVkPWUubWVkaWEuYnVmZmVyZWQsMT09PWUubWVkaWEuYnVmZmVyZWQmJihjbGVhckludGVydmFsKGUudGltZXJzLmJ1ZmZlcmluZyksX2UuY2FsbChlLGUubWVkaWEsImNhbnBsYXl0aHJvdWdoIikpfSksMjAwKSx0LmN1c3RvbUNvbnRyb2xzJiZzZXRUaW1lb3V0KCgoKT0+cnQuYnVpbGQuY2FsbChlKSksNTApfSxvblN0YXRlQ2hhbmdlKGkpe2NvbnN0IG49aS50YXJnZXQ7c3dpdGNoKGNsZWFySW50ZXJ2YWwoZS50aW1lcnMucGxheWluZyksZS5tZWRpYS5zZWVraW5nJiZbMSwyXS5pbmNsdWRlcyhpLmRhdGEpJiYoZS5tZWRpYS5zZWVraW5nPSExLF9lLmNhbGwoZSxlLm1lZGlhLCJzZWVrZWQiKSksaS5kYXRhKXtjYXNlLTE6X2UuY2FsbChlLGUubWVkaWEsInRpbWV1cGRhdGUiKSxlLm1lZGlhLmJ1ZmZlcmVkPW4uZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbigpLF9lLmNhbGwoZSxlLm1lZGlhLCJwcm9ncmVzcyIpO2JyZWFrO2Nhc2UgMDpkdC5jYWxsKGUsITEpLGUubWVkaWEubG9vcD8obi5zdG9wVmlkZW8oKSxuLnBsYXlWaWRlbygpKTpfZS5jYWxsKGUsZS5tZWRpYSwiZW5kZWQiKTticmVhaztjYXNlIDE6dC5jdXN0b21Db250cm9scyYmIWUuY29uZmlnLmF1dG9wbGF5JiZlLm1lZGlhLnBhdXNlZCYmIWUuZW1iZWQuaGFzUGxheWVkP2UubWVkaWEucGF1c2UoKTooZHQuY2FsbChlLCEwKSxfZS5jYWxsKGUsZS5tZWRpYSwicGxheWluZyIpLGUudGltZXJzLnBsYXlpbmc9c2V0SW50ZXJ2YWwoKCgpPT57X2UuY2FsbChlLGUubWVkaWEsInRpbWV1cGRhdGUiKX0pLDUwKSxlLm1lZGlhLmR1cmF0aW9uIT09bi5nZXREdXJhdGlvbigpJiYoZS5tZWRpYS5kdXJhdGlvbj1uLmdldER1cmF0aW9uKCksX2UuY2FsbChlLGUubWVkaWEsImR1cmF0aW9uY2hhbmdlIikpKTticmVhaztjYXNlIDI6ZS5tdXRlZHx8ZS5lbWJlZC51bk11dGUoKSxkdC5jYWxsKGUsITEpO2JyZWFrO2Nhc2UgMzpfZS5jYWxsKGUsZS5tZWRpYSwid2FpdGluZyIpfV9lLmNhbGwoZSxlLmVsZW1lbnRzLmNvbnRhaW5lciwic3RhdGVjaGFuZ2UiLCExLHtjb2RlOmkuZGF0YX0pfX19KX19LG10PXtzZXR1cCgpe3RoaXMubWVkaWE/KGFlKHRoaXMuZWxlbWVudHMuY29udGFpbmVyLHRoaXMuY29uZmlnLmNsYXNzTmFtZXMudHlwZS5yZXBsYWNlKCJ7MH0iLHRoaXMudHlwZSksITApLGFlKHRoaXMuZWxlbWVudHMuY29udGFpbmVyLHRoaXMuY29uZmlnLmNsYXNzTmFtZXMucHJvdmlkZXIucmVwbGFjZSgiezB9Iix0aGlzLnByb3ZpZGVyKSwhMCksdGhpcy5pc0VtYmVkJiZhZSh0aGlzLmVsZW1lbnRzLmNvbnRhaW5lcix0aGlzLmNvbmZpZy5jbGFzc05hbWVzLnR5cGUucmVwbGFjZSgiezB9IiwidmlkZW8iKSwhMCksdGhpcy5pc1ZpZGVvJiYodGhpcy5lbGVtZW50cy53cmFwcGVyPWVlKCJkaXYiLHtjbGFzczp0aGlzLmNvbmZpZy5jbGFzc05hbWVzLnZpZGVvfSksWCh0aGlzLm1lZGlhLHRoaXMuZWxlbWVudHMud3JhcHBlciksdGhpcy5lbGVtZW50cy5wb3N0ZXI9ZWUoImRpdiIse2NsYXNzOnRoaXMuY29uZmlnLmNsYXNzTmFtZXMucG9zdGVyfSksdGhpcy5lbGVtZW50cy53cmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudHMucG9zdGVyKSksdGhpcy5pc0hUTUw1P05lLnNldHVwLmNhbGwodGhpcyk6dGhpcy5pc1lvdVR1YmU/ZnQuc2V0dXAuY2FsbCh0aGlzKTp0aGlzLmlzVmltZW8mJmh0LnNldHVwLmNhbGwodGhpcykpOnRoaXMuZGVidWcud2FybigiTm8gbWVkaWEgZWxlbWVudCBmb3VuZCEiKX19O2NsYXNzIGd0e2NvbnN0cnVjdG9yKHQpe2UodGhpcywibG9hZCIsKCgpPT57dGhpcy5lbmFibGVkJiYoTih3aW5kb3cuZ29vZ2xlKSYmTih3aW5kb3cuZ29vZ2xlLmltYSk/dGhpcy5yZWFkeSgpOmN0KHRoaXMucGxheWVyLmNvbmZpZy51cmxzLmdvb2dsZUlNQS5zZGspLnRoZW4oKCgpPT57dGhpcy5yZWFkeSgpfSkpLmNhdGNoKCgoKT0+e3RoaXMudHJpZ2dlcigiZXJyb3IiLG5ldyBFcnJvcigiR29vZ2xlIElNQSBTREsgZmFpbGVkIHRvIGxvYWQiKSl9KSkpfSkpLGUodGhpcywicmVhZHkiLCgoKT0+e3ZhciBlO3RoaXMuZW5hYmxlZHx8KChlPXRoaXMpLm1hbmFnZXImJmUubWFuYWdlci5kZXN0cm95KCksZS5lbGVtZW50cy5kaXNwbGF5Q29udGFpbmVyJiZlLmVsZW1lbnRzLmRpc3BsYXlDb250YWluZXIuZGVzdHJveSgpLGUuZWxlbWVudHMuY29udGFpbmVyLnJlbW92ZSgpKSx0aGlzLnN0YXJ0U2FmZXR5VGltZXIoMTJlMywicmVhZHkoKSIpLHRoaXMubWFuYWdlclByb21pc2UudGhlbigoKCk9Pnt0aGlzLmNsZWFyU2FmZXR5VGltZXIoIm9uQWRzTWFuYWdlckxvYWRlZCgpIil9KSksdGhpcy5saXN0ZW5lcnMoKSx0aGlzLnNldHVwSU1BKCl9KSksZSh0aGlzLCJzZXR1cElNQSIsKCgpPT57dGhpcy5lbGVtZW50cy5jb250YWluZXI9ZWUoImRpdiIse2NsYXNzOnRoaXMucGxheWVyLmNvbmZpZy5jbGFzc05hbWVzLmFkc30pLHRoaXMucGxheWVyLmVsZW1lbnRzLmNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnRzLmNvbnRhaW5lciksZ29vZ2xlLmltYS5zZXR0aW5ncy5zZXRWcGFpZE1vZGUoZ29vZ2xlLmltYS5JbWFTZGtTZXR0aW5ncy5WcGFpZE1vZGUuRU5BQkxFRCksZ29vZ2xlLmltYS5zZXR0aW5ncy5zZXRMb2NhbGUodGhpcy5wbGF5ZXIuY29uZmlnLmFkcy5sYW5ndWFnZSksZ29vZ2xlLmltYS5zZXR0aW5ncy5zZXREaXNhYmxlQ3VzdG9tUGxheWJhY2tGb3JJT1MxMFBsdXModGhpcy5wbGF5ZXIuY29uZmlnLnBsYXlzaW5saW5lKSx0aGlzLmVsZW1lbnRzLmRpc3BsYXlDb250YWluZXI9bmV3IGdvb2dsZS5pbWEuQWREaXNwbGF5Q29udGFpbmVyKHRoaXMuZWxlbWVudHMuY29udGFpbmVyLHRoaXMucGxheWVyLm1lZGlhKSx0aGlzLmxvYWRlcj1uZXcgZ29vZ2xlLmltYS5BZHNMb2FkZXIodGhpcy5lbGVtZW50cy5kaXNwbGF5Q29udGFpbmVyKSx0aGlzLmxvYWRlci5hZGRFdmVudExpc3RlbmVyKGdvb2dsZS5pbWEuQWRzTWFuYWdlckxvYWRlZEV2ZW50LlR5cGUuQURTX01BTkFHRVJfTE9BREVELChlPT50aGlzLm9uQWRzTWFuYWdlckxvYWRlZChlKSksITEpLHRoaXMubG9hZGVyLmFkZEV2ZW50TGlzdGVuZXIoZ29vZ2xlLmltYS5BZEVycm9yRXZlbnQuVHlwZS5BRF9FUlJPUiwoZT0+dGhpcy5vbkFkRXJyb3IoZSkpLCExKSx0aGlzLnJlcXVlc3RBZHMoKX0pKSxlKHRoaXMsInJlcXVlc3RBZHMiLCgoKT0+e2NvbnN0e2NvbnRhaW5lcjplfT10aGlzLnBsYXllci5lbGVtZW50czt0cnl7Y29uc3QgdD1uZXcgZ29vZ2xlLmltYS5BZHNSZXF1ZXN0O3QuYWRUYWdVcmw9dGhpcy50YWdVcmwsdC5saW5lYXJBZFNsb3RXaWR0aD1lLm9mZnNldFdpZHRoLHQubGluZWFyQWRTbG90SGVpZ2h0PWUub2Zmc2V0SGVpZ2h0LHQubm9uTGluZWFyQWRTbG90V2lkdGg9ZS5vZmZzZXRXaWR0aCx0Lm5vbkxpbmVhckFkU2xvdEhlaWdodD1lLm9mZnNldEhlaWdodCx0LmZvcmNlTm9uTGluZWFyRnVsbFNsb3Q9ITEsdC5zZXRBZFdpbGxQbGF5TXV0ZWQoIXRoaXMucGxheWVyLm11dGVkKSx0aGlzLmxvYWRlci5yZXF1ZXN0QWRzKHQpfWNhdGNoKGUpe3RoaXMub25BZEVycm9yKGUpfX0pKSxlKHRoaXMsInBvbGxDb3VudGRvd24iLCgoZT0hMSk9PntpZighZSlyZXR1cm4gY2xlYXJJbnRlcnZhbCh0aGlzLmNvdW50ZG93blRpbWVyKSx2b2lkIHRoaXMuZWxlbWVudHMuY29udGFpbmVyLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1iYWRnZS10ZXh0Iik7dGhpcy5jb3VudGRvd25UaW1lcj1zZXRJbnRlcnZhbCgoKCk9Pntjb25zdCBlPUdlKE1hdGgubWF4KHRoaXMubWFuYWdlci5nZXRSZW1haW5pbmdUaW1lKCksMCkpLHQ9YCR7SGUuZ2V0KCJhZHZlcnRpc2VtZW50Iix0aGlzLnBsYXllci5jb25maWcpfSAtICR7ZX1gO3RoaXMuZWxlbWVudHMuY29udGFpbmVyLnNldEF0dHJpYnV0ZSgiZGF0YS1iYWRnZS10ZXh0Iix0KX0pLDEwMCl9KSksZSh0aGlzLCJvbkFkc01hbmFnZXJMb2FkZWQiLChlPT57aWYoIXRoaXMuZW5hYmxlZClyZXR1cm47Y29uc3QgdD1uZXcgZ29vZ2xlLmltYS5BZHNSZW5kZXJpbmdTZXR0aW5nczt0LnJlc3RvcmVDdXN0b21QbGF5YmFja1N0YXRlT25BZEJyZWFrQ29tcGxldGU9ITAsdC5lbmFibGVQcmVsb2FkaW5nPSEwLHRoaXMubWFuYWdlcj1lLmdldEFkc01hbmFnZXIodGhpcy5wbGF5ZXIsdCksdGhpcy5jdWVQb2ludHM9dGhpcy5tYW5hZ2VyLmdldEN1ZVBvaW50cygpLHRoaXMubWFuYWdlci5hZGRFdmVudExpc3RlbmVyKGdvb2dsZS5pbWEuQWRFcnJvckV2ZW50LlR5cGUuQURfRVJST1IsKGU9PnRoaXMub25BZEVycm9yKGUpKSksT2JqZWN0LmtleXMoZ29vZ2xlLmltYS5BZEV2ZW50LlR5cGUpLmZvckVhY2goKGU9Pnt0aGlzLm1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihnb29nbGUuaW1hLkFkRXZlbnQuVHlwZVtlXSwoZT0+dGhpcy5vbkFkRXZlbnQoZSkpKX0pKSx0aGlzLnRyaWdnZXIoImxvYWRlZCIpfSkpLGUodGhpcywiYWRkQ3VlUG9pbnRzIiwoKCk9PntLKHRoaXMuY3VlUG9pbnRzKXx8dGhpcy5jdWVQb2ludHMuZm9yRWFjaCgoZT0+e2lmKDAhPT1lJiYtMSE9PWUmJmU8dGhpcy5wbGF5ZXIuZHVyYXRpb24pe2NvbnN0IHQ9dGhpcy5wbGF5ZXIuZWxlbWVudHMucHJvZ3Jlc3M7aWYoSCh0KSl7Y29uc3QgaT0xMDAvdGhpcy5wbGF5ZXIuZHVyYXRpb24qZSxuPWVlKCJzcGFuIix7Y2xhc3M6dGhpcy5wbGF5ZXIuY29uZmlnLmNsYXNzTmFtZXMuY3Vlc30pO24uc3R5bGUubGVmdD1gJHtpLnRvU3RyaW5nKCl9JWAsdC5hcHBlbmRDaGlsZChuKX19fSkpfSkpLGUodGhpcywib25BZEV2ZW50IiwoZT0+e2NvbnN0e2NvbnRhaW5lcjp0fT10aGlzLnBsYXllci5lbGVtZW50cyxpPWUuZ2V0QWQoKSxuPWUuZ2V0QWREYXRhKCk7c3dpdGNoKChlPT57X2UuY2FsbCh0aGlzLnBsYXllcix0aGlzLnBsYXllci5tZWRpYSxgYWRzJHtlLnJlcGxhY2UoL18vZywiIikudG9Mb3dlckNhc2UoKX1gKX0pKGUudHlwZSksZS50eXBlKXtjYXNlIGdvb2dsZS5pbWEuQWRFdmVudC5UeXBlLkxPQURFRDp0aGlzLnRyaWdnZXIoImxvYWRlZCIpLHRoaXMucG9sbENvdW50ZG93bighMCksaS5pc0xpbmVhcigpfHwoaS53aWR0aD10Lm9mZnNldFdpZHRoLGkuaGVpZ2h0PXQub2Zmc2V0SGVpZ2h0KTticmVhaztjYXNlIGdvb2dsZS5pbWEuQWRFdmVudC5UeXBlLlNUQVJURUQ6dGhpcy5tYW5hZ2VyLnNldFZvbHVtZSh0aGlzLnBsYXllci52b2x1bWUpO2JyZWFrO2Nhc2UgZ29vZ2xlLmltYS5BZEV2ZW50LlR5cGUuQUxMX0FEU19DT01QTEVURUQ6dGhpcy5wbGF5ZXIuZW5kZWQ/dGhpcy5sb2FkQWRzKCk6dGhpcy5sb2FkZXIuY29udGVudENvbXBsZXRlKCk7YnJlYWs7Y2FzZSBnb29nbGUuaW1hLkFkRXZlbnQuVHlwZS5DT05URU5UX1BBVVNFX1JFUVVFU1RFRDp0aGlzLnBhdXNlQ29udGVudCgpO2JyZWFrO2Nhc2UgZ29vZ2xlLmltYS5BZEV2ZW50LlR5cGUuQ09OVEVOVF9SRVNVTUVfUkVRVUVTVEVEOnRoaXMucG9sbENvdW50ZG93bigpLHRoaXMucmVzdW1lQ29udGVudCgpO2JyZWFrO2Nhc2UgZ29vZ2xlLmltYS5BZEV2ZW50LlR5cGUuTE9HOm4uYWRFcnJvciYmdGhpcy5wbGF5ZXIuZGVidWcud2FybihgTm9uLWZhdGFsIGFkIGVycm9yOiAke24uYWRFcnJvci5nZXRNZXNzYWdlKCl9YCl9fSkpLGUodGhpcywib25BZEVycm9yIiwoZT0+e3RoaXMuY2FuY2VsKCksdGhpcy5wbGF5ZXIuZGVidWcud2FybigiQWRzIGVycm9yIixlKX0pKSxlKHRoaXMsImxpc3RlbmVycyIsKCgpPT57Y29uc3R7Y29udGFpbmVyOmV9PXRoaXMucGxheWVyLmVsZW1lbnRzO2xldCB0O3RoaXMucGxheWVyLm9uKCJjYW5wbGF5IiwoKCk9Pnt0aGlzLmFkZEN1ZVBvaW50cygpfSkpLHRoaXMucGxheWVyLm9uKCJlbmRlZCIsKCgpPT57dGhpcy5sb2FkZXIuY29udGVudENvbXBsZXRlKCl9KSksdGhpcy5wbGF5ZXIub24oInRpbWV1cGRhdGUiLCgoKT0+e3Q9dGhpcy5wbGF5ZXIuY3VycmVudFRpbWV9KSksdGhpcy5wbGF5ZXIub24oInNlZWtlZCIsKCgpPT57Y29uc3QgZT10aGlzLnBsYXllci5jdXJyZW50VGltZTtLKHRoaXMuY3VlUG9pbnRzKXx8dGhpcy5jdWVQb2ludHMuZm9yRWFjaCgoKGksbik9Pnt0PGkmJmk8ZSYmKHRoaXMubWFuYWdlci5kaXNjYXJkQWRCcmVhaygpLHRoaXMuY3VlUG9pbnRzLnNwbGljZShuLDEpKX0pKX0pKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwoKCk9Pnt0aGlzLm1hbmFnZXImJnRoaXMubWFuYWdlci5yZXNpemUoZS5vZmZzZXRXaWR0aCxlLm9mZnNldEhlaWdodCxnb29nbGUuaW1hLlZpZXdNb2RlLk5PUk1BTCl9KSl9KSksZSh0aGlzLCJwbGF5IiwoKCk9Pntjb25zdHtjb250YWluZXI6ZX09dGhpcy5wbGF5ZXIuZWxlbWVudHM7dGhpcy5tYW5hZ2VyUHJvbWlzZXx8dGhpcy5yZXN1bWVDb250ZW50KCksdGhpcy5tYW5hZ2VyUHJvbWlzZS50aGVuKCgoKT0+e3RoaXMubWFuYWdlci5zZXRWb2x1bWUodGhpcy5wbGF5ZXIudm9sdW1lKSx0aGlzLmVsZW1lbnRzLmRpc3BsYXlDb250YWluZXIuaW5pdGlhbGl6ZSgpO3RyeXt0aGlzLmluaXRpYWxpemVkfHwodGhpcy5tYW5hZ2VyLmluaXQoZS5vZmZzZXRXaWR0aCxlLm9mZnNldEhlaWdodCxnb29nbGUuaW1hLlZpZXdNb2RlLk5PUk1BTCksdGhpcy5tYW5hZ2VyLnN0YXJ0KCkpLHRoaXMuaW5pdGlhbGl6ZWQ9ITB9Y2F0Y2goZSl7dGhpcy5vbkFkRXJyb3IoZSl9fSkpLmNhdGNoKCgoKT0+e30pKX0pKSxlKHRoaXMsInJlc3VtZUNvbnRlbnQiLCgoKT0+e3RoaXMuZWxlbWVudHMuY29udGFpbmVyLnN0eWxlLnpJbmRleD0iIix0aGlzLnBsYXlpbmc9ITEsQ2UodGhpcy5wbGF5ZXIubWVkaWEucGxheSgpKX0pKSxlKHRoaXMsInBhdXNlQ29udGVudCIsKCgpPT57dGhpcy5lbGVtZW50cy5jb250YWluZXIuc3R5bGUuekluZGV4PTMsdGhpcy5wbGF5aW5nPSEwLHRoaXMucGxheWVyLm1lZGlhLnBhdXNlKCl9KSksZSh0aGlzLCJjYW5jZWwiLCgoKT0+e3RoaXMuaW5pdGlhbGl6ZWQmJnRoaXMucmVzdW1lQ29udGVudCgpLHRoaXMudHJpZ2dlcigiZXJyb3IiKSx0aGlzLmxvYWRBZHMoKX0pKSxlKHRoaXMsImxvYWRBZHMiLCgoKT0+e3RoaXMubWFuYWdlclByb21pc2UudGhlbigoKCk9Pnt0aGlzLm1hbmFnZXImJnRoaXMubWFuYWdlci5kZXN0cm95KCksdGhpcy5tYW5hZ2VyUHJvbWlzZT1uZXcgUHJvbWlzZSgoZT0+e3RoaXMub24oImxvYWRlZCIsZSksdGhpcy5wbGF5ZXIuZGVidWcubG9nKHRoaXMubWFuYWdlcil9KSksdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLnJlcXVlc3RBZHMoKX0pKS5jYXRjaCgoKCk9Pnt9KSl9KSksZSh0aGlzLCJ0cmlnZ2VyIiwoKGUsLi4udCk9Pntjb25zdCBpPXRoaXMuZXZlbnRzW2VdO1YoaSkmJmkuZm9yRWFjaCgoZT0+e0YoZSkmJmUuYXBwbHkodGhpcyx0KX0pKX0pKSxlKHRoaXMsIm9uIiwoKGUsdCk9PihWKHRoaXMuZXZlbnRzW2VdKXx8KHRoaXMuZXZlbnRzW2VdPVtdKSx0aGlzLmV2ZW50c1tlXS5wdXNoKHQpLHRoaXMpKSksZSh0aGlzLCJzdGFydFNhZmV0eVRpbWVyIiwoKGUsdCk9Pnt0aGlzLnBsYXllci5kZWJ1Zy5sb2coYFNhZmV0eSB0aW1lciBpbnZva2VkIGZyb206ICR7dH1gKSx0aGlzLnNhZmV0eVRpbWVyPXNldFRpbWVvdXQoKCgpPT57dGhpcy5jYW5jZWwoKSx0aGlzLmNsZWFyU2FmZXR5VGltZXIoInN0YXJ0U2FmZXR5VGltZXIoKSIpfSksZSl9KSksZSh0aGlzLCJjbGVhclNhZmV0eVRpbWVyIiwoZT0+e1AodGhpcy5zYWZldHlUaW1lcil8fCh0aGlzLnBsYXllci5kZWJ1Zy5sb2coYFNhZmV0eSB0aW1lciBjbGVhcmVkIGZyb206ICR7ZX1gKSxjbGVhclRpbWVvdXQodGhpcy5zYWZldHlUaW1lciksdGhpcy5zYWZldHlUaW1lcj1udWxsKX0pKSx0aGlzLnBsYXllcj10LHRoaXMuY29uZmlnPXQuY29uZmlnLmFkcyx0aGlzLnBsYXlpbmc9ITEsdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLmVsZW1lbnRzPXtjb250YWluZXI6bnVsbCxkaXNwbGF5Q29udGFpbmVyOm51bGx9LHRoaXMubWFuYWdlcj1udWxsLHRoaXMubG9hZGVyPW51bGwsdGhpcy5jdWVQb2ludHM9bnVsbCx0aGlzLmV2ZW50cz17fSx0aGlzLnNhZmV0eVRpbWVyPW51bGwsdGhpcy5jb3VudGRvd25UaW1lcj1udWxsLHRoaXMubWFuYWdlclByb21pc2U9bmV3IFByb21pc2UoKChlLHQpPT57dGhpcy5vbigibG9hZGVkIixlKSx0aGlzLm9uKCJlcnJvciIsdCl9KSksdGhpcy5sb2FkKCl9Z2V0IGVuYWJsZWQoKXtjb25zdHtjb25maWc6ZX09dGhpcztyZXR1cm4gdGhpcy5wbGF5ZXIuaXNIVE1MNSYmdGhpcy5wbGF5ZXIuaXNWaWRlbyYmZS5lbmFibGVkJiYoIUsoZS5wdWJsaXNoZXJJZCl8fEcoZS50YWdVcmwpKX1nZXQgdGFnVXJsKCl7Y29uc3R7Y29uZmlnOmV9PXRoaXM7cmV0dXJuIEcoZS50YWdVcmwpP2UudGFnVXJsOmBodHRwczovL2dvLmFuaXZpZXcuY29tL2FwaS9hZHNlcnZlcjYvdmFzdC8/JHt6ZSh7QVZfUFVCTElTSEVSSUQ6IjU4YzI1YmIwMDczZWY0NDhiMTA4N2FkNiIsQVZfQ0hBTk5FTElEOiI1YTA0NThkYzI4YTA2MTQ1ZTQ1MTlkMjEiLEFWX1VSTDp3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsY2I6RGF0ZS5ub3coKSxBVl9XSURUSDo2NDAsQVZfSEVJR0hUOjQ4MCxBVl9DRElNMjplLnB1Ymxpc2hlcklkfSl9YH19Y29uc3QgeXQ9ZT0+e2NvbnN0IHQ9W107cmV0dXJuIGUuc3BsaXQoL1xyXG5cclxufFxuXG58XHJcci8pLmZvckVhY2goKGU9Pntjb25zdCBpPXt9O2Uuc3BsaXQoL1xyXG58XG58XHIvKS5mb3JFYWNoKChlPT57aWYoTShpLnN0YXJ0VGltZSkpe2lmKCFLKGUudHJpbSgpKSYmSyhpLnRleHQpKXtjb25zdCB0PWUudHJpbSgpLnNwbGl0KCIjeHl3aD0iKTtbaS50ZXh0XT10LHRbMV0mJihbaS54LGkueSxpLncsaS5oXT10WzFdLnNwbGl0KCIsIikpfX1lbHNle2NvbnN0IHQ9ZS5tYXRjaCgvKFswLTldezJ9KT86PyhbMC05XXsyfSk6KFswLTldezJ9KS4oWzAtOV17MiwzfSkoID8tLT4gPykoWzAtOV17Mn0pPzo/KFswLTldezJ9KTooWzAtOV17Mn0pLihbMC05XXsyLDN9KS8pO3QmJihpLnN0YXJ0VGltZT02MCpOdW1iZXIodFsxXXx8MCkqNjArNjAqTnVtYmVyKHRbMl0pK051bWJlcih0WzNdKStOdW1iZXIoYDAuJHt0WzRdfWApLGkuZW5kVGltZT02MCpOdW1iZXIodFs2XXx8MCkqNjArNjAqTnVtYmVyKHRbN10pK051bWJlcih0WzhdKStOdW1iZXIoYDAuJHt0WzldfWApKX19KSksaS50ZXh0JiZ0LnB1c2goaSl9KSksdH0sdnQ9KGUsdCk9Pntjb25zdCBpPXt9O3JldHVybiBlPnQud2lkdGgvdC5oZWlnaHQ/KGkud2lkdGg9dC53aWR0aCxpLmhlaWdodD0xL2UqdC53aWR0aCk6KGkuaGVpZ2h0PXQuaGVpZ2h0LGkud2lkdGg9ZSp0LmhlaWdodCksaX07Y2xhc3MgYnR7Y29uc3RydWN0b3IodCl7ZSh0aGlzLCJsb2FkIiwoKCk9Pnt0aGlzLnBsYXllci5lbGVtZW50cy5kaXNwbGF5LnNlZWtUb29sdGlwJiYodGhpcy5wbGF5ZXIuZWxlbWVudHMuZGlzcGxheS5zZWVrVG9vbHRpcC5oaWRkZW49dGhpcy5lbmFibGVkKSx0aGlzLmVuYWJsZWQmJnRoaXMuZ2V0VGh1bWJuYWlscygpLnRoZW4oKCgpPT57dGhpcy5lbmFibGVkJiYodGhpcy5yZW5kZXIoKSx0aGlzLmRldGVybWluZUNvbnRhaW5lckF1dG9TaXppbmcoKSx0aGlzLmxvYWRlZD0hMCl9KSl9KSksZSh0aGlzLCJnZXRUaHVtYm5haWxzIiwoKCk9Pm5ldyBQcm9taXNlKChlPT57Y29uc3R7c3JjOnR9PXRoaXMucGxheWVyLmNvbmZpZy5wcmV2aWV3VGh1bWJuYWlscztpZihLKHQpKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBwcmV2aWV3VGh1bWJuYWlscy5zcmMgY29uZmlnIGF0dHJpYnV0ZSIpO2NvbnN0IGk9KCk9Pnt0aGlzLnRodW1ibmFpbHMuc29ydCgoKGUsdCk9PmUuaGVpZ2h0LXQuaGVpZ2h0KSksdGhpcy5wbGF5ZXIuZGVidWcubG9nKCJQcmV2aWV3IHRodW1ibmFpbHMiLHRoaXMudGh1bWJuYWlscyksZSgpfTtpZihGKHQpKXQoKGU9Pnt0aGlzLnRodW1ibmFpbHM9ZSxpKCl9KSk7ZWxzZXtjb25zdCBlPShEKHQpP1t0XTp0KS5tYXAoKGU9PnRoaXMuZ2V0VGh1bWJuYWlsKGUpKSk7UHJvbWlzZS5hbGwoZSkudGhlbihpKX19KSkpKSxlKHRoaXMsImdldFRodW1ibmFpbCIsKGU9Pm5ldyBQcm9taXNlKCh0PT57QmUoZSkudGhlbigoaT0+e2NvbnN0IG49e2ZyYW1lczp5dChpKSxoZWlnaHQ6bnVsbCx1cmxQcmVmaXg6IiJ9O24uZnJhbWVzWzBdLnRleHQuc3RhcnRzV2l0aCgiLyIpfHxuLmZyYW1lc1swXS50ZXh0LnN0YXJ0c1dpdGgoImh0dHA6Ly8iKXx8bi5mcmFtZXNbMF0udGV4dC5zdGFydHNXaXRoKCJodHRwczovLyIpfHwobi51cmxQcmVmaXg9ZS5zdWJzdHJpbmcoMCxlLmxhc3RJbmRleE9mKCIvIikrMSkpO2NvbnN0IHM9bmV3IEltYWdlO3Mub25sb2FkPSgpPT57bi5oZWlnaHQ9cy5uYXR1cmFsSGVpZ2h0LG4ud2lkdGg9cy5uYXR1cmFsV2lkdGgsdGhpcy50aHVtYm5haWxzLnB1c2gobiksdCgpfSxzLnNyYz1uLnVybFByZWZpeCtuLmZyYW1lc1swXS50ZXh0fSkpfSkpKSksZSh0aGlzLCJzdGFydE1vdmUiLChlPT57aWYodGhpcy5sb2FkZWQmJiQoZSkmJlsidG91Y2htb3ZlIiwibW91c2Vtb3ZlIl0uaW5jbHVkZXMoZS50eXBlKSYmdGhpcy5wbGF5ZXIubWVkaWEuZHVyYXRpb24pe2lmKCJ0b3VjaG1vdmUiPT09ZS50eXBlKXRoaXMuc2Vla1RpbWU9dGhpcy5wbGF5ZXIubWVkaWEuZHVyYXRpb24qKHRoaXMucGxheWVyLmVsZW1lbnRzLmlucHV0cy5zZWVrLnZhbHVlLzEwMCk7ZWxzZXtjb25zdCB0PXRoaXMucGxheWVyLmVsZW1lbnRzLnByb2dyZXNzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9MTAwL3Qud2lkdGgqKGUucGFnZVgtdC5sZWZ0KTt0aGlzLnNlZWtUaW1lPXRoaXMucGxheWVyLm1lZGlhLmR1cmF0aW9uKihpLzEwMCksdGhpcy5zZWVrVGltZTwwJiYodGhpcy5zZWVrVGltZT0wKSx0aGlzLnNlZWtUaW1lPnRoaXMucGxheWVyLm1lZGlhLmR1cmF0aW9uLTEmJih0aGlzLnNlZWtUaW1lPXRoaXMucGxheWVyLm1lZGlhLmR1cmF0aW9uLTEpLHRoaXMubW91c2VQb3NYPWUucGFnZVgsdGhpcy5lbGVtZW50cy50aHVtYi50aW1lLmlubmVyVGV4dD1HZSh0aGlzLnNlZWtUaW1lKX10aGlzLnNob3dJbWFnZUF0Q3VycmVudFRpbWUoKX19KSksZSh0aGlzLCJlbmRNb3ZlIiwoKCk9Pnt0aGlzLnRvZ2dsZVRodW1iQ29udGFpbmVyKCExLCEwKX0pKSxlKHRoaXMsInN0YXJ0U2NydWJiaW5nIiwoZT0+eyhQKGUuYnV0dG9uKXx8ITE9PT1lLmJ1dHRvbnx8MD09PWUuYnV0dG9uKSYmKHRoaXMubW91c2VEb3duPSEwLHRoaXMucGxheWVyLm1lZGlhLmR1cmF0aW9uJiYodGhpcy50b2dnbGVTY3J1YmJpbmdDb250YWluZXIoITApLHRoaXMudG9nZ2xlVGh1bWJDb250YWluZXIoITEsITApLHRoaXMuc2hvd0ltYWdlQXRDdXJyZW50VGltZSgpKSl9KSksZSh0aGlzLCJlbmRTY3J1YmJpbmciLCgoKT0+e3RoaXMubW91c2VEb3duPSExLE1hdGguY2VpbCh0aGlzLmxhc3RUaW1lKT09PU1hdGguY2VpbCh0aGlzLnBsYXllci5tZWRpYS5jdXJyZW50VGltZSk/dGhpcy50b2dnbGVTY3J1YmJpbmdDb250YWluZXIoITEpOmJlLmNhbGwodGhpcy5wbGF5ZXIsdGhpcy5wbGF5ZXIubWVkaWEsInRpbWV1cGRhdGUiLCgoKT0+e3RoaXMubW91c2VEb3dufHx0aGlzLnRvZ2dsZVNjcnViYmluZ0NvbnRhaW5lcighMSl9KSl9KSksZSh0aGlzLCJsaXN0ZW5lcnMiLCgoKT0+e3RoaXMucGxheWVyLm9uKCJwbGF5IiwoKCk9Pnt0aGlzLnRvZ2dsZVRodW1iQ29udGFpbmVyKCExLCEwKX0pKSx0aGlzLnBsYXllci5vbigic2Vla2VkIiwoKCk9Pnt0aGlzLnRvZ2dsZVRodW1iQ29udGFpbmVyKCExKX0pKSx0aGlzLnBsYXllci5vbigidGltZXVwZGF0ZSIsKCgpPT57dGhpcy5sYXN0VGltZT10aGlzLnBsYXllci5tZWRpYS5jdXJyZW50VGltZX0pKX0pKSxlKHRoaXMsInJlbmRlciIsKCgpPT57dGhpcy5lbGVtZW50cy50aHVtYi5jb250YWluZXI9ZWUoImRpdiIse2NsYXNzOnRoaXMucGxheWVyLmNvbmZpZy5jbGFzc05hbWVzLnByZXZpZXdUaHVtYm5haWxzLnRodW1iQ29udGFpbmVyfSksdGhpcy5lbGVtZW50cy50aHVtYi5pbWFnZUNvbnRhaW5lcj1lZSgiZGl2Iix7Y2xhc3M6dGhpcy5wbGF5ZXIuY29uZmlnLmNsYXNzTmFtZXMucHJldmlld1RodW1ibmFpbHMuaW1hZ2VDb250YWluZXJ9KSx0aGlzLmVsZW1lbnRzLnRodW1iLmNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnRzLnRodW1iLmltYWdlQ29udGFpbmVyKTtjb25zdCBlPWVlKCJkaXYiLHtjbGFzczp0aGlzLnBsYXllci5jb25maWcuY2xhc3NOYW1lcy5wcmV2aWV3VGh1bWJuYWlscy50aW1lQ29udGFpbmVyfSk7dGhpcy5lbGVtZW50cy50aHVtYi50aW1lPWVlKCJzcGFuIix7fSwiMDA6MDAiKSxlLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudHMudGh1bWIudGltZSksdGhpcy5lbGVtZW50cy50aHVtYi5jb250YWluZXIuYXBwZW5kQ2hpbGQoZSksSCh0aGlzLnBsYXllci5lbGVtZW50cy5wcm9ncmVzcykmJnRoaXMucGxheWVyLmVsZW1lbnRzLnByb2dyZXNzLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudHMudGh1bWIuY29udGFpbmVyKSx0aGlzLmVsZW1lbnRzLnNjcnViYmluZy5jb250YWluZXI9ZWUoImRpdiIse2NsYXNzOnRoaXMucGxheWVyLmNvbmZpZy5jbGFzc05hbWVzLnByZXZpZXdUaHVtYm5haWxzLnNjcnViYmluZ0NvbnRhaW5lcn0pLHRoaXMucGxheWVyLmVsZW1lbnRzLndyYXBwZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50cy5zY3J1YmJpbmcuY29udGFpbmVyKX0pKSxlKHRoaXMsImRlc3Ryb3kiLCgoKT0+e3RoaXMuZWxlbWVudHMudGh1bWIuY29udGFpbmVyJiZ0aGlzLmVsZW1lbnRzLnRodW1iLmNvbnRhaW5lci5yZW1vdmUoKSx0aGlzLmVsZW1lbnRzLnNjcnViYmluZy5jb250YWluZXImJnRoaXMuZWxlbWVudHMuc2NydWJiaW5nLmNvbnRhaW5lci5yZW1vdmUoKX0pKSxlKHRoaXMsInNob3dJbWFnZUF0Q3VycmVudFRpbWUiLCgoKT0+e3RoaXMubW91c2VEb3duP3RoaXMuc2V0U2NydWJiaW5nQ29udGFpbmVyU2l6ZSgpOnRoaXMuc2V0VGh1bWJDb250YWluZXJTaXplQW5kUG9zKCk7Y29uc3QgZT10aGlzLnRodW1ibmFpbHNbMF0uZnJhbWVzLmZpbmRJbmRleCgoZT0+dGhpcy5zZWVrVGltZT49ZS5zdGFydFRpbWUmJnRoaXMuc2Vla1RpbWU8PWUuZW5kVGltZSkpLHQ9ZT49MDtsZXQgaT0wO3RoaXMubW91c2VEb3dufHx0aGlzLnRvZ2dsZVRodW1iQ29udGFpbmVyKHQpLHQmJih0aGlzLnRodW1ibmFpbHMuZm9yRWFjaCgoKHQsbik9Pnt0aGlzLmxvYWRlZEltYWdlcy5pbmNsdWRlcyh0LmZyYW1lc1tlXS50ZXh0KSYmKGk9bil9KSksZSE9PXRoaXMuc2hvd2luZ1RodW1iJiYodGhpcy5zaG93aW5nVGh1bWI9ZSx0aGlzLmxvYWRJbWFnZShpKSkpfSkpLGUodGhpcywibG9hZEltYWdlIiwoKGU9MCk9Pntjb25zdCB0PXRoaXMuc2hvd2luZ1RodW1iLGk9dGhpcy50aHVtYm5haWxzW2VdLHt1cmxQcmVmaXg6bn09aSxzPWkuZnJhbWVzW3RdLG89aS5mcmFtZXNbdF0udGV4dCxyPW4rbztpZih0aGlzLmN1cnJlbnRJbWFnZUVsZW1lbnQmJnRoaXMuY3VycmVudEltYWdlRWxlbWVudC5kYXRhc2V0LmZpbGVuYW1lPT09byl0aGlzLnNob3dJbWFnZSh0aGlzLmN1cnJlbnRJbWFnZUVsZW1lbnQscyxlLHQsbywhMSksdGhpcy5jdXJyZW50SW1hZ2VFbGVtZW50LmRhdGFzZXQuaW5kZXg9dCx0aGlzLnJlbW92ZU9sZEltYWdlcyh0aGlzLmN1cnJlbnRJbWFnZUVsZW1lbnQpO2Vsc2V7dGhpcy5sb2FkaW5nSW1hZ2UmJnRoaXMudXNpbmdTcHJpdGVzJiYodGhpcy5sb2FkaW5nSW1hZ2Uub25sb2FkPW51bGwpO2NvbnN0IGk9bmV3IEltYWdlO2kuc3JjPXIsaS5kYXRhc2V0LmluZGV4PXQsaS5kYXRhc2V0LmZpbGVuYW1lPW8sdGhpcy5zaG93aW5nVGh1bWJGaWxlbmFtZT1vLHRoaXMucGxheWVyLmRlYnVnLmxvZyhgTG9hZGluZyBpbWFnZTogJHtyfWApLGkub25sb2FkPSgpPT50aGlzLnNob3dJbWFnZShpLHMsZSx0LG8sITApLHRoaXMubG9hZGluZ0ltYWdlPWksdGhpcy5yZW1vdmVPbGRJbWFnZXMoaSl9fSkpLGUodGhpcywic2hvd0ltYWdlIiwoKGUsdCxpLG4scyxvPSEwKT0+e3RoaXMucGxheWVyLmRlYnVnLmxvZyhgU2hvd2luZyB0aHVtYjogJHtzfS4gbnVtOiAke259LiBxdWFsOiAke2l9LiBuZXdpbWc6ICR7b31gKSx0aGlzLnNldEltYWdlU2l6ZUFuZE9mZnNldChlLHQpLG8mJih0aGlzLmN1cnJlbnRJbWFnZUNvbnRhaW5lci5hcHBlbmRDaGlsZChlKSx0aGlzLmN1cnJlbnRJbWFnZUVsZW1lbnQ9ZSx0aGlzLmxvYWRlZEltYWdlcy5pbmNsdWRlcyhzKXx8dGhpcy5sb2FkZWRJbWFnZXMucHVzaChzKSksdGhpcy5wcmVsb2FkTmVhcmJ5KG4sITApLnRoZW4odGhpcy5wcmVsb2FkTmVhcmJ5KG4sITEpKS50aGVuKHRoaXMuZ2V0SGlnaGVyUXVhbGl0eShpLGUsdCxzKSl9KSksZSh0aGlzLCJyZW1vdmVPbGRJbWFnZXMiLChlPT57QXJyYXkuZnJvbSh0aGlzLmN1cnJlbnRJbWFnZUNvbnRhaW5lci5jaGlsZHJlbikuZm9yRWFjaCgodD0+e2lmKCJpbWciIT09dC50YWdOYW1lLnRvTG93ZXJDYXNlKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy51c2luZ1Nwcml0ZXM/NTAwOjFlMztpZih0LmRhdGFzZXQuaW5kZXghPT1lLmRhdGFzZXQuaW5kZXgmJiF0LmRhdGFzZXQuZGVsZXRpbmcpe3QuZGF0YXNldC5kZWxldGluZz0hMDtjb25zdHtjdXJyZW50SW1hZ2VDb250YWluZXI6ZX09dGhpcztzZXRUaW1lb3V0KCgoKT0+e2UucmVtb3ZlQ2hpbGQodCksdGhpcy5wbGF5ZXIuZGVidWcubG9nKGBSZW1vdmluZyB0aHVtYjogJHt0LmRhdGFzZXQuZmlsZW5hbWV9YCl9KSxpKX19KSl9KSksZSh0aGlzLCJwcmVsb2FkTmVhcmJ5IiwoKGUsdD0hMCk9Pm5ldyBQcm9taXNlKChpPT57c2V0VGltZW91dCgoKCk9Pntjb25zdCBuPXRoaXMudGh1bWJuYWlsc1swXS5mcmFtZXNbZV0udGV4dDtpZih0aGlzLnNob3dpbmdUaHVtYkZpbGVuYW1lPT09bil7bGV0IHM7cz10P3RoaXMudGh1bWJuYWlsc1swXS5mcmFtZXMuc2xpY2UoZSk6dGhpcy50aHVtYm5haWxzWzBdLmZyYW1lcy5zbGljZSgwLGUpLnJldmVyc2UoKTtsZXQgbz0hMTtzLmZvckVhY2goKGU9Pntjb25zdCB0PWUudGV4dDtpZih0IT09biYmIXRoaXMubG9hZGVkSW1hZ2VzLmluY2x1ZGVzKHQpKXtvPSEwLHRoaXMucGxheWVyLmRlYnVnLmxvZyhgUHJlbG9hZGluZyB0aHVtYiBmaWxlbmFtZTogJHt0fWApO2NvbnN0e3VybFByZWZpeDplfT10aGlzLnRodW1ibmFpbHNbMF0sbj1lK3Qscz1uZXcgSW1hZ2U7cy5zcmM9bixzLm9ubG9hZD0oKT0+e3RoaXMucGxheWVyLmRlYnVnLmxvZyhgUHJlbG9hZGVkIHRodW1iIGZpbGVuYW1lOiAke3R9YCksdGhpcy5sb2FkZWRJbWFnZXMuaW5jbHVkZXModCl8fHRoaXMubG9hZGVkSW1hZ2VzLnB1c2godCksaSgpfX19KSksb3x8aSgpfX0pLDMwMCl9KSkpKSxlKHRoaXMsImdldEhpZ2hlclF1YWxpdHkiLCgoZSx0LGksbik9PntpZihlPHRoaXMudGh1bWJuYWlscy5sZW5ndGgtMSl7bGV0IHM9dC5uYXR1cmFsSGVpZ2h0O3RoaXMudXNpbmdTcHJpdGVzJiYocz1pLmgpLHM8dGhpcy50aHVtYkNvbnRhaW5lckhlaWdodCYmc2V0VGltZW91dCgoKCk9Pnt0aGlzLnNob3dpbmdUaHVtYkZpbGVuYW1lPT09biYmKHRoaXMucGxheWVyLmRlYnVnLmxvZyhgU2hvd2luZyBoaWdoZXIgcXVhbGl0eSB0aHVtYiBmb3I6ICR7bn1gKSx0aGlzLmxvYWRJbWFnZShlKzEpKX0pLDMwMCl9fSkpLGUodGhpcywidG9nZ2xlVGh1bWJDb250YWluZXIiLCgoZT0hMSx0PSExKT0+e2NvbnN0IGk9dGhpcy5wbGF5ZXIuY29uZmlnLmNsYXNzTmFtZXMucHJldmlld1RodW1ibmFpbHMudGh1bWJDb250YWluZXJTaG93bjt0aGlzLmVsZW1lbnRzLnRodW1iLmNvbnRhaW5lci5jbGFzc0xpc3QudG9nZ2xlKGksZSksIWUmJnQmJih0aGlzLnNob3dpbmdUaHVtYj1udWxsLHRoaXMuc2hvd2luZ1RodW1iRmlsZW5hbWU9bnVsbCl9KSksZSh0aGlzLCJ0b2dnbGVTY3J1YmJpbmdDb250YWluZXIiLCgoZT0hMSk9Pntjb25zdCB0PXRoaXMucGxheWVyLmNvbmZpZy5jbGFzc05hbWVzLnByZXZpZXdUaHVtYm5haWxzLnNjcnViYmluZ0NvbnRhaW5lclNob3duO3RoaXMuZWxlbWVudHMuc2NydWJiaW5nLmNvbnRhaW5lci5jbGFzc0xpc3QudG9nZ2xlKHQsZSksZXx8KHRoaXMuc2hvd2luZ1RodW1iPW51bGwsdGhpcy5zaG93aW5nVGh1bWJGaWxlbmFtZT1udWxsKX0pKSxlKHRoaXMsImRldGVybWluZUNvbnRhaW5lckF1dG9TaXppbmciLCgoKT0+eyh0aGlzLmVsZW1lbnRzLnRodW1iLmltYWdlQ29udGFpbmVyLmNsaWVudEhlaWdodD4yMHx8dGhpcy5lbGVtZW50cy50aHVtYi5pbWFnZUNvbnRhaW5lci5jbGllbnRXaWR0aD4yMCkmJih0aGlzLnNpemVTcGVjaWZpZWRJbkNTUz0hMCl9KSksZSh0aGlzLCJzZXRUaHVtYkNvbnRhaW5lclNpemVBbmRQb3MiLCgoKT0+e2lmKHRoaXMuc2l6ZVNwZWNpZmllZEluQ1NTKXtpZih0aGlzLmVsZW1lbnRzLnRodW1iLmltYWdlQ29udGFpbmVyLmNsaWVudEhlaWdodD4yMCYmdGhpcy5lbGVtZW50cy50aHVtYi5pbWFnZUNvbnRhaW5lci5jbGllbnRXaWR0aDwyMCl7Y29uc3QgZT1NYXRoLmZsb29yKHRoaXMuZWxlbWVudHMudGh1bWIuaW1hZ2VDb250YWluZXIuY2xpZW50SGVpZ2h0KnRoaXMudGh1bWJBc3BlY3RSYXRpbyk7dGhpcy5lbGVtZW50cy50aHVtYi5pbWFnZUNvbnRhaW5lci5zdHlsZS53aWR0aD1gJHtlfXB4YH1lbHNlIGlmKHRoaXMuZWxlbWVudHMudGh1bWIuaW1hZ2VDb250YWluZXIuY2xpZW50SGVpZ2h0PDIwJiZ0aGlzLmVsZW1lbnRzLnRodW1iLmltYWdlQ29udGFpbmVyLmNsaWVudFdpZHRoPjIwKXtjb25zdCBlPU1hdGguZmxvb3IodGhpcy5lbGVtZW50cy50aHVtYi5pbWFnZUNvbnRhaW5lci5jbGllbnRXaWR0aC90aGlzLnRodW1iQXNwZWN0UmF0aW8pO3RoaXMuZWxlbWVudHMudGh1bWIuaW1hZ2VDb250YWluZXIuc3R5bGUuaGVpZ2h0PWAke2V9cHhgfX1lbHNle2NvbnN0IGU9TWF0aC5mbG9vcih0aGlzLnRodW1iQ29udGFpbmVySGVpZ2h0KnRoaXMudGh1bWJBc3BlY3RSYXRpbyk7dGhpcy5lbGVtZW50cy50aHVtYi5pbWFnZUNvbnRhaW5lci5zdHlsZS5oZWlnaHQ9YCR7dGhpcy50aHVtYkNvbnRhaW5lckhlaWdodH1weGAsdGhpcy5lbGVtZW50cy50aHVtYi5pbWFnZUNvbnRhaW5lci5zdHlsZS53aWR0aD1gJHtlfXB4YH10aGlzLnNldFRodW1iQ29udGFpbmVyUG9zKCl9KSksZSh0aGlzLCJzZXRUaHVtYkNvbnRhaW5lclBvcyIsKCgpPT57Y29uc3QgZT10aGlzLnBsYXllci5lbGVtZW50cy5wcm9ncmVzcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0PXRoaXMucGxheWVyLmVsZW1lbnRzLmNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx7Y29udGFpbmVyOml9PXRoaXMuZWxlbWVudHMudGh1bWIsbj10LmxlZnQtZS5sZWZ0KzEwLHM9dC5yaWdodC1lLmxlZnQtaS5jbGllbnRXaWR0aC0xMDtsZXQgbz10aGlzLm1vdXNlUG9zWC1lLmxlZnQtaS5jbGllbnRXaWR0aC8yO288biYmKG89biksbz5zJiYobz1zKSxpLnN0eWxlLmxlZnQ9YCR7b31weGB9KSksZSh0aGlzLCJzZXRTY3J1YmJpbmdDb250YWluZXJTaXplIiwoKCk9Pntjb25zdHt3aWR0aDplLGhlaWdodDp0fT12dCh0aGlzLnRodW1iQXNwZWN0UmF0aW8se3dpZHRoOnRoaXMucGxheWVyLm1lZGlhLmNsaWVudFdpZHRoLGhlaWdodDp0aGlzLnBsYXllci5tZWRpYS5jbGllbnRIZWlnaHR9KTt0aGlzLmVsZW1lbnRzLnNjcnViYmluZy5jb250YWluZXIuc3R5bGUud2lkdGg9YCR7ZX1weGAsdGhpcy5lbGVtZW50cy5zY3J1YmJpbmcuY29udGFpbmVyLnN0eWxlLmhlaWdodD1gJHt0fXB4YH0pKSxlKHRoaXMsInNldEltYWdlU2l6ZUFuZE9mZnNldCIsKChlLHQpPT57aWYoIXRoaXMudXNpbmdTcHJpdGVzKXJldHVybjtjb25zdCBpPXRoaXMudGh1bWJDb250YWluZXJIZWlnaHQvdC5oO2Uuc3R5bGUuaGVpZ2h0PWUubmF0dXJhbEhlaWdodCppKyJweCIsZS5zdHlsZS53aWR0aD1lLm5hdHVyYWxXaWR0aCppKyJweCIsZS5zdHlsZS5sZWZ0PWAtJHt0LngqaX1weGAsZS5zdHlsZS50b3A9YC0ke3QueSppfXB4YH0pKSx0aGlzLnBsYXllcj10LHRoaXMudGh1bWJuYWlscz1bXSx0aGlzLmxvYWRlZD0hMSx0aGlzLmxhc3RNb3VzZU1vdmVUaW1lPURhdGUubm93KCksdGhpcy5tb3VzZURvd249ITEsdGhpcy5sb2FkZWRJbWFnZXM9W10sdGhpcy5lbGVtZW50cz17dGh1bWI6e30sc2NydWJiaW5nOnt9fSx0aGlzLmxvYWQoKX1nZXQgZW5hYmxlZCgpe3JldHVybiB0aGlzLnBsYXllci5pc0hUTUw1JiZ0aGlzLnBsYXllci5pc1ZpZGVvJiZ0aGlzLnBsYXllci5jb25maWcucHJldmlld1RodW1ibmFpbHMuZW5hYmxlZH1nZXQgY3VycmVudEltYWdlQ29udGFpbmVyKCl7cmV0dXJuIHRoaXMubW91c2VEb3duP3RoaXMuZWxlbWVudHMuc2NydWJiaW5nLmNvbnRhaW5lcjp0aGlzLmVsZW1lbnRzLnRodW1iLmltYWdlQ29udGFpbmVyfWdldCB1c2luZ1Nwcml0ZXMoKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy50aHVtYm5haWxzWzBdLmZyYW1lc1swXSkuaW5jbHVkZXMoInciKX1nZXQgdGh1bWJBc3BlY3RSYXRpbygpe3JldHVybiB0aGlzLnVzaW5nU3ByaXRlcz90aGlzLnRodW1ibmFpbHNbMF0uZnJhbWVzWzBdLncvdGhpcy50aHVtYm5haWxzWzBdLmZyYW1lc1swXS5oOnRoaXMudGh1bWJuYWlsc1swXS53aWR0aC90aGlzLnRodW1ibmFpbHNbMF0uaGVpZ2h0fWdldCB0aHVtYkNvbnRhaW5lckhlaWdodCgpe2lmKHRoaXMubW91c2VEb3duKXtjb25zdHtoZWlnaHQ6ZX09dnQodGhpcy50aHVtYkFzcGVjdFJhdGlvLHt3aWR0aDp0aGlzLnBsYXllci5tZWRpYS5jbGllbnRXaWR0aCxoZWlnaHQ6dGhpcy5wbGF5ZXIubWVkaWEuY2xpZW50SGVpZ2h0fSk7cmV0dXJuIGV9cmV0dXJuIHRoaXMuc2l6ZVNwZWNpZmllZEluQ1NTP3RoaXMuZWxlbWVudHMudGh1bWIuaW1hZ2VDb250YWluZXIuY2xpZW50SGVpZ2h0Ok1hdGguZmxvb3IodGhpcy5wbGF5ZXIubWVkaWEuY2xpZW50V2lkdGgvdGhpcy50aHVtYkFzcGVjdFJhdGlvLzQpfWdldCBjdXJyZW50SW1hZ2VFbGVtZW50KCl7cmV0dXJuIHRoaXMubW91c2VEb3duP3RoaXMuY3VycmVudFNjcnViYmluZ0ltYWdlRWxlbWVudDp0aGlzLmN1cnJlbnRUaHVtYm5haWxJbWFnZUVsZW1lbnR9c2V0IGN1cnJlbnRJbWFnZUVsZW1lbnQoZSl7dGhpcy5tb3VzZURvd24/dGhpcy5jdXJyZW50U2NydWJiaW5nSW1hZ2VFbGVtZW50PWU6dGhpcy5jdXJyZW50VGh1bWJuYWlsSW1hZ2VFbGVtZW50PWV9fWNvbnN0IF90PXtpbnNlcnRFbGVtZW50cyhlLHQpe0QodCk/dGUoZSx0aGlzLm1lZGlhLHtzcmM6dH0pOlYodCkmJnQuZm9yRWFjaCgodD0+e3RlKGUsdGhpcy5tZWRpYSx0KX0pKX0sY2hhbmdlKGUpe1EoZSwic291cmNlcy5sZW5ndGgiKT8oTmUuY2FuY2VsUmVxdWVzdHMuY2FsbCh0aGlzKSx0aGlzLmRlc3Ryb3kuY2FsbCh0aGlzLCgoKT0+e3RoaXMub3B0aW9ucy5xdWFsaXR5PVtdLGllKHRoaXMubWVkaWEpLHRoaXMubWVkaWE9bnVsbCxIKHRoaXMuZWxlbWVudHMuY29udGFpbmVyKSYmdGhpcy5lbGVtZW50cy5jb250YWluZXIucmVtb3ZlQXR0cmlidXRlKCJjbGFzcyIpO2NvbnN0e3NvdXJjZXM6dCx0eXBlOml9PWUsW3twcm92aWRlcjpuPVplLmh0bWw1LHNyYzpzfV09dCxvPSJodG1sNSI9PT1uP2k6ImRpdiIscj0iaHRtbDUiPT09bj97fTp7c3JjOnN9O09iamVjdC5hc3NpZ24odGhpcyx7cHJvdmlkZXI6bix0eXBlOmksc3VwcG9ydGVkOmZlLmNoZWNrKGksbix0aGlzLmNvbmZpZy5wbGF5c2lubGluZSksbWVkaWE6ZWUobyxyKX0pLHRoaXMuZWxlbWVudHMuY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMubWVkaWEpLGooZS5hdXRvcGxheSkmJih0aGlzLmNvbmZpZy5hdXRvcGxheT1lLmF1dG9wbGF5KSx0aGlzLmlzSFRNTDUmJih0aGlzLmNvbmZpZy5jcm9zc29yaWdpbiYmdGhpcy5tZWRpYS5zZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIiwiIiksdGhpcy5jb25maWcuYXV0b3BsYXkmJnRoaXMubWVkaWEuc2V0QXR0cmlidXRlKCJhdXRvcGxheSIsIiIpLEsoZS5wb3N0ZXIpfHwodGhpcy5wb3N0ZXI9ZS5wb3N0ZXIpLHRoaXMuY29uZmlnLmxvb3AuYWN0aXZlJiZ0aGlzLm1lZGlhLnNldEF0dHJpYnV0ZSgibG9vcCIsIiIpLHRoaXMuY29uZmlnLm11dGVkJiZ0aGlzLm1lZGlhLnNldEF0dHJpYnV0ZSgibXV0ZWQiLCIiKSx0aGlzLmNvbmZpZy5wbGF5c2lubGluZSYmdGhpcy5tZWRpYS5zZXRBdHRyaWJ1dGUoInBsYXlzaW5saW5lIiwiIikpLHJ0LmFkZFN0eWxlSG9vay5jYWxsKHRoaXMpLHRoaXMuaXNIVE1MNSYmX3QuaW5zZXJ0RWxlbWVudHMuY2FsbCh0aGlzLCJzb3VyY2UiLHQpLHRoaXMuY29uZmlnLnRpdGxlPWUudGl0bGUsbXQuc2V0dXAuY2FsbCh0aGlzKSx0aGlzLmlzSFRNTDUmJk9iamVjdC5rZXlzKGUpLmluY2x1ZGVzKCJ0cmFja3MiKSYmX3QuaW5zZXJ0RWxlbWVudHMuY2FsbCh0aGlzLCJ0cmFjayIsZS50cmFja3MpLCh0aGlzLmlzSFRNTDV8fHRoaXMuaXNFbWJlZCYmIXRoaXMuc3VwcG9ydGVkLnVpKSYmcnQuYnVpbGQuY2FsbCh0aGlzKSx0aGlzLmlzSFRNTDUmJnRoaXMubWVkaWEubG9hZCgpLEsoZS5wcmV2aWV3VGh1bWJuYWlscyl8fChPYmplY3QuYXNzaWduKHRoaXMuY29uZmlnLnByZXZpZXdUaHVtYm5haWxzLGUucHJldmlld1RodW1ibmFpbHMpLHRoaXMucHJldmlld1RodW1ibmFpbHMmJnRoaXMucHJldmlld1RodW1ibmFpbHMubG9hZGVkJiYodGhpcy5wcmV2aWV3VGh1bWJuYWlscy5kZXN0cm95KCksdGhpcy5wcmV2aWV3VGh1bWJuYWlscz1udWxsKSx0aGlzLmNvbmZpZy5wcmV2aWV3VGh1bWJuYWlscy5lbmFibGVkJiYodGhpcy5wcmV2aWV3VGh1bWJuYWlscz1uZXcgYnQodGhpcykpKSx0aGlzLmZ1bGxzY3JlZW4udXBkYXRlKCl9KSwhMCkpOnRoaXMuZGVidWcud2FybigiSW52YWxpZCBzb3VyY2UgZm9ybWF0Iil9fTtjbGFzcyB3dHtjb25zdHJ1Y3Rvcih0LGkpe2lmKGUodGhpcywicGxheSIsKCgpPT5GKHRoaXMubWVkaWEucGxheSk/KHRoaXMuYWRzJiZ0aGlzLmFkcy5lbmFibGVkJiZ0aGlzLmFkcy5tYW5hZ2VyUHJvbWlzZS50aGVuKCgoKT0+dGhpcy5hZHMucGxheSgpKSkuY2F0Y2goKCgpPT5DZSh0aGlzLm1lZGlhLnBsYXkoKSkpKSx0aGlzLm1lZGlhLnBsYXkoKSk6bnVsbCkpLGUodGhpcywicGF1c2UiLCgoKT0+dGhpcy5wbGF5aW5nJiZGKHRoaXMubWVkaWEucGF1c2UpP3RoaXMubWVkaWEucGF1c2UoKTpudWxsKSksZSh0aGlzLCJ0b2dnbGVQbGF5IiwoZT0+KGooZSk/ZTohdGhpcy5wbGF5aW5nKT90aGlzLnBsYXkoKTp0aGlzLnBhdXNlKCkpKSxlKHRoaXMsInN0b3AiLCgoKT0+e3RoaXMuaXNIVE1MNT8odGhpcy5wYXVzZSgpLHRoaXMucmVzdGFydCgpKTpGKHRoaXMubWVkaWEuc3RvcCkmJnRoaXMubWVkaWEuc3RvcCgpfSkpLGUodGhpcywicmVzdGFydCIsKCgpPT57dGhpcy5jdXJyZW50VGltZT0wfSkpLGUodGhpcywicmV3aW5kIiwoZT0+e3RoaXMuY3VycmVudFRpbWUtPU0oZSk/ZTp0aGlzLmNvbmZpZy5zZWVrVGltZX0pKSxlKHRoaXMsImZvcndhcmQiLChlPT57dGhpcy5jdXJyZW50VGltZSs9TShlKT9lOnRoaXMuY29uZmlnLnNlZWtUaW1lfSkpLGUodGhpcywiaW5jcmVhc2VWb2x1bWUiLChlPT57Y29uc3QgdD10aGlzLm1lZGlhLm11dGVkPzA6dGhpcy52b2x1bWU7dGhpcy52b2x1bWU9dCsoTShlKT9lOjApfSkpLGUodGhpcywiZGVjcmVhc2VWb2x1bWUiLChlPT57dGhpcy5pbmNyZWFzZVZvbHVtZSgtZSl9KSksZSh0aGlzLCJhaXJwbGF5IiwoKCk9PntmZS5haXJwbGF5JiZ0aGlzLm1lZGlhLndlYmtpdFNob3dQbGF5YmFja1RhcmdldFBpY2tlcigpfSkpLGUodGhpcywidG9nZ2xlQ29udHJvbHMiLChlPT57aWYodGhpcy5zdXBwb3J0ZWQudWkmJiF0aGlzLmlzQXVkaW8pe2NvbnN0IHQ9bGUodGhpcy5lbGVtZW50cy5jb250YWluZXIsdGhpcy5jb25maWcuY2xhc3NOYW1lcy5oaWRlQ29udHJvbHMpLGk9dm9pZCAwPT09ZT92b2lkIDA6IWUsbj1hZSh0aGlzLmVsZW1lbnRzLmNvbnRhaW5lcix0aGlzLmNvbmZpZy5jbGFzc05hbWVzLmhpZGVDb250cm9scyxpKTtpZihuJiZWKHRoaXMuY29uZmlnLmNvbnRyb2xzKSYmdGhpcy5jb25maWcuY29udHJvbHMuaW5jbHVkZXMoInNldHRpbmdzIikmJiFLKHRoaXMuY29uZmlnLnNldHRpbmdzKSYmS2UudG9nZ2xlTWVudS5jYWxsKHRoaXMsITEpLG4hPT10KXtjb25zdCBlPW4/ImNvbnRyb2xzaGlkZGVuIjoiY29udHJvbHNzaG93biI7X2UuY2FsbCh0aGlzLHRoaXMubWVkaWEsZSl9cmV0dXJuIW59cmV0dXJuITF9KSksZSh0aGlzLCJvbiIsKChlLHQpPT57eWUuY2FsbCh0aGlzLHRoaXMuZWxlbWVudHMuY29udGFpbmVyLGUsdCl9KSksZSh0aGlzLCJvbmNlIiwoKGUsdCk9PntiZS5jYWxsKHRoaXMsdGhpcy5lbGVtZW50cy5jb250YWluZXIsZSx0KX0pKSxlKHRoaXMsIm9mZiIsKChlLHQpPT57dmUodGhpcy5lbGVtZW50cy5jb250YWluZXIsZSx0KX0pKSxlKHRoaXMsImRlc3Ryb3kiLCgoZSx0PSExKT0+e2lmKCF0aGlzLnJlYWR5KXJldHVybjtjb25zdCBpPSgpPT57ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iIix0aGlzLmVtYmVkPW51bGwsdD8oT2JqZWN0LmtleXModGhpcy5lbGVtZW50cykubGVuZ3RoJiYoaWUodGhpcy5lbGVtZW50cy5idXR0b25zLnBsYXkpLGllKHRoaXMuZWxlbWVudHMuY2FwdGlvbnMpLGllKHRoaXMuZWxlbWVudHMuY29udHJvbHMpLGllKHRoaXMuZWxlbWVudHMud3JhcHBlciksdGhpcy5lbGVtZW50cy5idXR0b25zLnBsYXk9bnVsbCx0aGlzLmVsZW1lbnRzLmNhcHRpb25zPW51bGwsdGhpcy5lbGVtZW50cy5jb250cm9scz1udWxsLHRoaXMuZWxlbWVudHMud3JhcHBlcj1udWxsKSxGKGUpJiZlKCkpOih3ZS5jYWxsKHRoaXMpLE5lLmNhbmNlbFJlcXVlc3RzLmNhbGwodGhpcyksc2UodGhpcy5lbGVtZW50cy5vcmlnaW5hbCx0aGlzLmVsZW1lbnRzLmNvbnRhaW5lciksX2UuY2FsbCh0aGlzLHRoaXMuZWxlbWVudHMub3JpZ2luYWwsImRlc3Ryb3llZCIsITApLEYoZSkmJmUuY2FsbCh0aGlzLmVsZW1lbnRzLm9yaWdpbmFsKSx0aGlzLnJlYWR5PSExLHNldFRpbWVvdXQoKCgpPT57dGhpcy5lbGVtZW50cz1udWxsLHRoaXMubWVkaWE9bnVsbH0pLDIwMCkpfTt0aGlzLnN0b3AoKSxjbGVhclRpbWVvdXQodGhpcy50aW1lcnMubG9hZGluZyksY2xlYXJUaW1lb3V0KHRoaXMudGltZXJzLmNvbnRyb2xzKSxjbGVhclRpbWVvdXQodGhpcy50aW1lcnMucmVzaXplZCksdGhpcy5pc0hUTUw1PyhydC50b2dnbGVOYXRpdmVDb250cm9scy5jYWxsKHRoaXMsITApLGkoKSk6dGhpcy5pc1lvdVR1YmU/KGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcnMuYnVmZmVyaW5nKSxjbGVhckludGVydmFsKHRoaXMudGltZXJzLnBsYXlpbmcpLG51bGwhPT10aGlzLmVtYmVkJiZGKHRoaXMuZW1iZWQuZGVzdHJveSkmJnRoaXMuZW1iZWQuZGVzdHJveSgpLGkoKSk6dGhpcy5pc1ZpbWVvJiYobnVsbCE9PXRoaXMuZW1iZWQmJnRoaXMuZW1iZWQudW5sb2FkKCkudGhlbihpKSxzZXRUaW1lb3V0KGksMjAwKSl9KSksZSh0aGlzLCJzdXBwb3J0cyIsKGU9PmZlLm1pbWUuY2FsbCh0aGlzLGUpKSksdGhpcy50aW1lcnM9e30sdGhpcy5yZWFkeT0hMSx0aGlzLmxvYWRpbmc9ITEsdGhpcy5mYWlsZWQ9ITEsdGhpcy50b3VjaD1mZS50b3VjaCx0aGlzLm1lZGlhPXQsRCh0aGlzLm1lZGlhKSYmKHRoaXMubWVkaWE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLm1lZGlhKSksKHdpbmRvdy5qUXVlcnkmJnRoaXMubWVkaWEgaW5zdGFuY2VvZiBqUXVlcnl8fFIodGhpcy5tZWRpYSl8fFYodGhpcy5tZWRpYSkpJiYodGhpcy5tZWRpYT10aGlzLm1lZGlhWzBdKSx0aGlzLmNvbmZpZz1KKHt9LFFlLHd0LmRlZmF1bHRzLGl8fHt9LCgoKT0+e3RyeXtyZXR1cm4gSlNPTi5wYXJzZSh0aGlzLm1lZGlhLmdldEF0dHJpYnV0ZSgiZGF0YS1wbHlyLWNvbmZpZyIpKX1jYXRjaChlKXtyZXR1cm57fX19KSgpKSx0aGlzLmVsZW1lbnRzPXtjb250YWluZXI6bnVsbCxmdWxsc2NyZWVuOm51bGwsY2FwdGlvbnM6bnVsbCxidXR0b25zOnt9LGRpc3BsYXk6e30scHJvZ3Jlc3M6e30saW5wdXRzOnt9LHNldHRpbmdzOntwb3B1cDpudWxsLG1lbnU6bnVsbCxwYW5lbHM6e30sYnV0dG9uczp7fX19LHRoaXMuY2FwdGlvbnM9e2FjdGl2ZTpudWxsLGN1cnJlbnRUcmFjazotMSxtZXRhOm5ldyBXZWFrTWFwfSx0aGlzLmZ1bGxzY3JlZW49e2FjdGl2ZTohMX0sdGhpcy5vcHRpb25zPXtzcGVlZDpbXSxxdWFsaXR5OltdfSx0aGlzLmRlYnVnPW5ldyBudCh0aGlzLmNvbmZpZy5kZWJ1ZyksdGhpcy5kZWJ1Zy5sb2coIkNvbmZpZyIsdGhpcy5jb25maWcpLHRoaXMuZGVidWcubG9nKCJTdXBwb3J0IixmZSksUCh0aGlzLm1lZGlhKXx8IUgodGhpcy5tZWRpYSkpcmV0dXJuIHZvaWQgdGhpcy5kZWJ1Zy5lcnJvcigiU2V0dXAgZmFpbGVkOiBubyBzdWl0YWJsZSBlbGVtZW50IHBhc3NlZCIpO2lmKHRoaXMubWVkaWEucGx5cilyZXR1cm4gdm9pZCB0aGlzLmRlYnVnLndhcm4oIlRhcmdldCBhbHJlYWR5IHNldHVwIik7aWYoIXRoaXMuY29uZmlnLmVuYWJsZWQpcmV0dXJuIHZvaWQgdGhpcy5kZWJ1Zy5lcnJvcigiU2V0dXAgZmFpbGVkOiBkaXNhYmxlZCBieSBjb25maWciKTtpZighZmUuY2hlY2soKS5hcGkpcmV0dXJuIHZvaWQgdGhpcy5kZWJ1Zy5lcnJvcigiU2V0dXAgZmFpbGVkOiBubyBzdXBwb3J0Iik7Y29uc3Qgbj10aGlzLm1lZGlhLmNsb25lTm9kZSghMCk7bi5hdXRvcGxheT0hMSx0aGlzLmVsZW1lbnRzLm9yaWdpbmFsPW47Y29uc3Qgcz10aGlzLm1lZGlhLnRhZ05hbWUudG9Mb3dlckNhc2UoKTtsZXQgbz1udWxsLHI9bnVsbDtzd2l0Y2gocyl7Y2FzZSJkaXYiOmlmKG89dGhpcy5tZWRpYS5xdWVyeVNlbGVjdG9yKCJpZnJhbWUiKSxIKG8pKXtpZihyPVdlKG8uZ2V0QXR0cmlidXRlKCJzcmMiKSksdGhpcy5wcm92aWRlcj1mdW5jdGlvbihlKXtyZXR1cm4vXihodHRwcz86XC9cLyk/KHd3d1wuKT8oeW91dHViZVwuY29tfHlvdXR1YmUtbm9jb29raWVcLmNvbXx5b3V0dVwuP2JlKVwvLiskLy50ZXN0KGUpP1plLnlvdXR1YmU6L15odHRwcz86XC9cL3BsYXllci52aW1lby5jb21cL3ZpZGVvXC9cZHswLDl9KD89XGJ8XC8pLy50ZXN0KGUpP1plLnZpbWVvOm51bGx9KHIudG9TdHJpbmcoKSksdGhpcy5lbGVtZW50cy5jb250YWluZXI9dGhpcy5tZWRpYSx0aGlzLm1lZGlhPW8sdGhpcy5lbGVtZW50cy5jb250YWluZXIuY2xhc3NOYW1lPSIiLHIuc2VhcmNoLmxlbmd0aCl7Y29uc3QgZT1bIjEiLCJ0cnVlIl07ZS5pbmNsdWRlcyhyLnNlYXJjaFBhcmFtcy5nZXQoImF1dG9wbGF5IikpJiYodGhpcy5jb25maWcuYXV0b3BsYXk9ITApLGUuaW5jbHVkZXMoci5zZWFyY2hQYXJhbXMuZ2V0KCJsb29wIikpJiYodGhpcy5jb25maWcubG9vcC5hY3RpdmU9ITApLHRoaXMuaXNZb3VUdWJlPyh0aGlzLmNvbmZpZy5wbGF5c2lubGluZT1lLmluY2x1ZGVzKHIuc2VhcmNoUGFyYW1zLmdldCgicGxheXNpbmxpbmUiKSksdGhpcy5jb25maWcueW91dHViZS5obD1yLnNlYXJjaFBhcmFtcy5nZXQoImhsIikpOnRoaXMuY29uZmlnLnBsYXlzaW5saW5lPSEwfX1lbHNlIHRoaXMucHJvdmlkZXI9dGhpcy5tZWRpYS5nZXRBdHRyaWJ1dGUodGhpcy5jb25maWcuYXR0cmlidXRlcy5lbWJlZC5wcm92aWRlciksdGhpcy5tZWRpYS5yZW1vdmVBdHRyaWJ1dGUodGhpcy5jb25maWcuYXR0cmlidXRlcy5lbWJlZC5wcm92aWRlcik7aWYoSyh0aGlzLnByb3ZpZGVyKXx8IU9iamVjdC52YWx1ZXMoWmUpLmluY2x1ZGVzKHRoaXMucHJvdmlkZXIpKXJldHVybiB2b2lkIHRoaXMuZGVidWcuZXJyb3IoIlNldHVwIGZhaWxlZDogSW52YWxpZCBwcm92aWRlciIpO3RoaXMudHlwZT10dDticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjp0aGlzLnR5cGU9cyx0aGlzLnByb3ZpZGVyPVplLmh0bWw1LHRoaXMubWVkaWEuaGFzQXR0cmlidXRlKCJjcm9zc29yaWdpbiIpJiYodGhpcy5jb25maWcuY3Jvc3NvcmlnaW49ITApLHRoaXMubWVkaWEuaGFzQXR0cmlidXRlKCJhdXRvcGxheSIpJiYodGhpcy5jb25maWcuYXV0b3BsYXk9ITApLCh0aGlzLm1lZGlhLmhhc0F0dHJpYnV0ZSgicGxheXNpbmxpbmUiKXx8dGhpcy5tZWRpYS5oYXNBdHRyaWJ1dGUoIndlYmtpdC1wbGF5c2lubGluZSIpKSYmKHRoaXMuY29uZmlnLnBsYXlzaW5saW5lPSEwKSx0aGlzLm1lZGlhLmhhc0F0dHJpYnV0ZSgibXV0ZWQiKSYmKHRoaXMuY29uZmlnLm11dGVkPSEwKSx0aGlzLm1lZGlhLmhhc0F0dHJpYnV0ZSgibG9vcCIpJiYodGhpcy5jb25maWcubG9vcC5hY3RpdmU9ITApO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHZvaWQgdGhpcy5kZWJ1Zy5lcnJvcigiU2V0dXAgZmFpbGVkOiB1bnN1cHBvcnRlZCB0eXBlIil9dGhpcy5zdXBwb3J0ZWQ9ZmUuY2hlY2sodGhpcy50eXBlLHRoaXMucHJvdmlkZXIsdGhpcy5jb25maWcucGxheXNpbmxpbmUpLHRoaXMuc3VwcG9ydGVkLmFwaT8odGhpcy5ldmVudExpc3RlbmVycz1bXSx0aGlzLmxpc3RlbmVycz1uZXcgYXQodGhpcyksdGhpcy5zdG9yYWdlPW5ldyAkZSh0aGlzKSx0aGlzLm1lZGlhLnBseXI9dGhpcyxIKHRoaXMuZWxlbWVudHMuY29udGFpbmVyKXx8KHRoaXMuZWxlbWVudHMuY29udGFpbmVyPWVlKCJkaXYiLHt0YWJpbmRleDowfSksWCh0aGlzLm1lZGlhLHRoaXMuZWxlbWVudHMuY29udGFpbmVyKSkscnQubWlncmF0ZVN0eWxlcy5jYWxsKHRoaXMpLHJ0LmFkZFN0eWxlSG9vay5jYWxsKHRoaXMpLG10LnNldHVwLmNhbGwodGhpcyksdGhpcy5jb25maWcuZGVidWcmJnllLmNhbGwodGhpcyx0aGlzLmVsZW1lbnRzLmNvbnRhaW5lcix0aGlzLmNvbmZpZy5ldmVudHMuam9pbigiICIpLChlPT57dGhpcy5kZWJ1Zy5sb2coYGV2ZW50OiAke2UudHlwZX1gKX0pKSx0aGlzLmZ1bGxzY3JlZW49bmV3IHN0KHRoaXMpLCh0aGlzLmlzSFRNTDV8fHRoaXMuaXNFbWJlZCYmIXRoaXMuc3VwcG9ydGVkLnVpKSYmcnQuYnVpbGQuY2FsbCh0aGlzKSx0aGlzLmxpc3RlbmVycy5jb250YWluZXIoKSx0aGlzLmxpc3RlbmVycy5nbG9iYWwoKSx0aGlzLmNvbmZpZy5hZHMuZW5hYmxlZCYmKHRoaXMuYWRzPW5ldyBndCh0aGlzKSksdGhpcy5pc0hUTUw1JiZ0aGlzLmNvbmZpZy5hdXRvcGxheSYmdGhpcy5vbmNlKCJjYW5wbGF5IiwoKCk9PkNlKHRoaXMucGxheSgpKSkpLHRoaXMubGFzdFNlZWtUaW1lPTAsdGhpcy5jb25maWcucHJldmlld1RodW1ibmFpbHMuZW5hYmxlZCYmKHRoaXMucHJldmlld1RodW1ibmFpbHM9bmV3IGJ0KHRoaXMpKSk6dGhpcy5kZWJ1Zy5lcnJvcigiU2V0dXAgZmFpbGVkOiBubyBzdXBwb3J0Iil9Z2V0IGlzSFRNTDUoKXtyZXR1cm4gdGhpcy5wcm92aWRlcj09PVplLmh0bWw1fWdldCBpc0VtYmVkKCl7cmV0dXJuIHRoaXMuaXNZb3VUdWJlfHx0aGlzLmlzVmltZW99Z2V0IGlzWW91VHViZSgpe3JldHVybiB0aGlzLnByb3ZpZGVyPT09WmUueW91dHViZX1nZXQgaXNWaW1lbygpe3JldHVybiB0aGlzLnByb3ZpZGVyPT09WmUudmltZW99Z2V0IGlzVmlkZW8oKXtyZXR1cm4gdGhpcy50eXBlPT09dHR9Z2V0IGlzQXVkaW8oKXtyZXR1cm4gdGhpcy50eXBlPT09ZXR9Z2V0IHBsYXlpbmcoKXtyZXR1cm4gQm9vbGVhbih0aGlzLnJlYWR5JiYhdGhpcy5wYXVzZWQmJiF0aGlzLmVuZGVkKX1nZXQgcGF1c2VkKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5tZWRpYS5wYXVzZWQpfWdldCBzdG9wcGVkKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5wYXVzZWQmJjA9PT10aGlzLmN1cnJlbnRUaW1lKX1nZXQgZW5kZWQoKXtyZXR1cm4gQm9vbGVhbih0aGlzLm1lZGlhLmVuZGVkKX1zZXQgY3VycmVudFRpbWUoZSl7aWYoIXRoaXMuZHVyYXRpb24pcmV0dXJuO2NvbnN0IHQ9TShlKSYmZT4wO3RoaXMubWVkaWEuY3VycmVudFRpbWU9dD9NYXRoLm1pbihlLHRoaXMuZHVyYXRpb24pOjAsdGhpcy5kZWJ1Zy5sb2coYFNlZWtpbmcgdG8gJHt0aGlzLmN1cnJlbnRUaW1lfSBzZWNvbmRzYCl9Z2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIE51bWJlcih0aGlzLm1lZGlhLmN1cnJlbnRUaW1lKX1nZXQgYnVmZmVyZWQoKXtjb25zdHtidWZmZXJlZDplfT10aGlzLm1lZGlhO3JldHVybiBNKGUpP2U6ZSYmZS5sZW5ndGgmJnRoaXMuZHVyYXRpb24+MD9lLmVuZCgwKS90aGlzLmR1cmF0aW9uOjB9Z2V0IHNlZWtpbmcoKXtyZXR1cm4gQm9vbGVhbih0aGlzLm1lZGlhLnNlZWtpbmcpfWdldCBkdXJhdGlvbigpe2NvbnN0IGU9cGFyc2VGbG9hdCh0aGlzLmNvbmZpZy5kdXJhdGlvbiksdD0odGhpcy5tZWRpYXx8e30pLmR1cmF0aW9uLGk9TSh0KSYmdCE9PTEvMD90OjA7cmV0dXJuIGV8fGl9c2V0IHZvbHVtZShlKXtsZXQgdD1lO0QodCkmJih0PU51bWJlcih0KSksTSh0KXx8KHQ9dGhpcy5zdG9yYWdlLmdldCgidm9sdW1lIikpLE0odCl8fCh7dm9sdW1lOnR9PXRoaXMuY29uZmlnKSx0PjEmJih0PTEpLHQ8MCYmKHQ9MCksdGhpcy5jb25maWcudm9sdW1lPXQsdGhpcy5tZWRpYS52b2x1bWU9dCwhSyhlKSYmdGhpcy5tdXRlZCYmdD4wJiYodGhpcy5tdXRlZD0hMSl9Z2V0IHZvbHVtZSgpe3JldHVybiBOdW1iZXIodGhpcy5tZWRpYS52b2x1bWUpfXNldCBtdXRlZChlKXtsZXQgdD1lO2oodCl8fCh0PXRoaXMuc3RvcmFnZS5nZXQoIm11dGVkIikpLGoodCl8fCh0PXRoaXMuY29uZmlnLm11dGVkKSx0aGlzLmNvbmZpZy5tdXRlZD10LHRoaXMubWVkaWEubXV0ZWQ9dH1nZXQgbXV0ZWQoKXtyZXR1cm4gQm9vbGVhbih0aGlzLm1lZGlhLm11dGVkKX1nZXQgaGFzQXVkaW8oKXtyZXR1cm4hdGhpcy5pc0hUTUw1fHwhIXRoaXMuaXNBdWRpb3x8Qm9vbGVhbih0aGlzLm1lZGlhLm1vekhhc0F1ZGlvKXx8Qm9vbGVhbih0aGlzLm1lZGlhLndlYmtpdEF1ZGlvRGVjb2RlZEJ5dGVDb3VudCl8fEJvb2xlYW4odGhpcy5tZWRpYS5hdWRpb1RyYWNrcyYmdGhpcy5tZWRpYS5hdWRpb1RyYWNrcy5sZW5ndGgpfXNldCBzcGVlZChlKXtsZXQgdD1udWxsO00oZSkmJih0PWUpLE0odCl8fCh0PXRoaXMuc3RvcmFnZS5nZXQoInNwZWVkIikpLE0odCl8fCh0PXRoaXMuY29uZmlnLnNwZWVkLnNlbGVjdGVkKTtjb25zdHttaW5pbXVtU3BlZWQ6aSxtYXhpbXVtU3BlZWQ6bn09dGhpczt0PWZ1bmN0aW9uKGU9MCx0PTAsaT0yNTUpe3JldHVybiBNYXRoLm1pbihNYXRoLm1heChlLHQpLGkpfSh0LGksbiksdGhpcy5jb25maWcuc3BlZWQuc2VsZWN0ZWQ9dCxzZXRUaW1lb3V0KCgoKT0+e3RoaXMubWVkaWEmJih0aGlzLm1lZGlhLnBsYXliYWNrUmF0ZT10KX0pLDApfWdldCBzcGVlZCgpe3JldHVybiBOdW1iZXIodGhpcy5tZWRpYS5wbGF5YmFja1JhdGUpfWdldCBtaW5pbXVtU3BlZWQoKXtyZXR1cm4gdGhpcy5pc1lvdVR1YmU/TWF0aC5taW4oLi4udGhpcy5vcHRpb25zLnNwZWVkKTp0aGlzLmlzVmltZW8/LjU6LjA2MjV9Z2V0IG1heGltdW1TcGVlZCgpe3JldHVybiB0aGlzLmlzWW91VHViZT9NYXRoLm1heCguLi50aGlzLm9wdGlvbnMuc3BlZWQpOnRoaXMuaXNWaW1lbz8yOjE2fXNldCBxdWFsaXR5KGUpe2NvbnN0IHQ9dGhpcy5jb25maWcucXVhbGl0eSxpPXRoaXMub3B0aW9ucy5xdWFsaXR5O2lmKCFpLmxlbmd0aClyZXR1cm47bGV0IG49WyFLKGUpJiZOdW1iZXIoZSksdGhpcy5zdG9yYWdlLmdldCgicXVhbGl0eSIpLHQuc2VsZWN0ZWQsdC5kZWZhdWx0XS5maW5kKE0pLHM9ITA7aWYoIWkuaW5jbHVkZXMobikpe2NvbnN0IGU9U2UoaSxuKTt0aGlzLmRlYnVnLndhcm4oYFVuc3VwcG9ydGVkIHF1YWxpdHkgb3B0aW9uOiAke259LCB1c2luZyAke2V9IGluc3RlYWRgKSxuPWUscz0hMX10LnNlbGVjdGVkPW4sdGhpcy5tZWRpYS5xdWFsaXR5PW4scyYmdGhpcy5zdG9yYWdlLnNldCh7cXVhbGl0eTpufSl9Z2V0IHF1YWxpdHkoKXtyZXR1cm4gdGhpcy5tZWRpYS5xdWFsaXR5fXNldCBsb29wKGUpe2NvbnN0IHQ9aihlKT9lOnRoaXMuY29uZmlnLmxvb3AuYWN0aXZlO3RoaXMuY29uZmlnLmxvb3AuYWN0aXZlPXQsdGhpcy5tZWRpYS5sb29wPXR9Z2V0IGxvb3AoKXtyZXR1cm4gQm9vbGVhbih0aGlzLm1lZGlhLmxvb3ApfXNldCBzb3VyY2UoZSl7X3QuY2hhbmdlLmNhbGwodGhpcyxlKX1nZXQgc291cmNlKCl7cmV0dXJuIHRoaXMubWVkaWEuY3VycmVudFNyY31nZXQgZG93bmxvYWQoKXtjb25zdHtkb3dubG9hZDplfT10aGlzLmNvbmZpZy51cmxzO3JldHVybiBHKGUpP2U6dGhpcy5zb3VyY2V9c2V0IGRvd25sb2FkKGUpe0coZSkmJih0aGlzLmNvbmZpZy51cmxzLmRvd25sb2FkPWUsS2Uuc2V0RG93bmxvYWRVcmwuY2FsbCh0aGlzKSl9c2V0IHBvc3RlcihlKXt0aGlzLmlzVmlkZW8/cnQuc2V0UG9zdGVyLmNhbGwodGhpcyxlLCExKS5jYXRjaCgoKCk9Pnt9KSk6dGhpcy5kZWJ1Zy53YXJuKCJQb3N0ZXIgY2FuIG9ubHkgYmUgc2V0IGZvciB2aWRlbyIpfWdldCBwb3N0ZXIoKXtyZXR1cm4gdGhpcy5pc1ZpZGVvP3RoaXMubWVkaWEuZ2V0QXR0cmlidXRlKCJwb3N0ZXIiKXx8dGhpcy5tZWRpYS5nZXRBdHRyaWJ1dGUoImRhdGEtcG9zdGVyIik6bnVsbH1nZXQgcmF0aW8oKXtpZighdGhpcy5pc1ZpZGVvKXJldHVybiBudWxsO2NvbnN0IGU9TGUoT2UuY2FsbCh0aGlzKSk7cmV0dXJuIFYoZSk/ZS5qb2luKCI6Iik6ZX1zZXQgcmF0aW8oZSl7dGhpcy5pc1ZpZGVvP0QoZSkmJmtlKGUpPyh0aGlzLmNvbmZpZy5yYXRpbz1MZShlKSx4ZS5jYWxsKHRoaXMpKTp0aGlzLmRlYnVnLmVycm9yKGBJbnZhbGlkIGFzcGVjdCByYXRpbyBzcGVjaWZpZWQgKCR7ZX0pYCk6dGhpcy5kZWJ1Zy53YXJuKCJBc3BlY3QgcmF0aW8gY2FuIG9ubHkgYmUgc2V0IGZvciB2aWRlbyIpfXNldCBhdXRvcGxheShlKXtjb25zdCB0PWooZSk/ZTp0aGlzLmNvbmZpZy5hdXRvcGxheTt0aGlzLmNvbmZpZy5hdXRvcGxheT10fWdldCBhdXRvcGxheSgpe3JldHVybiBCb29sZWFuKHRoaXMuY29uZmlnLmF1dG9wbGF5KX10b2dnbGVDYXB0aW9ucyhlKXtZZS50b2dnbGUuY2FsbCh0aGlzLGUsITEpfXNldCBjdXJyZW50VHJhY2soZSl7WWUuc2V0LmNhbGwodGhpcyxlLCExKSxZZS5zZXR1cCgpfWdldCBjdXJyZW50VHJhY2soKXtjb25zdHt0b2dnbGVkOmUsY3VycmVudFRyYWNrOnR9PXRoaXMuY2FwdGlvbnM7cmV0dXJuIGU/dDotMX1zZXQgbGFuZ3VhZ2UoZSl7WWUuc2V0TGFuZ3VhZ2UuY2FsbCh0aGlzLGUsITEpfWdldCBsYW5ndWFnZSgpe3JldHVybihZZS5nZXRDdXJyZW50VHJhY2suY2FsbCh0aGlzKXx8e30pLmxhbmd1YWdlfXNldCBwaXAoZSl7aWYoIWZlLnBpcClyZXR1cm47Y29uc3QgdD1qKGUpP2U6IXRoaXMucGlwO0YodGhpcy5tZWRpYS53ZWJraXRTZXRQcmVzZW50YXRpb25Nb2RlKSYmdGhpcy5tZWRpYS53ZWJraXRTZXRQcmVzZW50YXRpb25Nb2RlKHQ/SmU6WGUpLEYodGhpcy5tZWRpYS5yZXF1ZXN0UGljdHVyZUluUGljdHVyZSkmJighdGhpcy5waXAmJnQ/dGhpcy5tZWRpYS5yZXF1ZXN0UGljdHVyZUluUGljdHVyZSgpOnRoaXMucGlwJiYhdCYmZG9jdW1lbnQuZXhpdFBpY3R1cmVJblBpY3R1cmUoKSl9Z2V0IHBpcCgpe3JldHVybiBmZS5waXA/Syh0aGlzLm1lZGlhLndlYmtpdFByZXNlbnRhdGlvbk1vZGUpP3RoaXMubWVkaWE9PT1kb2N1bWVudC5waWN0dXJlSW5QaWN0dXJlRWxlbWVudDp0aGlzLm1lZGlhLndlYmtpdFByZXNlbnRhdGlvbk1vZGU9PT1KZTpudWxsfXNldFByZXZpZXdUaHVtYm5haWxzKGUpe3RoaXMucHJldmlld1RodW1ibmFpbHMmJnRoaXMucHJldmlld1RodW1ibmFpbHMubG9hZGVkJiYodGhpcy5wcmV2aWV3VGh1bWJuYWlscy5kZXN0cm95KCksdGhpcy5wcmV2aWV3VGh1bWJuYWlscz1udWxsKSxPYmplY3QuYXNzaWduKHRoaXMuY29uZmlnLnByZXZpZXdUaHVtYm5haWxzLGUpLHRoaXMuY29uZmlnLnByZXZpZXdUaHVtYm5haWxzLmVuYWJsZWQmJih0aGlzLnByZXZpZXdUaHVtYm5haWxzPW5ldyBidCh0aGlzKSl9c3RhdGljIHN1cHBvcnRlZChlLHQsaSl7cmV0dXJuIGZlLmNoZWNrKGUsdCxpKX1zdGF0aWMgbG9hZFNwcml0ZShlLHQpe3JldHVybiBxZShlLHQpfXN0YXRpYyBzZXR1cChlLHQ9e30pe2xldCBpPW51bGw7cmV0dXJuIEQoZSk/aT1BcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoZSkpOlIoZSk/aT1BcnJheS5mcm9tKGUpOlYoZSkmJihpPWUuZmlsdGVyKEgpKSxLKGkpP251bGw6aS5tYXAoKGU9Pm5ldyB3dChlLHQpKSl9fXZhciBFdDtyZXR1cm4gd3QuZGVmYXVsdHM9KEV0PVFlLEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoRXQpKSksd3R9KCkpfSw0MDYxOmZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIG49aSg0Mzg0Mik7ZnVuY3Rpb24gcyhlLHQsaSl7dmFyIHMsYSxsLGM7dD10fHwxO2Zvcih2YXIgdT0wO3U8ZVswXS5sZW5ndGg7dSsrKXt2YXIgaD1lWzBdW3VdOyghdXx8aFswXTxzKSYmKHM9aFswXSksKCF1fHxoWzFdPGEpJiYoYT1oWzFdKSwoIXV8fGhbMF0+bCkmJihsPWhbMF0pLCghdXx8aFsxXT5jKSYmKGM9aFsxXSl9dmFyIGQ9bC1zLHA9Yy1hLGY9TWF0aC5taW4oZCxwKSxtPWYvMjtpZigwPT09Zil7dmFyIGc9W3MsYV07cmV0dXJuIGcuZGlzdGFuY2U9MCxnfWZvcih2YXIgeT1uZXcgbih2b2lkIDAsbyksdj1zO3Y8bDt2Kz1mKWZvcih2YXIgYj1hO2I8YztiKz1mKXkucHVzaChuZXcgcih2K20sYittLG0sZSkpO3ZhciBfPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLGk9MCxuPTAscz1lWzBdLG89MCxhPXMubGVuZ3RoLGw9YS0xO288YTtsPW8rKyl7dmFyIGM9c1tvXSx1PXNbbF0saD1jWzBdKnVbMV0tdVswXSpjWzFdO2krPShjWzBdK3VbMF0pKmgsbis9KGNbMV0rdVsxXSkqaCx0Kz0zKmh9cmV0dXJuIDA9PT10P25ldyByKHNbMF1bMF0sc1swXVsxXSwwLGUpOm5ldyByKGkvdCxuL3QsMCxlKX0oZSksdz1uZXcgcihzK2QvMixhK3AvMiwwLGUpO3cuZD5fLmQmJihfPXcpO2Zvcih2YXIgRT15Lmxlbmd0aDt5Lmxlbmd0aDspe3ZhciBDPXkucG9wKCk7Qy5kPl8uZCYmKF89QyxpJiZjb25zb2xlLmxvZygiZm91bmQgYmVzdCAlZCBhZnRlciAlZCBwcm9iZXMiLE1hdGgucm91bmQoMWU0KkMuZCkvMWU0LEUpKSxDLm1heC1fLmQ8PXR8fChtPUMuaC8yLHkucHVzaChuZXcgcihDLngtbSxDLnktbSxtLGUpKSx5LnB1c2gobmV3IHIoQy54K20sQy55LW0sbSxlKSkseS5wdXNoKG5ldyByKEMueC1tLEMueSttLG0sZSkpLHkucHVzaChuZXcgcihDLngrbSxDLnkrbSxtLGUpKSxFKz00KX1pJiYoY29uc29sZS5sb2coIm51bSBwcm9iZXM6ICIrRSksY29uc29sZS5sb2coImJlc3QgZGlzdGFuY2U6ICIrXy5kKSk7dmFyIFQ9W18ueCxfLnldO3JldHVybiBULmRpc3RhbmNlPV8uZCxUfWZ1bmN0aW9uIG8oZSx0KXtyZXR1cm4gdC5tYXgtZS5tYXh9ZnVuY3Rpb24gcihlLHQsaSxuKXt0aGlzLng9ZSx0aGlzLnk9dCx0aGlzLmg9aSx0aGlzLmQ9ZnVuY3Rpb24oZSx0LGkpe2Zvcih2YXIgbj0hMSxzPTEvMCxvPTA7bzxpLmxlbmd0aDtvKyspZm9yKHZhciByPWlbb10sbD0wLGM9ci5sZW5ndGgsdT1jLTE7bDxjO3U9bCsrKXt2YXIgaD1yW2xdLGQ9clt1XTtoWzFdPnQhPWRbMV0+dCYmZTwoZFswXS1oWzBdKSoodC1oWzFdKS8oZFsxXS1oWzFdKStoWzBdJiYobj0hbikscz1NYXRoLm1pbihzLGEoZSx0LGgsZCkpfXJldHVybiAwPT09cz8wOihuPzE6LTEpKk1hdGguc3FydChzKX0oZSx0LG4pLHRoaXMubWF4PXRoaXMuZCt0aGlzLmgqTWF0aC5TUVJUMn1mdW5jdGlvbiBhKGUsdCxpLG4pe3ZhciBzPWlbMF0sbz1pWzFdLHI9blswXS1zLGE9blsxXS1vO2lmKDAhPT1yfHwwIT09YSl7dmFyIGw9KChlLXMpKnIrKHQtbykqYSkvKHIqcithKmEpO2w+MT8ocz1uWzBdLG89blsxXSk6bD4wJiYocys9cipsLG8rPWEqbCl9cmV0dXJuKHI9ZS1zKSpyKyhhPXQtbykqYX1uLmRlZmF1bHQmJihuPW4uZGVmYXVsdCksZS5leHBvcnRzPXMsZS5leHBvcnRzLmRlZmF1bHQ9c30sMzQxNTU6ZnVuY3Rpb24oZSl7dmFyIHQsaSxuPWUuZXhwb3J0cz17fTtmdW5jdGlvbiBzKCl7dGhyb3cgbmV3IEVycm9yKCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gbygpe3Rocm93IG5ldyBFcnJvcigiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gcihlKXtpZih0PT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKCh0PT09c3x8IXQpJiZzZXRUaW1lb3V0KXJldHVybiB0PXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gdChlLDApfWNhdGNoKGkpe3RyeXtyZXR1cm4gdC5jYWxsKG51bGwsZSwwKX1jYXRjaChpKXtyZXR1cm4gdC5jYWxsKHRoaXMsZSwwKX19fSFmdW5jdGlvbigpe3RyeXt0PSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6c31jYXRjaChlKXt0PXN9dHJ5e2k9ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6b31jYXRjaChlKXtpPW99fSgpO3ZhciBhLGw9W10sYz0hMSx1PS0xO2Z1bmN0aW9uIGgoKXtjJiZhJiYoYz0hMSxhLmxlbmd0aD9sPWEuY29uY2F0KGwpOnU9LTEsbC5sZW5ndGgmJmQoKSl9ZnVuY3Rpb24gZCgpe2lmKCFjKXt2YXIgZT1yKGgpO2M9ITA7Zm9yKHZhciB0PWwubGVuZ3RoO3Q7KXtmb3IoYT1sLGw9W107Kyt1PHQ7KWEmJmFbdV0ucnVuKCk7dT0tMSx0PWwubGVuZ3RofWE9bnVsbCxjPSExLGZ1bmN0aW9uKGUpe2lmKGk9PT1jbGVhclRpbWVvdXQpcmV0dXJuIGNsZWFyVGltZW91dChlKTtpZigoaT09PW98fCFpKSYmY2xlYXJUaW1lb3V0KXJldHVybiBpPWNsZWFyVGltZW91dCxjbGVhclRpbWVvdXQoZSk7dHJ5e2koZSl9Y2F0Y2godCl7dHJ5e3JldHVybiBpLmNhbGwobnVsbCxlKX1jYXRjaCh0KXtyZXR1cm4gaS5jYWxsKHRoaXMsZSl9fX0oZSl9fWZ1bmN0aW9uIHAoZSx0KXt0aGlzLmZ1bj1lLHRoaXMuYXJyYXk9dH1mdW5jdGlvbiBmKCl7fW4ubmV4dFRpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgaT0xO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspdFtpLTFdPWFyZ3VtZW50c1tpXTtsLnB1c2gobmV3IHAoZSx0KSksMSE9PWwubGVuZ3RofHxjfHxyKGQpfSxwLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxuLnRpdGxlPSJicm93c2VyIixuLmJyb3dzZXI9ITAsbi5lbnY9e30sbi5hcmd2PVtdLG4udmVyc2lvbj0iIixuLnZlcnNpb25zPXt9LG4ub249ZixuLmFkZExpc3RlbmVyPWYsbi5vbmNlPWYsbi5vZmY9ZixuLnJlbW92ZUxpc3RlbmVyPWYsbi5yZW1vdmVBbGxMaXN0ZW5lcnM9ZixuLmVtaXQ9ZixuLnByZXBlbmRMaXN0ZW5lcj1mLG4ucHJlcGVuZE9uY2VMaXN0ZW5lcj1mLG4ubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxuLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCIpfSxuLmN3ZD1mdW5jdGlvbigpe3JldHVybiIvIn0sbi5jaGRpcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCIpfSxuLnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9fSwzNTY2NjpmdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQsaT1PYmplY3QucHJvdG90eXBlLG49aS5oYXNPd25Qcm9wZXJ0eSxzPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2w/U3ltYm9sOnt9LG89cy5pdGVyYXRvcnx8IkBAaXRlcmF0b3IiLHI9cy5hc3luY0l0ZXJhdG9yfHwiQEBhc3luY0l0ZXJhdG9yIixhPXMudG9TdHJpbmdUYWd8fCJAQHRvU3RyaW5nVGFnIjtmdW5jdGlvbiBsKGUsdCxpKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6aSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pLGVbdF19dHJ5e2woe30sIiIpfWNhdGNoKGUpe2w9ZnVuY3Rpb24oZSx0LGkpe3JldHVybiBlW3RdPWl9fWZ1bmN0aW9uIGMoZSx0LGksbil7dmFyIHM9dCYmdC5wcm90b3R5cGUgaW5zdGFuY2VvZiBnP3Q6ZyxvPU9iamVjdC5jcmVhdGUocy5wcm90b3R5cGUpLHI9bmV3IGsobnx8W10pO3JldHVybiBvLl9pbnZva2U9ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPWg7cmV0dXJuIGZ1bmN0aW9uKHMsbyl7aWYobj09PXApdGhyb3cgbmV3IEVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nIik7aWYobj09PWYpe2lmKCJ0aHJvdyI9PT1zKXRocm93IG87cmV0dXJuIE8oKX1mb3IoaS5tZXRob2Q9cyxpLmFyZz1vOzspe3ZhciByPWkuZGVsZWdhdGU7aWYocil7dmFyIGE9UyhyLGkpO2lmKGEpe2lmKGE9PT1tKWNvbnRpbnVlO3JldHVybiBhfX1pZigibmV4dCI9PT1pLm1ldGhvZClpLnNlbnQ9aS5fc2VudD1pLmFyZztlbHNlIGlmKCJ0aHJvdyI9PT1pLm1ldGhvZCl7aWYobj09PWgpdGhyb3cgbj1mLGkuYXJnO2kuZGlzcGF0Y2hFeGNlcHRpb24oaS5hcmcpfWVsc2UicmV0dXJuIj09PWkubWV0aG9kJiZpLmFicnVwdCgicmV0dXJuIixpLmFyZyk7bj1wO3ZhciBsPXUoZSx0LGkpO2lmKCJub3JtYWwiPT09bC50eXBlKXtpZihuPWkuZG9uZT9mOmQsbC5hcmc9PT1tKWNvbnRpbnVlO3JldHVybnt2YWx1ZTpsLmFyZyxkb25lOmkuZG9uZX19InRocm93Ij09PWwudHlwZSYmKG49ZixpLm1ldGhvZD0idGhyb3ciLGkuYXJnPWwuYXJnKX19fShlLGksciksb31mdW5jdGlvbiB1KGUsdCxpKXt0cnl7cmV0dXJue3R5cGU6Im5vcm1hbCIsYXJnOmUuY2FsbCh0LGkpfX1jYXRjaChlKXtyZXR1cm57dHlwZToidGhyb3ciLGFyZzplfX19ZS53cmFwPWM7dmFyIGg9InN1c3BlbmRlZFN0YXJ0IixkPSJzdXNwZW5kZWRZaWVsZCIscD0iZXhlY3V0aW5nIixmPSJjb21wbGV0ZWQiLG09e307ZnVuY3Rpb24gZygpe31mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIHYoKXt9dmFyIGI9e307YltvXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgXz1PYmplY3QuZ2V0UHJvdG90eXBlT2Ysdz1fJiZfKF8oTChbXSkpKTt3JiZ3IT09aSYmbi5jYWxsKHcsbykmJihiPXcpO3ZhciBFPXYucHJvdG90eXBlPWcucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoYik7ZnVuY3Rpb24gQyhlKXtbIm5leHQiLCJ0aHJvdyIsInJldHVybiJdLmZvckVhY2goKGZ1bmN0aW9uKHQpe2woZSx0LChmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5faW52b2tlKHQsZSl9KSl9KSl9ZnVuY3Rpb24gVChlLHQpe2Z1bmN0aW9uIGkocyxvLHIsYSl7dmFyIGw9dShlW3NdLGUsbyk7aWYoInRocm93IiE9PWwudHlwZSl7dmFyIGM9bC5hcmcsaD1jLnZhbHVlO3JldHVybiBoJiYib2JqZWN0Ij09dHlwZW9mIGgmJm4uY2FsbChoLCJfX2F3YWl0Iik/dC5yZXNvbHZlKGguX19hd2FpdCkudGhlbigoZnVuY3Rpb24oZSl7aSgibmV4dCIsZSxyLGEpfSksKGZ1bmN0aW9uKGUpe2koInRocm93IixlLHIsYSl9KSk6dC5yZXNvbHZlKGgpLnRoZW4oKGZ1bmN0aW9uKGUpe2MudmFsdWU9ZSxyKGMpfSksKGZ1bmN0aW9uKGUpe3JldHVybiBpKCJ0aHJvdyIsZSxyLGEpfSkpfWEobC5hcmcpfXZhciBzO3RoaXMuX2ludm9rZT1mdW5jdGlvbihlLG4pe2Z1bmN0aW9uIG8oKXtyZXR1cm4gbmV3IHQoKGZ1bmN0aW9uKHQscyl7aShlLG4sdCxzKX0pKX1yZXR1cm4gcz1zP3MudGhlbihvLG8pOm8oKX19ZnVuY3Rpb24gUyhlLGkpe3ZhciBuPWUuaXRlcmF0b3JbaS5tZXRob2RdO2lmKG49PT10KXtpZihpLmRlbGVnYXRlPW51bGwsInRocm93Ij09PWkubWV0aG9kKXtpZihlLml0ZXJhdG9yLnJldHVybiYmKGkubWV0aG9kPSJyZXR1cm4iLGkuYXJnPXQsUyhlLGkpLCJ0aHJvdyI9PT1pLm1ldGhvZCkpcmV0dXJuIG07aS5tZXRob2Q9InRocm93IixpLmFyZz1uZXcgVHlwZUVycm9yKCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICd0aHJvdycgbWV0aG9kIil9cmV0dXJuIG19dmFyIHM9dShuLGUuaXRlcmF0b3IsaS5hcmcpO2lmKCJ0aHJvdyI9PT1zLnR5cGUpcmV0dXJuIGkubWV0aG9kPSJ0aHJvdyIsaS5hcmc9cy5hcmcsaS5kZWxlZ2F0ZT1udWxsLG07dmFyIG89cy5hcmc7cmV0dXJuIG8/by5kb25lPyhpW2UucmVzdWx0TmFtZV09by52YWx1ZSxpLm5leHQ9ZS5uZXh0TG9jLCJyZXR1cm4iIT09aS5tZXRob2QmJihpLm1ldGhvZD0ibmV4dCIsaS5hcmc9dCksaS5kZWxlZ2F0ZT1udWxsLG0pOm86KGkubWV0aG9kPSJ0aHJvdyIsaS5hcmc9bmV3IFR5cGVFcnJvcigiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3QiKSxpLmRlbGVnYXRlPW51bGwsbSl9ZnVuY3Rpb24gSShlKXt2YXIgdD17dHJ5TG9jOmVbMF19OzEgaW4gZSYmKHQuY2F0Y2hMb2M9ZVsxXSksMiBpbiBlJiYodC5maW5hbGx5TG9jPWVbMl0sdC5hZnRlckxvYz1lWzNdKSx0aGlzLnRyeUVudHJpZXMucHVzaCh0KX1mdW5jdGlvbiBBKGUpe3ZhciB0PWUuY29tcGxldGlvbnx8e307dC50eXBlPSJub3JtYWwiLGRlbGV0ZSB0LmFyZyxlLmNvbXBsZXRpb249dH1mdW5jdGlvbiBrKGUpe3RoaXMudHJ5RW50cmllcz1be3RyeUxvYzoicm9vdCJ9XSxlLmZvckVhY2goSSx0aGlzKSx0aGlzLnJlc2V0KCEwKX1mdW5jdGlvbiBMKGUpe2lmKGUpe3ZhciBpPWVbb107aWYoaSlyZXR1cm4gaS5jYWxsKGUpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLm5leHQpcmV0dXJuIGU7aWYoIWlzTmFOKGUubGVuZ3RoKSl7dmFyIHM9LTEscj1mdW5jdGlvbiBpKCl7Zm9yKDsrK3M8ZS5sZW5ndGg7KWlmKG4uY2FsbChlLHMpKXJldHVybiBpLnZhbHVlPWVbc10saS5kb25lPSExLGk7cmV0dXJuIGkudmFsdWU9dCxpLmRvbmU9ITAsaX07cmV0dXJuIHIubmV4dD1yfX1yZXR1cm57bmV4dDpPfX1mdW5jdGlvbiBPKCl7cmV0dXJue3ZhbHVlOnQsZG9uZTohMH19cmV0dXJuIHkucHJvdG90eXBlPUUuY29uc3RydWN0b3I9dix2LmNvbnN0cnVjdG9yPXkseS5kaXNwbGF5TmFtZT1sKHYsYSwiR2VuZXJhdG9yRnVuY3Rpb24iKSxlLmlzR2VuZXJhdG9yRnVuY3Rpb249ZnVuY3Rpb24oZSl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY29uc3RydWN0b3I7cmV0dXJuISF0JiYodD09PXl8fCJHZW5lcmF0b3JGdW5jdGlvbiI9PT0odC5kaXNwbGF5TmFtZXx8dC5uYW1lKSl9LGUubWFyaz1mdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZihlLHYpOihlLl9fcHJvdG9fXz12LGwoZSxhLCJHZW5lcmF0b3JGdW5jdGlvbiIpKSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEUpLGV9LGUuYXdyYXA9ZnVuY3Rpb24oZSl7cmV0dXJue19fYXdhaXQ6ZX19LEMoVC5wcm90b3R5cGUpLFQucHJvdG90eXBlW3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGUuQXN5bmNJdGVyYXRvcj1ULGUuYXN5bmM9ZnVuY3Rpb24odCxpLG4scyxvKXt2b2lkIDA9PT1vJiYobz1Qcm9taXNlKTt2YXIgcj1uZXcgVChjKHQsaSxuLHMpLG8pO3JldHVybiBlLmlzR2VuZXJhdG9yRnVuY3Rpb24oaSk/cjpyLm5leHQoKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gZS5kb25lP2UudmFsdWU6ci5uZXh0KCl9KSl9LEMoRSksbChFLGEsIkdlbmVyYXRvciIpLEVbb109ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sRS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiJbb2JqZWN0IEdlbmVyYXRvcl0ifSxlLmtleXM9ZnVuY3Rpb24oZSl7dmFyIHQ9W107Zm9yKHZhciBpIGluIGUpdC5wdXNoKGkpO3JldHVybiB0LnJldmVyc2UoKSxmdW5jdGlvbiBpKCl7Zm9yKDt0Lmxlbmd0aDspe3ZhciBuPXQucG9wKCk7aWYobiBpbiBlKXJldHVybiBpLnZhbHVlPW4saS5kb25lPSExLGl9cmV0dXJuIGkuZG9uZT0hMCxpfX0sZS52YWx1ZXM9TCxrLnByb3RvdHlwZT17Y29uc3RydWN0b3I6ayxyZXNldDpmdW5jdGlvbihlKXtpZih0aGlzLnByZXY9MCx0aGlzLm5leHQ9MCx0aGlzLnNlbnQ9dGhpcy5fc2VudD10LHRoaXMuZG9uZT0hMSx0aGlzLmRlbGVnYXRlPW51bGwsdGhpcy5tZXRob2Q9Im5leHQiLHRoaXMuYXJnPXQsdGhpcy50cnlFbnRyaWVzLmZvckVhY2goQSksIWUpZm9yKHZhciBpIGluIHRoaXMpInQiPT09aS5jaGFyQXQoMCkmJm4uY2FsbCh0aGlzLGkpJiYhaXNOYU4oK2kuc2xpY2UoMSkpJiYodGhpc1tpXT10KX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuZG9uZT0hMDt2YXIgZT10aGlzLnRyeUVudHJpZXNbMF0uY29tcGxldGlvbjtpZigidGhyb3ciPT09ZS50eXBlKXRocm93IGUuYXJnO3JldHVybiB0aGlzLnJ2YWx9LGRpc3BhdGNoRXhjZXB0aW9uOmZ1bmN0aW9uKGUpe2lmKHRoaXMuZG9uZSl0aHJvdyBlO3ZhciBpPXRoaXM7ZnVuY3Rpb24gcyhuLHMpe3JldHVybiBhLnR5cGU9InRocm93IixhLmFyZz1lLGkubmV4dD1uLHMmJihpLm1ldGhvZD0ibmV4dCIsaS5hcmc9dCksISFzfWZvcih2YXIgbz10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7bz49MDstLW8pe3ZhciByPXRoaXMudHJ5RW50cmllc1tvXSxhPXIuY29tcGxldGlvbjtpZigicm9vdCI9PT1yLnRyeUxvYylyZXR1cm4gcygiZW5kIik7aWYoci50cnlMb2M8PXRoaXMucHJldil7dmFyIGw9bi5jYWxsKHIsImNhdGNoTG9jIiksYz1uLmNhbGwociwiZmluYWxseUxvYyIpO2lmKGwmJmMpe2lmKHRoaXMucHJldjxyLmNhdGNoTG9jKXJldHVybiBzKHIuY2F0Y2hMb2MsITApO2lmKHRoaXMucHJldjxyLmZpbmFsbHlMb2MpcmV0dXJuIHMoci5maW5hbGx5TG9jKX1lbHNlIGlmKGwpe2lmKHRoaXMucHJldjxyLmNhdGNoTG9jKXJldHVybiBzKHIuY2F0Y2hMb2MsITApfWVsc2V7aWYoIWMpdGhyb3cgbmV3IEVycm9yKCJ0cnkgc3RhdGVtZW50IHdpdGhvdXQgY2F0Y2ggb3IgZmluYWxseSIpO2lmKHRoaXMucHJldjxyLmZpbmFsbHlMb2MpcmV0dXJuIHMoci5maW5hbGx5TG9jKX19fX0sYWJydXB0OmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtpPj0wOy0taSl7dmFyIHM9dGhpcy50cnlFbnRyaWVzW2ldO2lmKHMudHJ5TG9jPD10aGlzLnByZXYmJm4uY2FsbChzLCJmaW5hbGx5TG9jIikmJnRoaXMucHJldjxzLmZpbmFsbHlMb2Mpe3ZhciBvPXM7YnJlYWt9fW8mJigiYnJlYWsiPT09ZXx8ImNvbnRpbnVlIj09PWUpJiZvLnRyeUxvYzw9dCYmdDw9by5maW5hbGx5TG9jJiYobz1udWxsKTt2YXIgcj1vP28uY29tcGxldGlvbjp7fTtyZXR1cm4gci50eXBlPWUsci5hcmc9dCxvPyh0aGlzLm1ldGhvZD0ibmV4dCIsdGhpcy5uZXh0PW8uZmluYWxseUxvYyxtKTp0aGlzLmNvbXBsZXRlKHIpfSxjb21wbGV0ZTpmdW5jdGlvbihlLHQpe2lmKCJ0aHJvdyI9PT1lLnR5cGUpdGhyb3cgZS5hcmc7cmV0dXJuImJyZWFrIj09PWUudHlwZXx8ImNvbnRpbnVlIj09PWUudHlwZT90aGlzLm5leHQ9ZS5hcmc6InJldHVybiI9PT1lLnR5cGU/KHRoaXMucnZhbD10aGlzLmFyZz1lLmFyZyx0aGlzLm1ldGhvZD0icmV0dXJuIix0aGlzLm5leHQ9ImVuZCIpOiJub3JtYWwiPT09ZS50eXBlJiZ0JiYodGhpcy5uZXh0PXQpLG19LGZpbmlzaDpmdW5jdGlvbihlKXtmb3IodmFyIHQ9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO3Q+PTA7LS10KXt2YXIgaT10aGlzLnRyeUVudHJpZXNbdF07aWYoaS5maW5hbGx5TG9jPT09ZSlyZXR1cm4gdGhpcy5jb21wbGV0ZShpLmNvbXBsZXRpb24saS5hZnRlckxvYyksQShpKSxtfX0sY2F0Y2g6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTt0Pj0wOy0tdCl7dmFyIGk9dGhpcy50cnlFbnRyaWVzW3RdO2lmKGkudHJ5TG9jPT09ZSl7dmFyIG49aS5jb21wbGV0aW9uO2lmKCJ0aHJvdyI9PT1uLnR5cGUpe3ZhciBzPW4uYXJnO0EoaSl9cmV0dXJuIHN9fXRocm93IG5ldyBFcnJvcigiaWxsZWdhbCBjYXRjaCBhdHRlbXB0Iil9LGRlbGVnYXRlWWllbGQ6ZnVuY3Rpb24oZSxpLG4pe3JldHVybiB0aGlzLmRlbGVnYXRlPXtpdGVyYXRvcjpMKGUpLHJlc3VsdE5hbWU6aSxuZXh0TG9jOm59LCJuZXh0Ij09PXRoaXMubWV0aG9kJiYodGhpcy5hcmc9dCksbX19LGV9KGUuZXhwb3J0cyk7dHJ5e3JlZ2VuZXJhdG9yUnVudGltZT10fWNhdGNoKGUpe0Z1bmN0aW9uKCJyIiwicmVnZW5lcmF0b3JSdW50aW1lID0gciIpKHQpfX0sODk0Mzg6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe3JldHVybiBpPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBpPWFyZ3VtZW50c1t0XTtmb3IodmFyIG4gaW4gaSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaSxuKSYmKGVbbl09aVtuXSl9cmV0dXJuIGV9LGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfXZhciBuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe3ZhciBpPXRoaXMsbj12b2lkIDAhPT10P3Q6e307dGhpcy52ZXJzaW9uPSIzLjcuOSIsdGhpcy51c2VyQWdlbnQ9d2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnR8fCJubyBgdXNlckFnZW50YCBwcm92aWRlZCBieSB0aGUgYnJvd3NlciIsdGhpcy5wcm9wcz17Y3VzdG9tU3RpY2t5Q2hhbmdlTnVtYmVyOm4uY3VzdG9tU3RpY2t5Q2hhbmdlTnVtYmVyfHxudWxsLG5vU3R5bGVzOm4ubm9TdHlsZXN8fCExLHN0aWNreUJpdFN0aWNreU9mZnNldDpuLnN0aWNreUJpdFN0aWNreU9mZnNldHx8MCxwYXJlbnRDbGFzczpuLnBhcmVudENsYXNzfHwianMtc3RpY2t5Yml0LXBhcmVudCIsc2Nyb2xsRWw6InN0cmluZyI9PXR5cGVvZiBuLnNjcm9sbEVsP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iobi5zY3JvbGxFbCk6bi5zY3JvbGxFbHx8d2luZG93LHN0aWNreUNsYXNzOm4uc3RpY2t5Q2xhc3N8fCJqcy1pcy1zdGlja3kiLHN0dWNrQ2xhc3M6bi5zdHVja0NsYXNzfHwianMtaXMtc3R1Y2siLHN0aWNreUNoYW5nZUNsYXNzOm4uc3RpY2t5Q2hhbmdlQ2xhc3N8fCJqcy1pcy1zdGlja3ktLWNoYW5nZSIsdXNlU3RpY2t5Q2xhc3NlczpuLnVzZVN0aWNreUNsYXNzZXN8fCExLHVzZUZpeGVkOm4udXNlRml4ZWR8fCExLHVzZUdldEJvdW5kaW5nQ2xpZW50UmVjdDpuLnVzZUdldEJvdW5kaW5nQ2xpZW50UmVjdHx8ITEsdmVydGljYWxQb3NpdGlvbjpuLnZlcnRpY2FsUG9zaXRpb258fCJ0b3AiLGFwcGx5U3R5bGU6bi5hcHBseVN0eWxlfHxmdW5jdGlvbihlLHQpe3JldHVybiBpLmFwcGx5U3R5bGUoZSx0KX19LHRoaXMucHJvcHMucG9zaXRpb25WYWw9dGhpcy5kZWZpbmVQb3NpdGlvbigpfHwiZml4ZWQiLHRoaXMuaW5zdGFuY2VzPVtdO3ZhciBzPXRoaXMucHJvcHMsbz1zLnBvc2l0aW9uVmFsLHI9cy52ZXJ0aWNhbFBvc2l0aW9uLGE9cy5ub1N0eWxlcyxsPXMuc3RpY2t5Qml0U3RpY2t5T2Zmc2V0LGM9InRvcCIhPT1yfHxhPyIiOmwrInB4Iix1PSJmaXhlZCIhPT1vP286IiI7dGhpcy5lbHM9InN0cmluZyI9PXR5cGVvZiBlP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoZSk6ZSwibGVuZ3RoImluIHRoaXMuZWxzfHwodGhpcy5lbHM9W3RoaXMuZWxzXSk7Zm9yKHZhciBoPTA7aDx0aGlzLmVscy5sZW5ndGg7aCsrKXt2YXIgZCxwPXRoaXMuZWxzW2hdLGY9dGhpcy5hZGRJbnN0YW5jZShwLHRoaXMucHJvcHMpO3RoaXMucHJvcHMuYXBwbHlTdHlsZSh7c3R5bGVzOihkPXt9LGRbcl09YyxkLnBvc2l0aW9uPXUsZCksY2xhc3Nlczp7fX0sZiksdGhpcy5tYW5hZ2VTdGF0ZShmKSx0aGlzLmluc3RhbmNlcy5wdXNoKGYpfX12YXIgdD1lLnByb3RvdHlwZTtyZXR1cm4gdC5kZWZpbmVQb3NpdGlvbj1mdW5jdGlvbigpe3ZhciBlO2lmKHRoaXMucHJvcHMudXNlRml4ZWQpZT0iZml4ZWQiO2Vsc2V7Zm9yKHZhciB0PVsiIiwiLW8tIiwiLXdlYmtpdC0iLCItbW96LSIsIi1tcy0iXSxpPWRvY3VtZW50LmhlYWQuc3R5bGUsbj0wO248dC5sZW5ndGg7bis9MSlpLnBvc2l0aW9uPXRbbl0rInN0aWNreSI7ZT1pLnBvc2l0aW9uP2kucG9zaXRpb246ImZpeGVkIixpLnBvc2l0aW9uPSIifXJldHVybiBlfSx0LmFkZEluc3RhbmNlPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcyxuPXtlbDplLHBhcmVudDplLnBhcmVudE5vZGUscHJvcHM6dH07aWYoImZpeGVkIj09PXQucG9zaXRpb25WYWx8fHQudXNlU3RpY2t5Q2xhc3Nlcyl7dGhpcy5pc1dpbj10aGlzLnByb3BzLnNjcm9sbEVsPT09d2luZG93O3ZhciBzPXRoaXMuaXNXaW4/d2luZG93OnRoaXMuZ2V0Q2xvc2VzdFBhcmVudChuLmVsLG4ucHJvcHMuc2Nyb2xsRWwpO3RoaXMuY29tcHV0ZVNjcm9sbE9mZnNldHMobiksdGhpcy50b2dnbGVDbGFzc2VzKG4ucGFyZW50LCIiLHQucGFyZW50Q2xhc3MpLG4uc3RhdGU9ImRlZmF1bHQiLG4uc3RhdGVDaGFuZ2U9ImRlZmF1bHQiLG4uc3RhdGVDb250YWluZXI9ZnVuY3Rpb24oKXtyZXR1cm4gaS5tYW5hZ2VTdGF0ZShuKX0scy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLG4uc3RhdGVDb250YWluZXIpfXJldHVybiBufSx0LmdldENsb3Nlc3RQYXJlbnQ9ZnVuY3Rpb24oZSx0KXt2YXIgaT10LG49ZTtpZihuLnBhcmVudEVsZW1lbnQ9PT1pKXJldHVybiBpO2Zvcig7bi5wYXJlbnRFbGVtZW50IT09aTspbj1uLnBhcmVudEVsZW1lbnQ7cmV0dXJuIGl9LHQuZ2V0VG9wUG9zaXRpb249ZnVuY3Rpb24oZSl7aWYodGhpcy5wcm9wcy51c2VHZXRCb3VuZGluZ0NsaWVudFJlY3QpcmV0dXJuIGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKyh0aGlzLnByb3BzLnNjcm9sbEVsLnBhZ2VZT2Zmc2V0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wKTt2YXIgdD0wO2Rve3Q9ZS5vZmZzZXRUb3ArdH13aGlsZShlPWUub2Zmc2V0UGFyZW50KTtyZXR1cm4gdH0sdC5jb21wdXRlU2Nyb2xsT2Zmc2V0cz1mdW5jdGlvbihlKXt2YXIgdD1lLGk9dC5wcm9wcyxuPXQuZWwscz10LnBhcmVudCxvPSF0aGlzLmlzV2luJiYiZml4ZWQiPT09aS5wb3NpdGlvblZhbCxyPSJib3R0b20iIT09aS52ZXJ0aWNhbFBvc2l0aW9uLGE9bz90aGlzLmdldFRvcFBvc2l0aW9uKGkuc2Nyb2xsRWwpOjAsbD1vP3RoaXMuZ2V0VG9wUG9zaXRpb24ocyktYTp0aGlzLmdldFRvcFBvc2l0aW9uKHMpLGM9bnVsbCE9PWkuY3VzdG9tU3RpY2t5Q2hhbmdlTnVtYmVyP2kuY3VzdG9tU3RpY2t5Q2hhbmdlTnVtYmVyOm4ub2Zmc2V0SGVpZ2h0LHU9bCtzLm9mZnNldEhlaWdodDt0Lm9mZnNldD1vPzA6YStpLnN0aWNreUJpdFN0aWNreU9mZnNldCx0LnN0aWNreVN0YXJ0PXI/bC10Lm9mZnNldDowLHQuc3RpY2t5Q2hhbmdlPXQuc3RpY2t5U3RhcnQrYyx0LnN0aWNreVN0b3A9cj91LShuLm9mZnNldEhlaWdodCt0Lm9mZnNldCk6dS13aW5kb3cuaW5uZXJIZWlnaHR9LHQudG9nZ2xlQ2xhc3Nlcz1mdW5jdGlvbihlLHQsaSl7dmFyIG49ZSxzPW4uY2xhc3NOYW1lLnNwbGl0KCIgIik7aSYmLTE9PT1zLmluZGV4T2YoaSkmJnMucHVzaChpKTt2YXIgbz1zLmluZGV4T2YodCk7LTEhPT1vJiZzLnNwbGljZShvLDEpLG4uY2xhc3NOYW1lPXMuam9pbigiICIpfSx0Lm1hbmFnZVN0YXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj1lLHM9bi5wcm9wcyxvPW4uc3RhdGUscj1uLnN0YXRlQ2hhbmdlLGE9bi5zdGlja3lTdGFydCxsPW4uc3RpY2t5Q2hhbmdlLGM9bi5zdGlja3lTdG9wLHU9cy5wb3NpdGlvblZhbCxoPXMuc2Nyb2xsRWwsZD1zLnN0aWNreUNsYXNzLHA9cy5zdGlja3lDaGFuZ2VDbGFzcyxmPXMuc3R1Y2tDbGFzcyxtPXMudmVydGljYWxQb3NpdGlvbixnPSJib3R0b20iIT09bSx5PXMuYXBwbHlTdHlsZSx2PXMubm9TdHlsZXMsYj1mdW5jdGlvbihlKXtlKCl9LF89dGhpcy5pc1dpbiYmKHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tc1JlcXVlc3RBbmltYXRpb25GcmFtZSl8fGIsdz10aGlzLmlzV2luP3dpbmRvdy5zY3JvbGxZfHx3aW5kb3cucGFnZVlPZmZzZXQ6aC5zY3JvbGxUb3AsRT1nJiZ3PD1hJiYoInN0aWNreSI9PT1vfHwic3R1Y2siPT09byksQz13Pj1jJiYic3RpY2t5Ij09PW87dz5hJiZ3PGMmJigiZGVmYXVsdCI9PT1vfHwic3R1Y2siPT09byk/bi5zdGF0ZT0ic3RpY2t5IjpFP24uc3RhdGU9ImRlZmF1bHQiOkMmJihuLnN0YXRlPSJzdHVjayIpO3ZhciBUPXc+PWwmJnc8PWM7dzxsLzJ8fHc+Yz9uLnN0YXRlQ2hhbmdlPSJkZWZhdWx0IjpUJiYobi5zdGF0ZUNoYW5nZT0ic3RpY2t5Iiksbz09PW4uc3RhdGUmJnI9PT1uLnN0YXRlQ2hhbmdlfHxfKChmdW5jdGlvbigpe3ZhciBvLHIsYSxsLGMsaCxnPXtzdGlja3k6e3N0eWxlczoobz17cG9zaXRpb246dSx0b3A6IiIsYm90dG9tOiIifSxvW21dPXMuc3RpY2t5Qml0U3RpY2t5T2Zmc2V0KyJweCIsbyksY2xhc3Nlczoocj17fSxyW2RdPSEwLHIpfSxkZWZhdWx0OntzdHlsZXM6KGE9e30sYVttXT0iIixhKSxjbGFzc2VzOnt9fSxzdHVjazp7c3R5bGVzOmkoKGw9e30sbFttXT0iIixsKSwiZml4ZWQiPT09dSYmIXZ8fCF0LmlzV2luP3twb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiIixib3R0b206IjAifTp7fSksY2xhc3NlczooYz17fSxjW2ZdPSEwLGMpfX07ImZpeGVkIj09PXUmJihnLmRlZmF1bHQuc3R5bGVzLnBvc2l0aW9uPSIiKTt2YXIgYj1nW24uc3RhdGVdO2IuY2xhc3Nlcz0oKGg9e30pW2ZdPSEhYi5jbGFzc2VzW2ZdLGhbZF09ISFiLmNsYXNzZXNbZF0saFtwXT1ULGgpLHkoYixlKX0pKX0sdC5hcHBseVN0eWxlPWZ1bmN0aW9uKGUsdCl7dmFyIGk9ZS5zdHlsZXMsbj1lLmNsYXNzZXMscz10LG89cy5lbCxyPXMucHJvcHMsYT1vLnN0eWxlLGw9ci5ub1N0eWxlcyxjPW8uY2xhc3NOYW1lLnNwbGl0KCIgIik7Zm9yKHZhciB1IGluIG4pe2lmKG5bdV0pLTE9PT1jLmluZGV4T2YodSkmJmMucHVzaCh1KTtlbHNle3ZhciBoPWMuaW5kZXhPZih1KTstMSE9PWgmJmMuc3BsaWNlKGgsMSl9fWlmKG8uY2xhc3NOYW1lPWMuam9pbigiICIpLGkucG9zaXRpb24mJihhLnBvc2l0aW9uPWkucG9zaXRpb24pLCFsKWZvcih2YXIgZCBpbiBpKWFbZF09aVtkXX0sdC51cGRhdGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gdm9pZCAwPT09ZSYmKGU9bnVsbCksdGhpcy5pbnN0YW5jZXMuZm9yRWFjaCgoZnVuY3Rpb24oaSl7aWYodC5jb21wdXRlU2Nyb2xsT2Zmc2V0cyhpKSxlKWZvcih2YXIgbiBpbiBlKWkucHJvcHNbbl09ZVtuXX0pKSx0aGlzfSx0LnJlbW92ZUluc3RhbmNlPWZ1bmN0aW9uKGUpe3ZhciB0LGksbj1lLmVsLHM9ZS5wcm9wczt0aGlzLmFwcGx5U3R5bGUoe3N0eWxlczoodD17cG9zaXRpb246IiJ9LHRbcy52ZXJ0aWNhbFBvc2l0aW9uXT0iIix0KSxjbGFzc2VzOihpPXt9LGlbcy5zdGlja3lDbGFzc109IiIsaVtzLnN0dWNrQ2xhc3NdPSIiLGkpfSxlKSx0aGlzLnRvZ2dsZUNsYXNzZXMobi5wYXJlbnROb2RlLHMucGFyZW50Q2xhc3MpfSx0LmNsZWFudXA9ZnVuY3Rpb24oKXtmb3IodmFyIGU9MDtlPHRoaXMuaW5zdGFuY2VzLmxlbmd0aDtlKz0xKXt2YXIgdD10aGlzLmluc3RhbmNlc1tlXTt0LnN0YXRlQ29udGFpbmVyJiZ0LnByb3BzLnNjcm9sbEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdC5zdGF0ZUNvbnRhaW5lciksdGhpcy5yZW1vdmVJbnN0YW5jZSh0KX10aGlzLm1hbmFnZVN0YXRlPSExLHRoaXMuaW5zdGFuY2VzPVtdfSxlfSgpO3QuWj1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgbihlLHQpfX0sOTMzNzk6ZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixzPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PW4mJihuPUJvb2xlYW4od2luZG93JiZkb2N1bWVudCYmZG9jdW1lbnQuYWxsJiYhd2luZG93LmF0b2IpKSxufSxvPWZ1bmN0aW9uKCl7dmFyIGU9e307cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKHZvaWQgMD09PWVbdF0pe3ZhciBpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCk7aWYod2luZG93LkhUTUxJRnJhbWVFbGVtZW50JiZpIGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KXRyeXtpPWkuY29udGVudERvY3VtZW50LmhlYWR9Y2F0Y2goZSl7aT1udWxsfWVbdF09aX1yZXR1cm4gZVt0XX19KCkscj1bXTtmdW5jdGlvbiBhKGUpe2Zvcih2YXIgdD0tMSxpPTA7aTxyLmxlbmd0aDtpKyspaWYocltpXS5pZGVudGlmaWVyPT09ZSl7dD1pO2JyZWFrfXJldHVybiB0fWZ1bmN0aW9uIGwoZSx0KXtmb3IodmFyIGk9e30sbj1bXSxzPTA7czxlLmxlbmd0aDtzKyspe3ZhciBvPWVbc10sbD10LmJhc2U/b1swXSt0LmJhc2U6b1swXSxjPWlbbF18fDAsdT0iIi5jb25jYXQobCwiICIpLmNvbmNhdChjKTtpW2xdPWMrMTt2YXIgaD1hKHUpLGQ9e2NzczpvWzFdLG1lZGlhOm9bMl0sc291cmNlTWFwOm9bM119Oy0xIT09aD8ocltoXS5yZWZlcmVuY2VzKysscltoXS51cGRhdGVyKGQpKTpyLnB1c2goe2lkZW50aWZpZXI6dSx1cGRhdGVyOmcoZCx0KSxyZWZlcmVuY2VzOjF9KSxuLnB1c2godSl9cmV0dXJuIG59ZnVuY3Rpb24gYyhlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLG49ZS5hdHRyaWJ1dGVzfHx7fTtpZih2b2lkIDA9PT1uLm5vbmNlKXt2YXIgcz1pLm5jO3MmJihuLm5vbmNlPXMpfWlmKE9iamVjdC5rZXlzKG4pLmZvckVhY2goKGZ1bmN0aW9uKGUpe3Quc2V0QXR0cmlidXRlKGUsbltlXSl9KSksImZ1bmN0aW9uIj09dHlwZW9mIGUuaW5zZXJ0KWUuaW5zZXJ0KHQpO2Vsc2V7dmFyIHI9byhlLmluc2VydHx8ImhlYWQiKTtpZighcil0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0JyBwYXJhbWV0ZXIgaXMgaW52YWxpZC4iKTtyLmFwcGVuZENoaWxkKHQpfXJldHVybiB0fXZhciB1LGg9KHU9W10sZnVuY3Rpb24oZSx0KXtyZXR1cm4gdVtlXT10LHUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIlxuIil9KTtmdW5jdGlvbiBkKGUsdCxpLG4pe3ZhciBzPWk/IiI6bi5tZWRpYT8iQG1lZGlhICIuY29uY2F0KG4ubWVkaWEsIiB7IikuY29uY2F0KG4uY3NzLCJ9Iik6bi5jc3M7aWYoZS5zdHlsZVNoZWV0KWUuc3R5bGVTaGVldC5jc3NUZXh0PWgodCxzKTtlbHNle3ZhciBvPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHMpLHI9ZS5jaGlsZE5vZGVzO3JbdF0mJmUucmVtb3ZlQ2hpbGQoclt0XSksci5sZW5ndGg/ZS5pbnNlcnRCZWZvcmUobyxyW3RdKTplLmFwcGVuZENoaWxkKG8pfX1mdW5jdGlvbiBwKGUsdCxpKXt2YXIgbj1pLmNzcyxzPWkubWVkaWEsbz1pLnNvdXJjZU1hcDtpZihzP2Uuc2V0QXR0cmlidXRlKCJtZWRpYSIscyk6ZS5yZW1vdmVBdHRyaWJ1dGUoIm1lZGlhIiksbyYmInVuZGVmaW5lZCIhPXR5cGVvZiBidG9hJiYobis9IlxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCwiLmNvbmNhdChidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShvKSkpKSwiICovIikpLGUuc3R5bGVTaGVldCllLnN0eWxlU2hlZXQuY3NzVGV4dD1uO2Vsc2V7Zm9yKDtlLmZpcnN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQoZS5maXJzdENoaWxkKTtlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG4pKX19dmFyIGY9bnVsbCxtPTA7ZnVuY3Rpb24gZyhlLHQpe3ZhciBpLG4scztpZih0LnNpbmdsZXRvbil7dmFyIG89bSsrO2k9Znx8KGY9Yyh0KSksbj1kLmJpbmQobnVsbCxpLG8sITEpLHM9ZC5iaW5kKG51bGwsaSxvLCEwKX1lbHNlIGk9Yyh0KSxuPXAuYmluZChudWxsLGksdCkscz1mdW5jdGlvbigpeyFmdW5jdGlvbihlKXtpZihudWxsPT09ZS5wYXJlbnROb2RlKXJldHVybiExO2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0oaSl9O3JldHVybiBuKGUpLGZ1bmN0aW9uKHQpe2lmKHQpe2lmKHQuY3NzPT09ZS5jc3MmJnQubWVkaWE9PT1lLm1lZGlhJiZ0LnNvdXJjZU1hcD09PWUuc291cmNlTWFwKXJldHVybjtuKGU9dCl9ZWxzZSBzKCl9fWUuZXhwb3J0cz1mdW5jdGlvbihlLHQpeyh0PXR8fHt9KS5zaW5nbGV0b258fCJib29sZWFuIj09dHlwZW9mIHQuc2luZ2xldG9ufHwodC5zaW5nbGV0b249cygpKTt2YXIgaT1sKGU9ZXx8W10sdCk7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKGU9ZXx8W10sIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSl7Zm9yKHZhciBuPTA7bjxpLmxlbmd0aDtuKyspe3ZhciBzPWEoaVtuXSk7cltzXS5yZWZlcmVuY2VzLS19Zm9yKHZhciBvPWwoZSx0KSxjPTA7YzxpLmxlbmd0aDtjKyspe3ZhciB1PWEoaVtjXSk7MD09PXJbdV0ucmVmZXJlbmNlcyYmKHJbdV0udXBkYXRlcigpLHIuc3BsaWNlKHUsMSkpfWk9b319fX0sMTk0NzU6ZnVuY3Rpb24oZSx0LGkpe3ZhciBuLHM7cz13aW5kb3csbj1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQ9ZSxpPWUuZG9jdW1lbnQ7ZnVuY3Rpb24gbihlLHQpe3JldHVybiEoIWV8fCEoImNsYXNzTGlzdCJpbiBlKSkmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKHQpfWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZSYmImNsYXNzTGlzdCJpbiBlP2UuY2xhc3NMaXN0LmFkZCh0KTp2b2lkIDB9ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBlJiYiY2xhc3NMaXN0ImluIGU/ZS5jbGFzc0xpc3QucmVtb3ZlKHQpOnZvaWQgMH1mdW5jdGlvbiByKGUsdCxuKXtpZihDdXN0b21FdmVudCYmQ3VzdG9tRXZlbnQubmFtZSl2YXIgcz1uZXcgQ3VzdG9tRXZlbnQodCxuKTtlbHNlKHM9aS5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSkuaW5pdEN1c3RvbUV2ZW50KHQsISFuLmJ1YmJsZXMsISFuLmNhbmNlbGFibGUsbi5kZXRhaWwpO3JldHVybiBlLmRpc3BhdGNoRXZlbnQocyl9ZnVuY3Rpb24gYShlLHQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuYXNzaWduKXJldHVybiBPYmplY3QuYXNzaWduKHt9LGUsdHx8e30pO3ZhciBpPU9iamVjdC5jb25zdHJ1Y3RvcigpO2Zvcih2YXIgbiBpbiBlKWlbbl09biBpbiB0P3Rbbl06ZVtuXTtyZXR1cm4gaX1mdW5jdGlvbiBsKGUsdCl7dmFyIG49aS5jcmVhdGVFbGVtZW50KGUpO3JldHVybiBuLmNsYXNzTmFtZT10JiZ0LmpvaW4/dC5qb2luKCIgIik6dHx8IiIsbn12YXIgYyx1PWZ1bmN0aW9uKGUsdCl7aWYoKGU9InN0cmluZyI9PXR5cGVvZiBlP2kucXVlcnlTZWxlY3RvckFsbChlKTplKWluc3RhbmNlb2YgTm9kZUxpc3R8fGUgaW5zdGFuY2VvZiBIVE1MQ29sbGVjdGlvbnx8ZSBpbnN0YW5jZW9mIEFycmF5KXtmb3IodmFyIG49W10scz1lLmxlbmd0aCxvPTA7bzxzO28rKyluLnB1c2gobmV3IHUoZVtvXSxhKHQse30pKSk7cmV0dXJuIDE9PT1uLmxlbmd0aD9uWzBdOjAhPT1uLmxlbmd0aCYmbn1pZighKGUgaW5zdGFuY2VvZiBFbGVtZW50JiZ0aGlzIGluc3RhbmNlb2YgdSkpcmV0dXJuIGUgaW5zdGFuY2VvZiBFbGVtZW50JiZuZXcgdShlLHQpO2lmKHUuaW5zdFtlLmdldEF0dHJpYnV0ZSgiZGF0YS10YWlsLXNlbGVjdCIpXSlyZXR1cm4gdS5pbnN0W2UuZ2V0QXR0cmlidXRlKCJkYXRhLXRhaWwtc2VsZWN0IildO2lmKGUuZ2V0QXR0cmlidXRlKCJkYXRhLXNlbGVjdCIpKXt2YXIgcj1KU09OLnBhcnNlKGUuZ2V0QXR0cmlidXRlKCJkYXRhLXNlbGVjdCIpLnJlcGxhY2UoL1wnL2csJyInKSk7ciBpbnN0YW5jZW9mIE9iamVjdCYmKHQ9YSh0LHIpKX12YXIgbD1lLmdldEF0dHJpYnV0ZSgicGxhY2Vob2xkZXIiKXx8ZS5nZXRBdHRyaWJ1dGUoImRhdGEtcGxhY2Vob2xkZXIiKSxjPSJiaW5kU291cmNlU2VsZWN0IixoPSJzb3VyY2VIaWRlIjtyZXR1cm4odD0ib2JqZWN0Ij09dHlwZW9mIHQ/dDp7fSkubXVsdGlwbGU9Im11bHRpcGxlImluIHQ/dC5tdWx0aXBsZTplLm11bHRpcGxlLHQuZGlzYWJsZWQ9ImRpc2FibGVkImluIHQ/dC5kaXNhYmxlZDplLmRpc2FibGVkLHQucGxhY2Vob2xkZXI9bHx8dC5wbGFjZWhvbGRlcnx8bnVsbCx0LndpZHRoPSJhdXRvIj09PXQud2lkdGg/ZS5vZmZzZXRXaWR0aCs1MDp0LndpZHRoLHQuc291cmNlQmluZD1jIGluIHQ/dFtjXTp0LnNvdXJjZUJpbmR8fCExLHQuc291cmNlSGlkZT1oIGluIHQ/dFtoXTp0LnNvdXJjZUhpZGV8fCEwLHQubXVsdGlMaW1pdD10Lm11bHRpTGltaXQ+PTA/dC5tdWx0aUxpbWl0OjEvMCx0aGlzLmU9ZSx0aGlzLmlkPSsrdS5jb3VudCx0aGlzLmNvbj1hKHUuZGVmYXVsdHMsdCksdGhpcy5ldmVudHM9e30sdS5pbnN0WyJ0YWlsLSIrdGhpcy5pZF09dGhpcyx0aGlzLmluaXQoKS5iaW5kKCl9O3JldHVybiB1LnZlcnNpb249IjAuNS4xNSIsdS5zdGF0dXM9ImJldGEiLHUuY291bnQ9MCx1Lmluc3Q9e30sdS5kZWZhdWx0cz17YW5pbWF0ZTohMCxjbGFzc05hbWVzOm51bGwsY3N2T3V0cHV0OiExLGNzdlNlcGFyYXRvcjoiLCIsZGVzY3JpcHRpb25zOiExLGRlc2VsZWN0OiExLGRpc2FibGVkOiExLGhlaWdodDozNTAsaGlkZURpc2FibGVkOiExLGhpZGVTZWxlY3RlZDohMSxpdGVtczp7fSxsb2NhbGU6ImVuIixsaW5ndWlzdGljUnVsZXM6eyLQtSI6ItGRIixhOiLDpCIsbzoiw7YiLHU6IsO8Iixzczoiw58ifSxtdWx0aXBsZTohMSxtdWx0aUxpbWl0OjEvMCxtdWx0aVBpblNlbGVjdGVkOiExLG11bHRpQ29udGFpbmVyOiExLG11bHRpU2hvd0NvdW50OiEwLG11bHRpU2hvd0xpbWl0OiExLG11bHRpU2VsZWN0QWxsOiExLG11bHRpU2VsZWN0R3JvdXA6ITAsb3BlbkFib3ZlOm51bGwscGxhY2Vob2xkZXI6bnVsbCxzZWFyY2g6ITEsc2VhcmNoQ29uZmlnOlsidGV4dCIsInZhbHVlIl0sc2VhcmNoRm9jdXM6ITAsc2VhcmNoTWFya2VkOiEwLHNlYXJjaE1pbkxlbmd0aDoxLHNlYXJjaERpc2FibGVkOiEwLHNvcnRJdGVtczohMSxzb3J0R3JvdXBzOiExLHNvdXJjZUJpbmQ6ITEsc291cmNlSGlkZTohMCxzdGFydE9wZW46ITEsc3RheU9wZW46ITEsd2lkdGg6bnVsbCxjYkNvbXBsZXRlOnZvaWQgMCxjYkVtcHR5OnZvaWQgMCxjYkxvb3BJdGVtOnZvaWQgMCxjYkxvb3BHcm91cDp2b2lkIDB9LHUuc3RyaW5ncz17ZW46e2FsbDoiQWxsIixub25lOiJOb25lIixlbXB0eToiTm8gT3B0aW9ucyBhdmFpbGFibGUiLGVtcHR5U2VhcmNoOiJObyBPcHRpb25zIGZvdW5kIixsaW1pdDoiWW91IGNhbid0IHNlbGVjdCBtb3JlIE9wdGlvbnMiLHBsYWNlaG9sZGVyOiJTZWxlY3QgYW4gT3B0aW9uLi4uIixwbGFjZWhvbGRlck11bHRpOiJTZWxlY3QgdXAgdG8gOmxpbWl0IE9wdGlvbnMuLi4iLHNlYXJjaDoiVHlwZSBpbiB0byBzZWFyY2guLi4iLGRpc2FibGVkOiJUaGlzIEZpZWxkIGlzIGRpc2FibGVkIn0sbW9kaWZ5OmZ1bmN0aW9uKGUsdCxpKXtpZighKGUgaW4gdGhpcykpcmV0dXJuITE7aWYodCBpbnN0YW5jZW9mIE9iamVjdClmb3IodmFyIG4gaW4gdCl0aGlzLm1vZGlmeShlLG4sdFtuXSk7ZWxzZSB0aGlzW2VdW3RdPSJzdHJpbmciPT10eXBlb2YgaT9pOnRoaXNbZV1bdF07cmV0dXJuITB9LHJlZ2lzdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiZ0IGluc3RhbmNlb2YgT2JqZWN0JiYodGhpc1tlXT10LCEwKX19LHUucHJvdG90eXBlPXtfZTpmdW5jdGlvbihlLHQsaSl7aWYoIShlIGluIHRoaXMuX18pKXJldHVybiBpfHxlO2lmKCJmdW5jdGlvbiI9PXR5cGVvZihlPXRoaXMuX19bZV0pJiYoZT1lLmNhbGwodGhpcyx0KSksIm9iamVjdCI9PXR5cGVvZiB0KWZvcih2YXIgbiBpbiB0KWU9ZS5yZXBsYWNlKG4sdFtuXSk7cmV0dXJuIGV9LGluaXQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9WyJ0YWlsLXNlbGVjdCJdLG49dGhpcy5jb24scz0vXlswLTkuXSsoPzpjbXxtbXxpbnxweHxwdHxwY3xlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fFwlKSQvaSxvPSEwPT09bi5jbGFzc05hbWVzP3RoaXMuZS5jbGFzc05hbWU6bi5jbGFzc05hbWVzO3QucHVzaChvJiZvLnB1c2g/by5qb2luKCIgIik6byYmby5zcGxpdD9vOiJuby1jbGFzc2VzIiksbi5oaWRlU2VsZWN0ZWQmJnQucHVzaCgiaGlkZS1zZWxlY3RlZCIpLG4uaGlkZURpc2FibGVkJiZ0LnB1c2goImhpZGUtZGlzYWJsZWQiKSwwPT1uLm11bHRpTGltaXQmJnQucHVzaCgiZGlzYWJsZWQiKSxuLm11bHRpcGxlJiZ0LnB1c2goIm11bHRpcGxlIiksbi5kZXNlbGVjdCYmdC5wdXNoKCJkZXNlbGVjdCIpLG4uZGlzYWJsZWQmJnQucHVzaCgiZGlzYWJsZWQiKSx0aGlzLl9fPWEodS5zdHJpbmdzLmVuLHUuc3RyaW5nc1tuLmxvY2FsZV18fHt9KSx0aGlzLl9pbml0PSEwLHRoaXMuX3F1ZXJ5PSExLHRoaXMuc2VsZWN0PWwoIkRJViIsdCksdGhpcy5sYWJlbD1sKCJESVYiLCJzZWxlY3QtbGFiZWwiKSx0aGlzLmRyb3Bkb3duPWwoIkRJViIsInNlbGVjdC1kcm9wZG93biIpLHRoaXMuc2VhcmNoPWwoIkRJViIsImRyb3Bkb3duLXNlYXJjaCIpLHRoaXMuY3N2SW5wdXQ9bCgiSU5QVVQiLCJzZWxlY3Qtc2VhcmNoIiksbnVsbCE9PXRoaXMuZS5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iik/dGhpcy5zZWxlY3Quc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsdGhpcy5lLmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKSk6dGhpcy5zZWxlY3Quc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsMCksbi53aWR0aCYmcy50ZXN0KG4ud2lkdGgpP3RoaXMuc2VsZWN0LnN0eWxlLndpZHRoPW4ud2lkdGg6bi53aWR0aCYmIWlzTmFOKHBhcnNlRmxvYXQobi53aWR0aCwxMCkpJiYodGhpcy5zZWxlY3Quc3R5bGUud2lkdGg9bi53aWR0aCsicHgiKSx0aGlzLmxhYmVsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24odCl7ZS50b2dnbGUuY2FsbChlLGUuY29uLmFuaW1hdGUpfSkpLHRoaXMuc2VsZWN0LmFwcGVuZENoaWxkKHRoaXMubGFiZWwpLGlzTmFOKHBhcnNlSW50KG4uaGVpZ2h0LDEwKSl8fCh0aGlzLmRyb3Bkb3duLnN0eWxlLm1heEhlaWdodD1wYXJzZUludChuLmhlaWdodCwxMCkrInB4Iiksbi5zZWFyY2gmJih0aGlzLnNlYXJjaC5pbm5lckhUTUw9JzxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0ic2VhcmNoLWlucHV0IiAvPicsdGhpcy5zZWFyY2guY2hpbGRyZW5bMF0ucGxhY2Vob2xkZXI9dGhpcy5fZSgic2VhcmNoIiksdGhpcy5zZWFyY2guY2hpbGRyZW5bMF0uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLChmdW5jdGlvbih0KXtlLnF1ZXJ5LmNhbGwoZSx0aGlzLnZhbHVlLmxlbmd0aD5uLnNlYXJjaE1pbkxlbmd0aD90aGlzLnZhbHVlOnZvaWQgMCl9KSksdGhpcy5kcm9wZG93bi5hcHBlbmRDaGlsZCh0aGlzLnNlYXJjaCkpLHRoaXMuc2VsZWN0LmFwcGVuZENoaWxkKHRoaXMuZHJvcGRvd24pLHRoaXMuY3N2SW5wdXQudHlwZT0iaGlkZGVuIixuLmNzdk91dHB1dCYmKHRoaXMuY3N2SW5wdXQubmFtZT10aGlzLmUubmFtZSx0aGlzLmUucmVtb3ZlQXR0cmlidXRlKCJuYW1lIiksdGhpcy5zZWxlY3QuYXBwZW5kQ2hpbGQodGhpcy5jc3ZJbnB1dCkpLG4ubXVsdGlwbGUmJm4ubXVsdGlDb250YWluZXImJihpLnF1ZXJ5U2VsZWN0b3Iobi5tdWx0aUNvbnRhaW5lcik/KHRoaXMuY29udGFpbmVyPWkucXVlcnlTZWxlY3RvcihuLm11bHRpQ29udGFpbmVyKSx0aGlzLmNvbnRhaW5lci5jbGFzc05hbWUrPSIgdGFpbC1zZWxlY3QtY29udGFpbmVyIik6ITA9PT1uLm11bHRpQ29udGFpbmVyJiYodGhpcy5jb250YWluZXI9dGhpcy5sYWJlbCx0aGlzLmNvbnRhaW5lci5jbGFzc05hbWUrPSIgdGFpbC1zZWxlY3QtY29udGFpbmVyIikpLHRoaXMub3B0aW9ucz1uZXcgYyh0aGlzLmUsdGhpcyk7Zm9yKHZhciByPXRoaXMuZS5vcHRpb25zLmxlbmd0aCxoPTA7aDxyO2grKyl0aGlzLm9wdGlvbnMuc2V0KHRoaXMuZS5vcHRpb25zW2hdLCExKTtmb3IodmFyIGQgaW4gbi5pdGVtcykic3RyaW5nIj09dHlwZW9mIG4uaXRlbXNbZF0mJihuLml0ZW1zW2RdPXt2YWx1ZTpuLml0ZW1zW2RdfSksdGhpcy5vcHRpb25zLmFkZChuLml0ZW1zW2RdLmtleXx8ZCxuLml0ZW1zW2RdLnZhbHVlLG4uaXRlbXNbZF0uZ3JvdXAsbi5pdGVtc1tkXS5zZWxlY3RlZCxuLml0ZW1zW2RdLmRpc2FibGVkLG4uaXRlbXNbZF0uZGVzY3JpcHRpb24pO3JldHVybiB0aGlzLnF1ZXJ5KCksdGhpcy5lLm5leHRFbGVtZW50U2libGluZz90aGlzLmUucGFyZW50RWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5zZWxlY3QsdGhpcy5lLm5leHRFbGVtZW50U2libGluZyk6dGhpcy5lLnBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5zZWxlY3QpLG4uc291cmNlSGlkZSYmKCJub25lIj09dGhpcy5lLnN0eWxlLmRpc3BsYXk/KHRoaXMuc2VsZWN0LnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuZS5zZXRBdHRyaWJ1dGUoImRhdGEtc2VsZWN0LWhpZGRlbiIsImRpc3BsYXkiKSk6ImhpZGRlbiI9PXRoaXMuZS5zdHlsZS52aXNpYmlsaXR5Pyh0aGlzLnNlbGVjdC5zdHlsZS52aXNpYmlsdGl5PSJoaWRkZW4iLHRoaXMuZS5zZXRBdHRyaWJ1dGUoImRhdGEtc2VsZWN0LWhpZGRlbiIsInZpc2liaWxpdHkiKSk6KHRoaXMuZS5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLmUuc2V0QXR0cmlidXRlKCJkYXRhLXNlbGVjdC1oaWRkZW4iLCIwIikpKSx0aGlzLmUuc2V0QXR0cmlidXRlKCJkYXRhLXRhaWwtc2VsZWN0IiwidGFpbC0iK3RoaXMuaWQpLGUuY29uLnN0YXJ0T3BlbiYmdGhpcy5vcGVuKG4uYW5pbWF0ZSksKG4uY2JDb21wbGV0ZXx8ZnVuY3Rpb24oKXt9KS5jYWxsKHRoaXMsdGhpcy5zZWxlY3QpLHRoaXMuX2luaXQ9ITEsdGhpc30sYmluZDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGZ1bmN0aW9uKHQpe3ZhciBpLHIsYSxsLGMsdT10LmtleUNvZGV8fHQud2hpY2g7aWYoKDMyIT11fHxlLnNlbGVjdCE9PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpJiYoIW4oZS5zZWxlY3QsImFjdGl2ZSIpfHxbMTMsMjcsMzgsNDBdLmluZGV4T2YodSk8MCkpcmV0dXJuITE7aWYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksMzI9PT11KXJldHVybiBlLm9wZW4oZS5jb24uYW5pbWF0ZSk7aWYoMTM9PXUmJihpPWUuZHJvcGRvd24ucXVlcnlTZWxlY3RvcigiLmRyb3Bkb3duLW9wdGlvbi5ob3Zlcjpub3QoLmRpc2FibGVkKSIpKSYmZS5vcHRpb25zLnNlbGVjdC5jYWxsKGUub3B0aW9ucyxpKSwyNz09dXx8MTM9PXUpcmV0dXJuIGUuY2xvc2UoZS5jb24uYW5pbWF0ZSk7aWYoaT1lLmRyb3Bkb3duLnF1ZXJ5U2VsZWN0b3IoIi5kcm9wZG93bi1vcHRpb24uaG92ZXI6bm90KC5kaXNhYmxlZCkiKSlmb3IobyhpLCJob3ZlciIpLGE9Wyg0MD09dT8ibmV4dCI6InByZXZpb3VzIikrIkVsZW1lbnRTaWJsaW5nIl07KGk9bnVsbCE9PShsPWlbYV0pJiYiTEkiPT1pLnRhZ05hbWU/bDpudWxsIT09KGw9aS5wYXJlbnRFbGVtZW50W2FdKSYmbC5jaGlsZHJlbi5sZW5ndGg+MCYmIlVMIj09bC50YWdOYW1lJiZsLmNoaWxkcmVuWzQwPT11PzA6bC5jaGlsZHJlbi5sZW5ndGgtMV0pJiYoIW4oaSwiZHJvcGRvd24tb3B0aW9uIil8fG4oaSwiZGlzYWJsZWQiKSk7KTtpZihpfHw0MCE9dT9pfHwzOCE9dXx8KGk9KGM9ZS5kcm9wZG93bi5xdWVyeVNlbGVjdG9yQWxsKCIuZHJvcGRvd24tb3B0aW9uOm5vdCguZGlzYWJsZWQpIikpW2MubGVuZ3RoLTFdKTppPWUuZHJvcGRvd24ucXVlcnlTZWxlY3RvcigiLmRyb3Bkb3duLW9wdGlvbjpub3QoLmRpc2FibGVkKSIpLGkmJihyPWUuZHJvcGRvd24ucXVlcnlTZWxlY3RvcigiLmRyb3Bkb3duLWlubmVyIikpKXt2YXIgaD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9e3RvcDplLm9mZnNldFRvcCxoZWlnaHQ6ZS5vZmZzZXRIZWlnaHR9OyhlPWUucGFyZW50RWxlbWVudCkhPXI7KXQudG9wKz1lLm9mZnNldFRvcDtyZXR1cm4gdH0oaSk7cyhpLCJob3ZlciIpLHIuc2Nyb2xsVG9wPU1hdGgubWF4KDAsaC50b3AtMipoLmhlaWdodCl9cmV0dXJuITB9KSksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGZ1bmN0aW9uKHQpe2lmKCFuKGUuc2VsZWN0LCJhY3RpdmUiKXx8bihlLnNlbGVjdCwiaWRsZSIpKXJldHVybiExO2lmKCEwPT09ZS5jb24uc3RheU9wZW4pcmV0dXJuITE7Zm9yKHZhciBpPVtlLmUsZS5zZWxlY3QsZS5jb250YWluZXJdLHM9aS5sZW5ndGgsbz0wO288cztvKyspe2lmKGlbb10mJihpW29dLmNvbnRhaW5zKHQudGFyZ2V0KXx8aVtvXT09dC50YXJnZXQpKXJldHVybiExO2lmKCF0LnRhcmdldC5wYXJlbnRFbGVtZW50KXJldHVybiExfXJldHVybiBlLmNsb3NlLmNhbGwoZSxlLmNvbi5hbmltYXRlKX0pKSwhdGhpcy5jb24uc291cmNlQmluZHx8KHRoaXMuZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChmdW5jdGlvbih0KXtpZihudWxsIT10LmRldGFpbClyZXR1cm4hMTtpZih0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSwhdGhpcy5tdWx0aXBsZSYmdGhpcy5zZWxlY3RlZEluZGV4KWUub3B0aW9ucy5zZWxlY3QuY2FsbChlLm9wdGlvbnMsdGhpcy5vcHRpb25zW3RoaXMuc2VsZWN0ZWRJbmRleF0pO2Vsc2V7dmFyIGk9W10uY29uY2F0KGUub3B0aW9ucy5zZWxlY3RlZCksbj1bXS5maWx0ZXIuY2FsbCh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoIm9wdGlvbjpjaGVja2VkIiksKGZ1bmN0aW9uKGUpe3JldHVybiEoaS5pbmRleE9mKGUpPj0wJiYoaS5zcGxpY2UoaS5pbmRleE9mKGUpLDEpLDEpKX0pKTtlLm9wdGlvbnMud2Fsay5jYWxsKGUub3B0aW9ucywidW5zZWxlY3QiLGkpLGUub3B0aW9ucy53YWxrLmNhbGwoZS5vcHRpb25zLCJzZWxlY3QiLG4pfX0pKSwhMCl9LGNhbGxiYWNrOmZ1bmN0aW9uKGUsdCxpKXt2YXIgbj0iW2RhdGEta2V5PSciK2Uua2V5LnJlcGxhY2UoLygnfFxcKS9nLCJcXCQxIikrIiddW2RhdGEtZ3JvdXA9JyIrZS5ncm91cC5yZXBsYWNlKC8oJ3xcXCkvZywiXFwkMSIpKyInXSI7aWYoInJlYnVpbGQiPT10KXJldHVybiB0aGlzLnF1ZXJ5KCk7dmFyIHI9dGhpcy5kcm9wZG93bi5xdWVyeVNlbGVjdG9yKG4pO3JldHVybiByJiZbInNlbGVjdCIsImRpc2FibGUiXS5pbmRleE9mKHQpPj0wP3Mociwic2VsZWN0Ij09dD8ic2VsZWN0ZWQiOiJkaXNhYmxlZCIpOnImJlsidW5zZWxlY3QiLCJlbmFibGUiXS5pbmRleE9mKHQpPj0wJiZvKHIsInVuc2VsZWN0Ij09dD8ic2VsZWN0ZWQiOiJkaXNhYmxlZCIpLHRoaXMudXBkYXRlKGUpLCEwPT09aXx8dGhpcy50cmlnZ2VyKCJjaGFuZ2UiLGUsdCl9LHRyaWdnZXI6ZnVuY3Rpb24oZSl7aWYodGhpcy5faW5pdClyZXR1cm4hMTt2YXIgdD17YnViYmxlczohMSxjYW5jZWxhYmxlOiEwLGRldGFpbDp7YXJnczphcmd1bWVudHMsc2VsZjp0aGlzfX07ImNoYW5nZSI9PWUmJmFyZ3VtZW50c1syXSYmYXJndW1lbnRzWzJdLmluZGV4T2YoInNlbGVjdCIpPj0wJiYocih0aGlzLmUsImlucHV0Iix0KSxyKHRoaXMuZSwiY2hhbmdlIix0KSkscih0aGlzLnNlbGVjdCwidGFpbDo6IitlLHQpO3ZhciBpLG49W107cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcmd1bWVudHMsKGZ1bmN0aW9uKGUsdCl7dD4wJiZuLnB1c2goZSl9KSksKHRoaXMuZXZlbnRzW2VdfHxbXSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7KGk9W10uY29uY2F0KG4pKS5wdXNoKGUuYXJnc3x8bnVsbCksKGUuY2J8fGZ1bmN0aW9uKCl7fSkuYXBwbHkodC5kZXRhaWwuc2VsZixpKX0pKSwhMH0sY2FsYzpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZHJvcGRvd24uY2xvbmVOb2RlKCEwKSxpPXRoaXMuY29uLmhlaWdodCxuPTAscj10aGlzLmRyb3Bkb3duLnF1ZXJ5U2VsZWN0b3IoIi5kcm9wZG93bi1pbm5lciIpOyhlPXRoaXMuZHJvcGRvd24uY2xvbmVOb2RlKCEwKSkuc3R5bGUuY3NzVGV4dD0iaGVpZ2h0OmF1dG87bWluLWhlaWdodDphdXRvO21heC1oZWlnaHQ6bm9uZTtvcGFjaXR5OjA7ZGlzcGxheTpibG9jazt2aXNpYmlsaXR5OmhpZGRlbjsiLGUuc3R5bGUubWF4SGVpZ2h0PXRoaXMuY29uLmhlaWdodCsicHgiLGUuY2xhc3NOYW1lKz0iIGNsb25lZCIsdGhpcy5kcm9wZG93bi5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGUpLGk9aT5lLmNsaWVudEhlaWdodD9lLmNsaWVudEhlaWdodDppLHRoaXMuY29uLnNlYXJjaCYmKG49ZS5xdWVyeVNlbGVjdG9yKCIuZHJvcGRvd24tc2VhcmNoIikuY2xpZW50SGVpZ2h0KSx0aGlzLmRyb3Bkb3duLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoZSk7dmFyIGE9dGhpcy5zZWxlY3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbD10LmlubmVySGVpZ2h0LShhLnRvcCthLmhlaWdodCksYz1pK24+bCYmYS50b3A+bDtyZXR1cm4hMD09PXRoaXMuY29uLm9wZW5BYm92ZXx8ITEhPT10aGlzLmNvbi5vcGVuQWJvdmUmJmM/KGM9ITAsaT1NYXRoLm1pbihpLGEudG9wLTEwKSxzKHRoaXMuc2VsZWN0LCJvcGVuLXRvcCIpKTooYz0hMSxpPU1hdGgubWluKGksbC0xMCksbyh0aGlzLnNlbGVjdCwib3Blbi10b3AiKSksciYmKHRoaXMuZHJvcGRvd24uc3R5bGUubWF4SGVpZ2h0PWkrInB4IixyLnN0eWxlLm1heEhlaWdodD1pLW4rInB4IiksdGhpc30scXVlcnk6ZnVuY3Rpb24oZSx0KXt2YXIgaSxzLG8scixhLGMsdT10aGlzLGg9dGhpcy5jb24sZD0iZ2V0QXR0cmlidXRlIixwPWwoIkRJViIsImRyb3Bkb3duLWlubmVyIiksZj1lPyJmaW5kZXIiOiJ3YWxrZXIiLG09ZT9bZSx0XTpbaC5zb3J0SXRlbXMsaC5zb3J0R3JvdXBzXTtmb3IodGhpcy5fcXVlcnk9InN0cmluZyI9PXR5cGVvZiBlJiZlO2k9dGhpcy5vcHRpb25zW2ZdLmFwcGx5KHRoaXMub3B0aW9ucyxtKTspe2lmKCFvfHxvJiZvW2RdKCJkYXRhLWdyb3VwIikhPT1pLmdyb3VwKXtpZighKChzPShoLmNiTG9vcEdyb3VwfHx0aGlzLmNiR3JvdXApLmNhbGwodGhpcyxpLmdyb3VwLGUscCkpaW5zdGFuY2VvZiBFbGVtZW50KSlicmVhazsobz1zKS5zZXRBdHRyaWJ1dGUoImRhdGEtZ3JvdXAiLGkuZ3JvdXApLHAuYXBwZW5kQ2hpbGQobyl9aWYobnVsbCE9PShyPShoLmNiTG9vcEl0ZW18fHRoaXMuY2JJdGVtKS5jYWxsKHRoaXMsaSxvLGUscCkpKXtpZighMT09PXIpYnJlYWs7ci5zZXRBdHRyaWJ1dGUoImRhdGEta2V5IixpLmtleSksci5zZXRBdHRyaWJ1dGUoImRhdGEtZ3JvdXAiLGkuZ3JvdXApLHIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChmdW5jdGlvbihlKXtpZighdGhpcy5oYXNBdHRyaWJ1dGUoImRhdGEta2V5IikpcmV0dXJuITE7dmFyIHQ9dGhpc1tkXSgiZGF0YS1rZXkiKSxpPXRoaXNbZF0oImRhdGEtZ3JvdXAiKXx8IiMiO3Uub3B0aW9ucy50b2dnbGUuY2FsbCh1Lm9wdGlvbnMsdCxpKSYmKCExIT09dS5jb24uc3RheU9wZW58fHUuY29uLm11bHRpcGxlfHx1LmNsb3NlLmNhbGwodSx1LmNvbi5hbmltYXRlKSl9KSksby5hcHBlbmRDaGlsZChyKX19dmFyIGc9cC5xdWVyeVNlbGVjdG9yQWxsKCIqW2RhdGEta2V5XSIpLmxlbmd0aDswPT1nJiYodGhpcy5jb24uY2JFbXB0eXx8ZnVuY3Rpb24oZSl7dmFyIHQ9bCgiU1BBTiIsImRyb3Bkb3duLWVtcHR5Iik7dC5pbm5lclRleHQ9dGhpcy5fZSgiZW1wdHkiKSxlLmFwcGVuZENoaWxkKHQpfSkuY2FsbCh0aGlzLHAsZSksZz4wJiZoLm11bHRpcGxlJiZoLm11bHRpTGltaXQ9PTEvMCYmaC5tdWx0aVNlbGVjdEFsbCYmKGE9bCgiQlVUVE9OIiwidGFpbC1hbGwiKSxjPWwoIkJVVFRPTiIsInRhaWwtbm9uZSIpLGEuaW5uZXJUZXh0PXRoaXMuX2UoImFsbCIpLGEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9dS5kcm9wZG93bi5xdWVyeVNlbGVjdG9yQWxsKCIuZHJvcGRvd24taW5uZXIgLmRyb3Bkb3duLW9wdGlvbiIpO3Uub3B0aW9ucy53YWxrLmNhbGwodS5vcHRpb25zLCJzZWxlY3QiLHQpfSkpLGMuaW5uZXJUZXh0PXRoaXMuX2UoIm5vbmUiKSxjLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB0PXUuZHJvcGRvd24ucXVlcnlTZWxlY3RvckFsbCgiLmRyb3Bkb3duLWlubmVyIC5kcm9wZG93bi1vcHRpb24iKTt1Lm9wdGlvbnMud2Fsay5jYWxsKHUub3B0aW9ucywidW5zZWxlY3QiLHQpfSkpLChyPWwoIlNQQU4iLCJkcm9wZG93bi1hY3Rpb24iKSkuYXBwZW5kQ2hpbGQoYSksci5hcHBlbmRDaGlsZChjKSxwLmluc2VydEJlZm9yZShyLHAuY2hpbGRyZW5bMF0pKTt2YXIgeT10aGlzLmRyb3Bkb3duLnF1ZXJ5U2VsZWN0b3IoIi5kcm9wZG93bi1pbm5lciIpO3JldHVybiB0aGlzLmRyb3Bkb3duWyh5PyJyZXBsYWNlIjoiYXBwZW5kIikrIkNoaWxkIl0ocCx5KSxuKHRoaXMuc2VsZWN0LCJhY3RpdmUiKSYmdGhpcy5jYWxjKCksdGhpcy51cGRhdGVDU1YoKS51cGRhdGVMYWJlbCgpfSxjYkdyb3VwOmZ1bmN0aW9uKGUsdCl7dmFyIGksbixzPWwoIlVMIiwiZHJvcGRvd24tb3B0Z3JvdXAiKSxvPXRoaXM7cmV0dXJuIiMiPT1lfHwocy5pbm5lckhUTUw9JzxsaSBjbGFzcz0ib3B0Z3JvdXAtdGl0bGUiPjxiPicrZSsiPC9iPjwvbGk+Iix0aGlzLmNvbi5tdWx0aXBsZSYmdGhpcy5jb24ubXVsdGlMaW1pdD09MS8wJiZ0aGlzLmNvbi5tdWx0aVNlbGVjdEFsbCYmKGk9bCgiQlVUVE9OIiwidGFpbC1ub25lIiksbj1sKCJCVVRUT04iLCJ0YWlsLWFsbCIpLGkuaW5uZXJUZXh0PXRoaXMuX2UoIm5vbmUiKSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB0PXRoaXMucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1ncm91cCIpO28ub3B0aW9ucy5hbGwuY2FsbChvLm9wdGlvbnMsInVuc2VsZWN0Iix0KX0pKSxuLmlubmVyVGV4dD10aGlzLl9lKCJhbGwiKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB0PXRoaXMucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1ncm91cCIpO28ub3B0aW9ucy5hbGwuY2FsbChvLm9wdGlvbnMsInNlbGVjdCIsdCl9KSkscy5jaGlsZHJlblswXS5hcHBlbmRDaGlsZChpKSxzLmNoaWxkcmVuWzBdLmFwcGVuZENoaWxkKG4pKSksc30sY2JJdGVtOmZ1bmN0aW9uKGUsdCxpKXt2YXIgbj1sKCJMSSIsImRyb3Bkb3duLW9wdGlvbiIrKGUuc2VsZWN0ZWQ/IiBzZWxlY3RlZCI6IiIpKyhlLmRpc2FibGVkPyIgZGlzYWJsZWQiOiIiKSk7cmV0dXJuIGkmJmkubGVuZ3RoPjAmJnRoaXMuY29uLnNlYXJjaE1hcmtlZD8oaT10aGlzLm9wdGlvbnMuYXBwbHlMaW5ndWlzdGljUnVsZXMoaSksbi5pbm5lckhUTUw9ZS52YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoIigiK2krIikiLCJpIiksIjxtYXJrPiQxPC9tYXJrPiIpKTpuLmlubmVyVGV4dD1lLnZhbHVlLHRoaXMuY29uLmRlc2NyaXB0aW9ucyYmZS5kZXNjcmlwdGlvbiYmKG4uaW5uZXJIVE1MKz0nPHNwYW4gY2xhc3M9Im9wdGlvbi1kZXNjcmlwdGlvbiI+JytlLmRlc2NyaXB0aW9uKyI8L3NwYW4+Iiksbn0sdXBkYXRlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnVwZGF0ZUxhYmVsKCkudXBkYXRlQ29udGFpbmVyKGUpLnVwZGF0ZVBpbihlKS51cGRhdGVDU1YoZSl9LHVwZGF0ZUxhYmVsOmZ1bmN0aW9uKGUpe2lmKHRoaXMuY29udGFpbmVyPT10aGlzLmxhYmVsJiZ0aGlzLm9wdGlvbnMuc2VsZWN0ZWQubGVuZ3RoPjApcmV0dXJuIHRoaXMubGFiZWwucXVlcnlTZWxlY3RvcigiLmxhYmVsLWlubmVyIikmJnRoaXMubGFiZWwucmVtb3ZlQ2hpbGQodGhpcy5sYWJlbC5xdWVyeVNlbGVjdG9yKCIubGFiZWwtaW5uZXIiKSksdGhpcy5sYWJlbC5xdWVyeVNlbGVjdG9yKCIubGFiZWwtY291bnQiKSYmdGhpcy5sYWJlbC5yZW1vdmVDaGlsZCh0aGlzLmxhYmVsLnF1ZXJ5U2VsZWN0b3IoIi5sYWJlbC1jb3VudCIpKSx0aGlzO3ZhciB0LGk9dGhpcy5jb24scz10aGlzLm9wdGlvbnMuc2VsZWN0ZWQubGVuZ3RoO3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKGU9aS5kaXNhYmxlZD8iZGlzYWJsZWQiOjA9PXRoaXMuZHJvcGRvd24ucXVlcnlTZWxlY3RvckFsbCgiKltkYXRhLWtleV0iKS5sZW5ndGg/ImVtcHR5Iisobih0aGlzLnNlbGVjdCwiaW4tc2VhcmNoIik/IlNlYXJjaCI6IiIpOmkubXVsdGlMaW1pdDw9cz8ibGltaXQiOiFpLm11bHRpcGxlJiZ0aGlzLm9wdGlvbnMuc2VsZWN0ZWQubGVuZ3RoPjA/dGhpcy5vcHRpb25zLnNlbGVjdGVkWzBdLmlubmVyVGV4dDoic3RyaW5nIj09dHlwZW9mIGkucGxhY2Vob2xkZXI/aS5wbGFjZWhvbGRlcjoicGxhY2Vob2xkZXIiKyhpLm11bHRpcGxlJiZpLm11bHRpTGltaXQ8MS8wPyJNdWx0aSI6IiIpKSxlPSc8c3BhbiBjbGFzcz0ibGFiZWwtaW5uZXIiPicrKGU9dGhpcy5fZShlLHsiOmxpbWl0IjppLm11bHRpTGltaXR9LGUpKSsiPC9zcGFuPiIsdD1pLm11bHRpU2hvd0xpbWl0JiZpLm11bHRpTGltaXQ8MS8wLGkubXVsdGlwbGUmJmkubXVsdGlTaG93Q291bnQmJihlPShlPSc8c3BhbiBjbGFzcz0ibGFiZWwtY291bnQiPjpjPC9zcGFuPicrZSkucmVwbGFjZSgiOmMiLHMrKHQ/IiAvICIraS5tdWx0aUxpbWl0OiIiKSkpLHRoaXMubGFiZWwuaW5uZXJIVE1MPWUsdGhpc30sdXBkYXRlQ29udGFpbmVyOmZ1bmN0aW9uKGUpe2lmKCF0aGlzLmNvbnRhaW5lcnx8IXRoaXMuY29uLm11bHRpQ29udGFpbmVyKXJldHVybiB0aGlzO3ZhciB0PSJbZGF0YS1ncm91cD0nIitlLmdyb3VwKyInXVtkYXRhLWtleT0nIitlLmtleSsiJ10iO2lmKHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IodCkpcmV0dXJuIGUuc2VsZWN0ZWR8fHRoaXMuY29udGFpbmVyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IodCkpLHRoaXM7aWYoZS5zZWxlY3RlZCl7dmFyIGk9dGhpcyxuPWwoIkRJViIsInNlbGVjdC1oYW5kbGUiKTtuLmlubmVyVGV4dD1lLnZhbHVlLG4uc2V0QXR0cmlidXRlKCJkYXRhLWtleSIsZS5rZXkpLG4uc2V0QXR0cmlidXRlKCJkYXRhLWdyb3VwIixlLmdyb3VwKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHQ9dGhpcy5nZXRBdHRyaWJ1dGUoImRhdGEta2V5Iiksbj10aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS1ncm91cCIpO2kub3B0aW9ucy51bnNlbGVjdC5jYWxsKGkub3B0aW9ucyx0LG4pfSkpLHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKG4pfXJldHVybiB0aGlzfSx1cGRhdGVQaW46ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5kcm9wZG93bi5xdWVyeVNlbGVjdG9yKCIuZHJvcGRvd24taW5uZXIgdWwiKSxpPSJsaVtkYXRhLWtleT0nIitlLmtleSsiJ11bZGF0YS1ncm91cD0nIitlLmdyb3VwKyInXSI7aWYoIXRoaXMuY29uLm11bHRpUGluU2VsZWN0ZWR8fCF0fHwhMSE9PXRoaXMuX3F1ZXJ5KXJldHVybiB0aGlzO2lmKGk9dGhpcy5kcm9wZG93bi5xdWVyeVNlbGVjdG9yKGkpLGUuc2VsZWN0ZWQpdC5pbnNlcnRCZWZvcmUoaSx0LmNoaWxkcmVuWzBdKTtlbHNle2Zvcih2YXIgbj10aGlzLmRyb3Bkb3duLnF1ZXJ5U2VsZWN0b3IoInVsW2RhdGEtZ3JvdXA9JyIrZS5ncm91cCsiJ10iKSxzPXRoaXMub3B0aW9uc1tlLmluZGV4LTFdLG89ITE7cyYmcy5ncm91cD09ZS5ncm91cCYmIShvPW4ucXVlcnlTZWxlY3RvcigibGlbZGF0YS1rZXk9JyIrcy5rZXkrIiddIikpOylzPXRoaXMub3B0aW9uc1tzLmluZGV4LTFdO28mJm8ubmV4dEVsZW1lbnRTaWJsaW5nP24uaW5zZXJ0QmVmb3JlKGksby5uZXh0RWxlbWVudFNpYmxpbmcpOm4uYXBwZW5kQ2hpbGQoaSl9cmV0dXJuIHRoaXN9LHVwZGF0ZUNTVjpmdW5jdGlvbihlKXtpZighdGhpcy5jc3ZJbnB1dHx8IXRoaXMuY29uLmNzdk91dHB1dClyZXR1cm4gdGhpcztmb3IodmFyIHQ9W10saT10aGlzLm9wdGlvbnMuc2VsZWN0ZWQubGVuZ3RoLG49MDtuPGk7bisrKXQucHVzaCh0aGlzLm9wdGlvbnMuc2VsZWN0ZWRbbl0udmFsdWUpO3JldHVybiB0aGlzLmNzdklucHV0LnZhbHVlPXQuam9pbih0aGlzLmNvbi5jc3ZTZXBhcmF0b3J8fCIsIiksdGhpc30sb3BlbjpmdW5jdGlvbihlKXtpZihuKHRoaXMuc2VsZWN0LCJhY3RpdmUiKXx8bih0aGlzLnNlbGVjdCwiaWRsZSIpfHx0aGlzLmNvbi5kaXNhYmxlZClyZXR1cm4hMTt0aGlzLmNhbGMoKTt2YXIgdD1mdW5jdGlvbigpe3MoaS5zZWxlY3QsImFjdGl2ZSIpLG8oaS5zZWxlY3QsImlkbGUiKSx0aGlzLmRyb3Bkb3duLnN0eWxlLmhlaWdodD0iYXV0byIsdGhpcy5kcm9wZG93bi5zdHlsZS5vdmVyZmxvdz0idmlzaWJsZSIsdGhpcy5sYWJlbC5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIiksdGhpcy5jb24uc2VhcmNoJiZ0aGlzLmNvbi5zZWFyY2hGb2N1cyYmdGhpcy5kcm9wZG93bi5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLmZvY3VzKCksdGhpcy50cmlnZ2VyLmNhbGwodGhpcywib3BlbiIpfSxpPXRoaXMscj10aGlzLmRyb3Bkb3duLnN0eWxlO3JldHVybiExIT09ZT8odGhpcy5sYWJlbC5zdHlsZS56SW5kZXg9MjUsdGhpcy5kcm9wZG93bi5zdHlsZS5jc3NUZXh0Kz0iaGVpZ2h0OjA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47IixzKGkuc2VsZWN0LCJpZGxlIiksZnVuY3Rpb24gZSgpe3ZhciBuPXBhcnNlSW50KHIuaGVpZ2h0LDEwKSxzPXBhcnNlSW50KHIubWF4SGVpZ2h0LDEwKTtpZihuPj1zKXJldHVybiB0LmNhbGwoaSk7ci5oZWlnaHQ9KG4rNTA+cz9zOm4rNTApKyJweCIsc2V0VGltZW91dChlLDIwKX0oKSk6KHIuY3NzVGV4dD0iaGVpZ2h0OiIrci5tYXhIZWlnaHQrIjtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjsiLHQuY2FsbCh0aGlzKSksdGhpc30sY2xvc2U6ZnVuY3Rpb24oZSl7aWYoIW4odGhpcy5zZWxlY3QsImFjdGl2ZSIpfHxuKHRoaXMuc2VsZWN0LCJpZGxlIikpcmV0dXJuITE7dmFyIHQ9ZnVuY3Rpb24oKXtvKHRoaXMuc2VsZWN0LCJhY3RpdmUiKSxvKHRoaXMuc2VsZWN0LCJpZGxlIiksdGhpcy5kcm9wZG93bi5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIiksdGhpcy5kcm9wZG93bi5xdWVyeVNlbGVjdG9yKCIuZHJvcGRvd24taW5uZXIiKS5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIiksdGhpcy50cmlnZ2VyLmNhbGwodGhpcywiY2xvc2UiKX0saT10aGlzLHI9dGhpcy5kcm9wZG93bjtyZXR1cm4hMSE9PWU/KHModGhpcy5zZWxlY3QsImlkbGUiKSx0aGlzLmRyb3Bkb3duLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLGZ1bmN0aW9uIGUoKXtpZihwYXJzZUludChyLm9mZnNldEhlaWdodCwxMCktNTA8PTApcmV0dXJuIHQuY2FsbChpKTtyLnN0eWxlLmhlaWdodD1wYXJzZUludChyLm9mZnNldEhlaWdodCwxMCktNTArInB4IixzZXRUaW1lb3V0KGUsMjApfSgpKTp0LmNhbGwodGhpcyksdGhpc30sdG9nZ2xlOmZ1bmN0aW9uKGUpe3JldHVybiBuKHRoaXMuc2VsZWN0LCJhY3RpdmUiKT90aGlzLmNsb3NlKGUpOm4odGhpcy5zZWxlY3QsImlkbGUiKT90aGlzOnRoaXMub3BlbihlKX0scmVtb3ZlOmZ1bmN0aW9uKCl7aWYodGhpcy5lLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS10YWlsLXNlbGVjdCIpLHRoaXMuZS5oYXNBdHRyaWJ1dGUoImRhdGEtc2VsZWN0LWhpZGRlbiIpJiYoIjAiPT10aGlzLmUuZ2V0QXR0cmlidXRlKCJkYXRhLXNlbGVjdC1oaWRkZW4iKSYmdGhpcy5lLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJkaXNwbGF5IiksdGhpcy5lLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zZWxlY3QtaGlkZGVuIikpLEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbCh0aGlzLmUucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtc2VsZWN0LW9wdGlvbj0nYWRkJ10iKSwoZnVuY3Rpb24oZSl7ZS5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGUpfSkpLEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbCh0aGlzLmUucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtc2VsZWN0LW9wdGdyb3VwPSdhZGQnXSIpLChmdW5jdGlvbihlKXtlLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoZSl9KSksdGhpcy5lLm5hbWU9dGhpcy5jc3ZJbnB1dC5oYXNBdHRyaWJ1dGUoIm5hbWUiKT90aGlzLmNzdklucHV0Lm5hbWU6dGhpcy5lLm5hbWUsdGhpcy5zZWxlY3QucGFyZW50RWxlbWVudCYmdGhpcy5zZWxlY3QucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLnNlbGVjdCksdGhpcy5jb250YWluZXIpZm9yKHZhciBlPXRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZWxlY3QtaGFuZGxlIiksdD1lLmxlbmd0aCxpPTA7aTx0O2krKyl0aGlzLmNvbnRhaW5lci5yZW1vdmVDaGlsZChlW2ldKTtyZXR1cm4gdGhpc30scmVsb2FkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVtb3ZlKCkuaW5pdCgpfSxjb25maWc6ZnVuY3Rpb24oZSx0LGkpe2lmKGUgaW5zdGFuY2VvZiBPYmplY3Qpe2Zvcih2YXIgbiBpbiBlKXRoaXMuY29uZmlnKG4sZVtuXSwhMSk7cmV0dXJuIHRoaXMucmVsb2FkKCksdGhpcy5jb259cmV0dXJuIHZvaWQgMD09PWU/dGhpcy5jb246ZSBpbiB0aGlzLmNvbiYmKHZvaWQgMD09PXQ/dGhpcy5jb25bZV06KHRoaXMuY29uW2VdPXQsITEhPT1pJiZ0aGlzLnJlbG9hZCgpLHRoaXMpKX0sZW5hYmxlOmZ1bmN0aW9uKGUpe3JldHVybiBvKHRoaXMuc2VsZWN0LCJkaXNhYmxlZCIpLHRoaXMuZS5kaXNhYmxlZD0hMSx0aGlzLmNvbi5kaXNhYmxlZD0hMSwhMT09PWU/dGhpczp0aGlzLnJlbG9hZCgpfSxkaXNhYmxlOmZ1bmN0aW9uKGUpe3JldHVybiBzKHRoaXMuc2VsZWN0LCJkaXNhYmxlZCIpLHRoaXMuZS5kaXNhYmxlZD0hMCx0aGlzLmNvbi5kaXNhYmxlZD0hMCwhMT09PWU/dGhpczp0aGlzLnJlbG9hZCgpfSxvbjpmdW5jdGlvbihlLHQsaSl7cmV0dXJuIShbIm9wZW4iLCJjbG9zZSIsImNoYW5nZSJdLmluZGV4T2YoZSk8MHx8ImZ1bmN0aW9uIiE9dHlwZW9mIHQpJiYoZSBpbiB0aGlzLmV2ZW50c3x8KHRoaXMuZXZlbnRzW2VdPVtdKSx0aGlzLmV2ZW50c1tlXS5wdXNoKHtjYjp0LGFyZ3M6aSBpbnN0YW5jZW9mIEFycmF5P2k6W119KSx0aGlzKX0sdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gMD09dGhpcy5vcHRpb25zLnNlbGVjdGVkLmxlbmd0aD9udWxsOnRoaXMuY29uLm11bHRpcGxlP3RoaXMub3B0aW9ucy5zZWxlY3RlZC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpOnRoaXMub3B0aW9ucy5zZWxlY3RlZFswXS52YWx1ZX19LChjPXUub3B0aW9ucz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgYz8odGhpcy5zZWxmPXQsdGhpcy5lbGVtZW50PWUsdGhpcy5sZW5ndGg9MCx0aGlzLnNlbGVjdGVkPVtdLHRoaXMuZGlzYWJsZWQ9W10sdGhpcy5pdGVtcz17IiMiOnt9fSx0aGlzLmdyb3Vwcz17fSx0aGlzKTpuZXcgYyhlLHQpfSkucHJvdG90eXBlPXtfcjpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKCJkaXNhYmxlZCIsImRpc2FibGUiKS5yZXBsYWNlKCJlbmFibGVkIiwiZW5hYmxlIikucmVwbGFjZSgic2VsZWN0ZWQiLCJzZWxlY3QiKS5yZXBsYWNlKCJ1bnNlbGVjdGVkIiwidW5zZWxlY3QiKX0sZ2V0OmZ1bmN0aW9uKGUsdCl7dmFyIGk9ImdldEF0dHJpYnV0ZSI7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlLmtleSYmZS5ncm91cCl0PWUuZ3JvdXB8fHQsZT1lLmtleTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBFbGVtZW50KSJPUFRJT04iPT1lLnRhZ05hbWU/KHQ9ZS5wYXJlbnRFbGVtZW50LmxhYmVsfHwiIyIsZT1lLnZhbHVlfHxlLmlubmVyVGV4dCk6ZS5oYXNBdHRyaWJ1dGUoImRhdGEta2V5IikmJih0PWVbaV0oImRhdGEtZ3JvdXAiKXx8ZS5wYXJlbnRFbGVtZW50W2ldKCJkYXRhLWdyb3VwIil8fCIjIixlPWVbaV0oImRhdGEta2V5IikpO2Vsc2UgaWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiExO3JldHVybiBlPS9eWzAtOV0rJC8udGVzdChlKT8iXyIrZTplLHQgaW4gdGhpcy5pdGVtcyYmdGhpcy5pdGVtc1t0XVtlXX0sc2V0OmZ1bmN0aW9uKGUsdCl7dmFyIGk9ZS52YWx1ZXx8ZS5pbm5lclRleHQsbj1lLnBhcmVudEVsZW1lbnQubGFiZWx8fCIjIjtpZihuIGluIHRoaXMuaXRlbXN8fCh0aGlzLml0ZW1zW25dPXt9LHRoaXMuZ3JvdXBzW25dPWUucGFyZW50RWxlbWVudCksaSBpbiB0aGlzLml0ZW1zW25dKXJldHVybiExO3ZhciBzPS9eWzAtOV0rJC8udGVzdChpKT8iXyIraTppLG89dGhpcy5zZWxmLmNvbjtpZihvLm11bHRpcGxlJiZ0aGlzLnNlbGVjdGVkLmxlbmd0aD49by5tdWx0aUxpbWl0JiYoZS5zZWxlY3RlZD0hMSksIWUuc2VsZWN0ZWR8fCFvLmRlc2VsZWN0fHxlLmhhc0F0dHJpYnV0ZSgic2VsZWN0ZWQiKSYmMCE9by5tdWx0aUxpbWl0fHwoZS5zZWxlY3RlZD0hMSxlLnBhcmVudEVsZW1lbnQuc2VsZWN0ZWRJbmRleD0tMSksZS5oYXNBdHRyaWJ1dGUoImRhdGEtZGVzY3JpcHRpb24iKSl7dmFyIHI9bCgiU1BBTiIpO3IuaW5uZXJIVE1MPWUuZ2V0QXR0cmlidXRlKCJkYXRhLWRlc2NyaXB0aW9uIiksZS5zZXRBdHRyaWJ1dGUoImRhdGEtZGVzY3JpcHRpb24iLHIuaW5uZXJIVE1MKX1yZXR1cm4gdGhpcy5pdGVtc1tuXVtzXT17a2V5OmksdmFsdWU6ZS50ZXh0LGRlc2NyaXB0aW9uOmUuZ2V0QXR0cmlidXRlKCJkYXRhLWRlc2NyaXB0aW9uIil8fG51bGwsZ3JvdXA6bixvcHRpb246ZSxvcHRncm91cDoiIyIhPW4/dGhpcy5ncm91cHNbbl06dm9pZCAwLHNlbGVjdGVkOmUuc2VsZWN0ZWQsZGlzYWJsZWQ6ZS5kaXNhYmxlZCxoaWRkZW46ZS5oaWRkZW58fCExfSx0aGlzLmxlbmd0aCsrLGUuc2VsZWN0ZWQmJnRoaXMuc2VsZWN0KHRoaXMuaXRlbXNbbl1bc10pLGUuZGlzYWJsZWQmJnRoaXMuZGlzYWJsZSh0aGlzLml0ZW1zW25dW3NdKSwhdHx8dGhpcy5zZWxmLmNhbGxiYWNrKHRoaXMuaXRlbXNbbl1baV0sInJlYnVpbGQiKX0sYWRkOmZ1bmN0aW9uKGUsdCxuLHMsbyxyLGEpe2lmKGUgaW5zdGFuY2VvZiBPYmplY3Qpe2Zvcih2YXIgYyBpbiBlKXRoaXMuYWRkKGVbY10ua2V5fHxjLGVbY10udmFsdWUsZVtjXS5ncm91cCxlW2NdLnNlbGVjdGVkLGVbY10uZGlzYWJsZWQsZVtjXS5kZXNjcmlwdGlvbiwhMSk7cmV0dXJuIHRoaXMuc2VsZi5xdWVyeSgpfWlmKHRoaXMuZ2V0KGUsbikpcmV0dXJuITE7aWYoIiMiIT09KG49InN0cmluZyI9PXR5cGVvZiBuP246IiMiKSYmIShuIGluIHRoaXMuZ3JvdXBzKSl7dmFyIHU9bCgiT1BUR1JPVVAiKTt1LmxhYmVsPW4sdS5zZXRBdHRyaWJ1dGUoImRhdGEtc2VsZWN0LW9wdGdyb3VwIiwiYWRkIiksdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHUpLHRoaXMuaXRlbXNbbl09e30sdGhpcy5ncm91cHNbbl09dX10aGlzLnNlbGYuY29uLm11bHRpcGxlJiZ0aGlzLnNlbGVjdGVkLmxlbmd0aD49dGhpcy5zZWxmLmNvbi5tdWx0aUxpbWl0JiYocz0hMSksbz0hIW87dmFyIGg9aS5jcmVhdGVFbGVtZW50KCJPUFRJT04iKTtyZXR1cm4gaC52YWx1ZT1lLGguc2VsZWN0ZWQ9cyxoLmRpc2FibGVkPW8saC5pbm5lclRleHQ9dCxoLnNldEF0dHJpYnV0ZSgiZGF0YS1zZWxlY3Qtb3B0aW9uIiwiYWRkIiksciYmci5sZW5ndGg+MCYmaC5zZXRBdHRyaWJ1dGUoImRhdGEtZGVzY3JpcHRpb24iLHIpLCgiIyI9PW4/dGhpcy5lbGVtZW50OnRoaXMuZ3JvdXBzW25dKS5hcHBlbmRDaGlsZChoKSx0aGlzLnNldChoLGEpfSxtb3ZlOmZ1bmN0aW9uKGUsdCxpLG4pe2lmKCEoZT10aGlzLmdldChlLHQpKSlyZXR1cm4hMTtpZigiIyIhPT1pJiYhKGkgaW4gdGhpcy5ncm91cHMpKXt2YXIgcz1sKCJPUFRHUk9VUCIpO3MubGFiZWw9aSx0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQocyksdGhpcy5pdGVtc1tpXT17fSx0aGlzLmdyb3Vwc1tpXT1zLHRoaXMuZ3JvdXBzW2ldLmFwcGVuZENoaWxkKGUub3B0aW9uKX1yZXR1cm4gZGVsZXRlIHRoaXMuaXRlbXNbZS5ncm91cF1bZS5rZXldLGUuZ3JvdXA9aSxlLm9wdGdyb3VwPXRoaXMuZ3JvdXBzW2ldfHx2b2lkIDAsdGhpcy5pdGVtc1tpXVtlLmtleV09ZSwhbnx8dGhpcy5zZWxmLnF1ZXJ5KCl9LHJlbW92ZTpmdW5jdGlvbihlLHQsaSl7aWYoIShlPXRoaXMuZ2V0KGUsdCkpKXJldHVybiExO2Uuc2VsZWN0ZWQmJnRoaXMudW5zZWxlY3QoZSksZS5kaXNhYmxlZCYmdGhpcy5lbmFibGUoZSksZS5vcHRpb24ucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChlLm9wdGlvbik7dmFyIG49L15bMC05XSskLy50ZXN0KGUua2V5KT8iXyIrZS5rZXk6ZS5rZXk7cmV0dXJuIGRlbGV0ZSB0aGlzLml0ZW1zW2UuZ3JvdXBdW25dLHRoaXMubGVuZ3RoLS0sMD09PU9iamVjdC5rZXlzKHRoaXMuaXRlbXNbZS5ncm91cF0pLmxlbmd0aCYmKGRlbGV0ZSB0aGlzLml0ZW1zW2UuZ3JvdXBdLGRlbGV0ZSB0aGlzLmdyb3Vwc1tlLmdyb3VwXSksIWl8fHRoaXMuc2VsZi5xdWVyeSgpfSxpczpmdW5jdGlvbihlLHQsaSl7ZT10aGlzLl9yKGUpO3ZhciBuPXRoaXMuZ2V0KHQsaSk7cmV0dXJuIW58fFsic2VsZWN0IiwidW5zZWxlY3QiLCJkaXNhYmxlIiwiZW5hYmxlIl0uaW5kZXhPZihlKTwwP251bGw6ImRpc2FibGUiPT1lfHwiZW5hYmxlIj09ZT8iZGlzYWJsZSI9PWU/bi5kaXNhYmxlZDohbi5kaXNhYmxlZDooInNlbGVjdCI9PWV8fCJ1bnNlbGVjdCI9PWUpJiYoInNlbGVjdCI9PWU/bi5zZWxlY3RlZDohbi5zZWxlY3RlZCl9LGhhbmRsZTpmdW5jdGlvbihlLHQsaSxzKXt2YXIgbz10aGlzLmdldCh0LGkpO2lmKGU9dGhpcy5fcihlKSwhb3x8WyJzZWxlY3QiLCJ1bnNlbGVjdCIsImRpc2FibGUiLCJlbmFibGUiXS5pbmRleE9mKGUpPDApcmV0dXJuIG51bGw7aWYoImRpc2FibGUiPT1lfHwiZW5hYmxlIj09ZSlyZXR1cm4gby5vcHRpb24gaW4gdGhpcy5kaXNhYmxlZHx8ImRpc2FibGUiIT1lP28ub3B0aW9uIGluIHRoaXMuZGlzYWJsZWQmJiJlbmFibGUiPT1lJiZ0aGlzLmRpc2FibGVkLnNwbGljZSh0aGlzLmRpc2FibGVkLmluZGV4T2Yoby5vcHRpb24pLDEpOnRoaXMuZGlzYWJsZWQucHVzaChvLm9wdGlvbiksby5kaXNhYmxlZD0iZGlzYWJsZSI9PWUsby5vcHRpb24uZGlzYWJsZWQ9ImRpc2FibGUiPT1lLHRoaXMuc2VsZi5jYWxsYmFjay5jYWxsKHRoaXMuc2VsZixvLGUpO3ZhciByPW4odGhpcy5zZWxmLnNlbGVjdCwiZGlzYWJsZWQiKXx8by5kaXNhYmxlZHx8by5vcHRpb24uZGlzYWJsZWQsYT10aGlzLnNlbGYuY29uLm11bHRpcGxlJiZ0aGlzLnNlbGYuY29uLm11bHRpTGltaXQ8PXRoaXMuc2VsZWN0ZWQubGVuZ3RoLGw9IXRoaXMuc2VsZi5jb24ubXVsdGlwbGUmJnRoaXMuc2VsZWN0ZWQuaW5kZXhPZihvLm9wdGlvbik+MCxjPTA9PXRoaXMuc2VsZi5jb24ubXVsdGlMaW1pdCYmMT09dGhpcy5zZWxmLmNvbi5kZXNlbGVjdCx1PSF0aGlzLnNlbGYuY29uLm11bHRpcGxlJiYhdGhpcy5zZWxmLmNvbi5kZXNlbGVjdCYmITAhPT1zO2lmKCJzZWxlY3QiPT1lKXtpZihyfHxhfHxjfHxsKXJldHVybiExO2lmKCF0aGlzLnNlbGYuY29uLm11bHRpcGxlKWZvcih2YXIgaCBpbiB0aGlzLnNlbGVjdGVkKXRoaXMudW5zZWxlY3QodGhpcy5zZWxlY3RlZFtoXSx2b2lkIDAsITApO3RoaXMuc2VsZWN0ZWQuaW5kZXhPZihvLm9wdGlvbik8MCYmdGhpcy5zZWxlY3RlZC5wdXNoKG8ub3B0aW9uKX1lbHNlIGlmKCJ1bnNlbGVjdCI9PWUpe2lmKHJ8fHUpcmV0dXJuITE7dGhpcy5zZWxlY3RlZC5zcGxpY2UodGhpcy5zZWxlY3RlZC5pbmRleE9mKG8ub3B0aW9uKSwxKX1yZXR1cm4gby5zZWxlY3RlZD0ic2VsZWN0Ij09ZSxvLm9wdGlvbi5zZWxlY3RlZD0ic2VsZWN0Ij09ZSxvLm9wdGlvblsoZS5sZW5ndGg+Nj8icmVtb3ZlIjoic2V0IikrIkF0dHJpYnV0ZSJdKCJzZWxlY3RlZCIsInNlbGVjdGVkIiksdGhpcy5zZWxmLmNhbGxiYWNrLmNhbGwodGhpcy5zZWxmLG8sZSxzKX0sZW5hYmxlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuaGFuZGxlKCJlbmFibGUiLGUsdCwhMSl9LGRpc2FibGU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5oYW5kbGUoImRpc2FibGUiLGUsdCwhMSl9LHNlbGVjdDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmhhbmRsZSgic2VsZWN0IixlLHQsITEpfSx1bnNlbGVjdDpmdW5jdGlvbihlLHQsaSl7cmV0dXJuIHRoaXMuaGFuZGxlKCJ1bnNlbGVjdCIsZSx0LGkpfSx0b2dnbGU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4hIShlPXRoaXMuZ2V0KGUsdCkpJiZ0aGlzLmhhbmRsZShlLnNlbGVjdGVkPyJ1bnNlbGVjdCI6InNlbGVjdCIsZSx0LCExKX0saW52ZXJ0OmZ1bmN0aW9uKGUpe2lmKGU9dGhpcy5fcihlKSxbImVuYWJsZSIsImRpc2FibGUiXS5pbmRleE9mKGUpPj0wKXZhciB0PXRoaXMuZGlzYWJsZWQsaT0iZW5hYmxlIj09ZT8iZGlzYWJsZSI6ImVuYWJsZSI7ZWxzZVsic2VsZWN0IiwidW5zZWxlY3QiXS5pbmRleE9mKGUpPj0wJiYodD10aGlzLnNlbGVjdGVkLGk9InNlbGVjdCI9PWU/InVuc2VsZWN0Ijoic2VsZWN0Iik7dmFyIG49QXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKHRoaXMsKGZ1bmN0aW9uKGUpe3JldHVybiEoZSBpbiB0KX0pKSxzPXRoaXM7cmV0dXJuW10uY29uY2F0KHQpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3MuaGFuZGxlLmNhbGwocyxpLGUpfSkpLFtdLmNvbmNhdChuKS5mb3JFYWNoKChmdW5jdGlvbih0KXtzLmhhbmRsZS5jYWxsKHMsZSx0KX0pKSwhMH0sYWxsOmZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcyxuPXRoaXM7cmV0dXJuIHQgaW4gdGhpcy5pdGVtcz9uPU9iamVjdC5rZXlzKHRoaXMuaXRlbXNbdF0pOlsidW5zZWxlY3QiLCJlbmFibGUiXS5pbmRleE9mKGUpPj0wJiYobj1bXS5jb25jYXQoInVuc2VsZWN0Ij09ZT90aGlzLnNlbGVjdGVkOnRoaXMuZGlzYWJsZWQpKSxBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG4sKGZ1bmN0aW9uKG4pe2kuaGFuZGxlLmNhbGwoaSxlLG4sdCwhMSl9KSksITB9LHdhbGs6ZnVuY3Rpb24oZSx0LGkpe2lmKHQgaW5zdGFuY2VvZiBBcnJheXx8dC5sZW5ndGgpZm9yKHZhciBuPXQubGVuZ3RoLHM9MDtzPG47cysrKXRoaXMuaGFuZGxlLmFwcGx5KHRoaXMsW2UsdFtzXSxudWxsXS5jb25jYXQoaSkpO2Vsc2UgaWYodCBpbnN0YW5jZW9mIE9iamVjdCl7dmFyIG89dGhpcztpZih0LmZvckVhY2gpdC5mb3JFYWNoKChmdW5jdGlvbih0KXtvLmhhbmRsZS5hcHBseShvLFtlLHQsbnVsbF0uY29uY2F0KGkpKX0pKTtlbHNlIGZvcih2YXIgciBpbiB0KSgic3RyaW5nIj09dHlwZW9mIHRbcl18fCJudW1iZXIiPT10eXBlb2YgdFtyXXx8dFtyXWluc3RhbmNlb2YgRWxlbWVudCkmJnRoaXMuaGFuZGxlLmFwcGx5KHRoaXMsW2UsdFtyXSxyIGluIHRoaXMuaXRlbXM/cjpudWxsXSkuY29uY2F0KGkpfXJldHVybiB0aGlzfSxhcHBseUxpbmd1aXN0aWNSdWxlczpmdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuc2VsZi5jb24ubGluZ3Vpc3RpY1J1bGVzLG49W107cmV0dXJuIE9iamVjdC5rZXlzKGkpLmZvckVhY2goKGZ1bmN0aW9uKGUpe24ucHVzaCgiKCIrZSsifFsiK2lbZV0rIl0pIil9KSksdCYmKG49bi5jb25jYXQobi5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRvVXBwZXJDYXNlKCl9KSkpKSxlLnJlcGxhY2UobmV3IFJlZ0V4cChuLmpvaW4oInwiKSx0PyJnIjoiaWciKSwoZnVuY3Rpb24oZSl7cmV0dXJuIG5bW10uaW5kZXhPZi5jYWxsKGFyZ3VtZW50cyxlLDEpLTFdfSkpfSxmaW5kOmZ1bmN0aW9uKGUsdCl7dmFyIGksbj10aGlzLHM9e307aWYodHx8KHQ9dGhpcy5zZWxmLmNvbi5zZWFyY2hDb25maWcpLCJmdW5jdGlvbiI9PXR5cGVvZiB0KWk9dC5iaW5kKHRoaXMsZSk7ZWxzZXsodD10IGluc3RhbmNlb2YgQXJyYXk/dDpbdF0pLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJzdHJpbmciPT10eXBlb2YgZSYmKHNbZV09ITApfSkpLHMuYW55PXMuYW55P3MuYW55OnMuYXR0cmlidXRlcyYmcy52YWx1ZSxzLnJlZ2V4JiYhcy50ZXh0fHwoZT1lLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCJcXCQmIikpLHMuZXhhY3RnbHlwaGVzfHwoZT10aGlzLnNlbGYub3B0aW9ucy5hcHBseUxpbmd1aXN0aWNSdWxlcyhlLHMuY2FzZSkpLHMud29yZCYmKGU9IlxcYiIrZSsiXFxiIik7dmFyIG89bmV3IFJlZ0V4cChlLHMuY2FzZT8ibSI6Im1pIikscj1mdW5jdGlvbihlKXtyZXR1cm4gby50ZXN0KGUudGV4dHx8ZS52YWx1ZSl9O2lmKGk9cy5hbnk/ZnVuY3Rpb24oZSl7cmV0dXJuIHIoZSl8fFtdLnNvbWUuY2FsbChlLmF0dHJpYnV0ZXMscil9OnMuYXR0cmlidXRlcz9mdW5jdGlvbihlKXtyZXR1cm5bXS5zb21lLmNhbGwoZS5hdHRyaWJ1dGVzLHIpfTpyLCF0aGlzLnNlbGYuY29uLnNlYXJjaERpc2FibGVkKXt2YXIgYT1pO2k9ZnVuY3Rpb24oZSl7cmV0dXJuIWUuZGlzYWJsZWQmJmEoZSl9fX1yZXR1cm5bXS5maWx0ZXIuY2FsbCh0aGlzLnNlbGYuZS5vcHRpb25zLGkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIWUuaGlkZGVuJiZuLmdldChlKX0pKX0sZmluZGVyOmZ1bmN0aW9uKGUsdCl7dmFyIGk7Zm9yKHZvaWQgMD09PXRoaXMuX2ZpbmRlckxvb3AmJih0aGlzLl9maW5kZXJMb29wPXRoaXMuZmluZChlLHQpKTt2b2lkIDAhPT0oaT10aGlzLl9maW5kZXJMb29wLnNoaWZ0KCkpOylyZXR1cm4gaTtyZXR1cm4gZGVsZXRlIHRoaXMuX2ZpbmRlckxvb3AsITF9LHdhbGtlcjpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXRoaXMuX2luTG9vcCYmdGhpcy5faW5Mb29wKXtpZih0aGlzLl9pbkl0ZW1zLmxlbmd0aD4wKXtkb3t2YXIgaT10aGlzLml0ZW1zW3RoaXMuX2luR3JvdXBdW3RoaXMuX2luSXRlbXMuc2hpZnQoKV19d2hpbGUoITA9PT1pLmhpZGRlbik7cmV0dXJuIGl9aWYodGhpcy5faW5Hcm91cHMubGVuZ3RoPjApe2Zvcig7dGhpcy5faW5Hcm91cHMubGVuZ3RoPjA7KXt2YXIgbj10aGlzLl9pbkdyb3Vwcy5zaGlmdCgpO2lmKCEobiBpbiB0aGlzLml0ZW1zKSlyZXR1cm4hMTt2YXIgcz1PYmplY3Qua2V5cyh0aGlzLml0ZW1zW25dKTtpZihzLmxlbmd0aD4wKWJyZWFrfXJldHVybiJBU0MiPT1lP3Muc29ydCgpOiJERVNDIj09ZT9zLnNvcnQoKS5yZXZlcnNlKCk6ImZ1bmN0aW9uIj09dHlwZW9mIGUmJihzPWUuY2FsbCh0aGlzLHMpKSx0aGlzLl9pbkl0ZW1zPXMsdGhpcy5faW5Hcm91cD1uLHRoaXMud2Fsa2VyKG51bGwsbnVsbCl9cmV0dXJuIGRlbGV0ZSB0aGlzLl9pbkxvb3AsZGVsZXRlIHRoaXMuX2luSXRlbXMsZGVsZXRlIHRoaXMuX2luR3JvdXAsZGVsZXRlIHRoaXMuX2luR3JvdXBzLCExfXZhciBvPU9iamVjdC5rZXlzKHRoaXMuZ3JvdXBzKXx8W107cmV0dXJuIkFTQyI9PXQ/by5zb3J0KCk6IkRFU0MiPT10P28uc29ydCgpLnJldmVyc2UoKToiZnVuY3Rpb24iPT10eXBlb2YgdCYmKG89dC5jYWxsKHRoaXMsbykpLG8udW5zaGlmdCgiIyIpLHRoaXMuX2luTG9vcD0hMCx0aGlzLl9pbkl0ZW1zPVtdLHRoaXMuX2luR3JvdXBzPW8sdGhpcy53YWxrZXIoZSxudWxsKX19LHV9KHMpfS5jYWxsKHQsaSx0LGUpLHZvaWQgMD09PW58fChlLmV4cG9ydHM9bil9LDQzODQyOmZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlPVtdLHQ9cyl7aWYodGhpcy5kYXRhPWUsdGhpcy5sZW5ndGg9dGhpcy5kYXRhLmxlbmd0aCx0aGlzLmNvbXBhcmU9dCx0aGlzLmxlbmd0aD4wKWZvcihsZXQgZT0odGhpcy5sZW5ndGg+PjEpLTE7ZT49MDtlLS0pdGhpcy5fZG93bihlKX1wdXNoKGUpe3RoaXMuZGF0YS5wdXNoKGUpLHRoaXMubGVuZ3RoKyssdGhpcy5fdXAodGhpcy5sZW5ndGgtMSl9cG9wKCl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybjtjb25zdCBlPXRoaXMuZGF0YVswXSx0PXRoaXMuZGF0YS5wb3AoKTtyZXR1cm4gdGhpcy5sZW5ndGgtLSx0aGlzLmxlbmd0aD4wJiYodGhpcy5kYXRhWzBdPXQsdGhpcy5fZG93bigwKSksZX1wZWVrKCl7cmV0dXJuIHRoaXMuZGF0YVswXX1fdXAoZSl7Y29uc3R7ZGF0YTp0LGNvbXBhcmU6aX09dGhpcyxuPXRbZV07Zm9yKDtlPjA7KXtjb25zdCBzPWUtMT4+MSxvPXRbc107aWYoaShuLG8pPj0wKWJyZWFrO3RbZV09byxlPXN9dFtlXT1ufV9kb3duKGUpe2NvbnN0e2RhdGE6dCxjb21wYXJlOml9PXRoaXMsbj10aGlzLmxlbmd0aD4+MSxzPXRbZV07Zm9yKDtlPG47KXtsZXQgbj0xKyhlPDwxKSxvPXRbbl07Y29uc3Qgcj1uKzE7aWYocjx0aGlzLmxlbmd0aCYmaSh0W3JdLG8pPDAmJihuPXIsbz10W3JdKSxpKG8scyk+PTApYnJlYWs7dFtlXT1vLGU9bn10W2VdPXN9fWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZTx0Py0xOmU+dD8xOjB9fSw3MDY1NTpmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtaVDpmdW5jdGlvbigpe3JldHVybiBzfSxwaTpmdW5jdGlvbigpe3JldHVybiBvfSxtRzpmdW5jdGlvbigpe3JldHVybiByfSxKaDpmdW5jdGlvbigpe3JldHVybiBhfSxYQTpmdW5jdGlvbigpe3JldHVybiBsfSxDUjpmdW5jdGlvbigpe3JldHVybiBjfSxmbDpmdW5jdGlvbigpe3JldHVybiB1fX0pOy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4KUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC4KVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgKUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZCkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwKSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NCkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SCk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi92YXIgbj1mdW5jdGlvbihlLHQpe3JldHVybiBuPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgaSBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiYoZVtpXT10W2ldKX0sbihlLHQpfTtmdW5jdGlvbiBzKGUsdCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQmJm51bGwhPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcodCkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9ZX1uKGUsdCksZS5wcm90b3R5cGU9bnVsbD09PXQ/T2JqZWN0LmNyZWF0ZSh0KTooaS5wcm90b3R5cGU9dC5wcm90b3R5cGUsbmV3IGkpfXZhciBvPWZ1bmN0aW9uKCl7cmV0dXJuIG89T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LGk9MSxuPWFyZ3VtZW50cy5sZW5ndGg7aTxuO2krKylmb3IodmFyIHMgaW4gdD1hcmd1bWVudHNbaV0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscykmJihlW3NdPXRbc10pO3JldHVybiBlfSxvLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gcihlLHQsaSxuKXtyZXR1cm4gbmV3KGl8fChpPVByb21pc2UpKSgoZnVuY3Rpb24ocyxvKXtmdW5jdGlvbiByKGUpe3RyeXtsKG4ubmV4dChlKSl9Y2F0Y2goZSl7byhlKX19ZnVuY3Rpb24gYShlKXt0cnl7bChuLnRocm93KGUpKX1jYXRjaChlKXtvKGUpfX1mdW5jdGlvbiBsKGUpe3ZhciB0O2UuZG9uZT9zKGUudmFsdWUpOih0PWUudmFsdWUsdCBpbnN0YW5jZW9mIGk/dDpuZXcgaSgoZnVuY3Rpb24oZSl7ZSh0KX0pKSkudGhlbihyLGEpfWwoKG49bi5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pKX1mdW5jdGlvbiBhKGUsdCl7dmFyIGksbixzLG8scj17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZzWzBdKXRocm93IHNbMV07cmV0dXJuIHNbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gbz17bmV4dDphKDApLHRocm93OmEoMSkscmV0dXJuOmEoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihvW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG87ZnVuY3Rpb24gYShvKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKG8pe2lmKGkpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7cjspdHJ5e2lmKGk9MSxuJiYocz0yJm9bMF0/bi5yZXR1cm46b1swXT9uLnRocm93fHwoKHM9bi5yZXR1cm4pJiZzLmNhbGwobiksMCk6bi5uZXh0KSYmIShzPXMuY2FsbChuLG9bMV0pKS5kb25lKXJldHVybiBzO3N3aXRjaChuPTAscyYmKG89WzImb1swXSxzLnZhbHVlXSksb1swXSl7Y2FzZSAwOmNhc2UgMTpzPW87YnJlYWs7Y2FzZSA0OnJldHVybiByLmxhYmVsKysse3ZhbHVlOm9bMV0sZG9uZTohMX07Y2FzZSA1OnIubGFiZWwrKyxuPW9bMV0sbz1bMF07Y29udGludWU7Y2FzZSA3Om89ci5vcHMucG9wKCksci50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShzPXIudHJ5cywocz1zLmxlbmd0aD4wJiZzW3MubGVuZ3RoLTFdKXx8NiE9PW9bMF0mJjIhPT1vWzBdKSl7cj0wO2NvbnRpbnVlfWlmKDM9PT1vWzBdJiYoIXN8fG9bMV0+c1swXSYmb1sxXTxzWzNdKSl7ci5sYWJlbD1vWzFdO2JyZWFrfWlmKDY9PT1vWzBdJiZyLmxhYmVsPHNbMV0pe3IubGFiZWw9c1sxXSxzPW87YnJlYWt9aWYocyYmci5sYWJlbDxzWzJdKXtyLmxhYmVsPXNbMl0sci5vcHMucHVzaChvKTticmVha31zWzJdJiZyLm9wcy5wb3AoKSxyLnRyeXMucG9wKCk7Y29udGludWV9bz10LmNhbGwoZSxyKX1jYXRjaChlKXtvPVs2LGVdLG49MH1maW5hbGx5e2k9cz0wfWlmKDUmb1swXSl0aHJvdyBvWzFdO3JldHVybnt2YWx1ZTpvWzBdP29bMV06dm9pZCAwLGRvbmU6ITB9fShbbyxhXSl9fX1PYmplY3QuY3JlYXRlO2Z1bmN0aW9uIGwoZSl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yLGk9dCYmZVt0XSxuPTA7aWYoaSlyZXR1cm4gaS5jYWxsKGUpO2lmKGUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpcmV0dXJue25leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gZSYmbj49ZS5sZW5ndGgmJihlPXZvaWQgMCkse3ZhbHVlOmUmJmVbbisrXSxkb25lOiFlfX19O3Rocm93IG5ldyBUeXBlRXJyb3IodD8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIil9ZnVuY3Rpb24gYyhlLHQpe3ZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXTtpZighaSlyZXR1cm4gZTt2YXIgbixzLG89aS5jYWxsKGUpLHI9W107dHJ5e2Zvcig7KHZvaWQgMD09PXR8fHQtLT4wKSYmIShuPW8ubmV4dCgpKS5kb25lOylyLnB1c2gobi52YWx1ZSl9Y2F0Y2goZSl7cz17ZXJyb3I6ZX19ZmluYWxseXt0cnl7biYmIW4uZG9uZSYmKGk9by5yZXR1cm4pJiZpLmNhbGwobyl9ZmluYWxseXtpZihzKXRocm93IHMuZXJyb3J9fXJldHVybiByfWZ1bmN0aW9uIHUoKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZT1lLmNvbmNhdChjKGFyZ3VtZW50c1t0XSkpO3JldHVybiBlfU9iamVjdC5jcmVhdGV9LDI4MTkyOmZ1bmN0aW9uKGUsdCxpKXt2YXIgbj1pKDM0MTU1KTsidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJnNlbGYsZS5leHBvcnRzPSgoKT0+e3ZhciBlPXs3NTpmdW5jdGlvbihlKXsoZnVuY3Rpb24oKXt2YXIgdCxpLHMsbyxyLGE7InVuZGVmaW5lZCIhPXR5cGVvZiBwZXJmb3JtYW5jZSYmbnVsbCE9PXBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3c/ZS5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpfTpudWxsIT1uJiZuLmhydGltZT8oZS5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuKHQoKS1yKS8xZTZ9LGk9bi5ocnRpbWUsbz0odD1mdW5jdGlvbigpe3ZhciBlO3JldHVybiAxZTkqKGU9aSgpKVswXStlWzFdfSkoKSxhPTFlOSpuLnVwdGltZSgpLHI9by1hKTpEYXRlLm5vdz8oZS5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCktc30scz1EYXRlLm5vdygpKTooZS5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCktc30scz0obmV3IERhdGUpLmdldFRpbWUoKSl9KS5jYWxsKHRoaXMpfSw0MDg3OihlLHQsaSk9Pntmb3IodmFyIG49aSg3NSkscz0idW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz9pLmc6d2luZG93LG89WyJtb3oiLCJ3ZWJraXQiXSxyPSJBbmltYXRpb25GcmFtZSIsYT1zWyJyZXF1ZXN0IityXSxsPXNbImNhbmNlbCIrcl18fHNbImNhbmNlbFJlcXVlc3QiK3JdLGM9MDshYSYmYzxvLmxlbmd0aDtjKyspYT1zW29bY10rIlJlcXVlc3QiK3JdLGw9c1tvW2NdKyJDYW5jZWwiK3JdfHxzW29bY10rIkNhbmNlbFJlcXVlc3QiK3JdO2lmKCFhfHwhbCl7dmFyIHU9MCxoPTAsZD1bXTthPWZ1bmN0aW9uKGUpe2lmKDA9PT1kLmxlbmd0aCl7dmFyIHQ9bigpLGk9TWF0aC5tYXgoMCwxNi42NjY2NjY2NjY2NjY2NjgtKHQtdSkpO3U9aSt0LHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dmFyIGU9ZC5zbGljZSgwKTtkLmxlbmd0aD0wO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKCFlW3RdLmNhbmNlbGxlZCl0cnl7ZVt0XS5jYWxsYmFjayh1KX1jYXRjaChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3Rocm93IGV9KSwwKX19KSxNYXRoLnJvdW5kKGkpKX1yZXR1cm4gZC5wdXNoKHtoYW5kbGU6KytoLGNhbGxiYWNrOmUsY2FuY2VsbGVkOiExfSksaH0sbD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGQubGVuZ3RoO3QrKylkW3RdLmhhbmRsZT09PWUmJihkW3RdLmNhbmNlbGxlZD0hMCl9fWUuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gYS5jYWxsKHMsZSl9LGUuZXhwb3J0cy5jYW5jZWw9ZnVuY3Rpb24oKXtsLmFwcGx5KHMsYXJndW1lbnRzKX0sZS5leHBvcnRzLnBvbHlmaWxsPWZ1bmN0aW9uKGUpe2V8fChlPXMpLGUucmVxdWVzdEFuaW1hdGlvbkZyYW1lPWEsZS5jYW5jZWxBbmltYXRpb25GcmFtZT1sfX19LHQ9e307ZnVuY3Rpb24gaShuKXt2YXIgcz10W25dO2lmKHZvaWQgMCE9PXMpcmV0dXJuIHMuZXhwb3J0czt2YXIgbz10W25dPXtleHBvcnRzOnt9fTtyZXR1cm4gZVtuXS5jYWxsKG8uZXhwb3J0cyxvLG8uZXhwb3J0cyxpKSxvLmV4cG9ydHN9aS5uPWU9Pnt2YXIgdD1lJiZlLl9fZXNNb2R1bGU/KCk9PmUuZGVmYXVsdDooKT0+ZTtyZXR1cm4gaS5kKHQse2E6dH0pLHR9LGkuZD0oZSx0KT0+e2Zvcih2YXIgbiBpbiB0KWkubyh0LG4pJiYhaS5vKGUsbikmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2VudW1lcmFibGU6ITAsZ2V0OnRbbl19KX0saS5nPWZ1bmN0aW9uKCl7aWYoIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtyZXR1cm4gdGhpc3x8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvd319KCksaS5vPShlLHQpPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KTt2YXIgcz17fTtyZXR1cm4oKCk9PnsidXNlIHN0cmljdCI7aS5kKHMse2RlZmF1bHQ6KCk9PlN9KTt2YXIgZT1pKDQwODcpLHQ9aS5uKGUpO2NvbnN0IG49ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBSZWdFeHAoLzxbYS16XVtcc1xTXSo+L2kpLnRlc3QoZSl9LG89ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuaW5uZXJIVE1MPWUsdC5jaGlsZE5vZGVzfSxyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoodC1lKzEpKStlfTt2YXIgYT0iVFlQRV9DSEFSQUNURVIiLGw9IlJFTU9WRV9DSEFSQUNURVIiLGM9IlJFTU9WRV9BTEwiLHU9IlJFTU9WRV9MQVNUX1ZJU0lCTEVfTk9ERSIsaD0iUEFVU0VfRk9SIixkPSJDQUxMX0ZVTkNUSU9OIixwPSJBRERfSFRNTF9UQUdfRUxFTUVOVCIsZj0iQ0hBTkdFX0RFTEVURV9TUEVFRCIsbT0iQ0hBTkdFX0RFTEFZIixnPSJDSEFOR0VfQ1VSU09SIix5PSJQQVNURV9TVFJJTkciLHY9IkhUTUxfVEFHIjtmdW5jdGlvbiBiKGUsdCl7dmFyIGk9T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYobj1uLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpKSxpLnB1c2guYXBwbHkoaSxuKX1yZXR1cm4gaX1mdW5jdGlvbiBfKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBpPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e307dCUyP2IoT2JqZWN0KGkpLCEwKS5mb3JFYWNoKChmdW5jdGlvbih0KXtUKGUsdCxpW3RdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKGkpKTpiKE9iamVjdChpKSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGksdCkpfSkpfXJldHVybiBlfWZ1bmN0aW9uIHcoZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIEUoZSl9KGUpfHxmdW5jdGlvbihlKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmbnVsbCE9ZVtTeW1ib2wuaXRlcmF0b3JdfHxudWxsIT1lWyJAQGl0ZXJhdG9yIl0pcmV0dXJuIEFycmF5LmZyb20oZSl9KGUpfHxmdW5jdGlvbihlLHQpe2lmKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gRShlLHQpO3ZhciBpPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PWkmJmUuY29uc3RydWN0b3ImJihpPWUuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1pfHwiU2V0Ij09PWk/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PWl8fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KGkpP0UoZSx0KTp2b2lkIDB9fShlKXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBFKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBpPTAsbj1uZXcgQXJyYXkodCk7aTx0O2krKyluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gQyhlLHQpe2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgbj10W2ldO24uZW51bWVyYWJsZT1uLmVudW1lcmFibGV8fCExLG4uY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBuJiYobi53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbi5rZXksbil9fWZ1bmN0aW9uIFQoZSx0LGkpe3JldHVybiB0IGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6aSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09aSxlfWNvbnN0IFM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBpKHMsYil7dmFyIEU9dGhpcztpZihmdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLGkpLFQodGhpcywic3RhdGUiLHtjdXJzb3JBbmltYXRpb246bnVsbCxsYXN0RnJhbWVUaW1lOm51bGwscGF1c2VVbnRpbDpudWxsLGV2ZW50UXVldWU6W10sZXZlbnRMb29wOm51bGwsZXZlbnRMb29wUGF1c2VkOiExLHJldmVyc2VDYWxsZWRFdmVudHM6W10sY2FsbGVkRXZlbnRzOltdLHZpc2libGVOb2RlczpbXSxpbml0aWFsT3B0aW9uczpudWxsLGVsZW1lbnRzOntjb250YWluZXI6bnVsbCx3cmFwcGVyOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSxjdXJzb3I6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpfX0pLFQodGhpcywib3B0aW9ucyIse3N0cmluZ3M6bnVsbCxjdXJzb3I6InwiLGRlbGF5OiJuYXR1cmFsIixwYXVzZUZvcjoxNTAwLGRlbGV0ZVNwZWVkOiJuYXR1cmFsIixsb29wOiExLGF1dG9TdGFydDohMSxkZXZNb2RlOiExLHNraXBBZGRTdHlsZXM6ITEsd3JhcHBlckNsYXNzTmFtZToiVHlwZXdyaXRlcl9fd3JhcHBlciIsY3Vyc29yQ2xhc3NOYW1lOiJUeXBld3JpdGVyX19jdXJzb3IiLHN0cmluZ1NwbGl0dGVyOm51bGwsb25DcmVhdGVUZXh0Tm9kZTpudWxsLG9uUmVtb3ZlTm9kZTpudWxsfSksVCh0aGlzLCJzZXR1cFdyYXBwZXJFbGVtZW50IiwoZnVuY3Rpb24oKXtFLnN0YXRlLmVsZW1lbnRzLmNvbnRhaW5lciYmKEUuc3RhdGUuZWxlbWVudHMud3JhcHBlci5jbGFzc05hbWU9RS5vcHRpb25zLndyYXBwZXJDbGFzc05hbWUsRS5zdGF0ZS5lbGVtZW50cy5jdXJzb3IuY2xhc3NOYW1lPUUub3B0aW9ucy5jdXJzb3JDbGFzc05hbWUsRS5zdGF0ZS5lbGVtZW50cy5jdXJzb3IuaW5uZXJIVE1MPUUub3B0aW9ucy5jdXJzb3IsRS5zdGF0ZS5lbGVtZW50cy5jb250YWluZXIuaW5uZXJIVE1MPSIiLEUuc3RhdGUuZWxlbWVudHMuY29udGFpbmVyLmFwcGVuZENoaWxkKEUuc3RhdGUuZWxlbWVudHMud3JhcHBlciksRS5zdGF0ZS5lbGVtZW50cy5jb250YWluZXIuYXBwZW5kQ2hpbGQoRS5zdGF0ZS5lbGVtZW50cy5jdXJzb3IpKX0pKSxUKHRoaXMsInN0YXJ0IiwoZnVuY3Rpb24oKXtyZXR1cm4gRS5zdGF0ZS5ldmVudExvb3BQYXVzZWQ9ITEsRS5ydW5FdmVudExvb3AoKSxFfSkpLFQodGhpcywicGF1c2UiLChmdW5jdGlvbigpe3JldHVybiBFLnN0YXRlLmV2ZW50TG9vcFBhdXNlZD0hMCxFfSkpLFQodGhpcywic3RvcCIsKGZ1bmN0aW9uKCl7cmV0dXJuIEUuc3RhdGUuZXZlbnRMb29wJiYoKDAsZS5jYW5jZWwpKEUuc3RhdGUuZXZlbnRMb29wKSxFLnN0YXRlLmV2ZW50TG9vcD1udWxsKSxFfSkpLFQodGhpcywicGF1c2VGb3IiLChmdW5jdGlvbihlKXtyZXR1cm4gRS5hZGRFdmVudFRvUXVldWUoaCx7bXM6ZX0pLEV9KSksVCh0aGlzLCJ0eXBlT3V0QWxsU3RyaW5ncyIsKGZ1bmN0aW9uKCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBFLm9wdGlvbnMuc3RyaW5ncz8oRS50eXBlU3RyaW5nKEUub3B0aW9ucy5zdHJpbmdzKS5wYXVzZUZvcihFLm9wdGlvbnMucGF1c2VGb3IpLEUpOihFLm9wdGlvbnMuc3RyaW5ncy5mb3JFYWNoKChmdW5jdGlvbihlKXtFLnR5cGVTdHJpbmcoZSkucGF1c2VGb3IoRS5vcHRpb25zLnBhdXNlRm9yKS5kZWxldGVBbGwoRS5vcHRpb25zLmRlbGV0ZVNwZWVkKX0pKSxFKX0pKSxUKHRoaXMsInR5cGVTdHJpbmciLChmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06bnVsbDtpZihuKGUpKXJldHVybiBFLnR5cGVPdXRIVE1MU3RyaW5nKGUsdCk7aWYoZSl7dmFyIGk9KEUub3B0aW9uc3x8e30pLnN0cmluZ1NwbGl0dGVyLHM9ImZ1bmN0aW9uIj09dHlwZW9mIGk/aShlKTplLnNwbGl0KCIiKTtFLnR5cGVDaGFyYWN0ZXJzKHMsdCl9cmV0dXJuIEV9KSksVCh0aGlzLCJwYXN0ZVN0cmluZyIsKGZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTpudWxsO3JldHVybiBuKGUpP0UudHlwZU91dEhUTUxTdHJpbmcoZSx0LCEwKTooZSYmRS5hZGRFdmVudFRvUXVldWUoeSx7Y2hhcmFjdGVyOmUsbm9kZTp0fSksRSl9KSksVCh0aGlzLCJ0eXBlT3V0SFRNTFN0cmluZyIsKGZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTpudWxsLGk9YXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDAsbj1vKGUpO2lmKG4ubGVuZ3RoPjApZm9yKHZhciBzPTA7czxuLmxlbmd0aDtzKyspe3ZhciByPW5bc10sYT1yLmlubmVySFRNTDtyJiYzIT09ci5ub2RlVHlwZT8oci5pbm5lckhUTUw9IiIsRS5hZGRFdmVudFRvUXVldWUocCx7bm9kZTpyLHBhcmVudE5vZGU6dH0pLGk/RS5wYXN0ZVN0cmluZyhhLHIpOkUudHlwZVN0cmluZyhhLHIpKTpyLnRleHRDb250ZW50JiYoaT9FLnBhc3RlU3RyaW5nKHIudGV4dENvbnRlbnQsdCk6RS50eXBlU3RyaW5nKHIudGV4dENvbnRlbnQsdCkpfXJldHVybiBFfSkpLFQodGhpcywiZGVsZXRlQWxsIiwoZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06Im5hdHVyYWwiO3JldHVybiBFLmFkZEV2ZW50VG9RdWV1ZShjLHtzcGVlZDplfSksRX0pKSxUKHRoaXMsImNoYW5nZURlbGV0ZVNwZWVkIiwoZnVuY3Rpb24oZSl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJNdXN0IHByb3ZpZGUgbmV3IGRlbGV0ZSBzcGVlZCIpO3JldHVybiBFLmFkZEV2ZW50VG9RdWV1ZShmLHtzcGVlZDplfSksRX0pKSxUKHRoaXMsImNoYW5nZURlbGF5IiwoZnVuY3Rpb24oZSl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJNdXN0IHByb3ZpZGUgbmV3IGRlbGF5Iik7cmV0dXJuIEUuYWRkRXZlbnRUb1F1ZXVlKG0se2RlbGF5OmV9KSxFfSkpLFQodGhpcywiY2hhbmdlQ3Vyc29yIiwoZnVuY3Rpb24oZSl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJNdXN0IHByb3ZpZGUgbmV3IGN1cnNvciIpO3JldHVybiBFLmFkZEV2ZW50VG9RdWV1ZShnLHtjdXJzb3I6ZX0pLEV9KSksVCh0aGlzLCJkZWxldGVDaGFycyIsKGZ1bmN0aW9uKGUpe2lmKCFlKXRocm93IG5ldyBFcnJvcigiTXVzdCBwcm92aWRlIGFtb3VudCBvZiBjaGFyYWN0ZXJzIHRvIGRlbGV0ZSIpO2Zvcih2YXIgdD0wO3Q8ZTt0KyspRS5hZGRFdmVudFRvUXVldWUobCk7cmV0dXJuIEV9KSksVCh0aGlzLCJjYWxsRnVuY3Rpb24iLChmdW5jdGlvbihlLHQpe2lmKCFlfHwiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIkNhbGxiYWsgbXVzdCBiZSBhIGZ1bmN0aW9uIik7cmV0dXJuIEUuYWRkRXZlbnRUb1F1ZXVlKGQse2NiOmUsdGhpc0FyZzp0fSksRX0pKSxUKHRoaXMsInR5cGVDaGFyYWN0ZXJzIiwoZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOm51bGw7aWYoIWV8fCFBcnJheS5pc0FycmF5KGUpKXRocm93IG5ldyBFcnJvcigiQ2hhcmFjdGVycyBtdXN0IGJlIGFuIGFycmF5Iik7cmV0dXJuIGUuZm9yRWFjaCgoZnVuY3Rpb24oZSl7RS5hZGRFdmVudFRvUXVldWUoYSx7Y2hhcmFjdGVyOmUsbm9kZTp0fSl9KSksRX0pKSxUKHRoaXMsInJlbW92ZUNoYXJhY3RlcnMiLChmdW5jdGlvbihlKXtpZighZXx8IUFycmF5LmlzQXJyYXkoZSkpdGhyb3cgbmV3IEVycm9yKCJDaGFyYWN0ZXJzIG11c3QgYmUgYW4gYXJyYXkiKTtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbigpe0UuYWRkRXZlbnRUb1F1ZXVlKGwpfSkpLEV9KSksVCh0aGlzLCJhZGRFdmVudFRvUXVldWUiLChmdW5jdGlvbihlLHQpe3ZhciBpPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdJiZhcmd1bWVudHNbMl07cmV0dXJuIEUuYWRkRXZlbnRUb1N0YXRlUHJvcGVydHkoZSx0LGksImV2ZW50UXVldWUiKX0pKSxUKHRoaXMsImFkZFJldmVyc2VDYWxsZWRFdmVudCIsKGZ1bmN0aW9uKGUsdCl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXTtyZXR1cm4gRS5vcHRpb25zLmxvb3A/RS5hZGRFdmVudFRvU3RhdGVQcm9wZXJ0eShlLHQsaSwicmV2ZXJzZUNhbGxlZEV2ZW50cyIpOkV9KSksVCh0aGlzLCJhZGRFdmVudFRvU3RhdGVQcm9wZXJ0eSIsKGZ1bmN0aW9uKGUsdCl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXSxuPWFyZ3VtZW50cy5sZW5ndGg+Mz9hcmd1bWVudHNbM106dm9pZCAwLHM9e2V2ZW50TmFtZTplLGV2ZW50QXJnczp0fHx7fX07cmV0dXJuIEUuc3RhdGVbbl09aT9bc10uY29uY2F0KHcoRS5zdGF0ZVtuXSkpOltdLmNvbmNhdCh3KEUuc3RhdGVbbl0pLFtzXSksRX0pKSxUKHRoaXMsInJ1bkV2ZW50TG9vcCIsKGZ1bmN0aW9uKCl7RS5zdGF0ZS5sYXN0RnJhbWVUaW1lfHwoRS5zdGF0ZS5sYXN0RnJhbWVUaW1lPURhdGUubm93KCkpO3ZhciBlPURhdGUubm93KCksaT1lLUUuc3RhdGUubGFzdEZyYW1lVGltZTtpZighRS5zdGF0ZS5ldmVudFF1ZXVlLmxlbmd0aCl7aWYoIUUub3B0aW9ucy5sb29wKXJldHVybjtFLnN0YXRlLmV2ZW50UXVldWU9dyhFLnN0YXRlLmNhbGxlZEV2ZW50cyksRS5zdGF0ZS5jYWxsZWRFdmVudHM9W10sRS5vcHRpb25zPV8oe30sRS5zdGF0ZS5pbml0aWFsT3B0aW9ucyl9aWYoRS5zdGF0ZS5ldmVudExvb3A9dCgpKEUucnVuRXZlbnRMb29wKSwhRS5zdGF0ZS5ldmVudExvb3BQYXVzZWQpe2lmKEUuc3RhdGUucGF1c2VVbnRpbCl7aWYoZTxFLnN0YXRlLnBhdXNlVW50aWwpcmV0dXJuO0Uuc3RhdGUucGF1c2VVbnRpbD1udWxsfXZhciBuLHM9dyhFLnN0YXRlLmV2ZW50UXVldWUpLG89cy5zaGlmdCgpO2lmKCEoaTw9KG49by5ldmVudE5hbWU9PT11fHxvLmV2ZW50TmFtZT09PWw/Im5hdHVyYWwiPT09RS5vcHRpb25zLmRlbGV0ZVNwZWVkP3IoNDAsODApOkUub3B0aW9ucy5kZWxldGVTcGVlZDoibmF0dXJhbCI9PT1FLm9wdGlvbnMuZGVsYXk/cigxMjAsMTYwKTpFLm9wdGlvbnMuZGVsYXkpKSl7dmFyIGI9by5ldmVudE5hbWUsQz1vLmV2ZW50QXJncztzd2l0Y2goRS5sb2dJbkRldk1vZGUoe2N1cnJlbnRFdmVudDpvLHN0YXRlOkUuc3RhdGUsZGVsYXk6bn0pLGIpe2Nhc2UgeTpjYXNlIGE6dmFyIFQ9Qy5jaGFyYWN0ZXIsUz1DLm5vZGUsST1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShUKSxBPUk7RS5vcHRpb25zLm9uQ3JlYXRlVGV4dE5vZGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBFLm9wdGlvbnMub25DcmVhdGVUZXh0Tm9kZSYmKEE9RS5vcHRpb25zLm9uQ3JlYXRlVGV4dE5vZGUoVCxJKSksQSYmKFM/Uy5hcHBlbmRDaGlsZChBKTpFLnN0YXRlLmVsZW1lbnRzLndyYXBwZXIuYXBwZW5kQ2hpbGQoQSkpLEUuc3RhdGUudmlzaWJsZU5vZGVzPVtdLmNvbmNhdCh3KEUuc3RhdGUudmlzaWJsZU5vZGVzKSxbe3R5cGU6IlRFWFRfTk9ERSIsY2hhcmFjdGVyOlQsbm9kZTpBfV0pO2JyZWFrO2Nhc2UgbDpzLnVuc2hpZnQoe2V2ZW50TmFtZTp1LGV2ZW50QXJnczp7cmVtb3ZpbmdDaGFyYWN0ZXJOb2RlOiEwfX0pO2JyZWFrO2Nhc2UgaDp2YXIgaz1vLmV2ZW50QXJncy5tcztFLnN0YXRlLnBhdXNlVW50aWw9RGF0ZS5ub3coKStwYXJzZUludChrKTticmVhaztjYXNlIGQ6dmFyIEw9by5ldmVudEFyZ3MsTz1MLmNiLHg9TC50aGlzQXJnO08uY2FsbCh4LHtlbGVtZW50czpFLnN0YXRlLmVsZW1lbnRzfSk7YnJlYWs7Y2FzZSBwOnZhciBQPW8uZXZlbnRBcmdzLE49UC5ub2RlLE09UC5wYXJlbnROb2RlO00/TS5hcHBlbmRDaGlsZChOKTpFLnN0YXRlLmVsZW1lbnRzLndyYXBwZXIuYXBwZW5kQ2hpbGQoTiksRS5zdGF0ZS52aXNpYmxlTm9kZXM9W10uY29uY2F0KHcoRS5zdGF0ZS52aXNpYmxlTm9kZXMpLFt7dHlwZTp2LG5vZGU6TixwYXJlbnROb2RlOk18fEUuc3RhdGUuZWxlbWVudHMud3JhcHBlcn1dKTticmVhaztjYXNlIGM6dmFyIEQ9RS5zdGF0ZS52aXNpYmxlTm9kZXMsaj1DLnNwZWVkLEY9W107aiYmRi5wdXNoKHtldmVudE5hbWU6ZixldmVudEFyZ3M6e3NwZWVkOmosdGVtcDohMH19KTtmb3IodmFyIFY9MCxSPUQubGVuZ3RoO1Y8UjtWKyspRi5wdXNoKHtldmVudE5hbWU6dSxldmVudEFyZ3M6e3JlbW92aW5nQ2hhcmFjdGVyTm9kZTohMX19KTtqJiZGLnB1c2goe2V2ZW50TmFtZTpmLGV2ZW50QXJnczp7c3BlZWQ6RS5vcHRpb25zLmRlbGV0ZVNwZWVkLHRlbXA6ITB9fSkscy51bnNoaWZ0LmFwcGx5KHMsRik7YnJlYWs7Y2FzZSB1OnZhciBIPW8uZXZlbnRBcmdzLnJlbW92aW5nQ2hhcmFjdGVyTm9kZTtpZihFLnN0YXRlLnZpc2libGVOb2Rlcy5sZW5ndGgpe3ZhciAkPUUuc3RhdGUudmlzaWJsZU5vZGVzLnBvcCgpLEI9JC50eXBlLHE9JC5ub2RlLFU9JC5jaGFyYWN0ZXI7RS5vcHRpb25zLm9uUmVtb3ZlTm9kZSYmImZ1bmN0aW9uIj09dHlwZW9mIEUub3B0aW9ucy5vblJlbW92ZU5vZGUmJkUub3B0aW9ucy5vblJlbW92ZU5vZGUoe25vZGU6cSxjaGFyYWN0ZXI6VX0pLHEmJnEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChxKSxCPT09diYmSCYmcy51bnNoaWZ0KHtldmVudE5hbWU6dSxldmVudEFyZ3M6e319KX1icmVhaztjYXNlIGY6RS5vcHRpb25zLmRlbGV0ZVNwZWVkPW8uZXZlbnRBcmdzLnNwZWVkO2JyZWFrO2Nhc2UgbTpFLm9wdGlvbnMuZGVsYXk9by5ldmVudEFyZ3MuZGVsYXk7YnJlYWs7Y2FzZSBnOkUub3B0aW9ucy5jdXJzb3I9by5ldmVudEFyZ3MuY3Vyc29yLEUuc3RhdGUuZWxlbWVudHMuY3Vyc29yLmlubmVySFRNTD1vLmV2ZW50QXJncy5jdXJzb3J9RS5vcHRpb25zLmxvb3AmJihvLmV2ZW50TmFtZT09PXV8fG8uZXZlbnRBcmdzJiZvLmV2ZW50QXJncy50ZW1wfHwoRS5zdGF0ZS5jYWxsZWRFdmVudHM9W10uY29uY2F0KHcoRS5zdGF0ZS5jYWxsZWRFdmVudHMpLFtvXSkpKSxFLnN0YXRlLmV2ZW50UXVldWU9cyxFLnN0YXRlLmxhc3RGcmFtZVRpbWU9ZX19fSkpLHMpaWYoInN0cmluZyI9PXR5cGVvZiBzKXt2YXIgQz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHMpO2lmKCFDKXRocm93IG5ldyBFcnJvcigiQ291bGQgbm90IGZpbmQgY29udGFpbmVyIGVsZW1lbnQiKTt0aGlzLnN0YXRlLmVsZW1lbnRzLmNvbnRhaW5lcj1DfWVsc2UgdGhpcy5zdGF0ZS5lbGVtZW50cy5jb250YWluZXI9cztiJiYodGhpcy5vcHRpb25zPV8oXyh7fSx0aGlzLm9wdGlvbnMpLGIpKSx0aGlzLnN0YXRlLmluaXRpYWxPcHRpb25zPV8oe30sdGhpcy5vcHRpb25zKSx0aGlzLmluaXQoKX12YXIgcztyZXR1cm4ocz1be2tleToiaW5pdCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZSx0O3RoaXMuc2V0dXBXcmFwcGVyRWxlbWVudCgpLHRoaXMuYWRkRXZlbnRUb1F1ZXVlKGcse2N1cnNvcjp0aGlzLm9wdGlvbnMuY3Vyc29yfSwhMCksdGhpcy5hZGRFdmVudFRvUXVldWUoYyxudWxsLCEwKSwhd2luZG93fHx3aW5kb3cuX19fVFlQRVdSSVRFUl9KU19TVFlMRVNfQURERURfX198fHRoaXMub3B0aW9ucy5za2lwQWRkU3R5bGVzfHwoZT0iLlR5cGV3cml0ZXJfX2N1cnNvcnstd2Via2l0LWFuaW1hdGlvbjpUeXBld3JpdGVyLWN1cnNvciAxcyBpbmZpbml0ZTthbmltYXRpb246VHlwZXdyaXRlci1jdXJzb3IgMXMgaW5maW5pdGU7bWFyZ2luLWxlZnQ6MXB4fUAtd2Via2l0LWtleWZyYW1lcyBUeXBld3JpdGVyLWN1cnNvcnswJXtvcGFjaXR5OjB9NTAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19QGtleWZyYW1lcyBUeXBld3JpdGVyLWN1cnNvcnswJXtvcGFjaXR5OjB9NTAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19IiwodD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlKSksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0KSx3aW5kb3cuX19fVFlQRVdSSVRFUl9KU19TVFlMRVNfQURERURfX189ITApLCEwPT09dGhpcy5vcHRpb25zLmF1dG9TdGFydCYmdGhpcy5vcHRpb25zLnN0cmluZ3MmJnRoaXMudHlwZU91dEFsbFN0cmluZ3MoKS5zdGFydCgpfX0se2tleToibG9nSW5EZXZNb2RlIix2YWx1ZTpmdW5jdGlvbihlKXt0aGlzLm9wdGlvbnMuZGV2TW9kZSYmY29uc29sZS5sb2coZSl9fV0pJiZDKGkucHJvdG90eXBlLHMpLGl9KCl9KSgpLHMuZGVmYXVsdH0pKCl9LDUyNzMyOmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz1mdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKCl7cmV0dXJuIGU9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIGk9YXJndW1lbnRzW3RdO2Zvcih2YXIgbiBpbiBpKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpLG4pJiYoZVtuXT1pW25dKX1yZXR1cm4gZX0sZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dmFyIHQ9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3csaT10JiYhKCJvbnNjcm9sbCJpbiB3aW5kb3cpfHwidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmLyhnbGV8aW5nfHJvKWJvdHxjcmF3bHxzcGlkZXIvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG49dCYmIkludGVyc2VjdGlvbk9ic2VydmVyImluIHdpbmRvdyxzPXQmJiJjbGFzc0xpc3QiaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpLG89dCYmd2luZG93LmRldmljZVBpeGVsUmF0aW8+MSxyPXtlbGVtZW50c19zZWxlY3RvcjoiLmxhenkiLGNvbnRhaW5lcjppfHx0P2RvY3VtZW50Om51bGwsdGhyZXNob2xkOjMwMCx0aHJlc2hvbGRzOm51bGwsZGF0YV9zcmM6InNyYyIsZGF0YV9zcmNzZXQ6InNyY3NldCIsZGF0YV9zaXplczoic2l6ZXMiLGRhdGFfYmc6ImJnIixkYXRhX2JnX2hpZHBpOiJiZy1oaWRwaSIsZGF0YV9iZ19tdWx0aToiYmctbXVsdGkiLGRhdGFfYmdfbXVsdGlfaGlkcGk6ImJnLW11bHRpLWhpZHBpIixkYXRhX3Bvc3RlcjoicG9zdGVyIixjbGFzc19hcHBsaWVkOiJhcHBsaWVkIixjbGFzc19sb2FkaW5nOiJsb2FkaW5nIixjbGFzc19sb2FkZWQ6ImxvYWRlZCIsY2xhc3NfZXJyb3I6ImVycm9yIixjbGFzc19lbnRlcmVkOiJlbnRlcmVkIixjbGFzc19leGl0ZWQ6ImV4aXRlZCIsdW5vYnNlcnZlX2NvbXBsZXRlZDohMCx1bm9ic2VydmVfZW50ZXJlZDohMSxjYW5jZWxfb25fZXhpdDohMCxjYWxsYmFja19lbnRlcjpudWxsLGNhbGxiYWNrX2V4aXQ6bnVsbCxjYWxsYmFja19hcHBsaWVkOm51bGwsY2FsbGJhY2tfbG9hZGluZzpudWxsLGNhbGxiYWNrX2xvYWRlZDpudWxsLGNhbGxiYWNrX2Vycm9yOm51bGwsY2FsbGJhY2tfZmluaXNoOm51bGwsY2FsbGJhY2tfY2FuY2VsOm51bGwsdXNlX25hdGl2ZTohMX0sYT1mdW5jdGlvbih0KXtyZXR1cm4gZSh7fSxyLHQpfSxsPWZ1bmN0aW9uKGUsdCl7dmFyIGksbj0iTGF6eUxvYWQ6OkluaXRpYWxpemVkIixzPW5ldyBlKHQpO3RyeXtpPW5ldyBDdXN0b21FdmVudChuLHtkZXRhaWw6e2luc3RhbmNlOnN9fSl9Y2F0Y2goZSl7KGk9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50IikpLmluaXRDdXN0b21FdmVudChuLCExLCExLHtpbnN0YW5jZTpzfSl9d2luZG93LmRpc3BhdGNoRXZlbnQoaSl9LGM9InNyYyIsdT0ic3Jjc2V0IixoPSJzaXplcyIsZD0icG9zdGVyIixwPSJsbE9yaWdpbmFsQXR0cnMiLGY9ImxvYWRpbmciLG09ImxvYWRlZCIsZz0iYXBwbGllZCIseT0iZXJyb3IiLHY9Im5hdGl2ZSIsYj0iZGF0YS0iLF89ImxsLXN0YXR1cyIsdz1mdW5jdGlvbihlLHQpe3JldHVybiBlLmdldEF0dHJpYnV0ZShiK3QpfSxFPWZ1bmN0aW9uKGUpe3JldHVybiB3KGUsXyl9LEM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0LGkpe3ZhciBuPSJkYXRhLWxsLXN0YXR1cyI7bnVsbCE9PWk/ZS5zZXRBdHRyaWJ1dGUobixpKTplLnJlbW92ZUF0dHJpYnV0ZShuKX0oZSwwLHQpfSxUPWZ1bmN0aW9uKGUpe3JldHVybiBDKGUsbnVsbCl9LFM9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1FKGUpfSxJPWZ1bmN0aW9uKGUpe3JldHVybiBFKGUpPT09dn0sQT1bZixtLGcseV0saz1mdW5jdGlvbihlLHQsaSxuKXtlJiYodm9pZCAwPT09bj92b2lkIDA9PT1pP2UodCk6ZSh0LGkpOmUodCxpLG4pKX0sTD1mdW5jdGlvbihlLHQpe3M/ZS5jbGFzc0xpc3QuYWRkKHQpOmUuY2xhc3NOYW1lKz0oZS5jbGFzc05hbWU/IiAiOiIiKSt0fSxPPWZ1bmN0aW9uKGUsdCl7cz9lLmNsYXNzTGlzdC5yZW1vdmUodCk6ZS5jbGFzc05hbWU9ZS5jbGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCIoXnxcXHMrKSIrdCsiKFxccyt8JCkiKSwiICIpLnJlcGxhY2UoL15ccysvLCIiKS5yZXBsYWNlKC9ccyskLywiIil9LHg9ZnVuY3Rpb24oZSl7cmV0dXJuIGUubGxUZW1wSW1hZ2V9LFA9ZnVuY3Rpb24oZSx0KXtpZih0KXt2YXIgaT10Ll9vYnNlcnZlcjtpJiZpLnVub2JzZXJ2ZShlKX19LE49ZnVuY3Rpb24oZSx0KXtlJiYoZS5sb2FkaW5nQ291bnQrPXQpfSxNPWZ1bmN0aW9uKGUsdCl7ZSYmKGUudG9Mb2FkQ291bnQ9dCl9LEQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LGk9W10sbj0wO3Q9ZS5jaGlsZHJlbltuXTtuKz0xKSJTT1VSQ0UiPT09dC50YWdOYW1lJiZpLnB1c2godCk7cmV0dXJuIGl9LGo9ZnVuY3Rpb24oZSx0KXt2YXIgaT1lLnBhcmVudE5vZGU7aSYmIlBJQ1RVUkUiPT09aS50YWdOYW1lJiZEKGkpLmZvckVhY2godCl9LEY9ZnVuY3Rpb24oZSx0KXtEKGUpLmZvckVhY2godCl9LFY9W2NdLFI9W2MsZF0sSD1bYyx1LGhdLCQ9ZnVuY3Rpb24oZSl7cmV0dXJuISFlW3BdfSxCPWZ1bmN0aW9uKGUpe3JldHVybiBlW3BdfSxxPWZ1bmN0aW9uKGUpe3JldHVybiBkZWxldGUgZVtwXX0sVT1mdW5jdGlvbihlLHQpe2lmKCEkKGUpKXt2YXIgaT17fTt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2lbdF09ZS5nZXRBdHRyaWJ1dGUodCl9KSksZVtwXT1pfX0sRz1mdW5jdGlvbihlLHQpe2lmKCQoZSkpe3ZhciBpPUIoZSk7dC5mb3JFYWNoKChmdW5jdGlvbih0KXshZnVuY3Rpb24oZSx0LGkpe2k/ZS5zZXRBdHRyaWJ1dGUodCxpKTplLnJlbW92ZUF0dHJpYnV0ZSh0KX0oZSx0LGlbdF0pfSkpfX0sSz1mdW5jdGlvbihlLHQsaSl7TChlLHQuY2xhc3NfbG9hZGluZyksQyhlLGYpLGkmJihOKGksMSksayh0LmNhbGxiYWNrX2xvYWRpbmcsZSxpKSl9LFc9ZnVuY3Rpb24oZSx0LGkpe2kmJmUuc2V0QXR0cmlidXRlKHQsaSl9LHo9ZnVuY3Rpb24oZSx0KXtXKGUsaCx3KGUsdC5kYXRhX3NpemVzKSksVyhlLHUsdyhlLHQuZGF0YV9zcmNzZXQpKSxXKGUsYyx3KGUsdC5kYXRhX3NyYykpfSxZPXtJTUc6ZnVuY3Rpb24oZSx0KXtqKGUsKGZ1bmN0aW9uKGUpe1UoZSxIKSx6KGUsdCl9KSksVShlLEgpLHooZSx0KX0sSUZSQU1FOmZ1bmN0aW9uKGUsdCl7VShlLFYpLFcoZSxjLHcoZSx0LmRhdGFfc3JjKSl9LFZJREVPOmZ1bmN0aW9uKGUsdCl7RihlLChmdW5jdGlvbihlKXtVKGUsViksVyhlLGMsdyhlLHQuZGF0YV9zcmMpKX0pKSxVKGUsUiksVyhlLGQsdyhlLHQuZGF0YV9wb3N0ZXIpKSxXKGUsYyx3KGUsdC5kYXRhX3NyYykpLGUubG9hZCgpfX0sUT1bIklNRyIsIklGUkFNRSIsIlZJREVPIl0sSj1mdW5jdGlvbihlLHQpeyF0fHxmdW5jdGlvbihlKXtyZXR1cm4gZS5sb2FkaW5nQ291bnQ+MH0odCl8fGZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG9hZENvdW50PjB9KHQpfHxrKGUuY2FsbGJhY2tfZmluaXNoLHQpfSxYPWZ1bmN0aW9uKGUsdCxpKXtlLmFkZEV2ZW50TGlzdGVuZXIodCxpKSxlLmxsRXZMaXNucnNbdF09aX0sWj1mdW5jdGlvbihlLHQsaSl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsaSl9LGVlPWZ1bmN0aW9uKGUpe3JldHVybiEhZS5sbEV2TGlzbnJzfSx0ZT1mdW5jdGlvbihlKXtpZihlZShlKSl7dmFyIHQ9ZS5sbEV2TGlzbnJzO2Zvcih2YXIgaSBpbiB0KXt2YXIgbj10W2ldO1ooZSxpLG4pfWRlbGV0ZSBlLmxsRXZMaXNucnN9fSxpZT1mdW5jdGlvbihlLHQsaSl7IWZ1bmN0aW9uKGUpe2RlbGV0ZSBlLmxsVGVtcEltYWdlfShlKSxOKGksLTEpLGZ1bmN0aW9uKGUpe2UmJihlLnRvTG9hZENvdW50LT0xKX0oaSksTyhlLHQuY2xhc3NfbG9hZGluZyksdC51bm9ic2VydmVfY29tcGxldGVkJiZQKGUsaSl9LG5lPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbj14KGUpfHxlO2VlKG4pfHxmdW5jdGlvbihlLHQsaSl7ZWUoZSl8fChlLmxsRXZMaXNucnM9e30pO3ZhciBuPSJWSURFTyI9PT1lLnRhZ05hbWU/ImxvYWRlZGRhdGEiOiJsb2FkIjtYKGUsbix0KSxYKGUsImVycm9yIixpKX0obiwoZnVuY3Rpb24ocyl7IWZ1bmN0aW9uKGUsdCxpLG4pe3ZhciBzPUkodCk7aWUodCxpLG4pLEwodCxpLmNsYXNzX2xvYWRlZCksQyh0LG0pLGsoaS5jYWxsYmFja19sb2FkZWQsdCxuKSxzfHxKKGksbil9KDAsZSx0LGkpLHRlKG4pfSksKGZ1bmN0aW9uKHMpeyFmdW5jdGlvbihlLHQsaSxuKXt2YXIgcz1JKHQpO2llKHQsaSxuKSxMKHQsaS5jbGFzc19lcnJvciksQyh0LHkpLGsoaS5jYWxsYmFja19lcnJvcix0LG4pLHN8fEooaSxuKX0oMCxlLHQsaSksdGUobil9KSl9LHNlPWZ1bmN0aW9uKGUsdCxpKXshZnVuY3Rpb24oZSl7ZS5sbFRlbXBJbWFnZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJJTUciKX0oZSksbmUoZSx0LGkpLGZ1bmN0aW9uKGUpeyQoZSl8fChlW3BdPXtiYWNrZ3JvdW5kSW1hZ2U6ZS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2V9KX0oZSksZnVuY3Rpb24oZSx0LGkpe3ZhciBuPXcoZSx0LmRhdGFfYmcpLHM9dyhlLHQuZGF0YV9iZ19oaWRwaSkscj1vJiZzP3M6bjtyJiYoZS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3VybCgiJy5jb25jYXQociwnIiknKSx4KGUpLnNldEF0dHJpYnV0ZShjLHIpLEsoZSx0LGkpKX0oZSx0LGkpLGZ1bmN0aW9uKGUsdCxpKXt2YXIgbj13KGUsdC5kYXRhX2JnX211bHRpKSxzPXcoZSx0LmRhdGFfYmdfbXVsdGlfaGlkcGkpLHI9byYmcz9zOm47ciYmKGUuc3R5bGUuYmFja2dyb3VuZEltYWdlPXIsZnVuY3Rpb24oZSx0LGkpe0woZSx0LmNsYXNzX2FwcGxpZWQpLEMoZSxnKSxpJiYodC51bm9ic2VydmVfY29tcGxldGVkJiZQKGUsdCksayh0LmNhbGxiYWNrX2FwcGxpZWQsZSxpKSl9KGUsdCxpKSl9KGUsdCxpKX0sb2U9ZnVuY3Rpb24oZSx0LGkpeyFmdW5jdGlvbihlKXtyZXR1cm4gUS5pbmRleE9mKGUudGFnTmFtZSk+LTF9KGUpP3NlKGUsdCxpKTpmdW5jdGlvbihlLHQsaSl7bmUoZSx0LGkpLGZ1bmN0aW9uKGUsdCxpKXt2YXIgbj1ZW2UudGFnTmFtZV07biYmKG4oZSx0KSxLKGUsdCxpKSl9KGUsdCxpKX0oZSx0LGkpfSxyZT1mdW5jdGlvbihlKXtlLnJlbW92ZUF0dHJpYnV0ZShjKSxlLnJlbW92ZUF0dHJpYnV0ZSh1KSxlLnJlbW92ZUF0dHJpYnV0ZShoKX0sYWU9ZnVuY3Rpb24oZSl7aihlLChmdW5jdGlvbihlKXtHKGUsSCl9KSksRyhlLEgpfSxsZT17SU1HOmFlLElGUkFNRTpmdW5jdGlvbihlKXtHKGUsVil9LFZJREVPOmZ1bmN0aW9uKGUpe0YoZSwoZnVuY3Rpb24oZSl7RyhlLFYpfSkpLEcoZSxSKSxlLmxvYWQoKX19LGNlPWZ1bmN0aW9uKGUsdCl7KGZ1bmN0aW9uKGUpe3ZhciB0PWxlW2UudGFnTmFtZV07dD90KGUpOmZ1bmN0aW9uKGUpe2lmKCQoZSkpe3ZhciB0PUIoZSk7ZS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9dC5iYWNrZ3JvdW5kSW1hZ2V9fShlKX0pKGUpLGZ1bmN0aW9uKGUsdCl7UyhlKXx8SShlKXx8KE8oZSx0LmNsYXNzX2VudGVyZWQpLE8oZSx0LmNsYXNzX2V4aXRlZCksTyhlLHQuY2xhc3NfYXBwbGllZCksTyhlLHQuY2xhc3NfbG9hZGluZyksTyhlLHQuY2xhc3NfbG9hZGVkKSxPKGUsdC5jbGFzc19lcnJvcikpfShlLHQpLFQoZSkscShlKX0sdWU9WyJJTUciLCJJRlJBTUUiLCJWSURFTyJdLGhlPWZ1bmN0aW9uKGUpe3JldHVybiBlLnVzZV9uYXRpdmUmJiJsb2FkaW5nImluIEhUTUxJbWFnZUVsZW1lbnQucHJvdG90eXBlfSxkZT1mdW5jdGlvbihlLHQsaSl7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXNJbnRlcnNlY3Rpbmd8fGUuaW50ZXJzZWN0aW9uUmF0aW8+MH0oZSk/ZnVuY3Rpb24oZSx0LGksbil7dmFyIHM9ZnVuY3Rpb24oZSl7cmV0dXJuIEEuaW5kZXhPZihFKGUpKT49MH0oZSk7QyhlLCJlbnRlcmVkIiksTChlLGkuY2xhc3NfZW50ZXJlZCksTyhlLGkuY2xhc3NfZXhpdGVkKSxmdW5jdGlvbihlLHQsaSl7dC51bm9ic2VydmVfZW50ZXJlZCYmUChlLGkpfShlLGksbiksayhpLmNhbGxiYWNrX2VudGVyLGUsdCxuKSxzfHxvZShlLGksbil9KGUudGFyZ2V0LGUsdCxpKTpmdW5jdGlvbihlLHQsaSxuKXtTKGUpfHwoTChlLGkuY2xhc3NfZXhpdGVkKSxmdW5jdGlvbihlLHQsaSxuKXtpLmNhbmNlbF9vbl9leGl0JiZmdW5jdGlvbihlKXtyZXR1cm4gRShlKT09PWZ9KGUpJiYiSU1HIj09PWUudGFnTmFtZSYmKHRlKGUpLGZ1bmN0aW9uKGUpe2ooZSwoZnVuY3Rpb24oZSl7cmUoZSl9KSkscmUoZSl9KGUpLGFlKGUpLE8oZSxpLmNsYXNzX2xvYWRpbmcpLE4obiwtMSksVChlKSxrKGkuY2FsbGJhY2tfY2FuY2VsLGUsdCxuKSl9KGUsdCxpLG4pLGsoaS5jYWxsYmFja19leGl0LGUsdCxuKSl9KGUudGFyZ2V0LGUsdCxpKX0pKX0scGU9ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUpfSxmZT1mdW5jdGlvbihlKXtyZXR1cm4gZS5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbChlLmVsZW1lbnRzX3NlbGVjdG9yKX0sbWU9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBFKGUpPT09eX0oZSl9LGdlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBwZShlKS5maWx0ZXIoUyl9KGV8fGZlKHQpKX0seWU9ZnVuY3Rpb24oZSxpKXt2YXIgcz1hKGUpO3RoaXMuX3NldHRpbmdzPXMsdGhpcy5sb2FkaW5nQ291bnQ9MCxmdW5jdGlvbihlLHQpe24mJiFoZShlKSYmKHQuX29ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZnVuY3Rpb24oaSl7ZGUoaSxlLHQpfSksZnVuY3Rpb24oZSl7cmV0dXJue3Jvb3Q6ZS5jb250YWluZXI9PT1kb2N1bWVudD9udWxsOmUuY29udGFpbmVyLHJvb3RNYXJnaW46ZS50aHJlc2hvbGRzfHxlLnRocmVzaG9sZCsicHgifX0oZSkpKX0ocyx0aGlzKSxmdW5jdGlvbihlLGkpe3QmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLChmdW5jdGlvbigpeyFmdW5jdGlvbihlLHQpe3ZhciBpOyhpPWZlKGUpLHBlKGkpLmZpbHRlcihtZSkpLmZvckVhY2goKGZ1bmN0aW9uKHQpe08odCxlLmNsYXNzX2Vycm9yKSxUKHQpfSkpLHQudXBkYXRlKCl9KGUsaSl9KSl9KHMsdGhpcyksdGhpcy51cGRhdGUoaSl9O3JldHVybiB5ZS5wcm90b3R5cGU9e3VwZGF0ZTpmdW5jdGlvbihlKXt2YXIgdCxzLG89dGhpcy5fc2V0dGluZ3Mscj1nZShlLG8pO00odGhpcyxyLmxlbmd0aCksIWkmJm4/aGUobyk/ZnVuY3Rpb24oZSx0LGkpe2UuZm9yRWFjaCgoZnVuY3Rpb24oZSl7LTEhPT11ZS5pbmRleE9mKGUudGFnTmFtZSkmJmZ1bmN0aW9uKGUsdCxpKXtlLnNldEF0dHJpYnV0ZSgibG9hZGluZyIsImxhenkiKSxuZShlLHQsaSksZnVuY3Rpb24oZSx0KXt2YXIgaT1ZW2UudGFnTmFtZV07aSYmaShlLHQpfShlLHQpLEMoZSx2KX0oZSx0LGkpfSkpLE0oaSwwKX0ocixvLHRoaXMpOihzPXIsZnVuY3Rpb24oZSl7ZS5kaXNjb25uZWN0KCl9KHQ9dGhpcy5fb2JzZXJ2ZXIpLGZ1bmN0aW9uKGUsdCl7dC5mb3JFYWNoKChmdW5jdGlvbih0KXtlLm9ic2VydmUodCl9KSl9KHQscykpOnRoaXMubG9hZEFsbChyKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyJiZ0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCksZmUodGhpcy5fc2V0dGluZ3MpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3EoZSl9KSksZGVsZXRlIHRoaXMuX29ic2VydmVyLGRlbGV0ZSB0aGlzLl9zZXR0aW5ncyxkZWxldGUgdGhpcy5sb2FkaW5nQ291bnQsZGVsZXRlIHRoaXMudG9Mb2FkQ291bnR9LGxvYWRBbGw6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxpPXRoaXMuX3NldHRpbmdzO2dlKGUsaSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7UChlLHQpLG9lKGUsaSx0KX0pKX0scmVzdG9yZUFsbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMuX3NldHRpbmdzO2ZlKGUpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2NlKHQsZSl9KSl9fSx5ZS5sb2FkPWZ1bmN0aW9uKGUsdCl7dmFyIGk9YSh0KTtvZShlLGkpfSx5ZS5yZXNldFN0YXR1cz1mdW5jdGlvbihlKXtUKGUpfSx0JiZmdW5jdGlvbihlLHQpe2lmKHQpaWYodC5sZW5ndGgpZm9yKHZhciBpLG49MDtpPXRbbl07bis9MSlsKGUsaSk7ZWxzZSBsKGUsdCl9KHllLHdpbmRvdy5sYXp5TG9hZE9wdGlvbnMpLHllfSgpfSwyMjUyMjpmdW5jdGlvbihlLHQpe3ZhciBpOy8qIXsgIm5hbWUiOiAidmlzc2Vuc2UiLCAidmVyc2lvbiI6ICIwLjEwLjAiLCAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly92aXNzZW5zZS5naXRodWIuaW8vdmlzc2Vuc2UiLCJjb3B5cmlnaHQiOiAiKGMpIDIwMTYgdGJrIiB9Ki8hZnVuY3Rpb24obixzLG8peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1mdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlLHQsaSl7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cztyZXR1cm4gcigoZnVuY3Rpb24oKXtlLmFwcGx5KGksbil9KSx0fHwwKX19ZnVuY3Rpb24gcyhlLHQpe3ZhciBpPWc7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49dGhpcyxzPWFyZ3VtZW50cztpKCksaT1yKChmdW5jdGlvbigpe2UuYXBwbHkobixzKX0pLHQpfX1mdW5jdGlvbiBvKGUsdCl7dmFyIG49bSh0KSxzPW0oZSk7cmV0dXJuIG58fHM/biYmcz8oYyhPYmplY3Qua2V5cyh0KSwoZnVuY3Rpb24obil7ZVtuXT09PWkmJihlW25dPXRbbl0pfSkpLGUpOm4/dDplOnR9ZnVuY3Rpb24gcihlLHQpe3ZhciBpPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZSgpfSksdHx8MCk7cmV0dXJuIGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGkpfX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuKGYoZSk/ZSgpOmUpP3QoKTppfX1mdW5jdGlvbiBsKGUsdCxpKXtmb3IodmFyIG49LTEscz1PYmplY3Qua2V5cyh0KSxvPXMubGVuZ3RoLHI9ZihpKTsrK248bzspe3ZhciBhPXNbbl07ZVthXT1yP2koZVthXSx0W2FdLGEsZSx0KTp0W2FdfXJldHVybiBlfWZ1bmN0aW9uIGMoZSx0LG4pe2Zvcih2YXIgcz0wLG89ZS5sZW5ndGg7bz5zO3MrKyl7dmFyIHI9dC5jYWxsKG4sZVtzXSxzLGUpO2lmKHIhPT1pKXJldHVybiByfX1mdW5jdGlvbiB1KGUpe3JldHVybiBlfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGUhPT1pfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGUmJiJvYmplY3QiPT10eXBlb2YgZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aCYmIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKXx8ITF9ZnVuY3Rpb24gcChlKXtyZXR1cm4gZSYmMT09PWUubm9kZVR5cGV8fCExfWZ1bmN0aW9uIGYoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV8fCExfWZ1bmN0aW9uIG0oZSl7dmFyIHQ9dHlwZW9mIGU7cmV0dXJuImZ1bmN0aW9uIj09PXR8fGUmJiJvYmplY3QiPT09dHx8ITF9ZnVuY3Rpb24gZygpe31mdW5jdGlvbiB5KCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9ZnVuY3Rpb24gdihlKXt2YXIgdCxuPSExO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBufHwodD1lLmFwcGx5KGksYXJndW1lbnRzKSxuPSEwKSx0fX1mdW5jdGlvbiBiKGUsdCxpKXt2YXIgbj1nLHM9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89eSgpLGE9YXJndW1lbnRzLGw9ZnVuY3Rpb24oKXtzPW8sZS5hcHBseShpLGEpfTtzJiZzK3Q+bz8obigpLG49cihsLHQpKToocz1vLHIobCwwKSl9fWZ1bmN0aW9uIF8odCl7dmFyIGk9dHx8ZTtyZXR1cm57aGVpZ2h0OmkuaW5uZXJIZWlnaHQsd2lkdGg6aS5pbm5lcldpZHRofX1mdW5jdGlvbiB3KHQsaSl7cmV0dXJuKGl8fGUpLmdldENvbXB1dGVkU3R5bGUodCxudWxsKX1mdW5jdGlvbiBFKGUsdCl7cmV0dXJuIGUuZ2V0UHJvcGVydHlWYWx1ZSh0KX1mdW5jdGlvbiBDKGUsdCl7aWYodHx8KHQ9dyhlKSksIm5vbmUiPT09RSh0LCJkaXNwbGF5IikpcmV0dXJuITE7dmFyIGk9ZS5wYXJlbnROb2RlO3JldHVybiFwKGkpfHxDKGkpfWZ1bmN0aW9uIFQodCxpKXtpZih0PT09KGl8fGUpLmRvY3VtZW50KXJldHVybiEwO2lmKCF0fHwhdC5wYXJlbnROb2RlKXJldHVybiExO3ZhciBuPXcodCxpKSxzPUUobiwidmlzaWJpbGl0eSIpO3JldHVybiJoaWRkZW4iIT09cyYmImNvbGxhcHNlIiE9PXMmJkModCxuKX1mdW5jdGlvbiBTKGUsdCl7cmV0dXJuISghZXx8ZS53aWR0aDw9MHx8ZS5oZWlnaHQ8PTApJiYoZS5ib3R0b20+MCYmZS5yaWdodD4wJiZlLnRvcDx0LmhlaWdodCYmZS5sZWZ0PHQud2lkdGgpfWZ1bmN0aW9uIEkoZSx0KXt2YXIgaT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49Xyh0KTtpZighUyhpLG4pfHwhVChlKSlyZXR1cm4gMDt2YXIgcz0wLG89MDtyZXR1cm4gaS50b3A+PTA/cz1NYXRoLm1pbihpLmhlaWdodCxuLmhlaWdodC1pLnRvcCk6aS5ib3R0b20+MCYmKHM9TWF0aC5taW4obi5oZWlnaHQsaS5ib3R0b20pKSxpLmxlZnQ+PTA/bz1NYXRoLm1pbihpLndpZHRoLG4ud2lkdGgtaS5sZWZ0KTppLnJpZ2h0PjAmJihvPU1hdGgubWluKG4ud2lkdGgsaS5yaWdodCkpLHMqby8oaS5oZWlnaHQqaS53aWR0aCl9ZnVuY3Rpb24gQSh0KXtyZXR1cm4heCh0fHxlKS5pc0hpZGRlbigpfWZ1bmN0aW9uIGsodCxpKXtpZighKHRoaXMgaW5zdGFuY2VvZiBrKSlyZXR1cm4gbmV3IGsodCxpKTtpZighcCh0KSl0aHJvdyBuZXcgRXJyb3IoIm5vdCBhbiBlbGVtZW50IG5vZGUiKTt0aGlzLl9lbGVtZW50PXQsdGhpcy5fY29uZmlnPW8oaSx7ZnVsbHl2aXNpYmxlOjEsaGlkZGVuOjAscmVmZXJlbmNlV2luZG93OmUscGVyY2VudGFnZUhvb2s6SSxwcmVjaXNpb246Myx2aXNpYmlsaXR5SG9va3M6W119KTt2YXIgbj10aGlzLl9jb25maWcucHJlY2lzaW9uPD0wPzE6TWF0aC5wb3coMTAsdGhpcy5fY29uZmlnLnByZWNpc2lvbnx8Myk7dGhpcy5fcm91bmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucm91bmQoZSpuKS9ufTt2YXIgcz14KHRoaXMuX2NvbmZpZy5yZWZlcmVuY2VXaW5kb3cpO3RoaXMuX2NvbmZpZy52aXNpYmlsaXR5SG9va3MucHVzaCgoZnVuY3Rpb24oKXtyZXR1cm4hcy5pc0hpZGRlbigpfSkpfWZ1bmN0aW9uIEwoZSx0KXt2YXIgaT1lLnN0YXRlKCksbj1pLnBlcmNlbnRhZ2U7cmV0dXJuIHQmJm49PT10LnBlcmNlbnRhZ2UmJnQucGVyY2VudGFnZT09PXQucHJldmlvdXMucGVyY2VudGFnZT90OmkuaGlkZGVuP2suVmlzU3RhdGUuaGlkZGVuKG4sdCk6aS5mdWxseXZpc2libGU/ay5WaXNTdGF0ZS5mdWxseXZpc2libGUobix0KTprLlZpc1N0YXRlLnZpc2libGUobix0KX1mdW5jdGlvbiBPKGUsdCl7dmFyIGk9byh0LHtzdHJhdGVneTpbbmV3IE8uU3RyYXRlZ3kuUG9sbGluZ1N0cmF0ZWd5LG5ldyBPLlN0cmF0ZWd5LkV2ZW50U3RyYXRlZ3ldLGFzeW5jOiExfSk7dGhpcy5fdmlzb2JqPWUsdGhpcy5fc3RhdGU9e30sdGhpcy5fc3RhcnRlZD0hMTt2YXIgbj0iKiMiK3koKTt0aGlzLl9wdWJzdWI9bmV3IFAoe2FzeW5jOmkuYXN5bmMsYW55VG9waWNOYW1lOm59KSx0aGlzLl9ldmVudHM9W24sInN0YXJ0Iiwic3RvcCIsInVwZGF0ZSIsImhpZGRlbiIsInZpc2libGUiLCJmdWxseXZpc2libGUiLCJwZXJjZW50YWdlY2hhbmdlIiwidmlzaWJpbGl0eWNoYW5nZSJdLHRoaXMuX3N0cmF0ZWd5PW5ldyBPLlN0cmF0ZWd5LkNvbXBvc2l0ZVN0cmF0ZWd5KGkuc3RyYXRlZ3kpLHRoaXMuX3N0cmF0ZWd5LmluaXQodGhpcyksdGhpcy5fcHVic3ViLm9uKCJ1cGRhdGUiLChmdW5jdGlvbihlKXt2YXIgdD1lLl9zdGF0ZS5wZXJjZW50YWdlLGk9ZS5fc3RhdGUucHJldmlvdXMucGVyY2VudGFnZTt0IT09aSYmZS5fcHVic3ViLnB1Ymxpc2goInBlcmNlbnRhZ2VjaGFuZ2UiLFtlLHQsaV0pfSkpLHRoaXMuX3B1YnN1Yi5vbigidXBkYXRlIiwoZnVuY3Rpb24oZSl7ZS5fc3RhdGUuY29kZSE9PWUuX3N0YXRlLnByZXZpb3VzLmNvZGUmJmUuX3B1YnN1Yi5wdWJsaXNoKCJ2aXNpYmlsaXR5Y2hhbmdlIixbZV0pfSkpLHRoaXMuX3B1YnN1Yi5vbigidmlzaWJpbGl0eWNoYW5nZSIsKGZ1bmN0aW9uKGUpe2UuX3N0YXRlLnZpc2libGUmJiFlLl9zdGF0ZS5wcmV2aW91cy52aXNpYmxlJiZlLl9wdWJzdWIucHVibGlzaCgidmlzaWJsZSIsW2VdKX0pKSx0aGlzLl9wdWJzdWIub24oInZpc2liaWxpdHljaGFuZ2UiLChmdW5jdGlvbihlKXtlLl9zdGF0ZS5mdWxseXZpc2libGUmJmUuX3B1YnN1Yi5wdWJsaXNoKCJmdWxseXZpc2libGUiLFtlXSl9KSksdGhpcy5fcHVic3ViLm9uKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoZnVuY3Rpb24oZSl7ZS5fc3RhdGUuaGlkZGVuJiZlLl9wdWJzdWIucHVibGlzaCgiaGlkZGVuIixbZV0pfSkpLGModGhpcy5fZXZlbnRzLChmdW5jdGlvbihlKXtmKGlbZV0pJiZ0aGlzLm9uKGUsaVtlXSl9KSx0aGlzKX12YXIgeD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgaT1mdW5jdGlvbihlLHQpe3JldHVybntwcm9wZXJ0eTplLGV2ZW50OnR9fSxuPSJ2aXNpYmlsaXR5Y2hhbmdlIjtyZXR1cm4gYyhbaSgid2Via2l0SGlkZGVuIiwid2Via2l0IituKSxpKCJtc0hpZGRlbiIsIm1zIituKSxpKCJtb3pIaWRkZW4iLCJtb3oiK24pLGkoImhpZGRlbiIsbildLChmdW5jdGlvbihpKXtyZXR1cm4gZVtpLnByb3BlcnR5XSE9PXQ/e2lzSGlkZGVuOmZ1bmN0aW9uKCl7cmV0dXJuISFlW2kucHJvcGVydHldfHwhMX0sb25WaXNpYmlsaXR5Q2hhbmdlOmZ1bmN0aW9uKHQpe3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoaS5ldmVudCx0LCExKSxmdW5jdGlvbigpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihpLmV2ZW50LHQsITEpfX19OnZvaWQgMH0pKXx8e2lzSGlkZGVuOmZ1bmN0aW9uKCl7cmV0dXJuITF9LG9uVmlzaWJpbGl0eUNoYW5nZTpmdW5jdGlvbigpe3JldHVybiBnfX19KCh0fHxlKS5kb2N1bWVudCl9LFA9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXt0aGlzLl9jYWNoZT17fSx0aGlzLl9vbkFueUNhY2hlPVtdLHRoaXMuX2NvbmZpZz1vKGUse2FzeW5jOiExLGFueVRvcGljTmFtZToiKiJ9KX12YXIgaT1mdW5jdGlvbihlLHQpe2MoZSwoZnVuY3Rpb24oZSl7ZSh0KX0pKX07cmV0dXJuIHQucHJvdG90eXBlLm9uPWZ1bmN0aW9uKHQsaSl7aWYoIWYoaSkpcmV0dXJuIGc7dmFyIHM9ZnVuY3Rpb24odCl7cmV0dXJuIGkuYXBwbHkoZSx0fHxbXSl9LG89dGhpcy5fY29uZmlnLmFzeW5jP24ocyk6cyxyPWZ1bmN0aW9uKGUsdCxpKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgaT10LmluZGV4T2YoZSk7cmV0dXJuIGk+LTEmJih0LnNwbGljZShpLDEpLCEwKX19O3JldHVybiB0PT09dGhpcy5fY29uZmlnLmFueVRvcGljTmFtZT8odGhpcy5fb25BbnlDYWNoZS5wdXNoKG8pLHIobyx0aGlzLl9vbkFueUNhY2hlLCIqIikpOih0aGlzLl9jYWNoZVt0XXx8KHRoaXMuX2NhY2hlW3RdPVtdKSx0aGlzLl9jYWNoZVt0XS5wdXNoKG8pLHIobyx0aGlzLl9jYWNoZVt0XSx0KSl9LHQucHJvdG90eXBlLnB1Ymxpc2g9ZnVuY3Rpb24oZSx0KXt2YXIgcz0odGhpcy5fY2FjaGVbZV18fFtdKS5jb25jYXQoZT09PXRoaXMuX2NvbmZpZy5hbnlUb3BpY05hbWU/W106dGhpcy5fb25BbnlDYWNoZSksbz0hIXRoaXMuX2NvbmZpZy5hc3luYz9uKGkpOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkoZSx0KSxnfTtyZXR1cm4gbyhzLHR8fFtdKX0sdH0oKTtrLnByb3RvdHlwZS5zdGF0ZT1mdW5jdGlvbigpe3ZhciBlLHQsaSxuO3JldHVybiBjKHRoaXMuX2NvbmZpZy52aXNpYmlsaXR5SG9va3MsKGZ1bmN0aW9uKGUpe3JldHVybiBlKHRoaXMuX2VsZW1lbnQpP3ZvaWQgMDprLlZpc1N0YXRlLmhpZGRlbigwKX0pLHRoaXMpfHwoZT10aGlzLHQ9dGhpcy5fZWxlbWVudCxpPXRoaXMuX2NvbmZpZywobj1lLl9yb3VuZChpLnBlcmNlbnRhZ2VIb29rKHQsaS5yZWZlcmVuY2VXaW5kb3cpKSk8PWkuaGlkZGVuP2suVmlzU3RhdGUuaGlkZGVuKG4pOm4+PWkuZnVsbHl2aXNpYmxlP2suVmlzU3RhdGUuZnVsbHl2aXNpYmxlKG4pOmsuVmlzU3RhdGUudmlzaWJsZShuKSl9LGsucHJvdG90eXBlLnBlcmNlbnRhZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGF0ZSgpLnBlcmNlbnRhZ2V9LGsucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZWxlbWVudH0say5wcm90b3R5cGUucmVmZXJlbmNlV2luZG93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbmZpZy5yZWZlcmVuY2VXaW5kb3d9LGsucHJvdG90eXBlLmlzRnVsbHlWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGUoKS5mdWxseXZpc2libGV9LGsucHJvdG90eXBlLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlKCkudmlzaWJsZX0say5wcm90b3R5cGUuaXNIaWRkZW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGF0ZSgpLmhpZGRlbn0say5mbj1rLnByb3RvdHlwZSxrLm9mPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBrKGUsdCl9O3ZhciBOPXtISURERU46WzAsImhpZGRlbiJdLFZJU0lCTEU6WzEsInZpc2libGUiXSxGVUxMWV9WSVNJQkxFOlsyLCJmdWxseXZpc2libGUiXX07cmV0dXJuIGsuVmlzU3RhdGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxpKXtyZXR1cm4gaSYmZGVsZXRlIGkucHJldmlvdXMse2NvZGU6ZVswXSxzdGF0ZTplWzFdLHBlcmNlbnRhZ2U6dCxwcmV2aW91czppfHx7fSxmdWxseXZpc2libGU6ZVswXT09PU4uRlVMTFlfVklTSUJMRVswXSx2aXNpYmxlOmVbMF09PT1OLlZJU0lCTEVbMF18fGVbMF09PT1OLkZVTExZX1ZJU0lCTEVbMF0saGlkZGVuOmVbMF09PT1OLkhJRERFTlswXX19cmV0dXJue2hpZGRlbjpmdW5jdGlvbih0LGkpe3JldHVybiBlKE4uSElEREVOLHQsaSl9LHZpc2libGU6ZnVuY3Rpb24odCxpKXtyZXR1cm4gZShOLlZJU0lCTEUsdCxpKX0sZnVsbHl2aXNpYmxlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIGUoTi5GVUxMWV9WSVNJQkxFLHQsaSl9fX0oKSxPLnByb3RvdHlwZS52aXNvYmo9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmlzb2JqfSxPLnByb3RvdHlwZS5wdWJsaXNoPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fZXZlbnRzLmluZGV4T2YoZSk+PTApdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcHVibGlzaCBpbnRlcm5hbCBldmVudCAiJytlKyciIGZyb20gZXh0ZXJuYWwgc2NvcGUuJyk7cmV0dXJuIHRoaXMuX3B1YnN1Yi5wdWJsaXNoKGUsdCl9LE8ucHJvdG90eXBlLnN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0YXRlfSxPLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbihlKXtpZih0aGlzLl9zdGFydGVkKXJldHVybiB0aGlzO3ZhciB0PW8oZSx7YXN5bmM6ITF9KTtyZXR1cm4gdGhpcy5fY2FuY2VsQXN5bmNTdGFydCYmdGhpcy5fY2FuY2VsQXN5bmNTdGFydCgpLHQuYXN5bmM/dGhpcy5zdGFydEFzeW5jKCk6KHRoaXMuX3N0YXJ0ZWQ9ITAsdGhpcy51cGRhdGUoKSx0aGlzLl9wdWJzdWIucHVibGlzaCgic3RhcnQiLFt0aGlzXSksdGhpcy5fc3RyYXRlZ3kuc3RhcnQodGhpcyksdGhpcyl9LE8ucHJvdG90eXBlLnN0YXJ0QXN5bmM9ZnVuY3Rpb24oZSl7dGhpcy5fY2FuY2VsQXN5bmNTdGFydCYmdGhpcy5fY2FuY2VsQXN5bmNTdGFydCgpO3ZhciB0PXRoaXMsaT1yKChmdW5jdGlvbigpe3Quc3RhcnQobChvKGUse30pLHthc3luYzohMX0pKX0pKTtyZXR1cm4gdGhpcy5fY2FuY2VsQXN5bmNTdGFydD1mdW5jdGlvbigpe2koKSx0Ll9jYW5jZWxBc3luY1N0YXJ0PW51bGx9LHRoaXN9LE8ucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLl9jYW5jZWxBc3luY1N0YXJ0JiZ0aGlzLl9jYW5jZWxBc3luY1N0YXJ0KCksdGhpcy5fc3RhcnRlZCYmKHRoaXMuX3N0cmF0ZWd5LnN0b3AodGhpcyksdGhpcy5fcHVic3ViLnB1Ymxpc2goInN0b3AiLFt0aGlzXSkpLHRoaXMuX3N0YXJ0ZWQ9ITF9LE8ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX3N0YXJ0ZWQmJih0aGlzLl9zdGF0ZT1MKHRoaXMuX3Zpc29iaix0aGlzLl9zdGF0ZSksdGhpcy5fcHVic3ViLnB1Ymxpc2goInVwZGF0ZSIsW3RoaXNdKSl9LE8ucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX3B1YnN1Yi5vbihlLHQpfSxPLkJ1aWxkZXI9KE09ZnVuY3Rpb24oZSx0KXt2YXIgaT1udWxsLG49ITE9PT1lLnN0cmF0ZWd5O2lmKCFuJiYoZS5zdHJhdGVneXx8dC5sZW5ndGg+MCkpe3ZhciBzPSEhZS5zdHJhdGVneSxvPWQoZS5zdHJhdGVneSk7aT0ocz9vP2Uuc3RyYXRlZ3k6W2Uuc3RyYXRlZ3ldOltdKS5jb25jYXQodCl9ZWxzZSBpPW4/W106ZS5zdHJhdGVneTtyZXR1cm4gaX0sZnVuY3Rpb24oZSl7dmFyIHQ9e30saT1bXSxuPVtdLHM9ITEsbz1udWxsO3JldHVybntzZXQ6ZnVuY3Rpb24oZSxpKXtyZXR1cm4gdFtlXT1pLHRoaXN9LHN0cmF0ZWd5OmZ1bmN0aW9uKGUpe3JldHVybiBpLnB1c2goZSksdGhpc30sb246ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbi5wdXNoKFtlLHRdKSx0aGlzfSxidWlsZDpmdW5jdGlvbihyKXt2YXIgYT1mdW5jdGlvbigpe3ZhciByPU0odCxpKTt0LnN0cmF0ZWd5PXI7dmFyIGE9ZS5tb25pdG9yKHQpO3JldHVybiBjKG4sKGZ1bmN0aW9uKGUpe2Eub24oZVswXSxlWzFdKX0pKSxzPSEwLG89YX0sbD1zP286YSgpO3JldHVybiBmKHIpP3IobCk6bH19fSksTy5TdHJhdGVneT1mdW5jdGlvbigpe30sTy5TdHJhdGVneS5wcm90b3R5cGUuaW5pdD1nLE8uU3RyYXRlZ3kucHJvdG90eXBlLnN0YXJ0PWcsTy5TdHJhdGVneS5wcm90b3R5cGUuc3RvcD1nLE8uU3RyYXRlZ3kuQ29tcG9zaXRlU3RyYXRlZ3k9ZnVuY3Rpb24oZSl7dGhpcy5fc3RyYXRlZ2llcz1kKGUpP2U6W2VdfSxPLlN0cmF0ZWd5LkNvbXBvc2l0ZVN0cmF0ZWd5LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKE8uU3RyYXRlZ3kucHJvdG90eXBlKSxPLlN0cmF0ZWd5LkNvbXBvc2l0ZVN0cmF0ZWd5LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGUpe2ModGhpcy5fc3RyYXRlZ2llcywoZnVuY3Rpb24odCl7Zih0LmluaXQpJiZ0LmluaXQoZSl9KSl9LE8uU3RyYXRlZ3kuQ29tcG9zaXRlU3RyYXRlZ3kucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKGUpe2ModGhpcy5fc3RyYXRlZ2llcywoZnVuY3Rpb24odCl7Zih0LnN0YXJ0KSYmdC5zdGFydChlKX0pKX0sTy5TdHJhdGVneS5Db21wb3NpdGVTdHJhdGVneS5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbihlKXtjKHRoaXMuX3N0cmF0ZWdpZXMsKGZ1bmN0aW9uKHQpe2YodC5zdG9wKSYmdC5zdG9wKGUpfSkpfSxPLlN0cmF0ZWd5LlBvbGxpbmdTdHJhdGVneT1mdW5jdGlvbihlKXt0aGlzLl9jb25maWc9byhlLHtpbnRlcnZhbDoxZTN9KSx0aGlzLl9zdGFydGVkPSExfSxPLlN0cmF0ZWd5LlBvbGxpbmdTdHJhdGVneS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShPLlN0cmF0ZWd5LnByb3RvdHlwZSksTy5TdHJhdGVneS5Qb2xsaW5nU3RyYXRlZ3kucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9zdGFydGVkfHwodGhpcy5fY2xlYXJJbnRlcnZhbD0odD10aGlzLl9jb25maWcuaW50ZXJ2YWwsaT1zZXRJbnRlcnZhbCgoZnVuY3Rpb24oKXtlLnVwZGF0ZSgpfSksdCksZnVuY3Rpb24oKXtjbGVhckludGVydmFsKGkpfSksdGhpcy5fc3RhcnRlZD0hMCksdGhpcy5fc3RhcnRlZDt2YXIgdCxpfSxPLlN0cmF0ZWd5LlBvbGxpbmdTdHJhdGVneS5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5fc3RhcnRlZCYmKHRoaXMuX2NsZWFySW50ZXJ2YWwoKSx0aGlzLl9zdGFydGVkPSExLCEwKX0sTy5TdHJhdGVneS5FdmVudFN0cmF0ZWd5PWZ1bmN0aW9uKGUpe3RoaXMuX2NvbmZpZz1vKGUse3Rocm90dGxlOjUwfSksdGhpcy5fY29uZmlnLmRlYm91bmNlPjAmJih0aGlzLl9jb25maWcudGhyb3R0bGU9K3RoaXMuX2NvbmZpZy5kZWJvdW5jZSksdGhpcy5fc3RhcnRlZD0hMX0sTy5TdHJhdGVneS5FdmVudFN0cmF0ZWd5LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKE8uU3RyYXRlZ3kucHJvdG90eXBlKSxPLlN0cmF0ZWd5LkV2ZW50U3RyYXRlZ3kucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9zdGFydGVkfHwodGhpcy5fcmVtb3ZlRXZlbnRMaXN0ZW5lcnM9KHQ9YigoZnVuY3Rpb24oKXtlLnVwZGF0ZSgpfSksdGhpcy5fY29uZmlnLnRocm90dGxlKSxpPWUudmlzb2JqKCkucmVmZXJlbmNlV2luZG93KCksbj14KGkpLm9uVmlzaWJpbGl0eUNoYW5nZSh0KSxpLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdCwhMSksaS5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHQsITEpLGkuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0LCExKSxmdW5jdGlvbigpe2kucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0LCExKSxpLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdCwhMSksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHQsITEpLG4oKX0pLHRoaXMuX3N0YXJ0ZWQ9ITApLHRoaXMuX3N0YXJ0ZWQ7dmFyIHQsaSxufSxPLlN0cmF0ZWd5LkV2ZW50U3RyYXRlZ3kucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuX3N0YXJ0ZWQmJih0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVycygpLHRoaXMuX3N0YXJ0ZWQ9ITEsITApfSxrLlZpc01vbj1PLGsuUHViU3ViPVAsay5mbi5tb25pdG9yPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgTyh0aGlzLGUpfSxrLlV0aWxzPXthc3luYzpuLGRlYm91bmNlOnMsZGVmYXVsdHM6byxkZWZlcjpyLGV4dGVuZDpsLGZvckVhY2g6YyxmaXJlSWY6YSxpZGVudGl0eTp1LGlzQXJyYXk6ZCxpc0RlZmluZWQ6aCxpc0VsZW1lbnQ6cCxpc0Z1bmN0aW9uOmYsaXNPYmplY3Q6bSxpc1BhZ2VWaXNpYmxlOkEsaXNWaXNpYmxlQnlTdHlsaW5nOlQsbm9vcDpnLG5vdzp5LG9uY2U6dix0aHJvdHRsZTpiLHBlcmNlbnRhZ2U6SSxWaXNpYmlsaXR5QXBpOngoKSxjcmVhdGVWaXNpYmlsaXR5QXBpOngsX3ZpZXdwb3J0Ol8sX2lzSW5WaWV3cG9ydDpTLF9pc0Rpc3BsYXllZDpDLF9jb21wdXRlZFN0eWxlOncsX3N0eWxlUHJvcGVydHk6RX0sazt2YXIgTX0oZSxlLmRvY3VtZW50KTtyZXR1cm4gdC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHR9LHR9O3ZvaWQgMD09PShpPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1pKX0oKX0sMzE5NTU6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7LyohanMtY29va2llIHYzLjAuMSB8IE1JVCovZnVuY3Rpb24gaShlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgaT1hcmd1bWVudHNbdF07Zm9yKHZhciBuIGluIGkpZVtuXT1pW25dfXJldHVybiBlfXZhciBuPWZ1bmN0aW9uIGUodCxuKXtmdW5jdGlvbiBzKGUscyxvKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXsibnVtYmVyIj09dHlwZW9mKG89aSh7fSxuLG8pKS5leHBpcmVzJiYoby5leHBpcmVzPW5ldyBEYXRlKERhdGUubm93KCkrODY0ZTUqby5leHBpcmVzKSksby5leHBpcmVzJiYoby5leHBpcmVzPW8uZXhwaXJlcy50b1VUQ1N0cmluZygpKSxlPWVuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lKDJbMzQ2Ql18NUV8NjB8N0MpL2csZGVjb2RlVVJJQ29tcG9uZW50KS5yZXBsYWNlKC9bKCldL2csZXNjYXBlKTt2YXIgcj0iIjtmb3IodmFyIGEgaW4gbylvW2FdJiYocis9IjsgIithLCEwIT09b1thXSYmKHIrPSI9IitvW2FdLnNwbGl0KCI7IilbMF0pKTtyZXR1cm4gZG9jdW1lbnQuY29va2llPWUrIj0iK3Qud3JpdGUocyxlKStyfX1yZXR1cm4gT2JqZWN0LmNyZWF0ZSh7c2V0OnMsZ2V0OmZ1bmN0aW9uKGUpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJighYXJndW1lbnRzLmxlbmd0aHx8ZSkpe2Zvcih2YXIgaT1kb2N1bWVudC5jb29raWU/ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7ICIpOltdLG49e30scz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgbz1pW3NdLnNwbGl0KCI9Iikscj1vLnNsaWNlKDEpLmpvaW4oIj0iKTt0cnl7dmFyIGE9ZGVjb2RlVVJJQ29tcG9uZW50KG9bMF0pO2lmKG5bYV09dC5yZWFkKHIsYSksZT09PWEpYnJlYWt9Y2F0Y2goZSl7fX1yZXR1cm4gZT9uW2VdOm59fSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXtzKGUsIiIsaSh7fSx0LHtleHBpcmVzOi0xfSkpfSx3aXRoQXR0cmlidXRlczpmdW5jdGlvbih0KXtyZXR1cm4gZSh0aGlzLmNvbnZlcnRlcixpKHt9LHRoaXMuYXR0cmlidXRlcyx0KSl9LHdpdGhDb252ZXJ0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIGUoaSh7fSx0aGlzLmNvbnZlcnRlcix0KSx0aGlzLmF0dHJpYnV0ZXMpfX0se2F0dHJpYnV0ZXM6e3ZhbHVlOk9iamVjdC5mcmVlemUobil9LGNvbnZlcnRlcjp7dmFsdWU6T2JqZWN0LmZyZWV6ZSh0KX19KX0oe3JlYWQ6ZnVuY3Rpb24oZSl7cmV0dXJuJyInPT09ZVswXSYmKGU9ZS5zbGljZSgxLC0xKSksZS5yZXBsYWNlKC8oJVtcZEEtRl17Mn0pKy9naSxkZWNvZGVVUklDb21wb25lbnQpfSx3cml0ZTpmdW5jdGlvbihlKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGUpLnJlcGxhY2UoLyUoMlszNDZCRl18M1tBQy1GXXw0MHw1W0JERV18NjB8N1tCQ0RdKS9nLGRlY29kZVVSSUNvbXBvbmVudCl9fSx7cGF0aDoiLyJ9KTt0Llo9bn0sNzc2Mjg6ZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBudWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYiY29uc3RydWN0b3IiaW4gZSYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdH1mdW5jdGlvbiBzKGU9e30sdD17fSl7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoaT0+e3ZvaWQgMD09PWVbaV0/ZVtpXT10W2ldOm4odFtpXSkmJm4oZVtpXSkmJk9iamVjdC5rZXlzKHRbaV0pLmxlbmd0aD4wJiZzKGVbaV0sdFtpXSl9KSl9aS5kKHQse01lOmZ1bmN0aW9uKCl7cmV0dXJuIHJ9LEpqOmZ1bmN0aW9uKCl7cmV0dXJuIGx9fSk7Y29uc3Qgbz17Ym9keTp7fSxhZGRFdmVudExpc3RlbmVyKCl7fSxyZW1vdmVFdmVudExpc3RlbmVyKCl7fSxhY3RpdmVFbGVtZW50OntibHVyKCl7fSxub2RlTmFtZToiIn0scXVlcnlTZWxlY3RvcjooKT0+bnVsbCxxdWVyeVNlbGVjdG9yQWxsOigpPT5bXSxnZXRFbGVtZW50QnlJZDooKT0+bnVsbCxjcmVhdGVFdmVudDooKT0+KHtpbml0RXZlbnQoKXt9fSksY3JlYXRlRWxlbWVudDooKT0+KHtjaGlsZHJlbjpbXSxjaGlsZE5vZGVzOltdLHN0eWxlOnt9LHNldEF0dHJpYnV0ZSgpe30sZ2V0RWxlbWVudHNCeVRhZ05hbWU6KCk9PltdfSksY3JlYXRlRWxlbWVudE5TOigpPT4oe30pLGltcG9ydE5vZGU6KCk9Pm51bGwsbG9jYXRpb246e2hhc2g6IiIsaG9zdDoiIixob3N0bmFtZToiIixocmVmOiIiLG9yaWdpbjoiIixwYXRobmFtZToiIixwcm90b2NvbDoiIixzZWFyY2g6IiJ9fTtmdW5jdGlvbiByKCl7Y29uc3QgZT0idW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50Ont9O3JldHVybiBzKGUsbyksZX1jb25zdCBhPXtkb2N1bWVudDpvLG5hdmlnYXRvcjp7dXNlckFnZW50OiIifSxsb2NhdGlvbjp7aGFzaDoiIixob3N0OiIiLGhvc3RuYW1lOiIiLGhyZWY6IiIsb3JpZ2luOiIiLHBhdGhuYW1lOiIiLHByb3RvY29sOiIiLHNlYXJjaDoiIn0saGlzdG9yeTp7cmVwbGFjZVN0YXRlKCl7fSxwdXNoU3RhdGUoKXt9LGdvKCl7fSxiYWNrKCl7fX0sQ3VzdG9tRXZlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sYWRkRXZlbnRMaXN0ZW5lcigpe30scmVtb3ZlRXZlbnRMaXN0ZW5lcigpe30sZ2V0Q29tcHV0ZWRTdHlsZTooKT0+KHtnZXRQcm9wZXJ0eVZhbHVlOigpPT4iIn0pLEltYWdlKCl7fSxEYXRlKCl7fSxzY3JlZW46e30sc2V0VGltZW91dCgpe30sY2xlYXJUaW1lb3V0KCl7fSxtYXRjaE1lZGlhOigpPT4oe30pLHJlcXVlc3RBbmltYXRpb25GcmFtZTplPT4idW5kZWZpbmVkIj09dHlwZW9mIHNldFRpbWVvdXQ/KGUoKSxudWxsKTpzZXRUaW1lb3V0KGUsMCksY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSl7InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRUaW1lb3V0JiZjbGVhclRpbWVvdXQoZSl9fTtmdW5jdGlvbiBsKCl7Y29uc3QgZT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e307cmV0dXJuIHMoZSxhKSxlfX19XSk7"}},"time_used":5279,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5279,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:25.714Z","timestamp":1785137065714,"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/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.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://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.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: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 364038\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-19T17:45:05.827193Z","times_seen":969820,"resource_available":false,"data":"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"}},"time_used":73,"timings":{"blocked":29,"dns":0,"connect":0,"send":0,"wait":19,"receive":25,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/generate_204?7LIZaQ","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.152.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:26.814Z","timestamp":1785137066814,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /generate_204?7LIZaQ HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow\r\nCookie: __Secure-YNID=20.YT=GhHoVqVBrjHMHksu5uSSgLzoaFxSlipAJgg5Br_6VXtipKt0M0tGx6maNNULFSuoPmjhn6TrRofBA0PX16wJP84g82xlVHelBWmJaeFN6kLW3UBMj5gR2yeB2nt_mc5Fta3BSJU5o8qIfzI2fIuyWY14DtZ_1DnPpFpxz_XlGvqNfHda7m_zgLyHIQ-fawJ9ZrP90LxwCOvFTy3uwSuBx3hgQZ1nuj8OqfQvIJQW5xJfxr01vRMWaeEk5ZEjPYuYwGK38gUfiMRXxIzUeDegCXvpN8-BMAaA-YvGh0Eml-GnQmyBMn2F18nj6fzYpEzjxyaaCzPqsxxxY54TPVwQ-Q; YSC=yChB1o8bHXI; VISITOR_INFO1_LIVE=UUUmJsFpd4c; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgCw%3D%3D; __Secure-ROLLOUT_TOKEN=CIWCydSui_jTRBD3jqflqfKVAxj3jqflqfKVAw%3D%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-length: 0\r\ncross-origin-resource-policy: cross-origin\r\ndate: Mon, 27 Jul 2026 07:24:26 GMT\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":172,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-19T17:45:01.88462Z","times_seen":17976927,"resource_available":true,"data":""}},"time_used":9,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/images/04-forex-cfds-hero.jpg","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:30.736Z","timestamp":1785137070736,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /images/04-forex-cfds-hero.jpg HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 184209\r\ncontent-type: image/jpeg\r\nlast-modified: Sun, 20 Feb 2022 20:07:36 GMT\r\naccept-ranges: bytes\r\netag: \"1d8269580c53b91\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:30 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]}],"data":{"size":184209,"size_decoded":184508,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 2000x729, components 3","md5":"529c02ee1377c952eb01fca5d7abbae2","sha1":"7248d0c5534949bc86c8bca978de1e77dc93f6f6","sha256":"af8460afd5e1edb0da3577129b4087894280d312c750ffb048ef6eea42388d02","sha512":"a956441f3bd74bb816b00d26116cb342b5195f0015cb8a38c2a31d86c5873881034be6f533290e12ee5ed7c13f19384ee1376b9a7a4c3feff7778d47d3e74d0a","ssdeep":"3072:zRZ4aqwd78oA0wdn79DbD8WCgM7yRxIk3PhzQnKPpK+9D9M6Nl3QUmmO77GDSZPM:fnN8Fd9HDC9SSKPhp9M6NCFNVZ1e","tlshash":"2904f159f1708b8c1985a94e6edcc9d2881e39f2927ae34f76cd2defc3cc0a35954912","first_seen":"2025-10-27T18:25:33.007496Z","last_seen":"2026-07-27T07:25:28.820225Z","times_seen":6,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABLAAD/4QOMaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwNiA3OS4xNjQ2NDgsIDIwMjEvMDEvMTItMTU6NTI6MjkgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NGRmZjgzM2UtZjdhNi00ODAwLTljMDktYzNmY2NlYTU2M2E2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg1QjQzQjdBNkFBRDExRUJCMjJCQUYzRjA3RjVCQjQ4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg1QjQzQjc5NkFBRDExRUJCMjJCQUYzRjA3RjVCQjQ4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMi4xIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YWY4MjRmYzAtNzIxZS00MTI1LWEyOTctNjExMjM1ZjJlYjI3IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDNiMmZlZmQtOGQzZC1kYjRlLTg2YjEtODgyNTViYTExODFjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAAwICAgICAwICAwUDAwMFBQQDAwQFBgUFBQUFBggGBwcHBwYICAkKCgoJCAwMDAwMDA4ODg4OEBAQEBAQEBAQEAEDBAQGBgYMCAgMEg4MDhIUEBAQEBQREBAQEBARERAQEBAQEBEQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ/8AAEQgC2QfQAwERAAIRAQMRAf/EAPUAAQACAwEBAQEAAAAAAAAAAAABAgMEBQYHCAkBAQEBAQEBAQEBAAAAAAAAAAABAgMEBQYHCBAAAQMCAwMGBgoIEQgFCAQPAQACAxEEIRIFMRMGQVEiFBUHYXGR0TJSgaGxQpLSI1OT08FyM1RVFggJ4WKiQ2MkNKTUleVWphdXGBnwgrJzs5QlNcJEtEW1g6PDdHXVJjbx4mSEZaWWJ+SFxUdnxGa2xjcoEQEAAQIEBAIIBAMFBgUDAgcAARECITESA0FREwTwYXGBkaGxIjIFwdHhQvFSFGJyIxUGgpKistIzwuJDUwdjcxajNPKT0yRUJRf/2gAMAwEAAhEDEQA/AP5ijYF3edKIICAgICAgIooJRRAVBAVQQEBAQECigtRFFAQEBAQEBAQEBAQEBUEBAQSqggICAgICAgICAgICAgICAqCAgICAgICAEEqIICCUUQEBAQEBAQEBAQTRUKIFFBNEQQEBAQFQQEFkQUBAQFRKKICAgUQTREKIJARUoCAgIJCIlAVBAQEBAQEBAVQQEBFSiiAgkKIkICqiAgICAgICAgsoyICAqCAgIqUUQEBESoiVQQEBAQEBAQEBaBQWRBRRAQEBAQSqCoICAgkKIICAgICCVQQEBFEBAQEBBYKIICAqCAgICAgICAgICAgICAgICAgICAgIJoiFECiBRAogUQKIFECiBRAogUQKIFAgUCCaBAoECgQKBAoECgRCgQKBBGVURQoCAgKAgICDdstKnuqPf8nH6x2nxBaiCrt21lbWgpCzHlecXH2VuIZq2KqhVAqgVQKoFUCqBVAqg+XjYF43oSiCAgICAiiglFFQQFUEBAQEBAUE0QTRAUUQEBAQEBAQFQQEBBKIKggICAgICAgICAgICAgICoICAgICAgICAgICAgIAQSoggIJRRAQEBAQEE0UCiBRBKIKggICAgKggICAgILKIICKlAQTRUKIhRBKAgKggIJUUQEBBIREqggICAgICAgUQFRKKICAgICCQoiUBVRAQEBAQEBAQWUQQEBVBAQEVKKICAgsogqggICAgICAgICoBBZEFFSgICAgICoKggICCQoggICAglAVBAQEVKAgICBRBIRE0UCiBQqhRVCiBRAogUQKIFECiCaIFECiBRAoECgQKICgICAiCAgICAgICAgICAgICAgICAgICAgICAgICAgICBRURRBFEEtY57g1oJJwAG0oO1YaQyKkt0A5/IzaB4+daiEmXUqFtkqECoQKhAqECoQKhAqECoQKhAqEHzAbAvG9KUQQEBFEEoogKoICAgICAgUUE0QSoCKICAgICoICCUBVBAQEBAQEBAQEBAQEBAQFQQEBAQEBAQEBAQEBAQEBAQEBAQAglRBAQSiiAgICAglBKiCAqCAgICAgICoIJQKIFEVNEEqIICoICCQiJUBAVBUEBAQSoogICCQiJQFQQECiAoogICCVoEBAQEBAQSFESEBVRAQEBAQEBAQWUQQEBVBAVBBKjQgICIsiCAqCAgIFECiBRAogmhQKKiURICgURSiCaIFEQogUQKKhRAogUQSgAIiaKBRAogUQKKgqCglFEBAQEBBIQSoggICqCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgILMY6RwYwZnOwACo7thp7LRud/SlO13N4AukQjcVQQEBAQEBAQEBAQEHzIbAvG9CUQQKIqUUVQQEBAQEBAooJogIiUUUUQEBUEEqoICAgICAgICAgICAgICAqCAgICAgICAgICAgICAgICAgICAgICAgIFEE0UBEEBBKKICAqJQEBBKiCAgICAgIFEE0RU0QKIFERKAgKggICAgIJCIlQEBUFQQEBBKiiAgIJCIlARRAQEBAQEBBK0CAgKggIgipCiJQEVKIUKoUKBQoFECiBRAoglRBBNECiBRAoqiaIqaBRSgQKBARBAQSNiqJQEBAQEBAQEBUEFgoCAgICAgIJVBAQEBACIlQEBAQEEqoICKIogICAglBKiCAgKoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiu5ptkLZm9kHyrv1I5l0iGat7MVoMxQMxQMxQMxQMxQMxQMxQMxQMxQMxQMxQMxQfNBsXjdyiCVQQEBAQEBAQTRQKICIlFFARRUEEqoICAgICAgICAgICAqCAgICAgICAgICAgICAgICAgICAgICAgICBQoJogUUCiIIJQFQQEBARUoCAgICAEEqIICAgICokIqVESgICAgICAqCAgICAgkIiVAQFQVBAQEEqKICAgkIiQgIogKgglAQEBUKKIUQTRUKBAREoCAgIqUVKIIggICAgICAgIJCCVEEBUFRKiiAgICAgkIiVQQEBAQEBAQFQQSFBKAgICAgIJVBAQEBACIlQEBAQEEqoICKIogICAglBKiCAqCqCAgICAgICAgICAgICAgICAglUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBQQgICDpaTaB7usyDBv3Mc55/YWogdaoW0KhAqECoQKhAqECoQKhAqECoQKhAqECoQKhB83GxeR3EBAQEBAQKKCaICIIJRRQEUVEqoICAgICAgICAgKggICAgICAgICAgICAgICAgICAgICAgICBRAogmigURBAQEBAQEBBKoICAgICKlAQEChQKIJoiCAgICAgIJCKsoggICAgICAqCAgICAgkIiVAQEBUSiiAgICAgKiQoiUBFEErQUUQogmiBRAQEBAVRKAgICAgIoirIgiCAgICAgICAgkIJRBAVBBKKICAgICCQiJQEBAQEBAQEBUEFgglQEBAQEBAVBUEBAQSERKgICAgICqColRRFEBAQEBESoCIKiVQQZLeA3EzYWuDS7YXbKoN7sG79dnlPmVoVOwbv12eV3mShU7Bu/XZ5XeZKFTsG79dnld5koVOwbv12eV3mShU7Bu/XZ5XeZKFVJtFuoYnylzXBgLi1tSSBjhglBz2uD2hzTUHEELImioUKgUKBQoFCgUKBQoFCgy21tJdTNhjpV1cTsFFRu9g3frs8rvMrQqdg3frs8rvMlCp2Dd+uzyu8yUKnYN367PK7zJQqdg3frs8rvMlCp2Dd+uzyu8yUKte/sHabbOu7qVgY2gwJqSdgGCk4LGLUaWvaHsNQcQVKomiBRAogUQKIFECiBRAogUQTRAogUQKIFEEUQKICoILwQunlbE33xxPMOUoPQRsbGxsbBRrRQBdEWRBAQEBAQEBAQE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"}},"time_used":1995,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1077,"receive":918,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/IFXBrokersTrades/assets/dist/fonts/roboto-v20-latin-regular.woff2","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.207Z","timestamp":1785137065207,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/IFXBrokersTrades/assets/dist/fonts/roboto-v20-latin-regular.woff2 HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 15736\r\ncontent-type: font/woff2\r\nlast-modified: Sat, 19 Feb 2022 08:51:46 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256decaf0078\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":15736,"size_decoded":16034,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 15736, version 1.0","md5":"479970ffb74f2117317f9d24d9e317fe","sha1":"81c796737cbe44d4a719777f0aff14b73a3efb1e","sha256":"48c3fa6f86c54f1d9bb519220713d4b0a1f8cd1a589a3c03b9fa82e98ecb13e3","sha512":"13f6b2ecc2407445c1f97109ededcc8ac64fae89fc90432a28ffdaef233b373089be25731718408c32ff3cf632afb260d0035f85fbd8b1b4e068a0d7baf9f6a8","ssdeep":"384:4V2g2L6wzYU8GCyt8jJlPaIi8jGCIWzUy+k:Uk6+8UtaJlPK8jGfeDn","tlshash":"6f62bf0cc5245712f8120d37b695aa60cf1995cf1f787af71bedb822f560bc685de121","first_seen":"2023-04-05T13:27:57Z","last_seen":"2026-08-19T13:59:56.703579Z","times_seen":9053,"resource_available":false,"data":"d09GMgABAAAAAD14ABIAAAAAjkgAAD0SAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmQbmWQcg3wGYACHbAhUCYM8EQwKgdo8gcJOC4NyABKCBAE2AiQDh2AEIAWCdAcgDIJJGzR/FeOYVcDGAcDIzhY+G2G7HZCkFLtzdCD2OJDUrhz8/y2BypB1FdMN8NcjLEq6h9Jin7h0CobCIBKfkpjgcFf4Hy1Ki2VzhLsO8QHfclaAnoJH0JjAmlwzwh7WH9zsaCdlCk9cMlt5NdnhP3qPEI2bedRmx193BraN/ElO3iGa2/2K0WND0B4omVIpFT2yx2DAyDSgZRLKhkqUolICgrRiIGaP5//dL/B3kps3BWBWFabLMytAx5o/WhYKSNEcv3c/v2QCD/s6TSlNKZ/wLrHab/RKuwrVKnTAxwOPVHs4rRxJI6tU17a+W++1tl8qYg9gYGgAC4CP4AH4AAbA+H5reYQlSiHzrhZInc5skZIiqQpTRaT0X7enXcsJ7h3g+61l8gMzC8csi0a1RsWIPa3m1ekKz5ISFkb2/nVaM7JkmJGsA6Ka2011QF//G7JroCRaYME0UtJJSdEcQX/VXk9Qynbgjl9////96ocF8NjgCBe/2CrwpD2+Agu8oFm331TAx7ffb7+4ICaJSoXUCYXWZi57Xm60AYACVv//dfZ+e7c8783Vi8LghB0uumQcpDJduhSVdCQ9WffKHhkCdmhwPWscsmdCYDvgcQiww4GQ8wJIVToALFMi/V/+7tdd1u+Ii7L6/n/7tfrf3J1F9IJHPP/QNhIHaWHF3w7ig2gyiXjbEImESKhb2cQhkQk00Ij/pWq2/4Ei50SKlnadi8puXXQLXpJGVzpVJfVFanGAkgk6UY4Kzqm6j71ALO88gugU6BBCm2PZXFHbbKmxoriVtRAySW7+Z2aqeUG3IoXC0DAFMRiGYyOtfa9sw1VGX2zt6sFKgARt55exme0jzSORGwzQvgACw2H9wjcHw0KABog+d5BEiSCZMkGyZYMQEUHy5YOQFYG06QQz6isIBAYANgBgQACAQBJBAGAhTQPinPNMbcHJuxMJoeDk/QS/EHDyEa+YcHASAgDgBank4XsJ4QDNmCQR6mEYlrok63IeL8MmWYql2OTbpTE1lsebsddMOweMe7zpJ/uFrtJNe3jPGB97Wa8p0d5fogNTor0tDI1hWtLDP86QUoqjyqADvxlTNOny2Gt+s2IfSxTSiuIfISCGEFBYscERIESYCFFSpMmRp0CREhWq1GnQZMSYKQtWrNmw58iZCzceqtWoU2/UmHETJk2ZNmPWPffNWbRk2WMrNux75rkDh9448tY7733x1Tff/QBRyjoEFdxUYanjsYEHBBc8aZjwwIaHQOxJrn/GlHDTzw6DHDEUGMEENrAb3D4vOeUN57zmFuZflCO14dGApvBY7I1jApOYwnT4aXZsYgvb2MFueC9H9vEMz3GANzjCW7zD+/CHvPERn/A5/CWvfS1AXDJOt/UqGEccMtMMSSmrVHJANW+pZ9sGXIQJqvvOwOJ9uwgNkXX2GeKSWWHrCKREWGbMEFMsP60Q2HHTxuUuPOMFB3CCDUeSw8QWX0CRzHvKV6xiDU+wPkdeKBislmYxlkFeMwSMYAI7KuEWcVANo0ZQh/rwXl7bxzM8x0H4G4zv+DFHVgZ5yxBGMIEdirCHfTzDcxw0hjPGyZEsF1xQbCz3DXCEt3iH93NEwiQHFrVoQJPeB0koYxVreIL1Ylam8CwAy8FtksEhJVyweqO5R8BbvMP76w53PpMc84FLdsGx5yXtfOVlBDDGeW8Hb0AyXQUOLHnWwLU4stBE19gT2GedI1PzbltYrkvJI5lpQcy4/IxpzGOQmlBpQmPsZOmtw6YlBID8xYrbaceBzjhYMzGe58BKBVxWYxzF67zI6mrSNzmM1Q3jAsE3gPGVCHOcz4ek53KcTQTSKY8AjM5SrZ+Y+EeIhPI7UWfvGDW89y5K58PKfYndi1u1/qfErr+TV/NNwWnyrv1E9b8k6n8WOqrVFSXnEpUVsdvfVNr3ZfZzmBdXdN8y1jPkGAWjeZ51umEbuZxbeZsWXLCZybN8xC4MDnFFwnIfeooBozEHKY/X3JoboWQYABiYFGbqSgcDOCMYC8eDAVZ22PF1xI4Gk3LvsHt0x9YtX+XJIyy0/UPDkWWlXf+8TM3baEcuHZ/G316FlrEKZi+MXF9Y0Zkw4vINJ6gqLS9H/f92XIbSjnfuuADI0TDhCtyZJWdu/Y7BBf7/c86I0hhWKcZ0FWom1yNlXkuhOg4tt2obLrzLanYpCofKyK07dXBehnbpfjL+ei9XWhQs5yBDtGu+abnn1t2+eZ362w8HMNxQl7IIACshGMJg/wMnQASCOHnMlGjA0mfgBKPA00zjZ1ixdZY9+TnHz3Pl7oKCuJBqDYQ1/VXSqANSDr1n54sfXMAoWgAveHFKTqVBGEGeIEQuwoSIEEmSLKTISpo85AiRJzclslMmCxWepMrj1IihTjYa5KRPlEtkYlA9VmMHtCDOrSHYgHC2VaZ6O+CEOQ1iuZGZOzkUKNMHwMCrFnrqg2Dg1QCe0sRTRuOQMdNgZn7HZdYcpEUrIKvWsdgIcTZP7ULZix+z7wDa4WOEN96Df0wks2/LvO0EF7gCNy4hDyy5CSgKAUYMhJEkLznCKBDmYpWjhR1YwIxjwIETrMBkm3duBGIiCrUNcCACnB0IcSAbpyqyhbOhgVb2LygBplAIU/QYUqkKT1PBBW5wgTtwuwvlAVAKaydgYAarMO0dgBpp4BlMfPAZEmjP9VVncQ3+t4iasQqFBkxn3qSPB85nW9tS73nW2iNql1qYjppepm3PqyzMeq+xNlFnBdQeAorFPIBDrmx9gMC+Z7rnsYgwIP7/8jwBso8EBXgBtQg6zc0fifAJBfaPxYYRgCsAIH2BCyIbBFZFxHmuhHQxIFuoCYwLDBEQUS0L9iDolUK9ozKIlGqRwPY4dHw0PTfTBkbvpKmn0UlL7WqpCuxvXChUPCkOyoXLTFgQ/wAAJNgFrZsFoMcQSOWGwqhhcV2vHn2obug3YJBGL3Hywb4pSbQYtwyjoRtxGwyE2xkAwIvYSiAB5GtTDoB2j7vgv+X/sI3uzJABCOEmVLxHzOByCwOgBTD+LeA/4L+q6wAPehsAAHHSpMLDgwMbebpGK2Ysv6NB70O0QgAY0oKEBgC7NC169Bo1Y8FLHzAgmWbTb/eZ/rRv7dHxG+I3xm+TU17lzbybL+Yb+S4+Bt+z52Ez/Gcw/oUBAADY4bVo1eu6MbMWvfKxyTRrxZm2zjEvVvhCvt645XsOnMkErowDDEbEr0bOUVmr/t77N/RvcI8iv3zCWdKlSZZgcs+fG8k//9jNurxu10HmEwAVXM8yGa78i/WJM41a+FL9yWfJtmrNE+s25Mj11KYt23bsIsr7sn0nSPJ98NEnn31R4Cs2AADYOcJipHDIaLNvwOGlQdTijlY9fOp113WjIow9HT8DmWZf4F+EUUuvSTyxLsuGbat27Mqx54WnvwSiVz7Y66M8n3x36IefSH7550P/FTjbEQz2VYOO5ICsQlexqzko1GDfkm4G9h04KNZgv+OAosH+wEGJhu8clGr4DTko0/Abc1Ch4rdm23BQqeJ3YDtxUK3id2G7cVCn4ffioFHD78dBk4o/ih3NwTcVfyI7iYNmDX9OErTCexwcXNbwH3NwRePbi4OrGv9WHFzT/oeDLo3x79cIdBPVKEOBBCt8mXOWx5M9+a7mtn7FpgDAvfYk7l4PP/iwlgruKoKZVNzLccdaG65lDMeyAQUAAAkgPgNmSw0h6N0iiHHntidkhu/tDgASZ/YXAshzADBxQKJuAHBxDgAXCJa1YvxcfKPjaSsBnx8cAyGwMRoGOXl2GmIAG72gzdqqg5bRUOmJWXUAiPFCCP/ZCavx5UihSyPN7ncAUnxmYLjgoi4pMoSgJXFjzrHHWC2PMSF36KkVZdXgta8vOkwzJh8lmjy0UmylxLRSF3B6LmDbKg4ZZQw9nze+hbGDjSCwWJBWG+ACfkhnLApiGTdBQb/rg290HkAGwCw+s6JeHrmzPIs4hH1krBB5xNjEQ6E4iZ9ttKYVK3AUocGj0hoQTr6+MsL5FQX+cbghlqJq29jFobVsnmObGorEhBxMJCbFfMPdIAcSjP8vOcpHJv7xKcLLe7z1Rk1+ZKQx4+foTMjeW/XMCK5FDAgppYuTIHjCVsMILFQGnMhhynR2sEY9NiRhsUmr5MXTMcHYiUJSy1XZAbFg57cy7zTDyZQT9dC28g4pU+r3iNQafzqg4nzAW++sx1lZnmXBKtTovWh2g1PpRKN14wSiaNXZSRakGq22erEYbRJ05o2qXFC7zEVulZYoBeKsg5miqWTVmQyV0w6nLNpoovF7lQpno26xbVAdDkOoEd+iUkMIg05CrBRaY7HeMTc6COdbHZltlPLq5sbIyaPWlVTRYGNXK5U2jZo9ZbwQeOEkVlif8ApbRKyF17vBobCiMDq30aeeKYgfy9ZOM9z0dzBsLyjlOP8vf7Of4k861OfRneQVlwJCr++WUdyZmIGSdMa8fMlJrwhzNsiwRCC9mAqADP8ZizJQQNgWY2njksWtUxLBCnWfijEU+IgvjRRLWuSB6LcvSGJ+qCXou4RRRjAEnlWzdbkCF5CugIr5qIzzF3X3STNv1gxgHuWJH+TpxASVdNTu9tKrVTg+z+RQ6XXqY27H2iz1SMZm1OPOJBh2Va+jxQPXopqLXo27+njZDKJnYVASMFx+QMKyK1RYD/cSl+o3VaeV5cClGp9aQ7zAt97UQqs6gfLFLTib+sKm3BOOYyZqmf05YrT3umoSBrKo1kbh2HOeGwx8aHf6mG5SqCDNyy2XQYV7TYAqUKs2t0bc20w2i1oCgH2Jc+dNeLMotUOxfXxFHA5zj0zDqLPxlrxsLiQFV2fB7nJIyGsel2ww3qXhOUhR4CZsPZu7jAnEuFjPrcYH46zZd2pOdKimH0xk0KS/EGlhLtisvDjIydotpoeq0n/U3JvBb5HOH/dP0n9L5+worjydu7P/S6hj7fwShRO67p1h8RBtpx3bG7v2mrHnqSFcqaa0v65hDpdfBbSio0cAMpVKILdxdhRAJn+rtMllQsxNS9v24Sa5GdqWr3n0zfgg2TWDxr2Np8M/blJTp+3dmou+FDl7Stj2Hfb4kuGmzz3mSC5S1qqSiK8mNNGTY0lcKXIGMaWnvxCTu2g6t0GLJROdXo5CHvSe0RFS2WTCrphf74ZsSu4yrfeeKjVS42p/+CCZyFW8TYHaBrr+U0QRN/oqJzMZY/8hctwQNyFx8VapV0t1qljrBteXNMLGBeGYUl4ERji50WhKq6nbISFvbdPOFoU7HIUc2+SkPLkZbkH+bBmEEgZXPERmL17iIktph0LepoRbfWjON7+nqbvugvkm86EQWJkHaiZpf0xJ9iEU2p3rW7UyVE8kxIWQi4p5RAhThvUOaMNBnqYe73BCCj2rRqlY++ae+185ySDb6TdWE1RXBSgfV8QNQk6mtfrqBmgXA9W/xw0LMtqUNtJQY8RWZF0fbNvkGHMZqk7CHrW4lyqlzd2mGOCXEG7L9HiQCyr1rpsFT7eJa23Bui6vNmgopy/01OHq1FpVri3dGrjUuQLIULELryUsHGET+Ojfim0fjUi7fU8pTkZu6DQ3+21J8X/rS0VOMQApyxKxGMgGS3chxr0cQq6J39octjP0iQ1u0oRdUp7pJ0tSYZ9Xo3odvpAhD6vnNW6UbEzK2XU9UNp4M1xaEWJeYZnjOnLDFJC5ZQZHfnbM2O7hxsYh94JZYgBZDUWWG54Ya1ovlSuly43HyzUOSEpxoDBZnLLaXMEQ89QGy3j1MYZB5nx1C/LXbFATcs8vua4HDrcFpQ38PJIZSx1C1UsdhTTDZdlEaBBVHo3xwIUe5eJ1oB3uNrjeIIflrZ2wPukcMhIbNOmw87tmJujdX573edWX8iWFCaFfYvKF5ZE6GFAPtGz8fKb/HCxOcs7+pbK9yTz9dzA7gtK1dvRRK2sVJuFpMGM2EnuWTBDXXW5vbh5ApEzWALanoXNkUaPG64n54TpAH910K615/W0Dkjb61wtTJAJC7yXDjk7lpD1q46Ip/ldD5EFn2kh5wuWs05dtqc47idj0WMdeIjuFDuKWLBLfoWLu5/W8ZHBSSHsPyRFawjBf2oTkKJywudVPO1kVVaeMum8uw5UPqZGKPqxABQW5qdfuNKMb1vWhfdpPvTP9xdzMFsF0pubTpkH1L2dW5Y1IxbhnO8689LwSleQhXrYPX6zNYk1f1yLp2t63dT1qeYHIYd8meTn+bFLKwvjERbIfqjDX0CCDYtkEanxF/4b3btBTKHWT+HaUowKyC0bar7JBH93luFb8yDdyLUyoS7Rexre1PkKVzHZUFDcLgZ7dzIe/1O3OPGz9DOMUtRZtKrgpucmanmNdy9Ng9vltQdv24zK2rnXGHzoHHIkyqFVViqhz1K0BaUXY50zSi57kcLklaLLP2+pGVfzgl3ldWi2DuqIbnpw/16jgGup8MTKocKW+ReGM5rhgmcGUFnOjJRDX4tS616iMq3+ykbRXDppF5QqkQz2LHO722ab5qTNH6GHvtDba5rwLHzvj2RKS1mJ9CMcJ9cL6Hsx5pIZbv5VavMeGK9NyKW5dkjhN8vsvV+kpFH/+z37fG64CCAh4k4FSBvIT3PPSz7vSiT0kqtDdUUCP2R0W+X/TrjAQELo65CnXnur3PXDVNvM87ggStX8vEXjN3qBTwFMZB7YabVHooh9l6sR+GsRfbZeJjhi65F7xA9lv+Z//LaTZ9udh9+gUznvS5QVccN+scc6w2QFZWTFGsPJkPvUdOF891Gab4DRu3t24/n8d/XdXoiuLGwlyg0c517WDlWMTbJU2EqGhKc5JocHSXHYJZ/wiwLtC9rzlxk/8rUVb1FLOA33IZ9bzgpHPWDVTAkOzkjUfkl/Vnv77+X8saksa+dF6XuhShcx414zUGtkVrYnF1qt3l9pwm5Vb7Tz0o0fDRbnXCPGpSeH+OQnS3l1xlo3BnXOPbmJHK0ZpmOWXMzRyaSUxuzI1CFVRk93WmZ17tYtkkNPWlpnV2UbOR5k7+Bob2HvZGZnb+VXY+VmfH5DKbutAtbeTDUQgpCrS4o8gQztvO2MLex8jA0dv25+fA7XFYwiB2im+xKCYvqsxnrHaFIO2yZGOqsnruY6OFeFWwea6WbqZze2MtH3h544nwUh7Ri9gFdpfMy5PjPDuYGpLyoqrKYKdf+EZS4m11pWSsdfQ9XE0tfYIz+NcLeWOyAQ7lZgc82cJzR9sMvQFEksj6A/Qp4FtVuEp284YD4HIHKOE3iMbZkW93Ziaj07ZhoKRtbH0j5AkftkhsOGMl4VgZLbhe7u4embuK08knCSqJCLQDrXMrsJhEtWyztMcyW60cwPHU5zxIs/Zq/qqHtIf0v+kO+mncvkCDdyy4AXtQ6V+3vePs519Xf0aS/GUphD6pCV7CUWnqSnNgiiJJpzW5TD9bdW3h7vycNkf2tsX3x1ti8OUh9mOstcoxZmr0LbwW9IeOT/nMey56gZ9KYbUwTVzRkWOnvtDKiLNtsmOkF8aXVDTUEi7D/ux8eBo5cYTLuHctk2L4z6y5CyoMpcAGHExKYrW+/dgcv5wY8Ij6UaQWLxAVl/6FONFHdi+SY+uzE8jFpGz0+vzyiByspLX4Vz1nDXdujpMePLTtNCX2ek5B+NHG0arb7rNxAqDNUizh6i9/c+wp+NfVjG3+zAplLS4zLK++rImak6injyTr/y3G438T+CMH/keIXv27jPWlf2v7PNLcK1/BmX2HdaIJYpHc9RZO73B1s3E1OJblVUlw1Y6doYCQ4YTApXHuWvW5TSm5MMInV5SUdI5I/F3/u8uLv/dux2XcSdK2lMqojN0+OjJ+NjbJ8zRHkl1tb+rqn+WFWVnlRdz+Z4MIxJjInJIOzmknXyyr9yzDGW9FhvPNHqy3x6pLPzwQTJp/acOr2KnBdEacaFB6AD+7SXXL7eGqPM2xjcbnycmldNrK4vHXDAYpuyov1NyfMllcnxJUzzqVyR1WnW0dFp0hGT6CypgdxW8ksoUvJLHeHxroTiZfFObLKKNe1hQWFyQf3KICw1qfTZz887y3I2+1s7QEEPLmjG1J/KfQDahrd9ZPz3hHRqRb1ewLbA2Li59hX3IcTUBdrc8yCpd1EJDTgT7sjyKvIscwOZcqja/f3FmIJ7lG+sPSqjg2JLzoFj/BcLaQ5mg3wF7/W2sJ1mx2zeT33/45bPbe01rP5K9yLLaUS3c77w7WuJ7ilZszbtQtaUUb1LyDP80tYN/lTrdf+LDjw7bToCkbr17PznmH93gIxqLJw1nTP3bfa3UwaZOrCtIYjqrWcufVpUamkAOpZx2NMucP/ny7O/3MMUoxcIHJXLMV/te88J4DsaP97bVVw0vcv4pejfN29/SVXJqwGCKAervnm9vUgD33OblWSp4bRJiV8DGzu18xzHsfr7GrkKqGrDWeMR2YyNAUsubHq/EW6lNZPtkjwEkldg089lHx2xs1CgIHUjtx7VVyUFz6UayQTwHx16fXR1TwPOPz3AA8Pe3XfxoaKuUoYFVAybUMgOMt+60jgEkdYywQxgPiB+6g2ekh6jjTEu/j5Y2Pm3fG0slkbPiyyoBUerk1RvDb8+9LYvEhddqWYJXJF7GBDX0N0YDJHVc5OQx6pmpq2fxC0Nf5PI5c1BffmalBut58WLhNG2PxIq393jW4yrxNSBg1NSyrHONosHUTu1h7ihTgh4FLZdqs3T19LF0ULRW70LwBe6Rm4vcsG8hf5bP0ugPOGB/VQOVVVQ/M0584PhyfwV98MO+wanuSkl+1pX6YpivhSW283GudIId/EFWguwXAy7LCdaksnTGrayOAughz90hdPxePBcz77G4a2pvZvCPmWff0btrpLL7WTJ2QWzzpYdClI7ylLwWSjUQ9LEjfb+0N1/Tg93bqnoTnfEgcTynvaq2uCklwqkqKdjvYZL3lYgbuJVXVXBC4Wz6eM5EzZWa1uS1yhhfo1jsCkBiRwES+7jJX8r4GnUHPALITU6+D6cgaH/v7tOm3uutV3p6mzbVC/6fRNxY5pumdvENUZeUns2dGhXuwcJ/XuYq/ynUd3aS4/zBOM8xah92SoAnnCccFyPQx4OkjjkJ62a5Sjx7sLS2feB3MeDi8yfbD5f2Q3xXkp8+PedTem7sHN2nWzJKDdqNF0pkDrK4mn4UXcIPvR4FKNJoTSJgGk68AMulUgVRElQcqMpIMrJJNeOuf2GNC528OnJnv0d0LV1krVtIOaO6orri9JmrT5shgd3zwgzmpYzcgZaHg+ROQD8ctPOKJkT55PoY0K0IVVMOcSOP6fArnysFHDBfCx3qnfgNdkptZx2ivVJ0YFw/n4uPPYooQad0ARSgqUcUFOyJwIcRd0of5d+y6Fyx7RzMLX/kr57lUx7P5NSHcI1tn/IJ30YIgnNN0d/W8ypuftxg6u1jCiwmBhXVzY2dH6m9b+Iu8OtIcvRueKY8DaBAFzo6PG/m9lu5n8Oo4eoFItWy8ZN1TQ+pesnfFLeFw3/mb036u1Wc+fjwGNxsG97cP1XgnWchqx3pkLeIjZ6LrL7MVXaWg6kwry70VXc3pTviOu1Ol9Yec+VrBWevQG/CK8qrbj8PgX+HouMz4WR0fCd++een5dhdHxV7j/C4sp68quoCt/D0sbtvZGifb1Uu5vVZNb23revKq14ictvcSqqadoBlPaA9BDGBERHOeR4CZnAaQAGasR1NhTZ7ViIsNNU5OTREk3tQ5ZbSKXWZih/yGlo6NiPYs+LhCorL3i4mtK/RCSnZw7d6x1n67F+dXI3diLUL3wtncFdVEPFx5LnnVr0KZj0ecb7IhFXaXEwQITUgL4klYJ4+/fbVTZ06HppKAm5QBZmXXH/P2P9gVWydBZtT/u3kU7YxMv/ZmxJ+75HLtjAyf2nowbaNwqJrW7P9HVuF+e0b+trPuH7sS4xPR6Yw0wDyaSc6PpJ8f/KZAGoYfqv+ManDpgJpXd6d27Ac6S7AOBSeHgvPYArtAsinNEREPH3qtfTfYSZ6w+Pca/alWIfiy8TGlTCR6IoqmZtadYCmMghLcS5pV7xjIM13ziTS+rjqVRvzaMvcvVt9wwd3KuimGWHeflEOBrpButzq3XbWCQ6lr67TsmZdIq960hCuBaGEoDRb3+OxWqg5ylyztoKWNj65yhCnn5JaWdA8TZlGeclmhISkLfUO3gNTY7SR7/dW9BtxNBWq7cffmEnNO8f1VIqO56jcUdJrYXhJVRpuUKUKEy2PgctX4a6qDLPbiHJOilZ6fr/+oWDdiyeUf+1Xxa+KJ6H8XjxrNu84OCfFZk7J7/uyb/HrsVXh3ANN+HyFw45fkJwzVq5KrHYhCdicMK2Vz74UH0aV6T+4PftlpXTl8yJ08/pev6wAYVHn5NzzNsc2pxfzMOwjbVld9kqAuluJw/6e00Ixb70atBm0OnxwclFHgECVubEHhpc/rJSufJm7Pbh/XUbW/AtzE3093zBdvqPc6LyouU2wewvUcusR2ZSs2dfya9zUPdpDr7O7A6xwT7BVmp4rgZ8SOaMs3/IEJsc+ZOr0PcqJQ9qbfr7ZU1vnV+6fpuKf0XYreUYfIyt18WlYd992LIxps07deRs0oBvNEmSyIA8009a1xhY0fPbru3t3tx/fGA1JS44IyqxNRcM1G9P1PkY2ZS8tNGXm5mUSCwoD6ufmIy6XVWXmlVU2xk9ONSVUVGeTqmrDLj+Y8msqpmTnqcCSkwmPJxOfTSZFLidf/wBOJURGTcYTHmvzDZyQq1oNX0Cm6l3TS9HTGdfRSNG4ppHKFL6wHlXGzkvnvUf/Tj9uUNp3h2arJ22Q59sBnzmIvHdRX6kg8hENyhqoaiBdi/F0KgpcVB+SGg13rYugDzloS1/K821jmd15Dd9/REttryMXtxC89S9aELXOWnQYRHoqZ5ztcuI1PmmBNfbVv6RgkaN9yopqhrPx1XcsCM1B2blAGmLs6r2iLP5/hbP6n+1qe1qaGm8v3wyn3l2ub+m+Ulnm427r4h6SnxyVEJLv7upq4/c/u6f5AvaaFte15gs9XY182LbWFtzVpvOEzjm6k/FMhtEM3WluesDBeHFm2nh+yKE2aOyGnYldRnxmckBEW3xPqHxeir65glwLa0B3Zn5ubTFRzeuEpUuSmIMQvTjSGjhqyLlHqO7H09G5rZqnnNZbTxNmRnNJLa24jga+nu4GPO75T6DRr9ZFVty1HVmpyelaiTKgVt0eiSl9TMNzehDgfekNBpCDtqKRmZpvQa/sC54WSssJ9IWxwIr64MCyuqDgssrAoMrK/8cUjS4pqxgZK140Ng81NpIRLrcPrQ5tam/KrM5sbOfm/qJbo2vYVecQKnYi1E9f5q+aySUT5UZCWzm6Ni08MDjYxryvhGKPqfC3NTZQk5Y4vKRsLCvS6H05KSW/PiHwor6z9vEKYUpwZwop51pqSJOEuaruJUNVuah6yLEQNwP2WAUqzx+TV0kEl/3rY2bVq/F0lXY0wZXYVW5puGrPbogVEW37Ev1vbZX5/0t2gKSKla0nJ89gqeuEYt4zAzUny7yaIymoYAt7OSnxX17oc7k67+sanZ4oZXjHYLWZrvo0jUzU1Y+MtRk308fl74xfu4z09YyytXEn+Jn7eEbZWHmEQZ46GAzGpB0ECad5xN4aY/HmDosmhPmmRLrQoJa9B7emVu8N9DZfD43UNisbU1OmpIR4vi+dYiNBNIen/EPPZxeR1Fs1A7g182rDY9hxO66Ee2e3kh0NjSwMzOOSDM0NSVd0VRff2PLSqgTCLrY7y8qzrpjy8s5ooA1eusFr5Sn+V4ua/pPokIC6ls9Xr8LzuiS/8DZQNqyMJfvNi1n8NlHOmonY7C/OQB4kVYC3fDMwbjxtgunlc6wyHSCptNv8x4qbqxKSm6vygJMezWFx/g19cKq/OTV9Tl/O2H2EYpdn2jx346bVoJiLaB0nUUwhJNLNWt7I43aZfb6VU8G8rXtAsONTgRDzPW5k3oCW3b5bUftIT3Xjs97tXbuQsKTAIHKY1S0s5dPgSHSftYy1hnmvfdDyK3AYvY7q671bWZFg8l4zrzFBM7LKsNHo2LuDGIgcZmMW5KoAl4+u6MIUnDyXk1s2J6d/7CdTrVtTzN8nFGLeZkbCLrE84vV8ZuaVhCipicLCjXJD79GsbOeb0kpN7xWuF9zOMPRBZbPzshUYupa23m0vbJvMSK3ZH7bXWXZ8OfzSQ1lBOnsJRbAdv4iS1wnFNs6CzUl/9woo4W4ihuUpfg8narWakv/tkkoC7fiNKlJ85h5WDCtOeIbbD+0aFrRv+A3etA+36QvUIbc9pfnpEELrOWVqoSlGZk883V5/O7oK/UxkCbC8wU24/K+SzAG6FHoKMP+qLqd04i6lDn/NNcYjtg20TkX5sReHcoT2jh9A88qPJ95UeQq2JPx7SirOvxej5qPlN0mIXDj8dxQzj+q8MkW8HR9ilErK/pb3MELDR917JpK4xST1fxh9q/kJOb95bf5my3pBXuuqzuKaT+XlY/kcJ1NJlbXSvu9Zais7Kzpr2b5xRsrzx2Y4JMe4uCbF9iQlDiclGttJ6ejKSOtqe+voychq64vKvdgKTcp1FRnwVO85LdIkk4wKSSC7nY/2UOY7J6akK6GFeYkLMnBNg5WRhmP8PWf5mCt4Ag1cM2GUkltZwMdzhq/wZKChcxqsNI7m6+d9/1yheKCBMwlWQ6NdDfVe3tLceS/Sr4Z4LsqgryAcwiNcXaJC3QQcwsLc3cLDHXnPCECFRYLZOMGcIgxH9NDdmLZcDBVBxZjLYQHki357SjPjFLBnMuATA0vXYvz4cM3xZxJ+nr6AZO1P6c/vT+1nRp4++yWYeBbXGsoffpU6hxxJT83IzyCrv+Aj58uTSfnOJyIpxZTiyBPOX2fL77ncq7DKCtfoJ+tW656ew5n3i+vQ/P07kV1qZ+tTZKLiA4ND3Lcp291GdBV6rhzSJxlnem85BHsK2lnvchzoGb11w09UDSDXae44tV/JlRmhKCjUfYey85lzo6S7jKZCaz67vIN+oH+6QmmoNtFa9cvC38dgckHr4yeVjYtGgi5E44y2qsqS5gIo7QG2XEw5Xd7DVdVZS9LF9L7zXNec8QACgQCiTbRfrLsteuKDA/2KWLFB73J1bxG5vhs0F1+p6yUXVXdDDQ2osYJc+MDABDkHPmiInrP+vwoxFqIhWSGdjZ3xSL8EZGvy4S4fq3FElkzpTo7bsU6t08YZxaTElOYSYmJbKtK3ntk7U9vAWE/DzNTYqMuXP/tsNhcrxPPUwJQQRyyJj2mqzSG3XauWW9x+/hCRWipnKsbJb2ttq6luZp5yycTqKt2V3uZaNp0VIlegExenWKCSHdycgDnng3WMPH/rG4sLqIpNTbteDmla3kxZQ9NYWV7BRDlNfkskf7h4IC35KvKV6/fUb5p6Wn5xhflpiZebM/Prr8LK1RsKcZ7pVdleSY3uIpfUbMwt1FRNbHS1jczccDgMDnMCN1s3Vj2WTi7MIFz799/9Ti7wM56Dvf2/QdynFC9vw3oq31H9iMa8QBBgv4PGBLCMHywaCK1stwhCAQwbOKZo/v0fBM2QHmOdWp2whR0ELVAwAB1BL+MEVhOHboWOAzTEBKiwNQD4PFrB25wsWmXsgR742Q6oeowKlwXgpz4gA6sHl8C1DWD6SAswFznA31+rPKvRYKwa0gWgvYZtrwbSZFuxiLEdYCFaJBrCHQFgTIAKAK1nuS41lmpv2H47YAfN0CgMBbjSogIGb/UgaUgxuLHQqFsM7s+UgGlI5XMw+CUZo0CWkHYkFMFYIrTM+AGRWz3wh3XgxkIFbjsqVtEfbAoSrl7a3VgKbnG0+oMT6WXt4o+Xq5PWTcnK1e+TW+xopsSrprYX3E5JvLLakVhTJDe20d1iU/3Bvnr1DJBq+nRmFaA8ln3xZQHFjy37Sh6qgm59U+4YxTes3qDd0LRGnAas0ZItmy2it+0LyigW8u0C9J4MOmN3zjd6QzBsHmqPmrVNc6e3KY4FawP3hI15oGaTm3JPf7Aa76SEWesE+4STucM7HVDi3eQ4BbfW4GvT1M4KqLUaHdLx4C4WgRNAHbWHgv8ns0YAMd9aWOkRWe9Adtsc/VUP3zHQqGYkjCF2APLZ2csy4EdEDPyXOeJKJ1fR4Fca1Hn/vgosmT6y4KgVTycuAFTkW81botjr+8iksuxFvXEO66iZsJeL2w7YB93zJhUb12DhNvsDo17aK+W9ItDPdXbYTacB5K4rxVkT/2rLH7x3SsWvRdfnlE4Acd5KB8VMjD0AekJnVB92JdQc4jys5m5bMYXXDHIDJn5xeTuZmZTQdGEK1D+FK6O6VopbWP7gBBDfRBZ2LMabBWDc+bZpetDFheta5G2Zc8Oh+LIA6H0DZAaA7p8M8BI47HiVsYBDMDLwOXNKIQD/83zLBcei5BeA0bIp5jSSOraqw0CYZ20iVBOG3hNQfP5Re93UQ/oiMzzaeep5cy+WW632g1JOIPNQElJjdRIKnB3FxHT1+j0I4BDaQaIvZOChSYRkH+v2e5sIubwo20/7lIwyDExDJ67s6Gu1Tt828SiU14sBWovWpUBCxFhSRoQdaRFFHHSmGhHQocsxtuNv50cjhgYz7d+CVbjQmCQRmVEDS1FkRvJkKIukJMX5VEWApEmsTPcMqqJwiA/TK7pZuocUy0oI4rXO9VTcpv52ODp4aZ4jHJtiWoyrBYVgFYYNG6MU6c5zNJzauep2N19Hm5fG1REPTdu8jsZoPK39toX+Pd7AB3MZGf4Bh8WAYf6GJm4crx4W61xX22fNNg91PFwvppOL+dLF9kNVg9GHaGDP2hi1rluMmvG0wI6y4/EbPYRfWIOBJXyYrAogSjEpXte8p4JwmEmXyZJtRk7y8gSgI2oPIBGBiAWPQcWaHDhvt0EvaxTBAvY2mp3q0Dk0gg/gCTmu7M1CmHlQUWMLEhAbxoJrIt4iMB4AXiyyVUck7yjltAkLV3Fo0a4BvVD+DODNH+DgN+iOhxH69QxXOY8nrtqMAr8+Gq/y3bCq1kMDtcbs5iAwRhM0qXSEwHQr53VANpC+qUm82h4GJCDWMYRRwkbLtOjxqIC7WcWLNbtCKTmj6BBptqAL0BgIwqRMRsnwJzJQAQTk6eLMgTCgDEqLI3tO79Xso3fwZ+dwUrG0t0XYG+egMb+Dkn0wD6ZikMe5Ls2GFWIpmJGlHDM324uMRsk5SrIAHjoOTpyZ3K4JJC5h4t9uUEJiNwgK+onFRRxZgyVY+vs2pWDOrxLkkDkVlT7jHTKRxbrZpMKF4j0VAC8HI2+W7E/k7Ui6m8dkT9xtouvqxa/hLQoRP+3h1tFNK/XNmoVSCt3NEUmQVKUtSCLXNKFdSSNLkK4VU22GVPbrCYEZ8yTKbgKBgXHLpdCkHZyxxmxjViwO30xWbVg2bICzBIk/KSzaWCdjwg7Idab57JPAbs/zu1akjdWjmaBz2A2j+5RvXz8hvk//ehExrBbP6sfq8/F4xEH2KABAIpQK6vfPK/C/ahH/qD+Xese/quSj2vVbDTH95b5KuqslODiry/NAumshxGDBc5jAKCD70+8t4+BccEkVwBN4BV+gDD4pvvUSh3X/7x3F/FPePu+fj8sTPfDMB1UEV4TU7ZJ1XmIpi4K9zM63s0B1Ec/QnInN+njdCBSENGfcLHs2oI6ghzrq49K+ouNGFKAsMvVRD9Zqk11pPodmM0wsn8FqubUlWW6RVlLIQGpWjvJpGeDCmV8+NI8j4idWlUC4wI3FBlEZpYxEuFKwt+/IH/t/RkfJuYPrQ7+H1ceU9xybYNKd9X1dW3UpAR2jGTUkFufHh10XBaG8Krfa5lm3JosMAuIgm6WUAi2yH7sJacNpS0s5ICSB8FVTLybPcK6WY2HcmQSxKMyD/sZ7idgDeAYfwAbJ1HnyPfbSZz2mXOX5Up4gwsJqsRvdVUdySKMCCYNvrVyStopI2b2gAStSxLU9FZEpT6Vzn0PiCqz0CTGtywspBMgtFbmI0WXNHkxA0ByxU5cwwrprDHRII1o3qA8Og//VrMXgUA+tk7AAAVTptINpsouY+4wED7WsITRnMqGt2V5Nky/LWExCkXCj3hQ2Jdbp8VKGoXUrfosw8nVvKq4Wh4LCfLJOlnkWohFLIkHgjddUzXzaVTNwJBbLyiAgO+LHmmnrpm2Qh5uS7EpaQXtFbxKG6ko6ieoQ37t/XQiclItRWan0Smd4apgMbG/I2TeH1JuOgyfgIdbccCxzlMeFe1OHnd2ODm51QOgFSSWBGTcjK5MtRgYLFaaVLPiUXh7FqugZ2Rs+KB06o6FEJA3CVZYDfJ/HHKyxed2iSnp9DhPPQiT8AgJYpkROIXHX0XE6pBiAW/VpJGBpj+V44l2UcHRYFVnIzGFDqWqJZ+yphNcrf1I9to9z3K9+zUNiwcY5BaXYIWyXKkvelwOK5WIr+qT3NdWySXiTFc6McaNqsRGys39AHmTO5cngrDhho+xixiLI5Wgk0+SlUROG28XcdVA+0AodKq+G6R357CJv7Z7bibhd1ZFpHSSkmFaW0zqCN4XdoC/wU/aQaWSswTnqUWuNdVGYTDJG5iWvgS3IV7gMNfAwyBsNXlppyF8Mud87PJBlco8ceSaF1KIMOTznWUZHmicxSuNMESNdMoClbNutm4iliJ7D4TjAXSg1TmPuZeC9/uVu8cCcgPG5NWgWeROa+xEdCIy3FymouySPEsvxlGfhgbXL8vbj0cN4Z5KyiUFKJMjb96k1rlPz2fhNDgLQe1/CXHA4MRdO5N5FFl8KvxoZanTaLJFiYGaKh9acnJrGkbVUFFkhk4BMigV+G4eikTAFKFBwPatCcym5ECY3t1CgyID+RSF4qaSpSNKNoCm6l2Lv0HZmIrPGPPK0D53Brxm68u9tquM9Hz3KvCiPJ5Ws2pCj+fjCMBQ9OmZvnNuDNUInChrwUJhKMbw/C0xjYmVZ2jKSgJXQzSGU5UxOk4p48CVBnNKEgaWYePlDJQkJkpvgWm7sdbazj35GNtYbXsYWb0enVVnZGa3YP9RZ0clbKln18kjgpB+3ivRofNh6vHreW7pLWUkwJQ4RzzTqYjOhFkObrnX2G09t0E5sjpbOM4/75Xv24Rycr2JXTinlr4vBHDII9OntHtJnQz0sK1/LMzilENRHo9a9qd90Zi/2aLov7tb5j+/udeTz+SKTziWXid0eR1dr1M4Sm7qdUTnNm9PTZjZ9MHIU7cTwTiIiyDLaEenznbf4bKq8UcpzW6jOLqZ68gKg0a+9NN+bCzjQhXQ4CzZ5vcVbXhf9rnt/02FOXeab7Z6ZqE/rm0csrAfBA6qT+W8UtCLW5otlM4HloG+1Igs1FwSRQa0SnfSwUK6SHd+LfEuVd7dG4za5dLVfaiV8xQN2weQZXFEhrNrNyffL78SXktaKSf3hZVj29luX9bBgMjHr/uOHvyA9Cpjgh+IuCeqgHpTUxcj3i3nWulvxp2FLRcrYMn/OXOhWCgJF7XMpftfRKgKsWzePCsNw8TqiCCk76CHuFEfARhbEIpNb83AmbVp3HnITovI5mtUN+5VYtthMyWugq/aH8myJae8ac3/JI+KiD6QLbbDzg7sMgnXcxdEGk91QF4Z8iYUim7rS8wzHYjtEQxWYRo7B7oYyFdbS2kVlPUlh2BZxGqUNgDeAzhHUlfgUWh9H74hDN4G/SeoJUThLGVbYy6r8YVoPmNtTMk9rNGqqjZRS1dU6aKrm1aTWmb4XF4Stj26DDo2HRzE6Wt4YdpT6m52A6jibsjU55FBP0TPmVOmC0Djy3E9Mh1bYAD+EZkVUwxmwtagaTgAy3xb28YoXhBrmcwk0UzOUHua28G5SDDW67stRYxtxzwma1O+8de5lY+An6g3jzDFl4qeULh2Ktm5xsiziu/1X7aGa/Inb07p0F+nPy4DPU5//VXfwqhzm5eLpq3MjcafnQY7js/C1OD4h8ZSTxBynN2P/q8OsUCNN0h0iN1Mk5olbr8dRB2Rjx1TWa/DsrVhbkkusykrculztYDmt7+2X+oFbQo8QhNy2bKW6lU1WlFlCe4pu5w1qi4uk3oMsoXnsE3yZf9lNUmR7h+djWCfLqqSXcxeZdpKXolT1Jf0Z4EJdjq8aK9+IZ8yY1S/fdo6y4X0UgowhrU6EAt9rUS+Sp+bT9ARdZuU3s4minn9o2xTj+hp3QuEflOlrYigOBQTcymlvJJ4tj4RBUmRAwSfMh5v6uA8XsytxZIgfrb0su0nWCzGSkFPlodhK0BhekvSEgGQUHO11agE9k1UN6ECWmrQi6+LDkcAANVRqgnsVlM2JNsGWvdm8u6xVIOaHeW+tdTfgCfZpI/uSUDighS3hikDXrKAyax0hA2vr2kmpuK0TUPmr5S16q+YjGwzhnyGkiQmsx6MtCRs0n2tGEtaLpy0yAbVSMXKkPF9ptdv/2iFbjxCvQkx9nO9BxT+aab8fClJXZpgYhe93NoqHuOQII2nOFHcwqQHU0wT10crOo/E3wcPO8VHL2yfhEdnQLGcPofyqF3+2rMIQbeas+AdUqBxTxVJZkCFzWA9cV65xVbnCtrxtxR7sxYXD3tteCoiwIu6H6RgZ1sqK0/gpFFcOafHxyuw1kGX3kMilpnSiy6STioPj+BV/6aCZvfnDwZSm9GDQhlM0YPreFboEwypzo0tacmmt5HVxNFbklNq8GjojXgpFhAalKsb1VwXrpkmTxMneuE6gho4wzzpgt1mPI0Tr8AfFZZMzI00vyTUptGjbSdrBn3z3mPwD9+Fpzo7KTlGpAdlkzB5U4+5Suq3jjcsUd0sH0vhu426rGS2FVzNzatCXI2zFGlRLWkqmFUT2AHpCtPft++lIdafWNnkjmdy78KOHn75A8t/FW///tkQSthfbs4cIVXMXR9NX1+2ndDuYKzvdslOZNlIhZVpDaq83Fnk07eceRVL7/hgPaQkFyfNQ5hYkiyF7xe/wKH5N0IWuRVFDC4k35UKL9VqQhjE5LayeiFbWDt+TP9iChwb9znVOn6XIAwVz4kZfgEvxgMCX2pbfg+B5peAy5bMEP4u3UYr2rStPu7xHI9+QbUGZ2p2fJfp8BitBFVrDxwFTWE1CjnwfpMcpafutMNts4RSHtSKiHqL4Jdks2w/qUW5KovGLEpmS1ZTkyPeh9jj51n7bHJy2Gaf88+kh+LoKUW+i6Gi37PEQfJJLYvZoPkMqsmYu6ISoSxTNLvfGvRuU1EKlpBYqJe2CBjM2yscZv9RABfdhrCjqFEVHm9m2925/6zoYZ9WNQ4S8onwfSg3W7I3VDZXGRlCCW79RlntIxET0o5QSARC35BBRA6DWmQCwCTW7bzYxCBu0Fm4m/dXUUBUpqwwyF4hp0pYkpNvIKTiftaTRlWHjgKimJG6GtIs7UGU10sHkyZpxcn0WcqaejzZTJWFSwGFAsy/QgGbbQBWCRvyWgEv7t7oXfwW1/1xbzEQBAACY+jvXoAIArDbrf3/R7yqz9AbRAGAGAwAAEMD0yLoEAPOF/6E/40oaBHP7OQr5ykD/3TymsM1BS6cg1TvxlSZ8bgmqX/yan4B+W26/R3AQnK585q3Mma5AoJ9SMkxh+9xooAtucIcC6pADM0Te177tI2K7QaS4GJavmpJEHLNMVlKCp5LT9UfnVBA/NXVWYXBD9RmiJc3BQbqEWxVMYSJsZj7V8ldnr5khbrLF921YvdNRoyxrhsyUVjh5nV6doD4RQLnmcdYc+35O2TAkHO4b5uFIazRA9ETK5SysUhWWNNfK5lHq3PosNauRZwUqbJ8UtcOMFgfG9knDCg7IFaywSrjkB4U8+hCAv66NmCsIaezhW+BAbPwgMu7jCfN37EO02hd9AW5GydYGI5enoGrjMgfxl6EcznakvF5zHo78FiMuo1z5GOdf4dIXY86jS3H/J6su8eof6PQPNHqW5CKpG4d0O4/y9kdM/yBpXJE0xvjPLXaLAstFWcS4T2+VlM+lx2lmiCu6tppAXsaZF1ValTIoEpdqUNl+q1+1Clzp8RpTOnuvxDEjubgB6D0AAgAAACDPcHnRVNJqebZa0q3ahb4isG9S6+Mu9H4F01lF9xfa/TmNK1T7B4qVxmNCIKDKdFS4c0Wmtqz0Sb8bfSzXWt0kgSU0oAgX2EMFFjCCZXUJeZ282zHdMHmuap88aPrPIYKfPXBUNYeJVe9VBPmuDATyVlUir5HPymiK9jszXJWahcSIxyqC/FUGAoGervQ0pmuQAj3ZY9SZeNhC3lUAOAAY2D5QIACg+YODihkA4A4sZ4GwcZ8FhkNwLTxdi8AsSIISZkE5rem2crBFpytCpEQEQQIEioEnS5rMJYxnIEKXCUP5zdFIOB+SrraB0FbrbBnNun4c+CGIK1lfkkY2gveKGBIVB4gVyssJ+zBBtCAZXhqSG8m5SNVI/4s69SRWVLw4RiQVUpdQfCDJS+Tg+riyfiSjSyiQygbxKQgnq4NLMWVElz5zNiQlbHRKg+usEiOYr4bUTcQ+J6a/YbpY69+SyHW4teXncztzVuiD3WqGJ0tujJ56fdEdL1ASnkcM67PlBSYR5X6pmtgsYioesgz+E5wRqCi3S7KnIphK411Vzkeg0wIslU9GMNvqKwpyR7DEeZoonulizfY1l0ewbfQX+KhFsHNj2JhRERxqskKnuSI4teRFznCvjbHUNrc10I9lZRKjgj8FVdqveRKK7ve4o6QzqYli+i2UCIWi9CkMdm6i2H5NxUNJz3Kehb5BUD6wcxPF9HsoFGVBYTDNiWL7I9qk8FC0ksND0QAAAA=="}},"time_used":742,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":559,"receive":183,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/site/themes/new.css","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.227Z","timestamp":1785137065227,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /site/themes/new.css HTTP/1.1\r\nHost: ifxbrokertrades.co.za\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Sat, 19 Feb 2022 08:51:46 GMT\r\naccept-ranges: bytes\r\netag: \"1d8256decaf9700\"\r\nvary: Accept-Encoding\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]}],"data":{"size":43520,"size_decoded":7631,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with CRLF line terminators","md5":"c3204a5bfc9a22d41fc8ba75a7440a15","sha1":"d7a3571824cae641a46e01eb8873c368b4e36228","sha256":"1fb5fde1995307203882507045f9ef3ef74c8a50e674af682bc273bea7a0a6dd","sha512":"14b1f4d11d87be8ee0e04a45e5bee4e7efe680e492ec93fabfc8000cb34e63f88a54d7a0657039023c78f0edcdc8c3a44d7d9591c85169a4b378670430eb817f","ssdeep":"768:q62xH6OZ7qWfoW7qjnZP98crvWqx8oi4WYdL:iYOZ75ff7qjnZP98crOqx8oiPYdL","tlshash":"f41333ae9a4211065637dbb8aff3466dff590027cb0245a9bbde32958ff416044a1f8c","first_seen":"2026-03-29T04:39:56.793771Z","last_seen":"2026-07-27T07:25:28.805831Z","times_seen":5,"resource_available":false,"data":"OnJvb3Qgew0KICAgIC0tYmx1ZTojMDA3YmZmOw0KICAgIC0taW5kaWdvOiM2NjEwZjI7DQogICAgLS1wdXJwbGU6IzZmNDJjMTsNCiAgICAtLXBpbms6I2U4M2U4YzsNCiAgICAtLXJlZDojZGMzNTQ1Ow0KICAgIC0tb3JhbmdlOiNmZDdlMTQ7DQogICAgLS15ZWxsb3c6I2ZmYzEwNzsNCiAgICAtLWdyZWVuOiMyOGE3NDU7DQogICAgLS10ZWFsOiMyMGM5OTc7DQogICAgLS1jeWFuOiMxN2EyYjg7DQogICAgLS13aGl0ZTojZmZmOw0KICAgIC0tZ3JheTojNmM3NTdkOw0KICAgIC0tZ3JheS1kYXJrOiMzNDNhNDA7DQogICAgLS1wcmltYXJ5OiMyZTMxOTI7DQogICAgLS1zZWNvbmRhcnk6IzZjNzU3ZDsNCiAgICAtLXN1Y2Nlc3M6IzM5YjU0YTsNCiAgICAtLWluZm86IzEyODc4NTsNCiAgICAtLXdhcm5pbmc6I2ZjYmYwMDsNCiAgICAtLWRhbmdlcjojY2MwMDAwOw0KICAgIC0tbGlnaHQ6I2Y4ZjlmYTsNCiAgICAtLWRhcms6IzMwMzAzMDsNCiAgICAtLWJyZWFrcG9pbnQteHM6MDsNCiAgICAtLWJyZWFrcG9pbnQtc206NTc2cHg7DQogICAgLS1icmVha3BvaW50LW1kOjc2OHB4Ow0KICAgIC0tYnJlYWtwb2ludC1sZzo5OTJweDsNCiAgICAtLWJyZWFrcG9pbnQteGw6MTIwMHB4Ow0KICAgIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiU2Vnb2UgVUkiLFJvYm90bywiSGVsdmV0aWNhIE5ldWUiLEFyaWFsLCJOb3RvIFNhbnMiLCJMaWJlcmF0aW9uIFNhbnMiLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiLCJTZWdvZSBVSSBTeW1ib2wiLCJOb3RvIENvbG9yIEVtb2ppIjsNCiAgICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTpTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsIkxpYmVyYXRpb24gTW9ubyIsIkNvdXJpZXIgTmV3Iixtb25vc3BhY2U7DQp9DQoNCiosIDo6YWZ0ZXIsIDo6YmVmb3JlIHsNCiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KfQ0KDQpodG1sIHsNCiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsNCiAgICBsaW5lLWhlaWdodDogMS4xNTsNCiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7DQp9DQoNCmFzaWRlLCBtYWluLCBuYXYsIHNlY3Rpb24gew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KfQ0KDQpib2R5IHsNCiAgICBtYXJnaW46IDA7DQogICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsQXJpYWwsIk5vdG8gU2FucyIsIkxpYmVyYXRpb24gU2FucyIsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiOw0KICAgIGZvbnQtc2l6ZTogLjk1cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBjb2xvcjogIzIxMjUyOTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQp9DQoNCmhyIHsNCiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsNCiAgICBoZWlnaHQ6IDA7DQogICAgb3ZlcmZsb3c6IHZpc2libGU7DQp9DQoNCmgxLCBoMiwgaDMsIGg0LCBoNSB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsNCn0NCg0KdWwgew0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsNCn0NCg0Kc3Ryb25nIHsNCiAgICBmb250LXdlaWdodDogYm9sZGVyOw0KfQ0KDQphIHsNCiAgICBjb2xvcjogIzJlMzE5MjsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQp9DQoNCmltZyB7DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQp9DQoNCmxhYmVsIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbWFyZ2luLWJvdHRvbTogLjVyZW07DQp9DQoNCmJ1dHRvbiB7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCn0NCg0KYnV0dG9uLCBpbnB1dCB7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0Ow0KICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsNCiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsNCn0NCg0KYnV0dG9uLCBpbnB1dCB7DQogICAgb3ZlcmZsb3c6IHZpc2libGU7DQp9DQoNCmJ1dHRvbiB7DQogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7DQp9DQoNClt0eXBlPWJ1dHRvbl0sIGJ1dHRvbiB7DQogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247DQp9DQoNCiAgICBbdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLCBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIgew0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgfQ0KDQppbnB1dFt0eXBlPWNoZWNrYm94XSB7DQogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICBwYWRkaW5nOiAwOw0KfQ0KDQo6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHsNCiAgICBmb250OiBpbmhlcml0Ow0KICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOw0KfQ0KDQouaDYsIGgxLCBoMiwgaDMsIGg0LCBoNSB7DQogICAgbWFyZ2luLWJvdHRvbTogLjVyZW07DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBsaW5lLWhlaWdodDogMS4yOw0KfQ0KDQpoMSB7DQogICAgZm9udC1zaXplOiAyLjM3NXJlbTsNCn0NCg0KQG1lZGlhIChtYXgtd2lkdGg6MTIwMHB4KSB7DQogICAgaDEgew0KICAgICAgICBmb250LXNpemU6IGNhbGMoMS4zNjI1cmVtICsgMS4zNXZ3KTsNCiAgICB9DQp9DQoNCmgyIHsNCiAgICBmb250LXNpemU6IDEuOXJlbTsNCn0NCg0KQG1lZGlhIChtYXgtd2lkdGg6MTIwMHB4KSB7DQogICAgaDIgew0KICAgICAgICBmb250LXNpemU6IGNhbGMoMS4zMTVyZW0gKyAuNzh2dyk7DQogICAgfQ0KfQ0KDQpoMyB7DQogICAgZm9udC1zaXplOiAxLjY2MjVyZW07DQp9DQoNCkBtZWRpYSAobWF4LXdpZHRoOjEyMDBweCkgew0KICAgIGgzIHsNCiAgICAgICAgZm9udC1zaXplOiBjYWxjKDEuMjkxMjVyZW0gKyAuNDk1dncpOw0KICAgIH0NCn0NCg0KaDQgew0KICAgIGZvbnQtc2l6ZTogMS40MjVyZW07DQp9DQoNCkBtZWRpYSAobWF4LXdpZHRoOjEyMDBweCkgew0KICAgIGg0IHsNCiAgICAgICAgZm9udC1zaXplOiBjYWxjKDEuMjY3NXJlbSArIC4yMXZ3KTsNCiAgICB9DQp9DQoNCmg1IHsNCiAgICBmb250LXNpemU6IDEuMTg3NXJlbTsNCn0NCg0KLmg2IHsNCiAgICBmb250LXNpemU6IC45NXJlbTsNCn0NCg0KaHIgew0KICAgIG1hcmdpbi10b3A6IDFyZW07DQogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsNCiAgICBib3JkZXI6IDA7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpOw0KfQ0KDQouc21hbGwgew0KICAgIGZvbnQtc2l6ZTogODAlOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQp9DQoNCi5saXN0LXVuc3R5bGVkIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCn0NCg0KLmltZy1mbHVpZCB7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogYXV0bzsNCn0NCg0KLmNvbnRhaW5lciwgLmNvbnRhaW5lci1sZyB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICAgIG1hcmdpbi1sZWZ0OiBhdXRvOw0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5jb250YWluZXIgew0KICAgICAgICBtYXgtd2lkdGg6IDU0MHB4Ow0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHsNCiAgICAuY29udGFpbmVyIHsNCiAgICAgICAgbWF4LXdpZHRoOiA3MjBweDsNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7DQogICAgLmNvbnRhaW5lciwgLmNvbnRhaW5lci1sZyB7DQogICAgICAgIG1heC13aWR0aDogOTYwcHg7DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpIHsNCiAgICAuY29udGFpbmVyLCAuY29udGFpbmVyLWxnIHsNCiAgICAgICAgbWF4LXdpZHRoOiAxMTQwcHg7DQogICAgfQ0KfQ0KDQoucm93IHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsNCn0NCg0KLm5vLWd1dHRlcnMgew0KICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICBtYXJnaW4tbGVmdDogMDsNCn0NCg0KICAgIC5uby1ndXR0ZXJzID4gW2NsYXNzKj1jb2wtXSB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogICAgICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICB9DQoNCi5jb2wtMSwgLmNvbC00LCAuY29sLTYsIC5jb2wtbGctMTAsIC5jb2wtbGctMTIsIC5jb2wtbGctMiwgLmNvbC1sZy0zLCAuY29sLWxnLTYsIC5jb2wtbGctOCwgLmNvbC1tZCwgLmNvbC1tZC0xMiwgLmNvbC1tZC00LCAuY29sLW1kLTUsIC5jb2wtbWQtNywgLmNvbC1zbS0zLCAuY29sLXNtLTUsIC5jb2wtc20tNyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogICAgcGFkZGluZy1sZWZ0OiAxNXB4Ow0KfQ0KDQouY29sLTEgew0KICAgIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlOw0KICAgIG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTsNCn0NCg0KLmNvbC00IHsNCiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7DQogICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTsNCn0NCg0KLmNvbC02IHsNCiAgICBmbGV4OiAwIDAgNTAlOw0KICAgIG1heC13aWR0aDogNTAlOw0KfQ0KDQoub3JkZXItMCB7DQogICAgb3JkZXI6IDA7DQp9DQoNCi5vcmRlci0xIHsNCiAgICBvcmRlcjogMTsNCn0NCg0KLm9yZGVyLTIgew0KICAgIG9yZGVyOiAyOw0KfQ0KDQoub3JkZXItMyB7DQogICAgb3JkZXI6IDM7DQp9DQoNCi5vcmRlci00IHsNCiAgICBvcmRlcjogNDsNCn0NCg0KLm9yZGVyLTUgew0KICAgIG9yZGVyOiA1Ow0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5jb2wtc20tMyB7DQogICAgICAgIGZsZXg6IDAgMCAyNSU7DQogICAgICAgIG1heC13aWR0aDogMjUlOw0KICAgIH0NCg0KICAgIC5jb2wtc20tNSB7DQogICAgICAgIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTsNCiAgICAgICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTsNCiAgICB9DQoNCiAgICAuY29sLXNtLTcgew0KICAgICAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgew0KICAgIC5jb2wtbWQgew0KICAgICAgICBmbGV4LWJhc2lzOiAwOw0KICAgICAgICBmbGV4LWdyb3c6IDE7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICB9DQoNCiAgICAuY29sLW1kLTQgew0KICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7DQogICAgfQ0KDQogICAgLmNvbC1tZC01IHsNCiAgICAgICAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclOw0KICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclOw0KICAgIH0NCg0KICAgIC5jb2wtbWQtNyB7DQogICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTsNCiAgICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTsNCiAgICB9DQoNCiAgICAuY29sLW1kLTEyIHsNCiAgICAgICAgZmxleDogMCAwIDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICB9DQoNCiAgICAub3JkZXItbWQtMCB7DQogICAgICAgIG9yZGVyOiAwOw0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsNCiAgICAuY29sLWxnLTIgew0KICAgICAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7DQogICAgICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7DQogICAgfQ0KDQogICAgLmNvbC1sZy0zIHsNCiAgICAgICAgZmxleDogMCAwIDI1JTsNCiAgICAgICAgbWF4LXdpZHRoOiAyNSU7DQogICAgfQ0KDQogICAgLmNvbC1sZy02IHsNCiAgICAgICAgZmxleDogMCAwIDUwJTsNCiAgICAgICAgbWF4LXdpZHRoOiA1MCU7DQogICAgfQ0KDQogICAgLmNvbC1sZy04IHsNCiAgICAgICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclOw0KICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclOw0KICAgIH0NCg0KICAgIC5jb2wtbGctMTAgew0KICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7DQogICAgfQ0KDQogICAgLmNvbC1sZy0xMiB7DQogICAgICAgIGZsZXg6IDAgMCAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgfQ0KfQ0KDQouZm9ybS1jb250cm9sIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAuNzVyZW0gKyAycHgpOw0KICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtOw0KICAgIGZvbnQtc2l6ZTogLjk1cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBjb2xvcjogIzQ5NTA1NzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07DQp9DQoNCiAgICAuZm9ybS1jb250cm9sOjotbXMtZXhwYW5kIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlcjogMDsNCiAgICB9DQoNCiAgICAuZm9ybS1jb250cm9sOi1tb3otZm9jdXNyaW5nIHsNCiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzQ5NTA1NzsNCiAgICB9DQoNCiAgICAuZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHsNCiAgICAgICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KDQogICAgLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgew0KICAgICAgICBjb2xvcjogIzZjNzU3ZDsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICB9DQoNCi5mb3JtLWdyb3VwIHsNCiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KfQ0KDQouZm9ybS10ZXh0IHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tdG9wOiAuMjVyZW07DQp9DQoNCi5mb3JtLXJvdyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LXdyYXA6IHdyYXA7DQogICAgbWFyZ2luLXJpZ2h0OiAtNXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAtNXB4Ow0KfQ0KDQogICAgLmZvcm0tcm93ID4gW2NsYXNzKj1jb2wtXSB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7DQogICAgfQ0KDQouZm9ybS1jaGVjayB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsNCn0NCg0KLmZvcm0tY2hlY2staW5wdXQgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBtYXJnaW4tdG9wOiAuM3JlbTsNCiAgICBtYXJnaW4tbGVmdDogLTEuMjVyZW07DQp9DQoNCiAgICAuZm9ybS1jaGVjay1pbnB1dDpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dFtkaXNhYmxlZF0gfiAuZm9ybS1jaGVjay1sYWJlbCB7DQogICAgICAgIGNvbG9yOiAjNmM3NTdkOw0KICAgIH0NCg0KLmZvcm0tY2hlY2stbGFiZWwgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQp9DQoNCi5mb3JtLWNoZWNrLWlubGluZSB7DQogICAgZGlzcGxheTogaW5saW5lLWZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbWFyZ2luLXJpZ2h0OiAuNzVyZW07DQp9DQoNCiAgICAuZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQgew0KICAgICAgICBwb3NpdGlvbjogc3RhdGljOw0KICAgICAgICBtYXJnaW4tdG9wOiAwOw0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC4zMTI1cmVtOw0KICAgICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICB9DQoNCi5idG4gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGNvbG9yOiAjMjEyNTI5Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtOw0KICAgIGZvbnQtc2l6ZTogLjk1cmVtOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtOw0KfQ0KDQouYnRuLXByaW1hcnkgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTMxOTI7DQogICAgYm9yZGVyLWNvbG9yOiAjMmUzMTkyOw0KfQ0KDQouYnRuLXNlY29uZGFyeSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDsNCiAgICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7DQp9DQoNCi5idG4tc3VjY2VzcyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YjU0YTsNCiAgICBib3JkZXItY29sb3I6ICMzOWI1NGE7DQp9DQoNCi5idG4tZGFuZ2VyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzAwOw0KICAgIGJvcmRlci1jb2xvcjogI2MwMDsNCn0NCg0KLmJ0bi1sZyB7DQogICAgcGFkZGluZzogLjVyZW0gMXJlbTsNCiAgICBmb250LXNpemU6IDEuMTg3NXJlbTsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGJvcmRlci1yYWRpdXM6IC4zcmVtOw0KfQ0KDQouYnRuLXNtIHsNCiAgICBwYWRkaW5nOiAuMjVyZW0gLjVyZW07DQogICAgZm9udC1zaXplOiAuODMxMjVyZW07DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBib3JkZXItcmFkaXVzOiAuMnJlbTsNCn0NCg0KLmZhZGU6bm90KC5zaG93KSB7DQogICAgb3BhY2l0eTogMDsNCn0NCg0KLmNvbGxhcHNlOm5vdCguc2hvdykgew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5kcm9wZG93biB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouZHJvcGRvd24tbWVudSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMTAwJTsNCiAgICBsZWZ0OiAwOw0KICAgIHotaW5kZXg6IDEwMDA7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBtaW4td2lkdGg6IDEwcmVtOw0KICAgIHBhZGRpbmc6IC41cmVtIDA7DQogICAgbWFyZ2luOiAuMTI1cmVtIDAgMDsNCiAgICBmb250LXNpemU6IC45NXJlbTsNCiAgICBjb2xvcjogIzIxMjUyOTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KTsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07DQp9DQoNCi5kcm9wZG93bi1pdGVtIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAuMjVyZW0gMS41cmVtOw0KICAgIGNsZWFyOiBib3RoOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgdGV4dC1hbGlnbjogaW5oZXJpdDsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMDsNCn0NCg0KLmlucHV0LWdyb3VwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LXdyYXA6IHdyYXA7DQogICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICBmbGV4OiAxIDEgYXV0bzsNCiAgICAgICAgd2lkdGg6IDElOw0KICAgICAgICBtaW4td2lkdGg6IDA7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgfQ0KDQogICAgLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpIHsNCiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICAgIH0NCg0KLm5hdiB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LXdyYXA6IHdyYXA7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCn0NCg0KLm5hdi1saW5rIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtOw0KfQ0KDQoudGFiLWNvbnRlbnQgPiAudGFiLXBhbmUgew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5uYXZiYXIgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtOw0KfQ0KDQogICAgLm5hdmJhciAuY29udGFpbmVyIHsNCiAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgfQ0KDQoubmF2YmFyLWJyYW5kIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZy10b3A6IC4zMjE4NzVyZW07DQogICAgcGFkZGluZy1ib3R0b206IC4zMjE4NzVyZW07DQogICAgbWFyZ2luLXJpZ2h0OiAxcmVtOw0KICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOw0KICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0Ow0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoNCi5uYXZiYXItbmF2IHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCn0NCg0KICAgIC5uYXZiYXItbmF2IC5uYXYtbGluayB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogICAgICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICB9DQoNCiAgICAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7DQogICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7DQogICAgICAgIGZsb2F0OiBub25lOw0KICAgIH0NCg0KLm5hdmJhci1jb2xsYXBzZSB7DQogICAgZmxleC1iYXNpczogMTAwJTsNCiAgICBmbGV4LWdyb3c6IDE7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCn0NCg0KLm5hdmJhci10b2dnbGVyIHsNCiAgICBwYWRkaW5nOiAuMjVyZW0gLjc1cmVtOw0KICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOw0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTsNCn0NCg0KQG1lZGlhIChtYXgtd2lkdGg6MTE5OS45OHB4KSB7DQogICAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogMDsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KSB7DQogICAgLm5hdmJhci1leHBhbmQteGwgew0KICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7DQogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCiAgICB9DQoNCiAgICAgICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgew0KICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgICAgICAgfQ0KDQogICAgICAgICAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7DQogICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmsgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtOw0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW07DQogICAgICAgICAgICB9DQoNCiAgICAgICAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwOw0KICAgICAgICB9DQoNCiAgICAgICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZSB7DQogICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOw0KICAgICAgICB9DQoNCiAgICAgICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci10b2dnbGVyIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgICAgIH0NCn0NCg0KLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kIHsNCiAgICBjb2xvcjogcmdiYSgwLDAsMCwuOSk7DQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsNCiAgICBjb2xvcjogcmdiYSgwLDAsMCwuNSk7DQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayB7DQogICAgY29sb3I6IHJnYmEoMCwwLDAsLjkpOw0KfQ0KDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlciB7DQogICAgY29sb3I6IHJnYmEoMCwwLDAsLjUpOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMSk7DQp9DQoNCi5jbG9zZSB7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICAgIGZvbnQtc2l6ZTogMS40MjVyZW07DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogIzAwMDsNCiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmOw0KICAgIG9wYWNpdHk6IC41Ow0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDoxMjAwcHgpIHsNCiAgICAuY2xvc2Ugew0KICAgICAgICBmb250LXNpemU6IGNhbGMoMS4yNjc1cmVtICsgLjIxdncpOw0KICAgIH0NCn0NCg0KYnV0dG9uLmNsb3NlIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMDsNCn0NCg0KLm1vZGFsIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgdG9wOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgei1pbmRleDogMTA1MDsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIG91dGxpbmU6IDA7DQp9DQoNCi5tb2RhbC1kaWFsb2cgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB3aWR0aDogYXV0bzsNCiAgICBtYXJnaW46IC41cmVtOw0KfQ0KDQoubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC01MHB4KTsNCn0NCg0KLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pOw0KfQ0KDQogICAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZDo6YmVmb3JlIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDFyZW0pOw0KICAgICAgICBoZWlnaHQ6IC13ZWJraXQtbWluLWNvbnRlbnQ7DQogICAgICAgIGhlaWdodDogLW1vei1taW4tY29udGVudDsNCiAgICAgICAgaGVpZ2h0OiBtaW4tY29udGVudDsNCiAgICAgICAgY29udGVudDogIiI7DQogICAgfQ0KDQoubW9kYWwtY29udGVudCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMik7DQogICAgYm9yZGVyLXJhZGl1czogLjNyZW07DQogICAgb3V0bGluZTogMDsNCn0NCg0KLm1vZGFsLWhlYWRlciB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgcGFkZGluZzogMXJlbSAxcmVtOw0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2Ow0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoLjNyZW0gLSAxcHgpOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKC4zcmVtIC0gMXB4KTsNCn0NCg0KICAgIC5tb2RhbC1oZWFkZXIgLmNsb3NlIHsNCiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtOw0KICAgICAgICBtYXJnaW46IC0xcmVtIC0xcmVtIC0xcmVtIGF1dG87DQogICAgfQ0KDQoubW9kYWwtdGl0bGUgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCn0NCg0KLm1vZGFsLWJvZHkgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBmbGV4OiAxIDEgYXV0bzsNCiAgICBwYWRkaW5nOiAxcmVtOw0KfQ0KDQoubW9kYWwtZm9vdGVyIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7DQogICAgcGFkZGluZzogLjc1cmVtOw0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2Ow0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKC4zcmVtIC0gMXB4KTsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKC4zcmVtIC0gMXB4KTsNCn0NCg0KICAgIC5tb2RhbC1mb290ZXIgPiAqIHsNCiAgICAgICAgbWFyZ2luOiAuMjVyZW07DQogICAgfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5tb2RhbC1kaWFsb2cgew0KICAgICAgICBtYXgtd2lkdGg6IDUwMHB4Ow0KICAgICAgICBtYXJnaW46IDEuNzVyZW0gYXV0bzsNCiAgICB9DQoNCiAgICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHsNCiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMy41cmVtKTsNCiAgICB9DQoNCiAgICAgICAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZDo6YmVmb3JlIHsNCiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDMuNXJlbSk7DQogICAgICAgICAgICBoZWlnaHQ6IC13ZWJraXQtbWluLWNvbnRlbnQ7DQogICAgICAgICAgICBoZWlnaHQ6IC1tb3otbWluLWNvbnRlbnQ7DQogICAgICAgICAgICBoZWlnaHQ6IG1pbi1jb250ZW50Ow0KICAgICAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7DQogICAgLm1vZGFsLWxnLCAubW9kYWwteGwgew0KICAgICAgICBtYXgtd2lkdGg6IDgwMHB4Ow0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KSB7DQogICAgLm1vZGFsLXhsIHsNCiAgICAgICAgbWF4LXdpZHRoOiAxMTQwcHg7DQogICAgfQ0KfQ0KDQouY2Fyb3VzZWwtaXRlbSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTsNCiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQp9DQoNCi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCn0NCg0KLmFsaWduLW1pZGRsZSB7DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50Ow0KfQ0KDQouYmctcHJpbWFyeSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzJlMzE5MiAhaW1wb3J0YW50Ow0KfQ0KDQouYmctbGlnaHQgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmEgIWltcG9ydGFudDsNCn0NCg0KLmJnLWRhcmsgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDMwMzAgIWltcG9ydGFudDsNCn0NCg0KLmJnLXdoaXRlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7DQp9DQoNCi5ib3JkZXItcmlnaHQgew0KICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsNCn0NCg0KLmJvcmRlci1ib3R0b20gew0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7DQp9DQoNCi5ib3JkZXItMCB7DQogICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7DQp9DQoNCi5ib3JkZXItYm90dG9tLTAgew0KICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsNCn0NCg0KLnJvdW5kZWQgew0KICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucm91bmRlZC0wIHsNCiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7DQp9DQoNCi5kLW5vbmUgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCn0NCg0KLmQtaW5saW5lIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsNCn0NCg0KLmQtaW5saW5lLWJsb2NrIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsNCn0NCg0KLmQtYmxvY2sgew0KICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQp9DQoNCi5kLWZsZXggew0KICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsNCiAgICAuZC1zbS1ub25lIHsNCiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC5kLXNtLWJsb2NrIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7DQogICAgLmQtbWQtbm9uZSB7DQogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAuZC1tZC1ibG9jayB7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KDQogICAgLmQtbWQtZmxleCB7DQogICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7DQogICAgLmQtbGctbm9uZSB7DQogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAuZC1sZy1ibG9jayB7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KDQogICAgLmQtbGctZmxleCB7DQogICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsNCiAgICB9DQp9DQoNCi5lbWJlZC1yZXNwb25zaXZlIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KDQogICAgLmVtYmVkLXJlc3BvbnNpdmU6OmJlZm9yZSB7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICBjb250ZW50OiAiIjsNCiAgICB9DQoNCi5mbGV4LXdyYXAgew0KICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50Ow0KfQ0KDQouZmxleC1maWxsIHsNCiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50Ow0KfQ0KDQouanVzdGlmeS1jb250ZW50LXN0YXJ0IHsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsNCn0NCg0KLmp1c3RpZnktY29udGVudC1jZW50ZXIgew0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7DQp9DQoNCi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7DQp9DQoNCi5hbGlnbi1pdGVtcy1jZW50ZXIgew0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLXNlbGYtY2VudGVyIHsNCiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHsNCiAgICAuanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0IHsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgew0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7DQogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50Ow0KICAgIH0NCn0NCg0KLm92ZXJmbG93LWhpZGRlbiB7DQogICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50Ow0KfQ0KDQoucG9zaXRpb24tc3RhdGljIHsNCiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7DQp9DQoNCi5wb3NpdGlvbi1yZWxhdGl2ZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7DQp9DQoNCi5wb3NpdGlvbi1hYnNvbHV0ZSB7DQogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7DQp9DQoNCi5wb3NpdGlvbi1maXhlZCB7DQogICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7DQp9DQoNCi5wb3NpdGlvbi1zdGlja3kgew0KICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSAhaW1wb3J0YW50Ow0KICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDsNCn0NCg0KLnNoYWRvdyB7DQogICAgYm94LXNoYWRvdzogMCAuNXJlbSAxcmVtIHJnYmEoMCwwLDAsLjE1KSAhaW1wb3J0YW50Ow0KfQ0KDQoudy0xMDAgew0KICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQp9DQoNCi53LWF1dG8gew0KICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7DQp9DQoNCi5oLTEwMCB7DQogICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7DQp9DQoNCi5tdC0wIHsNCiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7DQp9DQoNCi5tYi0wIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7DQp9DQoNCi5tci0xIHsNCiAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubXQtMiwgLm15LTIgew0KICAgIG1hcmdpbi10b3A6IC41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5teC0yIHsNCiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tYi0yLCAubXktMiB7DQogICAgbWFyZ2luLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLm1sLTIsIC5teC0yIHsNCiAgICBtYXJnaW4tbGVmdDogLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLm10LTMgew0KICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsNCn0NCg0KLm1yLTMgew0KICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubWItMyB7DQogICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubXQtNCB7DQogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tYi00IHsNCiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLm1iLTUgew0KICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsNCn0NCg0KLnAtMCB7DQogICAgcGFkZGluZzogMCAhaW1wb3J0YW50Ow0KfQ0KDQoucHItMCB7DQogICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Ow0KfQ0KDQoucGItMCB7DQogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsNCn0NCg0KLnB5LTEgew0KICAgIHBhZGRpbmctdG9wOiAuMjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnB4LTEgew0KICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucHktMSB7DQogICAgcGFkZGluZy1ib3R0b206IC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucGwtMSwgLnB4LTEgew0KICAgIHBhZGRpbmctbGVmdDogLjI1cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wLTIgew0KICAgIHBhZGRpbmc6IC41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5weS0yIHsNCiAgICBwYWRkaW5nLXRvcDogLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnB4LTIgew0KICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5weS0yIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnB4LTIgew0KICAgIHBhZGRpbmctbGVmdDogLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnB0LTMsIC5weS0zIHsNCiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucGItMywgLnB5LTMgew0KICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5weC00IHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnB4LTQgew0KICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5weS01IHsNCiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucHktNSB7DQogICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsNCn0NCg0KLnB5LTcgew0KICAgIHBhZGRpbmctdG9wOiAxMnJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucHktNyB7DQogICAgcGFkZGluZy1ib3R0b206IDEycmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tci1uMiB7DQogICAgbWFyZ2luLXJpZ2h0OiAtLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLm1yLWF1dG8gew0KICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5tdC1zbS0wIHsNCiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC5wLXNtLTIgew0KICAgICAgICBwYWRkaW5nOiAuNXJlbSAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC5weC1zbS0zIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC5weC1zbS0zIHsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgew0KICAgIC5tdC1tZC0wIHsNCiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC5tYi1tZC0yIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAubXktbWQtNSB7DQogICAgICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAubWItbWQtNSwgLm15LW1kLTUgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7DQogICAgfQ0KDQogICAgLnBiLW1kLTAgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC5weC1tZC0yIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW0gIWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAucHgtbWQtMiB7DQogICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW0gIWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAucGItbWQtNiB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtICFpbXBvcnRhbnQ7DQogICAgfQ0KDQogICAgLnB0LW1kLTggew0KICAgICAgICBwYWRkaW5nLXRvcDogMjRyZW0gIWltcG9ydGFudDsNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7DQogICAgLm1iLWxnLTAgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7DQogICAgfQ0KDQogICAgLnAtbGctMSB7DQogICAgICAgIHBhZGRpbmc6IC4yNXJlbSAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC5wdC1sZy0yIHsNCiAgICAgICAgcGFkZGluZy10b3A6IC41cmVtICFpbXBvcnRhbnQ7DQogICAgfQ0KDQogICAgLnB5LWxnLTMgew0KICAgICAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC5weS1sZy0zIHsNCiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAucC1sZy00IHsNCiAgICAgICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7DQogICAgfQ0KDQogICAgLnB4LWxnLTUgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7DQogICAgfQ0KDQogICAgLnB4LWxnLTUgew0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgew0KICAgIC5tci14bC0wIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7DQogICAgfQ0KDQogICAgLnB4LXhsLTEgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAucHgteGwtMSB7DQogICAgICAgIHBhZGRpbmctbGVmdDogLjI1cmVtICFpbXBvcnRhbnQ7DQogICAgfQ0KDQogICAgLnB4LXhsLTIgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbSAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC5weC14bC0yIHsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbSAhaW1wb3J0YW50Ow0KICAgIH0NCn0NCg0KLnRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50Ow0KfQ0KDQoudGV4dC1sZWZ0IHsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7DQp9DQoNCi50ZXh0LWNlbnRlciB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQp9DQoNCi5mb250LXdlaWdodC1ub3JtYWwgew0KICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsNCn0NCg0KLmZvbnQtd2VpZ2h0LWJvbGQgew0KICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsNCn0NCg0KLnRleHQtd2hpdGUgew0KICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7DQp9DQoNCi50ZXh0LXByaW1hcnkgew0KICAgIGNvbG9yOiAjMmUzMTkyICFpbXBvcnRhbnQ7DQp9DQoNCi50ZXh0LXNlY29uZGFyeSB7DQogICAgY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsNCn0NCg0KLnRleHQtZGFuZ2VyIHsNCiAgICBjb2xvcjogI2MwMCAhaW1wb3J0YW50Ow0KfQ0KDQoudGV4dC1kYXJrIHsNCiAgICBjb2xvcjogIzMwMzAzMCAhaW1wb3J0YW50Ow0KfQ0KDQoudGV4dC1kZWNvcmF0aW9uLW5vbmUgew0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Ow0KfQ0KDQouYmctZ3JheSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2QxZDFkMSAhaW1wb3J0YW50Ow0KfQ0KDQoudGV4dC1ncmF5LWRhcmsgew0KICAgIGNvbG9yOiAjYWNhY2FjOw0KfQ0KDQoudGV4dC1ncmF5LWRhcmtlciB7DQogICAgY29sb3I6ICM2OTcwNzc7DQp9DQoNCmEgew0KICAgIGNvbG9yOiBpbmhlcml0Ow0KfQ0KDQogICAgYTpub3QoLmJ0bik6bm90KC5uYXYtbGluayk6bm90KC5iYWRnZSk6bm90KC5kcm9wZG93bi1pdGVtKTpub3QoLmxpbmstZGFyayk6bm90KFtkYXRhLXRvZ2dsZT1jb2xsYXBzZV0pOm5vdCgucGhwZGVidWdiYXItdGFiKSB7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KICAgIH0NCg0KLmxpbmstZGFyayB7DQogICAgY29sb3I6ICMzMDMwMzA7DQp9DQoNCi5yZWRhY3Rvci10aXRsZSB7DQogICAgbGluZS1oZWlnaHQ6IDEuMjU7DQp9DQoNCi50ZXh0LTExIHsNCiAgICBmb250LXNpemU6IC42ODc1cmVtOw0KfQ0KDQoudGV4dC0xMiB7DQogICAgZm9udC1zaXplOiAuNzVyZW07DQp9DQoNCi50ZXh0LTEzIHsNCiAgICBmb250LXNpemU6IC44MTI1cmVtOw0KfQ0KDQoudGV4dC0xNCB7DQogICAgZm9udC1zaXplOiAuODc1cmVtOw0KfQ0KDQoudGV4dC0xNSB7DQogICAgZm9udC1zaXplOiAuOTM3NXJlbTsNCn0NCg0KLnRleHQtMTggew0KICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07DQp9DQoNCi50ZXh0LTE5IHsNCiAgICBmb250LXNpemU6IDEuMTg3NXJlbTsNCn0NCg0KLnRleHQtMjAgew0KICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsNCn0NCg0KLnRleHQtMzAgew0KICAgIGZvbnQtc2l6ZTogMS44NzVyZW07DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7DQogICAgLnRleHQtc20tMjggew0KICAgICAgICBmb250LXNpemU6IDEuNzVyZW07DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgew0KICAgIC50ZXh0LW1kLTIzIHsNCiAgICAgICAgZm9udC1zaXplOiAxLjQzNzVyZW07DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgew0KICAgIC50ZXh0LW1kLTM2IHsNCiAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOw0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsNCiAgICAudGV4dC1sZy0xNyB7DQogICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOw0KICAgIH0NCn0NCg0KLnRleHQtbGcgew0KICAgIGZvbnQtc2l6ZTogMnJlbTsNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsNCiAgICAudGV4dC1sZyB7DQogICAgICAgIGZvbnQtc2l6ZTogMnJlbTsNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7DQogICAgLnRleHQtbGcgew0KICAgICAgICBmb250LXNpemU6IDIuNXJlbTsNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7DQogICAgLnRleHQtbGcgew0KICAgICAgICBmb250LXNpemU6IDNyZW07DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpIHsNCiAgICAudGV4dC1sZyB7DQogICAgICAgIGZvbnQtc2l6ZTogMy41cmVtOw0KICAgIH0NCn0NCg0KLnNtYWxsLTIgew0KICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsNCn0NCg0KLnNtYWxsLTMgew0KICAgIGZvbnQtc2l6ZTogLjgxM3JlbTsNCn0NCg0KLnNtYWxsLTQgew0KICAgIGZvbnQtc2l6ZTogLjc1cmVtOw0KfQ0KDQpyZWQgew0KICAgIGNvbG9yOiAjYzAwOw0KfQ0KDQouYmctY2VudGVyIHsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7DQp9DQoNCi5vdXRsaW5lLTAgew0KICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDsNCn0NCg0KLmJvcmRlci1yaWdodCB7DQogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RlZTJlNjsNCn0NCg0KLmJvcmRlci1ib3R0b20gew0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2Ow0KfQ0KDQouYm9yZGVyLWJvdHRvbS0wIHsNCiAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7DQogICAgLmJvcmRlci1sZy1sZWZ0IHsNCiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2Ow0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KSB7DQogICAgLmJvcmRlci14bC1yaWdodCB7DQogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZWUyZTY7DQogICAgfQ0KfQ0KDQphW2RhdGEtdG9nZ2xlPWRyb3Bkb3duXSB7DQogICAgb3V0bGluZTogMDsNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsNCiAgICAjY29sbGFwc2luZ05hdmJhciAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgew0KICAgICAgICBtYXgtaGVpZ2h0OiAwOw0KICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQp9DQoNCi5iZy1ob3Zlci1kYXJrZW4gew0KICAgIGZpbHRlcjogc2F0dXJhdGUoMTAwJSk7DQp9DQoNCi5saW5lLWhlaWdodC0xIHsNCiAgICBsaW5lLWhlaWdodDogMTsNCn0NCg0KLnRvcC0wIHsNCiAgICB0b3A6IDA7DQp9DQoNCi5ib3R0b20tMCB7DQogICAgYm90dG9tOiAwOw0KfQ0KDQouaWNvbi00MCB7DQogICAgd2lkdGg6IDQwcHg7DQogICAgaGVpZ2h0OiBhdXRvOw0KICAgIG1heC1oZWlnaHQ6IDQwcHg7DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7DQogICAgLmljb24tc20tNDAgew0KICAgICAgICB3aWR0aDogNDBweDsNCiAgICAgICAgaGVpZ2h0OiBhdXRvOw0KICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4Ow0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsNCiAgICAuaWNvbi1sZy00OCB7DQogICAgICAgIHdpZHRoOiA0OHB4Ow0KICAgICAgICBoZWlnaHQ6IGF1dG87DQogICAgICAgIG1heC1oZWlnaHQ6IDQ4cHg7DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgew0KICAgIC5pY29uLW1kLTU2IHsNCiAgICAgICAgd2lkdGg6IDU2cHg7DQogICAgICAgIGhlaWdodDogYXV0bzsNCiAgICAgICAgbWF4LWhlaWdodDogNTZweDsNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7DQogICAgLmljb24tbGctNjQgew0KICAgICAgICB3aWR0aDogNjRweDsNCiAgICAgICAgaGVpZ2h0OiBhdXRvOw0KICAgICAgICBtYXgtaGVpZ2h0OiA2NHB4Ow0KICAgIH0NCn0NCg0KLm1pbi13aWR0aC0xOTIgew0KICAgIG1pbi13aWR0aDogMTkycHg7DQp9DQoNCi5tYXgtd2lkdGgtNjQwIHsNCiAgICBtYXgtd2lkdGg6IDY0MHB4Ow0KfQ0KDQouei1pbmRleC0xIHsNCiAgICB6LWluZGV4OiAxOw0KfQ0KDQouei1pbmRleC0zIHsNCiAgICB6LWluZGV4OiAzOw0KfQ0KDQouei1pbmRleC05IHsNCiAgICB6LWluZGV4OiA5Ow0KfQ0KDQouei1pbmRleC0xMCB7DQogICAgei1pbmRleDogMTA7DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7DQogICAgLnN3aXBlci1oZXJvLXNsaWRlciAuZ2FsbGVyeS10aHVtYnMgLnN3aXBlci1zbGlkZSB7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsMTcsMTcsLjcpOw0KICAgIH0NCn0NCg0KLm1hcnZlbC1kZXZpY2Ugew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDsNCn0NCg0KICAgIC5tYXJ2ZWwtZGV2aWNlIC5zY3JlZW4gew0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICBoZWlnaHQ6IDEwMCU7DQogICAgICAgIHotaW5kZXg6IDM7DQogICAgICAgIGJhY2tncm91bmQ6ICNmZmY7DQogICAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICBib3JkZXItcmFkaXVzOiAuMDYzZW07DQogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC4xODhlbSAjMTExOw0KICAgIH0NCg0KICAgIC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IHsNCiAgICAgICAgd2lkdGg6IDIzLjQzOGVtOw0KICAgICAgICBoZWlnaHQ6IDUwLjc1ZW07DQogICAgICAgIHBhZGRpbmc6IDEuNjI1ZW07DQogICAgICAgIGJhY2tncm91bmQ6ICNmZGZkZmQ7DQogICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAuNjg4ZW0gMCAjMDAwOw0KICAgICAgICBib3JkZXItcmFkaXVzOiA0LjEyNWVtOw0KICAgIH0NCg0KICAgICAgICAubWFydmVsLWRldmljZS5pcGhvbmUteCAub3ZlcmZsb3cgew0KICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7DQogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgICAgICB0b3A6IDA7DQogICAgICAgICAgICBsZWZ0OiAwOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNC4xMjVlbTsNCiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgICAgIH0NCg0KICAgICAgICAubWFydmVsLWRldmljZS5pcGhvbmUteCAuc2hhZG93IHsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7DQogICAgICAgICAgICB3aWR0aDogNS42MjVlbTsNCiAgICAgICAgICAgIGhlaWdodDogNS42MjVlbTsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlcixyZ2JhKDAsMCwwLC42KSAwLHJnYmEoMjU1LDI1NSwyNTUsMCkgNjAlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC5zaGFkb3ctLXRsIHsNCiAgICAgICAgICAgIHRvcDogLTEuMjVlbTsNCiAgICAgICAgICAgIGxlZnQ6IC0xLjI1ZW07DQogICAgICAgIH0NCg0KICAgICAgICAubWFydmVsLWRldmljZS5pcGhvbmUteCAuc2hhZG93LS10ciB7DQogICAgICAgICAgICB0b3A6IC0xLjI1ZW07DQogICAgICAgICAgICByaWdodDogLTEuMjVlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14IC5zaGFkb3ctLWJsIHsNCiAgICAgICAgICAgIGJvdHRvbTogLTEuMjVlbTsNCiAgICAgICAgICAgIGxlZnQ6IC0xLjI1ZW07DQogICAgICAgIH0NCg0KICAgICAgICAubWFydmVsLWRldmljZS5pcGhvbmUteCAuc2hhZG93LS1iciB7DQogICAgICAgICAgICBib3R0b206IC0xLjI1ZW07DQogICAgICAgICAgICByaWdodDogLTEuMjVlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5tYXJ2ZWwtZGV2aWNlLmlwaG9uZS14OmJlZm9yZSB7DQogICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gLjYyNWVtKTsNCiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gLjYyNWVtKTsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgIHRvcDogLjMxM2VtOw0KICAgICAgICAgICAgY29udGVudDogIiI7DQogICAgICAgICAgICBsZWZ0OiAuMzEzZW07DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzLjgxM2VtOw0KICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDsNCiAgICAgICAgICAgIHotaW5kZXg6IDE7DQogICAgICAgIH0NCg0KICAgICAgICAubWFydmVsLWRldmljZS5pcGhvbmUteCAuaW5uZXItc2hhZG93IHsNCiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1ZW0pOw0KICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1ZW0pOw0KICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgdG9wOiAuNjI1ZW07DQogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgICAgICAgICAgbGVmdDogLjYyNWVtOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMy41ZW07DQogICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgLjkzOGVtIDAgcmdiYSgyNTUsMjU1LDI1NSwuNjYpOw0KICAgICAgICAgICAgei1pbmRleDogMTsNCiAgICAgICAgfQ0KDQogICAgICAgICAgICAubWFydmVsLWRldmljZS5pcGhvbmUteCAuaW5uZXItc2hhZG93OmJlZm9yZSB7DQogICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEuMjVlbSAwICNmZmY7DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICAgICAgaGVpZ2h0OiAxMTYlOw0KICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgICAgICB0b3A6IC04JTsNCiAgICAgICAgICAgICAgICBjb250ZW50OiAiIjsNCiAgICAgICAgICAgICAgICBsZWZ0OiAwOw0KICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEyLjVlbS83ZW07DQogICAgICAgICAgICAgICAgei1pbmRleDogMjsNCiAgICAgICAgICAgIH0NCg0KICAgIC5tYXJ2ZWwtZGV2aWNlLm5vdGU4IHsNCiAgICAgICAgd2lkdGg6IDI1ZW07DQogICAgICAgIGhlaWdodDogNTEuMzc1ZW07DQogICAgICAgIGJhY2tncm91bmQ6ICMwMDA7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDIuMTI1ZW07DQogICAgICAgIHBhZGRpbmc6IDIuODEzZW0gLjYyNWVtOw0KICAgIH0NCg0KICAgICAgICAubWFydmVsLWRldmljZS5ub3RlOCAub3ZlcmZsb3cgew0KICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7DQogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgICAgICB0b3A6IDA7DQogICAgICAgICAgICBsZWZ0OiAwOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMi4xMjVlbTsNCiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgICAgIH0NCg0KICAgICAgICAubWFydmVsLWRldmljZS5ub3RlOCAuc3BlYWtlciB7DQogICAgICAgICAgICBoZWlnaHQ6IC41ZW07DQogICAgICAgICAgICB3aWR0aDogMy41ZW07DQogICAgICAgICAgICBsZWZ0OiA1MCU7DQogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgICAgICB0b3A6IDEuNTYzZW07DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNzVlbTsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxNzE4MTg7DQogICAgICAgICAgICB6LWluZGV4OiAxOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjVlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC5jYW1lcmEgew0KICAgICAgICAgICAgaGVpZ2h0OiAxLjEyNWVtOw0KICAgICAgICAgICAgd2lkdGg6IDEuMTI1ZW07DQogICAgICAgICAgICBsZWZ0OiA1LjM3NWVtOw0KICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgdG9wOiAxLjEyNWVtOw0KICAgICAgICAgICAgYmFja2dyb3VuZDogIzIxMmIzNjsNCiAgICAgICAgICAgIHotaW5kZXg6IDE7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICAgICAgICB9DQoNCiAgICAgICAgICAgIC5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC5jYW1lcmE6YmVmb3JlIHsNCiAgICAgICAgICAgICAgICBjb250ZW50OiAiIjsNCiAgICAgICAgICAgICAgICBoZWlnaHQ6IC41ZW07DQogICAgICAgICAgICAgICAgd2lkdGg6IC41ZW07DQogICAgICAgICAgICAgICAgbGVmdDogLTEuMzc1ZW07DQogICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgICAgIHRvcDogLjMxM2VtOw0KICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMTJiMzY7DQogICAgICAgICAgICAgICAgei1pbmRleDogMTsNCiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIC5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC5zbGVlcCB7DQogICAgICAgICAgICB3aWR0aDogLjEyNWVtOw0KICAgICAgICAgICAgaGVpZ2h0OiAzLjVlbTsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7DQogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgICAgICB0b3A6IDE4ZW07DQogICAgICAgICAgICByaWdodDogLS4xMjVlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC52b2x1bWUgew0KICAgICAgICAgICAgd2lkdGg6IC4xMjVlbTsNCiAgICAgICAgICAgIGhlaWdodDogNy41ZW07DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgdG9wOiAxMC41ZW07DQogICAgICAgICAgICBsZWZ0OiAtLjEyNWVtOw0KICAgICAgICB9DQoNCiAgICAgICAgICAgIC5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC52b2x1bWU6YmVmb3JlIHsNCiAgICAgICAgICAgICAgICBjb250ZW50OiAiIjsNCiAgICAgICAgICAgICAgICB0b3A6IDEwLjVlbTsNCiAgICAgICAgICAgICAgICB3aWR0aDogLjEyNWVtOw0KICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgICAgICBsZWZ0OiAwOw0KICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7DQogICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjVlbTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAubWFydmVsLWRldmljZS5ub3RlOCAuaW5uZXIgew0KICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIC41ZW0pOw0KICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgdG9wOiAuMTI1ZW07DQogICAgICAgICAgICBjb250ZW50OiAiIjsNCiAgICAgICAgICAgIGxlZnQ6IDA7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyLjEyNWVtOw0KICAgICAgICAgICAgYm9yZGVyLXRvcDogLjEyNWVtIHNvbGlkICM5ZmEwYTI7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAuMTI1ZW0gc29saWQgIzlmYTBhMjsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7DQogICAgICAgICAgICB6LWluZGV4OiAxOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIC4zNzVlbSAwIHJnYmEoMjU1LDI1NSwyNTUsLjUpOw0KICAgICAgICB9DQoNCiAgICAgICAgLm1hcnZlbC1kZXZpY2Uubm90ZTggLnNoYWRvdyB7DQogICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMy43NWVtIDAgI2ZmZixpbnNldCAwIDAgMS44NzVlbSAwIHJnYmEoMjU1LDI1NSwyNTUsLjUpLDAgMCAxLjI1ZW0gMCAjZmZmLDAgMCAxLjI1ZW0gMCByZ2JhKDI1NSwyNTUsMjU1LC41KTsNCiAgICAgICAgICAgIGhlaWdodDogMTAxJTsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgIHRvcDogLS41JTsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICIiOw0KICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVlbSk7DQogICAgICAgICAgICBsZWZ0OiAuNjI1ZW07DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyLjM3NWVtOw0KICAgICAgICAgICAgei1pbmRleDogNTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5tYXJ2ZWwtZGV2aWNlLm5vdGU4IC5zY3JlZW4gew0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjg3NWVtOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgICAgICAgfQ0KDQogICAgLm1hcnZlbC1kZXZpY2UudGFibGV0IHsNCiAgICAgICAgd2lkdGg6IDM2ZW07DQogICAgICAgIGhlaWdodDogNDhlbTsNCiAgICAgICAgcGFkZGluZzogMy42MjVlbSAxLjU2M2VtOw0KICAgICAgICBiYWNrZ3JvdW5kOiAjMjQyMzI0Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAxLjc1ZW07DQogICAgfQ0KDQogICAgICAgIC5tYXJ2ZWwtZGV2aWNlLnRhYmxldDpiZWZvcmUgew0KICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIC41ZW0pOw0KICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAuNWVtKTsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICIiOw0KICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICB0b3A6IC4yNWVtOw0KICAgICAgICAgICAgbGVmdDogLjI1ZW07DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyLjVlbTsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxZTFlMWU7DQogICAgICAgIH0NCg0KICAgICAgICAubWFydmVsLWRldmljZS50YWJsZXQgLmNhbWVyYSB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjM2MzZDNkOw0KICAgICAgICAgICAgd2lkdGg6IC42MjVlbTsNCiAgICAgICAgICAgIGhlaWdodDogLjYyNWVtOw0KICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgdG9wOiAxLjZlbTsNCiAgICAgICAgICAgIGxlZnQ6IDUwJTsNCiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtLjMxM2VtOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5tYXJ2ZWwtZGV2aWNlLnRhYmxldCAuaG9tZSB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjQyMzI0Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMi4yNWVtOw0KICAgICAgICAgICAgd2lkdGg6IDMuMTI1ZW07DQogICAgICAgICAgICBoZWlnaHQ6IDMuMTI1ZW07DQogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgICAgICBsZWZ0OiA1MCU7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNTYzZW07DQogICAgICAgICAgICBib3R0b206IDEuMzc1ZW07DQogICAgICAgIH0NCg0KICAgICAgICAgICAgLm1hcnZlbC1kZXZpY2UudGFibGV0IC5ob21lOmFmdGVyIHsNCiAgICAgICAgICAgICAgICB3aWR0aDogLjkzOGVtOw0KICAgICAgICAgICAgICAgIGhlaWdodDogLjkzOGVtOw0KICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0uNWVtOw0KICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtLjVlbTsNCiAgICAgICAgICAgICAgICBib3JkZXI6IC4wNjNlbSBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKTsNCiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAuMjVlbTsNCiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICAgICAgY29udGVudDogIiI7DQogICAgICAgICAgICAgICAgdG9wOiA1MCU7DQogICAgICAgICAgICAgICAgbGVmdDogNTAlOw0KICAgICAgICAgICAgfQ0KDQouZG90IHsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIG1hcmdpbjogYXV0byBhdXRvOw0KICAgIHdpZHRoOiAyJTsNCiAgICBoZWlnaHQ6IDIlOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCg0KLmNlbnRyYWxkb3Qgew0KICAgIHdpZHRoOiA0cHg7DQogICAgaGVpZ2h0OiA0cHg7DQogICAgdG9wOiBjYWxjKDUwJSAtIDJweCk7DQogICAgbGVmdDogY2FsYyg1MCUgLSAycHgpOw0KICAgIGJhY2tncm91bmQ6ICNjMDA7DQogICAgYm9yZGVyLXJhZGl1czogMzBweDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGlvbkRvdENlbnRyYWwgbGluZWFyIDEuNXM7DQogICAgYW5pbWF0aW9uOiBhbmltYXRpb25Eb3RDZW50cmFsIGxpbmVhciAxLjVzOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7DQogICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsNCiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KfQ0KDQoud2F2ZSB7DQogICAgd2lkdGg6IDI2cHg7DQogICAgaGVpZ2h0OiAyNnB4Ow0KICAgIHRvcDogY2FsYyg1MCUgLSAxM3B4KTsNCiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEzcHgpOw0KICAgIGJhY2tncm91bmQ6ICNjMDA7DQogICAgYm9yZGVyLXJhZGl1czogMjBweDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0aW9uV2F2ZSBjdWJpYy1iZXppZXIoMCwuNTQsLjUzLDEpIDEuNXM7DQogICAgYW5pbWF0aW9uOiBhbmltYXRpb25XYXZlIGN1YmljLWJlemllcigwLC41NCwuNTMsMSkgMS41czsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7DQogICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7DQogICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC4yNXM7DQogICAgYW5pbWF0aW9uLWRlbGF5OiAuMjVzOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQp9DQoNCi53YXZlMiB7DQogICAgd2lkdGg6IDI2cHg7DQogICAgaGVpZ2h0OiAyNnB4Ow0KICAgIHRvcDogY2FsYyg1MCUgLSAxM3B4KTsNCiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEzcHgpOw0KICAgIGJhY2tncm91bmQ6ICNjMDA7DQogICAgYm9yZGVyLXJhZGl1czogMjBweDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0aW9uV2F2ZSBjdWJpYy1iZXppZXIoMCwuNTQsLjUzLDEpIDEuNXM7DQogICAgYW5pbWF0aW9uOiBhbmltYXRpb25XYXZlIGN1YmljLWJlemllcigwLC41NCwuNTMsMSkgMS41czsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7DQogICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7DQogICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC41czsNCiAgICBhbmltYXRpb24tZGVsYXk6IC41czsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0aW9uRG90Q2VudHJhbCB7DQogICAgMCUgew0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOw0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgIH0NCg0KICAgIDUlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKTsNCiAgICB9DQoNCiAgICAxMCUgew0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45KTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICB9DQoNCiAgICAxMSUgew0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7DQogICAgfQ0KDQogICAgMTIlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgICB9DQoNCiAgICAyOCUgew0KICAgICAgICBiYWNrZ3JvdW5kOiAjYzAwOw0KICAgIH0NCg0KICAgIDI5JSB7DQogICAgICAgIGJhY2tncm91bmQ6ICNjMDA7DQogICAgfQ0KDQogICAgMzElIHsNCiAgICAgICAgYmFja2dyb3VuZDogI2MwMDsNCiAgICB9DQoNCiAgICAzMyUgew0KICAgICAgICBiYWNrZ3JvdW5kOiAjYzAwOw0KICAgIH0NCg0KICAgIDM1JSB7DQogICAgICAgIGJhY2tncm91bmQ6ICNjMDA7DQogICAgfQ0KDQogICAgOTAlIHsNCiAgICAgICAgb3BhY2l0eTogLjg7DQogICAgfQ0KDQogICAgMTAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGFuaW1hdGlvbkRvdENlbnRyYWwgew0KICAgIDAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQoNCiAgICA1JSB7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7DQogICAgfQ0KDQogICAgMTAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOSk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KDQogICAgMTElIHsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOw0KICAgIH0NCg0KICAgIDEyJSB7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogICAgfQ0KDQogICAgMjglIHsNCiAgICAgICAgYmFja2dyb3VuZDogI2MwMDsNCiAgICB9DQoNCiAgICAyOSUgew0KICAgICAgICBiYWNrZ3JvdW5kOiAjYzAwOw0KICAgIH0NCg0KICAgIDMxJSB7DQogICAgICAgIGJhY2tncm91bmQ6ICNjMDA7DQogICAgfQ0KDQogICAgMzMlIHsNCiAgICAgICAgYmFja2dyb3VuZDogI2MwMDsNCiAgICB9DQoNCiAgICAzNSUgew0KICAgICAgICBiYWNrZ3JvdW5kOiAjYzAwOw0KICAgIH0NCg0KICAgIDkwJSB7DQogICAgICAgIG9wYWNpdHk6IC44Ow0KICAgIH0NCg0KICAgIDEwMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgIH0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbldhdmUgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsNCiAgICB9DQoNCiAgICAxJSB7DQogICAgICAgIG9wYWNpdHk6IC44Ow0KICAgIH0NCg0KICAgIDEwJSB7DQogICAgICAgIGJhY2tncm91bmQ6ICNjMDA7DQogICAgfQ0KDQogICAgMTAwJSB7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogICAgICAgIGJhY2tncm91bmQ6ICNjMDA7DQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGFuaW1hdGlvbldhdmUgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsNCiAgICB9DQoNCiAgICAxJSB7DQogICAgICAgIG9wYWNpdHk6IC44Ow0KICAgIH0NCg0KICAgIDEwJSB7DQogICAgICAgIGJhY2tncm91bmQ6ICNjMDA7DQogICAgfQ0KDQogICAgMTAwJSB7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogICAgICAgIGJhY2tncm91bmQ6ICNjMDA7DQogICAgfQ0KfQ0KDQouZmxhZy1pY29uIHsNCiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQp9DQoNCi5mbGFnLWljb24gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDEuMzMzMzMzMzMzM2VtOw0KICAgIGxpbmUtaGVpZ2h0OiAxZW07DQp9DQoNCiAgICAuZmxhZy1pY29uOmJlZm9yZSB7DQogICAgICAgIGNvbnRlbnQ6ICLCoCI7DQogICAgfQ0KDQo6cm9vdCB7DQogICAgLS1zd2lwZXItdGhlbWUtY29sb3I6IzAwN2FmZjsNCn0NCg0KLnN3aXBlciB7DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgcGFkZGluZzogMDsNCiAgICB6LWluZGV4OiAxOw0KfQ0KDQouc3dpcGVyLXdyYXBwZXIgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgei1pbmRleDogMTsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Ow0KfQ0KDQouc3dpcGVyLXdyYXBwZXIgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApOw0KfQ0KDQouc3dpcGVyLXNsaWRlIHsNCiAgICBmbGV4LXNocmluazogMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQo6cm9vdCB7DQogICAgLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHg7DQp9DQoNCi5zd2lwZXItcGFnaW5hdGlvbiB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsNCiAgICB6LWluZGV4OiAxMDsNCn0NCg0KOjotbW96LXBsYWNlaG9sZGVyIHsNCiAgICBmb250LXNpemU6IC44NzVyZW07DQp9DQoNCjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgew0KICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsNCn0NCg0KOjpwbGFjZWhvbGRlciB7DQogICAgZm9udC1zaXplOiAuODc1cmVtOw0KfQ0KDQpib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluIC5kcm9wZG93bi1tZW51LWZ1bGwgew0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogLjVyZW07DQp9DQoNCmJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgew0KICAgIHBhZGRpbmc6IC41cmVtIDAgLjg1cmVtIDA7DQp9DQoNCiAgICBib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7DQogICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsNCiAgICB9DQoNCiAgICBib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtbGluayAuaWNvbi10b2dnbGUgew0KICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgICAgd2lkdGg6IC43NXJlbTsNCiAgICAgICAgaGVpZ2h0OiAuNzVyZW07DQogICAgfQ0KDQogICAgICAgIGJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1saW5rIC5pY29uLXRvZ2dsZSBzcGFuIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTMxOTI7DQogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5LmRlZmF1bHQgLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5uYXYtbGluayAuaWNvbi10b2dnbGUuaWNvbi10b2dnbGUtcGx1cy1taW51cyBzcGFuIHsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTsNCiAgICAgICAgICAgIHRvcDogNTAlOw0KICAgICAgICAgICAgaGVpZ2h0OiAycHg7DQogICAgICAgICAgICB3aWR0aDogODAlOw0KICAgICAgICB9DQoNCiAgICAgICAgICAgIGJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1saW5rIC5pY29uLXRvZ2dsZS5pY29uLXRvZ2dsZS1wbHVzLW1pbnVzIHNwYW46bnRoLWNoaWxkKDIpIHsNCiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgICAgICAgICB9DQoNCkBtZWRpYSAobWF4LXdpZHRoOjc2Ny45OHB4KSB7DQogICAgYm9keS5kZWZhdWx0IC5uYXZiYXItbWFpbiB7DQogICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoOw0KICAgICAgICBvdmVyZmxvdy15OiBhdXRvOw0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KSB7DQogICAgYm9keS5kZWZhdWx0IC5uYXZiYXItbWFpbiB7DQogICAgICAgIHBhZGRpbmc6IDA7DQogICAgfQ0KDQogICAgICAgIGJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLmRyb3Bkb3duLW1lbnUtZnVsbCB7DQogICAgICAgICAgICBib3JkZXItdG9wOiAwOw0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogLjM1cmVtIHNvbGlkICMyZTMxOTI7DQogICAgICAgICAgICBtYXJnaW4tdG9wOiAwOw0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07DQogICAgICAgICAgICBtYXgtd2lkdGg6IDExMTBweDsNCiAgICAgICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keS5kZWZhdWx0IC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiB7DQogICAgICAgICAgICBwYWRkaW5nOiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgICAgIGJvZHkuZGVmYXVsdCAubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLm5hdi1pdGVtIHsNCiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAuMnJlbSBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAuMnJlbSBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IC44NzVyZW07DQogICAgICAgICAgICAgICAgcGFkZGluZzogMS43NXJlbSAwOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgYm9keS5kZWZhdWx0IC5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiAubmF2LWl0ZW0gLmljb24tdG9nZ2xlIHsNCiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgYm9keS5kZWZhdWx0IC5uYXZiYXItbWFpbiAuYnV0dG9uLWdyb3VwIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEuNzVyZW0gMDsNCiAgICAgICAgfQ0KfQ0KDQoubmF2YmFyLXRvZ2dsZXIgew0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5uYXZiYXItdG9nZ2xlciB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHdpZHRoOiAzLjVyZW07DQogICAgaGVpZ2h0OiAzcmVtOw0KICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTsNCiAgICBmb250LXNpemU6IDEuMjVyZW07DQogICAgbGluZS1oZWlnaHQ6IDJyZW07DQogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtOw0KfQ0KDQogICAgLm5hdmJhci10b2dnbGVyIHNwYW4gew0KICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICBoZWlnaHQ6IDNweDsNCiAgICAgICAgd2lkdGg6IDUwJTsNCiAgICAgICAgYmFja2dyb3VuZDogIzMwMzAzMDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogLjI1cmVtOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICBsZWZ0OiAyNSU7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIH0NCg0KICAgICAgICAubmF2YmFyLXRvZ2dsZXIgc3BhbjpudGgtY2hpbGQoMSkgew0KICAgICAgICAgICAgdG9wOiAzMyU7DQogICAgICAgIH0NCg0KICAgICAgICAubmF2YmFyLXRvZ2dsZXIgc3BhbjpudGgtY2hpbGQoMiksIC5uYXZiYXItdG9nZ2xlciBzcGFuOm50aC1jaGlsZCgzKSB7DQogICAgICAgICAgICB0b3A6IDUwJTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5uYXZiYXItdG9nZ2xlciBzcGFuOm50aC1jaGlsZCg0KSB7DQogICAgICAgICAgICB0b3A6IDY3JTsNCiAgICAgICAgfQ0KDQouc3RpY2t5LXN1cHBvcnQtc2lkZWJhciB7DQogICAgdG9wOiA0LjA1cmVtOw0KICAgIHJpZ2h0OiAzLjVyZW07DQp9DQoNCiAgICAuc3RpY2t5LXN1cHBvcnQtc2lkZWJhciAuc3VwcG9ydCB7DQogICAgICAgIHRvcDogMTkuOHJlbTsNCiAgICAgICAgaGVpZ2h0OiAzLjVyZW07DQogICAgICAgIG1pbi13aWR0aDogMy41cmVtOw0KICAgIH0NCg0KLmZhYiwgLmZhbCwgLmZhciwgLmZhcyB7DQogICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtdmFyaWFudDogbm9ybWFsOw0KICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvOw0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KfQ0KDQouZmEtZncgew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aWR0aDogMS4yNWVtOw0KfQ0KDQouZmEtYW5nbGUtZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEwNyI7DQp9DQoNCi5mYS1hbmdsZS1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEwNSI7DQp9DQoNCi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDc3IjsNCn0NCg0KLmZhLWNpcmNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjExMSI7DQp9DQoNCi5mYS1oZWFkc2V0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTkwIjsNCn0NCg0KLmZhLWxvY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMjMiOw0KfQ0KDQouZmEtc2VhcmNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDAyIjsNCn0NCg0KLmZhLXZrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTg5IjsNCn0NCg0KLmZhYiB7DQogICAgZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBCcmFuZHMiOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQp9DQoNCi5mYWwgew0KICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQp9DQoNCi5mYWwsIC5mYXIgew0KICAgIGZvbnQtZmFtaWx5OiAiRm9udCBBd2Vzb21lIDUgUHJvIjsNCn0NCg0KLmZhciB7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCn0NCg0KLmZhcyB7DQogICAgZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBQcm8iOw0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQp9DQo="}},"time_used":5486,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5486,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ifxbrokertrades.co.za/logo.png","fqdn":"ifxbrokertrades.co.za","domain":"ifxbrokertrades.co.za","tld":"co.za"},"ip":{"addr":"208.98.35.144","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:25.233Z","timestamp":1785137065233,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ifxbrokertrades.co.za","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 29 May 2026 16:28:45 GMT","end":"Thu, 27 Aug 2026 16:28:44 GMT"},"fingerprint":{"sha1":"C6:DF:E6:A9:02:EB:13:96:18:B5:13:2B:AD:47:00:17:A8:15:A4:59","sha256":"3F:DA:76:E8:0C:F9:7C:76:AB:C8:10:6A:C7:B2:C1:21:73:28:3D:45:B9:24:16:2F:C0:DF:45:A0:FA:37:B0:88"}}},"request":{"raw":"GET /logo.png HTTP/1.1\r\nHost: ifxbrokertrades.co.za\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-length: 12241\r\ncontent-type: image/png\r\nlast-modified: Sat, 20 Jul 2024 21:44:14 GMT\r\naccept-ranges: bytes\r\netag: \"1dadaedf69664d1\"\r\nserver: Kestrel\r\nstrict-transport-security: max-age=2592000\r\nx-powered-by: ASP.NET\r\ndate: Mon, 27 Jul 2026 07:24:24 GMT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Microsoft ASP.NET","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"Kestrel","description":"","website":"https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel","common_platform_enumeration":"","icon":"kestrel.svg","categories":["Web servers"]},{"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":12241,"size_decoded":12538,"mime_type":"image/png","magic":"PNG image data, 460 x 99, 8-bit/color RGBA, non-interlaced","md5":"9e181e3fc8c7eb12dc9a8d3c9f2d6244","sha1":"33ee15f97b4849823c360e37917cba94d87f41a8","sha256":"ade37b68544ef2948a48546f29f041c2658c5a1f432759a9ae360cc151d82b5e","sha512":"5291648c56042455da9fb223acac51cdb6b5f088f99ea74b0728a61a456f4b359955ad8feae21872981c6f7714379b3fae618cd382cce3e9afce0c585e42329f","ssdeep":"192:YSfkn4+8W4lGJOLHnyfkpLdvLvk7J+hIAn51+RWJBDxdRbLscJNqeTtiPzzZw7BO:fMn4+X4l1LHyfM0+SAn5QYJBRvlx4Pzd","tlshash":"49427d8dbca69a084a4cba95d8fcd0a6c3ff1dc54d60946eefd9d9528d100cd8cc69cb","first_seen":"2026-07-27T05:02:02.466542Z","last_seen":"2026-07-27T07:25:28.835137Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAcwAAABjCAYAAAAW5jAJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAOHGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIyLTAzLTE5VDE1OjAwOjE1LTA3OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNC0wNy0yMFQxNDo0NDoxNC0wNzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNC0wNy0yMFQxNDo0NDoxNC0wNzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOGE1MzIxMS0zNDg5LWE4NGItYmQyNi1jZjRkYjkzMmI4YWYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTk1MGZiYjYtZWQxZC03OTQxLWI1ZDYtYTAxM2MxZGM5MzdlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MTk1MGZiYjYtZWQxZC03OTQxLWI1ZDYtYTAxM2MxZGM5MzdlIj4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDQxQUZEMUI3OTAxQTFBM0UyNzkwMDVGOTMxRThENzY8L3JkZjpsaT4gPHJkZjpsaT4yNzI5MkZFRTFDRkM2MTUxMjZDMzNBMjg4NTA3RTI0NzwvcmRmOmxpPiA8cmRmOmxpPjQ5NTdFMTdEQUQ5REM0QjgzNDY1MTY5N0E3NjhCMUUwPC9yZGY6bGk+IDxyZGY6bGk+NEM4OURBMjFEOUEyNDZDQTcyNTRBODExNjZFQjUyRjQ8L3JkZjpsaT4gPHJkZjpsaT44MzZCQkEzRjEyRkFCRjdGODlENTMzNTEzNjVGRDNBQzwvcmRmOmxpPiA8cmRmOmxpPjhBNTdDNEY2ODM1OEI1NzYwNTcxNzk3QTlCMjlDQjFBPC9yZGY6bGk+IDxyZGY6bGk+OTMzM0NCQzI1RUNDQTE5NjgzRUNGM0QxMjI4ODA2OEQ8L3JkZjpsaT4gPHJkZjpsaT45RDc1MDI2QTE3OUUxRDI3RUVCODU1RkExRkY4QjgzMjwvcmRmOmxpPiA8cmRmOmxpPjlFMTk3OEQ0NEE2RTZFQTdGRTdFODlEQTkyOTc2MDZBPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjRmYWM0MzYwLTJkMjgtYjg0MS1hYmI3LTkwYTk3ZDM1OTc3ODwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOjM0ODI1YmU0LTVkNzQtNGQ3ZC04ZTQ4LWFiMWI1ODg4ZjM1ODwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOjVmZTg0YzMyLTNhMmItNDljYi04ZDYwLWIyYzAyN2E2NDBlNDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmMxNzFiYzUxLTcxMzQtNGUwNS1iYWEwLWQyZTQ0ZWUwNDAxMDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmU2NTU3N2JlLTQwZDktNGEyOC1hZmJlLTVjOGIxYTgxYTBiOTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnN0b2NrOmZlMDhkNzYxLWQ1ZjUtNDRlZS04OTU1LWI5Y2YwNTcxMjZkOTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MGE4NzA2NDAtZmM1My00YzQ5LWI5NGItZjZmYjhmN2FiYzAzPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxOTUwZmJiNi1lZDFkLTc5NDEtYjVkNi1hMDEzYzFkYzkzN2U8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjJiOTg3ZGMwLWZiODEtNmE0Zi1iZDllLTBlZTc2MjEyMDY0ZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MzE2YzFiOWMtZmRlNi1mODQ1LTk5NTItNTRhMWM1MDhmNGRkPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0NTc3NDNlNi1jZDE1LWIyNDAtYTdkNC03NTRkZjIwMDg0MTE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjRFNTU1MDcxMUIyMDY4MTE5NkZBQUM5QzkxRTRFMjJDPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo1Mjg3YjljZC0xOWQyLWY2NDktOTA2Yi00YjcxOWFiNTdhN2M8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjZjZTNjZTEzLWI4MzAtZmI0MS1iOTgzLWIwZjFhM2VlMDQ2NDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6OWQ5NWQ0NDktMWE3YS1mYTQ0LTg4YzEtOGY3YmU3NGRmM2ZjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDphMDZiMTYwNC02MzM1LWNmNDYtOWJlZi0zYTBhZjZlZTNjNDY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmIwODFjN2ViLTA4ODgtYzM0Yi05OTg4LWQ5YmNhMmUzNmIxYTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZGFiY2NjOWEtZjU3OS0wMDQzLTgzOTAtZGYyM2U1MmI0ZmY1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplNjFjZTlkOS05MTQxLTJmNGQtYjg2YS0yMzA1YTBlZjFhODk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmVlYmJhMTg5LWJkMjAtZjM0My05ZDY0LTNjZmE0OTQwYzdiNTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZmQ5NWNiOGEtYjY3YS05YTRjLTk1MzYtYzQ2ZDBmMTdlOWQ1PC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MTk1MGZiYjYtZWQxZC03OTQxLWI1ZDYtYTAxM2MxZGM5MzdlIiBzdEV2dDp3aGVuPSIyMDIyLTAzLTE5VDE1OjAwOjE1LTA3OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjE3ZTkxYjBhLTRiOWYtMWQ0NS04ODU3LTkyNGE1MzZhZDgzMiIgc3RFdnQ6d2hlbj0iMjAyMi0wMy0yNVQyMTozNi0wNzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxOGE1MzIxMS0zNDg5LWE4NGItYmQyNi1jZjRkYjkzMmI4YWYiIHN0RXZ0OndoZW49IjIwMjQtMDctMjBUMTQ6NDQ6MTQtMDc6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1w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"}},"time_used":5480,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5480,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/youtube/img/icons/mweb/youtube_fill/logo/v2/67px.svg","fqdn":"www.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":"fetch","requested_by":"https://www.youtube.com/embed/tp6uF-bPG6E?si=WcnF9hYpvygImnow","date":"2026-07-27T07:24:26.646Z","timestamp":1785137066646,"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":"*.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 /youtube/img/icons/mweb/youtube_fill/logo/v2/67px.svg HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.youtube.com/\r\nOrigin: https://www.youtube.com\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=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\naccess-control-allow-origin: https://www.youtube.com\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 272\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 20 Jul 2026 10:01:47 GMT\r\nexpires: Tue, 20 Jul 2027 10:01:47 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 06 Sep 2023 03:18:00 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding, Origin\r\nage: 595359\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":null,"data":{"size":478,"size_decoded":1017,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"1e78ea4caa31c35bac97a41e5930ffe8","sha1":"dbf99131b9b5087e664b9fdc7097c97655474517","sha256":"6fa88a20839537ae66da730e5bd183035265176d972bc8df075b89da0c6186ea","sha512":"cf798ef67c90f90f23635beb202095a2c76052d491c224aa14535bb9b16f28fa9a850b8db887f158afd01d634aecb9e2b05a27efdfd225d3583e6297bdd78b43","ssdeep":"","tlshash":"2ef09e6d577829d8930f87c0be5974127d9f23e85194b3b541d4f9326138ee2d141cd9","first_seen":"2025-05-26T15:52:21.952281Z","last_seen":"2026-08-19T17:30:26.289233Z","times_seen":50219,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NyA2MCIgZmlsbD0iIj48cGF0aCBkPSJNNjMgMTQuODdhNy44ODUgNy44ODUgMCAwMC01LjU2LTUuNTZDNTIuNTQgOCAzMi44OCA4IDMyLjg4IDhTMTMuMjMgOCA4LjMyIDkuMzFjLTIuNy43Mi00LjgzIDIuODUtNS41NiA1LjU2QzEuNDUgMTkuNzcgMS40NSAzMCAxLjQ1IDMwczAgMTAuMjMgMS4zMSAxNS4xM2MuNzIgMi43IDIuODUgNC44MyA1LjU2IDUuNTZDMTMuMjMgNTIgMzIuODggNTIgMzIuODggNTJzMTkuNjYgMCAyNC41Ni0xLjMxYzIuNy0uNzIgNC44My0yLjg1IDUuNTYtNS41NkM2NC4zMSA0MC4yMyA2NC4zMSAzMCA2NC4zMSAzMHMwLTEwLjIzLTEuMzEtMTUuMTN6Ij48L3BhdGg+PHBhdGggZmlsbD0iI0ZGRiIgY2xhc3M9ImxvZ28tYXJyb3ciIGQ9Ik0yNi42IDM5LjQzTDQyLjkzIDMwIDI2LjYgMjAuNTd6Ij48L3BhdGg+PC9zdmc+Cg=="}},"time_used":64,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":17,"receive":0,"ssl":29},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget.curacom.io/assets/widget-index.css","fqdn":"widget.curacom.io","domain":"curacom.io","tld":"io"},"ip":{"addr":"172.67.178.129","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://ifxbrokertrades.co.za/","date":"2026-07-27T07:24:30.813Z","timestamp":1785137070813,"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":"curacom.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 02:32:51 GMT","end":"Sun, 27 Sep 2026 03:32:49 GMT"},"fingerprint":{"sha1":"6B:35:E0:A7:E7:8B:11:A2:C4:B4:5D:B7:E7:86:02:F7:B9:F2:49:10","sha256":"7B:EC:1F:D7:F2:46:AD:9D:9B:0B:24:A7:79:15:63:2F:20:B7:E4:A4:91:75:37:4E:AB:15:49:7E:C6:D1:21:8B"}}},"request":{"raw":"GET /assets/widget-index.css HTTP/1.1\r\nHost: widget.curacom.io\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://ifxbrokertrades.co.za/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-headers: Content-Type\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-allow-origin: *\r\nage: 0\r\ncache-control: public, max-age=14400, must-revalidate\r\ncache-status: \"Netlify Edge\"; fwd=miss\r\ncontent-encoding: br\r\ncontent-type: text/css\r\ndate: Mon, 27 Jul 2026 07:24:31 GMT\r\netag: \"0022345551eb652e5950c476f159d728-ssl-df\"\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000\r\nvary: Accept-Encoding\r\nx-nf-request-id: 01KYH7C0Y9P8SR64NMJ5AF77P5\r\npriority: u=2,i=?0\r\ncf-cache-status: EXPIRED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=aw2qNI2z35Z%2FcVkPX4KUZsPUwAm4jrIEMpHSniHLQeqrOsnrvY5Bhbh7TtB%2BvBEM7RyfZUhisTuntEmb5d783JHgEUQBNftVu%2BYTMQVn2PnER184CxzvJFcS5YPr23cD7R0dRg%3D%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a219e7a4990d56a3-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Netlify","description":"Netlify providers hosting and server-less backend services for web applications and static websites.","website":"https://www.netlify.com/","common_platform_enumeration":"","icon":"Netlify.svg","categories":["PaaS","CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":38996,"size_decoded":7264,"mime_type":"text/css","magic":"ASCII text, with very long lines (38995)","md5":"38a520a028a91abb560b8f7c4f3c26f6","sha1":"7c692b2aaba68afc1e285cff577d457bc1070332","sha256":"2a08f06a0633667003e15a30e7223cecc5874e8bab557b4c6e3aff3ceb798c7c","sha512":"a9a12888773350b6163a9810d06d5f86303d1e1715904713ddaec02d2731bac960f756ac3225bbbb1f181bf02a43f0bfd59e5922c8e0529a4c96bea99b0befbd","ssdeep":"768:mAS4sAB6f320hDH6R3lsJ3g6/UAjDcVQfYUyTV4AYtUrSxDkUTDXb:mASXAK320hmR3lsJ3g6/UAfuvUi4UC3r","tlshash":"7d0332b6f3d4c6269d2398b9b768b63d4aee3584bb540fadfa49733147c21e31520318","first_seen":"2026-07-27T05:02:02.4824Z","last_seen":"2026-07-27T07:25:28.86734Z","times_seen":3,"resource_available":false,"data":"QGxheWVyIHByb3BlcnRpZXN7QHN1cHBvcnRzICgoKC13ZWJraXQtaHlwaGVuczpub25lKSkgYW5kIChub3QgKG1hcmdpbi10cmltOmlubGluZSkpKSBvciAoKC1tb3otb3JpZW50OmlubGluZSkgYW5kIChub3QgKGNvbG9yOnJnYihmcm9tIHJlZCByIGcgYikpKSl7Kiw6YmVmb3JlLDphZnRlciw6OmJhY2tkcm9wey0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy10cmFuc2xhdGUtejowOy0tdHctYm9yZGVyLXN0eWxlOnNvbGlkOy0tdHctZm9udC13ZWlnaHQ6aW5pdGlhbDstLXR3LXRyYWNraW5nOmluaXRpYWw7LS10dy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LWluc2V0LXNoYWRvdzowIDAgIzAwMDA7LS10dy1pbnNldC1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LWluc2V0LXNoYWRvdy1hbHBoYToxMDAlOy0tdHctcmluZy1jb2xvcjppbml0aWFsOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctaW5zZXQtcmluZy1jb2xvcjppbml0aWFsOy0tdHctaW5zZXQtcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1pbnNldDppbml0aWFsOy0tdHctcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdHctcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzowIDAgIzAwMDA7LS10dy1vdXRsaW5lLXN0eWxlOnNvbGlkOy0tdHctYmx1cjppbml0aWFsOy0tdHctYnJpZ2h0bmVzczppbml0aWFsOy0tdHctY29udHJhc3Q6aW5pdGlhbDstLXR3LWdyYXlzY2FsZTppbml0aWFsOy0tdHctaHVlLXJvdGF0ZTppbml0aWFsOy0tdHctaW52ZXJ0OmluaXRpYWw7LS10dy1vcGFjaXR5OmluaXRpYWw7LS10dy1zYXR1cmF0ZTppbml0aWFsOy0tdHctc2VwaWE6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93OmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctZHJvcC1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LWRyb3Atc2hhZG93LXNpemU6aW5pdGlhbDstLXR3LWR1cmF0aW9uOmluaXRpYWw7LS10dy1lYXNlOmluaXRpYWx9fX1AbGF5ZXIgdGhlbWV7OnJvb3QsOmhvc3R7LS1jdXJhLWZvbnQtc2Fuczp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7LS1jdXJhLWZvbnQtbW9ubzp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlOy0tY3VyYS1jb2xvci1yZWQtNTA6b2tsY2goOTcuMSUgLjAxMyAxNy4zOCk7LS1jdXJhLWNvbG9yLXJlZC0xMDA6b2tsY2goOTMuNiUgLjAzMiAxNy43MTcpOy0tY3VyYS1jb2xvci1yZWQtMjAwOm9rbGNoKDg4LjUlIC4wNjIgMTguMzM0KTstLWN1cmEtY29sb3ItcmVkLTMwMDpva2xjaCg4MC44JSAuMTE0IDE5LjU3MSk7LS1jdXJhLWNvbG9yLXJlZC00MDA6b2tsY2goNzAuNCUgLjE5MSAyMi4yMTYpOy0tY3VyYS1jb2xvci1yZWQtNTAwOm9rbGNoKDYzLjclIC4yMzcgMjUuMzMxKTstLWN1cmEtY29sb3ItcmVkLTYwMDpva2xjaCg1Ny43JSAuMjQ1IDI3LjMyNSk7LS1jdXJhLWNvbG9yLXJlZC03MDA6b2tsY2goNTAuNSUgLjIxMyAyNy41MTgpOy0tY3VyYS1jb2xvci1ncmF5LTIwMDpva2xjaCg5Mi44JSAuMDA2IDI2NC41MzEpOy0tY3VyYS1jb2xvci1ncmF5LTQwMDpva2xjaCg3MC43JSAuMDIyIDI2MS4zMjUpOy0tY3VyYS1jb2xvci1ibGFjazojMDAwOy0tY3VyYS1jb2xvci13aGl0ZTojZmZmOy0tY3VyYS1zcGFjaW5nOi4yNXJlbTstLWN1cmEtdGV4dC14czouNzVyZW07LS1jdXJhLXRleHQteHMtLWxpbmUtaGVpZ2h0OmNhbGMoMS8uNzUpOy0tY3VyYS10ZXh0LXNtOi44NzVyZW07LS1jdXJhLXRleHQtc20tLWxpbmUtaGVpZ2h0OmNhbGMoMS4yNS8uODc1KTstLWN1cmEtdGV4dC1iYXNlOjFyZW07LS1jdXJhLXRleHQtYmFzZS0tbGluZS1oZWlnaHQ6IDEuNSA7LS1jdXJhLWZvbnQtd2VpZ2h0LW1lZGl1bTo1MDA7LS1jdXJhLWZvbnQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLWN1cmEtdHJhY2tpbmctdGlnaHQ6LS4wMjVlbTstLWN1cmEtcmFkaXVzLW1kOi4zNzVyZW07LS1jdXJhLXJhZGl1cy1sZzouNXJlbTstLWN1cmEtZWFzZS1pbi1vdXQ6Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LS1jdXJhLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzOy0tY3VyYS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tY3VyYS1kZWZhdWx0LWZvbnQtZmFtaWx5OnZhcigtLWN1cmEtZm9udC1zYW5zKTstLWN1cmEtZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5OnZhcigtLWN1cmEtZm9udC1tb25vKTstLWN1cmEtZm9udC1ib2R5OiJTZiBQcm8gRGlzcGxheSI7LS1jdXJhLWNvbG9yLWJvZHktMTA6I2FhYTstLWN1cmEtY29sb3ItYm9keS0xNTpncmF5Oy0tY3VyYS1jb2xvci1ib2R5LWJsYWNrOiMwMDAwMDE7LS1jdXJhLWNvbG9yLXByaW1hcnktMTAwOiNkNWQ1ZmQ7LS1jdXJhLWNvbG9yLXByaW1hcnktMjAwOiNhZGFkZmI7LS1jdXJhLWNvbG9yLXByaW1hcnktMzAwOiM4MDgwZjk7LS1jdXJhLWNvbG9yLXByaW1hcnktNTAwOiMxMDEwZTg7LS1jdXJhLWNvbG9yLXByaW1hcnktNjAwOiMwZDBkYmE7LS1jdXJhLWNvbG9yLXByaW1hcnktNzAwOiMwYTBhOGM7LS1jdXJhLWNvbG9yLXNlY29uZGFyeTojMTAxMGU4fX1AbGF5ZXIgYmFzZXsqLDphZnRlciw6YmVmb3JlLDo6YmFja2Ryb3B7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbW96LXRhYi1zaXplOjQ7dGFiLXNpemU6NDtsaW5lLWhlaWdodDoxLjU7Zm9udC1mYW1pbHk6dmFyKC0tY3VyYS1kZWZhdWx0LWZvbnQtZmFtaWx5LHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiLCJTZWdvZSBVSSBTeW1ib2wiLCJOb3RvIENvbG9yIEVtb2ppIik7Zm9udC1mZWF0dXJlLXNldHRpbmdzOnZhcigtLWN1cmEtZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1jdXJhLWRlZmF1bHQtZm9udC12YXJpYXRpb24tc2V0dGluZ3Msbm9ybWFsKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mYW1pbHk6dmFyKC0tY3VyYS1kZWZhdWx0LW1vbm8tZm9udC1mYW1pbHksdWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcywiTGliZXJhdGlvbiBNb25vIiwiQ291cmllciBOZXciLG1vbm9zcGFjZSk7Zm9udC1mZWF0dXJlLXNldHRpbmdzOnZhcigtLWN1cmEtZGVmYXVsdC1tb25vLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOnZhcigtLWN1cmEtZGVmYXVsdC1tb25vLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7Zm9udC1zaXplOjFlbX1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19dGFibGV7dGV4dC1pbmRlbnQ6MDtib3JkZXItY29sb3I6aW5oZXJpdDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9Oi1tb3otZm9jdXNyaW5ne291dGxpbmU6YXV0b31wcm9ncmVzc3t2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfW9sLHVsLG1lbnV7bGlzdC1zdHlsZTpub25lfWltZyxzdmcsdmlkZW8sY2FudmFzLGF1ZGlvLGlmcmFtZSxlbWJlZCxvYmplY3R7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6YmxvY2t9aW1nLHZpZGVve21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfWJ1dHRvbixpbnB1dCxzZWxlY3Qsb3B0Z3JvdXAsdGV4dGFyZWF7Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2ZvbnQ6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtvcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojMDAwMDtib3JkZXItcmFkaXVzOjB9OndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OmJvbGRlcn06d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXAgb3B0aW9ue3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnttYXJnaW4taW5saW5lLWVuZDo0cHh9OjpwbGFjZWhvbGRlcntvcGFjaXR5OjF9QHN1cHBvcnRzIChub3QgKCgtd2Via2l0LWFwcGVhcmFuY2U6LWFwcGxlLXBheS1idXR0b24pKSkgb3IgKGNvbnRhaW4taW50cmluc2ljLXNpemU6MXB4KXs6OnBsYWNlaG9sZGVye2NvbG9yOmN1cnJlbnRDb2xvcn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIscmVkLHJlZCkpezo6cGxhY2Vob2xkZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLGN1cnJlbnRjb2xvciA1MCUsdHJhbnNwYXJlbnQpfX19dGV4dGFyZWF7cmVzaXplOnZlcnRpY2FsfTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX06Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZXttaW4taGVpZ2h0OjFsaDt0ZXh0LWFsaWduOmluaGVyaXR9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXR7ZGlzcGxheTppbmxpbmUtZmxleH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcntwYWRkaW5nOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taWxsaXNlY29uZC1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWVyaWRpZW0tZmllbGR7cGFkZGluZy1ibG9jazowfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfWJ1dHRvbixpbnB1dDp3aGVyZShbdHlwZT1idXR0b25dLFt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdKXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uOy1tb3otYXBwZWFyYW5jZTpidXR0b247YXBwZWFyYW5jZTpidXR0b259OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uOy1tb3otYXBwZWFyYW5jZTpidXR0b247YXBwZWFyYW5jZTpidXR0b259Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31baGlkZGVuXTp3aGVyZSg6bm90KFtoaWRkZW49dW50aWwtZm91bmRdKSl7ZGlzcGxheTpub25lIWltcG9ydGFudH19QGxheWVyIGNvbXBvbmVudHM7QGxheWVyIHV0aWxpdGllc3suY3VyYVw6c3Itb25seXtjbGlwOnJlY3QoMCwwLDAsMCkhaW1wb3J0YW50O3doaXRlLXNwYWNlOm5vd3JhcCFpbXBvcnRhbnQ7Ym9yZGVyLXdpZHRoOjAhaW1wb3J0YW50O3dpZHRoOjFweCFpbXBvcnRhbnQ7aGVpZ2h0OjFweCFpbXBvcnRhbnQ7bWFyZ2luOi0xcHghaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnR9LmN1cmFcOmFic29sdXRle3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uY3VyYVw6Zml4ZWR7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50fS5jdXJhXDpyZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZSFpbXBvcnRhbnR9LmN1cmFcOnRvcC0we3RvcDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMCkhaW1wb3J0YW50fS5jdXJhXDp0b3AtXFs1MFwlXF17dG9wOjUwJSFpbXBvcnRhbnR9LmN1cmFcOnJpZ2h0LTB7cmlnaHQ6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjApIWltcG9ydGFudH0uY3VyYVw6cmlnaHQtNHtyaWdodDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqNCkhaW1wb3J0YW50fS5jdXJhXDpib3R0b20tMHtib3R0b206Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjApIWltcG9ydGFudH0uY3VyYVw6Ym90dG9tLTR7Ym90dG9tOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSo0KSFpbXBvcnRhbnR9LmN1cmFcOmxlZnQtMHtsZWZ0OmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSowKSFpbXBvcnRhbnR9LmN1cmFcOmxlZnQtXFs1MFwlXF17bGVmdDo1MCUhaW1wb3J0YW50fS5jdXJhXDp6LTN7ei1pbmRleDozIWltcG9ydGFudH0uY3VyYVw6ei04e3otaW5kZXg6OCFpbXBvcnRhbnR9LmN1cmFcOnotNDB7ei1pbmRleDo0MCFpbXBvcnRhbnR9LmN1cmFcOnotMTAwMHt6LWluZGV4OjEwMDAhaW1wb3J0YW50fS5jdXJhXDp6LTEwMDAwe3otaW5kZXg6MTAwMDAhaW1wb3J0YW50fS5jdXJhXDp6LTEwMDAwMDAwMDB7ei1pbmRleDoxMDAwMDAwMDAwIWltcG9ydGFudH0uY3VyYVw6ei1cWzJcXXt6LWluZGV4OjIhaW1wb3J0YW50fS5jdXJhXDp6LVxbM1xde3otaW5kZXg6MyFpbXBvcnRhbnR9LmN1cmFcOnotXFsxMjAwXF17ei1pbmRleDoxMjAwIWltcG9ydGFudH0uY3VyYVw6bXQtMHttYXJnaW4tdG9wOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSowKSFpbXBvcnRhbnR9LmN1cmFcOm10LTJ7bWFyZ2luLXRvcDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMikhaW1wb3J0YW50fS5jdXJhXDptYi0xe21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjEpIWltcG9ydGFudH0uY3VyYVw6bWItMnttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSoyKSFpbXBvcnRhbnR9LmN1cmFcOm1iLTN7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMykhaW1wb3J0YW50fS5jdXJhXDptbC1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fS5jdXJhXDpibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uY3VyYVw6ZmxleHtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5jdXJhXDpncmlke2Rpc3BsYXk6Z3JpZCFpbXBvcnRhbnR9LmN1cmFcOmhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5jdXJhXDppbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5jdXJhXDppbmxpbmUtZmxleHtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH0uY3VyYVw6aC0ze2hlaWdodDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMykhaW1wb3J0YW50fS5jdXJhXDpoLTEwe2hlaWdodDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMTApIWltcG9ydGFudH0uY3VyYVw6aC0xNHtoZWlnaHQ6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjE0KSFpbXBvcnRhbnR9LmN1cmFcOmgtMThcLjV7aGVpZ2h0OmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSoxOC41KSFpbXBvcnRhbnR9LmN1cmFcOmgtXFsyMnB4XF17aGVpZ2h0OjIycHghaW1wb3J0YW50fS5jdXJhXDpoLVxbMzJweFxde2hlaWdodDozMnB4IWltcG9ydGFudH0uY3VyYVw6aC1cWzQwcHhcXXtoZWlnaHQ6NDBweCFpbXBvcnRhbnR9LmN1cmFcOmgtXFs5MVwlXF17aGVpZ2h0OjkxJSFpbXBvcnRhbnR9LmN1cmFcOmgtYXV0b3toZWlnaHQ6YXV0byFpbXBvcnRhbnR9LmN1cmFcOmgtZnVsbHtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9LmN1cmFcOmgtc3Zoe2hlaWdodDoxMDBzdmghaW1wb3J0YW50fS5jdXJhXDp3LTN7d2lkdGg6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjMpIWltcG9ydGFudH0uY3VyYVw6dy0xMHt3aWR0aDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMTApIWltcG9ydGFudH0uY3VyYVw6dy0xOFwuNXt3aWR0aDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMTguNSkhaW1wb3J0YW50fS5jdXJhXDp3LTIwe3dpZHRoOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSoyMCkhaW1wb3J0YW50fS5jdXJhXDp3LVxbMjJweFxde3dpZHRoOjIycHghaW1wb3J0YW50fS5jdXJhXDp3LVxbMzJweFxde3dpZHRoOjMycHghaW1wb3J0YW50fS5jdXJhXDp3LVxbNDBweFxde3dpZHRoOjQwcHghaW1wb3J0YW50fS5jdXJhXDp3LVxbNzBcJVxde3dpZHRoOjcwJSFpbXBvcnRhbnR9LmN1cmFcOnctXFsyMDBweFxde3dpZHRoOjIwMHB4IWltcG9ydGFudH0uY3VyYVw6dy1hdXRve3dpZHRoOmF1dG8haW1wb3J0YW50fS5jdXJhXDp3LWZ1bGx7d2lkdGg6MTAwJSFpbXBvcnRhbnR9LmN1cmFcOnctc3Z3e3dpZHRoOjEwMHN2dyFpbXBvcnRhbnR9LmN1cmFcOm1heC13LTYwe21heC13aWR0aDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqNjApIWltcG9ydGFudH0uY3VyYVw6bWF4LXctXFs4MFwlXF17bWF4LXdpZHRoOjgwJSFpbXBvcnRhbnR9LmN1cmFcOnNocmluay0we2ZsZXgtc2hyaW5rOjAhaW1wb3J0YW50fS5jdXJhXDpmbGV4LWdyb3csLmN1cmFcOmdyb3d7ZmxleC1ncm93OjEhaW1wb3J0YW50fS5jdXJhXDpncm93LTB7ZmxleC1ncm93OjAhaW1wb3J0YW50fS5jdXJhXDp0cmFuc2xhdGUteC1cWy01MFwlXF17LS10dy10cmFuc2xhdGUteDotNTAlIWltcG9ydGFudDt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpIWltcG9ydGFudH0uY3VyYVw6dHJhbnNsYXRlLXktXFstNTBcJVxdey0tdHctdHJhbnNsYXRlLXk6LTUwJSFpbXBvcnRhbnQ7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KSFpbXBvcnRhbnR9LmN1cmFcOnRyYW5zbGF0ZS15LVxbLTEwN1wlXF17LS10dy10cmFuc2xhdGUteTotMTA3JSFpbXBvcnRhbnQ7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KSFpbXBvcnRhbnR9LmN1cmFcOnRyYW5zbGF0ZS15LVxbLTExMFwlXF17LS10dy10cmFuc2xhdGUteTotMTEwJSFpbXBvcnRhbnQ7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KSFpbXBvcnRhbnR9LmN1cmFcOmN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyIWltcG9ydGFudH0uY3VyYVw6YXBwZWFyYW5jZS1ub25ley13ZWJraXQtYXBwZWFyYW5jZTpub25lIWltcG9ydGFudDstbW96LWFwcGVhcmFuY2U6bm9uZSFpbXBvcnRhbnQ7YXBwZWFyYW5jZTpub25lIWltcG9ydGFudH0uY3VyYVw6Z3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpIWltcG9ydGFudH0uY3VyYVw6XCFmbGV4LXJvdy1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uY3VyYVw6ZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uY3VyYVw6aXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmN1cmFcOml0ZW1zLWVuZHthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LmN1cmFcOml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5jdXJhXDppdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5jdXJhXDpqdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5jdXJhXDpqdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uY3VyYVw6anVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uY3VyYVw6Z2FwLTF7Z2FwOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSoxKSFpbXBvcnRhbnR9LmN1cmFcOmdhcC0ye2dhcDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMikhaW1wb3J0YW50fS5jdXJhXDpnYXAtM3tnYXA6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjMpIWltcG9ydGFudH0uY3VyYVw6Z2FwLTR7Z2FwOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSo0KSFpbXBvcnRhbnR9LmN1cmFcOm92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50fS5jdXJhXDpvdmVyZmxvdy15LWF1dG97b3ZlcmZsb3cteTphdXRvIWltcG9ydGFudH0uY3VyYVw6c2Nyb2xsLXNtb290aHtzY3JvbGwtYmVoYXZpb3I6c21vb3RoIWltcG9ydGFudH0uY3VyYVw6cm91bmRlZC1cWzZweFxde2JvcmRlci1yYWRpdXM6NnB4IWltcG9ydGFudH0uY3VyYVw6cm91bmRlZC1cWzhcLjNweFxde2JvcmRlci1yYWRpdXM6OC4zcHghaW1wb3J0YW50fS5jdXJhXDpyb3VuZGVkLVxbOHB4XF17Ym9yZGVyLXJhZGl1czo4cHghaW1wb3J0YW50fS5jdXJhXDpyb3VuZGVkLVxbMTBweFxde2JvcmRlci1yYWRpdXM6MTBweCFpbXBvcnRhbnR9LmN1cmFcOnJvdW5kZWQtXFsxMnB4XF17Ym9yZGVyLXJhZGl1czoxMnB4IWltcG9ydGFudH0uY3VyYVw6cm91bmRlZC1mdWxse2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4IWltcG9ydGFudH0uY3VyYVw6cm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOnZhcigtLWN1cmEtcmFkaXVzLWxnKSFpbXBvcnRhbnR9LmN1cmFcOnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czp2YXIoLS1jdXJhLXJhZGl1cy1tZCkhaW1wb3J0YW50fS5jdXJhXDpcIXJvdW5kZWQtbC1tZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOnZhcigtLWN1cmEtcmFkaXVzLW1kKSFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czp2YXIoLS1jdXJhLXJhZGl1cy1tZCkhaW1wb3J0YW50fS5jdXJhXDpyb3VuZGVkLXRsLW5vbmV7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowIWltcG9ydGFudH0uY3VyYVw6cm91bmRlZC1ici1ub25le2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjAhaW1wb3J0YW50fS5jdXJhXDpyb3VuZGVkLWJsLW5vbmV7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowIWltcG9ydGFudH0uY3VyYVw6Ym9yZGVye2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpIWltcG9ydGFudDtib3JkZXItd2lkdGg6MXB4IWltcG9ydGFudH0uY3VyYVw6Ym9yZGVyLTB7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSkhaW1wb3J0YW50O2JvcmRlci13aWR0aDowIWltcG9ydGFudH0uY3VyYVw6Ym9yZGVyLVxbXCNDMUMzRDJcXXtib3JkZXItY29sb3I6I2MxYzNkMiFpbXBvcnRhbnR9LmN1cmFcOmJvcmRlci1cW1wjRTRFNUVDXF17Ym9yZGVyLWNvbG9yOiNlNGU1ZWMhaW1wb3J0YW50fS5jdXJhXDpib3JkZXItXFtcI0VERUZGMlxde2JvcmRlci1jb2xvcjojZWRlZmYyIWltcG9ydGFudH0uY3VyYVw6Ym9yZGVyLVxbXCNGM0Y0RjdcXXtib3JkZXItY29sb3I6I2YzZjRmNyFpbXBvcnRhbnR9LmN1cmFcOmJvcmRlci1ib2R5LTE1e2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLWJvZHktMTUpIWltcG9ydGFudH0uY3VyYVw6Ym9yZGVyLXByaW1hcnktMjAwe2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMjAwKSFpbXBvcnRhbnR9LmN1cmFcOmJvcmRlci1wcmltYXJ5LTcwMHtib3JkZXItY29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTcwMCkhaW1wb3J0YW50fS5jdXJhXDpib3JkZXItcmVkLTEwMHtib3JkZXItY29sb3I6dmFyKC0tY3VyYS1jb2xvci1yZWQtMTAwKSFpbXBvcnRhbnR9LmN1cmFcOmJvcmRlci1yZWQtMjAwe2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXJlZC0yMDApIWltcG9ydGFudH0uY3VyYVw6Ym9yZGVyLXJlZC00MDB7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTQwMCkhaW1wb3J0YW50fS5jdXJhXDpib3JkZXItc2Vjb25kYXJ5e2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXNlY29uZGFyeSkhaW1wb3J0YW50fS5jdXJhXDpib3JkZXItdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOiMwMDAwIWltcG9ydGFudH0uY3VyYVw6Ym9yZGVyLXdoaXRle2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXdoaXRlKSFpbXBvcnRhbnR9LmN1cmFcOmJnLVxbXCMyOTI3YTlcXXtiYWNrZ3JvdW5kLWNvbG9yOiMyOTI3YTkhaW1wb3J0YW50fS5jdXJhXDpiZy1cW1wjRTVFNUZGXF17YmFja2dyb3VuZC1jb2xvcjojZTVlNWZmIWltcG9ydGFudH0uY3VyYVw6YmctXFtcI0Y5RjZGRlxde2JhY2tncm91bmQtY29sb3I6I2Y5ZjZmZiFpbXBvcnRhbnR9LmN1cmFcOmJnLVxbXCNGQjU4M0FcXXtiYWNrZ3JvdW5kLWNvbG9yOiNmYjU4M2EhaW1wb3J0YW50fS5jdXJhXDpiZy1cW3ZhclwoLS1jaGF0LXNlbmQtYnV0dG9uLWNvbG9yXClcXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNoYXQtc2VuZC1idXR0b24tY29sb3IpIWltcG9ydGFudH0uY3VyYVw6YmctXFt2YXJcKC0tY2hhdC13aW5kb3ctY29sb3JcKVxde2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2hhdC13aW5kb3ctY29sb3IpIWltcG9ydGFudH0uY3VyYVw6YmctXFt2YXJcKC0tY2xpZW50LW1lc3NhZ2UtY29sb3JcKVxde2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xpZW50LW1lc3NhZ2UtY29sb3IpIWltcG9ydGFudH0uY3VyYVw6YmctXFt2YXJcKC0tY3VyYS1oZWFkZXItYmdcKVxde2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1oZWFkZXItYmcpIWltcG9ydGFudH0uY3VyYVw6YmctXFt2YXJcKC0tY3VyYS1vcGVuLWNoYXQtYnRuXClcXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtb3Blbi1jaGF0LWJ0bikhaW1wb3J0YW50fS5jdXJhXDpiZy1ibGFja3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItYmxhY2spIWltcG9ydGFudH0uY3VyYVw6YmctcHJpbWFyeS0yMDB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMjAwKSFpbXBvcnRhbnR9LmN1cmFcOmJnLXByaW1hcnktNTAwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTUwMCkhaW1wb3J0YW50fS5jdXJhXDpiZy1yZWQtNTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXJlZC01MCkhaW1wb3J0YW50fS5jdXJhXDpiZy1yZWQtMjAwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci1yZWQtMjAwKSFpbXBvcnRhbnR9LmN1cmFcOmJnLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtY29sb3Itc2Vjb25kYXJ5KSFpbXBvcnRhbnR9LmN1cmFcOmJnLXRyYW5zcGFyZW50e2JhY2tncm91bmQtY29sb3I6IzAwMDAhaW1wb3J0YW50fS5jdXJhXDpiZy13aGl0ZSwuY3VyYVw6Ymctd2hpdGVcLzQwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci13aGl0ZSkhaW1wb3J0YW50fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYixyZWQscmVkKSl7LmN1cmFcOmJnLXdoaXRlXC80MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jdXJhLWNvbG9yLXdoaXRlKTQwJSx0cmFuc3BhcmVudCkhaW1wb3J0YW50fX0uY3VyYVw6Ymctd2hpdGVcLzUwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci13aGl0ZSkhaW1wb3J0YW50fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYixyZWQscmVkKSl7LmN1cmFcOmJnLXdoaXRlXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jdXJhLWNvbG9yLXdoaXRlKTUwJSx0cmFuc3BhcmVudCkhaW1wb3J0YW50fX0uY3VyYVw6b2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWluIWltcG9ydGFudH0uY3VyYVw6b2JqZWN0LWNvdmVye29iamVjdC1maXQ6Y292ZXIhaW1wb3J0YW50fS5jdXJhXDpvYmplY3QtY2VudGVye29iamVjdC1wb3NpdGlvbjpjZW50ZXIhaW1wb3J0YW50fS5jdXJhXDpwLTJ7cGFkZGluZzpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMikhaW1wb3J0YW50fS5jdXJhXDpwLTN7cGFkZGluZzpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMykhaW1wb3J0YW50fS5jdXJhXDpwLTR7cGFkZGluZzpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqNCkhaW1wb3J0YW50fS5jdXJhXDpweC0ye3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSoyKSFpbXBvcnRhbnR9LmN1cmFcOnB4LTN7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjMpIWltcG9ydGFudH0uY3VyYVw6cHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqNCkhaW1wb3J0YW50fS5jdXJhXDpweC02e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSo2KSFpbXBvcnRhbnR9LmN1cmFcOnB5LTJ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMikhaW1wb3J0YW50fS5jdXJhXDpweS00e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjQpIWltcG9ydGFudH0uY3VyYVw6cHktXFsxN3B4XF17cGFkZGluZy1ibG9jazoxN3B4IWltcG9ydGFudH0uY3VyYVw6cHQtNHtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqNCkhaW1wb3J0YW50fS5jdXJhXDpwdC01e3BhZGRpbmctdG9wOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSo1KSFpbXBvcnRhbnR9LmN1cmFcOnByLTN7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqMykhaW1wb3J0YW50fS5jdXJhXDpwci01e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjUpIWltcG9ydGFudH0uY3VyYVw6cGItNDN7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjQzKSFpbXBvcnRhbnR9LmN1cmFcOnBsLTR7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSo0KSFpbXBvcnRhbnR9LmN1cmFcOnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH0uY3VyYVw6dGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0uY3VyYVw6Zm9udC1ib2R5e2ZvbnQtZmFtaWx5OnZhcigtLWN1cmEtZm9udC1ib2R5KSFpbXBvcnRhbnR9LmN1cmFcOnRleHQtc217Zm9udC1zaXplOnZhcigtLWN1cmEtdGV4dC1zbSkhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tY3VyYS10ZXh0LXNtLS1saW5lLWhlaWdodCkpIWltcG9ydGFudH0uY3VyYVw6dGV4dC14c3tmb250LXNpemU6dmFyKC0tY3VyYS10ZXh0LXhzKSFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS1jdXJhLXRleHQteHMtLWxpbmUtaGVpZ2h0KSkhaW1wb3J0YW50fS5jdXJhXDp0ZXh0LVxbOXB4XF17Zm9udC1zaXplOjlweCFpbXBvcnRhbnR9LmN1cmFcOnRleHQtXFsxMXB4XF17Zm9udC1zaXplOjExcHghaW1wb3J0YW50fS5jdXJhXDpmb250LW1lZGl1bXstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWN1cmEtZm9udC13ZWlnaHQtbWVkaXVtKSFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6dmFyKC0tY3VyYS1mb250LXdlaWdodC1tZWRpdW0pIWltcG9ydGFudH0uY3VyYVw6Zm9udC1zZW1pYm9sZHstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWN1cmEtZm9udC13ZWlnaHQtc2VtaWJvbGQpIWltcG9ydGFudDtmb250LXdlaWdodDp2YXIoLS1jdXJhLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSFpbXBvcnRhbnR9LmN1cmFcOnRyYWNraW5nLXRpZ2h0ey0tdHctdHJhY2tpbmc6dmFyKC0tY3VyYS10cmFja2luZy10aWdodCkhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOnZhcigtLWN1cmEtdHJhY2tpbmctdGlnaHQpIWltcG9ydGFudH0uY3VyYVw6dGV4dC1lbGxpcHNpc3t0ZXh0LW92ZXJmbG93OmVsbGlwc2lzIWltcG9ydGFudH0uY3VyYVw6d2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwIWltcG9ydGFudH0uY3VyYVw6dGV4dC1cW1wjMDAwMDAxXF17Y29sb3I6IzAwMDAwMSFpbXBvcnRhbnR9LmN1cmFcOnRleHQtXFtcIzgwODA4MFxde2NvbG9yOmdyYXkhaW1wb3J0YW50fS5jdXJhXDp0ZXh0LVxbXCNBQUFBQUFcXXtjb2xvcjojYWFhIWltcG9ydGFudH0uY3VyYVw6dGV4dC1cW3ZhclwoLS10ZXh0LWNvbG9yXClcXXtjb2xvcjp2YXIoLS10ZXh0LWNvbG9yKSFpbXBvcnRhbnR9LmN1cmFcOnRleHQtYmxhY2t7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1ibGFjaykhaW1wb3J0YW50fS5jdXJhXDp0ZXh0LWJvZHktMTB7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1ib2R5LTEwKSFpbXBvcnRhbnR9LmN1cmFcOnRleHQtYm9keS0xNXtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLWJvZHktMTUpIWltcG9ydGFudH0uY3VyYVw6dGV4dC1ib2R5LWJsYWNre2NvbG9yOnZhcigtLWN1cmEtY29sb3ItYm9keS1ibGFjaykhaW1wb3J0YW50fS5jdXJhXDp0ZXh0LWdyYXktNDAwe2NvbG9yOnZhcigtLWN1cmEtY29sb3ItZ3JheS00MDApIWltcG9ydGFudH0uY3VyYVw6dGV4dC1wcmltYXJ5LTEwMHtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMTAwKSFpbXBvcnRhbnR9LmN1cmFcOnRleHQtcHJpbWFyeS0yMDB7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTIwMCkhaW1wb3J0YW50fS5jdXJhXDp0ZXh0LXByaW1hcnktNzAwe2NvbG9yOnZhcigtLWN1cmEtY29sb3ItcHJpbWFyeS03MDApIWltcG9ydGFudH0uY3VyYVw6dGV4dC1yZWQtMTAwe2NvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTEwMCkhaW1wb3J0YW50fS5jdXJhXDp0ZXh0LXJlZC0yMDB7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1yZWQtMjAwKSFpbXBvcnRhbnR9LmN1cmFcOnRleHQtcmVkLTQwMHtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXJlZC00MDApIWltcG9ydGFudH0uY3VyYVw6dGV4dC1yZWQtNTAwe2NvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTUwMCkhaW1wb3J0YW50fS5jdXJhXDp0ZXh0LXJlZC03MDB7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1yZWQtNzAwKSFpbXBvcnRhbnR9LmN1cmFcOnRleHQtc2Vjb25kYXJ5e2NvbG9yOnZhcigtLWN1cmEtY29sb3Itc2Vjb25kYXJ5KSFpbXBvcnRhbnR9LmN1cmFcOnRleHQtd2hpdGUsLmN1cmFcOnRleHQtd2hpdGVcLzUwe2NvbG9yOnZhcigtLWN1cmEtY29sb3Itd2hpdGUpIWltcG9ydGFudH1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIscmVkLHJlZCkpey5jdXJhXDp0ZXh0LXdoaXRlXC81MHtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY3VyYS1jb2xvci13aGl0ZSk1MCUsdHJhbnNwYXJlbnQpIWltcG9ydGFudH19LmN1cmFcOmNhcGl0YWxpemV7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZSFpbXBvcnRhbnR9LmN1cmFcOnVwcGVyY2FzZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UhaW1wb3J0YW50fS5jdXJhXDpzaGFkb3ctMnhsey0tdHctc2hhZG93OjAgMjVweCA1MHB4IC0xMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwNDApIWltcG9ydGFudDtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdykhaW1wb3J0YW50fS5jdXJhXDpvdXRsaW5lLTB7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKSFpbXBvcnRhbnQ7b3V0bGluZS13aWR0aDowIWltcG9ydGFudH0uY3VyYVw6YnJpZ2h0bmVzcy01MHstLXR3LWJyaWdodG5lc3M6YnJpZ2h0bmVzcyg1MCUpIWltcG9ydGFudDtmaWx0ZXI6dmFyKC0tdHctYmx1ciwpdmFyKC0tdHctYnJpZ2h0bmVzcywpdmFyKC0tdHctY29udHJhc3QsKXZhcigtLXR3LWdyYXlzY2FsZSwpdmFyKC0tdHctaHVlLXJvdGF0ZSwpdmFyKC0tdHctaW52ZXJ0LCl2YXIoLS10dy1zYXR1cmF0ZSwpdmFyKC0tdHctc2VwaWEsKXZhcigtLXR3LWRyb3Atc2hhZG93LCkhaW1wb3J0YW50fS5jdXJhXDp0cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbCFpbXBvcnRhbnQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1jdXJhLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1jdXJhLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpIWltcG9ydGFudH0uY3VyYVw6ZHVyYXRpb24tMzAwey0tdHctZHVyYXRpb246LjNzIWltcG9ydGFudDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zcyFpbXBvcnRhbnR9LmN1cmFcOmR1cmF0aW9uLTUwMHstLXR3LWR1cmF0aW9uOi41cyFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXMhaW1wb3J0YW50fS5jdXJhXDplYXNlLWluLW91dHstLXR3LWVhc2U6dmFyKC0tY3VyYS1lYXNlLWluLW91dCkhaW1wb3J0YW50O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWN1cmEtZWFzZS1pbi1vdXQpIWltcG9ydGFudH0uY3VyYVw6b3V0bGluZS1ub25ley0tdHctb3V0bGluZS1zdHlsZTpub25lIWltcG9ydGFudDtvdXRsaW5lLXN0eWxlOm5vbmUhaW1wb3J0YW50fS5jdXJhXDpwZWVyLWZvY3VzXDpib3JkZXItcHJpbWFyeS01MDA6aXMoOndoZXJlKC5jdXJhXDpwZWVyKTpmb2N1c34qKXtib3JkZXItY29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTUwMCkhaW1wb3J0YW50fS5jdXJhXDpwbGFjZWhvbGRlclw6dGV4dC1cW1wjQ0NDQ0NDXF06OnBsYWNlaG9sZGVye2NvbG9yOiNjY2MhaW1wb3J0YW50fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5jdXJhXDpob3Zlclw6Ym9yZGVyLXByaW1hcnktMzAwOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMzAwKSFpbXBvcnRhbnR9LmN1cmFcOmhvdmVyXDpib3JkZXItcHJpbWFyeS01MDA6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcHJpbWFyeS01MDApIWltcG9ydGFudH0uY3VyYVw6aG92ZXJcOmJvcmRlci1wcmltYXJ5LTYwMDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTYwMCkhaW1wb3J0YW50fS5jdXJhXDpob3Zlclw6Ym9yZGVyLXJlZC0zMDA6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTMwMCkhaW1wb3J0YW50fS5jdXJhXDpob3Zlclw6Ym9yZGVyLXNlY29uZGFyeTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY3VyYS1jb2xvci1zZWNvbmRhcnkpIWltcG9ydGFudH0uY3VyYVw6aG92ZXJcOmJnLWdyYXktMjAwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci1ncmF5LTIwMCkhaW1wb3J0YW50fS5jdXJhXDpob3Zlclw6YmctcHJpbWFyeS0yMDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMjAwKSFpbXBvcnRhbnR9LmN1cmFcOmhvdmVyXDpiZy1wcmltYXJ5LTMwMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcHJpbWFyeS0zMDApIWltcG9ydGFudH0uY3VyYVw6aG92ZXJcOmJnLXByaW1hcnktNzAwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTcwMCkhaW1wb3J0YW50fS5jdXJhXDpob3Zlclw6YmctcmVkLTIwMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTIwMCkhaW1wb3J0YW50fS5jdXJhXDpob3Zlclw6YmctcmVkLTMwMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTMwMCkhaW1wb3J0YW50fS5jdXJhXDpob3Zlclw6Ymctc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci1zZWNvbmRhcnkpIWltcG9ydGFudH0uY3VyYVw6aG92ZXJcOnRleHQtXFtcIzAwMDAwMVxdOmhvdmVye2NvbG9yOiMwMDAwMDEhaW1wb3J0YW50fS5jdXJhXDpob3Zlclw6dGV4dC1cW3ZhclwoLS10ZXh0LWNvbG9yXClcXTpob3Zlcntjb2xvcjp2YXIoLS10ZXh0LWNvbG9yKSFpbXBvcnRhbnR9LmN1cmFcOmhvdmVyXDp0ZXh0LWJsYWNrOmhvdmVye2NvbG9yOnZhcigtLWN1cmEtY29sb3ItYmxhY2spIWltcG9ydGFudH0uY3VyYVw6aG92ZXJcOnRleHQtcHJpbWFyeS01MDA6aG92ZXJ7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTUwMCkhaW1wb3J0YW50fS5jdXJhXDpob3Zlclw6dGV4dC1wcmltYXJ5LTcwMDpob3Zlcntjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktNzAwKSFpbXBvcnRhbnR9LmN1cmFcOmhvdmVyXDp0ZXh0LXJlZC0zMDA6aG92ZXJ7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1yZWQtMzAwKSFpbXBvcnRhbnR9LmN1cmFcOmhvdmVyXDp0ZXh0LXJlZC02MDA6aG92ZXJ7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1yZWQtNjAwKSFpbXBvcnRhbnR9LmN1cmFcOmhvdmVyXDpyaW5nLTQ6aG92ZXJ7LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDRweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcikhaW1wb3J0YW50O2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KSFpbXBvcnRhbnR9LmN1cmFcOmhvdmVyXDpyaW5nLXByaW1hcnktMTAwOmhvdmVyey0tdHctcmluZy1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMTAwKSFpbXBvcnRhbnR9LmN1cmFcOmhvdmVyXDpicmlnaHRuZXNzLTgwOmhvdmVyey0tdHctYnJpZ2h0bmVzczpicmlnaHRuZXNzKDgwJSkhaW1wb3J0YW50O2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKSFpbXBvcnRhbnR9fS5jdXJhXDpmb2N1c1w6Ym9yZGVyLXByaW1hcnktNjAwOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktNjAwKSFpbXBvcnRhbnR9LmN1cmFcOmZvY3VzXDpyaW5nLTQ6Zm9jdXN7LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDRweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcikhaW1wb3J0YW50O2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KSFpbXBvcnRhbnR9LmN1cmFcOmRpc2FibGVkXDpvcGFjaXR5LTUwOmRpc2FibGVke29wYWNpdHk6LjUhaW1wb3J0YW50fUBtZWRpYSAobWluLXdpZHRoOjQ4cmVtKXsuY3VyYVw6bWRcOnJpZ2h0LTR7cmlnaHQ6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcpKjQpIWltcG9ydGFudH0uY3VyYVw6bWRcOmJvdHRvbS00e2JvdHRvbTpjYWxjKHZhcigtLWN1cmEtc3BhY2luZykqNCkhaW1wb3J0YW50fS5jdXJhXDptZFw6ZmxleHtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5jdXJhXDptZFw6aC1cWzg4XC41XCVcXXtoZWlnaHQ6ODguNSUhaW1wb3J0YW50fS5jdXJhXDptZFw6aC1cWzY0M3B4XF17aGVpZ2h0OjY0M3B4IWltcG9ydGFudH0uY3VyYVw6bWRcOmgtYXV0b3toZWlnaHQ6YXV0byFpbXBvcnRhbnR9LmN1cmFcOm1kXDptYXgtaC1cWzcwdmhcXXttYXgtaGVpZ2h0OjcwdmghaW1wb3J0YW50fS5jdXJhXDptZFw6bWluLWgtXFs1MDlweFxde21pbi1oZWlnaHQ6NTA5cHghaW1wb3J0YW50fS5jdXJhXDptZFw6dy1cWzQwMHB4XF17d2lkdGg6NDAwcHghaW1wb3J0YW50fS5jdXJhXDptZFw6cm91bmRlZC1cWzIwcHhcXXtib3JkZXItcmFkaXVzOjIwcHghaW1wb3J0YW50fS5jdXJhXDptZFw6dGV4dC1iYXNle2ZvbnQtc2l6ZTp2YXIoLS1jdXJhLXRleHQtYmFzZSkhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tY3VyYS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0KSkhaW1wb3J0YW50fX19QGZvbnQtZmFjZXtmb250LWZhbWlseTpTZiBQcm8gRGlzcGxheTtzcmM6dXJsKC9hc3NldHMvd2lkZ2V0LVNGUFJPRElTUExBWVJFR1VMQVIuT1RGKWZvcm1hdCgib3BlbnR5cGUiKTtmb250LXdlaWdodDo0MDB9QGZvbnQtZmFjZXtmb250LWZhbWlseTpTZiBQcm8gRGlzcGxheTtzcmM6dXJsKC9hc3NldHMvd2lkZ2V0LVNGUFJPRElTUExBWUJPTEQuT1RGKWZvcm1hdCgib3BlbnR5cGUiKTtmb250LXdlaWdodDo3MDB9QGZvbnQtZmFjZXtmb250LWZhbWlseTpTZiBQcm8gRGlzcGxheTtzcmM6dXJsKC9hc3NldHMvd2lkZ2V0LVNGUFJPRElTUExBWVNFTUlCT0xESVRBTElDLk9URilmb3JtYXQoIm9wZW50eXBlIik7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc3R5bGU6aXRhbGljfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6U2YgUHJvIERpc3BsYXk7c3JjOnVybCgvYXNzZXRzL3dpZGdldC1TRlBST0RJU1BMQVlNRURJVU0uT1RGKWZvcm1hdCgib3BlbnR5cGUiKTtmb250LXdlaWdodDo1MDB9QGZvbnQtZmFjZXtmb250LWZhbWlseTpTZiBQcm8gRGlzcGxheTtzcmM6dXJsKC9hc3NldHMvd2lkZ2V0LVNGUFJPRElTUExBWUJMQUNLSVRBTElDLk9URilmb3JtYXQoIm9wZW50eXBlIik7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc3R5bGU6aXRhbGljfXB7bWFyZ2luOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nKSowKSFpbXBvcnRhbnR9Y3VyYWNvbS1wbHVnaW57YWxsOmluaXRpYWw7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1ib2R5KSwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiU2Vnb2UgVUkiLFJvYm90byxzYW5zLXNlcmlmO2JveC1zaXppbmc6Ym9yZGVyLWJveH1jdXJhY29tLXBsdWdpbiAqe2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc2xpZGVJblJpZ2h0LWVudGVyLWFjdGl2ZSwuc2xpZGVJblJpZ2h0LWxlYXZlLWFjdGl2ZXt0cmFuc2l0aW9uOmFsbCAuNXN9LnNsaWRlSW5SaWdodC1lbnRlci1mcm9tLC5zbGlkZUluUmlnaHQtbGVhdmUtdG97b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTgwJSl9LnNsaWRlSW5MZWZ0LWVudGVyLWFjdGl2ZSwuc2xpZGVJbkxlZnQtbGVhdmUtYWN0aXZle3RyYW5zaXRpb246YWxsIC41c30uc2xpZGVJbkxlZnQtZW50ZXItZnJvbSwuc2xpZGVJbkxlZnQtbGVhdmUtdG97b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoODAlKX0uZmFkZS1lbnRlci1hY3RpdmUsLmZhZGUtbGVhdmUtYWN0aXZle3RyYW5zaXRpb246b3BhY2l0eSAuNXN9LmZhZGUtZW50ZXItZnJvbSwuZmFkZS1sZWF2ZS10b3tvcGFjaXR5OjB9Lnpvb20tZW50ZXItYWN0aXZlLC56b29tLWxlYXZlLWFjdGl2ZXt0cmFuc2l0aW9uOmFsbCAuMXN9Lnpvb20tZW50ZXItZnJvbSwuem9vbS1sZWF2ZS10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC41KX1AcHJvcGVydHkgLS10dy1mb250LXdlaWdodHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXRyYWNraW5ne3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QGxheWVyIHByb3BlcnRpZXN7QHN1cHBvcnRzICgoKC13ZWJraXQtaHlwaGVuczpub25lKSkgYW5kIChub3QgKG1hcmdpbi10cmltOmlubGluZSkpKSBvciAoKC1tb3otb3JpZW50OmlubGluZSkgYW5kIChub3QgKGNvbG9yOnJnYihmcm9tIHJlZCByIGcgYikpKSl7W2RhdGEtdi0zMTQ3NTllYV0sW2RhdGEtdi0zMTQ3NTllYV06YmVmb3JlLFtkYXRhLXYtMzE0NzU5ZWFdOmFmdGVyLFtkYXRhLXYtMzE0NzU5ZWFdOjpiYWNrZHJvcHstLXR3LWJvcmRlci1zdHlsZTpzb2xpZDstLXR3LW91dGxpbmUtc3R5bGU6c29saWQ7LS10dy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LWluc2V0LXNoYWRvdzowIDAgIzAwMDA7LS10dy1pbnNldC1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LWluc2V0LXNoYWRvdy1hbHBoYToxMDAlOy0tdHctcmluZy1jb2xvcjppbml0aWFsOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctaW5zZXQtcmluZy1jb2xvcjppbml0aWFsOy0tdHctaW5zZXQtcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1pbnNldDppbml0aWFsOy0tdHctcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdHctcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzowIDAgIzAwMDA7LS10dy10cmFuc2xhdGUteDowOy0tdHctdHJhbnNsYXRlLXk6MDstLXR3LXRyYW5zbGF0ZS16OjB9fX0uaW5wdXQtY29udGFpbmVyIC5lcnJvcltkYXRhLXYtMzE0NzU5ZWFde21hcmdpbi10b3A6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcsLjI1cmVtKSoxKSFpbXBvcnRhbnQ7Zm9udC1zaXplOnZhcigtLWN1cmEtdGV4dC14cywuNzVyZW0pIWltcG9ydGFudDtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLWN1cmEtdGV4dC14cy0tbGluZS1oZWlnaHQsY2FsYygxLy43NSkpKSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1yZWQtNTAwLG9rbGNoKDYzLjclIC4yMzcgMjUuMzMxKSkhaW1wb3J0YW50O2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5pbnB1dC1jb250YWluZXIgLm5vdGVbZGF0YS12LTMxNDc1OWVhXXttYXJnaW4tdG9wOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nLC4yNXJlbSkqMSkhaW1wb3J0YW50O2ZvbnQtc2l6ZTp2YXIoLS1jdXJhLXRleHQteHMsLjc1cmVtKSFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS1jdXJhLXRleHQteHMtLWxpbmUtaGVpZ2h0LGNhbGMoMS8uNzUpKSkhaW1wb3J0YW50O2NvbG9yOnZhcigtLWN1cmEtY29sb3ItYm9keS0xNSxncmF5KSFpbXBvcnRhbnQ7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmlucHV0LWJvZHlbZGF0YS12LTMxNDc1OWVhXXthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudDtnYXA6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcsLjI1cmVtKSoyKSFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDtwb3NpdGlvbjpyZWxhdGl2ZSFpbXBvcnRhbnR9LmlucHV0LWJvZHkgLnByZWZpeFtkYXRhLXYtMzE0NzU5ZWFde2JvcmRlci1yYWRpdXM6dmFyKC0tY3VyYS1yYWRpdXMtbWQsLjM3NXJlbSkhaW1wb3J0YW50O2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpIWltcG9ydGFudDt3aWR0aDphdXRvIWltcG9ydGFudDtwYWRkaW5nOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nLC4yNXJlbSkqMikhaW1wb3J0YW50O3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nLC4yNXJlbSkqMykhaW1wb3J0YW50O2NvbG9yOnZhcigtLWN1cmEtY29sb3Itc2xhdGUtNDAwLG9rbGNoKDcwLjQlIC4wNCAyNTYuNzg4KSkhaW1wb3J0YW50O2JvcmRlci13aWR0aDoxcHghaW1wb3J0YW50O2ZsZXgtc2hyaW5rOjAhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9OmlzKC5pbnB1dC1ib2R5W2RhdGEtdi0zMTQ3NTllYV0gaW5wdXRbdHlwZT10ZXh0XSwuaW5wdXQtYm9keVtkYXRhLXYtMzE0NzU5ZWFdIGlucHV0W3R5cGU9ZW1haWxdLC5pbnB1dC1ib2R5W2RhdGEtdi0zMTQ3NTllYV0gaW5wdXRbdHlwZT1udW1iZXJdLC5pbnB1dC1ib2R5W2RhdGEtdi0zMTQ3NTllYV0gdGV4dGFyZWEsLmlucHV0LWJvZHlbZGF0YS12LTMxNDc1OWVhXSBpbnB1dFt0eXBlPXBhc3N3b3JkXSwuaW5wdXQtYm9keVtkYXRhLXYtMzE0NzU5ZWFdIGlucHV0W3R5cGU9ZGF0ZV0sLmlucHV0LWJvZHlbZGF0YS12LTMxNDc1OWVhXSBpbnB1dFt0eXBlPXRpbWVdLC5pbnB1dC1ib2R5W2RhdGEtdi0zMTQ3NTllYV0gaW5wdXRbdHlwZT11cmxdKXtoZWlnaHQ6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcsLjI1cmVtKSoxNCkhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6dmFyKC0tY3VyYS1yYWRpdXMtbWQsLjM3NXJlbSkhaW1wb3J0YW50O2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtwYWRkaW5nOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nLC4yNXJlbSkqMikhaW1wb3J0YW50O3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nLC4yNXJlbSkqNCkhaW1wb3J0YW50O2NvbG9yOnZhcigtLWN1cmEtY29sb3ItYmxhY2ssIzAwMCkhaW1wb3J0YW50O291dGxpbmUtc3R5bGU6dmFyKC0tdHctb3V0bGluZS1zdHlsZSkhaW1wb3J0YW50O2JvcmRlci13aWR0aDoxcHghaW1wb3J0YW50O2JvcmRlci1jb2xvcjojZTRlNWVjIWltcG9ydGFudDtvdXRsaW5lLXdpZHRoOjAhaW1wb3J0YW50O2ZsZXgtZ3JvdzoxIWltcG9ydGFudH1AbWVkaWEgKGhvdmVyOmhvdmVyKXs6aXMoLmlucHV0LWJvZHlbZGF0YS12LTMxNDc1OWVhXSBpbnB1dFt0eXBlPXRleHRdLC5pbnB1dC1ib2R5W2RhdGEtdi0zMTQ3NTllYV0gaW5wdXRbdHlwZT1lbWFpbF0sLmlucHV0LWJvZHlbZGF0YS12LTMxNDc1OWVhXSBpbnB1dFt0eXBlPW51bWJlcl0sLmlucHV0LWJvZHlbZGF0YS12LTMxNDc1OWVhXSB0ZXh0YXJlYSwuaW5wdXQtYm9keVtkYXRhLXYtMzE0NzU5ZWFdIGlucHV0W3R5cGU9cGFzc3dvcmRdLC5pbnB1dC1ib2R5W2RhdGEtdi0zMTQ3NTllYV0gaW5wdXRbdHlwZT1kYXRlXSwuaW5wdXQtYm9keVtkYXRhLXYtMzE0NzU5ZWFdIGlucHV0W3R5cGU9dGltZV0sLmlucHV0LWJvZHlbZGF0YS12LTMxNDc1OWVhXSBpbnB1dFt0eXBlPXVybF0pOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktNjAwLCMwZDBkYmEpIWltcG9ydGFudDstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoNHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpIWltcG9ydGFudDstLXR3LXJpbmctY29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTEwMCwjZDVkNWZkKSFpbXBvcnRhbnR9fTppcyguaW5wdXQtYm9keVtkYXRhLXYtMzE0NzU5ZWFdIGlucHV0W3R5cGU9dGV4dF0sLmlucHV0LWJvZHlbZGF0YS12LTMxNDc1OWVhXSBpbnB1dFt0eXBlPWVtYWlsXSwuaW5wdXQtYm9keVtkYXRhLXYtMzE0NzU5ZWFdIGlucHV0W3R5cGU9bnVtYmVyXSwuaW5wdXQtYm9keVtkYXRhLXYtMzE0NzU5ZWFdIHRleHRhcmVhLC5pbnB1dC1ib2R5W2RhdGEtdi0zMTQ3NTllYV0gaW5wdXRbdHlwZT1wYXNzd29yZF0sLmlucHV0LWJvZHlbZGF0YS12LTMxNDc1OWVhXSBpbnB1dFt0eXBlPWRhdGVdLC5pbnB1dC1ib2R5W2RhdGEtdi0zMTQ3NTllYV0gaW5wdXRbdHlwZT10aW1lXSwuaW5wdXQtYm9keVtkYXRhLXYtMzE0NzU5ZWFdIGlucHV0W3R5cGU9dXJsXSk6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcHJpbWFyeS02MDAsIzBkMGRiYSkhaW1wb3J0YW50Oy0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYyg0cHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpIWltcG9ydGFudDtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdykhaW1wb3J0YW50Oy0tdHctcmluZy1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMTAwLCNkNWQ1ZmQpIWltcG9ydGFudH0uaW5wdXQtYm9keSAucGFzc3dvcmQtaGlkZVtkYXRhLXYtMzE0NzU5ZWFde3RvcDo1MCUhaW1wb3J0YW50O3JpZ2h0OmNhbGModmFyKC0tY3VyYS1zcGFjaW5nLC4yNXJlbSkqMCkhaW1wb3J0YW50O3otaW5kZXg6MyFpbXBvcnRhbnQ7LS10dy10cmFuc2xhdGUteTotNTAlIWltcG9ydGFudDt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpIWltcG9ydGFudDtjdXJzb3I6cG9pbnRlciFpbXBvcnRhbnQ7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcsLjI1cmVtKSoyKSFpbXBvcnRhbnQ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLWN1cmEtc3BhY2luZywuMjVyZW0pKjIpIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50O3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uaW5wdXQtYm9keVtkYXRhLXYtMzE0NzU5ZWFdIGlucHV0W3R5cGU9cGFzc3dvcmRde3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcsLjI1cmVtKSo4KSFpbXBvcnRhbnR9LmlucHV0LWNvbnRhaW5lcltkYXRhLXYtMzE0NzU5ZWFdIHRleHRhcmVhe2hlaWdodDphdXRvIWltcG9ydGFudH1AcHJvcGVydHkgLS10dy1vdXRsaW5lLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1zaGFkb3ctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zaGFkb3ctYWxwaGF7c3ludGF4OiI8cGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MTAwJX1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctYWxwaGF7c3ludGF4OiI8cGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MTAwJX1AcHJvcGVydHkgLS10dy1yaW5nLWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcmluZy1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaW5zZXQtcmluZy1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1yaW5nLWluc2V0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtd2lkdGh7c3ludGF4OiI8bGVuZ3RoPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTojZmZmfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfS8qISB0YWlsd2luZGNzcyB2NC4xLjggfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tICovQGxheWVyIHByb3BlcnRpZXN7QHN1cHBvcnRzICgoKC13ZWJraXQtaHlwaGVuczpub25lKSkgYW5kIChub3QgKG1hcmdpbi10cmltOmlubGluZSkpKSBvciAoKC1tb3otb3JpZW50OmlubGluZSkgYW5kIChub3QgKGNvbG9yOnJnYihmcm9tIHJlZCByIGcgYikpKSl7Kiw6YmVmb3JlLDphZnRlciw6OmJhY2tkcm9wey0tdHctYm9yZGVyLXN0eWxlOnNvbGlkOy0tdHctYmx1cjppbml0aWFsOy0tdHctYnJpZ2h0bmVzczppbml0aWFsOy0tdHctY29udHJhc3Q6aW5pdGlhbDstLXR3LWdyYXlzY2FsZTppbml0aWFsOy0tdHctaHVlLXJvdGF0ZTppbml0aWFsOy0tdHctaW52ZXJ0OmluaXRpYWw7LS10dy1vcGFjaXR5OmluaXRpYWw7LS10dy1zYXR1cmF0ZTppbml0aWFsOy0tdHctc2VwaWE6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93OmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctZHJvcC1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LWRyb3Atc2hhZG93LXNpemU6aW5pdGlhbDstLXR3LXRyYW5zbGF0ZS14OjA7LS10dy10cmFuc2xhdGUteTowOy0tdHctdHJhbnNsYXRlLXo6MDstLXR3LWR1cmF0aW9uOmluaXRpYWw7LS10dy1lYXNlOmluaXRpYWx9fX0uY3VyYS1idG57anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudDtjb2x1bW4tZ2FwOmNhbGModmFyKC0tY3VyYS1zcGFjaW5nLC4yNXJlbSkqMikhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6dmFyKC0tY3VyYS1yYWRpdXMtbGcsLjVyZW0pIWltcG9ydGFudDtib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKSFpbXBvcnRhbnQ7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1jdXJhLXNwYWNpbmcsLjI1cmVtKSo2KSFpbXBvcnRhbnQ7Ym9yZGVyLXdpZHRoOjFweCFpbXBvcnRhbnQ7cGFkZGluZy1ibG9jazoxN3B4IWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudDtwb3NpdGlvbjpyZWxhdGl2ZSFpbXBvcnRhbnR9LmN1cmEtYnRuLS1tZHtmb250LXNpemU6dmFyKC0tY3VyYS10ZXh0LWJhc2UsMXJlbSkhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tY3VyYS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0LCAxLjUgKSkhaW1wb3J0YW50fS5jdXJhLWJ0bi0tc217Zm9udC1zaXplOnZhcigtLWN1cmEtdGV4dC1zbSwuODc1cmVtKSFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS1jdXJhLXRleHQtc20tLWxpbmUtaGVpZ2h0LGNhbGMoMS4yNS8uODc1KSkpIWltcG9ydGFudH0uY3VyYS1idG4tLWxne2ZvbnQtc2l6ZTp2YXIoLS1jdXJhLXRleHQtbGcsMS4xMjVyZW0pIWltcG9ydGFudDtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLWN1cmEtdGV4dC1sZy0tbGluZS1oZWlnaHQsY2FsYygxLjc1LzEuMTI1KSkpIWltcG9ydGFudH0uY3VyYS1idG4tLWJsb2Nre3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uY3VyYS1idG46ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkIWltcG9ydGFudDstLXR3LWJyaWdodG5lc3M6YnJpZ2h0bmVzcyg1MCUpIWltcG9ydGFudDtmaWx0ZXI6dmFyKC0tdHctYmx1ciwpdmFyKC0tdHctYnJpZ2h0bmVzcywpdmFyKC0tdHctY29udHJhc3QsKXZhcigtLXR3LWdyYXlzY2FsZSwpdmFyKC0tdHctaHVlLXJvdGF0ZSwpdmFyKC0tdHctaW52ZXJ0LCl2YXIoLS10dy1zYXR1cmF0ZSwpdmFyKC0tdHctc2VwaWEsKXZhcigtLXR3LWRyb3Atc2hhZG93LCkhaW1wb3J0YW50fS5jdXJhLWJ0bi1zcGlubmVye3otaW5kZXg6MSFpbXBvcnRhbnQ7LS10dy10cmFuc2xhdGUteDotNTAlIWltcG9ydGFudDstLXR3LXRyYW5zbGF0ZS15Oi01MCUhaW1wb3J0YW50O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSkhaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7dG9wOjUwJSFpbXBvcnRhbnQ7bGVmdDo1MCUhaW1wb3J0YW50fS5jdXJhLWJ0bi1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTUwMCwjMTAxMGU4KSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTEwMCwjZDVkNWZkKSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGwhaW1wb3J0YW50O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tY3VyYS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLGN1YmljLWJlemllciguNCwwLC4yLDEpKSkhaW1wb3J0YW50O3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tY3VyYS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sLjE1cykpIWltcG9ydGFudDstLXR3LWR1cmF0aW9uOi41cyFpbXBvcnRhbnQ7LS10dy1lYXNlOnZhcigtLWN1cmEtZWFzZS1pbi1vdXQsY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkpIWltcG9ydGFudDt0cmFuc2l0aW9uLWR1cmF0aW9uOi41cyFpbXBvcnRhbnQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tY3VyYS1lYXNlLWluLW91dCxjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSkhaW1wb3J0YW50O2JvcmRlci1jb2xvcjojMDAwMCFpbXBvcnRhbnR9QG1lZGlhIChob3Zlcjpob3Zlcil7LmN1cmEtYnRuLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktNzAwLCMwYTBhOGMpIWltcG9ydGFudH19LmN1cmEtYnRuLXByaW1hcnktbGlnaHQtLW91dGxpbmVke2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMjAwLCNhZGFkZmIpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMjAwLCNhZGFkZmIpIWltcG9ydGFudH1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuY3VyYS1idG4tcHJpbWFyeS1saWdodC0tb3V0bGluZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMjAwLCNhZGFkZmIpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktNzAwLCMwYTBhOGMpIWltcG9ydGFudH19LmN1cmEtYnRuLXByaW1hcnktbGlnaHR7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcHJpbWFyeS0yMDAsI2FkYWRmYikhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTIwMCwjYWRhZGZiKSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTcwMCwjMGEwYThjKSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGwhaW1wb3J0YW50O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tY3VyYS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLGN1YmljLWJlemllciguNCwwLC4yLDEpKSkhaW1wb3J0YW50O3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tY3VyYS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sLjE1cykpIWltcG9ydGFudDstLXR3LWR1cmF0aW9uOi41cyFpbXBvcnRhbnQ7LS10dy1lYXNlOnZhcigtLWN1cmEtZWFzZS1pbi1vdXQsY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkpIWltcG9ydGFudDt0cmFuc2l0aW9uLWR1cmF0aW9uOi41cyFpbXBvcnRhbnQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tY3VyYS1lYXNlLWluLW91dCxjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSkhaW1wb3J0YW50fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5jdXJhLWJ0bi1wcmltYXJ5LWxpZ2h0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktMzAwLCM4MDgwZjkpIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcHJpbWFyeS0zMDAsIzgwODBmOSkhaW1wb3J0YW50O2NvbG9yOnZhcigtLWN1cmEtY29sb3ItcHJpbWFyeS03MDAsIzBhMGE4YykhaW1wb3J0YW50fX0uY3VyYS1idG4tcHJpbWFyeS0tb3V0bGluZWR7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSkhaW1wb3J0YW50O2JvcmRlci13aWR0aDoxcHghaW1wb3J0YW50O2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktNzAwLCMwYTBhOGMpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktNzAwLCMwYTBhOGMpIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwIWltcG9ydGFudH1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuY3VyYS1idG4tcHJpbWFyeS0tb3V0bGluZWQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcHJpbWFyeS01MDAsIzEwMTBlOCkhaW1wb3J0YW50O2NvbG9yOnZhcigtLWN1cmEtY29sb3ItcHJpbWFyeS01MDAsIzEwMTBlOCkhaW1wb3J0YW50fX0uY3VyYS1idG4tc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci1zZWNvbmRhcnksIzEwMTBlOCkhaW1wb3J0YW50O2NvbG9yOnZhcigtLWN1cmEtY29sb3Itc2Vjb25kYXJ5LCMxMDEwZTgpIWltcG9ydGFudDtib3JkZXItY29sb3I6IzAwMDAhaW1wb3J0YW50fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5jdXJhLWJ0bi1zZWNvbmRhcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXByaW1hcnktNzAwLCMwYTBhOGMpIWltcG9ydGFudH19LmN1cmEtYnRuLXNlY29uZGFyeS1saWdodC0tb3V0bGluZWR7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3Itc2Vjb25kYXJ5LCMxMDEwZTgpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXNlY29uZGFyeSwjMTAxMGU4KSFpbXBvcnRhbnR9QG1lZGlhIChob3Zlcjpob3Zlcil7LmN1cmEtYnRuLXNlY29uZGFyeS1saWdodC0tb3V0bGluZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXNlY29uZGFyeSwjMTAxMGU4KSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1wcmltYXJ5LTcwMCwjMGEwYThjKSFpbXBvcnRhbnR9fS5jdXJhLWJ0bi1zZWNvbmRhcnktbGlnaHR7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3Itc2Vjb25kYXJ5LCMxMDEwZTgpIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtY29sb3Itc2Vjb25kYXJ5LCMxMDEwZTgpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXNlY29uZGFyeSwjMTAxMGU4KSFpbXBvcnRhbnR9QG1lZGlhIChob3Zlcjpob3Zlcil7LmN1cmEtYnRuLXNlY29uZGFyeS1saWdodDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY3VyYS1jb2xvci1zZWNvbmRhcnksIzEwMTBlOCkhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci1zZWNvbmRhcnksIzEwMTBlOCkhaW1wb3J0YW50O2NvbG9yOnZhcigtLWN1cmEtY29sb3ItcHJpbWFyeS03MDAsIzBhMGE4YykhaW1wb3J0YW50fX0uY3VyYS1idG4tZGFuZ2Vye2NvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTEwMCxva2xjaCg5My42JSAuMDMyIDE3LjcxNykpIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOiNmYjU4M2EhaW1wb3J0YW50O2JvcmRlci1jb2xvcjojMDAwMCFpbXBvcnRhbnR9QG1lZGlhIChob3Zlcjpob3Zlcil7LmN1cmEtYnRuLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTYwMCxva2xjaCg1Ny43JSAuMjQ1IDI3LjMyNSkpIWltcG9ydGFudH19LmN1cmEtYnRuLWRhbmdlci1saWdodC0tb3V0bGluZWR7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTIwMCxva2xjaCg4OC41JSAuMDYyIDE4LjMzNCkpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXJlZC0yMDAsb2tsY2goODguNSUgLjA2MiAxOC4zMzQpKSFpbXBvcnRhbnR9QG1lZGlhIChob3Zlcjpob3Zlcil7LmN1cmEtYnRuLWRhbmdlci1saWdodC0tb3V0bGluZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXJlZC0yMDAsb2tsY2goODguNSUgLjA2MiAxOC4zMzQpKSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1yZWQtNjAwLG9rbGNoKDU3LjclIC4yNDUgMjcuMzI1KSkhaW1wb3J0YW50fX0uY3VyYS1idG4tZGFuZ2VyLWxpZ2h0e2JvcmRlci1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXJlZC0yMDAsb2tsY2goODguNSUgLjA2MiAxOC4zMzQpKSFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXJlZC0yMDAsb2tsY2goODguNSUgLjA2MiAxOC4zMzQpKSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tY3VyYS1jb2xvci1yZWQtNzAwLG9rbGNoKDUwLjUlIC4yMTMgMjcuNTE4KSkhaW1wb3J0YW50fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5jdXJhLWJ0bi1kYW5nZXItbGlnaHQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTMwMCxva2xjaCg4MC44JSAuMTE0IDE5LjU3MSkpIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtY29sb3ItcmVkLTMwMCxva2xjaCg4MC44JSAuMTE0IDE5LjU3MSkpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLXJlZC05MDAsb2tsY2goMzkuNiUgLjE0MSAyNS43MjMpKSFpbXBvcnRhbnR9fS5jdXJhLWJ0bi13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWN1cmEtY29sb3Itd2hpdGUsI2ZmZikhaW1wb3J0YW50O2NvbG9yOnZhcigtLWN1cmEtY29sb3ItYmxhY2ssIzAwMCkhaW1wb3J0YW50O2JvcmRlci1jb2xvcjojMDAwMCFpbXBvcnRhbnR9QG1lZGlhIChob3Zlcjpob3Zlcil7LmN1cmEtYnRuLXdoaXRlOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VyYS1jb2xvci1ncmF5LTIwMCxva2xjaCg5Mi44JSAuMDA2IDI2NC41MzEpKSFpbXBvcnRhbnR9fS5jdXJhLWJ0bi13aGl0ZS1saWdodC0tb3V0bGluZWR7Ym9yZGVyLWNvbG9yOnZhcigtLWN1cmEtY29sb3Itd2hpdGUsI2ZmZikhaW1wb3J0YW50O2NvbG9yOnZhcigtLWN1cmEtY29sb3Itd2hpdGUsI2ZmZikhaW1wb3J0YW50fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5jdXJhLWJ0bi13aGl0ZS1saWdodC0tb3V0bGluZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXJhLWNvbG9yLWdyYXktMjAwLG9rbGNoKDkyLjglIC4wMDYgMjY0LjUzMSkpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1jdXJhLWNvbG9yLWdyYXktMjAwLG9rbGNoKDkyLjglIC4wMDYgMjY0LjUzMSkpIWltcG9ydGFudH19QHByb3BlcnR5IC0tdHctYm9yZGVyLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1ibHVye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYnJpZ2h0bmVzc3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWNvbnRyYXN0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JheXNjYWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaHVlLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWludmVydHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW9wYWNpdHl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zYXR1cmF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNlcGlhe3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctc2l6ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS14e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS16e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWR1cmF0aW9ue3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZWFzZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfS5jdXJhLWZhZGUtYW5pbWF0ZVtkYXRhLXYtZWYyOTRmYTdde2FuaW1hdGlvbjpmYWRlLWVmMjk0ZmE3IC41cyBlYXNlLWluLW91dCBpbmZpbml0ZTthbmltYXRpb24tZGVsYXk6dmFyKC0tYW5pbWF0ZS1kZWxheSl9QGtleWZyYW1lcyBmYWRlLWVmMjk0ZmE3ezAle29wYWNpdHk6MX01MCV7b3BhY2l0eTouN310b3tvcGFjaXR5OjF9fQo="}},"time_used":584,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":483,"receive":101,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
